{"version":3,"file":"externals/devplatform-app/index.min.js","mappings":"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,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,KAAK,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,OAAO,OAAO,KAAK,MAAM,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,KAAK,MAAM,MAAM,OAAO,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,KAAK,MAAM,MAAM,MAAM,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,KAAK,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,KAAK,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,KAAK,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,KAAK,MAAM,OAAO,MAAM,MAAM,OAAO,KAAK,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,KAAK,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,KAAK,OAAO,OAAO,OAAO,OAAO,KAAK,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,KAAK,KAAK,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,KAAK,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,KAAK,OAAO,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,KAAK,OAAO,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,KAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,KAAK,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,KAAK,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,KAAK,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,KAAK,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,KAAK,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,KAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,KAAK,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,KAAK,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,KAAK,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,KAAK,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,KAAK,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,KAAK,MAAM,MAAM,MAAM,KAAK,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,KAAK,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,MAAM,MAAM,MAAM,KAAK,MAAM,OAAO,MAAM,MAAM,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,KAAK,OAAO,OAAO,KAAK,MAAM,OAAO,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,KAAK,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,KAAK,MAAM,KAAK,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,MAAM,MAAM,MAAM,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,KAAK,KAAK,MAAM,MAAM,MAAM,KAAK,IAAI,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,IAAI,MAAM,MAAM,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,KAAK,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,OAAO,OAC36nH,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,IAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,KAAK,KAAK,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,KAAK,MAAM,KAAK,MAAM,MAAM,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,IAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MACl/pI,QAAU,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,MAAM,IAAI,MAAM,MAAM,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,MAAM,MAAM,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAChw3I,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAO,QACzjF,QAAU,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,MAAM,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,MAAM,MAAM,MAAM,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,MAAM,KAAK,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,KAAK,MAAM,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MACxx8D,QAAU,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MACvlhD,OAAS,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,KACloB,aAAa,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAC1gB,aAAa,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KACjhB,aAAa,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAC1gB,aAAa,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,MACtmB,aAAa,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MACtmB,aAAa,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MACjhB,aAAa,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAC3kB,cAAc,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAC5gB,cAAc,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAC9gB,cAAc,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KACjiB,cAAc,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAC5gB,cAAc,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAC9gB,SAAS,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAC/nB,SAAS,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAC/nB,UAAY,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,KAAK,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAC7iB,cAAc,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAClnB,eAAe,CAAC,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAC7hB,eAAe,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAC3nB,eAAe,CAAC,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAC7hB,eAAe,CAAC,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAChiB,eAAe,CAAC,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAC7hB,eAAe,CAAC,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAC7lB,eAAe,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,MAC5lB,eAAe,CAAC,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAC/hB,eAAe,CAAC,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAC9hB,iBAAiB,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,K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CA,aACA,kBACA,gBAEF,KAAQ,cAEV,CACE,OAAU,CACR,cACA,mBACA,SACA,aACA,eACA,aACA,YACA,WACA,aACA,kBACA,UAEF,KAAQ,cAEV,CACE,OAAU,CACR,cACA,eACA,WAEF,KAAQ,gBAEV,CACE,OAAU,CACR,cACA,cACA,aACA,aACA,YACA,KACA,UAEF,KAAQ,eAEV,CACE,OAAU,CACR,cACA,aACA,aAEF,KAAQ,eAEV,CACE,OAAU,CACR,cACA,aACA,aAEF,KAAQ,eAEV,CACE,OAAU,CACR,cACA,cACA,aACA,YACA,cACA,MAEF,KAAQ,eAEV,CACE,OAAU,CACR,eAEF,KAAQ,eAEV,CACE,OAAU,CACR,UACA,MACA,OACA,SACA,UAEF,KAAQ,UAEV,CACE,OAAU,CACR,UACA,UAEF,KAAQ,UAEV,CACE,OAAU,CACR,cACA,MACA,YACA,eAEF,KAAQ,aAEV,CACE,OAAU,CACR,UACA,cACA,aACA,YACA,UACA,eAEF,KAAQ,eAEV,CACE,OAAU,CACR,SACA,eACA,YAEF,KAAQ,gBAEV,CACE,OAAU,CACR,SACA,eACA,YAEF,KAAQ,gBAEV,CACE,OAAU,CACR,iBACA,QACA,SACA,QACA,cACA,SACA,aACA,aACA,YACA,WACA,aACA,kBACA,KACA,SACA,WACA,eACA,YAEF,KAAQ,gBAEV,CACE,OAAU,CACR,SACA,eACA,YAEF,KAAQ,gBAEV,CACE,OAAU,CACR,SACA,cACA,aACA,aACA,YACA,WACA,aACA,kBACA,KACA,SACA,eACA,YAEF,KAAQ,gBAEV,CACE,OAAU,CACR,SACA,eACA,YAEF,KAAQ,gBAEV,CACE,OAAU,CACR,SACA,eACA,YAEF,KAAQ,gBAEV,CACE,OAAU,CACR,SACA,eACA,YAEF,KAAQ,gBAEV,CACE,OAAU,CACR,SACA,eACA,YAEF,KAAQ,gBAEV,CACE,OAAU,CACR,iBACA,mBAEF,KAAQ,mBAGZ,QAAW,gCAEb,CACE,UAAa,CACX,CACE,OAAU,CACR,UACA,WACA,kBACA,SACA,UACA,aACA,MACA,YACA,SAEF,KAAQ,OAEV,CACE,OAAU,CACR,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I,GAAW,SAACt7F,GAClB,IAAM27F,EAAgB,0DAAH7zI,OAA6Dk4C,EAAG,YACnF,OAAO,IAAIrH,SAAS,QAASgjG,EAAtB,CAAqCtuD,EAC7C,EACD,EAqBauuD,GAAwB,WAAH,MAAS,CAE1C,QACA,SACA,gBACA,iBACA,UACA,OACA,eACA,eACA,YACA,oBACA,WACA,aACA,aACA,YACA,OACA,SACA,SACA,UACA,SACA,SACA,SACA,cACA,cACA,aACA,oBACA,MACA,QACA,UACA,MACA,UACA,UACA,YAGA,QACA,YACA,gBACA,aACA,iBACA,cACA,YACA,WAGA,OACA,OACA,UACA,YACA,qBACA,YACA,qBACA,WACA,QACA,aACA,WACA,YACA,kBACA,EAEYC,GAAmBJ,GA7DW,CAE1C,QACA,SACA,gBACA,iBACA,UACA,OACA,eACA,eACA,YACA,oBACA,WACA,aACA,aACA,YACA,OACA,SACA,SACA,UACA,SACA,SACA,SACA,cACA,cACA,aACA,oBACA,MACA,QACA,UACA,MACA,UACA,UACA,YAGA,QACA,YACA,gBACA,aACA,iBACA,cACA,YACA,WAGA,OACA,OACA,UACA,YACA,qBACA,YACA,qBACA,WACA,QACA,aACA,WACA,YACA,oBAOYK,IAzEgCN,GAyEsB,CAClE,SACA,WACA,aACA,eA5EOF,GAAW,SAACt7F,GAClB,IAAM+7F,EAAWhhI,MAAMygI,GAAS12I,QAAQi0D,KAAK,MACvC4iF,EAAgB,0BAAH7zI,OAA6Bk4C,EAAG,MACnD,OAAO+sC,KAAIp0C,SAAQriB,IAAIklH,IAAQ1zI,OAAA,CAAE6zI,KAAertI,MAAM0tI,WAAYD,EACnE,ICxDKE,GAAK,QACLC,GAA2C,CAChD,iCACA,yBACA,qCACA,6BACA,uCACA,oCACA,sCAGM,SAASC,GAAaC,GAC5B,OAAIC,IACID,IAAeH,GAAKH,GACrBD,EACR,CAEO,SAASS,GAA2B9vG,EAAO+vG,GACjD,MAAO,GAAPz0I,OAAU0kC,EAAK,KAAA1kC,OAAIy0I,EACpB,CCfA,IAAMC,GAAW,IAAI7xI,IACf8xI,GAAmB,IA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iB,GAElB,CAACklG,IAAoB,CACpBllG,iBAAiB,GAElB,CAACmlG,IAAiB,CACjBnlG,iBAAiB,KAIpB,ECr1BD,IAAOkuF,GAAgDR,EAAAA,GAAhDQ,sBAAuBO,GAAyBf,EAAAA,GAAzBe,sBAEf,SAASytC,GACvBv+B,EACAkrB,EACA1O,EACAC,EACAC,EACA4O,EACArR,EACA0H,EACA7I,EACA4wC,GAEA,OAAAltK,IAAA,GACIslI,GAAc,CACjB,CAAChxB,KAAwBylB,EAAAA,EAAAA,IACxBmZ,GACA1vB,EACA0pD,EACAx+B,EACA1O,EACAC,EACAC,EACA4O,EACArR,EACA0H,EACA7I,GAEDnqD,SAAS4nD,EAAAA,EAAAA,IACRwL,GACAvF,EACAC,EACAC,EACAzC,EACA0H,EACA7I,KAEG7+C,EAAAA,EAAAA,IAASyvF,GACV,CACA,CAACn5D,KAAwBgmB,EAAAA,EAAAA,IACxBmtB,GACAgmB,EAAa52J,UAGd,CAAC,EAEN,CCpDe,SAAS62J,GACvB3pD,EACAkrB,EACA1O,EACAC,EACAC,EACA4O,EACArR,EACA0H,EACA7I,EACA4wC,EACA7yC,EACAzE,GAEA,OAAOoO,GACN+d,GACCv+B,EACAkrB,EACA1O,EACAC,EACAC,EACA4O,EACArR,EACA0H,EACA7I,EACA4wC,GAED7yC,EACAzE,EAEF,CC9Be,SAASw3C,GACvB5pD,EACAkrB,EACA1O,EACAC,EACAC,EACA4O,EACArR,EACA0H,EACA7I,EACA4wC,EACA7yC,GAEC,IADDzE,EAAYn/H,UAAAxD,OAAA,SAAAkH,IAAA1D,UAAA,IAAAA,UAAA,IAAG,KAEf,OAAOutI,GACN+d,GACCv+B,EACAkrB,EACA1O,EACAC,EACAC,EACA4O,EACArR,EACA0H,EACA7I,EACA4wC,GAED7yC,EACAzE,EAEF,C,y/BCjCA,SAASy3C,GAAiB94K,GACzB,IAAMa,EACLb,GAAOA,EAAIa,MAAM,uDAClB,QAAKA,GAIEA,EAAM,EACd,CAEO,SAASk4K,GAAiBj7I,EAAI06F,GAA+B,IAArBwgD,EAAW92K,UAAAxD,OAAA,QAAA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nB,C,gBuITKqrD,GCHS,WACd,GAAoB,oBAAT7gF,KAAsB,OAAOA,KAExC,GAAsB,oBAAX3F,OAAwB,OAAOA,OAE1C,QAAsB,IAAXywC,EAAAA,EAAwB,OAAOA,EAAAA,EAE1C,MAAM,IAAI1yC,MAAM,iCAChB,CDLYmiW,GACTC,GAAc,KAEZC,GAAkB,eAAA52V,EAAAW,IAAAC,IAAAA,KAAG,SAAAC,IAAA,IAAAg2V,EAAAxoL,EAAA,OAAAztK,IAAAA,KAAA,SAAAG,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,UACrB01V,GAAL,CAAA51V,EAAAE,KAAA,QAMC,OALM41V,EAAe,CACpBvoL,UAAWtxF,GAAK85Q,KAChBC,mBAAoB/5Q,GAAKg6Q,mBACzBC,UAAU,GAEL5oL,GAAgB6oL,EAAAA,GAAAA,IAAaL,GAAnC91V,EAAAE,KAAA,EACoBotK,IAApB,OAAAsoL,GAAW51V,EAAAI,KAAA,cAAAJ,EAAAK,OAAA,SAELu1V,IAAP,wBAAA51V,EAAAM,OAAA,EAAAR,EAAA,IAVD,kBAAwB,OAAAb,EAAAnD,MAAA,KAAAhG,UAAA,KAaxB,YEXA,IAAMsgW,GAAgB,gCAEtB,SAASC,GAAgBziW,GACvB,OAAO0iW,GAAgB1iW,EAAIihD,WAAW,GACxC,CAEA,IAAMyhT,GAAkB,CACtB,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,MACA,MACA,MACA,UACA,MACA,MACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,GACA,GACA,MACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,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EAAqDh9W,EAA9Ci9W,YAAAA,OAAW,IAAAD,GAAZA,EAAAE,EAA+Cl9W,EAAzBm9W,mBAAa,IAAAD,GAAGA,IAGzBd,IAAqB,GAGxC,IAAMgB,EAAWf,KAIjB,OADIY,GAAaX,KACV,CAACc,WACR,EtRyBAvmD,iBAhBkC,GAiBlCmlD,qBAjBkC,GAkBlCqB,csRrBqB,WACrBjB,IAAqB,CACrB,E,0MKxBYkB,EAAc,OACdC,EAAc,OACdC,EAAc,OACdC,EAAc,OACdC,EAAe,KAEfC,EAAU,CACtB,OACA,MACA,eACA,KACA,QACA,QACA,QACA,QACA,WAGYC,EAAgB,CAAC,YAAa,aAE9BC,EAAoB,oBAGpBC,EAAkB,CAC9B,OACA,UACA,mBACA,MACA,MACA,QACA,eACA,YACA,WACA,UACA,UACA,UACA,QACA,WACA,YACA,WACA,SACA,OACA,WACA,aACA,OACA,KACA,KACA,YACA,YACA,QACA,SACA,WACA,OACA,cACA,WACA,MACA,WACA,WACA,OACA,OACA,UACA,WACA,OACA,MACA,WACA,SACA,QACA,OACA,SAGYC,EAA4B,GAAHviX,OAClCsiX,EADqC,CAExC,eACA,YACA,0BACA,iCACA,6BAGYE,EAAgC,GAAHxiX,OACtCsiX,EADyC,CAE5C,SACA,iBACA,YACA,SACA,QACA,QACA,iBACA,aACA,UACA,SACA,WACA,YACA,UACA,OACA,OACA,WACA,QACA,OACA,UACA,UACA,kBACA,cACA,WACA,SACA,cACA,WACA,WACA,MACA,UACA,WACA,UACA,MACA,OACA,aACA,cACA,aACA,iBACA,aACA,UACA,SACA,OACA,YACA,gBACA,YACA,QACA,WACA,UACA,OACA,QACA,OACA,WACA,OACA,OACA,MACA,WACA,MACA,MACA,QACA,aACA,OACA,UACA,UACA,OACA,SACA,UACA,aACA,iBACA,UACA,QACA,SACA,QACA,OACA,QACA,OACA,aACA,SACA,UACA,SACA,QACA,OACA,UACA,YACA,SACA,QACA,S5SpKD,SAAevpI,EAAAA,EAAAA,cAAa,CAC3BtoM,OAAQ,qCQHF,IA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AAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,C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AO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IACrf,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,KACtf,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IACnf,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI,OAAS,IAAI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AE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,MAAMlL,GAAGkL,GAAGh9b,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,OAAO,SAAS2xb,GAAGv2b,GAAG,IAAI6e,EAAE,IAAI+qD,IAAI5pE,EAAEuS,IAAK,SAAA9B,GAAA,IAAAS,EAAA+M,EAAAxN,EAAA,GAAEzQ,EAACkR,EAAA,GAAC2N,EAAC3N,EAAA,UAAI2rO,GAAG78O,IAAI,GAAG68O,GAAGh+N,EAAE,IAAI,OAAO,SAAS7e,EAAEoI,EAAE4kD,GAAG,IAAImT,EAAE08K,GAAGz0O,EAAE4kD,GAAG7kD,EAAE6kD,EAAE7I,WAAW,GAAG,OAAO,KAAKh8C,GAAG,IAAIC,GAAG,IAAIA,GAAG,KAAKA,GAAG,KAAKD,EAAE0W,EAAEnX,IAAI1H,GAAG,GAAGmI,GAAG,GAAG0W,EAAEnX,IAAI1H,GAAG,GAAGmgE,KAAK/8D,KAAK0oD,KAAK,IAAI,IAAG,GAAIqU,CAAC,CAAC,CAAC,IAAImxY,GAAG/a,GAAGqL,IAAI8P,GAAGnb,GAAGG,IAAI,SAASU,GAAGp3b,EAAE6e,GAAE,IAAAnR,EAAA,KAAC,GAAG,mBAAmBmR,EAAE7e,EAAEqgF,SAAShqD,QAAQjzB,KAAKwmD,KAAKxmD,UAAU,CAAC,IAAIgF,EAAE,KAAKpI,EAAEqgF,SAAShqD,QAAS,SAAAr2B,GAAI,OAAOoI,GAAGyW,EAAEjc,KAAK8K,EAAKtF,GAAGsF,EAAKk8C,KAAK5pD,GAAGoI,EAAEpI,CAAC,EAAG,CAAC,CAAC,SAASuxc,GAAGvxc,GAAE,IAAAuQ,EAAA,KAAC8vb,GAAGrgc,EAAG,SAAC6e,EAAEzW,EAAE4kD,GAAKz8C,EAAKswD,MAAMhiD,EAAE7e,EAAEgY,MAAM5P,EAAE4kD,GAAG,EAAG,CAAC,IAAIklZ,GAAG,CAAC,EAAExhB,GAAGwhB,GAAG,CAAC0yS,QAAQ,WAAD,OAAKvrT,EAAE,EAACwrT,OAAO,WAAD,OAAK3sT,EAAE,EAAC4sT,cAAc,WAAD,OAAKlzS,EAAE,EAACmzS,kBAAkB,WAAD,OAAKjyS,EAAE,EAACkyS,MAAM,WAAD,OAAKjyS,EAAE,EAACkyS,SAAS,WAAD,OAAKryS,EAAE,EAACsyS,IAAI,WAAD,OAAKlsT,EAAE,EAACmsT,IAAI,WAAD,OAAK1xS,EAAE,EAAC2xS,cAAc,WAAD,OAAK7xS,EAAE,EAAC8xS,WAAW,WAAD,OAAK3xS,EAAE,EAAC4xS,QAAQ,WAAD,OAAK9sK,EAAE,EAAC+sK,YAAY,WAAD,OAAKn7S,EAAE,EAACo7S,gBAAgB,WAAD,OAAKltK,EAAE,EAACmtK,UAAU,WAAD,OAAKltK,EAAE,EAAC9iiB,SAAS,WAAD,OAAKijiB,EAAE,EAACnrf,KAAK,WAAD,OAAKwhY,EAAE,EAAC22R,WAAW,WAAD,OAAK3jqB,EAAE,EAAC4jqB,WAAW,WAAD,OAAKltK,EAAE,EAACmtK,aAAa,WAAD,OAAK32R,EAAE,EAAC42R,WAAW,WAAD,OAAK9jS,EAAE,EAAC+jS,eAAe,WAAD,OAAKzjS,EAAE,EAAC0jS,gBAAgB,WAAD,OAAK9jS,EAAE,EAAC+jS,IAAI,WAAD,OAAKptK,EAAE,EAACvlhB,OAAO,WAAD,OAAKivZ,EAAE,EAAC2jS,SAAS,WAAD,OAAKnhS,EAAE,EAACohS,YAAY,WAAD,OAAKvjS,EAAE,EAACwjS,WAAW,WAAD,OAAK7iS,EAAE,EAAC8iS,oBAAoB,WAAD,OAAKtgS,EAAE,EAACugS,sBAAsB,WAAD,OAAKzgS,EAAE,EAAC0gS,MAAM,WAAD,OAAKhiS,EAAE,EAACiiS,IAAI,WAAD,OAAKxhS,EAAE,EAAC0O,KAAK,WAAD,OAAK/M,EAAE,EAAC8/R,SAAS,WAAD,OAAK/6rB,EAAE,EAACg7rB,aAAa,WAAD,OAAK9hS,EAAE,EAAC9/c,OAAO,WAAD,OAAKs/c,EAAE,EAACuiS,WAAW,WAAD,OAAKlgS,EAAE,EAACmgS,aAAa,WAAD,OAAKnjS,EAAE,EAACojS,aAAa,WAAD,OAAK9/R,EAAE,EAAC+/R,IAAI,WAAD,OAAKxuK,EAAE,EAACyuK,MAAM,WAAD,OAAKrlkB,EAAE,EAACslkB,WAAW,WAAD,OAAK3+J,EAAE,IAAG,IAAIpxJ,GAAG,GAAGc,GAAG,GAAGya,GAAG,IAAIzb,IAAG,EAAG,SAASY,GAAG13b,EAAE6e,GAAG,IAAIzW,EAAEhF,KAAK4jvB,WAAWhnvB,EAAEgtD,EAAE5pD,KAAK+gD,WAAW/7C,GAAG,KAAK4kD,IAAIgqY,IAAIhqY,IAAI8qY,MAAMj5a,GAAGzb,KAAKjD,MAAM,8BAA8BiI,KAAKA,EAAEhF,KAAK6jvB,SAAS7+uB,IAAI0ob,GAAG1tb,KAAK+gD,WAAW/7C,KAAKhF,KAAKjD,MAAM,sBAAsBiI,EAAE,CAAC,SAASupc,GAAG3xc,GAAG,OAAO03b,GAAG90b,KAAKQ,KAAK,EAAEpD,EAAE,CAAC,SAAS04b,GAAG14b,EAAE6e,GAAG,IAAIzb,KAAK8jvB,QAAQ9jvB,KAAK4jvB,WAAWhnvB,EAAE6e,GAAG,CAAC,IAAIzW,EAAE,GAAG,OAAOyW,GAAG,KAAK0zb,GAAGnqc,EAAE,gBAAgB,MAAM,KAAK0vb,GAAG1vb,EAAE,0BAA0BhF,KAAKjD,MAAMiI,EAAEhF,KAAK4jvB,WAAWhnvB,EAAE,CAAC,CAAC,SAAS8xc,KAAkC,IAA7B,IAAI9xc,EAAE,EAAE6e,EAAE,EAAEzW,EAAEhF,KAAK+jvB,UAAe,KAAK/+uB,GAAG,KAAKA,GAAGA,EAAEhF,KAAKgkvB,aAAapnvB,GAAG,GAAG,KAAKoI,EAAE,CAAC,IAAIhF,KAAKikvB,QAAQrwT,GAAGh3b,KAAKoD,KAAKikvB,QAAQvvT,GAAG93b,GAAG,OAAO,KAAK6e,EAAEzb,KAAKikvB,QAAQrwT,GAAGh3b,GAAGg3b,GAAGc,GAAG,GAAG1vb,EAAEhF,KAAKgkvB,aAAapnvB,SAAS,KAAKoI,GAAG,KAAKA,GAAG,KAAKA,IAAIhF,KAAK6/gB,KAAKjjhB,GAAG2xc,GAAG/uc,KAAKQ,KAAK0zb,IAAI,CAAC,OAAO92b,EAAE,GAAGoD,KAAK6/gB,KAAKjjhB,GAAG,IAAI6e,KAAIzW,EAAEhF,KAAK+gD,WAAW/gD,KAAK4jvB,eAAgBhwT,IAAI5ub,IAAI0vb,IAAI10b,KAAKjD,MAAM,4BAA4Bwxc,GAAG/uc,KAAKQ,KAAK,IAAIyb,GAAGA,IAAIi5a,GAAG,IAAI10b,KAAK8vsB,QAAQ,IAAI9vsB,KAAK8vsB,QAAQ,GAAG,CAAC,SAAS9mpB,KAAK,IAAIpsD,EAAEoD,KAAK4jvB,WAAWnouB,EAAE,KAAKzW,EAAE,KAAK,GAAG,KAAKhF,KAAK+jvB,UAAUx1S,GAAG/uc,KAAKQ,MAAK,GAAIgF,EAAEhF,KAAK8vsB,QAAQ,SAAS,GAAG,IAAI9vsB,KAAK+jvB,WAAW/jvB,KAAK8jvB,QAAQ9jvB,KAAK4jvB,WAAWlvT,IAAI,OAAOj5a,EAAE,KAAK65a,GAAG91b,KAAKQ,KAAK,EAAEmvc,IAAInvc,KAAK6jvB,SAAS7jvB,KAAK4jvB,YAAY,KAAK,EAAE5jvB,KAAKoM,OAAOpH,EAAE0pc,GAAGlvc,KAAKQ,MAAM,MAAM,KAAK,EAAEs1b,GAAG91b,KAAKQ,KAAK,EAAE00b,IAAI10b,KAAKoM,OAAOpM,KAAKkkvB,SAAS31S,GAAG/uc,KAAKQ,KAAK0zb,IAAI1ub,EAAE,IAAIhF,KAAK8vsB,QAAQ,IAAI,MAAM,QAAQx6Q,GAAG91b,KAAKQ,KAAK,EAAE00b,IAAIJ,GAAG90b,KAAKQ,KAAK,EAAE0zb,IAAI1zb,KAAKoM,OAAOpH,EAAEhF,KAAKmkvB,eAAevnvB,EAAE,QAAQ,GAAG,IAAIoD,KAAK+jvB,WAAW/jvB,KAAKikvB,QAAQrwT,KAAK,IAAI5zb,KAAKgkvB,WAAW,GAAG,CAAC,IAAIp6rB,EAAE,EAAE,OAAOnuC,EAAE,IAAIzb,KAAKikvB,QAAQrwT,MAAMhqY,EAAE,EAAE5pD,KAAKoM,QAAQkpb,GAAG91b,KAAKQ,KAAK,EAAEmvc,IAAInvc,KAAK6jvB,SAAS7jvB,KAAK4jvB,YAAY,KAAK,EAAE5jvB,KAAKoM,OAAOpH,EAAE0pc,GAAGlvc,KAAKQ,MAAM,MAAM,KAAK,EAAEs1b,GAAG91b,KAAKQ,KAAK,EAAE00b,IAAI10b,KAAKoM,OAAOpM,KAAKkkvB,SAAS31S,GAAG/uc,KAAKQ,KAAK0zb,IAAI1ub,EAAE,IAAIhF,KAAK8vsB,QAAQ,IAAI,MAAM,QAAQx6Q,GAAG91b,KAAKQ,KAAK,EAAE00b,IAAIJ,GAAG90b,KAAKQ,KAAK,EAAE0zb,IAAI1zb,KAAKoM,OAAOpH,EAAEhF,KAAKmkvB,eAAevnvB,EAAEgtD,EAAE,GAAG,MAAM,GAAG,KAAK5pD,KAAK+jvB,UAAU,CAA6E,IAA5E,IAAIn6rB,EAAE5pD,KAAK+gD,WAAW/gD,KAAK4jvB,YAAY7mrB,EAAEnT,IAAIgqY,IAAIhqY,IAAI8qY,GAAG3vb,EAAE/E,KAAK4jvB,WAAW7mrB,EAAOh4D,EAAE/E,KAAK6jvB,UAAUn2T,GAAG1tb,KAAK+gD,WAAWh8C,IAAIA,KAAKA,IAAI/E,KAAK4jvB,WAAW7mrB,GAAG/8D,KAAKjD,MAAM,sBAAsBiD,KAAK4jvB,WAAW7mrB,GAAGu4X,GAAG91b,KAAKQ,KAAK+E,EAAE/E,KAAK4jvB,WAAWz0S,IAAI1zb,EAAEzb,KAAKb,UAAUvC,EAAEmI,GAAGA,EAAE,IAAI/E,KAAK6jvB,UAAU7jvB,KAAKoM,OAAOpH,EAAE0pc,GAAGlvc,KAAKQ,QAAQs1b,GAAG91b,KAAKQ,KAAK+E,EAAE/E,KAAK4jvB,WAAW,EAAElvT,IAAI3vb,EAAE,IAAI/E,KAAK6jvB,UAAU7jvB,KAAKoM,OAAOpM,KAAKkkvB,SAAS31S,GAAG/uc,KAAKQ,KAAK0zb,IAAI1ub,EAAE,IAAIhF,KAAK8vsB,QAAQ,MAAMx7Q,GAAG90b,KAAKQ,KAAK+E,EAAE/E,KAAK4jvB,WAAW,EAAElwT,IAAI1zb,KAAKoM,OAAOpH,EAAEhF,KAAKmkvB,eAAep/uB,EAAE,IAAI,MAAM/E,KAAKjD,QAAQ,OAAO,OAAO0e,GAAGA,EAAEslC,WAAW,KAAK6yY,KAAKn4a,EAAEA,EAAE20C,OAAO,IAAI,OAAOprD,GAAGA,EAAE+7C,WAAW,KAAK6yY,KAAK5ub,EAAEA,EAAEorD,OAAO,IAAI,CAACrwD,KAAK,UAAUwtV,IAAIvtV,KAAKqrV,YAAYzuV,EAAEoD,KAAK4jvB,YAAYt+uB,EAAEmW,EAAElW,EAAEP,EAAE,CAAC,SAASixb,GAAGr5b,GAAG,GAAGA,EAAE0I,EAAE,CAAC,IAAImW,GAAG,OAAO7e,EAAE0I,GAAG,MAAM1I,EAAE0I,EAAE,IAAI,OAAO1I,EAAE0I,GAAG,OAAO1I,EAAE0I,EAAE,IAAI,GAAG1I,EAAE2I,EAAE,CAAC,IAAIP,EAAE,MAAMpI,EAAE2I,EAAE,IAAI,MAAM3I,EAAE2I,EAAE,GAAG3I,EAAE2I,EAAE,IAAI3I,EAAE2I,EAAEvF,KAAK+wgB,SAASt1f,EAAEzW,EAAE,MAAMhF,KAAK+wgB,SAASt1f,EAAE,MAAMzb,KAAK+wgB,SAASn0gB,EAAE2I,EAAE,CAAC,SAASuvb,GAAGl4b,GAAGoD,KAAKy9D,MAAM,EAAE,IAAI7gE,EAAEC,MAAM,OAAOD,EAAEwnvB,SAASpkvB,KAAKwmD,KAAK5pD,EAAEwnvB,SAASxnvB,EAAEwlP,MAAMpiP,KAAKwmD,KAAK5pD,EAAEwlP,OAAOpiP,KAAKy9D,MAAM,GAAG,IAAI,CAAC,SAAS+wY,GAAG5xc,GAAGoD,KAAKi9E,SAASrgF,EAAE,CAA2C,SAASqzc,KAAKjwc,KAAKqkvB,KAAKrkvB,KAAKjD,MAAM,2BAA2B,IAAIH,EAAEoD,KAAK4jvB,WAAWnouB,GAAE,EAAG,OAAOzb,KAAKikvB,QAAlI,KAA+IxouB,GAAE,EAAGzb,KAAKoM,QAAQpM,KAAKikvB,QAApJ,MAAiKjkvB,KAAKskvB,IAAI,GAAGtkvB,KAAKikvB,QAAlL,KAAZ,KAA0MjkvB,KAAK+gD,WAAW/gD,KAAK4jvB,WAAW,IAAS5jvB,KAAKoM,OAAOpM,KAAKskvB,IAAI,IAAI7ouB,GAAGzb,KAAKjD,MAAM,yBAAyBiD,KAAK6jvB,UAAUpouB,GAAGzb,KAAKjD,MAAM,6BAA6B,CAACgD,KAAK,aAAawtV,IAAIvtV,KAAKqrV,YAAYzuV,EAAEoD,KAAK4jvB,YAAY/mvB,KAAKmD,KAAKmkvB,eAAevnvB,GAAG,CAAC,SAASszc,KAAK,IAAItzc,EAAEoD,KAAK4jvB,WAAWnouB,EAAEzb,KAAK+gD,WAAWnkD,GAAG,OAA9f,KAAqgB6e,GAAlf,MAA0fA,GAAvgB,KAA+gBA,GAAjiB,KAAyiBA,GAAniB,KAA2iBA,GAAzhB,MAAiiBA,GAAQzb,KAAKjD,MAAM,0DAA0DiD,KAAKoM,OAA/nB,KAAsoBqP,IAASzb,KAAKikvB,QAAppB,KAAiqBjkvB,KAAKjD,MAAM,0BAA0BiD,KAAKoM,QAAQpM,KAAKmkvB,eAAevnvB,EAAE,CAAC,SAASgzc,KAAK,IAAIhzc,EAAE6e,EAAEzb,KAAK4jvB,WAAW5+uB,EAAE,KAAK4kD,EAAE,KAAKmT,EAAE,KAAK,OAAO/8D,KAAKskvB,IAAI,IAAItkvB,KAAKkkvB,SAAStnvB,EAAEqzc,GAAGzwc,KAAKQ,MAAMA,KAAKkkvB,SAAS,KAAKlkvB,KAAK+jvB,YAAY,IAAI/jvB,KAAK+jvB,YAAY/+uB,EAAEkrc,GAAG1wc,KAAKQ,MAAMA,KAAKkkvB,SAASt6rB,EAAE,IAAI5pD,KAAK+jvB,UAAU/jvB,KAAKyB,SAASzB,KAAKuivB,aAAavivB,KAAKkkvB,UAAU,IAAIlkvB,KAAK+jvB,YAAYhnrB,EAAE/8D,KAAK8vsB,QAAQ,GAAG9vsB,KAAKkkvB,WAAWlkvB,KAAKskvB,IAAI,IAAI,CAACvkvB,KAAK,oBAAoBwtV,IAAIvtV,KAAKqrV,YAAY5vU,EAAEzb,KAAK4jvB,YAAY/mvB,KAAKD,EAAE8D,QAAQsE,EAAE3F,MAAMuqD,EAAE01B,MAAMviB,EAAE,CAAC,SAAS2yY,GAAG9yc,GAAGoD,KAAKy9D,MAAM,EAAE,KAAKz9D,KAAKwmD,KAAK5pD,EAAEC,MAAM,OAAOD,EAAE8D,UAAUV,KAAK+wgB,SAASn0gB,EAAE8D,SAASV,KAAKwmD,KAAK5pD,EAAEyC,QAAQ,OAAOzC,EAAE0iF,OAAOt/E,KAAKy9D,MAAM,EAAE7gE,EAAE0iF,OAAOt/E,KAAKy9D,MAAM,EAAE,IAAI,CAAC,SAASkyY,GAAG/yc,GAAE,IAAAgR,EAAA,KAAC5N,KAAKy9D,MAAM,GAAG,KAAKz9D,KAAKi9E,SAASrgF,EAAG,SAAAA,GAAI,gBAAgBA,EAAEmD,MAAM6N,EAAK6vD,MAAM,GAAG,IAAI,GAAIz9D,KAAKy9D,MAAM,GAAG,IAAI,CAAC,SAAS+xY,GAAG5yc,GAAGoD,KAAKy9D,MAAM,EAAE,KAAKz9D,KAAKi9E,SAASrgF,GAAGoD,KAAKy9D,MAAM,EAAE,IAAI,CAAC,SAASm4X,KAAK51b,KAAKy9D,MAAM,GAAG,SAAS,CAAC,SAAS4yY,KAAKrwc,KAAKy9D,MAAM,GAAG,UAAU,CAAC,SAASi4X,KAAK,OAAO11b,KAAKukvB,SAAS,IAAI,CAACxkvB,KAAK,gBAAgBwtV,IAAIvtV,KAAKqrV,YAAYrrV,KAAK4jvB,WAAW,EAAE5jvB,KAAK6jvB,UAAUhnvB,KAAKmD,KAAK8vsB,QAAQ,GAAG,CAAC,SAAS3/P,GAAGvzc,GAAGoD,KAAKy9D,MAAM,EAAE,KAAKz9D,KAAKy9D,MAAM,EAAE7gE,EAAEC,KAAK,CAAC,SAASuzc,KAAK,IAAIxzc,EAAE6e,EAAEzb,KAAK4jvB,WAAW,OAAO5jvB,KAAK+jvB,WAAW,KAAK,GAAGnnvB,EAAE,IAAI,MAAM,KAAK,EAAE,OAAOoD,KAAK+gD,WAAW/gD,KAAK4jvB,aAAa,KAAK,GAAG,KAAK,GAAG,KAAK,IAAI5jvB,KAAKoM,OAAO,MAAM,KAAK,GAAGpM,KAAKoM,OAAOpM,KAAKwkvB,SAAS,QAAQxkvB,KAAKukvB,SAAS,IAAI,MAAM,QAAQvkvB,KAAKjD,MAAM,0BAA0BH,EAAEoD,KAAKmkvB,eAAe1ouB,GAAG,MAAM,CAAC1b,KAAK,aAAawtV,IAAIvtV,KAAKqrV,YAAY5vU,EAAEzb,KAAK4jvB,YAAY/mvB,KAAKD,EAAE,CAAC,SAAS0zc,GAAG1zc,GAAGoD,KAAK+wgB,SAASn0gB,EAAEC,KAAK,CAAC,SAASu4kB,GAAGx4kB,GAAGoD,KAAKy9D,MAAM,GAAG,KAAK7gE,EAAEyC,MAAM,KAAK,CAAC,SAAS2nc,GAAGpqc,GAAGoD,KAAKy9D,MAAM,EAAE7gE,EAAE4jB,UAAUxgB,KAAKy9D,MAAM,GAAG,KAAKz9D,KAAKwmD,KAAK5pD,EAAEyC,OAAOzC,EAAE6nvB,YAAYzkvB,KAAKy9D,MAAM,EAAE,KAAKz9D,KAAKy9D,MAAM,GAAE,IAAK7gE,EAAE6nvB,UAAU,YAAY7nvB,EAAE6nvB,WAAW,CAAC,SAASvvK,GAAGt4kB,GAAE,IAAA0R,EAAA,KAACtO,KAAKi9E,SAASrgF,EAAG,SAAAA,GAAI,gBAAgBA,EAAEmD,MAAMuO,EAAKmvD,MAAM,GAAG,IAAI,EAAG,CAAC,SAAS03gB,GAAGv4kB,GAAGoD,KAAKy9D,MAAM,GAAG7gE,EAAEyC,MAAMzC,EAAEi7E,KAAK,CAAC,SAASy9f,GAAG14kB,GAAGoD,KAAKy9D,MAAM,EAAE7gE,EAAEC,KAAK,KAAKmD,KAAKi9E,SAASrgF,GAAGoD,KAAKy9D,MAAM,GAAG,IAAI,CAAC,SAASkuZ,GAAG/ud,GAAGoD,KAAKy9D,MAAM,EAAE,IAAI7gE,EAAEyC,MAAM,CAAC,SAASk2kB,KAAK,MAAM,CAACx1kB,KAAK,aAAawtV,IAAIvtV,KAAKqrV,YAAYrrV,KAAK4jvB,WAAW5jvB,KAAK6jvB,UAAUhnvB,KAAKmD,KAAK8vsB,QAAQ,GAAG,CAAC,SAASz6H,GAAGz4kB,GAAGoD,KAAKy9D,MAAM,EAAE7gE,EAAEC,KAAK,CAAC,SAAS6hd,KAAK,IAAI9hd,EAAEoD,KAAK4jvB,WAAW,OAAO5jvB,KAAKskvB,IAAI,GAAG,CAACvkvB,KAAK,aAAawtV,IAAIvtV,KAAKqrV,YAAYzuV,EAAEoD,KAAK4jvB,YAAY/mvB,KAAKmD,KAAKmkvB,eAAevnvB,EAAE,GAAG,CAAC,SAAS+hF,GAAG/hF,GAAGoD,KAAKy9D,MAAM,EAAE,IAAI7gE,EAAEC,KAAK,CAAC,SAASgvd,GAAGjvd,GAAGoD,KAAKy9D,MAAM,GAAG,KAAKz9D,KAAKy9D,MAAM,EAAE7gE,EAAEC,MAAM,OAAOD,EAAEyC,QAAQW,KAAKy9D,MAAM,GAAG,KAAKz9D,KAAKwmD,KAAK5pD,EAAEyC,QAAQW,KAAKy9D,MAAM,GAAG,IAAI,CAAC,SAASkhZ,GAAG/hd,GAAGoD,KAAKi9E,SAASrgF,EAAE,CAAC,SAASqid,GAAGrid,GAAE,IAAAiS,EAAA,KAAC7O,KAAKi9E,SAASrgF,EAAG,kBAAIiS,EAAK4uD,MAAM,GAAG,IAAI,EAAE,CAAC,SAASuhZ,KAAK,IAAIpid,EAAEoD,KAAK4jvB,WAAW,OAAO5jvB,KAAKukvB,SAAS,IAAI,CAACxkvB,KAAK,kBAAkBwtV,IAAIvtV,KAAKqrV,YAAYzuV,EAAEoD,KAAK4jvB,YAAY,CAAC,SAAS/kS,KAAK7+c,KAAKy9D,MAAM,EAAE,IAAI,CAAC,SAASu3gB,KAAKh1kB,KAAKkkvB,SAAS,IAAItnvB,EAAE6e,EAAEzb,KAAK4jvB,WAAW5+uB,EAAEyW,EAAEmuC,EAAE,KAAK,OAAOhtD,EAAEoD,KAAK0kvB,YAAY,EAAE,QAAQ1kvB,KAAK0kvB,YAAY,EAAE,QAAQ1kvB,KAAKuivB,aAAavivB,KAAKwhvB,UAAUx8uB,EAAEhF,KAAK4jvB,WAAW5jvB,KAAKkkvB,SAASlkvB,KAAK0kvB,YAAY,EAAE,QAAQ1kvB,KAAKoM,OAAOw9C,EAAE5pD,KAAKqjvB,eAAer+uB,EAAEhF,KAAK4jvB,YAAY,CAAC7jvB,KAAK,MAAMwtV,IAAIvtV,KAAKqrV,YAAY5vU,EAAEzW,GAAG+skB,IAAIn1kB,EAAE07H,SAAS1uE,EAAE,CAAC,SAAS4rhB,GAAG54kB,GAAGoD,KAAKwmD,KAAK5pD,EAAEm1kB,KAAK,OAAOn1kB,EAAE07H,WAAWt4H,KAAKy9D,MAAM,EAAE,MAAMz9D,KAAKwmD,KAAK5pD,EAAE07H,UAAU,CAAC,SAAS4mV,GAAGtid,GAAGoD,KAAKy9D,MAAM,GAAG7gE,EAAEyC,MAAM,CAAC,SAASqid,GAAG9kd,GAAGoD,KAAK+wgB,SAASn0gB,EAAEyC,MAAM,CAAC,SAASkgd,GAAG3id,GAAGoD,KAAKy9D,MAAM,GAAG,KAAKz9D,KAAKi9E,SAASrgF,GAAGoD,KAAKy9D,MAAM,GAAG,IAAI,CAAC,SAASqiZ,KAAK,MAAM,CAAC//c,KAAK,aAAawtV,IAAIvtV,KAAKqrV,YAAYrrV,KAAK4jvB,WAAW5jvB,KAAK6jvB,UAAUxkvB,MAAMW,KAAK2kvB,cAAc,IAAI,CAAC,SAASzkS,GAAGtjd,GAAGoD,KAAKy9D,MAAM,GAAG7gE,EAAEyC,MAAM,IAAI,CAAC,SAASugd,KAAK,IAAIhjd,EAAE6e,EAAEzW,EAAEhF,KAAK4jvB,WAAWh6rB,EAAE,KAAK,OAAO5pD,KAAKskvB,IAAI,IAAI,IAAItkvB,KAAK+jvB,WAAwCtouB,GAA7B7e,EAAEoD,KAAK4kvB,uBAA0BlluB,cAAclc,eAAehE,KAAKQ,KAAK6kvB,OAAOppuB,IAAIzb,KAAKkkvB,SAASt6rB,EAAE5pD,KAAK6kvB,OAAOppuB,GAAGjc,KAAKQ,MAAMA,KAAKkkvB,WAAWt6rB,EAAE5pD,KAAK8kvB,cAAehhvB,KAAK9D,KAAKmjvB,IAAInjvB,KAAK+kvB,WAAW,MAAK,IAAM/kvB,KAAKskvB,IAAI,KAAK1nvB,EAAEoD,KAAK8vsB,QAAQ,GAAG,CAAC/vsB,KAAK,sBAAsBwtV,IAAIvtV,KAAKqrV,YAAYrmV,EAAEhF,KAAK4jvB,YAAY/mvB,KAAKD,EAAEqgF,SAASrzB,EAAE,CAAC,SAAS84Z,GAAG9ld,GAAGoD,KAAKy9D,MAAM,GAAG,KAAK,OAAO7gE,EAAEqgF,SAASj9E,KAAKy9D,MAAM,EAAE7gE,EAAEC,OAAOmD,KAAKy9D,MAAM,EAAE7gE,EAAEC,KAAK,KAAKmD,KAAKi9E,SAASrgF,GAAGoD,KAAKy9D,MAAM,GAAG,KAAK,CAAC,SAAS6kZ,KAAK,IAAI1ld,EAAE6e,EAAEzW,EAAEhF,KAAK4jvB,WAAWh6rB,EAAE,KAAK,OAAO5pD,KAAKskvB,IAAI,IAAItkvB,KAAKskvB,IAAI,IAAI,IAAItkvB,KAAK+jvB,WAAwCtouB,GAA7B7e,EAAEoD,KAAK4kvB,uBAA0BlluB,cAAclc,eAAehE,KAAKQ,KAAK6kvB,OAAOppuB,IAAIzb,KAAKkkvB,SAASt6rB,EAAE5pD,KAAK6kvB,OAAOppuB,GAAGjc,KAAKQ,MAAMA,KAAKkkvB,WAAWt6rB,EAAE5pD,KAAK8kvB,cAAehhvB,KAAK9D,KAAKmjvB,IAAInjvB,KAAK+kvB,WAAW,MAAK,IAAM/kvB,KAAKskvB,IAAI,KAAK1nvB,EAAEoD,KAAK8vsB,QAAQ,GAAG,CAAC/vsB,KAAK,wBAAwBwtV,IAAIvtV,KAAKqrV,YAAYrmV,EAAEhF,KAAK4jvB,YAAY/mvB,KAAKD,EAAEqgF,SAASrzB,EAAE,CAAC,SAAS44Z,GAAG5ld,GAAGoD,KAAKy9D,MAAM,GAAG,KAAKz9D,KAAKy9D,MAAM,GAAG,KAAK,OAAO7gE,EAAEqgF,SAASj9E,KAAKy9D,MAAM,EAAE7gE,EAAEC,OAAOmD,KAAKy9D,MAAM,EAAE7gE,EAAEC,KAAK,KAAKmD,KAAKi9E,SAASrgF,GAAGoD,KAAKy9D,MAAM,GAAG,KAAK,CAAC,SAASyjZ,GAAGtkd,GAAGoD,KAAKy9D,MAAM,GAAG7gE,EAAEof,MAAMhc,KAAKy9D,MAAM,EAAE,KAAKz9D,KAAKy9D,MAAM,GAAG7gE,EAAEqf,MAAM,CAAC,SAAS2lc,KAAK,OAAO5hd,KAAK+kvB,WAAW,GAAG,KAAK/kvB,KAAKgkvB,YAAY,GAAGhkvB,KAAK+kvB,WAAW,EAAE/kvB,KAAKglvB,cAAchlvB,KAAK+kvB,WAAW,GAAG/kvB,KAAKilvB,gBAAgBjlvB,KAAK4jvB,UAAU,CAAC,SAASnhS,GAAG7ld,EAAE6e,EAAEzW,GAAG,IAAI4kD,EAAEmT,EAAE/8D,KAAKglvB,cAAcpovB,GAAG,OAAOoD,KAAKklvB,kBAAkBtovB,EAAE6e,GAAGzb,KAAKmlvB,wBAAwBv7rB,EAAE5kD,GAAGhF,KAAK4jvB,WAAW7mrB,EAAE6kZ,GAAGpid,KAAKQ,MAAMA,KAAK4jvB,WAAW,CAAC7jvB,KAAK,MAAMwtV,IAAIvtV,KAAKqrV,YAAYtuR,EAAEnT,GAAGvqD,MAAMW,KAAKb,UAAU49D,EAAEnT,GAAG,CAAC,SAAS+3Z,GAAG/kd,GAAGoD,KAAK+wgB,SAASn0gB,EAAEyC,MAAM,CAAC,SAASikd,GAAG1md,GAAGoD,KAAKwmD,KAAK5pD,EAAEwnvB,SAASpkvB,KAAKwmD,KAAK5pD,EAAEwlP,MAAM,CAAC,SAASmgO,KAAK,IAAI3ld,EAAEoD,KAAKolvB,aAAaplvB,KAAK2rU,MAAMy3a,UAAU,OAAO,OAAOpjvB,KAAKqlvB,iBAAiBzovB,IAAIoD,KAAKjD,MAAM,wBAAwB,CAACgD,KAAK,WAAWwtV,IAAIvtV,KAAKslvB,oBAAoB1ovB,GAAGqgF,SAASrgF,EAAE,CAAC,SAASyrD,GAAGzrD,GAAGoD,KAAKi9E,SAASrgF,EAAE,CAAC,SAASikd,KAA6B,IAAxB,IAAIjkd,EAAEoD,KAAK8kvB,cAAmB9kvB,KAAKqkvB,MAAMznvB,EAAEkH,KAAK9D,KAAKojvB,YAAY,KAAKpjvB,KAAK+jvB,YAAY/jvB,KAAKoM,OAAO,MAAM,CAACrM,KAAK,eAAewtV,IAAIvtV,KAAKslvB,oBAAoB1ovB,GAAGqgF,SAASrgF,EAAE,CAAC,SAAS2kd,GAAG3kd,GAAE,IAAA0S,EAAA,KAACtP,KAAKi9E,SAASrgF,EAAG,kBAAI0S,EAAKmuD,MAAM,GAAG,IAAI,EAAE,CAAC,IAAI6iZ,GAAG,GAAGyC,GAAG,GAAS,SAAS/C,GAAGpjd,GAA0G,IAAvG,IAAI6e,EAAE7e,EAAE4B,OAAOwG,EAAEpI,EAAEmkD,WAAW,GAAG6I,EAAE5kD,IAAI+9c,IAAzD,KAA6D/9c,EAAO,EAAE,EAAE+3D,EAAE,IAAInT,GAAGnuC,EAAE,GAAG7e,EAAEmkD,WAAWtlC,EAAE,KAAKzW,EAAEyW,EAAE,EAAEA,EAAE,EAAE1W,EAAE,GAAWC,EAAE4kD,EAAE5kD,GAAG+3D,EAAE/3D,IAAI,CAAC,IAAI4kD,EAAEhtD,EAAEmkD,WAAW/7C,GAAG,GAAG4kD,IAAI02Z,GAAG,CAAC,GAAGt7c,IAAI+3D,EAAE,CAAC/3D,IAAIyW,EAAE,IAAI1W,EAAEnI,EAAEwzD,OAAOprD,EAAE,IAAI,KAAK,CAAC,GAAG4kD,EAAEhtD,EAAEmkD,aAAa/7C,GAAG+pb,GAAGuxB,GAAG12Z,GAAG,CAAC,IAAInuC,EAAEzW,EAAE,EAAE4kD,EAAEwmY,GAAGxzb,EAAE6e,GAAGzW,EAAE4kD,EAAE,EAAE7kD,GAAGiomB,GAAGpwmB,EAAEuC,UAAUsc,EAAE,EAAEmuC,GAAG,MAAM,KAAKA,GAAG,KAAKhtD,EAAEmkD,WAAW/7C,EAAE,IAAIA,GAAG,MAAMD,GAAGnI,EAAEoI,EAAE,CAAC,OAAOD,CAAC,CAAC,SAAS27c,KAAK,MAAM,CAAC3gd,KAAK,SAASwtV,IAAIvtV,KAAKqrV,YAAYrrV,KAAK4jvB,WAAW5jvB,KAAK6jvB,UAAUxkvB,MAAM2gd,GAAGhgd,KAAK8vsB,QAAQ,IAAI,CAAC,SAAS/uP,GAAGnkd,GAAGoD,KAAKy9D,MAAM,EAAE,SAAS7gE,GAAwB,IAAnB,IAAIoI,EAAE+9c,GAAGn5Z,EAAE,GAAGmT,GAAE,EAAWthD,EAAE,EAAEA,EAAE7e,EAAE4B,OAAOid,IAAI,CAAC,IAAI1W,EAAEnI,EAAEmkD,WAAWtlC,GAAG,IAAI1W,EAAEA,GAAG,IAAI,MAAMA,GAAG6kD,GAAG,KAAK7kD,EAAEjH,SAAS,IAAIi/D,GAAE,GAAIh4D,IAAIC,GAAGD,IAAIu7c,IAAI12Z,GAAG,KAAKhtD,EAAE87C,OAAOj9B,GAAGshD,GAAE,IAAKA,IAAIiyX,GAAGjqb,IAAI4pb,GAAG5pb,MAAM6kD,GAAG,KAAKA,GAAGhtD,EAAE87C,OAAOj9B,GAAGshD,GAAE,GAAInT,GAAG,QAAQ,CAAC,MAAM,IAAIA,EAAE,GAAG,CAA5P,CAA8PhtD,EAAEyC,OAAO,CAAC,SAAS+jd,GAAGxmd,GAAGoD,KAAKi9E,SAASrgF,EAAE,CAAW,SAASwkd,KAAK,IAAIphd,KAAK+jvB,YAAW,IAAK/jvB,KAAKikvB,QAA/C,KAA4DjkvB,KAAKjD,MAAM,sCAAsCiD,KAAKoM,MAAM,CAAC,SAASu3c,KAAK,IAAI/md,EAAEoD,KAAK4jvB,WAAW,OAAO5jvB,KAAKikvB,QAAQ,MAAMjkvB,KAAKoM,OAAOg1c,GAAG5hd,KAAKQ,QAAQohd,GAAG5hd,KAAKQ,MAAMA,KAAKikvB,QAAQ,OAAOjkvB,KAAKoM,OAAOg1c,GAAG5hd,KAAKQ,QAAQ,CAACD,KAAK,eAAewtV,IAAIvtV,KAAKqrV,YAAYzuV,EAAEoD,KAAK4jvB,YAAY/mvB,KAAKmD,KAAKmkvB,eAAevnvB,GAAG,CAAC,SAASwjd,GAAGxjd,GAAGoD,KAAK+wgB,SAASn0gB,EAAEC,KAAK,CAAC,SAAS6md,GAAG9md,GAAGoD,KAAK+wgB,SAASn0gB,EAAEyC,MAAM,CAAC,IAAIkkd,GAAG,GAAGS,GAAG,GAAG0xH,GAAG,GAAGr2H,GAAG,GAAGiF,GAAG,GAAGmxH,GAAG,GAAG,SAASR,GAAGr4kB,GAAGoD,KAAKy9D,MAAM,EAAE,SAAS7gE,GAAiB,IAAd,IAAI6e,EAAE,GAAGzW,GAAE,EAAW4kD,EAAE,EAAEA,EAAEhtD,EAAE4B,OAAOorD,IAAI,CAAC,IAAImT,EAAEngE,EAAEmkD,WAAW6I,GAAG,IAAImT,EAAEA,GAAG,IAAI,MAAMA,GAAGthD,GAAG,KAAKshD,EAAEj/D,SAAS,IAAIkH,GAAE,GAAI+3D,IAAIwmZ,IAAIxmZ,IAAIinZ,IAAIjnZ,IAAI24gB,IAAI34gB,IAAIsiZ,IAAItiZ,IAAIunZ,IAAIvnZ,IAAI04gB,IAAIh6jB,GAAG,KAAK7e,EAAE87C,OAAOkR,GAAG5kD,GAAE,IAAKA,GAAGgqb,GAAGjyX,KAAKthD,GAAG,KAAKA,GAAG7e,EAAE87C,OAAOkR,GAAG5kD,GAAE,GAAIyW,GAAG,QAAQ,CAAC,MAAM,OAAOA,EAAE,GAAG,CAAhR,CAAkR7e,EAAEyC,OAAO,CAAC,SAASg/K,GAAGzhL,GAAGoD,KAAKi9E,SAASrgF,EAAE,CAAC,SAASoolB,GAAGpolB,GAAGoD,KAAKy9D,MAAM,GAAG7gE,EAAEyC,MAAM,CAACtB,OAAO8X,OAAO,CAAC9V,KAAK,aAAawtV,IAAI,KAAKluV,MAAM,MAAM,IAAI+4c,GAAG,SAASx7c,GAAG,IAAI6e,EAAE,IAAIpX,IAAI,IAAI,IAAIW,KAAKpI,EAAE4pD,KAAK,CAAC,IAAIoD,EAAEhtD,EAAE4pD,KAAKxhD,GAAG,mBAAmB4kD,EAAEk1B,UAAUl1B,IAAInuC,EAAElX,IAAIS,EAAE4kD,EAAEk1B,UAAUl1B,EAAE,CAAC,OAAO,SAAShtD,EAAEoI,GAAG,IAAI4kD,EAAE,GAAGmT,EAAE,EAAEh4D,EAAE,CAACyhD,IAAAA,CAAK5pD,GAAG,IAAI6e,EAAEnX,IAAI1H,EAAEmD,MAAM,MAAM,IAAIL,MAAM,sBAAsB9C,EAAEmD,MAAM0b,EAAEjX,IAAI5H,EAAEmD,MAAMP,KAAK8F,EAAE1I,EAAE,EAAE2ovB,YAAYj3S,GAAG7wY,KAAAA,CAAM7gE,EAAE6e,GAAGshD,EAAE/8D,KAAKulvB,YAAYxorB,EAAEngE,EAAE6e,GAAGzb,KAAK0oD,KAAKjtC,EAAE7e,GAAE,GAAI,IAAIA,GAAG,KAAK6e,EAAEslC,WAAW,IAAI/gD,KAAK0oD,KAAK,KAAK,IAAG,EAAG,EAAEA,IAAAA,CAAK9rD,GAAGgtD,GAAGhtD,CAAC,EAAEqD,OAAO,WAAD,OAAK2pD,CAAC,GAAE5kD,IAAI,mBAAmBA,EAAEwgvB,YAAYzgvB,EAAEC,EAAEwgvB,UAAUzgvB,IAAIC,EAAEygvB,YAAY1gvB,EAAE,SAASnI,GAAG,IAAI6e,EAAE,IAAIiib,GAAG2jT,mBAAmBr8uB,EAAE,CAACumV,KAAK,EAAE51D,OAAO,GAAG/rO,EAAE,CAAC2hS,KAAK,EAAE51D,OAAO,GAAG54N,EAAE,CAACwuR,KAAK,EAAE51D,OAAO,GAAG5wR,EAAE,CAAC67uB,UAAU7jrB,GAAGz3D,EAAE,EAAEvG,EAAE,EAAE09C,GAAE,EAAGxI,EAAEr3C,EAAE4pD,KAAK5pD,EAAE4pD,KAAK,SAAS5pD,GAAG,GAAGA,EAAE2wV,KAAK3wV,EAAE2wV,IAAIl5U,OAAOwX,GAAGvnB,IAAI1H,EAAEmD,MAAM,CAAC,IAAIk0C,EAAEr3C,EAAE2wV,IAAIl5U,MAAMk3U,KAAKlnR,EAAEznE,EAAE2wV,IAAIl5U,MAAMshR,OAAO,GAAG/rO,EAAE2hS,OAAOt3S,GAAG2V,EAAE+rO,SAAStxN,KAAKza,EAAE2hS,KAAKt3S,EAAE2V,EAAE+rO,OAAOtxN,EAAEr/D,EAAEumV,KAAKjmV,EAAEN,EAAE2wR,OAAO52R,EAAE09C,IAAIA,GAAE,GAAIz3C,EAAEumV,OAAOxuR,EAAEwuR,MAAMvmV,EAAE2wR,SAAS54N,EAAE44N,SAASl6Q,EAAEuvS,WAAWjmT,IAAI03C,GAAE,EAAGhhC,EAAEuvS,WAAW,CAACp1Q,OAAOh5C,EAAE2wV,IAAI33S,OAAOwkB,SAASxQ,EAAEg3rB,UAAU57uB,IAAI,CAACivC,EAAEz0C,KAAKQ,KAAKpD,GAAG6/C,GAAG5wB,GAAGvnB,IAAI1H,EAAEmD,QAAQg9D,EAAEwuR,KAAKjmV,EAAEy3D,EAAE44N,OAAO52R,EAAE,EAAE,IAAIslE,EAAEznE,EAAE8rD,KAAK9rD,EAAE8rD,KAAK,SAAS9rD,EAAE6e,EAAEzW,GAAG,IAAI,IAAIyW,EAAE,EAAEA,EAAE7e,EAAE4B,OAAOid,IAAI,KAAK7e,EAAEmkD,WAAWtlC,IAAInW,IAAIvG,EAAE,GAAGA,IAAIslE,EAAEznE,EAAE6e,EAAEzW,EAAE,EAAE,IAAI2nD,EAAE/vD,EAAEqD,OAAO,OAAOrD,EAAEqD,OAAO,WAAW,OAAOw8C,GAAGhhC,EAAEuvS,WAAWjmT,GAAG,CAACu4R,IAAI3wO,IAAIx9C,IAAIsM,EAAE,EAAE7e,CAAC,CAAzrB,CAA2rBmI,IAAIC,EAAEmE,QAAQsqK,KAAK1uK,EAAEwgvB,YAAY9xkB,GAAGzuK,EAAEmE,QAAQ,IAAI7D,EAAE,CAACkhD,KAAK,SAAA5pD,GAAC,OAAEmI,EAAEyhD,KAAK5pD,EAAE,EAACqgF,SAAS+2W,GAAGv2X,MAAM,SAAC7gE,EAAE6e,GAAC,OAAG1W,EAAE04D,MAAM7gE,EAAE6e,EAAE,EAACs1f,SAAS5iE,IAAI,OAAOppc,EAAEyhD,KAAK5pD,GAAGmI,EAAE9E,QAAQ,CAAC,CAA7yC,CAA+yC,CAACumD,KAAKsoZ,KAAKnoF,GAAG,KAAK6xF,GAAE,WAA4H,OAAA1/b,EAA7D,SAAA0/b,IAAargc,EAAA,KAAAqgc,GAACx4c,KAAK8lD,KAAK,KAAK9lD,KAAK4vkB,KAAK,KAAK5vkB,KAAKyK,OAAO,IAAI,EAAC,EAAAnJ,IAAA,aAAAjC,MAAA,SAAWzC,GAAG,OAAO47c,GAAGs+J,WAAWl6mB,EAAE,GAAC,CAAA0E,IAAA,iBAAAjC,MAAA,SAAezC,EAAE6e,GAAG,IAAIzW,EAAE,OAAO,OAAO2hX,IAAI3hX,EAAE2hX,GAAGA,GAAGA,GAAGl8W,OAAOzF,EAAEmH,KAAKvP,EAAEoI,EAAEoH,KAAKqP,EAAEzW,EAAEyF,OAAOzK,KAAKyK,QAAQzF,EAAE,CAACmH,KAAKvP,EAAEwP,KAAKqP,EAAEhR,OAAOzK,KAAKyK,QAAQzK,KAAKyK,OAAOzF,EAAEA,CAAC,GAAC,CAAA1D,IAAA,gBAAAjC,MAAA,WAAgB,IAAWzC,EAAGoD,KAAVyK,OAAezK,KAAKyK,OAAO7N,EAAE6N,OAAO7N,EAAEuP,KAAK,KAAKvP,EAAEwP,KAAK,KAAKxP,EAAE6N,OAAOk8W,GAAGA,GAAG/pX,CAAC,GAAC,CAAA0E,IAAA,gBAAAjC,MAAA,SAAczC,EAAE6e,EAAEzW,EAAE4kD,GAAsB,IAAnB,IAAWmT,EAAG/8D,KAAVyK,OAAoB,OAAOsyD,GAAGA,EAAE5wD,OAAOvP,IAAImgE,EAAE5wD,KAAKsP,GAAGshD,EAAE3wD,OAAOpH,IAAI+3D,EAAE3wD,KAAKw9C,GAAGmT,EAAEA,EAAEtyD,MAAM,GAAC,CAAAnJ,IAAE02C,OAAO3wC,SAAQhI,MAAA0M,EAAA+lI,KAAjB,SAAAzyI,IAAA,IAAAqmvB,EAAA,OAAA35uB,EAAAiwC,KAAA,SAAAjvC,GAAA,cAAAA,EAAAZ,KAAAY,EAAAX,MAAA,OAA6BxP,EAAEoD,KAAK8lD,KAAI,UAAC,OAAOlpD,EAAC,CAAAmQ,EAAAX,KAAA,QAAU,OAAVW,EAAAX,KAAA,EAAgBxP,EAAEuH,KAAI,OAArBvH,EAAEA,EAAEwP,KAAIW,EAAAX,KAAA,gCAAAW,EAAAP,OAAA,EAAAnN,EAAA,SAAc,CAAAiC,IAAA,OAAAkD,IAAA,WAAmB,IAAR,IAAI5H,EAAE,EAAU6e,EAAEzb,KAAK8lD,KAAK,OAAOrqC,EAAEA,EAAEA,EAAErP,KAAKxP,IAAI,OAAOA,CAAC,GAAC,CAAA0E,IAAA,UAAAkD,IAAA,WAAc,OAAO,OAAOxE,KAAK8lD,IAAI,GAAC,CAAAxkD,IAAA,QAAAkD,IAAA,WAAY,OAAOxE,KAAK8lD,MAAM9lD,KAAK8lD,KAAK3hD,IAAI,GAAC,CAAA7C,IAAA,OAAAkD,IAAA,WAAW,OAAOxE,KAAK4vkB,MAAM5vkB,KAAK4vkB,KAAKzrkB,IAAI,GAAC,CAAA7C,IAAA,YAAAjC,MAAA,SAAUzC,GAAG,IAAI6e,EAAE,KAAKzb,KAAK8lD,KAAK,KAAK,IAAchzC,EAAdC,EAAAjO,EAAalI,GAAC,IAAd,IAAAmW,EAAAhO,MAAA+N,EAAAC,EAAA/N,KAAAC,MAAe,KAAPD,EAAC8N,EAAAzT,MAAWzC,EAAE47c,GAAGs+J,WAAW9xmB,GAAG,OAAOyW,EAAEA,EAAErP,KAAKxP,EAAEoD,KAAK8lD,KAAKlpD,EAAEA,EAAEuP,KAAKsP,EAAEA,EAAE7e,CAAC,CAAC,OAAAsI,GAAA6N,EAAAnW,EAAAsI,EAAA,SAAA6N,EAAA5N,GAAA,QAAOnF,KAAK4vkB,KAAKn0jB,EAAEzb,IAAI,GAAC,CAAAsB,IAAA,UAAAjC,MAAA,WAAU,OAAA2wB,EAAUhwB,KAAK,GAAC,CAAAsB,IAAA,SAAAjC,MAAA,WAAS,OAAA2wB,EAAUhwB,KAAK,GAAC,CAAAsB,IAAA,UAAAjC,MAAA,SAAQzC,GAAoD,IAA3C,IAAP6e,EAACzZ,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAChC,KAAUgF,EAAEhF,KAAK2lvB,eAAe,KAAK3lvB,KAAK8lD,MAAW,OAAO9gD,EAAEoH,MAAM,CAAC,IAAIw9C,EAAE5kD,EAAEoH,KAAKpH,EAAEoH,KAAKw9C,EAAEx9C,KAAKxP,EAAE4C,KAAKic,EAAEmuC,EAAEzlD,KAAKylD,EAAE5pD,KAAK,CAACA,KAAK4lvB,eAAe,GAAC,CAAAtkvB,IAAA,eAAAjC,MAAA,SAAazC,GAAoD,IAA3C,IAAP6e,EAACzZ,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAChC,KAAUgF,EAAEhF,KAAK2lvB,eAAe3lvB,KAAK4vkB,KAAK,MAAW,OAAO5qkB,EAAEmH,MAAM,CAAC,IAAIy9C,EAAE5kD,EAAEmH,KAAKnH,EAAEmH,KAAKy9C,EAAEz9C,KAAKvP,EAAE4C,KAAKic,EAAEmuC,EAAEzlD,KAAKylD,EAAE5pD,KAAK,CAACA,KAAK4lvB,eAAe,GAAC,CAAAtkvB,IAAA,SAAAjC,MAAA,SAAOzC,EAAE6e,GAA0D,IAAjD,IAAKmuC,EAAZ5kD,EAAChD,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAChC,KAAY+8D,EAAE/8D,KAAK2lvB,eAAe,KAAK3lvB,KAAK8lD,MAAM/gD,EAAE0W,EAAO,OAAOshD,EAAE3wD,MAAMw9C,EAAEmT,EAAE3wD,KAAK2wD,EAAE3wD,KAAKw9C,EAAEx9C,KAAKrH,EAAEnI,EAAE4C,KAAKwF,EAAED,EAAE6kD,EAAEzlD,KAAKylD,EAAE5pD,MAAM,OAAOA,KAAK4lvB,gBAAgB7gvB,CAAC,GAAC,CAAAzD,IAAA,cAAAjC,MAAA,SAAYzC,EAAE6e,GAA0D,IAAjD,IAAKmuC,EAAZ5kD,EAAChD,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAChC,KAAY+8D,EAAE/8D,KAAK2lvB,eAAe3lvB,KAAK4vkB,KAAK,MAAM7qkB,EAAE0W,EAAO,OAAOshD,EAAE5wD,MAAMy9C,EAAEmT,EAAE5wD,KAAK4wD,EAAE5wD,KAAKy9C,EAAEz9C,KAAKpH,EAAEnI,EAAE4C,KAAKwF,EAAED,EAAE6kD,EAAEzlD,KAAKylD,EAAE5pD,MAAM,OAAOA,KAAK4lvB,gBAAgB7gvB,CAAC,GAAC,CAAAzD,IAAA,OAAAjC,MAAA,SAAKzC,GAAU,IAAD,IAAP6e,EAACzZ,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAChC,KAAcgF,EAAEhF,KAAK8lD,KAAK,OAAO9gD,EAAEA,EAAEA,EAAEoH,KAAK,GAAGxP,EAAE4C,KAAKic,EAAEzW,EAAEb,KAAKa,EAAEhF,MAAM,OAAM,EAAG,OAAM,CAAE,GAAC,CAAAsB,IAAA,MAAAjC,MAAA,SAAIzC,GAAuB,IAAd,IAAP6e,EAACzZ,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAChC,KAAUgF,EAAE,IAAIwzc,GAAW5uZ,EAAE5pD,KAAK8lD,KAAK,OAAO8D,EAAEA,EAAEA,EAAEx9C,KAAKpH,EAAE6gvB,WAAWjpvB,EAAE4C,KAAKic,EAAEmuC,EAAEzlD,KAAKylD,EAAE5pD,OAAO,OAAOgF,CAAC,GAAC,CAAA1D,IAAA,SAAAjC,MAAA,SAAOzC,GAAuB,IAAd,IAAP6e,EAACzZ,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAChC,KAAUgF,EAAE,IAAIwzc,GAAW5uZ,EAAE5pD,KAAK8lD,KAAK,OAAO8D,EAAEA,EAAEA,EAAEx9C,KAAKxP,EAAE4C,KAAKic,EAAEmuC,EAAEzlD,KAAKylD,EAAE5pD,OAAOgF,EAAE6gvB,WAAWj8rB,EAAEzlD,MAAM,OAAOa,CAAC,GAAC,CAAA1D,IAAA,YAAAjC,MAAA,SAAUzC,EAAE6e,GAAS,IAAPzW,EAAChD,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAChC,KAAM,GAAG,OAAOpD,EAAV,CAAqD,IAAlC,IAAIgtD,EAAE5pD,KAAK2lvB,eAAe,KAAK/ovB,GAAQ,OAAOgtD,EAAEx9C,MAAM,CAAC,IAAIxP,EAAEgtD,EAAEx9C,KAAK,GAAGw9C,EAAEx9C,KAAKxP,EAAEwP,KAAKqP,EAAEjc,KAAKwF,EAAEpI,EAAEuH,KAAKvH,EAAEoD,MAAM,KAAK,CAACA,KAAK4lvB,eAAzH,CAAwI,GAAC,CAAAtkvB,IAAA,YAAAjC,MAAA,SAAUzC,EAAE6e,GAAS,IAAPzW,EAAChD,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAChC,KAAM,GAAG,OAAOpD,EAAV,CAAqD,IAAlC,IAAIgtD,EAAE5pD,KAAK2lvB,eAAe/ovB,EAAE,MAAW,OAAOgtD,EAAEz9C,MAAM,CAAC,IAAIvP,EAAEgtD,EAAEz9C,KAAK,GAAGy9C,EAAEz9C,KAAKvP,EAAEuP,KAAKsP,EAAEjc,KAAKwF,EAAEpI,EAAEuH,KAAKvH,EAAEoD,MAAM,KAAK,CAACA,KAAK4lvB,eAAzH,CAAwI,GAAC,CAAAtkvB,IAAA,QAAAjC,MAAA,WAAQW,KAAK8lD,KAAK,KAAK9lD,KAAK4vkB,KAAK,IAAI,GAAC,CAAAtukB,IAAA,OAAAjC,MAAA,WAAO,IAA8B2T,EAA1BpW,EAAE,IAAI47c,GAAGvlc,EAAAnO,EAAa9E,MAAI,IAAjB,IAAAiT,EAAAlO,MAAAiO,EAAAC,EAAAjO,KAAAC,MAAkB,KAAVwW,EAACzI,EAAA3T,MAASzC,EAAEipvB,WAAWpquB,EAAE,CAAC,OAAAvW,GAAA+N,EAAArW,EAAAsI,EAAA,SAAA+N,EAAA9N,GAAA,QAAOvI,CAAC,GAAC,CAAA0E,IAAA,UAAAjC,MAAA,SAAQzC,GAAG,OAAOoD,KAAK8lvB,cAAc,KAAKlpvB,EAAEoD,KAAK8lD,KAAKlpD,GAAG,OAAOoD,KAAK8lD,MAAM9lD,KAAK8lD,KAAK35C,KAAKvP,EAAEA,EAAEwP,KAAKpM,KAAK8lD,MAAM9lD,KAAK4vkB,KAAKhzkB,EAAEoD,KAAK8lD,KAAKlpD,EAAEoD,IAAI,GAAC,CAAAsB,IAAA,cAAAjC,MAAA,SAAYzC,GAAG,OAAOoD,KAAKw9D,QAAQg7Y,GAAGs+J,WAAWl6mB,GAAG,GAAC,CAAA0E,IAAA,SAAAjC,MAAA,SAAOzC,GAAG,OAAOoD,KAAKosJ,OAAOxvJ,EAAE,GAAC,CAAA0E,IAAA,aAAAjC,MAAA,SAAWzC,GAAG,OAAOoD,KAAKosJ,OAAOosT,GAAGs+J,WAAWl6mB,GAAG,GAAC,CAAA0E,IAAA,SAAAjC,MAAA,SAAOzC,GAAS,IAAP6e,EAACzZ,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAC,KAAM,GAAG,OAAOyZ,EAAE,GAAGzb,KAAK8lvB,cAAcrquB,EAAEtP,KAAKvP,EAAE6e,EAAE7e,GAAG,OAAO6e,EAAEtP,KAAK,CAAC,GAAGnM,KAAK8lD,OAAOrqC,EAAE,MAAM,IAAI/b,MAAM,iCAAiCM,KAAK8lD,KAAKlpD,EAAE6e,EAAEtP,KAAKvP,EAAEA,EAAEwP,KAAKqP,EAAEzb,KAAK8lvB,cAAc,KAAKlpvB,EAAE,MAAM6e,EAAEtP,KAAKC,KAAKxP,EAAEA,EAAEuP,KAAKsP,EAAEtP,KAAKsP,EAAEtP,KAAKvP,EAAEA,EAAEwP,KAAKqP,OAAOzb,KAAK8lvB,cAAc9lvB,KAAK4vkB,KAAKhzkB,EAAE,KAAKA,GAAG,OAAOoD,KAAK4vkB,MAAM5vkB,KAAK4vkB,KAAKxjkB,KAAKxP,EAAEA,EAAEuP,KAAKnM,KAAK4vkB,MAAM5vkB,KAAK8lD,KAAKlpD,EAAEoD,KAAK4vkB,KAAKhzkB,EAAE,OAAOoD,IAAI,GAAC,CAAAsB,IAAA,aAAAjC,MAAA,SAAWzC,EAAE6e,GAAG,OAAOzb,KAAKosJ,OAAOosT,GAAGs+J,WAAWl6mB,GAAG6e,EAAE,GAAC,CAAAna,IAAA,SAAAjC,MAAA,SAAOzC,GAAG,GAAGoD,KAAK8lvB,cAAclpvB,EAAEA,EAAEuP,KAAKvP,EAAEA,EAAEwP,MAAM,OAAOxP,EAAEuP,KAAKvP,EAAEuP,KAAKC,KAAKxP,EAAEwP,SAAS,CAAC,GAAGpM,KAAK8lD,OAAOlpD,EAAE,MAAM,IAAI8C,MAAM,+BAA+BM,KAAK8lD,KAAKlpD,EAAEwP,IAAI,CAAC,GAAG,OAAOxP,EAAEwP,KAAKxP,EAAEwP,KAAKD,KAAKvP,EAAEuP,SAAS,CAAC,GAAGnM,KAAK4vkB,OAAOhzkB,EAAE,MAAM,IAAI8C,MAAM,+BAA+BM,KAAK4vkB,KAAKhzkB,EAAEuP,IAAI,CAAC,OAAOvP,EAAEuP,KAAK,KAAKvP,EAAEwP,KAAK,KAAKxP,CAAC,GAAC,CAAA0E,IAAA,OAAAjC,MAAA,SAAKzC,GAAGoD,KAAKosJ,OAAOosT,GAAGs+J,WAAWl6mB,GAAG,GAAC,CAAA0E,IAAA,MAAAjC,MAAA,WAAM,OAAO,OAAOW,KAAK4vkB,KAAK5vkB,KAAKmpB,OAAOnpB,KAAK4vkB,MAAM,IAAI,GAAC,CAAAtukB,IAAA,UAAAjC,MAAA,SAAQzC,GAAGoD,KAAKw9D,QAAQg7Y,GAAGs+J,WAAWl6mB,GAAG,GAAC,CAAA0E,IAAA,QAAAjC,MAAA,WAAQ,OAAO,OAAOW,KAAK8lD,KAAK9lD,KAAKmpB,OAAOnpB,KAAK8lD,MAAM,IAAI,GAAC,CAAAxkD,IAAA,cAAAjC,MAAA,SAAYzC,GAAG,OAAOoD,KAAK+lvB,WAAWnpvB,EAAEoD,KAAK8lD,KAAK,GAAC,CAAAxkD,IAAA,aAAAjC,MAAA,SAAWzC,GAAG,OAAOoD,KAAK+lvB,WAAWnpvB,EAAE,GAAC,CAAA0E,IAAA,aAAAjC,MAAA,SAAWzC,EAAE6e,GAAG,OAAO,OAAO7e,EAAEkpD,OAAO,MAAMrqC,GAAGzb,KAAK8lvB,cAAcrquB,EAAEtP,KAAKvP,EAAEgzkB,KAAKn0jB,EAAE7e,EAAEkpD,MAAM,OAAOrqC,EAAEtP,MAAMsP,EAAEtP,KAAKC,KAAKxP,EAAEkpD,KAAKlpD,EAAEkpD,KAAK35C,KAAKsP,EAAEtP,MAAMnM,KAAK8lD,KAAKlpD,EAAEkpD,KAAKrqC,EAAEtP,KAAKvP,EAAEgzkB,KAAKhzkB,EAAEgzkB,KAAKxjkB,KAAKqP,IAAIzb,KAAK8lvB,cAAc9lvB,KAAK4vkB,KAAKhzkB,EAAEgzkB,KAAK,KAAKhzkB,EAAEkpD,MAAM,OAAO9lD,KAAK4vkB,MAAM5vkB,KAAK4vkB,KAAKxjkB,KAAKxP,EAAEkpD,KAAKlpD,EAAEkpD,KAAK35C,KAAKnM,KAAK4vkB,MAAM5vkB,KAAK8lD,KAAKlpD,EAAEkpD,KAAK9lD,KAAK4vkB,KAAKhzkB,EAAEgzkB,MAAMhzkB,EAAEkpD,KAAK,KAAKlpD,EAAEgzkB,KAAK,MAAM5vkB,IAAI,GAAC,CAAAsB,IAAA,UAAAjC,MAAA,SAAQzC,EAAE6e,GAAG,SAASA,EAAEzb,KAAK+lvB,WAAWtquB,EAAE7e,GAAGoD,KAAKosJ,OAAO3wI,EAAE7e,GAAGoD,KAAKmpB,OAAOvsB,EAAE,IAAC,EAAA0E,IAAA,aAAAjC,MAA3mI,SAAkBzC,GAAG,MAAM,CAACuP,KAAK,KAAKC,KAAK,KAAKjI,KAAKvH,EAAE,IAAC,CAA/D,GAAioIg8c,GAAG,OAAO,SAASE,GAAEtqc,EAA4Bo7C,GAAE,IAArBhtD,EAAC4R,EAARonC,OAAcn6B,EAACjN,EAAN+8U,KAAcvmV,EAACwJ,EAARmnR,OAAa,SAAS54N,EAAEngE,EAAE6e,GAAG,OAAO1W,EAAE6P,MAAMhY,EAAE6e,GAAGtM,IAAK,SAACsM,EAAEzW,GAAC,OAAGvD,OAAO7E,EAAEoI,EAAE,GAAG4pS,SAASnyP,GAAG,KAAKhhC,CAAC,GAAGqwC,KAAK,KAAK,CAAC,IAAI/mD,EAAEnI,EAAE+wC,MAAM,eAAeroC,EAAEoX,KAAKiL,IAAI,EAAElM,EAAEmuC,GAAG,EAAE7qD,EAAE2d,KAAKgL,IAAIjM,EAAEmuC,EAAE7kD,EAAEvG,OAAO,GAAGi+C,EAAE//B,KAAKiL,IAAI,EAAElmB,OAAO1C,GAAGP,QAAQ,EAAEy1C,EAAE,GAAGjvC,GAAG,GAAeD,EAAE0W,EAAE,GAAG20C,OAAO,EAAEprD,EAAE,GAAGrE,MAAM,QAAQ,IAAInC,QAAvU,MAAoVy1C,EAAEjvC,EAA/U,GAAoV,EAAEA,EAAEm0c,IAAM,IAAI,IAAIv8c,EAAE0I,EAAE1I,GAAGmC,EAAEnC,IAAIA,GAAG,GAAGA,EAAEmI,EAAEvG,SAASuG,EAAEnI,GAAGmI,EAAEnI,GAAG6iB,QAAQ,MAAMm5b,IAAI7zc,EAAEnI,IAAIq3C,EAAE,GAAGlvC,EAAEnI,GAAG4B,OAAOy1C,EAAE,SAAS,IAAIlvC,EAAEnI,GAAGwzD,OAAOnc,EAAEroB,KAAO7mB,EAAEnI,GAAG4B,OAAOy1C,EAAhf,IAAqf,EAAE,SAAS,KAAK,MAAM,CAAC8oB,EAAEz3D,EAAEmW,GAAG,IAAIhH,MAAMzP,EAAEy3C,EAAE,GAAGqP,KAAK,KAAK,IAAIiR,EAAEthD,EAAE1c,IAAIg4B,OAAOzO,SAASwjC,KAAK,KAAK,CAAC,SAASwtZ,GAAG18c,EAAE6e,EAAEzW,EAAE4kD,EAAEmT,GAAG,OAAOh/D,OAAO+kF,OAAO,SAASlmF,EAAE6e,GAAG,IAAIzW,EAAEjH,OAAO85C,OAAOy5D,YAAYtzG,WAAW4rD,EAAE,IAAIlqD,MAAM,OAAO3B,OAAO+kF,OAAO99E,EAAE,CAACnI,KAAKD,EAAE+M,QAAQ8R,EAAE,SAAI0tD,GAAQ,OAAOvf,EAAEuf,OAAO,IAAI1pD,QAAQ,eAAc,GAAAje,OAAI5E,EAAC,MAAA4E,OAAKia,EAAC,MAAK,GAAG,CAAvL,CAAyL,cAAc7e,GAAG,CAACg5C,OAAOn6B,EAAE+F,OAAOxc,EAAEumV,KAAK3hS,EAAE+rO,OAAO54N,EAAEiprB,eAAe,SAAAppvB,GAAC,OAAEk8c,GAAG,CAAClja,OAAOn6B,EAAE8vU,KAAK3hS,EAAE+rO,OAAO54N,GAAG/nD,MAAMpY,GAAG,EAAEA,EAAE,EAAC,oBAAIqpvB,GAAmB,MAAM,gBAAAzkvB,OAAgB5E,EAAC,MAAKk8c,GAAG,CAAClja,OAAOn6B,EAAE8vU,KAAK3hS,EAAE+rO,OAAO54N,GAAG,EAAE,GAAG,CAAC,SAASi8Y,GAAGp8c,GAAiD,IAA9C,IAAI6e,EAAEzb,KAAK8kvB,aAAa9/uB,GAAE,EAAG4kD,EAAE,CAACs8rB,WAAWtpvB,IAASoD,KAAKqkvB,KAAK,CAAC,OAAOrkvB,KAAK+jvB,WAAW,KAAK,GAAG/jvB,KAAKoM,OAAO,SAAS,KAAK,GAAGpH,GAAE,EAAGhF,KAAKoM,OAAO,SAAS,IAAI2wD,EAAEngE,EAAEu4uB,QAAQ31uB,KAAKQ,KAAK4pD,GAAG,QAAQ,IAAImT,EAAE,MAAM/3D,IAAIpI,EAAEupvB,cAAcvpvB,EAAEupvB,aAAa3mvB,KAAKQ,KAAK+8D,EAAEthD,EAAEmuC,GAAG5kD,GAAE,GAAIyW,EAAE3X,KAAKi5D,EAAE,CAAC,OAAO/3D,GAAGpI,EAAEupvB,cAAcvpvB,EAAEupvB,aAAa3mvB,KAAKQ,KAAK,KAAKyb,EAAEmuC,GAAGnuC,CAAC,CAAC,IAAI89b,GAAG,WAAK,EAAE,SAASsC,GAAGj/c,GAAG,OAAO,WAAW,OAAOoD,KAAKpD,IAAI,CAAC,CAAC,SAAS+9c,GAAG/9c,GAAG,IAAI6e,EAAE1d,OAAO85C,OAAO,MAAM,IAAI,IAAI7yC,KAAKpI,EAAE,CAAC,IAAIgtD,EAAEhtD,EAAEoI,GAAG+3D,EAAEnT,EAAEtpD,OAAOspD,EAAEmT,IAAIthD,EAAEzW,GAAG+3D,EAAE,CAAC,OAAOthD,CAAC,CAAC,IAAImgc,GAAG,CAACt7c,KAAAA,GAAQ,OAAON,KAAKomvB,qBAAqBpmvB,KAAKqjvB,eAAe,GAAGzpS,GAAG,CAACt5c,KAAAA,GAAQ,OAAON,KAAKomvB,qBAAqBpmvB,KAAKojvB,WAAW,GAAGtnS,GAAG,CAACx7c,KAAAA,GAAQ,OAAON,KAAKomvB,qBAAqBpmvB,KAAKuivB,aAAa,GAAGzoS,GAAG,CAACx5c,KAAAA,GAAQ,OAAON,KAAKomvB,qBAAqBpmvB,KAAK4ivB,MAAM,GAAGzoS,GAAG,CAAC7qZ,IAAIwsZ,GAAGx3c,IAAIs3c,GAAGmS,KAAKjS,GAAG7jW,QAAQ2jW,GAAGnna,GAAGmna,GAAG,WAAWA,GAAG,cAAcA,GAAGyqS,MAAMzqS,GAAGh6E,IAAIg6E,GAAG,YAAY9B,GAAG,iBAAiBA,GAAG,mBAAmBA,GAAG,cAAcA,GAAGl/I,QAAQg/I,GAAG53b,KAAK43b,GAAG,eAAeA,IAAImC,GAAG,CAAC,EAAEzuB,GAAGyuB,GAAG,CAACylS,QAAQ,WAAD,OAAKx4rB,EAAE,EAAC24rB,kBAAkB,WAAD,OAAK/xS,EAAE,EAACoyS,cAAc,WAAD,OAAKtsT,EAAE,EAACusT,WAAW,WAAD,OAAK7xS,EAAE,EAACkyS,WAAW,WAAD,OAAK5jS,EAAE,EAAC6jS,WAAW,WAAD,OAAKhtK,EAAE,EAACotK,gBAAgB,WAAD,OAAK3jS,EAAE,EAAC4jS,IAAI,WAAD,OAAK5tK,EAAE,EAAC+tK,WAAW,WAAD,OAAKjjS,EAAE,EAACkjS,oBAAoB,WAAD,OAAKpjS,EAAE,EAACqjS,sBAAsB,WAAD,OAAK3gS,EAAE,EAAC6gS,IAAI,WAAD,OAAK1gS,EAAE,EAAC2gS,SAAS,WAAD,OAAK7gS,EAAE,EAAC8gS,aAAa,WAAD,OAAKxiS,EAAE,EAACp/c,OAAO,WAAD,OAAKi/c,EAAE,EAAC6iS,aAAa,WAAD,OAAK5/R,EAAE,IAAG,IAAIzH,GAAG,SAASt/c,GAAG,IAAI6e,EAAE,GAAGzW,EAAE,YAAY4kD,GAAE,EAAGmT,EAAEw8Y,GAAGx0c,GAAE,EAAGO,EAAE,eAA2E,OAAAwT,EAAjE,SAAA8ngB,IAAazogB,EAAA,KAAAyogB,GAAC5ghB,KAAKosV,MAAM,KAAKpsV,KAAKkpP,QAAQ,KAAKlpP,KAAKstG,UAAS,CAAE,EAAC,EAAAhsG,IAAA,YAAAjC,MAAA,SAAUzC,GAAc,IAAZ6e,EAACzZ,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAC,EAAEgD,EAAChD,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAC,EAAE4nD,EAAC5nD,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAC,EAAGhC,KAAK41C,OAAOh5C,EAAEoD,KAAKqviB,YAAY5zhB,EAAEzb,KAAKshvB,UAAUt8uB,EAAEhF,KAAKuhvB,YAAY33rB,EAAE5pD,KAAKstG,UAAS,CAAE,GAAC,CAAAhsG,IAAA,cAAAjC,MAAA,SAAYzC,EAAE6e,GAAG,OAAOzb,KAAKstG,UAAUyvV,GAAG/8b,MAAM,CAAC41C,OAAOn6B,EAAE+F,OAAOxhB,KAAKqviB,YAAYzyiB,EAAE2uV,KAAKvrV,KAAKosV,MAAMxvV,GAAG+4R,OAAO31R,KAAKkpP,QAAQtsP,GAAG,GAAC,CAAA0E,IAAA,mBAAAjC,MAAA,SAAiBzC,EAAE6e,EAAEzW,GAAG,OAAOhF,KAAKstG,UAAUyvV,GAAG/8b,MAAM,CAAC41C,OAAO5wC,EAAEqP,MAAM,CAACmN,OAAOxhB,KAAKqviB,YAAYzyiB,EAAE2uV,KAAKvrV,KAAKosV,MAAMxvV,GAAG+4R,OAAO31R,KAAKkpP,QAAQtsP,IAAI0X,IAAI,CAACkN,OAAOxhB,KAAKqviB,YAAY5zhB,EAAE8vU,KAAKvrV,KAAKosV,MAAM3wU,GAAGk6Q,OAAO31R,KAAKkpP,QAAQztO,IAAI,IAAC,CAA7gB,IAA+gB1c,EAAEhB,OAAO+kF,OAAO,eAA+C,OAAAhqE,EAArC,SAAAwtuB,EAAY1pvB,EAAE6e,GAAEtD,EAAA,KAAAmuuB,GAACtmvB,KAAKumvB,UAAU3pvB,EAAE6e,EAAE,EAAC,EAAAna,IAAA,QAAAjC,MAAA,WAAQW,KAAKqkvB,KAAI,EAAGrkvB,KAAK+kvB,YAAY,EAAE/kvB,KAAK+jvB,UAAU,EAAE/jvB,KAAK4jvB,WAAW5jvB,KAAKilvB,gBAAgBjlvB,KAAK6jvB,SAAS7jvB,KAAKilvB,eAAe,GAAC,CAAA3jvB,IAAA,YAAAjC,MAAA,WAA0B,IAAhBzC,EAACoF,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAC,GAAGyZ,EAACzZ,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAE,WAAK,EAAQgD,GAAGpI,EAAE6E,OAAO7E,GAAG,KAAK4B,OAAOorD,EAAE6yY,GAAGz8b,KAAKwmvB,cAAc5pvB,EAAE4B,OAAO,GAAGu+D,EAAE0/X,GAAGz8b,KAAKymvB,QAAQ7pvB,EAAE4B,OAAO,GAAGuG,EAAE,EAAEO,EAAE,EAAEvG,EAAE,EAAE09C,GAAG,EAAE,IAAIz8C,KAAKwmvB,cAAc,KAAKxmvB,KAAKymvB,QAAQ,KAAKhruB,EAAE7e,EAAG,SAACA,EAAE6e,EAAEw4B,GAAK,OAAOr3C,GAAG,QAAQmgE,EAAEh4D,GAAGC,EAAE,MAAM,KAAKM,EAAG,IAAI1I,EAAEmC,EAAEgjB,GAAG,IAAIhjB,EAAEg+D,EAAEngE,GAAG0I,EAAEvG,GAAGi/b,GAAGjhY,EAAEh4D,GAAGnI,EAAEmgE,EAAEngE,KAAKmI,EAAEnI,EAAEmI,EAAEnI,IAAImgE,EAAEngE,KAAKoI,IAAI+3D,EAAEngE,GAAGmI,GAAG,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK,GAAGg4D,EAAEh4D,GAAGhG,EAAEuG,EAAE+3b,GAAG74b,IAAI5H,GAAGmC,EAAEuG,GAAG04b,GAAGj5b,EAAE6kD,EAAE7kD,KAAKnI,GAAGohc,GAAG/pZ,GAAG,IAAIwI,IAAIA,EAAEhhC,EAAE,GAAImuC,EAAE7kD,GAAG,EAAEC,EAAE+3D,EAAEh4D,GAAGC,EAAE+3D,EAAE/3D,GAAGA,EAAE,IAAIjG,GAAG,CAAC,IAAInC,EAAEmC,EAAEgjB,GAAGhjB,EAAEg+D,EAAEngE,GAAGmgE,EAAEngE,GAAGoI,CAAC,CAAChF,KAAK41C,OAAOh5C,EAAEoD,KAAKilvB,iBAAiB,IAAIxosB,EAAE,EAAEA,EAAEz8C,KAAK6+Y,WAAW95Y,EAAE/E,KAAKwmvB,cAAc58rB,EAAE5pD,KAAKymvB,QAAQ1prB,EAAE/8D,KAAK2rc,QAAQ3rc,KAAKoM,MAAM,GAAC,CAAA9K,IAAA,aAAAjC,MAAA,SAAWzC,GAAG,OAAOA,GAAGoD,KAAK+kvB,YAAY/kvB,KAAK6+Y,WAAW7+Y,KAAKwmvB,cAAc5pvB,IAAIohc,GAAG,CAAC,GAAC,CAAA18b,IAAA,eAAAjC,MAAA,SAAazC,GAAG,OAAOA,GAAGoD,KAAK+kvB,YAAY/kvB,KAAK6+Y,WAAW7+Y,KAAKwmvB,cAAc5pvB,EAAE,GAAGmlB,GAAG/hB,KAAK41C,OAAOp3C,MAAM,GAAC,CAAA8C,IAAA,cAAAjC,MAAA,SAAYzC,EAAE6e,GAAG,OAAO7e,GAAGoD,KAAK+kvB,YAAY/kvB,KAAK6+Y,YAAYmxC,GAAGhwb,KAAK41C,OAAO51C,KAAKwmvB,cAAc5pvB,EAAE,GAAGmlB,GAAG/hB,KAAKwmvB,cAAc5pvB,GAAGmlB,GAAGtG,EAAE,GAAC,CAAAna,IAAA,gBAAAjC,MAAA,SAAczC,GAAG,OAAOA,IAAIoD,KAAK+kvB,WAAW/kvB,KAAK4jvB,WAAWhnvB,EAAE,EAAEA,EAAEoD,KAAK6+Y,WAAW7+Y,KAAKwmvB,cAAc5pvB,EAAE,GAAGmlB,GAAG/hB,KAAKwmvB,cAAcxmvB,KAAK6+Y,YAAY98X,GAAG/hB,KAAKilvB,eAAe,GAAC,CAAA3jvB,IAAA,iBAAAjC,MAAA,SAAezC,GAAG,OAAOoD,KAAK41C,OAAOz2C,UAAUvC,EAAEoD,KAAK4jvB,WAAW,GAAC,CAAAtivB,IAAA,gBAAAjC,MAAA,SAAczC,GAAG,OAAOoD,KAAKymvB,QAAQzmvB,KAAK+kvB,YAAYnovB,CAAC,GAAC,CAAA0E,IAAA,UAAAjC,MAAA,SAAQzC,EAAE6e,GAAG,OAAOA,EAAE,IAAIzb,KAAKgkvB,WAAWvouB,IAAIzb,KAAK41C,OAAOmL,WAAW/gD,KAAK0mvB,aAAajruB,MAAM7e,EAAE,IAAIoD,KAAK+jvB,WAAW/jvB,KAAK41C,OAAOmL,WAAW/gD,KAAK4jvB,cAAchnvB,CAAC,GAAC,CAAA0E,IAAA,OAAAjC,MAAA,SAAKzC,GAAG,IAAI6e,EAAEzb,KAAK+kvB,WAAWnovB,EAAE6e,EAAEzb,KAAK6+Y,YAAY7+Y,KAAK+kvB,WAAWtpuB,EAAEzb,KAAK4jvB,WAAW5jvB,KAAKwmvB,cAAc/quB,EAAE,GAAGsG,GAAGtG,EAAEzb,KAAKwmvB,cAAc/quB,GAAGzb,KAAK+jvB,UAAUtouB,GAAGuib,GAAGh+b,KAAK6jvB,SAASpouB,EAAEsG,KAAK/hB,KAAK+kvB,WAAW/kvB,KAAK6+Y,WAAW7+Y,KAAKoM,OAAO,GAAC,CAAA9K,IAAA,OAAAjC,MAAA,WAAO,IAAIzC,EAAEoD,KAAK+kvB,WAAW,EAAEnovB,EAAEoD,KAAK6+Y,YAAY7+Y,KAAK+kvB,WAAWnovB,EAAEoD,KAAK4jvB,WAAW5jvB,KAAK6jvB,SAASjnvB,EAAEoD,KAAKwmvB,cAAc5pvB,GAAGoD,KAAK+jvB,UAAUnnvB,GAAGohc,GAAGh+b,KAAK6jvB,SAASjnvB,EAAEmlB,KAAK/hB,KAAKqkvB,KAAI,EAAGrkvB,KAAK+kvB,WAAW/kvB,KAAK6+Y,WAAW7+Y,KAAK+jvB,UAAU,EAAE/jvB,KAAK4jvB,WAAW5jvB,KAAK6jvB,SAAS7jvB,KAAK41C,OAAOp3C,OAAO,GAAC,CAAA8C,IAAA,SAAAjC,MAAA,WAAS,KAAK,KAAKW,KAAK+jvB,WAAW,KAAK/jvB,KAAK+jvB,WAAW/jvB,KAAKoM,MAAM,GAAC,CAAA9K,IAAA,oBAAAjC,MAAA,SAAkBzC,EAAE6e,GAAG,IAAIzW,EAAE4kD,EAAEmT,EAAEngE,EAAEA,EAAE,KAAKmgE,EAAE/8D,KAAK6+Y,aAAa75Y,EAAEhF,KAAKymvB,QAAQ1prB,KAAK/3D,EAAEpI,IAAImgE,IAAI,OAAOnT,EAAEmT,EAAE,EAAE/8D,KAAKwmvB,cAAczprB,EAAE,GAAGh7C,GAAG/hB,KAAKilvB,gBAAgBxpuB,EAAEzb,KAAK41C,OAAOmL,WAAW6I,KAAK,KAAK,EAAE,MAAMhtD,EAAE,KAAK,EAAEmgE,IAAI,MAAMngE,EAAE,QAAQoD,KAAKymvB,QAAQzhvB,KAAK+3D,IAAIA,EAAE/3D,GAAGhF,KAAK6/gB,KAAK9id,EAAE/8D,KAAK+kvB,WAAW,GAAC,CAAAzjvB,IAAA,eAAAjC,MAAA,SAAazC,GAAG,IAAI,IAAI6e,EAAE,EAAEzW,EAAEhF,KAAKilvB,gBAAgBxpuB,EAAEzb,KAAK6+Y,WAAWpjY,IAAI,CAAC,IAAImuC,EAAE5kD,EAAE+3D,EAAE/8D,KAAKwmvB,cAAc/quB,GAAG1W,EAAEg4D,EAAEh7C,GAAG/c,EAAED,EAAEnI,EAAEmgE,GAAGihY,GAAGp0Y,EAAE7kD,EAAE0W,EAAE,CAAC,GAAC,CAAAna,IAAA,OAAAjC,MAAA,WAAM,IAAAwQ,EAAA,KAAKjT,EAAE,IAAI6X,MAAMzU,KAAK6+Y,YAAY,OAAO7+Y,KAAK2mvB,aAAc,SAAClruB,EAAEzW,EAAE4kD,EAAEmT,GAAKngE,EAAEmgE,GAAG,CAAC8D,IAAI9D,EAAEh9D,KAAKo9b,GAAG1hb,GAAGuqF,MAAMn2F,EAAK+lC,OAAOz2C,UAAU6F,EAAE4kD,GAAG68rB,QAAQ52uB,EAAK42uB,QAAQ1prB,GAAG,GAAIngE,CAAC,IAAC,CAAvnF,IAAynF,SAASA,GAAG,IAAI6e,EAAE,CAACsI,QAAQhmB,OAAO85C,OAAO,MAAM8zR,MAAM5tU,OAAO+kF,OAAO/kF,OAAO85C,OAAO,MAAMj7C,EAAE+uU,OAAOi7a,OAAOjsS,GAAG/9c,EAAEgqvB,QAAQ/B,OAAOlqS,GAAG/9c,EAAEiovB,QAAQr+rB,KAAKm0Z,GAAG/9c,EAAE4pD,OAAO,IAAI,IAAIxhD,KAAKpI,EAAEiqvB,aAAa,cAAcjqvB,EAAEiqvB,aAAa7hvB,IAAI,IAAI,WAAWyW,EAAEsI,QAAQ/e,GAAGpI,EAAEiqvB,aAAa7hvB,GAAG,MAAM,IAAI,SAASyW,EAAEsI,QAAQ/e,GAAG62c,GAAGj/c,EAAEiqvB,aAAa7hvB,IAAI,OAAAuG,EAAA,CAAO1F,OAAO4V,GAAKA,EAAKA,EAAE+qC,KAAK,CAAzV,CAA2V5pD,GAAG,CAAC,GAAG,CAACkqvB,oBAAmB,EAAGC,kBAAiB,EAAGC,YAAW,EAAGC,qBAAoB,EAAG7B,aAAapsS,GAAGmsS,uBAAuB,WAAD,OAAK,CAAC,EAAC+B,6BAA6B,SAAAtqvB,GAAC,OAAE,MAAMA,EAAE,EAAE,CAAC,EAACuqvB,wCAAwC,SAAAvqvB,GAAC,OAAE,MAAMA,GAAG,KAAKA,EAAE,EAAE,CAAC,EAACwqvB,uCAAuC,SAAAxqvB,GAAC,OAAE,KAAKA,GAAG,KAAKA,EAAE,EAAE,CAAC,EAACyqvB,8BAA8B,SAAAzqvB,GAAC,OAAE,KAAKA,EAAE,EAAE,CAAC,EAACkovB,WAAW,WAAD,OAAK,IAAItsS,EAAE,EAAC4tS,qBAAqB,SAAAxpvB,GAAC,OAAG,IAAI47c,IAAIqtS,WAAWjpvB,EAAE,EAACyovB,iBAAiB,SAAAzovB,GAAC,OAAEA,GAAGA,EAAEq3J,KAAK,EAACqzlB,gBAAgB,SAAA1qvB,GAAC,OAAEA,GAAGA,EAAEmpD,IAAI,EAACwhsB,iBAAAA,CAAkB3qvB,EAAE6e,GAAG,IAAIzW,EAAEhF,KAAK+kvB,WAAW,IAAI,OAAOnovB,EAAE4C,KAAKQ,KAAK,CAAC,MAAMpD,GAAG,GAAGmI,EAAE,MAAMnI,EAAE,IAAIgtD,EAAEnuC,EAAEjc,KAAKQ,KAAKgF,GAAG,OAAOD,GAAE,EAAGg4D,EAAEngE,EAAEgtD,GAAG7kD,GAAE,EAAG6kD,CAAC,CAAC,EAAE49rB,eAAAA,CAAgB5qvB,GAAG,IAAI6e,EAAE,GAAG,GAA0B,MAAvBA,EAAEzb,KAAKgkvB,WAAWpnvB,MAAY,OAAO6e,QAAQ,IAAIA,GAAG,OAAO,CAAC,EAAEslC,WAAW,SAAAnkD,GAAC,OAAEA,GAAG,GAAGA,EAAE6e,EAAEjd,OAAOid,EAAEslC,WAAWnkD,GAAG,CAAC,EAACuC,UAAU,SAACvC,EAAEoI,GAAC,OAAGyW,EAAEtc,UAAUvC,EAAEoI,EAAE,EAACm/uB,cAAAA,CAAevnvB,GAAG,OAAOoD,KAAK41C,OAAOz2C,UAAUvC,EAAEoD,KAAK4jvB,WAAW,EAAEE,QAAQ,SAAClnvB,EAAEoI,GAAC,OAAGmrb,GAAG10a,EAAE7e,EAAEoI,EAAE,EAACyivB,OAAO,SAAC7qvB,EAAEoI,EAAE4kD,GAAC,OAAGomY,GAAGv0a,EAAE7e,EAAEoI,EAAE4kD,EAAE,EAACkmpB,OAAAA,CAAQlzsB,GAAG,IAAI6e,EAAEzb,KAAK4jvB,WAAW,OAAO5jvB,KAAKskvB,IAAI1nvB,GAAGoD,KAAKmkvB,eAAe1ouB,EAAE,EAAEmpuB,mBAAAA,GAAsB,IAAIhovB,EAAE6e,EAAEtc,UAAUa,KAAK4jvB,WAAW5jvB,KAAK6jvB,SAAS,GAAG,OAAO7jvB,KAAKskvB,IAAI,GAAG1nvB,CAAC,EAAE+nvB,aAAAA,CAAc/nvB,GAAG,IAAIoI,EAAEyW,EAAEtc,UAAUa,KAAK4jvB,WAAW78S,GAAGtrb,EAAEzb,KAAK4jvB,aAAa,OAAO5jvB,KAAKskvB,IAAI1nvB,GAAGoI,CAAC,EAAEs/uB,GAAAA,CAAI1nvB,GAAG,GAAGoD,KAAK+jvB,YAAYnnvB,EAAE,CAAC,IAAI6e,EAAE0hb,GAAGvgc,GAAGgY,MAAM,GAAG,GAAG6K,QAAQ,KAAK,KAAKA,QAAQ,KAAM,SAAA7iB,GAAC,OAAEA,EAAEuqF,aAAa,GAAGniF,EAAC,GAAAxD,OAAI,YAAYf,KAAKgb,GAAE,IAAAja,OAAKia,EAAC,KAAIA,EAAC,gBAAemuC,EAAE5pD,KAAK4jvB,WAAW,OAAOhnvB,GAAG,KAAK,EAAE,IAAIoD,KAAK+jvB,WAAW,IAAI/jvB,KAAK+jvB,WAAWn6rB,EAAE5pD,KAAK6jvB,SAAS,EAAE7+uB,EAAE,6CAA6CA,EAAE,yBAAyB,MAAM,KAAK,EAAEhF,KAAKikvB,QAAQ,MAAMjkvB,KAAKoM,OAAOw9C,IAAI5kD,EAAE,oBAAoB,MAAM,KAAK,GAAG,KAAKhF,KAAK+jvB,YAAYn6rB,EAAE5pD,KAAK6jvB,SAAS7+uB,EAAE,4BAA4BhF,KAAKjD,MAAMiI,EAAE4kD,EAAE,CAAC5pD,KAAKoM,MAAM,EAAEo4uB,QAAAA,CAAS5nvB,IAAI,IAAIoD,KAAK+jvB,YAAW,IAAK/jvB,KAAK0kvB,YAAY,EAAE9nvB,KAAKoD,KAAKjD,MAAM,eAADyE,OAAgB5E,EAAC,kBAAiBoD,KAAKoM,MAAM,EAAEm4uB,QAAAA,CAAS3nvB,GAAGoD,KAAKikvB,QAAQrnvB,IAAIoD,KAAKjD,MAAM,UAADyE,OAAWC,OAAOowD,aAAaj1D,GAAE,kBAAiBoD,KAAKoM,MAAM,EAAEi/U,YAAY,SAACzuV,EAAE6e,GAAC,OAAGmuC,EAAEtkD,EAAEoivB,iBAAiB9qvB,EAAE6e,EAAEzW,GAAG,IAAI,EAACsgvB,mBAAAA,CAAoB1ovB,GAAG,GAAGgtD,EAAE,CAAC,IAAInuC,EAAEzb,KAAKqlvB,iBAAiBzovB,GAAGgtD,EAAE5pD,KAAKsnvB,gBAAgB1qvB,GAAG,OAAO0I,EAAEoivB,iBAAiB,OAAOjsuB,EAAEA,EAAE8xU,IAAIl5U,MAAMmN,OAAOlc,EAAE+piB,YAAYrviB,KAAK4jvB,WAAW,OAAOh6rB,EAAEA,EAAE2jS,IAAIj5U,IAAIkN,OAAOlc,EAAE+piB,YAAYrviB,KAAK4jvB,WAAW5+uB,EAAE,CAAC,OAAO,IAAI,EAAEjI,KAAAA,CAAMH,EAAEoI,GAAG,IAAI4kD,SAAS5kD,EAAE,KAAKA,EAAEyW,EAAEjd,OAAO8G,EAAE+lV,YAAYrmV,GAAGhF,KAAKqkvB,IAAI/+uB,EAAE+lV,YAAY,SAASzuV,EAAE6e,GAAG,KAAKA,GAAG,GAAGkza,GAAG/xb,EAAEmkD,WAAWtlC,IAAIA,KAAK,OAAOA,EAAE,CAAC,CAA5D,CAA8DA,EAAEA,EAAEjd,OAAO,IAAI8G,EAAE+lV,YAAYrrV,KAAK4jvB,YAAY,MAAM,IAAItqS,GAAG18c,GAAG,mBAAmB6e,EAAEmuC,EAAEpoC,OAAOooC,EAAE2hS,KAAK3hS,EAAE+rO,OAAO,IAAI,OAAO53R,OAAO+kF,OAAQ,SAASlmF,EAAE6/C,GAAGhhC,EAAE7e,EAAE6/C,EAAEA,GAAG,CAAC,EAAE19C,EAAEwnvB,UAAU9quB,EAAEwhb,IAAI33b,EAAEihvB,UAAU9quB,EAAEghC,EAAEj7B,OAAOi7B,EAAE8uS,KAAK9uS,EAAEk5O,QAAQ3wR,EAAEy3C,EAAEm0Z,UAAU,YAAYhnZ,EAAEthC,QAAQm0B,EAAEr7B,WAAW27C,EAAE,mBAAmBtgB,EAAEkrsB,aAAalrsB,EAAEkrsB,aAAapuS,GAAGx0c,GAAE,EAAGhG,EAAE+nvB,qBAAqB,uBAAuBrqsB,IAAIn0B,QAAQm0B,EAAEqqsB,oBAAoB/nvB,EAAEgovB,mBAAmB,qBAAqBtqsB,IAAIn0B,QAAQm0B,EAAEsqsB,kBAAkBhovB,EAAEiovB,aAAa,eAAevqsB,IAAIn0B,QAAQm0B,EAAEuqsB,YAAYjovB,EAAEkovB,oBAAoB,wBAAwBxqsB,GAAGn0B,QAAQm0B,EAAEwqsB,qBAAqB,IAAAW,EAAqCnrsB,EAACorsB,EAAAD,EAAlC7juB,QAAQkwB,OAAC,IAAA4zsB,EAAC,UAASA,EAAWxjrB,EAACujrB,EAAXE,UAAe,KAAK7zsB,KAAKl1C,EAAEglB,SAAS,MAAM,IAAIrkB,MAAM,oBAAoBu0C,EAAE,KAAK,mBAAmBowB,GAAGtlE,EAAE4nvB,aAAc,SAAC/pvB,EAAEoI,EAAE4kD,GAAK,GAAG,KAAKhtD,EAAE,CAAC,IAAIA,EAAEmC,EAAEssV,YAAYrmV,EAAE4kD,GAAGmT,EAAEizX,GAAGv0a,EAAEmuC,EAAE,EAAEA,EAAE,MAAMnuC,EAAE7G,MAAM5P,EAAE,EAAE4kD,EAAE,GAAGnuC,EAAE7G,MAAM5P,EAAE,EAAE4kD,GAAGya,EAAEtH,EAAEngE,EAAE,CAAC,GAAI,IAAI+vD,EAAE5tD,EAAEglB,QAAQkwB,GAAGz0C,KAAKT,EAAE09C,GAAG,OAAO19C,EAAEslvB,KAAKtlvB,EAAEhC,QAAQ4vD,CAAC,EAAG,CAAC2kD,YAAYgoW,GAAGzzc,OAAO9G,EAAE8G,QAAQ,CAA9wN,CAAgxN,CAACghvB,aAAa,CAAC1juB,QAAQ,eAAe4kuB,aAAa,eAAezvnB,SAAS,YAAYqzM,MAAM,CAACy3a,SAAS,CAAC+C,aAAa,SAASvpvB,EAAE6e,GAAG,OAAOA,EAAEsqC,MAAM,eAAetqC,EAAEsqC,KAAKhmD,MAAM,OAAOnD,GAAG,eAAeA,EAAEmD,MAAM0b,EAAE3X,KAAK,CAAC/D,KAAK,aAAawtV,IAAI,KAAK1wV,KAAK,KAAK,EAAEs4uB,QAAQ,WAAW,OAAOn1uB,KAAK+jvB,WAAW,KAAK,GAAG,OAAO/jvB,KAAK2hvB,oBAAoB,KAAK,EAAE,OAAO3hvB,KAAKsivB,aAAa,KAAK,GAAG,OAAO,KAAKtivB,KAAKgkvB,WAAW,GAAGhkvB,KAAKijvB,wBAAwBjjvB,KAAKgjvB,sBAAsB,KAAK,EAAE,OAAOhjvB,KAAKujvB,eAAe,KAAK,GAAG,KAAK,GAAG,OAAOvjvB,KAAK+ivB,aAAa,KAAK,GAAG,KAAK/ivB,KAAK+gD,WAAW/gD,KAAK4jvB,aAAa5jvB,KAAKjD,MAAM,yBAAyBiD,KAAK4jvB,WAAW,GAAG,MAAM,KAAK,EAAE,OAAO5jvB,KAAK+gD,WAAW/gD,KAAK4jvB,aAAa,KAAK,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,GAAG,OAAO5jvB,KAAKiivB,aAAa,KAAK,GAAG,OAAOjivB,KAAKgivB,gBAAgB,KAAK,GAAG,KAAK,IAAI,OAAOhivB,KAAKujvB,eAAe,KAAK,GAAG,OAAOvjvB,KAAKsivB,aAAa,KAAK,GAAG,OAAOtivB,KAAK2ivB,mBAAmB,IAAIiE,OAAO,CAAC,EAAE/B,OAAO1qS,GAAG3zZ,KAAKu1Z,KAAKlB,GAAG,SAACj+c,EAAE6e,GAAC,OAAG7e,EAAE0I,IAAImW,EAAEnW,EAAE1I,EAAE2I,IAAIkW,EAAElW,EAAE3I,EAAEq3C,EAAEx4B,EAAEw4B,EAAEr3C,EAAE2I,EAAEkW,EAAElW,EAAE3I,EAAE0I,EAAEmW,EAAEnW,CAAC,EAAC02c,GAAG,SAACp/c,EAAE6e,GAAC,OAAG,IAAIo/b,GAAGj+c,EAAE6e,EAAE,EAAC8/b,GAAG,SAAC3+c,EAAE6e,GAAC,OAAGo/b,GAAGj+c,EAAE6e,GAAG,CAAC,EAACg/b,GAAG,SAAC79c,EAAE6e,GAAC,OAAGo/b,GAAGj+c,EAAE6e,GAAG,CAAC,EAAC4/b,GAAG,SAACz+c,GAAY,IAAV6e,EAACzZ,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAC,MAAagD,EAAEpI,EAAEyI,KAAKw1c,IAAI,MAAM,SAASp/b,EAAEzW,EAAEq4D,UAAUr4D,CAAC,EAAE64c,GAAG,WAAD,QAAAjnX,EAAA50F,UAAAxD,OAAK5B,EAAC,IAAA6X,MAAAmiF,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAADj6F,EAACi6F,GAAA70F,UAAA60F,GAAA,OAAGwkX,GAAGz+c,EAAE,MAAM,EAACs+c,GAAG,WAAD,QAAA8sS,EAAAhmvB,UAAAxD,OAAK5B,EAAC,IAAA6X,MAAAuzuB,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAADrrvB,EAACqrvB,GAAAjmvB,UAAAimvB,GAAA,OAAG5sS,GAAGz+c,EAAE,OAAO,EAAC0+c,GAAG,WAAD,OAASJ,GAAElzc,WAAA,EAAAhG,WAAO,EAAE,EAACq4c,GAAG,SAAAz9c,GAAI,IAAI6e,EAAE,CAACnW,EAAE,EAAEC,EAAE,EAAE0uC,EAAE,GAAG,OAAOr3C,EAAEqgF,SAAShqD,QAAS,SAAAr2B,GAAI,OAAOA,EAAEmD,MAAM,IAAI,aAAa0b,EAAEnW,GAAG,EAAE,MAAM,IAAI,oBAAoB,IAAI,gBAAgBmW,EAAElW,GAAG,EAAE,MAAM,IAAI,sBAAsB,OAAO3I,EAAEC,KAAK6iB,eAAe,IAAI,QAAQ,MAAM,IAAI,KAAK,IAAI,UAAU,IAAI,cAAc,IAAI,WAAW,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,GAAG9iB,EAAEqgF,SAAS,CAAC,IAAIj4E,EAAEs2c,GAAEtzc,WAAA,EAAAgoB,EAAIgub,GAAGphd,EAAEqgF,SAASg3E,SAAQx4I,EAAEnW,GAAGN,EAAEM,EAAEmW,EAAElW,GAAGP,EAAEO,EAAEkW,EAAEw4B,GAAGjvC,EAAEivC,CAAC,CAAC,MAAM,IAAI,YAAY,IAAI,iBAAiB,GAAGx4B,EAAElW,GAAG,EAAE3I,EAAEqgF,SAASg3E,MAAM37B,SAAS,CAAC,IAAItzH,EAAEs2c,GAAEtzc,WAAA,EAAAgoB,EAAIgub,GAAGphd,EAAEqgF,SAASg3E,MAAM37B,YAAW78G,EAAEnW,GAAGN,EAAEM,EAAEmW,EAAElW,GAAGP,EAAEO,EAAEkW,EAAEw4B,GAAGjvC,EAAEivC,CAAC,CAAC,MAAM,IAAI,eAAe,IAAI,OAAO,GAAGx4B,EAAElW,GAAG,EAAE3I,EAAEqgF,SAAS,CAAC,IAAIj4E,EAAE,CAACjF,KAAK,WAAWk9E,SAAS,IAAIrzB,GAAE,EAAGhtD,EAAEqgF,SAASg3E,MAAMh3E,SAAShqD,QAAS,SAAAr2B,GAAC,OAAGgtD,IAAI,eAAehtD,EAAEmD,MAAM6pD,GAAE,GAAG,QAAS5kD,EAAEi4E,SAASn5E,KAAKlH,GAAG,GAAG,IAAImgE,EAAEihZ,GAAGh5c,GAAG,GAAGyW,EAAEnW,GAAGy3D,EAAEz3D,EAAEmW,EAAElW,GAAGw3D,EAAEx3D,EAAEkW,EAAEw4B,GAAG8oB,EAAE9oB,CAAC,CAAC,MAAM,IAAI,QAAQ,IAAI,SAAS,IAAI,eAAe,IAAI,aAAax4B,EAAEw4B,GAAG,EAAE,MAAM,QAAQx4B,EAAElW,GAAG,EAAE,MAAM,IAAI,wBAAwB,OAAO3I,EAAEC,MAAM,IAAI,UAAU,GAAG4e,EAAEw4B,GAAG,EAAEr3C,EAAEqgF,SAAS,CAAC,IAAIj4E,EAAE,CAACjF,KAAK,WAAWk9E,SAAS,IAAIrzB,GAAE,EAAGhtD,EAAEqgF,SAASg3E,MAAMh3E,SAAShqD,QAAS,SAAAr2B,GAAC,OAAGgtD,IAAI,eAAehtD,EAAEmD,MAAM6pD,GAAE,GAAG,QAAS5kD,EAAEi4E,SAASn5E,KAAKlH,GAAG,GAAG,IAAImgE,EAAEihZ,GAAGh5c,GAAG,GAAGyW,EAAEnW,GAAGy3D,EAAEz3D,EAAEmW,EAAElW,GAAGw3D,EAAEx3D,EAAEkW,EAAEw4B,GAAG8oB,EAAE9oB,CAAC,CAAC,MAAM,IAAI,wBAAwB,IAAI,6BAA6B,IAAI,sBAAsB,IAAI,sBAAsB,GAAGr3C,EAAEqgF,UAAU,MAAMrgF,EAAEqgF,SAASg3E,MAAM50J,MAAM,MAAMoc,EAAEw4B,GAAG,EAAE,MAAM,QAAQx4B,EAAEw4B,GAAG,EAAE,MAAM,IAAI,eAAe,IAAIjvC,EAAEpI,EAAEC,KAAKmI,EAAEgT,SAAS,OAAOhT,EAAEA,EAAE2oC,MAAM,KAAK,IAAI,MAAM3oC,IAAIyW,EAAEw4B,GAAG,GAAG,GAAI,IAAI+ma,GAAGv/b,EAAE7e,EAAE,EAAEohd,GAAG,SAAAphd,GAAI,IAAIA,EAAE,MAAM,GAAG,IAAI6e,EAAG,SAAA7e,GAAI,GAAG,iBAAiBA,GAAGA,aAAa6E,OAAO,IAAI,OAAOy6c,GAAGt/c,EAAE,CAACmnB,QAAQ,gBAAgB,CAAC,MAAMtI,GAAG,MAAM,IAAI21B,UAAU,uCAAD5vC,OAAwC5E,EAAC,uBAAA4E,OAAsBia,EAAE9R,SAAU,CAAC,GAAG/M,aAAamB,OAAO,CAAC,GAAGnB,EAAEmD,MAAM,CAAC,WAAW,gBAAgBiY,SAASpb,EAAEmD,MAAM,OAAOnD,EAAE,GAAGA,EAAEmD,MAAM,QAAQnD,EAAEmD,KAAK,IAAI,OAAOm8c,GAAGt/c,EAAEyC,MAAM,CAAC0kB,QAAQ,gBAAgB,CAAC,MAAMnnB,GAAG,MAAM,IAAIw0C,UAAU,uDAAD5vC,OAAwD5E,EAAE+M,SAAU,CAAC,MAAM,IAAIynC,UAAU,sFAAsF,CAAC,MAAM,IAAIA,UAAU,mFAAmF,CAAvpB,CAA0pBx0C,GAAG,GAAG,aAAa6e,EAAE1b,KAAK,MAAM,CAACs6c,GAAGz9c,IAAI,GAAG,iBAAiB6e,EAAE1b,KAAK,CAAC,IAAInD,EAAE,GAAG,OAAO6e,EAAEwhE,SAAShqD,QAAS,SAAAxX,GAAI,IAAIzW,EAAEq1c,GAAG5+b,GAAG7e,EAAEkH,KAAKkB,EAAE,GAAIpI,CAAC,CAAC,EAAEo+c,GAAE,WAA0D,OAAAlic,EAAnD,SAAAkic,EAAYp+c,GAAS,IAAP6e,EAACzZ,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAC,KAAImW,EAAA,KAAA6ic,GAAEh7c,KAAKX,MAAMzC,EAAEoD,KAAKs4H,SAAS78G,CAAC,EAAC,EAAAna,IAAA,IAAAkD,IAAA,WAAQ,OAAOxE,KAAKX,MAAMiG,CAAC,EAACf,IAAA,SAAM3H,GAAG,MAAM,IAAI8C,MAAM,sGAAsG,GAAC,CAAA4B,IAAA,IAAAkD,IAAA,WAAQ,OAAOxE,KAAKX,MAAMkG,CAAC,EAAChB,IAAA,SAAM3H,GAAG,MAAM,IAAI8C,MAAM,sGAAsG,GAAC,CAAA4B,IAAA,IAAAkD,IAAA,WAAQ,OAAOxE,KAAKX,MAAM40C,CAAC,EAAC1vC,IAAA,SAAM3H,GAAG,MAAM,IAAI8C,MAAM,sGAAsG,GAAC,CAAA4B,IAAA,iBAAAjC,MAAA,WAAiB,MAAM,iBAAiBW,KAAKs4H,UAAUt4H,KAAKs4H,oBAAoB72H,OAAOzB,KAAKs4H,SAASt4H,KAAKs4H,oBAAoBv6H,QAAQ,aAAaiC,KAAKs4H,SAASv4H,KAAKq4c,GAAGp4c,KAAKs4H,UAAU,EAAE,GAAC,CAAAh3H,IAAA,WAAAjC,MAAA,WAAW,OAAOW,KAAKX,KAAK,GAAC,CAAAiC,IAAA,UAAAjC,MAAA,WAAU,MAAM,CAACW,KAAKX,MAAMiG,EAAEtF,KAAKX,MAAMkG,EAAEvF,KAAKX,MAAM40C,EAAE,GAAC,CAAA3yC,IAAA,WAAAjC,MAAA,WAAW,UAAAmC,OAAUxB,KAAKX,MAAMiG,EAAC,KAAA9D,OAAIxB,KAAKX,MAAMkG,EAAC,KAAA/D,OAAIxB,KAAKX,MAAM40C,EAAC,IAAG,GAAC,CAAA3yC,IAAA,SAAAjC,MAAA,WAAS,MAAM,CAACi5H,SAASt4H,KAAKkovB,iBAAiBC,SAASnovB,KAAK8+pB,WAAWspF,QAAQpovB,KAAKy9O,UAAU4qgB,SAASrovB,KAAKlC,WAAW,GAAC,CAAAwD,IAAA,YAAAjC,MAAA,SAAUzC,GAAG,OAAOo/c,GAAGh8c,KAAKpD,EAAE,GAAC,CAAA0E,IAAA,gBAAAjC,MAAA,SAAczC,GAAG,OAAO2+c,GAAGv7c,KAAKpD,EAAE,GAAC,CAAA0E,IAAA,aAAAjC,MAAA,SAAWzC,GAAG,OAAO69c,GAAGz6c,KAAKpD,EAAE,IAAC,EAAA0E,IAAA,YAAAjC,MAAA,SAAiBzC,GAAG,OAAOohd,GAAGphd,EAAE,GAAC,CAAA0E,IAAA,UAAAjC,MAAA,SAAezC,EAAE6e,GAAG,OAAOo/b,GAAGj+c,EAAE6e,EAAE,GAAC,CAAAna,IAAA,SAAAjC,MAAA,SAAczC,EAAE6e,GAAG,OAAOugc,GAAGp/c,EAAE6e,EAAE,GAAC,CAAAna,IAAA,WAAAjC,MAAA,SAAgBzC,EAAE6e,GAAG,OAAOg/b,GAAG79c,EAAE6e,EAAE,GAAC,CAAAna,IAAA,cAAAjC,MAAA,SAAmBzC,EAAE6e,GAAG,OAAO8/b,GAAG3+c,EAAE6e,EAAE,GAAC,CAAAna,IAAA,MAAAjC,MAAA,WAAiB,OAAO,kBAAQw+c,GAAE71c,WAAA,EAAAhG,WAAO,EAAE,EAAAgG,WAAA,EAAAhG,UAAO,GAAC,CAAAV,IAAA,MAAAjC,MAAA,WAAiB,OAAOi8c,GAAEtzc,WAAA,EAAAhG,UAAM,GAAC,CAAAV,IAAA,UAAAjC,MAAA,WAAqB,OAAOw+c,GAAE71c,WAAA,EAAAhG,UAAM,GAAC,CAAAV,IAAA,WAAAjC,MAAA,WAAsB,OAAO67c,GAAElzc,WAAA,EAAAhG,UAAM,IAAC,CAA/4C,GAA8wDi6c,GAAG,SAAAr/c,GAAI,IAAM6e,EAAE,CAAC,EAAE,OAAO63B,EAAE12C,EAAG,SAAAgtD,GAAI,IAAMmT,EAAEngE,EAAE8jB,iBAAiBkpC,GAAG5kD,EAAE+3D,KAAKthD,EAAEmuC,GAAGmT,EAAE,GAAIthD,CAAC,EAAE6suB,GAAG,SAAA1rvB,GAAC,MAAG,CAAC07H,SAAS17H,EAAEsyO,aAAa3uN,OAAO07b,GAAGr/c,EAAEsjB,OAAO,EAAE09b,GAAG,SAAAhhd,GAAI,IAAM6e,EAAE7e,EAAEoyO,SAAS,OAAOp4L,EAAEn7B,EAAG,SAAA7e,GAAC,OAAG,SAAAA,GAAC,OAAEA,EAAEmD,OAAO4B,OAAO4mvB,QAAQC,WAAW,CAAtC,CAAwC5rvB,GAAGghd,GAAGhhd,EAAEg4c,YAAa,SAAAh4c,GAAC,OAAEA,EAAEmD,OAAO4B,OAAO4mvB,QAAQE,UAAU,CAArC,CAAuC7rvB,GAAG,CAAC0rvB,GAAG1rvB,IAAI,EAAE,EAAE,EAAkN29c,GAAO,SAAC39c,EAAE6e,EAAEzW,GAAC,OAAI,SAACpI,EAAE6e,EAAEmuC,GAAO,IAAI7kD,EAAEO,GAAE,SAAE1I,EAAE6e,IAAO,SAAE7e,EAAE6e,GAA6E,IAAtE,IAAMmuC,EAAE,GAAGmT,EAAE92C,SAASm0a,iBAAiBx9b,EAAEuid,IAAI9kB,WAAWC,cAAc75H,EAAA,WAAuB,IAAM7jU,EAAE2wZ,GAAGiiV,QAAQzyqB,EAAEy9X,aAAax1b,EAAE+nZ,EAAEtxY,EAAG,SAAAA,GAAC,OAAE45Y,GAAGz4Z,EAAE6e,EAAE68G,SAAS,GAAG,GAAGtzH,EAAExG,OAAO,EAAE,CAAC,IAAMid,EAAzb,SAAC7e,EAAE6e,GAAK,IAAMzW,EAAEqrZ,EAAE50Y,EAAG,SAAC7e,EAAE6e,GAAC,OAAAlQ,EAAA,GAAQ3O,EAAK6e,EAAE8E,OAAM,EAAI,CAAC,GAAG,OAAO2wY,GAAGlsZ,EAAG,SAACyW,EAAEzW,GAAC,OAAIw5C,EAAE5hD,EAAEuid,IAAIj/b,MAAMlb,EAAE,EAAE,CAA8Vy2c,CAAG7+c,EAAEoI,GAAGm7Z,GAAGvja,EAAE6e,GAAGmuC,EAAE9lD,KAAKlH,EAAE,CAAC,EAAlI6/C,EAAEsgB,EAAEw9X,aAAW95H,IAAuHntR,EAAEsW,EAAG,SAAAhtD,GAAC,OAAE2ia,GAAG3ia,EAAE,QAAQ,EAAG,CAApP,CAAsP6e,EAAnpC,SAAA7e,GAAC,OAAG,SAAAA,GAAI,IAAM6e,EAAE,IAAIpX,IAAIW,EAAE,SAAApI,GAAI,IAAMoI,EAAEyW,EAAEjX,IAAI5H,GAAG,GAAG6/C,EAAEz3C,GAAG,OAAOA,EAAG,IAAMA,EAAEg2c,GAAG0tS,UAAU9rvB,GAAG,GAAG,OAAO6e,EAAElX,IAAI3H,EAAEoI,GAAGA,CAAE,EAAE,OAAOgxC,EAAEp5C,EAAG,SAACA,EAAE6e,GAAK,IAAMmuC,EAAE5kD,EAAEpI,EAAE07H,UAAUv7D,EAAE/3D,EAAEyW,EAAE68G,UAAU,OAAO0iV,GAAGpoZ,QAAQhJ,EAAEmT,EAAE,EAAG,CAAjM,CAAqM,SAAAngE,GAAC,OAAEg6C,EAAEh6C,EAAG,SAAAA,GAAC,OAAG,SAAAA,GAAC,OAAG,IAAIA,EAAE07H,SAASt5H,QAAQ,IAAI,CAA/B,CAAiCpC,GAAI,SAAAA,GAAI,IAAM6e,EAAE7e,EAAE07H,SAAS3qF,MAAM,iBAAiB,OAAOyuB,EAAE3gD,EAAG,SAAAA,GAAI,IAAMzW,EAAEyW,EAAEu7C,OAAO,OAAAzrD,EAAA,GAAU3O,EAAC,CAAC07H,SAAStzH,GAAE,EAAG,CAAzG,CAA4GpI,GAAG,CAACA,EAAE,EAAE,CAArK,CAAuKA,GAAG,CAAkyB++c,CAAG/+c,GAAM,CAA5Q,EAA+QmI,EAAzZ,SAAAnI,GAAI,OAAO6e,EAAG,SAAA7e,GAAI,IAAM6e,EAAE7e,EAAEuid,IAAIrwO,YAAY,OAAOr6N,MAAMzW,UAAU4W,MAAMpV,KAAKic,EAAE,CAAlE,CAAqE7e,GAAGg6C,EAAEn7B,EAAEmic,IAAI,IAAInic,CAAC,CAAwTsic,CAAGtic,GAAGnW,EAAEN,EAAEo3D,EAAEr3D,EAAG,SAAAnI,GAAI,IAAM6e,EAAE7e,EAAE07H,SAAStzH,EAAEM,EAAE9B,eAAeiY,GAAGnW,EAAEmW,GAAGA,EAAE,OAAAlQ,EAAA,GAAU3O,EAAC,CAAC07H,SAAStzH,GAAE,IAAK4kD,EAAO,CAA3Y,CAA8Y,EAAEhtD,EAAE6e,EAAE,EAAQktuB,GAAG,CAACjqvB,EAAE,mCAAihCkqvB,GAAG,SAAChsvB,EAAE6e,EAAEzW,GAAK,IAAM4kD,EAAE,SAAAhtD,GAAC,OAAEija,GAAGjja,EAAE,mBAAmBuS,IAAK,SAAAvS,GAAC,OAAE6/B,SAAS7/B,EAAE,GAAG,GAAGuyuB,MAAM,EAAE,EAAC,OAAO1uU,GAAG7ja,EAAE,eAAe+nE,KAAM,SAAA5H,GAAC,OAAE0jW,GAAG7ja,EAAE,eAAeuS,IAAK,SAAApK,GAAI,IAAMO,EAAEm7Z,GAAG7ja,EAAE,cAAcy5d,OAAQ,SAAAz5d,GAAC,OAAE45C,EAAE55C,EAAE,OAAO,GAAGmC,EAAE8ga,GAAGjja,EAAE,sBAAsBuyuB,MAAM,OAAO1yrB,EAAEn3C,EAAEskD,EAAEhtD,GAAG,EAAEgtD,EAAEhtD,GAAGq3C,EAAEjvC,EAAE6jvB,YAAY9jvB,GAAGC,EAAE6jvB,YAAY9pvB,GAAGslE,EAAE5oD,EAAEghC,EAAEkQ,EAAEkzW,GAAGjja,EAAE,wBAAwBuyuB,MAAMpyqB,GAAGiQ,EAAEhoE,EAAE6jvB,YAAYl8rB,GAAGL,EAAE,CAAC,EAAE5tD,EAAE+c,EAAE,GAAG,EAAEuxD,EAAEtuE,EAAE,IAAI4tD,EAAE,eAAe5tD,EAAE,MAAM,IAAMyG,EAAE8uC,EAAEowB,EAAE3lE,EAAE,OAAO4tD,EAAE,eAAennD,EAAE,EAAEA,EAAE,KAAK,MAAMmnD,CAAC,EAAG,EAAE,EAAEw8rB,GAAG,SAAAlsvB,GAAI,IAAmgBoI,EAA7fyW,GAAGzW,EAAEuoZ,GAAGiiV,QAAQvptB,SAAS4yC,MAAM,CAACgtM,KAAK,SAACjpQ,EAAE6e,EAAEmuC,GAAK,IAAMmT,EAAEwwV,GAAG+hV,QAAQ,OAAOvquB,EAAEwoZ,GAAG+hV,QAAQ,UAAUnvU,GAAGpjW,EAAE,CAAC17B,QAAQ,SAAS,IAAM/7B,EAAE40Z,GAAGn1Z,EAAE,OAAQ,WAAK,IAAIC,EAAEM,EAAE+ruB,SAA1pnD,SAACz0uB,EAAE6e,GAAK,IAAIw6Y,GAAGr5Z,GAAG,MAAM,IAAI8C,MAAM,0EAA0E,IAAMsF,EAAG,SAAApI,GAAC,OAAG,SAAAA,GAAI,IAAM6e,EAAE7e,EAAEuid,IAAI,IAAI,OAAO,SAACvid,EAAE6e,GAAC,OAAG,MAAM7e,EAAEugD,EAAExf,KAAKliB,EAAE7e,IAAIugD,EAAE6xX,MAAM,CAApC,CAAsCvzZ,EAAEk+B,cAAcl+B,EAAEk+B,cAAc1zB,SAASxK,EAAEqjO,gBAAgByuK,GAAGiiV,QAAQ,CAAC,MAAM5yuB,GAAG,OAAOE,QAAQkwD,IAAI,yBAAyBvxC,GAAG3e,QAAQkwD,IAAI,cAAcpwD,GAAGugD,EAAE6xX,MAAM,CAAC,CAAxO,CAA2Opya,GAAGg2uB,WAAY,kBAAIz9U,GAAGv4Z,EAAE,EAAE,CAAzQ,CAA2QA,GAAGgtD,EAAE5kD,EAAEm6c,IAAIv1Z,EAAEnhD,KAAK,YAAY,WAAWmhD,EAAEze,MAAM1vB,GAAGmuC,EAAEr+B,OAAO,CAAsumDu/Y,CAAG/la,EAAEnI,GAAG,IAAMmC,EAAE,QAAQiG,EAAED,EAAEo6c,IAAIxla,qBAAqB,IAAI30C,OAAO,EAAEA,EAAEihB,SAAS,QAAQ,IAAIlnB,EAAE,MAAM,IAAIW,MAAM,oDAAoD,IAAM+8C,EAAE8wW,GAAGiiV,QAAQzwuB,GAAGk1C,EAAEwI,EAAE0ia,IAAItmZ,KAAK,QAAQ,IAAI5kB,EAAE,MAAM,IAAIv0C,MAAM,uCAAuC,IAAM2kE,EAAEkpV,GAAGiiV,QAAQv7rB,GAAG0Y,EAAElxC,EAAEghC,EAAE4nB,GAAGo6V,GAAG1hW,GAAG3xB,WAAW6lM,EAAErnL,EAAE+C,GAAG,EAAE,GAAI0xW,GAAGthW,EAAEh4D,GAAGs5Z,GAAGr5Z,EAAE+3D,EAAE,IAAU,OAAO,SAAA/3D,GAAC,OAAE,IAAI6B,QAAS,SAAA+iD,GAAInuC,EAAEoqP,KAAK7gQ,EAAG,SAACyW,EAAEzW,GAAC,OAAK,SAACpI,EAAE6e,EAAEzW,GAAK,IAAM4kD,EAAE5kD,EAAE+jvB,cAAcn/rB,IAAI2wZ,GAAG39c,EAAE6e,EAAEktuB,IAAK,SAAA/rvB,GAAI4xa,GAAG5xa,EAAE,CAAT,CAAY6e,IAAvjE,SAAC7e,EAAE6e,GAAK,IAAMzW,EAAEiyZ,GAAGr6Z,EAAE,gCAAgC,GAAG02C,EAAEtuC,EAAG,SAAApI,GAAI2ia,GAAG3ia,EAAE,2BAA2B,GAAI6e,EAAE,CAAC,IAAMA,EAAEw7Y,GAAGr6Z,EAAE,MAAM02C,EAAE73B,EAAG,SAAAA,GAAI,IAAMzW,EAAG,SAAApI,GAAI,IAAM6e,EAAG,WAAK,IAAMA,EAAE8xY,GAAG+hV,QAAQ,OAAO,OAAOpxU,GAAGtha,EAAE6e,GAAGA,CAAC,CAA/C,GAAoD,MAAM,CAACotuB,YAAY,SAAAjsvB,GAAI,OAAOkja,GAAGrkZ,EAAE,cAAc7e,GAAGoI,EAAE07Z,GAAGjlZ,EAAE,eAAegF,WAAW,cAAc4zB,KAAKrvC,GAAG,IAAI,IAAIA,CAAC,EAAEynJ,QAAQ,WAAD,OAAKgyQ,GAAGhjZ,EAAE,EAAC,CAAzM,CAA4M7e,GAAGgtD,EAAG,SAAChtD,EAAE6e,GAAK,IAAMzW,EAAE66Z,GAAGjja,EAAE,qBAAqBuyuB,MAAM,QAAQ,OAAO1ztB,EAAEotuB,YAAY7jvB,EAAE,CAA/E,CAAkFpI,EAAEoI,GAAG+3D,EAAE6rrB,GAAGntuB,EAAEmuC,EAAE5kD,GAAGmquB,MAAM,CAAC,IAAG,SAACvyuB,GAAI2ia,GAAG3ia,EAAE,mBAAmB2ia,GAAG3ia,EAAE,wBAAwB2ia,GAAG3ia,EAAE,sBAAsByja,GAAGzja,EAAE,eAAeyja,GAAGzja,EAAE,eAAeuyZ,GAAGiR,GAAGxja,GAAI,SAAC6e,EAAEzW,IAAMkoZ,EAAEloZ,EAAE,WAAW,iBAAiBA,GAAG,SAASyW,EAAEu7C,QAAQ,YAAYv7C,EAAEu7C,QAAQqpW,GAAGzja,EAAEoI,EAAE,EAAI,EAAvO,CAAyOyW,GAAGzW,EAAEynJ,UAAU0zQ,GAAG1kZ,EAAEshD,EAAE,GAAI,IAAM/3D,EAAEiyZ,GAAGr6Z,EAAE,SAAS02C,EAAEtuC,EAAG,SAAApI,GAAI,IAAM6e,EAAEw7Y,GAAGr6Z,EAAE,MAAM6ja,GAAG7ja,EAAE,cAAc85uB,UAAUv5rB,EAAEoI,KAAK9pC,EAAE,IAAIkgD,KAAM,SAAAlgD,GAAIqkZ,GAAGlja,EAAE,aAAa8ja,GAAGjlZ,EAAE,cAAc,GAAIglZ,GAAG7ja,EAAE,iBAAiB85uB,UAAUv5rB,EAAEoI,KAAK9pC,EAAEA,EAAEjd,OAAO,IAAIm9D,KAAM,SAAAlgD,GAAIqkZ,GAAGlja,EAAE,gBAAgB8ja,GAAGjlZ,EAAE,iBAAiB,EAAG,EAAG,CAAC8jZ,GAAG3ia,EAAE,oBAAoB,CAAklCkhd,CAAGric,EAAEmuC,EAAE,CAAzE,CAA4EnuC,EAAEzW,EAAE,CAAC+jvB,YAAYz8rB,EAAE1vD,KAAKuka,GAAGn8Z,EAAE,EAAG4kD,EAAE,EAAG,GAAigCs0Z,GAAGzpD,KAAKu0V,GAAG,SAAApsvB,GAAI,IAAI,IAAM6e,EAAE7e,IAAIoI,EAAE,MAAMyW,GAAGA,EAAEjd,OAAO,EAAEwia,GAAGvlZ,GAAG,GAAG,OAAOq+Y,GAAGz6Z,MAAM2F,EAAE,CAAC,MAAMpI,GAAG,OAAOE,QAAQC,MAAM,yCAAyCH,GAAGk9Z,GAAG/8Z,MAAM,+BAA+B,CAAC,EAAEksvB,GAAG,SAAArsvB,GAAC,OAAEA,EAAE6zuB,KAAKl2U,GAAI,SAAA39Z,GAAC,MAAG,CAACkQ,SAASqsZ,GAAGv8Z,EAAE,IAAImwK,OAAO2tP,GAAG,CAAC,GAAG,EAAG,EAACujD,GAAG,SAACrhd,EAAE6e,EAAEzW,EAAE4kD,EAAEmT,GAAC,OAAGisrB,GAAI,WAAK,IAAMjkvB,EAAE,CAAChF,KAAK6pD,EAAE1a,MAAMlqC,EAAEosuB,4BAA4Br0qB,EAAEq0qB,4BAA4BuC,gBAAgB52qB,EAAE42qB,gBAAgBuV,aAAa,CAACtV,gBAAgB72qB,EAAE62qB,kBAAkB,OAAO,SAACh3uB,EAAE6e,EAAEzW,EAAE4kD,GAAKw6X,GAAGp/a,EAAE4kD,EAAEs/rB,cAAc,IAAMnsrB,EAAEokW,GAAGn8Z,GAAGD,EAAG,SAACnI,EAAE6e,GAAK,IAAsiBshD,EAAhiB/3D,EAAEyW,EAAEyzB,MAAM0a,EAAG,SAAChtD,EAAE6e,GAAK,IAA2P1W,EAAEO,EAAvPN,EAAEyW,EAAE+qF,QAAQwpoB,YAAYpmrB,EAAEkqX,GAAG,EAAE/ua,EAAEC,EAAEgsO,GAAG6lN,GAAGvxb,GAAGN,EAAEgwa,GAAI,SAACp4a,EAAE6e,GAAK,IAAMzW,EAAG,SAACpI,EAAE6e,EAAEzW,GAAC,OAAGyW,EAAE8xY,GAAGiiV,QAAQ5yuB,EAAEu4uB,YAAY1E,KAAM,iBAAI,CAAC7zuB,EAAE,EAAG,SAAA6e,GAAI,IAAMmuC,EAAEhtD,EAAEmD,SAASkxa,GAAGl0W,EAAE,CAAC20W,GAAGj2Z,EAAE0jc,IAAIv1Z,IAAI,OAAOA,GAAG5kD,GAAG+3D,EAAEj5D,KAAK4ta,GAAGj2Z,EAAE0jc,KAAI,IAAKpiZ,CAAC,EAAG,CAApI,CAAsIthD,EAAE1W,EAAEO,GAAG1I,EAAEy4uB,WAAWrwuB,EAAE,EAAG2nD,MAAMoQ,EAAE/3D,EAAE2nD,EAAEo1W,GAAW,MAAM,CAAConV,SAAS,CAACvsvB,EAAEmD,OAAO8jQ,GAAGyye,KAAK1srB,EAAE+C,GAAGixc,MAAM,CAAC7gc,GAAG,CAAxT,CAA2TthD,EAAE7e,GAAG,OAAOq4C,EAAE,CAAC2U,EAAEg0c,MAAMlvF,GAAGjzZ,GAAG2pZ,GAAG3pZ,GAAGmuC,EAAEu/rB,UAAUpsrB,EAAE/3D,EAAE,GAAGyW,EAAE21tB,4BAA4B,CAACvuU,GAAGU,GAAGf,GAAGzlW,KAAKioW,GAAGvpZ,GAAG2zZ,GAAG3zZ,EAAE7e,GAAG,CAAC+1b,IAAI,CAACpwB,IAAI,CAAClB,IAAI,CAAC/1H,IAAIg6H,GAAG7pZ,GAAG,CAACinZ,GAAG6B,GAAGtC,GAAGgB,IAAI,CAACh+T,IAAI,CAACi9T,IAAI,CAACI,IAAI,CAACj7M,IAAIo/M,GAAGhrZ,GAAG,CAAC4nZ,IAAI,CAAClB,IAAI,CAACqM,IAAItJ,GAAGzpZ,GAAG,CAACgnZ,IAAI,CAACd,KAAW,CAA/iB,CAAkjBlmZ,EAAEmuC,GAAG,OAAOuqX,GAAGv3a,EAAEmgE,EAAEh4D,EAAE,CAAznB,CAA4nBnI,EAAEshd,GAAGzic,EAAE1W,EAAE,EAAG,EAA4FqkvB,GAAG,SAACxsvB,EAAE6e,EAAEzW,EAAE4kD,EAAEmT,GAAC,OAAGkhZ,GAAGrhd,EAAE6e,EAAEmuC,EAAE5kD,EAAE+3D,GAAG0zqB,KAAKp2U,GAAI,SAAAz9Z,GAAC,OAAEiK,QAAQC,QAAQ,CAACgG,SAASqsZ,GAAGv8Z,EAAE,IAAImwK,OAAO2tP,GAAG,CAAC,IAAI,EAAE,EAACyjD,GAAG,SAAAvhd,GAAC,MAAE,OAAOA,GAAG,OAAOA,CAAC,EAACysvB,GAAG,SAACzsvB,EAAE6e,GAAK,IAAMzW,EAAG,SAAApI,GAAI,IAAM6e,EAAE8xY,GAAG+hV,QAAQ,OAAO,OAAO,SAAC1yuB,EAAE6e,GAAK7e,EAAEuid,IAAIx0a,YAAYlvB,CAAC,CAA3B,CAA8BA,EAAE7e,GAAGuka,GAAG1lZ,EAAE,CAA7E,CAAgF7e,GAAGgtD,EAAG,SAAChtD,EAAE6e,GAAK,IAAMzW,EAAG,SAACpI,EAAE6e,GAAK,IAAkEmuC,EAA5D5kD,EAAEpI,EAAE6iB,QAAQ,OAAOmqC,EAAEnuC,IAAI,EAAE,GAAG,IAAIhH,MAAMm1C,EAAE,GAAGkC,KAAK,MAAkBiR,EAAEszV,EAAErrZ,EAAG,SAACpI,EAAE6e,GAAC,OAAI,SAAA7e,GAAC,OAAG,IAAI,UAAUoC,QAAQpC,EAAE,CAA5B,CAA8B6e,IAAI,SAASA,EAAE7e,EAAE0svB,WAAW,KAAK1svB,EAAEkD,KAAKlD,EAAEkD,IAAItB,SAASwG,EAAExG,OAAO,GAAI,SAAC5B,EAAE6e,GAAC,OAAGA,EAAE7e,EAAE4B,QAAQid,GAAG,GAAG0ic,GAAGvhd,EAAE6e,GAAG,CAAjC,CAAmCzW,EAAEpI,EAAEkD,IAAItB,OAAO,GAAG,CAAC8qvB,WAAU,EAAGxpvB,IAAIlD,EAAEkD,IAAI,QAAQ,CAACwpvB,WAAU,EAAGxpvB,IAAIlD,EAAEkD,IAAI,KAAK,CAACwpvB,UAAUnrS,GAAG1ic,GAAG3b,IAAIlD,EAAEkD,IAAI2b,EAAE,EAAE,CAAC6tuB,WAAU,EAAGxpvB,IAAI,KAAK,OAAOi9D,EAAEj9D,GAAG,CAAvX,CAA0XlD,EAAE6e,GAAGgE,QAAQ,qBAAqB,IAAIkuB,MAAM,gBAAgBic,EAAEwS,EAAEp3D,EAAG,SAAApI,GAAC,OAAEA,EAAE+wC,MAAM,WAAWme,KAAK,SAAS,GAAG,OAAO,IAAIlC,EAAEprD,OAAOorD,EAAE,GAAGwS,EAAExS,EAAG,SAAAhtD,GAAC,MAAE,MAAMA,EAAE,MAAM,GAAGkvD,KAAK,GAAG,CAA/iB,CAAkjB9mD,EAAEyW,GAAGshD,EAAEikW,GAAGp3W,GAAG,OAAOuvW,GAAGp8V,EAAE,GAAG,EAAEwsrB,GAAG,SAAA3svB,GAAC,OAAE,SAAC6e,EAAEzW,GAAC,OAAI,SAACpI,EAAE6e,GAAK,IAAMzW,EAAEutb,GAAG31b,GAAGy3uB,SAAS,wCAAwC,MAAM,CAACvnuB,SAAS9H,EAAE2vB,KAAKn2B,OAAO,EAAE6qvB,GAAGrkvB,EAAE2vB,KAAKlZ,GAAGg/Y,KAAK1tP,OAAO2tP,GAAG,CAAC,GAAG,CAAvI,CAA0Ij/Y,EAAE7e,EAAE,GAAC4svB,GAAG,SAAA5svB,GAAC,OAAE,SAAC6e,EAAEzW,GAAK,IAAM4kD,EAAE,SAACnuC,EAAEmuC,GAAK,IAAMmT,EAAEwwV,GAAG+hV,QAAQ,OAAO3iuB,GAAGowD,EAAEthD,GAAG2oa,GAAGrnX,EAAEngE,GAAG,IAAMmI,EAAE0xZ,GAAG15V,GAAG,MAAM,CAACjwD,SAASqsZ,GAAGp0Z,EAAE6kD,GAAGmjH,OAAO/nK,EAAE+nK,OAAO,EAAEhwG,EAAEzQ,EAAEtnD,GAAG,OAAO40Z,GAAG50Z,EAAE8H,SAASiwD,EAAEnT,EAAEmT,EAAEnT,EAAE,CAAC,EAACqhI,GAAG,SAACruL,EAAE6e,EAAEzW,GAAC,OAAG,SAAC4kD,EAAEmT,GAAK,IAAMh4D,EAAE21b,GAAG9wY,GAAGyqrB,SAAS,qCAAqCp6oB,UAAU30F,EAAE6vZ,GAAG15Y,GAAG1c,EAAEg+D,EAAEgwG,OAAO,OAAO8/Q,GAAG9tb,GAAp0C,SAACnC,EAAE6e,GAAK,IAAMzW,EAAEgkvB,GAAI,kBAAK,SAACpsvB,EAAE6e,GAAC,OAAI,SAAC7e,EAAE6e,GAAC,OAAG04Z,GAAGv3a,EAAE6e,EAAE,CAAC6vR,GAAG23H,IAAI,CAAtB,CAAwBrma,EAAEuka,GAAG1lZ,GAAG,CAAxC,CAA0C7e,EAAE6e,EAAE,GAAG,OAAOwtuB,GAAGjkvB,EAAE,CAAivCykvB,CAAGnkvB,EAAEP,IAAInI,EAAEmI,GAAI,SAACnI,EAAE6e,EAAEzW,EAAE4kD,EAAEmT,GAAK,IAAMh4D,EAAEk5c,GAAGrhd,EAAE6e,EAAEzW,EAAE4kD,EAAEmT,GAAG,OAAOksrB,GAAGlkvB,EAAE,CAAhD,CAAmDO,EAAEP,EAAEkha,GAAGlna,GAAGgna,GAAGhna,GAAGiG,GAAG,CAAC,EAACmxb,GAAG,SAACv5b,EAAE6e,EAAEzW,GAAC,OAAG,SAAC4kD,EAAEmT,GAAK,IAAMh4D,EAAEg4D,EAAEgwG,OAAO,OAAO,SAAAnwK,GAAC,MAAG,CAACg7e,OAAO,SAACn8d,EAAEzW,GAAC,OAAGpI,EAAE8svB,SAASjZ,KAAM,kBAAK3zuB,QAAQC,MAAM0e,GAAG5U,QAAQC,QAAQ,CAACgG,SAAS2tZ,KAAK1tP,OAAO2tP,GAAG,CAAC,IAAI,EAAG11Z,EAAE,EAAC,CAA9G,CAAiHD,GAAG6ye,OAAO,qEAAsE,SAAAhub,GAAI,IAAMmT,EAAEkpW,GAAGlha,GAAGO,EAAEyga,GAAGhha,GAAGhG,EAAE8tb,GAAG9nb,GAAG03C,EAAE04W,GAAGv4Z,GAAG,OAAOmC,EAAG,SAACnC,EAAE6e,EAAEzW,EAAE4kD,GAAK,IAAMmT,EAAE8mM,GAAG2ye,KAAKzxuB,EAAE0W,EAAEkuuB,kBAAkBlzV,GAAGzxZ,IAAImquB,MAAM,IAAI,OAAO77rB,EAAEvuC,EAAE05Z,IAAI2qV,GAAGxsvB,EAAEoI,EAAE+3D,GAAE,EAAGnT,EAAE,CAAhG,CAAmGnN,EAAEhhC,EAAEmuC,EAAE5kD,GAAI,SAACpI,EAAE6e,EAAEzW,EAAE4kD,EAAEmT,GAAC,OAAGqsrB,GAAGxsvB,EAAE6e,EAAEmuC,EAAE5kD,EAAE+3D,EAAE,CAA1B,CAA4BtgB,EAAEmN,EAAEmT,EAAEz3D,EAAEN,EAAE,EAAG,CAAC,EAACyrc,GAAG,SAAC7zc,EAAE6e,GAAC,OAAG,SAACzW,EAAE4kD,GAAuF,OAAzgI,SAAChtD,EAAE6e,EAAEzW,EAAE4kD,GAAK,IAAMmT,EAAEngE,EAAEovX,KAAK,OAAOhnX,EAAEksuB,cAAcn0qB,EAAEthD,EAAEmuC,GAAG9nD,KAAM,SAAAlF,GAAI,GAAG,OAAOoI,EAAEpI,IAAI,IAAIoI,EAAExG,OAAO,MAAM,CAACsO,SAASqsZ,GAAG,GAAG,IAAIpsP,OAAO2tP,GAAG,CAAC,IAAK,IAA2vB11Z,EAArvBA,OAAO,IAAI4kD,EAAE2prB,UAAU15S,GAAGjwY,EAAEggsB,UAAUC,UAAUjgsB,EAAE2prB,UAAU,OAAO,SAAC32uB,EAAE6e,EAAEzW,EAAE4kD,GAAK,IAAMmT,EAAE,SAAAngE,GAAC,MAAG,CAACkQ,SAASlQ,EAAEmwK,OAAO2tP,GAAG,CAAC,GAAG,EAAE31Z,EAAE6kD,EAAE4prB,aAAa/3tB,EAAE,QAAQ,OAAOqtuB,GAAGlsvB,EAAHksvB,CAAM/jvB,GAAGjD,KAAM,SAAAlF,GAAI,IAAM6e,EAAEulZ,GAAGpka,GAAGgtD,EAAE,SAAAhtD,GAAC,OAAEmgE,EAAEo8V,GAAG19Y,EAAE7e,GAAG,EAACmI,EAAEwoZ,GAAG+hV,QAAQ,OAAO3iuB,GAAG5H,EAAE0W,GAAG,IAAMnW,EAAEynZ,EAAE4I,GAAG,WAAW5wZ,GAAI,SAAAnI,GAAC,OAAEija,GAAGjja,EAAE,OAAOy5d,OAAQ,SAAAz5d,GAAC,OAAEswZ,EAAEtwZ,EAAE,UAAUswZ,EAAEtwZ,EAAE,QAAQ,EAAE,GAAGmC,EAAE42Z,GAAG,sBAAsB5wZ,GAAG,GAAG,IAAIO,EAAE9G,QAAQ,IAAIO,EAAEP,OAAO,OAAOorD,EAAE,IAAI,GAAG5kD,EAAE,OAAOsuC,EAAEhuC,EAAG,SAAA1I,GAAC,OAAE2ia,GAAG3ia,EAAE,KAAK,GAAI,SAAAA,GAAC,OAAEiK,QAAQ6E,IAAI0wD,EAAEx/D,EAAG,SAAAA,GAAI,IAAM6e,EAAE7e,EAAEuid,IAAI,OAAOl+B,GAAGxla,GAAG3Z,KAAM,SAAAkD,GAAC,OAAEA,EAAE2yuB,SAAS71uB,KAAM,SAAA8nD,GAAC,OAAG,SAAC5kD,EAAE4kD,GAAK,IAAMmT,EAAEmwV,EAAEzxY,EAAEi+B,IAAI,SAASj+B,EAAEi+B,IAAIjkB,IAAIqpjB,gBAAgBl1hB,GAAG7kD,EAAEo6Z,GAAG,SAAS75Z,EAAE+sb,GAAG9+U,KAAKxuG,EAAEC,EAAE+3D,GAAG,OAAOg2X,GAAGztb,EAAE1I,EAAE,CAA3G,CAA8GoI,EAAE4kD,EAAE,EAAE,EAAE,GAAI,CAA3M,CAA6MtkD,GAAGxD,KAAK8nD,GAAItW,EAAEhuC,EAAEm5Z,IAAInrX,EAAEv0C,EAAE0/Z,IAAI,IAAM7ha,EAAE65Z,GAAG1xZ,GAAG,OAAOg4D,EAAEi9V,GAAGp9Z,EAAE,GAAG,kCAAmC,EAAG,CAAjpB,CAAopB6e,EAAE7e,EAAEgtD,EAAEq0rB,iBAAiBj5uB,EAAQ,EAAI,SAAApI,GAAC,OAAGE,QAAQC,MAAM,gCAAgC,CAAC+P,SAASmtZ,GAAG,gCAAgCltP,OAAO2tP,GAAG,CAAC,GAAG,EAAG,CAAshGovV,CAAjF5vT,GAAGl1b,GAAGqvuB,SAAS,4CAA8C5nT,GAAG7iY,EAAEmjH,QAAsBnwK,EAAE6e,EAAE,CAAC,EAAC+6a,GAAG,SAAC55b,EAAE6e,GAAC,OAAG6+Y,EAAE,EAAC/vN,GAAG,SAAA3tM,GAAC,OAAE,SAAC6e,EAAEzW,GAAK,IAAM4kD,EAAE4wW,GAAGx1Z,EAAE+nK,OAAO2tP,GAAG99Z,IAAI,MAAM,CAACkQ,SAAS9H,EAAE8H,SAASigK,OAAOnjH,EAAE,CAAC,EAACsnZ,GAAG,SAACt0c,EAAE6e,GAAC,OAAI,SAAA7e,GAAI,IAAM6e,EAAE,SAAA7e,GAAC,MAAG,CAACkQ,SAASqsZ,GAAG,CAACv8Z,GAAG,IAAImwK,OAAO2tP,GAAG,CAAC,GAAG,EAAE,OAAO,SAAA99Z,GAAC,OAAG,SAAAA,GAAI,IAAM6e,EAAEw7Y,GAAGr6Z,EAAE,OAAO,OAAOiK,QAAQ6E,IAAI0wD,EAAE3gD,EAAEwma,KAAKngb,KAAM,kBAAIlF,CAAC,EAAE,CAAjE,CAAoEA,EAAE,CAA1E,CAA4EA,GAAGkF,KAAK2Z,GAAG1R,MAAO,kBAAI0R,EAAE7e,EAAE,EAAE,CAApK,CAAuK89b,GAAG99b,GAAGy3uB,SAAS,qCAAqCp6oB,UAAU,EAACw6T,KAAK,IAAI4hC,GAAG,SAACz5b,EAAE6e,EAAEzW,EAAE4kD,GAAC,OAAG,SAACmT,EAAEh4D,GAAK,IAAMO,EAAEP,EAAE+H,SAAS,OAAO,IAAIjG,QAAS,SAACk2D,EAAEh4D,GAAK,IAAMhG,EAAEnC,EAAEoI,GAAGjG,EAAEmjB,OAAOkjS,MAAMzgP,KAAM,SAAA/nE,GAAI,IAAMoI,EAAEpI,EAAEq9F,UAAUx+E,EAAEzW,GAAG2iD,GAAG3iD,EAAEszZ,MAAM,IAAiWj0V,EAA3Vt/D,GAAGs/D,EAAE88V,GAAGn8Z,IAAIhG,QAAQ,UAAU,GAAGqlE,EAAErlE,QAAQ,aAAa,GAAGqlE,EAAErlE,QAAQ,6CAA6C,GAAGqlE,EAAErlE,QAAQ,8BAA8B,GAAGqlE,EAAErlE,QAAQ,qBAAqB,EAAED,EAAG,SAACnC,EAAE6e,GAAK,IAAMzW,EAAEiyZ,GAAGx7Y,EAAE,SAAS,OAAOqxY,EAAE9nZ,EAAG,SAAApI,GAAC,OAAEija,GAAGjja,EAAE,MAAMy5d,OAAQ,SAAAz5d,GAAC,OAAEswZ,EAAEtwZ,EAAE,sBAAsB,EAAE,EAAE,CAAjG,CAAoG,EAAEoI,GAAGy3C,EAAEg6W,GAAGzxZ,GAAGivC,EAAE2V,EAAE+/rB,kBAAkBltsB,GAAGuyrB,SAAejyqB,EAAE,CAACjwD,SAASxH,EAAEynK,OAAO2tP,GAAG,CAAC4jV,OAAOv5uB,EAAEw5uB,aAAax/uB,EAAEu+uB,WAAWrpsB,EAAEy1sB,SAAS1kvB,KAAK,GAAIjG,EAAEwkD,KAAK,EAAG,CAAC,EAAOmzY,GAAGthC,GAAG,CAAC,CAACgpC,YAAY,CAAC,KAAK,UAAU,aAAa,UAAU,CAAC2rT,UAAU,CAAC,KAAK,cAAc,OAAO,aAAa,YAAYj5S,GAAG,CAAC1S,YAAY1H,GAAG0H,YAAY2rT,UAAUrzT,GAAGqzT,UAAUzX,KAAK,SAAC11uB,EAAE6e,EAAEzW,GAAC,OAAGpI,EAAE6zuB,KAAKh1tB,EAAEzW,EAAE,GAAEi/D,GAAG,SAACrnE,EAAE6e,EAAEzW,GAAC,OAAGyW,EAAEzc,QAAQpC,EAAEoI,EAAE,EAACoX,GAAG,SAACxf,EAAE6e,EAAEzW,EAAE4kD,EAAEmT,EAAEh4D,EAAEO,GAAC,OAAI,IAAI1I,IAAI,IAAI6e,EAAE0hC,EAAE6xX,OAAO7xX,EAAExf,KAAK,CAACtpB,MAAMzX,EAAE0X,IAAImH,EAAEuuuB,MAAMhlvB,EAAE65E,MAAMj1B,EAAEqgsB,MAAMltrB,EAAEmtrB,WAAWnlvB,EAAEggS,MAAMz/R,GAAG,EAAC0oa,GAAG,SAACpxa,EAAE6e,EAAEzW,GAAC,OAAGpI,EAAEuC,UAAUsc,EAAEzW,EAAE,EAACysc,GAAG,SAAC70c,EAAE6e,GAAK,IAAI,IAAIA,EAAE,OAAOA,EAAE,IAAIzW,EAAE,EAAQ4kD,EAAEhtD,EAAE4B,OAAO,EAAE,CAAC,IAAMu+D,EAAEngE,EAAEoC,QAAQ,IAAIyc,GAAG1W,EAAEnI,EAAEoC,QAAQ,IAAIyc,GAAG,GAAG1W,EAAEg4D,IAAI,IAAIA,GAAGthD,EAAEshD,EAAE,IAAI/3D,IAAI+3D,EAAEh4D,GAAGg4D,EAAE,KAAK,IAAIh4D,IAAI0W,EAAE1W,EAAE,IAAIC,GAAGyW,EAAEmuC,IAAI,IAAI7kD,EAAE,OAAO,CAAC,OAAOC,EAAE,GAAG,OAAOyW,CAAC,EAAE+1b,GAAG,SAAC50c,EAAE6e,EAAEzW,EAAE4kD,EAAEmT,GAAK,IAAMh4D,EAAEipa,GAAGpxa,EAAEoI,EAAE4kD,GAAGtkD,EAAG,SAAC1I,EAAE6e,GAAK,IAAMzW,EAAEi/D,GAAG,cAAcrnE,EAAE6e,GAAGmuC,EAAEqa,GAAG,YAAYrnE,EAAEoI,GAAG,OAAOA,GAAG,GAAGA,EAAE4kD,EAAEzM,EAAEoI,KAAK3oD,EAAEuC,UAAU6F,EAAE4kD,IAAIzM,EAAE6xX,MAAM,CAA9G,CAAiHpya,EAAEoI,GAAG,OAAOoX,GAAGpX,EAAE4kD,EAAE7kD,EAAE,gCAAgC,IAAIg4D,EAAEz3D,EAAE,EAAE+rc,GAAG,SAACz0c,EAAE6e,EAAEzW,EAAE4kD,EAAEmT,GAAK,IAAMh4D,EAAEipa,GAAGpxa,EAAEoI,EAAE4kD,GAAG,OAAOxtC,GAAGpX,EAAE4kD,EAAE7kD,EAAE,6BAA6B,IAAIg4D,EAAE5f,EAAE6xX,OAAO,EAAEsiC,GAAG,SAAC10c,EAAE6e,GAAC,OAAI,SAAC7e,EAAE6e,GAAK,IAAMzW,EAAEi/D,GAAG,WAAWrnE,EAAE6e,GAAGmuC,EAAE6nZ,GAAG70c,EAAEoI,GAAG+3D,EAAEkH,GAAG,UAAUrnE,EAAE6e,GAAG1W,EAAE0sc,GAAG70c,EAAEmgE,GAAGz3D,EAAE2+D,GAAG,gBAAgBrnE,EAAE6e,GAAG1c,EAAE0yc,GAAG70c,EAAE0I,GAAGm3C,GAAG,IAAIn3C,IAAIA,EAAEN,GAAGjG,EAAE6qD,GAAGtkD,EAAEy3D,GAAGh+D,EAAEgG,GAAGkvC,EAAEg9L,EAAEogO,GAAGz0c,EAAE6e,EAAEshD,EAAEh4D,EAAE03C,GAAG4nB,EAAE4sK,EAAEugO,GAAG50c,EAAE6e,EAAEzW,EAAE4kD,EAAEnN,GAAG,OAAO,IAAIz3C,IAAI,IAAI+3D,EAAE5f,EAAE6xX,QAAQ,IAAIhqa,EAAEivC,KAAK,IAAI8oB,GAAGA,EAAE/3D,GAAGD,EAAE6kD,EAAEya,IAAIr/D,EAAE+3D,GAAGnT,EAAE7kD,EAAEkvC,IAAIjvC,EAAE+3D,EAAEsH,IAAItH,EAAE/3D,EAAEivC,IAAIkJ,EAAE6xX,MAAM,CAArR,CAAwRpya,EAAE6e,EAAE,EAA69Bm2b,GAAG,SAAAh1c,GAAC,OAAEk0c,GAAGwhS,KAAK11uB,EAAG,SAACA,EAAE6e,EAAEzW,GAAC,OAAGpI,CAAC,EAAG,SAACA,EAAE6e,EAAEzW,EAAE4kD,EAAEmT,GAAC,OAAGngE,CAAC,EAAE,EAACm1c,GAAG,SAAAn1c,GAAC,OAAEk0c,GAAGwhS,KAAK11uB,EAAG,SAACA,EAAE6e,EAAEzW,GAAC,OAAGA,CAAC,EAAG,SAACpI,EAAE6e,EAAEzW,EAAE4kD,EAAEmT,GAAC,OAAGnT,CAAC,EAAE,EAAC6vJ,GAAG,SAAA78M,GAAC,OAAEk0c,GAAGwhS,KAAK11uB,EAAG,SAACA,EAAE6e,EAAEzW,GAAC,OAAG80Z,GAAG/8Z,MAAM0e,EAAE,EAAG,SAAC7e,EAAE6e,EAAEzW,EAAE4kD,EAAEmT,GAAC,OAAG+8V,GAAGz6Z,MAAM2F,EAAE,EAAE,EAAC+ha,GAAG,SAACnqa,EAAE6e,GAAK,IAAMzW,EAAE,IAAIujE,OAAO,UAAU9sD,EAAE,kBAAkB44B,KAAKz3C,GAAG,GAAG,OAAO6/B,SAASz3B,EAAE,GAAG,EAAE2tc,GAAG,SAAC/1c,EAAE6e,EAAEzW,EAAE4kD,EAAEmT,GAAK,IAAMh4D,EAAE,GAAGO,EAAE,GAAOvG,GAAE,EAAS09C,EAAE7F,EAAEh6C,EAAG,SAACA,EAAE6/C,GAAK,IAAMxI,EAAEqrX,GAAG1ia,EAAE,iBAAiB,OAAO2ia,GAAG3ia,EAAE,kBAAkB2ia,GAAG3ia,EAAE,iBAAiB2ia,GAAG3ia,EAAE,oBAAoBmgE,GAAGwiW,GAAG3ia,EAAE,kBAAkB,gBAAgBq3C,GAAGl1C,GAAE,EAAGyga,GAAG5ia,EAAE,MAAMoI,EAAE,mCAAmC,IAAI45E,EAAEnjE,EAAG,SAAC7e,EAAE6e,GAAC,OAAGmuC,EAAEhtD,EAAE6e,EAAEw4B,EAAEwI,EAAE,GAAGg0rB,KAAM,kBAAK3zuB,QAAQkwD,IAAI,0CAA0CpwD,EAAEuid,KAAKpgd,GAAE,EAAGyga,GAAG5ia,EAAE,MAAMoI,EAAE,mCAAmC,EAAE,EAAI,SAAAyW,GAAC,OAAEg+L,GAAGh+L,GAAGg1tB,KAAM,SAAAh1tB,GAAC,OAAG1c,GAAE,EAAGjC,QAAQC,MAAM,gCAAgCyia,GAAG5ia,EAAE,MAAMoI,EAAEyW,IAAI,EAAE,EAAI,SAAAzW,GAAI,IAAI4kD,EAAE,OAAO7kD,EAAEjB,KAAKlH,GAAG0I,EAAExB,MAAM8lD,EAAEnuC,EAAEq1b,GAAGwhS,KAAK1orB,EAAG,SAAChtD,EAAE6e,EAAEzW,GAAC,OAAGm4C,EAAE6xX,MAAM,EAAG,SAACpya,EAAE6e,EAAEzW,EAAE4kD,EAAEmT,GAAC,OAAGA,CAAC,KAAKA,GAAGwiW,GAAG3ia,EAAE,kBAAkB,CAACoI,EAAE,EAAG,EAAE,GAAI,MAAM,CAACmlvB,MAAM1tsB,EAAE2tsB,eAAerlvB,EAAEslvB,WAAW/kvB,EAAEglvB,YAAYvrvB,EAAE,EAAyzCooa,GAAG,SAAAvqa,GAAC,OAAEq6Z,GAAGr6Z,EAAE,mBAAmB,EAAC61c,GAAG,SAAA71c,GAAI,IAAM6e,EAAE7e,EAAEq5J,aAAajxJ,EAAEiwZ,GAAG,CAAC7oQ,OAAOopQ,GAAG,CAAC,WAAW,eAAeshD,WAAWthD,GAAG,CAAC,WAAW,aAAa,cAAc,MAAM,CAACtzY,OAAOld,EAAE0nB,SAAS69tB,WAAW,SAAC3tvB,EAAEgtD,EAAEmT,EAAEh4D,GAAK,IAAMO,EAAG,SAAA1I,GAAkD,OAA59G,SAAAA,GAA06B,IAAt6B,IAAI6e,EAAE,GAASzW,EAAE,WAAD,OAAKpI,EAAE4B,MAAM,EAACorD,EAAE,SAAAhtD,GAAI,IAAMoI,EAAG,SAAApI,GAAI,IAAM6e,EAAE7e,EAAEotvB,MAAMhlvB,EAAEpI,EAAEiiF,MAAMj1B,EAAEhtD,EAAEstvB,WAAWntrB,EAAEngE,EAAEmoS,MAAM,OAAO,SAAAnoS,GAAI,IAAM6e,EAAE,gBAAgB44B,KAAKz3C,GAAG,OAAO,OAAO6e,EAAE0hC,EAAExf,KAAKliB,EAAE,IAAI0hC,EAAE6xX,MAAM,CAAzE,CAA4EvzZ,GAAGtM,IAAK,SAAApK,GAAI,IAAMO,EAAE1I,EAAEqtvB,MAAMllvB,EAAE,OAAO,SAAAnI,GAAC,OAAEA,EAAEoC,QAAQ,cAAc,EAAE86Z,GAAGz6Z,MAAM,aAAazC,EAAEoC,QAAQ,eAAe,EAAE86Z,GAAGz6Z,MAAM,cAAcy6Z,GAAG/8Z,MAAM,iCAAiC,CAA/I,CAAiJ0e,GAAGg1tB,KAAM,SAAA7zuB,GAAC,OAAEk0c,GAAG1S,YAAY94b,EAAE1I,EAAEgtD,EAAEmT,EAAE,EAAG,SAAAngE,GAAC,OAAG,SAACA,EAAE6e,GAAK,IAAMzW,EAAEpI,EAAE+D,MAAM8a,GAAG,OAAOzW,GAAGA,EAAE,IAAIA,EAAE,GAAGxG,OAAO,GAAG,EAAEs7Z,GAAGz6Z,MAAM2F,EAAE,IAAI80Z,GAAG/8Z,MAAM,6BAA6B,CAAjH,CAAoH0e,EAAEzW,GAAGyruB,KAAM,SAAA7zuB,GAAC,OAAEk0c,GAAG1S,YAAY94b,EAAE1I,EAAEgtD,EAAEmT,EAAE,EAAG,SAAAthD,GAAC,OAAEq1b,GAAGi5S,UAAUzkvB,EAAE1I,EAAG,SAACA,EAAE6e,GAAK,GAAG,IAAI7e,EAAE4B,OAAO,MAAM,IAAIkB,MAAM,gDAAgD,IAAMsF,EAAG,SAAApI,GAAkC,IAA9B,IAAM6e,EAAE,IAAIhH,MAAM7X,EAAE4B,OAAO,GAAWwG,EAAE,EAAEA,EAAEpI,EAAE4B,OAAOwG,GAAG,EAAE,CAAC,IAAM4kD,EAAEhtD,EAAEwzD,OAAOprD,EAAE,GAAGyW,EAAEiB,KAAKC,MAAM3X,EAAE,IAAIy3B,SAASmtB,EAAE,GAAG,CAAC,OAAOnuC,CAAC,CAA/H,CAAkI7e,GAAGgtD,EAAE,IAAI9qD,WAAWkG,GAAG,OAAO,IAAIrI,KAAK,CAACitD,GAAG,CAAC7pD,KAAK0b,GAAG,CAAvR,CAA0RA,EAAE7e,GAAGgtD,EAAEmT,EAAE,EAAE,EAAE,EAAG,CAAr0B,CAAw0BngE,GAAG,OAAO6e,EAAEA,EAAEja,OAAOwD,EAAEy4O,WAAW7gP,EAAE0X,GAAG,EAAMyoD,EAAE,EAAOA,EAAEngE,EAAE4B,QAAQu+D,EAAEu0Y,GAAG10c,EAAEmgE,GAAG0zqB,KAAKzruB,EAAE4kD,GAAG,OAAOnuC,CAAC,CAA4gFk2b,CAA7C/0c,EAAE6iB,QAAQ,MAAM,IAAIA,QAAQ,MAAM,IAAgB,CAA9D,CAAiEs9C,IAA3kD,SAACngE,EAAE6e,EAAEzW,EAAE4kD,EAAEmT,GAAW,IAAAh4D,EAAG,SAAAnI,GAAC,OAAEyzZ,EAAEzzZ,EAAG,SAACA,EAAE6e,GAAK,IAAMzW,EAAE4sc,GAAGn2b,GAAGmuC,EAAEmoZ,GAAGt2b,GAAG,OAAOqgC,EAAEl/C,EAAG,SAAAA,GAAC,QAAIgtD,GAAGmoZ,GAAGn1c,KAAKg1c,GAAGh1c,KAAKoI,CAAC,GAAGyruB,KAAM,kBAAI7zuB,EAAE4E,OAAO,CAACia,GAAG,EAAG,SAAAzW,GAAC,OAAEy0M,GAAG78M,EAAEoI,IAAIkvuB,UAAUt3uB,EAAEA,EAAEgY,MAAM,EAAE5P,GAAGxD,OAAO5E,EAAEgY,MAAM5P,EAAE,IAAIxD,OAAO,CAACia,GAAG,EAAE,EAAG,GAAG,CAArL,CAAuLA,GAAE+uuB,EAAiB7tsB,EAAE53C,EAAG,SAAAnI,GAAC,OAAGm1c,GAAGn1c,EAAE,GAAxB0I,EAACklvB,EAAN5hrB,KAAY7pE,EAACyrvB,EAANpisB,KAAIqisB,EAAqC9tsB,EAAE//C,EAAG,SAAAA,GAAC,OAAI,SAAAA,GAAC,MAAE,SAAS0ia,GAAG1ia,EAAE,mBAAmB,CAApC,CAAsCA,EAAE,GAA5D6/C,EAACgusB,EAAN7hrB,KAAY30B,EAACw2sB,EAANrisB,KAA6Dic,EAAEsuY,GAAGl2Z,EAAEn3C,EAAEskD,EAAG,SAAChtD,EAAE6e,EAAEzW,EAAE4kD,GAAC,OAAGgoZ,GAAGh1c,KAAKoI,CAAC,EAAE+3D,EAAEu2qB,SAAS3mrB,EAAEgmZ,GAAG1+Z,EAAEl1C,EAAE6qD,EAAG,SAAChtD,EAAE6e,EAAEzW,EAAE4kD,GAAC,OAAGnuC,IAAImuC,CAAC,EAAEmT,EAAEu2qB,SAAStmqB,EAAE3I,EAAE+lrB,eAAe5ovB,OAAOmrD,EAAEy9rB,gBAAgB99rB,EAAE+X,EAAEgmrB,WAAW7ovB,OAAOmrD,EAAE09rB,YAAY3rvB,EAAE2lE,EAAE8lrB,MAAM3ovB,OAAOmrD,EAAEw9rB,OAAOhlvB,EAAEk/D,EAAEimrB,aAAa39rB,EAAE29rB,YAAYn4T,GAAGzzb,GAAGoD,KAAM,SAAAlF,IAAI,SAAEA,EAAE6e,GAAC,OAAG7e,EAAE4B,SAASid,EAAEjd,OAAOqI,QAAQ6E,IAAI0wD,EAAEx/D,EAAG,SAACA,EAAEoI,GAAC,OAAI,SAACpI,EAAE6e,GAAC,OAAGA,EAAEg1tB,KAAM,kBAAI5puB,QAAQC,QAAQlK,EAAE,EAAG,SAAA6e,GAAC,OAAE42a,GAAGigT,KAAK11uB,EAAG,SAACoI,EAAE4kD,EAAEmT,GAAC,OAAGnT,EAAEourB,WAAWl2uB,KAAM,SAAAiD,GAAI,IAAMO,EAAEioZ,GAAGiiV,QAAQzquB,GAAGhG,EAAE8ga,GAAGv6Z,EAAE,SAAS6J,IAAK,SAAAvS,GAAC,OAAE6/B,SAAS7/B,EAAE,GAAG,GAAGuyuB,MAAM,GAAG1yrB,EAAEojX,GAAGv6Z,EAAE,UAAU6J,IAAK,SAAAvS,GAAC,OAAE6/B,SAAS7/B,EAAE,GAAG,GAAGuyuB,MAAM,GAAGl7rB,EAAG,SAACr3C,EAAE6e,EAAEzW,GAAK,IAAM4kD,EAAEqnL,EAAE81L,GAAGnqa,GAAGmgE,EAAEnT,EAAE,SAAS7kD,EAAE6kD,EAAE,SAAStkD,EAAEy3D,EAAEthD,EAAE1c,EAAEgG,EAAEC,EAAEy3C,EAAEmN,EAAE,SAAS3V,EAAE2V,EAAE,SAAS,MAAM,CAAC8gsB,MAAMjusB,EAAEn3C,EAAEqlvB,MAAM12sB,EAAEl1C,EAAE6rvB,OAAO7trB,EAAEtgB,EAAEmN,EAAE,UAAUtkD,EAAEulvB,OAAO9lvB,EAAEkvC,EAAE2V,EAAE,UAAU7qD,EAAE,CAAvK,CAA0K0c,EAAE1c,EAAE09C,GAAG,OAAO19C,IAAIk1C,EAAE22sB,OAAOnusB,IAAIxI,EAAE42sB,OAAO,IAAI52sB,EAAEy2sB,OAAO,IAAIz2sB,EAAE02sB,MAAM9jvB,QAAQC,QAAQlK,GAAG6jb,GAAG72X,EAAE3V,EAAEy2sB,MAAMz2sB,EAAE02sB,MAAM12sB,EAAE22sB,MAAM32sB,EAAE42sB,OAAO/ovB,KAAM,SAAAlF,GAAC,OAAEA,EAAE+6uB,SAAS71uB,KAAM,SAAA2Z,GAAIga,IAAI6qrB,gBAAgBvjpB,GAAG,IAAMnT,EAAEn0B,IAAIqpjB,gBAAgBrjkB,GAAG,OAAO42a,GAAG9+U,KAAKvuG,EAAEpI,EAAEgtD,EAAE,EAAG,EAAE,EAAG,EAAG,SAACnuC,EAAEzW,EAAE4kD,GAAC,OAAG/iD,QAAQC,QAAQlK,EAAE,EAAE,EAAE,CAA3oB,CAA6oBA,EAAE6e,EAAEzW,GAAG,IAAI6B,QAAQC,QAAQlK,EAAE,EAA/tB,CAAiuBA,EAAE0vD,GAAGxqD,KAAM,SAAAlF,GAAI,IAAM6e,EAAE0jb,GAAGvic,EAAEowE,GAAGhoE,EAAEyW,EAAEtW,EAAE,EAAG,EAAG,CAAoS6sc,CAAN7qC,GAAGvqa,GAAQ0I,EAAG,SAACmW,EAAEshD,GAAK,IAAMh4D,EAAE0xZ,GAAG75Z,GAAG0I,EAAEmW,EAAEja,OAAOooD,GAAGmT,GAAGjgE,QAAQC,MAAM,gCAAgCiI,EAAEowG,QAAQ0hW,WAAW/xc,EAAEO,EAAE,8BAA8BN,EAAEowG,QAAQg3C,OAAOrnJ,EAAEO,EAAE,EAAGmW,EAAE1W,EAAE,EAAE,EAAQwna,GAAG,SAAA3va,GAAI,IAAM6e,EAAE,WAAD,OAAK5U,QAAQC,QAAQlK,EAAE,EAAC,OAAOy1b,GAAGigT,KAAK11uB,EAAE03H,MAAO,SAACtvH,EAAE4kD,EAAEmT,GAAC,MAAG,cAAct8D,KAAKmpD,EAAEqwV,WAAY,SAAAr9Y,GAAC,OAAG,SAACA,GAAK,OAAGA,EAAEi7uB,eAAuB,iBAAlC,EAA8B,CAA9B,CAAgCj7uB,GAAekF,KAAK+wb,IAAI/wb,KAAKq7C,EAAExf,MAAM5zB,MAAO,SAAAnN,GAAC,OAAGE,QAAQyE,KAAK3E,GAAGugD,EAAE6xX,MAAM,EAAG,CAA/G,CAAiHplX,GAAG9nD,KAAM,SAAA2Z,GAAC,OAAEA,EAAEtM,IAAK,SAAAsM,GAAI,IAAMzW,EAAEpI,EAAE0zQ,MAAM,OAAO76O,IAAI6qrB,gBAAgBvjpB,GAAG2+X,GAAGjgb,EAAEzW,GAAG+tb,GAAGt3a,EAAEzW,EAAE,GAAImquB,MAAMvyuB,EAAE,GAAG6e,GAAG,EAAEA,EAAE,EAAMs4b,GAAG,SAACn3c,EAAE6e,GAAK,IAAMzW,EAAE,SAACpI,EAAEoI,GAAC,OAAG6B,QAAQ6E,IAAI0wD,EAAEx/D,EAAE2va,KAAKzqa,KAAM,SAAAlF,GAAC,MAAG,CAACkQ,SAAS9H,EAAEpI,GAAGmwK,OAAOtxJ,EAAEsxJ,OAAO,EAAG,EAAC,OAAO6sP,GAAGn+Y,EAAE3O,SAASutZ,GAAI,SAACz9Z,EAAE6e,GAAC,OAAGzW,EAAEyW,EAAG,SAAAA,GAAC,OAAE09Y,GAAGv8Z,EAAE6e,EAAE,EAAE,EAAG,kBAAI5U,QAAQC,QAAQ2U,EAAE,EAAG,SAAC7e,EAAE6e,EAAEmuC,GAAC,OAAG5kD,EAAEyW,EAAG,SAAAA,GAAC,OAAG3e,QAAQC,MAAM,iCAAiCi9Z,GAAGp9Z,EAAE6e,EAAEmuC,EAAE,EAAG,EAAE,EAAQ0oZ,GAAG,SAAC11c,EAAE6e,GAAC,OAAG7e,EAAE4uE,YAAY/vD,EAAE+huB,cAAcrgsB,EAAE6xX,MAAM,EAAC/H,GAAG,SAAArqa,GAAC,OAAEA,EAAEktF,WAAW,EAACqoX,GAAG,SAAAv1c,GAAC,OAAEA,EAAE8gvB,UAAU,EAACh2U,GAAG,SAAA9qa,GAAC,OAAEA,EAAE+gvB,SAAS,EAAC7qS,GAAG,SAAAl2c,GAAC,OAAEA,EAAE87uB,SAAS,EAACnxU,GAAG,SAAA3qa,GAAC,OAAEA,EAAEghvB,aAAa,EAAC/rS,GAAG,SAAAj1c,GAAC,OAAEA,EAAE6gvB,mBAAmB,EAAC3pS,GAAG,SAAAl3c,GAAC,OAAEA,EAAEihvB,SAAS,EAAChrS,GAAG,SAACj2c,EAAE6e,EAAEzW,EAAE4kD,GAAC,MAAI,CAAC/5B,MAAMjzB,EAAEygvB,aAAa5huB,EAAEgpa,MAAMz/a,EAAEqlE,QAAQ/d,EAAE1C,GAAG,EAAE+pZ,GAAG,SAAC/2c,EAAE6e,EAAEzW,EAAE4kD,GAAC,MAAI,CAAC/5B,MAAMjzB,EAAEygvB,aAAa5huB,EAAEgpa,MAAMz/a,EAAEqlE,QAAQ/d,EAAE1C,GAAG,EAAEwqZ,GAAG,SAACx3c,EAAE6e,EAAEzW,EAAE4kD,GAAK,OAAOipZ,GAAGrX,GAAGwvE,OAAOtjG,GAAG,EAAE3qW,EAAEthD,EAAEmuuB,UAAU,SAAChtvB,EAAE6e,GAAK,IAAMzW,EAAE01b,GAAG99b,GAAGy3uB,SAAS,qCAAqCzqrB,EAAEmT,EAAE4srB,kBAAkBlzV,GAAGzxZ,EAAEi1F,YAAYrwC,EAAE+R,KAAM,SAAA/+D,GAAI02C,EAAE12C,EAAE6ha,GAAG,GAAI,IAAM15Z,EAAE6kD,EAAEolrB,SAAS,MAAM,CAACliuB,SAAS2O,EAAE3O,SAASigK,OAAO2tP,GAAG,CAAC4iV,WAAWv4uB,IAAI,GAAGkob,GAAGrwb,EAAE6e,GAAGwvK,GAAGjmL,EAAE4kD,EAAEnuC,GAAG4gb,GAAG5gb,GAAGs4b,KAAI,GAAI,IAAIh3Y,CAAC,EAAEy1Y,GAAG,SAAC51c,EAAE6e,EAAEzW,GAAK,OAAO6tc,GAAGrX,GAAGwhT,SAAS/rgB,EAAEqhO,GAAG11c,GAAG,CAAC2tM,GAAG,CAAC+ziB,QAAO,IAAKpxT,GAAGzxa,EAAEzW,GAAGyrc,GAAG7zc,EAAEoI,IAAI4kD,EAAE5kD,EAAE,SAACpI,EAAE6e,GAAC,OAAG,IAAI5U,QAAS,SAAC7B,EAAE+3D,GAAK,IAAMh4D,EAAE0tc,GAAG7oZ,GAAGtkD,EAAE,SAAA1I,GAAC,OAAEoI,EAAE,CAAC8H,SAASlQ,EAAEmwK,OAAO2tP,GAAG,CAAC,IAAI,EAAC31Z,EAAEmd,OAAOkqI,OAAOznF,KAAM,SAAA/nE,GAAI0I,EAAE6zZ,GAAGv8Z,EAAEs9I,SAASt9I,EAAEkuvB,YAAY,GAAI/lvB,EAAEmd,OAAO40b,WAAWnyY,KAAM,SAAA/nE,GAAIE,QAAQC,MAAM,gCAAgCuI,EAAE00Z,GAAGp9Z,EAAEs9I,SAASt9I,EAAEkuvB,WAAWluvB,EAAE+M,SAAS,GAAI,IAAM5K,EAAEm7b,GAAGt9b,GAAGy3uB,SAAS,oCAAoC53rB,EAAE,SAAA7/C,GAAI,IAAMoI,EAAE,WAAD,OAAK6B,QAAQC,QAAQ2U,EAAE,EAACshD,EAAE,SAACthD,EAAEzW,GAAK,IAAM+3D,EAAEwwV,GAAG+hV,QAAQ,OAAO,OAAO3iuB,GAAGowD,EAAEthD,GAAG7e,EAAE6zuB,KAAM,WAAK,IAAM7zuB,EAAEuqa,GAAGpqW,GAAG,OAAOngE,EAAE4B,OAAO,EAAG,SAAA5B,GAAI02C,EAAE12C,EAAE6ha,IAAI,IAAMhjZ,EAAEg7Y,GAAG15V,GAAG,OAAOjgE,QAAQC,MAAM,gCAAgCuI,EAAE00Z,GAAGv+Y,EAAEzW,EAAE,6BAA6B,CAArH,CAAwHpI,GAAI,WAAK,IAAMA,EAAE65Z,GAAG15V,GAAG,OAAOz3D,EAAE6zZ,GAAGv8Z,EAAEoI,GAAG,CAApC,EAAwC,EAAI,SAAApI,GAAImI,EAAEwlvB,WAAWxtrB,EAAE/3D,EAAEpI,EAAEgtD,EAAE,EAAG,EAAE,OAAOgwW,GAAGn+Y,EAAE3O,SAAS9H,EAAE+3D,EAAE/3D,EAAE+3D,EAAE,GAAE,SAAEngE,EAAE6e,GAAK,IAAMzW,EAAEqqZ,GAAG5zY,GAAG,GAAGzW,EAAExG,SAAS2mb,GAAG3mb,OAAO,MAAM,IAAIkB,MAAM,iBAAiB42C,EAAEtxC,EAAG,SAAAA,GAAC,OAAEy6Z,GAAG7ia,EAAEw8uB,gBAAgBp0uB,EAAEyW,EAAEzW,GAAG,GAAGqvuB,SAAS,qCAAqCz3uB,EAAEw8uB,cAAvF9isB,CAAsG15C,EAAEuH,KAAM,CAA9L,CAAgMpF,EAAEu6uB,IAAI,CAACr3sB,SAAS,WAAKwa,EAAEU,EAAE6xX,OAAO,EAAEqqU,cAAc,SAAAz8uB,GAAI6/C,GAAE,IAAKmN,EAAEq0rB,iBAAiB9gsB,EAAExf,KAAK/gC,EAAE08uB,KAAKn8rB,EAAE6xX,OAAO,GAAG,EAAG,GAAE+kC,KAAI,GAAI,IAAInqZ,CAAC,EAAEq/W,GAAG,SAACrsa,EAAE6e,EAAEzW,EAAE4kD,GAAC,OAAGipZ,GAAGrX,GAAGyhT,WAAWprS,GAAG,CAACtnQ,GAAG,CAACg0iB,cAAa,IAAKrxT,GAAGtwb,EAAE6e,GAAGy1b,GAAGjmR,GAAGjmL,EAAE4kD,EAAEnuC,GAAGqxa,GAAGuP,GAAG5gb,GAAGs4b,KAAI,EAAG,EAACG,GAAG,SAAAt3c,GAAC,OAAEi2c,GAAGrX,GAAGlrL,MAAM6hM,GAAG,EAAC,IAAKv1c,EAAEqhvB,iBAAiB,SAACrhvB,EAAE6e,GAAC,OAAG4+Y,GAAG,iCAAiC,EAAC,SAACz9Z,EAAE6e,GAAC,OAAI,SAAA7e,GAAI,IAAM6e,EAAEsxY,EAAEnwZ,EAAG,SAAAA,GAAC,MAAE,SAASA,EAAEwjD,MAAM,QAAQ3/C,KAAK7D,EAAEmD,KAAK,GAAGiF,EAAEqrZ,EAAE50Y,EAAG,SAAC7e,EAAE6e,GAAK,IAAMzW,EAAEyW,EAAEsvuB,YAAY,OAAO,SAAAnuvB,GAAC,OAAE,OAAOA,CAAC,CAAX,CAAaoI,GAAGpI,EAAE4E,OAAOwD,GAAGpI,CAAC,EAAG,IAAI,OAAOu1b,GAAGntb,GAAGlD,KAAM,SAAAlF,GAAI,IAAM6e,EAAG,SAAA7e,GAAI,IAAM6e,EAAE,GAAGzW,EAAE,GAAG,OAAOsuC,EAAE12C,EAAG,SAAAA,GAAC,OAAEy1b,GAAGigT,KAAK11uB,EAAG,SAACgtD,EAAEmT,EAAEh4D,GAAK,IAAMO,EAAEioZ,GAAG+hV,QAAQ,OAAO9vU,GAAGl6Z,EAAE,MAAMP,GAAG0W,EAAE3X,KAAKwB,GAAGN,EAAElB,KAAKivb,GAAGn2b,EAAE0I,GAAG,EAAI,SAAC1I,EAAE6e,EAAEzW,GAAKlI,QAAQC,MAAM,gFAAgF0e,EAAE,EAAG,GAAG09Y,GAAG19Y,EAAEzW,EAAE,CAApP,CAAuPpI,GAAG,MAAM,CAACkQ,SAAS2O,EAAEsxJ,OAAO2tP,GAAG,CAAC,GAAG,EAAG,CAAzc,CAA4cn+H,GAAG3/R,GAAGy3uB,SAAS,2CAA2C9/mB,OAAO,EAACw/U,KAAI,EAAG,EAACS,GAAG,SAAA53c,GAAC,OAAEi2c,GAAGrX,GAAG0hT,UAAU31U,GAAG,CAACgiV,GAAG3svB,EAAE82uB,WAAW8V,GAAG,CAAC5V,gBAAgBh3uB,EAAEg3uB,oBAAmB,EAAG,EAACn/R,GAAG,SAAC73c,EAAE6e,GAAC,OAAGo3b,GAAGrX,GAAG7ma,KAAKm+a,GAAG,CAACy2S,GAAG3svB,GAAG4svB,GAAG,CAAC5V,gBAAgBn4tB,MAAK,EAAG,EAAK4tZ,GAAGtra,OAAO8X,OAAO,CAAC43C,UAAU,KAAK0jrB,WAAW,SAACv0uB,EAAE6e,GAAC,OAAGwztB,QAAQ+b,SAAS3+kB,KAAKzvK,EAAE6e,EAAE,IAASstZ,GAAG,CAAC,4BAA4B,2BAA2B,mCAAmC,6DAA6D,4BAA4B,kBAAkB,4BAA4B,oBAAoB,8BAA8B,sCAAsC,oBAAoB,4BAA4B,kBAAkB,KAAK,iCAAiC,2FAA2F,4BAA4B,gCAAgC,iCAAiC,0BAA0B,6BAA6B,qBAAqBV,GAAG,SAAAzra,GAAC,OAAEqyuB,QAAQ1siB,UAAW,SAAA3lM,GAAC,OAAEmsa,GAAGnsa,EAAE,CAAR,CAAUA,GAAG,EAAC2ra,GAAG,SAAA3ra,GAAI,IAAM6e,EAAEwK,SAAS6F,cAAc,OAAO,OAAOrQ,EAAEg+B,YAAY78C,EAAEqoS,WAAU,IAAKxpR,EAAEgvB,SAAS,EAAE09X,GAAG,iBAAiBoD,GAAGj/W,EAAE67W,IAAIuB,GAAG,WAAWvB,GAAG,UAAUmB,GAAG,SAAA1sa,GAAC,OAAG,IAAIA,EAAEoC,QAAQ0qa,GAAG,EAACE,GAAG,SAAAhta,GAAC,MAAE,4CAA4C6D,KAAK7D,EAAE,EAAC4sa,GAAG,SAAA5sa,GAAI,IAAM6e,EAAE,mCAAmC44B,KAAKz3C,GAAG,OAAOugD,EAAEoI,KAAK9pC,GAAGkpD,KAAM,SAAAlpD,GAAI,IAAMzW,EAAE,CAAC4vB,IAAInZ,EAAE,GAAGuwW,KAAKpvX,GAAG,OAAO6ia,GAAGhkZ,EAAE,KAAKA,EAAE,GAAGzW,EAAE,EAAG,EAAEila,GAAG,SAACrta,EAAE6e,EAAEzW,GAAC,OAAI,SAAApI,GAAC,MAAE,UAAUA,EAAEquvB,WAAW,CAA1B,CAA4BruvB,IAAIA,EAAEquvB,YAAYjjI,MAAO,WAAK39M,GAAGzta,EAAE6e,EAAE,EAAGzW,GAAGm4C,EAAExf,MAAK,IAAKwf,EAAE6xX,MAAM,EAAC7E,GAAG,SAACvta,EAAE6e,GAAC,OAAG+tZ,GAAG/tZ,GAAGkpD,KAAM,SAAAlpD,GAAC,OAAE,IAAK7e,EAAE8mR,UAAUwne,eAAethV,GAAGnuZ,EAAEmZ,KAAM,SAACh4B,EAAE6e,GAAC,OAAGwuZ,GAAGrta,EAAE6e,EAAEuwW,KAAM,WAAKpvX,EAAEuuvB,YAAY,iBAAgB,EAAG1vuB,EAAEmZ,IAAI,EAAG,CAAnE,CAAqEh4B,EAAE6e,GAAG0hC,EAAE6xX,MAAM,EAAE,EAACnF,GAAG,SAACjta,EAAE6e,GAAC,OAAG+tZ,GAAG/tZ,GAAGkpD,KAAM,SAAAlpD,GAAC,OAAG,SAAC7e,EAAE6e,GAAK,IAAMzW,EAAEpI,EAAE8iB,cAAc,OAAOkqZ,GAAG5ka,IAAI8nZ,EAAErxY,EAAG,SAAA7e,GAAC,OAAEqwZ,GAAEjoZ,EAAC,IAAAxD,OAAK5E,EAAE8iB,eAAgB,EAAE,CAAlF,CAAqFjE,EAAEmZ,IAAIq5X,GAAGrxZ,IAAK,SAACA,EAAE6e,GAAC,OAAGwuZ,GAAGrta,EAAE6e,EAAEuwW,KAAM,WAAKpvX,EAAEwuvB,cAAc,aAAa3vuB,EAAEmZ,IAAI,KAAK,EAAG,CAApE,CAAsEh4B,EAAE6e,GAAG0hC,EAAE6xX,MAAM,EAAE,EAAC3E,GAAG,SAACzta,EAAE6e,GAAC,OAAI7e,EAAEwuvB,cAAc3vuB,EAAE,CAACyzB,MAAMyiX,GAAG/0Z,GAAGo4uB,OAAM,IAAK73rB,EAAExf,MAAK,EAAG,EAAEosY,GAAG,SAACnta,EAAE6e,GAAC,OAAG7e,EAAEyuvB,kBAAkB5vuB,EAAE,EAAC0gD,GAAG,SAACv/D,EAAE6e,EAAEzW,EAAE4kD,EAAEmT,GAAK,IAAMh4D,EAAG,SAAAnI,GAAC,OAAEA,EAAE6iB,QAAQiqZ,GAAG,GAAG,CAAnB,CAAqBjuZ,GAAGnW,EAAG,SAAC1I,EAAE6e,EAAEzW,EAAE4kD,EAAEmT,GAAC,OAAGgtW,GAAGnta,EAAE,mBAAoB,SAACA,EAAE6e,EAAEzW,EAAE4kD,EAAEmT,GAAK,IAAMh4D,EAAG,SAACnI,EAAE6e,GAAC,OAAG7e,EAAE0gB,SAAS,kBAAkB7B,EAAE,CAAtC,CAAwC7e,EAAE,CAACoyT,SAAShqT,EAAE6f,QAAQpJ,EAAEm6B,OAAOgU,EAAEzgD,KAAK4zD,IAAIz3D,EAAEP,EAAE0yrB,qBAAqB,OAAOnyrB,EAAE,CAACk5T,UAAUl5T,GAAG,CAACk5T,UAAUl5T,EAAEuf,QAAQ9f,EAAE8f,QAAQ,CAAxL,CAA2LjoB,EAAE6e,EAAEzW,EAAE4kD,EAAEmT,GAAG,CAACyhQ,WAAU,EAAG35S,QAAQpJ,EAAE,CAApQ,CAAsQ7e,EAAEmI,EAAEC,EAAE4kD,EAAEmT,GAAG,OAAOz3D,EAAEk5T,UAAUl5T,EAAG,SAAC1I,EAAE6e,EAAEzW,EAAE4kD,EAAEmT,GAAC,OAAGgtW,GAAGnta,EAAE,oBAAqB,SAACA,EAAE6e,EAAEzW,EAAE4kD,EAAEmT,GAAK,IAAMh4D,EAAEnI,EAAEuid,IAAI3xc,IAAI5Q,EAAE0uvB,UAAU,MAAM,CAACpruB,MAAM,gBAAgBzE,GAAGnW,EAAG,SAAC1I,EAAE6e,GAAC,OAAG7e,EAAE0gB,SAAS,mBAAmB7B,EAAE,CAAvC,CAAyC7e,EAAE,CAACoyT,SAAShqT,EAAEwhD,KAAKzhD,EAAE6wC,OAAOgU,EAAEzgD,KAAK4zD,IAAIh+D,EAAEuG,EAAEmyrB,qBAAqB,GAAG14rB,EAAE,MAAM,CAACy/T,UAAUz/T,GAAG,IAAM09C,EAAEn3C,EAAEkhD,KAAK/b,UAAU,OAAO7tC,EAAEuid,IAAIh2b,OAAOpkB,GAAG,CAACy5T,UAAUz/T,EAAE8lB,QAAQ43B,EAAE,CAAxR,CAA2R7/C,EAAE6e,EAAEzW,EAAE4kD,EAAEmT,GAAG,CAACl4C,QAAQpJ,EAAE+iT,WAAU,EAAG,CAArW,CAAuW5hU,EAAE0I,EAAEuf,QAAQ7f,EAAE4kD,EAAEmT,EAAE,EAA2kI+3Y,GAAG,SAACl4c,EAAE6e,GAAK,IAAMzW,EAAEiquB,QAAQjjX,KAAKu/X,UAAU,CAAC,EAAE3uvB,EAAEwmB,QAAQ9iB,MAAMmb,EAAE,CAAC+vuB,mBAAkB,EAAGC,eAAc,IAAK,OAAOxc,QAAQjjX,KAAK0/X,WAAW,CAACvsc,UAAS,GAAIviT,EAAEwmB,QAAQhkB,UAAU4F,EAAE,EAAEqma,GAAG,SAACzua,EAAE6e,GAAK7e,EAAEuid,IAAIx6Y,KAAKlpD,EAAE,2EAA4E,SAAA7e,GAAIA,EAAEsqB,iBAAiBtqB,EAAE+vO,0BAA0B,EAAG,EAAE++L,GAAG,SAAA9ua,GAAI,IAAI6e,EAAEzW,EAAE,OAAO8nZ,EAAE,QAAQ9nZ,EAAE,QAAQyW,EAAE7e,EAAEo/B,oBAAoB,IAAIvgB,OAAO,EAAEA,EAAEwI,aAAa,IAAIjf,EAAEA,EAAE,GAAI,SAAApI,GAAC,OAAEswZ,EAAEtwZ,EAAEmD,KAAK,SAAS,EAAE,EAAm+CkvuB,QAAQ0c,cAAcC,gBAAgB,aAAa,4JAA4J3c,QAAQ0c,cAAcn+uB,IAAI,aAAc,SAAA5Q,GAAC,OAAE,SAAC6e,EAAEmuC,GAAK,GAAI,SAAChtD,GAAG,QAAKA,IAAI,IAAK,SAACA,EAAE6e,GAAK,IAAMzW,EAAEqoZ,GAAEzwZ,EAAEuoG,MAAM1pF,EAAE0pF,OAAO,GAAG,IAAIngG,EAAE,OAAOA,EAAE,IAAM4kD,EAAEyjW,GAAEzwZ,EAAEwoG,MAAM3pF,EAAE2pF,OAAO,GAAG,IAAIx7C,EAAE,OAAOA,EAAE,IAAMmT,EAAEswV,GAAEzwZ,EAAE4wU,MAAM/xT,EAAE+xT,OAAO,OAAO,IAAIzwQ,EAAEA,EAAE,CAAC,CAA7I,CAAiJ,SAAAngE,GAAC,OAAE0kB,GAAG,SAAA1kB,GAAC,MAAE,CAACA,EAAEivvB,aAAajvvB,EAAEkvvB,cAAchgsB,KAAK,KAAKne,MAAM,KAAK/4B,MAAM,EAAE,GAAGk3C,KAAK,IAAI,CAA5E,CAA8ElvD,GAAG,CAAvF,CAAyFA,GAAG0kB,GAAe,SAAV,CAApQ,CAAsQ2ttB,SAA6BnyuB,QAAQC,MAAM,2EAArT,EAA4X,SAACH,GAAI,IAAM6e,EAAE7e,EAAEoJ,QAAQy0F,SAAS7wC,EAAE,SAAAhtD,GAAI,IAAM6e,EAAEw4B,EAAEr3C,IAAK,SAAAA,GAAC,OAAEoI,EAAEpI,IAAI4hD,EAAE,CAAC,QAAQ,QAAQ,UAAU5hD,EAAE,CAAxC,CAA0CA,GAAG,OAAO6e,EAAE,CAACpc,MAAMzC,EAAEwoR,MAAM3pQ,GAAG,CAAC2pQ,OAAM,EAAGz7Q,QAAQ,kCAAkC,EAAE8R,EAAE,wBAAwB,CAACswuB,UAAU,UAAU5ouB,SAAQ,IAAK1H,EAAE,kCAAkC,CAACswuB,UAAU,UAAU5ouB,SAAQ,IAAK1H,EAAE,gCAAgC,CAACswuB,UAAU,UAAU5ouB,SAAQ,IAAK1H,EAAE,yBAAyB,CAACswuB,UAAUnisB,EAAEzmC,QAAQ,WAAW1H,EAAE,+BAA+B,CAACswuB,UAAUnisB,EAAEzmC,QAAQ,WAAW1H,EAAE,yBAAyB,CAACswuB,UAAUnisB,EAAEzmC,QAAQ,UAAU1H,EAAE,4CAA4C,CAACswuB,UAAU,WAAW5ouB,QAAQ,KAAKvmB,EAAEoJ,QAAQgmvB,aAAa,0BAA0BvwuB,EAAE,wBAAwB,CAACswuB,UAAU,SAAS5ouB,QAAQ,SAAU,EAAjvB,CAAmvB1H,GAAI,SAAA7e,GAAI,IAAM6e,EAAE7e,EAAEoJ,QAAQzB,IAAIkX,EAAE,oBAAmB,GAAIA,EAAE,iCAAgC,EAAG,CAAxF,CAA2FA,GAAG,IAAMshD,EAAG,SAAAngE,GAAI,IAAM6e,EAAE0yY,GAAGqpD,GAAE56c,IAAIoI,EAAEmpZ,IAAG,GAAI,OAAOvxZ,EAAEo8E,GAAG,UAAW,SAAAp8E,IAAI,SAACA,GAAC,OAAEqyuB,QAAQz7W,KAAKy4X,GAAGC,eAAetvvB,IAAI,KAAKA,EAAEw7rB,SAASx7rB,EAAE2rB,QAAQ,EAAjE,CAAmE3rB,IAAIoI,EAAET,KAAI,EAAG,GAAI3H,EAAEo8E,GAAG,uBAAwB,SAAAp8E,GAAI6e,EAAElX,IAAI3H,EAAEuhB,MAAM,GAAI,CAACwtb,MAAM,WAAK3mc,EAAET,KAAI,EAAG,EAAE4gX,OAAO,WAAD,OAAKngX,EAAER,OAAOiX,EAAEjX,KAAK,EAAC,CAAnP,CAAsPiX,GAAG1W,EAAG,SAAAnI,GAAI,IAAM6e,EAAE,SAAC7e,EAAE6e,GAAC,OAAG6wC,EAAE1vD,EAAE,IAAK,SAAAA,GAAI,IAAM6e,EAAE7e,EAAE8iB,cAAc1a,EAAE,CAAC,aAAa,MAAM,YAAY,MAAM,YAAY,MAAM,YAAY,MAAM,aAAa,OAAO,aAAa,OAAO,gBAAgB,MAAM,aAAa,OAAO,YAAY,MAAM,aAAa,QAAQ,OAAO6qZ,GAAG7qZ,EAAEyW,GAAGzW,EAAEyW,GAAG,KAAK,CAA1P,CAA6PA,GAAG,EAACzW,EAAE,SAACA,EAAE4kD,EAAEmT,EAAEh4D,GAAC,OAAGs0Z,GAAI,SAAA/zZ,IAA9kmH,SAAA1I,GAAC,OAAEA,EAAE+6uB,QAAQ,EAAqkmHz2T,CAAGt3X,GAAG9nD,KAAM,SAAA8nD,GAAIhtD,EAAEuvvB,aAAaC,UAAU5+uB,IAAI,CAACuU,GAAGuqC,EAAEtnD,GAAGnI,KAAKyvD,EAAEtnD,GAAG4rc,SAASn1b,EAAEzW,EAAE4kD,EAAE7pD,MAAMwzG,KAAKjnD,EAAE1C,GAAGqtL,OAAO3qL,EAAEyQ,EAAEpvB,MAAM,KAAK,IAAI0+sB,QAAQ//rB,EAAEvnD,GAAG8rH,IAAIvkE,OAAO,KAAKhnD,EAAEskD,EAAE,EAAG,EAAG,EAAC,MAAM,CAAC0isB,aAAa,SAAA1vvB,GAAI,IAAM6e,EAAEm7B,EAAEh6C,EAAG,SAAAA,GAAC,OAAEy1b,GAAGigT,KAAK11uB,EAAG,SAACA,EAAE6e,EAAEmuC,GAAK,IAAMmT,EAAEukX,GAAG7la,GAAG,MAAM,CAACzW,EAAEpI,EAAE6e,EAAEshD,EAAEnT,GAAG,EAAG0C,EAAE,IAAI,GAAG,OAAOusW,GAAGp9Y,EAAE,EAAE8wuB,aAAa,WAAK3vvB,EAAE2vvB,cAAc,EAAEC,YAAY,SAAC5vvB,EAAE6e,EAAEzW,GAAC,OAAGs8a,GAAG7la,EAAE,EAAC,CAAzoB,CAA4oBA,GAAGnW,EAAG,SAAA1I,GAAI,IAAM6e,EAAEo+a,GAAGvwB,IAAItka,EAAG,SAAApI,GAAC,MAAG,CAAC42uB,aAAavigB,EAAE6jO,GAAGl4c,GAAG62uB,aAAa/0uB,EAAE,CAAzC,CAA4C9B,GAAG,MAAM,CAAC62uB,aAAah4tB,EAAEg4tB,aAAaD,aAAa,SAAC52uB,EAAEgtD,GAAC,OAAI0/W,GAAG1sa,GAAGoI,EAAEyW,GAAG+3tB,aAAa52uB,EAAEgtD,EAAE,EAAC,CAA1J,CAA6JnuC,GAAGA,EAAEu9D,GAAG,UAAW,WAAK,IAAGv9D,EAAEyhe,QAAL,CAAoB,IAAMn+e,EAA5iR,SAACnC,EAAE6e,EAAEzW,EAAE4kD,EAAEmT,EAAEh4D,GAAK,IAAMO,EAAEipZ,KAAKxvZ,GAAG,MAAM6qD,OAAO,EAAEA,EAAE6isB,OAAO7isB,EAAE6isB,MAAaznvB,EAAEya,QAAQ,MAAM,IAAI,IAAI,MAAMA,QAAQ,MAAM,IAAWw0B,EAAE,SAACr3C,EAAE6e,GAAC,OAAI7e,EAAEquvB,YAAYyB,SAAU,WAAK,IAAI1nvB,EAAEqla,GAAGzta,EAAE6e,GAAGzW,EAAEpI,EAAE0uvB,UAAUh4sB,EAAE8oB,EAAEp3D,EAAE47B,qBAAqB,KAAK2sX,GAAGiiV,SAAU,SAAA5yuB,GAAIoia,GAAGpia,EAAE,oBAAoBoia,GAAGpia,EAAE,UAAUija,GAAGjja,EAAE,kBAAkB++D,KAAM,SAAAlgD,GAAC,OAAE+jZ,GAAG5ia,EAAE,QAAQ6e,EAAE,EAAE,EAAG,GAAI0hC,EAAExf,MAAK,EAAG,EAAE0mC,EAAE,WAAK/+D,EAAE0zE,GAAI,SAAAv9D,GAAC,OAAE7e,EAAE8mR,UAAUipe,eAAelxuB,EAAE,GAAGnW,EAAEuC,OAAO,EAAEmlE,EAAE4/U,GAAGhwZ,GAAG0vD,EAAE,CAAC8nE,QAAQr1H,EAAEq0uB,YAAY9lV,GAAG1wZ,GAAG2gvB,aAAavvV,GAAGpxZ,GAAGyhvB,WAAWnwV,GAAGtxZ,GAAG4hvB,YAAY9wV,GAAG9wZ,GAAGq5J,aAAaoyQ,GAAG41U,iBAAiBrwV,GAAGhxZ,GAAGy2uB,cAAc,CAAC,iBAAiB,MAAMtntB,MAAM,gBAAgB69tB,UAAU,CAACC,SAASvgV,GAAGqgV,kBAAkB,SAAA/svB,GAAI,IAAM6e,EAAEsxY,EAAEnwZ,EAAG,SAAAA,GAAC,OAAEwyZ,GAAGxyZ,IAAI45C,EAAEu4W,GAAGnyZ,GAAG2ua,KAAK,GAAG,OAAO9vZ,EAAEjd,OAAO2+C,EAAExf,KAAKliB,GAAG0hC,EAAE6xX,MAAM,GAAGskU,QAAQ1yoB,GAAGhkG,GAAGw0uB,4BAA4BhjV,GAAGxxZ,GAAG+2uB,gBAAgB7lV,GAAGlxZ,GAAG22uB,UAAUx2qB,EAAE22qB,UAAU1mqB,EAAE4mqB,gBAAgBvlV,GAAGzxZ,IAAI8B,EAAG,SAAC9B,EAAE6e,EAAEzW,EAAE4kD,GAAS,IAAPmT,EAAC/6D,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAC63Z,GAAY90Z,EAACwG,EAAA,GAAAA,EAAA,GAASysZ,GAAE,CAACu7U,UAAU15S,GAAGjwY,EAAEggsB,UAAUC,YAAc34V,GAAGtnW,EAAEnN,IAAIn3C,EAAEovZ,GAAG33V,EAAEh4D,EAAEqvH,QAAQrvH,EAAEquuB,aAAar0uB,EAAEm5Z,GAAGnzZ,EAAEsuuB,eAAep/rB,EAAE,CAACuga,GAAGzvc,GAAGytc,GAAGltc,EAAEmW,EAAE1W,GAAGkka,GAAGxtZ,EAAE1W,EAAEC,EAAEpI,GAAGw3c,GAAG34b,EAAE1W,EAAEC,EAAEpI,GAAGs3c,GAAGnvc,GAAG0vc,GAAG1vc,EAAE2uuB,UAAU3uuB,EAAE6uuB,kBAAkBvvqB,EAAG,SAACznE,EAAE6e,EAAEzW,EAAE4kD,EAAEmT,GAAC,OAAG42Y,GAAGnY,GAAGvpN,SAASg1L,GAAG,CAACovB,GAAGzsY,EAAE5kD,EAAE+3D,EAAEthD,EAAEmuuB,WAAW38T,GAAGrwb,EAAE6e,GAAG06a,GAAGp5X,EAAEthD,EAAEmuuB,UAAUnuuB,GAAG4gb,GAAG5gb,GAAGs4b,KAAI,EAAG,CAA/F,CAAiGt4b,EAAE1W,EAAEC,EAAEjG,EAAEnC,GAAG,OAAOs3b,GAAGjgZ,EAAEowB,EAAEt/D,EAAEwuuB,UAAU,CAAvW,CAA0WhmV,GAAGiiV,QAAQ5yuB,EAAE0uvB,WAAY,SAAA1uvB,GAAC,MAAG,CAACgwvB,aAAa,WAAK,IAAInxuB,EAAE,GAASzW,EAAEupZ,KAAK3kW,EAAG,WAAK,IAAMhtD,EAAEuxZ,GAAG,CAAC,CAACx5X,KAAK,QAAQ93B,KAAK,QAAQkD,KAAK,SAAS8svB,SAAQ,KAAMpxuB,EAAE0yY,GAAG,CAAC,GAAG,MAAM,CAACwwV,WAAW,SAAA35uB,GAAI,IAAM4kD,EAAE,CAAC,EAAEmT,EAAEX,EAAEp3D,EAAG,SAAApI,GAAI,IAAM6e,EAAE7e,EAAE+3B,KAAK,OAAOi1B,EAAEnuC,EAAEiE,eAAe9iB,EAAE84Q,MAAM,CAAC/gP,KAAKlZ,EAAE5e,KAAK4e,EAAEiE,cAAc3f,KAAK,SAAS,GAAI0b,EAAElX,IAAIqlD,GAAGhtD,EAAE2H,IAAIw4D,EAAE,EAAE+vrB,WAAWlwvB,EAAE4H,IAAIykiB,UAAU,SAAArsiB,GAAI,IAAMoI,EAAEyW,EAAEjX,MAAM,OAAOqrZ,GAAG7qZ,EAAEpI,GAAGugD,EAAExf,KAAK34B,EAAEpI,IAAIugD,EAAE6xX,MAAM,EAAE,CAArU,GAA0UjyW,EAAEk4V,GAAG,CAAC1pY,MAAMiqY,GAAG,MAAMzwZ,EAAE,WAAKg4D,EAAEq4C,QAAQ7pF,OAAO,EAAE,MAAM,CAACrJ,OAAO66C,EAAErwC,SAAS+xtB,SAAS,SAAA7hvB,GAAC,OAAE6e,EAAE7e,CAAC,EAAC8hvB,WAAW,SAAA9hvB,GAAC,OAAEoI,EAAET,IAAI3H,EAAE,EAAC+hvB,WAAW,SAAA/hvB,GAAIgtD,EAAE+0rB,WAAW/hvB,EAAE,EAAE4wS,KAAK,WAAKxoS,EAAEg0E,GAAI,SAAAh0E,GAAI,IAAM+3D,EAAEwrW,GAAGvja,EAAEm6c,KAAK75c,EAAE,CAAC42F,MAAMzgF,EAAEo9C,KAAK,CAAC94D,KAAK,QAAQkkB,MAAM,CAAC,CAAClkB,KAAK,YAAYisX,KAAKjvT,KAAKgwrB,YAAY,CAAC,EAAEv0d,QAAQ5uO,EAAEkjsB,aAAaE,SAASjovB,EAAEs6T,SAAS,SAACziU,EAAE6e,GAAKmuC,EAAEq/e,UAAUxthB,EAAE5e,MAAM8+D,KAAK5mD,GAAGnY,EAAE2uB,OAAO,GAAG3uB,EAAEqwvB,cAAcxkvB,KAAKnD,EAAE,EAAG,EAAEmoS,KAAK9gP,EAAE8/F,QAAQ,WAAKznJ,EAAE6C,OAAO,EAAEy6iB,OAAO31f,EAAE,EAAE,CAAhyB,CAAmyB/vD,GAAGgwvB,aAAajgsB,EAAEL,EAAE+8W,IAAIlka,EAAG,eAACvI,EAACoF,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAACu3b,GAAiB,OAAGrF,GAAG,CAACugB,GAApBzyc,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAACg2Z,GAAG07U,UAAqB17U,GAAG47U,kBAAkBjgS,GAAGnY,GAAG2hT,QAAQrpS,GAAG,CAACtd,KAAI,GAAI55b,EAAE,CAAjF,CAAmFmgE,EAAEiQ,GAAG,OAAO15B,EAAE,CAAC50C,EAAEyG,GAAI,SAAAsW,GAAIA,EAAEyG,OAAOiwE,OAAOxtB,KAAM,WAAKN,GAAG,GAAI5oD,EAAEyG,OAAOnlB,MAAM4nE,KAAM,SAAAlpD,GAAI4oD,IAAIznE,EAAEswvB,oBAAoBtwvB,EAAEswvB,oBAAoBzkvB,KAAK,CAACksB,KAAK0zY,GAAG5sZ,EAAE9R,SAAS5J,KAAK,UAAW,SAACnD,EAAE6e,GAAK,IAAMzW,EAAE,CAACk3F,MAAM,QAAQrjC,KAAK,CAAC94D,KAAK,QAAQkkB,MAAM,CAAC,CAAClkB,KAAK,YAAYisX,KAAKvwW,KAAKsxuB,YAAY,CAAC,EAAEv0d,QAAQ,CAAC,CAAC7jQ,KAAK,KAAK50B,KAAK,SAASlD,KAAK,KAAKgwvB,SAAQ,KAAMjwvB,EAAEqwvB,cAAcxkvB,KAAKzD,EAAE,CAArL,CAAwLpI,EAAEyra,GAAG5sZ,EAAE9R,SAAS,GAAI8R,EAAEyG,OAAOkqI,OAAOznF,KAAM,SAAAlpD,GAAI,IAAMzW,EAAEo3D,EAAE3gD,EAAEy+H,SAAU,SAAAt9I,GAAC,OAAE2ra,GAAG3ra,EAAEuid,IAAI,GAAGrzZ,KAAK,IAAIlvD,EAAEikC,QAAQ97B,EAAEunvB,aAAa7wuB,EAAEg2G,QAAQjtH,IAAK,WAAK6/D,IAAI,IAAMza,EAAEuS,GAAGv/D,EAAEoI,EAAEyW,EAAE6huB,WAAW7huB,EAAEm6B,OAAOn6B,EAAEtS,MAAMygD,EAAE40Q,YAAa,SAAC5hU,EAAE6e,IAAK,SAAE7e,EAAE6e,EAAEzW,GAAKsxC,EAAEtxC,EAAG,SAAAA,GAAC,OAAEA,EAAEpI,EAAE6e,EAAE,EAAG,CAA5B,CAA8B7e,EAAE6e,GAAG+xY,GAAG5wZ,GAAG,CAACuta,GAAGN,IAAI,IAAIroa,OAAO,CAACyyC,IAAI,CAAzE,CAA4Er3C,EAAEgtD,EAAE/kC,SAAS4oY,GAAG7wZ,IAAImI,EAAEwnvB,aAAa9wuB,EAAEg2G,QAAQ,EAAG,GAAIh2G,EAAEyG,OAAOkgO,MAAMz9K,KAAM,SAAAlpD,GAAI7e,EAAEuwvB,iBAAiB1xuB,EAAE0C,MAAM,EAAG,GAAI,CAACivuB,UAAU,SAAAxwvB,GAAC,OAAE8B,EAAEo/uB,YAAa,SAAClhvB,GAAC,IAAC6e,EAACzZ,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAACu3b,GAAE,MAAI,CAACikT,YAAY,WAAD,OAAKrgsB,EAAEoI,KAAK3oD,GAAGm6B,OAAOi+Z,IAAI7lb,IAAK,SAAAvS,GAAC,OAAEq9b,GAAG,CAACjuE,KAAKpvX,EAAE08uB,IAAIh0T,MAAM,EAAE,EAACm4T,kBAAkB,WAAD,OAAKtgsB,EAAEoI,KAAK3oD,GAAGm6B,OAAO6ka,IAAIzsb,IAAK,SAAAvS,GAAC,OAAE6e,EAAE+3tB,aAAa52uB,EAAE,aAAa,GAAGuS,IAAIssb,GAAG,EAACiiT,SAASvgsB,EAAE6xX,KAAK2uU,QAAQ,WAAD,OAAKxgsB,EAAExf,KAAK89Z,GAAGhgb,EAAE+3tB,aAAa52uB,IAAI,EAAC87uB,QAAQv7rB,EAAE6xX,KAAKllV,UAAUjlC,EAAE,4BAA4B+4rB,YAAYzgsB,EAAE6xX,KAAK6uU,QAAQh5rB,EAAE,2BAA2B,CAAtV,CAAyVjoD,EAAEmgE,GAAG,EAACswrB,UAAU,SAAAzwvB,GAAC,OAAEuI,EAAE24uB,YAAa,SAAClhvB,GAAC,IAAC6e,EAACzZ,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAACu3b,GAAE,MAAI,CAACikT,YAAYrgsB,EAAE6xX,KAAKyuU,kBAAkBtgsB,EAAE6xX,KAAK0uU,SAASvgsB,EAAE6xX,KAAK2uU,QAAQxgsB,EAAE6xX,KAAK0pU,QAAQ,WAAD,OAAKv7rB,EAAExf,KAAKi9Z,GAAG,CAACjma,KAAKlZ,EAAEg4tB,aAAa72uB,KAAK,EAACktF,UAAUjlC,EAAE,4BAA4B+4rB,YAAYzgsB,EAAE6xX,KAAK6uU,QAAQh5rB,EAAE,2BAA2B,CAAxO,CAA2OjoD,EAAEmgE,GAAG,EAACuwrB,WAAW,SAAAtovB,IAAI,SAACpI,GAAI,OAAO6e,EAAE7e,EAAEugD,EAAEoI,KAAK9pC,EAAE0+qB,eAAex1nB,KAAM,SAAA/nE,GAAC,OAAEugD,EAAEoI,KAAK3oD,EAAEu/B,QAAQ,aAAa,IAAIwoC,KAAM,SAAA/nE,GAAC,OAAG,SAAAA,GAAC,OAAE45C,EAAE55C,EAAE,6BAA6B,CAApC,CAAsCA,GAAGugD,EAAExf,KAAK,gBAAiB,SAAA/gC,GAAC,OAAE45C,EAAE55C,EAAE,qBAAqB45C,EAAE55C,EAAE,aAAa,6CAA6C6D,KAAK7D,EAAE,CAAjG,CAAmGA,GAAGugD,EAAExf,KAAK,gBAAiB,SAAA/gC,GAAC,OAAE45C,EAAE55C,EAAE,4CAA4C45C,EAAE55C,EAAE,sCAAsC,CAA7F,CAA+FA,GAAGugD,EAAExf,KAAK,iBAAiBwf,EAAE6xX,MAAM,GAAG,IAAIvzZ,CAAE,EAAva,CAAyazW,GAAG22D,KAAM,SAAAlgD,IAAI,SAAE7e,EAAE6e,GAAK7e,EAAE0gB,SAAS,sBAAsB,CAACs4B,OAAOn6B,GAAI,CAAtD,CAAwD7e,EAAE6e,EAAE,GAAInW,EAAE02W,SAAS12W,EAAEf,IAAI3H,EAAE8mR,UAAU6pe,YAAY,KAAK9xuB,EAAE0pW,SAAShgX,EAAEzG,GAAGs2uB,MAAMhwuB,GAAGyW,EAAEkwb,QAAQ3mc,EAAE2nO,0BAA0B,EAAE,CAA0+IqoO,CAAGv5b,EAAEshD,EAAEnT,EAAEhtD,EAAE0I,EAAEP,IAAG,SAAEnI,EAAE6e,GAAK7e,EAAE4wvB,WAAW,4BAA6B,SAAC5wvB,EAAEgtD,GAAK5kD,EAAE4kD,EAAEoiU,MAAMvwW,EAAE2xuB,UAAUxjsB,EAAEoiU,MAAMhnX,EAAE4kD,EAAEj1B,OAAOlZ,EAAE4xuB,UAAUzjsB,EAAEj1B,KAAK,EAAI,EAA3H,CAA6HlZ,EAAE1c,GAAI,SAACnC,EAAE6e,GAAK7e,EAAEo8E,GAAG,QAAS,SAAAp8E,GAAIA,EAAE66rB,sBAAuB,SAAA76rB,GAAI,IAAI6e,EAAEzW,EAAQ4kD,EAAE,QAAQ5kD,EAAE,QAAQyW,EAAE7e,EAAEu9rB,qBAAqB,IAAI1+qB,OAAO,EAAEA,EAAEwI,aAAa,IAAIjf,EAAEA,EAAE,GAAG+3D,EAAEgwV,EAAEnjW,EAAG,SAAAhtD,GAAC,OAAEswZ,EAAEtwZ,EAAEmD,KAAK,SAAS,GAAG,OAAOg9D,EAAEv+D,OAAO,GAAGu+D,EAAEv+D,SAASorD,EAAEprD,MAAM,CAA3K,CAA8K5B,IAAI6e,EAAE6xuB,WAAW1wvB,EAAE,EAAG,CAAvP,CAA0P6e,EAAE1c,GAAG4uZ,GAAGlyY,GAAI,SAAA7e,GAAIyua,GAAGzua,EAAEA,EAAE0uvB,WAAW1uvB,EAAEyhK,QAAQgtQ,GAAGzua,EAAEA,EAAE6wvB,SAAS,CAAhD,CAAmDhyuB,GAAr+I,SAAC7e,EAAE6e,EAAEzW,EAAE4kD,GAAK,IAAmC7kD,EAA7Bg4D,EAAEkyqB,QAAQ9vR,IAAIuuS,WAAuBpovB,EAAE,SAAAmW,GAAI,IAAIzW,EAAE4kD,EAAQ7kD,EAAEg4D,EAAE4wrB,uBAAuB,QAAQ3ovB,EAAEyW,EAAEyF,eAAe,IAAIlc,EAAEA,EAAE,EAAE,QAAQ4kD,EAAEnuC,EAAE0F,eAAe,IAAIyoC,EAAEA,EAAE,EAAEhtD,EAAE6wvB,UAAU7wvB,EAAEikC,QAAQ4b,EAAE13C,IAAInI,EAAE8mR,UAAUkqe,OAAO7ovB,EAAE,EAAEnI,EAAEo8E,GAAG,oBAAqB,SAAAp8E,GAAImI,EAAE,cAAcnI,EAAEmD,IAAI,GAAInD,EAAEo8E,GAAG,6BAA8B,SAAAp8E,GAAImI,GAAG2ma,GAAG9ua,KAAKA,EAAEsqB,iBAAiB5hB,EAAE1I,GAAG,GAAI,IAAMmC,EAAE,SAACnC,EAAE6e,GAAC,OAAGA,KAAK7e,GAAGA,EAAE6e,GAAGjd,OAAO,CAAC,EAAC5B,EAAEo8E,GAAG,OAAQ,SAAAv9D,GAAI,IAAI1W,IAAI2ma,GAAGjwZ,GAAG,CAACnW,EAAEmW,GAAG,IAAMshD,EAAG,SAAAthD,GAAI,IAAIzW,EAAE4kD,EAAEmT,EAAQh4D,EAAE,QAAQg4D,EAAE,QAAQ/3D,EAAEyW,EAAE3S,OAAOmlgB,aAAa,IAAIjpgB,EAAEA,EAAE,QAAQ4kD,EAAEnuC,EAAEugB,oBAAoB,IAAI4tB,OAAO,EAAEA,EAAEqkd,aAAa,IAAIlxc,EAAEA,EAAE,GAAGz3D,EAAE2oZ,GAAGrxZ,GAAG,OAAOmwZ,EAAEhoZ,EAAG,SAAAnI,GAAC,OAAEswZ,EAAEtwZ,EAAEmD,KAAK,WAAW+sZ,EAAExnZ,EAAG,SAAAmW,GAAC,OAAG,SAAA7e,GAAI,IAAM6e,EAAE7e,EAAE8iB,cAAc1a,EAAE,CAAC6ovB,IAAI,OAAOC,IAAI,OAAOC,IAAI,OAAOC,IAAI,OAAOC,KAAK,OAAOC,MAAM,OAAOC,IAAI,OAAOnyd,IAAI,WAAW,OAAO6zH,GAAG7qZ,EAAEyW,GAAG,SAASzW,EAAEyW,GAAG,SAASA,CAAC,CAArK,CAAwKA,KAAK7e,EAAEmD,IAAI,EAAE,EAAE,CAA1X,CAA6X0b,GAAG,GAAGshD,EAAEv+D,OAAO,EAAE,OAAO,SAAAid,GAAI02a,GAAG12a,GAAG3Z,KAAM,SAAA2Z,GAAI,IAAMzW,EAAG,SAAApI,GAAC,OAAEw/D,EAAEx/D,EAAG,SAAAA,GAAI,IAAM6e,EAAE8xY,GAAG+hV,QAAQ,OAAOtquB,EAAEqtb,GAAGigT,KAAK11uB,EAAEgtD,EAAE4isB,YAAa,SAAC5vvB,EAAE6e,EAAEzW,GAAC,OAAGyW,CAAC,GAAG,OAAO+jZ,GAAG/jZ,EAAE,MAAMzW,GAAGyW,EAAE0jc,IAAI7zB,SAAS,GAAIx/X,KAAK,GAAG,CAA9H,CAAgIrwC,GAAGshD,EAAEZ,GAAGv/D,EAAEoI,GAAE,EAAG,YAAY,QAAQ+3D,EAAEyhQ,YAAY5hU,EAAEwuvB,cAAcrurB,EAAEl4C,QAAQ,CAACqqB,MAAMyiX,GAAG/0Z,KAAK6wZ,GAAG7wZ,IAAIgtD,EAAE2isB,aAAa9wuB,GAAG,EAAG,CAAnR,CAAsRshD,QAAQthD,EAAEyL,iBAAiB,IAAMniB,EAAG,SAAAnI,GAAI,IAAM6e,EAAE,CAAC,EAAE,GAAG7e,GAAGA,EAAEwiF,MAAM,IAAI,IAAIp6E,EAAE,EAAEA,EAAEpI,EAAEwiF,MAAM5gF,OAAOwG,IAAI,CAAC,IAAM4kD,EAAEhtD,EAAEwiF,MAAMp6E,GAAGyW,EAAEmuC,GAAGhtD,EAAEu/B,QAAQytB,EAAE,CAAC,OAAOnuC,CAAC,CAA5G,CAA+GA,EAAEugB,cAAcj9B,EAAEgG,EAAE,cAAcC,EAAEoovB,UAAUrovB,EAAE,cAAc0W,EAAEyL,kBAAkBnoB,EAAEgG,EAAE,gBAAiB,SAAAnI,GAAI,IAAM6e,EAAE7e,EAAE,cAAc,QAAQ6e,GAAG,IAAIA,EAAEzc,QAAQ,UAAU,CAA/D,CAAkE+F,KAAKC,EAAEqovB,UAAUtovB,EAAE,eAAe0W,EAAEyL,iBAAiB,CAAC,EAAG,CAA4gG6tb,CAAGt5b,EAAE,EAAE1c,EAAEgG,EAAje,CAAme,EAAx5E,CAA25E,CAAC,CAAlyF,MAAoyFW,GAAW,CAAzl9K,GAUA,SAASJ,GAC4F,SACtGC,IAAI,IACJA,EAAEvF,MAAMsH,KAAK/B,EAAEmwI,WAAWnwI,SAC1BD,EAAEtH,UAAUowvB,GAAG,CAHF,iBAAb14mB,aAAwB11I,KAAKuF,KAAKD,EAAEivC,eAAejvC,EAAEtH,UAAU,MAAM,CAACs3C,cAAa,EAAK9wC,IAAIe,IAAI6ovB,KAG/E,CAJhB,CAIiBrwvB,QAAU,SAAS+W,GAAgB,IACvCu5uB,EAAG,MAAMrkX,EAAG,mBAAmBskX,EAAG,UAA2BC,EAAG,uBAAuBC,EAAG,KAAKp/D,EAAG,IAAIxpO,EAAG,QAAQ6oS,EAAG,cAAcC,EAAG,QAAQl6V,EAAG,MAAMswD,EAAG,IAAKhrB,EAAG,QAAQ60T,EAAG,MAAMlysB,GAAG,UAAUmysB,EAAG,OAAOC,EAAG,SAASvtuB,EAAE,WAAWwtuB,EAAG,SAASn1J,EAAG,OAAO7kJ,EAAG,IAAIi6S,EAAG,OAAO96sB,GAAG,UAAU2C,EAAE,UAAUo4sB,EAAG,IAAIt1J,EAAG,iBAAiBzM,EAAG,IAAIgiK,EAAG,QAAiBC,EAAG,SAAS7niB,EAAG,OAAOjrJ,EAAE,IAAI+yrB,EAAG,qBAAqBC,EAAG,MAAMC,EAAG,OAAOC,EAAG,IAAYC,EAAG,KAAKC,EAAG,IAAKzvU,EAAG,UAAU3P,EAAG,IAAIq/U,EAAG,KAAKz+gB,EAAG,SAAiB0+gB,EAAG,UAAUC,EAAG,WAAWC,EAAG,QAAQC,EAAG,QAAQC,EAAG,QAAQC,EAAG,IAAIC,EAAG,KAAK35T,EAAG,SAA+B45T,EAAG,0DAA0DC,EAAG,WAAW96K,EAAG,SAAS+6K,EAAG,KAAKx3V,EAAG,IAAIy3V,GAAG,oBAAoBC,GAAG,yBAAgCC,GAAG,SAAS96M,GAAG,gBAAgB+6M,GAAG,SAASC,GAAG,gBAAgB9rS,GAAG,MAAMx3D,GAAE,KAAKujW,GAAG,oBAAoBC,GAAG,sBAAsBC,GAAG,SAASh9V,GAAG,KAAKwW,GAAG,YAAYxY,GAAG,IAAIi/V,GAAG,gBAAwBt0rB,GAAG,UAAUu0rB,GAAG,MAAOC,GAAG,WAAWC,GAAG,gBAAgBC,GAAG,OAAgBC,GAAG,QAAQ7uU,GAAG,WAAWxgB,GAAG,KAAK28L,GAAG,OAAO2yJ,GAAG,IAAKt0vB,GAAE,GAAGu0vB,GAAG,MAAalvV,GAAG,UAAUmvV,GAAG,GAAKC,GAAG,OAAgBx8D,GAAG,QAAQx/S,GAAG,gBAAgBi8W,GAAG,cAAcC,GAAG,OAAOn4T,GAAG,SAASi2P,GAAG,IAAYmiE,GAAG,oBAAoBnkU,GAAG,IAAIokU,GAAG,IAAIC,GAAG,SAASC,GAAG,KAAaC,GAAG,YAAYC,GAAG,QAAQC,GAAG,QAA0BC,GAAG,WAAWC,GAAG,IAA2BnpT,GAAG,SAASopT,IAAI,UAAUC,GAAG,MAAMn8V,GAAG,kBAAkB48B,GAAG,WAAWw/T,GAAG,SAA2B7zJ,GAAG,MAAM8zJ,GAAG,IAAIn4V,GAAG,iBAAiBo4V,GAAG,IAAI54iB,GAAG,OAAO64iB,GAAG,UAAUC,GAAG,WAAWn+tB,GAAE,UAAU+0a,GAAG,KAAKn3B,GAAG,IAAIwgV,GAAG,WAAWC,GAAG,aAAapxV,GAAG,IAAIqxV,GAAG,IAAIC,GAAG,WAAWC,GAAG,KAAYC,GAAG,8BAA8BC,GAAG,IAAaC,GAAG,UAAUC,GAAG,MAAOC,GAAG,IAAIC,GAAG,QAAQC,GAAG,MAAMC,GAAG,cAAcl+U,GAAG,aAAam+U,GAAG,SAASrzV,GAAG,YAAYszV,GAAG,UAAUC,GAAG,2BAA2B1usB,GAAE,SAASira,GAAG,OAAO0jS,GAAG,SAASC,GAAG,OAAO/tV,GAAG,MAAMq4C,GAAG,UAAkCzzB,GAAG,YAAYp2B,GAAG,QAAQw/V,GAAG,kBAAkBrjW,GAAE,wBAAwB04S,GAAG,mBAA4B4qD,GAAG,YAAYv6gB,GAAG,OAAOw6gB,GAAG,WAAWp9sB,GAAE,KAAaq9sB,GAAG,SAASC,GAAG,KAAKznJ,GAAG,qCAAqC0nJ,GAAG,WAAW/7V,GAAG,MAAaypD,GAAG,YAAYuyS,GAAG,KAAKC,GAAG,gBAAgBC,GAAG,KAAKC,GAAG,UAAwBC,GAAG,WAAWC,GAAG,KAAKC,GAAG,OAAOC,GAAG,KAA8BC,GAAG,eAAeC,GAAG,OAAOC,GAAG,IAAYC,GAAG,KAAKC,GAAG,KAAKC,GAAG,IAAoBC,GAAG,MAAep+T,GAAG,mCAAmCq+T,GAAG,wDAAwDC,GAAG,OAAOllW,GAAG,SAASmlW,GAAG,QAAQC,GAAG,QAAQ5yU,GAAG,OAAO6yU,GAAG,QAAQC,IAAI,UAAUC,GAAG,QAAQC,GAAG,MAAM18S,GAAG,sBAAsB28S,GAAG,kBAAkB3jR,GAAG,KAAKz8C,GAAG,SAASmc,GAAG,QAAQve,GAAG,iBAAiB/hB,GAAG,UAAUwkV,GAAG,UAAUC,GAAG,8BAA8B7mV,GAAG,SAAS6gR,GAAG,WAAkBimE,GAAG,eAAeC,GAAG,YAAYC,GAAG,SAASC,GAAG,KAAKlpvB,GAAG,MAAMmpvB,GAAG,KAAK/2vB,GAAE,UAAkBg3vB,GAAG,QAAQC,GAAG,MAAMp8S,GAAG,iBAAiBl7C,GAAG,QAAgBu3V,GAAG,WAAWC,GAAG,MAAaC,GAAG,aAAavtD,GAAG,wBAAwBj7S,GAAG,IAAIyoW,GAAG,0BAA0BC,GAAG,IAAKpyD,GAAG,6BAA6BqyD,GAAG,OAAOC,GAAG,IAAkBC,GAAG,SAASC,GAAG,KAAKr2U,GAAG,gBAAgBs2U,GAAG,KAAK35rB,IAAG,UAAU/nB,GAAG,UAAiB2htB,GAAG,4BAAoCC,GAAG,OAAOC,GAAG,WAAWC,GAAG,UAI5tG,SACpCC,GAAGn6vB,EAAEuI,EAAEwnD,GAAG,IACVrnD,EAAE,IACFmP,MAAMk4C,EAAE,GAAGrnD,EAAE,GAAG,EAAE,IAAI,IACtBC,EAAE,EAAE0uC,EAAE9uC,EAAE,EAAEI,GAAGonD,EAAEpnD,IAAI0uC,IAAI3uC,EAAEC,GAAG3I,EAAEq3C,GAAG,OAAO3uC,CAAC,CAAC,SAC1C0xvB,GAAG/itB,EAAE1uC,EAAED,GAAG,IACVqnD,EAAElrD,OAAOowD,aAAa,GAAM,GAAHtsD,GAAMD,GAAG,MAAMA,GAAG2uC,EAAEz1C,OAAO,OAAOmuD,EAAE3kD,MAAM,KAAKisC,GACpE,IADuE,IAC3E9uC,EAAEvI,GAAO,EAAE0I,EAAEC,GAAGyqvB,EAAG1qvB,GAAG0qvB,EAAG7qvB,GAAGwnD,EAAE3kD,MAAM,KAAKisC,EAAEr/B,MAAMrP,EAAEA,EAAEmX,KAAKgL,IAAIpiB,EAAE0qvB,KAAM,OAAO7qvB,CAAC,CAAC,SAC/EqjsB,GAAGjjsB,GAEkC,IAF/B,IACN0uC,EAAE,IACFn1C,WAAWyG,EAAEk3C,GAAG7/C,EAAE2I,EAAE0uC,EAAE0Y,EAAE/vD,EAAE4B,OAAO8G,EAAE,EAAOA,EAAEqnD,EAAErnD,IAAI2uC,EAAE3uC,GAAG1I,EAAEmkD,WAAWz7C,GAAG,IAAIqnD,EAAEpnD,EAAEk3C,EAAEn3C,EAAEqnD,EAAErnD,IAAI2uC,EAAE3uC,GAAG,EAAc,OAAZC,EAAE0uC,EAAEA,EAAE1uC,EAAEkW,EAAE,EAASw4B,CAAC,CAAC,SACrHuoP,GAAG7vO,EAAE/vD,EAAE2I,EAAEJ,EAAE8uC,GAAG,GAAM,GAAHA,EAAK,OAAO,EAAE,GAAM,GAAH9uC,IAAO8uC,GAAG1uC,EAAEk3C,GAAQ,GAALl3C,EAAEkW,GAAMw4B,GAAG1uC,EAAE0uC,EAAEz1C,QAAS+G,EAAE0uC,EAAO,GAAL0Y,EAAElxC,EAAKu7uB,GAAGrqsB,EAAE1Y,EAAEr3C,EAAEq3C,GAAM,GAAHr3C,GAAM+vD,EAAE1Y,EAAEz1C,QAAQy1C,EAAE0Y,EAAE1Y,EAAE0Y,EAAE1Y,EAAEmc,OAAOxzD,EAAEq3C,GAAG1uC,EAAEkW,EAAElW,EAAE0uC,EAAEz1C,QAAQ+G,EAAEk3C,EAAE,EAAE,OAC9J,GAAQ,GAALl3C,EAAEkW,GAAMtW,GAAGI,EAAE0uC,EAAEz1C,OAAQ+G,EAAE0uC,GAAQ,GAAL0Y,EAAElxC,EAAKu7uB,GAAGrqsB,EAAE1Y,EAAEr3C,EAAEq3C,GAAM,GAAHr3C,GAAM+vD,EAAE1Y,EAAEz1C,QAAQy1C,EAAE0Y,EAAE1Y,EAAE0Y,EAAE1Y,EAAEmc,OAAOxzD,EAAEq3C,GAAG1uC,EAAEkW,EAAElW,EAAE0uC,EAAEz1C,QAAQ+G,EAAEk3C,EAAE,EAAE,MAAM,CAAS,GAALl3C,EAAEkW,GAAK+srB,GAAGjjsB,GAAG,IACvI0rO,EAAEtkL,EAAE1Y,EAAE+4B,EAAEznE,EAAE0uC,EAAE,GAAQ,GAAL0Y,EAAElxC,EAAK,GAAGtW,GAAGvI,EAAE,IAAI,IAClC0I,EAAE,EAAEA,EAAE2uC,EAAE3uC,IAAI0nE,EAAE7nE,EAAEG,GAAG2rO,EAAEr0O,EAAE0I,QACvB,IACAA,EAAE2uC,EAAE,EAAE3uC,GAAG,EAAEA,IAAI0nE,EAAE7nE,EAAEG,GAAG2rO,EAAEr0O,EAAE0I,OAAO,CAAC,IAClCvG,EAAE2d,KAAKgL,IAAIusB,EAAEg9L,EAAEzyO,OAAO5B,GAAG,IACzB0I,EAAE,EAAEA,EAAEvG,EAAEuG,IAAI0nE,EAAE7nE,EAAEG,GAAG2rO,EAAElwL,WAAWnkD,EAAE0I,GAAG,KAAKA,EAAE2uC,EAAE3uC,IAAI0nE,EAAE7nE,EAAEG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SACrE2ga,GAAG3ga,GAAG,OAAOA,CAAC,CAAC,SACf4oc,GAAG5oc,EAAEC,EAAE0uC,EAAE0Y,EAAE/vD,GAAqB,OAAlB4/R,GAAMl3R,EAAGC,EAAE0uC,EAAE0Y,EAAE/vD,GAAU,CAAC,CAAC,SACzC8ua,GAAGnma,EAAED,GAAG,GAAM,GAAHC,EAAK,OAAO3I,GAAE,GAAG0I,EAAEs6E,OAAO,OAAOt6E,EAAEs6E,OAAOr6E,GAC7C,IADgD,IACxDonD,EAAE/vD,GAAEq3C,EAAE,IAAS,CAAmB,GAAb,EAAF1uC,IAAIonD,GAAGrnD,GAAc,IAAZC,IAAI,GAAU,OAAOonD,EAAErnD,GAAGA,EAAY,KAAV2uC,GAAY3uC,EAAEsP,MAAM,EAAE,EAAE,CAAC,CAAC,SAClFqivB,GAAG3xvB,GAAW,GAALA,EAAEmW,EAAKnW,EAAE2uC,GAAGy3X,GAAGpma,EAAEm3C,EAAEn3C,EAAE2uC,EAAEz1C,OAAO,MACvC8G,EAAE2uC,EAAE+itB,GAAG1xvB,EAAE2uC,EAAE,EAAE3uC,EAAE2uC,EAAEz1C,QAAQ8G,EAAEmW,EAAE,CAAC,CAAC,SAC/By7uB,GAAG5xvB,EAAEC,GAAG,OAAGD,IAAIC,EAAS,GAAM,EAAJD,EAAEmW,GAAKw7uB,GAAG3xvB,GAAO,EAAJC,EAAEkW,GAAKw7uB,GAAG1xvB,GAAUD,EAAE2uC,GAAG1uC,EAAE0uC,EAAE,EAAE,EAAC,CAClD,SACrB+/Y,GAAG1ub,GAAG,GAAGA,EAAE9G,OAAO,GAAG,CAAC,IAAI,IAC1B+G,EAAE,EAAEA,EAAED,EAAE9G,OAAO+G,IAAI,GAAGD,EAAEy7C,WAAWx7C,GAAGwqvB,EAAG,OAAO,EAAM,OAAO,CAAI,CACjE,OAAO,eAAetvvB,KAAK6E,EAAE,CAMgD,SAC7E6xvB,GAAGljtB,EAAE3uC,EAAEC,GAAGvF,KAAKyb,EAAEw4B,EAAEj0C,KAAKi0C,EAAE3uC,EAAEtF,KAAKy8C,EAAEl3C,CAAC,CAMf,SACrB6xvB,GAAG9xvB,GAAG,OAAO,IACb6xvB,GAAG,EAAE7xvB,EAAEA,EAAE9G,OAAO,CAAC,SACjB8G,GAAEA,GAAG,OAAO8xvB,GAAG9xvB,EAAE,CAAC,SAClBk5Z,GAAGvqX,EAAE1uC,IArBmE,SACrEA,EAAED,GAAG,KAAK,CAAC,EAAEC,EAAED,EAAE,CAoBZiua,CAAGt/X,EAAE3uC,GAAEC,GAAG,CAVmB4xvB,GAAGn5vB,UAAUF,SAAS,WAAW,OAAOkC,KAAKyb,GAAG,KACrF,EAAE,OAAOzb,KAAKi0C,EAAE,QAAQgjtB,GAAGj3vB,MAAM,KACjC,EAAE,GAAGg0b,GAAGh0b,KAAKi0C,GAAa,OAATj0C,KAAKyb,EAAE,EAASzb,KAAKi0C,EAAEj0C,KAAKyb,EAAE,EAAE,KACjD,EAAE,OAAOzb,KAAKi0C,EAAE,EAAEkjtB,GAAGn5vB,UAAUq5vB,QAAQ,WAAW,IAClD/xvB,EAAEtF,KAAKlC,WAAW,OAAW,GAARkC,KAAKyb,EAAYnW,EAXR,SAC3BH,GAAG,IAAI,IACF6nE,EAAEikK,EAAElyO,EAAEuG,EAAd63C,EAAEvgD,GAAEq3C,EAAEr3C,GAAU2I,EAAE,EAAE6uB,EAAEjvB,EAAE3G,OAAO+G,EAAE6uB,EAAE7uB,IAAI,CAAmB,IAAlB0rO,EAAE9rO,EAAE47C,WAAWx7C,IAAQ8wvB,GAAG,CAAC,IAAI,IACvE1psB,EAAEpnD,EAAE,EAAEonD,EAAEv4B,IAAI68M,EAAE9rO,EAAE47C,WAAW4L,IAAI0psB,GAAG1psB,KAClB,GAD0BA,EAAEpnD,EApC8vE,KAoCxvE0uC,EAAEmc,OAAO,EAAE,GAAGjT,GAAGlJ,EAAEA,EAAEr3C,GAAEugD,GAAGh4C,EAAEyP,MAAMrP,EAAEonD,IACtF1Y,GAAG9uC,EAAEyP,MAAMrP,EAAEonD,GAAMA,GAAGv4B,EAAE,MAAM7uB,EAAEonD,CAAC,CAACrnD,EAAE,IAAOC,EAAE6uB,KAAyB,IAApBr1B,EAAEoG,EAAE47C,WAAWx7C,MAAUypvB,IAAIhirB,EAAEjuE,GAAGkyO,GAAG,GAAMA,EArCu3C,KAqCj3C3rO,EAAE0nE,EAAE,OAAYqprB,KAAG/wvB,EAAE,IAAOA,EAAE,IAAOC,EAAE6uB,KAAyB,IAApBr1B,EAAEoG,EAAE47C,WAAWx7C,MAAUypvB,IAAIhirB,EAAEjuE,GAAGiuE,GAAG,GAAMikK,EArC6lC,MAqCvlC3rO,EAAE0nE,EAAE,QArC8/C,MAqC7+C1nE,GAAG,OAAQA,EAAE,SAAOA,EAAE,IAAOA,EAAE,IAAOC,EAAE6uB,KAAyB,IAApBr1B,EAAEoG,EAAE47C,WAAWx7C,MAAUypvB,GAAI/9gB,EAAE,OAAM3rO,EAAEvG,EAAE,UAAWiuE,GAAG,IAAQ,OAAS1nE,EAAE,WAASA,EAAE,OAASA,EAAE,GAAGC,GAAGD,EAAE2uC,GAAG,UACrWA,GAAL3uC,EAAEurvB,GAAMpvvB,OAAOowD,aAAa,OAAQvsD,GAAG,IAtCy4D,OAsC/3D,KAAFA,IAC/C7D,OAAOowD,aAAavsD,GAAM2uC,EAAEz1C,OAAOwxvB,IAAI/7sB,EAAEmc,OAAO,EAAE,GAAGjT,GAAGlJ,EAAEA,EAAEr3C,GAAE,CAAC,OAAOugD,EAAElJ,CAAC,CAK7BqjtB,CAAGhyvB,EAAE,EAAE6xvB,GAAGn5vB,UAAU4W,MAAM,WAAW,IACpFtP,EAAU,GAARtF,KAAKyb,EAAKzb,KAAKi0C,EAAEr/B,QAAQ5U,KAAKi0C,EAAE,OAAO,IACzCkjtB,GAAGn3vB,KAAKyb,EAAEnW,EAAEtF,KAAKy8C,EAAE,EAIA,IACnB86sB,GAAG,CAAC,GAAG,SACPxqW,GAAEznZ,GAAGk5Z,GAAG+4V,GAAGC,iBAAiBlyvB,EAAE,CAAC,SAC/BmyvB,KAAK1qW,GAAE2jW,GAAG,CAAC,SACXgH,GAAGpyvB,EAAEC,GAAG,OAAW,EAAJD,EAAEmW,GAAK,QAAQ,GAAGlW,GAAGD,EAAE2uC,EAAEz1C,OAAO,OAAO,EAAE,KACxD,EAAE,OAAO8G,EAAE2uC,EAAE8M,WAAWx7C,GAAG,KAC3B,EAAE,OAAOD,EAAE2uC,EAAE1uC,GAAG,CAAC,SACjBoyvB,GAAGpyvB,EAAED,GAAsB,OAAhBA,IAAI,GAAGC,EAAEk3C,GAAEg7sB,KAAYC,GAAGnyvB,EAAED,EAAE,CAAC,SAC1C6nZ,GAAE7nZ,EAAE2uC,EAAE1uC,GAAS,GAANA,GAAGu/c,EAAW,GAALx/c,EAAEmW,EAAK,CAAC,GAAGw4B,GAAG3uC,EAAE2uC,EAAEz1C,OAAsD,OAA9C8G,EAAE2uC,GAAGxyC,OAAOowD,aAAatsD,GAAM0uC,EAAE,GAAG3uC,EAAEm3C,IAAEn3C,EAAEmW,EAAE,GAAS,EAAE+srB,GAAGljsB,EAAE,CAAU,OAATA,EAAE2uC,EAAEA,GAAG1uC,EAAS,CAAC,CAAC,SAC3HqyvB,GAAGryvB,EAAED,EAAE2uC,GAAsB,OAAhB3uC,IAAI,GAAGC,EAAEk3C,GAAEg7sB,KAAYtqW,GAAE5nZ,EAAED,EAAE2uC,EAAE,CAAC,SAC7C4jtB,GAAG5jtB,EAAE3uC,GAAG,GAAG2uC,EAAEkjF,IAAI,OAAO0goB,GAAG5jtB,EAAEkjF,IAAI7xH,GAAG,GAChC,mBAAJ2uC,EAAe,OAAOA,EAAE,IACxB1uC,EAAW,EAAT0uC,EAAEz1C,OAAS,GAAO,IAAJ+G,EAAM,OAAO0uC,EAAEjsC,MAAM,KAAK1C,GAAG,IAChCqnD,EAAEpnD,GAAJ,EAATD,EAAE9G,QAAe,EAAE,OAAM,GAAHmuD,EAAY1Y,EAAEjsC,MAAM,KAAK1C,GAC9CqnD,EAAE,EAASkrsB,GAAG5jtB,EAAEjsC,MAAM,KAAK1C,EAAEsP,MAAM,EAAErP,IAAID,EAAEsP,MAAMrP,IAC7C,WAEW,IAFA,IAClB3I,EAAoB,GAAlBoF,UAAUxD,OAAU,EAAEwD,UAAUxD,OAAOmuD,EAAE,IAC3Cl4C,MAAMnP,EAAE9G,OAAO5B,GACf2I,EAAE,EAAEA,EAAED,EAAE9G,OAAO+G,IAAIonD,EAAEpnD,GAAGD,EAAEC,GAAG,IAC7BA,EAAE,EAAEA,EAAEvD,UAAUxD,OAAO+G,IAAIonD,EAAErnD,EAAE9G,OAAO+G,GAAGvD,UAAUuD,GAAG,OAAOsyvB,GAAG5jtB,EAAE0Y,EAAE,CAAC,CAAC,SACtE8yL,KAAKstK,GAAE2jW,GAAG,CAAC,SACXh5sB,GAAEpyC,EAAEC,GAA6B,OAAvBA,IAAI,GAAGD,EAAE9G,OAAO,GAAEihP,KAAYn6O,CAAC,CAC4E,SACrH8wlB,GAAG9wlB,GAAgB,OAAT,EAAJA,EAAEmW,GAAKw7uB,GAAG3xvB,GAAUA,EAAE2uC,CAAC,CAAC,IAC9B6jtB,GAAGp7uB,KAAK6qa,MAA0C,MAApC7qa,KAAK6qa,KAAK,uBAGK,SAC7BrZ,GAAGj6X,GAAG,IACN3uC,EAAE,IACFnE,aAAa,GAEQ,OAFLmE,EAAE,GAAG2uC,EAEY,EAD/B,IACFhzC,WAAWqE,EAAE3G,QAAiB,EAAI,CAAC,IACnCo5vB,GAAGr7uB,KAAKowC,IAAI,GAAG,IAAI,SACnBkrsB,GAAG1yvB,GAAG,MAAMA,CAAC,CAAC,SACdosa,KAAKsmV,GAAGT,GAAGU,iBAAiB,CAAC,SAC7B3rsB,GAAE/mD,EAAE0uC,EAAE3uC,GAAGtF,KAAK+wD,GAAGxrD,EAAE+qvB,GAAGtwvB,KAAKmhb,GAAGltY,EAAEq8sB,GAAGtwvB,KAAK8wD,GAAGxrD,EAAEurvB,EAAE,CAgCma,SACldlzV,GAAGp4Z,EAAE0uC,EAAE3uC,GAAG,OAAO,IACjBgnD,GAAE/mD,EAAE0uC,EAAE3uC,EAAE,CAAC,SACT+4K,GAAG/4K,GAAG,IAAIguD,SAAShuD,GAAI,OAAG0P,MAAM1P,GAAUq4Z,GAAG,EAAE,EAzH0wE,OAyHzvEA,GAAG,EAAE,EAATr4Z,EAAE,EAzH2vE,MAyHvuE,OAAQ,IAC1FH,EAAK,GAAHG,GAAM,EAAEA,IAAIunD,IAASmmsB,GAAG1tvB,GAAG,EAAE,EAAE0tvB,GAAM7tvB,IAAEG,GAAGA,GAAE,IAC9CC,EAjDuD,SACpDD,GAAG,GAAGwyvB,GAAG,OAAOp7uB,KAAKC,MAAMD,KAAK6qa,KAAKjib,IAAI,IAC5CC,EAAE,EAAE,GAAM,GAAHD,EAAK,OAAM,IAAU,GAAGA,GAAG,EAAE,KAAMA,GAAG,GAAGA,GAAG,EAAEC,SACrD,KAAMD,EAAE,GAAGA,GAAG,EAAEC,IAAI,OAAOA,CAAC,CA8C1B2yvB,CAAG5yvB,GAAG,KAAQC,GAAG,GAAGA,EAAE,EAAED,GAAGoX,KAAKowC,IAAI,GA3H+4F,SA2Hn4FxnD,GAAGoX,KAAKowC,IAAI,EAAEvnD,EA3HuX,OA2H5W,KAAID,GAAG,EAAEC,GAAG,GAAQ,GAAHA,IAAKD,GAAG,IAAE,IACtGqnD,EAAEjwC,KAAKowC,IAAI,EAAE,IAAI7Y,EAAI,EAAF3uC,EACnB1I,EAAI,GADmB0I,GAAGA,EAAE2uC,GAAG0Y,GAEX,OAAOgxW,GAAvB,GADEr4Z,GAAGA,EAAE1I,GAAG+vD,GACkB/vD,EAA1Bq3C,EA9H+5D,GA8H75DA,EAAK9uC,EAAEI,GAAG,EAAkB,CAAC,SACrC4yvB,GAAG7yvB,GAAG,OAAOA,EAAEm4O,SAAS,CAAC,SACzB26gB,GAAGnktB,EAAE1uC,EAAE0rO,GAA4D,GAAzDh9L,EAAE9I,MAAM,GAAG5lC,EAAE8yvB,KAAK75vB,QAAQy1C,EAAE9I,MAAM,GAAG5lC,EAAE66C,KAAK76C,EAAEg8Q,QAAQ,GAAMh8Q,EAAE+yvB,aAAanuV,GAAG,IAAI,IAC5F7ka,EAAE,EAAEA,EAAEC,EAAE8yvB,KAAK75vB,OAAO8G,IAAOC,EAAE8yvB,KAAK/yvB,GAAGurvB,GAAG58sB,EAAE9I,MAAM,GAAG5lC,EAAE8yvB,KAAK/yvB,KAAS2uC,EAAE9I,MAAM,GAAG0ltB,IAAI58sB,EAAE9I,MAAM,GAAG,GAAG8I,EAAE9I,MAAM,GAAG5lC,EAAE8yvB,KAAK/yvB,UAClH,IACAA,EAAE,EAAEA,EAAEC,EAAE8yvB,KAAK75vB,OAAO8G,IAAI2uC,EAAE9I,MAAM,GAAG5lC,EAAE8yvB,KAAK/yvB,IAAI,OAAOC,EAAE66C,MAAM,KAC7D,EAAE,KACF,EAAE,KACF,GAAG,IACH96C,EAAE,EAAEA,EAAEC,EAAEpB,KAAK3F,OAAO8G,IAAI2uC,EAAE9I,MAAM,EAAE5lC,EAAEpB,KAAKmB,IAAI,MAAM,KACnD,EAAE,KACF,EAAE,IACFA,EAAE,EAAEA,EAAEC,EAAEpB,KAAK3F,OAAO8G,IAAI2uC,EAAE9I,MAAM,GAAG5lC,EAAEpB,KAAKmB,IAAI,MAAM,KACpD,EAAE,IACFA,EAAE,EAAEA,EAAEC,EAAEpB,KAAK3F,OAAO8G,IAAI2uC,EAAE9I,MAAM,GAAG5lC,EAAEpB,KAAKmB,IAAI,MAAM,KACpD,EAAE,KACF,EAAE2uC,EAAE9I,MAAM,EAAE,GAAG,IACf7lC,EAAE,EAAEA,EAAEC,EAAEpB,KAAK3F,OAAO8G,IAAI2uC,EAAE9I,MAAM,GAAG5lC,EAAEpB,KAAKmB,IAAI,MAAM,KACpD,EAAE,IACFA,EAAE,EAAEA,EAAEC,EAAEpB,KAAK3F,OAAO,EAAE8G,IACP,IADY,IAC3B1I,EAAEu7vB,GAAG5yvB,EAAEf,IAAIc,IACXqnD,EAAE,EAAEA,EAAE,EAAEA,IAAI1Y,EAAE9I,MAAM,EAAEvuC,EAAE+vD,IAAI,MAAM,KAClC,EAAE,IACFrnD,EAAE,EAAEA,EAAEC,EAAEpB,KAAK3F,OAAO8G,IACD,IAAnB1I,EAAEu7vB,GAAG95kB,GAAG94K,EAAEf,IAAIc,KACdqnD,EAAE,EAAEA,EAAE,EAAEA,IAAI1Y,EAAE9I,MAAM,EAAEvuC,EAAE+vD,IAAI,MAAM,KAClC,EAAE,IACFrnD,EAAE,EAAEA,EAAEC,EAAEpB,KAAK3F,OAAO8G,IAAI,CACxB1I,EAAEsxa,GAAG3oa,EAAEf,IAAIc,IAAI2uC,EAAE9I,MAAM,GAAGvuC,EAAE,CAAC,MAAM,KACnC,GAAG,IACH0I,EAAE,EAAEA,EAAEC,EAAEpB,KAAK3F,OAAO,EAAE8G,IAAI,CAC1BqnD,EAAEpnD,EAAEf,IAAIc,GAAG2uC,EAAE9I,MAAM,GAAG+iY,GAAGvhX,EAAE,KAAK1Y,EAAE9I,MAAM,GAAG+iY,GAAGvhX,EAAE,IAAI,CAAC,MAAM,KAC3D,GAAG,IACHrnD,EAAE,EAAEA,EAAEC,EAAEpB,KAAK3F,OAAO,EAAE8G,IAAI,CAAC,IAC3BH,EAAEI,EAAEf,IAAIc,GAAkB,IAAf1I,EAAEu7vB,GAAG95kB,GAAGl5K,EAAE,KACrBwnD,EAAE,EAAEA,EAAE,EAAEA,IAAI1Y,EAAE9I,MAAM,EAAEvuC,EAAE+vD,IACT,IAAf/vD,EAAEu7vB,GAAG95kB,GAAGl5K,EAAE,KACVwnD,EAAE,EAAEA,EAAE,EAAEA,IAAI1Y,EAAE9I,MAAM,EAAEvuC,EAAE+vD,GAAG,EAAOskL,EAAE,GAAqB,GAAjB,EAAE1rO,EAAE8yvB,KAAK75vB,QAAUyyO,EAAE,GAAqB,GAAjB,EAAE1rO,EAAE8yvB,KAAK75vB,OAAS,CAAC,SACpF+5vB,GAAGjzvB,GAAG,OAAOA,GAAG,KAChB,EAAE,KACF,GAAG,KACH,GAAG,OAAO,EAAE,QAAQ,OAAO,EAAE,CAiBT,SACpB+3mB,GAAGppkB,GAAG,IACN3uC,EAAE,IACFrE,WAAW,GAEY,OAFTqE,EAAE,GAAG2uC,EACjB,IACF9yC,aAAamE,EAAE3G,QAAiB,EAAE,CAAC,SACnC65vB,GAAGlzvB,GAAG,OAAO,IACbgnD,GAAEhnD,EAAE,GAAMA,EAAE,IAAI,EAAEA,EAAE,IAAI,GAAGA,EAAE,GAAMA,EAAE,IAAI,EAAEA,EAAE,IAAI,GAAGA,EAAE,GAAMA,EAAE,IAAI,EAAE,CAAC,SACrEkwkB,GAAG7ohB,GAAG,IACNxnD,EAAEwnD,EAAEoE,GAAGkgL,EAAEtkL,EAAEw0X,GAAG57a,EAAEonD,EAAEmE,GAAG7c,GAAK,MAAF1uC,IAAW,EAAE,GAAM,MAAH0uC,EAAQ,OAAO9uC,EAAE8rO,EAjM42D,GAiM12D1rO,EAAiCqnD,IAAxBrnD,EAAEytvB,IAAInmsB,IAASA,IAAa,IAChGjwD,EAAE8f,KAAKowC,IAAI,GAAG,IAAIxnD,GAAGH,EAAEvI,EAAEq0O,GAAGr0O,GAlMy4D,GAkMt4D2I,GACC,OADQ0uC,EAAE,GAAG3uC,GAAG,GAAGA,GAAGoX,KAAKowC,IAAI,EAAE7Y,EAlMsX,OAmMvb3uC,GAAGoX,KAAKowC,IAAI,GAnMy6F,MAmM/5FvnD,EAAEytvB,KAAG1tvB,GAAGA,GAASA,CAAC,CAAC,SACzCmzvB,GAAGlzvB,GACY,IADT,IACNonD,EAAEpnD,EAAE/G,OAAOy1C,EAAE,EACb3uC,EAAE,EAAEA,EAAEqnD,EAAErnD,IAAQC,EAAED,GAAG,GAAEynZ,GAAE,uCAAuC94W,GAAI1uC,EAAED,GAAG,OAAO2uC,CAAC,CAE3C,SACtCqtY,GAAGh8a,GAAG,OAAOA,EAAEozvB,MAAM,CAAC,SACtB30D,GAAGz+rB,GAAG,OAAOA,EAAEqzvB,MAAM,CApH2BrssB,GAAEtuD,UAAUs6vB,YAAY,KAAKhssB,GAAEtuD,UAAUswD,KAAK,WAAW,OAAO,IAChHhC,GAAEtsD,KAAK+wD,GAAG/wD,KAAKmhb,GAAGnhb,KAAK8wD,GAAG,EAAExE,GAAEtuD,UAAU46vB,SAAS,SAAStzvB,GAAG,OAAGtF,KAAK8wD,GAAGxrD,EAAEwrD,GAAU,EAAK9wD,KAAK8wD,GAAGxrD,EAAEwrD,IAAU,EAAK9wD,KAAKmhb,GAAG77a,EAAE67a,GAAU,EAAKnhb,KAAKmhb,GAAG77a,EAAE67a,IAAU,EAAKnhb,KAAK+wD,GAAGzrD,EAAEyrD,GAAU,EAAK/wD,KAAK+wD,GAAGzrD,EAAEyrD,IAAU,EAAS,CAAC,EAAEzE,GAAEtuD,UAAU40D,QAAQ,SAASttD,GAAG,IAC7PC,EAAEvF,KAAK8wD,IAAI,GAAG7c,EAAE3uC,EAAEwrD,IAAI,GAAG,OAAGvrD,EAAE0uC,EAAS,EAAK1uC,EAAE0uC,GAAS,EAAKj0C,KAAKmhb,GAAG77a,EAAE67a,GAAU,EAAKnhb,KAAKmhb,GAAG77a,EAAE67a,IAAU,EAAKnhb,KAAK+wD,GAAGzrD,EAAEyrD,GAAU,EAAK/wD,KAAK+wD,GAAGzrD,EAAEyrD,IAAU,EAAS,CAAC,EAAEzE,GAAEtuD,UAAU66vB,IAAI,WAAW,IAClMvzvB,GAAGtF,KAAK+wD,GAAGxrD,GAAGvF,KAAKmhb,IAAI77a,GAAG,IAAuB,OAAO,IACxDgnD,GAAEhnD,EAAEC,GAD6BvF,KAAK8wD,IAAIvrD,GAAG,IACrC,EAAE+mD,GAAEtuD,UAAUwP,IAAI,SAASlI,GAAG,IACtCC,EAAEvF,KAAK+wD,GAAGzrD,EAAEyrD,GAAG9c,EAAEj0C,KAAKmhb,GAAG77a,EAAE67a,IAAI57a,GAAG,IAA2B,OAAO,IACpE+mD,GAAE/mD,EAAE0uC,EADoCj0C,KAAK8wD,GAAGxrD,EAAEwrD,IAAI7c,GAAG,IACjD,EAAEqY,GAAEtuD,UAAUi4D,IAAI,SAAS3wD,GAAG,IACtCC,EAAEvF,KAAK+wD,GAAGzrD,EAAEyrD,GAAG9c,EAAEj0C,KAAKmhb,GAAG77a,EAAE67a,IAAI57a,GAAG,IAA2B,OAAO,IACpE+mD,GAAE/mD,EAAE0uC,EADoCj0C,KAAK8wD,GAAGxrD,EAAEwrD,IAAI7c,GAAG,IACjD,EAAEqY,GAAEtuD,UAAUw2D,IAAI,SAASlvD,GAAG,IACtCC,EAAEvF,KAAK+wD,GAAGzrD,EAAEyrD,GAAG9c,GAAG1uC,EAAEwyvB,GAAG,GAAG/3vB,KAAKmhb,GAAG77a,EAAEyrD,GAAG/wD,KAAK+wD,GAAGzrD,EAAE67a,GAAqD,OAAO,IAC7G70X,GAAE/mD,EAAE0uC,GADmDA,EAAE8jtB,GAAG,GAAG/3vB,KAAK8wD,GAAGxrD,EAAEyrD,GAAG/wD,KAAKmhb,GAAG77a,EAAE67a,GAAGnhb,KAAK+wD,GAAGzrD,EAAEwrD,GAC3F,EAAExE,GAAEtuD,UAAU86vB,OAAO,WAAW,OAAiC,IAA1B94vB,KAAK+wD,GAAG/wD,KAAKmhb,GAAGnhb,KAAK8wD,GAAM,EAAExE,GAAEtuD,UAAU+6vB,MAAM,WAAW,OAAO/4vB,KAAK8wD,IAAI,GAAG,CAAC,EAAExE,GAAEtuD,UAAUg7vB,IAAI,SAAS1zvB,GAAG,OAAO,IAClKgnD,GAAEtsD,KAAK+wD,GAAGzrD,EAAEyrD,GAAG/wD,KAAKmhb,GAAG77a,EAAE67a,GAAGnhb,KAAK8wD,GAAGxrD,EAAEwrD,GAAG,EAAExE,GAAEtuD,UAAUw5Z,GAAG,SAASlyZ,GAAG,OAAO,IAC7EgnD,GAAEtsD,KAAK+wD,GAAGzrD,EAAEyrD,GAAG/wD,KAAKmhb,GAAG77a,EAAE67a,GAAGnhb,KAAK8wD,GAAGxrD,EAAEwrD,GAAG,EAAExE,GAAEtuD,UAAU2rkB,IAAI,SAASrkkB,GAAG,OAAO,IAC9EgnD,GAAEtsD,KAAK+wD,GAAGzrD,EAAEyrD,GAAG/wD,KAAKmhb,GAAG77a,EAAE67a,GAAGnhb,KAAK8wD,GAAGxrD,EAAEwrD,GAAG,EAAExE,GAAEtuD,UAAUi7vB,WAAW,SAAS3zvB,GAAU,OAAM,IAAbA,GAAI,IAAkBtF,KAAQsF,EAAE,GAAU,IACxHgnD,GAAEtsD,KAAK+wD,IAAIzrD,EAAEtF,KAAKmhb,IAAI77a,EAAEtF,KAAK+wD,IAAI,GAAGzrD,EAAEtF,KAAK8wD,IAAIxrD,EAAEtF,KAAKmhb,IAAI,GAAG77a,GAAMA,EAAE,GAAU,IAC/EgnD,GAAE,EAAEtsD,KAAK+wD,IAAIzrD,EAAE,GAAGtF,KAAKmhb,IAAI77a,EAAE,GAAGtF,KAAK+wD,IAAI,GAAGzrD,GAAU,IACtDgnD,GAAE,EAAE,EAAEtsD,KAAK+wD,IAAIzrD,EAAE,GAAG,EAAEgnD,GAAEtuD,UAAUk7vB,qBAAqB,SAAS5zvB,GAAU,OAAM,IAAbA,GAAI,IAAkBtF,KAAQsF,EAAE,GAAU,IAC7GgnD,GAAEtsD,KAAK+wD,IAAIzrD,EAAEtF,KAAKmhb,IAAI,GAAG77a,EAAEtF,KAAKmhb,IAAI77a,EAAEtF,KAAK8wD,IAAI,GAAGxrD,EAAEtF,KAAK8wD,IAAIxrD,GAAMA,EAAE,GAAU,IAC/EgnD,GAAEtsD,KAAKmhb,IAAI77a,EAAE,GAAGtF,KAAK8wD,IAAI,GAAGxrD,EAAEtF,KAAK8wD,IAAIxrD,EAAE,GAAG,GAAU,IACtDgnD,GAAEtsD,KAAK8wD,IAAIxrD,EAAE,GAAG,EAAE,EAAE,EAAEgnD,GAAEtuD,UAAUm7vB,YAAY,SAAS7zvB,GAAU,GAAM,IAAbA,GAAI,IAAW,OAAOtF,KAAK,IACrFi0C,EAAEj0C,KAAK8wD,IAAI,IAAI,GAAG,GAAGxrD,EAAE,GAAG,OAAO,IACjCgnD,GAAEtsD,KAAK+wD,IAAIzrD,EAAEtF,KAAKmhb,IAAI,GAAG77a,EAAEtF,KAAKmhb,IAAI77a,EAAE2uC,GAAG,GAAG3uC,EAAEtF,KAAK8wD,IAAI,IAAIxrD,IAAI,IAAI,IACnEC,EAAEvF,KAAK8wD,IAAI,IAAI,GAAG,OAAGxrD,EAAE,GAAU,IACjCgnD,GAAEtsD,KAAKmhb,IAAI77a,EAAE,GAAGtF,KAAK8wD,IAAI,GAAGxrD,EAAEtF,KAAK8wD,IAAI,IAAIxrD,EAAE,IAAI,GAAGC,EAAEsrvB,IAAW,IACjEvksB,GAAEtsD,KAAK8wD,IAAI,IAAIxrD,EAAE,GAAGC,EAAEA,EAAE,EAAE+mD,GAAEtuD,UAAUo7vB,KAAK,WAAWp5vB,KAAK8wD,GAAG9wD,KAAK8wD,IAAI,EAAE9wD,KAAKmhb,IAAI,GAAGnhb,KAAKmhb,IAAInhb,KAAKmhb,IAAI,EAAEnhb,KAAK+wD,IAAI,IAAIu/rB,GAAGtwvB,KAAK+wD,GAAG/wD,KAAK+wD,IAAI,EAAEu/rB,EAAE,EAAEhksB,GAAEtuD,UAAUq7vB,KAAK,WAAWr5vB,KAAK+wD,IAAI/wD,KAAK+wD,KAAK,EAAE/wD,KAAKmhb,IAAI,IAAImvU,GAAGtwvB,KAAKmhb,IAAInhb,KAAKmhb,KAAK,EAAEnhb,KAAK8wD,IAAI,IAAIw/rB,GAAGtwvB,KAAK8wD,GAAG9wD,KAAK8wD,KAAK,CAAC,EAAExE,GAAEtuD,UAAUs7vB,QAAQ,SAAS18vB,GAE/R,IAFkS,IAC3Sq3C,EAAE,EAAE1uC,EAAEvF,KAAKsuD,OAAOhpD,EAAE1I,EAAE0xD,OAAO3B,EAAE,IAC/BL,GAAE,EAAE,EAAE,GAAS/mD,EAAEqzvB,SAAStzvB,GAAG,GAAG2uC,IAAI3uC,EAAE8zvB,OAAO,KAAMnltB,GAAG,GAAGA,IAAI0Y,EAAEyssB,OAAU7zvB,EAAEqzvB,SAAStzvB,IAAI,IAAGqnD,EAAEoE,KAAKxrD,EAAEA,EAAE0wD,IAAI3wD,IAAGA,EAAE+zvB,OAAO,MAAM,CAACE,SAAS5ssB,EAAE6ssB,QAAQj0vB,EAAE,EAAE+mD,GAAEtuD,UAAUwsC,IAAI,SAASllC,GAAG,IAChLC,EAAEvF,KAAQsF,EAAEwzvB,UAASpnV,KAAK,IAC1B/kX,EAAEpnD,EAAEurD,GAAGxrD,EAAEwrD,GAAMvrD,EAAEurD,GAAGkisB,KAAGztvB,EAAEA,EAAEszvB,OAASvzvB,EAAEwrD,GAAGkisB,KAAG1tvB,EAAEA,EAAEuzvB,OAAM,IACtD5ktB,EAAE1uC,EAAE+zvB,QAAQh0vB,GAAGi0vB,SAA2B,OAAf5ssB,EAAEqmsB,KAAG/+sB,EAAEA,EAAE4ktB,OAAa5ktB,CAAC,EAAEqY,GAAEtuD,UAAUi+R,IAAI,SAAS12R,GAAG,IAChFD,EAAEtF,KAAQuF,EAAEuzvB,UAASpnV,KAAK,IAC1B/kX,EAAErnD,EAAEwrD,GAAMxrD,EAAEwrD,GAAGkisB,KAAG1tvB,EAAEA,EAAEuzvB,OAAStzvB,EAAEurD,GAAGkisB,KAAGztvB,EAAEA,EAAEszvB,OAAM,IACjD5ktB,EAAE3uC,EAAEg0vB,QAAQ/zvB,GAAGi0vB,QAA0B,OAAf7ssB,EAAEqmsB,KAAG/+sB,EAAEA,EAAE4ktB,OAAa5ktB,CAAC,EAAEqY,GAAEtuD,UAAUospB,MAAM,WAAW,OAAOpqpB,KAAK+wD,GAAG/wD,KAAKmhb,IAAI,EAAE,EAAE70X,GAAEtuD,UAAU27sB,QAAQ,WAAW,OAAO35sB,KAAK8wD,IAAI,IAAIp0C,KAAKowC,IAAI,EAAE,IAAI9sD,KAAKmhb,GAAGzka,KAAKowC,IAAI,EAAE,IAAI9sD,KAAK+wD,EAAE,EAAEzE,GAAEtuD,UAAUy/O,QAAQ,WAAW,MAAM,CAACz9O,KAAK8wD,IAAI,EAAE9wD,KAAK8wD,GAAGg0Z,EAAG9kd,KAAKmhb,IAAI,GAAGnhb,KAAKmhb,IAAI,EAAE2jC,EAAG9kd,KAAKmhb,GAAG2jC,EAAG9kd,KAAK+wD,IAAI,GAAG/wD,KAAK+wD,IAAI,EAAE+zZ,EAAG9kd,KAAK+wD,GAAG+zZ,EAAG,EAAEx4Z,GAAEtuD,UAAU26vB,KAAK,WAAW,OAAO34vB,KAAK+wD,IAAI/wD,KAAKmhb,GAAG2jC,IAAK,EAAE,EAAEx4Z,GAAEtuD,UAAU06vB,KAAK,WAAW,OAAO14vB,KAAKmhb,KAAK,EAAE0vU,GAAG7wvB,KAAK8wD,IAAI,EAAE,EAoF1b,IACtB2osB,GAAGtvV,GAAG,SACNuvV,GAAGzltB,EAAE0Y,EAAEpnD,EAAED,GAAGtF,KAAKogD,KAAKnM,EAAEj0C,KAAKuhR,OAAO50N,EAAE3sD,KAAKq4vB,KAAK9yvB,EAAEvF,KAAKmE,KAAKmB,CAAC,CA2CqD,SAClH+3b,GAAGppZ,EAAE0Y,EAAEpnD,EAAED,GAAGtF,KAAKogD,KAAKnM,EAAEj0C,KAAKuhR,OAAO50N,EAAE3sD,KAAKq4vB,KAAK9yvB,EAAEvF,KAAKmE,KAAKmB,CAAC,CAK4K,SACzOq0vB,GAAG1ltB,EAAE0Y,EAAErnD,EAAEC,GAAG,IACZ3I,EAAE27vB,GAAGtktB,GAAuD,OAAjDwktB,GAAGnzvB,GAAG1I,GAAG2I,EAAE/G,QAAOuuZ,GAAE,6BAAmC,GAAHpgW,GAAgB,GAAVrnD,EAAE9G,QAAc,GAAH5B,EAAY,IAC9Fygc,GAAGppZ,EAAE0Y,EAAErnD,EAAEC,GAAU,IACnBm0vB,GAAGzltB,EAAE0Y,EAAErnD,EAAEC,EAAE,CAAC,SACZ2pd,GAAG3pd,GAAOgyvB,GAAGqC,UAAQrC,GAAGqC,QAAQ,CAACx9rB,EAAE92D,GAAEguvB,KAAK,IAAG90V,GAAG+4V,GAAGqC,QAAQr0vB,EAAE,CAAC,SAC9Ds0vB,GAAGt0vB,EAAEs/C,EAAE+E,GAAG,IACV7qD,EAAEwG,EAAEu0vB,WAAa/6vB,EAAE,GAAGA,EAAE,KAAGmwd,GAAG,oDAAoD,IAClFxwd,EAAE6G,EAAEu0vB,UAAU1luB,EAAE11B,EAAEomd,EAAG/nZ,EAAEr+D,GAAG,EAAE,EAAEsuE,EAAE,GAAG,GAAGpjB,GAAGugX,GAAG,IAAI,IAChD7ka,EAAE,EAAEA,EAAEvG,EAAEuG,IAAI,CAAC,IACbN,EAAEO,EAAEw0vB,UAAU,GAAG/0vB,GAAG6rvB,GAAG,CAAC,IACxBp1uB,EAAElW,EAAEy0vB,UAAU31rB,EAAE9+D,EAAEy0vB,UAAgB,GAAHv+uB,GAAKyzc,GAAG,qDAAqDlqd,EAAEq/D,CAAC,CAAC2I,EAAElpE,KAAKkB,EAAE,MACzG,IACAM,EAAE,EAAEA,EAAEvG,EAAEuG,IAAI0nE,EAAElpE,KAAKyB,EAAEy0vB,WAAW,IAChCrtsB,EAAE8rsB,GAAGzrrB,GAAG7nE,EApGsB,SAC3BI,EAAEonD,GAAG,IACRrnD,EAAE,OAAOC,GAAG,KACZ,EASqB,KACrB,GAAGD,EAAEnE,aAAa,MAVK,KACvB,EASwB,KACxB,GAAGmE,EAAElE,aAAa,MAVK,KACvB,EAAEkE,EAAEzE,UAAU,MAAM,KACpB,EAQwB,KACxB,GAAGyE,EAAExG,WAAW,MATK,KACrB,EAAEwG,EAAEvE,WAAW,MAAM,KACrB,EAAEuE,EAAEtE,YAAY,MAAM,KACtB,EAAqB,KACrB,EAAqB,KACrB,EAAqB,KACrB,EAAEsE,EAAErE,WAKO,OAFeqE,GAAEynZ,GAAE,qCAC5B,IACFznZ,EAAEqnD,EAAE4rsB,GAAGhzvB,GAAY,CAmFT00vB,CAAG7luB,EAAEu4B,GAAGskL,EAAE0ohB,GAAGvluB,EAAE2oC,EAAEiQ,EAAE7nE,GAAG,OAAOivB,GAAG,KAC1C,EAAE,IACF9uB,EAAE,EAAEA,EAAEqnD,EAAErnD,IAAIH,EAAEG,GAAGC,EAAE20vB,SAAS,MAAM,KAClC,EAAE,KACF,GAAG,IACH50vB,EAAE,EAAEA,EAAEqnD,EAAErnD,IAAIH,EAAEG,GAAGC,EAAE40vB,SAAS,MAAM,KAClC,EAAE,IACF70vB,EAAE,EAAEA,EAAEqnD,EAAErnD,IAAIH,EAAEG,GAAGC,EAAE60vB,UAAU,MAAM,KACnC,EAAE,IACF90vB,EAAE,EAAEA,EAAEqnD,EAAErnD,IAAIH,EAAEG,GAAGC,EAAEw0vB,UAAU,MAAM,KACnC,EAAE,IACFz0vB,EAAE,EAAEA,EAAEqnD,EAAErnD,IAAIH,EAAEG,GAAGC,EAAEu0vB,UAAU,MAAM,KACnC,EAAE,KACF,EACEv0vB,EAAE40vB,UAAcjrS,GAAG,4DAA4D,IACjF5pd,EAAE,EAAEA,EAAEqnD,EAAErnD,IAAIH,EAAEG,GAAGC,EAAEu0vB,UAAU,MAAM,KACnC,EAAE,IACFl9vB,EAAE,IACF6X,MAAM,GAAG,IACTnP,EAAE,EAAEA,EAAEqnD,EAAErnD,IAAI,CAAC,IAAI,IACjB2uC,EAAE,EAAEA,EAAE,EAAEA,IAAIr3C,EAAEq3C,GAAG1uC,EAAE40vB,SAAS,IAC5B94mB,EAAEm3mB,GAAG57vB,GAAGq0O,EAAE1sO,IAAIe,EAAE+7I,EAAE,CAAC,MAAM,KACzB,EAES,IADTzkJ,EAAE,IACF6X,MAAM,GACNnP,EAAE,EAAEA,EAAEqnD,EAAErnD,IAAI,CAAC,IACb2uC,EAAE,EAAEA,EAAE,EAAEA,IAAIr3C,EAAEq3C,GAAG1uC,EAAE40vB,SAAS,IAC5Bh9sB,EAAEq4hB,GAAGgjL,GAAG57vB,IAAIq0O,EAAE1sO,IAAIe,EAAE63C,EAAE,CAAC,MAAM,KAC7B,EAAE,IACF73C,EAAE,EAAEA,EAAEqnD,EAAErnD,IAAI,CACZ63C,EAAEkgkB,GAAG93mB,EAAEu0vB,WAAW7ohB,EAAE1sO,IAAIe,EAAE63C,EAAE,CAAC,MAAM,KACnC,GAAG,IACH73C,EAAE,EAAEA,EAAEqnD,EAAErnD,IAAI,CAAC,IACbgnD,EAAE+wjB,GAAG93mB,EAAEu0vB,WAAWr9sB,EAAE4gkB,GAAG93mB,EAAEu0vB,WAAW7ohB,EAAE1sO,IAAIe,EAAE,CAACuvvB,GAAGvosB,EAAE7P,GAAG,CAAC,MAAM,KAC5D,GAES,IADT7/C,EAAE,IACF6X,MAAM,GACNnP,EAAE,EAAEA,EAAEqnD,EAAErnD,IAAI,CAAC,IACb2uC,EAAE,EAAEA,EAAE,EAAEA,IAAIr3C,EAAEq3C,GAAG1uC,EAAE40vB,SACP,IAAZ7tsB,EAAEkphB,GAAGgjL,GAAG57vB,IACRq3C,EAAE,EAAEA,EAAE,EAAEA,IAAIr3C,EAAEq3C,GAAG1uC,EAAE40vB,SACnB19sB,EAAE+4hB,GAAGgjL,GAAG57vB,IAAIq0O,EAAE1sO,IAAIe,EAAE,CAACuvvB,GAAGvosB,EAAE7P,GAAG,EAAoB,OAAboI,EAAE,GAAS,GAAL,EAAE9lD,GAAY46vB,GAAGvluB,EAAE2oC,EAAEiQ,EAAE7nE,EAAE,CAAC,SACpEk1vB,GAAG/0vB,EAAEC,EAAE0uC,GAAG,OAAO3uC,EAAEstD,QAAQrtD,EAAE0uC,EAAE,CAAC,SAChCg3I,GAAG3lL,EAAEC,GAAG,OAAOmX,KAAK49uB,KAAKh1vB,EAAEC,EAAE,CAAC,SAC9Bgc,GAAEhc,EAAED,GAAoF,OAAjFA,EAAE2lL,GAAG3lL,GAAE,aAAwDC,GAALA,GAAnBD,EAAE2lL,GAApB3lL,EAAEA,GAAG,GAAGA,IAAI,GAAa,aAAsB,GAAGC,IAAI,KAAgBA,GAAG,GAAG,GAAC,UAAiB,CAAC,CAChF,SAC3Ci5b,GAAGl5b,EAAEC,GAAG,OAFoH,SACzHD,EAAEC,GAA6B,OAA1BD,EAAEic,GAAEjc,EAAEy+rB,GAAGx+rB,IAAMgc,GAAEjc,EAAEg8a,GAAG/7a,GAAY,CAC3Bg1vB,CAAGj1vB,EAAE+4K,GAAG94K,GAAG,CAAC,SAC3Bi1vB,GAAGvmtB,GAAG,IACN1uC,EAAEkzvB,GAAGxktB,EAAEoktB,MAAM1rsB,EAAE,EAAE,OAAO1Y,EAAEmM,MAAM,KAChC,EAAE,KACF,EAAE,KACF,GAAM76C,EAAE0tvB,KAAG1tvB,EAAE0tvB,IAAG,IAChBr2vB,EAAE,EAAE0I,EAAE,EAAE,IAAIA,EAAE,EAAEA,EAAE,GAAG2uC,EAAE9vC,KAAK3F,OAAO8G,GAAG,EAAgEqnD,EAAEprC,GAAEorC,EAAjE/vD,EAAEq3C,EAAE9vC,KAAKmB,EAAE,GAAG2uC,EAAE9vC,KAAKmB,EAAE,IAAI,EAAE2uC,EAAE9vC,KAAKmB,EAAE,IAAI,GAAG2uC,EAAE9vC,KAAKmB,EAAE,IAAI,IAAgB,OAAJ1I,EAAE,EAAW,EAAF2I,GAAK,KAC/H,EAAE3I,EAAEq3C,EAAE9vC,KAAKmB,EAAE,IAAI,GAAG,KACpB,EAAE1I,GAAGq3C,EAAE9vC,KAAKmB,EAAE,IAAI,EAAE,KACpB,EAAiBqnD,EAAEprC,GAAEorC,EAAnB/vD,GAAGq3C,EAAE9vC,KAAKmB,EAAE,IAAY,MAAM,KAChC,EAAE,KACF,EAAKC,EAAEypvB,IAAGzpvB,EAAEypvB,GACZpyvB,EAAE,EAAE0I,EAAE,EAAE,IAAIA,EAAE,EAAEA,EAAE,GAAG2uC,EAAE9vC,KAAK3F,OAAO8G,GAAG,EAAiCqnD,EAAEprC,GAAEorC,EAAlC/vD,EAAEq3C,EAAE9vC,KAAKmB,EAAE,GAAG2uC,EAAE9vC,KAAKmB,EAAE,IAAI,IAAkB,EAAFC,IAAQonD,EAAEprC,GAAEorC,EAAE1Y,EAAE9vC,KAAKmB,KAAI,MAAM,KACnH,EAAKC,EAAE,KAAGA,EAAE,IAAG,IACfD,EAAE,EAAEA,EAAEC,EAAED,IAAIqnD,EAAEprC,GAAEorC,EAAE1Y,EAAE9vC,KAAKmB,IAAI,MAAM,KACnC,EAAE,KACF,EAAKC,EAAE,KAAGA,EAAE,IAAG,IACfD,EAAE,EAAEA,EAAEC,EAAED,IAAIqnD,EAAEprC,GAAEorC,EAAE1Y,EAAE9vC,KAAKmB,IAAI,MAAM,KACnC,EAAKC,EAAE,KAAGA,EAAE,IAAGA,GAAG,EAAE,IACpBD,EAAE,EAAEA,EAAEC,EAAED,IAAIqnD,EAAEprC,GAAEorC,EAAE1Y,EAAE9vC,KAAKmB,IAAI,MAAM,KACnC,GAAGC,GAAG,EAAE,KACR,EAAKA,EAAE,KAAGA,EAAE,IAAG,IACfD,EAAE,EAAEA,EAAEC,EAAED,IAAIqnD,EAAE6xY,GAAG7xY,EAAE1Y,EAAE9vC,KAAKmB,IAAI,MAAM,KACpC,GAAGC,GAAG,EAAE,KACR,EAAKA,EAAE,KAAGA,EAAE,IAAG,IACfD,EAAE,EAAEA,EAAEC,EAAED,IAAIqnD,EAAE6xY,GAAG7xY,EAAE1Y,EAAE9vC,KAAKmB,IAAU,OAAOqnD,CAAC,CAtIkB+ssB,GAAG17vB,UAAUs6vB,YAAYmB,GAAGC,GAAG17vB,UAAUwjB,OAAO,SAASjc,GAAG,IAC1H0uC,EAAE,EAGoH,GAFlH,iBAAJ1uC,IAAaA,EAAE,CAACA,IAAQA,aAExBkP,OAAOs4Y,GAAE,+BAAkC/sZ,KAAKq4vB,KAAK75vB,QAAQ+G,EAAE/G,QAAOuuZ,GAAE,8CAA8D,GAAb/sZ,KAAKuhR,OAAU,IAAI,IAC5Ij8Q,EAAE,EAAEA,EAAEtF,KAAKq4vB,KAAK75vB,OAAO8G,KAAQC,EAAED,GAAG,GAAGC,EAAED,IAAItF,KAAKq4vB,KAAK/yvB,KAAGm6O,KAAKxrM,EAAEA,EAAEj0C,KAAKq4vB,KAAK/yvB,GAAGC,EAAED,QAClF,IACAA,EAAEtF,KAAKq4vB,KAAK75vB,OAAO,EAAE8G,GAAG,EAAEA,KAAQC,EAAED,GAAG,GAAGC,EAAED,GAAGtF,KAAKq4vB,KAAK/yvB,KAAGm6O,KAAKxrM,EAAEA,EAAEj0C,KAAKq4vB,KAAK/yvB,IAAIC,EAAED,GAAG,GAAG,OAAO2uC,CAAC,EAAEyltB,GAAG17vB,UAAUwG,IAAI,SAASc,GAAG,OAAOtF,KAAKogD,MAAM,KACpJ,EACsC,OAf4C,SAC/E76C,EAAED,GAAG,OAAO,IACfgnD,GAAE/mD,EAAE+qvB,GAAG/qvB,IAAI,GAAGu/c,GAAIx/c,EAAEurvB,KAAK,EAAEvrvB,IAAI,GAAGurvB,GAAG,CAaQ4J,CAA3Cz6vB,KAAKmE,KAAO,EAAFmB,EAAI,GAAKtF,KAAKmE,KAAO,EAAFmB,EAAI,IAAkB,KACrD,GAAG,KACH,GAAG,IACH1I,EAAEoD,KAAKmE,KAAO,EAAFmB,EAAI,GAAG2uC,EAAEj0C,KAAKmE,KAAO,EAAFmB,EAAI,GAAG,MAAM,CAACuvvB,GAAGj4vB,EAAEq3C,GAAG,QAAQ,OAAOj0C,KAAKmE,KAAKmB,GAAG,EAAEo0vB,GAAG17vB,UAAUuG,IAAI,SAASe,EAAEC,GAAG,OAAOvF,KAAKogD,MAAM,KACpI,EAAEpgD,KAAKmE,KAAO,EAAFmB,EAAI,GAAGy+rB,GAAGx+rB,GAAGvF,KAAKmE,KAAO,EAAFmB,EAAI,GAAGg8a,GAAG/7a,GAAG,MAAM,KACtD,GAAG,KACH,GAAGvF,KAAKmE,KAAO,EAAFmB,EAAI,GAAGC,EAAE,GAAGvF,KAAKmE,KAAO,EAAFmB,EAAI,GAAGC,EAAE,GAAG,MAAM,QAAQvF,KAAKmE,KAAKmB,GAAGC,EAAQ,OAAO,CAAC,EAAEm0vB,GAAG17vB,UAAUy0D,KAAK,SAASltD,GAAG,OAAOvF,KAAKogD,MAAM,KAC5I,EAAE,IACFnM,EAAE8vpB,GAAGx+rB,GAAG3I,EAAE0kb,GAAG/7a,GAAG,GAAG0uC,GAAGr3C,EAAEoD,KAAKmE,KAAKsuD,KAAKxe,QACvC,IAAI,IACJ3uC,EAAE,EAAEA,EAAEtF,KAAKmE,KAAK3F,OAAO8G,IAAItF,KAAKmE,KAAKmB,GAAGA,EAAE,GAAG,EAAE2uC,EAAEr3C,EAAE,MAAM,KACzD,GAAG,KACH,GAAG,IACH+vD,EAAEpnD,EAAE,GAAGJ,EAAEI,EAAE,GAAG,GAAGonD,GAAGxnD,EAAEnF,KAAKmE,KAAKsuD,KAAK9F,QACrC,IACArnD,EAAE,EAAEA,EAAEtF,KAAKmE,KAAK3F,OAAO8G,IAAItF,KAAKmE,KAAKmB,GAAGA,EAAE,GAAG,EAAEqnD,EAAExnD,EAAE,MAAM,QAAQnF,KAAKmE,KAAKsuD,KAAKltD,GAAS,EAAEm0vB,GAAG17vB,UAAU40D,QAAQ,SAASrtD,EAAE0rO,GAAG,GAAGjxO,KAAKuhR,QAAQh8Q,EAAEg8Q,QAAQvhR,KAAKogD,MAAM76C,EAAE66C,KAAK,CAAC,IAC3KxjD,EAAEoD,KAAKogD,KAAKpgD,KAAKuhR,QAAQ,EAAuB,OAAnBh8Q,EAAE66C,KAAK76C,EAAEg8Q,QAAQ,GAAW3kR,CAAC,CAAC,GAAGoD,KAAKq4vB,KAAK75vB,QAAQ+G,EAAE8yvB,KAAK75vB,OAAO,OAAO+G,EAAE8yvB,KAAK75vB,OAAOwB,KAAKq4vB,KAAK75vB,OAAO,IAAI,IACxI8G,EAAE,EAAEA,EAAEtF,KAAKq4vB,KAAK75vB,OAAO8G,IAAI,GAAGtF,KAAKq4vB,KAAK/yvB,IAAIC,EAAE8yvB,KAAK/yvB,GAAG,OAAOtF,KAAKq4vB,KAAK/yvB,GAAGC,EAAE8yvB,KAAK/yvB,IAAI,EAAE,EAAE,OAAOtF,KAAKogD,MAAM,KAC3G,EAAE,KACF,EAAE,KACF,GAAG,KACH,GAAG,IACHnM,EAAE0Y,EAAE,IACJrnD,EAAE,EAAEA,EAAEtF,KAAKmE,KAAK3F,OAAO8G,IAAI,CAA4B,IAA3B2uC,EAAEj0C,KAAKmE,KAAKmB,KAAGqnD,EAAEpnD,EAAEpB,KAAKmB,IAAU,OAAO,EAAE,GAAG2uC,EAAE0Y,EAAE,OAAO,EAAE,GAAG1Y,GAAG0Y,EAAE,CAAC,IAAIskL,EAAE,OAAOrkL,IAAI,GAAG3Y,GAAGA,EAAE,OAAO,EAAE,GAAG0Y,GAAGA,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,KAC1J,EAAE,IACFrnD,EAAE,EAAEA,EAAEtF,KAAKmE,KAAK3F,OAAO8G,GAAG,EAAE,CAAC,GAAGtF,KAAKmE,KAAKmB,EAAE,GAAGC,EAAEpB,KAAKmB,EAAE,GAAG,OAAO,EAAE,GAAGtF,KAAKmE,KAAKmB,EAAE,GAAGC,EAAEpB,KAAKmB,EAAE,GAAG,OAAO,EAAE,GAAGtF,KAAKmE,KAAKmB,KAAK,EAAEC,EAAEpB,KAAKmB,KAAK,EAAE,OAAO,EAAE,GAAGtF,KAAKmE,KAAKmB,KAAK,EAAEC,EAAEpB,KAAKmB,KAAK,EAAE,OAAO,CAAC,CAAC,MAAM,KACvM,EAAE,KACF,EAAE,KACF,EAAE,KACF,EAAE,KACF,EAAE,KACF,EAAE,KACF,EAAE,KACF,GAAG,IACHA,EAAE,EAAEA,EAAEtF,KAAKmE,KAAK3F,OAAO8G,IAAI,CAAC,GAAGtF,KAAKmE,KAAKmB,GAAGC,EAAEpB,KAAKmB,GAAG,OAAO,EAAE,GAAGtF,KAAKmE,KAAKmB,GAAGC,EAAEpB,KAAKmB,GAAG,OAAO,CAAC,EAAO,OAAO,CAAC,EAClD+3b,GAAGr/b,UAAU,IAC3E07vB,GAAKr8T,GAAGr/b,UAAUwjB,OAAO,SAASlc,GAIyB,MAHvD,iBAAJA,IAAgBA,aAEhBmP,OAAiB,GAAVnP,EAAE9G,OAAU8G,EAAEA,EAAE,GACvBynZ,GAAE,8BAA+BznZ,EAAE,GAAGA,GAAGtF,KAAKq4vB,KAAK,KAAG54gB,KAAYn6O,CAAC,EAAE+3b,GAAGr/b,UAAUwG,IAAI,SAASc,GAAG,OAAOtF,KAAKmE,KAAKmB,EAAE,EAAE+3b,GAAGr/b,UAAUuG,IAAI,SAASe,EAAEC,GAAkB,OAAfvF,KAAKmE,KAAKmB,GAAGC,EAAS,CAAC,EAAE83b,GAAGr/b,UAAUy0D,KAAK,SAASntD,GAAqB,OAAlBtF,KAAKmE,KAAKsuD,KAAKntD,GAAU,CAAC,EAkGxM,IAC/Bo1vB,GAAG,CAAC,GAAK,CAACr6vB,YAVgG,SACvG4zC,EAAE0Y,GAEI,IAFD,IACRpnD,EAAE,IACFkP,MAAM,GACNnP,EAAE,EAAEA,EAAE,EAAEA,IAAIC,EAAED,GAAG2uC,EAAEkmtB,SAAgB,OAAPxtsB,EAAE,GAAG,EAAS6rsB,GAAGjzvB,EAAE,EAMtBnG,UANuB,SAC7CxC,EAAE+vD,EAAEpnD,GACC,IADE,IACV0uC,EAAEkktB,GAAGxrsB,GACLrnD,EAAE,EAAEA,EAAE,EAAEA,IAAI1I,EAAEuuC,MAAM,EAAE8I,EAAE3uC,IAAIC,EAAE,GAAG,EAAEA,EAAE,GAAG,CAAC,EAGHo1vB,aAAa,EAAE/nsB,QAHX,SACvCttD,EAAEC,EAAE0uC,GAAG,OAAO3uC,EAAEstD,QAAQrtD,EAAE,EAEmC8gF,KAFlC,SAC3B/gF,GAAG,OAAOA,EAAEqzvB,OAAOrzvB,EAAEozvB,MAAM,GAC2C,GAAK,CAACr4vB,YAdlC,SAC1CiF,EAAEC,GAAU,OAAPA,EAAE,GAAG,EAASD,EAAEw0vB,SAAS,EAa6Da,aAAa,GAAG,GAAK,CAACt6vB,YAblF,SAC/BiF,EAAEC,GAAG,OAAOD,EAAE60vB,UAAU,KAC3B,EAAS,OAAP50vB,EAAE,GAAG,EAASD,EAAEw0vB,UAAU,KAC5B,EAAE5qS,GAAG,+CAA+C,QAAQA,GAAG,0CAA0C,EAU0ByrS,aAAa,GAAG,UAAY,CAACt6vB,YAAY,SAASiF,EAAEC,GAAG,OAAOs0vB,GAAGv0vB,EAAEC,EAAE,YAAY,EAAEnG,UAAUg5vB,GAAGxlsB,QAAQynsB,GAAGh0qB,KAAKm0qB,IAAI,UAAY,CAACn6vB,YAAY,SAASiF,EAAEC,GAAG,OAAOs0vB,GAAGv0vB,EAAEC,EAAE4ka,GAAG,EAAE/qa,UAAUg5vB,GAAGxlsB,QAAQynsB,GAAGh0qB,KAAKm0qB,KAAK,SACnVj4V,GAAGj9Z,GAAG,OAAOo1vB,GAAGp1vB,EAAEgzvB,cAAcoC,GAAGp1vB,EAAEgzvB,aAAa1lsB,OAAO,CAAC,SAC1DgosB,GAAGz1vB,EAAE8uC,EAAE0Y,EAAE/vD,GAAG,IACZ2I,EAAEg9Z,GAAGtuX,GAAG,GAAG1uC,EAAE,CAAC,IACdD,EAAEqnD,EAAE,EAAEpnD,EAAE0uC,EAAE9uC,EAAEvI,GAAG2I,EAAEJ,EAAE8uC,EAAEr3C,GAAG,GAAGA,GAAG0I,GAAGA,EAAE,OAAOqnD,EAAE,IAAIrnD,IAAIA,EAAE,OAAOA,EAAE,GAAM,EAAFA,EAAQ,OAAS,EAAFA,CAAG,CAAC,OAAOqnD,CAAC,CAAC,SAC/FkusB,GAAGv1vB,GAAG,OAAOA,aAEb6xvB,EAAE,CAAC,SACHvnV,GAAGtqa,GAAG,OAAOu1vB,GAAGv1vB,EAAE,CAAC,SACnBw1vB,GAAGx1vB,GAAG,GACF,iBAAJA,EAAa,OAAO4rvB,GACpB,GAAG2J,GAAGv1vB,GAAG,OAAO+prB,GAChB,GAAGz/Q,GAAGtqa,GAAG,OAAO,KAChB,GAAGA,aAEHmP,OAAOnP,EAAE,KAAKA,EAAE,KAAK,GAAGA,EAAE,IAAIwtvB,GAAG,CAAC,IAClCvtvB,EAAO,EAALD,EAAE,GAAK,OAAOC,GAAGsvvB,GAAG,EAAEtvvB,CAAC,CACzB,OAAGD,aAEH7D,QAEG,iBAAH6D,EArXihC,MAsX9gCA,aAEH2qD,OAAcihsB,GACX5rvB,GAAGA,EAAEgzvB,YAAmB1F,GACxBttvB,GAAGA,EAAEstD,QAAe,KAEpB,mBAAHttD,EAAqB,KAElB,iBAAHA,EAAmB,KAAY,IAAI,CAAC,SACpC2hd,GAAG3hd,EAAEC,GAAG,OAAGD,EAAEC,GAAS,EAAKD,GAAGC,EAAS,EAAS,CAAC,CAAC,SAClDw1vB,GAAGz1vB,EAAEC,GAA6B,OAAtB,EAAJD,EAAEmW,GAAKw7uB,GAAG3xvB,GAAO,EAAJC,EAAEkW,GAAKw7uB,GAAG1xvB,GAAUD,EAAE2uC,EAAE1uC,EAAE0uC,GAAG,EAAE3uC,EAAE2uC,EAAE1uC,EAAE0uC,EAAE,EAAE,CAAC,CAAC,SAChE+mtB,GAAG11vB,EAAEC,GAAG,OAAOw1vB,GAAGz1vB,EAAEC,EAAE,CAAC,SACvB01vB,GAAG31vB,EAAEC,EAAEonD,GACF,IADK,IACV/vD,EAAE,KAAU,CAAC,IAAK+vD,GAAGrnD,IAAIC,EAAG,CAAC,IAC7BJ,EAAE21vB,GAAGx1vB,GAAG,GAAGH,GAAG6sa,GAAG,CAAC1sa,EAAEA,EAAE,GAAG,QAAQ,CAAC,IAClC2rO,EAAE6phB,GAAGv1vB,GAAG,GAAG0rO,GAAG+gM,GAAG,CAACzsa,EAAEA,EAAE,GAAG,QAAQ,CAAC,GAAGJ,IAAI8rO,EAAG,OAAG9rO,GAAG+rvB,GAAOjghB,GAAG2hhB,GAAUgI,GAAGt1vB,EAAEC,GAAG,EAAEonD,IAAU,EAAKskL,GAAGighB,GAAO/rvB,GAAGytvB,GAAUgI,GAAGr1vB,EAAED,EAAE,EAAEqnD,GAAU,EAASxnD,EAAE8rO,GAAG,EAAE,EAAE,OAAO9rO,GAAG,KACrK,IAEyC,KACzC,IAOwD,KACxD,KAAK4nZ,GAAE4pW,IAAI,MAXK,KAChB,IACgB,GAAM,IAAtB1itB,EAAEgza,GAAG3hd,EAAE,GAAGC,EAAE,KAAY,OAAS,EAAF0uC,EAAI,MACnB,KAChB,IAAI84W,GAAE,6CAA6C,MAAM,KACzD,IAAIA,GAAE,yBAAyB,MAAM,KACrC,IAAI,GAAGznZ,IAAIC,EACD,GAAM,IAAhB0uC,EAAE8mtB,GAAGz1vB,EAAEC,IAAW,OAAS,EAAF0uC,EAAI,MAAM,KACnC,IAAI84W,GAAE,4CAA4C,MAAM,KACxD,IAAIA,GAAE,kDAAkD,MAAM,KAC9D,IAAIA,GAAE,4CAA4C,MACjC,KACjB,KAAK,IACLhuZ,EAAEwja,GAAGj9Z,GAAG,GAAGvG,GAAGwja,GAAGh9Z,GAAG,OAAOD,EAAEgzvB,YAAY/yvB,EAAE+yvB,aAAa,EAAE,EAC/C,GADqDv5vB,GAAEguZ,GAAE,4BACpE94W,EAAEl1C,EAAEuG,EAAEC,EAAEonD,KAAS1Y,EAAE,OAAO0Y,GAAG,EAAE1Y,EAAE,GAAGA,KAAO,EAAFA,GAAK,OAAO,EAAE,GAAM,GAAHA,EAAK,OAAS,EAAFA,EAAI,MAAM,KAChF,KAAK,IACLA,EAAiB,IAAjBA,EAAE3uC,EAAEstD,QAAQrtD,EAAEonD,KAAS1Y,EAAE,OAAO0Y,GAAG,EAAE1Y,EAAE,GAAGA,KAAO,EAAFA,GAAK,OAAO,EAAE,GAAM,GAAHA,EAAK,OAAS,EAAFA,EAAI,MAAM,KACtF,IAAe,IAAV3uC,GAAGA,IAAEC,GAAGA,GAAS,OAAO,EAAE,GAAGD,EAAEC,EAAE,OAAO,EAAE,GAAGD,GAAGC,EAAE,CAAC,IAAIonD,EAAE,OAAOC,IAAI,GAAGtnD,GAAGA,EAAE,OAAO,EAAE,GAAGC,GAAGA,EAAE,OAAO,CAAC,CAAC,MAAM,KACjH,KAAK,GAAGD,EAAEC,EAAE,OAAO,EAAE,GAAGD,EAAEC,EAAE,OAAO,EAAE,GAAGD,GAAGC,EAAE,CAAC,IAAIonD,EAAE,OAAOC,IAAI,GAAGtnD,GAAGA,EAAE,OAAO,EAAE,GAAGC,GAAGA,EAAE,OAAO,CAAC,CAAC,MAAM,KACvG,KAAK,GAAGD,IAAIC,EAAG,OAAIonD,EAAoB,EAAXC,IAAa,MAAM,KAC/C,KACgB,IAAhBtnD,EAAE8wlB,GAAG9wlB,OAAGC,EAAE6wlB,GAAG7wlB,IAAY,CAAC,GAAGD,EAAEC,EAAE,OAAO,EAAE,GAAGD,EAAEC,EAAE,OAAO,CAAC,CAAC,MAAM,KAChE,MAC8B,IAA9BD,EAAEA,EAAExH,eAAWyH,EAAEA,EAAEzH,YAAoB,CAAC,GAAGwH,EAAEC,EAAE,OAAO,EAAE,GAAGD,EAAEC,EAAE,OAAO,CAAC,CAAC,MAEpE,QAAQ,GAAGD,EAAE9G,QAAQ+G,EAAE/G,OAAO,OAAO8G,EAAE9G,OAAO+G,EAAE/G,QAAQ,EAAE,EAAK8G,EAAE9G,OAAO,GAAE5B,EAAEkH,KAAKwB,EAAEC,EAAE,GAAS,CAAC,GAAa,GAAV3I,EAAE4B,OAAU,OAAO,EAAE,IAC3HwuE,EAAEpwE,EAAE2gE,MAAMh4D,EAAE3I,EAAE2gE,MAAmByP,EAAE,GAAf1nE,EAAE1I,EAAE2gE,OAAe/+D,QAAO5B,EAAEkH,KAAKwB,EAAEC,EAAEynE,EAAE,GAAG1nE,EAAEA,EAAE0nE,GAAGznE,EAAEA,EAAEynE,EAAE,CAAC,CAAC,SAC7EghV,GAAG1oZ,EAAEC,GAAG,OAAO01vB,GAAG31vB,EAAEC,GAAE,EAAK,CACZ,SACfu2C,GAAEx2C,GAA4B,OAAtBA,EAAE,GAAEynZ,GAAE,gBAAuB,IACrCoqW,GAAG7xvB,EAAE,EAAE,EAAE1I,GAAE0I,EAAE,CAAC,SACd41vB,GAAG51vB,EAAEC,GAAG,QAAuB,GAAf01vB,GAAG31vB,EAAEC,GAAE,GAAU,CAC6J,SAC9Lu2c,GAAGnvZ,GAAW,IACd/vD,GADM+vD,EAAEypiB,GAAGzpiB,IACPnuD,OAAU5B,EAAE,IAAGmwZ,GAAE,+BACyG,IAD1E,IACpDznZ,EAAE,CAACyqnB,QAAQ0hI,GAAG0J,UAAUxiW,EAAGyiW,OAAOztW,GAAG0lS,WAAU,EAAM9nnB,KAAK,EAAE8vrB,YAAW,EAAM18uB,MAAM,EAAEiwH,WAAU,EAAMo8O,KAAK,EAAEswY,MAAM,EAAEC,KAAK,KACzHtntB,EAAE,EAAEA,EAAEr3C,EAAEq3C,IAAI,CAAC,IACb1uC,EAAEonD,EAAEjU,OAAOzE,GAAG,OAAO1uC,GAAG,IAAI,IAAID,EAAEyqnB,QAAQp3N,EAAG,MAAM,IAAI,IAAI,IAAI,IAAIrzZ,EAAE61vB,UAAU51vB,EAAE,MAAM,IAAI,IAAID,EAAE81vB,OAAOtmT,EAAG,MAAM,IAAI,IAAIxvc,EAAE+trB,WAAU,EAAK,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAc,IAAV/trB,EAAEqZ,MAAM,GAAQpZ,EAAEonD,EAAE5L,WAAW9M,GAAG,KAAM,GAAG1uC,GAAG,GAAGD,EAAEqZ,MAAc,GAARrZ,EAAEqZ,MAASpZ,EAAE0uC,IAAIA,IAAI,MAAM,IAAI,IAAiB,IAAb3uC,EAAEg2vB,KAAK,EAAErntB,KAAU1uC,EAAEonD,EAAE5L,WAAW9M,GAAG,KAAM,GAAG1uC,GAAG,GAAGD,EAAEg2vB,KAAY,GAAPh2vB,EAAEg2vB,KAAQ/1vB,EAAE0uC,IAAIA,IAAI,IAAI,IAAI,IAAI,IAAI3uC,EAAE+1vB,YAAW,EAAK,IAAI,IAAI/1vB,EAAEimE,KAAK,GAAG,MAAM,IAAI,IAAIjmE,EAAEimE,KAAK,GAAG,MAAM,IAAI,IAAIjmE,EAAEimE,KAAK,GAAGjmE,EAAEspI,WAAU,EAAK,MAAM,IAAI,IAAItpI,EAAEimE,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAIjmE,EAAE+1vB,YAAW,EAAK/1vB,EAAEi2vB,KAAKh2vB,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAID,EAAE+1vB,YAAW,EAAK/1vB,EAAEspI,WAAU,EAAKtpI,EAAEi2vB,KAAKh2vB,EAAEma,cAAoB,CAAC,OAAOpa,CAAC,CAAC,SAChrBgqrB,GAAG/prB,EAAE0rO,GAAM1rO,EAAEqpI,YAAUqiG,EAAEA,EAAE9pJ,eAAc,IACzChiF,EAAE8rO,EAAEzyO,OAAU+G,EAAE81vB,aAAa91vB,EAAEylX,KAAK,GAAGzlX,EAAE41vB,WAAWxiW,IAAIxzZ,IAAOI,EAAE8trB,YAAsB,GAAR9trB,EAAEgmE,OAAQpmE,GAAG,GAAa,IAARI,EAAEgmE,OAASpmE,GAAG,IAAE,IACjH8uC,EAAEr3C,GAAE,GAAG2I,EAAEwqnB,SAAS0hI,IAAIlsvB,EAAE61vB,QAAQztW,GAAG,IAAI,IACvChhW,EAAExnD,EAAEwnD,EAAEpnD,EAAEoZ,MAAMguC,IAAI1Y,GAAG05W,GAC+F,GADzFpoZ,EAAE81vB,aAAc91vB,EAAEylX,KAAK,EAAE/2U,GAAG0kX,EACpDpzZ,EAAE41vB,WAAWxiW,IAAG1kX,GAAG1uC,EAAE41vB,YAAa51vB,EAAE8trB,WAAmB,GAAR9trB,EAAEgmE,OAAQt3B,GAAG6ga,GAAMvvc,EAAE8trB,WAAmB,IAAR9trB,EAAEgmE,OAASt3B,GAAG1uC,EAAEqpI,UAAU,KAhb0vE,MAgb/uErpI,EAAEwqnB,SAAS0hI,IAAIlsvB,EAAE61vB,QAAQtmT,EAAG,IACnJnoZ,EAAExnD,EAAEwnD,EAAEpnD,EAAEoZ,MAAMguC,IAAI1Y,GAAG6ga,EAAQ,GAAL7ga,GAAGg9L,EAAK1rO,EAAEwqnB,SAASp3N,EAAG,IAC9ChsW,EAAExnD,EAAEwnD,EAAEpnD,EAAEoZ,MAAMguC,IAAI1Y,GAAG05W,GAAG,OAAOroZ,GAAE2uC,EAAE,CAAC,SACpCsoP,GAAGx9R,EAAEk1C,GAKgB,IACnBr3C,EAAEk/c,GAAG/8c,GAAG4tD,EAAE/vD,EAAE0+vB,KAAK,EAAE,EAAE1+vB,EAAE0+vB,KAAkD,IAA1CrntB,EAAE,GAAM,GAAHA,GAAM,EAAEA,IAAI4Y,OAAUjwD,EAAEouX,MAAM,EAAE/2U,GAAGA,GAAKj/B,MAAMi/B,GAAI3uC,EAAE4svB,GAAGt1vB,EAAEw+vB,OAAOztW,QACtG,GAAIr6V,SAASrf,GACb,OAAOr3C,EAAE2+vB,MAAM,IAAI,IAAI,IACvBj2vB,EAAqBC,GAArBD,EAAE2uC,EAAEuntB,cAAc7usB,IAAOnuD,OA5b4kB,KA4blkB8G,EAAEozC,OAAOnzC,EAAE,KAAOD,EAAEA,EAAEsP,MAAM,EAAErP,EAAE,GAAGuvc,EAAGxvc,EAAEsP,MAAMrP,EAAE,IAAG,MAAM,IAAI,IAAID,EAT5F,SACNA,EAAEC,GAAG,GAAGmX,KAAKgB,IAAIpY,GAAG,EAAI,OAAOA,EAAE4nX,QAAQ3nX,GAAQ,IACnD0uC,EAAExX,SAASn3B,EAAExH,WAAW6vC,MAAM8jtB,IAAI,IAAI,OAAGx9sB,EAAE,IAAIA,GAAG,GAAG3uC,GAAGoX,KAAKowC,IAAI,GAAG7Y,GAAG3uC,GAAG,IAC1EmP,MAAMw/B,EAAE,GAAG6X,KAAKgpZ,GAAOvvc,EAAE,IAAED,EAAEA,EAAE+nb,GAAG,IAClC54a,MAAMlP,EAAE,GAAGumD,KAAKgpZ,IAAWxvc,GACpBA,EAAE4nX,QAAQ3nX,EAAG,CAIkF6uB,CAAE6f,EAAE0Y,GAAG,MAAM,IAAI,IAAIA,EAAEA,GAAI,EAAyB,IAC1JqgB,GADmI1nE,EAAE2uC,EAAEuntB,cAAc7usB,EAAE,IACnJ3tD,QA7bimB,KA6brlBiyO,GAAG3rO,EAAEsP,MAAMo4D,EAAE,GAAG,GAAGikK,GAAG,GAAGh9L,GAAG,MAAMA,EAAEi5U,QAAQ,GAAG1uX,OAAOmuD,EAAE,CAClE,IAANpnD,EAAEynE,EAAE,EAAQ1nE,EAAEozC,OAAOnzC,IAAIuvc,GAAGvvc,IAAOD,EAAEozC,OAAOnzC,IAAI8nb,IAAG9nb,IAAgCA,GAA5BD,EAAEA,EAAEsP,MAAM,EAAErP,EAAE,GAAGD,EAAEsP,MAAMo4D,IAAOxuE,OA9b8gB,KA8bpgB8G,EAAEozC,OAAOnzC,EAAE,KAAOD,EAAEA,EAAEsP,MAAM,EAAErP,EAAE,GAAGuvc,EAAGxvc,EAAEsP,MAAMrP,EAAE,IAAG,KAAK,CAAM,IAC/JJ,EAAEwnD,EAAE,GAAGskL,EAAE,EAAG9rO,GAAG8rO,EAAE,EAAE3rO,EAAE2uC,EAAEi5U,QAAQ/nX,QAC/B,MAAMG,EAAE2uC,EAAEi5U,QAAQ/nX,IAAK3G,OAAOmuD,EAAE,GAAExnD,IAAI,GAAGA,EAAE,CAC9B,IAAbI,EAAED,EAAE9G,OAAO,EAAQ8G,EAAEozC,OAAOnzC,IAAIuvc,GAAGvvc,IAAOD,EAAEozC,OAAOnzC,IAAI8nb,IAAG9nb,IAAID,EAAEA,EAAEsP,MAAM,EAAErP,EAAE,EAAE,OAP7DD,EAAE,MAAM1I,EAAEw+vB,OAAOztW,GAOoD,OAAO2hS,GAAG1yrB,EAAE0I,EAAE,CAAC,SACrGs4B,GAAGz4B,EAAE8uC,GAAG,GAAGmijB,GAAGjxlB,IAAI2uvB,GAAG,OAAOxuvB,GAAE1I,GAAEq3C,GAAG,IACnC1uC,EAAEu2c,GAAG32c,GAAM8uC,EAAE,IAAK1uC,EAAE81vB,YAAY91vB,EAAEylX,MAAM,EAAE/2U,GAAGA,GAC7CA,KAAK,GAAE,IACP0Y,EAAE1Y,EAAEn2C,SAASyH,EAAEgmE,MAAM,GAAGhmE,EAAE+1vB,MAAM,EAAE,CAAC/1vB,EAAE61vB,OAAOztW,GAAG,IAC/C18K,EAAE1rO,EAAE+1vB,KAAK3usB,EAAEnuD,OAAUyyO,EAAE,IAAEtkL,EAAE++W,GAAGz6L,EAAE6jO,GAAInoZ,EAAC,CAAC,OAAO2ioB,GAAG/prB,EAAEonD,EAAE,CAAC,IACrD8usB,GAAG,EAAE,SACLjtW,KAAK,OAAOitW,IAAI,CAAC,SACjB9yD,GAAGrjsB,GAAG,OAAOA,EAAE+xvB,SAAS,CAM0H,IAKlJx7d,GAJA6/d,GANkB,WACb,SACLp2vB,EAAEA,GAAG,GAAGA,EAAEozC,OAAO,KAAK05sB,GAAG,MAAM,CAACx1vB,GAAE0I,EAAEnG,UAAU,GAAU,CAGY,OAA4EmG,CAAC,CAC9Iq2vB,GAAK,SACRjsE,GAAGpqrB,GAAG,OAAOA,EAAEsP,OAAO,KAAKw9uB,GAAG9svB,EAAE8svB,GAAG9svB,CAAC,CAYqL,SACzNs2vB,GAAGt2vB,GAAG,IACNC,EAAE,EAAwB,OAAlByub,GAAG1ub,KAAGC,EAAE,EAAED,EAR2I,SAC1JH,GAAG,IAAI,IACFG,EAAEvG,EAAVkyO,EAAEr0O,GAAE2I,EAAE0rO,EAAMh9L,EAAE,EAAE+4B,EAAE7nE,EAAE3G,OAAOy1C,EAAE+4B,EAAE/4B,IAAI,CAAmB,IAAlB3uC,EAAEH,EAAE47C,WAAW9M,IAAQoitB,GAAG,CAAC,IAAI,IACnE1psB,EAAE1Y,EAAE,EAAE0Y,EAAEqgB,IAAI1nE,EAAEH,EAAE47C,WAAW4L,IAAI0psB,GAAG1psB,KAClB,GAD0BA,EAAE1Y,EA1d8vE,KA0dxvE1uC,EAAE6qD,OAAO,EAAE,GAAG6gL,GAAG1rO,EAAEA,EAAE3I,GAAEq0O,GAAG9rO,EAAEyP,MAAMq/B,EAAE0Y,IACtFpnD,GAAGJ,EAAEyP,MAAMq/B,EAAE0Y,GAAMA,GAAGqgB,EAAE,MAAM/4B,EAAE0Y,CAAC,CAAIrnD,EA3d6pD,MA2dvpDC,GAAG9D,OAAOowD,aAAa,IAAKvsD,GAAG,GAAGC,GAAG9D,OAAOowD,aAAawksB,GAAG/wvB,EAAE8rvB,KACtG9rvB,EAAE,OAAQA,GA5d+8C,MA4dz8CC,GAAG9D,OAAOowD,aA5du7C,IA4dv6CvsD,GAAG,GAAG+wvB,GAAG/wvB,GAAG,EAAE8rvB,GAAGiF,GAAG/wvB,EAAE8rvB,IAChE9rvB,GAAG,OAAQ2uC,EAAE,GAAG+4B,IAAIjuE,EAAEoG,EAAE47C,WAAW9M,EAAE,IA7d24D,OA6dn4Dl1C,EA7d46C,MA6dv6CwG,GAAG,gBAAoB0uC,IAAI3uC,GAAGA,GAAG,IAAIvG,EAAE,SAAUwG,GAAG9D,OAAOowD,aA7duqC,IA6dvpCvsD,GAAG,GAAG+wvB,GAAG/wvB,GAAG,GAAG8rvB,GAAGiF,GAAG/wvB,GAAG,EAAE8rvB,GAAGiF,GAAG/wvB,EAAE8rvB,KAAO7rvB,EAAE/G,OAAOwxvB,IAAIzqvB,EAAE6qD,OAAO,EAAE,GAAG6gL,GAAG1rO,EAAEA,EAAE3I,GAAE,CAAC,OAAOq0O,EAAE1rO,CAAC,CAEpMs2vB,CAAGv2vB,IAAU,IACjC6xvB,GAAG5xvB,EAAED,EAAEA,EAAE9G,OAAO,CAAC,SACjBg9P,GAAGl2P,GAAG,OAAOs2vB,GAAGt2vB,EAAE,CAbLu2R,GAAG6zZ,GAAhB7zZ,GAAG,WAagB,IACnBige,GAAG,CAAC,QAAQ,SAAS,SAAS5nW,GAAG,QAAQ,SAAS,UAAU,OAAO2/V,GAAG,SAAS,QAAQ,QAAQ,SAAS,MAAM,SAAS,SAAS,SAAS,eAAe,SAAS,SAASL,GAAG,UAAU,SAAS,SAAS,SAAS,SAASlB,GAAGhoU,GAAG,SAAS,QAAQ,QAAQ,QAAQ,SAAS,QAAQ,SAAS,QAAQ,QAAQ,cAAc,cAAc,WAAW,WAAW,eAAe,WAAW,aAAa,cAAc,kBAAkB,kBAAkB,aAAa,eAAe,eAAe,aAAa,gBAAgB,WAAW,cAAc,YAAY,eAAe,aAAa,UAAU,UAAU,WAAW,YAAY,eAAe,YAAY,eAAe,YAAY,eAAe,QAAQ,aAAa,SACrsB+rK,GAAG1piB,EAAEskL,EAAE9rO,EAAEG,GAAG,IACZC,EAAEu2vB,GAAG98vB,QAAQ2tD,GACW,OADLpnD,EAAE,IAAS,MAAHD,IAAQA,GAAG,MAAKC,EAAE,CAAC,EAAED,IAC9C,CAACC,EAAEi2P,GAAGvqB,GAAGr0O,IAAG4+P,GAAGr2P,GAAGvI,IAAY,CAAC,IACjCm/vB,GAAG,CAAC,EAAE,SACNC,GAAG12vB,GAAG,OAAOy2vB,GAAGz2vB,EAAE,CAAC,SACnBgxlB,GAAG/wlB,EAAED,GAAG,KAAK,CAAC,EAAEC,GAAG/D,OAAO8D,EAAE,CAAC,SAC7B22vB,GAAG32vB,GAGW,OAHHA,aAEXxG,aAAYwG,EAAE,IACdxG,WAAWwG,IAAU,IACrB6xvB,GAAG,EAAE7xvB,EAAEA,EAAE9G,OAAO,CAAC,SACjBorD,GAAEtkD,GAAGk5Z,GAAG+4V,GAAG2E,UAAU52vB,EAAE,CAAC,SACxB62vB,GAAG72vB,GAAGskD,GAAEtkD,EAAEmwvB,GAAG,CAAC,SACd2G,GAAG92vB,GAAmB,OAAR,GAALA,EAAEmW,GAAK+srB,GAAGljsB,GAAUA,EAAE2uC,CAAC,CAAC,SACjCiijB,GAAG5wlB,GAAG,OAAOA,EAAEm3C,CAAC,CACV,SACN0yoB,GAAG7prB,GAAGtF,KAAKmE,KAAKmB,CAAC,CAMuC,SACxD+2vB,GAAGpotB,EAAE3uC,EAAEC,GAAGvF,KAAK2nS,KAAKriS,EAAEtF,KAAKnD,KAAKo3C,EAAEj0C,KAAKs/E,MAAM/5E,CAAC,CAAyY,SACvbsxC,GAAEtxC,EAAED,GAAGtF,KAAK6kB,QAAQ,CAAC,EAAE7kB,KAAKmoF,KAAK5iF,EAAEvF,KAAKs8vB,UAAUh3vB,CAAC,CA0D7C,SACNi3vB,GAAGh3vB,GAAG,IACND,EAAEo2vB,GAAGn2vB,GAAG,GAAID,EAAS,OAAOA,EAAE,GAAG8svB,EAAE,CApEjBjjE,GAAGnxrB,UAAU,IAFd,WACZ,EAEAmxrB,GAAGnxrB,UAAUuhD,YAAY4voB,GAAGA,GAAGnxrB,UAAUi3e,SAAS,SAAS3ve,GAAG,IACnEC,EAAEvF,KAAKmE,KAAKnE,KAAKmE,KAAK23C,GAAI,EAAFx2C,GAAKk3R,GAAGj3R,EAAE,EAAEvF,KAAKmE,KAAK,EAAEmB,EAAE,EAAE6prB,GAAGnxrB,UAAUQ,OAAO,WAAW,OAAO03lB,GAAGl2lB,KAAKmE,KAAK,EAAEgrrB,GAAGnxrB,UAAUmtC,MAAM,SAAS5lC,EAAEonD,EAAEskL,EAAE3rO,GAAG,IAC9I2uC,EAAEj0C,KAAKxB,SAAS,GAAG+G,EAAED,GAAG2uC,EAAE,CAAC,IAC3Br3C,EAAEk/C,GAAEv2C,EAAED,GAAGH,EAAEnF,KAAKmE,KAAKnE,KAAKmE,KAAKvH,EAAE4/R,GAAGr3R,EAAE,EAAEnF,KAAKmE,KAAK,EAAE8vC,EAAE,CAA2B,OAA1BuoP,GAAGy/d,GAAGtvsB,GAAGskL,EAAEjxO,KAAKmE,KAAKoB,EAAED,GAAU,CAAC,EAAE6prB,GAAGnxrB,UAAU2xD,KAAK,SAASpqD,EAAE3I,EAAEuI,EAAEG,GAAG,IAC/H2uC,EAAEj0C,KAAKxB,SAAyB,GAAb+G,EAAED,GAAG2uC,IAAE3uC,EAAE2uC,EAAE1uC,GAAKD,EAAE,CAAC,IACtCqnD,EAAE7Q,GAAI,EAAFx2C,GAAKk3R,GAAGx8R,KAAKmE,KAAKoB,EAAEonD,EAAE,EAAErnD,GAAG1I,EAAE2H,IAAI63vB,GAAGzvsB,GAAGxnD,EAAE,CAAC,OAAOG,CAAC,EACP+2vB,GAAGr+vB,UAAUw+vB,WAAW,WAAW5ysB,GAAE5pD,KAAKnD,KAAK65b,GAAG,EAAE2lU,GAAGr+vB,UAAUQ,OAAO,WAAW,GAAGwB,KAAK2nS,KAAK,OAAO3nS,KAAK2nS,KAAKnpS,SAASwB,KAAKw8vB,YAAY,EAAEH,GAAGr+vB,UAAUmtC,MAAM,SAAS8I,EAAE3uC,EAAEqnD,EAAEpnD,GAAG,GAAGvF,KAAK2nS,KAAK,OAAO3nS,KAAK2nS,KAAKx8P,MAAM8I,EAAE3uC,EAAEqnD,EAAEpnD,GAAGvF,KAAKw8vB,YAAY,EAAEH,GAAGr+vB,UAAU2xD,KAAK,SAAS1b,EAAE3uC,EAAEqnD,EAAEpnD,GAAG,GAAGvF,KAAK2nS,KAAK,OAAO3nS,KAAK2nS,KAAKh4O,KAAK1b,EAAE3uC,EAAEqnD,EAAEpnD,GAAGvF,KAAKw8vB,YAAY,EAAEH,GAAGr+vB,UAAUutB,MAAM,WAAWvrB,KAAK2nS,UAAKjiS,CAAS,EACjYmxC,GAAE74C,UAAUo6c,GAAG,SAAS9yc,GAAG,OAAOtF,KAAKmoF,KAAK7iF,CAAC,EAAEuxC,GAAE74C,UAAUy+vB,qBAAqB,SAAS9vsB,GAC3H,IAD8H,IAChJ1Y,EAAE0Y,EAAEhf,MAAMyktB,IAAI7svB,EAAE3I,GAChB0I,EAAE,EAAEA,EAAE2uC,EAAEz1C,OAAO,EAAE8G,IAAKC,GAAG0uC,EAAE3uC,GAAG8svB,GAAMpyvB,KAAK6kB,QAAQtf,KAAYvF,KAAK6kB,QAAQtf,GAAGyyC,OAAO,aAAa,EAAEnB,GAAE74C,UAAU0+vB,MAAM,SAASp3vB,GAAG,MAAM,MAAM7E,KAAK6E,GAAGA,EAAEA,EAAE8svB,EAAE,EAAEv7sB,GAAE74C,UAAU6tD,OAAO,SAAStmD,GAAG,IAAIvF,KAAK6kB,QAAQtf,IAAIvF,KAAKs8vB,UAAU,CAAC,IACjOrotB,EAAEj0C,KAAKs8vB,UAAUh3vB,GAAEtF,KAAKmoF,MAAM7iF,GAAEC,IAAW,IAAJ0uC,IAAOj0C,KAAKy8vB,qBAAqBl3vB,GAAGvF,KAAK6kB,QAAQtf,GAAG,IAC3F4prB,GAAMl7oB,EAAE,IAAK,CAAC,EAAE4C,GAAE74C,UAAUq4d,OAAO,SAAS/wd,GAAG,GAAGA,GAAG1I,GAAE,OAAO,EAAE,IAChE2I,EAAEvF,KAAK08vB,MAAMp3vB,GAAG,OAAGtF,KAAK6kB,QAAQtf,GAAU,GAAEvF,KAAK6rD,OAAOvmD,GAAUtF,KAAK6kB,QAAQvf,GAAG,EAAE,EAAC,EAAEuxC,GAAE74C,UAAU2pgB,MAAM,SAAS1zd,EAAE9uC,EAAEwnD,GAAG,IACzHpnD,EAAEonD,GAAGqvsB,GAAGzG,IAAOv1vB,KAAKq2d,OAAOpib,KAAM1uC,EAAE+wlB,GAAG/wlB,EAAE8wlB,GAAGw9J,GAAGviT,GAAGtxc,KAAKo4c,GAAGnka,KACzD2V,GAAE3V,EAAE,kBAAiB,IACrB3uC,EAAE,eAAe+uC,KAAKJ,GAAG3uC,EAAEA,GAAGA,EAAE,IAAI1I,GAAMoD,KAAKq2d,OAAO/wd,KAAMC,EAAE+wlB,GAAG/wlB,EAAE8wlB,GAAGm9J,GAAGliT,GAAGtxc,KAAKo4c,GAAG9yc,KACpFskD,GAAEtkD,EAAEmwvB,KAAQz1vB,KAAK28vB,OAAOr3vB,KAAMC,EAAE+wlB,GAAG/wlB,EAAE8wlB,GAAGi8J,GAAGhhT,GAAGtxc,KAAKo4c,GAAG9yc,KACtDskD,GAAEtkD,EAAE8qvB,KAAIpwvB,KAAKy8vB,qBAAqBz8vB,KAAK08vB,MAAMzotB,GAAG,EAAE4C,GAAE74C,UAAU4vgB,MAAM,SAAStogB,EAAE2rO,GAAG,IAClF1rO,EAAE0rO,GAAG+qhB,GAAGzG,IAAIthtB,EAAE3uC,GAAG1I,GAAEA,GAAEoD,KAAK08vB,MAAMp3vB,GAAGH,EAAE,IACrCojE,OAvgB2lC,IAugBjlCt0B,EAAE8pa,IAEJ,IAAI,IACZpxZ,KAHoB3sD,KAAKq2d,OAAO/wd,KAAMC,EAAE+wlB,GAAG/wlB,EAAE8wlB,GAAGm9J,GAAGuC,GAAG/1vB,KAAKo4c,GAAG9yc,KAC9DskD,GAAEtkD,EAAEmwvB,KAAQz1vB,KAAK28vB,OAAOr3vB,KAAMC,EAAE+wlB,GAAG/wlB,EAAE8wlB,GAAGi8J,GAAGyD,GAAG/1vB,KAAKo4c,GAAG9yc,KACtDskD,GAAEtkD,EAAE8qvB,KAGJpwvB,KAAK6kB,QAAW8nC,EAAEhsD,MAAMwE,KAAMI,EAAE+wlB,GAAG/wlB,EAAE8wlB,GAAG/rK,GAAGyrU,GAAG/1vB,KAAKo4c,GAAG9yc,KACtDskD,GAAE5pD,KAAKo4c,GAAG9yc,GAAG,iCACbtF,KAAK6kB,QAAQovB,EAAE,EAAE4C,GAAE74C,UAAUkqgB,QAAQ,SAAS5igB,GAAG,IACjD2rO,EAAE3rO,GAAG1I,GAAEA,GAAEoD,KAAK08vB,MAAMp3vB,GAAOtF,KAAKq2d,OAAO/wd,IAAGskD,GAAEtkD,EAAEmwvB,IAAQz1vB,KAAK28vB,OAAOr3vB,IAAGskD,GAAEtkD,EAAE8qvB,IAAI,IAC7EpjrB,EAAE,IACFzE,OAjhB2lC,IAihBjlC0oK,EAAE8sO,IAAIpxZ,EAAE,CAAC,EAAE1Y,EAAE,GAAG,IAAI,IAC9B9uC,KAEAnF,KAAK6kB,QAAQ,CAAC,IACdtf,EAAEJ,EAAExE,MAAMqsE,GAAMznE,IAAIonD,EAAEpnD,EAAE,MAAKonD,EAAEpnD,EAAE,KAAI,EAAK0uC,EAAEnwC,KAAKyB,EAAE,IAAI,CAAC,OAAO0uC,CAAC,EAAE4C,GAAE74C,UAAU4+vB,QAAQ,SAASt3vB,EAAEH,GAAG,IACpGI,EAAEJ,GAAG62vB,GAAGzG,IAAIthtB,EAAEj0C,KAAKkogB,QAAQ5igB,GAAGqnD,GAAE,EAAM/vD,EAAE,EAAE,MAAM,CAACwpgB,SAAS,WAClD,GADgEz5c,IAAKpnD,EAAE+wlB,GAAG/wlB,EAAE8wlB,GAAGniM,GAAGy+B,GAAG3yb,KAAKo4c,GAAG9yc,KACrGskD,GAAEtkD,EAAEmrvB,KAAO7zvB,GAAGq3C,EAAEz1C,OAAO,OAAO,KAAK,IACnC2G,EAAE8uC,EAAEr3C,GAAO,OAAJA,IAAU,CAACC,KAAKsI,EAAE,EAAEy0O,UAAU,WAAcjtL,IAAKpnD,EAAE+wlB,GAAG/wlB,EAAE8wlB,GAAGniM,GAAGy+B,GAAG3yb,KAAKo4c,GAAG9yc,KAChFskD,GAAEtkD,EAAEmrvB,KAAI9jsB,GAAE,EAAK1Y,EAAE,EAAE,EAAE,EAAE4C,GAAE74C,UAAU2+vB,OAAO,SAASr3vB,GAAG,GAAGA,GAAG1I,GAAE,OAAO,EAAK,IAC1E2I,EAAEvF,KAAK08vB,MAAMp3vB,GAAG,OAAOtF,KAAK6kB,QAAQtf,GAAG,EAAE,CAAC,EAAEsxC,GAAE74C,UAAU6pgB,OAAO,SAASvigB,GAAG,IAC3EC,IAAEvF,KAAK6kB,QAAQvf,GACC,cAAhBtF,KAAK6kB,QAAQvf,GAAUC,CAAC,EAAEsxC,GAAE74C,UAAUyK,KAAK,SAASnD,EAAEC,GAAG,IACzD0uC,EAGe,OAHV1uC,EAAEs3vB,QAAQt3vB,EAAEu3vB,QAAOlzsB,GAAE5pD,KAAKo4c,GAAG9yc,GAAG2qvB,GAAO1qvB,EAAEovB,MAAMpvB,EAAE8gI,QAAOz8E,GAAE5pD,KAAKo4c,GAAG9yc,GAAGyvvB,IAAI/0vB,KAAK6rD,OAAOvmD,GAAMtF,KAAK6kB,QAAQvf,IAAOtF,KAAK28vB,OAAOr3vB,IAAGskD,GAAE5pD,KAAKo4c,GAAG9yc,GAAGksvB,IAAOjsvB,EAAEsyC,QAAQtyC,EAAEw3vB,MAAKnzsB,GAAE5pD,KAAKo4c,GAAG9yc,GAAG+qvB,IAAIp8sB,EAAEj0C,KAAK6kB,QAAQvf,GAAMC,EAAE0ve,UAAShhc,EAAEghc,YACxN1ve,EAAEsyC,QAAQ73C,KAAKy8vB,qBAAqBn3vB,GAAGtF,KAAK6kB,QAAQvf,GAAG,IAC1D6prB,GAAGrzoB,GAAE,IAAI7H,EAAEj0C,KAAK6kB,QAAQvf,IACxB62vB,GAAGn8vB,KAAKo4c,GAAG9yc,IAAW,IACtB+2vB,GAAGr8vB,KAAKo4c,GAAG9yc,GAAG2uC,EAAE1uC,EAAE,EAAEsxC,GAAE74C,UAAUyK,KAAK,SAASnD,EAAEC,GAAG,IACnD0uC,EAGe,OAHV1uC,EAAEs3vB,QAAQt3vB,EAAEu3vB,QAAOlzsB,GAAE5pD,KAAKo4c,GAAG9yc,GAAG2qvB,GAAO1qvB,EAAEovB,MAAMpvB,EAAE8gI,QAAOz8E,GAAE5pD,KAAKo4c,GAAG9yc,GAAGyvvB,IAAI/0vB,KAAK6rD,OAAOvmD,GAAMtF,KAAK6kB,QAAQvf,IAAOtF,KAAK28vB,OAAOr3vB,IAAGskD,GAAE5pD,KAAKo4c,GAAG9yc,GAAGksvB,IAAOjsvB,EAAEsyC,QAAQtyC,EAAEw3vB,MAAKnzsB,GAAE5pD,KAAKo4c,GAAG9yc,GAAG+qvB,IAAIp8sB,EAAEj0C,KAAK6kB,QAAQvf,GAAMC,EAAE0ve,UAAShhc,EAAEghc,YACxN1ve,EAAEsyC,QAAQ73C,KAAKy8vB,qBAAqBn3vB,GAAGtF,KAAK6kB,QAAQvf,GAAG,IAC1D6prB,GAAGrzoB,GAAE,IAAI7H,EAAEj0C,KAAK6kB,QAAQvf,IACxB62vB,GAAGn8vB,KAAKo4c,GAAG9yc,IAAW,IACtB+2vB,GAAGr8vB,KAAKo4c,GAAG9yc,GAAG2uC,EAAE1uC,EAAE,EAAEsxC,GAAE74C,UAAUy8F,SAAS,SAASxmD,EAAE3uC,GAAG,IACvDC,EACM,GADDvF,KAAK6kB,QAAQovB,IAAG2V,GAAE5pD,KAAKo4c,GAAGnka,GAAGo8sB,IAAOwK,GAAGv1vB,KAAGC,EAAE,IACjD4prB,GAAG7prB,IAAMsqa,GAAGtqa,GAAGC,EAAE,IACjB4prB,GAAM7prB,QACN,GAAGA,aAEHmP,MAAMlP,EAAE,IACR4prB,GAAG8sE,GAAG32vB,SACN,GACI,iBAAJA,EAAaC,EAAE,IACf4prB,GAAGioE,GAAG9xvB,SACN,GAAGA,EAAExH,SAAS,CACSyH,EAAE,IACzB4prB,GADK3zb,GAAGl2P,EAAExH,YACL,CAAIyH,GAAGvF,KAAKy8vB,qBAAqBxotB,GAAGj0C,KAAK6kB,QAAQovB,GAAG1uC,GACzDqkD,GAAE5pD,KAAKo4c,GAAGnka,GAAG,gDAAgD,EAAE4C,GAAE74C,UAAUuhD,YAAY1I,GAGnD,IACpC+wC,GAAG20qB,GAAG1ge,KAAKqzL,GAAG,+BAA+BwtO,GAAG,GAIxC,SACR7tS,GAAGtpZ,GAC4B,IADzB,IACuB0uC,EAA7Bg9L,EA1GuB,SACpB3rO,GAAGA,EAAEqjsB,GAAGrjsB,GAAOo2vB,GAAGp2vB,KAAGA,EAAEu2R,GAAGv2R,GACC,IADC,IAC/B1I,EAAE8+vB,GAAGp2vB,GAAGqnD,EAAE/vD,EAAE,GAAG+wC,MAAMyktB,IAAI7svB,EAAE,GAC3B0uC,EAAE,EAAEA,EAAE0Y,EAAEnuD,OAAOy1C,IAAI,OAAO0Y,EAAE1Y,IAAI,IAAI,KAAQ1uC,EAAE/G,OAAO,GAAE+G,EAAEg4D,MAAM,MAAM,IAAI,IAAU,IAAI,GAAG,MAAM,QAAQh4D,EAAEzB,KAAK6oD,EAAE1Y,IAAmC,OAAzB1uC,EAAEm4D,QAAQ9gE,EAAE,IAAI2I,EAAEk1gB,KAAKn1gB,EAASC,CAAC,CAuG1Jw9Z,CAAGx9Z,GAAgBJ,EAAEuqrB,GAAfnqrB,EAAE0rO,EAAEnlL,KAAKsmsB,KACjBx1vB,EAAE,EAAEA,EAAE8/rB,GAAGl+rB,OAAO5B,IAAI,CAAC,IACrB0I,EAAEo3rB,GAAG9/rB,GAAwB,GAAlBuI,EAAEiiG,OAAO9hG,EAAEya,SAAYk0B,GAAGA,EAAEl0B,KAAKvhB,OAAO8G,EAAEya,KAAKvhB,UAAQy1C,EAAE,CAACl0B,KAAKza,EAAEya,KAAKykqB,OAAOl/qB,EAAEk/qB,OAAOh9iB,KAAKjiI,EAAEpG,UAAUmG,EAAEya,KAAKvhB,OAAO+G,EAAE/G,SAAQ,CAG9C,GAAGy1C,EAAE,OAAOA,EAAE2V,GAAE,uBAAuBzkD,EAAE,CAEvC,SAC9Fy2b,GAAG3nZ,EAAE1uC,GACS,OAJwH,SACnI0uC,EAAE1uC,GAAG,IACRD,EAAEupZ,GAAG56W,GAAgF,OAAzE3uC,EAAEk/qB,OAAO/plB,UAASy0X,GAAG,wBAAwB5pd,EAAEk/qB,OAAO/plB,SAASn1F,EAAEkiI,KAAKjiI,GAAU,CAAC,CAExEy3vB,CAArB/otB,EAAE3uC,GAAE2uC,GAAG1uC,EAAED,GAAEC,GAAiB,CAIb,SACfgpZ,GAAG5hW,EAAEpnD,GAAG,IACGD,EAAE2uC,EAAbr3C,EAAE2I,EAAE/G,OAAW,IAAI8G,EAAE,EAAEA,EAAE,GAAG1I,EAAE0I,GAAG,EAAsFqnD,EAAEprC,GAAEorC,EAAvF1Y,EAAE1uC,EAAEw7C,WAAWz7C,GAAGC,EAAEw7C,WAAWz7C,EAAE,IAAI,EAAEC,EAAEw7C,WAAWz7C,EAAE,IAAI,GAAGC,EAAEw7C,WAAWz7C,EAAE,IAAI,IAAgB,OAAJ2uC,EAAE,EAAW,EAAFr3C,GAAK,KAChJ,EAAEq3C,EAAE1uC,EAAEw7C,WAAWz7C,EAAE,IAAI,GAAG,KAC1B,EAAE2uC,GAAG1uC,EAAEw7C,WAAWz7C,EAAE,IAAI,EAAE,KAC1B,EAAqBqnD,EAAEprC,GAAEorC,EAAvB1Y,GAAG1uC,EAAEw7C,WAAWz7C,IAAiB,OAALqnD,GAAG/vD,CAAU,CAAC,SAC5CqgwB,GAAG33vB,EAAEC,GAAG,OAAOgpZ,GAAGjpZ,EAAE8wlB,GAAG7wlB,GAAG,CAQZ,SACd23vB,GAAG33vB,EAAE0uC,GAAG,IACR3uC,EALiC,SAC9BA,GAAG,OAAW,EAAJA,EAAEmW,GAAK,QAAQw7uB,GAAG3xvB,GAAG,KAClC,EAAa,KACb,EAAE,OAAOA,EAAE2uC,EAAE,CAEXy/Y,CAAGz/Y,GAAG,MACJ,iBAAJ3uC,EAAaipZ,GAAGhpZ,EAAED,GAXS,SACxBqnD,EAAEpnD,GAAG,IACGD,EAAE2uC,EAAbr3C,EAAE2I,EAAE/G,OAAW,IAAI8G,EAAE,EAAEA,EAAE,GAAG1I,EAAE0I,GAAG,EAA0CqnD,EAAEprC,GAAEorC,EAA3C1Y,EAAE1uC,EAAED,GAAGC,EAAED,EAAE,IAAI,EAAEC,EAAED,EAAE,IAAI,GAAGC,EAAED,EAAE,IAAI,IAAgB,OAAJ2uC,EAAE,EAAW,EAAFr3C,GAAK,KACpG,EAAEq3C,EAAE1uC,EAAED,EAAE,IAAI,GAAG,KACf,EAAE2uC,GAAG1uC,EAAED,EAAE,IAAI,EAAE,KACf,EAAUqnD,EAAEprC,GAAEorC,EAAZ1Y,GAAG1uC,EAAED,IAAiB,OAALqnD,EAAG/vD,CAAU,CAMXugwB,CAAG53vB,EAAED,EAAE,CAC2D,SACvF83vB,GAAGhpuB,EAAEqoB,EAAEz3C,EAAEsnD,GAAG,IACZnnD,EAAE8rO,EAAEjkK,EAAErgB,EAAE1Y,EAAE1uC,EAAED,EAAE1I,EAAEmC,EAA8C,MAA5C4tD,EAAElQ,GAAO,GAAGkQ,EAAEsmsB,MAAGtmsB,EAAEsmsB,IAAGh/sB,EAAE7f,EAAE7uB,EAAEP,EAAEG,EAAE,CAACmnD,GAAG2kL,EAAE,EAAEjkK,EAAE,EAAQikK,EAAEjkK,GAAG/4B,EAAE,GAAE,CAAU,IAAT3uC,EAAEH,EAAE8rO,OAAW3rO,EAAEgzvB,aAAa,GAAGoC,GAAGp1vB,EAAEgzvB,cAAcoC,GAAGp1vB,EAAEgzvB,aAAajyqB,KACxH9gF,EAAEgc,GAAEhc,EAA9Bm1vB,GAAGp1vB,EAAEgzvB,aAAajyqB,KAAK/gF,IAAY2uC,SACrC,GAAG3uC,aAEHmP,OAAOnP,EAAE,MAAW,EAALA,EAAE,IAAM,OAAOA,EAAE,IAAI,KACpC,IAAIC,EAAEgc,GAAEhc,EAAED,EAAE,IAAI2uC,IAAI,MAAM,KAC1B,IAAI9uC,IAAI8rO,GAAG3rO,EAAE,GAAG,MAAM,QACS,IAATC,EAAEgc,GAAEhc,EAAxBD,EAAE9G,OAAO,GAAG,GAAG8G,EAAE,IAAgB1I,EAAE,EAAEmC,EAAEuG,EAAE9G,OAAO5B,EAAEmC,KAAUiuE,GAAGrgB,GAAX/vD,IAAmBuI,EAAE6nE,KAAK1nE,EAAE1I,QAC/Ei+vB,GAAGv1vB,IAAIC,EAAE23vB,GAAG33vB,EAAED,GAAG2uC,KACjB27X,GAAGtqa,IAAIC,EAAE03vB,GAAG13vB,EAAED,GAAG2uC,KAEhB,iBAAJ3uC,GAAcC,EAAEgpZ,GAAGhpZ,EAAED,GAAG2uC,KACrB3uC,KAAO,EAAFA,IAAMC,EAAEgc,GAAEhc,EAAED,EAAEA,EAAE,GAAG2uC,KACxB3uC,KAAKA,IAAGC,EAAEi5b,GAAGj5b,EAAED,GAAG2uC,IAAI,CAAS,OAAR1uC,EAhBG,SAC1BD,GAA2E,OAA9DA,EAAE2lL,GAAZ3lL,GAAGA,IAAI,IAAU,YAAwBA,EAAE2lL,GAAZ3lL,GAAGA,IAAI,IAAU,YAAcA,EAAGA,IAAI,EAAW,CAe1D+3vB,CAAG93vB,GAAY,WAAFA,CAAY,CAAC,SACtD+3vB,GAAGh4vB,EAAE2uC,EAAEwI,GAAG,IAAI6W,SAAShuD,GAAI,OAAG0P,MAAM1P,GAAUk2P,GAAG02f,IAAW12f,GAAGl2P,EAAE,EAAE88a,GAAG,aAAa,IACnFhuZ,EAAK,GAAH9uB,GAAM,EAAEA,IAAIunD,IAAS,EAAEvnD,GAAG,EAAE,EAAE,EAAK8uB,IAAE9uB,GAAGA,GAAE,IAC5CqnD,EAAE,EAAE,GAAM,GAAHrnD,QACP,GAAGA,EAAE,EAAE,KAAMA,EAAE,GAAGqnD,GAAG,MAAMrnD,GAAG,EAAEqnD,SAChC,KAAMrnD,GAAG,GAAGA,GAAG,EAAEqnD,IAAI,IACrBxP,EAAEwP,EAAE,EAAE/vD,GAAE60vB,GAAGtsvB,EAAEvI,GAAE,GAAGw3B,EAAEjvB,EAAEwzZ,OACtB,OAAOl8W,GAAG,KACV,GAAGt3C,EAAEssvB,GAAG,MAAM,KACd,GAAGtsvB,EAAEwoZ,GAAuB,GAAG15W,GAAG,GAAGA,EAAE,GAAG,CAAC,IAC3C+4B,EAAEtwD,KAAKowC,IAAI,EAAI,EAAF7Y,GAAK3uC,EAAEoX,KAAKs8F,MAAM1zG,EAAE0nE,GAAGA,CAAC,CAAC,IACtCznE,EAAED,EAAExH,SAAS,IAAI,GAAGm2C,GAAG,EAAE,CAAC,IAC1Bl1C,EAAEwG,EAAEvG,QAAQqub,IAAI,GAAGtub,EAAE,EAAEwG,GAAG8nb,GAAG3hB,GAAGz3X,EAAE6ga,OAAQ,CAAC,IAC3C7jO,EAAElyO,EAAE,EAAEk1C,EAAK1uC,EAAE/G,OAAOyyO,EAAE1rO,GAAGmma,GAAGz6L,EAAE1rO,EAAE/G,OAAOs2c,GACvCvvc,EAAEA,EAAE6qD,OAAO,EAAE6gL,EAAE,CAAC,CAAC,OAAOuqB,GAAGr2P,EA1nB20E,KA0nBt0EI,EAAE0nlB,EAAG9viB,EAAEwP,EAAE7uD,SAAS,IAAI,CAAC,SACvDy/vB,GAAGj4vB,GAAG,OAAOA,EAAEwzvB,QAAQ,CAEG,SAC1BvlK,GAAGjulB,GAAG,OAAOA,EAAE8kpB,OAAO,CAED,SACrBozG,GAAGxwrB,EAAE/4B,GAAG,IACR3uC,EAAEw2c,GAAG9uY,GAAM1nE,EAAE+1vB,YAJU,SACpB/1vB,GAAG,OAAOA,EAAEyzvB,OAAO,CAGG0E,CAAGxptB,KAAI3uC,EAAE0lX,MAAM,EAAE/2U,EAHnB,SACpB3uC,GAAG,OAAOA,EAAEuzvB,KAAK,CAEwB9tT,CAAG92Z,IAAG,IAClD1uC,EAAE3I,GAAEmC,EARoB,SACrBuG,GAAG,OAAO,IACbgnD,GAAEhnD,EAAEgrvB,GAAGhrvB,GAAG,GAAGgrvB,GAAGhrvB,GAAG,GAAGurvB,GAAG,CAMnBv9J,CAAGhulB,EAAEimE,MAA2B,EAAE,CAAC,IACzCpmE,EAAE8uC,EAAEqltB,QAAQv6vB,GAAGk1C,EAAE9uC,EAAEo0vB,SAASh0vB,EADT,mBACamzC,OAAO66iB,GAAGpulB,EAAEq0vB,UAAUj0vB,CAAC,QAAQg4vB,GAAGtptB,IAAI,GAAG3uC,EAAEg2vB,MAAM,EAAE,CAACh2vB,EAAE81vB,OAAOztW,GAAG,IAChGhhW,EAAErnD,EAAEg2vB,KAAK/1vB,EAAE/G,OAAUmuD,EAAE,IAAEpnD,EAAEmma,GAAG/+W,EAAEmoZ,GAAIvvc,EAAC,CAAC,OAAO+prB,GAAGhqrB,EAAEC,EAAE,CAAC,SACrD4wlB,GAAG5wlB,EAAED,GAAG,OAAOoyvB,GAAGnyvB,EAAED,EAAE,CAAC,SACvB63C,GAAE73C,GAAG,OAAO4wlB,GAAG5wlB,EAAE,CAYW,SAC5Bo4vB,GAAGp4vB,GAAG,OAAGA,GAAG,IAAIA,GAAG,GAAUA,EAAE,GAAMA,GAAG,IAAIA,GAAG,GAAUA,EAAE,GAAMA,GAAG,IAAIA,GAAG,IAAWA,EAAE,IAAU,CAAC,CAAC,SACpGq4vB,GAAGx4vB,GAAG,IACN6nE,EAfkB,SACf/4B,GAAG,IACN3uC,EAAE,EAAE1I,EAAEugD,GAAElJ,GAAG1uC,EAAE,GAAGonD,EAAE,EAAE,GAAG/vD,EAAE,EAAE,OAAOu5lB,GAAGlijB,EAAE3uC,IAAI,KAC3C,GAAGA,IAAIqnD,GAAG,EAAE,MAAM,KAClB,GAAGrnD,IAAIqnD,EAAE,EAAQ,GAAGrnD,EAAE,EAAE1I,GAAY,IAATu5lB,GAAGlijB,EAAE3uC,GAAO,OAAO6wlB,GAAGlijB,EAAE3uC,EAAE,IAAI,KACzD,IAAI,KACJ,GAAGC,EAAE,GAAGD,GAAG,EAAE,MAAM,KACnB,IAAI,KACJ,GAAGC,EAAE,EAAED,GAAG,EAAE,MAAM,KAClB,GAAG,KACH,GAAGC,EAAE,EAAED,GAAG,EAAE,MAAM,KAClB,IAAI,KACJ,GAAGA,GAAG,EAAQ,MAAM,CAACA,EAAEqnD,EAAEpnD,EAAE,CAGzB21c,CAAG/1c,GAAG8uC,EAAE+4B,EAAE,GAAGjuE,EAAEiuE,EAAE,GAAGrgB,EAAEqgB,EAAE,GAAGikK,EAAE9zL,GAAEh4C,GAAYvI,EAAEq3C,EAAEg9L,EAAEklX,GAAGhxlB,EAAE8uC,GAAG,EAAE1uC,EAAEm4vB,GAAG9gwB,IAAM2I,EAAE,GAAGA,GAAGonD,IAAEuia,GAAG+kS,IAAI,IACzF3uvB,EAAEC,EAAE,IAAI0uC,IAAIA,EAAEg9L,EAAEh9L,IAAe,GAAM,KAAhBr3C,EAAEu5lB,GAAGhxlB,EAAE8uC,IAAG,CAA0B,IAAR1uC,EAAEm4vB,GAAG9gwB,IAAQ,GAAG2I,GAAGonD,EAAE,OAAMrnD,EAAEqnD,EAAErnD,EAAEC,GAD5C,YACqD2pd,GAAG+kS,GAA9C,CAAiG,OAA5ChgtB,GAAGg9L,GAAEi+O,GAAG+kS,IAAI3uvB,GAAEvG,EAAU,IAAH4tD,IAAU,EAAFrnD,IAAMA,GAAE4pd,GAAG+kS,IAAa,EAAF3uvB,CAAG,CAAC,SAC5Js4vB,KAAK,IACLr4vB,EAAEzI,QAAQm3C,EAAE,CAAC,MAAM,QAAQ,OAAO,OAAO27sB,EAAG,SAASoG,GAAG,SAAS,QAAQ,QAAQ,iBAAiB,WAAW,OAAO,WAAW,SAC/HrpsB,IAAI,CAAC,IAAI,IACTrnD,EAAE,EAAEA,EAAE2uC,EAAEz1C,OAAO8G,IAAQC,EAAE0uC,EAAE3uC,MAAIC,EAAE0uC,EAAE3uC,IAAIqnD,GAAE,OAAOpnD,CAAC,CAAC,SAClDs4vB,GAAG5ptB,GAAG,IACN0Y,EAAE1Y,EAAEz1C,OAAO+G,EAAE,IACbkP,MAAMk4C,EAAE,GAAGpnD,EAAE,GAAG,EAAE,IAAI,IACtBD,EAAE,EAAEA,EAAEqnD,EAAErnD,IAAIC,EAAED,EAAE,GAAG2uC,EAAE3uC,GAAG,OAAOC,CAAC,CAAC,SACjCu4vB,GAAGnxsB,GAAG,OAAO,WAAW,IACxBpnD,EAAEvD,UAAUxD,OAAO,GAAG+G,EAAE,EAAE,CAEjB,IAFkB,IAC3B0uC,EAAE,IACFx/B,MAAMlP,GACND,EAAE,EAAEA,EAAEC,EAAED,IAAI2uC,EAAE3uC,GAAGtD,UAAUsD,GAAG,OAAOuyvB,GAAGlrsB,EAAE1Y,EAAE,CAC5C,OAAO4jtB,GAAGlrsB,EAAE,MAACjnD,GAAW,CAAC,CAAC,SAC1Bq4vB,GAAGpxsB,GAAG,OAAO,WAAW,IACxB1Y,EAAEjyC,UAAUxD,OAAO+G,EAAE,IACrBkP,MAAMw/B,EAAE,GAAG1uC,EAAE,GAAGvF,KAAK,IAAI,IACzBsF,EAAE,EAAEA,EAAE2uC,EAAE3uC,IAAIC,EAAED,EAAE,GAAGtD,UAAUsD,GAAG,OAAOuyvB,GAAGlrsB,EAAEpnD,EAAE,CAAC,CAAC,SAChDgwkB,GAAGhwkB,GAEM,IAFK,IACdonD,GADMpnD,EAAE6wlB,GAAG7wlB,IACP/G,OAAO,EAAEy1C,EAAE,IACfx/B,MAAMk4C,GACNrnD,EAAE,EAAEA,EAAEqnD,EAAErnD,IAAI2uC,EAAE3uC,IAAIC,EAAEw7C,WAAW,EAAEz7C,GAAGC,EAAEw7C,WAAW,EAAEz7C,EAAE,IAAI,IAAI,IAAI,GAAG,OAAO2uC,CAAC,CAU3D,SACjB+ptB,GAAG/ptB,GACC,IADE,IACN1uC,EAAE,EACFD,EAAE2uC,EAAEz1C,OAAO,EAAE8G,GAAG,EAAEA,IAAI,CACfC,EAAE,CAAC,EAAR0uC,EAAE3uC,GAAUC,EAAE,CAAC,OAAOA,CAAC,CAAC,SAC1B04vB,GAAG34vB,EAAEqnD,GAAMrnD,EAAE,GAAEm6O,KACfn6O,EAAEA,EAAE,EAAE,EADc,IACZC,EAAE,IACVkP,MAAMnP,GAAGC,EAAE,GAAG,EAAE,IAAI,IACpB0uC,EAAE,EAAEA,EAAE3uC,EAAE2uC,IAAI1uC,EAAE0uC,GAAG0Y,EAAE,OAAOpnD,CAAC,CArI3Bm3rB,GAAG54rB,KAAK,CAACic,KAAK6nE,GAAG48lB,OAAO,IACxB3toB,GAAE+wC,MAAM80mB,GAAG54rB,KAAK,CAACic,KAAK0vqB,GAAGjL,OAAO,IAChC3toB,GAAE44oB,MAyIqE,IACvEoU,GAAG,WAAW,SACd1mpB,EAAE73C,EAAEC,GAAG,OAAOD,EAAEC,EAAE,CAAC,CAAC,SACpBD,EAAEqnD,EAAErnD,EAAE2uC,EAAE9uC,EAAEI,EAAE3I,GAAsB,OAAnB0I,EAAE63C,EAAEA,EAAE73C,EAAEqnD,GAAGxP,EAAEh4C,EAAEvI,IAAWugD,EAAE73C,GAAGC,EAAED,IAAI,GAAGC,EAAE0uC,EAAE,CAAC,SAC5D9uC,EAAE8uC,EAAE1uC,EAAEonD,EAAE/vD,EAAEowE,EAAE7nE,EAAE8rO,GAAG,OAAO3rO,EAAEC,EAAEonD,GAAGpnD,EAAE3I,EAAEq3C,EAAE1uC,EAAEynE,EAAE7nE,EAAE8rO,EAAE,CAAC,SAC9CA,EAAEtkL,EAAEpnD,EAAE3I,EAAEq3C,EAAE+4B,EAAE7nE,EAAE8rO,GAAG,OAAO3rO,EAAEC,EAAE0uC,EAAEr3C,GAAGq3C,EAAE0Y,EAAEpnD,EAAEynE,EAAE7nE,EAAE8rO,EAAE,CAAC,SAC9CjkK,EAAE/4B,EAAE1uC,EAAEonD,EAAE/vD,EAAEowE,EAAE7nE,EAAE8rO,GAAG,OAAO3rO,EAAEC,EAAEonD,EAAE/vD,EAAEq3C,EAAE1uC,EAAEynE,EAAE7nE,EAAE8rO,EAAE,CAAC,SAC3ClyO,EAAEk1C,EAAE1uC,EAAEonD,EAAE/vD,EAAEowE,EAAE7nE,EAAE8rO,GAAG,OAAO3rO,EAAEqnD,GAAGpnD,GAAG3I,GAAGq3C,EAAE1uC,EAAEynE,EAAE7nE,EAAE8rO,EAAE,CAAC,OAAO,SAAS78M,EAAEx3B,GAAG,IACnE0I,EAAE8uB,EAAE,GAAG7uB,EAAE6uB,EAAE,GAAG6f,EAAE7f,EAAE,GAAGu4B,EAAEv4B,EAAE,GAAG9uB,EAAEH,EAAEG,EAAEC,EAAE0uC,EAAE0Y,EAAE/vD,EAAE,GAAG,EAAE,YAAY+vD,EAAExnD,EAAEwnD,EAAErnD,EAAEC,EAAE0uC,EAAEr3C,EAAE,GAAG,GAAG,YAAYq3C,EAAE9uC,EAAE8uC,EAAE0Y,EAAErnD,EAAEC,EAAE3I,EAAE,GAAG,GAAG,WAAY2I,EAAEJ,EAAEI,EAAE0uC,EAAE0Y,EAAErnD,EAAE1I,EAAE,GAAG,GAAG,YAAY0I,EAAEH,EAAEG,EAAEC,EAAE0uC,EAAE0Y,EAAE/vD,EAAE,GAAG,EAAE,YAAY+vD,EAAExnD,EAAEwnD,EAAErnD,EAAEC,EAAE0uC,EAAEr3C,EAAE,GAAG,GAAG,YAAYq3C,EAAE9uC,EAAE8uC,EAAE0Y,EAAErnD,EAAEC,EAAE3I,EAAE,GAAG,GAAG,YAAY2I,EAAEJ,EAAEI,EAAE0uC,EAAE0Y,EAAErnD,EAAE1I,EAAE,GAAG,GAAG,YAAY0I,EAAEH,EAAEG,EAAEC,EAAE0uC,EAAE0Y,EAAE/vD,EAAE,GAAG,EAAE,YAAY+vD,EAAExnD,EAAEwnD,EAAErnD,EAAEC,EAAE0uC,EAAEr3C,EAAE,GAAG,GAAG,YAAYq3C,EAAE9uC,EAAE8uC,EAAE0Y,EAAErnD,EAAEC,EAAE3I,EAAE,IAAI,GAAG,YAAY2I,EAAEJ,EAAEI,EAAE0uC,EAAE0Y,EAAErnD,EAAE1I,EAAE,IAAI,GAAG,YAAY0I,EAAEH,EAAEG,EAAEC,EAAE0uC,EAAE0Y,EAAE/vD,EAAE,IAAI,EAAE,YAAY+vD,EAAExnD,EAAEwnD,EAAErnD,EAAEC,EAAE0uC,EAAEr3C,EAAE,IAAI,GAAG,YAAYq3C,EAAE9uC,EAAE8uC,EAAE0Y,EAAErnD,EAAEC,EAAE3I,EAAE,IAAI,GAAG,YAA6C0I,EAAE2rO,EAAE3rO,EAArCC,EAAEJ,EAAEI,EAAE0uC,EAAE0Y,EAAErnD,EAAE1I,EAAE,IAAI,GAAG,YAAoBq3C,EAAE0Y,EAAE/vD,EAAE,GAAG,EAAE,YAAY+vD,EAAEskL,EAAEtkL,EAAErnD,EAAEC,EAAE0uC,EAAEr3C,EAAE,GAAG,EAAE,YAAYq3C,EAAEg9L,EAAEh9L,EAAE0Y,EAAErnD,EAAEC,EAAE3I,EAAE,IAAI,GAAG,WAAY2I,EAAE0rO,EAAE1rO,EAAE0uC,EAAE0Y,EAAErnD,EAAE1I,EAAE,GAAG,GAAG,YAAY0I,EAAE2rO,EAAE3rO,EAAEC,EAAE0uC,EAAE0Y,EAAE/vD,EAAE,GAAG,EAAE,YAAY+vD,EAAEskL,EAAEtkL,EAAErnD,EAAEC,EAAE0uC,EAAEr3C,EAAE,IAAI,EAAE,UAAYq3C,EAAEg9L,EAAEh9L,EAAE0Y,EAAErnD,EAAEC,EAAE3I,EAAE,IAAI,GAAG,YAAY2I,EAAE0rO,EAAE1rO,EAAE0uC,EAAE0Y,EAAErnD,EAAE1I,EAAE,GAAG,GAAG,YAAY0I,EAAE2rO,EAAE3rO,EAAEC,EAAE0uC,EAAE0Y,EAAE/vD,EAAE,GAAG,EAAE,WAAY+vD,EAAEskL,EAAEtkL,EAAErnD,EAAEC,EAAE0uC,EAAEr3C,EAAE,IAAI,EAAE,YAAYq3C,EAAEg9L,EAAEh9L,EAAE0Y,EAAErnD,EAAEC,EAAE3I,EAAE,GAAG,GAAG,YAAY2I,EAAE0rO,EAAE1rO,EAAE0uC,EAAE0Y,EAAErnD,EAAE1I,EAAE,GAAG,GAAG,YAAY0I,EAAE2rO,EAAE3rO,EAAEC,EAAE0uC,EAAE0Y,EAAE/vD,EAAE,IAAI,EAAE,YAAY+vD,EAAEskL,EAAEtkL,EAAErnD,EAAEC,EAAE0uC,EAAEr3C,EAAE,GAAG,EAAE,YAAYq3C,EAAEg9L,EAAEh9L,EAAE0Y,EAAErnD,EAAEC,EAAE3I,EAAE,GAAG,GAAG,YAA6C0I,EAAE0nE,EAAE1nE,EAArCC,EAAE0rO,EAAE1rO,EAAE0uC,EAAE0Y,EAAErnD,EAAE1I,EAAE,IAAI,GAAG,YAAoBq3C,EAAE0Y,EAAE/vD,EAAE,GAAG,EAAE,YAAY+vD,EAAEqgB,EAAErgB,EAAErnD,EAAEC,EAAE0uC,EAAEr3C,EAAE,GAAG,GAAG,YAAYq3C,EAAE+4B,EAAE/4B,EAAE0Y,EAAErnD,EAAEC,EAAE3I,EAAE,IAAI,GAAG,YAAY2I,EAAEynE,EAAEznE,EAAE0uC,EAAE0Y,EAAErnD,EAAE1I,EAAE,IAAI,GAAG,YAAY0I,EAAE0nE,EAAE1nE,EAAEC,EAAE0uC,EAAE0Y,EAAE/vD,EAAE,GAAG,EAAE,YAAY+vD,EAAEqgB,EAAErgB,EAAErnD,EAAEC,EAAE0uC,EAAEr3C,EAAE,GAAG,GAAG,YAAYq3C,EAAE+4B,EAAE/4B,EAAE0Y,EAAErnD,EAAEC,EAAE3I,EAAE,GAAG,GAAG,YAAY2I,EAAEynE,EAAEznE,EAAE0uC,EAAE0Y,EAAErnD,EAAE1I,EAAE,IAAI,GAAG,YAAY0I,EAAE0nE,EAAE1nE,EAAEC,EAAE0uC,EAAE0Y,EAAE/vD,EAAE,IAAI,EAAE,WAAY+vD,EAAEqgB,EAAErgB,EAAErnD,EAAEC,EAAE0uC,EAAEr3C,EAAE,GAAG,GAAG,YAAYq3C,EAAE+4B,EAAE/4B,EAAE0Y,EAAErnD,EAAEC,EAAE3I,EAAE,GAAG,GAAG,YAAY2I,EAAEynE,EAAEznE,EAAE0uC,EAAE0Y,EAAErnD,EAAE1I,EAAE,GAAG,GAAG,UAAY0I,EAAE0nE,EAAE1nE,EAAEC,EAAE0uC,EAAE0Y,EAAE/vD,EAAE,GAAG,EAAE,YAAY+vD,EAAEqgB,EAAErgB,EAAErnD,EAAEC,EAAE0uC,EAAEr3C,EAAE,IAAI,GAAG,YAAYq3C,EAAE+4B,EAAE/4B,EAAE0Y,EAAErnD,EAAEC,EAAE3I,EAAE,IAAI,GAAG,WAA4C0I,EAAEvG,EAAEuG,EAApCC,EAAEynE,EAAEznE,EAAE0uC,EAAE0Y,EAAErnD,EAAE1I,EAAE,GAAG,GAAG,YAAoBq3C,EAAE0Y,EAAE/vD,EAAE,GAAG,EAAE,YAAY+vD,EAAE5tD,EAAE4tD,EAAErnD,EAAEC,EAAE0uC,EAAEr3C,EAAE,GAAG,GAAG,YAAYq3C,EAAEl1C,EAAEk1C,EAAE0Y,EAAErnD,EAAEC,EAAE3I,EAAE,IAAI,GAAG,YAAY2I,EAAExG,EAAEwG,EAAE0uC,EAAE0Y,EAAErnD,EAAE1I,EAAE,GAAG,GAAG,YAAY0I,EAAEvG,EAAEuG,EAAEC,EAAE0uC,EAAE0Y,EAAE/vD,EAAE,IAAI,EAAE,YAAY+vD,EAAE5tD,EAAE4tD,EAAErnD,EAAEC,EAAE0uC,EAAEr3C,EAAE,GAAG,GAAG,YAAYq3C,EAAEl1C,EAAEk1C,EAAE0Y,EAAErnD,EAAEC,EAAE3I,EAAE,IAAI,GAAG,YAAY2I,EAAExG,EAAEwG,EAAE0uC,EAAE0Y,EAAErnD,EAAE1I,EAAE,GAAG,GAAG,YAAY0I,EAAEvG,EAAEuG,EAAEC,EAAE0uC,EAAE0Y,EAAE/vD,EAAE,GAAG,EAAE,YAAY+vD,EAAE5tD,EAAE4tD,EAAErnD,EAAEC,EAAE0uC,EAAEr3C,EAAE,IAAI,GAAG,YAAYq3C,EAAEl1C,EAAEk1C,EAAE0Y,EAAErnD,EAAEC,EAAE3I,EAAE,GAAG,GAAG,YAAY2I,EAAExG,EAAEwG,EAAE0uC,EAAE0Y,EAAErnD,EAAE1I,EAAE,IAAI,GAAG,YAAY0I,EAAEvG,EAAEuG,EAAEC,EAAE0uC,EAAE0Y,EAAE/vD,EAAE,GAAG,EAAE,YAAY+vD,EAAE5tD,EAAE4tD,EAAErnD,EAAEC,EAAE0uC,EAAEr3C,EAAE,IAAI,GAAG,YAAYq3C,EAAEl1C,EAAEk1C,EAAE0Y,EAAErnD,EAAEC,EAAE3I,EAAE,GAAG,GAAG,WAAY2I,EAAExG,EAAEwG,EAAE0uC,EAAE0Y,EAAErnD,EAAE1I,EAAE,GAAG,GAAG,YAAYw3B,EAAE,GAAG+oB,EAAE73C,EAAE8uB,EAAE,IAAIA,EAAE,GAAG+oB,EAAE53C,EAAE6uB,EAAE,IAAIA,EAAE,GAAG+oB,EAAElJ,EAAE7f,EAAE,IAAIA,EAAE,GAAG+oB,EAAEwP,EAAEv4B,EAAE,GAAG,CAAC,CAPzlE,GAoB0C,SAC7C6ia,GAAG1xb,GAAG,OAAOD,GAAE0xvB,GAAGzxvB,EAAE,EAAEA,EAAE/G,QAAQ,CAAC,SACjCuyrB,GAAGn0rB,EAAEq3C,EAAE1uC,GAAG,IACVD,EA9B4B,WACvB,IACLA,EAAE,IACF1G,YAAY,IAAI2G,EAAE,IAClBrE,YAAYoE,GAAG2uC,EAAE,IACjBn1C,WAAWwG,GAAG,MAAM,CAAC7G,IAAI,EAAEi5C,EAAE,IAC7Bx2C,YAAY,CAAC,WAAW,WAAW,WAAW,YAAag9vB,IAAI34vB,EAAE+wvB,GAAGritB,EAAE,CAwBpEkqtB,GAAuC,OAhBujE,SAC7lE74vB,EAAE1I,EAAE2I,GAAG,IACVonD,EAAErnD,EAAE7G,IAAI2yvB,GAAGn9sB,EAAE,EAAW,GAAT3uC,EAAE7G,KAAK8G,EAAKonD,EAAE,CAAC,IAC9BxnD,EAAE,GAAGwnD,EAAE,GAAGpnD,EAAEJ,EAA+B,YAA5BG,EAAEgxvB,GAAG/xvB,IAAI3H,EAAEw1D,SAAS,EAAE7sD,GAAGonD,GAAUrnD,EAAEgxvB,GAAG/xvB,IAAI3H,EAAEw1D,SAAS,EAAEjtD,GAAGwnD,GAAGk3oB,GAAGv+rB,EAAEoyC,EAAEpyC,EAAE44vB,KAAK34vB,GAAGJ,EAAE8uC,GAAG9uC,CAAC,CAAC,KAAMI,GAAG,IAAID,EAAEgxvB,GAAG/xvB,IAAI3H,EAAEw1D,SAASne,EAAEA,EAAE,IAAI,GAAG4vpB,GAAGv+rB,EAAEoyC,EAAEpyC,EAAE44vB,KAAK34vB,GAAG,GAAG0uC,GAAG,GAAM1uC,GAAED,EAAEgxvB,GAAG/xvB,IAAI3H,EAAEw1D,SAASne,EAAEA,EAAE1uC,GAAG,EAAE,CAa/L64vB,CAAG94vB,EAAT82vB,GAAGx/vB,GAAUw1D,SAASne,EAAEA,EAAE1uC,GAAGA,GAAU0xb,GAb+J,SAC5M1xb,GAAG,IACN0uC,EAAE1uC,EAAE9G,IAAI2yvB,GAAkB,GAAf7rvB,EAAE+wvB,GAAGritB,GAAGoitB,KAAGpitB,EAAS,GAAG,CAAC,IAAI,IACvC3uC,EAAE2uC,EAAE3uC,EAAE,GAAGA,IAAIC,EAAE+wvB,GAAGhxvB,GAAG,EAAgB,IAAdu+rB,GAAGt+rB,EAAEmyC,EAAEnyC,EAAE24vB,KAChC54vB,EAAE,EAAEA,EAAE,GAAGA,IAAIC,EAAE+wvB,GAAGhxvB,GAAG,CAAC,MACtB,IACAA,EAAE2uC,EAAE3uC,EAAE,GAAGA,IAAIC,EAAE+wvB,GAAGhxvB,GAAG,EAAEC,EAAE24vB,IAAI,IAAI34vB,EAAE9G,KAAK,EAAE8G,EAAE24vB,IAAI,IAAI34vB,EAAE9G,KAAK,GAAG,UAAWolsB,GAAGt+rB,EAAEmyC,EAAEnyC,EAAE24vB,KAEnE,IAFwE,IACvFthwB,EAAE,IACFkC,WAAW,IACX6tD,EAAE,EAAEA,EAAE,EAAEA,IAAI,IACZrnD,EAAE,EAAEA,EAAE,EAAEA,IAAI1I,EAAI,EAAF+vD,EAAIrnD,GAAGC,EAAEmyC,EAAEiV,IAAI,EAAErnD,EAAEkqvB,EAAG,OAAO5yvB,CAAC,CAGOyhwB,CAAG/4vB,GAAG,CAAC,SAC1Dm2b,GAAGxnZ,EAAE1uC,EAAED,GAAG,OAAOyrrB,GAAM98oB,EAAG1uC,EAAED,EAAE,CAChB,IACdsna,GAAG,IACHn4Z,MAAQ,SACRo5kB,GAAGtolB,GAAG,IACND,EAAEsna,GAAGrna,GAAmD,OAA5CD,EAAE+d,QAAOumC,GAAE,iCAAqCtkD,EAAE3G,QAAuB,GAAf2G,EAAEg5vB,aAA2Bh5vB,EAAE4mD,OAAO5mD,EAAE4mD,OAAO8qsB,GAAG1xvB,EAAE3G,OAAO,EAAE2G,EAAEg5vB,cACrIh5vB,EAAEqiS,KAAKx8P,MAAM7lC,EAAEkc,OAAOlc,EAAE3G,OAAO,EAAE2G,EAAEg5vB,aAAah5vB,EAAEkc,QAAQlc,EAAEg5vB,YAAYh5vB,EAAEg5vB,YAAY,EAAS,GADD,CACE,CAC5E,IACpBnnW,GAAG,IACH1iZ,MAAM,GAAG,SACTmnR,GAAGt2R,EAAEC,GAAG4prB,GAAG3vrB,KAAKQ,KAAK87C,GAAE,IAAI97C,KAAKgtD,IAAI,SAAS1nD,GAAG,OAAO,CAAC,EAAQ,GAAHA,GAChD,mBAAbxI,QAAQkwD,IAAgBhtD,KAAKgtD,IAAIlwD,QAAQkwD,IACnC,GAAH1nD,GACY,mBAAfxI,QAAQC,MAAkBiD,KAAKgtD,IAAIlwD,QAAQC,MAE9B,mBAAbD,QAAQkwD,MAAgBhtD,KAAKgtD,IAAIlwD,QAAQkwD,KAAIhtD,KAAKs/E,MAAM/5E,CAAC,CACkJ,SAC3Mirb,GAAGjrb,EAAED,GAAuC,OAA9BI,MAAHJ,IAAaA,EAAE6xZ,GAAG34Z,QAAO24Z,GAAG7xZ,GAAGC,EAASD,CAAC,CAkBJ,SAChDi5vB,GAAGtqtB,GAAG,IACN3uC,EAAE6xZ,GAAGljX,GAAM3uC,EAAEg6E,MAAMu9qB,QAAOjzsB,GAnwBsU,MAmwBjU3V,EAAE,gBAAgB,IACjD0Y,OAAqBjnD,IAAnBJ,EAAEg6E,MAAMk/qB,SAAqBl5vB,EAAEg6E,MAAMk/qB,SAAS,EAAEj5vB,EAAE,CAACoiS,KAAKriS,EAAEkc,OAAOlc,EAAEg6E,MAAM42E,OAAO5wJ,EAAE9G,SAAS,EAAEi7O,GAAGxlM,EAAE5wB,QAAO,EAAKyyB,KAAI,EAAKwotB,YAAY,EAAE3/vB,OAAO,IAC9IG,WArwB22C,OAqwB51C0/vB,SAAS7xsB,GAAc,OAAXigX,GAAGrna,EAAEk0O,IAAIl0O,EAASA,EAAEk0O,EAAE,CAG+B,SAChFnmM,GAAEhuC,GAAG,OAAOA,CAAC,CASgR,SAC7Rm5vB,GAAGl5vB,EAAED,EAAEqnD,EAAE1Y,GAAG,OAVE,SACXA,EAAE1uC,EAAEJ,EAAE8rO,GAAG,IACZ3rO,EAAEsna,GAAG34X,GACuB,GADhB3uC,EAAE+d,QAAOumC,GAAE,qCACfrkD,GAARA,EAAE62vB,GAAG72vB,IAAO6sD,SAASjtD,EAAEA,EAAE8rO,GAAM3rO,EAAEg5vB,YAAY/4vB,EAAE/G,OAAO8G,EAAE3G,OAAOH,OAAO,CAAC,IACvE5B,EAAE,IACFkC,WAAWwG,EAAEg5vB,YAAY/4vB,EAAE/G,QAAQ5B,EAAE2H,IAAIe,EAAE3G,QAAQ2G,EAAE3G,OAAO/B,CAAC,CAAC,OAAO0I,EAAEk5vB,UAAU,KACjF,EAAEl5vB,EAAE3G,OAAO4F,IAAIgB,EAAED,EAAEg5vB,aAAah5vB,EAAEg5vB,aAAa/4vB,EAAE/G,OAAOqvlB,GAAG55iB,GAAG,MAAM,KACpE,EAAE3uC,EAAE3G,OAAO4F,IAAIgB,EAAED,EAAEg5vB,aAAah5vB,EAAEg5vB,aAAa/4vB,EAAE/G,OAAU8G,EAAEg5vB,aAAah5vB,EAAE3G,OAAOH,QAAOqvlB,GAAG55iB,GAAG,MAAM,KACtG,EAAE,IACF0Y,EAAEpnD,EAAEgqD,YAAY,IAAO5C,EAAE,GAAGrnD,EAAE3G,OAAO4F,IAAIgB,EAAED,EAAEg5vB,aAAah5vB,EAAEg5vB,aAAa/4vB,EAAE/G,OAAU8G,EAAEg5vB,aAAah5vB,EAAE3G,OAAOH,QAAOqvlB,GAAG55iB,KAAQ3uC,EAAE3G,OAAO4F,IAAIgB,EAAE6sD,SAAS,EAAEzF,EAAE,GAAGrnD,EAAEg5vB,aAAah5vB,EAAEg5vB,aAAa3xsB,EAAE,EAAEkhiB,GAAG55iB,GAAG3uC,EAAE3G,OAAO4F,IAAIgB,EAAE6sD,SAASzF,EAAE,GAAGrnD,EAAEg5vB,aAAah5vB,EAAEg5vB,aAAa/4vB,EAAE/G,OAAOmuD,EAAE,GAAQ,OAAO,CAAC,CACzQi1Z,CAAGr8c,EAAKD,EAAGqnD,EAAE1Y,EAAE,CAAC,SACnCsyY,GAAGtyY,EAAE1uC,GACmC,OAAZk5vB,GAAGxqtB,EAA7B3uC,GAAE7D,OAAOowD,aAAatsD,IAAW,EAAE,GAAU,CAAC,CAAC,SACjDu8a,GAAGv8a,EAAED,GAAgB,OAAP,GAAHA,GAAKosa,KAAYnsa,EAAED,CAAC,CAAC,SAChCo5vB,GAAG/xsB,EAAErnD,EAAE2uC,EAAE9uC,GAAG,OAAO,CAAC,IACpBI,EAAEonD,EAAE5L,WAAWz7C,GAAO,GAAJA,IAAOC,GAAGu/c,EAAG,OAAO,IACtClod,EAAE+vD,EAAE5L,WAAWz7C,GAAGA,IAAa2uC,EAAE1uC,EAAE,GAAV3I,GAAGkod,EAAU3/c,EAC/B8uC,EAAEr3C,EAAE,EAAE,CAAC,CAAC,SACf+hmB,GAAGhyiB,EAAErnD,EAAE2uC,GAAG,OAAO,CAAC,IAClB1uC,EAAEonD,EAAE5L,WAAWz7C,GAAO,GAAJA,IAAOC,GAAGu/c,EAAG,OAAO,IACtClod,EAAE+vD,EAAE5L,WAAWz7C,GAAGA,IAAa2uC,EAAE1uC,EAAE,GAAV3I,GAAGkod,GAAW,EAChC7wa,EAAEr3C,EAAE,EAAE,CAAC,CAAC,SACf+hwB,GAAGr5vB,EAAEw2C,EAAEv2C,GAC4ED,EAAEs5vB,cAAat5vB,EAAEu5vB,SAAStpL,GAAGjwkB,EAA7E,IAAmFA,EAAEw5vB,YAAYvpL,GAAGjwkB,EAAhG,IAAsGA,EAAEy5vB,UAAUxpL,GAAGjwkB,EAAzG,IAA+GA,EAAE05vB,UAAUzpL,GAAGjwkB,EAAlI,IAAwIA,EAAEs5vB,YAAYrpL,GAAGjwkB,EAA7J,KAAuKA,EAAE25vB,mBAAkB35vB,EAAE45vB,cAAc3pL,GAAGjwkB,EAAlM,IAAwMA,EAAE65vB,iBAAiB5pL,GAAGjwkB,EAA1N,IAAgOA,EAAE85vB,eAAe7pL,GAAGjwkB,EAAxO,KAA8OA,EAAE+5vB,eAAe9pL,GAAGjwkB,EAAtQ,IAA4QA,EAAE25vB,iBAAiB1pL,GAAGjwkB,EAAtS,KAA2T,MAAZA,EAAEg6vB,WAAeh6vB,EAAEg6vB,SAASlpK,GAAG9wlB,EAAjU,MAAuU,IACnZ1I,EAAEq3C,EAAE6H,EAAEihB,EAAEq/rB,GAAG72vB,EADT,IAEK,IADa0uC,GAAG,GAAG1uC,EADR,GACaA,EADrB,GAC0BA,EADtB,GAC2BA,EADnB,IACyB,GAC/C0uC,GAAGA,EAAE,IAAS,CAAC,IACfg9L,EAAE3rO,EAAEu5vB,SAAS5qtB,GAAG,GAAGg9L,EAAE,EAAE,CAAC,IACxBtkL,EAAErnD,EAAE45vB,cAAcjrtB,GAAyB,OAAtB0qjB,GAAGr5lB,EAAEg6vB,SAAS3ysB,EAAEpnD,EAJP,MAIoB0rO,EAAE,CAAC,CAAC,IACtDx0L,EAAEn3C,EAAEw5vB,YAAY7qtB,GAAG,GAAGwI,GAAG,EAAE,CAC3BkQ,EAAErnD,EAAE65vB,iBAAiBlrtB,GAAG0qjB,GAAGr5lB,EAAEg6vB,SAAS3ysB,EAAEpnD,EANV,KAMgBA,EAN5B,GAMiCA,EANrC,GAM0CA,EANlC,GAMuCk3C,CAAC,CAAC,GAAGl3C,EANpD,IAM0DA,EANlE,GAMsE,CAAC,GAAS,GAANA,EANtD,GAM8D,OAAO0uC,EAAE,EACjGr3C,EAAEq2vB,EAAG,MAAKr2vB,EAAEmgE,EAAEx3D,EAPA,IAOMA,EAPN,KAOa,IAC3B43C,EAAElJ,EACiB,IADQA,EAApB3uC,EAAEy5vB,UAAU9thB,EAAEr0O,IAAIq3C,EAAI3uC,EAAE05vB,UAAU/thB,EAAEr0O,GACzC0I,EAAEs5vB,YAAY3qtB,IAAQ,EAAE,CAAW,GAAV1uC,EATb,GASkBA,EATd,IAS6B,GAAPA,EATlB,GAUtB,OAAOA,EAVe,GAS2B2pd,GAAGtW,GACzC,KAAK,CAAC,IACjBtsZ,EAAEhnD,EAAE45vB,cAAc/htB,IAAiCwP,EAAzBrnD,EAAE85vB,eAAe9ysB,EAAE1vD,IAAIugD,EAAI73C,EAAE+5vB,eAAe/ysB,EAAE1vD,GACtE0I,EAAE25vB,iBAAiB9htB,IAAQ,GAAEuhtB,GAAGp5vB,EAAEg6vB,SAAS3ysB,EAAEpnD,EAZjB,IAYsBA,EAZtC,IAY+C3I,GAAGq2vB,KAAG1tvB,EAZzC,GAY8C,EAAC,CAAC,CAAC,CAAC,SAC5Eg6vB,GAAGj6vB,EAAEC,GAAG,QAAuB,GAAf01vB,GAAG31vB,EAAEC,GAAE,GAAU,CAAC,SAClCi6vB,GAAG7ysB,EAAE1Y,GAAG,IACR1uC,EAAE,IACFkP,MAAMw/B,EAAE,GAAG1uC,EAAE,GAAGonD,EAAE,IAAI,IACtBrnD,EAAE,EAAEA,GAAG2uC,EAAE3uC,IAAIC,EAAED,GAAG,EAAE,OAAOC,CAAC,CACI,SAChCk3rB,GAAGn3rB,GAAG,OAAGA,aAETmP,OAAOnP,EAAE,IAAIA,EAAE,KAAK,EAASA,EAAE,GAC5Bu1vB,GAAGv1vB,IACHsqa,GAAGtqa,GADU+prB,GAEb/prB,aAEH+sC,UACG,mBAAH/sC,EAAqB,IAClBA,GAAGA,EAAEgzvB,YAAmBxF,GACpB5B,EAAE,CAAC,SACVuO,GAAGl6vB,EAAE0uC,EAAE3uC,GAAMA,GAAGwP,EAAE4qvB,gBAAcn6vB,EAAEuP,EAAE4qvB,cAAcp6vB,IAAGiyvB,GAAGhyvB,EAAE,GAAG0uC,EAAK3uC,IAAEiyvB,GAAGjyvB,GAAG2uC,EAAC,CAAC,SAC5E09Z,GAAGrsc,EAAEC,GAAe,OAAZw2vB,GAAG3lK,GAAG9wlB,IAAIC,EAAS,CAAC,CACH,SACzBonD,GAAErnD,EAAEC,GAAG,OAAO2xvB,GAAG5xvB,EAAEC,EAAE,CACV,SACX+wC,GAAE/wC,EAAED,GAAuB,OAAjBA,IAAI,GAAG63C,GAAE53C,IADdwnZ,GAAE2jW,IAC2Bv6J,GAAG5wlB,EAAED,EAAE,CAAC,SAC1C2rO,GAAE3rO,EAAEC,GAAG,OAAO,EAAEonD,GAAErnD,EAAEC,EAAE,CAEA,SACtB89Z,GAAGpvX,GAAG,IACN1uC,EAAEuP,EAAEm8B,QAAQ3rC,EAAEqjsB,GAAG10pB,GAAG,OAAG1uC,GAAGA,EAAE4pI,KAAezpI,MAAVH,EAAE4pI,IAAI7pI,GAAqBk2P,GAAGj2P,EAAE4pI,IAAI7pI,IAAOwP,EAAE6qvB,iBAAiB7qvB,EAAE6qvB,gBAAgBr6vB,GAAUk2P,GAAG1mP,EAAE6qvB,gBAAgBr6vB,SAF3I0yvB,GAAGT,GAAGqI,UAE6I,CAAC,SACzJC,KAAK,GAAG/qvB,EAAEygJ,OAAO,IACU,mBAA3BzgJ,EAAEygJ,OAAO64I,gBAA6B,CAAC,IACvC9oS,EAAE,IACFpE,YAAY,GAA+B,OAA5B4T,EAAEygJ,OAAO64I,gBAAgB9oS,GAAS,CAAC,EAAEA,EAAE,GAAG,CACzD,GAAGwP,EAAEygJ,OAAOuqmB,cAAcnN,GAAG,CAAC,IAC9BptvB,EAAEuP,EAAEygJ,OAAOuqmB,YAAY,GACR,MAAM,CAAC,GADIx6vB,EAAE,IAC5BpE,YAAYqE,IAAc,GAAG,EAEiB,MAAM,CAAC,GADnD,IACFlC,MAAOo0E,UAAc,WAAW/6D,KAAKo2B,SAAoB,CAAC,SAC1DittB,GAAGz6vB,GACC,KAAMA,GAAGA,EAAE06vB,WAAW16vB,EAAEA,EAAE06vB,UAAUh4vB,MAAM,KAAK1C,EAAE26vB,UAAc,OAAO36vB,CAAC,CAAC,SAC5EN,GAAEO,EAAED,GAAG,MAAM,CAAC06vB,UAAUz6vB,EAAE06vB,SAAS36vB,EAAE,CACtB,SACfoxC,GAAEpxC,GAAG,OAAGA,aAERmP,MAAanP,EAAKwP,EAAE04C,YAAYloD,aAEhCwP,EAAE04C,YAAYloD,EAAEqE,SAASrE,EAAEqE,QAAQhJ,MAAM,wBAAuDmU,EAAEorvB,eAAe56vB,aAEjHwP,EAAEorvB,eAAe56vB,EAAEqE,SAASrE,EAAEqE,QAAQhJ,MAAM,uBAF8B42vB,GAAG4I,eAEsB76vB,aAEnGwP,EAAEpV,OAAOs8vB,GAAGjJ,IAAU,CAAC,EAAEiJ,GAAGjJ,IAAIztvB,GAAS,CAAC,EAAEiyvB,GAAGqC,QAAQp+f,GAAG/5P,OAAO6D,IAAI,CAAC,SACtEulc,GAAGvlc,GAAG,OAAOA,EAAEsP,MAAM,EAAE,CAAC,SACxBwrvB,GAAGzzsB,GAEU,IAFP,IACN1Y,EAAEkJ,GAAEwP,GAAGpnD,EAAE,IACTkP,MAAMw/B,GAAG3uC,EAAE,EAAOA,EAAE2uC,EAAE3uC,IAAIC,EAAED,GAAG6wlB,GAAGxpiB,EAAErnD,GAAG,OAAOC,CAAC,CArHWq2R,GAAG59R,UAAUQ,OAAO,WAAW,OAAO,CAAC,EAAEo9R,GAAG59R,UAAUmtC,MAAM,SAASvuC,EAAEq3C,EAAE1uC,EAAED,GAAG,GAAGtF,KAAKgtD,IAAI,CAAI1nD,EAAE,GAAGC,GAAG,GAAGA,EAAED,GAAG2uC,EAAEz1C,QAAkB,IAAVy1C,EAAE1uC,EAAED,EAAE,IAAOA,IAAI,IACnMqnD,EAAE7Q,GAAEx2C,GAA2C,OAAxCk3R,GAAGy/d,GAAGhotB,GAAG1uC,EAAEonD,EAAE,EAAErnD,GAAGtF,KAAKgtD,IAAIL,EAAE0qsB,WAAkB,CAAC,CAACztsB,GAAE5pD,KAAKy5O,GAAGi9M,GAAG,EAAE96J,GAAG59R,UAAU2xD,KAAK,SAAS1b,EAAE3uC,EAAEqnD,EAAEpnD,GAAGqkD,GAAE5pD,KAAKy5O,GAAG,kCAAkC,EAAEmiD,GAAG59R,UAAUutB,MAAM,WAAWvrB,KAAKgtD,SAAItnD,CAAS,EAa/I,WAAW,SACrEJ,EAAEA,EAAEC,GAAG,OAAoB,IAC3Bq2R,GAAGt2R,EAAEC,EAAE,CAACirb,GAAGlrb,EAAE,EAAE,CAACu3vB,OAAO,EAAEwD,QAAQ,aAAa17P,mBAAkB,IAAO,GAAGn0E,GAAGlrb,EAAE,EAAE,CAACk5vB,SAAS,EAAE1B,OAAO,EAAEn4P,mBAAkB,IAAO,GAAGn0E,GAAGlrb,EAAE,EAAE,CAACk5vB,SAAS,EAAE1B,OAAO,EAAEn4P,mBAAkB,IAAO,EAAG,CAFhI,GAuGV,IAChD27P,GAAG,WAAW,IACd/6vB,EAAE,CAp2BotC,YAo2BjsCiqvB,EAAG,EAp2Bk2F,IAo2B11FA,EAAGA,EAAG,IAp2Bo1F,IAo2B50FA,EAAGA,EAAG,EAp2BkqC,gBAo2BroCA,EAAGA,EAp2Bm3B,IAo2B72BA,EAAGA,EAAGA,EAp2Bu2B,IAo2Bj2BA,GAAIv7sB,EAAQ,EAARA,EAAmB,EAAnBA,EAA4B,EAA5BA,EAAyC,EAAzCA,EAAqD,EAArDA,EAA2D,EAA3DA,EAAiE,EAAjEA,EAAgF,EAAhFA,EAA2F,EAA3FA,EAAsG,EAAtGA,EAAiH,GAAjHA,EAA2H,GAA3HA,EAAwI,GAAxIA,EAAsJ,GAAtJA,EAAoK,GAApKA,EAA4K,GAA5KA,EAAwL,GAAxLA,EAAmM,GAAnMA,EAAoN,GAAI,SAClU2V,EAAEtkD,GAAG,OAAOC,EAAED,GAAG,KAAO,EAAFA,GAAK,CAAC,CAAC,SAC7By3D,EAAEx3D,EAAED,GAAG,OAAOgxC,GAAE/wC,EAAED,GAAG,KAAO,EAAFA,GAAK,CAAC,CA8CI,OA9CH,SAC/BgnD,EAAE/mD,EAAED,EAAEgxC,GAGC,IAHE,IACXoB,EAAEmzZ,GAAGv+Y,EAAE,IAAInP,EAAE0tZ,GAAGv+Y,EAAE,IAAIzH,EAAEuxiB,GAAG9piB,EAAE,IAAIv3C,EAAO,EAALu3C,EAAE,GAAK0gW,EAAO,EAAL1gW,EAAE,GAAsB7P,GAAf6P,EAAE,GAAK/mD,EAAE66vB,GAAG76vB,GAAK,GAAEuP,GAAE,EAAM2G,EAAE,GAAG1c,EAAE,IACvF0V,MAAMM,GAAGssI,EAAE,IACX5sI,MAAMu4Y,GACN7nZ,EAAE,EAAEA,EAAEpG,EAAEP,OAAO2G,IAAIpG,EAAEoG,GAAG,CAACkP,OAAO,EAAEC,KAAK,GAAgB,SACvD1X,IAAI,KAAM6e,EAAEjd,QAAO,CAAC,IACpB+G,EAAEkW,EAAE8hD,MAAM,GAAGh4D,EAAEg7vB,KAAKh7vB,EAAEg7vB,KAAKhjuB,IAAIh4B,EAAEg7vB,KAAK9svB,MAAMlO,EAAEg7vB,KAAKlhwB,WACnD,GAAGkG,EAAEu7C,IAA4B,OAAvBrE,EAAEl3C,EAAEu7C,IAAIqwY,QAAG7rb,EAAEC,EAAEu7C,IAAI0/sB,IAAW,CAAC1rvB,GAAE,CAAI,CAAC,SAChDpW,EAAE4G,GAAGmW,EAAE3X,KAAKwB,EAAE,CAAC,SACf++D,IAAItlE,EAAE,GAAGuV,IAAIhP,EAAE,IACfqnD,EAAE,IACFl4C,MAAM,EAAW,EAAT1V,EAAEP,QAAUmuD,EAAE,GAAG,EAAE,IAAI,IAC/B1Y,EAAE,EAAEA,EAAEl1C,EAAEP,OAAOy1C,IAAI,CAAC,IACpB1uC,EAAExG,EAAEk1C,IAAM1uC,EAAE8O,MAAM,GAAG9O,EAAE+O,IAAI,KAAE/O,EAAE8O,MAAM9O,EAAE+O,KAAK,GAAEq4C,EAAE,EAAE1Y,EAAE,GAAG1uC,EAAE8O,MAAMs4C,EAAE,EAAE1Y,EAAE,EAAE,GAAG1uC,EAAE+O,GAAG,CAAC,OAAOq4C,CAAC,CAAC,SACzFv4B,IAAI,GAAGkiB,EAAE,OAAO+tB,IAChBznE,GAAG,CAAC,IAXsCmC,EAAE,GAAGsV,MAAM/O,GAW1CwP,GAAE,CAAC,IACoBk4D,EAAlC5Q,EAAE1kB,EAAE+E,GAAGqoa,EAAG//c,EAAE2yC,EAAE+E,IAAI,EAAEkQ,EAAE5nD,EAAE+/c,EAAG7zO,EAAE1rO,EAAED,GAAS,OAAJm3C,IAAW2f,GAAG,KAClDnoB,EAAO,GAAG3uC,IAAIC,EAAE/G,OAAO,CAAC41B,IAAI,KAAK,CAAI68M,IAAItkL,EAAErnD,IAC3C1I,IAAI,MAAM,KACVq3C,EAAW,GAAG3uC,IAAIC,EAAE/G,OAAO,CAAC41B,IAAI,KAAK,CAAIywB,EAAE9D,WAAWkwL,KAAKtkL,EAAErnD,IAC7D1I,IAAI,MAAM,KACVq3C,EAAa,IACbjvC,EAAEoxlB,GAAGj5iB,EAAEwP,IADE,IACExnD,EAAE,EAAEA,EAAEH,EAAExG,OAAO2G,IAAI,CAAC,GAAGG,IAAIC,EAAE/G,OAAO,CAAC41B,IAAI,KAAK,CAAC,GAAG68M,IAAIjsO,EAAE+7C,WAAW57C,GAAgB,CAACvI,IAAI,KAAK,CAAvBq0O,EAAE1rO,IAAID,EAAkB,CAAC,MAAM,KAChH2uC,EAAa,IACbjvC,EAAEoxlB,GAAGj5iB,EAAEwP,IAAIxnD,EAAE,EAAEA,EAAEH,EAAExG,OAAO2G,IAAI,CAAC,GAAGG,IAAIC,EAAE/G,OAAO,CAAC41B,IAAI,KAAK,CAAC,GAAGywB,EAAE9D,WAAWkwL,KAAKjsO,EAAE+7C,WAAW57C,GAAgB,CAACvI,IAAI,KAAK,CAAvBq0O,EAAE1rO,IAAID,EAAkB,CAAC,MAAM,KAC9H2uC,EAAY,GAAG3uC,IAAIC,EAAE/G,OAAO,CAAC41B,IAAI,KAAK,CAAI2oC,EAAE5f,EAAEwP,GAAGskL,GAAG3rO,IACpD1I,IAAI,MAAM,KACVq3C,EAAS3uC,EAAE,GAAW,IAARC,EAAED,EAAE,IAAO1I,IAAI,MAAM,KACnCq3C,EAAS3uC,EAAEC,EAAE/G,QAAc,IAAN+G,EAAED,IAAO1I,IAAI,MAAM,KACxCq3C,EAAe,GAAM,GAAH3uC,EAAK,CAAC,GAAGA,IAAIC,EAAE/G,OAAO,CAAC41B,IAAI,KAAK,CAAC,GAAGw1B,EAAErkD,EAAE,IAAI,MAAM3I,GAAG,MACvE,GAAG0I,IAAIC,EAAE/G,OAAO,CAAC,GAAGorD,EAAErkD,EAAED,EAAE,IAAI,MAAM1I,GAAG,KAAK,CAAC,GAAGgtD,EAAErkD,EAAED,EAAE,KAAKskD,EAAErkD,EAAED,IAAI,MAAM1I,GAAG,CAAC,MAAM,KACnFq3C,EAAkBv1C,EAAE,CAAC6hwB,KAAK,CAAChjuB,IAAhByvC,EAAEjuE,EAAE4tD,GAAkBl5C,KAAKw7uB,EAAG5vvB,MAAM2tE,EAAE34D,SAAS24D,EAAE34D,MAAM/O,EAAE,MAAM,KAC1E2uC,EAAkBv1C,EAAE,CAAC6hwB,KAAK,CAAChjuB,IAAhByvC,EAAEjuE,EAAE4tD,GAAkBl5C,KAAK,MAAMpU,MAAM2tE,EAAE14D,OAAO04D,EAAE14D,IAAIhP,EAAE,MAAM,KACzE2uC,EAAkB,IAAP+4B,EAAEjuE,EAAE4tD,IAAQt4C,MAAM,GAAG24D,EAAE14D,IAAI,EAAE,CAAC1X,IAAI,KAAK,CAAC,IACnDuI,EAAE6nE,EAAE34D,MAAMlP,EAAE6nE,EAAE14D,IAAInP,IAAI,CAAC,GAAGG,IAAIC,EAAE/G,OAAO,CAAC41B,IAAI,KAAK,CAAC,GAAG7uB,EAAEJ,IAAII,EAAED,GAAG,CAAC1I,IAAI,KAAK,CAAC0I,GAAG,CAAC,MAAM,KACrF2uC,EAAe8oB,EAAE5f,EAAEwP,GAAGskL,IAAG3rO,IAAI,MAAM,KACnC2uC,EAAa,KAAM8oB,EAAE5f,EAAEwP,GAAGskL,IAAGA,EAAE1rO,IAAID,GAAG,MAAM,KAC5C2uC,EAAa,GAAG3uC,IAAIC,EAAE/G,OAAO,CAAC41B,IAAI,KAAK,CAAC,GAAG2oC,EAAE5f,EAAEwP,GAAGskL,GAAG,GACrDA,EAAE1rO,IAAID,SAASy3D,EAAE5f,EAAEwP,GAAGskL,SACtBr0O,IAAI,MAAM,KACVq3C,EAAS,OAAOowB,IAAI,KACpBpwB,EAAOwI,GAAI13C,EAAE,MAAM,KACnBkvC,EAAWv1C,EAAE,CAACoiD,IAAI,CAACqwY,GAAG10Y,EAAE13C,EAAEy7vB,IAAIl7vB,KAAK,MAAM,KACzC2uC,EAAUv1C,EAAE,CAAC6hwB,KAAK,CAAChjuB,IAAI8jH,EAAE5tI,KAAKk5C,EAAEttD,MAAMgiJ,EAAE10F,MAAM00F,EAAE10F,GAAGrnD,EAAE,MAAM,KAC3D2uC,EAAmBotG,EAAE10F,KAAKrnD,GAAE1I,IAAI,MAAM,QAAQ,MAAM,IACpD8C,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAS,CAjDzC,GAiD6C,SAChD+gwB,GAAG9zsB,EAAEpnD,EAAED,GAA0C,KAApCA,EAAE,GAAGA,EAAE63C,GAAE53C,KAAGwnZ,GAAE,sBAA4BznZ,GAAG63C,GAAE53C,IAAG,CAAC,IAChE0uC,EAAEqstB,GAAG3zsB,EAAEpnD,EAAED,EAAE,GAAG,GAAG2uC,EAAE,OAAOA,EAAE3uC,GAAG,CAAC,MAAM,CAAC,EAAE,CAgBb,SAC5Bo7vB,GAAGp7vB,GAAG,KAAGA,aAETmP,QAAc,GAANnP,EAAE,IAAOA,EAAE,IAAI82D,EAGvB,MAAM92D,EAHqB,IAC3B2uC,EAAE+ntB,GAAG3vJ,IAAI,GAAGp4jB,EAAEA,EAAE3uC,GAAE,OAAW,CAAC,IAC9BqnD,EApBqE,SAClEpnD,GAAG,IACND,EAAE1I,GAAE,GAAS,GAAN2I,EAAE,GAAM,CAAY,GAAXD,GAAGC,EAAE,GAAG,GAAgB,GAAVA,EAAE/G,QAAoB,GAAT+G,EAAE,GAAG,IAHN,SACvCD,GAAG,OAAOA,EAAE,IAAI,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,OAAO,EAAE,QAAQ,OAAO,EAAE,CAEbq7vB,CAAGp7vB,EAAE,IAAI,IAChEJ,EAAEI,EAAE,GAAG0rO,EAAE,OAETA,EAAE,EAAE9rO,EAAEI,EAAED,GAAG,IAAI,IAAI,IACnBqnD,EAAEskL,EAAEtkL,EAAExnD,EAAE3G,OAAOmuD,IAAI,CAAIA,EAAEskL,IAAE3rO,GAAGwwvB,IAAG,IACjC7htB,EAAE9uC,EAAEwnD,GACQrnD,GAAT,iBAAH2uC,EAAeA,EAAEn2C,WACdm2C,aAEHkjtB,IAEG,iBAAHljtB,EAFMy+sB,GAAGz+sB,EAAEn2C,WAAW40vB,GAl6BoqG,GAq6BrrG,CAACptvB,GAr6Bq3C,GAq6Bh3C,MACRC,EAAE,IAAI62D,IAAE92D,GAAGC,EAAE,IAAG,OAAOD,CAAC,CAKzBs7vB,CAAGt7vB,GAAGC,EAAEy2vB,GAAGpzD,IAAOrjsB,GAAEA,EAAE,GAAGzI,QAAQC,MAAMq5vB,GAAGzpsB,EAAE,KAAK,CAC5C,CAG+E,SACtFpnD,GAAED,EAAEC,GAAG,OAAiB,GAAVD,EAAE9G,OAAU8G,EAAEC,GAAGsyvB,GAAGvyvB,EAAE,CAACC,GAAG,CAAC,SACzCJ,GAAEG,EAAEC,EAAE0uC,GAAG,OAAiB,GAAV3uC,EAAE9G,OAAU8G,EAAEC,EAAE0uC,GAAG4jtB,GAAGvyvB,EAAE,CAACC,EAAE0uC,GAAG,CAAC,SAC/C4stB,GAAGv7vB,EAAEC,EAAE0uC,EAAE0Y,GAAG,OAAiB,GAAVrnD,EAAE9G,OAAU8G,EAAEC,EAAE0uC,EAAE0Y,GAAGkrsB,GAAGvyvB,EAAE,CAACC,EAAE0uC,EAAE0Y,GAAG,CAAC,SACtDy5X,GAAG9gb,EAAEC,EAAE0uC,EAAE0Y,EAAE/vD,GAAG,OAAiB,GAAV0I,EAAE9G,OAAU8G,EAAEC,EAAE0uC,EAAE0Y,EAAE/vD,GAAGi7vB,GAAGvyvB,EAAE,CAACC,EAAE0uC,EAAE0Y,EAAE/vD,GAAG,CAAC,SAC5D4lb,GAAGl9a,EAAEC,EAAE0uC,EAAE0Y,EAAE/vD,EAAEuI,GAAG,OAAiB,GAAVG,EAAE9G,OAAU8G,EAAEC,EAAE0uC,EAAE0Y,EAAE/vD,EAAEuI,GAAG0yvB,GAAGvyvB,EAAE,CAACC,EAAE0uC,EAAE0Y,EAAE/vD,EAAEuI,GAAG,CAAC,SAClE27vB,GAAGx7vB,EAAEC,EAAE0uC,EAAE0Y,EAAE/vD,EAAEuI,EAAE8rO,EAAEjkK,GAAG,OAAiB,GAAV1nE,EAAE9G,OAAU8G,EAAEC,EAAE0uC,EAAE0Y,EAAE/vD,EAAEuI,EAAE8rO,EAAEjkK,GAAG6qrB,GAAGvyvB,EAAE,CAACC,EAAE0uC,EAAE0Y,EAAE/vD,EAAEuI,EAAE8rO,EAAEjkK,GAAG,EATrE,WACH,IACL1nE,EAAEwP,EAAEm8B,QAAW3rC,GAAGA,EAAE0zE,GAAG1zE,EAAE0zE,GAAG,oBAAoB,SAASzzE,EAAE0uC,GAAGystB,GAAGn7vB,GAAGD,EAAE8gD,KAAK,EAAE,GAC1EtxC,EAAEiT,kBAAiBjT,EAAEiT,iBAAiB6nuB,EAAG,SAAStqvB,GAAMA,EAAEvI,OAAM2jwB,GAAGp7vB,EAAEvI,MAAM,EAAE,CAACgkwB,GAxWpD,WACxB,IACLx7vB,EAAEuP,EAAEksvB,YAAY,GAAGz7vB,EAAE,IAAI,IACzBD,EAAE,EAAEA,EAAEC,EAAE/G,OAAO8G,IAAIs2b,GAAGr2b,EAAED,GAAGzI,KAAK0I,EAAED,GAAGuf,SAAS/P,EAAEmsvB,iBAAiBrlU,GAAG9mb,EAAEksvB,YAAY,EAAW,CA2WfE,GAAK,IACnFx1U,GAAG,CAACtvX,EAAE92D,GAAEkrvB,KAAK,GAAGrjU,GAAG,CAAC/wX,EAAE92D,GAAEquvB,KAAK,GAAGrrvB,GAAG,CAAC8zD,EAAE92D,GAAEguvB,KAAK,GAAG9/V,GAAG,CAACp3V,EAAE92D,GAAE0kY,IAAK,GAAGtrY,GAAE,CAAC09D,EAAE92D,GAAEqwvB,KAAK,GAAG5khB,GAAG,CAAC30K,EAAE92D,GAAE+vY,KAAK,GAAGif,GAAG,CAACl4V,EAAE92D,GAAEytb,KAAK,GAAGhub,GAAE,CAACq3D,EAAE92D,GAAE20Z,KAAK,IAAIknW,GAAG,CAAC/ksB,EAAE92D,GAAE2+rB,KAAK,IAAIxjR,GAAG,CAAC,EAAEn7a,GAAE1I,IAAG,EAAE,GAAG,GAAGwkwB,GAAG,CAAC,EAAE97vB,GAAE1I,IAAG,EAAE,EAAE,GAAoCykwB,GAAG,CAAC,EAAE,CAAC,GAAG/7vB,GAAE,UAAU,CAAC,EAAE,EAAE,CAAC,GAAGA,GAAE,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAAGA,GAAEsrvB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAAGtrvB,GAt7BgyD,MAs7B1xD,CAAC,EAAE,EAAE,YAAYA,GAAE,6CAA6Cg8vB,GAAG,CAAC,EAAEh8vB,GAAE,6XAA6XA,GAAE,kaAAkaA,GAAE,2SAA2SA,GAAE,yoJAAyoJA,GAAE,gwMAAowMA,GAAE1I,IAAG0I,GAAE1I,IAAG0I,GAAE1I,IAAG0I,GAAE1I,IAAG0I,GAAE1I,IAAG0I,GAAE1I,KAAI2kwB,GAAGvD,GAAG,CAAC14vB,GAAE2nlB,GAAI3nlB,GAAE6jc,IAAI7jc,GAAEg5lB,IAAIh5lB,GAAE+tvB,IAAI/tvB,GAAEqqvB,GAAIrqvB,GAAEsuvB,IAAItuvB,GAAEmtvB,IAAIntvB,GAAE+hN,GAAI/hN,GAAEg3D,IAAIh3D,GAAEmxvB,IAAInxvB,GAAEuqvB,GAAIvqvB,GAAEysvB,IAAIzsvB,GAAEkwvB,IAAIlwvB,GAAE6qvB,GAAI7qvB,GAAEsvvB,IAAItvvB,GAAEivvB,IAAIjvvB,GAAEoxvB,IAAIpxvB,GAAE0uvB,IAAI1uvB,GAAE+uvB,IAAI/uvB,GAAEwvvB,IAAIxvvB,GAAE4nZ,IAAG5nZ,GAAEkxC,IAAGlxC,GAAE0wvB,IAAI1wvB,GAAEi5lB,MAAMnqK,GAAG,CAAC,EAAE9ub,GAAEspvB,GAAI,CAAC,EAAEtpvB,GAAEwrvB,IAAI,IAAI56V,GAAG,CAAC,EAAE5wZ,GAAEysvB,IAAI,CAAC,EAAEzsvB,GAAEg3D,IAAI,CAAC,EAAEh3D,GAAE8zb,IAAI,KAAKooU,GAAGxD,GAAG,CAAC14vB,GAAE2nlB,GAAI3nlB,GAAE6jc,IAAI7jc,GAAEg5lB,IAAIh5lB,GAAE+tvB,IAAI/tvB,GAAEqqvB,GAAIrqvB,GAAEsuvB,IAAItuvB,GAAEmtvB,IAAIntvB,GAAE+hN,GAAI/hN,GAAEg3D,IAAIh3D,GAAEmxvB,IAAInxvB,GAAEuqvB,GAAIvqvB,GAAEysvB,IAAIzsvB,GAAEkwvB,IAAIlwvB,GAAE6qvB,GAAI7qvB,GAAEsvvB,IAAItvvB,GAAEivvB,IAAIjvvB,GAAEoxvB,IAAIpxvB,GAAE0uvB,IAAI1uvB,GAAE+uvB,IAAI/uvB,GAAEwvvB,IAAIxvvB,GAAE4nZ,IAAG5nZ,GAAEkxC,IAAGlxC,GAAE0wvB,IAAI1wvB,GAAEi5lB,MAAMrvK,GAAG,CAAC,EAAE5pb,GAAEwrvB,IAAI,GAAG2Q,GAAG,CAAC,EAAEn8vB,GAAEysvB,IAAI,CAAC,EAAEzsvB,GAAEg3D,IAAI,CAAC,EAAEh3D,GAAE8zb,IAAI,KAAKsoU,GAAGp8vB,GAAE,UAAUq8vB,GAAGr8vB,GAAE,MAAYA,GAAE86a,IAAKq/U,GAAG,GAAG0B,GAAGl9D,IAAIw7D,GAAG,GAAG16vB,GAAEk1Z,IAAIwlW,GAAG,EAAE,CAACrjsB,EAAE92D,GAAEo0lB,IAAK,IAAIA,GAAI+lK,GAAG,EAAEnrW,GAAGy+B,IAAI0sU,GAAG,EAAE1uhB,GAAGskK,IAAIoqX,GAAG,EAAE/gwB,GAAEi3vB,IAAI8J,GAAG,EAAE,CAACrjsB,EAAE92D,GAAEyjsB,KAAK,GAAGA,IAAI02D,GAAG,EAAE,CAACrjsB,EAAE92D,GAAE8tvB,KAAK,GAAGA,IAAIqM,GAAG,EAAEjsW,GAAGxpB,GAAIy1X,GAAG,EAAEn3vB,GAAGgrvB,IAAImM,GAAG,EAAEtyU,GAAGwmU,IAAI8L,GAAG,EAAE/zU,GAAG8kU,IAAI,IACj/Z5mU,GAAGtkb,GAAE,SAASwjsB,GAAGxjsB,GAAE+nb,IAAI6yB,GAAG56c,GAAEsxvB,IAAI30U,GAAG38a,GAAE,SAASsxc,GAAGtxc,GAAE,eAAeu1c,GAAGv1c,GAAE,8BAA8Bs8vB,GAAGt8vB,GAAE,QAAQ+zZ,GAAG/zZ,GAAE,OAAO+xb,GAAG/xb,GAAE,OAAO4vZ,GAAG5vZ,GAAE,OAAOwob,GAAGxob,GAAE,OAAOu8vB,GAAGv8vB,GAAE,OAAOqtc,GAAGrtc,GAAE,YAAYw8vB,GAAGx8vB,GAAE,OAAOy8vB,GAAGz8vB,GAAE,YAAY08vB,GAAG18vB,GAAE,MAAM28vB,GAAG38vB,GAAE,mCAAmC48vB,GAAG58vB,GAAE,cAAc+va,GAAG/va,GAAE,0BAA0B68vB,GAAG78vB,GAAE,8CAA8Cgwa,GAAGhwa,GAAE1I,IAAGwlwB,GAAG98vB,GAAE1I,IAAGylwB,GAAG/8vB,GAAE,iBAAiBg9vB,GAAGh9vB,GAAE,cAAc8va,GAAG9va,GAAE,aAAai9vB,GAAGj9vB,GAAE,sBAAsBk9vB,GAAG,CAAC,EAAE,EAAE,EAAE,GAAGC,GAAG,CAAC,EAAE,EAAE,GAAGC,GAAG,CAAC,EAAEp9vB,GAAE,UAAU,IAAI,IAAIq9vB,GAAGr9vB,GAAE0vC,IAAI4ttB,GAAGt9vB,GAAE0vC,IAAI6ttB,GAAGv9vB,GAAE0vC,IAAI8ttB,GAAGx9vB,GAAE0vC,IAAI+ttB,GAAGz9vB,GAAE,sBAAsBqhd,GAAG,CAAC,EAAE,EAAE,EAAE,GAAGvc,GAAG,CAAC,EAAE9kc,GAAE,UAAU,IAAI,IAAIs5lB,GAAG,CAAC,EAAE,EAAE,GAAGokK,GAAG19vB,GAAEgpvB,GAAI2U,GAAG39vB,GAAEgpvB,GAAI4U,GAAG59vB,GAAEgpvB,GAAI6U,GAAG79vB,GAAEgpvB,GAAI8U,GAAG99vB,GAAE,sBAAsB+9vB,GAAG/9vB,GAAE,kCAAkCg+vB,GAAG,CAAC,EAAEh+vB,GAAEm8c,IAAI,GAAG,GAAG8hT,GAAG,CAAC,EAAEj+vB,GAAEm8c,IAAI,GAAG,GAAG7zD,GAAGtoZ,GAAE,MAAM+la,GAAG/la,GAAE,MAAMw+P,GAAGx+P,GAv7Bg8E,MAu7B17Eo5c,GAAGp5c,GAv7B2hB,OAu7BrhB+6a,GAAG/6a,GAv7B7uB,OAu7BmvByomB,GAAGzomB,GAv7BmmD,OAu7B7lD2jsB,GAAG3jsB,GAAE,MAAMwgb,GAAGxgb,GAAE,MAAMwzc,GAAGxzc,GAAE,MAAM04Z,GAAG14Z,GAAE,MAAMyrD,GAAGzrD,GAAE,MAAMwrc,GAAGxrc,GAAE,MAAMk+vB,GAAGl+vB,GAAE,MAAMoyZ,GAAGpyZ,GAAE,MAAMsga,GAAGtga,GAAE,MAAMs0C,GAAGt0C,GAAE,MAAMsnb,GAAGtnb,GAAE,OAAOiqd,GAAG,CAAC,EAAEjqd,GAAE+qZ,IAAG,IAAI,IAAIozW,GAAG,CAAC,EAAEn+vB,GAAE+qZ,IAAG,IAAI,IAAIqzW,GAAG,CAAC,EAAEp+vB,GAAE+qZ,IAAG,IAAI,IAAIszW,GAAG,CAAC,EAAEr+vB,GAAE+qZ,IAAG,IAAI,IAAIuzW,GAAG,CAAC,EAAEt+vB,GAAE+qZ,IAAG,IAAI,IAAIwzW,GAAG,CAAC,EAAEv+vB,GAAE+qZ,IAAG,IAAI,IAAIyzW,GAAG,CAAC,EAAEx+vB,GAAE+qZ,IAAG,IAAI,IAAI0zW,GAAG,CAAC,EAAEz+vB,GAAE+qZ,IAAG,IAAI,IAAI2zW,GAAG,CAAC,EAAE1+vB,GAAE+qZ,IAAG,IAAI,IAAI4zW,GAAG,CAAC,EAAE3+vB,GAAE+qZ,IAAG,IAAI,IAAI6zW,GAAG,CAAC,EAAE5+vB,GAAE+qZ,IAAG,IAAI,IAAI8zW,GAAG,CAAC,EAAE7+vB,GAAE+qZ,IAAG,IAAI,IAAI+zW,GAAG,CAAC,EAAE9+vB,GAAE+qZ,IAAG,IAAI,IAAIg0W,GAAG,CAAC,EAAE/+vB,GAAE+qZ,IAAG,IAAI,IAAI2wR,GAAG,CAAC,EAAE17qB,GAAE+qZ,IAAG,IAAI,IAAIi0W,GAAG,CAAC,EAAEh/vB,GAAE+qZ,IAAG,IAAI,IAAIk0W,GAAGj/vB,GAv7BvvB,MAu7B6vBk/vB,GAAG,CAAC,EAAEl/vB,GAAE+qZ,IAAG,KAAK,GAAGo0W,GAAGn/vB,GAAE,6BAA6Bo/vB,GAAG,CAAC,EAAEp/vB,GAAE+qZ,IAAG,KAAK,IAAIs0W,GAAG,CAAC,EAAEr/vB,GAAE+qZ,IAAG,KAAK,IAAIu0W,GAAG,CAAC,EAAEt/vB,GAAE+qZ,IAAG,KAAK,IAAIw0W,GAAGv/vB,GAAE,6BAA6Bw/vB,GAAGx/vB,GAv7BpzB,MAu7B0zBy/vB,GAAGz/vB,GAv7Bt1C,MAu7B41C0/vB,GAAG1/vB,GAv7Bt0B,MAu7B40B2/vB,GAAG3/vB,GAv7Bx2C,MAu7B82C4/vB,GAAG5/vB,GAAE4svB,IAAIiT,GAAG7/vB,GAAE,gBAAgB8/vB,GAAG9/vB,GAAE88a,IAAIijV,GAAG//vB,GAAE+nb,IAAIi4U,GAAG,CAAC,EAv7B4xB,KAu7BtxB9zT,GAAGlsc,GAAE,QAAQigwB,GAAGjgwB,GAAE,QAAQwwE,GAAGxwE,GAAE,QAAQ6uZ,GAAG7uZ,GAAE,QAAQ2nb,GAAG3nb,GAAE,OAAOkgwB,GAAGlgwB,GAAE,QAAQmgwB,GAAGngwB,GAAE,OAAOogwB,GAAGpgwB,GAAE,QAAQqgwB,GAAGrgwB,GAAE,OAAOg8F,GAAGh8F,GAAE,QAAQ2ra,GAAG3ra,GAAE,OAAO4yZ,GAAG5yZ,GAv7B9iD,OAu7BojDsgwB,GAAGtgwB,GAAE,OAAOs1b,GAAGt1b,GAAE,QAAQumB,GAAGvmB,GAAE,QAAQ4vc,GAAG5vc,GAAE,QAAQ03rB,GAAG13rB,GAAE,QAAQ05c,GAAG15c,GAAE,OAAO67a,GAAG77a,GAAE,QAAQ8+rB,GAAG9+rB,GAAE,OAAOugwB,GAAGvgwB,GAAE,QAAQ+gb,GAAG/gb,GAAE,OAAOq1c,GAAGr1c,GAAE,QAAQsqrB,GAAGtqrB,GAAE,OAAO+oZ,GAAG/oZ,GAv7B/c,OAu7Bqd84Z,GAAG94Z,GAAE,OAAO++X,GAAG/+X,GAAE,QAAQyhY,GAAGzhY,GAAE,QAAQ+kY,GAAG/kY,GAAE,QAAQ+mY,GAAG/mY,GAAE,QAAQwgwB,GAAGxgwB,GAAE,OAAOygwB,GAAGzgwB,GAAE,QAAQ0gwB,GAAG1gwB,GAAE,OAAO2gwB,GAAG3gwB,GAAE,QAAQ4gwB,GAAG5gwB,GAAE,OAAO6gwB,GAAG7gwB,GAAE,QAAQ2gd,GAAG3gd,GAAE,OAAO2kY,GAAG3kY,GAv7B2e,OAu7Bre+8Z,GAAG/8Z,GAAE,OAAO8gwB,GAAG9gwB,GAAE,OAAO+gwB,GAAG/gwB,GAAE,OAAOghwB,GAAGhhwB,GAAE,OAAOihwB,GAAGjhwB,GAAE,OAAOkhwB,GAAGlhwB,GAAE,MAAMmhwB,GAAGnhwB,GAAE,OAAOohwB,GAAGphwB,GAAE,MAAMqhwB,GAAGrhwB,GAAE,OAAOshwB,GAAGthwB,GAAE,MAAMuhwB,GAAGvhwB,GAAE,OAAOwhwB,GAAGxhwB,GAAEwuvB,IAAIiT,GAAGzhwB,GAv7B0pC,MAu7BppC0hwB,GAAG1hwB,GAv7BxlD,MAu7B8lD2hwB,GAAG3hwB,GAAE,MAAM4hwB,GAAG5hwB,GAAE,MAAM6hwB,GAAG7hwB,GAAE,MAAM8hwB,GAAG9hwB,GAAE,OAAOy8Z,GAAGz8Z,GAAE,MAAMqqrB,GAAGrqrB,GAAE,MAAMs0b,GAAGt0b,GAAE,MAAM04b,GAAG14b,GAAEqsZ,IAAI01W,GAAG/hwB,GAAE,oCAAoCgiwB,GAAGhiwB,GAAE1I,IAAG2qwB,GAAG,CAAC,EAAE,CAAC,GAAGjiwB,GAAEwwvB,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,KAAKxwvB,GAAE,WAAWw4Z,GAAG,CAAC,EAAE,CAAC,GAAGx4Z,GAAE8wvB,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK9wvB,GAAEutvB,KAAK1iV,GAAG,CAAC,EAAE,CAAC,GAAG7qa,GAAE,yDAAyD,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,KAAKA,GAAE,8DAA8D8yc,GAAG9yc,GAAE,4DAA4DkiwB,GAAG,CAAC,EAAE,CAAC,GAAGliwB,GAAE8wvB,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK9wvB,GAAEutvB,KAAKhuS,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAIv/c,GAAE,SAASmiwB,GAAGniwB,GAAE,aAAaoiwB,GAAGpiwB,GAAE,gBAAgBq8Z,GAAGr8Z,GAAE,oCAAoCuqrB,GAAGvqrB,GAAE,eAAe2zb,GAAG3zb,GAAE,cAAckoZ,GAAGloZ,GAAE1I,IAAGo6rB,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG1xrB,GAAE,cAAc,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC,GAAGA,GAAE,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAAGA,GAAEsrvB,IADpnF,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,eAC4mFtrvB,GAAE,oDAAoD+ka,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG/ka,GAAE,qBAAqB,IAAIA,GAAE,wBAAwBqiwB,GAAGriwB,GAAE,iBAAiBsiwB,GAAGtiwB,GAAE,kBAAkBuiwB,GAAGviwB,GAAE,2BAA2BwiwB,GAAGxiwB,GAAE,oBAAoByiwB,GAAGziwB,GAAE,8BAA8B0jc,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM1jc,GAAE,WAAWu5lB,GAAGv5lB,GAAE1I,IAAGorwB,GAAG1iwB,GAAE1I,IAAGqrwB,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK3iwB,GAAE,SAAS4iwB,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG5iwB,GAAEwuvB,KAAKqU,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG7iwB,GAAE,OAAO8iwB,GAAG9iwB,GAv7BnC,KAu7ByC4vkB,GAAG,CAAC,EAAE5vkB,GAAE1I,IAAG0I,GAAE,0EAA0EA,GAAE,sFAAsFA,GAAE,uFAAuFA,GAAE,gJAAgJmrc,GAAGnrc,GAAE,KAAKujX,GAAGvjX,GAAE,0CAA0Ckvc,GAAGlvc,GAAE,iBAAiB66Z,GAAG76Z,GAAE,gBAAgB+iwB,GAAG/iwB,GAAE1I,IAAW0rwB,IAALhjwB,GAAE1I,IAAM0I,GAAE1I,KAAG2rwB,GAAGjjwB,GAAE1I,IAAG4rwB,GAAGljwB,GAAE1I,IAAG6rwB,GAAG,CAAC,EAAEnjwB,GAv7B5nE,MAu7BmoEojwB,GAAG,CAAC,EAAEpjwB,GAv7BzoE,MAu7BgpEqjwB,GAAGrjwB,GAAE1I,IAAGgswB,GAAGtjwB,GAAE1I,IAAGwjmB,GAAG96lB,GAAEqoZ,IAAI0yM,GAAG/6lB,GAAE,MAAMujwB,GAAGvjwB,GAAEotvB,IAAIh3J,GAAGp2lB,GAAE8prB,GAAItmP,GAAGxjc,GAAEsse,IAAI0jE,GAAGhwiB,GAv7Bj5B,KAu7Bu5Bypa,GAAGzpa,GAAE,MAAM0qrB,GAAG1qrB,GAAEgc,GAAG+6a,GAAG/2b,GAAEgqvB,GAAI9/S,GAAGlqc,GAAE,WAAQgqZ,GAAGhqZ,GAAEgc,GAAG+sZ,GAAG/oa,GAAE,UAAO83rB,GAAG93rB,GAAE,MAAMi+c,GAAGj+c,GAAEgc,GAAG4ha,GAAG59a,GAAEgqvB,GAAI/5M,GAAGjwiB,GAv7BpzE,KAu7B0zEwjwB,GAAGxjwB,GAAE,MAAMyjwB,GAAGzjwB,GAAEgqvB,GAAI0Z,GAAG1jwB,GAAEgqvB,GAAI2Z,GAAG3jwB,GAv7Bj9D,MAu7Bu9D4jwB,GAAG5jwB,GAAEgqvB,GAAI6Z,GAAG7jwB,GAAE,UAAUk/rB,GAAGl/rB,GAAE,SAAS8jwB,GAAG9jwB,GAAE1I,IAAGyswB,GAAG/jwB,GAv7BxgE,MAu7B8gEgkwB,GAAGhkwB,GAAEgc,GAAGiovB,GAAGjkwB,GAAEsse,IAAI43R,GAAGlkwB,GAAEgc,GAAGmovB,GAAGnkwB,GAAE8prB,GAAIs6E,GAAGpkwB,GAAEgc,GAAGqovB,GAAGrkwB,GAv7BnoC,KAu7ByoCskwB,GAAGtkwB,GAAE1I,IAAGitwB,GAAG,CAAC,EAAE,EAAE,GAAGC,GAAG,CAAC,EAAE,EAAE,GAAGC,GAAG,CAAC,EAAE,EAAE,GAAGC,GAAG,CAAC,EAAE,EAAE,GAAGC,GAAG,CAAC,EAAE3kwB,GAAE,2CAA2C,IAAI,IAAI4kwB,GAAG5kwB,GAAE1I,IAAGutwB,GAAG7kwB,GAAE1I,IAAGwtwB,GAAG,CAAC,EAAEnY,GAAGkD,IAAIkV,GAAG,CAAC,EAAEpY,GAAGkD,IAAImV,GAAGhlwB,GAAE1I,IAAG2twB,GAAGjlwB,GAAE1I,IAAG4twB,GAAGllwB,GAAE,uBAAuBmlwB,GAAGnlwB,GAAE,iBAAiBolwB,GAAG,CAAC,EAAE,CAAC,EAAEplwB,GAAEktvB,IAAI,CAAC,EAAEp+tB,GAAE,CAAC,EAAEqoB,EAAE,CAAC,EAAEn3C,GAAEktvB,IAAI,CAAC,EAAEltvB,GAAEuvrB,IAAI,CAAC,EAAEvvrB,GAAEsuvB,IAAI,QAAQ,CAAC,EAAE,CAAC,EAAEtuvB,GAAEuvrB,IAAI,CAAC,EAAEzgqB,GAAEywB,KAAI,IAAI8ltB,GAAG3M,GAAG,CAACvhtB,EAAEn3C,GAAEgvvB,IAAIhvvB,GAAEw0b,GAAIx0b,GAAEgxvB,IAAIhxvB,GAAE+wb,GAAI/wb,GAAE4tvB,IAAI5tvB,GAAEm0M,IAAIn0M,GAAE+rvB,IAAI/rvB,GAAE0rO,GAAI1rO,GAAEmvvB,IAAInvvB,GAAEktvB,MAAMoY,GAAGtlwB,GAAEisvB,IAAIsZ,GAAG,CAAC,EAAEvlwB,GAAE4tvB,IAAI,CAAC,EAAE9+tB,GAAE6tY,KAAK6oW,GAAG,CAAC,EAAExlwB,GAAEm0M,IAAI,CAAC,EAAErlL,GAAEywB,KAAIkmtB,GAAG,CAAC,EAAEzlwB,GAAEgxvB,IAAI,CAAC,EAAEliuB,GAAEywB,KAAImmtB,GAAG,CAAC,EAAE1lwB,GAAEw0b,GAAI,CAAC,EAAE1la,GAAE,CAAC,EAAEqoB,EAAE,KAAKwutB,GAAG,CAAC,EAAE3lwB,GAAEgvvB,IAAI,CAAC,EAAElguB,GAAE,CAAC,EAAEqoB,EAAE,CAAC,EAAEn3C,GAAEw0b,GAAI,CAAC,EAAEx0b,GAAEgxvB,IAAI,CAAC,EAAEhxvB,GAAE+wb,GAAI,CAAC,EAAE/wb,GAAE4tvB,IAAI,CAAC,EAAE5tvB,GAAEm0M,IAAI,CAAC,EAAEn0M,GAAE+rvB,IAAI,CAAC,EAAE/rvB,GAAE0rO,GAAI,YAAYk6hB,GAAG,CAAC,EAAE5lwB,GAAEmqvB,GAAI,CAAC,EAAEr7tB,GAAEr1B,KAAIoswB,GAAG,CAAC,EAAE7lwB,GAAEkpvB,GAAI,CAAC,EAAEp6tB,GAAEr1B,KAAIqswB,GAAG,CAAC,EAAE9lwB,GAAEquZ,IAAI,CAAC,EAAEv/X,GAAE,CAAC,EAAEqoB,EAAE,CAAC,EAAEn3C,GAAEkpvB,GAAI,CAAC,EAAElpvB,GAAEmqvB,GAAI,OAAOlnT,GAAG,CAAC,EAAEjjc,GAAEkvZ,GAAI,CAAC,EAAEpgY,GAAEywB,KAAIi6iB,GAAG,CAAC,EAAEx5lB,GAAE8uvB,IAAI,CAAC,EAAEhguB,GAAE,CAAC,EAAEqoB,EAAE,CAAC,EAAEn3C,GAAEkvZ,GAAI,MAAM62W,GAAG,CAAC,EAAE/lwB,GAAE2vvB,IAAI,CAAC,EAAE7guB,GAAE,CAAC,EAAEqoB,EAAE,CAAC,EAAEn3C,GAAEquZ,IAAI,MAAM23W,GAAG,CAAC,EAAEhmwB,GAAEwqvB,GAAI,CAAC,EAAE17tB,GAAE,CAAC,EAAEqoB,EAAE,CAAC,EAAEn3C,GAAEquZ,IAAI,MAAM43W,GAAG,CAAC,EAAEjmwB,GAAE+vvB,IAAI,CAAC,EAAEjhuB,GAAE,CAAC,EAAEqoB,EAAE,CAAC,EAAEn3C,GAAEquZ,IAAI,MAAM63W,GAAG,CAAC,EAAElmwB,GAAEy6a,GAAI,CAAC,EAAE3rZ,GAAE6f,IAAIw3tB,GAAG,CAAC,EAAEnmwB,GAAEujc,IAAI,CAAC,EAAEz0a,GAAE6f,IAAIy3tB,GAAG,CAAC,EAAEpmwB,GAAEkxvB,IAAI,CAAC,EAAEpiuB,GAAE,CAAC,EAAEqoB,EAAE,KAAKkvtB,GAAG,CAAC,EAAErmwB,GAAEyuvB,IAAI,CAAC,EAAE3/tB,GAAE,CAAC,EAAEqoB,EAAE,CAAC,EAAEn3C,GAAEkxvB,IAAI,MAAMoV,GAAG,CAAC,EAAEtmwB,GAAEs8Z,IAAI,CAAC,EAAExtY,GAAEr1B,KAAI8swB,GAAG,CAAC,EAAEvmwB,GAAEuwvB,IAAI,CAAC,EAAEzhuB,GAAEr1B,KAAI8ia,GAAG,CAAC,EAAEv8Z,GAAE4uvB,IAAI,CAAC,EAAE9/tB,GAAE6f,IAAIsviB,GAAG,CAAC,EAAEj+kB,GAAEqpvB,GAAI,CAAC,EAAEsD,GAAGlzvB,KAAI26b,GAAG,CAAC,EAAEp0b,GAAEqH,IAAI,CAAC,EAAEslvB,GAAGlzvB,KAAIo+b,GAAG,CAAC,EAAE73b,GAAEusvB,IAAI,CAAC,EAAEz9tB,GAAEywB,KAAI4oW,GAAG,CAAC,EAAEnoZ,GAAE+rvB,IAAI,CAAC,EAAEj9tB,GAAEywB,KAAIsX,GAAG,CAAC,EAAE72D,GAAE0vvB,IAAI,CAAC,EAAE5guB,GAAEywB,KAAIywhB,GAAG,CAAC,EAAE74hB,EAAE,CAAC,EAAEn3C,GAAE+wb,GAAI,IAAIlW,GAAG76a,GAAEmvvB,IAAInwD,GAAG,CAAC,EAAEh/rB,GAAEg3D,IAAI,CAAC,EAAES,GAAElY,KAAIkD,GAAG,CAAC,EAAEziD,GAAEsuvB,IAAI,CAAC,EAAE72rB,GAAEh+D,KAAI6mb,GAAG,CAAC,EAAEtgb,GAAE+tvB,IAAI,CAAC,EAAEt2rB,GAAEh+D,KAAIy5c,GAAG,CAAC,EAAElzc,GAAEkwvB,IAAI,CAAC,EAAEz4rB,GAAE9oB,IAAIu8X,GAAG,CAAC,EAAE/zX,EAAE,CAAC,EAAEn3C,GAAEujc,IAAI,IAAIt+P,GAAGjlM,GAAEysvB,IAAI+Z,GAAG,CAAC,EAAExmwB,GAAEuqvB,GAAI,CAAC,EAAE9yrB,GAAE,CAAC,EAAEtgB,EAAE,CAAC,EAAEn3C,GAAEy6a,GAAI,CAAC,EAAEz6a,GAAEkvZ,GAAI,CAAC,EAAElvZ,GAAE8uvB,IAAI,CAAC,EAAE9uvB,GAAE+vvB,IAAI,CAAC,EAAE/vvB,GAAE2vvB,IAAI,CAAC,EAAE3vvB,GAAEwqvB,GAAI,CAAC,EAAExqvB,GAAEquZ,IAAI,YAAY6D,GAAG,CAAC,EAAElyZ,GAAEmxvB,IAAI,CAAC,EAAE15rB,GAAElY,KAAI+uW,GAAG,CAAC,EAAEn3W,EAAE,CAAC,EAAEn3C,GAAE+wb,GAAI,IAAIzrB,GAAG,CAAC,EAAEtla,GAAE+hN,GAAI,GAAGgoQ,GAAG/pd,GAAE+hN,GAAI01Y,GAAG,CAAC,EAAEtgjB,EAAE,CAAC,EAAEn3C,GAAE+wb,GAAI,IAAI2mK,GAAG13lB,GAAEmtvB,IAAIsZ,GAAG,CAAC,EAAEzmwB,GAAEqqvB,GAAI,CAAC,EAAE5yrB,GAAEh+D,KAAIitwB,GAAG,CAAC,EAAE1mwB,GAAEg5lB,IAAI,CAAC,EAAEvhiB,GAAEh+D,KAAIktwB,GAAG,CAAC,EAAE3mwB,GAAE6jc,IAAI,CAAC,EAAEpsY,GAAE,CAAC,EAAEtgB,EAAE,CAAC,EAAEn3C,GAAE4uvB,IAAI,CAAC,EAAE5uvB,GAAEuwvB,IAAI,OAAOqW,GAAG,CAAC,EAAE5mwB,GAAEwvvB,IAAI,CAAC,EAAE/3rB,GAAE,CAAC,EAAEnmB,EAAE,CAAC,EAAE,CAAC,EAAEtxC,GAAE+ovB,GAAI,CAAC,EAAE/ovB,GAAE0rO,GAAI,CAAC,EAAE1rO,GAAE6svB,IAAI,CAAC,EAAE7svB,GAAEo/c,IAAI,CAAC,EAAEp/c,GAAE2rvB,IAAI,CAAC,EAAE3rvB,GAAE6rvB,IAAI,CAAC,EAAE7rvB,GAAE4wvB,IAAI9hU,UAAUngZ,MAAMk4tB,GAAG,CAAC,EAAE1vtB,EAAE,CAAC,EAAEn3C,GAAEs8Z,IAAI,IAAIwqW,GAAG9mwB,GAAEi5lB,IAAI8tK,GAAG,CAAC,EAAE5vtB,EAAE,CAAC,EAAEn3C,GAAEs8Z,IAAI,IAAI0qW,GAAGhnwB,GAAE0wvB,IAAIuW,GAAG,CAAC,EAAEjnwB,GAAEkxC,IAAG,CAAC,EAAEumB,GAAE,CAAC,EAAEtgB,EAAE,CAAC,EAAEn3C,GAAEs8Z,IAAI,MAAM4qW,GAAG,CAAC,EAAElnwB,GAAE4nZ,IAAG,CAAC,EAAEnwV,GAAE,CAAC,EAAEtgB,EAAE,CAAC,EAAEn3C,GAAEs8Z,IAAI,MAAM6qW,GAAG,CAAC,EAAEnnwB,GAAE+uvB,IAAI,CAAC,EAAEt3rB,GAAE9oB,IAAIy4tB,GAAG,CAAC,EAAEpnwB,GAAE0uvB,IAAI,CAAC,EAAEj3rB,GAAE9oB,IAAI04tB,GAAG,CAAC,EAAErnwB,GAAEoxvB,IAAI,CAAC,EAAE35rB,GAAE9oB,IAAI24tB,GAAG,CAAC,EAAEtnwB,GAAEivvB,IAAI,CAAC,EAAEx3rB,GAAE9oB,IAAI44tB,GAAG,CAAC,EAAEvnwB,GAAEsvvB,IAAI,CAAC,EAAE73rB,GAAE9oB,IAAI64tB,GAAG,CAAC,EAAExnwB,GAAE6qvB,GAAI,CAAC,EAAEpzrB,GAAE9oB,IAAI84tB,GAAG,CAAC,EAAEznwB,GAAE2nlB,GAAI,CAAC,EAAElwhB,GAAE9oB,IAAI+4tB,GAAG,CAAC,EAAE1nwB,GAAE8vkB,GAAI,CAAC,EAAEnhiB,EAAE,CAAC,EAAE2C,EAAE,CAAC,EAAE,CAAC,EAAEtxC,GAAE0svB,IAAI,CAAC,EAAE1svB,GAAE4vvB,IAAI,CAAC,EAAE5vvB,GAAEqrvB,IAAI,CAAC,EAAErrvB,GAAEuxvB,IAAI,CAAC,EAAEvxvB,GAAEopvB,GAAI,CAAC,EAAEppvB,GAAE8vkB,GAAI,CAAC,EAAE9vkB,GAAE+hN,GAAI6uM,UAAUn3Z,OAAMkuwB,GAAG,CAAC,EAAE3nwB,GAAEopvB,GAAI,CAAC,EAAEz6sB,EAAE,CAAC,EAAE2C,EAAE,CAAC,EAAE,CAAC,EAAEtxC,GAAEopvB,GAAI,GAAGz6sB,MAAMi5tB,GAAG,CAAC,EAAE5nwB,GAAEuxvB,IAAI,CAAC,EAAE5itB,EAAE,CAAC,EAAEwI,EAAE,KAAK0wtB,GAAG,CAAC,EAAE7nwB,GAAEqrvB,IAAI,CAAC,EAAE18sB,EAAE,CAAC,EAAEwI,EAAE,CAAC,EAAEn3C,GAAEyuvB,IAAI,CAAC,EAAEzuvB,GAAEkxvB,IAAI,OAAO4W,GAAG,CAAC,EAAE9nwB,GAAE4vvB,IAAI,CAAC,EAAEjhtB,EAAE4Q,KAAIwotB,GAAG,CAAC,EAAE/nwB,GAAE8zb,IAAI,CAAC,EAAEnlZ,EAAEl1C,KAAIuuwB,GAAG,CAAC,EAAEhowB,GAAEwrvB,IAAI,CAAC,EAAE78sB,EAAE4Q,KAAI20iB,GAAG,CAAC,EAAEl0lB,GAAEspvB,GAAI,CAAC,EAAE36sB,EAAEA,IAAIs5tB,GAAG,CAAC,EAAE9wtB,EAAE,CAAC,EAAEn3C,GAAEusvB,IAAI,IAAIlsS,GAAGrgd,GAAE6svB,IAAI1pT,GAAG,CAAC,EAAEnjc,GAv7B1yM,KAu7BgzM,CAAC,EAAE2uC,EAAEA,IAAIu5tB,GAAG,CAAC,EAAE/wtB,EAAE,CAAC,EAAEn3C,GAAE0vvB,IAAI,IAAIyY,GAAGnowB,GAv7BvgK,OAu7B6gKoowB,GAAG,CAAC,EAAEpowB,GAAE+wb,GAAI,CAAC,EAAEpiZ,EAAEguX,KAAK0rW,GAAG,CAAC,EAAElxtB,EAAE,CAAC,EAAEn3C,GAAEusvB,IAAI,IAAI+b,GAAGtowB,GAAE0rO,GAAI68hB,GAAG,CAAC,EAAEvowB,GAAE+ovB,GAAI,CAAC,EAAEp6sB,EAAE4Q,KAAIiptB,GAAG,CAAC,EAAExowB,GAAE0svB,IAAI,CAAC,EAAE/9sB,EAAE,CAAC,EAAE2C,EAAE,CAAC,EAAE,CAAC,EAAEtxC,GAAE0svB,IAAI,GAAG/9sB,MAAM85tB,GAAG,CAAC,EAAEzowB,GAv7BnqI,MAu7ByqI,CAAC,EAAE2uC,EAAE4Q,KAAIs9W,GAAG,CAAC,EAAE78Z,GAv7BpmI,OAu7B0mI,CAAC,EAAE2uC,EAAEA,IAAI67oB,GAAG,CAAC,EAAExqrB,GAAEg9a,IAAI,CAAC,EAAEruY,EAAEA,IAAIk9Y,GAAG,CAAC,EAAE7rb,GAAE6rvB,IAAI,CAAC,EAAEl9sB,EAAEA,IAAIw/H,GAAG,CAAC,EAAEnuK,GAAE4wvB,IAAI,CAAC,EAAEjitB,EAAEA,IAAIg6W,GAAG,CAAC,EAAE3oZ,GAAEwxvB,IAAI,CAAC,EAAE7itB,EAAEA,IAAIu2H,GAAG,CAAC,EAAEllK,GAAEq0lB,GAAI,CAAC,EAAE1ljB,EAAEA,IAAIippB,GAAG,CAAC,EAAE53rB,GAAE8zO,IAAI,CAAC,EAAEnlM,EAAEA,IAAI4qa,GAAG,CAAC,EAAEv5c,GAAE8pvB,GAAI,CAAC,EAAEn7sB,EAAEA,IAAIgtY,GAAG,CAAC,EAAE37a,GAAE0yZ,IAAI,CAAC,EAAE/jX,EAAEA,IAAIswpB,GAAG,CAAC,EAAEj/rB,GAAEypvB,GAAI,CAAC,EAAE96sB,EAAEA,IAAI+5tB,GAAG,CAAC,EAAE1owB,GAAEwqd,IAAI,CAAC,EAAE77a,EAAEA,IAAIkyY,GAAG,CAAC,EAAE7gb,GAAEoga,IAAI,CAAC,EAAEzxX,EAAEA,IAAI2na,GAAG,CAAC,EAAEt2c,GAAEirvB,IAAI,CAAC,EAAEt8sB,EAAEA,IAAIkqX,GAAG,CAAC,EAAE74Z,GAAEiqvB,GAAI,CAAC,EAAEt7sB,EAAEA,IAAI88X,GAAG,CAAC,EAAEzra,GAAEupvB,GAAI,CAAC,EAAE56sB,EAAEA,IAAIo9Z,GAAG,CAAC,EAAE/rc,GAAE+svB,IAAI,CAAC,EAAEp+sB,EAAEA,IAAIg6tB,GAAG,CAAC,EAAE3owB,GAAEovvB,IAAI,CAAC,EAAEzgtB,EAAEA,IAAI8jX,GAAG,CAAC,EAAEzyZ,GAAE2rvB,IAAI,CAAC,EAAEh9sB,EAAEA,IAAIq2X,GAAG,CAAC,EAAEhla,GAAEo/c,IAAI,CAAC,EAAEzwa,EAAEA,IAAIggX,GAAG,CAAC,EAAE3uZ,GAv7BnnM,KAu7BynM,CAAC,EAAE2uC,EAAEA,IAAI62X,GAAG,CAAC,EAAExla,GAv7Bn4N,KAu7By4N,CAAC,EAAE2uC,EAAEA,IAAI47a,GAAG,CAAC,EAAEvqd,GAAEqsvB,IAAI,CAAC,EAAE19sB,EAAEA,IAAIqwjB,GAAG,CAAC,EAAEh/lB,GAAEmvvB,IAAI,CAAC,EAAEnvvB,GAAEuqvB,GAAI,CAAC,EAAEvqvB,GAAEkxC,IAAG,CAAC,EAAElxC,GAAE4nZ,IAAG,CAAC,EAAE5nZ,GAAE6jc,IAAI,OAAOutJ,GAAGpxlB,GAAE1I,IAAGsxwB,GAAG5owB,GAAE1I,IAAGuxwB,GAAG7owB,GAAE,yCAAyC8owB,GAAG9owB,GAAE1I,IAAGyxwB,GAAG,CAAC,EAAE/owB,GAAE,UAAU,IAAI,IAAIgpwB,GAAG,CAAC,EAAE,EAAE,GAAGC,GAAGjpwB,GAAE1I,IAAG4xwB,GAAGlpwB,GAAE1I,IAAG6xwB,GAAGnpwB,GAAE1I,IAAG8xwB,GAAGppwB,GAAE1I,IAAG+xwB,GAAGrpwB,GAAEqoZ,IAAIihX,GAAGtpwB,GAAE,gBAAgBupwB,GAAGvpwB,GAAE,yBAAyBwpwB,GAAGxpwB,GAAE,gBAAgBypwB,GAAGzpwB,GAAE,gBAAgB0pwB,GAAG1pwB,GAAE,KAAK8md,GAAG9md,GAAE,SAAS2pwB,GAAG3pwB,GAAEisvB,IAAI2d,GAAG,CAAC,EAAE5pwB,GAAE,+BAA+B,IAAI,GAAG6pwB,GAAG7pwB,GAAEgc,GAAG8tvB,GAAG9pwB,GAAEoqvB,GAAI2f,GAAGrR,GAAG,CAAC14vB,GAAEkwvB,IAAIlwvB,GAAE,WAAWA,GAAE,SAASA,GAAE,SAASA,GAAEmtvB,IAAIntvB,GAAE,UAAUA,GAAEuwvB,IAAIvwvB,GAAEg5lB,IAAIh5lB,GAAE6jc,IAAI7jc,GAAEysvB,IAAIzsvB,GAAE,cAAcA,GAAE,UAAUA,GAAE,UAAUA,GAAE+hN,GAAI/hN,GAAE6qvB,GAAI7qvB,GAAEsvvB,IAAItvvB,GAAEivvB,IAAIjvvB,GAAEoxvB,IAAIpxvB,GAAE0uvB,IAAI1uvB,GAAE+uvB,IAAI/uvB,GAAE,UAAUA,GAAE,UAAUA,GAAEmxvB,IAAInxvB,GAAEs8Z,IAAIt8Z,GAAEqqvB,GAAIrqvB,GAAEkxC,IAAGlxC,GAAE,UAAUA,GAAE2nlB,GAAI3nlB,GAAEwvvB,IAAIxvvB,GAAE,WAAWA,GAAEuqvB,GAAIvqvB,GAAEwqvB,GAAIxqvB,GAAEmqvB,GAAInqvB,GAAE2vvB,IAAI3vvB,GAAEkpvB,GAAIlpvB,GAAE+vvB,IAAI/vvB,GAAEquZ,IAAIruZ,GAAE4nZ,IAAG5nZ,GAAE,WAAWgqwB,GAAG,CAAC,EAAEhqwB,GAAEmvvB,IAAI,CAAC,EAAEnvvB,GAAEgvvB,IAAI,CAAC,EAAEhvvB,GAAEisvB,IAAI,CAAC,EAAEjsvB,GAAE+rvB,IAAI,CAAC,EAAE/rvB,GAAEm0M,IAAI,CAAC,EAAEn0M,GAAE4tvB,IAAI,CAAC,EAAE5tvB,GAAE0ra,IAAI,SAAS/oR,GAAG,CAAC,EAAE3iJ,GAAE1I,KAAI0wZ,GAAGhoZ,GAAE2nlB,GAAI3wT,GAAGh3R,GAAE4va,IAAIi7Q,GAAG7qrB,GAAEsgd,GAAIonJ,GAAG,CAAC,EAAE1nmB,GAAE4va,KAAKq6V,GAAGjqwB,GAAEsgd,GAAI4pT,GAAGlqwB,GAAE+ovB,GAAIohB,GAAGnqwB,GAv7BtoN,OAu7B4oNoqwB,GAAGpqwB,GAv7B/oN,OAu7BqpNqqwB,GAAGrqwB,GAAE,SAASsqwB,GAAGtqwB,GAAE,kBAAkBuqwB,GAAGvqwB,GAAEqoZ,IAAImiX,GAAGxqwB,GAAEqvvB,IAAIob,GAAGzqwB,GAAE,UAAU0qwB,GAAG1qwB,GAAEqoZ,IAAIsiX,GAAG3qwB,GAAE6tvB,IAAI+c,GAAG5qwB,GAAE+pvB,GAAI8gB,GAAG7qwB,GAAE6tvB,IAAIid,GAAG9qwB,GAAE+pvB,GAAIghB,GAAG/qwB,GAAEqsZ,IAAI2+W,GAAGhrwB,GAAE6tvB,IAAIod,GAAGjrwB,GAAE+pvB,GAAImhB,GAAGlrwB,GAAE1I,IAAG6zwB,GAAGnrwB,GAAE1I,IAAG8zwB,GAAGprwB,GAAE,UAAUqrwB,GAAGrrwB,GAAEwwvB,IAAIpxJ,GAAG,CAAC,EAAEp/lB,GAAE,SAASsrwB,GAAGtrwB,GAAE,MAAMm/lB,GAAGn/lB,GAAE1I,IAAGi0wB,GAAGvrwB,GAAE,SAASk/lB,GAAGl/lB,GAAEqoZ,IAAI5gW,GAAGznD,GAAE,MAAMkga,GAAGlga,GAAE,KAAKypd,GAAGzpd,GAAEixvB,IAAI9xD,GAAGn/rB,GAAE+7Z,IAAIyvW,GAAGxrwB,GAAE1I,IAAG4ob,GAAGlgb,GAAE8prB,GAAIzoU,GAAGrhX,GAAEqoZ,IAAIkQ,GAAGv4Z,GAAE1I,IAAGojb,GAAG,CAAC,EAAE16a,GAAE1I,IAAG,GAAGqza,GAAG3qa,GAAE1I,IAAG45b,GAAGlxb,GAAEwwvB,IAAIlpX,GAAGtnY,GAAEotvB,IAAIv9K,GAAG7vkB,GAAEotvB,IAAIqe,GAAG,CAAC,EAAEzrwB,GAAE,eAAe,GAAG0rwB,GAAG1rwB,GAAE,6EAA6E2rwB,GAAG,CAAC,EAAE3rwB,GAAE,6BAA6B,IAAI,GAAG4rwB,GAAG5rwB,GAAE+7Z,IAAI15N,GAAGriM,GAAEixvB,IAAI7ujB,GAAGpiM,GAAEqsZ,IAAI8zD,GAAGngd,GAAE+7Z,IAAI8vW,GAAG7rwB,GAAEixvB,IAAI6a,GAAG9rwB,GAAEqsZ,IAAI0/W,GAAG/rwB,GAAE,QAAQgswB,GAAGhswB,GAAEixvB,IAAIgb,GAAGjswB,GAAE1I,IAAG40wB,GAAGlswB,GAAE+7Z,IAAIowW,GAAGnswB,GAAE1I,IAAG80wB,GAAG,CAAC,EAAEpswB,GAAE1I,IAAG,GAAG+0wB,GAAGrswB,GAAE,iCAAiC08Z,GAAG18Z,GAv7B1jO,KAu7BgkO8qrB,GAAG9qrB,GAAE,OAAOu0b,GAAGv0b,GAAE,sBAAsBsswB,GAAGtswB,GAAE,yBAAyBuswB,GAAG,CAAC,EAAEvswB,GAAE,gdAAkdA,GAAE,ghBAAghBA,GAAE,sZAAsZA,GAAE,imRAAioRA,GAAE,ouSAAsuSA,GAAE,4TAA8TA,GAAE,wSAAwSA,GAAE,oUAAoUA,GAAE,0oCAA0oCA,GAAE,o7DAAo7DA,GAAE,2FAA2Fqmd,GAAGrmd,GAAE4tvB,IAAIl+S,GAAG1vc,GAv7Bvv7B,MAu7B6v7Bi4rB,GAAGj4rB,GAAE,2BAA2Bm3b,GAAGn3b,GAAEqzZ,GAAI7K,GAAGxoZ,GAAEixvB,IAAIh2U,GAAGj7a,GAAEmvvB,IAAI/vD,GAAGp/rB,GAAE4tvB,IAAIn1J,GAAGz4lB,GAAE1I,IAAGg7Z,GAAGtyZ,GAv7Bjv7B,KAu7Buv7B+vB,GAAG/vB,GAAE,MAAMu7kB,GAAGv7kB,GAv7Brw7B,KAu7B2w7B0gb,GAAG1gb,GAAE,UAAUsmB,GAAGtmB,GAAEqvvB,IAAI12V,GAAG34Z,GAv7Bzl9B,KAu7B+l9Bura,GAAGvra,GAAEqvvB,IAAIzjT,GAAG5rc,GAAE1I,IAAGk1wB,GAAGxswB,GAAE,KAAKwuZ,GAAGxuZ,GAAEwwvB,IAAIhpU,GAAGxnb,GAAE,OAAOkqd,GAAGlqd,GAAE,aAAas+mB,GAAGt+mB,GAAEqvvB,IAAI54J,GAAG,CAAC,EAAE,CAAC,EAAEz2lB,GAAEktvB,IAAI,CAAC,EAAEp+tB,GAAE,CAAC,EAAEqoB,EAAE,CAAC,EAAEn3C,GAAEktvB,IAAI,CAAC,EAAEltvB,GAAEuvrB,IAAI,CAAC,EAAEvvrB,GAAEsuvB,IAAI,QAAQ,CAAC,EAAE,CAAC,EAAEtuvB,GAAEuvrB,IAAI,CAAC,EAAEzgqB,GAAEywB,KAAI,IAAIq5iB,GAAG8/J,GAAG,CAACvhtB,EAAEn3C,GAAEgvvB,IAAIhvvB,GAAEw0b,GAAIx0b,GAAEgxvB,IAAIhxvB,GAAE+wb,GAAI/wb,GAAE4tvB,IAAI5tvB,GAAEm0M,IAAIn0M,GAAE+rvB,IAAI/rvB,GAAE0rO,GAAI1rO,GAAEmvvB,IAAInvvB,GAAEktvB,MAAMuf,GAAGzswB,GAAEisvB,IAAIygB,GAAG,CAAC,EAAE1swB,GAAE4tvB,IAAI,CAAC,EAAE9+tB,GAAE6tY,KAAKgwW,GAAG,CAAC,EAAE3swB,GAAEm0M,IAAI,CAAC,EAAErlL,GAAEywB,KAAIqttB,GAAG,CAAC,EAAE5swB,GAAEgxvB,IAAI,CAAC,EAAEliuB,GAAEywB,KAAIsttB,GAAG,CAAC,EAAE7swB,GAAEw0b,GAAI,CAAC,EAAE1la,GAAE,CAAC,EAAEqoB,EAAE,KAAK21tB,GAAG,CAAC,EAAE9swB,GAAEgvvB,IAAI,CAAC,EAAElguB,GAAE,CAAC,EAAEqoB,EAAE,CAAC,EAAEn3C,GAAEw0b,GAAI,CAAC,EAAEx0b,GAAEgxvB,IAAI,CAAC,EAAEhxvB,GAAE+wb,GAAI,CAAC,EAAE/wb,GAAE4tvB,IAAI,CAAC,EAAE5tvB,GAAEm0M,IAAI,CAAC,EAAEn0M,GAAE+rvB,IAAI,CAAC,EAAE/rvB,GAAE0rO,GAAI,YAAYqhiB,GAAG,CAAC,EAAE/swB,GAAEmqvB,GAAI,CAAC,EAAEr7tB,GAAEr1B,KAAIuzwB,GAAG,CAAC,EAAEhtwB,GAAEkpvB,GAAI,CAAC,EAAEp6tB,GAAEr1B,KAAIwzwB,GAAG,CAAC,EAAEjtwB,GAAEquZ,IAAI,CAAC,EAAEv/X,GAAE,CAAC,EAAEqoB,EAAE,CAAC,EAAEn3C,GAAEkpvB,GAAI,CAAC,EAAElpvB,GAAEmqvB,GAAI,OAAO+iB,GAAG,CAAC,EAAEltwB,GAAEkvZ,GAAI,CAAC,EAAEpgY,GAAEywB,KAAI4ttB,GAAG,CAAC,EAAEntwB,GAAE8uvB,IAAI,CAAC,EAAEhguB,GAAE,CAAC,EAAEqoB,EAAE,CAAC,EAAEn3C,GAAEkvZ,GAAI,MAAMk+W,GAAG,CAAC,EAAEptwB,GAAE2vvB,IAAI,CAAC,EAAE7guB,GAAE,CAAC,EAAEqoB,EAAE,CAAC,EAAEn3C,GAAEquZ,IAAI,MAAMg/W,GAAG,CAAC,EAAErtwB,GAAEwqvB,GAAI,CAAC,EAAE17tB,GAAE,CAAC,EAAEqoB,EAAE,CAAC,EAAEn3C,GAAEquZ,IAAI,MAAMi/W,GAAG,CAAC,EAAEttwB,GAAE+vvB,IAAI,CAAC,EAAEjhuB,GAAE,CAAC,EAAEqoB,EAAE,CAAC,EAAEn3C,GAAEquZ,IAAI,MAAMk/W,GAAG,CAAC,EAAEvtwB,GAAEy6a,GAAI,CAAC,EAAE3rZ,GAAE6f,IAAI6+tB,GAAG,CAAC,EAAExtwB,GAAEujc,IAAI,CAAC,EAAEz0a,GAAE6f,IAAI8+tB,GAAG,CAAC,EAAEztwB,GAAEkxvB,IAAI,CAAC,EAAEpiuB,GAAE,CAAC,EAAEqoB,EAAE,KAAKu2tB,GAAG,CAAC,EAAE1twB,GAAEyuvB,IAAI,CAAC,EAAE3/tB,GAAE,CAAC,EAAEqoB,EAAE,CAAC,EAAEn3C,GAAEkxvB,IAAI,MAAMyc,GAAG,CAAC,EAAE3twB,GAAEs8Z,IAAI,CAAC,EAAExtY,GAAEr1B,KAAIm0wB,GAAG,CAAC,EAAE5twB,GAAEuwvB,IAAI,CAAC,EAAEzhuB,GAAEr1B,KAAIo0wB,GAAG,CAAC,EAAE7twB,GAAE4uvB,IAAI,CAAC,EAAE9/tB,GAAE6f,IAAIm/tB,GAAG,CAAC,EAAE9twB,GAAEqpvB,GAAI,CAAC,EAAEsD,GAAGlzvB,KAAIs0wB,GAAG,CAAC,EAAE/twB,GAAEqH,IAAI,CAAC,EAAEslvB,GAAGlzvB,KAAIu0wB,GAAG,CAAC,EAAEhuwB,GAAEusvB,IAAI,CAAC,EAAEz9tB,GAAEywB,KAAI0utB,GAAG,CAAC,EAAEjuwB,GAAE+rvB,IAAI,CAAC,EAAEj9tB,GAAEywB,KAAI2utB,GAAG,CAAC,EAAEluwB,GAAE0vvB,IAAI,CAAC,EAAE5guB,GAAEywB,KAAI+jZ,GAAG,CAAC,EAAEnsZ,EAAE,CAAC,EAAEn3C,GAAE+wb,GAAI,IAAIygK,GAAGxxlB,GAAEmvvB,IAAI19J,GAAG,CAAC,EAAEzxlB,GAAEg3D,IAAI,CAAC,EAAES,GAAElY,KAAI4utB,GAAG,CAAC,EAAEnuwB,GAAEsuvB,IAAI,CAAC,EAAE72rB,GAAEh+D,KAAI20wB,GAAG,CAAC,EAAEpuwB,GAAE+tvB,IAAI,CAAC,EAAEt2rB,GAAEh+D,KAAI40wB,GAAG,CAAC,EAAEruwB,GAAEkwvB,IAAI,CAAC,EAAEz4rB,GAAE9oB,IAAI2/tB,GAAG,CAAC,EAAEn3tB,EAAE,CAAC,EAAEn3C,GAAEujc,IAAI,IAAIgrU,GAAGvuwB,GAAEysvB,IAAI+hB,GAAG,CAAC,EAAExuwB,GAAEuqvB,GAAI,CAAC,EAAEuF,GAAG,CAAC,EAAE34sB,EAAE,CAAC,EAAEn3C,GAAEy6a,GAAI,CAAC,EAAEz6a,GAAEkvZ,GAAI,CAAC,EAAElvZ,GAAE8uvB,IAAI,CAAC,EAAE9uvB,GAAE+vvB,IAAI,CAAC,EAAE/vvB,GAAE2vvB,IAAI,CAAC,EAAE3vvB,GAAEwqvB,GAAI,CAAC,EAAExqvB,GAAEquZ,IAAI,YAAYogX,GAAG,CAAC,EAAEzuwB,GAAEmxvB,IAAI,CAAC,EAAE15rB,GAAElY,KAAI4roB,GAAG,CAAC,EAAEh0oB,EAAE,CAAC,EAAEn3C,GAAE+wb,GAAI,IAAIyC,GAAG,CAAC,EAAExzb,GAAE+hN,GAAI,GAAG0/O,GAAGzhc,GAAE+hN,GAAIwiN,GAAG,CAAC,EAAEptX,EAAE,CAAC,EAAEn3C,GAAE+wb,GAAI,IAAIuuB,GAAGt/c,GAAEmtvB,IAAIzrT,GAAG,CAAC,EAAE1hc,GAAEqqvB,GAAI,CAAC,EAAE5yrB,GAAEh+D,KAAIqnS,GAAG,CAAC,EAAE9gS,GAAEg5lB,IAAI,CAAC,EAAEvhiB,GAAEh+D,KAAI4lsB,GAAG,CAAC,EAAEr/rB,GAAE6jc,IAAI,CAAC,EAAEisT,GAAG,CAAC,EAAE34sB,EAAE,CAAC,EAAEn3C,GAAE4uvB,IAAI,CAAC,EAAE5uvB,GAAEuwvB,IAAI,OAAOme,GAAG,CAAC,EAAE1uwB,GAAEwvvB,IAAI,CAAC,EAAE/3rB,GAAE,CAAC,EAAEnmB,EAAE,CAAC,EAAE,CAAC,EAAEtxC,GAAE0rO,GAAI,CAAC,EAAE1rO,GAAE6svB,IAAI,CAAC,EAAE7svB,GAAEo/c,IAAI,CAAC,EAAEp/c,GAAE2rvB,IAAI,CAAC,EAAE3rvB,GAAE6rvB,IAAI,CAAC,EAAE7rvB,GAAE4wvB,IAAI,CAAC,EAAE5wvB,GAAEspvB,GAAI1/T,UAAUj7Y,MAAMsxY,GAAG,CAAC,EAAE9oY,EAAE,CAAC,EAAEn3C,GAAEs8Z,IAAI,IAAIojL,GAAG1/kB,GAAEi5lB,IAAI3gM,GAAG,CAAC,EAAEnhX,EAAE,CAAC,EAAEn3C,GAAEs8Z,IAAI,IAAIhlV,GAAGt3E,GAAE0wvB,IAAI7/T,GAAG,CAAC,EAAE7wb,GAAEkxC,IAAG,CAAC,EAAE4+sB,GAAG,CAAC,EAAE34sB,EAAE,CAAC,EAAEn3C,GAAEs8Z,IAAI,MAAMqyW,GAAG,CAAC,EAAE3uwB,GAAE4nZ,IAAG,CAAC,EAAEkoW,GAAG,CAAC,EAAE34sB,EAAE,CAAC,EAAEn3C,GAAEs8Z,IAAI,MAAMxK,GAAG,CAAC,EAAE9xZ,GAAE+uvB,IAAI,CAAC,EAAEt3rB,GAAE9oB,IAAIs1T,GAAG,CAAC,EAAEjkW,GAAE0uvB,IAAI,CAAC,EAAEj3rB,GAAE9oB,IAAIw/W,GAAG,CAAC,EAAEnuZ,GAAEoxvB,IAAI,CAAC,EAAE35rB,GAAE9oB,IAAI0wX,GAAG,CAAC,EAAEr/Z,GAAEivvB,IAAI,CAAC,EAAEx3rB,GAAE9oB,IAAI2vD,GAAG,CAAC,EAAEt+F,GAAEsvvB,IAAI,CAAC,EAAE73rB,GAAE9oB,IAAIiguB,GAAG,CAAC,EAAE5uwB,GAAE6qvB,GAAI,CAAC,EAAEpzrB,GAAE9oB,IAAImqjB,GAAG,CAAC,EAAE94lB,GAAE2nlB,GAAI,CAAC,EAAElwhB,GAAE9oB,IAAI0riB,GAAG,CAAC,EAAEr6kB,GAAE8vkB,GAAI,CAAC,EAAEnhiB,EAAE,CAAC,EAAE2C,EAAE,CAAC,EAAE,CAAC,EAAEtxC,GAAE0svB,IAAI,CAAC,EAAE1svB,GAAE4vvB,IAAI,CAAC,EAAE5vvB,GAAEqrvB,IAAI,CAAC,EAAErrvB,GAAEuxvB,IAAI,CAAC,EAAEvxvB,GAAEopvB,GAAI,CAAC,EAAEppvB,GAAE8vkB,GAAI,CAAC,EAAE9vkB,GAAE+hN,GAAIo6iB,UAAU1iwB,OAAMw+f,GAAG,CAAC,EAAEj4f,GAAEopvB,GAAI,CAAC,EAAEz6sB,EAAE,CAAC,EAAE2C,EAAE,CAAC,EAAE,CAAC,EAAEtxC,GAAEopvB,GAAI,GAAGz6sB,MAAMkguB,GAAG,CAAC,EAAE7uwB,GAAEuxvB,IAAI,CAAC,EAAE5itB,EAAE,CAAC,EAAEwI,EAAE,KAAK23tB,GAAG,CAAC,EAAE9uwB,GAAEqrvB,IAAI,CAAC,EAAE18sB,EAAE,CAAC,EAAEwI,EAAE,CAAC,EAAEn3C,GAAEyuvB,IAAI,CAAC,EAAEzuvB,GAAEkxvB,IAAI,OAAO6d,GAAG,CAAC,EAAE/uwB,GAAE4vvB,IAAI,CAAC,EAAEjhtB,EAAE4Q,KAAIyvtB,GAAG,CAAC,EAAEhvwB,GAAE8zb,IAAI,CAAC,EAAEnlZ,EAAEl1C,KAAIw1wB,GAAG,CAAC,EAAEjvwB,GAAEwrvB,IAAI,CAAC,EAAE78sB,EAAE4Q,KAAI2vtB,GAAG,CAAC,EAAElvwB,GAAEspvB,GAAI,CAAC,EAAE36sB,EAAEl1C,KAAI01wB,GAAG,CAAC,EAAEh4tB,EAAE,CAAC,EAAEn3C,GAAEusvB,IAAI,IAAI6iB,GAAGpvwB,GAAE6svB,IAAIwiB,GAAG,CAAC,EAAErvwB,GAv7B3hkC,KAu7BiikC,CAAC,EAAE2uC,EAAEl1C,KAAI61wB,GAAG,CAAC,EAAEn4tB,EAAE,CAAC,EAAEn3C,GAAE0vvB,IAAI,IAAI6f,GAAGvvwB,GAv7BxvhC,OAu7B8vhCwvwB,GAAG,CAAC,EAAExvwB,GAAE+wb,GAAI,CAAC,EAAEpiZ,EAAEguX,KAAK8yW,GAAG,CAAC,EAAEt4tB,EAAE,CAAC,EAAEn3C,GAAEusvB,IAAI,IAAImjB,GAAG1vwB,GAAE0rO,GAAIikiB,GAAG,CAAC,EAAE3vwB,GAAE+ovB,GAAI,CAAC,EAAEp6sB,EAAE4Q,KAAIqwtB,GAAG,CAAC,EAAE5vwB,GAAE0svB,IAAI,CAAC,EAAE/9sB,EAAE,CAAC,EAAE2C,EAAE,CAAC,EAAE,CAAC,EAAEtxC,GAAE0svB,IAAI,GAAG/9sB,MAAMkhuB,GAAG,CAAC,EAAE7vwB,GAv7Bp5/B,MAu7B05/B,CAAC,EAAE2uC,EAAE4Q,KAAIuwtB,GAAG,CAAC,EAAE9vwB,GAv7Br1/B,OAu7B21/B,CAAC,EAAE2uC,EAAEl1C,KAAIs2wB,GAAG,CAAC,EAAE/vwB,GAAEg9a,IAAI,CAAC,EAAEruY,EAAEl1C,KAAIu2wB,GAAG,CAAC,EAAEhwwB,GAAE6rvB,IAAI,CAAC,EAAEl9sB,EAAEl1C,KAAIw2wB,GAAG,CAAC,EAAEjwwB,GAAE4wvB,IAAI,CAAC,EAAEjitB,EAAEl1C,KAAIy2wB,GAAG,CAAC,EAAElwwB,GAAEwxvB,IAAI,CAAC,EAAE7itB,EAAEl1C,KAAI02wB,GAAG,CAAC,EAAEnwwB,GAAEq0lB,GAAI,CAAC,EAAE1ljB,EAAEl1C,KAAIy4K,GAAG,CAAC,EAAElyK,GAAE8zO,IAAI,CAAC,EAAEnlM,EAAEl1C,KAAIupc,GAAG,CAAC,EAAEhjc,GAAE8pvB,GAAI,CAAC,EAAEn7sB,EAAEl1C,KAAIwnmB,GAAG,CAAC,EAAEjhmB,GAAE0yZ,IAAI,CAAC,EAAE/jX,EAAEl1C,KAAI22wB,GAAG,CAAC,EAAEpwwB,GAAEypvB,GAAI,CAAC,EAAE96sB,EAAEl1C,KAAI42wB,GAAG,CAAC,EAAErwwB,GAAEwqd,IAAI,CAAC,EAAE77a,EAAEl1C,KAAI62wB,GAAG,CAAC,EAAEtwwB,GAAEoga,IAAI,CAAC,EAAEzxX,EAAEl1C,KAAI82wB,GAAG,CAAC,EAAEvwwB,GAAEirvB,IAAI,CAAC,EAAEt8sB,EAAEl1C,KAAI+2wB,GAAG,CAAC,EAAExwwB,GAAEiqvB,GAAI,CAAC,EAAEt7sB,EAAEl1C,KAAIg3wB,GAAG,CAAC,EAAEzwwB,GAAEupvB,GAAI,CAAC,EAAE56sB,EAAEl1C,KAAIi3wB,GAAG,CAAC,EAAE1wwB,GAAE+svB,IAAI,CAAC,EAAEp+sB,EAAEl1C,KAAIk3wB,GAAG,CAAC,EAAE3wwB,GAAEovvB,IAAI,CAAC,EAAEzgtB,EAAEl1C,KAAIm3wB,GAAG,CAAC,EAAE5wwB,GAAE2rvB,IAAI,CAAC,EAAEh9sB,EAAEl1C,KAAIkmG,GAAG,CAAC,EAAE3/F,GAAEo/c,IAAI,CAAC,EAAEzwa,EAAEl1C,KAAI+nsB,GAAG,CAAC,EAAExhsB,GAv7Bp2jC,KAu7B02jC,CAAC,EAAE2uC,EAAEl1C,KAAIgkG,GAAG,CAAC,EAAEz9F,GAv7BpnlC,KAu7B0nlC,CAAC,EAAE2uC,EAAEl1C,KAAIk+b,GAAG,CAAC,EAAE33b,GAAEqsvB,IAAI,CAAC,EAAE19sB,EAAEl1C,KAAI8tb,GAAGvnb,GAAE4tvB,IAAIr/V,GAAGvuZ,GAAEgvvB,IAAI38V,GAAGryZ,GAAEmvvB,IAAI5uV,GAAGvga,GAAEisvB,IAAI7gV,GAAGpra,GAAEgvvB,IAAIl4uB,GAAG9W,GAAE4tvB,IAAIzvsB,GAAGn+C,GAAE4tvB,IAAIijB,GAAG7wwB,GAAEgc,GAAGyka,GAAGzgb,GAAEsse,IAAI54B,GAAG1zc,GAAEkwiB,IAAIovJ,GAAGt/rB,GAAEgvvB,IAAIh0U,GAAGh7a,GAAEmvvB,IAAI1/S,GAAG,CAAC,EAAE,GAAG2oP,GAAG,CAAC,EAAE,GAAG7xO,GAAG,CAAC,EAAE,GAAGuqT,GAAG,CAAC,EAAE9wwB,GAAEm0M,IAAI,CAAC,EAAE,CAAC,EAAEn0M,GAAE,cAAcA,GAAE,iBAAiB,CAAC,EAAE,CAAC,EAAEA,GAAE,WAAWA,GAAE,6BAA6B,IAAI,EAAE,GAAG+wwB,GAAG/wwB,GAAEgc,GAAGg1vB,GAAGhxwB,GAAE8prB,GAAImnF,GAAGjxwB,GAAEgc,GAAGk1vB,GAAGlxwB,GAAE,oBAAoBk9Z,GAAGl9Z,GAAE8prB,GAAIuY,GAAGrisB,GAAEgc,GAAG44a,GAAG50b,GAAEoqvB,GAAI+mB,GAAG,CAAC,EAAEnxwB,GAAE,oBAAoBA,GAAEsxvB,KAAK8f,GAAGpxwB,GAAEgc,GAAGq1vB,GAAGrxwB,GAAE8prB,GAAIwnF,GAAGtxwB,GAAEgc,GAAGu1vB,GAAGvxwB,GAAE,aAAawxwB,GAAGxxwB,GAAE8prB,GAAIl9F,GAAG5slB,GAAEgc,GAAGqnb,GAAGrjc,GAAEoqvB,GAAIqnB,GAAGzxwB,GAAE0ra,IAAIgmW,GAAG1xwB,GAAE+ovB,GAAI4oB,GAAG3xwB,GAAE+ovB,GAAI6oB,GAAG5xwB,GAAE+ovB,GAAI8oB,GAAG7xwB,GAAE+ovB,GAAI+oB,GAAG9xwB,GAAE0ra,IAAIqmW,GAAG/xwB,GAAE,eAAegywB,GAAGhywB,GAAE+ovB,GAAIkpB,GAAGjywB,GAAE,cAAckywB,GAAG,CAAC,EAAE,CAAC,EAAElywB,GAAE,kBAAkBA,GAAEsxvB,KAAK,GAAG6gB,GAAGnywB,GAAE,iBAAiBoywB,GAAGpywB,GAAE,YAAY87a,GAAG97a,GAAE,OAAOqywB,GAAGrywB,GAAE,MAAMsywB,GAAGtywB,GAAEwpvB,GAAI+oB,GAAGvywB,GAAEwsvB,IAAIgmB,GAAGxywB,GAAEwpvB,GAAIipB,GAAGzywB,GAAEwsvB,IAAIkmB,GAAG1ywB,GAAE,eAAe2ywB,GAAG3ywB,GAAE+ovB,GAAI6pB,GAAG5ywB,GAAE,mBAAmB6ywB,GAAG7ywB,GAAEssvB,IAAIwmB,GAAG9ywB,GAAEsse,IAAIymS,GAAG/ywB,GAAE,sBAAsBgzwB,GAAGhzwB,GAAEssvB,IAAIt+T,GAAGhub,GAAEsse,IAAIh8B,GAAG,CAAC,EAAE,GAAGr0B,GAAGj8a,GAAEgc,GAAGujrB,GAAGv/rB,GAAE,sBAAsBizwB,GAAGjzwB,GAAE8prB,GAAI3oQ,GAAGnhb,GAAEsse,IAAI2nH,GAAGj0lB,GAAEouvB,IAAI8kB,GAAGlzwB,GAAEs8Z,IAAIqyI,GAAG3uiB,GAAEo5Z,IAAIumM,GAAG,CAAC,EAAE3/lB,GAAEiuvB,IAAIjuvB,GAAEsxvB,KAAKtoU,GAAGhpb,GAAEs8Z,IAAI62W,GAAGnzwB,GAAEkvvB,IAAIkkB,GAAGpzwB,GAAEixvB,IAAIj9J,GAAGh0lB,GAAEs0c,IAAI2tJ,GAAGjimB,GAAE2nlB,GAAI0rL,GAAGrzwB,GAAE,uBAAuBszwB,GAAGtzwB,GAAEipvB,GAAIsqB,GAAGvzwB,GAAE,oBAAoBwzwB,GAAGxzwB,GAAE,OAAOyzwB,GAAG,CAAC,EAAEzzwB,GAAE4nZ,IAAG,EAAE,GAAG8rX,GAAG1zwB,GAAE6uvB,IAAI8kB,GAAG3zwB,GAAE0rvB,IAAIkoB,GAAG,CAAC,EAAE5zwB,GAAE6wvB,KAAKgjB,GAAG7zwB,GAAE,cAAc8zwB,GAAG9zwB,GAAE,iBAAiB+zwB,GAAG,CAAC,EAAE,CAAC,EAAE/zwB,GAAE4nZ,IAAG,IAAIosX,GAAGh0wB,GAAE,eAAei0wB,GAAGj0wB,GAAE,eAAek0wB,GAAGl0wB,GAAE,UAAUm0wB,GAAGn0wB,GAAE,SAASo0wB,GAAGp0wB,GAAE,eAAeq0wB,GAAGr0wB,GAAE,eAAes0wB,GAAG,CAAC,EAAE,CAAC,EAAEt0wB,GAAEkxC,IAAG,CAAC,EAAElxC,GAAE,kBAAkBu0wB,GAAG,CAAC,EAAE,CAAC,EAAEv0wB,GAAEkxC,IAAG,CAAC,EAAElxC,GAAE,kBAAkBw0wB,GAAG,CAAC,EAAE,CAAC,EAAEx0wB,GAAEkxC,IAAG,CAAC,EAAElxC,GAAE,kBAAkBy0wB,GAAG,CAAC,EAAE,CAAC,EAAEz0wB,GAAEkxC,IAAG,CAAC,EAAElxC,GAAE,kBAAkB00wB,GAAG10wB,GAAE,2BAA2B20wB,GAAG,CAAC,EAAE30wB,GAAEkxC,IAAG,GAAG+9W,GAAG,CAAC,EAAE,CAAC,EAAEjvZ,GAAE4nZ,IAAG,CAAC,EAAE5nZ,GAAE,aAAa8nb,GAAG,CAAC,EAAE,CAAC,EAAE9nb,GAAE4nZ,IAAG,CAAC,EAAE5nZ,GAAE,aAAa40wB,GAAG50wB,GAAE,kBAAkBmsb,GAAGnsb,GAAEwvc,GAAIp8C,GAAGpzZ,GAAE2pvB,GAAIp9U,GAAG,CAAC,EAAEvsa,GAAEywZ,KAAK67C,GAAGtsc,GAAE4nZ,IAAGitX,GAAG70wB,GAAE,sBAAsBw0c,GAAG,CAAC,EAAE,CAAC,EAAEx0c,GAAE6wvB,KAAK,CAAC,EAAE,CAAC,EAAE7wvB,GAAE0rvB,IAAI,KAAKvyV,GAAGn5Z,GAAEs8Z,IAAIs9C,GAAG55c,GAAE4qvB,GAAIkqB,GAAG90wB,GAAEovvB,IAAI2lB,GAAG/0wB,GAAE+svB,IAAIioB,GAAGh1wB,GAAEg9a,IAAIr7X,GAAG3hD,GAAE6vb,IAAIolV,GAAGj1wB,GAv7B3riC,YAu7BisiCo9Z,GAAGp9Z,GAAE2nlB,GAAIutL,GAAG,CAAC,EAAEl1wB,GAv7BhtiC,aAu7ButiCm1wB,GAAG,CAAC,EAAEn1wB,GAAE6vb,KAAKulV,GAAG,CAAC,EAAE,GAAGC,GAAG,CAAC,EAAE,GAAGC,GAAG,CAAC,EAAE,GAAGC,GAAGv1wB,GAAEkvvB,IAAIsmB,GAAGx1wB,GAAEkxC,IAAGukuB,GAAGz1wB,GAAE4nZ,IAAG8tX,GAAG11wB,GAAE4nZ,IAAG+tX,GAAG31wB,GAAEkxC,IAAG0kuB,GAAG51wB,GAAEkxC,IAAG2kuB,GAAG71wB,GAAEkvvB,IAAI4mB,GAAG91wB,GAAEkvvB,IAAI92G,GAAGp4oB,GAAE2pvB,GAAIosB,GAAG/1wB,GAv7Bn1nC,KAu7By1nCovZ,GAAGpvZ,GAAEkxC,IAAG82Y,GAAGhob,GAAE4nZ,IAAGulC,GAAGntb,GAAEs8Z,IAAIyQ,GAAG/sa,GAAE6wvB,IAAInkT,GAAG,CAAC,EAAE1sc,GAAE0rvB,IAAI,GAAGsqB,GAAGh2wB,GAAEkvvB,IAAI37V,GAAGvzZ,GAAEkvvB,IAAIptU,GAAG9hb,GAAEkxC,IAAGwla,GAAG12c,GAAE4nZ,IAAG0yD,GAAGt6c,GAAEs8Z,IAAI8f,GAAGp8a,GAAEkxC,IAAGk4W,GAAGppZ,GAAE4nZ,IAAGmpD,GAAG/wc,GAv7Bx8nC,KAu7B88nCy4rB,GAAGz4rB,GAAE2pvB,GAAInqD,GAAGx/rB,GAAEs0c,IAAI9iY,GAAGxxE,GAAE2pvB,GAAI19T,GAAGysU,GAAG,CAAC14vB,GAAEspvB,GAAItpvB,GAAEg9a,IAAIh9a,GAv7Br1nC,KAu7B21nCA,GAv7BtlpC,KAu7B4lpCA,GAAEovvB,IAAIpvvB,GAAE6rvB,IAAI7rvB,GAAE4wvB,IAAI5wvB,GAAEiqvB,GAAIjqvB,GAAEirvB,IAAIjrvB,GAAEypvB,GAAIzpvB,GAAEwxvB,IAAIxxvB,GAAE8zO,IAAI9zO,GAAEwqd,IAAIxqd,GAAEoga,IAAIpga,GAAE0yZ,IAAI1yZ,GAAEqsvB,IAAIrsvB,GAAE+svB,IAAI/svB,GAAEqH,IAAIrH,GAAEqpvB,GAAIrpvB,GAAE8pvB,GAAI9pvB,GAAEgvvB,MAAMinB,GAAGj2wB,GAAEg9a,IAAIjB,GAAG/7a,GAAEo5Z,IAAI88W,GAAGl2wB,GAAE6pvB,GAAI/zQ,GAAG91e,GAAE6pvB,GAAIssB,GAAGn2wB,GAAEo5Z,IAAIg9W,GAAGp2wB,GAAE6pvB,GAAIv6V,GAAGtvZ,GAAEo5Z,IAAI+uB,GAAGnob,GAAE,yBAAyB42c,GAAG52c,GAAEgc,GAAGw+b,GAAGx6c,GAAEo5Z,IAAIkjB,GAAGt8a,GAAE,aAAagna,GAAGhna,GAAEmxvB,IAAIzhU,GAAG1vb,GAAEo5Z,IAAI4vC,GAAGhpc,GAAE,aAAaq2wB,GAAGr2wB,GAAE,yBAAyBs2wB,GAAGt2wB,GAAE,gBAAgBu2wB,GAAGv2wB,GAAEgsvB,IAAIwqB,GAAGx2wB,GAAEo5Z,IAAIq9W,GAAGz2wB,GAAE,uBAAuB02wB,GAAG12wB,GAAEsse,IAAIpoC,GAAGlkc,GAAE,OAAO22wB,GAAG32wB,GAAEgc,GAAG46vB,GAAG52wB,GAAEkwiB,IAAI2mO,GAAG72wB,GAAE,eAAe82wB,GAAG92wB,GAAE,QAAQ+2wB,GAAG/2wB,GAAE,UAAUg3wB,GAAGh3wB,GAAE0svB,IAAIuqB,GAAGj3wB,GAAE,QAAQk3wB,GAAGl3wB,GAAE,YAAYw5Z,GAAGx5Z,GAAE8prB,GAAIroR,GAAG,CAAC,EAAEzha,GAAE,QAAQ,CAAC,EAAEA,GAAE,eAAe,CAAC,EAAEA,GAAE,cAAc,CAAC,EAAEA,GAAEs0c,IAAI,MAAM6iU,GAAG,CAAC,EAAEn3wB,GAAEo5Z,IAAI,CAAC,EAAEp5Z,GAAEiuvB,IAAI,CAAC,EAAEjuvB,GAAEouvB,IAAI,CAAC,EAAEpuvB,GAAEipvB,GAAI,MAAMmuB,GAAGp3wB,GAAEg5lB,IAAIq+K,GAAGr3wB,GAAEgsvB,IAAIsrB,GAAG,CAAC,EAAEt3wB,GAAE,mBAAmB,GAAGu3wB,GAAGv3wB,GAAEspa,IAAIkuW,GAAGx3wB,GAAE,eAAey3wB,GAAGz3wB,GAAE,sBAAsB03wB,GAAG13wB,GAAE2nlB,GAAIgwL,GAAG33wB,GAAEg9a,IAAI46V,GAAG53wB,GAAE0wvB,IAAImnB,GAAG73wB,GAAEg9a,IAAI86V,GAAG93wB,GAAE0wvB,IAAIqnB,GAAG/3wB,GAAE,QAAQg4wB,GAAGh4wB,GAAE4qvB,GAAIqtB,GAAGj4wB,GAAE,gBAAgBk4wB,GAAGl4wB,GAAE,qBAAqBm4wB,GAAGn4wB,GAAE,mBAAmBo4wB,GAAGp4wB,GAAE,eAAeq4wB,GAAGr4wB,GAAE,kBAAkB8gd,GAAG9gd,GAAE,kBAAkBukc,GAAGvkc,GAAE,eAAesqlB,GAAGtqlB,GAAE,gBAAgBs4wB,GAAGt4wB,GAAE4pvB,GAAI2uB,GAAGv4wB,GAAE,YAAYw4wB,GAAGx4wB,GAAE4pvB,GAAI6uB,GAAGz4wB,GAAE0rvB,IAAIlhK,GAAGxqlB,GAAE,OAAO04wB,GAAG,CAAC,EAAE14wB,GAAEywZ,IAAI,CAAC,EAAEzwZ,GAAE6wvB,IAAI,CAAC,EAAE7wvB,GAAE6uvB,IAAI,KAAK8pB,GAAGjgB,GAAG,CAAC14vB,GAAE,oBAAoBA,GAAE,aAAaA,GAAEowvB,IAAIpwvB,GAAE,kBAAkBA,GAAE,eAAeA,GAAE,qBAAqBA,GAAE,QAAQA,GAAE,cAAcA,GAAE,eAAeA,GAAE,YAAYA,GAAE,mBAAmBA,GAAE,2BAA2BA,GAAE,4BAA4BA,GAAE,cAAcA,GAAE,UAAUA,GAAE,kBAAkBA,GAAE,eAAeA,GAAE,aAAao8c,GAAGp8c,GAAE,UAAUmpZ,GAAGnpZ,GAAEmuvB,IAAIrnV,GAAG9ma,GAAE,OAAO6tb,GAAG7tb,GAAEmuvB,IAAIlhU,GAAGjtb,GAAEspa,IAAIsvW,GAAG,CAAC,EAAE54wB,GAAEuqvB,GAAI,CAAC,EAAEvqvB,GAAEquZ,IAAI,CAAC,EAAEruZ,GAAEmqvB,GAAI,CAAC,EAAEnqvB,GAAEkvZ,GAAI,MAAMqY,GAAGvna,GAAEwpvB,GAAIqvB,GAAG74wB,GAAEwsvB,IAAIr9V,GAAG,CAAC,EAAEnvZ,GAAEmqvB,GAAI,CAAC,EAAEnqvB,GAAEkvZ,GAAI,IAAIqiC,GAAGvxb,GAAEquZ,IAAIyqX,GAAG94wB,GAAEwsvB,IAAI56qB,GAAG5xE,GAAEwpvB,GAAI/8S,GAAGzsc,GAAEuqvB,GAAIlxV,GAAGr5Z,GAAEuqvB,GAAI11S,GAAG70c,GAAEwsvB,IAAIusB,GAAG/4wB,GAAEwsvB,IAAI7sD,GAAG3/rB,GAAE,MAAMm8a,GAAG,CAAC,EAAEn8a,GAAEwsvB,IAAI,CAAC,EAAExsvB,GAAEwpvB,GAAI,IAAIwvB,GAAGh5wB,GAAE,WAAWi5wB,GAAGj5wB,GAAE,UAAUk5wB,GAAGl5wB,GAAEowvB,IAAI+oB,GAAGn5wB,GAAE,qBAAqBs3f,GAAG,CAAC,EAAE,GAAG8hR,GAAG,CAAC,EAAE,GAAGC,GAAGr5wB,GAAE,0BAA0Bs5wB,GAAGt5wB,GAAEytvB,IAAIhjK,GAAGzqlB,GAAE,SAASu5wB,GAAGv5wB,GAAEswvB,IAAIkpB,GAAGx5wB,GAAEosvB,IAAIqtB,GAAGz5wB,GAAEmpvB,GAAIuwB,GAAG15wB,GAAEswvB,IAAIqpB,GAAG35wB,GAAE,eAAe45wB,GAAG55wB,GAAE,QAAQ65wB,GAAG75wB,GAAE,WAAW85wB,GAAG95wB,GAAEosvB,IAAI2tB,GAAG/5wB,GAAE,WAAWg6wB,GAAGh6wB,GAAEmpvB,GAAI8wB,GAAGj6wB,GAAEwqZ,IAAI0vX,GAAGl6wB,GAAE,WAAWm6wB,GAAGn6wB,GAAE,WAAWo6wB,GAAGp6wB,GAAE,SAASq6wB,GAAGr6wB,GAAE,SAASs6wB,GAAGt6wB,GAAE,MAAM4gd,GAAG,CAAC,EAAE5gd,GAAE2wvB,KAAK1sT,GAAGjkc,GAAE2wvB,IAAI4pB,GAAGv6wB,GAAE,QAAQw6wB,GAAGx6wB,GAAEwqZ,IAAqB6gS,IAAdrrrB,GAAE1I,IAAM0I,GAAE86a,IAAO96a,GAAEqtvB,KAAIhqV,GAAGrja,GAAE,cAAc,SACtmtCq3C,GAAEr3C,GAAG,GACD,iBAAJA,EAAa,OAAO,EACpB,OAAOA,EAAE,IAAI,KACb,EAAE,MAAM,CAAC,EAAEq3C,GAAEr3C,EAAE,KAAK,KACpB,EAAE,MAAM,CAAC,EAAEq3C,GAAEr3C,EAAE,KAAK,KACpB,EAAE,MAAM,CAAC,EAAEq3C,GAAEr3C,EAAE,KAAK,KACpB,EAAE,MAAM,CAAC,EAAEq3C,GAAEr3C,EAAE,KAAK,KACpB,EAAE,MAAM,CAAC,EAAEq3C,GAAEr3C,EAAE,KAAK,KACpB,EAAE,MAAM,CAAC,EAAEq3C,GAAEr3C,EAAE,KAAK,KACpB,EAAE,MAAM,CAAC,EAAEq3C,GAAEr3C,EAAE,KAAK,KACpB,EAAE,MAAM,CAAC,EAAEq3C,GAAEr3C,EAAE,KAAK,KACpB,EACO,MAAM,CAAC,EAAZA,EAAE,GAAcq3C,GAAEr3C,EAAE,KAAK,KAC3B,EAAE,IACFC,EAAED,EAAE,GAAG,MAAM,CAAC,EAAEC,EAAEA,EAAEo3C,GAAEr3C,EAAE,KAAK,KAC7B,GAAG,MAAM,CAAC,GAAGq3C,GAAEr3C,EAAE,KAAK,KACtB,GAAG,MAAM,CAAC,GAAGq3C,GAAEr3C,EAAE,KAAK,KACtB,GAAG,MAAM,CAAC,GAAGq3C,GAAEr3C,EAAE,KAAK,KACtB,GAAG,MAAM,CAAC,GAAGq3C,GAAEr3C,EAAE,KAAK,QAAQ,MAAM,CAAC,GAAGq3C,GAAEr3C,EAAE,KAAK,CAAC,SAClD8nZ,GAAE9nZ,EAAEC,GAAG,GACH,iBAAJD,EAAa,OAAOC,EACpB,OAAOD,EAAE,IAAI,KACb,EAAE,MAAM,CAAC,EAAE8nZ,GAAE9nZ,EAAE,GAAGC,IAAI,KACtB,EAAE,MAAM,CAAC,EAAE6nZ,GAAE9nZ,EAAE,GAAGC,IAAI,KACtB,EAAE,MAAM,CAAC,EAAE6nZ,GAAE9nZ,EAAE,GAAGC,IAAI,KACtB,EAAE,MAAM,CAAC,EAAE6nZ,GAAE9nZ,EAAE,GAAGC,IAAI,KACtB,EAAE,MAAM,CAAC,EAAE6nZ,GAAE9nZ,EAAE,GAAGC,IAAI,KACtB,EAAE,MAAM,CAAC,EAAE6nZ,GAAE9nZ,EAAE,GAAGC,IAAI,KACtB,EAAE,MAAM,CAAC,EAAE6nZ,GAAE9nZ,EAAE,GAAGC,IAAI,KACtB,EAAE,MAAM,CAAC,EAAE6nZ,GAAE9nZ,EAAE,GAAGC,IAAI,KACtB,EACO,MAAM,CAAC,EAAZD,EAAE,GAAc8nZ,GAAE9nZ,EAAE,GAAGC,IAAI,KAC7B,EAAE,IACFonD,EAAErnD,EAAE,GAAU,MAAM,CAAC,EAAZA,EAAE,GAAcqnD,EAAEygW,GAAE9nZ,EAAE,GAAGC,IAAI,KACtC,GAAG,MAAM,CAAC,GAAG6nZ,GAAE9nZ,EAAE,GAAGC,IAAI,KACxB,GAAG,MAAM,CAAC,GAAG6nZ,GAAE9nZ,EAAE,GAAGC,IAAI,KACxB,GAAG,MAAM,CAAC,GAAG6nZ,GAAE9nZ,EAAE,GAAGC,IAAI,KACxB,GAAG,MAAM,CAAC,GAAG6nZ,GAAE9nZ,EAAE,GAAGC,IAAI,QAAQ,MAAM,CAAC,GAAG6nZ,GAAE9nZ,EAAE,GAAGC,IAAI,CAAC,SACtDwP,GAAEzP,EAAEC,GAAG,GACH,iBAAJD,EAAa,OAAOC,EACpB,OAAOD,EAAE,IAAI,KACb,EAAE,MAAM,CAAC,EAAEyP,GAAEzP,EAAE,GAAGC,IAAI,KACtB,EAAE,MAAM,CAAC,EAAEwP,GAAEzP,EAAE,GAAGC,IAAI,KACtB,EACO,MAAM,CAAC,EAAZD,EAAE,GAAcyP,GAAEzP,EAAE,GAAGC,IAAI,KAC7B,EACO,MAAM,CAAC,EAAZD,EAAE,GAAcyP,GAAEzP,EAAE,GAAGC,IAAI,KAC7B,EAAE,IACF3I,EAAE0I,EAAE,GAAGH,EAAEG,EAAE,GAAU,MAAM,CAAC,EAAZA,EAAE,GAAcH,EAAEvI,EAAEmY,GAAEzP,EAAE,GAAGC,IAAI,KAC/C,EAAE,IACFynE,EAAE1nE,EAAE,GAAGvG,EAAEuG,EAAE,GAAU,MAAM,CAAC,EAAZA,EAAE,GAAcvG,EAAEiuE,EAAEj4D,GAAEzP,EAAE,GAAGC,IAAI,KAC/C,EAAE,IACF43C,EAAE73C,EAAE,GAAGm3C,EAAEn3C,EAAE,GAAU,MAAM,CAAC,EAAZA,EAAE,GAAcm3C,EAAEU,EAAEpoC,GAAEzP,EAAE,GAAGC,IAAI,KAC/C,EAAE,IACFP,EAAEM,EAAE,GAAGy3D,EAAEz3D,EAAE,GAAU,MAAM,CAAC,EAAZA,EAAE,GAAcy3D,EAAE/3D,EAAE+P,GAAEzP,EAAE,GAAGC,IAAI,KAC/C,EAAE,IACF87I,EAAE/7I,EAAE,GAAGskD,EAAEtkD,EAAE,GAAU,MAAM,CAAC,EAAZA,EAAE,GAAcskD,EAAEy3F,EAAEtsI,GAAEzP,EAAE,GAAGC,IAAI,KAC/C,EACO,MAAM,CAAC,EAAZD,EAAE,GAAcyP,GAAEzP,EAAE,GAAGC,IAAI,KAC7B,GAAG,MAAM,CAAC,GAAGwP,GAAEzP,EAAE,GAAGC,IAAI,KACxB,GACO,MAAM,CAAC,GAAZD,EAAE,GAAeyP,GAAEzP,EAAE,GAAGC,IAAI,KAC9B,GACO,MAAM,CAAC,GAAZD,EAAE,GAAeyP,GAAEzP,EAAE,GAAGC,IAAI,KAC9B,GAAG,IACHmyC,EAAEpyC,EAAE,GAAU,MAAM,CAAC,GAAZA,EAAE,GAAeoyC,EAAE3iC,GAAEzP,EAAE,GAAGC,IAAI,KACvC,GAAG,IACHynZ,EAAE1nZ,EAAE,GAAU,MAAM,CAAC,GAAZA,EAAE,GAAe0nZ,EAAEj4Y,GAAEzP,EAAE,GAAGC,IAAI,KACvC,GAAG,MAAM,CAAC,GAAGwP,GAAEzP,EAAE,GAAGC,IAAI,KACxB,GAAG,MAAM,CAAC,GAAGwP,GAAEzP,EAAE,GAAGC,IAAI,KACxB,GACO,MAAM,CAAC,GAAZD,EAAE,GAAeyP,GAAEzP,EAAE,GAAGC,IAAI,KAC9B,GACO,MAAM,CAAC,GAAZD,EAAE,GAAeyP,GAAEzP,EAAE,GAAGC,IAAI,KAC9B,GAAG,MAAM,CAAC,GAAGwP,GAAEzP,EAAE,GAAGC,IAAI,KACxB,GAAG,IACHu2C,EAAEx2C,EAAE,GAAU,MAAM,CAAC,GAAZA,EAAE,GAAew2C,EAAE/mC,GAAEzP,EAAE,GAAGC,IAAI,KACvC,GACO,MAAM,CAAC,GAAZD,EAAE,GAAeyP,GAAEzP,EAAE,GAAGC,IAAI,KAC9B,GAAG,MAAM,CAAC,GAAGwP,GAAEzP,EAAE,GAAGC,IAAI,KACxB,GACO,MAAM,CAAC,GAAZD,EAAE,GAAeyP,GAAEzP,EAAE,GAAGC,IAAI,QAAQ,IACtC4nZ,EAAE7nZ,EAAE,GAAU,MAAM,CAAC,GAAZA,EAAE,GAAe6nZ,EAAEp4Y,GAAEzP,EAAE,GAAGC,IAAI,CAAC,SACxCo5E,GAAGr5E,GAAG,KAAK,CAAC,EAAEgD,GAAGhD,EAAE,CAAC,SACpBwnZ,GAAExnZ,GAAG,KAAK,CAAC,EAAEkuZ,GAAGluZ,EAAE,CAAC,IACnBgzZ,GAAG,CAACl8V,EAAEw6Y,GAAGpoD,MAAO,SAChBurC,GAAGz0b,GAAG,OAAO,GAAGA,EAAEA,EAAK,GAAFA,CAAG,CAAC,SACzB0nE,GAAErgB,EAAE1Y,GAAG,IACP3uC,EAAE63C,GAAEwP,GAAG/vD,EAAEugD,GAAElJ,GAAG1uC,EAAEu2C,GAAEx2C,EAAE1I,EAAE,GAA+B,OAA5Bsxc,GAAGvhZ,EAAE,EAAEpnD,EAAE,EAAED,GAAG4oc,GAAGj6Z,EAAE,EAAE1uC,EAAED,EAAE1I,GAAY2I,CAAE,CAAC,SACjEw3rB,GAAGz3rB,GAAG,OAAOA,EAAE46c,GAAGj+B,EAAE,CAAC,SACrBkiR,GAAG7+rB,GAAG,IACM,MAAV,CAAC,EAAEq4vB,GAAGr4vB,GAAY,CAAC,MAAMA,GAAU,IAAPA,EAAEoxC,GAAEpxC,IAAQ,KAAKgD,GAAG,OAAO,EAAE,MAAMhD,CAAC,CAAC,CAAC,SACpE0wC,GAAE1wC,EAAEC,GAAG,OAAGD,EACG,CAAC,EAAZA,EAAE,GAAc0wC,GAAE1wC,EAAE,GAAGC,IAAWA,CAAC,EAxRyJ,SAC3L0uC,GAAG,IACN3uC,EAAE6xZ,GAAGljX,GAAM3uC,EAAEg6E,MAAMw9qB,QAAOlzsB,GA/vBsU,MA+vBjU3V,EAAE,iBAAiB,IAC3C1uC,EAAE,CAACoiS,KAAKriS,EAAEkc,OAAOlc,EAAEg6E,MAAM42E,OAAO5wJ,EAAE9G,SAAS,EAAEi7O,GAAGxlM,EAAE5wB,QAAO,EAAKyyB,KAAI,EAAMwotB,YAAY,EAAEyhB,WAAW,EAAEphxB,OAAO,IACjHG,WAjwB22C,OAiwB51CkhxB,OADb,MACuBpzW,GAAGrna,EAAEk0O,IAAIl0O,CAAa,CAoRTsoa,CAAG,GAAG,IAC5C/mD,GAAGy3Y,GAAG,GAAG0hB,GAAG1hB,GAAG,GAAG,SAClB2hB,GAAG36wB,EAAED,GAAG,OAAOm5vB,GAAGl5vB,EAAED,EAAE,EAAE63C,GAAE73C,GAAG,CAAC,SAC9Bk7a,GAAGl7a,GAAsB,OAAnB46wB,GAAGp5Z,GAAGxhX,GAAGihb,GAAGz/D,GAAG,IAAW+mO,GAAG/mO,GAAG,CAAC,SACvCq5Z,GAAG76wB,GAAsB,OAAnB46wB,GAAGD,GAAG36wB,GAAGihb,GAAG05V,GAAG,IAAWpyL,GAAGoyL,GAAG,CAAC,SACvCG,GAAG76wB,GAKoB,OALjB,SACJA,GACE,IADC,IACLD,EAAEC,IAAS,CAAC,IAAGD,EAGF,OAAO,EAHF,IAClB2uC,EAAE3uC,EAAE,GAAGqnD,EAAErnD,EAAE,GAAG,IAAIuolB,GAAGlhiB,EAAE,CAAC,MAAMrnD,GAAU,IAAPA,EAAEoxC,GAAEpxC,IAAQ,KAAK6nb,GAAG,MAAM7nb,CACxD,CACHA,EAAE2uC,CAAmB,CAAC,CAAQ3uC,CA1RoB,WAE9C,IADC,IACLC,EAAE,EACFD,EAAE,EAAEA,EAAEsna,GAAGpua,OAAO8G,IAAOsna,GAAGtna,IAAIsna,GAAGtna,GAAG+d,QAAQupZ,GAAGtna,GAAGwwC,MAAIvwC,EAAE,CAAC,EAAEqna,GAAGtna,GAAGm0O,GAAGl0O,IAAG,OAAOA,CAAC,CAuR/C44rB,GAAM,CAACxsP,GAAGrsc,GAAEsjsB,IAAIw3E,IAAI,IACpD91uB,GA3NY,UA2NHq5pB,GAAG,WAAaxkS,GAAG,CAAC/iW,EAAEy+Y,GAAGrsD,MAAO,SACzCulB,GAAGzua,GAAG,MAAM65Z,EAAE,CAAC,SACfg/D,GAAG74d,GAAG,IACNqnD,EAAErnD,EAAE,GAAGA,EAAE,GAAGyua,GAAG,IAAI,IACnB9/X,EAAE1uC,GAAEonD,EAAE,GAAW,OAnPY,SAC1BrnD,EAAEC,GAAGD,EAAE,GAAG0sa,GAAG1sa,EAAE,GAAGC,CAAU,CAkPtBiib,CAAGlib,EAAE2uC,GAAUA,CAAC,CAAC,MAAM1uC,GAAoC,MAAjCA,EAAEmxC,GAAEnxC,GAAGD,EAAE,GAAG,SAASA,GAAG,MAAMC,CAAC,EAAQA,CAAC,CAAC,CAAC,SAC7E86wB,GAAGrzsB,EAAEikK,EAAEr0O,GACC,IADE,IACV0I,EAAE2rO,EAAEtkL,EAAE/vD,IAAS,CAAC,IAChBq3C,EAAE1uC,GAAEonD,EAAE,GAAG,IAAG1Y,EACsB,OAAO3uC,EAD1B,IACfvG,EAAEk1C,EAAE,GAAG3uC,EAAEH,GAAE6nE,EAAE1nE,EAAE2uC,EAAE,IAAI0Y,EAAE5tD,CAAmB,CAAC,CAAC,SAC5CuhxB,GAAGrsuB,EAAE3uC,GAAG,OAAOA,EAAE,CAAC,EAAEC,GAAE0uC,EAAE3uC,EAAE,KAAK,CAAC,CAAC,SACjC2gb,GAAG3gb,GAAG,OAAG,GAAGA,KAAKwtvB,GAAGxtvB,GAAUA,EAASwnZ,GAAE6lD,GAAG,CAAC,SAC7C2G,GAAGh0c,GAAG,IACNC,EAAED,EAAE,IAAI,EAAE2uC,EAAE,EACE,OADG,GAAG1uC,IAAI,EAAQ,GAAGA,EAAEwqvB,IAAK,IAAG97sB,EAAE,GAC5C,KAAK1uC,IAAE0uC,EAAE,GAASA,EAAE3uC,EAAE,GAAG,EAAEA,CAAC,CAAC,SAChCy3gB,GAAGz3gB,GAAG,OAAO,GAAGA,EAAE,KAAK,EAAEA,EAAEA,EAAE,GAAG,CAAC,CAAC,SAClCi7wB,GAAGj7wB,GAAG,OAAO,GAAGA,GA/iCixF,KA+iC1wF,EAAEA,EAAEA,GA/iCy1C,GA+iCp1C,CAAC,CAAC,SAClCi6c,GAAGtra,GACK,IADF,IACN1uC,EAAE,EAAED,EAAE2uC,IAAS,CAAC,IAAG3uC,EACK,OAAOC,EAA/BA,EAAEA,EAAE,EAAE,EAAED,EAAEA,EAAE,EAAoB,CAAC,CAAC,SAClCo/b,GAAGp/b,GAAG,OAAOA,EAAEA,EAAE,GAAGq5E,GAAGqjrB,GAAG,CAAC,SAC3Bwe,GAAG7ztB,EAAE1Y,GAAG,GAAG,GAAGA,EACN,IADS,IACjB3uC,EAAEqnD,EAAEpnD,EAAE0uC,IAAS,CAAC,IAAG3uC,EAEE,OAAOq5E,GAAGmjrB,IAFT,IACtBllwB,EAAE0I,EAAE,GAAGH,EAAEG,EAAE,GAAG,GAAG,IAAIC,EAAE,OAAOJ,EAC9BG,EAAE1I,EAAE2I,EAAEA,EAAE,EAAE,CAAwB,CAAE,OAAOunZ,GAAEi1W,GAAG,CAAC,SACjDn3Y,GAAGj+T,EAAE1Y,GACG,IADA,IACR3uC,EAAEqnD,EAAEpnD,EAAE0uC,IAAS,CAAC,IAAG3uC,EACc,OAAOC,EADlB,IACtB3I,EAAE,CAAC,EAAE0I,EAAE,GAAGC,GAAGD,EAAEA,EAAE,GAAGC,EAAE3I,CAAmB,CAAC,CAAC,SAC3Cs5C,GAAE5wC,GAAG,OAAOslX,GAAGtlX,EAAE,EAAE,CAAC,SACpBi+rB,GAAGtvpB,EAAE3uC,GAAG,GAAGA,EAAE,CAAC,IACdqnD,EAAErnD,EAAE,GAAe,MAAM,CAAC,EAAjBC,GAAE0uC,EAAE3uC,EAAE,IAAei+rB,GAAGtvpB,EAAE0Y,GAAG,CAAC,OAAO,CAAC,CAAC,SAChD8ztB,GAAG9ztB,EAAE1Y,GACD,IADI,IACR3uC,EAAE2uC,IAAS,CAAC,IAAG3uC,EAEF,OAAO,EAFF,IAClB1I,EAAE0I,EAAE,GAAGC,GAAEonD,EAAErnD,EAAE,IACbA,EAAE1I,CAAmB,CAAC,CAAC,SACvB4kb,GAAG5kb,EAAE+vD,EAAE1Y,GACC,IADE,IACV1uC,EAAEonD,EAAErnD,EAAE2uC,IAAS,CAAC,IAAG3uC,EACe,OAAOC,EADnB,IACtB0rO,EAAE3rO,EAAE,GAAGC,EAAEJ,GAAEvI,EAAE2I,EAAED,EAAE,IAAIA,EAAE2rO,CAAmB,CAAC,CAAC,SAC5CyviB,GAAGzsuB,EAAE3uC,EAAEC,GAAG,OAAGD,EACCH,GAAE8uC,EAAd3uC,EAAE,GAAgBo7wB,GAAGzsuB,EAAE3uC,EAAE,GAAGC,IAAWA,CAAC,CAAC,SAC3Co7wB,GAAG/jxB,EAAE+vD,GACD,IADI,IACRrnD,EAAEqnD,IAAS,CAAC,GAAGrnD,EAAE,CAAC,IAClBH,EAAEG,EAAE,GAAG2uC,EAAE1uC,GAAE3I,EAAE0I,EAAE,IAAI,GAAG2uC,EAAE,CACxB3uC,EAAEH,EAAE,QAAQ,CAAC,OAAO8uC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAChCg5W,GAAErwZ,EAAE+vD,GACA,IADG,IACPrnD,EAAEqnD,IAAS,CAAC,IAAGrnD,EAEF,OAAO,EAFF,IAClBH,EAAEG,EAAE,GAAG2uC,EAAE1uC,GAAE3I,EAAE0I,EAAE,IAAI,GAAG2uC,EAAE,OAAOA,EAC/B3uC,EAAEH,CAAmB,CAAC,CAAC,SACvBy7wB,GAAGj0tB,EAAE1Y,GACD,IADI,IACR3uC,EAAE2uC,IAAS,CAAC,IAAG3uC,EAEF,OAAO,EAFF,IAClB1I,EAAE0I,EAAE,GAAGC,EAAE,IAAIyoZ,GAAG1oZ,EAAE,GAAGqnD,GAAG,EAAE,EAAE,GAAGpnD,EAAE,OAAOA,EACxCD,EAAE1I,CAAmB,CAAC,CAAC,SACvBk0a,GAAGnkX,EAAE1Y,GACD,IADI,IACR3uC,EAAE2uC,IAAS,CAAC,IAAG3uC,EAEF,MAAM5G,GAFD,IAClB6G,EAAED,EAAE,GAAG1I,EAAE0I,EAAE,GAAGH,EAAEI,EAAE,GAAG,GAAG,IAAIyoZ,GAAGzoZ,EAAE,GAAGonD,GAAG,OAAOxnD,EAC9CG,EAAE1I,CAAkB,CAAC,CAAC,SACtBsxZ,GAAG3oZ,EAAED,GAAG,OAAOA,GAAGC,EAAEA,EAAED,CAAC,CAAC,SACxBu7wB,GAAGv7wB,EAAE2uC,GAAG,IACR1uC,EAAEu2C,GAAEx2C,GAAe,OAprBe,SAC/BA,EAAE2uC,EAAE1uC,EAAEonD,GAAG,GAAGpnD,EAAE,EAAE,GAAM,GAAH0uC,IAAO1uC,GAAGD,EAAEm3C,GAAQ,GAALn3C,EAAEmW,GAAMlW,GAAGD,EAAE2uC,EAAEz1C,QAAc,GAAHmuD,GAAMrnD,EAAE2uC,EAAEr3C,GAAE0I,EAAEmW,EAAE,IAAOnW,EAAE2uC,EAAEy3X,GAAGnma,EAAE9D,OAAOowD,aAAalF,IAAIrnD,EAAEmW,EAAElW,GAAGD,EAAEm3C,EAAE,EAAE,QAAuB,IAAR,GAALn3C,EAAEmW,GAAK+srB,GAAGljsB,GAAOC,GAAG0uC,EAAEA,EAAE1uC,EAAE0uC,IAAI3uC,EAAE2uC,EAAEA,GAAG0Y,CAAU,CAmrBtLm0tB,CAAGv7wB,EAAE,EAAED,EAAE2uC,GAAU1uC,CAAC,CAAC,IAC5Bw7wB,GAAGjluB,GAAE,GAAG,SACRkluB,GAAG17wB,GAAG,IACNC,EAAE2wlB,GAAG5wlB,GAAG2uC,EAAE6H,GAAEv2C,GAAiB,OAAdi3R,GAAGl3R,EAAE,EAAE2uC,EAAE,EAAE1uC,GAAU0uC,CAAC,CAAC,SACtC23X,GAAGtma,GAAG,OAAS07wB,GAAG17wB,EAAG,CAAC,SACtB27wB,GAAGhtuB,EAAE1uC,EAAED,GAAG,GAAG,GAAGC,GAAG,GAAGD,MAAM4wlB,GAAGjijB,GAAG3uC,EAAE,GAAGC,GAAG,CAAC,IAC3ConD,EAAE7Q,GAAEx2C,GAAiB,OAAdk3R,GAAGvoP,EAAE1uC,EAAEonD,EAAE,EAAErnD,GAAUqnD,CAAC,CAAC,OAAOmgW,GAAEuoB,GAAG,CAAC,SAC3CsnR,GAAG1opB,EAAE1uC,EAAED,GAAG,OAAS27wB,GAAGhtuB,EAAE1uC,EAAED,EAAG,CAAC,SAC9B47wB,GAAGtkxB,EAAEq3C,EAAE0Y,EAAEpnD,EAAED,GAAG,OAAG,GAAGA,GAAG,GAAG2uC,MAAMiijB,GAAGt5lB,GAAG0I,EAAE,GAAG2uC,IAAI,GAAG1uC,MAAM2wlB,GAAGvpiB,GAAGrnD,EAAE,GAAGC,GAAUi3R,GAAG5/R,EAAEq3C,EAAE0Y,EAAEpnD,EAAED,GAAUwnZ,GAAEo1W,GAAG,CAAC,SACxGif,GAAGvkxB,EAAEq3C,EAAE0Y,EAAEpnD,EAAED,GAAG,OAAG,GAAGA,GAAG,GAAG2uC,MAAMkJ,GAAEvgD,GAAG0I,EAAE,GAAG2uC,IAAI,GAAG1uC,MAAM2wlB,GAAGvpiB,GAAGrnD,EAAE,GAAGC,GAAU2oc,GAAGtxc,EAAEq3C,EAAE0Y,EAAEpnD,EAAED,GAAUwnZ,GAAEm1W,GAAG,CAAC,SACvGmf,GAAGntuB,GAAG,IACN3uC,EAAE2uC,EAAE,EAAE,EAAE1uC,EAAE,EACG,OADE,EAAED,IAAI,EAAM,KAAKA,IAAEC,EAAE,GACjC,IAAID,IAAEC,EAAE,GAASA,EAAE,EAAE,CAAC,CAAC,SAC1B87wB,GAAGpwiB,EAAEh9L,GAAG,IACR0Y,EAAEupiB,GAAGjijB,GAAG,GAAG,IAAI0Y,EAAE,OAAO1Y,EAAE,IAC1Br3C,EAAEk/C,GAAE6Q,GAAGxnD,EAAEwnD,EAAE,EAAE,EAAM,KAAKxnD,EAAE,GACtB,IAD0B,IAC9BG,EADiB,IACN,CAAC6nZ,GAAEvwZ,EAAE0I,EAAEC,GAAE0rO,EAAEymhB,GAAGzjtB,EAAE3uC,KAAK,IAChCvG,EAAEuG,EAAE,EAAE,EAAE,GAAGH,IAAIG,EACF,MAAbA,EAAEvG,CAAgB,CAAE,OAAOnC,CAAC,CAAC,SAC7B0kxB,GAAG/7wB,EAAED,GAAG,OAASu7wB,GAAGt7wB,EAAED,EAAG,CAAC,SAC1Bi8wB,GAAGttuB,EAAE1uC,EAAED,GAAG,OAAS27wB,GAAMhtuB,EAAG1uC,EAAED,EAAG,CAAC,SAClC+8a,GAAG5lY,EAAEw0L,GAAG,GAAGA,EACQ,IADL,IACdjkK,EAAE7vB,GAAEV,GAAGxI,EAAE,EAAE1uC,EAAE0rO,IAAa,CAAC,GAAG1rO,EAAE,CAAC,IACjCxG,EAAEwG,EAAE,GAAG,GAAGA,EAAE,GAAG,CAAC,IAChB6uB,GAAG+oB,GAAEp+C,GAAGiuE,EAAE,GAAG/4B,EAAE,EAAEjvC,EAAEO,EAAE,GAAkB0uC,EAAbA,GAAG7f,EAAEA,EAAE04X,GAAEu1W,IAAQ98vB,EAAEP,EAAE,QAAQ,CAAC,IACxDsnD,EAAEnP,GAAEp+C,GAAGk1C,EAAE,CAAC,MAEVqY,EAAErY,EACa,IADX,IACJ9uC,EAAE22C,GAAEwQ,GAAG1vD,EANU,EAMN+vD,EAAEskL,IAAS,CAAC,GAAGtkL,EAAE,CAAC,IAC7BrnD,EAAEqnD,EAAE,GAAG,GAAGA,EAAE,GAAG,CAAC,IAChBjuD,EAAEiuD,EAAE,GAAGuhZ,GAAG5oc,EAAE,EAAEH,EAAEvI,EAAEugD,GAAE73C,IAAI4oc,GAAGzxZ,EAAE,EAAEt3C,EAAEvI,EAAEugD,GAAE73C,GAAG,EAAE0nE,GAC1CpwE,GAAGA,EAAEugD,GAAE73C,GAAG,GAAG0nE,EAAE,EAAErgB,EAAEjuD,EAAE,QAAQ,CAACwvc,GAAG5oc,EAAE,EAAEH,EAAEvI,EAAEugD,GAAE73C,GAAG,CAAC,OAAOguC,GAAEnuC,EAAE,CAAC,CAAE,OAAOi9vB,EAAE,CAAC,SACvEof,GAAGvtuB,GAAG,IACN3uC,EAAE2uC,EAAE,EAAE,EAAE1uC,EAAE,EACG,OADE,EAAED,IAAI,EAAM,KAAKA,IAAEC,EAAE,GACjC,IAAID,IAAEC,EAAE,GAASA,EAAE,EAAE,CAAC,CAAC,SAC1Bk8wB,GAAG7kxB,EAAE+vD,EAAE1Y,EAAE1uC,GACL,IADQ,IACZD,EAAE2uC,IAAS,CAAC,GAAG0Y,GAAGrnD,EAAE,MAAM5G,GAAE,GAAGy3lB,GAAGv5lB,EAAE0I,KAAKC,EAAE,OAAOD,EAClDA,EAAEA,EAAE,EAAE,CAAU,CAAC,CAAC,SAClBo8wB,GAAGp8wB,EAAEC,GAAG,OAAOk8wB,GAAGn8wB,EAAE63C,GAAE73C,GAAG,EAAEC,EAAE,CAGuC,SACpEo8wB,GAAGp8wB,EAAED,GAAG,OAJsB,SAC3BC,EAAED,EAAEqnD,GAAG,IACV1Y,EAAEkJ,GAAE53C,GAAG,GAAG,GAAGD,KAAK2uC,EAAE3uC,GAAG,IACnB,OADuBm8wB,GAAGl8wB,EAAE0uC,EAAE3uC,EAAEqnD,GAClC,CAAU,CAAC,MAAMrnD,GAAU,IAAPA,EAAEoxC,GAAEpxC,MAAU5G,GAAE,OAAO,EAAE,MAAM4G,CAAC,CAAC,OAAOwnZ,GAAEq1W,GAAG,CACpDyf,CAAGr8wB,EAAE,EAAED,EAAE,CAAC,SACzBq5c,GAAGr5c,GAAG,OAAS+7wB,GAAGtkQ,GAAMz3gB,EAAI,CAAC,SAC7Bu8wB,GAAGv8wB,GAAG,OAAS+7wB,GAAG/nU,GAAMh0c,EAAI,CAAC,IAC7Bw8wB,GAAG9mB,GAAG,SACN+mB,GAAGnlxB,EAAEq3C,EAAE0Y,EAAEpnD,EAAED,GAAG,OAAG,GAAGA,GAAG,GAAG2uC,MAAMr3C,EAAE4B,OAAO,EAAE8G,EAAE,GAAG2uC,IAAI,GAAG1uC,MAAMonD,EAAEnuD,OAAO,EAAE8G,EAAE,GAAGC,GAvoC6rG,SACvwGonD,EAAEpnD,EAAE3I,EAAEq3C,EAAE9uC,GAAG,GAAG8uC,GAAG1uC,EAAE,IAAI,IAC1BD,EAAE,EAAEA,GAAGH,EAAEG,IAAI1I,EAAEq3C,EAAE3uC,GAAGqnD,EAAEpnD,EAAED,QACxB,IACAA,EAAEH,EAAEG,GAAG,EAAEA,IAAI1I,EAAEq3C,EAAE3uC,GAAGqnD,EAAEpnD,EAAED,GAAG,OAAO,CAAC,CAmoCoD08wB,CAAGplxB,EAAEq3C,EAAE0Y,EAAEpnD,EAAED,GAAUwnZ,GAAEw1W,GAAG,CAAC,SAClH2f,GAAGrlxB,EAAEq3C,GAAG,IACR0Y,EAAE1Y,EAAEz1C,OAAO,EAAE,GAAG,IAAImuD,EAAE,MAAM,CAAC,GAAG,IAChCxnD,EAAE84vB,GAAGtxsB,EAAEpnD,GAAE3I,EAAEq3C,EAAE,KAAKg9L,EAAEtkL,EAAE,EAAE,EAAM,KAAKskL,EAAE,GACjC,IADqC,IACzC3rO,EAD4B,IACjB,CAACH,EAAE,EAAEG,GAAGC,GAAE3I,EAAEq3C,EAAE,EAAE3uC,IAAI,IAC/BvG,EAAEuG,EAAE,EAAE,EAAE,GAAG2rO,IAAI3rO,EACF,MAAbA,EAAEvG,CAAgB,CAAE,OAAOoG,CAAC,CAAC,SAC7Bugd,GAAGvgd,EAAEvI,EAAE0I,GAAG,IACV2uC,EAle6E,SAC1E1uC,EAAEkW,EAAEnW,GAC6CC,EAAEq5vB,cAAar5vB,EAAEs5vB,SAAStpL,GAAGhwkB,EAAnD,IAAyDA,EAAEu5vB,YAAYvpL,GAAGhwkB,EAAtE,IAA4EA,EAAEw5vB,UAAUxpL,GAAGhwkB,EAA/E,IAAqFA,EAAEy5vB,UAAUzpL,GAAGhwkB,EAAxG,IAA8GA,EAAEq5vB,YAAYrpL,GAAGhwkB,EAAnI,KAAyI,IAC/K3I,EAAEq3C,EAAEx4B,EAAE0hC,EAAEi/sB,GAAG92vB,EADT,IAEK,IADa2uC,GAAG,GAAG3uC,EADR,GACaA,EADrB,GAC0BA,EADtB,GAC2BA,EADnB,IACyB,GAC/C2uC,GAAGA,EAAE,IAAS,CAAC,IACf9uC,EAAEI,EAAEs5vB,SAAS5qtB,GAAG,GAAG9uC,EAAE,EAAE,OAAOA,EAAE,EAAE,IAClCpG,EAAEwG,EAAEu5vB,YAAY7qtB,GAA6B,GAAvBl1C,GAAG,IAAGuG,EAJV,GAIeA,EAJnB,GAIwBA,EAJhB,GAIqBvG,GAAKuG,EAJlC,IAIwCA,EAJhD,GAIoD,CAAC,GAAS,GAANA,EAJpC,GAI4C,OAAO2uC,EAAE,EAC/Er3C,EAAEq2vB,EAAG,MAAKr2vB,EAAEugD,EAAE73C,EALA,IAKMA,EALN,KAMK,IAD+B2uC,EAApB1uC,EAAEw5vB,UAAU55vB,EAAEvI,IAAIq3C,EAAI1uC,EAAEy5vB,UAAU75vB,EAAEvI,GAChE2I,EAAEq5vB,YAAY3qtB,IAAQ,EAAE,CAAW,GAAV3uC,EANb,GAMkBA,EANd,IAM6B,GAAPA,EANlB,GAOtB,OAAOA,EAPe,GAM2B4pd,GAAGtW,GACzC,MACRh8c,GAAGq2vB,KAAG3tvB,EARiB,GAQZ,EAAC,CAAC,CAwdd48wB,CAAG/8wB,EAAEvI,EAAE0I,GAAGqnD,EAAE,GAAG1Y,EAAE,EAAE,EAAuB,GAAnB0Y,EAAErnD,EAAE,MAAMm7a,GAAG,EAAE,EAAE9zX,EAAO,CAACrnD,EAAE,IAAIA,EAAE,IAAI,IAC9DC,EAAED,EAAE,IAAIA,EAAE,IAAI,CAAC,EAAEC,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGD,EAAE,GAAGA,EAAE,GAAG,EAAE,CAAC,OAAO2uC,CAAC,CAAC,SACtDkuuB,GAAG58wB,EAAED,GAAG,IACR2uC,EAAE1uC,EAAEA,EAAE,GAAG,EAAE3I,EAAEq3C,EAAEmttB,GAAG3gV,GAAGt7a,EAAE8uC,EAAEmttB,GAAG3gV,GAAiC1jX,EAAE5f,GAAE73C,GAAe,MAAM,CAAC,EAAE,SAASA,GAAU,OAAPA,EAAE,GAAG,EAAS,CAAC,EAA9C07wB,GAAM17wB,GAA4Cy3D,EAA7D,EAAJ,EAAJ,EAAJ,EAAJ,EAAJ,EAAN,CAAC,GAAsG53D,EAAEvI,EAAE,CAAC,SAC7IywZ,GAAE/nZ,GAAG,OAAOq3rB,GAAGr3rB,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAG,EAAE,CAAC,SACtC88wB,GAAGnuuB,EAAE3uC,EAAEC,GAAG,OAAOo3rB,GAAG1opB,EAAE,GAAG3uC,EAAEC,EAAED,EAAE,EAAE,CAAC,SAClC+8wB,GAAG11tB,GAAG,SACN00F,EAAE/7I,GAAG,OAAOA,EAAEA,EAAE,GAAG,CAAC,CAAC,SACrB1I,EAAE2I,EAAE3I,EAAE0I,GAAG,IACT2uC,EAAE1uC,EAAEA,EAAE,GAAG,EAAEonD,EAAErnD,EAAEA,EAAE,GAAG,EAAqB,MAAM,CAAC,EAAEC,EAAE3I,EAAE0I,EAA9BqnD,GAAG1Y,EAAEA,EAAE,EAAE,EAAE0Y,EAAE,EAAE,EAAmB,CAAC,SAC3DskL,EAAE1rO,EAAEJ,EAAEG,GAAG,IACT2rO,EAAE1rO,EAAEA,EAAE,GAAG,EAAEynE,EAAE1nE,EAAEA,EAAE,GAAG,EAAE,IAAI0nE,EAAE,EAAE,GAAGikK,EAAE,CAAC,GAAG1rO,EAAE,CAAC,IAC1C0uC,EAAE1uC,EAAE,GAAG43C,EAAE53C,EAAE,GAAGxG,EAAEwG,EAAE,GAAU,GAAL87I,EAAEptG,IAASotG,EAAEtiJ,GAAG,OAAOnC,EAAEmC,EAAEo+C,EAAEvgD,EAAEq3C,EAAE9uC,EAAEG,IAAI,GAAG2uC,EAAE,CAAC,IACpEjvC,EAAEivC,EAAE,GAAG8oB,EAAE9oB,EAAE,GAAGv1C,EAAE9B,EAAEq3C,EAAE,GAAG9uC,EAAEG,GAAG,OAAO1I,EAAEA,EAAEmC,EAAEo+C,EAAE4f,GAAG/3D,EAAEtG,EAAE,CAAC,OAAOouZ,GAAE61W,GAAG,CAAC,OAAO71W,GAAE81W,GAAG,CAAC,IAAI3xhB,EAAE,EAAE,GAAGjkK,EAAE,CAAC,GAAG1nE,EAAE,CAAC,IACjG8uB,EAAE9uB,EAAE,GAAGm3C,EAAEn3C,EAAE,GAAGqnD,EAAErnD,EAAE,GAAU,GAAL+7I,EAAE10F,IAAS00F,EAAEjtH,GAAG,OAAOx3B,EAAEA,EAAE2I,EAAEJ,EAAEwnD,GAAGlQ,EAAEroB,GAAG,GAAGu4B,EAAE,CAAC,IACpE5nD,EAAE4nD,EAAE,GAAGlxC,EAAEkxC,EAAE,GAAG0X,EAAEznE,EAAE+vD,EAAE,GAAGlQ,EAAEroB,GAAG,OAAOx3B,EAAEA,EAAE2I,EAAEJ,EAAEsW,GAAG1W,EAAEs/D,EAAE,CAAC,OAAOyoV,GAAE+1W,GAAG,CAAC,OAAO/1W,GAAEg2W,GAAG,CACzD,MAAM,CAAC,EAAEv9vB,EAAEJ,EAAEG,EAA9B0nE,GAAGikK,EAAEA,EAAE,EAAE,EAAEjkK,EAAE,EAAE,EAAmB,CAAC,SACrC1nE,EAAE2uC,EAAE1uC,GAAG,GAAGA,EAAE,CAAC,IACb3I,EAAE2I,EAAE,GAAGynE,EAAEznE,EAAE,GAAGxG,EAAEwG,EAAE,GAAG6uB,EAAEjvB,GAAEwnD,EAAE,GAAG1Y,EAAE+4B,GAAG,GAAG,IAAI54C,EAAE,OAAO7uB,EAAE,GAAG,GAAG6uB,EAAE,CAAC,IAC9D+oB,EAAE73C,EAAE2uC,EAAEr3C,GAAG,OAAOA,IAAIugD,EAAE53C,EAAE0rO,EAAElyO,EAAEiuE,EAAE7vB,EAAE,CAAC,IACjCV,EAAEn3C,EAAE2uC,EAAEl1C,GAAG,OAAOA,IAAI09C,EAAEl3C,EAAE0rO,EAAEx0L,EAAEuwB,EAAEpwE,EAAE,CAAC,MAAM,CAAC,EAAE,EAAEq3C,EAAE,EAAE,EAAE,CAAC,SACnD+4B,EAAE1nE,GAAG,MAAM,CAAC,EAAE,EAAEA,EAAE,EAAE,EAAE,CAAC,SACvBq3C,EAAEp3C,EAAED,GAAG,GAAGA,EAAE,CAAC,IACb2uC,EAAE3uC,EAAE,GAAGqnD,EAAErnD,EAAE,GAAG,OAAO2rO,EAAEt0L,EAAEp3C,EAAED,EAAE,IAAIqnD,EAAE1Y,EAAE,CAAC,OAAO+4B,EAAEznE,EAAE,CAAC,SAClDywC,EAAEzwC,EAAED,GAAG,GAAGA,EAAE,CAAC,IACb2uC,EAAE3uC,EAAE,GAAU,OAAO2rO,EAAZ3rO,EAAE,GAAc2uC,EAAE+B,EAAEzwC,EAAED,EAAE,IAAI,CAAC,OAAO0nE,EAAEznE,EAAE,CAAC,SAClD0uC,EAAE1uC,EAAEonD,EAAErnD,GAAG,GAAGC,EAAE,CAAC,GAAGD,EAAE,CAAC,IACrBH,EAAEG,EAAE,GAAG0nE,EAAEznE,EAAE,GAAGxG,EAAEuG,EAAE,GAAG8uB,EAAE9uB,EAAE,GAAG63C,EAAE73C,EAAE,GAAGm3C,EAAEl3C,EAAE,GAAG+mD,EAAE/mD,EAAE,GAAGP,EAAEO,EAAE,GAAG,OAAOJ,EAAE,EAAE,GAAG6nE,EAAEikK,EAAEjsO,EAAEsnD,EAAErY,EAAEwI,EAAEkQ,EAAErnD,KAAK0nE,EAAE,EAAE,GAAG7nE,EAAE8rO,EAAEh9L,EAAE1uC,EAAEonD,EAAExP,GAAG/oB,EAAEr1B,GAAGnC,EAAE2I,EAAEonD,EAAErnD,EAAE,CAAC,OAAO0wC,EAAE2W,EAAEpnD,EAAE,CAAC,OAAOo3C,EAAEgQ,EAAErnD,EAAE,CAAC,SACvJ8uB,EAAE6f,GACE,IADC,IACL3uC,EAAE2uC,IAAS,CAAC,GAAG3uC,EAAE,CAAC,IAClBC,EAAED,EAAE,GAAG,GAAGC,EAAE,CACZD,EAAEC,EAAE,QAAQ,CAAC,OAAOD,EAAE,EAAE,CAAC,MAAM5G,EAAC,CAAC,CAAC,SAClCw3C,EAAEjC,GACE,IADC,IACL3uC,EAAE2uC,IAAS,CAAC,GAAG3uC,EAAE,CAAC,IAClBC,EAAED,EAAE,GAAG,GAAGC,EAAE,CACZD,EAAEC,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAED,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SACtC6nZ,EAAE5nZ,GACE,IADC,IACLD,EAAEC,IAAS,CAAC,GAAGD,EAAE,CAAC,GAAGA,EAAE,GAAG,CAC1BA,EAAEA,EAAE,GAAG,QAAQ,CAAC,OAAOA,EAAE,EAAE,CAAC,MAAM5G,EAAC,CAAC,CAGK,SACzCkrD,EAAEtkD,GAAG,GAAGA,EAAE,CAAC,IACXC,EAAED,EAAE,GAAG,GAAGC,EAAE,CAAC,IACb0uC,EAAE3uC,EAAE,GAAGqnD,EAAErnD,EAAE,GAAG,OAAO2rO,EAAErnL,EAAErkD,GAAGonD,EAAE1Y,EAAE,CAAC,OAAO3uC,EAAE,EAAE,CAAC,OAAOwnZ,GAAEy1W,GAAG,CAAC,SAC1Dj2sB,EAAE/mD,EAAED,GAAG,GAAGC,EAAE,CAAC,GAAGD,EAAE,CAAC,IACnBqnD,EAAE/C,EAAEtkD,GAAG,OAAO2uC,EAAE1uC,EAAE6uB,EAAE9uB,GAAGqnD,EAAE,CAAC,OAAOpnD,CAAC,CAAC,OAAOD,CAAC,CAAC,SAC5CvG,EAAEwG,EAAED,GAAG,GAAGA,EAAE,CAAC,IACb1I,EAAE0I,EAAE,GAAG2rO,EAAE3rO,EAAE,GAAG0nE,EAAE1nE,EAAE,GAAGm3C,EAAEt3C,GAAEwnD,EAAE,GAAGpnD,EAAE0rO,GAAG,GAAG,IAAIx0L,EAAE,MAAM,CAAC,EAAEuwB,EAAE,EAAEpwE,GAAG,GAAG,GAAG6/C,EAAE,CAAC,IACrEroB,EAAEr1B,EAAEwG,EAAE3I,GAAG0vD,EAAEl4B,EAAE,GAAGpvB,EAAEovB,EAAE,GAAG,MAAM,CAAC,EAAE6f,EAAE+4B,EAAEikK,EAAE78M,EAAE,IAAIpvB,EAAEsnD,EAAE,CAAC,IACjDnP,EAAEp+C,EAAEwG,EAAEynE,GAAGjQ,EAAE5f,EAAE,GAAU,MAAM,CAAC,EAAZA,EAAE,GAAc4f,EAAE9oB,EAAEkJ,EAAE,GAAG8zL,EAAEr0O,GAAG,CAAC,OAAO4lwB,EAAE,CAWhB,SAC1CrltB,EAAEwP,EAAEpnD,GAAG,GAAGonD,EAAE,CAAC,GAAGpnD,EAAE,CAAC,IACnB0rO,EAAE1rO,EAAE,GAAG3I,EAAE2I,EAAE,GAAGynE,EAAErgB,EAAE,GAAGxnD,EAAEwnD,EAAE,GAAGL,EAAE/mD,EAAE,GAAGP,EAAEO,EAAE,GAAGw3D,EAAEpQ,EAAE,GAAGjuD,EAAEiuD,EAAE,GAAG,GAAGskL,GAAGjkK,EAAE,CAAC,GAAG,IAAIikK,EAAE,OAAO3rO,EAAE1I,EAAE+vD,GAAG,IACxFv4B,EAAEr1B,EAAEoG,EAAEI,GAAG87I,EAAEjtH,EAAE,GAAGw1B,EAAEzM,EAAE4f,EAAE3oC,EAAE,IAAI,OAAO6f,EAAEkJ,EAAEz+C,EAAE2iJ,GAAGl8I,EAAEykD,EAAE,CAAC,GAAG,IAAIojB,EAAE,OAAO1nE,EAAEH,EAAEI,GAAG,IACxEk3C,EAAE19C,EAAEnC,EAAE+vD,GAAG5nD,EAAE03C,EAAE,GAAGhhC,EAAE0hC,EAAEV,EAAE,GAAG6P,GAAG,OAAOrY,EAAEkJ,EAAEp4C,EAAEC,GAAGpI,EAAE6e,EAAE,CAAC,OAAOkxC,CAAC,CAAC,OAAOpnD,CAAC,CAIjB,SACjDmyC,EAAE96C,EAAE0I,GAAG,GAAGA,EAAE,CAAC,IACb8uB,EAAE9uB,EAAE,GAAG2rO,EAAE3rO,EAAE,GAAG63C,EAAE73C,EAAE,GAAGm3C,EAAEt3C,GAAEwnD,EAAE,GAAG/vD,EAAEq0O,GAAG,GAAG,IAAIx0L,EAAE,OAAO,EAAE,GAAG,GAAGA,EAAE,CAAC,IAC9DuwB,EAAEt1B,EAAE96C,EAAEw3B,GAAG,GAAG44C,EAAE,CAAC,IACf1gB,EAAE0gB,EAAE,GAAG,MAAM,CAAC,EAAE/4B,EAAEkJ,EAAE8zL,EAAEjkK,EAAE,IAAI1gB,EAAE,CAAC,OAAO,CAAC,CAAC,IACxCvtD,EAAE24C,EAAE96C,EAAEugD,GAAG,GAAGp+C,EAAE,CAAC,IACfiG,EAAEjG,EAAE,GAAU,MAAM,CAAC,EAAZA,EAAE,GAAc,SAASuG,GAAG,OAAO2uC,EAAE1uC,GAAEP,EAAE,GAAGisO,EAAE78M,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS9uB,GAAG,OAAO,CAAC,EAAE,CAUnD,SACnDm3C,EAAEkQ,EAAE1Y,GACI,IADD,IACP3uC,EAAEqnD,EAAEpnD,EAAE0uC,IAAS,CAAC,IAAG3uC,EACmB,OAAOC,EADvB,IACtB3I,EAAE,CAAC,EAAE0I,EAAE,GAAGA,EAAE,GAAGC,GAAGD,EAAEA,EAAE,GAAGC,EAAE3I,CAAmB,CAAC,CAAC,SAChDomF,EAAE12B,EAAEnP,GACkB,IADf,IACPn4C,EAAEy3C,EAAEU,EAAE,GAAG53C,EAAEk3C,EAAE6P,EAAE,GAAGhnD,EAAEN,IAAS,CAAC,GAAGO,EAAE,CAAC,GAAGD,EAAE,CAAC,IAC1C1I,EAAE0I,EAAE,GAAG2rO,EAAE3rO,EAAE,GAAG0nE,EAAEznE,EAAE,GAAGxG,EAAEwG,EAAE,GAAG0uC,EAAE9uC,GAAEwnD,EAAE,GAAGpnD,EAAE,GAAGD,EAAE,IAAI,GAAG,IAAI2uC,EAAE,CAAC,IAC1D7f,EAAEqoB,EAAEw0L,EAAEr0O,GAAG2I,EAAEk3C,EAAE19C,EAAEiuE,GAAG1nE,EAAE8uB,EAAE,QAAQ,CAAC,OAAO6f,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO3uC,GAAG,EAAE,CAAC,CAAC,CAwChB,SAC/C2vC,EAAE0X,EAAE1Y,GACI,IADD,IACP1uC,EAAEonD,EAAErnD,EAAE2uC,IAAS,CAAC,IAAG3uC,EAC0B,OAAOC,EAD9B,IACtB3I,EAAE0I,EAAE,GAAGH,EAAEG,EAAE,GAAGC,EAAE,CAAC,EAAE3I,EAAEq4C,EAAE1vC,EAAED,EAAE,KAAKA,EAAEH,CAAmB,CAAC,CAyCpB,SAClCi3D,EAAE60K,EAAEr0O,EAAE2I,GAAG,IACTynE,EAAE,EAAE,GAAG,IAAIikK,EAAE,CAAC,IACd3kL,EAAE6gW,EAAEl8K,GAAM,GAAG9rO,GAAEwnD,EAAE,GAAGL,EAAE1vD,KAAGowE,EAAE,EAAC,CAAC,IAAIA,EAAE,CAAC,IACpCjuE,EAAE,EAAE,GAAG,IAAIwG,EAAE,CAAC,IACdk3C,EAAEroB,EAAE7uB,GAAM,GAAGJ,GAAEwnD,EAAE,GAAG/vD,EAAE6/C,KAAG19C,EAAE,EAAC,CAAC,IAAIA,EAAE,OAAOk1C,EAAEg9L,EAAEr0O,EAAE2I,EAAE,CAAC,OAAO43C,EAAE8zL,EAAE3rO,EAAE1I,EAAE2I,GAAG,CAiFyD,SAC9Hiyc,EAAEvja,EAAE1uC,GAAG,OAAO86wB,GAAG,SAASpsuB,EAAE1uC,GAAG,OAAOD,EAAEC,EAAE0uC,EAAE,EAAE1uC,EAAE0uC,EAAE,CAC9B,SACpB6H,EAAEx2C,EAAEqnD,GAAG,GAAGrnD,EAAE,CAAC,IACbC,EAAED,EAAE,GAAG2uC,EAAEwI,EAAEn3C,EAAE,GAAGA,EAAE,IAAI,MAAM,CAAC,EAAEC,EAAE,SAASD,GAAG,OAAOw2C,EAAE7H,EAAE3uC,EAAE,EAAE,CAAC,OAAO,CAAC,CAE1B,SAC3CsxC,EAAE+V,EAAE1Y,GACI,IADD,IACP3uC,EAAEqnD,EAAEpnD,EAAE0uC,IAAS,CAAC,IAAG3uC,EACmB,OAAOC,EADvB,IACtB3I,EAAE,CAAC,EAAE0I,EAAE,GAAGA,EAAE,GAAGC,GAAGD,EAAEA,EAAE,GAAGC,EAAE3I,CAAmB,CAAC,CAAC,SAChDi4C,EAAEvvC,EAAEqnD,GAAG,GAAGrnD,EAAE,CAAC,IACbC,EAAED,EAAE,GAAG2uC,EAAE2C,EAAEtxC,EAAE,GAAGA,EAAE,IAAI,MAAM,CAAC,EAAEC,EAAE,SAASD,GAAG,OAAOuvC,EAAEZ,EAAE3uC,EAAE,EAAE,CAAC,OAAO,CAAC,CAE1B,MAAM,CAAC,EAhOhD,EAAE,SACFA,GAAG,OAAOA,EAAE,EAAE,CAAC,EAAC,SAChB2rO,EAAEr0O,GACA,IADG,IACP0I,EAAE1I,IAAS,CAAC,IAAG0I,EAES,OAAO,EAFb,IAClB0nE,EAAE1nE,EAAE,GAAGvG,EAAEuG,EAAE,GAAGC,EAAEJ,GAAEwnD,EAAE,GAAGskL,EAAE3rO,EAAE,IAAI2uC,EAAE,IAAI1uC,EAAE,EAAE,EAAE,GAAG0uC,EAAE,OAAOA,EAC5C3uC,EAAT,GAAGC,EAAEynE,EAAEjuE,CAAuB,CAAC,EA2NyBuG,EAAE0nE,EA3N1B,SAClCnoB,EAAEjoD,EAAE2I,GAAG,GAAGA,EAAE,CAAC,IACbD,EAAEC,EAAE,GAAGynE,EAAEznE,EAAE,GAAG0uC,EAAE1uC,EAAE,GAAGxG,EAAEoG,GAAEwnD,EAAE,GAAG/vD,EAAEowE,GAAG,GAAG,IAAIjuE,EAAE,CAAC,GAAGk1C,EAAE,CAAC,GAAG3uC,EAAE,CAAC,IACzDgnD,EAAE1C,EAAEtkD,GAAG,OAAO2rO,EAAEh9L,EAAE7f,EAAE9uB,GAAGgnD,EAAE,CAAC,OAAOrY,CAAC,CAAC,OAAO3uC,CAAC,CAAC,GAAG,GAAGvG,EAAE,CAAC,IACrDo+C,EAAE0H,EAAEjoD,EAAE0I,GAAG,OAAOA,IAAI63C,EAAE53C,EAAE0rO,EAAEh9L,EAAE+4B,EAAE7vB,EAAE,CAAC,IACjCV,EAAEoI,EAAEjoD,EAAEq3C,GAAG,OAAOA,IAAIwI,EAAEl3C,EAAE0rO,EAAEx0L,EAAEuwB,EAAE1nE,EAAE,CAAC,OAAO,CAAC,EAsNuB63C,EAlNG,SACnEn4C,EAAEM,EAAEqnD,GAAG,GAAGrnD,EAAE,CAAC,GAAGqnD,EAAE,CAAC,IACnB/vD,EAAE0I,EAAE,GAAGH,EAAEG,EAAE,GAAG2rO,EAAE3rO,EAAE,GAAGC,EAAExG,EAAEoG,EAAEwnD,GAAGqgB,EAAEznE,EAAE,GAAG,GAAGA,EAAE,GAAG,CAAC,IAC9C6uB,EAAEpvB,EAAEpI,EAAE2I,EAAE,IAAI,OAAO0uC,EAAEjvC,EAAEisO,EAAEjkK,GAAG7nE,EAAEivB,EAAE,CAAC,IACjC+oB,EAAEn4C,EAAEpI,EAAE2I,EAAE,IAAI,OAAO+mD,EAAEtnD,EAAEisO,EAAEjkK,GAAG7vB,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAMuD,SACvGkwW,EAAEp8K,EAAE9rO,GACI,IADD,IACPG,EAAE2rO,EAAEh9L,EAAE9uC,IAAS,CAAC,GAAGG,GAAG2uC,EAAE,CAAC,IACzB+4B,EAAE1nE,EAAE,GAAGvG,EAAEuG,EAAE,GAAG8uB,EAAE9uB,EAAE,GAAG,GAAGA,IAAI2uC,EAAE,OAAO,EAAE,IACvC0Y,EAAEjV,EAAE34C,EAAEk1C,GAAG,GAAG0Y,EAAE,CAAC,IACfxP,EAAEwP,EAAE,GAAG/vD,EAAEywZ,EAAEj5X,EAAEu4B,EAAE,IAAI,GAAG/vD,EAAE,CACxB0I,EAAE0nE,EAAE/4B,EAAE1uC,GAAE43C,EAAE,GAAG,QAAQ,CAAC,OAAOvgD,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,EAAC,SAClDmgE,EAAEz3D,EAAEqnD,GAAG,GAAGrnD,EAAE,CAAC,GAAGqnD,EAAE,CAAC,IACnB/vD,EAAE0I,EAAE,GAAGH,EAAEG,EAAE,GAAG2rO,EAAE3rO,EAAE,GAAGC,EAAExG,EAAEoG,EAAEwnD,GAAGqgB,EAAEznE,EAAE,GAAG,GAAGA,EAAE,GAAG,CAAC,IAC9C6uB,EAAE2oC,EAAEngE,EAAE2I,EAAE,IAAI,OAAO+mD,EAAEyQ,EAAEk0K,EAAEjkK,GAAG54C,EAAE,CAAC,IAC/B+oB,EAAE4f,EAAEngE,EAAE2I,EAAE,IAAI,OAAO0uC,EAAE8oB,EAAEk0K,EAAEjkK,GAAG7nE,EAAEg4C,EAAE,CAAC,OAAO73C,CAAC,CAAC,OAAO,CAAC,EA8LsB09E,EAvLR,SAC9Dz9E,EAAED,GAAG,OAAO,IAAI09E,EAAEz9E,EAAED,GAAG,EAAE,CAAC,EAAC,SAC7BmW,EAAEshD,EAAE/3D,GACI,IADD,IACPM,EAAEy3D,EAAEx3D,EAAEP,IAAS,CAAC,GAAGM,EAAE,CAAC,GAAGC,EAAE,CAAC,IAC5BynE,EAAEznE,EAAE,GAAGxG,EAAEwG,EAAE,GAAG0uC,EAAE3uC,EAAE,GAAG1I,EAAE0I,EAAE,GAAG2rO,EAAE3rO,EAAE,GAAG8uB,EAAEjvB,GAAEwnD,EAAE,GAAG/vD,EAAE2I,EAAE,IAAI,GAAG,IAAI6uB,EAAE,CAAC,IAC9D+oB,EAAE1hC,EAAEw1N,EAAElyO,GAAG,GAAGo+C,EAAE,CACd73C,EAAE2uC,EAAE1uC,EAAEynE,EAAE,QAAQ,CAAC,OAAO7vB,CAAC,CAAC,GAAG,GAAG/oB,EAAE,CAAC,IACnCqoB,EAAEhhC,EAAE,CAAC,EAAE,EAAE7e,EAAEq3C,EAAE,GAAG+4B,GAAG,GAAGvwB,EAAE,CACxBn3C,EAAE2rO,EAAE,QAAQ,CAAC,OAAOx0L,CAAC,CAAC,IACtB6P,EAAE7wC,EAAE,CAAC,EAAEw1N,EAAEr0O,EAAE,EAAE,GAAGmC,GAAG,GAAGutD,EAAE,CACxBhnD,EAAE2uC,EAAE,QAAQ,CAAC,OAAOqY,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,EAAC,SACzCygW,EAAE94W,EAAE0Y,GACA,IADG,IACPrnD,EAAEqnD,IAAS,CAAC,IAAGrnD,EAEF,OAAO,EAFF,IAClB1I,EAAE0I,EAAE,GAAGH,EAAEG,EAAE,GAAGynZ,EAAE94W,EAAE3uC,EAAE,IAAIC,GAAE0uC,EAAE9uC,GAC5BG,EAAE1I,CAAmB,CAAC,EA2EgD,SACtE05C,EAAErC,EAAE3uC,GAAG,GAAGA,EAAE,CAAC,IACbqnD,EAAErnD,EAAE,GAAG1I,EAAE0I,EAAE,GAAGH,EAAEG,EAAE,GAAG2rO,EAAE36L,EAAErC,EAAE9uC,GAAG6nE,EAAEznE,GAAE0uC,EAAEr3C,GAAGmC,EAAEu3C,EAAErC,EAAE0Y,GAAG,OAAGxnD,IAAI8rO,GAAGr0O,IAAIowE,GAAGrgB,IAAI5tD,EAASuG,EAAS82D,EAAE60K,EAAEjkK,EAAEjuE,EAAE,CAAC,OAAO,CAAC,EA7EjF,SACvB6xZ,EAAE38W,EAAEr3C,EAAE+vD,GACE,IADC,IACTrnD,EAAE1I,EAAE2I,EAAEonD,IAAS,CAAC,IAAGrnD,EACiC,OAAOC,EADrC,IACtB0rO,EAAE3rO,EAAE,GAAUvG,EAAEoG,GAAE8uC,EAAT3uC,EAAE,GAAWsrZ,EAAE38W,EAAE3uC,EAAE,GAAGC,IAAID,EAAE2rO,EAAE1rO,EAAExG,CAAmB,CAAC,EAAC,SAC9DsxZ,EAAEp8W,EAAEg9L,GACA,IADG,IACP3rO,EAAE2rO,IAAS,CAAC,GAAG3rO,EAAE,CAAC,IAClB0nE,EAAE1nE,EAAE,GAAGvG,EAAEuG,EAAE,GAAGqnD,EAAEpnD,GAAE0uC,EAAE3uC,EAAE,IAAI,GAAGqnD,EAAE,CAAC,IAChC/vD,EAAEyzZ,EAAEp8W,EAAEl1C,GAAG,GAAGnC,EAAE,CACd0I,EAAE0nE,EAAE,QAAQ,CAAC,IACb7nE,EAAEvI,CAAC,MAEHuI,EAAEwnD,EAAE,OAAOxnD,CAAC,CAAC,OAAO,CAAC,CAAC,EAAC,SACvBmuC,EAAEW,EAAEg9L,GACA,IADG,IACP3rO,EAAE2rO,IAAS,CAAC,GAAG3rO,EAAE,CAAC,IAClB0nE,EAAE1nE,EAAE,GAAGvG,EAAEuG,EAAE,GAAGqnD,EAAEpnD,GAAE0uC,EAAE3uC,EAAE,IAAI,GAAGqnD,EAAE,IAC/B/vD,EAAE+vD,MAAM,CAAC,IACTxnD,EAAEmuC,EAAEW,EAAEl1C,GAAG,IAAIoG,EAAE,CACfG,EAAE0nE,EAAE,QAAQ,CACZpwE,EAAEuI,CAAC,CAAC,OAAOvI,CAAC,CAAC,OAAO,CAAC,CAAC,EAAC,SACvBkY,EAAE63C,EAAErnD,GAAG,GAAGA,EAAE,CAAC,IACb2rO,EAAE3rO,EAAE,GAAG0nE,EAAE1nE,EAAE,GAAGvG,EAAEuG,EAAE,GAAG1I,EAAEkY,EAAE63C,EAAE5tD,GAAGq1B,EAAE7uB,GAAEonD,EAAEqgB,GAAG7nE,EAAE2P,EAAE63C,EAAEskL,GAAG,OAAG78M,EAAMr1B,IAAInC,GAAGq0O,IAAI9rO,EAASG,EAAS2uC,EAAEr3C,EAAEowE,EAAE7nE,GAAUmnD,EAAE1vD,EAAEuI,EAAE,CAAC,OAAO,CAAC,EAyDZ,SACzGuxC,EAAE95C,EAAEq3C,GAAG,GAAGA,EAAE,CAAC,IACb9uC,EAAE8uC,EAAE,GAAGg9L,EAAEh9L,EAAE,GAAG+4B,EAAE/4B,EAAE,GAAG0Y,EAAEjW,EAAE95C,EAAEowE,GAAGjuE,EAAEwG,GAAE3I,EAAEq0O,GAAG3rO,EAAEoxC,EAAE95C,EAAEuI,GAAG,GAAGpG,EAAE,CAAC,IACtDo+C,EAAEp+C,EAAE,GAAG,OAAGiuE,IAAIrgB,GAAGskL,IAAI9zL,GAAGh4C,IAAIG,EAAS2uC,EAASmoB,EAAEzP,EAAExP,EAAE73C,EAAE,CAAC,GAAGqnD,EAAE,CAAC,GAAGrnD,EAAE,CAAC,IACnEm3C,EAAEmN,EAAEtkD,GAAG,OAAO82D,EAAEzP,EAAEv4B,EAAE9uB,GAAGm3C,EAAE,CAAC,OAAOkQ,CAAC,CAAC,OAAOrnD,CAAC,CAAC,OAAO,CAAC,EA7DkE,SACtHyP,EAAE43C,EAAErnD,GAAG,GAAGA,EAAE,CAAC,IACb1I,EAAE0I,EAAE,GAAGm3C,EAAEn3C,EAAE,GAAGH,EAAE4P,EAAE43C,EAAErnD,EAAE,IAAI2rO,EAAE9rO,EAAE,GAAG6nE,EAAE7nE,EAAE,GAAGH,EAAEO,GAAEonD,EAAE/vD,GAAGmC,EAAEgW,EAAE43C,EAAElQ,GAAGroB,EAAEr1B,EAAE,GAAGo+C,EAAEp+C,EAAE,GAAG,GAAGiG,EAAE,CAAC,IAC9E+3D,EAAEzQ,EAAE2kL,EAAE78M,GAAG,MAAM,CAAC,EAAE6f,EAAE+4B,EAAEpwE,EAAEugD,GAAG4f,EAAE,CAAC,IAC9Br+D,EAAEu1C,EAAEg9L,EAAEr0O,EAAEw3B,GAAG,MAAM,CAAC,EAAEk4B,EAAE0gB,EAAE7vB,GAAGz+C,EAAE,CAAC,OAAO+jwB,EAAE,EAAC,SACxCz1W,EAAE1nZ,GAAG,GAAGA,EAAE,CAAC,IACXC,EAAED,EAAE,GAAG2uC,EAAE+4W,EAAE1nZ,EAAE,IAAI,OAAO0nZ,EAAEznZ,GAAG,EAAE,GAAG0uC,EAAE,CAAC,CAAC,OAAO,CAAC,EAGS,SACrD3uC,GAAG,OAAO2vC,EAAE,EAAE3vC,EAAE,EA2IgF8uB,EAAE8hB,EAAEi3W,EA7OjE,SACnC5nZ,GACE,IADC,IACLD,EAAEC,IAAS,CAAC,GAAGD,EAAE,CAAC,GAAGA,EAAE,GAAG,CAC1BA,EAAEA,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAEA,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EA0OkE8uB,EAAE8hB,EAAEn3C,EA3I3F,SACjBkyO,EAAEr0O,GACA,IADG,IACP0I,EAAE1I,IAAS,CAAC,IAAG0I,EAES,MAAM5G,GAFZ,IAClB6G,EAAED,EAAE,GAAG0nE,EAAE1nE,EAAE,GAAGvG,EAAEuG,EAAE,GAAG2uC,EAAE9uC,GAAEwnD,EAAE,GAAGskL,EAAE1rO,GAAG,GAAG,IAAI0uC,EAAE,OAAO1uC,EACxCD,EAAT,GAAG2uC,EAAE+4B,EAAEjuE,CAAsB,CAAC,EAgCT,SACpBkyO,EAAEr0O,GACD,IADI,IACR0I,EAAE1I,IAAS,CAAC,IAAG0I,EAES,OAAO,EAFb,IAClBC,EAAED,EAAE,GAAG0nE,EAAE1nE,EAAE,GAAGvG,EAAEuG,EAAE,GAAG2uC,EAAE9uC,GAAEwnD,EAAE,GAAGskL,EAAE1rO,GAAG,GAAG,IAAI0uC,EAAE,MAAM,CAAC,EAAE1uC,GAC1CD,EAAT,GAAG2uC,EAAE+4B,EAAEjuE,CAAuB,CAAC,EApCA,SAC/BoG,EAAEivB,GACA,IADG,IACP6f,EAAE7f,IAAS,CAAC,IAAG6f,EAMF,MAAMv1C,GAND,IAClBuyO,EAAEh9L,EAAE,GAAGkJ,EAAElJ,EAAE,GAAGwI,EAAExI,EAAE,GAAG,GAAG1uC,GAAEJ,EAAE8rO,GACpB,IADwB,IAChCtkL,EAAEskL,EAAE3rO,EAAEm3C,IAAS,CAAC,IAAGn3C,EAGN,OAAOqnD,EAHE,IACtB/vD,EAAE0I,EAAE,GAAG0nE,EAAE1nE,EAAE,GAAGvG,EAAEuG,EAAE,GAAG,GAAGC,GAAEJ,EAAEvI,GAC5B+vD,EAAE/vD,EAAE0I,EAAEvG,OACNuG,EAAE0nE,CAAmB,CACrB/4B,EAAEkJ,CAAkB,CAAC,EAAC,SACpBh4C,EAAEivB,GACA,IADG,IACP6f,EAAE7f,IAAS,CAAC,IAAG6f,EAMF,OAAO,EANF,IAClBg9L,EAAEh9L,EAAE,GAAGkJ,EAAElJ,EAAE,GAAGwI,EAAExI,EAAE,GAAG,GAAG1uC,GAAEJ,EAAE8rO,GACpB,IADwB,IAChCtkL,EAAEskL,EAAE3rO,EAAEm3C,IAAS,CAAC,IAAGn3C,EAGN,MAAM,CAAC,EAAEqnD,GAHA,IACtB/vD,EAAE0I,EAAE,GAAG0nE,EAAE1nE,EAAE,GAAGvG,EAAEuG,EAAE,GAAG,GAAGC,GAAEJ,EAAEvI,GAC5B+vD,EAAE/vD,EAAE0I,EAAEvG,OACNuG,EAAE0nE,CAAsB,CACxB/4B,EAAEkJ,CAAmB,CAAC,EAAC,SACrBh4C,EAAEivB,GACA,IADG,IACP6f,EAAE7f,IAAS,CAAC,IAAG6f,EAMF,MAAMv1C,GAND,IAClBuyO,EAAEh9L,EAAE,GAAGkJ,EAAElJ,EAAE,GAAGwI,EAAExI,EAAE,GAAG,GAAG1uC,GAAEJ,EAAE8rO,GACpB,IADwB,IAChCtkL,EAAEskL,EAAE3rO,EAAE63C,IAAS,CAAC,IAAG73C,EAGN,OAAOqnD,EAHE,IACtB/vD,EAAE0I,EAAE,GAAG0nE,EAAE1nE,EAAE,GAAGvG,EAAEuG,EAAE,GAAG,GAAGC,GAAEJ,EAAEvI,GAC5B+vD,EAAE/vD,EAAE0I,EAAE0nE,OACN1nE,EAAEvG,CAAmB,CACrBk1C,EAAEwI,CAAkB,CAAC,EAAC,SACnBt3C,EAAEivB,GACD,IADI,IACR6f,EAAE7f,IAAS,CAAC,IAAG6f,EAMF,OAAO,EANF,IAClBg9L,EAAEh9L,EAAE,GAAGkJ,EAAElJ,EAAE,GAAGwI,EAAExI,EAAE,GAAG,GAAG1uC,GAAEJ,EAAE8rO,GACpB,IADwB,IAChCtkL,EAAEskL,EAAE3rO,EAAE63C,IAAS,CAAC,IAAG73C,EAGN,MAAM,CAAC,EAAEqnD,GAHA,IACtB/vD,EAAE0I,EAAE,GAAG0nE,EAAE1nE,EAAE,GAAGvG,EAAEuG,EAAE,GAAG,GAAGC,GAAEJ,EAAEvI,GAC5B+vD,EAAE/vD,EAAE0I,EAAE0nE,OACN1nE,EAAEvG,CAAsB,CACxBk1C,EAAEwI,CAAmB,CAAC,EAe+B,SAClDxI,GAAG,GAAGA,EAAE,CAAC,IACZkJ,EAAElJ,EAAE,GAAGg9L,EAAEh9L,EAAE,GAAG,GAAGkJ,EAAE,CAAC,IACpBV,EAAEU,EAAE,GAAGp+C,EAAEo+C,EAAE,GAAG,GAAGV,EAAE,CAAC,IACpBz3C,EAAEy3C,EAAE,GAAGsgB,EAAEtgB,EAAE,GAAG,GAAGz3C,EAAE,CAAC,IACpBtG,EAAEsG,EAAE,GAAG4kD,EAAE5kD,EAAE,GAAG,GAAGtG,EAAE,CAAC,GAAGA,EAAE,GAAG,CAAC,IAC7B6G,EAAEonD,EAAE,GAAG73C,EAAE,SAASsf,EAAE68M,GAAG,GAAG,IAAI78M,GAAG,GAAG68M,EAAE,CAAC,IACvCjsO,EAAEisO,EAAE,GAAG,GAAGjsO,EAAE,CAAC,IACb+3D,EAAE/3D,EAAE,GAAGm4C,EAAE8zL,EAAE,GAAGo8K,EAAEroZ,EAAE,GAAG+P,EAAE5P,GAAEI,EAAE43C,EAAE4f,GAAmD,MAAM,CAAC,EAArD,IAAIhoD,EAAE,CAAC,EAAEooC,EAAE,GAAG,EAAEpoC,EAAE,CAAC,EAAEooC,EAAE,CAAC,EAAE4f,EAAE,IAAI,CAAC,EAAEA,EAAE,CAAC,EAAE5f,EAAE,IAAekwW,EAAE,CAAC,OAC9F,GAAG,IAAIj5X,GAAG68M,EAAE,CAAC,IACbvyO,EAAEuyO,EAAE,GAAG,GAAGvyO,EAAE,CAAC,IACb2iJ,EAAE3iJ,EAAE,GAAG,GAAG2iJ,EAAE,CAAC,IACbptG,EAAEotG,EAAE,GAAG/7I,EAAE5G,EAAE,GAAGiuD,EAAEskL,EAAE,GAAGo/K,EAAEhvQ,EAAE,GAAGvlG,EAAE32C,GAAEI,EAAEonD,EAAErnD,GAAG,GAAG,IAAIw2C,EAAE,IAChDa,EAAEx3C,GAAEI,EAAED,EAAE2uC,GAAmD2V,EAA9C,IAAIjN,EAAE,CAAC,EAAEr3C,EAAE,GAAG,EAAEq3C,EAAE,CAAC,EAAEr3C,EAAE,CAAC,EAAE2uC,EAAE,IAAI,CAAC,EAAEA,EAAE,CAAC,EAAE3uC,EAAE,SACvD,GAAG,EAAEw2C,EAAE,CAAC,IACR9F,EAAE7wC,GAAEI,EAAED,EAAE2uC,GAAG,GAAG,IAAI+B,EAAE,IACpBjxC,EAAE,CAAC,EAAE4nD,EAAE,CAAC,EAAErnD,EAAE,SACZ,GAAG,EAAE0wC,EACLjxC,EAAE,CAAC,EAAE4nD,EAAE,CAAC,EAAErnD,EAAE,CAAC,EAAE2uC,EAAE,SACjB,KACAiC,EAAE/wC,GAAEI,EAAEonD,EAAE1Y,GAAqElvC,EAAhE,IAAImxC,EAAE,CAAC,EAAEyW,EAAE,CAAC,EAAErnD,EAAE,IAAI,EAAE4wC,EAAE,CAAC,EAAEyW,EAAE,CAAC,EAAE1Y,EAAE,CAAC,EAAE3uC,EAAE,KAAK,CAAC,EAAE2uC,EAAE,CAAC,EAAE0Y,EAAE,CAAC,EAAErnD,EAAE,IAAQ,CAChFskD,EAAE7kD,CAAC,KAAK,CAAC,IACTooZ,EAAEhoZ,GAAEI,EAAEonD,EAAE1Y,GAAG,GAAG,IAAIk5W,EAAE,IACpB1xY,EAAE,CAAC,EAAEnW,EAAE,CAAC,EAAEqnD,EAAE,SACZ,GAAG,EAAEwgW,EACL1xY,EAAE,CAAC,EAAEnW,EAAE,CAAC,EAAEqnD,EAAE,CAAC,EAAE1Y,EAAE,SACjB,KACA64W,EAAE3nZ,GAAEI,EAAED,EAAE2uC,GAAqEx4B,EAAhE,IAAIqxY,EAAE,CAAC,EAAExnZ,EAAE,CAAC,EAAEqnD,EAAE,IAAI,EAAEmgW,EAAE,CAAC,EAAExnZ,EAAE,CAAC,EAAE2uC,EAAE,CAAC,EAAE0Y,EAAE,KAAK,CAAC,EAAE1Y,EAAE,CAAC,EAAE3uC,EAAE,CAAC,EAAEqnD,EAAE,IAAQ,CAChF/C,EAAEnuC,CAAC,CAAC,MAAM,CAAC,EAAEmuC,EAAEymW,EAAE,CAAC,CAAC,CAC0C,IADzC,IACpBrD,EAAE54X,GAAG,EAAEgoC,EAAE9P,EAAE0gW,EAAE/7K,GAAG87K,EAAE3wV,EAAE,GAAG9lB,EAAEgW,EAAEl4B,EAAE44X,EAAE,EAAE5wV,EAAE,IAAIr9D,EAAEguZ,EAAE//U,EAAE12B,EAAE,GAAG15C,EAAE,EAAEg0Z,EAAEt6W,EAAE,KAAU,CAAC,GAAGv3C,EAAE,CAAC,GAAGiuE,EAAE,CAAC,IACjF3I,EAAE2I,EAAE,GAAGnoB,EAAEmoB,EAAE,GAAGt1B,EAAE34C,EAAE,GAAG09C,EAAE19C,EAAE,GAAG+V,EAAE3P,GAAEI,EAAEk3C,EAAEoI,GAAG,GAAG,IAAI/vC,EAAE,CAChD/V,EAAE24C,EAAEs1B,EAAE3I,EAAEznE,EAAE,CAAC,EAAE6/C,EAAE7/C,GAAG,QAAQ,CAAC,GAAG,GAAGkY,EAAE,CACnCk4D,EAAE3I,EAAEznE,EAAE,CAAC,EAAEioD,EAAEjoD,GAAG,QAAQ,CACtBmC,EAAE24C,EAAE96C,EAAE,CAAC,EAAE6/C,EAAE7/C,GAAG,QAAQ,CAAC,IACvB85C,EAAEk0U,GAAG7rX,EAAEnC,EAAE,MAET85C,EAAEk0U,GAAG59S,EAAEpwE,GAAG,MAAM,CAAC,EAAE85C,EAAEk6W,EAAE,CAAC,EAAEtkW,EAAE,SAASl4B,EAAE68M,GAAG,GAAG,IAAI78M,GAAG,GAAG68M,EAAE,CAAC,IAC1D3kL,EAAE2kL,EAAE,GAAG,GAAG3kL,EAAE,CAAC,IACbtnD,EAAEsnD,EAAE,GAAGnP,EAAE8zL,EAAE,GAAGo8K,EAAE/gW,EAAE,GAAGv3C,EAAE5P,GAAEI,EAAE43C,EAAEn4C,GAAoD,MAAM,CAAC,EAAtD,IAAI+P,EAAE,CAAC,EAAEooC,EAAE,GAAG,GAAGpoC,EAAE,CAAC,EAAE/P,EAAE,CAAC,EAAEm4C,EAAE,IAAI,CAAC,EAAEA,EAAE,CAAC,EAAEn4C,EAAE,IAAeqoZ,EAAE,CAAC,OAC/F,GAAG,IAAIj5X,GAAG68M,EAAE,CAAC,IACbl0K,EAAEk0K,EAAE,GAAG,GAAGl0K,EAAE,CAAC,IACbr+D,EAAEq+D,EAAE,GAAG,GAAGr+D,EAAE,CAAC,IACbu1C,EAAEv1C,EAAE,GAAG4G,EAAEy3D,EAAE,GAAGpQ,EAAEskL,EAAE,GAAGo/K,EAAE3xZ,EAAE,GAAGo9C,EAAE32C,GAAEI,EAAEonD,EAAErnD,GAAG,GAAG,IAAIw2C,EAAE,IAChDa,EAAEx3C,GAAEI,EAAED,EAAE2uC,GAAoDotG,EAA/C,IAAI1kG,EAAE,CAAC,EAAEr3C,EAAE,GAAG,GAAGq3C,EAAE,CAAC,EAAE1I,EAAE,CAAC,EAAE3uC,EAAE,IAAI,CAAC,EAAEA,EAAE,CAAC,EAAE2uC,EAAE,SACxD,GAAG,GAAG6H,EAAE,CAAC,IACT9F,EAAE7wC,GAAEI,EAAEonD,EAAE1Y,GAAG,GAAG,IAAI+B,EAAE,IACpB4T,EAAE,CAAC,EAAEtkD,EAAE,CAAC,EAAEqnD,EAAE,SACZ,GAAG,GAAG3W,EAAE,KACRE,EAAE/wC,GAAEI,EAAED,EAAE2uC,GAAsE2V,EAAjE,IAAI1T,EAAE,CAAC,EAAE5wC,EAAE,CAAC,EAAEqnD,EAAE,IAAI,GAAGzW,EAAE,CAAC,EAAEjC,EAAE,CAAC,EAAE3uC,EAAE,CAAC,EAAEqnD,EAAE,KAAK,CAAC,EAAErnD,EAAE,CAAC,EAAE2uC,EAAE,CAAC,EAAE0Y,EAAE,IAAQ,MAEjF/C,EAAE,CAAC,EAAEtkD,EAAE,CAAC,EAAEqnD,EAAE,CAAC,EAAE1Y,EAAE,KACjBotG,EAAEz3F,CAAC,KAAK,CAAC,IACTujW,EAAEhoZ,GAAEI,EAAED,EAAE2uC,GAAG,GAAG,IAAIk5W,EAAE,IACpBpoZ,EAAE,CAAC,EAAE4nD,EAAE,CAAC,EAAErnD,EAAE,SACZ,GAAG,GAAG6nZ,EAAE,KACRL,EAAE3nZ,GAAEI,EAAEonD,EAAE1Y,GAAsElvC,EAAjE,IAAI+nZ,EAAE,CAAC,EAAEngW,EAAE,CAAC,EAAErnD,EAAE,IAAI,GAAGwnZ,EAAE,CAAC,EAAE74W,EAAE,CAAC,EAAE0Y,EAAE,CAAC,EAAErnD,EAAE,KAAK,CAAC,EAAEqnD,EAAE,CAAC,EAAE1Y,EAAE,CAAC,EAAE3uC,EAAE,IAAQ,MAEjFP,EAAE,CAAC,EAAE4nD,EAAE,CAAC,EAAErnD,EAAE,CAAC,EAAE2uC,EAAE,KACjBotG,EAAEt8I,CAAC,CAAC,MAAM,CAAC,EAAEs8I,EAAEgvQ,EAAE,CAAC,CAAC,CAC0C,IADzC,IACpBrD,EAAE54X,GAAG,EAAEgoC,EAAEtnD,EAAEk4Y,EAAE/7K,GAAG87K,EAAE3wV,EAAE,GAAG9lB,EAAExhC,EAAEsf,EAAE44X,EAAE,EAAE5wV,EAAE,IAAIr9D,EAAEguZ,EAAE//U,EAAE12B,EAAE,GAAG15C,EAAE,EAAEg0Z,EAAEt6W,EAAE,KAAU,CAAC,GAAGv3C,EAAE,CAAC,GAAGiuE,EAAE,CAAC,IACjFvxD,EAAEuxD,EAAE,GAAG3I,EAAE2I,EAAE,GAAGnoB,EAAE9lD,EAAE,GAAG09C,EAAE19C,EAAE,GAAG24C,EAAEvyC,GAAEI,EAAEk3C,EAAE4nB,GAAG,GAAG,IAAI3sB,EAAE,CAChD34C,EAAE8lD,EAAEmoB,EAAEvxD,EAAE7e,EAAE,CAAC,EAAE6/C,EAAE7/C,GAAG,QAAQ,CAAC,GAAG,EAAE86C,EAAE,CAClC34C,EAAE8lD,EAAEjoD,EAAE,CAAC,EAAE6/C,EAAE7/C,GAAG,QAAQ,CACtBowE,EAAEvxD,EAAE7e,EAAE,CAAC,EAAEynE,EAAEznE,GAAG,QAAQ,CAAC,IACvB85C,EAAEk0U,GAAG7rX,EAAEnC,EAAE,MAET85C,EAAEk0U,GAAG59S,EAAEpwE,GAAG,MAAM,CAAC,EAAE85C,EAAEk6W,EAAE,CAAC,EAAEvvQ,EAAEk+T,GAAGtra,GAAGx4B,EAAE,GAAG4lI,EAAE/0F,EAAE+0F,EAAEptG,GAAG,GAAGA,EAAE7f,EAAE,SAAS7uB,EAAED,GAAG,KAAK,EAAEC,IAAI,GAAG,OAAOA,GAAG,KAC7F,EAAE,MAAM,CAAC,EAAE,EAAED,GAAG,KAChB,EAAE,GAAGA,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,EAAEA,EAAE,GAAG,EAAE,GAAGA,EAAE,IAAI,MAAM,KAC3C,EAAE,GAAGA,EAAE,CAAC,IACRqnD,EAAErnD,EAAE,GAAG,GAAGqnD,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAErnD,EAAE,GAAG,EAAE,GAAGqnD,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,CAAC,MAAM,QAAQ,GAAGrnD,EAAE,CAAC,IAC3EH,EAAEG,EAAE,GAAG,GAAGH,EAAE,CAAC,IACb8rO,EAAE9rO,EAAE,GAAG,GAAG8rO,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE3rO,EAAE,GAAG,EAAE,GAAGH,EAAE,GAAG,CAAC,EAAE,EAAE8rO,EAAE,GAAG,EAAE,GAAG,GAAGA,EAAE,GAAG,CAAC,EAAE,IACtEjkK,EAAEznE,EAAE,EAAE,EAAExG,EAAEq1B,EAAE44C,EAAE1nE,GAAG2uC,EAAEl1C,EAAE,GAAG09C,EAAE19C,EAAE,GAAG,GAAGk1C,EAAE,CAAC,IACrCqY,EAAErY,EAAE,GAAGkJ,EAAE/oB,GAAG7uB,EAAEynE,EAAE,GAAG,EAAE,EAAE/4B,EAAE,IAAIjvC,EAAEm4C,EAAE,GAAG,MAAM,CAAC,EAAEvgD,EAAE6/C,EAAE6P,EAAEnP,EAAE,IAAIn4C,EAAE,CAAC,KAAK,CAAC,EAAED,GAAE29vB,GAAG,EAAE,OAAOtuuB,EAAEmrb,GAAG9jc,GAAGA,GAAG,EAAE,CACxF,OAAOnW,EAAZ5G,EAAE,GAAc4G,EAAEskD,EAAEtkD,EAAEy3D,EAAEz3D,EAAEvG,EAAEiuE,EAAEikK,MAAM,CAAC,OAAO3rO,EAAEskD,EAAEtkD,EAAEy3D,EAAEz3D,EAAEvG,EAAEiuE,EAAEikK,KAAK,CAAC,OAAO3rO,EAAEy3D,EAAEz3D,EAAEvG,EAAEiuE,EAAEikK,IAAI,CAAC,OAAO3rO,EAAEvG,EAAEiuE,EAAEikK,GAAG,CAAC,OAAOjkK,EAAEikK,EAAE,CAAC,OAnNnH,CAmN2H,EAaI,SAAS78M,EAAEr1B,GACpI,IADuI,IAC/IuG,EAAEvG,EAAEwG,EAAE,IAAS,CAAC,GAAGD,EAAE,CAAC,IACtB2uC,EAAE3uC,EAAE,GAAG1I,EAAE0I,EAAE,GAAG63C,EAAE73C,EAAE,GAAG2rO,EAAE9rO,GAAEwnD,EAAE,GAAG/vD,EAAEw3B,GAAG,GAAG,IAAI68M,EAAE,CAAC,GAAG,GAAGA,EAAE,CACrD3rO,EAAE63C,EAAE53C,EAAE,CAAC,EAAE3I,EAAEq3C,EAAE1uC,GAAG,QAAQ,CACxBD,EAAE2uC,EAAE,QAAQ,CAAC,IACb+4B,EAAE,CAAC,EAAEpwE,EAAEq3C,EAAE1uC,EAAE,MAEXynE,EAAEznE,EAAE,OAAO,SAASD,GAAG,OAAOw2C,EAAEkxB,EAAI,CAAC,CAAC,EAhBgC,SACnE1nE,GAAG,IACNC,EAAEk3C,EAAEn3C,EAAE,GAAG,OAAO,SAASA,GAAG,OAAOw2C,EAAEv2C,EAAI,CAAC,EAK4B,SACnED,GAAG,IACNC,EAAEqxC,EAAEtxC,EAAE,GAAG,OAAO,SAASA,GAAG,OAAOuvC,EAAEtvC,EAAI,CAAC,EAOIiyc,EAnBK,SAChDlyc,GAAG,OAAOkyc,EAAElyc,EArNb,EAqNiB,EAkBgC,CAAC,SACpDs+rB,GAAG3yd,GAAG,SACNjkK,EAAE1nE,GAAG,OAAOA,EAAEA,EAAE,GAAG,CAAC,CAAC,SACrBqnD,EAAEpnD,EAAEJ,EAAEvI,EAAE0I,GAAG,IACX2uC,EAAE+4B,EAAEznE,GAAGonD,EAAEqgB,EAAE1nE,GAAsB,MAAM,CAAC,EAAEC,EAAEJ,EAAEvI,EAAE0I,EAAhCqnD,GAAG1Y,EAAEA,EAAE,EAAE,EAAE0Y,EAAE,EAAE,EAAqB,CAAC,SACrD00F,EAAE97I,EAAED,GAAG,MAAM,CAAC,EAAE,EAAEC,EAAED,EAAE,EAAE,EAAE,CAAC,SAC3BA,EAAEC,EAAE0rO,EAAE9rO,EAAEG,GAAG,IACXvG,EAAEwG,EAAEA,EAAE,GAAG,EAAE6uB,EAAE9uB,EAAEA,EAAE,GAAG,EAAE,IAAI8uB,EAAE,EAAE,GAAGr1B,EAAE,CAAC,GAAGwG,EAAE,CAAC,IAC1C0uC,EAAE1uC,EAAE,GAAG+mD,EAAE/mD,EAAE,GAAGP,EAAEO,EAAE,GAAG43C,EAAE53C,EAAE,GAAU,GAALynE,EAAE/4B,IAAS+4B,EAAE7vB,GAAG,OAAOwP,EAAExP,EAAEn4C,EAAEsnD,EAAEK,EAAE1Y,EAAEg9L,EAAE9rO,EAAEG,IAAI,GAAG2uC,EAAE,CAAC,IAC/E2V,EAAE3V,EAAE,GAAGlvC,EAAEkvC,EAAE,GAAGx4B,EAAEw4B,EAAE,GAAGowB,EAAE1X,EAAE1Y,EAAE,GAAGg9L,EAAE9rO,EAAEG,GAAG,OAAOqnD,EAAEA,EAAExP,EAAEn4C,EAAEsnD,EAAE7wC,GAAG1W,EAAE6kD,EAAEya,EAAE,CAAC,OAAOyoV,GAAEk2W,GAAG,CAAC,OAAOl2W,GAAEm2W,GAAG,CAAC,IAAIlkwB,EAAE,EAAE,GAAGq1B,EAAE,CAAC,GAAG9uB,EAAE,CAAC,IAC9Gm3C,EAAEn3C,EAAE,GAAGy3D,EAAEz3D,EAAE,GAAG5G,EAAE4G,EAAE,GAAG1I,EAAE0I,EAAE,GAAU,GAAL0nE,EAAEpwE,IAASowE,EAAEvwB,GAAG,OAAOkQ,EAAEA,EAAEpnD,EAAE0rO,EAAE9rO,EAAEvI,GAAG8B,EAAEq+D,EAAEtgB,GAAG,GAAG7/C,EAAE,CAAC,IAC/E86C,EAAE96C,EAAE,GAAGkY,EAAElY,EAAE,GAAGmY,EAAEnY,EAAE,GAAGowZ,EAAErgW,EAAE/vD,EAAE,GAAG8B,EAAEq+D,EAAEtgB,GAAG,OAAOkQ,EAAEA,EAAEpnD,EAAE0rO,EAAE9rO,EAAE4P,GAAGD,EAAE4iC,EAAEs1W,EAAE,CAAC,OAAOF,GAAEo2W,GAAG,CAAC,OAAOp2W,GAAEq2W,GAAG,CACtE,MAAM,CAAC,EAAE59vB,EAAE0rO,EAAE9rO,EAAEG,EAAhC8uB,GAAGr1B,EAAEA,EAAE,EAAE,EAAEq1B,EAAE,EAAE,EAAqB,CAEpB,SAClBk4B,EAAEK,EAAE1Y,EAAE1uC,GAAG,GAAGA,EAAE,CAAC,IACf3I,EAAE2I,EAAE,GAAGxG,EAAEwG,EAAE,GAAG6uB,EAAE7uB,EAAE,GAAGynE,EAAEznE,EAAE,GAAGw3D,EAAEx3D,EAAE,GAAG43C,EAAEh4C,GAAE8rO,EAAE,GAAGtkL,EAAEv4B,GAAG,GAAG,IAAI+oB,EAAE,OAAOp+C,IAAIk1C,EAAE1uC,EAAE,CAAC,EAAEynE,EAAErgB,EAAE1Y,EAAEr3C,EAAEmgE,GAAG,GAAG,GAAG5f,EAAE,CAAC,IAChGV,EAAE6P,EAAEK,EAAE1Y,EAAEr3C,GAAG,OAAOA,IAAI6/C,EAAEl3C,EAAED,EAAE0nE,EAAE54C,EAAEr1B,EAAE09C,EAAE,CAAC,IACrCz3C,EAAEsnD,EAAEK,EAAE1Y,EAAE+4B,GAAG,OAAOA,IAAIhoE,EAAEO,EAAED,EAAEN,EAAEovB,EAAEr1B,EAAEnC,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE+vD,EAAE1Y,EAAE,EAAE,EAAE,CA4CtB,SAClCjvC,EAAEivC,GACE,IADC,IACL3uC,EAAE2uC,IAAS,CAAC,GAAG3uC,EAAE,CAAC,IAClBC,EAAED,EAAE,GAAG,GAAGC,EAAE,CACZD,EAAEC,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAED,EAAE,GAAGA,EAAE,GAAG,CAAC,MAAM5G,EAAC,CAAC,CAAC,SAC1Co9C,EAAE7H,GACE,IADC,IACL3uC,EAAE2uC,IAAS,CAAC,GAAG3uC,EAAE,CAAC,IAClBC,EAAED,EAAE,GAAG,GAAGC,EAAE,CACZD,EAAEC,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAED,EAAE,GAAGA,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAMI,SAClDskD,EAAErkD,GAAG,GAAGA,EAAE,CAAC,IACX0uC,EAAE1uC,EAAE,GAAG,GAAG0uC,EAAE,CAAC,IACb0Y,EAAEpnD,EAAE,GAAG3I,EAAE2I,EAAE,GAAGJ,EAAEI,EAAE,GAAG,OAAOD,EAAEskD,EAAE3V,GAAG9uC,EAAEvI,EAAE+vD,EAAE,CAAC,OAAOpnD,EAAE,EAAE,CAAC,OAAOunZ,GAAEi2W,GAAG,CAAC,SACnEpmtB,EAAE1I,EAAE1uC,GAAG,GAAG0uC,EAAE,CAAC,GAAG1uC,EAAE,CAAC,IACnBonD,EAAE3nD,EAAEO,GAAG3I,EAAE+vD,EAAE,GAAU,OAAOrnD,EAAE2uC,EAAd0Y,EAAE,GAAgB/vD,EAAEgtD,EAAErkD,GAAG,CAAC,OAAO0uC,CAAC,CAAC,OAAO1uC,CAAC,CAqCpC,SACvBy9E,EAAEr2B,EAAE1Y,EAAE1uC,GAAG,GAAGA,EAAE,CAAC,IACf3I,EAAE2I,EAAE,GAAGJ,EAAEI,EAAE,GAAG0rO,EAAE1rO,EAAE,GAAG,OAAOD,EAAE09E,EAAEr2B,EAAE1Y,EAAE1uC,EAAE,IAAI0rO,EAAE9rO,EAAEvI,EAAE,CAAC,OAAOykJ,EAAE10F,EAAE1Y,EAAE,CAAC,SAC/D84W,EAAEpgW,EAAE1Y,EAAE1uC,GAAG,GAAGA,EAAE,CAAC,IACf3I,EAAE2I,EAAE,GAAGJ,EAAEI,EAAE,GAAU,OAAOD,EAAZC,EAAE,GAAcJ,EAAEvI,EAAEmwZ,EAAEpgW,EAAE1Y,EAAE1uC,EAAE,IAAI,CAAC,OAAO87I,EAAE10F,EAAE1Y,EAAE,CAAC,SAC/DA,EAAEr3C,EAAEq0O,EAAE9rO,EAAEI,GAAG,GAAG3I,EAAE,CAAC,GAAG2I,EAAE,CAAC,IACvBynE,EAAEznE,EAAE,GAAGxG,EAAEnC,EAAE,GAAGw3B,EAAE7uB,EAAE,GAAG43C,EAAE53C,EAAE,GAAGk3C,EAAEl3C,EAAE,GAAG+mD,EAAE/mD,EAAE,GAAGP,EAAEpI,EAAE,GAAGmgE,EAAEngE,EAAE,GAAG8B,EAAE9B,EAAE,GAAGykJ,EAAEzkJ,EAAE,GAAG,OAAOowE,EAAE,EAAE,GAAGjuE,EAAEuG,EAAE+7I,EAAE3iJ,EAAEq+D,EAAE9oB,EAAEjvC,EAAEisO,EAAE9rO,EAAEI,KAAKxG,EAAE,EAAE,GAAGiuE,EAAE1nE,EAAE2uC,EAAEr3C,EAAEq0O,EAAE9rO,EAAEmnD,GAAG7P,EAAEU,EAAE/oB,GAAGu4B,EAAE/vD,EAAEq0O,EAAE9rO,EAAEI,EAAE,CAAC,OAAOwnZ,EAAE97K,EAAE9rO,EAAEvI,EAAE,CAAC,OAAOomF,EAAEiuJ,EAAE9rO,EAAEI,EAAE,CAAC,SACnL6uB,EAAE7uB,EAAED,GAAG,GAAGC,EAAE,CAAC,GAAGD,EAAE,CAAC,IACnBqnD,EAAE3nD,EAAEM,GAAG1I,EAAE+vD,EAAE,GAAU,OAAO1Y,EAAE1uC,EAAdonD,EAAE,GAAgB/vD,EAAEgtD,EAAEtkD,GAAG,CAAC,OAAOC,CAAC,CAAC,OAAOD,CAAC,CAAC,SAC5Dy3D,EAAEpQ,EAAE/vD,EAAE2I,EAAED,GAAG,OAAOC,EAAE0uC,EAAE0Y,EAAE/vD,EAAE2I,EAAE,GAAGD,GAAG8uB,EAAEu4B,EAAErnD,EAAE,CAAC,SACzCvG,EAAEwG,EAAED,GAAG,GAAGA,EAAE,CAAC,IACbqnD,EAAErnD,EAAE,GAAG1I,EAAE0I,EAAE,GAAG0nE,EAAE1nE,EAAE,GAAG8uB,EAAE9uB,EAAE,GAAGgnD,EAAEnnD,GAAE8rO,EAAE,GAAG1rO,EAAEynE,GAAG,GAAG,IAAI1gB,EAAE,MAAM,CAAC,EAAEl4B,EAAE,CAAC,EAAEx3B,GAAG+vD,GAAG,GAAG,GAAGL,EAAE,CAAC,IAChFnP,EAAEp+C,EAAEwG,EAAEonD,GAAG3nD,EAAEm4C,EAAE,GAAG4f,EAAE5f,EAAE,GAAG,MAAM,CAAC,EAAElJ,EAAE7f,EAAE44C,EAAEpwE,EAAEugD,EAAE,IAAI4f,EAAE/3D,EAAE,CAAC,IACnDy3C,EAAE19C,EAAEwG,EAAE6uB,GAAG11B,EAAE+9C,EAAE,GAAU,MAAM,CAAC,EAAZA,EAAE,GAAc/9C,EAAEu1C,EAAEwI,EAAE,GAAGuwB,EAAEpwE,EAAE+vD,GAAG,CAAC,OAAOg6Z,EAAE,CAoBlB,SAC1C/pd,EAAE+vD,EAAE1Y,GACI,IADD,IACP3uC,EAAEqnD,EAAEpnD,EAAE0uC,IAAS,CAAC,IAAG3uC,EACwB,OAAOC,EAD5B,IACtB3I,EAAE,CAAC,EAAE0I,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGC,GAAGD,EAAEA,EAAE,GAAGC,EAAE3I,CAAmB,CAAC,CAeL,SAC/Cg0Z,EAAEjkW,EAAE1Y,GACI,IADD,IACP1uC,EAAEonD,EAAErnD,EAAE2uC,IAAS,CAAC,IAAG3uC,EACuC,OAAOC,EAD3C,IACtB3I,EAAE0I,EAAE,GAAGH,EAAEG,EAAE,GAAG2rO,EAAE3rO,EAAE,GAAGC,EAAE,CAAC,EAAE,CAAC,EAAEJ,EAAEvI,GAAGg0Z,EAAErrZ,EAAED,EAAE,KAAKA,EAAE2rO,CAAmB,CAAC,CAC/C,SACpBo/K,EAAE9qZ,EAAED,GAAG,OAAO+6wB,GAAG,SAAS96wB,EAAED,GAAG,OAAOgnD,EAAEhnD,EAAE,GAAGA,EAAE,GAAGC,EAAE,EAAED,EAAEC,EAAE,CACtC,SACpB+wC,EAAEhxC,EAAEH,GAAG,GAAGG,EAAE,CAAC,IACbC,EAAED,EAAE,GAAG2uC,EAAE3uC,EAAE,GAAGqnD,EAAE/vD,EAAE0I,EAAE,GAAGA,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE2uC,EAAE1uC,GAAG,SAASD,GAAG,OAAOgxC,EAAEqW,EAAErnD,EAAE,EAAE,CAAC,OAAO,CAAC,CAEvC,SAC3CguC,EAAEqZ,EAAE1Y,GACI,IADD,IACP3uC,EAAEqnD,EAAEpnD,EAAE0uC,IAAS,CAAC,IAAG3uC,EACwB,OAAOC,EAD5B,IACtB3I,EAAE,CAAC,EAAE0I,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGC,GAAGD,EAAEA,EAAE,GAAGC,EAAE3I,CAAmB,CAAC,CAAC,SACrDq4C,EAAE3vC,EAAE1I,GAAG,GAAG0I,EAAE,CAAC,IACbC,EAAED,EAAE,GAAG2uC,EAAE3uC,EAAE,GAAGqnD,EAAErZ,EAAEhuC,EAAE,GAAGA,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE2uC,EAAE1uC,GAAG,SAASD,GAAG,OAAO2vC,EAAE0X,EAAErnD,EAAE,EAAE,CAAC,OAAO,CAAC,CAEvC,MAAM,CAAC,EA7KhD,EAAE,SACFA,GAAG,OAAOA,EAAE,EAAE,CAAC,EA4CiB,SAChC1I,EAAE+vD,GACA,IADG,IACPrnD,EAAEqnD,IAAS,CAAC,IAAGrnD,EAES,OAAO,EAFb,IAClB0nE,EAAE1nE,EAAE,GAAGvG,EAAEuG,EAAE,GAAGC,EAAEJ,GAAE8rO,EAAE,GAAGr0O,EAAE0I,EAAE,IAAI2uC,EAAE,IAAI1uC,EAAE,EAAE,EAAE,GAAG0uC,EAAE,OAAOA,EAC5C3uC,EAAT,GAAGC,EAAEynE,EAAEjuE,CAAuB,CAAC,EA4HyButD,EArGd,SAC5C+X,EAAE1X,EAAE5tD,EAAEk1C,GAAG,GAAGA,EAAE,CAAC,IACfr3C,EAAEq3C,EAAE,GAAG7f,EAAE6f,EAAE,GAAGkJ,EAAElJ,EAAE,GAAG+4B,EAAE/4B,EAAE,GAAG2V,EAAE3V,EAAE,GAAGwI,EAAEt3C,GAAE8rO,EAAE,GAAGtkL,EAAExP,GAAG,GAAG,IAAIV,EAAE,CAAC,IAC3D6P,EAAE/mD,GAAExG,EAAE,CAAC,EAAEq1B,IAAI,GAAGk4B,EAAE,CAAC,IACnBtnD,EAAEsnD,EAAE,GAAG,OAAOl4B,IAAIpvB,EAAEivC,EAAE,CAAC,EAAE+4B,EAAErgB,EAAE3nD,EAAEpI,EAAEgtD,EAAE,CAAC,OAAOjN,EAAEqwB,EAAEpwE,EAAE,CAAC,GAAG,GAAG6/C,EAAE,CAAC,IAC3DsgB,EAAEsH,EAAE1X,EAAE5tD,EAAEnC,GAAG,OAAOA,IAAImgE,EAAE9oB,EAAE3uC,EAAE0nE,EAAE7vB,EAAE/oB,EAAE2oC,EAAE,CAAC,IACrCr+D,EAAE2lE,EAAE1X,EAAE5tD,EAAEiuE,GAAG,OAAOA,IAAItuE,EAAEu1C,EAAE3uC,EAAE5G,EAAEy+C,EAAE/oB,EAAEx3B,EAAE,CAAC,IACrCykJ,EAAE97I,GAAExG,EAAE,GAAG,OAAOsiJ,EAAE,CAAC,EAAE,EAAE10F,EAAE00F,EAAE,GAAG,EAAE,GAAG,CAAC,EA8F0BA,EAzGF,SAC5D5lI,EAAE7e,EAAE2I,GAAG,GAAGA,EAAE,CAAC,IACb0uC,EAAE1uC,EAAE,GAAGxG,EAAEwG,EAAE,GAAGynE,EAAEznE,EAAE,GAAGonD,EAAEpnD,EAAE,GAAG6uB,EAAEjvB,GAAE8rO,EAAE,GAAGr0O,EAAEowE,GAAG,GAAG,IAAI54C,EAAE,OAAOuoB,EAAEgQ,EAAE1Y,GAAG,GAAG,GAAG7f,EAAE,CAAC,IAC1E+oB,EAAE1hC,EAAE7e,EAAEq3C,GAAG,OAAOA,IAAIkJ,EAAE53C,EAAED,EAAEqnD,EAAEqgB,EAAEjuE,EAAEo+C,EAAE,CAAC,IACnCV,EAAEhhC,EAAE7e,EAAE+vD,GAAG,OAAOA,IAAIlQ,EAAEl3C,EAAED,EAAEm3C,EAAEuwB,EAAEjuE,EAAEk1C,EAAE,CAAC,OAAO,CAAC,EA8CkB,SAC7DkJ,EAAElJ,EAAE1uC,EAAED,GAAG,GAAGC,EAAE,CAAC,IACfonD,EAAEpnD,EAAE,GAAG6uB,EAAE7uB,EAAE,GAAGk3C,EAAEl3C,EAAE,GAAG+mD,EAAE/mD,EAAE,GAAGP,EAAEO,EAAE,GAAG,GAAGynE,EAAE1nE,IAAI8uB,EAAE,CAAC,IAC/Cx3B,EAAEmC,EAAE4tD,EAAErnD,GAAG5G,EAAE9B,EAAE,GAAGykJ,EAAEzkJ,EAAE,GAAGgtD,EAAEzM,EAAElJ,EAAEwI,EAAE7/C,EAAE,IAAI6e,EAAEolvB,GAAG5stB,EAAE0Y,EAAE,CAAC,EAAEL,GAAG5tD,GAAG,OAAOq+D,EAAE5f,EAAElJ,EAAEjvC,EAAEq8I,GAAG10F,EAAElxC,EAAEmuC,EAAE,CAAC,MAChF,IAAItkD,EAAE,OAAO,EAAE,GAAGA,EAAE,CAAC,IACrBH,EAAEG,EAAE,GAAG++D,EAAE/+D,EAAE,GAAGu/C,EAAEv/C,EAAE,GAAGoyC,EAAEpyC,EAAE,GAAG2rO,EAAElyO,EAAEoG,EAAEI,GAAGuP,EAAEm8N,EAAE,GAAGl8N,EAAEk8N,EAAE,GAAG+7K,EAAE7vW,EAAElJ,EAAEg9L,EAAE,GAAG5sK,GAAGjI,EAAEyksB,GAAG5stB,EAAE9uC,EAAE2P,EAAE,CAAC,EAAE+vC,IAAI,OAAOkY,EAAE5f,EAAElJ,EAAEl/B,EAAE2iC,GAAGvyC,EAAEi3D,EAAE4wV,EAAE,CAAC,KAAK,CAAC,EAAEjoZ,GAAEqlc,GAAG,EAAC,SAC1H3tZ,EAAEkQ,EAAEpnD,EAAED,GAAG,GAAGC,EAAE,CAAC,GAAGD,EAAE,CAAC,IACrB8uB,EAAE9uB,EAAE,GAAG1I,EAAE0I,EAAE,GAAG63C,EAAE53C,EAAE,GAAGJ,EAAEI,EAAE,GAAG8+D,EAAE/+D,EAAE,GAAGu/C,EAAEv/C,EAAE,GAAGoyC,EAAEnyC,EAAE,GAAGuP,EAAEvP,EAAE,GAAG,GAAGD,EAAE,IAAIC,EAAE,GAAG,CAAC,IACvE0rO,EAAElyO,EAAEoG,EAAEG,GAAGgnD,EAAE2kL,EAAE,GAAGl8N,EAAEk8N,EAAE,GAAGjsO,EAAEy3C,EAAEkQ,EAAE73C,EAAEm8N,EAAE,IAAIvyO,EAAE+9C,EAAEkQ,EAAEjV,EAAE3iC,GAAG,OAAOu3C,EAAEyQ,EAAE/3D,EAAEG,EAAE07vB,GAAGl0sB,EAAExnD,EAAEg4C,EAAEmP,EAAE,IAAI5tD,GAAGu1C,EAAEjvC,EAAEG,EAAEg4C,EAAEz+C,EAAE,CAAC,IAC5FsuE,EAAEjuE,EAAEnC,EAAE2I,GAAG87I,EAAEr0E,EAAE,GAAGggV,EAAEhgV,EAAE,GAAGpjB,EAAEnN,EAAEkQ,EAAEqgB,EAAE,GAAGnoB,GAAG9/C,EAAE03C,EAAEkQ,EAAEqgW,EAAE3oV,GAAG,OAAOg9E,EAAEtkF,EAAEnT,EAAEhtD,EAAEikwB,GAAGl0sB,EAAE/vD,EAAEykJ,EAAE,GAAGjtH,GAAGrvB,GAAGkvC,EAAE2V,EAAEhtD,EAAEw3B,EAAErvB,EAAE,CAAC,IAC5F0W,EAAElW,CAAC,MAEHkW,EAAEnW,EAAE,OAAOmW,CAAC,EAWyC,SACnD2Y,EAAEr1B,EAAEiuE,GACgB,IADb,IACTpjB,EAAEhtD,EAAEowE,EAAE,GAAGznE,EAAE3I,EAAEmC,EAAE,GAAGuG,EAAEskD,IAAS,CAAC,GAAGrkD,EAAE,CAAC,GAAGD,EAAE,CAAC,IAC1C63C,EAAE73C,EAAE,GAAGm3C,EAAEn3C,EAAE,GAAGgnD,EAAEhnD,EAAE,GAAGN,EAAEO,EAAE,GAAGw3D,EAAEx3D,EAAE,GAAG7G,EAAE6G,EAAE,GAAG0uC,EAAE9uC,GAAE8rO,EAAE,GAAG1rO,EAAE,GAAGD,EAAE,IAAI,GAAG,IAAI2uC,EAAE,CAAC,IACxE0Y,EAAExnD,GAAEivB,EAAE11B,EAAE4tD,GAAG,GAAG,IAAIK,EAAE,CAAC,IACrB00F,EAAEzkJ,EAAE6/C,EAAEU,GAAG53C,EAAE3I,EAAEmgE,EAAE/3D,GAAGM,EAAE+7I,EAAE,QAAQ,CAAC,OAAO10F,CAAC,CAAC,OAAO1Y,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO3uC,GAAG,EAAE,CAAC,CAAC,EAAC,SACvE63C,EAAE/oB,EAAEr1B,GACgB,IADb,IACTgG,EAAEnI,EAAEmC,EAAE,GAAGwG,EAAE3I,EAAEw3B,EAAE,GAAG9uB,EAAEP,IAAS,CAAC,GAAGQ,EAAE,CAAC,GAAGD,EAAE,CAAC,IAC1Cm3C,EAAEn3C,EAAE,GAAGgnD,EAAEhnD,EAAE,GAAGN,EAAEM,EAAE,GAAGy3D,EAAEx3D,EAAE,GAAG7G,EAAE6G,EAAE,GAAG87I,EAAE97I,EAAE,GAAG0uC,EAAE,IAAI9uC,GAAE8rO,EAAE,GAAG1rO,EAAE,GAAGD,EAAE,IAAI,EAAE,EAAE,GAAG2uC,EAAE,CAAC,IAC5E0Y,EAAExnD,GAAEg4C,EAAEkkG,EAAEr8I,GAAG,GAAG2nD,EAAE,CAAC,IACjB/C,EAAEhtD,EAAE0vD,EAAE7P,GAAGl3C,EAAE3I,EAAE8B,EAAEq+D,GAAGz3D,EAAEskD,EAAE,QAAQ,CAAC,IAC/BojB,EAAErgB,CAAC,MAEHqgB,EAAE/4B,EAAE,OAAO+4B,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO1nE,EAAE,EAAE,CAAC,CAAC,EA3EE,SACrC0wC,EAAEzwC,EAAE0uC,GACA,IADG,IACP3uC,EAAE2uC,IAAS,CAAC,IAAG3uC,EAEF,OAAO,EAFF,IAClBqnD,EAAErnD,EAAE,GAAG1I,EAAE0I,EAAE,GAAG2rO,EAAE3rO,EAAE,GAAG0wC,EAAEzwC,EAAED,EAAE,IAAIH,GAAEI,EAAE0rO,EAAEr0O,GACrC0I,EAAEqnD,CAAmB,CAAC,EAI+D,SACrFzW,EAAEjC,EAAEr3C,EAAE+vD,GACE,IADC,IACTrnD,EAAE1I,EAAE2I,EAAEonD,IAAS,CAAC,IAAGrnD,EAC2C,OAAOC,EAD/C,IACtBJ,EAAEG,EAAE,GAAG2rO,EAAE3rO,EAAE,GAAUvG,EAAE8hwB,GAAG5stB,EAAV3uC,EAAE,GAAY2rO,EAAE/6L,EAAEjC,EAAE3uC,EAAE,GAAGC,IAAID,EAAEH,EAAEI,EAAExG,CAAmB,CAAC,EAAC,SACxEouZ,EAAE5nZ,EAAE0rO,GACA,IADG,IACP3rO,EAAE2rO,IAAS,CAAC,GAAG3rO,EAAE,CAAC,IAClB0nE,EAAE1nE,EAAE,GAAGvG,EAAEuG,EAAE,GAAG2uC,EAAE9uC,GAAEI,EAAED,EAAE,GAAGA,EAAE,IAAI,GAAG2uC,EAAE,CAAC,IACrC0Y,EAAEwgW,EAAE5nZ,EAAExG,GAAG,GAAG4tD,EAAE,CACdrnD,EAAE0nE,EAAE,QAAQ,CAAC,IACbpwE,EAAE+vD,CAAC,MAEH/vD,EAAEq3C,EAAE,OAAOr3C,CAAC,CAAC,OAAO,CAAC,CAAC,EAAC,SACvBywZ,EAAE9nZ,EAAE0rO,GACA,IADG,IACP3rO,EAAE2rO,IAAS,CAAC,GAAG3rO,EAAE,CAAC,IAClB0nE,EAAE1nE,EAAE,GAAGvG,EAAEuG,EAAE,GAAG2uC,EAAE9uC,GAAEI,EAAED,EAAE,GAAGA,EAAE,IAAI,GAAG2uC,EAAE,IACpC0Y,EAAE1Y,MAAM,CAAC,IACTr3C,EAAEywZ,EAAE9nZ,EAAExG,GAAG,IAAInC,EAAE,CACf0I,EAAE0nE,EAAE,QAAQ,CACZrgB,EAAE/vD,CAAC,CAAC,OAAO+vD,CAAC,CAAC,OAAO,CAAC,CAAC,EAyBT,SACb73C,EAAEvP,EAAED,GAAG,GAAGA,EAAE,CAAC,IACb2rO,EAAE3rO,EAAE,GAAG0nE,EAAE1nE,EAAE,GAAGvG,EAAEuG,EAAE,GAAG63C,EAAE73C,EAAE,GAAGqnD,EAAE73C,EAAEvP,EAAE43C,GAAGV,EAAEt3C,GAAEI,EAAExG,EAAEiuE,GAAGpwE,EAAEkY,EAAEvP,EAAE0rO,GAAG,OAAGx0L,EAAMU,IAAIwP,GAAGskL,IAAIr0O,EAAS0I,EAAS2uC,EAAE0Y,EAAE5tD,EAAEiuE,EAAEpwE,GAAUw3B,EAAEu4B,EAAE/vD,EAAE,CAAC,OAAO,CAAC,EAAC,SACjImY,EAAExP,EAAED,GAAG,GAAGA,EAAE,CAAC,IACbqnD,EAAErnD,EAAE,GAAGvG,EAAEuG,EAAE,GAAG63C,EAAE73C,EAAE,GAAG1I,EAAEmY,EAAExP,EAAED,EAAE,IAAI2rO,EAAE9rO,GAAEI,EAAEonD,EAAExP,GAAG6vB,EAAEj4D,EAAExP,EAAExG,GAAG,OAAOkyO,EAAEh9L,EAAEr3C,EAAE+vD,EAAEskL,EAAE,GAAGjkK,GAAG54C,EAAEx3B,EAAEowE,EAAE,CAAC,OAAO,CAAC,EAAC,SAC5FggV,EAAEznZ,EAAED,GAAG,GAAGA,EAAE,CAAC,IACbqnD,EAAErnD,EAAE,GAAG1I,EAAE0I,EAAE,GAAGN,EAAEM,EAAE,GAAG2rO,EAAE+7K,EAAEznZ,EAAED,EAAE,IAAI0nE,EAAEikK,EAAE,GAAGlyO,EAAEkyO,EAAE,GAAGl0K,EAAE53D,GAAEI,EAAE3I,EAAE+vD,GAAGxP,EAAE6vW,EAAEznZ,EAAEP,GAAGy3C,EAAEU,EAAE,GAAGmP,EAAEnP,EAAE,GAAG,GAAG4f,EAAE,CAAC,IACvFr+D,EAAE01B,EAAE44C,EAAEvwB,GAAG,MAAM,CAAC,EAAExI,EAAEl1C,EAAEnC,EAAE+vD,EAAEL,GAAG5tD,EAAE,CAAC,IAChC2iJ,EAAEptG,EAAE+4B,EAAEpwE,EAAE+vD,EAAElQ,GAAG,MAAM,CAAC,EAAEroB,EAAEr1B,EAAEutD,GAAG+0F,EAAE,CAAC,OAAOu9c,EAAE,EAgBL,SACpCxiiB,EAAE92D,GAAG,GAAGA,EAAE,CAAC,IACXC,EAAED,EAAE,GAAG2uC,EAAEmoB,EAAE92D,EAAE,IAAI,OAAO82D,EAAE72D,GAAG,EAAE,GAAG0uC,EAAE,CAAC,CAAC,OAAO,CAAC,EAGsB,SACjE3uC,GAAG,OAAOsrZ,EAAE,EAAEtrZ,EAAE,EAa0EN,EAAE82C,EApHhD,SAC7Cv2C,GACE,IADC,IACLD,EAAEC,IAAS,CAAC,GAAGD,EAAE,CAAC,GAAGA,EAAE,GAAG,CAC1BA,EAAEA,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAEA,EAAE,GAAGA,EAAE,GAAG,CAAC,MAAM5G,EAAC,CAAC,EAAC,SAC3C6G,GACE,IADC,IACLD,EAAEC,IAAS,CAAC,GAAGD,EAAE,CAAC,GAAGA,EAAE,GAAG,CAC1BA,EAAEA,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAEA,EAAE,GAAGA,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,EA8GoDN,EAAE82C,EAAE/8C,EAxKhD,SACvD4tD,EAAE1Y,GACA,IADG,IACP3uC,EAAE2uC,IAAS,CAAC,IAAG3uC,EAES,MAAM5G,GAFZ,IAClB9B,EAAE0I,EAAE,GAAG0nE,EAAE1nE,EAAE,GAAGvG,EAAEuG,EAAE,GAAGC,EAAEJ,GAAE8rO,EAAE,GAAGtkL,EAAErnD,EAAE,IAAI,GAAG,IAAIC,EAAE,OAAOynE,EAC3C1nE,EAAT,GAAGC,EAAE3I,EAAEmC,CAAsB,CAAC,EAgCT,SACrB4tD,EAAE1Y,GACA,IADG,IACP3uC,EAAE2uC,IAAS,CAAC,IAAG3uC,EAES,OAAO,EAFb,IAClB1I,EAAE0I,EAAE,GAAG0nE,EAAE1nE,EAAE,GAAGvG,EAAEuG,EAAE,GAAGC,EAAEJ,GAAE8rO,EAAE,GAAGtkL,EAAErnD,EAAE,IAAI,GAAG,IAAIC,EAAE,MAAM,CAAC,EAAEynE,GAC7C1nE,EAAT,GAAGC,EAAE3I,EAAEmC,CAAuB,CAAC,EApCA,SAC/BkyO,EAAEx0L,GACA,IADG,IACPxI,EAAEwI,IAAS,CAAC,IAAGxI,EAMF,MAAMv1C,GAND,IAClBsuE,EAAE/4B,EAAE,GAAGqY,EAAErY,EAAE,GAAGjvC,EAAEivC,EAAE,GAAG8oB,EAAE9oB,EAAE,GAAG,GAAG1uC,GAAE0rO,EAAEjkK,GACvB,IAD2B,IACvCpwE,EAAEowE,EAAErgB,EAAE3nD,EAAEM,EAAEy3D,IAAS,CAAC,IAAGz3D,EAGV,MAAM,CAAC,EAAE1I,EAAE+vD,GAHE,IAC1BxnD,EAAEG,EAAE,GAAGvG,EAAEuG,EAAE,GAAG8uB,EAAE9uB,EAAE,GAAG63C,EAAE73C,EAAE,GAAG,GAAGC,GAAE0rO,EAAE9rO,GACnCvI,EAAEuI,EAAEwnD,EAAEv4B,EAAE9uB,EAAE63C,OACV73C,EAAEvG,CAAwB,CAC1Bk1C,EAAEqY,CAAkB,CAAC,EAAC,SACpB2kL,EAAEx0L,GACA,IADG,IACPxI,EAAEwI,IAAS,CAAC,IAAGxI,EAMF,OAAO,EANF,IAClB+4B,EAAE/4B,EAAE,GAAGqY,EAAErY,EAAE,GAAGjvC,EAAEivC,EAAE,GAAG8oB,EAAE9oB,EAAE,GAAG,GAAG1uC,GAAE0rO,EAAEjkK,GACvB,IAD2B,IACvCpwE,EAAEowE,EAAErgB,EAAE3nD,EAAEM,EAAEy3D,IAAS,CAAC,IAAGz3D,EAGV,MAAM,CAAC,EAAE,CAAC,EAAE1I,EAAE+vD,IAHD,IAC1BxnD,EAAEG,EAAE,GAAGvG,EAAEuG,EAAE,GAAG8uB,EAAE9uB,EAAE,GAAG63C,EAAE73C,EAAE,GAAG,GAAGC,GAAE0rO,EAAE9rO,GACnCvI,EAAEuI,EAAEwnD,EAAEv4B,EAAE9uB,EAAE63C,OACV73C,EAAEvG,CAA4B,CAC9Bk1C,EAAEqY,CAAmB,CAAC,EAAC,SACrB2kL,EAAEx0L,GACA,IADG,IACPxI,EAAEwI,IAAS,CAAC,IAAGxI,EAMF,MAAMv1C,GAND,IAClBsuE,EAAE/4B,EAAE,GAAGqY,EAAErY,EAAE,GAAGjvC,EAAEivC,EAAE,GAAG8oB,EAAE9oB,EAAE,GAAG,GAAG1uC,GAAE0rO,EAAEjkK,GACvB,IAD2B,IACvCpwE,EAAEowE,EAAErgB,EAAE3nD,EAAEM,EAAEgnD,IAAS,CAAC,IAAGhnD,EAGV,MAAM,CAAC,EAAE1I,EAAE+vD,GAHE,IAC1BxnD,EAAEG,EAAE,GAAGvG,EAAEuG,EAAE,GAAG8uB,EAAE9uB,EAAE,GAAG63C,EAAE73C,EAAE,GAAG,GAAGC,GAAE0rO,EAAE9rO,GACnCvI,EAAEuI,EAAEwnD,EAAEv4B,EAAE9uB,EAAEvG,OACVuG,EAAE63C,CAAwB,CAC1BlJ,EAAE8oB,CAAkB,CAAC,EAAC,SACpBk0K,EAAEx0L,GACA,IADG,IACPxI,EAAEwI,IAAS,CAAC,IAAGxI,EAMF,OAAO,EANF,IAClB+4B,EAAE/4B,EAAE,GAAGqY,EAAErY,EAAE,GAAGjvC,EAAEivC,EAAE,GAAG8oB,EAAE9oB,EAAE,GAAG,GAAG1uC,GAAE0rO,EAAEjkK,GACvB,IAD2B,IACvCpwE,EAAEowE,EAAErgB,EAAE3nD,EAAEM,EAAEgnD,IAAS,CAAC,IAAGhnD,EAGV,MAAM,CAAC,EAAE,CAAC,EAAE1I,EAAE+vD,IAHD,IAC1BxnD,EAAEG,EAAE,GAAGvG,EAAEuG,EAAE,GAAG8uB,EAAE9uB,EAAE,GAAG63C,EAAE73C,EAAE,GAAG,GAAGC,GAAE0rO,EAAE9rO,GACnCvI,EAAEuI,EAAEwnD,EAAEv4B,EAAE9uB,EAAEvG,OACVuG,EAAE63C,CAA4B,CAC9BlJ,EAAE8oB,CAAmB,CAAC,EA0CC,SACvBlY,EAAE5Q,EAAE3uC,GAAG,GAAGA,EAAE,CAAC,IACbqnD,EAAErnD,EAAE,GAAG1I,EAAE0I,EAAE,GAAGH,EAAEG,EAAE,GAAG2rO,EAAE3rO,EAAE,GAAwB,MAAM,CAAC,EAA1Bu/C,EAAE5Q,EAAE3uC,EAAE,IAAwB2rO,EAAlB1rO,GAAE0uC,EAAE9uC,GAAkB0/C,EAAE5Q,EAAEr3C,GAAG+vD,EAAE,CAAC,OAAO,CAAC,EAAC,SACnFjV,EAAEnyC,EAAED,GAAG,GAAGA,EAAE,CAAC,IACb2uC,EAAE3uC,EAAE,GAAGqnD,EAAErnD,EAAE,GAAG1I,EAAE0I,EAAE,GAAG2rO,EAAE3rO,EAAE,GAA0B,MAAM,CAAC,EAA5BoyC,EAAEnyC,EAAED,EAAE,IAA0B2uC,EAApB9uC,GAAEI,EAAE0uC,EAAEg9L,GAAkBv5L,EAAEnyC,EAAE3I,GAAG+vD,EAAE,CAAC,OAAO,CAAC,EA6ED,SAChFrnD,GAAG,IACNC,EAAE3I,EAAE0I,EAAE,GAAG,OAAO,SAASA,GAAG,OAAOgxC,EAAE/wC,EAAI,CAAC,EAKyC,SAChFD,GAAG,IACNC,EAAE+tC,EAAEhuC,EAAE,GAAG,OAAO,SAASA,GAAG,OAAO2vC,EAAE1vC,EAAI,CAAC,EAAuF,SAAS43C,EAAE/oB,GACpI,IADuI,IAC/I9uB,EAAE8uB,EAAE7uB,EAAE,IAAS,CAAC,GAAGD,EAAE,CAAC,IACtB2uC,EAAE3uC,EAAE,GAAG1I,EAAE0I,EAAE,GAAGqnD,EAAErnD,EAAE,GAAGm3C,EAAEn3C,EAAE,GAAG0nE,EAAE7nE,GAAE8rO,EAAE,GAAGtkL,EAAExP,GAAG,GAAG,IAAI6vB,EAAE,CAAC,GAAG,GAAGA,EAAE,CAC5D1nE,EAAEm3C,EAAEl3C,EAAE,CAAC,EAAEonD,EAAE/vD,EAAEq3C,EAAE1uC,GAAG,QAAQ,CAC1BD,EAAE2uC,EAAE,QAAQ,CAAC,IACbl1C,EAAE,CAAC,EAAE4tD,EAAE/vD,EAAEq3C,EAAE1uC,EAAE,MAEbxG,EAAEwG,EAAE,OAAO,SAASD,GAAG,OAAOgxC,EAAEv3C,EAAI,CAAC,CAAC,EAAEsxZ,EAnBmB,SACxD/qZ,GAAG,OAAO+qZ,EAAE/qZ,EAlKb,EAkKiB,EAkB0B,CAAC,IAC9Cg9wB,GAAG,CAAClmtB,EAAEgnsB,GAAG50W,MACW,SACpB+zX,GAAGh9wB,EAAED,GAAiC,OAA9BA,EAAE,GAAG,CAAC,EAAEC,EAAED,EAAE,IAAIA,EAAE,GAAGA,EAAE,GAAG,EAAE,EAAS,CAAC,CAAC,SAC/C2+D,GAAG3+D,GAAG,IACNC,EAAED,EAAE,GAAG,GAAGC,EAAE,CAAC,IACb0uC,EAAE1uC,EAAE,GAA2B,OAAxBD,EAAE,GAAGC,EAAE,GAAGD,EAAE,GAAGA,EAAE,GAAG,EAAE,EAAS2uC,CAAC,CAAC,MAAMquuB,EAAE,CAAC,SACjDE,GAAGj9wB,EAAED,GAAG,OAAOm7wB,GAAGl7wB,EAAED,EAAE,GAAG,CAAC,SAC1Bm9wB,GAAGn9wB,GAAG,IACNC,EAAE,GAAGD,EAAEA,EAAE,EAAE2uC,EAAE0vpB,GAAGp+rB,EAAEo+rB,GAAGp+rB,EAAEonD,EAAE7Q,GAAE7H,GAAG,MAAM,CAAC,EAAE0Y,EAAE,EAAE1Y,EAAE0Y,EAAE,CAAC,SAChD+1tB,GAAGp9wB,GAAG,OAAOq3rB,GAAGr3rB,EAAE,GAAG,EAAEA,EAAE,GAAG,CAAC,SAC7Bq9wB,GAAGr9wB,EAAE2uC,GACa,IADV,IACR0Y,EAAErnD,EAAE,GAAGC,EAAE,CAAC,EAAED,EAAE,MAAW,CAAC,KAAGC,EAAE,IAAIonD,EAAE1Y,EAAE,IAAb,CAA2C0vpB,GAAGp+rB,EAAE,MAAOonD,EAAE1Y,EAAE,IAAI0vpB,GAAGp+rB,EAAE,GAAGo+rB,GACjGhlnB,GAAG0krB,KAAI,IACPzmwB,EAAEk/C,GAAEv2C,EAAE,IAAyC,GAArC27wB,GAAG57wB,EAAE,GAAG,EAAE1I,EAAE,EAAE0I,EAAE,IAAIA,EAAE,GAAG1I,EAAE0I,EAAE,GAAGC,EAAE,IAAOD,EAAE,GAAG2uC,EAAE,IAAI3uC,EAAE,GAAG,CAAC,IAAIqnD,EAAE1Y,EAAE,IAAI3uC,EAAE,GAAG,OAAO,EAAE,KAAK,CAAC,EAAEP,GAAEw+vB,GAAG,CAAC,KAAK,CAAC,EAAEx+vB,GAAEu+vB,GAFrD,CAAtB/9vB,EAAE,GAAG,EAAEA,EAAE,GAAG,CAEkE,CAAC,CAAC,SAC3Hq9wB,GAAGt9wB,EAAE2uC,GAAG,IACR1uC,EAAE43C,GAAElJ,GAAG0Y,EAAErnD,EAAE,GAAGC,EAAE,EAA+C,OAA1CD,EAAE,GAAGqnD,GAAEg2tB,GAAGr9wB,EAAEC,GAAG2oc,GAAGj6Z,EAAE,EAAE3uC,EAAE,GAAGA,EAAE,GAAGC,GAAGD,EAAE,GAAGqnD,EAAS,CAAC,CAAC,SACxEk2tB,GAAGv9wB,GAAG,OAAO,IAAIA,EAAE,GAAG,IAAI,CAAC,CAAC,SAC5Bw9wB,GAAGx9wB,GAAG,MAAM,CAAC,EAAE,EAAEw2C,GAAEx2C,GAAG,CAAC,SACvBy9wB,GAAGz9wB,EAAE2rO,GAAG,IACR1rO,EAAE2wlB,GAAG5wlB,EAAE,IAAI2uC,EAAE3uC,EAAE,GAAG2rO,EAAE,EAAEtkL,EAAEpnD,EAAE0uC,EAAE,EAAE,EAAE,GAAG0Y,EAAE,CAAC,IACtC/vD,EAAEk/C,GAAEoyW,GAAK,EAAF3oZ,EAAI,EAAE0uC,IAAIituB,GAAG57wB,EAAE,GAAG,EAAE1I,EAAE,EAAE2I,GAAGD,EAAE,GAAG1I,EAAE,IACzCuI,EAAE,CAAC,MAEHA,EAAEwnD,EAAE,OAAOxnD,CAAC,CAAC,SACb69wB,GAAG19wB,EAAEC,GAAyC,OAAtCw9wB,GAAGz9wB,EAAE,GAAGsyvB,GAAGtyvB,EAAE,GAAGA,EAAE,GAAGC,GAAGD,EAAE,GAAGA,EAAE,GAAG,EAAE,EAAS,CAAC,CAAC,SACvDuvC,GAAEvvC,EAAE2uC,GAAG,IACP1uC,EAAE43C,GAAElJ,GAA6C,OAA1C8uuB,GAAGz9wB,EAAEC,GAAG47wB,GAAGltuB,EAAE,EAAE3uC,EAAE,GAAGA,EAAE,GAAGC,GAAGD,EAAE,GAAGA,EAAE,GAAGC,EAAE,EAAS,CAAC,CAAC,SAC1D09wB,GAAG39wB,GAAG,OAAOq3rB,GAAGr3rB,EAAE,GAAG,EAAEA,EAAE,GAAG,CAAC,SAC7B49wB,GAAG59wB,GAAG,GACF,iBAAJA,EAAa,OAAOA,GAAG,KACvB,EAAE,OAAO2hwB,GAAG,KACZ,EAAE,OAAOC,GAAG,KACZ,EAAE,OAAOC,GAAG,KACZ,EAAE,OAAOC,GAAG,KACZ,EAAE,OAAOrlW,GAAG,KACZ,EAAE,OAAO4tR,GAAG,QAAQ,OAAO/1P,QAC3B,OAAOt0b,EAAE,IAAI,KACb,EAAc,KACd,EAAE,OAAOA,EAAE,GAAG,QAAQ,OAAO0nE,GAAEgxX,GAAGsjV,GAAG,EAAEh8wB,EAAE,KAAK,CAAC,SAC/C69wB,GAAG59wB,EAAE0uC,GACD,IADI,IACR3uC,EAAE2uC,IAAS,IACP,iBAAJ3uC,EAAa,OAAO,EACpB,OAAOA,EAAE,IAAI,KACb,EAAE,IACFqnD,EAAErnD,EAAE,GAAGuvC,GAAEtvC,EAAEqoZ,IACXtoZ,EAAEqnD,EAAE,SAAS,KACb,EAAE,IACF/vD,EAAE0I,EAAE,GAAGuvC,GAAEtvC,EAAE8la,IACX/la,EAAE1I,EAAE,SAAS,KACb,EAAE,IACFuI,EAAEG,EAAE,GAAGuvC,GAAEtvC,EAAEu+P,IACXx+P,EAAEH,EAAE,SAAS,KACb,EAAE,IACF8rO,EAAE3rO,EAAE,GAAGuvC,GAAEtvC,EAAEm5c,IACXp5c,EAAE2rO,EAAE,SAAS,KACb,EAAE,IACFjkK,EAAE1nE,EAAE,GAAGuvC,GAAEtvC,EAAE86a,IACX/6a,EAAE0nE,EAAE,SAAS,KACb,EAAE,IACFjuE,EAAEuG,EAAE,GAAGuvC,GAAEtvC,EAAEwomB,IACXzomB,EAAEvG,EAAE,SAAS,KACb,EAAE,IACFq1B,EAAE9uB,EAAE,GAAGuvC,GAAEtvC,EAAE0jsB,IACX3jsB,EAAE8uB,EAAE,SAAS,KACb,EAAE,IACF+oB,EAAE73C,EAAE,GAAGuvC,GAAEtvC,EAAEugb,IACXxgb,EAAE63C,EAAE,SAAS,KACb,EAAE,IACFV,EAAEn3C,EAAE,GAAGgnD,EAAEhnD,EAAE,GAAGuvC,GAAEtvC,EAAEuzc,IAAIqqU,GAAG59wB,EAAE+mD,GAAGzX,GAAEtvC,EAAEy4Z,IAClC14Z,EAAEm3C,EAAE,SAAS,KACb,EAAE,IACFz3C,EAAEM,EAAE,GAAGy3D,EAAEz3D,EAAE,GAAGuvC,GAAEtvC,EAAEwrD,IAAIoytB,GAAG59wB,EAAEw3D,GAAGloB,GAAEtvC,EAAEurc,IAClCxrc,EAAEN,EAAE,SAAS,KACb,GAAG,IACHtG,EAAE4G,EAAE,GAAGuvC,GAAEtvC,EAAEi+vB,IACXl+vB,EAAE5G,EAAE,SAAS,KACb,GAAG,IACH2iJ,EAAE/7I,EAAE,GAAGuvC,GAAEtvC,EAAEmyZ,IACXpyZ,EAAE+7I,EAAE,SAAS,KACb,GAAG,IACHz3F,EAAEtkD,EAAE,GAAGuvC,GAAEtvC,EAAEqga,IACXtga,EAAEskD,EAAE,SAAS,KACb,GAAG,IACH7kD,EAAEO,EAAE,GAAGuvC,GAAEtvC,EAAEq0C,IACXt0C,EAAEP,EAAE,SAAS,QAAQ,IACrB0W,EAAEnW,EAAE,GAAGuvC,GAAEtvC,EAAEqnb,IACXtnb,EAAEmW,EAAE,SAAQ,CAAC,CAAC,SACdunE,GAAE19E,GAAG,GACD,iBAAJA,EAAa,OAAO,EACpB,OAAOA,EAAE,IAAI,KACb,EAAE,MAAM,CAAC,EAAE09E,GAAE19E,EAAE,KAAK,KACpB,EAAE,MAAM,CAAC,EAAE09E,GAAE19E,EAAE,KAAK,KACpB,EAAE,MAAM,CAAC,EAAE09E,GAAE19E,EAAE,KAAK,KACpB,EAAE,MAAM,CAAC,EAAE09E,GAAE19E,EAAE,KAAK,KACpB,EAAE,MAAM,CAAC,EAAE09E,GAAE19E,EAAE,KAAK,KACpB,EAAE,MAAM,CAAC,EAAE09E,GAAE19E,EAAE,KAAK,KACpB,EAAE,MAAM,CAAC,EAAE09E,GAAE19E,EAAE,KAAK,KACpB,EAAE,MAAM,CAAC,EAAE09E,GAAE19E,EAAE,KAAK,KACpB,EACO,MAAM,CAAC,EAAZA,EAAE,GAAc09E,GAAE19E,EAAE,KAAK,KAC3B,EACc,MAAM,CAAC,EAAnBA,EAAE,GAAKA,EAAE,GAAgB09E,GAAE19E,EAAE,KAAK,KACpC,GAAG,MAAM,CAAC,GAAG09E,GAAE19E,EAAE,KAAK,KACtB,GAAG,MAAM,CAAC,GAAG09E,GAAE19E,EAAE,KAAK,KACtB,GAAG,MAAM,CAAC,GAAG09E,GAAE19E,EAAE,KAAK,KACtB,GAAG,MAAM,CAAC,GAAG09E,GAAE19E,EAAE,KAAK,QAAQ,MAAM,CAAC,GAAG09E,GAAE19E,EAAE,KAAK,CAAC,SAClDk5C,GAAEl5C,GAAG,GACD,iBAAJA,EAAa,CAC2D,MAAM,CAAC,EAAE,SAASA,GAAG,OAAO,CAAC,EAAnD,SAASA,GAAG,OAAO,CAAC,EAA5C,SAASA,GAAG,OAAO,CAAC,EAA5C,SAASA,GAAG,OAAO,CAAC,EAAuF,CAC7G,OAAOA,EAAE,IAAI,KACb,EAAE,IACF2uC,EAAEuK,GAAEl5C,EAAE,IAAIu/C,EAAE5Q,EAAE,GAAGyD,EAAEzD,EAAE,GAAGn/B,EAAEm/B,EAAE,GAAGl/B,EAAEk/B,EAAE,GAAkC,MAAM,CAAC,EAAE,SAAS3uC,GAAU,OAAPC,GAAEwP,EAAE,GAAU,CAAC,EAAjE,SAASzP,GAAU,OAAPC,GAAEuP,EAAE,GAAU,CAAC,EAA0C4iC,EAAEmN,GAAG,KAClH,EAAE,IACF8H,EAAEnO,GAAEl5C,EAAE,IAAI82D,EAAEzP,EAAE,GAAGrW,EAAEqW,EAAE,GAAGjW,EAAEiW,EAAE,GAAG7Q,EAAE6Q,EAAE,GAAkC,MAAM,CAAC,EAAE,SAASrnD,GAAU,OAAPC,GAAEu2C,EAAE,GAAU,CAAC,EAAjE,SAASx2C,GAAU,OAAPC,GAAEmxC,EAAE,GAAU,CAAC,EAA0CJ,EAAE8lB,GAAG,KAClH,EAAE,IACFx/D,EAAE4hD,GAAEl5C,EAAE,IAAI0wC,EAAEp5C,EAAE,GAAGs5C,EAAEt5C,EAAE,GAAGuwZ,EAAEvwZ,EAAE,GAAGkwZ,EAAElwZ,EAAE,GAAkC,MAAM,CAAC,EAAE,SAAS0I,GAAU,OAAPC,GAAEunZ,EAAE,GAAU,CAAC,EAAjE,SAASxnZ,GAAU,OAAPC,GAAE4nZ,EAAE,GAAU,CAAC,EAA0Cj3W,EAAEF,GAAG,KAClH,EAAE,IACF7wC,EAAEq5C,GAAEl5C,EAAE,IAAIynZ,EAAE5nZ,EAAE,GAAGkrZ,EAAElrZ,EAAE,GAAGmuC,EAAEnuC,EAAE,GAAG8vC,EAAE9vC,EAAE,GAAkC,MAAM,CAAC,EAAE,SAASG,GAAU,OAAPC,GAAE0vC,EAAE,GAAU,CAAC,EAAjE,SAAS3vC,GAAU,OAAPC,GAAE+tC,EAAE,GAAU,CAAC,EAA0C+8W,EAAEtD,GAAG,KAClH,EAAE,IACF97K,EAAEzyL,GAAEl5C,EAAE,IAAIsxC,EAAEq6L,EAAE,GAAGp8L,EAAEo8L,EAAE,GAAGp6L,EAAEo6L,EAAE,GAAGg8K,EAAEh8K,EAAE,GAAkC,MAAM,CAAC,EAAE,SAAS3rO,GAAU,OAAPC,GAAE0nZ,EAAE,GAAU,CAAC,EAAjE,SAAS3nZ,GAAU,OAAPC,GAAEsxC,EAAE,GAAU,CAAC,EAA0ChC,EAAE+B,GAAG,KAClH,EAAE,IACFo2B,EAAExuB,GAAEl5C,EAAE,IAAIgc,EAAE0rD,EAAE,GAAGzrD,EAAEyrD,EAAE,GAAGogV,EAAEpgV,EAAE,GAAG4R,EAAE5R,EAAE,GAAkC,MAAM,CAAC,EAAE,SAAS1nE,GAAU,OAAPC,GAAEq5E,EAAE,GAAU,CAAC,EAAjE,SAASt5E,GAAU,OAAPC,GAAE6nZ,EAAE,GAAU,CAAC,EAA0C7rY,EAAED,GAAG,KAClH,EAAE,IACFviB,EAAEy/C,GAAEl5C,EAAE,IAAIs8Z,EAAG7ia,EAAE,GAAGowrB,EAAGpwrB,EAAE,GAAGw6b,EAAGx6b,EAAE,GAAGg+b,EAAGh+b,EAAE,GAAoC,MAAM,CAAC,EAAE,SAASuG,GAAW,OAARC,GAAEw3b,EAAG,GAAU,CAAC,EAAnE,SAASz3b,GAAW,OAARC,GAAEg0b,EAAG,GAAU,CAAC,EAA4C41P,EAAGvtR,GAAI,KAC5H,EAAE,IACFxtY,EAAEoqB,GAAEl5C,EAAE,IAAIwvc,EAAG1gb,EAAE,GAAG0wb,EAAG1wb,EAAE,GAAGmhjB,EAAGnhjB,EAAE,GAAGonO,EAAGpnO,EAAE,GAAoC,MAAM,CAAC,EAAE,SAAS9uB,GAAW,OAARC,GAAEi2P,EAAG,GAAU,CAAC,EAAnE,SAASl2P,GAAW,OAARC,GAAEgwkB,EAAG,GAAU,CAAC,EAA4CzwH,EAAGhQ,GAAI,KAC5H,EAAE,IACF33Z,EAAEqB,GAAEl5C,EAAE,IAAIgjsB,EAAGnrpB,EAAE,GAAGwoY,EAAGxoY,EAAE,GAAGg8Z,EAAGh8Z,EAAE,GAAG4gX,EAAG5gX,EAAE,GAAoC,MAAM,CAAC,EAAE,SAAS73C,GAAW,OAARC,GAAEw4Z,EAAG,GAAU,CAAC,EAAnE,SAASz4Z,GAAW,OAARC,GAAE4zc,EAAG,GAAU,CAAC,EAA4CxzB,EAAG2iR,GAAI,KAC5H,EAAE,IACFjyQ,EAAG/wb,EAAE,GAAGi8wB,EAAGj8wB,EAAE,GAAGm3C,EAAE+B,GAAEl5C,EAAE,IAAIiyZ,EAAG96W,EAAE,GAAGkkC,EAAGlkC,EAAE,GAAGk3W,EAAGl3W,EAAE,GAAGwpX,EAAGxpX,EAAE,GAAG6P,EAAE9N,GAAEoyW,GAAE5tU,GAAEu+rB,GAAIlrV,IAAK64B,GAAG5ia,EAAE,GAAG8piB,GAAG9piB,EAAE,GAAG4piB,GAAG5piB,EAAE,GAAG6piB,GAAG7piB,EAAE,GAA8H,MAAM,CAAC,EAAE,SAAShnD,GAAmB,OAAhBC,GAAE0ga,EAAG,GAAG1ga,GAAE4wlB,GAAG,GAAU,CAAC,EAAnF,SAAS7wlB,GAAmB,OAAhBC,GAAE2wlB,GAAG,GAAG3wlB,GAAEouZ,EAAG,GAAU,CAAC,EAA7E,SAASruZ,GAAmB,OAAhBC,GAAEo7E,EAAG,GAAGp7E,GAAE6wlB,GAAG,GAAU,CAAC,EAA7E,SAAS9wlB,GAAmB,OAAhBC,GAAE2pd,GAAG,GAAG3pd,GAAEgyZ,EAAG,GAAU,CAAC,GAA6I,KAC/R,GAAG,IACHvyZ,GAAEw5C,GAAEl5C,EAAE,IAAIkqvB,GAAGxqvB,GAAE,GAAGqxvB,GAAGrxvB,GAAE,GAAGkuvB,GAAGluvB,GAAE,GAAG6yvB,GAAG7yvB,GAAE,GAAoC,MAAM,CAAC,EAAE,SAASM,GAAW,OAARC,GAAEsyvB,GAAG,GAAU,CAAC,EAAnE,SAASvyvB,GAAW,OAARC,GAAE2tvB,GAAG,GAAU,CAAC,EAA4CmD,GAAG7G,IAAI,KAC5H,GAAG,IACHzyrB,GAAEve,GAAEl5C,EAAE,IAAIm6vB,GAAG1isB,GAAE,GAAGqmtB,GAAGrmtB,GAAE,GAAG8jsB,GAAG9jsB,GAAE,GAAGk2rB,GAAGl2rB,GAAE,GAAoC,MAAM,CAAC,EAAE,SAASz3D,GAAW,OAARC,GAAE0tvB,GAAG,GAAU,CAAC,EAAnE,SAAS3tvB,GAAW,OAARC,GAAEs7vB,GAAG,GAAU,CAAC,EAA4CuiB,GAAG3jB,IAAI,KAC5H,GAAG,IACH/gwB,GAAE8/C,GAAEl5C,EAAE,IAAI24vB,GAAGv/vB,GAAE,GAAGmixB,GAAGnixB,GAAE,GAAG2kxB,GAAG3kxB,GAAE,GAAG4kxB,GAAG5kxB,GAAE,GAAoC,MAAM,CAAC,EAAE,SAAS4G,GAAW,OAARC,GAAE+9wB,GAAG,GAAU,CAAC,EAAnE,SAASh+wB,GAAW,OAARC,GAAE89wB,GAAG,GAAU,CAAC,EAA4CxC,GAAG5iB,IAAI,KAC5H,GAAG,IACH58mB,GAAE7iG,GAAEl5C,EAAE,IAAI0tvB,GAAG3xmB,GAAE,GAAG+wmB,GAAG/wmB,GAAE,GAAG4rc,GAAG5rc,GAAE,GAAGgtmB,GAAGhtmB,GAAE,GAAsG,MAAM,CAAC,EAAE,SAAS/7I,GAAW,OAARC,GAAE8ovB,GAAG,GAAU,CAAC,EAAnE,SAAS/ovB,GAAW,OAARC,GAAE0nlB,GAAG,GAAU,CAAC,EAA7D,SAAS3nlB,GAAW,OAARC,GAAE6svB,GAAG,GAAU,CAAC,EAA7D,SAAS9svB,GAAW,OAARC,GAAEytvB,GAAG,GAAU,CAAC,GAAqH,QAAQ,IACtMppsB,GAAEpL,GAAEl5C,EAAE,IAAI26wB,GAAGr2tB,GAAE,GAAGu3tB,GAAGv3tB,GAAE,GAAG87Z,GAAG97Z,GAAE,GAAG4+Y,GAAG5+Y,GAAE,GAAsG,MAAM,CAAC,EAAE,SAAStkD,GAAW,OAARC,GAAEijc,GAAG,GAAU,CAAC,EAAnE,SAASljc,GAAW,OAARC,GAAEmgd,GAAG,GAAU,CAAC,EAA7D,SAASpgd,GAAW,OAARC,GAAE47wB,GAAG,GAAU,CAAC,EAA7D,SAAS77wB,GAAW,OAARC,GAAE06wB,GAAG,GAAU,CAAC,GAAqH,CAAC,SAC/LrvX,GAAEjkW,EAAE1Y,GAAG,IACP3uC,EAAE,EAAE,GACA,iBAAJqnD,EAAY,CAAC,GACT,iBAAJ1Y,EAAa,OAAO,EACpB,OAAOA,EAAE,IAAI,KACb,GAAG,MAAM,KACT,GAAG3uC,EAAE,EAAE,MAAM,KACb,GAAGA,EAAE,EAAE,MAAM,KACb,GAAGA,EAAE,EAAE,MAAM,KACb,GAAGA,EAAE,EAAE,MAAM,KACb,EAAEA,EAAE,EAAE,MAAM,KACZ,EAAEA,EAAE,EAAE,MAAM,QAAQ,KAAK,CAAC,EAAEP,GAAEwqd,IAAI,MAClC,OAAO5ia,EAAE,IAAI,KACb,EAAE,IACF/vD,EAAE,EAAEynE,EAAE1X,EAAE,GAAG,GACP,iBAAJ1Y,EAAa,OAAOA,EAAE,IAAI,KAC1B,EAAE,MAAM,CAAC,EAAE28W,GAAEvsV,EAAEpwB,EAAE,KAAK,KACtB,EAAE3uC,EAAE,EAAE1I,EAAE,EAAE,MAAM,KAChB,EAAE0I,EAAE,EAAE1I,EAAE,EAAE,MAAM,KAChB,GAAGA,EAAE,EAAE,MAAM,KACb,GAAG0I,EAAE,EAAE1I,EAAE,EAAE,MAAM,KACjB,GAAG0I,EAAE,EAAE1I,EAAE,EAAE,MAAM,KACjB,GAAG0I,EAAE,EAAE1I,EAAE,EAAE,MAAM,KACjB,GAAG0I,EAAE,EAAE1I,EAAE,EAAYA,IAAE0I,EAAE,GAAE,MAAM,KACjC,EAAE,IACFH,EAAE,EAAE0/C,EAAE8H,EAAE,GAAG,GACP,iBAAJ1Y,EAAa,OAAOA,EAAE,IAAI,KAC1B,EAAE,MAAM,CAAC,EAAE28W,GAAE/rW,EAAE5Q,EAAE,KAAK,KACtB,EAAE3uC,EAAE,EAAEH,EAAE,EAAE,MAAM,KAChB,EAAEG,EAAE,EAAEH,EAAE,EAAE,MAAM,KAChB,GAAGA,EAAE,EAAE,MAAM,KACb,GAAGG,EAAE,EAAEH,EAAE,EAAE,MAAM,KACjB,GAAGG,EAAE,EAAEH,EAAE,EAAE,MAAM,KACjB,GAAGG,EAAE,EAAEH,EAAE,EAAE,MAAM,KACjB,GAAGG,EAAE,EAAEH,EAAE,EAAYA,IAAEG,EAAE,GAAE,MAAM,KACjC,EAAE,IACF2rO,EAAE,EAAEv5L,EAAEiV,EAAE,GAAG,GACP,iBAAJ1Y,EAAag9L,EAAE,OACf,OAAOh9L,EAAE,IAAI,KACb,EAAE,MAAM,CAAC,EAAE28W,GAAEl5W,EAAEzD,EAAE,KAAK,KACtB,EAAE3uC,EAAE,EAAE,MAAM,KACZ,EAAEA,EAAE,EAAE,MAAM,KACZ,GAAG,MAAM,KACT,GAAGA,EAAE,EAAE,MAAM,KACb,GAAGA,EAAE,EAAE,MAAM,KACb,GAAGA,EAAE,EAAE,MAAM,KACb,GAAGA,EAAE,EAAE,MAAM,QAAQ2rO,EAAE,EAAKA,IAAE3rO,EAAE,GAAE,MAAM,KACxC,EAAE,IACF0nE,EAAE,EAAEl4D,EAAE63C,EAAE,GAAG,GACP,iBAAJ1Y,EAAa+4B,EAAE,OACf,OAAO/4B,EAAE,IAAI,KACb,EAAE,MAAM,CAAC,EAAE28W,GAAE97Y,EAAEm/B,EAAE,KAAK,KACtB,EAAE3uC,EAAE,EAAE,MAAM,KACZ,EAAEA,EAAE,EAAE,MAAM,KACZ,GAAG,MAAM,KACT,GAAGA,EAAE,EAAE,MAAM,KACb,GAAGA,EAAE,EAAE,MAAM,KACb,GAAGA,EAAE,EAAE,MAAM,KACb,GAAGA,EAAE,EAAE,MAAM,QAAQ0nE,EAAE,EAAKA,IAAE1nE,EAAE,GAAE,MAAM,KACxC,EAAE,IACFvG,EAAE,EAAEgW,EAAE43C,EAAE,GAAG,GACP,iBAAJ1Y,EAAal1C,EAAE,OACf,OAAOk1C,EAAE,IAAI,KACb,EAAE,MAAM,CAAC,EAAE28W,GAAE77Y,EAAEk/B,EAAE,KAAK,KACtB,EAAE3uC,EAAE,EAAE,MAAM,KACZ,EAAEA,EAAE,EAAE,MAAM,KACZ,GAAG,MAAM,KACT,GAAGA,EAAE,EAAE,MAAM,KACb,GAAGA,EAAE,EAAE,MAAM,KACb,GAAGA,EAAE,EAAE,MAAM,KACb,GAAGA,EAAE,EAAE,MAAM,QAAQvG,EAAE,EAAKA,IAAEuG,EAAE,GAAE,MAAM,KACxC,EAAE,IACF8uB,EAAE,EAAE44X,EAAErgW,EAAE,GAAG,GACP,iBAAJ1Y,EAAa7f,EAAE,OACf,OAAO6f,EAAE,IAAI,KACb,EAAE,MAAM,CAAC,EAAE28W,GAAE5D,EAAE/4W,EAAE,KAAK,KACtB,EAAE3uC,EAAE,EAAE,MAAM,KACZ,EAAEA,EAAE,EAAE,MAAM,KACZ,GAAG,MAAM,KACT,GAAGA,EAAE,EAAE,MAAM,KACb,GAAGA,EAAE,EAAE,MAAM,KACb,GAAGA,EAAE,EAAE,MAAM,KACb,GAAGA,EAAE,EAAE,MAAM,QAAQ8uB,EAAE,EAAKA,IAAE9uB,EAAE,GAAE,MAAM,KACxC,EAAE,IACF63C,EAAE,EAAEif,EAAEzP,EAAE,GAAG,GACP,iBAAJ1Y,EAAakJ,EAAE,OACf,OAAOlJ,EAAE,IAAI,KACb,EAAE,MAAM,CAAC,EAAE28W,GAAEx0V,EAAEnoB,EAAE,KAAK,KACtB,EAAE3uC,EAAE,EAAE,MAAM,KACZ,EAAEA,EAAE,EAAE,MAAM,KACZ,GAAG,MAAM,KACT,GAAGA,EAAE,EAAE,MAAM,KACb,GAAGA,EAAE,EAAE,MAAM,KACb,GAAGA,EAAE,EAAE,MAAM,KACb,GAAGA,EAAE,EAAE,MAAM,QAAQ63C,EAAE,EAAKA,IAAE73C,EAAE,GAAE,MAAM,KACxC,EAAE,IACFm3C,EAAE,EAAEnG,EAAEqW,EAAE,GAAG,GACP,iBAAJ1Y,EAAawI,EAAE,OACf,OAAOxI,EAAE,IAAI,KACb,EAAE,MAAM,CAAC,EAAE28W,GAAEt6W,EAAErC,EAAE,KAAK,KACtB,EAAE3uC,EAAE,EAAE,MAAM,KACZ,EAAEA,EAAE,EAAE,MAAM,KACZ,GAAG,MAAM,KACT,GAAGA,EAAE,EAAE,MAAM,KACb,GAAGA,EAAE,EAAE,MAAM,KACb,GAAGA,EAAE,EAAE,MAAM,KACb,GAAGA,EAAE,EAAE,MAAM,QAAQm3C,EAAE,EAAKA,IAAEn3C,EAAE,GAAE,MAAM,KACxC,EAAE,IACFgnD,EAAE,EAAE5V,EAAEiW,EAAE,GAAG7Q,EAAE6Q,EAAE,GAAG,GACd,iBAAJ1Y,EAAaqY,EAAE,OACf,OAAOrY,EAAE,IAAI,KACb,EAAE,IACF0I,EAAE1I,EAAE,GAAG+B,EAAE46W,GAAEl6W,EAAEzC,EAAE,IAAI,MAAM,CAAC,EAAE28W,GAAE90W,EAAEa,GAAG3G,GAAG,KACtC,GAAG,MAAM,KACT,GAAG1wC,EAAE,EAAE,MAAM,KACb,GAAGA,EAAE,EAAE,MAAM,KACb,GAAGA,EAAE,EAAE,MAAM,KACb,GAAGA,EAAE,EAAE,MAAM,QAAQgnD,EAAE,EAAE,GAAGA,EAAE,KAAK,CAAC,EAAEvnD,GAAEo/vB,IAAI,MAAM,KAClD,EAAE,IACFn/vB,EAAE,EAAEkxC,EAAEyW,EAAE,GAAGwgW,EAAExgW,EAAE,GAAGmgW,EAAEngW,EAAE,GAAG,GACrB,iBAAJ1Y,EAAajvC,EAAE,OACf,OAAOivC,EAAE,IAAI,KACb,EAAE3uC,EAAE,EAAE,MAAM,KACZ,EAAE,IACF+nZ,EAAEp5W,EAAE,GAAG84W,EAAE94W,EAAE,GAAGo8W,EAAEp8W,EAAE,GAAGx4B,EAAE+iC,GAAEoyW,GAAE5tU,GAAEmqU,GAAGkD,IAAI/8W,EAAE73B,EAAE,GAAoB,OAAjBlW,GAAEkW,EAAE,GAAG,GAAGlW,GAAE+tC,EAAE,GAAS,CAAC,EAAEw5W,EAAEC,EAAE6D,GAAE16W,EAAEm3W,IAAI,KACjF,GAAG,MAAM,KACT,GAAG/nZ,EAAE,EAAE,MAAM,KACb,GAAGA,EAAE,EAAE,MAAM,KACb,GAAGA,EAAE,EAAE,MAAM,KACb,GAAGA,EAAE,EAAE,MAAM,QAAQN,EAAE,EAAE,GAAGA,EAAE,KAAK,CAAC,EAAED,GAAEs/vB,IAAI,MAAM,KAClD,GAAG,IACHpvtB,EAAE0X,EAAE,GAAG,GACH,iBAAJ1Y,GAAc,KAAKA,EAAE,GAAG,MAAM,CAAC,GAAG28W,GAAE37W,EAAEhB,EAAE,KAAK,KAAK,CAAC,EAAElvC,GAAE0+vB,IAAI,KAC3D,GAAG,IACH1msB,EAAE,EAAEy6Y,EAAE7qZ,EAAE,GAAG,GACP,iBAAJ1Y,EAAa8oB,EAAE,OACf,OAAO9oB,EAAE,IAAI,KACb,GAAG,MAAM,KACT,GAAG,MAAM,CAAC,GAAG28W,GAAE4mD,EAAEvja,EAAE,KAAK,QAAQ8oB,EAAE,EAAE,GAAGA,EAAE,KAAK,CAAC,EAAEh4D,GAAE4+vB,IAAI,MAAM,KAC7D,GAAG,IACHjlwB,EAAE,EAAEk4C,EAAE+V,EAAE,GAAG,GACP,iBAAJ1Y,EAAav1C,EAAE,OACf,OAAOu1C,EAAE,IAAI,KACb,GAAG,MAAM,KACT,GAAG3uC,EAAE,EAAE,MAAM,KACb,GAAG,MAAM,CAAC,GAAGsrZ,GAAEh6W,EAAE3C,EAAE,KAAK,QAAQv1C,EAAE,EAAE,GAAGA,EAAE,KAAK,CAAC,EAAEqG,GAAE8+vB,IAAI,MAAM,KAC7D,GAAG,IACHxinB,EAAE,EAAExsG,EAAE8X,EAAE,GAAG,GACP,iBAAJ1Y,EAAaotG,EAAE,OACf,OAAOptG,EAAE,IAAI,KACb,GAAG,MAAM,KACT,GAAG3uC,EAAE,EAAE,MAAM,KACb,GAAGA,EAAE,EAAE,MAAM,KACb,GAAG,MAAM,CAAC,GAAGsrZ,GAAE/7W,EAAEZ,EAAE,KAAK,QAAQotG,EAAE,EAAE,GAAGA,EAAE,KAAK,CAAC,EAAEt8I,GAAEg/vB,IAAI,MAAM,QAAQ,IACrEn6sB,EAAE,EAAE/S,EAAE8V,EAAE,GAAG,GACP,iBAAJ1Y,EAAa2V,EAAE,OACf,OAAO3V,EAAE,IAAI,KACb,GAAG,MAAM,KACT,GAAG3uC,EAAE,EAAE,MAAM,KACb,GAAGA,EAAE,EAAE,MAAM,KACb,GAAGA,EAAE,EAAE,MAAM,KACb,GAAG,MAAM,CAAC,GAAGsrZ,GAAE/5W,EAAE5C,EAAE,KAAK,QAAQ2V,EAAE,EAAE,GAAGA,EAAE,KAAK,CAAC,EAAE7kD,GAAEk/vB,IAAI,OAAO3+vB,GAAG,KACjE,EAAE,KAAK,CAAC,EAAEP,GAAE2+vB,IAAI,KAChB,EAAE,KAAK,CAAC,EAAE3+vB,GAAE6+vB,IAAI,KAChB,EAAE,KAAK,CAAC,EAAE7+vB,GAAE++vB,IAAI,KAChB,EAAE,KAAK,CAAC,EAAE/+vB,GAAEi/vB,IAAI,KAChB,EAAE,KAAK,CAAC,EAAEj/vB,GAAEm/vB,IAAI,KAChB,EAAE,KAAK,CAAC,EAAEn/vB,GAAEq/vB,IAAI,KAChB,EAAE,KAAK,CAAC,EAAEr/vB,GAAEi8qB,IAAI,QAAQ,KAAK,CAAC,EAAEj8qB,GAAEu/vB,IAAI,CAAC,IACvCrvtB,GAAE,CAACmnB,EAAEirsB,GAAG74W,MAAO,SACf+5S,GAAGhjsB,EAAED,GAAG,GACJ,iBAAJC,EAAa,MAAM,CAAC,EAAE,EAAED,GAAQ,GAAG,IAAIC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,EAAEA,EAAE,GAAGA,EAAE,IAAID,GAAG,GAClE,iBAAJA,GAAc,IAAIA,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,EAAEC,EAAE,IAAID,EAAE,IAAI,MAAM2vC,EAAE,CAAC,SACxDsuuB,GAAG3mxB,EAAE2I,EAAEonD,GAAG,IACVrnD,EAAEijsB,GAAG3rsB,EAAE+vD,GAAG,GACN,iBAAJpnD,EAAa,CAAC,GAAGA,EAAE,CAAC,IACpB0uC,EAAE3uC,EAAE,GAAG,GACH,iBAAJ2uC,GAAc,IAAIA,EAAE,GAAG,MAAM,CAAC,EAAE3uC,EAAE,GAAG,EAAE2uC,EAAE,IAAI,MAAMgB,EAAC,CAAC,MAAM,CAAC,EAAE3vC,EAAE,GAAG,EAAEA,EAAE,GAAG,CAAC,MAAM,CAAC,EAAEA,EAAE,GAAG,CAAC,EAAEC,EAAE,IAAID,EAAE,GAAG,CAAC,SACxGi0b,GAAGtlZ,EAAE0Y,EAAErnD,GAAG,GACN,iBAAJ2uC,EAAa,MAAM,CAAC,EAAE,EAAEowB,GAAE1X,EAAErnD,IAC5B,OAAO2uC,EAAE,IAAI,KACb,EAAE,GACE,iBAAJ3uC,GAAc,IAAIA,EAAE,GAAG,CAAC,IACxB2rO,EAAEsoN,GAAGtlZ,EAAE,GAAG0Y,EAAErnD,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE2rO,EAAE,IAAIA,EAAE,GAAG,CAAC,MAAM,KAChD,EAAE,GACE,iBAAJ3rO,GAAc,IAAIA,EAAE,GAAG,CAAC,IACxB0nE,EAAEusX,GAAGtlZ,EAAE,GAAG0Y,EAAErnD,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE0nE,EAAE,IAAIA,EAAE,GAAG,CAAC,MAAM,KAChD,EAAE,GACE,iBAAJ1nE,GAAc,IAAIA,EAAE,GAAG,CAAC,IACxBvG,EAAEw6b,GAAGtlZ,EAAE,GAAG0Y,EAAErnD,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,EAAEvG,EAAE,IAAIA,EAAE,GAAG,CAAC,MAAM,KAChD,EAAE,GACE,iBAAJuG,GAAc,IAAIA,EAAE,GAAG,CAAC,IACxB8uB,EAAEmla,GAAGtlZ,EAAE,GAAG0Y,EAAErnD,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE8uB,EAAE,IAAIA,EAAE,GAAG,CAAC,MAAM,KAChD,EAAE,GACE,iBAAJ9uB,GAAc,IAAIA,EAAE,GAAG,CAAC,IACxB63C,EAAEo8Y,GAAGtlZ,EAAE,GAAG0Y,EAAErnD,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE63C,EAAE,IAAIA,EAAE,GAAG,CAAC,MAAM,KAChD,EAAE,GACE,iBAAJ73C,GAAc,IAAIA,EAAE,GAAG,CAAC,IACxBm3C,EAAE88Y,GAAGtlZ,EAAE,GAAG0Y,EAAErnD,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,EAAEm3C,EAAE,IAAIA,EAAE,GAAG,CAAC,MAAM,KAChD,EAAE,GACE,iBAAJn3C,GAAc,IAAIA,EAAE,GAAG,CAAC,IACxBgnD,EAAEitY,GAAGtlZ,EAAE,GAAG0Y,EAAErnD,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,EAAEgnD,EAAE,IAAIA,EAAE,GAAG,CAAC,MAAM,KAChD,EAAE,GACE,iBAAJhnD,GAAc,IAAIA,EAAE,GAAG,CAAC,IACxBN,EAAEu0b,GAAGtlZ,EAAE,GAAG0Y,EAAErnD,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,EAAEN,EAAE,IAAIA,EAAE,GAAG,CAAC,MAAM,KAChD,EAAE,GACE,iBAAJM,GAAc,IAAIA,EAAE,GAAG,CAAC,IACxBy3D,EAAEz3D,EAAE,GAAGwP,EAAExP,EAAE,GAAGyP,EAAEk/B,EAAE,GAAG,GAAGsrtB,GAAG,CAAC,EAAEtrtB,EAAE,IAAI,CAAC,EAAE8oB,IAAI,MAAM9nB,GAAE,IACnDv2C,EAAE66b,GAAGxkb,EAAE43C,EAAE73C,GAAG,MAAM,CAAC,EAAE,CAAC,EAAEioD,EAAEr+D,EAAE,IAAIA,EAAE,GAAG,CAAC,MAAM,KAC5C,EAAE,GACE,iBAAJ4G,GAAc,IAAIA,EAAE,GAAG,CAAC,IACxB1I,EAAE0I,EAAE,GAAGH,EAAEG,EAAE,GAAG0nZ,EAAE1nZ,EAAE,GAAG82D,EAAEnoB,EAAE,GAAGqC,EAAErC,EAAE,GAAGyC,EAAEzC,EAAE,GAAG6H,EAAE,CAAC,EAAEa,GAAEx3C,IAAI,GAAGo6vB,GAAG,CAAC,EAAE5itB,GAAEjG,IAAIoF,GAAG,MAAM7G,GAAE,IAC/Ee,EAAE,CAAC,EAAE2G,GAAE//C,IAAI,GAAG2iwB,GAAG,CAAC,EAAE5itB,GAAErG,IAAIN,GAAG,MAAMf,GAAE,IACrCosG,EAAE7iG,GAAEoyW,GAAE5tU,GAAE79E,GAAGvI,IAAIs5C,EAAEmrG,EAAE,GAAG97I,GAAE87I,EAAE,GAAG,GAAG97I,GAAE2wC,EAAE,GAAG,IACvC0T,EAAE2vY,GAAG58Y,GAAEyf,GAAGzP,EAAEqgW,GAAGG,EAAEvjW,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,EAAEzkD,EAAEvI,EAAEomF,GAAEp5B,EAAE,KAAKujW,EAAE,CAAC,MAAM,KACxD,GAAG,GACC,iBAAJ7nZ,GAAc,KAAKA,EAAE,GAAG,CAAC,IACzBP,EAAEw0b,GAAGtlZ,EAAE,GAAG0Y,EAAErnD,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,GAAGP,EAAE,IAAIA,EAAE,GAAG,CAAC,MAAM,KACjD,GAAG,GACC,iBAAJO,GAAc,KAAKA,EAAE,GAAG,CAAC,IACzBmW,EAAE89a,GAAGtlZ,EAAE,GAAG0Y,EAAErnD,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,GAAGmW,EAAE,IAAIA,EAAE,GAAG,CAAC,MAAM,KACjD,GAAG,GACC,iBAAJnW,GAAc,KAAKA,EAAE,GAAG,CAAC,IACzBu/C,EAAE00Y,GAAGtlZ,EAAE,GAAG0Y,EAAErnD,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,GAAGu/C,EAAE,IAAIA,EAAE,GAAG,CAAC,MAAM,KACjD,GAAG,GACC,iBAAJv/C,GAAc,KAAKA,EAAE,GAAG,CAAC,IACzBoyC,EAAE6hZ,GAAGtlZ,EAAE,GAAG0Y,EAAErnD,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,GAAGoyC,EAAE,IAAIA,EAAE,GAAG,EAAO,MAAMzC,EAAC,CAAC,SACzDovB,GAAE9+D,EAAED,GAAG,GACH,iBAAJC,EAAa,MAAM,CAAC,EAAE,EAAED,GACxB,OAAOC,EAAE,IAAI,KACb,EAAE,GACE,iBAAJD,GAAc,IAAIA,EAAE,GAAG,CAAC,IACxBP,EAAEs/D,GAAE9+D,EAAE,GAAGD,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,EAAEP,EAAE,IAAIA,EAAE,GAAG,CAAC,MAAM,KAC7C,EAAE,GACE,iBAAJO,GAAc,IAAIA,EAAE,GAAG,CAAC,IACxBmW,EAAE4oD,GAAE9+D,EAAE,GAAGD,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,EAAEmW,EAAE,IAAIA,EAAE,GAAG,CAAC,MAAM,KAC7C,EAAE,IACFkyY,EAAGpoZ,EAAE,GAAGs/C,EAAE0jpB,GAAGhjsB,EAAE,GAAGD,GAAG1I,EAAEioD,EAAE,GAAGiwZ,EAAGjwZ,EAAE,GAAG,GAChC,iBAAJjoD,GAAc,IAAIA,EAAE,GAAG,CAAC,IACxB86C,EAAE2sB,GAAEspV,EAAG/wZ,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,EAAEk4c,EAAGp9Z,EAAE,IAAIA,EAAE,GAAG,CAAC,MAAMzC,GAAE,KAChD,EAAE,IACF6va,EAAGv/c,EAAE,GAAGuP,EAAEyzrB,GAAGhjsB,EAAE,GAAGD,GAAGH,EAAE2P,EAAE,GAAGygkB,EAAGzgkB,EAAE,GAAG,GAChC,iBAAJ3P,GAAc,IAAIA,EAAE,GAAG,CAAC,IACxB4P,EAAEsvD,GAAEygZ,EAAG3/c,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,EAAEowkB,EAAGxgkB,EAAE,IAAIA,EAAE,GAAG,CAAC,MAAMkgC,GAAE,KAChD,EAAE,IACFumN,EAAGj2P,EAAE,GAAGg+rB,EAAGh+rB,EAAE,GAAG0rO,EAAEsyiB,GAAGh+wB,EAAE,GAAGA,EAAE,GAAGD,GAAG0nE,EAAEikK,EAAE,GAAG00M,EAAG10M,EAAE,GAAG,GAC7C,iBAAJjkK,GAAc,IAAIA,EAAE,GAAG,CAAC,IACxBmsY,EAAGloO,EAAE,GAAG+7K,EAAE3oV,GAAEm3L,EAAGxuL,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,EAAEu2nB,EAAG59Q,EAAGwzB,EAAGnsD,EAAE,IAAIA,EAAE,GAAG,CAAC,MAAM/3W,GAAE,KAC9D,EAAE,IACF8oX,EAAGx4Z,EAAE,GAAG6qa,EAAG7qa,EAAE,GAAGxG,EAAEwkxB,GAAGh+wB,EAAE,GAAGA,EAAE,GAAGD,GAAG8uB,EAAEr1B,EAAE,GAAGs3b,EAAGt3b,EAAE,GAAG,GAC7C,iBAAJq1B,GAAc,IAAIA,EAAE,GAAG,CAAC,IACxBmtvB,EAAGxixB,EAAE,GAAGq9D,EAAEiI,GAAE05V,EAAG3pY,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,EAAEg8Y,EAAGimB,EAAGkrV,EAAGnltB,EAAE,IAAIA,EAAE,GAAG,CAAC,MAAMnnB,GAAE,KAC9D,EAAE,IACFsiX,EAAGhyZ,EAAE,GAAGo7E,EAAGp7E,EAAE,GAAG43C,EAAEomuB,GAAGh+wB,EAAE,GAAGA,EAAE,GAAGD,GAAGm3C,EAAEU,EAAE,GAAGw2W,EAAGx2W,EAAE,GAAG,GAC7C,iBAAJV,GAAc,IAAIA,EAAE,GAAG,CAAC,IACxBwpX,EAAG9oX,EAAE,GAAG7G,EAAE+tB,GAAEkzV,EAAG96W,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,EAAEkkC,EAAGgzU,EAAGsS,EAAG3vX,EAAE,IAAIA,EAAE,GAAG,CAAC,MAAMrB,GAAE,KAC9D,EAAE,IACFi6a,EAAG3pd,EAAE,GAAG6wlB,EAAG7wlB,EAAE,GAAG+mD,EAAEi3tB,GAAGh+wB,EAAE,GAAGA,EAAE,GAAGD,GAAGN,EAAEsnD,EAAE,GAAG4piB,EAAG5piB,EAAE,GAAG,GAC7C,iBAAJtnD,GAAc,IAAIA,EAAE,GAAG,CAAC,IACxBmxlB,EAAG7piB,EAAE,GAAG5V,EAAE2tB,GAAE6qZ,EAAGlqd,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,EAAEoxlB,EAAGF,EAAGC,EAAGz/iB,EAAE,IAAIA,EAAE,GAAG,CAAC,MAAMzB,GAAE,KAC9D,EAAE,IACFotY,EAAG98a,EAAE,GAAGgplB,EAAGhplB,EAAE,GAAGw3D,EAAEwmtB,GAAGh+wB,EAAE,GAAGA,EAAE,GAAGD,GAAG5G,EAAEq+D,EAAE,GAAGyxhB,EAAGzxhB,EAAE,GAAG,GAC7C,iBAAJr+D,GAAc,IAAIA,EAAE,GAAG,CAAC,IACxB8wvB,EAAGzyrB,EAAE,GAAGjhB,EAAEuoB,GAAEg+W,EAAG3jb,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE6vlB,EAAGC,EAAGghK,EAAG1zsB,EAAE,IAAIA,EAAE,GAAG,CAAC,MAAM7G,GAAE,KAC9D,EAAE,IACFohtB,EAAG9wvB,EAAE,GAAGywC,EAAEuypB,GAAGhjsB,EAAE,GAAGD,GAAG+7I,EAAErrG,EAAE,GAAGk9sB,EAAGl9sB,EAAE,GAAG,GAChC,iBAAJqrG,GAAc,IAAIA,EAAE,GAAG,CAAC,IACxBnrG,EAAEmuB,GAAEgyrB,EAAGh1mB,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE6xmB,EAAGh9sB,EAAE,IAAIA,EAAE,GAAG,CAAC,MAAMjB,GAAE,KAChD,GAAG,IACHk4W,GAAE9oV,GAAE9+D,EAAE,GAAGD,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG6nZ,GAAE,IAAIA,GAAE,IAAI,KACrC,GAAG,IACH0qW,GAAGtyvB,EAAE,GAAGunZ,GAAEzoV,GAAE9+D,EAAE,GAAGD,GAAG,MAAM,CAAC,EAAE,CAAC,GAAGuyvB,GAAG/qW,GAAE,IAAIA,GAAE,IAAI,KAChD,GAAG,IACHyqW,GAAGhyvB,EAAE,GAAG8nZ,GAAEhpV,GAAE9+D,EAAE,GAAGD,GAAG,MAAM,CAAC,EAAE,CAAC,GAAGiyvB,GAAGlqW,GAAE,IAAIA,GAAE,IAAI,KAChD,GAAG,GACC,iBAAJ/nZ,GAAc,IAAIA,EAAE,GAAG,CAAC,IACxB09E,GAAE19E,EAAE,GAAGm6vB,GAAGn6vB,EAAE,GAAG89wB,GAAG79wB,EAAE,GAAGs7vB,GAAGt7vB,EAAE,GAAG,GAAGg6vB,GAAG,CAAC,EAAEh6vB,EAAE,IAAI,CAAC,EAAEy9E,KAAI,MAAM/tC,GAAE,IAC7D83W,GAAE1oV,GAAE++sB,GAAG3jB,IAAI,MAAM,CAAC,EAAE,CAAC,GAAGoB,GAAG79qB,GAAE+pU,GAAE,IAAIA,GAAE,GAAG,CAAC,MAAM,KAC/C,GAAG,GACC,iBAAJznZ,GAAc,IAAIA,EAAE,GAAG,CAAC,IACxBsrZ,GAAEtrZ,EAAE,GAAG2tvB,GAAG3tvB,EAAE,GAAGsyvB,GAAGryvB,EAAE,GAAG04vB,GAAG14vB,EAAE,GAAGs7wB,GAAGt7wB,EAAE,GAAG89wB,GAAG,CAAC,EAAE1muB,GAAEi0W,KAAI,GAAG2uW,GAAG,CAAC,EAAE5itB,GAAEshtB,KAAKolB,IAAI,MAAMpuuB,GAAE,IAC/Eo7W,GAAEhsV,GAAEuzrB,GAAGj7sB,GAAEs2sB,KAAK,MAAM,CAAC,EAAE,CAAC,GAAG4tB,GAAGjwX,GAAEP,GAAE,IAAIA,GAAE,GAAG,CAAC,MAAM,KAClD,GAAG,GACC,iBAAJ/qZ,GAAc,KAAKA,EAAE,GAAG,CAAC,IACzBguC,GAAE+wB,GAAE9+D,EAAE,GAAGD,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,GAAGguC,GAAE,IAAIA,GAAE,GAAG,CAAC,MAAM,KAC9C,GAAG,GACC,iBAAJhuC,GAAc,KAAKA,EAAE,GAAG,CAAC,IACzBkyc,GAAEnzY,GAAE9+D,EAAE,GAAGD,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,GAAGkyc,GAAE,IAAIA,GAAE,GAAG,CAAC,MAAM,KAC9C,GAAG,IACH8rU,GAAG/9wB,EAAE,GAAGqxC,GAAEytB,GAAE9+D,EAAE,GAAGD,GAAG,MAAM,CAAC,EAAE,CAAC,GAAGg+wB,GAAG1suB,GAAE,IAAIA,GAAE,IAAI,KAChD,GAAG,IACH/B,GAAEtvC,EAAE,GAAGqkD,GAAErkD,EAAE,GAAG,GAAG,IAAIqkD,GAAE,GAAG,CAAC,IAC3BpT,GAAEoT,GAAE,GAAGqjiB,GAAGz2iB,GAAE,GAAGl1B,GAAE+iD,GAAE7tB,GAAE,GAAGlxC,GAAG+ovB,GAAG/suB,GAAE,GAAGC,GAAE8iD,GAAExvB,GAAEvzB,GAAE,IAAI,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE+suB,GAAGphK,KAAK1rkB,GAAE,IAAIA,GAAE,GAAG,CAAC,IACtF6rY,GAAExjW,GAAE,GAAGinsB,GAAGzjW,GAAE,GAAGxuU,GAAEva,GAAE+oV,GAAE,GAAG9nZ,GAAG6xvB,GAAGv4qB,GAAE,GAAGsuU,GAAE7oV,GAAExvB,GAAE+pC,GAAE,IAAI,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAEu4qB,GAAGtG,KAAK3jW,GAAE,IAAIA,GAAE,IAAI,KACtF,GAAG,GACC,iBAAJ5nZ,GAAc,KAAKA,EAAE,GAAG,CAAC,IACzBk5C,GAAE6lB,GAAE9+D,EAAE,GAAGD,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,GAAGk5C,GAAE,IAAIA,GAAE,GAAG,CAAC,MAAM,KAC9C,GAAG,GACC,iBAAJl5C,GAAc,IAAIA,EAAE,GAAG,CAAC,IACxBk+wB,GAAGj+wB,EAAE,GAAGytvB,GAAGztvB,EAAE,GAAGsxC,GAAEwtB,GAAE9+D,EAAE,GAAGD,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,GAAG0tvB,GAAGwwB,GAAG3suB,GAAE,IAAIA,GAAE,GAAG,CAAC,MAAM,KACpE,GAAG,GACC,iBAAJvxC,GAAc,IAAIA,EAAE,GAAG,CAAC,IACxB8svB,GAAG7svB,EAAE,GAAG0nZ,GAAE5oV,GAAE9+D,EAAE,GAAGD,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,GAAG8svB,GAAGnlW,GAAE,IAAIA,GAAE,GAAG,CAAC,MAAM,KACzD,GAAG,IACHtgW,GAAEpnD,EAAE,GAAG0uC,GAAE1uC,EAAE,GAAG,GACV,iBAAJ0uC,GAAa,OAAOA,IAAG,KACvB,EAAmB,KACnB,EAGkD,QAAQ,OAAOq0pB,GAAGr0pB,GAAE0Y,GAAErnD,GAHrD,KACnB,EAAE,GACE,iBAAJA,GAAc,KAAKA,EAAE,GAAG,CAAC,IACzBs8Z,GAAGv9V,GAAE1X,GAAErnD,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,GAAG,EAAEs8Z,GAAG,IAAIA,GAAG,GAAG,CAAC,MAAM3sX,QAChD,OAAOhB,GAAE,IAAI,KACb,EAAmB,KACnB,EAAmB,KACnB,EAAmB,KACnB,EAAmB,KACnB,EAAmB,KACnB,EAAmB,KACnB,EAAmB,KACnB,EAGyE,KACzE,GAAoB,QAAQ,OAAOq0pB,GAAGr0pB,GAAE0Y,GAAErnD,GAJvB,KACnB,EAAE,OAAOgjsB,GAAG,CAAC,EAAEr0pB,GAAE,GAAGA,GAAE,IAAI0Y,GAAErnD,GAAG,KAC/B,EAAE,IACFuolB,GAAG55iB,GAAE,GAAGk7oB,GAAG51P,GAAGtlZ,GAAE,GAAG0Y,GAAErnD,GAAGy3b,GAAGoyP,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAEthG,GAAGshG,GAAG,IAAIpyP,GAAG,IAAIA,GAAG,KACvB,MAAM9nZ,EAAC,CAAC,SACtDqzpB,GAAG37oB,EAAE1Y,EAAE1uC,GAAG,IACVD,EAAE++D,GAAEpwB,EAAE1uC,GAAG,MAAM,CAAC,EAAE,CAAC,GAAGonD,EAAErnD,EAAE,IAAIA,EAAE,GAAG,CAAC,SACpCqgb,GAAGlpY,EAAEw0L,EAAE3rO,GAAG,IACVC,EAAE43C,GAAE73C,GAAG0nE,EAAE,GAAGikK,EAAEx0L,EAAE,EAAEkQ,EAAEotY,GAAG9oN,GAAG,GAAGtkL,GAAGpnD,EAAE,OAAOD,EAAE,IAC7B2uC,EAAE4suB,GAAGl0tB,EAAjB,IAAIqgB,EAAE,GAAG,IAAa,OAAOA,GAAG,KAClC,EAAEm0sB,GAAG77wB,EAAE,EAAE2uC,EAAE,EAAE1uC,GAAG,MAAM,KACtB,EAAE47wB,GAAG77wB,EAAE,EAAE2uC,EAAE0Y,EAAEpnD,EAAE,EAAEA,GAAG,MAAM,QAAQ,IAClC3I,EAAE,EAAE,GAAG,EAAE2I,EAAE,CAAC,IACZxG,EAAE,EAAK,KAAKu3C,GAAEhxC,EAAE,IAAI,KAAKgxC,GAAEhxC,EAAE,IAAI,KAAKgxC,GAAEhxC,EAAE,KAAI1I,EAAE,EAAEmC,EAAE,GAAMA,IAAG64vB,GAAG3jtB,EAAE,EAAEqC,GAAEhxC,EAAE,IAAI67wB,GAAG77wB,EAAE,EAAE2uC,EAAU,GAAP0Y,EAAEpnD,EAAE,GAAK,EAAEA,EAAE,EAAE,GAAG,MACxG3I,EAAE,EAAE,GAAGA,EAAE,CAAC,IACVuI,EAAE,EAAE,GAAG,EAAEI,GAAG,KAAK+wC,GAAEhxC,EAAE,GAAG,CAAC,IACzB8uB,EAAE,EArkEkvE,MAqkExuEkiB,GAAEhxC,EAAE,IAAI,KAAKgxC,GAAEhxC,EAAE,KAAIH,EAAE,EAAEivB,EAAE,GAAMA,IAAGwjuB,GAAG3jtB,EAAE,EAAEqC,GAAEhxC,EAAE,IAAI67wB,GAAG77wB,EAAE,EAAE2uC,EAAU,GAAP0Y,EAAEpnD,EAAE,GAAK,EAAEA,EAAE,EAAE,GAAG,MAC3FJ,EAAE,EAAKA,GAAEg8wB,GAAG77wB,EAAE,EAAE2uC,EAAE0Y,EAAEpnD,EAAE,EAAEA,EAAE,EAAE,OAAS0uC,CAAE,CAAC,SACxCwvuB,GAAGhnuB,EAAEl3C,GAAG,IACR0uC,EAAE8lZ,GAAGt9Y,GAAGn3C,EAAE63C,GAAE53C,GAAGonD,EAAErW,GAAE/wC,EAAE,GAAG3I,EAAE,EAAE,GAAG,IAAI+vD,EAAM,IAAIA,EAAQ,EAAEA,GAxkE0uF,KAwkEnuF,IAAG/vD,EAAE,GAChE,IAAI+vD,IAAE/vD,EAAE,OAAM,CAAC,IAClBuI,EAAE,EAAE,GAAG,KAAKwnD,EAAE,GAAG,IAAIA,EAAE,OAAOA,EAAE,GAAG,GAAG,KACtC,EAAE,GAAGrnD,GAAG2uC,EAAE,EAAE,IAAI,EAAE3uC,EAAE,CAAC,IACrB8uB,EAAE,EAAkC,GA5kEgtE,MA4kExuEkiB,GAAE/wC,EAAE,IAAI,KAAK+wC,GAAE/wC,EAAE,KAAG6uB,EAAE,GAAKA,EAAE,CAAC,IAC1C44C,EAAE6zsB,GAAG5suB,EAAE,EAAE,EAAE,IAA+C,OAA3C2jtB,GAAG5qrB,EAAE,EAAE12B,GAAE/wC,EAAE,IAAI47wB,GAAG57wB,EAAE,EAAEynE,EAAU,GAAP/4B,EAAE3uC,EAAE,GAAK,EAAEA,EAAE,EAAE,GAAY0nE,CAAE,CAAC,CAACpwE,EAAE,EAAEuI,EAAE,EAAE,MAAM,KACrF,EAAE,KACF,EAAE,MAAM,KACR,EAAE,KACF,EAAE,KACF,EAAEA,EAAE,EAAE,MAAM,QAAQvI,EAAE,EAAEuI,EAAE,OAC1BA,EAAE,EAAE,IAAIA,GAAGG,GAAG2uC,EAAE,EAAE,GAAG,CAAC,IACtBg9L,EAAE4viB,GAAG5suB,EAAE,EAAE,EAAE,IAA0C,OAAtC2jtB,GAAG3mhB,EAAE,EAAEtkL,GAAGw0tB,GAAG57wB,EAAE,EAAE0rO,EAAU,GAAPh9L,EAAE3uC,EAAE,GAAK,EAAEA,EAAE,EAAE,GAAY2rO,CAAE,CAAC,CAAC,GAAGr0O,GAAG0I,EAAE2uC,EAAE,CAAC,IAC7El1C,EAAE8hxB,GAAG5suB,EAAE,IAAsB,OAAlBktuB,GAAG57wB,EAAE,EAAExG,EAAEk1C,EAAE3uC,EAAE,EAAEA,GAAYvG,CAAE,CAAC,OAAOwG,CAAC,CAAC,SAClDm+wB,GAAGjnuB,GACQ,IADL,IACNroB,EAAE,EAAEkiB,EAAE6G,GAAEV,KAAU,CAAC,GAAGnG,GAAGliB,EAAE,IAC3B11B,EAAE+9C,MAAM,CAAC,IACTsgB,EAAEo5hB,GAAG15iB,EAAEroB,IAzlE62C,GAylEv2C,EAAEitH,EAAE,EACJ,GADS,GAAGtkF,IAAI,EAAM,GAAGA,EAAE,KAAK,IAAEskF,EAAE,GAC9C,IAAItkF,IAAEskF,EAAE,IAAMA,EAAE,CACnBjtH,EAAEA,EAAE,EAAE,EAAE,QAAQ,CAAC,IACjBx3B,EAAEqpa,GAAGxpX,GAAGn3C,EAAE,CAAC,EAAE,GAAGP,EAAEmxlB,GAAGt5lB,GAAG,EAAE,EAAM,KAAKmI,EAAE,GACnC,IADuC,IAC3ChG,EAD8B,IACnB,CAAC,IACZoG,EAAEuyvB,GAAG96vB,EAAEmC,GAAGkyO,EAAE,EAAE,GAAG,IAAI9rO,EAAE,CAAC,IACxBmnD,EAAEnnD,EAAE,GAAG,EAAEykD,EAAE,EACY,GADP,GAAG0C,IAAI,EAAM,IAAIA,IAAE1C,EAAE,GAClC,GAAG0C,EAAE,IAAI,IAAG2kL,EAAE,EAAErnL,EAAE,IAAMA,EAAE,CAAC,IAC9B5kD,EAAE,EAAEisO,EAAE,CAAC,CAAC,MACL,IAAI9rO,EAAM,KAAKA,IAAE8rO,EAAE,GACnB,GAAG9rO,IAAE8rO,EAAE,GAAE,OAAOA,GAAG,KACtB,EACAjsO,EAAE,EAAE,MAAM,KACV,EACAA,EAAE,EAAQM,EAAE,GAAGA,EAAE,GAAGN,EAAE,EAAE,IACxBo3D,EAAEr9D,EAAE,EAAE,EAAE,GAAGgG,IAAIhG,EACF,MAAbA,EAAEq9D,CAAgB,CAAE,GAAG92D,EAAE,KAAK4wlB,GAAGt5lB,GAAG,IACpCynE,EAAE28sB,GAAGpkxB,OAAO,CAAC,IACb2I,EAAEu2C,GAAEx2C,EAAE,IAAIA,EAAE,GAAG,EAAE,IACjBmW,EAAEy6kB,GAAGt5lB,GAAG,EAAE,EAAM,KAAK6e,EAAE,GACnB,IADuB,IAC3BuxD,EADc,IACH,CAAC,IACZ/4B,EAAEyjtB,GAAG96vB,EAAEowE,GAAGrgB,EAAE,EAAE,GAAG,IAAI1Y,EAAY0Y,EAAP,KAAK1Y,EAAI,EAChC87sB,GAAI97sB,EAAI,EACT,OACF,GAAG,IAAIA,EAAW0Y,EAAN,IAAI1Y,EAAI,EAClB,OACF,GAAG,IAAIA,EAAE0Y,EAAE,OACX,OAAO1Y,GAAG,KACV,EAAEk5W,GAAE5nZ,EAAED,EAAE,GAAG,IAAIA,EAAE,KAAK6nZ,GAAE5nZ,EAAED,EAAE,GAAG,IAAI,MAAM,KACzC,EAAE6nZ,GAAE5nZ,EAAED,EAAE,GAAG,IAAIA,EAAE,KAAK6nZ,GAAE5nZ,EAAED,EAAE,GAAG,KAAK,MAAM,KAC1C,GAAG6nZ,GAAE5nZ,EAAED,EAAE,GAAG,IAAIA,EAAE,KAAK6nZ,GAAE5nZ,EAAED,EAAE,GAAG,KAAK,MAAM,KAC3C,GAAG6nZ,GAAE5nZ,EAAED,EAAE,GAAG,IAAIA,EAAE,KAAK6nZ,GAAE5nZ,EAAED,EAAE,GAAG,KAAK,MAAM,QAAQqnD,EAAE,EAAE,OAAOA,GAAG,KACjE,EAAEwgW,GAAE5nZ,EAAED,EAAE,GAAG,IAAIA,EAAE,KAAK6nZ,GAAE5nZ,EAAED,EAAE,GAAG,IAAI2uC,EAznE22E,IAynEt2E,GAAG,GAAG3uC,EAAE,KAAK6nZ,GAAE5nZ,EAAED,EAAE,GAAG,KAAK2uC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG3uC,EAAE,KAAK6nZ,GAAE5nZ,EAAED,EAAE,GAAG,IAAI2uC,EAAE,GAAG,GAAG,GAAG,MAAM,KACzH,EAAEk5W,GAAE5nZ,EAAED,EAAE,GAAG,IAAIA,EAAE,KAAK6nZ,GAAE5nZ,EAAED,EAAE,GAAG2uC,GAAG,MAAM,KACxC,EAAEk5W,GAAE5nZ,EAAED,EAAE,GAAG2uC,GAAS3uC,EAAE,KAAK,IAC3B0nZ,EAAEhgV,EAAE,EAAE,EAAE,GAAGvxD,IAAIuxD,EACF,MAAbA,EAAEggV,CAAgB,CAClB3oV,EAAE9+D,CAAC,CACH7G,EAAE40C,GAAE+wB,EAAE,CAAC,IACPxf,EAAE1H,GAAEz+C,GAAGg5C,EAAEmpuB,GAAGh8tB,EAAE,EAAE,EAAE,IAAkB,OAAdqpZ,GAAGxvc,EAAE,EAAEg5C,EAAE,EAAEmN,GAAUvR,GAAEoE,EAAE,CAAC,CAAC,SACjDisuB,GAAGh3tB,EAAEskL,GAAG,IACRjkK,EAAE+sX,GAAG9oN,GAAG9rO,EAAEmgwB,GAAG,GAAG,OAAO34sB,EAAE,IAAI,KAC7B,EAAE,IACFpnD,EAAE,IAAI,MAAM,KACZ,EACAA,EAAE,IAAI,MAAM,KACZ,EACAA,EAAE,GAAG,MAAM,KACX,EACAA,EA1oE2vE,IA0oEtvE,MAAM,KACX,EACAA,EAAE,GAAG,MAAM,KACX,EACAA,EAAEJ,EAAE,MAAM,KACV,EACAI,EAAE,IAAI,MAAM,KACZ,EACAA,EAAE,GAAG,MAAM,QACXA,EAAE,GAAG,IACL0uC,EAAE6uuB,GAAG,IAAa,OAATE,GAAG/uuB,EAAE,IAAW0Y,EAAE,IAAI,KAC/B,EAAE,MAAM,KACR,EAAEq2tB,GAAG/uuB,EAAE,IAAI,MAAM,QAAQ+uuB,GAAG/uuB,EAAE,IAAqD,OAA9C,GAAG0Y,EAAE,IAAGq2tB,GAAG/uuB,EAAE,IAAI+uuB,GAAG/uuB,EAAE,IAAIY,GAAEZ,EAAE3uC,GAAE1I,GAAEowE,IAAIg2sB,GAAG/uuB,EAAE1uC,GAAU09wB,GAAGhvuB,EAAE,CAAC,SAChGiyY,GAAGlhb,EAAEM,GAAG,GAAG,IAAIN,EAAE,CAAC,IAClBisO,EAAE,CAAC,EAAE,GAAGjkK,EAAE7vB,GAAE73C,GAAG,EAAE,EAAM,KAAK0nE,EAAE,GAC1B,IAD8B,IAClC/4B,EADqB,IACV,CAAM,EAAEkijB,GAAG7wlB,EAAE2uC,IAzpEo5D,KAypE54D,GAAGg9L,EAAE,KAAK,IAC1CrnL,EAAE3V,EAAE,EAAE,EAAE,GAAG+4B,IAAI/4B,EACF,MAAbA,EAAE2V,CAAgB,CAAE,IACpB7qD,EAAEkyO,EAAE,GAAG78M,EAAE0nB,GAAEqB,GAAE73C,KAAKvG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG09C,EAAE,CAAC,EAAE,GAAGkQ,EAAE,SAASrnD,GAAuB,OAApBsyvB,GAAGxjuB,EAAEqoB,EAAE,GAAGn3C,GAAGm3C,EAAE,KAAY,CAAC,EAAE7/C,EAAE,CAAC,EAAgB,IAAZmC,EAAE,EAAE,GAAG,EAAE,GAAK,GAAGutD,EAAEnP,GAAE73C,GAAG,EAAE,EAAM,KAAKgnD,EAAE,GAC/H,IADmI,IACvI/mD,EAD0H,IAC/G,CAAC,IACZJ,EAAEgxlB,GAAG7wlB,EAAEC,GAAM,EAAEJ,GA9pE65D,KA8pEt5D,IAAe,IAAIvI,EAAE,KAAI+vD,EAAE,IAAI/vD,EAAE,GAAG,GAAEA,EAAE,KAAK,GAA3C+vD,EAAExnD,GAAgD,IAC1Ek8I,EAAE97I,EAAE,EAAE,EAAE,GAAG+mD,IAAI/mD,EACF,MAAbA,EAAE87I,CAAgB,CAAE,OAASjtH,CAAE,CAAC,OAAO9uB,CAAC,CAAC,SACzCs+wB,GAAGr+wB,EAAE0uC,GAAG,OAAO1uC,GAAG,KAClB,EAAE,IACFD,EAAE8gwB,GAAG,MAAM,KACX,EACA9gwB,EAAE+gwB,GAAG,MAAM,KACX,EACA/gwB,EAAEghwB,GAAG,MAAM,KACX,EACAhhwB,EAAEihwB,GAAG,MAAM,KACX,EACAjhwB,EAAEkhwB,GAAG,MAAM,KACX,EACAlhwB,EAAEmhwB,GAAG,MAAM,KACX,EACAnhwB,EAAEohwB,GAAG,MAAM,KACX,EACAphwB,EAAEqhwB,GAAG,MAAM,KACX,GACArhwB,EAAEshwB,GAAG,MAAM,KACX,GACAthwB,EAAEuhwB,GAAG,MAAM,KACX,EAAE,KACF,GACAvhwB,EAAEwhwB,GAAG,MAAM,KACX,EAAE,KACF,GACAxhwB,EAAEyhwB,GAAG,MAAM,QACXzhwB,EAAE0hwB,GAAG,OAAO9gV,GAAG3gb,EAAEq4B,GAAGt4B,EAAE2uC,GAAG,CAAC,SAC1B4vuB,GAAGt+wB,EAAE0uC,GAAG,OAAO1uC,GAAG,KAClB,EAAE,IACFD,EAAEs1b,GAAG,MAAM,KACX,EACAt1b,EAAEumB,GAAG,MAAM,KACX,EACAvmB,EAAE4vc,GAAG,MAAM,KACX,EACA5vc,EAAE03rB,GAAG,MAAM,KACX,EACA13rB,EAAE05c,GAAG,MAAM,KACX,EACA15c,EAAE67a,GAAG,MAAM,KACX,EACA77a,EAAE8+rB,GAAG,MAAM,KACX,EACA9+rB,EAAEugwB,GAAG,MAAM,KACX,GACAvgwB,EAAE+gb,GAAG,MAAM,KACX,GACA/gb,EAAEq1c,GAAG,MAAM,KACX,EAAE,KACF,GACAr1c,EAAEsqrB,GAAG,MAAM,KACX,EAAE,KACF,GACAtqrB,EAAE+oZ,GAAG,MAAM,QACX/oZ,EAAE84Z,GAAG,OAAO8nB,GAAG3gb,EAAEq4B,GAAGt4B,EAAE2uC,GAAG,CAAC,SAC1B6vuB,GAAGv+wB,EAAE0uC,GAAG,OAAO1uC,GAAG,KAClB,EAAE,IACFD,EAAEksc,GAAG,MAAM,KACX,EACAlsc,EAAEigwB,GAAG,MAAM,KACX,EACAjgwB,EAAEwwE,GAAG,MAAM,KACX,EACAxwE,EAAE6uZ,GAAG,MAAM,KACX,EACA7uZ,EAAE2nb,GAAG,MAAM,KACX,EACA3nb,EAAEkgwB,GAAG,MAAM,KACX,EACAlgwB,EAAEmgwB,GAAG,MAAM,KACX,EACAngwB,EAAEogwB,GAAG,MAAM,KACX,GACApgwB,EAAEqgwB,GAAG,MAAM,KACX,GACArgwB,EAAEg8F,GAAG,MAAM,KACX,EAAE,KACF,GACAh8F,EAAE2ra,GAAG,MAAM,KACX,EAAE,KACF,GACA3ra,EAAE4yZ,GAAG,MAAM,QACX5yZ,EAAEsgwB,GAAG,OAAO1/U,GAAG3gb,EAAEq4B,GAAGt4B,EAAE2uC,GAAG,CAAC,SAC1B8vuB,GAAGx+wB,EAAE0uC,GAAG,OAAO1uC,GAAG,KAClB,EAAE,IACFD,EAAE++X,GAAG,MAAM,KACX,EACA/+X,EAAEyhY,GAAG,MAAM,KACX,EACAzhY,EAAE+kY,GAAG,MAAM,KACX,EACA/kY,EAAE+mY,GAAG,MAAM,KACX,EACA/mY,EAAEwgwB,GAAG,MAAM,KACX,EACAxgwB,EAAEygwB,GAAG,MAAM,KACX,EACAzgwB,EAAE0gwB,GAAG,MAAM,KACX,EACA1gwB,EAAE2gwB,GAAG,MAAM,KACX,GACA3gwB,EAAE4gwB,GAAG,MAAM,KACX,GACA5gwB,EAAE6gwB,GAAG,MAAM,KACX,EAAE,KACF,GACA7gwB,EAAE2gd,GAAG,MAAM,KACX,EAAE,KACF,GACA3gd,EAAE2kY,GAAG,MAAM,QACX3kY,EAAE+8Z,GAAG,OAAO6jB,GAAG3gb,EAAEi4vB,GAAGl4vB,EAAE2uC,GAAG,CAAC,SAC1Bu0Z,GAAGjjc,EAAE3I,EAAE0I,GAAG,SACVH,EAAEwnD,GAAG,OAAOpnD,EAAE,IAAI,KAClB,EAAE,IACF0uC,EAAE,GAAG,MAAM,KACX,EACAA,EAAE,GAAG,MAAM,QACXA,EAAE,GAAG,OAAOqptB,GAAGh4vB,EAAE1I,EAAEq3C,EAAE,CAAC,SACtBwI,EAAExI,GAAG,IACL1uC,EAltE0C,SACvCD,GAAG,OAAGguD,SAAShuD,GAAOoX,KAAKgB,IAAIpY,IAAI,uBAA+B,EAAQ,GAAHA,EAAY,EAAS,EAAS0P,MAAM1P,GAAG,EAAE,CAAC,CAitElH0+wB,CAAG1+wB,GAAG,OAAO,IAAIC,EAAED,EAAE,EAAG6/vB,GAAGC,GAAG,GAAG7/vB,EAAE2/vB,GAAGjxtB,CAAC,CAAC,OAAO1uC,EAAE,IAAI,KACvD,EAC2B,IADzB,IACFonD,EAAE4vO,GAAGonf,GAAGp+wB,EAAE3I,GAAG0I,GAAG2uC,EAAE,EAAEqY,EAAEnP,GAAEwP,KAAU,CAAC,GAAG1Y,IAAIqY,EAAE,IAC5Cl4B,EAAE,MAAM,CAAC,IACT68M,EAAE36L,GAAEqW,EAAE1Y,GAAG,GAAG,EAAEl1C,EAAE,EACE,GADG,GAAGkyO,IAAI,EAAM,KAAKA,IAAElyO,EAAE,GACxC,GAAGkyO,EAAE,IAAI,IAAElyO,EAAE,IAAMA,EAAE,CACxBk1C,EAAEA,EAAE,EAAE,EAAE,QAAQ,CAChB7f,EAAE,CAAC,CACW,OAAOqoB,EAAnBroB,EAAEu4B,EAAEqgB,GAAErgB,EAAE04sB,IAAe,CAAC,KAC1B,EAAE,OAAOlgwB,IAAK,KACd,EAAE,OAASk8wB,GAAGd,GAAMp7wB,KAAQ,KAC5B,EAAE,OAAOs3C,EAAEt3C,KAAM,QAAQ,OAAOo3R,GAAGonf,GAAGp+wB,EAAE3I,GAAG0I,GAAG,CAAC,SAC/C++hB,GAAGzniB,EAAEkwZ,EAAE52W,EAAEF,GACG,IADA,IACZ/B,EAAE64W,EAAExnZ,EAAE4wC,EAAEyW,EAAE3W,IAAS,IACf,iBAAJ2W,EAAa,OAAOpnD,GAAE0uC,EAAE3uC,GACxB,OAAOqnD,EAAE,IAAI,KACb,EAAE,IACF0gW,EAAE1gW,EAAE,GAAG,OAAO,SAASpnD,GAAG,OAAO87I,GAAEptG,EAAE,CAAC,EAAE3uC,EAAEC,GAAG8nZ,EAAE,EAAE,KACjD,EAAE,IACFN,EAAEpgW,EAAE,GAAG,OAAO,SAASpnD,GAAG,IAC1B3I,EAAE,EAAE,GAAG,IAAI2I,EAAE,GAAG,KAAKA,EAAE,IACvBonD,EAAEi1sB,QACOhlwB,EAANmzvB,GAAIxqvB,EAAI,EACT,OACF,GAAG,IAAIA,EAAE,GAAG,IAAIA,EAChBonD,EAAE0sW,QACFz8Z,EAAE,OACF,GAAG,IAAI2I,EAAE3I,EAAE,OACX,OAAO2I,GAAG,KACV,EACAonD,EAAE0qY,GAAG,MAAM,KACX,EACA1qY,EAAEuoW,GAAG,MAAM,KACX,GACAvoW,EAAEmhY,GAAG,MAAM,KACX,GACAnhY,EAAEk1sB,GAAG,MAAM,QAAQjlwB,EAAE,EAAE,OAAOA,GAAG,KACjC,EAAE,IACFuI,EAAE22C,GAAE,GAAGqxW,GAAEhoZ,EAAE,EAAE,IAAIgoZ,GAAEhoZ,EAAE,EAAE,IAAII,EA/zEm3E,IA+zE92E,GAAG,GAAG4nZ,GAAEhoZ,EAAE,EAAE,KAAKI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG4nZ,GAAEhoZ,EAAE,EAAE,IAAII,EAAE,GAAG,GAAG,GACpFonD,EAAIxnD,EAAG,MAAM,KACb,EAAE,IACF8rO,EAAEn1L,GAAE,GAAGqxW,GAAEl8K,EAAE,EAAE1rO,GACbonD,EAAIskL,EAAS,IACbjkK,EAAE7vB,GAAEwP,GAAG5tD,EAAE8hxB,GAAG7zsB,EAAE,EAAE,EAAE,IAAkB,OAAdkhY,GAAGvhZ,EAAE,EAAE5tD,EAAE,EAAEiuE,GAAUq0E,GAAEptG,EAAE,CAAC,EAAE3uC,EAAIvG,GAAIguZ,EAAE,EAAE,KAC9D,EAAE,IACF6D,EAAEjkW,EAAE,GAAG0jW,EAAE1jW,EAAE,GAAG,OAAOs3tB,GAAGhwuB,EAAE3uC,EAAEsrZ,EAAEP,EAAE,SAAS/qZ,GAAG,OAAOA,CAAC,GAAG,KACvD,EAAE,OAAO2+wB,GAAGhwuB,EAAE3uC,EAAEqnD,EAAE,GAAGA,EAAE,GAAG+2tB,IAAI,KAC9B,EAAE,OAAOnqU,GAAGtla,EAAE3uC,EAAEqnD,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGi3tB,GAAGj3tB,EAAE,IAAI,KACxC,EAAE,OAAO4sZ,GAAGtla,EAAE3uC,EAAEqnD,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGk3tB,GAAGl3tB,EAAE,IAAI,KACxC,EAAE,OAAO4sZ,GAAGtla,EAAE3uC,EAAEqnD,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGm3tB,GAAGn3tB,EAAE,IAAI,KACxC,EAAE,OAAO4sZ,GAAGtla,EAAE3uC,EAAEqnD,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGo3tB,GAAGp3tB,EAAE,IAAI,KACxC,EAAE,IACF5tD,EAAE4tD,EAAE,GAAGv4B,EAAEu4B,EAAE,GAAGlQ,EAAEkQ,EAAE,GAAGqgB,EAAErgB,EAAE,GAAG,GACxB,iBAAJlQ,EAAa,CAAC,GACV,iBAAJroB,EAAa,OAAOA,EAAE,SAASu4B,EAAEpnD,GAAG,OAAO87I,GAAEptG,EAAE,CAAC,EAAE3uC,EAAEkjc,GAAGx7X,EAAErgB,EAAEpnD,IAAIxG,EAAE,EAAE,SAASwG,GAAG,OAAO87I,GAAEptG,EAAE,CAAC,EAAE3uC,EAAEkjc,GAAGx7X,EAAE61sB,GAAG71sB,GAAGznE,IAAIxG,EAAE,EAAE,IAClH4uZ,EAAGv5X,EAAE,GAAG,OAAO,SAAS7uB,GAAG,OAAO87I,GAAEptG,EAAE,CAAC,EAAE3uC,EAAEkjc,GAAGx7X,EAAE2gV,EAAGpoZ,IAAIxG,EAAE,CAAC,CAAM,GAAG,IAAI09C,EAAE,GAAG,CAAC,IAC7E/9C,EAAE+9C,EAAE,GAAGmN,EAAEnN,EAAE,GAAG,GACV,iBAAJroB,EAAa,OAAOA,EAAE,SAASu4B,EAAEpnD,GAAG,OAAO87I,GAAEptG,EAAE,CAAC,EAAE3uC,EAAEqgb,GAAG/7X,EAAElrD,EAAE8pc,GAAGx7X,EAAErgB,EAAEpnD,KAAKxG,EAAE,EAAE,SAASwG,GAAG,OAAO87I,GAAEptG,EAAE,CAAC,EAAE3uC,EAAEqgb,GAAG/7X,EAAElrD,EAAE8pc,GAAGx7X,EAAE61sB,GAAG71sB,GAAGznE,KAAKxG,EAAE,EAAE,IAClI+1c,EAAG1gb,EAAE,GAAG,OAAO,SAAS7uB,GAAG,OAAO87I,GAAEptG,EAAE,CAAC,EAAE3uC,EAAEqgb,GAAG/7X,EAAElrD,EAAE8pc,GAAGx7X,EAAE8nY,EAAGvvc,KAAKxG,EAAE,CAAC,CAAC,IACnE8lD,EAAEpI,EAAE,GAAG,GACH,iBAAJroB,EAAa,OAAOA,EAAE,SAASx3B,EAAE+vD,EAAEpnD,GAAG,OAAO87I,GAAEptG,EAAE,CAAC,EAAE3uC,EAAEqgb,GAAG9gY,EAAEjoD,EAAE4rc,GAAGx7X,EAAErgB,EAAEpnD,KAAKxG,EAAE,EAAE,SAAS4tD,EAAEpnD,GAAG,OAAO87I,GAAEptG,EAAE,CAAC,EAAE3uC,EAAEqgb,GAAG9gY,EAAE8H,EAAE67Y,GAAGx7X,EAAE61sB,GAAG71sB,GAAGznE,KAAKxG,EAAE,EAAE,IACtI+ld,EAAG1wb,EAAE,GAAG,OAAO,SAASu4B,EAAEpnD,GAAG,OAAO87I,GAAEptG,EAAE,CAAC,EAAE3uC,EAAEqgb,GAAG9gY,EAAE8H,EAAE67Y,GAAGx7X,EAAE83Y,EAAGv/c,KAAKxG,EAAE,EAAE,KACrE,EAAE,OAAOklxB,GAAGhwuB,EAAE3uC,EAAEqnD,EAAE,GAAGA,EAAE,GAAGowoB,IAAI,KAC9B,GACAz3rB,EAAE,CAAC,EAAEA,GAAGqnD,EAAEA,EAAE,GAAG,SAAS,KACxB,GACArnD,EAAE,CAAC,EAAEA,EAAEqnD,EAAE,IAAIA,EAAEA,EAAE,GAAG,SAAS,KAC7B,GACArnD,EAAE,CAAC,EAAEA,EAAEqnD,EAAE,IAAIA,EAAEA,EAAE,GAAG,SAAS,KAC7B,GAAG,IACH6qZ,EAAE7qZ,EAAE,GAAG/V,EAAE+V,EAAE,GAAGjV,EAAEoruB,GAAG,IAAIK,GAAGzruB,EAAEd,GAAG,IAC/BF,EAAEusuB,GAAGvruB,GAAG,OAAO,SAASnyC,GAAG,OAAO87I,GAAEptG,EAAE,CAAC,EAAE3uC,EAAEoxC,GAAG8ga,EAAE,EAAE,KAClD,GAAG,IACH3ia,EAAE8X,EAAE,GAAGnO,EAAEmO,EAAE,GAAG,OAAO,SAASA,GAAG,IAC1BpnD,EAAE8+D,GAAP1X,EAAE,GAAShQ,GAAEqmC,GAAExkC,KAAK,GACf,iBAAPj5C,EAAE,GAAc,OAAO87I,GAAEptG,EAAE3uC,EAAEyP,GAAExP,EAAE,GAAGsvC,IAAI,MAAMI,EAAC,EAAE,KACjD,GAAG,IACH4B,EAAE8V,EAAE,GAAG,OAAO,SAASA,EAAEpnD,GAAG,OAAO87I,GAAEptG,EAAE,CAAC,EAAE3uC,EAAE,SAASA,GAAG,OAAOH,GAAEwnD,EAAErnD,EAAEC,EAAE,GAAGsxC,EAAE,EAAE,KAC9E,GAAG,IACHo2W,EAAEtgW,EAAE,GAAG,OAAO,SAASpnD,GAAG,OAAO87I,GAAEptG,EAAE,CAAC,EAAE3uC,EAAEC,GAAG0nZ,EAAE,EAAE,KACjD,GACA3nZ,EAAE,CAAC,EAAEA,EAAEqnD,EAAE,IAAIA,EAAEA,EAAE,GAAG,SAAS,KAC7B,GAAG,IACHoQ,EAAEpQ,EAAE,GAAG,GAAG,IAAIoQ,EAAE,GAAG,CAAC,IACpBvmB,EAAEmW,EAAE,GAAGrrC,EAAEy7C,EAAE,GAAG,GAAO9oB,EAAE,SAAS1uC,EAAE0uC,EAAE0Y,GAAG,OAAO,SAASrnD,GAAG,OAAO+7I,GAAEptG,EAAE,CAAC,EAAE1uC,EAAE,CAAC,EAAED,IAAIqnD,EAAE,CAAC,CAA7D,CAA+DrnD,EAAE2uC,EAAEuC,GAAGlxC,EAA1E,EAA8EqnD,EAAErrC,EAAE,QAAQ,CAAC,IAC9G8rY,EAAEzgW,EAAE,GAAGiyB,EAAE7hB,EAAE,GAAG,GAAO9oB,EAAE,SAAS1uC,EAAE0uC,EAAE0Y,GAAG,OAAO,SAASrnD,GAAG,OAAO+7I,GAAEptG,EAAE,CAAC,EAAE1uC,EAAE,CAAC,EAAED,IAAIqnD,EAAE,CAAC,CAA7D,CAA+DrnD,EAAE2uC,EAAEm5W,GAAG9nZ,EAA1E,EAA8EqnD,EAAEiyB,EAAE,SAAS,KAC9G,GAAG,KAAK,CAAC,EAAE75E,GAAEy/vB,IAAI,KACjB,GAAG,IACH5iW,EAAGj1W,EAAE,GAAGwioB,EAAG,CAAC,EAAE7prB,EAAEm/vB,IAAI,OAAO,SAASn/vB,GAAG,OAAO+7I,GAAEptG,EAAEk7oB,EAAGvtR,EAAG,EAAE,KAC1D,GAAG,IACH23B,EAAG5sY,EAAE,GAAG,OAAO,SAASpnD,GAAG,OAAO87I,GAAEptG,EAAE,CAAC,EAAE3uC,EAAEs4B,GAAG2muB,GAAGh/vB,IAAIg0b,EAAG,EAAE,KAC1D,GAAG,IACHwD,EAAGpwY,EAAE,GAAG,OAAO,SAASpnD,GAAG,OAAO87I,GAAEptG,EAAE,CAAC,EAAE3uC,EAAEC,GAAGw3b,EAAG,EAAE,KACnD,GAAG,IACH9rN,EAAEtkL,EAAE,GAAGL,EAAEK,EAAE,GAAG,GACV,iBAAJL,EAAa,OAAOA,GAAG,KACvB,EAA4C,KAC5C,EACgB,QAAQ,OAAO1vD,EAAE,GAAG6e,GAAE7e,EAAE,EAAE,EAAEq3C,EAAE3uC,EAAE2rO,GAAGjsO,GAAEyW,GAAE,CAAC,EAAEw4B,EAAE3uC,EAAE2rO,IADlB,KAC5C,EAAE,KAAK,CAAC,EAAElsO,GAAE2/vB,SACZ,OAAOp4sB,EAAE,IAAI,KACb,EAA4C,KAC5C,EAA4C,KAC5C,EAA4C,KAC5C,EAA4C,KAC5C,EAA4C,KAC5C,EAA4C,KAC5C,EAA4C,KAC5C,EAA4C,KAC5C,EAEuD,KACvD,GAA6C,QAAQ,OAAO1vD,EAAE,GAAG6e,GAAE7e,EAAE,EAAE,EAAEq3C,EAAE3uC,EAAE2rO,GAAGjsO,GAAEyW,GAAE,CAAC,EAAEw4B,EAAE3uC,EAAE2rO,IAH/C,KAC5C,EAAE,IACF36L,EAAEgW,EAAE,GAAG,OAAO1vD,EAAE,GAAGskb,GAAGtkb,EAAE,EAAE,EAAEq3C,EAAE3uC,EAAEgxC,EAAE26L,GAAGjsO,GAAEk8a,GAAG,CAAC,EAAEjtY,EAAE3uC,EAAEgxC,EAAE26L,IAC4C,QAAQ,IACvGn8N,EAAE63C,EAAE,GAAGqgW,EAAErgW,EAAE,GAAGyP,EAAE72D,GAAEonD,EAAE,GAAG,GAAG,OAAO/vD,EAAE,GAAGo4kB,GAAGp4kB,EAAE,EAAE,EAAEq3C,EAAE3uC,EAAEwP,EAAEk4Y,EAAE5wV,GAAGp3D,GAAEgwkB,GAAG,CAAC,EAAE/giB,EAAE3uC,EAAEwP,EAAEk4Y,EAAE5wV,IAAG,CAAC,CAAC,SAC/E8kX,GAAGtkb,EAAE+vD,EAAE1Y,EAAE3uC,EAAEC,GAAG,GACV,iBAAJD,EAAa,OAAO1I,EAAE,GAAG6e,GAAE7e,EAAE,EAAE,EAAE+vD,EAAE1Y,EAAE1uC,GAAGP,GAAEyW,GAAE,CAAC,EAAEkxC,EAAE1Y,EAAE1uC,IACnD,OAAOD,EAAE,IAAI,KACb,EAAE,IACFH,EAAEG,EAAE,GAAG,OAAO,SAASA,GAAG,OAAOiyZ,GAAG5qW,EAAE1Y,EAAE9uC,EAAEI,EAAE,EAAE,KAC9C,EAAE,IACF0rO,EAAE3rO,EAAE,GAAG,OAAO,SAASA,GAAG,OAAOiyZ,GAAG5qW,EAAE1Y,EAAEg9L,EAAE1rO,EAAE,EAAE,KAC9C,EAAE,IACFynE,EAAE1nE,EAAE,GAAG,OAAO,SAASA,GAAG,OAAOiyZ,GAAG5qW,EAAE1Y,EAAE+4B,EAAEznE,EAAE,EAAE,KAC9C,EAAE,IACFxG,EAAEuG,EAAE,GAAG,OAAO,SAASA,GAAG,OAAOiyZ,GAAG5qW,EAAE1Y,EAAEl1C,EAAEwG,EAAE,EAAE,KAC9C,EAAE,IACF6uB,EAAE9uB,EAAE,GAAG,OAAO,SAASA,GAAG,OAAOiyZ,GAAG5qW,EAAE1Y,EAAE7f,EAAE7uB,EAAE,EAAE,KAC9C,EAAE,IACF43C,EAAE73C,EAAE,GAAG,OAAO,SAASA,GAAG,OAAOiyZ,GAAG5qW,EAAE1Y,EAAEkJ,EAAE53C,EAAE,EAAE,KAC9C,EAAE,IACFk3C,EAAEn3C,EAAE,GAAG,OAAO,SAASA,GAAG,OAAOiyZ,GAAG5qW,EAAE1Y,EAAEwI,EAAEl3C,EAAE,EAAE,KAC9C,EAAE,IACF+mD,EAAEhnD,EAAE,GAAG,OAAO,SAASA,GAAG,OAAOiyZ,GAAG5qW,EAAE1Y,EAAEqY,EAAE/mD,EAAE,EAAE,KAC9C,EAAE,IACFw3D,EAAEz3D,EAAE,GAAG,OAAO,SAASA,GAAG,OAAOiyZ,GAAG5qW,EAAE1Y,EAAE8oB,EAAEx3D,EAAE,EAAE,KAC9C,EAAE,IACF7G,EAAE4G,EAAE,GAAG+7I,EAAE/7I,EAAE,GAAGskD,EAAEgnW,GAAE5tU,GAAE19E,EAAE,IAAI+7I,GAAG,OAAO,SAAS/7I,GAAG,OAAOiyZ,GAAG5qW,EAAE1Y,EAAEm5W,GAAExjW,EAAElrD,GAAG6G,EAAE,EAAE,KACzE,GAAG,IACH8+D,EAAE/+D,EAAE,GAAG,OAAO,SAAS1I,EAAE0I,GAAG,OAAOiyZ,GAAG5qW,EAAE1Y,EAAEowB,EAAE9+D,EAAE,EAAE,KAChD,GAAG,IACHs/C,EAAEv/C,EAAE,GAAG,OAAO,SAASA,GAAG,OAAOiyZ,GAAG5qW,EAAE1Y,EAAE4Q,EAAEt/C,EAAE,EAAE,KAC9C,GAAG,IACHmyC,EAAEpyC,EAAE,GAAG,OAAO,SAASA,GAAG,OAAOiyZ,GAAG5qW,EAAE1Y,EAAEyD,EAAEnyC,EAAE,EAAE,KAC9C,GAAG,KAAK,CAAC,EAAER,GAAE4/vB,IAAI,QAAQ,KAAK,CAAC,EAAE5/vB,GAAE6/vB,IAAI,CAAC,SACxCnpvB,GAAEkxC,EAAEpnD,EAAE3I,EAAE0I,GAAG,IACX2uC,EAAE,CAAC,EAAEr3C,EAAEiowB,IAAI,OAAOl4sB,EAAE,GAAG03e,GAAG13e,EAAE,EAAE,EAAEpnD,EAAE0uC,EAAE3uC,GAAGN,GAAEq/hB,GAAG,CAAC,EAAE9+hB,EAAE0uC,EAAE3uC,GAAG,CAAC,SACvD0vkB,GAAGhogB,EAAE/4B,EAAE9uC,EAAEG,EAAE1I,EAAE+vD,GAAG,GAAG/vD,EAAE,CAAC,IACtBmC,EAAEnC,EAAE,GAAG,OAAO,SAASA,GAAG,OAGW,SAClC0I,EAAEC,EAAE0uC,EAAE0Y,EAAE/vD,GAAG,OAAOmjwB,GAAG/qL,GAAG,EAAE1vkB,EAAEC,EAAE0uC,EAAE0Y,EAAE/vD,GAAG,CAJPsnxB,CAAGjwuB,EAAE9uC,EAAEG,EAAEvG,EAAEwG,GAAEonD,EAAE/vD,GAAG,CAAC,CAAC,IACrDq0O,EAAE,CAAC,EAAE9rO,EAAEwnD,GAAG,OAAOqgB,EAAE,GAAGq3d,GAAGr3d,EAAE,EAAE,EAAE/4B,EAAEg9L,EAAE3rO,GAAGN,GAAEq/hB,GAAG,CAAC,EAAEpwf,EAAEg9L,EAAE3rO,GAAG,CAAC,SACtD+7I,GAAE/7I,EAAEC,EAAE0uC,GAAG,OAAO8rtB,GAAG17N,GAAG,EAAE/+hB,EAAEC,EAAE0uC,GAAG,CAAC,SAChCsjX,GAAGjyZ,EAAEC,EAAE0uC,EAAE0Y,GAAG,OAAOozsB,GAAG7+U,GAAG,EAAE57a,EAAEC,EAAE0uC,EAAE0Y,GAAG,CACK,SACzCs3tB,GAAG9+wB,EAAEvI,EAAE+vD,EAAErnD,EAAE2uC,GAAG,GACV,iBAAJ3uC,EAAa,OAAO,SAASA,GAAG,OAAO+7I,GAAEl8I,EAAE,CAAC,EAAEvI,EAAE2I,GAAE0uC,EAAE3uC,IAAIqnD,EAAE,EAAO,GAAG,IAAIrnD,EAAE,GAAG,CAAC,IAC9E2rO,EAAE3rO,EAAE,GAAG0nE,EAAE1nE,EAAE,GAAG,OAAO,SAASA,GAAG,OAAO+7I,GAAEl8I,EAAE,CAAC,EAAEvI,EAAE+ob,GAAG34W,EAAEikK,EAAE1rO,GAAE0uC,EAAE3uC,KAAKqnD,EAAE,CAAC,CAAC,IACrE5tD,EAAEuG,EAAE,GAAG,OAAO,SAAS2rO,EAAE3rO,GAAG,OAAO+7I,GAAEl8I,EAAE,CAAC,EAAEvI,EAAE+ob,GAAG5mb,EAAEkyO,EAAE1rO,GAAE0uC,EAAE3uC,KAAKqnD,EAAE,CAAE,CAAC,SACjE4sZ,GAAGtoO,EAAEr0O,EAAE+vD,EAAEqgB,EAAE/4B,EAAE1uC,EAAED,GAAG,GACd,iBAAJ0nE,EAAa,CAAC,GACV,iBAAJ/4B,EAAa,OAAOA,EAAE,SAAS+4B,EAAE/4B,GAAG,OAAOotG,GAAE4vF,EAAE,CAAC,EAAEr0O,EAAE6mxB,GAAGz2sB,EAAE7nE,GAAEI,EAAED,EAAE2uC,KAAK0Y,EAAE,EAAE,SAAS1Y,GAAG,OAAOotG,GAAE4vF,EAAE,CAAC,EAAEr0O,EAAEuI,GAAEI,EAAED,EAAE2uC,IAAI0Y,EAAE,EAAE,IAClHlQ,EAAExI,EAAE,GAAG,OAAO,SAASA,GAAG,OAAOotG,GAAE4vF,EAAE,CAAC,EAAEr0O,EAAE6mxB,GAAGhnuB,EAAEt3C,GAAEI,EAAED,EAAE2uC,KAAK0Y,EAAE,CAAC,CAAM,GAAG,IAAIqgB,EAAE,GAAG,CAAC,IAChFjuE,EAAEiuE,EAAE,GAAG54C,EAAE44C,EAAE,GAAG,GACV,iBAAJ/4B,EAAa,OAAOA,EAAE,SAAS+4B,EAAE/4B,GAAG,OAAOotG,GAAE4vF,EAAE,CAAC,EAAEr0O,EAAE+ob,GAAGvxZ,EAAEr1B,EAAE0kxB,GAAGz2sB,EAAE7nE,GAAEI,EAAED,EAAE2uC,MAAM0Y,EAAE,EAAE,SAAS1Y,GAAG,OAAOotG,GAAE4vF,EAAE,CAAC,EAAEr0O,EAAE+ob,GAAGvxZ,EAAEr1B,EAAEoG,GAAEI,EAAED,EAAE2uC,KAAK0Y,EAAE,EAAE,IAClIL,EAAErY,EAAE,GAAG,OAAO,SAASA,GAAG,OAAOotG,GAAE4vF,EAAE,CAAC,EAAEr0O,EAAE+ob,GAAGvxZ,EAAEr1B,EAAE0kxB,GAAGn3tB,EAAEnnD,GAAEI,EAAED,EAAE2uC,MAAM0Y,EAAE,CAAC,CAAC,IACtExP,EAAE6vB,EAAE,GAAG,GACH,iBAAJ/4B,EAAa,OAAOA,EAAE,SAASl1C,EAAEiuE,EAAE/4B,GAAG,OAAOotG,GAAE4vF,EAAE,CAAC,EAAEr0O,EAAE+ob,GAAGxoY,EAAEp+C,EAAE0kxB,GAAGz2sB,EAAE7nE,GAAEI,EAAED,EAAE2uC,MAAM0Y,EAAE,EAAE,SAASqgB,EAAE/4B,GAAG,OAAOotG,GAAE4vF,EAAE,CAAC,EAAEr0O,EAAE+ob,GAAGxoY,EAAE6vB,EAAE7nE,GAAEI,EAAED,EAAE2uC,KAAK0Y,EAAE,EAAE,IACtI3nD,EAAEivC,EAAE,GAAG,OAAO,SAAS+4B,EAAE/4B,GAAG,OAAOotG,GAAE4vF,EAAE,CAAC,EAAEr0O,EAAE+ob,GAAGxoY,EAAE6vB,EAAEy2sB,GAAGz+wB,EAAEG,GAAEI,EAAED,EAAE2uC,MAAM0Y,EAAE,CAAE,CAAC,SACzE0xiB,GAAGpqjB,EAAE9uC,GACD,IADI,IACRG,EAAEH,IAAS,IACP,iBAAJG,EAAa,OAAO,EACpB,OAAOA,EAAE,IAAI,KACb,EAAE,IACF2rO,EAAE3rO,EAAE,GAAG0nE,EAAEk2sB,GAAG59wB,EAAE,IAAY,OAAR+4lB,GAAGpqjB,EAAEg9L,GAAUiviB,GAAGjsuB,EAAE+4B,GAAG,KACzC,EAAE,IACFrgB,EAAErnD,EAAE,GAAG1I,EAAE0I,EAAE,GAAG,GAAG,IAAIqnD,EAAE,GAAG,CAAC,IAC3B5tD,EAAE4tD,EAAE,GAAG0xiB,GAAGpqjB,EAAEr3C,GAAGsjxB,GAAGjsuB,EAAE6wtB,IACpBx/vB,EAAEvG,EAAE,QAAQ,CAAC,IACbq1B,EAAEu4B,EAAE,GAAG0xiB,GAAGpqjB,EAAEr3C,GAAGsjxB,GAAGjsuB,EAAE8wtB,IACpBz/vB,EAAE8uB,EAAE,SAAS,KACb,EAAE,IACFk4B,EAAEhnD,EAAE,GAAc,OAAX+4lB,GAAGpqjB,EAAE3uC,EAAE,IAAWC,GAAE+mD,EAAErY,GAAG,KAChC,EAAa,OAAXoqjB,GAAGpqjB,EAAE3uC,EAAE,IAAWuolB,GAAG55iB,GAAG,KAC1B,EAAE,IACFjvC,EAAEM,EAAE,GAAc,OAAX+4lB,GAAGpqjB,EAAE3uC,EAAE,IAAWwnZ,GAAE9nZ,GAAG,KAC9B,EAAE,KACF,EAAE,IACFm4C,EAAE73C,EAAE,GAAc,OAAX+4lB,GAAGpqjB,EAAE3uC,EAAE,IAAW46wB,GAAGjsuB,EAAEkJ,GAAG,QAAQ,IACzCV,EAAEn3C,EAAE,GAAc,OAAX+4lB,GAAGpqjB,EAAE3uC,EAAE,IAAWihb,GAAGtyY,EAAEwI,GAAE,CAAC,CAAC,SAClCinpB,GAAGzvpB,EAAEg9L,GACD,IADI,IACR3rO,EAAE2rO,IAAS,IACP,iBAAJ3rO,EAAa,OAAO,EACpB,OAAOA,EAAE,IAAI,KACb,EAAE,IACF0nE,EAAE1nE,EAAE,GAAGvG,EAAEmkxB,GAAG59wB,EAAE,IAAY,OAARo+rB,GAAGzvpB,EAAE+4B,GAAU41sB,GAAG3uuB,EAAEl1C,GAAG,KACzC,EAAE,IACFnC,EAAE0I,EAAE,GAAGH,EAAEG,EAAE,GAAG,GAAG,IAAI1I,EAAE,GAAG,CAAC,IAC3Bw3B,EAAEx3B,EAAE,GAAG8msB,GAAGzvpB,EAAE9uC,GAAGy9wB,GAAG3uuB,EAAE+wtB,IACpB1/vB,EAAE8uB,EAAE,QAAQ,CAAC,IACb+oB,EAAEvgD,EAAE,GAAG8msB,GAAGzvpB,EAAE9uC,GAAGy9wB,GAAG3uuB,EAAEgxtB,IACpB3/vB,EAAE63C,EAAE,SAAS,KACb,EAAE,IACFn4C,EAAEM,EAAE,GAAc,OAAXo+rB,GAAGzvpB,EAAE3uC,EAAE,IAAWs9wB,GAAG3uuB,EAAE1uC,GAAEP,EAAE,IAAI,KACtC,EACAM,EAAEA,EAAE,GAAG,SAAS,KAChB,EAAE,IACFy3D,EAAEz3D,EAAE,GAAc,OAAXo+rB,GAAGzvpB,EAAE3uC,EAAE,IAAWwnZ,GAAE/vV,GAAG,KAC9B,EAAE,KACF,EAAE,IACFtgB,EAAEn3C,EAAE,GAAc,OAAXo+rB,GAAGzvpB,EAAE3uC,EAAE,IAAWs9wB,GAAG3uuB,EAAEwI,GAAG,QAAQ,IACzC6P,EAAEhnD,EAAE,GAAGo+rB,GAAGzvpB,EAAE3uC,EAAE,IAAI,IAClBqnD,EAAE1Y,EAAE,GAA6C,OAAvCA,EAAE,IAAI0Y,GAAEg2tB,GAAG1uuB,EAAE,GAAGk5W,GAAEl5W,EAAE,GAAG0Y,EAAEL,GAAGrY,EAAE,GAAG0Y,EAAE,EAAE,EAAS,EAAC,CAAC,CAAC,SAC3Dw3tB,GAAGx3tB,EAAE1Y,GACM,OAAOotG,GAAE,SAAS/7I,GAAW,OAAR+4lB,GAAG1xiB,EAAErnD,GAAU,CAAC,EAAvC,EAAP2uC,EAAE,GAAkD,CAAC,SACvDmwuB,GAAG9+wB,GAAG,OAAO6+wB,GAAGlE,GAAG36wB,EAAE,CAAC,SACtB+9wB,GAAG99wB,GACI,OAAO87I,GAAE,SAAS97I,GAAG,IAC5BD,EAAEm9wB,GAAG,IAAY,OAAR/+E,GAAGp+rB,EAAEC,GAAUm9wB,GAAGp9wB,EAAE,EAAE,EAD7BC,EAAE,GAC+B,CAAC,IACpC24Z,GAAG,CAAC,EAAE,GAAG,SACTmmX,GAAGjwvB,EAAEr1B,GAAG,IACRuG,EAAE8uB,EAAE,EAAEr1B,GAAG,GAAG,GACR,iBAAJuG,EAAa,EAAE,GAAG,CAAC,GAAGm3rB,GAAGn3rB,KAAK+prB,GAAG,OAAO9prB,GAAE89wB,GAAGlb,IAAI7iwB,GAAG,GAAW,MAARm3rB,GAAGn3rB,GACpC,IAD8C,IACpEqnD,EAAE4vO,GAAGqtJ,GAAGtkb,GAAG2uC,EAAE,EAAEg9L,EAAE9zL,GAAEwP,KAAU,CAAC,GAAGskL,GAAGh9L,EAAE,OAAO+4B,GAAErgB,EAAEm8oB,IAAI,IACrDlssB,EAAE05C,GAAEqW,EAAE1Y,GAAG9uC,EAAE,EACG,GADE,IAAIvI,EAAQ,IAAIA,IAAGuI,EAAE,GAClC,KAAKvI,IAAEuI,EAAE,IAAKA,EACA,OAAOwnD,EAAxB1Y,EAAEA,EAAE,EAAE,CAAmB,CAAE,OAAOm0tB,EAAE,CAAC,OAAO7iwB,GAAE89wB,GAAGnb,IAAI5iwB,EAAE,CAAC,SACxDg/wB,GAAG/+wB,EAAED,GAAG,GAAGC,EAAE/G,OAAO,GAAG8G,EAAE,OAAOgiwB,GAAG,IACnCrztB,EAAEqwuB,GAAG/+wB,EAAED,EAAE,EAAE,GAAGqnD,EAAE03tB,GAAG9+wB,EAAED,GAAG,OAAOH,GAAEk+wB,GAAG9b,IAAI56sB,EAAE1Y,EAAE,CAAC,SAC7CswuB,GAAGj/wB,GAKoB,IACvB8uB,EANM,SACJjvB,GACE,IADC,IACL8uC,EAAE9uC,IAAS,CAAC,IAAG8uC,EAGF,OAAO,EAHF,IAClBg9L,EAAEh9L,EAAE,GAAG+4B,EAAE/4B,EAAE,GAAG,IAAI,IAClBr3C,EAAE,EAAE+vD,EAAEpnD,GAAEynE,EAAE1nE,GAAG1I,EAAE,CAAC,CAAC,MAAM0I,GAAG,CAAC,GAAG1I,GAAG+vD,EAAE,MAAM,CAAC,EAAEA,EAAE,IAC9C1Y,EAAEg9L,CAAmB,CAAC,CACpB5vF,CAAE68Q,GAAG,IAAI,GAAG9pY,EAAE,OAAOA,EAAE,GAAG,GAAG9uB,IAAIomb,GAAG,OAAOi8U,GAAG,GAAGriwB,IAAIgvZ,GAAG,OAAOszW,GAAG,GAAGtiwB,EAAE,KAAKyrO,GAAG,CAAC,IAClFpkL,EAAErnD,EAAE,GAAG63C,EAAEwP,EAAE,GAAG/C,EAAE+C,EAAE,GAAGlxC,EAAEkxC,EAAE,GAAG,OAAO61X,GAAG6gW,GAAGhiB,IAAI5lvB,EAAEmuC,EAAEzM,EAAEA,EAAE,EAAE,EAAE0qtB,GAAG,CAAC,GAAGviwB,EAAE,KAAKP,GAAE,CAAC,IAC1EnI,EAAE0I,EAAE,GAAGm3C,EAAE7/C,EAAE,GAAGynE,EAAEznE,EAAE,GAAGioD,EAAEjoD,EAAE,GAAG,OAAO4lb,GAAG6gW,GAAGhiB,IAAIx8sB,EAAEwf,EAAE5nB,EAAEA,EAAE,EAAE,EAAEqrtB,GAAG,CAAC,GAAGxiwB,EAAE,KAAK67vB,GAAG,CAAC,IAC3ElwhB,EAAE3rO,EAAE,GAAGgnD,EAAE2kL,EAAE,GAAGv5L,EAAEu5L,EAAE,GAAGn8N,EAAEm8N,EAAE,GAAG,OAAOuxM,GAAG6gW,GAAGhiB,IAAIvsvB,EAAE4iC,EAAE4U,EAAEA,EAAE,EAAE,EAAEy7sB,GAAG,CAAC,GAAG,IAAItrE,GAAGn3rB,GAAG,CAAC,IAC3EvG,EAAEuG,EAAE9G,OAAO,EAAEuW,EAAEzP,EAAE,GAAG,GAAG,GAAG,EAAEvG,IAAI,EAAE,IAClCiG,EAAEs/wB,GAAGh/wB,EAAE,GAAGy3D,EAAEsntB,GAAG/+wB,EAAE,GAAG2uC,EAAE9uC,GAAEk+wB,GAAGr6U,IAAIjsY,EAAE/3D,QACjC,OAAOjG,GAAG,KACV,EACAk1C,EAAE4qjB,GAAG,MAAM,KACX,EACA5qjB,EAAE+ztB,GAAG,MAAM,QAAQ,IACnBtpwB,EAAE2lxB,GAAG/+wB,EAAE,GAAG2uC,EAAE1uC,GAAE89wB,GAAGpb,IAAIvpwB,GAAG,OAAOsuE,GAAEj4D,EAAEk/B,EAAE,CAAC,OAAO3uC,EAAE,EAAE,CAAC,SAClDk/wB,GAAG/owB,EAAE1W,GAAG,IACRnI,EA3mEW,CAAC,GA2mEJq0O,EAAEr0O,EAAE4B,OAAO,EAAE,EAAE,EAAM,KAAKyyO,EAAE,GAChC,IADoC,IACxCh9L,EAD2B,IAChB,CAAC,IACZ3uC,EAAEoyC,GAAE96C,EAAEq3C,GAAG,EAAEA,GAAG9uC,EAAE,SAASG,GAAG,OAAO,SAASC,GAAG,OAAOA,EAAE,IAAID,EAAEmiwB,GAAGC,GAAG,IAAIpiwB,EAAEq8Z,GAAGkuR,EAAE,CAAC,CAAhE,CAAkE57oB,GAAG,GAAG,IAAI3uC,EAAE,GAAG,IACjG0nE,EAAE1nE,EAAE,GAAGvG,EAAEuG,EAAE,GAAG8uB,EAAE9uB,EAAE,GAAG63C,EAAE73C,EAAE,GAAG2zb,GAAGzrC,GAAG/wW,EAAEn3C,EAAE,GAAGgnD,EAAEhnD,EAAE,GAAGN,EAAEG,EAAEG,EAAE,IAAIqnD,EAAE,CAAC,EAAEm0sB,GAAGuiB,GAAGrsF,IAAIhyrB,EAAEsnD,EAAE7P,EAAEU,EAAE/oB,EAAEr1B,EAAEiuE,SACrF,GAAG1nE,EAAE,GACLqnD,EAAE,MACF,KACAoQ,EAAE53D,EAAE,GAAGwnD,EAAE,CAAC,EAAEpnD,GAAE89wB,GAAGh5W,IAAIttW,GAAG,CAAC,GAAGpQ,EAAE,CAAC,IAC/B00F,EAAE10F,EAAE,GAAGpnD,GAAE4+wB,GAAG1owB,EAAEopc,IAAIxjU,EAAE,CAAC,IACrBz3F,EAAE3V,EAAE,EAAE,EAAE,GAAGg9L,IAAIh9L,EACF,MAAbA,EAAE2V,CAAgB,CAAE,OAAO,CAAC,CAAC,SAC7B66tB,GAAGxwuB,GAAG,OAAO,CAAC,IACd3uC,EAAE44Z,GAAG,GAAGvxW,EAAE,CAAC,EAAE1Y,EAAE3uC,GAA6BC,EAAE,GAA1B24Z,GAAG,KAAK54Z,GAAG44Z,GAAG,GAAGvxW,EAAE,GAAG,GAAQ,IAAGpnD,EAAW,OAAOA,CAAC,CAAC,CACtE2vkB,GAAGtgkB,QAKC+8b,GAAGrsc,GAAE+mmB,IAAI,SAASzvmB,EAAEmC,GAAG,IAAI,IACrB,IAAIqhxB,IAAK,CAAC,MAAM96wB,GAAG,CAAC,IAAI,IACrCA,EAPc,SACX1I,GAAK,IACRuI,EAAEo/wB,GAAG3nxB,GAEoB,OAFjB2I,GAAE6+wB,GAAG5c,IAAIriwB,GAAGq/wB,GAAGvE,IAESpyL,GAAGoyL,GAAG,CAGpC57E,CAAGznsB,GAAK+vD,EAAErnD,CAAC,CAAC,MAAMA,GAAGA,EAAEoxC,GAAEpxC,GAAG,IAC9B2rO,EAAEsziB,GAAG3nxB,GAAG2I,GAAE6+wB,GAAGtmX,IAAI7sL,GAAGuziB,GAAGvE,IAAM,IAC7BjzsB,EAAEu3sB,GAAGj/wB,GAAGC,GAAE6+wB,GAAGj0W,IAAInjW,GAAGw3sB,GAAGvE,IACvBtztB,EAAEkhiB,GAAGoyL,GAAG,CAAC,IACT96wB,EAAEwnD,CAAC,CAAC,MAAMrnD,GAAU,IAAPA,EAAEoxC,GAAEpxC,MAAUomb,GAAG,MAAMpmb,EACpCH,EAAEg7wB,GAAG/nU,GAAG,CAAC,OAAOjzc,CAAC,CAAC,MAAMG,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,IACjC4jc,GAAP7lC,GAAGmxC,GAAS,CAAC,MAAMlvc,IAAU,IAAPA,GAAEoxC,GAAEpxC,OAAU5G,GAAE,MAAM4G,GAAE,IAAI,IAC3Co/wB,GAAPrhX,GAAGlD,GAAS,CAAC,MAAM76Z,IAAU,IAAPA,GAAEoxC,GAAEpxC,OAAU5G,GAAE,MAAM4G,GAC/Co/wB,GAAGrc,EAAE,CACLn/T,GAAGw7U,EAAE,CAAC,IACNptX,GAAGqqX,GAAGz4U,GAAG,IAAIl7B,GAAG,CAACoC,EAAG,SAASh0W,GACsC,IADnC,IAChC19D,EAAEmhwB,KAAM5rtB,EAAE,CAAC,EAAEgqtB,GAAG,GAAG,GAAG,GAAGxhtB,EAAE,GAAI/9C,EAAEF,OAAO,EAAE,CAAC,EAAE,GAAGE,EAAE4tD,EAAE7P,EAAEj+C,OAAO,EAAE+G,EAAE,IAAS,CAACmyC,GAAEzD,EAAE,GAAG1uC,GAAG,EAAEA,GAAGA,EAAE,IAC5FynZ,EAAEznZ,EAAE,EAAE,EAAE,GAAG,KAAKA,EAAR,CACK,IACbxG,EAAE,CAAC,EAAE0xc,IAAIzrc,EAAE,GAAGkpZ,GAAG,GAAG5hW,GAAG,EAAM,KAAKtnD,EAAE,GAChC,IADoC,IACxC2nD,EAD2B,IAChB,CAAC,IACZxnD,EAAEwnD,EAAE,GAAG,EAAEoQ,EAAE+kX,GAAGn1X,EAAEL,GAAGzH,EAAEnN,GAAE+E,EAAEsgB,GAAG,EAAEA,GAAG3oC,EAAE44C,GAAEjuE,EAAE,GAAGuG,GAAE1I,GAAEioD,IAAI9lD,EAAE,GAAG08b,GAAGrna,EAAE,EAAE+oB,GAAE/oB,IAAI,IACpE68M,EAAElyO,EAAE,GAAGsiJ,EAAE/qG,GAAE26L,EAAE,IAAI,GAAGrnL,EAAEtT,GAAE26L,EAAE,IAAI,GAAGlsO,EAAEuxC,GAAE26L,EAAE,IAAI,EAAEx1N,IAAI66B,GAAE26L,EAAE,GAAGlsO,EAAE,GAAG6kD,EAAE,GAAGy3F,EAAE,EAAEvsI,GAAG4iC,GAAEzD,EAAE,GAAG9uC,GAAG,EAAEA,GAAGsW,GAAG82uB,GAAG76sB,GAAEzD,EAAE,GAAG9uC,GAAG,EAAEA,GAAG2P,EAAE,IAC/GC,EAAE43C,EAAE,EAAE,EAAE,GAAG3nD,IAAI2nD,EACF,MAAbA,EAAE53C,CAAgB,CAAS,OAAPk/B,EAAE,GAAG,EAASA,CANtB,CAAZ1uC,EAAEynZ,CAMiC,CAAC,GAAG,SACvC23X,GAAGr/wB,EAAEC,GAAG,OAAO,GAAGD,EAAE9G,OAAO,EAAE4+vB,GAAG,GArjF82E,IAqjFx2E93vB,EAAE,GAAGC,IAAID,EAAE,GAAG9G,OAAO,EAAE,EAAE,GAAGsuZ,GAAEjkC,GAAG,CAAC,SACxE61O,GAAGv5lB,EAAEI,GAAG,IACR0rO,EAAE0ziB,GAAGx/wB,EAAEI,GAAG0uC,EAAEyD,GAAEvyC,EAAE,GAAG8rO,GAAG,EAAEA,GAAG,GAAGh9L,EAAE,CAAC,IACjC0Y,EAAE1Y,EAAE,GAAG7f,EAAE6f,EAAE,GAAG,GAAG,IAAI+5W,GAAGzoZ,EAAE0uC,EAAE,IAAI,OAAO7f,EAAE,GAAGu4B,EAAE,CAAC,IAC/C/vD,EAAE+vD,EAAE,GAAGxP,EAAEwP,EAAE,GAAG,GAAG,IAAIqhW,GAAGzoZ,EAAEonD,EAAE,IAAI,OAAOxP,EAAE,GAAGvgD,EAAE,CAAC,IAC/C6/C,EAAE7/C,EAAE,GAAG0vD,EAAE1vD,EAAE,GAAG,GAAG,IAAIoxZ,GAAGzoZ,EAAE3I,EAAE,IAAI,OAAO6/C,EACnC,IADqC,IACzCn3C,EAAEgnD,IAAS,CAAC,IAAGhnD,EAEF,MAAM5G,GAFD,IAClBsuE,EAAE1nE,EAAE,GAAGvG,EAAEuG,EAAE,GAAG,GAAG,IAAI0oZ,GAAGzoZ,EAAED,EAAE,IAAI,OAAO0nE,EACvC1nE,EAAEvG,CAAkB,CAAC,CAAC,MAAML,EAAC,CAAC,MAAMA,EAAC,CAAC,MAAMA,EAAC,CAAC,SAC9Cg1Z,GAAGnuZ,EAAED,GACc,OAAOqsc,GAAGpsc,EAA3Bk3rB,GAAGn3rB,KAAK82D,EAAE92D,EAAEA,EAAE,GAAiB,CAS9Bs+rB,GAAG,CAAC,EAAEo3D,KAAQp3D,GAAG,CAAC,EAAEo3D,KAAQp3D,GAAG,CAAC,EAAE38O,KAAQu4S,GAAG,EAAE,GA0BW,SAC7DolB,GAAGr/wB,EAAED,GAAG,IACR2uC,EAAEkJ,GAAE53C,GAAG,OAAO0uC,EAAE3uC,EAAEkjwB,GAAG+Y,GAAGh8wB,EAAED,EAAE2uC,EAAE3uC,EAAE,EAAE,CAC5B,SACNu/wB,GAAGv/wB,GACC,IADE,IACNqnD,EAAE,IAAS,CAAC,IACZ1Y,EAAEyxa,GAAG47S,GAAG30sB,EAAErnD,GAAG,GAAG,EAAE2uC,IAAI,EAAT,CAAY1uC,GAAED,EAAE,GAAGA,GAChCqnD,EAAE1Y,CAAU,MAAC,OAAOA,GAAG,KACvB,EAAE,OAAO,EAAE,KACX,EAAE,OAAO,EAAE,KACX,EAAE,OAAO,EAAE,KACX,EAAE,IACFr3C,EAAEywZ,GAAE/nZ,GAAG,MAAM,CAAC,EAAEi8wB,GAAG3kxB,EAAE,EAAEugD,GAAEvgD,GAAG,EAAE,IAAI,KAClC,EAAE,IACFuI,EAAEkoZ,GAAE/nZ,GAAG,MAAM,CAAC,EAAEi8wB,GAAGp8wB,EAAE,EAAEg4C,GAAEh4C,GAAG,EAAE,IAAI,KAClC,EAAE,OAAOsjwB,GAAG,KACZ,EAAE,OAAO,GAAG,QAAQ,MAAM,CAAC,EAAEp7W,GAAE/nZ,IAAI,CAAC,CAAC,SACrCw/wB,GAAGx/wB,GACE,IADC,IACNqnD,EAAE,KAAU,CAAC,IACb1Y,EAAEyxa,GAAG47S,GAAG30sB,EAAErnD,GAAG,GAAG,EAAE2uC,IAAI,EAAT,CAAY1uC,GAAED,EAAE,GAAGA,GAChCqnD,EAAE1Y,CAAU,MAAC,OAAOA,GAAG,KACvB,EAAE,OAAO,EAAE,KACX,EAAE,OAAO,GAAG,KACZ,EAAE,MAAM,CAAC,EAAEkJ,GAAEkwW,GAAE/nZ,KAAK,KACpB,EAAE,MAAM,CAAC,EAAE+nZ,GAAE/nZ,IAAI,KACjB,EAAE,OAAO,GAAG,KACZ,EAAY,KACZ,EAEY,QAAQ,OAAO,GAFf,KACZ,EAAE,MAAM,CAAC,EAAE+nZ,GAAE/nZ,IAAI,KACjB,EAAE,OAAO,GAAqB,CAAC,CAAC,SAChCy/wB,GAAGz/wB,GACE,IADC,IACN2uC,EAAE,KAAU,CAAC,IACb0Y,EAAE+4Z,GAAG47S,GAAGrttB,EAAE3uC,GAAG,GAAG,IAAIqnD,EAAE,OAAOy1tB,GAAG98wB,EAAEA,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGC,GAAED,EAAE,GAAGA,GACxD2uC,EAAE0Y,CAAU,CAAC,CAAC,SACdq4tB,GAAG1/wB,GACE,IADC,IACN2uC,EAAE,KAAU,CAAC,IACb0Y,EAAE+4Z,GAAG47S,GAAGrttB,EAAE3uC,GAAG,GAAG,IAAIqnD,EAAE,OAAOy1tB,GAAG98wB,EAAEA,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGC,GAAED,EAAE,GAAGA,GACxD2uC,EAAE0Y,CAAU,CAAC,CAAC,IACd22tB,GAAG,CAAClntB,EAAEousB,GAAGh8W,MAAOy2X,GAAG,CAAC7otB,EAAEqusB,GAAGj8W,MAAO,SAChC02X,GAAG5/wB,EAAE1I,GACD,IADI,IACR+vD,EAAE/vD,IAAS,CAAC,IACZq3C,EAAEyxa,GAAG47S,GAAG30sB,EAAErnD,GAAG,GAAG,EAAE2uC,IAAI,EAAT,CAAY1uC,GAAED,EAAE,GAAGA,GAChCqnD,EAAE1Y,CAAU,MAAC,OAAOA,GAAG,KACvB,EAAE,OAAO,EAAE,KACX,EAAE,OAAO,GAAG,KACZ,EAAE,MAAM,CAAC,EAAEkJ,GAAEkwW,GAAE/nZ,KAAK,KACpB,EAAE,IACU,MAAV,CAAC,EAAE0/wB,GAAG1/wB,GAAY,CAAC,MAAMA,GAAG,OAAO,EAAE,CAAC,KACxC,EAAE,IACU,MAAV,CAAC,EAAEy/wB,GAAGz/wB,GAAY,CAAC,MAAMA,GAAG,OAAO,EAAE,CAAC,KACxC,EAAE,MAAM,CAAC,EAAE+nZ,GAAE/nZ,IAAI,KACjB,EAAE,OAAO,GAAG,QAAQ,OAAO,GAAG,CAAC,CAAC,SAChCu4d,GAAGt4d,EAAED,GAAG,MAAM,CAAC,EAAEgwvB,GAAG,CAAC,EAAE/vvB,EAAED,GAAG,CAAC,IAC7By/c,GAAG,CAAC,EAAE5oZ,GAAG,CAAC,EAAEsxV,GAAG,CAAC,EAAE0vC,GAAG,CAAC,EAAEzD,GAAG,CAAC,EAAE6pJ,GAAG,CAAC,EAAE1hL,GAAG,CAAC,EAAEgqW,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAEvsK,GAAG,CAAC,EAAEv2J,GAAG,CAAC,EAAE6iU,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAE,CAAC,EAAED,GAAG,CAAC,EAAEx2uB,GAAEypc,GAAG9+d,GAAE4rwB,MAAMD,6BAA6B1xrB,GAAG,CAAC,EAAEw/X,GAAG,CAAC,EAAE5yB,GAAG,CAAC,EAAE79X,GAAG,CAAC,EAAEu8oB,GAAG,CAAC,EAAE,CAAC,EAAEnkR,GAAG,CAAC,EAAE/rZ,GAAEypc,GAAG9+d,GAAEu2kB,MAAMvwH,QAAQv9W,GAAG,CAAC,EAAEgwT,GAAG,CAAC,EAAEs0W,GAAG,CAAC,EAAE,CAAC,EAAEvhkB,GAAG,CAAC,EAAExtI,GAAE8ga,GAAG9+d,GAAEyxa,MAAMx3V,MAAMmssB,GAAG,CAAC,EAAE,CAAC,EAAE91T,GAAG,CAAC,EAAEtyZ,GAAE,CAAC,EAAEnmB,EAAE,CAAC,EAAEg0X,GAAGizD,GAAG9+d,GAAE60Z,QAAQpsT,IAAIiyf,GAAG,CAAC,EAAED,GAAG,CAAC,EAAE8zK,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAE,CAAC,EAAED,GAAG,CAAC,EAAEvvsB,GAAE,CAAC,EAAEnmB,EAAE,CAAC,EAAE2qtB,GAAG8K,OAAO,CAAC,EAAE,CAAC,EAAED,GAAG,CAAC,EAAErvsB,GAAE,CAAC,EAAEnmB,EAAE,CAAC,EAAE2qtB,GAAG4K,OAAO,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAE,CAAC,EAAE/uK,GAAG,CAAC,EAAEjgiB,GAAE8ga,GAAG9+d,GAAEg+lB,MAAMooL,2BAA2BpmL,GAAG,CAAC,EAAEt2J,GAAG,CAAC,EAAE,CAAC,EAAEkd,GAAG,CAAC,EAAE1xa,EAAE4pb,GAAG9+d,GAAEwuwB,MAAM9zK,KAAK2rL,GAAG,CAAC,EAAE1X,GAAG,CAAC,EAAE,CAAC,EAAED,GAAG,CAAC,EAAEx5tB,EAAE4pb,GAAG9+d,GAAEyuwB,MAAMzuK,KAAKsmL,GAAG,CAAC,EAAEx1T,GAAG,CAAC,EAAE/kD,GAAG,CAAC,EAAE7W,GAAG,CAAC,EAAEqW,GAAG,CAAC,EAAEvS,GAAG,CAAC,EAAEk2W,GAAG,CAAC,EAAE58T,GAAG,CAAC,EAAEtgC,GAAG,CAAC,EAAE5S,GAAG,CAAC,EAAEy9C,GAAG,CAAC,EAAEz1B,GAAG,CAAC,EAAE6nV,GAAG,CAAC,EAAEzpE,GAAG,CAAC,EAAEtjR,GAAG,CAAC,EAAE49B,GAAG,CAAC,EAAEq+O,GAAG,CAAC,EAAE1yhB,GAAG,CAAC,EAAEyjP,GAAG,CAAC,EAAEx6O,GAAG,CAAC,EAAE09Q,GAAG,CAAC,EAAE2+P,GAAG,CAAC,EAAE3tR,GAAG,CAAC,EAAE4rW,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAE,CAAC,EAAED,GAAG,CAAC,EAAE35tB,EAAE4pb,GAAG9+d,GAAE4uwB,MAAMyX,6BAQlvB,SACzG7gL,GAAGtwjB,GAAG,IACNr3C,EAAE2twB,GAAGjlwB,EAAE,OACF,IADU,IACfH,EAAE,KAAU,CAAC,IACbwnD,EAAE+4Z,GAAG47S,GAAGn8vB,EAAE8uC,GAAG,KAAG,EAAE0Y,IAAI,GAAT,CACA,OAAOA,GAAG,KACvB,EAAE,IACFrnD,EAAE,EAAE,MAAM,KACV,EACAA,EAAE,EAAE,MAAM,KACV,EACAA,EAAE,GAAG,MAAM,QACXA,EAAE,EAAE,GAAG,IAAIA,EAAE,CACb1I,EAAEowE,GAAEpwE,EAAEywZ,GAAEp5W,IAAI,SAAS3uC,CAAC,CAAC,GAAG,IAAIA,EAAE,MAAMg+wB,GAAG,OAAO1mxB,CARpC,CADa2I,GAAE0uC,EAAE,GAAGA,GAChC9uC,EAAEwnD,CAQ+C,CAAE,CAAC,SACpD24tB,GAAGhgxB,GACE,IADC,IACN1I,EAAE,KAAU,CAAC,IACb+vD,EAAE+4Z,GAAG47S,GAAG1kwB,EAAE0I,GAAG,KAAG,EAAEqnD,IAAI,GAAT,CACA,OAAOA,GAAG,KACvB,EAAE,IACF1Y,EAAE,EAAE,MAAM,KACV,EACAA,EAAE,GAAG,MAAM,QACXA,EAAE,EAAE,GAAG,IAAIA,EACJ,OAAO+4B,GAAZqgV,GAAE/nZ,GAAcggxB,GAAGhgxB,IAAI,GAAG,IAAI2uC,EAAE,MAAMqvuB,GAAG,OAAO3a,EANtC,CADapjwB,GAAED,EAAE,GAAGA,GAChC1I,EAAE+vD,CAMkD,CAAC,CAAC,SACtD44tB,GAAGtxuB,GACE,IADC,IACNr3C,EAAE,KAAU,CAAC,IACb+vD,EAAE+4Z,GAAG47S,GAAG1kwB,EAAEq3C,GAAG,KAAG,EAAE0Y,IAAI,GAAT,CACA,OAAOA,GAAG,KACvB,EAAE,IACFrnD,EAAE,EAAE,MAAM,KACV,EACAA,EAAE,EAAE,MAAM,KACV,EACAA,EAAE,GAAG,MAAM,KACX,EACAA,EAAE,EAAE,MAAM,QACVA,EAAE,EAAE,GAAG,IAAIA,EACJ,OAAO0nE,GAAZqgV,GAAEp5W,GAAcsxuB,GAAGtxuB,IAAI,GAAG,IAAI3uC,EAAE,MAAMg+wB,GAAG,OAAO1a,EAVtC,CADarjwB,GAAE0uC,EAAE,GAAGA,GAChCr3C,EAAE+vD,CAUkD,CAAC,CAAC,SACtD64tB,GAAGrouB,GACU,IADP,IACNlJ,EAAE,GAAGwI,EAAE8ia,GAAGpia,KAAU,CAAC,GAAKV,GAAGxI,GAAM3J,IAAM,EAAF2J,EAAI,GAAtB,CACJ,GAAGqjX,GAAG,CAAC,IACxBv4Z,EAAE09rB,GAAGzuR,IAAIzoa,EAAEysa,KAAKjza,EAAEiva,GAAG,GAAGoC,IAAKrxa,EAAEo/d,GAAGnwD,IAAIA,GAAGzoa,EAAE,IAAIA,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,IAC9DonD,EAAEpnD,EAAE,GAAG3I,EAAE86C,GAAEnyC,EAAE,GAAGonD,GAAG,EAAEA,GAAGxnD,GAAGI,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE0rO,GAAGv5L,GAAEnyC,EAAE,GAAGJ,GAAG,EAAEA,IAAIvI,EAAGA,IAAI,GAAM,IAAI,GAAG21vB,GAAGvlrB,EAAEznE,EAAE,GAAGmyC,GAAEnyC,EAAE,GAAGynE,GAAG,EAAEA,GAAGikK,EAAE,IAC7G78M,EAAE68M,CAAC,MAEH78M,EAAE,EAAE,IACJ9uB,EAAE,CAAC,EAAE,EAAE24vB,GAAGhqtB,EAAE,GAAG7f,EAAE6f,GAoBkB,OApBfwsuB,GAAG,SAAS57tB,GAAG,IACnC/vC,EAAE+vC,EAAE,GAAGsoW,EAAEtoW,EAAE,GAAG1/C,EAAEw/wB,GAAGr/wB,EAAEwP,GAAGohC,EAAE,CAAC,EAAEphC,EAAEq4Y,EAAEz1W,GAAEpyC,EAAE,GAAGH,GAAG,EAAEA,IAAIuyC,GAAEpyC,EAAE,GAAGH,GAAG,EAAEA,GAAG+wC,EAAE5wC,EAAE,GAAGA,EAAE,GAAG,EAAE,EAAE,IAChF++D,EAAE/+D,EAAE,GAAG9G,OAAO,GAAG,EAAE8G,EAAE,GAAG,EAAE,EAAE,GAAG++D,EAAE,CAAC,IAClCtlE,EAAEuG,EAAE,GAAGP,EAAe,GAAZhG,EAAEP,OAAO,GAAK,EAAEid,EAAE1W,EAAEulC,GAAG,EAAE,EAAE,GAAG7uB,EAAE,CAAC,IAC3C2Y,EAAE6puB,GAAGl5vB,EAAE,GAAwCo4C,EAAE,IAArC73C,EAAE9G,OAAO,EAAE,EAAE,EAAE,KAAQ8G,EAAE,GAAG,EAAE,EAAE,IAASA,EAAE,GAAG8uB,EAAE,IAC5DqoB,EAAEroB,EAAE51B,OAAO,EAAEyyO,EAAEgthB,GAAGxhtB,EAAE,GAAGsgB,EAAEh+D,EAAEP,OAAO,EAAE,EAAE,EAAM,KAAKu+D,EAAE,GAAG,CAAC,IACvDngE,EAD0C,EACtC0I,EAAE,OAAO,CACC,IADA,IACdC,EAAEmyC,GAAE34C,EAAEnC,GAAG,EAAEA,KAAU,CAAC,IAAG2I,EAAH,CAId,GAAGw3D,IAAIngE,EAAE,CACjBA,EADEA,EAAE,EAAE,EACF,SAAS0I,CAAC,CAAC,KAFH,CAHgB,IAC5BgnD,EAAE/mD,EAAE,GAAG62D,EAAE72D,EAAE,GAAG+wC,EAAE/wC,EAAE,GAAGynE,EAAE7vB,EAAE53C,EAAE,CAAC,EAAE+mD,EAAE8P,EAAE,GAAGnoB,EAAE0wuB,GAAGr/wB,EAAEgnD,GAAGtnD,EAAE0yC,GAAEu5L,EAAEh9L,GAAG,EAAEA,GAAMjvC,EAAEA,EAAE,GAAGgoE,EACvEt1B,GAAEtjB,EAAE6f,GAAG,EAAEA,GAAG+4B,EAAEt1B,GAAEu5L,EAAEh9L,GAAG,EAAEA,GAAG+4B,EAC1BznE,EAAE+wC,CAEkB,CAAC,KAAK,CAAC,CAAC,GAAG6G,EAAE,CAAC,IAClCz+C,EAAE+9C,EAAE,EAAE,EAAM,KAAK/9C,EAAE,GACf,IADmB,IACvBiuD,EADU,IACC,CAAC,IACZ/C,EAAElS,GAAEu5L,EAAEtkL,GAAG,EAAEA,GAAM/C,IAAEA,EAAE,GAAG,GAAE,IAC1BjN,EAAEgQ,EAAE,EAAE,EAAE,GAAGjuD,IAAIiuD,EACF,MAAbA,EAAEhQ,CAAgB,CAAE,IACpB0kG,EAAE,CAAC,MAEHA,EAAElkG,EAAE,OAAOkkG,CAAC,CAAC,OAAO5lI,CAAC,CAAC,OAAO4oD,CAAC,EAAElnB,GAAU73C,CA1B1B,CAAhB2uC,EAAI,EAAFA,EAAI,CA0BqC,CAAC,EApEgC,SACzE3uC,EAAEH,GAAUo+rB,GAAG,SAASh+rB,GAAG,IAC9B0uC,EAAE1uC,EAAE,GAAGonD,EAAE1Y,EAAE,GAAGr3C,EAAEq3C,EAAE,GAAG3uC,EAAEC,EAAE,GAAG,OAAGw3D,KAAIngE,GAAGgkxB,GAAGt7wB,EAAEH,GAAS,CAAC,EAAEG,EAAE,CAAC,EAAE8vvB,GAAGzosB,IAAU,CAAC,EAAErnD,EAAE,CAAC,EAAE1I,EAAE+vD,GAAG,EAAErnD,EAAE,CAACutC,CAR6xB,SACr3BvtC,GAAG,SACNC,EAAED,GAAG,GACD,iBAAJA,GAAc,GAAG2uC,IAAI3uC,EAAE,OAAOvG,QAC9B,GAAG63C,IAAItxC,EAAE,GAAG,CAAC,IACbqnD,EAAErnD,EAAE,GAAG1I,EAAE+vD,EAAE,GAAG,MAAM,CAAC,EAAE/V,EAAE,CAAC,EAAEh6C,EAAE2I,EAAEonD,EAAE,KAAK,CAAC,OAAOrnD,CAAC,CAAC,OAAOi+rB,GAAG,SAAS52oB,GAAG,IACvE/vD,EAAE+vD,EAAE,GAAGxnD,EAAEvI,EAAE,GAAG0I,EAAE1I,EAAE,GAAGq0O,EAAEtkL,EAAE,GAAG,OAAO1Y,IAAI3uC,EAAE,CAAC,EAAE2rO,EAAE,CAAC,EAAE3rO,EAAEC,EAAEJ,KAAK,CAAC,EAAE8rO,EAAE,CAAC,EAAE3rO,EAAEH,GAAG,EAAEG,EAAE,CAEmBmgxB,CAAGJ,IAAI/gL,IAkExD,IAC7CohL,GAAGrD,GAAG,CAAC,EAAErnB,KAAK,SACd2qB,GAAG/0X,EAAE7D,EAAE/pU,EAAE8pU,EAAEK,EAAE/4X,GAAG,IAChB9S,EAAEsvY,EAAEA,EAAE,GAAGy0X,GAAG9jwB,EAAEwrY,EAAEA,EAAE,GAAG,EAAEK,EAAEpqU,EAAEA,EAAE,GAAG,EAAEpE,EAAEkuU,EAAEA,EAAE,GAAG,EAAEI,EAAEC,EAAEA,EAAE,GAAG,EAAEvwZ,EAAE,CAAC,EAAE0twB,IAAI7ttB,EAAE,CAAC,EAAE,GAAGn3C,EAAE,CAAC,EAAE,GAAG+7I,EAAE,CAAC,EAAEqkoB,GAAG,IAAI97tB,EAxnCjF,CAAC,EAAE,EAAE,GAwnCoFymW,EAAEm1X,GAAGlkwB,GAAGgrC,EAAE4gW,EAAE,SAAS5nZ,GAAG,OAAOA,CAAC,EAAEu8wB,GAAG,SAC1Ix9sB,EAAE/+D,GAAG,GAAGqnD,GAAErnD,EAAE6kwB,IAAI,OAAOC,GAGgC,IAAI,IAC3Dn2tB,EAJ0B,SACxB3uC,GAAG,IACLC,EAAED,EAAE,GAAG,MACH,iBAAJC,GAAcqxC,IAAIrxC,EAAE,GAAS,CAAC,EAAED,EAAE,GAAGC,EAAE,GAAG,IAAWD,CAAC,CACpDC,CAAEm5lB,GAAGruM,EAAE/qZ,IAAI,OAAO2uC,CAAC,CAAC,MAAM3uC,GAAU,IAAPA,EAAEoxC,GAAEpxC,MAAU5G,GAAE,OAAO2rwB,GAAG,MAAM/kwB,CAAC,CAAC,CAAC,SAClEi0b,EAAGp8Y,EAAE/oB,EAAEx3B,GAAG,IACV2I,EAAE8+D,EAAEznE,GAAG,GAY0D,IACjE0I,EAAE2svB,KAAK1svB,EAAE,EAAE,EAAE,GAAGD,EAAE,IAClB2rO,EAAE3rO,MAAM,CAAC,IACT0nE,EAAE,EAAE7nE,GAAEugxB,GAAG,GAAG9oxB,EAAEw3B,GAAG,GAAG44C,EAAE,OAfZ,SACVrgB,EAAE3nD,GACE,IADC,IACLM,EAAEN,IAAS,CAAC,GACR,iBAAJM,EAAa,CAAC,GAAG6vvB,IAAI7vvB,EAAE,CAAC,GAAG28Z,IAAI38Z,EAAE,CAAC,GAAGvG,IAAGuG,EAAE,CAAC,IAC3C2rO,EAAEh9L,IAAI1uC,EAAE,EAAE,EAAE,GAAG0rO,EAAE,IACjBjkK,EAAEikK,OAEUjkK,GAAVjQ,KAAIx3D,EAAE,EAAE,KAAQ6vvB,KAAK7vvB,EAAE,EAAE,GAAG,OAAOynE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAOnoB,IAAGv/C,EAAE,EAAE,CAAC,CAAC,OAAG2uC,GAAG3uC,EAAS2uC,IAAI1uC,EAAE,EAAE,GACrFw3D,KAAIx3D,EAAE,EAAE,KAAQ6vvB,KAAK7vvB,EAAE,EAAE,EAAW,CAAC,IACvCJ,EAAEG,EAAE,GAAG,KAAGgwvB,IAAInwvB,GAAP,CAEM,IAAI,WAAWA,EAAE,CAAC,IAC/Bs3C,EAAEn3C,EAAE,GAAG++D,EAAE5nB,EAAE,GAAG6P,EAAEK,EAAElQ,EAAE,IAAiB,OAAX6P,EAAE,EAAEK,EAAE0X,GAAG/X,CAAU,CAAC,OAAOs0tB,GAAGhkxB,EAAE0I,EAAE,GADhD,CAFK,GAAGsxC,GAAGzxC,EAAE,KAAK,CAAC,EAAEJ,GAAEklwB,IAAI,IACvC71uB,EAAE9uB,EAAE,GAAGmW,EAAE2Y,EAAE,GAAG+oB,EAAEwP,EAAEv4B,EAAE,IAAI,GAAG+oB,EAAE,OAAOA,EACpC73C,EAAEmW,CAC6D,CAAC,CAGnCkxC,CAAE0X,EAAElnB,GAAG,IACpC8zL,EAAEjkK,CAAC,CAAC,OAAOikK,CAAC,CAAC,SACb+7K,EAAErgW,GAAG,IACL1Y,EAjpCY,CAAC,EAAE,EAAE,GAipCT9uC,EAAEvI,EAAE,GAAGq0O,EAAEx0L,EAAE,GAAGuwB,EAAE1nE,EAAE,GAAGvG,EAAEsiJ,EAAE,GAAG,IAAI,OAAO,CAAC,GAAGk4S,EAAG38b,EAAE,GAAGykJ,EAAE,GAAG10F,GAAG,CAC/D,OAAF,CAAU,CAAC,GAAGyosB,KAAK/wrB,EAAEznE,EAAE,IAAI,GAAG,MAAM0lxB,GAAG,IACzC/8wB,EAAE0+D,GAAGra,GAAG24tB,GAAGh9wB,EAAE0uC,GAAG,IAChBkJ,EAAE53C,EAAE,GAAG+mD,EAAE/mD,EAAE,GAAGP,EAAEO,EAAE,GAAGw3D,EAAEx3D,EAAE,GAAG7G,EAAEw3C,GAAE5wC,EAAE,IAAIP,EAAE,CAAC,EAAE,CAAC,EAAEnI,EAAE,GAAG6/C,EAAE,GAAG/9C,IAAI9B,EAAE,GAAGmgE,EAAEtgB,EAAE,GAAGz3C,EAAEq8I,EAAE,GAAGlkG,EAAE73C,EAAE,GAAG,CAAC,EAAEP,EAAEunD,EAAW,CAAC,CAAC,MAAM/mD,GAAU,IAAPA,EAAEmxC,GAAEnxC,MAAU+8wB,GAAG,OAAO,CAAC,KAAG,EAAEruuB,EAAE,IAAqD,OAA5Br3C,EAAE,GAAGuI,EAAEs3C,EAAE,GAAGw0L,EAAE3rO,EAAE,GAAG0nE,EAAEq0E,EAAE,GAAGtiJ,EAAS,EAAxDwjxB,GAAGt+sB,GAAGhwB,GAAG2V,EAAgD,CAAC,MAAMrkD,CAAC,CAAC,CAAC,SACxN62D,EAAE92D,GAAG,SACLC,EAAEA,GAAG,OAAO,CAAC,IACbD,EAAEC,EAAE2/wB,GAAG9wvB,EAAE,IAAI0wvB,GAAG1wvB,GAAG,GACf,iBAAJ9uB,GAAc,IAAIA,EAAE,GAAY,OAAOA,CAAC,CAAC,CA4BxB,OA5ByB,SAC1C1I,EAAEw3B,GACE,IADC,IACL6f,EAAE7f,IAAS,CAAC,GACR,iBAAJ6f,EAAa,OAAOA,GAAG,KACvB,EAAE,OAAO41tB,GAAG,KACZ,GAAG,OAAOC,GAAG,KACb,GAAG,MAAMwZ,QACT,GAAG,IAAIrvuB,EAAE,GAAG,CAAC,IACb3uC,EAAE2uC,EAAE,GAAG9uC,EAAEI,EAAE,GAAG,GACV,iBAAJJ,EAAa,OAAOA,GAAG,KACvB,EAAE,IACF43D,EAAEzQ,EAAEhnD,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEgnD,EAAEhnD,GAAGy3D,GAAG,GAAG,GAAG,KACpC,GAAG,IACHr+D,EAAE4tD,EAAEhnD,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEgnD,EAAEhnD,GAAG5G,GAAG,GAAG,GAAG,KACpC,GAAG,IACHiuD,EAAEpnD,EAAE,GAAG,GACH,iBAAJonD,EAAa,OAAOA,GAAG,KACvB,EAAE,OAAOo9sB,GAAG,KACZ,GAAG,OAAOC,GAAG,KACb,GAAG,MAAMsZ,QACT,OAAO32tB,EAAE,IAAI,KACb,EAAE,IACF00F,EAAE10F,EAAE,GAAGqgB,EAAEpwE,EAAE2I,EAAE,IAAIqkD,EAAEojB,EAAE,GAAGjoE,EAAEioE,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE1gB,EAAEhnD,GAAG+7I,GAAGt8I,GAAG6kD,GAAG,KAC5D,EAAE,IACFnuC,EAAEkxC,EAAE,GAAG5tD,EAAEnC,EAAE2I,EAAE,IAAI8+D,EAAEtlE,EAAE,GAAG8lD,EAAE9lD,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEutD,EAAEhnD,GAAGmW,GAAGopC,GAAGwf,GACzDpwB,EAAE1uC,EAAE,GAAG,SAAS,KAChB,GAAG,MAAM+9wB,GAAG,IACZryiB,EAAEr0O,EAAEuI,GAAGg4C,EAAE8zL,EAAE,GAAGx0L,EAAEw0L,EAAE,GAAGjsO,EAAEsnD,EAAEhnD,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEgnD,EAAEhnD,GAAGN,GAAGy3C,GAAGU,EAAE,CACxDlJ,EAAE1uC,EAAE,EAAW,CAAC,CAAQ3I,CAAE2I,EAAE,GAAG,CAAC,SAChC+wC,EAAE15C,GAAG0I,EAAE,OACF,IADU,IACfH,EAAE,KAAU,CAAC,IACb8uC,EAAEyxa,GAAG47S,GAAGn8vB,EAAEivB,GAAG,KAAG,EAAE6f,IAAI,GAAT,CACA,OAAOA,GAAG,KACvB,EAAE,IACFg9L,EAAEo8K,GAAEj5X,GAAG9uB,EAAE,CAAC,EAAEi8wB,GAAGtwiB,EAAE,EAAE9zL,GAAE8zL,GAAG,EAAE,IAAI,MAAM,KACpC,EACA3rO,EAAEojwB,GAAG,MAAM,KACX,EACApjwB,EAAE,GAAG,MAAM,QACXA,EAAE,CAAC,EAAE+nZ,GAAEj5X,IAAI,GACP,iBAAJ9uB,GAAc,GAAG,KAAKA,EAAE,MAAMg+wB,QAC9B,OAAOh+wB,EAAE,IAAI,KACb,EAAE,IACFvG,EAAEuG,EAAE,GAAG,OAAOqnD,GAAEL,EAAEvtD,GAAGnC,GAAGwswB,GAAGp8rB,GAAEq8rB,GAAGr8rB,GAAEjuE,EAAEu3C,EAAE15C,KAAK,KAC3C,EACO,OAAOowE,GAAZ1nE,EAAE,GAAcgxC,EAAE15C,IAAI,SAAS0I,CAbrB,CADaC,GAAE6uB,EAAE,GAAGA,GAChCjvB,EAAE8uC,CAagC,CAAE,CAAC,SACrCX,EAAE/tC,GAAG,OAAO,CAAC,IACbD,EAAEw/wB,GAAG1wvB,GAAG,GACJ,iBAAJ9uB,EAAa,GAAG,IAAIA,GAAG,GAAG,IAAIA,EAAE,MAAMg+wB,QACtC,GAAG,GAAGh+wB,EAAE,OAAO,CAAU,CAAC,CAAC,IAAIA,EAAE,OAAO,CAAC,IACzCmW,EAAEopwB,GAAGzwvB,GAAG,GACJ,iBAAJ3Y,EAAa,OAAOA,GAAG,KACvB,EAAE,IACFshb,EAAGwnK,GAAGnwkB,GAAMwqD,IAAEt5E,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEikwB,GAAG,CAAC,EAAE,CAAC,EAAED,GAAGvsU,GAAI,GAAG,IAAIz3b,EAAE,KAAI,SAAS,KAClE,EAAE,IACFqoZ,EAAG23X,GAAGlxvB,GAAM7S,IAAEjc,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEmkwB,GAAG,CAAC,EAAE,CAAC,EAAED,GAAG77W,GAAI,GAAG,IAAIroZ,EAAE,KAAI,SAAS,KAClE,EAAE,IACFwvc,EAAGywU,GAAGnxvB,GAAMg5X,IAAE9nZ,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEqkwB,GAAG,CAAC,EAAE,CAAC,EAAED,GAAG50T,GAAI,GAAG,IAAIxvc,EAAE,KAAI,SAAS,KAClE,GAAG,MAAMg+wB,QACT,OAAO7nwB,EAAE,IAAI,KACb,EAAE,IACFzW,EAAEsnD,EAAE7wC,EAAE,IAAIw5B,EAAEovB,EAAEr/D,GAAG,GAAG,GAAG6/C,KAAI5P,EAAE,CAAC,IAC9B6va,EAAG1oZ,IAAK,GAAG4wV,EAAEhoZ,GAAGM,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEN,EAAE8/c,EAAG,IAAIx/c,EAAE,IAAI,QAAQ,CAAC,GAAG28Z,KAAKhtX,EAAE,CAAC,IACjEuia,EAAEp7Y,IAAKm5gB,EAAG/9H,EAAE,GAAGh8M,EAAGg8M,EAAE,GAAQ,GAALxqD,EAAEhoZ,GAAMuwkB,EAAG,IAClC1giB,EAAE+0tB,OAAO,CAAC,IACVrmE,EAAGjtpB,EAAEtxC,GAAGsuC,IACRuB,EAAE0upB,CAAE,CAACj+rB,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEN,EAAEw2P,EAAG,CAAC,EAAE,CAAC,EAAE3mN,GAAG,KAAKvvC,EAAE,IAAI,QAAQ,CAAC,IACrDk5C,EAAE4d,IAAKvlB,EAAE2H,EAAE,GAAG8ppB,EAAG9ppB,EAAE,GAAQ,GAALwuW,EAAEhoZ,GAAMsjsB,EAAGhjsB,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEN,EAAE6xC,EAAE,IAAIvxC,EAAE,QAAQ,CAAC,GAAGqnD,GAAE3nD,EAAEklwB,IAAI,IAC7EputB,EAAE,MAAM,CAAC,IACT8lX,EAAG,SAASr8Z,GAAG,IACfD,EAAEC,EAAE,GAAG,MACH,iBAAJD,GAAcsxC,IAAItxC,EAAE,GAAUA,EAAE,GAAG,GAAU,CAAC,EAAE,IACjCw2C,EAAZ8lX,EAAG88L,GAAGruM,EAAErrZ,GAAQ,CAAC,MAAMM,GAAU,IAAPA,EAAEoxC,GAAEpxC,MAAU5G,GAAE,MAAM4G,EACnDw2C,EAAE,CAAM,CAAC,CAACymuB,GAAG,CAAC,EAAE3lxB,EAAE,GAAG6/C,EAAE,GAAGn3C,EAAE,GAAG+7I,EAAE,IAAIz3F,GAAGhtD,EAAE,GAAGoI,EAAEy3C,EAAE,GAAG5F,EAAEvxC,EAAE,GAAG,EAAEm7wB,GAAG,SAASn7wB,GAAwB,OAArB+7I,EAAE,GAAGl8I,GAAEugxB,GAAG,GAAGpgxB,EAAE+7I,EAAE,IAAW,CAAC,EAAEvlG,EAAE,CAAC,SAAS,KACvH,EAAE,IACFa,EAAE2P,EAAE7wC,EAAE,IAAI63B,IAAK,IACf25W,EAAEtgW,GAAEhQ,EAAE//C,EAAE,IAAI,GAAGqwZ,EAAE,IACjBj3W,EAAEi3W,OACF,IAAIu1X,GAAG,SAASvuuB,GAAG,OAAO,SAAS1uC,GAAG,IACtCD,EAAEC,EAAE,GAAG,GAAGonD,GAAE1Y,EAAE3uC,GAAG,MAAM2/wB,GAAG,GAAG7vB,KAAK/wrB,EAAE/+D,GAAG,GAAG,MAAM5G,GAAE,OAAO,CAAC,CAAC,CADpD,CACsDi+C,GAAGiN,GAC3D5T,EAAF,CAAM,CAAC,MAAM1wC,GAAU,IAAPA,EAAEoxC,GAAEpxC,MAAU2/wB,GAAG,IACpCzuuB,EAAE,MAAM,CAAC,GAAGlxC,IAAI5G,GAAE,MAAM4G,EACxBkxC,EAAE,CAAC,CACHR,EAAEQ,CAAM,CAAC,GAAGR,EAAE,OAAO,CAAC,IAAGi7L,GAAEr0O,EAAE,GAAG+/C,GAAV,CAC+F,IACrH7nC,EAAEmvD,GAAGra,GAAG2tW,EAAGziZ,EAAE,GAAG6rE,EAAG7rE,EAAE,GAAG6+Y,EAAG7+Y,EAAE,GAAGmxZ,EAAGnxZ,EAAE,GAAGo6c,EAAGh5a,GAAE5wC,EAAE,IAAIA,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE1I,EAAE,GAAG6/C,EAAE,GAAGyya,IAAKvuY,GAAI/jF,EAAE,GAAGqpa,EAAGxpX,EAAE,GAAGk3W,EAAGtyQ,EAAE,GAAGk2Q,EAAG,SAASjyZ,CADD,CADhF,IACpCoyC,EAAEusB,GAAGra,GAAG+7X,GAAGjuY,EAAE,GAAGyha,GAAGzha,EAAE,GAAGqmX,GAAGrmX,EAAE,GAAG04X,GAAG14X,EAAE,GAAG2+Y,GAAGngZ,GAAE5wC,EAAE,IAAIA,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE1I,EAAE,GAAG6/C,EAAE,GAAG45Y,KAAK8iB,IAAIv8c,EAAE,GAAGwza,GAAG3zX,EAAE,GAAGshX,GAAG18Q,EAAE,GAAGskS,EACa,CAAC,SAAS,KAChI,EAAErgb,EAAE,GAAG,CAAC,EAAE,CAAC,EAAEmW,EAAE,IAAInW,EAAE,IAAI,SAAiB,CAAC,CAAC,MAAMC,GAAU,IAAPA,EAAEmxC,GAAEnxC,MAAU+9wB,GAAG,OAAO,CAAC,KAAG,EAAE15tB,EAAE,IACgC,OAAO1T,GAAE5wC,EAAE,IADvC,IACzFyP,GAAEkvD,GAAGra,GAAGssiB,GAAGnhlB,GAAE,GAAGohlB,GAAGphlB,GAAE,GAAGsta,GAAGtta,GAAE,GAAGw5kB,GAAGx5kB,GAAE,GAAGy5kB,GAAGt4iB,GAAE5wC,EAAE,IAAIA,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE1I,EAAE,GAAG6/C,EAAE,GAAG+xiB,KAAK2H,IAAIv5lB,EAAE,GAAG2xlB,GAAG9xiB,EAAE,GAAG4lY,GAAGhhS,EAAE,GAAG60c,EAA0B,CAAC,MAAM3wlB,CAAC,CAAC,CAAC,SAC7IqgxB,GAAGnpuB,EAAEU,EAAE73C,EAAE2uC,GAQ6L,IAAI,IAC1Mr3C,EAAE6jxB,GATU,SACZ1hxB,EAAEoG,GAAG,GAAG,IAAIA,EAAE,GAAG,CAAC,IAClB6nE,EAAE7nE,EAAE,GAAGvI,EAAEowE,EAAE,GAAG/4B,EAAE+4B,EAAE,GAAG1gB,EAAE0gB,EAAE,GAAG,GAAGikK,GAAEh9L,EAAEynjB,IAAI,CAAC,GAAGzqX,GAAEh9L,EAAE60Z,IAAI,CAAC,GAAG73N,GAAEh9L,EAAEqhgB,IAAI,CAAC,IAAI,IAC/ClhhB,EAAnBywB,KAAIisX,GAAG78X,EAAEwI,GAAG,GAAG,EAAE,CAAK,CAAC,MAAMn3C,GAAU,IAAPA,EAAEoxC,GAAEpxC,MAAU5G,GAAE,MAAM4G,EACxD8uB,EAAE,CAAC,CAG6K,OAH5K7uB,GAAED,EAAEiwiB,IAAIhwiB,GAAED,EAAE2uC,GAAGwsuB,GAAG,SAAS7jxB,GAAG,IAClCuI,EAAEvI,EAAE,GAAGq0O,EAAEr0O,EAAE,GAEkJ,OAF/I2I,GAAED,EAAE86lB,IAAI76lB,GAAED,EAAE2rO,GAAG1rO,GAAED,EAAE+6lB,IAEsG96lB,GAAED,EAAE+8a,GAAG8mV,GAAGjztB,GAF5G,SACrCjC,EAAE1uC,EAAED,GAAG,IAAI,IACX1I,EAAE8kxB,GAAGp8wB,EA9PF,IA8PQH,EAAEo8wB,GAAGj8wB,EAAE,EAAE1I,GAAGq0O,EAAE2ziB,GAAGt/wB,EAAE1I,EAAE,EAAE,GAAiC,OAA5B+vD,GAAExnD,EAAEmjwB,IAAIr0tB,EAAE1uC,EAAE0rO,GAAGh9L,EAAE,CAAC,EAAE9uC,EAAEI,GAAG0rO,EAAW,CAAC,MAAMh9L,GAAU,IAAPA,EAAEyC,GAAEzC,MAAUv1C,GAAE,OAAOiuD,GAAErnD,EAAEijwB,IAAIhjwB,EAAE,CAAC,EAAED,EAAEC,GAAG,MAAM0uC,CAAC,CAAC,CAAaA,CAAE,EAAE9uC,MAAaI,GAAED,EAAEujwB,GAAG,EAAEjswB,GAAMw3B,EAClK7uB,GAAED,EAAjB63C,EAAE2rtB,GAAGC,KAAiBxjwB,GAAED,EAAE0jwB,IAAIyX,GAAG1hxB,EAAEutD,GAAG/mD,GAAED,EAAE2jwB,IAAI1jwB,GAAED,EAAE2uC,GAAU1uC,GAAED,EAAE4jwB,IAAG,CAAuB,OAAtB3jwB,GAAED,EAAEypa,IAAIxpa,GAAED,EAAEwra,GAAGk/Q,GAAGpzrB,IAAW2I,GAAED,EAAE+2b,GAAG,CAAuB,OAAtB92b,GAAED,EAAEkqc,IAAIjqc,GAAED,EAAEwra,GAAGxhB,GAAG1yZ,IAAW2I,GAAED,EAAE+oa,GAAG,CAAuB,OAAtB9oa,GAAED,EAAE83rB,IAAI73rB,GAAED,EAAEwra,GAAGyyC,GAAG3md,IAAW2I,GAAED,EAAE49a,GAAG,CAAC,OAAO39a,GAAED,EAAEH,EAAE,GAAG,EAC9L8uC,GAAG,OAAOr3C,CAAC,CAAC,MAAM0I,GAAU,IAAPA,EAAEoxC,GAAEpxC,MAAU5G,GAAE,OAAOigF,GAAG6lnB,IAAI,MAAMl/rB,CAAC,CAAC,CAAC,SACnEugxB,GAAGtgxB,EAAED,GAAG,OAAOi8wB,GAAGh8wB,EAAE,EAAED,EAAE,CAAC,SACzBklb,GAAGjlb,EAAED,GAAG,OAAOi8wB,GAAGh8wB,EAAED,EAAE63C,GAAE53C,GAAGD,EAAE,EAAE,CAAC,IAChCwgxB,GAAGjF,GAAG,GAAG/tB,IAAI,SACbxwV,GAAGh9Z,GAAG,OAAOu7wB,GAAG,GAAG,EAAE,CAAC,SACtBkF,GAAGxgxB,EAAED,GAAG,OAAOsyvB,GAAGryvB,EAAED,IAAI,EAAE,EAAE2gb,GAAG0xU,GAAGpyvB,EAAED,IAAI,EAAE,GAAG,IAAM,EAAFA,IAAM,CAAC,SACxD2rb,GAAG1rb,GAAG,IACND,EAAEg9Z,KAAc,OAARyjX,GAAGzgxB,EAAEC,GAAUD,CAAC,CAAC,SACzB0uZ,GAAG//W,GACS,IADN,IACN1uC,EAAEu2C,GAAE,IAAIx2C,EAAE,IAAS,CACX,GADYsyvB,GAAGryvB,EAAED,EAAE2gb,GAAG0xU,GAAG1jtB,EAAE3uC,GAAGwtvB,KAC3B,KAAKxtvB,EACH,OAAOC,EAApBD,EADEA,EAAE,EAAE,CACe,CAAC,CAAC,SACvB0gxB,GAAGr5tB,EAAE1Y,GACO,IADJ,IACR1uC,EAAEu2C,GAAE,IAAIx2C,EAAE,IAAS,CAAC,IACpB1I,EAAE+6vB,GAAG1jtB,EAAE3uC,GACC,GADEsyvB,GAAGryvB,EAAED,EAAE2gb,GAAG0xU,GAAGhrsB,EAAErnD,GAAG1I,IACjB,KAAK0I,EACH,OAAOC,EAApBD,EADEA,EAAE,EAAE,CACe,CAAC,CAAC,SACvB24c,GAAGhqa,EAAE1uC,GAAG,IACJ,IADQ,IACZD,EAAE,IAAS,CAAC,IACZ1I,EAAE+6vB,GAAGpyvB,EAAED,GAAG,GAAG,KAAKqyvB,GAAG1jtB,EAAE3uC,GAAG1I,GAAG,MAAM07Z,GAC3B,GAAG,KAAKhzZ,EAAR,CAEJ,OAAF,CADU,CAAZA,EADEA,EAAE,EAAE,CAEM,CAAC,CAAC,MAAMA,GAAU,IAAPA,EAAEoxC,GAAEpxC,MAAUgzZ,GAAG,OAAO,EAAE,MAAMhzZ,CAAC,CAAC,CAAC,SAC1DiqrB,GAAGpqrB,EAAEvI,GACD,IADI,IACR0I,EAAE,IAAS,CAAC,IACZqnD,EAAEgrsB,GAAG/6vB,EAAE0I,GAAG,GAAG,IAAIqnD,EACb,IADgB,IACpB1Y,EAAE,IAAS,CAAS0Y,EAAE,GAAG1Y,GAAG1uC,GAAEJ,EAAE8gb,IAAI3gb,GAAG,GAAG2uC,EAAE,IAAI,IAChD+4B,EAAE/4B,EAAE,EAAE,EAAE,GAAG,IAAIA,EACF,MAAbA,EAAE+4B,CAAgB,CACV,GAAG,KAAK1nE,EACH,OAAO,EAApBA,EADEA,EAAE,EAAE,CACe,CAAC,CAAC,SACvBuyZ,GAAGvyZ,GAAG,IACN2uC,EAAEquX,KAG8B,OAHxBitR,GAAG,SAASjqrB,GAAGygxB,GAAG9xuB,EAAEqla,GAAGh0c,IAAI,IACnCC,EAAED,EAAE,IAAI,EAAEqnD,EAAE,EAEC,OAFI,GAAGpnD,IAAI,EAAQ,GAAGA,EAAEwqvB,IAAK,IAAGpjsB,EAAE,GAC5C,KAAKpnD,IAAEonD,EAAE,GACQo5tB,GAAG9xuB,EAArB0Y,EAAErnD,GAx4Fg3C,GAw4F32C,EAAEA,EAAgB,EAAEA,GAAU2uC,CAAC,CAC2D,SACnGgxa,GAAG1/c,EAAED,GAAG,OAAOC,EAAED,GAAG,CAAC,CAAC,SACtB2gxB,GAAG1gxB,EAAED,GAAG,OAAOC,EAAED,EAAE,GAAG,EAAE,CAAC,CAAC,SAC1B4gxB,GAAGjyuB,GACC,IADE,IACN3uC,EAAE2uC,IAAS,IACP,iBAAJ3uC,EAEmB,OAAO,EAC1B,OAAOA,EAAE,IAAI,KACb,EACoB,KACpB,EAAE,OAAO,EAFE,KACX,EAAE,OAAOqnD,GAAErnD,EAAE,GAAGoxlB,IACL,KACX,EAAE,OAAOiqL,GAAGuF,GAAG5gxB,EAAE,IAAI,KACrB,EAAE,IACF1I,EAAE0I,EAAE,GAAGC,EAAE2gxB,GAAG5gxB,EAAE,IAAI,GAAGC,EAAE,OAAOA,EAC9BD,EAAE1I,EAAE,SAAS,KACb,EAEgB,KAChB,EAEgB,QAAQ,OAAO,EALpB,KACX,EACA0I,EAAEA,EAAE,GAAG,SACI,KACX,EACAA,EAAEA,EAAE,GAAG,SAAyB,CAAC,CAAC,SAClCmjsB,GAAGtjsB,EAAE8rO,GACD,IADI,IACR3rO,EAAE2rO,IAAS,IACP,iBAAJ3rO,EAEoB,OAAOwgxB,GAC3B,OAAOxgxB,EAAE,IAAI,KACb,EAAE,OAAO2rb,GAAG3rb,EAAE,IAAI,KAClB,EAAE,IACFC,EAAED,EAAE,GAAG,OAAOqnD,GAAEpnD,EAAE2owB,IAAI4X,GAAG70V,GAAG36Y,GAAE/wC,EAAE,IAAI,KACpC,EAAE,IACF0uC,EAAE3uC,EAAE,GAAG,OAAOA,EAAE,GAAG0uZ,GAAG//W,GAAGA,EAAE,KAC3B,EAAE,IACFr3C,EAAE0I,EAAE,GAAG,OAAOH,EAAE,GAAG2+rB,GAAG3+rB,EAAE,EAAE,EAAEvI,GAAGoI,GAAE8+rB,GAAG,CAAC,EAAElnsB,IAAI,KAC3C,EAAE,IACFowE,EAAE1nE,EAAE,GAAGvG,EAAE2nb,GAAGphb,EAAE,IAAI,OAAO0gxB,GAAGt/V,GAAG15W,GAAGjuE,GAAG,KACrC,EAEgB,KAChB,EAEgB,QAAQ,OAAO+mxB,GALnB,KACZ,EACAxgxB,EAAEA,EAAE,GAAG,SACK,KACZ,EACAA,EAAEA,EAAE,GAAG,SAA0B,CAAC,CAAC,SACnCw+rB,GAAG7vpB,EAAE0Y,GACD,IADI,IACRrnD,EAAEqnD,IAAS,CAAC,GAAGrnD,EAAE,CAAC,IAClBC,EAAED,EAAE,GAAG,GACH,iBAAJC,EAAa,CACbD,EAAEA,EAAE,GAAG,QAAQ,CACf,OAAOC,EAAE,IAAI,KACb,EAAE,IACF3I,EAAE2I,EAAE,GAAGJ,EAAEkha,GAAG/ga,EAAE,IAAI,OAAO0gxB,GAAGt/V,GAAG9pb,GAAGuI,GAAG,KACrC,EAAE,IACF8rO,EAAE1rO,EAAE,GAAGynE,EAAEq5V,GAAG/ga,EAAE,IAAI,OAAO0gxB,GAAGt/V,GAAGz1M,GAAGjkK,GAAG,QAAQ,OAAO/4B,EAAE,GAAGw0pB,GAAGx0pB,EAAE,EAAE,EAAE1uC,GAAGP,GAAEyjsB,GAAG,CAAC,EAAEljsB,IAAI,CAAC,OAAOugxB,EAAE,CAAC,CAAC,SAC7Fp/V,GAAGphb,GAAG,OAAOy6vB,GAAGt3D,GAAG,EAAEnjsB,GAAG,CAAC,SACzB+ga,GAAG/ga,GAAG,OAAOy6vB,GAAGj8D,GAAG,EAAEx+rB,GAAG,CAAC,SACzB6gxB,GAAGhhxB,EAAEG,GAAG,IACR2uC,EAAE,EAAE,GACA,iBAAJ3uC,EAAa,OAAOA,EAAE,IAAI,KAC1B,EAAE,IACFqnD,EAAE,EAAEpnD,EAAE0rb,GAAG3rb,EAAE,IAAI2uC,EAAE,EAAE,MAAM,KACzB,EACA0Y,EAAErnD,EAAE,GAAGC,EAAED,EAAE,GAAG2uC,EAAE,EAAQ,GAAGA,EAAE,CAAC,IAC9Br3C,EAAEuI,EAAE0yZ,GAAGtyZ,GAAGA,EAAc,OAAOqma,GAAjBj/W,EAAEqnW,GAAGp3Z,GAAGA,EAAc,CAAC,KAAK,CAAC,EAAEmI,GAAEspwB,GAAG,CACpC,IADqC,IACnDpvT,GAAGnja,GAAEm3sB,IAAImzB,GAAG,IAAS,CAACxuB,GAAG34S,GAAGmnU,GAAG9sU,GAAGrzB,GAAGmgW,MAAM,IAC3Cx9B,GAAGw9B,GAAG,EAAE,EAAE,GAAGtzB,KAAKszB,GAAR,CACK,IACfC,GAAGz6W,GAAGqzC,IAAIqnU,GAAG1iF,GAAG,CAAC,EAAEo3D,KAAKhnW,GAAGi9B,GAAG,KAAK,IAmFHs1V,GAAG,CAAC,EAAE,CAAC,IACyB/uU,GAAE,SAASjyc,EAAED,GAAG,OAAOA,EAAEA,EAAE,GAAGC,CAAC,EAAEihxB,GAAG,SAASlhxB,EAAEC,GAAG,GAAGA,EAAE,OAAOA,EAAE,IAChI0uC,EAAEwopB,GAAGn3rB,GAAG,OAAO0sa,KAAK/9X,EAAE3uC,EAAE,GAAG8qa,IAAKn8X,EAAEkqb,GAAG74d,GAAGA,CAAC,EAAEyuZ,GAAG,SAAS9/W,EAAE3uC,GAAG,OAAOA,EAAE,CAAC,EAAEC,GAAE0uC,EAAE3uC,EAAE,KAAK,CAAC,EAAE2vhB,GAAG,SAAShhf,EAAE3uC,GAAG,OAAOA,GAAEC,GAAE0uC,EAAE3uC,EAAE,IAAIA,EAAI,CAAC,EAAEwrD,GAAG,SAASxrD,EAAEC,GAAG,GAAGA,EAAE,OAAOA,EAAE,GAAG,IACnK0uC,EAAEwopB,GAAGn3rB,GAAG,OAAO0sa,KAAK/9X,EAAE3uC,EAAE,GAAG8qa,IAAKn8X,EAAEkqb,GAAG74d,GAAGA,CAAC,EAAEiplB,GAAG,SAASjplB,EAAE2uC,GAAG,OAAO3uC,EAAEC,GAAE0uC,EAAE3uC,EAAE,IAAI,CAAC,EAAE6zc,GAAG,SAAS5zc,EAAED,GAAG,OAAOyuZ,GAAGzuZ,EAAEC,EAAE,EAAEy+rB,GAAG,SAAS1+rB,GAAG,OAAOA,EAAE,CAAC,EAAEA,EAAE,GAAG,GAAG,CAAC,EAAEujsB,GAAG,SAAS50pB,EAAE3uC,GAAG,GAAGA,EAAE,CAAC,IAChLqnD,EAAErnD,EAAE,GAAG1I,EAAE0I,EAAE,GAAGH,EAAEI,GAAE0uC,EAAEr3C,GAAGq0O,EAAE43d,GAAG50pB,EAAE0Y,GAAGqgB,EAAEpwE,IAAIuI,EAAE,EAAE,EAAkB,OAAd6nE,EAAErgB,IAAIskL,EAAE,EAAE,EAAEjkK,GAAW1nE,EAAE,CAAC,EAAEH,EAAE8rO,EAAE,CAAC,OAAO3rO,CAAC,EAAEy3b,GAAG,SAASpwY,EAAErnD,GAAG,GAAGA,EAAE,CAAC,IACjH1I,EAAE0I,EAAE,GAAGH,EAAEG,EAAE,GAAG2rO,EAAE1rO,GAAEonD,EAAExnD,GAAG8uC,EAAE8oZ,GAAGpwY,EAAE/vD,GAAG,OAAOq0O,EAAEr0O,IAAIq3C,EAAE3uC,EAAE,CAAC,EAAEH,EAAE8uC,GAAGA,CAAC,CAAC,OAAO3uC,CAAC,EAAE4vhB,GAAG,SAASjhf,EAAE1uC,EAAED,GAC/E,OAAOk8a,GAAG,SAASj8a,EAAED,GAAG,OAAOH,GAAE8uC,EAAE3uC,EAAEC,EAAE,EAAED,EAA9C4wC,GAAE3wC,GAAgD,EAAEkhxB,GAAG,SAASnhxB,GAAG,OAAOA,EAAE,CAAC,EAAEA,EAAE,IAAI,CAAC,EAAEk+wB,GAAG,SAAS5mxB,EAAE+vD,GACpG,IADuG,IAC3GrnD,EAAEqnD,IAAS,CAAC,IAAGrnD,EAEF,OAAO,EAFF,IAClBH,EAAEG,EAAE,GAAG2uC,EAAE1uC,GAAE3I,EAAE0I,EAAE,IAAI,GAAG2uC,EAAE,OAAOA,EAC/B3uC,EAAEH,CAAmB,CAAC,EAAEuhxB,GAAG,SAAS/5tB,EAAErnD,GAClC,OAAO4vhB,GAAG,SAASt4hB,EAAE0I,GAAG,IAC5B2uC,EAAE1uC,GAAEonD,EAAE/vD,GAAG,OAAOq3C,EAAE,CAAC,EAAEA,EAAE,GAAG3uC,GAAGA,CAAC,EAAEA,EAD9B,EACkC,EAAEkgd,GAAG,SAAS5od,EAAE+vD,GAChD,IADmD,IACvDrnD,EAAEqnD,IAAS,CAAC,IAAGrnD,EAEC,OAAO,EAFL,IAClB2uC,EAAE3uC,EAAE,GAAG,GAAGC,GAAE3I,EAAEq3C,GAAG,MAAM,CAAC,EAAEA,GAC1B3uC,EAAEA,EAAE,EAAoB,CAAC,EAAE+ic,GAAG,SAASljc,GAAG,SAC1CG,EAAEA,EAAE2uC,GAAG,IACP0Y,EAAE1Y,EAAE,GAAGr3C,EAAEq3C,EAAE,GAAG,OAAO1uC,GAAEJ,EAAEG,GAAG,CAAC,EAAE,CAAC,EAAEA,EAAE1I,GAAG+vD,GAAG,CAAC,EAAE/vD,EAAE,CAAC,EAAE0I,EAAEqnD,GAAG,CAAC,OAAO,SAASpnD,GAAG,OAAO2vhB,GAAG5vhB,EAAEC,EAAE+owB,GAAG,CAAC,EAAEqY,GAAG,SAAS1yuB,EAAE3uC,GACzG,OAAO4vhB,GAAG,SAASvoe,EAAErnD,GAAG,OAAO0wC,GAAEzwC,GAAE0uC,EAAE0Y,GAAGrnD,EAAE,EAAEA,EAA9C,EAAkD,EAAEk5lB,GAAG,SAASvqjB,EAAE3uC,GAAG,GAAGA,EAAE,CAAC,IAC7EqnD,EAAErnD,EAAE,GAAGH,EAAEG,EAAE,GAAG,GAAGC,GAAE0uC,EAAE0Y,GAAG,CAAC,IACzB/vD,EAAE4hmB,GAAGvqjB,EAAE9uC,GAAG,MAAM,CAAC,EAAE,CAAC,EAAEwnD,EAAE/vD,EAAE,IAAIA,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE0I,EAAE,EAAEghb,GAAG,SAASryY,EAAE3uC,GAAG,OAAOk5lB,GAAG,SAASl5lB,GAAG,OAAO,EAAEC,GAAE0uC,EAAE3uC,EAAE,EAAEA,EAAE,EAAEu2c,GAAG,SAASt2c,GAAG,GAAGonD,GAAEpnD,EAAE+va,IAAI,IAC1Inwa,EAAEI,MAAM,CAAC,IACTynE,EAAE,EAAE,GAAGw0sB,GAAGrrL,GAAG5wlB,EAAE,KAAKi8wB,GAAGrrL,GAAG5wlB,EAAE43C,GAAE53C,GAAG,EAAE,IAAIynE,EAAE,OAEzC7nE,EAAEI,EAAE,GAAGynE,EACiB,IADd,IACVpwE,EAAK2I,EAAG0rO,EAAEilX,GAAGt5lB,GAAG0I,EAAE,CAAC,EAAE,KAAU,CAAC,KAAGA,EAAE,GAAG2rO,GAAGmwiB,GAAG1pB,GAAG96vB,EAAE0I,EAAE,MAArB,CACpB,IAD+D,IAC3E2uC,EAAE,CAAC,EAAEg9L,EAAE,EAAE,KAAU,CAAC,KAAG3rO,EAAE,IAAI2uC,EAAE,IAAImtuB,GAAG1pB,GAAG96vB,EAAEq3C,EAAE,MAAzB,CACyB9uC,EAAEmuC,GAA7ChuC,EAAE,IAAI2uC,EAAE,GAAGgtuB,GAAGrkxB,EAAE0I,EAAE,GAAiB,GAAb2uC,EAAE,GAAG3uC,EAAE,GAAG,GAAK,GAAGy7wB,IAAU,KADgB,CAAjB9suB,EAAE,KAAK,CACD,CAAC,KAFgB,CAAf3uC,EAAE,IAEE,CAAE,CAAC,OAAOqnD,GAAExnD,EAAEupwB,GAAG,EAAEkY,GAAG,SAASrhxB,EAAED,GAAG,IACnG2uC,EAAEkJ,GAAE73C,GAAG,OAAO63C,GAAE53C,GAAG0uC,EAAE,EAAE0Y,GAAE40tB,GAAGh8wB,EAAE,EAAE0uC,GAAG3uC,EAAE,EAAEuhxB,GAAG,SAAS5yuB,EAAE1uC,GAAG,IACxD3I,EAAEugD,GAAElJ,GAAG3uC,EAAE63C,GAAE53C,GAAG,OAAO3I,EAAE0I,EAAE,EAAEqnD,GAAE40tB,GAAGttuB,EAAEr3C,EAAE0I,EAAE,EAAEA,GAAGC,EAAE,EAAE84Z,GAAG,SAAS94Z,EAAED,GAAG,IAChE2uC,EAAEkJ,GAAE53C,GAAG,OAAO0uC,EAAE3uC,EAAEmpwB,GAAG8S,GAAGh8wB,EAAED,EAAE2uC,EAAE3uC,EAAE,EAAE,EAAEwhxB,GAAG,SAASxhxB,EAAE0nE,GAEoF,OAAO92B,GAFxF,SACrDjC,EAAE1uC,EAAED,GAAG,IAAI,IACX1I,EAAE8kxB,GAAGp8wB,EAAE0nE,GAAG7nE,EAAEo8wB,GAAGj8wB,EAAE,EAAE1I,GAAGq0O,EAAEotL,GAAG/4Z,EAAE1I,EAAE,EAAE,GAAiC,OAA5B+vD,GAAExnD,EAAEopwB,IAAIt6tB,EAAE1uC,EAAE0rO,GAAGh9L,EAAE,CAAC,EAAE9uC,EAAEI,GAAG0rO,EAAW,CAAC,MAAMh9L,GAAU,IAAPA,EAAEyC,GAAEzC,MAAUv1C,GAAE,OAAOiuD,GAAErnD,EAAEkpwB,IAAIjpwB,EAAE,CAAC,EAAED,EAAEC,GAAG,MAAM0uC,CAAC,CAAC,CAAUA,CAAE,EAAE3uC,GAAG,EAAEq7E,GAAG,SAASp7E,EAAED,GAAG,IACzK2uC,EAlHG,SAAS+uC,GAAG,IACfgqU,EAAE,CAAC,EAAEhqU,GAAGz9E,EAAE,CAAC,EAAE04vB,GAAG,GAAG,IAAIhqtB,EAAE,CAAC,EAAE,GAAG7f,EAAE,CAAC,EAAEkyvB,GAAG,IAAI7puB,EAAE,CAAC,EAAE,GAAGw0L,EAAE,CAAC,EAAE,GAAG3kL,EAAE,CAAC,EAAE,GAAO,SACvEhnD,EAAE2rO,EAAE9rO,GAAG,GAAGI,EAAE,GAAG/G,OAAO,GAAGy1C,EAAE,GACP,IADW,IAC/B3uC,EAAE,CAAC,EAAEC,EAAE,GAAG/G,OAAO,KAAU,CAAC,KAAG8G,EAAE,IAAI2uC,EAAE,IAAX,CAAsC,IAClE0Y,EAAEsxsB,GAAG34vB,EAAE,GAAG,GAAGy8wB,GAAGx8wB,EAAE,GAAG,EAAEonD,EAAE,EAAEpnD,EAAE,GAAG/G,OAAO,GAAG+G,EAAE,GAAGonD,EAAE,KADgB,CAAtBrnD,EAAE,GAAQ,EAALA,EAAE,GAAK,CACD,CAAE,IACxD0nE,EAAEi4Y,GAAGh0O,EAAE9rO,GAAGvI,EAAEq3C,EAAE,GAA2B,OAAxByD,GAAEnyC,EAAE,GAAG3I,GAAG,EAAEA,GAAGowE,EAAE/4B,EAAE,KAAY,CAAC,CAAC,SAClD+4B,EAAErgB,GAAG,IACLpnD,EAAE0uC,EAAE,GAAW,OAAR3uC,EA1EJ,EA0ES,GAAUC,CAAC,CAAC,SACxBxG,EAAEuG,EAAEqnD,EAAE1Y,GAAG,IACTr3C,EAAEqod,GAAGt4Z,EAAEs5tB,GAAGhyuB,EAAE3uC,IAAqB,OAAjBoyC,GAAEnyC,EAAE,GAAGD,GAAG,EAAEA,GAAG1I,EAAS,CAAC,CAAC,SAC1CA,EAAE2I,GAAG,IAAI,IACTD,EAAmB,OAAjBH,GAAEmhxB,GAAG,IAAI/gxB,EAAE6uB,EAAE,GAAY,CAAC,MAAM9uB,GAAU,IAAPA,EAAEoxC,GAAEpxC,MAAU5G,GAAE,CAAC,IACtDu1C,EAAEwI,EAAE,GAAkC,OAA/BroB,EAAE,GAAGysuB,GAAGylB,GAAG,GAAG/gxB,EAAE0uC,EAAE7f,EAAE,IAAIqoB,EAAE,KAAYxI,CAAC,CAAC,MAAM3uC,CAAC,CAAC,CAAC,SACxDP,EAAEQ,GAAG,GAAG2gxB,GAAG3gxB,GAAG,CAAC,IACfD,EAAEgnD,EAAE,GAA0B,OAApB,IAAIhnD,GAAEq5E,GAAGwvrB,IAAI7htB,EAAE,KAAYhnD,CAAC,CAAC,OAAO,CAAC,CAAC,SAChDN,EAAEO,EAAED,GAAG,IACP2uC,EAAE4jX,GAAGvyZ,GAAG,OAAO24c,GAAGpmD,GAAGtyZ,GAAG0uC,EAAE,CAAC,SAC3B0Y,EAAEpnD,GAAG,GACD,iBAAJA,EAAa,OAAOA,GAAG,KACvB,EAAE,OAAOD,EAtFc,EAsFT,GAAG,KACjB,EAAE,OAAOA,EAvFmB,EAuFd,GAAG,QAAQ,OAAOA,EAvFC,EAuFI,QACrC,OAAOC,EAAE,IAAI,KACb,EAAE,OAAOD,EAzFD,EAyFMg0c,GAAG/zc,EAAE,KAAK,KACxB,EAAE,IACFJ,EAAEI,EAAE,GAAGP,EAAEm4C,GAAEh4C,GAAG,GAAG,IAAIH,EAAE,OAAO,EAAE,GAAG,IAAIA,EAAE,OAAOM,EA3FxC,EA2F6Cg0c,GAAGhja,GAAEnxC,EAAE,KAAK,IAAI,IACrE43D,EAAE2ktB,GAAGv8wB,EAAE,GACc,OADXwnD,EAAE,CAAC,EAAEk5tB,GAAG1gxB,EAAE43D,KAAKz3D,EA5FtB,EA4F2B,GAC5BqnD,EAAE,CAAC,EAAE69X,GAAGrlb,EAAE43D,EAAE,EAAE,IAAa,CAAC,MAAMx3D,GAAU,IAAPA,EAAEmxC,GAAEnxC,MAAU7G,GAAE,OAAO4G,EA7FjD,EA6FsD1I,EAAEilxB,GAAG18wB,KAAK,MAAMI,CAAC,CAAC,KACrF,EAAE,IACFuP,EAAEvP,EAAE,GAAG87I,EAAEw2Q,GAAGtyZ,EAAE,IAAgB,OAAOD,EA/FnB,EA+FwB1I,EAAEgva,GAAxB92Z,EAAEk/Y,GAAG3yQ,GAAGA,KAAwB,KACpD,EAAE,OAAOvlG,EAAEv2C,EAAE,IAAI,KACjB,EAAE,IACFynZ,EAAEznZ,EAAE,GAAG62D,EAAE72D,EAAE,GAAGo3C,EAAEqwB,IAAKrgB,EAAEyP,GAAG,IAC1BpmB,EAAEg3B,IAAK92B,EAAEjC,EAAE,GAAG0Y,EAAEqgW,GAAG,IACnBG,EAAEl5W,EAAE,GAAa,OAAVl1C,EAAE49C,EApG2E,GAoGtEzG,GAAUn3C,EAAEi3C,EApGoD,GAoG/Cm3W,GAAG,KAClC,EAAE,IACFvjW,EAAErkD,EAAE,GAAG6uB,EAAErvB,EAAE6kD,GAAGnuC,EAAEuxD,IAA2D,OAAnD,GAAG54C,GAAE9uB,EAtG6D,GAsGxD8uB,GAAGu4B,EAAE/C,GAAM,GAAGx1B,GAAE9uB,EAtG8C,GAsGzC8uB,GAAG9uB,EAtGoB,GAsGf2gxB,GAAGxqwB,EAAEw4B,EAAE,KAAYl1C,EAAE0c,EAtGA,GAsGKw4B,EAAE,IAAI,KAC/F,EAAE,IACFowB,EAAE9+D,EAAE,GAAGk3C,EAAE13C,EAAEs/D,GAAGyoV,EAAE74W,EAAE,GAAG0Y,EAAE0X,GAAM,GAAG5nB,GAAEn3C,EAxG8D,GAwGzDm3C,GAAG,IAC1C4wW,EAAErgV,IAAsC,OAA9B,GAAGvwB,GAAEn3C,EAzG2E,GAyGtEm3C,GAAGn3C,EAzGuD,GAyGlD2gxB,GAAGn5X,EAAE74W,EAAE,KAAYl1C,EAAEsuZ,EAzGmC,GAyG9Bp5W,EAAE,IAAI,KAC5D,EAAE,IACF+uC,EAAEz9E,EAAE,GAAGwnZ,EAAE//U,IAAU,OAALrgB,EAAEq2B,GAAUjkF,EAAEguZ,EA3GwD,GA2GnD94W,EAAE,IAAI,KACvC,EAAE,IACFqY,EAAE/mD,EAAE,GAAGqrZ,EAAErrZ,EAAE,GAA4C,OAAzCD,EA7GwB,EA6GnBgnD,GAAGK,EAAEikW,GAAGtrZ,EA7GgB,EA6GXgnD,GAAG2kL,EAAE,GAAGi9K,GAAGj9K,EAAE,GAAG3kL,EAAE,EAAE,GAAU,EAAE,QAAQ,IACxEzH,EAAEt/C,EAAE,GAA+B,OAA5BD,EA9GyC,GA8GpCu/C,GAAGosL,EAAE,GAAGi9K,GAAGj9K,EAAE,GAAGpsL,EAAE,EAAE,GAAU,EAAE,CAAC,SAC7C/I,EAAEp9C,GACE,IADC,IACL6G,EAAE7G,IAAS,CAAC,IAAG6G,EA4BF,OAAO,EA5BF,IAClB0uC,EAAE1uC,EAAE,GAAG,GACH,iBAAJ0uC,EAAa,OAAOA,EAAE,IAAI,KAC1B,EAAE,IACF9uC,EAAE8uC,EAAE,GAAO,GACP,iBAAJ9uC,QACA,OAAOA,EAAE,IAAI,KACb,EAAE,KACF,EAAE,IACFpG,EAAEwG,EAAE,GAAGR,EAAEsha,GAAGtna,GAAG,GAAGiG,EAAE0hb,GAAGvhb,GAAGJ,GAAG,CAACO,EAzHoC,GAyH/B1I,EAAEupxB,GArDgC,EAqD3BhhxB,KAC1CI,EAAExG,EAAE,QAAQ,EAAmB,MAAM,KACrC,EAAE,IACFkyO,EAAEh9L,EAAE,GAAO,GACP,iBAAJg9L,QACA,OAAOA,EAAE,IAAI,KACb,EAAE,KACF,EAAE,IACF78M,EAAE7uB,EAAE,GAAGkW,EAAE4qZ,GAAGjyY,GAAG,GAAGpvB,EAAE0hb,GAAGz1M,GAAGx1N,GAAG,CAACnW,EAjI0C,GAiIrC1I,EAAEupxB,GA7DgC,EA6D3Bl1iB,KAC1C1rO,EAAE6uB,EAAE,QAAQ,EAAmB,MAAM,KACrC,EAAE,IACF44C,EAAE/4B,EAAE,GAAO,GACP,iBAAJ+4B,QACA,OAAOA,EAAE,IAAI,KACb,EAAE,KACF,EAAE,IACF7vB,EAAE53C,EAAE,GAAG8+D,EAAEgiW,GAAGlpX,GAAG,GAAGn4C,EAAE0hb,GAAG15W,GAAG3I,GAAG,CAAC/+D,EAzI8B,GAyIzB1I,EAAEupxB,GArEgC,EAqE3Bn5sB,KAC1CznE,EAAE43C,EAAE,QAAQ,GAAyB,IACrCyM,EAAErkD,EAAE,GAAGonD,EAAE1Y,GACT1uC,EAAEqkD,CAAmB,CAAC,CAAC+C,EAAEqgW,GAAG1nZ,EA5I0B,GA4IrB,GAAG,IACpCmW,EAAEira,GAAG15B,GAAGrwW,EAAEk7W,GAAGp8Y,GAAG,GAAGy7uB,GAAGz7uB,EAAEqqwB,IAAI,IAC5BzhtB,GAAG,MAAM,CAAC,IACVza,EAAEi3tB,GAAG5tB,GAAG,GAAG1jE,GAAG,SAASjqrB,GAAG,OAAOsyvB,GAAGhusB,EAAEtkD,EAAE,EAAE,EAAEq3C,GAC5C0nB,EAAEznE,EAAEgva,GAAGhiX,GAAG,CAAC,IACX/E,EAAEo5sB,GAAGxhtB,EAAE,GAAG2xtB,IAAIp4tB,EAAE5hB,EAAE,GACYjvB,GAAEmhxB,GAAG,IADd,SACnB/gxB,EAAED,GAAiB,OAAdoyC,GAAEmN,EAAEv/C,GAAG,EAAEA,GAAGC,EAAS,CAAC,EAAYywC,GAAG,IAC5C+mB,EAAE9oB,EAAE,GAAGn/B,EAAEvP,EAAE,GAAG62D,EAAE,EAAE+wV,EAAE7gW,EAAE,GAAG+gW,EAAEp8K,EAAE,GAAG,GAAG,GAAGl0K,MAAMjoD,EAAEtW,OAAO,EAAEu+D,EAAE,GAAG,GAAG,CAAC,IAChEhoD,EAAEgivB,GAAGjivB,EAAE,EAAEioD,GAAGX,EAAE,CAAC,CAAKA,IACpBrnD,EAAE+3Y,GAAEsoB,KAAI,MAAM,CAAC,EAAErga,EAAE8vC,EAAEwhuB,GAAGh5X,EAAEF,EAAE9oV,EAAE,CAgC5B0itB,CAAGzhxB,GAAG,KAhCsC,SAASqnD,EAAE1Y,EAAE1uC,GAAG,IAC9DD,EAAEm7vB,GAAG9zsB,EAAE1Y,EAAE1uC,GAAW,GAARghxB,GAAG,GAAGjhxB,EAAK,GAAIA,EAAE9G,OAAO,EAAE,MAAME,GAASg5C,GAAEpyC,EAAE,GAAG,EAAE,CA+BlD0hxB,CAAG/yuB,EAAE1uC,EAAE,GACf,OAAF,CAAU,CAAC,MAAMD,GAAU,IAAPA,EAAEoxC,GAAEpxC,MAAU5G,GAAE,OAAO,EAAE,MAAM4G,CAAC,CAAC,EAAE0nZ,GAAEq1X,GAAG,CAAC,EAAEP,KAAKrwW,GAAG,SAASlsa,GAAG,IACrFD,EAAEi8wB,GAAGh8wB,EAAE,EAAE43C,GAAE53C,GAAG,EAAE,GAAG,IACX,OAANo4vB,GAAGr4vB,EAAW,CAAC,MAAMA,GAAU,IAAPA,EAAEoxC,GAAEpxC,IAAQ,KAAKgD,GAAG,KAAK,CAAC,EAAEkrZ,GAAGxmV,GAAE6hsB,GAAG7hsB,GAAEznE,EAAEqpwB,MAAM,MAAMtpwB,CAAC,CAAC,EAAEmsc,GAAG,SAASnsc,GAAG,OAAOA,EAAE,CAAC,EAAE+8a,GAAGssV,GAAGrpwB,IAAI,CAAC,EAAE2hxB,GAAG,CAAC,EAAE,GAAGC,GAAG,CAAC,EAAE,GAAGC,GAAGnxuB,GAAEs5tB,GAAGD,IAAI+X,GAAG7hxB,GAAEynZ,GAAE,IAAIm6X,IAAI3wsB,GAAG,SAASlxE,GAAG,OAAOH,GAAE6nZ,GAAE,GAAG1nZ,EAAE8hxB,GAAG,EAAEC,GAAG,SAAS9hxB,EAAED,GAAG,OAAO41vB,GAAG51vB,EAAE,GAAGC,EAAE,EAAE69wB,GAAG,SAAS99wB,GAAG,SAC9PC,EAAEA,GAAG,OAAO8hxB,GAAG/hxB,EAAEC,EAAE,CAAC,OAAO,SAASD,GAAG,OAAOkgd,GAAGjgd,EAAED,EAAE,CAAC,EAAEgixB,GAAG,SAASrzuB,EAAE1uC,EAAED,GAAG,IAC3EqnD,EAAEk8oB,GAAG,SAASvjsB,GAAG,IACjBqnD,EAAErnD,EAAE,GAAG,OAAO41vB,GAAGjntB,EAAE0Y,GAAG,CAAC,EAAEA,EAAEpnD,GAAGD,CAAC,EAAEA,GAAG,OAAOqnD,IAAIrnD,EAAE,CAAC,EAAE,CAAC,EAAE2uC,EAAE1uC,GAAGD,GAAGqnD,CAAC,EAAEu7F,GAAG,SAAS3iJ,EAAED,GAAG,OAAOiplB,GAAGhplB,EAAE,SAASA,GAAG,OAAO,IAAID,EAAE,GAAG,CAAC,EAAE0nE,GAAEznE,EAAED,EAAE,KAAK,CAAC,EAAE,EAAE+rb,GAAG,SAAS/rb,GAAG,OAAOk8a,GAAGt5R,GAAGD,GAAG3iJ,EAAE,EAAE8uZ,GAAG,SAAS7uZ,GAAG,SAChM0uC,EAAE3uC,GAAG,OAAG,IAAIA,EAAE,IAAIqnD,GAAErnD,EAAE,GAAGC,GAAS,CAAC,EAAED,GAAU,CAAC,CAAC,OAAO,SAASA,GAAG,GAAG,IAAIA,EAAE,GAAG,KAAK,CAAC,EAAEP,GAAEmqwB,IAAI,OAAOwX,GAAGzyuB,EAAE3uC,EAAE,GAAG,CAAC,EAAE4nb,GAAG,SAAS5nb,GAAG,OAAO,IAAIA,EAAE,GAAG,EAAEA,EAAE,EAAE,EAAEiixB,GAAG,SAAStzuB,EAAE1uC,EAAED,GAAG,GAAG,IAAIA,EAAE,GAAG,OAAO,EAAE,IACjM1I,EAAE0I,EAAE,GAAG2rO,EAAE3rO,EAAE,GAAG,GAAGqnD,GAAErnD,EAAE,GAAG2uC,GAAG,OAAO9uC,GAAEI,EAAE0rO,EAAEr0O,GAAG,IAC3CowE,EAAE1nE,EAAE,GAAG,OAAOk+wB,GAAG,SAASl+wB,GAAG,OAAOiixB,GAAGtzuB,EAAE1uC,EAAED,EAAE,EAAE0nE,EAAE,EAAEw6sB,GAAG,SAAS76tB,EAAE1Y,EAAEg9L,EAAE9rO,EAAEI,GAAG,IAC1ED,EAAE41vB,GAAGjntB,EAAE0Y,GAAmB,OAAdrnD,EAAE,IAAIC,EAAE,EAAE,EAAED,CAAU,EAAEmixB,GAAG,SAAStquB,EAAE/oB,EAAEr1B,EAAEiuE,GAAG,IACzD/4B,EAAE1uC,GAAE8ic,GAAG,SAAS/ic,GAAG,OAAOqnD,GAAErnD,EAAE,GAAGmqwB,GAAG,GAAGr7uB,GAAG9uB,EAAE2uC,EAAE,GAAGwI,EAAExI,EAAE,GAAG,GAAG3uC,EAAE,CAAC,IAC9D1I,EAAE0I,EAAE,GAAG,IAAI2rO,GAAEr0O,EAAE,GAAG8ywB,MAAMpqwB,EAAE,GAAG,CAAC,IAC9BH,EAAEvI,EAAE,GAAG,OAAOgqxB,GAAGzhxB,EAAEwqwB,IAAI,CAAC,EAAE,CAAC,EAAExytB,EAAEnH,GAAEyG,EAAE,CAAC,EAAE,CAAC,EAAEmztB,GAAGzqwB,GAAG,IAAIpG,EAAEiuE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE06sB,GAAG,CAAC,EAAE,SAASzzuB,EAAE1uC,EAAE0rO,EAAE9rO,GAAG,IAC9FG,EAAEqnD,GAAE1Y,EAAEu7tB,IAAoB,OAAdlqwB,EAAE,IAAIC,EAAE,EAAE,EAAED,CAAU,EAAEmixB,IAAIE,GAAG,SAASrixB,GAAG,OAAOqnD,GAAErnD,EAAE,GAAGiqwB,GAAG,EAAE9tW,GAAG,SAASt8Z,EAAEI,EAAED,EAAE1I,GAAG,IAC/Fq3C,EAAEuxa,GAAGmiU,GAAGpixB,GAAG,GAAG0uC,EAAE,CAAC,IACjB+4B,EAAE/4B,EAAE,GAAG,GAAGl1C,EAAEg+b,GAAG,SAASz3b,GAAG,OAAO2rO,GAAE3rO,EAAE,GAAG6qrB,GAAG,EAAE5qrB,GAAuE,MAAM,CAAC,EAAE,CAAC,EAAEJ,EAAEpG,EAAhFkuZ,GAAE,SAAS3nZ,GAAG,OAAOqnD,GAAErnD,EAAE,GAAG,GAAGg3R,GAAG,EAAEh3R,GAAGA,EAAE,CAAC,EAAE,CAAC,EAAE0nmB,GAAG,CAAC,EAAE,CAAC,EAAEhgiB,EAAE,KAAK1nE,GAAqB1I,GAAG,CAAC,OAAO,CAAC,EAAEmta,GAAG,CAAC,EAAE,SAAS91X,EAAE1uC,EAAEJ,EAAEvI,GAAG,IAC7K0I,EAAEqnD,GAAE1Y,EAAEq5W,IAAI,OAAOhoZ,EAAE2nZ,GAAE06X,GAAGpixB,GAAGD,CAAC,EAAEm8Z,IAAImmX,GAAG,SAAStixB,GAAG,OAAOq8wB,GAAGr8wB,EAAE,IAAI0nE,GAAEmogB,GAAGnogB,GAAE1nE,EAAEsnY,KAAKtnY,CAAC,EAAE+xZ,GAAG9xZ,GAAEynZ,GAAE,IAAI+jX,IAAIjgiB,GAAG,SAASxkL,GAAG,IAChH/mD,EAAE+mD,EAAE,GAAG,GAAGrY,EAAEqY,EAAE,GAAG,GAAG,GAAGnnD,GAAE6nZ,GAAE,GAAG/4W,EAAEojX,IAAI,CAAC,IACrC/xZ,EAAEk8a,GAAG,SAASj8a,EAAED,GAAG,GAAGC,EAAE,CAAC,IACzB0uC,EAAE1uC,EAAE,GAAG3I,EAAE2I,EAAE,GAAG,GAAGonD,GAAErnD,EAAEm/rB,IAAI,MAAM,CAAC,EAAEqsE,GAAG,CAAC,EAAE8W,GAAGhrxB,GAAGq3C,IAAI,GAAG2yuB,GAAGthxB,EAAEkgb,IAAI,CAAC,IAC/Drgb,EAAE6nE,GAAE25S,GAAGrhX,GAAG,MAAM,CAAC,EAAEu4Z,GAAG,CAAC,EAAE7wV,GAAE46sB,GAAGhrxB,GAAGuI,GAAG8uC,GAAG,CAAC,MAAM,CAAC,EAAE+4B,GAAEpwE,EAAE0I,GAAG2uC,EAAE,CAAC,OAAO,CAAC,EAAE+rY,GAAGz6a,GAAG,GAAGD,EAAE,CAAC,IACjFvG,EAAEuG,EAAE,GAAG,GAAG2rO,GAAElyO,EAAEkxa,IAAI,IAClBjra,EAAEM,EAAE,GAAG8uB,EAAE,CAAC,EAAEwzvB,GAAG7oxB,GAAGiG,QAElBovB,EAAE9uB,EAAE,GAAG,IACPm3C,EAAEroB,CAAC,MAEHqoB,EAAEn3C,EAAE,IACJ1I,EAAEylb,GAAGmU,GAAGtgZ,GAAEuG,GAAG,KACb,KACA/9C,EAAEmoxB,GAAG5yuB,EAAE48tB,IAAItrwB,EAAEg+rB,GAAGqkF,GAAGrixB,GAAG3I,EAAEylb,GAAGmiL,GAAG9lmB,EAAE,CAAC,IACjCq+D,EAAE,IAAI5f,GAAEvgD,GAAGmwD,GAAGnwD,EAAE,OAAOowE,GAAE/4B,EAAE+4B,GAAE+hZ,GAAG/hZ,GAAEjQ,EAAEyoW,KAAK,EAAEqiX,GAAG,SAASvixB,EAAEC,GAC7C,OAAO88a,GAAjB/8a,EAAEA,EAAE,GAAGm/lB,GAAe8+F,GAAGzyd,GAAGvrO,GAAG,EAAEuixB,GAAG,SAASxixB,GAAG,OAAO0nE,GAAE4jsB,GAAGiX,GAAGnjL,GAAGp/lB,GAAG,EAAEyixB,GAAG,SAASxixB,GAAG,OAAOA,EAAE,IAAI,KACrG,EAAE,IACF0uC,EAAE1uC,EAAE,GAAGonD,EAAEqgB,GAAEkjsB,GAAGljsB,GAAE86sB,GAAGvixB,EAAE,IAAI0qwB,KAAK,OAAOjjsB,GAAEq1W,GAAGsuV,GAAG18tB,EAAE,IAAI0Y,GAAG,KACtD,EAAE,IACFxnD,EAAEI,EAAE,GAAG,OAAOynE,GAAEqjsB,GAAGrjsB,GAAE7nE,EAAE6nE,GAAEojsB,GAAGpjsB,GAAE86sB,GAAGvixB,EAAE,IAAI4qwB,OAAO,QAAQ,IACtDl/hB,EAAE1rO,EAAE,GAAGxG,EAAEwG,EAAE,GAAG6uB,EAAE7uB,EAAE,GAAG,GAAG43C,EAAE6vB,GAAEujsB,GAAGvjsB,GAAE86sB,GAAGvixB,EAAE,IAAI+qwB,KAAK7ztB,EAAEuwB,GAAEwqY,GAAEg5T,GAAGz8W,GAAG,SAASzuZ,GAAG,OAAO0nE,GAAEgjsB,GAAG1qwB,EAAE,EAAE2rO,IAAI9zL,GAAG,OAAO6vB,GAAE0jsB,GAAG1jsB,GAAE54C,EAAE44C,GAAEwqY,GAAEi5T,GAAG18W,GAAG,SAASxuZ,GAAG,OAAOynE,GAAE+isB,GAAGzqwB,GAAE1I,GAAE2I,EAAE,IAAI,EAAExG,IAAI09C,KAAK,EAAEswY,GAAG,SAASznb,GAAG,OAAO+8a,GAAGwtV,GAAGvqwB,EAAE,GAAG,EAAE0ixB,GAAG,CAAC5rtB,EAAEu1sB,GAAGnjX,MAAOggM,GAAG,SAASlplB,GAAG,MAAM0ixB,EAAE,EAAEC,GAAG,SAAS3ixB,GAAG,OAAO6rwB,EAAE,EAAE1uV,GAAG,SAASn9a,GAAG,OAAOmgd,EAAE,EAAEyiU,GAAG,SAAS5ixB,GAAG,MAAM,CAAC,EAAEA,EAAE,EAAE,EAAE6ixB,GAAG,SAAS7ixB,GAAG,OAAOoiM,EAAE,EAAE0glB,GAAG,SAAS9ixB,GAAG,OAAOqiM,EAAE,EAAE0glB,GAAG,SAAS/ixB,GAAG,OAAO4rwB,EAAE,EAAEoX,GAAG,SAAShjxB,GAAU,MAAPk7a,GAAGwwV,IAAS,CAAC,EAAEjswB,GAAEkswB,GAAG,EAAEsX,GAAG,SAASt0uB,EAAE1uC,EAAED,GAAG,MACvc,iBAAJA,GAAc,IAAIA,EAASkyc,GAAE,EAAEjyc,GAAUiplB,IAAK,EAAElqD,GAAG,SAAS1niB,EAAEuwZ,EAAEl5W,EAAE3uC,EAAE4wC,EAAEF,EAAEi7L,GAAG,IAC3EtkL,EAAE,CAAC,EAAEwgW,EAAEn3W,EAAEE,GAAG,GACR,iBAAJ+6L,GAAc,IAAIA,EAAE,CAAC,IACrB9rO,EAAEI,GAAED,EAAE2uC,GAAG,GACL,iBAAJ9uC,EAAa,OAAOA,GAAG,KACvB,EAAE,IACF6nE,EAAEznE,GAAED,EAAE2uC,GAAGl1C,EAAE0jb,KAAU,OAAO7lb,EAAE,GAAGgiF,GAAEhiF,EAAE,EAAE,EAAE+vD,EAAE1Y,EAAE3uC,EAAEvG,EAA5B,EAAgCiuE,GAAGhoE,GAAE45E,GAAE,CAAC,EAAEjyB,EAAE1Y,EAAE3uC,EAAEvG,EAAhD,EAAoDiuE,IAAI,KAC3E,EAAE,IACF7vB,EAAE53C,GAAED,EAAE2uC,GAAGwI,EAAEwruB,KAAU,OAAOrrxB,EAAE,GAAGgiF,GAAEhiF,EAAE,EAAE,EAAE+vD,EAAE1Y,EAAE3uC,EAAEm3C,EAA5B,EAAgCU,GAAGn4C,GAAE45E,GAAE,CAAC,EAAEjyB,EAAE1Y,EAAE3uC,EAAEm3C,EAAhD,EAAoDU,IAAI,QAAQ,OAAOqxiB,UAC1F,OAAOrplB,EAAE,IAAI,KACb,EAAE,IACF43D,EAAE53D,EAAE,GAAGzG,EAAE6G,GAAED,EAAE2uC,GAAO,OAAOr3C,EAAE,GAAGgiF,GAAEhiF,EAAE,EAAE,EAAE+vD,EAAE1Y,EAAE3uC,EAAEy3D,EAA5B,EAAgCr+D,GAAGsG,GAAE45E,GAAE,CAAC,EAAEjyB,EAAE1Y,EAAE3uC,EAAEy3D,EAAhD,EAAoDr+D,IAAI,KAC1E,EAAE,IACFkrD,EAAEzkD,EAAE,GAAGJ,EAAEQ,GAAED,EAAE2uC,GAAO,OAAOr3C,EAAE,GAAGgiF,GAAEhiF,EAAE,EAAE,EAAE+vD,EAAE1Y,EAAE3uC,EAAEskD,EAA5B,EAAgC7kD,GAAGC,GAAE45E,GAAE,CAAC,EAAEjyB,EAAE1Y,EAAE3uC,EAAEskD,EAAhD,EAAoD7kD,IAAI,KAC1E,EAAE,IACFs/D,EAAEl/D,EAAE,GAAO,OAAOvI,EAAE,GAAG4rxB,GAAG5rxB,EAAE,EAAE,EAAE+vD,EAAE1Y,EAAE3uC,EAAE++D,EAA7B,GAAkCr/D,GAAEwjxB,GAAG,CAAC,EAAE77tB,EAAE1Y,EAAE3uC,EAAE++D,EAAhD,IAAsD,KAC/D,EAAE,IACF3sB,EAAEvyC,EAAE,GAAG2P,EAAEvP,GAAED,EAAE2uC,GAAO,OAAOr3C,EAAE,GAAGgiF,GAAEhiF,EAAE,EAAE,EAAE+vD,EAAE1Y,EAAE3uC,EAAEoyC,EAA5B,EAAgC5iC,GAAG9P,GAAE45E,GAAE,CAAC,EAAEjyB,EAAE1Y,EAAE3uC,EAAEoyC,EAAhD,EAAoD5iC,IAAI,KAC1E,EAAE,IACFk4Y,EAAE7nZ,EAAE,GAAGi3D,EAAE72D,GAAED,EAAE2uC,GAAO,OAAOr3C,EAAE,GAAGgiF,GAAEhiF,EAAE,EAAE,EAAE+vD,EAAE1Y,EAAE3uC,EAAE0nZ,EAA5B,EAAgC5wV,GAAGp3D,GAAE45E,GAAE,CAAC,EAAEjyB,EAAE1Y,EAAE3uC,EAAE0nZ,EAAhD,EAAoD5wV,IAAI,QAAQ,IAClF1lB,EAAEvxC,EAAE,GAAG22C,EAAEv2C,GAAED,EAAE2uC,GAAO,OAAOr3C,EAAE,GAAGgiF,GAAEhiF,EAAE,EAAE,EAAE+vD,EAAE1Y,EAAE3uC,EAAEoxC,EAA5B,EAAgCoF,GAAG92C,GAAE45E,GAAE,CAAC,EAAEjyB,EAAE1Y,EAAE3uC,EAAEoxC,EAAhD,EAAoDoF,IAAI,CAAC,OAAO0yiB,IAAK,EAAE5vgB,GAAE,SAAS5R,EAAE12B,EAAE26L,EAAE9rO,EAAEi3D,EAAE4wV,EAAEj4Y,GAChG,IADmG,IACnHnY,EAAE05C,EAAEqW,EAAEyP,EAAEnoB,EAAE+4W,EAAE1nZ,EAAEyP,IAAS,GACnB,iBAAJzP,EAAa,OAAOA,GAAG,KACvB,EAAE,IACFoxC,EAAEnxC,GAAEJ,EAAE8rO,GAAGr0O,EAAE,CAAC,EAAEA,EAAEq3C,EAAE0Y,GAAGA,EAAE81X,KAAMxuY,EAAE,EAAE3uC,EAAEoxC,EAAE,SAAS,KAC9C,EAAE,IACFoF,EAAEv2C,GAAEJ,EAAE8rO,GAAGr0O,EAAE,CAAC,EAAEA,EAAEq3C,EAAE0Y,GAAGA,EAAEs7tB,KAAMh0uB,EAAE,EAAE3uC,EAAEw2C,EAAE,SAAS,KAC9C,EAAE,KACF,EAAE,OAAO0yiB,KAAM,QACG,IADK,IACvBzvlB,EAAEnC,EAAE6/C,EAAE,CAAC,EAAEkQ,EAAE,GAAGxP,EAAElJ,IAAS,CAAC,GAAG,IAAIkJ,EAAE,CAAC,IACpC/oB,EAAEr1B,EAAE,GAAGutD,EAAE,CAAC,EAAEvtD,EAAE,GAAG,CAAC,EAAE09C,IAAI,OAAO19C,EAAE,IAAI,KACrC,EAAE,IACF0c,EAAEyswB,GAAG57tB,GAAO,OAAO0gB,EAAE,GAAGy7sB,GAAGz7sB,EAAE,EAAE,EAAE54C,EAAE68M,EAAE9rO,EAAEsW,EAA7B,EAAiCnW,GAAGN,GAAEyjxB,GAAG,CAAC,EAAEr0vB,EAAE68M,EAAE9rO,EAAEsW,EAAlD,EAAsDnW,IAAI,KACpE,EAAE,IACFu/C,EAAEzwB,EAAE,GAAGsjB,EAAEtjB,EAAE,GAAGtf,EAAE,CAAC,EAAEw3C,EAAEl4B,EAAE,IAAI,OAAO44C,EAAE,GAAGy7sB,GAAGz7sB,EAAE,EAAE,EAAEt1B,EAAEu5L,EAAE9rO,EAAE2P,EAAE+vC,EAAEv/C,GAAGN,GAAEyjxB,GAAG,CAAC,EAAE/wuB,EAAEu5L,EAAE9rO,EAAE2P,EAAE+vC,EAAEv/C,IAAI,KACnF,EAAE,IACFskD,EAAEs+tB,GAAG57tB,GAAO,OAAO0gB,EAAE,GAAGy7sB,GAAGz7sB,EAAE,EAAE,EAAE54C,EAAE68M,EAAE9rO,EAAEykD,EAA7B,EAAiCtkD,GAAGN,GAAEyjxB,GAAG,CAAC,EAAEr0vB,EAAE68M,EAAE9rO,EAAEykD,EAAlD,EAAsDtkD,IAAI,QAAQ,OAAOgjxB,KAAM,CAAC,GAAG,IAAInruB,EACrD,OAAOmruB,KADiD,IACpGj7X,EAAEtuZ,EAAE,GAAGikF,EAAE,CAAC,EAAEjkF,EAAE,GAAG09C,GAAG19C,EAAEA,EAAE,GAAG09C,EAAEumC,EAAE7lC,EAAEkwW,CAAuB,OACxD,OAAO/nZ,EAAE,IAAI,KACb,EACO1I,EAAE,CAAC,EAAEA,EAAEq3C,EAAE0Y,GAAGA,EAAjBrnD,EAAE,GAAmB2uC,EAAE,EAAE3uC,EAAEC,GAAEJ,EAAE8rO,GAAG,SAAS,KAC7C,EACOr0O,EAAE,CAAC,EAAEA,EAAEq3C,EAAE0Y,GAAGA,EAAjBrnD,EAAE,GAAmB2uC,EAAE,EAAE3uC,EAAEC,GAAEJ,EAAE8rO,GAAG,SAAS,KAC7C,EAAE,IACFl0K,EAAEz3D,EAAE,GAAG5G,EAAE,CAAC,EAAE9B,EAAEq3C,EAAE0Y,GAAO,OAAOqgB,EAAE,GAAGw7sB,GAAGx7sB,EAAE,EAAE,EAAEtuE,EAAEuyO,EAAE9rO,EAAE43D,EAA7B,GAAkC/3D,GAAEwjxB,GAAG,CAAC,EAAE9pxB,EAAEuyO,EAAE9rO,EAAE43D,EAAhD,IAAsD,KAC3E,EACOngE,EAAE,CAAC,EAAEA,EAAEq3C,EAAE0Y,GAAGA,EAAjBrnD,EAAE,GAAmB2uC,EAAE,EAAE3uC,EAAEC,GAAEJ,EAAE8rO,GAAG,SAAS,KAC7C,EACOr0O,EAAE,CAAC,EAAEA,EAAEq3C,EAAE0Y,GAAGA,EAAjBrnD,EAAE,GAAmB2uC,EAAE,EAAE3uC,EAAEC,GAAEJ,EAAE8rO,GAAG,SAAS,QACtCr0O,EAAE,CAAC,EAAEA,EAAEq3C,EAAE0Y,GAAGA,EAAjBrnD,EAAE,GAAmB2uC,EAAE,EAAE3uC,EAAEC,GAAEJ,EAAE8rO,GAAG,SAAS,EAAEu3iB,GAAG,SAASv3iB,EAAE9rO,EAAE8uC,EAAE3uC,EAAEvG,EAAEnC,GAAG,IACxE+vD,EAAEpnD,GAAED,EAAE2uC,GAAG,GACL,iBAAJ0Y,EAAa,OAAOA,GAAG,KACvB,EAAE,KACF,EAAE,OAAO6hiB,UACT,GAAG,IAAI7hiB,EAAE,GAAG,CAAC,IACblQ,EAAEkQ,EAAE,GAAGxP,EAAE53C,GAAED,EAAE2uC,GAAG7f,EAAE44C,GAAEjuE,EAAE09C,GAAG,OAAOw0L,EAAE,GAAGy3iB,GAAGz3iB,EAAE,EAAE,EAAE9rO,EAAE8uC,EAAE3uC,EAAE8uB,EAAEx3B,EAAEugD,GAAGn4C,GAAE0jxB,GAAG,CAAC,EAAEvjxB,EAAE8uC,EAAE3uC,EAAE8uB,EAAEx3B,EAAEugD,GAAG,CAAC,OAAO8zL,EAAE,GAAGy3iB,GAAGz3iB,EAAE,EAAE,EAAE9rO,EAAE8uC,EAAE3uC,EAAEvG,EAAEnC,EAAE+vD,GAAG3nD,GAAE0jxB,GAAG,CAAC,EAAEvjxB,EAAE8uC,EAAE3uC,EAAEvG,EAAEnC,EAAE+vD,GAAG,EAAE+7tB,GAAG,SAASz3iB,EAAE9rO,EAAEvI,EAAE+vD,EAAE1Y,EAAE1uC,EAAED,GAAG,OAAO2rO,EAAE,GAAGryJ,GAAEqyJ,EAAE,EAAE,EAAE9rO,EAAEvI,EAAE+vD,EAAE1Y,EAAE1uC,EAAED,GAAGN,GAAE45E,GAAE,CAAC,EAAEz5E,EAAEvI,EAAE+vD,EAAE1Y,EAAE1uC,EAAED,GAAG,EAAEmjxB,GAAG,SAAStjxB,EAAEmnD,EAAErY,EAAE3uC,EAAEm3C,EAAEU,EAAE8zL,GAAG,IACvPtkL,EAAE,CAAC,EAAEL,EAAEnP,EAAEV,GAAG,GACR,iBAAJw0L,EAAa,OAAOA,GAAG,KACvB,EAAE,IACFr0O,EAAE2I,GAAED,EAAE2uC,GAAG,GACL,iBAAJr3C,EAAa,OAAOA,GAAG,KACvB,EAAE,KACF,EAAE,OAAOuI,EAAE,GAAGwjxB,GAAGxjxB,EAAE,EAAE,EAAEwnD,EAAE1Y,EAAE3uC,EAAE1I,GAAGoI,GAAE2jxB,GAAG,CAAC,EAAEh8tB,EAAE1Y,EAAE3uC,EAAE1I,SAC9C,GAAG,IAAIA,EAAE,GAAG,CAAC,IACbmgE,EAAEngE,EAAE,GAAGowE,EAAEznE,GAAED,EAAE2uC,GAAGl1C,EAAE,CAAC,EAAEg+D,GAAO,OAAO53D,EAAE,GAAGm/hB,GAAGn/hB,EAAE,EAAE,EAAEwnD,EAAE1Y,EAAE3uC,EAAEvG,EAA7B,EAAiCiuE,GAAGhoE,GAAEs/hB,GAAG,CAAC,EAAE33e,EAAE1Y,EAAE3uC,EAAEvG,EAAlD,EAAsDiuE,GAAG,CAAC,OAAOwhhB,KAAM,KACjG,EAAE,KACF,EAAE,OAAOrplB,EAAE,GAAGwjxB,GAAGxjxB,EAAE,EAAE,EAAEwnD,EAAE1Y,EAAE3uC,EAAE2rO,GAAGjsO,GAAE2jxB,GAAG,CAAC,EAAEh8tB,EAAE1Y,EAAE3uC,EAAE2rO,IAAI,OAAOq3iB,IAAK,EAAEK,GAAG,SAASxruB,EAAE8zL,EAAEr0O,EAAE+vD,EAAE1Y,GAAG,IACvFl1C,EAAEkyO,EAAE,GAAGjkK,EAAEikK,EAAE,GAAG3kL,EAAE2kL,EAAE,GAAgB3rO,EAAEk8a,GAAG,SAASl8a,EAAEC,GAAG,IACrD0uC,EAAE1uC,EAAE,GAAG,GAAGonD,EAAErnD,EAAE,GAAG1I,EAAE0I,EAAE,GAAG,OAAOH,GAAE6nZ,GAAE,GAAG/4W,EAAE0Y,GAAGrnD,EAAE,CAAC,EAAEH,GAAE6nZ,GAAE,GAAG/4W,EAAE0Y,GAAG,CAAC,EAAEpnD,EAAE3I,GAAG,EAD7C,CAAC,EAAEowZ,GAAE,GAAG,GACyC1gW,GAAG,GAAG,GAAGvtD,EAAE,CAAC,GAAG,GAAGA,EAAE,CAAC,GACzF,iBAAJk1C,GAAc,IAAIA,EAAE,CAAC,IACrB7f,EAAE7uB,GAAEonD,EAAE/vD,GAAG,OAAOugD,EAAE,GAAGyruB,GAAGzruB,EAAE,EAAE,EAAE6vB,EAAEpwE,EAAE+vD,EAAErnD,EAAE8uB,GAAGpvB,GAAE4jxB,GAAG,CAAC,EAAE57sB,EAAEpwE,EAAE+vD,EAAErnD,EAAE8uB,GAAG,CAAC,OAAOo6jB,IAAK,CAAC,OAAO85L,IAAK,CAAC,OAAOC,GAAGv7sB,EAAE,CAAC,EAAE1nE,GAAG2uC,EAAE,EAAE20uB,GAAG,SAAShsxB,EAAEgtD,EAAE3V,EAAE3uC,EAAE63C,EAAE/oB,GAAG,IACtIqoB,EAAEmN,EAAE,GAAGo5B,EAAE,EAAE1vC,EAAEsW,EAAE,GAAG3U,EAAE2U,EAAE,GAAG,GAAGnN,IAAIw0L,GAAEx0L,EAAE,GAAG20tB,IAAI,CAAC,IAC5CjswB,EAAEs3C,EAAE,GAAG13C,EAAE,EAAE,GAAGI,IAAI8rO,GAAE9rO,EAAE,GAAGkswB,IAAI,CAAC,IAC9Bt0sB,EAAE53D,EAAE,GAAG,GAAG43D,EAAE,CAAC,IACbr+D,EAAEq+D,EAAE,GAAGthD,EAAEshD,EAAE,GAAG,GAAGr+D,GAAG,IAAIuyO,GAAEvyO,EAAE,GAAG4ywB,IAAI,CAAC,IACpCjwnB,EAAE3iJ,EAAE,GAAG,GAAG2iJ,EAAE,CAAC,IACb0rQ,EAAE1rQ,EAAE,GAAGuvQ,EAAE6gD,GAAGpwT,EAAE,IAAI/0F,EAAE,CAAC,EAAE,CAAC,EAAE7wC,GAAG,CAAC,EAAE,CAAC,EAAEg2Z,GAAG1kB,KAAK6D,EAAEzzW,GAAGp4C,EAAE,CAAC,CAAC,MAAM,CAC1DunD,EAAE,CAAC,EAAE,CAAC,EAAE7wC,GAAG,EAAE,EAAE0hC,GAAGp4C,EAAE,CAAC,CAAC,CAAC,CAAC,IAAIA,EAC5BunD,EAAE,CAAC,EAAE+1X,GAAGkvV,GAAGpswB,GAAGg4C,EAAE,MAChB6lC,EAAE,EAAE,GAAGA,EACP12B,EAAE,CAAC,EAAE,CAAC,EAAEpW,GAAEsrY,GAAG,SAASl8a,EAAEC,GAAG,GAAGD,EAAE,CAAC,IACjC2uC,EAAE3uC,EAAE,GAAGqnD,EAAErnD,EAAE,GAAG,OAAO2rO,GAAE1rO,EAAEiswB,IAAI,CAAC,EAAExksB,GAAErgB,EAAEpnD,GAAG0uC,GAAG,CAAC,EAAEw9tB,GAAG,CAAC,EAAE9ktB,EAAE1Y,GAAG,CAAC,OAAO,CAAC,EAAEy9tB,GAAGj1tB,KAAKU,GAAG,IAC9EwP,EAAE,CAAC,EAAE1X,EAAE3B,EAAEgZ,GAAG,GACR,iBAAJl4B,EAAa,OAAOA,GAAG,KACvB,EACQ,IADN,IACFr1B,EAAE4tD,EAAE0X,EAAE,IAAS,CAAC,IAChBxf,EAAE9lD,EAAE,GAAG24C,EAAE,CAAC,EAAE34C,EAAE,GAAGslE,GAAGgsV,EAAEtxZ,EAAE,GAAG,GAAG,IAAI8lD,EAAE,OAAOnN,EAAE,GAAG,IAAImN,EACnC,OAAOyjuB,KAAxBvpxB,EAAEsxZ,EAAEhsV,EAAE3sB,CAAuB,CAAC,KAC9B,EAAE,IACF5iC,EAAEvP,GAAED,EAAE2uC,GAAGl/B,EAAEszwB,KAAU,OAAOzrxB,EAAE,GAAGisxB,GAAGjsxB,EAAE,EAAE,EAAE+vD,EAAE1Y,EAAE3uC,EAAEyP,EAA7B,EAAiCD,GAAG9P,GAAE6jxB,GAAG,CAAC,EAAEl8tB,EAAE1Y,EAAE3uC,EAAEyP,EAAlD,EAAsDD,IAAI,KAC7E,EAAE,IACFsnD,EAAE72D,GAAED,EAAE2uC,GAAGqC,EAAE8xuB,KAAU,OAAOxrxB,EAAE,GAAGisxB,GAAGjsxB,EAAE,EAAE,EAAE+vD,EAAE1Y,EAAE3uC,EAAEgxC,EAA7B,EAAiC8lB,GAAGp3D,GAAE6jxB,GAAG,CAAC,EAAEl8tB,EAAE1Y,EAAE3uC,EAAEgxC,EAAlD,EAAsD8lB,IAAI,KAC7E,EAAE,IACFtgB,EAAEv2C,GAAED,EAAE2uC,GAAG0I,EAAEwruB,KAAU,OAAOvrxB,EAAE,GAAGisxB,GAAGjsxB,EAAE,EAAE,EAAE+vD,EAAE1Y,EAAE3uC,EAAEq3C,EAA7B,EAAiCb,GAAG92C,GAAE6jxB,GAAG,CAAC,EAAEl8tB,EAAE1Y,EAAE3uC,EAAEq3C,EAAlD,EAAsDb,SACzE,GAAG,IAAI1nB,EAAE,GAAG,CAAC,IACb+4X,EAAE/4X,EAAE,GAAG04X,EAAEvnZ,GAAED,EAAE2uC,GAAO,OAAOr3C,EAAE,GAAGisxB,GAAGjsxB,EAAE,EAAE,EAAE+vD,EAAE1Y,EAAE3uC,EAAE6nZ,EAA7B,EAAiCL,GAAG9nZ,GAAE6jxB,GAAG,CAAC,EAAEl8tB,EAAE1Y,EAAE3uC,EAAE6nZ,EAAlD,EAAsDL,GAAG,CAAC,OAAO0hM,IAAK,EAAEq6L,GAAG,SAAS1ruB,EAAEz+C,EAAEyG,EAAEvI,EAAEmgE,EAAEzQ,EAAE7P,GAClG,IADqG,IACrHkQ,EAAEjuD,EAAEu1C,EAAE8oB,EAAEz3D,EAAEgnD,EAAE2kL,EAAEx0L,IAAS,CAAC,GACpB,iBAAJw0L,EAAa,OAAOA,GAAG,KACvB,EACkB,IADhB,IACFjkK,EAAErgB,EAAEv4B,EAAE,CAAC,EAAE6f,EAAE,GAAGl1C,EAAEuG,IAAS,OAAOvG,GAAG,KACnC,EAAsD,KACtD,EAAE,OAAOo+C,EAAE,GAAG2ruB,GAAG3ruB,EAAE,EAAE,EAAE6vB,EAAE7nE,EAAEvI,EAAEw3B,EAAEr1B,GAAGiG,GAAE8jxB,GAAG,CAAC,EAAE97sB,EAAE7nE,EAAEvI,EAAEw3B,EAAEr1B,IAAI,KACtD,EAAE,IACFslE,EAAE2I,EAAE,GAAGnoB,EAAE,CAAC,EAAEmoB,EAAE,GAAG54C,GAAG44C,EAAEA,EAAE,GAAG54C,EAAEywB,EAAE9lD,EAAEslE,EAAE,SAAS,QAAQ,OAAOiktB,KAAM,KACjE,EAAE,IACFjnoB,EAAE97I,GAAE3I,EAAEuI,GAAGwnD,EAAE,CAAC,EAAEA,EAAErnD,EAAE2uC,GAAGA,EAAEo0uB,KAAM/ixB,EAAE,EAAE2rO,EAAE5vF,EAAE,SAAS,KAC9C,EAAE,IACFz3F,EAAErkD,GAAE3I,EAAEuI,GAAGwnD,EAAE,CAAC,EAAEA,EAAErnD,EAAE2uC,GAAGA,EAAEm0uB,KAAM9ixB,EAAE,EAAE2rO,EAAErnL,EAAE,SAAS,KAC9C,EAAE,IACF7kD,EAAEQ,GAAE3I,EAAEuI,GAAGwnD,EAAE,CAAC,EAAEA,EAAErnD,EAAE2uC,GAAGA,EAAEk0uB,KAAM7ixB,EAAE,EAAE2rO,EAAElsO,EAAE,cACrC,GAAG,IAAIksO,EAAE,GAAG,CACLtkL,EAAE,CAAC,EAAEA,EAAErnD,EAAE2uC,GAAGA,EAAjBg9L,EAAE,GAAmB3rO,EAAE,EAAE2rO,EAAE1rO,GAAE3I,EAAEuI,GAAG,QAAQ,CAAC,OAAOqplB,IAAK,CAAC,EAAEs6L,GAAG,SAAS3jxB,EAAE43D,EAAE9oB,EAAE3uC,EAAEgnD,EAAE7P,GAAG,IACrFkQ,EAAE,CAAC,EAAEoQ,EAAEtgB,EAAE6P,GAAG1vD,EAAE2I,GAAED,EAAE2uC,GAAG,GACjB,iBAAJr3C,GAAc,GAAG,IAAIA,EAAE,CAAC,IACxBq0O,EAAE1rO,GAAED,EAAE2uC,GAAO,OAAO9uC,EAAE,GAAGyjxB,GAAGzjxB,EAAE,EAAE,EAAEwnD,EAAE1Y,EAAE3uC,EAA3B,EAA+B2rO,GAAGjsO,GAAE4jxB,GAAG,CAAC,EAAEj8tB,EAAE1Y,EAAE3uC,EAA9C,EAAkD2rO,GAAG,OAChE,GAAG,IAAIr0O,EAAE,GAAG,CAAC,IACb8B,EAAE9B,EAAE,GAAGmC,EAAEwG,GAAED,EAAE2uC,GAAG7f,EAAE,CAAC,EAAE11B,GAAO,OAAOyG,EAAE,GAAGm/hB,GAAGn/hB,EAAE,EAAE,EAAEwnD,EAAE1Y,EAAE3uC,EAAE8uB,EAA7B,EAAiCr1B,GAAGiG,GAAEs/hB,GAAG,CAAC,EAAE33e,EAAE1Y,EAAE3uC,EAAE8uB,EAAlD,EAAsDr1B,GAAG,CAAC,OAAOyvlB,IAAK,EAAyDu6L,GAAG,SAASzjxB,EAAEC,EAAE0uC,EAAE0Y,EAAE/vD,EAAEuI,GAAG,OAAO46vB,GAAG8oB,GAAG,EAAEvjxB,EAAEC,EAAE0uC,EAAE0Y,EAAE/vD,EAAEuI,GAAG,EAAE6jxB,GAAG,SAAS/0uB,EAAE3uC,GAAG,IACjOqnD,EAAEpnD,GAAE0uC,EAAE3uC,GAAO,GACT,iBAAJqnD,EAAa,OAAOA,GAAG,KACvB,EAAE,OAAO,EAAE,KACX,EAAE,IACFxnD,EAAEI,GAAE0uC,EAAE3uC,GAAG,OAAOyjxB,GAJL,EAIUzjxB,EAAE2uC,EAAEo0uB,KAAM,EAAEljxB,GAAG,KACpC,EAAE,IACF8rO,EAAE1rO,GAAE0uC,EAAE3uC,GAAG,OAAOyjxB,GANL,EAMUzjxB,EAAE2uC,EAAEm0uB,KAAM,EAAEn3iB,GAAG,KACpC,EAAE,IACFjkK,EAAEznE,GAAE0uC,EAAE3uC,GAAG,OAAOyjxB,GARL,EAQUzjxB,EAAE2uC,EAAEk0uB,KAAM,EAAEn7sB,QACjC,GAAG,IAAIrgB,EAAE,GAAG,CAAC,IACb5tD,EAAE4tD,EAAE,GAAG,OAAOo8tB,GAVH,EAUQzjxB,EAAE2uC,EAAEl1C,EAAE,EAAEwG,GAAE0uC,EAAE3uC,GAAG,CAAC,OAAOkplB,IAAK,EAAEy6L,GAAG,CAAC7stB,EAAEw1sB,GAAGpjX,MAAO06X,GAAG,SAASv8tB,EAAE1Y,GAAG,IAClF3uC,EAAEC,GAAEonD,EAAE1Y,GAAO,GACT,iBAAJ3uC,GAAc,GAAG,IAAIA,EAAE,OAAOijxB,GADnB,EACwB,EAAEjjxB,QACrC,GAAG,IAAIA,EAAE,GAAG,CACL,OAf8F,SAASA,EAAEC,EAAE0uC,EAAE0Y,EAAE/vD,EAAEuI,GAAG,OAAO46vB,GAAGz7N,GAAG,EAAEh/hB,EAAEC,EAAE0uC,EAAE0Y,EAAE/vD,EAAEuI,GAAG,CAezIgkxB,CAHH,EAGQl1uB,EAAE0Y,EAAE,CAAC,EAAtBrnD,EAAE,IAAyB,EAAEC,GAAEonD,EAAE1Y,GAAG,CAAC,OAAOu6iB,IAAK,EAAE46L,GAAG,SAASn1uB,GAAG3uC,EAAE,OAAO,CAAC2uC,EAAE,IAAIgqtB,GAAG,GAAG,GACtF,IADyF,IAC7F9gtB,EAAE,IAAS,CAAC,IACZwP,EAAEgysB,GAAGkT,GAAG10tB,EAAElJ,GAAG7f,EAAE,GAAGu4B,EAAE,EAAE,EAAuB,GAAnBv4B,EAAE6f,EAAE,MAAMwsY,GAAG,EAAE,EAAErsZ,EAAO,CAAC6f,EAAE,IAAIA,EAAE,IAAI,IAC/D9uC,EAAE8uC,EAAE,IAAIA,EAAE,IAAI,CAAC,EAAE9uC,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAG8uC,EAAE,GAAGA,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG0Y,IAAI,EAAV,CAAapnD,GAAE0uC,EAAE,GAAGA,GACjEkJ,EAAEwP,CAAU,MAAC,OAAOA,GAAG,KACvB,EAAE,OAAO,EAAE,KACX,EAAE,IACFskL,EAAEh9L,EAAE,IAAIA,EAAE,IAAI,CAAC,EAAEg9L,EAAE,GAAGA,EAAE,GAAG,EAAE,EAAEh9L,EAAE,GAAGg9L,EAAE,IAAI,SAAS3rO,EAAE,KACrD,EAekB,KAClB,GAAc,KACd,GAAc,KACd,GAAG,SAASA,EAlBC,KACb,EAAE,OAAO,EAAE,KACX,EAAE,OAAO,EAAE,KACX,EAAE,OAAO,EAAE,KACX,EAAE,OAAO,EAAE,KACX,EAAE,OAAO,EAAE,KACX,EAAE,OAAO,EAAE,KACX,EAAE,MAAM,CAAC,EAAE+nZ,GAAEp5W,IAAI,KACjB,GAAG,MAAM,CAAC,EAAEo5W,GAAEp5W,IAAI,KAClB,GAKgD,KAChD,GAAG,MAAM,CAAC,EAAEo5W,GAAEp5W,IANI,KAClB,GAAG,MAAM,CAAC,EAAEo5W,GAAEp5W,IAAI,KAClB,GAAG,MAAM,CAAC,EAAEo5W,GAAEp5W,IAAI,KAClB,GAAG,MAAM,CAAC,EAAEo5W,GAAEp5W,IAAI,KAClB,GAAG,IACHjvC,EAAE0yC,GAAEzD,EAAE,IAAI,GAAG,GAAG,MAAM,CAAC,EAAEmuuB,GAAGnuuB,EAAEyD,GAAEzD,EAAE,IAAI,GAAG,GAAGjvC,IAI9B,QAAQ,IACtBjG,EAAEsuZ,GAAEp5W,GAAGwI,EAAEnG,GAAEv3C,EAAE,GAAG,GAAGk0vB,GAAGx2sB,EAAE,MAAM,CAAC,EAAE19C,GAAG,KAAK,CAAC,EAAEkqxB,GAAGj8sB,GAAE6sX,GAAG7sX,GAAEjuE,EAAEiuE,GAAEojnB,GAAGpjnB,GAAE1nE,GAAE1I,GAAE6/C,GAAGulX,QAAQ,CAAC,CAAC,EAAEqnX,GAAG,SAASp1uB,GAAG,IACjG0Y,EAAE1Y,EAAE,IAAI1uC,EAAE0uC,EAAE,IAAI9uC,EAAE6nE,GAAEyvX,GAAGn3b,GAAE1I,IAAiB,GAAb2I,EAAE,GAAGA,EAAE,GAAG,GAAK,KAAK0rO,EAAEjkK,GAAE8gV,GAAG9gV,GAAE1nE,GAAE1I,IAAiB,GAAb+vD,EAAE,GAAGA,EAAE,GAAG,GAAK,IAAIxnD,IAAI,OAAO6nE,GAAE1nE,GAAE1I,GAAE2I,EAAE,IAAI0rO,EAAE,EAAEq4iB,GAAG,SAASr1uB,EAAE3uC,GAAG,IAC/HC,EAAE48wB,GAAG,EAAEluuB,GAAG,IACE,OAAV9uC,GAAEG,EAAE8jxB,GAAG7jxB,EAAW,CAAC,MAAMD,GAAU,IAAPA,EAAEoxC,GAAEpxC,IAAQ,KAAK2jxB,GAAG,CAAC,IACnDt8tB,EAAEqgB,GAAEgoY,GAAG1vc,EAAE,IAAmB,OAAfk7a,GAAGxzW,GAAEq8sB,GAAG9jxB,GAAGonD,IAAW,CAAC,CAAC,GAAGrnD,IAAI0ixB,GAAG,CAAC,IAChDprxB,EAAEowE,GAAEuwnB,GAAGtppB,GAAkB,OAAfusY,GAAGxzW,GAAEq8sB,GAAG9jxB,GAAG3I,IAAW,CAAC,CAAC,MAAM0I,CAAC,CAAC,EAAEikxB,GAAG,SAASjkxB,GAAG,OAAOgkxB,GAAGhkxB,EAAE0jxB,GAAG,EAAEQ,GAAG,SAASlkxB,GAAG,GAAG,IAAIA,EAAE,GAAG,OAAOu2c,GAAGv2c,EAAE,IAAI,IACvHC,EAAED,EAAE,GAAG2uC,EAAEg9L,GAAE3rO,EAAE,GAAGi7a,IAAI,GAAGtsY,EAAE,CAAC,IAC1B0Y,EAAE,IAAIpnD,EAAE,EAAE,EAAE,GAAGonD,EAAE,OAAOg0tB,GAAG6I,GAAGjkxB,GAAG,IACjC3I,EAAE+vD,CAAC,MAEH/vD,EAAEq3C,EAAE,OAAOr3C,CAAC,EAAE6sxB,GAAG,SAASnkxB,GACtB,OAAO4wC,GAAEsrY,GAAG,SAASr8a,EAAEG,GAAG,GAAG,IAAIA,EAAE,GAAG,CAAC,IAC3C2uC,EAAE3uC,EAAE,GAAG8uB,EAAE6f,EAAE,GAAGkJ,EAAElJ,EAAE,GAAGwI,EAAExI,EAAE,GAAqCr3C,EAAE2I,GAAE8ic,GAAG,SAAS/ic,GAAG,OAAOqnD,GAAErnD,EAAE,GAAGqmd,GAAG,GAAGxua,GAAGp+C,EAAEnC,EAAE,GAAGq0O,EAAEuwM,GAAGxrY,GAAE,EAAEutpB,GAA1F,SAASj+rB,GAAG,OAAOgkxB,GAAGhkxB,EAAE,GAAG4jxB,GAAG,EAAiEtsxB,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,EAAE6/C,EAAE19C,EAAEkyO,EAAEw4iB,GAAGr1vB,IAAIjvB,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAEG,EAAE,IAAIH,EAAE,EADlL,EACsLG,GAAG,EAAEokxB,GAAG,SAASnkxB,EAAED,GAAG,OAAO,IAAIA,EAAEC,EAAE,CAAC,EAAE,CAAC,EAAEm/rB,GAAGmjF,GAAG,EAAEvixB,IAAIC,EAAE,EAAEokxB,GAAG,SAASrkxB,GAC3P,OAAO4wC,GAAEsrY,GAAG,SAASj8a,EAAED,GAAG,GAAG,IAAIA,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,EAAEA,EAAE,IAAIC,GAAG,IAC/D0uC,EAAE3uC,EAAE,GAA0B,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAlCA,EAAE,GAAKokxB,GAAGpkxB,EAAE,GAAGA,EAAE,IAAuBqkxB,GAAG11uB,KAAK1uC,EAAE,EADzD,EAC6DD,GAAG,EAAEskxB,GAAG,SAASvltB,GACxE,IAD2E,IACnF1X,EAAE,EAAErnD,EAAE++D,IAAS,CAAC,IAAG/+D,EAmBkB,OAAO4wC,GAAEyW,GAnBxB,IACtB/vD,EAAE0I,EAAE,GAAG8uB,EAAE,EAAE,GAAG,IAAIx3B,EAAE,GAAG,CAAC,IACxBuI,EAAEG,EAAE,GAAG,GAAGH,EAAE,CAAC,IACb8rO,EAAE9rO,EAAE,GAAGg4C,EAAEvgD,EAAE,GAAG,GAAG,IAAIq0O,EAAE,GAAG,CAAC,IAC3BpsL,EAAE1/C,EAAE,GAAGG,EAAE,CAAC,EAAE,CAAC,EAAE0nE,GAAE7vB,EAAE8zL,EAAE,KAAKpsL,GAAG,QAAQ,CAAC,IACtCkY,EAAE53D,EAAE,GAAGH,EAAEm4C,EAAEmP,EAAE2kL,EAAEx0L,EAAEw0L,EAAE,GAAG78M,EAAE,CAAC,CAAC,KAAK,CAAC,IAChCr1B,EAAEuG,EAAE,GAAG,GAAGvG,EAAE,CAAC,IACbgG,EAAEhG,EAAE,GAAGiuZ,EAAEpwZ,EAAE,GAAG,GAAG,IAAImI,EAAE,GAAG,CAC1Bg4D,EAAEh+D,EAAE,GAAGiG,EAAED,EAAE,GAAGunD,EAAE1vD,EAAE6/C,EAAEuwW,EAAE54X,EAAE,CAAC,CAAC,CAAC,CAAC,GAAGA,GAAGoiD,GAAG/5B,IAAIo/Z,GAAG72c,GAC5CM,EAAE,CAAC,EAAEgnD,EAAEyQ,OADqB,CACT,IACnBx3D,EAAED,EAAE,GAAG,GAAG,IAAIC,EAAE,GAAT,CAC0B,IACjC7G,EAAE6G,EAAE,GAAG87I,EAAE97I,EAAE,GAAGmyC,EAAEpyC,EAAE,GAAGwP,EAAEvP,EAAE,GAAGwP,EAAExP,EAAE,GAAG,GAAGixE,GAAG6qE,GACrC,IADyC,IAC7CptG,EAAEv1C,IAAS,CAAC,GAAGu1C,EAAE,CAAC,IAClBx4B,EAAEw4B,EAAE,GAAG,GAAGu1uB,GAAGv1uB,EAAE,IAAI,CACnBA,EAAEx4B,EAAE,QAAQ,CAAC,CAAC,IACdmuC,EAAEsre,GAAG,SAAS3vhB,EAAED,GAAG,OAAGkkxB,GAAGjkxB,IAAI,IAAID,EAASA,EAAQ,CAAC,EAAEC,EAAED,EAAE,EAAE2uC,EAAE,GAAG,KAAK,MAErE2V,EAAElrD,EACFiuD,EAAE,CAAC,EAAE,CAAC,EAAE00F,EAAEtsI,EAAED,EAAE80wB,GAAGhguB,IAAI+C,GAAGrnD,EAAEoyC,CARM,MADZ,IACpBiV,EAAE,CAAC,EAAE,CAAC,EAAEpnD,EAAE,IAAIonD,GAAGrnD,EAAEA,EAAE,EAFH,CAU8B,CAAC,EAAEukxB,GAAG,SAASvkxB,GAId,OAJiB,SAClE2uC,EAAE0Y,EAAErnD,GAAG,IACPC,EAAE+7wB,GAAK,EAAF30tB,EAAI,EAAE,IAAI,GAAG,IAAIrnD,EAAE,GAAG,OAAO0nE,GAAEphD,GAAGohD,GAAEznE,EAAEynE,GAAEg5W,GAAGh5W,GAAE1nE,EAAE,GAAGu7kB,OAAO,IAC9DjklB,EAAE0I,EAAE,GAAGH,EAAEG,EAAE,GAAG2rO,EAAEy4iB,GAAGpkxB,EAAE,GAAGA,EAAE,IAAIvG,EAAEiuE,GAAE6jW,GAAG7jW,GAAEznE,EAAE04Z,KAAK7pY,EAAEu4B,EAAE,EAAE,EAAExP,EAAE6vB,GAAE8ksB,GAAG9ksB,GAAEq1W,GAAG6uB,GAAGqyP,GAAG,SAASj+rB,GAAG,OAAO2uC,EAAE7f,EAAE9uB,EAAE,EAAE1I,IAAImC,IAAI,OAAOiuE,GAAE42iB,GAAG52iB,GAAEznE,EAAEynE,GAAEwiZ,GAAGxiZ,GAAE7nE,EAAE6nE,GAAE8/W,GAAG9/W,GAAEq1W,GAAGvuB,GAAGyvS,GAAG,SAASj+rB,GACtJ,OAAO0nE,GAAZ1nE,EAAE,GAAc0nE,GAAE33C,GAAG23C,GAAE1nE,EAAE,GAAGsyZ,KAAK,EAAE3mL,IAAI9zL,OAAO,CAAQlJ,CAAE,EAAE3uC,EAAE,EAAEy2c,GAAG,SAASx2c,EAAED,GAAG,MAAM,CAAC,EAAEgwvB,GAAG,CAAC,EAAE/vvB,EAAED,GAAG,EAAEq2lB,GAAG,CAAC,EAAE63K,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAE,CAAC,EAAED,GAAG,CAAC,EAAE39uB,GAAE2nb,GAAGh9c,GAAEm/lB,MAAMnC,6BAA6B+tL,GAAG,CAAC,EAAEnW,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAE18K,GAAG,CAAC,EAAE,CAAC,EAAED,GAAG,CAAC,EAAE1ikB,GAAE2nb,GAAGh9c,GAAE6pc,MAAM+yJ,QAAQrwT,GAAG,CAAC,EAAEyoe,GAAG,CAAC,EAAED,GAAG,CAAC,EAAE,CAAC,EAAED,GAAG,CAAC,EAAE92sB,GAAEg/Y,GAAGh9c,GAAE60wB,MAAMkW,MAAMl9X,GAAG,CAAC,EAAE,CAAC,EAAEm6C,GAAG,CAAC,EAAEhqY,GAAE,CAAC,EAAEnmB,EAAE,CAAC,EAAEkiZ,GAAGijB,GAAGh9c,GAAE0xrB,QAAQnlZ,IAAIy+e,GAAG,CAAC,EAAEvV,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAE52Q,GAAG,CAAC,EAAEoiF,GAAG,CAAC,EAAEye,GAAG,CAAC,EAAE81K,GAAG,CAAC,EAAEtwqB,GAAG,CAAC,EAAE+gU,GAAG,CAAC,EAAElR,GAAG,CAAC,EAAElqD,GAAG,CAAC,EAAE6tD,GAAG,CAAC,EAAE68W,GAAG,CAAC,EAAE99U,GAAG,CAAC,EAAE,CAAC,EAAEv5W,GAAG,CAAC,EAAE7f,GAAE,CAAC,EAAEnmB,EAAE,CAAC,EAAE4qtB,GAAG5jW,OAAO,CAAC,EAAE,CAAC,EAAEonL,GAAG,CAAC,EAAEjohB,GAAE,CAAC,EAAEnmB,EAAE,CAAC,EAAE4qtB,GAAGj8U,OAAO,CAAC,EAAEyuV,GAAG,CAAC,EAAErvE,GAAG,CAAC,EAAEv+Z,GAAG,CAAC,EAAE4gK,GAAG,CAAC,EAAE,CAAC,EAAE4d,GAAG,CAAC,EAAE7nZ,GAAEg/Y,GAAGh9c,GAAE8qa,MAAMjd,2BAA2Bo9X,GAAG,CAAC,EAAErV,GAAG,CAAC,EAAE,CAAC,EAAED,GAAG,CAAC,EAAEzguB,EAAE8na,GAAGh9c,GAAE01wB,MAAMsV,KAAKE,GAAG,CAAC,EAAEnV,GAAG,CAAC,EAAE,CAAC,EAAED,GAAG,CAAC,EAAE5guB,EAAE8na,GAAGh9c,GAAE61wB,MAAMoV,KAAKt8X,GAAG,CAAC,EAAEuvC,GAAG,CAAC,EAAEl6V,GAAG,CAAC,EAAE+jmB,GAAG,CAAC,EAAE7hmB,GAAG,CAAC,EAAEixqB,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAEnvK,GAAG,CAAC,EAAEj+J,GAAG,CAAC,EAAE9wR,GAAG,CAAC,EAAEi+lB,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAED,GAAG,CAAC,EAAE,CAAC,EAAED,GAAG,CAAC,EAAE/guB,EAAE8na,GAAGh9c,GAAEg2wB,MAAMkV,6BAA6BC,GAAG,SAAS5kxB,GAAG,OAAOskxB,GAAGH,GAAG9D,GAAG,CAAC,EAAEj4X,IAAIm+D,GAAG6xO,GAAG3oP,GAAG,EAAEotU,GAAG,EAAE78wB,KAAK,EAAE6kxB,GAAG,SAAS7kxB,GAAG,MAAM,CAAC,EAAE,CAAC,EAAEmywB,GAAGnywB,GAAGkywB,GAAG,EAAEp1W,GAAG+nX,GAAGnS,IAAIoS,GAAG,SAASplxB,EAAEsnD,EAAEhnD,GAAG,IAC/lCH,EAAE43b,GAAG,SAASx3b,GAAG,IACjBD,EAAEC,EAAE,GAA0B,OAArBonD,GAAErnD,EAAEo8vB,KAAS/0sB,GAAErnD,EAAEq8vB,GAAY,EAAE38vB,GACjB,IACvBtG,EAAE6G,GAAE69wB,GAAG1hB,IAAIv8vB,GAAGk8I,EAAEm2T,GAAEp1C,GAAG+2C,GAAGA,GAAGqtU,GAAG,CAACp2W,EAAG,SAAS9qa,GAAG,OAAOC,GAAE69wB,GAAGzhB,IAAIx8vB,EAAE,GAAGzG,GAFxB,SACzC4G,GAAG,OAAO+4Z,GAAG/4Z,EAAE,GAAG,EAAE,GACmD6kxB,KAAKl2uB,EAAE1uC,GAAE69wB,GAAGtL,IAAIxywB,GAAG1I,EAAE2I,GAAE69wB,GAAGrL,IAAIzywB,GAAGvG,EAAE,EAAE,GAAGnC,GAAGq3C,EAAE,CAAC,IACvH7f,EAAE6f,EAAE,GAAG,GAAGkJ,EAAEvgD,EAAE,GAAG,GAA0EowE,EAAEmsY,GAAGqqU,GAAG,SAASl+wB,GAAG,OAAO2rO,GAAE3rO,EAAE,GAAG,GAAGoywB,IAAI,EAAE,CAAC,EAAE3qV,GAAGznb,EAAE,IAAI,EAAEgnD,GAA9H,SAAS/mD,GAAG,OAAG0rO,GAAE1rO,EAAE67a,KAAKnwM,GAAE1rO,EAAEoywB,IAAWrywB,EAASgixB,GAAGzP,GAAGzjvB,EAAEkzvB,GAAG1P,GAAGz6tB,EAAE73C,GAAG,GAAiEvG,EAAE,CAAC,CAAC,IAAIA,EAClKiuE,EAAE,EAAE,OAAOh3B,GAAEqrG,EAAEm2T,GAAElyc,EAAE0nE,GAAG,EAAEq9sB,GAAG,SAAS9kxB,EAAED,GACvB,OAAOiixB,GAAGhixB,EAAE,SAASA,EAAED,GAAG,MAAM,CAAC,EAAE,CAAC,EAAEC,EAAED,GAAG,EAAxD,CAAC,EAAEiywB,GAAG,EAAE,EAAEjywB,GAAkD,EAAEglxB,GAAG,SAASnlxB,EAAEwnD,EAAErnD,EAAE2uC,GAEzC,IACzC1uC,EAAEiyc,GAAE,CAAC,EAAEp1C,GAAG,GAAG+2C,GAAGkxU,GAAGhT,GAAGpjuB,GAH+D,SACnF1uC,GAAG,IACL0uC,EAAE1uC,EAAE,GAAkB,MAAM,CAAC,EAApB6kxB,GAAGz9tB,EAAErnD,EAAEC,EAAE,IAAeywC,GAAE/B,EAAE3uC,GAAG,IACX,MAAM,CAAC,EAAE,CAAC,EAAEgywB,GAAG/xwB,EAAE,GAAGA,EAAE,GAAG,GAAG,EAAEglxB,GAAG,CAAC,EAAE,SAASjlxB,EAAE1I,EAAEq3C,EAAE1uC,GAAG,OAAOonD,GAAErnD,EAAE8xwB,GAAG,EAAEkT,IAAIE,GAAG,SAASllxB,EAAEC,GAAG,MAAM,CAAC,EAAED,EAAE,EAAEmlxB,GAAG,SAASnlxB,GAAG,OAAOiixB,GAAGtP,GAAGuS,GAAGllxB,EAAE,EAAEolxB,GAAG,SAAS/9tB,EAAErnD,GAAG,GAAG,IAAIA,EAAE,GAAG,OAAO,EAAE,IAC9MC,EAAED,EAAE,GAAG,GAAG2rO,GAAE1rO,EAAE2xwB,IAAI,CAAC,IACnBt6wB,EAAE0I,EAAE,GAAGH,EAAEG,EAAE,GAAG0nE,EAAE1nE,EAAE,GAAG2uC,EAAE,SAAS1uC,GAAG,GAAGA,EAAE,CAAC,IACzCD,EAAEC,EAAE,GAAG,GAAG,IAAID,EAAE,GAAG,MAAM,CAAC,EAAEA,EAAE2uC,EAAE1uC,EAAE,KAAK,IACvC3I,EAAE0I,EAAE,GAAG,GAAG2rO,GAAEr0O,EAAEo6wB,IAAI,CAAC,IACnB7xwB,EAAEG,EAAE,GAAG0nE,EAAE1nE,EAAE,GAAGvG,EAAEuG,EAAE,GAAG8uB,EAAE6f,EAAE1uC,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE3I,EAAEmC,EAAEiuE,EAAE/4B,EAAE9uC,IAAIivB,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE6ivB,GAAGtqtB,EAAErnD,EAAE,GAAGA,EAAE,IAAIC,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAEA,EAAEynE,EAAE7nE,EAAE8uC,EAAEr3C,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAEu6wB,GAAGxqtB,EAAErnD,EAAE,GAAGA,EAAE,IAAI,EAAEqlxB,GAAG,SAASjzuB,EAAEzD,EAAE4Q,EAAEwf,EAAE9+D,GAAG,GAAG0uC,EAAE,CAAC,IAC1LjvC,EAAEivC,EAAE,GAAG,IAAIg9L,GAAEjsO,EAAE,GAAG0xwB,MAAMziuB,EAAE,GAAG,CAAC,IAC9B3uC,EAAEN,EAAE,GAAGsnD,EAAEs6tB,GAAGthxB,EAAE4ywB,IAAmB,GAAb5rtB,EAAEu6tB,GAAGvhxB,EAAE6ywB,IAAI7rtB,EAAO,CAAC,GAAG/mD,EAAE,CAAC,IAC7ConD,EAAEpnD,EAAE,GAAG,GAAG,IAAIonD,EAAE,KAAKskL,GAAEtkL,EAAE,GAAGgqtB,IAAI,CAAC,IACjC/5wB,EAAE+vD,EAAE,GAAG,GAAG/vD,EAAE,CAAC,IACbmgE,EAAEngE,EAAE,GAAG,IAAIq0O,GAAEl0K,EAAE,GAAG65sB,MAAM3liB,GAAEl0K,EAAE,GAAG85sB,MAAMj6wB,EAAE,GAAG,CAAC,IAC3CuI,EAAEI,EAAE,GAAG,GAAGJ,EAAE,CAAC,IACb6nE,EAAE7nE,EAAE,GAAG,GAAG6nE,EAAE,CAAC,IACbjuE,EAAEiuE,EAAE,GAAG54C,EAAEjvB,EAAE,GAAG,GAAG,IAAIpG,EAAE,KAAKkyO,GAAElyO,EAAE,GAAG+3wB,IAAI,CAAC,IACxCr6tB,EAAE19C,EAAE,GAAG,GAAG09C,EAAE,CAAC,IACb/9C,EAAE+9C,EAAE,GAAG,IAAIw0L,GAAEvyO,EAAE,GAAGwzlB,MAAMjhX,GAAEvyO,EAAE,GAAGiqc,MAAMlsZ,EAAE,GAAG,CAAC,IAC3ChhC,EAAEuxD,EAAE,GAAGq0E,EAAE6ooB,GAAG3I,GAAGj8wB,EAAE,IAAI63C,GAAE73C,GAAG,EAAE,GAAG,GAAG,IAEoC,MAAM,CAAC,EAAE,CAAC,EAAEkyc,GAAEpjb,EAAEm6jB,GAAGk8L,GAAGr2vB,GAFpD,SAAS9uB,GACrB,IAC5B2uC,EAAEkla,GAAGkxU,GAAGtT,GAAG11nB,GAFyC,SAClD97I,GAAG,OAAO6kxB,GAAG7kxB,EAAE,GAAGA,EAAE,GAAGD,EAAE,GACV,OAAOolxB,GAAG55tB,GAAG,CAACs/W,EAAG,SAAS7qa,GAAG,OAAOywC,GAAEosX,GAAG98Z,EAAE,GAAG2uC,GAAG7f,EAAE,IAA+B3Y,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAEmvwB,GAAG,CAAC,EAAE,SAAStlxB,EAAEC,EAAE0uC,EAAE0Y,GAAG,OAAO66tB,GAAGpP,GAAG9ywB,EAAEC,EAAE0uC,EAAE0Y,EAAE,EAAEg+tB,IAAIE,GAAG,SAASxmtB,EAAE9+D,EAAEkW,EAAE1W,EAAEO,GAAG,GAAGC,EAAE,CAAC,IAC5Nk3C,EAAEl3C,EAAE,GAAG,IAAI0rO,GAAEx0L,EAAE,GAAG45tB,MAAM9wwB,EAAE,GAAG,CAAC,IAC9B+mD,EAAE7P,EAAE,GAAGU,EAAEypuB,GAAGt6tB,EAAE+rtB,IAAmB,GAAbl7tB,EAAE0puB,GAAGv6tB,EAAEgstB,IAAIn7tB,EAAO,CAAC,GAAG73C,EAAE,CAAC,IAC7C2uC,EAAE3uC,EAAE,GAAG,GAAG,IAAI2uC,EAAE,KAAKg9L,GAAEh9L,EAAE,GAAGqiuB,IAAI,CAAC,IACjC3ptB,EAAE1Y,EAAE,GAAG,GAAG0Y,EAAE,CAAC,IACb3nD,EAAE2nD,EAAE,GAAG,IAAIskL,GAAEjsO,EAAE,GAAGuxwB,MAAMtliB,GAAEjsO,EAAE,GAAGwxwB,MAAM7ptB,EAAE,GAAG,CAAC,IAC3C/vD,EAAE0I,EAAE,GAAG,GAAG1I,EAAE,CAAC,IACbuI,EAAEvI,EAAE,GAAG,GAAGuI,EAAE,CAAC,IACb6nE,EAAE7nE,EAAE,GAAGpG,EAAEnC,EAAE,GAAG,GAAG,IAAIowE,EAAE,KAAKikK,GAAEjkK,EAAE,GAAGw1V,IAAI,CAAC,IACxCpuY,EAAE44C,EAAE,GAAG,GAAG54C,EAAE,CAAC,IACb2oC,EAAE3oC,EAAE,GAAG,IAAI68M,GAAEl0K,EAAE,GAAG4qoB,MAAM12d,GAAEl0K,EAAE,GAAGm9X,MAAM9la,EAAE,GAAG,CAAC,IAC3Cw1B,EAAEzkD,EAAE,GAAwC,MAAM,CAAC,EAAE,CAAC,EAAEqyc,GAAEz4c,EAAEwvlB,GAAGk8L,GAAG1rxB,GAAzD,SAASuG,GAAG,OAAOolxB,GAAG,CAAC,EAAEjU,GAAGnxwB,GAAGvG,EAAE,IAA+B6qD,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE0kW,GAAG,CAAC,EAAE,SAAShpZ,EAAEC,EAAE0uC,EAAE0Y,GAAG,OAAO66tB,GAAGl0V,GAAGhub,EAAEC,EAAE0uC,EAAE0Y,EAAE,EAAEk+tB,IAAIC,GAAG,SAAS99sB,EAAEikK,EAAEl0K,GAClK,IADqK,IACxLh+D,EAAEiuE,EAAEA,EAAE,GAAG,EAAE/4B,EAAE,EAAE3uC,EAAEy3D,IAAS,CAAC,IAAGz3D,EAUb,OAAO4wC,GAAEjC,GAVO,IACjC1uC,EAAED,EAAE,GAAG,GAAG,IAAIC,EAAE,GAAT,CACmB,IAC1BonD,EAAErnD,EAAE,GAAGH,EAAEI,EAAE,GAAG6uB,EAAE7uB,EAAE,GAAG43C,EAAE53C,EAAE,GAAGk3C,EAAEl3C,EAAE,GAAG3I,EAAE4lb,GAAGvxM,EAAEx0L,EAAEU,EAAE/oB,EAAEjvB,EAAEwnD,GAAG,GACjD,iBAAJ/vD,EAI4B,GAAG,IAAIA,EAAE,GAErC0I,EAAE1I,EAAE,QADJ0I,EAAE,CAAC,EAAE1I,EAAE,GAAG+vD,OAN2C,CACvC,GAAG,IAAI/vD,EAAE,CAAC,IACxB0I,EAAEqnD,EAAE,QAAQ,CAAC,IACbL,EAAEw+tB,GAAG,CAAC,EAAE/rxB,GAAGkyO,EAAE9rO,GAAGH,EAAE,CAAC,EAAEy3C,EAAEU,EAAE/oB,EAAEk4B,GAAG,GAAGvtD,GAAGwgwB,GAAGjzsB,EAAEnnD,GAAG,CAC5CG,EAAE,CAAC,EAAEN,EAAE2nD,GAAG,QAAQ,CAClB1Y,EAAE,CAAC,EAAEjvC,EAAEivC,GAAG3uC,EAAEqnD,CAEG,CARU,MADL,IACpB1Y,EAAE,CAAC,EAAE1uC,EAAE0uC,GAAG3uC,EAAEA,EAAE,EAQc,CAAC,EAAEylxB,GAAG,SAASzlxB,EAAE1I,EAAE+vD,EAAE1Y,EAAE1uC,GAAG,OAAOiyc,GAAE,EAAEgsU,GAAG,SAASr+wB,GAAG,GAAGihb,GAAGjhb,EAAE,GAAGvI,EAAE+vD,EAAE1Y,EAAE1uC,GAAG,CAAC,IACrGD,EAAE8gb,GAAGjhb,EAAE,GAAGvI,EAAE+vD,EAAE1Y,EAAE1uC,GAAG,MACf,iBAAJD,GAAeA,EAAiB,CAAC,EAAEA,GAAX,CAAa,CAAC,OAAO,CAAC,EAAEA,GAAG,EAAE0lxB,GAAG,SAAS1lxB,EAAEvG,EAAEiuE,EAAEznE,GAAG,IAC1E0uC,EAAE3uC,EAAEA,EAAE,GAAG,EAAE,OAAOwlxB,GAAG,CAAC,EAAE72uB,GAAG,SAAS9uC,EAAEvI,EAAE+vD,EAAEpnD,EAAE0uC,GAAG,IAC/C3uC,EAAEylxB,GAAGhsxB,EAAEoG,EAAEvI,EAAE+vD,EAAEpnD,GAAG,GACZ,iBAAJD,EAIA,OAAO,IAAIA,EAAE,GAAG,CAAC,EAAEA,EAAE,IAAI,CAAC,EAAE0wC,GAAE1wC,EAAE,GAAG2uC,IAJtB,OAAO3uC,GAAG,KACvB,EAAE,IACF2rO,EAAEuyiB,GAAG,SAASl+wB,GAAG,OAAO8gb,GAAG9gb,EAAE,GAAGH,EAAEvI,EAAE+vD,EAAEpnD,GAAGi9a,GAAGl9a,EAAE,GAAGH,EAAEvI,EAAE+vD,EAAEpnD,EAAE0uC,GAAG,CAAC,EAAE+4B,GAAG,OAAOikK,EAAE,CAAC,EAAEA,EAAE,IAAI,EAAE,KACtF,EAAE,MAAM,CAAC,EAAEj7L,GAAEzwC,EAAE0uC,IAAI,QAAQ,OAAO,EACI,EAAE1uC,EAAE,EAAEu4rB,GAAG,SAAS7ppB,GAAG,IAAIg9L,GAAEh9L,EAAE,GAAG,GAAGira,IAAI,CAAC,IAC9E55c,EAAE2uC,EAAE,GAAG,GAAG,GAAG3uC,EAAE,CAAC,IAChBC,EAAED,EAAE,GAAG,GAAGC,EAAE,CAAC,IACbonD,EAAEpnD,EAAE,GAAG3I,EAAE2I,EAAE,GAAGJ,EAAEG,EAAE,GAAG0nE,EAAE,CAACojW,EAAG,SAAS9qa,GAAG,OAAOmsc,GAAG9kZ,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAExnD,GAAGssa,GAAG70a,GAAGowE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAEq7iB,GAAG,SAAS/inB,GAAG,OAAOk+wB,GAAG1lF,GAAGx4rB,EAAE,EAAE2lxB,GAAG,SAAS1lxB,EAAED,GAAG,OAAOk+wB,GAAG,SAASl+wB,GAAG,IACrK2uC,EAAE3uC,EAAE,GAAG,OAAOqnD,GAAErnD,EAAE,GAAG,GAAGC,GAAG,CAAC,EAAEwnb,GAAG94Y,IAAI,CAAC,EAAE3uC,EAAE,EAAE4lxB,GAAG,SAASnutB,GAAG,IAC3D9oB,EAAE,EAAE3uC,EAAEy3D,EAAEz3D,EAAE,OAAO,CAAC,IAAGA,EAaY,OAAO4wC,GAAEjC,GAblB,IACxB1uC,EAAED,EAAE,GAAG,GAAG,IAAIC,EAAE,GAAT,CACmB,IAC1B43C,EAAE73C,EAAE,GAAGH,EAAEI,EAAE,GAAGynE,EAAEznE,EAAE,GAAG7G,EAAE6G,EAAE,GAAGk3C,EAAEyuuB,GAAG3lxB,EAAE,IAAI,GAAGJ,EAAE,CAAC,IAC7CmnD,EAAEnnD,EAAE,GAAG,KAAI8rO,GAAE3kL,EAAE,GAAGi1X,KAAMtwM,GAAE3kL,EAAE,GAAGu4oB,KAAM1/rB,EAAE,IAAKs3C,GAAE,CAAC,IAC/Cz3C,EAAE,EAA0B,IAArB2nD,GAAEqgB,EAAEursB,KAAK5rtB,GAAEqgB,EAAEy5W,OAAIzhb,EAAE,GAAKA,EAGwD,IAHrD,IAClCjG,EAAE,EAAEnC,EAAE0pb,GAAG,SAASnhb,GAAG,OAAO,SAASG,GAAG,GAAG,IAAIA,EAAE,GAAG,CAAC,IACrDC,EAAED,EAAE,GAAG,GAAGC,EAAE,CAAC,IACb0uC,EAAE1uC,EAAE,GAAG3I,EAAE0I,EAAE,GAAG,IAAI2rO,GAAEh9L,EAAE,GAAGk7tB,MAAMl+hB,GAAEh9L,EAAE,GAAGm7tB,MAAM7pwB,EAAE,IAAIonD,GAAE/vD,EAAEuI,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAFnE,CAEqE6nE,GAAG7vB,GAAG,KAAU,CAAC,GAAG,IAAIp+C,EAAE,IACxGq1B,EAAEx3B,MAAM,CAAC,GAAGA,EAAE,CACdmC,EAAEA,EAAE,EAAE,EAAEnC,EAAEA,EAAE,GAAG,QAAQ,CACvBw3B,EAAE,CAAC,CACH9uB,EAAE8uB,EAAE,SAAS9uB,CAAC,CAAE,CAAC,CACjB2uC,EAAE,CAAC,EAAE,CAAC,EAAE+4B,EAAE7nE,EAAEzG,EAAE+9C,GAAGxI,GAAG3uC,EAAE63C,CAXG,MADL,IACpBlJ,EAAE,CAAC,EAAE1uC,EAAE0uC,GAAG3uC,EAAEA,EAAE,EAW8B,CAAC,EAAE6lxB,GAAG,SAAS7lxB,GAAG,MAAM,CAAC,EAAEm5Z,GAAGn5Z,EAAE,GAAG,CAAC,EAAEw0c,GAAGx0c,EAAE,IAAI,EAAE,EAAE8lxB,GAAG,SAAS7lxB,GAAG,IAC9GD,EAAEC,EAAE,GAAG,GAA0B,OAArBonD,GAAErnD,EAAE6zwB,KAASxstB,GAAErnD,EAAE8zwB,GAAY,EAAEiS,GAAG,SAAS/lxB,GAAG,IAAI2rO,GAAE3rO,EAAE,GAAG,GAAG0zwB,IAAI,CAAC,IAC7E/kuB,EAAE3uC,EAAE,GAAGC,EAAE0uC,EAAE,GAAG,GAAG1uC,IAAI0rO,GAAE1rO,EAAE,GAAG0zwB,MAAM1zwB,EAAE,GAAG,MAAM,CAAC,EAAE2zwB,GAAGjluB,EAAE,CAAC,OAAO3uC,CAAC,EAAEgmxB,GAAG,SAASl3vB,EAAE7uB,EAAE0uC,GAGiF,GAAGA,EAAE,CAAC,IACvKkJ,EAAElJ,EAAE,GAAGwI,EAAEU,EAAE,GAAG,GAAGmP,EAAEnP,EAAE,GAAGp+C,EAAE,SAASkyO,EAAEr0O,EAAEq3C,GAQK,SAC5Cl1C,EAAEuG,GAAG,OAAG,IAAIA,EAAE,IAAKA,EAAE,GAAyB,EAAhB,CAAC,EAAEA,EAAE,GAAY,CAAC,IAChDC,EAAEw3b,GAVwC,SACxCz3b,GAAG,GAAG,IAAIA,EAAE,GAAG,CAAC,IAClBC,EAAED,EAAE,GAAG,GAAGqnD,GAAErnD,EAAE,GAAG,GAAG2rO,GAAG,CAAC,GAAGh9L,EAAE,IAC7B9uC,EAAE8uC,EAAE,GAAGr3C,EAAE2I,EAAE21vB,GAAG/1vB,EAAEI,EAAE,IAAI,OAEtB3I,EAAE,IAAI2I,EAAE,EAAE,EAAE,GAAG3I,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAK5Bw3B,GAAG9uB,EAAEk+wB,GALwB,SAClCl+wB,GAAG,GAAG,IAAIA,EAAE,GAAG,CAAC,IAClBC,EAAED,EAAE,GAAG,GAAGC,EAAE,CAAC,IACb0uC,EAAE3uC,EAAE,GAAG,GAAGC,EAAE,GAAG,KAAK3I,EAAE,MAAM,CAAC,EAAEq3C,EAAE,CAAC,CAAC,OAAO,CAAC,EAE1B1uC,GAAG,OAAOD,GAAIk+wB,GAAGzkxB,EAAEwG,EAAE,EAAEP,EAAE,SAASO,GAAG,IACtDD,EAAEC,EAAE,GAAGonD,EAAEpnD,EAAE,GAAG3I,EAAE2I,EAAE,GAAG,GAAG0uC,EAAEwopB,GAAGn3rB,GAAGH,EAAE6sa,KAAK/9X,EAAE3uC,EAAE,GAAG8qa,IAAKn8X,EAAEkqb,GAAG74d,GAAGA,EAAE,OAAOvG,EAAEnC,EAAE+vD,EAAExnD,EAAE,EAmBJA,EAAEqyc,GAAEuhU,GAAG5/T,GAAGp6c,EAAEwG,EAAE+mD,EAAE,GAnBR,SAASrY,GAAG,IAC5F3uC,EAAE,CAAC8qa,EAAG,SAASxza,GACS,IACxB2I,EAAE0lxB,GAAGpS,GAAG5kuB,GAAG,OAAOs6iB,GAAGt5D,GAAG,SAAS3vhB,GAAG,OAAOqnD,GAAEmstB,GAAGxzwB,EAAE,EAAEC,GAFlC,SAChBD,GAAG,OAAOiplB,GAAG85B,GAAG5rkB,GAAGz3C,EAAE,EACkC,GAUX,IAC9CgoE,EAAEwqY,GAAEyiU,GAAG1rL,GAAG08L,GAAGjR,GAAG/luB,GAX4C,SAC1D+4B,GAAG,IACL1nE,EAAEq5c,GAAG3xY,GAAG,GAAGikK,GAAE3rO,EAAEg0wB,IAAI,GAAGroiB,GAAE3rO,EAAEi0wB,IAAI,CAAC,IAC/B38wB,EAAE,EAAE,GAAGq0O,GAAE3rO,EAAEk0wB,KAAKvoiB,GAAE3rO,EAAEm0wB,IAAI,IACxBl0wB,EAAE0rO,GAAE3rO,EAAEo0wB,IAAIzoiB,GAAE3rO,EAAEq0wB,IAAI,EAAEC,GAAGC,QACvBj9wB,EAAE,EAAE,GAAGA,EACiD2I,EAAEgplB,GAAG08L,GAAG/Q,GAAGjmuB,GAAjE,SAAS3uC,GAAG,OAAOqnD,GAAErnD,EAAEypwB,IAAIx6W,GAAG5nW,GAAErnD,EAAE0pwB,IAAI5hV,IAAGzgY,GAAErnD,EAAEwpwB,IAAI,EAAG,EAAkB,MAExEvpwB,EAAEu0wB,QAEFv0wB,EAAEw0wB,GAAG,OAAOyM,GAAG,CAACp2W,EAAG,SAAS9qa,GAAG,OAAO+zwB,EAAE,GAAG9zwB,EAAE,IACtBA,EAAEynE,EAAE,GAAG54C,EAAE44C,EAAE,GAAGpwE,EAAEonsB,GAAG7qP,GAAG/kb,EAAE,SAAS9uB,GAAG,MAAM,CAAC,EAAEusa,GAAG,CAAC,EAAE,CAAC,EAAEvsa,EAAE,IAAI,IAAI,GAAGqnD,GAAEpnD,EAAEqsc,IAAI,MAAM,CAAC,EAAErsc,EAAE,EAAE3I,GAAG,SAClHuI,EAAEG,GAAG,OAAO2lxB,GAAG9Q,GAAG70wB,EAAE,CAAC,IACrBvG,EAAE,CAACqxa,EAAG,SAASzjX,GAAG,IAClBpnD,EAAEk3rB,GAAGn3rB,GAAG2uC,EAAE+9X,KAAKzsa,EAAED,EAAE,GAAG8qa,IAAK7qa,EAAE44d,GAAG74d,GAAGA,EAAE,OAAOiplB,GAAGt6iB,EAAE9uC,EAAE,GAC/B,IACpB43D,EAAEyptB,GAAGznxB,EAAEoG,EAAE8uC,IAAI,MAAM,CAAC,EAAE1uC,EAAEy+rB,GAAG7qP,GAAG87E,GAAG,SAAS3vhB,GAAG,OAAO2rO,GAAE3rO,EAAEmsb,GAAG,EAAE10X,GAFP,SACpDz3D,GAAG,MAAM,CAAC,EAAEozZ,GAAGpzZ,EAAE,IACiD1I,EAAE,IAAyBykJ,EAAEl8I,EAAE,GAAGykD,EAAEzkD,EAAE,GAAGJ,EAAEI,EAAE,GAAGsW,EAAE8nrB,GAlCnC,SACjFv2nB,GAAG,IACL7vB,EAAE6vB,EAAE,GAAG/4B,EAAE+4B,EAAE,GAAGjuE,EAAEk1C,EAAE,GAAG9uC,EAAE8uC,EAAE,GAAGwI,EAAExI,EAAE,GAAG8oB,EAAE9oB,EAAE,GAAGv1C,EAAEsuE,EAAE,GAAG1gB,EAAE,IAAInP,EAAE,EAAEmuuB,GAAGl3vB,EAAE7uB,EAAE43C,GAAGn4C,EAAE,CAAC,EAAEu0lB,GAAGj0lB,GAAE1I,GAAE8B,IAAI,GAAGiuD,GAAElQ,EAAE+7tB,IAAI,MAAM,CAAC,EAAE/7tB,EAAE,CAAC,EAAEz3C,EAAEG,GAAGpG,EAAEutD,GAAG,IACxH+0F,EAAE4rQ,GAAE,SAAS3nZ,GAAG,OAAO+hxB,GAAGpzO,GAAG3uiB,EAAE,EAAEH,GAAGA,EAAE,CAAC,EAAE8/lB,GAAG9/lB,GAAGykD,EAAE,CAAC,EAAE5kD,EAAEgxC,GAAE0wuB,GAAG,SAASphxB,GAAG,OAAO2rO,GAAE3rO,EAAE,GAAG,GAAGqzwB,IAAI,EAAE,CAAC,EAAE,CAAC,EAAEC,GAAG7rV,GAAGznb,EAAE,KAAK,EAAEvG,GAAGsiJ,IAAIt8I,EAAEw+rB,GAAG8nF,GAAGtsxB,GAAG,MAAM,CAAC,EAAEuvb,GAAG1kY,EAAE7kD,EAAEixC,GAAEk1uB,GAAGnutB,GAAGzQ,GAAG,EA+BrCrY,GAAsD,MAAM,CAAC,EAAE,CAAC,EAAElvC,EAA7DixC,GAAE,CAAC,EAAE,CAAC,EAAEsjjB,GAAGtshB,GAAEznE,EAAEynE,GAAE0rsB,GAAGpzwB,GAAE1I,GAAE0vD,MAAM,CAAC,EAAE,CAAC,EAAEmstB,GAAGlzwB,GAAG,IAAIqkD,GAAmB5T,GAAEqrG,EAAE07S,GAAGquV,GAAG3uuB,IAAIhhC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAEsY,GAAG,SAASkgB,EAAE1uC,EAAED,EAAEH,GAC/N,MAAM,CAAC,EAAE,CAAC,EAAE8uC,EAAE1uC,EAAED,EAAE,CAAC,EAA/B4hxB,GAAG,GAAG1M,GAAGC,GAAb,IAA2C,EAAErzE,GAAG,CAAC,EAAE,SAASrqoB,EAAEnT,EAAEy3F,EAAE97I,GAAG,IACvE+mD,EAAEK,GAAEoQ,EAAE2lW,IAAI,GAAGp2W,EAAE,CAAC,IAChBtnD,EAAE,IAAIu6c,GAAGh6c,GAAG,EAAE,EAAE,GAAGP,EAAE,CAAC,GAAGO,EAAE,CAAC,IAC5BynE,EAAEznE,EAAE,GAAG,GAAG,IAAIynE,EAAE,KAAKznE,EAAE,GACT,IADa,IAC3B0uC,EAAE+4B,EAAE,GAAG1nE,EAAE0nE,EAAE,KAAU,CAAC,IACtB54C,EAAEu4B,GAAE1Y,EAAEmmuB,IAAI,GAAGhmvB,EAAE,IACfjvB,EAAEivB,OAEQjvB,EAARwnD,GAAE1Y,EAAEomuB,KAAS1ttB,GAAE1Y,EAAEqmuB,IAAI,GAAGn1wB,EAAE,CAAC,GAAGG,EAAE,CAAC,IACnC1I,EAAE0I,EAAE,GAAG,GAAG,IAAI1I,EAAE,GAAG,CAAC,IACpBugD,EAAEvgD,EAAE,GAAG,GAAGq0O,GAAE9zL,EAAE8J,KAAK,IAAIgqL,GAAE9zL,EAAEo9tB,MAAMj1wB,EAAE,IAAI4hxB,GAAG,GAAG,OAAO,OACpD,IAAI5hxB,EAAE,GAAG,OAAO,CAAC,MACjB,IAAIA,EAAE,GAAG,CACT2uC,EAAEr3C,EAAE,GAAG0I,EAAE1I,EAAE,GAAG,QAAQ,CAAC,CAAC,IACxB6/C,EAAE,CAAC,MAEHA,EAAEt3C,EAAE,OAAOs3C,CAAC,CAAE,CAAC,IACf19C,EAAE,CAAC,MAEHA,EAAEiG,CAAC,MAEHjG,EAAEutD,EAAE,OAAOvtD,CAAC,EAAEg1B,IAAIo6a,GAAG5oc,GAAEynZ,GAAE,IAAIukC,IAAIg6V,GAAG,SAAS3uxB,GACzC,IAD4C,IAChD0I,EAAE1I,IAAS,CAAC,GAAG0I,EAAE,CAAC,IAClBC,EAAED,EAAE,GAAG,GAAG,IAAIC,EAAE,GAAG,CAAC,IACpB0uC,EAAE3uC,EAAE,GAAG,GAAG2uC,EAAE,CAAC,IACb0Y,EAAE1Y,EAAE,GAAG9uC,EAAEI,EAAE,GAAG,GAAG,IAAIonD,EAAE,GAAG,CAAC,IAC3BskL,EAAEh9L,EAAE,GAAG3uC,EAAE,CAAC,EAAE,CAAC,EAAE0nE,GAAE7nE,EAAEwnD,EAAE,KAAKskL,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE1rO,EAAEgmxB,GAAGjmxB,EAAE,IAAI,CAAC,OAAOA,CAAC,CAAC,EAAEkmxB,GAAG,SAAS5uxB,EAAE+vD,GAC1E,IAD6E,IACzFpnD,EAAE,EAAED,EAAE1I,EAAEq3C,EAAE0Y,IAAU,GAAGrnD,EACvBC,EAAE,CAAC,EAAED,EAAE,GAAGC,GAAGD,EAAEA,EAAE,OADG,CACS,IAAG2uC,EACC,OAAOiC,GAAE3wC,GAA1CA,EAAE,CAAC,EAAE0uC,EAAE,GAAG1uC,GAAGD,EAAE,EAAE2uC,EAAEA,EAAE,EADO,CACiB,EAAE2qX,GAAG,SAAShia,EAAEq3C,EAAE+4B,EAAEjuE,EAAEuG,GAAG,IACtE8uB,EAAE7uB,GAAE69wB,GAAG9H,IAAIrnuB,GAAG,GAAG3uC,EAAE,CAAC,IACpBH,EAAEG,EAAE,GAAG,GAAG,IAAIH,EAAE,GAAG,IACnBg4C,EAAE,MAAM,CAAC,IACTyM,EAAEzkD,EAAE,GAAGJ,EAAEI,EAAE,GAAGsW,EAAEtW,EAAE,GAAGk/D,EAAE9+D,GAAE69wB,GAAGvqX,IAAI9zZ,GAAGunD,EAAE2kL,GAAEr0O,EAAE6e,GAAG,GAAG6wC,EAAE,IACjDtnD,EAAEsnD,OAEYtnD,EAAJ,GAARovB,EAAE,EAAE,IAAamruB,GAAGnruB,EAAEiwC,GAAG,GAAGr/D,EAAE,IAChC+3D,EAAE,OAUoBA,EAAEwxhB,GAAGk4L,GAAG78tB,GAR5B,SAAStkD,GAAG,GAAG,IAAIA,EAAE,GAAG,OAAO,EAAE,IACnC2rO,EAAE3rO,EAAE,GAAGC,EAAEonD,GAAErnD,EAAE,GAAGmtb,IAAI,GAAGltb,EAAE,CAAC,GAAG,IAAID,EAAE,GAAG,IACtC2uC,EAAE,OAEKA,EAAEg5W,GAAE,SAAS3nZ,GAAG,IACvB2uC,EAAE3uC,EAAE,GAAG,GAAGC,EAAEonD,GAAErnD,EAAE,GAAG,GAAG+sa,IAAmB,OAAb9sa,EAAE21vB,GAAGjntB,EAAE+9Z,IAAIzsc,CAAU,EAD/CD,EAAE,IACkD,IACtD1I,EAAEq3C,CAAC,MAEHr3C,EAAE2I,EAAE,OAAO3I,EAAE,CAAC,EAAEq0O,GAAG,CAAC,GACpB9zL,EAAE4f,CAAC,CAAC,IACJtgB,EAAEU,CAAC,MAEHV,EAAE,EAAE,OAAOs3W,GAAG,SAAS9iL,GAAG,IAC1B9rO,EAAE+wC,GAAEn3C,GAAG,GAAGoG,EAAE,IACLwnD,EAAE,CAAC,EAARxnD,EAAE,GAAU+wC,GAAE/wC,EAAE,UAElBwnD,EAAE,EAAE,GAAGA,EAAE,CAAC,IACVpnD,EAAEonD,EAAE,GAAGxP,EAAEwP,EAAE,GAAG,GAAG,IAAIpnD,EAAE,GAAG,CAAC,IAC3Bk3C,EAAEioZ,GAAGp/b,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE1I,EAAEq3C,EAAE+4B,EAAEh3B,GAAEj3C,EAAEkyO,IAAIx0L,EAAE,CAAC,IACrC6P,EAAE/mD,EAAE,GAAGP,EAAEO,EAAE,GAAGw3D,EAAEx3D,EAAE,GAAG7G,EAAE6G,EAAE,GAAG87I,EAAEqjT,GAAGp/b,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE1I,EAAEq3C,EAAE+4B,EAAEh3B,GAAEmH,EAAE,CAAC,EAAE,CAAC,EAAEz+C,EAAEq+D,EAAE/3D,EAAEgxC,GAAEsW,EAAE2kL,IAAI,KAAK5vF,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAEzkJ,EAAEq3C,EAAE+4B,EAAEikK,GAAGyzN,GAAGp/b,GAAG,EAAEm3C,EAAE,EAAEsza,GAAG,CAAC,EAAE,SAASzqd,EAAE2rO,EAAE9rO,EAAEvI,GACrH,OAArB+vD,GAAErnD,EAAEovZ,KAAS/nW,GAAErnD,EAAEgob,GAAY,EAAE1uB,IAAImmC,GAAG,SAASz/b,GAAG,IACpD2uC,EAAE1uC,GAAE69wB,GAAG1lI,IAAIp4oB,GAAG,OAAOq4vB,GAAGnmT,GAAE6jU,GAAGtnX,GAAG,SAASzuZ,GAAG,OAAOA,EAAE,EAAE,EAAE2uC,IAAI,EAAEw3uB,GAAG,SAAS7uxB,EAAEq3C,EAAE8oB,EAAEk0K,EAAE9rO,GAa7B,OAAOoplB,GAAGhplB,GAAE69wB,GAAGhI,IAAInnuB,GAba,SACpF3uC,GAAG,IACL0nE,EAAE1nE,EAAE,GAAGvG,EAAE0nxB,GAAGthxB,GAAG,OAAOoplB,GAAGxvlB,EAAE,SAASuG,GAAG,GAAG,IAAIA,EAAE,GAAG,OAAO,EAAE,IAC5DvG,EAAEuG,EAAE,GAAG5G,EAAE4G,EAAE,GAAG+7I,EAAE/7I,EAAE,GAAG8uB,EAAE7uB,GAAE69wB,GAAGjI,IAAIp8wB,GAAG,OAAOwvlB,GAAGn6jB,EAAE,SAASw1B,GAAG,IAC3DrkD,EAAEqkD,EAAE,GAAG7kD,EAAEggc,GAAG9wZ,GAAGx4B,EAAEspb,GAAGhmc,GAAGslE,GAAGt/D,EAAEw6c,GAAGtuO,GAAG,KAAKx1N,EAAE,EAAE,EAAE2Y,EAAEu4B,GAAE/vD,EAAEo+wB,IAAI79tB,EAAE/oB,EAAEu4B,GAAEpnD,EAAEynE,GAAG54C,EAAE,GAAG+oB,EAAE,IACzE73C,EAAE63C,MAAM,CAAC,IACTV,EAAEkQ,GAAE/vD,EAAEq+wB,IAAI,GAAGx+tB,EAAE,CAAC,IAChB6P,EAAEK,GAAE00F,EAAE65nB,IAAI,GAAG5utB,EAAE,KACftnD,EAAE2nD,GAAEpnD,EAAEynE,GAAG1nE,EAAEN,EAAEq/D,EAAEr/D,CAAC,MAEhBM,EAAEgnD,CAAC,MAEHhnD,EAAEm3C,CAAC,CAAC,GAAGn3C,EAAE,CAAC,IACVu/C,EAAE6/Y,GAAGv/b,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEvI,EAAEq3C,EAAE8oB,EAAE/mB,GAAEi7L,EAAEvyO,IAAImmD,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAyB,EAAE6muB,GAAG,CAAC,EAAE,SAASpmxB,EAAE2rO,EAAE9rO,EAAEvI,GAC9E,OAArB+vD,GAAErnD,EAAEw1wB,KAASnutB,GAAErnD,EAAEy1wB,GAAY,EAAE0Q,IAAIE,GAAG,SAAS/uxB,EAAE0I,EAAEqnD,EAAE1Y,GAAG,IAC1D1uC,EAAEw3b,GAAG,SAASz3b,GAAG,OAAO2rO,GAAE3rO,EAAE,GAAGu1wB,GAAG,EAAEv1wB,GAAG,OAAOA,IAAIC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE3I,EAAE2I,EAAEonD,EAAE1Y,GAAG,EAAE23uB,GAAG,CAAC,EAAE,SAASj/tB,EAAErnD,EAAE2uC,EAAE1uC,GAAG,OAAO,IAAID,EAAE,EAAE,CAAC,EAAEqmxB,IAAI3mV,GAAG,SAAS1/b,GAAG,IACpI1I,EAAE,GAAGugD,GAAE73C,GAAG,EAAE,EAAE,GAAG1I,EAAE,CAAC,IACpBuI,EAAE,KAAKmxC,GAAEhxC,EAAE,GAAG,EAAE,EAAE,GAAGH,EAAE,CAAC,IACxBI,EAAE+wC,GAAEhxC,EAAE,GAAGqnD,EAAE,EACG,GADE,KAAKpnD,EAAQ,EAAEA,EAAE,MAAM,IAAGonD,EAAE,GACzC,KAAKpnD,IAAEonD,EAAE,IAAMA,EAAE,OAAO,EAAE,IAC7B1Y,EAAE,CAAC,MAEHA,EAAE9uC,CAAC,MAEH8uC,EAAEr3C,EAAE,OAAOq3C,CAAC,EAAE43uB,GAAG,SAASl/tB,EAAE1Y,EAAE1uC,EAAED,GAAG,OAAOA,EAAE,EAAE,CAAC,EAAEwmxB,GAAG,CAAC,EAAE,SAASxmxB,EAAEqnD,EAAE1Y,EAAE1uC,GAAG,OAAOy/b,GAAG1/b,EAAE,EAAEumxB,IAAIE,GAAG,SAASnvxB,EAAE0I,EAAEqnD,EAAE1Y,GAAG,GAAG3uC,EAAE,CAAC,IACtHC,EAAED,EAAE,GAAG,IAAI2rO,GAAE1rO,EAAE,GAAGg3wB,MAAMj3wB,EAAE,IAAIshxB,GAAGrhxB,EAAE,GAAGi3wB,IAAI,OAAO,CAAC,CAAC,OAAO,CAAC,EAAEwP,GAAG,CAAC,EAAE,SAAS1mxB,EAAE1I,EAAEq3C,EAAE1uC,GAAG,OAAOonD,GAAErnD,EAAEg3wB,GAAG,EAAEyP,IAAIE,GAAG,SAASj/sB,EAAEznE,EAAEJ,EAAEvI,GAAG,GAAG2I,EAAE,CAAC,IACpI0uC,EAAE1uC,EAAE,GAAG,IAAI0rO,GAAEh9L,EAAE,GAAGgouB,MAAM12wB,EAAE,GAAG,CAAC,IAC9BD,EAAEq5c,GAAG1qa,EAAE,IAAI,OAAI0Y,GAAErnD,EAAE42wB,KAAMvvtB,GAAErnD,EAAE62wB,KAAMyK,GAAGthxB,EAAE82wB,KAAMwK,GAAGthxB,EAAE+2wB,IAAoB,EAAT,CAAU,CAAC,CAAC,OAAO,CAAC,EAAE6P,GAAG,CAAC,EAAE,SAAS5mxB,EAAE0nE,EAAEikK,EAAEh9L,GAAG,IAClG1uC,EAARonD,GAAErnD,EAAE02wB,KAASrvtB,GAAErnD,EAAEkkc,IAAoB,OAAdjkc,EAAE,IAAI0uC,EAAE,EAAE,EAAE1uC,CAAU,EAAE0mxB,IAAmCE,GAAG,CAAC,EAAE,SAASvvxB,EAAE0I,EAAE2uC,EAAE1uC,GAAG,OAAO0nZ,GAAE,SAAS3nZ,GAAG,IACjI2uC,EAAE3uC,EAAE,GAAGC,EAAEonD,GAAErnD,EAAE,GAAGw2wB,IAAkB,OAAZv2wB,EAAEonD,GAAE1Y,EAAE8nuB,IAAIx2wB,CAAU,EAAED,EAAE,EADU,SAASqnD,EAAE1Y,EAAE1uC,EAAED,GAAG,OAAO,CAAC,GACC8mxB,GAAG,CAAC,EAAE,SAASxvxB,EAAEq3C,EAAE3uC,EAAEC,GAAG,OAAO0nZ,GAAE,SAAS3nZ,GAAG,IAChI2uC,EAAE3uC,EAAE,GAAG,GAAGC,EAAEonD,GAAErnD,EAAE,GAAG,GAAGu2wB,IAAI,OAAOt2wB,EAAE0nZ,GAAE,SAAS3nZ,GAAG,OAAOqnD,GAAErnD,EAAEs2wB,GAAG,EAAE3nuB,GAAG1uC,CAAC,EAAED,EAAE,EADlB,SAASqnD,EAAE1Y,EAAE1uC,EAAED,GAAG,OAAO,CAAC,GAC6B+qrB,GAAG,CAAC,EAAE,SAASzzrB,EAAEq3C,EAAE3uC,EAAEC,GAAG,OAAO0nZ,GAAE,SAAS3nZ,GAAG,OAAOqnD,GAAErnD,EAAE,GAAG,GAAGq2wB,GAAG,EAAEr2wB,EAAE,EAAjG,SAASqnD,EAAE1Y,EAAE1uC,EAAED,GAAG,OAAO,CAAC,GAA4G24rB,GAAG,CAAC,EAAE,SAAS94rB,EAAEvI,EAAEowE,EAAEikK,GAAG,IAChP3rO,EAAE4hxB,GAAG,GAAG,GAAG5hxB,EAAE,CAAC,IACdC,EAAEonD,GAAExnD,EAAEmna,IAAI,GAAG/ma,EAAE,OAAO0nZ,GAAE,SAAS3nZ,GAAG,IACpC2uC,EAAE3uC,EAAE,GAAGC,EAAEonD,GAAErnD,EAAE,GAAG0vb,IAAkB,OAAZzvb,EAAEonD,GAAE1Y,EAAEq6Z,IAAI/oc,CAAU,EAAE3I,GAAG,IAC/Cq3C,EAAE1uC,CAAC,MAEH0uC,EAAE3uC,EAAE,OAAO2uC,CAAC,EANgL,SAAS0Y,EAAE1Y,EAAE1uC,EAAED,GAAG,OAAO,CAAC,GAMrK+mxB,GAAG,CAAC,EAAE,SAASlnxB,EAAEI,EAAE3I,EAAEq3C,GAAG,IACzE3uC,EAAE4hxB,GAAG,GAAG,OAAO5hxB,EAAE2nZ,GAAE,SAAS3nZ,GAAG,IAC/B2uC,EAAE3uC,EAAE,GAAGC,EAAEonD,GAAErnD,EAAE,GAAGw6c,IAAkB,OAAZv6c,EAAEonD,GAAE1Y,EAAE2tY,IAAIr8a,CAAU,EAAEA,GAAGD,CAAC,EAF3B,SAASqnD,EAAE1Y,EAAE1uC,EAAED,GAAG,OAAO,CAAC,GAEOy+P,GAAG,SAASp3M,EAAErnD,EAAE2uC,EAAE1uC,GAAG,OAAGD,GAAI2rO,GAAE3rO,EAAE,GAAG,GAAG42c,KAAM52c,EAAE,GAAmB,EAAT,CAAU,EAAEqta,GAAG,CAAC,EAAE,SAASrta,EAAEC,EAAE0uC,EAAE0Y,GAAG,OAAO66tB,GAAG1oX,GAAGx5Z,EAAEC,EAAE0uC,EAAE0Y,EAAE,EAAEo3M,IAAIkhM,GAAG1/b,GAAEynZ,GAAE,IAAI+Z,IAAI/N,GAAGzzZ,GAAEynZ,GAAE,IAAIyvX,IAAI54gB,GAAGt+P,GAAEA,GAAEynZ,GAAE,GAAGi4C,IAAIjsC,IAAmCksC,GAAG,CAAC,EAAE,SAASj0N,EAAE9rO,EAAEvI,EAAEowE,GAAG,IACtR1nE,EAAEqnD,GAAEskL,EAAEsqiB,IAAI,GAAGj2wB,EAAE,IACfC,EAAE,IAAIJ,EAAE,EAAE,EAAE8uC,EAAE1uC,EAAE,IAAI3I,EAAE,EAAE,EAAE2I,OAE1B0uC,EAAE3uC,EAAE,OAAO2uC,CAAC,EAJsN,SAAS0Y,EAAE1Y,EAAE1uC,EAAED,GAAG,OAAO,CAAC,GAI1OgnxB,GAAG,SAASvtxB,EAAEiuE,EAAE7nE,EAAE8uC,GAAG,GAAGA,EAAE,CAAC,IAC7C3uC,EAAE2uC,EAAE,GAAG,GAAG,IAAI3uC,EAAE,KAAK2rO,GAAE3rO,EAAE,GAAG23wB,MAAMhpuB,EAAE,GAAG,CAAC,IACxC7f,EAAE9uB,EAAE,GAAG63C,EAAE73C,EAAE,GAAGm3C,EAAEn3C,EAAE,GAAG1I,EAAE2I,GAAE8ic,GAAG,SAAS/ic,GAAG,OAAO+hxB,GAAGnK,GAAG53wB,EAAE,GAAGm3C,GAAGkQ,EAAE/vD,EAAE,GAAG0vD,EAAE1vD,EAAE,GAAG,OAAG+vD,IAAIA,EAAE,GAAS,CAAC,EAAE,CAAC,EAAE5tD,EAAEuoxB,GAAGlK,GAAGzwtB,EAAE,GAAG,GAAGqgB,GAAG7nE,EAAE,CAAC,EAAE,CAAC,EAAEg4wB,GAAG7wtB,EAAEnP,EAAE/oB,GAAG,KAAY,CAAC,CAAC,CAAC,OAAO,CAAC,EAAEm4vB,GAAG,CAAC,EAAE,SAASjnxB,EAAE1I,EAAEq3C,EAAE1uC,GAAG,OAAOonD,GAAErnD,EAAE03wB,GAAG,EAAEsP,IAAIE,GAAG,SAASnroB,EAAE3iJ,EAAEu1C,EAAEjvC,GAAG,GAAGioZ,GAAE,SAAS3nZ,GAAG,IACnP2uC,EAAE3uC,EAAE,GAAG,GAAGC,EAAEonD,GAAErnD,EAAE,GAAG,GAAGq3wB,IAAmB,OAAbp3wB,EAAE21vB,GAAGjntB,EAAE2ouB,IAAIr3wB,CAAU,EAAE0uC,GAAG,CAAC,IACvD1uC,EAAE2wC,GAAElxC,GAAGisO,EAAE,EAAE,GAAG1rO,EAAE,CAAC,IACjBD,EAAEC,EAAE,GAAG,GAAG,IAAID,EAAE,GAAG,CAAC,IACpBvG,EAAEwG,EAAE,GAAG6uB,EAAE9uB,EAAE,GAAG63C,EAAE73C,EAAE,GAAGm3C,EAAEn3C,EAAE,GAAGgnD,EAAEhnD,EAAE,GAAGy3D,EAAEy6Y,GAAE,EAAEgsU,GAAG,SAASl+wB,GAAG,IACxDC,EAAED,EAAE,GAAG,OAAOqnD,GAAErnD,EAAE,GAAG,GAAGw3wB,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEC,GAAGhwV,GAAGxnb,IAAI,IAAI,CAAC,EAAE0uC,IAAIr3C,EAAEmgc,GAAG,SAASz3b,GAAG,OAAOshxB,GAAGthxB,EAAE,GAAG,GAAGu3wB,GAAG,EAAE5ouB,GAAG+4B,EAAEh3B,GAAE+mZ,GAAG,SAASz3b,GAAG,IACxHC,EAAED,EAAE,GAAG,GAAG,OAAO,EAAE2nZ,GAAE,SAAS3nZ,GAAG,OAAOqnD,GAAErnD,EAAE,GAAG,GAAGC,EAAE,EAAE3I,EAAE,EAAEugD,GAAGvgD,GAAGuI,EAAE,CAAC,EAAE,CAAC,EAAEmnD,EAAEtW,GAAE+mB,EAAEtgB,GAAGuwB,EAAE54C,GAAGr1B,GAAGkyO,EAAE,CAAC,CAAC,CAAC,IAAIA,EAClG9rO,EAAE,EAAE,MAAM,CAAC,EAAE+wC,GAAE/wC,GAAG,CAAC,OAAO,CAAC,EAAEsnxB,GAAG,CAAC,EAAE,SAASnnxB,EAAE1I,EAAEq3C,EAAE1uC,GAAG,OAAOonD,GAAErnD,EAAEo3wB,GAAG,EAAE8P,IAAIE,GAAGnnxB,GAAEynZ,GAAE,IAAIgxX,IAAI74U,GAAG,SAAS7/b,GAAG,OAAOH,GAAE6nZ,GAAE,GAAG1nZ,EAAEonxB,GAAG,EAAEC,GAAGpnxB,GAAEynZ,GAAE,IAAIixX,IAAI2O,GAAG,SAAS34uB,EAAE3uC,EAAEC,GAAG,OAAO4/b,GAAG7/b,EAAE,EAAEo1b,GAAG,SAAS31b,EAAEQ,EAAED,GAAG,IAC/LN,EAAEmgc,GAAG5/b,GAAG,GAAGP,EAAE,IACb+3D,EAAE/3D,MAAM,CAAC,IACTtG,EAAEyG,GAAE6nZ,GAAE,GAAGznZ,EAAEonxB,IAAI,GAAGjuxB,EAAE,IACpB01B,EAAE11B,MAAM,CAAC,IACT+9C,EAAE,KAAKnG,GAAE/wC,EAAE,GAAG,EAAE,EAAE,GAAGk3C,EAAE,IACvB19C,EAAE09C,MAAM,CAAC,IACT6P,EAAEs6tB,GAAGrhxB,EAAE83wB,IAAI,GAAG/wtB,EACRvtD,EAAJ,EAAEgG,GAAOksO,GAAE1rO,EAAE+3wB,SAEfv+wB,EAAEutD,CAAC,CACHl4B,EAAEr1B,CAAC,CAAC,GAAGq1B,EAAE,IACTitH,EAAEjtH,MAAM,CAAC,IACTx3B,EAAE,EAAE,GAAGq0O,GAAE1rO,EAAEg4wB,KAAKtsiB,GAAE1rO,EAAEi4wB,IAAI,CAAC,IACzBvpuB,EAAE,EAAE,GAAGg9L,GAAE1rO,EAAEk4wB,IAAI,CAAC,IAChB9wtB,EAAE,EAAE,GAAGskL,GAAE1rO,EAAEm4wB,IAAI,GAAGzsiB,GAAE1rO,EAAEo4wB,IAAI,GAAG1siB,GAAE1rO,EAAE6gd,IAAI,GAAGn1O,GAAE1rO,EAAEskc,IAAQ54N,GAAE1rO,EAAEqqlB,MAAK37iB,EAAE,EAAE0Y,EAAE,QACnE,IAAGrnD,GAAK2rO,GAAE3rO,EAAE,GAAGs4wB,KAAKt4wB,EAAE,GACG2uC,EAAE,EAAE0Y,EAAE,MADL,CAAC,IAC3BxP,EAAE+puB,GAAG,GAAGtqxB,EAAE,EAAEq3C,EAAE,EAAE0Y,EAAE,CAAC,MAChBrnD,GAAK2rO,GAAE3rO,EAAE,GAAGu4wB,KAAKv4wB,EAAE,IAAsB2uC,EAAE,EAAE0Y,EAAE,IAAvB/vD,EAAE,EAAEq3C,EAAE,EAAE0Y,EAAE,QACrCA,EAAE,EAAMA,KAAKrnD,GAAK2rO,GAAE3rO,EAAE,GAAGwqlB,KAAKxqlB,EAAE,KAAK1I,EAAE,GACvCq3C,EAAE,EAAC,CAAKA,IAAG3uC,GAAI2rO,GAAE3rO,EAAE,GAAGy4wB,KAAMz4wB,EAAE,KAAG1I,EAAE,EAAC,MACpCA,EAAE,EAAE,IACJowE,EAAE,EAAE,OAAOpwE,GAAG,KACd,GAAK0I,GAAI2rO,GAAE3rO,EAAE,GAAGw4wB,KAAMx4wB,EAAE,KAAG0nE,EAAE,GAAE,MAAM,KACrC,EAAE,MAAM,KACR,EAAEA,EAAE,EAAE,MAAM,QAAQA,EAAE,EAAE,OAAOA,GAAG,KAClC,EACA7vB,EAAE,EAAE,MAAM,KACV,EACAA,EAAE,EACFkkG,EAAElkG,CAAC,CACH4f,EAAE,EAAEskF,CAAC,CAAC,OAAOtkF,CAAC,EAAE0lW,GAAGl9Z,GAAEynZ,GAAE,IAAIkxX,IAAI94U,GAAG,SAAS9/b,EAAE2uC,EAAE1uC,GAAG,IAClDonD,EAAErnD,EAAEA,EAAE,GAAG,EAAE1I,EAAEq3C,EAAEymZ,GAAGkyV,GAAG,OAAO7vV,GAAG,SAASz3b,GAAG,OAAO1I,EAAE+vD,EAAErnD,EAAE,GAAG,GAAGA,EAAE,GAAG,GAAG,EAAEC,EAAE,EAAEmrrB,GAAG,SAASprrB,GAAG,IAC3FC,EAAED,EAAE,GAAG,GAAG2uC,EAAE3uC,EAAE,GAAG,GAAG1I,EAAE+vD,GAAE1Y,EAAEs+Y,IAAI,GAAG31b,EAAE,IACnCuI,EAAE8hxB,GAAG,GAAGh2iB,EAAE9rO,EAAE8nZ,GAAE,SAAS3nZ,GAAG,OAAOqnD,GAAErnD,EAAE6tb,GAAG,EAAE5tb,GAAGJ,OAE7C8rO,EAAEr0O,EAAE,OAAOq0O,EAAE,CAAC,EAAE,CAAC,EAAEh9L,GAAG,CAAC,EAAEsvpB,GAAG,SAASj+rB,GAAG,OAAOqnD,GAAErnD,EAAEmpZ,IAAI2d,GAAG9ma,CAAC,EAAEC,KAAKD,CAAC,EAAEunxB,GAAG,SAASvnxB,EAAE2uC,GAAG,IACtF0Y,EAAErnD,EAAEA,EAAE,GAAG,EAEsC,MAAM,CAAC,EAAE,SAAS2uC,EAAEg9L,EAAE1rO,EAAE3I,GAAG,IAC1E0I,EAAE,IAAIC,EAAE,EAAE,EAAuB,OAAnBD,EAAE,EAAEH,GAAE6nZ,GAAE,GAAG/4W,EAAEwuX,IAAIn9Z,CAAU,EAH9B,SACT2rO,EAAE9rO,EAAEG,EAAE1I,GAAG,IACX2I,EAAE6/b,GAAG,CAAC,EAAEz4Y,GAAG1Y,EAAE3uC,GAAG,OAAOA,IAAIC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE0rO,EAAE9rO,EAAEI,EAAE3I,GAAG,EACD,EAAEuod,GAAG,SAAS5/c,EAAED,GAAG,GAAG,IAAIC,EAAE,GAAG,CAAC,IAC7EonD,EAAEpnD,EAAE,GAAG,GAAG0uC,EAAEmxZ,GAAG,EAAE,EAAE7/b,EAAE,IAAI,GAAG,IAAI0uC,EAAE,OAAO3uC,EAAE,IAC3C1I,EAAE2msB,GAAG7S,GAAGz8oB,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE8oZ,GAAG,SAASz3b,GAAG,OAAO2rO,GAAE3rO,EAAEo8c,GAAG,EAAE/0Z,IAAI/vD,GAAG0I,EAAE,CAAC,OAAOA,CAAC,EAAEwnxB,GAAGvnxB,GAAEynZ,GAAE,IAAIy0B,IAAIhoM,GAAG,SAASn0O,GAAG,OAAOy3b,GAAG,SAASz3b,GAAG,OAAO,EAAEH,GAAE6nZ,GAAE,GAAG1nZ,EAAE,GAAGwnxB,GAAG,EAAExnxB,EAAE,EAAEynxB,GAAG,SAAS97iB,EAAE9rO,EAAEvI,EAAE0I,GAAG,OAAOy3b,GAAG,SAAS9oZ,GAAG,IAC1M3uC,EAAE2uC,EAAE,GAAG,GAAG+4B,EAAE/4B,EAAE,GAAG,GAAG,GAAGg9L,EAAE,CAAC,IAC1B1rO,EAAE,EAAEonD,GAAErnD,EAAE1I,GAAG,OAAO2I,EAAEm1b,GAAG,EAAEp1b,EAAE0nE,GAAGznE,CAAC,CAAC,OAAOonD,GAAErnD,EAAEH,EAAE,EAAEG,EAAE,EAAEqhb,GAAG,SAASxpY,EAAEvgD,EAAEq3C,EAAE7f,GAAG,IACxE7uB,EAAEigd,GAAG,SAASlgd,GAAG,OAAOqnD,GAAErnD,EAAE,GAAG+4wB,GAAG,EAAEzhxB,GAAG,GAAG2I,EAAE,CAAC,IAC7CJ,EAAEI,EAAE,GAAG,IAAI0nZ,GAAE,SAAS3nZ,GAAG,OAAOqnD,GAAErnD,EAAE,GAAG,GAAG60c,GAAG,EAAElma,GAAG,CAAC,IACnD3uC,EAAEH,EAAE,GAA4B,MAAM,CAAC,EAAE,CAAC,EAAEg4C,EAAEvgD,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAA9CuI,EAAE,IAAiD,CAAC,EAAE,CAAC,EAAhDg/rB,GAAG7+rB,GAAG0nE,GAAE1nE,EAAE2/rB,IAAI3/rB,EAAsC,KAAK2uC,GAAG7f,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE69Y,GAAG,CAAC,EAAE,SAAS3sa,EAAE1I,EAAEq3C,EAAE1uC,GAAG,OAAOonD,GAAErnD,EAAEq5Z,GAAG,EAAEgoB,IAAIqmW,GAAG,CAAC,EAAEzC,GAAG,CAAC,EAAEuB,GAAG,CAAC,EAAEE,GAAG,CAAC,EAAEG,GAAG,CAAC,EAAEC,GAAG,CAAC,EAAE/7F,GAAG,CAAC,EAAE4N,GAAG,CAAC,EAAEouF,GAAG,UAAUY,GAAG,CAAC7wtB,EAAEuitB,GAAGnwX,MAAO0+X,GAAG,SAAS//X,EAAExwW,EAAEb,EAAEs6iB,EAAGlnI,GAAI,IAC7Oj7a,EAAE0I,EAAEA,EAAE,GAAG,EAAEmwW,EAAEhxW,EAAEA,EAAE,GAAG,EAAEW,EAAEytuB,GAAG9zL,GAAOtpM,GAAE0zB,GAAGxzW,GAAEsxsB,GAAGj8V,GAAG07K,GAAGwlG,GAAGsmF,GAAGptuB,MACpD,IAD0D,IAC9D19C,EAAE09C,IAAS,CAAC,GAAG19C,EAAE,CAAC,IAClBq1B,EAAEr1B,EAAE,GAAGikF,EAAE,EAAE,GAAG,IAAI5uD,EAAE,KAAK68M,GAAE78M,EAAE,GAAG66uB,IAAI,CAAC,IACrCr+W,EAAEx8X,EAAE,GAAGi8X,EAAEj8X,EAAE,GAAG6yvB,GAAG,GAAGh6X,GAAE,SAAS3nZ,GAAG,OAAOq7E,GAAGr7E,EAAE,GAAG8md,GAAG,EAAE/7D,GAAG,IACzDhvQ,EAAE,CAAC,EAAEuvQ,GAAG5tU,EAAE,CAAC,CAAC,IAAIA,EAAE,CAClBjkF,EAAEA,EAAE,GAAG,QAAQ,CAAC,MAEhBsiJ,EAAE,EAAE,GAAGA,EAAE,CAAC,IACVzqG,EAAEyqG,EAAE,GAAG5lI,EAAE+ilB,GAAG,SAASl5lB,GAAG,OAAG,IAAIA,EAAE,IAAK2rO,GAAE3rO,EAAE,GAAGs/rB,IAAoB,EAAT,CAAU,EAAEhupB,GAAG5xC,EAAEyW,EAAE,GAAG63B,EAAE73B,EAAE,GAAGsxY,EAAE,EAAEyiW,EAAGh4S,GAAE,EAAE2B,GAAG9nB,GAAGs1V,GAAGz5V,GAAGy5V,GAAGvyX,GAAG3wW,IAAInQ,KAAKi2uB,KAAK,GAAGvkxB,EAAE,CAAC,IACtIm4C,EAAEn4C,EAAE,GAAG,GAAG,IAAIm4C,EAAE,KAAK8zL,GAAE9zL,EAAE,GAAGmjY,IAAI,CAAC,IACjCvjX,EAAE,CAAC,EAAE5f,EAAE,GAAGA,EAAE,IAAI4vW,EAAE,CAAC,CAAC,CAAC,IAAIA,EACzBhwV,EAAE,CAAC,EAAE,EAAE/3D,GAAG,IACVsnD,EAAE,CAAC,EAAEkjsB,EAAGzyrB,EAAE,GAAGA,EAAE,GAAG,KAClB,KACAsH,EAAEiiX,GAAG,SAAShhb,GAAG,GAAG,IAAIA,EAAE,GAAG,CAAC,IAC9BC,EAAED,EAAE,GAAG,GAAGC,EAAE,CAAC,IACb0uC,EAAE1uC,EAAE,GAAGJ,EAAEG,EAAE,GAAG,IAAI2rO,GAAEh9L,EAAE,GAAGkiuB,MAAM5wwB,EAAE,GAAG,CAAC,IACrCynE,EAAE/4B,EAAE,GAAGr3C,EAAE4qxB,GAAGzhW,GAAG5gb,EAAEI,EAAED,EAAE,GAAGA,EAAE,IAAsB,OAAhB1I,EAAE+vD,GAAEgyZ,GAAG3xY,GAAGgsY,IAAIp8c,CAAU,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE6/C,GAAGoI,EAAEwf,EAAE,GAAGpvB,EAAEovB,EAAE,GAAG/X,EAAEzH,EAAE,CAAC,EAAE2yZ,GAAE,EAAE2B,GAAG9nB,GAAGs1V,GAAGz5V,GAAGy5V,GAAGvyX,GAAGh4Y,IAAI,CAAC,EAAE,CAAC,EAAEs0Z,GAAG,EAAE,EAAEz7X,GAAG,MAAMs0uB,KAAK1kuB,EAAE,GAAG,CAAC,EAAE,EAAEpI,EAAE,EAAE,CAAC,IACjK13C,EAAEunD,EAAE,GAAG4piB,EAAG5piB,EAAE,GAAG6piB,EAAG7piB,EAAE,GAAQqnW,EAAG,CAAC,EAAE84X,GAAG,CAAC,EAAEI,GAAGjwR,GAAG3od,GAAG,CAAC,EAAEixZ,GAAG,KAAK1uZ,EAAE,SAASumB,EAAEzQ,EAAEnnD,EAAEs3C,EAAEU,GA+BlD,OAAOq6Z,GAAE,EAAE2B,GAAGkvK,GAAGljnB,GA/BoC,SAChFzG,GAAG,IACLsG,EAAEtG,EAAE,GAAG,GAoBP6G,EApB8B,SAC9BxG,EAAE0c,EAAE2Y,GACA,IADG,IACP9uB,EAAEmW,IAAS,CAAC,GAAGnW,EAAE,CAAC,IAClB2uC,EAAE3uC,EAAE,GAAG,GAAG,IAAI2uC,EAAE,GAAG,CAAC,IACpBkJ,EAAE73C,EAAE,GAAGH,EAAE8uC,EAAE,GAAGg9L,EAAEh9L,EAAE,GAAGwI,EAAExI,EAAE,GAAGqY,EAAErY,EAAE,GAAG8oB,EAAEsrjB,GAAGp3Y,GAAG,GAAGl0K,EAAE,CAAC,IACjDr+D,EAAEq+D,EAAE,GAAGiQ,EAAEtuE,EAAE,GAAG2iJ,EAAE3iJ,EAAE,GAAG,GAAG,GAAG01B,EAAE,CAAC,IAC9BiwC,EAAEjwC,EAAE,GAAG,GAAGu4B,GAAE00F,EAAEr8I,IAAIgoE,IAAI3I,EAAE,CAAC,IACzBza,EAAE7qD,EAAEo+C,EAAE/oB,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE44C,EAAE,CAAC,EAAE1gB,EAAE7P,EAAEw0L,EAAE9rO,IAAIykD,EAAE,IAAIA,EAAE,GAAG,CAAC,MACnD,GAAG+C,GAAE00F,EAAEr8I,GAAG,CAAC,IACXD,EAAEhG,EAAEo+C,EAAE,CAAC,EAAE6vB,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAE1gB,EAAE7P,EAAEw0L,EAAE9rO,IAAIJ,EAAE,IAAIA,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,EAAEO,EAAE,CAAC,IACrEC,EAAEwlxB,GAAGp3X,EAAGrnW,EAAE7P,EAAEw0L,EAAE9rO,GAAG,GACb,iBAAJI,EAAa,OAAOA,GAAG,KACvB,EAAE,IACF3I,EAAE,EAAE,MAAM,KACV,EACAA,EAAE,CAAC,EAAEuI,GAAG,MAAM,QACdvI,EAAEg5c,QAEFh5c,EAAE,IAAI2I,EAAE,GAAG,CAAC,EAAE,CAAC,EAAEA,EAAE,GAAG,IAAI,CAAC,EAAEA,EAAE,IAAI,GAAG3I,EAAE,CACxC0I,EAAE0wC,GAAEp5C,EAAE,GAAGugD,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE73C,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAEA,EAAE,CAAC,CAChDvG,CApBU,CAAC,EAAE,CAAC,EAAEg+D,EAAEzQ,EAAEnnD,EAAEs3C,GAAGU,GAoBrB,GAAG73C,EAAEC,EAAE,GAAGqkD,EAAErkD,EAAE,GAM0B,GAAGD,EAAE,IACnD2uC,EAAE3uC,EAAE,GAAG0nE,EAAE/4B,EAAE,GAAoCg9L,EAAE/6L,GAP1B,SACvBt5C,EAAEugD,EAAE/oB,GACI,IADD,IACP9uB,EAAE63C,EAAE53C,EAAE6uB,IAAS,CAAC,IAAG7uB,EAIY,MAAM,CAAC,EAAED,EAAE,GAJpB,IACtBH,EAAEI,EAAE,GAAG0rO,EAAE9rO,EAAE,GAAGwnD,EAAExnD,EAAE,GAAGs3C,EAAEl3C,EAAE,GAAG,GAAGD,EAAE,CAAC,IAClC0nE,EAAE1nE,EAAE,GAAG2uC,EAAE+4B,EAAE,GAAG1gB,EAAEhnD,EAAE,GAAGN,EAAEgoE,EAAE,GAAG,GAAG/4B,EAAE0Y,EAAE,CAAC,IACI5tD,EAAEnC,EAAxC+vD,KAAK1Y,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAEA,EAAE,EAAE,EAAEk3uB,GAAGl6iB,GAAG,GAAG,GAAS1rO,GAAG7G,EAAEK,EAAE,GAAGuG,EAAE,CAAC,EAAE,CAAC,EAAE2uC,EAAEjvC,EAAEkxC,GAAEn3C,EAAE,KAAKutD,GAAG/mD,EAAE7G,EAAE,QAAQ,CAAC,GAAGiuD,EAAE1Y,EAAE,MAAM,CAAC,EAAE3uC,EAAEC,EAAE,CACjHD,EAAE,CAAC,EAAE,CAAC,EAAEqnD,EAAEskL,EAAE,GAAG3rO,GAAGC,EAAEk3C,CAAwB,CAAC,CACM7/C,CAAnC,IAAIq3C,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAEk3uB,GAAGn+sB,GAAG,GAAG,GAAW1nE,GAAG,SAE1D2rO,EAAE,EAAE,MAAM,CAAC,EAAEj7L,GAAEs1uB,GAAGvmxB,EAAEC,EAAEisO,GAAGrnL,GAAG,GAAwB,EAAE2kiB,EAAGy8L,GAAG,EAAEgC,GAAG,CAAC,EAAE1+X,GAAG,CAAC,EAAEs8X,GAAG,CAAC,EAAE,CAAC,EAAE,SAAStlxB,EAAE1I,EAAEq3C,EAAE1uC,GAAG,OAAOonD,GAAErnD,EAAEiimB,GAAG,EAAE/wjB,GA/B3F,KA+BoG2/iB,GAAI5gB,EAAG,CAAC,EAAErwI,GAAG,CAAC,EAAEqnV,GAAG,IAAIz3U,EAAGvvc,GAAEynZ,GAAE,IAAIyH,IAAIqwD,EAAG,SAAS7zO,EAAE1rO,EAAED,EAAEH,GAAG,IACzLwnD,EAAE8sL,GAAGl0O,GAAG3I,EAAEmwxB,GAAG94uB,EAAEkquB,GAAGtxW,GAAGvna,GAAG,OAAGqnD,IAAIpnD,GAAG3I,IAAI0I,EAAS,EAAQ,CAAC,EAAE,CAAC,EAAE2rO,EAAEtkL,EAAE/vD,EAAEuI,GAAG,EAAEq2P,EAAG,CAAC,EAAE,CAAC,EAAE,SAASl2P,EAAEqnD,EAAE1Y,EAAE1uC,GAAG,OAAOJ,GAAE6nZ,GAAE,GAAG1nZ,EAAEwvc,EAAG,EAAEgQ,GAAIywH,GAAI5nL,EAAG,SAAS18K,EAAE1rO,EAAED,EAAEH,GAAG,IACrJwnD,EAAE8sL,GAAGl0O,GAAG3I,EAAEmwxB,GAAG94uB,EAAEijC,GAAGknsB,GAAG94wB,GAAG,OAAGqnD,IAAIpnD,GAAG3I,IAAI0I,EAAS,EAAQ,CAAC,EAAE,CAAC,EAAE2rO,EAAEtkL,EAAE/vD,EAAEuI,GAAG,EAAEmjsB,EAAG,CAAC,EAAE,CAAC,EAAE,SAAShjsB,EAAE1I,EAAEq3C,EAAE1uC,GAAG,OAAOonD,GAAErnD,EAAEuxb,GAAG,EAAElpC,GAAInyJ,GAAI+9L,EAAG,SAASvsX,EAAEznE,EAAED,EAAE2rO,GAAG,IAChJtkL,EAAE8sL,GAAGl0O,GAAG3I,EAAEmgc,GAAG,SAASz3b,GAAG,IACzBC,EAAED,EAAE,GAAG,GAAGqnD,EAAErnD,EAAE,GAAG,GAAG,OAAO2uC,EAAEymZ,GAAG,EAAEn1b,EAAEonD,GAAGxnD,GAAE6nZ,GAAE,GAAGznZ,EAAEunxB,GAAG,EAAExnxB,GAAG,OAAGqnD,IAAIpnD,GAAG3I,IAAI0I,EAAS,EAAQ,CAAC,EAAE,CAAC,EAAE0nE,EAAErgB,EAAE/vD,EAAEq0O,GAAG,EAAE00M,EAAG,CAAC,EAAE1T,GAAG,CAAC,EAAE,CAAC,EAAE,SAAS3sa,EAAE1I,EAAEq3C,EAAE1uC,GAAG,OAAOonD,GAAErnD,EAAEysc,GAAG,EAAExY,GAAI+uQ,IAAKnZ,EAAG,SAASxioB,EAAE1Y,EAAE1uC,EAAED,GAAG,OAAOA,EAAE,EAAE,CAAC,EAAEy4Z,EAAG,CAAC,EAAE,CAAC,EAAE,SAASz4Z,EAAE0nE,EAAEikK,EAAEr0O,GAAG,GAAGq3C,EAAE,OAAO,EAAE,IAC9O0Y,EAAEpnD,GAAEynZ,GAAE,IAAIkiE,GAAI,OAAO/pd,GAAE6nZ,GAAE,GAAG1nZ,EAAEqnD,EAAE,EAAEwioB,GAAIxpQ,GAA4C/jB,EAAG,SAAShla,EAAEq3C,EAAE1uC,EAAED,GAAG,OAAO2nZ,GAAE,SAAS1nZ,GAAG,GAAG,IAAIA,EAAE,GAAG,CAAC,IACzID,EAAEC,EAAE,GAAG,GAAG,GAAGD,IAAI2rO,GAAE3rO,EAAE,GAAG81e,MAAM91e,EAAE,GAAG,OAAO,CAAC,CAAC,OAAO,CAAC,EAAEP,GAAG,CAAC,EAAE,CAAC,EAAEnI,EAAEmgc,GAAG,SAASz3b,GAAG,IAChF2uC,EAAE3uC,EAAE,GAAGC,EAAEonD,GAAErnD,EAAE,GAAG+7a,IAAkB,OAAO,GAAnB97a,EAAEonD,GAAE1Y,EAAEunuB,IAAIj2wB,EAAY,EAAE0uC,GAAG1uC,EAAED,IAAI,CAAC,EAAEi8wB,EAAG,CAAC,EAAE,CAAC,EAAE,SAASp8wB,EAAEG,EAAE1I,EAAE2I,GAAG,OAAO0uC,EAAEg5W,GAAE,SAAS3nZ,GAAG,IAC5G2uC,EAAE3uC,EAAE,GAAGC,EAAEonD,GAAErnD,EAAE,GAAGm2wB,IAAkB,OAAZl2wB,EAAEonD,GAAE1Y,EAAEynuB,IAAIn2wB,CAAU,EAAED,GAAG,CAAC,EAAEs8Z,GAHL,CAAC,EAAE+Q,GAAG,CAAC,EAAEu5W,GAAG,CAAC,EAAE9kF,GAAG,CAAC,EAAEylF,GAAGnO,GAAGzquB,GAAG8pX,OAGjBn/U,EAAE3qC,EAAEgxZ,GAAGphM,GAAGqpJ,EAAE,SAASj8K,EAAE3rO,EAAE1I,EAAEq3C,GAAG,IACxF1uC,EAAEw3b,GAAG,SAAS9oZ,GAAG,IACjB3uC,EAAE2uC,EAAE,GAAGl1C,EAAEk1C,EAAE,GAAGr3C,EAAEooc,GAAG1/b,GAAG,GAAG1I,EAAE,IAC3Bq0O,EAAEr0O,MACF,KACA2I,EAAEonD,GAAErnD,EAAEsvZ,IAAkB3jL,GAAZ1rO,EAAEonD,GAAE5tD,EAAE0ub,IAAIlob,IAAOJ,GAAE6nZ,GAAE,GAAG1nZ,EAAEs5E,EAAE,CAAC,OAAO,EAAEqyJ,CAAC,EAAE3rO,GAAG,OAAOA,IAAIC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE0rO,EAAE1rO,EAAE3I,EAAEq3C,GAAG,EAAE2V,EAAE,CAAC,EAAE,GAAG2tW,EAAG,CAAC,EAAEwS,GAAG,CAAC,EAAE29W,GAAG,CAAC,EAAE,CAAC,EAAE,SAAS/6tB,EAAErnD,EAAE2uC,EAAE1uC,GAAG,OAAO,IAAID,EAAE,EAAE,CAAC,EAAE4nZ,GAAGq0X,KAAiBjgwB,EAAE,SAASgrC,EAAEvtD,EAAEslE,EAAEpwB,GAAG,IACjM9uC,EAAE,CAACira,EAAG,SAASpjW,GAQgf,OAAOwqY,GAAE,EAAE2B,GAAG5zc,GAAE69wB,GAAGt+E,IAAI/lsB,GARpgB,SAChB8lD,GAAG,IACLt/C,EAAEs/C,EAAE,GAAG1/C,EAAEykD,EAAE,GAAG,IAAI,IAClB5kD,EAAE8ra,GAAGvra,EAAEJ,EAAE,CAAC,MAAMG,GAAU,IAAPA,EAAEoxC,GAAEpxC,MAAU5G,GAA0B,OAAvBkrD,EAAE,GAAG,CAAC,EAAE,CAAC,EAAErkD,EAAEg6c,GAAGtra,IAAI9uC,GAAU,EAAE,MAAMG,CAAC,CAAC,GAAG2uC,EAAE,CAAC,IAClF7f,EAAE6f,EAAE,GAAG,GAAG,IAAI7f,EAAE,KAAK68M,GAAE78M,EAAE,GAAGwrb,IAAI,CAAC,IACjCnja,EAAEroB,EAAE,GAAG,GAAGqoB,EAAE,CAAC,IACbhhC,EAAEghC,EAAE,GAAG,GAAG,IAAIhhC,EAAE,KAAKw1N,GAAEx1N,EAAE,GAAGima,MAAMjlY,EAAE,KAAKxI,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CACvC,IACjBn/B,EAAEqkc,GAAGstU,GAAGthxB,GAFiD,SACvDG,GAAG,OAAOA,EAAE,EAAE,GACF0nE,EAAE,SAAS1nE,GAAG,OAAOkyc,GAAEjyc,EAAED,EAAE,CAAzB,CAA2BwP,GAAGC,EAAE,SAASzP,GAAG,OAAOwhxB,GAAGxhxB,EAAE,GAAG,CAA3B,CAA6BC,GAAGynZ,EAAE2wW,GAAG,SAASr4vB,GAAG,OAAOk7wB,GAAGl7wB,EAAE,EAAE,CAA1B,CAA4ByP,IAAIqnD,EAAE,SAAS92D,GAAG,OAAOwhxB,GAAGxhxB,EAAE,GAAG,CAA3B,CAA6BC,GAAG43C,EAAE,SAAS73C,GAAG,OAAOk7wB,GAAGl7wB,EAAE,EAAE,CAA1B,CAA4B82D,GAAG9lB,EAAE,SAAShxC,GAAG,OAAOwhxB,GAAGxhxB,EAAE,GAAG,CAA3B,CAA6B0nE,GAAGlxB,EAAE6htB,GAAG,SAASr4vB,GAAG,OAAOk7wB,GAAGl7wB,EAAE,EAAE,CAA1B,CAA4BgxC,IAAIqG,EAAE8puB,GAAG,SAASnhxB,GAAG,OAAOwhxB,GAAGxhxB,EAAE,GAAG,CAA3B,CAA6B0nE,IAAIjQ,EAAE,SAASz3D,GAAG,OAAOkyc,GAAEr6Z,EAAE73C,EAAE,CAAzB,CAA2Bq3C,GAAG0kG,EAAE2rQ,EAAElxW,EAAE,EAAE,EAA0B/2C,EAAIO,GAA1BqnD,GAAEqgB,EAAEznE,IAAQ87I,GAAG4vF,GAAEl0K,EAAE5f,GAASvgD,IAAGoI,EAAE,EAAE,GAjoH0O,KAioHxMqoZ,EAAtB1gW,GAAEqgB,EAAEznE,IAAQ87I,GAAG4vF,GAAEl0K,EAAE5f,GAAOn4C,EAAEu6c,GAAGtra,GAAG,EAAEsra,GAAGtra,GAAsB,OAAnB2V,EAAE,GAAG,CAAC,EAAE,CAAC,EAAErkD,EAAE8nZ,GAAGloZ,GAAOwnD,GAAEL,EAAEoiW,KAAM/hW,GAAE5nD,EAAEsxc,IAA8C,EAApC,CAAC,EAAE,CAAC,EAAE/pZ,EAAE,CAAC,EAAE,CAAC,EAAEyxoB,GAAGh5rB,GAAGhG,GAAGslE,EAAEpwB,GAAY,GAA8B,GAC9gB,OAAO6c,GAAG3rD,EAAEg0c,GAAG5zc,GAAE69wB,GAAGtssB,IAAI/3E,GADyf,SAC7hBuG,GAAG,OAAO,CAAC,GAA+B,EAAE8nZ,EAAE49X,GAAGtQ,GAAG,CAAC,EAAE,CAAC,EAAE,SAASp1wB,EAAE2rO,EAAE9rO,EAAEvI,GACpD,OAArB+vD,GAAErnD,EAAE8hb,KAASz6X,GAAErnD,EAAE02c,GAAY,EAAE16b,GAAGi2Y,GAXgI,CAAC,EAAEw4D,GAAG,GAWhIw+H,GAAIj4iB,EAAE,SAASv3C,EAAEiuE,GACnD,IADsD,IAC9D1nE,EAAEvG,EAAEk1C,EAAE+4B,IAAS,CAAC,IAAG1nE,EAKwB,OAAO2uC,EAL5B,IACtB1uC,EAAED,EAAE,GAAG,GAAG,IAAIC,EAAE,GAAT,CAC6B,IACpConD,EAAErnD,EAAE,GAAG1I,EAAE2I,EAAE,GAAG43C,EAAE53C,EAAE,GAAGk3C,EAAEl3C,EAAE,GAAG0rO,EAAE36L,EAAE/wC,EAAE,GAAG,GAAG,GAAGJ,GAAE6nZ,GAAE,GAAGpwZ,EAAEuxc,KAAK,IAAIl9N,EAC7D3rO,EAAEqnD,OACFrnD,EAAEqnD,EAAE1Y,EAAEu3uB,GAAGv3uB,EAAE,CAAC,EAAE,CAAC,EAAEr3C,EAAE6/C,EAAEU,EAAEouuB,GAAGt6iB,IAAI,GAHK,MADf,IACb3rO,EAALA,EAAE,GAAO2uC,EAAEu3uB,GAAGv3uB,EAAE,CAAC,EAAE1uC,EAAE,GAG4B,CAAC,EAAE8wvB,EAAG20B,GAAGpQ,GAAG,CAAC,EAAEgR,GAAG,GAAG,EAAEZ,GAAGrQ,GAAG,EAAE,CAAC,EAAE+Q,GAAG,GAAGp1uB,EAAE82W,EAAE,KAAKC,EAAEp5W,EAAEysuB,GAAGv7T,GAAGpgd,EAAE,GAAG,EAAEyplB,GAAGv6iB,EAAEyyuB,GAAG,SAASphxB,GAAG,IACzIC,EAAED,EAAE,GAAG,OAAOqnD,GAAErnD,EAAE,GAAG,GAAGk5wB,IAAI,CAAC,EAAE,CAAC,EAAEC,GAAG1xV,GAAGxnb,KAAK,CAAC,EAAE2wlB,GAAI,EAAErhjB,GAAEs4W,EAAEA,EAAE,GAAG,EAAEz1W,GAAE,IAAI21W,EAAE,EAAE,CAAC,EAAE,CAAC,EAAEw/B,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAExK,GAAGytV,GAAGvsE,GAAGwkF,GAAG16X,KAAK,IAAI,GAAGv4Y,GAAE+/B,GAAE,CAAC,EAAEuhuB,GAAG,GAAG,EAAErhwB,GAAE,IAAID,GAAE,EAAE,EAAkB+hC,IAAd9hC,GAAE,IAAI2iC,GAAE,EAAE,EAAE3iC,IAAM,EAAE,CAAC,EAAE,CAAC,EAAE8+Y,GAAG,EAAE,EAAE79W,GAAElhC,GAAE4iC,KAAI,GAAG0kB,GAAE,CAAC,EAAEypW,GAAG,EAAE,EAAE7vX,GAAEa,GAAE,CAAC,EAAE,CAAC,EAAE8gX,GAAG62L,GAAG,EAAE6nK,GAAI,KAA0B,OAAlBvpW,GAAE0zB,GAAGxzW,GAAEuxsB,GAAGsL,GAAGzttB,MAAW,CAAC,EAAEA,GAAE,EAAE,CAAC,EAAEs3V,GAAGkrX,GAAG,CAAC,EAAEqO,GAAG,CAAC,KAA4B,IACpTjxZ,GAAGlnX,EAAEq5Y,GAAG,KAAK2d,QAAGpma,EAAUynxB,GAAG,SAAS7nxB,GAAG,OAAOA,GAAG6oZ,GAAG,EAAE,CAAC,EAAE7oZ,EAAE,EAAE8nxB,GAAGpxZ,GAAGvnX,MAAMgwwB,GAAG,SAASn/wB,GAAG,OAAOA,EAAE,KAAK2nxB,GAAG,CAAC,EAAEzxhB,GAAGl2P,EAAE,GAAGxH,aAAa,CAAC,GAAG2mxB,GAAG,SAASn/wB,GAAG,OAAOA,aAE7J8nxB,GAAG,EAAE,CAAC,EAAE5xhB,GAAGl2P,EAAExH,YAAY,GAAG,IAC5BuvxB,GAAGrxZ,GAAG/1W,SAAS+1W,GAAG5zT,YAAiB,IACnCkltB,GAAG1vB,KAAM97V,GAAG,SAASv8Z,EAAED,GAAG,OAAOq7E,GAAGr7E,EAAEC,EAAE,EAAOgoxB,GAAG,CAAC,EAAE,CAAC,EAAEhO,GAAG,EAAE,SAASj6wB,GAAG,IAC9DC,EAATo7E,GAAGr7E,EAAE85wB,KAASz+rB,GAAGr7E,EAAE+5wB,IAAI,OAAO95wB,EAAEo7E,GAAGr7E,EAAEg6wB,IAAI/5wB,CAAC,GADC,GACMioxB,GAAG,CAAC,EAAE,CAAC,EAAE/N,GAAG,EAAE,SAASn6wB,GAAG,OAAOw8Z,GAAG09W,GAAGl6wB,EAAE,GAAGioxB,IAAIE,GAAG,CAAC,EAAE,CAAC,EAAE9N,GAAG,EAAE,SAASr6wB,GAAG,OAAOw8Z,GAAG49W,GAAGp6wB,EAAE,GAAGkoxB,IAAIE,GAAG,CAAC,EAAE,CAAC,EAAE9N,GAAG,EAAE,SAASt6wB,GAAG,IAC7KC,EAAEo7E,GAAGr7E,EAAE45wB,IAAI,OAAO35wB,GAAIo7E,GAAGr7E,EAAE65wB,GAAG,GAAGsO,IAAI59L,GAAG,CAAC,EAAE,CAAC,EAAEtmJ,GAAG2c,GAAG,SAAS5gd,GAAG,IAChEC,EAAEo7E,GAAGr7E,EAAE05wB,IAAqB,OAAfz5wB,EAAE,EAAEo7E,GAAGr7E,EAAE25wB,IAAI15wB,CAAU,GAAGmoxB,IAAIC,GAAG,CAAC,EAAE,CAAC,EAAE9N,GAAG,EAAE,SAASv6wB,GAAG,IACrE2uC,EAAE0sC,GAAGr7E,EAAEyqlB,IAAI,GAAG97iB,EAAE,CAAC,IACjB0Y,EAAEg0B,GAAGr7E,EAAEu5wB,IAAI,GAAGlytB,EAAE,CAAC,IACjB/vD,EAAE+jF,GAAGr7E,EAAEw5wB,IAAI,GAAGlixB,EAAE,OAAO+jF,GAAGr7E,EAAEy5wB,IAAI,IAChCx5wB,EAAE3I,CAAC,MAEH2I,EAAEonD,CAAC,MAEHpnD,EAAE0uC,EAAE,OAAO1uC,CAAC,GAAGsqlB,IAAI+9L,GAAGpyhB,GAAGwgI,GAAGlxV,UAAUia,WAAW8ouB,GAAG,SAAS1wuB,GAC/C,IADkD,IAChE73C,EAAEqoxB,GAAG3gtB,EAAE2xY,GAAGivU,MAAW,CAAC,GAAGtoxB,EAAE,CAAC,IAC5B2uC,EAAE3uC,EAAE,GAAG2rO,EAAE3rO,EAAE,GAAG,IAAIC,GAAE0uC,EAAE,GAAG+4B,GAAG,CAC5B1nE,EAAE2rO,EAAE,QAAQ,CAAC,IACbr0O,EAAE,CAAC,EAAEq3C,EAAE,MAEPr3C,EAAE,EAAE,IACJw3B,EAAEksvB,GAAG,SAASh7wB,GAAG,MAAM,CAAC,EAAEA,EAAE,GAAG,EAAE1I,GAAGuI,EAAEm7wB,GAAG,SAASh7wB,GAAG,OAAOqnD,GAAErnD,EAAE,GAAGw6wB,GAAG,EAAE1rvB,GAAO,OAAOjvB,EAAEA,EAAE,GAAb,CAAiB,CAAC,EAAEqqrB,GAAG,SAASlqrB,GAAG,IAChHC,EAAE21vB,GAAG51vB,EAAE6oZ,IAAI2d,GAAGxma,EAAE,OAAOC,IAAIuma,GAAG,EAAE,CAAC,EAAEvma,EAAE,EAAEy/Z,GAAG,SAAS1/Z,GAAG,OAAOqnD,GAAE6uM,UAC/Dl2P,GAAGqrrB,GAAG,EAAE78P,GAAG,SAASnnY,GAAG,IACvBrnD,EAAEqnD,EAAEjT,IAAIn0C,EAAED,EAAE9G,OAAO,GAAG,EAAE+G,EAAE,CAAC,IAC3B0uC,EAAE3uC,EAAEtG,QArqHg9F,KAqqHp8FpC,EAAEq3C,EAAE,EAAE1uC,EAAE0uC,EAAiB,OAAO3uC,EAAEtG,QAAQ+xvB,IAA9BA,GAAoC,KAAKn0vB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE+8b,GAAG,SAASr0b,GAAG,IACpGC,EAAED,EAAEqoC,MAAM0/Y,IAAIp5Y,EAAE,CAAC,EAAE+nV,IAAI,OAAOz2X,EAAE4Q,OAAO2nvB,GAAG,SAASx4vB,EAAEC,EAAEonD,EAAE1Y,GAAG,OAAO3uC,EAAEkqrB,GAAGlqrB,EAAE,GAAGC,IAAID,CAAC,GAAG2uC,EAAE,EAAElyB,GAAG,SAASzc,GAAG,GAAGA,EAAE,CAAC,IAC9GC,EAAED,EAAE,GAAG2uC,EAAEk5uB,GAAG5nxB,EAAEsxG,aAAampT,KAAK,GAAG/rX,EAAE,CAAC,IACtC0Y,EAAE1Y,EAAE,GAAyB,OAAtB1uC,EAAEqvG,gBAAgBorT,IAAWi1H,GAAGjwH,GAAG20B,GAAGhtY,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE8iZ,GAAG,CAACr/B,EAAG,SAASn/L,GACnC,IADsC,IACvFtkL,EAAE0guB,GAAGzsvB,qBAAqBy1Z,GAAI9wb,EAAE,EAAED,EAAE,EAAE1I,EAAE+vD,EAAEnuD,SAAc,CAAC,KAAG8G,EAAE1I,GAAL,CAGxC,IACjBuI,EAAE+wC,GAAE3wC,GAAG,OAAOi+wB,GAAG,SAASl+wB,GAAG,IAC7BC,EAAED,EAAE4iB,QAAQxI,gBAAgB22a,EAAG/wb,EAAE6oZ,GAAG,OAAOpsY,GAAGkzgB,GAAGnhG,GAAGq5V,GAAG5nxB,IAAI,EAAEJ,EAF7C,CAHiD,IACjE8uC,EAAEk5uB,GAAGxguB,EAAE99B,KAAKvpB,IAAI,GAAG2uC,EACnB1uC,EAAE,CAAC,EAAE0uC,EAAE,GAAG1uC,GAAGD,EAAEA,EAAE,EAAE,OACnBA,EAAEA,EAAE,EAAE,CAEyD,CAAC,GAA+Bs7F,GAAG,SAASt7F,GAAG,OAAOkhxB,GAAG/2U,GAAGnqc,EAAE,CAA3B,CAA5Byc,GAAGytqB,GAAG69F,GAAGxzC,iBAAoDqtC,GAAG,GAAG2G,KAAM,IAcR1qW,GAAG,SAASn+a,EAAEsnD,EAAE7P,EAAEroB,GAAG,IAC5Jx3B,EAAEuwxB,GAAG/4vB,GAAG,GAAGx3B,EAC4B,IADzB,IACd+vD,EAAEs1tB,GAAGzmhB,GAAGqigB,GAAGjhwB,EAAE,KAAK0I,EAAEqnD,EAAEnuD,OAAO,EAAE,EAAE,EAAE+G,EAAE,IAAS,CAAC,KAAG,GAAGD,GAAN,CACX,IACpCH,EAAEI,EAAE,KAD+B,CADqB,IACxDynE,EAAE,CAAC,EAAErgB,EAAE,EAAErnD,GAAGC,GAAGD,EAAEA,EAAE,EAAE,EAAEC,EAAEynE,CAChB,MAET7nE,EAAE,EAAE,IACJ8rO,EAAEuqB,GAAGlvM,GAAGvtD,EAAE4qxB,GAAGuD,GAAG,EAAE,CAAC,EAAI,EAAFzwuB,GAAK,CAAC,EAAE,GAAGw0L,EAAE9rO,IAAI8uC,EAAEwuuB,GAAGtluB,GAAE8zL,IAA2C,OAAvC20iB,GAAGP,GAAG,EAAE,SAAS//wB,GAAG,OAAOs9wB,GAAG3uuB,EAAE3uC,EAAE,EAAEvG,GAAU4psB,GAAG+5E,GAAGzuuB,GAAG,EAAE+wa,GAAG,SAAS1/c,GAAK,MAAM,CAAC,cAAgBy4vB,GAAGz4vB,GAAG,CAA3C,CAA6C69a,IAAO+hR,GAAG,SAASjxpB,EAAE1uC,GAAG,IAClLD,EAAEq0b,GAAG,wBAAwB,OAAOr0b,EAAEA,EAAE,GAAG2uC,EAAE1uC,GAAG+nxB,GAAGvwxB,MAAM,8CAA8C,EAAE+wxB,GAAG,SAASxoxB,GAAG,OAAOA,EAAE0/c,GAAG,EACpH,OADyHpkX,GAAGktrB,GAAGltrB,GAAG,IAClJskmB,GAAGv8R,GAAGq8C,SAAIo7T,IA3vBI,CAAdgG,GAAGx9B,EA2vBmB,CAAE,CAtsHI,CAssHHlzmB,W,4oCCztHzB,WAGI,IAAIq4oB,EAAW,SAAUj5wB,GACvB,GAAU,OAANA,EACF,MAAO,OAET,QAAUpP,IAANoP,EACF,MAAO,YAET,IAAI2G,SAAW3G,EACf,MAAU,WAAN2G,IAAmBhH,MAAMzW,UAAU6kZ,cAAc/tY,IAAMA,EAAEyqC,aAAsC,UAAvBzqC,EAAEyqC,YAAY1iD,MACjF,QAEC,WAAN4e,IAAmBha,OAAOzD,UAAU6kZ,cAAc/tY,IAAMA,EAAEyqC,aAAsC,WAAvBzqC,EAAEyqC,YAAY1iD,MAClF,SAEF4e,CACT,EAeIuywB,EAAO,SAAU7oxB,GACnB,MAAO,CACLyiF,GAAIziF,EAER,EACI8oxB,EAAWD,EAAK,SAAUl5wB,EAAGC,GAC/B,OAAOD,IAAMC,CACf,GACIm5wB,EAAWD,EACXE,EAAU,SAAUC,GACtB,OAAOJ,EAAK,SAAUl5wB,EAAGC,GACvB,GAAID,EAAEtW,SAAWuW,EAAEvW,OACjB,OAAO,EAGT,IADA,IAAIC,EAAMqW,EAAEtW,OACHO,EAAI,EAAGA,EAAIN,EAAKM,IACvB,IAAKqvxB,EAAIxmsB,GAAG9yE,EAAE/V,GAAIgW,EAAEhW,IAClB,OAAO,EAGX,OAAO,CACT,EACF,EACIsvxB,EAAgB,SAAUD,EAAKE,GACjC,OA7Bc,SAAUF,EAAKjpxB,GAC7B,OAAO6oxB,EAAK,SAAUl5wB,EAAGC,GACvB,OAAOq5wB,EAAIxmsB,GAAGziF,EAAE2P,GAAI3P,EAAE4P,GACxB,EACF,CAyBSw5wB,CAAUJ,EAAQC,GAAM,SAAUvqhB,GACvC,OAnCS,SAAUA,EAAIyqhB,GAEzB,OADY75wB,MAAMzW,UAAU4W,MAAMpV,KAAKqkQ,GAC1Bx+P,KAAKipxB,EACpB,CAgCWE,CAAO3qhB,EAAIyqhB,EACpB,EACF,EACIG,EAAW,SAAUL,GACvB,OAAOJ,EAAK,SAAUl5wB,EAAGC,GACvB,IAAIwrwB,EAAKxixB,OAAO4F,KAAKmR,GACjBktvB,EAAKjkwB,OAAO4F,KAAKoR,GACrB,IAAKs5wB,EAAcH,GAAUtmsB,GAAG24rB,EAAIve,GAClC,OAAO,EAGT,IADA,IAAIvjwB,EAAM8hxB,EAAG/hxB,OACJO,EAAI,EAAGA,EAAIN,EAAKM,IAAK,CAC5B,IAAIsiJ,EAAIk/nB,EAAGxhxB,GACX,IAAKqvxB,EAAIxmsB,GAAG9yE,EAAEusI,GAAItsI,EAAEssI,IAClB,OAAO,CAEX,CACA,OAAO,CACT,EACF,EACIqtoB,EAAQV,EAAK,SAAUl5wB,EAAGC,GAC5B,GAAID,IAAMC,EACR,OAAO,EAET,IAAIqplB,EAAK2vL,EAASj5wB,GAElB,OAAIsplB,IADK2vL,EAASh5wB,KAhEE,SAAUD,GAC9B,OAA+F,IAAxF,CAAC,YAAa,UAAW,SAAU,SAAU,WAAY,MAAO,QAAQ9V,QAAQ8V,EACzF,CAkEM65wB,CAAgBvwL,GACXtplB,IAAMC,EACG,UAAPqplB,EACF+vL,EAAQO,GAAO9msB,GAAG9yE,EAAGC,GACZ,WAAPqplB,GACFqwL,EAASC,GAAO9msB,GAAG9yE,EAAGC,GAGjC,GAEM65wB,EAAmB7wxB,OAAOuhD,eAC1BuvuB,EAAW,SAAChquB,EAAGtF,EAAa0mD,GAChC,IAAIp9C,EACJ,QAAIo9C,EAAUphD,EAAGtF,EAAYvhD,aAGM,QAAxB6qD,EAAKhE,EAAEtF,mBAAqC,IAAZsJ,OAAqB,EAAIA,EAAGhsD,QAAU0iD,EAAY1iD,IAE/F,EAaMiyxB,EAAW,SAAA/uxB,GAAI,OAAI,SAAAV,GAAK,OAZf,SAAAyV,GACb,IAAM2G,SAAW3G,EACjB,OAAU,OAANA,EACK,OACQ,WAAN2G,GAAkBhH,MAAMC,QAAQI,GAClC,QACQ,WAAN2G,GAAkBozwB,EAAS/5wB,EAAGrT,OAAQ,SAACs7D,EAAG1c,GAAK,OAAKA,EAAMwiW,cAAc9lV,EAAE,GAC5E,SAEAthD,CAEX,CACkCqtD,CAAOzpE,KAAWU,CAAK,CAAD,EAClDgvxB,EAAe,SAAAhvxB,GAAI,OAAI,SAAAV,GAAK,cAAWA,IAAUU,CAAK,CAAD,EACrDivxB,EAAO,SAAAvzwB,GAAC,OAAI,SAAAnW,GAAC,OAAImW,IAAMnW,CAAE,CAAD,EACxB2pxB,EAAO,SAAC5vxB,EAAOkgD,GAAW,OAAKypC,EAAS3pF,IAAUwvxB,EAASxvxB,EAAOkgD,EAAa,SAACwd,EAAG1c,GAAK,OAAKuuuB,EAAiB7xtB,KAAO1c,CAAK,EAAE,EAC5H2yB,EAAW87sB,EAAS,UACpB9lsB,EAAW8lsB,EAAS,UACpBz/rB,EAAgB,SAAAhwF,GAAK,OAAI4vxB,EAAK5vxB,EAAOtB,OAAQ,EAC7CowG,EAAY2grB,EAAS,SACrBjppB,EAASmppB,EAAK,MACdrzmB,EAAYozmB,EAAa,WACzBv+lB,EAAcw+lB,OAAKtpxB,GACnBwpxB,EAAa,SAAA5pxB,GAAC,OAAIA,OAA8B,EAChD6pxB,EAAgB,SAAA7pxB,GAAC,OAAK4pxB,EAAW5pxB,EAAG,EACpCklD,EAAaukuB,EAAa,YAC1Bp3pB,EAAWo3pB,EAAa,UACxBK,EAAY,SAAC/vxB,EAAOy2uB,GACxB,GAAI3noB,EAAU9uG,GAAQ,CACpB,IAAK,IAAIN,EAAI,EAAGN,EAAMY,EAAMb,OAAQO,EAAIN,IAAOM,EAC7C,IAAK+2uB,EAAKz2uB,EAAMN,IACd,OAAO,EAGX,OAAO,CACT,CACA,OAAO,CACT,EAEM0rH,EAAO,WAAO,EACd4kqB,EAAU,SAACjtX,EAAIimN,GACnB,OAAO,WAAc,IAAD,IAAAv1hB,EAAA9wF,UAAAxD,OAATuV,EAAI,IAAAU,MAAAq+E,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJh/E,EAAIg/E,GAAA/wF,UAAA+wF,GACb,OAAOqvU,EAAGimN,EAAGrgnB,MAAM,KAAM+L,GAC3B,CACF,EACMu7wB,EAAW,SAACC,EAAKC,GAAG,OAAK,SAAAlqxB,GAAC,OAAIiqxB,EAAIC,EAAIlqxB,GAAI,CAAD,EACzCqkjB,EAAW,SAAAtqjB,GACf,OAAO,WACL,OAAOA,CACT,CACF,EACMmwF,EAAW,SAAA16E,GACf,OAAOA,CACT,EACM26wB,EAAe,SAACnqxB,EAAGC,GACvB,OAAOD,IAAMC,CACf,EACA,SAASwljB,EAAMp+iB,GAAqB,IAAD,IAAAumF,EAAAlxF,UAAAxD,OAAbkxxB,EAAW,IAAAj7wB,MAAAy+E,EAAA,EAAAA,EAAA,KAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAXu8rB,EAAWv8rB,EAAA,GAAAnxF,UAAAmxF,GAC/B,OAAO,WAAkB,IAAD,IAAAG,EAAAtxF,UAAAxD,OAAbmxxB,EAAQ,IAAAl7wB,MAAA6+E,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAARo8rB,EAAQp8rB,GAAAvxF,UAAAuxF,GACjB,IAAM7nF,EAAMgkxB,EAAYluxB,OAAOmuxB,GAC/B,OAAOhjxB,EAAG3E,MAAM,KAAM0D,EACxB,CACF,CACA,IAAMk2X,EAAM,SAAAz8X,GAAC,OAAI,SAAAsW,GAAC,OAAKtW,EAAEsW,EAAG,CAAD,EACrBm0wB,EAAM,SAAAlqtB,GACV,OAAO,WACL,MAAM,IAAIhmE,MAAMgmE,EAClB,CACF,EACMmqtB,EAAU,SAAA1qxB,GACd,OAAOA,GACT,EACM3F,EAAO,SAAA2F,GACXA,GACF,EACM2qxB,EAAQnmO,GAAS,GACjBhwM,EAASgwM,GAAS,GAElBomO,EAAQ,WACZ,SAAAA,EAAYz3uB,EAAKj5C,GAAO8Y,EAAA,KAAA43wB,GACtB/vxB,KAAKs4C,IAAMA,EACXt4C,KAAKX,MAAQA,CACf,CAAC,OAAAyZ,EAAAi3wB,EAAA,EAAAzuxB,IAAA,OAAAjC,MAOD,SAAK2wxB,EAAQC,GACX,OAAIjwxB,KAAKs4C,IACA23uB,EAAOjwxB,KAAKX,OAEZ2wxB,GAEX,GAAC,CAAA1uxB,IAAA,SAAAjC,MACD,WACE,OAAOW,KAAKs4C,GACd,GAAC,CAAAh3C,IAAA,SAAAjC,MACD,WACE,OAAQW,KAAKs4C,GACf,GAAC,CAAAh3C,IAAA,MAAAjC,MACD,SAAI6wxB,GACF,OAAIlwxB,KAAKs4C,IACAy3uB,EAASpyvB,KAAKuyvB,EAAOlwxB,KAAKX,QAE1B0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,OAAAjC,MACD,SAAK8wxB,GACH,OAAInwxB,KAAKs4C,IACA63uB,EAAOnwxB,KAAKX,OAEZ0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAOjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACpC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAQjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACrC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAKjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,OACvBW,KAEA+vxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,QAAAjC,MACD,SAAMovI,GACJ,OAAOzuI,KAAKs4C,IAAMt4C,KAAKX,MAAQovI,CACjC,GAAC,CAAAntI,IAAA,KAAAjC,MACD,SAAGovI,GACD,OAAOzuI,KAAKs4C,IAAMt4C,KAAOyuI,CAC3B,GAAC,CAAAntI,IAAA,aAAAjC,MACD,SAAW+wxB,GACT,OAAOpwxB,KAAKs4C,IAAMt4C,KAAKX,MAAQ+wxB,GACjC,GAAC,CAAA9uxB,IAAA,UAAAjC,MACD,SAAQ+wxB,GACN,OAAOpwxB,KAAKs4C,IAAMt4C,KAAOowxB,GAC3B,GAAC,CAAA9uxB,IAAA,WAAAjC,MACD,SAASsK,GACP,GAAK3J,KAAKs4C,IAGR,OAAOt4C,KAAKX,MAFZ,MAAM,IAAIK,MAAMiK,QAAyCA,EAAU,0BAIvE,GAAC,CAAArI,IAAA,YAAAjC,MAID,WACE,OAAOW,KAAKs4C,IAAMt4C,KAAKX,MAAQ,IACjC,GAAC,CAAAiC,IAAA,iBAAAjC,MACD,WACE,OAAOW,KAAKX,KACd,GAAC,CAAAiC,IAAA,OAAAjC,MACD,SAAKgxxB,GACCrwxB,KAAKs4C,KACP+3uB,EAAOrwxB,KAAKX,MAEhB,GAAC,CAAAiC,IAAA,UAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,CAACt4C,KAAKX,OAAS,EACnC,GAAC,CAAAiC,IAAA,WAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,QAAQ92C,OAAOxB,KAAKX,MAAO,KAAO,QACtD,IAAC,EAAAiC,IAAA,OAAAjC,MApFD,SAAYA,GACV,OAAO,IAAI0wxB,GAAS,EAAM1wxB,EAC5B,GAAC,CAAAiC,IAAA,OAAAjC,MACD,WACE,OAAO0wxB,EAAShhD,aAClB,GAAC,CAAAztuB,IAAA,OAAAjC,MA4DD,SAAYA,GACV,OAAO8vxB,EAAc9vxB,GAAS0wxB,EAASpyvB,KAAKt+B,GAAS0wxB,EAAS/gX,MAChE,IAAC,CAxEW,GA2Fd+gX,EAAShhD,cAAgB,IAAIghD,GAAS,GAEtC,IAwkD2B/he,GAAUkub,GAxkD/Bo0C,GAAc77wB,MAAMzW,UAAU4W,MAC9B27wB,GAAgB97wB,MAAMzW,UAAUgB,QAChCwxxB,GAAa/7wB,MAAMzW,UAAU8F,KAC7B2sxB,GAAa,SAAClnb,EAAI9tV,GAAC,OAAK80wB,GAAc/wxB,KAAK+pW,EAAI9tV,EAAG,EAKlDi1wB,GAAa,SAAC7shB,EAAI/uP,GAAC,OAAK27wB,GAAW5shB,EAAI/uP,IAAM,CAAE,EAC/Cuhd,GAAS,SAACxyN,EAAIiye,GAClB,IAAK,IAAI/2uB,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAE7C,GAAI+2uB,EADMjye,EAAG9kQ,GACDA,GACV,OAAO,CAEX,CACA,OAAO,CACT,EACM4xxB,GAAQ,SAAC9shB,EAAI1+P,GAGjB,IAFA,IAAM1G,EAAMolQ,EAAGrlQ,OACTorD,EAAI,IAAIn1C,MAAMhW,GACXM,EAAI,EAAGA,EAAIN,EAAKM,IAAK,CAC5B,IAAM+V,EAAI+uP,EAAG9kQ,GACb6qD,EAAE7qD,GAAKoG,EAAE2P,EAAG/V,EACd,CACA,OAAO6qD,CACT,EACMgnuB,GAAS,SAAC/shB,EAAI1+P,GAClB,IAAK,IAAIpG,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAE7CoG,EADU0+P,EAAG9kQ,GACRA,EACP,CACF,EACM8xxB,GAAQ,SAAChthB,EAAI1+P,GACjB,IAAK,IAAIpG,EAAI8kQ,EAAGrlQ,OAAS,EAAGO,GAAK,EAAGA,IAAK,CAEvCoG,EADU0+P,EAAG9kQ,GACRA,EACP,CACF,EACM+xxB,GAAc,SAACjthB,EAAIiye,GAGvB,IAFA,IAAMltqB,EAAO,GACPxgB,EAAO,GACJrpD,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAC7C,IAAM+V,EAAI+uP,EAAG9kQ,IACD+2uB,EAAKhhuB,EAAG/V,GAAK6pE,EAAOxgB,GAC5BtkD,KAAKgR,EACX,CACA,MAAO,CACL8zD,OACAxgB,OAEJ,EACM2ouB,GAAW,SAAClthB,EAAIiye,GAEpB,IADA,IAAMlsrB,EAAI,GACD7qD,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAC7C,IAAM+V,EAAI+uP,EAAG9kQ,GACT+2uB,EAAKhhuB,EAAG/V,IACV6qD,EAAE9lD,KAAKgR,EAEX,CACA,OAAO80C,CACT,EACMonuB,GAAQ,SAACnthB,EAAI1+P,EAAGu0F,GAIpB,OAHAm3rB,GAAMhthB,EAAI,SAAC/uP,EAAG/V,GACZ26F,EAAMv0F,EAAEu0F,EAAK5kF,EAAG/V,EAClB,GACO26F,CACT,EACMu3rB,GAAQ,SAACpthB,EAAI1+P,EAAGu0F,GAIpB,OAHAk3rB,GAAO/shB,EAAI,SAAC/uP,EAAG/V,GACb26F,EAAMv0F,EAAEu0F,EAAK5kF,EAAG/V,EAClB,GACO26F,CACT,EACMw3rB,GAAc,SAACrthB,EAAIiye,EAAM11F,GAC7B,IAAK,IAAIrhpB,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAC7C,IAAM+V,EAAI+uP,EAAG9kQ,GACb,GAAI+2uB,EAAKhhuB,EAAG/V,GACV,OAAOgxxB,EAASpyvB,KAAK7oB,GAChB,GAAIsroB,EAAMtroB,EAAG/V,GAClB,KAEJ,CACA,OAAOgxxB,EAAS/gX,MAClB,EACMmiX,GAAS,SAACtthB,EAAIiye,GAClB,OAAOo7C,GAAYrthB,EAAIiye,EAAMg6C,EAC/B,EACMsB,GAAc,SAACvthB,EAAIiye,GACvB,IAAK,IAAI/2uB,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAE7C,GAAI+2uB,EADMjye,EAAG9kQ,GACDA,GACV,OAAOgxxB,EAASpyvB,KAAK5+B,EAEzB,CACA,OAAOgxxB,EAAS/gX,MAClB,EACM51T,GAAU,SAAAyqJ,GAEd,IADA,IAAMj6M,EAAI,GACD7qD,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,IAAOM,EAAG,CAC7C,IAAKovG,EAAU01J,EAAG9kQ,IAChB,MAAM,IAAIW,MAAM,oBAAsBX,EAAI,6BAA+B8kQ,GAE3E2shB,GAAWxoxB,MAAM4hD,EAAGi6M,EAAG9kQ,GACzB,CACA,OAAO6qD,CACT,EACMynuB,GAAS,SAACxthB,EAAI1+P,GAAC,OAAKi0G,GAAQu3qB,GAAM9shB,EAAI1+P,GAAI,EAC1CivuB,GAAS,SAACvwe,EAAIiye,GAClB,IAAK,IAAI/2uB,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,IAAOM,EAAG,CAE7C,IAAmB,IAAf+2uB,EADMjye,EAAG9kQ,GACDA,GACV,OAAO,CAEX,CACA,OAAO,CACT,EACMs+D,GAAU,SAAAwmM,GACd,IAAMj6M,EAAI0muB,GAAY9wxB,KAAKqkQ,EAAI,GAE/B,OADAj6M,EAAEyT,UACKzT,CACT,EACM20I,GAAa,SAACiqQ,EAAI61J,GAAE,OAAK0yL,GAASvoV,EAAI,SAAA1zb,GAAC,OAAK47wB,GAAWryL,EAAIvplB,EAAE,EAAE,EAC/Dw8wB,GAAc,SAACzthB,EAAI1+P,GAEvB,IADA,IAAMykD,EAAI,CAAC,EACF7qD,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAC7C,IAAM+V,EAAI+uP,EAAG9kQ,GACb6qD,EAAEnoD,OAAOqT,IAAM3P,EAAE2P,EAAG/V,EACtB,CACA,OAAO6qD,CACT,EACMvkD,GAAO,SAACw+P,EAAI79L,GAChB,IAAM1X,EAAOgiuB,GAAY9wxB,KAAKqkQ,EAAI,GAElC,OADAv1M,EAAKjpD,KAAK2gE,GACH1X,CACT,EACMijuB,GAAQ,SAAC1thB,EAAI9kQ,GAAC,OAAKA,GAAK,GAAKA,EAAI8kQ,EAAGrlQ,OAASuxxB,EAASpyvB,KAAKkmO,EAAG9kQ,IAAMgxxB,EAAS/gX,MAAO,EACpFlpX,GAAO,SAAA+9M,GAAE,OAAI0thB,GAAM1thB,EAAI,EAAG,EAC1B2thB,GAAS,SAAA3thB,GAAE,OAAI0thB,GAAM1thB,EAAIA,EAAGrlQ,OAAS,EAAG,EACxC+mD,GAAOiF,EAAW/1C,MAAM8wC,MAAQ9wC,MAAM8wC,KAAO,SAAAzwC,GAAC,OAAIw7wB,GAAY9wxB,KAAKsV,EAAG,EACtE28wB,GAAU,SAAC1nuB,EAAK5kD,GACpB,IAAK,IAAIpG,EAAI,EAAGA,EAAIgrD,EAAIvrD,OAAQO,IAAK,CACnC,IAAM6qD,EAAIzkD,EAAE4kD,EAAIhrD,GAAIA,GACpB,GAAI6qD,EAAEolrB,SACJ,OAAOplrB,CAEX,CACA,OAAOmmuB,EAAS/gX,MAClB,EAaMrra,GAAO5F,OAAO4F,KACd2kF,GAAmBvqF,OAAOyF,eAC1BkuxB,GAAS,SAACn0vB,EAAKp4B,GAEnB,IADA,IAAMwnC,EAAQhpC,GAAK45B,GACV4f,EAAI,EAAG1+C,EAAMkuC,EAAMnuC,OAAQ2+C,EAAI1+C,EAAK0+C,IAAK,CAChD,IAAMp+C,EAAI4tC,EAAMwQ,GAEhBh4C,EADUo4B,EAAIx+B,GACTA,EACP,CACF,EACM4yxB,GAAQ,SAACp0vB,EAAKp4B,GAClB,OAAOysxB,GAASr0vB,EAAK,SAACzoB,EAAG/V,GAAC,MAAM,CAC9Bo+C,EAAGp+C,EACH8lD,EAAG1/C,EAAE2P,EAAG/V,GACT,EACH,EACM6yxB,GAAW,SAACr0vB,EAAKp4B,GACrB,IAAMykD,EAAI,CAAC,EAKX,OAJA8nuB,GAAOn0vB,EAAK,SAACzoB,EAAG/V,GACd,IAAM8yxB,EAAQ1sxB,EAAE2P,EAAG/V,GACnB6qD,EAAEiouB,EAAM10uB,GAAK00uB,EAAMhtuB,CACrB,GACO+E,CACT,EACMkouB,GAAS,SAAAlouB,GAAC,OAAI,SAAC90C,EAAG/V,GACtB6qD,EAAE7qD,GAAK+V,CACT,CAAE,EACIi9wB,GAAiB,SAACx0vB,EAAKu4sB,EAAMk8C,EAAQC,GACzCP,GAAOn0vB,EAAK,SAACzoB,EAAG/V,IACb+2uB,EAAKhhuB,EAAG/V,GAAKizxB,EAASC,GAASn9wB,EAAG/V,EACrC,EACF,EAUMmzxB,GAAW,SAAC30vB,EAAKu4sB,GACrB,IAAMr6tB,EAAI,CAAC,EAEX,OADAs2wB,GAAex0vB,EAAKu4sB,EAAMg8C,GAAOr2wB,GAAIgvG,GAC9BhvG,CACT,EACMu7iB,GAAa,SAACz5hB,EAAKp4B,GACvB,IAAMykD,EAAI,GAIV,OAHA8nuB,GAAOn0vB,EAAK,SAACl+B,EAAOxC,GAClB+sD,EAAE9lD,KAAKqB,EAAE9F,EAAOxC,GAClB,GACO+sD,CACT,EACMhJ,GAAS,SAAArjB,GACb,OAAOy5hB,GAAWz5hB,EAAKiyD,EACzB,EACM2isB,GAAQ,SAAC50vB,EAAKj8B,GAClB,OAAO8wxB,GAAM70vB,EAAKj8B,GAAOyuxB,EAASxquB,KAAKhoB,EAAIj8B,IAAQyuxB,EAAS/gX,MAC9D,EACMojX,GAAQ,SAAC70vB,EAAKj8B,GAAG,OAAKgnF,GAAiB9oF,KAAK+9B,EAAKj8B,EAAK,EACtD+wxB,GAAoB,SAAC90vB,EAAKj8B,GAAG,OAAK8wxB,GAAM70vB,EAAKj8B,SAAqBoE,IAAb63B,EAAIj8B,IAAmC,OAAbi8B,EAAIj8B,EAAc,EAGjGgxxB,GAAc,SAAAhtxB,GAClB,IAAMoG,EAAM,CAAC,EAIb,OAHAklxB,GAAOtrxB,EAAG,SAAAhE,GACRoK,EAAIpK,GAAO,CAAC,CACd,GACOqC,GAAK+H,EACd,EAEMwgF,GAAc,SAAAnvB,GAAC,YAAiBr3D,IAAbq3D,EAAEv+D,MAAqB,EAC1CkW,GAAUD,MAAMC,QAYhB69wB,GAAS,SAACx1tB,EAAGT,EAAIv3D,GACrB,IAAKg4D,EACH,OAAO,EAGT,GADAh4D,EAAIA,GAAKg4D,EACLmvB,GAAYnvB,IACd,IAAK,IAAI/3D,EAAI,EAAGy3C,EAAIsgB,EAAEv+D,OAAQwG,EAAIy3C,EAAGz3C,IACnC,IAA+B,IAA3Bs3D,EAAG98D,KAAKuF,EAAGg4D,EAAE/3D,GAAIA,EAAG+3D,GACtB,OAAO,OAIX,IAAK,IAAM/3D,KAAK+3D,EACd,GAAIq1tB,GAAMr1tB,EAAG/3D,KACoB,IAA3Bs3D,EAAG98D,KAAKuF,EAAGg4D,EAAE/3D,GAAIA,EAAG+3D,GACtB,OAAO,EAKf,OAAO,CACT,EACMmnB,GAAQ,SAACjvE,EAAO3V,GACpB,IAAMw2C,EAAM,GAIZ,OAHAy8uB,GAAOt9wB,EAAO,SAAC4Z,EAAMzkB,GACnB0rC,EAAIhyC,KAAKxE,EAASuvB,EAAMzkB,EAAO6K,GACjC,GACO6gC,CACT,EACM08uB,GAAW,SAACltxB,EAAGH,GACnB,IAAM43D,EAAI,GAMV,OALAw1tB,GAAOjtxB,EAAG,SAACu/C,EAAGz6C,GACPjF,IAAKA,EAAE0/C,EAAGz6C,EAAO9E,IACpBy3D,EAAEj5D,KAAK+gD,EAEX,GACOkY,CACT,EAWM5mD,GAAS,SAAC2/iB,EAAYjre,EAAUjwE,EAAas1E,GAEjD,IADA,IAAIwJ,EAAM82F,EAAY51K,GAAek7iB,EAAW,GAAKl7iB,EAC5C7b,EAAI,EAAGA,EAAI+2jB,EAAWt3jB,OAAQO,IACrC26F,EAAM7O,EAASrrF,KAAK0wF,EAASwJ,EAAKo8d,EAAW/2jB,GAAIA,GAEnD,OAAO26F,CACT,EACM+4rB,GAAc,SAACx9wB,EAAOgxF,EAAW/V,GACrC,IAAK,IAAInxF,EAAI,EAAG09C,EAAIxnC,EAAMzW,OAAQO,EAAI09C,EAAG19C,IACvC,GAAIknG,EAAUzmG,KAAK0wF,EAASj7E,EAAMlW,GAAIA,EAAGkW,GACvC,OAAOlW,EAGX,OAAQ,CACV,EACM2zxB,GAAS,SAAA58N,GAAU,OAAIA,EAAWA,EAAWt3jB,OAAS,EAAG,EAEzD4pM,GAAS,SAAAjjM,GACb,IACIykD,EADA03d,GAAS,EAEb,OAAO,WACL,IAAKA,EAAQ,CACXA,GAAS,EAAK,QAAAjsb,EAAArzF,UAAAxD,OAFPuV,EAAI,IAAAU,MAAA4gF,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJvhF,EAAIuhF,GAAAtzF,UAAAszF,GAGX1rC,EAAIzkD,EAAE6C,MAAM,KAAM+L,EACpB,CACA,OAAO61C,CACT,CACF,EAqDM+ouB,GAAY,WAChB,OAAOC,GAAK,EAAG,EACjB,EACMA,GAAO,SAACztrB,EAAOC,GACnB,MAAO,CACLD,QACAC,QAEJ,EACMytrB,GAAU,CACdptX,GAAImtX,GACJljD,OAlBe,SAACE,EAAgBkjD,GAChC,IAAMC,EAAetxxB,OAAOqxxB,GAAOpzwB,cACnC,OAA8B,IAA1BkwtB,EAAepxuB,OACVm0xB,KAhBI,SAACjqI,EAASoqI,GACvB,IAAMlpuB,EAVW,SAAC8+lB,EAAS3jpB,GAC3B,IAAK,IAAIhG,EAAI,EAAGA,EAAI2ppB,EAAQlqpB,OAAQO,IAAK,CACvC,IAAM+V,EAAI4zoB,EAAQ3ppB,GAClB,GAAI+V,EAAErU,KAAKsE,GACT,OAAO+P,CAEX,CAEF,CAEYk+wB,CAAWtqI,EAASoqI,GAC9B,IAAKlpuB,EACH,MAAO,CACLu7C,MAAO,EACPC,MAAO,GAGX,IAAM4pC,EAAQ,SAAAjwI,GACZ,OAAOkxD,OAAO6iuB,EAAMrzwB,QAAQmqC,EAAG,IAAM7qD,GACvC,EACA,OAAO6zxB,GAAK5jpB,EAAM,GAAIA,EAAM,GAC9B,CAMSikpB,CAAOrjD,EAAgBmjD,EAChC,EAaEpjD,QAASgjD,IAgBLO,GAAW,SAACtoiB,EAAY7lM,GAC5B,IAAM+tuB,EAAQrxxB,OAAOsjD,GAAWrlC,cAChC,OAAOyxwB,GAAOvmiB,EAAY,SAAAuoiB,GACxB,OAAOA,EAAU/rrB,OAAO0rrB,EAC1B,EACF,EAwBMM,GAAa,SAACtzxB,EAAKswD,EAAQ/7C,GAAK,MAAgB,KAAX+7C,GAAiBtwD,EAAItB,QAAU4xD,EAAO5xD,QAAUsB,EAAIswD,OAAO/7C,EAAOA,EAAQ+7C,EAAO5xD,UAAY4xD,CAAO,EACzIijuB,GAAgB,SAACvzxB,EAAK8/B,GAC1B,OAAO/7B,GAAW/D,EAAK8/B,GAND,SAAC9/B,EAAKwzxB,GAC5B,OAAOxzxB,EAAIX,UAAUm0xB,EACvB,CAImCC,CAAgBzzxB,EAAK8/B,EAAOphC,QAAUsB,CACzE,EACM0zxB,GAAa,SAAC1zxB,EAAKswD,GAA4B,IAApB/7C,EAAKrS,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,EAAGsS,EAAGtS,UAAAxD,OAAA,EAAAwD,UAAA,QAAA0D,EACvCm7D,EAAM/gE,EAAId,QAAQoxD,EAAQ/7C,GAChC,OAAa,IAATwsD,MACK2vH,EAAYl8K,IAAcusD,EAAMzQ,EAAO5xD,QAAU8V,EAI5D,EACMzQ,GAAa,SAAC/D,EAAK8/B,GACvB,OAAOwzvB,GAAWtzxB,EAAK8/B,EAAQ,EACjC,EACMozM,GAAW,SAAClzO,EAAK+gI,GACrB,OAAOuypB,GAAWtzxB,EAAK+gI,EAAQ/gI,EAAItB,OAASqiI,EAAOriI,OACrD,EACMkyhB,GAAQ,SAAA9me,GAAC,OAAI,SAAA7kD,GAAC,OAAIA,EAAE0a,QAAQmqC,EAAG,GAAI,CAAD,EAClC6puB,GAAS/iQ,GAAM,cACfgjQ,GAAQhjQ,GAAM,SACdijQ,GAAQjjQ,GAAM,SACdz9C,GAAa,SAAAlue,GAAC,OAAIA,EAAEvG,OAAS,CAAE,EAC/Bo1xB,GAAY,SAAA7uxB,GAAC,OAAKkue,GAAWlue,EAAG,EAEhCqlpB,GAAQ,SAAC/qpB,GAAuB,IAC9B4sD,EAAMxvB,SAASp9B,EADI2C,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,IAE5B,OAAOgT,MAAMi3C,GAAO8juB,EAAS/gX,OAAS+gX,EAASpyvB,KAAKsuB,EACtD,EAEM4nuB,GAAqB,sCACrBC,GAAgB,SAAAhrxB,GACpB,OAAO,SAAAirxB,GACL,OAAOP,GAAWO,EAAUjrxB,EAC9B,CACF,EACM0hG,GAAW,CAAC,CAChB3tG,KAAM,OACN+yuB,eAAgB,CAAC,kCACjBxooB,OAAQ,SAAA2srB,GACN,OAAOP,GAAWO,EAAU,UAAYP,GAAWO,EAAU,WAAaP,GAAWO,EAAU,WAAaP,GAAWO,EAAU,cACnI,GACC,CACDl3xB,KAAM,WACNosG,MAAO,WACP2moB,eAAgB,CAAC,kCAAmCikD,IACpDzsrB,OAAQ,SAAA2srB,GACN,OAAOP,GAAWO,EAAU,YAAcP,GAAWO,EAAU,cACjE,GACC,CACDl3xB,KAAM,KACN+yuB,eAAgB,CAAC,iCAAkC,8BACnDxooB,OAAQ,SAAA2srB,GACN,OAAOP,GAAWO,EAAU,SAAWP,GAAWO,EAAU,UAC9D,GACC,CACDl3xB,KAAM,QACN+yuB,eAAgB,CAACikD,GAAoB,kCACrCzsrB,OAAQ0srB,GAAc,UACrB,CACDj3xB,KAAM,UACN+yuB,eAAgB,CAAC,uCACjBxooB,OAAQ0srB,GAAc,YACrB,CACDj3xB,KAAM,SACN+yuB,eAAgB,CAACikD,GAAoB,iCACrCzsrB,OAAQ,SAAA2srB,GACN,OAAQP,GAAWO,EAAU,WAAaP,GAAWO,EAAU,aAAeP,GAAWO,EAAU,cACrG,IAEIlkD,GAAO,CAAC,CACZhzuB,KAAM,UACNuqG,OAAQ0srB,GAAc,OACtBlkD,eAAgB,CAAC,0CAChB,CACD/yuB,KAAM,MACNuqG,OAAQ,SAAA2srB,GACN,OAAOP,GAAWO,EAAU,WAAaP,GAAWO,EAAU,OAChE,EACAnkD,eAAgB,CAAC,sCAAuC,+BAAgC,wCACvF,CACD/yuB,KAAM,UACNuqG,OAAQ0srB,GAAc,WACtBlkD,eAAgB,CAAC,sCAChB,CACD/yuB,KAAM,QACNuqG,OAAQ0srB,GAAc,YACtBlkD,eAAgB,CAAC,wCAChB,CACD/yuB,KAAM,QACNuqG,OAAQ0srB,GAAc,SACtBlkD,eAAgB,IACf,CACD/yuB,KAAM,UACNuqG,OAAQ0srB,GAAc,SACtBlkD,eAAgB,IACf,CACD/yuB,KAAM,UACNuqG,OAAQ0srB,GAAc,WACtBlkD,eAAgB,IACf,CACD/yuB,KAAM,WACNuqG,OAAQ0srB,GAAc,QACtBlkD,eAAgB,CAAC,qCAEbokD,GAAe,CACnBxprB,SAAUm/c,EAASn/c,IACnBqloB,KAAMlmL,EAASkmL,KAGX1voB,GAAO,OACPJ,GAAW,WAEX2B,GAAQ,QACRnB,GAAU,UACV+B,GAAS,SAOT2xrB,GAAO,SAAA15wB,GACX,IAAMowI,EAAUpwI,EAAKowI,QACfzzI,EAAUqD,EAAKrD,QACfm0F,EAAY,SAAAxuG,GAAI,OAAI,kBAAM8tJ,IAAY9tJ,CAAK,CAAD,EAChD,MAAO,CACL8tJ,UACAzzI,UACA44tB,OAAQzkoB,EAAUlL,IAClBovR,WAAYlkR,EAAUtL,IACtB61e,KAAMvqe,EAnBC,MAoBP0koB,QAAS1koB,EAAU3J,IACnBsuoB,UAAW3koB,EAAU9K,IACrBojM,SAAUt4L,EAAU/I,IAExB,EACM4xrB,GAAU,CACdvkD,QAtBgB,WAChB,OAAOskD,GAAK,CACVtpoB,aAASjlJ,EACTwR,QAAS27wB,GAAQljD,WAErB,EAkBElqU,GAAIwuX,GACJ9zrB,KAAMwpd,EAASxpd,IACfJ,SAAU4pd,EAAS5pd,IACnBa,GAAI+od,EA9BK,MA+BTjod,MAAOiod,EAASjod,IAChBnB,QAASopd,EAASppd,IAClB+B,OAAQqnd,EAASrnd,KAGbkvJ,GAAU,UAEVlyJ,GAAU,UACV60rB,GAAQ,QACRC,GAAQ,QACRC,GAAU,UACVC,GAAU,UACVC,GAAW,WAOXC,GAAO,SAAAj6wB,GACX,IAAMowI,EAAUpwI,EAAKowI,QACfzzI,EAAUqD,EAAKrD,QACf2zF,EAAO,SAAAhuG,GAAI,OAAI,kBAAM8tJ,IAAY9tJ,CAAK,CAAD,EAC3C,MAAO,CACL8tJ,UACAzzI,UACAg4O,UAAWrkJ,EAAK2mJ,IAChBy+e,MAAOploB,EArBC,OAsBRqloB,UAAWrloB,EAAKvL,IAChB6woB,QAAStloB,EAAKuprB,IACdhkD,QAASvloB,EAAKsprB,IACd9jD,UAAWxloB,EAAKwprB,IAChB/jD,UAAWzloB,EAAKyprB,IAChB/jD,WAAY1loB,EAAK0prB,IAErB,EACME,GAAkB,CACtB9kD,QAxBc,WACd,OAAO6kD,GAAK,CACV7poB,aAASjlJ,EACTwR,QAAS27wB,GAAQljD,WAErB,EAoBElqU,GAAI+uX,GACJhjiB,QAASm4T,EAASn4T,IAClBkjiB,IAAK/qO,EAlCK,OAmCVrqd,QAASqqd,EAASrqd,IAClB60rB,MAAOxqO,EAASwqO,IAChBC,MAAOzqO,EAASyqO,IAChBC,QAAS1qO,EAAS0qO,IAClBC,QAAS3qO,EAAS2qO,IAClBC,SAAU5qO,EAAS4qO,KAefI,GAZW,SAAC5vuB,EAAW6vuB,EAAkBC,GAC7C,IAAMrqrB,EAAWwprB,GAAaxprB,WACxBqloB,EAAOmkD,GAAankD,OACpBrpoB,EAAUourB,EAAiBjwtB,KAAK,SAAA+qT,GAAa,OA7O7B,SAACllR,EAAUklR,GACjC,OAAO+ha,GAAQ/ha,EAAc3mR,OAAQ,SAAA+rrB,GACnC,IAAMC,EAAUD,EAAQ7rrB,MAAMvpF,cAC9B,OAAOyxwB,GAAO3mrB,EAAU,SAAAhE,GACtB,IAAI39C,EACJ,OAAOksuB,KAAsC,QAAxBlsuB,EAAK29C,EAAQyC,aAA+B,IAAZpgD,OAAqB,EAAIA,EAAGnpC,cACnF,GAAGvQ,IAAI,SAAAoL,GAAI,MAAK,CACdowI,QAASpwI,EAAK1d,KACdqa,QAAS27wB,GAAQptX,GAAGhpY,SAASq4vB,EAAQ59wB,QAAS,IAAK,GACpD,EACH,EACF,CAkOyD89wB,CAAgBxqrB,EAAUklR,EAAc,GAAE8gX,QAAQ,kBA1NrF,SAAChmoB,EAAUzlD,GAC/B,OAAOmuuB,GAAS1orB,EAAUzlD,GAAW51C,IAAI,SAAAq3F,GACvC,IAAMtvF,EAAU27wB,GAAQnjD,OAAOlpoB,EAAQopoB,eAAgB7qrB,GACvD,MAAO,CACL4lG,QAASnkD,EAAQ3pG,KACjBqa,UAEJ,EACF,CAkNiH+9wB,CAAczqrB,EAAUzlD,EAAU,GAAE0rrB,KAAKyjD,GAAQvkD,QAASukD,GAAQzuX,IAC3Kj+T,EAlNS,SAACqooB,EAAM9qrB,GACtB,OAAOmuuB,GAASrjD,EAAM9qrB,GAAW51C,IAAI,SAAAq4F,GACnC,IAAMtwF,EAAU27wB,GAAQnjD,OAAOlooB,EAAGoooB,eAAgB7qrB,GAClD,MAAO,CACL4lG,QAASnjD,EAAG3qG,KACZqa,UAEJ,EACF,CA0Mag+wB,CAASrlD,EAAM9qrB,GAAW0rrB,KAAKgkD,GAAgB9kD,QAAS8kD,GAAgBhvX,IAC7EwrU,EAjTW,SAACzpoB,EAAIhB,EAASzhD,EAAW8vuB,GAC1C,IAAMnkD,EAASlpoB,EAAGyooB,UAAuC,IAA5B,QAAQxvuB,KAAKskD,GACpC4rrB,EAAWnpoB,EAAGyooB,UAAYS,EAC1BykD,EAAW3trB,EAAGyooB,SAAWzooB,EAAG0ooB,YAC5BY,EAAUqkD,GAAYN,EAAW,oBACjCjkD,EAAWF,IAAWC,GAAYwkD,GAAYN,EAAW,4BACzDhkD,EAAUF,GAAYwkD,IAAavkD,EACnCwkD,EAAa5urB,EAAQm9L,YAAcn8L,EAAGyooB,UAAyC,IAA9B,UAAUxvuB,KAAKskD,GAChEisrB,GAAaH,IAAYD,IAAawkD,EAC5C,MAAO,CACL1kD,OAAQ/mL,EAAS+mL,GACjBC,SAAUhnL,EAASgnL,GACnBC,SAAUjnL,EAASinL,GACnBC,QAASlnL,EAASknL,GAClBC,QAASnnL,EAASmnL,GAClBZ,UAAW1ooB,EAAG0ooB,UACdD,MAAOzooB,EAAGyooB,MACVc,UAAWpnL,EAASyrO,GACpBpkD,UAAWrnL,EAASqnL,GAExB,CA6RqBqkD,CAAW7trB,EAAIhB,EAASzhD,EAAW8vuB,GACtD,MAAO,CACLrurB,UACAgB,KACAypoB,aAEJ,EAKM4jD,GAAa,SAAAzusB,GAAK,OAAIzkF,OAAO64G,WAAWp0B,GAAO6xB,OAAQ,EACzDq9qB,GAAaltlB,GAAO,kBAAMuslB,GAAyB7pvB,UAAUia,UAAWgruB,EAASxquB,KAAKza,UAAU4kV,eAAgBmla,GAAW,GACzHU,GAAW,WAAH,OAASD,IAAa,EAE9BvwuB,GAAYja,UAAUia,UACtBywuB,GAAaD,KACbE,GAAYD,GAAWhvrB,QACvBkvrB,GAAOF,GAAWhurB,GAClBypoB,GAAaukD,GAAWvkD,WACxB0kD,IAAuD,IAAxC5wuB,GAAU/lD,QAAQ,iBACjC42xB,GAAM,CACVC,eAAgB,iFAChBhiZ,aAAc4hZ,GAAU7/M,OAAS3vjB,SAAS4tX,cAAgB,EAAI,GAC9Du/V,YAAa,KACbn5oB,UAAW,KACX67rB,YAAaL,GAAU7/M,OACvB+/M,gBACAnvrB,QAAS,CACPmkD,QAAS8qoB,GAAU9qoB,QACnBzzI,QAASu+wB,GAAUv+wB,QACnBq4W,WAAYkma,GAAUlma,WACtBugX,OAAQ2lD,GAAU3lD,OAClBE,UAAWylD,GAAUzlD,UACrBp6J,KAAM6/M,GAAU7/M,KAChBm6J,QAAS0lD,GAAU1lD,QACnBpsc,SAAU8xf,GAAU9xf,UAEtBn8L,GAAI,CACFmjD,QAAS+qoB,GAAK/qoB,QACdzzI,QAASw+wB,GAAKx+wB,QACdg5tB,UAAWwlD,GAAKxlD,UAChBK,WAAYmlD,GAAKnlD,WACjBD,UAAWolD,GAAKplD,UAChBL,MAAOylD,GAAKzlD,MACZG,QAASslD,GAAKtlD,QACdD,QAASulD,GAAKvlD,QACdE,UAAWqlD,GAAKrlD,UAChBnhf,UAAWwmiB,GAAKxmiB,WAElB+hf,WAAY,CACVD,UAAWC,GAAWD,UACtBN,OAAQO,GAAWP,OACnBC,SAAUM,GAAWN,SACrBE,QAASI,GAAWJ,QACpBD,SAAUK,GAAWL,SACrBE,QAASG,GAAWH,QACpBC,UAAWE,GAAWF,YAIpBglD,GAAqB,aACrBC,GAAS,SAAAl2xB,GACb,OAAOovxB,EAAWpvxB,GAAO,IAAM,GAAKA,GAAK2f,QAAQs2wB,GAAoB,GACvE,EAkBMvyxB,GAAiB4uxB,GAejB6D,GAAS,SAAUl5tB,EAAG53D,EAAGH,EAAGD,GAChCA,EAAIA,GAAK/E,KACL+8D,IACE/3D,IACF+3D,EAAIA,EAAE/3D,IAERutxB,GAAOx1tB,EAAG,SAACA,EAAGh+D,GACZ,OAA2B,IAAvBoG,EAAE3F,KAAKuF,EAAGg4D,EAAGh+D,EAAGiG,KAGlBixxB,GAAOl5tB,EAAG53D,EAAGH,EAAGD,IACT,EAEX,GAEJ,EA2BMmxxB,GAAQ,CACZl/tB,KAAMg/tB,GACNthxB,QAASA,GACT+/B,GA7EW,SAAClX,EAAKx9B,GACjB,OAAKA,IAGQ,UAATA,IAAoB2U,GAAQ6oB,YAGlBA,IAAQx9B,OALL2F,IAAR63B,CAMX,EAsEEkgN,QAxhBgB,SAAAlgN,GAChB,GAAK7oB,GAAQ6oB,GAOX,OAAOA,EALP,IADA,IAAMtoB,EAAQ,GACLlW,EAAI,EAAG09C,EAAIlf,EAAI/+B,OAAQO,EAAI09C,EAAG19C,IACrCkW,EAAMlW,GAAKw+B,EAAIx+B,GAEjB,OAAOkW,CAIX,EA+gBEkhxB,QAtEgB,SAAClywB,EAAOmywB,GAGxB,IAH6C,IAAdjnxB,EAAGnN,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EAChCq0xB,EAAgBrjtB,EAAS/uD,GAASA,EAAM0pB,MAAMyovB,GAAS,KAAOnywB,GAAS,GACzEllB,EAAIs3xB,EAAc73xB,OACfO,KACLoQ,EAAIknxB,EAAct3xB,IAAM,CAAC,EAE3B,OAAOoQ,CACT,EAgEEwsD,KAAM42tB,GACNpjxB,IAAK+0E,GACLoysB,KAAM9D,GACNzvb,QA5ec,SAACz9V,EAAGu/C,GAClB,GAAIv/C,EACF,IAAK,IAAIvG,EAAI,EAAG09C,EAAIn3C,EAAE9G,OAAQO,EAAI09C,EAAG19C,IACnC,GAAIuG,EAAEvG,KAAO8lD,EACX,OAAO9lD,EAIb,OAAQ,CACV,EAoeE6gK,OAAQp8J,GACR8U,OAnEe,SAACilB,GAChB,IAAK,IAAIx+B,EAAI,EAAGA,GAACiD,UAAAxD,QAAA,IAAAwD,UAAAxD,OAAA,GAAgBO,IAAK,CACpC,IAAM40D,EAAW50D,EAAC,KAAAiD,UAAAxD,QAADO,EAAC,OAAA2G,EAAA1D,UAADjD,EAAC,GAClB,IAAK,IAAMlC,KAAQ82D,EACjB,GAAIy+tB,GAAMz+tB,EAAK92D,GAAO,CACpB,IAAMwC,EAAQs0D,EAAI92D,QACJ6I,IAAVrG,IACFk+B,EAAI1gC,GAAQwC,EAEhB,CAEJ,CACA,OAAOk+B,CACT,EAuDEg5vB,KAAMN,GACNnvxB,QAvCgB,SAAC9B,GAEjB,IAFoC,IAAhB+3D,EAAC/6D,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAGL,OAClBoe,EAAO/a,EAAE2oC,MAAM,KACZ5uC,EAAI,EAAG09C,EAAI18B,EAAKvhB,OAAQO,EAAI09C,IACnCsgB,EAAIA,EAAEh9C,EAAKhhB,KAD2BA,KAMxC,OAAOg+D,CACT,EA+BEmyqB,QA9BgB,SAACnquB,EAAG4nD,GACpB,OAAIwhD,EAAUppG,GACLA,EACQ,KAANA,EACF,GAEAm/E,GAAMn/E,EAAE4oC,MAAMgf,GAAK,KAAMqpuB,GAEpC,EAuBEQ,gBAtBsB,SAAA5hwB,GACtB,IAAMw+sB,EAAcwiD,GAAIxiD,YAIxB,OAHIA,IACFx+sB,KAA8B,IAAtBA,EAAI51B,QAAQ,KAAc,IAAM,KAAOo0uB,GAE1Cx+sB,CACT,GAmBM6hwB,GAAO,SAACC,EAAKC,GAAG,IAAE3wtB,EAAUhkE,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAGytxB,EAAY,OAAKiH,EAAIrgU,OAAO,SAAAr6c,GAAI,OAAIgqD,EAAWhqD,EAAM26wB,EAAI,EAAE,EAC1F3juB,GAAS,SAAC0juB,EAAKC,GAA8B,OAAKC,GAAMF,EAAKC,EAA/B30xB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAGytxB,GAA6CtgD,MAAMunD,EAAIhgD,UAAYigD,EAAIjgD,SAAU,EAWlHkgD,GAAQ,SAAC/0X,EAAI0hL,EAAIp+kB,GAAC,OAAK08Z,EAAGmtU,UAAYzrJ,EAAGyrJ,SAAW+gD,EAASpyvB,KAAKx4B,EAAE08Z,EAAGwyU,WAAY9wJ,EAAG8wJ,aAAe07C,EAAS/gX,MAAO,EAErH6nX,GAAS,SAACtxxB,EAAGD,GAAC,OAAKC,EAAIwqxB,EAASpyvB,KAAKr4B,GAAKyqxB,EAAS/gX,MAAO,EAE1D8nX,GAA2B,oBAAXn1xB,OAAyBA,OAAS0wC,SAAS,eAATA,GASlD0kvB,GAAY,SAACr4xB,EAAGitU,GAEpB,OATW,SAAClvU,EAAOkvU,GAEnB,IADA,IAAI5uQ,EAAI4uQ,QAAwCA,EAAQmrd,GAC/C/3xB,EAAI,EAAGA,EAAItC,EAAM+B,QAAVO,MAAoBg+D,IAAiCh+D,EACnEg+D,EAAIA,EAAEtgE,EAAMsC,IAEd,OAAOg+D,CACT,CAGSh9C,CADOrhB,EAAEivC,MAAM,KACHg+R,EACrB,EAKM0oa,GAAW,SAACx3uB,EAAM8uU,GACtB,IAAMx9Q,EAJO,SAACtxD,EAAM8uU,GACpB,OAAOord,GAAUl6xB,EAAM8uU,EACzB,CAEiBqrd,CAAOn6xB,EAAM8uU,GAC5B,GAAIx9Q,QACF,MAAM,IAAIzuD,MAAM7C,EAAO,kCAEzB,OAAOsxD,CACT,EAEM8ouB,GAAmBl5xB,OAAOuhD,eAI1BujW,GAAgB,SAAA/tY,GACpB,IAAM62T,EAAQord,GAAU,4BAA6BjixB,GACrD,OAAOk0E,EAASl0E,KALM,SAAA62T,GACtB,OAAO0oa,GAAS,cAAe1oa,EACjC,CAGyBurd,CAAgBvrd,GAAO3tU,UAAU6kZ,cAAc/tY,IAAM,mBAAmBrU,KAAKw2xB,GAAiBnixB,GAAGyqC,YAAY1iD,MACtI,EAQMA,GAAO,SAAA+5G,GAEX,OADUA,EAAQuoW,IAAI9lW,SACb35F,aACX,EACMy3wB,GAAS,SAAAvgrB,GAAO,OAAIA,EAAQuoW,IAAIn0X,QAAS,EACzC+C,GAAS,SAAAtyE,GAAC,OAAI,SAAAm7F,GAAO,OAAIugrB,GAAOvgrB,KAAan7F,CAAE,CAAD,EAE9C27wB,GAAkB,SAAAxgrB,GAAO,OAAIygrB,GAAYzgrB,IAAYisS,GAAcjsS,EAAQuoW,IAAK,EAChFk4U,GAActpsB,GAXJ,GAYVupsB,GAAWvpsB,GAXJ,GAYPwpsB,GAAexpsB,GAfJ,GAgBXypsB,GAAuBzpsB,GAfH,IAgBpB0psB,GAAQ,SAAAn/uB,GAAG,OAAI,SAAA17C,GAAC,OAAIy6xB,GAAYz6xB,IAAMC,GAAKD,KAAO07C,CAAI,CAAD,EAErDo/uB,GAAS,SAACv4U,EAAK79c,EAAKjC,GACxB,KAAI2zE,EAAS3zE,IAAUs8K,EAAUt8K,IAAUs4H,EAASt4H,IAIlD,MADAvC,QAAQC,MAAM,sCAAuCuE,EAAK,YAAajC,EAAO,cAAe8/c,GACvF,IAAIz/c,MAAM,kCAHhBy/c,EAAInoW,aAAa11G,EAAKjC,EAAQ,GAKlC,EACMs4xB,GAAQ,SAAC/grB,EAASt1G,EAAKjC,GAC3Bq4xB,GAAO9grB,EAAQuoW,IAAK79c,EAAKjC,EAC3B,EACMu4xB,GAAW,SAAChhrB,EAASmuL,GACzB,IAAMo6K,EAAMvoW,EAAQuoW,IACpBuyU,GAAO3sf,EAAO,SAAClgP,EAAG1H,GAChBu6uB,GAAOv4U,EAAKhia,EAAG0H,EACjB,EACF,EACMgzuB,GAAQ,SAACjhrB,EAASt1G,GACtB,IAAMujD,EAAI+xD,EAAQuoW,IAAItoW,aAAav1G,GACnC,OAAa,OAANujD,OAAan/C,EAAYm/C,CAClC,EACMizuB,GAAS,SAAClhrB,EAASt1G,GAAG,OAAKyuxB,EAASxquB,KAAKsyuB,GAAMjhrB,EAASt1G,GAAM,EAC9Dy2xB,GAAQ,SAACnhrB,EAASt1G,GACtB,IAAM69c,EAAMvoW,EAAQuoW,IACpB,SAAOA,IAAOA,EAAIpoW,eAAeooW,EAAIpoW,aAAaz1G,EACpD,EACM02xB,GAAW,SAACphrB,EAASt1G,GACzBs1G,EAAQuoW,IAAIvqW,gBAAgBtzG,EAC9B,EAKM22xB,GAAU,SAAArhrB,GAAO,OAAIq6qB,GAAMr6qB,EAAQuoW,IAAIzsU,WAAY,SAACh5C,EAAKvpB,GAE7D,OADAupB,EAAIvpB,EAAKtzE,MAAQszE,EAAK9wE,MACfq6F,CACT,EAAG,CAAC,EAAG,EAEDw+rB,GAAS,SAACthrB,EAASzmC,GACvB,IAAM9wE,EAAQw4xB,GAAMjhrB,EAASzmC,GAC7B,YAAiBzqE,IAAVrG,GAAiC,KAAVA,EAAe,GAAKA,EAAMsuC,MAAM,IAChE,EAiBMnzB,GAAW,SAAAo8F,GAAO,YAA8BlxG,IAA1BkxG,EAAQuoW,IAAIp1b,SAAwB,EAC1DouwB,GAAQ,SAAAvhrB,GAAO,OAAIshrB,GAAOthrB,EAAS,QAAS,EAC5CwhrB,GAAQ,SAACxhrB,EAASyhrB,GAAK,OAlBf,SAACzhrB,EAASzmC,EAAMpuD,GAC5B,IACM0jZ,EADMyyX,GAAOthrB,EAASzmC,GACb3uE,OAAO,CAACugB,IAEvB,OADA41wB,GAAM/grB,EAASzmC,EAAMs1V,EAAG35W,KAAK,OACtB,CACT,CAakCwsuB,CAAM1hrB,EAAS,QAASyhrB,EAAO,EAC3DE,GAAW,SAAC3hrB,EAASyhrB,GAAK,OAbf,SAACzhrB,EAASzmC,EAAMpuD,GAC/B,IAAM0jZ,EAAKsrX,GAASmH,GAAOthrB,EAASzmC,GAAO,SAAAtrB,GAAC,OAAIA,IAAM9iC,CAAE,GAMxD,OALI0jZ,EAAGjna,OAAS,EACdm5xB,GAAM/grB,EAASzmC,EAAMs1V,EAAG35W,KAAK,MAE7BksuB,GAASphrB,EAASzmC,IAEb,CACT,CAKqCqotB,CAAS5hrB,EAAS,QAASyhrB,EAAO,EASjEI,GAAQ,SAAC7hrB,EAASyhrB,GAClB79wB,GAASo8F,GACXA,EAAQuoW,IAAIp1b,UAAUvc,IAAI6qxB,GAE1BD,GAAMxhrB,EAASyhrB,EAEnB,EACMK,GAAa,SAAA9hrB,GAEQ,KADPp8F,GAASo8F,GAAWA,EAAQuoW,IAAIp1b,UAAYouwB,GAAMvhrB,IACtDp4G,QACZw5xB,GAASphrB,EAAS,QAEtB,EACM+hrB,GAAW,SAAC/hrB,EAASyhrB,GACrB79wB,GAASo8F,GACOA,EAAQuoW,IAAIp1b,UACpBZ,OAAOkvwB,GAEjBE,GAAS3hrB,EAASyhrB,GAEpBK,GAAW9hrB,EACb,EACMgirB,GAAW,SAAChirB,EAASyhrB,GACzB,IAAMp4xB,EAASua,GAASo8F,GAAWA,EAAQuoW,IAAIp1b,UAAUw8B,OAAO8xuB,GA/BjD,SAACzhrB,EAASyhrB,GACzB,OAAI3H,GAAWyH,GAAMvhrB,GAAUyhrB,GACtBE,GAAS3hrB,EAASyhrB,GAElBD,GAAMxhrB,EAASyhrB,EAE1B,CAyB2EQ,CAASjirB,EAASyhrB,GAE3F,OADAK,GAAW9hrB,GACJ32G,CACT,EACMqE,GAAM,SAACsyG,EAASyhrB,GAAK,OAAK79wB,GAASo8F,IAAYA,EAAQuoW,IAAIp1b,UAAUkzF,SAASo7qB,EAAO,EAuBrFS,GAAY,SAAAtyuB,GAChB,GAAIA,QACF,MAAM,IAAI9mD,MAAM,oCAElB,MAAO,CACLy/c,IAAK34Z,EAET,EAEMuyuB,GAAe,CACnB1pD,SA/BiB,SAACrjX,EAAMrgD,GACxB,IACMnhS,GADMmhS,GAAS1lT,UACL6F,cAAc,OAE9B,GADA0e,EAAIC,UAAYuhV,GACXxhV,EAAIw6P,iBAAmBx6P,EAAI7J,WAAWniC,OAAS,EAAG,CACrD,IAAMmL,EAAU,wCAEhB,MADA7M,QAAQC,MAAM4M,EAASqiX,GACjB,IAAItsX,MAAMiK,EAClB,CACA,OAAOmvxB,GAAUtuvB,EAAI7J,WAAW,GAClC,EAsBE2usB,QArBc,SAACh3rB,EAAKqzR,GACpB,IACMnlR,GADMmlR,GAAS1lT,UACJ6F,cAAcwsB,GAC/B,OAAOwgvB,GAAUtyuB,EACnB,EAkBE+orB,SAjBe,SAAC56sB,EAAMg3S,GACtB,IACMnlR,GADMmlR,GAAS1lT,UACJwgC,eAAe9xB,GAChC,OAAOmkwB,GAAUtyuB,EACnB,EAcEgprB,QAASspD,GACTrpD,UANkB,SAACupD,EAAQlkxB,EAAGC,GAAC,OAAKg7wB,EAASxquB,KAAKyzuB,EAAO75U,IAAIzJ,iBAAiB5gc,EAAGC,IAAI5F,IAAI2pxB,GAAW,GAShGr7iB,GAAU,SAAC30O,EAAQ3D,GACvB,IAAMykD,EAAI,GACJ46T,EAAU,SAAA5nX,GAEd,OADAgtD,EAAE9lD,KAAKlH,GACAuI,EAAEvI,EACX,EACI6pM,EAAMthM,EAAE2D,GACZ,GACE29L,EAAMA,EAAI9hI,KAAK6/S,SACR/9K,EAAIuoiB,UACb,OAAOplrB,CACT,EAEMqvuB,GAAO,SAACrirB,EAAS0hB,GACrB,IAAM6mV,EAAMvoW,EAAQuoW,IACpB,GAzKc,IAyKVA,EAAIn0X,SACN,OAAO,EAEP,IAAMm+F,EAAOg2R,EACb,QAAqBz5c,IAAjByjL,EAAKlxE,QACP,OAAOkxE,EAAKlxE,QAAQqgB,GACf,QAA+B5yH,IAA3ByjL,EAAKmojB,kBACd,OAAOnojB,EAAKmojB,kBAAkBh5mB,GACzB,QAAmC5yH,IAA/ByjL,EAAKoojB,sBACd,OAAOpojB,EAAKoojB,sBAAsBj5mB,GAC7B,QAAgC5yH,IAA5ByjL,EAAKqojB,mBACd,OAAOrojB,EAAKqojB,mBAAmBl5mB,GAE/B,MAAM,IAAI54H,MAAM,iCAGtB,EACMw5xB,GAAiB,SAAA/5U,GAAG,OA1LV,IA0LcA,EAAIn0X,UA5LjB,IA4LyCm0X,EAAIn0X,UA3LpC,KA2L6Dm0X,EAAIn0X,UAA4D,IAA1Bm0X,EAAIsyR,iBAAwB,EAUnJ7ppB,GAAK,SAACygX,EAAIm2J,GAAE,OAAKn2J,EAAG8W,MAAQq/I,EAAGr/I,GAAI,EACnCliW,GAAW,SAACorV,EAAIm2J,GACpB,IAAM31J,EAAKR,EAAG8W,IACRo/I,EAAKC,EAAGr/I,IACd,OAAOtW,IAAO01J,GAAa11J,EAAG5rV,SAASshf,EACzC,EAEM46L,GAAU,SAAAvirB,GAAO,OAAImirB,GAAavpD,QAAQ54nB,EAAQuoW,IAAI9uC,cAAe,EACrE+oX,GAAkB,SAAAC,GAAG,OAAI9B,GAAa8B,GAAOA,EAAMF,GAAQE,EAAK,EAEhEltU,GAAc,SAAAv1W,GAAO,OAAImirB,GAAavpD,QAAQ4pD,GAAgBxirB,GAASuoW,IAAIgN,YAAa,EACxFjma,GAAS,SAAA0wD,GAAO,OAAIm5qB,EAASxquB,KAAKqxD,EAAQuoW,IAAIpnW,YAAY5oG,IAAI4pxB,GAAavpD,QAAS,EACpFrplB,GAAgB,SAAAvvC,GAAO,OAAIm5qB,EAASxquB,KAAKqxD,EAAQuoW,IAAIh5T,eAAeh3I,IAAI4pxB,GAAavpD,QAAS,EAC9F8pD,GAAY,SAAC1irB,EAASwlR,GAI1B,IAHA,IAAM5vX,EAAOg+C,EAAW4xU,GAAUA,EAAS0zZ,EACvC3wU,EAAMvoW,EAAQuoW,IACZn9Z,EAAM,GACc,OAAnBm9Z,EAAIpnW,iBAA0CryG,IAAnBy5c,EAAIpnW,YAA0B,CAC9D,IAAMwhrB,EAAYp6U,EAAIpnW,WAChBr5G,EAAIq6xB,GAAavpD,QAAQ+pD,GAE/B,GADAv3uB,EAAIl+C,KAAKpF,IACO,IAAZ8N,EAAK9N,GACP,MAEAygd,EAAMo6U,CAEV,CACA,OAAOv3uB,CACT,EAKMk3rB,GAAc,SAAAtioB,GAAO,OAAIm5qB,EAASxquB,KAAKqxD,EAAQuoW,IAAIj0B,iBAAiB/7a,IAAI4pxB,GAAavpD,QAAS,EAC9FzqX,GAAc,SAAAnuQ,GAAO,OAAIm5qB,EAASxquB,KAAKqxD,EAAQuoW,IAAIp6F,aAAa51W,IAAI4pxB,GAAavpD,QAAS,EAC1FgqD,GAAe,SAAA5irB,GAAO,OAAIv5C,GAAQogL,GAAQ7mI,EAASsioB,IAAc,EACjEugD,GAAe,SAAA7irB,GAAO,OAAI6mI,GAAQ7mI,EAASmuQ,GAAa,EACxD20a,GAAa,SAAA9irB,GAAO,OAAI+5qB,GAAM/5qB,EAAQuoW,IAAIx+a,WAAYo4vB,GAAavpD,QAAS,EAC5EpvpB,GAAU,SAACw2B,EAASxsG,GACxB,IAAMi8Z,EAAKzvT,EAAQuoW,IAAIx+a,WACvB,OAAOovvB,EAASxquB,KAAK8gX,EAAGj8Z,IAAQ+E,IAAI4pxB,GAAavpD,QACnD,EACMx5kB,GAAa,SAAAp/C,GAAO,OAAIx2B,GAAQw2B,EAAS,EAAG,EAC5C+H,GAAY,SAAA/H,GAAO,OAAIx2B,GAAQw2B,EAASA,EAAQuoW,IAAIx+a,WAAWniC,OAAS,EAAG,EAC3Em7xB,GAAkB,SAAA/irB,GAAO,OAAIA,EAAQuoW,IAAIx+a,WAAWniC,MAAO,EAW3D2tX,GAAe,SAAAkta,GAAG,OAAI7B,GAAqB6B,IAAQlK,EAAckK,EAAIl6U,IAAIn9b,KAAM,EAC/E+nuB,GAAYv/rB,EAAW0yN,QAAQl/Q,UAAUkvO,eAAiB1iL,EAAW4sD,KAAKp5G,UAAUkmI,aACpF01pB,GAAgBjwO,EAASogM,IACzB7lnB,GAAc6lnB,GAAY,SAAAntvB,GAAC,OAAIm8xB,GAAavpD,QAAQ5yuB,EAAEuid,IAAIj7U,cAAc,EAAGk1pB,GAC3ES,GAAoB,SAAAR,GAAG,OAAIlta,GAAakta,GAAOA,EAZrC,SAAAhse,GACd,IAAM9nT,EAAI8nT,EAAI8xJ,IAAIr5Z,KAClB,GAAIvgD,QACF,MAAM,IAAI7F,MAAM,6BAElB,OAAOq5xB,GAAavpD,QAAQjquB,EAC9B,CAM2Du0xB,CAAQV,GAAgBC,GAAM,EAMnFU,GAAgB,SAAAn9xB,GAAC,OAAIm8xB,GAAavpD,QAAQ5yuB,EAAEuid,IAAIn9b,KAAM,EACtDg4wB,GAAyB,SAAAnxxB,GAC7B,GAAI+wxB,MAAmBzK,EAActmxB,EAAMC,QAAS,CAClD,IAAM80B,EAAKm7vB,GAAavpD,QAAQ3muB,EAAMC,QACtC,GAAIuuxB,GAAYz5vB,IAAOq8vB,GAAiBr8vB,IAClC/0B,EAAMypO,UAAYzpO,EAAM4d,aAAc,CACxC,IAAMA,EAAe5d,EAAM4d,eAC3B,GAAIA,EACF,OAAOq/B,GAAKr/B,EAEhB,CAEJ,CACA,OAAOspwB,EAASxquB,KAAK18C,EAAMC,OAC7B,EACMmxxB,GAAmB,SAAArjrB,GAAO,OAAIu4qB,EAAcv4qB,EAAQuoW,IAAI/8b,WAAY,EAEpE83wB,GAAS,SAAAtjrB,GACb,IAAMuoW,EAAMm4U,GAAS1grB,GAAWA,EAAQuoW,IAAIpnW,WAAanB,EAAQuoW,IACjE,GAAIA,SAA2D,OAAtBA,EAAI9uC,cAC3C,OAAO,EAET,IA1BoBzza,EACdgtD,EAyBAyjQ,EAAM8xJ,EAAI9uC,cAChB,OA3BoBzza,EA2BCm8xB,GAAavpD,QAAQrwR,GA1BpCv1Z,EAAIs6E,GAAYtnI,GACfuvX,GAAaviU,GAAKmmuB,EAASpyvB,KAAKisB,GAAKmmuB,EAAS/gX,QAyBLyhU,KAAK,kBAAMpjb,EAAIx0P,KAAKokD,SAASkiW,EAAI,EAAEmwU,EAAS4K,GAAQH,IACtG,EAEII,GAAoB,SAAC1lvB,EAAIonG,EAAU8vL,EAAOrmU,EAAG82X,GAC/C,OAAI3nV,EAAGk3R,EAAOrmU,GACLyqxB,EAASpyvB,KAAKguS,GACZnhR,EAAW4xU,IAAWA,EAAOzwD,GAC/Bokd,EAAS/gX,OAETnzR,EAAS8vL,EAAOrmU,EAAG82X,EAE9B,EAEMg+Z,GAAa,SAACzud,EAAO1lO,EAAWm2R,GAGpC,IAFA,IAAIxlR,EAAU+0N,EAAMwzI,IACd3yc,EAAOg+C,EAAW4xU,GAAUA,EAAS0zZ,EACpCl5qB,EAAQmB,YAAY,CACzBnB,EAAUA,EAAQmB,WAClB,IAAMn6E,EAAKm7vB,GAAavpD,QAAQ54nB,GAChC,GAAI3Q,EAAUroE,GACZ,OAAOmyvB,EAASpyvB,KAAKC,GAChB,GAAIpxB,EAAKoxB,GACd,KAEJ,CACA,OAAOmyvB,EAAS/gX,MAClB,EACMqrX,GAAY,SAAC1ud,EAAO1lO,EAAWm2R,GAEnC,OAAO+9Z,GADI,SAACp1xB,EAAGtE,GAAI,OAAKA,EAAKsE,EAAG,EACHq1xB,GAAYzud,EAAO1lO,EAAWm2R,EAC7D,EAQMj8S,GAAQ,SAACwrP,EAAO1lO,GAGpB,OADekrrB,GAAOxld,EAAMwzI,IAAIx+a,WADnB,SAAA6lB,GAAI,OAAIy/C,EAAU8yrB,GAAavpD,QAAQhprB,GAAO,GAE7Cr3C,IAAI4pxB,GAAavpD,QACjC,EACM8qD,GAAe,SAAC3ud,EAAO1lO,GAC3B,IAAMs0rB,EAAU,SAAA/zuB,GACd,IAAK,IAAIznD,EAAI,EAAGA,EAAIynD,EAAK7lB,WAAWniC,OAAQO,IAAK,CAC/C,IAAMohF,EAAQ44sB,GAAavpD,QAAQhprB,EAAK7lB,WAAW5hC,IACnD,GAAIknG,EAAU9lB,GACZ,OAAO4vsB,EAASpyvB,KAAKwiD,GAEvB,IAAMhvB,EAAMopuB,EAAQ/zuB,EAAK7lB,WAAW5hC,IACpC,GAAIoyD,EAAI69qB,SACN,OAAO79qB,CAEX,CACA,OAAO4+tB,EAAS/gX,MAClB,EACA,OAAOurX,EAAQ5ud,EAAMwzI,IACvB,EAEMq7U,GAAa,SAAC7ud,EAAOrzM,EAAU8jQ,GAAM,OAAKg+Z,GAAWzud,EAAO,SAAA/uU,GAAC,OAAIq8xB,GAAKr8xB,EAAG07H,EAAS,EAAE8jQ,EAAQ,EAC5Fq+Z,GAAe,SAAC9ud,EAAOrzM,GAAQ,OA1JzB,SAACA,EAAUqzM,GACrB,IAAMpgQ,OAAiB7lE,IAAVimU,EAAsB1lT,SAAW0lT,EAAMwzI,IACpD,OAAO+5U,GAAe3ttB,GAAQwktB,EAAS/gX,OAAS+gX,EAASxquB,KAAKgmB,EAAKlpD,cAAci2G,IAAWnpH,IAAI4pxB,GAAavpD,QAC/G,CAuJ0C9yR,CAAIpkV,EAAUqzM,EAAO,EACzD+ud,GAAY,SAAC/ud,EAAOrzM,EAAU8jQ,GAElC,OAAO+9Z,GADI,SAACvjrB,EAAS0hB,GAAQ,OAAK2gqB,GAAKrirB,EAAS0hB,EAAU,EAC7BkiqB,GAAY7ud,EAAOrzM,EAAU8jQ,EAC5D,EAGMu+Z,GAAe,SAAC/jrB,GAAqC,IADzC9tG,EACa8xxB,EAAc54xB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,IAAAA,UAAA,GAC3C,OAAIk4xB,GAAOtjrB,GACFA,EAAQuoW,IAAI07U,mBAHL/xxB,EAKG8tG,EALO8jrB,GAAU5xxB,EAAQ,sBAKhB2nuB,KAAK9mL,EAASixO,GAAiB,SAAAE,GAAQ,MAA2B,SAAvBC,GAASD,EAAoB,EAEtG,EACMC,GAAW,SAAAnkrB,GAAO,OAAIA,EAAQuoW,IAAIg4O,eAAgB,EAElD3rnB,GAAc,SAAA2zY,GAAG,YAAkBz5c,IAAdy5c,EAAIj/b,OAAuBsqC,EAAW20Z,EAAIj/b,MAAMQ,iBAAkB,EAEvFs6wB,GAAc,SAAC77U,EAAK3+b,EAAUnhB,GAClC,IAAK2zE,EAAS3zE,GAEZ,MADAvC,QAAQC,MAAM,qCAAsCyjB,EAAU,YAAanhB,EAAO,cAAe8/c,GAC3F,IAAIz/c,MAAM,+BAAiCL,GAE/CmsE,GAAY2zY,IACdA,EAAIj/b,MAAMgiI,YAAY1hI,EAAUnhB,EAEpC,EAMM47xB,GAAQ,SAACrkrB,EAASp2F,EAAUnhB,GAChC,IAAM8/c,EAAMvoW,EAAQuoW,IACpB67U,GAAY77U,EAAK3+b,EAAUnhB,EAC7B,EACMgqb,GAAS,SAACzyU,EAAS0mL,GACvB,IAAM6hL,EAAMvoW,EAAQuoW,IACpBuyU,GAAOp0f,EAAK,SAACz4O,EAAG1H,GACd69uB,GAAY77U,EAAKhia,EAAG0H,EACtB,EACF,EACMq2uB,GAAQ,SAACtkrB,EAASp2F,GACtB,IAAM2+b,EAAMvoW,EAAQuoW,IAEdv1Z,EADSjoD,OAAOigB,iBAAiBu9b,GACtBz+b,iBAAiBF,GAClC,MAAa,KAANopC,GAAaswuB,GAAOtjrB,GAA8ChtD,EAAnCuxuB,GAAkBh8U,EAAK3+b,EAC/D,EACM26wB,GAAoB,SAACh8U,EAAK3+b,GAAQ,OAAKgrD,GAAY2zY,GAAOA,EAAIj/b,MAAMQ,iBAAiBF,GAAY,EAAG,EACpGs4tB,GAAS,SAAClioB,EAASp2F,GACvB,IAAM2+b,EAAMvoW,EAAQuoW,IACdiU,EAAM+nU,GAAkBh8U,EAAK3+b,GACnC,OAAOuvwB,EAASxquB,KAAK6ta,GAAKr8b,OAAO,SAAA6yB,GAAC,OAAIA,EAAEprD,OAAS,CAAC,EACpD,EACM48xB,GAAY,SAAAxkrB,GAChB,IAAM0mL,EAAM,CAAC,EACP6hL,EAAMvoW,EAAQuoW,IACpB,GAAI3zY,GAAY2zY,GACd,IAAK,IAAIpgd,EAAI,EAAGA,EAAIogd,EAAIj/b,MAAM1hB,OAAQO,IAAK,CACzC,IAAMs8xB,EAAWl8U,EAAIj/b,MAAM2O,KAAK9vB,GAChCu+R,EAAI+9f,GAAYl8U,EAAIj/b,MAAMm7wB,EAC5B,CAEF,OAAO/9f,CACT,EACMg+f,GAAW,SAAC1krB,EAASp2F,IAtCJ,SAAC2+b,EAAK3+b,GACvBgrD,GAAY2zY,IACdA,EAAIj/b,MAAMwiJ,eAAeliJ,EAE7B,CAoCE+6wB,CADY3krB,EAAQuoW,IACA3+b,GAChBi2wB,GAAKqB,GAAOlhrB,EAAS,SAASznG,IAAIskxB,IAAS,KAC7CuE,GAASphrB,EAAS,QAEtB,EAGM4krB,GAAW,SAAC/7xB,EAAQm3G,GACP1wD,GAAOzmD,GACfk8D,KAAK,SAAA9W,GACZA,EAAEs6Z,IAAI3lW,aAAa5C,EAAQuoW,IAAK1/c,EAAO0/c,IACzC,EACF,EACMs8U,GAAU,SAACh8xB,EAAQm3G,GACPmuQ,GAAYtlX,GACpBgxuB,KAAK,WACMvqrB,GAAOzmD,GACfk8D,KAAK,SAAA9W,GACZ62uB,GAAS72uB,EAAG+xD,EACd,EACF,EAAG,SAAA/xD,GACD22uB,GAAS32uB,EAAG+xD,EACd,EACF,EACMp5C,GAAU,SAACtX,EAAQ0wD,GACFo/C,GAAW9vG,GACnBuqrB,KAAK,WAChBirD,GAASx1uB,EAAQ0wD,EACnB,EAAG,SAAA/xD,GACDqB,EAAOi5Z,IAAI3lW,aAAa5C,EAAQuoW,IAAKt6Z,EAAEs6Z,IACzC,EACF,EACMu8U,GAAW,SAACx1uB,EAAQ0wD,GACxB1wD,EAAOi5Z,IAAI1la,YAAYm9D,EAAQuoW,IACjC,EACMw8U,GAAS,SAAC/krB,EAASztD,GACvBqyuB,GAAS5krB,EAASztD,GAClBuyuB,GAASvyuB,EAASytD,EACpB,EAQMs/C,GAAS,SAAChwG,EAAQg0F,GACtB02oB,GAAO12oB,EAAU,SAAAplI,GACf4mxB,GAASx1uB,EAAQpxC,EACnB,EACF,EAEMsyC,GAAQ,SAAAwvD,GACZA,EAAQuoW,IAAIx0a,YAAc,GAC1BimvB,GAAO8I,GAAW9irB,GAAU,SAAAglrB,GAC1BC,GAASD,EACX,EACF,EACMC,GAAW,SAAAjlrB,GACf,IAAMuoW,EAAMvoW,EAAQuoW,IACG,OAAnBA,EAAIpnW,YACNonW,EAAIpnW,WAAW9zD,YAAYk7Z,EAE/B,EACMojD,GAAS,SAAAp5c,GACb,IAzBe1pD,EAAQy6I,EAyBjBj9D,EAAWy8sB,GAAWvwuB,GACxB8zB,EAASz+E,OAAS,IA1BPiB,EA2BL0pD,EA1BVynuB,GADuB12oB,EA2BJj9D,EA1BF,SAACnoE,EAAG/V,GACnB,IAAMnC,EAAU,IAANmC,EAAUU,EAASy6I,EAASn7I,EAAI,GAC1C08xB,GAAQ7+xB,EAAGkY,EACb,IAyBA+mxB,GAAS1yuB,EACX,EAQM2yuB,GAAY,SAAA5irB,GAAK,OAAIy3qB,GAAMz3qB,EAAO6/qB,GAAavpD,QAAS,EAExDusD,GAAQ,SAAAnlrB,GAAO,OAAIA,EAAQuoW,IAAI10a,SAAU,EACzCunD,GAAQ,SAAC4kB,EAAS/xF,GACtB,IACMm3wB,EADQ7C,GAAQvirB,GACDuoW,IACfrpT,EAAWijoB,GAAavpD,QAAQwsD,EAAO/ld,0BACvCgmd,EAbS,SAACjwa,EAAMrgD,GACtB,IACMnhS,GADMmhS,GAAS1lT,UACL6F,cAAc,OAE9B,OADA0e,EAAIC,UAAYuhV,EACT0ta,GAAWX,GAAavpD,QAAQhlsB,GACzC,CAQ0B6ksB,CAASxqtB,EAASm3wB,GAC1C9loB,GAAOJ,EAAUmmoB,GACjB70uB,GAAMwvD,GACN8krB,GAAS9krB,EAASk/C,EACpB,EAwBMomoB,GAAW,SAACnlwB,EAAQoxB,GAAO,OAAK,SAAAg0uB,GAChCplwB,EAAOolwB,IACTh0uB,EATiB,SAAAg0uB,GACnB,IAAMrzxB,EAASiwxB,GAAavpD,QAAQwqD,GAAuBmC,GAAUhtD,MAAMgtD,EAASrzxB,SAC9E0D,EAAO,WAAH,OAAS2vxB,EAAS/qwB,iBAAkB,EACxCs7N,EAAU,WAAH,OAASyviB,EAASj1wB,gBAAiB,EAC1CsttB,EAAO66C,EAAQ3iiB,EAASlgP,GAC9B,OAdc,SAAC1D,EAAQgM,EAAGC,EAAGvI,EAAMkgP,EAAS8nf,EAAMphR,GAAG,MAAM,CAC3Dtqd,SACAgM,IACAC,IACAvI,OACAkgP,UACA8nf,OACAphR,MACD,CAMQgpU,CAAQtzxB,EAAQqzxB,EAASj7wB,QAASi7wB,EAASh7wB,QAAS3U,EAAMkgP,EAAS8nf,EAAM2nD,EAClF,CAGYE,CAAaF,GAEzB,CAAE,EAQIG,GAAS,SAAC1lrB,EAAS/tG,EAAOkuB,EAAQoxB,GAAO,OAPhC,SAACyuD,EAAS/tG,EAAOkuB,EAAQoxB,EAASo0uB,GAC/C,IAAM52tB,EAAUu2tB,GAASnlwB,EAAQoxB,GAEjC,OADAyuD,EAAQuoW,IAAIp3b,iBAAiBlf,EAAO88D,EAAS42tB,GACtC,CACLlrD,OAAQtmL,EAAMsmL,GAAQz6nB,EAAS/tG,EAAO88D,EAAS42tB,GAEnD,CACoDpM,CAAOv5qB,EAAS/tG,EAAOkuB,EAAQoxB,GAAS,EAAO,EAC7FkprB,GAAS,SAACz6nB,EAAS/tG,EAAOs/C,EAASo0uB,GACvC3lrB,EAAQuoW,IAAIr3b,oBAAoBjf,EAAOs/C,EAASo0uB,EAClD,EAEM3yuB,GAAI,SAAC5tC,EAAME,GAEf,MAAO,CACLF,OACAE,MACAqmL,UAJgB,SAACztL,EAAGC,GAAC,OAAK60C,GAAE5tC,EAAOlH,EAAGoH,EAAMnH,EAAG,EAMnD,EACMynxB,GAAgB5yuB,GAMhB6yuB,GAAqB,SAACn3xB,EAAGC,GAC7B,YAAUG,IAANJ,EACKA,OAEMI,IAANH,EAAkBA,EAAI,CAEjC,EAeMuhP,GAAW,SAAAlwI,GACf,IAAMuoW,EAAMvoW,EAAQuoW,IAEdtmZ,EADMsmZ,EAAI9uC,cACCx3W,KACjB,OAAIA,IAASsmZ,EACJq9U,GAAc3juB,EAAK/vB,WAAY+vB,EAAKhwB,WAExCqxvB,GAAOtjrB,GAhCM,SAAAuoW,GAClB,IAAM58N,EAAM48N,EAAI1ic,wBAChB,OAAO+/wB,GAAcj6iB,EAAIvmO,KAAMumO,EAAIrmO,IACrC,CAgCSwgxB,CAAYv9U,GAFVq9U,GAAc,EAAG,EAG5B,EAEMG,GAAQ,SAAAC,GACZ,IAAMvve,OAAe3nT,IAATk3xB,EAAqBA,EAAKz9U,IAAMl5b,SACtCnR,EAAIu4S,EAAIx0P,KAAK4pL,YAAc4qE,EAAInnS,gBAAgBu8N,WAC/C1tO,EAAIs4S,EAAIx0P,KAAK2pL,WAAa6qE,EAAInnS,gBAAgBs8N,UACpD,OAAOg6iB,GAAc1nxB,EAAGC,EAC1B,EACM6nE,GAAK,SAAC9nE,EAAGC,EAAG6nxB,GAChB,IACM1nmB,QADexvL,IAATk3xB,EAAqBA,EAAKz9U,IAAMl5b,UAC5Bkmc,YACZj3R,GACFA,EAAIq6hB,SAASz6sB,EAAGC,EAEpB,EACM8nxB,GAAW,SAACjmrB,EAASkmrB,GACRvH,KAAW/urB,QAAQm9L,YACpBn5O,EAAWosD,EAAQuoW,IAAI49U,wBACrCnmrB,EAAQuoW,IAAI49U,wBAAuB,GAEnCnmrB,EAAQuoW,IAAInpM,eAAe8mhB,EAE/B,EAUM59nB,GAAS,SAACpqJ,EAAGC,EAAG4J,EAAOE,GAAM,MAAM,CACvC/J,IACAC,IACA4J,QACAE,SACA5C,MAAOnH,EAAI6J,EACXxC,OAAQpH,EAAI8J,EACb,EACKm+wB,GAAY,SAAAh3Q,GAChB,IAAM9wV,OAAexvL,IAATsghB,EAAqBrkhB,OAASqkhB,EACpC34N,EAAMn4H,EAAIjvK,SACVk8N,EAASw6iB,GAAM5D,GAAavpD,QAAQnib,IAC1C,OApBY,SAAA24N,GACZ,IAAM9wV,OAAexvL,IAATsghB,EAAqBrkhB,OAASqkhB,EAC1C,OAAIuvQ,KAAW/urB,QAAQwpoB,YACd+/C,EAAS/gX,OAET+gX,EAASxquB,KAAK2vI,EAAI+nmB,eAE7B,CAaSC,CAAMhomB,GAAKu7iB,KAAK,WACrB,IAAMzkX,EAAO92L,EAAIjvK,SAASC,gBACpBvH,EAAQqtW,EAAK7lW,YACbtH,EAASmtW,EAAK5lW,aACpB,OAAO84I,GAAOijF,EAAOnmO,KAAMmmO,EAAOjmO,IAAKyC,EAAOE,EAChD,EAAG,SAAAo+wB,GAAc,OAAI/9nB,GAAOxiJ,KAAKiL,IAAIs1wB,EAAeE,SAAUh7iB,EAAOnmO,MAAOU,KAAKiL,IAAIs1wB,EAAeG,QAASj7iB,EAAOjmO,KAAM+gxB,EAAet+wB,MAAOs+wB,EAAep+wB,OAAO,EACxK,EAGMw+wB,GAAgB,SAAC1xd,EAAO1lO,GAC5B,IAAIhmG,EAAS,GAOb,OANA2wxB,GAAO8I,GAAW/td,GAAQ,SAAA72T,GACpBmxF,EAAUnxF,KACZ7U,EAASA,EAAOuB,OAAO,CAACsT,KAE1B7U,EAASA,EAAOuB,OAAO67xB,GAAcvoxB,EAAGmxF,GAC1C,GACOhmG,CACT,EAEMsgL,GAAc,SAACorJ,EAAOrzM,GAAQ,OAjdxB,SAACA,EAAUqzM,GACrB,IAAMpgQ,OAAiB7lE,IAAVimU,EAAsB1lT,SAAW0lT,EAAMwzI,IACpD,OAAO+5U,GAAe3ttB,GAAQ,GAAKoltB,GAAMpltB,EAAKquC,iBAAiB0e,GAAWygqB,GAAavpD,QACzF,CA8cyC9juB,CAAI4sH,EAAUqzM,EAAO,EAExD2xd,GAAa,SAAC3xd,EAAOrzM,EAAU8jQ,GAAM,OAAKo+Z,GAAW7ud,EAAOrzM,EAAU8jQ,GAAQ4yW,QAAS,EAEvFuuD,GAAa,WAQhB,OAAAzkxB,EAPD,SAAAykxB,EAAYz+V,EAAWjtQ,GAAU15K,EAAA,KAAAolxB,GAC/Bv9xB,KAAKwmD,KAAOs4Y,EACZ9+b,KAAK6xL,SAAWA,EAChB7xL,KAAK2qJ,QAAU3qJ,KAAK2qJ,QAAQhmF,KAAK3kE,MACjCA,KAAKoM,KAAOpM,KAAKoM,KAAKu4D,KAAK3kE,MAC3BA,KAAKmM,KAAOnM,KAAKmM,KAAKw4D,KAAK3kE,MAC3BA,KAAKw9xB,MAAQx9xB,KAAKw9xB,MAAM74tB,KAAK3kE,KAC/B,EAAC,EAAAsB,IAAA,UAAAjC,MACD,WACE,OAAOW,KAAKwmD,IACd,GAAC,CAAAllD,IAAA,OAAAjC,MACD,SAAKo+xB,GAEH,OADAz9xB,KAAKwmD,KAAOxmD,KAAK09xB,YAAY19xB,KAAKwmD,KAAM,aAAc,cAAei3uB,GAC9Dz9xB,KAAKwmD,IACd,GAAC,CAAAllD,IAAA,OAAAjC,MACD,SAAKo+xB,GAEH,OADAz9xB,KAAKwmD,KAAOxmD,KAAK09xB,YAAY19xB,KAAKwmD,KAAM,YAAa,kBAAmBi3uB,GACjEz9xB,KAAKwmD,IACd,GAAC,CAAAllD,IAAA,QAAAjC,MACD,SAAMo+xB,GAEJ,OADAz9xB,KAAKwmD,KAAOxmD,KAAK29xB,iBAAiB39xB,KAAKwmD,KAAMi3uB,GACtCz9xB,KAAKwmD,IACd,GAAC,CAAAllD,IAAA,cAAAjC,MACD,SAAYmnD,EAAMo3uB,EAAWC,EAAaJ,GACxC,GAAIj3uB,EAAM,CACR,IAAKi3uB,GAAWj3uB,EAAKo3uB,GACnB,OAAOp3uB,EAAKo3uB,GAEd,GAAIp3uB,IAASxmD,KAAK6xL,SAAU,CAC1B,IAAI4hgB,EAAUjtoB,EAAKq3uB,GACnB,GAAIpqG,EACF,OAAOA,EAET,IAAK,IAAIvtoB,EAASM,EAAKuxD,WAAY7xD,GAAUA,IAAWlmD,KAAK6xL,SAAU3rI,EAASA,EAAO6xD,WAErF,GADA07kB,EAAUvtoB,EAAO23uB,GAEf,OAAOpqG,CAGb,CACF,CAEF,GAAC,CAAAnyrB,IAAA,mBAAAjC,MACD,SAAiBmnD,EAAMi3uB,GACrB,GAAIj3uB,EAAM,CACR,IAAMitoB,EAAUjtoB,EAAK0kY,gBACrB,GAAIlrb,KAAK6xL,UAAY4hgB,IAAYzzrB,KAAK6xL,SACpC,OAEF,GAAI4hgB,EAAS,CACX,IAAKgqG,EACH,IAAK,IAAIt9sB,EAAQszmB,EAAQ90kB,UAAWx+B,EAAOA,EAAQA,EAAMw+B,UACvD,IAAKx+B,EAAMw+B,UACT,OAAOx+B,EAIb,OAAOszmB,CACT,CACA,IAAMvtoB,EAASM,EAAKuxD,WACpB,GAAI7xD,GAAUA,IAAWlmD,KAAK6xL,SAC5B,OAAO3rI,CAEX,CAEF,IAAC,CAlEgB,GAqEb43uB,GAAa,SAAA/9xB,GACjB,OAAO,SAAAymD,GACL,QAASA,GAAQA,EAAKwkC,WAAajrF,CACrC,CACF,EACMg+xB,GAAmB,SAAAv3uB,GAAI,QAAMA,IAASzoD,OAAOuhD,eAAekH,EAAM,EAClEw3uB,GAAcF,GAAW,GACzBG,GAAgB,SAAAz3uB,GAAI,OAAIw3uB,GAAYx3uB,IAAS4wuB,GAAgB2B,GAAavpD,QAAQhprB,GAAO,EAEzF03uB,GAAgB,SAAArhyB,GACpB,IAAMshyB,EAAiBthyB,EAAK6iB,cAC5B,OAAO,SAAA8mC,GAAI,OAAI2ouB,EAAc3ouB,IAASA,EAAK6yD,SAAS35F,gBAAkBy+wB,CAAe,CACvF,EACMC,GAAiB,SAAAzqvB,GACrB,IAAM0qvB,EAAkB1qvB,EAAMxkC,IAAI,SAAApK,GAAC,OAAIA,EAAE2a,aAAa,GACtD,OAAO,SAAA8mC,GACL,GAAIA,GAAQA,EAAK6yD,SAAU,CACzB,IAAMA,EAAW7yD,EAAK6yD,SAAS35F,cAC/B,OAAOgxwB,GAAW2N,EAAiBhlrB,EACrC,CACA,OAAO,CACT,CACF,EACMilrB,GAAmB,SAACzhyB,EAAM+jD,GAC9B,IAAM38B,EAAQ28B,EAAOlhC,cAAciuB,MAAM,KACzC,OAAO,SAAA6Y,GACL,GAAIw3uB,GAAYx3uB,GAAO,CACrB,IAAM0uI,EAAM1uI,EAAK6pX,cAAc87C,YAC/B,GAAIj3R,EACF,IAAK,IAAIn2L,EAAI,EAAGA,EAAIklB,EAAMzlB,OAAQO,IAAK,CACrC,IAAMuuG,EAAW4nF,EAAItzK,iBAAiB4kC,EAAM,MAE5C,IADiB8mD,EAAWA,EAAS5sF,iBAAiB7jB,GAAQ,QAC7ConB,EAAMllB,GACrB,OAAO,CAEX,CAEJ,CACA,OAAO,CACT,CACF,EACMg4G,GAAe,SAAAi3M,GACnB,OAAO,SAAAxnQ,GACL,OAAOw3uB,GAAYx3uB,IAASA,EAAKuwD,aAAai3M,EAChD,CACF,EAMMuwe,GAAY,SAAA/3uB,GAAI,OAAIw3uB,GAAYx3uB,IAASA,EAAKuwD,aAAa,iBAAkB,EAE7EynrB,GAAY,SAAAh4uB,GAAI,OAAIw3uB,GAAYx3uB,IAA0B,UAAjBA,EAAKt+B,OAAoB,EAClEu2wB,GAA0B,SAAAp/xB,GAC9B,OAAO,SAAAmnD,GACL,GAAIy3uB,GAAcz3uB,GAAO,CACvB,GAAIA,EAAK2woB,kBAAoB93rB,EAC3B,OAAO,EAET,GAAImnD,EAAKqwD,aAAa,8BAAgCx3G,EACpD,OAAO,CAEX,CACA,OAAO,CACT,CACF,EACMq/xB,GAAoBN,GAAe,CAAC,WAAY,UAChDO,GAAWb,GAAW,GACtBc,GAAUd,GAAW,GACrBe,GAAOf,GAAW,GAClB14a,GAAY04a,GAAW,GACvBgB,GAAehB,GAAW,GAC1BiB,GAAqBjB,GAAW,IAChCkB,GAASd,GAAc,MACvBe,GAAQf,GAAc,OACtBgB,GAA0BT,GAAwB,QAClDU,GAA2BV,GAAwB,SACnDW,GAAgBhB,GAAe,CAAC,KAAM,OACtCiB,GAAuBjB,GAAe,CAAC,KAAM,KAAM,YACnDkB,GAAYlB,GAAe,CAAC,QAAS,QAAS,SAAU,UACxDmB,GAAerB,GAAc,MAC7BsB,GAAYtB,GAAc,WAC1BuB,GAAcvB,GAAc,WAE5BwB,GAAY,SACZC,GAAO,OACPC,GAAW,SAAAngtB,GAAI,OAAIA,IAASigtB,EAAU,EAwBtCG,GArBY,SAACprvB,EAAI53C,GACrB,IAMMuyuB,EAAY,SAAAx4nB,GAAO,OAAIniE,EAAGmiE,GAAWm5qB,EAASxquB,KAAKqxD,EAAQuoW,IAAIp0F,WAAagla,EAAS/gX,MAAO,EAOlG,MAAO,CACLxqa,IAdU,SAAAoyG,GACV,IAAKniE,EAAGmiE,GACN,MAAM,IAAIl3G,MAAM,gBAAkB7C,EAAO,eAAiBA,EAAO,SAEnE,OAAOuyuB,EAAUx4nB,GAASu4nB,MAAM,GAClC,EAUEC,YACA7quB,IATU,SAACqyG,EAASv3G,GACpB,IAAKo1C,EAAGmiE,GACN,MAAM,IAAIl3G,MAAM,oBAAsB7C,EAAO,eAAiBA,EAAO,SAEvE+5G,EAAQuoW,IAAIp0F,UAAY1rX,CAC1B,EAMF,CAEcygyB,CAAUxI,GAAU,QAC5ByI,GAAQ,SAAAnprB,GAAO,OAAIiprB,GAAMr7xB,IAAIoyG,EAAS,EACtCw4nB,GAAY,SAAAx4nB,GAAO,OAAIiprB,GAAMzwD,UAAUx4nB,EAAS,EAShDoprB,GAAa,SAAA/7wB,GACjB,IAAI4nC,EACJ,OAAO,SAAArF,GAEL,OADAqF,EAASA,GAAkByluB,GAAYrtwB,EAAO01V,GACvCy4a,GAAMvmuB,EAAQhvD,GAAK2pD,GAC5B,CACF,EAEMy5uB,GAAS,SAAAz5uB,GAAI,OAAI6wuB,GAAY7wuB,IAAwB,OAAf3pD,GAAK2pD,EAAe,EAC1D05uB,GAAgBF,GAbH,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,MAAO,UAAW,MAAO,OAAQ,aAAc,SAAU,MAAO,WAAY,SAAU,SAAU,UAAW,UAAW,SAAU,QAAS,MAAO,WAcvMG,GAASH,GAZD,CAAC,KAAM,KAAM,OAarBI,GAAeJ,GAdD,CAAC,KAAM,KAAM,OAe3BK,GAAiBL,GAjBD,CAAC,QAAS,QAAS,UAkBnCM,GAAgBN,GAnBH,CAAC,KAAM,OAoBpBO,GAAsBP,GAfT,CAAC,MAAO,SAAU,WAAY,UA0B3CQ,GAAmB,SAAAhxwB,GACvB,IAAMixwB,EAASlgnB,GAAY/wJ,EAAK,MAC1BkxwB,EAAM3P,GAXY,SAAAvhwB,GAGxB,IAFA,IAAMytD,EAAW,GACb0jtB,EAAUnxwB,EAAI2vb,IACXwhV,GACL1jtB,EAASn5E,KAAKi1xB,GAAavpD,QAAQmxD,IACnCA,EAAUA,EAAQhirB,UAEpB,OAAO1hC,CACT,CAGuB2jtB,CAAkBpxwB,GAAK5a,OAAO,GAAIqrxB,IACnDQ,EAAOjiyB,SAAWkiyB,EAAIliyB,QACxBoyxB,GAAO8P,EAAK7E,GAEhB,EACMgF,GAAkB,WACtB,IAAMloY,EAAKogY,GAAazpD,QAAQ,MAEhC,OADAqoD,GAAMh/X,EAAI,iBAAkB,KACrBA,CACT,EACMmoY,GAAoB,SAAAtxwB,GACxB43B,GAAM53B,GACNkswB,GAASlswB,EAAKqxwB,KAChB,EAWME,GAASrB,GACTsB,GAAWpB,GACXqB,GAvFa,SAAAl8xB,GAAC,OAAIA,EAAE0a,QAAQ,UAAW,GAAI,EA4F3CyhxB,GAAclD,GACdmD,GAAWxC,GACXyC,GAA0B,SAAA56uB,GAI9B,OAHI26uB,GAAS36uB,KACXA,EAAOA,EAAKuxD,YAEPmprB,GAAY16uB,IAASA,EAAKuwD,aAAa,iBAChD,EACMsqrB,GAAyB,SAAA76uB,GAAI,OAAI26uB,GAAS36uB,IAASw6uB,GAASx6uB,EAAKriD,KAAM,EACvEm9xB,GAAqB,SAAA96uB,GAAI,OAAI46uB,GAAwB56uB,IAAS66uB,GAAuB76uB,EAAM,EAC3F+sY,GAAa,SAAA/sY,GAAI,OAAIA,EAAKwvG,aAAexvG,EAAKm4D,YAAcqgrB,GAAOx4uB,EAAKwvG,WAAY,EAoCpFuroB,GAAiB,SAAAzgvB,GACrB,IAAMm5C,EAAYn5C,EAAIm5C,YACtB,QAAK0ksB,GAAS1ksB,KAGPA,EAAU91F,KAAKu0C,OAAOoI,EAAIt/B,YAAcu/wB,IAAUjgvB,EAAI0gvB,aAAeH,GAAuBpnsB,EAAUixV,iBAC/G,EACMu2W,GAAgB,SAAA3gvB,GACpB,IAAMm5C,EAAYn5C,EAAIm5C,YACtB,QAAK0ksB,GAAS1ksB,KAGPA,EAAU91F,KAAKu0C,OAAOoI,EAAIt/B,SAAW,KAAOu/wB,IAAUjgvB,EAAI4gvB,WAAaL,GAAuBpnsB,EAAU8qR,aACjH,EAoBM48a,GAA6B,SAAAn7uB,GAAI,OAAI26uB,GAAS36uB,IAASA,EAAKriD,KAAK,KAAO48xB,EAAO,EAC/Ea,GAA2B,SAAAp7uB,GAAI,OAAI26uB,GAAS36uB,IAASA,EAAKriD,KAAKqiD,EAAKriD,KAAK3F,OAAS,KAAOuiyB,EAAO,EAShGc,GAA0B,SAAAC,GAC9B,OAAIA,GAAkBA,EAAe/qrB,aAAa,mBAP5C2prB,EAQQoB,EARElhwB,qBAAqB,MAC/BmhwB,EAASrB,EAAIA,EAAIliyB,OAAS,GAC5B+/xB,GAAUwD,KACiB,QAA5Bl5uB,EAAKk5uB,EAAOhqrB,kBAAoC,IAAZlvD,GAAyBA,EAAG5E,YAAY89uB,IAM7ED,EAAeltrB,gBAAgB,kBAC/BktrB,EAAeltrB,gBAAgB,kBAC/BktrB,EAAeltrB,gBAAgB,SAC/BktrB,EAAeltrB,gBAAgB,kBAC/BktrB,EAAeltrB,gBAAgB,eACxBktrB,GAEF,KAlBW,IACdj5uB,EACE63uB,EACAqB,CAgBR,EACMC,GAA+B,SAAA9wX,GAAK,OAAIkwX,GAAwBlwX,EAAM+gU,eAAgB,EAEtFgwD,GAA0B/C,GAC1BgD,GAA2B/C,GAC3BgD,GAASnD,GACToD,GAAWzD,GACX0D,GAAuBjE,GAAe,CAAC,SAAU,QAAS,aAC1DkE,GAAiBlE,GAAe,CAAC,MAAO,QAAS,WAAY,KAAM,SAAU,QAAS,QAAS,SAAU,UACzGmE,GAAUnE,GAAe,CAAC,UAC1BoE,GAAqBlB,GACrBmB,GAAqB,SAAAj8uB,GACzB,OAAIg8uB,GAAmBh8uB,KAGnB47uB,GAAS57uB,IACH67uB,GAAqB77uB,EAAKuxD,YAE7BuqrB,GAAe97uB,IAAS27uB,GAAO37uB,IAAS+7uB,GAAQ/7uB,IAASk8uB,GAA4Bl8uB,GAC9F,EAEMk8uB,GAA8B,SAAAl8uB,GAAI,OADjB,SAAAA,GAAI,OAAIw3uB,GAAYx3uB,IAA+C,SAAtCA,EAAKqwD,aAAa,eAA2B,CACpD8rrB,CAAen8uB,IAAS07uB,GAAyB17uB,EAAM,EAqB9Fo8uB,GAA6B,SAACp8uB,EAAM2hC,GAAI,OAAKs6sB,GAAmBj8uB,IApBjD,SAACA,EAAM2hC,GAC1B,IAAK,IAAI06sB,EAAWr8uB,EAAKuxD,WAAY8qrB,GAAYA,IAAa16sB,EAAM06sB,EAAWA,EAAS9qrB,WAAY,CAClG,GAAI2qrB,GAA4BG,GAC9B,OAAO,EAET,GAAIZ,GAAwBY,GAC1B,OAAO,CAEX,CACA,OAAO,CACT,CAU+EC,CAAat8uB,EAAM2hC,EAAM,EAElG46sB,GAAmB,eACnBC,GAAmB,SAAAruwB,GAAI,OAAIouwB,GAAiBtiyB,KAAKk0B,EAAM,EACvDsuwB,GAAS,SAAAtuwB,GAAS,IACFhwB,EADCE,EAAAC,EACL6vB,GAAI,IAApB,IAAA9vB,EAAAE,MAAAJ,EAAAE,EAAAG,KAAAC,MAAsB,CAAC,IAAZgvC,EAACtvC,EAAAtF,MACV,IAAKugyB,GAAS3rvB,GACZ,OAAO,CAEX,CAAC,OAAA/uC,GAAAL,EAAAjI,EAAAsI,EAAA,SAAAL,EAAAM,GAAA,CACD,OAAO,CACT,EAEM+9xB,GAAgB,SAAAjvvB,GAAC,MAAU,OAANA,GAAoB,OAANA,CAAW,EAE9CkvvB,GAAc,SAACxuwB,GAAyE,IAApDyuwB,IAAgBphyB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,KAAAA,UAAA,GAASqhyB,IAAcrhyB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,KAAAA,UAAA,GACzEshyB,EAt6CO,SAACv+xB,EAAGmF,GAAK,OAAKA,GAAS,EAAI,GAAK,IAAIuK,MAAMvK,EAAQ,GAAG4hD,KAAK/mD,EAAG,CAs6CzD66E,CAAO,IADU59E,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,GAE/BuhyB,EAAiB5uwB,EAAKlV,QAAQ,MAAO6jxB,GACrCrjyB,EAASgxxB,GAAMsS,EAAgB,SAAC7psB,EAAKzlD,GACzC,OAP8B,SAAAA,GAAC,OAAgC,IAA5B,UAAYj1C,QAAQi1C,EAAU,CAO7DuvvB,CAA0BvvvB,IAAMA,IAAM0rvB,GACpCjmsB,EAAI4vpB,WAAyB,KAAZ5vpB,EAAI55F,KAAcsjyB,GAAoB1psB,EAAI55F,IAAItB,SAAW+kyB,EAAe/kyB,OAAS,GAAK6kyB,GAN/F,SAAC1uwB,EAAMksC,GAAG,OAAKA,EAAMlsC,EAAKn2B,QAAUqiE,GAAO,GAAIqiuB,GAAcvuwB,EAAKksC,GAAc,CAMiC4iuB,CAAUF,EAAgB7psB,EAAI55F,IAAItB,OAAS,GAC/J,CACL8qvB,WAAW,EACXxpvB,IAAK45F,EAAI55F,IAAM6/xB,IAGV,CACLr2C,WAAW,EACXxpvB,IAAK45F,EAAI55F,IAAM,KAIZ,CACLwpvB,UAAW45C,GAAcjvvB,GACzBn0C,IAAK45F,EAAI55F,IAAMm0C,EAGrB,EAAG,CACDq1sB,WAAW,EACXxpvB,IAAK,KAEP,OAAOG,EAAOH,GAChB,EAOM4jyB,GAAiB,SAACl9uB,EAAMqrI,GAC5B,OAAO8smB,GAASn4uB,IAASw8uB,GAAiBx8uB,EAAKriD,QANb,SAACqiD,EAAMqrI,GACzC,IAAM97B,EAAcgjoB,GAAavpD,QAAQ39iB,GACnCitQ,EAAYi6V,GAAavpD,QAAQhprB,GACvC,OAAO82uB,GAAWx+V,EAAW,WAAYisH,EAAMnje,GAAImuE,GACrD,CAE2D4toB,CAA4Bn9uB,EAAMqrI,EAC7F,EAIM+xmB,GAAc,SAACp9uB,EAAMqrI,GACzB,OAAO4wmB,GAAmBj8uB,KAAUk9uB,GAAel9uB,EAAMqrI,IAJrC,SAAArrI,GACpB,OAAOw3uB,GAAYx3uB,IAA2B,MAAlBA,EAAK6yD,WAAqB7yD,EAAKuwD,aAAa,UAAYvwD,EAAKuwD,aAAa,SAAWvwD,EAAKuwD,aAAa,MACrI,CAEwE8srB,CAAcr9uB,IAASs9uB,GAAWt9uB,EAC1G,EACMs9uB,GAAa/srB,GAAa,qBAC1BgtrB,GAAYhtrB,GAAa,kBACzBitrB,IAhVqBh2e,GAgVU,iBAhVAkub,GAgVkB,MA/U9C,SAAA11rB,GACL,OAAOw3uB,GAAYx3uB,IAASA,EAAKqwD,aAAam3M,MAAckub,EAC9D,GA8UI+nD,GAAuB,SAAAz9uB,GAAI,OAAI2/F,GAAc4yoB,GAAavpD,QAAQhprB,IAAO6va,OAAO,SAAAnwa,GAAM,OAAKy0uB,GAAaz0uB,EAAO,EAAE,EAsCjHg+uB,GAAY,SAAC10wB,GAAG,IAAE20wB,IAASniyB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,KAAAA,UAAA,GAAO,OArCpB,SAAC2vH,EAAYwyqB,GAC/B,IAAIC,EAAU,EACd,GAAIR,GAAYjyqB,EAAYA,GAC1B,OAAO,EAEP,IAAInrE,EAAOmrE,EAAWqkC,WACtB,IAAKxvG,EACH,OAAO,EAET,IAAM69uB,EAAS,IAAI9G,GAAc/2uB,EAAMmrE,GACvC,EAAG,CACD,GAAIwyqB,EAAW,CACb,GAAIH,GAAWx9uB,GAAO,CACpBA,EAAO69uB,EAAOj4xB,MAAK,GACnB,QACF,CACA,GAAI23xB,GAAUv9uB,GAAO,CACnBA,EAAO69uB,EAAOj4xB,OACd,QACF,CACF,CACA,GAAI8yxB,GAAwB14uB,IAASy9uB,GAAqBz9uB,GACxD,OAAO,EAET,GAAIw4uB,GAAOx4uB,GACT49uB,IACA59uB,EAAO69uB,EAAOj4xB,WAFhB,CAKA,GAAIw3xB,GAAYp9uB,EAAMmrE,GACpB,OAAO,EAETnrE,EAAO69uB,EAAOj4xB,MAJd,CAKF,OAASo6C,GACT,OAAO49uB,GAAW,CAEtB,CAC6CE,CAAY90wB,EAAI2vb,IAAKglV,EAAW,EAEvEI,GAA2B,SAAA1nyB,GAAI,MAA2B,QAAvBA,EAAK6iB,aAAwB,EAChE8kxB,GAAuB,SAAAh+uB,GAAI,OAAI+9uB,GAAyB/9uB,EAAK6yD,SAAU,EACvEorrB,GAAc,SAAAj+uB,GAAI,MAAoE,SAA/DA,aAAwC,EAAIA,EAAK6yD,UAAsB,MAAQ,MAAO,EAC7GqrrB,GAAoB,CAAC,OA0BrBC,GAAuB,iBAEvBC,GAA4B,SAAAz1xB,GAAG,OAAIwhxB,GADpB,SAAAxhxB,GAAG,OAAI4hxB,GAASptxB,GAAKwL,GAAM,SAAA7N,GAAG,OAAK,QAAQb,KAAKa,EAAI,EAAE,CAC5BujyB,CAAa11xB,GAAM,SAAAtS,GAChE,MAAO,GAAG2E,OAAO3E,EAAM,KAAO8zxB,GAAM+T,GAAmB,SAAA77a,GAAE,MAAI,OAAOrnX,OAAOqnX,EAAI,KAAKrnX,OAAO3E,EAAM,IAAI,GAAEivD,KAAK,IAC9G,GAAGA,KAAK,IAAK,EACPg5uB,GAAoB,SAACC,EAAgBC,GACzC,OAAI7V,EAAc6V,EAAY3ixB,cAAc0ixB,KAC1CC,EAAYhurB,aAAa2trB,GAAsB,QACO,oBAAlDK,EAAYnurB,aAAa,sBAC3BmurB,EAAYpwrB,gBAAgB,sBAEvB,IAEPowrB,EAAYpwrB,gBAAgB+vrB,KACrB,EAEX,EACMM,GAA6B,SAAC7hxB,EAAQuoT,GAC1C,IAAMu5d,EAAsBN,GAA0BxhxB,EAAO+hxB,0BACvDJ,EAAiBH,GAA0BxhxB,EAAOgixB,oBACxD,OAAOrU,GAASpld,EAAM/xN,iBAAiBsrrB,GAAsB,SAAAF,GAAW,OAAIF,GAAkBC,EAAgBC,EAAY,EAC5H,EACMK,GAAW,SAACznwB,EAAI0nwB,GAGpB,IAFA,IAAIz8uB,EACE08uB,EAAoBD,EAAW,YAAc,aAC1CnltB,EAAQviD,EAAG2nwB,GAAoBpltB,EAAOA,EAAQA,EAAMoltB,GAC3D,GAAIrB,GAAUnL,GAAavpD,QAAQrvpB,IAEjC,YAD4B,QAA3Bt3B,EAAKs3B,EAAM43B,kBAAoC,IAAZlvD,GAAyBA,EAAG5E,YAAYk8B,GAIlF,EAyBMqltB,GAAuB,SAACpixB,EAAQuoT,EAAO85d,GAC3C,IAAMC,EAAiBtixB,EAAOgixB,mBACxBvzmB,EAAWknmB,GAAavpD,QAAQ7ja,GAChCg6d,EAAU,SAAA/nwB,GAAE,OAAI/gC,GAAK+gC,KAAO8nwB,CAAe,EAC3Ctpa,EAAS,SAAAx+V,GAAE,OAAIgqD,GAAGhqD,EAAIi0J,EAAU,EACtC++lB,GAAOkL,GAAU2J,GAAoB,SAAAG,GACnCxL,GAAWwL,EAAkBD,EAASvpa,GAAQzgU,KAAK,SAAAkquB,GACjD,IAAMC,EAxlBK,SAACn6d,EAAO1lO,GAAS,OAAK8qrB,GAAS2I,GAAW/td,GAAQ1lO,EAAW,CAwlBhDhpB,CAAS2otB,EAAkB,SAAAhowB,GAAE,OAAI+nwB,EAAQ/nwB,KAAQxa,EAAO2ixB,aAAalpyB,GAAKgpyB,GAAchpyB,GAAK+gC,GAAI,GACzH,GAAIkowB,EAAgBtnyB,OAAS,EAAG,CAC9B,IAAMwnyB,EAAa7/oB,GAAc0/oB,GACjCjV,GAAOkV,EAAiB,SAAA3ltB,GACtBi6sB,GAAWj6sB,EAAOwltB,EAASvpa,GAAQzgU,KAAK,SAAAkquB,IAnClC,SAAC78a,EAAWi9a,GAC1B,IAAM/0X,EAAQjrZ,SAAS8nb,cACjBh2V,EAAaixQ,EAAUjxQ,WAC7B,GAAIA,EAAY,CACdm5T,EAAMwgU,eAAe1oX,GACrBkoD,EAAM0gU,aAAaq0D,GACnB,IAAMC,EAAiBh1X,EAAMi1X,kBAC7Bd,GAASa,GAAgB,GACzBh1X,EAAMygU,cAAcs0D,GACpB/0X,EAAM2gU,YAAY7oX,GAClB,IAAMo9a,EAAgBl1X,EAAMi1X,kBAC5Bd,GAASe,GAAe,GACnBlC,GAAUnL,GAAavpD,QAAQ02D,KAClCnurB,EAAWyB,aAAa0srB,EAAgBl9a,GAErCk7a,GAAUnL,GAAavpD,QAAQy2D,KAClClurB,EAAWyB,aAAaysrB,EAAUj9a,GAE/Bk7a,GAAUnL,GAAavpD,QAAQ42D,KAClCrurB,EAAWyB,aAAa4srB,EAAep9a,GAEzCjxQ,EAAW9zD,YAAY+kU,EACzB,CACF,CAaYq9a,CAAQR,EAAY1mV,IAAKh/X,EAAMg/X,IACjC,EACF,GACA6mV,EAAWrquB,KAAK,SAAAgwQ,GAAK,OAAIs5d,GAA2B7hxB,EAAQuoT,EAAMwzI,IAAI,EACxE,CACF,EACF,EACF,EAQM90F,GAAiB,SAACjnW,EAAQuoT,GAC9B,IAAM85d,EAAoBR,GAA2B7hxB,EAAQuoT,GAC7D65d,GAAqBpixB,EAAQuoT,EAAO85d,GATR,SAACrixB,EAAQuoT,EAAO85d,GAC5C7U,GAAO,GAADpvxB,OAAAwuB,EAAKy1wB,GAAiBz1wB,EAAMs2wB,GAAmBljxB,EAAQuoT,GAAS,CAACA,GAAS,KAAM,SAAAvpF,GAAK,OAAIwuiB,GAAOrwmB,GAAYw4mB,GAAavpD,QAAQptf,GAAQA,EAAM/oI,SAAS35F,eAAgB,SAAA8P,GACxK+2wB,GAAoBnjxB,EAAQoM,EAAI2vb,MAClCojD,GAAO/ye,EAEX,EAAE,EACJ,CAIEg3wB,CAAsBpjxB,EAAQuoT,EAAO85d,EACvC,EACMgB,GAAgB,SAACrjxB,EAAQta,GAC7B,GAAI49xB,GAAqBtjxB,EAAQta,GAAS,CACxC,IAAMi8xB,EAAiBH,GAA0BxhxB,EAAOgixB,oBACxDN,GAAkBC,EAAgBj8xB,EACpC,CACF,EAMM69xB,GAAe,SAAA/owB,GAAE,OAAIA,EAAGm5E,aAAa4trB,GAAsB,EAC3DiC,GAA2B,SAACxjxB,EAAQvmB,GAAI,OAAKu1xB,GAAMhvwB,EAAO+hxB,yBAA0BtoyB,EAAM,EAC1F6pyB,GAAuB,SAACtjxB,EAAQojC,GAAI,OAAKw3uB,GAAYx3uB,IAASogvB,GAAyBxjxB,EAAQojC,EAAK6yD,SAAU,EAC9GitrB,GAAqB,SAACljxB,EAAQojC,GAAI,OAAKkgvB,GAAqBtjxB,EAAQojC,IAASmgvB,GAAangvB,EAAM,EAChG+/uB,GAAsB,SAACnjxB,EAAQojC,GAAI,OAAKkgvB,GAAqBtjxB,EAAQojC,KAAUmgvB,GAAangvB,EAAM,EAClGqgvB,GAAwB,SAACzjxB,EAAQojC,GAAI,OAAmB,IAAdA,EAAKzmD,MAAc6myB,GAAyBxjxB,EAAQojC,EAAK3pD,OAASm2E,EAASxsB,EAAK2pB,KAAKw0tB,IAAuB,EAEtJmC,GAAYvR,KAAW/urB,QACvBugsB,GAAe,SAAA7trB,GAAK,OAAIi4qB,GAAOj4qB,EAAOm+qB,GAAa,EAiBnD2P,GAAW,SAACx3wB,EAAK2wD,GAAK,OAAK3wD,EAAIytD,UAAYyzsB,GAAWlhwB,EAAIytD,SAAUkD,EAAO,EAC3E8mtB,GAAS,SAACpuuB,EAAMrpC,EAAK03wB,GACzB,IAAIpyxB,EAAI,EACNC,EAAI,EACAs4S,EAAMx0P,EAAKw3W,cAEjB,GADA62X,EAAUA,GAAoBruuB,EAC1BrpC,EAAK,CACP,GAAI03wB,IAAYruuB,GAAQrpC,EAAI/S,uBAA2E,WAAlDy+wB,GAAMnC,GAAavpD,QAAQ32qB,GAAO,YAA0B,CAC/G,IAAM/X,EAAMtxB,EAAI/S,wBAGhB,MAAO,CACL3H,EAHFA,EAAIgsC,EAAI9kC,MAAQqxS,EAAInnS,gBAAgBu8N,YAAc5pL,EAAK4pL,YAAc4qE,EAAInnS,gBAAgBihxB,WAIvFpyxB,EAHFA,EAAI+rC,EAAI5kC,KAAOmxS,EAAInnS,gBAAgBs8N,WAAa3pL,EAAK2pL,WAAa6qE,EAAInnS,gBAAgBkhxB,UAKxF,CAEA,IADA,IAAIl9iB,EAAe16N,EACZ06N,GAAgBA,IAAiBg9iB,GAAWh9iB,EAAal/J,WAAag8sB,GAAS98iB,EAAcg9iB,IAAU,CAC5G,IAAMG,EAAmBn9iB,EACzBp1O,GAAKuyxB,EAAiBv+vB,YAAc,EACpC/zB,GAAKsyxB,EAAiBx+vB,WAAa,EACnCqhN,EAAem9iB,EAAiBn9iB,YAClC,CAEA,IADAA,EAAe16N,EAAIuoF,WACZmyI,GAAgBA,IAAiBg9iB,GAAWh9iB,EAAal/J,WAAag8sB,GAAS98iB,EAAcg9iB,IAClGpyxB,GAAKo1O,EAAazH,YAAc,EAChC1tO,GAAKm1O,EAAa1H,WAAa,EAC/B0H,EAAeA,EAAanyI,WAE9BhjG,GA7C0B,SAAAya,GAC5B,OAAIs3wB,GAAU92D,aAA6B,UAAdnzuB,GAAK2yB,GACzBu3wB,GAAarN,GAAWlqwB,IAAMuH,OAAO,SAAAvH,GAC1C,MAAqB,YAAd3yB,GAAK2yB,EACd,GAAGm1C,KAAK,SAAAk7X,GACN,OAAOknW,GAAatN,GAAa55V,IAAU1wb,IAAI,SAAA0pD,GAC7C,IAAMyuuB,EAAUzuuB,EAAKsmZ,IAAIt2a,UACnB0+vB,EAAa1nW,EAAQsf,IAAIt2a,UACzB2+vB,EAAgB3nW,EAAQsf,IAAIrpO,aAClC,OAAOwxjB,GAAWC,GAAcC,EAAgB,CAClD,EACF,GAAGr4D,MAAM,GAEF,CAEX,CA8BSs4D,CAAsB1O,GAAavpD,QAAQhgtB,GAClD,CACA,MAAO,CACL1a,IACAC,IAEJ,EAEM2yxB,GAAmB,SAACC,GAAyC,IAAnB/0N,EAAQ5wkB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EACtD4lyB,EAAU,EACRC,EAAe,CAAC,EAChBC,EAAO/O,GAAavpD,QAAQm4D,GAC5Bt6e,EAAM+re,GAAgB0O,GAOtBC,EAAW,SAAAnxrB,GACf8krB,GAAS7B,GAAkBiO,GAAOlxrB,EACpC,EACMoxrB,EAAc,SAAAjmxB,GAClB,IAAMkmxB,EAAiBpO,GAAkBiO,GACzCrN,GAAawN,EAAgB,IAAMlmxB,GAAI45C,KAAKkguB,GAC9C,EACMqM,EAAmB,SAAAtzwB,GAAG,OAAIu9vB,GAAM0V,EAAcjzwB,GAAKg+sB,WAAW,iBAAO,CACzE7wtB,GAAI,QAAU6lxB,IACdrqE,OAAQ,GACR4qE,OAAQ,GACRj+xB,MAAO,EACR,EAAG,EACEmiK,EAAO,SAAAz3I,GAAG,OAAI,IAAI/tB,QAAQ,SAAC+sI,EAASk8F,GACxC,IAAIp7M,EACE0zwB,EAAgBlS,GAAMM,gBAAgB5hwB,GACtCzW,EAAQ+pxB,EAAiBE,GAC/BP,EAAaO,GAAiBjqxB,EAC9BA,EAAMjU,QACN,IAAMpD,EAAU,SAACg6R,EAAWtmQ,GAC1Bo2vB,GAAO9vf,EAAWthS,GAClB2e,EAAMqc,OAASA,EACfrc,EAAMo/sB,OAAS,GACfp/sB,EAAMgqxB,OAAS,GACXzzwB,IACFA,EAAK70B,OAAS,KACd60B,EAAK3rB,QAAU,KACf2rB,EAAO,KAEX,EACM6osB,EAAS,WAAH,OAASz2tB,EAAQqX,EAAMo/sB,OAAQ,EAAG,EACxC4qE,EAAS,WAAH,OAASrhyB,EAAQqX,EAAMgqxB,OAAQ,EAAG,EAO9C,GANIv0pB,GACFz1H,EAAMo/sB,OAAOz5tB,KAAK8vI,GAEhBk8F,GACF3xN,EAAMgqxB,OAAOrkyB,KAAKgsO,GAEC,IAAjB3xN,EAAMqc,OAGV,GAAqB,IAAjBrc,EAAMqc,OAIV,GAAqB,IAAjBrc,EAAMqc,OAAV,CAIArc,EAAMqc,OAAS,EACf,IAAM6twB,EAAWtP,GAAazpD,QAAQ,OAAQjib,EAAI8xJ,KAClDy4U,GAASyQ,EAAU,CACjBvjiB,IAAK,aACL/kQ,KAAM,WACNgiB,GAAI5D,EAAM4D,KAER6wjB,EAAS01N,gBACX3Q,GAAM0Q,EAAU,cAAe,aAE7Bz1N,EAAS21N,gBACX5Q,GAAM0Q,EAAU,iBAAkBz1N,EAAS21N,iBAE7C7zwB,EAAO2zwB,EAASlpV,KACXt/c,OAAS09tB,EACd7osB,EAAK3rB,QAAUo/xB,EACfJ,EAASM,GACT1Q,GAAM0Q,EAAU,OAAQD,EAlBxB,MAFED,SAJA5qE,GAyBJ,EAAG,EAyBGirE,EAAS,SAAA5zwB,GACb,IAAMwzwB,EAAgBlS,GAAMM,gBAAgB5hwB,GAC5Cu9vB,GAAM0V,EAAcO,GAAezsuB,KAAK,SAAAx9C,GAExB,MADEA,EAAMjU,eAEb29xB,EAAaO,GACpBJ,EAAY7pxB,EAAM4D,IAEtB,EACF,EAeA,MAAO,CACLsqJ,OACAo8nB,WAlDiB,SAACnnyB,EAAKg8R,GACvB,IAAMn/Q,EAAQ+pxB,EAAiB5myB,GAC/BumyB,EAAavmyB,GAAO6c,EACpBA,EAAMjU,QACN,IAAM24mB,EAAYk2K,GAAazpD,QAAQ,QAASjib,EAAI8xJ,KACpDy4U,GAAS/0K,EAAW,CAClB/9W,IAAK,aACL/kQ,KAAM,WACNgiB,GAAI5D,EAAM4D,KAEZ8gmB,EAAU1jK,IAAI10a,UAAY6yP,EAC1ByqgB,EAASllL,EACX,EAuCE6lL,QAtCc,SAAA1pT,GAEd,OADmBn4e,QAAQqnH,WAAWyiqB,GAAM3xS,EAAM,SAAApqd,GAAG,OAAIy3I,EAAKz3I,GAAK9yB,KAAK6njB,EAAS/0hB,GAAK,IACpE9yB,KAAK,SAAAw/E,GACrB,IAAM7kF,EAAQq0xB,GAAYxvsB,EAAS,SAAA13B,GAAC,MAAiB,cAAbA,EAAEpvB,MAAsB,GAChE,OAAI/9B,EAAM2rD,KAAK5pD,OAAS,EACfqI,QAAQE,OAAO4pxB,GAAMl0xB,EAAM2rD,KAAM,SAAAnoD,GAAM,OAAIA,EAAO2oD,MAAM,IAExD+nuB,GAAMl0xB,EAAMmsE,KAAM,SAAA3oE,GAAM,OAAIA,EAAOZ,KAAK,EAEnD,EACF,EA6BEmpyB,SACAG,aAnBmB,SAAArnyB,GACnB6wxB,GAAM0V,EAAcvmyB,GAAKq6D,KAAK,SAAAx9C,GAEd,MADEA,EAAMjU,eAEb29xB,EAAavmyB,GACpB0myB,EAAY7pxB,EAAM4D,IAEtB,EACF,EAYE6mxB,UAXgB,SAAA5pT,GAChB4xS,GAAO5xS,EAAM,SAAApqd,GACX4zwB,EAAO5zwB,EACT,EACF,EAQEi0wB,mBAjIyB,SAAAN,GACzB31N,EAAS21N,eAAiBA,CAC5B,EAgIEO,mBA/HyB,SAAAR,GACzB11N,EAAS01N,eAAiBA,CAC5B,EA+HF,EAiBM97nB,GAfW,WACf,IAAMr9J,EAAM,IAAI43D,QAUhB,MAAO,CACLgiuB,WAViB,SAAC79oB,EAAkB0nb,GACpC,IACMo2N,EADO9kqB,GAAYgnB,GACJi0T,IACrB,OAAO4wU,EAASxquB,KAAKp2C,EAAI3K,IAAIwkyB,IAAUp2D,WAAW,WAChD,IAAM5sT,EAAK0hX,GAAiBsB,EAASp2N,GAErC,OADAzjkB,EAAI5K,IAAIykyB,EAAShjX,GACVA,CACT,EACF,EAIF,CACiBijX,GAGXC,GAAkB,SAAC1ivB,EAAM2hC,EAAM/kE,GAAM,OAAK+rwB,EAAc3ouB,KAAUo9uB,GAAYp9uB,EAAM2hC,IAAS/kE,EAAOo+H,SAASh7F,EAAK6yD,SAAS35F,eAAgB,EAQ3IypxB,GAAmB,SAAA3ivB,GAAI,OATd,SAAAA,GAAI,MAAoC,SAAhCA,EAAK6yD,SAAS35F,aAAyB,CAS7B0pxB,CAAO5ivB,IAAgD,aAAvCA,EAAKqwD,aAAa,gBAAgC,EAC7FwyrB,GAAiB,SAAC7ivB,EAAM2hC,EAAM/kE,GAAM,OAAKu7wB,GAASn4uB,IAASA,EAAKriD,KAAK3F,OAAS,GARlD,SAACgoD,EAAM2hC,EAAM/kE,GAC7C,IAAMjX,EAAO,IAAIoxxB,GAAc/2uB,EAAM2hC,GAAMh8E,MAAK,GAC1CC,EAAO,IAAImxxB,GAAc/2uB,EAAM2hC,GAAM/7E,MAAK,GAC1Ck9xB,EAAe94mB,EAAYrkL,IAAS+8xB,GAAgB/8xB,EAAMg8E,EAAM/kE,GAChEmmxB,EAAe/4mB,EAAYpkL,IAAS88xB,GAAgB98xB,EAAM+7E,EAAM/kE,GACtE,OAAOkmxB,GAAgBC,CACzB,CAEyFC,CAA0BhjvB,EAAM2hC,EAAM/kE,EAAQ,EAGjIqmxB,GAAW,SAACtqV,EAAK34Z,EAAMpjC,EAAQ+kE,GACnC,IAAIt/B,EACEgpI,EAAW1pG,GAAQ3hC,EACzB,GAAIw3uB,GAAYx3uB,IAAS2ivB,GAAiB3ivB,GACxC,OAAOA,EAGT,IADA,IAAMy2B,EAAWz2B,EAAK7lB,WACb5hC,EAAIk+E,EAASz+E,OAAS,EAAGO,GAAK,EAAGA,IACxC0qyB,GAAStqV,EAAKliY,EAASl+E,GAAIqkB,EAAQyuK,GAErC,GAAImsmB,GAAYx3uB,GAAO,CACrB,IAAMkjvB,EAAkBljvB,EAAK7lB,WACE,IAA3B+owB,EAAgBlryB,QAAgB2qyB,GAAiBO,EAAgB,MACxC,QAA1B7gvB,EAAKrC,EAAKuxD,kBAAoC,IAAZlvD,GAAyBA,EAAG2wD,aAAakwrB,EAAgB,GAAIljvB,GAEpG,CAIA,OApBiB,SAAAA,GAAI,OAAIu4uB,GAAmBv4uB,IAASs4uB,GAAat4uB,EAAM,CAiBnEmjvB,CAAWnjvB,IAAUo9uB,GAAYp9uB,EAAMqrI,IAlBxB,SAAArrI,GAAI,QAAIw3uB,GAAYx3uB,IAAQA,EAAK7lB,WAAWniC,OAAS,CAAU,CAkBzBoryB,CAAcpjvB,IAAU6ivB,GAAe7ivB,EAAMqrI,EAAUzuK,IAC/G+7b,EAAIh2b,OAAOq9B,GAENA,CACT,EAEMqjvB,GAAY3T,GAAMC,QAClB2T,GAAmB,0EACnBC,GAAkB,kEAClBC,GAAiB,aACjBC,GAAe,kCACfC,GAAW,CACf,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,UAEDC,GAAe,CACnB,IAAK,SACL,IAAM,QACN,IAAK,OACL,IAAK,OACL,IAAK,QACL,IAAK,SAEDC,GAAkB,CACtB,OAAQ,IACR,OAAQ,IACR,QAAS,IACT,SAAU,IACV,SAAU,KAONC,GAAsB,SAACpmxB,EAAOutE,GAClC,IAAM3lC,EAAS,CAAC,EAChB,GAAI5nC,EAAO,CACT,IAAMqmxB,EAAWrmxB,EAAM0pB,MAAM,KAC7B6jD,EAAQA,GAAS,GACjB,IAAK,IAAIzyF,EAAI,EAAGA,EAAIuryB,EAAS9ryB,OAAQO,GAAK,EAAG,CAC3C,IAAMg4jB,EAAMt1jB,OAAOowD,aAAap1B,SAAS6twB,EAASvryB,GAAIyyF,IACtD,IAAK24sB,GAAapzO,GAAM,CACtB,IAAMwzO,EAAS,IAAMD,EAASvryB,EAAI,GAAK,IACvC8sD,EAAOkrgB,GAAOwzO,EACd1+uB,EAAO0+uB,GAAUxzO,CACnB,CACF,CACA,OAAOlrgB,CACT,CAGF,EACM2+uB,GAAgBH,GAAoB,+rEAAwzE,IAC51EI,GAAY,SAAC91wB,EAAMw7C,GAAI,OAAKx7C,EAAKlV,QAAQ0wD,EAAO25tB,GAAmBC,GAAiB,SAAAhzO,GACxF,OAAOozO,GAAapzO,IAAQA,CAC9B,EAAG,EAIG2zO,GAAgB,SAAC/1wB,EAAMw7C,GAAI,OAAKx7C,EAAKlV,QAAQ0wD,EAAO25tB,GAAmBC,GAAiB,SAAAhzO,GAC5F,OAAIA,EAAIv4jB,OAAS,EACR,MAAsC,MAA7Bu4jB,EAAIh2gB,WAAW,GAAK,QAAiBg2gB,EAAIh2gB,WAAW,GAAK,OAAS,OAAS,IAEtFopvB,GAAapzO,IAAQ,KAAOA,EAAIh2gB,WAAW,GAAK,GACzD,EAAG,EACG4pvB,GAAc,SAACh2wB,EAAMw7C,EAAMy6tB,GAC/B,IAAMC,EAAkBD,GAAYJ,GACpC,OAAO71wB,EAAKlV,QAAQ0wD,EAAO25tB,GAAmBC,GAAiB,SAAAhzO,GAC7D,OAAOozO,GAAapzO,IAAQ8zO,EAAgB9zO,IAAQA,CACtD,EACF,EAgDM+zO,GAAW,CACfL,aACAM,aAhEmB,SAAAp2wB,GAAI,OAAK,GAAKA,GAAMlV,QAAQuqxB,GAAgB,SAAAjzO,GAC/D,OAAOozO,GAAapzO,IAAQA,CAC9B,EAAG,EA+DD2zO,iBACAC,eACAK,cApDoB,SAACnuyB,EAAM+tyB,GAC3B,IAAMK,EAAcZ,GAAoBO,IAAaJ,GAgB/CU,EAAUrB,GAAUhtyB,EAAK4iB,QAAQ,MAAO,MAC9C,OAAIyrxB,EAAQC,OAASD,EAAQE,QAhBC,SAACz2wB,EAAMw7C,GAAI,OAAKx7C,EAAKlV,QAAQ0wD,EAAO25tB,GAAmBC,GAAiB,SAAAhzO,GACpG,YAA0BrxjB,IAAtBykyB,GAAapzO,GACRozO,GAAapzO,QAEGrxjB,IAArBulyB,EAAYl0O,GACPk0O,EAAYl0O,GAEjBA,EAAIv4jB,OAAS,EACR,MAAsC,MAA7Bu4jB,EAAIh2gB,WAAW,GAAK,QAAiBg2gB,EAAIh2gB,WAAW,GAAK,OAAS,OAAS,IAEtF,KAAOg2gB,EAAIh2gB,WAAW,GAAK,GACpC,EAAG,EAQCmqvB,EAAQC,MACNP,EARoB,SAACj2wB,EAAMw7C,GAC/B,OAAOw6tB,GAAYh2wB,EAAMw7C,EAAM86tB,EACjC,EASSN,GAELO,EAAQE,QACHV,GAEFD,EACT,EAsBE5muB,OArBa,SAAAlvC,GAAI,OAAIA,EAAKlV,QAAQwqxB,GAAc,SAACv+xB,EAAK0/xB,GACtD,OAAIA,GAEAA,EADsC,MAApCA,EAAQ1yvB,OAAO,GAAGh5B,cACV+c,SAAS2uwB,EAAQh7uB,OAAO,GAAI,IAE5B3zB,SAAS2uwB,EAAS,KAEhB,OACZA,GAAW,MACJ3pyB,OAAOowD,aAAa,OAASu5uB,GAAW,IAAK,OAAmB,KAAVA,KAExDlB,GAASkB,IAAY3pyB,OAAOowD,aAAau5uB,GAE3ChB,GAAgB1+xB,IAAQ8+xB,GAAc9+xB,IAvF1B,SAAAipB,GACnB,IAAMnF,EAAMupwB,GAAazpD,QAAQ,OAAOnwR,IAExC,OADA3vb,EAAIib,UAAY9V,EACTnF,EAAImb,aAAenb,EAAIob,WAAajW,CAC7C,CAmFuD02wB,CAAa3/xB,EACpE,EAAG,GAUG4/xB,GAAU,SAACrnxB,EAAOmywB,GAEtB,OADAnywB,EAAQiywB,GAAMl/tB,KAAK/yC,IACJA,EAAM0pB,MAAMyovB,GAAS,KAAO,EAC7C,EACMmV,GAAkB,SAAAzryB,GAAG,OAAI,IAAIyoE,OAAO,IAAMzoE,EAAI2f,QAAQ,WAAY,OAAS,IAAK,EAqThF+rxB,GAA0B,SAACC,EAAeC,GAC9C,IAAMC,EAAoB,6DAC1B,OAAOta,GAAOia,GAAQI,EAAe,KAAM,SAAAz8jB,GACzC,IAAMh3H,EAAU0zrB,EAAkBt3vB,KAAK46L,GACvC,GAAIh3H,EAAS,CACX,IAAMr4E,EAASq4E,EAAQ,GACjB2zrB,EAAc3zrB,EAAQ,GACtB4zrB,EAAa5zrB,EAAQ,GACrB6zrB,EAAc7zrB,EAAQ,GACtB8zrB,EAAW9zrB,EAAQ,GACnBrB,EAAU,CACd87B,WAAY,CAAC,EACbs5pB,gBAAiB,IAiBnB,GAfAP,EAAc9vuB,KAAK,SAAA/9B,GAAE,OApBC,SAAC2nB,EAAMq3B,GAAQ,IAADqvtB,EACxCva,GAAOnsuB,EAAKmtF,WAAY,SAACrzI,EAAOiC,GAC9Bs7E,EAAG81D,WAAWpxI,GAAOjC,CACvB,IACA4syB,EAAArvtB,EAAGovtB,iBAAgBloyB,KAAIkE,MAAAikyB,EAAAj8wB,EAAIu1B,EAAKymvB,iBAClC,CAe+BE,CAAoBtuwB,EAAIg5E,EAAQ,GAC1C,MAAXh3E,EACFg3E,EAAQu1rB,WAAY,EACA,MAAXvswB,IACTg3E,EAAQw1rB,aAAc,GAEJ,MAAhBN,IACFl1rB,EAAQy1rB,kBAAmB,GAEzBN,GAvFoC,SAACA,EAAU3ipB,GACvD,IAAMkjpB,EAAiB,oDACjBC,EAAoB,QAExB75pB,EAEE0W,EAFF1W,WACAs5pB,EACE5ipB,EADF4ipB,gBAEKpb,GAAO0a,GAAQS,EAAU,KAAM,SAAA98jB,GACpC,IAAMh3H,EAAUq0rB,EAAej4vB,KAAK46L,GACpC,GAAIh3H,EAAS,CACX,IAAM9nC,EAAO,CAAC,EACRq8tB,EAAWv0rB,EAAQ,GACnB+1M,EAAW/1M,EAAQ,GAAGx4F,QAAQ,UAAW,KACzCgtxB,EAAax0rB,EAAQ,GACrB54G,EAAQ44G,EAAQ,GAMtB,GALiB,MAAbu0rB,IACFpjpB,EAAcsjpB,mBAAqBtjpB,EAAcsjpB,oBAAsB,GACvEtjpB,EAAcsjpB,mBAAmB5oyB,KAAKkqT,GACtC79O,EAAKz8C,UAAW,GAED,MAAb84wB,EAGF,cAFO95pB,EAAWs7K,QAClBg+e,EAAgBltwB,OAAOo3vB,GAAMnzb,QAAQipc,EAAiBh+e,GAAW,GAsBnE,GAnBIy+e,IACiB,MAAfA,GACFrjpB,EAAcujpB,kBAAoBvjpB,EAAcujpB,mBAAqB,GACrEvjpB,EAAcujpB,kBAAkB7oyB,KAAK,CACnCjH,KAAMmxT,EACN3uT,MAAAA,IAEF8wE,EAAKlgC,aAAe5wC,GACI,MAAfotyB,GACTrjpB,EAAcwjpB,iBAAmBxjpB,EAAcwjpB,kBAAoB,GACnExjpB,EAAcwjpB,iBAAiB9oyB,KAAK,CAClCjH,KAAMmxT,EACN3uT,MAAAA,IAEF8wE,EAAK08tB,YAAcxtyB,GACK,MAAfotyB,IACTt8tB,EAAK28tB,YAAc5W,GAAMC,QAAQ92xB,EAAO,OAGxCktyB,EAAkB9ryB,KAAKutT,GAAW,CACpC,IAAM++e,EAAc58tB,EACpBi5E,EAAc4jpB,kBAAoB5jpB,EAAc4jpB,mBAAqB,GACrED,EAAYjttB,QAAUyrtB,GAAgBv9e,GACtC5kK,EAAc4jpB,kBAAkBlpyB,KAAKipyB,EACvC,MACOr6pB,EAAWs7K,IACdg+e,EAAgBloyB,KAAKkqT,GAEvBt7K,EAAWs7K,GAAY79O,CAE3B,CACF,EACF,CA+BQ88tB,CAAsClB,EAAUn1rB,GAE9Ci1rB,IACFj1rB,EAAQi1rB,WAAaD,GAEH,MAAhBA,EAAqB,CACvB,IAAIH,EAAc/0D,SAGhB,MAAO,GAFP+0D,EAAgB1b,EAASpyvB,KAAKi5E,EAIlC,CACA,MAAO,CAACi1rB,EAAa,CACnBhvyB,KAAM+uyB,EACNh1rB,UACAs2rB,UAAWrB,GACT,CACFhvyB,KAAM+uyB,EACNh1rB,WAEJ,CACE,MAAO,EAEX,EACF,EAEMu2rB,GAAW,CAAC,EACZC,GAAYlX,GAAMC,QACtBkX,GAASnX,GAAMv6tB,KACf2xuB,GAAWpX,GAAM59wB,OACjBi1xB,GAAYrX,GAAMhnD,QACdzypB,GAAY,SAACxsC,GAAmC,IAArBsgiB,EAAUvukB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EACvC3C,EAAQ+tyB,GAAUn9vB,EAAc,IAAKm9vB,GAAUn9vB,EAAak3C,cAAe,MACjF,OAAOmmtB,GAASjuyB,EAAOkxkB,EACzB,EACMi9N,GAA2B,SAAApqxB,GAAM,OAAIq5D,GAAU,oDAAqDr5D,EAAOqqxB,uBAAwB,EACnIC,GAAoB,SAACruyB,EAAO8J,GAChC,GAAI9J,EAAO,CACT,IAAMkhB,EAAS,CAAC,EAShB,OARIyyD,EAAS3zE,KACXA,EAAQ,CACN,IAAKA,IAGTguyB,GAAOhuyB,EAAO,SAACA,EAAOiC,GACpBif,EAAOjf,GAAOif,EAAOjf,EAAI6lF,eAA0B,QAATh+E,EAAiBikyB,GAAU/tyB,EAAO,QAAUkuyB,GAAUluyB,EAAO,OACzG,GACOkhB,CACT,CAGF,EACMotxB,GAAS,WAAoB,IAC7B9kvB,EADU+phB,EAAQ5wkB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EAEpBk4I,EAAW,CAAC,EACZj9D,EAAW,CAAC,EACd2wtB,EAAkB,GAChBC,EAAoB,CAAC,EACrBC,EAAkB,CAAC,EACnBC,EAAoB,SAAC5gkB,EAAQl9L,EAAcsgiB,GAC/C,IAAMlxkB,EAAQuzkB,EAASzlW,GACvB,GAAK9tO,EAQH,OAAO+tyB,GAAU/tyB,EAAO,OAAQ+tyB,GAAU/tyB,EAAM8nF,cAAe,SAP/D,IAAIuH,EAAWy+sB,GAAShgkB,GAKxB,OAJKz+I,IACHA,EAAWjS,GAAUxsC,EAAcsgiB,GACnC48N,GAAShgkB,GAAUz+I,GAEdA,CAIX,EACM64O,EAAwC,QAA1B1+Q,EAAK+phB,EAASxvjB,cAAgC,IAAZylC,EAAgBA,EAAK,QACrEmlvB,EArWW,SAAAjuyB,GACjB,IAAAkuyB,EA7B8B,SAAAluyB,GAC9B,IAAIq8c,EAAkB8xV,EAClBC,EACJ/xV,EAAmB,wDACnB8xV,EAAe,sFACfC,EAAkB,wLACL,UAATpuyB,IAEFq8c,GAAoB,8EACpB8xV,GAAgB,kGAChBC,GAAmB,wGAER,iBAATpuyB,IACFq8c,GAAoB,YAEpB+xV,EAAkB,CAACA,EADU,8CAC6BrivB,KAAK,KAE/DoivB,EAAe,CAACA,EADU,+BACuBpivB,KAAK,MAExD,IAAMsivB,EAAc,CAACF,EAAcC,GAAiBrivB,KAAK,KACzD,MAAO,CACLswZ,mBACA8xV,eACAC,kBACAC,cAEJ,CAOMC,CAAwBtuyB,GAH1Bq8c,EAAgB6xV,EAAhB7xV,iBACA+xV,EAAeF,EAAfE,gBACAC,EAAWH,EAAXG,YAEIhrxB,EAAS,CAAC,EACVkrxB,EAAa,SAACzxyB,EAAM61I,EAAYz1D,GACpC75D,EAAOvmB,GAAQ,CACb61I,WAAY4+oB,GAAY5+oB,EAAYi3a,EAAS,CAAC,IAC9CqiP,gBAAiBt5pB,EACjBz1D,SAAUq0sB,GAAYr0sB,EAAU0se,EAAS,CAAC,IAE9C,EACMn8iB,EAAM,SAAC3Q,GAKX,IALqD,IAApC61I,EAAU1wI,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,GACxBusyB,EAAajD,GADuBtpyB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,IAEvC2xC,EAAQ23vB,GAAQzuyB,GAClBk4kB,EAAKphiB,EAAMn1C,OACTgwyB,EAAgBlD,GAAQ,CAAClvV,EAAkB1pU,GAAY5mF,KAAK,MAC3DiphB,KACLu5N,EAAW36vB,EAAMohiB,GAAKy5N,EAAc55xB,QAAS25xB,EAEjD,EACME,EAAW,SAAC5xyB,EAAM61I,GAItB,IAHA,IAAM/+F,EAAQ23vB,GAAQzuyB,GAChBkoS,EAAQumgB,GAAQ54pB,GAClBqic,EAAKphiB,EAAMn1C,OACRu2kB,KAEL,IADA,IAAM25N,EAAatrxB,EAAOuwB,EAAMohiB,IACvBh2kB,EAAI,EAAG09C,EAAIsoP,EAAMvmS,OAAQO,EAAI09C,EAAG19C,IACvC2vyB,EAAWh8pB,WAAWqyJ,EAAMhmS,IAAM,CAAC,EACnC2vyB,EAAW1C,gBAAgBloyB,KAAKihS,EAAMhmS,GAG5C,EACa,iBAATgB,IAEF6wxB,GAAO0a,GADsB,8CACS,SAAAzuyB,GACpC2Q,EAAI3Q,EAAM,GAAIsxyB,EAChB,GAEAvd,GAAO0a,GADmB,+BACS,SAAAzuyB,GACjC2Q,EAAI3Q,EAAM,GAAIuxyB,EAChB,IAiIF,OA/HA5gyB,EAAI,OAAQ,WAAY,aACxBA,EAAI,OAAQ,GAAI,sDAChBA,EAAI,wBACJA,EAAI,OAAQ,eACZA,EAAI,OAAQ,+CACZA,EAAI,OAAQ,mCACZA,EAAI,QAAS,qBACbA,EAAI,SAAU,gCACdA,EAAI,OAAQ,0LAAqM4gyB,GACjN5gyB,EAAI,SAAU,GAAI4gyB,GAClB5gyB,EAAI,qBAAsB,GAAa,UAATzN,EAAmBouyB,EAAkBC,GACnE5gyB,EAAI,0GAA2G,GAAI2gyB,GACnH3gyB,EAAI,aAAc,OAAQ4gyB,GAC1B5gyB,EAAI,KAAM,sBAAuB,MACjCA,EAAI,KAAM,GAAI,MACdA,EAAI,KAAM,QAAS4gyB,GACnB5gyB,EAAI,KAAM,GAAI,SACdA,EAAI,IAAK,sCAAgD,UAATzN,EAAmBouyB,EAAkBC,GACrF5gyB,EAAI,IAAK,OAAQ2gyB,GACjB3gyB,EAAI,UAAW,gBAAiB4gyB,GAChC5gyB,EAAI,MAAO,kDACXA,EAAI,SAAU,wBAAyB4gyB,GACvC5gyB,EAAI,QAAS,yBACbA,EAAI,SAAU,wDAAyD,CAAC4gyB,EAAa,SAAStivB,KAAK,MACnGt+C,EAAI,QAAS,cACbA,EAAI,MAAO,OAAQ,CAAC4gyB,EAAa,QAAQtivB,KAAK,MAC9Ct+C,EAAI,OAAQ,wDACZA,EAAI,QAAS,SAAU,yCAAoD,UAATzN,EAAmB,OAAS,KAC9FyN,EAAI,WAAY,OAAQ,OACxBA,EAAI,MAAO,QACXA,EAAI,oBAAqB,GAAI,MAC7BA,EAAI,KAAM,GAAI,SACdA,EAAI,KAAM,0BAA2B4gyB,GACrC5gyB,EAAI,KAAM,qCAAsC4gyB,GAChD5gyB,EAAI,OAAQ,2EAA4E4gyB,GACxF5gyB,EAAI,WAAY,qBAAsB,CAAC4gyB,EAAa,UAAUtivB,KAAK,MACnEt+C,EAAI,QAAS,WAAY2gyB,GACzB3gyB,EAAI,QAAS,0NACbA,EAAI,SAAU,4FAAsG,UAATzN,EAAmBquyB,EAAcD,GAC5I3gyB,EAAI,SAAU,4CAA6C,mBAC3DA,EAAI,WAAY,iBAAkB,UAClCA,EAAI,SAAU,iCACdA,EAAI,WAAY,yEAChBA,EAAI,OAAQ,aAAc,CAAC4gyB,EAAa,MAAMtivB,KAAK,MACnDt+C,EAAI,WAAY,GAAI4gyB,GACP,UAATruyB,IACFyN,EAAI,OACJA,EAAI,OAAQ,GAAI,CAAC2gyB,EAAiB,SAASrivB,KAAK,MAChDt+C,EAAI,aAAc,GAAI4gyB,GACtB5gyB,EAAI,iBAAkB,GAAI2gyB,GAC1B3gyB,EAAI,UAAW,GAAI,CAAC2gyB,EAAiB,qBAAqBrivB,KAAK,MAC/Dt+C,EAAI,SAAU,eAAgB4gyB,GAC9B5gyB,EAAI,QAAS,+FAAqG,CAAC4gyB,EAAa,gBAAgBtivB,KAAK,MACrJt+C,EAAI,QAAS,kFAAwF,CAAC4gyB,EAAa,gBAAgBtivB,KAAK,MACxIt+C,EAAI,UAAW,GAAI,cACnBA,EAAI,SAAU,+BACdA,EAAI,QAAS,kCACbA,EAAI,WAAY,GAAI,CAAC2gyB,EAAiB,UAAUrivB,KAAK,MACrDt+C,EAAI,+CAAgD,GAAI4gyB,GACxD5gyB,EAAI,SAAU,GAAI,qBAClBA,EAAI,SAAU,GAAI,CAAC4gyB,EAAa,cAActivB,KAAK,MACnDt+C,EAAI,OAAQ,WAAY2gyB,GACxB3gyB,EAAI,SAAU,OAAQ4gyB,GACtB5gyB,EAAI,UAAW,uDACfA,EAAI,SAAU,gBAAiB2gyB,GAC/B3gyB,EAAI,WAAY,YAAa2gyB,GAC7B3gyB,EAAI,QAAS,iCAAkC2gyB,GAC/C3gyB,EAAI,UAAW,OAAQ,CAAC4gyB,EAAa,WAAWtivB,KAAK,MACrDt+C,EAAI,SAAU,kDACd8gyB,EAAW,MAAO,2GAA2G3gwB,MAAM,KAAM,KAE9H,iBAAT5tC,IACF0uyB,EAAS,SAAU,sBACnBA,EAAS,QAAS,aAClBA,EAAS,SAAU,qFACnBA,EAAS,QAAS,4BAClBA,EAAS,QAAS,kBAClBA,EAAS,IAAK,iCACdA,EAAS,KAAM,SACfA,EAAS,SAAU,0EACnBA,EAAS,MAAO,4CAChBA,EAAS,SAAU,iEACnBA,EAAS,gBAAiB,mBAC1BA,EAAS,QAAS,gBAClBA,EAAS,UACTA,EAAS,YACTA,EAAS,yCAA0C,SACnDA,EAAS,KAAM,gBACfA,EAAS,KAAM,QACfA,EAAS,iBAAkB,WAC3BA,EAAS,MAAO,mBAChBA,EAAS,KAAM,4BACfA,EAAS,UAAW,UACpBA,EAAS,QAAS,mEAClBA,EAAS,MAAO,mCAChBA,EAAS,WAAY,mCACrBA,EAAS,QAAS,6BAClBA,EAAS,KAAM,qCACfA,EAAS,KAAM,8DACfA,EAAS,OAAQ,UACjBA,EAAS,KAAM,yEACfA,EAAS,QAAS,6BAClBA,EAAS,QAAS,6BAClBA,EAAS,OAAQ,UACjBA,EAAS,OAAQ,6CAEN,UAAT1uyB,IACF0uyB,EAAS,+BAAgC,aACzCA,EAAS,iBAAkB,eAC3BA,EAAS,IAAK,YACdA,EAAS,kBAAmB,eAC5BA,EAAS,MAAO,WAChBA,EAAS,SAAU,mDAER,UAAT1uyB,GACF6wxB,GAAO,CAACxtwB,EAAO8jb,MAAO9jb,EAAO0gb,OAAQ,SAAAj1a,UAC5BA,EAAKouD,SAAS6mX,aACdj1a,EAAKouD,SAASiqX,KACvB,GAEF0pV,GAAO0a,GAAQ,6BAA8B,SAAAzuyB,GACvCumB,EAAOvmB,WACFumB,EAAOvmB,GAAMogF,SAASpgF,EAEjC,UACOumB,EAAOy8a,QAAQ5iX,SAASp1C,aACxBzkB,EAAOojb,OACPpjb,CACT,CAwLsBurxB,CAAWpne,IACF,IAAzBqrQ,EAASg8N,cACXh8N,EAASi8N,eAAiB,QAE5B,IAAMC,EAAcpB,GAAkB96N,EAASm8N,cACzCC,EAAgBtB,GAAkB96N,EAASq8N,eAAgB,OAC3DC,EAAexB,GAAkB96N,EAASu8N,cAAe,OACzDC,EAAwBrB,EAAkB,sBAAuB,qEACjEsB,EAAyBtB,EAAkB,wBAAyB,mDACpEuB,EAAkBvB,EAAkB,gBAAiB,+FACrDwB,EAAcxB,EAAkB,qBAAsB,iJACtDyB,EAAmC,8CACnCC,EAAsB1B,EAAkB,qBAAsByB,EAAmC,WAAYF,GAC7GI,EAAoC3B,EAAkB,sCAAuCyB,EAAmC,SAAUF,GAC1IK,EAAW,oBACXC,EAAuB7B,EAAkB,sBAAuB4B,uHAChEE,EAAmB9B,EAAkB,iBAAkB,4KAAuL6B,GAC9OE,EAAwB/B,EAAkB,uBAAwB,4EAClEgC,EAAyBhC,EAAkB,uBAAwB,wBACnEiC,EAAuBjC,EAAkB,sBAAuB,OAAS4B,GAC/EtC,GAAO,6EAA6E1/vB,MAAM,KAAM,SAAA9wC,GAC9FixyB,EAAgBjxyB,GAAQ,IAAI0rE,OAAO,KAAO1rE,EAAO,SAAU,KAC7D,GACA,IAAMozyB,EAAmB,SAAAvE,GACvB,IAAMD,EAAgB1b,EAASxquB,KAAK20F,EAAS,MACvCqypB,EAAoB,QAC1B3b,GAAO4a,GAAwBC,EAAeC,QAAqDA,EAAgB,IAAK,SAAAvgyB,GAIjH,IAHLtO,EAAIsO,EAAJtO,KACA+5G,EAAOzrG,EAAPyrG,QACAs2rB,EAAS/hyB,EAAT+hyB,UAKA,GAHIA,IACFhzpB,EAASgzpB,GAAat2rB,GAEpB21rB,EAAkB9ryB,KAAK5D,GAAO,CAChC,IAAMqzyB,EAAiBt5rB,EACvBs5rB,EAAepwtB,QAAUyrtB,GAAgB1uyB,GACzC+wyB,EAAgB9pyB,KAAKosyB,EACvB,MACEh2pB,EAASr9I,GAAQ+5G,CAErB,EACF,EACMu5rB,EAAmB,SAAAzE,GACvBkC,EAAkB,GAClBhd,GAAOjtxB,GAAKu2I,GAAW,SAAAr9I,UACdq9I,EAASr9I,EAClB,GACAozyB,EAAiBvE,EACnB,EACM0E,EAAoB,SAAAtroB,UACjBqooB,GAASkD,2BACTlD,GAASmD,eAChB1f,GAzc6B,SAAAvxxB,GAC/B,IAAMkxyB,EAAsB,aAC5B,OAAOlf,GAAOia,GAAQjsyB,EAAO,KAAM,SAAA4vO,GACjC,IAAMh3H,EAAUs4rB,EAAoBl8vB,KAAK46L,GACzC,GAAIh3H,EAAS,CACX,IAAMomD,EAAwB,MAAfpmD,EAAQ,GAGvB,MAAO,CAAC,CACNomD,SACAmyoB,UAJgBnyoB,EAAS,OAAS,MAKlCxhK,KAJWo7G,EAAQ,IAMvB,CACE,MAAO,EAEX,EACF,CAwbWw4rB,CAAyB3roB,QAAuDA,EAAiB,IAAK,SAAAz3J,GAItG,IAHLgxJ,EAAMhxJ,EAANgxJ,OACAxhK,EAAIwQ,EAAJxQ,KACA2zyB,EAASnjyB,EAATmjyB,UAUA,GARAvztB,EAASpgF,GAAQogF,EAASuztB,GAC1B3C,EAAkBhxyB,GAAQ2zyB,EAC1Bf,EAAoB5yyB,EAAKsqF,eAAiB,CAAC,EAC3CsotB,EAAoB5yyB,GAAQ,CAAC,EACxBwhK,IACHwxoB,EAAiBhzyB,EAAKsqF,eAAiB,CAAC,EACxC0otB,EAAiBhzyB,GAAQ,CAAC,IAEvBq9I,EAASr9I,GAAO,CACnB,IAAI6zyB,EAAax2pB,EAASs2pB,UAC1BE,EAAapD,GAAS,CAAC,EAAGoD,IACRrE,wBACXqE,EAAWtE,YAClBlypB,EAASr9I,GAAQ6zyB,CACnB,CACAhf,GAAOz0sB,EAAU,SAAC25B,EAAS+5rB,GACrB/5rB,EAAQ45rB,KACVvztB,EAAS0ztB,GAAW/5rB,EAAU02rB,GAAS,CAAC,EAAGrwtB,EAAS0ztB,IACpD/5rB,EAAQ/5G,GAAQ+5G,EAAQ45rB,GAE5B,EACF,EACF,EACMI,EAAmB,SAAAC,GACvBjgB,GAvQ4B,SAAAvxxB,GAC9B,IAAMyxyB,EAAkB,+LACxB,OAAOzf,GAAOia,GAAQjsyB,EAAO,KAAM,SAAA4vO,GACjC,IAAMh3H,EAAU64rB,EAAgBz8vB,KAAK46L,GACrC,GAAIh3H,EAAS,CACX,IAAMr4E,EAASq4E,EAAQ,GACjBj4F,EAAY4f,EAPE,SAAAA,GAAM,MAAe,MAAXA,EAAiB,SAAW,KAAM,CAOrCmxwB,CAAkBnxwB,GAAU,UAGvD,MAAO,CAAC,CACN5f,YACAnjB,KAJWo7G,EAAQ,GAKnB44rB,cAJoBvF,GAAQrzrB,EAAQ,GAAI,MAM5C,CACE,MAAO,EAEX,EACF,CAqPW+4rB,CAAwBH,QAAqDA,EAAgB,IAAK,SAAA/iyB,GAIlG,IAHLkS,EAASlS,EAATkS,UACAnjB,EAAIiR,EAAJjR,KACAg0yB,EAAa/iyB,EAAb+iyB,cAEM3qvB,EAAuB,YAAdlmC,EAA0B,CACvC,WAAY,CAAC,GACXi9D,EAASpgF,GACb+zxB,GAAOigB,EAAe,SAAA1wtB,GACF,WAAdngE,SACKkmC,EAAOi6B,GAEdj6B,EAAOi6B,GAAS,CAAC,CAErB,GACAlD,EAASpgF,GAAQqpD,CACnB,EACF,EACM+qvB,EAAiB,SAAAp0yB,GACrB,IAAM+5G,EAAUsjC,EAASr9I,GACzB,GAAI+5G,EACF,OAAOA,EAGT,IADA,IAAI73G,EAAI6uyB,EAAgBpvyB,OACjBO,KAAK,CACV,IAAMmxyB,EAAiBtC,EAAgB7uyB,GACvC,GAAImxyB,EAAepwtB,QAAQr/E,KAAK5D,GAC9B,OAAOqzyB,CAEX,CAEF,EACKt9N,EAASi8N,gBAkCZsB,EAAiBv9N,EAASi8N,gBAC1BxB,GAAOW,EAAa,SAACp3rB,EAAS/5G,GAC5BogF,EAASpgF,GAAQ+5G,EAAQ35B,QAC3B,KApCAowtB,GAAOW,EAAa,SAACp3rB,EAAS/5G,GAC5Bq9I,EAASr9I,GAAQ,CACf61I,WAAY97B,EAAQ87B,WACpBs5pB,gBAAiBp1rB,EAAQo1rB,iBAE3B/utB,EAASpgF,GAAQ+5G,EAAQ35B,QAC3B,GACAowtB,GAAO/B,GAAQ,iBAAkB,SAAAz8wB,GAC/B,IAAM5K,EAAQqnxB,GAAQz8wB,EAAM,KAC5BqrH,EAASj2H,EAAM,IAAI4nxB,WAAa5nxB,EAAM,EACxC,GACAopxB,GAAOyC,EAAuB,SAAC3kZ,EAAMtuZ,GAC/Bq9I,EAASr9I,KACP+1kB,EAASs+N,mCACXh3pB,EAASr9I,GAAMs0yB,kBAAmB,GAEpCj3pB,EAASr9I,GAAMuvyB,aAAc,EAEjC,GACAiB,GAAO/B,GAAQ,kCAAmC,SAAAzuyB,GAC5Cq9I,EAASr9I,KACXq9I,EAASr9I,GAAMuvyB,aAAc,EAEjC,GACAiB,GAAO/B,GAAQ,gEAAiE,SAAAzuyB,GAC1Eq9I,EAASr9I,KACXq9I,EAASr9I,GAAMsvyB,WAAY,EAE/B,GACAkB,GAAO/B,GAAQ,QAAS,SAAAzuyB,GACtBq9I,EAASr9I,GAAMwvyB,kBAAmB,CACpC,WAOKnypB,EAAS8hJ,IAChBo0gB,EAAkBx9N,EAASw+N,iBAC3BR,EAAiBh+N,EAASy+N,gBAC1BpB,EAAiBr9N,EAAS0+N,yBAC1BV,EAAiB,yBACjBvD,GAAO,CACL3oW,GAAI,KACJ1wC,GAAI,KACJqsB,GAAI,QACJ0mB,GAAI,KACJC,GAAI,KACJ5vC,GAAI,oBACJwvC,MAAO,QACPE,MAAO,QACPD,MAAO,QACPd,OAAQ,WACRnC,KAAM,MACNwC,MAAO,sBACN,SAACmsF,EAAS1jgB,GACPqrH,EAASrrH,KACXqrH,EAASrrH,GAAM0ixB,gBAAkBjG,GAAQ/4Q,GAE7C,GACIqgD,EAAS4+N,kBACXnE,GAAOE,GAAU36N,EAAS4+N,kBAAmB,SAAA3ixB,GACvCqrH,EAASrrH,WACJqrH,EAASrrH,EAEpB,GAEGoixB,EAAe,SAClBhB,EAAiB,0BAEnB,IAAMwB,EAAiB9nP,EAASmlP,GAC1B4C,EAAmB/nP,EAASqlP,GAC5B2C,EAAkBhoP,EAASulP,GAC3B0C,EAAejoP,EAAS4lP,GACxBnK,EAAmBz7O,EAASkmP,GAC5BpC,EAAuB9jP,EAASimP,GAChCiC,EAAwBloP,EAASmmP,GACjCgC,EAAkBnoP,EAAS5rjB,OAAOu+W,KAAKgzb,IACvCyC,EAAyBpoP,EAAS0lP,GAClC2C,EAAsBroP,EAAS8lP,GAC/BwC,EAAoCtoP,EAAS+lP,GAC7CwC,EAAwBvoP,EAASylP,GACjCjK,EAAyBx7O,EAASomP,GAClCoC,EAAuBxoP,EAASqmP,GAChCoC,EAAqBzoP,EAAS5rjB,OAAOu+W,KAAKwxb,IAK1C/tf,EAAU,SAACljT,EAAMszE,GACrB,IAAM8+J,EAAOgikB,EAAep0yB,GAC5B,GAAIoyO,EAAM,CACR,IAAI9+J,EAcF,OAAO,EAbP,GAAI8+J,EAAKv8F,WAAWviE,GAClB,OAAO,EAET,IAAMkiuB,EAAepjkB,EAAK+9jB,kBAC1B,GAAIqF,EAEF,IADA,IAAItzyB,EAAIszyB,EAAa7zyB,OACdO,KACL,GAAIszyB,EAAatzyB,GAAG+gF,QAAQr/E,KAAK0vE,GAC/B,OAAO,CAOjB,CACA,OAAO,CACT,EACMw1tB,EAAU,SAAA9oyB,GAAI,OAAIu1xB,GAAMgT,IAAoBvoyB,EAAM,EAClD2kJ,EAAW,SAAA3kJ,GAAI,OAAKgH,GAAWhH,EAAM,MAAQkjT,EAAQljT,KAAU8oyB,EAAQ9oyB,EAAM,EAE7Ey1yB,EAAoB3oP,EAASkkP,GACnC,MAAO,CACL9tyB,KAAMwnU,EACNtqP,WACAi9D,WACAu3pB,iBACAE,kBACAvM,mBACAsM,mBACAI,kBACArE,uBACAoE,wBACAD,eACAX,iBACAc,yBACAC,sBACAC,oCACAC,wBACA/M,yBACAiN,qBACArM,aAjDmB,SAAClpyB,EAAMsjF,GAC1B,IAAMj6B,EAAS+2B,EAASpgF,EAAK6iB,eAC7B,SAAUwmC,IAAUA,EAAOi6B,EAAMzgE,eACnC,EA+CEqgS,UACA4lf,UACAnkpB,WACA+wpB,UAzBgB,SAAA11yB,GAAI,OAAIu1xB,GAAM+f,IAAwBt1yB,IAAS2kJ,EAAS3kJ,EAAM,EA0B9Ey1yB,oBACArC,mBACAE,mBACAC,oBACAQ,mBAEJ,EAKM4B,GAAe,SAAAlhtB,GAAG,OAAI+hsB,GAAc/hsB,EAAK,KAAKnK,aAAc,EAC5D1zB,GAAQ,SAAAyqE,GACZ,IAAM5sC,EAAM4sC,EAAUpgI,SAAS,IAC/B,OAAuB,IAAfwzF,EAAI9yF,OAAe,IAAM8yF,EAAMA,GAAKnK,aAC9C,EACMsrtB,GAAW,SAAAC,GAEf,OAVgB,SAAArzyB,GAAK,MAAK,CAC1BA,MAAOmzyB,GAAanzyB,GACrB,CAQQszyB,CADOl/uB,GAAMi/uB,EAAW/tZ,KAAOlxV,GAAMi/uB,EAAWx1gB,OAASzpO,GAAMi/uB,EAAWv1gB,MAEnF,EAEMy1gB,GAAW,yDACXC,GAAY,gFACZH,GAAa,SAAC/tZ,EAAKznH,EAAOC,EAAMwzI,GAAK,MAAM,CAC/ChsB,MACAznH,QACAC,OACAwzI,QACD,EACKmiY,GAAmB,SAACnuZ,EAAKznH,EAAOC,EAAMwzI,GAC1C,IAAM/mX,EAAIntB,SAASkoX,EAAK,IAClB1zK,EAAIx0M,SAASygQ,EAAO,IACpB33R,EAAIk3B,SAAS0gQ,EAAM,IACnB73R,EAAImb,WAAWkwZ,GACrB,OAAO+hY,GAAW9ovB,EAAGqnL,EAAG1rO,EAAGD,EAC7B,EACM8oD,GAAa,SAAA2kvB,GACjB,GAAmB,gBAAfA,EACF,OAAOhjB,EAASpyvB,KAAK+0wB,GAAW,EAAG,EAAG,EAAG,IAE3C,IAAMM,EAAWJ,GAASv+vB,KAAK0+vB,GAC/B,GAAiB,OAAbC,EACF,OAAOjjB,EAASpyvB,KAAKm1wB,GAAiBE,EAAS,GAAIA,EAAS,GAAIA,EAAS,GAAI,MAE/E,IAAMC,EAAYJ,GAAUx+vB,KAAK0+vB,GACjC,OAAkB,OAAdE,EACKljB,EAASpyvB,KAAKm1wB,GAAiBG,EAAU,GAAIA,EAAU,GAAIA,EAAU,GAAIA,EAAU,KAErFljB,EAAS/gX,MAClB,EAGMkkY,GAAkB,SAAA1xwB,GAAK,OAAI4sB,GAAW5sB,GAAOryB,IAAIsjyB,IAAUtjyB,IAAI,SAAA69D,GAAC,MAAI,IAAMA,EAAE3tE,KAAK,GAAE8vuB,MAAM3tsB,EAAO,EAEhG2xwB,GAAS,WAA4B,IAKrCrE,EACAE,EANUp8N,EAAQ5wkB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAGohB,EAAMphB,UAAAxD,OAAA,EAAAwD,UAAA,QAAA0D,EAC7B0tyB,EAAiB,+HACjBC,EAAc,2BACdC,EAAkB,OAClBC,EAAiB,CAAC,EAGlBC,EAAgB9T,GAClBt8wB,IACF0rxB,EAAc1rxB,EAAOquxB,iBACrBzC,EAAgB5rxB,EAAOsuxB,oBAGzB,IADA,IAAM+B,EAAgB,8BAA0C9lwB,MAAM,KAC7D5uC,EAAI,EAAGA,EAAI00yB,EAAcj1yB,OAAQO,IACxCw0yB,EAAeE,EAAc10yB,IAAMy0yB,EAAgBz0yB,EACnDw0yB,EAAeC,EAAgBz0yB,GAAK00yB,EAAc10yB,GAEpD,IAAMuI,EAAO,CACXhH,MAAO,SAAAg9R,GACL,IAoDmBx0R,EAAQxD,EAAGC,EAAG0uC,EApD3B1zB,EAAS,CAAC,EACZmzxB,GAAY,EACVC,EAAe/gO,EAASghO,cACxBC,EAAoBjhO,EAASkhO,qBAAuBxsyB,EACpDysyB,EAAW,SAACn0wB,EAAQihG,EAAQmzqB,GAChC,IAAM93xB,EAAMqE,EAAOqf,EAAS,OAASihG,GACrC,GAAK3kH,EAAL,CAGA,IAAMD,EAAQsE,EAAOqf,EAAS,SAAWihG,GACzC,GAAK5kH,EAAL,CAGA,IAAME,EAASoE,EAAOqf,EAAS,UAAYihG,GAC3C,GAAK1kH,EAAL,CAGA,IAAMH,EAAOuE,EAAOqf,EAAS,QAAUihG,GACvC,GAAK7kH,EAAL,CAKA,IAFA,IAAMumO,EAAM,CAACrmO,EAAKD,EAAOE,EAAQH,GAC7Bjd,EAAIwjP,EAAI/jP,OAAS,EACdO,KACDwjP,EAAIxjP,KAAOwjP,EAAIxjP,EAAI,KAIrBA,GAAK,GAAKi1yB,IAGdzzxB,EAAOqf,EAASihG,IAAiB,IAAP9hI,EAAWwjP,EAAI,GAAKA,EAAIz2L,KAAK,YAChDvrC,EAAOqf,EAAS,OAASihG,UACzBtgH,EAAOqf,EAAS,SAAWihG,UAC3BtgH,EAAOqf,EAAS,UAAYihG,UAC5BtgH,EAAOqf,EAAS,QAAUihG,GAfjC,CAJA,CAJA,CAJA,CA4BF,EACMozqB,EAAc,SAAA3yyB,GAClB,IAAMjC,EAAQkhB,EAAOjf,GACrB,GAAKjC,EAAL,CAKA,IAFA,IAAMuhD,EAASvhD,EAAML,QAAQ,MAAQ,EAAI,CAACK,GAASA,EAAMsuC,MAAM,KAC3D5uC,EAAI6hD,EAAOpiD,OACRO,KACL,GAAI6hD,EAAO7hD,KAAO6hD,EAAO,GACvB,OAAO,EAIX,OADArgC,EAAOjf,GAAOs/C,EAAO,IACd,CATP,CAUF,EAgBMujB,EAAS,SAAArkE,GAEb,OADA4zyB,GAAY,EACLH,EAAezzyB,EACxB,EACM+jE,EAAS,SAAC/jE,EAAKo0yB,GASnB,OARIR,IACF5zyB,EAAMA,EAAI2f,QAAQ,eAAgB,SAAA3f,GAChC,OAAOyzyB,EAAezzyB,EACxB,IAEGo0yB,IACHp0yB,EAAMA,EAAI2f,QAAQ,gBAAiB,OAE9B3f,CACT,EACMq0yB,EAA0B,SAAAC,GAC9B,OAAO3yyB,OAAOowD,aAAap1B,SAAS23wB,EAAOx/xB,MAAM,GAAI,IACvD,EACMy/xB,EAAqB,SAAAh1yB,GACzB,OAAOA,EAAMogB,QAAQ,gBAAiB00xB,EACxC,EACMG,EAAa,SAAC3zyB,EAAOi0B,EAAK2/wB,EAAMC,EAAM10yB,EAAK20yB,GAE/C,GADA30yB,EAAMA,GAAO20yB,EAGX,MAAO,KADP30yB,EAAM+jE,EAAO/jE,IACI2f,QAAQ,MAAO,OAAS,IAG3C,GADAmV,EAAMivC,EAAOjvC,GAAO2/wB,GAAQC,GAAQ,KAC/B5hO,EAAS8hO,kBAAmB,CAC/B,IAAMr5oB,EAAYzmI,EAAInV,QAAQ,aAAc,IAC5C,GAAI,oBAAoBhf,KAAK46J,GAC3B,MAAO,GAET,IAAKu3a,EAAS+hO,qBAAuB,oBAAoBl0yB,KAAK46J,GAC5D,MAAO,EAEX,CAIA,OAHIs4oB,IACF/+wB,EAAM++wB,EAAan0yB,KAAKq0yB,EAAmBj/wB,EAAK,UAE3C,QAAUA,EAAInV,QAAQ,MAAO,OAAS,IAC/C,EACA,GAAI69Q,EAAK,CAKP,IAAIrlL,EAHJqlL,GADAA,EAAMA,EAAI79Q,QAAQ,mBAAoB,KAC5BA,QAAQ,oBAAqB0kD,GAAQ1kD,QAAQ,yBAA0B,SAAA3f,GAC/E,OAAOA,EAAI2f,QAAQ,QAAS0kD,EAC9B,GAEA,IADY,IAAAlzD,EAAA,WAEVoiyB,EAAY1rqB,UAAY1vB,EAAQ7tG,MAAQ6tG,EAAQ,GAAGz5G,OACnD,IAAI3B,EAAOo7G,EAAQ,GAAGx4F,QAAQ6zxB,EAAiB,IAAI5zxB,cAC/CrgB,EAAQ44G,EAAQ,GAAGx4F,QAAQ6zxB,EAAiB,IAChD,GAAIz2yB,GAAQwC,EAAO,CAGjB,GAFAxC,EAAOw3yB,EAAmBx3yB,GAC1BwC,EAAQg1yB,EAAmBh1yB,IACU,IAAjCxC,EAAKmC,QAAQw0yB,KAAgD,IAAvB32yB,EAAKmC,QAAQ,KAAc,OAAD,EAGpE,IAAK4zkB,EAAS8hO,oBAA+B,aAAT73yB,GAAuB,4BAA4B4D,KAAKpB,IAAU,OAAD,EAGxF,gBAATxC,GAAoC,QAAVwC,EAC5BA,EAAQ,OACU,UAATxC,GAA6B,qBAATA,IAC7BwC,EAAQA,EAAMqgB,eAEZszD,EAAS4/f,EAASgiO,kBAAiD,QAA7BhiO,EAASgiO,iBACjDxmvB,GAAW/uD,GAAOs8D,KAAK,SAAA2jX,GACY,WAA7BszJ,EAASgiO,iBAA+C,IAAft1X,EAAK3O,QAChDtxa,EAAQ6zyB,GA/JT,SAAA5zX,GAAI,MAAI,QAAQ99a,OAAO89a,EAAK36B,IAAK,KAAKnjZ,OAAO89a,EAAKpiJ,MAAO,KAAK17R,OAAO89a,EAAKniJ,KAAM,KAAK37R,OAAO89a,EAAK3O,MAAO,IAAK,CA+JpF7ya,CAASwhb,IAErC,GAEFjgb,EAAQA,EAAMogB,QAAQ2zxB,EAAgBkB,GACtC/zxB,EAAO1jB,GAAQ62yB,EAAY7vuB,EAAOxkE,GAAO,GAAQA,CACnD,CACF,EA5BO44G,EAAUo7rB,EAAYh/vB,KAAKipP,IAAIrsR,IA6BtC8iyB,EAAS,SAAU,IAAI,GACvBA,EAAS,SAAU,UACnBA,EAAS,SAAU,UACnBA,EAAS,SAAU,UACnBA,EAAS,UAAW,IACpBA,EAAS,SAAU,IAjGFjryB,EAkGP,SAlGkBvD,EAkGQ,eAlGL0uC,EAkGqB,eAjG/CggwB,EADoB3uyB,EAkGL,iBA9Ff2uyB,EAAY1uyB,IAGZ0uyB,EAAYhgwB,KAGjB1zB,EAAOzX,GAAUyX,EAAOjb,GAAK,IAAMib,EAAOhb,GAAK,IAAMgb,EAAO0zB,UACrD1zB,EAAOjb,UACPib,EAAOhb,UACPgb,EAAO0zB,IAsFQ,gBAAlB1zB,EAAOiiT,eACFjiT,EAAOiiT,OAEe,SAA3BjiT,EAAO,wBACFA,EAAO,eAElB,CACA,OAAOA,CACT,EACAnhB,UAAW,SAACmhB,EAAQqrxB,GAClB,IAAItugB,EAAM,GACJu3gB,EAAkB,SAACC,EAAUC,GACjC,IAAMC,EAAYD,EAAeD,GACjC,GAAIE,EACF,IAAK,IAAIj2yB,EAAI,EAAG09C,EAAIu4vB,EAAUx2yB,OAAQO,EAAI09C,EAAG19C,IAAK,CAChD,IAAMlC,EAAOm4yB,EAAUj2yB,GACjBM,EAAQkhB,EAAO1jB,GACjBwC,IACFi+R,IAAQA,EAAI9+R,OAAS,EAAI,IAAM,IAAM3B,EAAO,KAAOwC,EAAQ,IAE/D,CAEJ,EAsBA,OAVIusyB,GAAekD,GACjB+F,EAAgB,IAAK/F,GACrB+F,EAAgBjJ,EAAakD,IAE7Bpd,GAAOnxwB,EAAQ,SAAClhB,EAAOxC,GACjBwC,GAhBQ,SAACxC,EAAMi4yB,GACrB,IAAK9F,IAAkB8F,EACrB,OAAO,EAET,IAAIG,EAAWjG,EAAc,KAC7B,QAAIiG,GAAYA,EAASp4yB,KAGzBo4yB,EAAWjG,EAAc8F,KACJG,EAASp4yB,GAChC,CAMiBkjT,CAAQljT,EAAM+uyB,KACzBtugB,IAAQA,EAAI9+R,OAAS,EAAI,IAAM,IAAM3B,EAAO,KAAOwC,EAAQ,IAE/D,GAEKi+R,CACT,GAEF,OAAOh2R,CACT,EAEMqhE,GAAa,CACjBusuB,aAAa,EACbC,QAAQ,EACRC,QAAQ,EACR5htB,aAAa,EACb6htB,iBAAiB,EACjBC,iBAAiB,EACjBC,eAAe,EACfC,aAAa,GAITC,GAAmB,SAAA5syB,GAAK,OAAIqmxB,EAAWrmxB,EAAMqe,iBAF7B,SAAAre,GAAK,OAAIA,aAAiBwgE,OAAS7e,EAAW3hD,EAAM2gE,UAAW,CAEfksuB,CAAc7syB,EAAO,EACrF8syB,GAAU,SAACt/Q,EAAelyhB,GAC9B,IAAM0E,EAAQ1E,QAAmCA,EAAO,CAAC,EACzD,IAAK,IAAMtH,KAAQw5hB,EACZ+7P,GAAMzptB,GAAY9rE,KACrBgM,EAAMhM,GAAQw5hB,EAAcx5hB,IAYhC,OATIsyxB,EAAc94P,EAAc5vgB,gBAC9B5d,EAAM4d,aAAe,kBAAM4vgB,EAAc5vgB,cAAe,GAEtD0owB,EAAc94P,EAAcn9R,oBAC9BrwP,EAAMqwP,iBAAmB,SAAA08iB,GAAM,OAAIv/Q,EAAcn9R,iBAAiB08iB,EAAQ,GAExEzmB,EAAc94P,EAAcw/Q,mBAC9BhtyB,EAAMgtyB,gBAAkB,kBAAMx/Q,EAAcw/Q,iBAAkB,GAEzDhtyB,CACT,EACMityB,GAAc,SAAC/1yB,EAAMs2hB,EAAe0/Q,EAAgB5xyB,GACxD,IAAI0kD,EACEhgD,EAAQ8syB,GAAQt/Q,EAAelyhB,GA8BrC,OA7BA0E,EAAM9I,KAAOA,EACTmvxB,EAAWrmxB,EAAMC,UACnBD,EAAMC,OAAqC,QAA3B+/C,EAAKhgD,EAAMirrB,kBAAoC,IAAZjroB,EAAgBA,EAAKktvB,GAEtEN,GAAiBp/Q,KACnBxthB,EAAMqe,eAAiB,WACrBre,EAAM6gE,kBAAmB,EACzB7gE,EAAM4urB,mBAAqB99U,EACvBnvT,EAAW6re,EAAcnvgB,iBAC3BmvgB,EAAcnvgB,gBAElB,EACAre,EAAMuoB,gBAAkB,WACtBvoB,EAAMgvrB,cAAe,EACrBhvrB,EAAM+qrB,qBAAuBj6U,EACzBnvT,EAAW6re,EAAcjlgB,kBAC3BilgB,EAAcjlgB,iBAElB,EACAvoB,EAAM8jO,yBAA2B,WAC/B9jO,EAAMmtyB,8BAAgCr8b,EACtC9wW,EAAMuoB,iBACR,EA7C0B,SAAAvoB,GAAK,OAAIA,EAAM4urB,qBAAuB99U,GAAU9wW,EAAM4urB,qBAAuBq4F,CAAM,CA8CxGmmB,CAAsBptyB,KACzBA,EAAM4urB,oBAAgD,IAA3B5urB,EAAM6gE,iBAA4BiwS,EAASm2a,EACtEjnxB,EAAM+qrB,sBAA8C,IAAvB/qrB,EAAMgvrB,aAAwBl+U,EAASm2a,EACpEjnxB,EAAMmtyB,8BAAgClmB,IAGnCjnxB,CACT,EAGMqtyB,GAAe,+BACf9kgB,GAAW,SAACtoS,EAAQjM,EAAMyC,EAAU+qE,GACxCvhE,EAAOif,iBAAiBlrB,EAAMyC,EAAU+qE,IAAW,EACrD,EACM8ruB,GAAc,SAACrtyB,EAAQjM,EAAMyC,EAAU+qE,GAC3CvhE,EAAOgf,oBAAoBjrB,EAAMyC,EAAU+qE,IAAW,EACxD,EAEM+6N,GAAM,SAACixP,EAAelyhB,GAC1B,IAAM0E,EAAQityB,GAAYz/Q,EAAct2hB,KAAMs2hB,EAAepwgB,SAAU9hB,GACvE,GAHmB,SAAA0E,GAAK,OAAIsmxB,EAActmxB,IAAUqtyB,GAAaz1yB,KAAKoI,EAAM9I,KAAM,CAG9Eq2yB,CAAa//Q,IAAkB7lW,EAAY6lW,EAAczvgB,SAAW4pK,EAAY6lW,EAAcn1gB,SAAU,CAC1G,IAAMm1xB,EAAWxtyB,EAAMC,OAAOuna,eAAiBpqZ,SACzConS,EAAMgpf,EAASnwxB,gBACf2yC,EAAOw9uB,EAASx9uB,KAChBy9uB,EAAaztyB,EACnBytyB,EAAW1vxB,MAAQyvgB,EAAcn1gB,SAAWmsS,GAAOA,EAAI5qE,YAAc5pL,GAAQA,EAAK4pL,YAAc,IAAM4qE,GAAOA,EAAI85e,YAActuuB,GAAQA,EAAKsuuB,YAAc,GAC1JmP,EAAWxvxB,MAAQuvgB,EAAcl1gB,SAAWksS,GAAOA,EAAI7qE,WAAa3pL,GAAQA,EAAK2pL,WAAa,IAAM6qE,GAAOA,EAAI+5e,WAAavuuB,GAAQA,EAAKuuuB,WAAa,EACxJ,CACA,OAAOv+xB,CACT,EACM0tyB,GAAc,SAACrhnB,EAAK51L,EAAUk3yB,GAClC,IAAMnpf,EAAMn4H,EAAIjvK,SACdpd,EAAQ,CACN9I,KAAM,SAEV,GAAIy2yB,EAAWC,UACbn3yB,EAASuJ,OADX,CAIA,IAGM6tyB,EAAe,WACnBP,GAAYjhnB,EAAK,mBAAoBwhnB,GACrCP,GAAYjhnB,EAAK,OAAQwhnB,GACpBF,EAAWC,YACdD,EAAWC,WAAY,EACvBn3yB,EAASuJ,IAEXqsL,EAAM,IACR,EAV4B,aAAnBm4H,EAAIp/O,YAAgD,gBAAnBo/O,EAAIp/O,YAAgCo/O,EAAIx0P,KAYhF69uB,IAEAtlgB,GAASl8G,EAAK,mBAAoBwhnB,GAE/BF,EAAWC,WACdrlgB,GAASl8G,EAAK,OAAQwhnB,EAnBxB,CAqBF,EACMC,GAAU,WAQb,OAAA79xB,EAPD,SAAA69xB,IAAcx+xB,EAAA,KAAAw+xB,GACZ32yB,KAAKy2yB,WAAY,EACjBz2yB,KAAKkiB,OAAS,CAAC,EACfliB,KAAKkK,MAAQ,EACblK,KAAK42yB,QAxDkB,cAwDe,IAAIvzyB,MAAQvF,SAAS,IAC3DkC,KAAKyhQ,WAAa,cAAex7O,SAASC,gBAC1ClmB,KAAKkK,MAAQ,CACf,EAAC,EAAA5I,IAAA,OAAAjC,MACD,SAAKyJ,EAAQ6qC,EAAOr0C,EAAUqsU,GAC5B,IACIkre,EAQA90xB,EATEza,EAAOtH,KAEPk1L,EAAMvzL,OACNm1yB,EAAuB,SAAAjxkB,GAC3Bv+N,EAAKyvyB,gBAAgB3xgB,GAAIv/D,GAAO3wC,EAAIrsL,OAAQkZ,EAC9C,EACA,IAAKjZ,GAAU61xB,GAAS71xB,IAAWs8W,GAAUt8W,GAC3C,OAAOxJ,EAGJwJ,EAAOxB,EAAKsvyB,SAKf70xB,EAAKjZ,EAAOxB,EAAKsvyB,UAJjB70xB,EAAKza,EAAK4C,QACVpB,EAAOxB,EAAKsvyB,SAAW70xB,EACvBza,EAAK4a,OAAOH,GAAM,CAAC,GAIrB4pT,EAAQA,GAAS7iU,EAGjB,IAFA,IAAMkuyB,EAAYrjwB,EAAMhG,MAAM,KAC1B5uC,EAAIi4yB,EAAUx4yB,OACXO,KAAK,CACV,IAAIlC,EAAOm6yB,EAAUj4yB,GACjBk4yB,EAAgBH,EAChBzsuB,GAAU,EACV6suB,GAAW,EACF,qBAATr6yB,IACFA,EAAO,SAELyK,EAAKmvyB,WAAsB,UAAT55yB,GAA0C,aAAtBiM,EAAOmlE,WAC/C3uE,EAASE,KAAKmsU,EAAOvmC,GAAI,CACvBrlS,KAAMlD,MAILyK,EAAKm6P,YAAwB,YAAT5kQ,GAA+B,aAATA,IAC7CwtE,GAAU,EACV6suB,EAAoB,YAATr6yB,EAAqB,QAAU,OAC1Co6yB,EAAgB,SAAApxkB,GACd,IAAMh9N,EAAQu8R,GAAIv/D,GAAO3wC,EAAIrsL,OAC7BA,EAAM9I,KAAsB,UAAf8I,EAAM9I,KAAmB,UAAY,WAClDuH,EAAKyvyB,gBAAgBluyB,EAAOkZ,EAC9B,IAEF80xB,EAAevvyB,EAAK4a,OAAOH,GAAIllB,IAehB,UAATA,GAAoByK,EAAKmvyB,UAC3Bn3yB,EAAS8lS,GAAI,CACXrlS,KAAMlD,KAGRg6yB,EAAa/yyB,KAAK,CAChByhE,KAAMjmE,EACNqsU,WApBJrkU,EAAK4a,OAAOH,GAAIllB,GAAQg6yB,EAAe,CAAC,CACtCtxuB,KAAMjmE,EACNqsU,UAEFkre,EAAaK,SAAWA,EACxBL,EAAaxsuB,QAAUA,EACvBwsuB,EAAaI,cAAgBA,EAChB,UAATp6yB,EACF05yB,GAAYztyB,EAAQmuyB,EAAe3vyB,GAEnC8pS,GAAStoS,EAAQouyB,GAAYr6yB,EAAMo6yB,EAAe5suB,IAcxD,CAEA,OADAvhE,EAAS+tyB,EAAe,KACjBv3yB,CACT,GAAC,CAAAgC,IAAA,SAAAjC,MACD,SAAOyJ,EAAQ6qC,EAAOr0C,GACpB,IAAKwJ,GAAU61xB,GAAS71xB,IAAWs8W,GAAUt8W,GAC3C,OAAO9I,KAET,IAAM+hB,EAAKjZ,EAAO9I,KAAK42yB,SACvB,GAAI70xB,EAAI,CACN,IAAI0mU,EAAWzoV,KAAKkiB,OAAOH,GAC3B,GAAI4xB,EAGF,IAFA,IAAMqjwB,EAAYrjwB,EAAMhG,MAAM,KAC1B5uC,EAAIi4yB,EAAUx4yB,OACXO,KAAK,CACV,IAAMlC,EAAOm6yB,EAAUj4yB,GACjB83yB,EAAepud,EAAS5rV,GAC9B,GAAIg6yB,EAAc,CAChB,GAAIv3yB,EAEF,IADA,IAAIkhb,EAAKq2X,EAAar4yB,OACfgib,KACL,GAAIq2X,EAAar2X,GAAIj7W,OAASjmE,EAAU,CACtC,IAAM23yB,EAAgBJ,EAAaI,cAC7BC,EAAWL,EAAaK,SAC5B7suB,EAAUwsuB,EAAaxsuB,QACnB8suB,EAAkBN,EAAajiyB,MAAM,EAAG4ra,GAAIh/a,OAAOq1yB,EAAajiyB,MAAM4ra,EAAK,IACjF22X,EAAgBF,cAAgBA,EAChCE,EAAgBD,SAAWA,EAC3BC,EAAgB9suB,QAAUA,EAC1Bo+Q,EAAS5rV,GAAQs6yB,CACnB,CAGC73yB,GAAoC,IAAxBu3yB,EAAar4yB,gBACrBiqV,EAAS5rV,GAChBs5yB,GAAYrtyB,EAAQ+tyB,EAAaK,UAAYr6yB,EAAMg6yB,EAAaI,cAAeJ,EAAaxsuB,SAEhG,CACF,MAEAqntB,GAAOjpc,EAAU,SAACoud,EAAch6yB,GAC9Bs5yB,GAAYrtyB,EAAQ+tyB,EAAaK,UAAYr6yB,EAAMg6yB,EAAaI,cAAeJ,EAAaxsuB,QAC9F,GACAo+Q,EAAW,CAAC,EAEd,IAAK,IAAM5rV,KAAQ4rV,EACjB,GAAI2pc,GAAM3pc,EAAU5rV,GAClB,OAAOmD,YAGJA,KAAKkiB,OAAOH,GACnB,WACSjZ,EAAO9I,KAAK42yB,QACrB,CAAE,MAAOtswB,GACPxhC,EAAO9I,KAAK42yB,SAAW,IACzB,CACF,CACA,OAAO52yB,IACT,GAAC,CAAAsB,IAAA,OAAAjC,MACD,SAAKyJ,EAAQjM,EAAMkX,GACjB,OAAO/T,KAAKsd,SAASxU,EAAQjM,EAAMkX,EACrC,GAAC,CAAAzS,IAAA,WAAAjC,MACD,SAASyJ,EAAQjM,EAAMkX,GACrB,IAAKjL,GAAU61xB,GAAS71xB,IAAWs8W,GAAUt8W,GAC3C,OAAO9I,KAET,IAAM6I,EAAQu8R,GAAI,CAChBrlS,KAAMlD,EACNiM,UACCiL,GACH,EAAG,CACD,IAAMgO,EAAKjZ,EAAO9I,KAAK42yB,SACnB70xB,GACF/hB,KAAK+2yB,gBAAgBluyB,EAAOkZ,GAE9BjZ,EAASA,EAAOivG,YAAcjvG,EAAOuna,eAAiBvna,EAAOqjd,aAAerjd,EAAO8vZ,YACrF,OAAS9vZ,IAAWD,EAAM+qrB,wBAC1B,OAAO5zrB,IACT,GAAC,CAAAsB,IAAA,QAAAjC,MACD,SAAMyJ,GACJ,IAAKA,GAAU61xB,GAAS71xB,IAAWs8W,GAAUt8W,GAC3C,OAAO9I,KAQT,GANI8I,EAAO9I,KAAK42yB,UACd52yB,KAAKqxuB,OAAOvouB,GAETA,EAAO83B,uBACV93B,EAASA,EAAOmd,UAEdnd,GAAUA,EAAO83B,qBAAsB,CACzC5gC,KAAKqxuB,OAAOvouB,GAGZ,IAFA,IAAMm0E,EAAWn0E,EAAO83B,qBAAqB,KACzC7hC,EAAIk+E,EAASz+E,OACVO,MACL+J,EAASm0E,EAASl+E,IACPiB,KAAK42yB,UACd52yB,KAAKqxuB,OAAOvouB,EAGlB,CACA,OAAO9I,IACT,GAAC,CAAAsB,IAAA,UAAAjC,MACD,WACEW,KAAKkiB,OAAS,CAAC,CACjB,GAAC,CAAA5gB,IAAA,SAAAjC,MACD,SAAOzC,GAKL,OAJIA,IACFA,EAAEsqB,iBACFtqB,EAAE+vO,6BAEG,CACT,GAAC,CAAArrO,IAAA,kBAAAjC,MACD,SAAgBwmO,EAAK9jN,GACnB,IAAMk4E,EAAYj6F,KAAKkiB,OAAOH,GACxB80xB,EAAe58sB,GAAaA,EAAU4rI,EAAI9lO,MAChD,GAAI82yB,EACF,IAAK,IAAI93yB,EAAI,EAAG09C,EAAIo6vB,EAAar4yB,OAAQO,EAAI09C,EAAG19C,IAAK,CACnD,IAAMO,EAAWu3yB,EAAa93yB,GAI9B,GAHIO,IAAwD,IAA5CA,EAASimE,KAAK/lE,KAAKF,EAASqsU,MAAO9lG,IACjDA,EAAI3+M,iBAEF2+M,EAAImwkB,gCACN,MAEJ,CAEJ,IAAC,CA7Ma,GA+MhBW,GAAWttuB,MAAQ,IAAIstuB,GAEvB,IAAMS,GAASlhB,GAAMv6tB,KACf26tB,GAAOJ,GAAMI,KACb+gB,GAAoB,iBACpBC,GAAkBphB,GAAMC,QAAQ,2EAA4E,KAC5GohB,GAAqB,SAAC/nxB,EAAK3yB,EAAMwC,GACjC6vxB,EAAW7vxB,IAAoB,KAAVA,EACvB24xB,GAASxowB,EAAK3yB,GAEd86xB,GAAMnowB,EAAK3yB,EAAMwC,EAErB,EACMm4yB,GAAqB,SAAA36yB,GAAI,OAAIA,EAAK4iB,QAAQ,SAAU,SAAAolC,GAAC,MAAI,IAAMA,EAAEnlC,aAAa,EAAE,EAChF+3xB,GAAgB,SAACjxvB,EAAM0pE,GAC3B,IAAIrvD,EAAM,EACV,GAAIra,EACF,IAAK,IAAIkxvB,EAAelxvB,EAAKwkC,SAAU63sB,EAAWr8uB,EAAK0kY,gBAAiB23W,EAAUA,EAAWA,EAAS33W,gBAAiB,CACrH,IAAMlgW,EAAW63sB,EAAS73sB,WACtBklC,IAAcyuqB,GAASkE,IACrB73sB,IAAa0stB,GAAiB7U,EAAS1+xB,KAAK3F,UAIlDqiE,IACA62uB,EAAe1stB,EACjB,CAEF,OAAOnqB,CACT,EACM82uB,GAA0B,SAACp3xB,EAAQiP,GACvC,IAAMk6oB,EAAWmuH,GAAMrowB,EAAK,SACtBnwB,EAAQkhB,EAAOnhB,UAAUmhB,EAAOjgB,MAAMopqB,GAAW7sqB,GAAK2yB,IAC5D+nxB,GAAmB/nxB,EAAK6nxB,GAAmBh4yB,EAC7C,EAQMu4yB,GAAe,SAACC,EAAMC,EAASp3M,GACnC,IAAMq3M,EAAiBP,GAAmBM,GACtC5oB,EAAWxuL,IAA0B,KAAbA,EAC1B46L,GAASuc,EAAME,GAEf9c,GAAM4c,EAAME,EAZa,SAACr3M,EAAUo3M,GACtC,OAAIngrB,EAAS+oe,GACJ0xL,GAAMklB,GAAiBQ,GAAWp3M,EAAW,GAAKA,EAAW,KAE7DA,CAEX,CAMgCs3M,CAAqBt3M,EAAUq3M,GAE/D,EA0CME,GAAW,SAAC5qf,GAAwB,IAAnBulR,EAAQ5wkB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC3Bk2yB,EAAc,CAAC,EACfhjnB,EAAMvzL,OACNssgB,EAAQ,CAAC,EACX7qd,EAAU,EAGR+0vB,EAAmB3roB,GAASu8nB,WAAWhQ,GAAavpD,QAAQnib,GAAM,CACtEi7e,eAAgB11N,EAAS01N,eACzBC,eAAgB31N,EAAS21N,iBAErB6P,EAAc,GACdh1xB,EAASwvjB,EAASxvjB,OAASwvjB,EAASxvjB,OAASuqxB,GAAO,CAAC,GACrDptxB,EAAS4yxB,GAAO,CACpBS,cAAehhO,EAASghO,cACxBE,oBAAqBlhO,EAASkhO,oBAC9Bc,gBAAiBhiO,EAASgiO,iBACzBhiO,EAASxvjB,QACNlB,EAAS0wjB,EAASylO,UAAY,IAAI1B,GAAeA,GAAWttuB,MAC5DwmuB,EAAmBzsxB,EAAOgixB,mBAQ1B5gyB,EAAM,SAAAgrB,GAAG,OAAIA,GAAO69R,GAAOr6O,EAASxjD,GAAO69R,EAAIt4L,eAAevlG,GAAOA,CAAI,EACzEmnS,EAAO,SAAAnnS,GACX,IAAMnwB,EAAQmF,EAAIgrB,GAClB,OAAO2/vB,EAAc9vxB,GAAS05xB,GAAavpD,QAAQnwuB,GAAS,IAC9D,EACMi5yB,EAAY,SAAC9oxB,EAAK3yB,GAA2B,IAC7CwC,EADwB25Y,EAAUh3Y,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,GAEnC61yB,EAAOlhf,EAAKnnS,GAClB,GAAI2/vB,EAAc0oB,IAASxgB,GAAYwgB,GAAO,CAC5C,IAAM1rpB,EAAOospB,EAAU17yB,GAErBwC,EADE8sJ,GAAQA,EAAK3nJ,IACP2nJ,EAAK3nJ,IAAIqzyB,EAAK14V,IAAKtid,GAEnBg7xB,GAAMggB,EAAMh7yB,EAExB,CACA,OAAOsyxB,EAAc9vxB,GAASA,EAAQ25Y,CACxC,EACMw/Z,EAAa,SAAAhpxB,GACjB,IAAMg3B,EAAOhiD,EAAIgrB,GACjB,OAAO0/vB,EAAW1ouB,GAAQ,GAAKA,EAAKksF,UACtC,EACM+lqB,EAAY,SAACjpxB,EAAK3yB,EAAMwC,GAC5BkkD,EAAI/zB,EAAK,SAAA5yB,GACP,GAAIohyB,GAAYphyB,GAAI,CAClB,IAAMi7yB,EAAO9e,GAAavpD,QAAQ5yuB,GAC5Bk4C,EAAgB,KAAVz1C,EAAe,KAAOA,EAC5BuI,EAAgBiwxB,GAAMggB,EAAMh7yB,GAC5BsvJ,EAAOospB,EAAU17yB,GACnBsvJ,GAAQA,EAAK5nJ,IACf4nJ,EAAK5nJ,IAAIszyB,EAAK14V,IAAKrqa,EAAKj4C,GAExB06yB,GAAmBM,EAAMh7yB,EAAMi4C,GAE7BltC,IAAkBktC,GAAO89hB,EAAS8lO,aACpC9lO,EAAS8lO,YAAY,CACnBC,QAASd,EAAK14V,IACdnxJ,SAAUnxT,EACVq/uB,UAAWpnsB,GAGjB,CACF,EACF,EAIM8jwB,EAAU,WAAH,OAAShmO,EAASimO,cAAgBxrf,EAAIx0P,IAAK,EAUlDigvB,EAAW,SAACtpxB,EAAK03wB,GAAO,OAAKD,GAAO55e,EAAIx0P,KAAMr0D,EAAIgrB,GAAM03wB,EAAS,EAqBjE6R,EAAW,SAACvpxB,EAAK3yB,EAAMywG,GAC3B,IAn2EiB9mD,EAm2EXqxvB,EAAOrzyB,EAAIgrB,GACjB,IAAI0/vB,EAAW2oB,KAAU5Z,GAAc4Z,IAp2Ed7Z,GAARx3uB,EAo2E6CqxvB,IAp2EM,+BAAtBrxvB,EAAKwqB,cAu2EnD,OAAIs8B,EACK4trB,GAAMnC,GAAavpD,QAAQqoE,GAAOL,GAAmB36yB,KAG/C,WADbA,EAAOA,EAAK4iB,QAAQ,SAAU,SAACna,EAAGC,GAAC,OAAKA,EAAE4hF,aAAa,MAErDtqF,EAAO,YAEFg7yB,EAAK33xB,MAAQ23xB,EAAK33xB,MAAMrjB,QAAQ6I,EAE3C,EACMqrY,EAAU,SAAAvhX,GACd,IAAMqoxB,EAAOrzyB,EAAIgrB,GACjB,IAAKqoxB,EACH,MAAO,CACLngwB,EAAG,EACHs1B,EAAG,GAGP,IAAIt1B,EAAIqhwB,EAASlB,EAAM,SACnB7quB,EAAI+ruB,EAASlB,EAAM,UAOvB,OANKngwB,IAA0B,IAArBA,EAAE14C,QAAQ,QAClB04C,EAAI,KAEDs1B,IAA0B,IAArBA,EAAEhuE,QAAQ,QAClBguE,EAAI,KAEC,CACLt1B,EAAGjb,SAASib,EAAG,KAAOmgwB,EAAK9ypB,aAAe8ypB,EAAK1xxB,YAC/C6mD,EAAGvwC,SAASuwC,EAAG,KAAO6quB,EAAK/hkB,cAAgB+hkB,EAAKzxxB,aAEpD,EAYMquB,EAAK,SAACjlB,EAAK8oG,GACf,IAAK9oG,EACH,OAAO,EAET,IAAMwpxB,EAAO7qsB,EAAU3+E,GAAOA,EAAM,CAACA,GACrC,OAAO6mc,GAAO2iV,EAAM,SAAAp8yB,GAClB,OAAOq8xB,GAAKF,GAAavpD,QAAQ5yuB,GAAI07H,EACvC,EACF,EACM2grB,EAAa,SAACzpxB,EAAK8oG,EAAUnwC,EAAMwnY,GACvC,IAAM1vd,EAAS,GACXumD,EAAOhiD,EAAIgrB,GACfmgc,OAAsBjqd,IAAZiqd,EACV,IAAMupV,EAAe/wtB,IAAgC,SAAvBywtB,IAAUv/rB,SAAsBu/rB,IAAU7gsB,WAAa,MACrF,GAAI/kC,EAASslD,GACX,GAAiB,MAAbA,EACFA,EAAW0lqB,OACN,CACL,IAAMmb,EAAc7grB,EACpBA,EAAW,SAAA9xE,GAAI,OAAI/R,EAAG+R,EAAM2yvB,EAAa,CAC3C,CAEF,KAAO3yvB,KACDA,IAAS0yvB,GAAgBhqB,EAAW1ouB,EAAKwkC,WAAa8zsB,GAAat4uB,IAASu4uB,GAAmBv4uB,KADxF,CAIX,IAAK8xE,GAAYA,EAAS9xE,GAAO,CAC/B,IAAImpa,EAGF,MAAO,CAACnpa,GAFRvmD,EAAO6D,KAAK0iD,EAIhB,CACAA,EAAOA,EAAKuxD,UACd,CACA,OAAO43W,EAAU1vd,EAAS,IAC5B,EAKMm5yB,EAAW,SAAC5yvB,EAAM8xE,EAAUz7H,GAChC,IAAI0oE,EAAO+yD,EACX,GAAI9xE,EAAM,CACJwsB,EAASslD,KACX/yD,EAAO,SAAA/e,GACL,OAAO/R,EAAG+R,EAAM8xE,EAClB,GAEF,IAAK,IAAIuqqB,EAAWr8uB,EAAK3pD,GAAOgmyB,EAAUA,EAAWA,EAAShmyB,GAC5D,GAAI2tD,EAAW+a,IAASA,EAAKs9tB,GAC3B,OAAOA,CAGb,CACA,OAAO,IACT,EASMt/uB,EAAM,SAAU/zB,EAAK+1C,EAAMomQ,GAC/B,IAAM5nT,EAAU4nT,QAAqCA,EAAQ3rU,KAC7D,GAAImuG,EAAU3+E,GAAM,CAClB,IAAMvvB,EAAS,GAOf,OANAm3yB,GAAO5nxB,EAAK,SAAC5yB,EAAGmC,GACd,IAAMynD,EAAOhiD,EAAI5H,GACb4pD,GACFvmD,EAAO6D,KAAKyhE,EAAK/lE,KAAKukB,EAASyiC,EAAMznD,GAEzC,GACOkB,CACT,CACE,IAAMumD,EAAOhiD,EAAIgrB,GACjB,QAAQg3B,GAAe+e,EAAK/lE,KAAKukB,EAASyiC,EAE9C,EACM6yvB,EAAa,SAAC7pxB,EAAKu1Q,GACvBxhP,EAAI/zB,EAAK,SAAAqoxB,GACPnmB,GAAO3sf,EAAO,SAAC1lS,EAAOxC,GACpB47yB,EAAUZ,EAAMh7yB,EAAMwC,EACxB,EACF,EACF,EACMi6yB,EAAU,SAAC9pxB,EAAKw8V,GACpBzoU,EAAI/zB,EAAK,SAAA5yB,GACP,IAAMi7yB,EAAO9e,GAAavpD,QAAQ5yuB,GAClCo1F,GAAM6ltB,EAAM7rb,EACd,EACF,EACMx+W,EAAM,SAACw7W,EAAWnsX,EAAMkoS,EAAOinF,EAAMn0U,GAAM,OAAK0L,EAAIylU,EAAW,SAAAA,GACnE,IAAMuwb,EAASvmuB,EAASn2E,GAAQwwT,EAAIvhS,cAAcjvB,GAAQA,EAW1D,OAVIsyxB,EAAcpqf,IAChBs0gB,EAAWE,EAAQx0gB,GAEjBinF,KACGh5S,EAASg5S,IAASA,EAAKhhS,SAC1BuutB,EAAO9/vB,YAAYuyU,GACVh5S,EAASg5S,IAClBstb,EAAQC,EAAQvtb,IAGZn0U,EAAyC0hwB,EAAhCvwb,EAAUvvU,YAAY8/vB,EACzC,EAAG,EACG1hwB,EAAS,SAACh7C,EAAMkoS,EAAOinF,GAAI,OAAKx+W,EAAI6/S,EAAIvhS,cAAcjvB,GAAOA,EAAMkoS,EAAOinF,GAAM,EAAM,EAEtF7nT,EAAS2muB,GAASC,aA4BlB5hxB,EAAS,SAACq9B,EAAMgzvB,GACpB,OAAOj2vB,EAAIiD,EAAM,SAAAxhD,GACf,IAAMy0yB,EAAQ1gB,GAAavpD,QAAQxquB,GAWnC,OAVIw0yB,GACF5oB,GAAO8I,GAAW+f,GAAQ,SAAAt5tB,GACpBm3sB,GAASn3sB,IAA+B,IAArBA,EAAMg/X,IAAI3gd,OAC/Bq9xB,GAAS17sB,GAETq7sB,GAASie,EAAOt5tB,EAEpB,GAEF07sB,GAAS4d,GACFA,EAAMt6V,GACf,EACF,EA2CMu6V,EAAc,SAAClqxB,EAAKmqxB,EAAKx7xB,GAC7BolC,EAAI/zB,EAAK,SAAA5yB,GACP,GAAIohyB,GAAYphyB,GAAI,CAClB,IAAMi7yB,EAAO9e,GAAavpD,QAAQ5yuB,GAC5B0xX,EAAUqrb,EAAIhswB,MAAM,KAC1BijvB,GAAOtia,EAAS,SAAAr6U,GACVk7uB,EAAchxwB,IACLA,EAAQs6wB,GAAQE,IACxBkf,EAAM5jwB,GAET2kvB,GAASif,EAAM5jwB,EAEnB,EACF,CACF,EACF,EAqDMx0B,EAAU,SAAC85xB,EAAQpyb,EAAQqyb,GAAY,OAAKj2vB,EAAI4jU,EAAQ,SAAA33V,GAC5D,IAAIq5B,EACE+wvB,EAAWzrsB,EAAUg5Q,GAAUoyb,EAAOt0gB,WAAU,GAAQs0gB,EAO9D,OANIC,GACFpC,GAAO9gB,GAAK9mwB,EAAImR,YAAa,SAAA6lB,GAC3BozvB,EAASngwB,YAAY+M,EACvB,GAEwB,QAAzBqC,EAAKr5B,EAAIuoF,kBAAoC,IAAZlvD,GAAyBA,EAAGgxvB,aAAaD,EAAUpqxB,GAC9EA,CACT,EAAG,EA+BGsqxB,EAAoB,SAAAtzvB,GACxB,GAAIw3uB,GAAYx3uB,GAAO,CACrB,IAAMq9uB,EAAgD,MAAhCr9uB,EAAK6yD,SAAS35F,gBAA0B44xB,EAAU9xvB,EAAM,SAAW8xvB,EAAU9xvB,EAAM,MACzG,GAAI8xvB,EAAU9xvB,EAAM,SAAW8xvB,EAAU9xvB,EAAM,sBAAwBq9uB,EACrE,OAAO,CAEX,CACA,OAAO,CACT,EA8CMkW,EAAY,WAAH,OAAS1sf,EAAI0gJ,aAAc,EA2BpCppY,EAAO,SAAC77D,EAAQjM,EAAM0oE,EAAMomQ,GAChC,GAAIx9N,EAAUrlG,GAAS,CAGrB,IAFA,IAAI/J,EAAI+J,EAAOtK,OACTuwd,EAAK,GACJhwd,KACLgwd,EAAGhwd,GAAK4lE,EAAK77D,EAAO/J,GAAIlC,EAAM0oE,EAAMomQ,GAEtC,OAAOojJ,CACT,CAIE,OAHI6jH,EAASjjH,SAAY7md,IAAWukT,GAAOvkT,IAAWosL,GACpDkjnB,EAAYt0yB,KAAK,CAACgF,EAAQjM,EAAM0oE,EAAMomQ,IAEjCzpT,EAAOyiD,KAAK77D,EAAQjM,EAAM0oE,EAAMomQ,GAASrkU,EAEpD,EACM+puB,EAAS,SAACvouB,EAAQjM,EAAM0oE,GAC5B,GAAI4oC,EAAUrlG,GAAS,CAGrB,IAFA,IAAI/J,EAAI+J,EAAOtK,OACTuwd,EAAK,GACJhwd,KACLgwd,EAAGhwd,GAAKsyuB,EAAOvouB,EAAO/J,GAAIlC,EAAM0oE,GAElC,OAAOwpZ,CACT,CACE,GAAIqpV,EAAY55yB,OAAS,IAAMsK,IAAWukT,GAAOvkT,IAAWosL,GAE1D,IADA,IAAIn2L,EAAIq5yB,EAAY55yB,OACbO,KAAK,CACV,IAAAi7yB,EAAAn/xB,EAA4Cu9xB,EAAYr5yB,GAAE,GAAnDk7yB,EAAWD,EAAA,GAAEE,EAASF,EAAA,GAAEG,EAASH,EAAA,GACpClxyB,IAAWmxyB,GAAiBp9yB,GAAQA,IAASq9yB,GAAgB30uB,GAAQA,IAAS40uB,GAChFj4xB,EAAOmvtB,OAAO4oE,EAAaC,EAAWC,EAE1C,CAEF,OAAOj4xB,EAAOmvtB,OAAOvouB,EAAQjM,EAAM0oE,EAEvC,EAGM60uB,EAAqB,SAAA5zvB,GACzB,GAAIA,GAAQy3uB,GAAcz3uB,GAAO,CAC/B,IAAM2woB,EAAkB3woB,EAAKqwD,aAAa,4BAC1C,OAAIsglB,GAAuC,YAApBA,EACdA,EAEuB,YAAzB3woB,EAAK2woB,gBAAgC3woB,EAAK2woB,gBAAkB,IACrE,CACE,OAAO,IAEX,EAqCM7vrB,EAAO,CACX+lT,MACAulR,WACA19Y,MACA+4U,QACAosS,SA/mBc,EAgnBdC,UA/mBe,EAgnBfnC,mBACAC,cACA73xB,SACA6C,SACAlB,SACAyjxB,QAvmBc,SAAAn/uB,GACd,OAAIwsB,EAASxsB,GACJ4ruB,GAAMyd,EAAkBrpvB,GAExBw3uB,GAAYx3uB,KAAU4ruB,GAAMyd,EAAkBrpvB,EAAK6yD,WAAaitrB,GAAmBljxB,EAAQojC,GAEtG,EAkmBE2hC,KAAM,KACN16E,MAtjBY,SAAC+4C,EAAM2kB,GACnB,OAAO3kB,EAAKy+O,UAAU95N,EACxB,EAqjBEytuB,UACA2B,YApjBkB,SAAAC,GAClB,IAAM5oW,EAAKorV,GAAUwd,GACrB,MAAO,CACL1lyB,EAAG88b,EAAG98b,EACNC,EAAG68b,EAAG78b,EACN2iC,EAAGk6Z,EAAGjzb,MACNquD,EAAG4kY,EAAG/yb,OAEV,EA6iBEwogB,QAnfc,SAAA73f,GACd,IAAMqoxB,EAAOrzyB,EAAIgrB,GACXsxB,EAAMg4vB,EAASjB,GACfnzyB,EAAOqsY,EAAQ8ma,GACrB,MAAO,CACL/iyB,EAAGgsC,EAAIhsC,EACPC,EAAG+rC,EAAI/rC,EACP2iC,EAAGhzC,EAAKgzC,EACRs1B,EAAGtoE,EAAKsoE,EAEZ,EA0eE+jU,UACA97D,UArcgB,SAACzuR,EAAM8xE,EAAUnwC,GACjC,IAAMoqc,EAAU0mR,EAAWzyvB,EAAM8xE,EAAUnwC,GAAM,GACjD,OAAOoqc,GAAWA,EAAQ/zhB,OAAS,EAAI+zhB,EAAQ,GAAK,IACtD,EAmcE0mR,WAAYA,EACZz0yB,MACAi2yB,QApbc,SAACj0vB,EAAM8xE,GAAQ,OAAK8grB,EAAS5yvB,EAAM8xE,EAAU,cAAe,EAqb1EoirB,QApbc,SAACl0vB,EAAM8xE,GAAQ,OAAK8grB,EAAS5yvB,EAAM8xE,EAAU,kBAAmB,EAqb9En2F,OAnba,SAACm2F,EAAUqzM,GACxB,IAAI9iR,EAAIigU,EACFt5V,EAA0F,QAAnFs5V,EAA2B,QAArBjgU,EAAKrkD,EAAImnU,UAAgC,IAAZ9iR,EAAgBA,EAAK+phB,EAASimO,oBAAsC,IAAZ/vb,EAAgBA,EAAKz7D,EAC7H,OAJ2B7iQ,EAIPh7B,EAJuBoqF,kBAIhBr0D,GAAK/1B,EAAIoqF,iBAAiB0e,IAAa,EACpE,EAgbE7jF,KACAjnC,MACAqqC,SACAiisB,WApYiB,SAACj9uB,EAAMkoS,GAAsB,IAAfinF,EAAIhqX,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,GAClC24yB,EAAU,IAAM99yB,EACpB,IAAK,IAAMyE,KAAOyjS,EACZstf,GAAkBttf,EAAOzjS,KAC3Bq5yB,GAAW,IAAMr5yB,EAAM,KAAO6iE,EAAO4gO,EAAMzjS,IAAQ,KAGvD,OAAIsyxB,GAAU5na,IAASoma,GAAMhvwB,EAAO0uxB,kBAAmBj1yB,GAC9C89yB,EAAU,MAEVA,EAAU,IAAM3ub,EAAO,KAAOnvX,EAAO,GAEhD,EAyXE+9yB,eAxXqB,SAAA5ub,GACrB,IAMIxlU,EANEyzC,EAAYozN,EAAIvhS,cAAc,OAC9B+uxB,EAAOxtf,EAAI4oB,yBAMjB,IALA4ke,EAAKphwB,YAAYwgD,GACb+xR,IACF/xR,EAAUxvD,UAAYuhV,GAGjBxlU,EAAOyzC,EAAU+7D,YACtB6kpB,EAAKphwB,YAAY+M,GAGnB,OADAq0vB,EAAK52vB,YAAYg2C,GACV4gtB,CACT,EA4WE1xxB,SACA2xxB,SAzjBe,SAACtrxB,EAAK3yB,EAAMwC,GAC3BkkD,EAAI/zB,EAAK,SAAA5yB,GACP,IAAMi7yB,EAAO9e,GAAavpD,QAAQ5yuB,GAClCg7yB,GAAaC,EAAMh7yB,EAAMwC,GACrBuzkB,EAASmoO,eACXpD,GAAwBp3xB,EAAQs3xB,EAEpC,EACF,EAkjBEkB,SAAUA,EACV/2pB,UAljBgB,SAACxyH,EAAKwrxB,GACtBz3vB,EAAI/zB,EAAK,SAAA5yB,GACP,IAAMi7yB,EAAO9e,GAAavpD,QAAQ5yuB,GAClC80xB,GAAOspB,EAAW,SAACn2vB,EAAG7/C,GACpB4yyB,GAAaC,EAAM7yyB,EAAG6/C,EACxB,GACI+thB,EAASmoO,eACXpD,GAAwBp3xB,EAAQs3xB,EAEpC,EACF,EAyiBEoD,iBA/VuB,SAAAr+yB,GAAC,OAAI2mD,EAAI3mD,EAAG,SAAAA,GAEnC,IADA,IAAMmoS,EAAQnoS,EAAE81I,WACP3zI,EAAIgmS,EAAMvmS,OAAS,EAAGO,GAAK,EAAGA,IACrCnC,EAAEs+yB,oBAAoBn2gB,EAAMl2Q,KAAK9vB,GAErC,EAAG,EA2VD05yB,YACAY,aACAf,YACArR,OAAQ6R,EACRqC,WA9ViB,SAAAtmW,GAAO,OAAIt0b,EAAOjgB,MAAMu0c,EAAS,EA+VlDumW,eA9VqB,SAACJ,EAAWn+yB,GAAI,OAAK0jB,EAAOnhB,UAAU47yB,EAAWn+yB,EAAM,EA+V5EkryB,SA9Ve,SAAAlzV,GACf,GAAIvtc,IAAS2wyB,GAASoD,KAAOhuf,IAAQpnS,SAAU,CAC7C,GAAIiyxB,EAAYrjW,GACd,OAEFqjW,EAAYrjW,IAAW,CACzB,CACA,IAAIymW,EAAWjuf,EAAIt4L,eAAe,oBAClC,IAAKumrB,EAAU,EACbA,EAAWjuf,EAAIvhS,cAAc,UACpB/J,GAAK,mBACdu5xB,EAASv7yB,KAAO,WAChB,IAAM+lD,EAAOunQ,EAAIvnQ,KACbA,EAAKkwG,WACPlwG,EAAK0zD,aAAa8hsB,EAAUx1vB,EAAKkwG,YAEjClwG,EAAKrM,YAAY6hwB,EAErB,CACIA,EAAS1mW,WACX0mW,EAAS1mW,WAAWC,SAAWA,EAE/BymW,EAAS7hwB,YAAY4zQ,EAAI5mQ,eAAeouZ,GAE5C,EAuUE0mW,QAtUc,SAAAv8T,GACTA,IACHA,EAAO,IAET4xS,GAAO5xS,EAAKrxc,MAAM,KAAM,SAAA/Y,GACtBq5e,EAAMr5e,IAAO,EACbujxB,EAAiB9roB,KAAKz3I,GAAK7qB,MAAM0gH,EACnC,EACF,EA+TE+wrB,SA9Se,SAAChsxB,EAAKmqxB,GACrBD,EAAYlqxB,EAAKmqxB,GAAK,EACxB,EA6SE8B,YA5SkB,SAACjsxB,EAAKmqxB,GACxBD,EAAYlqxB,EAAKmqxB,GAAK,EACxB,EA2SEjtX,SA1Se,SAACl9Z,EAAKmqxB,GACrB,IAAM9B,EAAOlhf,EAAKnnS,GACZ8+V,EAAUqrb,EAAIhswB,MAAM,KAC1B,OAAOwhvB,EAAc0oB,IAASzjE,GAAO9lX,EAAS,SAAAr6U,GAAC,OAAI3vC,GAAIuzyB,EAAM5jwB,EAAE,EACjE,EAuSEylwB,cACAlsgB,KAvSW,SAAAh+Q,GACX+zB,EAAI/zB,EAAK,SAAA5yB,GAAC,OAAI0+xB,GAASvC,GAAavpD,QAAQ5yuB,GAAI,UAAU,EAC5D,EAsSE6wS,KArSW,SAAAj+Q,GACX+zB,EAAI/zB,EAAK,SAAA5yB,GAAC,OAAIq+xB,GAAMlC,GAAavpD,QAAQ5yuB,GAAI,UAAW,OAAO,EACjE,EAoSE4qL,SAnSe,SAAAh4J,GACf,IAAMqoxB,EAAOlhf,EAAKnnS,GAClB,OAAO2/vB,EAAc0oB,IAASphB,GAAK39C,GAAO++D,EAAM,WAAY,OAC9D,EAiSEnkO,SAhSe,SAAA9ziB,GAAM,OAAMA,GAAS,QAAmBwjB,GAAU,EAiSjEk2vB,UACAoC,aAjSmB,SAAAlsxB,GACnB,IAAMqoxB,EAAOlhf,EAAKnnS,GAClB,OAAI2/vB,EAAc0oB,GACT7Z,GAAY6Z,EAAK14V,KAAO04V,EAAK14V,IAAI7zB,UAr2F7B,SAAA10U,GACf,IAAM3c,EAAY8+rB,GAAazpD,QAAQ,OACjC7huB,EAAQsrxB,GAAavpD,QAAQ54nB,EAAQuoW,IAAIl6K,WAAU,IAEzD,OADAy2f,GAASzhsB,EAAWxsF,GACbsuxB,GAAM9hsB,EACf,CAg2F0D0htB,CAAS9D,GAEtD,EAEX,EA2RE+D,aA1RmB,SAACpsxB,EAAKw8V,GACzBzoU,EAAI/zB,EAAK,SAAAqoxB,GACH7Z,GAAY6Z,KACdA,EAAKvsX,UAAYt/D,EAErB,EACF,EAqREnoT,OAhaainuB,GAASjnuB,OAiatBM,SACA03uB,YAtRkB,SAACr1vB,EAAMw/F,GACzB,IAAM8+N,EAAgBtgX,EAAIwhJ,GAC1B,OAAOziG,EAAIiD,EAAM,SAAAA,GACf,IAAMN,EAAS4+T,aAA0D,EAAIA,EAAc/sQ,WACrFgtQ,EAAcD,aAA0D,EAAIA,EAAcC,YAQhG,OAPI7+T,IACE6+T,EACF7+T,EAAOszD,aAAahzD,EAAMu+T,GAE1B7+T,EAAOzM,YAAY+M,IAGhBA,CACT,EACF,EAyQE/mC,UACAmtf,OA9Pa,SAACp9e,EAAK3yB,GACnB,GAAI2yB,EAAI6pF,WAAax8G,EAAKsqF,cAAe,CACvC,IAAMoytB,EAAS1hwB,EAAOh7C,GAKtB,OAJAu6yB,GAAOoB,EAAWhpxB,GAAM,SAAAssxB,GACtBrD,EAAUc,EAAQuC,EAASzisB,SAAUi/rB,EAAU9oxB,EAAKssxB,EAASzisB,UAC/D,GACA55F,EAAQ85xB,EAAQ/pxB,GAAK,GACd+pxB,CACT,CACE,OAAO/pxB,CAEX,EAoPEusxB,mBAnPyB,SAACz2yB,EAAGC,GAE7B,IADA,IAAI+ka,EAAKhla,EACFgla,GAAI,CAET,IADA,IAAIrc,EAAK1oZ,EACF0oZ,GAAMqc,IAAOrc,GAClBA,EAAKA,EAAGl2S,WAEV,GAAIuyT,IAAOrc,EACT,MAEFqc,EAAKA,EAAGvyT,UACV,CACA,OAAKuyT,GAAMhla,EAAE+qa,cACJ/qa,EAAE+qa,cAAcnqZ,gBAEhBokZ,CAEX,EAmOE/mX,MACAi1vB,aACA57wB,QA3Nc,SAAC4pB,EAAM0zF,EAAUl0I,GAC/B,IAAIo+xB,EAAU,EACd,GAAI0V,EAAkBtzvB,GACpB,OAAO,EAET,IAAMwvG,EAAaxvG,EAAKwvG,WACxB,GAAIA,EAAY,CACd,IAAMquoB,EAAS,IAAI9G,GAAcvnoB,EAAYxvG,GACvCw1vB,EAAqB54xB,EAASA,EAAO8uxB,wBAA0B,CAAC,EAChE+J,EAAmB/hqB,IAAa92H,EAASA,EAAO4uxB,sBAAwB,MAC1EnP,EAAW7soB,EACf,EAAG,CACD,GAAIgooB,GAAY6E,GAAW,CACzB,IAAMqZ,EAAWrZ,EAAShsrB,aAAa,kBACvC,GAAIqlsB,EAAU,CACZrZ,EAAWwB,EAAOj4xB,KAAkB,QAAb8vyB,GACvB,QACF,CACA,IAAMr/yB,EAAOgmyB,EAASxprB,SAAS35F,cAC/B,GAAIu8xB,GAAoBA,EAAiBp/yB,GAAO,CAC9C,GAAa,OAATA,EAAe,CACjBunyB,IACAvB,EAAWwB,EAAOj4xB,OAClB,QACF,CACA,OAAO,CACT,CACA,GAAI0tyB,EAAkBjX,GACpB,OAAO,CAEX,CACA,GAAIz9a,GAAUy9a,GACZ,OAAO,EAET,GAAIlE,GAASkE,KAAcG,GAAiBH,EAAS1+xB,UAAY6B,aAA8C,EAAIA,EAAQm2yB,eAAiBlZ,GAAOJ,EAAS1+xB,OAC1J,OAAO,EAET,GAAIw6xB,GAASkE,IAAaA,EAAS9qrB,YAAciksB,EAAmBnZ,EAAS9qrB,WAAWsB,WAAa2prB,GAAiBH,EAAS1+xB,MAC7H,OAAO,EAET0+xB,EAAWwB,EAAOj4xB,MACpB,OAASy2xB,EACX,CACA,OAAOuB,GAAW,CACpB,EAgLE2V,YACA9tX,UAAWwrX,GACX9pwB,MAhLY,SAACq7U,EAAWi9a,EAAUmW,GAClC,IACIlW,EACAE,EAFAl1X,EAAQ6oY,IAGZ,GAAI/wb,GAAai9a,GAAYj9a,EAAUjxQ,YAAckurB,EAASlurB,WAAY,CACxE,IAAMA,EAAaixQ,EAAUjxQ,WAgB7B,OAfAm5T,EAAMo+B,SAASv3V,EAAY0/rB,GAAczub,IACzCkoD,EAAMq+B,OAAO02V,EAASlurB,WAAY0/rB,GAAcxR,IAChDC,EAAiBh1X,EAAMi1X,mBACvBj1X,EAAQ6oY,KACFzqW,SAAS22V,EAASlurB,WAAY0/rB,GAAcxR,GAAY,GAC9D/0X,EAAMq+B,OAAOx3V,EAAY0/rB,GAAczub,GAAa,GACpDo9a,EAAgBl1X,EAAMi1X,kBACtBpurB,EAAWyB,aAAaiwrB,GAASniyB,EAAM4+xB,EAAgB9ixB,GAAS4lW,GAC5Dozb,EACFrksB,EAAWyB,aAAa4isB,EAAgBpzb,GAExCjxQ,EAAWyB,aAAaysrB,EAAUj9a,GAEpCjxQ,EAAWyB,aAAaiwrB,GAASniyB,EAAM8+xB,EAAehjxB,GAAS4lW,GAC/D7/V,EAAO6/V,GACAozb,GAAkBnW,CAC3B,CAGF,EAwJEthuB,KAAMA,EACN0sqB,OAAQA,EACRrpN,KApHW,SAACl/gB,EAAQjM,EAAMgpO,GAAG,OAAK3jN,EAAO5E,SAASxU,EAAQjM,EAAMgpO,EAAK,EAqHrEvoN,SAtHe,SAACxU,EAAQjM,EAAMgpO,GAAG,OAAK3jN,EAAO5E,SAASxU,EAAQjM,EAAMgpO,EAAK,EAuHzEu0kB,qBACAiC,yBA3G+B,SAAA71vB,GAG/B,IAFA,IAAM2hC,EAAOywtB,IACTz6xB,EAAQ,KACH0kxB,EAAWr8uB,EAAMq8uB,GAAYA,IAAa16sB,GAEnC,QADdhqE,EAAQi8xB,EAAmBvX,IAD4BA,EAAWA,EAAS9qrB,YAM7E,OAAO55F,CACT,EAkGEm+xB,WAjGiB,SAAA91vB,GACjB,GAAI2ouB,EAAc3ouB,GAAO,CACvB,IAAMmlR,EAAQqyd,GAAYx3uB,GAAQA,EAAOA,EAAK2/F,cAC9C,OAAOgpoB,EAAcxjd,IAAUsyd,GAActyd,IAAUgvd,GAAa5B,GAAavpD,QAAQ7ja,GAC3F,CACE,OAAO,CAEX,EA2FEl/K,QA1Fc,WACd,GAAI2rpB,EAAY55yB,OAAS,EAEvB,IADA,IAAIO,EAAIq5yB,EAAY55yB,OACbO,KAAK,CACV,IAAAw9yB,EAAA1hyB,EAA4Cu9xB,EAAYr5yB,GAAE,GAAnDk7yB,EAAWsC,EAAA,GAAErC,EAASqC,EAAA,GAAEpC,EAASoC,EAAA,GACxCr6xB,EAAOmvtB,OAAO4oE,EAAaC,EAAWC,EACxC,CAEFzoB,GAAOzjR,EAAO,SAACrvb,EAAGhqD,GAChBujxB,EAAiB3P,OAAO5zwB,UACjBq5e,EAAMr5e,EACf,EACF,EA+EEugO,UA9EgB,SAAC3uM,EAAMN,GACvB,OAAOM,IAASN,GAAUA,EAAO+2D,SAASz2D,EAC5C,EA6EEg2vB,QA5Ec,SAAA5yvB,GAAC,MAAI,mBAAqBA,EAAEqorB,eAAe54nB,SAAW,kBAAoBzvD,EAAEylf,YAAc,mBAAqBzlf,EAAEsorB,aAAa74nB,SAAW,gBAAkBzvD,EAAEuorB,SAAU,GA8EjLomE,EAruBe,SAACh4xB,EAAQqyjB,EAAUx3X,GACxC,IAAMqhmB,EAAa7pO,EAAS8pO,YACtBC,EAAc,CAClBp4yB,IAAK,SAACirB,EAAKnwB,EAAOxC,GAChB,IAAM+/yB,EAAW7jB,GAAavpD,QAAQhgtB,GAClCg7B,EAAWoohB,EAASghO,gBAAkBzkB,EAAc9vxB,KACtDA,EAAQuzkB,EAASghO,cAAcp0yB,KAAKozkB,EAASkhO,qBAAuB14lB,IAAc35M,OAAOpC,GAAQxC,EAAM2yB,IAGzG+nxB,GAAmBqF,EADE,YAAc//yB,EACQwC,GAC3Ck4yB,GAAmBqF,EAAU//yB,EAAMwC,EACrC,EACAmF,IAAK,SAACgrB,EAAK3yB,GACT,IAAM+/yB,EAAW7jB,GAAavpD,QAAQhgtB,GACtC,OAAOqowB,GAAM+kB,EAAU,YAAc//yB,IAASg7xB,GAAM+kB,EAAU//yB,EAChE,GAEI07yB,EAAY,CAChBr4xB,MAAO,CACL3b,IAAK,SAACirB,EAAKnwB,GACT,IAAMu9yB,EAAW7jB,GAAavpD,QAAQhgtB,GAClCitxB,GACFlF,GAAmBqF,EAAUvF,GAAmBh4yB,GAElD24xB,GAAS4kB,EAAU,SACf5puB,EAAS3zE,IACXgqb,GAAOuzX,EAAUr8xB,EAAOjgB,MAAMjB,GAElC,EACAmF,IAAK,SAAAgrB,GACH,IAAMotxB,EAAW7jB,GAAavpD,QAAQhgtB,GAChCnwB,EAAQw4xB,GAAM+kB,EAAUvF,KAAsBxf,GAAM+kB,EAAU,SACpE,OAAOr8xB,EAAOnhB,UAAUmhB,EAAOjgB,MAAMjB,GAAQxC,GAAK+/yB,GACpD,IAMJ,OAHIH,IACFlE,EAAUlhxB,KAAOkhxB,EAAU7+vB,IAAMijwB,GAE5BpE,CACT,CA6rBoBsE,CAAet8xB,EAAQqyjB,EAAUjpB,EAASrijB,IAC5D,OAAOA,CACT,EACA2wyB,GAASoD,IAAMpD,GAAShyxB,UACxBgyxB,GAAShsX,UAAYwrX,GAErB,IAAMqF,GAAQ7E,GAASoD,IAKjB0B,GAAY,WAQf,OAAAjkyB,EAPD,SAAAikyB,IAA4B,IAAhBnqO,EAAQ5wkB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAC,OAAA+6yB,GACvB/8yB,KAAKkiE,OAAS,CAAC,EACfliE,KAAKqjD,MAAQ,GACbrjD,KAAKg9yB,sBAAwB,CAAC,EAC9Bh9yB,KAAKi9yB,qBAAuB,GAC5Bj9yB,KAAK2stB,SAAU,EACf3stB,KAAK4ykB,SAAWA,CAClB,EAAC,EAAAtxkB,IAAA,qBAAAjC,MACD,SAAmBkpyB,GACjBvoyB,KAAK4ykB,SAAS21N,eAAiBA,CACjC,GAAC,CAAAjnyB,IAAA,aAAAjC,MACD,SAAWu1B,GAAM,IAADtqB,EAAA,KACd,OAAO,IAAIzD,QAAQ,SAACC,EAASC,GAC3B,IACIyoB,EADE2vb,EAAM29V,GAENp3d,EAAU,WACdy5H,EAAIh2b,OAAOpH,GACPyN,IACFA,EAAIzmB,QAAUymB,EAAI3vB,OAAS2vB,EAAM,KAErC,EASMzN,EAAKo9b,EAAIu0H,YACflkjB,EAAMvJ,SAAS6F,cAAc,WACzB/J,GAAKA,EACTyN,EAAIzvB,KAAO,kBACXyvB,EAAIkqB,IAAMw8uB,GAAMM,gBAAgB5hwB,GAC5BtqB,EAAKsokB,SAAS21N,gBAChBppV,EAAIs5V,UAAUjpxB,EAAK,iBAAkBllB,EAAKsokB,SAAS21N,gBAErD/4wB,EAAI3vB,OAhBS,WACX6lV,IACA5+U,GACF,EAcA0oB,EAAIzmB,QAbU,WACZ28U,IACA3+U,EAAO,0BAA4B6tB,EACrC,GAWC3O,SAAS2a,qBAAqB,QAAQ,IAAM3a,SAAS4yC,MAAMpf,YAAYjqB,EAC1E,EACF,GAAC,CAAAluB,IAAA,SAAAjC,MACD,SAAOu1B,GACL,OA9CW,IA8CJ50B,KAAKkiE,OAAOttC,EACrB,GAAC,CAAAtzB,IAAA,WAAAjC,MACD,SAASu1B,GACP50B,KAAKkiE,OAAOttC,GAjDD,CAkDb,GAAC,CAAAtzB,IAAA,MAAAjC,MACD,SAAIu1B,GACF,IAAMttB,EAAOtH,KAMb,OALAsH,EAAK+7C,MAAMv/C,KAAK8wB,QAEFlvB,IADA4B,EAAK46D,OAAOttC,KAExBttB,EAAK46D,OAAOttC,GA1DH,GA4DJ,IAAI/tB,QAAQ,SAACC,EAASC,GACtBO,EAAK01yB,sBAAsBpoxB,KAC9BttB,EAAK01yB,sBAAsBpoxB,GAAO,IAEpCttB,EAAK01yB,sBAAsBpoxB,GAAK9wB,KAAK,CACnCgD,UACAC,UAEJ,EACF,GAAC,CAAAzF,IAAA,OAAAjC,MACD,SAAKu1B,GACH,OAAO50B,KAAKwN,IAAIonB,EAClB,GAAC,CAAAtzB,IAAA,SAAAjC,MACD,SAAOu1B,UACE50B,KAAKkiE,OAAOttC,UACZ50B,KAAKg9yB,sBAAsBpoxB,EACpC,GAAC,CAAAtzB,IAAA,YAAAjC,MACD,WACE,IAAMgkD,EAAQrjD,KAAKqjD,MAEnB,OADArjD,KAAKqjD,MAAQ,GACNrjD,KAAKk9yB,YAAY75vB,EAC1B,GAAC,CAAA/hD,IAAA,cAAAjC,MACD,SAAYq8J,GACV,IAAMp0J,EAAOtH,KACPm9yB,EAAgB,SAACtgzB,EAAM+3B,GAC3Bu9vB,GAAM7qxB,EAAK01yB,sBAAuBpoxB,GAAK+mC,KAAK,SAAAmlO,GAC1C8vf,GAAO9vf,EAAW,SAAAxhS,GAAQ,OAAIA,EAASzC,GAAM+3B,EAAI,EACnD,UACOttB,EAAK01yB,sBAAsBpoxB,EACpC,EACMwoxB,EAAiB,SAAA97tB,GACrB,IAAM+7tB,EAAWtsB,GAASzvsB,EAAS,SAAArhF,GAAM,MAAsB,aAAlBA,EAAOu6B,MAAqB,GACzE,OAAI6ixB,EAAS7+yB,OAAS,EACbqI,QAAQE,OAAOsqxB,GAAOgsB,EAAU,SAAA7uyB,GAAA,IACrCo6C,EAAMp6C,EAANo6C,OAAM,OACFulD,EAAUvlD,GAAUA,EAAS,CAACA,EAAO,IAEpC/hD,QAAQC,SAEnB,EACMulK,EAAO,SAAA2yU,GAAI,OAAIn4e,QAAQqnH,WAAWyiqB,GAAM3xS,EAAM,SAAApqd,GAClD,OAnGS,IAmGLttB,EAAK46D,OAAOttC,IACduoxB,EAAc,UAAWvoxB,GAClB/tB,QAAQC,WApGR,IAqGEQ,EAAK46D,OAAOttC,IACrBuoxB,EAAc,SAAUvoxB,GACjB/tB,QAAQE,OAAO6tB,KAEtBttB,EAAK46D,OAAOttC,GA3GJ,EA4GDttB,EAAK6puB,WAAWv8sB,GAAK9yB,KAAK,WAC/BwF,EAAK46D,OAAOttC,GA5GP,EA6GLuoxB,EAAc,UAAWvoxB,GACzB,IAAMyuB,EAAQ/7C,EAAK+7C,MACnB,OAAIA,EAAM7kD,OAAS,GACjB8I,EAAK+7C,MAAQ,GACNgpH,EAAKhpH,GAAOvhD,KAAKs7yB,IAEjBv2yB,QAAQC,SAEnB,EAAG,WAGD,OAFAQ,EAAK46D,OAAOttC,GArHP,EAsHLuoxB,EAAc,SAAUvoxB,GACjB/tB,QAAQE,OAAO6tB,EACxB,GAEJ,GAAI,EACEkoX,EAAe,SAAAkiG,GAEnB,OADA13e,EAAKqltB,SAAU,EACRtgjB,EAAK2yU,GAAMl9e,KAAK,SAAAw/E,GACrBh6E,EAAKqltB,SAAU,EACf,IAAM2wF,EAAiBh2yB,EAAK21yB,qBAAqBt/uB,QAEjD,OADAoytB,EAASxquB,KAAK+3vB,GAAgB3hvB,KAAKn8D,GAC5B49yB,EAAe97tB,EACxB,EACF,EACMi8tB,EAAgBjrB,GAAY52nB,GAClC,OAAIp0J,EAAKqltB,QACA,IAAI9ltB,QAAQ,SAACC,EAASC,GAC3BO,EAAK21yB,qBAAqBn5yB,KAAK,WAC7Bg5Y,EAAayga,GAAez7yB,KAAKgF,EAASC,EAC5C,EACF,GAEO+1Y,EAAayga,EAExB,IAAC,CA7Ie,GA+IlBR,GAAaA,aAAe,IAAIA,GAEhC,IAAMS,GAAO,SAAA3rkB,GACX,IAAIxyO,EAAQwyO,EAOZ,MAAO,CACLrtO,IAPU,WACV,OAAOnF,CACT,EAMEkF,IALU,SAAAsgD,GACVxlD,EAAQwlD,CACV,EAKF,EAQM1gD,GAAO,CAAC,EACRs5yB,GAAcD,GAAK,MACnBE,GAAkB,WAAH,OAASvrB,GAAMhuxB,GAAMs5yB,GAAYj5yB,MAAO,EAyDvDm5yB,GAAO,CACXxhxB,QAzDgB,WAAH,OAASw1vB,GAAMxtxB,GAAM,SAAA9E,GAAK,OAAAkM,EAAA,GACpClM,EAAK,EACN,EAwDFu+yB,QAvDc,SAAAC,GACVA,GACFJ,GAAYl5yB,IAAIs5yB,EAEpB,EAoDEC,QAnDc,WAAH,OAASL,GAAYj5yB,KAAM,EAoDtCgJ,IAnDY,SAACuP,EAAMkH,GACnB,IAAI8/oB,EAAW5/pB,GAAK4Y,GACfgnpB,IACH5/pB,GAAK4Y,GAAQgnpB,EAAW,CAAC,GAE3B,IAAMg6I,EAAUptB,GAAMhtxB,GAAKsgB,GAAQ,SAAApnB,GAAI,OAAIA,EAAK6iB,aAAa,GAC7DgywB,GAAOztwB,EAAO,SAACk5mB,EAAatgoB,GAC1B,IAAMmhzB,EAASnhzB,EAAK6iB,cAChBs+xB,IAAWnhzB,GA1BE,SAAConB,EAAO4K,GAC3B,IAAMovxB,EAAah6xB,EAAMjlB,QAAQ6vB,GACjC,OAAuB,IAAhBovxB,GAAqBh6xB,EAAMjlB,QAAQ6vB,EAAMovxB,EAAa,GAAKA,CACpE,CAuB2BC,CAAaH,EAASC,IACtC5rB,GAAMnuwB,EAAO+5xB,KAChBj6I,EAASi6I,GAAU7gL,GAErB4mC,EAASlnqB,GAAQsgoB,GAEjB4mC,EAASi6I,GAAU7gL,CAEvB,EACF,EAmCE56b,UAlCgB,SAAA5tK,GAChB,IAjCY70B,EAiCNikqB,EAAW25I,KAAkBvuE,MAAM,CAAC,GACpCrxuB,EAAW,SAAAy/B,GACf,OAAIitB,EAAWjtB,GACNx/B,OAAOC,UAAUF,SAAS0B,KAAK+9B,GAEhCX,EAAQW,GAAkB,GAAX,GAAKA,CAC9B,EACMX,EAAU,SAAAjI,GAAI,MAAa,KAATA,SAAeA,CAAoC,EACrEwpxB,EAAc,SAAAxpxB,GAClB,IAAMypxB,EAAUtgzB,EAAS62B,GACzB,OAAOy9vB,GAAMruH,EAAUq6I,GAAWtgzB,EAASimqB,EAASq6I,IAAYjsB,GAAMpuH,EAAUq6I,EAAQ1+xB,eAAevQ,IAAIrR,GAAUqxuB,MAAMivE,EAC7H,EACMC,EAAgB,SAAAv+yB,GAAG,OAAIA,EAAI2f,QAAQ,iBAAkB,GAAI,EAC/D,GAAImd,EAAQjI,GACV,MAAO,GAET,GAjDmBq0D,EAAPlpF,EAiDF60B,IAjD0By9vB,GAAMtyxB,EAAK,OAkD7C,OAAOhC,EAAS62B,EAAKy+b,KAEvB,GAnDkB,SAAAtzd,GAAG,OAAIquG,EAAUruG,IAAQA,EAAItB,OAAS,CAAE,CAmDtD8/yB,CAAY3pxB,GAAO,CACrB,IAAMisB,EAASjsB,EAAK/f,MAAM,GAE1B,OAAOypyB,EADYF,EAAYxpxB,EAAK,IAAIlV,QAAQ,gBAAiB,SAACs7M,EAAIwlb,GAAE,OAAK6xI,GAAMxxuB,EAAQ2/lB,GAAMzipB,EAAS8iD,EAAO2/lB,IAAOxlb,CAAE,GAE5H,CACA,OAAOsjlB,EAAcF,EAAYxpxB,GACnC,EASE4pxB,MARc,WAAH,OAASb,KAAkB/4uB,KAAK,SAAA1gD,GAAK,OAAIkuwB,GAAMluwB,EAAO,OAAO,GAAEoyc,OAAO,SAAA/ma,GAAG,MAAY,QAARA,CAAa,EAAE,EASvGkvvB,QARc,SAAAzhyB,GAAI,OAAIq1wB,GAAMjuxB,GAAM4Y,EAAM,GAWpC0hyB,GAAe,WACnB,IAAMx6xB,EAAQ,GACR+6d,EAAO,CAAC,EACRnzb,EAAS,CAAC,EACVsyb,EAAa,GACbugU,EAAe,SAAC7hzB,EAAMshB,GAC1B,IAAMwgyB,EAAmB5tB,GAAS5yS,EAAY,SAAA36b,GAAQ,OAAIA,EAAS3mD,OAASA,GAAQ2mD,EAASrlC,QAAUA,CAAK,GAC5GyywB,GAAO+tB,EAAkB,SAAAn7vB,GAAQ,OAAIA,EAAS18C,SAAS,EACzD,EACM62Q,EAAW,SAAA9gR,GAAI,OAAIu1xB,GAAMpzS,EAAMnif,EAAM,EAQrC+hzB,EAAmB,SAAC/hzB,EAAM4+gB,GAC9B,IAAMjtZ,EAAWmvrB,GAAKG,WAEjBtvrB,GAAYitZ,IAAiE,KADzD,KAAOA,GAAa,IAAM,KACJz8gB,QAAQ,IAAMwvH,EAAW,MAGxEuurB,GAAaA,aAAavvyB,IAAIwxe,EAAKnif,GAAQ,UAAY2xH,EAAW,MACpE,EAwDMqwrB,EAAU,SAAChizB,GAA2B,IAArBshB,EAAKnc,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,QAC7B,MAAc,UAAVmc,GAvEU,SAAAthB,GAAI,OAAIu1xB,GAAMvmuB,EAAQhvD,EAAM,CAuEjBiizB,CAAQjizB,IAEZ,WAAVshB,GAAsBw/P,EAAS9gR,GADjCgK,QAAQC,UAIR,IAAID,QAAQ,SAAAC,GACjBq3e,EAAWr6e,KAAK,CACdjH,OACAshB,QACArX,WAEJ,EAEJ,EACA,MAAO,CACLmd,QACA+6d,OACAnzb,SACArnD,IAxFU,SAAA3H,GACV,GAAIgvD,EAAOhvD,GACT,OAAOgvD,EAAOhvD,GAAM2vK,QAGxB,EAoFEo/kB,gBA3EsB,SAAC/uvB,EAAM4+gB,IACK,IAA9BgjS,GAAaM,eACXphiB,EAAS9gR,GACX+hzB,EAAiB/hzB,EAAM4+gB,GAEvBojS,EAAQhizB,EAAM,UAAUiF,KAAK,kBAAM88yB,EAAiB/hzB,EAAM4+gB,EAAU,GAG1E,EAoEEjugB,IAnEU,SAACuU,EAAIi9xB,GAMf,OALA/6xB,EAAMngB,KAAKk7yB,GACXnzvB,EAAO9pC,GAAM,CACXyqJ,SAAUwyoB,GAEZN,EAAa38xB,EAAI,SACVi9xB,CACT,EA6DE71xB,OA5Da,SAAAtsB,UACNmif,EAAKnif,UACLgvD,EAAOhvD,EAChB,EA0DEoizB,UAzDgB,SAAC7qrB,EAAS+kB,GAC1B,OAAInmE,EAASmmE,GACJnmE,EAASohD,GAAW,CACzBx0F,OAAQ,GACRygV,SAAUlnO,EACVtY,OAAQ,IACN,CACFjhG,OAAQw0F,EAAQx0F,OAChBygV,SAAUlnO,EACVtY,OAAQzM,EAAQyM,QAGXsY,CAEX,EA4CEkzB,KA3CW,SAACxvK,EAAMqizB,GAClB,GAAIlgU,EAAKnif,GACP,OAAOgK,QAAQC,UAEjB,IAAIyuB,EAAYy9C,EAASksuB,GAAYA,EAAWA,EAASt/wB,OAASs/wB,EAAS7+b,SAAW6+b,EAASr+qB,OAChE,IAA3BtrG,EAAUv2B,QAAQ,OAA4C,IAA9Bu2B,EAAUv2B,QAAQ,SACpDu2B,EAAYkpxB,GAAahgF,QAAU,IAAMlpsB,GAE3Cypd,EAAKnif,GAAQ04B,EAAUp2B,UAAU,EAAGo2B,EAAUg6B,YAAY,MAC1D,IAAMtqD,EAAO,WAEX,OADAy5yB,EAAa7hzB,EAAM,UACZgK,QAAQC,SACjB,EACA,OAAI+kD,EAAOhvD,GACFoI,IAEA83yB,GAAaA,aAAavvyB,IAAI+nB,GAAWzzB,KAAKmD,EAEzD,EA0BE45yB,UAEJ,EACAJ,GAAaM,cAAe,EAC5BN,GAAahgF,QAAU,GACvBggF,GAAa9yD,cAAgB8yD,KAC7BA,GAAaU,aAAeV,KAC5BA,GAAaW,aAAeX,KAE5B,IAoBM3/c,GAAa,SAAAz0U,GACjB,IAAM84jB,EAAaq6N,GAAKztB,EAAS/gX,QAC3BrkG,EAAS,WAAH,OAASw4Q,EAAW3+kB,MAAMm3D,KAAK,SAAA55C,GAAE,OAAI0wD,cAAc1wD,EAAG,EAAE,EAWpE,MAAO,CACLla,MAXY,WACZ8iU,IACAw4Q,EAAW5+kB,IAAIwrxB,EAAS/gX,OAC1B,EASEhzD,MARY,WAAH,OAASmnO,EAAW3+kB,MAAMwquB,QAAS,EAS5CxquB,IARU,WAAH,OAAS2+kB,EAAW3+kB,KAAM,EASjCD,IARU,SAAA86yB,GACV10e,IACAw4Q,EAAW5+kB,IAAIwrxB,EAASpyvB,KAAK00C,YAAYgtuB,EAAkBh1xB,IAC7D,EAOF,EACMi1xB,GAAU,WACd,IAAMp1U,EAzCU,SAAAq1U,GAChB,IAAMr1U,EAAUszU,GAAKztB,EAAS/gX,QACxBrkG,EAAS,WAAH,OAASu/J,EAAQ1le,MAAMm3D,KAAK4jvB,EAAU,EAWlD,MAAO,CACL13yB,MAXY,WACZ8iU,IACAu/J,EAAQ3le,IAAIwrxB,EAAS/gX,OACvB,EASEhzD,MARY,WAAH,OAASkuH,EAAQ1le,MAAMwquB,QAAS,EASzCxquB,IARU,WAAH,OAAS0le,EAAQ1le,KAAM,EAS9BD,IARU,SAAAQ,GACV4lU,IACAu/J,EAAQ3le,IAAIwrxB,EAASpyvB,KAAK54B,GAC5B,EAOF,CAsBkBy6yB,CAAU/0rB,GAE1B,OAAAl/G,EAAA,GACK2+d,EAAQ,CACXlxZ,GAHS,SAAA7zE,GAAC,OAAI+ke,EAAQ1le,MAAMm3D,KAAKx2D,EAAG,GAKxC,EAEMs6yB,GAAU,SAAC9yyB,EAAIgtkB,GACnB,IAAIj0jB,EAAQ,KAeZ,MAAO,CACLysE,OAfa,WACR0zC,EAAOngH,KACVkrB,aAAalrB,GACbA,EAAQ,KAEZ,EAWEwmO,SAVe,WAAc,IAAD,IAAA51J,EAAAt0F,UAAAxD,OAATuV,EAAI,IAAAU,MAAA6hF,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJxiF,EAAIwiF,GAAAv0F,UAAAu0F,GACnBsvC,EAAOngH,KACTA,EAAQ0lB,WAAW,WACjB1lB,EAAQ,KACR/Y,EAAG3E,MAAM,KAAM+L,EACjB,EAAG4lkB,GAEP,EAKF,EACM+lO,GAAS,SAAC/yyB,EAAIgtkB,GAClB,IAAIj0jB,EAAQ,KACNysE,EAAS,WACR0zC,EAAOngH,KACVkrB,aAAalrB,GACbA,EAAQ,KAEZ,EAQA,MAAO,CACLysE,SACA+5J,SATe,WAAc,IAAD,IAAAt1J,EAAA50F,UAAAxD,OAATuV,EAAI,IAAAU,MAAAmiF,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJ9iF,EAAI8iF,GAAA70F,UAAA60F,GACvB1E,IACAzsE,EAAQ0lB,WAAW,WACjB1lB,EAAQ,KACR/Y,EAAG3E,MAAM,KAAM+L,EACjB,EAAG4lkB,EACL,EAKF,EAEM1hW,GAAa0xU,EAAS,kBACtBg2P,GAAiBh2P,EAAS,uBAC1Bi2P,GAAmBj2P,EAAS,2BAC5Bk2P,GAAuBl2P,EAAS,8BAChCm2P,GAAwBn2P,EAAS,+BACjCo2P,GAA2Bp2P,EAAS,6BAEpCq2P,GAAW,SAAA73tB,GAAI,OAAI,SAAA3hC,GAAI,OAAIohC,GAAGphC,EAAM2hC,EAAM,CAAD,EACzC83tB,GAAW,SAACC,EAAQC,GACxB,IAAM9xX,EAAM6xX,EAAOx8hB,UAAU08hB,SACvB/ryB,EAAQ0kxB,GAAavpD,QAAQnhT,EAAI4jT,gBACjC9ppB,EAAO4wsB,GAAavpD,QAAQ0wE,EAAO50D,WACnChznB,EAAW6nrB,EAAe1vE,KAAK,iBAAM,IAAMx4f,IAAY,EAAE,SAAA8lL,GAAE,MAAI,IAAIv8Z,OAAOm+yB,KAAkB,MAAOn+yB,OAAOu8Z,EAAI,KAAM,GACpHsiZ,EAAWjguB,GAAQ/rE,EAAOg6a,EAAIghH,aAAa8/L,MAAM96tB,GAEvD,OADgBqmxB,GAAU2lB,EAAU/nrB,EAAU0nrB,GAAS73tB,IACxCxjB,KAAK,SAAA1wB,GAAC,OAAI6jvB,GAAO7jvB,EAAG,GAAGzyC,OAAOo+yB,OAAqBj7uB,KAAK,SAAAukB,GAAG,OAAI4usB,GAAO7jvB,EAAG,GAAGzyC,OAAOm+yB,OAAmBxwyB,IAAI,SAAAtS,GACvH,IAAMq9I,EAAWomqB,GAAYJ,EAAQh3tB,GACrC,MAAO,CACLA,MACArsF,OACAq9I,WAEJ,EAAE,EAAC,EACL,EAEMqmqB,GAAiB,SAACp3nB,EAAMhhG,GAAI,OAAK4vsB,GAAM5umB,EAAM,mBAAqBm0mB,GAAWn0mB,EAAM,yBAA0B62nB,GAAS73tB,GAAO,EAC7Hm4tB,GAAc,SAACJ,EAAQh3tB,GAC3B,IAAMrwB,EAAOkguB,GAAavpD,QAAQ0wE,EAAO50D,WACnC+xC,EAAgB98mB,GAAY1nH,EAAM,IAAIr3D,OAAOo+yB,KAAoB,MAAOp+yB,OAAO0nF,EAAK,OAC1F,OAAO6nsB,GAASsM,EAAe,SAAA9skB,GAAU,OAAKgwlB,GAAehwlB,EAAY13J,EAAK,EAChF,EACM2nvB,GAAU,SAACN,EAAQrjzB,GACvB,IAAMg8D,EAAOkguB,GAAavpD,QAAQ0wE,EAAO50D,WACnCzmK,EAAUtka,GAAY1nH,EAAM,IAAIr3D,OAAOm+yB,KAAkB,MAAOn+yB,OAAO3E,EAAM,OAC7E6qS,EAAY,CAAC,EAQnB,OAPAkpf,GAAO/rM,EAAS,SAAAv4hB,GACd,IAAKi0vB,GAAej0vB,EAAGuM,GAAO,CAC5B,IAAMqwB,EAAM2usB,GAAMvruB,EAAGszvB,MACfa,EAAetuB,GAAMzqf,EAAWx+M,GAAKimpB,MAAM,IACjDznc,EAAUx+M,GAAOu3tB,EAAaj/yB,OAAO,CAAC8qD,GACxC,CACF,GACOo7O,CACT,EAEMg5gB,GAAU,SAACR,EAAQxzxB,GACvB,IAAMi0xB,EAAkBnD,GAAK,CAAC,GACxBoD,EAAW,WAAH,MAAU,CACtB/1uB,UAAW,GACX07d,SAAU+4Q,KACX,EACKuB,EAAgB,SAAChkzB,EAAMsI,GAC3B27yB,EAAgBjkzB,EAAM,SAAAsH,GAEpB,OADAgB,EAAEhB,GACKA,CACT,EACF,EACM28yB,EAAkB,SAACjkzB,EAAMsI,GAC7B,IAAM47yB,EAAcJ,EAAgBn8yB,MAE9Bw8yB,EAAa77yB,EADNgtxB,GAAM4uB,EAAalkzB,GAAM+1uB,WAAWguE,IAEjDG,EAAYlkzB,GAAQmkzB,EACpBL,EAAgBp8yB,IAAIw8yB,EACtB,EAcME,EAAmB,SAAC/3tB,EAAK/qE,GAC7ByywB,GAAO0vB,GAAYJ,EAAQh3tB,GAAM,SAAAigG,GAC3BhrK,EACFw5wB,GAAMxumB,EAAM02nB,KAAwB,QAEpC7nB,GAAS7umB,EAAM02nB,KAEnB,EACF,EACMqB,EAAexB,GAAO,WAC1B,IAAM7lkB,EAAcx0O,GAAKqnB,EAASy0xB,YAClCvwB,GAAO/2iB,EAAa,SAAAh9O,GAClBikzB,EAAgBjkzB,EAAM,SAAAsH,GACpB,IAAMgI,EAAOhI,EAAKoiiB,SAAS/hiB,MAmB3B,OAlBAy7yB,GAASC,EAAQnwB,EAASpyvB,KAAK9gC,IAAO4zuB,KAAK,WACzCtkuB,EAAKwvD,KAAK,SAAAutB,IApBO,SAAArsF,GACvBgkzB,EAAchkzB,EAAM,SAAAsH,GAClBysxB,GAAOzsxB,EAAK0mE,UAAW,SAAA1lE,GAAC,OAAIA,GAAE,EAAOtI,EAAK,EAC5C,EACF,CAiBUukzB,CAAiBvkzB,GACjBsH,EAAKoiiB,SAAS1+hB,QACdo5yB,EAAiB/3tB,GAAK,EACxB,EACF,EAAG,SAAAn6E,GAII,IAHLm6E,EAAGn6E,EAAHm6E,IACArsF,EAAIkS,EAAJlS,KACAq9I,EAAQnrI,EAARmrI,SAEKu8oB,GAAKtqxB,EAAM+8E,KACd/8E,EAAKwvD,KAAK,SAAAutB,GAAG,OAAI+3tB,EAAiB/3tB,GAAK,EAAM,GAvCjC,SAACrsF,EAAMqsF,EAAKgxD,GAChC2mqB,EAAchkzB,EAAM,SAAAsH,GAClBysxB,GAAOzsxB,EAAK0mE,UAAW,SAAA1lE,GAAC,OAAIA,GAAE,EAAMtI,EAAM,CACxCqsF,MACAgwB,MAAOy3qB,GAAMz2oB,EAAU,SAAAivC,GAAI,OAAIA,EAAKg2R,GAAG,IACvC,EACJ,EACF,CAiCUkiW,CAAcxkzB,EAAMqsF,EAAKgxD,GACzB/1I,EAAKoiiB,SAAShiiB,IAAI2kF,GAClB+3tB,EAAiB/3tB,GAAK,GAE1B,GACO,CACLq9c,SAAUpiiB,EAAKoiiB,SACf17d,UAAW1mE,EAAK0mE,UAEpB,EACF,EACF,EAAG,IACHq1uB,EAAOlnuB,GAAG,SAAU,WAClBkouB,EAAa/utB,QACf,GACA+ttB,EAAOlnuB,GAAG,aAAc,WACtBkouB,EAAah1jB,UACf,GAOA,MAAO,CACLurJ,YAPkB,SAAC56Y,EAAMsI,GACzB27yB,EAAgBjkzB,EAAM,SAAAsH,GAAI,MAAK,CAC7BoiiB,SAAUpiiB,EAAKoiiB,SACf17d,UAAW1mE,EAAK0mE,UAAUrpE,OAAO,CAAC2D,IACnC,EACH,EAIF,EAEMm8yB,GAAU,SAACpB,EAAQxzxB,GACvB,IAAM60xB,EAAmB5B,KAgBzBO,EAAOt5yB,WAAW46yB,YAAY3B,MAC9BK,EAAOt5yB,WAAW66yB,mBAAmBF,EAAkB,SAAArosB,GAAU,IACvCpmG,EADsCC,EAAAjO,EAC3Co0G,GAAK,QAAAunN,EAAA,WAAG,IAAhBj6Q,EAAI1zC,EAAAzT,OAjBU,SAAAmnD,GAAI,OAAIupuB,EAASxquB,KAAKiB,EAAK2pB,KAAKoxuB,IAAmB58uB,KAAKj4C,EAASm/B,OAAQ,EAkBhG61vB,CAAmBl7vB,GAAMmV,KAAK,SAAAi3gB,IACA,IAAxBA,EAAS+uO,aACO,SAAdn7vB,EAAK3pD,KACP2pD,EAAK+7c,SApBgB,SAAA/7c,GAC7B,IAAIqC,EAAIigU,EACRtiU,EAAK2pB,KAAKyvuB,KAAoB,MAC9Bp5vB,EAAK2pB,KAAKwvuB,KAAkB,MAC5Bn5vB,EAAK2pB,KAAK0vuB,KAAwB,MAClC,IAAM+B,EAAkB7xB,EAASxquB,KAAKiB,EAAK2pB,KAAK4vuB,OAA6B5wyB,IAAI,SAAAwkC,GAAK,OAAIA,EAAMhG,MAAM,IAAI,GAAEwhsB,MAAM,IAC5G0yE,EAAgB9xB,EAASxquB,KAAKiB,EAAK2pB,KAAK2vuB,OAA0B3wyB,IAAI,SAAAwkC,GAAK,OAAIA,EAAMhG,MAAM,IAAI,GAAEwhsB,MAAM,IAC7GyhD,GAAOgxB,EAAiB,SAAA/kzB,GAAI,OAAI2pD,EAAK2pB,KAAKtzE,EAAM,KAAK,GACrD,IAAMktB,EAAoG,QAAvF++V,EAAmC,QAA7BjgU,EAAKrC,EAAK2pB,KAAK,gBAAkC,IAAZtnB,OAAqB,EAAIA,EAAGlb,MAAM,YAA8B,IAAZm7U,EAAgBA,EAAK,GACjIg5b,EAAevjnB,GAAWx0K,EAAW,CAACkuN,MAAcz2O,OAAOqgzB,IACjEr7vB,EAAK2pB,KAAK,QAAS2xuB,EAAatjzB,OAAS,EAAIsjzB,EAAah2vB,KAAK,KAAO,MACtEtF,EAAK2pB,KAAK2vuB,KAAyB,MACnCt5vB,EAAK2pB,KAAK4vuB,KAA4B,KACxC,CASUgC,CAAuBv7vB,GAG7B,EACF,EAVA,IAAAzzC,EAAAhO,MAAA+N,EAAAC,EAAA/N,KAAAC,MAAAw7T,GAUC,OAAAv7T,GAAA6N,EAAAnW,EAAAsI,EAAA,SAAA6N,EAAA5N,GAAA,CACH,EACF,EAmBI68yB,GAAS,EACPC,GAAa,SAAArixB,GACjB,IACMi5C,GADO,IAAIx1E,MACCo0E,UAGlB,OAAO73C,EAAS,IAFDljB,KAAKC,MAAsB,IAAhBD,KAAKo2B,aAC/BkvwB,GACwCvgzB,OAAOo3E,EACjD,EAaMqpuB,GAAU,SAAC9nvB,EAAUgxB,GAAM,OAAK2tsB,GAAavpD,QAAQp1qB,EAAS+kZ,IAAIl6K,UAAU75M,GAAS,EACrF+2tB,GAAY,SAAA/nvB,GAAQ,OAAI8nvB,GAAQ9nvB,GAAU,EAAO,EACjDgovB,GAAS,SAAAhovB,GAAQ,OAAI8nvB,GAAQ9nvB,GAAU,EAAM,EAO7Ckzf,GAAS,SAAClzf,EAAU9hB,GACxB,IAAMmtX,EAPU,SAACrrW,EAAU9hB,GAC3B,IAAMmtX,EAAKszX,GAAazpD,QAAQh3rB,GAC1Bo6F,EAAaulpB,GAAQ79tB,GAE3B,OADAw9tB,GAASnyX,EAAI/yR,GACN+yR,CACT,CAEa48Y,CAAUjovB,EAAU9hB,GAC/BmjvB,GAAQrhuB,EAAUqrW,GAClB,IAAMxoV,EAAWy8sB,GAAWt/tB,GAG5B,OAFA87F,GAAOuvQ,EAAIxoV,GACX4+sB,GAASzhuB,GACFqrW,CACT,EAEM68Y,GAAa,SAACxjX,EAAWjtQ,GAAkC,IAAxB2mjB,EAAUx2uB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG8txB,EAC9CuU,EAAS,IAAI9G,GAAcz+V,EAAWjtQ,GACtC0kmB,EAAO,SAAAz5wB,GACX,IAAI1Q,EACJ,GACEA,EAAOi4xB,EAAOvnxB,WACP1Q,IAASuyxB,GAASvyxB,KAAUosuB,EAAWpsuB,IAChD,OAAO2jxB,EAASxquB,KAAKn5C,GAAM2qB,OAAO4nwB,GACpC,EACA,MAAO,CACLh0oB,QAAS,WAAF,OAAQoloB,EAASxquB,KAAK8+uB,EAAO15oB,WAAW5zH,OAAO4nwB,GAAS,EAC/DvyxB,KAAM,WAAF,OAAQmqxB,EAAK,OAAO,EACxBpqxB,KAAM,WAAF,OAAQoqxB,EAAK,OAAO,EACxBiH,MAAO,WAAF,OAAQjH,EAAK,QAAQ,EAE9B,EAEMgsB,GAAa,SAACpjW,EAAKq5R,GACvB,IAAMgqE,EAAkBhqE,GAA0B,SAAAhyrB,GAAI,OAAI24Z,EAAIwmV,QAAQn/uB,IAASw4uB,GAAOx4uB,IAAS24uB,GAAyB34uB,EAAM,EACxH+vuB,EAAO,SAAC/vuB,EAAMhlC,EAAQ6ixB,EAAQpzvB,GAClC,GAAI0tvB,GAASn4uB,GAAO,CAClB,IAAMwuf,EAAY/jgB,EAAQuV,EAAMhlC,EAAQglC,EAAKriD,MAC7C,IAAmB,IAAf6wiB,EACF,OAAO+6O,EAASpyvB,KAAK,CACnBs8D,UAAWzzC,EACXhlC,OAAQwzhB,GAGd,CACA,OAAOqvP,IAAS1/tB,KAAK,SAAAv4D,GAAI,OAAImqxB,EAAKnqxB,EAAK6tF,UAAW7tF,EAAKoV,OAAQ6ixB,EAAQpzvB,EAAQ,EACjF,EAeA,MAAO,CACLwxwB,UAfgB,SAACj8vB,EAAMhlC,EAAQyvB,EAASk3C,GACxC,IAAMk8sB,EAASie,GAAW97vB,EAAM2hC,QAAmCA,EAAOg3X,EAAIy5V,UAAW4J,GACzF,OAAOjsB,EAAK/vuB,EAAMhlC,EAAQ,kBAAM6ixB,EAAOl4xB,OAAOgD,IAAI,SAAAhD,GAAI,MAAK,CACzD8tF,UAAW9tF,EACXqV,OAAQrV,EAAK3N,OACd,EAAE,EAAEyyC,GAASyxwB,WAChB,EAUEC,SATe,SAACn8vB,EAAMhlC,EAAQyvB,EAASk3C,GACvC,IAAMk8sB,EAASie,GAAW97vB,EAAM2hC,QAAmCA,EAAOg3X,EAAIy5V,UAAW4J,GACzF,OAAOjsB,EAAK/vuB,EAAMhlC,EAAQ,kBAAM6ixB,EAAOj4xB,OAAO+C,IAAI,SAAA/C,GAAI,MAAK,CACzD6tF,UAAW7tF,EACXoV,OAAQ,EACT,EAAE,EAAEyvB,GAASyxwB,WAChB,EAKF,EAEME,GAAUlmyB,KAAKs8F,MACfmsjB,GAAU,SAAAx+oB,GACd,OAAKA,EAUE,CACL3K,KAAM4myB,GAAQj8xB,EAAK3K,MACnBE,IAAK0myB,GAAQj8xB,EAAKzK,KAClBC,OAAQymyB,GAAQj8xB,EAAKxK,QACrBF,MAAO2myB,GAAQj8xB,EAAK1K,OACpB0C,MAAOikyB,GAAQj8xB,EAAKhI,OACpBE,OAAQ+jyB,GAAQj8xB,EAAK9H,SAfd,CACL7C,KAAM,EACNE,IAAK,EACLC,OAAQ,EACRF,MAAO,EACP0C,MAAO,EACPE,OAAQ,EAWd,EACM2ga,GAAW,SAAC74Z,EAAMk8xB,GAStB,OARAl8xB,EAAOw+oB,GAAQx+oB,GACXk8xB,IAGFl8xB,EAAK3K,KAAO2K,EAAK3K,KAAO2K,EAAKhI,OAF7BgI,EAAK1K,MAAQ0K,EAAK3K,KAKpB2K,EAAKhI,MAAQ,EACNgI,CACT,EAEMm8xB,GAAkB,SAACngkB,EAAWogkB,EAAOC,GAAK,OAAKrgkB,GAAa,GAAKA,GAAajmO,KAAKgL,IAAIq7xB,EAAMlkyB,OAAQmkyB,EAAMnkyB,QAAU,CAAE,EACvHokyB,GAAY,SAACF,EAAOC,GACxB,IAAME,EAAaxmyB,KAAKgL,IAAIs7xB,EAAMnkyB,OAAS,EAAGkkyB,EAAMlkyB,OAAS,GAC7D,OAAIkkyB,EAAM5myB,OAAS+myB,EAAaF,EAAM9myB,OAGlC6myB,EAAM7myB,IAAM8myB,EAAM7myB,SAGf2myB,GAAgBE,EAAM9myB,IAAM6myB,EAAM5myB,OAAQ4myB,EAAOC,EAC1D,EACMG,GAAY,SAACJ,EAAOC,GACxB,OAAID,EAAM7myB,IAAM8myB,EAAM7myB,UAGlB4myB,EAAM5myB,OAAS6myB,EAAM9myB,MAGlB4myB,GAAgBE,EAAM7myB,OAAS4myB,EAAM7myB,IAAK6myB,EAAOC,EAC1D,EAoBMI,GAA2B,SAACz8xB,EAAM7R,EAAGC,GACzC,IAAMsvhB,EAAK3nhB,KAAKiL,IAAIjL,KAAKgL,IAAI5S,EAAG6R,EAAK3K,KAAO2K,EAAKhI,OAAQgI,EAAK3K,MACxDsohB,EAAK5nhB,KAAKiL,IAAIjL,KAAKgL,IAAI3S,EAAG4R,EAAKzK,IAAMyK,EAAK9H,QAAS8H,EAAKzK,KAC9D,OAAOQ,KAAK+rP,MAAM3zP,EAAIuvhB,IAAOvvhB,EAAIuvhB,IAAOtvhB,EAAIuvhB,IAAOvvhB,EAAIuvhB,GACzD,EAKM++Q,GAAkB,SAAAnyY,GACtB,IAAM+gU,EAAiB/gU,EAAM+gU,eAC3B5iM,EAAcn+H,EAAMm+H,YACtB,OAAI4iM,IAAmB/gU,EAAMghU,cAAgBD,EAAejtc,iBAAmBksI,EAAMihU,YAAc9iM,EAAc,EACxG4iM,EAAetxsB,WAAW0ugB,GAE5B,IACT,EACMi0Q,GAAY,SAACrptB,EAAWz4E,GAC5B,GAAIw8wB,GAAY/jsB,IAAcA,EAAU+qM,gBAAiB,CACvD,IAAMrkQ,EAAas5D,EAAUt5D,WACvB4ixB,EAbM,SAAClkzB,EAAOqoB,EAAKC,GAAG,OAAKjL,KAAKgL,IAAIhL,KAAKiL,IAAItoB,EAAOqoB,GAAMC,EAAK,CAalD67xB,CAAQhiyB,EAAQ,EAAGmf,EAAWniC,OAAS,GAC1D,OAAOmiC,EAAW4ixB,EACpB,CACE,OAAOtptB,CAEX,EASMwptB,GAAiB,IAAIl7uB,OAAO,msEAC5Bm7uB,GAAkB,SAAA/kuB,GAAE,OAAI3L,EAAS2L,IAAOA,EAAG59B,WAAW,IAAM,KAAO0iwB,GAAehjzB,KAAKk+E,EAAI,EAuB3FgluB,GAAc3lB,GACd4lB,GAAqBnhB,GACrBohB,GAAYvlB,GAAiB,UAAW,eACxCwlB,GAAYxlB,GAAiB,QAAS,cACtCylB,GAfM,WAAc,IAAD,IAAAC,EAAAhizB,UAAAxD,OAATuV,EAAI,IAAAU,MAAAuvyB,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJlwyB,EAAIkwyB,GAAAjizB,UAAAiizB,GAClB,OAAO,SAAAnvyB,GACL,IAAK,IAAI/V,EAAI,EAAGA,EAAIgV,EAAKvV,OAAQO,IAC/B,IAAKgV,EAAKhV,GAAG+V,GACX,OAAO,EAGX,OAAO,CACT,CACF,CAMqCkkvB,CAAI2qD,GAAaC,GAAoBhib,EAAIkib,KACxEI,GAAWtib,EAAI08Z,GAAiB,cAAe,0BAC/C6lB,GAAWxlB,GACXylB,GAASplB,GACTqlB,GAAcpM,GAAShsX,UACvBq4X,GAzCgB,SAACrqtB,EAAWz4E,GAChC,OAAIA,EAAS,GAAKw8wB,GAAY/jsB,IAAcA,EAAU+qM,qBACpD,EAEOs+gB,GAAUrptB,EAAWz4E,EAEhC,EAoCM+iyB,GAAgB,SAAAl3f,GAAG,OAAIA,EAAMA,EAAI0gJ,cAAgBkqW,GAASoD,IAAItB,WAAY,EAC1EyK,GAAiB,SAAAztP,GAAG,OAAI/jf,EAAS+jf,IAAQ,YAAYt2jB,KAAKs2jB,EAAK,EAC/DhyI,GAAU,SAAAsJ,GAAG,QAAMA,EAAIihB,YAAcjhB,EAAIkhB,MAAO,EAChDk1W,GAA0B,SAAAvzY,GAC9B,IAAMj3U,EAAYi3U,EAAM+gU,eAClBzwtB,EAAS0vZ,EAAMm+H,YACrB,GAAIm1Q,GAAetzY,EAAMpza,aAAeomzB,GAASjqtB,EAAU8d,aAAe4mrB,GAAS1ksB,GAAY,CAC7F,IAAMtlE,EAAOslE,EAAU91F,KACvB,GAAIqgzB,GAAe7vxB,EAAKnT,EAAS,KAAOgjyB,GAAe7vxB,EAAKnT,EAAS,IACnE,OAAO,CAEX,CACA,OAAO,CACT,EAaMkjyB,GAAkC,SAAAr2X,GACtC,IAAMwL,EAAKxL,EAAI4jT,eACT74S,EAAK/K,EAAI6jT,aACTrhU,EAAKwd,EAAIghH,YACTz/H,EAAKye,EAAI8jT,UACf,GAAIt4S,IAAOT,GAAMulW,GAASvlW,IAAc,IAAPvoB,GAAmB,IAAPjB,EAAU,CACrD,IAAM+0Y,EAASt2X,EAAIu2X,aAEnB,OADAD,EAAO9yE,YAAYz4S,GACZyrX,GAAwBF,EACjC,CACE,OAAO,IAEX,EACMG,GAAa,SAAAl7vB,GAAC,OAAe,IAAXA,EAAE5tC,MAA0B,IAAZ4tC,EAAE3tC,OAAyB,IAAV2tC,EAAE1tC,KAA0B,IAAb0tC,EAAEztC,MAAa,EACjF0oyB,GAA0B,SAAAh2xB,GAC9B,IAAIg6B,EACAgqe,EACE93F,EAAclsa,EAAKo/a,iBAMzB,OAJE4kF,EADE93F,EAAYv8b,OAAS,EACV2mqB,GAAQpqO,EAAY,IAEpBoqO,GAAQt2oB,EAAKpS,0BAEvBsoa,GAAQl2Z,IAASu1xB,GAAOv1xB,IAASi2xB,GAAWjyR,GAnC3B,SAAAkyR,GACtB,IAAM13f,EAAM03f,EAAO10Y,cACbge,EAAMk2X,GAAcl3f,GACpB23f,EAAS33f,EAAI5mQ,eAAek5uB,IAC5B5nrB,EAAagtsB,EAAOhtsB,WAC1BA,EAAWyB,aAAawrsB,EAAQD,GAChC12X,EAAIihB,SAAS01W,EAAQ,GACrB32X,EAAIkhB,OAAOy1W,EAAQ,GACnB,IAAMnyR,EAAasyI,GAAQ92O,EAAI5xa,yBAE/B,OADAs7F,EAAW9zD,YAAY+gwB,GAChBnyR,CACT,CAyBWoyR,CAAgBp2xB,GAErBi2xB,GAAWjyR,IAAe9tG,GAAQl2Z,IACoB,QAAhDg6B,EAAK67vB,GAAgC71xB,UAA+B,IAAZg6B,EAAgBA,EAE3Egqe,CACT,EACMqyR,GAA0B,SAACryR,EAAYgwR,GAC3C,IAAMsC,EAAgB3lY,GAASqzG,EAAYgwR,GAG3C,OAFAsC,EAAcxmyB,MAAQ,EACtBwmyB,EAAclpyB,MAAQkpyB,EAAcnpyB,KAAO,EACpCmpyB,CACT,EACMC,GAA8B,SAAAC,GAClC,IAAMtqX,EAAc,GACduqX,EAAwB,SAAAzyR,GA7KhB,IAACkwR,EAAOC,EA8KM,IAAtBnwR,EAAWh0gB,SAGXk8a,EAAYv8b,OAAS,IAjLZukzB,EAkLClwR,EAlLMmwR,EAkLMjoX,EAAYA,EAAYv8b,OAAS,GAlL7BukzB,EAAM/myB,OAASgnyB,EAAMhnyB,MAAQ+myB,EAAM7myB,MAAQ8myB,EAAM9myB,KAAO6myB,EAAM5myB,SAAW6myB,EAAM7myB,QAAU4myB,EAAM9myB,QAAU+myB,EAAM/myB,QAsL7I8+a,EAAYj3b,KAAK+uhB,GACnB,EACM0yR,EAAqB,SAACtrtB,EAAWz4E,GACrC,IAAM0vZ,EAAQqzY,GAActqtB,EAAUo2U,eACtC,GAAI7uZ,EAASy4E,EAAU91F,KAAK3F,OAAQ,CAClC,GAAIklzB,GAAgBzptB,EAAU91F,KAAKqd,IACjC,OAEF,GAAIkiyB,GAAgBzptB,EAAU91F,KAAKqd,EAAS,MAC1C0vZ,EAAMo+B,SAASr1W,EAAWz4E,GAC1B0vZ,EAAMq+B,OAAOt1W,EAAWz4E,EAAS,IAC5BijyB,GAAwBvzY,IAE3B,YADAo0Y,EAAsBJ,GAAwBL,GAAwB3zY,IAAQ,GAIpF,CACI1vZ,EAAS,IACX0vZ,EAAMo+B,SAASr1W,EAAWz4E,EAAS,GACnC0vZ,EAAMq+B,OAAOt1W,EAAWz4E,GACnBijyB,GAAwBvzY,IAC3Bo0Y,EAAsBJ,GAAwBL,GAAwB3zY,IAAQ,KAG9E1vZ,EAASy4E,EAAU91F,KAAK3F,SAC1B0ya,EAAMo+B,SAASr1W,EAAWz4E,GAC1B0vZ,EAAMq+B,OAAOt1W,EAAWz4E,EAAS,GAC5BijyB,GAAwBvzY,IAC3Bo0Y,EAAsBJ,GAAwBL,GAAwB3zY,IAAQ,IAGpF,EACMj3U,EAAYortB,EAAcprtB,YAC1Bz4E,EAAS6jyB,EAAc7jyB,SAC7B,GAAI2iyB,GAASlqtB,GAEX,OADAsrtB,EAAmBtrtB,EAAWz4E,GACvBu5a,EAET,GAAI4oX,GAAY1ptB,GACd,GAAIortB,EAAc3jB,UAAW,CAC3B,IAAMl7uB,EAAO89vB,GAAerqtB,EAAWz4E,GACnC2iyB,GAAS39vB,IACX++vB,EAAmB/+vB,EAAMA,EAAKriD,KAAK3F,QAEjCulzB,GAA6Bv9vB,KAAU49vB,GAAO59vB,IAChD8+vB,EAAsBJ,GAAwBL,GAAwBr+vB,IAAO,GAEjF,KAAO,CACL,IAAMA,EAAO89vB,GAAerqtB,EAAWz4E,GAIvC,GAHI2iyB,GAAS39vB,IACX++vB,EAAmB/+vB,EAAM,GAEvBu9vB,GAA6Bv9vB,IAAS6+vB,EAAc3jB,UAEtD,OADA4jB,EAAsBJ,GAAwBL,GAAwBr+vB,IAAO,IACtEu0Y,EAET,IAAMyqX,EAAalB,GAAee,EAAcprtB,YAAaortB,EAAc7jyB,SAAW,GAClFuiyB,GAA6ByB,KAAgBpB,GAAOoB,KAClD3B,GAAU2B,IAAe3B,GAAUr9vB,KAAUu9vB,GAA6Bv9vB,KAC5E8+vB,EAAsBJ,GAAwBL,GAAwBW,IAAa,IAGnFzB,GAA6Bv9vB,IAC/B8+vB,EAAsBJ,GAAwBL,GAAwBr+vB,IAAO,GAEjF,CAEF,OAAOu0Y,CACT,EACM0qX,GAAgB,SAACxrtB,EAAWz4E,EAAQu5a,GACxC,IAkBMkT,EAAiB,WAIrB,OAHKlT,IACHA,EAAcqqX,GAA4BK,GAAcxrtB,EAAWz4E,KAE9Du5a,CACT,EAIA,MAAO,CACL9gW,UAAW0vd,EAAS1vd,GACpBz4E,OAAQmoiB,EAASnoiB,GACjB4xZ,QAlBc,WACd,IAAMlC,EAAQqzY,GAActqtB,EAAUo2U,eAGtC,OAFAa,EAAMo+B,SAASr1W,EAAWz4E,GAC1B0vZ,EAAMq+B,OAAOt1W,EAAWz4E,GACjB0vZ,CACT,EAcE+8B,iBACA9vN,UARgB,WAAH,OAAS8vN,IAAiBzvc,OAAS,CAAE,EASlDgjyB,UAjCgB,WAChB,OAAI2iB,GAASlqtB,GACO,IAAXz4E,CAGX,EA6BEkgxB,QA5Bc,WACd,OAAIyiB,GAASlqtB,GACJz4E,GAAUy4E,EAAU91F,KAAK3F,OAE3BgjB,GAAUy4E,EAAUt5D,WAAWniC,MACxC,EAwBEoiJ,QAVc,SAAAykqB,GAAa,OAAIA,GAAiBprtB,IAAcortB,EAAcprtB,aAAez4E,IAAW6jyB,EAAc7jyB,QAAS,EAW7H2ztB,QAVc,SAAAtklB,GAAM,OAAIyzpB,GAAerqtB,EAAW42D,EAASrvI,EAAS,EAAIA,EAAQ,EAYpF,EACAikyB,GAAcC,eAAiB,SAAAx0Y,GAAK,OAAIu0Y,GAAcv0Y,EAAM+gU,eAAgB/gU,EAAMm+H,YAAa,EAC/Fo2Q,GAAcE,aAAe,SAAAz0Y,GAAK,OAAIu0Y,GAAcv0Y,EAAMghU,aAAchhU,EAAMihU,UAAW,EACzFszE,GAAcrggB,MAAQ,SAAA5+P,GAAI,OAAIi/vB,GAAcj/vB,EAAKuxD,WAAYsssB,GAAY79vB,GAAQ,EAAG,EACpFi/vB,GAAc50pB,OAAS,SAAArqG,GAAI,OAAIi/vB,GAAcj/vB,EAAKuxD,WAAYsssB,GAAY79vB,GAAO,EACjFi/vB,GAAc/5U,QAAU,SAAC+mL,EAAMC,GAAI,OAAKkkI,GAAM9wuB,GAAK4smB,EAAKzkN,kBAAmBujV,GAAO/+H,EAAKxkN,kBAAmBg1W,IAAW9zE,OAAM,EAAO,EAClIs2E,GAAcz5U,QAAU,SAACymL,EAAMC,GAAI,OAAKkkI,GAAMpF,GAAO9+H,EAAKzkN,kBAAmBnoZ,GAAK2smB,EAAKxkN,kBAAmBk1W,IAAWh0E,OAAM,EAAO,EAClIs2E,GAAcjkB,UAAY,SAAA1gvB,GAAG,QAAIA,GAAMA,EAAI0gvB,WAAoB,EAC/DikB,GAAc/jB,QAAU,SAAA5gvB,GAAG,QAAIA,GAAMA,EAAI4gvB,SAAkB,EAC3D+jB,GAAcG,eAAiB,SAAA9kwB,GAAG,QAAIA,GAAM69uB,GAAS79uB,EAAIm5C,YAAqB,EAC9EwrtB,GAAcI,kBAAoB,SAAA/kwB,GAAG,OAAK2kwB,GAAcG,eAAe9kwB,EAAK,EAE5E,IAAMglwB,GAAsB,SAAC3mW,EAAK34Z,GAC5Bm4uB,GAASn4uB,IAA8B,IAArBA,EAAKriD,KAAK3F,QAC9B2gd,EAAIh2b,OAAOq9B,EAEf,EAaMu/vB,GAAkB,SAAC5mW,EAAK9wB,EAAK7nY,GAC7Bu4uB,GAAmBv4uB,GARF,SAAC24Z,EAAK9wB,EAAKwsX,GAChC,IAAM7kpB,EAAa+5nB,EAASxquB,KAAKs1vB,EAAK7kpB,YAChCr3C,EAAYoxqB,EAASxquB,KAAKs1vB,EAAKl8rB,WACrC0vU,EAAI23X,WAAWnL,GACf7kpB,EAAWr6F,KAAK,SAAAwkB,GAAK,OAAI2luB,GAAoB3mW,EAAKh/X,EAAM+qW,gBAAgB,GACxEvsU,EAAUhjD,KAAK,SAAAwkB,GAAK,OAAI2luB,GAAoB3mW,EAAKh/X,EAAM4kS,YAAY,EACrE,CAGIkhc,CAAe9mW,EAAK9wB,EAAK7nY,GAdV,SAAC24Z,EAAK9wB,EAAK7nY,GAC5B6nY,EAAI23X,WAAWx/vB,GACfs/vB,GAAoB3mW,EAAK34Z,EAAK0kY,iBAC9B46X,GAAoB3mW,EAAK34Z,EAAKu+T,YAChC,CAYIihc,CAAW7mW,EAAK9wB,EAAK7nY,EAEzB,EAEM0/vB,GAAWvnB,GACXwnB,GAAU5nB,GACVtyW,GAAYgsX,GAAShsX,UACrBm6X,GAAmB,SAAA5/vB,GACvB,IAAMuxD,EAAavxD,EAAKuxD,WACxB,OAAIousB,GAAQpusB,GACHqusB,GAAiBrusB,GAEnBA,CACT,EACMsusB,GAAgB,SAAA7/vB,GACpB,OAAKA,EAGErwC,GAAOqwC,EAAK7lB,WAAY,SAAC1gC,EAAQumD,GAMtC,OALI2/vB,GAAQ3/vB,IAA2B,OAAlBA,EAAK6yD,SACxBp5G,EAASA,EAAOuB,OAAO6kzB,GAAc7/vB,IAErCvmD,EAAO6D,KAAK0iD,GAEPvmD,CACT,EAAG,IATM,EAUX,EAWM+6X,GAAQ,SAAA11X,GAAC,OAAI,SAAAC,GAAC,OAAID,IAAMC,CAAE,CAAD,EAgBzB+gzB,GAAiB,SAAA9/vB,GAErB,OADa0/vB,GAAS1/vB,GAAQ,SAAWA,EAAK6yD,SAAS35F,eACzC,IAjBY,SAAA8mC,GAC1B,IAAI0yD,EAAO9uG,EACX8uG,EAAQmtsB,GAAcD,GAAiB5/vB,IACvCp8C,EAAQqoxB,GAAYv5qB,EAAO8hR,GAAMx0U,GAAOA,GACxC0yD,EAAQA,EAAMtkG,MAAM,EAAGxK,EAAQ,GAC/B,IAAMm8yB,EAAmBpwyB,GAAO+iG,EAAO,SAACj5G,EAAQumD,EAAMznD,GAIpD,OAHImnzB,GAAS1/vB,IAAS0/vB,GAAShtsB,EAAMn6G,EAAI,KACvCkB,IAEKA,CACT,EAAG,GAGH,OAFAi5G,EAAQs5qB,GAASt5qB,EAAOklrB,GAAe,CAAC53uB,EAAK6yD,aAC7CjvG,EAAQqoxB,GAAYv5qB,EAAO8hR,GAAMx0U,GAAOA,IACzB+/vB,CACjB,CAGsBC,CAAoBhgwB,GAAQ,GAClD,EAWMigwB,GAAW,SAACt+tB,EAAMk9tB,GACtB,IAGIqB,EAHA3myB,EAAO,GACPk6E,EAAYortB,EAAcprtB,YAC1Bz4E,EAAS6jyB,EAAc7jyB,SAE3B,GAAI0kyB,GAASjstB,GACXystB,EA9CyB,SAAClgwB,EAAMhlC,GAElC,IADA,IAAIqhxB,EAAWr8uB,GACRq8uB,EAAWA,EAAS33W,kBACpBg7X,GAASrjB,IAGdrhxB,GAAUqhxB,EAAS1+xB,KAAK3F,OAE1B,OAAOgjB,CACT,CAqCmBmlyB,CAAqB1stB,EAAWz4E,OAC1C,CACL,IAAMmf,EAAas5D,EAAUt5D,WACzBnf,GAAUmf,EAAWniC,QACvBkozB,EAAe,QACfllyB,EAASmf,EAAWniC,OAAS,GAE7BkozB,EAAe,SAEjBzstB,EAAYt5D,EAAWnf,EACzB,CACAzB,EAAKjc,KAAKwizB,GAAerstB,IACzB,IAAIs4b,EA5BiB,SAACpqc,EAAM3hC,EAAMy/C,GAElC,IADA,IAAMssb,EAAU,GACPswQ,EAAWr8uB,EAAKuxD,WAAY8qrB,GAAYA,IAAa16sB,KACxD8d,IAAaA,EAAU48rB,IADuCA,EAAWA,EAAS9qrB,WAItFw6a,EAAQzuhB,KAAK++xB,GAEf,OAAOtwQ,CACT,CAmBgBq0R,CAAez+tB,EAAM8R,GAKnC,OAJAs4b,EAAUigQ,GAASjgQ,EAAS3wJ,EAAI28Z,MAChCx+wB,EAAOA,EAAKve,OAAO0iF,GAAMquc,EAAS,SAAA/re,GAChC,OAAO8/vB,GAAe9/vB,EACxB,KACY6W,UAAUvR,KAAK,KAAO,IAAM46vB,CAC1C,EAgCMG,GAAY,SAAC1+tB,EAAMpoE,GACvB,IAAKA,EACH,OAAO,KAET,IAiBM+myB,EAjBArqzB,EAAQsjB,EAAK4tB,MAAM,KACnBgwC,EAAQlhF,EAAM,GAAGkxC,MAAM,KACvBnsB,EAAS/kB,EAAM+B,OAAS,EAAI/B,EAAM,GAAK,SACvCw9F,EAAY9jF,GAAOwnE,EAAO,SAAC19E,EAAQZ,GACvC,IAAMsB,EAAQ,4BAA4B0zC,KAAKh1C,GAC/C,OAAKsB,GAGY,WAAbA,EAAM,KACRA,EAAM,GAAK,SA5CO,SAAC6lD,EAAM3pD,EAAMuN,GACnC,IAAI8uG,EAAQmtsB,GAAc7/vB,GAK1B,OAJA0yD,EAAQs5qB,GAASt5qB,EAAO,SAAC1yD,EAAMp8C,GAC7B,OAAQ87yB,GAAS1/vB,KAAU0/vB,GAAShtsB,EAAM9uG,EAAQ,GACpD,IACA8uG,EAAQs5qB,GAASt5qB,EAAOklrB,GAAe,CAACvhyB,MAC3BuN,EACf,CAuCW28yB,CAAgB9mzB,EAAQU,EAAM,GAAI87B,SAAS97B,EAAM,GAAI,MALnD,IAMX,EAAGwnF,GACH,OAAK8R,GAGAistB,GAASjstB,IAAcA,EAAU8d,YAGlC+usB,EADa,UAAXtlyB,EACWyqa,GAAUhyV,GAAa,EAEvBgyV,GAAUhyV,GAElBwrtB,GAAcxrtB,EAAU8d,WAAY+usB,IAlDtB,SAAC7stB,EAAWz4E,GAGnC,IAFA,IAAIglC,EAAOyzC,EACPo6c,EAAe,EACZ6xQ,GAAS1/vB,IAAO,CACrB,IAAMwgwB,EAAUxgwB,EAAKriD,KAAK3F,OAC1B,GAAIgjB,GAAU6yhB,GAAgB7yhB,GAAU6yhB,EAAe2yQ,EAAS,CAC9D/stB,EAAYzzC,EACZhlC,GAAkB6yhB,EAClB,KACF,CACA,IAAK6xQ,GAAS1/vB,EAAKu+T,aAAc,CAC/B9qR,EAAYzzC,EACZhlC,EAASwlyB,EACT,KACF,CACA3yQ,GAAgB2yQ,EAChBxgwB,EAAOA,EAAKu+T,WACd,CAIA,OAHImhc,GAASjstB,IAAcz4E,EAASy4E,EAAU91F,KAAK3F,SACjDgjB,EAASy4E,EAAU91F,KAAK3F,QAEnBinzB,GAAcxrtB,EAAWz4E,EAClC,CA8BSylyB,CAAiBhttB,EAAWx9D,SAASjb,EAAQ,KAX3C,IAYX,EAEM0lyB,GAA2B/nB,GAQ3BgoB,GAAW,SAAChoW,EAAKnoZ,EAAMk5D,EAAYm+T,EAAKh6a,GAC5C,IAAM4lF,EAAY5lF,EAAQg6a,EAAI4jT,eAAiB5jT,EAAI6jT,aAC/C1wtB,EAASnN,EAAQg6a,EAAIghH,YAAchhH,EAAI8jT,UACrClxrB,EAAQ,GACRknC,EAAOg3X,EAAIy5V,UACjB,GAAIja,GAAS1ksB,GACXh5C,EAAMn9C,KAAKosH,EAbmB,SAACl5D,EAAMijC,EAAWz4E,GAElD,IADA,IAAI4lyB,EAAgBpwvB,EAAKijC,EAAU91F,KAAKyQ,MAAM,EAAG4M,IAAShjB,OACjDgoD,EAAOyzC,EAAUixV,gBAAiB1kY,GAAQm4uB,GAASn4uB,GAAOA,EAAOA,EAAK0kY,gBAC7Ek8X,GAAiBpwvB,EAAKxQ,EAAKriD,MAAM3F,OAEnC,OAAO4ozB,CACT,CAO4BC,CAA0BrwvB,EAAMijC,EAAWz4E,GAAUA,OACxE,CACL,IAAI4jS,EAAQ,EACNzkR,EAAas5D,EAAUt5D,WACzBnf,GAAUmf,EAAWniC,QAAUmiC,EAAWniC,SAC5C4mT,EAAQ,EACR5jS,EAAS9E,KAAKiL,IAAI,EAAGgZ,EAAWniC,OAAS,IAE3CyiD,EAAMn9C,KAAKq7c,EAAIlzB,UAAUtrZ,EAAWnf,GAAS0uG,GAAck1L,EAC7D,CACA,IAAK,IAAI5+P,EAAOyzC,EAAWzzC,GAAQA,IAAS2hC,EAAM3hC,EAAOA,EAAKuxD,WAC5D92D,EAAMn9C,KAAKq7c,EAAIlzB,UAAUzlY,EAAM0pE,IAEjC,OAAOjvE,CACT,EAwBMlyB,GAAY,SAACowb,EAAKtid,EAAM+5G,GAC5B,IAAI1sG,EAAQ,EAWZ,OAVAgsxB,GAAMv6tB,KAAKwjZ,EAAIh9a,OAAOtlC,GAAO,SAAA2pD,GAC3B,MAA4C,QAAxCA,EAAKqwD,aAAa,uBACpB,EACSrwD,IAASowD,QAGlB1sG,GAGJ,GACOA,CACT,EACMo9yB,GAAiB,SAACj5X,EAAKh6a,GAC3B,IAAI4lF,EAAY5lF,EAAQg6a,EAAI4jT,eAAiB5jT,EAAI6jT,aAC7C1wtB,EAASnN,EAAQg6a,EAAIghH,YAAchhH,EAAI8jT,UAC3C,GAAI6rD,GAAY/jsB,IAAqC,OAAvBA,EAAUof,SAAmB,CACzD,IAAM14E,EAAas5D,EAAUt5D,YAC7Bs5D,EAAYt5D,EAAWjkB,KAAKgL,IAAIrT,EAAQmN,EAASA,EAAS,EAAGmf,EAAWniC,OAAS,OAE/EgjB,EAASnN,EAAQ,EAAI4lF,EAAUt5D,WAAWniC,OACtC6V,EACFg6a,EAAIihB,SAASr1W,EAAWz4E,GAExB6sa,EAAIkhB,OAAOt1W,EAAWz4E,GAG5B,CACF,EACM+lyB,GAA8B,SAAAl5X,GAGlC,OAFAi5X,GAAej5X,GAAK,GACpBi5X,GAAej5X,GAAK,GACbA,CACT,EACMqvW,GAAc,SAACl3uB,EAAMhlC,GACzB,GAAIw8wB,GAAYx3uB,KACdA,EAAO88vB,GAAU98vB,EAAMhlC,GACnB0lyB,GAAyB1gwB,IAC3B,OAAOA,EAGX,GAAI86uB,GAAmB96uB,GAAO,CACxBm4uB,GAASn4uB,IAAS46uB,GAAwB56uB,KAC5CA,EAAOA,EAAKuxD,YAEd,IAAI07kB,EAAUjtoB,EAAK0kY,gBACnB,GAAIg8X,GAAyBzzH,GAC3B,OAAOA,EAGT,GADAA,EAAUjtoB,EAAKu+T,YACXmic,GAAyBzzH,GAC3B,OAAOA,CAEX,CAEF,EAIM+zH,GAAoB,SAACxwvB,EAAMk5D,EAAYwzJ,GAC3C,IAAM9sK,EAAU8sK,EAAUyxd,UACpB9mT,EAAM3qK,EAAU08hB,SACtB,GAAyB,QAArBxpsB,EAAQyC,UAAsB6tsB,GAAyBtwsB,GAAU,CACnE,IAAM/5G,EAAO+5G,EAAQyC,SACrB,MAAO,CACLx8G,KAAAA,EACAuN,MAAO2kB,GAAU20P,EAAUy7L,IAAKtid,EAAM+5G,GAE1C,CACA,IAAM68kB,EAboC,SAAAplQ,GAC1C,OAAOqvW,GAAYrvW,EAAI4jT,eAAgB5jT,EAAIghH,cAAgBquP,GAAYrvW,EAAI6jT,aAAc7jT,EAAI8jT,UAC/F,CAWkBs1E,CAAoCp5X,GACpD,GAAIolQ,EAAS,CACX,IAAM52rB,EAAO42rB,EAAQvrqB,QACrB,MAAO,CACLrrB,KAAAA,EACAuN,MAAO2kB,GAAU20P,EAAUy7L,IAAKtid,EAAM42rB,GAE1C,CACA,OArGkB,SAACz8nB,EAAM0sN,EAAWxzJ,EAAYm+T,GAChD,IAAM8wB,EAAMz7L,EAAUy7L,IAChB9qc,EAAQ8yyB,GAAShoW,EAAKnoZ,EAAMk5D,EAAYm+T,GAAK,GAC7Cq5X,EAAUhkiB,EAAUikiB,YACpBC,EAAY5lB,GAA6B3zW,GAAO,CACpDw5X,aAAa,GACX,CAAC,EACL,GAAKnkiB,EAAUwne,cASb,OAAA3/uB,EAAA,CACE8I,QACAqzyB,WACGE,GAXL,IAAMtzyB,EAAM6yyB,GAAShoW,EAAKnoZ,EAAMk5D,EAAYm+T,GAAK,GACjD,OAAA9ib,EAAA,CACE8I,QACAC,IAAAA,EACAozyB,WACGE,EAST,CA+ESv8d,CAAYr0R,EAAM0sN,EAAWxzJ,EAAYm+T,EAClD,EAeMy5X,GAAqB,SAAC3oW,EAAKp9b,EAAIgmyB,GACnC,IAAMh0yB,EAAO,CACX,gBAAiB,WACjBgO,KACA,MAAS,mCAEX,OAAOgmyB,EAAS5oW,EAAItna,OAAO,OAAQ9jC,EAAM,YAAcorc,EAAItna,OAAO,OAAQ9jC,EAC5E,EACMi0yB,GAAwB,SAACtkiB,EAAWqkiB,GACxC,IAAM5oW,EAAMz7L,EAAUy7L,IAClB9wB,EAAM3qK,EAAU08hB,SACdr+xB,EAAKo9b,EAAIu0H,WACTzyU,EAAYyiB,EAAUwne,cACtBt0oB,EAAU8sK,EAAUyxd,UACpBt4uB,EAAO+5G,EAAQyC,SACfqusB,EAAUhkiB,EAAUikiB,YAC1B,GAAa,QAAT9qzB,EACF,MAAO,CACLA,OACAuN,MAAO2kB,GAAUowb,EAAKtid,EAAM+5G,IAGhC,IAAMqxsB,EAAOV,GAA4Bl5X,EAAIu2X,cAC7C,IAAK3jjB,EAAW,CACdgnjB,EAAKzoY,UAAS,GACd,IAAM0oY,EAAkBJ,GAAmB3oW,EAAKp9b,EAAK,OAAQgmyB,GAC7DhC,GAAgB5mW,EAAK8oW,EAAMC,EAC7B,EACA75X,EAAMk5X,GAA4Bl5X,IAC9B7O,UAAS,GACb,IAAM2oY,EAAoBL,GAAmB3oW,EAAKp9b,EAAK,SAAUgmyB,GAOjE,OANAhC,GAAgB5mW,EAAK9wB,EAAK85X,GAC1BzkiB,EAAUipe,eAAe,CACvB5quB,KACAqmyB,MAAM,EACNV,YAEK,CACL3lyB,KACA2lyB,UAEJ,EACMW,GAAgB,SAAC3kiB,EAAW3jR,GAChC,OAAa,IAATA,EACKynzB,GAAkBvmB,GAFqBj/xB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,IAAAA,UAAA,GAED0hR,GAC3B,IAAT3jR,EA3DY,SAAA2jR,GACvB,IAAM2qK,EAAM3qK,EAAU08hB,SACtB,MAAO,CACL/ryB,MAAOoyyB,GAAS/iiB,EAAUy7L,IAAIy5V,UAAW6M,GAAcC,eAAer3X,IACtE/5a,IAAKmyyB,GAAS/iiB,EAAUy7L,IAAIy5V,UAAW6M,GAAcE,aAAat3X,IAClEq5X,QAAShkiB,EAAUikiB,YAEvB,CAqDWW,CAAiB5kiB,GACf3jR,EArDY,SAAA2jR,GACvB,MAAO,CACL2qK,IAAK3qK,EAAU08hB,SACfsH,QAAShkiB,EAAUikiB,YAEvB,CAiDWY,CAAiB7kiB,GAEjBskiB,GAAsBtkiB,GAAW,EAE5C,EACM8kiB,GAAkBz9P,EAAMy8P,GAAmBh4tB,GAAU,GAErDi5tB,GAAU,SAAAppzB,GACd,IAAMqpzB,EAAc,SAAA/7yB,GAAE,OAAIA,EAAGtN,EAAO,EAC9BspzB,EAAch/P,EAAStqjB,GACvBupzB,EAAe,WAAH,OAAS18vB,CAAO,EAC5BA,EAAS,CACb5T,KAAK,EACLm+b,MAAOp3e,EACPoxuB,KAAM,SAACo4E,EAAUC,GAAO,OAAKA,EAAQzpzB,EAAM,EAC3C60uB,QAASv6X,EACThoV,QAASm+vB,EACT3gxB,IAAK,SAAA+gxB,GAAM,OAAI64B,GAAO1pzB,MAAM6wxB,EAAO7wxB,GAAO,EAC1C80uB,SAAUy0E,EACVjkvB,KAAM+jvB,EACNryV,OAAQqyV,EACRt0E,OAAQs0E,EACRv5E,MAAOw5E,EACPnxZ,GAAIoxZ,EACJh2E,WAAY+1E,EACZn4E,QAASo4E,EACTv0E,SAAUs0E,EACVhtvB,KAAM,SAAAhvD,GACJA,EAAGtN,EACL,EACAi1uB,WAAY,WAAF,OAAQy7C,EAASpyvB,KAAKt+B,EAAM,GAExC,OAAO6sD,CACT,EACMnvD,GAAQ,SAAAA,GACZ,IAAM6rzB,EAAe,WAAH,OAAS18vB,CAAO,EAC5BA,EAAS,CACb5T,KAAK,EACLm+b,MAAO15e,EACP0zuB,KAAM,SAACn2P,EAAS0uU,GAAQ,OAAK1uU,EAAQv9e,EAAM,EAC3Cm3uB,QAAS47C,EACTn+vB,QAASgoV,EACTxqW,IAAKy5yB,EACLz0E,SAAU,SAAA+7C,GAAM,OAAI64B,GAAOhszB,MAAMmzxB,EAAOnzxB,GAAO,EAC/C4nE,KAAMikvB,EACNvyV,OAAQy5T,EACR17C,OAAQz6X,EACRw1X,MAAO3/oB,EACPgoU,GAAIhoU,EACJojpB,WAAYi9C,EACZr/C,QAASq/C,EACTx7C,SAAUu7C,EAAInuxB,OAAO1E,IACrB4+D,KAAM8uD,EACN6pnB,WAAYy7C,EAAS/gX,MAEvB,OAAO9iX,CACT,EAEM68vB,GAAS,CACb1pzB,MAAOopzB,GACP1rzB,SACAw3uB,WAJiB,SAACjzd,EAAUp8Q,GAAG,OAAKo8Q,EAASmvd,KAAK,kBAAM1zuB,GAAMmI,EAAI,EAAEujzB,GAAS,GAsEzEQ,GA/DW,SAAAC,GACf,IAAK/6sB,EAAU+6sB,GACb,MAAM,IAAIxpzB,MAAM,0BAElB,GAAqB,IAAjBwpzB,EAAM1qzB,OACR,MAAM,IAAIkB,MAAM,mCAElB,IAAMoyuB,EAAe,GACfq3E,EAAM,CAAC,EAqDb,OApDAv4B,GAAOs4B,EAAO,SAACE,EAAOl/yB,GACpB,IAAMgtC,EAASvzC,GAAKylzB,GACpB,GAAsB,IAAlBlywB,EAAO14C,OACT,MAAM,IAAIkB,MAAM,kCAElB,IAAM4B,EAAM41C,EAAO,GACb73C,EAAQ+pzB,EAAM9nzB,GACpB,QAAiBoE,IAAbyjzB,EAAI7nzB,GACN,MAAM,IAAI5B,MAAM,0BAA4B4B,GACvC,GAAY,SAARA,EACT,MAAM,IAAI5B,MAAM,yCACX,IAAKyuG,EAAU9uG,GACpB,MAAM,IAAIK,MAAM,mCAElBoyuB,EAAahuuB,KAAKxC,GAClB6nzB,EAAI7nzB,GAAO,WAAc,IAAD,IAAA+nzB,EAAArnzB,UAAAxD,OAATuV,EAAI,IAAAU,MAAA40yB,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJv1yB,EAAIu1yB,GAAAtnzB,UAAAsnzB,GACjB,IAAMC,EAAYx1yB,EAAKvV,OACvB,GAAI+qzB,IAAclqzB,EAAMb,OACtB,MAAM,IAAIkB,MAAM,qCAAuC4B,EAAM,cAAgBjC,EAAMb,OAAS,KAAOa,EAAQ,UAAYkqzB,GAezH,MAAO,CACL94E,KAAM,WAAkB,IAAD,IAAA+4E,EAAAxnzB,UAAAxD,OAAbirzB,EAAQ,IAAAh1yB,MAAA+0yB,GAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAARD,EAAQC,GAAA1nzB,UAAA0nzB,GAChB,GAAID,EAASjrzB,SAAW0qzB,EAAM1qzB,OAC5B,MAAM,IAAIkB,MAAM,+CAAiDwpzB,EAAM1qzB,OAAS,SAAWirzB,EAASjrzB,QAGtG,OADeirzB,EAASv/yB,GACVlC,MAAM,KAAM+L,EAC5B,EACApT,MArBY,SAAAgpzB,GACZ,IAAMC,EAAajmzB,GAAKgmzB,GACxB,GAAI73E,EAAatzuB,SAAWorzB,EAAWprzB,OACrC,MAAM,IAAIkB,MAAM,iDAAmDoyuB,EAAahmrB,KAAK,KAAO,aAAe89vB,EAAW99vB,KAAK,MAK7H,IAHgBsorB,GAAOtC,EAAc,SAAA+3E,GACnC,OAAOn5B,GAAWk5B,EAAYC,EAChC,GAEE,MAAM,IAAInqzB,MAAM,gEAAkEkqzB,EAAW99vB,KAAK,MAAQ,eAAiBgmrB,EAAahmrB,KAAK,OAE/I,OAAO69vB,EAASrozB,GAAK0G,MAAM,KAAM+L,EACnC,EAUEi5C,IAAK,SAAAn9B,GACH/yB,QAAQkwD,IAAIn9B,EAAO,CACjBiitB,eACAvyrB,YAAaj+C,EACbk9E,OAAQzqE,GAEZ,EAEJ,CACF,GACOo1yB,CACT,EAKAF,GAAa,CAAC,CACZ7xE,WAAY,CAAC,SAAU,WACtB,CACDC,WAAY,CAAC,SAAU,WACtB,CACDC,YAAa,CAAC,SAAU,WACvB,CACDC,WAAY,CAAC,SAAU,aAEzB,IAq9CIuyE,GAr8CEC,GAAkB,SAAAjquB,GAAO,MAAqB,mBAAjBA,EAAQ//E,MAA8C,kBAAjB+/E,EAAQ//E,IAAyB,EACnGiqzB,GAAiB,SAAAlquB,GAAO,MAAqB,kBAAjBA,EAAQ//E,MAA6C,iBAAjB+/E,EAAQ//E,IAAwB,EAChGkqzB,GAAmB,SAAAnquB,GACvB,IAAM56E,EAAM,SAAAyE,GAAO,OAAIo/yB,GAAOhszB,MAAM,CAClC4M,UACAm2E,WACC,EACGoquB,EAAc,SAACrtzB,EAAMstzB,EAAUC,GACnC,QAAuB1kzB,IAAnBo6E,EAAQw1S,OAAsB,CAChC,IAAIhC,EACJ,GAAInlR,EAAUruB,EAAQw1S,QAAS,CAC7B,IAAK8+W,GAAOt0pB,EAAQw1S,OAAQtiT,GAC1B,OAAO9tE,EAAIrI,EAAO,uDAEpBy2X,EAAUxzS,EAAQw1S,MACpB,KAAO,KAAItiT,EAAS8M,EAAQw1S,QAG1B,OAAOpwX,EAAIrI,EAAO,8CAFlBy2X,EAAU,CAACxzS,EAAQw1S,OAGrB,CACA,OAAOyzb,GAAO1pzB,MAAM8qzB,EAAS72b,GAC/B,CAAO,YAAoB5tX,IAAhBo6E,EAAQuquB,IACZr3uB,EAAS8M,EAAQuquB,KAGftB,GAAO1pzB,MAAM+qzB,EAAUtquB,EAAQuquB,IAAKvquB,EAAQzgF,QAF1C6F,EAAIrI,EAAO,2CAIbqI,EAAIrI,EAAO,yDAEtB,EACA,IAAKmsF,EAASlJ,GACZ,OAAO56E,EAAI,gCAEb,IAAK8tE,EAAS8M,EAAQzrE,OACpB,OAAOnP,EAAI,4CAEb,QAAoBQ,IAAhBo6E,EAAQxrE,IAAmB,CAC7B,IAAK0+D,EAAS8M,EAAQxrE,KACpB,OAAOpP,EAAI,iDAEb,GAA6B,IAAzB46E,EAAQzrE,MAAM7V,QAAuC,IAAvBshF,EAAQxrE,IAAI9V,OAC5C,OAAO0G,EAAI,yDAEb,IAAImP,EAAQyrE,EAAQzrE,MAChBC,EAAMwrE,EAAQxrE,IAKlB,OAJmB,IAAfA,EAAI9V,SACN8V,EAAMD,EACNA,EAAQ,IAEH61yB,EAAY,SAAU,SAAA50b,GAAM,MAAK,CACtCv1X,KAAM,gBACNsU,MAAAA,EACAC,IAAAA,EACAghX,SACD,EAAG,SAAC+0b,EAAKhrzB,GAAK,MAAM,CACnBU,KAAM,iBACNsU,MAAAA,EACAC,IAAAA,EACA+1yB,MACAhrzB,QACD,EACH,CAAO,YAA4BqG,IAAxBo6E,EAAQ2uD,YACZz7D,EAAS8M,EAAQ2uD,aAGO,IAAzB3uD,EAAQzrE,MAAM7V,OACT0G,EAAI,mDAEN6jzB,GAAO1pzB,MAAM,CAClBU,KAAM,iBACNsU,MAAO,GACPC,IAAKwrE,EAAQzrE,MACbg2yB,IAAK,mBACLhrzB,MAAOygF,EAAQ2uD,cAVRvpI,EAAI,8DAagB,IAAzB46E,EAAQzrE,MAAM7V,OACT0G,EAAI,6CAENglzB,EAAY,QAAS,SAAA52b,GAAO,MAAK,CACtCvzX,KAAM,eACNsU,MAAOyrE,EAAQzrE,MACfihX,OAAQhC,EAAQ,GACjB,EAAG,SAACvtV,EAASukxB,GAAY,MAAM,CAC9BvqzB,KAAM,gBACNsU,MAAOyrE,EAAQzrE,MACfg2yB,IAAKtkxB,EACL1mC,MAAOirzB,EACR,EAEL,EACMC,GAAmB,SAAAlvb,GAAQ,OAAI01Z,GAAS11Z,EAAU2ub,GAAgB,EAClEQ,GAAoB,SAAAnvb,GAAQ,OAAI01Z,GAAS11Z,EAAU0ub,GAAiB,EAMpEU,GAAkB,SAAApvb,GACtB,IAAMnrQ,EAnHY,SAAA5uC,GAClB,IAAMlyC,EAAS,GACTwR,EAAS,GAQf,OAPAgwuB,GAAOtvsB,EAAS,SAAArhF,GACdA,EAAOwwuB,KAAK,SAAAvruB,GACVkqC,EAAOtrC,KAAKoB,EACd,EAAG,SAAA7F,GACDuhD,EAAO98C,KAAKzE,EACd,EACF,GACO,CACL+vC,SACAwR,SAEJ,CAqGqB8pwB,CAAY/5B,GAAMt1Z,EAAU4ub,KAE/C,OADAr5B,GAAO1gqB,EAAW9gF,OAAQ,SAAAlqC,GAAG,OAAIpI,QAAQC,MAAMmI,EAAIyE,QAASzE,EAAI46E,QAAQ,GACjEowC,EAAWtvE,MACpB,EAQM+pwB,GAAoBp1B,KAAWtkD,WAC/BH,GAAU65E,GAAkB75E,UAC5B85E,GAAQ3S,GAASoD,IAWjBp6Z,GAAW,SAAAnsY,GAAC,OAAIm6wB,EAAKn6wB,EAAGyzD,OAAQ,EAChC4kK,GAAS,SAAAtwO,GAAI,OAAI,SAAAqjzB,GAAM,OAAIA,EAAOl6yB,QAAQxB,IAAI3H,EAAM,CAAD,EACnDguzB,GAA0B,SAAAxrzB,GAAK,OAAI2zE,EAAS3zE,IAAU2pF,EAAS3pF,EAAO,EACtEyrzB,GAAsB,SAAC5K,GAAM,IAAEjwwB,EAAYjuC,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,GAAE,OAAK,SAAA3C,GACzD,IAAM+lR,EAAQpyM,EAAS3zE,GACvB,GAAI+lR,EAAO,CACT,IAA4B,IAAxB/lR,EAAML,QAAQ,KAAa,CAC7B,IAAM+rzB,EAjBI,SAAA1rzB,GACd,IAAM4kB,EAAQ5kB,EAAML,QAAQ,KAAO,EAAIK,EAAMsuC,MAAM,6BAA+BtuC,EAAMsuC,MAAM,KAC9F,OAAOsjvB,GAAMhtwB,EAAO,SAACioC,EAAQr9B,GAC3B,IAAMk7B,EAAMl7B,EAAK8e,MAAM,KACjBrsC,EAAMyoD,EAAI,GACVjV,EAAMiV,EAAIvrD,OAAS,EAAIurD,EAAI,GAAKzoD,EAEtC,OADA4qD,EAAOunuB,GAAOnyxB,IAAQmyxB,GAAO3+uB,GACtBoX,CACT,EAAG,CAAC,EACN,CAQsB8+vB,CAAQ3rzB,GACxB,MAAO,CACLA,MAAO8yxB,GAAM44B,EAAS7K,EAAOn+xB,IAAIottB,MAAMl/rB,GACvCm1O,QAEJ,CACE,MAAO,CACL/lR,QACA+lR,QAGN,CACE,MAAO,CACLA,OAAO,EACPz7Q,QAAS,oBAGf,CAAE,EA4wBIshzB,GAAiB99kB,GAAO,gBACxB+9kB,GAAa/9kB,GAAO,WACpBg+kB,GAAqBh+kB,GAAO,qBAC5Bi+kB,GAAYj+kB,GAAO,WACnBk+kB,GAAel+kB,GAAO,cACtBm+kB,GAA2Bn+kB,GAAO,2BAClCo+kB,GAAqBp+kB,GAAO,aAC5Bq+kB,GAAqBr+kB,GAAO,qBAC5Bs+kB,GAA0Bt+kB,GAAO,2BACjCu+kB,GAAqBv+kB,GAAO,oBAC5Bw+kB,GAAuBx+kB,GAAO,uBAC9By+kB,GAAuBz+kB,GAAO,uBAC9B0+kB,GAAmB1+kB,GAAO,eAC1B2+kB,GAAiC3+kB,GAAO,gCACxC4+kB,GAA4B5+kB,GAAO,qBACnC6+kB,GAAsB7+kB,GAAO,yBAC7B8+kB,GAAwB9+kB,GAAO,4BAC/B++kB,GAAkB/+kB,GAAO,SACzBg/kB,GAAch/kB,GAAO,aACrBi/kB,GAAoBj/kB,GAAO,qBAC3Bk/kB,GAAyBl/kB,GAAO,2BAChCm/kB,GAA6Bn/kB,GAAO,6BACpCo/kB,GAAyBp/kB,GAAO,yBAChCq/kB,GAA0Br/kB,GAAO,oBACjCs/kB,GAAoBt/kB,GAAO,mBAC3Bu/kB,GAAkBv/kB,GAAO,YACzBw/kB,GAAiBx/kB,GAAO,gBACxBy/kB,GAAwBz/kB,GAAO,qBAC/B0/kB,GAAiB1/kB,GAAO,eACxB2/kB,GAAgB3/kB,GAAO,eACvB4/kB,GAAkB5/kB,GAAO,iBACzB6/kB,GAAa7/kB,GAAO,YACpB8/kB,GAAoB9/kB,GAAO,kBAC3B+/kB,GAA4B//kB,GAAO,8BACnCgglB,GAAoBhglB,GAAO,mBAC3BiglB,GAA2BjglB,GAAO,2BAClCkglB,GAAiBlglB,GAAO,eACxBmglB,GAAenglB,GAAO,cACtBoglB,GAAoBpglB,GAAO,mBAC3BqglB,GAAWrglB,GAAO,SAClBsglB,GAActglB,GAAO,aACrBuglB,GAAWvglB,GAAO,SAClBwglB,GAAcxglB,GAAO,aACrByglB,GAA4BzglB,GAAO,qBACnC0glB,GAAa1glB,GAAO,WACpB2glB,GAAmB3glB,GAAO,kBAC1B4glB,GAAsB5glB,GAAO,sBAC7B6glB,GAA+B7glB,GAAO,+BACtC8glB,GAAsB9glB,GAAO,sBAC7B+glB,GAAa/glB,GAAO,UACpBghlB,GAAiBhhlB,GAAO,gBACxBihlB,GAAoBjhlB,GAAO,gBAC3BkhlB,GAA6BlhlB,GAAO,2BACpCmhlB,GAAyBnhlB,GAAO,sBAChCohlB,GAA0BphlB,GAAO,2BACjCqhlB,GAA0BrhlB,GAAO,sBACjCshlB,GAAethlB,GAAO,YACtBuhlB,GAAoBvhlB,GAAO,iBAC3BwhlB,GAAoBxhlB,GAAO,oBAC3ByhlB,GAAazhlB,GAAO,WACpB0hlB,GAAuB1hlB,GAAO,oBAC9B2hlB,GAA6B3hlB,GAAO,0BACpC4hlB,GAAsB5hlB,GAAO,UAC7B6hlB,GAA0B7hlB,GAAO,sBACjC8hlB,GAA2B9hlB,GAAO,uBAClC+hlB,GAAoB/hlB,GAAO,oBAC3BgilB,GAAmBhilB,GAAO,SAC1BiilB,GAA0BjilB,GAAO,0BACjCkilB,GAA0BlilB,GAAO,yBACjCmilB,GAAenilB,GAAO,cACtBoilB,GAA0BpilB,GAAO,sBACjCqilB,GAAarilB,GAAO,WACpBsilB,GAAuBtilB,GAAO,oBAC9BuilB,GAAwBvilB,GAAO,qBAC/BwilB,GAAqBxilB,GAAO,oBAC5ByilB,GAAsBzilB,GAAO,qBAC7B0ilB,GAAwB1ilB,GAAO,uBAC/B2ilB,GAAuB3ilB,GAAO,uBAC9B4ilB,GAAgC5ilB,GAAO,iCACvC6ilB,GAA0B7ilB,GAAO,uBACjC8ilB,GAAsB9ilB,GAAO,eAC7B+ilB,GAAuB/ilB,GAAO,iBAC9BgjlB,GAAoBhjlB,GAAO,oBAC3BijlB,GAA0BjjlB,GAAO,wBACjCkjlB,GAAkBljlB,GAAO,iBACzBmjlB,GAAwBnjlB,GAAO,wBAC/BojlB,GAAsBpjlB,GAAO,qBAC7BqjlB,GAAmBrjlB,GAAO,kBAC1BsjlB,GAAwBtjlB,GAAO,sBAC/BujlB,GAAsBvjlB,GAAO,kBAC7BwjlB,GAAyBxjlB,GAAO,sBAChCyjlB,GAAoBzjlB,GAAO,oBAC3B0jlB,GAAyB1jlB,GAAO,qBAKhC2jlB,GAA2B,SAAA5Q,GAAM,OAAIhqB,GAAMhnD,QAAQgxE,EAAOl6yB,QAAQxB,IAAI,qBAAsB,EAC5FuszB,GAAwB5jlB,GAAO,wBAC/B6jlB,GAAyB7jlB,GAAO,yBAChC8jlB,GAA4B9jlB,GAAO,4BACnC+jlB,GAAsB/jlB,GAAO,mBAC7BgklB,GAAuBhklB,GAAO,mBAC9BiklB,GAA6BjklB,GAAO,8BAEpCkklB,GAAcrzB,GACdszB,GAAW3yB,GACX4yB,GAAe,SAAA/qwB,GACnB,IAAMuxD,EAAavxD,EAAKuxD,WACpBA,GACFA,EAAW9zD,YAAYuC,EAE3B,EACMgrwB,GAAY,SAAA78xB,GAChB,IAAM88xB,EAAcxwB,GAAOtswB,GAC3B,MAAO,CACLzqB,MAAOyqB,EAAKn2B,OAASizzB,EAAYjzzB,OACjCm2B,KAAM88xB,EAEV,EACMC,GAAkB,SAAA5vB,GAEtB,IADA,IAAIjhuB,GACwD,KAApDA,EAAMihuB,EAAe39xB,KAAKorD,YAAYwxuB,MAC5Ce,EAAe6vB,WAAW9wvB,EAAK,EAEnC,EACM+wvB,GAAkB,SAAC9vB,EAAgBhhvB,GAEvC,OADA+wwB,GAAS/vB,GACFhhvB,CACT,EAYMgxwB,GAA6B,SAAChwB,EAAgBhhvB,GAClD,IAAMi3D,EAAaj3D,EAAIm5C,YACjB83tB,EA/iOU,SAAClujB,EAAI/uP,GACrB,IAAM80C,EAAI6muB,GAAW5shB,EAAI/uP,GACzB,OAAc,IAAP80C,EAAWmmuB,EAAS/gX,OAAS+gX,EAASpyvB,KAAKisB,EACpD,CA4iOsBoowB,CAAUzswB,GAAKwyD,EAAWp3E,YAAamhwB,GAAgB3yxB,IAAI,SAAA/E,GAC7E,OAAOA,EAAQ02C,EAAIt/B,SAAWikyB,GAAc1tsB,EAAYj3D,EAAIt/B,SAAW,GAAKs/B,CAC9E,GAAGqurB,MAAMrurB,GAET,OADA+wwB,GAAS/vB,GACFiwB,CACT,EACME,GAA2B,SAACnwB,EAAgBhhvB,GAAG,OAAKwwwB,GAASxvB,IAAmBhhvB,EAAIm5C,cAAgB6nsB,EAnB1E,SAACA,EAAgBhhvB,GAC/C,IAAM+vG,EAAS2gqB,GAAU1vB,EAAe39xB,KAAKisD,OAAO,EAAGtP,EAAIt/B,WACrD4jS,EAAQosgB,GAAU1vB,EAAe39xB,KAAKisD,OAAOtP,EAAIt/B,WAEvD,OADaqvI,EAAOl8H,KAAOywR,EAAMzwR,MACxBn2B,OAAS,GAChBkzzB,GAAgB5vB,GACT2jB,GAAc3jB,EAAgBhhvB,EAAIt/B,SAAWqvI,EAAO3mJ,QAEpD42C,CAEX,CAS2HoxwB,CAAwBpwB,EAAgBhhvB,GAAO8wwB,GAAgB9vB,EAAgBhhvB,EAAK,EAEzMqxwB,GAAsB,SAACl4tB,EAAWn5C,GAAG,OAAK2kwB,GAAcG,eAAe9kwB,GAAOmxwB,GAAyBh4tB,EAAWn5C,GADpF,SAACghvB,EAAgBhhvB,GAAG,OAAKA,EAAIm5C,cAAgB6nsB,EAAe/prB,WAAa+5sB,GAA2BhwB,EAAgBhhvB,GAAO8wwB,GAAgB9vB,EAAgBhhvB,EAAK,CACrEsxwB,CAA4Bn4tB,EAAWn5C,EAAK,EACrK+wwB,GAAW,SAAAQ,GACXhB,GAAYgB,IAAuB/wB,GAAmB+wB,KACpD9+X,GAAW8+X,GACbA,EAAmBz9sB,gBAAgB,kBAEnC28sB,GAAac,IAGbf,GAASe,KACXX,GAAgBW,GACuB,IAAnCA,EAAmBluzB,KAAK3F,QAC1B+yzB,GAAac,GAGnB,EAEMC,GAA2BnzB,GAC3BozB,GAAYjzB,GACZkzB,GAAgBpzB,GAEhBqzB,GAAwB,SAACtquB,EAAMyuB,EAASi6C,GAC5C,IACIyxF,EACAD,EAFEwwS,EAAarzG,GAAS5oU,EAAQn6F,wBAAyBo0I,GAG7D,GAAqB,SAAjB1oE,EAAKjgE,QAAoB,CAC3B,IAAM8wwB,EAAS7wsB,EAAKkoV,cAAcnqZ,gBAClCo8N,EAAUn6J,EAAKs6J,YAAcu2iB,EAAOv2iB,WACpCJ,EAAUl6J,EAAKq6J,WAAaw2iB,EAAOx2iB,SACrC,KAAO,CACL,IAAMkwkB,EAAWvquB,EAAK1rE,wBACtB6lO,EAAUn6J,EAAKs6J,WAAaiwkB,EAAS12yB,KACrCqmO,EAAUl6J,EAAKq6J,UAAYkwkB,EAASx2yB,GACtC,CACA22gB,EAAW72gB,MAAQsmO,EACnBuwS,EAAW52gB,OAASqmO,EACpBuwS,EAAW32gB,KAAOmmO,EAClBwwS,EAAW12gB,QAAUkmO,EACrBwwS,EAAWl0gB,MAAQ,EACnB,IAAI0B,EAASu2F,EAAQmuC,YAAcnuC,EAAQzwF,YAQ3C,OAPI9F,EAAS,IACPwwI,IACFxwI,IAAW,GAEbwygB,EAAW72gB,MAAQqE,EACnBwygB,EAAW52gB,OAASoE,GAEfwygB,CACT,EA0BM8/R,GAAY,SAACzS,EAAQ/3tB,EAAMw9sB,EAASzhhB,GACxC,IACI0uiB,EACAP,EAFEQ,EAAkBvT,KAGlBwT,EAAatH,GAAmBtL,GAChC/gW,EAAM+gW,EAAO/gW,IA8Cb1xK,EAAO,YA5EmB,SAAAtlN,GAGhC,IAFA,IAAIt/B,EAAIigU,EACFiqc,EAAuBxyoB,GAAYw4mB,GAAavpD,QAAQrnpB,GA/BhC,qDAgCrBppF,EAAI,EAAGA,EAAIg0zB,EAAqBv0zB,OAAQO,IAAK,CACpD,IAAMynD,EAAOuswB,EAAqBh0zB,GAAGogd,IACjCs0O,EAAUjtoB,EAAK0kY,gBACnB,GAAI02W,GAAyBnuG,GAAU,CACrC,IAAMtvrB,EAAOsvrB,EAAQtvrB,KACD,IAAhBA,EAAK3F,OACuB,QAA7BqqD,EAAK4qoB,EAAQ17kB,kBAAoC,IAAZlvD,GAAyBA,EAAG5E,YAAYwvoB,GAE9EA,EAAQk+H,WAAWxtzB,EAAK3F,OAAS,EAAG,EAExC,CACAi1rB,EAAUjtoB,EAAKu+T,YACX48a,GAA2BluG,KAET,IADPA,EAAQtvrB,KACZ3F,OACuB,QAA7BsqX,EAAK2qU,EAAQ17kB,kBAAoC,IAAZ+wQ,GAAyBA,EAAG7kU,YAAYwvoB,GAE9EA,EAAQk+H,WAAW,EAAG,GAG5B,CACF,CAqDIqB,CAA0B7quB,GACtBkquB,IACFR,GAASQ,GACTA,EAAqB,MAEvBQ,EAAgB75uB,GAAG,SAAAi6uB,GACjB9zW,EAAIh2b,OAAO8pyB,EAAWptiB,OACtBgtiB,EAAgBhrzB,OAClB,GACI+qzB,IACFngvB,cAAcmgvB,GACdA,OAAiBltzB,EAErB,EACMwtzB,EAAa,WACjBN,EAAiBvgvB,YAAY,WAC3BwgvB,EAAgB75uB,GAAG,SAAAi6uB,GACb/uiB,IACFi7L,EAAIu6V,YAAYuZ,EAAWptiB,MAAO,2BAElCs5L,EAAIq8V,SAASyX,EAAWptiB,MAAO,0BAEnC,EACF,EAAG,IACL,EAWA,MAAO,CACL2nB,KAlFW,SAAC38I,EAAQj6C,GACpB,IAAIy3U,EAEJ,GADA5gJ,IACI+khB,GAAc57sB,GAChB,OAAO,KAET,IAAI+urB,EAAQ/urB,GAmCV,OATAy7sB,EAl9KiB,SAAC7rwB,EAAMqqG,GAC5B,IAAIhoG,EAEEw6Q,GADoC,QAA7Bx6Q,EAAKrC,EAAK6pX,qBAAuC,IAAZxnX,EAAgBA,EAAK5iC,UAClDwgC,eAAes6uB,IAC9BhprB,EAAavxD,EAAKuxD,WACxB,GAAK84C,EAgBE,CACL,IAAM4iiB,EAAUjtoB,EAAK0kY,gBACrB,GAAIi2W,GAAS1tG,GAAU,CACrB,GAAI6tG,GAAmB7tG,GACrB,OAAOA,EAET,GAAImuG,GAAyBnuG,GAC3B,OAAOA,EAAQ0/H,UAAU1/H,EAAQtvrB,KAAK3F,OAAS,EAEnD,CACAu5G,SAAwDA,EAAWyB,aAAa6pN,EAAU78Q,EAC5F,KA3Ba,CACX,IAAMitoB,EAAUjtoB,EAAKu+T,YACrB,GAAIo8a,GAAS1tG,GAAU,CACrB,GAAI6tG,GAAmB7tG,GACrB,OAAOA,EAET,GAAIkuG,GAA2BluG,GAE7B,OADAA,EAAQ0/H,UAAU,GACX1/H,CAEX,CACIjtoB,EAAKu+T,YACPhtQ,SAAwDA,EAAWyB,aAAa6pN,EAAU78Q,EAAKu+T,aAE/FhtQ,SAAwDA,EAAWt+D,YAAY4pR,EAEnF,CAYA,OAAOA,CACT,CAg7K2B+vf,CAAex8sB,EAASi6C,GAC7Cw9R,EAAMz3U,EAAQy5T,cAAc09B,cACxBslX,GAAwBhB,EAAmBttc,cAC7CspE,EAAIihB,SAAS+iX,EAAoB,GACjChkY,EAAIkhB,OAAO8iX,EAAoB,KAE/BhkY,EAAIihB,SAAS+iX,EAAoB,GACjChkY,EAAIkhB,OAAO8iX,EAAoB,IAE1BhkY,EAlCP,IAAMyzW,EAx4KQ,SAACwxB,EAAW9swB,EAAMqqG,GACpC,IAAIhoG,EAEE0qwB,GADoC,QAA7B1qwB,EAAKrC,EAAK6pX,qBAAuC,IAAZxnX,EAAgBA,EAAK5iC,UACjD6F,cAAcwnyB,GACpCC,EAAUv8sB,aAAa,iBAAkB65C,EAAS,SAAW,SAC7D0iqB,EAAUv8sB,aAAa,iBAAkB,OACzCu8sB,EAAU95wB,YAAYonvB,KAAkB1hV,KACxC,IAAMpnW,EAAavxD,EAAKuxD,WAUxB,OATK84C,EAOH94C,SAAwDA,EAAWyB,aAAa+5sB,EAAW/swB,GANvFA,EAAKu+T,YACPhtQ,SAAwDA,EAAWyB,aAAa+5sB,EAAW/swB,EAAKu+T,aAEhGhtQ,SAAwDA,EAAWt+D,YAAY85wB,GAK5EA,CACT,CAs3K6BC,CAAYV,EAAYl8sB,EAASi6C,GAClDgiY,EAAa4/R,GAAsBtquB,EAAMyuB,EAASi6C,GACxDsuT,EAAI27V,SAAShZ,EAAgB,MAAOjvQ,EAAW32gB,KAC/Cm2yB,EAAqBvwB,EACrB,IAAMj8gB,EAAQs5L,EAAItna,OAAO,MAAO,CAC9B,MAAS,mBACT,iBAAkB,QA8BtB,OA5BEsna,EAAIn9T,UAAU6jI,EAAKt6Q,EAAA,GACdsnhB,IAEL1zE,EAAI3xc,IAAI26E,EAAM09L,GACdgtiB,EAAgBtuzB,IAAI,CAClBshR,QACAjvK,UACAi6C,WAEEA,GACFsuT,EAAIq8V,SAAS31hB,EAAO,2BAEtBqtiB,KACA7kY,EAAMz3U,EAAQy5T,cAAc09B,eACxBuB,SAASwyV,EAAgB,GAC7BzzW,EAAIkhB,OAAOuyV,EAAgB,GAatBzzW,CACT,EAuCE5gJ,OACAgmhB,OAJa,WAAH,MAAS,sOAAkT,EAKrUC,WAdiB,WACjBb,EAAgB75uB,GAAG,SAAAi6uB,GACjB,IAAMpgS,EAAa4/R,GAAsBtquB,EAAM8quB,EAAWr8sB,QAASq8sB,EAAWpiqB,QAC9EsuT,EAAIn9T,UAAUixqB,EAAWptiB,MAAKt6Q,EAAA,GACzBsnhB,GAEP,EACF,EAQEpmY,QAPc,WAAH,OAASh6E,cAAcmgvB,EAAgB,EAStD,EACMe,GAA0B,WAAH,OAAS/9B,GAAIpvrB,QAAQwpoB,WAAY,EACxDqjF,GAA0B,SAAA7swB,GAAI,OAAI8rwB,GAAyB9rwB,IAAS+rwB,GAAU/rwB,EAAM,EACpFotwB,GAAoB,SAAAptwB,GAExB,OADiB6swB,GAAwB7swB,IAASg4uB,GAAUh4uB,IAASmtwB,OAClDxtqB,GAAc4yoB,GAAavpD,QAAQhprB,IAAO6va,OAAOskU,GACtE,EAEMk5B,GAA0B30B,GAC1B40B,GAA2B30B,GAC3B40B,GAAUz0B,GACV00B,GAAc11B,GAAiB,UAAW,kDAC1C21B,GAAmB3yB,GACnB4yB,GAAwB9yB,GACxB+yB,GAAcn2B,GACdo2B,GAAWz1B,GACX01B,GAAqB5xB,GACrB6xB,GAAa,SAAAx3yB,GAAS,OAAIA,EAAY,CAAE,EACxC8lrB,GAAc,SAAA9lrB,GAAS,OAAIA,EAAY,CAAE,EACzCy3yB,GAAsB,SAACh+B,EAAMkH,GAEjC,IADA,IAAIj3uB,EACGA,EAAO+vuB,EAAKkH,IACjB,IAAKy2B,GAAsB1twB,GACzB,OAAOA,EAGX,OAAO,IACT,EACMguwB,GAAW,SAAChuwB,EAAM1pC,EAAW23yB,EAAa5ioB,EAAU4rmB,GACxD,IAEIoF,EAFEwB,EAAS,IAAI9G,GAAc/2uB,EAAMqrI,GACjC6ioB,EAAwBZ,GAAyBttwB,IAAS0twB,GAAsB1twB,GAEtF,GAAIo8oB,GAAY9lrB,GAAY,CAC1B,GAAI43yB,GAEED,EADJ5xB,EAAW0xB,GAAoBlwB,EAAOl4xB,KAAKw4D,KAAK0/tB,IAAS,IAEvD,OAAOxB,EAGX,KAAOA,EAAW0xB,GAAoBlwB,EAAOl4xB,KAAKw4D,KAAK0/tB,GAAS5G,IAC9D,GAAIg3B,EAAY5xB,GACd,OAAOA,CAGb,CACA,GAAIyxB,GAAWx3yB,GAAY,CACzB,GAAI43yB,GAEED,EADJ5xB,EAAW0xB,GAAoBlwB,EAAOj4xB,KAAKu4D,KAAK0/tB,IAAS,IAEvD,OAAOxB,EAGX,KAAOA,EAAW0xB,GAAoBlwB,EAAOj4xB,KAAKu4D,KAAK0/tB,GAAS5G,IAC9D,GAAIg3B,EAAY5xB,GACd,OAAOA,CAGb,CACA,OAAO,IACT,EAMM8xB,GAAmB,SAACnuwB,EAAMqrI,GAC9B,KAAOrrI,GAAQA,IAASqrI,GAAU,CAChC,GAAImioB,GAAYxtwB,GACd,OAAOA,EAETA,EAAOA,EAAKuxD,UACd,CACA,OAAO,IACT,EACM68sB,GAAgB,SAACC,EAAgBC,EAAgBjjoB,GAAQ,OAAK8ioB,GAAiBE,EAAe56tB,YAAa43F,KAAc8ioB,GAAiBG,EAAe76tB,YAAa43F,EAAU,EAChLkjoB,GAA+B,SAACC,EAAgB3P,GACpD,IAAKA,EACH,OAAOt1B,EAAS/gX,OAElB,IAAM/0U,EAAYortB,EAAcprtB,YAC1Bz4E,EAAS6jyB,EAAc7jyB,SAC7B,OAAK2yyB,GAAYl6tB,GAGV81rB,EAASxquB,KAAK00C,EAAUt5D,WAAWnf,EAASwzyB,IAF1CjlC,EAAS/gX,MAGpB,EACMimZ,GAAc,SAACpkqB,EAAQrqG,GAC3B,IAAIqC,EAEEqoX,GADoC,QAA7BroX,EAAKrC,EAAK6pX,qBAAuC,IAAZxnX,EAAgBA,EAAK5iC,UACrD8nb,cAQlB,OAPIl9S,GACFqgR,EAAMwgU,eAAelrrB,GACrB0qX,EAAM0gU,aAAaprrB,KAEnB0qX,EAAMygU,cAAcnrrB,GACpB0qX,EAAM2gU,YAAYrrrB,IAEb0qX,CACT,EACMgkZ,GAAqB,SAAC/suB,EAAMgtuB,EAAOC,GAAK,OAAKT,GAAiBQ,EAAOhtuB,KAAUwsuB,GAAiBS,EAAOjtuB,EAAM,EAC7GktuB,GAAO,SAACr5yB,EAAMmsE,EAAM3hC,GAGxB,IAFA,IAAMq3uB,EAAc7hxB,EAAO,kBAAoB,cAC3C6mxB,EAAWr8uB,EACRq8uB,GAAYA,IAAa16sB,GAAM,CACpC,IAAIsrmB,EAAUovG,EAAShF,GAIvB,GAHIpqG,GAAWwgI,GAAiBxgI,KAC9BA,EAAUA,EAAQoqG,IAEhBi2B,GAAyBrgI,IAAYsgI,GAAQtgI,GAAU,CACzD,GAAIyhI,GAAmB/suB,EAAMsrmB,EAASovG,GACpC,OAAOpvG,EAET,KACF,CACA,GAAI4gI,GAAmB5gI,GACrB,MAEFovG,EAAWA,EAAS9qrB,UACtB,CACA,OAAO,IACT,EACMu9sB,GAAWvqQ,EAAMkqQ,IAAa,GAC9BM,GAAUxqQ,EAAMkqQ,IAAa,GAC7BO,GAAiB,SAAC14yB,EAAWqrE,EAAM+oV,GACvC,IAAI1qX,EACEivwB,EAAW1qQ,EAAMsqQ,IAAM,EAAMltuB,GAC7ButuB,EAAY3qQ,EAAMsqQ,IAAM,EAAOltuB,GAC/B8R,EAAYi3U,EAAM+gU,eAClBzwtB,EAAS0vZ,EAAMm+H,YACrB,GAAI+xP,GAAwBnnsB,GAAY,CACtC,IAAMmoJ,EAAQgykB,GAASn6tB,GAAaA,EAAU8d,WAAa9d,EACrDrkE,EAAWwsN,EAAMvrI,aAAa,kBACpC,GAAiB,WAAbjhF,IACF4wB,EAAO47L,EAAM2iI,YACT6uc,GAAkBptwB,IACpB,OAAO8uwB,GAAS9uwB,GAGpB,GAAiB,UAAb5wB,IACF4wB,EAAO47L,EAAM8oM,gBACT0oY,GAAkBptwB,IACpB,OAAO+uwB,GAAQ/uwB,EAGrB,CACA,IAAK0qX,EAAMjwK,UACT,OAAOiwK,EAET,GAAIytX,GAAS1ksB,GAAY,CACvB,GAAIg6tB,GAAiBh6tB,GAAY,CAC/B,GAAkB,IAAdn9E,EAAiB,CAEnB,GADA0pC,EAAOkvwB,EAAUz7tB,GAEf,OAAOq7tB,GAAS9uwB,GAGlB,GADAA,EAAOivwB,EAASx7tB,GAEd,OAAOs7tB,GAAQ/uwB,EAEnB,CACA,IAAmB,IAAf1pC,EAAkB,CAEpB,GADA0pC,EAAOivwB,EAASx7tB,GAEd,OAAOs7tB,GAAQ/uwB,GAGjB,GADAA,EAAOkvwB,EAAUz7tB,GAEf,OAAOq7tB,GAAS9uwB,EAEpB,CACA,OAAO0qX,CACT,CACA,GAAI0wX,GAAyB3nsB,IAAcz4E,GAAUy4E,EAAU91F,KAAK3F,OAAS,EAC3E,OAAkB,IAAdse,IACF0pC,EAAOkvwB,EAAUz7tB,IAERq7tB,GAAS9uwB,GAGb0qX,EAET,GAAIywX,GAA2B1nsB,IAAcz4E,GAAU,EACrD,OAAmB,IAAf1E,IACF0pC,EAAOivwB,EAASx7tB,IAEPs7tB,GAAQ/uwB,GAGZ0qX,EAET,GAAI1vZ,IAAWy4E,EAAU91F,KAAK3F,OAE5B,OADAgoD,EAAOkvwB,EAAUz7tB,IAERq7tB,GAAS9uwB,GAEX0qX,EAET,GAAe,IAAX1vZ,EAEF,OADAglC,EAAOivwB,EAASx7tB,IAEPs7tB,GAAQ/uwB,GAEV0qX,CAEX,CACA,OAAOA,CACT,EACMykZ,GAAoB,SAACjO,EAASrC,GAAa,OAAK0P,GAA6BrN,EAAU,GAAK,EAAGrC,GAAetuxB,OAAO+8xB,GAA0B,EAC/I8B,GAA6B,SAAC94yB,EAAWqrE,EAAM+oV,GACnD,IAAM2kZ,EAAkBL,GAAe14yB,EAAWqrE,EAAM+oV,GACxD,OAAsB,IAAfp0Z,EAAmB2oyB,GAAcC,eAAemQ,GAAmBpQ,GAAcE,aAAakQ,EACvG,EACMC,GAAyB,SAAAh1wB,GAAG,OAAIivuB,EAASxquB,KAAKzE,EAAIq0rB,WAAWhmuB,IAAI4pxB,GAAavpD,QAAS,EAEvFumF,GAAyB,SAACC,EAAQ3Q,GAEtC,IADA,IAAIvkwB,EAAMukwB,EACHvkwB,EAAMk1wB,EAAOl1wB,IAClB,GAAIA,EAAIq9L,YACN,OAAOr9L,EAGX,OAAOA,CACT,EACMm1wB,GAAwB,SAAC1wwB,EAAMq3B,GACnC,IAAMs5uB,EAActB,GAAcrvwB,EAAMq3B,GACxC,QAAKs5uB,IAAel3B,GAAOz5uB,EAAK4vrB,aAGzB+gF,CACT,GAGA,SAAWpM,GACTA,EAAWA,EAAsB,WAAK,GAAK,YAC3CA,EAAWA,EAAqB,SAAI,GAAK,UAC1C,CAHD,CAGGA,KAAeA,GAAa,CAAC,IAChC,IAgcWjoa,GAhcLs0a,GAA2Bh3B,GAC3Bi3B,GAAWz3B,GACX03B,GAAcr4B,GACds4B,GAASt3B,GACTu3B,GAAmB9zB,GACnB+zB,GAznLa,SAAAhwwB,GAAI,OAAI87uB,GAAe97uB,IARL,SAAAA,GACnC,QAAKk8uB,GAA4Bl8uB,KAGzByquB,GAAM1ruB,GAAKiB,EAAK5lB,qBAAqB,MAAO,SAAC3gC,EAAQuvB,GAC3D,OAAOvvB,GAAUgiyB,GAAwBzywB,EAC3C,GAAG,EACL,CACmDinyB,CAA6BjwwB,EAAM,EA0nLhFkwwB,GAA2B9zB,GAU3B+zB,GAAc,SAAC18tB,EAAWz4E,GAC9B,OAAIy4E,EAAU+qM,iBAAmBxjR,EAASy4E,EAAUt5D,WAAWniC,OACtDy7F,EAAUt5D,WAAWnf,GAEvB,IACT,EACMo1yB,GAA4B,SAAC95yB,EAAW0pC,GAC5C,GAAI8twB,GAAWx3yB,GAAY,CACzB,GAAIy5yB,GAAiB/vwB,EAAK0kY,mBAAqBkrY,GAAS5vwB,EAAK0kY,iBAC3D,OAAOu6X,GAAc50pB,OAAOrqG,GAE9B,GAAI4vwB,GAAS5vwB,GACX,OAAOi/vB,GAAcj/vB,EAAM,EAE/B,CACA,GAAIo8oB,GAAY9lrB,GAAY,CAC1B,GAAIy5yB,GAAiB/vwB,EAAKu+T,eAAiBqxc,GAAS5vwB,EAAKu+T,aACvD,OAAO0gc,GAAcrggB,MAAM5+P,GAE7B,GAAI4vwB,GAAS5vwB,GACX,OAAOi/vB,GAAcj/vB,EAAMA,EAAKriD,KAAK3F,OAEzC,CACA,OAAIoksB,GAAY9lrB,GACVw5yB,GAAO9vwB,GACFi/vB,GAAc50pB,OAAOrqG,GAEvBi/vB,GAAcrggB,MAAM5+P,GAEtBi/vB,GAAc50pB,OAAOrqG,EAC9B,EACMqwwB,GAAoB,SAAC1uuB,EAAMoyW,GAC/B,IAAMx1E,EAAcw1E,EAASx1E,YAC7B,OAAIA,GAAewxc,GAAiBxxc,GAC9Bqxc,GAASrxc,GACJ0gc,GAAc1gc,EAAa,GAE3B0gc,GAAc50pB,OAAOk0N,GAGvB+xc,GAAoBhN,GAAWiN,SAAUtR,GAAcrggB,MAAMm1I,GAAWpyW,EAEnF,EACM2uuB,GAAsB,SAACh6yB,EAAW4hnB,EAAUv2iB,GAChD,IAAI3hC,EACA+zY,EACAy8X,EACA3R,EACJ,IAAKgR,GAAYluuB,KAAUu2iB,EACzB,OAAO,KAET,GAAIA,EAAS99e,QAAQ6kqB,GAAcrggB,MAAMj9N,KAAUA,EAAKw2B,WAEtD,GADA0msB,EAAgBI,GAAcrggB,MAAMj9N,EAAKw2B,WACrCiklB,GAAY9lrB,IAAcy5yB,GAAiBpuuB,EAAKw2B,YAAc03sB,GAAYluuB,EAAKw2B,WACjF,OAAO23sB,GAAOnuuB,EAAKw2B,WAAa8msB,GAAc50pB,OAAO1oE,EAAKw2B,WAAa0msB,OAGzEA,EAAgB3mL,EAElB,IAAMzkiB,EAAYortB,EAAcprtB,YAC5Bz4E,EAAS6jyB,EAAc7jyB,SAC3B,GAAI40yB,GAASn8tB,GAAY,CACvB,GAAI2omB,GAAY9lrB,IAAc0E,EAAS,EACrC,OAAOikyB,GAAcxrtB,IAAaz4E,GAEpC,GAAI8yyB,GAAWx3yB,IAAc0E,EAASy4E,EAAUz7F,OAC9C,OAAOinzB,GAAcxrtB,IAAaz4E,GAEpCglC,EAAOyzC,CACT,KAAO,CACL,GAAI2omB,GAAY9lrB,IAAc0E,EAAS,IACrC+4a,EAAWo8X,GAAY18tB,EAAWz4E,EAAS,GACvC+0yB,GAAiBh8X,IACnB,OAAKi8X,GAASj8X,KACZy8X,EAAYxC,GAASj6X,EAAUz9a,EAAW45yB,GAA0Bn8X,IAE9D67X,GAASY,GACJvR,GAAcuR,EAAWA,EAAU7yzB,KAAK3F,QAE1CinzB,GAAcrggB,MAAM4xgB,GAG3BZ,GAAS77X,GACJkrX,GAAclrX,EAAUA,EAASp2b,KAAK3F,QAExCinzB,GAAc50pB,OAAO0pS,GAGhC,GAAI+5X,GAAWx3yB,IAAc0E,EAASy4E,EAAUt5D,WAAWniC,SACzD+7b,EAAWo8X,GAAY18tB,EAAWz4E,GAC9B+0yB,GAAiBh8X,IACnB,OAAI+7X,GAAO/7X,GACFs8X,GAAkB1uuB,EAAMoyW,IAE5Bi8X,GAASj8X,KACZy8X,EAAYxC,GAASj6X,EAAUz9a,EAAW45yB,GAA0Bn8X,IAE9D67X,GAASY,GACJvR,GAAcuR,EAAW,GAE3BvR,GAAc50pB,OAAOmmqB,GAG5BZ,GAAS77X,GACJkrX,GAAclrX,EAAU,GAE1BkrX,GAAcrggB,MAAMm1I,GAG/B/zY,EAAO+zY,GAAsB8qX,EAAclwE,SAC7C,CACA,GAAI3urB,IAAS8twB,GAAWx3yB,IAAcuoyB,EAAc3jB,WAAa9+F,GAAY9lrB,IAAcuoyB,EAAc7jB,eACvGh7uB,EAAOguwB,GAAShuwB,EAAM1pC,EAAW68V,EAAQxxR,GAAM,GAC3CuuuB,GAAyBlwwB,EAAM2hC,IACjC,OAAOyuuB,GAA0B95yB,EAAW0pC,GAGhD+zY,EAAW/zY,EAAOguwB,GAAShuwB,EAAM1pC,EAAW45yB,GAA0BvuuB,GAAQ3hC,EAC9E,IAAMywwB,EAA8BvkC,GAAO3B,GA/HxB,SAACvquB,EAAM2hC,GAG1B,IAFA,IAAMoqc,EAAU,GACZswQ,EAAWr8uB,EACRq8uB,GAAYA,IAAa16sB,GAC9Boqc,EAAQzuhB,KAAK++xB,GACbA,EAAWA,EAAS9qrB,WAEtB,OAAOw6a,CACT,CAuHsD2kS,CAAaj9tB,EAAW9R,GAAOguuB,KACnF,OAAIc,GAAiC18X,GAAa08X,EAA4Bh6sB,SAASs9U,GAQnFA,EACKq8X,GAA0B95yB,EAAWy9a,GAEvC,KATH8qX,EADEiP,GAAWx3yB,GACG2oyB,GAAcrggB,MAAM6xgB,GAEpBxR,GAAc50pB,OAAOomqB,EAQ3C,EACME,GAAc,SAAAhvuB,GAAI,MAAK,CAC3B/7E,KAAM,SAAAi5yB,GACJ,OAAOyR,GAAoBhN,GAAWiN,SAAU1R,EAAel9tB,EACjE,EACAh8E,KAAM,SAAAk5yB,GACJ,OAAOyR,GAAoBhN,GAAWsN,UAAW/R,EAAel9tB,EAClE,EACD,EAOKkvuB,GAAkB,SAAAl3yB,GACtB,OAAIslyB,GAAcG,eAAezlyB,GACF,IAAtBA,EAASqB,SAETihxB,GAAmBtixB,EAASg1tB,UAEvC,EACMmiF,GAAe,SAAAn3yB,GACnB,GAAIslyB,GAAcG,eAAezlyB,GAAW,CAC1C,IAAM85E,EAAY95E,EAAS85E,YAC3B,OAAO95E,EAASqB,WAAay4E,EAAU91F,KAAK3F,MAC9C,CACE,OAAOikyB,GAAmBtixB,EAASg1tB,SAAQ,GAE/C,EACMoiF,GAA2B,SAAChywB,EAAMq3B,GAAE,OAAM6ouB,GAAcG,eAAergwB,KAAUkgwB,GAAcG,eAAehpuB,IAAOr3B,EAAK4vrB,YAAcv4pB,EAAGu4pB,SAAQ,EAAM,EAEzJqiF,GAAqB,SAAC9P,EAASniwB,EAAMq3B,GACzC,OAAI8quB,GACM6P,GAAyBhywB,EAAMq3B,KAH5Bz8D,EAG2ColC,KAH9BkgwB,GAAcG,eAAezlyB,IAAa6+wB,GAAO7+wB,EAASg1tB,cAGnBmiF,GAAa/xwB,IAAS8xwB,GAAgBz6uB,IAE7F26uB,GAAyB36uB,EAAIr3B,IAAS8xwB,GAAgB9xwB,IAAS+xwB,GAAa16uB,GALzE,IAAAz8D,CAOf,EACMs3yB,GAAe,SAAC/P,EAASv/tB,EAAMrnC,GACnC,IAAMujvB,EAAS8yB,GAAYhvuB,GAC3B,OAAO4nsB,EAASxquB,KAAKmiwB,EAAUrjB,EAAOj4xB,KAAK00C,GAAOujvB,EAAOl4xB,KAAK20C,GAChE,EACM+gJ,GAAW,SAAC6lnB,EAASv/tB,EAAM5iC,GAAI,OAAKkywB,GAAa/P,EAASv/tB,EAAM5iC,GAAMof,KAAK,SAAAiY,GAC/E,OAAIg4uB,GAAcrvwB,EAAMq3B,EAAIuL,IAASqvuB,GAAmB9P,EAASniwB,EAAMq3B,GAC9D66uB,GAAa/P,EAASv/tB,EAAMvL,GAE5BmzsB,EAASpyvB,KAAKi/C,EAEzB,EAAG,EACG86uB,GAAiB,SAAChQ,EAASv/tB,EAAM5iC,EAAMoywB,GAAY,OAAK91nB,GAAS6lnB,EAASv/tB,EAAM5iC,GAAMof,KAAK,SAAA7jB,GAAG,OAAI62wB,EAAa72wB,GAAO42wB,GAAehQ,EAASv/tB,EAAMrnC,EAAK62wB,GAAgB5nC,EAASpyvB,KAAKmjB,EAAI,EAAE,EAC7L82wB,GAAa,SAAClQ,EAAS9wsB,GAC3B,IAtCmBpwD,EAsCbs4Y,EAAY4oX,EAAU9wsB,EAAQo/C,WAAap/C,EAAQ+H,UACzD,OAAIggrB,GAAS7/V,GACJixV,EAASpyvB,KAAK8nxB,GAAc3mX,EAAW4oX,EAAU,EAAI5oX,EAAU36b,KAAK3F,SAClEsgc,EACL2jW,GAAmB3jW,GACdixV,EAASpyvB,KAAK+pxB,EAAUjC,GAAc50pB,OAAOiuS,GA3C7BkgW,GAARx4uB,EA2C+Ds4Y,GA3CxC2mX,GAAc50pB,OAAOrqG,GAAQi/vB,GAAcrggB,MAAM5+P,IAJpE,SAACkhwB,EAASv/tB,EAAM9zE,GACvC,IAAM8L,EAAWunyB,EAAUjC,GAAc50pB,OAAOx8I,GAASoxyB,GAAcrggB,MAAM/wS,GAC7E,OAAOojzB,GAAa/P,EAASv/tB,EAAMhoE,EACrC,CA8Ca03yB,CAAiBnQ,EAAS9wsB,EAASkoV,GAGrCixV,EAAS/gX,MAEpB,EACM8oZ,GAAe/sQ,EAAM0sQ,IAAc,GACnCM,GAAehtQ,EAAM0sQ,IAAc,GACnCO,GAAkBjtQ,EAAM6sQ,IAAY,GACpCK,GAAiBltQ,EAAM6sQ,IAAY,GAEnCM,GAAW,aACXC,GAAc,SAAA3xwB,GAAI,OAAIw3uB,GAAYx3uB,IAASA,EAAKzkC,KAAOm2yB,EAAS,EAChEE,GAA0B,SAACv/vB,EAAMrS,GAErC,IADA,IAAIg0Y,EAAch0Y,EACXg0Y,GAAeA,IAAgB3hY,GAAM,CAC1C,GAAIs/vB,GAAY39X,GACd,OAAOA,EAETA,EAAcA,EAAYziV,UAC5B,CACA,OAAO,IACT,EAKMsgtB,GAAkB,SAAAC,GAAQ,OAAIlmC,GAAMkmC,EAAU,OAAQ,EACtDC,GAAiB,SAAAD,GAAQ,OAAIpiC,GAAMxhxB,QAAQ4jzB,EAASjkzB,MAAO,EAE3DmkzB,GAAoB,SAAAF,GAAQ,SAAKD,GAAgBC,IAAa38oB,EAAU28oB,EAAS5Q,WAAW4Q,EAAS5Q,OAAe,EACpH+Q,GAAW,SAACt5W,EAAK34Z,GAIrB,OAHIw3uB,GAAYx3uB,IAAS24Z,EAAIwmV,QAAQn/uB,KAAUA,EAAK/b,YAClD+b,EAAK/b,UAAY,6BAEZ+b,CACT,EAuBMkywB,GAAuB,SAAClywB,EAAM6nY,GAAG,OAAK4pY,GAAezxwB,GAAMiqrB,KAAKq/C,EAAO,SAAAhvuB,GAG3E,OAFAutY,EAAIihB,SAASxuZ,EAAIm5C,YAAan5C,EAAIt/B,UAClC6sa,EAAIkhB,OAAOzuZ,EAAIm5C,YAAan5C,EAAIt/B,WACzB,CACT,EAAG,EACGm3yB,GAAyB,SAACxwuB,EAAM3hC,EAAM6nY,GAC1C,SAPgB,SAAA7nY,GAAI,OAAKA,EAAKw+O,eAAgB,CAO1C4zhB,CAAUpywB,KAAS4xwB,GAAwBjwuB,EAAM3hC,MAfpC,SAACA,EAAM6nY,GACxB,IAAIxlY,EAEEw6Q,GADoC,QAA7Bx6Q,EAAKrC,EAAK6pX,qBAAuC,IAAZxnX,EAAgBA,EAAK5iC,UAClDwgC,eAAes6uB,IACpCv6uB,EAAK/M,YAAY4pR,GACjBgrH,EAAIihB,SAASjsI,EAAU,GACvBgrH,EAAIkhB,OAAOlsI,EAAU,EACvB,CASIw1f,CAAWrywB,EAAM6nY,IACV,EAIX,EACMyqY,GAAc,SAAC35W,EAAK9qc,EAAOikzB,EAAUjqY,GACzC,IAAMptY,EAAQq3wB,EAASjkzB,EAAQ,QAAU,OACnC8zE,EAAOg3X,EAAIy5V,UACjB,GAAI33vB,EAAO,CAGT,IAFA,IAAIuF,EAAO2hC,EACP3mE,EAASy/B,EAAM,GACVliD,EAAIkiD,EAAMziD,OAAS,EAAGgoD,GAAQznD,GAAK,EAAGA,IAAK,CAClD,IAAMk+E,EAAWz2B,EAAK7lB,WACtB,GAAIg4xB,GAAuBxwuB,EAAM3hC,EAAM6nY,GACrC,OAAO,EAET,GAAIptY,EAAMliD,GAAKk+E,EAASz+E,OAAS,EAC/B,QAAIm6zB,GAAuBxwuB,EAAM3hC,EAAM6nY,IAGhCqqY,GAAqBlywB,EAAM6nY,GAEpC7nY,EAAOy2B,EAASh8B,EAAMliD,GACxB,CACI4/xB,GAASn4uB,KACXhlC,EAAS9E,KAAKgL,IAAIu5B,EAAM,GAAIuF,EAAKriD,KAAK3F,SAEpCw/xB,GAAYx3uB,KACdhlC,EAAS9E,KAAKgL,IAAIu5B,EAAM,GAAIuF,EAAK7lB,WAAWniC,SAE1C6V,EACFg6a,EAAIihB,SAAS9oZ,EAAMhlC,GAEnB6sa,EAAIkhB,OAAO/oZ,EAAMhlC,EAErB,CACA,OAAO,CACT,EACMu3yB,GAAkB,SAAAvywB,GAAI,OAAIm4uB,GAASn4uB,IAASA,EAAKriD,KAAK3F,OAAS,CAAE,EACjEw6zB,GAAkB,SAAC75W,EAAKt+U,EAAQy3rB,GACpC,IAAM74zB,EAAS0/c,EAAI36c,IAAI8zzB,EAASv2yB,GAAK,IAAM8+G,GACrCo4rB,EAAex5zB,aAA4C,EAAIA,EAAOs4G,WACtEqwsB,EAAOkQ,EAASlQ,KACtB,GAAI3ozB,GAAUw5zB,EAAc,CAC1B,IAAIh/tB,EACAz4E,EAqCJ,GApCe,UAAXq/G,EACGunrB,EAIC3ozB,EAAOulS,iBACT/qM,EAAYx6F,EAAOu2J,WACnBx0I,EAAS,GACAu3yB,GAAgBt5zB,EAAOslX,cAChC9qR,EAAYx6F,EAAOslX,YACnBvjW,EAAS,GACAu3yB,GAAgBt5zB,EAAOyrb,kBAChCjxV,EAAYx6F,EAAOyrb,gBACnB1pa,EAAS/hB,EAAOyrb,gBAAgB/mb,KAAK3F,SAErCy7F,EAAYg/tB,EACZz3yB,EAAS29b,EAAIlzB,UAAUxsb,GAAU,IAdnCw6F,EAAYg/tB,EACZz3yB,EAAS29b,EAAIlzB,UAAUxsb,IAiBpB2ozB,EAIC3ozB,EAAOulS,iBACT/qM,EAAYx6F,EAAOu2J,WACnBx0I,EAAS,GACAu3yB,GAAgBt5zB,EAAOyrb,kBAChCjxV,EAAYx6F,EAAOyrb,gBACnB1pa,EAAS/hB,EAAOyrb,gBAAgB/mb,KAAK3F,SAErCy7F,EAAYg/tB,EACZz3yB,EAAS29b,EAAIlzB,UAAUxsb,KAXzBw6F,EAAYg/tB,EACZz3yB,EAAS29b,EAAIlzB,UAAUxsb,KActB2ozB,EAAM,CACT,IAOI8Q,EAPE/szB,EAAO1M,EAAOyrb,gBACd9+a,EAAO3M,EAAOslX,YAOpB,IANAmxa,GAAMv6tB,KAAKu6tB,GAAMI,KAAK72xB,EAAOkhC,YAAa,SAAA6lB,GACpCm4uB,GAASn4uB,KACXA,EAAKriD,KAAOqiD,EAAKriD,KAAKsb,QAAQ,UAAW,IAE7C,GAEOy5yB,EAAc/5W,EAAI36c,IAAI8zzB,EAASv2yB,GAAK,IAAM8+G,IAC/Cs+U,EAAIh2b,OAAO+vyB,GAAa,GAE1B,GAAIv6B,GAASvyxB,IAASuyxB,GAASxyxB,KAAUypxB,GAAIpvrB,QAAQupoB,UAAW,CAC9D,IAAMlvqB,EAAM10D,EAAKhI,KAAK3F,OACtB2N,EAAK05uB,WAAWz5uB,EAAKjI,MACrBg7c,EAAIh2b,OAAO/c,GACX6tF,EAAY9tF,EACZqV,EAASq/C,CACX,CACF,CACA,OAAOkvtB,EAASpyvB,KAAK8nxB,GAAcxrtB,EAAWz4E,GAChD,CACE,OAAOuuwB,EAAS/gX,MAEpB,EAiCMloa,GAAU,SAAC48Q,EAAW40iB,GAC1B,IAAMn5W,EAAMz7L,EAAUy7L,IACtB,GAAIm5W,EAAU,CACZ,GAAIC,GAAeD,GACjB,OApCe,SAACn5W,EAAKm5W,GACzB,IAAMpnZ,EAAQiuC,EAAI46V,YAClB,OAAI+e,GAAY35W,GAAK,EAAMm5W,EAAUpnZ,IAAU4nZ,GAAY35W,GAAK,EAAOm5W,EAAUpnZ,GACxE6+W,EAASpyvB,KAAK,CACnBuzY,QACAw2Y,QAAS8Q,GAAkBF,KAGtBvoC,EAAS/gX,MAEpB,CA0BamqZ,CAAah6W,EAAKm5W,GACpB,GA3LkB,SAAAA,GAAQ,OAAItlvB,EAASslvB,EAASjkzB,MAAO,CA2LnD+kzB,CAAqBd,GAC9B,OA/K+B,SAACn5W,EAAKm5W,GACzC,IAAM55L,EAAWqxJ,EAASxquB,KAAKshwB,GAAU1nW,EAAIy5V,UAAW0f,EAASjkzB,QAC3DsqnB,EAASoxJ,EAASxquB,KAAKshwB,GAAU1nW,EAAIy5V,UAAW0f,EAAShkzB,MAC/D,OAAOsixB,GAAMl4J,EAAUC,EAAQ,SAACtqnB,EAAOC,GACrC,IAAM48Z,EAAQiuC,EAAI46V,YAGlB,OAFA7oY,EAAMo+B,SAASj7b,EAAM4lF,YAAa5lF,EAAMmN,UACxC0vZ,EAAMq+B,OAAOj7b,EAAI2lF,YAAa3lF,EAAIkN,UAC3B,CACL0vZ,QACAw2Y,QAAS8Q,GAAkBF,GAE/B,EACF,CAmKae,CAA6Bl6W,EAAKm5W,GACpC,GA3LU,SAAAA,GAAQ,OAAIlmC,GAAMkmC,EAAU,KAAM,CA2LxCgB,CAAahB,GACtB,OA7BY,SAACn5W,EAAKm5W,GACtB,IAAM55L,EAAWs6L,GAAgB75W,EAAK,QAASm5W,GACzC35L,EAASq6L,GAAgB75W,EAAK,MAAOm5W,GAC3C,OAAO1hC,GAAMl4J,EAAUC,EAAOnnO,GAAGknO,GAAW,SAAC66L,EAAMC,GACjD,IAAMtoZ,EAAQiuC,EAAI46V,YAGlB,OAFA7oY,EAAMo+B,SAASmpX,GAASt5W,EAAKo6W,EAAKt/tB,aAAcs/tB,EAAK/3yB,UACrD0vZ,EAAMq+B,OAAOkpX,GAASt5W,EAAKq6W,EAAKv/tB,aAAcu/tB,EAAKh4yB,UAC5C,CACL0vZ,QACAw2Y,QAAS8Q,GAAkBF,GAE/B,EACF,CAiBamB,CAAUt6W,EAAKm5W,GACjB,GAAID,GAAgBC,GACzB,OAlBe,SAACn5W,EAAKm5W,GAAQ,OAAKvoC,EAASxquB,KAAK45Z,EAAIh9a,OAAOm2xB,EAASz7zB,MAAMy7zB,EAASluzB,QAAQ+E,IAAI,SAAAqgB,GACnG,IAAM0hZ,EAAQiuC,EAAI46V,YAElB,OADA7oY,EAAMwoZ,WAAWlqyB,GACV,CACL0hZ,QACAw2Y,SAAS,EAEb,EAAG,CAWUiS,CAAax6W,EAAKm5W,GACpB,GAhMa,SAAAA,GAAQ,OAAIlmC,GAAMkmC,EAAU,MAAO,CAgM5CsB,CAAgBtB,GACzB,OAAOvoC,EAASpyvB,KAAK,CACnBuzY,MAAOonZ,EAASjqY,IAChBq5X,QAAS8Q,GAAkBF,IAGjC,CACA,OAAOvoC,EAAS/gX,MAClB,EAEM6qZ,GAAgB,SAACn2iB,EAAW3jR,EAAMmwH,GACtC,OAAOm4rB,GAAc3kiB,EAAW3jR,EAAMmwH,EACxC,EACMy8nB,GAAiB,SAACjpe,EAAW40iB,GACjCxxzB,GAAQ48Q,EAAW40iB,GAAU38vB,KAAK,SAAAnsD,GAG3B,IAFL0ha,EAAK1ha,EAAL0ha,MACAw2Y,EAAOl4yB,EAAPk4yB,QAEAhkiB,EAAUkqe,OAAO18U,EAAOw2Y,EAC1B,EACF,EACMoS,GAAmB,SAAAtzwB,GACvB,OAAOw3uB,GAAYx3uB,IAA0B,SAAjBA,EAAKt+B,SAA6D,aAAvCs+B,EAAKqwD,aAAa,gBAC3E,EAGMkjtB,IADKl4a,GACO89Y,GADK,SAAAxxuB,GAAM,OAAI0zV,KAAa1zV,CAAO,GAE/C8iS,GAAe,SAAA8lO,GAAG,MAAY,KAARA,IAAgD,IAAlC,cAAgB/3jB,QAAQ+3jB,EAAY,EACxEijQ,GAAY,SAAAjjQ,GAAG,OAAK9lO,GAAa8lO,KAASgjQ,GAAOhjQ,KAAS6oO,GAAS7oO,EAAK,EAExEkjQ,GAAc,SAAAv2iB,GAClB,IAAMw2iB,EAAS,GACf,GAAIx2iB,EACF,IAAK,IAAI3kR,EAAI,EAAGA,EAAI2kR,EAAUyjb,WAAYposB,IACxCm7zB,EAAOp2zB,KAAK4/Q,EAAUivd,WAAW5zuB,IAGrC,OAAOm7zB,CACT,EAWMC,GAAqB,SAAAD,GAAM,OAAInpC,GAVZ,SAAAmpC,GACvB,OAAO7oC,GAAO6oC,EAAQ,SAAAhpZ,GACpB,IAAM1qX,EAAO68vB,GAAgBnyY,GAC7B,OAAO1qX,EAAO,CAACuyuB,GAAavpD,QAAQhprB,IAAS,EAC/C,EACF,CAK8C4zwB,CAAiBF,GAAS55B,GAAe,EAEjF+5B,GAA8B,SAACH,EAAQtjtB,GAC3C,IAAM0jtB,EAF2B/5oB,GAES3pE,EAFQ,+CAGlD,OAAO0jtB,EAAc97zB,OAAS,EAAI87zB,EAAgBH,GAAmBD,EACvE,EACMK,GAAqB,SAAAra,GAAM,OAAIma,GAA4BJ,GAAY/Z,EAAOx8hB,UAAU82iB,UAAWzhC,GAAavpD,QAAQ0wE,EAAO50D,WAAY,EAC3ImvE,GAAkB,SAACz6X,EAAM5jE,GAAM,OAAKo+Z,GAAWx6V,EAAM,QAAS5jE,EAAQ,EAoBtEs+b,GAAmB,SAAAl0wB,GACvB,OAAOwvG,GAAWxvG,GAAMiqrB,KAAK9mL,EAAS,CAACnjgB,IAAQ,SAAA25B,GAC7C,MAAO,CAAC35B,GAAMhlD,OAAOk5zB,GAAiBv6uB,GACxC,EACF,EACMw6uB,GAAkB,SAAAn0wB,GACtB,OAAOm4D,GAAUn4D,GAAMiqrB,KAAK9mL,EAAS,CAACnjgB,IAAQ,SAAA25B,GAC5C,MAAoB,OAAhBtjF,GAAKsjF,GACA+4pB,GAAY/4pB,GAAOhxE,IAAI,SAAAskrB,GAC5B,MAAO,CAACjtoB,GAAMhlD,OAAOm5zB,GAAgBlnI,GACvC,GAAG07C,MAAM,IAEF,CAAC3orB,GAAMhlD,OAAOm5zB,GAAgBx6uB,GAEzC,EACF,EACMy6uB,GAAyB,SAACpryB,EAAK6+Z,GACnC,OAAOuoW,GAnCY,SAAAvoW,GACnB,IAAMwL,EAAKxL,EAAI4jT,eACbphU,EAAKwd,EAAIghH,YACX,OAAIsvP,GAAS9kW,GACG,IAAPhpB,EAAWk/W,EAASpyvB,KAAKo7vB,GAAavpD,QAAQ31S,IAAOk2V,EAAS/gX,OAE9D+gX,EAASxquB,KAAKs0Y,EAAGl5Z,WAAWkwY,IAAK1ha,IAAI4pxB,GAAavpD,QAE7D,CA2BeqrF,CAAaxsY,GA1BT,SAAAA,GACjB,IAAM+K,EAAK/K,EAAI6jT,aACbtiU,EAAKye,EAAI8jT,UACX,OAAIwsD,GAASvlW,GACJxpB,IAAOwpB,EAAGj1b,KAAK3F,OAASuxxB,EAASpyvB,KAAKo7vB,GAAavpD,QAAQp2S,IAAO22V,EAAS/gX,OAE3E+gX,EAASxquB,KAAK6zY,EAAGz4Z,WAAWivY,EAAK,IAAIzga,IAAI4pxB,GAAavpD,QAEjE,CAkBkCsrF,CAAWzsY,GAAM,SAACyQ,EAAWi8X,GAC3D,IAAM1mzB,EAAQ88wB,GAAOupC,GAAiBlryB,GAAMu7hB,EAAMnje,GAAIk3W,IAChDxqb,EAAM68wB,GAAOwpC,GAAgBnryB,GAAMu7hB,EAAMnje,GAAImzuB,IACnD,OAAO1mzB,EAAM26tB,UAAY16tB,EAAI06tB,QAC/B,GAAGG,OAAM,EACX,EACM6rF,GAAe,SAAC77W,EAAK9wB,EAAK7nY,EAAMnyC,GACpC,IAAM8zE,EAAO3hC,EACP69uB,EAAS,IAAI9G,GAAc/2uB,EAAM2hC,GACjCuntB,EAAoCxd,GAAS/yU,EAAI/7b,OAAO6uxB,oCAAqC,SAACrztB,EAAG/hF,GAAI,OAAM6zxB,GAAW,CAAC,KAAM,KAAM,SAAU7zxB,EAAK6iB,cAAc,GAClK86a,EAAch0Y,EAClB,EAAG,CACD,GAAIm4uB,GAASnkW,IAAwD,IAAxC07V,GAAMl/tB,KAAKwjY,EAAYr2b,MAAM3F,OAMxD,YALI6V,EACFg6a,EAAIihB,SAAS9U,EAAa,GAE1BnM,EAAIkhB,OAAO/U,EAAaA,EAAYr2b,KAAK3F,SAI7C,GAAIkxyB,EAAkCl1W,EAAYnhV,UAUhD,YATIhlG,EACFg6a,EAAIqjT,eAAel3S,GAEU,OAAzBA,EAAYnhV,SACdg1U,EAAIujT,aAAap3S,GAEjBnM,EAAIwjT,YAAYr3S,GAKxB,OAASA,EAAcnmb,EAAQgwxB,EAAOj4xB,OAASi4xB,EAAOl4xB,QAChC,SAAlBg8E,EAAKkxB,WACHhlG,EACFg6a,EAAIihB,SAASnnX,EAAM,GAEnBkmW,EAAIkhB,OAAOpnX,EAAMA,EAAKxnD,WAAWniC,QAGvC,EACMy8zB,GAAe,SAAA/a,GACnB,IAAMx7pB,EAAMw7pB,EAAOx8hB,UAAU82iB,SAC7B,OAAOrrC,EAAczqoB,IAAQA,EAAIyijB,WAAa,CAChD,EACM+zH,GAAc,SAAChb,EAAQ92vB,GAC3B,IAAM+xwB,EAAqBZ,GAAmBra,GAC1Cib,EAAmB38zB,OAAS,EAC9BoyxB,GAAOuqC,EAAoB,SAAAhyoB,GACzB,IAAM3iI,EAAO2iI,EAAKg2R,IACZi8W,EAAclb,EAAO/gW,IAAI46V,YAC/BqhB,EAAY1pF,eAAelrrB,GAC3B40wB,EAAYvpF,YAAYrrrB,GACxB4C,EAASgywB,GAAa,EACxB,GAEAhywB,EAAS82vB,EAAOx8hB,UAAU08hB,UAAU,EAExC,EACMlzf,GAAW,SAACxpC,EAAW23iB,EAAcjywB,GACzC,IAAMkvwB,EAAWtQ,GAAsBtkiB,EAAW23iB,GAClDjywB,EAASkvwB,GACT50iB,EAAUipe,eAAe2rE,EAC3B,EAEM9zwB,GAAS,SAAAgC,GAAI,OAAImxE,EAASnxE,aAAwC,EAAIA,EAAKwkC,SAAU,EACrFswuB,GAAkB,SAAA90wB,GAAI,OAAIw3uB,GAAYx3uB,KAAUszwB,GAAiBtzwB,KAAU2xwB,GAAY3xwB,KAAU+3uB,GAAU/3uB,EAAM,EAUjH+0wB,GAAoB,SAACrb,EAAQ55xB,EAAQk1yB,GACzC,IACE93iB,EAEEw8hB,EAFFx8hB,UACAy7L,EACE+gW,EADF/gW,IAEIs8W,EAA2B/3iB,EAAUyxd,UACrCumF,EAAkCv8B,GAAyBs8B,GACjEvugB,GAASxpC,GAAW,EAAM,WACxBp9P,GACF,GACqCo1yB,GAAmCv8B,GAAyBs8B,IAC7Dt8W,EAAIhqN,UAAUsmkB,EAA0Bvb,EAAO50D,WACjF40D,EAAOx8hB,UAAUvhP,OAAOs5xB,GACfD,EAAgB93iB,EAAU6ud,aACnCopF,GAAuBx8W,EAAKz7L,EAEhC,EACMi4iB,GAAyB,SAACx8W,EAAKz7L,GACnC,IAAI76N,EAAIigU,EACFulE,EAAM3qK,EAAU08hB,SAEpBnuE,EAEE5jT,EAFF4jT,eACA5iM,EACEhhH,EADFghH,YAGF,IAlCgC,SAAClwF,EAAK34Z,GACtC,GAAI80wB,GAAgB90wB,KAAU,YAAY/lD,KAAK+lD,EAAK6yD,UAAW,CAC7D,IAAMuitB,EAAez8W,EAAIm5V,UAAU9xvB,EAAM,qBACnCnnD,EAAQo9B,SAASm/xB,EAAc,IACrC,OAAQ5mzB,MAAM3V,IAAUA,EAAQ,CAClC,CACE,OAAO,CAEX,CA0BMw8zB,CAA0B18W,EADTz7L,EAAUyxd,YAI3B6oD,GAAY/rD,GAAiB,CAC/B,IAEIoyD,EAFEnrrB,EAAQ+4nB,EAAetxsB,WACvBwnD,EAAOg3X,EAAIy5V,UAEjB,GAAIvpQ,EAAcn2b,EAAM16G,OAAQ,CAC9B,IAAMsgc,EAAY5lV,EAAMm2b,GACxBg1P,EAAS,IAAI9G,GAAcz+V,EAA4D,QAAhDj2Y,EAAKs2Z,EAAIlqI,UAAU6pH,EAAWqgB,EAAIwmV,gBAAkC,IAAZ98uB,EAAgBA,EAAKs/B,EACtH,KAAO,CACL,IAAM22W,EAAY5lV,EAAMA,EAAM16G,OAAS,IACvC6lyB,EAAS,IAAI9G,GAAcz+V,EAA4D,QAAhDh2E,EAAKq2F,EAAIlqI,UAAU6pH,EAAWqgB,EAAIwmV,gBAAkC,IAAZ78a,EAAgBA,EAAK3gS,IAC7G/7E,MAAK,EACd,CACA,IAAK,IAAIo6C,EAAO69uB,EAAO15oB,UAAWnkG,EAAMA,EAAO69uB,EAAOj4xB,OAAQ,CAC5D,GAAqC,UAAjC+yc,EAAIi7V,mBAAmB5zvB,GACzB,OACK,GAAIm4uB,GAASn4uB,KAAUs1wB,GAAmBt1wB,GAG/C,OAFA6nY,EAAIihB,SAAS9oZ,EAAM,QACnBk9N,EAAUkqe,OAAOv/T,EAGrB,CACF,CACF,EACM0tY,GAA0B,SAACv1wB,EAAMp6C,EAAMohe,GAC3C,GAAIhnb,EAAM,CACR,IAAMw1wB,EAAW5vzB,EAAO,cAAgB,kBACxC,IAAKo6C,EAAOgnb,EAAMhnb,EAAOA,EAAKw1wB,GAAWx1wB,EAAMA,EAAOA,EAAKw1wB,GACzD,GAAIh+B,GAAYx3uB,KAAUs1wB,GAAmBt1wB,GAC3C,OAAOA,CAGb,CAEF,EACMy1wB,GAAgB,SAAC74yB,EAAQojC,GAAI,QAAOpjC,EAAOqqxB,uBAAuBjnvB,EAAK6yD,SAAS35F,gBAAkB4mxB,GAAmBljxB,EAAQojC,EAAM,EACnIu5P,GAAU,SAAC80Y,EAAI3uoB,EAAQi6B,GAC3B,OAAO00mB,EAAGzxqB,OAAO2ixB,aAAa7/uB,EAAQi6B,EACxC,EACM27uB,GAAqB,SAACt1wB,GAA+B,IAAzB01wB,EAAWl6zB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,IAAAA,UAAA,GAC3C,GAAImtxB,EAAc3ouB,IAASm4uB,GAASn4uB,GAAO,CACzC,IAAMriD,EAAO+3zB,EAAc11wB,EAAKriD,KAAKsb,QAAQ,KAAM,QAAU+mC,EAAKriD,KAClE,OAAO6+xB,GAAiB7+xB,EAC1B,CACE,OAAO,CAEX,EAUMg4zB,GAAyB,SAACjc,EAAQ15vB,GACtC,IAAM24Z,EAAM+gW,EAAO/gW,IACnB,OAAOm8W,GAAgB90wB,IAA0C,UAAjC24Z,EAAIi7V,mBAAmB5zvB,IARzB,SAAC05vB,EAAQ15vB,GACvC,IAAM41wB,EAAmB,2BACnBC,EAA4BrO,GAA6B9N,GACzD5nrB,EAAWs7pB,GAAUyoC,GAA6BD,EAAmB,GAAG56zB,OAAO46zB,EAAkB,KAAK56zB,OAAO66zB,GACnH,OAAOpjC,GAAKF,GAAavpD,QAAQhprB,GAAO8xE,EAC1C,CAG8EgksB,CAAwBpc,EAAQ15vB,IAAiE,IAAxD24Z,EAAIh9a,OAAO,2BAA4BqkB,GAAMhoD,MACpK,EACM+9zB,GAAc,SAACl9zB,EAAO8vO,GAC1B,OAAI3kL,EAAWnrD,GACNA,EAAM8vO,IACJggjB,EAAchgjB,KACvB9vO,EAAQA,EAAMogB,QAAQ,UAAW,SAAC3f,EAAKjD,GACrC,OAAOsyO,EAAKtyO,IAASiD,CACvB,IAEKT,EACT,EACMm9zB,GAAS,SAACC,EAAMhoB,GAKpB,OAHAA,EAAOA,GAAQ,GACfgoB,EAAO,KAFPA,EAAOA,GAAQ,IAEGpjtB,UAAYojtB,GAC9BhoB,EAAO,IAAMA,EAAKp7rB,UAAYo7rB,GACvBgoB,EAAK/8yB,gBAAkB+0xB,EAAK/0xB,aACrC,EACMg9yB,GAAsB,SAACr9zB,EAAOxC,GAClC,GAAIqyxB,EAAW7vxB,GACb,OAAO,KAEP,IAAIs9zB,EAAWl7zB,OAAOpC,GAUtB,MATa,UAATxC,GAA6B,oBAATA,IACtB8/zB,EAAWzpB,GAAgBypB,IAEhB,eAAT9/zB,GAAmC,MAAVwC,IAC3Bs9zB,EAAW,QAEA,eAAT9/zB,IACF8/zB,EAAWA,EAASl9yB,QAAQ,UAAW,IAAIA,QAAQ,QAAS,MAEvDk9yB,CAEX,EACM5jB,GAAW,SAAC55V,EAAK34Z,EAAM3pD,GAC3B,IAAMqjB,EAAQi/b,EAAI45V,SAASvyvB,EAAM3pD,GACjC,OAAO6/zB,GAAoBx8yB,EAAOrjB,EACpC,EACM+/zB,GAAoB,SAACz9W,EAAK34Z,GAC9B,IAAIq2wB,EASJ,OARA19W,EAAIlqI,UAAUzuR,EAAM,SAAAxhD,GAClB,QAAIg5xB,GAAYh5xB,QACd63zB,EAAa19W,EAAI45V,SAAS/zyB,EAAG,qBACS,SAAf63zB,EAI3B,GACOA,CACT,EACMC,GAAe,SAAC39W,EAAK34Z,EAAM8xE,GAC/B,OAAO6mV,EAAI85V,WAAWzyvB,EAAM8xE,EAAU6mV,EAAIy5V,UAC5C,EACMmkB,GAAoB,SAAC7c,EAAQ8c,EAAY/2tB,GAC7C,IAAMqtR,EAAU4sb,EAAO9qT,UAAU5wf,IAAIw4zB,GACrC,OAAO7tC,EAAc77Z,IAAY+iG,GAAO/iG,EAASrtR,EACnD,EAWMg3tB,GAAoB,SAAC/c,EAAQ8c,EAAYE,GAC7C,IAAMC,EAAY,CAAC,SAAU,QAAS,WAAY,aAAc,SAAU,WACpEC,EAAY,SAAA9nc,GAAM,OAAI48Z,GAAS58Z,EAAQ,SAAC12S,EAAGt9E,GAAG,OAAK+0d,GAAO8mW,EAAW,SAAAE,GAAQ,OAAIA,IAAa/7zB,CAAG,EAAC,EAAE,EAC1G,OAAOy7zB,GAAkB7c,EAAQ8c,EAAY,SAAAM,GAC3C,IAAMC,EAAeH,EAAUE,GAC/B,OAAOP,GAAkB7c,EAAQgd,EAAiB,SAAAM,GAChD,IAAMC,EAAeL,EAAUI,GAC/B,OAl+PU,SAACh1X,EAAI61J,GAAc,OAAKowL,EAAbzsxB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG0sxB,GAAuB9msB,GAAG4gX,EAAI61J,EAAI,CAk+PnDq/N,CAAQH,EAAcE,EAC/B,EACF,EACF,EACME,GAAgB,SAAAroc,GAAM,OAAI+8Z,GAAkB/8Z,EAAQ,QAAS,EAG7Dsoc,GAAmB,SAAAtoc,GAAM,OAAI+8Z,GAAkB/8Z,EAAQ,WAAY,EACnEuoc,GAAiB,SAAAvoc,GAAM,OAAI+8Z,GAAkB/8Z,EAAQ,SAAU,EAE/Dwoc,GAAyB,SAAAxoc,GAAM,OAAIsoc,GAAiBtoc,KAA6B,IAAlBA,EAAOyoc,SAAqBF,GAAevoc,EAAQ,EAelH0oc,GAAwB,SAAAx3wB,GAC5B,OAf8B,SAAAA,GAG9B,IAFA,IAAM0yD,EAAQ,GACV2prB,EAAWr8uB,EACRq8uB,GAAU,CACf,GAAIlE,GAASkE,IAAaA,EAAS1+xB,OAAS48xB,IAAU8B,EAASliwB,WAAWniC,OAAS,EACjF,MAAO,GAELw/xB,GAAY6E,IACd3prB,EAAMp1G,KAAK++xB,GAEbA,EAAWA,EAAS7soB,UACtB,CACA,OAAO98C,CACT,CAES+ktB,CAAwBz3wB,GAAMhoD,OAAS,CAChD,EACM0/zB,GAA4B,SAAAtntB,GAChC,OAAOuhtB,GAAYvhtB,EAAQuoW,MAAQ6+W,GAAsBpntB,EAAQuoW,IACnE,EAEMg/W,GAAiBrE,GACjBsE,GAAetB,GACfuB,GAAmBvC,GACnBwC,GAAcrC,GACdsC,GAAY,SAAA/3wB,GAChB,OAAOw4uB,GAAOx4uB,IAASA,EAAKqwD,aAAa,oBAAsBrwD,EAAKu+T,WACtE,EACMy5c,GAA4B,SAACr/W,EAAK34Z,GAEtC,IADA,IAAIN,EAASM,EACNN,GAAQ,CACb,GAAI83uB,GAAY93uB,IAAWi5Z,EAAIi7V,mBAAmBl0vB,GAChD,MAA0C,UAAnCi5Z,EAAIi7V,mBAAmBl0vB,GAAsBA,EAASM,EAE/DN,EAASA,EAAO6xD,UAClB,CACA,OAAOvxD,CACT,EACMi4wB,GAAW,SAACpqzB,EAAOmyC,EAAMhlC,EAAQykF,GACrC,IAAMnmG,EAAM0mD,EAAKriD,KACjB,GAAIkQ,GACF,IAAK,IAAItV,EAAIyiB,EAAQziB,EAAI,EAAGA,IAC1B,GAAIknG,EAAUnmG,EAAI44C,OAAO35C,EAAI,IAC3B,OAAOA,OAIX,IAAK,IAAIA,EAAIyiB,EAAQziB,EAAIe,EAAItB,OAAQO,IACnC,GAAIknG,EAAUnmG,EAAI44C,OAAO35C,IACvB,OAAOA,EAIb,OAAQ,CACV,EACM2/zB,GAAY,SAACrqzB,EAAOmyC,EAAMhlC,GAAM,OAAKi9yB,GAASpqzB,EAAOmyC,EAAMhlC,EAAQ,SAAAyyB,GAAC,OAAI8lxB,GAAO9lxB,IAAMg9S,GAAah9S,EAAE,EAAE,EACtG0qxB,GAAc,SAACtqzB,EAAOmyC,EAAMhlC,GAAM,OAAKi9yB,GAASpqzB,EAAOmyC,EAAMhlC,EAAQw4yB,GAAW,EAChF4E,GAAmB,SAACz/W,EAAKtmZ,EAAMohC,EAAWz4E,EAAQnN,EAAOwqzB,GAC7D,IAAIC,EACEjtoB,EAAWstR,EAAIlqI,UAAUh7O,EAAWklX,EAAIwmV,UAAY9suB,EACpD09tB,EAAO,SAACt8rB,EAAWz4E,EAAQs0tB,GAC/B,IAAMipF,EAAaxc,GAAWpjW,GACxBklV,EAAShwxB,EAAQ0qzB,EAAWtc,UAAYsc,EAAWpc,SACzD,OAAO5yB,EAASxquB,KAAK8+uB,EAAOpqsB,EAAWz4E,EAAQ,SAACmT,EAAMqqyB,GACpD,OAAIb,GAAexpyB,EAAKojF,aACd,GAER+mtB,EAAenqyB,EACRmhtB,EAAKzhuB,EAAOsgB,EAAMqqyB,GAE7B,EAAGntoB,GACL,EAEA,OADoB0kmB,EAAKt8rB,EAAWz4E,EAAQk9yB,IACzB/5vB,KAAK,SAAA1kE,GAAM,OAAI4+zB,EAAwBtoC,EAAKt2xB,EAAOg6F,UAAWh6F,EAAOuhB,QAAUnN,GAAS,EAAI,GAAIsqzB,IAAe5uC,EAASpyvB,KAAK19B,EAAO,GAAEuwuB,QAAQ,kBAAMsuF,EAAe/uC,EAASpyvB,KAAK,CAClMs8D,UAAW6kuB,EACXt9yB,OAAQnN,EAAQ,EAAIyqzB,EAAatg0B,SAC9BuxxB,EAAS/gX,MAAM,EACtB,EACMiwZ,GAAuB,SAAC9/W,EAAK+/W,EAAY7wY,EAAKp0V,EAAW4jsB,GAC7D,IAAMpqG,EAAUx5lB,EAAU4jsB,GACtBc,GAAS1ksB,IAAc25rB,GAAU35rB,EAAU91F,OAASsvrB,IACtDx5lB,EAAYw5lB,GAGd,IADA,IAAMlhK,EAAU6rS,GAAaj/W,EAAKllX,GACzBl7F,EAAI,EAAGA,EAAIwzhB,EAAQ/zhB,OAAQO,IAClC,IAAK,IAAIgW,EAAI,EAAGA,EAAImqzB,EAAW1g0B,OAAQuW,IAAK,CAC1C,IAAMoqzB,EAAYD,EAAWnqzB,GAC7B,KAAIo6wB,EAAcgwC,EAAUl+jB,YAAck+jB,EAAUl+jB,YAAcotL,EAAIptL,aAGlE28jB,GAAiBuB,IAAchgX,EAAI1qa,GAAG89e,EAAQxzhB,GAAIog0B,EAAU7msB,WAC9D,OAAOi6Z,EAAQxzhB,EAEnB,CAEF,OAAOk7F,CACT,EACMmluB,GAAoB,SAACjgX,EAAK+/W,EAAYjluB,EAAW4jsB,GACrD,IAAIh1uB,EACArC,EAAOyzC,EACL9R,EAAOg3X,EAAIy5V,UACXtjb,EAAS4pc,EAAW,GAI1B,GAHIvB,GAAcroc,KAChB9uU,EAAO8uU,EAAOnsU,QAAU,KAAOg2Z,EAAIlqI,UAAUh7O,EAAWq7R,EAAOlzI,MAAOj6J,KAEnE3hC,EAAM,CACT,IAAM64wB,EAAoE,QAAvDx2wB,EAAKs2Z,EAAIlqI,UAAUh7O,EAAW,2BAA6C,IAAZpxC,EAAgBA,EAAKs/B,EACvG3hC,EAAO24Z,EAAIlqI,UAAU0pd,GAAS1ksB,GAAaA,EAAU8d,WAAa9d,EAAW,SAAAzzC,GAAI,OAAIA,IAAS2hC,GAAQm2uB,GAAYn/W,EAAI/7b,OAAQojC,EAAK,EAAE64wB,EACvI,CAIA,GAHI74wB,GAAQm3wB,GAAcroc,IAAWA,EAAOnsU,UAC1C3C,EAAO43wB,GAAaj/W,EAAK34Z,EAAM,SAAS6W,UAAU,IAAM7W,IAErDA,EAEH,IADAA,EAAOyzC,EACAzzC,GAAQA,EAAKq3uB,KAAiB1+U,EAAIwmV,QAAQn/uB,EAAKq3uB,MACpDr3uB,EAAOA,EAAKq3uB,IACR2+B,GAAOh2wB,EAAM,SAKrB,OAAOA,GAAQyzC,CACjB,EACMqluB,GAAsB,SAACngX,EAAKh3X,EAAM8R,EAAW4jsB,GACjD,IAAM33uB,EAAS+zC,EAAU8d,WACzB,OAAIo3qB,EAAcl1rB,EAAU4jsB,QAEjB33uB,IAAWiiC,IAAQ+msB,EAAWhpuB,KAAWi5Z,EAAIwmV,QAAQz/uB,KAGvDo5wB,GAAoBngX,EAAKh3X,EAAMjiC,EAAQ23uB,GAElD,EACM0hC,GAAsB,SAACpgX,EAAK+/W,EAAYjluB,EAAWz4E,EAAQnN,GAC/D,IAAI6xC,EAAS+zC,EACP4jsB,EAAcxpxB,EAAQ,kBAAoB,cAC1C8zE,EAAOg3X,EAAIy5V,UACjB,GAAIja,GAAS1ksB,KAAeokuB,GAAiBpkuB,KACvC5lF,EAAQmN,EAAS,EAAIA,EAASy4E,EAAU91F,KAAK3F,QAC/C,OAAOy7F,EAGX,KAAO/zC,GAAQ,CACb,IAAKg5wB,EAAW,GAAGM,cAAgBrgX,EAAIwmV,QAAQz/uB,GAC7C,OAAOA,EAET,IAAK,IAAIutoB,EAAUvtoB,EAAO23uB,GAAcpqG,EAASA,EAAUA,EAAQoqG,GAAc,CAC/E,IAAMq+B,EAAcv9B,GAASlrG,KAAa6rI,GAAoBngX,EAAKh3X,EAAMsrmB,EAASoqG,GAClF,IAAKsgC,GAAe1qI,KAAa8qI,GAAU9qI,KAAa4qI,GAAiB5qI,EAASyoI,GAChF,OAAOh2wB,CAEX,CACA,GAAIA,IAAWiiC,GAAQjiC,EAAO6xD,aAAe5vB,EAAM,CACjD8R,EAAY/zC,EACZ,KACF,CACAA,EAASA,EAAO6xD,UAClB,CACA,OAAO9d,CACT,EACMwluB,GAAyB,SAAAxluB,GAAS,OAAIkkuB,GAAelkuB,EAAU8d,aAAeomtB,GAAelkuB,EAAW,EACxGyluB,GAAY,SAACvgX,EAAK9wB,EAAK6wY,GAA8C,IAAlCS,EAAoB39zB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,IAAAA,UAAA,GAEzDiwuB,EAIE5jT,EAJF4jT,eACA5iM,EAGEhhH,EAHFghH,YACA6iM,EAEE7jT,EAFF6jT,aACAC,EACE9jT,EADF8jT,UAEI78W,EAAS4pc,EAAW,IACtBlhC,GAAY/rD,IAAmBA,EAAejtc,kBAChDitc,EAAiBqxE,GAAUrxE,EAAgB5iM,GACvCsvP,GAAS1sD,KACX5iM,EAAc,IAGd2uP,GAAY9rD,IAAiBA,EAAaltc,kBAC5Cktc,EAAeoxE,GAAUpxE,EAAc7jT,EAAIptL,UAAYkxe,EAAYA,EAAY,GAC3EwsD,GAASzsD,KACXC,EAAYD,EAAa/tuB,KAAK3F,SAGlCyzuB,EAAiBusF,GAA0Br/W,EAAK8yR,GAChDC,EAAessF,GAA0Br/W,EAAK+yR,GAC1CutF,GAAuBxtF,KACzBA,EAAiBksF,GAAelsF,GAAkBA,EAAiBA,EAAel6nB,WAEhFk6nB,EADE5jT,EAAIptL,UACWgxe,EAAe/mT,iBAAmB+mT,EAElCA,EAAeltX,aAAektX,EAE7C0sD,GAAS1sD,KACX5iM,EAAchhH,EAAIptL,UAAYgxe,EAAezzuB,OAAS,IAGtDih0B,GAAuBvtF,KACzBA,EAAeisF,GAAejsF,GAAgBA,EAAeA,EAAan6nB,WAExEm6nB,EADE7jT,EAAIptL,UACSixe,EAAantX,aAAemtX,EAE5BA,EAAahnT,iBAAmBgnT,EAE7CysD,GAASzsD,KACXC,EAAY9jT,EAAIptL,UAAY,EAAIixe,EAAa1zuB,SAG7C6vb,EAAIptL,aACa29jB,GAAiBz/W,EAAKA,EAAIy5V,UAAW3mE,EAAgB5iM,GAAa,EAAMswR,GAChFhkwB,KAAK,SAAA5rD,GAGT,IAFLkqF,EAASlqF,EAATkqF,UACAz4E,EAAMzR,EAANyR,OAEAywtB,EAAiBh4oB,EACjBo1c,EAAc7thB,CAChB,GACiBo9yB,GAAiBz/W,EAAKA,EAAIy5V,UAAW1mE,EAAcC,GAAW,EAAOwtF,GAC7EhkwB,KAAK,SAAAtrD,GAGP,IAFL4pF,EAAS5pF,EAAT4pF,UACAz4E,EAAMnR,EAANmR,OAEA0wtB,EAAej4oB,EACfk4oB,EAAY3wtB,CACd,IAkCF,OAhCIq8yB,GAAevoc,IAAWA,EAAOkqc,gBAC9B3B,GAAevoc,IAAYqpa,GAAS1sD,IAAmC,IAAhB5iM,IAC1D4iM,EAAiBstF,GAAoBpgX,EAAK+/W,EAAYjtF,EAAgB5iM,GAAa,IAEhFwuR,GAAevoc,IAAYqpa,GAASzsD,IAAiBC,IAAcD,EAAa/tuB,KAAK3F,SACxF0zuB,EAAeqtF,GAAoBpgX,EAAK+/W,EAAYhtF,EAAcC,GAAW,KAG7E2rF,GAAuBxoc,KACzB28W,EAAiBgtF,GAAqB9/W,EAAK+/W,EAAY7wY,EAAK4jT,EAAgB,mBAC5EC,EAAe+sF,GAAqB9/W,EAAK+/W,EAAY7wY,EAAK6jT,EAAc,iBAEtEyrF,GAAcroc,IAAWsoc,GAAiBtoc,MAC5C28W,EAAiBmtF,GAAkBjgX,EAAK+/W,EAAYjtF,EAAgB,mBACpEC,EAAektF,GAAkBjgX,EAAK+/W,EAAYhtF,EAAc,eAC5DyrF,GAAcroc,KACX6pF,EAAIwmV,QAAQ1zD,KACfA,EAAiBstF,GAAoBpgX,EAAK+/W,EAAYjtF,EAAgB5iM,GAAa,IAEhFlwF,EAAIwmV,QAAQzzD,KACfA,EAAeqtF,GAAoBpgX,EAAK+/W,EAAYhtF,EAAcC,GAAW,MAI/E6rD,GAAY/rD,IAAmBA,EAAel6nB,aAChDs3b,EAAclwF,EAAIlzB,UAAUgmT,GAC5BA,EAAiBA,EAAel6nB,YAE9BimrB,GAAY9rD,IAAiBA,EAAan6nB,aAC5Co6nB,EAAYhzR,EAAIlzB,UAAUimT,GAAgB,EAC1CA,EAAeA,EAAan6nB,YAEvB,CACLk6nB,iBACA5iM,cACA6iM,eACAC,YAEJ,EAEMytF,GAAS,SAACzgX,EAAK9wB,EAAK/ub,GACxB,IAAIupD,EACEwmf,EAAchhH,EAAIghH,YAClB4iM,EAAiBqxE,GAAUj1X,EAAI4jT,eAAgB5iM,GAC/C8iM,EAAY9jT,EAAI8jT,UAChBD,EAAeoxE,GAAUj1X,EAAI6jT,aAAcC,EAAY,GACvDjrpB,EAAU,SAAAgyB,GACd,IAAM2mtB,EAAY3mtB,EAAM,GACpBylrB,GAASkhC,IAAcA,IAAc5tF,GAAkB5iM,GAAewwR,EAAU17zB,KAAK3F,QACvF06G,EAAMp6E,OAAO,EAAG,GAElB,IAAMghyB,EAAW5mtB,EAAMA,EAAM16G,OAAS,GAItC,OAHkB,IAAd2zuB,GAAmBj5nB,EAAM16G,OAAS,GAAKsh0B,IAAa5tF,GAAgBysD,GAASmhC,IAC/E5mtB,EAAMp6E,OAAOo6E,EAAM16G,OAAS,EAAG,GAE1B06G,CACT,EACM6mtB,EAAkB,SAACv5wB,EAAM3pD,EAAMk+zB,GAEnC,IADA,IAAMiF,EAAW,GACVx5wB,GAAQA,IAASu0wB,EAASv0wB,EAAOA,EAAK3pD,GAC3Cmj0B,EAASl8zB,KAAK0iD,GAEhB,OAAOw5wB,CACT,EACMC,EAAe,SAACz5wB,EAAM2hC,GAAI,OAAKg3X,EAAIlqI,UAAUzuR,EAAM,SAAAA,GAAI,OAAIA,EAAKuxD,aAAe5vB,CAAI,EAAEA,EAAM,EAC3F+3uB,EAAe,SAACphY,EAAWi8X,EAAS3uzB,GAExC,IADA,IAAMyxxB,EAAczxxB,EAAO,cAAgB,kBAClCo6C,EAAOs4Y,EAAW54Y,EAASM,EAAKuxD,WAAYvxD,GAAQA,IAASu0wB,EAASv0wB,EAAON,EAAQ,CAC5FA,EAASM,EAAKuxD,WACd,IAAMiotB,EAAWD,EAAgBv5wB,IAASs4Y,EAAYt4Y,EAAOA,EAAKq3uB,GAAcA,GAC5EmiC,EAASxh0B,SACN4N,GACH4zzB,EAAS3iwB,UAEX/9D,EAAS4nF,EAAQ84uB,IAErB,CACF,EACA,GAAI/tF,IAAmBC,EACrB,OAAO5yuB,EAAS4nF,EAAQ,CAAC+qpB,KAE3B,IAAMp2lB,EAA2E,QAA/DhzF,EAAKs2Z,EAAI48V,mBAAmB9pE,EAAgBC,UAAuC,IAAZrprB,EAAgBA,EAAKs2Z,EAAIy5V,UAClH,GAAIz5V,EAAIhqN,UAAU88e,EAAgBC,GAChC,OAAOguF,EAAajuF,EAAgBp2lB,GAAU,GAEhD,GAAIsjU,EAAIhqN,UAAU+8e,EAAcD,GAC9B,OAAOiuF,EAAahuF,EAAcr2lB,GAEpC,IAAMuwf,EAAa6zL,EAAahuF,EAAgBp2lB,IAAao2lB,EACvD5lG,EAAW4zL,EAAa/tF,EAAcr2lB,IAAaq2lB,EACzDguF,EAAajuF,EAAgB7lG,GAAY,GACzC,IAAM4zL,EAAWD,EAAgB3zL,IAAe6lG,EAAiB7lG,EAAaA,EAAWrnR,YAAa,cAAesnR,IAAa6lG,EAAe7lG,EAAStnR,YAAcsnR,GACpK2zL,EAASxh0B,QACXc,EAAS4nF,EAAQ84uB,IAEnBE,EAAahuF,EAAc7lG,EAC7B,EAEM8zL,GAAc,CAAC,iDAAkD,eAAgB,4BAA6B,qBAAsB,cAAe,qBAEnJp8yB,GAAU,SAACm8xB,EAAQ/2nB,EAAMi3oB,EAAU/mtB,GAAQ,OAAKnzD,GAAOijI,GAAMsnjB,KAAK,iBAAM,UAAU,EAAE,SAAAvqrB,GACxF,MAAiB,OAAbmzD,GAFc,SAAA8vE,GAAI,OAAImumB,GAASnumB,IAAS42mB,GAAM52mB,KAAU43mB,EAAO,CAE1Cs/B,CAAYl3oB,GAC5B,QA/lHU,SAAAA,GAAI,OAAIkumB,GAAYlumB,IAAS7kL,GAAI6kL,EAAM8uD,KAAc,CAgmH7DqolB,CAAan3oB,GACf,WACEgvoB,GAAYhvoB,EAAKg2R,KACnB,QACEkX,GAAO8pW,GAAa,SAAA7nsB,GAAQ,OAAI2gqB,GAAK9vmB,EAAM7wD,EAAS,GACtD,cACGynL,GAAQmggB,EAAQkgB,EAAU/mtB,IAAc0mM,GAAQmggB,EAAQrjzB,GAAKqpD,GAASk6wB,GAGzE,QAFA,eAIX,EAAG,EAUGG,GAAkB,SAACp3oB,EAAMq3oB,EAAWr8zB,EAAMg8yB,EAAgBsgB,EAAUC,GACxE,IAAAC,EAGIx8zB,EAFF+kF,IAAAA,OAAG,IAAAy3uB,EAAGH,EAASG,EACZC,EAASv1zB,EACVlH,EAAImH,GACRmtxB,GAAMtvmB,EAAM8uD,MACZ0/iB,GAAMxumB,EAAM,GAAG3nL,OAAOo+yB,MAAqB12tB,GAC3CyusB,GAAMxumB,EAAM,GAAG3nL,OAAOm+yB,MAAmBQ,GACzC,IAAA0gB,EAGIJ,EAASv3uB,EAAK03uB,GAAUE,EAAAD,EAF1BnurB,WAAAA,OAAU,IAAAourB,EAAG,CAAC,EAACA,EAAAC,EAAAF,EACfvyc,QAAAA,OAAO,IAAAyyc,EAAG,GAAEA,EAId,GAFAnpC,GAASzumB,EAAMz2C,GAz9GL,SAAC97B,EAAS03Q,GACpBsia,GAAOtia,EAAS,SAAAx5W,GACd2jxB,GAAM7hrB,EAAS9hG,EACjB,EACF,CAs9GEtH,CAAI27K,EAAMmlM,GACNoyc,EAAkB,CAChBpyc,EAAQ9vX,OAAS,GACnBm5xB,GAAMxumB,EAAM,GAAG3nL,OAAOs+yB,MAA0Bxxb,EAAQxiU,KAAK,MAE/D,IAAMk1wB,EAAiBr9zB,GAAK+uI,GACxBsurB,EAAexi0B,OAAS,GAC1Bm5xB,GAAMxumB,EAAM,GAAG3nL,OAAOu+yB,MAA6BihB,EAAel1wB,KAAK,KAE3E,CACF,EACMi2vB,GAAyB,SAAA54nB,GAC7BwvmB,GAASxvmB,EAAM8uD,MACf+/iB,GAAS7umB,EAAM,GAAG3nL,OAAOo+yB,OACzB5nB,GAAS7umB,EAAM,GAAG3nL,OAAOm+yB,OACzB3nB,GAAS7umB,EAAM,GAAG3nL,OAAOq+yB,OACzB,IAr+GgBjpsB,EAq+GVgrsB,EAAkB9pB,GAAO3umB,EAAM,GAAG3nL,OAAOu+yB,OAA6B5wyB,IAAI,SAAAwkC,GAAK,OAAIA,EAAMhG,MAAM,IAAI,GAAEwhsB,MAAM,IAC3G0yE,EAAgB/pB,GAAO3umB,EAAM,GAAG3nL,OAAOs+yB,OAA0B3wyB,IAAI,SAAAwkC,GAAK,OAAIA,EAAMhG,MAAM,IAAI,GAAEwhsB,MAAM,IAC5GyhD,GAAOgxB,EAAiB,SAAA/kzB,GAAI,OAAIm7xB,GAAS7umB,EAAMtsL,EAAK,GAv+GpC+5G,EAw+GPuyE,EAv+GTynmB,GAu+GeixB,EAv+GC,SAAA/syB,GACd6jxB,GAAS/hrB,EAAS9hG,EACpB,GAs+GAkjxB,GAAS7umB,EAAM,GAAG3nL,OAAOs+yB,OACzB9nB,GAAS7umB,EAAM,GAAG3nL,OAAOu+yB,MAC3B,EACMkhB,GAAiB,SAACC,EAAMh4uB,EAAK/kF,EAAMg8yB,EAAgBsgB,GACvD,IAAMU,EAASpoC,GAAazpD,QAAQ,OAAQ4xF,GAE5C,OADAX,GAAgBY,EAAQj4uB,EAAK/kF,EAAMg8yB,EAAgBsgB,GAAU,GACtDU,CACT,EACMh4E,GAAW,SAAC+2D,EAAQ7xX,EAAKnlW,EAAKi3tB,EAAgBsgB,EAAUt8zB,GAC5D,IAAMi9zB,EAAc,GACdD,EAASF,GAAe/gB,EAAOzyD,SAAUvkqB,EAAK/kF,EAAMg8yB,EAAgBsgB,GACpEt3wB,EAAUm2vB,KACV+hB,EAAgB,WACpBl4wB,EAAQthD,OACV,EAOMy5zB,EAAkB,SAAA/0N,GACtBqkL,GAAOrkL,EAAOg1N,EAChB,EACMA,EAAiB,SAAAp4oB,GAErB,OADYplK,GAAQm8xB,EAAQ/2nB,EAAM,OAAQtsL,GAAKssL,KAE7C,IAAK,gBAEDk4oB,IACA,IAAMpkvB,EAAWy8sB,GAAWvwmB,GAC5Bm4oB,EAAgBrkvB,GAChBokvB,IACA,MAEJ,IAAK,cAEDA,IACAd,GAAgBp3oB,EAAMjgG,EAAK/kF,EAAMg8yB,EAAgBsgB,GAAU,GAC3D,MAEJ,IAAK,QAED,IAAM/oxB,EA5BiByR,EAAQ3kD,MAAMouuB,WAAW,WACtD,IAAMntU,EAAK08Y,GAAUgf,GAGrB,OAFAC,EAAYt9zB,KAAK2ha,GACjBt8W,EAAQ5kD,IAAIkha,GACLA,CACT,GAwBQk2X,GAAOxymB,EAAMzxI,GAIrB,EASA,OAJAkoxB,GAAO1f,EAAO/gW,IAAK9wB,EAAK,SAAAn1U,GACtBmotB,IALmB,SAAAnotB,GACnB,IAAMqzf,EAAQokL,GAAMz3qB,EAAO6/qB,GAAavpD,SACxC8xF,EAAgB/0N,EAClB,CAGEi1N,CAAatotB,EACf,GACOkotB,CACT,EACMK,GAAuB,SAACvhB,EAAQrjzB,EAAM+1kB,EAAUzukB,GACpD+7yB,EAAOj1D,YAAYyB,SAAS,WAC1B,IAAMhpe,EAAYw8hB,EAAOx8hB,UACnBg+iB,EAAah+iB,EAAU08hB,SACvBuhB,EAAmBpH,GAAmBra,GAAQ1hzB,OAAS,EACvDoj0B,EAAY3f,GAAW,kBAI7B,GAHIyf,EAAWzgkB,YAAc0gkB,GA1GX,SAACzhB,EAAQ7xX,GAC7B,IAAMzkY,EAAI81wB,GAAUxf,EAAO/gW,IAAK9wB,EAAK,CAAC,CACpChwR,OAAQ,UAEVgwR,EAAIihB,SAAS1lZ,EAAEqorB,eAAgBrorB,EAAEylf,aACjChhH,EAAIkhB,OAAO3lZ,EAAEsorB,aAActorB,EAAEuorB,WAC7B+tE,EAAOx8hB,UAAUkqe,OAAOv/T,EAC1B,CAoGMwzY,CAAc3hB,EAAQwhB,GAEpBh+iB,EAAU08hB,SAASn/iB,YAAc0gkB,EAAkB,CACrD,IAAMx4wB,EAAU83wB,GAAe/gB,EAAOzyD,SAAUm0E,EAAWz9zB,EAAMtH,EAAM+1kB,EAAS6tP,UAChFzuuB,GAAM7oC,EAASw2uB,IACfj8gB,EAAU08hB,SAAS4F,WAAW78vB,EAAQg2Z,KACtCz7L,EAAUvhP,OAAOgnB,EAAQg2Z,IAC3B,MACEjyJ,GAASxpC,GAAW,EAAO,WACzBw3iB,GAAYhb,EAAQ,SAAA4hB,GAClB34E,GAAS+2D,EAAQ4hB,EAAcF,EAAW/k0B,EAAM+1kB,EAAS6tP,SAAUt8zB,EACrE,EACF,EAEJ,EACF,EAEM49zB,GAAY,SAAA7hB,GAChB,IA3lHMrmkB,EA2lHAntN,GA3lHAmtN,EAAc,CAAC,EASd,CACLp/I,SATe,SAAC59F,EAAM+1kB,GACtB/4V,EAAYh9O,GAAQ,CAClBA,OACA+1kB,WAEJ,EAKE/mhB,OAJa,SAAAhvD,GAAI,OAAIs1xB,GAAMt4iB,EAAah9O,GAAMsS,IAAI,SAAA7J,GAAC,OAAIA,EAAEstkB,QAAQ,EAAE,EAKnEuuO,SAJe,WAAH,OAASx9yB,GAAKk2O,EAAa,IAolHzCynkB,GAAQpB,EAAQxzxB,GAChB,IAAMiK,EAAU+pxB,GAAQR,EAAQxzxB,GAC1B08wB,EAAS3R,GAAM,QACfuqC,EAAoB,SAAA9nrB,GACxB02oB,GAAO12oB,EAAU,SAAAtjC,GACXwyrB,EAAOxyrB,GACT2rZ,GAAO3rZ,GAEPmrsB,GAAuBnrsB,EAE3B,EACF,EACA,MAAO,CACLnc,SAAU,SAAC59F,EAAM+1kB,GACflmjB,EAAS+tE,SAAS59F,EAAM+1kB,EAC1B,EACAu2K,SAAU,SAACtsvB,EAAMsH,GACfuoB,EAASm/B,OAAOhvD,GAAM8+D,KAAK,SAAAi3gB,GACzB6uP,GAAqBvhB,EAAQrjzB,EAAM+1kB,EAAUzukB,EAC/C,EACF,EACA89zB,kBAAmB,SAACpl0B,EAAMyC,GACxBq3B,EAAQ8gX,YAAY56Y,EAAMyC,EAC5B,EACA6pB,OAAQ,SAAAtsB,GACNojzB,GAASC,EAAQnwB,EAASpyvB,KAAK9gC,IAAO8+D,KAAK,SAAA/qD,GAEpC,IADLspI,EAAQtpI,EAARspI,SAEMo+qB,EAAWpY,EAAOx8hB,UAAU6pe,cAClCy0E,EAAkB9nrB,GAClBgmqB,EAAOx8hB,UAAUipe,eAAe2rE,EAClC,EACF,EACA4J,UAAW,SAAArl0B,GACT,IAAMy7zB,EAAWpY,EAAOx8hB,UAAU6pe,cAClCmkC,GAAO8uB,GAAQN,EAAQrjzB,GAAO,SAACq9I,EAAUt7D,GACvCojvB,EAAkB9nrB,EACpB,GACAgmqB,EAAOx8hB,UAAUipe,eAAe2rE,EAClC,EACArkd,OAAQ,SAAAp3W,GACN,IAAM6qS,EAAY84gB,GAAQN,EAAQrjzB,GAClC,OAAO80xB,GAAMjqf,EAAW,SAAA6kU,GAAK,OAAIokL,GAAMpkL,EAAO,SAAApjb,GAAI,OAAIA,EAAKg2R,GAAG,EAAC,EACjE,EAEJ,EAEMgjX,GAAkB,SAAAz+iB,GACtB,MAAO,CACL6pe,YAAaxiM,EAAM8uQ,GAAen2iB,GAClCipe,eAAgB5hM,EAAM4hM,GAAgBjpe,GAE1C,EACAy+iB,GAAgBhE,eAAiBrE,GAEjC,IAAMsI,GAAkB,SAAClhzB,EAASC,EAAS+vZ,GACzC,OAAIA,EAAMjwK,WAGDo1N,GAAOnlD,EAAM+8B,iBAAkB,SAAAtnb,GAAI,OAz/G3B,SAACA,EAAMzF,EAASC,GAAO,OAAKD,GAAWyF,EAAK3K,MAAQkF,GAAWyF,EAAK1K,OAASkF,GAAWwF,EAAKzK,KAAOiF,GAAWwF,EAAKxK,MAAO,CAy/G5FkmzB,CAAW17yB,EAAMzF,EAASC,EAAQ,EAEpF,EA6CMmhzB,GAAY,SAACpiB,EAAQr2wB,EAAW9sC,GACpCmjzB,EAAO5iyB,SAASusB,EAAW9sC,EAC7B,EACMwl0B,GAAkB,SAACriB,EAAQ5qb,EAAQ9uU,EAAM2oL,GAC7C+wkB,EAAO5iyB,SAAS,cAAe,CAC7Bg4W,SACA9uU,OACA2oL,QAEJ,EACMqzlB,GAAmB,SAACtiB,EAAQ5qb,EAAQ9uU,EAAM2oL,GAC9C+wkB,EAAO5iyB,SAAS,eAAgB,CAC9Bg4W,SACA9uU,OACA2oL,QAEJ,EAEMszlB,GAAiB,SAACviB,EAAQnsyB,GAAI,OAAKmsyB,EAAO5iyB,SAAS,aAAcvJ,EAAM,EAEvE2uzB,GAAiB,SAACxiB,EAAQnsyB,GAAI,OAAKmsyB,EAAO5iyB,SAAS,aAAcvJ,EAAM,EAkBvE4uzB,GAA2B,SAACziB,EAAQ/hyB,GAAK,OAAK+hyB,EAAO5iyB,SAAS,uBAAwB,CAC1Fa,SACC,EAKG8tuB,GAAK,CACT22E,UAAW,EACXC,OAAQ,GACRC,KAAM,GACNj2d,MAAO,GACPk2d,IAAK,GACLC,KAAM,GACNC,MAAO,GACPC,SAAU,GACVC,IAAK,EACLC,GAAI,GACJC,QAAS,GACTC,UAAW,GACXC,IAAK,GACLC,KAAM,GACNC,gBAAiB,SAAA7m0B,GACf,OAAOA,EAAE2rB,UAAY3rB,EAAEu0P,SAAWv0P,EAAEq0P,QAAUg7f,GAAGC,eAAetvvB,EAClE,EACAsvvB,eAAgB,SAAAtvvB,GACd,OAAOg5xB,GAAIpurB,GAAG2ooB,WAAaylD,GAAIpurB,GAAGyooB,QAAUrzuB,EAAEo0P,QAAUp0P,EAAEu0P,UAAYv0P,EAAEq0P,MAC1E,GAGIyykB,GAAuB,oBAEvBhmzB,GAAMhB,KAAKgB,IACXimzB,GAAUjnzB,KAAKs8F,MACf4qtB,GAAgB,CACpBC,GAAI,CAAC,EAAG,GAAI,GAAI,GAChBr2a,GAAI,CAAC,EAAG,EAAG,GAAI,GACfM,GAAI,CAAC,EAAG,EAAG,EAAG,GACd81N,GAAI,CAAC,EAAG,GAAI,EAAG,IAGXkgN,GAAmB,SAACpgjB,EAAWw8hB,GACnC,IAII6jB,EAAaC,EAAkBC,EAAcC,EAAgBC,EAC7DjntB,EAAQC,EAAoCintB,EAAQC,EAAQz+uB,EAAO0+uB,EACnE3lzB,EACAE,EACA0lzB,EACAC,EATErlX,EAAM+gW,EAAO/gW,IACbslX,EAAcvkB,EAAOzyD,SACrBi3E,EAAez+yB,SACf8vI,EAAcmqpB,EAAO50D,UAOrBq5E,EAAU,SAAAn1yB,GAAG,OAAI2/vB,EAAc3/vB,KAASyvwB,GAAMzvwB,IAAQ2vb,EAAI1qa,GAAGjlB,EAAK,gBAAiB,EACnFukyB,EAAU,SAAAvkyB,GAAG,OAAI8vwB,GAAU9vwB,IAAQ2vb,EAAIzyB,SAASl9Z,EAAK,qBAAsB,EAS3Eo1yB,EAAyB,SAAA/+lB,GAC7B,IAAM/8N,EAAS+8N,EAAI/8N,QATc,SAAC+8N,EAAKqrM,GACvC,GAfiB,SAAArrM,GAAG,MAAiB,cAAbA,EAAI9lO,MAAsD,IAA9B8lO,EAAI9lO,KAAKf,QAAQ,QAAe,CAehF6l0B,CAAah/lB,GAAM,CACrB,IAAMi/lB,EAAQj/lB,EAAI2uT,QAAQ,GAC1B,OAAOmwS,EAAQ9+lB,EAAI/8N,UAAYs5zB,GAAgB0C,EAAM5jzB,QAAS4jzB,EAAM3jzB,QAAS+vZ,EAC/E,CACE,OAAOyzZ,EAAQ9+lB,EAAI/8N,UAAYs5zB,GAAgBv8lB,EAAI3kN,QAAS2kN,EAAI1kN,QAAS+vZ,EAE7E,EAGM6zZ,CAA2Bl/lB,EAAKq6kB,EAAOx8hB,UAAU08hB,YAAcv6kB,EAAI4xd,sBACrEyoH,EAAOx8hB,UAAUvhP,OAAOr5B,EAE5B,EACMk8zB,EAAmB,SAAAx1yB,GACvB,OAAI2vb,EAAIzyB,SAASl9Z,EAAK,uBAAyB2/vB,EAAc3/vB,EAAIs1H,mBACxD,CAACt1H,EAAKA,EAAIs1H,mBACRq6T,EAAI1qa,GAAGjlB,EAAK,gBACd,CAACA,EAAInN,cAAc,QAEnB,CAACmN,EAEZ,EACMy1yB,EAAc,SAAAz1yB,GAClB,IAAM8oG,EAAW60rB,GAAkBjN,GACnC,QAAK5nrB,IAGuC,UAAxC9oG,EAAIqnF,aAAa,qBAGjBrnF,IAAQ0wxB,EAAO50D,YAGfnsS,EAAIzyB,SAASl9Z,EAAK,uBAAyB2/vB,EAAc3/vB,EAAIs1H,mBACxDm0oB,GAAKF,GAAavpD,QAAQhgtB,EAAIs1H,mBAAoBxsB,GAElD2gqB,GAAKF,GAAavpD,QAAQhgtB,GAAM8oG,KAE3C,EAUM4ssB,EAAc,SAACtutB,EAAS/5G,EAAMwC,GAClC,GAAI8vxB,EAAc9vxB,GAAQ,CACxB,IAAMs1G,EAAUqwtB,EAAiBputB,GACjCg6qB,GAAOj8qB,EAAS,SAAA7rG,GACVA,EAAOoX,MAAMrjB,KAAUqjzB,EAAO98xB,OAAO28R,QAAQj3S,EAAOuwG,SAAS35F,cAAe7iB,GAC9Esid,EAAI27V,SAAShyyB,EAAQjM,EAAMwC,GAE3B8/c,EAAIs5V,UAAU3vyB,EAAQjM,EAAM,GAAKwC,EAErC,EACF,CACF,EACM8l0B,EAAkB,SAACC,EAAUzmzB,EAAOE,GACxCqmzB,EAAYE,EAAU,QAASzmzB,GAC/BumzB,EAAYE,EAAU,SAAUvmzB,EAClC,EACMwmzB,EAAqB,SAAAzo0B,GACzB,IAAI8+G,EAAQC,EACR2ptB,EAAeC,EACnB7ptB,EAAS9+G,EAAEs2S,QAAUh2L,EACrBvB,EAAS/+G,EAAEu2S,QAAUh2L,EACrBx+F,EAAQ+8F,EAASwotB,EAAe,GAAKE,EACrCvlzB,EAAS88F,EAASuotB,EAAe,GAAKG,EACtC1lzB,EAAQA,EAAQ,EAAI,EAAIA,EACxBE,EAASA,EAAS,EAAI,EAAIA,IACrB8lzB,EAAQZ,IAAgBhQ,EAAQgQ,MAAsD,IAArC3W,GAAyBlN,IAC7Dj0D,GAAGw3E,gBAAgB7m0B,GAEpBqvvB,GAAGw3E,gBAAgB7m0B,MAG9B8gB,GAAIg+F,GAAUh+F,GAAIi+F,IACpB98F,EAAS8kzB,GAAQhlzB,EAAQinE,GACzBjnE,EAAQglzB,GAAQ9kzB,EAAS+mE,KAEzBjnE,EAAQglzB,GAAQ9kzB,EAAS+mE,GACzB/mE,EAAS8kzB,GAAQhlzB,EAAQinE,KAG7Bu/uB,EAAgBnB,EAAkBrlzB,EAAOE,GAGzCymzB,GAFAA,EAAgBpB,EAAexlM,SAAS5pnB,EAAI4mG,GAEZ,EAAI4ptB,EAAgB,EACpDC,GAFAA,EAAgBrB,EAAexlM,SAAS3pnB,EAAI4mG,GAEZ,EAAI4ptB,EAAgB,EACpDpmX,EAAIn9T,UAAUiirB,EAAc,CAC1BjozB,KAAMspzB,EACNppzB,IAAKqpzB,EACLlkyB,QAAS,UAEX4iyB,EAAax5xB,UAAY9rB,EAAQ,YAAcE,EAC3CqlzB,EAAe,GAAK,GAAKF,EAAiB79yB,aAAexH,GAC3Dwgc,EAAI27V,SAASkpB,EAAkB,YA3GfwB,GA2GuCpB,EAASzlzB,IAE9DulzB,EAAe,GAAK,GAAKF,EAAiB59yB,cAAgBvH,GAC5Dsgc,EAAI27V,SAASkpB,EAAkB,WA9GDyB,GA8GwBpB,EAASxlzB,KAEjE68F,EAASq6C,EAAYigF,YAAcuulB,IACnC5otB,EAASo6C,EAAYggF,aAAeyulB,KACZ,GACtBrlX,EAAIn9T,UAAUiirB,EAAc,CAC1BjozB,KAAMspzB,EAAgB5ptB,EACtBx/F,IAAKqpzB,EAAgB5ptB,IAGpB2otB,KA3OqB,SAACpkB,EAAQp3yB,EAAQ6V,EAAOE,EAAQk2E,GAC5DmrtB,EAAO5iyB,SAAS,oBAAqB,CACnCxU,SACA6V,QACAE,SACAk2E,UAEJ,CAqOM2wuB,CAAsBxlB,EAAQ6jB,EAAaK,EAAQC,EAAQ,UAAYH,EAAern0B,MACtFyn0B,GAAgB,EAEpB,EACMqB,EAAiB,WACrB,IAAMC,EAAmBtB,EACzBA,GAAgB,EACZsB,IACFV,EAAYnB,EAAa,QAASplzB,GAClCumzB,EAAYnB,EAAa,SAAUllzB,IAErCsgc,EAAIkyR,OAAOozF,EAAa,YAAaY,GACrClmX,EAAIkyR,OAAOozF,EAAa,UAAWkB,GAC/BjB,IAAiBD,IACnBtlX,EAAIkyR,OAAOqzF,EAAc,YAAaW,GACtClmX,EAAIkyR,OAAOqzF,EAAc,UAAWiB,IAEtCxmX,EAAIh2b,OAAO66yB,GACX7kX,EAAIh2b,OAAO86yB,GACX9kX,EAAIh2b,OAAOg7yB,GACX0B,EAAe9B,GACX6B,KAzPkB,SAAC1lB,EAAQp3yB,EAAQ6V,EAAOE,EAAQk2E,GACxDmrtB,EAAO5iyB,SAAS,gBAAiB,CAC/BxU,SACA6V,QACAE,SACAk2E,UAEJ,CAmPM+wuB,CAAkB5lB,EAAQ6jB,EAAaplzB,EAAOE,EAAQ,UAAYqlzB,EAAern0B,MACjFsid,EAAIs5V,UAAUsrB,EAAa,QAAS5kX,EAAIm5V,UAAUyrB,EAAa,WAEjE7jB,EAAO6lB,aACT,EACMF,EAAiB,SAAAG,GACrBC,IACA,IAAM9lzB,EAAWg/b,EAAI8nV,OAAO++B,EAAWjwqB,GACjCyvqB,EAAerlzB,EAASrL,EACxB2wzB,EAAetlzB,EAASpL,EACxB4R,EAAOq/yB,EAAUvpzB,wBACjBypzB,EAAcv/yB,EAAKhI,OAASgI,EAAK1K,MAAQ0K,EAAK3K,KAC9C+tO,EAAepjO,EAAK9H,QAAU8H,EAAKxK,OAASwK,EAAKzK,IACnD6nzB,IAAgBiC,IAClBG,IACApC,EAAciC,EACdrnzB,EAAQE,EAAS,GAEnB,IAAMjiB,EAAIsjzB,EAAO5iyB,SAAS,iBAAkB,CAC1CxU,OAAQk9zB,IAENf,EAAYe,KAAepp0B,EAAE66rB,qBAC/Bi6F,GAAOkyC,GAAe,SAAChsV,EAAQ/6e,GAC7B,IAAMup0B,EAAY,SAAAxp0B,GAChB,IAxHmB4yB,EAwHb1mB,EAASk8zB,EAAiBjB,GAAa,GAC7C7mtB,EAAStgH,EAAEs2S,QACX/1L,EAASvgH,EAAEu2S,QACXixhB,EAASt7zB,EAAOqd,YAChBk+yB,EAASv7zB,EAAOsd,aAChBw/D,EAAQy+uB,EAASD,GACjBF,EAAiBtsV,GACF/6e,KAAOA,EACtBqn0B,EAAexlM,SAAW,CACxB5pnB,EAAGoxzB,EAActuV,EAAO,GAAK4tV,EAC7BzwzB,EAAGg1O,EAAe6tP,EAAO,GAAK6tV,GAEhClB,EAAmBxuqB,EAAYigF,YAC/BwulB,EAAoBzuqB,EAAYggF,aAChCoulB,EAAiBhlX,EAAI3xc,IAAIuoJ,EAAa,MAAO,CAC3C,MAAS,sBACT,iBAAkB,QAEpBopT,EAAIn9T,UAAUmirB,EAAgB,CAC5BhkzB,SAAU,QACVnE,KAAM,IACNE,IAAK,IACLyC,MAAO,OACPE,OAAQ,SAEVmlzB,EAhJFjQ,EADqBvkyB,EAiJmBu0yB,GA/InC5kX,EAAItna,OAAO,MAAO,CACvB6B,IAAKk8uB,GAAIC,iBAGJrmwB,EAAIy1Q,WAAU,GA4IjBk6K,EAAIq8V,SAASwoB,EAAkB,uBAC/B7kX,EAAIs5V,UAAUurB,EAAkB,iBAAkB,OAClDA,EAAiB7sI,gBAAkB,QACnCh4O,EAAIn9T,UAAUgirB,EAAkB,CAC9BhozB,KAAMwpzB,EACNtpzB,IAAKupzB,EACLplzB,OAAQ,IAEV8kzB,EAAgBnB,EAAkBkC,EAAan8kB,GAC/Ci6kB,EAAiBpvtB,gBAAgB8utB,IACjC3tqB,EAAYt8G,YAAYuqxB,GACxB7kX,EAAIx6Y,KAAK8/vB,EAAa,YAAaY,GACnClmX,EAAIx6Y,KAAK8/vB,EAAa,UAAWkB,GAC7BjB,IAAiBD,IACnBtlX,EAAIx6Y,KAAK+/vB,EAAc,YAAaW,GACpClmX,EAAIx6Y,KAAK+/vB,EAAc,UAAWiB,IAEpC1B,EAAe9kX,EAAI3xc,IAAIuoJ,EAAa,MAAO,CACzC,MAAS,oBACT,iBAAkB,OACjBquqB,EAAS,YAAcC,EAC5B,EACIgC,EAAYlnX,EAAI36c,IAAI,kBAAoB3H,GACxCwp0B,GACFlnX,EAAIh2b,OAAOk9yB,GAEbA,EAAYlnX,EAAI3xc,IAAIuoJ,EAAa,MAAO,CACtC,GAAM,kBAAoBl5J,EAC1B,iBAAkB,MAClB,MAAS,mBACT,cAAgB,EAChB,MAAS,UAAYA,EAAO,iCAE9Bsid,EAAIx6Y,KAAK0hwB,EAAW,YAAa,SAAAzp0B,GAC/BA,EAAE+vO,2BACF/vO,EAAEsqB,iBACFk/yB,EAAUxp0B,EACZ,GACAg7e,EAAOpod,IAAM62yB,EACblnX,EAAIn9T,UAAUqkrB,EAAW,CACvBrqzB,KAAMkqzB,EAActuV,EAAO,GAAK4tV,EAAea,EAAUthrB,YAAc,EACvE7oI,IAAK6tO,EAAe6tP,EAAO,GAAK6tV,EAAeY,EAAUvwlB,aAAe,GAE5E,GAEAqwlB,GAAe,EAEnB,EACMG,EAA0B7mB,GAAQomB,EAAgB,GAClDM,EAAiB,WAA4B,IAA3BI,IAAcvk0B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,KAAAA,UAAA,GACpCsk0B,EAAwBn0uB,SACxB8zuB,IACIlC,GAAewC,GACjBxC,EAAYnvtB,gBAAgB8utB,IAE9BhyC,GAAOkyC,GAAe,SAACvk0B,EAAOxC,GAC5B,IAAMwp0B,EAAYlnX,EAAI36c,IAAI,kBAAoB3H,GAC1Cwp0B,IACFlnX,EAAIkyR,OAAOg1F,GACXlnX,EAAIh2b,OAAOk9yB,GAEf,EACF,EACMG,EAAiB,SAAChgxB,EAAMN,GAAM,OAAKi5Z,EAAIhqN,UAAU3uM,EAAMN,EAAQ,EAC/DugxB,EAAmB,SAAA7p0B,GACvB,KAAI0n0B,GAAiBpkB,EAAOhjU,SAAWgjU,EAAOwmB,WAA9C,CAGA,IAAMV,EAAuB,cAAXpp0B,EAAEmD,KAAuBnD,EAAEkM,OAAS46Q,EAAUyxd,UAC1DwxF,EAAajsC,GAAU3B,GAAavpD,QAAQw2F,GAtR3B,mEAsR2D72zB,IAAI,SAAAvS,GAAC,OAAIA,EAAEuid,GAAG,GAAEpob,OAAO,SAAAn6B,GAAC,OAAIuid,EAAIm9V,WAAW1/yB,EAAEupJ,gBAAiC,QAAfvpJ,EAAEy8G,UAAsB8lW,EAAIm9V,WAAW1/yB,EAAE,GAAEu6uB,iBACtLyvF,EAAgBz3C,EAAcw3C,GAAcxnX,EAAIm5V,UAAUquB,EAAYjD,GAAsB,KAAO,IAIzG,GAHA9yC,GAAOzxU,EAAIh9a,OAAO,OAAO3gC,OAAOki0B,GAAsB,SAASli0B,OAAOki0B,GAAsB,MAAO,SAAA3iY,GACjGA,EAAInsV,gBAAgB8utB,GACtB,GACIv0C,EAAcw3C,IAAeH,EAAeG,EAAY5wqB,IAAgBmqpB,EAAOh8hB,WAAY,CAC7F2ijB,IACA,IAAMC,EAAWpjjB,EAAU6ud,UAAS,GACpC,GAAIi0F,EAAeM,EAAUH,IAAeH,EAAe9ijB,EAAUqjjB,QAAO,GAAOJ,GAGjF,OAFAxnX,EAAIs5V,UAAUkuB,EAAYjD,GAAsBkD,QAChDN,EAAwBp6kB,SAASy6kB,EAGrC,CACAR,GAhBA,CAiBF,EACMF,EAA2B,WAC/Bv0C,GAAOkyC,GAAe,SAAAhsV,GAChBA,EAAOpod,MACT2vb,EAAIkyR,OAAOz5P,EAAOpod,YACXood,EAAOpod,IAElB,EACF,EACMq3yB,EAAqB,WACzB,IACE3mB,EAAOzyD,SAAStC,YAAY,wBAAwB,EAAO,QAC7D,CAAE,MAAO7gtB,GAAK,CAChB,EACA41wB,EAAOlnuB,GAAG,OAAQ,WAChB6tvB,IACA3mB,EAAOlnuB,GAAG,0DAA2DytvB,GACrEvmB,EAAOlnuB,GAAG,uBAAwB,SAAAp8E,GAC5Bmn0B,GAAwC,UAAzBA,EAAY1qtB,UAC7BottB,EAAiB7p0B,EAErB,GACAsjzB,EAAOlnuB,GAAG,YAAamtvB,GACvBjmB,EAAOlnuB,GAAG,wBAAyB4rvB,GAAwB,EAC7D,GACA1kB,EAAOlnuB,GAAG,SAAUitvB,GAKpB,MAAO,CACLhB,cACAY,iBACAM,iBACAM,mBACAh6qB,QATc,WACd65qB,EAAwBn0uB,SACxB4xuB,EAAcC,EAAmBG,EAAiB,IACpD,EAQF,EAoBM6C,GAAmB,SAAC9xoB,EAAK+xoB,EAAWC,GACxC,IAnBgB74Y,EAmBVnd,EAAQh8O,EAAIjvK,SAAS8nb,cAG3B,OAtBgB1f,EAoBPnd,EAAO+1Z,EAnBXx2F,KAAK,SAAA7zuB,GACRyxb,EAAIqjT,eAAe90uB,EAAEuid,IACvB,EAAG,SAACvid,EAAGmgE,GACLsxX,EAAIihB,SAAS1yc,EAAEuid,IAAKpiZ,EACtB,EAAG,SAAAngE,GACDyxb,EAAIsjT,cAAc/0uB,EAAEuid,IACtB,GAEgB,SAAC9wB,EAAK84Y,GACtBA,EAAK12F,KAAK,SAAA7zuB,GACRyxb,EAAIujT,aAAah1uB,EAAEuid,IACrB,EAAG,SAACvid,EAAGmgE,GACLsxX,EAAIkhB,OAAO3yc,EAAEuid,IAAKpiZ,EACpB,EAAG,SAAAngE,GACDyxb,EAAIwjT,YAAYj1uB,EAAEuid,IACpB,EACF,CAIEioX,CAAUl2Z,EAAOg2Z,GACVh2Z,CACT,EACMm2Z,GAAgB,SAACnyoB,EAAK7gL,EAAO+9tB,EAASjkuB,EAAQkkuB,GAClD,IAAMhkT,EAAMn5P,EAAIjvK,SAAS8nb,cAGzB,OAFA1f,EAAIihB,SAASj7b,EAAM8qc,IAAKizR,GACxB/jT,EAAIkhB,OAAOphc,EAAOgxc,IAAKkzR,GAChBhkT,CACT,EAEMi5Y,GAAQre,GAAa,CAAC,CAC1Bl3E,IAAK,CAAC,QAAS,UAAW,SAAU,YACnC,CACDC,IAAK,CAAC,QAAS,UAAW,SAAU,cAEhC7+T,GAAY,SAACj+O,EAAKn1L,EAAMmxa,GAAK,OAAKnxa,EAAKg5xB,GAAavpD,QAAQt+T,EAAM+gU,gBAAiB/gU,EAAMm+H,YAAa0pP,GAAavpD,QAAQt+T,EAAMghU,cAAehhU,EAAMihU,UAAW,EA8BjKo1F,GAAW,SAACryoB,EAAKwuF,GACrB,IAAMw2iB,EA9BU,SAAChloB,EAAKwuF,GAAS,OAAKA,EAAU/iR,MAAM,CACpD6xuB,SAAU,SAAAnkT,GACR,MAAO,CACL0jT,IAAKpoL,EAASt7H,GACd2jT,IAAK+9C,EAAS/gX,KAElB,EACArpV,SAAU,SAACshvB,EAAWC,GACpB,MAAO,CACLn1F,IAAK3piB,GAAO,kBAAM4+nB,GAAiB9xoB,EAAK+xoB,EAAWC,EAAW,GAC9Dl1F,IAAK5piB,GAAO,kBAAM2nlB,EAASpyvB,KAAKqpyB,GAAiB9xoB,EAAKgyoB,EAAYD,GAAW,GAEjF,EACAtqmB,MAAO,SAACtoN,EAAO+9tB,EAASjkuB,EAAQkkuB,GAC9B,MAAO,CACLN,IAAK3piB,GAAO,kBAAMi/nB,GAAcnyoB,EAAK7gL,EAAO+9tB,EAASjkuB,EAAQkkuB,EAAQ,GACrEL,IAAK5piB,GAAO,kBAAM2nlB,EAASpyvB,KAAK0pyB,GAAcnyoB,EAAK/mL,EAAQkkuB,EAASh+tB,EAAO+9tB,GAAS,GAExF,GACC,CAWco1F,CAAUtyoB,EAAKwuF,GAC9B,OAXiB,SAACxuF,EAAKgloB,GACvB,IAAM7rY,EAAM6rY,EAAOnoF,MACnB,OAAI1jT,EAAIptL,UACWi5jB,EAAOloF,MAAMj7sB,OAAO,SAAA0wyB,GAAG,OAAsB,IAAlBA,EAAIxmkB,SAAmB,GACnD9xP,IAAI,SAAAs4zB,GAAG,OAAIH,GAAMt1F,IAAI+mD,GAAavpD,QAAQi4F,EAAIv1F,cAAeu1F,EAAIt1F,UAAW4mD,GAAavpD,QAAQi4F,EAAIx1F,gBAAiBw1F,EAAIp4R,YAAY,GAAEujM,WAAW,kBAAMz/T,GAAUj+O,EAAKoyoB,GAAMv1F,IAAK1jT,EAAI,GAEhMlb,GAAUj+O,EAAKoyoB,GAAMv1F,IAAK1jT,EAErC,CAGSq5Y,CAAWxyoB,EAAKgloB,EACzB,EACAoN,GAAMv1F,IACNu1F,GAAMt1F,IAEN,IAMM21F,GANW,SAACtzzB,EAAO+9tB,EAASjkuB,EAAQkkuB,GAAO,MAAM,CACrDh+tB,QACA+9tB,UACAjkuB,SACAkkuB,UACD,EAKKu1F,GAAyB,SAACv6gB,EAAKv4S,EAAGC,GACtC,IAAI8zC,EAAIigU,EACR,OAAOina,EAASxquB,KAAsD,QAAhDujU,GAAMjgU,EAAKwkQ,EAAI8xJ,KAAKyoX,8BAAgD,IAAZ9+c,OAAqB,EAAIA,EAAGtpX,KAAKqpD,EAAI/zC,EAAGC,IAAI4vD,KAAK,SAAA7jB,GAC7H,GAAuB,OAAnBA,EAAI+mxB,WACN,OAAO93C,EAAS/gX,OAElB,IAAMplX,EAAIyjQ,EAAI8xJ,IAAIpR,cAGlB,OAFAnkZ,EAAE0lZ,SAASxuZ,EAAI+mxB,WAAY/mxB,EAAIt/B,QAC/BooC,EAAE41X,WACKuwW,EAASpyvB,KAAKisB,EACvB,EACF,EACMk+wB,GAAsB,SAACz6gB,EAAKv4S,EAAGC,GACnC,IAAI8zC,EAAIigU,EACR,OAAOina,EAASxquB,KAAmD,QAA7CujU,GAAMjgU,EAAKwkQ,EAAI8xJ,KAAK2oX,2BAA6C,IAAZh/c,OAAqB,EAAIA,EAAGtpX,KAAKqpD,EAAI/zC,EAAGC,GACrH,EACMgzzB,GACA9hzB,SAAS2hzB,uBACJA,GACE3hzB,SAAS6hzB,oBACXA,GAEA/3C,EAAS/gX,KAQdg5Z,GAAQ/e,GAAa,CAAC,CAC1Bp4pB,OAAQ,CAAC,YACR,CACD73E,GAAI,CAAC,UAAW,WACf,CACDosO,MAAO,CAAC,cAOJ6ihB,GAAO,CACXp3qB,OAJem3qB,GAAMn3qB,OAKrB73E,GAJSgvvB,GAAMhvvB,GAKfosO,MAJc4ihB,GAAM5ihB,MAKpBktb,KATW,SAACpoQ,EAASg+V,EAAUC,EAAMC,GAAO,OAAKl+V,EAAQumQ,KAAKy3F,EAAUC,EAAMC,EAAS,EAUvF71F,SATiB,SAAA40F,GAAI,OAAIA,EAAK12F,KAAKjhpB,EAAUA,EAAUA,EAAU,GAY7D64uB,GAAQpf,GAAa,CAAC,CAC1Bz2E,SAAU,CAAC,QACV,CACD7spB,SAAU,CAAC,YAAa,eACvB,CACDg3I,MAAO,CAAC,QAAS,UAAW,SAAU,cAgBlC2rmB,GAAe,CACnB91F,SATe61F,GAAM71F,SAUrB7spB,SATe0ivB,GAAM1ivB,SAUrBg3I,MATY0rmB,GAAM1rmB,MAUlB81gB,eAlBqB,SAAA81F,GAAQ,OAAIF,GAAM1rmB,MAAM4rmB,EAASl0zB,MAAOk0zB,EAASn2F,QAASm2F,EAASp6zB,OAAQo6zB,EAASl2F,QAAS,EAmBlHK,OAVa,SAAAhvd,GACb,IAAMrvQ,EATW,SAAAqvQ,GAAS,OAAIA,EAAU/iR,MAAM,CAC9C6xuB,SAAU,SAAAnkT,GAAG,OAAI0qW,GAAavpD,QAAQnhT,EAAI4jT,eAAe,EACzDtspB,SAAU,SAACshvB,EAAWuB,GAAW,OAAKP,GAAK11F,SAAS00F,EAAU,EAC9DtqmB,MAAO,SAACtoN,EAAOo0zB,EAAUC,EAASC,GAAQ,OAAKt0zB,CAAK,GACnD,CAKau0zB,CAAWlljB,GACzB,OAAOyoM,GAAY93c,EACrB,EAQE68Z,MAPYy2Z,IAURkB,GAAgB,SAACjytB,EAASp1F,GAC9B,IAAMsnzB,EAASjs0B,GAAK+5G,GACpB,MAAI,UAAYkytB,EACPb,GAAK7ihB,MAAMxuM,GACR85qB,GAAW,CAAC,KAAM,OAAQo4C,GAGlB,IAAXtnzB,EAAeymzB,GAAKp3qB,OAAOj6C,GAAWqxtB,GAAK7ihB,MAAMxuM,GAFjDqxtB,GAAKjvvB,GAAG49B,EAASp1F,EAI5B,EACMunzB,GAAqB,SAAC9B,EAAWC,GACrC,IAAM7yzB,EAAQ4yzB,EAAUx2F,KAAKw3F,GAAKp3qB,OAAQg4qB,GAAeZ,GAAK7ihB,OACxDj3S,EAAS+4zB,EAAWz2F,KAAKw3F,GAAKp3qB,OAAQg4qB,GAAeZ,GAAK7ihB,OAChE,OAAOkjhB,GAAa3ivB,SAAStxE,EAAOlG,EACtC,EACM66zB,GAAkB,SAAC30zB,EAAO+9tB,EAASjkuB,EAAQkkuB,GAC/C,IAAM40F,EAAY4B,GAAcx0zB,EAAO+9tB,GACjC80F,EAAa2B,GAAc16zB,EAAQkkuB,GACzC,OAAOi2F,GAAa3ivB,SAASshvB,EAAWC,EAC1C,EAWM+B,GAAe,SAAC/urB,EAAUyxL,GAC9B,IACM71K,GADM61K,GAAS1lT,UACAgwT,yBAIrB,OAHA26c,GAAO12oB,EAAU,SAAAtjC,GACfk/C,EAASr8G,YAAYm9D,EAAQuoW,IAC/B,GACO45U,GAAavpD,QAAQ15kB,EAC9B,EAEMozqB,GAAW,SAAAxljB,GACf,IAAMxuF,EAAMozoB,GAAa51F,OAAOhvd,GAAWy7L,IACrCgqX,EAAc,SAAC90zB,EAAO+9tB,EAASjkuB,EAAQkkuB,GAAO,OAAKg1F,GAAcnyoB,EAAK7gL,EAAO+9tB,EAASjkuB,EAAQkkuB,EAAS,EACvGzkR,EAtBW,SAAAlqM,GAAS,OAAIA,EAAU/iR,MAAM,CAC9C6xuB,SAAU,SAAAnkT,GACR,IAAMh6a,EAAQ0kxB,GAAavpD,QAAQnhT,EAAI4jT,gBACjC9juB,EAAS4qxB,GAAavpD,QAAQnhT,EAAI6jT,cACxC,OAAO82F,GAAgB30zB,EAAOg6a,EAAIghH,YAAalhiB,EAAQkgb,EAAI8jT,UAC7D,EACAxspB,SAAUojvB,GACVpsmB,MAAOqsmB,IACN,CAcgBI,CAAW1ljB,GAC5B,OAAO6jjB,GAASryoB,EAAK04R,GAAUjtd,MAAM,CACnCoxuB,IAAKo3F,EACLn3F,IAAKm3F,GAET,EACME,GAAa,SAACn0oB,EAAKpgL,EAAGC,GAAC,OAvGT,SAACmgL,EAAKpgL,EAAGC,GAC3B,IAAMs4S,EAAM0re,GAAavpD,QAAQt6iB,EAAIjvK,UACrC,OAAO8hzB,GAAgB16gB,EAAKv4S,EAAGC,GAAG5F,IAAI,SAAAk/a,GAAG,OAAIs5Y,GAAgB5uC,GAAavpD,QAAQnhT,EAAI4jT,gBAAiB5jT,EAAIghH,YAAa0pP,GAAavpD,QAAQnhT,EAAI6jT,cAAe7jT,EAAI8jT,UAAU,EAChL,CAoGkCm3F,CAAYp0oB,EAAKpgL,EAAGC,EAAG,EAEnD06tB,GAAY,SAACvutB,EAASC,EAASksS,GACnC,IAAMn4H,EAAMi3R,GAAY4sU,GAAavpD,QAAQnib,IAC7C,OAAOg8gB,GAAWn0oB,EAAIiqR,IAAKj+b,EAASC,GAAShS,IAAI,SAAAo5zB,GAC/C,IAAMl6Y,EAAMhhI,EAAI0gJ,cAGhB,OAFA1f,EAAIihB,SAASi5X,EAASl0zB,MAAM8qc,IAAKopX,EAASn2F,SAC1C/jT,EAAIkhB,OAAOg5X,EAASp6zB,OAAOgxc,IAAKopX,EAASl2F,SAClChkT,CACT,GAAG8oT,gBACL,EAEMoyF,GAAS,SAACC,EAAMvhB,GACpB,OAAO94B,EAAcq6C,IAASr6C,EAAc84B,IAASuhB,EAAKv3F,iBAAmBg2E,EAAKh2E,gBAAkBu3F,EAAKn6R,cAAgB44Q,EAAK54Q,aAAem6R,EAAKt3F,eAAiB+1E,EAAK/1E,cAAgBs3F,EAAKr3F,YAAc81E,EAAK91E,SAClN,EAYMs3F,GAAc,SAACjjxB,EAAMqrI,EAAU5rF,GAAS,OAA+C,OAV1E,SAACz/C,EAAMqrI,EAAU5rF,GAElC,IADA,IAAIu0V,EAAch0Y,EACXg0Y,GAAeA,IAAgB3oQ,GAAU,CAC9C,GAAI5rF,EAAUu0V,GACZ,OAAOA,EAETA,EAAcA,EAAYziV,UAC5B,CACA,OAAO,IACT,CACmD2xtB,CAAWljxB,EAAMqrI,EAAU5rF,EAAoB,EAC5F0juB,GAAoB,SAACnjxB,EAAMqrI,EAAUh1L,GAAI,OAAK4s0B,GAAYjjxB,EAAMqrI,EAAU,SAAArrI,GAAI,OAAIA,EAAK6yD,WAAax8G,CAAI,EAAE,EAC1G+s0B,GAA0B,SAACpjxB,EAAMqrI,GAAQ,OAAKyvmB,GAAmB96uB,KAAUijxB,GAAYjjxB,EAAMqrI,EAAUsmoB,GAAa,EACpH0R,GAAmB,SAAC1qX,EAAK34Z,EAAMxqC,GACnC,IAAM+7F,EAAavxD,EAAKuxD,WACxB,GAAIA,EAGF,IAFA,IACIyiV,EADE6pW,EAAS,IAAI9G,GAAc/2uB,EAAM24Z,EAAIlqI,UAAUl9N,EAAYonW,EAAIwmV,UAAYxmV,EAAIy5V,WAE9Ep+W,EAAc6pW,EAAOroxB,EAAO,OAAS,WAC1C,GAAIgjxB,GAAOxkW,GACT,OAAO,EAIb,OAAO,CACT,EAeMsvY,GAAuB,SAAC3qX,EAAK4qX,EAAa9okB,EAAWjlP,EAAM8ib,GAC/D,IAGIkrY,EACAxjxB,EAJEqS,EAAOsmZ,EAAIy5V,UACXnJ,EAAsBtwV,EAAI/7b,OAAO4uxB,sBACjCj6rB,EAAa+mV,EAAU/mV,WAG7B,IAAKA,EACH,OAAOg4qB,EAAS/gX,OAElB,IAAMi7Z,EAAuB9qX,EAAIlqI,UAAUl9N,EAAYonW,EAAIwmV,UAAY9suB,EACvE,GAAI78C,GAAQgjxB,GAAOlgW,IAAcirY,GAAe5qX,EAAIvib,QAAQqtyB,GAC1D,OAAOl6C,EAASpyvB,KAAK8nxB,GAAc1tsB,EAAYonW,EAAIlzB,UAAU6S,KAG/D,IADA,IAAMulW,EAAS,IAAI9G,GAAcz+V,EAAWmrY,GACrCzjxB,EAAO69uB,EAAOroxB,EAAO,OAAS,WAAW,CAC9C,GAA2C,UAAvCmjc,EAAIk9V,yBAAyB71vB,IAAqBojxB,GAAwBpjxB,EAAMqS,GAClF,OAAOk3tB,EAAS/gX,OAElB,GAAI2vX,GAASn4uB,IAASA,EAAKriD,KAAK3F,OAAS,EACvC,OAAKmr0B,GAAkBnjxB,EAAMqS,EAAM,KAG5Bk3tB,EAAS/gX,OAFP+gX,EAASpyvB,KAAK8nxB,GAAcj/vB,EAAMxqC,EAAOwqC,EAAKriD,KAAK3F,OAAS,IAIvE,GAAI2gd,EAAIwmV,QAAQn/uB,IAASipvB,EAAoBjpvB,EAAK6yD,SAAS35F,eACzD,OAAOqwwB,EAAS/gX,OAElBg7Z,EAAoBxjxB,CACtB,CACA,OAAI4+T,GAAU4kd,GACLj6C,EAAS/gX,OAEd/tK,GAAa+okB,EACRj6C,EAASpyvB,KAAK8nxB,GAAcukB,EAAmB,IAEjDj6C,EAAS/gX,MAClB,EACMk7Z,GAAoB,SAAC/qX,EAAKl+M,EAAW5sP,EAAOg6a,GAChD,IACI7nY,EADEqS,EAAOsmZ,EAAIy5V,UAEb1orB,GAAa,EACbj2B,EAAY5lF,EAAQg6a,EAAI4jT,eAAiB5jT,EAAI6jT,aAC7C1wtB,EAASnN,EAAQg6a,EAAIghH,YAAchhH,EAAI8jT,UACrC43F,EAAc/rC,GAAY/jsB,IAAcz4E,IAAWy4E,EAAUt5D,WAAWniC,OACxEixyB,EAAsBtwV,EAAI/7b,OAAO4uxB,sBACnCm4B,EAAgB91zB,EACpB,GAAIitxB,GAAmBrnsB,GACrB,OAAO81rB,EAAS/gX,OASlB,GAPIgvX,GAAY/jsB,IAAcz4E,EAASy4E,EAAUt5D,WAAWniC,OAAS,IACnE2r0B,GAAgB,GAEdrrC,GAAa7ksB,KACfA,EAAYphC,EACZr3C,EAAS,GAEPy4E,IAAcphC,EAAM,CACtB,GAAIsxwB,IACF3jxB,EAAOyzC,EAAUt5D,WAAWnf,EAAS,EAAIA,EAAS,EAAI,IAC5C,CACR,GAAI8/wB,GAAmB96uB,GACrB,OAAOupuB,EAAS/gX,OAElB,GAAIygY,EAAoBjpvB,EAAK6yD,WAAamlrB,GAAUh4uB,GAClD,OAAOupuB,EAAS/gX,MAEpB,CAEF,GAAI/0U,EAAU+qM,gBAAiB,CAI7B,GAHAxjR,EAAS9E,KAAKgL,KAAKyizB,GAAiB3ozB,EAAS,EAAIA,EAAS,EAAIA,EAAQy4E,EAAUt5D,WAAWniC,OAAS,GACpGy7F,EAAYA,EAAUt5D,WAAWnf,GACjCA,EAASm9wB,GAAS1ksB,IAAc8vuB,EAAc9vuB,EAAU91F,KAAK3F,OAAS,GACjEyiQ,GAAahnK,IAAcphC,EAAK8lD,WAAa6/qB,GAAUvksB,GAC1D,OAAO81rB,EAAS/gX,OAElB,GArFgC,SAAC7mV,EAAM3hC,GAE3C,IADA,IAAIg0Y,EAAch0Y,EACXg0Y,GAAeA,IAAgBryW,GAAM,CAC1C,GAAIg3sB,GAAyB3kW,GAC3B,OAAO,EAETA,EAAcA,EAAYziV,UAC5B,CACA,OAAO,CACT,CA4EUqytB,CAA8BvxwB,EAAMohC,IAAcqnsB,GAAmBrnsB,GACvE,OAAO81rB,EAAS/gX,OAElB,GAAIwwX,GAAUvlsB,GACZ,OAAO81rB,EAAS/gX,OAElB,GAAI/0U,EAAU+qM,kBAAoBw5f,GAAUvksB,GAAY,CACtDzzC,EAAOyzC,EACP,IAAMoqsB,EAAS,IAAI9G,GAActjsB,EAAWphC,GAC5C,EAAG,CACD,GAAIsmuB,GAAyB34uB,IAAS86uB,GAAmB96uB,GAAO,CAC9D0pE,GAAa,EACb,KACF,CACA,GAAIyuqB,GAASn4uB,IAASA,EAAKriD,KAAK3F,OAAS,EAAG,CAC1CgjB,EAAS2ozB,EAAgB,EAAI3jxB,EAAKriD,KAAK3F,OACvCy7F,EAAYzzC,EACZ0pE,GAAa,EACb,KACF,CACA,GAAIu/qB,EAAoBjpvB,EAAK6yD,SAAS35F,iBAAmB2/wB,GAAqB74uB,GAAO,CACnFhlC,EAAS29b,EAAIlzB,UAAUzlY,GACvByzC,EAAYzzC,EAAKuxD,WACZoytB,GACH3ozB,IAEF0uG,GAAa,EACb,KACF,CACF,OAAS1pE,EAAO2jxB,EAAgB9lC,EAAOj4xB,OAASi4xB,EAAOl4xB,OACzD,CACF,CACF,CA8BA,OA7BI80P,IACE09hB,GAAS1ksB,IAAyB,IAAXz4E,GACzBsozB,GAAqB3qX,EAAK4qX,EAAa9okB,GAAW,EAAMhnK,GAAWt+B,KAAK,SAAA7a,GACtEm5C,EAAYn5C,EAAIm5C,YAChBz4E,EAASs/B,EAAIt/B,SACb0uG,GAAa,CACf,GAEE8tqB,GAAY/jsB,MACdzzC,EAAOyzC,EAAUt5D,WAAWnf,MAE1BglC,EAAOyzC,EAAUt5D,WAAWnf,EAAS,KAEnCglC,IAAQw4uB,GAAOx4uB,IAvIN,SAACA,EAAM3pD,GACxB,IAAIgsD,EACJ,OAAwC,QAA/BA,EAAKrC,EAAK0kY,uBAAyC,IAAZriY,OAAqB,EAAIA,EAAGwwD,YAAcx8G,CAC5F,CAoImCwt0B,CAAW7jxB,EAAM,MAASqjxB,GAAiB1qX,EAAK34Z,GAAM,IAAWqjxB,GAAiB1qX,EAAK34Z,GAAM,IACxHsjxB,GAAqB3qX,EAAK4qX,EAAa9okB,GAAW,EAAMz6M,GAAMmV,KAAK,SAAA7a,GACjEm5C,EAAYn5C,EAAIm5C,YAChBz4E,EAASs/B,EAAIt/B,SACb0uG,GAAa,CACf,KAIFi6sB,IAAkBlpkB,GAAa09hB,GAAS1ksB,IAAcz4E,IAAWy4E,EAAU91F,KAAK3F,QAClFsr0B,GAAqB3qX,EAAK4qX,EAAa9okB,GAAW,EAAOhnK,GAAWt+B,KAAK,SAAA7a,GACvEm5C,EAAYn5C,EAAIm5C,YAChBz4E,EAASs/B,EAAIt/B,SACb0uG,GAAa,CACf,GAEKA,GAAcj2B,EAAY81rB,EAASpyvB,KAAK8nxB,GAAcxrtB,EAAWz4E,IAAWuuwB,EAAS/gX,MAC9F,EACMs7Z,GAAc,SAACnrX,EAAK9wB,GACxB,IAAMptL,EAAYotL,EAAIptL,UACpBspkB,EAAUl8Y,EAAIu2X,aACVlmL,EAAW+mL,GAAcC,eAAer3X,GAc9C,OAbA67Y,GAAkB/qX,EAAKl+M,GAAW,EAAMspkB,GAAS5uwB,KAAK,SAAA7a,GAC/CmgN,GAAcwkjB,GAAc/5U,QAAQgzJ,EAAU59kB,IACjDypxB,EAAQj7X,SAASxuZ,EAAIm5C,YAAan5C,EAAIt/B,SAE1C,GACKy/O,GACHipkB,GAAkB/qX,EAAKl+M,GAAW,EAAOspkB,GAAS5uwB,KAAK,SAAA7a,GACrDypxB,EAAQh7X,OAAOzuZ,EAAIm5C,YAAan5C,EAAIt/B,SACtC,GAEEy/O,GACFspkB,EAAQ/qZ,UAAS,GAEZ+pZ,GAAOl7Y,EAAKk8Y,GAAWx6C,EAAS/gX,OAAS+gX,EAASpyvB,KAAK4syB,EAChE,EAEMpX,GAAY,SAAC3swB,EAAMhlC,GACvB,OAAOglC,EAAK2swB,UAAU3xyB,EACxB,EACMmsB,GAAQ,SAAA0gZ,GACZ,IAAI4jT,EAAiB5jT,EAAI4jT,eACvB5iM,EAAchhH,EAAIghH,YAClB6iM,EAAe7jT,EAAI6jT,aACnBC,EAAY9jT,EAAI8jT,UAClB,GAAIF,IAAmBC,GAAgBysD,GAAS1sD,IAC9C,GAAI5iM,EAAc,GAAKA,EAAc4iM,EAAe9tuB,KAAK3F,OAGvD,GADAyzuB,GADAC,EAAeihF,GAAUlhF,EAAgB5iM,IACXnkH,gBAC1BinT,EAAY9iM,EAAa,CAE3B,IAAMm7R,EAAerX,GAAUjhF,EAD/BC,GAAwB9iM,GACgCnkH,gBACxD+mT,EAAiBC,EAAes4F,EAChCr4F,EAAYq4F,EAAarm0B,KAAK3F,OAC9B6wiB,EAAc,CAChB,MACE8iM,EAAY,OAQhB,GAJIwsD,GAAS1sD,IAAmB5iM,EAAc,GAAKA,EAAc4iM,EAAe9tuB,KAAK3F,SACnFyzuB,EAAiBkhF,GAAUlhF,EAAgB5iM,GAC3CA,EAAc,GAEZsvP,GAASzsD,IAAiBC,EAAY,GAAKA,EAAYD,EAAa/tuB,KAAK3F,OAAQ,CACnF,IAAMgs0B,EAAerX,GAAUjhF,EAAcC,GAAWjnT,gBACxDgnT,EAAes4F,EACfr4F,EAAYq4F,EAAarm0B,KAAK3F,MAChC,CAEF,MAAO,CACLyzuB,iBACA5iM,cACA6iM,eACAC,YAEJ,EAEMub,GAAa,SAAAvuS,GA0BjB,MAAO,CACLo3U,KA1BW,SAACloW,EAAK/ub,GACjB,OAAOsg0B,GAAOzgX,EAAK9wB,EAAK/ub,EAC1B,EAyBEquC,MAxBcA,GAyBdowxB,OAjBa,SAAC1vY,GAGd,GAAqB,UAHKrsb,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAC7BjC,KAAM,SAEMA,KAAiB,CAC3B,IAAM0q0B,EAAY/K,GAAUvgX,EAAK9wB,EAAK,CAAC,CACrChwR,OAAQ,UAEJqsqB,EAAWvrX,EAAI46V,YAGrB,OAFA2wB,EAASp7X,SAASm7X,EAAUx4F,eAAgBw4F,EAAUp7R,aACtDq7R,EAASn7X,OAAOk7X,EAAUv4F,aAAcu4F,EAAUt4F,WAC3Cu4F,CACT,CACA,OAAOr8Y,CACT,EAKEtuF,UAzBgB,SAAAsuF,GAChB,OAAOi8Y,GAAYnrX,EAAK9wB,GAAKoiT,KAAKq/C,EAAO,SAAA66C,GAGvC,OAFAt8Y,EAAIihB,SAASq7X,EAAc14F,eAAgB04F,EAAct7R,aACzDhhH,EAAIkhB,OAAOo7X,EAAcz4F,aAAcy4F,EAAcx4F,YAC9C,CACT,EACF,EAqBF,EACAub,GAAWk9E,cAAgBrB,GAC3B77E,GAAWC,uBAAyBle,GACpCie,GAAW21D,gBAAkBA,GAC7B31D,GAAWvY,QAAUmuE,GAErB,IA4XIunB,GAtVE74rB,GAtCY,SAACn1I,EAAMg8b,GACvB,IASMr0b,EAAM,SAAAoyG,GACV,IAAMhtD,EAAIivY,EAAUjiV,GACpB,GAAIhtD,GAAK,GAAW,OAANA,EAAY,CACxB,IAAM0zO,EAAM49f,GAAMtkrB,EAAS/5G,GAC3B,OAAO4jB,WAAW68Q,IAAQ,CAC5B,CACA,OAAO1zO,CACT,EAEMk7W,EAAY,SAACluT,EAASl6G,GAAU,OAAKu0xB,GAAMv0xB,EAAY,SAACg9F,EAAKl5E,GACjE,IAAMs0B,EAAMomvB,GAAMtkrB,EAASp2F,GACrBnhB,OAAgBqG,IAARovC,EAAoB,EAAIrY,SAASqY,EAAK,IACpD,OAAO9/B,MAAM3V,GAASq6F,EAAMA,EAAMr6F,CACpC,EAAG,EAAG,EAMN,MAAO,CACLkF,IA7BU,SAACqyG,EAAS5pC,GACpB,IAAK2qD,EAAS3qD,KAAOA,EAAErsE,MAAM,YAC3B,MAAM,IAAIjB,MAAM7C,EAAO,wDAA0DmwE,GAEnF,IAAMmyY,EAAMvoW,EAAQuoW,IAChB3zY,GAAY2zY,KACdA,EAAIj/b,MAAMrjB,GAAQmwE,EAAI,KAE1B,EAsBExoE,MACAm3yB,SAden3yB,EAefsga,YACAn9Y,IAVU,SAACivF,EAASv3G,EAAO3C,GAC3B,IAAMou0B,EAAuBhma,EAAUluT,EAASl6G,GAEhD,OADoB2C,EAAQyr0B,EAAuBzr0B,EAAQyr0B,EAAuB,CAEpF,EAQF,CAEYzoF,CAAU,SAAU,SAAAzroB,GAC9B,IAAMuoW,EAAMvoW,EAAQuoW,IACpB,OAAO+6U,GAAOtjrB,GAAWuoW,EAAI1ic,wBAAwBoC,OAASsgc,EAAIrpO,YACpE,GAGMi1lB,GAAc,WAAH,OAAShyC,GAAavpD,QAAQvptB,SAAU,EAEnD+kzB,GAAS,SAACrpY,EAAYt0I,GAE1B,OADcs0I,EAAWn2a,KAAK6hS,GACjBojb,KAAK9mL,EAAS,IAAK,SAAAxkjB,GAC9B,IAAM+gD,EAASy7Y,EAAW70H,MAAM3nU,GAC1BqiI,EAAOwjsB,GAAOrpY,EAAYz7Y,GAChC,MAAO,CAAC/gD,GAAG3D,OAAOgmI,EACpB,EACF,EAaIyjsB,GAA0Blt0B,OAAO8X,OAAO,CACxC43C,UAAW,KACXjiC,KATS,SAAA6hS,GACX,IAAIxkQ,EAEJ,OADgBwkQ,EAAI8xJ,MAAQl5b,SAAW8pwB,EAAS/gX,OAAS+gX,EAASxquB,KAAoC,QAA9BsD,EAAKwkQ,EAAI8xJ,IAAIgN,mBAAqC,IAAZtja,OAAqB,EAAIA,EAAG4sV,eAC3HtmY,IAAI4pxB,GAAavpD,QAClC,EAMI1ia,MALU,SAAAl2N,GAAO,OAAIwirB,GAAgBxirB,EAAS,IAQ5C9nF,GAAO,SAAA8nF,GACX,IAAMy2M,EAAM09gB,KACN5olB,EAASw6iB,GAAMtve,GACfyjI,EArBO,SAACl6U,EAAS+qV,GACvB,IAAMh1Y,EAAIg1Y,EAAW70H,MAAMl2N,GAC3B,OAAOo0tB,GAAOrpY,EAAYh1Y,EAC5B,CAkBiBu+wB,CAAOt0tB,EAASq0tB,IACzBzpzB,EAASslO,GAASlwI,GAClBhtD,EAAIonuB,GAAMlgW,EAAQ,SAACvrb,EAAGD,GAC1B,IAAMioV,EAAMzmG,GAASxhP,GACrB,MAAO,CACL0W,KAAMzW,EAAEyW,KAAOuxU,EAAIvxU,KACnBE,IAAK3W,EAAE2W,IAAMqxU,EAAIrxU,IAErB,EAAG,CACDF,KAAM,EACNE,IAAK,IAEP,OAAOsgxB,GAAc5yuB,EAAE5tC,KAAOwF,EAAOxF,KAAOmmO,EAAOnmO,KAAM4tC,EAAE1tC,IAAMsF,EAAOtF,IAAMimO,EAAOjmO,IACvF,EAEMivzB,GAAqB,SAAAv0tB,GAAO,MAAsB,aAAlB/5G,GAAK+5G,EAAwB,EA+C7Dw0tB,GAAa,SAACx0tB,EAASy0tB,GAC3B,IAAMvqxB,EAl6QS,SAAA81D,GACf,IAAMy2M,EAAMz2M,EAAQuoW,IAAI9uC,cAClBx3W,EAAOw0P,EAAIx0P,KACXq8H,EAAMm4H,EAAI8+J,YACVngG,EAAO3+D,EAAInnS,gBACjB,GAAI2yC,IAAS+9C,EAAQuoW,IACnB,OAAOq9U,GAAc3juB,EAAK/vB,WAAY+vB,EAAKhwB,WAE7C,IAAM25M,EAAYi6iB,GAAmBvnmB,aAAsC,EAAIA,EAAInuK,YAAailW,EAAKxpI,WAC/FC,EAAag6iB,GAAmBvnmB,aAAsC,EAAIA,EAAIruK,YAAamlW,EAAKvpI,YAChG2kjB,EAAY3K,GAAmBzwa,EAAKo7a,UAAWvuuB,EAAKuuuB,WACpDD,EAAa1K,GAAmBzwa,EAAKm7a,WAAYtuuB,EAAKsuuB,YAC5D,OAAOrgjB,GAASlwI,GAAS2rF,UAAUkgD,EAAa0kjB,EAAY3kjB,EAAY4kjB,EAC1E,CAq5QckkC,CAAS10tB,GACf/3F,EAjGM,SAAA+3F,GAAO,OAAIo7B,GAAIxtI,IAAIoyG,EAAS,CAiGzB/gB,CAAM+gB,GACrB,MAAO,CACLA,UACAz6F,OAAQ2kC,EAAI5kC,IAAM2C,EAClBA,SACAiiC,MACA4kS,QAAS2lf,EAEb,EACME,GAAiB,SAAC30tB,EAASp1F,GAC/B,IAAM4qnB,EAnDQ,SAACx1hB,EAASp1F,GACxB,IAAMy7D,EAAWy8sB,GAAW9irB,GAC5B,GAAwB,IAApB35B,EAASz+E,QAAgB2s0B,GAAmBv0tB,GAC9C,MAAO,CACLA,UACAp1F,UAEG,GAAIA,EAASy7D,EAASz+E,SAAW2s0B,GAAmBluvB,EAASz7D,IAClE,MAAO,CACLo1F,QAAS35B,EAASz7D,GAClBA,OAAQ,GAGV,IAAMukC,EAAOk3B,EAASA,EAASz+E,OAAS,GACxC,OAAI2s0B,GAAmBplxB,GACd,CACL6wD,UACAp1F,UAGiB,QAAf3kB,GAAKkpD,GACA,CACL6wD,QAAS7wD,EACTvkC,OAAQ,GAED81wB,GAASvxuB,GACX,CACL6wD,QAAS7wD,EACTvkC,OAAQu+wB,GAAMh6uB,GAAMvnD,QAGf,CACLo4G,QAAS7wD,EACTvkC,OAAQk4wB,GAAW3zuB,GAAMvnD,OAKnC,CAaqB+7xB,CAAQ3jrB,EAASp1F,GAC9Bq5N,EAAOk+iB,GAAa1pD,SAAS,2EAEnC,OADAmsD,GAASpvJ,EAAWx1hB,QAASikI,GACtBuwlB,GAAWvwlB,EAAM,kBAAMghjB,GAAShhjB,EAAK,EAC9C,EAEM2wlB,GAAa,SAACtrB,EAAQ/6yB,EAAGkpb,EAAKyuW,GAClC2uC,GAAavrB,EAAQ,SAACl4vB,EAAIsiU,GAAE,OAAKohd,GAAgBxrB,EAAQ/6yB,EAAGkpb,EAAKyuW,EAAW,EAAEzuW,EAChF,EACMs9Y,GAAmB,SAACzrB,EAAQ7yf,EAAKloT,EAAG1F,EAAQq9xB,GAChD,IAAM34xB,EAAO,CACXqrB,IAAK/vB,EAAOm3G,QAAQuoW,IACpB29U,eAtE4B,SAACojB,EAAQ/7yB,GAEvC,OADoB+7yB,EAAO5iyB,SAAS,iBAAkBnZ,GACnCszrB,oBACrB,EAqEMm0I,CAAwB1rB,EAAQ/7yB,KAIpCgB,EAAE+6yB,EAAQ7yf,EADQsve,GAAMtve,GAAKnxS,IACHzc,EAAQq9xB,GAxEC,SAACojB,EAAQ/7yB,GAC5C+7yB,EAAO5iyB,SAAS,sBAAuBnZ,EACzC,CAuEE0n0B,CAA6B3rB,EAAQ/7yB,GACvC,EACMun0B,GAAkB,SAACxrB,EAAQ/6yB,EAAGkpb,EAAKyuW,GACvC,IAAMjkuB,EAAOkguB,GAAavpD,QAAQ0wE,EAAO50D,WACnCj+b,EAAM0re,GAAavpD,QAAQ0wE,EAAOzyD,UACjC50rB,EAvlRasmZ,IAAIp6T,YAwlRxB,IAAMtlJ,EAAS8r0B,GAAexyC,GAAavpD,QAAQnhT,EAAI4jT,gBAAiB5jT,EAAIghH,aAC5Es8R,GAAiBzrB,EAAQ7yf,EAAKloT,EAAG1F,EAAQq9xB,GACzCr9xB,EAAOimV,SACT,EACMomf,GAAc,SAAC5rB,EAAQtpsB,EAASzxG,EAAG23xB,GACvC,IAAMzve,EAAM0re,GAAavpD,QAAQ0wE,EAAOzyD,UACxCk+E,GAAiBzrB,EAAQ7yf,EAAKloT,EA1BV,SAAAyxG,GAAO,OAAIw0tB,GAAWryC,GAAavpD,QAAQ54nB,GAAU6T,EAAM,CA0B9CshtB,CAAcn1tB,GAAUkmrB,EAC3D,EACM2uC,GAAe,SAACvrB,EAAQ/6yB,EAAGkpb,GAC/B,IAAM44R,EAAe54R,EAAI4jT,eACnB5iM,EAAchhH,EAAIghH,YAClB28R,EAAa39Y,EAAI6jT,aACjBC,EAAY9jT,EAAI8jT,UACtBhtuB,EAAE4zxB,GAAavpD,QAAQvoB,GAAe8xE,GAAavpD,QAAQw8F,IAC3D,IAAMrnB,EAASzE,EAAO/gW,IAAI46V,YAC1B4K,EAAOr1W,SAAS23Q,EAAc53K,GAC9Bs1Q,EAAOp1W,OAAOy8X,EAAY75F,GAC1B+tE,EAAOx8hB,UAAUkqe,OAAOv/T,EAC1B,EACM49Y,GAAiB,SAAC/rB,EAAQzgzB,EAAQys0B,EAAYpvC,EAAYzve,GAC9D,IAAMvsQ,EAAMrhD,EAAOqhD,IACnB,GAAIg8uB,EACFlgtB,GAAG97B,EAAI9kC,KAAM8kC,EAAI5kC,IAAKmxS,OACjB,CACL,IAAMt4S,EAAI+rC,EAAI5kC,IAAMgwzB,EAAazs0B,EAAOof,OACxC+9D,IAAIsjuB,EAAO50D,UAAU7uuB,wBAAwBT,KAAMjH,EAAGs4S,EACxD,CACF,EACM8+gB,GAAqB,SAACjsB,EAAQ7yf,EAAK7qE,EAAW0plB,EAAYzs0B,EAAQq9xB,GACtE,IAAMsvC,EAAiBF,EAAa1plB,EAC9B6plB,EAAY5s0B,EAAOqhD,IAAI5kC,IACvBowzB,EAAe7s0B,EAAO0c,OACtBowzB,EAAqBD,EAAeD,GAAaH,EACvD,GAAIG,EAAY7plB,EACdyplB,GAAe/rB,EAAQzgzB,EAAQys0B,GAA2B,IAAfpvC,EAAsBzve,QAC5D,GAAIg/gB,EAAYD,EAAgB,CAErCH,GAAe/rB,EAAQzgzB,EAAQys0B,EADjBK,GAAoC,IAAfzvC,GAAsC,IAAfA,EACRzve,EACpD,MAAWi/gB,EAAeF,IAAmBG,GAC3CN,GAAe/rB,EAAQzgzB,EAAQys0B,GAA2B,IAAfpvC,EAAqBzve,EAEpE,EACMm/gB,GAAa,SAACtsB,EAAQ7yf,EAAK7qE,EAAW/iP,EAAQq9xB,GAClD,IAAMovC,EAAa//W,GAAY9+J,GAAK8xJ,IAAIx0b,YACxCwhzB,GAAmBjsB,EAAQ7yf,EAAK7qE,EAAW0plB,EAAYzs0B,EAAQq9xB,EACjE,EACM2vC,GAAY,SAACvsB,EAAQ7yf,EAAK7qE,EAAW/iP,EAAQq9xB,GACjD,IAAM4vC,EAAkBvgX,GAAY9+J,GAAK8xJ,IAAIx0b,YAC7CwhzB,GAAmBjsB,EAAQ7yf,EAAK7qE,EAAWkqlB,EAAiBjt0B,EAAQq9xB,GACpE,IAAMvylB,EAAKz7K,GAAKrvB,EAAOm3G,SACjB+1tB,EAAiB3vC,GAAUr7xB,QAC7B4oM,EAAGruL,IAAMywzB,EAAe53zB,EAC1B8nxB,GAASp9xB,EAAOm3G,SAAwB,IAAfkmrB,GAChBvylB,EAAGruL,IAAMywzB,EAAexwzB,QACjC0gxB,GAASp9xB,EAAOm3G,SAAwB,IAAfkmrB,EAE7B,EACM8vC,GAAkB,SAAC1sB,EAAQ7xX,EAAKyuW,GAAU,OAAK0uC,GAAWtrB,EAAQssB,GAAYn+Y,EAAKyuW,EAAY,EAC/F+vC,GAAoB,SAAC3sB,EAAQtpsB,EAASkmrB,GAAU,OAAKgvC,GAAY5rB,EAAQtpsB,EAAS41tB,GAAY1vC,EAAY,EAC1GgwC,GAAiB,SAAC5sB,EAAQ7xX,EAAKyuW,GAAU,OAAK0uC,GAAWtrB,EAAQusB,GAAWp+Y,EAAKyuW,EAAY,EAC7FiwC,GAAmB,SAAC7sB,EAAQtpsB,EAASkmrB,GAAU,OAAKgvC,GAAY5rB,EAAQtpsB,EAAS61tB,GAAW3vC,EAAY,EAKxGkwC,GAAsB,SAAC9sB,EAAQ7xX,EAAKyuW,IACvBojB,EAAO7hpB,OAASuuqB,GAAkBE,IAC1C5sB,EAAQ7xX,EAAKyuW,EACxB,EAEMmwC,GAAU,SAACr2tB,GAAO,IAAEs2tB,EAAalr0B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,IAAAA,UAAA,GAAQ,OAAK40G,EAAQuoW,IAAIt+a,MAAM,CACpEqsyB,iBACC,EACGC,GAAa,SAAAv2tB,GACjB,IAAMzuB,EAAO+7C,GAAYttB,GAASuoW,IAClC,OAAOvoW,EAAQuoW,MAAQh3X,EAAK02J,aAC9B,EACMuulB,GAAW,WAAH,IAAIjlvB,EAAInmF,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG+o0B,KAAa,OAAKh7C,EAASxquB,KAAK4iC,EAAKg3X,IAAItgO,eAAe1vO,IAAI4pxB,GAAavpD,QAAS,EAGrG69F,GAAU,SAAC7rzB,EAAQo1F,GACvB,IAAMjvF,EAAM2vwB,GAAS1grB,GAAWmprB,GAAMnprB,GAASp4G,OAASk7xB,GAAW9irB,GAASp4G,OAAS,EACrF,OAAIgjB,EAASmG,EACJA,EACEnG,EAAS,EACX,EAEFA,CACT,EACM8rzB,GAAe,SAAAj/Y,GAAG,OAAIi6Y,GAAap3Z,MAAMmd,EAAIh6a,MAAOg5zB,GAAQh/Y,EAAI+jT,QAAS/jT,EAAIh6a,OAAQg6a,EAAIlgb,OAAQk/zB,GAAQh/Y,EAAIgkT,QAAShkT,EAAIlgb,QAAS,EACnIo/zB,GAAe,SAACplvB,EAAM34D,GAAG,OAAMuuwB,GAAiBvuwB,EAAI2vb,OAASliW,GAAS90B,EAAM34D,IAAQo4D,GAAGO,EAAM34D,GAAM,EACnGg+yB,GAAc,SAAArlvB,GAAI,OAAI,SAAAkmW,GAAG,OAAIk/Y,GAAaplvB,EAAMkmW,EAAIh6a,QAAUk5zB,GAAaplvB,EAAMkmW,EAAIlgb,OAAQ,CAAD,EAE5Fs/zB,GAA8B,SAAA7jxB,GAAC,OAAI0+wB,GAAap3Z,MAAM6nX,GAAavpD,QAAQ5lrB,EAAEqorB,gBAAiBrorB,EAAEylf,YAAa0pP,GAAavpD,QAAQ5lrB,EAAEsorB,cAAetorB,EAAEuorB,UAAW,EAMhKob,GAAc,SAAAplqB,GAElB,OAPgB,SAAA+sG,GAChB,IAAMwuF,EAAYxuF,EAAI0kgB,eAEtB,OADal2a,GAAsC,IAAzBA,EAAUyjb,WAAqC4oF,EAASxquB,KAAKm+N,EAAUivd,WAAW,IAArDo9C,EAAS/gX,QACrD7/Z,IAAIs+zB,GACjB,CAGSC,CADKvhX,GAAYhkY,GACHg3X,KAAKpob,OAAOy2yB,GAAYrlvB,GAC/C,EAEMwlvB,GAAsB,SAAArV,GAC1B,IAAMjqY,EAAMpoa,SAAS8nb,cACrB,IAGE,OAFA1f,EAAIihB,SAASgpX,EAASjkzB,MAAM8qc,IAAKm5W,EAASlmF,SAC1C/jT,EAAIkhB,OAAO+oX,EAASnqzB,OAAOgxc,IAAKm5W,EAASjmF,SAClC09C,EAASpyvB,KAAK0wZ,EACvB,CAAE,MAAOzvW,GACP,OAAOmxsB,EAAS/gX,MAClB,CACF,EACMv8X,GAAQ,SAAAytwB,GACZ,IAAM0tB,EAvBY,SAAA1tB,GAAM,OAAIA,EAAO7hpB,QAAUu3nB,GAAIpvrB,QAAQwpoB,WAAY,CAuBjD69F,CAAY3tB,GAAU3yD,GAAYwrC,GAAavpD,QAAQ0wE,EAAO50D,YAAcykC,EAAS/gX,OACzGkxY,EAAOoY,SAAWsV,EAAY5+F,SAAW4+F,EAAc1tB,EAAOoY,QAChE,EACMlY,GAAS,SAAAF,GAEb,OADiBA,EAAOoY,SAAWpY,EAAOoY,SAAWvoC,EAAS/gX,QAC9CrqW,KAAK,SAAA7vD,GAAC,OAjBP,SAACqzE,EAAMmwuB,GAAQ,OAAKvoC,EAASxquB,KAAK+ywB,GAAUvhyB,OAAOy2yB,GAAYrlvB,IAAOh5E,IAAIm+zB,GAAc,CAiB7EnuhB,CAAS45e,GAAavpD,QAAQ0wE,EAAO50D,WAAYx2uB,EAAE,GAAE6vD,KAAKgpwB,GACtF,EASMG,GAAe,CACnBC,kBAL0B,SAAAv+yB,GAC1B,IAAMrD,EAAYqD,EAAIrD,UAAUruB,WAChC,OAAsC,IAA/BquB,EAAUntB,QAAQ,UAAiD,IAA/BmtB,EAAUntB,QAAQ,OAC/D,GAiBMgv0B,GAAQ,CACZC,iBAAkB,SAAC/tB,EAAQ5gzB,EAAUu5E,GACnC,OAdsB,SAACv5E,EAAUu5E,GAInC,OAHK8+C,EAAS9+C,KACZA,EAAO,GAEFztC,WAAW9rC,EAAUu5E,EAC9B,CASWq1vB,CAAkB,WAClBhuB,EAAOhjU,SACV59e,GAEJ,EAAGu5E,EACL,EACAs1vB,kBAAmB,SAACjuB,EAAQ5gzB,EAAUu5E,GACpC,IAAMnzD,EAfiB,SAACpmB,EAAUu5E,GAIpC,OAHK8+C,EAAS9+C,KACZA,EAAO,GAEFxG,YAAY/yE,EAAUu5E,EAC/B,CAUkBu1vB,CAAmB,WAC1BluB,EAAOhjU,QAGVzqa,cAAc/sD,GAFdpmB,GAIJ,EAAGu5E,GACH,OAAOnzD,CACT,GA4BI2ozB,GAAa,SAAAnuB,GACjB,IAAMouB,EAAiB7uB,GAAQ,WAC7BhtwB,GAAMytwB,EACR,EAAG,GACHA,EAAOlnuB,GAAG,OAAQ,WACZknuB,EAAO7hpB,QA3Ba,SAAC6hpB,EAAQouB,GACnC,IAAMC,EAAc,WAClBD,EAAepilB,UACjB,EACA+rjB,GAASoD,IAAI12uB,KAAK1+C,SAAU,UAAWsozB,GACvCruB,EAAOlnuB,GAAG,SAAU,WAClBi/tB,GAASoD,IAAIhqE,OAAOprtB,SAAU,UAAWsozB,EAC3C,EACF,CAoBMC,CAAoBtuB,EAAQouB,GAdL,SAACpuB,EAAQouB,IALd,SAACpuB,EAAQouB,GAC/BpuB,EAAOlnuB,GAAG,mBAAoB,SAAAsxS,GAC5Bgkd,EAAepilB,UACjB,EACF,CAEEuilB,CAAgBvuB,EAAQouB,GACxBpuB,EAAOlnuB,GAAG,0CAA2C,SAAAp8E,IAnB5B,SAAAA,GACzB,MAAkB,eAAXA,EAAEmD,MAAyBnD,EAAE8x0B,eACtC,EAkBSC,CAAmB/x0B,IACtB61C,GAAMytwB,EAEV,EACF,CASI0uB,CAAqB1uB,EAAQouB,EAC/B,GACApuB,EAAOlnuB,GAAG,SAAU,WAClBs1vB,EAAen8uB,QACjB,EACF,EAGM08uB,GAAQ52B,GAASoD,IAIjByzB,GAA6B,SAAAt/yB,GACjC,IAAMzF,EAAYyF,EAAIzF,UACtB,YAAkBrkB,IAAdqkB,IACKA,EAAUkzF,SAAS,kBAAoBlzF,EAAUkzF,SAAS,0BAA4BlzF,EAAUkzF,SAAS,oBAIpH,EACM8xtB,GAAc,SAAC7uB,EAAQ1wxB,GAC3B,IAAMw/yB,EAAiB/gB,GAAoB/N,GACrCh6vB,EAAS2oxB,GAAM55f,UAAUzlT,EAAK,SAAAA,GAClC,OAdsB,SAAAA,GACxB,OAAOwuwB,GAAYxuwB,IAAQs+yB,GAAaC,kBAAkBv+yB,EAC5D,CAYWu+yB,CAAkBv+yB,MAASw/yB,GAAiB9uB,EAAO/gW,IAAI1qa,GAAGjlB,EAAKw/yB,EACxE,GACA,OAAkB,OAAX9oxB,CACT,EACMiwD,GAAmB,SAAA+psB,GACvB,IACE,IAAM/3tB,EAAO+7C,GAAY60pB,GAAavpD,QAAQ0wE,EAAO/moB,eACrD,OAAOi0pB,GAASjlvB,GAAMsopB,KAAK,kBAAMxqtB,SAAS4yC,IAAI,EAAE,SAAA/jD,GAAC,OAAIA,EAAEqqc,GAAG,EAC5D,CAAE,MAAO70a,GACP,OAAOrkB,SAAS4yC,IAClB,CACF,EACMo2wB,GAAmB,SAACC,EAAety0B,GACvC,IAAMsjzB,EAAStjzB,EAAEsjzB,OACjBmuB,GAAWnuB,GACX,IAAMivB,EAA2B,SAACjvB,EAAQvzyB,GACpCgkzB,GAAuBzQ,KAA6B,IAAlBA,EAAO7hpB,QAE3C1xJ,EADoBosxB,GAAavpD,QAAQ0wE,EAAO/3Q,gBAChC,iBAEpB,EACA+3Q,EAAOlnuB,GAAG,UAAW,WACnB,IAAMo2vB,EAAgBF,EAAcE,cAChCN,GAA2B34tB,GAAiB+psB,KAC9CivB,EAAyBjvB,EAAQznB,IAE/B22C,IAAkBlvB,IAChBkvB,GACFA,EAAc9xzB,SAAS,OAAQ,CAC7B8xzB,cAAelvB,IAGnBgvB,EAAcG,UAAUnvB,GACxBgvB,EAAcE,cAAgBlvB,EAC9BA,EAAO5iyB,SAAS,QAAS,CACvBgyzB,cAAeF,IAEjBlvB,EAAOr/wB,OAAM,GAEjB,GACAq/wB,EAAOlnuB,GAAG,WAAY,WACpBg1vB,GAAMC,iBAAiB/tB,EAAQ,WAC7B,IAAMkvB,EAAgBF,EAAcE,cAC/BN,GAA2B34tB,GAAiB+psB,KAAYkvB,IAAkBlvB,GAC7EivB,EAAyBjvB,EAAQvnB,IAE9Bo2C,GAAY7uB,EAAQ/psB,GAAiB+psB,KAAYkvB,IAAkBlvB,IACtEA,EAAO5iyB,SAAS,OAAQ,CACtB8xzB,cAAe,OAEjBF,EAAcE,cAAgB,KAElC,EACF,GACKvE,KACHA,GAAyB,SAAAju0B,GACvB,IAAM2y0B,EAAeL,EAAcK,aAC/BA,GACFv1C,GAAuBp9xB,GAAG++D,KAAK,SAAA7yD,GAC7B,IAAMqgL,EAAOrgL,EACTqgL,EAAKknP,gBAAkBpqZ,WACrBkjK,IAASljK,SAAS4yC,MAASk2wB,GAAYQ,EAAcpmpB,IAAS+lpB,EAAcE,gBAAkBG,IAChGA,EAAajyzB,SAAS,OAAQ,CAC5B8xzB,cAAe,OAEjBF,EAAcE,cAAgB,MAGpC,EAEJ,EACAP,GAAMlqwB,KAAK1+C,SAAU,UAAW4kzB,IAEpC,EACM2E,GAA2B,SAACN,EAAety0B,GAC3Csy0B,EAAcE,gBAAkBxy0B,EAAEsjzB,SACpCgvB,EAAcE,cAAgB,OAE3BF,EAAcK,cAAgB1E,KACjCgE,GAAMx9F,OAAOprtB,SAAU,UAAW4kzB,IAClCA,GAAyB,KAE7B,EAQM4E,GAAoB,SAACtnvB,EAAMkmW,GAAG,OADX,SAAAA,GAAG,OAAIA,EAAIptL,UAAY8uhB,EAASxquB,KAAK+9vB,GAAUj1X,EAAI4jT,eAAgB5jT,EAAIghH,cAAclgiB,IAAI4pxB,GAAavpD,SAAWugD,EAAS/gX,MAAO,CACjH0ga,CAAiBrhZ,GAAK1pX,KAAK,SAAAne,GAClE,OAAI65uB,GAAe75uB,GACVupuB,EAASpyvB,KAAK6oB,GACXy2D,GAAS90B,EAAM3hC,GAGlBupuB,EAAS/gX,OAFT+gX,EAASpyvB,KAAKwqD,EAIzB,EAAG,EACGwnvB,GAAqB,SAACzvB,EAAQ7xX,GAClCohZ,GAAkB12C,GAAavpD,QAAQ0wE,EAAO50D,WAAYj9T,GAAK1pX,KAAK,SAAAn1C,GAClE,OAAOwoyB,GAAgBxoyB,EAAI2vb,IAC7B,GAAGsxR,KAAK,WACNyvE,EAAOx8hB,UAAUq8E,WACnB,EAAG,SAAA6ve,GAAQ,OAAI1vB,EAAOx8hB,UAAUkqe,OAAOgiF,EAASx8Z,UAAU,EAC5D,EACMy8Z,GAAY,SAAAh3wB,GAChB,GAAIA,EAAKw2wB,UACP,IACEx2wB,EAAKw2wB,WACP,CAAE,MAAO/kyB,GACPuuB,EAAKh4B,OACP,MAEAg4B,EAAKh4B,OAET,EACMivyB,GAAkB,SAAAtgzB,GAAG,OAAI29yB,GAAW39yB,KArQ3BonF,EAqQ0CpnF,EArQ/B49yB,GAASlpsB,GAAYttB,IAAU7/E,OAAO,SAAAn6B,GAAC,OAAIg6G,EAAQuoW,IAAIliW,SAASrgH,EAAEuid,IAAI,IAqQlC6vR,SArQ/C,IAAAp4nB,CAqQwD,EAUjEstK,GAAW,SAAAg8hB,GAAM,OAAIA,EAAO7hpB,OARX,SAAA6hpB,GACrB,IAAM6vB,EAAU7vB,EAAO50D,UACvB,OAAOykF,GAAWD,GAAgB/2C,GAAavpD,QAAQugG,GACzD,CAK2CC,CAAe9vB,GATnC,SAAAA,GAAM,OAAI/wB,EAAc+wB,EAAO+vB,gBAAkB9C,GAAWp0C,GAAavpD,QAAQ0wE,EAAO+vB,eAAgB,CAS3DC,CAAehwB,EAAQ,EACrFiwB,GAAqB,SAAAjwB,GAAM,OAAIh8hB,GAASg8hB,IAL3B,SAAAA,GACjB,IAAM7mB,EAAMn1pB,GAAY60pB,GAAavpD,QAAQ0wE,EAAO/moB,eACpD,OAAOi0pB,GAAS/zC,GAAKtiwB,OAAO,SAAAoyJ,GAAI,OAAK2lpB,GAA2B3lpB,EAAKg2R,MAAQ4vX,GAAY7uB,EAAQ/2nB,EAAKg2R,IAAI,GAAE6vR,QAC9G,CAEyDohG,CAAWlwB,EAAQ,EA+BtEmwB,GAAiB,SAAAnwB,GAAM,OAAIA,EAAOgvB,cAAcG,UAAUnvB,EAAQ,EAClEr/wB,GAAQ,SAACq/wB,EAAQowB,GACjBpwB,EAAOhjU,UAGPozV,EACFD,GAAenwB,GApCC,SAAAA,GAClB,IAAMx8hB,EAAYw8hB,EAAOx8hB,UACnB7qN,EAAOqnvB,EAAO50D,UAChBj9T,EAAM3qK,EAAU08hB,SACpBF,EAAOqwB,OAAOC,yBACVrhD,EAAc+wB,EAAOoY,YAAcp0iB,GAASg8hB,IAC9CE,GAAOF,GAAQvkvB,KAAK,SAAA80wB,GAClBvwB,EAAOx8hB,UAAUkqe,OAAO6iF,GACxBpiZ,EAAMoiZ,CACR,GAEF,IAAMC,EApDuB,SAACxwB,EAAQ15vB,GAAI,OAAK05vB,EAAO/gW,IAAIlqI,UAAUzuR,EAAM,SAAAA,GAAI,MAA4C,SAAxC05vB,EAAO/gW,IAAIi7V,mBAAmB5zvB,EAAgB,EAAE,CAoDtGmqxB,CAAuBzwB,EAAQx8hB,EAAUyxd,WACrE,GAAIu7F,GAAuBxwB,EAAO/gW,IAAIhqN,UAAUu7kB,EAAqB73wB,GAInE,OAHAg3wB,GAAUa,GACVf,GAAmBzvB,EAAQ7xX,QAC3BgiZ,GAAenwB,GAGZA,EAAO7hpB,SACLu3nB,GAAIpvrB,QAAQupoB,WACf8/F,GAAUh3wB,GAEZqnvB,EAAOxtE,SAAS7xsB,UAEd+0vB,GAAIpvrB,QAAQwpoB,aAAekwE,EAAO7hpB,UACpCwxqB,GAAUh3wB,GACV82wB,GAAmBzvB,EAAQ7xX,IAE7BgiZ,GAAenwB,EACjB,CASI0wB,CAAY1wB,GAEhB,EAEM2wB,GAAkB,SAAC1xX,EAAK9wB,GAC5B,OAAIA,EAAIptL,UACCk+M,EAAIm9V,WAAWjuX,EAAI4jT,gBAEnB9yR,EAAIm9V,WAAWjuX,EAAI4jT,iBAAmB9yR,EAAIm9V,WAAWjuX,EAAI6jT,aAEpE,EAEM4+F,GAAqB,SAAC3ovB,EAAMkmW,EAAKh6a,EAAOiiZ,EAAMxvZ,GAClD,IAAMmzF,EAAY5lF,EAAQg6a,EAAI4jT,eAAiB5jT,EAAI6jT,aAC7C1wtB,EAASnN,EAAQg6a,EAAIghH,YAAchhH,EAAI8jT,UAC7C,OAAO49C,EAASxquB,KAAK00C,GAAW9qF,IAAI4pxB,GAAavpD,SAASrguB,IAAI,SAAAqgB,GAAG,OAAK8mY,GAAS+3B,EAAIptL,UAA4DzxO,EAAhD4wD,GAAQ5wD,EAAK1oB,EAAQ0oB,EAAKhO,IAAS2ttB,MAAM3/sB,EAAU,GAAEm1C,KAAK,SAAAn1C,GAAG,OAAI6nwB,GAAY7nwB,GAAOugwB,EAASpyvB,KAAKnO,GAAO02B,GAAO12B,GAAKuH,OAAOsgwB,GAAY,GAAEloxB,IAAI,SAAAqgB,GAAG,OAAIA,EAAI2vb,GAAG,GAAEgwR,MAAMhnpB,EACrQ,EACMoqpB,GAAW,SAACpqpB,EAAMkmW,GAAiB,OAAKyiZ,GAAmB3ovB,EAAMkmW,GAAK,EAA3Crsb,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,IAAAA,UAAA,GAAuD,SAACwtB,EAAKhO,GAAM,OAAK9E,KAAKgL,IAAIiywB,GAAgBnqwB,GAAMhO,EAAO,EAAE,EAC3IuvzB,GAAW,SAAC5ovB,EAAMkmW,GAAiB,OAAKyiZ,GAAmB3ovB,EAAMkmW,GAAK,EAA3Crsb,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,IAAAA,UAAA,GAAwD,SAACwtB,EAAKhO,GAAM,OAAKA,EAAS,EAAIA,EAAS,EAAIA,CAAM,EAAE,EACtIwvzB,GAAqB,SAACxqxB,EAAMm8vB,GAEhC,IADA,IAAMloS,EAAOj0d,EACNA,GAAQm4uB,GAASn4uB,IAAyB,IAAhBA,EAAKhoD,QACpCgoD,EAAOm8vB,EAAWn8vB,EAAKu+T,YAAcv+T,EAAK0kY,gBAE5C,OAAO1kY,GAAQi0d,CACjB,EAuEMw2T,GAAgB,SAAC/wB,EAAQga,GAAM,OAAKvpC,GAAMupC,EAAQ,SAAAhpZ,GACtD,IAAMrrM,EAAMq6kB,EAAO5iyB,SAAS,oBAAqB,CAC/C4zZ,UAEF,OAAOrrM,EAAIqrM,QAAUA,EAAQrrM,EAAIqrM,MAAQA,CAC3C,EAAG,EAKGgga,GAA6B,CAAC,MAAO,MACrCC,GAAmB,SAAAhopB,GACvB,IAAMiopB,EAJmChiG,GAIcjmjB,GAJApyJ,OAAO,SAAApC,GAAI,OAA2B,IAAvBA,EAAKqiC,OAAOx4D,QAAgBm2B,EAAK31B,QAAQ2gyB,KAAS,CAAC,GAAE3wD,SAK3H,OAAOoiG,GAAqB1gD,GAAWwgD,GAA4Br00B,GAAKssL,KAJzC,SAAAA,GAAI,OAAIiumB,GAAgBjumB,IAA4C,UAAnC0umB,GAAM1umB,EAAM,kBAA+B,CAIzBkopB,CAAyBlopB,EAC7G,EAIMmopB,GAAgB,SAAC3lgB,EAAO1lO,GAC5B,IAAMs0rB,EAAU,SAAA3jrB,GAEd,IADA,IAAM35B,EAAWy8sB,GAAW9irB,GACnB73G,EAAIk+E,EAASz+E,OAAS,EAAGO,GAAK,EAAGA,IAAK,CAC7C,IAAMohF,EAAQlD,EAASl+E,GACvB,GAAIknG,EAAU9lB,GACZ,OAAO4vsB,EAASpyvB,KAAKwiD,GAEvB,IAAMhvB,EAAMopuB,EAAQp6sB,GACpB,GAAIhvB,EAAI69qB,SACN,OAAO79qB,CAEX,CACA,OAAO4+tB,EAAS/gX,MAClB,EACA,OAAOurX,EAAQ5ud,EACjB,EAEM4lgB,GAAuB,2BACvBC,GAAW,SAACtxB,EAAQhvY,GACxB,GAAIuga,GAAO14C,GAAavpD,QAAQ0wE,EAAO50D,YAAY5U,SAAU,CAC3D,IAAMvtrB,EAAU4vuB,GAAa1pD,SAAS,8DAA+D6wE,EAAOzyD,UAC5GiuC,GAASvyuB,EAAS4vuB,GAAavpD,QAAQt+T,EAAMi1X,oBAC7Cj1X,EAAM80Y,WAAW78vB,EAAQg2Z,KACzBj5Z,GAAOiD,GAASwS,KAAK,SAAAnsC,GAAG,OAAIA,EAAI2vb,IAAIp/G,WAAW,IAzBtCnpP,EA0BJztD,EA1BemoxB,GAAc16tB,EAASu6tB,KA0B7Bhi0B,IAAI,SAAA42C,GAChBm6vB,EAAOx8hB,UAAUgujB,kBAAkB3rxB,EAAKo5Z,IArC/B,SAAAvoW,GAAO,MAAsB,QAAlB/5G,GAAK+5G,GAAqB,EAAIw4nB,GAAUx4nB,GAAS65nB,KAAK,kBAAMipD,GAAW9irB,GAASp4G,MAAM,EAAE,SAAAqmD,GAAC,OAAIA,EAAErmD,MAAM,EAAE,CAqC9Euo0B,CAAOhhxB,GACtD,EACF,CA7BW,IAAA6wD,CA8Bb,EAEM66tB,GAAS,SAAAjizB,GAAG,OAAIirwB,GAAajrwB,EAAK+hzB,GAAsB,EAOxDI,GAAa,CACjB,QAAS,EACT,WAAY,EACZ,SAAU,EACV,MAAO,EACP,WAAY,GACZ,qBAAsB,IAElBC,GAAS,SAACprxB,EAAM2hC,EAAMh8E,GAC1B,IAAMyxxB,EAAYzxxB,EAAO,YAAc,aACjC0xxB,EAAc1xxB,EAAO,OAAS,OACpC,GAAIq6C,EAAKo3uB,GACP,OAAOp3uB,EAAKo3uB,GAEd,GAAIp3uB,IAAS2hC,EAAM,CACjB,IAAIsrmB,EAAUjtoB,EAAKq3uB,GACnB,GAAIpqG,EACF,OAAOA,EAET,IAAK,IAAIvtoB,EAASM,EAAKN,OAAQA,GAAUA,IAAWiiC,EAAMjiC,EAASA,EAAOA,OAExE,GADAutoB,EAAUvtoB,EAAO23uB,GAEf,OAAOpqG,CAGb,CAEF,EACMo+I,GAAkB,SAAArrxB,GACtB,IAAIqC,EACEl0B,EAA6B,QAArBk0B,EAAKrC,EAAKnnD,aAA+B,IAAZwpD,EAAgBA,EAAK,GAChE,IAAKm6uB,GAAiBruwB,GACpB,OAAO,EAET,IAAMojF,EAAavxD,EAAKN,OACxB,OAAI6xD,GAAmC,SAApBA,EAAWl7G,OAAmBk7G,EAAW5nC,KAAK,WAAa,SAAS1vE,KAAKk0B,EAI9F,EACMmlxB,GAAoB,SAAAtzvB,GACxB,IAAMq9uB,EAA8B,MAAdr9uB,EAAK3pD,OAAiB2pD,EAAK2pB,KAAK,SAAW3pB,EAAK2pB,KAAK,MAC3E,OAAO3pB,EAAK2pB,KAAK,SAAW3pB,EAAK2pB,KAAK,QAAU3pB,EAAKwvG,YAAcxvG,EAAK2pB,KAAK,sBAAwB0ztB,CACvG,EACMiuC,GAAO,WAUX,SAAAA,EAAYj10B,EAAMkD,GAAMoY,EAAA,KAAA25zB,GACtB9x0B,KAAKnD,KAAOA,EACZmD,KAAKD,KAAOA,EACC,IAATA,IACFC,KAAK0yI,WAAa,GAClB1yI,KAAK0yI,WAAWvjI,IAAM,CAAC,EAE3B,CAAC,OAAA2J,EAAAg5zB,EAAA,EAAAxw0B,IAAA,UAAAjC,MACD,SAAQmnD,GACN,IAAMl/C,EAAOtH,KAMb,OALIwmD,EAAKN,QACPM,EAAKr9B,SAEP7hB,EAAK8kJ,OAAO5lG,EAAMl/C,GAClBA,EAAK6hB,SACE7hB,CACT,GAAC,CAAAhG,IAAA,OAAAjC,MACD,SAAKxC,EAAMwC,GACT,IAAMiI,EAAOtH,KACb,IAAKgzE,EAASn2E,GAMZ,OALIsyxB,EAActyxB,IAChB60xB,GAAO70xB,EAAM,SAACwC,EAAOiC,GACnBgG,EAAK6oE,KAAK7uE,EAAKjC,EACjB,GAEKiI,EAET,IAAMy9R,EAAQz9R,EAAKorI,WACnB,GAAIqyJ,EAAO,CACT,QAAcr/R,IAAVrG,EAAqB,CACvB,GAAc,OAAVA,EAAgB,CAClB,GAAIxC,KAAQkoS,EAAM51R,IAAK,QACd41R,EAAM51R,IAAItS,GAEjB,IADA,IAAIkC,EAAIgmS,EAAMvmS,OACPO,KACL,GAAIgmS,EAAMhmS,GAAGlC,OAASA,EAEpB,OADAkoS,EAAMjmQ,OAAO//B,EAAG,GACTuI,CAGb,CACA,OAAOA,CACT,CACA,GAAIzK,KAAQkoS,EAAM51R,KAEhB,IADA,IAAIpQ,EAAIgmS,EAAMvmS,OACPO,KACL,GAAIgmS,EAAMhmS,GAAGlC,OAASA,EAAM,CAC1BkoS,EAAMhmS,GAAGM,MAAQA,EACjB,KACF,OAGF0lS,EAAMjhS,KAAK,CACTjH,OACAwC,UAIJ,OADA0lS,EAAM51R,IAAItS,GAAQwC,EACXiI,CACT,CACA,OAAOy9R,EAAM51R,IAAItS,EACnB,CAEF,GAAC,CAAAyE,IAAA,QAAAjC,MACD,WACE,IAAMiI,EAAOtH,KACPyN,EAAQ,IAAIqk0B,EAAQxq0B,EAAKzK,KAAMyK,EAAKvH,MACpCgy0B,EAAYzq0B,EAAKorI,WACvB,GAAIq/rB,EAAW,CACb,IAAMC,EAAa,GACnBA,EAAW7i0B,IAAM,CAAC,EAClB,IAAK,IAAIpQ,EAAI,EAAG09C,EAAIs1xB,EAAUvz0B,OAAQO,EAAI09C,EAAG19C,IAAK,CAChD,IAAMkz0B,EAAWF,EAAUhz0B,GACL,OAAlBkz0B,EAASp10B,OACXm10B,EAAWA,EAAWxz0B,QAAU,CAC9B3B,KAAMo10B,EAASp10B,KACfwC,MAAO4y0B,EAAS5y0B,OAElB2y0B,EAAW7i0B,IAAI8i0B,EAASp10B,MAAQo10B,EAAS5y0B,MAE7C,CACAoO,EAAMilI,WAAas/rB,CACrB,CAEA,OADAvk0B,EAAMpO,MAAQiI,EAAKjI,MACZoO,CACT,GAAC,CAAAnM,IAAA,OAAAjC,MACD,SAAK8pD,GACH,IAAM7hD,EAAOtH,KAKb,OAJIsH,EAAK4+C,SACP5+C,EAAK4+C,OAAOkmG,OAAOjjG,EAAS7hD,GAC5B6hD,EAAQ+sG,OAAO5uJ,IAEVA,CACT,GAAC,CAAAhG,IAAA,SAAAjC,MACD,WAEE,IADA,IAAMiI,EAAOtH,KACJwmD,EAAOl/C,EAAK0uJ,WAAYxvG,GAAO,CACtC,IAAMp6C,EAAOo6C,EAAKp6C,KAClB9E,EAAK8kJ,OAAO5lG,EAAMl/C,GAAM,GACxBk/C,EAAOp6C,CACT,CACA9E,EAAK6hB,QACP,GAAC,CAAA7nB,IAAA,SAAAjC,MACD,WACE,IAAMiI,EAAOtH,KACXkmD,EAAS5+C,EAAK4+C,OACd95C,EAAO9E,EAAK8E,KACZD,EAAO7E,EAAK6E,KAoBd,OAnBI+5C,IACEA,EAAO8vG,aAAe1uJ,GACxB4+C,EAAO8vG,WAAa5pJ,EAChBA,IACFA,EAAKD,KAAO,OAELA,IACTA,EAAKC,KAAOA,GAEV85C,EAAOy4D,YAAcr3G,GACvB4+C,EAAOy4D,UAAYxyG,EACfA,IACFA,EAAKC,KAAO,OAELA,IACTA,EAAKD,KAAOA,GAEd7E,EAAK4+C,OAAS5+C,EAAK8E,KAAO9E,EAAK6E,KAAO,MAEjC7E,CACT,GAAC,CAAAhG,IAAA,SAAAjC,MACD,SAAOmnD,GACL,IAAMl/C,EAAOtH,KACTwmD,EAAKN,QACPM,EAAKr9B,SAEP,IAAM48B,EAAOz+C,EAAKq3G,UASlB,OARI54D,GACFA,EAAK35C,KAAOo6C,EACZA,EAAKr6C,KAAO45C,EACZz+C,EAAKq3G,UAAYn4D,GAEjBl/C,EAAKq3G,UAAYr3G,EAAK0uJ,WAAaxvG,EAErCA,EAAKN,OAAS5+C,EACPk/C,CACT,GAAC,CAAAllD,IAAA,SAAAjC,MACD,SAAOmnD,EAAM0rxB,EAASrhrB,GAChBrqG,EAAKN,QACPM,EAAKr9B,SAEP,IAAM+8B,EAASgsxB,EAAQhsxB,QAAUlmD,KAqBjC,OApBI6wJ,GACEqhrB,IAAYhsxB,EAAO8vG,WACrB9vG,EAAO8vG,WAAaxvG,EACX0rxB,EAAQ/l0B,OACjB+l0B,EAAQ/l0B,KAAKC,KAAOo6C,GAEtBA,EAAKr6C,KAAO+l0B,EAAQ/l0B,KACpBq6C,EAAKp6C,KAAO8l0B,EACZA,EAAQ/l0B,KAAOq6C,IAEX0rxB,IAAYhsxB,EAAOy4D,UACrBz4D,EAAOy4D,UAAYn4D,EACV0rxB,EAAQ9l0B,OACjB8l0B,EAAQ9l0B,KAAKD,KAAOq6C,GAEtBA,EAAKp6C,KAAO8l0B,EAAQ9l0B,KACpBo6C,EAAKr6C,KAAO+l0B,EACZA,EAAQ9l0B,KAAOo6C,GAEjBA,EAAKN,OAASA,EACPM,CACT,GAAC,CAAAllD,IAAA,SAAAjC,MACD,SAAOxC,GAGL,IAFA,IACMi5jB,EAAa,GACVtvgB,EAFIxmD,KAEQg2J,WAAYxvG,EAAMA,EAAOorxB,GAAOprxB,EAFxCxmD,MAGPwmD,EAAK3pD,OAASA,GAChBi5jB,EAAWhyjB,KAAK0iD,GAGpB,OAAOsvgB,CACT,GAAC,CAAAx0jB,IAAA,WAAAjC,MACD,WAGE,IAFA,IACMy2jB,EAAa,GACVtvgB,EAFIxmD,KAEQg2J,WAAYxvG,EAAMA,EAAOA,EAAKp6C,KACjD0pjB,EAAWhyjB,KAAK0iD,GAElB,OAAOsvgB,CACT,GAAC,CAAAx0jB,IAAA,QAAAjC,MACD,WACE,IAAMiI,EAAOtH,KACb,GAAIsH,EAAK0uJ,WAAY,CAEnB,IADA,IAAM98C,EAAQ,GACL1yD,EAAOl/C,EAAK0uJ,WAAYxvG,EAAMA,EAAOorxB,GAAOprxB,EAAMl/C,GACzD4xG,EAAMp1G,KAAK0iD,GAGb,IADA,IAAIznD,EAAIm6G,EAAM16G,OACPO,KAAK,CACV,IAAMynD,EAAO0yD,EAAMn6G,GACnBynD,EAAKN,OAASM,EAAKwvG,WAAaxvG,EAAKm4D,UAAYn4D,EAAKp6C,KAAOo6C,EAAKr6C,KAAO,IAC3E,CACF,CAEA,OADA7E,EAAK0uJ,WAAa1uJ,EAAKq3G,UAAY,KAC5Br3G,CACT,GAAC,CAAAhG,IAAA,UAAAjC,MACD,SAAQ66I,GAAuC,IACzCrxF,EADYspxB,EAAUnw0B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAGikG,EAASjkG,UAAAxD,OAAA,EAAAwD,UAAA,QAAA0D,EAEpC4B,EAAOtH,KACTwmD,EAAOl/C,EAAK0uJ,WAChB,GAAI8jpB,GAAkBxyyB,GACpB,OAAO,EAET,GAAIk/C,EACF,EAAG,CACD,GAAkB,IAAdA,EAAKzmD,KAAY,CACnB,GAAIymD,EAAK2pB,KAAK,kBACZ,SAEF,GAAI+pE,EAAS1zF,EAAK3pD,MAChB,OAAO,EAET,GAAIi9yB,GAAkBtzvB,GACpB,OAAO,CAEX,CACA,GAAkB,IAAdA,EAAKzmD,KACP,OAAO,EAET,GAAkB,IAAdymD,EAAKzmD,OAAe8x0B,GAAgBrrxB,GACtC,OAAO,EAET,GAAkB,IAAdA,EAAKzmD,MAAcymD,EAAKN,QAAUisxB,EAAW3rxB,EAAKN,OAAOrpD,OAASmmyB,GAAuC,QAArBn6uB,EAAKrC,EAAKnnD,aAA+B,IAAZwpD,EAAgBA,EAAK,IACxI,OAAO,EAET,GAAIo9C,GAAaA,EAAUz/C,GACzB,OAAO,CAEX,OAASA,EAAOorxB,GAAOprxB,EAAMl/C,IAE/B,OAAO,CACT,GAAC,CAAAhG,IAAA,OAAAjC,MACD,SAAK8M,GACH,OAAOyl0B,GAAO5x0B,KAAM,KAAMmM,EAC5B,IAAC,EAAA7K,IAAA,SAAAjC,MA7PD,SAAcxC,EAAMkoS,GAClB,IAAMv+O,EAAO,IAAIsrxB,EAAQj10B,EAAM800B,GAAW900B,IAAS,GAMnD,OALIkoS,GACF2sf,GAAO3sf,EAAO,SAAC1lS,EAAO2uT,GACpBxnQ,EAAK2pB,KAAK69O,EAAU3uT,EACtB,GAEKmnD,CACT,IAAC,CATU,GAiQP4rxB,GAAuBl8C,GAAMC,QAAQ,8DAA+D,KACpGk8C,GAAe,SAAA7rxB,GAAI,OAAIwsB,EAASxsB,EAAKukU,YAAcvkU,EAAKukU,UAAU/yW,SAAS+oxB,GAAQ,EACnFuxC,GAA2B,SAAAC,GAAS,MAAI,GAAG/w0B,OAA4B,IAArB+w0B,EAAU/z0B,OAAe,GAAK,GAAGgD,OAAOmvxB,GAAM4hD,EAAW,SAAApiwB,GAAI,MAAI,IAAI3uE,OAAO2uE,EAAM,IAAI,GAAErkB,KAAK,KAAM,KAAM,yBAA4B,EAEvL0mxB,GAA0B,SAAA35wB,GAAI,OAAI5yC,SAASm0a,iBAAiBvhY,EAAMwhY,WAAW67S,aAAc,SAAA1vrB,GAAI,OAAI6rxB,GAAa7rxB,GAAQ6zY,WAAW+7S,cAAgB/7S,WAAWo4Y,WAAW,EAAE,EAC3KC,GAAgC,SAAA75wB,GAAI,OAAI5yC,SAASm0a,iBAAiBvhY,EAAMwhY,WAAW2hT,UAAW,SAAAx1rB,GAClG,GAAI6rxB,GAAa7rxB,GAAO,CACtB,IAAMN,EAASM,EAAKuxD,WACpB,OAAO7xD,GAAUksuB,GAAMggD,GAAsBlsxB,EAAOmzD,UAAYghV,WAAW+7S,cAAgB/7S,WAAWo4Y,WACxG,CACE,OAAOp4Y,WAAWo4Y,WAEtB,EAAG,EACGE,GAAiB,SAAA95wB,GAAI,OAAiD,OAA7C25wB,GAAwB35wB,GAAM0hY,UAAoB,EAC3Eq4Y,GAAuB,SAAA/5wB,GAAI,OAAuD,OAAnD65wB,GAA8B75wB,GAAM0hY,UAAoB,EACvFs4Y,GAAmB,SAACN,EAAW15wB,GAAI,OAAiE,OAA5DA,EAAKx2C,cAAciwzB,GAAyBC,GAAqB,EACzGO,GAAqB,SAACP,EAAW15wB,GACrC+3tB,GAdwB,SAAC2hD,EAAW15wB,GAAI,OAAKA,EAAK+gD,iBAAiB04tB,GAAyBC,GAAY,CAcjGQ,CAAkBR,EAAW15wB,GAAO,SAAArpC,GACzC,IAAMonF,EAAUmirB,GAAavpD,QAAQhgtB,GACI,QAArCqowB,GAAMjhrB,EAAS,kBACjBilrB,GAASjlrB,GAETg6qB,GAAO2hD,EAAW,SAAApiwB,GACZ4ntB,GAAMnhrB,EAASzmC,IACjB6ntB,GAASphrB,EAASzmC,EAEtB,EAEJ,EACF,EACM6iwB,GAA6B,SAAA3uC,GAEjC,IADA,IAAIpmH,EAAOomH,EAAO9pW,WACF,OAAT0jP,GACLA,EAAKlzT,UAAY,KACjBkzT,EAAOomH,EAAO9pW,UAElB,EACM04Y,GAAoB5jD,EAAQ2jD,GAA4BR,IACxDU,GAA0B7jD,EAAQ2jD,GAA4BN,IAC9DS,GAAS,SAACt6wB,EAAM05wB,GACpB,IAAMa,EAAmB,CAAC,CACxB/puB,UAAW0hd,EAAM8nR,GAAkBN,GACnCjszB,OAAQykiB,EAAM+nR,GAAoBP,IACjC,CACDlpuB,UAAWspuB,GACXrszB,OAAQ2szB,IACP,CACD5puB,UAAWupuB,GACXtszB,OAAQ4szB,KAENG,EAAUx6wB,EACVohiB,GAAS,EAab,OAZA22L,GAAOwiD,EAAkB,SAAAvqzB,GAGlB,IAFLwgF,EAASxgF,EAATwgF,UACA/iF,EAAMuC,EAANvC,OAEI+iF,EAAUgquB,KACPp5O,IACHo5O,EAAUx6wB,EAAKosO,WAAU,GACzBg1T,GAAS,GAEX3zkB,EAAO+szB,GAEX,GACOA,CACT,EAEMC,GAAuB,SAAAptxB,GAC3B,IAAMqtxB,EAAgBhzpB,GAAYr6H,EAAQ,oBAC1C0quB,GAAO2iD,EAAe,SAAApqpB,GAED,QADA0umB,GAAM1umB,EAAM,kBAE7B0ymB,GAAS1ymB,GACA82mB,GAAO92mB,IAChBqymB,GAASrymB,EAAM4vmB,GAAaxpD,SAASmwD,KACrC7D,GAAS1ymB,IAETo5U,GAAOp5U,EAEX,EACF,EACMqqpB,GAAoB,SAAAttxB,GACxB,IAAMutxB,EAASlzpB,GAAYr6H,EAAQ,SACnC0quB,GAAO6iD,EAAQ,SAAA3vwB,GACbk0tB,GAASl0tB,EAAO,OAClB,EACF,EAOM4vwB,GAAsB,SAACxzB,EAAQrnvB,GACnC,IAAMw0P,EAAM6yf,EAAOzyD,SACb4rC,EAAMn1pB,GAAY60pB,GAAavpD,QAAQ0wE,EAAO50D,YAC9CqoF,EAAe56C,GAAazpD,QAAQ,MAAOjib,GACjDsqe,GAAMg8C,EAAc,iBAAkB,OACtCtqZ,GAAOsqZ,EAAc,CACnBxzzB,SAAU,QACVnE,KAAM,aACNE,IAAK,MAEP81E,GAAM2hvB,EAAc96wB,EAAKpuB,WACzB6oyB,GAAqBK,GACrBH,GAAkBG,GAClB,IAAMxrvB,EA7qToB,SAAAkxsB,GAAG,OAAIlta,GAAakta,GAAOA,EAAMN,GAAavpD,QAAQ4pD,GAAgBC,GAAKl6U,IAAItmZ,KAAM,CA6qTlG+6wB,CAAoBv6C,GACjCqC,GAASvzsB,EAAMwrvB,GACf,IAAM9uzB,EAAUo8wB,GAAO0yC,EAAax0X,IAAIv0a,WAExC,OADAixvB,GAAS83C,GACF9uzB,CACT,EACMgvzB,GAAqB,SAAC3zB,EAAQnsyB,EAAM8kD,GACxC,IAAIh0C,EAWJ,OATEA,EADkB,QAAhB9Q,EAAKuhX,OACG4ga,GAAMl/tB,KAAKiquB,GAAOkyC,GAAOt6wB,EAAMqnvB,EAAOt5yB,WAAWkt0B,gBAAgBrpyB,YAClD,SAAhB12B,EAAKuhX,OACJo+c,GAAoBxzB,EAAQrnvB,GACb,SAAhB9kD,EAAKuhX,OACJ4qb,EAAOt5yB,WAAWxH,UAAUy5D,EAAM9kD,GA/BtB,SAACmsyB,EAAQl0b,GACjC,IAAMsnc,EAAY9H,GAAmBtL,GAC/B6zB,EAAc,IAAIxrwB,OAAO,MAAM/mE,OAAO8xzB,EAAW,gDAAgD9xzB,OAAO8xzB,EAAW,+BACzH,OAAOtnc,EAAKvsW,QAAQs0zB,EAAa,GACnC,CA6BcC,CAAkB9zB,EAAQA,EAAOt5yB,WAAWxH,UAAUy5D,EAAM9kD,IAErC,SAAhBA,EAAKuhX,SAAsBira,GAAoBxH,GAAavpD,QAAQ32qB,KAClEma,EAASnuD,GAAWqxwB,GAAMl/tB,KAAKnyC,GAAWA,CACjE,EAGMovzB,GAAY/9C,GAAMC,QAClBvuH,GAAS,SAAAh1F,GACb,IAAM5mN,EAAO,GAEPp6B,GADNghP,EAAWA,GAAY,CAAC,GACAhhP,OAClBsif,EAAeD,GAAUrhQ,EAASuhQ,eAAiB,IACnDC,EAAcH,GAAUrhQ,EAASyhQ,cAAgB,IACjDlwwB,EAAS2muB,GAASE,cAAcp4N,EAAS0hQ,iBAAmB,MAAO1hQ,EAASg4N,UAC5E2pC,EAAyC,UAA5B3hQ,EAAS4hQ,eAC5B,MAAO,CACLng0B,MAAO,SAACxX,EAAMkoS,EAAO39O,GACnB,GAAIwqS,GAAUsif,EAAar30B,IAASmvX,EAAKxtX,OAAS,EAAG,CACnD,IAAMa,EAAQ2sX,EAAKA,EAAKxtX,OAAS,GAC7Ba,EAAMb,OAAS,GAAe,OAAVa,GACtB2sX,EAAKloX,KAAK,KAEd,CAEA,GADAkoX,EAAKloX,KAAK,IAAKjH,GACXkoS,EACF,IAAK,IAAIhmS,EAAI,EAAG09C,EAAIsoP,EAAMvmS,OAAQO,EAAI09C,EAAG19C,IAAK,CAC5C,IAAMoxE,EAAO40N,EAAMhmS,GACnBitX,EAAKloX,KAAK,IAAKqsE,EAAKtzE,KAAM,KAAMsnE,EAAOgM,EAAK9wE,OAAO,GAAO,IAC5D,CAOF,GAJE2sX,EAAKA,EAAKxtX,SADP4oD,GAASmtxB,EACQ,IAEA,MAElBntxB,GAASwqS,GAAUwif,EAAYv30B,IAASmvX,EAAKxtX,OAAS,EAAG,CAC3D,IAAMa,EAAQ2sX,EAAKA,EAAKxtX,OAAS,GAC7Ba,EAAMb,OAAS,GAAe,OAAVa,GACtB2sX,EAAKloX,KAAK,KAEd,CACF,EACAwQ,IAAK,SAAAzX,GACH,IAAIwC,EACJ2sX,EAAKloX,KAAK,KAAMjH,EAAM,KAClB+0V,GAAUwif,EAAYv30B,IAASmvX,EAAKxtX,OAAS,IAC/Ca,EAAQ2sX,EAAKA,EAAKxtX,OAAS,IACjBA,OAAS,GAAe,OAAVa,GACtB2sX,EAAKloX,KAAK,KAGhB,EACA6wB,KAAM,SAACA,EAAMy+b,GACPz+b,EAAKn2B,OAAS,IAChBwtX,EAAKA,EAAKxtX,QAAU40d,EAAMz+b,EAAOwvC,EAAOxvC,GAE5C,EACA8/yB,MAAO,SAAA9/yB,GACLq3V,EAAKloX,KAAK,YAAa6wB,EAAM,MAC/B,EACA3X,QAAS,SAAA2X,GACPq3V,EAAKloX,KAAK,UAAQ6wB,EAAM,SAC1B,EACAssZ,GAAI,SAACpkb,EAAM83B,GACLA,EACFq3V,EAAKloX,KAAK,KAAMjH,EAAM,IAAKsnE,EAAOxvC,GAAO,MAEzCq3V,EAAKloX,KAAK,KAAMjH,EAAM,MAEpB+0V,GACFo6B,EAAKloX,KAAK,KAEd,EACA6qc,QAAS,SAAAh6a,GACPq3V,EAAKloX,KAAK,YAAa6wB,EAAM,IAAKi9T,EAAS,KAAO,GACpD,EACA+5G,MAAO,WACL3/E,EAAKxtX,OAAS,CAChB,EACAyhS,WAAY,WACV,OAAO+rF,EAAKlgU,KAAK,IAAIrsC,QAAQ,MAAO,GACtC,EAEJ,EAEMi1zB,GAAiB,WAAuC,IAAtC9hQ,EAAQ5wkB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAGohB,EAAMphB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG2ryB,KACxCgnC,EAAS/sK,GAAOh1F,GACtBA,EAASzzR,WAAW,aAAcyzR,IAAWA,EAASzzR,SAuGtD,MAAO,CACL//S,UAvGgB,SAAAonD,GAChB,IAAM24P,EAAWyzR,EAASzzR,SACpBn/N,EAAW,CACf,EAAG,SAAAx5B,GACD,IAAIqC,EACJ8rxB,EAAOhgzB,KAA2B,QAArBk0B,EAAKrC,EAAKnnD,aAA+B,IAAZwpD,EAAgBA,EAAK,GAAIrC,EAAK4sa,IAC1E,EACA,EAAG,SAAA5sa,GACD,IAAIqC,EACJ8rxB,EAAO33zB,QAA8B,QAArB6rC,EAAKrC,EAAKnnD,aAA+B,IAAZwpD,EAAgBA,EAAK,GACpE,EACA,EAAG,SAAArC,GACDmuxB,EAAO1zZ,GAAGz6X,EAAK3pD,KAAM2pD,EAAKnnD,MAC5B,EACA,GAAI,SAAAmnD,GACF,IAAIqC,EACJ8rxB,EAAOhmY,QAA8B,QAArB9lZ,EAAKrC,EAAKnnD,aAA+B,IAAZwpD,EAAgBA,EAAK,GACpE,EACA,EAAG,SAAArC,GACD,IAAIqC,EACJ8rxB,EAAOF,MAA4B,QAArB5rxB,EAAKrC,EAAKnnD,aAA+B,IAAZwpD,EAAgBA,EAAK,GAClE,EACA,GAAI,SAAArC,GACF,IAAIq8uB,EAAWr8uB,EACf,GAAIq8uB,EAAWA,EAAS7soB,WACtB,GACEugoB,EAAKsM,SACEA,EAAWA,EAASz2xB,KAEjC,GAEFuo0B,EAAOhpY,QACP,IAAM4qV,EAAO,SAAA/vuB,GACX,IAAIqC,EACEV,EAAU63B,EAASx5B,EAAKzmD,MAC9B,GAAKooD,EAuDHA,EAAQ3B,OAvDI,CACZ,IAAM3pD,EAAO2pD,EAAK3pD,KACZ+/B,EAAU//B,KAAQumB,EAAO0uxB,kBAC3B/sgB,EAAQv+O,EAAKksF,WACjB,GAAIysK,GAAYpa,GAASA,EAAMvmS,OAAS,EAAG,CACzC,IAAMo20B,EAAc,GACpBA,EAAYzl0B,IAAM,CAAC,EACnB,IAAM0l0B,EAAczxzB,EAAO6txB,eAAezqvB,EAAK3pD,MAC/C,GAAIg40B,EAAa,CACf,IAAK,IAAI910B,EAAI,EAAG09C,EAAIo4xB,EAAY7oC,gBAAgBxtyB,OAAQO,EAAI09C,EAAG19C,IAAK,CAClE,IAAMivT,EAAW6mhB,EAAY7oC,gBAAgBjtyB,GAC7C,GAAIivT,KAAYjpB,EAAM51R,IAAK,CACzB,IAAM+suB,EAAYn3c,EAAM51R,IAAI6+S,GAC5B4mhB,EAAYzl0B,IAAI6+S,GAAYkub,EAC5B04F,EAAY9w0B,KAAK,CACfjH,KAAMmxT,EACN3uT,MAAO68uB,GAEX,CACF,CACA,IAAK,IAAIn9uB,EAAI,EAAG09C,EAAIsoP,EAAMvmS,OAAQO,EAAI09C,EAAG19C,IAAK,CAC5C,IAAMivT,EAAWjpB,EAAMhmS,GAAGlC,KAC1B,KAAMmxT,KAAY4mhB,EAAYzl0B,KAAM,CAClC,IAAM+suB,EAAYn3c,EAAM51R,IAAI6+S,GAC5B4mhB,EAAYzl0B,IAAI6+S,GAAYkub,EAC5B04F,EAAY9w0B,KAAK,CACfjH,KAAMmxT,EACN3uT,MAAO68uB,GAEX,CACF,CACAn3c,EAAQ6viB,CACV,CACF,CAEA,GADAD,EAAOtg0B,MAAMxX,EAAMkoS,EAAOnoQ,GACtB2nwB,GAAyB1nyB,GACvBm2E,EAASxsB,EAAKnnD,QAChBs10B,EAAOhgzB,KAAK6xB,EAAKnnD,OAAO,GAE1Bs10B,EAAOrg0B,IAAIzX,QAEX,IAAK+/B,EAAS,CACZ,IAAIujD,EAAQ35B,EAAKwvG,WACjB,GAAI71E,EAAO,CACK,QAATtjF,GAA2B,aAATA,GAAuC,IAAfsjF,EAAMpgF,MAAkF,QAA5C,QAAtB8oD,EAAKs3B,EAAM9gF,aAA+B,IAAZwpD,OAAqB,EAAIA,EAAG,KAC7H8rxB,EAAOhgzB,KAAK,MAAM,GAEpB,GACE4hwB,EAAKp2sB,SACEA,EAAQA,EAAM/zE,KACzB,CACAuo0B,EAAOrg0B,IAAIzX,EACb,CAEJ,CAGF,EAQA,OAPkB,IAAd2pD,EAAKzmD,MAAe6ykB,EAASn8F,MAER,IAAdjwb,EAAKzmD,KACdigF,EAAS,GAAGx5B,GAEZw5B,EAAS,IAAIx5B,GAJb+vuB,EAAK/vuB,GAMAmuxB,EAAO10iB,YAChB,EAIF,EAEM60iB,GAAuB,IAAItuwB,IAG/BoqtB,GADgC,CAAC,SAAU,cAAe,eAAgB,aAAc,gBAAiB,UAAW,eAAgB,gBAAiB,cAAe,iBAAkB,SAAU,eAAgB,eAAgB,eAAgB,aAAc,wBAAyB,kBAAmB,mBAAoB,mBAAoB,oBAAqB,sBAAuB,oBAAqB,kBAAmB,QAAS,WAAY,OAAQ,QAAS,MAAO,SAAU,UAAW,UAAW,YAAa,QAAS,YAAa,YAAa,SAAU,aAAc,aAAc,WAAY,aAAc,aAAc,gBAAiB,iBAAkB,aAAc,mBAAoB,sBAAuB,sBAAuB,8BACpsB,SAAA1wwB,GAC9B40zB,GAAqBtn0B,IAAI0S,EAC3B,GAEF,IAAM60zB,GAAsB,CAAC,OAAQ,kBAAmB,iBAClDC,GAAgB,SAAC71X,EAAK34Z,GAAI,OAAK7iD,GAAKw7c,EAAIg8V,WAAWh8V,EAAIm5V,UAAU9xvB,EAAM,UAAW,EAElFyuxB,GAAuB,SAAC91X,EAAK34Z,GAAI,OAAK4trB,GAAO4gG,GAAc71X,EAAK34Z,GAAO,SAAAtmC,GAAK,OADpD,SAAAA,GAAK,OAAI40zB,GAAqBxw0B,IAAI4b,EAAO,CACgBg1zB,CAAsBh1zB,EAAM,EAAE,EAE/Gi1zB,GAAmB,SAACh2X,EAAK34Z,EAAMuxD,GACnC,IAAMq9tB,EAAiBJ,GAAc71X,EAAK34Z,GACpC6uxB,EAAuBL,GAAc71X,EAAKpnW,GAC1Cu9tB,EAAgB,SAAA7h0B,GACpB,IAAIo1C,EAAIigU,EACFiC,EAAgD,QAAnCliU,EAAKs2Z,EAAI45V,SAASvyvB,EAAM/yC,UAA+B,IAAZo1C,EAAgBA,EAAK,GAC7E0sxB,EAAwD,QAAzCzsd,EAAKq2F,EAAI45V,SAAShhsB,EAAYtkG,UAA+B,IAAZq1W,EAAgBA,EAAK,GAC3F,OAAOmqH,GAAWloH,IAAckoH,GAAWsiW,IAAgBxqd,IAAcwqd,CAC3E,EACA,OAAOl/W,GAAO++W,EAAgB,SAAAI,GAC5B,IAAMC,EAAa,SAAA9oyB,GAAK,OAAI0pb,GAAO1pb,EAAO,SAAAl5B,GAAI,OAAIA,IAAS+h0B,CAAa,EAAE,EAC1E,IAAKC,EAAWJ,IAAyBI,EAAWV,IAAsB,CACxE,IAAMW,EAbkB,SAAAn1zB,GAAM,OAAIwwwB,GAASxwwB,EAAQ,SAAAL,GAAK,OAAIm2c,GAAO0+W,GAAqB,SAAAth0B,GAAI,OAAI5P,GAAWqc,EAAOzM,EAAK,EAAC,EAAE,CAapGki0B,CAAsBN,GAC5C,OAAOh/W,GAAOq/W,EAAeJ,EAC/B,CACE,OAAOA,EAAcE,EAEzB,EACF,EAEMI,GAAS,SAACluB,EAASzhtB,EAAWnlD,GAAG,OAAKivuB,EAASxquB,KAAKzE,EAAIm5C,aAAaljE,OAAO4nwB,IAAUtoU,OAAO,SAAA1hc,GACjG,IAAMmxE,EAAQ4htB,EAAU,GAAK,EAC7B,OAAOzhtB,EAAUtxE,EAAKxwB,KAAKu0C,OAAOoI,EAAIt/B,SAAWskF,GACnD,EAAG,EACG+vuB,GAAgB9qR,EAAM6qR,IAAQ,EAAM3kf,IACpC6kf,GAAe/qR,EAAM6qR,IAAQ,EAAO3kf,IACpC8kf,GAAc,SAAAj1xB,GAClB,IAAMm5C,EAAYn5C,EAAIm5C,YACtB,OAAO0ksB,GAAS1ksB,KAAyC,IAA1BA,EAAU91F,KAAK3F,QAAgBwiyB,GAAS/msB,EAAU91F,OAASg+zB,GAAgBhE,eAAelkuB,EAAU8d,YACrI,EACMi+tB,GAAyB,SAACnlrB,EAAQ5qD,GAAS,OAAK,SAAAnlD,GAAG,OAAIi0wB,GAA6BlkqB,EAAS,GAAK,EAAG/vG,GAAK/pB,OAAOkvE,GAAW+ooB,QAAS,CAAD,EACpIinG,GAAe,SAAAzvxB,GAAI,OAAIy4uB,GAAMz4uB,IAA0D,UAAjD00uB,GAAMnC,GAAavpD,QAAQhprB,GAAO,UAAuB,EAC/F0vxB,GAAY,SAAA1vxB,GAAI,OAAI24uB,GAAyB34uB,KAn6S9B,SAAAA,GAAI,OAAIw3uB,GAAYx3uB,IAAiD,QAAxCA,EAAKqwD,aAAa,iBAA4B,CAm6SnCs/tB,CAAa3vxB,EAAM,EAC1E4vxB,GAAqBJ,IAAuB,EAAMC,IAClDI,GAAoBL,IAAuB,EAAOC,IAClDK,GAAgBN,IAAuB,EAAM12C,IAC7Ci3C,GAAeP,IAAuB,EAAO12C,IAC7Ck3C,GAAgBR,IAAuB,EAAMx3C,IAC7Ci4C,GAAeT,IAAuB,EAAOx3C,IAC7Ck4C,GAA+BV,IAAuB,EAAME,IAC5DS,GAA8BX,IAAuB,EAAOE,IAY5D3jT,GAAU,SAACl+gB,EAAO8zE,GAAI,OATP,SAAC9zE,EAAO8zE,EAAM8d,GACjC,OAAIgX,GAAS90B,EAAM9zE,GACDilxB,GAAUjlxB,EAAO,SAAAmb,GAC/B,OAAOy2E,EAAUz2E,IAAQo4D,GAAGp4D,EAAK24D,EACnC,GALsBvzE,MAAM,GAAI,GAOzB,EAEX,CACiCgi0B,CAAavi0B,EAAO8zE,EAAM2nsB,EAAO,EAC5D+mD,GAAiB,SAACxi0B,EAAO8zE,GAAI,MAAK,CAAC9zE,GAAO7S,OAAO+whB,GAAQl+gB,EAAO8zE,GAAO,EAEvE2uvB,GAA+B,SAACpvB,EAASv/tB,EAAM5iC,GAAI,OAAKmywB,GAAehQ,EAASv/tB,EAAM5iC,EAAMwwxB,GAAa,EAEzGgB,GAAoB,SAAC5uvB,EAAMrnC,EAAK19B,GAAM,OAAK+twB,GAAO0lD,GAAe99C,GAAavpD,QAAQ1urB,EAAIm5C,aAAc9R,GAD5F,SAAA/kE,GAAM,OAAI,SAAAwa,GAAE,OAAIxa,EAAOuixB,QAAQ9oyB,GAAK+gC,GAAK,CAAD,CAC2Do5yB,CAAU5zzB,GAAS,EAClI6zzB,GAA+B,SAACvvB,EAASv/tB,EAAMrnC,EAAK19B,GAAM,OAAK0zzB,GAA6BpvB,EAASv/tB,EAAKg3X,IAAKr+Z,GAAKszrB,OAAO,SAAA8iG,GAAM,OAAIH,GAAkB5uvB,EAAMrnC,EAAK19B,GAAQqttB,KAAK,kBAAOmkF,GAAcsiB,EAAQp2xB,EAAKqnC,EAAKg3X,IAAI,EAAE,SAAAg4X,GAAS,OAAKviB,GAAcsiB,EAAQp2xB,EAAKqnC,EAAKg3X,MAAQliW,GAASk6tB,EAAWp+C,GAAavpD,QAAQ0nG,EAAOj9uB,aAAa,EAAC,EAAE,EAClVm9uB,GAAoB,SAAC1vB,EAASv/tB,EAAMrnC,EAAK19B,GAAM,OAAK2zzB,GAAkB5uvB,EAAMrnC,EAAK19B,GAAQqttB,KAAK,kBAAMqmG,GAA6BpvB,EAASv/tB,EAAKg3X,IAAKr+Z,GAAKszrB,OAAO,SAAA8iG,GAAM,OAAKtiB,GAAcsiB,EAAQp2xB,EAAKqnC,EAAKg3X,IAAI,EAAC,EAAE,SAAAj5Z,GAAM,OAAI4wxB,GAA6BpvB,EAASxhwB,EAAOi5Z,IAAKr+Z,GAAK41rB,QAAQ,EAAE,EAC7R2gG,GAAmBtsR,EAAMqsR,IAAmB,GAC5CE,GAAiBvsR,EAAMqsR,IAAmB,GAC1CG,GAAgBxsR,EAAMksR,IAA8B,GACpDO,GAAezsR,EAAMksR,IAA8B,GAEnDQ,GAAS,SAAA32xB,GAAG,OAAIg1wB,GAAuBh1wB,GAAKu1a,OAAO4pU,GAAQ,EAC3Dy3C,GAAS,SAAChwB,EAASv/tB,EAAMrnC,EAAK19B,GAClC,IAAMu0zB,EAAe5mD,GAAS8lD,GAAe99C,GAAavpD,QAAQ1urB,EAAIm5C,aAAc9R,GAAO,SAAAvqD,GAAE,OAAIxa,EAAOuixB,QAAQ9oyB,GAAK+gC,GAAI,GACnH+tS,EAAQ7lR,GAAK6xxB,GAAcxoG,MAAMhnpB,GACvC,OAAOsvuB,GAAa/P,EAAS/7e,EAAMwzI,IAAKr+Z,GAAK/pB,OAAO0gzB,GACtD,EACMG,GAAe,SAACzvvB,EAAMrnC,EAAK19B,GAAM,OAAK0yyB,GAAuBh1wB,GAAKu1a,OAAO4pU,KAAWy3C,IAAO,EAAMvvvB,EAAMrnC,EAAK19B,GAAQ4rtB,QAAS,EAC7H6oG,GAAY,SAAC1vvB,EAAMrnC,EAAK19B,GAAM,OAjmHD,SAAA09B,GAAG,OAAIivuB,EAASxquB,KAAKzE,EAAIq0rB,SAAQ,IAAOhmuB,IAAI4pxB,GAAavpD,QAAS,CAimH5DsoG,CAA2Bh3xB,GAAKu1a,OAAO4pU,KAAWy3C,IAAO,EAAOvvvB,EAAMrnC,EAAK19B,GAAQ4rtB,QAAS,EAC/H+oG,GAAiBhtR,EAAM2sR,IAAQ,GAC/BM,GAAajtR,EAAM2sR,IAAQ,GAE3BO,GAAmB,SAAAn3xB,GAAG,OAAI2kwB,GAAcG,eAAe9kwB,KAASA,EAAI0gvB,cAAgB1gvB,EAAI4gvB,SAAU,EAClGw2C,GAAkB,SAAC/vvB,EAAMrnC,EAAK19B,GAClC,IAAMu0zB,EAAe5mD,GAAS8lD,GAAe99C,GAAavpD,QAAQ1urB,EAAIm5C,aAAc9R,GAAO,SAAAvqD,GAAE,OAAIxa,EAAOuixB,QAAQ9oyB,GAAK+gC,GAAI,GACzH,OAAOkoB,GAAK6xxB,GAAcxoG,MAAMhnpB,EAClC,EACMgwvB,GAAiB,SAAChwvB,EAAMrnC,EAAK19B,GACjC,OAAI60zB,GAAiBn3xB,GACZg1xB,GAAah1xB,GAEbg1xB,GAAah1xB,IAAQi3wB,GAAamgB,GAAgB/vvB,EAAMrnC,EAAK19B,GAAQ+7b,IAAKr+Z,GAAKu1a,OAAOy/W,GAEjG,EACMsC,GAAgB,SAACjwvB,EAAMrnC,EAAK19B,GAChC,OAAI60zB,GAAiBn3xB,GACZ+0xB,GAAc/0xB,GAEd+0xB,GAAc/0xB,IAAQg3wB,GAAaogB,GAAgB/vvB,EAAMrnC,EAAK19B,GAAQ+7b,IAAKr+Z,GAAKu1a,OAAOw/W,GAElG,EAEMwC,GAAU,SAAAv3xB,GAAG,OAAIg1wB,GAAuBh1wB,GAAK6jB,KAAK,SAAAn1C,GAAG,OAAI6qwB,GAAU7qwB,EAAK6nwB,GAAY,GAAEhhU,OAAO,SAAA7mc,GAAG,OADnF,SAAAnwB,GAAK,OAAIqxxB,GAAW,CAAC,MAAO,YAAarxxB,EAAO,CACuCi50B,CAAWp9C,GAAM1rwB,EAAK,eAAe,EAAE,EAG3I+ozB,GAAmB,SAACpwvB,EAAMrnC,EAAK19B,GAAM,OAFf,SAAC+kE,EAAMrnC,GAAG,OAAKi3wB,GAAa5vuB,EAAKg3X,IAAKr+Z,GAAK41rB,QAAS,CAEhC8hG,CAAoBrwvB,EAAMrnC,IADpD,SAACqnC,EAAMrnC,GAAG,OAAKg3wB,GAAa3vuB,EAAKg3X,IAAKr+Z,GAAK41rB,QAAS,CACQ+hG,CAActwvB,EAAMrnC,IAAQu2xB,GAAiBlvvB,EAAMrnC,EAAK19B,IAAWk0zB,GAAenvvB,EAAMrnC,EAAK19B,IAAWy0zB,GAAU1vvB,EAAMrnC,EAAK19B,IAAWw0zB,GAAazvvB,EAAMrnC,EAAK19B,EAAQ,EAEpPs1zB,GAAoB,SAACvwvB,EAAMrrE,GAAS,OAAK,SAAAm9E,GAC7C,OAFiBzzC,EAEC,IAAI+2uB,GAActjsB,EAAW9R,GAAMrrE,KAF5BqywB,EAAc3ouB,IAAS24uB,GAAyB34uB,IAASwtwB,GAAYxtwB,GAA7E,IAAAA,CAGnB,CAAE,EAWImyxB,GAAkB,SAACxwvB,EAAMrnC,EAAK19B,GAClC,OAAIi1zB,GAAQv3xB,KAGHy3xB,GAAiBpwvB,EAAMrnC,EAAK19B,IAAW+0zB,GAAehwvB,EAAMrnC,EAAK19B,IAAWg1zB,GAAcjwvB,EAAMrnC,EAAK19B,GAEhH,EACMw1zB,GAAoB,SAACzwvB,EAAMrnC,EAAK19B,GACpC,OAAIi1zB,GAAQv3xB,KAGHu2xB,GAAiBlvvB,EAAMrnC,EAAK19B,IAAWm0zB,GAAcpvvB,EAAMrnC,EAAK19B,IAAWy0zB,GAAU1vvB,EAAMrnC,EAAK19B,IAAW+0zB,GAAehwvB,EAAMrnC,EAAK19B,IAhBxH,SAAC+kE,EAAMrnC,GAC7B,IAAM+3xB,EAAU9gB,GAAa5vuB,EAAKg3X,IAAKr+Z,GAAKqurB,MAAMrurB,GAC5Cg4xB,EAAiBJ,GAAkBvwvB,EAAKg3X,IAAK,QACnD,OAAOr+Z,EAAI0gvB,cAAgBs3C,EAAeh4xB,EAAIm5C,cAAgB6+uB,EAAeD,EAAQ5+uB,aACvF,CAY2J8+uB,CAAgB5wvB,EAAMrnC,GAEjL,EAUMk4xB,GAAqB,SAAC7wvB,EAAMrnC,EAAK19B,GACrC,OAAIi1zB,GAAQv3xB,KAGHw2xB,GAAenvvB,EAAMrnC,EAAK19B,IAAWo0zB,GAAarvvB,EAAMrnC,EAAK19B,IAAWw0zB,GAAazvvB,EAAMrnC,EAAK19B,IAAWg1zB,GAAcjwvB,EAAMrnC,EAAK19B,IArCtH,SAAC+kE,EAAMrnC,GAC9B,IAAMm4xB,EAAUnhB,GAAa3vuB,EAAKg3X,IAAKr+Z,GAAKqurB,MAAMrurB,GAC5Co4xB,EAAiBR,GAAkBvwvB,EAAKg3X,IAAK,QACnD,OAAOr+Z,EAAI4gvB,YAAcw3C,EAAep4xB,EAAIm5C,cAAgBi/uB,EAAeD,EAAQh/uB,aACrF,CAiC0Jk/uB,CAAiBhxvB,EAAMrnC,GAEjL,EACMs4xB,GAAgB,SAACjxvB,EAAMrnC,EAAK19B,GAAM,OAAKw1zB,GAAkBzwvB,EAAMrnC,EAAK19B,IAAW41zB,GAAmB7wvB,EAhBtF,SAAArnC,GAChB,IAAMm5C,EAAYn5C,EAAIm5C,YAChBz4E,EAASs/B,EAAIt/B,SACnB,OAAIm9wB,GAAS1ksB,IAAcz4E,EAASy4E,EAAU91F,KAAK3F,OAC1CinzB,GAAcxrtB,EAAWz4E,EAAS,GAElCs/B,CAEX,CAQ8G40wB,CAAU50wB,GAAM19B,EAAQ,EAChIi2zB,GAAW,SAAC1kzB,EAAMnT,GAAM,OAAKu4yB,GAAOplyB,EAAK+jB,OAAOl3B,GAAS,EACzD83zB,GAAiB,SAAC3kzB,EAAMnT,GAAM,OAAKyvU,GAAat8T,EAAK+jB,OAAOl3B,GAAS,EAerE+3zB,GAAuB,SAACpxvB,EAAM3hC,EAAMgzxB,EAAUp2zB,GAClD,IAAMuR,EAAO6xB,EAAKriD,KACZs10B,EAAWh0B,GAAcj/vB,EAAM,GACrC,OAAKgzxB,IAAYH,GAAS1kzB,EAAM,IAAOykzB,GAAcjxvB,EAAMsxvB,EAAUr2zB,MAG1Do2zB,GAAYF,GAAe3kzB,EAAM,IAAMikzB,GAAkBzwvB,EAAMsxvB,EAAUr2zB,MAClFojC,EAAKriD,KAAOw7xB,GAAOhrwB,EAAK/f,MAAM,IACvB,IAJP4xC,EAAKriD,KAAO,IAAMwwB,EAAK/f,MAAM,IACtB,EAOX,EACM8k0B,GAAkC,SAAAlzxB,GACtC,IAAM7xB,EAAO6xB,EAAKriD,KACZ2wB,EAzBoB,SAAAH,GAC1B,IAAMiyiB,EAAQjyiB,EAAKgZ,MAAM,IACzB,OAAOgjvB,GAAM/pN,EAAO,SAAC7P,EAAKh4jB,GACxB,OAAIg7zB,GAAOhjQ,IAAQh4jB,EAAI,GAAKA,EAAI6nkB,EAAMpokB,OAAS,GAAKw7zB,GAAUpzP,EAAM7nkB,EAAI,KAAOi7zB,GAAUpzP,EAAM7nkB,EAAI,IAC1F,IAEAg4jB,CAEX,GAAGjrgB,KAAK,GACV,CAgBkB6txB,CAAoBhlzB,GACpC,OAAIG,IAAYH,IACd6xB,EAAKriD,KAAO2wB,GACL,EAIX,EACM8kzB,GAAqB,SAACzxvB,EAAM3hC,EAAMgzxB,EAAUp2zB,GAChD,IAAMuR,EAAO6xB,EAAKriD,KACZuhZ,EAAU+/Z,GAAcj/vB,EAAM7xB,EAAKn2B,OAAS,GAClD,OAAKg70B,IAAYH,GAAS1kzB,EAAMA,EAAKn2B,OAAS,IAAO460B,GAAcjxvB,EAAMu9T,EAAStiY,MAGvEo2zB,GAAYF,GAAe3kzB,EAAMA,EAAKn2B,OAAS,IAAMw60B,GAAmB7wvB,EAAMu9T,EAAStiY,MAChGojC,EAAKriD,KAAOwwB,EAAK/f,MAAM,GAAI,GAAK+qxB,IACzB,IAJPn5uB,EAAKriD,KAAOwwB,EAAK/f,MAAM,GAAI,GAAK,KACzB,EAOX,EACMil0B,GAAiB,SAAC1xvB,EAAMrnC,EAAK19B,GACjC,IAAM62E,EAAYn5C,EAAIm5C,YACtB,IAAK0ksB,GAAS1ksB,GACZ,OAAO81rB,EAAS/gX,OAElB,GAvDc,SAAAluX,GACd,IAAMm5C,EAAYn5C,EAAIm5C,YACtB,OAAO0ksB,GAAS1ksB,IAAcu5rB,GAAWv5rB,EAAU91F,KAAMw7xB,GAC3D,CAoDMm6C,CAAQh5xB,GAAM,CAChB,IAAMovE,EAAaqptB,GAAqBpxvB,EAAM8R,GAAW,EAAO72E,IAAWs2zB,GAAgCz/uB,IAAc2/uB,GAAmBzxvB,EAAM8R,GAAW,EAAO72E,GACpK,OAAOyzwB,GAAO3mqB,EAAYpvE,EAC5B,CAAO,GAAIs4xB,GAAcjxvB,EAAMrnC,EAAK19B,GAAS,CAC3C,IAAM8sG,EAAaqptB,GAAqBpxvB,EAAM8R,GAAW,EAAM72E,IAAWw2zB,GAAmBzxvB,EAAM8R,GAAW,EAAM72E,GACpH,OAAOyzwB,GAAO3mqB,EAAYpvE,EAC5B,CACE,OAAOivuB,EAAS/gX,MAEpB,EAUM+qa,GAAc,SAACvzxB,EAAMhlC,EAAQtX,EAAOkZ,GACxC,GAAc,IAAVlZ,EAAJ,CAGA,IAAMslB,EAAMupwB,GAAavpD,QAAQhprB,GAC3B2hC,EAAOiysB,GAAW5qwB,EAAK,SAAAoO,GAAE,OAAIxa,EAAOuixB,QAAQ9oyB,GAAK+gC,GAAI,GAAEuxsB,MAAM3/sB,GAC7D2izB,EAAa3rxB,EAAKriD,KAAKyQ,MAAM4M,EAAQA,EAAStX,GAC9Cm5xB,EAAiB7hxB,EAAStX,GAASs8C,EAAKriD,KAAK3F,QAAUw60B,GAAmB7wvB,EAAMs9tB,GAAcj/vB,EAAMA,EAAKriD,KAAK3F,QAAS4kB,GACvHggxB,EAA8B,IAAX5hxB,GAAgBo3zB,GAAkBzwvB,EAAMs9tB,GAAcj/vB,EAAM,GAAIpjC,GACzFojC,EAAKwzxB,YAAYx4zB,EAAQtX,EAAOi5xB,GAAYgvC,EAAY,EAAG/uC,EAAkBC,GAN7E,CAOF,EACM42C,GAA2B,SAACzzxB,EAAMhlC,EAAQ4B,GAC9C,IAAMyB,EAAU2hC,EAAKriD,KAAKyQ,MAAM4M,GAC1B04zB,EAAkBr1zB,EAAQrmB,OAASk1xB,GAAM7uwB,GAASrmB,OACxDu70B,GAAYvzxB,EAAMhlC,EAAQ04zB,EAAiB92zB,EAC7C,EACM+2zB,GAA4B,SAAC3zxB,EAAMhlC,EAAQ4B,GAC/C,IAAMyB,EAAU2hC,EAAKriD,KAAKyQ,MAAM,EAAG4M,GAC7B04zB,EAAkBr1zB,EAAQrmB,OAASm1xB,GAAM9uwB,GAASrmB,OACxDu70B,GAAYvzxB,EAAMhlC,EAAS04zB,EAAiBA,EAAiB92zB,EAC/D,EACMg3zB,GAAiB,SAACziuB,EAAU4iV,EAAUn3a,EAAQi3zB,GAA6C,IAAxBC,IAAWt40B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,KAAAA,UAAA,GAC5Eu40B,EAAmB5mD,GAAMh8qB,EAASxzG,MAAM3F,OACxCsyQ,EAAUwpkB,EAAc3iuB,EAAW4iV,EACnCigZ,EAAaF,EAAc//Y,EAAW5iV,EAU5C,OATI2iuB,EACFxpkB,EAAQ+0e,WAAW20F,EAAWr20B,MAE9B2sQ,EAAQ2pkB,WAAW,EAAGD,EAAWr20B,MAEnC03xB,GAAS9C,GAAavpD,QAAQgrG,IAC1BH,GACFJ,GAAyBnpkB,EAASypkB,EAAkBn3zB,GAE/C0tP,CACT,EAOM4ijB,GAAa,SAAClkyB,EAAKsxB,GAAG,OALJ,SAACA,EAAKtxB,GAC5B,IAAMyqE,EAAYn5C,EAAIm5C,YAChBz4E,EAASs/B,EAAIt/B,SACnB,OAAQikyB,GAAcG,eAAe9kwB,IAAQm5C,IAAczqE,EAAIuoF,YAAcv2F,EAASikyB,GAAc50pB,OAAOrhI,GAAKhO,QAClH,CACiCk5zB,CAAgB55xB,EAAKtxB,GAAOi2xB,GAAc3kwB,EAAIm5C,YAAan5C,EAAIt/B,SAAW,GAAKs/B,CAAI,EAG9G65xB,GAAkC,SAAAnrzB,GACtC,OAAIizwB,GAAmBjzwB,EAAI07Z,iBAClB6kW,EAASpyvB,MAHC6oB,EAGiBh3B,EAAI07Z,gBAHbyzW,GAASn4uB,GAAQi/vB,GAAcj/vB,EAAMA,EAAKriD,KAAK3F,QAAUinzB,GAAcrggB,MAAM5+P,KAK/Fh3B,EAAI07Z,gBAAkB+sY,GAAezoyB,EAAI07Z,iBAAmB6kW,EAAS/gX,OAL3D,IAAAxoX,CAOrB,EACMo0xB,GAA8B,SAAAprzB,GAClC,OAAIizwB,GAAmBjzwB,EAAIu1V,aAClBgra,EAASpyvB,MAXI6oB,EAWiBh3B,EAAIu1V,YAXb45a,GAASn4uB,GAAQi/vB,GAAcj/vB,EAAM,GAAKi/vB,GAAc50pB,OAAOrqG,KAapFh3B,EAAIu1V,YAAcizc,GAAgBxoyB,EAAIu1V,aAAegra,EAAS/gX,OAbjD,IAAAxoX,CAexB,EAKMq0xB,GAA6B,SAAC9krB,EAAavmI,GAAG,OAAKmrzB,GAAgCnrzB,GAAKghtB,QAAQ,kBAAMoqG,GAA4BprzB,EAAI,GAAEghtB,QAAQ,kBAJ5G,SAACz6kB,EAAavmI,GACtD,OAAOugwB,EAASxquB,KAAK/1B,EAAI07Z,gBAAkB17Z,EAAI07Z,gBAAkB17Z,EAAIuoF,YAAYpzC,KAAK,SAAAne,GAAI,OAAIuxwB,GAAahiqB,EAAa0vpB,GAAc50pB,OAAOrqG,GAAM,GAAEgqrB,QAAQ,kBAAMsnF,GAAa/hqB,EAAa0vpB,GAAcrggB,MAAM51R,GAAK,EACxN,CAE4JsrzB,CAAkC/krB,EAAavmI,EAAI,EAAE,EAC3MurzB,GAA2B,SAAChlrB,EAAavmI,GAAG,OAAKorzB,GAA4BprzB,GAAKghtB,QAAQ,kBAAMmqG,GAAgCnrzB,EAAI,GAAEghtB,QAAQ,kBAF3G,SAACz6kB,EAAavmI,GAAG,OAAKsoyB,GAAa/hqB,EAAa0vpB,GAAcrggB,MAAM51R,IAAMghtB,QAAQ,kBAAMunF,GAAahiqB,EAAa0vpB,GAAc50pB,OAAOrhI,GAAK,EAAE,CAE7BwrzB,CAAiCjlrB,EAAavmI,EAAI,EAAE,EAExMyrzB,GAAoC,SAACvzB,EAAS3xpB,EAAavmI,GAAG,OAD1C,SAACk4xB,EAAS3xpB,EAAavmI,GAAG,OAAKk4xB,EAAUqzB,GAAyBhlrB,EAAavmI,GAAOqrzB,GAA2B9krB,EAAavmI,EAAK,CACpF0rzB,CAAkBxzB,EAAS3xpB,EAAavmI,GAAKrgB,IAAI47iB,EAAM2oQ,GAAYlkyB,GAAM,EAC5I2rzB,GAAiB,SAACj7B,EAAQwH,EAAS5mwB,GACvCA,EAAI2vrB,KAAK,WACPyvE,EAAOr/wB,OACT,EAAG,SAAAigB,GACDo/vB,EAAOx8hB,UAAUkqe,OAAO9ssB,EAAIsyX,UAAWs0Y,EACzC,EACF,EAEM/hB,GAAU,SAACua,EAAQ1wxB,GAAG,OAAKA,GAAO4iwB,GAAM8tB,EAAO98xB,OAAOgixB,mBAAoBvoyB,GAAK2yB,GAAM,EAmBrF4rzB,GAAmB,SAAC5rzB,EAAK6rzB,EAAmBj4zB,EAAQi3zB,GACxD,IAh/Uax4a,EAAI0hL,EAAI7pJ,EAAIv0b,EAg/UnBm20B,EAAcpiG,GAAY1ptB,GAAKuH,OAAOugwB,IACtCikD,EAAcx2d,GAAYv1V,GAAKuH,OAAOugwB,IAE5C,OADAuE,GAASrswB,IAl/UIqyY,EAm/UAy5a,EAn/UI/3P,EAm/USg4P,EAn/UL7hZ,EAm/UkB2hZ,EAn/Udl20B,EAm/UiC,SAACgH,EAAMC,EAAM00C,GACrE,IAAM62D,EAAWxrG,EAAKgzc,IACpB5kB,EAAWnub,EAAK+yc,IACZ39b,EAASm2F,EAASxzG,KAAK3F,OAE7B,OADA470B,GAAeziuB,EAAU4iV,EAAUn3a,EAAQi3zB,GACpCv5xB,EAAIm5C,cAAgBsgW,EAAWkrX,GAAc9tsB,EAAUn2F,GAAUs/B,CAC1E,EAz/U+B+gX,EAAGmtU,UAAYzrJ,EAAGyrJ,UAAYt1S,EAAGs1S,SAAW+gD,EAASpyvB,KAAKx4B,EAAE08Z,EAAGwyU,WAAY9wJ,EAAG8wJ,WAAY36S,EAAG26S,aAAe07C,EAAS/gX,QAy/UjJwhU,QAAQ,WAKT,OAJI6pG,IACFiB,EAAY3/wB,KAAK,SAAAnsC,GAAG,OAAI2qzB,GAA0B3qzB,EAAI2vb,IAAK3vb,EAAI2vb,IAAI3gd,OAAQ4kB,EAAO,GAClFm4zB,EAAY5/wB,KAAK,SAAAnsC,GAAG,OAAIyqzB,GAAyBzqzB,EAAI2vb,IAAK,EAAG/7b,EAAO,IAE/Di4zB,CACT,EACF,EAEMG,GAAkB,SAACt7B,EAAQwH,EAASl4xB,GAAuD,IAvC/EmxwB,EAuC6B86C,IAASz50B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,KAAAA,UAAA,GAAS050B,EAAkB150B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,IAAAA,UAAA,GAC3E250B,EAAiBV,GAAkCvzB,EAASxH,EAAO50D,UAAW97tB,EAAI2vb,KAClF0mV,EAAczL,GAAW5qwB,EAAKu7hB,EAAM46O,GAASua,IAzCnCvf,EAyCsDuf,EAAO50D,UAzClD,SAAA97tB,GAAG,OAAIA,EAAI2vb,MAAQwhV,CAAQ,IA0ChDi7C,EAA2BR,GAAiB5rzB,EAAKmszB,EAAgBz7B,EAAO98xB,OAJxD,SAAC88xB,EAAQtpsB,GAAO,OAAKw7qB,GAAM8tB,EAAO98xB,OAAOyuxB,wBAAyBh1yB,GAAK+5G,GAAU,CAIjBiluB,CAAgB37B,EAAQ1wxB,IAC1G0wxB,EAAO/gW,IAAIvib,QAAQsjxB,EAAO50D,YAC5B40D,EAAOxhE,WAAW,IAClBwhE,EAAOx8hB,UAAUgujB,qBAEjB7rC,EAAYlhuB,KAAK,SAAAn1C,GAAG,OA7CD,SAACA,EAAKkszB,GAC3B,GAAIx3C,GAAU10wB,GAAM,CAClB,IAAMmpY,EAAKogY,GAAa1pD,SAAS,2BAWjC,OAVIqsG,EACF9qD,GAAO8I,GAAWlqwB,GAAM,SAAAg3B,GACjB03wB,GAA0B13wB,IAC7Bq1uB,GAASr1uB,EAEb,GAEAY,GAAM53B,GAERkswB,GAASlswB,EAAKmpY,GACPo3X,EAASpyvB,KAAK8nxB,GAAc50pB,OAAO8nQ,EAAGwmD,KAC/C,CACE,OAAO4wU,EAAS/gX,MAEpB,CA4B4B8sa,CAAetszB,EAAKkszB,EAAmB,GAAEjrG,KAAK,WAChEgrG,GACFN,GAAej7B,EAAQwH,EAASk0B,EAEpC,EAAG,SAAAG,GACGN,GACFN,GAAej7B,EAAQwH,EAAS33B,EAASpyvB,KAAKo+yB,GAElD,EAEJ,EAEMC,GAAY,4CAGZC,GAAiB,SAAC/7B,EAAQ1wxB,GAAG,OAAKypwB,GAAKF,GAAavpD,QAAQhgtB,GAAM09xB,GAA0BhN,MAAa5Z,GAAmB4Z,EAAO98xB,OAAQoM,IAAQ0wxB,EAAO/gW,IAAIm9V,WAAW9sxB,EAAK,EAC9K+uxB,GAAQ,SAAA3nsB,GACZ,IAAI/tD,EACJ,MAA6D,QAAtDovvB,GAASoD,IAAItC,SAASnisB,EAAS,aAAa,IALhC,SAAAjiF,GAAI,OAAIqnzB,GAAUv70B,KAAKk0B,EAAM,CAKsBunzB,CAA4C,QAA9BrzxB,EAAK+tD,EAAQjsE,mBAAqC,IAAZke,EAAgBA,EAAK,GACjJ,EAEMszxB,GAAiB,SAACF,EAAgBpqpB,EAAU/wI,GAChD,IAAMyxe,EAFkB,SAAC0pT,EAAgBpqpB,EAAU/wI,GAAG,OAAKiwuB,GAASknB,GAASoD,IAAIpC,WAAWn4vB,EAAIm5C,YAAa,IAAK43F,GAAWoqpB,EAAgB,CAE7HG,CAAkBH,EAAgBpqpB,EAAU/wI,GAC5D,OAAOivuB,EAASxquB,KAAKgte,EAAQA,EAAQ/zhB,OAAS,GAChD,EAOMwpP,GAAoB,SAAC0/jB,EAAS5mwB,GAClC,IAAMm5C,EAAYn5C,EAAIm5C,YACpBz4E,EAASs/B,EAAIt/B,SACf,OAAIkmyB,EACErmB,GAAuBpnsB,GACrB0ksB,GAAS1ksB,EAAU8qR,aACd0gc,GAAcxrtB,EAAU8qR,YAAa,GAErC0gc,GAAcrggB,MAAMnrN,GAGtBsnsB,GAAezgvB,GAAO2kwB,GAAcxrtB,EAAWz4E,EAAS,GAAKs/B,EAGlEugvB,GAAuBpnsB,GACrB0ksB,GAAS1ksB,EAAUixV,iBACdu6X,GAAcxrtB,EAAUixV,gBAAiBjxV,EAAUixV,gBAAgB/mb,KAAK3F,QAExEinzB,GAAc50pB,OAAO52D,GAGvBwnsB,GAAc3gvB,GAAO2kwB,GAAcxrtB,EAAWz4E,EAAS,GAAKs/B,CAGzE,EACMu7xB,GAAoBtxR,EAAM/iU,IAAmB,GAC7Cs0lB,GAAqBvxR,EAAM/iU,IAAmB,GAE9Cu0lB,GAA+B,SAACr8B,EAAQn6wB,GAC5C,IAAMy2yB,EAAe,SAAA5/0B,GAAC,OAAIA,EAAE+vO,0BAA2B,EACvDuzkB,EAAOlnuB,GAAG,oBAAqBwjwB,GAAc,GAC7Ct8B,EAAOzyD,SAAStC,YAAYpltB,GAC5Bm6wB,EAAOl7tB,IAAI,oBAAqBw3vB,EAClC,EAIMC,GAA0B,SAAAv8B,GAAM,OAAIq8B,GAA6Br8B,EAAQ,SAAU,EAGnFw8B,GAAwB,SAAA9luB,GAAO,OAAIsprB,GAActprB,IAAYwprB,GAAaxprB,EAAS,EACnF+luB,GAAmB,SAAC9qpB,EAAUriK,GAClC,OAAIytF,GAAS40E,EAAUriK,GACd6qwB,GAAU7qwB,EAAKktzB,GAJL,SAAA7qpB,GAAQ,OAAI,SAAAriK,GAAG,OAAIinwB,GAAKvwuB,GAAO12B,GAAMqiK,EAAUjqG,GAAI,CAAD,CAItBg1vB,CAAa/qpB,IAEnDk+lB,EAAS/gX,MAEpB,EACM6ta,GAAgB,SAAC38B,GAAkC,IAA1B48B,IAAa960B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,KAAAA,UAAA,GACtCk+yB,EAAO/gW,IAAIvib,QAAQsjxB,EAAO50D,YAC5B40D,EAAOxhE,WAAW,GAAI,CACpBq+F,cAAeD,GAGrB,EACME,GAAkC,SAACt1B,EAASu1B,EAASztzB,GAAG,OAAKonwB,GAAMohC,GAAgBxoyB,GAAMyoyB,GAAezoyB,GAAM,SAACiqzB,EAAU/zb,GAC7H,IAAMw3b,EAAqBl1lB,IAAkB,EAAMyxlB,GAC7C0D,EAAoBn1lB,IAAkB,EAAO09J,GAC7C03b,EAAoBp1lB,IAAkB,EAAOi1lB,GACnD,OAAIv1B,EACKoQ,GAAatoyB,EAAK4tzB,GAAmB/mX,OAAO,SAAA4iX,GAAO,OAAIA,EAAQr4rB,QAAQu8rB,IAAsBF,EAAQr8rB,QAAQs8rB,EAAmB,GAEhInlB,GAAavoyB,EAAK4tzB,GAAmB/mX,OAAO,SAAAwiX,GAAO,OAAIA,EAAQj4rB,QAAQs8rB,IAAuBD,EAAQr8rB,QAAQu8rB,EAAkB,EAE3I,GAAGhuG,OAAM,EAAM,EACTkuG,GAAc,SAAAl1vB,GAClB,IA1jVkByuB,EA2jVlB,OAvkVc,IAYeugrB,GAAXvgrB,EA0jVQzuB,IA1jVoD,aAAlBtrF,GAAK+5G,GA0jV/BsioB,GAAY/wpB,GAAQw2B,GAAUx2B,IACnDxjB,KAAK04wB,IAAa7sG,QAAQ,kBAAMu/C,EAASpyvB,KAAKwqD,EAAK,EAClE,EACMm1vB,GAAsB,SAACp9B,EAAQ7xX,EAAKlmW,GAAgC,IACpEt/B,EAD0Ci0xB,IAAa960B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,KAAAA,UAAA,GAE3Dqsb,EAAIkvZ,iBACJ,IAx2Ue3muB,EAw2UTkptB,EAAWud,GAAYl1vB,GAAMgnpB,MAAMhnpB,GACnCq1vB,EAAYzkD,GAAavpD,QAA0E,QAAjE3mrB,EAAKq3vB,EAAO/gW,IAAIlqI,UAAU6qf,EAAS3gX,IAAK+gW,EAAO/gW,IAAIwmV,gBAAkC,IAAZ98uB,EAAgBA,EAAKs/B,EAAKg3X,KAS3I,GARIq+X,EAAUr+X,MAAQ+gW,EAAO50D,UAC3BuxF,GAAc38B,EAAQ48B,GACb54C,GAAUs5C,KACnB18C,GAAkB08C,GACdV,GACF58B,EAAOx8hB,UAAUgujB,kBAAkB8L,EAAUr+X,IAAK,KAGjDv3X,GAAGO,EAAMq1vB,GAAY,CACxB,IAAMC,EAAyBhnD,GAAKvwuB,GAAOs3xB,GAAYr1vB,GAAQ,GAj3U1DjiC,GAFQ0wD,EAm3UgE4muB,GAj3UxDru0B,IAAIuqxB,IAAYvqxB,IADpB,SAAA+qI,GAAQ,OAAI62oB,GAAS72oB,EAAU,SAAAplI,GAAC,OAAK8yE,GAAGgvB,EAAS9hG,EAAE,EAAE,GACjBq6tB,MAAM,IAk3U3DyhD,GAAO6sD,EAAuBj80B,OAAOk4xB,GAAWvxsB,IAAQ,SAAA3hC,GACjDohC,GAAGphC,EAAMg3xB,IAAevguB,GAASz2D,EAAMg3xB,KAAct5C,GAAU19uB,IAClEq1uB,GAASr1uB,EAEb,EACF,CACF,EAGMitoB,GAAU,SAAC9nX,EAAO1lO,GAAS,OAnyUf,SAAC0lO,EAAO1lO,GACxB,IAAM2Q,EAAU+0N,EAAMwzI,IACtB,OAAKvoW,EAAQmB,WAGN53B,GAAM44sB,GAAavpD,QAAQ54nB,EAAQmB,YAAa,SAAAjjG,GAAC,OAAK8yE,GAAG+jP,EAAO72T,IAAMmxF,EAAUnxF,EAAE,GAFhFi7wB,EAAS/gX,MAGpB,CA6xUsC0ua,CAAU/xgB,EAAO1lO,GAAW+ooB,QAAS,EACrEz+gB,GAAa,SAACo7G,EAAO1lO,GAAS,OAAKq0rB,GAAa3ud,EAAO1lO,GAAW+ooB,QAAS,EAG3E2uG,GAAgB,SAAA91yB,GAAK,OAAI04I,GAAY14I,EAAO,QAAS,EACrD+1yB,GAAa,SAACp3xB,EAAM41U,GAAM,OAAKq+b,GAAgB1hC,GAAavpD,QAAQhprB,GAAO41U,EAAQ,EAcnFyhd,GAAwB,SAAAh5hB,GAC5B,OAdsC,SAAAA,GACtC,OAAO+xe,GAAM/xe,EAAQi5hB,WAAYj5hB,EAAQk5hB,SAAU,SAACD,EAAYC,GAC9D,IAAMC,EAA+BztnB,GAAWutnB,EAAY,SAAAri0B,GAAC,OAAImsE,GAAGnsE,EAAGsi0B,EAAS,GAC1EE,EAA+B1tnB,GAAWwtnB,EAAU,SAAAti0B,GAAC,OAAImsE,GAAGnsE,EAAGqi0B,EAAW,GAChF,OAAQE,GAAiCC,EAAsC1y0B,EAAA,GAC1Es5S,EAAQ,CACXi5hB,WAAYE,EAA+BjuD,EAAS/gX,OAASnqH,EAAQi5hB,WACrEC,SAAUE,EAA+BluD,EAAS/gX,OAASnqH,EAAQk5hB,SACnEG,aAAa,EACbC,cAAc,IALwDt5hB,CAO1E,GAAGsqb,MAAMtqb,EACX,CAESu5hB,CAAgCv5hB,EACzC,EAkBMw5hB,GAAe,SAAChq0B,EAAOC,GAAG,MAAM,CACpCD,QACAC,MACD,EAMKgq0B,GAAer1B,GAAa,CAAC,CACjCs1B,gBAAiB,CAAC,MAAO,SACxB,CACDC,UAAW,CAAC,UACX,CACDC,aAAc,CAAC,QAAS,mBACvB,CACDC,WAAY,CAAC,kBAAmB,gBAAiB,iBAE7CC,GAAmB,SAAC1kvB,EAAWmiS,GAAM,OAAKs+Z,GAAU3B,GAAavpD,QAAQv1oB,GAAY,QAASmiS,EAAQ,EACtGwid,GAAoB,SAAAC,GAAO,OAAKj3vB,GAAGi3vB,EAAQxq0B,MAAOwq0B,EAAQvq0B,IAAK,EAC/Dwq0B,GAAsB,SAACD,EAASzid,GAAM,OAAKq+b,GAAgBokB,EAAQxq0B,MAAO+nX,GAAQz3T,KAAK,SAAAo6wB,GAAgB,OAAItkB,GAAgBokB,EAAQvq0B,IAAK8nX,GAAQz3T,KAAK,SAAAq6wB,GAAc,OAAInoD,GAAOjvsB,GAAGm3vB,EAAkBC,GAAiBD,EAAiB,EAAC,EAAE,EAYxOE,GAA+B,SAAA7id,GAAM,OAAI,SAAAyid,GAAO,OAAIC,GAAoBD,EAASzid,GAAQjtX,IAAI,SAAA04B,GAAK,OA5BjF,SAACwmZ,EAAKxmZ,EAAOgyP,GAAK,MAAM,CAC7Cw0J,MACAxmZ,QACAgyP,QACD,CAwB2GqljB,CAAeL,EAASh3yB,EAAO81yB,GAAc91yB,GAAO,EAAE,CAAD,EAC3Js3yB,GAAqB,SAACN,EAASO,EAAkB/wZ,EAAKjyD,GAC1D,GAAIiyD,EAAIptL,YAAc49kB,EAAQzqG,OAAOwqG,IACnC,OAAO7uD,EAAS/gX,OACX,GAAIowa,EAAiBlB,YAAa,CACvC,IAAMmB,EAAqBR,EAAQl6wB,KAAKs6wB,GAA6B7id,IACrE,OAAO2zZ,EAASpyvB,KAAK,CACnBtpB,MAAOgr0B,EACP/q0B,IAAK+q0B,GAET,CACE,IAAMC,EAAYX,GAAiBtwZ,EAAI4jT,eAAgB71W,GACjDmjd,EAAUZ,GAAiBtwZ,EAAI6jT,aAAc91W,GAC7Cojd,EAAsBF,EAAU36wB,KAfP,SAAAy3T,GAAM,OAAI,SAAAkjd,GAAS,OAAI7kB,GAAgB6kB,EAAWljd,GAAQz3T,KAAK,SAAA98B,GAAK,OAAI2pvB,GAAOmsD,GAAc91yB,IAAQ14B,IAAI,SAAAow0B,GAAO,OAAIlB,GAAaiB,EAAWC,EAAQ,EAAC,EAAE,CAAD,CAe1IE,CAA2Brjd,IAASz3T,KAAKs6wB,GAA6B7id,IAC3Gsjd,EAAoBH,EAAQ56wB,KAfL,SAAAy3T,GAAM,OAAI,SAAAmjd,GAAO,OAAI9kB,GAAgB8kB,EAASnjd,GAAQz3T,KAAK,SAAA98B,GAAK,OAAIie,GAAK63xB,GAAc91yB,IAAQ14B,IAAI,SAAAmw0B,GAAS,OAAIjB,GAAaiB,EAAWC,EAAQ,EAAC,EAAE,CAAD,CAexII,CAAyBvjd,IAASz3T,KAAKs6wB,GAA6B7id,IAC3G,OAAO2zZ,EAASpyvB,KAAK,CACnBtpB,MAAOmr0B,EACPlr0B,IAAKor0B,GAGX,EACME,GAAe,SAAC/ljB,EAAOmmK,GAAI,OAAKoxV,GAAYv3f,EAAO,SAAA/kR,GAAC,OAAI8yE,GAAG9yE,EAAGkrb,EAAK,EAAE,EACrE6/Y,GAAmB,SAAAX,GAAc,OAAItoD,GAAMgpD,GAAaV,EAAerljB,MAAOqljB,EAAe7wZ,IAAIh6a,OAAQur0B,GAAaV,EAAerljB,MAAOqljB,EAAe7wZ,IAAI/5a,KAAM,SAAC4nB,EAAYm0mB,GAAQ,OAAK6uM,EAAerljB,MAAMjlR,MAAMsnB,EAAYm0mB,EAAW,EAAE,EAAE,EACrPyvM,GAAmC,SAACC,EAAY1xZ,EAAKjyD,GAAM,OAAK2jd,EAAW1pX,OAAO,SAAAwoX,GAAO,OAlCrE,SAACA,EAASzid,GAAM,OAAMwid,GAAkBC,IAAYC,GAAoBD,EAASzid,GAAQi6F,OAAO,SAAAxub,GACxH,IAAM7F,EAAO6F,EAAMs3a,IAAIn9a,KACvB,OAAuB,IAAhBA,EAAKxjC,QAAyC,IAAzBwjC,EAAK,GAAG63P,MAAMr7R,MAC5C,EAAG,CA+BgGwh1B,CAAkBnB,EAASzid,IAAWw+b,GAAuBikB,EAAQxq0B,MAAOg6a,EAAI,EAAE,EAC/K4xZ,GAAgB,SAAC5xZ,EAAK+wZ,GAC1B,IACEtB,EAEEsB,EAFFtB,WACAC,EACEqB,EADFrB,SAEImC,EAAkB7xZ,EAAIu2X,aAG5B,OAFAk5B,EAAWnixB,KAAK,SAAA9zB,GAAK,OAAIq4yB,EAAgBvuG,cAAc9psB,EAAMs3a,IAAI,GACjE4+X,EAASpixB,KAAK,SAAA9zB,GAAK,OAAIq4yB,EAAgBtuG,aAAa/psB,EAAMs3a,IAAI,GACvD+gY,CACT,EAsCMC,GAAqB,SAACh4vB,EAAMkmW,GAChC,IAAMjyD,EA5IkB,SAAAj0S,GAAI,OAAI,SAAAs+G,GAAG,OAAI7+G,GAAGO,EAAMs+G,EAAK,CAAD,CA4IrC25oB,CAAkBj4vB,GAC3B43vB,EAhFW,SAAC1xZ,EAAKjyD,GACvB,IAAMkjd,EAAYX,GAAiBtwZ,EAAI4jT,eAAgB71W,GACjDmjd,EAAUZ,GAAiBtwZ,EAAI6jT,aAAc91W,GACnD,OAAOw6Z,GAAM0oD,EAAWC,EAASlB,GACnC,CA4EqBgC,CAAWhyZ,EAAKjyD,GAC7Bgjd,EA3HyB,SAAC/wZ,EAAKjyD,GACrC,IAAM0hd,EAAaF,GAAWvvZ,EAAI4jT,eAAgB71W,GAC5C2hd,EAAWH,GAAWvvZ,EAAI6jT,aAAc91W,GACxCkkd,EAAiBxC,EAAW9uG,SAC5BuxG,EAAexC,EAAS/uG,SACxBkvG,EAActnD,GAAMknD,EAAYC,EAAUn2vB,IAAIunpB,OAAM,GAE1D,OAAO0uG,GAAsB,CAC3BC,aACAC,WACAuC,iBACAC,eACArC,cACAC,cAPoBD,GAAeoC,GAAkBC,GASzD,CA4G2BC,CAAyBnyZ,EAAKjyD,GACvD,OAAI0jd,GAAiCC,EAAY1xZ,EAAKjyD,GAC7C2jd,EAAW5w0B,IAAI,SAAA0v0B,GAAO,OAAIP,GAAaC,gBAAgBlwZ,EAAKwwZ,EAAQxq0B,MAAM,GACxE+q0B,EAAiBjB,aAnBL,SAACU,EAASO,EAAkB/wZ,EAAKjyD,GAAM,OAAK+id,GAAmBN,EAASO,EAAkB/wZ,EAAKjyD,GAAQz3T,KAAK,SAAAv7C,GAG9H,IAFL/U,EAAK+U,EAAL/U,MACAC,EAAG8U,EAAH9U,IAEMms0B,EAA0Bps0B,EAAMswD,KAAKk7wB,IAAkB1wG,MAAM,IAC7DuxG,EAAwBps0B,EAAIqwD,KAAKk7wB,IAAkB1wG,MAAM,IAC/D,GAAIsxG,EAAwBji1B,OAAS,GAAKki1B,EAAsBli1B,OAAS,EAAG,CAC1E,IAAM0h1B,EAAkBD,GAAc5xZ,EAAK+wZ,GAC3C,OAAOrvD,EAASpyvB,KAAK2gzB,GAAaI,WAAW+B,EAAyBC,EAAuBR,GAC/F,CACE,OAAOnwD,EAAS/gX,MAEpB,EAAG,CAQQ2xa,CAAiBZ,EAAYX,EAAkB/wZ,EAAKjyD,GA5CrC,SAACyid,EAASO,EAAkB/wZ,EAAKjyD,GAAM,OAAK+id,GAAmBN,EAASO,EAAkB/wZ,EAAKjyD,GAAQz3T,KAAK,SAAA57C,GAAA,IACpI1U,EAAK0U,EAAL1U,MACAC,EAAGyU,EAAHzU,IAAG,OACCD,EAAMmjZ,GAAGljZ,EAAI,GAAEqwD,KAAK,SAAAu6wB,GACxB,IACEhB,EACEkB,EADFlB,YAEI5jB,EAAgBulB,GAAiBX,GAAgB/vG,MAAM,IAC7D,GAAI+uG,GAAegB,EAAerljB,MAAMr7R,SAAW87zB,EAAc97zB,OAC/D,OAAOuxxB,EAASpyvB,KAAK2gzB,GAAaE,UAAUU,EAAer3yB,QACtD,GAAIyyxB,EAAc97zB,OAAS,EAAG,CACnC,GAAI0/0B,EACF,OAAOnuD,EAASpyvB,KAAK2gzB,GAAaG,aAAankB,EAAevqC,EAAS/gX,SAEvE,IAAMkxa,EAAkBD,GAAc5xZ,EAAK+wZ,GAC3C,OAAOrvD,EAASpyvB,KAAK2gzB,GAAaG,aAAankB,EAAevqC,EAASpyvB,KAAIpyB,EAAC,CAAC,EACxE6z0B,EAAiB,CACpB/wZ,IAAK6xZ,MAGX,CACE,OAAOnwD,EAAS/gX,MAEpB,EAAG,CAuBQ4xa,CAAkBb,EAAYX,EAAkB/wZ,EAAKjyD,EAEhE,EAEMykd,GAAa,SAAAhnjB,GAAK,OAAI+2f,GAAO/2f,EAAO,SAAAmmK,GACxCg4V,GAASh4V,EAAM,mBACf8gW,GAAkB9gW,EACpB,EAAG,EAYG8gZ,GAA0B,SAAC5gC,EAAQlgX,EAAM3R,EAAK0yZ,GAClD,IAAMC,EAAiB3yZ,EAAIu2X,aACvBm8B,GACFC,EAAe1xY,SAASjhB,EAAI4jT,eAAgB5jT,EAAIghH,aAChD2xS,EAAenvG,YAAY7xS,EAAKmf,IAAIxgW,aAEpCqiuB,EAAetvG,eAAe1xS,EAAKmf,IAAInpT,YACvCgrrB,EAAezxY,OAAOlhB,EAAI6jT,aAAc7jT,EAAI8jT,YAE9C8uG,GAAmB/gC,EAAQ8gC,EAAgBhhZ,GAAM,GAAOrkY,KAAK,SAAAr1C,GAAM,OAAIA,GAAQ,EACjF,EACM46zB,GAAkC,SAAAhhC,GACtC,IAAMoa,EAAgBC,GAAmBra,GACnCihC,EAAepoD,GAAavpD,QAAQ0wE,EAAOx8hB,UAAUyxd,WACvDiqD,GAAc+hD,EAAahiY,MAAQ+kV,GAAUi9C,GAC/CjhC,EAAOx8hB,UAAUgujB,kBAAkByP,EAAahiY,IAAK,GAErD+gW,EAAOx8hB,UAAU87J,UAAS,GAExB86Y,EAAc97zB,OAAS,GAAK63d,GAAOikW,EAAe,SAAAt6X,GAAI,OAAIp4W,GAAGo4W,EAAMmhZ,EAAa,IAClFxpD,GAAMwpD,EAAc,oBAAqB,IAE7C,EACMC,GAAwB,SAAClhC,EAAQrmhB,EAAOwnjB,GAAc,OAAKtxD,EAASpyvB,KAAK,WAC7E,IAAM2jzB,EAAYphC,EAAOx8hB,UAAU08hB,SAC7BmhC,EAAeF,EAAe18wB,KAAK,SAAAr7C,GAGlC,IAFL+ka,EAAG/ka,EAAH+ka,IACAiyZ,EAAch3zB,EAAdg3zB,eAEMkB,EAxCc,SAACthC,EAAQjmtB,GAAS,OAAK81rB,EAASxquB,KAAK26vB,EAAO/gW,IAAIlqI,UAAUh7O,EAAWimtB,EAAO/gW,IAAIwmV,UAAUx2xB,IAAI4pxB,GAAavpD,QAAS,CAwCnHiyG,CAAgBvhC,EAAQogC,EAAiBjyZ,EAAI6jT,aAAe7jT,EAAI4jT,gBACrF5jT,EAAIkvZ,iBAxCiB,SAACr9B,EAAQwhC,EAAcC,GAC9CA,EAAWhmxB,KAAK,SAAAymL,GACVs/lB,EACF7lD,GAASz5iB,IAET0+iB,GAAkB1+iB,GAClB89jB,EAAOx8hB,UAAUgujB,kBAAkBtvlB,EAAM+8N,IAAK,GAElD,EACF,CAgCIyiY,CAAiB1hC,EAAQogC,EAAgBkB,EAAazqzB,OAAOmtwB,KAC7D,IAAM29C,EAAevB,EAAiBzmjB,EAAM,GAAKA,EAAMA,EAAMr7R,OAAS,GAEtE,OADAsi1B,GAAwB5gC,EAAQ2hC,EAAcP,EAAWhB,GACpDp8C,GAAU29C,GAGN9xD,EAAS/gX,OAFT+gX,EAASpyvB,KAAK2izB,EAAiBzmjB,EAAMjlR,MAAM,GAAKilR,EAAMjlR,MAAM,GAAI,GAI3E,GAAGu6tB,MAAMt1c,GACTgnjB,GAAWU,GACXL,GAAgChhC,EAClC,EAAG,EACG4hC,GAAuB,SAAC5hC,EAAQ6hC,EAAiBC,EAAeC,GAAU,OAAKlyD,EAASpyvB,KAAK,WACjG,IAAM0wZ,EAAM6xX,EAAOx8hB,UAAU08hB,SACvBk/B,EAAYyC,EAAgB,GAC5BxC,EAAUyC,EAAcA,EAAcxj1B,OAAS,GACrDsi1B,GAAwB5gC,EAAQo/B,EAAWjxZ,GAAK,GAChDyyZ,GAAwB5gC,EAAQq/B,EAASlxZ,GAAK,GAC9C,IAAM6zZ,EAAyBh+C,GAAUo7C,GAAayC,EAAkBA,EAAgBnt0B,MAAM,GACxFut0B,EAAuBj+C,GAAUq7C,GAAWyC,EAAgBA,EAAcpt0B,MAAM,GAAI,GAC1Fis0B,GAAWqB,EAAuB1g1B,OAAO2g1B,IACzCF,EAAW1E,iBACX2D,GAAgChhC,EAClC,EAAG,EACG+gC,GAAqB,SAAC/gC,EAAQ7xX,EAAK2R,GAAI,IAAE88Y,IAAa960B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,KAAAA,UAAA,GAAO,OAAK+txB,EAASpyvB,KAAK,WACpF2/yB,GAAoBp9B,EAAQ7xX,EAAK2R,EAAM88Y,EACzC,EAAG,EACGsF,GAAqB,SAACliC,EAAQr4wB,GAAK,OAAKkovB,EAASpyvB,KAAK,kBAAM69yB,GAAgBt7B,GAAQ,EAAOr4wB,EAAM,EAAE,EAGnGw6yB,GAAmB,SAACniC,EAAQhZ,EAAS74W,EAAKy4Y,GAAQ,OAAKwb,GAAiBp7C,EAAS4/B,GAAUr2F,KAAK,kBAF9E,SAACyvE,EAAQhZ,EAAS74W,GAAG,OAAK8xZ,GAAmBj5C,EAAS74W,GAAK1pX,KAAK,SAAAr+C,GAAM,OAAIA,EAAOmqtB,KAAK1lL,EAAMk2R,GAAoB/gC,GAASn1P,EAAMq3R,GAAoBliC,GAASn1P,EAAMq2R,GAAuBlhC,GAASn1P,EAAM+2R,GAAsB5hC,GAAQ,EAAE,CAEpJqiC,CAAgBriC,EAAQhZ,EAAS74W,EAAI,EAAE,SAAAwR,GAAO,OAD/H,SAACqgX,EAAQrgX,GAAO,OAAK2iZ,GAAatiC,EAAQrgX,EAAS,CACgF4iZ,CAAmBviC,EAAQrgX,EAAQ,EAAE,EAM7L6iZ,GAAgB,SAACx7C,EAAS13wB,GAAG,OAAK2hwB,GAAO0lD,GAAernzB,EAAK03wB,GAAU5G,GAAe,EACtFgiD,GAAmB,SAACp7C,EAAS13wB,GAAG,OAAK2hwB,GAAO0lD,GAAernzB,EAAK03wB,GAAUzP,GAAM,WAAY,EAE5F+qD,GAAe,SAACtiC,EAAQ1wxB,GAAG,OAAKugwB,EAASpyvB,KAAK,WAClDmjwB,GAAkBtxwB,GAClB0wxB,EAAOx8hB,UAAUgujB,kBAAkBlizB,EAAI2vb,IAAK,EAC9C,EAAG,EAIGwjY,GAA2B,SAACziC,EAAQhZ,EAASwgB,EAASk7B,EAAar9xB,GAAI,OAAKs8I,GAAS6lnB,EAASxH,EAAO50D,UAAW/lsB,GAAMkrrB,KAAK,kBAAMs/C,EAASpyvB,KAAK8sF,EAAK,EAAE,SAAA7tC,GAAE,OAHhI,SAACgmwB,EAAal7B,EAASniwB,EAAMq3B,GAAE,OAAKo7uB,GAAgB4qB,EAAYzjY,KAAKx6Y,KAAK,SAAAsvF,GAAK,OAAIgkqB,GAAe2qB,EAAYzjY,KAAKhwc,IAAI,SAAA42C,GAAI,OAAI2hwB,EAAUniwB,EAAKq7F,QAAQqT,IAAUr3E,EAAGgkE,QAAQ76F,GAAQR,EAAKq7F,QAAQ76F,IAAS62B,EAAGgkE,QAAQqT,EAAM,EAAC,GAAEk7kB,OAAM,EAAM,CAGrG0zG,CAAsBD,EAAal7B,EAASniwB,EAAMq3B,GAF1L,SAACsjuB,EAAQ1wxB,GAAG,OAAKgzzB,GAAatiC,EAAQ1wxB,EAAK,CAEqJszzB,CAAkB5iC,EAAQ0iC,GADvN,SAAC17C,EAAS07C,EAAahmwB,GAAE,OAAK0lwB,GAAiBp7C,EAASnO,GAAavpD,QAAQ5ypB,EAAGu4pB,YAAY1E,KAAK,kBAAMs/C,EAASpyvB,KAAK8sF,EAAK,EAAE,SAAAs4tB,GAAS,OAAIlsD,IAAQjvsB,GAAGm7vB,EAAWH,GAAcn4tB,EAAK,EAAE,CACkDu4tB,CAAqB97C,EAAS07C,EAAahmwB,EAAG,EAAE,EAC7SqmwB,GAAmB,SAAC/iC,EAAQwH,EAASxgB,EAAS4/B,GAClD,IAAMvhxB,EAAOkgwB,GAAcC,eAAexF,EAAOx8hB,UAAU08hB,UAC3D,OAAOsiC,GAAcx7C,EAAS4/B,GAAUniwB,KAAK,SAAAu+wB,GAAQ,OAAIh/C,GAAUg/C,GAAYV,GAAatiC,EAAQgjC,GAX3E,SAAChjC,EAAQhZ,EAASwgB,EAASw7B,EAAU39xB,GAAI,OAAKs8I,GAAS6lnB,EAASxH,EAAO50D,UAAW/lsB,GAAMof,KAAK,SAAAiY,GAAE,OAAI8lwB,GAAcx7C,EAASnO,GAAavpD,QAAQ5ypB,EAAGu4pB,YAAYxwqB,KAAK,SAAAw+wB,GAAM,OAAIv7vB,GAAGu7vB,EAAQD,GAAYnzD,EAAS/gX,OAAS+gX,EAASpyvB,KAAK8sF,EAAK,EAAC,EAAE,CAWrJ24tB,CAAmBljC,EAAQhZ,EAASwgB,EAASw7B,EAAU39xB,EAAK,EAC9K,EAKM89xB,GAAc,SAAC37B,EAAS5mwB,GAAG,OAAK4mwB,EAAU8uB,GAAc11xB,GAAO21xB,GAAa31xB,EAAK,EAKjFwiyB,GAAgB,SAACpjC,EAAQwH,EAASof,GACtC,IAAM5/B,EAAUnO,GAAavpD,QAAQ0wE,EAAO50D,WAC5C,OAAOg3F,GAAiBp7C,EAAS4/B,GAAUr2F,KAAK,kBAAMwyG,GAAiB/iC,EAAQwH,EAASxgB,EAAS4/B,GAAUt2F,QAAQ,kBAAMqmD,GAN9F,SAACqpB,EAAQwH,GACpC,IAAMu1B,EAAUx3B,GAAcC,eAAexF,EAAOx8hB,UAAU08hB,UAC9D,OAAOijC,GAAY37B,EAASu1B,IAAYxlB,GAAa/P,EAASxH,EAAO50D,UAAW2xF,GAAS5mX,OAAO,SAAAv1a,GAAG,OAAIuiyB,GAAY37B,EAAS5mwB,EAAI,EAClI,CAGkIyiyB,CAAqBrjC,EAAQwH,GAAUj9rB,EAAK,EAAC,EAAE,SAAAm4tB,GAAW,OAXjK,SAAC1iC,EAAQwH,EAASxgB,EAAS07C,GACpD,IAAMr9xB,EAAOkgwB,GAAcC,eAAexF,EAAOx8hB,UAAU08hB,UAC3D,OAAOlc,GAAU0+C,GAAeJ,GAAatiC,EAAQ0iC,GAAeD,GAAyBziC,EAAQhZ,EAASwgB,EAASk7B,EAAar9xB,EACtI,CAQgMi+xB,CAAmBtjC,EAAQwH,EAASxgB,EAAS07C,EAAY,EACzP,EACMa,GAAoB,SAACvjC,EAAQwH,GACjC,IAAMof,EAAW/tC,GAAavpD,QAAQ0wE,EAAOx8hB,UAAU6ud,UAAS,IAC1D14c,EAAQ0giB,GAAmBra,GACjC,OAAOA,EAAOx8hB,UAAUwne,eAAkC,IAAjBrxd,EAAMr7R,OAAe8k1B,GAAcpjC,EAAQwH,EAASof,GApCzE,SAAC5mB,EAAQ4mB,EAAUxM,GACvC,IAAMzooB,EAAWknmB,GAAavpD,QAAQ0wE,EAAO50D,WACvCj9T,EAAM6xX,EAAOx8hB,UAAU08hB,SAC7B,OAAgC,IAAzBka,EAAc97zB,OAAe4i1B,GAAsBlhC,EAAQoa,EAAevqC,EAAS/gX,QAAUqza,GAAiBniC,EAAQrunB,EAAUw8P,EAAKy4Y,EAC9I,CAgC2G4c,CAAcxjC,EAAQ4mB,EAAUjtiB,EAC3I,EAEM8pjB,GAA2B,SAACx7vB,EAAM3hC,GAEtC,IADA,IAAIq8uB,EAAWr8uB,EACRq8uB,GAAYA,IAAa16sB,GAAM,CACpC,GAAI+2sB,GAAwB2D,IAAa1D,GAAyB0D,GAChE,OAAOA,EAETA,EAAWA,EAAS9qrB,UACtB,CACA,OAAO,IACT,EAEM6ruB,GAA6B,CAAC,cAAe,YAAa,cAAe,gBAAiB,KAC1FC,GAAS3tD,GAAMv6tB,KACfmoxB,GAAe,SAAA5jC,GACnB,IAAM/gW,EAAM+gW,EAAO/gW,IACb4kY,EAAqB,IAAIv9wB,IAAI05uB,EAAOt5yB,WAAWkt0B,gBA6C/CkQ,EAAsB,SAAAhvmB,GAAa,OAAIqhP,GAAOutX,GAA4B,SAAAvk1B,GAAK,OAAIwE,GAAWmxO,EAAe31O,EAAM,IAAK0k1B,EAAmBz/0B,IAAI0wO,EAAe,EACpK,MAAO,CACLpiL,QA9Cc,SAACuiwB,EAAOC,GACtB,GAAID,EAAM97sB,WAAa+7sB,EAAM/7sB,UAAY87sB,EAAMnquB,WAAaoquB,EAAMpquB,SAChE,OAAO,EAET,IAAMwttB,EAAa,SAAAhyvB,GACjB,IAAMy9xB,EAAU,CAAC,EAOjB,OANAJ,GAAO1kY,EAAIq5V,WAAWhyvB,GAAO,SAAA2pB,GAC3B,IAAMtzE,EAAOszE,EAAKkpC,SAAS35F,cACd,UAAT7iB,GAAqBmn1B,EAAoBnn1B,KAC3Con1B,EAAQpn1B,GAAQsid,EAAIm5V,UAAU9xvB,EAAM3pD,GAExC,GACOon1B,CACT,EACMC,EAAiB,SAAC9t0B,EAAMC,GAC5B,IAAK,IAAMxZ,KAAQuZ,EACjB,GAAIg8wB,GAAMh8wB,EAAMvZ,GAAO,CACrB,IAAMwC,EAAQgX,EAAKxZ,GACnB,GAAI2zL,EAAYnxL,GACd,OAAO,EAET,GAAI+W,EAAKvZ,KAAUwC,EACjB,OAAO,SAEFgX,EAAKxZ,EACd,CAEF,IAAK,IAAMA,KAAQwZ,EACjB,GAAI+7wB,GAAM/7wB,EAAMxZ,GACd,OAAO,EAGX,OAAO,CACT,EACA,GAAImhyB,GAAYm3B,IAAUn3B,GAAYo3B,GAAQ,CAC5C,IAAK8uB,EAAe1rC,EAAW2c,GAAQ3c,EAAW4c,IAChD,OAAO,EAET,IAAK8uB,EAAe/kY,EAAIg8V,WAAWh8V,EAAIm5V,UAAU6c,EAAO,UAAWh2W,EAAIg8V,WAAWh8V,EAAIm5V,UAAU8c,EAAO,WACrG,OAAO,CAEX,CACA,OAAQ0E,GAAiB3E,KAAW2E,GAAiB1E,EACvD,EAIE4uB,sBAEJ,EAEMG,GAAY,SAAA39xB,GAAI,MAAI,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,MAAMxuC,SAASwuC,EAAK3pD,KAAM,EAS7Eun1B,GAAc,SAACC,EAAaC,EAAkB99xB,EAAMyxD,GAExD,IADA,IAAMp7G,EAAO2pD,EAAK3pD,KACTk4kB,EAAK,EAAGtvJ,EAAK4+Z,EAAY7l1B,OAAQu2kB,EAAKtvJ,EAAIsvJ,IAAM,CACvD,IAAMh+iB,EAASstzB,EAAYtvQ,GAC3B,GAAIh+iB,EAAOl6B,OAASA,EAAM,CACxB,IAAM8D,EAAQs3G,EAAQiB,MAAMr8G,GACxB8D,EACFA,EAAMu4G,MAAMp1G,KAAK0iD,GAEjByxD,EAAQiB,MAAMr8G,GAAQ,CACpBk6B,OAAAA,EACAmiF,MAAO,CAAC1yD,GAGd,CACF,CACA,GAAIA,EAAKksF,WACP,IAAK,IAAI8oH,EAAK,EAAGmqL,EAAK2+Z,EAAiB9l1B,OAAQg9P,EAAKmqL,EAAInqL,IAAM,CAC5D,IAAMzkO,EAASutzB,EAAiB9olB,GAC1BwyD,EAAWj3R,EAAOl6B,KACxB,GAAImxT,KAAYxnQ,EAAKksF,WAAWvjI,IAAK,CACnC,IAAMxO,EAAQs3G,EAAQy6B,WAAWs7K,GAC7BrtT,EACFA,EAAMu4G,MAAMp1G,KAAK0iD,GAEjByxD,EAAQy6B,WAAWs7K,GAAY,CAC7Bj3R,OAAAA,EACAmiF,MAAO,CAAC1yD,GAGd,CACF,CAEJ,EAaM+9xB,GAAa,SAACtsuB,EAASlkG,GAC3B,IAAMwvC,EAAM,SAACihyB,EAAaC,GACxB/yD,GAAO8yD,EAAa,SAAA7j1B,GAClB,IAAMu4G,EAAQ3zD,GAAK5kD,EAAMu4G,OACzB03qB,GAAOjwxB,EAAMo2B,OAAO+pQ,UAAW,SAAAxhS,GAC7B,IAAK,IAAIP,EAAIm6G,EAAM16G,OAAS,EAAGO,GAAK,EAAGA,IAAK,CAC1C,IAAMynD,EAAO0yD,EAAMn6G,IACE0l1B,OAAuD/+0B,IAAjC8gD,EAAK2pB,KAAKxvE,EAAMo2B,OAAOl6B,MAAsB2pD,EAAK3pD,OAAS8D,EAAMo2B,OAAOl6B,QAC9FqyxB,EAAW1ouB,EAAKN,SACnCgzD,EAAMp6E,OAAO//B,EAAG,EAEpB,CACIm6G,EAAM16G,OAAS,GACjBc,EAAS45G,EAAOv4G,EAAMo2B,OAAOl6B,KAAMkX,EAEvC,EACF,EACF,EACAwvC,EAAI00D,EAAQiB,OAAO,GACnB31D,EAAI00D,EAAQy6B,YAAY,EAC1B,EACMgysB,GAAW,SAACL,EAAaC,EAAkB99xB,GAAqB,IAAfzyC,EAAI/R,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EACvDi2G,EAlCkB,SAACosuB,EAAaC,EAAkB99xB,GACxD,IAAMyxD,EAAU,CACdiB,MAAO,CAAC,EACRw5B,WAAY,CAAC,GAOf,OALIlsF,EAAKwvG,YA7CM,SAAC7tE,EAAMx7E,GAEtB,IADA,IAAI65C,EAAO2hC,EACJ3hC,EAAOA,EAAK+vuB,QACjB5pxB,EAAG65C,EAEP,CAyCIs3U,CAASt3U,EAAM,SAAA4+H,GACbg/pB,GAAYC,EAAaC,EAAkBl/pB,EAAWntE,EACxD,GAEKA,CACT,CAuBkB0suB,CAAkBN,EAAaC,EAAkB99xB,GACjE+9xB,GAAWtsuB,EAASlkG,EACtB,EAEM6w0B,GAAgB,SAAChyQ,EAAU7+jB,EAAM4xxB,EAASn/uB,GAE9C,IADoBoshB,EAASiyQ,mBAAqB9w0B,EAAKq4I,SACpCu5oB,EAAQn/uB,GAAO,CAChC,IAAMs+xB,EAAU,IAAIhT,GAAQ,KAAM,GAC9B/9zB,EAAKq4I,QACP04rB,EAAQ30wB,KAAK,iBAAkB,KAEjC3pB,EAAKY,QAAQ8uG,OAAO4urB,EACtB,MACEt+xB,EAAKY,QAAQ8uG,OAAO,IAAI47qB,GAAQ,QAAS,IAAIzy0B,MAAQsgyB,EAEzD,EAKMolD,GAAe,SAACv+xB,EAAM3pD,GAC1B,IAAMm5J,EAAaxvG,aAAwC,EAAIA,EAAKwvG,WACpE,OAAOm5nB,EAAcn5nB,IAAeA,IAAexvG,EAAKm4D,WAAaq3C,EAAWn5J,OAASA,CAC3F,EAKM+/B,GAAU,SAACxZ,EAAQ64xB,EAAkBD,EAAoBx1vB,GAAI,OAAKA,EAAK5pB,QAAQq/wB,EAAkBD,EAAoB,SAAAx1vB,GAAI,OAJ9G,SAACpjC,EAAQojC,GACxB,IAAMyoL,EAAO7rN,EAAO6txB,eAAezqvB,EAAK3pD,MACxC,OAAwE,KAAhEoyO,aAAwC,EAAIA,EAAKk9jB,UAC3D,CACmI64C,CAAS5h0B,EAAQojC,EAAK,EAAE,EAErJy+xB,GAAyB,SAAAt5gB,GAE7B,IADA,IAAIu5gB,EACK1+xB,EAAOmlR,EAAOnlR,EAAMA,EAAOA,EAAKN,OAAQ,CAC/C,IAAMixoB,EAAkB3woB,EAAK2pB,KAAK,mBAClC,GAAwB,UAApBgnnB,EACF,MAC6B,SAApBA,IACT+tJ,EAAe1+xB,EAEnB,CACA,OAAOupuB,EAASxquB,KAAK2/xB,EACvB,EAEMC,GAA4B,SAAC3+xB,EAAMpjC,GAA8C,IAAtCgi0B,EAAkBpj1B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAGwkD,EAAKN,OACzE,GAAI9iC,EAAOgvxB,qBAAqB5rvB,EAAK3pD,MACnC2pD,EAAKY,QAAQj+B,aACR,CACL,IACgCnW,EADCC,EAAAnO,EAAhB0hD,EAAKy2B,YACU,IAAhC,IAAAhqE,EAAAlO,MAAAiO,EAAAC,EAAAjO,KAAAC,MAAkC,CAAC,IAAxBmgL,EAASpyK,EAAA3T,MACd+l1B,IAAuBhi0B,EAAO2ixB,aAAaq/C,EAAmBvo1B,KAAMuoL,EAAUvoL,OAChFso1B,GAA0B//pB,EAAWhiK,EAAQgi0B,EAEjD,CAAC,OAAAlg1B,GAAA+N,EAAArW,EAAAsI,EAAA,SAAA+N,EAAA9N,GAAA,CACDqhD,EAAK+7c,QACP,CACF,EACM8iV,GAAoB,SAACnsuB,EAAO91F,EAAQyuK,GAOxC,IAPuE,IAArBljH,EAAQ3sE,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAGyoH,EACvD66tB,EAAoBli0B,EAAOqqxB,uBAC3BwO,EAAmB74xB,EAAO4uxB,sBAC1BgK,EAAqB54xB,EAAO8uxB,wBAC5BqzC,EAAwBrvD,GAAMC,QAAQ,4CACtCzwsB,EAAQ,IAAIlf,IACZg/wB,EAAsB,SAAAh/xB,GAAI,OAAIA,IAASqrI,IAAa0zpB,EAAsB/+xB,EAAK3pD,KAAM,EAClFk4kB,EAAK,EAAGA,EAAK77d,EAAM16G,OAAQu2kB,IAAM,CACxC,IAAMvuhB,EAAO0yD,EAAM67d,GACf7uhB,OAAM,EACNu/xB,OAAS,EACT5iD,OAAQ,EACZ,GAAKr8uB,EAAKN,SAAUw/B,EAAMphF,IAAIkiD,GAG9B,GAAI8+xB,EAAkB9+xB,EAAK3pD,OAA8B,OAArB2pD,EAAKN,OAAOrpD,KAAhD,CAEE,IADA,IAAI42rB,EAAUjtoB,EAAKp6C,KACZqnrB,GACD6xJ,EAAkB7xJ,EAAQ52rB,OAC5B42rB,EAAQ52rB,KAAO,KACf6oF,EAAMl4E,IAAIimrB,GACVjtoB,EAAKN,OAAOkmG,OAAOqniB,EAASjtoB,EAAKN,QAInCutoB,EAAUA,EAAQrnrB,KAEpBo6C,EAAK+7c,QAEP,KAdA,CAeA,IAAMgwB,EAAU,CAAC/re,GACjB,IAAKN,EAASM,EAAKN,OAAQA,IAAW9iC,EAAO2ixB,aAAa7/uB,EAAOrpD,KAAM2pD,EAAK3pD,OAAS2o1B,EAAoBt/xB,GAASA,EAASA,EAAOA,OAChIqse,EAAQzuhB,KAAKoiD,GAEf,GAAIA,GAAUqse,EAAQ/zhB,OAAS,EAC7B,GAAKkn1B,GAAUti0B,EAAQojC,EAAMN,GA+B3Bi/xB,GAA0B3+xB,EAAMpjC,OA/BI,CACpCmvgB,EAAQl1d,UAERsR,EADA82wB,EAAYlzT,EAAQ,GAAG9khB,SAGvB,IADA,IAAI+sb,EAAcirZ,EACT1m1B,EAAI,EAAGA,EAAIwzhB,EAAQ/zhB,OAAS,EAAGO,IAAK,CACvCqkB,EAAO2ixB,aAAavrW,EAAY39b,KAAM01hB,EAAQxzhB,GAAGlC,OAASkC,EAAI,GAEhE4vE,EADAk0tB,EAAWtwQ,EAAQxzhB,GAAG0O,SAEtB+sb,EAAYtkS,OAAO2soB,IAEnBA,EAAWroW,EAEb,IAAK,IAAIp1Q,EAAYmtW,EAAQxzhB,GAAGi3J,WAAYovB,GAAaA,IAAcmtW,EAAQxzhB,EAAI,IAAK,CACtF,IAAMw7b,EAAWn1Q,EAAUh5K,KAC3By2xB,EAAS3soB,OAAOkvB,GAChBA,EAAYm1Q,CACd,CACAC,EAAcqoW,CAChB,CACKjmwB,GAAQxZ,EAAQ64xB,EAAkBD,EAAoBypC,GAIzDv/xB,EAAOkmG,OAAO5lG,EAAM+re,EAAQ,IAAI,IAHhCrse,EAAOkmG,OAAOq5rB,EAAWlzT,EAAQ,IAAI,GACrCrse,EAAOkmG,OAAO5lG,EAAMi/xB,IAItBv/xB,EAASqse,EAAQ,IACb31f,GAAQxZ,EAAQ64xB,EAAkBD,EAAoB91vB,IAAW6+xB,GAAa7+xB,EAAQ,QACxFA,EAAOkB,QAAQj+B,QAEnB,MAGK,GAAIq9B,EAAKN,OAAQ,CACtB,GAAkB,OAAdM,EAAK3pD,KAAe,CACtB,IAAI42rB,EAAUjtoB,EAAKr6C,KACnB,GAAIsnrB,IAA6B,OAAjBA,EAAQ52rB,MAAkC,OAAjB42rB,EAAQ52rB,MAAgB,CAC/D42rB,EAAQv9hB,OAAO1vG,GACf,QACF,CAEA,IADAitoB,EAAUjtoB,EAAKp6C,QACkB,OAAjBqnrB,EAAQ52rB,MAAkC,OAAjB42rB,EAAQ52rB,OAAkB42rB,EAAQz9hB,WAAY,CACrFy9hB,EAAQrniB,OAAO5lG,EAAMitoB,EAAQz9hB,YAAY,GACzC,QACF,CACA,IAAM7sG,EAAU,IAAI2oxB,GAAQ,KAAM,GAClCnjwB,EAASxlB,GACT3C,EAAKxK,KAAKmN,GACV,QACF,CACA,GAAI/lC,EAAO2ixB,aAAav/uB,EAAKN,OAAOrpD,KAAM,QAAUumB,EAAO2ixB,aAAa,MAAOv/uB,EAAK3pD,MAAO,CACzF,IAAMssD,EAAU,IAAI2oxB,GAAQ,MAAO,GACnCnjwB,EAASxlB,GACT3C,EAAKxK,KAAKmN,EACZ,MACEg8xB,GAA0B3+xB,EAAMpjC,EAEpC,CA/DA,CAgEF,CACF,EAWMsi0B,GAAY,SAACti0B,EAAQojC,GAAgC,IAA1BN,EAAMlkD,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAGwkD,EAAKN,OAC7C,QAAKA,OAGD9iC,EAAO65D,SAASz2B,EAAK3pD,OAAUumB,EAAO2ixB,aAAa7/uB,EAAOrpD,KAAM2pD,EAAK3pD,WAGvD,MAAd2pD,EAAK3pD,OAjBQ,SAAC2pD,EAAMmxjB,GAExB,IADA,IAAIkrL,EAAWr8uB,EACRq8uB,GAAU,CACf,GAAIA,EAAShmyB,OAAS86mB,EACpB,OAAO,EAETkrL,EAAWA,EAAS38uB,MACtB,CACA,OAAO,CACT,CAQ2By/xB,CAAWz/xB,EAAQ,UApP5B,SAAAM,GAAI,MAAkB,YAAdA,EAAK3pD,IAAmB,CAuP5C+o1B,CAAU1/xB,KAAWi+xB,GAAU39xB,QACvBN,aAA4C,EAAIA,EAAO8vG,cAAgBxvG,IAASN,aAA4C,EAAIA,EAAOy4D,aAAen4D,IAGpK,EAQMq/xB,GAA+B,SAAAx3Z,GACnC,IAAMqwM,EAAW+mL,GAAcC,eAAer3X,GACxCswM,EAAS8mL,GAAcE,aAAat3X,GACpCx8P,EAAWw8P,EAAI6oT,wBACrB,OAAOugF,IAAa,EAAO5loB,EAAU8sc,GAAQxvnB,IAAI,SAAA220B,GAC/C,OAAKlxB,GAAcl2L,EAAUC,EAAQ9sc,IAAa+ioB,GAAcl2L,EAAUonN,EAAWj0pB,GAXrE,SAACgoQ,EAAIhpB,EAAIuoB,EAAIxpB,GAC/B,IAAMye,EAAMpoa,SAAS8nb,cAGrB,OAFA1f,EAAIihB,SAASzV,EAAIhpB,GACjBwd,EAAIkhB,OAAOnW,EAAIxpB,GACRye,CACT,CAOa0f,CAAY2wL,EAASzkiB,YAAaykiB,EAASl9mB,SAAUsk0B,EAAU7rvB,YAAa6rvB,EAAUtk0B,UAEtF6sa,CAEX,GAAG8gT,MAAM9gT,EACX,EACMtuF,GAAY,SAAAsuF,GAAG,OAAIA,EAAIptL,UAAYotL,EAAMw3Z,GAA6Bx3Z,EAAK,EAQ3E03Z,GAAqB,SAAC3i0B,EAAQojC,GAElC,OADsBpjC,EAAOgixB,mBACR5+uB,EAAK3pD,OARF,SAAA2pD,GACxB,OAAO2ouB,EAAc3ouB,EAAKwvG,aAAexvG,EAAKwvG,aAAexvG,EAAKm4D,SACpE,CAMqCqnuB,CAAkBx/xB,IALjC,SAAAA,GACpB,MAAqB,OAAdA,EAAK3pD,MAAiB2pD,EAAKnnD,QAAUsgyB,EAC9C,CAGgEsmD,CAAcz/xB,EAAKwvG,WACnF,EAKMkwrB,GAAiB,SAAC9i0B,EAAQ0yI,GAC9B,IAAIE,EAAaF,EAASE,WACtBr3C,EAAYm3C,EAASn3C,UAUzB,OATIq3C,GAAkC,SAApBA,EAAWn5J,OAC3Bm5J,EAAaA,EAAW5pJ,MAEtBuyG,GAAsC,eAAzBA,EAAUxuC,KAAK,QAC9BwuC,EAAYA,EAAUxyG,MAXK,SAACiX,EAAQojC,GACtC,IAAMy1vB,EAAmB74xB,EAAO4uxB,sBAChC,OAAO7iB,EAAc3ouB,KAAUA,EAAK5pB,QAAQq/wB,IAAqB8pC,GAAmB3i0B,EAAQojC,GAC9F,CAUM2/xB,CAAuB/i0B,EAAQu7F,KACjCA,EAAYA,aAAkD,EAAIA,EAAUxyG,SAEzE6pJ,GAAcA,IAAer3C,KAGP,OAApBq3C,EAAWn5J,MAAqC,OAApBm5J,EAAWn5J,KAChD,EA2BMup1B,GAAmB,SAAA5/xB,GACvB,OAAO2ouB,EAAc3ouB,aAAwC,EAAIA,EAAKwvG,aAAexvG,EAAKwvG,aAAexvG,EAAKm4D,WAJ9F,SAAAn4D,GAChB,OAAOA,EAAKriD,OAASw7xB,IAAQX,GAAOx4uB,EACtC,CAE6H4gc,CAAU5gc,EAAKwvG,WAC5I,EAIMqwrB,GAAgB,SAAArtC,GACpB,OAAOA,EAAKx6yB,OAAS,MAJCgxB,EAIoBwpxB,EAAKA,EAAKx6yB,OAAS,IAHjDw3J,YAAcowrB,GAAiB52zB,IAGwBwpxB,EAAKpkyB,MAAM,GAAI,GAAKokyB,EAJjE,IAAAxpxB,CAKxB,EACM82zB,GAAc,SAACnnY,EAAK34Z,GACxB,IAAMq/uB,EAAc1mV,EAAIlqI,UAAUzuR,EAAM24Z,EAAIwmV,SAC5C,OAAOE,GAAwC,OAAzBA,EAAYxsrB,SAAoBwsrB,EAAc,IACtE,EAiBM0gD,GAAa,SAAC//xB,EAAMqrI,GACxB,IAAM+9oB,EAAWnqB,GAAcrggB,MAAM5+P,GAE/BggyB,EADcrvB,GAAYtloB,GACA1lL,KAAKyj0B,GACrC,OAAO4W,EAAcA,EAAYpza,UAAY,IAC/C,EAcMqza,GAAiB,SAAC390B,EAAQkwyB,EAAMnnnB,GACpC,IAAMm3L,EAAYlgX,EAAOivG,WAMzB,OALIixQ,GACFkta,GAAMv6tB,KAAKq9uB,EAAM,SAAAxpxB,GACfw5V,EAAUxvQ,aAAahqF,EAAK1mB,EAC9B,GA9BgB,SAAC09C,EAAMqrI,GACzB,IAAM+9oB,EAAWnqB,GAAc50pB,OAAOrqG,GAEhCggyB,EADcrvB,GAAYtloB,GACAzlL,KAAKwj0B,GACrC,OAAO4W,EAAcA,EAAYpza,UAAY,IAC/C,CA2BSsza,CAAY590B,EAAQ+oL,EAC7B,EAKM80pB,GAAkB,SAAC//0B,EAAYu4c,EAAK9wB,EAAKv4R,GAC7C,IAvEgBtmI,EACZq5B,EAsEE+9xB,EA5Ec,SAACznY,EAAKv4c,EAAYkvJ,GACtC,IAAMk2N,EAAOplX,EAAWxH,UAAU02J,GAElC,OAfyB,SAAA8wrB,GACzB,IAAI/9xB,EAAIigU,EACF9yN,EAAa4wrB,EAAY5wrB,WACzBr3C,EAAYiouB,EAAYjouB,UAO9B,OANIq3C,GAAsC,SAAxBA,EAAW38C,WACM,QAAhCxwD,EAAKmtG,EAAWj+C,kBAAoC,IAAZlvD,GAAyBA,EAAG5E,YAAY+xG,IAE/Er3C,GAA8B,eAAjBA,EAAU58F,KACO,QAA/B+mW,EAAKnqQ,EAAU5G,kBAAoC,IAAZ+wQ,GAAyBA,EAAG7kU,YAAY06D,IAE3EiouB,CACT,CAISC,CADa1nY,EAAIy7V,eAAe5ub,GAEzC,CAwEsB86d,CAAc3nY,EAAKv4c,EAAYkvJ,GAC7CixrB,EAAWT,GAAYnnY,EAAK9wB,EAAI4jT,gBAChC+0G,EAASX,IAzEC72zB,EAyEuBo3zB,EAAY5wrB,WAvE5C+6nB,GAA6E,QAAnElouB,EAAKr5B,aAAsC,EAAIA,EAAImR,kBAAoC,IAAZkoB,EAAgBA,EAAK,GAAI,SAAAs3B,GACnH,MAA0B,OAAnBA,EAAMk5B,QACf,KAwEMw4E,EAAWstR,EAAIy5V,UACfquC,EAAO,SAAArxzB,GACX,IAAMg6yB,EAAWnqB,GAAcC,eAAer3X,GACxC64Z,EAAc/vB,GAAYh4W,EAAIy5V,WAC9Bs+B,EANU,IAMDthzB,EAAyBsxzB,EAAY/60B,KAAKyj0B,GAAYsX,EAAY960B,KAAKwj0B,GAChFuX,EAAajQ,aAA4C,EAAIA,EAAO/hG,UAC1E,OAAOgyG,GAAab,GAAYnnY,EAAKgoY,KAAgBJ,CACvD,EACA,OAAKA,EAEME,EAZO,GAaTR,GAAeM,EAAUC,EAAQn1pB,GAC/Bo1pB,EAbH,GATY,SAACn+0B,EAAQkwyB,EAAMnnnB,EAAUstR,GAE7C,OADAA,EAAI08V,YAAY7C,EAAK37uB,UAAWv0D,GACzBy90B,GAAWvtC,EAAK,GAAInnnB,EAC7B,CAoBWu1pB,CAAcL,EAAUC,EAAQn1pB,EAAUstR,GA7ChC,SAACr2c,EAAQkwyB,EAAMnnnB,EAAUw8P,GAC5C,IAAM5xb,EApBS,SAACs7G,EAAYs2U,GAC5B,IAAMg5Z,EAAYh5Z,EAAIu2X,aAChB0iC,EAAWj5Z,EAAIu2X,aAGrB,OAFAyiC,EAAU31G,eAAe35nB,GACzBuvuB,EAASz1G,YAAY95nB,GACd,CAACsvuB,EAAUE,gBAAiBD,EAASC,gBAC9C,CAcgBC,CAAS1+0B,EAAQulb,GACzBrlE,EAAYlgX,EAAOivG,WASzB,OARIixQ,IACFA,EAAUxvQ,aAAa/8G,EAAM,GAAIqM,GACjCotxB,GAAMv6tB,KAAKq9uB,EAAM,SAAA34X,GACfr3D,EAAUxvQ,aAAa6mU,EAAIv3a,EAC7B,GACAkgX,EAAUxvQ,aAAa/8G,EAAM,GAAIqM,GACjCkgX,EAAU/kU,YAAYn7C,IAEjBy90B,GAAWvtC,EAAKA,EAAKx6yB,OAAS,GAAIqzL,EAC3C,CAmCW41pB,CAAaV,EAAUC,EAAQn1pB,EAAUw8P,GANzC,IAQX,EAEMq5Z,GAA2B,CAAC,OAiB5BC,GAAcvoD,GAyBdwoD,GAAuB,SAACzoY,EAAK3vb,EAAKpM,GACtC2swB,EAASxquB,KAAK45Z,EAAIlqI,UAAUzlT,EAAK,UAAUrgB,IAAI4pxB,GAAavpD,SAAS7zqB,KAAK,SAAA/9B,GAAE,OApgVlD,SAACpO,EAAKpM,GAChCu7F,GAAUnvF,GAAKmsC,KAAK,SAAAgjD,GAClBu6nB,GAAYv6nB,GAAWhjD,KAAK,SAAAksxB,GACtBzk0B,EAAOuixB,QAAQ9oyB,GAAK2yB,KAASywwB,GAAOthrB,IAAcv7F,EAAOuixB,QAAQ9oyB,GAAKgr1B,KACxEhsD,GAASl9qB,EAEb,EACF,EACF,CA4/UkFmpuB,CAAoBlqzB,EAAIxa,EAAO,EACjH,EA+FM2k0B,GAAwB,SAAA7nC,GAC5B,IAAM/gW,EAAM+gW,EAAO/gW,IACb9wB,EAAMtuF,GAAUmgd,EAAOx8hB,UAAU08hB,UACvCF,EAAOx8hB,UAAUkqe,OAAOv/T,GACxB,IAAMixZ,EAAYngY,EAAIlqI,UAAUo5G,EAAI4jT,eAAgB01G,KA7HnB,SAACxoY,EAAK9wB,EAAK2R,GAC5C,QAAImvV,EAAcnvV,IAETA,IADSmf,EAAIlqI,UAAUo5G,EAAI6jT,aAAcy1G,KACrB/sB,GAAuB7hC,GAAavpD,QAAQxvS,GAAO3R,EAIlF,CAuHM25Z,CAA2B7oY,EAAK9wB,EAAKixZ,GAE9BjxZ,EAAI4jT,iBAAmB5jT,EAAI6jT,cAAgB7jT,EAAI8jT,UAAY9jT,EAAIghH,cAAgB,GAAKsvP,GAAStwW,EAAI4jT,eAAetxsB,WAAW0tZ,EAAIghH,cACxIhhH,EAAIkvZ,iBAEJr9B,EAAOzyD,SAAStC,YAAY,UAAU,GAJtC81F,GAAmB/gC,EAAQ7xX,EAAK0qW,GAAavpD,QAAQ8vG,GAMzD,EAaM2I,GAAoB,SAAC/nC,EAAQ7gzB,EAAOwlT,GACxC,IAAIh8P,EAAIigU,EACFplG,EAAYw8hB,EAAOx8hB,UACnBy7L,EAAM+gW,EAAO/gW,IACbvuY,EAASsvuB,EAAOtvuB,OAChB1hC,EAAQ21Q,EAAQ31Q,MAChBtoC,EAAa8t0B,GAAe,CAChCv1hB,UAAU,GACT+ggB,EAAO98xB,QACJ8k0B,EAAe,iEAChBrjiB,EAAQsjiB,gBACX9o1B,EAAQ4hyB,GAAO5hyB,KAEkB,IAA/BA,EAAML,QAAQ,cAChBK,GAAS,YAEXA,EAAQA,EAAMogB,QAAQ,cAAeyo0B,GACrC,IAAI75Z,EAAM3qK,EAAU08hB,SACdgoC,EAAe/5Z,EAAI4jT,eACnBp5qB,EAAOqnvB,EAAO50D,UAChB88F,IAAiBvvxB,GAAQ6qN,EAAUwne,eACjC/rS,EAAIwmV,QAAQ9suB,EAAKm9F,aArGD,SAACkqpB,EAAQ15vB,GAC/B,OAAO2ouB,EAAc3ouB,KAAU05vB,EAAO98xB,OAAO0uxB,kBAAkBtrvB,EAAK6yD,SACtE,CAmGwCgvuB,CAAgBnoC,EAAQrnvB,EAAKm9F,aAAempT,EAAIvib,QAAQi8B,EAAKm9F,eAC/Fq4R,EAAM8wB,EAAI46V,aACNzqW,SAASz2Y,EAAKm9F,WAAY,GAC9Bq4R,EAAIkhB,OAAO12Y,EAAKm9F,WAAY,GAC5B0tH,EAAUkqe,OAAOv/T,IAGhB3qK,EAAUwne,eACb68F,GAAsB7nC,GAExB,IAAMnosB,EAAa2rK,EAAUyxd,UACvBmzG,EAAa,CACjBvk0B,QAASg0F,EAAWsB,SAAS35F,cAC7Bvb,KAAM0gT,EAAQ1gT,KACdioJ,QAAQ,GAEJ0J,EAAWllF,EAAOtwE,MAAMjB,EAAOip1B,GACrC,IAAsB,IAAlBzjiB,EAAQmwb,OAAkBkxG,GAAehmC,EAAO98xB,OAAQ0yI,IAnRtC,SAACqpT,EAAK34Z,GAC5B,QAAS8/xB,GAAYnnY,EAAK34Z,EAC5B,CAiR2E+hyB,CAAgBppY,EAAKpnW,GAK5F,OAJAs2U,EAAMs4Z,GAAgB//0B,EAAYu4c,EAAKz7L,EAAU08hB,SAAUtqpB,KAEzD4tH,EAAUkqe,OAAOv/T,GAEZhvb,GAEa,IAAlBwlT,EAAQmwb,OAhNiB,SAAC71R,EAAKrpT,EAAU/9C,EAAY5vB,GACzD,IAAIt/B,EACEg3wB,EAAY/pqB,EAASE,WACrB8pqB,EAAWhqqB,EAASn3C,UAEpB6puB,EAAyB3oB,KADiB,aAAnCC,EAAS3vvB,KAAK,iBAAkC2vvB,EAAS3zzB,KAAO2zzB,GAEvE2oB,EAAmB/3D,GAAWg3D,GAA0B7nB,EAAUhj0B,MACxE,GAAI2r1B,GAA0BC,EAAkB,CAC9C,IAAM5tD,EAA0D,UAAtCglC,EAAU1vvB,KAAK,mBACnCu4wB,GAAgF,QAAjD7/xB,EAAKs2Z,EAAIlqI,UAAUl9N,EAAYonW,EAAIwmV,gBAAkC,IAAZ98uB,OAAqB,EAAIA,EAAGwwD,SAAS35F,iBAAmBmgzB,EAAUhj0B,KAC1J8r1B,EAA6B54D,EAASxquB,KAAKo+xB,GAAyBx7vB,EAAM4vB,IAAaq8nB,OAAO8qD,IACpG,OAAOrE,GAAqB6tD,GAA8BC,CAC5D,CACE,OAAO,CAEX,CAiMgCC,CAAuBzpY,EAAKrpT,EAAU/9C,EAAYmosB,EAAO50D,aACtD,QAA9BzisB,EAAKitG,EAASE,kBAAoC,IAAZntG,GAAyBA,EAAG05c,UA9I1C,SAAAzsW,GAE3B,IADA,IAAItvG,EAAOsvG,EACJtvG,EAAOA,EAAK+vuB,QACC,IAAd/vuB,EAAKzmD,MACPymD,EAAK2pB,KAAK,oBAAqB,IAGrC,CAyIE04wB,CAAqB/yrB,GACrB,IAzI6BtmI,EAyIzBg3B,EAAOsvG,EAASn3C,UACpB,GAAIn4D,GAA4B,eAApBA,EAAK2pB,KAAK,MAAwB,CAC5C,IAAM1wE,EAAS+mD,EACf,IAAKA,EAAOA,EAAKr6C,KAAMq6C,EAAMA,EAAOA,EAAK+vuB,MAAK,GAC5C,GAAkB,IAAd/vuB,EAAKzmD,OAAeo/c,EAAIwmV,QAAQn/uB,EAAK3pD,MAAO,CAC1C2pD,EAAKN,QAAUg6vB,EAAO98xB,OAAO2ixB,aAAav/uB,EAAKN,OAAOrpD,KAAM,SAC9D2pD,EAAKN,OAAOkmG,OAAO3sJ,EAAQ+mD,EAAoB,OAAdA,EAAK3pD,MAExC,KACF,CAEJ,CAEA,GADAqjzB,EAAO4oC,oBAAoBC,wBAAwBhxuB,GAC9CuwuB,EAAW/uzB,SAlEW,SAAC4lb,EAAK34Z,EAAMsvG,GACvC,IAAIjtG,EACJ,OAAOwta,GAAOvgU,EAAS74E,WAAYknwB,KAA6G,aAAlD,QAA3Ct7xB,EAAKs2Z,EAAIlqI,UAAUzuR,EAAM24Z,EAAIwmV,gBAAkC,IAAZ98uB,OAAqB,EAAIA,EAAGwwD,SACpI,CA+D8B2vuB,CAAqB7pY,EAAKpnW,EAAY+9C,GAG3D,CACLoqpB,EAAOx8hB,UAAUg7d,WAAWwpG,GAC5B,IACIrlD,EADA9qrB,EAAa2rK,EAAUyxd,UAErBtjjB,EAAWqunB,EAAO50D,UAMxB,IALIwzC,GAAa/mrB,GACfA,EAAa8qrB,EAAWhxmB,EAExBgxmB,EAAW9qrB,EAEN8qrB,GAAYA,IAAahxmB,GAC9B95E,EAAa8qrB,EACbA,EAAWA,EAAS9qrB,WAEtB14G,EAAQ04G,IAAe85E,EAAWA,EAASpnJ,UAAY00a,EAAIu8V,aAAa3jsB,GACxE,IAAM5vB,EAAOvX,EAAOtwE,MAAMjB,GACpB4p1B,EA7Fa,SAAAt9gB,GACrB,IAAK,IAAIs9gB,EAAat9gB,EAAOs9gB,EAAYA,EAAaA,EAAW1yD,OAC/D,GAA8B,eAA1B0yD,EAAW94wB,KAAK,MAClB,OAAO4/sB,EAASpyvB,KAAKsrzB,GAGzB,OAAOl5D,EAAS/gX,MAClB,CAsFuBk6a,CAAe/gwB,GAC5BghwB,EAAcF,EAAWtkxB,KAAKsgxB,IAAwB91G,MAAMhnpB,GAClE8gwB,EAAWttxB,KAAK,SAAAl8D,GAAM,OAAIA,EAAOggB,QAAQq2I,EAAS,GAClD,IAAMszrB,EAAYtzrB,EAAS74E,WACrB/2B,EAAoC,QAA1B4iU,EAAKhzN,EAAS5vG,cAAgC,IAAZ4iU,EAAgBA,EAAK3gS,EACvE2tE,EAASysW,SACT,IAAMujS,EAAkB/U,GAASq4D,EAAW,SAAA5iyB,GAAI,OAAIk/xB,GAAUxlC,EAAO98xB,OAAQojC,EAAMN,EAAO,GAC1Fm/xB,GAAkBv/C,EAAiBoa,EAAO98xB,OAAQ+l0B,GAClDzE,GAAS9zwB,EAAOy4wB,iBAAkBz4wB,EAAO04wB,sBAAuBnhwB,GAChE9oF,EAAQuH,EAAWxH,UAAU+oF,GACzB4vB,IAAe85E,EACjBstR,EAAIm6V,QAAQznnB,EAAUxyL,GAEtB8/c,EAAIy8V,aAAa7jsB,EAAY14G,EAEjC,MAjCEA,EAAQuH,EAAWxH,UAAU02J,GAzMV,SAACoqpB,EAAQ7gzB,EAAO04G,GACrC,IAAIlvD,EACJ,GAAkD,QAA9CkvD,EAAWlB,aAAa,kBACO,QAAhChuD,EAAKkvD,EAAWA,kBAAoC,IAAZlvD,GAAyBA,EAAG2wD,aAAa0msB,EAAO/gW,IAAIy7V,eAAev7yB,GAAQ04G,OAC/G,CACL,IAAMvxD,EAAOuxD,EAAWi+C,WAClBo/pB,EAAQr9sB,EAAW4G,WACpBn4D,GAAQA,IAAS4uwB,GAA2B,OAAlB5uwB,EAAK6yD,SAClC6msB,EAAO/gW,IAAIm6V,QAAQvhsB,EAAY14G,GAE/B6gzB,EAAOx8hB,UAAUg7d,WAAWr/uB,EAAO,CACjCkq1B,WAAW,GAGjB,CACF,CA2LIC,CAAetpC,EAAQ7gzB,EAAO04G,GAsChC,OA7N+B,SAACmosB,EAAQhxwB,GACxC,IAAMu6yB,EAAqBvpC,EAAO98xB,OAAOyuxB,wBACnC1yV,EAAM+gW,EAAO/gW,IACnB,GAAIjwa,EAAO,CACT,IAAMi5C,EAAO+3tB,EAAO50D,UACdo+F,EAAe5F,GAAa5jC,GAClChqB,GAAMv6tB,KAAKwjZ,EAAIh9a,OAAO,wBAAyB,SAAAqkB,GAE7C,GADiB2ouB,EAAcs6D,EAAmBjjyB,EAAK6yD,SAAS35F,iBAChDu1zB,GAAqB91X,EAAK34Z,GACxC,IAAK,IAAIuxD,EAAavxD,EAAK2/F,cAAegpoB,EAAcp3qB,IAAeA,IAAe5vB,IAC9DgtvB,GAAiBh2X,EAAK34Z,EAAMuxD,GADwCA,EAAaA,EAAWouC,cAKlH,GAAIujsB,EAAa92xB,QAAQmlD,EAAYvxD,GAAO,CAC1C24Z,EAAIh2b,OAAOq9B,GAAM,GACjB,KACF,CAGN,EACF,CACF,CAkMEmjyB,CAAyBzpC,EAAQhxwB,GA9KL,SAACgxwB,EAAQzgzB,GACrC,IAAIopD,EAAIigU,EAAIjhU,EACR+hyB,EACEzqY,EAAM+gW,EAAO/gW,IACbz7L,EAAYw8hB,EAAOx8hB,UACzB,GAAKjkR,EAAL,CAGAikR,EAAU1N,eAAev2Q,GACzB,IAAMoq1B,EAAoBlG,GAAyBzjC,EAAO50D,UAAW7rvB,GACrE,GAAIoq1B,GAAmE,UAA9C1qY,EAAIi7V,mBAAmByvC,GAG9C,OAFA1qY,EAAIh2b,OAAO1pB,QACXikR,EAAUvhP,OAAO0nzB,GAGnB,IAAIx7Z,EAAM8wB,EAAI46V,YACRvzvB,EAAO/mD,EAAOyrb,gBACpB,GAAIyzW,GAASn4uB,GAAO,CAClB6nY,EAAIihB,SAAS9oZ,EAAsF,QAA/EsiU,EAA+B,QAAzBjgU,EAAKrC,EAAKukU,iBAAmC,IAAZliU,OAAqB,EAAIA,EAAGrqD,cAAgC,IAAZsqX,EAAgBA,EAAK,GAChI,IAAMssc,EAAQ31zB,EAAOslX,YACjB45a,GAASy2B,KACX5uwB,EAAKq/rB,WAAWuvE,EAAMjxzB,MACM,QAA3B0jD,EAAKutwB,EAAMr9sB,kBAAoC,IAAZlwD,GAAyBA,EAAG5D,YAAYmxwB,GAEhF,MACE/mY,EAAIqjT,eAAejyuB,GACnB4ub,EAAIujT,aAAanyuB,GAEnB,IAMMomyB,EAAc1mV,EAAIlqI,UAAUx1U,EAAQ0/c,EAAIwmV,SAE9C,GADAxmV,EAAIh2b,OAAO1pB,GACPomyB,GAAe1mV,EAAIvib,QAAQipwB,GAAc,CAC3C,IAAMikD,EAASnC,GAAY9hD,GAC3Bz+uB,GAAM2xuB,GAAavpD,QAAQq2D,IAC3Bx3W,EAAIihB,SAASu2V,EAAa,GAC1Bx3W,EAAIkhB,OAAOs2V,EAAa,GACnBikD,GA/CgB,SAAAtjyB,GACvB,QAASA,EAAKqwD,aAAa,oBAC7B,CA6CoBkzuB,CAAiBlkD,MAAiB+jD,EAb3B,SAAAv7Z,GACvB,IAAIuhZ,EAAWnqB,GAAcC,eAAer3X,GAG5C,OAAOuhZ,OADPA,EADoBzY,GAAYjX,EAAO50D,WAChBl/uB,KAAKwj0B,SAC2B,EAAIA,EAASx8Z,SACtE,CAQ8D42a,CAAiB37Z,IAI3E8wB,EAAI3xc,IAAIq4xB,EAAa1mV,EAAItna,OAAO,KAAMiyyB,EAAS,CAAC,EAAI,CAClD,iBAAkB,QAJpBz7Z,EAAMu7Z,EACNzqY,EAAIh2b,OAAO08wB,GAMf,CACAnihB,EAAUkqe,OAAOv/T,EA3CjB,CA4CF,CA4HE47Z,CAAsB/pC,EAAQ/gW,EAAI36c,IAAI,eA1LTgrB,EA2LN0wxB,EAAO50D,UA1L9B4qC,GAAMv6tB,KAAKnsC,EAAIoR,qBAAqB,KAAM,SAAApR,GACxCA,EAAIolF,gBAAgB,oBACtB,GAyLAgzuB,GAAqBzoY,EAAKz7L,EAAU6ud,WAAY2tE,EAAO98xB,QAl2UrC,SAACA,EAAQ+kE,EAAM+hwB,GACjC,IACM33T,EAAU+mQ,GAAUP,GAAavpD,QAAQ06G,GADhC,SAAAtszB,GAAE,OAAIgqD,GAAGhqD,EAAIm7vB,GAAavpD,QAAQrnpB,GAAO,GAExDopsB,GAAMh/P,EAASA,EAAQ/zhB,OAAS,GAAGu4B,OAAOsgwB,IAAa5mD,KAAK,kBAAMpmX,GAAejnW,EAAQ+kE,EAAK,EAAE,SAAAwjP,GAAK,OAAI0+C,GAAejnW,EAAQuoT,EAAMwzI,IAAI,EAC5I,CA+1UEgrY,CAAYjqC,EAAO98xB,OAAQ88xB,EAAO50D,UAAW5ne,EAAU6ud,YAChDlzuB,CACT,EAEM+q1B,GAAa,SAAAvl0B,GAAO,OAAIA,aAAmBitzB,EAAQ,EAWnDuY,GAAgB,SAACnqC,EAAQl0b,EAAMs+d,GACnCpqC,EAAO/gW,IAAIm6V,QAAQ4G,EAAO50D,UAAWt/X,IACjB,IAAhBs+d,GAXgB,SAAApqC,GAChBh8hB,GAASg8hB,IACX8X,GAAgB9X,EAAO50D,WAAW3vrB,KAAK,SAAA7a,GACrC,IAAM0F,EAAO1F,EAAIq0rB,UACXy6F,EAAWpxC,GAAUh4uB,GAAQwxwB,GAAgBxxwB,GAAM2orB,MAAMrurB,GAAOA,EACtEo/vB,EAAOx8hB,UAAUkqe,OAAOgiF,EAASx8Z,UACnC,EAEJ,CAII0pa,CAAc58B,EAElB,EAmDMqqC,GAAqB,SAACrqC,EAAQr7xB,EAAS9Q,GAC3C,OAAOg8wB,EAASxquB,KAAK26vB,EAAO50D,WAAWn8uB,IAAI,SAAA0pD,GACzC,OAAIuxxB,GAAWvl0B,GAdI,SAACq7xB,EAAQrnvB,EAAMh0C,EAAS9Q,GAC7C2w0B,GAASxkC,EAAOtvuB,OAAOy4wB,iBAAkBnpC,EAAOtvuB,OAAO04wB,sBAAuBzk0B,GAC9E,IAAMmnW,EAAO0od,GAAe,CAC1Bv1hB,UAAU,GACT+ggB,EAAO98xB,QAAQhkB,UAAUylB,GACtB2l0B,EAAcvpD,GAAOV,GAAoBxH,GAAavpD,QAAQ32qB,IAASmzT,EAAOkqa,GAAMl/tB,KAAKg1T,IAE/F,OADAq+d,GAAcnqC,EAAQsqC,EAAaz20B,EAAKgp0B,cACjC,CACLl4zB,UACAmnW,KAAMw+d,EAEV,CAIaC,CAAevqC,EAAQrnvB,EAAMh0C,EAAS9Q,GArD1B,SAACmsyB,EAAQrnvB,EAAMh0C,EAAS9Q,GAE/C,GAAuB,KADvB8Q,EAAUo8wB,GAAOp8wB,IACLrmB,QAAgB,QAAQiC,KAAKokB,GAAU,CACjD,IAAM6l0B,EAAO,0BACS,UAAlB7xxB,EAAKwgD,SACPx0F,EAAU,WAAa6l0B,EAAO,aACrB,YAAYjq1B,KAAKo4D,EAAKwgD,YAC/Bx0F,EAAU,OAAS6l0B,EAAO,SAE5B,IAAMC,EAAsBn/B,GAAmBtL,GAQ/C,OAPIA,EAAO98xB,OAAO2ixB,aAAaltuB,EAAKwgD,SAAS35F,cAAeir0B,EAAoBjr0B,gBAC9EmF,EAAU6l0B,EACV7l0B,EAAUq7xB,EAAO/gW,IAAI26R,WAAW6wG,EAAqBl/B,GAAwBvL,GAASr7xB,IAC5EA,IACVA,EAAU6l0B,GAEZL,GAAcnqC,EAAQr7xB,EAAS9Q,EAAKgp0B,cAC7B,CACLl4zB,UACAmnW,KAAMnnW,EAEV,CACsB,QAAhB9Q,EAAKuhX,SACPzwW,EAAU6vzB,GAAe,CACvBv1hB,UAAU,GACT+ggB,EAAO98xB,QAAQhkB,UAAU8gzB,EAAOtvuB,OAAOtwE,MAAMukB,EAAS,CACvD4muB,eAAe,EACfr/lB,QAAQ,MAGZ,IAAMo+rB,EAAcjqD,GAAoBxH,GAAavpD,QAAQ32qB,IAASh0C,EAAUqxwB,GAAMl/tB,KAAKnyC,GAE3F,OADAwl0B,GAAcnqC,EAAQsqC,EAAaz20B,EAAKgp0B,cACjC,CACLl4zB,QAAS2l0B,EACTx+d,KAAMw+d,EAGZ,CAkBaI,CAAiB1qC,EAAQrnvB,EAAMh0C,EAAS9Q,EAEnD,GAAGo7tB,MAAM,CACPtqtB,UACAmnW,KAAMo+d,GAAWr20B,EAAK8Q,SAAW,GAAK9Q,EAAK8Q,SAE/C,EAEMgm0B,GAAe,SAAAzud,GAAM,OAAI5xU,EAAW4xU,GAAUA,EAAS0zZ,CAAM,EAgB7Dg7D,GAAY,SAACn/gB,EAAOpgP,EAAW6wS,GACnC,IAAMzxO,EAAUp/D,EAAUogP,GACpBn/T,EAAOq+0B,GAAazud,GAC1B,OAAOzxO,EAAQ6llB,QAAQ,kBAAMhkuB,EAAKm/T,GAASokd,EAAS/gX,OAlBrC,SAACrjG,EAAOpgP,EAAW6wS,GAGlC,IAFA,IAAIxlR,EAAU+0N,EAAMwzI,IACd3yc,EAAOq+0B,GAAazud,GACnBxlR,EAAQmB,YAAY,CACzBnB,EAAUA,EAAQmB,WAClB,IAAMn6E,EAAKm7vB,GAAavpD,QAAQ54nB,GAC1Bm0uB,EAAcx/vB,EAAU3tD,GAC9B,GAAImtzB,EAAY/7G,SACd,OAAO+7G,EACF,GAAIv+0B,EAAKoxB,GACd,KAEJ,CACA,OAAOmyvB,EAAS/gX,MAClB,CAI+DnzR,CAAS8vL,EAAOpgP,EAAW/+E,EAAK,EAC/F,EAEMw+0B,GAASxuB,GACTyuB,GAAmC,SAACp2J,EAAIruoB,EAAM3pD,GAClD,IAAMqi0B,EAAarqI,EAAGz/L,UAAU5wf,IAAI3H,GACpC,GAAIqi0B,EACF,IAAK,IAAIng0B,EAAI,EAAGA,EAAImg0B,EAAW1g0B,OAAQO,IAAK,CAC1C,IAAMu2X,EAAS4pc,EAAWng0B,GAC1B,GAAI6+zB,GAAiBtoc,KAA8B,IAAnBA,EAAO8mJ,SAAqBy4K,EAAG11O,IAAI1qa,GAAG+R,EAAM8uU,EAAOh9P,UACjF,OAAO,CAEX,CAEF,OAAO,CACT,EACM4ytB,GAAe,SAAChrC,EAAQ15vB,EAAM3pD,EAAMsyO,EAAMg8mB,GAC9C,IAAMhjwB,EAAO+3tB,EAAO/gW,IAAIy5V,UACxB,GAAIpyvB,IAAS2hC,EACX,OAAO,EAET,IAAMijwB,EAAclrC,EAAO/gW,IAAIlqI,UAAUzuR,EAAM,SAAAh3B,GAC7C,QAAIy7zB,GAAiC/qC,EAAQ1wxB,EAAK3yB,KAG3C2yB,EAAIuoF,aAAe5vB,KAAUkjwB,GAAUnrC,EAAQ1wxB,EAAK3yB,EAAMsyO,GAAM,GACzE,GACA,QAASk8mB,GAAUnrC,EAAQkrC,EAAavu1B,EAAMsyO,EAAMg8mB,EACtD,EACMG,GAAY,SAACnsY,EAAK34Z,EAAM8uU,GAC5B,SAAIuoc,GAAevoc,KAAW01d,GAAOxkyB,EAAM8uU,EAAOj3N,cAG9Cs/pB,GAAcroc,KAAW01d,GAAOxkyB,EAAM8uU,EAAOlzI,WAG7Cw7kB,GAAiBtoc,KACZ0oa,GAAYx3uB,IAAS24Z,EAAI1qa,GAAG+R,EAAM8uU,EAAOh9P,WAGpD,EACMiztB,GAAa,SAACpsY,EAAK34Z,EAAM8uU,EAAQk2d,EAAUL,EAASh8mB,GACxD,IAAMlrN,EAAQqxW,EAAOk2d,GACfC,EAA+B,eAAbD,EACxB,GAAIhhyB,EAAW8qU,EAAOo2d,SACpB,OAAOp2d,EAAOo2d,QAAQllyB,EAAM8uU,EAAQk2d,GAEtC,GAAIvn0B,EACF,GAAKioE,GAAYjoE,IAkBf,IAAK,IAAIllB,EAAI,EAAGA,EAAIklB,EAAMzlB,OAAQO,IAChC,GAAI0s1B,EAAkBtsY,EAAIm5V,UAAU9xvB,EAAMviC,EAAMllB,IAAMg6yB,GAAS55V,EAAK34Z,EAAMviC,EAAMllB,IAC9E,OAAO,OAnBX,IAAK,IAAMuC,KAAO2iB,EAChB,GAAImuwB,GAAMnuwB,EAAO3iB,GAAM,CACrB,IAAMjC,EAAQos1B,EAAkBtsY,EAAIm5V,UAAU9xvB,EAAMllD,GAAOy3yB,GAAS55V,EAAK34Z,EAAMllD,GACzEqq1B,EAAgBpvB,GAAYt4yB,EAAM3iB,GAAM6tO,GACxCy8mB,EAAe18D,EAAW7vxB,IAAUu0xB,GAAUv0xB,GACpD,GAAIus1B,GAAgB18D,EAAWy8D,GAC7B,SAEF,GAAIR,GAAWS,IAAiBt2d,EAAO34J,MACrC,OAAO,EAET,KAAMwunB,GAAW71d,EAAO34J,SAAWqunB,GAAO3r1B,EAAOq9zB,GAAoBivB,EAAerq1B,IAClF,OAAO,CAEX,CAUN,OAAO,CACT,EACM+p1B,GAAY,SAACx2J,EAAIruoB,EAAM3pD,EAAMsyO,EAAMg8mB,GACvC,IAAMjsB,EAAarqI,EAAGz/L,UAAU5wf,IAAI3H,GAC9Bsid,EAAM01O,EAAG11O,IACf,GAAI+/W,GAAclhC,GAAYx3uB,GAC5B,IAAK,IAAIznD,EAAI,EAAGA,EAAImg0B,EAAW1g0B,OAAQO,IAAK,CAC1C,IAAMu2X,EAAS4pc,EAAWng0B,GAC1B,GAAIus1B,GAAUz2J,EAAG11O,IAAK34Z,EAAM8uU,IAAWi2d,GAAWpsY,EAAK34Z,EAAM8uU,EAAQ,aAAc61d,EAASh8mB,IAASo8mB,GAAWpsY,EAAK34Z,EAAM8uU,EAAQ,SAAU61d,EAASh8mB,GAAO,CAC3J,IAAMm/I,EAAUgH,EAAOhH,QACvB,GAAIA,EACF,IAAK,IAAIx5W,EAAI,EAAGA,EAAIw5W,EAAQ9vX,OAAQsW,IAClC,IAAK+/qB,EAAG11O,IAAIzyB,SAASlmY,EAAM+1wB,GAAYjuc,EAAQx5W,GAAIq6N,IACjD,OAIN,OAAOmmJ,CACT,CACF,CAGJ,EACMu2d,GAAU,SAAC3rC,EAAQrjzB,EAAMsyO,EAAM3oL,EAAM2kyB,GACzC,GAAI3kyB,EACF,OAAO0kyB,GAAahrC,EAAQ15vB,EAAM3pD,EAAMsyO,EAAMg8mB,GAGhD,GADA3kyB,EAAO05vB,EAAOx8hB,UAAUyxd,UACpB+1G,GAAahrC,EAAQ15vB,EAAM3pD,EAAMsyO,EAAMg8mB,GACzC,OAAO,EAET,IAAMrsZ,EAAYohX,EAAOx8hB,UAAU6ud,WACnC,QAAIzzS,IAAct4Y,IACZ0kyB,GAAahrC,EAAQphX,EAAWjic,EAAMsyO,EAAMg8mB,GAKpD,EAgBM33lB,GAAU,SAAC0sjB,EAAQvswB,GACvB,IAAMyoV,EAAS,SAAA5sW,GAAG,OAAIo4D,GAAGp4D,EAAKupwB,GAAavpD,QAAQ0wE,EAAO50D,WAAY,EAEtE,OAAOykC,EAASxquB,KAAK26vB,EAAOx8hB,UAAU6ud,UAAS,IAAO5tqB,KAAK,SAAAmnxB,GAAM,OAAIhB,GAAU/xD,GAAavpD,QAAQs8G,GAAS,SAAAt8zB,GAAG,OAAIiiwB,GAAQ99uB,EAAO,SAAA92C,GAAI,OADzH,SAAC2yB,EAAK3yB,GAAI,OAAKwu1B,GAAUnrC,EAAQ1wxB,EAAI2vb,IAAKtid,GAAQkzxB,EAASpyvB,KAAK9gC,GAAQkzxB,EAAS/gX,MAAO,CACqCrua,CAAM6uB,EAAK3yB,EAAK,EAAC,EAAEu/X,EAAO,GAAEsmb,WACzK,EAqBMqpC,GAAiB,SAAC7rC,EAAQ15vB,EAAMwlyB,GAAW,OAAK/6D,GAAM+6D,EAAa,SAACtyvB,EAAK78F,GAC7E,IAAMov1B,EAh/IqB,SAAC/rC,EAAQ8c,GAQpC,OAAOD,GAAkB7c,EAAQ8c,EAPP,SAAA1nc,GACxB,IAAM42d,EAAkB,SAAAp3yB,GAAG,OAAI0V,EAAW1V,IAAQA,EAAIt2C,OAAS,GAAuB,MAAlBs2C,EAAI4D,OAAO,EAAW,EAC1F,OAAO29a,GAAO,CAAC,SAAU,cAAe,SAAA/0d,GAAG,OAAI6wxB,GAAM78Z,EAAQh0X,GAAK+0d,OAAO,SAAAn5Q,GACvE,IAAM1Q,EAAcr+F,EAAU+uG,GAASA,EAAQt8J,GAAOs8J,GACtD,OAAOm5Q,GAAO7pR,EAAa0/oB,EAC7B,EAAE,EACJ,EAEF,CAu+IuBC,CAAqBjsC,EAAQrjzB,GAClD,OAAIqjzB,EAAO9qT,UAAUi2V,UAAU7kyB,EAAM3pD,EAAM,CAAC,EAAGov1B,GACtCvyvB,EAAIl4F,OAAO,CAAC3E,IAEZ68F,CAEX,EAAG,GAAI,EAED0yvB,GAAOrrD,GAIPsrD,GAAoB,SAAA7lyB,GACxB,GAAIA,EAEF,IADA,IAAM69uB,EAAS,IAAI9G,GAAc/2uB,EAAMA,GAC9Bq8uB,EAAWwB,EAAO15oB,UAAWk4oB,EAAUA,EAAWwB,EAAOj4xB,OAChE,GAAIuyxB,GAASkE,GACX,OAAOA,EAIb,OAAO,IACT,EACMypD,GAAuB,SAAA75xB,GAC3B,IAAMqvuB,EAAiB/I,GAAazpD,QAAQ,QAS5C,OARAsoD,GAASkK,EAAgB,CACvB,GAAMo2B,GACN,iBAAkB,IAClB,gBAAiB,iBAEfzlwB,GACFipuB,GAASoG,EAAgB/I,GAAaxpD,SAAS68G,KAE1CtqD,CACT,EAQMyqD,GAA2B,SAACrsC,EAAQ15vB,EAAMi1xB,GAC9C,IAAMt8X,EAAM+gW,EAAO/gW,IACjBz7L,EAAYw8hB,EAAOx8hB,UACrB,GAAIs6iB,GAAsBx3wB,GACxBg1xB,GAAgBt7B,GAAQ,EAAOnnB,GAAavpD,QAAQhprB,GAAOi1xB,GAAW,OACjE,CACL,IAAMptZ,EAAM3qK,EAAU08hB,SAChBh+jB,EAAQ+8N,EAAIlqI,UAAUzuR,EAAM24Z,EAAIwmV,SAChC1zD,EAAiB5jT,EAAI4jT,eACrB5iM,EAAchhH,EAAIghH,YAClB6iM,EAAe7jT,EAAI6jT,aACnBC,EAAY9jT,EAAI8jT,UAChB9ua,EAnByB,SAAAgvf,GACjC,IAAMhvf,EAAWgphB,GAAkBh6B,GAInC,OAHIhvf,GAAYA,EAASl/T,KAAKu0C,OAAO,KAAO0zyB,IAC1C/ohB,EAASsuf,WAAW,EAAG,GAElBtuf,CACT,CAaqBmphB,CAA2BhmyB,GAC5C24Z,EAAIh2b,OAAOq9B,GAAM,GACbyrrB,IAAmB5ua,GAAYgsO,EAAc,GAC/ChhH,EAAIihB,SAASjsI,EAAUgsO,EAAc,GAEnC6iM,IAAiB7ua,GAAY8ua,EAAY,GAC3C9jT,EAAIkhB,OAAOlsI,EAAU8ua,EAAY,GAE/B/vf,GAAS+8N,EAAIvib,QAAQwlN,IACvB0+iB,GAAkB/H,GAAavpD,QAAQptf,IAEzCshC,EAAUkqe,OAAOv/T,EACnB,CACF,EACMo+Z,GAAuB,SAACvsC,EAAQ15vB,EAAMi1xB,GAC1C,IAAMt8X,EAAM+gW,EAAO/gW,IACjBz7L,EAAYw8hB,EAAOx8hB,UACrB,GAAKl9N,EAQH+lyB,GAAyBrsC,EAAQ15vB,EAAMi1xB,QANvC,KADAj1xB,EAAO4xwB,GAAwBlY,EAAO50D,UAAW5ne,EAAU6ud,aAEzD,KAAO/rrB,EAAO24Z,EAAI36c,IAAI0zzB,KACpBq0B,GAAyBrsC,EAAQ15vB,EAAMi1xB,EAM/C,EAgBMiR,GAAa,SAAC30uB,EAAYvxD,GAE9B,OADAuxD,EAAWt+D,YAAY+M,GAChBA,CACT,EACMmmyB,GAAsC,SAACC,EAAa9qD,GACxD,IAAIj5uB,EACEgkyB,EAAsB77D,GAAM47D,EAAa,SAAC70uB,EAAY+0uB,GAC1D,OAAOJ,GAAW30uB,EAAY+0uB,EAAW7njB,WAAU,GACrD,EAAG68f,GACGz0e,EAAmD,QAA5CxkQ,EAAKgkyB,EAAoBx8a,qBAAuC,IAAZxnX,EAAgBA,EAAK5iC,SACtF,OAAOym0B,GAAWG,EAAqBx/hB,EAAI5mQ,eAAe2lyB,IAC5D,EAmDMW,GAAoB,SAAC7sC,EAAQrjzB,EAAMsyO,EAAMg8mB,GAC7C,IAAMhsY,EAAM+gW,EAAO/gW,IACbz7L,EAAYw8hB,EAAOx8hB,UACrBspkB,GAAkB,EAChB9tB,EAAahf,EAAO9qT,UAAU5wf,IAAI3H,GACxC,GAAKqi0B,EAAL,CAGA,IAAM7wY,EAAM3qK,EAAU08hB,SAChBnmtB,EAAYo0V,EAAI4jT,eAChBzwtB,EAAS6sa,EAAIghH,YACf7of,EAAOyzC,EACP0ksB,GAAS1ksB,KACPz4E,IAAWy4E,EAAU91F,KAAK3F,SAC5Bwu1B,GAAkB,GAEpBxmyB,EAAOA,EAAKuxD,YAId,IAFA,IACI+0uB,EADEv6T,EAAU,GAET/re,GAAM,CACX,GAAI6kyB,GAAUnrC,EAAQ15vB,EAAM3pD,EAAMsyO,EAAMg8mB,GAAU,CAChD2B,EAAatmyB,EACb,KACF,CACIA,EAAKu+T,cACPioe,GAAkB,GAEpBz6T,EAAQzuhB,KAAK0iD,GACbA,EAAOA,EAAKuxD,UACd,CACA,GAAK+0uB,EAGL,GAAIE,EAAiB,CACnB,IAAM10B,EAAW50iB,EAAU6pe,cAC3Bl/T,EAAI7O,UAAS,GACb,IAAIyta,EAAcvtB,GAAUvgX,EAAK9wB,EAAK6wY,GAAY,GAClD+tB,EAAct/yB,GAAMs/yB,GACpB/sC,EAAO9qT,UAAUjse,OAAOtsB,EAAMsyO,EAAM89mB,EAAa9B,GACjDznkB,EAAUipe,eAAe2rE,EAC3B,KAAO,CACL,IAAMx2B,EAAiBs2B,GAAwBlY,EAAO50D,UAAWwhG,GAC3DI,EAAe/9D,EAAc2S,GAAkB3iV,EAAI85V,WAAW6zC,EAAW/0uB,WAAY4hQ,EAAQmob,GAAkB,GAC/GqrD,EAAoBb,IAAqB,GAAOntY,KAzHzB,SAAC+gW,EAAQpe,EAAgBgrD,GACxD,IAAIjkyB,EAAIigU,EACFq2F,EAAM+gW,EAAO/gW,IACb/8N,EAAQ+8N,EAAIlqI,UAAU63gB,EAAY/hS,EAAMkxQ,GAAe/b,EAAO98xB,SAChEg/N,GAAS+8N,EAAIvib,QAAQwlN,GACU,QAAhCv5L,EAAKikyB,EAAW/0uB,kBAAoC,IAAZlvD,GAAyBA,EAAGgxvB,aAAa/X,EAAgBgrD,IAElGtsD,GAAiBzH,GAAavpD,QAAQs9G,IAClC3tY,EAAIvib,QAAQkwzB,GACmB,QAAhChke,EAAKgke,EAAW/0uB,kBAAoC,IAAZ+wQ,GAAyBA,EAAG+wb,aAAa/X,EAAgBgrD,GAElG3tY,EAAI08V,YAAY/Z,EAAgBgrD,GAGtC,CA4GIM,CAAyBltC,EAAQitC,EAAmBrrD,QAAuDA,EAAiBgrD,GAC5H,IAAMO,EAhGc,SAACntC,EAAQpe,EAAgBgrD,EAAYjw1B,EAAMsyO,EAAMg8mB,GACvE,IAAM/1V,EAAY8qT,EAAO9qT,UACnBj2C,EAAM+gW,EAAO/gW,IACbmuY,EAAev8D,GAASptxB,GAAKyxf,EAAU5wf,OAAQ,SAAAw4zB,GAAU,OAAIA,IAAeng0B,IAAS22xB,GAAWwpC,EAAY,eAAe,GAC3HuwB,EAAiBxB,GAAe7rC,EAAQ4sC,EAAYQ,GAE1D,GADsBv8D,GAASw8D,EAAgB,SAAAC,GAAO,OAAKvwB,GAAkB/c,EAAQstC,EAAS3w1B,EAAK,GACjF2B,OAAS,EAAG,CAC5B,IAAMiv1B,EAAmBX,EAAW7njB,WAAU,GAI9C,OAHAk6K,EAAI3xc,IAAIs0xB,EAAgB2rD,GACxBr4V,EAAUjse,OAAOtsB,EAAMsyO,EAAMs+mB,EAAkBtC,GAC/ChsY,EAAIh2b,OAAOsk0B,GACJ19D,EAASpyvB,KAAK8vzB,EACvB,CACE,OAAO19D,EAAS/gX,MAEpB,CAiF8B0+a,CAAgBxtC,EAAQitC,EAAmBL,EAAYjw1B,EAAMsyO,EAAMg8mB,GACvFwC,EAAgBhB,GAAoC,GAADnr1B,OAAK+whB,EAAOvigB,EAAKq9zB,EAAkB5vmB,WAASztN,EAAKk9zB,IAAeC,GACrHrrD,GACFyqD,GAAyBrsC,EAAQpe,EAAgB3S,EAAc2S,IAEjEp+gB,EAAUgujB,kBAAkBic,EAAe,GACvCxuY,EAAIvib,QAAQkwzB,IACd3tY,EAAIh2b,OAAO2j0B,EAEf,CAhDA,CAiDF,EAaMc,GAAU,SAAA1tC,GACdA,EAAOlnuB,GAAG,kBAAmB,SAAAp8E,GAFV,IAAAg6G,GAXS,SAACspsB,EAAQ9nH,EAASqjJ,GAC9C,IAAM/3jB,EAAYw8hB,EAAOx8hB,UACvB7qN,EAAOqnvB,EAAO50D,UAChBmhG,GAAqBvsC,EAAQ,KAAMu7B,GAClB,IAAZrjJ,GAA6B,KAAZA,IAAmB10a,EAAUwne,eAAiBxne,EAAU6ud,WAAW9nsB,YAAc2hzB,IACrGK,GAAqBvsC,EAAQkY,GAAwBv/vB,EAAM6qN,EAAU6ud,aAAa,GAEpE,KAAZn6C,GAA8B,KAAZA,GACpBq0J,GAAqBvsC,EAAQkY,GAAwBv/vB,EAAM6qN,EAAU6ud,aAAa,EAEtF,CAIIs7G,CAAsB3tC,EAAQtjzB,EAAEw7rB,SAHfxhlB,EAGqCspsB,EAAOx8hB,UAAU08hB,SAASluE,aAHpDysD,GAAS/nrB,IAAYo8H,GAASp8H,EAAQzyG,KAAMw7xB,KAI1E,EACF,EACMmuD,GAAoB,SAAAlB,GACxB,IAAM9qD,EAAiBwqD,IAAqB,GACtCyB,EAAYpB,GAAoCC,EAAa9qD,EAAe3iV,KAClF,MAAO,CACL2iV,iBACAujB,cAAeI,GAAcsoC,EAAW,GAE5C,EACMC,GAAyB,SAACr8tB,EAAYi7tB,GAC1C,IAAAqB,EAGIH,GAAkBlB,GAFpB9qD,EAAcmsD,EAAdnsD,eACAujB,EAAa4oC,EAAb5oC,cAIF,OAFA7pB,GAASzC,GAAavpD,QAAQ79mB,GAAamwqB,GAC3CjG,GAAS9C,GAAavpD,QAAQ79mB,IACvB0zrB,CACT,EASM6oC,GAAkB,SAAChuC,EAAQtpsB,GAC/B,GAAIuhtB,GAAYvhtB,EAAQuoW,KACtB,OAAO,EAET,IAAMgvY,EAAiBjuC,EAAO98xB,OAAOyuxB,wBACrC,OAAOzf,GAAM+7D,EAAgBtx1B,GAAK+5G,MAAcuhtB,GAAYvhtB,EAAQuoW,OAASo/U,GAAU3nrB,EAAQuoW,IACjG,EAEMivY,GAAmB,CAAC,EACpBC,GAAQjwD,GAAe,CAAC,SACH,SAACvhyB,EAAMsvJ,GAClBiisB,GAAiBvx1B,KAE7Bux1B,GAAiBvx1B,GAAQ,IAE3Bux1B,GAAiBvx1B,GAAMiH,KAAKqoJ,EAC9B,CAQAmisB,CAAmB,MAAO,SAAApuC,GACxB,IAAM7xX,EAAM6xX,EAAOx8hB,UAAU08hB,SAW7B,IAAK/xX,EAAIptL,UAAW,CAClB,IAAMsgR,EAAS2+R,EAAOx8hB,UAAU6qkB,oBAC1BC,EAAYz9D,GAASA,GAASxvQ,EAAQ8sU,IAZxB,SAAA9sU,GAAM,OAAI,SAAA76J,GAC9B,IAAMv6W,EAAOu6W,EAAIwkE,gBACjB,OAAOmja,GAAMli1B,IAASukxB,GAAWnvQ,EAAQp1gB,EAC3C,CAAE,CASoDsi1B,CAAcltU,IAClEqvQ,GAAO49D,EAAW,SAAA9ne,GATJ,IAACgoe,EAAMC,EACfC,EACAvhiB,EAFSqhiB,EAULhoe,EAAIwkE,gBAVOyja,EAUUjoe,EATzBkoe,EAAQ71D,GAAavpD,QAAQm/G,GAC7BthiB,EAAM+re,GAAgBw1D,GAAOzvY,IACnC08U,GAAS+yD,GACT14rB,GAAO6ioB,GAAavpD,QAAQk/G,GAAM,CAAE31D,GAAazpD,QAAQ,KAAMjib,GAAM0re,GAAazpD,QAAQ,KAAMjib,IAAI7rT,OAAAwuB,EAAK0pwB,GAAWk1D,KAOpH,EACF,CACF,GAEA,IAAMC,GAAiB,CAAC,aAAc,YAAa,QAAS,WAAY,cAElEC,GAA6B,SAAAx7d,GAAO,OAAI69Z,GAAO79Z,EAAS,SAAAy7d,GAAG,OAAIlxB,GAAekxB,IAAuB,SAAfA,EAAI1wrB,QAD1E,SAAA0wrB,GAAG,OAAI/lwB,EAAS+lwB,EAAIxu0B,SAAW81c,GAAO1yd,GAAKor1B,EAAIxu0B,QAAS,SAAA1jB,GAAI,OAAI6zxB,GAAWm+D,GAAgBhy1B,EAAK,EAAE,CACHmy1B,CAAcD,EAAI,EAAE,EACnIE,GAA4B,SAAC75V,EAAW9/H,GAC5C,IAAM4pc,EAAa9pU,EAAU5wf,IAAI8wX,GACjC,OAAOnnR,EAAU+wtB,GAAc4vB,GAA2B5vB,GAAcnvC,EAAS/gX,MACnF,EACMkgb,GAA6B,SAAC7ga,EAAK7+Z,GAAG,OAAKuoyB,GAAavoyB,EAAKi2xB,GAAcC,eAAer3X,IAAMqoT,QAAS,EACzGy4G,GAAyB,SAAC9ga,EAAK7+Z,GACnC,OAAuI,IAAhIsoyB,GAAatoyB,EAAKi2xB,GAAcE,aAAat3X,IAAMgoC,OAAO,SAAAv1a,GAAG,OAAKk+uB,GAAOl+uB,EAAIq0rB,YAAc2iF,GAAatoyB,EAAKsxB,GAAKkurB,QAAQ,EACnI,EACMogH,GAAqB,SAAAjwY,GAAG,OAAI,SAAA3vb,GAAG,OAAI+vwB,GAAa/vwB,IAAQ2vb,EAAIm9V,WAAW9sxB,EAAK,CAAD,EAgB3E6/zB,GAA4B,SAAA3rkB,GAAS,OAAIqtgB,GAfhB,SAAArtgB,GAC7B,IAAM69P,EAAS79P,EAAU6qkB,oBACnBlga,EAAM3qK,EAAU08hB,SACtB,GAAI18hB,EAAUwne,cACZ,MAAO,GAET,GAAsB,IAAlB3pO,EAAO/ihB,OACT,OAAO0w1B,GAA2B7ga,EAAKkzF,EAAO,KAAO4tU,GAAuB9ga,EAAKkzF,EAAO,IAAMA,EAAS,GAEvG,IAAMttX,EAAQnuG,GAAKy7d,GAAQxqf,OAAO,SAAAvH,GAAG,OAAI0/zB,GAA2B7ga,EAAK7+Z,EAAI,GAAEiuN,UACzE13L,EAAOyruB,GAAOjwQ,GAAQxqf,OAAO,SAAAvH,GAAG,OAAI2/zB,GAAuB9ga,EAAK7+Z,EAAI,GAAEiuN,UACtE6xmB,EAAS/tU,EAAO3sgB,MAAM,GAAI,GAChC,OAAOq/I,EAAMzyJ,OAAO8t1B,GAAQ9t1B,OAAOukD,EAEvC,CACwDwpyB,CAAuB7rkB,GAAY0rkB,GAAmB1rkB,EAAUy7L,KAAM,EACxHqwY,GAAgC,SAAA9rkB,GAAS,OAAIqtgB,GAASrtgB,EAAU6qkB,oBAAqBa,GAAmB1rkB,EAAUy7L,KAAM,EAExHswY,GAASv5D,GAAMv6tB,KACf+zxB,GAAgB,SAAAlpyB,GAAI,OAAIw3uB,GAAYx3uB,KAAUszwB,GAAiBtzwB,KAAU2xwB,GAAY3xwB,KAAU+3uB,GAAU/3uB,EAAM,EAC/GmpyB,GAAqB,SAACnpyB,EAAMq3uB,GAChC,IAAK,IAAIpqG,EAAUjtoB,EAAMitoB,EAASA,EAAUA,EAAQoqG,GAAc,CAChE,GAAIc,GAASlrG,IAAYxgN,GAAWwgN,EAAQtvrB,MAC1C,OAAOqiD,EAET,GAAIw3uB,GAAYvqG,KAAaqmI,GAAiBrmI,GAC5C,OAAOA,CAEX,CACA,OAAOjtoB,CACT,EACMopyB,GAAqB,SAAC1vC,EAAQ/zyB,EAAMC,GACxC,IAAMs90B,EAAe5F,GAAa5jC,GAC5B2vC,EAAiB5xD,GAAc9xxB,IAAS+zyB,EAAO/gW,IAAIm9V,WAAWnwyB,GAC9D2j1B,EAAiB7xD,GAAc7xxB,IAAS8zyB,EAAO/gW,IAAIm9V,WAAWlwyB,GACpE,GAAIyj1B,GAAkBC,EAAgB,CACpC,IAAM52G,EAAcy2G,GAAmBxj1B,EAAM,mBACvC44W,EAAc4qe,GAAmBvj1B,EAAM,eAC7C,GAAIs90B,EAAa92xB,QAAQsmrB,EAAan0X,GAAc,CAClD,IAAK,IAAI0uU,EAAUylD,EAAYn0X,YAAa0uU,GAAWA,IAAY1uU,GAAc,CAC/E,IAAMgre,EAAat8J,EACnBA,EAAUA,EAAQ1uU,YAClBm0X,EAAYz/rB,YAAYs2yB,EAC1B,CAKA,OAJA7vC,EAAO/gW,IAAIh2b,OAAO47V,GAClBmxa,GAAMv6tB,KAAKu6tB,GAAMI,KAAKvxa,EAAYpkV,YAAa,SAAA6lB,GAC7C0yrB,EAAYz/rB,YAAY+M,EAC1B,GACO0yrB,CACT,CACF,CACA,OAAO9suB,CACT,EACM4j1B,GAAgB,SAAC9vC,EAAQ5qb,EAAQnmJ,EAAM3oL,GAC3C,IAAIqC,EACJ,GAAIrC,IAAkC,IAA1B8uU,EAAO26d,eAA0B,CAC3C,IAAMn/kB,EAAqF,QAA1EjoN,EAAK+myB,GAAmB1vC,EAAQ6b,GAAwBv1wB,GAAOA,UAA+B,IAAZqC,EAAgBA,EAAKrC,EACxHopyB,GAAmB1vC,EAAQpviB,EAASirjB,GAAwBjrjB,GAAS,GACvE,CACF,EAaMo/kB,GAAuB,SAAC1pyB,EAAMzvB,EAAQka,GAC1Cw+yB,GAAOjpyB,EAAK7lB,WAAY,SAAA6lB,GAClBkpyB,GAAclpyB,KACZzvB,EAAOyvB,IACTvV,EAAQuV,GAENA,EAAKw+O,iBACPkrjB,GAAqB1pyB,EAAMzvB,EAAQka,GAGzC,EACF,EAMMi9f,GAAW,SAAC/uF,EAAKtid,GAAI,OAAK,SAAA2pD,GAAI,SAAOA,IAAQuyvB,GAAS55V,EAAK34Z,EAAM3pD,GAAO,CAAD,EACvEsz1B,GAAa,SAAChxY,EAAKtid,EAAMwC,GAAK,OAAK,SAAAmnD,GACvC24Z,EAAI27V,SAASt0vB,EAAM3pD,EAAMwC,GACU,KAA/BmnD,EAAKqwD,aAAa,UACpBrwD,EAAKouD,gBAAgB,SATD,SAACuqW,EAAK34Z,GACN,SAAlBA,EAAK6yD,UAAuD,IAAhC8lW,EAAIq5V,WAAWhyvB,GAAMhoD,QACnD2gd,EAAIh2b,OAAOq9B,GAAM,EAErB,CAOE4pyB,CAAgBjxY,EAAK34Z,EACvB,CAAE,EAEI6pyB,GAAepnC,GAAa,CAAC,CACjCb,KAAM,IACL,CACDx7S,OAAQ,CAAC,SACR,CACD1vB,QAAS,MAELozW,GAAc,qBACdC,GAASr6D,GAAMv6tB,KACf60xB,GAASh0B,GAETi0B,GAAwB,SAACtxY,EAAK34Z,EAAMN,GAAM,OAAKi5Z,EAAIhqN,UAAU3uM,EAAMN,IAAWM,IAASN,IAAWi5Z,EAAIwmV,QAAQz/uB,EAAQ,EACtHiif,GAAe,SAAC0sJ,EAAIxmQ,EAAKh6a,GAC7B,IAAI4lF,EAAYo0V,EAAIh6a,EAAQ,iBAAmB,gBAC3CmN,EAAS6sa,EAAIh6a,EAAQ,cAAgB,aACzC,GAAI2pxB,GAAY/jsB,GAAY,CAC1B,IAAMy2vB,EAAUz2vB,EAAUt5D,WAAWniC,OAAS,GACzC6V,GAASmN,GACZA,IAEFy4E,EAAYA,EAAUt5D,WAAWnf,EAASkv0B,EAAUA,EAAUlv0B,EAChE,CAOA,OANIm9wB,GAAS1ksB,IAAc5lF,GAASmN,GAAUy4E,EAAU91F,KAAK3F,SAC3Dy7F,EAAY,IAAIsjsB,GAActjsB,EAAW46lB,EAAGy2D,WAAWl/uB,QAAU6tF,GAE/D0ksB,GAAS1ksB,KAAe5lF,GAAoB,IAAXmN,IACnCy4E,EAAY,IAAIsjsB,GAActjsB,EAAW46lB,EAAGy2D,WAAWn/uB,QAAU8tF,GAE5DA,CACT,EACM02vB,GAA0B,SAACnqyB,EAAMnyC,GACrC,IAAMZ,EAAOY,EAAQ,aAAe,YAC9B+wK,EAAY5+H,EAAK/yC,GACvB,OAvBuB,SAAA+yC,GAAI,MAAI,eAAe/lD,KAAK+lD,EAAK6yD,SAAU,CAuB9Du3uB,CAAiBpqyB,IAAS4+H,EACN,OAAlB5+H,EAAK6yD,UACA+rE,EAAU3xK,IAEV2xK,EAGJ5+H,CACT,EACMqqyB,GAAS,SAAC1xY,EAAK34Z,EAAM3pD,EAAMkoS,GAC/B,IAAIl8O,EACEM,EAAUg2Z,EAAItna,OAAOh7C,EAAMkoS,GAGjC,OAF2B,QAA1Bl8O,EAAKrC,EAAKuxD,kBAAoC,IAAZlvD,GAAyBA,EAAG2wD,aAAarwD,EAAS3C,GACrF2C,EAAQ1P,YAAY+M,GACb2C,CACT,EACM2nyB,GAAmB,SAAC3xY,EAAK34Z,EAAMp6C,EAAMvP,EAAMkoS,GAC/C,IAAM1wR,EAAQ0kxB,GAAavpD,QAAQhprB,GAC7B2C,EAAU4vuB,GAAavpD,QAAQrwR,EAAItna,OAAOh7C,EAAMkoS,IAChDi7hB,EAAW5zzB,EAAOqtxB,GAAaplxB,GAASmlxB,GAAanlxB,GAS3D,OARA6hJ,GAAO/sG,EAAS62wB,GACZ5zzB,GACFovxB,GAASnnxB,EAAO80C,GAChBqU,GAAQrU,EAAS90C,KAEjBonxB,GAAQpnxB,EAAO80C,GACfuyuB,GAASvyuB,EAAS90C,IAEb80C,EAAQg2Z,GACjB,EAEMq7X,GAAa,SAAC3lJ,EAAIruoB,EAAM8uU,GAC5B,IACIy7d,EADEh5uB,EAAavxD,EAAKuxD,WAElBonW,EAAM01O,EAAG11O,IACT6xY,EAAkBxlC,GAAmB32H,GACvC8oI,GAAcroc,IACZv9Q,IAAeonW,EAAIy5V,YAChBtjb,EAAO27d,YAAeT,GAAOhqyB,EAAM8uU,EAAO27d,aAC7CrgE,GAAOrruB,GAAKiB,EAAK7lB,YAAa,SAAA6lB,GACxBu5P,GAAQ80Y,EAAIm8J,EAAiBxqyB,EAAK6yD,SAAS35F,eACxCqx0B,EAIHA,EAAat3yB,YAAY+M,IAHzBuqyB,EAAeF,GAAO1xY,EAAK34Z,EAAMwqyB,GACjC7xY,EAAIk6V,WAAW03C,EAActlC,GAAwB52H,KAKvDk8J,EAAe,IAEnB,IAt8Jc,SAAAz7d,GAAM,OAAIsoc,GAAiBtoc,IAAWuoc,GAAevoc,IAAWmha,GAAKtE,GAAM78Z,EAAQ,UAAU,EAAM,CA08JnH47d,CAAc57d,KAAYk7d,GAAOl7d,EAAOj3N,OAAQ73G,IAGpD24Z,EAAIh2b,OAAOq9B,GAAM,EACnB,EACM2qyB,GAA2B,SAACt01B,EAAMwC,EAAO8vO,GAC7C,OAAIx3G,EAAS96H,GACJ,CACLA,KAAMwC,EACNA,MAAO,MAGF,CACLxC,OACAwC,MAAOk9zB,GAAYl9zB,EAAO8vO,GAGhC,EACMiinB,GAAoC,SAACjyY,EAAK3vb,GACV,KAAhC2vb,EAAIm5V,UAAU9oxB,EAAK,WACrBA,EAAIolF,gBAAgB,SACpBplF,EAAIolF,gBAAgB,kBAExB,EACMyiO,GAAe,SAAC8nI,EAAK3vb,EAAK8lW,EAAQnmJ,EAAMkinB,GAC5C,IAAIC,GAAiB,EACrBf,GAAOj7d,EAAO/0W,OAAQ,SAAClhB,EAAOxC,GAC5B,IAAA001B,EAGIJ,GAAyBt01B,EAAMwC,EAAO8vO,GAFlCsngB,EAAS86G,EAAf101B,KACO201B,EAAUD,EAAjBly1B,MAEIoy1B,EAAuB/0B,GAAoB80B,EAAY/6G,IACzDnhX,EAAOo8d,gBAAkB7rtB,EAAO2rtB,KAAgBxzD,GAAYqzD,IAAgBb,GAAOz3C,GAAS55V,EAAKkyY,EAAa56G,GAAYg7G,KAC5HtyY,EAAI27V,SAAStrxB,EAAKintB,EAAW,IAE/B66G,GAAiB,CACnB,GACIA,GACFF,GAAkCjyY,EAAK3vb,EAE3C,EAaMmi0B,GAA2B,SAAC98J,EAAIv/T,EAAQnmJ,EAAM3oL,EAAM6qyB,GACxD,IAAMlyY,EAAM01O,EAAG11O,IACTuqY,EAAe5F,GAAajvJ,GAC5BzxqB,EAASyxqB,EAAGzxqB,OAClB,GAAIy6yB,GAAevoc,IAAWsxa,GAAyBxjxB,EAAQkyW,EAAOj3N,SAAWiooB,GAAmBljxB,EAAQojC,IAASA,EAAK2/F,gBAAkB0uiB,EAAGy2D,UAE7I,OADAkvF,GAAW3lJ,EAAIruoB,EAAM8uU,GACd+6d,GAAanzW,UAEtB,IAAK5nH,EAAOs8d,iBAAmBpryB,GAA+C,UAAvC24Z,EAAIk9V,yBAAyB71vB,GAClE,OAAO6pyB,GAAajoC,OAEtB,GAAI5hwB,IAAS8kyB,GAAUnsY,EAAK34Z,EAAM8uU,KAxFL,SAAC9uU,EAAM8uU,GAAM,OAAKA,EAAOzkF,OAA2B,MAAlBrqP,EAAK6yD,QAAiB,CAwFvCw4uB,CAAuBrryB,EAAM8uU,GACzE,OAAO+6d,GAAajoC,OAEtB,IAAM54xB,EAAMg3B,EACNsryB,EAAqBx8d,EAAOy8d,oBAClC,GAAIl0B,GAAevoc,IAA6B,QAAlBA,EAAOnsW,QAAoBglF,EAAU2jvB,GAAqB,CACtF,IAAME,EAAkBjhE,GAAS5xU,EAAIq5V,WAAWhpxB,GAAM,SAAA2gD,GAAI,OAAIugtB,GAAWohE,EAAoB3hxB,EAAKtzE,KAAK6iB,cAAc,GAGrH,GAFAy/b,EAAI87V,iBAAiBzrxB,GACrBohwB,GAAOohE,EAAiB,SAAA7hxB,GAAI,OAAIgvY,EAAIs5V,UAAUjpxB,EAAK2gD,EAAKtzE,KAAMszE,EAAK9wE,MAAM,GACrE2y1B,EAAgBxz1B,OAAS,EAC3B,OAAO6x1B,GAAazjV,OAAO,OAE/B,CACA,GAAsB,QAAlBt3I,EAAOnsW,OAAkB,CAC3BkuT,GAAa8nI,EAAK3vb,EAAK8lW,EAAQnmJ,EAAMkinB,GACrCd,GAAOj7d,EAAO5iP,WAAY,SAACrzI,EAAOxC,GAChC,IAAAo11B,EAGId,GAAyBt01B,EAAMwC,EAAO8vO,GAFlC6+E,EAAQikiB,EAAdp11B,KACOq/uB,EAAS+1G,EAAhB5y1B,MAEF,GAAIi2X,EAAOo8d,gBAAkB7rtB,EAAOq2mB,KAAe8hD,GAAYqzD,IAAgBb,GAAOrxY,EAAIm5V,UAAU+4C,EAAarjiB,GAAWkub,GAAY,CACtI,GAAiB,UAAblub,EAAsB,CACxB,IAAMjzS,EAAeokc,EAAIm5V,UAAU9oxB,EAAKw+R,GACxC,GAAIjzS,EAAc,CAChB,IAAIm30B,EAAW,GAMf,GALAthE,GAAO71wB,EAAa4yB,MAAM,OAAQ,SAAAgswB,GAC5B,WAAWl5yB,KAAKk5yB,KAClBu4C,IAAaA,EAAW,IAAM,IAAMv4C,EAExC,GACIu4C,EAEF,YADA/yY,EAAIs5V,UAAUjpxB,EAAKw+R,EAAUkkiB,EAGjC,CACF,CAIA,GAHI5B,GAAY7v1B,KAAKutT,IACnBx+R,EAAIolF,gBAAgB,YAAco5M,GAEnB,UAAbA,GAAwBowe,GAAe,CAAC,MAAhBA,CAAuB5uwB,IAAiD,SAAzC2vb,EAAI45V,SAASvpxB,EAAK,mBAG3E,OAFAA,EAAIolF,gBAAgBo5M,QACpBmxJ,EAAI27V,SAAStrxB,EAAK,kBAAmB,QAGtB,UAAbw+R,GACFx+R,EAAIolF,gBAAgB,aAEtBplF,EAAIolF,gBAAgBo5M,EACtB,CACF,GACAuiiB,GAAOj7d,EAAOhH,QAAS,SAAAjvX,GACrBA,EAAQk9zB,GAAYl9zB,EAAO8vO,GACtB6ujB,GAAYqzD,KAAgBlyY,EAAIzyB,SAAS2ka,EAAahy1B,IACzD8/c,EAAIs8V,YAAYjsxB,EAAKnwB,EAEzB,GAEA,IADA,IAAM0lS,EAAQo6K,EAAIq5V,WAAWhpxB,GACpBzwB,EAAI,EAAGA,EAAIgmS,EAAMvmS,OAAQO,IAAK,CACrC,IAAMivT,EAAWjpB,EAAMhmS,GAAGs6G,SAC1B,IAAKqwuB,EAAa1F,oBAAoBh2hB,GACpC,OAAOqiiB,GAAajoC,MAExB,CACF,CACA,MAAsB,SAAlB9yb,EAAOnsW,QACTqxzB,GAAW3lJ,EAAIrlqB,EAAK8lW,GACb+6d,GAAanzW,WAEfmzW,GAAajoC,MACtB,EAeM+pC,GAA4B,SAACjyC,EAAQ5qb,EAAQnmJ,EAAM1hO,GAAK,OAAKkk1B,GAAyBzxC,EAAQ5qb,EAAQnmJ,EAAM1hO,EAAOA,GAAOgjuB,KAAK9mL,EAASl8iB,GAAQ,SAAA2k1B,GAGpJ,OAFiBlyC,EAAO/gW,IAAIy7V,iBACnBnhwB,YAAYhsC,GACdyyyB,EAAO/gW,IAAIytD,OAAOn/f,EAAO2k1B,EAClC,EAAGzoS,EAAS,MAAO,EAuCb0oS,GAAuB,SAACx9J,EAAIh4rB,EAAMsyO,EAAM3oL,EAAM2kyB,GAClD,IAAMjsB,EAAarqI,EAAGz/L,UAAU5wf,IAAI3H,GAC9By4X,EAAS4pc,EAAW,GACpB//W,EAAM01O,EAAG11O,IACTz7L,EAAYmxa,EAAGnxa,UACf4ukB,EAAoB,SAAAr4vB,GACxB,IAAMs4vB,EA/Da,SAACryC,EAAQjmtB,EAAWp9F,EAAMsyO,EAAMg8mB,GACrD,IAAIoH,EAWJ,OAVIt4vB,EAAU8d,YACZ64qB,GAAOksC,GAAa5c,EAAO/gW,IAAKllX,EAAU8d,YAAY16C,UAAW,SAAAnX,GAC/D,IAAKqsyB,GAAcv0D,GAAY93uB,IAAyB,WAAdA,EAAOnkC,IAAiC,SAAdmkC,EAAOnkC,GAAe,CACxF,IAAMuzW,EAAS+1d,GAAUnrC,EAAQh6vB,EAAQrpD,EAAMsyO,EAAMg8mB,GACjD71d,IAA2B,IAAjBA,EAAO3nV,QACnB4kzB,EAAarsyB,EAEjB,CACF,GAEKqsyB,CACT,CAkDuBC,CAAe39J,EAAI56lB,EAAWp9F,EAAMsyO,EAAMg8mB,GAC7D,OA7CiB,SAACjrC,EAAQgf,EAAYqzB,EAAYt4vB,EAAWnxF,EAAQ6kC,EAAO2nV,EAAQnmJ,GACtF,IAAItmL,EAAIigU,EACJ2pe,EACAC,EACEvzY,EAAM+gW,EAAO/gW,IACnB,GAAIozY,EAAY,CAEd,IADA,IAAMI,EAAmBJ,EAAWx6uB,WAC3B7xD,EAAS+zC,EAAU8d,WAAY7xD,GAAUA,IAAWysyB,EAAkBzsyB,EAASA,EAAO6xD,WAAY,CAEzG,IADA,IAAItqG,EAAQ0xc,EAAI1xc,MAAMy4C,GAAQ,GACrBnnD,EAAI,EAAGA,EAAImg0B,EAAW1g0B,QAEf,QADdiP,EAAQ0k1B,GAA0BjyC,EAAQgf,EAAWng0B,GAAIowO,EAAM1hO,IAD1B1O,KAMnC0O,IACEgl1B,GACFhl1B,EAAMgsC,YAAYg5yB,GAEfC,IACHA,EAAajl1B,GAEfgl1B,EAAYhl1B,EAEhB,EACIkgC,GAAW2nV,EAAOvnH,OAAUoxM,EAAIwmV,QAAQ4sD,KAC1Ct4vB,EAAwD,QAA3CpxC,EAAKs2Z,EAAIxxa,MAAM4kzB,EAAYt4vB,UAAoC,IAAZpxC,EAAgBA,EAAKoxC,GAEnFw4vB,GAAaC,IACc,QAA5B5pe,EAAKhgX,EAAOivG,kBAAoC,IAAZ+wQ,GAAyBA,EAAGtvQ,aAAai5uB,EAAW3p1B,GACzF4p1B,EAAWj5yB,YAAY3wC,GACnB+0zB,GAAevoc,IACjB06d,GAAc9vC,EAAQ5qb,EAAQnmJ,EAAMsjnB,GAG1C,CACA,OAAOx4vB,CACT,CAQW24vB,CAAa/9J,EAAIqqI,EAAYqzB,EAAYt4vB,EAAWA,GAAW,EAAMq7R,EAAQnmJ,EACtF,EAEM0jnB,EAAqB,SAAArsyB,GAAI,OAAI6va,GAAO6oW,EAAY,SAAA6vB,GAAG,OAAI+D,GAAiBj+J,EAAIk6J,EAAK5/mB,EAAM3oL,EAAMA,EAAK,EAAE,EACpGvV,EAAU,SAAAuV,GACd,IAAMy2B,EAAW13B,GAAKiB,EAAK7lB,YAErBoyzB,EADUF,EAAmBrsyB,IACG6va,GAAO6oW,EAAY,SAAA/5zB,GAAC,OAAImm1B,GAAUnsY,EAAK34Z,EAAMrhD,EAAE,GAC/E4yG,EAAavxD,EAAKuxD,WAIxB,IAHKg7uB,GAAsB5jE,EAAcp3qB,IAAe+ltB,GAAuBxoc,IAC7Eu9d,EAAmB96uB,GAEjBu9Q,EAAOnqT,MACL8R,EAASz+E,OACX,IAAK,IAAIO,EAAI,EAAGA,EAAIk+E,EAASz+E,OAAQO,IACnCkyC,EAAQgsC,EAASl+E,IAKvB6xxB,GADwB,CAAC,YAAa,eAAgB,YAC9B,SAAAisC,GAClB7+B,GAAYx3uB,IAASquoB,EAAG11O,IAAI45V,SAASvyvB,EAAM,qBAAuBq2wB,GAAcr2wB,EAAKuxD,YAAc6ktB,GAAkBz9W,EAAK34Z,EAAKuxD,cAAgB8ktB,GACjJi2B,GAAiBj+J,EAAI,CACnB1pnB,MAAM,EACNwxJ,OAAO,EACPt+D,OAAQ,OACR99I,OAAQ,CACNyy0B,eAAgBn2B,SAEjBn3zB,EAAW8gD,EAElB,EACF,EACM+7c,EAAS,SAAAluf,GACb,IAAMmyC,EAAO24Z,EAAI36c,IAAI6P,EAAQ,SAAW,QACxC,GAAImyC,EAAM,CACR,IAAI1Q,EAAM0Q,EAAKnyC,EAAQ,aAAe,aAQtC,OA1CyB,SAAAmyC,GAAI,OAAIszwB,GAAiBtzwB,IAASw3uB,GAAYx3uB,KAAsB,WAAZA,EAAKzkC,IAA+B,SAAZykC,EAAKzkC,GAAe,CAmCzHkx0B,CAAqBn9yB,KACvBA,EAAMA,EAAIzhC,EAAQ,aAAe,cAE/BsqxB,GAAS7ovB,IAA4B,IAApBA,EAAI3xC,KAAK3F,SAC5Bs3C,EAAMzhC,EAAQmyC,EAAK0kY,iBAAmB1kY,EAAKu+T,YAAcv+T,EAAKu+T,aAAev+T,EAAK0kY,iBAEpFi0B,EAAIh2b,OAAOq9B,GAAM,GACV1Q,CACT,CACE,OAAO,IAEX,EACMo9yB,EAAiB,SAAA7ka,GACrB,IAAI4jT,EACAC,EACA+6G,EAAcvtB,GAAUvgX,EAAK9wB,EAAK6wY,EAAY7wY,EAAIptL,WACtD,GAAIq0H,EAAO3nV,MAAO,CAIhB,GAHAs/yB,EAAct/yB,GAAMs/yB,IACpBh7G,EAAiB9pM,GAAa0sJ,EAAIo4J,GAAa,OAC/C/6G,EAAe/pM,GAAa0sJ,EAAIo4J,IACK,CAGnC,GAFAh7G,EAAiB0+G,GAAwB1+G,GAAgB,GACzDC,EAAey+G,GAAwBz+G,GAAc,GACjDu+G,GAAsBtxY,EAAK8yR,EAAgBC,GAAe,CAC5D,IAAMzyuB,EAASswxB,EAASxquB,KAAK0srB,EAAej8kB,YAAYm5kB,MAAM8C,GAM9D,OALAqgH,EAAkBxB,GAAiB3xY,EAAK1/c,GAAQ,EAAM,OAAQ,CAC5D,GAAM,SACN,gBAAiB,mBAEnB8igB,GAAO,EAET,CACA,GAAIkuV,GAAsBtxY,EAAK+yR,EAAcD,GAAiB,CAC5D,IAAMxyuB,EAASswxB,EAASxquB,KAAK2srB,EAAavznB,WAAWwwnB,MAAM+C,GAM3D,OALAogH,EAAkBxB,GAAiB3xY,EAAK1/c,GAAQ,EAAO,OAAQ,CAC7D,GAAM,OACN,gBAAiB,mBAEnB8igB,GAAO,EAET,CACA0vO,EAAiB4+G,GAAO1xY,EAAK8yR,EAAgB,OAAQ,CACnD,GAAM,SACN,gBAAiB,aAEnBC,EAAe2+G,GAAO1xY,EAAK+yR,EAAc,OAAQ,CAC/C,GAAM,OACN,gBAAiB,aAEnB,IAAMyyE,EAASxlW,EAAI46V,YACnB4K,EAAOhzE,cAAcM,GACrB0yE,EAAO/yE,aAAaM,GACpB0tF,GAAOzgX,EAAKwlW,EAAQ,SAAAzrsB,GAClB03qB,GAAO13qB,EAAO,SAAAl0G,GACP80zB,GAAiB90zB,IAAO80zB,GAAiB90zB,EAAE+yG,aAC9Cu6uB,EAAkBtt1B,EAEtB,EACF,GACAst1B,EAAkBrgH,GAClBqgH,EAAkBpgH,GAClBD,EAAiB1vO,GAAO,GACxB2vO,EAAe3vO,GACjB,MACE0vO,EAAiBC,EAAeogH,EAAkBrgH,GAEpDg7G,EAAYh7G,eAAiBA,EAAel6nB,WAAak6nB,EAAel6nB,WAAak6nB,EACrFg7G,EAAY59S,YAAclwF,EAAIlzB,UAAUgmT,GACxCg7G,EAAY/6G,aAAeA,EAAan6nB,WAAam6nB,EAAan6nB,WAAam6nB,EAC/E+6G,EAAY96G,UAAYhzR,EAAIlzB,UAAUimT,GAAgB,CACxD,CACA0tF,GAAOzgX,EAAK8tY,EAAa,SAAA/zuB,GACvB03qB,GAAO13qB,EAAOjoE,EAChB,EACF,EACA,GAAIuV,EAAJ,CACE,GAAIhC,GAAOgC,GAAO,CAChB,IAAM6nY,EAAM8wB,EAAI46V,YAChB1rX,EAAIqjT,eAAelrrB,GACnB6nY,EAAIwjT,YAAYrrrB,GAChB0syB,EAAe7ka,EACjB,MACE6ka,EAAe1syB,GAEjBg8wB,GAAiB3tI,EAAIh4rB,EAAM2pD,EAAM2oL,EAEnC,MACKu0C,EAAUwne,eAAkB2yE,GAAevoc,KAAWilc,GAAmB1lI,GAAIr2rB,OAIhFuu1B,GAAkBl4J,EAAIh4rB,EAAMsyO,EAAMg8mB,IAHlC5vB,GAAkB1mI,EAAI,kBAAMqmI,GAAYrmI,EAAIq+J,EAAe,EAAE,SAAAp0Z,GAAS,OAAI++X,GAAevoc,IAAWu2d,GAAQh3J,EAAIh4rB,EAAMsyO,EAAM2vN,EAAU,GACtI+1P,EAAGkxI,eA3RwB,SAAC7lB,EAAQrjzB,EAAMsyO,GAC/B,iBAATtyO,EACF+zxB,GAAO4+D,GAA8BtvC,EAAOx8hB,WAAY,SAAA28J,GACtDuwW,GAAOi+D,GAAgB,SAAAhy1B,GAAI,OAAIqjzB,EAAO/gW,IAAI27V,SAASz6X,EAAIxjb,EAAM,GAAG,GAChEu01B,GAAkClxC,EAAO/gW,IAAK9+B,EAChD,GAEA4ua,GAA0B/uC,EAAO9qT,UAAWv4f,GAAM8+D,KAAK,SAAAw3xB,GACrDviE,GAAO4+D,GAA8BtvC,EAAOx8hB,WAAY,SAAA28J,GAAE,OAAIhpG,GAAa6oe,EAAO/gW,IAAK9+B,EAAI8ya,EAAOhknB,EAAM,KAAK,EAC/G,EAEJ,CAoREiknB,CAAuBv+J,EAAIh4rB,EAAMsyO,GACjCqzlB,GAAiB3tI,EAAIh4rB,EAAM2pD,EAAM2oL,EACnC,EACMkknB,GAAiB,SAACx+J,EAAIh4rB,EAAMsyO,EAAM3oL,EAAM2kyB,IACxC3kyB,GAAQquoB,EAAGnxa,UAAU44hB,eACvB+1C,GAAqBx9J,EAAIh4rB,EAAMsyO,EAAM3oL,EAAM2kyB,EAE/C,EACM2H,GAAmB,SAAC5yC,EAAQ5qb,EAAQnmJ,EAAM3oL,EAAM6qyB,GACpD,OAAOM,GAAyBzxC,EAAQ5qb,EAAQnmJ,EAAM3oL,EAAM6qyB,GAAa5gH,KAAKq/C,EAAO,SAAAsiE,GAEnF,OADAlyC,EAAO/gW,IAAIytD,OAAOpmd,EAAM4ryB,IACjB,CACT,EAAGz4e,EACL,EAEM25e,GAASp9D,GAAMv6tB,KA+Bf43xB,GAAoB,SAACrzC,EAAQgf,EAAY/vlB,EAAM3oL,GACnD8syB,GAAOp0B,EAAY,SAAA5pc,GACbuoc,GAAevoc,IACjBg+d,GAAOpzC,EAAO/gW,IAAIh9a,OAAOmzV,EAAOj3N,OAAQ73G,GAAO,SAAA25B,GACzCuvwB,GAAcvvwB,IAChB2ywB,GAAiB5yC,EAAQ5qb,EAAQnmJ,EAAMhvJ,EAAOm1S,EAAO34J,MAAQx8I,EAAQ,KAEzE,GA1fmB,SAACg/X,EAAK7pF,EAAQ9uU,GACrC,GAAI8uU,EAAOk+d,mBAAoB,CAC7B,IAAMl7tB,EAAWg9P,EAAOzkF,MAAQ,WAAa,IAC7C4+iB,GAAOtwY,EAAIh9a,OAAOm2F,EAAU9xE,GAAO,SAAA4+H,GAC7BsqqB,GAActqqB,IAAc+5R,EAAIm9V,WAAWl3nB,IAC7CqqqB,GAAOn6d,EAAO/0W,OAAQ,SAACi5D,EAAQ38E,GAC7Bsid,EAAI27V,SAAS11nB,EAAWvoL,EAAM,GAChC,EAEJ,EACF,CACF,CAifI421B,CAAiBvzC,EAAO/gW,IAAK7pF,EAAQ9uU,EACvC,EACF,EAoBMktyB,GAASx9D,GAAMv6tB,KAUfmtF,GAAc,SAACq2T,EAAK3vb,EAAK8lW,EAAQnmJ,GAIrC,GAHAuknB,GAAOp+d,EAAO/0W,OAAQ,SAAClhB,EAAOxC,GAC5Bsid,EAAI27V,SAAStrxB,EAAK3yB,EAAM0/zB,GAAYl9zB,EAAO8vO,GAC7C,GACImmJ,EAAO/0W,OAAQ,CACjB,IAAMoz0B,EAAWx0Y,EAAIm5V,UAAU9oxB,EAAK,SAChCmk0B,GACFx0Y,EAAIs5V,UAAUjpxB,EAAK,iBAAkBmk0B,EAEzC,CACF,EACMC,GAAoB,SAAC/+J,EAAIh4rB,EAAMsyO,EAAM3oL,GACzC,IAAM04wB,EAAarqI,EAAGz/L,UAAU5wf,IAAI3H,GAC9By4X,EAAS4pc,EAAW,GACpBh0E,GAAe1ksB,GAAQquoB,EAAGnxa,UAAUwne,cACpC/rS,EAAM01O,EAAG11O,IACTz7L,EAAYmxa,EAAGnxa,UACfmwkB,EAAmB,SAACrk0B,GAAuB,IAAlBu/zB,EAAG/s1B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAGszX,EAC/B9qU,EAAWukyB,EAAI+E,WACjB/E,EAAI+E,SAAStk0B,EAAKu/zB,EAAK5/mB,EAAM3oL,GAE/BsiG,GAAYq2T,EAAK3vb,EAAKu/zB,EAAK5/mB,GAC3BuknB,GAAO3E,EAAIr8sB,WAAY,SAACrzI,EAAOxC,GAC7Bsid,EAAIs5V,UAAUjpxB,EAAK3yB,EAAM0/zB,GAAYl9zB,EAAO8vO,GAC9C,GACAuknB,GAAO3E,EAAIzge,QAAS,SAAAjvX,GAClB,IAAMqvF,EAAW6tuB,GAAYl9zB,EAAO8vO,GAC/BgwO,EAAIzyB,SAASl9Z,EAAKk/D,IACrBywX,EAAIq8V,SAAShsxB,EAAKk/D,EAEtB,EACF,EACMqlwB,EAAiB,SAAC70B,EAAY14wB,GAClC,IAAIuJ,GAAQ,EAkBZ,OAjBA2jyB,GAAOx0B,EAAY,SAAA5pc,GACjB,QAAKsoc,GAAiBtoc,KAGe,UAAjC6pF,EAAIi7V,mBAAmB5zvB,KAAsB8uU,EAAOs8d,qBAGpDziE,EAAc75Z,EAAOr0H,YAAcq0H,EAAOr0H,YAAciqf,OAGxD/rS,EAAI1qa,GAAG+R,EAAM8uU,EAAOh9P,YAAc6/rB,GAAY3xwB,MAChDqtyB,EAAiBrtyB,EAAM8uU,GACvBvlU,GAAQ,GACD,KAGX,GACOA,CACT,EACMikyB,EAAoB,SAAA5zB,GACxB,GAAIptvB,EAASotvB,GAAW,CACtB,IAAM6zB,EAAU90Y,EAAItna,OAAOuoxB,GAE3B,OADAyzB,EAAiBI,GACVA,CACT,CACE,OAAO,IAEX,EACMC,EAAgB,SAAC/0Y,EAAK9wB,EAAK8la,GAC/B,IAAM/yB,EAAc,GAChBjqI,GAAkB,EAChBipI,EAAW9qc,EAAOj3N,QAAUi3N,EAAOlzI,MACnC6xmB,EAAUD,EAAkB5zB,GAC5Bg0B,EAA0B,SAAA5tyB,GAAI,OAh7KV,SAAA8uU,GAAM,OAAIqoc,GAAcroc,KAA8B,IAAnBA,EAAOnsU,OAAiB,CAg7K7CkryB,CAAsB/+d,IAAW+1d,GAAUx2J,EAAIruoB,EAAM3pD,EAAMsyO,EAAM,EACnGmlnB,EAAiB,SAAC9tyB,EAAMmxjB,EAAY48O,GACxC,IAAMC,EAj7KqB,SAAAl/d,GAAM,OAAIqoc,GAAcroc,KAA8B,IAAnBA,EAAOnsU,OAAiB,CAi7KpDsryB,CAAyBn/d,IAAW2mc,GAAcpnI,EAAGzxqB,OAAQojC,IAASu5P,GAAQ80Y,EAAIl9E,EAAYyoN,GAChI,OAAOm0B,GAAwBC,CACjC,EASA50B,GAAOzgX,EAAK9wB,EAAK,SAAAn1U,GACf,IAAIw7uB,EACEzjzB,EAAU,SAAAuV,GACd,IAAIi4uB,GAA0B,EAC1Bk2D,EAAsBx9J,EACtBy9J,GAA4B,EAC1B78uB,EAAavxD,EAAKuxD,WAClB4/f,EAAa5/f,EAAWsB,SAAS35F,cACjCm10B,EAAuB11Y,EAAIi7V,mBAAmB5zvB,GAChD2ouB,EAAc0lE,KAChBF,EAAsBx9J,EACtBA,EAA2C,SAAzB09J,EAClBp2D,GAA0B,EAC1Bm2D,EAA4Bz4B,GAAuBtnI,EAAIruoB,IAEzD,IAAM+tyB,EAAuBp9J,IAAoBsnG,EACjD,GAAIO,GAAOx4uB,KAzGC,SAAC05vB,EAAQ5qb,EAAQ9uU,EAAMmxjB,GACzC,GAAIo2M,GAAoB7N,IAAW2d,GAAevoc,IAAW9uU,EAAKuxD,WAAY,CAC5E,IAAM+8uB,EAAwBtnD,GAAyB0S,EAAO98xB,QACxD2x0B,EAAsBthK,GAAQslG,GAAavpD,QAAQhprB,GAAO,SAAAitoB,GAAO,OAAI0kI,GAAY1kI,EAAQt0O,IAAI,GACnG,OAAOkzU,GAAkByiE,EAAuBn9O,IAAeusL,GAAUnL,GAAavpD,QAAQhprB,EAAKuxD,aAAa,KAAWg9uB,CAC7H,CACE,OAAO,CAEX,CAiG6BC,CAAYngK,EAAIv/T,EAAQ9uU,EAAMmxjB,GAKjD,OAJA+8O,EAAiB,UACb/2B,GAAcroc,IAChB6pF,EAAIh2b,OAAOq9B,IAIf,GAAI4tyB,EAAwB5tyB,GAC1BkuyB,EAAiB,SADnB,CAIA,GAAIJ,EAAe9tyB,EAAMmxjB,EAAY48O,GAAuB,CAC1D,IAAM/k0B,EAAM2vb,EAAIytD,OAAOpmd,EAAM45wB,GAI7B,OAHAyzB,EAAiBrk0B,GACjB4xyB,EAAYt9zB,KAAK0rB,QACjBkl0B,EAAiB,KAEnB,CACA,GAAI92B,GAAiBtoc,GAAS,CAC5B,IAAIvlU,EAAQgkyB,EAAe70B,EAAY14wB,GAIvC,IAHKuJ,GAASo/tB,EAAcp3qB,IAAe+ltB,GAAuBxoc,KAChEvlU,EAAQgkyB,EAAe70B,EAAYnntB,KAEhC8ltB,GAAevoc,IAAWvlU,EAE7B,YADA2kyB,EAAiB,KAGrB,CACIvlE,EAAc8kE,IApDF,SAACztyB,EAAMmxjB,EAAY48O,EAAsBK,GAC3D,IAAMv7uB,EAAW7yD,EAAK6yD,SAAS35F,cACzBu10B,EAAkBl1iB,GAAQ80Y,EAAIurI,EAAU/mtB,IAAa0mM,GAAQ80Y,EAAIl9E,EAAYyoN,GAC7En9B,GAAUkxD,GAAgBx1D,GAASn4uB,IAASw6uB,GAASx6uB,EAAKriD,MAC1D+w1B,EAAU/8B,GAAY3xwB,GACtB2uyB,GAA0Bt3B,GAAevoc,KAAY6pF,EAAIwmV,QAAQn/uB,GACvE,OAAQ+tyB,GAAwBK,IAA8BK,IAAoBhyD,IAAWiyD,GAAWC,CAC1G,CA6CkCC,CAAY5uyB,EAAMmxjB,EAAY48O,EAAsBK,IAC3EF,IACHA,EAAiBv1Y,EAAI1xc,MAAMwm1B,GAAS,GACpCl8uB,EAAWyB,aAAak7uB,EAAgBluyB,GACxC46wB,EAAYt9zB,KAAK4w1B,IAEfE,GAA6Bn2D,IAC/BtnG,EAAkBw9J,GAEpBD,EAAej7yB,YAAY+M,KAE3BkuyB,EAAiB,KACjB9jE,GAAOrruB,GAAKiB,EAAK7lB,YAAasQ,GAC1BwtvB,IACFtnG,EAAkBw9J,GAEpBD,EAAiB,KAlCnB,CAoCF,EACA9jE,GAAO13qB,EAAOjoE,EAChB,IACqB,IAAjBqkV,EAAOzkF,OACT+/e,GAAOwwC,EAAa,SAAA56wB,GAClB,IAAMvV,EAAU,SAAAuV,GACQ,MAAlBA,EAAK6yD,UACPw6uB,EAAiBrtyB,EAAM8uU,GAEzBs7Z,GAAOrruB,GAAKiB,EAAK7lB,YAAasQ,EAChC,EACAA,EAAQuV,EACV,GAEFoquB,GAAOwwC,EAAa,SAAA56wB,GAClB,IAmBM8tN,EAnBgB,SAAA9tN,GACpB,IAAIt8C,EAAQ,EAMZ,OALA0mxB,GAAOpquB,EAAK7lB,WAAY,SAAA6lB,IAxmLN,SAAAA,GACxB,OAAO2ouB,EAAc3ouB,IAASm4uB,GAASn4uB,IAAyB,IAAhBA,EAAKhoD,MACvD,EAumLe621B,CAAkB7uyB,IAAUszwB,GAAiBtzwB,IAChDt8C,GAEJ,GACOA,CACT,CAWmBor1B,CAAc9uyB,KAC5B46wB,EAAY5i0B,OAAS,IAAM2gd,EAAIwmV,QAAQn/uB,IAAyB,IAAf8tN,GAIlDupjB,GAAevoc,IAAWqoc,GAAcroc,IAAWA,EAAOnsU,WACvDmsU,EAAO34J,OAAwB,IAAf23C,IACnB9tN,EAjBgB,SAAAA,GAClB,IAAM8yH,EAAe63mB,GAAO3quB,EAAK7lB,WAAY26xB,IAAiBvkyB,OAAO,SAAAopD,GAAK,MAAsC,UAAlCg/X,EAAIi7V,mBAAmBj6tB,IAAsBmrwB,GAAUnsY,EAAKh/X,EAAOm1S,EAAO,GACxJ,OAAOh8M,EAAanqK,IAAI,SAAAgxE,GACtB,IAAM1yE,EAAQ0xc,EAAI1xc,MAAM0yE,GAAO,GAI/B,OAHA0zwB,EAAiBpm1B,GACjB0xc,EAAI1/b,QAAQhS,EAAO+4C,GAAM,GACzB24Z,EAAIh2b,OAAOg3D,GAAO,GACX1yE,CACT,GAAG0huB,MAAM3orB,EACX,CAQW27F,CAAY37F,IAErB+syB,GAAkB1+J,EAAIqqI,EAAY/vlB,EAAM3oL,GAtNvB,SAAC05vB,EAAQ5qb,EAAQz4X,EAAMsyO,EAAM3oL,GACpD,IAAMuxD,EAAavxD,EAAKuxD,WACpBszuB,GAAUnrC,EAAQnosB,EAAYl7G,EAAMsyO,IAClC2jnB,GAAiB5yC,EAAQ5qb,EAAQnmJ,EAAM3oL,IAIzC8uU,EAAOige,oBAAsBx9uB,GAC/BmosB,EAAO/gW,IAAIlqI,UAAUl9N,EAAY,SAAA7xD,GAC/B,QAAImlyB,GAAUnrC,EAAQh6vB,EAAQrpD,EAAMsyO,KAClC2jnB,GAAiB5yC,EAAQ5qb,EAAQnmJ,EAAM3oL,IAChC,EAIX,EAEJ,CAsMQgvyB,CAAiB3gK,EAAIv/T,EAAQz4X,EAAMsyO,EAAM3oL,GAjPT,SAAC24Z,EAAK7pF,EAAQnmJ,EAAM3oL,GAC1D,GAAI8uU,EAAO/0W,QAAU+0W,EAAO/0W,OAAO4pO,gBAAiB,CAClD,IAAMsrmB,EAAcvnT,GAAS/uF,EAAK,YAClC+wY,GAAqB1pyB,EAAM,SAAAh3B,GAAG,OAAIim0B,EAAYjm0B,IAAQ2vb,EAAIm9V,WAAW9sxB,EAAI,EAAE2g0B,GAAWhxY,EAAK,kBAAmBo9W,GAAYjnc,EAAO/0W,OAAO4pO,gBAAiBhb,IAC3J,CACF,CA6OQumnB,CAAgCv2Y,EAAK7pF,EAAQnmJ,EAAM3oL,GAlQtB,SAAC24Z,EAAK7pF,EAAQnmJ,EAAM3oL,GACvD,IAAMmvyB,EAAiC,SAAA3w1B,GACrC,GAAIi5xB,GAAcj5xB,IAAMg5xB,GAAYh5xB,EAAE+yG,aAAeonW,EAAIm9V,WAAWt3yB,GAAI,CACtE,IAAM4w1B,EAAuBh5B,GAAkBz9W,EAAKn6c,EAAE+yG,YAClDonW,EAAI45V,SAAS/zyB,EAAG,UAAY4w1B,EAC9Bz2Y,EAAI27V,SAAS91yB,EAAG,kBAAmB4w1B,GAC1Bz2Y,EAAI45V,SAAS/zyB,EAAG,qBAAuB4w1B,GAChDz2Y,EAAI27V,SAAS91yB,EAAG,kBAAmB,KAEvC,CACF,EACIswX,EAAO/0W,SAAW+0W,EAAO/0W,OAAOihB,OAAS8zV,EAAO/0W,OAAOyy0B,kBACzD98D,GAAMK,KAAK/vuB,EAAMmvyB,EAAgC,cACjDA,EAA+BnvyB,GAEnC,CAoPQqvyB,CAA6B12Y,EAAK7pF,EAAQnmJ,EAAM3oL,GA7OpC,SAAC24Z,EAAK7pF,EAAQnmJ,EAAM3oL,GACtC,GAAIq3wB,GAAevoc,KAA8B,QAAlBA,EAAOj3N,QAAsC,QAAlBi3N,EAAOj3N,QAAmB,CAClF,IAAMo3rB,EAAcvnT,GAAS/uF,EAAK,YAClC+wY,GAAqB1pyB,EAAM,SAAAh3B,GAAG,OAAIim0B,EAAYjm0B,IAAQ2vb,EAAIm9V,WAAW9sxB,EAAI,EAAE2g0B,GAAWhxY,EAAK,WAAY,KACvG,IAAM22Y,EAAwB/kE,GAAS5xU,EAAIh9a,OAAyB,QAAlBmzV,EAAOj3N,OAAmB,MAAQ,MAAO73G,GAAO24Z,EAAIm9V,YACtGn9V,EAAIh2b,OAAO2s0B,GAAuB,EACpC,CACF,CAuOQC,CAAY52Y,EAAK7pF,EAAQnmJ,EAAM3oL,GAC/BwpyB,GAAcn7J,EAAIv/T,EAAQnmJ,EAAM3oL,IAZhC24Z,EAAIh2b,OAAOq9B,GAAM,EAcrB,EACF,EACMmrE,EAAantE,GAAOgC,GAAQA,EAAOk9N,EAAUyxd,UACnD,GAA2C,UAAvCh2R,EAAIi7V,mBAAmBzorB,KAA4BwqsB,GAAuBtnI,EAAIljkB,GAIhF,OAFAoiuB,EAAe70B,EADf14wB,EAAOmrE,QAEP4wsB,GAAgB1tI,EAAIh4rB,EAAM2pD,EAAM2oL,GAGlC,GAAImmJ,EAAQ,CACV,GAAI9uU,EACF,GAAIhC,GAAOgC,IACT,IAAKutyB,EAAe70B,EAAY14wB,GAAO,CACrC,IAAM6nY,EAAM8wB,EAAI46V,YAChB1rX,EAAIqjT,eAAelrrB,GACnB6nY,EAAIwjT,YAAYrrrB,GAChB0tyB,EAAc/0Y,EAAKugX,GAAUvgX,EAAK9wB,EAAK6wY,IAAa,EACtD,OAEAg1B,EAAc/0Y,EAAK34Z,GAAM,QAGtB0ksB,GAAgB2yE,GAAevoc,KAAWilc,GAAmB1lI,GAAIr2rB,OA5+BnD,SAAC0hzB,EAAQrjzB,EAAMsyO,GACtC,IAAI2yjB,EACEp+gB,EAAYw8hB,EAAOx8hB,UACnBw7iB,EAAahf,EAAO9qT,UAAU5wf,IAAI3H,GACxC,GAAKqi0B,EAAL,CAGA,IAAM4C,EAAep+iB,EAAU08hB,SAC3B5+xB,EAASsgzB,EAAazyR,YAEpB16gB,EADYmtyB,EAAa7vF,eACRlnX,UACvB+2a,EAAiBs2B,GAAwBlY,EAAO50D,UAAW5ne,EAAU6ud,YACrE,IAhIkBliU,EAAe7pX,EAgI3BwvyB,EAAgB,gCACtB,GAAIrh0B,GAAQnT,EAAS,GAAKA,EAASmT,EAAKn2B,QAAUw31B,EAAcv11B,KAAKk0B,EAAK+jB,OAAOl3B,KAAYw00B,EAAcv11B,KAAKk0B,EAAK+jB,OAAOl3B,EAAS,IAAK,CACxI,IAAM82yB,EAAW50iB,EAAU6pe,cAC3Bu0E,EAAatiZ,UAAS,GACtB,IAAI6O,EAAMqxY,GAAUxf,EAAO/gW,IAAK2iX,EAAc5C,GAC9C7wY,EAAM1gZ,GAAM0gZ,GACZ6xX,EAAO9qT,UAAUptf,MAAMnL,EAAMsyO,EAAMk/M,GACnC3qK,EAAUipe,eAAe2rE,EAC3B,KAAO,CACL,IAAIj1f,EAAWy+d,EAAiBuqD,GAAkBvqD,GAAkB,KAC/DA,IAAmBz+d,aAAgD,EAAIA,EAASl/T,QAAUio1B,KA1I/E/7a,EA2Ic6vY,EAAOzyD,SA3INjnsB,EA2IgB8lyB,IAAqB,GAAMntY,IACxE97I,GADAy+d,EA1IGzxX,EAAc4pU,WAAWzzrB,GAAM,IA2IRwvG,WAC1B8rqB,EAAa9b,WAAWlkB,GACxBtgxB,EAAS,GAGT0+xB,EAAO9qT,UAAUptf,MAAMnL,EAAMsyO,EAAM2yjB,GAErCp+gB,EAAUgujB,kBAAkBrugB,EAAU7hT,EACxC,CA1BA,CA2BF,CAq9BQy00B,CAAiBphK,EAAIh4rB,EAAMsyO,IAT3Bu0C,EAAUkqe,OAAO7tZ,GAAUr8E,EAAU08hB,WACrCmb,GAAkB1mI,EAAI,WACpBqmI,GAAYrmI,EAAI,SAACitI,EAAchrF,GAC7B,IAAMm2G,EAAcn2G,EAAOgrF,EAAepC,GAAUvgX,EAAK2iX,EAAc5C,GACvEg1B,EAAc/0Y,EAAK8tY,GAAa,EAClC,EACF,EAAGtze,GACHk7U,EAAGkxI,eAILkpB,GAA0Bp6J,EAAGz/L,UAAWv4f,GAAM8+D,KAAK,SAAAw3xB,GACjDviE,GAAOy+D,GAA0Bx6J,EAAGnxa,WAAY,SAAA28J,GAAE,OAAIv3R,GAAYq2T,EAAK9+B,EAAI8ya,EAAOhknB,EAAK,EACzF,IAp2BgB,SAACtyO,EAAMqjzB,GACvB9tB,GAAMg8D,GAAkBvx1B,IAC1B+zxB,GAAOw9D,GAAiBvx1B,GAAO,SAAAsvJ,GAC7BA,EAAK+zpB,EACP,EAEJ,CAg2BIg2C,CAAcr51B,EAAMg4rB,EACtB,CACA0tI,GAAgB1tI,EAAIh4rB,EAAM2pD,EAAM2oL,EAClC,EACMgnnB,GAAgB,SAACj2C,EAAQrjzB,EAAMsyO,EAAM3oL,IACrCA,GAAQ05vB,EAAOx8hB,UAAU44hB,eAC3Bs3C,GAAkB1zC,EAAQrjzB,EAAMsyO,EAAM3oL,EAE1C,EAEM4vyB,GAAU,SAAA/21B,GAAK,OAAI+yxB,GAAM/yxB,EAAO,OAAQ,EAWxCg31B,GAAkB,SAAAn2C,GAAM,OAAIA,EAAOx8hB,UAAU6ud,UAAW,EACxD+jH,GAAe,SAACp2C,EAAQ3tR,EAASj9J,EAAQ61d,EAASh8mB,GAgBtD,OAAO+hjB,GAAY3+P,EAfI,SAAA/re,GACrB,IAAM+vyB,EAAiBr2C,EAAO9qT,UAAUi2V,UAAU7kyB,EAAM8uU,EAAQnmJ,QAAmCA,EAAO,CAAC,EAAGg8mB,GAC9G,OAAQ36pB,EAAY+lqB,EACtB,EACwB,SAAA/vyB,GACtB,QAAIykyB,GAAiC/qC,EAAQ15vB,EAAM8uU,KAG5C61d,GACIh8D,EAAc+wB,EAAO9qT,UAAUi2V,UAAU7kyB,EAAM8uU,EAAQnmJ,GAAM,GAK1E,EAEF,EACM8pkB,GAAa,SAACiH,EAAQ1wxB,GAC1B,IAAMonF,EAAUpnF,QAAiCA,EAAM6m0B,GAAgBn2C,GACvE,OAAOnvB,GAAS+rC,GAAa5c,EAAO/gW,IAAKvoW,GAAU,SAAApwD,GAAI,OAAIw3uB,GAAYx3uB,KAAU+3uB,GAAU/3uB,EAAK,EAClG,EACMgwyB,GAA+B,SAACt2C,EAAQ1wxB,EAAKin0B,GACjD,IAAMlkU,EAAU0mR,GAAWiH,EAAQ1wxB,GACnCkiwB,GAAO+kE,EAAqB,SAACty1B,EAAMmxX,GACjC,IAAMohe,EAAe,SAAAl3wB,GACnB,IAAM7+E,EAAQ211B,GAAap2C,EAAQ3tR,EAASj9J,EAAQ91S,EAAK2rwB,QAASiL,GAAQ52wB,GAAQA,EAAK2vJ,UAAOzpO,GACxFs2W,EAAQr7W,EAAMquuB,SACpB,GAAIxvpB,EAAKrhE,MAAM3Z,QAAUw3W,EAAO,CAC9Bx8R,EAAKrhE,MAAM5Z,IAAIy3W,GACf,IAAMx1T,EAAO7lD,EAAMwuuB,MAAM3/sB,GACrB4m0B,GAAQ52wB,GACVA,EAAKlgF,SAAS08W,EAAO,CACnBx1T,OACA8uU,SACAi9J,YAGFq+P,GAAOpxsB,EAAKshN,UAAW,SAAAxhS,GAAQ,OAAIA,EAAS08W,EAAO,CACjDx1T,OACA8uU,SACAi9J,WACA,EAEN,CACF,EACAq+P,GAAO,CAACzsxB,EAAKwy1B,YAAaxy1B,EAAKyy1B,gBAAiBF,GAChD9lE,GAAOzsxB,EAAK0y1B,SAAUH,EACxB,EACF,EA2DMI,GAAwB,SAAC52C,EAAQ62C,EAA2Bzje,EAASh0X,EAAU6r1B,EAASh8mB,GAE5F,OA5DmB,SAAC+wkB,EAAQ62C,EAA2Bzje,EAASh0X,EAAU6r1B,EAASh8mB,GACnF,IAAM6nnB,EAAoBD,EAA0Bvy1B,MACpDosxB,GAAOt9Z,EAAQ3lV,MAAM,KAAM,SAAA2nV,GACzB,IAAMtmP,EAAQmjpB,GAAM6kE,EAAmB1he,GAAQs9W,WAAW,WACxD,IAAMrnqB,EAAO,CACXorxB,YAAa,CACXx40B,MAAOq/xB,IAAK,GACZ2tC,SAAS,EACTrqjB,UAAW,IAEb81jB,eAAgB,CACdz40B,MAAOq/xB,IAAK,GACZ2tC,SAAS,EACTrqjB,UAAW,IAEb+1jB,SAAU,IAGZ,OADAG,EAAkB1he,GAAU/pT,EACrBA,CACT,GACM0rxB,EAAa,WACjB,IAAM1kU,EAAU0mR,GAAWiH,GAC3B,OAAOo2C,GAAap2C,EAAQ3tR,EAASj9J,EAAQ61d,EAASh8mB,GAAM6/f,QAC9D,EACA,GAAIx+iB,EAAY2+C,GAAO,CACrB,IAAM+nnB,EAAa/L,EAAUn8sB,EAAM2ntB,YAAc3ntB,EAAM4ntB,eACvDM,EAAWp2jB,UAAUh9R,KAAKxE,GACU,IAAhC431B,EAAWp2jB,UAAUtiS,QACvB041B,EAAW/40B,MAAM5Z,IAAI0y1B,IAEzB,MACEjotB,EAAM6ntB,SAAS/y1B,KAAK,CAClBqa,MAAOq/xB,GAAKy5C,KACZ9L,UACAh8mB,OACA7vO,YAGN,GACAy31B,EAA0Bxy1B,IAAIyy1B,EAChC,CAmBEn7T,CAAaqkR,EAAQ62C,EAA2Bzje,EAASh0X,EAAU6r1B,EAASh8mB,GACrE,CACLkigB,OAAQ,WAAF,OApBc,SAAC0lH,EAA2Bzje,EAASh0X,GAC3D,IAAM031B,EAAoBD,EAA0Bvy1B,MACpDosxB,GAAOt9Z,EAAQ3lV,MAAM,KAAM,SAAA2nV,GAAM,OAAI68Z,GAAM6kE,EAAmB1he,GAAQ35T,KAAK,SAAAqzE,GACzEgotB,EAAkB1he,GAAU,CAC1Bqhe,YAAWpr1B,EAAA,GACNyjI,EAAM2ntB,YAAY,CACrB71jB,UAAWiwf,GAAS/hpB,EAAM2ntB,YAAY71jB,UAAW,SAAAxkO,GAAE,OAAIA,IAAOh9D,CAAQ,KAExEs31B,eAAcrr1B,EAAA,GACTyjI,EAAM4ntB,eAAe,CACxB91jB,UAAWiwf,GAAS/hpB,EAAM4ntB,eAAe91jB,UAAW,SAAAxkO,GAAE,OAAIA,IAAOh9D,CAAQ,KAE3Eu31B,SAAU9lE,GAAS/hpB,EAAM6ntB,SAAU,SAAAho0B,GAAI,OAAIA,EAAKvvB,WAAaA,CAAQ,GAEzE,EAAE,GACFy31B,EAA0Bxy1B,IAAIyy1B,EAChC,CAIkBG,CAAgBJ,EAA2Bzje,EAASh0X,EAAS,EAE/E,EAaM831B,GAAYlhE,GAAMhnD,QAClBmoH,GAAW,WACf,IAAMznxB,EAAU,CAAC,EA8BjB,MAAO,CACLC,UA9BgB,SAAChzE,EAAMyC,GACvBsxxB,GAAOwmE,GAAUv61B,GAAO,SAAAA,GACjBu1xB,GAAMxitB,EAAS/yE,KAClB+yE,EAAQ/yE,GAAQ,CACdA,OACAikS,UAAW,KAGflxN,EAAQ/yE,GAAMikS,UAAUh9R,KAAKxE,EAC/B,EACF,EAqBEg41B,WApBiB,WAAH,OAAS12yB,GAAOgvB,EAAS,EAqBvC2nxB,aApBmB,SAAC161B,EAAMyC,GAC1BsxxB,GAAOwmE,GAAUv61B,GAAO,SAAAA,GACtB,GAAIu1xB,GAAMxitB,EAAS/yE,GACjB,GAAIsyxB,EAAc7vxB,GAAW,CAC3B,IAAMy3B,EAAS64C,EAAQ/yE,GACjB261B,EAAezmE,GAASh6vB,EAAO+pQ,UAAW,SAAA7sP,GAAC,OAAIA,IAAM30C,CAAQ,GAC/Dk41B,EAAah51B,OAAS,EACxBu4B,EAAO+pQ,UAAY02jB,SAEZ5nxB,EAAQ/yE,EAEnB,aACS+yE,EAAQ/yE,EAGrB,EACF,EAMF,EAOM461B,GAAuB,SAACC,EAAWn30B,EAAQo30B,GAC/CD,EAAUE,cAAc,OAAQ,SAAA1+uB,GAC9B03qB,GAAO13qB,EAAO,SAAA1yD,GACZ,IAAM7Z,EAAQpsB,EAAOjgB,MAAMkmD,EAAK2pB,KAAK,UAC/B3uC,EAAQglB,EAAK2pB,KAAK,SAClB8mqB,EAAOzwrB,EAAK2pB,KAAK,QACjBzrE,EAAO8hD,EAAK2pB,KAAK,QACnB3uC,IACFmL,EAAMnL,MAAQA,GAEZy1sB,IACFtqsB,EAAM,eAAiBsqsB,GAErBvyuB,GACF0lpB,GAAM1lpB,GAAMi3D,KAAK,SAAA1P,GACftf,EAAM,aAAegrzB,EAAU1ryB,EAAM,EACvC,GAEFzF,EAAK3pD,KAAO,OACZ2pD,EAAK2pB,KAAK,QAAS5vD,EAAOnhB,UAAUutC,IAxBtB,SAAC6Z,EAAM7S,GACzBi9uB,GAAOj9uB,EAAO,SAAA92C,GACZ2pD,EAAK2pB,KAAKtzE,EAAM,KAClB,EACF,CAqBMg71B,CAAYrxyB,EAAM,CAAC,QAAS,OAAQ,QACtC,EACF,EACF,EAgBMsxyB,GAAa,SAACJ,EAAW9kR,EAAUxvjB,GACvC,IAAIylC,EACEtoC,EAAS4yxB,KACXvgO,EAASmlR,wBACXN,GAAqBC,EAAWn30B,EAAQ21wB,GAAMhnD,QAAoD,QAA3CrmrB,EAAK+phB,EAASolR,+BAAiD,IAAZnvyB,EAAgBA,EAAK,KAnB3G,SAAC6uyB,EAAWt00B,EAAQ7C,GAC1Cm30B,EAAUE,cAAc,SAAU,SAAA1+uB,GAChC,IAAM++uB,EAAgC,UAAhB700B,EAAOrjB,KAC7B6wxB,GAAO13qB,EAAO,SAAA1yD,GACZ,GAAIyxyB,EACFzxyB,EAAK3pD,KAAO,QACP,CACL,IAAM8vC,EAAQpsB,EAAOjgB,MAAMkmD,EAAK2pB,KAAK,UACrCxjC,EAAM,mBAAqB,eAC3B6Z,EAAK3pD,KAAO,OACZ2pD,EAAK2pB,KAAK,QAAS5vD,EAAOnhB,UAAUutC,GACtC,CACF,EACF,EACF,CAOEurzB,CAAgBR,EAAWt00B,EAAQ7C,EACrC,EAOMq30B,GAAgB,SAAChlR,EAAUulR,EAAY/00B,GAC3C+00B,EAAWP,cAAc,KAAM,SAAC1+uB,EAAOt6B,EAAG7qE,GACxC,IAAMqk1B,EAAgBliE,GAAM59wB,OAAO,CAAC,EAAG8K,EAAOgixB,oBACxC6W,EAAmB74xB,EAAO4uxB,sBAC1BgK,EAAqB54xB,EAAO8uxB,wBAClCkmD,EAAcv/xB,KAAO,EAErB,IADA,IAAM8suB,EAAU,SAAAn/uB,GAAI,OAAIA,EAAK3pD,QAAQu71B,GAAiBvxD,GAAsBzjxB,EAAQojC,EAAM,EACjFznD,EAAI,EAAG09C,EAAIy8D,EAAM16G,OAAQO,EAAI09C,EAAG19C,IAAK,CAC5C,IAAIynD,EAAO0yD,EAAMn6G,GACbmnD,EAASM,EAAKN,OAClB,GAAIA,GAAUy/uB,EAAQz/uB,IAAWM,IAASN,EAAOy4D,UAAW,CAE1D,IADA,IAAIxyG,EAAOq6C,EAAKr6C,KACTA,GAAM,CACX,IAAMks1B,EAAWls1B,EAAKtP,KACtB,GAAiB,SAAbw71B,GAAsD,aAA/Bls1B,EAAKgkE,KAAK,iBAAiC,CACnD,OAAbkoxB,IACF7xyB,EAAO,MAET,KACF,CACAr6C,EAAOA,EAAKA,IACd,CACA,GAAIq6C,IACFA,EAAKr9B,SACDyT,GAAQxZ,EAAQ64xB,EAAkBD,EAAoB91vB,IAAS,CACjE,IAAM2uxB,EAAczxzB,EAAO6txB,eAAe/qvB,EAAOrpD,MAC7Cg40B,IACEA,EAAYzoC,YACdlmvB,EAAO/8B,SACE0rzB,EAAY1oC,WACrBy4C,GAAchyQ,EAAU7+jB,EAAM4xxB,EAASz/uB,GAG7C,CAEJ,KAAO,CAEL,IADA,IAAIoyyB,EAAa9xyB,EACVN,GAAUA,EAAO8vG,aAAesisB,GAAcpyyB,EAAOy4D,YAAc25uB,IACxEA,EAAapyyB,GACTkyyB,EAAclyyB,EAAOrpD,QAGzBqpD,EAASA,EAAOA,OAElB,GAAIoyyB,IAAepyyB,EAAQ,CACzB,IAAMm9Q,EAAW,IAAIyugB,GAAQ,QAAS,GACtCzugB,EAAShkU,MAAQsgyB,GACjBn5uB,EAAK/mC,QAAQ4jT,EACf,CACF,CACF,CACF,EACF,EAUMk1hB,GAAe,SAAA1nuB,GACnB,IAAA2nuB,EAAwB3nuB,EAAIljF,MAAM,KAAI8qzB,EAAA7ttB,EAAA4ttB,GAA/Bz41B,EAAI041B,EAAA,GACLt01B,EADc2mI,EAAA2ttB,GAAA7j1B,MAAA,GACFk3C,KAAK,KACjBmsD,EAAU,4BAA4B5jE,KAAKt0C,GACjD,GAAIk4G,EAAS,CACX,IAAMygvB,EAA+B,YAAfzgvB,EAAQ,GACxB0gvB,EAAgBD,EAVA,SAAAv01B,GACxB,IAAM8zG,EAAU,qBAAqB5jE,KAAKlwC,GAC1C,OAAO8zG,EAAUA,EAAQ,GAAK,EAChC,CAO0C2gvB,CAAkBz01B,GAAQ+5E,mBAAmB/5E,GACnF,OAAO4rxB,EAASpyvB,KAAK,CACnB59B,KAAMk4G,EAAQ,GACd9zG,KAAMw01B,EACND,iBAEJ,CACE,OAAO3oE,EAAS/gX,MAEpB,EACM6pb,GAAY,SAAC941B,EAAMoE,GAAgC,IACnDrE,EAAMqE,EACV,KAF0CnC,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,KAAAA,UAAA,GAGxC,IACElC,EAAMo9sB,KAAK/4sB,EACb,CAAE,MAAOvH,GACP,OAAOmzxB,EAAS/gX,MAClB,CAGF,IADA,IAAMjlX,EAAM,IAAIjrD,WAAWgB,EAAItB,QACtBO,EAAI,EAAGA,EAAIgrD,EAAIvrD,OAAQO,IAC9BgrD,EAAIhrD,GAAKe,EAAIihD,WAAWhiD,GAE1B,OAAOgxxB,EAASpyvB,KAAK,IAAIhhC,KAAK,CAACotD,GAAM,CACnChqD,SAEJ,EAUMi9sB,GAAY,SAAAporB,GAChB,OAAI/wB,GAAW+wB,EAAK,SAnDA,SAAAA,GAAG,OAAIujC,MAAMvjC,GAAK9yB,KAAK,SAAAqvD,GAAG,OAAIA,EAAIpJ,GAAKoJ,EAAIoiD,OAAS1sG,QAAQE,QAAQ,GAAEgD,MAAM,kBAAMlD,QAAQE,OAAO,CACrH4C,QAAS,kBAAkBnI,OAAOozB,EAAK,0DACvCkk0B,QAAS,QACT,EAAE,CAiDOC,CAAcnk0B,GACZ/wB,GAAW+wB,EAAK,UAZPi8F,EAaGj8F,EAZhB,IAAI/tB,QAAQ,SAACC,EAASC,GAC3Bwx1B,GAAa1nuB,GAAKlsD,KAAK,SAAAh7C,GAAA,IACrB5pB,EAAI4pB,EAAJ5pB,KACAoE,EAAIwlB,EAAJxlB,KACAu01B,EAAa/u0B,EAAb+u0B,cAAa,OACTG,GAAU941B,EAAMoE,EAAMu01B,EAAc,GAAEjoH,KAAK,kBAAM1puB,EAAO,mBAAmB,EAAED,EACrF,IAQSD,QAAQE,OAAO,sBAfJ,IAAA8pH,CAiBtB,EACMmouB,GAAgB,SAAAzlvB,GACpB,OAAO,IAAI1sG,QAAQ,SAACC,EAASC,GAC3B,IAAMysG,EAAS,IAAI5zG,WACnB4zG,EAAOqtnB,UAAY,WACjB/5tB,EAAQ0sG,EAAOvzG,OACjB,EACAuzG,EAAOzqG,QAAU,WACf,IAAI8/C,EACJ9hD,EAA+B,QAAvB8hD,EAAK2qD,EAAOz2G,aAA+B,IAAZ8rD,OAAqB,EAAIA,EAAGl/C,QACrE,EACA6pG,EAAOG,cAAcJ,EACvB,EACF,EAEI0lvB,GAAU,EAIRC,GAAiB,SAACC,EAASC,EAAYC,GAC3C,OAAOd,GAAaY,GAASx0xB,KAAK,SAAA76C,GAI3B,IAHL3lB,EAAI2lB,EAAJ3lB,KACApE,EAAI+pB,EAAJ/pB,KACA241B,EAAa5u0B,EAAb4u0B,cAEA,GAAIU,IAAeV,EACjB,OAAO3oE,EAAS/gX,OAEhB,IAAM/3L,EAASyhnB,EAAgBv01B,EAAOw5sB,KAAKx5sB,GAC3C,OAAOk11B,EAAiBpinB,EAAQl3O,EAEpC,EACF,EACMu51B,GAAmB,SAACltG,EAAW74oB,EAAM0jI,GACzC,IAAMsinB,EAAWntG,EAAUv0sB,OAlBV,SAAAjY,GACjB,OAAQA,GAAU,UAAYq5zB,IAChC,CAgBoCO,GAAcjmvB,EAAM0jI,GAEtD,OADAm1gB,EAAU5+uB,IAAI+r1B,GACPA,CACT,EACME,GAAoB,SAACrtG,EAAW+sG,GACpC,OAAOD,GAAeC,EADiCn31B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,IAAAA,UAAA,GACZ,SAACi1O,EAAQl3O,GAAI,OAAKgwxB,EAASxquB,KAAK6msB,EAAUstG,UAAUzinB,EAAQl3O,IAAOywuB,QAAQ,kBAAMqoH,GAAU941B,EAAMk3O,GAAQ9nO,IAAI,SAAAokG,GAAI,OAAI+lvB,GAAiBltG,EAAW74oB,EAAM0jI,EAAO,EAAC,EAAC,EAC7M,EAyBM0inB,GAA4B,SAAC/oxB,EAAQgigB,GACzC,IACcw5K,EACVx5K,EADFgnR,WAEF,GAAIxtG,EAAW,CACb,IAAMytG,EAAe,SAAA94Z,GACnB,IAAM+4Z,EAAW/4Z,EAAI5wX,KAAK,QAPF,SAAA4wX,GAAG,OAAIA,EAAI5wX,KAAK,SAAWyltB,GAAIC,gBAAkB1G,EAAcpuV,EAAI5wX,KAAK,wBAAyB,EAQrH4pxB,CAAsBh5Z,IATX,SAAAA,GAAG,OAAIouV,EAAcpuV,EAAI5wX,KAAK,kBAAmB,CAS9B6pxB,CAAaj5Z,IAAQmuV,EAAW4qE,IAGlEL,GAAkBrtG,EAAW0tG,GAAU,GAAMn+xB,KAAK,SAAA49xB,GAChDx4Z,EAAI5wX,KAAK,MAAOopxB,EAASltG,UAC3B,EACF,EACAz7qB,EAAO6wuB,mBAAmB,MAAO,SAAAvosB,GAAK,OAAI03qB,GAAO13qB,EAAO2gvB,EAAa,EACvE,CACF,EACMI,GAAa,SAACC,EAAMn61B,GAAI,OAAK8D,GAAWq21B,EAAM,GAAG141B,OAAOzB,EAAM,KAAM,EA8BpEo61B,GAAa,SAACvpxB,EAAQgigB,GAC1B,IAAMxvjB,EAASwtD,EAAOxtD,OAClBwvjB,EAASwnR,qBACXxC,GAAchlR,EAAUhigB,EAAQxtD,GAElCwtD,EAAO6wuB,mBAAmB,OAAQ,SAAAvosB,GAChC,IAAIn6G,EAAIm6G,EAAM16G,OAKR671B,EAAc,SAAAv1lB,GAClB,IAAMw1lB,EAASx1lB,EAAMoxhB,GAAMl/tB,KAAK8tM,GAAO,GACvC,MAAK,kBAAkBrkQ,KAAK651B,GAGnBA,EATO,SAAAx1lB,GAChB,IAAMroQ,EAAQqoQ,EAAIn3N,MAAM,KAAK5W,OAAO,SAAAr4B,GAAC,OAAIA,EAAEF,OAAS,CAAC,GACrD,OAAO/B,EAAM+E,OAAO,CAAC,aAAa6D,OAAOymD,KAAK,IAChD,CAIWyuyB,CAAUD,EAIrB,EACA,IAAK1nR,EAAS4nR,yBACZ,KAAOz71B,KAAK,CACV,IAAMynD,EAAO0yD,EAAMn6G,GACD,MAAdynD,EAAK3pD,MAAwC,WAAxB2pD,EAAK2pB,KAAK,WACjC3pB,EAAK2pB,KAAK,MAAOkqxB,EAAY7zyB,EAAK2pB,KAAK,QAE3C,CAEJ,GACKyigB,EAAS6nR,4BACZ7pxB,EAAO6wuB,mBAAmB,UAAW,SAAAvosB,GAMnC,IALA,IACEu6kB,EACAylD,EACAhzrB,EACAM,EAJEznD,EAAIm6G,EAAM16G,OAKPO,KAEL,GAAkB,OADlBynD,EAAO0yD,EAAMn6G,IACJlC,MAAgB2pD,EAAKwvG,aAAexvG,EAAK2pB,KAAK,QAGrD,IAFAjqB,EAASM,EAAKN,OACdutoB,EAAUjtoB,EAAKm4D,UACR80kB,GAAWvtoB,GAChBgzrB,EAAczlD,EAAQtnrB,KACtB+5C,EAAOkmG,OAAOqniB,EAASjtoB,GACvBitoB,EAAUylD,CAIlB,GAEEtmK,EAAS8nR,mBACX9pxB,EAAOgnxB,cAAc,QAAS,SAAA1+uB,GAI5B,IAHA,IACE1yD,EACAuxD,EAFEh5G,EAAIm6G,EAAM16G,OAGPO,KAGL,IADAg5G,GADAvxD,EAAO0yD,EAAMn6G,IACKmnD,UACqB,OAApB6xD,EAAWl7G,MAAqC,OAApBk7G,EAAWl7G,MACxD,GAAI2pD,EAAKr6C,MAA2B,OAAnBq6C,EAAKr6C,KAAKtP,KACzB2pD,EAAKr6C,KAAK+pJ,OAAO1vG,OACZ,CACL,IAAM65X,EAAK,IAAIyxZ,GAAQ,KAAM,GAC7BzxZ,EAAGlwW,KAAK,QAAS,yBACjB3pB,EAAKxK,KAAKqkY,EACZ,CAGN,GAEF,IAAM6uX,EAAe9rxB,EAAOuuxB,kBACxB/+N,EAASzzR,UAAY+vf,GACvBt+tB,EAAO6wuB,mBAAmB,QAAS,SAAAvosB,GAGjC,IAFA,IAAIrwD,EACA9pD,EAAIm6G,EAAM16G,OACPO,KAAK,CAKV,IAJA,IAAMynD,EAAO0yD,EAAMn6G,GACbs5xB,EAAsC,QAA7BxvuB,EAAKrC,EAAK2pB,KAAK,gBAAkC,IAAZtnB,EAAgBA,EAAK,GACnE9+B,EAAYmswB,GAAMhnD,QAAQmpD,EAAO,KACnCsiE,EAAa,GACRn6a,EAAK,EAAGA,EAAKz2Z,EAAUvrB,OAAQgib,IAAM,CAC5C,IAAMr0Z,EAAYpC,EAAUy2Z,GACxBp7J,GAAQ,EACRw1kB,EAAkB1rD,EAAa,KAC/B0rD,GAAmBA,EAAgBzu0B,KACrCi5P,GAAQ,GAEVw1kB,EAAkB1rD,EAAa1ovB,EAAK3pD,OAC/BuoR,GAASw1kB,GAAmBA,EAAgBzu0B,KAC/Ci5P,GAAQ,GAENA,IACEu1kB,IACFA,GAAc,KAEhBA,GAAcxu0B,EAElB,CACKwu0B,EAAWn81B,SACdm81B,EAAa,MAEfn0yB,EAAK2pB,KAAK,QAASwqxB,EACrB,CACF,GAEFhB,GAA0B/oxB,EAAQgigB,GAC9BA,EAASioR,uBACXjqxB,EAAOgnxB,cAAc,eAAgB,SAAA1+uB,GAAK,OAAI03qB,GAAO13qB,EAAO,SAAA1yD,GAC1DA,EAAK/mC,QAxIa,SAACy60B,EAAMxgzB,EAAK/6B,EAAOE,EAAQi80B,GACjD,IAAIj+1B,EAEFA,EADE2zL,EAAY0pqB,GACP,SACED,GAAWC,EAAM,SACnB,MACED,GAAWC,EAAM,SACnB,QACED,GAAWC,EAAM,SACnB,QAEA,SAET,IAAMt1Z,EAAQ,IAAIktY,GAAQj10B,EAAM,GAchC,OAbA+nc,EAAMz0X,KAAc,UAATtzE,EAAmB,CAC5B68C,OACE,CACFA,MACA/6B,QACAE,WAEW,UAAThiB,GAA6B,UAATA,GACtB+nc,EAAMz0X,KAAK,WAAY,IAEZ,WAATtzE,GAAqBi+1B,GACvBl2Z,EAAMz0X,KAAK,UAAW,IAEjBy0X,CACT,CA4GmBm2Z,CAAgBv0yB,EAAK2pB,KAAK,QAAuB,WAAd3pB,EAAK3pD,KAAoB2pD,EAAK2pB,KAAK,QAAU3pB,EAAK2pB,KAAK,OAAQ3pB,EAAK2pB,KAAK,SAAU3pB,EAAK2pB,KAAK,UAAWyigB,EAASooR,iBACnK,EAAE,GAEApoR,EAASooR,iBACXpqxB,EAAOgnxB,cAAc,SAAU,SAAA1+uB,GAAK,OAAI03qB,GAAO13qB,EAAO,SAAA1yD,GAAI,OAAIA,EAAK2pB,KAAK,UAAW,GAAG,EAAC,EAE3F,EAGEj9D,GAKEnV,OALFmV,QACA6hN,GAIEh3N,OAJFg3N,eACAg6G,GAGEhxU,OAHFgxU,SACAzvR,GAEEvhD,OAFFuhD,eACAhF,GACEv8C,OADFu8C,yBAGAzkC,GAGE9X,OAHF8X,OACAymW,GAEEv+W,OAFFu+W,KACQ2+e,GACNl91B,OADF85C,OAEF5tB,GAGuB,oBAAZ6zB,SAA2BA,QAFpC91C,GAAKiiB,GAALjiB,MACA6sN,GAAS5qM,GAAT4qM,UAEG7sN,KACHA,GAAQ,SAAemvH,EAAK+juB,EAAWnn1B,GACrC,OAAOojH,EAAInvH,MAAMkz1B,EAAWnn1B,EAC9B,GAEG8B,KACHA,GAAS,SAAgBf,GACvB,OAAOA,CACT,GAEGwnW,KACHA,GAAO,SAAcxnW,GACnB,OAAOA,CACT,GAEG+/M,KACHA,GAAY,SAAmBsmoB,EAAMpn1B,GACnC,OAAA0yE,EAAW00wB,EAAInr0B,EAAIjc,GACrB,GAEF,IAmBqBwxD,GAnBf61xB,GAAeC,GAAQ5m1B,MAAMzW,UAAUi1B,SACvCqo0B,GAAWD,GAAQ5m1B,MAAMzW,UAAUu/D,KACnCyrf,GAAYqyS,GAAQ5m1B,MAAMzW,UAAU8F,MACpCy31B,GAAoBF,GAAQ551B,OAAOzD,UAAU0hB,aAC7C870B,GAAiBH,GAAQ551B,OAAOzD,UAAUF,UAC1C291B,GAAcJ,GAAQ551B,OAAOzD,UAAU2C,OACvC+61B,GAAgBL,GAAQ551B,OAAOzD,UAAUyhB,SACzCk80B,GAAgBN,GAAQ551B,OAAOzD,UAAUgB,SACzC481B,GAAaP,GAAQ551B,OAAOzD,UAAUg5D,MACtCgwmB,GAAaq0L,GAAQ9yxB,OAAOvqE,UAAUyC,MACtCo71B,IASet2xB,GATen0B,UAU3B,WACL,IAAK,IAAI4qC,EAAQh6E,UAAUxD,OAAQuV,EAAO,IAAIU,MAAMunE,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFloE,EAAKkoE,GAASj6E,UAAUi6E,GAE1B,OAAO44I,GAAUtvJ,GAAMxxD,EACzB,GAdF,SAASsn1B,GAAQ91xB,GACf,OAAO,SAAU2qB,GACf,IAAK,IAAIj6E,EAAOjU,UAAUxD,OAAQuV,EAAO,IAAIU,MAAMwB,EAAO,EAAIA,EAAO,EAAI,GAAItG,EAAO,EAAGA,EAAOsG,EAAMtG,IAClGoE,EAAKpE,EAAO,GAAK3N,UAAU2N,GAE7B,OAAO3H,GAAMu9D,EAAM2qB,EAASn8E,EAC9B,CACF,CASA,SAAS+n1B,GAASv31B,EAAK0Q,EAAO8m1B,GAC5B,IAAIC,EACJD,EAAiE,QAA5CC,EAAqBD,SAA2D,IAA5BC,EAAgCA,EAAqBT,GAC1HxmoB,IACFA,GAAexwN,EAAK,MAGtB,IADA,IAAIk4C,EAAIxnC,EAAMzW,OACPi+C,KAAK,CACV,IAAIm6D,EAAU3hG,EAAMwnC,GACpB,GAAuB,iBAAZm6D,EAAsB,CAC/B,IAAMqlvB,EAAYF,EAAkBnlvB,GAChCqlvB,IAAcrlvB,IACXm4N,GAAS95T,KACZA,EAAMwnC,GAAKw/yB,GAEbrlvB,EAAUqlvB,EAEd,CACA131B,EAAIqyG,IAAW,CACjB,CACA,OAAOryG,CACT,CACA,SAASkJ,GAAMimC,GACb,IAC+C+iD,EADzCylwB,EAAYjB,GAAS,MAAMzkwB,EAAA1xF,EACDoO,GAAQwgC,IAAO,IAA/C,IAAA8iD,EAAAzxF,MAAA0xF,EAAAD,EAAAxxF,KAAAC,MAAiD,CAAC,IAADyxF,EAAA77E,EAAA47E,EAAAp3F,MAAA,GAArCmhB,EAAQk2E,EAAA,GAAEr3F,EAAKq3F,EAAA,GACzBwlwB,EAAU170B,GAAYnhB,CACxB,CAAC,OAAA6F,GAAAsxF,EAAA55F,EAAAsI,EAAA,SAAAsxF,EAAArxF,GAAA,CACD,OAAO+21B,CACT,CACA,SAASC,GAAazozB,EAAQjgC,GAC5B,KAAkB,OAAXigC,GAAiB,CACtB,IAAMyK,EAAO7D,GAAyB5G,EAAQjgC,GAC9C,GAAI0qC,EAAM,CACR,GAAIA,EAAK35C,IACP,OAAO621B,GAAQl9yB,EAAK35C,KAEtB,GAA0B,mBAAf25C,EAAK9+C,MACd,OAAOg81B,GAAQl9yB,EAAK9+C,MAExB,CACAq0C,EAAS4L,GAAe5L,EAC1B,CAKA,OAJA,SAAuBkjE,GAErB,OADA95G,QAAQyE,KAAK,qBAAsBq1G,GAC5B,IACT,CAEF,CACA,IAAMwlvB,GAASvm1B,GAAO,CAAC,IAAK,OAAQ,UAAW,UAAW,OAAQ,UAAW,QAAS,QAAS,IAAK,MAAO,MAAO,MAAO,QAAS,aAAc,OAAQ,KAAM,SAAU,SAAU,UAAW,SAAU,OAAQ,OAAQ,MAAO,WAAY,UAAW,OAAQ,WAAY,KAAM,YAAa,MAAO,UAAW,MAAO,SAAU,MAAO,MAAO,KAAM,KAAM,UAAW,KAAM,WAAY,aAAc,SAAU,OAAQ,SAAU,OAAQ,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAAQ,SAAU,SAAU,KAAM,OAAQ,IAAK,MAAO,QAAS,MAAO,MAAO,QAAS,SAAU,KAAM,OAAQ,MAAO,OAAQ,UAAW,OAAQ,WAAY,QAAS,MAAO,OAAQ,KAAM,WAAY,SAAU,SAAU,IAAK,UAAW,MAAO,WAAY,IAAK,KAAM,KAAM,OAAQ,IAAK,OAAQ,UAAW,SAAU,SAAU,QAAS,SAAU,SAAU,OAAQ,SAAU,SAAU,QAAS,MAAO,UAAW,MAAO,QAAS,QAAS,KAAM,WAAY,WAAY,QAAS,KAAM,QAAS,OAAQ,KAAM,QAAS,KAAM,IAAK,KAAM,MAAO,QAAS,QACn+Bwm1B,GAAQxm1B,GAAO,CAAC,MAAO,IAAK,WAAY,cAAe,eAAgB,eAAgB,gBAAiB,mBAAoB,SAAU,WAAY,OAAQ,OAAQ,UAAW,SAAU,OAAQ,IAAK,QAAS,WAAY,QAAS,QAAS,OAAQ,iBAAkB,SAAU,OAAQ,WAAY,QAAS,OAAQ,UAAW,UAAW,WAAY,iBAAkB,OAAQ,OAAQ,QAAS,SAAU,SAAU,OAAQ,WAAY,QAAS,OAAQ,QAAS,OAAQ,UAC3c8luB,GAAa9luB,GAAO,CAAC,UAAW,gBAAiB,sBAAuB,cAAe,mBAAoB,oBAAqB,oBAAqB,iBAAkB,eAAgB,UAAW,UAAW,UAAW,UAAW,UAAW,iBAAkB,UAAW,UAAW,cAAe,eAAgB,WAAY,eAAgB,qBAAsB,cAAe,SAAU,iBAChYym1B,GAAgBzm1B,GAAO,CAAC,UAAW,gBAAiB,SAAU,UAAW,YAAa,mBAAoB,iBAAkB,gBAAiB,gBAAiB,gBAAiB,QAAS,YAAa,OAAQ,eAAgB,YAAa,UAAW,gBAAiB,SAAU,MAAO,aAAc,UAAW,QAChT0m1B,GAAW1m1B,GAAO,CAAC,OAAQ,WAAY,SAAU,UAAW,QAAS,SAAU,KAAM,aAAc,gBAAiB,KAAM,KAAM,QAAS,UAAW,WAAY,QAAS,OAAQ,KAAM,SAAU,QAAS,SAAU,OAAQ,OAAQ,UAAW,SAAU,MAAO,QAAS,MAAO,SAAU,aAAc,gBACxS2m1B,GAAmB3m1B,GAAO,CAAC,UAAW,cAAe,aAAc,WAAY,YAAa,UAAW,UAAW,SAAU,SAAU,QAAS,YAAa,aAAc,iBAAkB,cAAe,SAC3M8e,GAAO9e,GAAO,CAAC,UACfm2W,GAAOn2W,GAAO,CAAC,SAAU,SAAU,QAAS,MAAO,iBAAkB,eAAgB,uBAAwB,WAAY,aAAc,UAAW,SAAU,UAAW,cAAe,cAAe,UAAW,OAAQ,QAAS,QAAS,QAAS,OAAQ,UAAW,WAAY,eAAgB,SAAU,cAAe,WAAY,WAAY,UAAW,MAAO,WAAY,0BAA2B,wBAAyB,WAAY,YAAa,UAAW,eAAgB,OAAQ,MAAO,UAAW,SAAU,SAAU,OAAQ,OAAQ,WAAY,KAAM,YAAa,YAAa,QAAS,OAAQ,QAAS,OAAQ,OAAQ,UAAW,OAAQ,MAAO,MAAO,YAAa,QAAS,SAAU,MAAO,YAAa,WAAY,QAAS,OAAQ,QAAS,UAAW,aAAc,SAAU,OAAQ,UAAW,UAAW,cAAe,cAAe,SAAU,UAAW,UAAW,aAAc,WAAY,MAAO,WAAY,MAAO,WAAY,OAAQ,OAAQ,UAAW,aAAc,QAAS,WAAY,QAAS,OAAQ,QAAS,OAAQ,UAAW,QAAS,MAAO,SAAU,OAAQ,QAAS,UAAW,WAAY,QAAS,YAAa,OAAQ,SAAU,SAAU,QAAS,QAAS,QAAS,SACjqCmmR,GAAMnmR,GAAO,CAAC,gBAAiB,aAAc,WAAY,qBAAsB,SAAU,gBAAiB,gBAAiB,UAAW,gBAAiB,iBAAkB,QAAS,OAAQ,KAAM,QAAS,OAAQ,gBAAiB,YAAa,YAAa,QAAS,sBAAuB,8BAA+B,gBAAiB,kBAAmB,KAAM,KAAM,IAAK,KAAM,KAAM,kBAAmB,YAAa,UAAW,UAAW,MAAO,WAAY,YAAa,MAAO,OAAQ,eAAgB,YAAa,SAAU,cAAe,cAAe,gBAAiB,cAAe,YAAa,mBAAoB,eAAgB,aAAc,eAAgB,cAAe,KAAM,KAAM,KAAM,KAAM,aAAc,WAAY,gBAAiB,oBAAqB,SAAU,OAAQ,KAAM,kBAAmB,KAAM,MAAO,IAAK,KAAM,KAAM,KAAM,KAAM,UAAW,YAAa,aAAc,WAAY,OAAQ,eAAgB,iBAAkB,eAAgB,mBAAoB,iBAAkB,QAAS,aAAc,aAAc,eAAgB,eAAgB,cAAe,cAAe,mBAAoB,YAAa,MAAO,OAAQ,QAAS,SAAU,OAAQ,MAAO,OAAQ,aAAc,SAAU,WAAY,UAAW,QAAS,SAAU,cAAe,SAAU,WAAY,cAAe,OAAQ,aAAc,sBAAuB,mBAAoB,eAAgB,SAAU,gBAAiB,sBAAuB,iBAAkB,IAAK,KAAM,KAAM,SAAU,OAAQ,OAAQ,cAAe,YAAa,UAAW,SAAU,SAAU,QAAS,OAAQ,kBAAmB,mBAAoB,mBAAoB,eAAgB,cAAe,eAAgB,cAAe,aAAc,eAAgB,mBAAoB,oBAAqB,iBAAkB,kBAAmB,oBAAqB,iBAAkB,SAAU,eAAgB,QAAS,eAAgB,iBAAkB,WAAY,UAAW,UAAW,YAAa,mBAAoB,cAAe,kBAAmB,iBAAkB,aAAc,OAAQ,KAAM,KAAM,UAAW,SAAU,UAAW,aAAc,UAAW,aAAc,gBAAiB,gBAAiB,QAAS,eAAgB,OAAQ,eAAgB,mBAAoB,mBAAoB,IAAK,KAAM,KAAM,QAAS,IAAK,KAAM,KAAM,IAAK,eAC9vE+luB,GAAS/luB,GAAO,CAAC,SAAU,cAAe,QAAS,WAAY,QAAS,eAAgB,cAAe,aAAc,aAAc,QAAS,MAAO,UAAW,eAAgB,WAAY,QAAS,QAAS,SAAU,OAAQ,KAAM,UAAW,SAAU,gBAAiB,SAAU,SAAU,iBAAkB,YAAa,WAAY,cAAe,UAAW,UAAW,gBAAiB,WAAY,WAAY,OAAQ,WAAY,WAAY,aAAc,UAAW,SAAU,SAAU,cAAe,gBAAiB,uBAAwB,YAAa,YAAa,aAAc,WAAY,iBAAkB,iBAAkB,YAAa,UAAW,QAAS,UACrpB4m1B,GAAM5m1B,GAAO,CAAC,aAAc,SAAU,cAAe,YAAa,gBAClE6m1B,GAAgBpgf,GAAK,6BACrBqgf,GAAWrgf,GAAK,yBAChBsgf,GAActgf,GAAK,kBACnBugf,GAAYvgf,GAAK,8BACjBwgf,GAAYxgf,GAAK,kBACjBygf,GAAiBzgf,GAAK,6FACtB0gf,GAAoB1gf,GAAK,yBACzB2gf,GAAkB3gf,GAAK,+DACvB4gf,GAAe5gf,GAAK,WACtB6gf,GAAcp/1B,OAAO8X,OAAO,CAC9B43C,UAAW,KACXivyB,cAAeA,GACfC,SAAUA,GACVC,YAAaA,GACbC,UAAWA,GACXC,UAAWA,GACXC,eAAgBA,GAChBC,kBAAmBA,GACnBC,gBAAiBA,GACjBC,aAAcA,KAEVE,GAAY,WAAH,MAA2B,oBAAXz71B,OAAyB,KAAOA,MAAO,EAytBtE,IA67JI071B,GA77JAC,GAhsBJ,SAASC,IACP,IAAI571B,EAASK,UAAUxD,OAAS,QAAsBkH,IAAjB1D,UAAU,GAAmBA,UAAU,GAAKo71B,KAC3E/gmB,EAAY,SAAAl0K,GAAI,OAAIo1wB,EAAgBp1wB,EAAM,EAGhD,GAFAk0K,EAAUnlP,QAAU,QACpBmlP,EAAU6gP,QAAU,IACfv7e,IAAWA,EAAOskB,UAAyC,IAA7BtkB,EAAOskB,SAAS+kE,SAEjD,OADAqxK,EAAU7wL,aAAc,EACjB6wL,EAET,IA2BImhmB,EA3BEC,EAAmB971B,EAAOskB,SAC1B4ztB,EAAgB4jH,EAAiB5jH,cAErC5ztB,EACEtkB,EADFskB,SAGA41P,EASEl6Q,EATFk6Q,iBACA29d,EAQE73uB,EARF63uB,oBACApioB,EAOEz1G,EAPFy1G,KACA8lK,EAMEv7Q,EANFu7Q,QACAm9K,EAKE14b,EALF04b,WAAUqja,EAKR/71B,EAJFgua,aAAAA,OAAY,IAAA+tb,EAAG/71B,EAAOgua,cAAgBhua,EAAO83uB,gBAAeikH,EAC5DhkH,EAGE/3uB,EAHF+3uB,gBACA/oqB,EAEEhvE,EAFFgvE,UACAgpqB,EACEh4uB,EADFg4uB,aAEIgkH,EAAmBzglB,EAAQl/Q,UAC3BinS,EAAYk3jB,GAAawB,EAAkB,aAC3CC,EAAiBzB,GAAawB,EAAkB,eAChDt3C,EAAgB81C,GAAawB,EAAkB,cAC/CE,EAAgB1B,GAAawB,EAAkB,cACrD,GAAmC,mBAAxBnkH,EAAoC,CAC7C,IAAMxrnB,EAAW/nG,EAAS6F,cAAc,YACpCkiG,EAASnpG,SAAWmpG,EAASnpG,QAAQwrZ,gBACvCpqZ,EAAW+nG,EAASnpG,QAAQwrZ,cAEhC,CAEA,IAAIytb,EAAY,GAChBC,EAKI930B,EAJFkwb,EAAc4nZ,EAAd5nZ,eACA6jS,EAAkB+jH,EAAlB/jH,mBACA/ja,EAAsB8nhB,EAAtB9nhB,uBACAr1S,EAAoBm9zB,EAApBn9zB,qBAGAq5sB,EACEwjH,EADFxjH,WAEEn+oB,EAAQ,CAAC,EACbugK,EAAU7wL,YAAiC,mBAAZt4D,IAAmD,mBAAlB2q1B,GAAgC1nZ,QAAwDzwc,IAAtCywc,EAAeC,mBACjI,IAoEI+jS,EAGA4hH,EAtEFW,EAOES,GAPFT,cACAC,EAMEQ,GANFR,SACAC,EAKEO,GALFP,YACAC,EAIEM,GAJFN,UACAC,EAGEK,GAHFL,UACAE,EAEEG,GAFFH,kBACAC,EACEE,GADFF,gBAGgBe,EACdb,GADFJ,eAEE3iH,EAAe,KACb6jH,EAAuBnC,GAAS,CAAC,EAAE,GAADt61B,OAAAwuB,EAAMos0B,IAAMps0B,EAAKqs0B,IAAKrs0B,EAAK2rtB,IAAU3rtB,EAAKus0B,IAAQvs0B,EAAK2E,MAC3F0ltB,EAAe,KACb6jH,EAAuBpC,GAAS,CAAC,EAAE,GAADt61B,OAAAwuB,EAAMg8V,IAAIh8V,EAAKgsQ,IAAGhsQ,EAAK4rtB,IAAM5rtB,EAAKys0B,MACtEh7mB,EAA0B1jP,OAAOu+W,KAAKv+W,OAAO85C,OAAO,KAAM,CAC5D6pM,aAAc,CACZnsM,UAAU,EACVD,cAAc,EACdD,YAAY,EACZh2C,MAAO,MAETsiP,mBAAoB,CAClBpsM,UAAU,EACVD,cAAc,EACdD,YAAY,EACZh2C,MAAO,MAET66uB,+BAAgC,CAC9B3ksB,UAAU,EACVD,cAAc,EACdD,YAAY,EACZh2C,OAAO,MAGPq7uB,EAAc,KACd74f,EAAc,KACd+4f,GAAkB,EAClBC,GAAkB,EAClBC,GAA0B,EAC1BC,GAA2B,EAC3BC,GAAqB,EACrBC,IAAiB,EACjBkjH,IAAa,EACb38mB,IAAa,EACb05f,IAAa,EACbC,IAAsB,EACtBC,IAAsB,EACtBC,IAAe,EACfC,IAAuB,EAEvBC,IAAe,EACfC,IAAW,EACXb,GAAe,CAAC,EAChBF,GAAkB,KAChB2jH,GAA0BtC,GAAS,CAAC,EAAG,CAAC,iBAAkB,QAAS,WAAY,OAAQ,gBAAiB,OAAQ,SAAU,OAAQ,KAAM,KAAM,KAAM,KAAM,QAAS,UAAW,WAAY,WAAY,YAAa,SAAU,QAAS,MAAO,WAAY,QAAS,QAAS,QAAS,QACtRuC,GAAgB,KACdC,GAAwBxC,GAAS,CAAC,EAAG,CAAC,QAAS,QAAS,MAAO,SAAU,QAAS,UACpFyC,GAAsB,KACpBC,GAA8B1C,GAAS,CAAC,EAAG,CAAC,MAAO,QAAS,MAAO,KAAM,QAAS,OAAQ,UAAW,cAAe,OAAQ,UAAW,QAAS,QAAS,QAAS,UAClK2C,GAAmB,qCACnBC,GAAgB,6BAChBC,GAAiB,+BACnBjjH,GAAYijH,GACZC,IAAiB,EACjBtkH,GAAqB,KACnBukH,GAA6B/C,GAAS,CAAC,EAAG,CAAC2C,GAAkBC,GAAeC,IAAiBnD,IAE7FsD,GAA+B,CAAC,wBAAyB,aAG3Dz9iB,GAAS,KACP09iB,GAAc940B,EAAS6F,cAAc,QACrCkz0B,GAAoB,SAA2BC,GACnD,OAAOA,aAAqB12xB,QAAU02xB,aAAqB5szB,QAC7D,EACM6szB,GAAe,SAAsB70W,GACzC,IAAIhpM,IAAUA,KAAWgpM,EAAzB,CAwGA,GArGKA,GAAsB,iBAARA,IACjBA,EAAM,CAAC,GAETA,EAAM58e,GAAM48e,GACZ8vP,EAAyFA,GAAJ,IAAjE2kH,GAA6B9/1B,QAAQqrf,EAAI8vP,mBAf7B,YAe6H9vP,EAAI8vP,kBACjK4hH,EAA0C,0BAAtB5hH,EAAgDqhH,GAAiBD,GACrFnhH,EAAe,iBAAkB/vP,EAAMyxW,GAAS,CAAC,EAAGzxW,EAAI+vP,aAAc2hH,GAAqBkC,EAC3F5jH,EAAe,iBAAkBhwP,EAAMyxW,GAAS,CAAC,EAAGzxW,EAAIgwP,aAAc0hH,GAAqBmC,EAC3F5jH,GAAqB,uBAAwBjwP,EAAMyxW,GAAS,CAAC,EAAGzxW,EAAIiwP,mBAAoBkhH,IAAkBqD,GAC1GN,GAAsB,sBAAuBl0W,EAAMyxW,GAASru1B,GAAM+w1B,IAA8Bn0W,EAAIkwP,kBAAmBwhH,GAAqByC,GAC5IH,GAAgB,sBAAuBh0W,EAAMyxW,GAASru1B,GAAM6w1B,IAAwBj0W,EAAImwP,kBAAmBuhH,GAAqBuC,GAChI7jH,GAAkB,oBAAqBpwP,EAAMyxW,GAAS,CAAC,EAAGzxW,EAAIowP,gBAAiBshH,GAAqBqC,GACpG1jH,EAAc,gBAAiBrwP,EAAMyxW,GAAS,CAAC,EAAGzxW,EAAIqwP,YAAaqhH,GAAqB,CAAC,EACzFl6mB,EAAc,gBAAiBwoQ,EAAMyxW,GAAS,CAAC,EAAGzxW,EAAIxoQ,YAAak6mB,GAAqB,CAAC,EACzFphH,GAAe,iBAAkBtwP,GAAMA,EAAIswP,aAC3CC,GAA0C,IAAxBvwP,EAAIuwP,gBACtBC,GAA0C,IAAxBxwP,EAAIwwP,gBACtBC,EAA0BzwP,EAAIywP,0BAA2B,EACzDC,GAA4D,IAAjC1wP,EAAI0wP,yBAC/BC,EAAqB3wP,EAAI2wP,qBAAsB,EAC/CC,GAAiB5wP,EAAI4wP,iBAAkB,EACvCC,GAAa7wP,EAAI6wP,aAAc,EAC/BC,GAAsB9wP,EAAI8wP,sBAAuB,EACjDC,GAAsB/wP,EAAI+wP,sBAAuB,EACjD55f,GAAa6oQ,EAAI7oQ,aAAc,EAC/B65f,IAAoC,IAArBhxP,EAAIgxP,aACnBC,GAAuBjxP,EAAIixP,uBAAwB,EACnDC,IAAoC,IAArBlxP,EAAIkxP,aACnBC,GAAWnxP,EAAImxP,WAAY,EAC3BwiH,EAAmB3zW,EAAIoxP,oBAAsBshH,GAC7CrhH,GAAYrxP,EAAIqxP,WAAaijH,GAC7Bl9mB,EAA0B4oQ,EAAI5oQ,yBAA2B,CAAC,EACtD4oQ,EAAI5oQ,yBAA2Bu9mB,GAAkB30W,EAAI5oQ,wBAAwBC,gBAC/ED,EAAwBC,aAAe2oQ,EAAI5oQ,wBAAwBC,cAEjE2oQ,EAAI5oQ,yBAA2Bu9mB,GAAkB30W,EAAI5oQ,wBAAwBE,sBAC/EF,EAAwBE,mBAAqB0oQ,EAAI5oQ,wBAAwBE,oBAEvE0oQ,EAAI5oQ,yBAAiG,kBAA/D4oQ,EAAI5oQ,wBAAwBy4f,iCACpEz4f,EAAwBy4f,+BAAiC7vP,EAAI5oQ,wBAAwBy4f,gCAEnFc,IACFH,GAAkB,GAEhBM,KACFD,IAAa,GAEXP,KACFP,EAAe0hH,GAAS,CAAC,EAAC9r0B,EAAM2E,KAChC0ltB,EAAe,IACW,IAAtBM,GAAa3uX,OACf8ve,GAAS1hH,EAAcgiH,IACvBN,GAASzhH,EAAcruX,MAEA,IAArB2uX,GAAa3+c,MACf8/jB,GAAS1hH,EAAciiH,IACvBP,GAASzhH,EAAcr+c,IACvB8/jB,GAASzhH,EAAcoiH,MAEO,IAA5B9hH,GAAagB,aACfmgH,GAAS1hH,EAAcuB,IACvBmgH,GAASzhH,EAAcr+c,IACvB8/jB,GAASzhH,EAAcoiH,MAEG,IAAxB9hH,GAAaiB,SACfkgH,GAAS1hH,EAAcmiH,IACvBT,GAASzhH,EAAcuB,IACvBkgH,GAASzhH,EAAcoiH,MAGvBpyW,EAAIwxP,WACFzB,IAAiB6jH,IACnB7jH,EAAe3suB,GAAM2suB,IAEvB0hH,GAAS1hH,EAAc/vP,EAAIwxP,SAAUkgH,IAEnC1xW,EAAIzoQ,WACFy4f,IAAiB6jH,IACnB7jH,EAAe5suB,GAAM4suB,IAEvByhH,GAASzhH,EAAchwP,EAAIzoQ,SAAUm6mB,IAEnC1xW,EAAIkwP,mBACNuhH,GAASyC,GAAqBl0W,EAAIkwP,kBAAmBwhH,GAEnD1xW,EAAIowP,kBACFA,KAAoB2jH,KACtB3jH,GAAkBhtuB,GAAMgtuB,KAE1BqhH,GAASrhH,GAAiBpwP,EAAIowP,gBAAiBshH,IAE7CxgH,KACFnB,EAAa,UAAW,GAEtBa,IACF6gH,GAAS1hH,EAAc,CAAC,OAAQ,OAAQ,SAEtCA,EAAavysB,QACfi0zB,GAAS1hH,EAAc,CAAC,iBACjBM,EAAY9zS,OAEjByjD,EAAI80W,qBAAsB,CAC5B,GAAmD,mBAAxC90W,EAAI80W,qBAAqBrlH,WAClC,MAAM+hH,GAAgB,+EAExB,GAAwD,mBAA7CxxW,EAAI80W,qBAAqBplH,gBAClC,MAAM8hH,GAAgB,oFAExB2B,EAAqBnzW,EAAI80W,qBACzBrB,EAAYN,EAAmB1jH,WAAW,GAC5C,WAC6Bp0uB,IAAvB831B,IACFA,EA1Q0B,SAAmC7jH,EAAcylH,GACjF,GAA4B,iBAAjBzlH,GAAkE,mBAA9BA,EAAaC,aAC1D,OAAO,KAET,IAAI/4mB,EAAS,KACPw+tB,EAAY,wBACdD,GAAqBA,EAAkBrovB,aAAasovB,KACtDx+tB,EAASu+tB,EAAkBvovB,aAAawovB,IAE1C,IAAMC,EAAa,aAAez+tB,EAAS,IAAMA,EAAS,IAC1D,IACE,OAAO84mB,EAAaC,aAAa0lH,EAAY,CAC3CxlH,WAAW9tX,GACFA,EAET+tX,gBAAgB1+kB,GACPA,GAGb,CAAE,MAAOz8E,GAEP,OADA9hF,QAAQyE,KAAK,uBAAyB+91B,EAAa,0BAC5C,IACT,CACF,CAmP6BC,CAA0B5lH,EAAcE,IAEpC,OAAvB2jH,GAAoD,iBAAdM,IACxCA,EAAYN,EAAmB1jH,WAAW,KAG1CjkuB,IACFA,GAAOw0e,GAEThpM,GAASgpM,CA1HT,CA2HF,EACMm1W,GAAiC1D,GAAS,CAAC,EAAG,CAAC,KAAM,KAAM,KAAM,KAAM,UACvE2D,GAA0B3D,GAAS,CAAC,EAAG,CAAC,gBAAiB,OAAQ,QAAS,mBAC1E4D,GAA+B5D,GAAS,CAAC,EAAG,CAAC,QAAS,QAAS,OAAQ,IAAK,WAC5E6D,GAAe7D,GAAS,CAAC,EAAGO,IAClCP,GAAS6D,GAAchkH,IACvBmgH,GAAS6D,GAAcrD,IACvB,IAAMsD,GAAkB9D,GAAS,CAAC,EAAGS,IACrCT,GAAS8D,GAAiBpD,IAC1B,IA6CMqD,GAAe,SAAsBr5yB,GACzCwigB,GAAU3sT,EAAU6gP,QAAS,CAC3BtmY,QAASpwD,IAEX,IACEA,EAAKuxD,WAAW9zD,YAAYuC,EAC9B,CAAE,MAAOo4B,GACPp4B,EAAKr9B,QACP,CACF,EACM220B,GAAmB,SAA0Bjj2B,EAAM2pD,GACvD,IACEwigB,GAAU3sT,EAAU6gP,QAAS,CAC3Bpie,UAAW0rC,EAAKs1rB,iBAAiBj/uB,GACjC0oD,KAAMiB,GAEV,CAAE,MAAOo4B,GACPoqe,GAAU3sT,EAAU6gP,QAAS,CAC3Bpie,UAAW,KACXyqC,KAAMiB,GAEV,CAEA,GADAA,EAAKouD,gBAAgB/3G,GACR,OAATA,IAAkBw9uB,EAAax9uB,GACjC,GAAIq+uB,IAAcC,GAChB,IACE0kH,GAAar5yB,EACf,CAAE,MAAOo4B,GAAI,MAEb,IACEp4B,EAAKwwD,aAAan6G,EAAM,GAC1B,CAAE,MAAO+hF,GAAI,CAGnB,EACMmhxB,GAAgB,SAAuBC,GAC3C,IAAI3yiB,EACAwkC,EACJ,GAAIrwG,GACFw+mB,EAAQ,oBAAsBA,MACzB,CACL,IAAM/nvB,EAAUwjvB,GAAYuE,EAAO,eACnCnugB,EAAoB55O,GAAWA,EAAQ,EACzC,CAC0B,0BAAtBkioB,GAAiDuB,KAAcijH,KACjEqB,EAAQ,iEAAmEA,EAAQ,kBAErF,IAAMC,EAAezC,EAAqBA,EAAmB1jH,WAAWkmH,GAASA,EACjF,GAAItkH,KAAcijH,GAChB,IACEtxiB,GAAM,IAAI18O,GAAYI,gBAAgBkvxB,EAAc9lH,EACtD,CAAE,MAAOv7pB,GAAI,CAEf,IAAKyuO,IAAQA,EAAInnS,gBAAiB,CAChCmnS,EAAM8oJ,EAAe4lS,eAAeL,GAAW,WAAY,MAC3D,IACErub,EAAInnS,gBAAgBukB,UAAYm0zB,GAAiBd,EAAYmC,CAC/D,CAAE,MAAOrhxB,GAAI,CACf,CACA,IAAM/lB,EAAOw0P,EAAIx0P,MAAQw0P,EAAInnS,gBAI7B,OAHI850B,GAASnugB,GACXh5R,EAAK2gD,aAAavzF,EAASwgC,eAAeorS,GAAoBh5R,EAAKl4B,WAAW,IAAM,MAElF+6sB,KAAcijH,GACT/9zB,EAAqBphC,KAAK6tT,EAAK4tb,GAAiB,OAAS,QAAQ,GAEnEA,GAAiB5tb,EAAInnS,gBAAkB2yC,CAChD,EACMqnyB,GAAkB,SAAyB/3wB,GAC/C,OAAO6xpB,EAAmBx6uB,KAAK2oF,EAAKkoV,eAAiBloV,EAAMA,EAAMkyW,EAAWC,aAAeD,EAAW67S,aAAe77S,EAAW2hT,UAAW,MAAM,EACnJ,EAIMmkH,GAAU,SAAiBzszB,GAC/B,MAAuB,iBAAT0jE,EAAoB1jE,aAAkB0jE,EAAO1jE,GAA4B,iBAAXA,GAAkD,iBAApBA,EAAOs3C,UAAoD,iBAApBt3C,EAAO2lE,QAC1J,EACM+mvB,GAAe,SAAsBC,EAAY7la,EAAar2b,GAC7D23F,EAAMukwB,IAGXjF,GAAat/vB,EAAMukwB,GAAa,SAAAl0sB,GAC9BA,EAAK3sJ,KAAK68P,EAAWm+L,EAAar2b,EAAMk9S,GAC1C,EACF,EACMi/iB,GAAoB,SAA2B9la,GACnD,IAAI31a,EAfqC2K,EAiBzC,GADA4w0B,GAAa,yBAA0B5la,EAAa,OAhBXhra,EAiBxBgra,aAhBKk/S,IAA4C,iBAAjBlqtB,EAAI6pF,UAAoD,iBAApB7pF,EAAImb,aAAuD,mBAApBnb,EAAIy0B,eAAgCz0B,EAAIkjH,sBAAsBi9R,IAAgD,mBAAxBngZ,EAAIolF,iBAA8D,mBAArBplF,EAAIwnF,cAA2D,iBAArBxnF,EAAIwhD,cAAyD,mBAArBxhD,EAAIgqF,cAA4D,mBAAtBhqF,EAAIw1Q,eAkB7X,OADA66jB,GAAarla,IACN,EAET,IAAMtya,EAAU6z0B,EAAkBvha,EAAYnhV,UAK9C,GAJA+mvB,GAAa,sBAAuB5la,EAAa,CAC/Ctya,UACA+ztB,YAAa7B,IAEX5/S,EAAYx1J,kBAAoBm7jB,GAAQ3la,EAAY11S,sBAAwBq7sB,GAAQ3la,EAAY31a,WAAas70B,GAAQ3la,EAAY31a,QAAQigI,qBAAuBkihB,GAAW,UAAWxsO,EAAY/vZ,YAAcu8nB,GAAW,UAAWxsO,EAAY7vZ,aAEpP,OADAk1zB,GAAarla,IACN,EAET,IAAK4/S,EAAalytB,IAAYwytB,EAAYxytB,GAAU,CAClD,IAAKwytB,EAAYxytB,IAAYq40B,GAAwBr40B,GAAU,CAC7D,GAAIu5N,EAAwBC,wBAAwBn5K,QAAUy+lB,GAAWvlb,EAAwBC,aAAcx5N,GAAU,OAAO,EAChI,GAAIu5N,EAAwBC,wBAAwBrvM,UAAYovM,EAAwBC,aAAax5N,GAAU,OAAO,CACxH,CACA,GAAIqztB,KAAiBd,GAAgBvytB,GAAU,CAC7C,IAAM6vF,EAAa8lvB,EAAcrja,IAAgBA,EAAYziV,WACvDp3E,EAAa0lxB,EAAc7rX,IAAgBA,EAAY75Z,WAC7D,GAAIA,GAAco3E,EAEhB,IADA,IACSh5G,EADU4hC,EAAWniC,OACJ,EAAGO,GAAK,IAAKA,EACrCg5G,EAAWyB,aAAayrL,EAAUtkQ,EAAW5hC,IAAI,GAAO6+1B,EAAepja,GAG7E,CAEA,OADAqla,GAAarla,IACN,CACT,CACA,OAAIA,aAAuBt9K,IApKA,SAA8BtmK,GACzD,IAAI1wD,EAAS23yB,EAAcjnvB,GACtB1wD,GAAWA,EAAOh+B,UACrBg+B,EAAS,CACP8qB,aAAc0qqB,GACdxztB,QAAS,aAGb,IAAMA,EAAUqz0B,GAAkB3kvB,EAAQ1uF,SACpC86I,EAAgBu4rB,GAAkBr1yB,EAAOh+B,SAC/C,QAAKoytB,GAAmB1joB,EAAQ5lC,gBAG5B4lC,EAAQ5lC,eAAiB0txB,GACvBx4yB,EAAO8qB,eAAiB2txB,GACP,QAAZz20B,EAELg+B,EAAO8qB,eAAiBytxB,GACP,QAAZv20B,IAAwC,mBAAlB86I,GAAsCw8rB,GAA+Bx8rB,IAE7F16I,QAAQq30B,GAAaz30B,IAE1B0uF,EAAQ5lC,eAAiBytxB,GACvBv4yB,EAAO8qB,eAAiB2txB,GACP,SAAZz20B,EAELg+B,EAAO8qB,eAAiB0txB,GACP,SAAZx20B,GAAsBu30B,GAAwBz8rB,GAEhD16I,QAAQs30B,GAAgB130B,IAE7B0uF,EAAQ5lC,eAAiB2txB,KACvBz4yB,EAAO8qB,eAAiB0txB,KAAkBe,GAAwBz8rB,OAGlE98G,EAAO8qB,eAAiBytxB,KAAqBe,GAA+Bx8rB,MAGxE48rB,GAAgB130B,KAAaw30B,GAA6Bx30B,KAAay30B,GAAaz30B,MAEpE,0BAAtBiytB,IAAiDG,GAAmB1joB,EAAQ5lC,eAIlF,CAwHyCwvxB,CAAqBhma,IAC1Dqla,GAAarla,IACN,GAEQ,aAAZtya,GAAsC,YAAZA,GAAqC,aAAZA,IAA2B8+oB,GAAW,8BAA+BxsO,EAAY/vZ,YAIrIuwsB,GAA+C,IAAzBxgT,EAAYxvW,WACpCnmE,EAAU21a,EAAY7vZ,YACtB9lB,EAAU620B,GAAc720B,EAAS630B,EAAe,KAChD730B,EAAU620B,GAAc720B,EAAS830B,EAAU,KAC3C930B,EAAU620B,GAAc720B,EAAS+30B,EAAa,KAC1Cpia,EAAY7vZ,cAAgB9lB,IAC9BmkiB,GAAU3sT,EAAU6gP,QAAS,CAC3BtmY,QAAS4jV,EAAYv1J,cAEvBu1J,EAAY7vZ,YAAc9lB,IAG9Bu70B,GAAa,wBAAyB5la,EAAa,OAC5C,IAhBLqla,GAAarla,IACN,EAgBX,EACMima,GAAoB,SAA2BC,EAAO1iD,EAAQ3+yB,GAClE,GAAIg8uB,KAA4B,OAAX2iE,GAA8B,SAAXA,KAAuB3+yB,KAAS4mB,GAAY5mB,KAAS0/1B,IAC3F,OAAO,EAET,GAAIlkH,IAAoBh5f,EAAYm8jB,IAAWh3I,GAAW61L,EAAW7+C,SAAe,GAAIpjE,GAAmB5zE,GAAW81L,EAAW9+C,SAAe,IAAK3jE,EAAa2jE,IAAWn8jB,EAAYm8jB,IACvL,KAAIuiD,GAAwBG,KAAWj/mB,EAAwBC,wBAAwBn5K,QAAUy+lB,GAAWvlb,EAAwBC,aAAcg/mB,IAAUj/mB,EAAwBC,wBAAwBrvM,UAAYovM,EAAwBC,aAAag/mB,MAAYj/mB,EAAwBE,8BAA8Bp5K,QAAUy+lB,GAAWvlb,EAAwBE,mBAAoBq8jB,IAAWv8jB,EAAwBE,8BAA8BtvM,UAAYovM,EAAwBE,mBAAmBq8jB,KAAuB,OAAXA,GAAmBv8jB,EAAwBy4f,iCAAmCz4f,EAAwBC,wBAAwBn5K,QAAUy+lB,GAAWvlb,EAAwBC,aAAcriP,IAAUoiP,EAAwBC,wBAAwBrvM,UAAYovM,EAAwBC,aAAariP,KACtyB,OAAO,OAEJ,GAAIk/1B,GAAoBvgD,SAAe,GAAIh3I,GAAWg3L,EAAkBtC,GAAcr81B,EAAO491B,EAAiB,WAAY,GAAgB,QAAXj/C,GAA+B,eAAXA,GAAsC,SAAXA,GAAgC,WAAV0iD,GAAwD,IAAlC/E,GAAct81B,EAAO,WAAkBg/1B,GAAcqC,IAAc,GAAI5lH,IAA4B9zE,GAAWg2L,EAAmBtB,GAAcr81B,EAAO491B,EAAiB,WAAY,GAAI591B,EACtZ,OAAO,OAET,OAAO,CACT,EACMkh2B,GAA0B,SAAiCr40B,GAC/D,OAAOA,EAAQlpB,QAAQ,KAAO,CAChC,EACM2h2B,GAAsB,SAA6Bnma,GACvD,IAAIrqX,EACA9wE,EACA2+yB,EACAvhwB,EACJ2jzB,GAAa,2BAA4B5la,EAAa,MACtD,IACE9nT,EACE8nT,EADF9nT,WAEF,GAAKA,EAAL,CAGA,IAAMkutB,EAAY,CAChB5yiB,SAAU,GACVkub,UAAW,GACXC,UAAU,EACVC,kBAAmB/B,GAGrB,IADA59rB,EAAIi2F,EAAWl0I,OACRi+C,KAAK,CAEV,IAAAokzB,EADA1wxB,EAAOuiE,EAAWj2F,GAEhB5/C,EAAIgk2B,EAAJhk2B,KACAm0E,EAAY6vxB,EAAZ7vxB,aAGI8vxB,EADNzh2B,EAAiB,UAATxC,EAAmBszE,EAAK9wE,MAAQu81B,GAAWzrxB,EAAK9wE,OASxD,GAPA2+yB,EAAS+9C,EAAkBl/1B,GAC3B+j2B,EAAU5yiB,SAAWgwf,EACrB4iD,EAAU1kH,UAAY78uB,EACtBuh2B,EAAUzkH,UAAW,EACrBykH,EAAUvkH,mBAAgB32uB,EAC1B061B,GAAa,wBAAyB5la,EAAaoma,GACnDvh2B,EAAQuh2B,EAAU1kH,WACd0kH,EAAUvkH,cAGd,GAAKukH,EAAUzkH,SAIf,GAAKpB,IAA4B/zE,GAAW,OAAQ3nqB,GAApD,CAII27uB,IACF37uB,EAAQq81B,GAAcr81B,EAAOq91B,EAAe,KAC5Cr91B,EAAQq81B,GAAcr81B,EAAOs91B,EAAU,KACvCt91B,EAAQq81B,GAAcr81B,EAAOu91B,EAAa,MAE5C,IAAM8D,EAAQ3E,EAAkBvha,EAAYnhV,UAC5C,GAAKonvB,GAAkBC,EAAO1iD,EAAQ3+yB,GAAtC,CAQA,IAJIi8uB,IAAoC,OAAX0iE,GAA8B,SAAXA,IAC9C8hD,GAAiBjj2B,EAAM29b,GACvBn7b,EAra8B,gBAqaQA,GAEpCm+1B,GAA8C,iBAAjB7jH,GAAsE,mBAAlCA,EAAa2C,iBAChF,GAAItrqB,QACF,OAAQ2oqB,EAAa2C,iBAAiBokH,EAAO1iD,IAC3C,IAAK,cAED3+yB,EAAQm+1B,EAAmB1jH,WAAWz6uB,GACtC,MAEJ,IAAK,mBAEDA,EAAQm+1B,EAAmBzjH,gBAAgB16uB,GAMrD,GAAIA,IAAUyh2B,EACZ,IACM9vxB,EACFwpX,EAAYjzE,eAAev2S,EAAcn0E,EAAMwC,GAE/Cm7b,EAAYxjV,aAAan6G,EAAMwC,EAEnC,CAAE,MAAOu/E,GACPkhxB,GAAiBjj2B,EAAM29b,EACzB,CA9BF,MAFEsla,GAAiBjj2B,EAAM29b,EARzB,MAFEsla,GAAiBjj2B,EAAM29b,QAJvBsla,GAAiBjj2B,EAAM29b,EAgD3B,CACA4la,GAAa,0BAA2B5la,EAAa,KA5ErD,CA6EF,EACMuma,GAAqB,SAASA,EAAmBjrsB,GACrD,IAAIkrsB,EACEC,EAAiBf,GAAgBpqsB,GAEvC,IADAsqsB,GAAa,0BAA2BtqsB,EAAU,MAC3CkrsB,EAAaC,EAAe1ma,YACjC6la,GAAa,yBAA0BY,EAAY,MAC/CV,GAAkBU,KAGlBA,EAAWn80B,mBAAmBg3P,GAChCkllB,EAAmBC,EAAWn80B,SAEhC870B,GAAoBK,IAEtBZ,GAAa,yBAA0BtqsB,EAAU,KACnD,EAsIA,OArIAumG,EAAU70K,SAAW,SAAUw4wB,GAC7B,IACInnyB,EACAqoyB,EACA1ma,EACA2ma,EAJA92W,EAAMrof,UAAUxD,OAAS,QAAsBkH,IAAjB1D,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAS/E,IAJA481B,IAAkBoB,KAEhBA,EAAQ,eAEW,iBAAVA,IAAuBG,GAAQH,GAAQ,CAChD,GAA8B,mBAAnBA,EAAMli2B,SAMf,MAAM+91B,GAAgB,8BAJtB,GAAqB,iBADrBmE,EAAQA,EAAMli2B,YAEZ,MAAM+91B,GAAgB,kCAK5B,CACA,IAAKx/lB,EAAU7wL,YACb,OAAOw0xB,EAST,GAPK7B,IACHe,GAAa70W,GAEfhuP,EAAU6gP,QAAU,GACC,iBAAV8iX,IACTxkH,IAAW,GAETA,IACF,GAAIwkH,EAAM3mvB,SAAU,CAClB,IAAMnxF,EAAU6z0B,EAAkBiE,EAAM3mvB,UACxC,IAAK+goB,EAAalytB,IAAYwytB,EAAYxytB,GACxC,MAAM2z0B,GAAgB,0DAE1B,OACK,GAAImE,aAAiB5ovB,EAGI,KAD9B8pvB,GADAroyB,EAAOknyB,GAAc,kBACD1vb,cAAc4pU,WAAW+lH,GAAO,IACnCh1wB,UAA4C,SAA1Bk2wB,EAAa7nvB,UAEX,SAA1B6nvB,EAAa7nvB,SADtBxgD,EAAOqoyB,EAIProyB,EAAKpf,YAAYynzB,OAEd,CACL,IAAKhmH,KAAeF,IAAuBC,KAA0C,IAAxB+kH,EAAMhh2B,QAAQ,KACzE,OAAOw+1B,GAAsBpiH,GAAsBoiH,EAAmB1jH,WAAWkmH,GAASA,EAG5F,KADAnnyB,EAAOknyB,GAAcC,IAEnB,OAAO9kH,GAAa,KAAOE,GAAsB0iH,EAAY,EAEjE,CACIjlyB,GAAQ2oL,IACVq+mB,GAAahnyB,EAAKm9F,YAGpB,IADA,IAAMorsB,EAAelB,GAAgB1kH,GAAWwkH,EAAQnnyB,GACjD2hY,EAAc4ma,EAAa7ma,YAC5B+la,GAAkB9la,KAGlBA,EAAY31a,mBAAmBg3P,GACjCkllB,GAAmBvma,EAAY31a,SAEjC870B,GAAoBnma,IAEtB,GAAIghT,GACF,OAAOwkH,EAET,GAAI9kH,GAAY,CACd,GAAIC,GAEF,IADAgmH,EAAalrhB,EAAuBz2U,KAAKq5D,EAAKw3W,eACvCx3W,EAAKm9F,YACVmrsB,EAAW1nzB,YAAYof,EAAKm9F,iBAG9BmrsB,EAAatoyB,EAKf,OAHIwhrB,EAAamC,YAAcnC,EAAagnH,kBAC1CF,EAAalnH,EAAWz6uB,KAAKi+1B,EAAkB0D,GAAY,IAEtDA,CACT,CACA,IAAIG,EAAiBrmH,GAAiBpirB,EAAKyyX,UAAYzyX,EAAKpuB,UAS5D,OARIwwsB,IAAkBb,EAAa,aAAevhrB,EAAKw3W,eAAiBx3W,EAAKw3W,cAAcs+B,SAAW91Y,EAAKw3W,cAAcs+B,QAAQ9xc,MAAQmqqB,GAAWk2L,GAAcrkyB,EAAKw3W,cAAcs+B,QAAQ9xc,QAC3Lyk2B,EAAiB,aAAezoyB,EAAKw3W,cAAcs+B,QAAQ9xc,KAAO,MAAQyk2B,GAExEtmH,IACFsmH,EAAiB5F,GAAc4F,EAAgB5E,EAAe,KAC9D4E,EAAiB5F,GAAc4F,EAAgB3E,EAAU,KACzD2E,EAAiB5F,GAAc4F,EAAgB1E,EAAa,MAEvDY,GAAsBpiH,GAAsBoiH,EAAmB1jH,WAAWwnH,GAAkBA,CACrG,EACAjlmB,EAAUqgf,UAAY,SAAUryP,GAC9B60W,GAAa70W,GACb8zW,IAAa,CACf,EACA9hmB,EAAUsgf,YAAc,WACtBt7b,GAAS,KACT88iB,IAAa,CACf,EACA9hmB,EAAUugf,iBAAmB,SAAUtksB,EAAK63B,EAAM9wE,GAC3CgiT,IACH69iB,GAAa,CAAC,GAEhB,IAAMwB,EAAQ3E,EAAkBzjzB,GAC1B0lwB,EAAS+9C,EAAkB5rxB,GACjC,OAAOswxB,GAAkBC,EAAO1iD,EAAQ3+yB,EAC1C,EACAg9P,EAAUwgf,QAAU,SAAUwjH,EAAYkB,GACZ,mBAAjBA,IAGXzlwB,EAAMukwB,GAAcvkwB,EAAMukwB,IAAe,GACzCr3S,GAAUltd,EAAMukwB,GAAakB,GAC/B,EACAllmB,EAAUgtH,WAAa,SAAUg3e,GAC/B,GAAIvkwB,EAAMukwB,GACR,OAAO/E,GAASx/vB,EAAMukwB,GAE1B,EACAhkmB,EAAUygf,YAAc,SAAUujH,GAC5BvkwB,EAAMukwB,KACRvkwB,EAAMukwB,GAAc,GAExB,EACAhkmB,EAAU0gf,eAAiB,WACzBjhpB,EAAQ,CAAC,CACX,EACOugK,CACT,CACakhmB,GAEPiE,GAAStrE,GAAMv6tB,KACnB3E,GAAOk/tB,GAAMl/tB,KACTyqyB,GAAa,CAAC,SAAU,WAAY,YAAa,WAAY,OAAQ,WAAY,OAAQ,OAAQ,WAAY,OAAQ,YAAa,OAAQ,QAAS,UACnJC,GAAgB,CACpBC,IAAK,GACLnktB,KAAM,GACNgnY,MAAO,IACPo9U,OAAQ,IAEJC,GAAyB,CAAC,MAAO,SAejCC,GAAe,SAAClvR,EAAU/hd,EAAK3oG,GACnC,IAAM650B,EARU,SAAAC,GAChB,IACE,OAAO9jxB,mBAAmB8jxB,EAC5B,CAAE,MAAO13zB,GACP,OAAO+lV,SAAS2xe,EAClB,CACF,CAEqBC,CAAUpxuB,GAAKpxG,QAAQ,MAAO,IACjD,OAAImzjB,EAAS8hO,sBAEF,6BAA6Bj0yB,KAAKsh2B,KAElCnvR,EAASsvR,uBAET,iBAAiBzh2B,KAAKsh2B,GAtBV,SAACI,EAAkBj60B,GAC1C,OAAIinwB,EAAcgzE,IACRA,GAEDhzE,EAAcjnwB,KAAYwowB,GAAWmxE,GAAwB350B,EAExE,CAiBWk60B,CAAiBxvR,EAAS+hO,oBAAqBzsxB,IAAY,yBAAyBznB,KAAKsh2B,GAEzF,UAAUth2B,KAAKsh2B,IAE1B,EACMloe,GAAG,WAqCP,SAAAA,EAAYjlW,GAAqB,IAAhBg+iB,EAAQ5wkB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAC,OAAA63X,GAC5B75X,KAAK+f,KAAO,GACZ/f,KAAK0nS,UAAY,GACjB9yQ,EAAMoiC,GAAKpiC,GACX50B,KAAK4ykB,SAAWA,EAChB,IAAMyvR,EAAUzvR,EAAS0vR,SACnBh71B,EAAOtH,KACb,GAAI,yBAAyBS,KAAKm0B,IAAQ,QAAQn0B,KAAKm0B,GACrDttB,EAAKsuC,OAAShhB,MADhB,CAIA,IAAM2t0B,EAA2C,IAAtB3t0B,EAAI51B,QAAQ,MAIvC,GAHyB,IAArB41B,EAAI51B,QAAQ,MAAeuj2B,IAC7B3t0B,GAAOyt0B,GAAUA,EAAQ3s0B,UAAqB,QAAU,cAAgBd,IAErE,iBAAiBn0B,KAAKm0B,GAAM,CAC/B,IAAMw/F,EAAUiuuB,EAAUA,EAAQti1B,KAAO,IAAI85W,EAAI5zW,SAAS2P,SAASyB,MAAMqwQ,UACzE,GAA6E,MAAxE26jB,aAA8C,EAAIA,EAAQ3s0B,UAC7Dd,EAAM,aAAettB,EAAKk71B,UAAUpuuB,EAASx/F,OACxC,CACL,IAAMj0B,EAAQ,oBAAoB0zC,KAAKzf,GACnCj0B,IACFi0B,GAAOyt0B,GAAWA,EAAQ3s0B,UAAY,QAAU,cAAgBpuB,EAAKk71B,UAAUpuuB,EAASzzH,EAAM,IAAMA,EAAM,GAE9G,CACF,CACAi0B,EAAMA,EAAInV,QAAQ,MAAO,YACzB,IAAMgj1B,EAAW,uNAAuNpuzB,KAAKzf,GACzO6t0B,GACFjB,GAAOC,GAAY,SAAC58yB,EAAG9lD,GACrB,IAAI24E,EAAO+qxB,EAAS1j2B,GAChB24E,IACFA,EAAOA,EAAKj4D,QAAQ,cAAe,OAErCnY,EAAKu9C,GAAK6yB,CACZ,GAEE2qxB,IACG/61B,EAAKouB,WACRpuB,EAAKouB,SAAW2s0B,EAAQ3s0B,UAErBpuB,EAAKo71B,WACRp71B,EAAKo71B,SAAWL,EAAQK,UAErBp71B,EAAKm6C,MAAsB,aAAdn6C,EAAK0a,OACrB1a,EAAKm6C,KAAO4gzB,EAAQ5gzB,MAEjBn6C,EAAK0a,MAAsB,aAAd1a,EAAK0a,OACrB1a,EAAK0a,KAAOqg1B,EAAQrg1B,MAEtB1a,EAAKsuC,OAAS,IAEZ2szB,IACFj71B,EAAKouB,SAAW,GA3ClB,CA6CF,CAAC,OAAA5c,EAAA+gX,EAAA,EAAAv4X,IAAA,UAAAjC,MACD,SAAQ0gB,GACN,IAAM4i1B,EAAY,mBAAmBtuzB,KAAKt0B,GACtC4i1B,IACF3i2B,KAAK+f,KAAO4i1B,EAAU,GACtB3i2B,KAAK0nS,UAAYi7jB,EAAU,GAC3B3i2B,KAAK2nS,KAAOg7jB,EAAU,IAExB3i2B,KAAK41C,OAAS,GACd51C,KAAK4i2B,QACP,GAAC,CAAAth2B,IAAA,aAAAjC,MACD,SAAWwxH,GACT,GAAY,OAARA,EACF,OAAOA,EAET,IAAMgyuB,EAAc,IAAIhpe,EAAIhpQ,EAAK,CAC/ByxuB,SAAUti2B,OAEZ,GAAyB,aAArB6i2B,EAAY7g1B,MAAuBhiB,KAAKgiB,OAAS6g1B,EAAY7g1B,MAAQ6g1B,EAAY7g1B,MAAQhiB,KAAKyhD,OAASohzB,EAAYphzB,MAAQzhD,KAAK01B,WAAamt0B,EAAYnt0B,UAAqC,KAAzBmt0B,EAAYnt0B,SACnL,OAAOmt0B,EAAYD,SAErB,IAAMj+b,EAAK3ka,KAAK4i2B,SACd/1a,EAAKg2a,EAAYD,SACnB,GAAIj+b,IAAOkoB,GAAmC,MAA7BloB,EAAGjsX,OAAOisX,EAAGnma,OAAS,IAAcmma,EAAGv0W,OAAO,EAAGu0W,EAAGnma,OAAS,KAAOqub,EACnF,OAAOloB,EAET,IAAIz4W,EAASlsD,KAAK8i2B,UAAU9i2B,KAAK+f,KAAM8i1B,EAAY9i1B,MAOnD,OANI8i1B,EAAYz8wB,QACdl6B,GAAU,IAAM22yB,EAAYz8wB,OAE1By8wB,EAAY3zN,SACdhjlB,GAAU,IAAM22yB,EAAY3zN,QAEvBhjlB,CACT,GAAC,CAAA5qD,IAAA,aAAAjC,MACD,SAAWwxH,EAAKkyuB,GACd,IAAMC,EAAc,IAAInpe,EAAIhpQ,EAAK,CAC/ByxuB,SAAUti2B,OAEZ,OAAOgj2B,EAAYJ,OAAOG,GAAU/i2B,KAAKij2B,aAAaD,GACxD,GAAC,CAAA1h2B,IAAA,eAAAjC,MACD,SAAawxH,GACX,GAAI7wH,KAAKgiB,MAAQ6uG,EAAI7uG,MAAQhiB,KAAK01B,UAAYm7F,EAAIn7F,SAAU,CAC1D,GAAI11B,KAAKyhD,MAAQovE,EAAIpvE,KACnB,OAAO,EAET,IAAMyhzB,EAAclj2B,KAAK01B,SAAWgs0B,GAAc1h2B,KAAK01B,UAAY,KACnE,GAAIwt0B,IAAgBlj2B,KAAKyhD,MAAQyhzB,KAAiBryuB,EAAIpvE,MAAQyhzB,GAC5D,OAAO,CAEX,CACA,OAAO,CACT,GAAC,CAAA5h2B,IAAA,YAAAjC,MACD,SAAUksE,EAAMxrD,GACd,IAEEhhB,EACA09C,EAHE0mzB,EAAa,EACfrtzB,EAAM,GAGFstzB,EAAiB73xB,EAAKpsE,UAAU,EAAGosE,EAAKhc,YAAY,MAAM5hB,MAAM,KAChE1pB,EAAQlE,EAAK4tB,MAAM,KACzB,GAAIy1zB,EAAe5k2B,QAAUylB,EAAMzlB,OACjC,IAAKO,EAAI,EAAG09C,EAAI2mzB,EAAe5k2B,OAAQO,EAAI09C,EAAG19C,IAC5C,GAAIA,GAAKklB,EAAMzlB,QAAU4k2B,EAAerk2B,KAAOklB,EAAMllB,GAAI,CACvDok2B,EAAapk2B,EAAI,EACjB,KACF,CAGJ,GAAIqk2B,EAAe5k2B,OAASylB,EAAMzlB,OAChC,IAAKO,EAAI,EAAG09C,EAAIx4B,EAAMzlB,OAAQO,EAAI09C,EAAG19C,IACnC,GAAIA,GAAKqk2B,EAAe5k2B,QAAU4k2B,EAAerk2B,KAAOklB,EAAMllB,GAAI,CAChEok2B,EAAapk2B,EAAI,EACjB,KACF,CAGJ,GAAmB,IAAfok2B,EACF,OAAOpj1B,EAET,IAAKhhB,EAAI,EAAG09C,EAAI2mzB,EAAe5k2B,QAAU2k2B,EAAa,GAAIpk2B,EAAI09C,EAAG19C,IAC/D+2C,GAAO,MAET,IAAK/2C,EAAIok2B,EAAa,EAAG1mzB,EAAIx4B,EAAMzlB,OAAQO,EAAI09C,EAAG19C,IAE9C+2C,GADE/2C,IAAMok2B,EAAa,EACd,IAAMl/0B,EAAMllB,GAEZklB,EAAMllB,GAGjB,OAAO+2C,CACT,GAAC,CAAAx0C,IAAA,YAAAjC,MACD,SAAUksE,EAAMxrD,GACd,IAAI8vqB,EAAK,EACHz4R,EAAK,MAAM32Z,KAAKsf,GAAQ,IAAM,GAC9Bqj1B,EAAiB73xB,EAAK59B,MAAM,KAC5B01zB,EAAiBtj1B,EAAK4tB,MAAM,KAC5B21zB,EAAY,GAClB9B,GAAO4B,EAAgB,SAAAjmzB,GACjBA,GACFmmzB,EAAUx/1B,KAAKq5C,EAEnB,GAEA,IADA,IAAMggK,EAAY,GACTp+M,EAAIsk2B,EAAe7k2B,OAAS,EAAGO,GAAK,EAAGA,IACb,IAA7Bsk2B,EAAetk2B,GAAGP,QAAsC,MAAtB6k2B,EAAetk2B,KAG3B,OAAtBsk2B,EAAetk2B,GAIf8wrB,EAAK,EACPA,IAGF1ye,EAAUr5M,KAAKu/1B,EAAetk2B,IAP5B8wrB,KASJ,IACI0zK,EADExk2B,EAAIuk2B,EAAU9k2B,OAASqxrB,EAa7B,OAN6B,KAJ3B0zK,EADExk2B,GAAK,EACGs+D,GAAQ8/I,GAAWrxJ,KAAK,KAExBw3yB,EAAU1u1B,MAAM,EAAG7V,GAAG+sD,KAAK,KAAO,IAAMuR,GAAQ8/I,GAAWrxJ,KAAK,MAEhE9sD,QAAQ,OAClBuk2B,EAAU,IAAMA,GAEdnsc,GAAMmsc,EAAQh0yB,YAAY,OAASg0yB,EAAQ/k2B,OAAS,IACtD+k2B,GAAWnsc,GAENmsc,CACT,GAAC,CAAAji2B,IAAA,SAAAjC,MACD,WAA6B,IACvB0F,EADCy+1B,EAAWxh2B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,IAAAA,UAAA,GA+BhB,OA7BKhC,KAAK41C,SAAU4tzB,IAClBz+1B,EAAI,GACCy+1B,IACCxj2B,KAAK01B,SACP3wB,GAAK/E,KAAK01B,SAAW,MAErB3wB,GAAK,KAEH/E,KAAK0i2B,WACP391B,GAAK/E,KAAK0i2B,SAAW,KAEnB1i2B,KAAKgiB,OACPjd,GAAK/E,KAAKgiB,MAERhiB,KAAKyhD,OACP18C,GAAK,IAAM/E,KAAKyhD,OAGhBzhD,KAAK+f,OACPhb,GAAK/E,KAAK+f,MAER/f,KAAKomF,QACPrhF,GAAK,IAAM/E,KAAKomF,OAEdpmF,KAAKkvoB,SACPnqoB,GAAK,IAAM/E,KAAKkvoB,QAElBlvoB,KAAK41C,OAAS7wC,GAET/E,KAAK41C,MACd,IAAC,EAAAt0C,IAAA,eAAAjC,MA/PD,SAAoBwxH,GAClB,IAAI9wH,EACE0j2B,EAAgBvlxB,mBAAmB2yC,GAAKljF,MAAM,KAC9CsqE,EAAU,eAAe5jE,KAAKovzB,EAAc,IAIlD,OAHIxrvB,IACFl4G,EAAOk4G,EAAQ,IAEV,CACLl4G,OACAoE,KAAMs/1B,EAAc,GAExB,GAAC,CAAAni2B,IAAA,YAAAjC,MACD,SAAiBwxH,EAAK9sG,GAAwB,IAAf/d,EAAOhE,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EACxC,GAAIgE,EAAQ0uyB,kBACV,OAAO,EAEP,IAAMqtD,EAAaj3D,GAASjnuB,OAAOgtD,GAAKpxG,QAAQ,sBAAuB,IACvE,OAAQqi1B,GAAa971B,EAAS+71B,EAAYh+0B,EAE9C,GAAC,CAAAziB,IAAA,qBAAAjC,MACD,SAA0BkuV,GACxB,IAAI1kS,EACAurE,EAYJ,OAVEA,EADmC,IAAjCm5N,EAAI73T,SAAS12B,QAAQ,SAAkC,UAAjBuuV,EAAI73T,SACd,QAAnBmzB,EAAK0kS,EAAIl2T,YAA8B,IAAZwxB,EAAgBA,EAAK,GAEjD0kS,EAAI73T,SAAW,KAAO63T,EAAIvrU,KAAOurU,EAAIpnQ,SAE7C,yBAAyB1lF,KAAK2zH,KAChCA,EAAUA,EAAQ30G,QAAQ,WAAY,IAAIA,QAAQ,gBAAiB,IAC9D,UAAUhf,KAAK2zH,KAClBA,GAAW,MAGRA,CACT,IAAC,CApCM,GAmQHsvuB,GAAmBxtE,GAAMC,QAAQ,gEACjCwtE,GAAsB,gBACxBz6wB,GAAM,EACJ06wB,GAAc,SAACp9yB,EAAMoshB,EAAUxvjB,EAAQuoT,EAAO9lG,GAClD,IAAIh9K,EAAIigU,EAAIjhU,EAAImB,EACVm2P,EAAWyzR,EAASzzR,SACpB2uf,EAAkB1qxB,EAAOgvxB,qBAvrdjB,IAwrdV5rvB,EAAKwkC,WAAyB4nf,EAASixR,4BAA8B,SAASpj2B,KAA+B,QAAzBooD,EAAKrC,EAAKukU,iBAAmC,IAAZliU,EAAgBA,EAAK,MAC5IrC,EAAKukU,UAAY,IAAMvkU,EAAKukU,WAE9B,IAAM+4e,EAA6E,QAAhEh7e,EAAKjjJ,aAAsC,EAAIA,EAAI39M,eAAiC,IAAZ4gW,EAAgBA,EAAKtiU,EAAK6yD,SAAS35F,cAC9H,GAAc,SAAVisT,GAAoBvoT,EAAO28R,QAAQ4rB,GACjCwjd,EAActpjB,KAChBA,EAAIo2gB,YAAY6nH,IAAa,QAIjC,GA/rdc,IA+rdVt9yB,EAAKwkC,UAAsC,SAAd84wB,EAAjC,CAGA,IAAMltvB,EAAUmirB,GAAavpD,QAAQhprB,GAC/Bu9yB,EAAoBhsE,GAAMnhrB,EAAS+svB,IACnCK,EAAQnsE,GAAMjhrB,EAAS,kBAC7B,GAAKmtvB,IAAqB/wxB,EAASgxxB,GAAnC,CAQA,IAAM/0nB,EAAO7rN,EAAO6txB,eAAe6yD,GACnC,IAAI3kjB,GAAalwE,GAYjB,GAJMkgjB,EAActpjB,KAChBA,EAAIo2gB,YAAY6nH,IAAa,GAG7B3kjB,GAAYlwE,IAAS80nB,EAAmB,CAS1C,GARAnzE,GAAwC,QAAhC/ouB,EAAKonL,EAAK29jB,wBAA0C,IAAZ/kvB,EAAgBA,EAAK,GAAI,SAAAsoB,GACvEwntB,GAAM/grB,EAASzmC,EAAKtzE,KAAqB,WAAfszE,EAAK9wE,MAAqB,OAAOmC,OAAO0nF,MAAS/Y,EAAK9wE,MAClF,GACAuxxB,GAAyC,QAAjC5nuB,EAAKimL,EAAK09jB,yBAA2C,IAAZ3jvB,EAAgBA,EAAK,GAAI,SAAAmnB,GACnE4ntB,GAAMnhrB,EAASzmC,EAAKtzE,OACvB86xB,GAAM/grB,EAASzmC,EAAKtzE,KAAqB,WAAfszE,EAAK9wE,MAAqB,OAAOmC,OAAO0nF,MAAS/Y,EAAK9wE,MAEpF,GACI4vO,EAAKy9jB,qBAAuBr2U,GAAOpnP,EAAKy9jB,mBAAoB,SAAAv8tB,GAAI,OAAI4ntB,GAAMnhrB,EAASzmC,EAAK,GAE1F,YADAoyb,GAAO3rZ,GAGT,GAAIq4H,EAAKo9jB,kBAzrdG,SAAAz1rB,GACd,IAAMmuL,EAAQnuL,EAAQuoW,IAAIzsU,WAC1B,OAAOqyJ,SAA0D,IAAjBA,EAAMvmS,MACxD,CAsrdiCyl2B,CAAQrtvB,GAEnC,YADA2rZ,GAAO3rZ,GAGLq4H,EAAK48jB,YAAc58jB,EAAK48jB,aAAei4D,GACzCx2S,GAAO12c,EAASq4H,EAAK48jB,WAEzB,OA/BMzZ,GAAM0b,EAAiBg2D,GACzBjoE,GAASjlrB,GAET2rZ,GAAO3rZ,EANX,KANgB,QAAVotvB,EACFnoE,GAASjlrB,GAET2rZ,GAAO3rZ,EARX,CA8CF,EAoBMstvB,GAAsB,SAACtxR,EAAUxvjB,EAAQuoT,EAAOzjT,EAAS8lS,EAAUkub,GACvE,MAAc,SAAVvwa,IAAqB44d,GAAyBr8wB,MAGzC8lS,KAAY01iB,IAAoB5B,GAAalvR,EAAUspK,EAAWh0tB,OAAe0qjB,EAASzzR,UAAY/7R,EAAO28R,QAAQ73R,EAAS8lS,IAAanqT,GAAWmqT,EAAU,UAAYnqT,GAAWmqT,EAAU,SAC5M,EACMm2iB,GAAuC,SAAC19qB,EAAKunI,GAAQ,OAAKvnI,EAAI1vE,aAAa4svB,MAAsC,OAAb31iB,GAAkC,UAAbA,GAAqC,UAAbA,EAAsB,EACvKo2iB,GAAqB,SAACp2iB,EAAU5qS,GAAM,OAAK4qS,KAAY5qS,EAAOwuxB,cAAe,EAC7EyyD,GAAmB,SAAC59qB,EAAKmsZ,EAAUxvjB,EAAQuoT,GAI/C,IAHA,IACEj5L,EACE+zC,EADF/zC,WAEO3zI,EAAI2zI,EAAWl0I,OAAS,EAAGO,GAAK,EAAGA,IAAK,CAC/C,IAAMoxE,EAAOuiE,EAAW3zI,GAClBivT,EAAW79O,EAAKtzE,KAChBq/uB,EAAY/rqB,EAAK9wE,MAClB6k2B,GAAoBtxR,EAAUxvjB,EAAQuoT,EAAOllJ,EAAIv+J,QAAQxI,cAAesuS,EAAUkub,IAAeioH,GAAqC19qB,EAAKunI,GAErIo2iB,GAAmBp2iB,EAAU5qS,IACtCqjK,EAAIzvE,aAAag3M,EAAUA,GAF3BvnI,EAAI7xE,gBAAgBo5M,EAIxB,CACF,EACMs2iB,GAAc,SAAC1xR,EAAUxvjB,EAAQmh1B,GACrC,IAAMC,EAAWlH,KAOjB,OANAkH,EAAS3nH,QAAQ,sBAAuB,SAACp2jB,EAAKo/C,GAC5C+9nB,GAAYn9qB,EAAKmsZ,EAAUxvjB,EAAQmh1B,EAAiBlx0B,MAAMozJ,GAAMo/C,EAClE,GACA2+nB,EAAS3nH,QAAQ,wBAAyB,SAACp2jB,EAAKo/C,IA/C9B,SAACp/C,EAAKmsZ,EAAUxvjB,EAAQuoT,EAAO9lG,GACjD,IAAM39M,EAAUu+J,EAAIv+J,QAAQxI,cAE1BsuS,EAEEnoF,EAFFmoF,SACAkub,EACEr2gB,EADFq2gB,UAEFr2gB,EAAIs2gB,SAAW+nH,GAAoBtxR,EAAUxvjB,EAAQuoT,EAAOzjT,EAAS8lS,EAAUkub,GAC3Er2gB,EAAIs2gB,UACNt2gB,EAAIu2gB,kBAAkBpub,IAAY,EAC9Bo2iB,GAAmBp2iB,EAAU5qS,KAC/ByiN,EAAIq2gB,UAAYlub,GAEd4kR,EAAS+hO,qBAAuB9wyB,GAAWq4uB,EAAW,wBACxDr2gB,EAAIw2gB,eAAgB,IAEb8nH,GAAqC19qB,EAAKunI,KACnDnoF,EAAIw2gB,eAAgB,EAExB,CA8BIooH,CAAYh+qB,EAAKmsZ,EAAUxvjB,EAAQmh1B,EAAiB55sB,UAAWk7E,EACjE,GACO2+nB,CACT,EAmBME,GAA2B,SAAAj+qB,GAC/B,IAAMk+qB,EAAa,CAAC,OAAQ,OAAQ,OAAQ,UAAW,QAAS,OAAQ,UAAW,QAAS,OAAQ,MAAMx11B,IAAI,SAAAtS,GAAI,MAAI,SAAS2E,OAAO3E,EAAK,GACrIgJ,EAAS,CACb21uB,UAAU,EACVb,aAAc,CACZ3uX,MAAM,EACNhwF,KAAK,EACL2/c,YAAY,GAEdtB,aAAcsqH,GAGhB,OADArH,KAAS91wB,SAASi/F,EAAK5gL,GAChB4gL,EAAIh8I,SACb,EACMm6zB,GAAe,SAAChyR,EAAUxvjB,GAC9B,IApsbIyh1B,EACEz5hB,EAmsbAm5hB,GApsbFM,EAAS,GACPz5hB,EAAO,WAAH,OAASy5hB,EAAOA,EAAOrm2B,OAAS,EAAG,EAgBtC,CACL60B,MAhBY,SAAAmzB,GACRg+uB,GAAqBh+uB,IACvBq+yB,EAAO/g2B,KAAK0iD,GAEd,IAAIs+yB,EAAe15hB,IAKnB,OAJI05hB,IAAiBA,EAAa7nvB,SAASz2D,KACzCq+yB,EAAOtnyB,MACPunyB,EAAe15hB,KAEVq5d,GAAYqgE,EACrB,EAOEn6sB,QANc,WAAH,OAAS85oB,GAAYr5d,IAAQ,EAOxCugI,MANY,WACZk5Z,EAAS,EACX,IAqrbA,GAAIjyR,EAASprf,SAAU,CACrB,IAAM81wB,EAASgH,GAAY1xR,EAAUxvjB,EAAQmh1B,GAM7C,MAAO,CACLQ,oBAN0B,SAAClsyB,EAAM+1C,GACjC0uvB,EAAO91wB,SAAS3uB,EArCE,SAAC+5gB,EAAUhke,GACjC,IAMM/oG,EAAM0F,EAAA,GANa,CACvBiwuB,UAAU,EACVV,yBAAyB,EACzBV,aAAc,CAAC,WAAY,iBAAkB,QAC7CC,aAAc,KAWhB,OANAx0uB,EAAOs0uB,kBAAoBvroB,EACvBgke,EAAS8hO,kBACX7uyB,EAAO41uB,mBAAqB,KACnB7oK,EAASsvR,uBAClBr81B,EAAO41uB,mBAAqB,4BAEvB51uB,CACT,CAoB4Bm/1B,CAAgBpyR,EAAUhke,IAChD0uvB,EAAOpgX,QAAU,GACjBqnX,EAAiB54Z,OACnB,EAGE+4Z,4BAEJ,CAcE,MAAO,CACLK,oBAd0B,SAAClsyB,EAAMosyB,GAGjC,IAFA,IACIz+yB,EADE46yB,EAAen70B,SAAS+ztB,mBAAmBnhrB,EAAMwhY,WAAWC,aAAeD,WAAW67S,aAAe77S,WAAW2hT,WAE/Gx1rB,EAAO46yB,EAAa7ma,YAAY,CACrC,IAAMuqa,EAAeP,EAAiBlx0B,MAAMmzB,GAC5Co9yB,GAAYp9yB,EAAMoshB,EAAUxvjB,EAAQ0h1B,GAChC9mE,GAAYx3uB,IACd69yB,GAAiB79yB,EAAMoshB,EAAUxvjB,EAAQ0h1B,EAE7C,CACAP,EAAiB54Z,OACnB,EAIE+4Z,yBAH+Bj6uB,EAMrC,EAEM0rqB,GAAUD,GAAMC,QACpB+uE,GAAWhvE,GAAM59wB,OACb6s1B,GAAmB,SAACj/yB,EAAQk/yB,EAAct3D,EAAiBu3D,GAI/D,IAHA,IAAM1tP,EAAazxjB,EAAOrpD,KACpBs8uB,GAAYxhI,KAAcm2L,GAAkC,UAAfn2L,GAAyC,aAAfA,GAA4C,aAAfA,GACpGh3kB,EAAayk0B,EAAazk0B,WACvBo0iB,EAAK,EAAGtvJ,EAAK9kZ,EAAWniC,OAAQu2kB,EAAKtvJ,EAAIsvJ,IAAM,CACtD,IAAMuwR,EAAc3k0B,EAAWo0iB,GACzB50f,EAAQ,IAAI2xvB,GAAQwzB,EAAYjsvB,SAAS35F,cAAe4l1B,EAAYt6wB,UAC1E,GAAIgzsB,GAAYsnE,GAAc,CAE5B,IADA,IAAM5ytB,EAAa4ytB,EAAY5ytB,WACtB8oH,EAAK,EAAGmqL,EAAKjzS,EAAWl0I,OAAQg9P,EAAKmqL,EAAInqL,IAAM,CACtD,IAAMrrL,EAAOuiE,EAAW8oH,GACxBr7K,EAAMhQ,KAAKA,EAAKtzE,KAAMszE,EAAK9wE,MAC7B,CACIklyB,GAAyBpktB,EAAMtjF,QACjCwo2B,EAAYC,GACZnlxB,EAAM9gF,MAAQim2B,EAAY76zB,UAE9B,MAAWk0vB,GAAS2mE,IAClBnlxB,EAAM9gF,MAAQim2B,EAAYnh2B,KACtBg1uB,IACFh5pB,EAAMizY,KAAM,KAELhuG,GAAUkgf,IAAgB1mE,GAAQ0mE,IAAgBzmE,GAAKymE,MAChEnlxB,EAAM9gF,MAAQim2B,EAAYnh2B,MAEvBogyB,GAAyBpktB,EAAMtjF,OAClCso2B,GAAiBhlxB,EAAOmlxB,EAAax3D,EAAiBu3D,GAExDn/yB,EAAOgwG,OAAO/1E,EAChB,CACF,EAiBMolxB,GAAoB,SAACp9wB,EAAM/kE,EAAQwvjB,EAAU7+jB,GACjD,IAAMorS,EAAWyzR,EAASzzR,SACpB88f,EAAmB74xB,EAAO4uxB,sBAC1BgK,EAAqB54xB,EAAO8uxB,wBAC5BkmD,EAAgB8M,GAAS/uE,GAAQ,gDAAiD/ywB,EAAOgixB,oBACzFogE,EAAwBh4D,GAAyBpqxB,GACjDqi1B,EAAsB,cACtBC,EAAwB,cACxBC,EAAsB,cACtBC,EAAsB,SAAAp/yB,GAE1B,IADA,IAAIq8uB,EAAWr8uB,EAAKN,OACbipuB,EAAc0T,IAAW,CAC9B,GAAIA,EAAShmyB,QAAQm/yB,EACnB,OAAO,EAEPnZ,EAAWA,EAAS38uB,MAExB,CACA,OAAO,CACT,EAYMy/uB,EAAU,SAAAn/uB,GAAI,OAAIA,EAAK3pD,QAAQu71B,GAAiBvxD,GAAsBzjxB,EAAQojC,IAAS+9uB,GAAyB/9uB,EAAK3pD,OAAS2pD,EAAKN,SAAWiiC,CAAK,EACnJ09wB,EAAkB,SAACr/yB,EAAMnyC,GAC7B,IAAMyx1B,EAAYzx1B,EAAQmyC,EAAKr6C,KAAOq6C,EAAKp6C,KAC3C,OAAI+ixB,EAAc22E,KAAc52E,EAAW1ouB,EAAKN,UAGzCy/uB,EAAQn/uB,EAAKN,UAAYM,EAAKN,SAAWiiC,IAA+B,IAAvBp0E,EAAK03uB,eAC/D,EAkDA,MAAO,CAjDY,SAAAjlsB,GACjB,IAAIqC,EACJ,GAAkB,IAAdrC,EAAKzmD,OACF6l2B,EAAoBp/yB,GAAO,CAC9B,IAAI7xB,EAA6B,QAArBk0B,EAAKrC,EAAKnnD,aAA+B,IAAZwpD,EAAgBA,EAAK,GAC9Dl0B,EAAOA,EAAKlV,QAAQgm1B,EAAqB,MAz6HzB,SAACj/yB,EAAMm/uB,GAAO,OAAKxW,EAAc3ouB,KAAUm/uB,EAAQn/uB,IAAuB,OAAdA,EAAK3pD,KAAe,CA06H5Fkp2B,CAAgBv/yB,EAAKr6C,KAAMw5xB,IAAYkgE,EAAgBr/yB,GAAM,MAC/D7xB,EAAOA,EAAKlV,QAAQim1B,EAAuB,KAEzB,IAAhB/w0B,EAAKn2B,OACPgoD,EAAKr9B,SAELq9B,EAAKnnD,MAAQs1B,CAEjB,CAEJ,EACoB,SAAA6xB,GAClB,IAAIqC,EACJ,GAAkB,IAAdrC,EAAKzmD,KAAY,CACnB,IAAM800B,EAAczxzB,EAAO6txB,eAAezqvB,EAAK3pD,MAC/C,GAAIsiT,GAAY01hB,EAAa,CAC3B,IAAMmxB,EAAcpp0B,GAAQxZ,EAAQ64xB,EAAkBD,EAAoBx1vB,GACtEquxB,EAAY1jC,kBAAoB60D,GA1Cb,SAAAx/yB,GAE3B,IADA,IAAIq8uB,EAAWr8uB,EACR2ouB,EAAc0T,IAAW,CAC9B,GAAIA,EAAShmyB,QAAQ2o2B,EACnB,OAAO5o0B,GAAQxZ,EAAQ64xB,EAAkBD,EAAoBnZ,GAE7DA,EAAWA,EAAS38uB,MAExB,CACA,OAAO,CACT,CAgCyD+/yB,CAAqBz/yB,GACtEo+xB,GAAchyQ,EAAU7+jB,EAAM4xxB,EAASn/uB,GAC9BquxB,EAAYzoC,aAAe45D,EAChCrgE,EAAQn/uB,GACVA,EAAKr9B,SAELq9B,EAAK+7c,SAEEsyU,EAAY1oC,YAAc65D,GAh9HpB,SAAAx/yB,GACvB,IAAIqC,EACJ,OAAOk8xB,GAAav+xB,EAAM,WAAoF,QAAtEqC,EAAKrC,aAAwC,EAAIA,EAAKwvG,kBAAoC,IAAZntG,OAAqB,EAAIA,EAAGxpD,SAAWsgyB,EAC/J,CA68H4DumE,CAAiB1/yB,KACnEo+xB,GAAchyQ,EAAU7+jB,EAAM4xxB,EAASn/uB,EAE3C,CACF,MAAO,GAAkB,IAAdA,EAAKzmD,OACT6l2B,EAAoBp/yB,GAAO,CAC9B,IAAI7xB,EAA6B,QAArBk0B,EAAKrC,EAAKnnD,aAA+B,IAAZwpD,EAAgBA,EAAK,IAC1DrC,EAAKp6C,MAAQu5xB,EAAQn/uB,EAAKp6C,OAASy51B,EAAgBr/yB,GAAM,MAC3D7xB,EAAOA,EAAKlV,QAAQkm1B,EAAqB,KAEvB,IAAhBhx0B,EAAKn2B,OACPgoD,EAAKr9B,SAELq9B,EAAKnnD,MAAQs1B,CAEjB,CAEJ,EAEF,EAYM42tB,GAAY,WAAuC,IAAtC34K,EAAQ5wkB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAGohB,EAAMphB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG2ryB,KACnCw4D,EAAqB9O,KACrB+O,EAA0B/O,KAC1BgP,EAAiB961B,EAAA,CACrB4zS,UAAU,EACVmnjB,UAAW,OACX9+wB,UAAU,GACPorf,GAEChigB,EAAS,IAAID,UACb4iqB,EAAYqxH,GAAayB,EAAmBjj1B,GAU5Cw00B,EAAgBuO,EAAmBt2xB,UACnCw5wB,EAAiB8c,EAAmB7O,WACpCiP,EAAmBJ,EAAmB5O,aACtC91C,EAAqB2kD,EAAwBv2xB,UAC7Cy5wB,EAAsB8c,EAAwB9O,WAC9CkP,EAAwBJ,EAAwB7O,aAMhDkP,EAAkB,SAACrO,EAAe5xyB,GACtC,IAAMu9yB,EAAoB/wxB,EAASxsB,EAAK2pB,KAAKwzxB,KACvC9nB,EAAgC,IAAdr1xB,EAAKzmD,OAAeqyxB,GAAMgmE,EAAe5xyB,EAAK3pD,QAAUgqyB,GAAsBzjxB,EAAQojC,KAAU+9uB,GAAyB/9uB,EAAK3pD,MACtJ,OAAqB,IAAd2pD,EAAKzmD,MAAc870B,IAAoBkoB,CAChD,EAkFM7xzB,EAAU,CACd9uB,SACAq+xB,qBACA6nC,sBACAkd,wBACA5O,gBACAvO,iBACAkd,mBACAjm2B,MAhDY,SAAC0rX,GAAqB,IAC9BnjU,EADe90C,EAAI/R,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EAErBm9S,EAAWknjB,EAAkBlnjB,SAC7BunjB,EAAmC,QAAvB79yB,EAAK90C,EAAKgQ,eAAiC,IAAZ8kC,EAAgBA,EAAKw9yB,EAAkBC,UAClF1vvB,EAtE4B,SAACo1Q,EAAM06e,GAA+B,IAArBpxe,EAAMtzX,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,OACtD4sG,EAAsB,UAAX0mR,EAAqB,wBAA0B,YAC1Dqxe,EAAgBv0E,GAAMhvwB,EAAOgvxB,qBAAsBs0D,EAAShn1B,eAC5DmF,EAAU8h1B,EAAgB,IAAInl2B,OAAOkl2B,EAAU,KAAKll2B,OAAOwqX,EAAM,MAAMxqX,OAAOkl2B,EAAU,KAAO16e,EAC/F46e,EAAyB,UAAXtxe,EAAqB,iEAAmE9zX,OAAOqjB,EAAS,kBAAoB,SAASrjB,OAAOqjB,EAAS,WACnKg0C,EAAO+X,EAAOG,gBAAgB61xB,EAAah4vB,GAAU/1C,KAE3D,OADA06qB,EAAUwxH,oBAAoBlsyB,EAAM+1C,GAC7B+3vB,EAAgB9tyB,EAAKm9F,WAAan9F,CAC3C,CA8DkBguyB,CAA4B76e,EAAM06e,EAAU3y1B,EAAKuhX,QACjEjL,GAAejnW,EAAQwzF,GACvB,IAAMi7E,EAAW,IAAIigpB,GAAQ40B,EAAU,IACvCvB,GAAiBtzqB,EAAUj7E,EAASxzF,EAAOgvxB,qBAAsB7+D,EAAUmxH,0BAC3E9tvB,EAAQnsE,UAAY,GACpB,IAAAq8zB,EAAwCvB,GAAkB1zqB,EAAUzuK,EAAQij1B,EAAmBty1B,GAAKgz1B,EAAAls1B,EAAAis1B,EAAA,GAA7FE,EAAaD,EAAA,GAAEE,EAAcF,EAAA,GAC9BjhE,EAAkB,GAClBohE,EAAgB/njB,EAAW,SAAA34P,GAAI,OA9DX,SAACA,EAAMs/uB,GAC7B4/C,GAAUti0B,EAAQojC,IACpBs/uB,EAAgBhiyB,KAAK0iD,EAEzB,CA0D2C2gzB,CAAoB3gzB,EAAMs/uB,EAAgB,EAAGr7qB,EAChFxS,EAAU,CACdiB,MAAO,CAAC,EACRw5B,WAAY,CAAC,GAET00tB,EAAc,SAAA5gzB,GAAI,OAAI49xB,GAAYiF,IAAkBC,IAAuB9iyB,EAAMyxD,EAAS,EAGhG,GArNa,SAAC9vB,EAAMk/wB,EAAeC,GAErC,IADA,IAAMC,EAAgB,GAAGC,EAAA,SAAAC,GAEvB,IAAM5kE,EAAQ4kE,EACd72E,GAAOy2E,EAAe,SAAAj+B,GAAU,OAAIA,EAAWvmC,EAAS,GACpD3T,EAAW2T,EAAS38uB,SAAW28uB,IAAa16sB,EAC9Cs/wB,EAAO3nC,EAEPynC,EAAczj2B,KAAK++xB,GACpBr8uB,EAAAihzB,CACH,EARSjhzB,EAAO2hC,EAAM23uB,EAAWt5wB,EAAMA,EAAMs5wB,EAAWt5wB,EAAMA,EAAOA,EAAK+vuB,OAAMixE,EAAAhhzB,GAShF,IADC,IAAAkhzB,EAAA,WAEC,IAAMlhzB,EAAO+gzB,EAAcxo2B,GAC3B6xxB,GAAO02E,EAAgB,SAAAK,GAAW,OAAIA,EAAYnhzB,EAAK,EACzD,EAHSznD,EAAIwo2B,EAAc/o2B,OAAS,EAAGO,GAAK,EAAGA,IAAG2o2B,GAIpD,CAoMIE,CAAS/1qB,EAAU,CAACm1qB,EAAeI,GAAc,CAACH,EAAgBC,IAClEphE,EAAgBzouB,UACZ8hP,GAAY2mf,EAAgBtnyB,OAAS,EACvC,GAAIuV,EAAKgQ,QAAS,CAChB,IAAA8j1B,EAGI/2E,GAAYgV,EAAiB,SAAA3ltB,GAAK,OAAIA,EAAMj6B,SAAW2rI,CAAQ,GAF3Di2qB,EAAgBD,EAAtBj/xB,KACM+8E,EAAakitB,EAAnBz/yB,KAEFi9xB,GAAkB1/rB,EAAeviI,EAAQyuK,EAAUu1qB,GACnDrz1B,EAAKwlB,QAAUuu0B,EAAiBtp2B,OAAS,CAC3C,MACE6m1B,GAAkBv/C,EAAiB1ixB,EAAQyuK,EAAUu1qB,GAGzD,IAAMW,EAvHe,SAACn1R,EAAU7+jB,GAClC,IAAI80C,EACEhsD,EAAyC,QAAjCgsD,EAAK90C,EAAKy3uB,yBAA2C,IAAZ3isB,EAAgBA,EAAK+phB,EAAS44K,kBACrF,OAAa,IAAT3uvB,EACK,IACW,IAATA,EACF,IAEAA,CAEX,CA6G0Bmr2B,CAAiB3B,EAAmBty1B,GAO1D,OANIg01B,IAAoC,SAAlBl2qB,EAASh1L,MAAmBkX,EAAK03uB,gBAzEnC,SAAC55jB,EAAUk2qB,GAC/B,IAAM3P,EAAgB8M,GAAS/uE,GAAQ,gDAAiD/ywB,EAAOgixB,oBACzFsgE,EAAwB,cACxBC,EAAsB,cACxBn/yB,EAAOqrI,EAAS77B,WAClBiysB,EAAgB,KACZjxyB,EAAO,SAAAkxyB,GACX,IAAIr/yB,EAAIigU,EACJo/e,KACF1hzB,EAAO0hzB,EAAUlysB,aACS,IAAdxvG,EAAKzmD,OACfymD,EAAKnnD,MAA8B,QAArBwpD,EAAKrC,EAAKnnD,aAA+B,IAAZwpD,OAAqB,EAAIA,EAAGppC,QAAQim1B,EAAuB,MAExGl/yB,EAAO0hzB,EAAUvpvB,YACS,IAAdn4D,EAAKzmD,OACfymD,EAAKnnD,MAA8B,QAArBypX,EAAKtiU,EAAKnnD,aAA+B,IAAZypX,OAAqB,EAAIA,EAAGrpW,QAAQkm1B,EAAqB,KAG1G,EACA,GAAKvi1B,EAAO2ixB,aAAal0mB,EAASh1L,KAAMkr2B,EAAcro1B,eAAtD,CAGA,KAAO8mC,GAAM,CACX,IAAMp6C,EAAOo6C,EAAKp6C,KACdq61B,EAAgBrO,EAAe5xyB,IAC5ByhzB,KACHA,EAAgB,IAAIn2B,GAAQi2B,EAAe,IAC7B53xB,KAAKk2xB,EAAkB8B,yBACrCt2qB,EAASzlC,OAAO67sB,EAAezhzB,IAG/ByhzB,EAAc/xsB,OAAO1vG,KAGvBwQ,EAAKixyB,GACLA,EAAgB,MAElBzhzB,EAAOp6C,CACT,CACA4qD,EAAKixyB,EAlBL,CAmBF,CAkCIG,CAAcv2qB,EAAUk2qB,GAErBh01B,EAAKwlB,SACRgrzB,GAAWtsuB,EAASlkG,GAEf89K,CACT,GAaA,OAFAsoqB,GAAWjozB,EAASm0zB,GAz7DH,SAAC3O,EAAW9kR,EAAUxvjB,GACnCwvjB,EAASy1R,eACXvQ,GAAWJ,EAAW9kR,EAAUxvjB,EAEpC,CAs7DEkl1B,CAAWp2zB,EAASm0zB,EAAmBjj1B,GAChC8uB,CACT,EAKMq2zB,GAAwB,SAAC1j1B,EAAS2j1B,EAAWC,GACjD,IAAMrqlB,EAJiB,SAAAv5P,GAAO,OAAIul0B,GAAWvl0B,GAAW6vzB,GAAe,CACvEv1hB,UAAU,IACT//S,UAAUylB,GAAWA,CAAQ,CAEJ6j1B,CAAiB7j1B,GACrC8j1B,EAAYH,EAAUpqlB,GAC5B,GAAIuqlB,EAAUlxK,qBACZ,OAAOkxK,EACF,GAAIve,GAAWvl0B,GAAU,CAC9B,GAAI8j1B,EAAU9j1B,UAAYu5P,EAAmB,CAC3C,IAAMvsF,EAAW05jB,GAAShgvB,EAAC,CACzB4zS,UAAU,EACVqsc,mBAAmB,GAChBi9G,IACFno2B,MAAMqo2B,EAAU9j1B,QAAS,CAC1Bd,QAASc,EAAQhoB,OAEnB,OAAA0O,EAAA,GACKo91B,EAAU,CACb9j1B,QAASgtK,GAEb,CACE,OAAAtmL,EAAA,GACKo91B,EAAU,CACb9j1B,WAGN,CACE,OAAO8j1B,CAEX,EACMC,GAAuB,SAAC1oD,EAAQnsyB,GACpC,GAAIA,EAAKw10B,UACP,OAAOxgC,GAAO1pzB,MAAM0U,GAEpB,IAAM401B,EA/sOmB,SAACzoD,EAAQnsyB,GAAI,OAAKmsyB,EAAO5iyB,SAAS,mBAAoBvJ,EAAM,CA+sOnE801B,CAAqB3oD,EAAQnsyB,GAC/C,OAAI401B,EAAUlxK,qBACLsxH,GAAOhszB,MAAM2l0B,GAAexiB,EAAM30yB,EAAA,CACvCsZ,QAAS,IACN8j1B,IACF9j1B,SAEIkkyB,GAAO1pzB,MAAMsp2B,EAG1B,EACMG,GAAwB,SAAC5oD,EAAQr7xB,EAAS9Q,GAC9C,GAAIA,EAAKw10B,UACP,OAAO1k0B,EAEP,IAAMkk1B,EAAqBR,GAAsB1j1B,EAAS,SAAAA,GAAO,OAAI69yB,GAAexiB,EAAM30yB,EAAA,GACrFwI,EAAK,CACR8Q,YACA,EAAE,CACF2iE,SAAUopuB,GAAkB1Q,GAC5B86C,gBAAiB7pC,GAAqBjR,KAExC,OAAO6oD,EAAmBlk1B,OAE9B,EACMmk1B,GAAuB,SAAC9oD,EAAQnsyB,GACpC,GAAIA,EAAKw10B,UACP,OAAOxgC,GAAO1pzB,MAAM0U,GAEpB,IAAMg11B,EAAqBR,GAAsBx01B,EAAK8Q,QAAS,SAAAA,GAAO,OA9uO7C,SAACq7xB,EAAQnsyB,GAAI,OAAKmsyB,EAAO5iyB,SAAS,mBAAoBvJ,EAAM,CA8uOXk11B,CAAqB/oD,EAAM30yB,EAAA,GAChGwI,EAAK,CACR8Q,YACA,EAAE,CACF2iE,SAAUopuB,GAAkB1Q,GAC5B86C,gBAAiB7pC,GAAqBjR,KAExC,OAAI6oD,EAAmBtxK,sBACrBgrI,GAAeviB,EAAQ6oD,GAChBhgD,GAAOhszB,WAAM2I,IAEbqjzB,GAAO1pzB,MAAM0p2B,EAG1B,EACMG,GAAwB,SAAChpD,EAAQr7xB,EAAS9Q,GACzCA,EAAKw10B,WACR9mB,GAAeviB,EAAM30yB,EAAA,GAChBwI,EAAK,CACR8Q,YAGN,EAEMsk1B,GAAa,SAACvyvB,EAASj4F,EAAOqjB,GAAI,MAAM,CAC5C40E,UACAj4F,QACAqjB,OACD,EACKon0B,GAAW,SAACxyvB,EAASijL,GAAK,MAAM,CACpCjjL,UACAijL,QACD,EACKwvkB,GAAe,SAACv01B,EAAGC,GAAC,MAAM,CAC9BD,IACAC,IACD,EACKu01B,GAAU,SAACvia,EAAIzlc,GACnB,OAAOw2xB,GAAO/wV,EAAIzlc,GAAKqjE,KAAKyllB,IAAO+kF,MAAM,EAC3C,EAeMo6H,GAAa,SAAC1h0B,EAAO/yB,EAAGC,GAC5B,IAAMitB,EAAO6F,EAAM7F,KAEnB,SADcA,EAAKjtB,GAAKitB,EAAKjtB,GAAG8kR,MAAQ,IACzB/kR,EACjB,EAOM001B,GAAW,SAAAxn0B,GACf,OAAOivvB,GAAMjvvB,EAAM,SAAC03D,EAAK4hW,GACvB,OAAOA,EAAIzhK,MAAMr7R,OAASk7F,EAAM4hW,EAAIzhK,MAAMr7R,OAASk7F,CACrD,EAAG,EACL,EACM+vwB,GAAiB,SAAC5h0B,EAAO+uE,GAE7B,IADA,IAAM50E,EAAO6F,EAAM7F,KACVjtB,EAAI,EAAGA,EAAIitB,EAAKxjC,OAAQuW,IAE/B,IADA,IAAM8kR,EAAQ73P,EAAKjtB,GAAG8kR,MACb/kR,EAAI,EAAGA,EAAI+kR,EAAMr7R,OAAQsW,IAChC,GAAI8yE,GAAGiyM,EAAM/kR,GAAI8hG,GACf,OAAOm5qB,EAASpyvB,KAAK0r0B,GAAav01B,EAAGC,IAI3C,OAAOg7wB,EAAS/gX,MAClB,EACM06b,GAAc,SAAC7h0B,EAAOk2jB,EAAIhC,EAAIzxjB,EAAIk2uB,GAGtC,IAFA,IAAMmpF,EAAU,GACV3n0B,EAAO6F,EAAM7F,KACVjtB,EAAIgnlB,EAAIhnlB,GAAKyrwB,EAAIzrwB,IAAK,CAC7B,IAAM8kR,EAAQ73P,EAAKjtB,GAAG8kR,MAChBjlR,EAAQmplB,EAAKzzjB,EAAKuvP,EAAMjlR,MAAMmplB,EAAIzzjB,EAAK,GAAKuvP,EAAMjlR,MAAM01B,EAAIyzjB,EAAK,GACvE4rQ,EAAQ7l2B,KAAKsl2B,GAASpn0B,EAAKjtB,GAAG6hG,QAAShiG,GACzC,CACA,OAAO+01B,CACT,EA6BMn6H,GAAU,SAAAo6H,GACd,IAAM/h0B,EAAQsh0B,GAAWhnD,GAAUynD,GAAW,EAAG,IAMjD,OALAh5E,GAAOrwmB,GAAYqprB,EAAU,MAAO,SAACxyc,EAAIriZ,GACvC67wB,GAAOrwmB,GAAY62O,EAAI,SAAU,SAAC2vC,EAAIjyb,IAnF1B,SAAC+yB,EAAO/yB,EAAGC,EAAGqiZ,EAAI2vC,GAIhC,IAHA,IAAMoB,EAAUmha,GAAQvia,EAAI,WACtB8ia,EAAUP,GAAQvia,EAAI,WACtB/ka,EAAO6F,EAAM7F,KACV6tjB,EAAK96kB,EAAG86kB,EAAK96kB,EAAIozb,EAAS0nJ,IAAM,CAClC7tjB,EAAK6tjB,KACR7tjB,EAAK6tjB,GAAMu5Q,GAAShnD,GAAOhrZ,GAAK,KAElC,IAAK,IAAIw4L,EAAK96kB,EAAG86kB,EAAK96kB,EAAI+01B,EAASj6Q,IACnB5tjB,EAAK6tjB,GAAIh2T,MACjB+1T,GAAMC,IAAO96kB,GAAK66kB,IAAO96kB,EAAIiyb,EAAKo7W,GAAUp7W,EAEtD,CACF,CAuEM+ia,CAAQji0B,EAjEK,SAACA,EAAO/yB,EAAGC,GAC5B,KAAOw01B,GAAW1h0B,EAAO/yB,EAAGC,IAC1BD,IAEF,OAAOA,CACT,CA4DqBi11B,CAAWli0B,EAAO/yB,EAAGC,GAAIA,EAAGqiZ,EAAI2vC,EACjD,EACF,GACOoia,GAAWth0B,EAAM+uE,QAAS4yvB,GAAS3h0B,EAAM7F,MAAO6F,EAAM7F,KAC/D,EACMgo0B,GAAQ,SAAAni0B,GACZ,OA9BqB,SAACA,EAAO7F,GAC7B,IAAMio0B,EAAe9nD,GAAUt6wB,EAAM+uE,SAC/BszvB,EAAYnxE,GAAazpD,QAAQ,SAGvC,OAFAp5kB,GAAOg0sB,EAAWlo0B,GAClB05vB,GAASuuE,EAAcC,GAChBD,CACT,CAwBSE,CAAeti0B,EAvBG,SAAAA,GACzB,OAAO8ovB,GAAM9ovB,EAAM7F,KAAM,SAAAs5Z,GACvB,IAAMzhK,EAAQ82f,GAAMr1V,EAAIzhK,MAAO,SAAAmmK,GAC7B,IAAM+G,EAAKq7W,GAAOpiX,GAGlB,OAFAg4V,GAASjxV,EAAI,WACbixV,GAASjxV,EAAI,WACNA,CACT,GACM3vC,EAAK+qZ,GAAU7mX,EAAI1kV,SAEzB,OADAs/C,GAAOkhQ,EAAIv9H,GACJu9H,CACT,EACF,CAW+Bgzc,CAAmBvi0B,GAClD,EACMwi0B,GAAa,SAACxi0B,EAAOo/qB,EAAc+kH,GACvC,OAAOy9B,GAAe5h0B,EAAOo/qB,GAActipB,KAAK,SAAA+5jB,GAC9C,OAAO+qO,GAAe5h0B,EAAOmkyB,GAAY78zB,IAAI,SAAAwvnB,GAC3C,OA3CW,SAAC92lB,EAAO62lB,EAAUC,GACjC,IAAM5gC,EAAK2gC,EAAS5pnB,EAClBinlB,EAAK2iC,EAAS3pnB,EACVu1B,EAAKq0lB,EAAO7pnB,EAChB0rwB,EAAK7hJ,EAAO5pnB,EACR401B,EAAU5tQ,EAAKykL,EAAKkpF,GAAY7h0B,EAAOk2jB,EAAIhC,EAAIzxjB,EAAIk2uB,GAAMkpF,GAAY7h0B,EAAOk2jB,EAAIyiL,EAAIl2uB,EAAIyxjB,GAC9F,OAAOotQ,GAAWth0B,EAAM+uE,QAAS4yvB,GAASG,GAAUA,EACtD,CAoCaW,CAASzi0B,EAAO62lB,EAAUC,EACnC,EACF,EACF,EAGM4rO,GAA+B,SAACh4U,EAASlkG,GAAG,OAAK8iW,GAAO5+P,EAAS,SAAA/igB,GAAG,MAAkB,OAAd3yB,GAAK2yB,IAAiBoryB,GAAuBpryB,EAAK6+Z,EAAI,GAAEoiT,KAAK9mL,EAAS,IAAK,SAAA6gT,GAAG,OAD5H,SAAAj4U,GAAO,OAAI4+P,GAAO5+P,EAAS,SAAA/igB,GAAG,MAAkB,OAAd3yB,GAAK2yB,IAA+B,OAAd3yB,GAAK2yB,EAAa,EAAE,CACoDi70B,CAAwBl4U,GAASpjhB,IAAI,SAAAu71B,GACnM,IAAMC,EAAU5xE,GAAazpD,QAAQzyuB,GAAK6t2B,IACpCE,EAAa14E,GAASkJ,GAAUsvE,GAAW,SAACG,EAAQhu2B,GAAI,OAAKgH,GAAWhH,EAAM,aAAa,GAEjG,OADAwsb,GAAOshb,EAASC,GACT,CAAC7xE,GAAazpD,QAAQ,MAAOq7H,EACtC,GAAGx7H,MAAM,GAAG,EAAE,EAeR27H,GAAkB,SAACj5qB,EAAUw8P,EAAKjra,GACtC,IAAM2n1B,EAAwBhyE,GAAavpD,QAAQnhT,EAAI6oT,yBACjD3kN,EAAUskT,GAAek0B,EAAuBl5qB,GAChDm5qB,EAAej6E,GAASx+P,EAAS,SAAA30f,GAAE,OAAIxa,EAAOmvxB,UAAU11yB,GAAK+gC,GAAI,GACjEqt0B,EAAeV,GAA6Bh4U,EAASlkG,GACrD68a,EAAcF,EAAaxp2B,OAAOyp2B,EAAazs2B,OAASys2B,EAZrC,SAAAF,GACzB,OAAI3qE,GAAa2qE,GACR7kzB,GAAO6kzB,GAAuBh00B,OAAOopwB,IAAQ1vD,KAAK9mL,EAAS,IAAK,SAAAghT,GAAO,MAAI,CAACI,EAAuBJ,EAAQ,GAE3GxqE,GAAO4qE,GAAyB,CAACA,GAAyB,EAErE,CAM+EI,CAAmBJ,IAChG,OAAOp6E,GAAMu6E,EAAa/oD,GAC5B,EACMipD,GAAgB,WAAH,OAASniC,GAAa,GAAI,EACvCoiC,GAAuB,SAACx5qB,EAAUw8P,EAAKjra,GAAM,OAvBrCko1B,EAuB+CvyE,GAAavpD,QAAQnhT,EAAIk5Z,iBAvB9DvuC,EAuBgF8xD,GAAgBj5qB,EAAUw8P,EAAKjra,GAtB/HuiD,EAAUsrtB,GAAM+nB,EAAM,SAACt/sB,EAAKlqE,GAEhC,OADAkswB,GAASlswB,EAAKkqE,GACPlqE,CACT,EAAG870B,GACItyD,EAAKx6yB,OAAS,EAAIyq0B,GAAa,CAACtjwB,IAAYA,EALxC,IAAC2lyB,EAAUtyD,EAChBrzuB,CAsBwI,EAE1I4lyB,GAAmB,SAAC15qB,EAAU25qB,GAAkB,OAD/B,SAACtkE,EAASlnW,GAAI,OAAKw6V,GAAWx6V,EAAM,QAAS+qH,EAAMnje,GAAIs/sB,GAAU,CAC7BukE,CAAe55qB,EAAU25qB,EAAmB,IAAI7myB,KAAK,SAAAilyB,GAC9G,IAAM8B,EAAYF,EAAmB,GAC/BG,EAAWH,EAAmBA,EAAmBht2B,OAAS,GAC1Dot2B,EAAiBp8H,GAAQo6H,GAC/B,OAAOS,GAAWuB,EAAgBF,EAAWC,GAAUx81B,IAAI,SAAA081B,GAAmB,OAAI5iC,GAAa,CAAC+gC,GAAM6B,IAAsB,EAC9H,GAAGj5H,WAAWw4H,GAAe,EAEvBU,GAAS,SAACj6qB,EAAUqooB,EAAQ92yB,GAChC,IAAMk3yB,EAAgBD,GAA4BH,EAAQrooB,GAC1D,OAAOyooB,EAAc97zB,OAAS,EAAI+s2B,GAAiB15qB,EAAUyooB,GAHlC,SAACzooB,EAAUqooB,EAAQ92yB,GAAM,OAAK82yB,EAAO17zB,OAAS,GAAK07zB,EAAO,GAAGj5jB,UAAYmqmB,KAAkBC,GAAqBx5qB,EAAUqooB,EAAO,GAAI92yB,EAAQ,CAG1F2o1B,CAAqBl6qB,EAAUqooB,EAAQ92yB,EACvH,EAEM4o1B,GAA0B,SAACr30B,EAAMvqB,GAAK,OAAKA,GAAS,GAAKA,EAAQuqB,EAAKn2B,QAAUyyV,GAAat8T,EAAK+jB,OAAOtuC,GAAQ,EACjH6h2B,GAAe,SAAAC,GACnB,OAAOjrE,GAAOirE,EAAIth0B,UACpB,EA2CMuh0B,GAAyB,SAACjsD,EAAQnsyB,GACtC,GAAoB,SAAhBA,EAAKuhX,OACP,OA3CmB,SAAA4qb,GAAM,OAAInwB,EAASxquB,KAAK26vB,EAAOx8hB,UAAU08hB,UAAUjxyB,IAAI,SAAAk/a,GAC5E,IAAIxlY,EACEujzB,EAAiBr8E,EAASxquB,KAAK26vB,EAAO/gW,IAAIlqI,UAAUo5G,EAAI6oT,wBAAyBgpE,EAAO/gW,IAAIwmV,UAC5F9suB,EAAOqnvB,EAAO50D,UACd+gH,EALmB,SAAAD,GAAc,OAAIA,EAAej91B,IAAI,SAAAizO,GAAK,OAAIA,EAAM/oI,QAAQ,GAAE81nB,MAAM,OAAOzvtB,aAAc,CAK1F4s1B,CAAmBF,GACrCG,EAAoBxzE,GAAavpD,QAAQnhT,EAAIk5Z,iBACnDjU,GAAqBi5B,GACrB/4B,GAAkB+4B,GAClB,IAAML,EAAMhsD,EAAO/gW,IAAI3xc,IAAIqrD,EAAMwzyB,EAAiB,CAChD,iBAAkB,MAClB,MAAS,iCACRE,EAAkBptZ,KACfxqb,EAAOs30B,GAAaC,GACpBM,EAAkBvrE,GAAkC,QAA1Bp4uB,EAAKqjzB,EAAIvh0B,mBAAqC,IAAZke,EAAgBA,EAAK,IAEvF,GADAq3vB,EAAO/gW,IAAIh2b,OAAO+i1B,GACdF,GAAwBQ,EAAiB,IAAMR,GAAwBQ,EAAiBA,EAAgBhu2B,OAAS,GAAI,CACvH,IAAMqnyB,EAAcumE,EAAej9H,MAAMt2qB,GACnC4zyB,EAAkBR,GAAapmE,GAC/B1/J,EAAYsmO,EAAgBzt2B,QAAQ21B,GAC1C,OAAmB,IAAfwxmB,EACKxxmB,GAEoBq30B,GAAwBS,EAAiBtmO,EAAY,GAEnD,IAAM,IAAMxxmB,GADhBq30B,GAAwBS,EAAiBtmO,EAAYxxmB,EAAKn2B,QACf,IAAM,GAE9E,CACE,OAAOm2B,CAEX,GAAGw6sB,MAAM,GAAI,CAcFlqX,CAAei7b,GAEtB,IAAMr7xB,EAfmB,SAACq7xB,EAAQnsyB,GACpC,IAAMs6a,EAAM6xX,EAAOx8hB,UAAU08hB,SAC3BssD,EAASxsD,EAAO/gW,IAAItna,OAAO,QACvB6sG,EAAMw7pB,EAAOx8hB,UAAU82iB,SACvBN,EAAS+W,GAAc/wB,EAAQ+Z,GAAYv1qB,IAC3CoR,EAAW/hJ,EAAK441B,WAAab,GAAO/yE,GAAavpD,QAAQ0wE,EAAO50D,WAAY4uE,EAAQha,EAAO98xB,QAAQ+7b,IAAM9wB,EAAIk5Z,gBAInH,OAHIzxrB,GACF42sB,EAAOjzzB,YAAYq8G,GAEdoqpB,EAAOx8hB,UAAU98Q,WAAWxH,UAAUst2B,EAAQ341B,EACvD,CAKoB641B,CAAqB1sD,EAAQnsyB,GAC7C,MAAoB,SAAhBA,EAAKuhX,OACAzwW,EAEAq7xB,EAAOx8hB,UAAUwne,cAAgB,GAAKrmuB,CAGnD,EAQMgo1B,GAA6B,SAAC3sD,EAAQ5qb,GAAuB,IAC3Dw3e,EARY,SAAC/41B,EAAMuhX,GAAM,OAAA/pX,EAAA,GAC5BwI,EAAK,CACRuhX,SACA9wX,KAAK,EACLk/Q,WAAW,EACXqplB,UAAU,GAAI,CAGQC,CADgChr2B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EAClBszX,GACxC,OAAOsze,GAAqB1oD,EAAQ4sD,GAAer8H,KAAKjhpB,EAAU,SAAAy9wB,GAChE,IAAMpo1B,EAAUsn1B,GAAuBjsD,EAAQ+sD,GAC/C,OAAOnE,GAAsB5oD,EAAQr7xB,EAASoo1B,EAChD,EACF,EA8GMC,GAAe,SAAA190B,GACnB,OAAIwuwB,GAAYxuwB,GACPA,EAAI87Z,UACFqzW,GAASnvwB,GACXs7wB,GAASL,UAAUj7wB,EAAIrrB,MAAM,GAC3BihX,GAAU51V,GACZ,UAASA,EAAIrrB,KAAO,SAEtB,EACT,EAaMgp2B,GAAW,SAAC390B,EAAKw8V,EAAM5hX,GAC3B,IAAM0rJ,EAbe,SAAAk2N,GACrB,IAAIxlU,EACEyzC,EAAYh0E,SAAS6F,cAAc,OACnC+uxB,EAAO50xB,SAASgwT,yBAItB,IAHI+1C,IACF/xR,EAAUxvD,UAAYuhV,GAEjBxlU,EAAOyzC,EAAU+7D,YACtB6kpB,EAAKphwB,YAAY+M,GAEnB,OAAOq0vB,CACT,CAEmBD,CAAe5ub,GAChC,GAAIx8V,EAAIw1Q,iBAAmB56R,EAAQolB,EAAImR,WAAWniC,OAAQ,CACxD,IAAMsK,EAAS0mB,EAAImR,WAAWv2B,GAC9BolB,EAAIgqF,aAAas8C,EAAUhtJ,EAC7B,MACE0mB,EAAIiqB,YAAYq8G,EAEpB,EAuBM3qH,GAAQ,SAACi/H,EAAW56I,GACxB,IA/JYxT,EAAMC,EACZvX,EACA0o2B,EACAC,EAQAC,EA4BAC,EAOAC,EAsDAhna,EA2DAina,EAAmB98E,GAAMpruB,GAAK/1B,EAAImR,YAAaus0B,IAErD,OAnBgB,SAAC36W,EAAM/ie,GACvB,IAAIplB,EAAQ,EACZwmxB,GAAOr+R,EAAM,SAAAjse,GAnJF,IAoJLA,EAAO,GACTlc,IApJK,IAqJIkc,EAAO,IAChB6m1B,GAAS390B,EAAKlJ,EAAO,GAAIlc,GACzBA,KAtJK,IAuJIkc,EAAO,IAdL,SAACkJ,EAAKplB,GACrB,GAAIolB,EAAIw1Q,iBAAmB56R,EAAQolB,EAAImR,WAAWniC,OAAQ,CACxD,IAAMsK,EAAS0mB,EAAImR,WAAWv2B,GAC9BolB,EAAIy0B,YAAYn7C,EAClB,CACF,CAUM4k2B,CAASl+0B,EAAKplB,EAElB,EACF,CAMEuj2B,EAhKkB1x1B,EAgKemuJ,EA/J3B1lK,GADMsX,EAgKGyx1B,GA/JGjv2B,OAASyd,EAAMzd,OAAS,EACpC4u2B,EAAQ,IAAI341B,MAAM/P,GAClB2o2B,EAAM,IAAI541B,MAAM/P,GAQhB4o2B,EAAc,SAACnmQ,EAAQC,EAAMC,EAAQC,EAAM9gK,GAC/C,IAAM8oZ,EAASke,EAAermQ,EAAQC,EAAMC,EAAQC,GACpD,GAAe,OAAXgoP,GAAmBA,EAAOj70B,QAAU+ylB,GAAQkoP,EAAOse,OAASxmQ,EAAOE,GAAQgoP,EAAOh70B,MAAQ6ylB,GAAUmoP,EAAOse,OAASzmQ,EAASE,EAG/H,IAFA,IAAItomB,EAAIoomB,EACJ/ykB,EAAIizkB,EACDtomB,EAAIqomB,GAAQhzkB,EAAIkzkB,GACjBvomB,EAAIqomB,GAAQhzkB,EAAIkzkB,GAAQtrlB,EAAKjd,KAAOkd,EAAMmY,IAC5Coya,EAAO1ic,KAAK,CArBT,EAqBgBkY,EAAKjd,OACtBA,IACAq1B,GAEEgzkB,EAAOD,EAASG,EAAOD,GACzB7gK,EAAO1ic,KAAK,CAxBb,EAwBsBkY,EAAKjd,OACxBA,IAEFync,EAAO1ic,KAAK,CA5Bb,EA4BsBmY,EAAMmY,OACzBA,OAIH,CACLk50B,EAAYnmQ,EAAQmoP,EAAOj70B,MAAOgzlB,EAAQioP,EAAOj70B,MAAQi70B,EAAOse,KAAMpna,GACtE,IAAK,IAAI1/D,EAAKwod,EAAOj70B,MAAOyyX,EAAKwod,EAAOh70B,MAAOwyX,EAC7C0/D,EAAO1ic,KAAK,CArCP,EAqCckY,EAAK8qX,KAE1Bwme,EAAYhe,EAAOh70B,IAAK8ylB,EAAMkoP,EAAOh70B,IAAMg70B,EAAOse,KAAMtmQ,EAAM9gK,EAChE,CACF,EACM+ma,EAAa,SAACl51B,EAAOu51B,EAAMxmQ,EAAME,GAErC,IADA,IAAIhzlB,EAAMD,EACHC,EAAMs51B,EAAOtmQ,GAAQhzlB,EAAM8ylB,GAAQprlB,EAAK1H,KAAS2H,EAAM3H,EAAMs51B,MAChEt51B,EAEJ,OAxCY,SAACD,EAAOC,EAAKs51B,GACzB,MAAO,CACLv51B,QACAC,MACAs51B,OAEJ,CAkCSC,CAAMx51B,EAAOC,EAAKs51B,EAC3B,EACMJ,EAAiB,SAACrmQ,EAAQC,EAAMC,EAAQC,GAC5C,IAAMh7iB,EAAI86iB,EAAOD,EACXnimB,EAAIsimB,EAAOD,EACjB,GAAU,IAAN/6iB,GAAiB,IAANtnD,EACb,OAAO,KAET,IAKI2nD,EAAGxP,EAAGp+C,EAAG+V,EAAGC,EALV+wF,EAAQx5C,EAAItnD,EACZwvN,EAAMxvN,EAAIsnD,EACV9qC,GAAUgzM,EAAM,GAAM,EAAIA,EAAMA,EAAM,GAAK,EAIjD,IAHA44oB,EAAM,EAAI5r1B,GAAU2llB,EACpBkmQ,EAAI,EAAI7r1B,GAAU4llB,EAAO,EAEpBz6iB,EAAI,EAAGA,GAAKnrC,IAAUmrC,EAAG,CAC5B,IAAKxP,GAAKwP,EAAGxP,GAAKwP,EAAGxP,GAAK,EAAG,CAS3B,IARAp+C,EAAIo+C,EAAI37B,EACJ27B,KAAOwP,GAAKxP,IAAMwP,GAAKygzB,EAAMru2B,EAAI,GAAKqu2B,EAAMru2B,EAAI,GAClDqu2B,EAAMru2B,GAAKqu2B,EAAMru2B,EAAI,GAErBqu2B,EAAMru2B,GAAKqu2B,EAAMru2B,EAAI,GAAK,EAG5BgW,GADAD,EAAIs41B,EAAMru2B,IACFoomB,EAASE,EAASlqjB,EACnBroC,EAAIsylB,GAAQrylB,EAAIuylB,GAAQtrlB,EAAKlH,KAAOmH,EAAMlH,IAC/Cq41B,EAAMru2B,KAAO+V,IACXC,EAEJ,GAAI+wF,EAAQ,GAAM,GAAKA,EAAQn5C,GAAKxP,GAAKA,GAAK2oD,EAAQn5C,GAChD0gzB,EAAItu2B,EAAI+mG,IAAUsnwB,EAAMru2B,GAC1B,OAAOwu2B,EAAWF,EAAItu2B,EAAI+mG,GAAQ3oD,EAAIgqjB,EAASE,EAAQD,EAAME,EAGnE,CACA,IAAKnqjB,EAAI2oD,EAAQn5C,EAAGxP,GAAK2oD,EAAQn5C,EAAGxP,GAAK,EAAG,CAS1C,IARAp+C,EAAIo+C,EAAI37B,EAASskF,EACb3oD,IAAM2oD,EAAQn5C,GAAKxP,IAAM2oD,EAAQn5C,GAAK0gzB,EAAItu2B,EAAI,IAAMsu2B,EAAItu2B,EAAI,GAC9Dsu2B,EAAItu2B,GAAKsu2B,EAAItu2B,EAAI,GAAK,EAEtBsu2B,EAAItu2B,GAAKsu2B,EAAItu2B,EAAI,GAGnBgW,GADAD,EAAIu41B,EAAItu2B,GAAK,GACLoomB,EAASE,EAASlqjB,EACnBroC,GAAKqylB,GAAUpylB,GAAKsylB,GAAUrrlB,EAAKlH,KAAOmH,EAAMlH,IACrDs41B,EAAItu2B,GAAK+V,IACTC,IAEF,GAAI+wF,EAAQ,GAAM,IAAMn5C,GAAKxP,GAAKA,GAAKwP,GACjC0gzB,EAAItu2B,IAAMqu2B,EAAMru2B,EAAI+mG,GACtB,OAAOynwB,EAAWF,EAAItu2B,GAAIo+C,EAAIgqjB,EAASE,EAAQD,EAAME,EAG3D,CACF,CACA,OAAO,IACT,EACM9gK,EAAS,GACf8ma,EAAY,EAAGtx1B,EAAKxd,OAAQ,EAAGyd,EAAMzd,OAAQgoc,GACtCA,GA0DsCh3a,GACtCA,CACT,EAEMs+0B,GAAmB1lqB,GAAO,kBAAMniL,SAASkwb,eAAeC,mBAAmB,OAAO,GAoBlF23Z,GAAmB,SAAA7tD,GACvB,IAAMqyB,EAAYryB,EAAOt5yB,WAAWkt0B,eAC9Bj7wB,EAAOs6wB,GAAOjzB,EAAO50D,UAAWinF,GACtC,OAtBiB,SAAA15wB,GAAI,OAAqC,OAAjCA,EAAKx2C,cAAc,SAAmB,CAsBxD2r1B,CAAWn1yB,GArBU,SAAAuxG,GAC5B,MAAO,CACLrqK,KAAM,aACNqqK,YACAvlJ,QAAS,GACTyzyB,SAAU,KACV21C,eAAgB,KAEpB,CAa4BC,CAhCb,SAAC1+0B,EAAK2+0B,GAAQ,OAAKp9E,GAASJ,GAAMpruB,GAAK/1B,EAAImR,YAAawt0B,EAAW9+E,EAAQ4R,GAAQisE,IAAgBA,IAAe,SAAAr+0B,GAC/H,OAAOA,EAAKrwB,OAAS,CACvB,EAAG,CA8B+C4v2B,CAAOv1yB,GAAM,IAZnC,SAAAh0C,GAC1B,MAAO,CACL9kB,KAAM,WACNqqK,UAAW,KACXvlJ,UACAyzyB,SAAU,KACV21C,eAAgB,KAEpB,CAIwEI,CAAoBptE,GAAOpouB,EAAKpuB,WACxG,EACM6j0B,GAAgB,SAACpuD,EAAQpjxB,EAAO+zH,GACpC,IAAMynqB,EAAWznqB,EAAS/zH,EAAMmx0B,eAAiBnx0B,EAAMw7xB,SACpC,eAAfx7xB,EAAM/8B,KACRorC,GAAMrO,EAAMstI,UAAW81oB,EAAO50D,WAE9B40D,EAAOxhE,WAAW5htB,EAAMjY,QAAS,CAC/BywW,OAAQ,MACRynd,cAAc5tD,EAAcmpC,KAAaC,GAAeD,KAAaA,EAASzQ,cAG9EyQ,IACFpY,EAAOx8hB,UAAUipe,eAAe2rE,GAChCpY,EAAOx8hB,UAAU1N,iBAErB,EACMu4lB,GAAkB,SAAAzx0B,GACtB,MAAsB,eAAfA,EAAM/8B,KAAwB+8B,EAAMstI,UAAUt+G,KAAK,IAAMhvB,EAAMjY,OACxE,EACM2p1B,GAAuB,SAAA1x0B,GAC3B,IAAMtN,EAAMupwB,GAAazpD,QAAQ,OAAQw+H,MAGzC,OAFA97wB,GAAMxiE,EAAK++0B,GAAgBzx0B,IAC3B8zvB,GAAOrwmB,GAAY/wJ,EAAK,qBAAsB+ye,IACvCw5R,GAAMvswB,EACf,EAGMi/0B,GAAS,SAACC,EAAQC,GACtB,SAAKD,IAAWC,OAHM,SAACD,EAAQC,GAAM,OAAKJ,GAAgBG,KAAYH,GAAgBI,EAAQ,CAKnFC,CAAgBF,EAAQC,IAJN,SAACD,EAAQC,GAAM,OAAKH,GAAqBE,KAAYF,GAAqBG,EAAQ,CAOtGE,CAAuBH,EAAQC,GAE1C,EAEMG,GAAa,SAAAC,GAAK,OAAoB,IAAhBA,EAAMvq2B,KAAY,EAExCwq2B,GAAY,SAAC/jH,EAAagkH,EAAQF,GAClCD,GAAWC,KACb9jH,EAAYgkH,OAASA,EAEzB,EACMC,GAAY,SAACjkH,EAAa8jH,GAC1B9jH,EAAYgkH,SACdD,GAAU/jH,GAAa,EAAO8jH,GAC9B9jH,EAAYz9uB,MAEhB,EAsKM2h2B,GAAmB,SAAAjvD,GAAM,MAAK,CAClC/muB,KAAM,CACJi2xB,WAAY3kvB,GAEdwgoB,YAAa,CACXokH,aAAc,SAACN,EAAOd,GAAc,OAnKjB,SAAC/tD,EAAQ6uD,EAAOd,GACjCa,GAAWC,IACbd,EAAe1p2B,IAAIikzB,GAAgBtI,EAAOx8hB,WAE9C,CA+J6C4rlB,CAAepvD,EAAQ6uD,EAAOd,EAAe,EACtFzg2B,IAAK,SAACy9uB,EAAa7gvB,EAAO2k2B,EAAOd,EAAgBnx0B,EAAOj0B,GAAK,OA/J1C,SAACq3yB,EAAQj1D,EAAa7gvB,EAAO2k2B,EAAOd,EAAgBnx0B,EAAOj0B,GAChF,IAAM0m2B,EAAexB,GAAiB7tD,GAChCsvD,EAAWt5E,GAAM59wB,OAAOwkB,GAAS,CAAC,EAAGyy0B,GAC3C,IAAKT,GAAWC,IAAU7uD,EAAOhjU,QAC/B,OAAO,KAET,IAAMuyX,EAAYxkH,EAAY9mvB,KAAKiG,EAAM5F,OACzC,GAAI07yB,EAAO5iyB,SAAS,gBAAiB,CACnCwf,MAAO0y0B,EACPC,YACAp5U,cAAexthB,IACd4urB,qBACD,OAAO,KAET,GAAIg4K,GAAahB,GAAOgB,EAAWD,GACjC,OAAO,KAELvkH,EAAY9mvB,KAAKiG,EAAM5F,QACzByp2B,EAAezp2B,MAAMm3D,KAAK,SAAAogZ,GACxBkvS,EAAY9mvB,KAAKiG,EAAM5F,OAAOyp2B,eAAiBlyZ,CACjD,GAEF,IAAM2zZ,EAAuBnhD,GAAwBrO,GACrD,GAAIwvD,GACEzkH,EAAY9mvB,KAAK3F,OAASkx2B,EAAsB,CAClD,IAAK,IAAI3w2B,EAAI,EAAGA,EAAIksvB,EAAY9mvB,KAAK3F,OAAS,EAAGO,IAC/CksvB,EAAY9mvB,KAAKpF,GAAKksvB,EAAY9mvB,KAAKpF,EAAI,GAE7CksvB,EAAY9mvB,KAAK3F,SACjB4L,EAAM7F,IAAI0mvB,EAAY9mvB,KAAK3F,OAC7B,CAEFgx2B,EAASl3C,SAAW9P,GAAgBtI,EAAOx8hB,WACvCt5Q,EAAM5F,MAAQymvB,EAAY9mvB,KAAK3F,OAAS,IAC1CysvB,EAAY9mvB,KAAK3F,OAAS4L,EAAM5F,MAAQ,GAE1CymvB,EAAY9mvB,KAAKL,KAAK0r2B,GACtBpl2B,EAAM7F,IAAI0mvB,EAAY9mvB,KAAK3F,OAAS,GACpC,IAAMuV,EAAO,CACX+oB,MAAO0y0B,EACPC,YACAp5U,cAAexthB,GASjB,OAPIuB,EAAM5F,MAAQ,GAChB07yB,EAAOyvD,UAAS,GAChBzvD,EAAO5iyB,SAAS,UAAWvJ,GAC3BmsyB,EAAO5iyB,SAAS,SAAUvJ,IAE1BmsyB,EAAO5iyB,SAAS,UAAWvJ,GAEtBy71B,CACT,CA4GsEI,CAAe1vD,EAAQj1D,EAAa7gvB,EAAO2k2B,EAAOd,EAAgBnx0B,EAAOj0B,EAAM,EACjJ03vB,KAAM,SAACtV,EAAa8jH,EAAO3k2B,GAAK,OA/ErB,SAAC81yB,EAAQj1D,EAAa8jH,EAAO3k2B,GAC1C,IAAI0yB,EAeJ,OAdImutB,EAAYgkH,SACdhkH,EAAYz9uB,MACZy9uB,EAAYgkH,QAAS,EACrBD,GAAU/jH,GAAa,EAAO8jH,IAE5B3k2B,EAAM5F,MAAQ,IAChB4F,EAAM7F,IAAI6F,EAAM5F,MAAQ,GACxBs4B,EAAQmutB,EAAY9mvB,KAAKiG,EAAM5F,OAC/B8p2B,GAAcpuD,EAAQpjxB,GAAO,GAC7BojxB,EAAOyvD,UAAS,GAChBzvD,EAAO5iyB,SAAS,OAAQ,CACtBwf,WAGGA,CACT,CA8DyC+y0B,CAAO3vD,EAAQj1D,EAAa8jH,EAAO3k2B,EAAM,EAC9E0l2B,KAAM,SAAC1l2B,EAAOjG,GAAI,OA7FP,SAAC+7yB,EAAQ91yB,EAAOjG,GAC7B,IAAI24B,EAUJ,OATI1yB,EAAM5F,MAAQL,EAAK3F,OAAS,IAC9B4L,EAAM7F,IAAI6F,EAAM5F,MAAQ,GACxBs4B,EAAQ34B,EAAKiG,EAAM5F,OACnB8p2B,GAAcpuD,EAAQpjxB,GAAO,GAC7BojxB,EAAOyvD,UAAS,GAChBzvD,EAAO5iyB,SAAS,OAAQ,CACtBwf,WAGGA,CACT,CAiF2Biz0B,CAAO7vD,EAAQ91yB,EAAOjG,EAAK,EAClD0D,MAAO,SAACojvB,EAAa7gvB,GAAK,OA9Gd,SAAC81yB,EAAQj1D,EAAa7gvB,GACpC6gvB,EAAY9mvB,KAAO,GACnBiG,EAAM7F,IAAI,GACV0mvB,EAAYgkH,QAAS,EACrB/uD,EAAO5iyB,SAAS,aAClB,CAyGmC0y1B,CAAQ9vD,EAAQj1D,EAAa7gvB,EAAM,EAClEuhc,MAAO,SAAAs/S,GAAW,OAhEN,SAAAA,GACdA,EAAYpjvB,QACZojvB,EAAYz9uB,KACd,CA6D0Byi2B,CAAQhlH,EAAY,EAC1CilH,QAAS,SAACjlH,EAAa7gvB,GAAK,OA7Dd,SAAC81yB,EAAQj1D,EAAa7gvB,GAAK,OAAKA,EAAM5F,MAAQ,GAAKymvB,EAAYgkH,QAAUhkH,EAAY9mvB,KAAK,KAAOsq2B,GAAOV,GAAiB7tD,GAASj1D,EAAY9mvB,KAAK,GAAI,CA6DpIgs2B,CAAUjwD,EAAQj1D,EAAa7gvB,EAAM,EACtEgm2B,QAAS,SAACnlH,EAAa7gvB,GAAK,OA7Dd,SAAC6gvB,EAAa7gvB,GAAK,OAAKA,EAAM5F,MAAQymvB,EAAY9mvB,KAAK3F,OAAS,IAAMysvB,EAAYgkH,MAAO,CA6DtEoB,CAAUplH,EAAa7gvB,EAAM,EAC9DsivB,SAAU,SAACzB,EAAa8jH,EAAOzv2B,GAAQ,OA7DxB,SAAC2rvB,EAAa8jH,EAAOzv2B,GAItC,OAHA4v2B,GAAUjkH,EAAa8jH,GACvB9jH,EAAYokH,eACZpkH,EAAYn9M,OAAOxuiB,GACZ2rvB,EAAYz9uB,KACrB,CAwDgD8i2B,CAAWrlH,EAAa8jH,EAAOzv2B,EAAS,EACpFwuiB,OAAQ,SAACihU,EAAOzv2B,GAAQ,OAxDX,SAACyv2B,EAAOzv2B,GACvB,IACEyv2B,EAAMxq2B,IAAIwq2B,EAAMvq2B,MAAQ,GACxBlF,GACF,CAAC,QACCyv2B,EAAMxq2B,IAAIwq2B,EAAMvq2B,MAAQ,EAC1B,CACF,CAiDiC+r2B,CAASxB,EAAOzv2B,EAAS,EACtD0onB,MAAO,SAACijI,EAAa7gvB,EAAOom2B,EAAWC,GAAS,OA9GpC,SAACvwD,EAAQj1D,EAAa7gvB,EAAOom2B,EAAWC,GACtD,GAAIxlH,EAAYyB,SAAS8jH,GAAY,CACnC,IAAMl4C,EAAWrtE,EAAY9mvB,KAAKiG,EAAM5F,OAAO8zzB,SACzCm3C,EAAYxkH,EAAY9mvB,KAAKiG,EAAM5F,MAAQ,GACjD8p2B,GAAcpuD,EAAQuvD,GAAW,GAC7BxkH,EAAYyB,SAAS+jH,KACvBxlH,EAAY9mvB,KAAKiG,EAAM5F,MAAQ,GAAGyp2B,eAAiB31C,EAEvD,CACF,CAqGyDo4C,CAAQxwD,EAAQj1D,EAAa7gvB,EAAOom2B,EAAWC,EAAU,GAEhHr7W,UAAW,CACTz0f,MAAO,SAAC9D,EAAMsyO,EAAM3oL,EAAM2kyB,GAAO,OAAKU,GAAQ3rC,EAAQrjzB,EAAMsyO,EAAM3oL,EAAM2kyB,EAAQ,EAChF3/f,SAAU,SAAC73S,EAAOw7L,GAAI,OAzjIT,SAAC+wkB,EAAQvswB,EAAOw7L,GAC/B,IAAMwhoB,EAAqB,GACrBC,EAAa,CAAC,EACd3pJ,EAAei5F,EAAOx8hB,UAAU6ud,WAUtC,OATA2tE,EAAO/gW,IAAIlqI,UAAUgyY,EAAc,SAAAzgqB,GACjC,IAAK,IAAIznD,EAAI,EAAGA,EAAI40C,EAAMn1C,OAAQO,IAAK,CACrC,IAAMlC,EAAO82C,EAAM50C,IACd6x2B,EAAW/z2B,IAASwu1B,GAAUnrC,EAAQ15vB,EAAM3pD,EAAMsyO,KACrDyhoB,EAAW/z2B,IAAQ,EACnB8z2B,EAAmB7s2B,KAAKjH,GAE5B,CACF,EAAGqjzB,EAAO/gW,IAAIy5V,WACP+3D,CACT,CA2iI+BnlhB,CAAS00d,EAAQvswB,EAAOw7L,EAAK,EACxDk8mB,UAAW,SAAC7kyB,EAAM3pD,EAAMsyO,EAAMg8mB,GAAO,OAAKE,GAAUnrC,EAAQ15vB,EAAM3pD,EAAMsyO,EAAMg8mB,EAAQ,EACtF0lB,SAAU,SAAAh02B,GAAI,OAviID,SAACqjzB,EAAQrjzB,GACxB,IAAMqi0B,EAAahf,EAAO9qT,UAAU5wf,IAAI3H,GAClCsid,EAAM+gW,EAAO/gW,IACnB,GAAI+/W,GAAchf,EAAOx8hB,UAAU44hB,aAGjC,IAFA,IAAMx9W,EAAYohX,EAAOx8hB,UAAU6ud,WAC7BhgN,EAAUuqS,GAAa39W,EAAKrgB,GACzBhqb,EAAIoqzB,EAAW1g0B,OAAS,EAAGsW,GAAK,EAAGA,IAAK,CAC/C,IAAMwgX,EAAS4pc,EAAWpqzB,GAC1B,IAAK8ozB,GAAiBtoc,GACpB,OAAO,EAET,IAAK,IAAIv2X,EAAIwzhB,EAAQ/zhB,OAAS,EAAGO,GAAK,EAAGA,IACvC,GAAIogd,EAAI1qa,GAAG89e,EAAQxzhB,GAAIu2X,EAAOh9P,UAC5B,OAAO,CAGb,CAEF,OAAO,CACT,CAohIsBu4uB,CAAS3wD,EAAQrjzB,EAAK,EACxC22P,QAAS,SAAA7/M,GAAK,OAAI6/M,GAAQ0sjB,EAAQvswB,EAAM,EACxC3rC,MAAO,SAACnL,EAAMsyO,EAAM3oL,GAAI,OAAK2vyB,GAAcj2C,EAAQrjzB,EAAMsyO,EAAM3oL,EAAK,EACpEr9B,OAAQ,SAACtsB,EAAMsyO,EAAM3oL,EAAM2kyB,GAAO,OAAKkI,GAAenzC,EAAQrjzB,EAAMsyO,EAAM3oL,EAAM2kyB,EAAQ,EACxF5kyB,OAAQ,SAAC1pD,EAAMsyO,EAAM3oL,GAAI,OApxFd,SAAC05vB,EAAQrjzB,EAAMsyO,EAAM3oL,GAClC,IAAMuoyB,EAAM7uC,EAAO9qT,UAAU5wf,IAAI3H,GAC7Bky1B,KACElD,GAAQ3rC,EAAQrjzB,EAAMsyO,EAAM3oL,IAAY,WAAYuoyB,EAAI,KAAOA,EAAI,GAAGxoyB,OAGxE4vyB,GAAcj2C,EAAQrjzB,EAAMsyO,EAAM3oL,GAFlC6syB,GAAenzC,EAAQrjzB,EAAMsyO,EAAM3oL,GAKzC,CA2wFkCD,CAAO25vB,EAAQrjzB,EAAMsyO,EAAM3oL,EAAK,EAC9DsqzB,cAAe,SAAC/Z,EAA2Bzje,EAASh0X,EAAU6r1B,EAASh8mB,GAAI,OAAK2nnB,GAAsB52C,EAAQ62C,EAA2Bzje,EAASh0X,EAAU6r1B,EAASh8mB,EAAK,GAE5K+wkB,OAAQ,CACNjghB,WAAY,SAAAlsR,GAAI,OAn7LO,SAACmsyB,EAAQnsyB,GAAI,OAAKg8wB,EAASxquB,KAAK26vB,EAAO50D,WAAW7a,KAAK9mL,EAAyB,SAAhB51iB,EAAKuhX,OAAoB,IAAIw8c,GAAQ,OAAQ,IAAM,IAAK,SAAAj5wB,GAAI,OAAIg7wB,GAAmB3zB,EAAQnsyB,EAAM8kD,EAAK,EAAE,CAm7L3Kk4yB,CAAmB7wD,EAAQnsyB,EAAK,EACpD2quB,WAAY,SAAC75tB,EAAS9Q,GAAI,OAAKw20B,GAAmBrqC,EAAQr7xB,EAAS9Q,EAAK,EACxEq3uB,cAAe,SAAC/rvB,EAAOwlT,GAAO,OAAKojiB,GAAkB/nC,EAAQ7gzB,EAAOwlT,EAAQ,EAC5EmsjB,UAAW,SAAAxh1B,GAAG,OAjEQ,SAAC0wxB,EAAQ1wxB,GACjC,IAAM2vb,EAAM+gW,EAAO/gW,IACbxzI,EAAQwjd,EAAc3/vB,GAAOA,EAAM0wxB,EAAO50D,UAChDslC,GAAOzxU,EAAIh9a,OAAO,UAAWwpS,GAAQ,SAAAsliB,GACnC,OAAQA,EAAW53vB,UACjB,IAAK,QACH,IAAMsgsB,EAAMqV,GAAwB9O,GAC9B7gzB,EAAQ8/c,EAAIm5V,UAAU24D,EAAY,UAClC5x2B,GAAmB,MAAVA,IAAkB6gzB,EAAOgxD,UAGtC/xZ,EAAIs8V,YAAYw1D,EAAYt3D,GAF5Bx6V,EAAIq8V,SAASy1D,EAAYt3D,GAI3B,MACF,IAAK,IACH,IAAKx6V,EAAIm5V,UAAU24D,EAAY,QAAS,CACtC,IAAM5x2B,EAAQ8/c,EAAIm5V,UAAU24D,EAAY,SAAWA,EAAWlv1B,GACxD43xB,EAAMsV,GAAyB/O,GACjC7gzB,GAAS6gzB,EAAOgxD,UAClB/xZ,EAAIq8V,SAASy1D,EAAYt3D,GAEzBx6V,EAAIs8V,YAAYw1D,EAAYt3D,EAEhC,EAGN,GACAuG,EAAO5iyB,SAAS,YAAa,CAC3Bs5F,QAASpnF,EACT0h1B,UAAWhxD,EAAOgxD,WAEtB,CAkCsBC,CAAkBjxD,EAAQ1wxB,EAAI,GAElDk0P,UAAW,CACTuc,WAAY,SAACq1F,EAAQvhX,GAAI,OAAK841B,GAA2B3sD,EAAQ5qb,EAAQvhX,EAAK,GAEhFq91B,cAAe,CACbC,cAAe,SAAAngc,GAAK,OAAIsga,GAAStxB,EAAQhvY,EAAM,EAC/Cogc,iBAAkB,WAAF,OA92MH,SAACpxD,EAAQ1wxB,GAAG,OAAKiizB,GAAOjizB,GAAKmsC,KAAK,SAAAxS,GACjD,IAAMmvwB,EAAWpY,EAAOx8hB,UAAU6pe,cAClChrP,GAAOp5c,GACP+2vB,EAAOx8hB,UAAUipe,eAAe2rE,EAClC,EAAG,CA02MyBi5C,CAASrxD,EAAQnnB,GAAavpD,QAAQ0wE,EAAO50D,WAAW,GAElFl4R,IAAK,CACHs6V,SAAU,WAAF,OAAQ39B,EAAS/gX,MAAM,GAElC,EAwHKwic,GAAQ,SAAAtxD,GAAM,OAAI9tB,GAAM8tB,EAAO/3uB,QAAS,MAAO,EAE/CspyB,GAAU,SAAAvxD,GACd,IAAMwxD,EAAaxxD,EACnB,OAHkB,SAAAA,GAAM,OAAI/tB,GAAM+tB,EAAO/3uB,QAAS,OAAOxD,KAAK,SAAAgtyB,GAAS,OAAI5hF,EAASxquB,KAAKoszB,EAAU5+Y,MAAM,EAAE,CAGpG6+Y,CAAY1xD,GAAQzvE,KAAK,WAE9B,OADAihI,EAAWG,YAAc1C,GAAiBjvD,GACnCnwB,EAAS/gX,MAClB,EAAG,SAAA+jD,GAED,OADA2+Y,EAAWG,YA9DS,WACtB,IAAMC,EAAMnoT,EAAS,MACfvigB,EAAQuigB,EAAS,IACvB,MAAO,CACLxwe,KAAM,CACJi2xB,WAAY3kvB,GAEdwgoB,YAAa,CACXokH,aAAc5kvB,EACdj9G,IAAKsk2B,EACLvxG,KAAMuxG,EACNhC,KAAMgC,EACNjq2B,MAAO4iH,EACPkhV,MAAOlhV,EACPylvB,QAASpgF,EACTsgF,QAAStgF,EACTpjC,SAAUolH,EACVhkU,OAAQrjb,EACRu9f,MAAOv9f,GAET2qY,UAAW,CACTz0f,MAAOmvxB,EACPtkc,SAAUm+N,EAAS,IACnB0hS,UAAW1hS,OAASjkjB,GACpBmr2B,SAAU/gF,EACVt8hB,QAASpsM,EACTp/C,MAAOyiH,EACPthG,OAAQshG,EACRlkE,OAAQkkE,EACRqmvB,cAAennT,EAAS,CACtB0nL,OAAQ5mnB,KAGZy1rB,OAAQ,CACNjghB,WAAY74O,EACZs3rB,WAAY/0L,EAAS,CACnB9kiB,QAAS,GACTmnW,KAAM,KAERo/X,cAAezhM,EAAS,IACxBqnT,UAAWvmvB,GAEbi5J,UAAW,CACTuc,WAAY74O,GAEdgqzB,cAAe,CACbC,cAAe5mvB,EACf6mvB,iBAAkB7mvB,GAEpB2oW,IAAK,CACHs6V,SAAU/jQ,EAASomO,EAAS/gX,SAGlC,CAS6B+ic,GAClBhiF,EAASpyvB,KAAK,kBAAMo1b,IAAQjxd,KAAK,SAAAkw2B,GAEtC,OADAN,EAAWG,YAjIM,SAAAG,GACrB,IAAMC,EAAc,SAAA9ioB,GAAI,OAAInmJ,EAASmmJ,GAAQA,EAAO,CAAC,CAAE,EAErDh2J,EAOE64xB,EAPF74xB,KACA8xqB,EAME+mH,EANF/mH,YACA71P,EAKE48W,EALF58W,UACA8qT,EAIE8xD,EAJF9xD,OACAx8hB,EAGEsulB,EAHFtulB,UACA0tlB,EAEEY,EAFFZ,cACAh+Y,EACE4+Y,EADF5+Y,IAEF,MAAO,CACLj6Y,KAAM,CACJi2xB,WAAYj2xB,EAAKi2xB,YAEnBnkH,YAAa,CACXokH,aAAcpkH,EAAYokH,aAC1B7h2B,IAAKy9uB,EAAYz9uB,IACjB+yvB,KAAMtV,EAAYsV,KAClBuvG,KAAM7kH,EAAY6kH,KAClBjo2B,MAAOojvB,EAAYpjvB,MACnB8jc,MAAOs/S,EAAYt/S,MACnBuka,QAASjlH,EAAYilH,QACrBE,QAASnlH,EAAYmlH,QACrB1jH,SAAU,SAACwlH,EAAcC,EAAQxl2B,GAAE,OAAKs+uB,EAAYyB,SAAS//uB,EAAG,EAChEmhiB,OAAQ,SAACqkU,EAAQ7y2B,GAAQ,OAAK2rvB,EAAYn9M,OAAOxuiB,EAAS,EAC1D0onB,MAAO,SAACkqP,EAAc9jX,EAAQoiX,EAAWC,GAAS,OAAKxlH,EAAYjjI,MAAMwoP,EAAWC,EAAU,GAEhGr7W,UAAW,CACTz0f,MAAO,SAAC9D,EAAMsyO,EAAMijoB,EAAOjnB,GAAO,OAAK/1V,EAAUz0f,MAAM9D,EAAMo12B,EAAY9ioB,GAAOg8mB,EAAQ,EACxF3/f,SAAU4pK,EAAU5pK,SACpB6/f,UAAWj2V,EAAUi2V,UACrBwlB,SAAU,SAAAh02B,GAAI,OAAIu4f,EAAUy7W,SAASh02B,EAAK,EAC1C22P,QAAS,SAAA7/M,GAAK,OAAIyhd,EAAU5hQ,QAAQ7/M,EAAM,EAC1C3rC,MAAO,SAACnL,EAAMsyO,EAAMijoB,GAAK,OAAKh9W,EAAUptf,MAAMnL,EAAMo12B,EAAY9ioB,GAAM,EACtEhmN,OAAQ,SAACtsB,EAAMsyO,EAAMijoB,EAAOC,GAAQ,OAAKj9W,EAAUjse,OAAOtsB,EAAMo12B,EAAY9ioB,GAAM,EAClF5oL,OAAQ,SAAC1pD,EAAMsyO,EAAMijoB,GAAK,OAAKh9W,EAAU7uc,OAAO1pD,EAAMo12B,EAAY9ioB,GAAM,EACxE2hoB,cAAe,SAACwB,EAAMh/e,EAASh0X,EAAU6r1B,EAASh8mB,GAAI,OAAKimR,EAAU07W,cAAcx9e,EAASh0X,EAAU6r1B,EAASh8mB,EAAK,GAEtH+wkB,OAAQ,CACNjghB,WAAY,SAAAlsR,GAAI,OAAImsyB,EAAOjghB,WAAWlsR,EAAK,EAC3C2quB,WAAY,SAAC75tB,EAAS9Q,GACpB,MAAO,CACL8Q,QAASq7xB,EAAOxhE,WAAW75tB,EAAS9Q,GACpCi4W,KAAM,GAEV,EACAo/X,cAAe,SAACvmuB,EAAS0t1B,GAEvB,OADAryD,EAAO90D,cAAcvmuB,GACd,EACT,EACAms1B,UAAW9wD,EAAO8wD,WAEpBttlB,UAAW,CACTuc,WAAY,SAAC6xO,EAAS/9f,GAAI,OAAK2vQ,EAAUuc,WAAWlsR,EAAK,GAE3Dq91B,cAAe,CACbC,cAAeD,EAAcC,cAC7BC,iBAAkBF,EAAcE,kBAElCl+Y,IAAK,CACHs6V,SAAU,WAAF,OAAQ39B,EAASpyvB,KAAKy1b,EAAIo/Y,cAAc,GAGtD,CAiE+BC,CAAeT,GACjCA,EAAUU,IAAIC,QACvB,EAAE,EACJ,EACF,EACMC,GAA6B,SAAA1yD,GAAM,OAAIA,EAAO2xD,YAAc3xD,EAAO2xD,YAAc1C,GAAiBjvD,EAAQ,EAC1G2yD,GAA0B,SAAA3yD,GAC9B,IAAM2xD,EAAc3xD,EAAO2xD,YAC3B,GAAKA,EAGH,OAAOA,EAFP,MAAM,IAAIny2B,MAAM,kDAIpB,EA0CM0v2B,GAAa,SAAAlvD,GAAM,OAAI2yD,GAAwB3yD,GAAQ/muB,KAAKi2xB,YAAa,EAIzE0D,GAAe,SAAC5yD,GAAuB,IAAfnsyB,EAAI/R,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EAEpC,OARyB,SAACk+yB,EAAQ5qb,EAAQvhX,GAAI,OAAK8+1B,GAAwB3yD,GAAQx8hB,UAAUuc,WAAWq1F,EAAQvhX,EAAM,CAQ/Gg/1B,CAAmB7yD,EADXnsyB,EAAKuhX,OAASvhX,EAAKuhX,OAAS,OACDvhX,EAC5C,EAEMq4xB,GAAc,SAAAz3wB,GAClB,OAAwB,IAApBA,EAAKwqb,IAAI3gd,QACXq9xB,GAASlnwB,GACFo7vB,EAAS/gX,QAET+gX,EAASpyvB,KAAKhJ,EAEzB,EAwBMq+0B,GAAwB,SAACC,EAAWj8C,EAAW3oY,EAAKh6a,EAAO+O,GAC/D6v1B,EAAUtuyB,KAAK,SAAA0oC,GAGb,OAFmBh5F,EAAQ8l0B,GAA4BF,IAC5C5suB,EAAM8xW,IAAK9qc,EAAQg5F,EAAM8xW,IAAI3gd,OAAS,EAAG4kB,GAC7C4zyB,EAAUjgyB,OAAOugwB,IAAUnoxB,IAAI,SAAAsne,GAAK,OA1B/B,SAACppY,EAAOopY,EAAOpoD,EAAKh6a,EAAO+O,GACzC,IAAM8v1B,EAAW7lwB,EAAM8xW,IACjBmsZ,EAAW70X,EAAMt3B,IACjBg0Z,EAAY9+1B,EAAQ6+1B,EAAS102B,OAAS8s2B,EAAS9s2B,OACjD6V,GACF+l0B,GAAe84B,EAAU5H,EAAUlo1B,GAAQ,GAAQ/O,GACnDg6a,EAAIihB,SAASg8Z,EAAU6H,KAEvB/4B,GAAekxB,EAAU4H,EAAU9v1B,GAAQ,GAAQ/O,GACnDg6a,EAAIkhB,OAAO+7Z,EAAU6H,GAEzB,CAemDC,CAAQ/lwB,EAAOopY,EAAOpoD,EAAKh6a,EAAO+O,EAAO,EAC1F,GAAGottB,QAAQ,WACT,IAAM6iI,EA7Be,SAAC7szB,EAAMnyC,GAAK,OAAKmyC,EAAKzvB,OAAO,SAAAvH,GAAG,OAAI2yyB,GAAgBhE,eAAe3uyB,EAAI2vb,IAAI,GAAEx6Y,KAAKtwD,EAAQ0wW,GAAcm0X,GAAa,CA6BpHo6H,CAAiBt8C,EAAW3izB,GAAOmjZ,GAAGw/Z,GAAWjgyB,OAAOugwB,IAC9E,OAAO+7E,EAAclk2B,IAAI,SAAAsne,GAAK,OAjBF,SAACA,EAAOpie,EAAO+O,GAC7C8iC,GAAOuwb,GAAO96a,KAAK,SAAAwsB,GACjB,IAAMxzD,EAAO8hd,EAAMt3B,IACf9qc,GAASuk0B,GAAkBzwvB,EAAMs9tB,GAAc9wxB,EAAM,GAAIvR,GAC3D62zB,GAAyBtlzB,EAAM,EAAGvR,IACxB/O,GAAS2k0B,GAAmB7wvB,EAAMs9tB,GAAc9wxB,EAAMA,EAAKn2B,QAAS4kB,IAC9E+2zB,GAA0BxlzB,EAAMA,EAAKn2B,OAAQ4kB,EAEjD,EACF,CAQsCmw1B,CAAwB98X,EAAOpie,EAAO+O,EAAO,EACjF,EACF,EAsCMow1B,GAAe,SAACtzD,EAAQr7xB,GAAwB,IAC9Cio1B,EA3BY,SAAC/41B,EAAM8Q,GAAO,OAAAtZ,EAAA,CAChC+pX,OAAQ,QACLvhX,EAAK,CACRxP,KAAK,EACLm/Q,WAAW,EACX7+P,WAAO,CAsBe4u1B,CADmBzx2B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EACL6iB,GACxCmk1B,GAAqB9oD,EAAQ4sD,GAAenxyB,KAAK,SAAAsxyB,GAC/C,IAAMyG,EAtBW,SAACxzD,EAAQnsyB,GAC5B,GAAoB,QAAhBA,EAAKuhX,OAAkB,CACzB,IAAM+4D,EAAM6xX,EAAOx8hB,UAAU08hB,SACvBuzD,EAAezzD,EAAO/gW,IAAIlqI,UAAUo5G,EAAI6oT,wBAAyBgpE,EAAO/gW,IAAIwmV,SAC5EiuE,EAAcD,EAAe,CACjC5v1B,QAAS4v1B,EAAat6vB,SAAS35F,eAC7B,CAAC,EACC8mC,EAAO05vB,EAAOtvuB,OAAOtwE,MAAMyT,EAAK8Q,QAAOtZ,EAAA,CAC3CigvB,mBAAmB,GAChBooH,EACA7/1B,IAEL,OAAO2g0B,GAAe,CACpBv1hB,UAAU,GACT+ggB,EAAO98xB,QAAQhkB,UAAUonD,EAC9B,CACE,OAAOzyC,EAAK8Q,OAEhB,CAI2Bgv1B,CAAa3zD,EAAQ+sD,GACtC5+a,EAAM6xX,EAAOx8hB,UAAU08hB,UAzCX,SAAC/xX,EAAKv4R,EAAU1yI,GACpC,IAAM4yI,EAAa+5nB,EAASxquB,KAAKuwG,EAASE,YAAY7mJ,IAAI4pxB,GAAavpD,SACjE7wnB,EAAYoxqB,EAASxquB,KAAKuwG,EAASn3C,WAAWxvG,IAAI4pxB,GAAavpD,SACrEnhT,EAAIkvZ,iBACJlvZ,EAAI23X,WAAWlwpB,GACf,IAAMg+sB,EAAW99sB,EAAWrxF,KAAKu0qB,IAAanitB,OAAOugwB,IAAU3ytB,KAAKynuB,IAC9D2nE,EAAWp1vB,EAAUh6C,KAAKogT,IAAahuV,OAAOugwB,IAAU3ytB,KAAKynuB,IACnE4mE,GAAsBc,EAAU99sB,EAAYq4R,GAAK,EAAMjra,GACvD4v1B,GAAsBe,EAAUp1vB,EAAW0vU,GAAK,EAAOjra,GACvDira,EAAI7O,UAAS,EACf,CAgCIw0b,CAAc3lb,EAAKA,EAAI4lb,yBAAyBP,GAAiBxzD,EAAO98xB,QACxE88xB,EAAOx8hB,UAAUkqe,OAAOv/T,GACxB2+Y,GAAoB9sB,EAAQ7xX,GAC5B66a,GAAsBhpD,EAAQwzD,EAAgBzG,EAChD,EACF,EAEMiH,GAAwB,SAACnzD,EAAazorB,EAAUh5H,GACpD,GAAI8yxB,GAAM2uB,EAAazorB,GAAW,CAChC,IAAMk/tB,EAAezmE,GAASgwB,EAAYzorB,GAAW,SAAAh8D,GAAE,OAAIA,IAAOh9D,CAAQ,GAC9C,IAAxBk41B,EAAah51B,cACRuizB,EAAYzorB,GAEnByorB,EAAYzorB,GAAYk/tB,CAE5B,CACF,EACI2c,GAAkB,SAACh1Z,EAAK+gW,GAC1B,IAAIk0D,EACAC,EACEC,EAAmB,SAACh8uB,EAAUpf,GAAK,OAAKi4qB,GAAOj4qB,EAAO,SAAA1yD,GAAI,OAAI24Z,EAAI1qa,GAAG+R,EAAM8xE,EAAS,EAAE,EACtF2grB,EAAa,SAAA9vnB,GAAI,OAAIg2R,EAAI85V,WAAW9vnB,OAAMzjL,EAAWy5c,EAAIy5V,UAAW,EAqC1E,MAAO,CACL27D,0BAA2B,SAACj8uB,EAAUh5H,GAWpC,OAVK802B,IArCPA,EAAsB,CAAC,EACvBC,EAAmB,CAAC,EACpBn0D,EAAOlnuB,GAAG,aAAc,SAAAp8E,GACtB,IAAM4pD,EAAO5pD,EAAEg6G,QACT27a,EAAU0mR,EAAWzyvB,GACrBguzB,EAAmB,CAAC,EAC1B9iF,GAAO0iF,EAAqB,SAACtzkB,EAAWxoK,GACtCg8uB,EAAiBh8uB,EAAUi6Z,GAAS52d,KAAK,SAAAnV,GAClC6tzB,EAAiB/7uB,KACpBs4pB,GAAO9vf,EAAW,SAAAxhS,GAChBA,GAAS,EAAM,CACbknD,OACA8xE,WACAi6Z,WAEJ,GACA8hV,EAAiB/7uB,GAAYwoK,GAE/B0zkB,EAAiBl8uB,GAAYwoK,CAC/B,EACF,GACA4wf,GAAO2iF,EAAkB,SAACvzkB,EAAWxoK,GAC9Bk8uB,EAAiBl8uB,YACb+7uB,EAAiB/7uB,GACxBs4pB,GAAO9vf,EAAW,SAAAxhS,GAChBA,GAAS,EAAO,CACdknD,OACA8xE,WACAi6Z,WAEJ,GAEJ,EACF,IAOO6hV,EAAoB97uB,KACvB87uB,EAAoB97uB,GAAY,IAElC87uB,EAAoB97uB,GAAUx0H,KAAKxE,GACnCg12B,EAAiBh8uB,EAAU2grB,EAAWiH,EAAOx8hB,UAAU6ud,aAAa52qB,KAAK,WACvE04yB,EAAiB/7uB,GAAY87uB,EAAoB97uB,EACnD,GACO,CACL+4mB,OAAQ,WACN6iI,GAAsBE,EAAqB97uB,EAAUh5H,GACrD402B,GAAsBG,EAAkB/7uB,EAAUh5H,EACpD,EAEJ,EAEJ,EAEMm12B,GAAkB,SAAAjuzB,GACtB,SAAUA,IAAQA,EAAK6pX,gBAAkBpzT,GAAS87qB,GAAavpD,QAAQhprB,EAAK6pX,eAAgB0oX,GAAavpD,QAAQhprB,GACnH,EAQMkuzB,GAAkB,SAACv1Z,EAAKjqR,EAAKtuL,EAAYs5yB,GAC7C,IAAIy0D,EACAC,EAEFL,EACEJ,GAAgBh1Z,EAAK+gW,GADvBq0D,0BAeI71H,EAAa,SAAC75tB,EAAS9Q,GAAI,OAAKy/1B,GAAatzD,EAAQr7xB,EAAS9Q,EAAM,EA6BpEyra,EAAW,SAAAqjY,GACf,IAAMx0X,EAAMwmb,IACZxmb,EAAI7O,WAAWqjY,GACfj1D,EAAOv/T,EACT,EACMmsY,EAAS,WAAH,OAAStloB,EAAI0kgB,aAAe1kgB,EAAI0kgB,eAAiB1kgB,EAAIjvK,SAASy9P,SAAU,EAC9EmxlB,EAAW,WACf,IAAIxmb,EACEymb,EAA2B,SAACC,EAAKC,EAAaC,GAClD,IACE,OAAOD,EAAYE,sBAAsBH,EAAKE,EAChD,CAAE,MAAO3q0B,GACP,OAAQ,CACV,CACF,EACM+iR,EAAMn4H,EAAIjvK,SAChB,GAAIkpwB,EAAc+wB,EAAOoY,YAAcp0iB,GAASg8hB,GAAS,CACvD,IAAMoY,EAAWlY,GAAOF,GACxB,GAAIoY,EAAStpF,SACX,OAAOspF,EAASnpzB,IAAI,SAAAy6C,GAAC,OAAIqnxB,GAAc/wB,EAAQ,CAACt2vB,IAAI,EAAE,GAAEulrB,MAAM9hb,EAAI0gJ,cAEtE,CACA,IACE,IAAMrqL,EAAY82iB,IACd92iB,IAAcq6gB,GAAiBr6gB,EAAUi2a,cAEzCtrQ,EADE3qK,EAAUyjb,WAAa,EACnBzjb,EAAUivd,WAAW,GAErBtlb,EAAI0gJ,cAEZ1f,EAAM4iZ,GAAc/wB,EAAQ,CAAC7xX,IAAM,GAEvC,CAAE,MAAO/jZ,GAAK,CAId,GAHK+jZ,IACHA,EAAMhhI,EAAI0gJ,eAER+wV,GAAazwW,EAAI4jT,iBAAmB5jT,EAAIptL,UAAW,CACrD,IAAMzxO,EAAM2vb,EAAIy5V,UAChBvqX,EAAIihB,SAAS9/a,EAAK,GAClB6+Z,EAAIkhB,OAAO//a,EAAK,EAClB,CASA,OARIml1B,GAAiBC,IACsD,IAArEE,EAAyBzmb,EAAI8mb,eAAgB9mb,EAAKsmb,IAAyF,IAAjEG,EAAyBzmb,EAAI+mb,WAAY/mb,EAAKsmb,GAC1Htmb,EAAMumb,GAEND,EAAgB,KAChBC,EAAgB,OAGbvmb,CACT,EACMu/T,EAAS,SAACv/T,EAAKq5X,GACnB,GA3GiB,SAAAr5X,GACnB,QAAKA,GAGIomb,GAAgBpmb,EAAI4jT,iBAAmBwiI,GAAgBpmb,EAAI6jT,aAEtE,CAqGSmjI,CAAahnb,GAAlB,CAGA,IAAM3pS,EAAM81qB,IAMZ,GADAnsY,EAJY6xX,EAAO5iyB,SAAS,oBAAqB,CAC/C4zZ,MAAOmd,EACPq5X,YAEQx2Y,MACNxsR,EAAK,CACPkwtB,EAAgBvmb,EAChB,IACE3pS,EAAI+ijB,kBACJ/ijB,EAAIgjjB,SAASr5Q,EACf,CAAE,MAAO/jZ,GAAK,EACE,IAAZo9wB,GAAqBhjqB,EAAIpsI,SAC3BosI,EAAI86R,SAAS6O,EAAI6jT,aAAc7jT,EAAI8jT,WACnCztlB,EAAIpsI,OAAO+1a,EAAI4jT,eAAgB5jT,EAAIghH,cAErCslU,EAAgBjwtB,EAAIyijB,WAAa,EAAIzijB,EAAIiulB,WAAW,GAAK,IAC3D,CACA,IAAKtkT,EAAIptL,WAAaotL,EAAI4jT,iBAAmB5jT,EAAI6jT,eAAiBxtlB,aAAsC,EAAIA,EAAImulB,mBAC1GxkT,EAAI8jT,UAAY9jT,EAAIghH,YAAc,GAChChhH,EAAI4jT,eAAejtc,gBAAiB,CACtC,IAAMx+O,EAAO6nY,EAAI4jT,eAAetxsB,WAAW0tZ,EAAIghH,aAC3C7of,GAA0B,QAAlBA,EAAK6yD,WACfqrC,EAAImulB,iBAAiBxkT,EAAI4jT,eAAgB5jT,EAAIghH,YAAahhH,EAAI6jT,aAAc7jT,EAAI8jT,WAC5EztlB,EAAIi1iB,aAAetrQ,EAAI4jT,gBAAkBvtlB,EAAIo1iB,YAAczrQ,EAAI6jT,cACjExtlB,EAAImulB,iBAAiBrsrB,EAAM,EAAGA,EAAM,GAG1C,CAGJ05vB,EAAO5iyB,SAAS,yBAA0B,CACxC4zZ,MAAOmd,EACPq5X,WAlCF,CAoCF,EAOMC,EAAY,WAChB,IAAMjjqB,EAAM81qB,IACN7gI,EAAaj1iB,aAAsC,EAAIA,EAAIi1iB,WAC3DG,EAAYp1iB,aAAsC,EAAIA,EAAIo1iB,UAChE,IAAKp1iB,IAAQi1iB,IAAeG,GAAaikG,GAAiBpkG,IAAeokG,GAAiBjkG,GACxF,OAAO,EAET,IAAMw7K,EAAcn2Z,EAAI46V,YAClBw7D,EAAap2Z,EAAI46V,YACvB,IACEu7D,EAAYhma,SAASqqP,EAAYj1iB,EAAIm1iB,cACrCy7K,EAAY91b,UAAS,GACrB+1b,EAAWjma,SAASwqP,EAAWp1iB,EAAIq1iB,aACnCw7K,EAAW/1b,UAAS,EACtB,CAAE,MAAO5ib,GACP,OAAO,CACT,CACA,OAAO042B,EAAYJ,sBAAsBI,EAAYH,eAAgBI,IAAe,CACtF,EAgDMrj0B,EAAU,CACdita,MACAjqR,MACAtuL,aACAs5yB,SACA6d,OARa,WAAH,IAAI/3zB,EAAOhE,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CACxBjC,KAAM,QACP,OAAK6tvB,EAAOF,GAAWvuS,GAAK4+W,OAAO82C,IAAY7u2B,GAAU,EAOxDw5a,WACAkyZ,kBApNwB,SAAClrxB,EAAMhlC,GAC/B,IAAM6sa,EAAM8wB,EAAI46V,YACZ5qB,EAAc3ouB,IAAS2ouB,EAAc3twB,IACvC6sa,EAAIihB,SAAS9oZ,EAAMhlC,GACnB6sa,EAAIkhB,OAAO/oZ,EAAMhlC,GACjBosuB,EAAOv/T,GACP7O,GAAS,KAETw7Y,GAAa77W,EAAK9wB,EAAK6xX,EAAO50D,WAAW,GACzCsC,EAAOv/T,GAEX,EA0MEpuJ,WAzMiB,SAAAlsR,GAAI,OAAI++1B,GAAa5yD,EAAQnsyB,EAAM,EA0MpD2quB,aACA6O,YAvMkB,SAACxtvB,EAAMmwH,GAAU,OAAKslvB,EAAgBjoH,YAAYxtvB,EAAMmwH,EAAY,EAwMtFy8nB,eAvMqB,SAAA2rE,GAAQ,OAAIk9C,EAAgB7oH,eAAe2rE,EAAU,EAwM1En2xB,OAvMe,SAACqkB,EAAM3hC,GAEtB,OA1zNW,SAACs6b,EAAK34Z,EAAM3hC,GAAO,OAAKkrwB,EAASxquB,KAAKiB,GAAMme,KAAK,SAAAne,GAAI,OAAIupuB,EAASxquB,KAAKiB,EAAKuxD,YAAY5oG,IAAI,SAAA+2C,GACzG,IAAM2a,EAAMs+Y,EAAIlzB,UAAUzlY,GACpB6nY,EAAM8wB,EAAI46V,YAOhB,OANA1rX,EAAIihB,SAASppZ,EAAQ2a,GACrBwtX,EAAIkhB,OAAOrpZ,EAAQ2a,EAAM,GACrBh8C,IACFm2yB,GAAa77W,EAAK9wB,EAAK7nY,GAAM,GAC7Bw0wB,GAAa77W,EAAK9wB,EAAK7nY,GAAM,IAExB6nY,CACT,EAAE,EAAE,CA+yNAlsZ,CAAOg9a,EAAK34Z,EAAM3hC,GAAS82C,KAAKiyrB,GACzBpnsB,CACT,EAqME0ksB,YApMkB,WAClB,IAAM78T,EAAMwmb,IACVnwtB,EAAM81qB,IACR,SAAKnsY,GAAOA,EAAIx/Z,QAGZw/Z,EAAIonb,iBAC6C,IAA5Cpnb,EAAIonb,iBAAiB,aAAcpnb,IAEpC3pS,GAAO2pS,EAAIptL,UACrB,EA2LEq7iB,WA1LiB,WACjB,IAAMjuX,EAAMwmb,IACNa,EAAuBx1D,EAAO50D,UAAU1xoB,iBAAiB,2BAC/D,OAAI87vB,EAAqBl32B,OAAS,EACzB41uB,GAAOshI,EAAsB,SAAA930B,GAAE,OAAIuhb,EAAIm9V,WAAW1+wB,EAAGuoH,cAAc,GAEnE0qrB,GAAgB1xX,EAAK9wB,EAEhC,EAmLEs5X,YACAguD,QAxFc,SAAAnm1B,GAEd,OADAkvtB,EAAWv/R,EAAIu8V,aAAalsxB,IACrBA,CACT,EAsFE2ltB,QArFgB,WAAH,OAz+ND,SAAChtpB,EAAMkmW,GACrB,IAAKA,EACH,OAAOlmW,EAET,IAAI8ppB,EAAiB5jT,EAAI4jT,eACrBC,EAAe7jT,EAAI6jT,aACjB7iM,EAAchhH,EAAIghH,YAClB8iM,EAAY9jT,EAAI8jT,UAClB3rrB,EAAO6nY,EAAI6oT,wBACV7oT,EAAIptL,YACHgxe,IAAmBC,GACjBC,EAAY9iM,EAAc,GACxB4iM,EAAejtc,kBACjBx+O,EAAOyrrB,EAAetxsB,WAAW0ugB,IAInCsvP,GAAS1sD,IAAmB0sD,GAASzsD,KAErCD,EADEA,EAAezzuB,SAAW6wiB,EACX2hS,GAAmB/+F,EAAeltX,aAAa,GAE/CktX,EAAel6nB,WAGhCm6nB,EADgB,IAAdC,EACa6+F,GAAmB9+F,EAAahnT,iBAAiB,GAEjDgnT,EAAan6nB,WAE1Bk6nB,GAAkBA,IAAmBC,IACvC1rrB,EAAOyrrB,KAIb,IAAMzitB,EAAMmvwB,GAASn4uB,GAAQA,EAAKuxD,WAAavxD,EAC/C,OAAOy3uB,GAAczuwB,GAAOA,EAAM24D,CACpC,CAs8N0BgtpB,CAAQ+qE,EAAO50D,UAAWupH,IAAY,EAsF5Dr6C,SACA5sE,SACAwyD,OAAQy0D,EACRtiI,SApNiB,SAAAj8U,GAAI,OAAIi8U,GAAS2tE,EAAO50D,UAAWupH,IAAYv+c,EAAM,EAqNtEywa,OApNa,SAAAzwa,GAAI,OAAIy6a,GAAS7wB,EAAO50D,UAAWupH,IAAYv+c,EAAM,EAqNlEi4b,kBA1F0B,SAACznB,EAAU8uC,GAAM,OAt8NrB,SAACz2Z,EAAK9wB,EAAKy4Y,EAAU8uC,GAC7C,IAAMC,EAAiB,GACjB1txB,EAAOg3X,EAAIy5V,UACXvkyB,EAAQ8qc,EAAIlqI,UAAU6xf,GAAYv0F,GAASpqpB,EAAMkmW,EAAKA,EAAIptL,WAAYk+M,EAAIwmV,SAC1ErxxB,EAAM6qc,EAAIlqI,UAAU2giB,GAAU7kC,GAAS5ovB,EAAMkmW,EAAKA,EAAIptL,WAAYk+M,EAAIwmV,SAI5E,GAHItxxB,GAASA,IAAU8zE,GACrB0txB,EAAe/x2B,KAAKuQ,GAElBA,GAASC,GAAOD,IAAUC,EAG5B,IAFA,IAAIkyC,EACE69uB,EAAS,IAAI9G,GAAclpxB,EAAO8zE,IAChC3hC,EAAO69uB,EAAOj4xB,SAAWo6C,IAASlyC,GACpC6qc,EAAIwmV,QAAQn/uB,IACdqvzB,EAAe/x2B,KAAK0iD,GAO1B,OAHIlyC,GAAOD,IAAUC,GAAOA,IAAQ6zE,GAClC0txB,EAAe/x2B,KAAKwQ,GAEfuh2B,CACT,CAi7NoDtnB,CAAkBpvY,EAAK01Z,IAAY/tC,EAAU8uC,EAAQ,EA2FrG71gB,UAvEgB,WAChB,IAAMsuF,EAAMwmb,IACNnwtB,EAAM81qB,IACZ,KA1zSKP,GA0zSkBv1qB,GA1zSKlmJ,OAAS,IA0zSNy8zB,GAAa/a,GAAS,CACnD,IAAMqqB,EAAUD,GAAYnrX,EAAK9wB,GAIjC,OAHAk8Y,EAAQ5uwB,KAAK,SAAA4uwB,GACX38E,EAAO28E,EAAS5iB,IAClB,GACO4iB,EAAQp7F,MAAM9gT,EACvB,CACA,OAAOA,CACT,EA6DEynb,gBA5DsB,SAACx9uB,EAAUh5H,GAEjC,OADAi12B,EAA0Bj8uB,EAAUh5H,GAC7B4yC,CACT,EA0DEqi0B,4BACAwB,mBA1DyB,WAGzB,IAFA,IAAIptU,EACAnif,EAAO24Z,EAAIy5V,UACRpyvB,GAA0B,SAAlBA,EAAK6yD,UAAqB,CACvC,GAAI7yD,EAAKuvL,aAAevvL,EAAKpgC,aAAc,CACzCuihB,EAAkBnif,EAClB,KACF,CACAA,EAAOA,EAAKuxD,UACd,CACA,OAAO4wb,CACT,EAgDE3yR,eA/CqB,SAACxmP,EAAKstwB,GACvB3N,EAAc3/vB,GA73OQ,SAAC0wxB,EAAQtpsB,EAASkmrB,IAC7BojB,EAAO7hpB,OAASwuqB,GAAoBE,IAC5C7sB,EAAQtpsB,EAASkmrB,EAC5B,CA23OMk5E,CAAsB91D,EAAQ1wxB,EAAKstwB,GAEnCkwC,GAAoB9sB,EAAQ20D,IAAY/3E,EAE5C,EA0CEm5E,aAzCmB,SAAC/01B,EAASC,GAAO,OAAKysuB,EAAOne,GAAUvutB,EAASC,EAAS++xB,EAAOzyD,UAAW,EA0C9FhxuB,sBAzC4B,WAC5B,IAAM4xa,EAAMwmb,IACZ,OAAOxmb,EAAIptL,UAAYwkjB,GAAcC,eAAer3X,GAAK4f,iBAAiB,GAAK5f,EAAI5xa,uBACrF,EAuCEgwI,QAtCc,WACdyoC,EAAMy/qB,EAAgBC,EAAgB,KACtCsB,EAAiBzptB,SACnB,GAqCM+otB,EAAkBrzC,GAAgBjwxB,GAClCgk0B,EAAmBpyC,GAAiB5xxB,EAASguwB,GAGnD,OAFAhuwB,EAAQsj0B,gBAAkBA,EAC1Btj0B,EAAQgk0B,iBAAmBA,EACpBhk0B,CACT,EAqLMqS,GAAY,SAAC27vB,EAAQ15vB,EAAMzyC,GAC/B,OAJsB,SAACmsyB,EAAQnsyB,GAC/B,OAAOo7wB,EAAc+wB,IAAWA,EAAO70D,kBAAkB,gBAAkBt3uB,EAAKw10B,SAClF,CAES4sB,CAAgBj2D,EAAQnsyB,GA/BZ,SAACmsyB,EAAQ15vB,EAAMzyC,GAClC,IAAIqi2B,EACEj3Z,EAAM+gW,EAAO/gW,IACfk3Z,EAAa7vzB,EAAKy+O,WAAU,GAC1BsnG,EAAOtmX,SAASkwb,eACtB,GAAI5pE,EAAK6pE,mBAAoB,CAC3B,IAAM/oJ,EAAMk/E,EAAK6pE,mBAAmB,IACpC8/U,GAAMv6tB,KAA6B,SAAxB06yB,EAAWh9vB,SAAsBg9vB,EAAW110B,WAAa,CAAC010B,GAAa,SAAA7vzB,GAChF6mQ,EAAIx0P,KAAKpf,YAAY4zQ,EAAI4sb,WAAWzzrB,GAAM,GAC5C,GAEE6vzB,EAD0B,SAAxBA,EAAWh9vB,SACAg0M,EAAIx0P,KAAKm9F,WAETq3J,EAAIx0P,KAEnBu9yB,EAASj3Z,EAAI9xJ,IACb8xJ,EAAI9xJ,IAAMA,CACZ,CAQA,OArwRqB,SAAC6yf,EAAQnsyB,GAASmsyB,EAAO5iyB,SAAS,aAAcvJ,EAAM,CA8vR3Eui2B,CAAep2D,EAAM30yB,EAAA,GAChBwI,EAAK,CACRyyC,KAAM6vzB,KAEJD,IACFj3Z,EAAI9xJ,IAAM+ojB,GAELC,CACT,CAKyCE,CAAar2D,EAAQ15vB,EAAMzyC,GAAQyyC,CAC5E,EAEMg7vB,GAAc,SAAC22C,EAAY5lB,EAAW110B,IACF,IAApCq5xB,GAAMnzb,QAAQwve,EAAW110B,KAC3Bs71B,EAAW12C,mBAAmB5kzB,EAAM,SAACq8G,EAAOr8G,GAE1C,IADA,IAAIkC,EAAIm6G,EAAM16G,OACPO,KACLm6G,EAAMn6G,GAAGoxE,KAAKtzE,EAAM,KAExB,GACA010B,EAAUzu0B,KAAKjH,GAEnB,EA6BM252B,GAAS,SAACt2D,EAAQttO,EAAUxvjB,EAAQyuK,EAAU99K,GAClD,IAAM8Q,EALc,SAAC+tjB,EAAUxvjB,EAAQojC,GAEvC,OADuBkuxB,GAAe9hQ,EAAUxvjB,GAC1BhkB,UAAUonD,EAClC,CAEkBiwzB,CAAc7jS,EAAUxvjB,EAAQyuK,GAChD,OA9BkB,SAACqunB,EAAQnsyB,EAAM8Q,GACjC,IAAK9Q,EAAKw10B,WAAarpC,EAAQ,CAC7B,IAAMw2D,EA1xRc,SAACx2D,EAAQnsyB,GAAI,OAAKmsyB,EAAO5iyB,SAAS,cAAevJ,EAAM,CA0xR3D4i2B,CAAgBz2D,EAAM30yB,EAAA,GACjCwI,EAAK,CACR8Q,aAEF,OAAO6x1B,EAAQ7x1B,OACjB,CACE,OAAOA,CAEX,CAoBS+x1B,CAAY12D,EAAQnsyB,EAAM8Q,EACnC,EACMgy1B,GAAoB,SAACjkS,EAAUstO,GACnC,IAAMqyB,EAAY,CAAC,qBACb8zB,EAAiB961B,EAAA,CACrB+o0B,gBAAiB,QACjB8lB,qBAAqB,EACrBvV,mBAAmB,GAChBjyQ,GAECzzH,EAAM+gW,GAAUA,EAAO/gW,IAAM+gW,EAAO/gW,IAAM84V,GAASoD,IACnDj4xB,EAAS88xB,GAAUA,EAAO98xB,OAAS88xB,EAAO98xB,OAASuqxB,GAAO04D,GAC1DlO,EAAa5sG,GAAU86G,EAAmBjj1B,IA5O/B,SAAC+00B,EAAYvlR,EAAUzzH,GACxCg5Y,EAAW12C,mBAAmB,oBAAqB,SAACvosB,EAAOr8G,GAEzD,IADA,IAAIkC,EAAIm6G,EAAM16G,OACPO,KAAK,CACV,IAAMynD,EAAO0yD,EAAMn6G,GACnBynD,EAAK2pB,KAAK,WAAY3pB,EAAK2pB,KAAK,sBAChC3pB,EAAK2pB,KAAKtzE,EAAM,KAClB,CACF,GACAs71B,EAAW12C,mBAAmB,iBAAkB,SAACvosB,EAAOr8G,GAKtD,IAJA,IAAM+7Q,EAAe,YAAc/7Q,EAC7B82yB,EAAe/gO,EAASghO,cACxBC,EAAoBjhO,EAASkhO,oBAC/B/0yB,EAAIm6G,EAAM16G,OACPO,KAAK,CACV,IAAMynD,EAAO0yD,EAAMn6G,GACfM,EAAQmnD,EAAK2pB,KAAKyoM,QACRlzQ,IAAVrG,GACFmnD,EAAK2pB,KAAKtzE,EAAMwC,EAAMb,OAAS,EAAIa,EAAQ,MAC3CmnD,EAAK2pB,KAAKyoM,EAAc,QAExBv5Q,EAAQmnD,EAAK2pB,KAAKtzE,GACL,UAATA,EACFwC,EAAQ8/c,EAAIi8V,eAAej8V,EAAIg8V,WAAW97yB,GAAQmnD,EAAK3pD,MAC9C82yB,IACTt0yB,EAAQs0yB,EAAan0yB,KAAKq0yB,EAAmBx0yB,EAAOxC,EAAM2pD,EAAK3pD,OAEjE2pD,EAAK2pB,KAAKtzE,EAAMwC,EAAMb,OAAS,EAAIa,EAAQ,MAE/C,CACF,GACA841B,EAAW12C,mBAAmB,QAAS,SAAAvosB,GAErC,IADA,IAAIn6G,EAAIm6G,EAAM16G,OACPO,KAAK,CACV,IAAMynD,EAAO0yD,EAAMn6G,GACfM,EAAQmnD,EAAK2pB,KAAK,SAClB9wE,IACFA,EAAQA,EAAMogB,QAAQ,8BAA+B,IACrD+mC,EAAK2pB,KAAK,QAAS9wE,EAAMb,OAAS,EAAIa,EAAQ,MAElD,CACF,GACA841B,EAAW12C,mBAAmB,gBAAiB,SAACvosB,EAAOr8G,EAAMkX,GAE3D,IADA,IAAIhV,EAAIm6G,EAAM16G,OACPO,KAAK,CACV,IAAMynD,EAAO0yD,EAAMn6G,GACnB,GAAmC,aAA/BynD,EAAK2pB,KAAK,mBAAoCp8D,EAAK2xU,QAAS,CAC9D,IAAMrxE,EAAc07gB,EAASxquB,KAAKiB,EAAKwvG,YAAYqgU,OAAO,SAAArgU,GACxD,IAAIntG,EACJ,OAAQm4uB,GAAqC,QAA3Bn4uB,EAAKmtG,EAAW32J,aAA+B,IAAZwpD,EAAgBA,EAAK,GAC5E,GACIwrN,EACF7tN,EAAK+7c,SAEL/7c,EAAKr9B,QAET,CACF,CACF,GACAgv0B,EAAWP,cAAc,eAAgB,SAAC1+uB,EAAOr8G,GAM/C,IALA,IAAIgsD,EACEmO,EAAO,SAAA33D,GACX,OAAOA,EAAMogB,QAAQ,2BAA4B,MAAMA,QAAQ,qBAAsB,IAAIA,QAAQ,0HAA2H,IAAIA,QAAQ,4GAA6G,GACvV,EACI1gB,EAAIm6G,EAAM16G,OACPO,KAAK,CACV,IAAMynD,EAAO0yD,EAAMn6G,GACbi3J,EAAaxvG,EAAKwvG,WAClB32J,EAA4F,QAAnFwpD,EAAKmtG,aAAoD,EAAIA,EAAW32J,aAA+B,IAAZwpD,EAAgBA,EAAK,GAC/H,GAAa,WAAThsD,EAAmB,CACrB,IAAMkD,EAAOymD,EAAK2pB,KAAK,QACnBpwE,GACFymD,EAAK2pB,KAAK,OAAiB,gBAATpwE,EAAyB,KAAOA,EAAK0f,QAAQ,SAAU,KAE3C,UAA5BmzjB,EAAS4hQ,gBAA8Bx+qB,GAAc32J,EAAMb,OAAS,IACtEw3J,EAAW32J,MAAQ,iBAAmB23D,EAAK33D,GAAS,WAExD,KACkC,UAA5BuzkB,EAAS4hQ,gBAA8Bx+qB,GAAc32J,EAAMb,OAAS,IACtEw3J,EAAW32J,MAAQ,YAAW23D,EAAK33D,GAAS,WAGlD,CACF,GACA841B,EAAWP,cAAc,WAAY,SAAA1+uB,GAEnC,IADA,IAAIn6G,EAAIm6G,EAAM16G,OACPO,KAAK,CACV,IAAMynD,EAAO0yD,EAAMn6G,GACbM,EAAQmnD,EAAKnnD,MACfuzkB,EAASkkS,gBAA+F,KAA5Ez32B,aAA0C,EAAIA,EAAML,QAAQ,aAC1FwnD,EAAK3pD,KAAO,SACZ2pD,EAAKzmD,KAAO,EACZymD,EAAKnnD,MAAQ8/c,EAAIt7Y,OAAOxkE,EAAMogB,QAAQ,oBAAqB,MACkC,KAAnFpgB,aAA0C,EAAIA,EAAML,QAAQ,qBACtEwnD,EAAK3pD,KAAO,QACZ2pD,EAAKzmD,KAAO,EACZymD,EAAK4sa,KAAM,EACX5sa,EAAKnnD,MAAQgxX,SAAShxX,GAAO+wD,OAAO,IAExC,CACF,GACA+nyB,EAAWP,cAAc,sBAAuB,SAAC1+uB,EAAOr8G,GAEtD,IADA,IAAIkC,EAAIm6G,EAAM16G,OACPO,KAAK,CACV,IAAMynD,EAAO0yD,EAAMn6G,GACD,IAAdynD,EAAKzmD,KACPymD,EAAKr9B,SACkB,IAAdq9B,EAAKzmD,OACD,UAATlD,GAAqB2pD,EAAK2pB,KAAK,SACjC3pB,EAAK2pB,KAAK,OAAQ,QAGxB,CACF,GACAgoxB,EAAW12C,mBAAmB,gBAAiB,SAAAvosB,GAC7C03qB,GAAO13qB,EAAO,SAAA1yD,GACuB,iBAA/BA,EAAK2pB,KAAK,mBACR3pB,EAAK5pB,QAAQu7zB,EAAW/00B,OAAO4uxB,uBACjCxrvB,EAAKr9B,SAELq9B,EAAK+7c,SAGX,EACF,GACA41V,EAAW12C,mBAAmB,iJAA4J,SAACvosB,EAAOr8G,GAEhM,IADA,IAAIkC,EAAIm6G,EAAM16G,OACPO,KACLm6G,EAAMn6G,GAAGoxE,KAAKtzE,EAAM,KAExB,GACI+1kB,EAASwnR,qBACXxC,GAAchlR,EAAUulR,EAAYA,EAAW/00B,OAEnD,CAuGE2z1B,CAAW5e,EAAYkO,EAAmBlnZ,GAW1C,MAAO,CACL/7b,SACAw00B,cAAeO,EAAWP,cAC1Bn2C,mBAAoB02C,EAAW12C,mBAC/BrizB,UAdgB,SAAConD,GAA2B,IACtCzyC,EAAIxI,EAAA,CACR+pX,OAAQ,QAFuBtzX,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,GAK/B2vH,EAAaptE,GAAU27vB,EAAQ15vB,EAAMzyC,GACrCi4W,EAvCc,SAACmzF,EAAK34Z,EAAMzyC,GAClC,IAAMi4W,EAAOi1a,GAAOltxB,EAAKg51B,SAAWvmzB,EAAK/b,UAAY00a,EAAIu8V,aAAal1vB,IACtE,OAAOzyC,EAAK2vQ,WAAa68gB,GAAoBxH,GAAavpD,QAAQhprB,IAASwlU,EAAOkqa,GAAMl/tB,KAAKg1T,EAC/F,CAoCiBgrf,CAAgB73Z,EAAKxtV,EAAY59G,GACxC89K,EApCQ,SAACsmqB,EAAYnse,EAAMj4W,GACnC,IAAMu00B,EAAav00B,EAAK2vQ,UAASn4Q,EAAA,CAC/BigvB,mBAAmB,GAChBz3uB,GACDA,EACE89K,EAAWsmqB,EAAW731B,MAAM0rX,EAAMs8d,GAExC,OAjFqB,SAAAz2pB,GACrB,IAAMolrB,EAAO,SAAAzwzB,GACX,MAAmE,QAA3DA,aAAwC,EAAIA,EAAK3pD,KAC3D,EACMq62B,EAAUrlrB,EAASlzE,UACzB,GAAIs4vB,EAAKC,GAAU,CACjB,IAAMC,EAAUD,EAAQ/q2B,KACpB8q2B,EAAKE,KACPD,EAAQ/t1B,SACRgu1B,EAAQhu1B,SAEZ,CACF,CAoEEiu1B,CAAevlrB,GACRA,CACT,CA4BqBwlrB,CAAUlf,EAAYnse,EAAMj4W,GAC7C,MAAuB,SAAhBA,EAAKuhX,OAAoBzjM,EAAW2krB,GAAOt2D,EAAQmmD,EAAmBjj1B,EAAQyuK,EAAU99K,EACjG,EAMEuj2B,SAAUl01B,EAAO6sxB,iBACjBsnE,SAAUn01B,EAAO+sxB,iBACjBqR,YAAaz2P,EAAMy2P,GAAa22C,EAAY5lB,GAC5CuB,aAAcnqR,EAAS4oR,GACvB8W,eAAgB8O,EAAW9O,eAC3BC,oBAAqB6O,EAAW7O,oBAChCid,iBAAkBpO,EAAWoO,iBAC7BC,sBAAuBrO,EAAWqO,sBAEtC,EAEMgR,GAAgB,SAAC5kS,EAAUstO,GAC/B,IAAMu3D,EAAgBZ,GAAkBjkS,EAAUstO,GAClD,MAAO,CACL98xB,OAAQq01B,EAAcr01B,OACtBw00B,cAAe6f,EAAc7f,cAC7Bn2C,mBAAoBg2D,EAAch2D,mBAClCrizB,UAAWq42B,EAAcr42B,UACzBk42B,SAAUG,EAAcH,SACxBC,SAAUE,EAAcF,SACxB/1D,YAAai2D,EAAcj2D,YAC3BsyB,aAAc2jC,EAAc3jC,aAC5BuV,eAAgBouB,EAAcpuB,eAC9BC,oBAAqBmuB,EAAcnuB,oBACnCid,iBAAkBkR,EAAclR,iBAChCC,sBAAuBiR,EAAcjR,sBAEzC,EASMvmkB,GAAa,SAACighB,GAAuB,IAAfnsyB,EAAI/R,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EAE5B8q2B,EARY,SAAC/41B,EAAMuhX,GAAM,OAAA/pX,EAAA,GAC5BwI,EAAK,CACRuhX,SACA9wX,KAAK,EACLuo2B,UAAU,GAAI,CAIQ2K,CAAY3j2B,EADnBA,EAAKuhX,OAASvhX,EAAKuhX,OARZ,QAUtB,OAAOsze,GAAqB1oD,EAAQ4sD,GAAer8H,KAAKjhpB,EAAU,SAAAy9wB,GAChE,IAAMpo1B,EA3tBW,SAACq7xB,EAAQnsyB,GAAI,OAAK6+1B,GAA2B1yD,GAAQA,OAAOjghB,WAAWlsR,EAAM,CA2tB9E4j2B,CAAaz3D,EAAQ+sD,GACrC,OAAOnE,GAAsB5oD,EAAQr7xB,EAASoo1B,EAChD,EACF,EASMvuH,GAAa,SAACwhE,EAAQr7xB,GAAwB,IAC5Cio1B,EAPU,SAAC/41B,EAAM8Q,GAAO,OAAAtZ,EAAA,CAC9B+pX,OAFoB,QAGjBvhX,EAAK,CACRxP,KAAK,EACLsgB,WAAO,CAGe+y1B,CADiB512B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EACL6iB,GACtC,OAAOmk1B,GAAqB9oD,EAAQ4sD,GAAe391B,IAAI,SAAA891B,GACrD,IAAMht2B,EAzuBW,SAACigzB,EAAQr7xB,EAAS9Q,GAAI,OAAK6+1B,GAA2B1yD,GAAQA,OAAOxhE,WAAW75tB,EAAS9Q,EAAM,CAyuBjG8j2B,CAAa33D,EAAQ+sD,EAAYpo1B,QAASoo1B,GAEzD,OADA/D,GAAsBhpD,EAAQjgzB,EAAO+rX,KAAMihf,GACpCht2B,EAAO4kB,OAChB,GAAGsqtB,MAAMtqtB,EACX,EAEMiz1B,GAAiB,ytBAAovBnq0B,MAAM,KAC3wBoq0B,GAAoB,gMAAgMpq0B,MAAM,KAC1Nqq0B,GAAiB,8EAA8Erq0B,MAAM,KACrGsq0B,GAAoB,CAAC,CACzBp72B,KAAM,WACNq72B,aAAc,qBACb,CACDr72B,KAAM,QAEFs72B,GAAqB,SAACny2B,EAASoy2B,GACnC,IAAMC,EAAetnF,GAASqnF,EAAc,SAAA1vV,GAAO,OAAI0pQ,GAAMpsxB,EAAS0ihB,EAAQ,GAC9E,OAAOrjhB,GAAKgz2B,EACd,EACMC,GAAoB,SAAAty2B,GACxB,IAAMqy2B,EAAeF,GAAmBny2B,EAAS8x2B,IAC3C9mB,EAAkBhr1B,EAAQwlvB,kBAIhC,OAHwB,IAApBwlG,GAAiD,KAApBA,GAC/BqnB,EAAav02B,KAAK,kCAEbuB,GAAKgz2B,EACd,EACME,GAAuB,SAAAvy2B,GAAO,OAAImy2B,GAAmBny2B,EAAS+x2B,GAAmB,EACjFS,GAAqB,SAACxy2B,EAASoy2B,GACnC,IAAMjwyB,EAAU+ttB,GAAMC,QAAQnwxB,EAAQmiE,QAAS,KAEzCswyB,EAAc1nF,GAASqnF,EADX,SAAA9tV,GAAM,OAAI8nQ,GAAMjqtB,EAASmid,EAAQ,GAEnD,OAAOjlhB,GAAKoz2B,EACd,EACMC,GAAoB,SAAA1y2B,GAAO,OAAIwy2B,GAAmBxy2B,EAASgy2B,GAAgB,EAC3EW,GAAuB,SAAA3y2B,GAAO,OAAIwy2B,GAAmBxy2B,EAASiy2B,GAAkB9o2B,IAAI,SAAAgE,GAAK,OAAIA,EAAMtW,IAAI,GAAG,EAe1G+72B,GAAuB,SAAA/72B,GAAI,OAAIs0xB,GAAO8mF,GAAmB,SAAA9k2B,GAAK,OAAIA,EAAMtW,OAASA,CAAI,GAAE4zuB,KAAK,kBAAM5zuB,CAAI,EAAE,SAAAsW,GAC5G,OAAIA,EAAM+k2B,aACD,GAAG122B,OAAO3E,EAAM,kBAAkB2E,OAAO2R,EAAM+k2B,cAE/Cr72B,CAEX,EAAG,EAaGg82B,GAAc,SAACC,EAAYC,IAjCN,SAACD,EAAYC,GACtC,IAAMjB,EAAiBQ,GAAkBQ,GACnCd,EAAiBU,GAAkBK,GACnCC,EAAoBhB,EAAex52B,OAAS,EAC5Cy62B,EAAoBnB,EAAet52B,OAAS,EAC5C062B,EAAkD,WAA5BH,EAAkBxnvB,MAC9C,GAAIynvB,GAAqBC,GAAqBC,EAAqB,CACjE,IAAMC,EAAa,OACbC,EAAgBF,EAAsB,cAAc132B,OAAO232B,EAAY,UAAY,GACnFE,EAAiBL,EAAoB,eAAex32B,OAAO232B,GAAY332B,OAAOw22B,EAAelszB,KAAKqtzB,IAAe,GACjHG,EAAiBL,EAAoB,eAAez32B,OAAO232B,GAAY332B,OAAOs22B,EAAehszB,KAAKqtzB,IAAe,GACvHr82B,QAAQyE,KAAK,4QAAmR632B,EAAgBC,EAAiBC,EACnU,CACF,CAqBEC,CAAmBT,EAAYC,GAbH,SAACD,EAAYC,GACzC,IAAMhB,EAAoBQ,GAAqBO,GACzCb,EAAoBU,GAAqBI,GACzCS,EAAuBvB,EAAkBz52B,OAAS,EAClDi72B,EAAuB1B,EAAkBv52B,OAAS,EACxD,GAAIg72B,GAAwBC,EAAsB,CAChD,IAAMN,EAAa,OACbE,EAAiBG,EAAuB,eAAeh42B,OAAO232B,GAAY332B,OAAOy22B,EAAkB9o2B,IAAIyp2B,IAAsB9szB,KAAKqtzB,IAAe,GACjJG,EAAiBG,EAAuB,eAAej42B,OAAO232B,GAAY332B,OAAOu22B,EAAkBjszB,KAAKqtzB,IAAe,GAC7Hr82B,QAAQyE,KAAK,oFAAsF832B,EAAiBC,EACtH,CACF,CAGEI,CAAsBZ,EAAYC,EACpC,EAEMY,GAAQ1hE,GAASoD,IAIjBu+D,GAAc,SAAA9k2B,GAAC,OAAIi7wB,EAASxquB,KAAKzwC,GAAG6mD,KAAK,SAAA7mD,GAAC,OAAIA,EAAE23I,SAAS,EAAE,EAsB3DottB,GAAW,SAAA35D,GACf,IAAKA,EAAOhjU,QAAS,CACnB,IACE4rW,EAEE5oC,EAFF4oC,oBACA38F,EACE+zD,EADF/zD,aAEItzrB,EAAOqnvB,EAAO50D,UACd10oB,EAAUspsB,EAAO/moB,aACnBtgH,GACFqnvB,EAAO/tL,KAAK,CACV2nP,aAAa,IAGjB55D,EAAOhjU,SAAU,EACjBgjU,EAAO65D,wBACH75D,EAAOiO,gBAAkBh/B,EAAcv4qB,aAA8C,EAAIA,EAAQmuQ,cACnG40f,GAAMxw1B,OAAOytF,EAAQmuQ,aA7/RR,SAAAm7b,GACjBA,EAAO5iyB,SAAS,SAClB,CA6/RI081B,CAAW95D,GACXA,EAAOgvB,cAAc/lzB,OAAO+2xB,IACvBA,EAAO7hpB,QAAUxlG,GA7CI,SAAAqnvB,GAC5By5D,GAAM7+D,SAASoF,EAAOn+xB,GAAI,UAAWm+xB,EAAO+5D,WAC9C,CA4CMC,CAAsBh6D,GA//RT,SAAAA,GACjBA,EAAO5iyB,SAAS,SAClB,CA+/RI681B,CAAWj6D,GACXy5D,GAAMxw1B,OAAO+2xB,EAAO/3Q,gBACpByxU,GAAY9wB,GACZ8wB,GAAYztH,GACZ+zD,EAAOzzpB,SACT,CACF,EACMA,GAAU,SAACyzpB,EAAQk6D,GACvB,IACE12lB,EAEEw8hB,EAFFx8hB,UACAy7L,EACE+gW,EADF/gW,IAEE+gW,EAAOvxL,YAGNyrP,GAAcl6D,EAAOhjU,SAIrBk9X,IACHl6D,EAAOgvB,cAAclqvB,IAAI,eAAgBk7tB,EAAOm6D,eAC5Cn6D,EAAO3urB,OAAS2urB,EAAO3urB,MAAMk7B,SAC/ByzpB,EAAO3urB,MAAMk7B,UAEfmttB,GAAYl2lB,GACZk2lB,GAAYz6Z,IA1DI,SAAA+gW,GAClB,IAAMt/W,EAAOs/W,EAAO6+C,YAChBn+Z,IACEA,EAAK05a,gBACP15a,EAAK8K,OAAS9K,EAAK05a,qBACZ15a,EAAK05a,eAEdX,GAAMtoI,OAAOzwS,EAAM,eAAgBs/W,EAAOq6D,mBAE9C,CAmDEC,CAAYt6D,GAvEa,SAAAA,GACzB,IAAMrrH,EAAKqrH,EACXrrH,EAAG4lL,qBAAuB5lL,EAAGkqK,YAAclqK,EAAG56lB,UAAY46lB,EAAG6lL,gBAAkB,KAC/E7lL,EAAG8lL,YAAc9lL,EAAG/1c,gBAAkB+1c,EAAGl7oB,cAAgB,KACzDk7oB,EAAGo7I,cAAgBp7I,EAAGmxI,UAAY,KAClC,IAAMtijB,EAAYw8hB,EAAOx8hB,UACzB,GAAIA,EAAW,CACb,IAAMy7L,EAAMz7L,EAAUy7L,IACtB01O,EAAGnxa,UAAYA,EAAUxuF,IAAMwuF,EAAUy7L,IAAMA,EAAI9xJ,IAAM,IAC3D,CACF,CA8DEutjB,CAAmB16D,GACnBA,EAAOvxL,WAAY,GAbjBuxL,EAAO/2xB,SAcX,EAuBM0x1B,GArBoB,WACxB,IAAMhvzB,EAAS,CAAC,EAchB,MAAO,CACLr+C,IAdU,SAACuU,EAAI+41B,GACfjvzB,EAAO9pC,GAAM+41B,CACf,EAaEt22B,IAZU,SAAAud,GACV,OAAI8pC,EAAO9pC,GACF8pC,EAAO9pC,GAEP,CACLq9P,MAAO,CAAC,EAGd,EAKE96Q,IAJU,SAAAyd,GAAE,OAAIqwwB,GAAMvmuB,EAAQ9pC,EAAI,EAMtC,CACoBg51B,GAEd37D,GAAeX,GAAaW,aAE5B7mN,GAAU,SAACvoe,EAAUxgG,GAEzB,OADeA,EAAI2vb,IACLnvV,EAChB,EACMgrvB,GAAsB,SAAChrvB,EAAUxgG,GAAG,OAAKiN,SAASy+vB,GAAM1rwB,EAAKwgG,GAAW,GAAI,EAC5EirvB,GAAiBlwT,EAAMwtC,GAAS,eAChC2iR,GAAkBnwT,EAAMwtC,GAAS,gBACjC4iR,GAAepwT,EAAMiwT,GAAqB,cAC1CI,GAAgBrwT,EAAMiwT,GAAqB,eAkB3CK,GAAoB,SAACn7D,EAAQh/xB,EAASC,GAC1C,IAnyhBsBy1F,EAmyhBhB0kwB,EAAUviF,GAAavpD,QAAQ0wE,EAAO50D,WACtC06E,EAAY9lB,EAAO7hpB,OAASi9sB,GApyhBZ1kwB,EAoyhBsC0kwB,EApyhB3BviF,GAAavpD,QAAQ4pD,GAAgBxirB,GAASuoW,IAAIj5b,kBAqyhB7Eq11B,EAdU,SAACl9sB,EAAQ7uI,EAAKtO,EAASC,GACvC,IAAM0xgB,EAPsB,SAAArjgB,GAAG,OAAIA,EAAI2vb,IAAI1ic,uBAAwB,CAOhDA,CAAsB+S,GAKzC,MAAO,CACL1a,EAHQoM,GAFKm9I,EAASw0X,EAAW72gB,KAAOwT,EAAI2vb,IAAIgoV,WAAai0E,GAAc5r1B,GAAO,GAMlFza,EAHQoM,GAFKk9I,EAASw0X,EAAW32gB,IAAMsT,EAAI2vb,IAAIioV,UAAY+zE,GAAa3r1B,GAAO,GAOnF,CAI0Bgs1B,CAAUt7D,EAAO7hpB,OAAQ2nqB,EAAW9kzB,EAASC,GACrE,OApBiC,SAACm61B,EAASp61B,EAASC,GACpD,IAAMgF,EAAc801B,GAAeK,GAC7Bl11B,EAAe801B,GAAgBI,GACrC,OAAOp61B,GAAW,GAAKC,GAAW,GAAKD,GAAWiF,GAAehF,GAAWiF,CAC9E,CAgBSq11B,CAA2Bz1C,EAAWu1C,EAAgBzm2B,EAAGym2B,EAAgBxm2B,EAClF,EAEM2m2B,GAAwB,SAAAx7D,GAC5B,IAFkB15vB,EAEZm1zB,EAAez7D,EAAO7hpB,OAAS6hpB,EAAO50D,UAAY40D,EAAO07D,0BAC/D,OAHkBp1zB,EAGCm1zB,EAHO5rF,EAASxquB,KAAKiB,GAAMr3C,IAAI4pxB,GAAavpD,UAG9BrguB,IAAI+qxB,IAAQ/qD,OAAM,EACrD,EAaM0sI,GAAsB,SAAA37D,GAC1B,IAAMr4F,EAAgB,GAChBi0J,EAAoB,WACxB,IAbIC,EAaExqvB,EAAQ2urB,EAAO3urB,MACrB,OAAOA,GAASA,EAAMyqvB,2BAA6BzqvB,EAAMyqvB,6BAXpD,CACLvz2B,KAJIsz2B,EAAgB,WACpB,MAAM,IAAIr82B,MAAM,8DAClB,EAGE6rB,MAAOww1B,EACPE,QAASF,EASX,EACMG,EAAqB,WACzB,OAAOnsF,EAASxquB,KAAKsiqB,EAAc,GACrC,EAIM6rG,EAAa,WACjB9iC,GAAO/oE,EAAe,SAAAF,GACpBA,EAAa+rG,YACf,EACF,EAIMyoD,EAAoB,SAAAx0J,GACxBypE,GAAYvpE,EAAe,SAAAu0J,GACzB,OAAOA,IAAsBz0J,CAC/B,GAAGhspB,KAAK,SAAAvxD,GACNy9sB,EAAc/orB,OAAO10B,EAAO,EAC9B,EACF,EACM3B,EAAO,SAAC+2E,GAA4B,IAAtBgpxB,IAASxm2B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,KAAAA,UAAA,GAC3B,OAAIk+yB,EAAOhjU,UAAYw+X,GAAsBx7D,GACpC,CAAC,GAENsoD,GACFtoD,EAAO5iyB,SAAS,yBAA0B,CACxCqqsB,aAAcnooB,IAGX2xsB,GAAOtpE,EAAe,SAAAF,GAC3B,OA5BaritB,EA4BEw22B,IAAoBG,QAAQt0J,GA5B3BpitB,EA4B0Ci6E,IA3BrDl6E,EAAEvF,OAASwF,EAAExF,MAAQuF,EAAEqvB,OAASpvB,EAAEovB,MAASrvB,EAAE+22B,aAAgB/22B,EAAEkpE,SAAYjpE,EAAE822B,aAAgB922B,EAAEipE,SADxF,IAAClpE,EAAGC,CA6BlB,GAAGqtuB,WAAW,WACZstE,EAAOgvB,cAAcG,UAAUnvB,GAC/B,IAAMv4F,EAAem0J,IAAoBrz2B,KAAK+2E,EAAM,WAClD28xB,EAAkBx0J,GAClB+rG,IACIyc,GAAmBjwB,IACrBg8D,IAAqBzrI,KAAK,kBAAMyvE,EAAOr/wB,OAAO,EAAE,SAAA3kB,GAAG,OAAI+wzB,GAAQl0C,GAAavpD,QAAQtztB,EAAIog2B,SAAS,EAErG,GAQA,OArCoB,SAAA30J,GACtBE,EAAc/jtB,KAAK6jtB,EACrB,CA4BI40J,CAAgB50J,GAChB+rG,IACAxT,EAAO5iyB,SAAS,mBAAoB,CAClCqqsB,aAAYp8sB,EAAA,GACPo8sB,KAGAA,CACT,GACF,EAQM60J,EAAmB7yT,EAASk+J,GAuBlC,OAtBuB,SAAAq4F,GACrBA,EAAOlnuB,GAAG,aAAc,WACtB,IAAMyjyB,EAAiBlvD,GAAkBrN,GACrCu8D,GACFh02B,EAAK,CACHksB,KAAM8n1B,EACN182B,KAAM,UACNyuE,QAAS,IACR,GAELklvB,GACF,GACAxT,EAAOlnuB,GAAG,4CAA6C,WACrD5xD,sBAAsBssyB,EACxB,GACAxT,EAAOlnuB,GAAG,SAAU,WAClB43sB,GAAO/oE,EAAcjzsB,QAAS,SAAA+ysB,GAC5Bm0J,IAAoBvw1B,MAAMo8rB,EAC5B,EACF,EACF,CACA+0J,CAAex8D,GACR,CACLz3yB,OACA8iB,MAhCY,WACZ2w1B,IAAqBvgzB,KAAK,SAAAgspB,GACxBm0J,IAAoBvw1B,MAAMo8rB,GAC1Bw0J,EAAkBx0J,GAClB+rG,GACF,EACF,EA2BE8oD,mBAEJ,EAEM7wH,GAAgB8yD,GAAa9yD,cAE7BwzD,GAAeV,GAAaU,aAe5Bw9D,GAAgB,SAAAz8D,GACpB,IAAI08D,EAAU,GACRd,EAAoB,WACxB,IAfIC,EAeExqvB,EAAQ2urB,EAAO3urB,MACrB,OAAOA,GAASA,EAAMsrvB,qBAAuBtrvB,EAAMsrvB,uBAb9C,CACLp02B,KAJIsz2B,EAAgB,WACpB,MAAM,IAAIr82B,MAAM,wDAClB,EAGEo92B,QAASf,EACT9+mB,MAAO8+mB,EACPgB,QAAShB,EACTxw1B,MAAOww1B,EAST,EACMiB,EAAW,SAACrxiB,EAAOxmU,GACvB,OAAO,WAAc,IAAD,IAAA832B,EAAAj72B,UAAAxD,OAATuV,EAAI,IAAAU,MAAAwo2B,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJnp2B,EAAImp2B,GAAAl72B,UAAAk72B,GACb,OAAO/32B,EAAIA,EAAE6C,MAAM2jU,EAAO53T,QAAQrO,CACpC,CACF,EAWMy32B,EAAY,SAAAnhe,GAChB4ge,EAAQ942B,KAAKk4Y,GAXO,SAAAA,GACpBkka,EAAO5iyB,SAAS,aAAc,CAC5B0+X,UAEJ,CAQEohe,CAAcphe,EAChB,EACMqhe,EAAc,SAAArhe,IATG,SAAAA,GACrBkka,EAAO5iyB,SAAS,cAAe,CAC7B0+X,UAEJ,CAMEshe,CAAethe,GAIQ,KAHvB4ge,EAAU7rF,GAAS6rF,EAAS,SAAAW,GAC1B,OAAOA,IAAgBvhe,CACzB,IACYx9Y,QACV0hzB,EAAOr/wB,OAEX,EAIM280B,EAA8B,SAAAC,GAClCv9D,EAAOgvB,cAAcG,UAAUnvB,GAC/BztwB,GAAMytwB,GACNA,EAAO5/X,GAAG9yI,OACV,IAAMwuG,EAASyhe,IAEf,OADAN,EAAUnhe,GACHA,CACT,EA0BA,OALAkka,EAAOlnuB,GAAG,SAAU,WAClB43sB,GAAOgsF,EAAS,SAAA5ge,GACd8/d,IAAoBvw1B,MAAMywX,EAC5B,EACF,GACO,CACLvzY,KA1BW,SAACsL,EAAMyqE,GAClB,OAAOg/xB,EAA4B,kBAAM1B,IAAoBrz2B,KAAKsL,EAAMyqE,EAAQ6+xB,EAAY,EAC9F,EAyBEP,QAxBc,SAAA/o2B,GACd,OAAOyp2B,EAA4B,kBAAM1B,IAAoBgB,QAAQ/o2B,EAAMsp2B,EAAY,EACzF,EAuBEpgnB,MAtBY,SAACtzP,EAASrK,EAAUqsU,GAChC,IAAM+xiB,EAAoB5B,IAC1B4B,EAAkBzgnB,MAAMtzP,EAASqz2B,EAASrxiB,GAAgB+xiB,EAAmBp+2B,GAC/E,EAoBEy92B,QAnBc,SAACpz2B,EAASrK,EAAUqsU,GAClC,IAAM+xiB,EAAoB5B,IAC1B4B,EAAkBX,QAAQpz2B,EAASqz2B,EAASrxiB,GAAgB+xiB,EAAmBp+2B,GACjF,EAiBEisB,MAhBY,WAxBLwkwB,EAASxquB,KAAKq3zB,EAAQA,EAAQp+2B,OAAS,IAyB/Bm9D,KAAK,SAAAqgV,GAClB8/d,IAAoBvw1B,MAAMywX,GAC1Bqhe,EAAYrhe,EACd,EACF,EAaF,EAEM2he,GAAsB,SAACz9D,EAAQv2yB,GACnCu2yB,EAAOhzD,oBAAoBzkvB,KAAK,CAC9B1I,KAAM,QACN40B,KAAMhrB,GAEV,EACMi02B,GAAe,SAAC19D,EAAQv2yB,GACxBu2yB,EAAO29D,YACTF,GAAoBz9D,EAAQv2yB,GAE5Bu2yB,EAAOlnuB,GAAG,aAAc,WACtB2kyB,GAAoBz9D,EAAQv2yB,EAC9B,EAEJ,EAIM2kE,GAAW,SAAC4xuB,EAAQr2wB,EAAW67B,GACnC48vB,GAAUpiB,EAAQr2wB,EAAW,CAC3BlgC,QAAS+7D,IAEX5oE,QAAQC,MAAM2oE,EAChB,EACMo4yB,GAAkB,SAAC/92B,EAAM60B,EAAK/3B,GAAI,OAAKA,EAAO,kBAAkB2E,OAAOzB,EAAM,MAAMyB,OAAO3E,EAAM,cAAc2E,OAAOozB,GAAO,kBAAkBpzB,OAAOzB,EAAM,UAAUyB,OAAOozB,EAAK,EAwBjLmp1B,GAAY,SAACp02B,GACjB,IAAM7M,EAAU6E,OAAO7E,QACvB,GAAIA,EAAS,CAAC,IAAD,IAAAkh3B,EAAAh82B,UAAAxD,OAFgBsW,EAAC,IAAAL,MAAAup2B,EAAA,EAAAA,EAAA,KAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAADnp2B,EAACmp2B,EAAA,GAAAj82B,UAAAi82B,GAGxBnh3B,EAAQC,MACVD,EAAQC,MAAKiL,MAAblL,EAAO,CAAO6M,GAAOnI,OAAKsT,IAE1BhY,EAAQkwD,IAAGhlD,MAAXlL,EAAO,CAAK6M,GAAOnI,OAAKsT,GAE5B,CACF,EAGMop2B,GAA4B,SAAAtp1B,GAAG,MAAI,WAAaA,EAAM,cAAe,EAQrEup1B,GAAkB,SAACj+D,EAAQk+D,GAC/B,IAAMC,EAAUn+D,EAAOgvB,cAAczwG,QAAU,iBACzC59lB,EAASq/qB,EAAOgvB,cAAcrusB,OAC9By9uB,EAAiB,UAAU982B,OAAOq/H,EAAQ,QAChD,OAAO8vpB,GAAMytF,EAAU,SAAAxp1B,GACrB,OAZyB,SAAAA,GAAG,OAAIq6sB,QAAQ+b,SAAS1mvB,IAAI452B,GAA0Btp1B,GAAM,CAYjF2p1B,CAAqB3p1B,GAChBA,EAfgB,SAAAA,GAAG,MAAI,iBAAiBn0B,KAAKm0B,EAAK,CAgBhD4p1B,CAAqB5p1B,KAASsrxB,EAAO7hpB,OACvC,GAAG78J,OAAO682B,EAAS,KAAK782B,OAAOozB,EAAK,KAAKpzB,OAAO882B,GAEhDp+D,EAAOu+D,gBAAgBC,WAAW9p1B,EAE7C,EACF,EACM+p1B,GAA+B,SAAAz+D,GACnCA,EAAO0+D,WAAa1+D,EAAO0+D,WAAWp92B,OArBd,SAAA0+yB,GACxB,OAAOi+D,GAAgBj+D,EAAQ4M,GAAc5M,GAC/C,CAmB+C2+D,CAAkB3+D,GAlB1C,SAAAA,GACrB,OAAOi+D,GAAgBj+D,EAAQ8M,GAAW9M,GAC5C,CAgB0E4+D,CAAe5+D,GACzF,EAKM6+D,GAAe,SAACC,EAAc5yH,GAClC,IAAM6yH,EAAiB,CAAC,EAmDxB,MAAO,CACLz+D,QAnDc,SAAChxxB,GAA6B,IAAxBy2E,EAASjkG,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG23W,EAC1BplP,EAASw8pB,GANE,SAAAvhwB,GACnB,OAAOA,EAAM+1B,GAAK/1B,EAAIoR,qBAAqB,QAAU,EACvD,CAI4Bs+0B,CAAa1v1B,GAAM,SAAAuxa,GACzC,IAAMrnZ,EAAMqnZ,EAAIrnZ,IAChB,OAAIqnZ,EAAIhqV,aAAa,qBAGjBgqV,EAAIhqV,aAAa,6BAGhBr9D,GAAOA,IAAQk8uB,GAAIC,kBAGpBhyxB,GAAW61C,EAAK,UACVsl0B,EAAaG,WAAWzl0B,IAAQusD,EAAU86V,KAEhDl9b,GAAW61C,EAAK,UACXusD,EAAU86V,KAGrB,GACM9xb,EAAW0hxB,GAAMp8pB,EAAQ,SAAAwsU,GAC7B,IAAM98L,EAAW88L,EAAIrnZ,IACrB,GAAI04uB,GAAM6sF,EAAgBh7mB,GACxB,OAAOg7mB,EAAeh7mB,GAAUniQ,KAAK,SAAAs92B,GACnC,OAAIpsyB,EAASosyB,GACJA,EAEA,CACL9umB,MAAOywL,EACPw4Z,SAAU6lB,EAAU7lB,SAG1B,GAEA,IAAM8lB,EAh+HU,SAACjzH,EAAWnof,GAClC,IAAMq7mB,EAAiB,WAAH,OAASz42B,QAAQE,OAAO,mBAAoB,EAChE,GAAIlD,GAAWogQ,EAAU,SAAU,CACjC,IAAMs1lB,EAAWntG,EAAUmzH,SAASt7mB,GACpC,OAAIkrhB,EAAcoqE,GACT1y1B,QAAQC,QAAQyy1B,GAEhBv8I,GAAU/4c,GAAUniQ,KAAK,SAAAyxG,GAC9B,OAAOylvB,GAAczlvB,GAAMzxG,KAAK,SAAAq31B,GAC9B,OAAOD,GAAeC,GAAS,EAAO,SAAAlinB,GACpC,OAAO84iB,EAASpyvB,KAAK27zB,GAAiBltG,EAAW74oB,EAAM0jI,GACzD,GAAG27f,WAAW0sI,EAChB,EACF,EAEJ,CAAO,OAAIz72B,GAAWogQ,EAAU,SACvBw1lB,GAAkBrtG,EAAWnof,GAAUwse,KAAK6uI,EAAgB,SAAA/lB,GAAQ,OAAI1y1B,QAAQC,QAAQyy1B,EAAS,GAEjG1y1B,QAAQE,OAAO,4BAE1B,CA48H2By42B,CAAgBpzH,EAAWnof,GAAUniQ,KAAK,SAAAy31B,GAE3D,cADO0lB,EAAeh7mB,GACf,CACLqM,MAAOywL,EACPw4Z,WAEJ,GAAGxv1B,MAAM,SAAAhN,GAEP,cADOki3B,EAAeh7mB,GACflnQ,CACT,GAEA,OADAki3B,EAAeh7mB,GAAYo7mB,EACpBA,CAEX,GACA,OAAOx42B,QAAQ6E,IAAIuD,EACrB,EAIF,EAEMww2B,GAAe,WACnB,IAEIC,EAAkB,CAAC,EACjBC,EAAe,SAACnl1B,EAAQol1B,GAC5B,MAAO,CACLpl1B,SACAol1B,YAEJ,EACMC,EAAa,SAAAxzH,GACjB,OAAOA,KAAWqzH,CACpB,EAuBA,MAAO,CACLG,aACAC,aAxBmB,SAAAzzH,GACnB,IAAMpsvB,EAASy/2B,EAAgBrzH,GAC/B,OAAOpsvB,EAASA,EAAO2/2B,UAAY,IACrC,EAsBEG,UArBgB,SAAA1zH,GAChB,QAAOwzH,EAAWxzH,IAjBJ,IAiBeqzH,EAAgBrzH,GAAS7xtB,MACxD,EAoBE2k1B,WAnBiB,SAAA9yH,GACjB,QAAOwzH,EAAWxzH,IAnBP,IAmBkBqzH,EAAgBrzH,GAAS7xtB,MACxD,EAkBEwl1B,YAjBkB,SAAA3zH,GAClBqzH,EAAgBrzH,GAAWszH,EAvBb,EAuBmC,KACnD,EAgBEM,aAfmB,SAAC5zH,EAASuzH,GAC7BF,EAAgBrzH,GAAWszH,EAzBhB,EAyBuCC,EACpD,EAcEM,aAbmB,SAAA7zH,UACZqzH,EAAgBrzH,EACzB,EAYE5/lB,QAXc,WACdiztB,EAAkB,CAAC,CACrB,EAWF,EAEIx12B,GAAQ,EAQN6wQ,GAAO,SAAAn7O,GACX,OAAOA,EAAS11B,MAPVo5nB,EAAM,WACV,OAAO5mnB,KAAKs8F,MAAsB,WAAhBt8F,KAAKo2B,UAAuBh1C,SAAS,GACzD,EAEO,KADK,IAAIuF,MAAOo0E,UACN35E,SAAS,IAAMwloB,IAAQA,IAAQA,KALrC,IACLA,CAQR,EAyFM68O,GAAW,SAACnB,EAAcpsS,GAC9B,IAAMwtS,EAAkB,CAAC,EAOnBC,EAAiB,SAAC9mB,EAAU7nxB,GAAQ,OAAK,IAAI7qE,QAAQ,SAAC+sI,EAASk8F,GACnE,IAAMxiK,EAAM,IAAIS,eAChBT,EAAI7kE,KAAK,OAAQmqkB,EAASh+iB,KAC1B04C,EAAIoB,gBAAkBkkgB,EAASpmd,YAC/Bl/C,EAAIe,OAAOiyyB,WAAa,SAAA1j3B,GACtB80E,EAAS90E,EAAEitE,OAASjtE,EAAEktE,MAAQ,IAChC,EACAwD,EAAIvkE,QAAU,WACZ+mO,EAAQ,2DAA6DxiK,EAAI9yC,OAC3E,EACA8yC,EAAIztE,OAAS,WACX,GAAIytE,EAAI9yC,OAAS,KAAO8yC,EAAI9yC,QAAU,IACpCs1M,EAAQ,eAAiBxiK,EAAI9yC,YAD/B,CAIA,IArBc+l1B,EAAOC,EAqBfpvxB,EAAOjxF,KAAKG,MAAMgtE,EAAIE,cAC5B,GAAK4jB,GAASpe,EAASoe,EAAKx7D,UAI5Bg+G,GA1Bc2suB,EA0BG3tS,EAASj9X,SA1BL6qqB,EA0BepvxB,EAAKx7D,SAzBvC2q1B,EACKA,EAAM9g2B,QAAQ,MAAO,IAAM,IAAM+g2B,EAAM/g2B,QAAQ,MAAO,IAExD+g2B,SAmBH1woB,EAAQ,iBAAmBxiK,EAAIE,aAHjC,CAOF,EACA,IAAMmqpB,EAAW,IAAI7rpB,SACrB6rpB,EAASzhkB,OAAO,OAAQqjsB,EAAShmvB,OAAQgmvB,EAAS3oZ,YAClDtjY,EAAI2C,KAAK0npB,EACX,EAAG,EACG8oJ,EAAgBj2zB,EAAWoohB,EAASzqhB,SAAWyqhB,EAASzqhB,QAAUk4zB,EAIlEK,EAAiB,SAACnnB,EAAU3k0B,GAAG,MAAM,CACzCA,MACA2k0B,WACA/+zB,QAAQ,EACT,EACKmm1B,EAAiB,SAACpnB,EAAUx81B,GAAK,MAAM,CAC3C63B,IAAK,GACL2k0B,WACA/+zB,QAAQ,EACRz9B,QACD,EACK47sB,EAAiB,SAAC0zC,EAASpsvB,GAC/Bi2xB,GAAMv6tB,KAAKykzB,EAAgB/zH,GAAU,SAAAvlvB,GACnCA,EAAQ7G,EACV,UACOmg3B,EAAgB/zH,EACzB,EACMu0H,EAAiB,SAACrnB,EAAUpxyB,EAAS04zB,GAEzC,OADA7B,EAAagB,YAAYzmB,EAASltG,WAC3B,IAAIxlvB,QAAQ,SAAAC,GACjB,IAAI6gtB,EAEJ,IACE,IAAMw0J,EAAoB,WACpBx0J,IACFA,EAAap8rB,QACFk/F,EAEf,EAsBAtiE,EAAQoxyB,EATG,SAAAnmQ,GACLA,EAAU,GAAKA,EAAU,KAG7B28L,EAASxquB,KAAKoiqB,GAAc6oB,QAAQ,kBAAMu/C,EAASxquB,KAAKs7zB,GAAkB1x2B,IAAI0gxB,EAAQ,GAAEl0tB,KAAK,SAAA32D,GAC3F2itB,EAAe3itB,EACfA,EAAEq32B,YAAYh92B,MAAM+zlB,EACtB,EACF,GAC4BtxlB,KArBZ,SAAA8yB,GACdun1B,IACA6C,EAAaiB,aAAa1mB,EAASltG,UAAWz3tB,GAC9C+jrB,EAAe4gJ,EAASltG,UAAWq0H,EAAennB,EAAU3k0B,IAC5D9tB,EAAQ452B,EAAennB,EAAU3k0B,GACnC,EAgB0C,SAAA1vB,IAf1B,SAAAnI,GACdo/2B,IACA6C,EAAakB,aAAa3mB,EAASltG,WACnC1zC,EAAe4gJ,EAASltG,UAAWs0H,EAAepnB,EAAUx81B,IAC5D+J,EAAQ652B,EAAepnB,EAAUx81B,GACnC,CAWE+yO,CAAQ98J,EAAS9tE,GAAO,CACtByE,QAASzE,GACPA,EACN,EACF,CAAE,MAAOolC,GACPxjC,EAAQ652B,EAAepnB,EAAUjvzB,GACnC,CACF,EACF,EASMw20B,EAAc,SAACC,EAAWF,GAE9B,OADAE,EAAY7qF,GAAMI,KAAKyqF,EAAW,SAAAxnB,GAAQ,OAAKylB,EAAaG,WAAW5lB,EAASltG,UAAU,GACnFxlvB,QAAQ6E,IAAIwqxB,GAAM/mxB,IAAI4x2B,EAAW,SAAAxnB,GAAQ,OAAIylB,EAAae,UAAUxmB,EAASltG,WATxD,SAAAktG,GAC5B,IAAMltG,EAAUktG,EAASltG,UACzB,OAAO,IAAIxlvB,QAAQ,SAAAC,GACjBs52B,EAAgB/zH,GAAW+zH,EAAgB/zH,IAAY,GACvD+zH,EAAgB/zH,GAASvovB,KAAKgD,EAChC,EACF,CAGmGk62B,CAAsBznB,GAAYqnB,EAAernB,EAAUknB,EAAeI,EAAiB,GAC9L,EAEA,MAAO,CACLxyyB,OAFa,SAAC0yyB,EAAWF,GAAgB,OAAMjuS,EAASh+iB,KAAwB6r1B,IAZlCJ,EAYgES,EAAYC,EAAWF,GA3EhH,IAAIh62B,QAAQ,SAAAC,GACjCA,EAAQ,GACV,EAyEyJ,EAI3J,EAEM+52B,GAAmB,SAAA3gE,GAAM,OAAI,kBAAMA,EAAOhzD,oBAAoBzkvB,KAAK,CACvEksB,KAAMurxB,EAAO39mB,UAAU,sBACvBxiM,KAAM,OACNyuE,SAAU,EACV6tyB,aAAa,GACZ,CAAD,EACI4E,GAAiB,SAAC/gE,EAAQ8+D,GAAY,OAAKmB,GAASnB,EAAc,CACtEpq1B,IAAKw3xB,GAAkBlM,GACvBvqmB,SAAU02mB,GAAuBnM,GACjC1zrB,YAAa8/rB,GAA2BpM,GACxC/3vB,QAASokwB,GAAuBrM,IAC/B,EAUGghE,GAAoB,SAAAhhE,GAAM,OAAI,SAAAtpsB,IADV,SAACspsB,EAAQtpsB,GAAO,OAAKspsB,EAAO/gW,IAAIvib,QAAQg6E,EAAQuoW,MAAQgwU,EAAc+wB,EAAO98xB,OAAOqqxB,uBAAuB5wyB,GAAK+5G,IAAW,EAE/IuqwB,CAAkBjhE,EAAQtpsB,IAC5B8krB,GAAS9krB,EAASmirB,GAAa1pD,SAAS,6BAE5C,CAAE,EACI+xI,GAAe,SAAAlhE,GACnB,IACImhE,EAAUC,EADRl1H,EAtOU,WAChB,IAAIx5uB,EAAQ,GAgCN2u2B,EAAa,SAAAxkzB,GACjB,IAAKA,EAAEw2C,OAASx2C,EAAEk6K,OAChB,MAAM,IAAIv3O,MAAM,wFAElB,IAnCgBw61B,EAmCVn40B,EAAKg7C,EAAEh7C,IAAMg5P,GAAK,UAClBl+Q,EAAOkgE,EAAElgE,MAAQklB,EACjBwxF,EAAOx2C,EAAEw2C,KACf,MAAO,CACLxxF,GAAI4niB,EAAS5niB,GACbllB,KAAM8sjB,EAAS9sjB,GACf+zc,SAAU+4G,EAAS5sf,EAAE6zY,UAAY/zc,EAAO,KAzC1Bq91B,EAyC0C3mvB,EAAKxzG,KAxCjD,CACZ,aAAc,MACd,YAAa,MACb,YAAa,MACb,YAAa,MACb,aAAc,OACd,aAAc,OACd,gBAAiB,MACjB,aAAc,OACd,YAAa,MACb,aAAc,QAEHm61B,EAAKx60B,gBAAkB,QA6BlC6zF,KAAMo2c,EAASp2c,GACf0jI,OAAQ0yU,EAAS5sf,EAAEk6K,QACnBo1gB,QAAS1iM,EAAS5sf,EAAEsvrB,SAAW52tB,IAAIqpjB,gBAAgBvre,IACnDsd,IAAK84b,EAAS5sf,EAAE8zD,KAChB2wvB,QAAS73T,EAAS5sf,EAAEykzB,SAExB,EAMMC,EAAY,SAAAx7wB,GAAS,OAAIkrrB,GAAOv+wB,EAAOqzF,GAAWkxoB,gBAAiB,EACnE3yuB,EAAM,SAAAud,GAAE,OAAI0/1B,EAAU,SAAAC,GAAc,OAAIA,EAAe3/1B,OAASA,CAAE,EAAE,EAkB1E,MAAO,CACL81B,OA3Da,SAACklB,EAAGw2C,EAAM0jI,EAAQp6O,EAAM+zc,GACrC,GAAI59X,EAASjW,GAEX,OAAOwkzB,EAAW,CAChBx/1B,GAFSg7C,EAGTlgE,OACA+zc,WACAr9V,KAAMA,EACN0jI,OAAQA,IAEL,GAAIjuJ,EAASjsB,GAClB,OAAOwkzB,EAAWxkzB,GAElB,MAAM,IAAIr9D,MAAM,qBAEpB,EA6CE8N,IA1BU,SAAA+r1B,GACL/01B,EAAI+01B,EAASx30B,OAChBnP,EAAM9O,KAAKy11B,EAEf,EAuBE/01B,MACA+62B,SArBe,SAAAlzH,GAAO,OAAIo1H,EAAU,SAAAloB,GAAQ,OAAIA,EAASltG,YAAcA,CAAO,EAAE,EAsBhFqtG,UArBgB,SAACzinB,EAAQl3O,GAAI,OAAK0h3B,EAAU,SAAAloB,GAAQ,OAAIA,EAAStinB,WAAaA,GAAUsinB,EAAShmvB,OAAOxzG,OAASA,CAAI,EAAE,EAsBvH0h3B,YACAE,YAtBkB,SAAAt1H,GAClBz5uB,EAAQm+wB,GAASn+wB,EAAO,SAAA2m1B,GACtB,OAAIA,EAASltG,YAAcA,IACzB52tB,IAAI6qrB,gBAAgBi5I,EAASltG,YACtB,EAGX,EACF,EAeE5/lB,QAdc,WACdmkoB,GAAOh+wB,EAAO,SAAA8u2B,GACZjs1B,IAAI6qrB,gBAAgBohK,EAAer1H,UACrC,GACAz5uB,EAAQ,EACV,EAWF,CAiJoBgv2B,GAEZ5C,EAAeS,KACfoC,EAAa,GACbC,EAAa,SAAAxi3B,GACjB,OAAO,SAAAW,GACL,OAAIigzB,EAAOx8hB,UACFpkR,EAASW,GAEX,EACT,CACF,EAEM8h3B,EAAgB,SAACl91B,EAASuiF,EAAQ3nF,GACtC,IAAIrV,EAAQ,EACZ,IAEiB,KADfA,EAAQya,EAAQ7lB,QAAQooG,EAAQh9F,MAE9Bya,EAAUA,EAAQ1lB,UAAU,EAAGiL,GAASqV,EAAUoF,EAAQurC,OAAOhmD,EAAQg9F,EAAO5oG,QAChF4L,GAASqV,EAAQjhB,OAAS4oG,EAAO5oG,OAAS,UAE1B,IAAX4L,GACT,OAAOya,CACT,EACMm91B,EAAkB,SAACn91B,EAASo91B,EAAWC,GAC3C,IAAMC,EAAoB,QAAS3g3B,OAAO0g3B,EAAgB,KAAM1g3B,OAAO0g3B,IAAmBtsF,GAAIC,eAAiB,4BAA8B,IAG7I,OAFAhxwB,EAAUk91B,EAAcl91B,EAAS,QAASrjB,OAAOyg3B,EAAW,KAAOE,GACnEt91B,EAAUk91B,EAAcl91B,EAAS,iBAAmBo91B,EAAY,IAAK,iBAAmBC,EAAiB,IAE3G,EACME,EAAwB,SAACH,EAAWC,GACxCtxF,GAAOsvB,EAAOj1D,YAAY9mvB,KAAM,SAAA24B,GACX,eAAfA,EAAM/8B,KACR+8B,EAAMstI,UAAYumnB,GAAM7zvB,EAAMstI,UAAW,SAAAtU,GAAQ,OAAIkstB,EAAgBlstB,EAAUmstB,EAAWC,EAAe,GAEzGpl1B,EAAMjY,QAAUm91B,EAAgBll1B,EAAMjY,QAASo91B,EAAWC,EAE9D,EACF,EASM31H,EAAe,WAInB,OAHK80H,IACHA,EAAWJ,GAAe/gE,EAAQ8+D,IAE7BqD,IAAgBvg3B,KAAKgg3B,EAAW,SAAAQ,GACrC,IAAMvB,EAAYpwF,GAAM2xF,EAAY,SAAAlD,GAAS,OAAIA,EAAU7lB,QAAQ,GACnE,OAAO8nB,EAAShzyB,OAAO0yyB,EAAWF,GAAiB3gE,IAASp+yB,KAAKgg3B,EAAW,SAAA7h3B,GAC1E,IAAMsi3B,EAAiB,GACnBC,GAAuB,EACrBC,EAAiB9xF,GAAM1wxB,EAAQ,SAACyi3B,EAAYt42B,GAChD,IAAAu42B,EAGIL,EAAWl42B,GAFbmv1B,EAAQopB,EAARppB,SACAjplB,EAAKqymB,EAALrymB,MAEE4sO,GAAU,EAiBd,OAhBIwlY,EAAWlo1B,QAAUyxxB,GAAsB/L,IACzCwiE,EAAW9t1B,MAAQ4+vB,GAAWljhB,EAAM52N,IAAKgp0B,EAAW9t1B,OACtD4t1B,GAAuB,GAEzBp2H,EAAUu1H,YAAYrxmB,EAAM52N,KACxB83zB,GAAMtxD,IA5BU,SAAC5viB,EAAOsvmB,GACpC,IA5BuBhr1B,EA4BjB8kB,EAAMwmwB,EAAO0iE,WAAWhD,EAAW,OACzCwC,EAAsB9xmB,EAAM52N,IAAKkm0B,GACjChoF,GAASmB,GAAavpD,QAAQl/d,GAAQ,CACpC,IAAO07iB,GAAoB9L,IA/BNtrxB,EA+BiCgr1B,EA/B1Bhr1B,IAA6B,IAAtBA,EAAI51B,QAAQ,KAAc,IAAM,MAAO,IAAIqE,MAAOo0E,WA+BlBmoyB,EACnE,eAAgBlm0B,GAEpB,CAsBYmp0B,CAAsBvymB,EAAOoymB,EAAW9t1B,MAEjC8t1B,EAAW3l3B,QAChB2l3B,EAAW3l3B,MAAMosB,SACnBi51B,EAAsB9xmB,EAAM52N,IAAKk8uB,GAAIC,gBACrC0sF,EAAez+2B,KAAKwsQ,GACpB4sO,GAAU,GA9eJ,SAACgjU,EAAQv2yB,GAC3Bi02B,GAAa19D,EAAQvC,GAAKp7mB,UAAU,CAAC,8BAA+B54L,IACtE,CA8eY8pE,CAAYysuB,EAAQwiE,EAAW3l3B,MAAM4M,UAEhC,CACLitG,QAAS05J,EACT91O,OAAQko1B,EAAWlo1B,OACnBso1B,UAAWJ,EAAW9t1B,IACtB2k0B,WACAr8W,UAEJ,GAaA,OAZIqlY,EAAe/j3B,OAAS,IAAMgz2B,GAAMtxD,GACtCA,EAAOj1D,YAAYyB,SAAS,WAC1BkkC,GAAOkL,GAAUymF,GAAiB,SAAAQ,GAChC,IAAMC,EAAY98zB,GAAO68zB,GACzBlnF,GAASknF,GACTC,EAAUrnzB,KAAKulzB,GAAkBhhE,IACjC9zD,EAAUu1H,YAAYoB,EAAa5ja,IAAIzla,IACzC,EACF,GACS8o0B,GACTtiE,EAAOj1D,YAAYg4H,iBAEdR,CACT,GACF,GACF,EACMS,EAAmB,WAAH,OAASn3D,GAA0B7L,GAAU3zD,IAAiB1lvB,QAAQC,QAAQ,GAAI,EAClGq82B,EAAsB,SAAAC,GAAM,OAAIhvI,GAAOytI,EAAY,SAAA9q1B,GAAM,OAAIA,EAAOqs1B,EAAO,EAAE,EAI7Ef,EAAgB,WAIpB,OAHKf,IACHA,EAAevC,GAAaC,EAAc5yH,IAErCk1H,EAAa9gE,QAAQN,EAAO50D,UAAW63H,GAAqBrh3B,KAAKgg3B,EAAW,SAAA7h3B,GACjF,IAAMwi3B,EAAiB1xF,GAAS9wxB,EAAQ,SAAAywJ,GACtC,OAAI19E,EAAS09E,IACXkttB,GAAa19D,EAAQxvpB,IACd,GACyB,SAAvBA,EAAWoosB,OAKxB,GASA,OARI0Y,GAAMtxD,IACRtvB,GAAO6xF,EAAgB,SAAA/xtB,GACrB0xtB,EAAsB1xtB,EAAW4/G,MAAM52N,IAAKg3G,EAAW6osB,SAASltG,WAChE37lB,EAAW4/G,MAAM52N,IAAMg3G,EAAW6osB,SAASltG,UAC3C37lB,EAAW4/G,MAAM17J,gBAAgB,gBACjC87C,EAAW6osB,SAASioB,QAAU,kBAAM9wtB,EAAW4/G,MAAMz5J,aAAa,eAAgB,CACpF,GAEK4rwB,CACT,GACF,EAMMY,EAAkB,SAAAx+1B,GACtB,OAAOA,EAAQpF,QAAQ,sBAAuB,SAAC9e,EAAO0rvB,GACpD,IAAMuzH,EAAYZ,EAAac,aAAazzH,GAC5C,GAAIuzH,EACF,MAAO,QAAUA,EAAY,IAE/B,IAAIrmB,EAAWntG,EAAUmzH,SAASlzH,GAMlC,OALKktG,IACHA,EAAWtoE,GAAMivB,EAAOgvB,cAAc1q0B,MAAO,SAACvE,EAAQigzB,GACpD,OAAOjgzB,GAAUigzB,EAAO/zD,cAAgB+zD,EAAO/zD,aAAaC,UAAUmzH,SAASlzH,EACjF,OAAG3mvB,IAED6z1B,GAAYnoC,GAA2BlR,GAElC,aADMq5C,EAAShmvB,OACKxzG,KAAO,WAAaw51B,EAAStinB,SAAW,IAE9Dt2O,CACT,EACF,EA+BA,OA9BAu/yB,EAAOlnuB,GAAG,aAAc,WAClB+yuB,GAA0B7L,GAC5BgjE,IAEAb,GAEJ,GACAniE,EAAOlnuB,GAAG,iBAAkB,SAAAp8E,GAC1BA,EAAEioB,QAAUw+1B,EAAgBzm3B,EAAEioB,QAChC,GACAq7xB,EAAOlnuB,GAAG,aAAc,SAAAp8E,GAClBA,EAAE0m3B,aAA4B,QAAb1m3B,EAAE04X,QAAiC,SAAb14X,EAAE04X,SAG7C14X,EAAEioB,QAAUw+1B,EAAgBzm3B,EAAEioB,SAChC,GACAq7xB,EAAOlnuB,GAAG,aAAc,WACtBknuB,EAAOtvuB,OAAOgnxB,cAAc,MAAO,SAAArjuB,GACjCq8pB,GAAOr8pB,EAAQ,SAAAwsU,GACb,IAAMrnZ,EAAMqnZ,EAAI5wX,KAAK,OACrB,GAAKz2B,IAAO0ysB,EAAUmzH,SAAS7l0B,GAA/B,CAGA,IAAMkm0B,EAAYZ,EAAac,aAAapm0B,GACxCkm0B,GACF7+a,EAAI5wX,KAAK,MAAOyvyB,EAHlB,CAKF,EACF,EACF,GACO,CACLxzH,YACA4yH,eACAnvyB,UAtFgB,SAAA94C,GAChB8q1B,EAAW/92B,KAAKizB,EAClB,EAqFEw1tB,eACA22H,mBACAb,gBACA51tB,QA7Dc,WACd2/lB,EAAU3/lB,UACVuytB,EAAavytB,UACb60tB,EAAeD,EAAW,IAC5B,EA2DF,EA8UMkC,GAAc,CAClB7xB,gBAAgB,EAChBt1U,SAAS,GAELonW,GAAQj42B,EAAA,CACZ+sH,SAAU,SACPirvB,IAECE,GAAc,CAClBC,yBAAwBn42B,EAAA,CACtBgV,OAAQ,CACN4pO,gBAAiB,WAEhBq5nB,IAELG,uBAAsBp42B,EAAA,CACpBgV,OAAQ,CACN,iBAAkB,WAEjBij2B,IAELI,qBAAoBr42B,EAAA,CAClBgV,OAAQ,CACNsj2B,YAAa,WAEZL,IAELM,eAAcv42B,EAAA,CACZ+iX,QAAS,CAAC,WACPk1f,IAELO,WAAUx42B,EAAA,CACR+sH,SAAU,QACVg2P,QAAS,CAAC,WACPi1f,IAELS,qBAAoBz42B,EAAA,CAClBgV,OAAQ,CACN0j2B,YAAa,WAEZT,IAELU,qBAAoB342B,EAAA,CAClBgV,OAAQ,CACN4j2B,YAAa,WAEZX,KAGDh/2B,GAAMmljB,EAAS85T,IAEfW,GAAiB,SAAAlkE,GACrB,IAAM5sb,EAAU,CAAC,EAGX74R,EAAW,SAAC59F,EAAMy4X,GAClBz4X,IACGm2E,EAASn2E,IAKPsxG,EAAUmnR,KACbA,EAAS,CAACA,IAEZs7Z,GAAOt7Z,EAAQ,SAAAA,GACT9kM,EAAY8kM,EAAOnqT,QACrBmqT,EAAOnqT,MAAQyyvB,GAAiBtoc,IAE9B9kM,EAAY8kM,EAAO3nV,SACrB2nV,EAAO3nV,OAASiwxB,GAAiBtoc,IAAWuoc,GAAevoc,IAEzD9kM,EAAY8kM,EAAOnsW,SAAWy0yB,GAAiBtoc,KAAYuoc,GAAevoc,KAC5EA,EAAOnsW,OAAS,QAEdy0yB,GAAiBtoc,IAAWuoc,GAAevoc,KAC7CA,EAAOvnH,OAAQ,EACfunH,EAAOkqc,cAAe,GAEpBxsvB,EAASsiT,EAAOhH,WAClBgH,EAAOhH,QAAUgH,EAAOhH,QAAQ3gV,MAAM,OAE1C,GACA2lV,EAAQz2X,GAAQy4X,GAzBhBo8Z,GAAO70xB,EAAM,SAACy4X,EAAQz4X,GACpB49F,EAAS59F,EAAMy4X,EACjB,GA0BN,EAUA,OAHA76R,EAzaY,SAAAyltB,GACZ,IAkMUrlkB,EAOAq7Z,EAKAnxoB,EA9MJo6c,EAAM+gW,EAAO/gW,IACb53I,EAAa24e,EAAO98xB,OAAOrjB,KAC3BuzX,EAAU,CACd+wf,UAAW,CAAC,CACV/rvB,SAAU,QACV/3G,OAAQ,CACN+j2B,cAAe,SAGnBC,aAAc,CAAC,CACbjsvB,SAAU,QACV/3G,OAAQ,CACN+j2B,cAAe,YAGnBE,aAAc,CAAC,CACblsvB,SAAU,QACV/3G,OAAQ,CACN+j2B,cAAe,YAGnBG,UAAW,CAAC,CACVnsvB,SAAU,eACV2oI,WAAW,EACXqtH,QAAS,aACTsje,iBAAiB,EACjB8yB,QAAS,yBACR,CACDpsvB,SAAU,uDACV/3G,OAAQ,CACNusb,UAAW,QAEbsvE,SAAS,EACTsoW,SAAS,GACR,CACDpsvB,SAAU,kBACV2oI,WAAW,EACX1gP,OAAQ,CACN6ub,MAAO,QAETs1a,QAAS,yBACR,CACDpsvB,SAAU,QACV2oI,WAAW,EACX1gP,OAAQ,CACN0kI,WAAY,MACZC,YAAa,QAEf4usB,SAAU,SAAAjszB,GACRs3a,EAAI27V,SAASjzwB,EAAO,QAAS,KAC/B,EACA680B,QAAS,yBACR,CACDpsvB,SAAU,6CACVs5tB,iBAAiB,EACjBrx0B,OAAQ,CACN6ub,MAAO,UAGXu1a,YAAa,CAAC,CACZrsvB,SAAU,uDACV/3G,OAAQ,CACNusb,UAAW,UAEbsvE,SAAS,EACTsoW,QAAS,yBACR,CACDpsvB,SAAU,eACV2oI,WAAW,EACXqtH,QAAS,eACTsje,iBAAiB,EACjB8yB,QAAS,yBACR,CACDpsvB,SAAU,kBACV2oI,WAAW,EACX1gP,OAAQ,CACN8gB,QAAS,QACT4jH,WAAY,OACZC,YAAa,QAEfw/tB,SAAS,GACR,CACDpsvB,SAAU,QACV2oI,WAAW,EACX1gP,OAAQ,CACN0kI,WAAY,OACZC,YAAa,QAEfw/tB,QAAS,yBACR,CACDpsvB,SAAU,sBACVs5tB,iBAAiB,EACjBrx0B,OAAQ,CACN8gB,QAAS,QACT4jH,WAAY,OACZC,YAAa,QAEfw/tB,SAAS,GACR,CACDpsvB,SAAU,yBACVs5tB,iBAAiB,EACjBrx0B,OAAQ,CACN0kI,WAAY,OACZC,YAAa,QAEfw/tB,SAAS,IAEXE,WAAY,CAAC,CACXtsvB,SAAU,eACV2oI,WAAW,EACXqtH,QAAS,cACTsje,iBAAiB,EACjB8yB,QAAS,yBACR,CACDpsvB,SAAU,uDACV/3G,OAAQ,CACNusb,UAAW,SAEbsvE,SAAS,EACTsoW,QAAS,yBACR,CACDpsvB,SAAU,kBACV2oI,WAAW,EACX1gP,OAAQ,CACN6ub,MAAO,SAETs1a,QAAS,yBACR,CACDpsvB,SAAU,QACV2oI,WAAW,EACX1gP,OAAQ,CACN2kI,YAAa,MACbD,WAAY,QAEd6usB,SAAU,SAAAjszB,GACRs3a,EAAI27V,SAASjzwB,EAAO,QAAS,KAC/B,EACA680B,QAAS,yBACR,CACDpsvB,SAAU,6CACVs5tB,iBAAiB,EACjBrx0B,OAAQ,CACN6ub,MAAO,SAETs1a,SAAS,IAEXG,aAAc,CAAC,CACbvsvB,SAAU,uDACV/3G,OAAQ,CACNusb,UAAW,WAEbsvE,SAAS,EACTsoW,QAAS,0BAEX3uO,KAAM,CAAC,CACL13e,OAAQ,SACRl1I,OAAQ,MACR4o0B,oBAAqB,CAAC,QAAS,UAC9B,CACD1zrB,OAAQ,OACR99I,OAAQ,CACNo/N,WAAY,SAEb,CACDthF,OAAQ,IACRl1I,OAAQ,MACR4o0B,oBAAqB,CAAC,QAAS,WAEjChzY,OAAQ,CAAC,CACP1gT,OAAQ,KACRl1I,OAAQ,MACR4o0B,oBAAqB,CAAC,QAAS,UAC9B,CACD1zrB,OAAQ,OACR99I,OAAQ,CACNq/N,UAAW,WAEZ,CACDvhF,OAAQ,IACRl1I,OAAQ,MACR4o0B,oBAAqB,CAAC,QAAS,WAEjC/7M,UAAW,CAAC,CACV33e,OAAQ,OACR99I,OAAQ,CACNyy0B,eAAgB,aAElBr2nB,OAAO,GACN,CACDt+D,OAAQ,IACRl1I,OAAQ,MACR4o0B,oBAAqB,CAAC,QAAS,WAEjC+yB,eACQjqoB,EAAO,CACXx8E,OAAQ,OACR99I,OAAQ,CACNyy0B,eAAgB,gBAElBr2nB,OAAO,GAEHu5a,EAAS,CACb73e,OAAQ,SACRl1I,OAAQ,MACR4o0B,oBAAqB,CAAC,QAAS,UAE3Bht1B,EAAI,CACRs5J,OAAQ,IACRl1I,OAAQ,MACR4o0B,oBAAqB,CAAC,QAAS,UAEX,UAAfxqhB,EAAyB,CAACxiU,EAAG81O,EAAMq7Z,GAAU,CAACr7Z,EAAM91O,EAAGmxoB,IAEhE6uO,UAAW,CACT1mtB,OAAQ,OACR99I,OAAQ,CACNihB,MAAO,UAETqvQ,OAAO,EACP6gjB,gBAAgB,EAChB8B,oBAAoB,GAEtBwxB,YAAa,CACX3mtB,OAAQ,OACR99I,OAAQ,CACN4pO,gBAAiB,UAEnB0mD,OAAO,EACP6gjB,gBAAgB,EAChB8B,oBAAoB,GAEtByxB,SAAU,CACR5mtB,OAAQ,OACR93G,QAAQ,EACRhmC,OAAQ,CACNs/N,WAAY,UAEd2zmB,oBAAoB,GAEtB0xB,SAAU,CACR7mtB,OAAQ,OACR93G,QAAQ,EACRhmC,OAAQ,CACNixN,SAAU,UAEZginB,oBAAoB,GAEtB2xB,WAAY,CACV7svB,SAAU,mCACV/3G,OAAQ,CACNypO,WAAY,WAGhBo7nB,eAAgB,CACd/mtB,OAAQ,OACR3rB,WAAY,CACV3mH,MAAO,WAGX2za,WAAY,CACVt9M,MAAO,aACPj5L,SAAS,EACThgC,OAAQ,OAEVy5a,UAAW,CACTvkS,OAAQ,OAEVwkS,YAAa,CACXxkS,OAAQ,OAEVthJ,KAAM,CACJshJ,OAAQ,QAEV3pI,KAAM,CACJ2pI,OAAQ,IACR/lC,SAAU,IACVnvG,OAAQ,MACRwkB,OAAO,EACPw9B,MAAM,EACNugxB,QAAS,SAACllyB,EAAM6+zB,EAAMC,GACpB,OAAOtnF,GAAYx3uB,IAASA,EAAKuwD,aAAa,OAChD,EACA+8uB,SAAU,SAACtk0B,EAAK611B,EAAMl2oB,GACpB+mjB,GAAMv6tB,KAAKwzK,EAAM,SAAC9vO,EAAOiC,GACvB69c,EAAIs5V,UAAUjpxB,EAAKluB,EAAKjC,EAC1B,EACF,GAEF0ud,KAAM,CACJ1vT,OAAQ,OACRm1rB,oBAAoB,EACpB9B,gBAAgB,EAChBh/sB,WAAY,CACV,KAAQ,SACR,gBAAiB,SAAAy8F,GACf,IAAItmL,EACJ,OAA+E,QAAvEA,EAAKsmL,aAAwC,EAAIA,EAAKo2oB,mBAAqC,IAAZ18zB,EAAgBA,EAAK,IAC9G,IAGJ28zB,aAAc,CAAC,CACbltvB,SAAU,wFACVnvG,OAAQ,MACRwkB,OAAO,EACPowxB,QAAQ,EACRyB,cAAc,EACdr0vB,MAAM,GACL,CACDmtD,SAAU,OACVoa,WAAY,CAAC,QAAS,SACtBvpH,OAAQ,QACRwkB,OAAO,EACPowxB,QAAQ,EACR5yvB,MAAM,GACL,CACDmtD,SAAU,IACVoa,WAAY,CAAC,QAAS,SACtB/kG,OAAO,EACPowxB,QAAQ,EACR5yvB,MAAM,KASV,OANA+qtB,GAAMv6tB,KAAK,iDAAiDhuB,MAAM,MAAO,SAAA9wC,GACvEy2X,EAAQz2X,GAAQ,CACdulP,MAAOvlP,EACPssB,OAAQ,MAEZ,GACOmqW,CACT,CA+FW+vS,CAAM68I,IACfzltB,EAASj2F,MACTi2F,EAASoztB,GAAW3N,IACb,CACL17yB,IA5CY,SAAA3H,GAAI,OAAIsyxB,EAActyxB,GAAQy2X,EAAQz2X,GAAQy2X,CAAQ,EA6ClEhvX,IA5CU,SAAAzH,GAAI,OAAIu1xB,GAAM9+Z,EAASz2X,EAAM,EA6CvC49F,SAAAA,EACAk6oB,WAbiB,SAAA93uB,GAIjB,OAHIA,GAAQy2X,EAAQz2X,WACXy2X,EAAQz2X,GAEVy2X,CACT,EAUF,EAEMmyf,GAASvvF,GAAMv6tB,KACfwjZ,GAAM84V,GAASoD,IACfqqE,GAAgB,SAAA721B,GAAI,OAAIsgwB,EAActgwB,IAASm6D,EAASn6D,EAAM,EAC9D821B,GAAuB,SAACx5b,EAAU+zX,GACtC,IAAM98xB,EAAS88xB,GAAUA,EAAO98xB,QAAUuqxB,GAAO,CAAC,GAO5C7hxB,EAAgB,SAAA851B,GACpB,IAAM/21B,EAAOmkD,EAAS4yyB,GAAS,CAC7B/o3B,KAAM+o3B,EACNt3f,QAAS,GACTvpF,MAAO,CAAC,GACN6glB,EACEp21B,EAAM2vb,GAAItna,OAAOhpB,EAAKhyB,MAE5B,OAde,SAAC2yB,EAAKX,GACjBA,EAAKy/V,QAAQ9vX,OAAS,GACxB2gd,GAAIq8V,SAAShsxB,EAAKX,EAAKy/V,QAAQxiU,KAAK,MAEtCqzZ,GAAIk6V,WAAW7pxB,EAAKX,EAAKk2Q,MAC3B,CAQE07hB,CAASjxyB,EAAKX,GACPW,CACT,EAUMq21B,EAAa,SAACr21B,EAAKuqF,EAAWimtB,GAClC,IAAI8lD,EACEjquB,EAAW9hC,EAAU,GACrBgswB,EAAeL,GAAc7puB,GAAYA,EAASh/I,UAAO6I,EACzDsg3B,EAbkB,SAACx21B,EAAK2jwB,GAC9B,IAAM8yF,EAAU7i2B,EAAO6txB,eAAezhxB,EAAI6pF,SAAS35F,eAC7C6xxB,EAAkB00E,aAA8C,EAAIA,EAAQ10E,gBAClF,SAAIA,IAAmBA,EAAgB/yyB,UAC9B20xB,GAAazC,GAAW6gB,EAAiBpe,GAAaA,EAAYoe,EAAgB,GAI7F,CAKyB20E,CAAkB121B,EAAKu21B,GAC9C,GAAIC,EACED,IAAiBC,GACnBF,EAAkBjquB,EAClB9hC,EAAYA,EAAUnlG,MAAM,IAE5Bkx2B,EAAkBE,OAEf,GAAInquB,EACTiquB,EAAkBjquB,EAClB9hC,EAAYA,EAAUnlG,MAAM,QACvB,IAAKorzB,EACV,OAAOxwyB,EAET,IAAM02B,EAAS4/zB,EAAkBh61B,EAAcg61B,GAAmB3ma,GAAItna,OAAO,OAC7EqO,EAAOzM,YAAYjqB,GACfwwyB,GACF9pC,GAAMv6tB,KAAKqkwB,EAAU,SAAAvsI,GACnB,IAAM0yL,EAAar61B,EAAc2nqB,GACjCvtoB,EAAOszD,aAAa2swB,EAAY321B,EAClC,GAEF,IAAM421B,EAAiBV,GAAcI,GAAmBA,EAAgB9lD,cAAWt6zB,EACnF,OAAOmg3B,EAAW3/zB,EAAQ6zD,EAAWqswB,EACvC,EACMtwtB,EAAWqpT,GAAItna,OAAO,OAC5B,GAAIs0Y,EAAS3tb,OAAS,EAAG,CACvB,IAAMqwB,EAAOs9Z,EAAS,GAChB38Z,EAAM1D,EAAc+C,GACpBmxyB,EAAW0lD,GAAc721B,GAAQA,EAAKmxyB,cAAWt6zB,EACvDowJ,EAASr8G,YAAYos0B,EAAWr21B,EAAK28Z,EAASv3a,MAAM,GAAIorzB,GAC1D,CACA,OAAOlqqB,CACT,EACMuwtB,GAAoB,SAAAx31B,GAExB,IAAI3G,EAAU,MACRqV,EAAM,CACV1gC,KAAMqrB,EACNomW,QAAS,GACTvpF,MAAO,CAAC,EACRzsK,SANFzpG,EAAOqnwB,GAAMl/tB,KAAKnoC,IAiClB,MAzBa,MAATA,IACF3G,EAAU2G,EAAKpP,QAAQ,4CAA6C,SAACktc,EAAI5xP,EAAIwlb,EAAI+lO,EAAIC,GACnF,OAAQxrpB,GACN,IAAK,IACHx9L,EAAIwnQ,MAAMhjR,GAAKw+nB,EACf,MACF,IAAK,IACHhjnB,EAAI+wV,QAAQxqX,KAAKy8oB,GACjB,MACF,IAAK,KACkF,IAAjF21I,GAAMnzb,QAAQ,8CAA8Cp1T,MAAM,KAAM4ymB,KAC1EhjnB,EAAIwnQ,MAAMw7W,GAAMA,GAItB,GAAW,MAAP+lO,EAAY,CACd,IAAMh6zB,EAAIi6zB,EAAG5l3B,MAAM,8BACf2rD,IACF/uB,EAAIwnQ,MAAMz4O,EAAE,IAAMA,EAAE,GAExB,CACA,MAAO,EACT,IAEF/uB,EAAI1gC,KAAOqrB,GAAW,MACfqV,CACT,EAgBMip1B,GAAa,SAACtmE,EAAQ5qb,GAC1B,IAAImxf,EAAa,GACbC,EAAgB54D,GAAiB5N,GACrC,GAAsB,KAAlBwmE,EACF,MAAO,GAET,IAAMC,EAAa,SAAA7x0B,GACjB,OAAOk+B,EAASl+B,GAAOA,EAAIr1B,QAAQ,UAAW,IAAM,EACtD,EACMmC,EAAmB,SAAC/kB,EAAM2yB,GAC9B,OAAO2vb,GAAI45V,SAASvpxB,QAAiCA,EAAM0wxB,EAAO50D,UAAWzuvB,GAAM,EACrF,EACA,GAAIm2E,EAASsiT,GAAS,CACpB,IAAMhC,EAAU4sb,EAAO9qT,UAAU5wf,IAAI8wX,GACrC,IAAKhC,EACH,MAAO,GAETgC,EAAShC,EAAQ,EACnB,CACA,GAAI,YAAagC,EAAQ,CACvB,IAAMovf,EAAUpvf,EAAOovf,QACvB,IAAgB,IAAZA,EACF,MAAO,GAEPgC,EAAgBhC,GAAWgC,CAE/B,CACA,IACIE,EADA/p3B,EAAOy4X,EAAOlzI,OAASkzI,EAAOj3N,QAAU,OAEtCp6I,EA5Cc,SAAAq0G,GACpB,OAAKtlD,EAASslD,IAIdA,GADAA,EAAWA,EAAS3qF,MAAM,WAAW,IACjBluB,QAAQ,sBAAuB,MAC5Cy2wB,GAAM/mxB,IAAImpH,EAAS3qF,MAAM,2BAA4B,SAAA9e,GAC1D,IAAMmxyB,EAAW9pC,GAAM/mxB,IAAI0f,EAAK8e,MAAM,gBAAiB040B,IACjD9o1B,EAAMyiyB,EAASziwB,MAIrB,OAHIyiwB,EAASxh0B,SACX++B,EAAIyiyB,SAAWA,GAEVziyB,CACT,GAAG8/B,WAXM,EAYX,CA8BgBwpzB,CAAcvxf,EAAOh9P,UAC/Br0G,EAAMzlB,OAAS,GACZylB,EAAM,GAAGpnB,OACZonB,EAAM,GAAGpnB,KAAOA,GAElBA,EAAOy4X,EAAOh9P,SACdsuvB,EAAcjB,GAAqB1h2B,EAAOi8xB,IAE1C0mE,EAAcjB,GAAqB,CAAC9o3B,GAAOqjzB,GAE7C,IAAM4mE,EAAa3na,GAAIh9a,OAAOtlC,EAAM+p3B,GAAa,IAAMA,EAAY5wtB,WACnEyvtB,GAAOnwf,EAAO/0W,OAAQ,SAAClhB,EAAOxC,GAC5B,IAAM6xF,EAAWi4xB,EAAWtn3B,GACxBqvF,GACFywX,GAAI27V,SAASgsE,EAAYjq3B,EAAM6xF,EAEnC,GACA+2xB,GAAOnwf,EAAO5iP,WAAY,SAACrzI,EAAOxC,GAChC,IAAM6xF,EAAWi4xB,EAAWtn3B,GACxBqvF,GACFywX,GAAIs5V,UAAUquE,EAAYjq3B,EAAM6xF,EAEpC,GACA+2xB,GAAOnwf,EAAOhH,QAAS,SAAAjvX,GACrB,IAAMqvF,EAAWi4xB,EAAWtn3B,GACvB8/c,GAAIzyB,SAASo6b,EAAYp4xB,IAC5BywX,GAAIq8V,SAASsrE,EAAYp4xB,EAE7B,GACAwxtB,EAAO5iyB,SAAS,kBAChB6hc,GAAIn9T,UAAU4kuB,EAAa,CACzBzm2B,SAAU,WACVnE,MAAO,QAETkkyB,EAAO50D,UAAU7xsB,YAAYmt0B,GAC7B,IAAMG,EAAoBnl2B,EAAiB,YACrCol2B,EAAiB,MAAMvm3B,KAAKsm3B,GAAqBtq1B,SAASsq1B,EAAmB,IAAM,EA8BzF,OA7BAtB,GAAOiB,EAAc/40B,MAAM,KAAM,SAAA9wC,GAC/B,IAAIwC,EAAQuiB,EAAiB/kB,EAAMiq3B,GACnC,KAAa,qBAATjq3B,GAA+B,oCAAoC4D,KAAKpB,KAC1EA,EAAQuiB,EAAiB/kB,GACoB,YAAzCq2yB,GAAgB7zyB,GAAOqgB,gBAIhB,UAAT7iB,GAC2C,YAAzCq2yB,GAAgB7zyB,GAAOqgB,eAD7B,CAKA,GAAa,cAAT7iB,GACE,QAAQ4D,KAAKpB,GAAQ,CACvB,GAAuB,IAAnB2n3B,EACF,OAGF3n3B,EADiBohB,WAAWphB,IAAU,KAAKoB,KAAKpB,GAAS,IAAM,GAC5C2n3B,EAAiB,IACtC,CAEW,WAATnq3B,GAAqBwC,IACvBon3B,GAAc,kBAEhBA,GAAc5p3B,EAAO,IAAMwC,EAAQ,GAbnC,CAcF,GACA6gzB,EAAO5iyB,SAAS,uBAChB6hc,GAAIh2b,OAAOy91B,GACJH,CACT,EAcMQ,GAAY,SAAA/mE,GAChB,IAAM5sb,EAAU8wf,GAAelkE,GACzBgnE,EAAoB1pE,GAAK,CAAC,GAMhC,OApBc,SAAA0C,GACdA,EAAOinE,YAAY,SAAU,GAAI,QACjCjnE,EAAOinE,YAAY,SAAU,GAAI,UACjCjnE,EAAOinE,YAAY,SAAU,GAAI,aACjC,IAAK,IAAIpo3B,EAAI,EAAGA,GAAK,EAAGA,IACtBmhzB,EAAOinE,YAAY,UAAYpo3B,EAAG,GAAI,CAAC,eAAe,EAAO,IAAMA,IAErEmhzB,EAAOinE,YAAY,WAAY,GAAI,CAAC,eAAe,EAAO,MAC1DjnE,EAAOinE,YAAY,WAAY,GAAI,CAAC,eAAe,EAAO,QAC1DjnE,EAAOinE,YAAY,WAAY,GAAI,CAAC,eAAe,EAAO,WAC5D,CAKEC,CAAQlnE,GACR0tC,GAAQ1tC,GACHsxD,GAAMtxD,IA7/KG,SAAC62C,EAA2B72C,GAC1C62C,EAA0Bxy1B,IAAI,CAAC,GAC/B27yB,EAAOlnuB,GAAG,aAAc,SAAAp8E,GACtB451B,GAA6Bt2C,EAAQtjzB,EAAEg6G,QAASmgvB,EAA0Bvy1B,MAC5E,GACA07yB,EAAOlnuB,GAAG,2BAA4B,SAAAp8E,GACpC,IAAMg6G,EAAUm5qB,EAASxquB,KAAK3oD,EAAE4pD,MAAMr3C,IAAI,SAAAk42B,GAAW,OAAI7i0B,GAAO6i0B,GAAeA,EAAcA,EAAYp1I,cAAc,GAAEttqB,KAAK,SAAAne,GAAI,OAAIw3uB,GAAYx3uB,GAAQupuB,EAASpyvB,KAAK6oB,GAAQupuB,EAASxquB,KAAKiB,EAAK2/F,cAAc,GAAEyslB,WAAW,kBAAMyjH,GAAgBn2C,EAAO,GAC3Ps2C,GAA6Bt2C,EAAQtpsB,EAASmgvB,EAA0Bvy1B,MAC1E,EACF,CAq/KI8i3B,CAAQJ,EAAmBhnE,GAEtB,CACL17yB,IAAK8uX,EAAQ9uX,IACbF,IAAKgvX,EAAQhvX,IACbm2F,SAAU64R,EAAQ74R,SAClBk6oB,WAAYrhX,EAAQqhX,WACpB3suB,MAAO,SAACnL,EAAMsyO,EAAM3oL,IAt7EJ,SAAC05vB,EAAQrjzB,EAAMsyO,EAAM3oL,GACvCqszB,GAAwB3yD,GAAQ9qT,UAAUptf,MAAMnL,EAAMsyO,EAAM3oL,EAC9D,CAq7EM+g0B,CAAYrnE,EAAQrjzB,EAAMsyO,EAAM3oL,EAClC,EACAr9B,OAAQ,SAACtsB,EAAMsyO,EAAM3oL,EAAM2kyB,IAt7EV,SAACjrC,EAAQrjzB,EAAMsyO,EAAM3oL,EAAM2kyB,GAC9C0nB,GAAwB3yD,GAAQ9qT,UAAUjse,OAAOtsB,EAAMsyO,EAAM3oL,EAAM2kyB,EACrE,CAq7EMq8B,CAAatnE,EAAQrjzB,EAAMsyO,EAAM3oL,EAAM2kyB,EACzC,EACA5kyB,OAAQ,SAAC1pD,EAAMsyO,EAAM3oL,IAt7EJ,SAAC05vB,EAAQrjzB,EAAMsyO,EAAM3oL,GACxCqszB,GAAwB3yD,GAAQ9qT,UAAU7uc,OAAO1pD,EAAMsyO,EAAM3oL,EAC/D,CAq7EMih0B,CAAavnE,EAAQrjzB,EAAMsyO,EAAM3oL,EACnC,EACA7lD,MAAO,SAAC9D,EAAMsyO,EAAM3oL,EAAM2kyB,GAAO,OAp8EjB,SAACjrC,EAAQrjzB,EAAMsyO,EAAM3oL,EAAM2kyB,GAAO,OAAK0nB,GAAwB3yD,GAAQ9qT,UAAUz0f,MAAM9D,EAAMsyO,EAAM3oL,EAAM2kyB,EAAS,CAo8E5Fu8B,CAAYxnE,EAAQrjzB,EAAMsyO,EAAM3oL,EAAM2kyB,EAAQ,EACpF33lB,QAAS,SAAA7/M,GAAK,OAj8EI,SAACuswB,EAAQvswB,GAAK,OAAKk/zB,GAAwB3yD,GAAQ9qT,UAAU5hQ,QAAQ7/M,EAAO,CAi8E5Eg00B,CAAcznE,EAAQvswB,EAAM,EAC9C63S,SAAU,SAAC73S,EAAOw7L,GAAI,OAr8EF,SAAC+wkB,EAAQvswB,EAAOw7L,GAAI,OAAK0joB,GAAwB3yD,GAAQ9qT,UAAU5pK,SAAS73S,EAAOw7L,EAAM,CAq8ElFy4oB,CAAgB1nE,EAAQvswB,EAAOw7L,EAAK,EAC/Dk8mB,UAAW,SAAC7kyB,EAAM3pD,EAAMsyO,EAAMg8mB,GAAO,OAr8EjB,SAACjrC,EAAQ15vB,EAAM3pD,EAAMsyO,EAAMg8mB,GAAO,OAAK0nB,GAAwB3yD,GAAQ9qT,UAAUi2V,UAAU7kyB,EAAM3pD,EAAMsyO,EAAMg8mB,EAAS,CAq8EhG08B,CAAgB3nE,EAAQ15vB,EAAM3pD,EAAMsyO,EAAMg8mB,EAAQ,EAC5F0lB,SAAU,SAAAh02B,GAAI,OAr8EK,SAACqjzB,EAAQrjzB,GAAI,OAAKg22B,GAAwB3yD,GAAQ9qT,UAAUy7W,SAASh02B,EAAM,CAq8E5Eir3B,CAAe5nE,EAAQrjzB,EAAK,EAC9Ci02B,cAAe,SAACx9e,EAASh0X,EAAU6r1B,EAASh8mB,GAAI,OA37E9B,SAAC+wkB,EAAQ62C,EAA2Bzje,EAASh0X,EAAU6r1B,EAASh8mB,GAAI,OAAK0joB,GAAwB3yD,GAAQ9qT,UAAU07W,cAAc/Z,EAA2Bzje,EAASh0X,EAAU6r1B,EAASh8mB,EAAM,CA27E3J2hoB,CAAc5wD,EAAQgnE,EAAmB5zf,EAASh0X,EAAU6r1B,EAASh8mB,EAAK,EAC/Hq3oB,WAAYz7T,EAAMy7T,GAAYtmE,GAElC,EAEM6nE,GAAsB,SAAA19D,GAC1B,OAAQA,EAAI3qyB,eACV,IAAK,OACL,IAAK,OACL,IAAK,WACH,OAAO,EACT,QACE,OAAO,EAEb,EAkGMso2B,GAAc,SAAA9nE,GAClB,IAAM+tD,EAAiB3uD,KACjByvD,EAAQvxD,GAAK,GACbpzyB,EAAQozyB,GAAK,GACbvyD,EAAc,CAClB9mvB,KAAM,GACN8q2B,QAAQ,EACRI,aAAc,YArlFG,SAACnvD,EAAQ6uD,EAAOd,GACnC4E,GAAwB3yD,GAAQj1D,YAAYokH,aAAaN,EAAOd,EAClE,CAolFMoB,CAAanvD,EAAQ6uD,EAAOd,EAC9B,EACAzg2B,IAAK,SAACsvB,EAAOj0B,GACX,OAtlFe,SAACq3yB,EAAQj1D,EAAa7gvB,EAAO2k2B,EAAOd,EAAgBnx0B,EAAOj0B,GAAK,OAAKgq2B,GAAwB3yD,GAAQj1D,YAAYz9uB,IAAIy9uB,EAAa7gvB,EAAO2k2B,EAAOd,EAAgBnx0B,EAAOj0B,EAAO,CAslFtLo/2B,CAAa/nE,EAAQj1D,EAAa7gvB,EAAO2k2B,EAAOd,EAAgBnx0B,EAAOj0B,EAChF,EACAo62B,eAAgB,WACd/iE,EAAOyvD,UAAS,GAChB,IAAM7y0B,EAAQix0B,GAAiB7tD,GAC/BpjxB,EAAMw7xB,SAAW9P,GAAgBtI,EAAOx8hB,WACxCw8hB,EAAO5iyB,SAAS,SAAU,CACxBwf,QACA2y0B,UAAWl+E,GAAMtmC,EAAY9mvB,KAAMiG,EAAM5F,OAAO2yuB,kBAEpD,EACAopB,KAAM,WACJ,OAjmFO,SAAC2/C,EAAQj1D,EAAa8jH,EAAO3k2B,GAAK,OAAKyo2B,GAAwB3yD,GAAQj1D,YAAYsV,KAAKtV,EAAa8jH,EAAO3k2B,EAAO,CAimFnHm2vB,CAAK2/C,EAAQj1D,EAAa8jH,EAAO3k2B,EAC1C,EACA0l2B,KAAM,WACJ,OAnmFO,SAAC5vD,EAAQ91yB,EAAOjG,GAAI,OAAK0u2B,GAAwB3yD,GAAQj1D,YAAY6kH,KAAK1l2B,EAAOjG,EAAM,CAmmFvF2r2B,CAAK5vD,EAAQ91yB,EAAO6gvB,EAAY9mvB,KACzC,EACA0D,MAAO,YApmFG,SAACq4yB,EAAQj1D,EAAa7gvB,GAClCyo2B,GAAwB3yD,GAAQj1D,YAAYpjvB,MAAMojvB,EAAa7gvB,EACjE,CAmmFMvC,CAAMq4yB,EAAQj1D,EAAa7gvB,EAC7B,EACAuhc,MAAO,YApmFG,SAACu0W,EAAQj1D,GACrB4nH,GAAwB3yD,GAAQj1D,YAAYt/S,MAAMs/S,EACpD,CAmmFMt/S,CAAMu0W,EAAQj1D,EAChB,EACAilH,QAAS,WACP,OArmFU,SAAChwD,EAAQj1D,EAAa7gvB,GAAK,OAAKyo2B,GAAwB3yD,GAAQj1D,YAAYilH,QAAQjlH,EAAa7gvB,EAAO,CAqmF3G8l2B,CAAQhwD,EAAQj1D,EAAa7gvB,EACtC,EACAgm2B,QAAS,WACP,OAvmFU,SAAClwD,EAAQj1D,EAAa7gvB,GAAK,OAAKyo2B,GAAwB3yD,GAAQj1D,YAAYmlH,QAAQnlH,EAAa7gvB,EAAO,CAumF3Ggm2B,CAAQlwD,EAAQj1D,EAAa7gvB,EACtC,EACAsivB,SAAU,SAAAptvB,GACR,OAzmFW,SAAC4gzB,EAAQj1D,EAAa8jH,EAAOzv2B,GAAQ,OAAKuz2B,GAAwB3yD,GAAQj1D,YAAYyB,SAASzB,EAAa8jH,EAAOzv2B,EAAU,CAymFjIotvB,CAASwzD,EAAQj1D,EAAa8jH,EAAOzv2B,EAC9C,EACAwuiB,OAAQ,SAAAxuiB,IA1mFG,SAAC4gzB,EAAQ6uD,EAAOzv2B,GAC7Buz2B,GAAwB3yD,GAAQj1D,YAAYn9M,OAAOihU,EAAOzv2B,EAC5D,CAymFMwuiB,CAAOoyQ,EAAQ6uD,EAAOzv2B,EACxB,EACA0onB,MAAO,SAACwoP,EAAWC,IA1mFT,SAACvwD,EAAQj1D,EAAa7gvB,EAAOom2B,EAAWC,GACpDoC,GAAwB3yD,GAAQj1D,YAAYjjI,MAAMijI,EAAa7gvB,EAAOom2B,EAAWC,EACnF,CAymFMzoP,CAAMk4L,EAAQj1D,EAAa7gvB,EAAOom2B,EAAWC,EAC/C,GAMF,OAJKe,GAAMtxD,IAnJU,SAACA,EAAQj1D,EAAa8jH,GAC3C,IAAMmZ,EAAwB1qE,IAAK,GAC7B2qE,EAAwB,SAAAvr3B,GAC5Boy2B,GAAU/jH,GAAa,EAAO8jH,GAC9B9jH,EAAYz9uB,IAAI,CAAC,EAAG5Q,EACtB,EACAsjzB,EAAOlnuB,GAAG,OAAQ,WAChBiyqB,EAAYz9uB,KACd,GACA0yyB,EAAOlnuB,GAAG,oBAAqB,SAAAp8E,GAC7B,IAAMytzB,EAAMztzB,EAAEmpC,QACTgi1B,GAAoB19D,KACvB6kD,GAAUjkH,EAAa8jH,GACvB9jH,EAAYokH,eAEhB,GACAnvD,EAAOlnuB,GAAG,cAAe,SAAAp8E,GACvB,IAAMytzB,EAAMztzB,EAAEmpC,QACTgi1B,GAAoB19D,IACvB89D,EAAsBvr3B,EAE1B,GACAsjzB,EAAOlnuB,GAAG,wBAAyB,WACjCiyqB,EAAYokH,cACd,GACAnvD,EAAOlnuB,GAAG,iCAAkCmvyB,GAC5CjoE,EAAOlnuB,GAAG,UAAWmvyB,GACrBjoE,EAAOlnuB,GAAG,QAAS,SAAAp8E,GACjB,IAAMw7rB,EAAUx7rB,EAAEw7rB,QAClB,IAAIx7rB,EAAE66rB,qBAAN,CAGA,IAAM2wL,EAASxyF,GAAIpurB,GAAG2ooB,WAAuB,SAAVvzuB,EAAE0E,KACjC82rB,GAAW,IAAMA,GAAW,IAAMA,GAAW,IAAMA,GAAW,IAAkB,KAAZA,GAAkBx7rB,EAAEu0P,SAAWi3nB,KACrGD,IACAjoE,EAAO6lB,eAEO,KAAZ3tI,GAA8B,IAAZA,GACpB8nH,EAAO6lB,cAELmiD,EAAsB1j3B,OAASymvB,EAAYgkH,SAAWR,GAAOV,GAAiB7tD,GAASj1D,EAAY9mvB,KAAK,MACrG+7yB,EAAO3krB,WACV2krB,EAAOyvD,UAAS,GAElBzvD,EAAO5iyB,SAAS,cAChB4q2B,EAAsB3j3B,KAAI,GAC1B27yB,EAAO6lB,cAfT,CAiBF,GACA7lB,EAAOlnuB,GAAG,UAAW,SAAAp8E,GACnB,IAAMw7rB,EAAUx7rB,EAAEw7rB,QAClB,IAAIx7rB,EAAE66rB,qBAGN,GAAIW,GAAW,IAAMA,GAAW,IAAMA,GAAW,IAAMA,GAAW,IAAkB,KAAZA,EAClE6yD,EAAYgkH,QACdkZ,EAAsBvr3B,OAF1B,CAMA,IAAMyr3B,EAASzr3B,EAAEu0P,UAAYv0P,EAAEq0P,QAAUr0P,EAAEo0P,QAC3C,IAAKonc,EAAU,IAAMA,EAAU,KAAmB,MAAZA,GAA+B,KAAZA,IAAmB6yD,EAAYgkH,SAAWoZ,EAKjG,OAJAp9H,EAAYokH,eACZL,GAAU/jH,GAAa,EAAM8jH,GAC7B9jH,EAAYz9uB,IAAI,CAAC,EAAG5Q,QACpBsr3B,EAAsB3j3B,KAAI,IAGMqxxB,GAAIpurB,GAAG2ooB,UAAYvzuB,EAAEo0P,QAAUp0P,EAAEu0P,UAAYv0P,EAAEq0P,SAE/Eg6f,EAAYokH,cAXd,CAaF,GACAnvD,EAAOlnuB,GAAG,YAAa,SAAAp8E,GACjBquvB,EAAYgkH,QACdkZ,EAAsBvr3B,EAE1B,GAIAsjzB,EAAOlnuB,GAAG,QAAS,SAAAp8E,GACbA,EAAEs7K,YAJwB,SAAArvK,GAAK,MAAwB,0BAApBA,EAAMqvK,SAAsC,CAI/DowsB,CAAwB1r3B,IAHjB,SAAAiM,GAAK,MAAwB,eAApBA,EAAMqvK,WAA6C,OAAfrvK,EAAM1E,IAAc,CAG1Cok3B,CAAqB3r3B,IAFzC,SAAAiM,GAAK,MAAwB,oBAApBA,EAAMqvK,WAAuD,mBAApBrvK,EAAMqvK,SAA+B,CAExCswsB,CAAwB5r3B,KACnGur3B,EAAsBvr3B,EAE1B,GACAsjzB,EAAOlnuB,GAAG,+BAAgC,SAAAp8E,GACnCA,EAAE66rB,sBACLyoH,EAAO6lB,aAEX,EACF,CAyDI22C,CAAex8D,EAAQj1D,EAAa8jH,GAxDX,SAAA7uD,GAC3BA,EAAOinE,YAAY,SAAU,GAAI,QACjCjnE,EAAOinE,YAAY,sBAAuB,GAAI,OAChD,CAuDEsB,CAAqBvoE,GACdj1D,CACT,EAEMy9H,GAAoB,CAAC,EAAG,GAAIz8H,GAAGu3E,KAAMv3E,GAAGs3E,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAIt3E,GAAG62E,KAAM72E,GAAGm3E,GAAIn3E,GAAG+2E,KAAM/2E,GAAGg3E,OAAOzh0B,OAAOo0xB,GAAIpvrB,QAAQwpoB,YAAc,CAAC,KAAO,IACnL24I,GAAkB,uBAClBC,GAAkB,SAAAhs3B,GAAC,MAAe,YAAXA,EAAEmD,MAAiC,UAAXnD,EAAEmD,IAAiB,EAClE8o3B,GAAgB,SAAAjs3B,GACpB,IAAMw7rB,EAAUx7rB,EAAEw7rB,QAClB,OAAOA,IAAY6zD,GAAG22E,WAAaxqI,IAAY6zD,GAAG42E,MACpD,EAwBMimD,GAAU,SAAA5oE,GACd,IAAIr3vB,EACEs2Z,EAAM+gW,EAAO/gW,IACb+oZ,EAAY18C,GAAmBtL,GAC/Br+wB,EAAgD,QAAjCgnB,EAAKwkwB,GAAenN,UAAiC,IAAZr3vB,EAAgBA,EAAK,GAC7Ekg0B,EAAoB,SAACns3B,EAAGi1O,GAC5B,IA7B6B,SAAAj1O,GAC/B,GAAIgs3B,GAAgBhs3B,GAAI,CACtB,IAAMw7rB,EAAUx7rB,EAAEw7rB,QAClB,OAAQywL,GAAcjs3B,KAAOqvvB,GAAGC,eAAetvvB,IAAMA,EAAEq0P,QAAUmnc,GAAW,KAAOA,GAAW,KAAOs4F,GAAWg4F,GAAmBtwL,GACrI,CACE,OAAO,CAEX,CAsBQ4wL,CAAyBps3B,GAA7B,CAGA,IAAMi8D,EAAOqnvB,EAAO50D,UACd29H,GAzBoB,SAAArs3B,GAAC,OAAIgs3B,GAAgBhs3B,MAAQis3B,GAAcjs3B,IAAiB,UAAXA,EAAEmD,MAAkC,MAAdnD,EAAEw7rB,QAAiB,CAyB5F8wL,CAAsBts3B,IAxB1B,SAACuid,EAAK+nV,EAAS8pD,GACrC,GAAI9sD,GAAUnL,GAAavpD,QAAQ03D,IAAU,GAAQ,CACnD,IAAMH,EAAeG,EAAQpipB,kBAC7B,OAAKiipB,IAEM5nV,EAAI45V,SAAS7R,EAAQpipB,kBAAmB,kBAAmBq6T,EAAI45V,SAAS7R,EAAQpipB,kBAAmB,kBAGrGkssB,IAAoBjqD,EAAa1trB,SAAS35F,aAErD,CACE,OAAO,CAEX,CAW+Dyp2B,CAAgBhqa,EAAKtmZ,EAAMqvyB,IAClB,KAAzC/oZ,EAAIm5V,UAAUz/uB,EAAM8vzB,MACpBM,GAAmBp3oB,KAC5CstO,EAAIs5V,UAAU5/uB,EAAM8vzB,GAAiBM,EAAkBpn1B,EAAc,MACrEs9a,EAAIs5V,UAAU5/uB,EAAM,mBAAoBowzB,EAAkBpn1B,EAAc,MA1wVhD,SAACq+wB,EAAQ/hyB,GACrC+hyB,EAAO5iyB,SAAS,oBAAqB,CACnCa,SAEJ,CAuwVMir2B,CAAsBlpE,EAAQ+oE,GAC9B/oE,EAAOlnuB,GAAGiwyB,EAAkB,UAAY,QAASF,GACjD7oE,EAAOl7tB,IAAIikyB,EAAkB,QAAU,UAAWF,GATpD,CAWF,EACI91Y,GAAWpxc,IACbq+wB,EAAOlnuB,GAAG,OAAQ,SAAAp8E,GAChBms3B,EAAkBns3B,GAAG,GACrBsjzB,EAAOlnuB,GAAG,gCAAiC+vyB,GAC3C7oE,EAAOlnuB,GAAG,QAAS,SAAAp8E,GAAC,OAAIox0B,GAAMC,iBAAiB/tB,EAAQ,kBAAM6oE,EAAkBns3B,EAAE,EAAC,EACpF,EAEJ,EAMMys3B,GAAgB,SAAC9j0B,EAAMq3B,GAAE,MAAM,CACnCr3B,OACAq3B,KACD,EACK0syB,GAAmB,SAACz3rB,EAAU/wI,GAClC,IAAMomvB,EAAUnO,GAAavpD,QAAQ39iB,GAC/B03rB,EAAexwF,GAAavpD,QAAQ1urB,EAAIm5C,aAC9C,OAAO0ivB,GAAiBz1C,EAASqiF,GAAcp62B,IAAI,SAAAizO,GAAK,OAXpC,SAACA,EAAOjiO,GAAQ,MAAM,CAC1CiiO,QACAjiO,WACD,CAQ6Dqp2B,CAAcpnoB,EAAOthM,EAAI,EACvF,EAEM2o0B,GAAiB,SAACthyB,EAAMwjP,GAG5B,OAAO0ud,GAAU1ud,EADF,SAAAnlR,GAAI,OAAI85uB,GAAc95uB,IAAS04uB,GAAwB14uB,EAAK24Z,IAAK,EADjE,SAAA34Z,GAAI,OAAIohC,GAAGphC,EAAM2hC,EAAM,GAEEpxD,OAAOsgwB,IAAaloD,MAAMhnpB,EACpE,EAuBMuhyB,GAAgB,SAAC73rB,EAAU61nB,EAASr5X,GACxC,IAAMs7b,EAAeL,GAAiBz3rB,EAAU4znB,GAAcC,eAAer3X,IACvEu7b,EAAaD,EAAahlzB,KAAK,SAAAklzB,GAAQ,OAAIpyD,GAAa/P,EAAS71nB,EAAUg4rB,EAAS1p2B,UAAUwkD,KAAK,SAAAiY,GAAE,OAAI0syB,GAAiBz3rB,EAAUj1G,GAAIztE,IAAI,SAAA062B,GAAQ,OAfzI,SAACh4rB,EAAU61nB,EAAS8hE,GACrC,OAAIxqF,GAAOwqF,EAAcrp2B,SAASg1tB,aAAe+uD,GAAUslF,EAAcpnoB,OAChEw1kB,IAAW,EAAO4xD,EAAcpnoB,MAAM+8N,KAAKx6Y,KAAK,SAAAmlzB,GACrD,OAAIA,EAAoBlpuB,QAAQ4ouB,EAAcrp2B,UACrCs3yB,GAAa/P,EAAS71nB,EAAUi4rB,GAAqBnlzB,KAAK,SAAAiY,GAAE,OAAI0syB,GAAiBz3rB,EAAUj1G,EAAG,GAE9FmzsB,EAASpyvB,KAAK6r1B,EAEzB,GAAGr6I,MAAMq6I,GAEFA,CAEX,CAGgKO,CAAWl4rB,EAAU61nB,EAASmiE,EAAS,EAAC,EAAC,GACvM,OAAOjzF,GAAM+yF,EAAcC,EAAYP,IAAety1B,OAAO,SAAAsy1B,GAAa,OA/BlD,SAAAA,GAAa,OAAKzhyB,GAAGyhyB,EAAc9j0B,KAAK68L,MAAOinoB,EAAczsyB,GAAGwlK,MAAO,CA+BjB4noB,CAAkBX,IAzB9E,SAACx3rB,EAAUw3rB,GAC7B,IAAMlhyB,EAAO4wsB,GAAavpD,QAAQ39iB,GAClC,OAAOjqG,GAAG6hyB,GAAethyB,EAAMkhyB,EAAc9j0B,KAAK68L,OAAQqnoB,GAAethyB,EAAMkhyB,EAAczsyB,GAAGwlK,OAClG,CAsBoH6noB,CAAYp4rB,EAAUw3rB,IArBrH,SAAAA,GAAa,OAA+D,IAA3DlqF,GAAyBkqF,EAAc9j0B,KAAK68L,MAAM+8N,OAA2E,IAAzDggV,GAAyBkqF,EAAczsyB,GAAGwlK,MAAM+8N,IAAe,CAqBb+qa,CAAab,IApBlJ,SAAAA,GACrB,IAAMc,EAAe,SAAA/noB,GAAK,OAAI89iB,GAAc99iB,IAAUukjB,GAAavkjB,EAAM+8N,IAAK,EAC9E,OAAOgra,EAAad,EAAc9j0B,KAAK68L,QAAU+noB,EAAad,EAAczsyB,GAAGwlK,MACjF,CAiB2LgooB,CAAef,EAAc,EACxN,EAOMgB,GAAkB,SAACjooB,EAAOh/N,GAC9B,IAAM65D,EAL8B,SAACmlK,EAAOh/N,GAC5C,IAAM65D,EAAWy8sB,GAAWt3iB,GAC5B,OAAOgviB,GAAYn0sB,EAAU,SAAAr/C,GAAE,OAAIxa,EAAOuixB,QAAQ9oyB,GAAK+gC,GAAI,GAAE6ysB,KAAK9mL,EAAS1se,GAAW,SAAA7yE,GAAK,OAAI6yE,EAASroE,MAAM,EAAGxK,EAAM,EACzH,CAEmBkg3B,CAA8BlooB,EAAOh/N,GAEtD,OADAwtwB,GAAO3zsB,EAAU4+sB,IACV5+sB,CACT,EACMstyB,GAAkB,SAAC14rB,EAAUuwD,GACjC,IAAMmwS,EAAUskT,GAAez0lB,EAAOvwD,GACtC,OAAOs/lB,GAAO5+P,EAAQl1d,UAAW,SAAAu5C,GAAO,OAAIstrB,GAAUttrB,EAAQ,GAAEj7C,KAAKkguB,GACvE,EAEM2uF,GAAmB,SAAC34rB,EAAUslpB,EAAWszC,EAASrn2B,EAAQsn2B,GAC9D,GAAIxmF,GAAUumF,GAEZ,OADA3pF,GAAkB2pF,GACXzyD,GAAgByyD,EAAQtra,KAJqD,IAA5D4xU,GAASyI,GAMjBkxF,GANmC,SAAA9s1B,GAAE,OAAKsmwB,GAAUtmwB,EAAG,GAAEp/B,QAMtC0lyB,GAAUizC,IAC7C37C,GAASkvF,EAAgB3xF,GAAazpD,QAAQ,OAEhD,IAAMnvtB,EAAW43yB,GAAa0yD,EAAQtra,IAAKsmW,GAAc50pB,OAAO65tB,EAAevra,MAK/E,OAJAyxU,GAAOy5F,GAAgBlzC,EAAW/zzB,GAAS,SAAA+8D,GACzCq7sB,GAASkvF,EAAgBvqyB,EAC3B,GACAoqyB,GAAgB14rB,EAAUslpB,GACnBh3zB,CACT,EAEMwq2B,GAAqB,SAAC94rB,EAAUslpB,EAAWszC,EAASrn2B,GACxD,GAAI8gxB,GAAUumF,GAAU,CACtB,GAAIvmF,GAAUizC,GAAY,CACxB,IAIMyzC,EAA0B55F,IAHxB5mf,EAAS,SAAC5jP,EAAM0zF,GAAQ,OAAK8b,GAAWxvG,GAAMiqrB,KAAK,kBAAMv2lB,CAAQ,EAAE,SAAA/5D,GAAK,OALrE,SAAC/8D,EAAQojC,GAAI,OAAKpjC,EAAOo+H,SAAS3kJ,GAAK2pD,GAAO,CAK2Bg7F,CAASp+H,EAAQ+8D,GAASiqN,EAAOjqN,EAAO+5D,EAAS14I,OAAO2gzB,GAAUhiuB,KAAW+5D,CAAQ,EAAE,EAClKkwJ,EAEyDqglB,EAF9C,KAEwD,SAAC7zwB,EAAS25G,GAEpF,OADAorkB,GAAO/krB,EAAS25G,GACTA,CACT,EAAGswkB,MACHz5uB,GAAM+vxB,GACNz7C,GAASy7C,EAAWyzC,EACtB,CAEA,OADA/uF,GAAS4uF,GACFzyD,GAAgBmf,EAAUh4X,IACnC,CAbwC,IAC5B/0K,EAaNjqR,EAAW83yB,GAAewyD,EAAQtra,KAKxC,OAJAyxU,GAAOy5F,GAAgBlzC,EAAW/zzB,GAAS,SAAA+8D,GACzCu7sB,GAAS+uF,EAAStqyB,EACpB,GACAoqyB,GAAgB14rB,EAAUslpB,GACnBh3zB,CACT,EAKM0q2B,GAAoB,SAAC1zC,EAAWszC,GAAO,OAAKxtwB,GAASwtwB,EAAStzC,GAJzC,SAACszC,EAASrooB,GACnC,IAAM0ooB,EAAmBj0C,GAAez0lB,EAAOqooB,GAC/C,OAAO16F,EAASxquB,KAAKul0B,EAAiBA,EAAiBts3B,OAAS,GAClE,CACiFus3B,CAAmBN,EAAStzC,GAAapnD,EAAS/gX,MAAO,EACpIg8c,GAAS,SAAC/2tB,EAAOmuF,GACrBw1kB,GAAW3jqB,EAAOmuF,EAAM+8N,KAAKx6Y,KAAK,SAAAxkD,GAAQ,OAAI4vwB,EAASxquB,KAAKplC,EAASg1tB,UAAU,GAAEhmuB,IAAI4pxB,GAAavpD,SAASz4sB,OAAOkpwB,IAAQtkuB,KAAKkguB,GACjI,EACMovF,GAAiB,SAACp5rB,EAAUslpB,EAAWszC,EAASrn2B,GAGpD,OAFA4n2B,IAAO,EAAM7zC,GACb6zC,IAAO,EAAOP,GACPI,GAAkB1zC,EAAWszC,GAASh6I,KAAK1lL,EAAM4/T,GAAoB94rB,EAAUslpB,EAAWszC,EAASrn2B,GAAS2niB,EAAMy/T,GAAkB34rB,EAAUslpB,EAAWszC,EAASrn2B,GAC3K,EACM8n2B,GAAc,SAACr5rB,EAAU61nB,EAASyjE,EAAQC,EAAQho2B,GAAM,OAAKskyB,EAAUujE,GAAep5rB,EAAUu5rB,EAAQD,EAAQ/n2B,GAAU6n2B,GAAep5rB,EAAUs5rB,EAAQC,EAAQho2B,EAAQ,EAE3Kio2B,GAAoB,SAACnrE,EAAQwH,GACjC,IAAM71nB,EAAWknmB,GAAavpD,QAAQ0wE,EAAO50D,WACvCnruB,EAzEO,SAAC0xK,EAAU61nB,EAASr5X,GAAG,OAAKA,EAAIptL,UAAYyonB,GAAc73rB,EAAU61nB,EAASr5X,GAAO0hW,EAAS/gX,MAAO,CAyEhGs8c,CAAOz5rB,EAASstR,IAAKuoW,EAASxH,EAAOx8hB,UAAU08hB,UAAUjxyB,IAAI,SAAAk62B,GAAa,OAAI,WAC7F6B,GAAYr5rB,EAAU61nB,EAAS2hE,EAAc9j0B,KAAK68L,MAAOinoB,EAAczsyB,GAAGwlK,MAAO89jB,EAAO98xB,QAAQu4C,KAAK,SAAA7a,GACnGo/vB,EAAOx8hB,UAAUkqe,OAAO9ssB,EAAIsyX,UAC9B,EACF,CAAC,GACD,OAAOjzZ,CACT,EAiBMor2B,GAAmB,SAACpjyB,EAAMw4sB,GAC9B,IAAMn6uB,EAAOuyuB,GAAavpD,QAAQmxD,GAC5Bvka,EAAS2uL,EAAMnje,GAAIO,GACzB,OAAOiysB,GAAW5zuB,EAAM85uB,GAAelka,GAAQ4yW,QACjD,EAEMw8I,GAAuB,SAACrjyB,EAAMkmW,GAClC,IAAMo9b,EAAa1zD,GAAa5vuB,EAAKg3X,IAAKsmW,GAAcC,eAAer3X,IAAMqoT,SACvEg1I,EAAS5zD,GAAa3vuB,EAAKg3X,IAAKsmW,GAAcE,aAAat3X,IAAMqoT,SACvE,OAJyB,SAACvupB,EAAMkmW,GAAG,OAAKk9b,GAAiBpjyB,EAAMkmW,EAAI4jT,iBAAmBs5I,GAAiBpjyB,EAAMkmW,EAAI6jT,aAAc,CAIvHy5I,CAAmBxjyB,EAAMkmW,IAAQo9b,GAAcC,CACzD,EAOME,GAAgB,SAAA1rE,GACpB,IAAMrunB,EAAWknmB,GAAavpD,QAAQ0wE,EAAO50D,WACvCj9T,EAAM6xX,EAAOx8hB,UAAU08hB,SAC7B,OAAOorE,GAAqB35rB,EAAUw8P,GATpB,SAAA6xX,GAClB,OAAOnwB,EAASpyvB,KAAK,WACnBuixB,EAAOxhE,WAAW,IAClBwhE,EAAOx8hB,UAAUgujB,mBACnB,EACF,CAI+Cm6C,CAAY3rE,GAnC5B,SAACrunB,EAAU6xF,EAAWtgQ,GACnD,IAAMira,EAAM3qK,EAAU08hB,SACtB,OAAOxpB,GAAM+lD,GAAiB9qpB,EAAUknmB,GAAavpD,QAAQnhT,EAAI4jT,iBAAkB0qG,GAAiB9qpB,EAAUknmB,GAAavpD,QAAQnhT,EAAI6jT,eAAgB,SAACi5I,EAAQC,GAC9J,OAAKxjyB,GAAGujyB,EAAQC,GAQPr7F,EAAS/gX,OAPT+gX,EAASpyvB,KAAK,WACnB0wZ,EAAIkvZ,iBACJ2tC,GAAYr5rB,GAAU,EAAMs5rB,EAAQC,EAAQho2B,GAAQu4C,KAAK,SAAA7a,GACvD4iO,EAAUkqe,OAAO9ssB,EAAIsyX,UACvB,EACF,EAIJ,GAAG+7T,MAAM4gD,EAAS/gX,OACpB,CAqBqE88c,CAAuBj6rB,EAAUqunB,EAAOx8hB,UAAWw8hB,EAAO98xB,OAC/H,EACM2o2B,GAAoB,SAAC7rE,EAAQ8rE,GAAQ,OAAK9rE,EAAOx8hB,UAAUwne,cAAgB6kC,EAAS/gX,OAAS48c,GAAc1rE,EAAQ,EAEnH+rE,GAAY,SAACnv2B,EAAWojyB,EAAQ15vB,EAAMqqG,EAAQmlH,GAAc,OAAK+5gB,EAASxquB,KAAK26vB,EAAO4oC,oBAAoBmjC,UAAUnv2B,EAAW0pC,EAAMqqG,EAAQmlH,GAAiB,EAM9J0jjB,GAAa,SAACxZ,EAAQ15vB,GAI1B,OAHU05vB,EAAO5iyB,SAAS,uBAAwB,CAChDxU,OAAQ09C,IAEJixoB,qBACGs4F,EAAS/gX,OAEX+gX,EAASpyvB,KAZG,SAAA6oB,GACnB,IAAM6nY,EAAM7nY,EAAK6pX,cAAc09B,cAE/B,OADA1f,EAAIqrY,WAAWlzwB,GACR6nY,CACT,CAQuB69b,CAAa1l0B,GACpC,EAkBM2l0B,GAAmB,SAACjsE,EAAQhvY,EAAOl7J,GAAc,OAAKk7J,EAAMjwK,UAjBvC,SAACi/iB,EAAQhvY,EAAOl7J,GACzC,IAAM6/iB,EAAkBL,GAAe,EAAGtV,EAAO50D,UAAWp6U,GACtDm0Y,EAAgBI,GAAcC,eAAemQ,GAC7Cu2D,EAAoB/mE,EAAclwE,UACxC,GAAIk+E,GAAwB+4D,GAC1B,OAAOH,GAAU,EAAG/rE,EAAQksE,GAAoB/mE,EAAc3jB,WAAW,GAE3E,IAAM2qF,EAA0BhnE,EAAclwE,SAAQ,GACtD,GAAIk+E,GAAwBg5D,GAC1B,OAAOJ,GAAU,EAAG/rE,EAAQmsE,GAAyB,GAAO,GAE9D,IAAMC,EAAS3oC,GAAyBzjC,EAAO/gW,IAAIy5V,UAAWyM,EAAclwE,WAC5E,OAAIk+E,GAAwBi5D,GACnBL,GAAU,EAAG/rE,EAAQosE,GAAQ,EAAOt2mB,GAEtC+5gB,EAAS/gX,MAClB,CAC8Eu9c,CAAmBrsE,EAAQhvY,EAAOl7J,GAAgBm5d,MAAMj+T,GAASA,CAAM,EAE/Is7c,GAAmB,SAAA1r0B,GAAG,OAAI41xB,GAA6B51xB,IAAQw1xB,GAAcx1xB,EAAK,EAClF2r0B,GAAkB,SAAA3r0B,GAAG,OAAI61xB,GAA4B71xB,IAAQy1xB,GAAaz1xB,EAAK,EAM/E4r0B,GAA4B,SAACxsE,EAAQhvY,EAAO1qX,EAAM1pC,EAAW4qyB,EAASilE,GAC1EV,GAAUnv2B,EAAWojyB,EAAQysE,EAAkBx3I,SAASuyE,GAAUA,GAAS,GAAM/rvB,KAAK,SAAAixzB,GACpF,GAAI17c,EAAMjwK,UAAW,CACnB,IAAM4rnB,EAAc37c,EAAM0zY,aACtB8C,EACFmlE,EAAYt9a,OAAOq9a,EAAW36I,eAAgB26I,EAAWv9U,aAEzDw9U,EAAYv9a,SAASs9a,EAAW16I,aAAc06I,EAAWz6I,WAE3D06I,EAAYtvC,gBACd,MACErsa,EAAMqsa,iBAERr9B,EAAOx8hB,UAAUkqe,OAAOg/H,EAC1B,GAnBwB,SAACzta,EAAK34Z,GAC1Bm4uB,GAASn4uB,IAA8B,IAArBA,EAAKriD,KAAK3F,QAC9B2gd,EAAIh2b,OAAOq9B,EAEf,CAgBEsm0B,CAAkB5sE,EAAO/gW,IAAK34Z,EAChC,EA0BMum0B,GAAoB,SAAC7sE,EAAQwH,GAAO,OAzBf,SAACxH,EAAQwH,GAClC,IAAMx2Y,EAAQgvY,EAAOx8hB,UAAU08hB,SAC/B,IAAKzhB,GAASztX,EAAMgmU,yBAClB,OAAO64C,EAAS/gX,OAElB,IAAMlyZ,EAAY4qyB,EAAUoC,GAAWiN,SAAWjN,GAAWsN,UACvD8vB,EAAc/vB,GAAYjX,EAAO50D,WACjC0hI,EAAejiU,EAAMgrQ,GAAwBrO,EAAUw/B,EAAY960B,KAAO860B,EAAY/60B,MACtF8g3B,EAAavlE,EAAU8kE,GAAmBC,GAC1CpnE,EAAgBuQ,GAA2B94yB,EAAWojyB,EAAO50D,UAAWp6U,GACxEg8c,EAAoBF,EAAa3nE,GACjC8nE,EAA8BD,EAAoBlloB,GAAkB0/jB,EAASwlE,GAAqBA,EACxG,IAAKC,IAAgCl3D,GAAsB5Q,EAAe8nE,GACxE,OAAOp9F,EAAS/gX,OACX,GAAIi+c,EAAWE,GACpB,OAAOp9F,EAASpyvB,KAAK,kBAAM+u1B,GAA0BxsE,EAAQhvY,EAAOm0Y,EAAclwE,UAAWr4tB,EAAW4qyB,EAASylE,EAA4B,GAE/I,IAAMR,EAAoBK,EAAaG,GACvC,OAAIR,GAAqBM,EAAWN,IAC9B12D,GAAsBk3D,EAA6BR,GAC9C58F,EAASpyvB,KAAK,kBAAM+u1B,GAA0BxsE,EAAQhvY,EAAOm0Y,EAAclwE,UAAWr4tB,EAAW4qyB,EAASilE,EAAkB,GAGhI58F,EAAS/gX,MAClB,CAC+Co+c,CAAmBltE,EAAQwH,EAAS,EAE7E2lE,GAAqB,SAACntE,EAAQotE,GAClC,IAAMnlyB,EAAO+3tB,EAAO50D,UACpB,OAAOgiI,EAAUt1D,GAAgB7vuB,GAAMpxD,OAAO2/yB,IAAgCze,GAAe9vuB,GAAMpxD,OAAO4/yB,GAC5G,EACM42C,GAAsB,SAAArtE,GAC1B,IAAM7xX,EAAM6xX,EAAOx8hB,UAAU08hB,SAC7B,OAAQ/xX,EAAIptL,YAAcosnB,GAAmBntE,GAAQ,GAAM7pV,OAAO,SAAAv1a,GAAG,OAAIA,EAAI8/F,QAAQ6kqB,GAAcC,eAAer3X,GAAK,IAAKg/b,GAAmBntE,GAAQ,GAAO7pV,OAAO,SAAAv1a,GAAG,OAAIA,EAAI8/F,QAAQ6kqB,GAAcE,aAAat3X,GAAK,GAC1N,EAGMm/b,GAAevkE,GAAa,CAAC,CACjC9/xB,OAAQ,CAAC,YACR,CACDsk2B,cAAe,CAAC,YACf,CACDC,eAAgB,CAAC,eAWbC,GAA8B,SAACxlyB,EAAMu/tB,EAASniwB,EAAMq3B,GACxD,IAAMgxyB,EAAWhxyB,EAAGu4pB,SAASuyE,GAC7B,OAAOi1B,GAAiB5jD,GAAavpD,QAAQrnpB,GAAO4wsB,GAAavpD,QAAQjqrB,EAAK4vrB,YAAYhmuB,IAAI,SAAA0+2B,GAAQ,OAAI3pF,GAAU2pF,GAAYL,GAAark2B,OAAO0k2B,EAAS1ua,KAAOqua,GAAaC,cAAcG,EAAS,GAAEp9I,QAAQ,kBAAMu/C,EAASpyvB,KAAK6v1B,GAAaC,cAAcG,GAAU,EAC7Q,EACME,GAAkB,SAAC3lyB,EAAMu/tB,EAASniwB,EAAMniC,GAAM,OAAKq0yB,GAAa/P,EAASv/tB,EAAM5iC,GAAMof,KAAK,SAAAiY,GAC9F,OAtBwBp2B,EAsBFo2B,EAAGu4pB,UAtBOg6C,EAAc3ouB,KAAU85uB,GAAcvH,GAAavpD,QAAQhprB,KAAU45uB,GAAarH,GAAavpD,QAAQhprB,MAalG,SAAC2hC,EAAMu/tB,EAASniwB,EAAMq3B,EAAIx5D,GAC/D,IAAM8yyB,EAAc,SAAA1myB,GAAG,OAAIpM,EAAOo+H,SAAShyH,EAAI6pF,SAAS35F,iBAAmBk1yB,GAAcrvwB,EAAMq3B,EAAIuL,EAAM,EACzG,OAAOwtuB,IAAmBjO,EAASniwB,GAAMkrrB,KAAK,kBAAMklF,GAAkBjO,EAAS9quB,GAAI6zpB,KAAKq/C,EAAOomC,EAAY,EAAEA,EAC/G,CAQa63D,CAA+B5lyB,EAAMu/tB,EAASniwB,EAAMq3B,EAAIx5D,GAD1D2swB,EAAS/gX,OAGP04Y,GAAWvoB,GAAyBvitB,EAAGu4pB,aAEtCuyE,GAAWvoB,GAAyBvitB,EAAGu4pB,SAAQ,IADlDw4I,GAA4BxlyB,EAAMu/tB,EAASniwB,EAAMq3B,GAG/C8quB,GAAWivB,GAA4BpxxB,KAEtCmiwB,GAAWgvB,GAA6BnxxB,GAD3CwquB,EAASpyvB,KAAK6v1B,GAAaE,eAAe9wyB,IAI1CmzsB,EAAS/gX,OAnCM,IAAAxoX,CAqC1B,EAAG,EAmBGwn0B,GAA2B,SAAC7lyB,EAAMu/tB,EAASniwB,EAAMniC,GACrD,OAjDoC,SAACskyB,EAASniwB,GAC9C,IAAM/1B,EAAM+1B,EAAK4vrB,SAASuyE,GACpBumE,EAAgBvmE,EAAU,QAAU,SAC1C,OAAO1pB,GAAYxuwB,IAAQA,EAAIqnF,aAAa,oBAAsBo3wB,CACpE,CA6CMC,CAA8BxmE,EAASniwB,GAnBP,SAACmiwB,EAASl4xB,GAC9C,OAAI0/vB,EAAW1/vB,GACNugwB,EAAS/gX,OACP04Y,GAAWvoB,GAAyB3vwB,EAAIu1V,aAC1Cgra,EAASpyvB,KAAK6v1B,GAAaC,cAAcj+1B,EAAIu1V,eAC1C2ic,GAAWvoB,GAAyB3vwB,EAAI07Z,iBAC3C6kW,EAASpyvB,KAAK6v1B,GAAaC,cAAcj+1B,EAAI07Z,kBAE7C6kW,EAAS/gX,MAEpB,CAUWm/c,CAA8BzmE,EAASniwB,EAAK4vrB,SAASuyE,IAAUl3E,QAAQ,kBAAMs9I,GAAgB3lyB,EAAMu/tB,EAASniwB,EAAMniC,EAAO,GAEzH0q2B,GAAgB3lyB,EAAMu/tB,EAASniwB,EAAMniC,GAAQuhD,KAAK,SAAA25wB,GAAY,OAX1B,SAACn2vB,EAAM5iC,EAAM+4xB,GAAY,OAAKA,EAAa7tG,KAAK,SAAAjhtB,GAAG,OAAIugwB,EAASpyvB,KAAK6v1B,GAAark2B,OAAOqG,GAAK,EAAE,SAAAA,GAAG,OAAIugwB,EAASpyvB,KAAK6v1B,GAAaC,cAAcj+1B,GAAK,EAAE,SAAAotD,GACpM,OAAIg4uB,GAAcrvwB,EAAMq3B,EAAIuL,GACnB4nsB,EAAS/gX,OAET+gX,EAASpyvB,KAAK6v1B,GAAaE,eAAe9wyB,GAErD,EAAG,CAK0EwxyB,CAAuCjmyB,EAAM5iC,EAAM+4xB,EAAa,EAE7I,EAgCM+vC,GAAgB,SAACnuE,EAAQ15vB,GAAI,OAAKupuB,EAASxquB,KAAKo+xB,GAAyBzjC,EAAO50D,UAAW9ksB,GAAO,EAClG8n0B,GAAuB,SAACpuE,EAAQwH,GACpC,IAAMy5B,EAAejhC,EAAOx8hB,UAAUyxd,UACtC,OAAOk5I,GAAcnuE,EAAQihC,GAAcpqzB,OAAOoowB,IAA0B1uD,KAAK,kBAlCtE,SAACtopB,EAAMu/tB,EAASr5X,EAAKjra,GAChC,IAAMyyyB,EAAkBL,GAAe9N,EAAU,GAAK,EAAGv/tB,EAAMkmW,GACzD9oY,EAAOkgwB,GAAcC,eAAemQ,GACpC9/pB,EAAcgjoB,GAAavpD,QAAQrnpB,GACzC,OAAKu/tB,GAAWivB,GAA4BpxxB,GACnCwquB,EAASpyvB,KAAK6v1B,GAAark2B,OAAOo8B,EAAK4vrB,SAAQ,KAC7CuyE,GAAWgvB,GAA6BnxxB,GAC1CwquB,EAASpyvB,KAAK6v1B,GAAark2B,OAAOo8B,EAAK4vrB,aACpCuyE,GAAWgvB,GAA6BnxxB,IAASsyxB,GAAU9hrB,EAAaxwG,EAAMniC,GACjF20zB,GAAehirB,EAAaxwG,EAAMniC,GAAQjU,IAAI,SAAAwpZ,GAAE,OAAI60d,GAAark2B,OAAOwvY,EAAGw8U,UAAU,GACnFuyE,GAAWivB,GAA4BpxxB,IAASqyxB,GAAa7hrB,EAAaxwG,EAAMniC,GAClF40zB,GAAWjirB,EAAaxwG,EAAMniC,GAAQjU,IAAI,SAAAwpZ,GAAE,OAAI60d,GAAark2B,OAAOwvY,EAAGw8U,UAAU,GAEjF64I,GAAyB7lyB,EAAMu/tB,EAASniwB,EAAMniC,EAEzD,CAmByFusC,CAAKuwvB,EAAO50D,UAAWo8D,EAASxH,EAAOx8hB,UAAU08hB,SAAUF,EAAO98xB,QAAQjU,IAAI,SAAAmv0B,GAAY,OAAI,kBAAMA,EAAa7tG,KAjBlL,SAACyvE,EAAQwH,GAAO,OAAK,SAAA9wsB,GAG3C,OAFAspsB,EAAO4oC,oBAAoBylC,gBAC3B/yC,GAAgBt7B,EAAQwH,EAAS3uB,GAAavpD,QAAQ54nB,KAC/C,CACT,CAAE,CAa6M43wB,CAAgBtuE,EAAQwH,GAZjN,SAACxH,EAAQwH,GAAO,OAAK,SAAA9wsB,GACzC,IAAM91D,EAAM4mwB,EAAUjC,GAAc50pB,OAAOj6C,GAAW6usB,GAAcrggB,MAAMxuM,GAE1E,OADAspsB,EAAOx8hB,UAAUkqe,OAAO9ssB,EAAIsyX,YACrB,CACT,CAAE,CAQ+Oq6c,CAAcvtE,EAAQwH,GAPhP,SAAAxH,GAAM,OAAI,SAAAp/vB,GAE/B,OADAo/vB,EAAOx8hB,UAAUkqe,OAAO9ssB,EAAIsyX,YACrB,CACT,CAAE,CAI+Qs6c,CAAextE,GAAQ,GAAC,EAAE,kBAAMnwB,EAASpyvB,KAAK8sF,EAAK,EACpU,EAIMgkwB,GAAuB,SAACvuE,EAAQwH,GACpC,IAAMy5B,EAAejhC,EAAOx8hB,UAAUyxd,UACtC,OAAIgqD,GAAyBgiD,KAAkB/hD,GAAc+hD,GACpCktC,GAAcnuE,EAAQihC,EAAappuB,YAAYhhF,OAAOoowB,IACvD1uD,KAAK,kBAAMs/C,EAASpyvB,KAAK,WAPlB,IAAAo4H,IAQFgjoB,GAAavpD,QAAQ0wE,EAAO50D,WAPzDslC,GAAOrwmB,GAAYxqB,EAAa,4BAA6B8loB,IAQzD2/C,GAAgBt7B,EAAQwH,EAAS3uB,GAAavpD,QAAQ0wE,EAAOx8hB,UAAUyxd,YACvE0nG,GAAc38B,EAChB,EAAE,EAAE,kBAAMnwB,EAASpyvB,KAAK8sF,EAAK,GAE3B8iwB,GAAoBrtE,GACfnwB,EAASpyvB,KAAK,WACnB2/yB,GAAoBp9B,EAAQA,EAAOx8hB,UAAU08hB,SAAUrnB,GAAavpD,QAAQ0wE,EAAO50D,WACrF,GAEKykC,EAAS/gX,MAClB,EACM0/c,GAAmB,SAAAxuE,GACvB,IAAM/gW,EAAM+gW,EAAO/gW,IACjBz7L,EAAYw8hB,EAAOx8hB,UACf4omB,EAAS3oC,GAAyBzjC,EAAO50D,UAAW5ne,EAAUyxd,WACpE,GAAI+pD,GAAwBotF,IAAWnta,EAAIwmV,QAAQ2mF,IAAWnta,EAAIvib,QAAQ0v1B,GAAS,CACjF,IAAM3zd,EAAKwmD,EAAItna,OAAO,KAAM,CAC1B,iBAAkB,MAEpBsna,EAAIm6V,QAAQgzE,EAAQ,IACpBA,EAAO7y0B,YAAYk/W,GACnBj1I,EAAUkqe,OAAO63D,GAAc50pB,OAAO8nQ,GAAIya,UAC5C,CACA,OAAO,CACT,EACMu7c,GAAoB,SAACzuE,EAAQwH,GACjC,OAAIxH,EAAOx8hB,UAAUwne,cACZojI,GAAqBpuE,EAAQwH,GAE7B+mE,GAAqBvuE,EAAQwH,EAExC,EAMMknE,GAAoB,SAAC1uE,EAAQwH,GAAO,OAAKxH,EAAOx8hB,UAAUwne,cAJ1C,SAACg1D,EAAQwH,GAC7B,IAAMu1B,EAAUx3B,GAAcC,eAAexF,EAAOx8hB,UAAU08hB,UAC9D,OAAOqX,GAAa/P,EAASxH,EAAO50D,UAAW2xF,GAASlmzB,OAAO,SAAA+pB,GAAG,OAAI4mwB,EAAU0uB,GAAmBt1xB,GAAOu1xB,GAAkBv1xB,EAAI,GAAE6jB,KAAK,SAAA7jB,GAAG,OAAIi0wB,GAA6BrN,EAAU,GAAK,EAAG5mwB,EAAI,GAAE3xC,IAAI,SAAAqgB,GAAG,OAAI,kBAAM0wxB,EAAOx8hB,UAAUvhP,OAAO3S,EAAI,GAClP,CACgFq/1B,CAAc3uE,EAAQwH,GAAW33B,EAAS/gX,MAAO,EAE3H8/c,GAAWnwF,GACXowF,GAA2B,SAAAvo0B,GAAI,OAAIso0B,GAASto0B,IAASA,EAAKriD,KAAK,KAAO48xB,EAAO,EAC7EiuF,GAAyB,SAAAxo0B,GAAI,OAAIso0B,GAASto0B,IAASA,EAAKriD,KAAKqiD,EAAKriD,KAAK3F,OAAS,KAAOuiyB,EAAO,EAC9FkuF,GAAa,SAAAzo0B,GACjB,IAAIqC,EAEJ,OAD0C,QAA7BA,EAAKrC,EAAK6pX,qBAAuC,IAAZxnX,EAAgBA,EAAK5iC,UAC5DwgC,eAAes6uB,GAC5B,EAiDMmuF,GAAe,SAACr+tB,EAAQrqG,GAAI,OAAKqqG,EAhDhB,SAAArqG,GACrB,IAAIqC,EACJ,GAAIim0B,GAASto0B,EAAK0kY,iBAChB,OAAI8jc,GAAuBxo0B,EAAK0kY,kBAG9B1kY,EAAK0kY,gBAAgB26T,WAAWk7C,IAFzBv6uB,EAAK0kY,gBAKT,GAAI4jc,GAASto0B,GAClB,OAAIuo0B,GAAyBvo0B,IAG3BA,EAAKi0xB,WAAW,EAAG15C,IAFZv6uB,EAMT,IAAMsqN,EAAUm+mB,GAAWzo0B,GAE3B,OAD2B,QAA1BqC,EAAKrC,EAAKuxD,kBAAoC,IAAZlvD,GAAyBA,EAAG2wD,aAAas3J,EAAStqN,GAC9EsqN,CAEX,CA2BgDq+mB,CAAe3o0B,GA1BzC,SAAAA,GACpB,IAAIqC,EAAIigU,EACR,GAAIgmgB,GAASto0B,EAAKu+T,aAChB,OAAIgqgB,GAAyBvo0B,EAAKu+T,cAGhCv+T,EAAKu+T,YAAY01d,WAAW,EAAG15C,IAFxBv6uB,EAAKu+T,YAKT,GAAI+pgB,GAASto0B,GAClB,OAAIwo0B,GAAuBxo0B,IAGzBA,EAAKq/rB,WAAWk7C,IAFTv6uB,EAMT,IAAMsqN,EAAUm+mB,GAAWzo0B,GAM3B,OALIA,EAAKu+T,YACoB,QAA1Bl8T,EAAKrC,EAAKuxD,kBAAoC,IAAZlvD,GAAyBA,EAAG2wD,aAAas3J,EAAStqN,EAAKu+T,aAE/D,QAA1B+D,EAAKtiU,EAAKuxD,kBAAoC,IAAZ+wQ,GAAyBA,EAAGrvU,YAAYq3N,GAEtEA,CAEX,CACuEs+mB,CAAc5o0B,EAAM,EACrF6o0B,GAAqBtkU,EAAMmkU,IAAc,GACzCI,GAAoBvkU,EAAMmkU,IAAc,GAExCK,GAAkB,SAACzu0B,EAAK+vG,GAC5B,OAAI8toB,GAAS79uB,EAAIm5C,aACRi1xB,GAAar+tB,EAAQ/vG,EAAIm5C,aAEzBi1xB,GAAar+tB,EAAQ/vG,EAAIq0rB,UAEpC,EACMq6I,GAAsB,SAAC1u0B,EAAK+kO,GAChC,IAAM4pmB,EAAY5pmB,EAAMrhR,MACxB,OAAOir3B,GAAa3u0B,EAAIm5C,cAAgBw1xB,GAAapuF,GAAuBouF,EAC9E,EACMx1mB,GAAc,SAAC4L,EAAOjwP,GAAQ,OAAKA,EAAS66sB,KAAK,SAAA75nB,GACrDi7sB,GAAShsiB,EAAMrhR,OACf,IAAMmwB,EAAO061B,GAAmBz4wB,GAEhC,OADAivK,EAAMthR,IAAIowB,GACHo7vB,EAASpyvB,KAAK8nxB,GAAc9wxB,EAAMA,EAAKn2B,OAAS,GACzD,EAAG,SAAAo4G,GAAO,OAAIohtB,GAAgBphtB,GAASznG,IAAI,SAAA2xC,GACzC,GAAK0u0B,GAAoB1u0B,EAAK+kO,GAKvB,CACL,IAAMr/N,EAAOq/N,EAAMrhR,MACnB,OAAOihzB,GAAcj/vB,EAAM,EAC7B,CAPEqrwB,GAAShsiB,EAAMrhR,OACf,IAAMmwB,EAAO461B,GAAgBzu0B,GAAK,GAElC,OADA+kO,EAAMthR,IAAIowB,GACH8wxB,GAAc9wxB,EAAM,EAK/B,EAAE,EAAE,SAAAiiF,GAAO,OAAIqhtB,GAAerhtB,GAASznG,IAAI,SAAA2xC,GACzC,GAAK0u0B,GAAoB1u0B,EAAK+kO,GAKvB,CACL,IAAMr/N,EAAOq/N,EAAMrhR,MACnB,OAAOihzB,GAAcj/vB,EAAMA,EAAKhoD,OAAS,EAC3C,CAPEqzzB,GAAShsiB,EAAMrhR,OACf,IAAMmwB,EAAO461B,GAAgBzu0B,GAAK,GAElC,OADA+kO,EAAMthR,IAAIowB,GACH8wxB,GAAc9wxB,EAAMA,EAAKn2B,OAAS,EAK7C,EAAE,EAAE,SAAAo4G,GACFi7sB,GAAShsiB,EAAMrhR,OACf,IAAMmwB,EAAO261B,GAAkB14wB,GAE/B,OADAivK,EAAMthR,IAAIowB,GACHo7vB,EAASpyvB,KAAK8nxB,GAAc9wxB,EAAM,GAC3C,EAAG,EAEG+61B,GAAgB,SAACvzoB,EAAKpoO,GAC1B,IAAK,IAAIhV,EAAI,EAAGA,EAAIo9O,EAAI39O,OAAQO,IAAK,CACnC,IAAMkB,EAASk8O,EAAIp9O,GAAGiJ,MAAM,KAAM+L,GAClC,GAAI9T,EAAO+uuB,SACT,OAAO/uuB,CAEX,CACA,OAAO8vxB,EAAS/gX,MAClB,EAEMjhF,GAAWk7d,GAAa,CAAC,CAC7Bp4pB,OAAQ,CAAC,YACR,CACDx8I,MAAO,CAAC,YACP,CACDC,IAAK,CAAC,YACL,CACD8wS,MAAO,CAAC,cAEJuqkB,GAAY,SAAC99rB,EAAUrrI,GAC3B,IAAMq/uB,EAAc8uB,GAAiBnuwB,EAAMqrI,GAC3C,OAAOg0mB,GAA4Bh0mB,CACrC,EACMhhC,GAAS,SAACorrB,EAAgBpqpB,EAAU/wI,GACxC,IAAM8u0B,EAAOvzC,GAAkBv7xB,GACzB6qR,EAAQgkjB,GAAU99rB,EAAU+9rB,EAAK31xB,aACvC,OAAOkivB,GAAeF,EAAgBtwgB,EAAOikjB,GAAMn/I,KAAK,kBAAMqnF,GAAansf,EAAOikjB,GAAMjrzB,KAAKomf,EAAMoxR,GAAgBF,EAAgBtwgB,IAAQx8T,IAAI,SAAAkvJ,GAAM,OAAI0vL,GAASl9L,OAAOwN,EAAO,EAAC,EAAE0xnB,EAAS/gX,KAC9L,EACM6gd,GAAkC,SAACh+rB,EAAUriK,GAAG,OAAgD,OAA3C4oyB,GAAwBvmoB,EAAUriK,EAAc,EACrGsg2B,GAAuB,SAAC7zC,EAAgBpqpB,EAAU/wI,GAAG,OAAKq7xB,GAAeF,EAAgBpqpB,EAAU/wI,GAAK/pB,OAAOg0hB,EAAM8kU,GAAiCh+rB,GAAW,EACjKk+rB,GAAU,SAAC9zC,EAAgBpqpB,EAAU/wI,GACzC,IAAM8u0B,EAAOtzC,GAAmBx7xB,GAChC,OAAOgv0B,GAAqB7zC,EAAgBpqpB,EAAU+9rB,GAAMjrzB,KAAK,SAAA05F,GAE/D,OADgB05pB,GAAa15pB,EAAQuxtB,GACtBl5I,SAAWq5C,EAASpyvB,KAAKowT,GAAS15U,MAAMgqJ,IAAW0xnB,EAAS/gX,MAC7E,EACF,EACM16Z,GAAM,SAAC2n0B,EAAgBpqpB,EAAU/wI,GACrC,IAAM8u0B,EAAOvzC,GAAkBv7xB,GAC/B,OAAOgv0B,GAAqB7zC,EAAgBpqpB,EAAU+9rB,GAAMjrzB,KAAK,SAAA05F,GAE/D,OADgBy5pB,GAAaz5pB,EAAQuxtB,GACtBl5I,SAAWq5C,EAASpyvB,KAAKowT,GAASz5U,IAAI+pJ,IAAW0xnB,EAAS/gX,MAC3E,EACF,EACM5pH,GAAQ,SAAC62hB,EAAgBpqpB,EAAU/wI,GACvC,IAAM8u0B,EAAOtzC,GAAmBx7xB,GAC1B6qR,EAAQgkjB,GAAU99rB,EAAU+9rB,EAAK31xB,aACvC,OAAOkivB,GAAeF,EAAgBtwgB,EAAOikjB,GAAMn/I,KAAK,kBAAMsnF,GAAapsf,EAAOikjB,GAAMjrzB,KAAKomf,EAAMoxR,GAAgBF,EAAgBtwgB,IAAQx8T,IAAI,SAAAkvJ,GAAM,OAAI0vL,GAAS3oC,MAAM/mJ,EAAO,EAAC,EAAE0xnB,EAAS/gX,KAC7L,EACMghd,GAAkB,SAAAp61B,GAAQ,OAAK2oxB,GAAMploB,GAAWvjJ,GAAW,EAC3Dq61B,GAAe,SAACh0C,EAAgBpqpB,EAAU/wI,GAE9C,OADiB4u0B,GAAc,CAAC7+tB,GAAQk/tB,GAASz72B,GAAK8wS,IAAQ,CAAC62hB,EAAgBpqpB,EAAU/wI,IACzE/pB,OAAOi51B,GACzB,EACM72sB,GAAa,SAAAvjJ,GAAQ,OAAIA,EAAS66sB,KAAKjhpB,EAAUA,EAAUA,EAAUA,EAAU,EAC/E04P,GAAU,SAAAtyT,GAAQ,OAAIA,EAAS66sB,KAAK9mL,EAAS,UAAWA,EAAS,SAAUA,EAAS,OAAQA,EAAS,SAAU,EAC/GssL,GAAU,SAAArgtB,GAAQ,OAAIA,EAAS66sB,KAAK1iZ,GAASl9L,OAAQk9L,GAASl9L,OAAQk9L,GAAS3oC,MAAO2oC,GAAS3oC,MAAO,EACtGywb,GAAS,SAAAjgtB,GAAQ,OAAIA,EAAS66sB,KAAK1iZ,GAAS15U,MAAO05U,GAAS15U,MAAO05U,GAASz5U,IAAKy5U,GAASz5U,IAAK,EAE/F472B,GAAiB,SAACxoE,EAASu0B,EAAgBpqpB,EAAUtsI,EAAMq3B,EAAIhnD,GAAQ,OAAKghwB,GAAMulD,GAAeF,EAAgBpqpB,EAAUtsI,GAAO42xB,GAAeF,EAAgBpqpB,EAAUj1G,GAAK,SAACuzyB,EAAYC,GACjM,OAAID,IAAeC,GApxRM,SAACv+rB,EAAUsjoB,EAAOC,GAC3C,IAAM+1D,EAASx2D,GAAiBQ,EAAOtjoB,GACjCu5rB,EAASz2D,GAAiBS,EAAOvjoB,GACvC,OAAOs9lB,EAAcg8F,IAAWA,IAAWC,CAC7C,CAgxRiCiF,CAAmBx+rB,EAAUs+rB,EAAYC,GAC/DriiB,GAAS3oC,MAAMsigB,EAAUyoE,EAAaC,GAEtCx61B,CAEX,GAAGu5sB,MAAMv5sB,EAAU,EACb061B,GAAiB,SAACC,EAAcC,GAAU,OAAKD,EAAa9/I,KAAK92X,EAAQ,SAAA42gB,GAAY,OARlEE,EAQ0FD,IAR5EtoiB,GAAzBwoiB,EAQuFH,KARvCroiB,GAAQuoiB,IAAct3sB,GAAWu3sB,KAAev3sB,GAAWs3sB,IAA5G,IAACC,EAAWD,CAQqG,EAAE,EAO1HE,GAAqB,SAACjpE,EAAS9xxB,GACnC,OAAI8xxB,EACK9xxB,EAAS66sB,KAAK4+C,EAAQU,EAASpyvB,KAAMowT,GAAS15U,OAAQ07wB,EAAS/gX,KAAMqgX,EAAQU,EAASpyvB,KAAMowT,GAAS3oC,OAAQ2qe,EAAS/gX,MAEtHp5Y,EAAS66sB,KAAKs/C,EAAS/gX,KAAMqgX,EAAQU,EAASpyvB,KAAMowT,GAASl9L,QAASk/nB,EAAS/gX,KAAMqgX,EAAQU,EAASpyvB,KAAMowT,GAASz5U,KAEhI,EACMs82B,GAAiB,SAAClpE,EAASu0B,EAAgBpqpB,EAAU/wI,GACzD,IAAMyE,EAAOyiM,GAAkB0/jB,EAAS5mwB,GAClCyv0B,EAAeN,GAAah0C,EAAgBpqpB,EAAUtsI,GAC5D,OAAO0q0B,GAAah0C,EAAgBpqpB,EAAUtsI,GAAMof,KAAKomf,EAAM4lU,GAAoBjpE,IAAUl3E,QAAQ,kBAhB1E,SAACk3E,EAASu0B,EAAgBpqpB,EAAU0+rB,EAAczv0B,GAC7E,IAAMyE,EAAOyiM,GAAkB0/jB,EAAS5mwB,GAGxC,OAFW22wB,GAAa/P,EAAS71nB,EAAUtsI,GAAMp2C,IAAI47iB,EAAM/iU,GAAmB0/jB,IAC1Dj3E,KAAK,kBAAM8/I,EAAaph3B,IAAI8muB,GAAQ,EAAE,SAAAr5pB,GAAE,OAAIqzyB,GAAah0C,EAAgBpqpB,EAAUj1G,GAAIztE,IAAI47iB,EAAMmlU,GAAgBxoE,EAASu0B,EAAgBpqpB,EAAUtsI,EAAMq3B,IAAK7lD,OAAOg0hB,EAAMulU,GAAgBC,GAAc,GAC9Mx51B,OAAOi51B,GACzB,CAW6Ga,CAAqBnpE,EAASu0B,EAAgBpqpB,EAAU0+rB,EAAczv0B,EAAI,EACvL,EAKMgw0B,GAAU,SAACppE,EAAShkiB,EAAW5iO,GACnC,IAAMglD,EAAQ4htB,EAAU,GAAK,EAG7B,OAFAhkiB,EAAUkqe,OAAO63D,GAAc3kwB,EAAIm5C,YAAan5C,EAAIt/B,SAAWskF,GAAOstU,WACtE1vJ,EAAU82iB,SAAS1+hB,OAAO,OAAQ4rhB,EAAU,UAAY,WAAY,SAC7D,CACT,EACMqpE,GAAa,SAACrpE,EAASxH,GAC3B,IAAM7xX,EAAM6xX,EAAOx8hB,UAAU08hB,SACvBt/vB,EAAM4mwB,EAAUjC,GAAcE,aAAat3X,GAAOo3X,GAAcC,eAAer3X,GACrF,QAZ4B,SAAA6xX,GAC5B,OAAO11vB,EAAW01vB,EAAOx8hB,UAAU82iB,SAAS1+hB,OAC9C,CAUOk1lB,CAAsB9wE,KAEhBwH,GAAWnmB,GAAezgvB,GAC5Bgw0B,IAAQ,EAAM5wE,EAAOx8hB,UAAW5iO,KAC7B4mwB,IAAWjmB,GAAc3gvB,KAC5Bgw0B,IAAQ,EAAO5wE,EAAOx8hB,UAAW5iO,GAI5C,GAGA,SAAWu8yB,GACTA,EAAUA,EAAc,GAAI,GAAK,KACjCA,EAAUA,EAAiB,MAAI,GAAK,QACpCA,EAAUA,EAAgB,KAAI,GAAK,OACnCA,EAAUA,EAAe,IAAI,GAAK,KACnC,CALD,CAKGA,KAAcA,GAAY,CAAC,IAC9B,IAkHI4zB,GAlHEpiT,GAAO,SAAC/xjB,EAAWsE,GAAS,OAAKtE,IAAcgtyB,GAAWsN,UAAY/5vB,GAAQj8C,GAAaA,CAAU,EACrG8v2B,GAAS,SAACp02B,EAAWoq0B,EAAapmyB,GAAG,OAAKhkC,IAAcgtyB,GAAWiN,SAAWmwB,EAAY960B,KAAK00C,GAAOomyB,EAAY/60B,KAAK20C,EAAK,EAC5Hqw0B,GAAe,SAACxljB,EAAO7uT,EAAWwqmB,EAAY2xN,GAClD,OAAIj6C,GAAOi6C,EAAQ9jG,QAAQr4tB,IAAcgtyB,GAAWiN,WAC3CsmC,GAAUrjc,IAC+B,IAAvC46Z,GAActtM,EAAY2xN,GAC5BokB,GAAUz7G,MAEVy7G,GAAU+zB,IAErB,EACMC,GAAoB,SAACprxB,EAAWnpF,EAAW6uT,EAAOt3T,GAItD,IAHA,IAAM6y0B,EAAc/vB,GAAYxrf,GAC5B27S,EAAajzmB,EACX+M,EAAY,GACXkmmB,GAAY,CACjB,IAAM2xN,EAAUi4C,GAAOp02B,EAAWoq0B,EAAa5/N,GAC/C,IAAK2xN,EACH,MAEF,GAAIj6C,GAAOi6C,EAAQ9jG,SAAQ,IACzB,OAAIr4tB,IAAcgtyB,GAAWiN,SACpB,CACL31yB,UAAWytjB,GAAK/xjB,EAAWsE,GAAW5f,OAAO,CAACy30B,IAC9Cq4C,UAAWj0B,GAAUrjc,GACrBu3d,QAASxhG,EAASpyvB,KAAKs7yB,IAGlB,CACL73zB,UAAWytjB,GAAK/xjB,EAAWsE,GAC3Bkw2B,UAAWj0B,GAAUrjc,GACrBu3d,QAASxhG,EAASpyvB,KAAKs7yB,IAI7B,GAAKA,EAAQ96lB,YAAb,CAIA,GAAIl4I,EAAUqhhB,EAAY2xN,GAAU,CAClC,IAAMq4C,EAAYH,GAAaxljB,EAAO7uT,EAAWwqmB,EAAY2xN,GAC7D,MAAO,CACL73zB,UAAWytjB,GAAK/xjB,EAAWsE,GAC3Bkw2B,YACAC,QAASxhG,EAASpyvB,KAAKs7yB,GAE3B,CACA73zB,EAAUtd,KAAKm10B,GACf3xN,EAAa2xN,CAVb,MAFE3xN,EAAa2xN,CAajB,CACA,MAAO,CACL73zB,UAAWytjB,GAAK/xjB,EAAWsE,GAC3Bkw2B,UAAWj0B,GAAUm0B,IACrBD,QAASxhG,EAAS/gX,OAEtB,EACMyid,GAA2B,SAAC302B,EAAW402B,EAAwB/ljB,EAAOt3T,GAAK,OAAKq92B,EAAuB/ljB,EAAOt3T,GAAOk92B,QAAQpi3B,IAAI,SAAA2xC,GACrI,IAAM1/B,EAAYsw2B,EAAuB/ljB,EAAO7qR,GAAK1/B,UACrD,OAAOtE,IAAcgtyB,GAAWsN,UAAYh2yB,EAAU5f,OAAOs/C,GAAO,CAACA,GAAKt/C,OAAO4f,EACnF,GAAG+ttB,MAAM,GAAI,EACPwiJ,GAAyC,SAACvw2B,EAAWtM,GAAC,OAAKm8wB,GAAM7vwB,EAAW,SAACs4E,EAAKw9uB,GAAM,OAAKx9uB,EAAI+2oB,KAAK,kBAAMs/C,EAASpyvB,KAAKu5yB,EAAO,EAAE,SAAAxxb,GAAO,OAAIkxY,GAAM9wuB,GAAK4/V,EAAQuoD,kBAAmBnoZ,GAAKoxxB,EAAOjpY,kBAAmB,SAAC2jb,EAAUC,GAClO,IAAMC,EAAWp12B,KAAKgB,IAAI5I,EAAI882B,EAAS512B,MAEvC,OADgBU,KAAKgB,IAAI5I,EAAI+82B,EAAQ712B,OACnB812B,EAAW56C,EAASxxb,CACxC,GAAG8R,GAAG99T,EAAI,EAAC,EAAEq2rB,EAAS/gX,OAAQ,EACxB+id,GAAgC,SAAC3w2B,EAAW0/B,GAAG,OAAKgF,GAAKhF,EAAImtZ,kBAAkBtpY,KAAK,SAAAqtzB,GAAU,OAAIL,GAAuCvw2B,EAAW4w2B,EAAWh22B,KAAK,EAAE,EACtKi22B,GAAgClnU,EAAMsmU,GAAmB5rE,GAAc/5U,SAAU,GACjFwmZ,GAA4BnnU,EAAMsmU,GAAmB5rE,GAAcz5U,QAAS,GAC5EmmZ,GAAoBpnU,EAAM0mU,IAA2B,EAAGQ,IACxDG,GAAoBrnU,EAAM0mU,GAA0B,EAAGS,IACvDG,GAAgB,SAAC1mjB,EAAO7qR,GAAG,OAAKmx0B,GAA8BtmjB,EAAO7qR,GAAKyw0B,QAAQ76I,QAAS,EAC3F47I,GAAe,SAAC3mjB,EAAO7qR,GAAG,OAAKox0B,GAA0BvmjB,EAAO7qR,GAAKyw0B,QAAQ76I,QAAS,EAGtF67I,GAA0B,SAAC5mjB,EAAO7qR,GAAG,OAAKix0B,GAA8BI,GAAkBxmjB,EAAO7qR,GAAMA,EAAK,EAC5G0x0B,GAA0B,SAAC7mjB,EAAO7qR,GAAG,OAAKix0B,GAA8BK,GAAkBzmjB,EAAO7qR,GAAMA,EAAK,EAE5G2x0B,GAA2BtzF,GAC3BuzF,GAAuB,SAAC7/V,EAAY3xgB,GAAO,OAAKxE,KAAKgB,IAAIm1gB,EAAW72gB,KAAOkF,EAAS,EACpFyx2B,GAAwB,SAAC9/V,EAAY3xgB,GAAO,OAAKxE,KAAKgB,IAAIm1gB,EAAW52gB,MAAQiF,EAAS,EAEtF0x2B,GAAwB,SAAC73b,EAAa75a,GAAO,OAAK/K,GAAO4kb,EAAa,SAAC83b,EAAehgW,GAC1F,IAAMigW,EAAcp22B,KAAKgL,IAAIgr2B,GAAqBG,EAAe3x2B,GAAUyx2B,GAAsBE,EAAe3x2B,IAC1G6x2B,EAAcr22B,KAAKgL,IAAIgr2B,GAAqB7/V,EAAY3xgB,GAAUyx2B,GAAsB9/V,EAAY3xgB,IAC1G,OAAI6x2B,IAAgBD,GAJWzgG,GAIqBx/P,EAJG,SAIY4/V,GAAyB5/V,EAAWrse,OAGnGus0B,EAAcD,EAFTjgW,EAKFggW,CACT,EAAG,EAEGG,GAAqB,SAAAxs0B,GACzB,IAAMys0B,EAAkB,SAAAl4b,GACtB,OAAO41V,GAAM51V,EAAa,SAAAp0a,GACxB,IAAMksgB,EAAasyI,GAAQx+oB,GAE3B,OADAksgB,EAAWrse,KAAOA,EACXqse,CACT,EACF,EACA,GAAImrQ,GAAYx3uB,GACd,OAAOys0B,EAAgBzs0B,EAAKynZ,kBACvB,GAAI0wV,GAASn4uB,GAAO,CACzB,IAAM6nY,EAAM7nY,EAAK6pX,cAAc09B,cAG/B,OAFA1f,EAAIihB,SAAS9oZ,EAAM,GACnB6nY,EAAIkhB,OAAO/oZ,EAAMA,EAAKriD,KAAK3F,QACpBy03B,EAAgB5kc,EAAI4f,iBAC7B,CACE,MAAO,EAEX,EACMA,GAAiB,SAAA/0V,GAAK,OAAIm4qB,GAAOn4qB,EAAO85wB,GAAoB,GAGlE,SAAW/B,GACTA,EAAWA,EAAe,IAAK,GAAK,KACpCA,EAAWA,EAAiB,KAAI,GAAK,MACtC,CAHD,CAGGA,KAAeA,GAAa,CAAC,IAChC,IA8/CIiC,GAt/CEC,GAAY,SAACr22B,EAAWs22B,EAAWC,EAAYlryB,EAAMssuB,EAAapP,GACtE,IAAI95d,EAAO,EACLtrV,EAAS,GACTuN,EAAM,SAAAg5C,GACV,IAAIu0Y,EAAckT,GAAe,CAACznZ,KACf,IAAf1pC,IACFi+a,EAAcA,EAAY19X,WAE5B,IAAK,IAAIt+D,EAAI,EAAGA,EAAIg8b,EAAYv8b,OAAQO,IAAK,CAC3C,IAAM8zhB,EAAa93F,EAAYh8b,GAC/B,IAAIs03B,EAAWxgW,EAAYygW,GAA3B,CAOA,GAJIrz3B,EAAOzB,OAAS,GAAK403B,EAAUvgW,EAAY6/P,GAAOzyxB,KACpDsrV,IAEFsnM,EAAWtnM,KAAOA,EACdkpe,EAAY5hS,GACd,OAAO,EAET5yhB,EAAO6D,KAAK+uhB,EARZ,CASF,CACA,OAAO,CACT,EACMygW,EAAmB5gG,GAAO2yB,EAAcp3W,kBAC9C,IAAKqlb,EACH,OAAOrz3B,EAET,IAAMumD,EAAO6+vB,EAAclwE,UAK3B,OAJI3urB,IACFh5C,EAAIg5C,GAtCU,SAAC1pC,EAAWqrE,EAAMssuB,EAAajuwB,GAE/C,IADA,IAAIg0Y,EAAch0Y,EACXg0Y,EAAcg6X,GAASh6X,EAAa19a,EAAW8lxB,GAA4Bz6sB,IAChF,GAAIssuB,EAAYj6X,GACd,MAGN,CAgCI+4b,CAAUz22B,EAAWqrE,EAAM36E,EAAKg5C,IAE3BvmD,CACT,EAGMuz3B,GAAUzoU,EAAMooU,GAAWlC,GAAWhod,GAAIg6Y,GAAWE,IACrDswE,GAAY1oU,EAAMooU,GAAWlC,GAAWz2L,KAAM2oH,GAAWF,IACzDywE,GAAoB,SAAAruE,GACxB,OAAO3yB,GAAO2yB,EAAcp3W,iBAC9B,EA0CM0lb,GAAc,SAAA1mQ,GAAU,OAAI,SAAAp6F,GAAU,OAhDpB,SAACo6F,EAAYp6F,GAAU,OAAKA,EAAWtnM,KAAO0hS,CAAW,CAgDjC2mQ,CAAgB3mQ,EAAYp6F,EAAY,CAAD,EACjFghW,GAAS,SAAA5mQ,GAAU,OAAI,SAAAp6F,GAAU,OAhDlB,SAACo6F,EAAYp6F,GAAU,OAAKA,EAAWtnM,OAAS0hS,CAAW,CAgDrC6mQ,CAAa7mQ,EAAYp6F,EAAY,CAAD,EAEzEkhW,GAAc,SAAC7zE,EAAQ7xX,GAC3B6xX,EAAOx8hB,UAAUkqe,OAAOv/T,GACxB2+Y,GAAoB9sB,EAAQA,EAAOx8hB,UAAU08hB,SAC/C,EACM4zE,GAAsB,SAAC9zE,EAAQhvY,EAAOl7J,GAAc,OAAK+5gB,EAASpyvB,KAAKwu1B,GAAiBjsE,EAAQhvY,EAAOl7J,GAAiB,EACxHi+mB,GAAmB,SAAC/zE,EAAQpjyB,EAAWo0Z,EAAOspF,EAAUD,EAASr1I,GACrE,IAAMy9b,EAAW7lyB,IAAcgtyB,GAAWiN,SACpCmwB,EAAc/vB,GAAYjX,EAAO50D,WACjC0hI,EAAejiU,EAAMgrQ,GAAwBpT,EAAWukC,EAAY960B,KAAO860B,EAAY/60B,MACvF8g3B,EAAatqE,EAAWnoT,EAAWD,EACzC,IAAKrpF,EAAMjwK,UAAW,CACpB,IAAMz6M,EAAO68vB,GAAgBnyY,GAC7B,GAAIhsD,EAAU1+T,GACZ,OAAOyl0B,GAAUnv2B,EAAWojyB,EAAQ15vB,EAAM1pC,IAAcgtyB,GAAWsN,WAAW,GACzE,GAAIm2D,GAAoBrtE,GAAS,CACtC,IAAMwqB,EAAWx5Z,EAAM0zY,aAEvB,OADA8lB,EAASlrZ,SAAS1ia,IAAcgtyB,GAAWsN,WACpCrnC,EAASxquB,KAAKmlxB,EACvB,CACF,CACA,IAAMrlB,EAAgBuQ,GAA2B94yB,EAAWojyB,EAAO50D,UAAWp6U,GAC9E,GAAI+7c,EAAW5nE,GACb,OAAOqU,GAAWxZ,EAAQmF,EAAclwE,SAASwtE,IAEnD,IAAIuqE,EAAoBF,EAAa3nE,GAC/B6uE,EAA0BlyF,GAA6B9wX,GAC7D,IAAKg8c,EACH,OAAOgH,EAA0BnkG,EAASpyvB,KAAKuzY,GAAS6+W,EAAS/gX,OAInE,GAAIi+c,EAFFC,EAAoBlloB,GAAkB26jB,EAAUuqE,IAGhD,OAAOjB,GAAUnv2B,EAAWojyB,EAAQgtE,EAAkB/3I,SAASwtE,GAAWA,GAAU,GAEtF,IAAMgqE,EAAoBK,EAAaE,GACvC,OAAIP,GAAqBM,EAAWN,IAC9B12D,GAAsBi3D,EAAmBP,GACpCV,GAAUnv2B,EAAWojyB,EAAQysE,EAAkBx3I,SAASwtE,GAAWA,GAAU,GAGpFuxE,EACKF,GAAoB9zE,EAAQgtE,EAAkB95c,WAAW,GAE3D28W,EAAS/gX,MAClB,EACMmld,GAAiB,SAACj0E,EAAQpjyB,EAAWo0Z,EAAOspF,EAAUD,EAASr1I,GACnE,IAAMmgc,EAAgBuQ,GAA2B94yB,EAAWojyB,EAAO50D,UAAWp6U,GACxEkjd,EAAkB1hG,GAAO2yB,EAAcp3W,kBACvC00W,EAAW7lyB,IAAcm02B,GAAWz2L,KACpCrymB,EAAO+3tB,EAAO50D,UACpB,IAAK8oI,EACH,OAAOrkG,EAAS/gX,OAElB,GAAIu+c,GAAoBrtE,GAAS,CAC/B,IAAMmF,EAAgB1C,EAAW8C,GAAcE,aAAaz0Y,GAASu0Y,GAAcC,eAAex0Y,GAElG,OADsByxY,EAAqC6vE,GAA1BD,IACbpqyB,EAAMk9tB,GAAe70E,QAAQ,kBAAMu/C,EAASxquB,KAAK8/vB,EAAc,GAAEl2yB,IAAI,SAAA2xC,GAAG,OAAIA,EAAIsyX,SAAS,EAC/G,CACA,IAUIonB,EATE65b,GADW1xE,EAAW8wE,GAAYD,IACTrryB,EAAMwryB,GAAY,GAAItuE,GAC/CivE,EAAoBvjG,GAASsjG,EAAeR,GAAO,IACnD3y2B,EAAUkz2B,EAAgBp42B,KAC1Bu42B,EAAe3B,GAAsB0B,EAAmBpz2B,GAC9D,GAAIqz2B,GAAgBrvgB,EAAUqvgB,EAAa/t0B,MAAO,CAChD,IAAMitiB,EAAQ/2kB,KAAKgB,IAAIwD,EAAUqz2B,EAAav42B,MACxC03kB,EAAQh3kB,KAAKgB,IAAIwD,EAAUqz2B,EAAat42B,OAC9C,OAAOgw2B,GAAUnv2B,EAAWojyB,EAAQq0E,EAAa/t0B,KAAMitiB,EAAQC,GAAO,EACxE,CASA,GANEl5J,EADEggE,EAAS6qT,GACGA,EAAclwE,UACnB56O,EAAQ8qT,GACHA,EAAclwE,SAAQ,GAEtBkuE,GAAgBnyY,GAEf,CACf,IAAMsjd,EAzHa,SAAC132B,EAAWqrE,EAAMssuB,EAAajuwB,GACpD,IACIwvwB,EACAy+D,EACArB,EACA/tE,EAJE6hC,EAAc/vB,GAAYhvuB,GAK1BloF,EAAS,GACXsrV,EAAO,EACO,IAAdzuU,GACFk5yB,EAASkxB,EAAY960B,KACrBqo3B,EAAYtxE,GACZiwE,EAAYnwE,GACZoC,EAAgBI,GAAcrggB,MAAM5+P,KAEpCwvwB,EAASkxB,EAAY/60B,KACrBso3B,EAAYxxE,GACZmwE,EAAYjwE,GACZkC,EAAgBI,GAAc50pB,OAAOrqG,IAEvC,IAAM8s0B,EAAmBI,GAAkBruE,GAC3C,GACE,GAAKA,EAAclnkB,YAAnB,CAGA,IAAMx3N,EAAO+s2B,GAAkBruE,GAC/B,IAAI+tE,EAAUzs2B,EAAM2s2B,GAApB,CAGIrz3B,EAAOzB,OAAS,GAAKi23B,EAAU9t2B,EAAM+rwB,GAAOzyxB,KAC9CsrV,IAEF,IAAMsnM,EAAasyI,GAAQx+oB,GAG3B,GAFAksgB,EAAW1ygB,SAAWklyB,EACtBxyR,EAAWtnM,KAAOA,EACdkpe,EAAY5hS,GACd,OAAO5yhB,EAETA,EAAO6D,KAAK+uhB,EAVZ,CAJA,QAeOwyR,EAAgB2Q,EAAO3Q,IAChC,OAAOplzB,CACT,CAiF2By03B,CAAe532B,EAAWqrE,EAAMwryB,GAAY,GAAIn5b,GACnEm6b,EAAsB/B,GAAsB7hG,GAASyjG,EAAgBX,GAAO,IAAK3y2B,GACrF,GAAIyz2B,EACF,OAAOX,GAAoB9zE,EAAQy0E,EAAoBx02B,SAASizZ,WAAW,GAG7E,GADAuhd,EAAsBjiG,GAAO3B,GAASyjG,EAAgBX,GAAO,KAE3D,OAAOG,GAAoB9zE,EAAQy0E,EAAoBx02B,SAASizZ,WAAW,EAE/E,CACA,OAAiC,IAA7Bkhd,EAAkB913B,OACbo23B,GAAgB10E,EAAQyC,GAAU5rxB,OAAO4rxB,EAAWpoT,EAAUC,GAAUrrf,IAAI,SAAA2xC,GAAG,OAAIqr0B,GAAiBjsE,EAAQp/vB,EAAIsyX,WAAW,EAAM,GAEnI28W,EAAS/gX,MAClB,EACM4ld,GAAkB,SAAC10E,EAAQwH,GAC/B,IA/pasBlhwB,EAAMqrI,EA+patBw8P,EAAM6xX,EAAOx8hB,UAAU08hB,SACvB76vB,EAAOmiwB,EAAUjC,GAAcE,aAAat3X,GAAOo3X,GAAcC,eAAer3X,GAChFrsa,GAjqagBwkC,EAiqaMjB,EAAK00C,YAjqaL43F,EAiqakBqunB,EAAO50D,UA9pa9C8uC,GAAWrB,GAAavpD,QAAQhprB,GAFtB,SAAAA,GAAI,OAAIqtwB,GAAwBrtwB,EAAK24Z,IAAK,EAC5C,SAAA34Z,GAAI,OAAIA,EAAK24Z,MAAQttR,CAAS,GACmB1iL,IAAI,SAAAqgB,GAAG,OAAIA,EAAI2vb,GAAG,GAAEgwR,MAAMt9iB,IA+pa1F,GAAI61nB,EAAS,CACX,IAAMmtE,EAAW3C,GAA0Blw2B,EAAMujC,GACjD,OAAOisuB,GAAOqjG,EAASzz2B,UACzB,CACE,IAAMyz2B,EAAW5C,GAA8Bjw2B,EAAMujC,GACrD,OAAOO,GAAK+u0B,EAASzz2B,UAEzB,EACM0z2B,GAAuB,SAAC50E,EAAQwH,EAAS7B,GAAiB,OAAK+uE,GAAgB10E,EAAQwH,GAAS3wxB,OAAO8uxB,GAAmBxvV,OAAO,SAAAv1a,GAErI,OADAo/vB,EAAOx8hB,UAAUkqe,OAAO9ssB,EAAIsyX,YACrB,CACT,EAAG,EAEG2hd,GAAmB,SAAC70E,EAAQp/vB,GAChC,IAAMutY,EAAM6xX,EAAO/gW,IAAI46V,YACvB1rX,EAAIihB,SAASxuZ,EAAIm5C,YAAan5C,EAAIt/B,UAClC6sa,EAAIkhB,OAAOzuZ,EAAIm5C,YAAan5C,EAAIt/B,UAChC0+xB,EAAOx8hB,UAAUkqe,OAAOv/T,EAC1B,EACM2mc,GAAc,SAAC722B,EAAOqR,GACtBrR,EACFqR,EAAIwnF,aAAa,oBAAqB,mBAEtCxnF,EAAIolF,gBAAgB,oBAExB,EACMqgxB,GAAsB,SAAC/0E,EAAQr6hB,EAAOjwP,GAAQ,OAAKqkP,GAAY4L,EAAOjwP,GAAUzmB,IAAI,SAAA2xC,GAExF,OADAi00B,GAAiB70E,EAAQp/vB,GAClBlrB,CACT,EAAG,EAUGs/1B,GAAe,SAACh1E,EAAQr6hB,EAAO6hiB,GACnC,IAAM71nB,EAAWqunB,EAAO50D,UAClB/lsB,EAXqB,SAAC2rX,EAAO/oV,EAAMu/tB,GACzC,IAAMrzyB,EAAQoxyB,GAAcC,eAAex0Y,GAC3C,GAAIA,EAAMjwK,UACR,OAAO5sP,EAEP,IAAMC,EAAMmxyB,GAAcE,aAAaz0Y,GACvC,OAAOw2Y,EAAUqQ,GAAa5vuB,EAAM7zE,GAAK66tB,MAAM76tB,GAAOwjzB,GAAa3vuB,EAAM9zE,GAAO86tB,MAAM96tB,EAE1F,CAGe8g3B,CAAqBj1E,EAAOx8hB,UAAU08hB,SAAUvunB,EAAU61nB,GACjE0tE,EAAmBrqU,EAAMkxR,GAAgB/7B,GAE/C,OADiB0wE,GAAelpE,EAAS0tE,EAAkBvjsB,EAAUtsI,GACrDof,KAAK,SAAA/uC,GAAQ,OAAIq/1B,GAAoB/0E,EAAQr6hB,EAAOjwP,EAAS,EAC/E,EAQMy/1B,GAA2B,SAACn1E,EAAQr6hB,GACxC,IAAMyvmB,EAAazvmB,EAAMrhR,MACzB,GAAI07yB,EAAOx8hB,UAAUwne,gBAAkBg1D,EAAOwmB,WAAa4uD,EAAY,CACrE,IAAMx00B,EAAM2kwB,GAAcC,eAAexF,EAAOx8hB,UAAU08hB,UACtDqF,GAAcG,eAAe9kwB,KArrSpB,SAAAA,GAAG,OAAIygvB,GAAezgvB,IAAQ2gvB,GAAc3gvB,EAAK,CAqrSpBy00B,CAASz00B,KACjDi00B,GAAiB70E,EAAQiS,GAAoBmjE,EAAYx00B,IACzD+kO,EAAMthR,IAAI,MAEd,CACF,EAUMix3B,GAAS,SAACt1E,EAAQr6hB,EAAO6hiB,GAAO,QAAKkG,GAA0B1N,IAAUg1E,GAAah1E,EAAQr6hB,EAAO6hiB,GAAS14E,QAAiB,EAC/HymJ,GAAW,SAAC/tE,EAASxH,EAAQw1E,GAAM,QAAK9nE,GAA0B1N,IAAU6wE,GAAWrpE,EAASxH,EAAgB,EAChHy1E,GAAqB,SAAAz1E,GACzB,IAAMr6hB,EAAQ23hB,GAAK,MACb43E,EAAmBrqU,EAAMkxR,GAAgB/7B,GAQ/C,OAPAA,EAAOlnuB,GAAG,aAAc,SAAAp8E,GAClBgxzB,GAA0B1N,KAhCZ,SAAC+7B,EAAgB98X,EAAK65V,GAC1C,IAAM48E,EAAmBjlG,GAAMpwmB,GAAYw4mB,GAAavpD,QAAQrwR,EAAIy5V,WAAY,0CAA2C,SAAAh8yB,GAAC,OAAIA,EAAEuid,GAAG,GAC/H02a,EAAkB9kG,GAAS6kG,EAAkB35C,GAC7C65C,EAAgB/kG,GAASioB,EAAMijC,GACrCrrD,GAAOrylB,GAAWs3rB,EAAiBC,GAAgB/qU,EAAMiqU,IAAa,IACtEpkG,GAAOrylB,GAAWu3rB,EAAeD,GAAkB9qU,EAAMiqU,IAAa,GACxE,CA2BMe,CAAcX,EAAkBl1E,EAAO/gW,IAAKvid,EAAE21hB,SAC9C8iW,GAAyBn1E,EAAQr6hB,GAjBP,SAACo2jB,EAAgB/7B,EAAQr6hB,EAAOmzhB,GAC9D,GAAIkH,EAAOx8hB,UAAUwne,cAAe,CAClC,IAAM8qI,EAAUjlG,GAASioB,EAAMijC,GAC/BrrD,GAAOolG,EAAS,SAAAC,GACd,IAAMn10B,EAAM2kwB,GAAcC,eAAexF,EAAOx8hB,UAAU08hB,UAC1D6vE,GAAah0C,EAAgB/7B,EAAO50D,UAAWxqsB,GAAK6jB,KAAK,SAAA/uC,GAAQ,OAAIq/1B,GAAoB/0E,EAAQr6hB,EAAOjwP,EAAS,EACnH,EACF,CACF,CAUMsg2B,CAAwBd,EAAkBl1E,EAAQr6hB,EAAOjpR,EAAE21hB,SAE/D,GACO1sQ,CACT,EACMswmB,GAAeprU,EAAM0qU,IAAU,GAC/BW,GAAerrU,EAAM0qU,IAAU,GAC/BY,GAAuB,SAACn2E,EAAQwH,EAAS7hiB,GAC7C,GAAI+niB,GAA0B1N,GAAS,CACrC,IAAMo2E,EAAY1B,GAAgB10E,EAAQwH,GAAS90E,WAAW,WAC5D,IAAMvkT,EAAM6xX,EAAOx8hB,UAAU08hB,SAC7B,OAAOsH,EAAUjC,GAAcE,aAAat3X,GAAOo3X,GAAcC,eAAer3X,EAClF,GACA,OAAO4hc,GAAallU,EAAMkxR,GAAgB/7B,GAASA,EAAO50D,UAAWgrI,GAAWjga,OAAO,SAAA9oI,GACrF,IAAMgpiB,EAAatgJ,GAAQ1oZ,GAC3B,OAAOtzE,GAAY4L,EAAO0wmB,GAAYlga,OAAO,SAAAv1a,GAE3C,OADAi00B,GAAiB70E,EAAQp/vB,IAClB,CACT,EACF,EACF,CACE,OAAO,CAEX,EAaM010B,GAAmB,SAACt2E,EAAQr6hB,GAAK,OAAK,SAAAjwP,GAAQ,OAAIqkP,GAAY4L,EAAOjwP,GAAUzmB,IAAI,SAAA2xC,GAAG,OAAI,kBAAMi00B,GAAiB70E,EAAQp/vB,EAAI,GAAE,CAAD,EAC9H210B,GAAe,SAACv2E,EAAQr6hB,EAAOtgO,EAAMq3B,GACzC,IAAMi1G,EAAWqunB,EAAO50D,UAClB8pI,EAAmBrqU,EAAMkxR,GAAgB/7B,GAC/CA,EAAOj1D,YAAYn9M,OAAO,WACxBoyQ,EAAOx8hB,UAAUkqe,OAhBM,SAACrosB,EAAMq3B,GAChC,IAAMs0V,EAAQjrZ,SAAS8nb,cAGvB,OAFA78B,EAAMo+B,SAAS/pZ,EAAK00C,YAAa10C,EAAK/jC,UACtC0vZ,EAAMq+B,OAAO3yX,EAAGqd,YAAard,EAAGp7D,UACzB0vZ,CACT,CAW4Bwld,CAAmBnx0B,EAAMq3B,IACjD6/vB,GAAwBv8B,GACxB+vE,GAAamF,EAAkBvjsB,EAAU4znB,GAAcC,eAAexF,EAAOx8hB,UAAU08hB,WAAWjxyB,IAAI0muB,IAAQlxqB,KAAK6xzB,GAAiBt2E,EAAQr6hB,IAAQlqN,KAAKn8D,EAC3J,GACA0gzB,EAAO6lB,aACT,EAKM4wD,GAA2B,SAACz2E,EAAQr6hB,EAAO6hiB,EAASniwB,GACxD,IAAMssI,EALQ,SAACA,EAAUrrI,GACzB,IAAMq/uB,EAAc8uB,GAAiBnuwB,EAAMqrI,GAC3C,OAAOg0mB,GAA4Bh0mB,CACrC,CAEmB+ksB,CAAQ12E,EAAO50D,UAAW/lsB,EAAK00C,aAC1Cm7xB,EAAmBrqU,EAAMkxR,GAAgB/7B,GACzCqwE,EAAeN,GAAamF,EAAkBvjsB,EAAUtsI,GAQ9D,OAPiBgr0B,EAAa5rzB,KAAK,SAAA/uC,GACjC,OAAI8xxB,EACK9xxB,EAAS66sB,KAAK9mL,EAASomO,EAASpyvB,KAAKk4sB,GAAOjgtB,KAAam6vB,EAAS/gX,KAAM26I,EAASomO,EAASpyvB,KAAKs4sB,GAAQrgtB,KAAam6vB,EAAS/gX,MAE7Hp5Y,EAAS66sB,KAAKs/C,EAAS/gX,KAAM26I,EAASomO,EAASpyvB,KAAKs4sB,GAAQrgtB,KAAam6vB,EAAS/gX,KAAM26I,EAASomO,EAASpyvB,KAAKk4sB,GAAOjgtB,KAEjI,GACgBzmB,IAAIqn3B,GAAiBt2E,EAAQr6hB,IAAQ+sd,WAAW,WAC9D,IAAMikJ,EAAah1rB,GAAS6lnB,EAAS71nB,EAAUtsI,GACzCir0B,EAAaqG,EAAWlyzB,KAAK,SAAA7jB,GAAG,OAAImv0B,GAAamF,EAAkBvjsB,EAAU/wI,EAAI,GACvF,OAAO81uB,GAAM25F,EAAcC,EAAY,kBAAMr0C,GAAei5C,EAAkBvjsB,EAAUtsI,GAAMof,KAAK,SAAAn1C,GACjG,OAnCgC,SAAAA,GAAG,OAAIonwB,GAAMohC,GAAgBxoyB,GAAMyoyB,GAAezoyB,GAAM,SAACiqzB,EAAU/zb,GACvG,IAAMw3b,EAAqBl1lB,IAAkB,EAAMyxlB,GAC7C0D,EAAoBn1lB,IAAkB,EAAO09J,GACnD,OAAOoya,GAAatoyB,EAAK0tzB,GAAoB9oG,OAAO,SAAAtzrB,GAAG,OAAIA,EAAI8/F,QAAQu8rB,EAAkB,EAC3F,GAAGhuG,OAAM,EAAM,CA+BL2nJ,CAA8Btn2B,GACzBugwB,EAASpyvB,KAAK,WACnB69yB,GAAgBt7B,EAAQwH,EAAS3uB,GAAavpD,QAAQhgtB,GACxD,GAEOugwB,EAAS/gX,MAEpB,EAAE,GAAE4jU,WAAW,kBAAM49I,EAAW7rzB,KAAK,kBAAMkyzB,EAAW1n3B,IAAI,SAAAytE,GACxD,OAAO,WACD8quB,EACF+uE,GAAav2E,EAAQr6hB,EAAOtgO,EAAMq3B,GAElC65yB,GAAav2E,EAAQr6hB,EAAOjpM,EAAIr3B,EAEpC,CACF,EAAE,EAAC,EACL,EACF,EACMwx0B,GAAoB,SAAC72E,EAAQr6hB,EAAO6hiB,GACxC,GAAIxH,EAAOx8hB,UAAUwne,eAAiB0iE,GAA0B1N,GAAS,CACvE,IAAM36vB,EAAOkgwB,GAAcC,eAAexF,EAAOx8hB,UAAU08hB,UAC3D,OAAOu2E,GAAyBz2E,EAAQr6hB,EAAO6hiB,EAASniwB,EAC1D,CACA,OAAOwquB,EAAS/gX,MAClB,EAGMgod,GAAkB,SAAC92E,EAAQpqE,GAC/B,IAAMoxD,EAAUnO,GAAavpD,QAAQ0wE,EAAO50D,WACtCw7E,EAAW/tC,GAAavpD,QAAQ0wE,EAAOx8hB,UAAU6ud,YACjDhgN,EAAUskT,GAAe/P,EAAU5/B,GACzC,OAAO9V,GAAY7+P,EAASujN,GAAMrF,KAAK9mL,EAASp3B,GAAU,SAAAnohB,GAAK,OAAImohB,EAAQ39gB,MAAM,EAAGxK,EAAM,EAC5F,EACM6s3B,GAAkB,SAAAzn2B,GAAG,OAA6B,IAAzBmqwB,GAAgBnqwB,EAAW,EACpD0n2B,GAAwC,SAAAh3E,GAAM,OAAI82E,GAAgB92E,EAAQ,SAAA1wxB,GAAG,OAAI0wxB,EAAO98xB,OAAOuixB,QAAQ9oyB,GAAK2yB,KARtF,SAAAA,GAAG,OAAImqwB,GAAgBnqwB,GAAO,CAAE,CAQ+D2n2B,CAAoB3n2B,EAAI,EAAE,EAE/I4n2B,GAAiB,SAACl3E,EAAQm3E,GAC9B,IAAMC,EAAoBvsU,EAAMmjS,GAAiBhuC,GACjD,OAAO7uB,GAAOgmG,EAAe,SAAA7n2B,GAAG,OAAI8n2B,EAAkB9n2B,GAAO,CAACA,EAAI2vb,KAAO,EAAE,EAC7E,EACMo4a,GAAwB,SAAAr3E,GAC5B,IAAMm3E,EANiB,SAAAn3E,GAAM,OAAI82E,GAAgB92E,EAAQ,SAAAtixB,GAAE,OAAIsixB,EAAO98xB,OAAOuixB,QAAQ9oyB,GAAK+gC,GAAI,EAAE,CAM1E451B,CAAiBt3E,GACvC,OAAOk3E,GAAel3E,EAAQm3E,EAChC,EAUMI,GAAgB,SAACv3E,EAAQwH,GAC7B,IAAM2vE,EAAgBtmG,GAASmmG,GAAsCh3E,GAAS+2E,IAC9E,OAAOzlG,GAAO6lG,GAAe1yzB,KAAK,SAAA77D,GAChC,IAAMm00B,EAAUx3B,GAAcC,eAAexF,EAAOx8hB,UAAU08hB,UAC9D,OAAI48B,GAAgCt1B,EAASu1B,EAASn00B,EAAOq2c,OAAS++W,GAA0Bp1zB,GACvFinxB,EAASpyvB,KAAK,kBAdA,SAAC+pxB,EAASxH,EAAQp3yB,EAAQuu3B,GACnD,IAAMzqC,EAAcwqC,GAAel3E,EAAQm3E,GAC3C,GAA2B,IAAvBzqC,EAAYpu1B,OACdg90B,GAAgBt7B,EAAQwH,EAAS5+yB,OAC5B,CACL,IAAMg4C,EAAMktyB,GAAuBll1B,EAAOq2c,IAAKytY,GAC/C1sC,EAAOx8hB,UAAUkqe,OAAO9ssB,EAAIsyX,UAC9B,CACF,CAMiCskd,CAAmBhwE,EAASxH,EAAQp3yB,EAAQuu3B,EAAc,GAE9EtnG,EAAS/gX,MAEpB,EACF,EAMM2od,GAA2B,SAACz3E,EAAQ0sC,GACxC,IAFmBp9zB,EAEbs3yB,EAAW5mB,EAAOx8hB,UAAU6ud,WAC5BzxrB,EAPmB,SAACo/vB,EAAQ1wxB,GAClC,IAAMw5V,EAAYx5V,EAAI22H,cACtB,OAAO64oB,GAAOxvwB,KAASq2G,EAAOmjP,IAAck3b,EAAO/gW,IAAIvib,QAAQosV,EACjE,CAIc4ugB,CAAmB13E,EAAQ4mB,KAHpBt3yB,EAG8Cs3yB,EAHvC5I,GAA0BnlC,GAAavpD,QAAQhgtB,KAGIw+zB,GAAuBlnB,EAAU8lB,GAlwP7E,SAACv+Z,EAAKu+Z,GACvC,IAAAirC,EAGI/pC,GAAkBlB,GAFpB9qD,EAAc+1F,EAAd/1F,eACAujB,EAAawyE,EAAbxyE,cAGF,OADAh3X,EAAI23X,WAAWlkB,EAAe3iV,KACvBkmW,CACT,CA2vP+HyyE,CAA2B53E,EAAOx8hB,UAAU08hB,SAAUwsC,GACnL1sC,EAAOx8hB,UAAUkqe,OAAO9ssB,EAAIsyX,UAC9B,EAOM2kd,GAA6B,SAAA1pc,GAAG,OAAIswW,GAAStwW,EAAI4jT,eAAgB,EAejE+lJ,GAAiC,SAAA3pc,GAAG,OATH,SAAAA,GACrC,IAAM4pc,EAAc5pc,EAAI4jT,eAAel6nB,WACjCmgxB,EAAY7pc,EAAI6jT,aAAan6nB,WACnC,OAAQ8tB,EAAOoyvB,KAAiBpyvB,EAAOqyvB,IAAcD,EAAYE,YAAYD,EAC/E,CAK8CE,CAA+B/pc,IAJxC,SAAAA,GACnC,IAAM6jT,EAAe7jT,EAAI6jT,aACzB,OAAO7jT,EAAI8jT,aAAewsD,GAASzsD,GAAgBA,EAAa1zuB,OAAS0zuB,EAAavxsB,WAAWniC,OACnG,CACqF653B,CAA6Bhqc,EAAK,EAGjHiqc,GAA8B,SAAAp4E,GAClC,IAAM7xX,EAAM6xX,EAAOx8hB,UAAU08hB,SAC7B,OAnBwC,SAAA/xX,GAAG,OAAwB,IAApBA,EAAIghH,aAAqB0oV,GAA2B1pc,EAAK,CAmBjGkqc,CAAkClqc,IAlBH,SAAC6xX,EAAQ7xX,GAC/C,IAAM4pc,EAAc5pc,EAAI4jT,eAAe9rlB,cACvC,OAAQtgB,EAAOoyvB,IAAgB/pC,GAAgBhuC,EAAQnnB,GAAavpD,QAAQyoJ,GAC9E,CAemDO,CAAgCt4E,EAAQ7xX,IAH7C,SAAAA,GAAG,OAAI2pc,GAA+B3pc,IAD1C,SAAAA,GAAG,OAAKA,EAAI6jT,aAAaimJ,YAAY9pc,EAAI6oT,wBAAyB,CAChBuhJ,CAAkCpqc,EAAK,CAGhCqqc,CAAsCrqc,EACzI,EACMsqc,GAAgB,SAAAz4E,GACpB,GAAIo4E,GAA4Bp4E,GAAS,CACvC,IAAM0sC,EAAc2qC,GAAsBr3E,GAC1C,OAAOnwB,EAASpyvB,KAAK,WACnB8+yB,GAAwBv8B,GAhCJ,SAACA,EAAQ04E,GACjC,IAAMC,EAAiBt6rB,GAAWq6rB,EAAerB,GAAsBr3E,IACnE24E,EAAer63B,OAAS,GAC1Bm53B,GAAyBz3E,EAAQ24E,EAErC,CA4BMC,CAAkB54E,EAAQ0sC,EAC5B,EACF,CACE,OAAO78D,EAAS/gX,MAEpB,EACM+pd,GAAoB,SAAC74E,EAAQwH,GAAO,OAAKxH,EAAOx8hB,UAAUwne,cAAgBusI,GAAcv3E,EAAQwH,GAAWixE,GAAcz4E,EAAQ,EACjI84E,GAAyB,SAACxp2B,EAAKpM,GAAM,OApySxB,SAACuoT,EAAO1lO,EAAWm2R,GAAM,OAAKg+Z,GAAWzud,EAAO1lO,EAAWm2R,GAAQ4yW,QAAS,CAoyS/CiqJ,CAAWzp2B,EAAK,SAAAg3B,GAAI,OAAI2xwB,GAAY3xwB,EAAK24Z,IAAI,EAAE,SAAAvhb,GAAE,OAAIxa,EAAOuixB,QAAQ9oyB,GAAK+gC,GAAI,EAAE,EAEzHs71B,GAA+B,SAAAh5E,GACnC,IAAM7xX,EAAM6xX,EAAOx8hB,UAAU08hB,SAC7B,OAAO/xX,EAAIptL,YAAc82nB,GAA2B1pc,IAAQ6xX,EAAO/gW,IAAIvib,QAAQyxZ,EAAI4jT,mBAH/C,SAAAiuE,GAAM,OAAI84E,GAAuBjgG,GAAavpD,QAAQ0wE,EAAOx8hB,UAAU6ud,YAAa2tE,EAAO98xB,OAAQ,CAG/B+12B,CAA8Bj5E,EACxI,EACMk5E,GAAe,SAAAl5E,GAInB,OAHIg5E,GAA6Bh5E,IAC/By3E,GAAyBz3E,EAAQ,KAE5B,CACT,EAEMm5E,GAAgB,SAACn5E,EAAQwH,EAAS9wsB,GACtC,OAAIu4qB,EAAcv4qB,GACTm5qB,EAASpyvB,KAAK,WACnBuixB,EAAO4oC,oBAAoBylC,gBAC3B/yC,GAAgBt7B,EAAQwH,EAAS3uB,GAAavpD,QAAQ54nB,GACxD,GAEOm5qB,EAAS/gX,MAEpB,EAeMsqd,GAAoB,SAACp5E,EAAQwH,GAAO,OAAKxH,EAAOx8hB,UAAUwne,cAd5C,SAACg1D,EAAQwH,GAC3B,IAAM6xE,EAAc7xE,EAAU4uB,GAAgBC,GACxCz5zB,EAAY4qyB,EAAUoC,GAAWiN,SAAWjN,GAAWsN,UACvD6lB,EAAUrnB,GAA2B94yB,EAAWojyB,EAAO50D,UAAW40D,EAAOx8hB,UAAU08hB,UACzF,OAAIm5E,EAAYt8C,GACPo8C,GAAcn5E,EAAQwH,EAASu1B,EAAQ9nG,SAASuyE,IAEhD33B,EAASxquB,KAAKyiM,GAAkB0/jB,EAASu1B,IAAUlmzB,OAAO,SAAA+pB,GAAG,OAAIy40B,EAAYz40B,IAAQm1wB,GAAsBgnB,EAASn8xB,EAAI,GAAE6jB,KAAK,SAAA7jB,GAAG,OAAIu40B,GAAcn5E,EAAQwH,EAAS5mwB,EAAIq0rB,SAASuyE,GAAS,EAEtM,CAKgF8xE,CAAYt5E,EAAQwH,GAJhF,SAACxH,EAAQwH,GAC3B,IAAMy5B,EAAejhC,EAAOx8hB,UAAUyxd,UACtC,OAAOmqD,GAAU6hD,GAAgBk4C,GAAcn5E,EAAQwH,EAASy5B,GAAgBpxD,EAAS/gX,MAC3F,CAC+G69c,CAAY3sE,EAAQwH,EAAS,EAGtI+xE,GAAmB,SAAAp63B,GAAK,OAAI+qpB,GAAM/qpB,QAAqCA,EAAQ,IAAI8vuB,MAAM,EAAG,EAC5FuqJ,GAAqB,SAACC,EAAW/ixB,GAGrC,OAFwB+ixB,GArlmBe,UAAf983B,GAqlmBuB+5G,GAAW,SAAW,YACtB,QAAhCskrB,GAAMtkrB,EAAS,aAAyB,SAAW,QAEpE,EAkBMgjxB,GAAa,SAAA15E,GACjB,IAAM3+R,EAASs4W,GAAkB35E,GACjC,OAAQA,EAAO/2yB,KAAK2w3B,eAAiBv4W,EAAO/ihB,OAAS,GARhC,SAAC0hzB,EAAQ3+R,GAAM,OAAK6yN,GAAO7yN,EAAQ,SAAAn/R,GACxD,IAAM23oB,EAAkBL,GAAmB9sE,GAAsB1M,GAAS99jB,GACpE43oB,EAAclhJ,GAAO12f,EAAO23oB,GAAiB5q3B,IAAIsq3B,IAAkBtqJ,MAAM,GAE/E,MAA2B,UADH+wE,EAAO/gW,IAAIi7V,mBAAmBh4jB,EAAM+8N,MACtB66a,EAAc,CACtD,EAAG,CAGyDC,CAAe/5E,EAAQ3+R,GACnF,EACM24W,GAAkB,SAAAt81B,GAAE,OAAIuiwB,GAAOviwB,IAAOwiwB,GAAaxiwB,EAAI,EAEvDi81B,GAAoB,SAAA35E,GAAM,OAAInvB,GAAS+K,GAAUokB,EAAOx8hB,UAAU6qkB,qBAAsB,SAAA3wzB,GAAE,OAAKs81B,GAAgBt81B,KADvF,SAAAA,GAAE,OAAIsoB,GAAOtoB,GAAIy4b,OAAO6ja,GAAiB,CACsDC,CAAsBv81B,IA9BtHy8vB,GA8BwIz8vB,EA9BtH,SAAApO,GAAG,OAAI0vwB,GAAwB1vwB,EAAI2vb,MAAQggV,GAAyB3vwB,EAAI2vb,IAAI,GAAEkX,OAAO,SAAA7mc,GAAG,OAAI0vwB,GAAwB1vwB,EAAI2vb,IAAI,EA8BH,EAAE,EACpKy4B,GAAS,SAACsoU,EAAQn6wB,GACtB,IAAI8iB,EAAIigU,EAENq2F,EACE+gW,EADF/gW,IAEIi7a,EAAcvtE,GAAe3M,GAC7Bm6E,EAAwG,QAA1FvxgB,EAA8C,QAAxCjgU,EAAK,YAAYxU,KAAK+l1B,UAAsC,IAAZvx0B,OAAqB,EAAIA,EAAG,UAA4B,IAAZigU,EAAgBA,EAAK,KACrIwxgB,EAAcb,GAAiBW,GAC/BT,EAAY/sE,GAAsB1M,GACxCtvB,GAAOipG,GAAkB35E,GAAS,SAAA99jB,IAjCd,SAAC+8N,EAAKp5a,EAAS4z1B,EAAWt63B,EAAOw4E,EAAM++B,GAC3D,IAAMmjxB,EAAkBL,GAAmBC,EAAW5gG,GAAavpD,QAAQ54nB,IACrEs7H,EAAcunpB,GAAiBt6a,EAAI45V,SAASnisB,EAASmjxB,IAC3D,GAAgB,YAAZh01B,EAAuB,CACzB,IAAMyrzB,EAAa900B,KAAKiL,IAAI,EAAGuqN,EAAc7yO,GAC7C8/c,EAAI27V,SAASlksB,EAASmjxB,EAAiBvoC,EAAaA,EAAa35wB,EAAO,GAC1E,KAAO,CACL,IAAM25wB,EAAat/mB,EAAc7yO,EAAQw4E,EACzCsnY,EAAI27V,SAASlksB,EAASmjxB,EAAiBvoC,EACzC,CACF,CAwBI+oC,CAAcp7a,EAAKp5a,EAAS4z1B,EAAWW,EAAaD,EAAYj4oB,EAAM+8N,IACxE,EACF,EAEMq7a,GAAU,SAAAt6E,GAAM,OAAItoU,GAAOsoU,EAAQ,UAAW,EAE9Cu6E,GAAoB,SAAAv6E,GACxB,GAAIA,EAAOx8hB,UAAUwne,eAAiB0uI,GAAW15E,GAAS,CACxD,IAAM/gW,EAAM+gW,EAAO/gW,IACb9wB,EAAM6xX,EAAOx8hB,UAAU08hB,SACvBt/vB,EAAM2kwB,GAAcC,eAAer3X,GACnCjsM,EAAQ+8N,EAAIlqI,UAAUo5G,EAAI4jT,eAAgB9yR,EAAIwmV,SACpD,GAAc,OAAVvjjB,GAAkBi1lB,GAAiBt+C,GAAavpD,QAAQptf,GAAQthM,EAAKo/vB,EAAO98xB,QAC9E,OAAO2swB,EAASpyvB,KAAK,kBAAM681B,GAAQt6E,EAAO,EAE9C,CACA,OAAOnwB,EAAS/gX,MAClB,EAEM0rd,GAAa,SAACx6E,EAAQr6hB,EAAO6hiB,GAAO,OAAKj2B,GAAQ,CAACgpG,GAAmB9L,GAAmB5B,GAAmB,SAAC7sE,EAAQwH,GAAO,OAAKqvE,GAAkB72E,EAAQr6hB,EAAO6hiB,EAAQ,EAAE2jE,GAAmB5nC,GAAmBmrC,GAAmB0K,GAAmBvN,GAAmBgN,IAAoB,SAAAlq2B,GAAI,OAAIA,EAAKqxxB,EAAQwH,EAAQ,GAAE3wxB,OAAO,SAAA6nD,GAAC,OAAIshuB,EAAOx8hB,UAAU44hB,YAAY,EAAE,EAUxWq+E,GAAuB,SAACz6E,EAAQr6hB,GACrB60mB,GAAWx6E,EAAQr6hB,GAAO,GAClC4qd,KAAK,WACNyvE,EAAOx8hB,UAAU44hB,cA18Sc,SAAA4D,GAAUq8B,GAA6Br8B,EAAQ,gBAAiB,CA28SjG06E,CAA+B16E,EAEnC,EAAG1gzB,EACL,EACMq73B,GAAU,SAAC36E,EAAQr6hB,GACvBq6hB,EAAO1yD,WAAW,SAAU,YAlBR,SAAC0yD,EAAQr6hB,GACd60mB,GAAWx6E,EAAQr6hB,GAAO,GAClC4qd,KAAK,WACNyvE,EAAOx8hB,UAAU44hB,eACnBmgC,GAAwBv8B,GACxB28B,GAAc38B,GAElB,EAAG1gzB,EACL,CAWIs73B,CAAc56E,EAAQr6hB,EACxB,GACAq6hB,EAAO1yD,WAAW,gBAAiB,WACjCmtI,GAAqBz6E,EAAQr6hB,EAC/B,EACF,EAIMk1mB,GAAW,SAAAly3B,GACf,YAAsBnD,IAAlBmD,EAAM2rhB,SAAkD,IAAzB3rhB,EAAM2rhB,QAAQh2hB,OACxCuxxB,EAAS/gX,OAEX+gX,EAASpyvB,KAAK90B,EAAM2rhB,QAAQ,GACrC,EAMMwmW,GAAU,SAAA96E,GACd,IAAM+6E,EAAY37E,KACZ47E,EAAiB19E,IAAK,GACtB29E,EAAoBz7E,GAAO,SAAA9izB,GAC/BsjzB,EAAO5iyB,SAAS,YAAW/R,EAAA,GACtB3O,EAAE,CACLmD,KAAM,eAERm73B,EAAe323B,KAAI,EACrB,EArBsB,KAsBtB27yB,EAAOlnuB,GAAG,aAAc,SAAAp8E,GACtBm+3B,GAASn+3B,GAAG++D,KAAK,SAAAmpwB,GACfq2D,EAAkBhpyB,SAClB,IAAMhuF,EAAO,CACX2Q,EAAGgwzB,EAAM5jzB,QACTnM,EAAG+vzB,EAAM3jzB,QACTrY,OAAQlM,EAAEkM,QAEZqy3B,EAAkBjvoB,SAAStvP,GAC3Bs+3B,EAAe323B,KAAI,GACnB023B,EAAU123B,IAAIJ,EAChB,EACF,GAAG,GACH+7yB,EAAOlnuB,GAAG,YAAa,SAAAp8E,GACrBu+3B,EAAkBhpyB,SAClB4oyB,GAASn+3B,GAAG++D,KAAK,SAAAmpwB,GACfm2D,EAAUjizB,GAAG,SAAA70E,IA/BC,SAAC2g0B,EAAO3g0B,GAC1B,IAAMi33B,EAAQ1+2B,KAAKgB,IAAIonzB,EAAM5jzB,QAAU/c,EAAK2Q,GACtCum3B,EAAQ3+2B,KAAKgB,IAAIonzB,EAAM3jzB,QAAUhd,EAAK4Q,GAC5C,OAAOqm3B,EAXgB,GAWYC,EAXZ,CAYzB,EA4BYC,CAAYx2D,EAAO3g0B,KACrB823B,EAAUpz3B,QACVqz3B,EAAe323B,KAAI,GACnB27yB,EAAO5iyB,SAAS,mBAEpB,EACF,EACF,GAAG,GACH4iyB,EAAOlnuB,GAAG,uBAAwB,SAAAp8E,GAChCu+3B,EAAkBhpyB,SACH,gBAAXv1F,EAAEmD,MAGNk73B,EAAUz23B,MAAMuyB,OAAO,SAAA5yB,GAAI,OAAIA,EAAK2E,OAAOqv3B,YAAYv73B,EAAEkM,OAAO,GAAE6yD,KAAK,WACjEu/zB,EAAe123B,MACjB5H,EAAEsqB,iBAEFg5xB,EAAO5iyB,SAAS,MAAK/R,EAAA,GAChB3O,EAAE,CACLmD,KAAM,QAGZ,EACF,GAAG,EACL,EAEMw73B,GAAiB,SAACnjC,EAAe5xyB,GAAI,OAAK4ruB,GAAMgmE,EAAe5xyB,EAAK6yD,SAAU,EAC9EmixB,GAAgB,SAACp42B,EAAQojC,GAC7B,QAAIm4uB,GAASn4uB,MAEFw3uB,GAAYx3uB,MACb+00B,GAAen42B,EAAOgixB,mBAAoB5+uB,IAAUszwB,GAAiBtzwB,IAAU8/uB,GAAmBljxB,EAAQojC,IAAUg+uB,GAAqBh+uB,GAIrJ,EAMMi10B,GAAuB,SAACrjC,EAAe5xyB,GAC3C,GAAIm4uB,GAASn4uB,GAAO,CAClB,GAAyB,IAArBA,EAAKriD,KAAK3F,OACZ,OAAO,EACF,GAAI,QAAQiC,KAAK+lD,EAAKriD,MAC3B,OAAQqiD,EAAKu+T,aAAew2gB,GAAenjC,EAAe5xyB,EAAKu+T,cAAgBy/a,GAAqBh+uB,EAAKu+T,YAE7G,CACA,OAAO,CACT,EACM22gB,GAAkB,SAAAx7E,GAAM,OAAIA,EAAO/gW,IAAItna,OAAO2zwB,GAAmBtL,GAASuL,GAAwBvL,GAAS,EAC3GkoD,GAAgB,SAAAloD,GACpB,IAMI+nD,EACAplE,EAPE1jV,EAAM+gW,EAAO/gW,IACjBz7L,EAAYw8hB,EAAOx8hB,UACftgQ,EAAS88xB,EAAO98xB,OAChBg10B,EAAgBh10B,EAAOgixB,mBACvBtmW,EAAYp7K,EAAU6ud,WACtB1gjB,EAAWqunB,EAAO50D,UAGpB3lrB,GAAU,EACRqrxB,EAAkBxlC,GAAmBtL,GAC3C,GAAKphX,GAAck/V,GAAYl/V,GAA/B,CAGA,IAAM68b,EAAe9psB,EAASx4E,SAAS35F,cACvC,GAAK0D,EAAO2ixB,aAAa41F,EAAc3qC,EAAgBtx0B,iBA/BlC,SAAC040B,EAAejwwB,EAAM3hC,GAC3C,OAAO6va,GAAOk8D,GAAQwmQ,GAAavpD,QAAQhprB,GAAOuyuB,GAAavpD,QAAQrnpB,IAAQ,SAAA34D,GAC7E,OAAO+r2B,GAAenjC,EAAe5o0B,EAAI2vb,IAC3C,EACF,CA2B2Ey8a,CAAexjC,EAAevmqB,EAAUitQ,GAAjH,CAYA,IATA,IAAMzQ,EAAM3qK,EAAU08hB,SAEpBnuE,EAIE5jT,EAJF4jT,eACA5iM,EAGEhhH,EAHFghH,YACA6iM,EAEE7jT,EAFF6jT,aACAC,EACE9jT,EADF8jT,UAEI0pJ,EAAmB33mB,GAASg8hB,GAC9B15vB,EAAOqrI,EAAS77B,WACbxvG,GAIL,GAHIw3uB,GAAYx3uB,IACdigvB,GAAcrjxB,EAAQojC,GAEpBg10B,GAAcp42B,EAAQojC,GAAO,CAC/B,GAAIi10B,GAAqBrjC,EAAe5xyB,GAAO,CAC7Cq8uB,EAAWr8uB,EACXA,EAAOA,EAAKu+T,YACZo6F,EAAIh2b,OAAO05wB,GACX,QACF,CACKolE,IACHA,EAAgByzB,GAAgBx7E,GAChCrunB,EAASr4E,aAAayuvB,EAAezhzB,GACrCmf,GAAU,GAEZk9tB,EAAWr8uB,EACXA,EAAOA,EAAKu+T,YACZkjf,EAAcxuzB,YAAYopvB,EAC5B,MACEolE,EAAgB,KAChBzhzB,EAAOA,EAAKu+T,YAGZp/S,GAAWk2zB,IACbxtc,EAAIihB,SAAS2iS,EAAgB5iM,GAC7BhhH,EAAIkhB,OAAO2iS,EAAcC,GACzBzud,EAAUkqe,OAAOv/T,GACjB6xX,EAAO6lB,cAtCT,CAJA,CA4CF,EACM+1D,GAAkB,SAAC57E,EAAQ/3tB,EAAMqruB,GACrC,IAAMpxkB,EAAQ22iB,GAAavpD,QAAQksJ,GAAgBx7E,IAC7CvnZ,EAAKkoY,KACXnF,GAASt5iB,EAAOu2K,GAChB66Z,EAAYrruB,EAAMi6J,GAClB,IAAMisM,EAAMpoa,SAAS8nb,cAGrB,OAFA1f,EAAIqjT,eAAe/4U,EAAGwmD,KACtB9wB,EAAIujT,aAAaj5U,EAAGwmD,KACb9wB,CACT,EAKM3B,GAAW,SAAAqvc,GAAc,OAAI,SAAAv10B,GAAI,OAAkE,KAA7D,IAAMA,EAAK2pB,KAAK,SAAW,KAAKnxE,QAAQ+83B,EAAuB,CAAD,EACpGC,GAAuB,SAAC97E,EAAQr7xB,EAAS80xB,GAC7C,OAAO,SAAUh5yB,GACf,IAAMoT,EAAO/R,UACXoI,EAAQ2J,EAAKA,EAAKvV,OAAS,GACvBy93B,EAAW7x3B,EAAQ,EAAIya,EAAQ6zB,OAAOtuC,EAAQ,GAAK,GACzD,GAAiB,MAAb6x3B,EACF,OAAOt73B,EAET,GAAiB,MAAbs73B,EAAkB,CACpB,IAAMC,EAAoBr32B,EAAQ0qC,YAAY,IAAKnlD,GACnD,IAA2B,IAAvB8x3B,EAEF,IAAoD,IADpCr32B,EAAQ1lB,UAAU+83B,EAAmB9x3B,GACzCpL,QAAQ,2BAClB,OAAO2B,CAGb,CACA,MAAO,gBAAkBg5yB,EAAM,uBAAyBuG,EAAO/gW,IAAIh7Y,OAAOpwD,EAAK,IAAM,KAAOmsyB,EAAO/gW,IAAIh7Y,OAA0B,iBAAZpwD,EAAK,GAAkBA,EAAK,GAAKA,EAAK,IAAM,SACnK,CACF,EAYMoo3B,GAAiB,SAACC,EAAoBv32B,GAC1C,OAAOuvtB,GAAOgoJ,EAAoB,SAAA9ue,GAChC,IAAMr1S,EAAUpzF,EAAQlkB,MAAM2sZ,GAC9B,OAAmB,OAAZr1S,GAAoBA,EAAQ,GAAGz5G,SAAWqmB,EAAQrmB,MAC3D,EACF,EACM693B,GAAU,SAAAn8E,GACd,IAAMo8E,EAA0B,kBAC1BC,EAAY,IAAMrmG,GAAMl/tB,KAAKw5vB,GAAiBtQ,IAAW,IACzDs8E,EAAe,IAAMtmG,GAAMl/tB,KAAKu5vB,GAAoBrQ,IAAW,IAC/Du8E,EAAe/vc,GAAS6vc,GACxBG,EAAkBhwc,GAAS8vc,GAC3BJ,EAAqB3rE,GAAsBvQ,GAC7Ck8E,EAAmB593B,OAAS,GAC9B0hzB,EAAOlnuB,GAAG,mBAAoB,SAAAp8E,IAzBE,SAACsjzB,EAAQk8E,EAAoBx/3B,GAC/D,IAAImC,EAAIq93B,EAAmB593B,OACzBqmB,EAAUjoB,EAAEioB,QACd,GAAiB,QAAbjoB,EAAE04X,OAAN,CAGA,KAAOv2X,KACL8lB,EAAUA,EAAQpF,QAAQ282B,EAAmBr93B,GAAIi93B,GAAqB97E,EAAQr7xB,EAAS0ryB,GAAoBrQ,KAE7GtjzB,EAAEioB,QAAUA,CAJZ,CAKF,CAgBM832B,CAA4Bz8E,EAAQk8E,EAAoBx/3B,EAC1D,GAEFsjzB,EAAOtvuB,OAAO6wuB,mBAAmB,QAAS,SAAAvosB,GAExC,IADA,IAAIn6G,EAAIm6G,EAAM16G,OACPO,KAAK,CACV,IAAMynD,EAAO0yD,EAAMn6G,GACf093B,EAAaj20B,GACfA,EAAK2pB,KAAKmszB,EAAyB,QAC1BI,EAAgBl20B,IACzBA,EAAK2pB,KAAKmszB,EAAyB,QAEvC,CACF,GACAp8E,EAAOt5yB,WAAW66yB,mBAAmB66E,EAAyB,SAAApjxB,GAE5D,IADA,IAAIn6G,EAAIm6G,EAAM16G,OACPO,KAAK,CACV,IAAMynD,EAAO0yD,EAAMn6G,GACnB,GAAK093B,EAAaj20B,IAAUk20B,EAAgBl20B,GAA5C,CAGA,IAAM3hC,EAAU2hC,EAAK2pB,KAAK,oBACtBiszB,EAAmB593B,OAAS,GAAKqmB,EAC/Bs32B,GAAeC,EAAoBv32B,IACrC2hC,EAAK3pD,KAAO,QACZ2pD,EAAKzmD,KAAO,EACZymD,EAAK4sa,KAAM,EACX5sa,EAAKnnD,MAAQwlB,GAEb2hC,EAAKr9B,SAGPq9B,EAAK2pB,KAAKmszB,EAAyB,KAZrC,CAcF,CACF,EACF,EAGMvzC,GAA0B,SAAC7oC,EAAQ08E,GACnCA,EAAoB7lxB,aAAa,oBACnC8qrB,GAAwB+6F,GACxB18E,EAAOx8hB,UAAUkqe,OAAOsyD,EAAOx8hB,UAAU08hB,UACzCF,EAAOx8hB,UAAU1N,eAAe4mnB,GAEpC,EACMC,GAAuB,SAAC38E,EAAQtjzB,GACpC,IAAMgg4B,EATwB,SAAA18E,GAAM,OAAIzlB,GAAa1B,GAAavpD,QAAQ0wE,EAAO50D,WAAY,qBAAqBn8uB,IAAI,SAAAqgB,GAAG,OAAIA,EAAI2vb,GAAG,GAAEujW,WAAY,CAStHo6E,CAAwB58E,GACpD,GAAK08E,EAGL,MAAe,qBAAXhg4B,EAAEmD,MACJnD,EAAEsqB,iBACFtqB,EAAEw0B,uBACF23zB,GAAwB7oC,EAAQ08E,SAG9Brpc,GAAWqpc,KACb7zC,GAAwB7oC,EAAQ08E,GAChC18E,EAAOj1D,YAAYz9uB,OAEvB,EAKMuv3B,GAA2B59F,GAY3B69F,GAAe,SAAC98E,EAAQpjyB,EAAWo0Z,GACvC,IAAMg2a,EAAc/vB,GAAYjX,EAAO50D,WACjC2xI,EAA2BlyU,EAAMgrQ,GAAsC,IAAdj5yB,EAAkBoq0B,EAAY960B,KAAO860B,EAAY/60B,MAChH,GAAI+ka,EAAMjwK,UAAW,CACnB,IAAMylH,EAAMw5b,EAAO/gW,IAAIlqI,UAAUi8F,EAAM+gU,eAAgB,OACvD,IAAKvrX,EACH,OAGF,IADiBu2gB,EAAyBx3E,GAAcC,eAAex0Y,IACxD,CACb,IAAMgsd,EAAWnkG,GAAavpD,QAfZ,SAAA0wE,GACtB,IAAMi9E,EAAYj9E,EAAO/gW,IAAItna,OAAO2zwB,GAAmBtL,IAEvD,OADAi9E,EAAU1y1B,UAAY,0BACf0y1B,CACT,CAW4CC,CAAgBl9E,IACpC,IAAdpjyB,EACF2+wB,GAAQ1C,GAAavpD,QAAQ9oX,GAAMw2gB,GAEnC1hG,GAASzC,GAAavpD,QAAQ9oX,GAAMw2gB,GAEtCh9E,EAAOx8hB,UAAUvhP,OAAO+61B,EAAS/9a,KAAK,GACtC+gW,EAAOx8hB,UAAU87J,UACnB,CACF,CACF,EACM69c,GAAqB,SAACn9E,EAAQwH,GAClC,IAAM5qyB,EAAY4qyB,EAAUoC,GAAWiN,SAAWjN,GAAWsN,UACvDlmZ,EAAQgvY,EAAOx8hB,UAAU08hB,SAC/B,OAnCgC,SAACtjyB,EAAWojyB,EAAQhvY,GAAK,OAAK+id,GAAiB/zE,EAAQpjyB,EAAWo0Z,EAAOwla,GAA8BC,GAA6BomD,GAA0B,CAmCvLO,CAA0Bxg3B,EAAWojyB,EAAQhvY,GAAOs/T,QAAQ,WAEjE,OADAwsJ,GAAa98E,EAAQpjyB,EAAWo0Z,GACzB6+W,EAAS/gX,MAClB,EACF,EACMuud,GAAmB,SAACr9E,EAAQ7jyB,GAChC,IAAMS,EAAYT,EAAO,GAAK,EACxB60Z,EAAQgvY,EAAOx8hB,UAAU08hB,SAC/B,OA1C8B,SAACtjyB,EAAWojyB,EAAQhvY,GAGlD,OAAOijd,GAAej0E,EAAQpjyB,EAAWo0Z,EAFxB,SAAAm0Y,GAAa,OAAIqxB,GAA6BrxB,IAAkBmxB,GAAcnxB,EAAe,EAC9F,SAAAA,GAAa,OAAIsxB,GAA4BtxB,IAAkBoxB,GAAapxB,EAAe,EACxC03E,GACrE,CAsCSS,CAAwB1g3B,EAAWojyB,EAAQhvY,GAAOs/T,QAAQ,WAE/D,OADAwsJ,GAAa98E,EAAQpjyB,EAAWo0Z,GACzB6+W,EAAS/gX,MAClB,EACF,EAKMyud,GAAU,SAACv9E,EAAQwH,GAAO,OAAK21E,GAAmBn9E,EAJlC,SAACx8hB,EAAWgkiB,GAChC,IAAMl4xB,EAAMk4xB,EAAUhkiB,EAAUqjjB,QAAO,GAAQrjjB,EAAU6ud,UAAS,GAClE,OAAOgsE,GAAM/uxB,IAAQk4xB,EAAUA,CACjC,CACgEg2E,CAAcx9E,EAAOx8hB,UAAWgkiB,IAAUrxV,OAAO,SAAAq0W,GAE/G,OADAqpD,GAAY7zE,EAAQwqB,IACb,CACT,EAAG,EACGizD,GAAU,SAACz9E,EAAQ7jyB,GAAI,OAAKkh3B,GAAiBr9E,EAAQ7jyB,GAAMg6c,OAAO,SAAAq0W,GAEtE,OADAqpD,GAAY7zE,EAAQwqB,IACb,CACT,EAAG,EACGkzD,GAAuB,SAAC19E,EAAQwH,GAEpC,OAAOotE,GAAqB50E,EAAQwH,EADdA,EAAUivB,GAA8BD,GAEhE,EACMmnD,GAAmB,SAAC39E,EAAQwH,GAAO,OAAK2lE,GAAmBntE,GAASwH,GAASv4yB,IAAI,SAAA2xC,GACrF,IAAMutY,EAAMvtY,EAAIsyX,UACV0qd,EAAS59E,EAAOx8hB,UAAU08hB,SAMhC,OALIsH,EACFr5X,EAAIihB,SAASwub,EAAO7rJ,eAAgB6rJ,EAAOzuV,aAE3ChhH,EAAIkhB,OAAOuub,EAAO5rJ,aAAc4rJ,EAAO3rJ,WAElC9jT,CACT,GAAGgoC,OAAO,SAAAhoC,GAER,OADA0lc,GAAY7zE,EAAQ7xX,IACb,CACT,EAAG,EAEG0vc,GAAW,SAAAv30B,GAAI,OAAIkquB,GAAW,CAAC,cAAe7zxB,GAAK2pD,GAAO,EAM1Dw30B,GAA0B,SAAC99E,EAAQwH,GACvC,IAAMv/tB,EAAO4wsB,GAAavpD,QAAQ0wE,EAAO50D,WACnCxqsB,EAAM2kwB,GAAcC,eAAexF,EAAOx8hB,UAAU08hB,UAC1D,OAR4B,SAACt/vB,EAAKqnC,EAAM/kE,GACxC,IAAMg5W,EAAS2uL,EAAMnje,GAAIO,GACzB,OAAOkysB,GAAUtB,GAAavpD,QAAQ1urB,EAAIm5C,aAAc,SAAAr8D,GAAE,OAAIxa,EAAOuixB,QAAQ9oyB,GAAK+gC,GAAI,EAAEw+V,GAAQrlW,OAAOgn2B,GACzG,CAKSE,CAAsBn90B,EAAKqnC,EAAM+3tB,EAAO98xB,QAAQizc,OAAO,WAC5D,GALwB,SAACluY,EAAMu/tB,EAAS5mwB,GAAG,OAAK4mwB,EAAU4qE,GAAanqyB,EAAKg3X,IAAKr+Z,GAAOux0B,GAAclqyB,EAAKg3X,IAAKr+Z,EAAK,CAKjHo90B,CAAoB/1yB,EAAMu/tB,EAAS5mwB,GAAM,CAC3C,IACMutY,EAAMytc,GAAgB57E,EAAQ/3tB,EADnBu/tB,EAAUhsB,GAAWl+tB,IAGtC,OADA0ivB,EAAOx8hB,UAAUkqe,OAAOv/T,IACjB,CACT,CACE,OAAO,CAEX,EACF,EACM8vc,GAAU,SAACj+E,EAAQwH,GACvB,QAAIxH,EAAOx8hB,UAAUwne,eACZ8yI,GAAwB99E,EAAQwH,EAI3C,EAwBM02E,GAAS,SAACl+E,EAAQwH,GACtB,OAAIA,EACK33B,EAASxquB,KAAK26vB,EAAO/gW,IAAIlqI,UAAUire,EAAOx8hB,UAAUyxd,UAAW,YAAYhmuB,IAAI,SAAA01S,GAAO,OAbhF,SAACq7f,EAAQr7f,GACxB,IAAMwpI,EAAM6xX,EAAOx8hB,UAAU08hB,SACvBt/vB,EAAM2kwB,GAAcC,eAAer3X,GAEzC,QADa6xX,EAAO50D,UACX3soB,YAAckmM,IAAWytkB,GAAaztkB,EAAS/jQ,KACtDo/vB,EAAO/0D,YAAY,uBACZ,GAIX,CAGqGkzI,CAASn+E,EAAQr7f,EAAQ,GAAEsqb,OAAM,GAE3H4gD,EAASxquB,KAAK26vB,EAAO/gW,IAAIlqI,UAAUire,EAAOx8hB,UAAUyxd,UAAW,YAAYxwqB,KAAK,SAAA+hY,GAAO,OAAIqpV,EAASxquB,KAAK26vB,EAAO/gW,IAAIlqI,UAAUyxH,EAAS,YAAYv3b,IAAI,SAAA01S,GAAO,OA1B1J,SAACq7f,EAAQr7f,EAAS6hJ,GAC/B,IAAMrY,EAAM6xX,EAAOx8hB,UAAU08hB,SACvBt/vB,EAAM2kwB,GAAcC,eAAer3X,GAEzC,QADa6xX,EAAO50D,UACXt1lB,aAAe6uJ,IAAWwtkB,GAAc3rb,EAAS5lZ,KACxDo/vB,EAAO/0D,YAAY,wBACZ,GAIX,CAgB6KmzI,CAAOp+E,EAAQr7f,EAAS6hJ,EAAQ,EAAC,GAAEyoS,OAAM,EAEtN,EACMovJ,GAAU,SAACr+E,EAAQwH,GAAO,OAAK02E,GAAOl+E,EAAQwH,EAAS,EAEvD82E,GAAiB,CACrBj22B,UAAU,EACV0oO,QAAQ,EACRE,SAAS,EACTH,SAAS,EACTonc,QAAS,GAULqmM,GAAe,SAAC3+yB,EAAS+lJ,GAAG,OAAKA,EAAIuyd,UAAYt4mB,EAAQs4mB,SAAWvyd,EAAIt9M,WAAau3D,EAAQv3D,UAAYs9M,EAAIorB,SAAWnxK,EAAQmxK,QAAUprB,EAAIsrB,UAAYrxK,EAAQqxK,SAAWtrB,EAAImrB,UAAYlxK,EAAQkxK,OAAQ,EAC7M0toB,GAAU,SAACrjgB,EAAUx1J,GAAG,OAAKwrjB,GATX,SAAAh2Z,GAAQ,OAAIs1Z,GAAMt1Z,EAAU,SAAAv7S,GAAO,OAAAv0E,EAAA,GACtDiz3B,GACA1+yB,EAAO,EACR,CAMsC6+yB,CAAgBtjgB,GAAW,SAAAv7S,GAAO,OAAI2+yB,GAAa3+yB,EAAS+lJ,GAAO,CAAC/lJ,GAAW,EAAE,EAAE,EACvH8+yB,GAAe,SAACvjgB,EAAUx1J,GAAG,OAAKwrjB,GANT,SAAAh2Z,GAAQ,OAAIs1Z,GAAMt1Z,EAAU,SAAAv7S,GAAO,OAAAv0E,EAAA,GAC7Diz3B,GACA1+yB,EAAO,EACR,CAG2C++yB,CAAuBxjgB,GAAW,SAAAv7S,GAAO,OAAI2+yB,GAAa3+yB,EAAS+lJ,GAAO,CAAC/lJ,GAAW,EAAE,EAAE,EACnIx5D,GAAS,SAACnhB,GAAC,QAAA253B,EAAA983B,UAAAxD,OAAKsW,EAAC,IAAAL,MAAAqq3B,EAAA,EAAAA,EAAA,KAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAADjq3B,EAACiq3B,EAAA,GAAA/83B,UAAA+83B,GAAA,OAAK,kBAAM553B,EAAE6C,MAAM,KAAM8M,EAAG,CAAD,EAC5Ckq3B,GAAU,SAAC3jgB,EAAUx1J,GAAG,OAAKsrjB,GAAOutG,GAAQrjgB,EAAUx1J,GAAM,SAAA/lJ,GAAO,OAAIA,EAAQx5D,QAAQ,EAAE,EACzF242B,GAA2B,SAAC5jgB,EAAUx1J,GAAG,OAAK4rjB,GAAQmtG,GAAavjgB,EAAUx1J,GAAM,SAAA/lJ,GAAO,OAAIA,EAAQx5D,QAAQ,EAAE,EAEhH442B,GAAU,SAACh/E,EAAQwH,GACvB,IAAM5qyB,EAAY4qyB,EAAUoC,GAAWiN,SAAWjN,GAAWsN,UACvDlmZ,EAAQgvY,EAAOx8hB,UAAU08hB,SAC/B,OAAO6zE,GAAiB/zE,EAAQpjyB,EAAWo0Z,EAAOola,GAAeC,GAAcj3C,IAAWjpU,OAAO,SAAAq0W,GAE/F,OADAqpD,GAAY7zE,EAAQwqB,IACb,CACT,EACF,EACMy0D,GAAU,SAACj/E,EAAQ7jyB,GACvB,IAAMS,EAAYT,EAAO,GAAK,EACxB60Z,EAAQgvY,EAAOx8hB,UAAU08hB,SAC/B,OAAO+zE,GAAej0E,EAAQpjyB,EAAWo0Z,EAAOola,GAAeC,GAAcj3C,IAAWjpU,OAAO,SAAAq0W,GAE7F,OADAqpD,GAAY7zE,EAAQwqB,IACb,CACT,EACF,EACM00D,GAAqB,SAACl/E,EAAQwH,GAElC,OAAOotE,GAAqB50E,EAAQwH,EADhBA,EAAU6uB,GAAeD,GAE/C,EAEMntB,GAAMF,GAAa,CAAC,CACxBj6Y,KAAM,CAAC,YACN,CACD/6Q,MAAO,CAAC,YACP,CACDq7rB,OAAQ,CAAC,UAAW,WACnB,CACDvpyB,KAAM,CAAC,cAGHs50B,GAAY9z3B,EAAA,GACb49yB,GAAI,CACPn6Y,KAHW,SAAArkR,GAAO,OAAIw+pB,GAAIn6Y,KAAKrkR,EAAS,IASpC20uB,GAAmB,SAAC3zjB,EAAOrzM,EAAUryB,GACzC,OAAOorrB,GAAOqI,GAAW/td,GAAQ,SAAA72T,GAC/B,OAAImkxB,GAAKnkxB,EAAGwjH,GACHryB,EAAUnxF,GAAK,CAACA,GAAK,GAErBwq3B,GAAiBxq3B,EAAGwjH,EAAUryB,EAEzC,EACF,EAYM+5V,GAAO,SAACppV,EAASwlR,GAAM,OAVZ,SAACroK,EAAMn9G,GAA6B,IAApBwlR,EAAMp6X,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG8txB,EACxC,OAAI1zZ,EAAOxlR,GACFm5qB,EAAS/gX,OAEd0hX,GAAW38jB,EAAMl3N,GAAK+5G,IACjBm5qB,EAASpyvB,KAAKi5E,GAGhB4jrB,GAAW5jrB,EAASm9G,EAAKjoK,KAAK,KADV,SAAAt8B,GAAG,OAAIypwB,GAAKzpwB,EAAK,UAAY4sW,EAAO5sW,EAAK,EAEtE,CACkC+v2B,CAAS,CAAC,KAAM,MAAO3oxB,EAASwlR,EAAQ,EACpEviG,GAAQ,SAAAh+I,GAAQ,OAxBH,SAAC8vL,EAAOrzM,GACzB,OAAOgnwB,GAAiB3zjB,EAAOrzM,EAAUqhP,EAC3C,CAsB0B6lhB,CAAW3jvB,EAAU,QAAS,EAClDh0G,GAAQ,SAAC+uE,EAASwlR,GAAM,OAAKs+Z,GAAU9jrB,EAAS,QAASwlR,EAAQ,EAEjEm6Z,GAAO,SAAC7qxB,EAAKi/I,EAASvgJ,EAAO0S,GAAoC,IAAzB2i3B,EAAUz93B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG23W,EACnDgpc,EAAyB,IAAd7lyB,EACjB,IAAK6lyB,GAAYv4yB,GAAS,EACxB,OAAOi13B,GAAapruB,MAAMvoJ,EAAI,IACzB,GAAIi3yB,GAAYv4yB,GAASsB,EAAIlN,OAAS,EAC3C,OAAO6g4B,GAAat50B,KAAKr6C,EAAIA,EAAIlN,OAAS,IAE1C,IAAMmvrB,EAAWvjrB,EAAQ0S,EACnBqsK,EAAOz9K,EAAIiirB,GACjB,OAAO8xM,EAAWt2sB,GAAQk2sB,GAAa/vC,OAAO3ksB,EAASw+B,GAAQotmB,GAAK7qxB,EAAKi/I,EAASgjiB,EAAU7wqB,EAAW2i3B,EAE3G,EACM/vJ,GAAS,SAAC/klB,EAASyxO,GACvB,OAAOv0V,GAAM8iH,EAASyxO,GAAQz3T,KAAK,SAAA98B,GACjC,IAAMn8B,EAAMmuR,GAAMhyP,GACZz9B,EAAQgnxB,GAAY1lxB,EAAK,SAAAoJ,GAAC,OAAI8yE,GAAG+iE,EAAS71I,EAAE,GAClD,OAAO1K,EAAM+E,IAAI,SAAA/E,GAAK,MAAK,CACzBA,QACAsB,MACD,EACH,EACF,EA2CMg03B,GAAiB,SAACC,EAAeC,EAAgB/31B,EAAO/yB,EAAGC,GAC/D,IAAM8kR,EAAQt5G,GAAYw4mB,GAAavpD,QAAQ3nsB,GAAQ,iBAAiB14B,IAAI,SAAAvS,GAAC,OAAIA,EAAEuid,GAAG,GAChF0gb,EAAU9uG,GAnBC,SAAC4uG,EAAeG,GAAG,OAAKzuG,GAAOyuG,EAAK,SAAA/4b,GACrD,IAAMpgb,EATQ,SAACA,EAAMm/E,GAAK,MAAM,CAChC9pF,KAAM2K,EAAK3K,KAAO8pF,EAClB5pF,IAAKyK,EAAKzK,IAAM4pF,EAChB7pF,MAAO0K,EAAK1K,MAAgB,EAAR6pF,EACpB3pF,OAAQwK,EAAKxK,OAAiB,EAAR2pF,EACtBnnF,MAAOgI,EAAKhI,MAAQmnF,EACpBjnF,OAAQ8H,EAAK9H,OAASinF,EACvB,CAEcy1X,CAAQ4pM,GAAQp+N,EAAGtqb,0BAA2B,GAC3D,MAAO,CAAC,CACN3H,EAAG6R,EAAK3K,KACRjH,EAAG4q3B,EAAch52B,GACjBq5a,KAAM+G,GACL,CACDjyb,EAAG6R,EAAK1K,MACRlH,EAAG4q3B,EAAch52B,GACjBq5a,KAAM+G,GAEV,EAAG,CAQwBg5b,CAAWJ,EAAe9lmB,GAAQ,SAAAmmmB,GAAM,OAAIJ,EAAeI,EAAQjr3B,EAAE,GAC9F,OARwB,SAAC8q3B,EAAS/q3B,EAAGC,GAAC,OAAKk8wB,GAAM4uG,EAAS,SAACnmyB,EAAKumyB,GAAS,OAAKvmyB,EAAI+2oB,KAAK,kBAAMs/C,EAASpyvB,KAAKsi2B,EAAU,EAAE,SAAAC,GACvH,IAAMC,EAAUzj3B,KAAK+rP,KAAK/rP,KAAKgB,IAAIwi3B,EAAUpr3B,EAAIA,GAAK4H,KAAKgB,IAAIwi3B,EAAUnr3B,EAAIA,IACvEqr3B,EAAU1j3B,KAAK+rP,KAAK/rP,KAAKgB,IAAIui3B,EAAUnr3B,EAAIA,GAAK4H,KAAKgB,IAAIui3B,EAAUlr3B,EAAIA,IAC7E,OAAOg7wB,EAASpyvB,KAAKyi2B,EAAUD,EAAUF,EAAYC,EACvD,EAAE,EAAEnwG,EAAS/gX,OAAQ,CAIZqxd,CAAkBR,EAAS/q3B,EAAGC,GAAG5F,IAAI,SAAA6w3B,GAAM,OAAIA,EAAOhgc,IAAI,EACnE,EAKMsgc,GAAsBv1U,EAAM20U,GAJX,SAAA/42B,GAAI,OAAIA,EAAKxK,MAAO,EAE3B,SAAC6j3B,EAAQjr3B,GAAC,OAAKir3B,EAAOjr3B,EAAIA,CAAE,GAGtCwr3B,GAAsBx1U,EAAM20U,GAJd,SAAA/42B,GAAI,OAAIA,EAAKzK,GAAI,EAErB,SAAC8j3B,EAAQjr3B,GAAC,OAAKir3B,EAAOjr3B,EAAIA,CAAE,GAGtCyr3B,GAAiC,SAAC341B,EAAOiZ,GAAG,OAAKgF,GAAKhF,EAAImtZ,kBAAkBtpY,KAAK,SAAAh+C,GAAI,OAAI252B,GAAoBz41B,EAAOlhB,EAAK3K,KAAM2K,EAAKzK,IAAI,GAAEyoD,KAAK,SAAAq7X,GAAI,OAAI+xb,GA9qCvH95D,GAATtsf,EA8qCmLq0H,GA9qCpJ7wb,IAAI,SAAA2xC,GAAG,OAAImx0B,GAA8BtmjB,EAAO7qR,GAAK1/B,UAAU5f,OAAOs/C,EAAI,GAAEqurB,MAAM,IA8qCyErurB,GA9qC1L,IAAA6qR,CA8qC8L,EAAE,EACvN80jB,GAAiC,SAAC541B,EAAOiZ,GAAG,OAAK0wuB,GAAO1wuB,EAAImtZ,kBAAkBtpY,KAAK,SAAAh+C,GAAI,OAAI452B,GAAoB141B,EAAOlhB,EAAK3K,KAAM2K,EAAKzK,IAAI,GAAEyoD,KAAK,SAAAq7X,GAAI,OAAI+xb,GAhrCxH/5D,GAATrsf,EAgrCqLq0H,GAhrCrJ7wb,IAAI,SAAA2xC,GAAG,MAAI,CAACA,GAAKt/C,OAAO0w3B,GAA0BvmjB,EAAO7qR,GAAK1/B,UAAU,GAAE+ttB,MAAM,IAgrC4ErurB,GAhrC5L,IAAA6qR,CAgrCgM,EAAE,EAK1N+0jB,GAAoB,SAACrP,EAAmB1ljB,EAAO7qR,GACnD,IAAM+z0B,EAAWxD,EAAkB1ljB,EAAO7qR,GAC1C,OAJ0B,SAAA+z0B,GAAQ,OAAIA,EAASvD,YAAcj0B,GAAU+zB,MAAsC,IAA9ByD,EAASzz2B,UAAU5iB,MAAa,CAI3Gmi4B,CAAoB9L,KAAc71F,GAAOl+uB,EAAIq0rB,YAHzB,SAAA0/I,GAAQ,OAAIA,EAASvD,YAAcj0B,GAAUrjc,IAAoC,IAA9B66d,EAASzz2B,UAAU5iB,MAAa,CAG5Coi4B,CAAkB/L,IAL9D,SAACxD,EAAmB1ljB,EAAOkpjB,GAAQ,OAAKA,EAAStD,QAAQl7Z,OAAO,SAAAwqa,GAAQ,OAAIxP,EAAkB1ljB,EAAOk1jB,GAAUtP,QAAQviJ,QAAQ,EAAE,CAM1I8xJ,CAAazP,EAAmB1ljB,EAAOkpjB,GAExCA,EAAStD,QAAQ76I,QAE5B,EACMqqJ,GAAyBh2U,EAAM21U,GAAmBzO,IAClD+O,GAAwBj2U,EAAM21U,GAAmBxO,IAKjD+O,GAAuB,SAAC/gF,EAAQwH,EAAS7/wB,EAAOq51B,GACpD,IAAM7yc,EAAM6xX,EAAOx8hB,UAAU08hB,SACvBtjyB,EAAY4qyB,EAAU,GAAK,EACjC,SAAIiM,OAP6B,SAACjM,EAASr5X,EAAKxmZ,GAChD,IAAM+nyB,EAAWnqB,GAAcC,eAAer3X,GAC9C,OAAOupY,IAAYlQ,EAAS7/wB,GAAOwub,OAAO,SAAAv1a,GAAG,OAAIA,EAAI8/F,QAAQgvrB,EAAS,EACxE,CAImCuxD,CAA2Bz5E,EAASr5X,EAAKxmZ,MACxEok1B,GAAUnv2B,EAAWojyB,EAAQr4wB,GAAQ6/wB,GAAS,GAAO/rvB,KAAK,SAAAgpvB,GACxDovE,GAAY7zE,EAAQyE,EACtB,IACO,EAGX,EAGMy8E,GAAW,SAAC76V,EAAUzlf,GAC1B,IAAM0F,EAAO1F,EAAIq0rB,QAAQ5uM,GACzB,OAAOi4P,GAAUh4uB,GAAQupuB,EAASpyvB,KAAK6oB,GAAQupuB,EAAS/gX,MAC1D,EAQMysa,GAAY,SAACv7B,EAAQ7jyB,EAAMykC,GAC/B,IAAMjZ,EAAeu51B,KAAP/k3B,EAAsBykC,GAC9BiF,GAAgB,IAAT1pC,EACbwrB,EAAM4osB,KAAK,kBAAMsjJ,GAAY7zE,EAAQp/vB,EAAIsyX,UAAU,EAAE,SAAAvrY,GAAK,OAAI+vxB,GAAW7xwB,EAAMm6vB,EAAO50D,WAAWv0tB,OAAO,SAAA2uX,GAAO,OAAIA,EAAQ9kQ,QAAQ9/F,EAAI,GAAE2vrB,KAAK,kBAAMsjJ,GAAY7zE,EAAQp/vB,EAAIsyX,UAAU,EAAE,SAAAx0V,GAAC,OAVvK,SAACviE,EAAM6jyB,EAAQr4wB,GACjCq4wB,EAAOj1D,YAAYyB,SAAS,WAC1B,IAAM20I,EAAWhl3B,EAAOo/wB,GAAUD,GAC5BntW,EAAMytc,GAAgB57E,EAAQnnB,GAAavpD,QAAQ3nsB,GAAQw51B,GACjEtN,GAAY7zE,EAAQ7xX,EACtB,EACF,CAI+Lizc,CAAYjl3B,EAAM6jyB,EAAQr4wB,EAAM,EAAC,EAChO,EACM051B,GAAqB,SAACrhF,EAAQ7jyB,EAAMwrB,EAAOk/Z,GAC/C,IAAM1Y,EAAM6xX,EAAOx8hB,UAAU08hB,SACvBt/vB,EAAM2kwB,GAAcC,eAAer3X,GACnClmW,EAAO+3tB,EAAO50D,UACpB,IAAKjvuB,GAAQ0k3B,GAAuBh6b,EAAIjmZ,GAAM,CAC5C,IAAMo2xB,EAvBsB,SAAC/uvB,EAAMtgD,EAAOxzB,GAAK,OAAKms3B,GAA+B341B,EAAOxzB,GAAOm8tB,QAAQ,kBAAM1qrB,GAAKzxC,EAAM45b,kBAAkBtpY,KAAK,SAAAh+C,GAAI,OAAIgr2B,GAAuCQ,GAAkBhqyB,EAAMs9tB,GAAc50pB,OAAOhpH,IAASlhB,EAAK3K,KAAK,EAAC,GAAEmztB,MAAMs2E,GAAc50pB,OAAOhpH,GAAQ,CAuBvR251B,CAAwBr5yB,EAAMtgD,EAAOiZ,GAEpD,OADA26xB,GAAUv7B,EAAQ7jyB,EAAM66zB,IACjB,CACT,CAAO,GAAI76zB,GAAQ2k3B,GAAsBj6b,EAAIjmZ,GAAM,CACjD,IAAMo2xB,EA1BsB,SAAC/uvB,EAAMtgD,EAAOxzB,GAAK,OAAKos3B,GAA+B541B,EAAOxzB,GAAOm8tB,QAAQ,kBAAM1qrB,GAAKzxC,EAAM45b,kBAAkBtpY,KAAK,SAAAh+C,GAAI,OAAIgr2B,GAAuCS,GAAkBjqyB,EAAMs9tB,GAAcrggB,MAAMv9Q,IAASlhB,EAAK3K,KAAK,EAAC,GAAEmztB,MAAMs2E,GAAcrggB,MAAMv9Q,GAAQ,CA0BrR451B,CAAwBt5yB,EAAMtgD,EAAOiZ,GAEpD,OADA26xB,GAAUv7B,EAAQ7jyB,EAAM66zB,IACjB,CACT,CACE,OAAO,CAEX,EACMwqD,GAAS,SAACxhF,EAAQwH,EAASi6E,GAAK,OAAK5xG,EAASxquB,KAAK26vB,EAAO/gW,IAAIlqI,UAAUire,EAAOx8hB,UAAUyxd,UAAW,UAAUxwqB,KAAK,SAAAoiY,GAAE,OAAIgpV,EAASxquB,KAAK26vB,EAAO/gW,IAAIlqI,UAAU8xH,EAAI,UAAU53b,IAAI,SAAA04B,GAAK,OAAI851B,EAAMzhF,EAAQwH,EAAS7/wB,EAAOk/Z,EAAG,EAAC,GAAEooS,OAAM,EAAO,EACxOyyJ,GAAQ,SAAC1hF,EAAQwH,GAAO,OAAKg6E,GAAOxhF,EAAQwH,EAASu5E,GAAsB,EAC3EY,GAAQ,SAAC3hF,EAAQwH,GAAO,OAAKg6E,GAAOxhF,EAAQwH,EAAS65E,GAAoB,EAKzEO,GAAQ,SAAC5hF,EAAQ9jb,EAAQ4jE,GAC7B,OAAOA,EAAKywS,KAAKs/C,EAAS/gX,KAAM+gX,EAAS/gX,KAAM,SAAC+yd,EAAU313B,GACxD,OA1pWUwqG,EA0pWGxqG,EA1pWQkuxB,GAAa1jrB,EAASu6tB,KA0pWxBhi0B,IAAI,SAAA6wb,GACrB,OAP6B,SAAAA,GACjC,IAAMt8K,EAAY4kjB,GAAa3rmB,MAAMqjO,EAAM,EAAGA,EAAM,GACpD,OAAOkpY,GAASxljB,EAClB,CAIas+mB,CAA2Bhic,EACpC,GA5pWU,IAAAppV,CA6pWZ,EAAG,SAAA+zC,GAED,OADAu1pB,EAAO/0D,YAAY,0BACZ82I,GAAW/hF,EAAQ9jb,EAAQzxO,EACpC,EACF,EACMs3uB,GAAa,SAAC/hF,EAAQ9jb,EAAQ4jE,GAAI,OAAK8hc,GAAM5hF,EAAQ9jb,EAvI9C,SAACzxO,EAAS80uB,EAAYrjgB,GAEjC,OADkBszW,GAAO/klB,EAASyxO,GACjBq0W,KAAK,WACpB,OAAO4uJ,GAAarwd,KAAKrkR,EAC3B,EAAG,SAAApwI,GACD,OAAOg8wB,GAAKh8wB,EAAK7O,IAAKi/I,EAASpwI,EAAKnQ,MAAO,EAAGq13B,EAChD,EACF,CAgImErz3B,CAAK4zb,EAAM26V,IAAe,EACvFunG,GAAc,SAAChiF,EAAQ9jb,EAAQ4jE,GAAI,OAAK8hc,GAAM5hF,EAAQ9jb,EAhI/C,SAACzxO,EAAS80uB,EAAYrjgB,GAEjC,OADkBszW,GAAO/klB,EAASyxO,GACjBq0W,KAAK,WACpB,OAAO4uJ,GAAarwd,MACtB,EAAG,SAAAz0Z,GACD,OAAOg8wB,GAAKh8wB,EAAK7O,IAAKi/I,EAASpwI,EAAKnQ,OAAQ,EAAGq13B,EACjD,EACF,CAyHoEtz3B,CAAK6zb,EAAM26V,IAAe,EACxFwnG,GAAY,SAACjiF,EAAQwH,GACzB,IAAM06E,EAAe,CAAC,QAAS,KAAM,MAC/Bvp0B,EAAOkguB,GAAavpD,QAAQ0wE,EAAO50D,WACnClvX,EAAS,SAAAxlR,GACb,IAAMkytB,EAASjs0B,GAAK+5G,GACpB,OAAOhvB,GAAGgvB,EAAS/9C,IAAS63tB,GAAW0xG,EAAct5D,EACvD,EACMz6Y,EAAM6xX,EAAOx8hB,UAAU08hB,SACvBnmtB,EAAY8+rB,GAAavpD,QAASk4E,EAA+Br5X,EAAI6jT,aAAzB7jT,EAAI4jT,gBACtD,OAAOjyS,GAAK/lW,EAAWmiS,GAAQjtX,IAAI,SAAA6wb,GAUjC,OATAn4Z,GAAMm4Z,EAAM5jE,GAAQzgU,KAAK,SAAA9zB,GACvBq4wB,EAAOv4sB,MAAM9/D,MAAMw61B,mBAAmBx61B,EAAMs3a,IAC9C,GACA+gW,EAAOx8hB,UAAU87J,UAAUkoY,IACPA,EAAwBu6E,GAAdC,IACPhiF,EAAQ9jb,EAAQ4jE,GACnCrkY,KAAK,SAAAu1W,GACPgvY,EAAOx8hB,UAAUkqe,OAAO18U,EAC1B,IACO,CACT,GAAGi+T,OAAM,EACX,EAqFMmzJ,GAAU,SAACpiF,EAAQr6hB,GACvBq6hB,EAAOlnuB,GAAG,UAAW,SAAA6sJ,GACdA,EAAI4xd,sBArFoB,SAACyoH,EAAQr6hB,EAAOhgD,GAC/C,IAAMopB,EAAQ2miB,GAAIpurB,GAAG2ooB,WAAaylD,GAAIpurB,GAAGyooB,QACzC+uJ,GAAQ,CAAC,CACP5mM,QAAS6zD,GAAGg3E,MACZ38yB,OAAQA,GAAOm32B,GAASv9E,GAAQ,IAC/B,CACD9nH,QAAS6zD,GAAG+2E,KACZ18yB,OAAQA,GAAOm32B,GAASv9E,GAAQ,IAC/B,CACD9nH,QAAS6zD,GAAGm3E,GACZ98yB,OAAQA,GAAOq32B,GAASz9E,GAAQ,IAC/B,CACD9nH,QAAS6zD,GAAG62E,KACZx8yB,OAAQA,GAAOq32B,GAASz9E,GAAQ,KACjC1+yB,OAAAwuB,EAAMi/N,EAAQ,CAAC,CACdmpc,QAAS6zD,GAAGm3E,GACZ98yB,OAAQA,GAAOu32B,GAAkB39E,GAAQ,GACzClvjB,SAAS,EACTzoO,UAAU,GACT,CACD6vqB,QAAS6zD,GAAG62E,KACZx8yB,OAAQA,GAAOu32B,GAAkB39E,GAAQ,GACzClvjB,SAAS,EACTzoO,UAAU,IACP,IAAI,CAAC,CACR6vqB,QAAS6zD,GAAGg3E,MACZ38yB,OAAQA,GAAOs72B,GAAO1hF,GAAQ,IAC7B,CACD9nH,QAAS6zD,GAAG+2E,KACZ18yB,OAAQA,GAAOs72B,GAAO1hF,GAAQ,IAC7B,CACD9nH,QAAS6zD,GAAGm3E,GACZ98yB,OAAQA,GAAOu72B,GAAO3hF,GAAQ,IAC7B,CACD9nH,QAAS6zD,GAAG62E,KACZx8yB,OAAQA,GAAOu72B,GAAO3hF,GAAQ,IAC7B,CACD9nH,QAAS6zD,GAAGm3E,GACZ98yB,OAAQA,GAAOu72B,GAAO3hF,GAAQ,IAC7B,CACD9nH,QAAS6zD,GAAGm3E,GACZ98yB,OAAQA,GAAOi42B,GAASr+E,GAAQ,IAC/B,CACD9nH,QAAS6zD,GAAG62E,KACZx8yB,OAAQA,GAAOi42B,GAASr+E,GAAQ,IAC/B,CACD9nH,QAAS6zD,GAAGg3E,MACZ38yB,OAAQA,GAAO442B,GAASh/E,GAAQ,IAC/B,CACD9nH,QAAS6zD,GAAG+2E,KACZ18yB,OAAQA,GAAO442B,GAASh/E,GAAQ,IAC/B,CACD9nH,QAAS6zD,GAAGm3E,GACZ98yB,OAAQA,GAAO642B,GAASj/E,GAAQ,IAC/B,CACD9nH,QAAS6zD,GAAG62E,KACZx8yB,OAAQA,GAAO642B,GAASj/E,GAAQ,IAC/B,CACD9nH,QAAS6zD,GAAGg3E,MACZ38yB,OAAQA,GAAOkv2B,GAAQt1E,EAAQr6hB,GAAO,IACrC,CACDuya,QAAS6zD,GAAG+2E,KACZ18yB,OAAQA,GAAOkv2B,GAAQt1E,EAAQr6hB,GAAO,IACrC,CACDuya,QAAS6zD,GAAGg3E,MACZ9xkB,SAAUlC,EACVgC,OAAQhC,EACR3oO,OAAQA,GAAO6v2B,GAAcj2E,EAAQr6hB,IACpC,CACDuya,QAAS6zD,GAAG+2E,KACZ7xkB,SAAUlC,EACVgC,OAAQhC,EACR3oO,OAAQA,GAAO8v2B,GAAcl2E,EAAQr6hB,IACpC,CACDuya,QAAS6zD,GAAGm3E,GACZ98yB,OAAQA,GAAO632B,GAASj+E,GAAQ,IAC/B,CACD9nH,QAAS6zD,GAAG62E,KACZx8yB,OAAQA,GAAO632B,GAASj+E,GAAQ,MAC9Br6kB,GAAKlqK,KAAK,SAAAijB,GACZinJ,EAAI3+M,gBACN,EACF,CAIMq72B,CAAyBriF,EAAQr6hB,EAAOhgD,EAE5C,EACF,EAEM5kL,GAAQ,SAACg5C,EAAWz4E,GAAM,MAAM,CACpCy4E,YACAz4E,SACD,EAEKgh3B,GAAQvqF,GAASoD,IACjBonF,GAAa,SAAA3jc,GAAS,OAAI,SAAAt4Y,GAAI,OAAIs4Y,IAAct4Y,GAAQ,EAAI,CAAE,CAAD,EAE7Dk80B,GAAa,SAACl80B,EAAMhlC,EAAQqwK,GAChC,GAAI8smB,GAASn4uB,IAAShlC,GAAU,EAC9B,OAAOuuwB,EAASpyvB,KAAKsjB,GAAMuF,EAAMhlC,IAEjC,IAAMu9yB,EAAaxc,GAAWigF,IAC9B,OAAOzyG,EAASxquB,KAAKw5wB,EAAWtc,UAAUj8vB,EAAMhlC,EAAQih3B,GAAWj80B,GAAOqrI,IAAW1iL,IAAI,SAAAhD,GAAI,OAAI80C,GAAM90C,EAAK8tF,UAAW9tF,EAAK8tF,UAAU91F,KAAK3F,OAAO,EAEtJ,EASMmk4B,GAAW,SAACn80B,EAAMhlC,EAAQqwK,GAC9B,IAAK8smB,GAASn4uB,GACZ,OAAOupuB,EAAS/gX,OAElB,IAAMr6Y,EAAO6xB,EAAKriD,KAClB,GAAIqd,GAAU,GAAKA,GAAUmT,EAAKn2B,OAChC,OAAOuxxB,EAASpyvB,KAAKsjB,GAAMuF,EAAMhlC,IAEjC,IAAMu9yB,EAAaxc,GAAWigF,IAC9B,OAAOzyG,EAASxquB,KAAKw5wB,EAAWtc,UAAUj8vB,EAAMhlC,EAAQih3B,GAAWj80B,GAAOqrI,IAAWltH,KAAK,SAAAx4D,GACxF,IAAM2n2B,EAAW3n2B,EAAK8tF,UAAU91F,KAChC,OAAOw+3B,GAASx23B,EAAK8tF,UAAWz4E,EAASsy1B,EAASt12B,OAAQqzL,EAC5D,EAEJ,EACM+wsB,GAAY,SAACp80B,EAAMhlC,EAAQqwK,GAC/B,IAAK8smB,GAASn4uB,GACZ,OAAOupuB,EAAS/gX,OAElB,IAAMr6Y,EAAO6xB,EAAKriD,KAClB,GAAIqd,GAAUmT,EAAKn2B,OACjB,OAAOuxxB,EAASpyvB,KAAKsjB,GAAMuF,EAAMhlC,IAEjC,IAAMu9yB,EAAaxc,GAAWigF,IAC9B,OAAOzyG,EAASxquB,KAAKw5wB,EAAWpc,SAASn8vB,EAAMhlC,EAAQih3B,GAAWj80B,GAAOqrI,IAAWltH,KAAK,SAAAv4D,GAAI,OAAIw23B,GAAUx23B,EAAK6tF,UAAWz4E,EAASmT,EAAKn2B,OAAQqzL,EAAS,EAE9J,EACMgxsB,GAAa,SAAC1jb,EAAK34Z,EAAMhlC,EAAQyvB,EAAS4gJ,GAC9C,IAAMzqF,EAASm7sB,GAAWpjW,EA7CT,SAAAA,GAAG,OAAI,SAAA34Z,GAAI,OAAI24Z,EAAIwmV,QAAQn/uB,IAASkquB,GAAW,CAAC,KAAM,MAAO,KAAM,SAAUlquB,EAAK6yD,WAA8C,UAAjC8lW,EAAIi7V,mBAAmB5zvB,EAAkB,CAAD,CA6CzHgyrB,CAAWr5R,IAC1C,OAAO4wU,EAASxquB,KAAK6hD,EAAOq7sB,UAAUj8vB,EAAMhlC,EAAQyvB,EAAS4gJ,GAC/D,EAGM6mjB,GAAU,SAAArqT,GAAG,OAAI4yW,GAAO5yW,EAAIvwb,WAAW2hB,QAAQ,UAAW,KAAM,EAChEynpB,GAAe,SAAAnwG,GAAG,MAAY,KAARA,IAAoD,IAAtC,kBAAoB/3jB,QAAQ+3jB,EAAY,EAE5E+rU,GAAe,SAACnu2B,EAAMygF,GAAO,OAAKzgF,EAAKx1B,UAAUi2G,EAAQ52G,OAAQ,EAejEuk4B,GAAY,SAAC5jb,EAAK6jb,EAAW5txB,GAA2B,IAnBrCi5U,EAmBmB40c,EAAQjh4B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,EACrD,KApBuBqsb,EAoBD20c,GApBY/hoB,YAAa09hB,GAAStwW,EAAI4jT,gBAqB1D,OAAO89C,EAAS/gX,OAElB,IAAMrwa,EAAS,CACbg2B,KAAM,GACNnT,OAAQ,GAOJ2mE,EAAOg3X,EAAIlqI,UAAU+tjB,EAAU/wJ,eAAgB9yR,EAAIwmV,UAAYxmV,EAAIy5V,UACzE,OAAOiqF,GAAW1jb,EAAK6jb,EAAU/wJ,eAAgB+wJ,EAAU3zV,YANlC,SAACz4b,EAASp1F,EAAQmT,GAGzC,OAFAh2B,EAAOg2B,KAAOA,EAAOh2B,EAAOg2B,KAC5Bh2B,EAAO6iB,QAAUA,EAxBD,SAACmT,EAAMvqB,EAAOgrG,GAChC,IAAIr2G,EACEmk4B,EAAY9txB,EAAQ18D,OAAO,GACjC,IAAK35C,EAAIqL,EAAQ,EAAGrL,GAAK,EAAGA,IAAK,CAC/B,IAAM0gF,EAAO9qD,EAAK+jB,OAAO35C,GACzB,GAAImoqB,GAAaznlB,GACf,OAAOswsB,EAAS/gX,OAElB,GAAIk0d,IAAczjzB,GAAQ+zsB,GAAW7+vB,EAAMygF,EAASr2G,EAAGqL,GACrD,KAEJ,CACA,OAAO2lxB,EAASpyvB,KAAK5+B,EACvB,CAYWok4B,CAAYxk4B,EAAOg2B,KAAMh2B,EAAO6iB,OAAQ4zF,GAAS+5nB,MAAM3ttB,EAChE,EAE0F2mE,GAAMxjB,KAAK,SAAAy+zB,GACnG,IAAMlyd,EAAQ8xd,EAAUp+E,aAGxB,GAFA1zY,EAAMo+B,SAAS8zb,EAAKnpyB,UAAWmpyB,EAAK5h3B,QACpC0vZ,EAAMq+B,OAAOyzb,EAAU9wJ,aAAc8wJ,EAAU7wJ,WAC3CjhU,EAAMjwK,UACR,OAAO8uhB,EAAS/gX,OAElB,IAAMr6Y,EAAO+jtB,GAAQxnU,GAErB,OAAqB,IADAv8Y,EAAK46B,YAAY6lD,IACZ0txB,GAAanu2B,EAAMygF,GAAS52G,OAASyk4B,EACtDlzG,EAAS/gX,OAET+gX,EAASpyvB,KAAK,CACnBhJ,KAAMmu2B,GAAanu2B,EAAMygF,GACzB87T,QACA97T,WAGN,EACF,EACMgmG,GAAa,SAAC+jQ,EAAK6jb,EAAW5txB,GAAO,IAn2W1B5lF,EAm2W4Byz2B,EAAQjh4B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,EAAC,OAn2WxCwtB,EAm2WsDupwB,GAAavpD,QAAQwzJ,EAAU/wJ,gBAn2W9EyoD,GAAUlrwB,EAAK+hzB,KAm2WgF9gG,KAAK,kBAAMsyJ,GAAU5jb,EAAK6jb,EAAW5txB,EAAS6txB,EAAS,EAAE,SAAAzz2B,GAC9K,IAAM0hZ,EAAQiuC,EAAI46V,YAClB7oY,EAAMwoZ,WAAWlqyB,EAAI2vb,KACrB,IAAMxqb,EAAO+jtB,GAAQxnU,GACrB,OAAO6+W,EAASpyvB,KAAK,CACnBuzY,QACAv8Y,KAAMmu2B,GAAanu2B,EAAMygF,GACzBA,WAEJ,EAAG,EAIGiuxB,GAAS,SAAA780B,GACb,GAHe,SAAAA,GAAI,OA33pBR,IA23pBYA,EAAKwkC,QAAkB,CAG1Cs4yB,CAAS980B,GACX,OAAOvF,GAAMuF,EAAMA,EAAKriD,KAAK3F,QAE7B,IAAMy+E,EAAWz2B,EAAK7lB,WACtB,OAAOs8C,EAASz+E,OAAS,EAAI6k4B,GAAOpmzB,EAASA,EAASz+E,OAAS,IAAMyiD,GAAMuF,EAAMy2B,EAASz+E,OAE9F,EACM+k4B,GAAS,SAAC/80B,EAAMhlC,GACpB,IAAMy7D,EAAWz2B,EAAK7lB,WACtB,OAAIs8C,EAASz+E,OAAS,GAAKgjB,EAASy7D,EAASz+E,OACpC+k4B,GAAOtmzB,EAASz7D,GAAS,GACvBy7D,EAASz+E,OAAS,GAbb,SAAAgoD,GAAI,OA73pBN,IA63pBUA,EAAKwkC,QAAqB,CAahBk6R,CAAU1+T,IAASy2B,EAASz+E,SAAWgjB,EAChE6h3B,GAAOpmzB,EAASA,EAASz+E,OAAS,IAElCyiD,GAAMuF,EAAMhlC,EAEvB,EAUMgi3B,GAAgB,SAAArkb,GAAG,OAAI,SAAA9wB,GAC3B,IAAM48P,EAAOs4M,GAAOl1c,EAAI4jT,eAAgB5jT,EAAIghH,aAC5C,OAV4B,SAAClwF,EAAK8rO,GAClC,IAAIpioB,EACEs/B,EAA6D,QAArDt/B,EAAKs2Z,EAAIlqI,UAAUg2W,EAAKhxlB,UAAWklX,EAAIwmV,gBAAkC,IAAZ98uB,EAAgBA,EAAKs2Z,EAAIy5V,UACpG,OAAOiqF,GAAW1jb,EAAK8rO,EAAKhxlB,UAAWgxlB,EAAKzpqB,OAAQ,SAACoqa,EAAUpqa,GAAM,OAAgB,IAAXA,GAAgB,EAAIA,CAAM,EAAE2mE,GAAMpxD,OAAO,SAAAqs2B,GACjH,IAAM3jzB,EAAO2jzB,EAAKnpyB,UAAU91F,KAAKu0C,OAAO0q1B,EAAK5h3B,OAAS,GACtD,OAAQ0lpB,GAAaznlB,EACvB,GAAGuvpB,QACL,CAGUy0J,CAAsBtkb,EAAK8rO,EACrC,CAAE,EAEIp/nB,GAAS,SAACq0vB,EAAQwjF,GACtB,IAAMn73B,EAAWm73B,IACXr1c,EAAM6xX,EAAOx8hB,UAAU08hB,SAC7B,OAJwB,SAACjhW,EAAK6jb,EAAWz63B,GAAQ,OAAKkpxB,GAAQlpxB,EAAS6mL,SAAU,SAAAh6E,GAAO,OAAIgmG,GAAW+jQ,EAAK6jb,EAAW5txB,EAAQ,EAAE,CAI1HuuxB,CAAkBzjF,EAAO/gW,IAAK9wB,EAAK9lb,GAAUo8D,KAAK,SAAA5gD,GAAO,OAAI6/2B,GAAkB1jF,EAAQwjF,EAAa3/2B,EAAQ,EACrH,EACM6/2B,GAAoB,SAAC1jF,EAAQwjF,EAAa3/2B,GAAgC,IAC1E8kC,EADmD66qB,EAAY1huB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EAEjEuG,EAAWm73B,IAEXG,EAAoD,QAAvCh70B,EADPq3vB,EAAOx8hB,UAAU08hB,SACDnuE,eAAelnX,iBAAmC,IAAZliU,EAAgBA,EAAK,GACjFi70B,EAAiB/yG,GAASxoxB,EAASw73B,gBAAgBhg3B,EAAQqxF,SAAU,SAAAg8vB,GAAa,OAAIrt1B,EAAQ4Q,KAAKn2B,QAAU4y2B,EAAc6xB,UAAY7xB,EAAcn5vB,QAAQ26nB,WAAW,kBAAM4wJ,GAActjF,EAAO/gW,IAAI,EAAhEiyZ,CAAkErt1B,EAAQmtZ,MAAO2yd,EAAW9/2B,EAAQ4Q,KAAK,GACtP,GAA8B,IAA1Bmv2B,EAAetl4B,OACjB,OAAOuxxB,EAAS/gX,OAElB,IAAMg1d,EAAan93B,QAAQ6E,IAAIilxB,GAAMmzG,EAAgB,SAAAvqc,GAEnD,OADoBA,EAAGphY,MAAMp0C,EAAQ4Q,KAAM4ka,EAAG0qc,WAAYvgK,GACvC5huB,KAAK,SAAAw/E,GAAO,MAAK,CAClC4izB,UAAWng3B,EAAQ4Q,KACnB1Q,MAAOq9D,EACP4nK,QAASqwM,EAAGrwM,QACZm2E,SAAUk6H,EAAGl6H,SACb8kkB,YAAa5qc,EAAG4qc,YACjB,EACH,IACA,OAAOp0G,EAASpyvB,KAAK,CACnBqm2B,aACAjg3B,WAEJ,GAGA,SAAWmv2B,GACTA,EAAiBA,EAAwB,MAAI,GAAK,QAClDA,EAAiBA,EAAwB,MAAI,GAAK,OACnD,CAHD,CAGGA,KAAqBA,GAAmB,CAAC,IAC5C,IAiTuB5x3B,GAqBE2qD,GAtUnBm40B,GAAS,SAACjz0B,EAAKmpb,EAASwuU,GAAO,OAAK33vB,EAAIkz0B,QAAUnR,GAAiBxz3B,MAAQ46e,EAAQnpb,EAAImz0B,QAAUx7E,EAAQ33vB,EAAIoz0B,OAAQ,EA8CrHA,GAAS,SAAA1/0B,GAAC,MAAK,CACnBw/0B,MAAOnR,GAAiBxvI,MACxB6gJ,OAAQ1/0B,EACT,EACKy/0B,GAAS,SAAA1n4B,GAAC,MAAK,CACnByn4B,MAAOnR,GAAiBxz3B,MACxB4k4B,OAAQ1n4B,EACT,EAGK4n4B,GAFW,SAAArz0B,GAAG,OAAIiz0B,GAAOjz0B,EAAK43vB,GAAOhszB,MAAOgszB,GAAO1pzB,MAAO,EAE1Dml4B,GAGJD,GAHIC,GAvDY,SAAAljzB,GAChB,IAAM1gC,EAAS,GACTxR,EAAS,GAIf,OAHAwhvB,GAAOtvsB,EAAS,SAAA/jD,GACd6m2B,GAAO7m2B,EAAK,SAAAr4B,GAAG,OAAIkqC,EAAOtrC,KAAKoB,EAAI,EAAE,SAAA4vC,GAAG,OAAI8L,EAAO98C,KAAKgxC,EAAI,EAC9D,GACO,CACL8L,SACAxR,SAEJ,EA6CMo11B,GAKJF,GALIE,GAjBY,SAACrz0B,EAAKhsD,GACtB,OAAIgsD,EAAIkz0B,QAAUnR,GAAiBxz3B,MAC1ByF,EAAEgsD,EAAImz0B,QAENnz0B,CAEX,EAWMqz0B,GAlCM,SAACrz0B,EAAKhsD,GAChB,OAAIgsD,EAAIkz0B,QAAUnR,GAAiBxvI,MAC1B,CACL2gJ,MAAOnR,GAAiBxvI,MACxB6gJ,OAAQp/3B,EAAEgsD,EAAIoz0B,SAGTpz0B,CAEX,EAyBMqz0B,GA5CW,SAACrz0B,EAAKhsD,GACrB,OAAIgsD,EAAIkz0B,QAAUnR,GAAiBxz3B,MAC1B,CACL2k4B,MAAOnR,GAAiBxz3B,MACxB4k4B,OAAQn/3B,EAAEgsD,EAAImz0B,SAGTnz0B,CAEX,EAmCMqz0B,GAUEJ,GAGFK,GAAY,SAAA3g0B,GAChB,OAAOklB,EAASllB,IAAUngE,GAAKmgE,GAAOtlE,OAAS,IAAM,uBAAyB2B,KAAKC,UAAU0jE,EAAO,KAAM,EAC5G,EAWM2hW,GAAK,SAAC1lZ,EAAM2k3B,GAChB,OAAOF,GAAoB,CAAC,CAC1Bzk3B,OACA2k3B,iBAEJ,EAMMC,GAAa,SAAC5k3B,EAAM+jD,EAAO6lvB,EAAUhruB,GAEzC,OADewzsB,GAAMw3B,EAAUhruB,GACjB8xpB,KAAK,kBALC,SAAC1wtB,EAAM4pyB,EAAUi7E,GAAM,OAAKn/d,GAAG1lZ,EAAM,iBAAM,uBAAyB6k3B,EAAS,gCAAkCH,GAAU96E,EAAS,EAAE,CAK/Hk7E,CAAc9k3B,EAAM4pyB,EAAUhruB,EAAG,EAAE,SAAAizX,GAAE,OAAIA,EAAGkzb,QAAQ/k3B,EAAKve,OAAO,CAAC,WAAam9E,IAAM7a,EAAM,EACrH,EACMih0B,GAAW,SAACzj4B,EAAKqozB,GAMrB,MAAO,CACLm7E,QANc,SAAC/k3B,EAAM+jD,GAErB,OADequtB,GAAMrutB,EAAOxiE,GACdmvuB,KAAK,kBAXJ,SAAC1wtB,EAAMze,GAAG,OAAKmka,GAAG1lZ,EAAM,iBAAM,8CAAgDze,EAAM,GAAG,EAAE,CAW/E0j4B,CAAWjl3B,EAAMze,EAAI,EAAE,SAAA2j4B,GAAM,OAAIN,GAAW5k3B,EAAM+jD,EAAO6lvB,EAAUs7E,EAAO,EACrG,EAIEnn4B,SAHe,WAAH,MAAS,YAAcwD,EAAM,uBAAyBqC,GAAKgmzB,EAAU,EAKrF,EASMp6tB,GAAY,SAAA21yB,GAChB,OAAO,WACL,GAAuB,IAAnBlj4B,UAAQxD,OACV,MAAM,IAAIkB,MAAM,4BAGlB,IADA,IAAMsiD,EAAM,CAAC,EACJ5tB,EAAI,EAAGA,EAAIpyB,UAAQxD,OAAQ41B,IAAK,CACvC,IAAM+w2B,EAAoB/w2B,EAAC,GAAApyB,UAAAxD,QAAD41B,OAAC1uB,EAAA1D,UAADoyB,GAC1B,IAAK,IAAM9yB,KAAO6j4B,EACZ/yG,GAAM+yG,EAAW7j4B,KACnB0gD,EAAI1gD,GAAO4j4B,EAAOlj1B,EAAI1gD,GAAM6j4B,EAAU7j4B,IAG5C,CACA,OAAO0gD,CACT,CACF,EACMkkX,GAAY32U,GArBL,SAAC4iP,EAAKszF,GAEjB,OADoBp2U,EAAc8iP,IAAQ9iP,EAAco2U,GACnCS,GAAU/zF,EAAKszF,GAAMA,CAC5C,GA6BM2/d,IAVQ71yB,GAzBE,SAAC4iP,EAAKszF,GACpB,OAAOA,CACT,GAiCoB,SAAAxzL,GAAQ,MAJa,CACvC35L,IAAK,iBACLrH,QAE6C04gB,EAAS13U,GAAW,GAO7DozpB,GAAc,SAAAj21B,GAAM,OAAIigvB,EAAQm1G,GAAqBprxB,GAA7Bi2qB,CAAsCjgvB,EAAQ,EAStEk21B,GAJiB,SAAApv3B,GACrB,IAAMqv3B,EAAaf,GAAuBtu3B,GAC1C,OAAOqv3B,EAAWn21B,OAAO5wC,OAAS,EAAI6m4B,GAAYE,EAAWn21B,QAAUo11B,GAAoBe,EAAW3k1B,OACxG,EAkBM6vrB,GAAO,SAACpxuB,EAAOmm4B,EAASC,GAC5B,OAAQpm4B,EAAMi5C,KACZ,IAAK,QACH,OAAOkt1B,EAAQnm4B,EAAMiC,IAAKjC,EAAM+wT,OAAQ/wT,EAAMkkQ,SAAUlkQ,EAAMoU,MAChE,IAAK,SACH,OAAOgy3B,EAASpm4B,EAAM+wT,OAAQ/wT,EAAMqm4B,cAE1C,EAEMrm4B,GAAQ,SAAAmgT,GAKZ,MAAO,CACLsllB,QALc,SAAC/k3B,EAAM+0B,GACrB,OAAO0v1B,GAAuBhllB,EAAU1qQ,GAAM,SAAA5vC,GAAG,OAjGtC,SAAC6a,EAAM7a,GAAG,OAAKuga,GAAG1lZ,EAAM4piB,EAASzkjB,GAAM,CAiGGy6X,CAAO5/W,EAAM7a,EAAI,EACxE,EAIEpH,SAHe6rjB,EAAS,OAK5B,EACMg8U,GAAatm4B,GAAMml4B,IAEnBoB,GAAiB,SAAC7l3B,EAAMwd,EAAKj8B,EAAKyrK,GAAM,OAAKolnB,GAAM50vB,EAAKj8B,GAAKmvuB,KAAK,kBA9GhD,SAAC1wtB,EAAMze,EAAKi8B,GAAG,OAAKkoY,GAAG1lZ,EAAM,iBAAM,8CAAgDze,EAAM,QAAUmj4B,GAAUln2B,EAAI,EAAE,CA8G7Dso2B,CAAgB9l3B,EAAMze,EAAKi8B,EAAI,EAAEwvI,EAAQ,EACjH+4tB,GAAiB,SAACvo2B,EAAKj8B,EAAK2wO,EAAUllE,GAE1C,OAAOA,EADGolnB,GAAM50vB,EAAKj8B,GAAKsxuB,WAAW,kBAAM3ggB,EAAS10M,EAAI,GAE1D,EAMMwo2B,GAAe,SAAC7orB,EAAOn9L,EAAMwd,EAAKj8B,EAAKmS,GAC3C,IAAMs5J,EAAS,SAAAmiT,GAAE,OAAIz7c,EAAKqx3B,QAAQ/k3B,EAAKve,OAAO,CAACF,IAAO4td,EAAI,EACpD82a,EAAiB,SAAAC,GAAQ,OAAIA,EAASx1J,KAAK,kBAAM+zJ,GAAoBz0G,EAAS/gX,OAAO,EAAE,SAAAqgD,GAC3F,IAAMpvd,EAASwT,EAAKqx3B,QAAQ/k3B,EAAKve,OAAO,CAACF,IAAO+td,GAChD,OAAOm1a,GAAiBvk4B,EAAQ8vxB,EAASpyvB,KAC3C,EAAG,EACH,OAAQu/K,EAAM5kK,KACZ,IAAK,WACH,OAAOst1B,GAAe7l3B,EAAMwd,EAAKj8B,EAAKyrK,GACxC,IAAK,iBACH,OAAO+4tB,GAAevo2B,EAAKj8B,EAAK47M,EAAMjsK,QAAS87H,GACjD,IAAK,SACH,OAjBe,SAACxvI,EAAKj8B,EAAKyrK,GAAM,OAAKA,EAAOolnB,GAAM50vB,EAAKj8B,GAAM,CAiBtD4k4B,CAAa3o2B,EAAKj8B,EAAK0k4B,GAChC,IAAK,uBACH,OAlBwB,SAACzo2B,EAAKj8B,EAAK2wO,EAAUllE,GAEjD,OAAOA,EADKolnB,GAAM50vB,EAAKj8B,GAAK6N,IAAI,SAAA2lC,GAAG,OAAY,IAARA,EAAem9L,EAAS10M,GAAOuX,CAAG,GAE3E,CAeaqx1B,CAAsB5o2B,EAAKj8B,EAAK47M,EAAMjsK,QAAS+01B,GACxD,IAAK,iBAED,OAAOF,GAAevo2B,EAAKj8B,EAAKqojB,EAAS,CAAC,GAAI,SAAA9kgB,GAC5C,IAAM5kD,EAASima,GAAUhpN,EAAMjsK,QAAQ1T,GAAMsnB,GAC7C,OAAOkoH,EAAO9sK,EAChB,GAGR,EAkBMmm4B,GAAQ,SAAAxl1B,GAMZ,MAAO,CACLkk1B,QANc,SAAC/k3B,EAAMg9C,GAAC,OAlBJ,SAACh9C,EAAMwd,EAAK+qG,GAChC,IAE0BvxC,EAFpB68C,EAAU,CAAC,EACXxkG,EAAS,GAAG0nD,EAAAhyF,EACEwjI,GAAM,IAA1B,IAAAxxC,EAAA/xF,MAAAgyF,EAAAD,EAAA9xF,KAAAC,MAA4B,CAAC,IAAlBi4M,EAAKnmH,EAAA13F,MACdoxuB,GAAKvzhB,EAAO,SAAC57M,EAAK8uT,EAAQ7sD,EAAU9vP,GAClC,IAAMxT,EAAS8l4B,GAAaxioB,EAAUxjP,EAAMwd,EAAKj8B,EAAKmS,GACtD+w3B,GAAkBvk4B,EAAQ,SAAAiF,GACxBkqC,EAAOtrC,KAAIkE,MAAXonC,EAAMpf,EAAS9qB,GACjB,EAAG,SAAAisD,GACDyiF,EAAQw8K,GAAUj/P,CACpB,EACF,EAAG,SAACi/P,EAAQs1kB,GACV9xvB,EAAQw8K,GAAUs1kB,EAAano2B,EACjC,EACF,CAAC,OAAAr4B,GAAA4xF,EAAAl6F,EAAAsI,EAAA,SAAA4xF,EAAA3xF,GAAA,CACD,OAAOiqC,EAAO5wC,OAAS,EAAIgm4B,GAAoBp11B,GAAUo11B,GAAoB5wvB,EAC/E,CAE+ByyvB,CAActm3B,EAAMg9C,EAAGnc,EAAQ,EAO1D9iD,SANe,WACf,IAAMwo4B,EAAe31G,GAAM/vuB,EAAQ,SAAAvhD,GAAK,OAAIoxuB,GAAKpxuB,EAAO,SAACiC,EAAKil4B,EAAOC,EAAW/y3B,GAAI,OAAKnS,EAAM,OAASmS,EAAK3V,UAAU,EAAE,SAACsyT,EAAQq2kB,GAAa,MAAK,SAAWr2kB,EAAS,GAAG,EAAC,GAC5K,MAAO,SAAWk2kB,EAAax60B,KAAK,MAAQ,GAC9C,EAKF,EACM460B,GAAQ,SAAAjz3B,GAMZ,MAAO,CACLqx3B,QANc,SAAC/k3B,EAAM9K,GACrB,IAAMqsE,EAAUqvsB,GAAM17wB,EAAO,SAAC3P,EAAGvG,GAAC,OAAK0U,EAAKqx3B,QAAQ/k3B,EAAKve,OAAO,CAAC,IAAMzC,EAAI,MAAOuG,EAAE,GACpF,OAAOgg4B,GAA6BhkzB,EACtC,EAIExjF,SAHe,WAAH,MAAS,SAAW2V,EAAK3V,WAAa,GAAI,EAK1D,EAUM6o4B,GAAQ,SAAC922B,EAAOpc,EAAM8pB,GAAG,OAAKin2B,GAPf,SAAC302B,EAAOpc,EAAM8pB,GACjC,IAAM4zB,EAAM19C,EAAKqx3B,QAAQ,CAACj12B,GAAQ0N,GAClC,OAAOin2B,GAAsBrz0B,EAAK,SAAAkib,GAAI,MAAK,CACzCvva,MAAOvmC,EACP6R,OAAQikc,EACT,EACH,CAC0DuzZ,CAAa/22B,EAAOpc,EAAM8pB,GAAM,EACpFsp2B,GAAc,SAAAC,GAClB,MAAO,aAlNY,SAAA131B,GACnB,IAAMohZ,EAAKphZ,EAAO5wC,OAAS,GAAK4wC,EAAOx6B,MAAM,EAAG,IAAIpT,OAAO,CAAC,CAC1Due,KAAM,GACN2k3B,aAAc/6U,EAAS,4CACnBv6gB,EACN,OAAOuhvB,GAAMngW,EAAI,SAAA5zb,GACf,MAAO,iBAAmBA,EAAEmjB,KAAK+rC,KAAK,OAAS,MAAQlvD,EAAE8n4B,cAC3D,EACF,CA0MwBqC,CAAaD,EAAQ131B,QAAQ0c,KAAK,MAAQ,qBAAuB240B,GAAUqC,EAAQhj0B,MAC3G,EACMkj0B,GAAS,SAAC1l4B,EAAKqozB,GAAQ,OAAKo7E,GAASzj4B,EAAKqwxB,GAAMg4B,EAAUy8E,IAAQ,EAElEa,GAAWt9U,EAASg8U,IACpBuB,GAAa,SAAC1nlB,EAAW2nlB,GAAY,OAAK9n4B,GAAM,SAAAiG,GACpD,IAAM8h4B,SAAoB9h4B,EAC1B,OAAOk6S,EAAUl6S,GAAKk/3B,GAAoBl/3B,GAAKk/3B,GAAoB,kBAAkBhj4B,OAAO2l4B,EAAc,cAAc3l4B,OAAO4l4B,GACjI,EAAG,EACGxvzB,GAASsvzB,GAAWvvwB,EAAU,UAC9B3pE,GAASk50B,GAAWl0zB,EAAU,UAC9B4jkB,GAAUswP,GAAWvrtB,EAAW,WAChC0rtB,GAAoBH,GAAW180B,EAAY,YAE3C0yJ,GAnIU,SAAC57M,EAAK8uT,EAAQ7sD,EAAU9vP,GAAI,MAAM,CAChD6kC,IAAK,QACLh3C,MACA8uT,SACA7sD,WACA9vP,OACD,EA8HK6z3B,GA7HgB,SAACl3kB,EAAQs1kB,GAAY,MAAM,CAC/Cpt1B,IAAK,SACL83Q,SACAs1kB,eACD,EA0HK6B,GAAe,SAAA3m1B,GAAM,OA1BX4+P,EA0BuB,SAAAngT,GAAK,OAAIqxxB,GAAW9vuB,EAAQvhD,GAAS0pzB,GAAO1pzB,MAAMA,GAAS0pzB,GAAOhszB,MAAM,uBAAwByE,OAAOnC,EAAO,sBAAwBmC,OAAOo/C,EAAOkL,KAAK,MAAO,MAAO,EA1BjLzsD,GAAM,SAAAwlD,GAAC,OAAI26P,EAAU36P,GAAG4rrB,KAAK+zJ,GAAqBA,GAAoB,GAAnF,IAAAhllB,CA0BgM,EAC1MgolB,GAAa,SAAClm4B,EAAK8hB,GAAM,OAAK85L,GAAM57M,EAAKA,EAnKvB,CACtBg3C,IAAK,WACLrH,QAAS,CAAC,GAiKoD7tB,EAAQ,EAClEqk3B,GAAiB,SAAAnm4B,GAAG,OAAIkm4B,GAAWlm4B,EAAK0sD,GAAQ,EAChD050B,GAAmB,SAAApm4B,GAAG,OAAIkm4B,GAAWlm4B,EAAK+l4B,GAAmB,EAE7DM,GAAW,SAACrm4B,EAAK8hB,GAAM,OAAK85L,GAAM57M,EAAKA,EA9JrB,CACtBg3C,IAAK,SACLrH,QAAS,CAAC,GA4JkD7tB,EAAQ,EAChEwk3B,GAAe,SAAAtm4B,GAAG,OAAIqm4B,GAASrm4B,EAAK0sD,GAAQ,EAG5C650B,GAAc,SAACvm4B,EAAK2wO,EAAU7uN,GAAM,OAAK85L,GAAM57M,EAAKA,EAAK8j4B,GAAYnzpB,GAAW7uN,EAAQ,EACxF0k3B,GAAkB,SAACxm4B,EAAK2wO,GAAQ,OAAK41pB,GAAYvm4B,EAAK2wO,EAAUr6J,GAAQ,EAExEmwzB,GAAsB,SAACzm4B,EAAK2wO,EAAUrxL,GAAM,OAAKin1B,GAAYvm4B,EAAK2wO,EAAUs1pB,GAAa3m1B,GAAS,EAClGon1B,GAAmB,SAAC1m4B,EAAK2wO,GAAQ,OAAK41pB,GAAYvm4B,EAAK2wO,EAAU2ka,GAAS,EAC1EqxP,GAAoB,SAAC3m4B,EAAK2wO,GAAQ,OAAK41pB,GAAYvm4B,EAAK2wO,EAAUo1pB,GAAmB,EAGrFtn4B,GAAO0n4B,GAAe,QACtBS,GAAUR,GAAiB,SAC3BrokB,GAAWqokB,GAAiB,YAC5BS,GAAUF,GAAkB,UAAW,kBAAMx9wB,CAAI,GACjD29wB,GAAeR,GAAa,QAC5BS,GAAeT,GAAa,QAC5BU,GAAkBV,GAAa,WAC/BW,GAAgBX,GAAa,SAC7BnqxB,GAASuqxB,GAAiB,UAAU,GACpCjkuB,GAAUikuB,GAAiB,WAAW,GACtCn7I,GAAUm7I,GAAiB,WAAW,GAEtCQ,GAAgB,SAAAzo4B,GAAI,OAlBF,SAACuB,EAAK2wO,GAAQ,OAAK41pB,GAAYvm4B,EAAK2wO,EAAUjkL,GAAQ,CAkBhDy60B,CAAgB,OAAQ1o4B,EAAM,EAEtD2o4B,GAAsBtC,GAAM,CAACrm4B,GAAM0n4B,GAAe,WAAYK,GAAgB,WAAY,IAHvE770B,GAG4F,EAvBnG,SAAC3qD,EAAK2wO,GAAQ,OAAK/0B,GAAM57M,EAAKA,EAAK8j4B,GAAYnzpB,GAAWg1pB,KAAY,CAoBxD0B,CAAU,UAAW180B,KAGoE670B,GAAgB,aAAc,KAxBhIxm4B,GAwBoJ,UAxB7Iqm4B,GAASrm4B,GAAK+l4B,KAwB2Ia,GAAS7okB,GAhBvK,SAAC/9T,EAAK2wO,EAAU7uN,GAAM,OAAKyk3B,GAAYvm4B,EAAK2wO,EAAUy0pB,GAAMtj3B,GAAS,CAgB4Gwl3B,CAAiB,cAAe,GAAI560B,MAMxO660B,GAA0B,CAAC9kuB,GAASukuB,GAAiBD,GAAcD,GAAcD,IAEjFW,GAAgC,CAACrrxB,IAAQj8G,OAAOqn4B,IAEhDE,GAAmB,CAACd,GAAkB,YAAan4G,GAAQi4G,GAAoB,QAAS,OAAQ,CAAC,OAAQ,WAAYA,GAAoB,WAAY,YAAa,CAAC,OAAQ,YAAa,UAExLiB,GAAsBH,GAAwBrn4B,OAAO,CAACgn4B,GAAc,qBAAsB37I,GAASxtb,GAAUiokB,GAAY,WAAY93yB,KACrIy5yB,GAA4BH,GAA8Btn4B,OAAO,CAACgn4B,GAAc,qBAAsB37I,GAASxtb,GAAUiokB,GAAY,WAAY93yB,KACjJ05yB,GAAqBL,GAAwBrn4B,OAAO,CAACgn4B,GAAc,uBACnEW,GAA2BL,GAA8Btn4B,OAAO,CAACgn4B,GAAc,6BAC/EY,GAAiBpC,GAAO,OAAQ,CACpCqC,kBAAmBL,GACnBM,wBAAyBL,KAE3B7C,GAAM,CAACoC,GAAc,eAAgBP,GAAkB,YAAat+U,EAAS,KAAM4+U,GA/C3D,SAACjn4B,EAAK8hB,GAAM,OAAK85L,GAAM57M,EAAKA,EAtK5B,CACtBg3C,IAAK,WACLrH,QAAS,CAAC,GAoKyDy11B,GAAMtj3B,GAAS,CA+Ccmm3B,CAAgB,WAAYH,IAAiBzB,GAAS,SAAUX,GAAO,OAAQ,CAC/KqC,kBAAmBH,GACnBI,wBAAyBH,OACtB3n4B,OAAOun4B,KAEZ,IA4oDmB5B,GAqgCfqC,GAjpFEC,GAAa,SAAAvpF,GACjB,IAAMwpF,EAASxpF,EAAO5/X,GAAG5zZ,SAASunV,SAASy1hB,OACrCnt2B,EAAUo1vB,GAAM+3G,EAAQ,SAAA7qL,GAAK,OA1BTr/nB,EA0BiCq/nB,EA1BzB8nL,GAAM,gBAAiB+B,GAAmBn93B,EAAA,CAC5E6pG,QAAS51B,EAAKb,IACXa,KAwB+DixpB,KAAK,SAAAvruB,GACrE,MAAM,IAAIxF,MAAMmn4B,GAAY3h4B,GAC9B,EAAGsqF,GA5BuB,IAAAhQ,CA4Bd,GACN4vG,EAAWkjmB,GAAYt7N,GAAWz6hB,EAAS,SAAAsoB,GAAC,OAAIA,EAAEuwD,OAAO,IACzDu0xB,EAAgB/o1B,GAAOrkB,GAE7B,MAAO,CACLA,UACA6yJ,WACA20sB,gBAJsB,SAAA3uxB,GAAO,OAAI27qB,GAAS44G,EAAe,SAAArjH,GAAE,OAAIA,EAAGlxqB,UAAYA,CAAO,EAAE,EAM3F,EAoBMw0xB,GAAU,SAAA1pF,GACd,IAAM2pF,EAAsBvqF,KACtBwqF,EAAWtsF,IAAK,GAChB3ynB,EAAWg/sB,EAAoB7thB,MAC/B+thB,EAAoB,WACpBl/sB,OA3wK8B,SAAAq1nB,GAAU2yD,GAAwB3yD,GAAQkxD,cAAcE,kBAAmB,CA4wK3G04B,CAA8B9pF,GA92aP,SAAAA,GAC3BA,EAAO5iyB,SAAS,mBAClB,CA62aM2s3B,CAAqB/pF,GACrB4pF,EAASvl4B,KAAI,GACbsl4B,EAAoBhi4B,QAExB,EACMqi4B,EAAsB,SAAAnm3B,GACrB8mK,OApxK0B,SAACq1nB,EAAQhvY,GAAU2hc,GAAwB3yD,GAAQkxD,cAAcC,cAAcngc,EAAO,CAqxKnHi5d,CAA2BjqF,EAAQn8xB,EAAQmtZ,OAC3C24d,EAAoBtl4B,IAAI,CACtB6wG,QAASrxF,EAAQqxF,QACjBg1xB,YAAarm3B,EAAQ4Q,KAAKn2B,SAGhC,EACM6r4B,EAAoBjisB,GAAO,kBAAMqhsB,GAAWvpF,EAAO,GAEnD7zoB,EAAO,SAAAq3jB,IADI,SAAAA,GAAY,OAAImmK,EAAoBrl4B,MAAM2K,IAAI,SAAAoqb,GAAE,OAAIn+O,GAAW8kmB,EAAO/gW,IAAK+gW,EAAOx8hB,UAAU08hB,SAAU7mX,EAAGnkV,SAASzwC,KAAK,SAAA2l0B,GAAU,OAAI1G,GAAkB1jF,EAAQmqF,EAAmBC,EAAY5mK,EAAa,EAAC,GAAEkP,WAAW,kBAAM/mrB,GAAOq0vB,EAAQmqF,EAAkB,EAAE,EAEjRE,CAAS7mK,GAAc+M,KAAKs5J,EAAmB,SAAAS,GAC7CN,EAAoBM,EAAWzm3B,SAC/Bym3B,EAAWxG,WAAWli4B,KAAK,SAAAki4B,GACzB6F,EAAoBrl4B,MAAM2K,IAAI,SAAAoqb,GAC5B,IAAMx1a,EAAUym3B,EAAWzm3B,QACvBw1a,EAAGnkV,UAAYrxF,EAAQqxF,UACrBrxF,EAAQ4Q,KAAKn2B,OAAS+6b,EAAG6wc,aAAe,GAC1CL,KAEAF,EAAoBtl4B,IAAGgH,EAAC,CAAC,EACpBgub,EAAG,CACN6wc,YAAarm3B,EAAQ4Q,KAAKn2B,UAExBsr4B,EAAStl4B,MAh5aK,SAAC07yB,EAAQnsyB,GACvCmsyB,EAAO5iyB,SAAS,sBAAuBvJ,EACzC,CA+4agB023B,CAAwBvqF,EAAQ,CAC9B8jF,gBAGF8F,EAASvl4B,KAAI,GAx5aE,SAAC27yB,EAAQnsyB,GACtCmsyB,EAAO5iyB,SAAS,qBAAsBvJ,EACxC,CAu5agB223B,CAAuBxqF,EAAQ,CAC7B8jF,iBAKV,EACF,EACF,EACF,EACA9jF,EAAO1yD,WAAW,yBAA0B,SAACm9I,EAAKtr4B,GAChD,IAAMqkuB,EAAe16oB,EAAS3pF,GAASA,EAAMqkuB,aAAe,CAAC,EAC7Dr3jB,EAAKq3jB,EACP,GACAw8E,EAAO1yD,WAAW,wBAAyBu8I,GA3EpB,SAAC7pF,EAAQluqB,GAChC,IAAM/2B,EAASyksB,GAAO1tqB,EAAIq6B,KAAM,IAChC6zoB,EAAOlnuB,GAAG,0BAA2B,SAAAp8E,GACnB,KAAZA,EAAEy7rB,OAGNp9kB,EAAOixI,UACT,GACAg0jB,EAAOlnuB,GAAG,UAAW,SAAAp8E,GACnB,IAAMw7rB,EAAUx7rB,EAAEy7rB,MACF,IAAZD,EACFn9kB,EAAOixI,WACc,KAAZksc,GACTpmjB,EAAI+3vB,mBAER,GACA7pF,EAAOlnuB,GAAG,SAAUiiC,EAAO9oB,OAC7B,CA2DEy4yB,CAAiB1qF,EAAQ,CACvB6pF,oBACA19tB,QAEJ,EAEMw+tB,GAAYt1G,KAAW/urB,QACvBm9L,GAAWknmB,GAAUlnmB,WACrBmnmB,GAAoB,SAAAtk1B,GAAI,OAAIs6uB,GAAkB/H,GAAavpD,QAAQhprB,GAAO,EAC1Euk1B,GAAuB,SAAC18c,EAAK7nY,GACjC,IAAIqC,EACJ,OAA2B,IAApBwlY,EAAIghH,aAAqBhhH,EAAI8jT,aAA2C,QAA3BtprB,EAAKrC,EAAK7b,mBAAqC,IAAZke,OAAqB,EAAIA,EAAGrqD,OACrH,EACMws4B,GAA+B,SAAC7rb,EAAKr+Z,GAAG,OAAKivuB,EAASxquB,KAAK45Z,EAAIlqI,UAAUn0R,EAAIm5C,YAAa,WAAY,EACtGgxyB,GAAqB,SAAC9rb,EAAKr+Z,GAAG,OAAKkq1B,GAA6B7rb,EAAKr+Z,GAAKkurB,QAAS,EAyBnFk8J,GAA0B,SAACt7D,EAAUu7D,GAAe,OAAKA,EAAgBC,aAAa/0a,OAAO,SAAA3vB,GAAO,OAV1E,SAACkpY,EAAUh5tB,GAAO,OAAKohtB,GAAgBphtB,GAASy/W,OAAO,SAAAv1a,GAAG,OAAIA,EAAI8/F,QAAQgvrB,EAAS,EAAE,CAUPy7D,CAAwBz7D,EAAUlpY,EAAQ,EAAE,EACpJ4kc,GAAwB,SAAC17D,EAAUu7D,GAAe,OAAKA,EAAgBC,aAAa/0a,OAAO,SAAA3vB,GAAO,OAV9E,SAACkpY,EAAUh5tB,GACnC,OAAOqhtB,GAAerhtB,GAASy/W,OAAO,SAAAv1a,GACpC,OAAIk+uB,GAAOl+uB,EAAIq0rB,YACN4iF,GAAanhtB,EAAS91D,GAAKu1a,OAAO,SAAAq8L,GAAI,OAAIA,EAAK9xgB,QAAQgvrB,EAAS,IAEhE9uxB,EAAI8/F,QAAQgvrB,EAEvB,EACF,CAE4G27D,CAAkB37D,EAAUlpY,EAAQ,EAAE,EAG5I8kc,GAAqB,SAACtrF,EAAQ//xB,GAClC,IAAMqmC,EAAOrmC,EAASg1tB,UACjB3kjB,EAAYhqI,IACf05vB,EAAOx8hB,UAAUgujB,kBAAkBlrxB,EAAMrmC,EAASqB,SAEtD,EACMiq3B,GAAwB,SAACvrF,EAAQp/vB,EAAK4mwB,GAC1C,IAAM7igB,EAAUq7f,EAAO/gW,IAAIlqI,UAAUn0R,EAAIm5C,YAAa,WACtD,GAAI4qN,IAAYA,EAAQp8S,KAAM,CAC5B,IAAMi+b,EAAUw5W,EAAO/gW,IAAIh9a,OAAO,UAAW0iR,GAAS,GACtD,GAAI6hJ,GACaghX,EAAUsQ,GAAgBtxX,GAAWuxX,GAAevxX,IAC5D/qY,KAAK,SAAA7a,GAAG,OAAI0q1B,GAAmBtrF,EAAQp/vB,EAAI,EAEtD,MACE0q1B,GAAmBtrF,EAAQp/vB,EAE/B,EAUM4q1B,GAAiC,SAACxrF,EAAQwH,EAASikF,GACvD,IACExsb,EAEE+gW,EAFF/gW,IACAz7L,EACEw8hB,EADFx8hB,UAEIv7L,EAAO+3tB,EAAO50D,UACpB,GAAoB,cAAhBqgJ,EAA6B,CAC/B,IAAM/7D,EAAWnqB,GAAcC,eAAehiiB,EAAU08hB,UAClDva,EAAc1mV,EAAIlqI,UAAU26f,EAAS31uB,YAAaklX,EAAIwmV,SACtDimG,EAAuBZ,GAA6B7rb,EAAKywX,GACzDi8D,EAAqBhmG,GAAe1mV,EAAIvib,QAAQipwB,GAChDimG,EAAejmwB,EAAOggqB,aAAsD,EAAIA,EAAY36W,iBAC5F6gd,EAAclmwB,EAAOggqB,aAAsD,EAAIA,EAAY9gb,aACjG,GAAI8mhB,EAEF,GADoBnkF,EAAUqkF,EAAcD,EAK1C,GAH6BjqsB,IAAU6lnB,EAASv/tB,EAAMynvB,GAAUv5W,OAAO,SAAAv1a,GACrE,OAAOmq1B,GAAmB9rb,EAAKr+Z,KAASkS,GAAO440B,EAAsBZ,GAA6B7rb,EAAKr+Z,GACzG,GAEE,OAAO,EAIb,OAAO+gJ,GAAS6lnB,EAASv/tB,EAAMynvB,GAAUn/F,KAAKq/C,EAAO,SAAAhvuB,GACnD,IAAMkr1B,EAAwBhB,GAA6B7rb,EAAKr+Z,GAChE,GAAImq1B,GAAmB9rb,EAAKr+Z,KAASkS,GAAO440B,EAAsBI,GAAwB,CAIxF,GAHKtkF,GACH+jF,GAAsBvrF,EAAQp/vB,GAAK,GAEjC+kvB,GAAegmG,EAAoB,CACrC,GAAInkF,GAAWokF,EACb,OAAO,EACF,IAAKpkF,GAAWqkF,EACrB,OAAO,EAETN,GAAsBvrF,EAAQp/vB,EAAK4mwB,GACnCxH,EAAO/gW,IAAIh2b,OAAO08wB,EACpB,CACA,OAAO,CACT,CACE,OAAO,CAEX,EACF,CACE,OAAO,CAEX,EACMomG,GAAmC,SAAC/rF,EAAQgsF,EAAgBxkF,EAASikF,GACzE,IACMt9c,EADY6xX,EAAOx8hB,UACH08hB,SAChBwvB,EAAWnqB,GAAcC,eAAer3X,GACxClmW,EAAO+3tB,EAAO50D,UACpB,MAAoB,cAAhBqgJ,EA9DkB,SAACt9c,EAAK88c,GAC5B,IAEMgB,EAAiBhB,EAAgBC,aAAa/0a,OAF9B,SAAAz/W,GAAO,OAAIA,EAAQqG,SAASoxU,EAAI4jT,eAAgB,GAGhEm6J,EAAejB,EAAgBC,aAAa/0a,OAF9B,SAAAz/W,GAAO,OAAIA,EAAQqG,SAASoxU,EAAI6jT,aAAc,GAG5Dm6J,EAAqClB,EAAgBmB,aAAal4J,OAAO,SAAAk4J,GAAY,OAAInB,EAAgBoB,WAAWn4J,OAAO,SAAAm4J,GAAU,OAAID,IAAiBC,CAAU,EAAC,GAE3K,OADsCJ,GAAkBC,MAAmBD,GAAkBC,IACtDC,CACzC,CAuDWG,CAAgBn+c,EAAK69c,GACnBxkF,EACF4jF,GAAsB17D,EAAUs8D,IApFP,SAAC/jzB,EAAMynvB,EAAUu7D,GAAe,OAAKA,EAAgBmB,aAAaj2a,OAAO,SAAAxxK,GAAO,OAAIizgB,GAAa3vuB,EAAMynvB,GAAUx7F,OAAO,SAAAtzrB,GAAG,OAAK+jQ,EAAQ5nM,SAASn8D,EAAIm5C,YAAY,EAAC,EAAE,CAoF1IwyyB,CAA4BtkzB,EAAMynvB,EAAUs8D,GAE/FhB,GAAwBt7D,EAAUs8D,IAvFR,SAACt8D,EAAUu7D,GAAe,OAAKA,EAAgBmB,aAAaj2a,OAAO,SAAAxxK,GAAO,OAAIkzgB,GAAalzgB,EAAS+qhB,GAAUx7F,OAAO,SAAAtzrB,GAAG,OAAIqq1B,EAAgBC,aAAa/0a,OAAO,SAAA3vB,GAAO,OAAKA,EAAQzpV,SAAS2ytB,EAAS31uB,cAAgBysW,EAAQzpV,SAASn8D,EAAIm5C,YAAY,EAAC,EAAC,EAAE,CAuFhOyyyB,CAA6B98D,EAAUs8D,EAEvG,EACMS,GAA4B,SAACzsF,EAAQwH,EAASikF,GAAW,OApHpC,SAACxsb,EAAK9wB,GAC/B,IAAMi+c,EAAev8G,EAASxquB,KAAK45Z,EAAIlqI,UAAUo5G,EAAI4jT,eAAgB,YAC/Ds6J,EAAax8G,EAASxquB,KAAK45Z,EAAIlqI,UAAUo5G,EAAI6jT,aAAc,YACjE,GAAIo6J,EAAat9J,UAAYu9J,EAAWv9J,SAAU,CAChD,IAAMo8J,EAAekB,EAAa3n0B,KAAK,SAAAkgP,GAAO,OAAIkre,EAASxquB,KAAK45Z,EAAIh9a,OAAO,UAAW0iR,GAAS,GAAG,GAClG,OAAOkre,EAASpyvB,KAAK,CACnByt2B,eACAkB,eACAC,cAEJ,CACE,OAAOx8G,EAAS/gX,MAEpB,CAuGoE49d,CAAmB1sF,EAAO/gW,IAAK+gW,EAAOx8hB,UAAU08hB,UAAU3vE,KAAK,kBAAMi7J,GAA+BxrF,EAAQwH,EAASikF,EAAY,EAAE,SAAAR,GAAe,OAAIc,GAAiC/rF,EAAQirF,EAAiBzjF,EAASikF,IAAgBD,GAA+BxrF,EAAQwH,EAASikF,EAAY,EAAE,EA6DrWkB,GAAkB,SAAC3sF,EAAQwH,EAASikF,GAAW,OAAKgB,GAA0BzsF,EAAQwH,EAASikF,IAAgBhomB,IA5DpF,SAACu8gB,EAAQwH,EAASikF,GACjD,IAAMjonB,EAAYw8hB,EAAOx8hB,UACnBl9N,EAAOk9N,EAAUyxd,UACjB9mT,EAAM3qK,EAAU08hB,SAChBwvB,EAAWnqB,GAAcC,eAAer3X,GAC9C,QAAIoxW,GAAYj5uB,KACM,cAAhBml1B,GAA+BZ,GAAqB18c,EAAK7nY,IAASw2xB,GAAgCt1B,EAASkoB,EAAUppxB,GACvHsk1B,GAAkBtk1B,GAElB05vB,EAAOj1D,YAAYyB,SAAS,WAC1B,IAAMhomB,EAAMg/H,EAAU82iB,SACtBtwyB,EAKIw6H,QAAiCA,EAAM,CAAC,EAJ1Ci1iB,EAAUzvqB,EAAVyvqB,WACAE,EAAY3vqB,EAAZ2vqB,aACAC,EAAS5vqB,EAAT4vqB,UACAC,EAAW7vqB,EAAX6vqB,YAEI+yM,EAAiB,WACjB39G,EAAcx1F,IAAew1F,EAAct1F,IAAiBs1F,EAAcr1F,IAAcq1F,EAAcp1F,KACxGr1iB,SAA0CA,EAAImulB,iBAAiBl5C,EAAYE,EAAcC,EAAWC,GAExG,EAOMgzM,EAAsB,SAACxn1B,EAAMq3B,GACjCg0sB,GAAOrruB,EAAK5kB,WAAY,SAAAw/C,GAClB37B,GAAO27B,IACTvD,EAAGnjC,YAAY0mC,EAEnB,EACF,EACM8Z,EAAYimtB,EAAO/gW,IAAItna,OAAO,OAAQ,CAC1C,iBAAkB,MAEpBk11B,EAAoBvm1B,EAAMyzC,GAC1BzzC,EAAK/M,YAAYwgD,GACjB6yyB,IACoB,SAAhBnB,GAA0C,SAAhBA,GAC5BjnvB,SAA0CA,EAAIo3I,OAAO,SAAU4rhB,EAAU,QAAU,OAAQikF,IAExFjonB,EAAUwne,eAAiB6/I,GAAqBrnnB,EAAU08hB,SAAUnmtB,GACvE6wyB,GAAkBtk1B,IAElB05vB,EAAO/0D,YAAYu8D,EAAU,gBAAkB,UAxB/C/tH,EAAaj1iB,aAAsC,EAAIA,EAAIi1iB,WAC3DE,EAAen1iB,aAAsC,EAAIA,EAAIm1iB,aAC7DC,EAAYp1iB,aAAsC,EAAIA,EAAIo1iB,UAC1DC,EAAcr1iB,aAAsC,EAAIA,EAAIq1iB,YAuB5DgzM,EAAoB9yyB,EAAWzzC,GAC/Bsm1B,KAEF5sF,EAAO/gW,IAAIh2b,OAAO8wE,EACpB,IAEK,EAIX,CACiI+yyB,CAAyB9sF,EAAQwH,EAASikF,GAAe57G,EAASpyvB,KAAK8sF,GAAQslqB,EAAS/gX,MAAO,EAE1Ni+d,GAA0B,SAAA7rpB,GAAS,OAAI,SAAC8+jB,EAAQhooB,GAA+B,IAApBg1tB,EAASlr4B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EACtE8G,EAASo3yB,EAAO50D,UAChB7xhB,EAAY,CAChBnwJ,SAAS,EACTgpK,UAAU,EACVnuO,KAAM,KACNgp4B,aAAa,EACbhj0B,OAAQ,EACR3+C,KAAM,KACN1iB,SACA2gE,cAAe3gE,EACfgvrB,WAAYzunB,MAAM+j0B,UAClBC,eAAgBvk4B,EAChBwk4B,uBAAwBxk4B,EACxBivrB,WAAW,EACXjE,WAAYhrrB,EACZygE,YAAY,EACZriD,eAAgBujG,EAChBytD,aAEIp0G,EAAQ6xuB,GAAQ,IAAI43F,WAAWnspB,IACrC,OAAO8+jB,EAAO5iyB,SAAS8jO,EAAS71O,EAAA,GAC3Bu4D,EACA21J,EACAyzqB,GAEP,CAAE,EACIM,GAAiBP,GAAwB,SACzCQ,GAAuBR,GAAwB,eAE/CS,GAAan4G,KACb/trB,GAAKkmyB,GAAWlmyB,GAChBmmyB,GAAenmyB,GAAG2ooB,WAAa3ooB,GAAGyooB,QAClCzpoB,GAAUknyB,GAAWlnyB,QACrBwpoB,GAAYxpoB,GAAQwpoB,YAkIpB49J,GAAU,SAAC1tF,EAAQr6hB,GACvB,IAAIgonB,GAAqB,EACzB3tF,EAAOlnuB,GAAG,UAAW,SAAA6sJ,GACnBgoqB,EAAqBhoqB,EAAIuyd,UAAY6zD,GAAG22E,UACnC/8lB,EAAI4xd,sBArIoB,SAACyoH,EAAQr6hB,EAAOhgD,GAC/C,IAAM3tD,EAAY2tD,EAAIuyd,UAAY6zD,GAAG22E,UAAY,wBAA0B,uBACrE13E,EAAcg1D,EAAOx8hB,UAAUwne,cAC/B4iJ,EAAwB5iJ,EAAc,YAAc,YACpD6iJ,EAAyB,SAAAzvJ,GAC7B,OAAI4M,EACK5M,EAAS,OAAS,OAElB,WAEX,EACA2gJ,GAAyB,CAAC,CACxB7mM,QAAS6zD,GAAG22E,UACZt8yB,OAAQA,GAAOm02B,GAAmBv6E,IACjC,CACD9nH,QAAS6zD,GAAG22E,UACZt8yB,OAAQA,GAAOqo2B,GAAmBzuE,GAAQ,IACzC,CACD9nH,QAAS6zD,GAAG42E,OACZv8yB,OAAQA,GAAOqo2B,GAAmBzuE,GAAQ,IACzC,CACD9nH,QAAS6zD,GAAG22E,UACZt8yB,OAAQA,GAAOym2B,GAAmB7sE,GAAQ,IACzC,CACD9nH,QAAS6zD,GAAG42E,OACZv8yB,OAAQA,GAAOym2B,GAAmB7sE,GAAQ,IACzC,CACD9nH,QAAS6zD,GAAG22E,UACZt8yB,OAAQA,GAAOyw2B,GAAmB72E,EAAQr6hB,GAAO,IAChD,CACDuya,QAAS6zD,GAAG42E,OACZv8yB,OAAQA,GAAOyw2B,GAAmB72E,EAAQr6hB,GAAO,IAChD,CACDuya,QAAS6zD,GAAG22E,UACZt8yB,OAAQA,GAAOm9zB,GAAmBvjC,GAAQ,IACzC,CACD9nH,QAAS6zD,GAAG42E,OACZv8yB,OAAQA,GAAOm9zB,GAAmBvjC,GAAQ,IACzC,CACD9nH,QAAS6zD,GAAG22E,UACZt8yB,OAAQA,GAAOum3B,GAAiB3sF,GAAQ,EAAO4tF,IAC9C,CACD11M,QAAS6zD,GAAG42E,OACZv8yB,OAAQA,GAAOum3B,GAAiB3sF,GAAQ,EAAM4tF,KAC/Cts4B,OAAAwuB,EAAM292B,GAAe,CAAC,CACrBv1M,QAAS6zD,GAAG22E,UACZ3xkB,QAAQ,EACR3qO,OAAQA,GAAOum3B,GAAiB3sF,GAAQ,EAAO6tF,GAAuB,KACrE,CACD31M,QAAS6zD,GAAG42E,OACZ5xkB,QAAQ,EACR3qO,OAAQA,GAAOum3B,GAAiB3sF,GAAQ,EAAM6tF,GAAuB,KACpE,CACD31M,QAAS6zD,GAAG22E,UACZ5xkB,SAAS,EACT1qO,OAAQA,GAAOum3B,GAAiB3sF,GAAQ,EAAO6tF,GAAuB,MACnE,CAAC,CACJ31M,QAAS6zD,GAAG22E,UACZzxkB,SAAS,EACT7qO,OAAQA,GAAOum3B,GAAiB3sF,GAAQ,EAAO6tF,GAAuB,KACrE,CACD31M,QAAS6zD,GAAG42E,OACZ1xkB,SAAS,EACT7qO,OAAQA,GAAOum3B,GAAiB3sF,GAAQ,EAAM6tF,GAAuB,OACnE,CAAC,CACH31M,QAAS6zD,GAAG22E,UACZt8yB,OAAQA,GAAOso2B,GAAmB1uE,GAAQ,IACzC,CACD9nH,QAAS6zD,GAAG42E,OACZv8yB,OAAQA,GAAOso2B,GAAmB1uE,GAAQ,IACzC,CACD9nH,QAAS6zD,GAAG22E,UACZt8yB,OAAQA,GAAOgz2B,GAAmBp5E,GAAQ,IACzC,CACD9nH,QAAS6zD,GAAG42E,OACZv8yB,OAAQA,GAAOgz2B,GAAmBp5E,GAAQ,IACzC,CACD9nH,QAAS6zD,GAAG22E,UACZt8yB,OAAQA,GAAOyl2B,GAAmB7rE,GAAQ,IACzC,CACD9nH,QAAS6zD,GAAG42E,OACZv8yB,OAAQA,GAAOyl2B,GAAmB7rE,GAAQ,IACzC,CACD9nH,QAAS6zD,GAAG22E,UACZt8yB,OAAQA,GAAO+k2B,GAAmBnrE,GAAQ,IACzC,CACD9nH,QAAS6zD,GAAG42E,OACZv8yB,OAAQA,GAAO+k2B,GAAmBnrE,GAAQ,IACzC,CACD9nH,QAAS6zD,GAAG22E,UACZt8yB,OAAQA,GAAOyy2B,GAAmB74E,GAAQ,IACzC,CACD9nH,QAAS6zD,GAAG42E,OACZv8yB,OAAQA,GAAOyy2B,GAAmB74E,GAAQ,MACxCr6kB,GAAK9uM,OAAO,SAAA6nD,GAAC,OAAIshuB,EAAOx8hB,UAAU44hB,YAAY,GAAE3gvB,KAAK,SAAAqy0B,GACvDnoqB,EAAI3+M,iBACgBum3B,GAAqBvtF,EAAQhooB,GAChCu/gB,uBACfu2M,IACAR,GAAettF,EAAQhooB,GAE3B,EACF,CAgCM+1tB,CAAyB/tF,EAAQr6hB,EAAOhgD,EAE5C,GACAq6kB,EAAOlnuB,GAAG,QAAS,SAAA6sJ,GACZA,EAAI4xd,sBAnCgB,SAACyoH,EAAQr6kB,EAAKgoqB,GAAuB7O,GAAQ,CAAC,CACzE5mM,QAAS6zD,GAAG22E,UACZt8yB,OAAQA,GAAOoo2B,GAAkBxuE,IAChC,CACD9nH,QAAS6zD,GAAG42E,OACZv8yB,OAAQA,GAAOoo2B,GAAkBxuE,KAClC1+yB,OAAAwuB,EAAM292B,GAAY,CAAI,CACrBv1M,QAAS6zD,GAAG22E,UACZ3xkB,QAAQ,EACR3qO,OAAQA,GAAO8y2B,GAAcl5E,IAC5B,CACD9nH,QAAS6zD,GAAG42E,OACZ5xkB,QAAQ,EACR3qO,OAAQA,GAAO8y2B,GAAcl5E,KAC9B1+yB,OAAAwuB,EAAM692B,EAAqB,CAAC,CAC3Bz1M,QAAS43C,GAAY,IAAM,GAC3B1ptB,OAAQA,GAAO8y2B,GAAcl5E,KAC1B,KAAO,CAAC,CACX9nH,QAAS6zD,GAAG22E,UACZzxkB,SAAS,EACT7qO,OAAQA,GAAO8y2B,GAAcl5E,IAC5B,CACD9nH,QAAS6zD,GAAG42E,OACZ1xkB,SAAS,EACT7qO,OAAQA,GAAO8y2B,GAAcl5E,OACzBr6kB,EAAK,CAWLqoqB,CAAqBhuF,EAAQr6kB,EAAKgoqB,GAEpCA,GAAqB,CACvB,EACF,EAWMM,GAAsB,SAACjuF,EAAQ/3tB,GACnC,IAAMg3X,EAAM+gW,EAAO/gW,IACbuwV,EAAoCwQ,EAAO98xB,OAAO6uxB,oCACxD,GAAK9ptB,EAAL,CAGA,GAAI,eAAe1nF,KAAK0nF,EAAKkxB,UAAW,CACtC,IAAM28C,EAhB4B,SAAAxvG,GACpC,KAAOA,GAAM,CACX,GAAIw3uB,GAAYx3uB,IAASm4uB,GAASn4uB,IAASA,EAAKriD,MAAQ,WAAW1D,KAAK+lD,EAAKriD,MAC3E,OAAOqiD,EAETA,EAAOA,EAAKu+T,WACd,CACA,OAAO,IACT,CAQuBqphB,CAA8BjmzB,EAAK6tE,YAClDA,GAAc,eAAev1J,KAAKu1J,EAAW38C,WAC/ClxB,EAAKqxB,aAAa2lW,EAAI9xJ,IAAI5mQ,eAAek5uB,IAAOx3sB,EAAK6tE,WAEzD,CACA,IAAMq4R,EAAM8wB,EAAI46V,YAEhB,GADA5xtB,EAAK43Q,YACD53Q,EAAK68M,gBAAiB,CAIxB,IAHA,IAEIx+O,EAFE69uB,EAAS,IAAI9G,GAAcp1sB,EAAMA,GACnC23uB,EAAW33uB,EAER3hC,EAAO69uB,EAAO15oB,WAAW,CAC9B,GAAIg0oB,GAASn4uB,GAAO,CAClB6nY,EAAIihB,SAAS9oZ,EAAM,GACnB6nY,EAAIkhB,OAAO/oZ,EAAM,GACjB,KACF,CACA,GAAIkpvB,EAAkClpvB,EAAK6yD,SAAS35F,eAAgB,CAClE2ua,EAAIqjT,eAAelrrB,GACnB6nY,EAAIujT,aAAaprrB,GACjB,KACF,CACAs5wB,EAAWt5wB,EACXA,EAAO69uB,EAAOj4xB,MAChB,CACKo6C,IACH6nY,EAAIihB,SAASwwX,EAAU,GACvBzxY,EAAIkhB,OAAOuwX,EAAU,GAEzB,MACM9gC,GAAO72sB,GACLA,EAAK48R,aAAeo6F,EAAIwmV,QAAQx9sB,EAAK48R,cACvCspE,EAAIqjT,eAAevppB,GACnBkmW,EAAIujT,aAAazppB,KAEjBkmW,EAAIsjT,cAAcxppB,GAClBkmW,EAAIwjT,YAAY1ppB,KAGlBkmW,EAAIihB,SAASnnX,EAAM,GACnBkmW,EAAIkhB,OAAOpnX,EAAM,IAGrB+3tB,EAAOx8hB,UAAUkqe,OAAOv/T,GACxB2+Y,GAAoB9sB,EAAQ7xX,EA9C5B,CA+CF,EACMggd,GAAkB,SAAClvb,EAAK34Z,GAI5B,IAHA,IACI8n1B,EADEnmzB,EAAOg3X,EAAIy5V,UAEb1yvB,EAASM,EACNN,IAAWiiC,GAAQjiC,GAA6C,UAAnCi5Z,EAAIi7V,mBAAmBl0vB,IAAqB,CAC9E,GAAuC,SAAnCi5Z,EAAIi7V,mBAAmBl0vB,GAAoB,CAC7Coo1B,EAAepo1B,EACf,KACF,CACAA,EAASA,EAAO6xD,UAClB,CACA,OAAO7xD,IAAWiiC,EAAOmmzB,EAAenmzB,CAC1C,EACMomzB,GAAmB,SAAAruF,GACvB,OAAOnwB,EAASxquB,KAAK26vB,EAAO/gW,IAAIlqI,UAAUire,EAAOx8hB,UAAU6ud,UAAS,GAAO2tE,EAAO/gW,IAAIwmV,SACxF,EAWMg8C,GAAa,SAAAnyzB,GACjBA,EAAIib,UAAY,yBAClB,EAsBM+j2B,GAAsB,SAACtuF,EAAQ15vB,GACPglwB,GAAmBtL,GACvBxgyB,gBAAkB8mC,EAAKt+B,QAAQxI,eAvBjC,SAACwgyB,EAAQ15vB,EAAMio1B,GACrC,IAAMtvb,EAAM+gW,EAAO/gW,IACnB4wU,EAASxquB,KAAKkp1B,EAAqBvu3B,OAAO/Q,IAAIgwc,EAAIg8V,YAAYx/uB,KAAK,SAAA+y0B,GACjE,IAAMC,EAAgBvzG,GAAUrC,GAAavpD,QAAQhprB,IAC/Coo1B,EAASrj4B,EAAA,GACVoj4B,EACAD,GAELvvb,EAAIn9T,UAAUx7F,EAAMoo1B,EACtB,GACA,IAAMC,EAAiB9+G,EAASxquB,KAAKkp1B,EAAqB1i3B,OAAO5c,IAAI,SAAA2/3B,GAAW,OAAIA,EAAYnh2B,MAAM,MAAM,GACtGoh2B,EAAoBh/G,EAASxquB,KAAKiB,EAAKr6B,WAAWhd,IAAI,SAAA6/3B,GAAc,OAAIj+G,GAASi+G,EAAerh2B,MAAM,OAAQ,SAAA0qvB,GAAK,MAAc,KAAVA,CAAY,EAAC,GAC1IzB,GAAMi4G,EAAgBE,EAAmB,SAACD,EAAaE,GACrD,IAAMC,EAAkBl+G,GAASi+G,EAAgB,SAAA32G,GAAK,OAAK3H,GAAWo+G,EAAaz2G,EAAM,GACnF62G,EAAU,GAAA1t4B,OAAAwuB,EAAO8+2B,GAAW9+2B,EAAKi/2B,IACvC9vb,EAAIs5V,UAAUjyvB,EAAM,QAAS0o1B,EAAWpj1B,KAAK,KAC/C,GACA,IAAMqj1B,EAAe,CAAC,QAAS,SACzBC,EAAiBl9G,GAASu8G,EAAsB,SAAC7vzB,EAAGmmN,GAAK,OAAM2rf,GAAWy+G,EAAcpqmB,EAAM,GACpGo6K,EAAIk6V,WAAW7yvB,EAAM4o1B,EACvB,CAKIC,CAAgBnvF,EAAQ15vB,EADKilwB,GAAwBvL,GAGzD,EACMovF,GAAiB,SAACpvF,EAAQjmtB,EAAW4rsB,EAAayoG,GAAmD,IAOrGlspB,EAPgEmtpB,IAAUvt4B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,KAAAA,UAAA,GAASnF,EAAImF,UAAAxD,OAAA,EAAAwD,UAAA,QAAA0D,EAAE6a,EAAMve,UAAAxD,OAAA,EAAAwD,UAAA,QAAA0D,EAC7Fy5c,EAAM+gW,EAAO/gW,IACb/7b,EAAS88xB,EAAO98xB,OAChBos3B,EAAehkF,GAAmBtL,GAClCuvF,EAAkB5pG,EAAcA,EAAYxsrB,SAASlyB,cAAgB,GACvE3gC,EAAOyzC,EACLwvvB,EAAqBrm0B,EAAOyuxB,wBAO9B49E,EAJFrtoB,EADEvlP,GAA4B,UAApB4y4B,GAAmD,OAApBA,EACjCtwb,EAAItna,OAAOh7C,GAAQ2y4B,EAAcjv3B,GAAU,CAAC,GAE5CslxB,EAAY5ggB,WAAU,GAGhC,GAAKsqmB,GAIH,GACE,GAAI9lD,EAAmBjjyB,EAAK6yD,UAAW,CACrC,GAAI8+sB,GAAY3xwB,IAASszwB,GAAiBtzwB,GACxC,SAEF,IAAM6vzB,EAAa7vzB,EAAKy+O,WAAU,GAClCk6K,EAAIs5V,UAAU49D,EAAY,KAAM,IAC5Bj0nB,EAAM4iD,iBACRqxkB,EAAW58zB,YAAY2oM,EAAMpsF,YAC7BosF,EAAM3oM,YAAY48zB,KAElBoZ,EAAYpZ,EACZj0nB,EAAM3oM,YAAY48zB,GAEtB,SACQ7vzB,EAAOA,EAAKuxD,aAAevxD,IAAS8n1B,QAlB9Cnvb,EAAIs5V,UAAUr2jB,EAAO,QAAS,MAC9B+8N,EAAIs5V,UAAUr2jB,EAAO,QAAS,MAqBhC,OAFAospB,GAAoBtuF,EAAQ99jB,GAC5Bu/lB,GAAW8tC,GACJrtoB,CACT,EAcMstpB,GAA4B,SAACxvF,EAAQ33xB,EAAUquF,GAAO,OAAMruF,GAAYquF,EAAQyC,SAAS35F,gBAAkB8ryB,GAAmBtL,IAAWA,EAAO/gW,IAAIvib,QAAQg6E,IAX1I,SAACzuB,EAAMyuB,EAAS0ntB,GAEtC,IADA,IAAI93wB,EAAOowD,EACJpwD,GAAQA,IAAS2hC,GAAQ09C,EAAOr/E,EAAKu+T,cAAc,CACxD,IAAM7+T,EAASM,EAAK2/F,cACpB,IAAKjgG,IAAWo4wB,EAAYp4wB,GAC1B,OAAOs5uB,GAAUt5uB,GAEnBM,EAAON,CACT,CACA,OAAO,CACT,CAC8Kyp1B,CAAgBzvF,EAAO50D,UAAW10oB,EAAS,SAAAh5E,GAAE,OAAIw0vB,GAAM8tB,EAAO98xB,OAAOqqxB,uBAAwB7vwB,EAAGy7E,SAAS35F,cAAc,EAAE,EACjSkw3B,GAAgB,SAAC1vF,EAAQovF,EAAgBzpG,GAC7C,IAAIh9uB,EAAIigU,EAAIjhU,EACNq10B,EAAWoS,EAAe9jF,GAAmBtL,IAC7C/3tB,EAhBe,SAAC+3tB,EAAQtpsB,GAAO,OAAKspsB,EAAO/gW,IAAIlqI,UAAUr+N,EAAS4orB,GAAW,CAgBtEqwG,CAAe3vF,EAAQra,GAC/B19sB,IAGL+3tB,EAAO/gW,IAAI08V,YAAYqhF,EAAU/0yB,GACjCgmzB,GAAoBjuF,EAAQg9E,IAC8H,QAApJr10B,EAAoG,QAA9FihU,EAA0C,QAApCjgU,EAAKg9uB,EAAY1/oB,qBAAuC,IAAZt9F,OAAqB,EAAIA,EAAGloB,kBAAoC,IAAZmoV,OAAqB,EAAIA,EAAGtqX,cAAgC,IAAZqpD,EAAgBA,EAAK,GAAK,GAC1Lq4vB,EAAO/gW,IAAIh2b,OAAO08wB,GAEtB,EASMp+J,GAAY,SAACj4mB,EAAKmolB,GACtB,IAAM5/f,EAAavoF,aAAsC,EAAIA,EAAIuoF,WACjE,OAAOo3qB,EAAcp3qB,IAAeA,EAAWsB,WAAas+f,CAC9D,EACMm4R,GAAc,SAAAtg3B,GAClB,OAAO2/vB,EAAc3/vB,IAAQ,eAAe/uB,KAAK+uB,EAAI6pF,SACvD,EACM02xB,GAAa,SAAAvg3B,GACjB,OAAO2/vB,EAAc3/vB,IAAQ,eAAe/uB,KAAK+uB,EAAI6pF,SACvD,EAIM22xB,GAAoB,SAAAC,GACxB,IAAMC,EAAuBD,EAAel4xB,WAC5C,OAAOg4xB,GAAWG,GAAwBA,EAAuBD,CACnE,EACME,GAAkB,SAACF,EAAgBpqG,EAAa5xoB,GAEpD,IADA,IAAIztG,EAAOyp1B,EAAeh8uB,EAAQ,aAAe,aAC1CztG,IACDw3uB,GAAYx3uB,IAGhBA,EAAOA,EAAKytG,EAAQ,cAAgB,mBAEtC,OAAOztG,IAASq/uB,CAClB,EACM5+oB,GAAY,SAAAz3H,GAAG,OAAIyhwB,GAAMj6N,GAAWokO,GAAUrC,GAAavpD,QAAQhgtB,IAAO,SAACtP,EAAOu2tB,GAAS,MAAK,GAAGj1uB,OAAOi1uB,EAAW,MAAMj1uB,OAAO0e,EAAO,IAAI,GAAG,SAACw5E,EAAK30F,GAAC,OAAK20F,EAAM30F,CAAC,EAAE,GAAI,EACzKqr4B,GAAW,SAAClwF,EAAQovF,EAAgBW,EAAgBpqG,EAAa2pG,GACrE,IAAMrwb,EAAM+gW,EAAO/gW,IACb9wB,EAAM6xX,EAAOx8hB,UAAU08hB,SACvBiwF,EAAkBJ,EAAel4xB,WACvC,GAAIk4xB,IAAmB/vF,EAAO50D,WAAc+kJ,EAA5C,CAtBmB,IAAA7g3B,EACZsg3B,GADYtg3B,EAyBFyg3B,IAxBUH,GAAYtg3B,EAAIuoF,cAyBzCy3xB,EAAe,MAEjB,IAAMc,EAAoBP,GAAWlqG,GAAe5+oB,GAAU4+oB,QAAengyB,EACzEw33B,EAAW6S,GAAWlqG,IAAgByqG,EAAoBhB,EAAeE,EAAc,CACzFtv3B,MAAO+mI,GAAU4+oB,KACdypG,EAAeE,GACpB,GAAIW,GAAgBF,EAAgBpqG,GAAa,IAASsqG,GAAgBF,EAAgBpqG,GAAa,GACrG,GAAIp+J,GAAUwoQ,EAAgB,MAAO,CACnC,IAAMC,EAAuBF,GAAkBC,GAC/C9wb,EAAI08V,YAAYqhF,EAAUgT,IAjDX,SAAA1g3B,GACnB,IAAIq5B,EACJ,OAAkC,QAAzBA,EAAKr5B,EAAIuoF,kBAAoC,IAAZlvD,OAAqB,EAAIA,EAAGmtG,cAAgBxmI,CACxF,CA+CU+g3B,CAAaN,GAGf9wb,EAAIh2b,OAAO8m3B,GAFX9wb,EAAIh2b,OAAO+m3B,EAIf,MACE/wb,EAAI1/b,QAAQy92B,EAAU+S,QAEnB,GAAIE,GAAgBF,EAAgBpqG,GAAa,GAClDp+J,GAAUwoQ,EAAgB,OAC5B9wb,EAAI08V,YAAYqhF,EAAU8S,GAAkBC,IAC5C/S,EAASzj1B,YAAY0la,EAAI9xJ,IAAI5mQ,eAAe,MAC5Cy20B,EAASzj1B,YAAYw21B,IAErBI,EAAgB72xB,aAAa0jxB,EAAU+S,GAEzC9wb,EAAIh2b,OAAO08wB,QACN,GAAIsqG,GAAgBF,EAAgBpqG,GAAa,GACtD1mV,EAAI08V,YAAYqhF,EAAU8S,GAAkBC,IAC5C9wb,EAAIh2b,OAAO08wB,OACN,CACLoqG,EAAiBD,GAAkBC,GACnC,IAAMO,EAASnid,EAAIu2X,aACnB4rF,EAAO7+J,cAAck0D,GACrB2qG,EAAO3+J,YAAYo+J,GACnB,IAAMn6uB,EAAW06uB,EAAOrqG,kBACxB,GAAqB,OAAjBqpG,GA/Ec,SAAChg3B,EAAK3yB,GAC1B,OAAO2yB,EAAIwmI,YAAcxmI,EAAIwmI,WAAW38C,WAAax8G,CACvD,CA6EiC4z4B,CAAc36uB,EAAU,MAAO,CAC1D,IAAM46uB,EAAmB3/G,GAASJ,GAAMusG,EAASjgzB,SAAU87sB,GAAavpD,SAAU5tW,EAAI61Z,GAAM,QAC5FylG,EAAWpnuB,EAASE,WACpBmpT,EAAI08V,YAAY/lpB,EAAUm6uB,GAC1Br/G,GAAO8/G,EAAkB,SAAAvwzB,GAAK,OAAI3iB,GAAQu7tB,GAAavpD,QAAQ0tJ,GAAW/8yB,EAAM,GAC5EmwzB,GACFpT,EAASlmxB,aAAa,QAASs5xB,EAEnC,MACEnxb,EAAI08V,YAAY/lpB,EAAUm6uB,GAC1B9wb,EAAI08V,YAAYqhF,EAAU+S,GAE5B9wb,EAAIh2b,OAAO08wB,EACb,CACAsoG,GAAoBjuF,EAAQg9E,EApD5B,CAqDF,EAYMyT,GAAgB,SAACxxb,EAAK3vb,GAC1B,OAAOA,GAAwB,MAAjBA,EAAI6pF,UAAoB8lW,EAAIvib,QAAQpN,EACpD,EACMoh3B,GAA0B,SAAC32yB,EAAWof,GAC1C,OAAOpf,EAAUof,WAAaA,GAAYpf,EAAUixV,iBAAmBjxV,EAAUixV,gBAAgB7xU,WAAaA,CAChH,EACMw3xB,GAAgB,SAAC1xb,EAAK34Z,GAC1B,OAAO2ouB,EAAc3ouB,IAAS24Z,EAAIwmV,QAAQn/uB,KAAU,yBAAyB/lD,KAAK+lD,EAAK6yD,YAAc,qBAAqB54G,KAAK+lD,EAAKtmC,MAAMC,WAAag/b,EAAIm9V,WAAW91vB,EAAKuxD,aAAgD,UAAjConW,EAAIi7V,mBAAmB5zvB,EACnN,EA4BMsq1B,GAAsB,SAACz83B,EAAO4lF,EAAWz4E,GAC7C,OAAKm9wB,GAAS1ksB,GAEH5lF,EACS,IAAXmN,GAAgBy4E,EAAU91F,KAAKu0C,OAAOl3B,EAAS,KAAOu/wB,GAAS,EAAIv/wB,EAEnEA,IAAWy4E,EAAU91F,KAAK3F,OAAS,GAAKy7F,EAAU91F,KAAKu0C,OAAOl3B,KAAYu/wB,GAAS9msB,EAAU91F,KAAK3F,OAASgjB,EAJ3GA,CAMX,EAyPMuv3B,GAAa,CACjB3kvB,OA/Ke,SAAC8zpB,EAAQr6kB,GACxB,IAAI5rI,EACAz4E,EACAiu3B,EACAQ,EACAe,GAA6B,EAC3B7xb,EAAM+gW,EAAO/gW,IAEjBswV,EADayQ,EAAO98xB,OACS4uxB,sBACzB3jX,EAAM6xX,EAAOx8hB,UAAU08hB,SACvBovF,EAAehkF,GAAmBtL,GAClC7ryB,EAAQ0kxB,GAAavpD,QAAQnhT,EAAI4jT,gBACjC9xpB,EAAQC,GAAQ/rE,EAAOg6a,EAAIghH,aAC3B4hW,EAAQ9wzB,EAAMk2Y,OAAO,SAAAz/W,GAAO,OAAIwgrB,GAAgBxgrB,KAAa+jrB,GAAa/jrB,EAAQ,GAClFs6xB,EAAkB7id,EAAIptL,WAAagwoB,EACnCE,EAAmB,SAACt04B,EAAM0jB,GAC9B,OAAO+u3B,GAAepvF,EAAQjmtB,EAAW4rsB,EAAayoG,EAAcziF,GAAiB3L,GAASrjzB,EAAM0jB,EACtG,EACM6w3B,EAA6B,SAAA/83B,GACjC,IAAMg93B,EAAmBP,GAAoBz83B,EAAO4lF,EAAWz4E,GAC/D,GAAIm9wB,GAAS1ksB,KAAe5lF,EAAQg93B,EAAmB,EAAIA,EAAmBp3yB,EAAU91F,KAAK3F,QAC3F,OAAO,EAET,GAAIy7F,EAAU8d,aAAe8trB,GAAemrG,IAA+B383B,EACzE,OAAO,EAET,GAAIA,GAAS2pxB,GAAY/jsB,IAAcA,IAAc4rsB,EAAY7voB,WAC/D,OAAO,EAET,GAAI46uB,GAAwB32yB,EAAW,UAAY22yB,GAAwB32yB,EAAW,MACpF,OAAO+2yB,IAA+B383B,IAAU283B,GAA8B383B,EAEhF,IAQImyC,EARE69uB,EAAS,IAAI9G,GAActjsB,EAAW4rsB,GAS5C,IARIlH,GAAS1ksB,KACP5lF,GAA8B,IAArBg93B,EACXhtG,EAAOl4xB,OACGkI,GAASg93B,IAAqBp3yB,EAAU91F,KAAK3F,QACvD6lyB,EAAOj4xB,QAIJo6C,EAAO69uB,EAAO15oB,WAAW,CAC9B,GAAIqzoB,GAAYx3uB,IACd,IAAKA,EAAKqwD,aAAa,kBAAmB,CACxC,IAAMh6G,EAAO2pD,EAAK6yD,SAAS35F,cAC3B,GAAI+vxB,EAAoB5yyB,IAAkB,OAATA,EAC/B,OAAO,CAEX,OACK,GAAI8hyB,GAASn4uB,KAAUw8uB,GAAiBx8uB,EAAKriD,MAClD,OAAO,EAELkQ,EACFgwxB,EAAOl4xB,OAEPk4xB,EAAOj4xB,MAEX,CACA,OAAO,CACT,EACMkl4B,EAAsB,WAC1B,IAAIlvpB,EAcJ,OAZEA,EADE,wBAAwB3hP,KAAKgv4B,IAA2C,WAAvB8B,EAC3CJ,EAAiB3B,GAEjB2B,IA3Ea,SAACjxF,EAAQjmtB,GAClC,IAAM8sb,EAAc+kS,GAA+B5L,GACnD,OAAIhxB,EAAWj1rB,KAEJjnB,EAAS+zc,GACX2pQ,GAAWwF,GAAMhnD,QAAQnoN,GAAc9sb,EAAUof,SAAS35F,eAE1DqngB,EAEX,CAoEQyqX,CAAmBtxF,EAAQ+vF,IAAmBY,GAAc1xb,EAAK8wb,IAAmB9wb,EAAIvib,QAAQipwB,OAAangyB,EAAW,CAC1Hy2yB,aAAa,IAEb/5jB,EAAQ+8N,EAAIxxa,MAAMsi2B,EAAgBpqG,GAElC1mV,EAAI08V,YAAYz5jB,EAAOyjjB,GAEzBsoG,GAAoBjuF,EAAQ99jB,GACrBA,CACT,EACAkolB,GAAYnrX,EAAK9wB,GAAK1yX,KAAK,SAAA4uwB,GACzBl8Y,EAAIihB,SAASi7X,EAAQt4F,eAAgBs4F,EAAQl7R,aAC7ChhH,EAAIkhB,OAAOg7X,EAAQr4F,aAAcq4F,EAAQp4F,UAC3C,GACAl4oB,EAAYo0V,EAAI4jT,eAChBzwtB,EAAS6sa,EAAIghH,YACb,IAAM9mhB,KAAcs9M,IAAOA,EAAIt9M,UACzB4oO,KAAatrB,IAAOA,EAAIsrB,SAC1B6siB,GAAY/jsB,IAAcA,EAAU+qM,kBAAoBksmB,IAC1DF,EAA6Bxv3B,EAASy4E,EAAUt5D,WAAWniC,OAAS,EACpEy7F,EAAYA,EAAUt5D,WAAWjkB,KAAKgL,IAAIlG,EAAQy4E,EAAUt5D,WAAWniC,OAAS,KAAOy7F,EAErFz4E,EADEwv3B,GAA8BryG,GAAS1ksB,GAChCA,EAAU91F,KAAK3F,OAEf,GAGb,IAAM8v4B,EAAeD,GAAgBlvb,EAAKllX,GAC1C,GAAKq0yB,IA1NyB,SAACpuF,EAAQ15vB,GACvC,IAAMir1B,EAAavxF,EAAO/gW,IAAIlqI,UAAUzuR,EAAM,YAC9C,OAAsB,OAAfir1B,GAA2E,UAApDvxF,EAAO/gW,IAAIk9V,yBAAyBo1F,EACpE,CAuNuBC,CAAwBxxF,EAAQjmtB,GAArD,CAGK1xE,IACH0xE,EA9JsC,SAACimtB,EAAQsvF,EAAcnhd,EAAKp0V,EAAWz4E,GAC/E,IAAIqnC,EAAIigU,EACFq2F,EAAM+gW,EAAO/gW,IACbmvb,EAA0D,QAA1Czl1B,EAAKwl1B,GAAgBlvb,EAAKllX,UAAoC,IAAZpxC,EAAgBA,EAAKs2Z,EAAIy5V,UAC7F/S,EAAc1mV,EAAIlqI,UAAUh7O,EAAWklX,EAAIwmV,SAC/C,IAAKE,IAAgBgrG,GAAc1xb,EAAK0mV,GAAc,CAEpD,KADAA,EAAcA,GAAeyoG,GACZtpmB,gBAAiB,CAChC,IAAMk4lB,EAAW/9a,EAAItna,OAAO231B,GAK5B,OAJAhB,GAAoBtuF,EAAQg9E,GAC5Br3F,EAAYpsvB,YAAYyj1B,GACxB7uc,EAAIihB,SAAS4tb,EAAU,GACvB7uc,EAAIkhB,OAAO2tb,EAAU,GACdA,CACT,CAEA,IADA,IAIIp+b,EAJAt4Y,EAAOyzC,EACJzzC,GAAQA,EAAKuxD,aAAe8trB,GACjCr/uB,EAAOA,EAAKuxD,WAGd,KAAOvxD,IAAS24Z,EAAIwmV,QAAQn/uB,IAC1Bs4Y,EAAYt4Y,EACZA,EAAOA,EAAK0kY,gBAEd,IAAMymd,EAAyG,QAAxF7ohB,EAAKg2E,aAAkD,EAAIA,EAAU34S,qBAAuC,IAAZ2iO,OAAqB,EAAIA,EAAGzvQ,SACnJ,GAAIylV,GAAa6yc,GAAiBzxF,EAAO98xB,OAAO2ixB,aAAa4rG,EAAenC,EAAa9v3B,eAAgB,CACvG,IAAMky3B,EAAkB9yc,EAAU/mV,WAC5BmlxB,EAAW/9a,EAAItna,OAAO231B,GAI5B,IAHAhB,GAAoBtuF,EAAQg9E,GAC5B0U,EAAgBp4xB,aAAa0jxB,EAAUp+b,GACvCt4Y,EAAOs4Y,EACAt4Y,IAAS24Z,EAAIwmV,QAAQn/uB,IAAO,CACjC,IAAMp6C,EAAOo6C,EAAKu+T,YAClBm4gB,EAASzj1B,YAAY+M,GACrBA,EAAOp6C,CACT,CACAiib,EAAIihB,SAASr1W,EAAWz4E,GACxB6sa,EAAIkhB,OAAOt1W,EAAWz4E,EACxB,CACF,CACA,OAAOy4E,CACT,CAqHgB43yB,CAAkC3xF,EAAQsvF,EAAcnhd,EAAKp0V,EAAWz4E,IAEtF,IAAIqkxB,EAAc1mV,EAAIlqI,UAAUh7O,EAAWklX,EAAIwmV,UAAYxmV,EAAIy5V,UAC/Dq3F,EAAiB9gH,EAAc0W,aAAsD,EAAIA,EAAY9trB,YAAconW,EAAIlqI,UAAU4wd,EAAY9trB,WAAYonW,EAAIwmV,SAAW,KACxK8pG,EAAkB5pG,EAAcA,EAAYxsrB,SAASlyB,cAAgB,GACrE,IAAMoqzB,EAAqBtB,EAAiBA,EAAe52xB,SAASlyB,cAAgB,GACpF,GAA2B,OAAvBoqzB,IAAgCpgpB,EAAS,CAE3C00iB,EADgBoqG,EAEhBA,EAFgBA,EAESl4xB,WACzB03xB,EAAkB8B,CACpB,CACA,GAAIvzG,GAAYiyG,IAAmBP,GAA0BxvF,EAAQ33xB,EAAUs9wB,GAC7E,OAAO+pG,GAAc1vF,EAAQixF,EAAkBtrG,GAEjD,GAAI,eAAeplyB,KAAKgv4B,IAAoBzxG,GAAYiyG,IAClD9wb,EAAIvib,QAAQipwB,GACduqG,GAASlwF,EAAQixF,EAAkBlB,EAAgBpqG,EAAa2pG,QAIpE,GAAK0B,GAAoBrrG,IAAgBqa,EAAO50D,WAAculJ,GAAc1xb,EAAK0mV,GAAjF,CAGA,IACIq3F,EADE4U,EAAoBjsG,EAAY9trB,WAEtC,GAAIm5xB,EACFhU,EAAWiU,EAAiB3B,GAC5BrvzB,EAAMswpB,KAAK,WACTirD,GAASrnxB,EAAO0kxB,GAAavpD,QAAQ0tJ,GACvC,EAAG,SAAA/8yB,GACDq7sB,GAASr7sB,EAAO44sB,GAAavpD,QAAQ0tJ,GACvC,GACAh9E,EAAOx8hB,UAAUgujB,kBAAkBwrD,EAAU,QACxC,GAAI97F,GAAwByE,GACjCq3F,EAAWr7F,GAAwBgE,GAC/B1mV,EAAIvib,QAAQipwB,IACd87C,GAAW97C,GAEb2oG,GAAoBtuF,EAAQg9E,GAC5BiR,GAAoBjuF,EAAQg9E,QACvB,GAAIkU,GAA2B,GACpClU,EAAWoU,SACN,GAAIF,GAA2B,IAASU,EAAmB,CAChE5U,EAAW4U,EAAkBt4xB,aAAa23xB,IAAoBtrG,GAC9D,IAAMksG,EAA+Bh5G,GAAavpD,QAAQnhT,EAAI4jT,gBA9isBzB9yR,IAAIn6K,iBA8isByCqpJ,EAAIptL,UACtFktoB,GAAoBjuF,EAAQ0wF,GAAwB/qG,EAAa,OAASksG,EAAiB7U,EAAWr3F,EACxG,KAAO,CACL,IAAM2qG,EA7NiB,SAAAnid,GACzB,IAAMs2X,EAASt2X,EAAIu2X,aAGnB,OAFAD,EAAOr1W,SAASjhB,EAAI4jT,eAAgB6+J,IAAoB,EAAMzid,EAAI4jT,eAAgB5jT,EAAIghH,cACtFs1Q,EAAOp1W,OAAOlhB,EAAI6jT,aAAc4+J,IAAoB,EAAOzid,EAAI6jT,aAAc7jT,EAAI8jT,YAC1EwyE,CACT,CAwNmBqtF,CAAmB3jd,GAAKu2X,aACvC4rF,EAAO3+J,YAAYg0D,GACnB,IAAM/voB,EAAW06uB,EAAOrqG,mBAtRX,SAAArwoB,GACf86nB,GAAOyM,GAActE,GAAavpD,QAAQ15kB,GAAWwhoB,IAAW,SAAA3iwB,GAC9D,IAAMgswB,EAAUhswB,EAAKwqb,IACrBwhV,EAAQ51a,UAAYk2a,GAAON,EAAQx8xB,KACrC,EACF,CAkRIgq2B,CAASr4sB,GA1NiB,SAAAtvG,GAC5B,IAAIg0Y,EAAch0Y,EAClB,GACMm4uB,GAASnkW,KACXA,EAAYr2b,KAAOq2b,EAAYr2b,KAAKsb,QAAQ,WAAY,KAE1D+6a,EAAcA,EAAYxkS,iBACnBwkS,EACX,CAmNIy3c,CAAsBn8uB,GACtBonuB,EAAWpnuB,EAASE,WACpBmpT,EAAI08V,YAAY/lpB,EAAU+voB,GAvQc,SAAC1mV,EAAKswV,EAAqBrtjB,GACrE,IAAIv5L,EACEqp1B,EAAc,GACpB,GAAK9vpB,EAAL,CAIA,IADA,IAAIo4M,EAAcp4M,EACXo4M,EAAcA,EAAYxkS,YAAY,CAC3C,GAAImpT,EAAIwmV,QAAQnrW,GACd,OAEEwjW,GAAYxjW,KAAiBi1W,EAAoBj1W,EAAYnhV,SAAS35F,gBACxEwy3B,EAAYpu4B,KAAK02b,EAErB,CAEA,IADA,IAAIz7b,EAAImz4B,EAAY1z4B,OACbO,QACLy7b,EAAc03c,EAAYnz4B,IACTimS,iBAAmBw1J,EAAYxkS,aAAewkS,EAAY77U,WAAmG,MAAnD,QAAjC91D,EAAK2xY,EAAYxkS,kBAAoC,IAAZntG,OAAqB,EAAIA,EAAGkiU,YAGzJ4lhB,GAAcxxb,EAAK3kB,KAFvB2kB,EAAIh2b,OAAOqxa,EAdf,CAqBF,CA8OI23c,CAAoChzb,EAAKswV,EAAqBytF,GA3KrC,SAAC/9a,EAAK/8N,GACjCA,EAAM29G,YACN,IAAMphP,EAAYyjI,EAAMzjI,YACnBA,GAAaq/qB,GAAYr/qB,IAAc,mBAAmBl+G,KAAK0+c,EAAI45V,SAASp6rB,EAAW,SAAS,MACnGwgW,EAAI3xc,IAAI40O,EAAO,KAEnB,CAsKIgwpB,CAAqBjzb,EAAK0mV,GACtB1mV,EAAIvib,QAAQipwB,IACd87C,GAAW97C,GAEbq3F,EAASn9hB,YACLo/G,EAAIvib,QAAQsg2B,IACd/9a,EAAIh2b,OAAO+z2B,GACXoU,MAEA9C,GAAoBtuF,EAAQg9E,GAC5BiR,GAAoBjuF,EAAQg9E,GAEhC,CACA/9a,EAAIs5V,UAAUykF,EAAU,KAAM,IAC9Bh9E,EAAO5iyB,SAAS,WAAY,CAC1B4/2B,YAhDF,CAzBA,CA2EF,EAIEmV,cAHsB,mBAiBlBC,GAAoB,SAACpyF,EAAQqyF,EAAOC,GACxC,IAAMnkd,EAAM6xX,EAAO/gW,IAAI46V,YAClBy4F,GAIHnkd,EAAIqjT,eAAe6gK,GACnBlkd,EAAIujT,aAAa2gK,KAJjBlkd,EAAIsjT,cAAc4gK,GAClBlkd,EAAIwjT,YAAY0gK,IAKlBryF,EAAOx8hB,UAAUkqe,OAAOv/T,GACxB2+Y,GAAoB9sB,EAAQ7xX,EAC9B,EACMokd,GAAkB,SAACvyF,EAAQr6kB,GAC/B,IAGI0sqB,EAHE7unB,EAAYw8hB,EAAOx8hB,UACnBy7L,EAAM+gW,EAAO/gW,IACb9wB,EAAM3qK,EAAU08hB,SAElBoyF,GAAU,EACdloE,GAAYnrX,EAAK9wB,GAAK1yX,KAAK,SAAA4uwB,GACzBl8Y,EAAIihB,SAASi7X,EAAQt4F,eAAgBs4F,EAAQl7R,aAC7ChhH,EAAIkhB,OAAOg7X,EAAQr4F,aAAcq4F,EAAQp4F,UAC3C,GACA,IAAI3wtB,EAAS6sa,EAAIghH,YACbp1c,EAAYo0V,EAAI4jT,eACpB,GAAI+rD,GAAY/jsB,IAAcA,EAAU+qM,gBAAiB,CACvD,IAAMgsmB,EAA6Bxv3B,EAASy4E,EAAUt5D,WAAWniC,OAAS,EAC1Ey7F,EAAYA,EAAUt5D,WAAWjkB,KAAKgL,IAAIlG,EAAQy4E,EAAUt5D,WAAWniC,OAAS,KAAOy7F,EAErFz4E,EADEwv3B,GAA8BryG,GAAS1ksB,GAChCA,EAAU91F,KAAK3F,OAEf,CAEb,CACA,IAAIqnyB,EAAc1mV,EAAIlqI,UAAUh7O,EAAWklX,EAAIwmV,SACzCsqG,EAAiBpqG,GAAeA,EAAY9trB,WAAaonW,EAAIlqI,UAAU4wd,EAAY9trB,WAAYonW,EAAIwmV,SAAW,KAC9G4rG,EAAqBtB,EAAiBA,EAAe52xB,SAASlyB,cAAgB,GAC9EurzB,KAAkB7sqB,IAAOA,EAAIsrB,SACR,OAAvBogpB,GAAgCmB,IAClC7sG,EAAcoqG,GAEZtxG,GAAS1ksB,IAAcz4E,GAAUy4E,EAAU91F,KAAK3F,SAnD1B,SAAC4kB,EAAQ62E,EAAW4rsB,GAI9C,IAHA,IACIr/uB,EADE69uB,EAAS,IAAI9G,GAActjsB,EAAW4rsB,GAEtC4J,EAAsBrsxB,EAAO4uxB,sBAC5BxrvB,EAAO69uB,EAAOj4xB,QACnB,GAAIqjyB,EAAoBjpvB,EAAK6yD,SAAS35F,gBAAkBi/wB,GAASn4uB,IAASA,EAAKhoD,OAAS,EACtF,OAAO,EAGX,OAAO,CACT,CA0CSm04B,CAAoBzyF,EAAO98xB,OAAQ62E,EAAW4rsB,GAAe1mV,EAAIy5V,aACpE25F,EAAQpzb,EAAItna,OAAO,MACnBw2Y,EAAI23X,WAAWusF,GACflkd,EAAIsjT,cAAc4gK,GAClBlkd,EAAIwjT,YAAY0gK,GAChBC,GAAU,IAGdD,EAAQpzb,EAAItna,OAAO,MACnBkuwB,GAAgB5mW,EAAK9wB,EAAKkkd,GAC1BD,GAAkBpyF,EAAQqyF,EAAOC,GACjCtyF,EAAOj1D,YAAYz9uB,KACrB,EACMol4B,GAAiB,SAAC1yF,EAAQ7hpB,GAC9B,IAAMs6P,EAAKogY,GAAazpD,QAAQ,MAChCksD,GAASzC,GAAavpD,QAAQnxkB,GAASs6P,GACvCunZ,EAAOj1D,YAAYz9uB,KACrB,EACMql4B,GAAgB,SAAC3yF,EAAQ7hpB,GACxBy0uB,GAAW5yF,EAAO50D,UAAWjtlB,IAChCo9nB,GAAQ1C,GAAavpD,QAAQnxkB,GAAS06nB,GAAazpD,QAAQ,OAE7D,IAAM32U,EAAKogY,GAAazpD,QAAQ,MAChCmsD,GAAQ1C,GAAavpD,QAAQnxkB,GAASs6P,GACtC25e,GAAkBpyF,EAAQvnZ,EAAGwmD,KAAK,GAClC+gW,EAAOj1D,YAAYz9uB,KACrB,EAIMsl4B,GAAa,SAACjhtB,EAAUitQ,GAC5B,OAJiBh+Y,EAIF2kwB,GAAcrggB,MAAM05I,KAH5BkgW,GAAOl+uB,EAAIq0rB,YAMT2iF,GAAajmoB,EAAU4znB,GAAcrggB,MAAM05I,IAAY3vb,IAAI,SAAA2xC,GAChE,OAAOk+uB,GAAOl+uB,EAAIq0rB,UACpB,GAAGhG,OAAM,GATM,IAAArurB,CAWnB,EACMiy1B,GAAe,SAAAvj3B,GACnB,OAAOA,GAAwB,MAAjBA,EAAI6pF,UAAoB,SAAU7pF,CAClD,EACMwj3B,GAAiB,SAAAp92B,GACrB,OAAOA,EAAS66sB,KAAKq/C,EAAOijH,GAAcA,GAAcjjH,EAC1D,EAMMmjH,GAAwB,SAAC/yF,EAAQtqxB,GACrCA,EAAS66sB,KAAKhmnB,EAAMsgc,EAAM6nV,GAAgB1yF,GAASn1P,EAAM8nV,GAAe3yF,GAASz1rB,EACnF,EAUMyoxB,GAAY,CAChB9mvB,OAVe,SAAC8zpB,EAAQr6kB,GACxB,IAAMstqB,EATyB,SAAAjzF,GAC/B,IAAMk1E,EAAmBrqU,EAAMkxR,GAAgB/7B,GACzC//xB,EAAWslyB,GAAcC,eAAexF,EAAOx8hB,UAAU08hB,UAC/D,OAAO6vE,GAAamF,EAAkBl1E,EAAO50D,UAAWnruB,GAAU4W,OAAOi82B,GAC3E,CAKyBI,CAAyBlzF,GAC5CizF,EAAenkK,SACjBmkK,EAAex30B,KAAKovf,EAAMkoV,GAAuB/yF,IAEjDuyF,GAAgBvyF,EAAQr6kB,EAE5B,EAIEwsqB,cAHoB,mBAMhBtne,GAAkB,SAACm1Y,EAAQ5nrB,GAC/B,OAAOi2wB,GAAiBruF,GAAQnpxB,OAAO,SAAA8uwB,GACrC,OAAOvtqB,EAAS95H,OAAS,GAAKy6xB,GAAKF,GAAavpD,QAAQq2D,GAAcvtqB,EACxE,GAAG02mB,QACL,EAQMqkK,GAAgBpqF,GAAa,CAAC,CAClCtwZ,GAAI,IACH,CACDv2K,MAAO,IACN,CACD4sL,KAAM,MAEFske,GAAqB,SAACpzF,EAAQqzF,GAClC,OAZ2B,SAAArzF,GAC3B,OAAOn1Y,GAAgBm1Y,EAAQ0L,GAAqB1L,GACtD,CAUSszF,CAAqBtzF,EAC9B,EACMuzF,GAAc,SAAAC,GAClB,OAAO,SAACxzF,EAAQqzF,GACd,OA1oB0B,SAAArzF,GAC5B,OAAOquF,GAAiBruF,GAAQnpxB,OAAO,SAAAvH,GACrC,OAAO4wwB,GAAarH,GAAavpD,QAAQhgtB,GAC3C,GAAGw/sB,QACL,CAsoBW2kK,CAAsBzzF,KAAYwzF,CAC3C,CACF,EACME,GAAU,SAACtgF,EAAWogF,GAAa,OAAK,SAACxzF,EAAQqzF,GACrD,IAAMp13B,EAnpBmB,SAAA+hyB,GACzB,OAAOquF,GAAiBruF,GAAQzvE,KAAK9mL,EAAS,IAAK,SAAAk8O,GACjD,OAAOA,EAAYxsrB,SAASlyB,aAC9B,EACF,CA+oBgB0szB,CAAmB3zF,KAAYoT,EAAUnsuB,cACvD,OAAOhpE,IAAUu13B,CACnB,CAAE,EACII,GAAa,SAAA5zF,GACjB,IAAMouF,EAAeD,GAAgBnuF,EAAO/gW,IAAK+gW,EAAOx8hB,UAAU6ud,YAClE,OAAO28C,EAAWo/G,EACpB,EACMyF,GAAa,SAAAL,GAAa,OAAIE,GAAQ,MAAOF,EAAe,EAE5DM,GAAmB,SAAAN,GACvB,OAAO,SAACxzF,EAAQqzF,GACd,OAAOhoF,GAAmBrL,KAAYwzF,CACxC,CACF,EACMO,GAAc,SAAC/zF,EAAQqzF,GAC3B,OAtCqB,SAAArzF,GACrB,OAAOn1Y,GAAgBm1Y,EAAQyL,GAAqBzL,GACtD,CAoCSg0F,CAAeh0F,EACxB,EACMi0F,GAAc,SAACC,EAAS7r3B,GAC5B,OAAOA,CACT,EACM8r3B,GAA4B,SAAAn0F,GAChC,IAAM8wC,EAAkBxlC,GAAmBtL,GACrCo0F,EAAejG,GAAgBnuF,EAAO/gW,IAAK+gW,EAAOx8hB,UAAU6ud,YAClE,OAAO48C,EAAcmlH,IAAiBp0F,EAAO98xB,OAAO2ixB,aAAauuG,EAAaj7xB,SAAU23uB,EAC1F,EACMujD,GAAyB,SAAAr0F,GAC7B,IAAM7xX,EAAM6xX,EAAOx8hB,UAAU08hB,SACvB/ryB,EAAQ0kxB,GAAavpD,QAAQnhT,EAAI4jT,gBAEjCuiK,EADQp0zB,GAAQ/rE,EAAOg6a,EAAIghH,aACVlgiB,IAAI,SAAAynG,GAAO,OAAIwgrB,GAAgBxgrB,KAAa+jrB,GAAa/jrB,EAAQ,GACxF,OAAOy3U,EAAIptL,WAAauzoB,EAASrlK,OAAM,EACzC,EACMxuuB,GAAQ,SAACqggB,EAAY16e,GACzB,OAAO,SAAC45xB,EAAQ33xB,GACd,IAAM03D,EAAUgxsB,GAAMjwR,EAAY,SAAC7vc,EAAKzyD,GACtC,OAAOyyD,GAAOzyD,EAAEwhzB,EAAQ33xB,EAC1B,GAAG,GACH,OAAO03D,EAAU8vsB,EAASpyvB,KAAKrX,GAAUypwB,EAAS/gX,MACpD,CACF,EAKMyle,GAAc,SAACnjB,EAAWpxE,EAAQr6kB,GAItC,IAHKq6kB,EAAOx8hB,UAAUwne,eA/9XQ,SAAAg1D,GAC9BA,EAAO/0D,YAAY,SACrB,CA89XIupJ,CAAwBx0F,GAEtB/wB,EAActpjB,KACF4nqB,GAAqBvtF,EAAQoxE,EAAU+gB,eAC3C56M,qBACR,OAGJ65L,EAAUlluB,OAAO8zpB,EAAQr6kB,GACrBspjB,EAActpjB,IAChB2nqB,GAAettF,EAAQoxE,EAAU+gB,cAErC,EACMsC,GAAW,SAACz0F,EAAQr6kB,GACxB,IAAM8yL,EAAK,WAAH,OAAS87e,GAAYvB,GAAWhzF,EAAQr6kB,EAAK,EAC/Cuc,EAAQ,WAAH,OAASqypB,GAAY1D,GAAY7wF,EAAQr6kB,EAAK,EACnD+uqB,EAtBU,SAAC10F,EAAQr6kB,GACzB,OAAO6ppB,GAAc,CAAC/u3B,GAAM,CAAC2y4B,IAAqBD,GAAcrke,QAASrua,GAAM,CAACoz4B,IAAW,GAAOD,IAAaT,GAAcrke,QAASrua,GAAM,CAjCjHiz4B,GAAQ,WAAW,IAiCkHP,GAAc16e,MAAOh4Z,GAAM,CAACoz4B,IAAW,GAAOC,IAAiB,GAAQG,IAAcd,GAAc16e,MAAOh4Z,GAAM,CAACoz4B,IAAW,GAAOC,IAAiB,IAASX,GAAcjxpB,SAAUzhP,GAAM,CAACoz4B,IAAW,GAAOC,IAAiB,GAAOG,IAAcd,GAAcjxpB,SAAUzhP,GAAM,CAACoz4B,IAAW,GAAOC,IAAiB,IAAQX,GAAc16e,MAAOh4Z,GAAM,CAAC8y4B,IAAY,GAAOU,IAAcd,GAAc16e,MAAOh4Z,GAAM,CAAC8y4B,IAAY,IAAQJ,GAAcjxpB,SAAUzhP,GAAM,CAACsz4B,IAAcZ,GAAc16e,MAAOh4Z,GAAM,CAACwz4B,IAAcd,GAAc16e,MAAOh4Z,GAAM,CAAC0z4B,IAA4BhB,GAAcjxpB,SAAUzhP,GAAM,CAAC4z4B,IAAyBlB,GAAcjxpB,UAAW,CAAC89jB,KAAWr6kB,IAAOA,EAAIt9M,YAAY4mtB,MAAMkkK,GAAcrke,OACp2B,CAoBwBi6H,CAAUi3Q,EAAQr6kB,GACxC,OAAQ6llB,GAAmBxL,IACzB,IAAK,YACH00F,EAAcnkK,KAAK93U,EAAIA,EAAIluS,GAC3B,MACF,IAAK,QACHmqxB,EAAcnkK,KAAKruf,EAAOA,EAAO33H,GACjC,MACF,IAAK,SACHmqxB,EAAcnkK,KAAKruf,EAAOu2K,EAAIluS,GAC9B,MACF,QACEmqxB,EAAcnkK,KAAK93U,EAAIv2K,EAAO33H,GAGpC,EAEMoqxB,GAAat/G,KACbu/G,GAAcD,GAAWrtyB,GAAGyooB,SAAW4kK,GAAWruyB,QAAQm9L,WAC1DoxmB,GAAsB,SAAC70F,EAAQr3yB,GAp3NH,IAAAoivB,EAq3N5BpivB,EAAM4urB,uBAGV5urB,EAAMqe,kBAx3N0B+juB,EAy3NNi1D,EAAOj1D,aAx3NjBgkH,SACdhkH,EAAYgkH,QAAS,EACrBhkH,EAAYz9uB,OAu3Nd0yyB,EAAOj1D,YAAYyB,SAAS,WAC1BioJ,GAASz0F,EAAQr3yB,EACnB,GACF,EAcMms4B,GAAU,SAAA90F,GACd,IAAI+0F,EAA2BllH,EAAS/gX,OAWxCkxY,EAAOlnuB,GAAG,UAAW,SAAAnwE,GACfA,EAAMuvrB,UAAY6zD,GAAGp/Y,QACnBioiB,IA3B0B,SAAAzmd,GAClC,IAAKA,EAAIptL,UACP,OAAO,EAET,IAAMgxe,EAAiB5jT,EAAI4jT,eAC3B,GAAI0sD,GAAS1sD,GAAiB,CAC5B,IACMxypB,EAAOwypB,EAAe9tuB,KAAKu0C,OAAO21Y,EAAIghH,YAAc,GAC1D,MAFwB,wEAED5uiB,KAAKg/E,EAC9B,CACE,OAAO,CAEX,CAeyBy1zB,CAA4Bh1F,EAAOx8hB,UAAU08hB,UAZnC,SAAAF,GAC/B+0F,EAA2BllH,EAASpyvB,KAAKuixB,EAAOx8hB,UAAU6pe,eAC1D2yD,EAAOj1D,YAAYz9uB,KACrB,CAUM2n4B,CAAyBj1F,GAEzB60F,GAAoB70F,EAAQr3yB,GAGlC,GACAq3yB,EAAOlnuB,GAAG,QAAS,SAAAnwE,GACbA,EAAMuvrB,UAAY6zD,GAAGp/Y,OACvBooiB,EAAyBt50B,KAAK,kBAjBH,SAACukvB,EAAQr3yB,GACtCq3yB,EAAOj1D,YAAYsV,OACnB00I,EAAyBxkK,KAAKhmnB,EAAM,SAAAllH,GAAC,OAAI26yB,EAAOx8hB,UAAUipe,eAAepnvB,EAAE,GAC3Ewv4B,GAAoB70F,EAAQr3yB,GAC5Bos4B,EAA2BllH,EAAS/gX,MACtC,CAYwCome,CAAuBl1F,EAAQr3yB,EAAM,EAE7E,EACF,EAoCMws4B,GAAU,SAACn1F,EAAQr6hB,GACvBq6hB,EAAOlnuB,GAAG,UAAW,SAAA6sJ,GACdA,EAAI4xd,sBApCoB,SAACyoH,EAAQr6hB,EAAOhgD,GAC/C,IAAMopB,EAAQ2miB,GAAIpurB,GAAG2ooB,WAAaylD,GAAIpurB,GAAGyooB,QACzC+uJ,GAAQ,CAAC,CACP5mM,QAAS6zD,GAAGs3E,IACZj9yB,OAAQA,GAAOs32B,GAAsB19E,GAAQ,IAC5C,CACD9nH,QAAS6zD,GAAGu3E,KACZl9yB,OAAQA,GAAOs32B,GAAsB19E,GAAQ,KAC9C1+yB,OAAAwuB,EAAOi/N,EAUH,GAVW,CAAC,CACfmpc,QAAS6zD,GAAGu3E,KACZl9yB,OAAQA,GAAOu32B,GAAkB39E,GAAQ,GACzC/ujB,SAAS,EACT5oO,UAAU,GACT,CACD6vqB,QAAS6zD,GAAGs3E,IACZj9yB,OAAQA,GAAOu32B,GAAkB39E,GAAQ,GACzC/ujB,SAAS,EACT5oO,UAAU,KACH,CAAC,CACR6vqB,QAAS6zD,GAAGs3E,IACZj9yB,OAAQA,GAAO842B,GAAoBl/E,GAAQ,IAC1C,CACD9nH,QAAS6zD,GAAGu3E,KACZl9yB,OAAQA,GAAO842B,GAAoBl/E,GAAQ,IAC1C,CACD9nH,QAAS6zD,GAAGs3E,IACZj9yB,OAAQA,GAAO+v2B,GAAsBn2E,GAAQ,EAAMr6hB,IAClD,CACDuya,QAAS6zD,GAAGu3E,KACZl9yB,OAAQA,GAAO+v2B,GAAsBn2E,GAAQ,EAAOr6hB,MAClDhgD,GAAKlqK,KAAK,SAAAijB,GACZinJ,EAAI3+M,gBACN,EACF,CAIMou3B,CAAyBp1F,EAAQr6hB,EAAOhgD,EAE5C,EACF,EAEM0vqB,GAAU,SAAAr1F,GACdA,EAAOlnuB,GAAG,QAAS,SAAAp8E,GACZA,EAAEuw4B,aAryYoB,SAAAjtF,GAC7B,IAAM/3tB,EAAO4wsB,GAAavpD,QAAQ0wE,EAAO50D,WACrC40D,EAAOx8hB,UAAUwne,eACnB2uF,GAAe1xvB,EAAMs9tB,GAAcC,eAAexF,EAAOx8hB,UAAU08hB,UAAWF,EAAO98xB,QAAQu4C,KAAK,SAAA7a,GAChGo/vB,EAAOx8hB,UAAUkqe,OAAO9ssB,EAAIsyX,UAC9B,EAEJ,CA+xYMoie,CAAuBt1F,EAE3B,EACF,EAEMt4sB,GAAW2trB,KAUX5ojB,GAA2B,SAAA/vO,GAAC,OAAIA,EAAE+vO,0BAA2B,EAC7D8oqB,GAAe,SAAA5vqB,GAAG,OAAIA,EAAIuyd,UAAY6zD,GAAGo3E,SAAWx9lB,EAAIuyd,UAAY6zD,GAAGq3E,SAAU,EACjFoyE,GAAuB,SAACvmyB,EAAS+wsB,EAAQ99jB,GACzCA,IAAUjzI,EAAQ3qG,MACpB07yB,EAAOlnuB,GAAG,aAAc2zJ,IAA0B,IACxCyV,GAASjzI,EAAQ3qG,OAC3B07yB,EAAOl7tB,IAAI,aAAc2nJ,IAE3Bx9H,EAAQ5qG,IAAI69O,EACd,EACMuzpB,GAAU,SAACz1F,EAAQr6hB,GACvB,IAAIj+K,GAASJ,GAAG2ooB,UAAhB,CAGA,IAAMhhoB,EAAUqusB,IAAK,GACrB0C,EAAOlnuB,GAAG,UAAW,SAAA6sJ,GACf4vqB,GAAa5vqB,IACf6vqB,GAAqBvmyB,EAAS+wsB,GAAQ,EAE1C,GACAA,EAAOlnuB,GAAG,QAAS,SAAA6sJ,GACZA,EAAI4xd,sBA9Bc,SAACyoH,EAAQr6hB,EAAOhgD,GACzCm5pB,GAAQ,CAAC,CACP5mM,QAAS6zD,GAAGo3E,QACZ/8yB,OAAQA,GAAO+v2B,GAAsBn2E,GAAQ,EAAOr6hB,IACnD,CACDuya,QAAS6zD,GAAGq3E,UACZh9yB,OAAQA,GAAO+v2B,GAAsBn2E,GAAQ,EAAMr6hB,KACjDhgD,EACN,CAuBM+vqB,CAAmB11F,EAAQr6hB,EAAOhgD,GAEhC4vqB,GAAa5vqB,IAAQ12H,EAAQ3qG,QAC/Bkx4B,GAAqBvmyB,EAAS+wsB,GAAQ,GACtCA,EAAO6lB,cAEX,EAfA,CAgBF,EAUM8vE,GAAuB,SAAClh3B,EAAMmsB,GAClC,IAAMm5C,EAAYn5C,EAAIm5C,YAChBz4E,EAASs/B,EAAIt/B,SACnB,OAAIm9wB,GAAS1ksB,IACXA,EAAUwgvB,WAAWj5zB,EAAQmT,GACtBo7vB,EAASpyvB,KAAK8nxB,GAAcxrtB,EAAWz4E,EAASmT,EAAKn2B,UAErDs3zB,GAAuBh1wB,GAAK3xC,IAAI,SAAAqgB,GACrC,IAAM6zS,EAAW01d,GAAaxpD,SAAS56sB,GAMvC,OALImsB,EAAI4gvB,UACNjG,GAAQjswB,EAAK6zS,GAEbm4d,GAAShswB,EAAK6zS,GAEToif,GAAcpif,EAAS87I,IAAKxqb,EAAKn2B,OAC1C,EAEJ,EACMs34B,GAAuB/qV,EAAM8qV,GAAsBl2G,IACnDo2G,GAAwBhrV,EAAM8qV,GAAsB,KAKpDG,GAAe,SAAA91F,GAAM,OAAI,SAAAp/vB,GAC7Bo/vB,EAAOx8hB,UAAUkqe,OAAO9ssB,EAAIsyX,WAC5B8sY,EAAO6lB,aACT,CAAE,EAEIkwE,GAA+B,SAAA/1F,GACnC,IAAMp/vB,EAAM2kwB,GAAcC,eAAexF,EAAOx8hB,UAAU08hB,UACpDj4tB,EAAO4wsB,GAAavpD,QAAQ0wE,EAAO50D,WACzC,GAAI40D,EAAOx8hB,UAAUwne,cAAe,CAClC,IAAMkqI,EAAmBrqU,EAAMkxR,GAAgB/7B,GACzCmF,EAAgBI,GAAcC,eAAexF,EAAOx8hB,UAAU08hB,UACpE,OAAO6vE,GAAamF,EAAkBl1E,EAAO50D,UAAW+5D,GAAe1gvB,KAb3C,SAAAwjB,GAAI,OAAI,SAAAvyD,GAAQ,OAAIA,EAAS66sB,KAAK,SAAA75nB,GAAO,OAAImhtB,GAAa5vuB,EAAKg3X,IAAKsmW,GAAc50pB,OAAOj6C,GAAS,EAAE,SAAAA,GAAO,OAAIohtB,GAAgBphtB,EAAQ,EAAE,SAAAA,GAAO,OAAIqhtB,GAAerhtB,EAAQ,EAAE,SAAAA,GAAO,OAAIkhtB,GAAa3vuB,EAAKg3X,IAAKsmW,GAAcrggB,MAAMxuM,GAAS,EAAE,CAAD,CAa7Ls/xB,CAAwB/tzB,IAAOh5E,IAAI,SAAAgn4B,GAAQ,OAAI,kBAZvF,SAAChuzB,EAAMrnC,EAAK19B,GAAM,OAAK,SAAA+y3B,GAAQ,OAAIx9D,GAAgBxwvB,EAAMguzB,EAAU/y3B,GAAU0y3B,GAAqBh11B,GAAOi11B,GAAsBj11B,EAAK,CAAD,CAYtCs11B,CAAgCjuzB,EAAMrnC,EAAKo/vB,EAAO98xB,OAAlDgz3B,CAA0DD,GAAUx60B,KAAKq60B,GAAa91F,GAAQ,GACjO,CACE,OAAOnwB,EAAS/gX,MAEpB,EACMqne,GAA2C,SAAAn2F,GAC/C,IAbuB7sR,EAAU7se,EAqBjC,OAAOqwuB,GAAOjB,GAAIpvrB,QAAQwpoB,aAAekwE,EAAOx8hB,UAAU44hB,eArBnCjpR,EAqBmE6sR,EAAO/gW,IArBhE34Z,EAqBqE05vB,EAAOx8hB,UAAU08hB,SAASnuE,eArBtF5+M,EAASipR,WAAWjpR,EAASp+M,UAAUzuR,EAAM,aAa9D,WACvB,IAAM2hC,EAAO4wsB,GAAavpD,QAAQ0wE,EAAO50D,WACpC40D,EAAOx8hB,UAAUwne,eACpBg1D,EAAOzyD,SAAStC,YAAY,UAvBE,SAAChjqB,EAAMrnC,EAAK19B,GAAM,OAAKu1zB,GAAgBxwvB,EAAMrnC,EAAK19B,GAAU0y3B,GAAqBh11B,GAAOi11B,GAAsBj11B,EAAK,CA0BnJw11B,CAA4BnuzB,EADhBs9tB,GAAcC,eAAexF,EAAOx8hB,UAAU08hB,UACnBF,EAAO98xB,QAAQu4C,KAAKq60B,GAAa91F,GAC1E,EAEF,EAsBMq2F,GAAU,SAAAr2F,GACdA,EAAOlnuB,GAAG,UAAW,SAAA6sJ,GACdA,EAAI4xd,sBAtBoB,SAACyoH,EAAQr6kB,GACxCo5pB,GAAyB,CAAC,CACxB7mM,QAAS6zD,GAAGi3E,SACZ58yB,OAAQA,GAAO2v3B,GAA8B/1F,IAC5C,CACD9nH,QAAS6zD,GAAGi3E,SACZ58yB,OAAQA,GAAO+v3B,GAA0Cn2F,KACvDr6kB,GAAKlqK,KAAK,SAAAqy0B,GACZnoqB,EAAI3+M,iBACUum3B,GAAqBvtF,EAAQ,aAAc,CACvD/7yB,KAAM,MAEGszrB,uBACTu2M,IACAR,GAAettF,EAAQ,aAAc,CACnC/7yB,KAAM,MAGZ,EACF,CAIMqy4B,CAAyBt2F,EAAQr6kB,EAErC,EACF,EAgBM4wqB,GAAyB,SAACv2F,EAAQr6kB,GACtCm5pB,GAAOhv2B,EAfkB,SAAAkwxB,GACzB,OAAI6Q,GAAsB7Q,GACjB,CAAC,CACN9nH,QAAS6zD,GAAGk3E,IACZ78yB,OAAQA,GAAO672B,GAAWjiF,GAAQ,IACjC,CACD9nH,QAAS6zD,GAAGk3E,IACZ56yB,UAAU,EACVjC,OAAQA,GAAO672B,GAAWjiF,GAAQ,KAG7B,EAEX,CAEcw2F,CAAmBx2F,IAAUr6kB,GAAKlqK,KAAK,SAAAijB,GACjDinJ,EAAI3+M,gBACN,EACF,EASMyv3B,GAAU,SAAAz2F,GAGd,GAFAA,EAAOinE,YAAY,SAAU,GAAI,YACjCyiB,GAAQ1pF,GACJsxD,GAAMtxD,GACR,OAAO1C,GAAK,MAEZ,IAAM33hB,EAAQ8vmB,GAAmBz1E,GAWjC,OApIY,SAAAA,GACdA,EAAOlnuB,GAAG,cAAe,SAAAp8E,GAClBsjzB,EAAOx8hB,UAAU44hB,eAAgBjmV,GAAOz5d,EAAEi5yB,kBAAmB,SAAAxnX,GAAG,OAAKwiZ,GAAgB3wB,EAAO/gW,IAAK9wB,EAAI,IACxGzxb,EAAEsqB,gBAEN,EACF,CAoHI0v3B,CAAQ12F,GA9hFI,SAAAA,GACdA,EAAOlnuB,GAAG,yBAA0B+xe,EAAM8xU,GAAsB38E,GAClE,CA6hFI22F,CAAQ32F,GACRoiF,GAAQpiF,EAAQr6hB,GAChB+nnB,GAAQ1tF,EAAQr6hB,GAChBmvnB,GAAQ90F,GACRq2F,GAAQr2F,GACRq1F,GAAQr1F,GArBI,SAAAA,GACdA,EAAOlnuB,GAAG,UAAW,SAAA6sJ,GACdA,EAAI4xd,sBACPg/M,GAAuBv2F,EAAQr6kB,EAEnC,EACF,CAgBIixqB,CAAQ52F,GACRm1F,GAAQn1F,EAAQr6hB,GAChB8vnB,GAAQz1F,EAAQr6hB,GACTA,CAEX,EAEMkxnB,GAAU,WA8Cb,OAAAj+3B,EA7CD,SAAAi+3B,EAAY72F,GAGV,IAAI82F,EAHc7+3B,EAAA,KAAA4+3B,GAClB/24B,KAAKm5mB,SAAW,GAChBn5mB,KAAKkgzB,OAASA,EAEd,IAAM54yB,EAAOtH,KACP,sBAAuBkgzB,EAAOzyD,UAClCyyD,EAAOlnuB,GAAG,uCAAwC,SAAAp8E,GAChD,IAAMq64B,EAAY/2F,EAAOx8hB,UAAU08hB,SAC7B82F,EAAU,CACdjlK,eAAgBglK,EAAUhlK,eAC1B5iM,YAAa4nW,EAAU5nW,YACvB6iM,aAAc+kK,EAAU/kK,aACxBC,UAAW8kK,EAAU9kK,WAER,eAAXv1uB,EAAEmD,MAA0Bwp0B,GAAO2tE,EAASF,IAC9C92F,EAAO5iyB,SAAS,mBAElB053B,EAAUE,CACZ,GAEFh3F,EAAOlnuB,GAAG,cAAe,WACvBknuB,EAAO5iyB,SAAS,kBAClB,GACA4iyB,EAAOlnuB,GAAG,kBAAmB,WAC3B,IAAM8tvB,EAAW5mB,EAAOx8hB,UAAU6ud,UAAS,GACtCu0F,GAGD7L,GAAa/a,KAAY54yB,EAAK6v4B,kBAAkBrwE,IAAa5mB,EAAO/gW,IAAIhqN,UAAU2xkB,EAAU5mB,EAAO50D,YACrG40D,EAAO6lB,YAAY,CACjB2I,iBAAiB,GAGvB,GACAxuB,EAAOlnuB,GAAG,UAAW,SAAAp8E,IACdA,EAAE66rB,sBAAwBwjI,GAAa/a,KACE,QAAxCA,EAAOx8hB,UAAUyxd,UAAU97nB,SAC7B20tB,GAAMC,iBAAiB/tB,EAAQ,WAC7BA,EAAO6lB,aACT,GAEA7lB,EAAO6lB,cAGb,EACF,EAAC,EAAAzk0B,IAAA,cAAAjC,MACD,WAAwB,IAElBmnD,EAFMzyC,EAAI/R,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EACZ0hR,EAAY1jR,KAAKkgzB,OAAOx8hB,UAE9B,GAAI1jR,KAAKkgzB,OAAOrrjB,aAAe6uB,IAAc8qiB,GAAwBxuzB,KAAKkgzB,UAAYlgzB,KAAKkgzB,OAAO/2yB,KAAK2w3B,aAAc,CACnH,IAAM3xyB,EAAOnoF,KAAKkgzB,OAAO50D,WACzB9ksB,EAAOk9N,EAAU6ud,UAAS,IAASpqpB,GAC1BkoV,gBAAkBrwa,KAAKkgzB,OAAOzyD,UAAaztvB,KAAKkgzB,OAAO/gW,IAAIhqN,UAAU3uM,EAAM2hC,KAClF3hC,EAAO2hC,GAET,IAAMoqc,EAAU,GAChBvyhB,KAAKkgzB,OAAO/gW,IAAIlqI,UAAUzuR,EAAM,SAAAA,GAC9B,OAAIA,IAAS2hC,IAGXoqc,EAAQzuhB,KAAK0iD,IACN,EAEX,GACAxmD,KAAKkgzB,OAAO5iyB,SAAS,aAAY/R,EAAA,GAC5BwI,EAAK,CACR6iG,QAASpwD,EACT+re,QAAAA,IAEJ,CACF,GAAC,CAAAjxhB,IAAA,oBAAAjC,MACD,SAAkByn0B,GAChB,IAAI/n0B,EACEmhzB,EAASlgzB,KAAKkgzB,OACdn/a,EAAc1jU,GAAQ6ivB,EAAO/gW,IAAI85V,WAAW6tB,EAAUntd,EAAQumc,EAAO50D,YAC3E,GAAIvqX,EAAYviY,SAAWwB,KAAKm5mB,SAAS36mB,OAAQ,CAC/C,IAAKO,EAAIgiY,EAAYviY,OAAQO,GAAK,GAC5BgiY,EAAYhiY,KAAOiB,KAAKm5mB,SAASp6mB,GADFA,KAKrC,IAAW,IAAPA,EAEF,OADAiB,KAAKm5mB,SAAWp4O,GACT,CAEX,CAEA,OADA/gY,KAAKm5mB,SAAWp4O,GACT,CACT,IAAC,CAzFa,GA4FVq2gB,GAAUn1F,GAAW,SAUrBo1F,GAAUp1F,GAAW,SAKrBq1F,GAAe,SAAAv34B,GAAI,OAAI,SAAAw34B,GAChBA,EACRF,IAAWt34B,CAChB,CAAE,EAEIy34B,GAAoBF,GAAa,GACjCG,GAAeH,GAAa,GAC5BI,GAAkBJ,GAAa,GAK/BK,IAJaxQ,GAImB,EAJH,SAAAoQ,GACjC,IAAMvjf,EAAKujf,EACX,OAAOxnH,EAASxquB,KAAKyuW,EAAGqjf,KAAUhhb,OAAO,SAAAt2d,GAAI,OAAIA,IAASon4B,EAAY,EACxE,GAQMyQ,GAAS31F,GAAW,QAKpB41F,GAAc,SAAA1u4B,GAAI,OAAI,SAAAou4B,GACfA,EACRK,IAAUzu4B,CACf,CAAE,EACI2u4B,GAAY,SAACP,EAAUpu4B,GAAI,OAAK0u4B,GAAY1u4B,EAAZ0u4B,CAAkBN,EAAU,EAC5DQ,GAAmBF,GAAY,GAC/BG,GAAkBH,GAAY,GAC9BI,GAAmBJ,GAAY,GAC/BK,GAAY,SAAAC,GAAY,OAAI,SAAAZ,GAChC,IAAMvjf,EAAKujf,EACX,OAAOxnH,EAASxquB,KAAKyuW,EAAG4jf,KAASvhb,OAAO,SAAAltd,GAAI,OAAIA,IAASgv4B,CAAY,EACvE,CAAE,EACIC,GAAoBF,GAAU,GAC9BG,GAAoBH,GAAU,GA+B9BI,GAAmB,CAAC,OAAQ,OAAQ,OAAQ,QAC5CC,GAAsB,CAAC,OAAQ,OAAQ,WAAY,WAAY,OAAQ,WAAY,OAAQ,MAAO,iBAClGC,GAAqB,WACzB,IAAMC,EAAmB,IAAI924B,OAAO+24B,aAChCC,EAAa,OACbC,EAAgB,MACd582B,EAAe,CACnB,cAAI282B,GACF,OAAOA,CACT,EACA,cAAIA,CAAW3y3B,GACT0qwB,GAAW4nH,GAAkBty3B,KAC/B2y3B,EAAa3y3B,EAEjB,EACA,iBAAI4y3B,GACF,OAAOA,CACT,EACA,iBAAIA,CAAcv8b,GACZs7b,GAAmB372B,IAAiB00vB,GAAW6nH,GAAqBl8b,KACtEu8b,EAAgBv8b,EAEpB,EACA,SAAIp4b,GACF,OArDiB,SAAC+X,EAAc682B,GAAS,OAAAtt4B,EAAA,GAC1Cst4B,EAAU,CACb,UAAIr64B,GACF,OAAOq64B,EAAUr64B,MACnB,EACAgP,IAAK,SAACrJ,EAAMpE,GACV,GAAIq44B,GAAkBp82B,GAAe,CACnC,IAAIg3C,EAAS7uE,GAKX,OAAO004B,EAAUrr4B,IAAIrJ,GAJrB,IAAKqsL,EAAYzwL,GACf,OAAO844B,EAAUrr4B,IAAIrJ,EAAMpE,EAKjC,CACA,OAAO,IACT,EACAopB,OAAQ,SAAA03C,GACFu30B,GAAkBp82B,IACpB682B,EAAU1v3B,OAAO03C,EAErB,EACAh5D,MAAO,WACDuw4B,GAAkBp82B,IACpB682B,EAAUhx4B,OAEd,GAAC,CA2BUix4B,CAAe982B,EAAcy82B,EAAiBx03B,MACvD,EACA,SAAIgqf,GACF,OAAIoqY,GAAkBr82B,GAjFMj+B,OAAO8X,OAAO,CAC9CrX,OAAQ,EACRqwB,KAAM,SAAA+vD,GAAC,OAAI,IAAI,IAkFF65zB,EAAiBxqY,KAE5B,EACA,SAAI7ub,GACF,OAAOq5zB,EAAiBr5zB,KAC1B,EACA25zB,aAAc,SAACzooB,EAAOx7P,EAAGC,GAlHR,IAAWik4B,EAmHtBZ,GAAkBp82B,KAnHIg92B,EAoHG,CACzB1ooB,QACAx7P,IACAC,KAHWinB,EAlHhBo72B,IAAW4B,EAuHRP,EAAiBM,aAAazooB,EAAOx7P,EAAGC,GAE5C,EACAonB,QAAS,SAAAm5V,GACP,OAAI+ihB,GAAkBr82B,GACb,GAEAy82B,EAAiBt82B,QAAQm5V,EAEpC,EACAr5V,QAAS,SAACq5V,EAAQnxX,GACZi04B,GAAkBp82B,IACpBy82B,EAAiBx82B,QAAQq5V,EAAQnxX,EAErC,EACA804B,UAAW,SAAA3jhB,GACL8ihB,GAAkBp82B,IACpBy82B,EAAiBQ,UAAU3jhB,EAE/B,GAGF,OADAyihB,GAAiB/72B,GACVA,CACT,EACMk92B,GAAoB,SAAA9+0B,GACxB,IAnHM45V,EAmHAvmZ,EAAQ+q4B,KACRW,GApHAnlf,EAoHuB55V,EAnHtB21tB,EAASxquB,KAAKyuW,EAAG4jf,MAsIxB,OAlBAI,GAAgB590B,GAChBo90B,GAAkB/p4B,GAClBA,EAAMkr4B,WAAav+0B,EAASu+0B,WAC5Blr4B,EAAMmr4B,cAAgBx+0B,EAASw+0B,cA3JZ,SAAArB,GACnB,IAAMvjf,EAAKujf,EACX,OAAOxnH,EAASxquB,KAAKyuW,EAAGojf,IAC1B,CAyJEgC,CAAah/0B,GAAUuB,KAAK,SAAAq90B,GAAS,OAAIvr4B,EAAMsr4B,aAAaC,EAAU1ooB,MAAO0ooB,EAAUlk4B,EAAGkk4B,EAAUjk4B,EAAE,GACtG67wB,GAAOx2tB,EAASglB,MAAO,SAAAr/E,GACR,UAATA,GACF0N,EAAMwuB,QAAQl8B,EAAMq6D,EAASj+B,QAAQp8B,GAEzC,GACA6wxB,GAAOx2tB,EAAS6zc,MAAO,SAAAtmO,GAAI,OAAIl6R,EAAMwW,MAAMzW,IAAIm6R,EAAK,GAxJrC,SAAA4vmB,GACf,IAAMvjf,EAAKujf,EACX,OAAOxnH,EAASxquB,KAAKyuW,EAAGqjf,IAC1B,CAsJEgC,CAASj/0B,GAAUuB,KAAK,SAAA57D,IAjJT,SAACw34B,EAAUx34B,GAASu34B,GAAav34B,EAAbu34B,CAAmBC,EAAU,CAkJ9D+B,CAAS7r4B,EAAO1N,EAClB,GACAo54B,EAAax90B,KAAK,SAAAxyD,GAChB2u4B,GAAU190B,EAAUjxD,GACpB2u4B,GAAUrq4B,EAAOtE,EACnB,GACOsE,CACT,EAMM8r4B,GAAc,SAACv92B,EAAcgwV,GAAI,OAAKhwV,EAAaC,QAAQ,YAAa+vV,EAAM,EAE9EwthB,GAAmB,iBACnBC,GAAmB9vV,EAAS6vV,IAC5BE,GAAe,WAAUF,GAAmB,UAC5C1nwB,GAAO,SAAAk6O,GAAI,OAAI0thB,GAAe1thB,CAAK,EAEnC69X,GAAW,SAAA79X,GAAI,OAAoC,IAAhCA,EAAKhtX,QAAQ064B,GAAqB,EAarDC,GAAkB,SAAChl3B,EAAMil3B,EAASC,GACtC,IAAMt4X,EAAS5sf,EAAKgZ,MAAM,QACpBms2B,EAVc,SAACF,EAASC,GAC9B,IAAIvh2B,EAAM,IAAMsh2B,EACV70mB,EAAQiyR,GAAW6iV,EAAW,SAACx64B,EAAOiC,GAAG,OAAKA,EAAM,KAAOwpyB,GAASC,aAAa1ryB,GAAS,GAAG,GAInG,OAHI0lS,EAAMvmS,SACR85C,GAAO,IAAMysP,EAAMj5O,KAAK,MAEnBxT,EAAM,GACf,CAGkByh2B,CAAcH,EAASC,GACjCG,EAAW,KAAOJ,EAAU,IAC5BK,EAAatpH,GAAMpvQ,EAAQ,SAAA7ihB,GAC/B,OAAOA,EAAEivC,MAAM,MAAMme,KAAK,SAC5B,GAIA,OAA6B,IAAtBmu1B,EAAWz74B,OAAey74B,EAAW,GAAKtpH,GAAMspH,EAHxC,SAAAv74B,GACb,OAAOo74B,EAAUp74B,EAAIs74B,CACvB,GAC2Elu1B,KAAK,GAClF,EAEMou1B,GAAyB,gBAuCzB59B,GAAQ,SAAAp8D,GAAM,OAAIA,EAAO/gW,IAAI36c,IAAI,cAAe,EAChD214B,GAAa,SAAA3q3B,GAAG,OAAI2/vB,EAAc3/vB,IAAmB,gBAAXA,EAAIzN,EAAqB,EAmBnEq43B,GAA2B,SAAAv13B,GAAO,OAAIA,IAAYq13B,EAAuB,EACzEG,GAAW,SAAAn6F,GACf,IAAM82F,EAAUx5F,GAAK,MACrB,MAAO,CACL3lwB,OAAQ,WAAF,OA9DO,SAACqowB,EAAQo6F,GACxB,IACEn7b,EAEE+gW,EAFF/gW,IACAz7L,EACEw8hB,EADFx8hB,UAEI7qN,EAAOqnvB,EAAO50D,UACpBgvJ,EAAY/14B,IAAIm/Q,EAAU08hB,UAC1B,IAAMm6F,EAAcp7b,EAAI3xc,IAAI0yyB,EAAO50D,UAAW,MAAO,CACnD,GAAM,cACN,MAAS,eACT,iBAAmB,EACnB,iBAAkB,MAClB,MAAS,sFACR4uJ,IACCtkH,GAAIpvrB,QAAQwpoB,aACd7wR,EAAI27V,SAASy/F,EAAa,OAAkD,QAA1Cp7b,EAAI45V,SAASlgvB,EAAM,aAAa,GAAkB,OAAS,OAE/FsmZ,EAAIx6Y,KAAK410B,EAAa,oCAAqC,SAAA394B,GACzDA,EAAEw0B,iBACJ,GACAmp3B,EAAY152B,QACZ6iP,EAAUvhP,OAAOo42B,GAAa,EAChC,CAwCkBC,CAASt6F,EAAQ82F,EAAQ,EACvC7t3B,OAAQ,WAAF,OAxCK,SAAC+2xB,EAAQo6F,GACtB,IAAMn7b,EAAM+gW,EAAO/gW,IACnB,GAAIm9Z,GAAMp8D,GAAS,CAGjB,IAFA,IAAIu6F,EACEzD,EAAUsD,EAAY914B,MACrBi24B,EAAgBn+B,GAAMp8D,IAC3B/gW,EAAIh2b,OAAOsx3B,GACXt7b,EAAIkyR,OAAOopK,GAETzD,GACF92F,EAAOx8hB,UAAUkqe,OAAOopJ,EAE5B,CACAsD,EAAY/14B,IAAI,KAClB,CA0BkB4kB,CAAO+2xB,EAAQ82F,EAAQ,EACrC16B,MAAO,WAAF,OAAQA,GAAMp8D,EAAO,EAC1BviE,QAAS,WAAF,OAzBK,SAAAuiE,GACd,IAAM/gW,EAAM+gW,EAAO/gW,IACbu7b,EAAgB,SAACC,EAAOC,GAC5BD,EAAMlh2B,YAAYmh2B,GAClBz7b,EAAIh2b,OAAOyx3B,GAAS,EACtB,EACAC,EAAyC9pH,GAASmvB,EAAO50D,UAAU3qtB,WAAYw52B,IAAWW,EAAAlwwB,EAAAiwwB,GAAnFN,EAAWO,EAAA,GAAKC,EAAcjwwB,EAAAgwwB,GAAAlm4B,MAAA,GACrCg8wB,GAAOmqH,EAAgB,SAAAN,GACrBC,EAAcH,EAAaE,EAC7B,GAEA,IADA,IAAMO,EAAgB77b,EAAIh9a,OAAO,sBAAuBo42B,GAC/Cx74B,EAAIi84B,EAAcx84B,OAAS,EAAGO,GAAK,EAAGA,IAAK,CAClD,IAAMk84B,EAAe97b,EAAItna,OAAO,OAChC0i2B,EAAY/gyB,aAAayhyB,EAAcD,EAAcj84B,IACrD274B,EAAcO,EAAcD,EAAcj84B,GAC5C,CACA,OAAOw74B,EAAcA,EAAY9v2B,UAAY,EAC/C,CAQmBkzsB,CAAQuiE,EAAO,EAC9Bg7F,WAAYlE,EAAQxy4B,IAExB,EAEM224B,GAAW,SAACt23B,EAASZ,GAQzB,OAPAiywB,GAAMv6tB,KAAK13C,EAAO,SAAA4gC,GAEdhgC,EADEoqwB,EAAKpquB,EAAG0jB,QACA1jD,EAAQpF,QAAQolC,EAAG,IAEnBhgC,EAAQpF,QAAQolC,EAAE,GAAIA,EAAE,GAEtC,GACOhgC,CACT,EA+CMu23B,GAAW,SAAApvhB,GAQf,OADAA,EAAOmvhB,GAASnvhB,EAAM,CAAC,oDAAqD,2CAA4C,CAAC,8DANtG,SAACtgX,EAAKk9b,EAAIkuJ,GAC3B,OAAKluJ,GAAOkuJ,EAGL6oM,GAFE,GAGX,GACqM,0CAA2C,UAElP,EAwCMtxd,GAAgB,SAACxpT,EAAS25S,GAAS,MAAM,CAC7C35S,UACA25S,YACD,EAQK68kB,GAAgB,SAACn7F,EAAQr7xB,EAASmqS,GACtC,IAAMsslB,EAx0eoB,SAACp7F,EAAQl0b,EAAMh9D,GAAQ,OAAKkxf,EAAO5iyB,SAAS,kBAAmB,CACzFuH,QAASmnW,EACTh9D,YACC,CAq0esBuslB,CAAoBr7F,EAAQr7xB,EAASmqS,GACtDwslB,EA/BW,SAACt7F,EAAQl0b,GAC1B,IAAMp7S,EAAS26qB,GAAU,CACvB/jqB,SAAUopuB,GAAkB1Q,GAC5B86C,gBAAiB7pC,GAAqBjR,IACrCA,EAAO98xB,QACVwtD,EAAOgnxB,cAAc,OAAQ,SAAA1+uB,GAC3Bg9qB,GAAMv6tB,KAAKu9C,EAAO,SAAA1yD,GAChBA,EAAKr9B,QACP,EACF,GACA,IAAM2sI,EAAWllF,EAAOtwE,MAAM0rX,EAAM,CAClCw/X,mBAAmB,EACnBC,eAAe,IAEjB,OAAOipF,GAAe,CACpBv1hB,UAAU,GACT+ggB,EAAO98xB,QAAQhkB,UAAU02J,EAC9B,CAc0B2lvB,CAAWv7F,EAAQo7F,EAAez23B,SAC1D,OAAIq7xB,EAAO70D,kBAAkB,sBAAwBiwJ,EAAe7jN,qBAV5C,SAACyoH,EAAQl0b,EAAMh9D,GACvC,IAAM0slB,EAAWx7F,EAAO/gW,IAAItna,OAAO,MAAO,CACxC33B,MAAO,gBACN8rW,GACG2vhB,EAh0eqB,SAACz7F,EAAQ15vB,EAAMwoQ,GAAQ,OAAKkxf,EAAO5iyB,SAAS,mBAAoB,CAC3FkpC,OACAwoQ,YACC,CA6zeuB4slB,CAAqB17F,EAAQw7F,EAAU1slB,GAC/D,OAAOqf,GAAcstkB,EAAgBn11B,KAAK/b,UAAWkx2B,EAAgBlkN,qBACvE,CAKWokN,CAAkB37F,EAAQs7F,EAAiBxslB,GAE3Cqf,GAAcmtkB,EAAiBF,EAAe7jN,qBAEzD,EAKMqkN,GAAc,SAAC57F,EAAQl0b,GAK3B,OAJAk0b,EAAO90D,cAAcp/X,EAAM,CACzB98U,MAAO8gxB,GAAwB9P,GAC/BlrE,OAAO,KAEF,CACT,EACMtupB,GAAgB,SAAA9xD,GAAG,MAAI,4CAA4Cn0B,KAAKm0B,EAAK,EAoB7Emn3B,GAAgB,SAAC77F,EAAQl0b,EAAMgwhB,GAAW,QAAM97F,EAAOx8hB,UAAUwne,gBAAiBxkqB,GAAcslS,KARnF,SAACk0b,EAAQtrxB,EAAKon3B,GAM/B,OALA97F,EAAOj1D,YAAYjjI,MAAM,WACvBg0R,EAAY97F,EAAQtrxB,EACtB,EAAG,WACDsrxB,EAAO/0D,YAAY,iBAAiB,EAAOv2tB,EAC7C,IACO,CACT,CAC8Gy0e,CAAW62S,EAAQl0b,EAAMgwhB,EAAqB,EACtJC,GAAc,SAAC/7F,EAAQl0b,EAAMgwhB,GAAW,QApB3B,SAAC97F,EAAQtrxB,GAC1B,OAAO8xD,GAAc9xD,IAAQyhc,GAAOy6V,GAAyB5Q,GAAS,SAAAngzB,GAAI,OAAIizO,GAASp+M,EAAIlV,cAAe,IAAIle,OAAOzB,EAAK2f,eAAe,EAC3I,CAkBmDw83B,CAAWh8F,EAAQl0b,IAjBlD,SAACk0b,EAAQtrxB,EAAKon3B,GAMhC,OALA97F,EAAOj1D,YAAYjjI,MAAM,WACvBg0R,EAAY97F,EAAQtrxB,EACtB,EAAG,WACDsrxB,EAAO90D,cAAc,aAAex2tB,EAAM,KAC5C,IACO,CACT,CAU8EmilB,CAAYmpM,EAAQl0b,EAAMgwhB,EAAqB,EAMvH5wJ,GAAgB,SAAC80D,EAAQl0b,EAAMmwhB,GAC/BA,IAAgBlsF,GAAoB/P,GACtC47F,GAAY57F,EAAQl0b,GAPG,SAACk0b,EAAQl0b,GAClCkqa,GAAMv6tB,KAAK,CAACog1B,GAAeE,GAAaH,IAAc,SAAAx13B,GACpD,OAAQA,EAAO45xB,EAAQl0b,EAAM8vhB,GAC/B,EACF,CAKIM,CAAmBl8F,EAAQl0b,EAE/B,EAEM0nN,GAzGoB,SAAA9ziB,GACxB,IAAI11B,EAAQ,EACZ,OAAO,WACL,OAAO01B,EAAS11B,GAClB,CACF,CAoGiBmy4B,CAAkB,WAC7BC,GAA0B,SAAAtwhB,GAC9B,IAAMhwV,EAAew82B,KAGrB,OAFAe,GAAYv92B,EAAcgwV,GAC1BgshB,GAAgBh82B,GACTA,CACT,EACMug3B,GAAU,SAACr8F,EAAQr7xB,EAASmqS,EAAUmtlB,EAAaK,GACvD,IAAMrr1B,EAtDQ,SAAC+uvB,EAAQl0b,EAAMh9D,GAC7B,OAAOqslB,GAAcn7F,EAAQl0b,EAAMh9D,EACrC,CAoDc/9Q,CAAQivwB,EAAQr7xB,EAASmqS,GACrC,IAAK79P,EAAIqtQ,UAAW,CAClB,IAAM35S,EAAUssC,EAAItsC,QACd433B,EAAgB,WAAH,OAASrxJ,GAAc80D,EAAQr7xB,EAASs33B,EAAa,EACxE,GAAIK,EACW/O,GAAqBvtF,EAAQ,kBAAmB,CAC3DlkxB,aAAcsg3B,GAAwBz33B,KAE9B4yqB,uBACRglN,IACAjP,GAAettF,EAAQ,yBAGzBu8F,GAEJ,CACF,EACMrvJ,GAAY,SAAC8yD,EAAQl0b,EAAM0whB,EAAcF,GAC7C,IAAMxtlB,EAAW0tlB,GAA8B7yJ,GAAS79X,GACxDuwhB,GAAQr8F,EAxSK,SAAAl0b,GAAI,OAAIA,EAAKvsW,QAAQi63B,GAAc,GAAI,CAwSpCiD,CAAO3whB,GAAOh9D,GAAU,EAAOwtlB,EACjD,EACMnvJ,GAAY,SAAC6yD,EAAQvrxB,EAAM6n3B,GAC/B,IAAMI,EAAc18F,EAAO/gW,IAAIh7Y,OAAOxvC,GAAMlV,QAAQ,QAAS,MACvD8jxB,EAAiBJ,GAAYy5G,EAAazsF,GAAkBjQ,IAC5Dl0b,EAAO2thB,GAAgBp2G,EAAgBioB,GAAmBtL,GAASuL,GAAwBvL,IACjGq8F,GAAQr8F,EAAQl0b,GAAM,GAAO,EAAMwwhB,EACrC,EACMK,GAAuB,SAAA7g3B,GAC3B,IAAM/X,EAAQ,CAAC,EACf,GAAI+X,GAAgBA,EAAaojD,MAC/B,IAAK,IAAIrgF,EAAI,EAAGA,EAAIi9B,EAAaojD,MAAM5gF,OAAQO,IAAK,CAClD,IAAMquE,EAAcpxC,EAAaojD,MAAMrgF,GACvC,IACEklB,EAAMmpD,GAAepxC,EAAaG,QAAQixC,EAC5C,CAAE,MAAO9iC,GACPrmB,EAAMmpD,GAAe,EACvB,CACF,CAEF,OAAOnpD,CACT,EACMg/sB,GAAiB,SAAC65K,EAAkBluyB,GAAQ,OAAKA,KAAYkuyB,GAAoBA,EAAiBluyB,GAAUpwG,OAAS,CAAE,EACvHu+4B,GAAgB,SAAAl43B,GAAO,OAAIo+sB,GAAep+sB,EAAS,cAAgBo+sB,GAAep+sB,EAAS,aAAc,EAKzGm43B,GAAiB,SAAC98F,EAAQ9zD,EAAWzkd,EAAM1wD,GAC/C,IAAMl1N,EAAK2xjB,KACLupU,EAAcjxF,GAAoB9L,IAAW/wB,EAAcxnf,EAAK9qS,MAChEA,EAAOog5B,EAPS,SAAC/8F,EAAQpgzB,GAC/B,IAAMwsD,EAAIxsD,EAAIa,MAAM,gCACpB,OAAOwuxB,EAAc7iuB,GAAK4zvB,EAAO/gW,IAAIh7Y,OAAO7X,EAAE,SAAM5mD,CACtD,CAI6Bw34B,CAAgBh9F,EAAQv4gB,EAAK9qS,MAAQklB,EAC1D6ub,EAAWqsc,EAAct1mB,EAAK9qS,UAAO6I,EACrC6z1B,EAAWntG,EAAUv0sB,OAAO91B,EAAI4lR,EAAM1wD,EAAQp6O,EAAM+zc,GAE1D,OADAw7S,EAAU5+uB,IAAI+r1B,GACPA,CACT,EAsBM50B,GAAU,SAAAzkB,GACd,IAAMi9F,EAAoBrsF,GAAyB5Q,GACnD,OAAO,SAAAv4gB,GAAI,OAAI9jS,GAAW8jS,EAAK5nS,KAAM,WAAas2d,GAAO8mb,EAAmB,SAAA5pgB,GAC1E,OA1LI6pgB,EA0LoB7pgB,EA1LL7zX,cACf293B,EAAgB,CACpBxvJ,IAAK,OACLC,IAAK,OACLC,IAAK,OACLC,IAAK,OACLC,KAAM,OACNC,MAAO,OACPC,IAAK,OACLnyd,IAAK,YAEAk6f,GAAMt2nB,OAAOy9uB,EAAeD,GAAY,SAAWC,EAAcD,GAAY,SAAWA,KA+KtDz1mB,EAAK5nS,KA3LvB,IACjBq94B,EACAC,CA0LN,EAAG,CACL,EAQMC,GAAiB,SAACp9F,EAAQtjzB,EAAGyxb,GACjC,IApB0Bpqa,EAoBpB+X,EArBiB,SAAAnzB,GAAK,MAAmB,UAAfA,EAAM9I,IAAiB,CAqBlCw94B,CAAiB3g5B,GAAKA,EAAEu9rB,cAAgBv9rB,EAAEo/B,aAC/D,GAAI0zxB,GAAsBxP,IAAWlkxB,EAAc,CACjD,IAAMu4F,EAVwB,SAAC2rrB,EAAQlkxB,GACzC,IAAM/X,EAAQ+X,EAAa/X,MAAQotwB,GAAO9ruB,GAAKvpB,EAAa/X,OAAQ,SAAA4K,GAClE,MAAqB,SAAdA,EAAKuxB,KAAkB,CAACvxB,EAAKk8tB,aAAe,EACrD,GAAK,GACC98O,EAAQjye,EAAaiye,MAAQ1od,GAAKvpB,EAAaiye,OAAS,GAC9D,OAAO8iR,GAAS9swB,EAAMzlB,OAAS,EAAIylB,EAAQgqf,EAAO02T,GAAQzkB,GAC5D,CAImBs9F,CAA0Bt9F,EAAQlkxB,GACjD,GAAIu4F,EAAO/1H,OAAS,EAUlB,OATA5B,EAAEsqB,kBAxBoBjD,EAyBFswG,EAzBW1tH,QAAQ6E,IAAIilxB,GAAM1swB,EAAO,SAAA0jR,GAC5D,OAAOqxjB,GAAcrxjB,GAAM7lS,KAAK,SAAA+uH,GAAG,MAAK,CACtC82K,OACA92K,MACD,EACH,KAoBkC/uH,KAAK,SAAA274B,GAC3Bpvd,GACF6xX,EAAOx8hB,UAAUkqe,OAAOv/T,GAE1BuiW,GAAO6sH,EAAa,SAAAx94B,IA5CT,SAACigzB,EAAQw9F,GAC1BnlD,GAAamlD,EAAU7sxB,KAAKl1D,KAAK,SAAAnxC,GAI1B,IAHLrmB,EAAIqmB,EAAJrmB,KACApE,EAAIyqB,EAAJzqB,KAGMk3O,EAFOzsN,EAAbku0B,cAE+Bv01B,EAAOw5sB,KAAKx5sB,GACrCwjS,EAAO+1mB,EAAU/1mB,KACjBykd,EAAY8zD,EAAO/zD,aAAaC,UAChCuxJ,EAAmBvxJ,EAAUstG,UAAUzinB,EAAQl3O,GAC/Cw51B,EAAWokD,QAA2DA,EAAmBX,GAAe98F,EAAQ9zD,EAAWzkd,EAAM1wD,GACvIm2gB,GAAU8yD,EAAQ,aAAc1+yB,OAAO+31B,EAASltG,UAAW,OAAQ,GAAO,EAC5E,EACF,CAgCUuxJ,CAAW19F,EAAQjgzB,EACrB,EACF,IACO,CAEX,CACA,OAAO,CACT,EAMM494B,GAAyB,SAAC39F,EAAQ48F,EAAkB9whB,EAAM8xhB,EAAetB,GAC7E,IAAI333B,EAAUu23B,GAASpvhB,GACjBsxX,EAAara,GAAe65K,EAAkBrD,OAAuB5vJ,GAAS79X,GAC9E+xhB,GAAmBzgK,GAvYP,SAAA3otB,GAClB,OAAQ,wGAAwGl0B,KAAKk0B,EACvH,CAqYyCqp3B,CAAYn53B,GAC7Co53B,EAAkBv3zB,GAAc7hE,IAClCu13B,GAAyBv13B,KAAaA,EAAQrmB,QAAUu/4B,IAAoBE,KAC9EH,GAAgB,IAEdA,GAAiBG,KAEjBp53B,EADEo+sB,GAAe65K,EAAkB,eAAiBiB,EAC1CjB,EAAiB,cArSf,SAAA9whB,GAChB,IAAM5oW,EAASuqxB,KACT+pD,EAAYnsG,GAAU,CAAC,EAAGnouB,GAC5BuR,EAAO,GACLup3B,EAAe963B,EAAO0uxB,kBACtBqsG,EAAiBjoH,GAAMC,QAAQ,2DAA4D,KAC3FiiE,EAAgBh10B,EAAOgixB,mBACvB7O,EAAO,SAAA/vuB,GACX,IAAM3pD,EAAO2pD,EAAK3pD,KAChB29b,EAAch0Y,EAChB,GAAa,OAAT3pD,GAIJ,GAAa,QAATA,EAMJ,GAHIqh5B,EAAarh5B,KACf83B,GAAQ,KAENwp3B,EAAeth5B,GACjB83B,GAAQ,QADV,CAOA,GAHkB,IAAd6xB,EAAKzmD,OACP40B,GAAQ6xB,EAAKnnD,SAETmnD,EAAK3pD,QAAQumB,EAAO0uxB,mBAAoB,CAC5C,IAAIt3W,EAAch0Y,EAAKwvG,WACvB,GAAIwkS,EACF,GACE+7V,EAAK/7V,SACEA,EAAcA,EAAYpub,KAEvC,CACIgs1B,EAAcv71B,IAAS29b,EAAYpub,OACrCuoB,GAAQ,KACK,MAAT93B,IACF83B,GAAQ,MAfZ,OAZEA,GAAQ,IA8BZ,EAGA,OAFAq3V,EAAOmvhB,GAASnvhB,EAAM,CAAC,mBACvBuqa,EAAKmhE,EAAUp31B,MAAM0rX,IACdr3V,CACT,CA0PgBiW,CAAU/lB,IAGpBu13B,GAAyBv13B,KAGzBi53B,EACFzwJ,GAAU6yD,EAAQr7xB,EAAS233B,GAE3BpvJ,GAAU8yD,EAAQr7xB,EAASy4tB,EAAYk/J,GAE3C,EACM4B,GAAwB,SAACl+F,EAAQm+F,EAAUC,GAC/C,IAAIC,EAEJr+F,EAAOlnuB,GAAG,UAAW,SAAAp8E,IA5BM,SAAAA,GAAC,OAAIqvvB,GAAGC,eAAetvvB,IAAoB,KAAdA,EAAEw7rB,SAAkBx7rB,EAAE2rB,UAA0B,KAAd3rB,EAAEw7rB,OAAe,EA6BrGomN,CAAqB5h5B,KAAOA,EAAE66rB,uBAChC8mN,EAA8B3h5B,EAAE2rB,UAA0B,KAAd3rB,EAAEw7rB,QAElD,GACA8nH,EAAOlnuB,GAAG,QAAS,SAAAp8E,GACjB,IAAIA,EAAE66rB,uBAtC4B,SAAA76rB,GACpC,IAAIisD,EAAIigU,EACR,OAAO8sa,GAAIpurB,GAAG0ooB,aAAgJ,KAAhD,QAA/EpnX,EAAgC,QAA1BjgU,EAAKjsD,EAAEu9rB,qBAAuC,IAAZtxoB,OAAqB,EAAIA,EAAG5kC,aAA+B,IAAZ6kW,OAAqB,EAAIA,EAAGtqX,OACpJ,CAmCkCig5B,CAA8B7h5B,GAA5D,CAGA,IAAMkh5B,EAAsC,SAAtBQ,EAAY954B,OAAoB+54B,EACtDA,GAA8B,EAC9B,IAAMzB,EAAmBD,GAAqBjg5B,EAAEu9rB,gBAC3C4iN,GAAcD,IAAqBQ,GAAep9F,EAAQtjzB,EAbxCyh5B,EAASnD,cAAgBh7F,EAAOx8hB,UAAU08hB,YAgB7Dn9E,GAAe65K,EAAkB,cACnClg5B,EAAEsqB,iBACF223B,GAAuB39F,EAAQ48F,EAAkBA,EAAiB,aAAcgB,GAAe,IACtF76K,GAAe65K,EAAkB,eAAiB75K,GAAe65K,EAAkB,kBAC5Flg5B,EAAEsqB,iBACF223B,GAAuB39F,EAAQ48F,EAAkBA,EAAiB,cAAegB,GAAe,KAEhGO,EAASxm2B,SACTm2xB,GAAMC,iBAAiB/tB,EAAQ,WAC7B,IAAMl0b,EAAOqyhB,EAAS1gK,UACtB0gK,EAASl13B,SACT003B,GAAuB39F,EAAQ48F,EAAkB9whB,EAAM8xhB,GAAe,EACxE,EAAG,IAnBL,CAqBF,EACF,EAuBMY,GAA2B,SAACx+F,EAAQm+F,EAAUC,GAClDF,GAAsBl+F,EAAQm+F,EAAUC,GAvBV,SAAAp+F,GAC9B,IAAMy+F,EAAkB,SAAAjl2B,GAAG,OAAI71C,GAAW61C,EAAK,kBAAmB,EAC5Dkl2B,EAAY,SAAAll2B,GAAG,OAAI71C,GAAW61C,EAAK,QAAS,EAKlDwmwB,EAAOtvuB,OAAOgnxB,cAAc,MAAO,SAAC1+uB,EAAOr8G,EAAMkX,GAC/C,IAAK27yB,GAAsBxP,IALP,SAAAnsyB,GACpB,IAAI80C,EACJ,OAA4E,KAA/C,QAApBA,EAAK90C,EAAK5P,YAA8B,IAAZ0kD,OAAqB,EAAIA,EAAGmsrB,MACnE,CAEwC6pK,CAAc9q4B,GAAO,CAAC,IAClCsjF,EADiCC,EAAAxyF,EACtCo0G,GAAK,IAAxB,IAAA5hB,EAAAvyF,MAAAsyF,EAAAC,EAAAtyF,KAAAC,MAA0B,CAAC,IAAhBuhD,EAAI6wC,EAAAh4F,MACPq6C,EAAM8M,EAAK2pB,KAAK,OAClB6C,EAASt5B,KAAS8M,EAAK2pB,KAAK,oBAAsBz2B,IAAQk8uB,GAAIC,iBAC5D8oH,EAAgBjl2B,KAER02wB,GAAwBlQ,IAAW0+F,EAAUll2B,KADvD8M,EAAKr9B,QAKX,CAAC,OAAAjkB,GAAAoyF,EAAA16F,EAAAsI,EAAA,SAAAoyF,EAAAnyF,GAAA,CACH,CACF,EACF,CAGE254B,CAAwB5+F,EAC1B,EAYM6+F,GAAa,SAAC7+F,EAAQo+F,GAC1Bp+F,EAAO1yD,WAAW,0BAA2B,YAXlB,SAAC0yD,EAAQo+F,GACV,SAAtBA,EAAY954B,OACd854B,EAAY/54B,IAAI,QAChBo+zB,GAAyBziB,GAAQ,KAEjCo+F,EAAY/54B,IAAI,QAChBo+zB,GAAyBziB,GAAQ,IAEnCA,EAAOr/wB,OACT,CAGIm+2B,CAAqB9+F,EAAQo+F,EAC/B,GACAp+F,EAAO1yD,WAAW,4BAA6B,SAACltU,EAAIjhb,GAC9CA,EAAM2sX,MACRohY,GAAU8yD,EAAQ7gzB,EAAM2sX,KAAM3sX,EAAM2vT,UAAU,GAE5C3vT,EAAMs1B,MACR04tB,GAAU6yD,EAAQ7gzB,EAAMs1B,MAAM,EAElC,EACF,EAiBMsq3B,GAAmB,SAACp5qB,EAAK1hO,EAAM8tO,EAAUhtO,IAfrB,SAACk1rB,EAAenuU,EAAMr3V,GAC9C,IAAIwlqB,EAWF,OAAO,EAVP,IAKE,OAJAA,EAAc8+M,YACd9+M,EAAcl+pB,QAAQ,YAAa+vV,GACnCmuU,EAAcl+pB,QAAQ,aAActH,GACpCwlqB,EAAcl+pB,QAAQw92B,KAAoBzthB,IACnC,CACT,CAAE,MAAOpvX,GACP,OAAO,CACT,CAIJ,CAEMsi5B,CAAkBr5qB,EAAIs0d,cAAeh2rB,EAAK6nX,KAAM7nX,EAAKwwB,MAIvDs9M,EAAS9tO,EAAK6nX,KAAM/mX,IAHpB4gO,EAAI3+M,iBACJjiB,IAIJ,EACMgtO,GAAW,SAAAiukB,GAAM,OAAI,SAACl0b,EAAM/mX,GAChC,IACEk6c,EAEE+gW,EAFF/gW,IACAz7L,EACEw8hB,EADFx8hB,UAEIr2K,EAAQ8xW,EAAItna,OAAO,MAAO,CAC9B,gBAAmB,QACnB,iBAAkB,QAEd4+b,EAAQt3B,EAAItna,OAAO,MAAO,CAC9Bm7rB,gBAAiB,QAChBhnX,GACHmzF,EAAIn9T,UAAU30C,EAAO,CACnBltF,SAAU,QACVjE,IAAK,IACLF,KAAM,UACN2C,MAAO,SACPijB,SAAU,WAEZyrE,EAAM5zD,YAAYg9b,GAClBt3B,EAAI3xc,IAAI0yyB,EAAO50D,UAAWj+oB,GAC1B,IAAM6jU,EAAQxtJ,EAAU08hB,SACxB3pU,EAAM51c,QACN,IAAMs+2B,EAAiBhgc,EAAI46V,YAC3BolG,EAAenxc,mBAAmByoC,GAClC/yN,EAAUkqe,OAAOuxJ,GACjBnxE,GAAMC,iBAAiB/tB,EAAQ,WAC7Bx8hB,EAAUkqe,OAAO18U,GACjBiuC,EAAIh2b,OAAOkkF,GACXpoG,GACF,EAAG,EACL,CAAE,EACIk3B,GAAU,SAAA+jxB,GAAM,MAAK,CACzBl0b,KAAMl6O,GAAKouqB,EAAOx8hB,UAAUuc,WAAW,CACrC0skB,YAAY,KAEdh40B,KAAMurxB,EAAOx8hB,UAAUuc,WAAW,CAChCq1F,OAAQ,SAEX,EAEK8phB,GAAqB,SAAAl/F,GAAM,OAAKA,EAAOx8hB,UAAUwne,eAD9B,SAAAg1D,GAAM,QAAMA,EAAO/gW,IAAIlqI,UAAUire,EAAOx8hB,UAAU6ud,WAAY,8CAA+C2tE,EAAO50D,UAAW,CAChF+zJ,CAAiBn/F,EAAQ,EAqB3FzltB,GAAW,SAAAyltB,GACfA,EAAOlnuB,GAAG,MArBA,SAAAknuB,GAAM,OAAI,SAAAr6kB,IACfA,EAAI4xd,sBAAwB2nN,GAAmBl/F,IAAWA,EAAOx8hB,UAAU44hB,cAC9E2iG,GAAiBp5qB,EAAK1pM,GAAQ+jxB,GAASjukB,GAASiukB,GAAS,WACvD,GAAItqB,GAAIpvrB,QAAQ+oR,cAAgBqma,GAAIpvrB,QAAQwpoB,YAAa,CACvD,IAAM3hT,EAAM6xX,EAAOx8hB,UAAU08hB,SAC7B4tB,GAAMC,iBAAiB/tB,EAAQ,WAC7BA,EAAOx8hB,UAAUkqe,OAAOv/T,GACxB6xX,EAAO/0D,YAAY,SACrB,EAAG,EACL,MACE+0D,EAAO/0D,YAAY,SAEvB,EAEJ,CAAE,CAOiBm0J,CAAIp/F,IACrBA,EAAOlnuB,GAAG,OAPC,SAAAknuB,GAAM,OAAI,SAAAr6kB,IAChBA,EAAI4xd,sBAAwB2nN,GAAmBl/F,IAClD++F,GAAiBp5qB,EAAK1pM,GAAQ+jxB,GAASjukB,GAASiukB,GAASz1rB,EAE7D,CAAE,CAGkBn8D,CAAK4xvB,GACzB,EAEMq/F,GAAyB,SAACr/F,EAAQtjzB,GACtC,IAAIisD,EAAIigU,EACR,OAAO4kY,GAAWC,uBAA4C,QAApB9ksB,EAAKjsD,EAAEskB,eAAiC,IAAZ2nC,EAAgBA,EAAK,EAAwB,QAApBigU,EAAKlsX,EAAEukB,eAAiC,IAAZ2nW,EAAgBA,EAAK,EAAGo3b,EAAOzyD,SAC5J,EAKM+xJ,GAAkB,SAACt/F,EAAQ7xX,GAC/B6xX,EAAOr/wB,QACHwtZ,GACF6xX,EAAOx8hB,UAAUkqe,OAAOv/T,EAE5B,EA8BMoxd,GAAU,SAACv/F,EAAQw/F,GACnBjwF,GAAqBvP,IACvBA,EAAOlnuB,GAAG,kDAAmD,SAAAp8E,GAC3DA,EAAEsqB,iBACFtqB,EAAEw0B,iBACJ,GAEGs+xB,GAAsBxP,IACzBA,EAAOlnuB,GAAG,OAAQ,SAAAp8E,GAChB,IAAMo/B,EAAep/B,EAAEo/B,aACnBA,GAvCO,SAAAA,GAAY,OAAIq6b,GAAOr6b,EAAaiye,MAAO,SAAAtmO,GAAI,MAAI,WAAWlnS,KAAKknS,EAAK5nS,KAAK,EAAE,CAuCtE4/4B,CAAS3j3B,IAC3Bp/B,EAAEsqB,gBAEN,GAEFg5xB,EAAOlnuB,GAAG,OAAQ,SAAAp8E,GAChB,IAAIA,EAAE66rB,qBAAN,CAGA,IAAMppQ,EAAMkxd,GAAuBr/F,EAAQtjzB,GAC3C,IAAIsyxB,EAAW7gW,GAAf,CAGA,IAAMuxd,EAAc/C,GAAqBjg5B,EAAEo/B,cACrCgzR,EAAWi0a,GAAe28K,EAAanG,MAC7C,GAAMsD,GAAc6C,KAhEG,SAAA/63B,GACzB,IAAMg73B,EAAmBh73B,EAAQ,cACjC,QAAOg73B,GAA2D,IAAxCA,EAAiB7g5B,QAAQ,UACrD,CA6DwC8g5B,CAAmBF,KAAiBtC,GAAep9F,EAAQtjzB,EAAGyxb,GAAlG,CAGA,IAAM0xd,EAAkBH,EAAYnG,MAC9B503B,EAAUk73B,GAAmBH,EAAY,cAAgBA,EAAY,cACrEI,EA1DsB,SAAC7gc,EAAK/7b,EAAQta,EAAQ824B,GACpD,IAAMK,EAAoB9gc,EAAIlqI,UAAUnsU,EAAQ,SAAA09C,GAAI,OAAI8/uB,GAAmBljxB,EAAQojC,EAAK,GAExF,IADmBq/E,EAAOs5U,EAAIlqI,UAAUnsU,EAAQ,YAE9C,OAAO,EACF,GAAIm34B,GAAqB7tH,GAAMwtH,EAAa,aAAc,CAC/D,IAAM9pvB,GAAW,IAAInlF,WAAYI,gBAAgB6u0B,EAAY,aAAc,aAAa/m1B,KACxF,OAAQgtE,EAAOiwB,EAASzzI,cAAc493B,EAAkB5myB,SAAS35F,eACnE,CACE,OAAO,CAEX,CA+C8Bwg4B,CAAwBhgG,EAAO/gW,IAAK+gW,EAAO98xB,OAAQira,EAAI4jT,eAAgB2tK,GAC3FO,EAAiBT,EAAwBl74B,MAC3C274B,IAAmBH,GAGnBn73B,IACFjoB,EAAEsqB,iBACF8mzB,GAAMC,iBAAiB/tB,EAAQ,WAC7BA,EAAOj1D,YAAYyB,SAAS,YACtBqzJ,GAAmBI,GAAkBH,IACvC9/F,EAAO/0D,YAAY,UAErBq0J,GAAgBt/F,EAAQ7xX,GACxB,IAAM+xd,EAAiBhF,GAASv23B,GAC5B+63B,EAAY,aACdxyJ,GAAU8yD,EAAQkgG,EAAgBpxlB,GAAU,GAE5Cq+b,GAAU6yD,EAAQkgG,GAAgB,EAEtC,EACF,GAvBF,CALA,CAJA,CAkCF,GACAlgG,EAAOlnuB,GAAG,YAAa,SAAAsxS,GACrBo1hB,EAAwBn74B,KAAI,EAC9B,GACA27yB,EAAOlnuB,GAAG,mBAAoB,SAAAp8E,GACxB8yzB,GAAsBxP,KAAYw/F,EAAwBl74B,QAC5D5H,EAAEsqB,iBACFs43B,GAAgBt/F,EAAQq/F,GAAuBr/F,EAAQtjzB,KAE1C,YAAXA,EAAEmD,MACJ2/4B,EAAwBn74B,KAAI,EAEhC,GAhFkC,SAAA27yB,GAClCA,EAAOlnuB,GAAG,QAAS,SAAAp8E,GAEjB,GAAoB,iBAAhBA,EAAEs7K,UAA8B,CAClC,IAAMmouB,EAAuBtvH,GAASmvB,EAAO/gW,IAAIh9a,OAAO,WAFrC,SAAAvE,GAAE,OAAIioG,EAAOjoG,EAAGvb,cAAc,WAAY,GAG7DuuwB,GAAOyvH,EAAsB,SAAAx7lB,GACvBm6e,GAAOn6e,EAAQ7uJ,aACjB6uJ,EAAQ7uJ,WAAW7sI,SAErB,IAAMu9a,EAAUw5W,EAAO/gW,IAAItna,OAAO,WAClC6uZ,EAAQjtZ,YAAYonvB,KAAkB1hV,KACtCt6J,EAAQrnP,QAAQkpY,EAClB,EACF,CACF,EACF,CAkEE45c,CAA4BpgG,EAC9B,EAqBMqgG,GAAY,2DACZhjU,GAAW,SAAAl+kB,GAAK,OAAI62xB,GAAMl/tB,KAAK33D,GAAOogB,QAAQ8g4B,GAAWrtG,IAAiBxzxB,aAAc,EACxF8g4B,GAAqB,SAACtgG,EAAQr7xB,EAASmqS,GAC3C,IAAMyxlB,EAAqB3wF,GAAqB5P,GAChD,GAAIlxf,GAAmC,QAAvByxlB,IAAiC1wF,GAA8B7P,GAC7E,OAAOr7xB,EAET,IAAM673B,EAAeD,EAAqBA,EAAmB9y2B,MAAM,QAAU,GAC7E,GAAI+y2B,GAAuC,SAAvBD,EAA+B,CACjD,IAAMthc,EAAM+gW,EAAO/gW,IACjB34Z,EAAO05vB,EAAOx8hB,UAAUyxd,UAC1BtwtB,EAAUA,EAAQpF,QAAQ,qCAAsC,SAAC/T,EAAKmlJ,EAAQxxJ,EAAO+lT,GAGnF,IAFA,IAAMu7lB,EAAcxhc,EAAIg8V,WAAWh8V,EAAIt7Y,OAAOxkE,IACxCuh5B,EAAe,CAAC,EACb7h5B,EAAI,EAAGA,EAAI2h5B,EAAali5B,OAAQO,IAAK,CAC5C,IAAMgyI,EAAa4vwB,EAAYD,EAAa3h5B,IACxC8h5B,EAAe9vwB,EACfh2H,EAAeokc,EAAI45V,SAASvyvB,EAAMk61B,EAAa3h5B,IAAI,GACnD,QAAQ0B,KAAKig5B,EAAa3h5B,MAC5B8h5B,EAAetjU,GAASsjU,GACxB9l4B,EAAewikB,GAASxikB,IAEtBA,IAAiB8l4B,IACnBD,EAAaF,EAAa3h5B,IAAMgyI,EAEpC,CACA,IAAM+vwB,EAAc3hc,EAAIi8V,eAAewlG,EAAc,QACrD,OAAIE,EACKjwvB,EAAS,WAAaiwvB,EAAc,IAAM17lB,EAE5Cv0J,EAASu0J,CAClB,EACF,MACEvgS,EAAUA,EAAQpF,QAAQ,qCAAsC,QAKlE,OAHAoF,EAAUA,EAAQpF,QAAQ,8CAA+C,SAAC/T,EAAKmlJ,EAAQxxJ,EAAO+lT,GAC5F,OAAOv0J,EAAS,WAAaxxJ,EAAQ,IAAM+lT,CAC7C,GACOvgS,CACT,EAOMk83B,GAAU,SAAA7gG,GACd,IAAMw/F,EAA0BliG,IAAK,GAC/B8gG,EAAc9gG,GAAK0S,GAAqBhQ,GAAU,OAAS,QAC3Dm+F,EAAWhE,GAASn6F,IATZ,SAAAA,IACVtqB,GAAIpvrB,QAAQ+oR,cAAgBqma,GAAIpvrB,QAAQm9L,aA9ClB,SAACu8gB,EAAQ8gG,GACnC9gG,EAAOlnuB,GAAG,kBAAmB,SAAAp8E,GAC3BA,EAAEioB,QAAUm83B,EAAW9gG,EAAQtjzB,EAAEioB,QAASjoB,EAAEoyT,SAC9C,EACF,CA2CIiylB,CAAoB/gG,EAAQsgG,GAEhC,CAMEU,CAAQhhG,GACR6+F,GAAW7+F,EAAQo+F,GAtEL,SAAAp+F,GACd,IAAMihG,EAAe,SAAAh84B,GAAC,OAAI,SAAAvI,GACxBuI,EAAE+6yB,EAAQtjzB,EACZ,CAAE,EACI6+4B,EAAa9rF,GAAmBzP,GAClC11vB,EAAWix1B,IACbv7F,EAAOlnuB,GAAG,kBAAmBmo0B,EAAa1F,IAE5C,IAAM7kC,EAAchnD,GAAoB1P,GACpC11vB,EAAWoszB,IACb12D,EAAOlnuB,GAAG,mBAAoBmo0B,EAAavqC,GAE/C,CA2DEwqC,CAAQlhG,GACRA,EAAOlnuB,GAAG,UAAW,WACnByhB,GAASyltB,GACTu/F,GAAQv/F,EAAQw/F,GAChBhB,GAAyBx+F,EAAQm+F,EAAUC,EAC7C,EACF,EA+BM+C,GAAU,SAAAnhG,IA7Ba,SAAAA,GAC3BA,EAAOlnuB,GAAG,QAAS,SAAAp8E,GACbsjzB,EAAO/gW,IAAIlqI,UAAUr4U,EAAEkM,OAAQ,YACjClM,EAAEsqB,gBAEN,EACF,CAwBEo63B,CAAqBphG,GAvBD,SAAAA,GACpBA,EAAOtvuB,OAAOgnxB,cAAc,UAAW,SAAA5+C,GACrC,IAAMuoG,EAAqBvwF,GAAuB9Q,GAClDtvB,GAAOooB,EAAM,SAAAn0f,GACgB,aAAvB08lB,EACF18lB,EAAQ10O,KAAK,OAAQ,QACW,cAAvBox0B,GACT18lB,EAAQ10O,KAAK,OAAQ,KAEzB,EACF,GACA+vuB,EAAOt5yB,WAAWgx1B,cAAc,UAAW,SAAA5+C,GACzC,IAAMwoG,EAAwBvwF,GAA0B/Q,GACxDtvB,GAAOooB,EAAM,SAAAn0f,GACmB,aAA1B28lB,EACF38lB,EAAQ10O,KAAK,OAAQ,QACc,cAA1Bqx0B,GACT38lB,EAAQ10O,KAAK,OAAQ,KAEzB,EACF,EACF,CAGEsx0B,CAAcvhG,EAChB,EAEM+2D,GAAOj4E,GACP75a,GAASw5a,GACT+iH,GAA2B,SAAAly3B,GAAG,OAAI2vwB,GAAyB3vwB,EAAI2vb,IAAK,EAEpE/iF,GAAS,SAAAvqM,GAAQ,OAAI,SAAAriK,GAAG,OAAIo4D,GAAGmxsB,GAAavpD,QAAQ39iB,GAAWriK,EAAK,CAAD,EACnEmy3B,GAAkB,SAACn71B,EAAMqrI,EAAUzuK,GAAM,OAAKi3wB,GAAUtB,GAAavpD,QAAQhprB,GAAO,SAAAh3B,GAAG,OAF/D,SAAAA,GAAG,OAAI0vwB,GAAwB1vwB,EAAI2vb,IAAK,CAE2Byic,CAAsBpy3B,IAAQpM,EAAOuixB,QAAQ9oyB,GAAK2yB,GAAK,EAAE4sW,GAAOvqM,IAAWs9iB,MAAM4pD,GAAavpD,QAAQ39iB,IAAWstR,GAAI,EAChN0ic,GAAgB,SAACr71B,EAAMqrI,GAAQ,OAAKwomB,GAAUtB,GAAavpD,QAAQhprB,GAAOk71B,GAA0BtlhB,GAAOvqM,GAAW,EACtHiwtB,GAAyB,SAAChjd,EAAWnzH,EAAO+7e,GAIhD,IAHA,IAAMrjB,EAAS,IAAI9G,GAAcz+V,EAAWnzH,GACtCv/T,EAAOs7yB,EAAUrjB,EAAOj4xB,KAAKu4D,KAAK0/tB,GAAUA,EAAOl4xB,KAAKw4D,KAAK0/tB,GAC/DpkyB,EAAS6+b,EACJn0S,EAAU+8pB,EAAU5oX,EAAY1yb,IAAQu+I,IAAYsstB,GAAKtstB,GAAUA,EAAUv+I,IAChFq2xB,GAAmB93oB,KACrB1qJ,EAAS0qJ,GAGb,OAAO1qJ,CACT,EAwBM8h5B,GAAsB,SAAA7hG,GAC1B,IAAM7xX,EAxBsB,SAAC2zd,EAAUnwtB,EAAUzuK,GACjD,IACM6+3B,EADWx8F,GAAcC,eAAes8F,GACnB7sK,UACrBxpa,EAAQg2kB,GAAgBM,EAAWpwtB,EAAUzuK,GAC7C07a,EAAYgjd,GAAuBG,EAAWt2kB,GAAO,GACrDovf,EAAU+mF,GAAuBG,EAAWt2kB,GAAO,GACnD0iH,EAAMpoa,SAAS8nb,cAerB,OAdA8zc,GAAc/id,EAAWnzH,GAAO8ka,KAAK,WAC/BtrX,GAAO25E,GACTzQ,EAAIihB,SAASxQ,EAAW,GAExBzQ,EAAIqjT,eAAe5yS,EAEvB,EAAG,SAAAojd,GAAG,OAAI7zd,EAAIqjT,eAAewwK,EAAI/ic,IAAI,GACrC0ic,GAAc9mF,EAASpvf,GAAO8ka,KAAK,WAC7BtrX,GAAO41c,GACT1sY,EAAIkhB,OAAOwrX,EAASA,EAAQ52zB,KAAK3F,QAEjC6vb,EAAIwjT,YAAYkpF,EAEpB,EAAG,SAAAmnF,GAAG,OAAI7zd,EAAIwjT,YAAYqwK,EAAI/ic,IAAI,GAC3B9wB,CACT,CAEc8zd,CAAsBjiG,EAAOx8hB,UAAU08hB,SAAUF,EAAO50D,UAAW40D,EAAO98xB,QACtF88xB,EAAOx8hB,UAAUkqe,OAAO7tZ,GAAUsuF,GACpC,GAWA,SAAWm7c,GACTA,EAA0B,OAAI,SAC9BA,EAAyB,MAAI,OAC9B,CAHD,CAGGA,KAAsBA,GAAoB,CAAC,IAC9C,IAy/GI4Y,GA66BAC,GAt6IEC,GAAqB,SAACzvX,EAAY3xgB,GAAO,OAAKxE,KAAKgB,IAAIm1gB,EAAW72gB,KAAOkF,EAAS,EAClFqh4B,GAAsB,SAAC1vX,EAAY3xgB,GAAO,OAAKxE,KAAKgB,IAAIm1gB,EAAW52gB,MAAQiF,EAAS,EAGpFsh4B,GAAgB,SAAC96sB,EAAIC,GACzB,IAAMwzV,EA7gnBS,SAACzzV,EAAIC,GAAE,OAAKjrL,KAAKiL,IAAI,EAAGjL,KAAKgL,IAAIggL,EAAGvrL,OAAQwrL,EAAGxrL,QAAUO,KAAKiL,IAAI+/K,EAAGxrL,IAAKyrL,EAAGzrL,KAAM,CA6gnBlFum4B,CAAS/6sB,EAAIC,GAAMjrL,KAAKgL,IAAIggL,EAAG7oL,OAAQ8oL,EAAG9oL,QAC1D,OAHgB,SAAC6oL,EAAIC,GAAE,OAAKD,EAAGxrL,IAAMyrL,EAAGxrL,QAAUurL,EAAGvrL,OAASwrL,EAAGzrL,GAAI,CAG9Dwm4B,CAAUh7sB,EAAIC,IAAOwzV,EAAU,EACxC,EACMwnX,GAAoB,SAACC,EAAO7t4B,GAEhC,OAzinBkC,SAAA6t4B,GAClC,OAAO3xH,GAAM2xH,EAAO,SAAClpzB,EAAK/yE,GACxB,OAAO+yE,EAAI+2oB,KAAK,kBAAMs/C,EAASpyvB,KAAKhX,EAAK,EAAE,SAAAuphB,GACzC,IAAMl0hB,EAAOU,KAAKgL,IAAIf,EAAK3K,KAAMk0hB,EAASl0hB,MACpCE,EAAMQ,KAAKgL,IAAIf,EAAKzK,IAAKg0hB,EAASh0hB,KAClCD,EAAQS,KAAKiL,IAAIhB,EAAK1K,MAAOi0hB,EAASj0hB,OACtCE,EAASO,KAAKiL,IAAIhB,EAAKxK,OAAQ+zhB,EAAS/zhB,QAC9C,OAAO4zwB,EAASpyvB,KAAK,CACnBzhB,MACAD,QACAE,SACAH,OACA2C,MAAO1C,EAAQD,EACf6C,OAAQ1C,EAASD,GAErB,EACF,EAAG6zwB,EAAS/gX,OACd,CAwhnBS6ze,CADmB9xH,GAAS6xH,EAAO,SAAAj83B,GAAI,OAP7BxF,EAO2CpM,KAPlC89gB,EAOqClsgB,GAPAzK,KAAOiF,GAAW0xgB,EAAW12gB,OAA5E,IAACgF,EAAS0xgB,CAO0C,IACd49M,KAAK,iBAAM,CAAC,GAAImyK,EAAM,EAAE,SAAAE,GAC5E,IAAAC,EAGIjyH,GAAY8xH,EAAO,SAAAj83B,GAAI,OAAI673B,GAAc773B,EAAMm83B,EAAa,GAChE,MAAO,CAHWC,EAAhBn60B,KACcm60B,EAAd361B,KAGJ,EACF,EAOM461B,GAAqB,SAACr83B,EAAM7R,EAAGmu4B,GAAE,OAAKnu4B,EAAI6R,EAAK3K,MAAQlH,EAAI6R,EAAK1K,MAAQ,EAAIS,KAAKgL,IAAIhL,KAAKgB,IAAIiJ,EAAK3K,KAAOlH,GAAI4H,KAAKgB,IAAIiJ,EAAK1K,MAAQnH,GAAI,EACxIou4B,GAAqC,SAACjm0B,EAAU/7D,EAASC,EAASgi4B,GACtE,IAAMC,EAAqB,SAAAz83B,GACzB,OAAI87wB,GAAmB97wB,EAAK6/B,MACnBupuB,EAASpyvB,KAAKhX,GACZq3wB,GAAYr3wB,EAAK6/B,MACnB081B,GAAmC391B,GAAK5+B,EAAK6/B,KAAK7lB,YAAazf,EAASC,GAAS,GAEjF4uwB,EAAS/gX,MAEpB,EAOMq0e,EAAoC,SAACT,EAAOt5d,GAChD,IAAMg6d,EAAcj+4B,GAAKu94B,EAAO,SAACl7sB,EAAIC,GAAE,OAAK2hP,EAAS5hP,EAAIxmL,EAASC,GAAWmoa,EAAS3hP,EAAIzmL,EAASC,EAAQ,GAC3G,OAAOswwB,GAAQ6xH,EAAaF,GAAoBj04B,IAAI,SAAAqkP,GAClD,OAAI2vpB,IAAuBxkH,GAASnriB,EAAQhtM,OAAS881B,EAAY9k5B,OAAS,EAT5C,SAACg1P,EAAS+vpB,EAAYj6d,GACtD,OAAO85d,EAAmBG,GAAYxs3B,OAAO,SAAApQ,GAE3C,OADsBjK,KAAKgB,IAAI4ra,EAAS91L,EAAStyO,EAASC,GAAWmoa,EAAS3ia,EAAMzF,EAASC,IACtE,GAAKw9wB,GAASh4wB,EAAK6/B,KAC5C,EACF,CAKag91B,CAA0BhwpB,EAAS8vpB,EAAY,GAAIh6d,GAAU6lT,MAAM37e,GAEnEA,CAEX,EACF,EACAiwpB,EAAyCd,GAAkB10c,GAAehxX,GAAW97D,GAAQui4B,EAAA7o4B,EAAA4o4B,EAAA,GAAtFE,EAAeD,EAAA,GAAEE,EAAaF,EAAA,GACrCG,EAGI/yH,GAAY8yH,EAAe,SAAAj93B,GAAI,OAAIA,EAAKzK,IAAMiF,CAAO,GAFjDyqd,EAAKi4a,EAAXj70B,KACMsja,EAAK23a,EAAXz71B,KAEF,OAAOi71B,EAAkCM,EAAiBX,IAAoBxyK,QAAQ,kBAAM6yK,EAAkCn3a,EAAOk3U,GAAyB,GAAE5yE,QAAQ,kBAAM6yK,EAAkCz3a,EAAOw3U,GAAyB,EAClP,EAeM0gG,GAAgC,SAAC37zB,EAAMjnE,EAASC,GACpD,IAAM+lxB,EAAUnO,GAAavpD,QAAQrnpB,GAC/B47zB,EAAW3qH,GAAgB8N,GAE3BtwrB,EADiBmirB,GAAatpD,UAAUs0K,EAAU7i4B,EAASC,GAAS4V,OAAO,SAAAvH,GAAG,OAAIytF,GAASiqrB,EAAS13wB,EAAI,GAC/E2/sB,MAAM+3D,GACrC,OAnBiB,SAACA,EAASv7d,EAAOzqT,EAASC,GAC3C,IAAMipR,EAAS,SAACuhC,EAAOq4kB,GACrB,IACMC,EAAyBlzH,GAASpld,EAAMwzI,IAAIx+a,WAAYihW,EADjC,SAAAp7U,GAAI,OAAIw3uB,GAAYx3uB,IAASA,EAAKz8B,UAAUkzF,SAAS,qBAAsB,IAExG,OAAO+myB,EAAUvzK,KAAK,kBAAMyyK,GAAmCe,EAAwB/i4B,EAASC,GAAS,EAAK,EAAE,SAAA6i4B,GAC9G,IAAME,EAAoBnzH,GAASkzH,EAAwB,SAAAz91B,GAAI,OAAIA,IAASw91B,EAAU7kc,GAAG,GACzF,OAAO+jc,GAAmCgB,EAAmBhj4B,EAASC,GAAS,EACjF,GAAGqvtB,QAAQ,WAET,OADe5opB,GAAG+jP,EAAOu7d,GAAWnX,EAAS/gX,OAAS7oR,GAAcwlL,IACtDhnQ,KAAK,SAAAw/0B,GAAQ,OAAI/5mB,EAAO+5mB,EAAUp0H,EAASpyvB,KAAKguS,GAAO,EACvE,EACF,EACA,OAAOvhC,EAAOuhC,EAAOokd,EAAS/gX,OAChC,CAMSo1e,CAAWl9G,EAAStwrB,EAAS11F,EAASC,EAC/C,EACMkj4B,GAA4B,SAACl8zB,EAAMjnE,EAASC,GAAO,OAAK2i4B,GAA8B37zB,EAAMjnE,EAASC,GAAS4V,OAAO,SAAApQ,GAAI,OAAIityB,GAAkBjtyB,EAAK6/B,KAAK,GAAEr3C,IAAI,SAAAwX,GAAI,OA7DtJ,SAACA,EAAMzF,GACxB,MAAO,CACLslC,KAAM7/B,EAAK6/B,KACXrmC,SAAUmi4B,GAAmB373B,EAAMzF,GAAWqh4B,GAAoB573B,EAAMzF,GAAWso3B,GAAkB8a,OAAS9a,GAAkB+a,MAEpI,CAwD6KC,CAAW793B,EAAMzF,EAAQ,EAAE,EAElMuj4B,GAAsB,SAAAj13B,GAC1B,IAAIq5B,EAAIigU,EACF+pK,EAAarjgB,EAAI/S,wBACjB4wS,EAAM79R,EAAI6gZ,cACVq0e,EAAUr3lB,EAAInnS,gBACdgvK,EAAMm4H,EAAI8+J,YAChB,MAAO,CACLjwc,IAAK22gB,EAAW32gB,KAAwE,QAAhE2sC,EAAKqsI,aAAsC,EAAIA,EAAImtD,eAAiC,IAAZx5L,EAAgBA,EAAK,GAAK671B,EAAQt9G,UAClIprxB,KAAM62gB,EAAW72gB,MAAyE,QAAhE8sW,EAAK5zL,aAAsC,EAAIA,EAAIotD,eAAiC,IAAZwmI,EAAgBA,EAAK,GAAK47hB,EAAQv9G,WAExI,EA8CMw9G,GAAO,SAACzkG,EAAQr3yB,GAAK,OAJA+74B,EAzCH,SAAA1kG,GAAM,OAAIA,EAAO7hpB,OAASomvB,GAAoBvkG,EAAO50D,WAAa,CACxFtvuB,KAAM,EACNE,IAAK,EACL,CA0CgD2o4B,CAAgB3kG,GAJzB4kG,EArCf,SAAA5kG,GACxB,IAAMrnvB,EAAOqnvB,EAAO50D,UACpB,OAAO40D,EAAO7hpB,OAAS,CACrBriJ,KAAM68C,EAAK4pL,WACXvmO,IAAK28C,EAAK2pL,WACR,CACFxmO,KAAM,EACNE,IAAK,EAET,CAgC2E6o4B,CAAkB7kG,GAJpC8kG,EAdhC,SAAC9kG,EAAQr3yB,GAChC,GAAIA,EAAMC,OAAOuna,gBAAkB6vY,EAAOzyD,SAAU,CAClD,IAAMw3J,EAAiBR,GAAoBvkG,EAAO07D,2BAC5CkpC,EAhBY,SAAA5kG,GACpB,IAAMrnvB,EAAOqnvB,EAAO50D,UAClB0tC,EAASknB,EAAOzyD,SAASvnuB,gBACrBg/3B,EAAe,CACnBlp4B,KAAM68C,EAAK4pL,WACXvmO,IAAK28C,EAAK2pL,WAEN2iqB,EAAe,CACnBnp4B,KAAM68C,EAAK4pL,YAAcu2iB,EAAOv2iB,WAChCvmO,IAAK28C,EAAK2pL,WAAaw2iB,EAAOx2iB,WAEhC,OAAO09jB,EAAO7hpB,OAAS6mvB,EAAeC,CACxC,CAI2BC,CAAcllG,GACrC,MAAO,CACLlkyB,KAAMnT,EAAM+d,MAAQq+3B,EAAejp4B,KAAO8o4B,EAAe9o4B,KACzDE,IAAKrT,EAAMie,MAAQm+3B,EAAe/o4B,IAAM4o4B,EAAe5o4B,IAE3D,CACA,MAAO,CACLF,KAAMnT,EAAM+d,MACZ1K,IAAKrT,EAAMie,MAEf,CAKsGu+3B,CAAiBnlG,EAAQr3yB,GAJnD,CAC1E+d,MAAOo+3B,EAAchp4B,KAAO4o4B,EAAa5o4B,KAAO8o4B,EAAe9o4B,KAC/D8K,MAAOk+3B,EAAc9o4B,IAAM0o4B,EAAa1o4B,IAAM4o4B,EAAe5o4B,KAFrC,IAAC0o4B,EAAcE,EAAgBE,CAI8E,EAEjIM,GAAiB,SAAAx84B,GAAM,MAAK,CAChCA,SACAgrrB,WAAYhrrB,EACb,EA0EKy84B,GAAgB,SAACxl5B,EAAM+I,EAAQkzB,EAAcs6wB,GACjD,IAAMkvG,EAfiC,SAACxp3B,EAAcolN,GACtD,IAAM9yL,EAAO4q1B,GAAkBl92B,GAW/B,MAVkB,cAAdolN,GACFo2pB,GAAkBlp1B,GAClByp1B,GAAiBzp1B,IACM,SAAd8yL,GACTq2pB,GAAanp1B,GACb0p1B,GAAgB1p1B,KAEhBop1B,GAAgBpp1B,GAChB2p1B,GAAiB3p1B,IAEZA,CACT,CAEkCm31B,CAAiCzp3B,EAAcj8B,GAC/E,OAAOywL,EAAY8lnB,GArEA,SAACv2yB,EAAM+I,EAAQkzB,GAClC,IAAMosB,EAAOwnuB,EAAI,8CAkDjB,OAjDWrkxB,EAAA,CACT+9D,SAAS,EACTuunB,cAAc,EACdtunB,YAAY,EACZ+oK,UAAU,EACV7oK,cAAe,KACfC,kBAAkB,EAClBounB,WAAY,EACZC,WAAW,EACXvkmB,aAAa,EACb20K,UAAW,EACXpoQ,OACA0mB,aAAc2hC,EACdohB,UAAWphB,EACXlhC,eAAgBujG,EAChBkiH,yBAA0BliH,EAC1Br5F,gBAAiBq5F,EACjB2ixB,UAAWzr4B,OAAO0nE,MAAM+j0B,UACxBsY,eAAgB/j5B,OAAO0nE,MAAMq80B,eAC7BC,gBAAiBhk5B,OAAO0nE,MAAMs80B,gBAC9Bl43B,KAAM9rB,OAAO0nE,MAAM57C,KACnBwjO,QAAQ,EACRpwO,OAAQ,EACR23Q,QAAS,EACTt3Q,QAAS,EACTC,QAAS,EACTgwO,SAAS,EACTH,SAAS,EACT+nc,UAAW,EACXC,UAAW,EACXxxqB,QAAS,EACTC,QAAS,EACTb,MAAO,EACPE,MAAO,EACPy5gB,cAAe,KACfrtP,QAAS,EACTC,QAAS,EACT5qR,UAAU,EACVzT,EAAG,EACHC,EAAG,EACHo1D,OAAQ,EACR3+C,KAAM,KACN6sqB,MAAO,EACPutN,YAAax91B,EACby91B,eAAgBz91B,EAChB8wM,iBAAkB9wM,EAClBpsB,gBACGsp3B,GAAex84B,GAGtB,CAiBmCg94B,CAAa/l5B,EAAM+I,EAAQ084B,GA3E3B,SAACzl5B,EAAMu2yB,EAAYxtyB,EAAQkzB,GAAY,OAAAzwB,EAAA,GACrE+qyB,EAAW,CACdt6wB,eACAj8B,QACGul5B,GAAex84B,GAAO,CAuE8Di94B,CAA2Bhm5B,EAAMu2yB,EAAYxtyB,EAAQ084B,EAC9I,EAMMQ,GAA2B7mH,GAC3BtE,GA1snBK,WAAc,IAAD,IAAA7yC,EAAAhmvB,UAAAxD,OAATuV,EAAI,IAAAU,MAAAuzuB,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJl0uB,EAAIk0uB,GAAAjmvB,UAAAimvB,GACjB,OAAO,SAAAnzuB,GACL,IAAK,IAAI/V,EAAI,EAAGA,EAAIgV,EAAKvV,OAAQO,IAC/B,GAAIgV,EAAKhV,GAAG+V,GACV,OAAO,EAGX,OAAO,CACT,CACF,CAisnB0B0iZ,CAAGwuf,GAA0B9mH,IAWjD+mH,GAAc,SAAC/lG,EAAQ1wxB,EAAK7Q,EAAOE,GACvC,IAAMsgc,EAAM+gW,EAAO/gW,IACb+mc,EAAY123B,EAAIy1Q,WAAU,GAChCk6K,EAAIn9T,UAAUkkwB,EAAW,CACvBvn4B,QACAE,WAEFsgc,EAAIs5V,UAAUytG,EAAW,oBAAqB,MAC9C,IAAM9gF,EAAWjmX,EAAItna,OAAO,MAAO,CACjC,MAAS,qBACT,iBAAkB,MAClB,aAAgB,KAChB,gBAAmB,UAiBrB,OAfAsna,EAAIn9T,UAAUojrB,EAAU,CACtBjlzB,SAAU,WACVupP,QAAS,GACT9nO,SAAU,SACV4gS,OAAQ,EACR9gS,QAAS,EACTrhB,OAAQ,EACR1B,QACAE,WAEFsgc,EAAIn9T,UAAUkkwB,EAAW,CACvB7l4B,OAAQ,EACRspO,UAAW,eAEby7kB,EAAS3rxB,YAAYys2B,GACd9gF,CACT,EAMM+gF,GAAe,SAACrp4B,EAAW8pW,GAAM,OAAK,SAAA1xL,GAAG,OAAI,WACjD,IAAMvqC,EAAwB,SAAd7tI,EAAuBo4K,EAAIotD,QAAUptD,EAAImtD,QACzDntD,EAAIitD,OAAO,CACT,CAACrlO,GAAY6tI,EAAUi8N,EACvBxhW,SAAU,UAEd,CAAE,CAAD,EACKq9N,GAAa0jqB,GAAa,QA3DA,IA4D1BC,GAAcD,GAAa,OA5DD,IA6D1BE,GAAWF,GAAa,OA7DE,IA8D1BG,GAAaH,GAAa,MA9DA,IAuG1B16T,GAAgB,SAAAj8jB,GAChBA,GAAOA,EAAIuoF,YACbvoF,EAAIuoF,WAAW9zD,YAAYz0B,EAE/B,EAaMnb,GAAQ,SAAC8J,EAAO+hyB,GAAM,OAAK,SAAAtjzB,GAC/B,GAN+B,SAAAA,GAAC,OAAiB,IAAbA,EAAEikB,MAAa,CAM/C0l4B,CAAyB3p5B,GAAI,CAC/B,IAAM4p5B,EAAQr1H,GAAO+uB,EAAO/gW,IAAI85V,WAAWr8yB,EAAEkM,QAAS+xxB,IAAmB1rD,MAAM,MAC/E,GAAIggD,EAAcq3H,IArHF,SAACrnc,EAAK+nV,EAAS13wB,GAAG,OAAKw23B,GAAyBx23B,IAAQA,IAAQ03wB,GAAW/nV,EAAIm9V,WAAW9sxB,EAAI22H,cAAe,CAqHjGsgwB,CAAYvmG,EAAO/gW,IAAK+gW,EAAO50D,UAAWk7J,GAAQ,CAC5E,IAAME,EAASxmG,EAAO/gW,IAAI8nV,OAAOu/G,GAC3BlrC,EAAUp7D,EAAO50D,UACjB0tC,EAASknB,EAAOzyD,SAASvnuB,gBAC/B/H,EAAM5Z,IAAI,CACRqyG,QAAS4vyB,EACTxq3B,aAAcw82B,KACdmO,UAAU,EACVzzmB,QAASt2S,EAAEs2S,QACXC,QAASv2S,EAAEu2S,QACX0hP,MAAOqrR,EAAO7hpB,OAASi9sB,EAAQtloB,YAAcgjjB,EAAOj0oB,aAAe,EACnE+vY,MAAOorR,EAAO7hpB,OAASi9sB,EAAQvloB,aAAeijjB,EAAOljjB,cAAgB,EACrE8wqB,KAAMhq5B,EAAEgqB,MAAQ8/3B,EAAO5x4B,EACvB+x4B,KAAMjq5B,EAAEkqB,MAAQ4/3B,EAAO3x4B,EACvB4J,MAAO6n4B,EAAMzhwB,YACblmI,OAAQ2n4B,EAAM1wqB,aACdgxqB,MAAOb,GAAY/lG,EAAQsmG,EAAOA,EAAMzhwB,YAAayhwB,EAAM1wqB,cAC3DqtW,WAAYrkP,GA3IQ,MA6IxB,CACF,CACF,CAAE,EAYIiojB,GAAoB,SAAC7mG,EAAQngzB,EAAM+I,EAAQkzB,EAAcs6wB,GAChD,cAATv2yB,GACFw54B,GAAYv92B,EAAckkxB,EAAO/gW,IAAIu8V,aAAa5yyB,IAEpD,IAAMD,EAAQ084B,GAAcxl5B,EAAM+I,EAAQkzB,EAAcs6wB,GAExD,OADa4J,EAAO5iyB,SAASvd,EAAM8I,EAErC,EACMmkgB,GAAO,SAAC7uf,EAAO+hyB,GACnB,IAAM8mG,EAAwBvnG,GAAQ,SAACv+xB,EAASC,GAAO,OApBpC,SAAC++xB,EAAQh/xB,EAASC,GACrC++xB,EAAO4oC,oBAAoBylC,gBAC3B81B,GAA0BnkG,EAAO50D,UAAWpquB,EAASC,GAASsvtB,KAAK,kBAAMyvE,EAAOx8hB,UAAUuylB,aAAa/01B,EAASC,EAAQ,EAAE,SAAA8l4B,GACxH,IAAM/1e,EAAQgvY,EAAO4oC,oBAAoBmjC,UAAU,EAAGg7B,EAAUzg2B,KAAMyg2B,EAAU9m4B,WAAaqp3B,GAAkB8a,QAAQ,GACnHpze,EACFgvY,EAAOx8hB,UAAUkqe,OAAO18U,GAExBgvY,EAAOx8hB,UAAUuylB,aAAa/01B,EAASC,EAE3C,EACF,CAU8D801B,CAAa/1D,EAAQh/xB,EAASC,EAAQ,EAAE,GACpG++xB,EAAOlnuB,GAAG,SAAUgu0B,EAAsB70zB,QAC1C,IAAM+0zB,EAAS/o4B,EACf,OAAO,SAAAvhB,GAAC,OAAIuhB,EAAM66D,GAAG,SAAA76D,GACnB,IA1HuBinzB,EAAUk2C,EA0H3B6rC,EAAWzq4B,KAAKiL,IAAIjL,KAAKgB,IAAI9gB,EAAEs2S,QAAU/0R,EAAM+0R,SAAUx2R,KAAKgB,IAAI9gB,EAAEu2S,QAAUh1R,EAAMg1R,UAC1F,IAAKh1R,EAAMwo4B,UAAYQ,EAAW,GAAI,CACpC,IAAMpz4B,EAAOgz4B,GAAkB7mG,EAAQ,YAAa/hyB,EAAMy4F,QAASz4F,EAAM6d,aAAcp/B,GAIvF,GAHIuyxB,EAAcp7wB,EAAKioB,gBACrB7d,EAAM6d,aAAejoB,EAAKioB,cAExBjoB,EAAK0jrB,qBACP,OAEFt5qB,EAAMwo4B,UAAW,EACjBzmG,EAAOr/wB,OACT,CACA,GAAI1iB,EAAMwo4B,SAAU,CAClB,IAAMS,EAA0Cxq5B,EAAE6sE,gBAAkBy2uB,EAAOzyD,SAASvnuB,gBAC9Emh4B,EAnEQ,SAAClp4B,EAAOgC,GAAQ,MAAM,CACxCyG,MAAOzG,EAASyG,MAAQzI,EAAMyo4B,KAC9B9/3B,MAAO3G,EAAS2G,MAAQ,EACzB,CAgEuBwg4B,CAAYnp4B,EAAOwm4B,GAAKzkG,EAAQtjzB,IAxI7Bwo0B,EAyIHjnzB,EAAM2o4B,MAzIOxrC,EAyIAp7D,EAAO50D,UAxItC85E,EAASrttB,aAAeujwB,GAC1BA,EAAQ7h0B,YAAY2rxB,GAcN,SAACA,EAAUjlzB,EAAUxB,EAAOE,EAAQg2gB,EAAMC,EAAMyyX,EAAQC,EAAQ/sC,EAAsBvlrB,EAAK/2K,EAAOip4B,GAClH,IAAI1kqB,EAAY,EACdC,EAAY,EACdyilB,EAASllzB,MAAMlE,KAAOmE,EAASyG,MAAQ,KACvCw+yB,EAASllzB,MAAMhE,IAAMiE,EAAS2G,MAAQ,KAClC3G,EAASyG,MAAQjI,EAAQk2gB,IAC3BnyS,EAAYviO,EAASyG,MAAQjI,EAAQk2gB,GAEnC10gB,EAAS2G,MAAQjI,EAASi2gB,IAC5BnyS,EAAYxiO,EAAS2G,MAAQjI,EAASi2gB,GAExCswS,EAASllzB,MAAMvB,MAAQA,EAAQ+jO,EAAY,KAC3C0ilB,EAASllzB,MAAMrB,OAASA,EAAS8jO,EAAY,KAC7C,IAAMv8N,EAAeq01B,EAAqBr01B,aACpCD,EAAcs01B,EAAqBt01B,YACnCsh4B,EAAcF,EAAS9sC,EAAqBh+1B,wBAAwBP,IACpEwr4B,EAAcF,EAAS/sC,EAAqBh+1B,wBAAwBT,KAC1EmC,EAAM66D,GAAG,SAAA76D,GACPA,EAAMglkB,WAAWt7kB,QACbsW,EAAMwo4B,UAAYS,IAChBG,EAjFoC,GAiFcnh4B,EACpDjI,EAAMglkB,WAAW5+kB,IAAI+h5B,GAAWpxtB,IACvBqytB,EAnF6B,GAmFqB,EAC3Dpp4B,EAAMglkB,WAAW5+kB,IAAI8h5B,GAASnxtB,IACrBsytB,EArF6B,GAqFqBrh4B,EAC3DhI,EAAMglkB,WAAW5+kB,IAAI6h5B,GAAYlxtB,IACxBsytB,EAvF6B,GAuFqB,EAC3Drp4B,EAAMglkB,WAAW5+kB,IAAIk+O,GAAWvtD,IACvBuytB,EAxF8B,IAwF0B9l5B,OAAOgpB,YACxExM,EAAMglkB,WAAW5+kB,IAAI+h5B,GAAW3k5B,SACvB8l5B,EA1F8B,IA0F0B,EACjEtp4B,EAAMglkB,WAAW5+kB,IAAI8h5B,GAAS1k5B,SACrB+l5B,EA5F8B,IA4F0B/l5B,OAAOipB,WACxEzM,EAAMglkB,WAAW5+kB,IAAI6h5B,GAAYzk5B,SACxB+l5B,EA9F8B,IA8F0B,GACjEvp4B,EAAMglkB,WAAW5+kB,IAAIk+O,GAAW9gP,SAGtC,EACF,CAmFMgm5B,CAAUxp4B,EAAM2o4B,MAAOO,EAAWlp4B,EAAMQ,MAAOR,EAAMU,OAAQV,EAAM02gB,KAAM12gB,EAAM22gB,KAAMl4hB,EAAEukB,QAASvkB,EAAEskB,QAASg/xB,EAAO07D,0BAA2B17D,EAAOxtE,SAAUw0K,EAAQE,GACtKJ,EAAsB96pB,SAAStvP,EAAEskB,QAAStkB,EAAEukB,QAC9C,CACF,EAAG,CACL,EAWM4ghB,GAAO,SAAC5jhB,EAAO+hyB,GAAM,OAAK,SAAAtjzB,GAC9BuhB,EAAM66D,GAAG,SAAA76D,GACP,IAAI0qC,EAEJ,GADA1qC,EAAMglkB,WAAWt7kB,QACbsW,EAAMwo4B,SAAU,CAClB,GAtMoB,SAACzmG,EAAQ92pB,EAAek5Y,GAChD,OAAI4sP,EAAW9loB,IAEJA,IAAkBk5Y,IAAe49Q,EAAO/gW,IAAIhqN,UAAU/rG,EAAek5Y,IAGvE49Q,EAAO/gW,IAAIm9V,WAAWlzpB,EAEjC,CA8LUw+vB,CAAkB1nG,EAfP,SAAAx8hB,GACnB,IAAMh/H,EAAMg/H,EAAU82iB,SACtB,GAAIrrC,EAAczqoB,GAAM,CACtB,IACMutlB,EADMvtlB,EAAIiulB,WAAW,GACAV,eAC3B,OAAO0sD,GAAS1sD,GAAkBA,EAAel6nB,WAAak6nB,CAChE,CACE,OAAO,IAEX,CAMoC41K,CAAa3nG,EAAOx8hB,WAAYvlQ,EAAMy4F,SAAU,CAC5E,IAAMkxyB,EAA+E,QAAjEj/1B,EAAKq3vB,EAAOzyD,SAAS/3S,iBAAiB94c,EAAEskB,QAAStkB,EAAEukB,gBAAkC,IAAZ0nC,EAAgBA,EAAKq3vB,EAAO50D,UAC5Gy7J,GAAkB7mG,EAAQ,OAAQ4nG,EAAY3p4B,EAAM6d,aAAcp/B,GACrE66rB,sBACRyoH,EAAOj1D,YAAYyB,SAAS,YArGL,SAACvtS,EAAK3vb,GACrC,IAAMq2wB,EAAc1mV,EAAIlqI,UAAUzlT,EAAIuoF,WAAYonW,EAAIwmV,SACtDl6M,GAAcj8jB,GACVq2wB,GAAeA,IAAgB1mV,EAAIy5V,WAAaz5V,EAAIvib,QAAQipwB,IAC9D/E,GAAkB/H,GAAavpD,QAAQq2D,GAE3C,CAgGYkiH,CAAyB7nG,EAAO/gW,IAAKhhc,EAAMy4F,SAlyCnC,SAAA56E,GAClB,IAAMgwV,EAAOhwV,EAAaG,QAAQ,aAClC,MAAgB,KAAT6vV,EAAc+ja,EAAS/gX,OAAS+gX,EAASpyvB,KAAKquV,EACvD,CAgyCYg8hB,CAAY7p4B,EAAM6d,cAAc2/B,KAAK,SAAA92C,GAAO,OAAIq7xB,EAAO90D,cAAcvmuB,EAAQ,GAC7Eq7xB,EAAO4oC,oBAAoBylC,eAC7B,EAEJ,CACAw4B,GAAkB7mG,EAAQ,UAAWA,EAAO50D,UAAWntuB,EAAM6d,aAAcp/B,EAC7E,CACF,GACAqr5B,GAAgB9p4B,EAClB,CAAE,EACI+p4B,GAAe,SAAC/p4B,EAAO+hyB,EAAQtjzB,GACnCuhB,EAAM66D,GAAG,SAAA76D,GACPA,EAAMglkB,WAAWt7kB,QACbsW,EAAMwo4B,UACR/p5B,EAAE6zuB,KAAK,kBAAMs2K,GAAkB7mG,EAAQ,UAAW/hyB,EAAMy4F,QAASz4F,EAAM6d,aAAa,EAAE,SAAAs6wB,GAAU,OAAIywG,GAAkB7mG,EAAQ,UAAW/hyB,EAAMy4F,QAASz4F,EAAM6d,aAAcs6wB,EAAW,EAE3L,GACA2xG,GAAgB9p4B,EAClB,EAEM8p4B,GAAkB,SAAA9p4B,GACtBA,EAAM66D,GAAG,SAAA76D,GACPA,EAAMglkB,WAAWt7kB,QACjB4jlB,GAActtkB,EAAM2o4B,MACtB,GACA3o4B,EAAMtW,OACR,EACMsg5B,GAAqB,SAAAjoG,GACzB,IAAM/hyB,EAAQmhyB,KACR8oG,EAAUnwG,GAASoD,IACnBqpB,EAAez+yB,SACfoi4B,EAAmBh04B,GAAM8J,EAAO+hyB,GAChCooG,EAAct7Y,GAAK7uf,EAAO+hyB,GAC1BqoG,EAAcxmX,GAAK5jhB,EAAO+hyB,GAC1BsoG,EAfK,SAACrq4B,EAAO+hyB,GAAM,OAAK,SAAAtjzB,GAAC,OAAIsr5B,GAAa/p4B,EAAO+hyB,EAAQnwB,EAASpyvB,KAAK/gC,GAAI,CAAD,CAezD4P,CAAK2R,EAAO+hyB,GACnCA,EAAOlnuB,GAAG,YAAaqv0B,GACvBnoG,EAAOlnuB,GAAG,YAAasv0B,GACvBpoG,EAAOlnuB,GAAG,UAAWuv0B,GACrBH,EAAQzj1B,KAAK+/vB,EAAc,YAAa4jF,GACxCF,EAAQzj1B,KAAK+/vB,EAAc,UAAW8jF,GACtCtoG,EAAOlnuB,GAAG,SAAU,WAClBov0B,EAAQ/2K,OAAOqzF,EAAc,YAAa4jF,GAC1CF,EAAQ/2K,OAAOqzF,EAAc,UAAW8jF,EAC1C,GACAtoG,EAAOlnuB,GAAG,UAAW,SAAAp8E,GACfA,EAAEw7rB,UAAY6zD,GAAG82E,KACnBmlF,GAAa/p4B,EAAO+hyB,EAAQnwB,EAAS/gX,OAEzC,EACF,EAuCMy5e,GAAS,SAAAvoG,GACbioG,GAAmBjoG,GACf4O,GAA2B5O,IAxCA,SAAAA,GAC/B,IAAMwoG,EAAkB,SAAA9r5B,GACtB,IAAKA,EAAE66rB,qBAAsB,CAC3B,IAAMz7pB,EAAep/B,EAAEo/B,aACnBA,IAAiB00vB,GAAW10vB,EAAaojD,MAAO,UAAYpjD,EAAaiye,MAAMzvgB,OAAS,KAC1F5B,EAAEsqB,iBACa,SAAXtqB,EAAEmD,MACJ692B,GAAa19D,EAAQ,sCAG3B,CACF,EACMyoG,EAA6B,SAAA/r5B,GAC7Bmy0B,GAAY7uB,EAAQtjzB,EAAEkM,SACxB4/4B,EAAgB9r5B,EAEpB,EACMm2d,EAAQ,WACZ,IAAMq1b,EAAUnwG,GAASoD,IACnBl8V,EAAM+gW,EAAO/gW,IACb9xJ,EAAMpnS,SACN2i4B,EAAa1oG,EAAO7hpB,OAAS6hpB,EAAO50D,UAAY40D,EAAOzyD,SACvDh7pB,EAAa,CAAC,OAAQ,YAC5Bm+rB,GAAOn+rB,EAAY,SAAA51F,GACjBur5B,EAAQzj1B,KAAK0oP,EAAKxwT,EAAM8r5B,GACxBxpc,EAAIx6Y,KAAKik1B,EAAY/r5B,EAAM6r5B,EAC7B,GACAxoG,EAAOlnuB,GAAG,SAAU,WAClB43sB,GAAOn+rB,EAAY,SAAA51F,GACjBur5B,EAAQ/2K,OAAOhkb,EAAKxwT,EAAM8r5B,GAC1Bxpc,EAAIkyR,OAAOu3K,EAAY/r5B,EAAM6r5B,EAC/B,EACF,EACF,EACAxoG,EAAOlnuB,GAAG,OAAQ,WAChBg1vB,GAAMC,iBAAiB/tB,EAAQntV,EAAO,EACxC,EACF,CAII81b,CAAyB3oG,EAE7B,EAmCM4oG,GAAyB3pH,GACzB4pH,GAAyB,SAAC7oG,EAAQ15vB,GAAI,OAAKm9xB,GAAyBzjC,EAAO50D,UAAW9ksB,EAAM,EAC5Fwi2B,GAAqB,SAAA9oG,GACzB,IAMI+oG,EANEvloB,EAAYw8hB,EAAOx8hB,UACvBy7L,EAAM+gW,EAAO/gW,IACTttR,EAAWqunB,EAAO50D,UAClBs8D,EAAY+K,GAAUzS,EAAQrunB,EAAUstR,EAAIwmV,QAAS,kBAAMzhhB,GAASg8hB,EAAO,GAC3EgpG,EAAkB,OAAS/pc,EAAIu0H,WAC/BgwP,EAAuB,oBAGvBylF,EAA+B,SAAA3i2B,GAAI,OAAIA,IAASqrI,IAAai3tB,GAAuBti2B,IAAS84uB,GAAU94uB,KAAU24Z,EAAIhqN,UAAU3uM,EAAMqrI,IAAastR,EAAIm9V,WAAW91vB,EAAKuxD,WAAY,EAMlLk0wB,EAAY,SAACnv2B,EAAW0pC,EAAMqqG,GAAmC,IAA3BmlH,IAAch0Q,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,KAAAA,UAAA,GAMxD,OALUk+yB,EAAO5iyB,SAAS,YAAa,CACrCxU,OAAQ09C,EACR1pC,YACA+zI,WAEI4miB,qBACG,MAELzhb,GACF0N,EAAU1N,eAAexvN,GAAqB,IAAf1pC,GAE1B8qyB,EAAUp6gB,KAAK38I,EAAQrqG,GAChC,EA+FM4i2B,EAAyB,SAAA5i2B,GAAI,OAAI86uB,GAAmB96uB,IAASm7uB,GAA2Bn7uB,IAASo7uB,GAAyBp7uB,EAAM,EAChI6i2B,EAA0B,SAAAh7d,GAAG,OAAI+6d,EAAuB/6d,EAAI4jT,iBAAmBm3K,EAAuB/6d,EAAI6jT,aAAc,EACxHo3K,EAAgC,SAAAj7d,GACpC,IAAM6vd,EAAeh+F,EAAO98xB,OAAO0uxB,kBAC7B6S,EAASxlW,EAAI46V,YACb9nE,EAAiB5jT,EAAI4jT,eACrB5iM,EAAchhH,EAAIghH,YAClB6iM,EAAe7jT,EAAI6jT,aACnBC,EAAY9jT,EAAI8jT,UAmBtB,OAlBIigD,GAAM8rH,EAAcjsK,EAAe54nB,SAAS35F,eAC1B,IAAhB2vhB,EACFs1Q,EAAOjzE,eAAeO,GAEtB0yE,EAAOhzE,cAAcM,GAGvB0yE,EAAOr1W,SAAS2iS,EAAgB5iM,GAE9B+iP,GAAM8rH,EAAchsK,EAAa74nB,SAAS35F,eAC1B,IAAdyytB,EACFwyE,EAAO/yE,aAAaM,GAEpByyE,EAAO9yE,YAAYK,GAGrByyE,EAAOp1W,OAAO2iS,EAAcC,GAEvBwyE,CACT,EA0BM4kG,EAAgB,SAAA/53B,GACpB,IAAMg63B,EAAch63B,EAAIy1Q,WAAU,GAC5BroS,EAAIsjzB,EAAO5iyB,SAAS,iBAAkB,CAC1CxU,OAAQ0mB,EACRg63B,gBAEF,GAAI5s5B,EAAE66rB,qBACJ,OAAO,KAET,IAAMvmR,EAlCwB,SAAC1qX,EAAMgj2B,GACrC,IAAM3w1B,EAAOkguB,GAAavpD,QAAQ0wE,EAAO50D,WACnCj+b,EAAM6yf,EAAOzyD,SACbg8J,EAAyBhvH,GAAa5huB,EAAM,IAAMqw1B,GAAiBt2K,WAAW,WAClF,IAAM43F,EAAezxC,GAAa1pD,SAAS,mEAAoEhib,GAG/G,OAFAsqe,GAAM6yC,EAAc,KAAM0+E,GAC1BxtH,GAAS7iuB,EAAM2xwB,GACRA,CACT,GACME,EAAWvrX,EAAI46V,YACrB3yvB,GAAMqi2B,GACNvzvB,GAAOuzvB,EAAwB,CAAC1wH,GAAaxpD,SAASowD,GAAMtye,GAAM0re,GAAavpD,QAAQg6K,GAAczwH,GAAaxpD,SAASowD,GAAMtye,KACjIq9gB,EAASp7X,SAASm6c,EAAuBtqc,IAAInpT,WAAY,GACzD00qB,EAASn7X,OAAOk6c,EAAuBtqc,IAAIxgW,UAAW,GACtD0qU,GAAOoge,EAAwB,CAC7Bvt4B,IAAKijc,EAAI8nV,OAAOzgvB,EAAM05vB,EAAO50D,WAAWv2uB,EAAI,OAE9Ck4zB,GAAQw8E,GACR,IAAM/kwB,EAAMg/H,EAAU82iB,SAKtB,OAJI91qB,IACFA,EAAI+ijB,kBACJ/ijB,EAAIgjjB,SAASgjI,IAERA,CACT,CAUgBg/E,CAAwBl63B,EAAK5yB,EAAE4s5B,aACvCG,EAAU5wH,GAAavpD,QAAQhgtB,GAWrC,OAVAohwB,GAAOrwmB,GAAYw4mB,GAAavpD,QAAQ0wE,EAAO50D,WAAY,KAAK9pvB,OAAOki0B,EAAsB,MAAO,SAAAl0yB,GAC7Fo4D,GAAG+h0B,EAASn63B,IACfwowB,GAASxowB,EAAKk0yB,EAElB,GACKvkX,EAAIm5V,UAAU9oxB,EAAKk0yB,IACtBl0yB,EAAIwnF,aAAa0stB,EAAsB,KAEzCulF,EAAkBz53B,EAClB++1B,IACOr9c,CACT,EACM04e,EAAsB,SAAC14e,EAAOw2Y,GAClC,IAAKx2Y,EACH,OAAO,KAET,GAAIA,EAAMjwK,UAAW,CACnB,IAAKoopB,EAAwBn4e,GAAQ,CACnC,IAAM5hX,EAAMo4vB,EAAU,GAAK,EACrBrC,EAAgBuQ,GAA2BtmwB,EAAKuiI,EAAUq/O,GAC1Ds0Y,EAAaH,EAAclwE,SAASuyE,GAC1C,GAAIv4B,EAAcq2B,GAAa,CAC7B,GAAIoO,GAAkBpO,GACpB,OAAOymE,EAAU38zB,EAAKk2vB,IAAYkC,IAAWrC,EAAc3jB,WAAmB,GAEhF,GAAIL,GAAuBmkB,IAAermB,GAAyBqmB,EAAWzgc,aAAc,CAC1F,IAAMspE,EAAM8wB,EAAI46V,YAGhB,OAFA1rX,EAAIihB,SAASk2W,EAAY,GACzBn3X,EAAIkhB,OAAOi2W,EAAY,GAChBn3X,CACT,CACF,CACA,IAAMw7d,EAAYxkG,EAAclwE,QAAQuyE,GACxC,GAAIv4B,EAAc06H,GAAY,CAC5B,GAAIj2F,GAAkBi2F,GACpB,OAAO59B,EAAU38zB,EAAKu61B,GAAWniG,IAAmBrC,EAAc3jB,WAAW,GAE/E,GAAIL,GAAuBwoH,IAAc1qH,GAAyB0qH,EAAU3+d,iBAAkB,CAC5F,IAAMmD,EAAM8wB,EAAI46V,YAGhB,OAFA1rX,EAAIihB,SAASu6c,EAAW,GACxBx7d,EAAIkhB,OAAOs6c,EAAW,GACfx7d,CACT,CACF,CACF,CACA,OAAO,IACT,CACA,IAAI4jT,EAAiB/gU,EAAM+gU,eACvB5iM,EAAcn+H,EAAMm+H,YAClB8iM,EAAYjhU,EAAMihU,UAMxB,GALIwsD,GAAS1sD,IAAmC,IAAhB5iM,GAAqBy5W,GAAuB72K,EAAel6nB,cACzFk6nB,EAAiBA,EAAel6nB,WAChCs3b,EAAclwF,EAAIlzB,UAAUgmT,GAC5BA,EAAiBA,EAAel6nB,aAE7BimrB,GAAY/rD,GACf,OAAO,KAET,GAAIE,IAAc9iM,EAAc,GAAK4iM,IAAmB/gU,EAAMghU,aAAc,CAC1E,IAAM1rrB,EAAOyrrB,EAAetxsB,WAAW0ugB,GACvC,GAAI85W,EAA6B3i2B,GAC/B,OAAO+i2B,EAAc/i2B,EAEzB,CACA,OAAO,IACT,EACMsj2B,EAAyB,WACzBb,GACFA,EAAgBr0yB,gBAAgB8utB,GAElCjpC,GAAa1B,GAAavpD,QAAQ0wE,EAAO50D,WAAY,IAAM49J,GAAiBvt1B,KAAKkguB,IACjFotH,EAAkB,IACpB,EAKM16B,EAAgB,WACpB3mE,EAAUn6gB,MACZ,EAIA,OAHK+jkB,GAAMtxD,KAxOTA,EAAOlnuB,GAAG,QAAS,SAAAp8E,GACZuid,EAAIm9V,WAAW1/yB,EAAEkM,UACpBlM,EAAEsqB,iBACFg5xB,EAAOr/wB,QAEX,GACAq/wB,EAAOlnuB,GAAG,gBAAiB8w0B,GAC3B5pG,EAAOlnuB,GAAG,sCAAuC4uuB,EAAU8L,YAC3DxT,EAAOlnuB,GAAG,MAAO,SAAAp8E,GACf,IAAMop0B,EAAYpp0B,EAAEkM,OACdih5B,EAAsBhB,GAAuB7oG,EAAQ8lB,GACvD8iF,GAAuBiB,IACzBnt5B,EAAEsqB,iBACFwyyB,GAAWxZ,EAAQ6pG,GAAqBpu1B,KAAKiu1B,IACpCT,EAA6BnjF,IACtCtM,GAAWxZ,EAAQ8lB,GAAWrqwB,KAAKiu1B,EAEvC,GAAG,GACH1pG,EAAOlnuB,GAAG,YAAa,SAAAp8E,GACrB,IAAMop0B,EAAYpp0B,EAAEkM,OACpB,IAAIk9zB,IAAcn0oB,GAAmC,SAAvBm0oB,EAAU3stB,UAAwB8lW,EAAIhqN,UAAU6wkB,EAAWn0oB,KAGpFwprB,GAAkBn7D,EAAQtjzB,EAAEskB,QAAStkB,EAAEukB,SAA5C,CAGA2o4B,IACAv7B,IACA,IAAMy7B,EAAyBjB,GAAuB7oG,EAAQ8lB,GAC1D8iF,GAAuBkB,IACzBpt5B,EAAEsqB,iBACFwyyB,GAAWxZ,EAAQ8pG,GAAwBru1B,KAAKiu1B,IAEhDvF,GAA0BxytB,EAAUj1L,EAAEskB,QAAStkB,EAAEukB,SAASw6C,KAAK,SAAAsr1B,GAC7Drq5B,EAAEsqB,iBA5DO,SAAAgqZ,GACXA,GACFxtJ,EAAUkqe,OAAO18U,EAErB,CA0DQ+4e,CADch+B,EAAU,EAAGg7B,EAAUzg2B,KAAMyg2B,EAAU9m4B,WAAaqp3B,GAAkB8a,QAAQ,IAExFrmH,GAAc+rH,GAChBA,EAAuBnp3B,QAEvBq/wB,EAAO50D,UAAUzqtB,OAErB,EAjBF,CAmBF,GACAq/wB,EAAOlnuB,GAAG,WAAY,SAAAp8E,GAChBqvvB,GAAGw3E,gBAAgB7m0B,IAGnBks5B,GAAuBploB,EAAUyxd,YACnCv4uB,EAAEsqB,gBAEN,GACAg5xB,EAAOlnuB,GAAG,oBAAqB,SAAAp8E,GAC7B,IAAIyxb,EAAMzxb,EAAEs0a,MACZ,GAAI+3e,EAAiB,CACnB,IAAKA,EAAgBlxyB,WAEnB,YADAkxyB,EAAkB,OAGpB56d,EAAMA,EAAIu2X,cACN8U,WAAWuvF,GACfrs5B,EAAEs0a,MAAQmd,CACZ,CACF,GACA6xX,EAAOlnuB,GAAG,oBAAqB,SAAAp8E,GAC7BA,EAAEs0a,MAAQo4e,EAA8B1s5B,EAAEs0a,OAC1C,IAAMmd,EAAMu7d,EAAoBht5B,EAAEs0a,MAAOt0a,EAAE8qzB,SACvCr5X,IACFzxb,EAAEs0a,MAAQmd,EAEd,GAEA6xX,EAAOlnuB,GAAG,yBAA0B,SAAAp8E,GAClC,IAFiB4pD,EAEX6nY,EAAMzxb,EAAEs0a,MACRhrX,EAASmoY,EAAI4jT,eAAe9rlB,cAC7BkjwB,EAAwBh7d,IAJJ2vW,GAARx3uB,EAIgCN,IAJS,gBAAZM,EAAKzkC,IAKjDws2B,IAzGyB,SAAA/n0B,GAAI,OAAI2ouB,EAAc3ouB,IAAS24Z,EAAIzyB,SAASlmY,EAAM,0BAA2B,CA2GnG0j2B,CAAuBhk2B,IAC1B4j2B,GAEJ,GACArB,GAAOvoG,GA1JK,SAAAA,GACd,IAAMiqG,EAAmB1qG,GAAQ,WAC/B,IAAKS,EAAOhjU,SAAWgjU,EAAO50D,UAAUruoB,SAASh3F,SAAS44N,eAAgB,CACxE,IAAMwvM,EAAM6xX,EAAOx8hB,UAAU08hB,SAC7B,GAAI/xX,EAAIptL,UAAW,CACjB,IAAM2rnB,EAAaT,GAAiBjsE,EAAQ7xX,GAAK,GACjD6xX,EAAOx8hB,UAAUkqe,OAAOg/H,EAC1B,CACF,CACF,EAAG,GACH1sE,EAAOlnuB,GAAG,QAAS,WACjBmx0B,EAAiBj+pB,UACnB,GACAg0jB,EAAOlnuB,GAAG,OAAQ,WAChBmx0B,EAAiBh4zB,QACnB,EACF,CA2IIi4zB,CAAQlqG,GAzII,SAAAA,GACdA,EAAOlnuB,GAAG,OAAQ,WAChBknuB,EAAOlnuB,GAAG,UAAW,SAAAp8E,GACnB,IAAMkM,EAASlM,EAAEkM,OACjB,GAAIw2xB,GAAUx2xB,GAAS,CACrB,IAAMwj3B,EAAS3oC,GAAyBzjC,EAAO50D,UAAWxivB,GACpD09C,EAAO24uB,GAAyBmtF,GAAUA,EAASxj3B,EACrDo3yB,EAAOx8hB,UAAUyxd,YAAc3urB,GACjCkzwB,GAAWxZ,EAAQ15vB,GAAMmV,KAAK,SAAA0yX,GAAG,OAAI6xX,EAAOx8hB,UAAUkqe,OAAOv/T,EAAI,EAErE,CACF,EACF,EACF,CA6HIg8d,CAAQnqG,IAsJH,CACL+rE,YACAljC,wBApP8B,SAAA6zC,GAC1BA,EAAoB7lxB,aAAa,oBACnC8qrB,GAAwB+6F,GACxBl5mB,EAAU1N,eAAe4mnB,GAE7B,EAgPErO,gBACA9huB,QAdc,WACdm7pB,EAAUn7pB,UACVw8vB,EAAkB,IACpB,EAaF,EAEMqB,GAA0B,SAACrwzB,EAAWz4E,GAE1C,IADA,IAAI6v3B,EAAmB7v3B,EACdglC,EAAOyzC,EAAUixV,gBAAiByzW,GAASn4uB,GAAOA,EAAOA,EAAK0kY,gBACrEmmd,GAAoB7q1B,EAAKriD,KAAK3F,OAEhC,OAAO6y4B,CACT,EACMkZ,GAAe,SAACprc,EAAKh3X,EAAM3hC,EAAMhlC,EAAQ0uG,GAC7C,GAAIyuqB,GAASn4uB,KAAUhlC,EAAS,GAAKA,EAASglC,EAAKriD,KAAK3F,QACtD,MAAO,GAIT,IAFA,IAAME,EAAIwxH,GAAcyuqB,GAASn4uB,GAAQ,CAAC8j2B,GAAwB9j2B,EAAMhlC,IAAW,CAACA,GAChFmpI,EAAUnkG,EACPmkG,IAAYxiE,GAAQwiE,EAAQ5yC,YACjCr5G,EAAEoF,KAAKq7c,EAAIlzB,UAAUthS,EAASz6B,IAC9By6B,EAAUA,EAAQ5yC,WAEpB,OAAO4yC,IAAYxiE,EAAOzpF,EAAE2+D,UAAY,EAC1C,EACMmt1B,GAAoB,SAACrrc,EAAKh3X,EAAM22W,EAAWuwG,EAAa0rR,EAAS5oF,GAAmC,IAAxBjinB,EAAUluH,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,IAAAA,UAAA,GAG1F,MAAO,CACLqS,MAHYk24B,GAAaprc,EAAKh3X,EAAM22W,EAAWuwG,EAAan/a,GAI5D57G,IAHUi24B,GAAaprc,EAAKh3X,EAAM4yuB,EAAS5oF,EAAWjinB,GAK1D,EACMu6xB,GAAc,SAACti0B,EAAMpoE,GACzB,IAAM2q4B,EAAW3q4B,EAAKnL,QAChB4M,EAASkp4B,EAASnt1B,MACxB,OAAKo6D,EAASn2G,GAGSyvwB,GAAMy5H,EAAU,SAACC,EAASvg5B,GAAK,OAAKug5B,EAAQhm1B,KAAK,SAAAne,GAAI,OAAIupuB,EAASxquB,KAAKiB,EAAK7lB,WAAWv2B,GAAO,EAAC,EAAE2lxB,EAASpyvB,KAAKwqD,IAChHxjB,KAAK,SAAAne,GACvB,OAAIm4uB,GAASn4uB,KAAUhlC,EAAS,GAAKA,EAASglC,EAAKriD,KAAK3F,QAC/CuxxB,EAAS/gX,OAET+gX,EAASpyvB,KAAK,CACnB6oB,OACAhlC,UAGN,GAZOuuwB,EAAS/gX,MAcpB,EACM47e,GAAmB,SAACzi0B,EAAM+oV,GAAK,OAAKu5e,GAAYti0B,EAAM+oV,EAAM78Z,OAAOswD,KAAK,SAAAl6C,GAAA,IACtEq0a,EAASr0a,EAAf+7B,KACQ6of,EAAW5khB,EAAnBjJ,OAAM,OACFip4B,GAAYti0B,EAAM+oV,EAAM58Z,KAAKnF,IAAI,SAAA8b,GAGhC,IAFC8vyB,EAAO9vyB,EAAbu7B,KACQ2rrB,EAASlntB,EAAjBzJ,OAEM6sa,EAAMpoa,SAAS8nb,cAGrB,OAFA1f,EAAIihB,SAASxQ,EAAWuwG,GACxBhhH,EAAIkhB,OAAOwrX,EAAS5oF,GACb9jT,CACT,EAAE,EAAE,EAGEw8d,GAAkB,SAAC1rc,EAAK34Z,EAAM41U,GAClC,GAAI51U,GAAQ24Z,EAAIvib,QAAQ4pB,KAAU41U,EAAO51U,GAAO,CAC9C,IAAMN,EAASM,EAAKuxD,WACpBonW,EAAIh2b,OAAOq9B,EAAMm4uB,GAASn4uB,EAAKwvG,aAAegtoB,GAAiBx8uB,EAAKwvG,WAAW7xJ,OAC/E0m5B,GAAgB1rc,EAAKj5Z,EAAQk2U,EAC/B,CACF,EACM0uhB,GAAY,SAAC3rc,EAAK9wB,EAAKjyD,GAA0B,IAAlB2uhB,IAAK/o5B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,KAAAA,UAAA,GAClCi23B,EAAc5pc,EAAI4jT,eAAel6nB,WACjCmgxB,EAAY7pc,EAAI6jT,aAAan6nB,WACnCs2U,EAAIkvZ,iBACAwtE,IAAU3uhB,EAAOiyD,EAAI4jT,kBACnB0sD,GAAStwW,EAAI4jT,iBAAsD,IAAnC5jT,EAAI4jT,eAAe9tuB,KAAK3F,QAC1D2gd,EAAIh2b,OAAOkla,EAAI4jT,gBAEb0sD,GAAStwW,EAAI6jT,eAAkD,IAAjC7jT,EAAI6jT,aAAa/tuB,KAAK3F,QACtD2gd,EAAIh2b,OAAOkla,EAAI6jT,cAEjB24K,GAAgB1rc,EAAK84a,EAAa77f,GAC9B67f,IAAgBC,GAClB2yB,GAAgB1rc,EAAK+4a,EAAW97f,GAGtC,EACM4uhB,GAAiB,SAAC9qG,EAAQ7xX,GAAG,OAAK0hW,EAASxquB,KAAK26vB,EAAO/gW,IAAIlqI,UAAUo5G,EAAI4jT,eAAgBiuE,EAAO/gW,IAAIwmV,SAAU,EAC9GslH,GAA6B,SAACC,EAAY9oqB,EAAO+oqB,GACrD,IAAMC,EAAkBF,EAAWG,sBAAsB,CACvD123B,KAAMw23B,EACN/oqB,UAEF,OAAA72O,EAAA,GACK2/4B,EAAW,CACdI,cAAe/gG,GAAiB6gG,GAAiB5p5B,OAAO0p5B,EAAWI,eACnEC,eAAgB/gG,GAAkB4gG,GAAiB5p5B,OAAO0p5B,EAAWK,iBAEzE,EACMC,GAAgB,SAACrsc,EAAK/8N,EAAO57L,EAAMhlC,GACvC,IAAM6sa,EAAM8wB,EAAI46V,YAGhB,OAFA1rX,EAAIihB,SAASltN,EAAO,GACpBisM,EAAIkhB,OAAO/oZ,EAAMhlC,GACV6sa,EAAIvwb,UACb,EAGM2t5B,GAAe,SAACtsc,EAAK/8N,EAAOtiK,GAChC,IAAM4r0B,EAvlIU,SAACll2B,EAAMhlC,EAAQqwK,GAC/B,GAAI8smB,GAASn4uB,IAAShlC,GAAUglC,EAAKhoD,OACnC,OAAOuxxB,EAASpyvB,KAAKsjB,GAAMuF,EAAMhlC,IAEjC,IAAMu9yB,EAAaxc,GAAWigF,IAC9B,OAAOzyG,EAASxquB,KAAKw5wB,EAAWpc,SAASn8vB,EAAMhlC,EAAQih3B,GAAWj80B,GAAOqrI,IAAW1iL,IAAI,SAAAhD,GAAI,OAAI80C,GAAM90C,EAAK8tF,UAAW,EAAE,EAE5H,CAglIwB0xzB,CAAUvpqB,EAAO,EAAGA,GAC1CspqB,EAAc/v1B,KAAK,SAAAyn0B,GACjB,IAAM580B,EAAO480B,EAAKnpyB,UAClB2oyB,GAAUp80B,EAAMs5B,EAAQzrE,MAAM7V,OAAQ4jP,GAAOzmL,KAAK,SAAArnD,GAChD,IAAM+5a,EAAM8wB,EAAI46V,YAChB1rX,EAAIihB,SAAS9oZ,EAAM,GACnB6nY,EAAIkhB,OAAOj7b,EAAI2lF,UAAW3lF,EAAIkN,QAC9Bsp4B,GAAU3rc,EAAK9wB,EAAK,SAAAzxb,GAAC,OAAIA,IAAMwlP,CAAK,EACtC,GACA,IAAMztN,EAAOokwB,GAAavpD,QAAQhprB,GAC5B7b,EAAco1vB,GAAMprwB,GAZK,WAAWl0B,KAahBkqC,IA/iwBlB,SAACisE,EAASv3G,GAAUwgyB,GAAMt7xB,IAAIqyG,EAASv3G,EAAO,CAgjwBpDkF,CAAIowB,EAAMgW,EAAY/1B,MAAM,GAEhC,EACF,EACMg34B,GAAiB,SAAC1rG,EAAQv/yB,GAC9B,IAAMw+c,EAAM+gW,EAAO/gW,IACbr/X,EAAUn/E,EAAMm/E,QAChBuuW,EAAMu8d,GAAiBzrc,EAAIy5V,UAAWj4yB,EAAMuwa,OAAOmjU,SAAS,gCAoBlE,OAfA22K,GAAe9qG,EAAQ7xX,GAAK1yX,KAAK,SAAAymL,GACV,iBAAjBtiK,EAAQ//E,KALY,SAAClD,EAAMu4f,GAC/B,IAAMy2Z,EAAYz2Z,EAAU5wf,IAAI3H,GAChC,OAAOsxG,EAAU09yB,IAAc/l2B,GAAK+l2B,GAAWx1b,OAAO,SAAA/gG,GAAM,OAAI88Z,GAAM98Z,EAAQ,QAAQ,EACxF,CAGQw2hB,CAAkBhs0B,EAAQw1S,OAAQ4qb,EAAO9qT,YAC3C8qT,EAAOj1D,YAAYyB,SAAS,WAC1B++J,GAAavrG,EAAO/gW,IAAK/8N,EAAOtiK,GAChCoguB,EAAO9qT,UAAUptf,MAAM83E,EAAQw1S,OACjC,GAEwB,kBAAjBx1S,EAAQ//E,MACjBmgzB,EAAOj1D,YAAYyB,SAAS,WAC1B++J,GAAavrG,EAAO/gW,IAAK/8N,EAAOtiK,GAChCoguB,EAAO/0D,YAAYrrqB,EAAQuquB,KAAK,EAAOvquB,EAAQzgF,MACjD,EAEJ,IACO,CACT,EAEM0s5B,GAAgB,SAAC1whB,EAAU1mW,GAC/B,IAAMq33B,EAFe,SAAA3whB,GAAQ,OAAIh2X,GAAKg2X,EAAU,SAAC/1X,EAAGC,GAAC,OAAKA,EAAE8O,MAAM7V,OAAS8G,EAAE+O,MAAM7V,MAAM,EAAE,CAEpEyt5B,CAAe5whB,GAChC6whB,EAASv33B,EAAKlV,QAAQkgxB,GAAM,KAClC,OAAOxO,GAAO66H,EAAgB,SAAAls0B,GAAO,OAAoC,IAAhCnrD,EAAK31B,QAAQ8gF,EAAQzrE,QAAkD,IAAlC634B,EAAOlt5B,QAAQ8gF,EAAQzrE,MAAY,EACnH,EA4BM834B,GAAY,SAAChtc,EAAKp9b,GAAE,OAAKo9b,EAAItna,OAAO,OAAQ,CAChD,gBAAiB,WACjB91B,MACC,EACGqq4B,GAAkB,SAACjtc,EAAK1/c,GAC5B,IAAM4ub,EAAM8wB,EAAI46V,YAGhB,OAFA1rX,EAAIsjT,cAAclyuB,EAAO4U,OACzBg6a,EAAIujT,aAAanyuB,EAAO6U,KACjB+5a,CACT,EACMg+d,GAAe,SAACltc,EAAKmtc,EAAcC,GACvC,IAAMl+d,EAAMu8d,GAAiBzrc,EAAIy5V,UAAW2zG,GAAWl4K,SAAS,gCAC1Dv1S,EAAYzQ,EAAI4jT,eAChB8oF,EAAU1sY,EAAI6jT,aACds6K,EAA4B,IAAlBn+d,EAAI8jT,UAAkB4oF,EAAUA,EAAQ5H,UAAU9kY,EAAI8jT,WAChEs6K,EAAgC,IAApBp+d,EAAIghH,YAAoBvwG,EAAYA,EAAUq0X,UAAU9kY,EAAIghH,aACxEq9W,EAAkBD,EAAU10yB,WAElC,MAAO,CACLn4E,OAAQ0s3B,EACRh44B,IAHoBk44B,EAAQz0yB,WAGTyB,aAAa2yyB,GAAUhtc,EAAKmtc,EAAe,QAASE,GACvEn44B,MAAOq44B,EAAgBlzyB,aAAa2yyB,GAAUhtc,EAAKmtc,EAAe,UAAWG,GAEjF,EACME,GAAe,SAACxtc,EAAK1/c,EAAQ28X,GACjCyuhB,GAAgB1rc,EAAKA,EAAI36c,IAAI/E,EAAOmgC,OAAS,QAASw8V,GACtDyuhB,GAAgB1rc,EAAKA,EAAI36c,IAAI/E,EAAOmgC,OAAS,UAAWw8V,EAC1D,EAEMwwhB,GAAuB,SAAA9s0B,GAAO,OAA6B,IAAzBA,EAAQzrE,MAAM7V,MAAa,EAc7Dqu5B,GAA2B,SAAC1tc,EAAKr/X,EAASsiK,EAAOghpB,GACrD,IAdqB0pB,EAcfC,EAAejt0B,EAAQzrE,MAE7B,OADkBwu3B,GAAW1jb,EAAKikb,EAAKnpyB,UAAWmpyB,EAAK5h3B,QAflCsr4B,EAeyDC,EAfvC,SAACn2yB,EAASp1F,GACjD,IACMwr4B,EADOp2yB,EAAQzyG,KACGhF,UAAU,EAAGqiB,GAC/Byr4B,EAAgBD,EAAWz91B,YAAYu91B,EAAep02B,OAAOo02B,EAAetu5B,OAAS,IACrF09B,EAAa8w3B,EAAWz91B,YAAYu91B,GAC1C,OAAoB,IAAhB5w3B,EACKA,EAAa4w3B,EAAetu5B,QACP,IAAnByu5B,EACFA,EAAgB,GAEf,CAEZ,GAG+F7qqB,GAC5Ez9K,KAAK,SAAAy+zB,GACpB,IAAIv60B,EAAIigU,EACFokiB,EAAsH,QAAjGpkiB,EAAkC,QAA5BjgU,EAAKu5L,EAAMz3M,mBAAqC,IAAZke,OAAqB,EAAIA,EAAG7pD,QAAQ+t5B,UAAuC,IAAZjkiB,EAAgBA,GAAM,EAE1J,IAD+C,IAAvBokiB,GAA4B9pB,EAAK5h3B,QAAU0r4B,EAAoBH,EAAavu5B,OAC/E,CACnB,IAAM6vb,EAAM8wB,EAAI46V,YAGhB,OAFA1rX,EAAIihB,SAAS8zb,EAAKnpyB,UAAWmpyB,EAAK5h3B,OAASur4B,EAAavu5B,QACxD6vb,EAAIkhB,OAAO6zb,EAAKnpyB,UAAWmpyB,EAAK5h3B,QACzBuuwB,EAASpyvB,KAAK0wZ,EACvB,CACE,IAAM7sa,EAAS4h3B,EAAK5h3B,OAASur4B,EAAavu5B,OAC1C,OAAOmk4B,GAASS,EAAKnpyB,UAAWz4E,EAAQ4gO,GAAOjzO,IAAI,SAAAg+4B,GACjD,IAAM9+d,EAAM8wB,EAAI46V,YAGhB,OAFA1rX,EAAIihB,SAAS69c,EAASlzzB,UAAWkzzB,EAAS3r4B,QAC1C6sa,EAAIkhB,OAAO6zb,EAAKnpyB,UAAWmpyB,EAAK5h3B,QACzB6sa,CACT,GAAGt3Z,OAAO,SAAAs3Z,GAAG,OAAIA,EAAIvwb,aAAeiv5B,CAAY,GAAEv8K,QAAQ,kBAAMq8K,GAAyB1tc,EAAKr/X,EAASsiK,EAAOnhM,GAAMmi1B,EAAKnpyB,UAAW,GAAG,EAE3I,EACF,EAuBMmzzB,GAAc,SAACltG,EAAQ99jB,EAAOyiE,EAASwomB,GAC3C,IAAMluc,EAAM+gW,EAAO/gW,IACbh3X,EAAOg3X,EAAIy5V,UACX94tB,EAAU+kO,EAAQ/kO,QAClBi7uB,EAAUl2gB,EAAQ1kS,SAAS85E,UAC3Bk4oB,EAAYttb,EAAQ1kS,SAASqB,OACnC,OAAOmh3B,GAAS5nE,EAAS5oF,EAAYttb,EAAQ/kO,QAAQxrE,IAAI9V,OAAQ4jP,GAAOz9K,KAAK,SAAAy+zB,GAC3E,IAAMkqB,EAAa9C,GAAkBrrc,EAAKh3X,EAAMi7yB,EAAKnpyB,UAAWmpyB,EAAK5h3B,OAAQu5yB,EAAS5oF,EAAWk7K,GACjG,GAAIT,GAAqB9s0B,GACvB,OAAOiwsB,EAASpyvB,KAAK,CACnBs6E,QAAS,CAAC,CACRn4B,UACAki0B,SAAUsL,EACVC,OAAQD,IAEVnt4B,SAAUij3B,IAGZ,IAAMoqB,EAAaC,GAAgBvtG,EAAQr7f,EAAQ6omB,kBAAmBtqB,EAAKnpyB,UAAWmpyB,EAAK5h3B,OAAQ4gO,EAAOirqB,GACpG/r0B,EAAUks0B,EAAWr+K,MAAM,CAC/Bl3nB,QAAS,GACT93F,SAAUij3B,IAENti1B,EAAMwgC,EAAQnhE,SACd9L,EA9Ca,SAAC8qc,EAAKr/X,EAASt5B,EAAMhlC,EAAQ4gO,GAA+B,IAAxBurqB,EAAU3r5B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,IAAAA,UAAA,GACrE,GAA6B,IAAzB89E,EAAQzrE,MAAM7V,SAAiBmv5B,EAAY,CAC7C,IAAMt/d,EAAM8wB,EAAI46V,YAGhB,OAFA1rX,EAAIihB,SAAS9oZ,EAAMhlC,GACnB6sa,EAAIkhB,OAAO/oZ,EAAMhlC,GACVuuwB,EAASpyvB,KAAK0wZ,EACvB,CACA,OAAOq0c,GAAWl80B,EAAMhlC,EAAQ4gO,GAAOz9K,KAAK,SAAAy+zB,GAE1C,OADcypB,GAAyB1tc,EAAKr/X,EAASsiK,EAAOghpB,GAC/Cz+zB,KAAK,SAAAip1B,GAChB,IAAI/k2B,EACJ,GAAI8k2B,EAAY,CACd,GAAIC,EAAW17K,eAAiBkxJ,EAAKnpyB,WAAa2zzB,EAAWz7K,YAAcixJ,EAAK5h3B,OAC9E,OAAOuuwB,EAAS/gX,OACX,GAAoB,IAAhBo0d,EAAK5h3B,SAAgE,QAA9CqnC,EAAK+k2B,EAAW17K,aAAavnsB,mBAAqC,IAAZke,OAAqB,EAAIA,EAAGrqD,UAAYov5B,EAAWz7K,UACzI,OAAO49C,EAAS/gX,MAEpB,CACA,OAAO+gX,EAASpyvB,KAAKiw3B,EACvB,EACF,EACF,CAyBoBC,CAAiB1uc,EAAKr/X,EAASh/B,EAAIm5C,UAAWn5C,EAAIt/B,OAAQ4gO,EAAOorqB,EAAW92K,UAC1F,OAAOriuB,EAAMlF,IAAI,SAAA6y4B,GACf,IAAM8L,EA3OqB,SAAC3uc,EAAKh3X,EAAM+oV,GAAK,IAAEhhT,EAAUluH,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,IAAAA,UAAA,GAAQ,OAAKwo5B,GAAkBrrc,EAAKh3X,EAAM+oV,EAAM+gU,eAAgB/gU,EAAMm+H,YAAan+H,EAAMghU,aAAchhU,EAAMihU,UAAWjinB,EAAY,CA2OvK69xB,CAA2B5uc,EAAKh3X,EAAM65zB,EAAUqL,GACrE,MAAO,CACLp1yB,QAAS32B,EAAQ22B,QAAQz2G,OAAO,CAAC,CAC/Bs+E,UACAki0B,SAAU8L,EACVP,OAAQD,KAEVnt4B,SAAU8gC,GAAM+g2B,EAAS/vK,eAAgB+vK,EAAS3yW,aAEtD,EAEJ,EACF,EACMo+W,GAAkB,SAACvtG,EAAQ7kb,EAAU70U,EAAMhlC,EAAQ4gO,EAAOirqB,GAC9D,IAAMluc,EAAM+gW,EAAO/gW,IACnB,OAAOujb,GAAWl80B,EAAMhlC,EAAQ29b,EAAIy5V,WAAWj0uB,KAAK,SAAAqp1B,GAElD,IADA,IAAMr53B,EAAO623B,GAAcrsc,EAAK/8N,EAAO57L,EAAMhlC,GACpCziB,EAAI,EAAGA,EAAIs8X,EAAS78X,OAAQO,IAAK,CACxC,IAAM+gF,EAAUu7S,EAASt8X,GACzB,GAAKi0O,GAASr+M,EAAMmrD,EAAQxrE,KAA5B,CAGA,IAAM254B,EAAyB5yhB,EAASzmX,QACxCq54B,EAAuBnv3B,OAAO//B,EAAG,GACjC,IAAMkB,EAASmt5B,GAAYltG,EAAQ99jB,EAAO,CACxCtiK,UACA4t0B,kBAAmBO,EACnB9t4B,SAAU6t4B,GACTX,GACH,GAAIpt5B,EAAOy2uB,UAAYl1tB,EAAS,EAC9B,OAAOis4B,GAAgBvtG,EAAQ7kb,EAAU70U,EAAMhlC,EAAS,EAAG4gO,EAAOirqB,GAEpE,GAAIpt5B,EAAO+uuB,SACT,OAAO/uuB,CAZT,CAcF,CACA,OAAO8vxB,EAAS/gX,MAClB,EACF,EACMk/e,GAAe,SAAChuG,EAAQpguB,EAASqu0B,GACrCjuG,EAAOx8hB,UAAUkqe,OAAOugK,GACH,kBAAjBru0B,EAAQ//E,KACV6wxB,GAAO9wsB,EAAQw1S,OAAQ,SAAAA,GACrB4qb,EAAO9qT,UAAUptf,MAAMstX,EACzB,GAEA4qb,EAAO/0D,YAAYrrqB,EAAQuquB,KAAK,EAAOvquB,EAAQzgF,MAEnD,EAkDM+u5B,GAAe,SAACluG,EAAQ99jB,EAAO57L,EAAMhlC,EAAQ0p4B,EAAYmC,GAC7D,IAAMp1yB,EAAUw1yB,GAAgBvtG,EAAQgrG,EAAWK,eAAgB/k2B,EAAMhlC,EAAQ4gO,EAAOirqB,GAAmB58K,KAAK,iBAAM,EAAE,EAAE,SAAAxwuB,GAAM,OAAIA,EAAOg4G,OAAO,GAC5Io2yB,EAA4BZ,GAAgBvtG,EAd/B,SAAA7kb,GAAQ,OAAIh2X,GAAKg2X,EAAU,SAAC/1X,EAAGC,GAAC,OAAKA,EAAE+O,IAAI9V,OAAS8G,EAAEgP,IAAI9V,MAAM,EAAE,CAc3B8v5B,CAAapD,EAAWK,gBAAiB/k2B,EAAMhlC,EAAQ4gO,EAAOirqB,GAAmB58K,KAAK,iBAAM,EAAE,EAAE,SAAAxwuB,GAAM,OAAIA,EAAOg4G,OAAO,GAClL,OAdqB,SAACA,EAASo2yB,GAC/B,IAAME,EAAiBn6K,GAAOn8nB,EAAS,SAAAt3G,GAAK,OAAI01d,GAAOg4b,EAA2B,SAAAG,GAAW,OAAI7t5B,EAAMm/E,QAAQzrE,QAAUm64B,EAAY1u0B,QAAQzrE,OAAS1T,EAAMm/E,QAAQxrE,MAAQk64B,EAAY1u0B,QAAQxrE,GAAG,EAAC,GACpM,OAAI2jG,EAAQz5G,SAAW6v5B,EAA0B7v5B,OAC3C+v5B,EACKt2yB,EAEAo2yB,EAGJp2yB,EAAQz5G,OAAS6v5B,EAA0B7v5B,OAASy5G,EAAUo2yB,CACvE,CAISI,CAAex2yB,EAASo2yB,EACjC,EACMK,GAAe,SAACxuG,EAAQjosB,GAC5B,GAAuB,IAAnBA,EAAQz5G,OAAZ,CAGA,IAAM2gd,EAAM+gW,EAAO/gW,IACbm5W,EAAWpY,EAAOx8hB,UAAU6pe,cAC5BohK,EAzCW,SAACxvc,EAAKlnW,GACvB,IAAMq0yB,EAAerqG,GAAW,mBAC1B2sG,EAAkB59H,GAAM/4qB,EAAS,SAACve,EAAK/4F,GAC3C,IAAMku5B,EAAYxC,GAAaltc,EAAKmtc,EAAe,OAAO9q5B,OAAOk4F,EAAIl7F,QAASmC,EAAM4s5B,QACpF,OAAO7zzB,EAAIl4F,OAAO,CAAA+J,EAAA,GACb5K,EAAM,CACTku5B,eAEJ,EAAG,IACH,OAAO79H,GAAM49H,EAAiB,SAACl1zB,EAAK/4F,GAClC,IAAMkgE,EAAM+t1B,EAAgBpw5B,OAASk7F,EAAIl7F,OAAS,EAC5C6/U,EAAcuukB,GAAqBjs5B,EAAMm/E,SAAWn/E,EAAMku5B,UAAYxC,GAAaltc,EAAKmtc,EAAe,SAAS9q5B,OAAOq/D,GAAMlgE,EAAMqh5B,UACzI,OAAOtozB,EAAIl4F,OAAO,CAAA+J,EAAA,GACb5K,EAAM,CACT09U,iBAEJ,EAAG,GACL,CAwB6BywkB,CAAW3vc,EAAKlnW,GAC3C24qB,GAAO+9H,EAAoB,SAAAhu5B,GACzB,IAAMyhP,EAAQ+8N,EAAIlqI,UAAUt0U,EAAM09U,YAAYhqU,MAAO8qc,EAAIwmV,SACnDvpa,EAAS,SAAA51U,GAAI,OAAIA,IAAS47L,CAAM,EAClCwqqB,GAAqBjs5B,EAAMm/E,SAhEH,SAACoguB,EAAQpguB,EAASrgF,EAAQ28X,GACxD,IAAM2yhB,EAAc3C,GAAgBlsG,EAAO/gW,IAAK1/c,GAChDqr5B,GAAU5qG,EAAO/gW,IAAK4vc,EAAa3yhB,GACnC8xhB,GAAahuG,EAAQpguB,EAASiv0B,EAChC,CA6DMC,CAAwB9uG,EAAQv/yB,EAAMm/E,QAASn/E,EAAMku5B,UAAWzyhB,GA5DtC,SAAC8jb,EAAQpguB,EAASu+P,EAAawwkB,EAAWzyhB,GACxE,IAAM+iF,EAAM+gW,EAAO/gW,IACb8vc,EAAiB7C,GAAgBjtc,EAAK0vc,GACtCK,EAAmB9C,GAAgBjtc,EAAK9gI,GAC9CyskB,GAAU3rc,EAAK+vc,EAAkB9yhB,GACjC0uhB,GAAU3rc,EAAK8vc,EAAgB7yhB,GAC/B,IAAM+yhB,EAAgB,CACpBvv3B,OAAQy+S,EAAYz+S,OACpBvrB,MAAOgqU,EAAY/pU,IACnBA,IAAKu64B,EAAUx64B,OAEX854B,EAAe/B,GAAgBjtc,EAAKgwc,GAC1CjB,GAAahuG,EAAQpguB,EAASqu0B,EAChC,CAiDMiB,CAAwBlvG,EAAQv/yB,EAAMm/E,QAASn/E,EAAM09U,YAAa19U,EAAMku5B,UAAWzyhB,GAErFuwhB,GAAaxtc,EAAKx+c,EAAMku5B,UAAWzyhB,GACnCuwhB,GAAaxtc,EAAKx+c,EAAM09U,YAAa+9C,EACvC,GACA8jb,EAAOx8hB,UAAUipe,eAAe2rE,EAfhC,CAgBF,EAEM+2F,GAAc,SAACnvG,EAAQgrG,GAC3B,IAAM78d,EAAM6xX,EAAOx8hB,UAAU08hB,SAC7B,OAAO4qG,GAAe9qG,EAAQ7xX,GAAKl/a,IAAI,SAAAizO,GACrC,IAAIv5L,EACErnC,EAAS9E,KAAKiL,IAAI,EAAG0ma,EAAIghH,aACzBigX,EAAoBrE,GAA2BC,EAAY9oqB,EAAoC,QAA5Bv5L,EAAKu5L,EAAMz3M,mBAAqC,IAAZke,EAAgBA,EAAK,IAC5H0m2B,EAAgBnB,GAAaluG,EAAQ99jB,EAAOisM,EAAI4jT,eAAgBzwtB,EAAQ8t4B,GAAmB,GAC3FE,EAhRa,SAACtvG,EAAQ99jB,EAAO8oqB,EAAYmC,GACjD,IAAIxk2B,EACEs2Z,EAAM+gW,EAAO/gW,IACb6xY,EAAkBxlC,GAAmBtL,GAC3C,IAAK/gW,EAAI1qa,GAAG2tM,EAAO4umB,GACjB,MAAO,GAET,IAAMy+D,EAAyC,QAA5B5m2B,EAAKu5L,EAAMz3M,mBAAqC,IAAZke,EAAgBA,EAAK,GAC5E,OAAOkj2B,GAAcb,EAAWI,cAAemE,GAAWtg5B,IAAI,SAAA2wE,GAC5D,OAAIo2sB,GAAMl/tB,KAAKy41B,GAAWjx5B,SAAWshF,EAAQzrE,MAAM7V,OAC1C,GAEF,CAAC,CACNshF,UACAoxV,MAAOs5e,GAAkBrrc,EAAKA,EAAIy5V,UAAWx2jB,EAAO,EAAGA,EAAO,EAAGirqB,IAErE,GAAGl+K,MAAM,GACX,CA+PyBugL,CAAexvG,EAAQ99jB,EAAOktqB,GAAmB,GACtE,OAAIE,EAAahx5B,OAAS,GAAK+w5B,EAAc/w5B,OAAS,KACpD0hzB,EAAOj1D,YAAYz9uB,MACnB0yyB,EAAOj1D,YAAYjjI,MAAM,WACvBk4L,EAAO/0D,YAAY,mBACrB,EAAG,YA1ywBQ,SAAA+0D,GAAUA,EAAO90D,cAAc21C,GAAQ,CACtDonD,eAAe,GACd,CAyywBKwnE,CAASzvG,GACTwuG,GAAaxuG,EAAQqvG,GArQN,SAACrvG,EAAQjosB,GAC9B,GAAuB,IAAnBA,EAAQz5G,OAAZ,CAGA,IAAM85zB,EAAWpY,EAAOx8hB,UAAU6pe,cAClCqjC,GAAO34qB,EAAS,SAAAt3G,GAAK,OAAIir5B,GAAe1rG,EAAQv/yB,EAAM,GACtDu/yB,EAAOx8hB,UAAUipe,eAAe2rE,EAHhC,CAIF,CA+PQs3F,CAAe1vG,EAAQsvG,GACvB,IAAMt+e,EAAQgvY,EAAOx8hB,UAAU08hB,SACzBgjF,EAAOV,GAAWxxd,EAAM+gU,eAAgB/gU,EAAMm+H,YAAa6wQ,EAAO/gW,IAAIy5V,WAC5EsH,EAAO/0D,YAAY,oBACnBi4I,EAAKzn0B,KAAK,SAAA52D,GACR,IAAMyhD,EAAOzhD,EAAEk1F,UACXzzC,EAAKriD,KAAKu0C,OAAO3zC,EAAEyc,OAAS,KAAOk+wB,KACrCl5uB,EAAKmrwB,WAAW5szB,EAAEyc,OAAS,EAAG,GAC9Bqp4B,GAAgB3qG,EAAO/gW,IAAK34Z,EAAKuxD,WAAY,SAAAn7G,GAAC,OAAIA,IAAMsjzB,EAAO/gW,IAAIy5V,SAAS,GAEhF,EACF,IACO,EAGX,GAAGzpE,OAAM,EACX,EAeM0gL,GAAgB,SAACrvgB,EAAO33Y,EAAOo9F,GACnC,IAAK,IAAIlnG,EAAI,EAAGA,EAAIyhZ,EAAMhiZ,OAAQO,IAChC,GAAIknG,EAAUu6S,EAAMzhZ,GAAI8J,GACtB,OAAO,EAGX,OAAO,CACT,EAQMin5B,GAAU,SAAA5vG,GACd,IAAM6vG,EAAY,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,KACtCC,EAAW,CAAC,IACZC,EAAgB,WAAH,OAt8nBI,SAAC50hB,EAAUgwhB,GAAqB,MAAM,CAC7DE,eAAgB/gG,GAAkBnvb,GAClCiwhB,cAAe/gG,GAAiBlvb,GAChCgwhB,wBACD,CAk8nB6B6E,CAAiB7/F,GAAgBnQ,GAASoQ,GAAsBpQ,GAAS,EAC/FiwG,EAAqB,WAAH,OAximBI,SAAAjwG,GAAM,OAAIA,EAAOl6yB,QAAQg2W,MAAM,uBAAwB,CAwimBlDo0iB,CAAsBlwG,EAAQ,EAC/DA,EAAOlnuB,GAAG,UAAW,SAAAp8E,GACnB,GAAkB,KAAdA,EAAEw7rB,UAAmB6zD,GAAGw3E,gBAAgB7m0B,IAAMsjzB,EAAOx8hB,UAAUwne,cAAe,CAChF,IAAMggK,EAAa+E,KACC/E,EAAWK,eAAe/s5B,OAAS,GAAK0s5B,EAAWI,cAAc9s5B,OAAS,GAAK2x5B,MAChFd,GAAYnvG,EAAQgrG,IACrCtu5B,EAAEsqB,gBAEN,CACF,GAAG,GACH,IAAMmp4B,EAAsB,WAC1B,GAAInwG,EAAOx8hB,UAAUwne,cAAe,CAClC,IAAMggK,EAAa+E,KACC/E,EAAWK,eAAe/s5B,OAAS,GAAK2x5B,MA9C1C,SAACjwG,EAAQgrG,GAC/B,IAAM78d,EAAM6xX,EAAOx8hB,UAAU08hB,SAC7B4qG,GAAe9qG,EAAQ7xX,GAAKl/a,IAAI,SAAAizO,GAC9B,IAAM5gO,EAAS9E,KAAKiL,IAAI,EAAG0ma,EAAIghH,YAAc,GACvC87W,EAAaK,GAActrG,EAAO/gW,IAAK/8N,EAAOisM,EAAI4jT,eAAgBzwtB,GAClE8t4B,EAAoBrE,GAA2BC,EAAY9oqB,EAAO+oqB,GAClEoE,EAAgBnB,GAAaluG,EAAQ99jB,EAAOisM,EAAI4jT,eAAgBzwtB,EAAQ8t4B,GAAmB,GAC7FC,EAAc/w5B,OAAS,GACzB0hzB,EAAOj1D,YAAYyB,SAAS,WAC1BgiK,GAAaxuG,EAAQqvG,EACvB,EAEJ,EACF,CAmCQe,CAAgBpwG,EAAQgrG,EAE5B,CACF,EACAhrG,EAAOlnuB,GAAG,QAAS,SAAAp8E,IA9BA,SAAC4jZ,EAAO33Y,GAAK,OAAKgn5B,GAAcrvgB,EAAO33Y,EAAO,SAACkU,EAAMlU,GACxE,OAAOkU,IAASlU,EAAMuvrB,UAAY6zD,GAAGw3E,gBAAgB56zB,EACvD,EAAG,EA6BK0n5B,CAAaP,EAAUpz5B,IACzByz5B,GAEJ,GACAnwG,EAAOlnuB,GAAG,WAAY,SAAAp8E,IAhCF,SAACgqkB,EAAO/9jB,GAAK,OAAKgn5B,GAAcjpV,EAAO/9jB,EAAO,SAACkujB,EAAKlujB,GACxE,OAAOkujB,EAAIh2gB,WAAW,KAAOl4C,EAAMwnmB,QACrC,EAAG,EA+BKmgT,CAAcT,EAAWnz5B,IAC3Box0B,GAAMC,iBAAiB/tB,EAAQmwG,EAEnC,EACF,EAMMI,GAAS,SAAAvwG,GACb,IAkIQwwG,EAYAC,EA9IFh11B,EAAOu6tB,GAAMv6tB,KACbinwB,EAAY32E,GAAG22E,UACnBC,EAAS52E,GAAG42E,OACZ1jX,EAAM+gW,EAAO/gW,IACbz7L,EAAYw8hB,EAAOx8hB,UACnB9yM,EAASsvuB,EAAOtvuB,OACZ41B,EAAUovrB,GAAIpvrB,QACd4B,EAAU5B,EAAQwpoB,YAClB4gL,EAAWpqzB,EAAQ+oR,cAAgB/oR,EAAQm9L,WAC3Cssc,EAAQ2lD,GAAI3kD,WAAWN,YAAcilD,GAAI3kD,WAAWP,SACpDzhf,EAAQ2miB,GAAIpurB,GAAG2ooB,WAAaylD,GAAIpurB,GAAGyooB,QACnC4gL,EAAwB,SAACxmG,EAAKlsyB,GAClC,IACE+hyB,EAAOzyD,SAAStC,YAAYk/D,GAAK,EAAO5ozB,OAAO0c,GACjD,CAAE,MAAOmsB,GAAK,CAChB,EACMmtpB,EAAqB,SAAA76rB,GACzB,OAAOA,EAAE66rB,oBACX,EACMq5N,EAA0B,WAC9B,IAAMC,EAAe,SAAA1ie,GACnB,IAAMx1X,EAAOsmZ,EAAItna,OAAO,QAClBugR,EAAWi2H,EAAIk5Z,gBAErB,OADA1uxB,EAAKpf,YAAY2+Q,GACV10C,EAAU98Q,WAAWxH,UAAUy5D,EAAM,CAC1Cy8T,OAAQ,QAEZ,EAQA4qb,EAAOlnuB,GAAG,UAAW,SAAAp8E,GACnB,IAAMw7rB,EAAUx7rB,EAAEw7rB,QAClB,IAAKX,EAAmB76rB,KAAOw7rB,IAAYyqI,GAAUzqI,IAAYwqI,IAAc1iB,EAAOx8hB,UAAU44hB,aAAc,CAC5G,IAAMpxD,EAAcg1D,EAAOx8hB,UAAUwne,cAC/BryrB,EAAOqnvB,EAAO50D,UACpB,GAAIJ,IAAgBg5C,GAAUnL,GAAavpD,QAAQ32qB,IACjD,OAEF,IAAKqyrB,IAfmB,SAAA78T,GAC1B,IAAM3qK,EAAYqtoB,EAAa1ie,GACzB2ie,EAAS7xc,EAAI46V,YAGnB,OAFAi3G,EAAOt3F,WAAWxZ,EAAO50D,WAElB5ne,IADcqtoB,EAAaC,EAEpC,CASyBC,CAAoB/wG,EAAOx8hB,UAAU08hB,UACxD,OAEFxjzB,EAAEsqB,iBACFg5xB,EAAOxhE,WAAW,IACd7lrB,EAAKm9F,YAAcmpT,EAAIwmV,QAAQ9suB,EAAKm9F,YACtCkqpB,EAAOx8hB,UAAUgujB,kBAAkB74wB,EAAKm9F,WAAY,GAEpDkqpB,EAAOx8hB,UAAUgujB,kBAAkB74wB,EAAM,GAE3CqnvB,EAAO6lB,aACT,CACF,EACF,EACMmrF,EAAY,WAChBhxG,EAAOtwjB,UAAUpiP,IAAI,SAAU,KAAM,YACvC,EACM2j5B,EAA8B,WAC7BjxG,EAAO7hpB,QACV8gT,EAAIx6Y,KAAKu7uB,EAAOzyD,SAAU,oBAAqB,SAAA7wvB,GAC7C,IAAIyxb,EACJ,GAAIzxb,EAAEkM,SAAWo3yB,EAAOzyD,SAASvnuB,gBAG/B,GAFAmoa,EAAM3qK,EAAU08hB,SAChBF,EAAO50D,UAAUzqtB,QACF,cAAXjkC,EAAEmD,KAAsB,CAC1B,GAAIuhyB,GAAmBjzW,EAAI4jT,gBACzB,OAEFvud,EAAUuylB,aAAar52B,EAAEskB,QAAStkB,EAAEukB,QACtC,MACEuiQ,EAAUkqe,OAAOv/T,EAGvB,EAEJ,EAuBMwhZ,EAAY,WACXuhF,MAAMpz5B,UAAUiwc,gBACnBiyW,EAAOlnuB,GAAG,YAAa,SAAAp8E,GACrB,IAAK66rB,EAAmB76rB,IAA4B,SAAtBA,EAAEkM,OAAOuwG,SAAqB,CAC1D,IAAMxgD,EAAOqnvB,EAAO50D,UACpBzyrB,EAAKovN,OACL+ljB,GAAMC,iBAAiB/tB,EAAQ,WAC7BrnvB,EAAKh4B,OACP,EACF,CACF,EAEJ,EACMww3B,EAAwB,WAC5B,IAAMC,EAAwBriG,GAAyB/O,GACvDA,EAAOlnuB,GAAG,QAAS,SAAAp8E,GACjB,IAAMkM,EAASlM,EAAEkM,OACb,aAAarI,KAAKqI,EAAOuwG,WAAa8lW,EAAIm9V,WAAWxzyB,KACvDlM,EAAEsqB,iBACFg5xB,EAAOx8hB,UAAUvhP,OAAOr5B,GACxBo3yB,EAAO6lB,eAEe,MAApBj9zB,EAAOuwG,UAAoB8lW,EAAIzyB,SAAS5jb,EAAQwo5B,IAAuD,IAA7Bxo5B,EAAO63B,WAAWniC,QAAgB2gd,EAAIm9V,WAAWxzyB,EAAOivG,cACpIn7G,EAAEsqB,iBACFw8P,EAAUvhP,OAAOr5B,GAErB,EACF,EAsCMyo5B,EAA6B,WACjCrxG,EAAOlnuB,GAAG,UAAW,SAAAp8E,GACnB,IAAK66rB,EAAmB76rB,IAAMA,EAAEw7rB,UAAYwqI,GACtCl/iB,EAAUwne,eAAoD,IAAnCxne,EAAU08hB,SAAS/wQ,YAAmB,CACnE,IAAMnkH,EAAkBxnK,EAAUyxd,UAAUjqT,gBAC5C,GAAIA,GAAmBA,EAAgB7xU,UAAuD,UAA3C6xU,EAAgB7xU,SAAS35F,cAE1E,OADA9iB,EAAEsqB,kBACK,CAEX,CAEF,OAAO,CACT,EACF,EA0BMsq4B,EAAyB,WAQxB/iG,GAAavO,IAChBA,EAAOlnuB,GAAG,8BARI,WACd630B,EAAsB,gBAAgB,GACtCA,EAAsB,4BAA4B,GAC7C1jG,GAAkBjN,IACrB2wG,EAAsB,wBAAwB,EAElD,EAIF,EACMY,EAAsB,WAmB1BvxG,EAAOlnuB,GAAG,yBAA0B,SAAAp8E,GACnB,eAAXA,EAAEmD,MAAuC,kBAAdnD,EAAEmpC,SAlBjC41B,EAAKwjZ,EAAIh9a,OAAO,2BAA4B,SAAAqkB,GAC1C,IAAIqC,EACAkvD,EAAavxD,EAAKuxD,WAChB5vB,EAAOg3X,EAAIy5V,UACjB,IAAK7gsB,aAAoD,EAAIA,EAAW4G,aAAen4D,EAAM,CAC3F,KAAOuxD,IAAeonW,EAAIwmV,QAAQ5trB,IAAa,CAC7C,IAAsC,QAAhClvD,EAAKkvD,EAAWA,kBAAoC,IAAZlvD,OAAqB,EAAIA,EAAG81D,aAAe5G,GAAcA,IAAe5vB,EACpH,OAEF4vB,EAAaA,EAAWA,UAC1B,CACAonW,EAAI3xc,IAAIuqG,EAAY,KAAM,CACxB,iBAAkB,GAEtB,CACF,EAMF,EACF,EAkBM25yB,EAAsB,WAC1BxxG,EAAOn8jB,cAAcjgP,KAAK,kFAC5B,EACM6t5B,EAAwB,WACvBzxG,EAAO7hpB,QACV6hpB,EAAOlnuB,GAAG,UAAW,WACf/yD,SAAS44N,gBAAkB54N,SAAS4yC,MACtCqnvB,EAAOxtE,SAAS7xsB,OAEpB,EAEJ,EACM+w3B,EAAa,WACZ1xG,EAAO7hpB,SACV6hpB,EAAOn8jB,cAAcjgP,KAAK,4BAC1Bo8yB,EAAOlnuB,GAAG,QAAS,SAAAp8E,GACjB,IAAIyxb,EACsB,SAAtBzxb,EAAEkM,OAAOuwG,WACXg1U,EAAM6xX,EAAOx8hB,UAAU08hB,SACvBF,EAAO50D,UAAUzqtB,QACjBq/wB,EAAOx8hB,UAAUkqe,OAAOv/T,GACxB6xX,EAAOx8hB,UAAUq8E,YACjBmgd,EAAO6lB,cAEX,GAEJ,EACM8rF,EAA0B,WAC1B5iqB,GACFixjB,EAAOlnuB,GAAG,UAAW,SAAAp8E,IACfqvvB,GAAGC,eAAetvvB,IAAOA,EAAE2rB,UAA2B,KAAd3rB,EAAEw7rB,SAAgC,KAAdx7rB,EAAEw7rB,UAChEx7rB,EAAEsqB,iBACgBg5xB,EAAOx8hB,UAAU82iB,SACzB1+hB,OAAO,OAAsB,KAAdl/R,EAAEw7rB,QAAiB,WAAa,UAAW,gBAExE,EAEJ,EACM05N,EAAoB,WACxB5xG,EAAOlnuB,GAAG,QAAS,SAAAp8E,GACjB,IAAI4yB,EAAM5yB,EAAEkM,OACZ,GACE,GAAoB,MAAhB0mB,EAAItH,QAEN,YADAtrB,EAAEsqB,uBAGGsI,EAAMA,EAAIuoF,WACrB,GACAmosB,EAAOn8jB,cAAcjgP,KAAK,kDAC5B,EACMiu5B,EAA8B,WAClC7xG,EAAOlnuB,GAAG,OAAQ,WAChBknuB,EAAO/gW,IAAIx6Y,KAAKu7uB,EAAO50D,UAAW,SAAU,SAAA1uvB,GAC1CA,EAAEsqB,gBACJ,EACF,EACF,EAWMspzB,EAAyB/ltB,EA0E/B,OALI+mvB,GAAMtxD,IA5DJ0wG,IACFO,IACAE,IACAU,IACAb,IACIjhL,IACF0hL,IACAC,IACAE,MAGA1pzB,IACFynuB,IACA2hF,IACAE,IACAG,OAzKF3xG,EAAOlnuB,GAAG,UAAW,SAAAp8E,GACnB,IAAI66rB,EAAmB76rB,IAAMA,EAAEw7rB,UAAY6zD,GAAG22E,UAA9C,CAGA,IAAIv0Y,EAAM3qK,EAAU08hB,SACdnmtB,EAAYo0V,EAAI4jT,eAChBzwtB,EAAS6sa,EAAIghH,YACblnd,EAAOg3X,EAAIy5V,UACb1yvB,EAAS+zC,EACb,GAAKo0V,EAAIptL,WAAwB,IAAXz/O,EAAtB,CAGA,KAAO0kC,EAAO6xD,YAAc7xD,EAAO6xD,WAAWi+C,aAAe9vG,GAAUA,EAAO6xD,aAAe5vB,GAC3FjiC,EAASA,EAAO6xD,WAEM,eAApB7xD,EAAOmzD,WACT6msB,EAAO9qT,UAAU7uc,OAAO,kBAAc7gD,EAAWwgD,IACjDmoY,EAAM8wB,EAAI46V,aACNzqW,SAASr1W,EAAW,GACxBo0V,EAAIkhB,OAAOt1W,EAAW,GACtBypL,EAAUkqe,OAAOv/T,GATnB,CARA,CAmBF,GAiKAyie,IACKl7H,GAAID,cAhHTuqB,EAAOlnuB,GAAG,wBAAyB,SAAAp8E,GAC5BqvvB,GAAGw3E,gBAAgB7m0B,IAPC,SAAAsjzB,GAC3B,IAAMrnvB,EAAOqnvB,EAAO50D,UACdj9T,EAAM6xX,EAAOx8hB,UAAU08hB,SAC7B,OAAO/xX,EAAI4jT,iBAAmB5jT,EAAI6jT,cAAgB7jT,EAAI4jT,iBAAmBp5qB,GAA4B,IAApBw1X,EAAIghH,aAAqBhhH,EAAI8jT,YAAct5qB,EAAKl4B,WAAWniC,MAC9I,CAGmCwz5B,CAAqB9xG,IAClDx8hB,EAAUq8E,WAEd,GAAG,GA+GC6wjB,IACFO,IACAE,IA/HFnxG,EAAOlnuB,GAAG,OAAQ,WAChB630B,EAAsB,4BAA6BrlG,GAAmBtL,GACxE,GA+HE6xG,IACAR,IAxDF3g1B,EAAOgnxB,cAAc,KAAM,SAAA1+uB,GAEzB,IADA,IAAIn6G,EAAIm6G,EAAM16G,OACPO,KAC0B,8BAA3Bm6G,EAAMn6G,GAAGoxE,KAAK,UAChB+oC,EAAMn6G,GAAGoqB,QAGf,GAmDM8mtB,GACF0hL,IACAC,IACAE,KAEAZ,KAGA9ozB,IA/SJ83sB,EAAOlnuB,GAAG,UAAW,SAAAp8E,GACnB,IAAK66rB,EAAmB76rB,IAAMA,EAAEw7rB,UAAYwqI,EAAW,CACrD,IAAK1iB,EAAO50D,UAAU1qtB,qBAAqB,MAAMpiC,OAC/C,OAEF,GAAIklR,EAAUwne,eAAoD,IAAnCxne,EAAU08hB,SAAS/wQ,YAAmB,CACnE,IAAM7of,EAAOk9N,EAAUyxd,UACjBjqT,EAAkB1kY,EAAK0kY,gBAC7B,GAAsB,OAAlB1kY,EAAK6yD,SAGP,OAFA8lW,EAAIh2b,OAAOq9B,QACX5pD,EAAEsqB,iBAGAgka,GAAmBA,EAAgB7xU,UAAuD,OAA3C6xU,EAAgB7xU,SAAS35F,gBAC1Ey/b,EAAIh2b,OAAO+ha,GACXtub,EAAEsqB,iBAEN,CACF,CACF,GA8RE2ozB,IA/PI6gF,EAA4B,WAChC,IAAM1iyB,EAAWmxV,EAAIq5V,WAAW90hB,EAAU6ud,WAAWttc,WAAU,IAC/D,OAAO,WACL,IAAMn8R,EAAS46Q,EAAU6ud,WACrBzpuB,IAAWo3yB,EAAO50D,YACpBnsS,EAAIs5V,UAAU3vyB,EAAQ,QAAS,MAC/B6yD,EAAKqyD,EAAU,SAAA79C,GACbrnE,EAAOmp5B,iBAAiB9h1B,EAAK80N,WAAU,GACzC,GAEJ,CACF,EACM0rnB,EAA4B,WAChC,OAAQjtoB,EAAUwne,eAAiB/rS,EAAIlqI,UAAUvxD,EAAU6ud,WAAYpzR,EAAIwmV,WAAaxmV,EAAIlqI,UAAUvxD,EAAUqjjB,SAAU5nX,EAAIwmV,QAChI,EACAua,EAAOlnuB,GAAG,WAAY,SAAAp8E,GACpB,IAAIyy4B,EACJ,UAAK53M,EAAmB76rB,IAAqB,IAAdA,EAAEw7rB,SAA+B,KAAdx7rB,EAAEw7rB,UAAmBu4N,MACrEthB,EAAkBqhB,IAClBxwG,EAAOzyD,SAAStC,YAAY,UAAU,GACtCkkJ,IACAzy4B,EAAEsqB,iBACK,GAIX,GACAi4b,EAAIx6Y,KAAKu7uB,EAAOzyD,SAAU,MAAO,SAAA7wvB,GAC/B,IAAK66rB,EAAmB76rB,IAAM+z5B,IAA6B,CACzD,IAAMthB,EAAkBqhB,IACxB1iF,GAAMC,iBAAiB/tB,EAAQ,WAC7BmvF,GACF,EACF,CACF,GA+NEmiB,IACAC,IACAC,IACAG,IACAN,IArCFrxG,EAAOlnuB,GAAG,OAAQ,SAAAnwE,GAChB,IAAIggD,EACE1kD,EAAqC,QAA7B0kD,EAAKhgD,EAAMmzB,oBAAsC,IAAZ6sB,OAAqB,EAAIA,EAAG1sB,QAAQ,aACnF62C,EAAS7uE,IAAS,eAAe1D,KAAK0D,IACxC+7yB,EAAO5iyB,SAAS,UAAW,IAAI3b,OAAOuw5B,UAAU,UAAWrp5B,GAE/D,KAwCK,CACL2n0B,yBACAhppB,SA3Ee,WACf,IAAKp/E,GAAW83sB,EAAOhjU,QACrB,OAAO,EAET,IAAMx4V,EAAMw7pB,EAAOx8hB,UAAU82iB,SAC7B,OAAQ91qB,IAAQA,EAAIyijB,YAAiC,IAAnBzijB,EAAIyijB,UACxC,EAuEF,EAEMgrN,GAAQl6G,GAASoD,IAYjB+2G,GAAc,SAAAlyG,GAAM,OAAIA,EAAO7hpB,OAAS6hpB,EAAO/moB,aAAa9/D,SAAS35F,mBAAgBha,CAAU,EAC/F2s5B,GAAkB,SAAA903B,GAAG,OAAI20vB,GAAS30vB,EAAK,SAAAsnB,GAAC,OAAuB,IAAnB2rI,EAAY3rI,EAAY,EAAE,EACtEyt2B,GAAmB,SAAApyG,GACvB,IAAM9wE,EAAY8wE,EAAOl6yB,QAAQxB,IAC3B4nvB,EAAY8zD,EAAO/zD,aAAaC,UACtC,OAAOimK,GAAgB,CACrBxuD,2BAA4Bz0H,EAAU,8BACtC8yH,qBAAsB9yH,EAAU,wBAChCulE,oBAAqBvlE,EAAU,uBAC/BqrH,2BAA4BrrH,EAAU,8BACtCslE,kBAAmBtlE,EAAU,qBAC7BorH,yBAA0BprH,EAAU,4BACpCyrH,sBAAuBzrH,EAAU,yBACjC2oH,uBAAwB3oH,EAAU,0BAClCsrH,kBAAmBtrH,EAAU,qBAC7B4oH,wBAAyB5oH,EAAU,2BACnCoc,kBAAmBpc,EAAU,qBAC7B+4H,wBAAyB/4H,EAAU,2BACnC0nI,eAAgB1nI,EAAU,kBAC1Bi5H,cAAej5H,EAAU,iBACzBk3H,UAAW8rD,GAAYlyG,GACvB86C,gBAAiB5rH,EAAU,mBAC3B5npB,SAAU4npB,EAAU,oBACpBjwb,UAAU,EACVy6iB,WAAYxtG,EACZnmuB,SAAUi6xB,EAAOzyD,UAErB,EACM8kK,GAAmB,SAAAryG,GACvB,IAAM9wE,EAAY8wE,EAAOl6yB,QAAQxB,IACjC,OAAO6t5B,GAAgB,CACrBjhH,gBAAiBhiE,EAAU,mBAC3BkiE,wBAAyBliE,EAAU,2BACnCoiE,iBAAkBpiE,EAAU,oBAC5B6/D,eAAgB7/D,EAAU,kBAC1BhstB,OAAQgstB,EAAU,UAClBiiE,eAAgBjiE,EAAU,kBAC1B+/D,cAAe//D,EAAU,iBACzBy/D,eAAgBz/D,EAAU,kBAC1B2/D,aAAc3/D,EAAU,gBACxBw/D,YAAax/D,EAAU,eACvB8hE,iCAAkC9hE,EAAU,uBAEhD,EA8GMojL,GAAa,SAAAtyG,GACjBA,EAAOuyG,4BACPvyG,EAAOrrjB,aAAc,EA54jBN,SAAAqrjB,GACfA,EAAO5iyB,SAAS,OAClB,CA24jBEo14B,CAASxyG,GACTA,EAAOr/wB,OAAM,GAd2B,SAAAq/wB,GACxC,IAAM/3tB,EAAO+3tB,EAAO/gW,IAAIy5V,UACnBsH,EAAO7hpB,QAAY48pB,GAAa/a,IAAWA,EAAOx8hB,UAAU6ud,UAAS,KAAUpqpB,GAClF6vuB,GAAgB7vuB,GAAMxsB,KAAK,SAAA7a,GACzB,IAAM0F,EAAO1F,EAAIq0rB,UACXy6F,EAAWpxC,GAAUh4uB,GAAQwxwB,GAAgBxxwB,GAAM2orB,MAAMrurB,GAAOA,EACtEo/vB,EAAOx8hB,UAAUkqe,OAAOgiF,EAASx8Z,UACnC,EAEJ,CAMEu/e,CAAkCzyG,GAClCA,EAAO6lB,YAAY,CACjBl0lB,SAAS,IAEX,IAAM+grB,EAAuBxjG,GAAwBlP,GACjD11vB,EAAWoo2B,IACbA,EAAqBpz5B,KAAK0gzB,EAAQA,GAtCpB,SAAAA,GAChB,IAAM9oH,EAAYk4H,GAAapP,GAC3B9oH,GACF42I,GAAMC,iBAAiB/tB,EAAQ,WAC7B,IAAI0wB,GAEFA,GADgB,IAAdx5I,EACY8oH,EAEAA,EAAOgvB,cAAc1q0B,IAAI4yrB,MAErBw5I,EAAYjiN,YAC9BiiN,EAAY/vyB,QACZ+vyB,EAAYltjB,UAAU1N,iBAE1B,EAAG,IAEP,CAwBEohb,CAAU8oH,EACZ,EACM2yG,GAAwB,SAAA3yG,GAAM,OAAIA,EAAO7hpB,OAAS6hpB,EAAO5/X,GAAG63X,iBAAmB+H,EAAO/gW,IAAIg5V,gBAAiB,EAoB3G26G,GAAiB,SAAA5yG,GACrB,IAAM/H,EAAmB06G,GAAsB3yG,GACzCpiG,EAAUkvG,GAAW9M,GACrB5ihB,EAAM4ihB,EAAO0+D,WACbm0C,EAAY,WAChB56G,EAAiBvP,UAAUtrgB,GACtB4ihB,EAAO7hpB,QACV6hpB,EAAO5/X,GAAG63X,iBAAiBvP,UAAU9qF,EAEzC,EACMj0oB,EAAS,WACTq2uB,EAAOhjU,QACT61a,IAEA7yG,EAAOlnuB,GAAG,SAAU+50B,EAExB,EACA,GAAI7yG,EAAOn8jB,cAAcvlP,OAAS,EAAG,CACnC,IAAIw05B,EAAiB,GACrB98H,GAAMv6tB,KAAKukvB,EAAOn8jB,cAAe,SAAA7jO,GAC/B8y4B,GAAkB9y4B,EAAQ,MAC5B,GACAggyB,EAAO/gW,IAAI4oV,SAASirH,EACtB,CACA,IAAMC,EAAiBps5B,QAAQ6E,IA3CK,SAACw0yB,EAAQ5ihB,EAAK41nB,GAClD,IAAAC,EAGIriI,GAAYxzf,EAAK,SAAAzgS,GAAI,OAAIoyuB,QAAQ+b,SAAS1mvB,IAAI452B,GAA0Brh3B,GAAM,GAF1Eu25B,EAAUD,EAAhBvq1B,KACMyq1B,EAASF,EAAf/q2B,KAEIkr2B,EAAkBF,EAAWjk5B,IAAI,SAAAylB,GACrC,IAAM0oQ,EAAM2xc,QAAQ+b,SAASxmvB,IAAI052B,GAA0Btp1B,IAC3D,OAAIo+C,EAASsqN,GACJz2R,QAAQC,QAAQ+r5B,GAAsB3yG,GAAQzX,WAAW7zwB,EAAK0oQ,IAEhEz2R,QAAQC,SACjB,GACMmI,EAAQ,GAAAzN,OAAAwuB,EAAOsj4B,GAAe,CAAET,GAAsB3yG,GAAQxX,QAAQ2qH,KAC5E,OAAInzG,EAAO7hpB,OACFpvJ,EAEAA,EAASzN,OAAO,CAAC0+yB,EAAO5/X,GAAG63X,iBAAiBzP,QAAQwqH,IAE/D,CAyBqCK,CAA8BrzG,EAAQ5ihB,EAAKwgb,IAAUh8sB,KAAK+nE,GAAQ9/D,MAAM8/D,GACrG2p1B,EAAezmG,GAAgB7M,GAIrC,OAHIszG,GAjOc,SAACtzG,EAAQvrxB,GAC3B,IAAMkkC,EAAOkguB,GAAavpD,QAAQ0wE,EAAO50D,WACnCrxpB,EAAY4/rB,GAAkB31pB,GAAYrrE,IAC1C34C,EAAQ64wB,GAAazpD,QAAQ,SACnCqoD,GAAMz3wB,EAAO,OAAQ,YACrBw7wB,GAASx7wB,EAAO64wB,GAAaxpD,SAAS56sB,IACtC+mwB,GAASzhsB,EAAW/5E,GACpBggyB,EAAOlnuB,GAAG,SAAU,WAClB6itB,GAAS37wB,EACX,EACF,CAwNIuz4B,CAAYvzG,EAAQszG,GAEfP,CACT,EA2CMS,GAA+B,SAAAxzG,IACZ,IAAnBA,EAAOhjU,WAZc,SAAAgjU,GACpBsxD,GAAMtxD,IACTA,EAAO7zoB,KAAK,CACVwlE,SAAS,EACTyjJ,OAAQ,SAGZ4qb,EAAOyzG,aAAezzG,EAAOjghB,WAAW,CACtCq1F,OAAQ,OAEZ,CAGIs+hB,CAAmB1zG,GACnBsyG,GAAWtyG,GAEf,EAcM2zG,GAAoB,SAAA3zG,GACxB,IAAM8lB,EAAY9lB,EAAO/moB,aACrBk0I,EAAM6yf,EAAOzyD,SACbyyD,EAAO7hpB,SACT8zvB,GAAM32G,SAASwqB,EAAW,oBAC1B9lB,EAAOphkB,gBAAkBuuE,EAAMpnS,SAC/Bi6xB,EAAOvmwB,cAAgBh4C,OACvBu+yB,EAAOy6D,YAAc30C,EACrB9lB,EAAOu6D,qBAAuBz0C,GAEhC,IAAMntwB,EAAOqnvB,EAAO50D,UACpBzyrB,EAAK52B,UAAW,EAChBi+wB,EAAOjpjB,SAAWw3jB,GAAavO,GAC/BA,EAAO4zG,cAAgBplG,GAAkBxO,IACpCA,EAAOjpjB,UAAYipjB,EAAO6zG,oBACzB7zG,EAAO7hpB,QAAqD,WAA3C8zvB,GAAMp5G,SAASlgvB,EAAM,YAAY,KACpDA,EAAK34C,MAAMC,SAAW,YAExB04C,EAAKs+nB,gBAAkB,QAEzBt+nB,EAAK52B,UAAW,EAChBi+wB,EAAO/zD,aAAei1H,GAAalhE,GACnCA,EAAO98xB,OAASuqxB,GAAO4kH,GAAiBryG,IACxCA,EAAO/gW,IAAM84V,GAAS5qf,EAAK,CACzBqvf,aAAa,EACb9I,cAAesM,EAAO0iE,WACtB9uE,oBAAqBoM,EACrBnF,eAAe,EACflC,aAAcqH,EAAO7hpB,OAAS6hpB,EAAO50D,UAAY,KACjD37R,QAASuwV,EAAO7hpB,OAChBj7I,OAAQ88xB,EAAO98xB,OACfklxB,eAAgBkkB,GAAwBtM,GACxC3X,eAAgBkkB,GAAkBvM,GAClCxH,YAAa,SAAA97yB,GACXsjzB,EAAO5iyB,SAAS,YAAa1gB,EAC/B,EACAg4yB,gBAAiBsc,GAAoBhR,KAEvCA,EAAOtvuB,OA/PY,SAAAsvuB,GACnB,IAAMtvuB,EAAS26qB,GAAU+mK,GAAiBpyG,GAASA,EAAO98xB,QA4D1D,OA3DAwtD,EAAO6wuB,mBAAmB,0BAA2B,SAACvosB,EAAOr8G,GAI3D,IAHA,IAAMsid,EAAM+gW,EAAO/gW,IACbvmM,EAAe,YAAc/7Q,EAC/BkC,EAAIm6G,EAAM16G,OACPO,KAAK,CACV,IAAMynD,EAAO0yD,EAAMn6G,GACfM,EAAQmnD,EAAK2pB,KAAKtzE,GACtB,GAAIwC,IAAUmnD,EAAK2pB,KAAKyoM,GAAe,CACrC,GAA+B,IAA3Bv5Q,EAAML,QAAQ,UAA6C,IAA3BK,EAAML,QAAQ,SAChD,SAEW,UAATnC,IACFwC,EAAQ8/c,EAAIi8V,eAAej8V,EAAIg8V,WAAW97yB,GAAQmnD,EAAK3pD,OAC5C2B,SACTa,EAAQ,MAEVmnD,EAAK2pB,KAAKyoM,EAAcv5Q,GACxBmnD,EAAK2pB,KAAKtzE,EAAMwC,IACE,aAATxC,GACT2pD,EAAK2pB,KAAKyoM,EAAcv5Q,GACxBmnD,EAAK2pB,KAAKtzE,EAAM,OAEhB2pD,EAAK2pB,KAAKyoM,EAAcsniB,EAAO0iE,WAAWvj3B,EAAOxC,EAAM2pD,EAAK3pD,MAEhE,CACF,CACF,GACA+zE,EAAOgnxB,cAAc,SAAU,SAAA1+uB,GAE7B,IADA,IAAIn6G,EAAIm6G,EAAM16G,OACPO,KAAK,CACV,IAAMynD,EAAO0yD,EAAMn6G,GACbgB,EAAOymD,EAAK2pB,KAAK,SAAW,UACL,IAAzBpwE,EAAKf,QAAQ,SACfwnD,EAAK2pB,KAAK,OAAQ,OAASpwE,EAE/B,CACF,GACI2wzB,GAAoBxQ,IACtBtvuB,EAAOgnxB,cAAc,SAAU,SAAA1+uB,GAG7B,IAFA,IAAIrwD,EACA9pD,EAAIm6G,EAAM16G,OACPO,KAAK,CACV,IAAMynD,EAAO0yD,EAAMn6G,GACnBynD,EAAKzmD,KAAO,EACZymD,EAAK3pD,KAAO,WACZ2pD,EAAKnnD,MAAQ,UAAY6gzB,EAAO/gW,IAAIh7Y,OAA6B,QAArBtb,EAAKrC,EAAKnnD,aAA+B,IAAZwpD,EAAgBA,EAAK,IAAM,IACtG,CACF,GAEF+nB,EAAOgnxB,cAAc,0BAA2B,SAAA1+uB,GAG9C,IAFA,IAAIn6G,EAAIm6G,EAAM16G,OACRy9yB,EAAmBiE,EAAO98xB,OAAO4uxB,sBAChCjzyB,KAAK,CACV,IAAMynD,EAAO0yD,EAAMn6G,GACfynD,EAAK5pB,QAAQq/wB,IAAkD,IAA7Bz1vB,EAAKytT,OAAO,MAAMz1W,QACtDgoD,EAAK0vG,OAAO,IAAI47qB,GAAQ,KAAM,GAElC,CACF,GACOlhwB,CACT,CAiMkBoj1B,CAAa9zG,GAC7BA,EAAOt5yB,WAAa4w2B,GAnRO,SAAAt3D,GAC3B,IAAM9wE,EAAY8wE,EAAOl6yB,QAAQxB,IACjC,OAAA+G,EAAA,GACK+m5B,GAAiBpyG,GACjBqyG,GAAiBryG,GACjBmyG,GAAgB,CACjBj4D,oBAAqBhrH,EAAU,uBAC/By1G,kBAAmBz1G,EAAU,qBAC7BwkE,cAAexkE,EAAU,iBACzB0kE,oBAAqB1kE,EAAU,uBAC/BolG,eAAgBplG,EAAU,kBAC1Bw7D,SAAUx7D,EAAU,YACpBklG,gBAAiBllG,EAAU,mBAC3Bx9Y,OAAQw9Y,EAAU,UAClBilG,aAAcjlG,EAAU,gBACxB+kG,cAAe/kG,EAAU,mBAG/B,CAiQoC6kL,CAAqB/zG,GAASA,GAChEA,EAAOx8hB,UAAYgxlB,GAAgBx0D,EAAO/gW,IAAK+gW,EAAOxtE,SAAUwtE,EAAOt5yB,WAAYs5yB,GACnFA,EAAOg0G,UAAYnyF,GAAU7hB,GAC7BA,EAAO9qT,UAAY6xX,GAAU/mE,GAC7BA,EAAOj1D,YAAc+8H,GAAY9nE,GACjCA,EAAOi0G,sBAAwB,IAAIpd,GAAW72F,GAC9CA,EAAO4oC,oBAAsBkgE,GAAmB9oG,GAChD86E,GAAQ96E,GACRmhG,GAAQnhG,GACRm8E,GAAQn8E,GACHsxD,GAAMtxD,KAxkEG,SAAAA,GACdA,EAAOlnuB,GAAG,YAAa,SAAAp8E,GACjBA,EAAEutE,QAAU,IACdvtE,EAAEsqB,iBACF663B,GAAoB7hG,GAExB,EACF,CAkkEIk0G,CAAQl0G,GAjvBI,SAAAA,GACd4vG,GAAQ5vG,EACV,CAgvBIm0G,CAAQn0G,IAEV,IAAMr6hB,EAAQ8wnB,GAAQz2F,GACtB26E,GAAQ36E,EAAQr6hB,GAz1LF,SAAAq6hB,GACdA,EAAOlnuB,GAAG,aAAc+xe,EAAMq9S,GAAeloD,GAC/C,CAw1LEo0G,CAAQp0G,GACR4oE,GAAQ5oE,GACR6gG,GAAQ7gG,GACR,IAAMq0G,EAAgB9iD,GAAQvxD,IAvHhB,SAAAA,GACd,IAAM7yf,EAAM6yf,EAAOzyD,SACjB50rB,EAAOqnvB,EAAO50D,WAp9jBE,SAAA40D,GAClBA,EAAO5iyB,SAAS,UAClB,CAm9jBEk34B,CAAYt0G,GACPqP,GAAwBrP,KAC3B7yf,EAAIx0P,KAAK471B,YAAa,EACtBtC,GAAM15G,UAAU5/uB,EAAM,aAAc,UAEtCqnvB,EAAOqwB,OAASkgF,GAAOvwG,GAv9jBF,SAAAA,GACrBA,EAAO5iyB,SAAS,aAClB,CAs9jBEo34B,CAAex0G,GACf,IAAMy0G,EAAiB1nG,GAAkB/M,QAClBx6yB,IAAnBiv5B,IACF971B,EAAKvJ,IAAMql2B,GAEb,IAAMC,EAAUplG,GAAWtP,GACvB00G,GACF10G,EAAOlnuB,GAAG,mBAAoB,SAAAp8E,GAC5Bs5xB,GAAMv6tB,KAAKi51B,EAAS,SAAA900B,GAClBljF,EAAEioB,QAAUjoB,EAAEioB,QAAQpF,QAAQqgE,EAAS,SAAAhgF,GACrC,MAAO,wBAAuBixH,OAAOjxH,GAAO,QAC9C,EACF,EACF,GAEFogzB,EAAOlnuB,GAAG,aAAc,WACtBknuB,EAAO8wD,UAAU9wD,EAAO50D,UAC1B,GACA40D,EAAOlnuB,GAAG,kCAAmC,SAAAp8E,GAC3CsjzB,EAAOwmB,UAAuB,qBAAX9p0B,EAAEmD,IACvB,EACF,CA0FE805B,CAAQ30G,GACRq0G,EAAc9jL,KAAK,WACjB,IAAMqkL,EA1EY,SAAA50G,GACpB,IAAI60G,GAAW,EACTC,EAAkB5p3B,WAAW,WAC5B2p3B,GACH70G,EAAO/yD,kBAAiB,EAE5B,EAAG,KACH,OAAO,WACLv8sB,aAAaok3B,GACbD,GAAW,EACX70G,EAAO/yD,kBAAiB,EAC1B,CACF,CA8D2B8nK,CAAc/0G,GACrC4yG,GAAe5yG,GAAQp+yB,KAAK,WAC1B4x5B,GAA6BxzG,GAC7B40G,GACF,EACF,EAAG,SAAAI,GACDh1G,EAAO/yD,kBAAiB,GACxB2lK,GAAe5yG,GAAQp+yB,KAAK,WAC1Boz5B,IAAWpz5B,KAAK,SAAAqz5B,GACdj1G,EAAO/yD,kBAAiB,GACxBumK,GAA6BxzG,GAC7BkvD,GAAWlvD,EACb,EAAG,SAAAh7yB,GACDg7yB,EAAOhzD,oBAAoBzkvB,KAAK,CAC9B1I,KAAM,QACN40B,KAAMlzB,OAAOyD,KAEfwu5B,GAA6BxzG,GAC7BkvD,GAAWlvD,EACb,EACF,EACF,EACF,EAEMnpxB,GAAS4iV,EAGTy7iB,GAAQn9G,GAASoD,IA6BjBg6G,GAAe,SAACn1G,EAAQo1G,GAC5B,IAAMC,EAAcr1G,EAAO39mB,UAAU,kBAC/Bt2K,EAAW6rwB,GAAOiB,GAAavpD,QAAQ0wE,EAAO/moB,cAAe,YAAYx0G,KAAKyllB,IAC9EorQ,EA/BoB,SAACzz4B,EAAIm6E,EAAOu5zB,EAAaxp4B,GACnD,IAAMutB,EAASu/uB,GAAazpD,QAAQ,UAUpC,OATArjtB,EAAS0vC,KAAK,SAAAlgD,GAAC,OAAIk8wB,GAAMn+uB,EAAQ,WAAY/9B,EAAE,GAC/Cm8wB,GAASp+uB,EAAQi82B,GACjB79H,GAASp+uB,EAAQ,CACfz3B,GAAIA,EAAK,OACT2z4B,YAAa,IACbC,kBAAmB,OACnBz5zB,UAEFu8rB,GAAMj/uB,EAAQ,yBACPA,CACT,CAmBco82B,CAAoB11G,EAAOn+xB,GAAIwz4B,EAAatqG,GAAe/K,GAASj0xB,GAAUkzb,IAC1Fq2c,EAAI315B,OAAS,WACX215B,EAAI315B,OAAS,KACbqgzB,EAAO5iyB,SAAS,OAClB,EACA4iyB,EAAOu6D,qBAAuB66C,EAAQO,gBACtC31G,EAAO+vB,cAAgBulF,EACvBt1G,EAAO41G,WAzBa,SAAA51G,GACpB,IAAI41G,EAAa5qG,GAAWhL,GAAU,eAClCiL,GAAmBjL,KAAYA,EAAO61G,kBACxCD,GAAc,eAAiB51G,EAAOu+D,gBAAgB7b,SAAW,QAEnEkzD,GAAc,wEACd,IAAME,EAAS5qG,GAAUlL,GACnB+1G,EAAY5qG,GAAanL,GACzBg2G,EAAqBh2G,EAAO39mB,UAAU2snB,GAAkBhP,IAK9D,OAJIoL,GAAyBpL,KAC3B41G,GAAc,uDAAyDxqG,GAAyBpL,GAAU,QAE5G41G,EAAc,UAAY,aAAct05B,OAAOw05B,EAAQ,8BAAgCx05B,OAAOy05B,EAAW,eAAiBz05B,OAAO0+yB,EAAOn+xB,GAAI,kBAAoBvgB,OAAO005B,EAAoB,MAA7K,oBAEhB,CAWsBC,CAAcj2G,GAClCk1G,GAAM5n5B,IAAI8n5B,EAAQO,gBAAiBL,EACrC,EACMY,GAAkB,SAAAl2G,GACtB,IAAM1mwB,EAAS0mwB,EAAO+vB,cAChB1o0B,EAAQ,WACZ24yB,EAAOphkB,gBAAkBtlM,EAAOslM,gBAChC+0qB,GAAkB3zG,EACpB,EACA,GAAI2Q,GAAuB3Q,IAAWtqB,GAAIpvrB,QAAQwpoB,YAAa,CAC7D,IAAM3ib,EAAM6yf,EAAOzyD,SACnBpgc,EAAI5kT,OACJ4kT,EAAIliR,MAAM+0wB,EAAO41G,YACjBzomB,EAAI9hS,QACJhkB,GACF,KAAO,CACL,IAAM4oxB,EAzDG,SAACv5qB,EAAS/tG,EAAOs/C,GAAO,OAAKm0uB,GAAO1lrB,EAAS/tG,EAAOkuB,GAAQoxB,EAAS,CAyD/Dwc,CAAKo0tB,GAAavpD,QAAQh2rB,GAAS,OAAQ,WACxD22uB,EAAO9+C,SACP9puB,GACF,GACAiyC,EAAO682B,OAASn2G,EAAO41G,UACzB,CACF,EACMQ,GAAS,SAACp2G,EAAQo1G,GACtBD,GAAan1G,EAAQo1G,GACjBA,EAAQ56C,kBACV46C,EAAQ56C,gBAAgBx61B,MAAMmhB,QAAU6+wB,EAAO+5D,WAC/C/5D,EAAO/wb,OAASimiB,GAAM5tuB,SAAS8tuB,EAAQ56C,kBAEzCx6D,EAAO/moB,aAAaj5J,MAAMmhB,QAAU,OACpC+z3B,GAAM38G,UAAUyH,EAAOn+xB,GAAI,cAAe,QAC1Cm+xB,EAAO/moB,aAAaj5J,MAAMk+N,WAAa8hkB,EAAOq2G,cAC9CH,GAAgBl2G,EAClB,EAEMs2G,GAAQv+G,GAASoD,IACjBo7G,GAAa,SAACv2G,EAAQw2G,EAAoBpsY,GAC9C,IAAMqsY,EAAShrK,GAAcnnvB,IAAI8lhB,GAC3BssY,EAAYjrK,GAAc3sQ,KAAKsrC,IAAW41R,EAAO61G,gBAAgBt24B,QAAQ,MAAO,IAEtF,GADA6qgB,EAAS4rQ,GAAMl/tB,KAAKszd,GAChBqsY,IAAyD,IAA/CzgI,GAAMnzb,QAAQ2zjB,EAAoBpsY,GAAgB,CAC9D,GAAI41R,EAAO/3uB,QAAQmid,GACjB,OAEF,IACE,IAAMusY,EAAiBF,EAAOz2G,EAAQ02G,IAAc,CAAC,EACrD12G,EAAO/3uB,QAAQmid,GAAUusY,EACrBrs2B,EAAWqs2B,EAAe190B,QAC5B090B,EAAe190B,KAAK+muB,EAAQ02G,GAC5BF,EAAmB5y5B,KAAKwmhB,GAE5B,CAAE,MAAO1thB,IAx4RW,SAACsjzB,EAAQrjzB,EAAMqI,GACrC,IAAMyE,EAAUg0yB,GAAKp7mB,UAAU,CAAC,mCAAoC1lM,IACpEyl0B,GAAUpiB,EAAQ,kBAAmB,CACnCv2yB,YAEFo02B,GAAUp02B,EAASzE,GACnB042B,GAAa19D,EAAQv2yB,EACvB,CAk4RMmt5B,CAAgB52G,EAAQ51R,EAAQ1thB,EAClC,CACF,CACF,EAIMm65B,GAAc,SAAA72G,GAClB,IAAMw2G,EAAqB,GAC3B9lI,GAAOg+B,GAAW1O,GAAS,SAAArjzB,GACzB455B,GAAWv2G,EAAQw2G,EANE,SAAA755B,GACvB,OAAOA,EAAK4iB,QAAQ,MAAO,GAC7B,CAI2Cu34B,CAAiBn65B,GAC1D,EACF,EACMo65B,GAAY,SAAA/2G,GAChB,IAAMg3G,EAAehhI,GAAMl/tB,KAAKk1vB,GAAgBhM,IAC1Ci3G,EAAej3G,EAAO5/X,GAAG5zZ,SAASunV,SAAS70F,MAC3Cg4oB,EAAS7r5B,EAAA,GACVsv2B,GAAYr22B,IAAI,WAAW46Q,MAC3By7lB,GAAYr22B,IAAI0y5B,GAAc93oB,OAEnCsygB,GAAO0lI,EAAW,SAACC,EAAShz4B,GACrB+twB,GAAM+kI,EAAc9y4B,IACvB67xB,EAAO5/X,GAAG5zZ,SAAS4q4B,QAAQjz4B,EAAMgz4B,EAErC,EACF,EACME,GAAY,SAAAr3G,GAChB,IAAM3urB,EAAQi8rB,GAAStN,GACvB,GAAIltuB,EAASu+C,GAAQ,CACnB,IAAMimyB,EAAQr4G,GAAa36yB,IAAI+sH,GAC/B2urB,EAAO3urB,MAAQimyB,EAAMt3G,EAAQf,GAAangU,KAAKztX,KAAW,CAAC,EACvD/mE,EAAW01vB,EAAO3urB,MAAMp4C,OAC1B+muB,EAAO3urB,MAAMp4C,KAAK+muB,EAAQf,GAAangU,KAAKztX,IAAU2urB,EAAO61G,gBAAgBt24B,QAAQ,MAAO,IAEhG,MACEygyB,EAAO3urB,MAAQ,CAAC,CAEpB,EACMkmyB,GAAY,SAAAv3G,GAChB,IAAMv4sB,EAAQ+ltB,GAASxN,GACjBw3G,EAAQt4G,GAAa56yB,IAAImjG,GAC/Bu4sB,EAAOv4sB,MAAQ+vzB,EAAMx3G,EAAQd,GAAapgU,KAAKr3Y,GACjD,EAkBMgwzB,GAAyB,SAAC/gzB,EAASp9D,GACvC,MAAO,CACLkh0B,gBAAiB9jwB,EACjBi/yB,gBAAiBr82B,EACjBw4F,IAAK,CAAC,EAEV,EAMM4lxB,GAAmB,SAAA13G,GACvB,IAAM92pB,EAAgB82pB,EAAO/moB,aAC7B,OAAO+moB,EAAO7hpB,OAASs5vB,GAAuB,MAPjB,SAAAvuwB,GAC7B,IAAMyswB,EAAkBW,GAAM3+2B,OAAO,OAErC,OADA2+2B,GAAM36G,YAAYg6G,EAAiBzswB,GAC5BuuwB,GAAuB9B,EAAiBA,EACjD,CAGwDgC,CAAuBzuwB,EAC/E,EACM0uwB,GAAgB,SAAA53G,GACpB,IAAM1wxB,EAAM0wxB,EAAO/moB,aAEnB,OADA+moB,EAAO+5D,WAAazq1B,EAAItP,MAAMmhB,QAC1B2xC,EAASw6uB,GAAStN,IApCM,SAAAA,GAC5B,IAAM9ja,EAAS8ja,EAAO3urB,MAAMwmyB,SAC5B,OAAO37gB,EAASA,IAAWw7gB,GAAiB13G,EAC9C,CAkCW83G,CAAsB93G,GACpB11vB,EAAWgjwB,GAAStN,IAlCL,SAAAA,GAC1B,IAAM1wxB,EAAM0wxB,EAAO/moB,aAEb5+J,EADQizyB,GAAStN,EACV3urB,CAAM2urB,EAAQ1wxB,GAQ3B,OAPIjV,EAAKmg2B,gBAAgB1vxB,WACvBzwE,EAAKmg2B,gBAAgB341B,GAAKxH,EAAKmg2B,gBAAgB341B,IAAMm+xB,EAAOn+xB,GAAK,WAE/DxH,EAAKs74B,iBAAmBt74B,EAAKs74B,gBAAgB7q0B,WAC/CzwE,EAAKs74B,gBAAgB9z4B,GAAKxH,EAAKs74B,gBAAgB9z4B,IAAMm+xB,EAAOn+xB,GAAK,oBAEnExH,EAAKsE,OAAStE,EAAK094B,aAAe194B,EAAK094B,aAAezo4B,EAAIsmN,aACnDv7N,CACT,CAuBW294B,CAAoBh4G,GAEpB03G,GAAiB13G,EAE5B,EACMi4G,GAAqB,SAACj4G,EAAQluqB,GAClC,IAAMomxB,EAAc,CAClB5qnB,KAAMuif,EAASxquB,KAAKysF,EAAIw7J,MAAM2hc,MAAM1knB,GACpCgjL,KAAMsif,EAASxquB,KAAKysF,EAAIy7J,MAAM0hc,MAAM1knB,GACpCinL,UAAWq+e,EAASxquB,KAAKysF,EAAI0/J,WAAWy9b,MAAMx1X,GAC9C0+iB,WAAY,SAAAl64B,GACL+hyB,EAAO/2yB,KAAK2w3B,cACf/pG,EAASxquB,KAAKysF,EAAIqmxB,YAAY181B,KAAK,SAAAx2D,GAAC,OAAIA,EAAEgZ,EAAM,EAEpD,GAEF+hyB,EAAO5/X,GAAE/0a,EAAA,GACJ20yB,EAAO5/X,GACP83e,EAEP,EACMj/0B,GAAI,eAAAu/H,EAAA5sM,EAAAC,EAAA+lI,KAAG,SAAA9lI,EAAMk0yB,GAAM,IAAAo4G,EAAA,OAAAvs5B,EAAAiwC,KAAA,SAAA9vC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAKH,OAJpB8zyB,EAAO5iyB,SAAS,iBAChB254B,GAAU/2G,GACVq3G,GAAUr3G,GACVu3G,GAAUv3G,GACV62G,GAAY72G,GAAQh0yB,EAAAE,KAAA,EACK0r5B,GAAc53G,GAAQ,KAAD,EAAxCo4G,EAAUps5B,EAAAI,KAChB6r5B,GAAmBj4G,EAAQnwB,EAASxquB,KAAK+y2B,EAAWtmxB,KAAKm9lB,MAAM,CAAC,IAChE+wE,EAAOw6D,gBAAkB49C,EAAW59C,gBACpCiE,GAA6Bz+D,GACzBA,EAAO7hpB,OACTw1vB,GAAkB3zG,GAElBo2G,GAAOp2G,EAAQ,CACbw6D,gBAAiB49C,EAAW59C,gBAC5Bm7C,gBAAiByC,EAAWzC,kBAE/B,wBAAA3p5B,EAAAM,OAAA,EAAAR,EAAA,IACF,gBAlBS4F,GAAA,OAAA8mM,EAAA1wM,MAAA,KAAAhG,UAAA,KAoBJu25B,GAAQtgH,GAASoD,IACjBm9G,GAAoB,SAAA375B,GAAI,MAAuB,MAAnBA,EAAK67C,OAAO,EAAW,EACnD+/2B,GAAe,SAAC9urB,EAAcu2kB,GAClC,IAAM5wrB,EAAeo9rB,GAAgBxM,GAC/Bw4G,EAAc/rG,GAAezM,GACnC,IAAKvC,GAAKa,QAAQlvrB,IAAkC,OAAjBA,EAAuB,CACxD,IAAM16F,EAAMq+c,GAAWylb,GAAeA,EAAc,GAAGl35B,OAAO0+yB,EAAOgvB,cAAczwG,QAAS,WAAWj9tB,OAAO8tH,EAAc,OAC5Hq6G,EAAan8N,IAAIonB,GAAK7qB,MAAM,YAphSN,SAACm2yB,EAAQtrxB,EAAK/3B,GACtCyxE,GAAS4xuB,EAAQ,oBAAqB49D,GAAgB,WAAYlp1B,EAAK/3B,GACzE,CAmhSM875B,CAAkBz4G,EAAQtrxB,EAAK06F,EACjC,EACF,CACF,EACM+9G,GAAY,SAAC6ykB,EAAQr/qB,GACzB,IAAMtP,EAAQi8rB,GAAStN,GACvB,GAAIltuB,EAASu+C,KAAWinyB,GAAkBjnyB,KAAW6gqB,GAAM+sB,GAAangU,KAAMztX,GAAQ,CACpF,IAAMqnyB,EAAWnrG,GAAYvN,GACvBtrxB,EAAMgk4B,EAAW14G,EAAOu+D,gBAAgBC,WAAWk6C,GAAY,UAAUp35B,OAAO+vH,EAAO,UAAU/vH,OAAOq/H,EAAQ,OACtHs+qB,GAAa9yoB,KAAK96C,EAAO38F,GAAK7qB,MAAM,YA3hSjB,SAACm2yB,EAAQtrxB,EAAK/3B,GACnCyxE,GAAS4xuB,EAAQ,iBAAkB49D,GAAgB,QAASlp1B,EAAK/3B,GACnE,CA0hSMg85B,CAAe34G,EAAQtrxB,EAAK28F,EAC9B,EACF,CACF,EACMunyB,GAAY,SAAC54G,EAAQr/qB,GACzB,IAAMl5B,EAAQ+ltB,GAASxN,GACvB,GAAc,WAAVv4sB,IAAuByqrB,GAAMgtB,GAAapgU,KAAMr3Y,GAAQ,CAC1D,IAAMoxzB,EAAWprG,GAAYzN,GACvBtrxB,EAAMo+C,EAAS+l1B,GAAY74G,EAAOu+D,gBAAgBC,WAAWq6C,GAAY,UAAUv35B,OAAOmmG,EAAO,UAAUnmG,OAAOq/H,EAAQ,OAChIu+qB,GAAa/yoB,KAAK1kE,EAAO/yE,GAAK7qB,MAAM,YAliSjB,SAACm2yB,EAAQtrxB,EAAK/3B,GACnCyxE,GAAS4xuB,EAAQ,iBAAkB49D,GAAgB,QAASlp1B,EAAK/3B,GACnE,CAiiSMm85B,CAAe94G,EAAQtrxB,EAAK+yE,EAC9B,EACF,CACF,EAKMsxzB,GAA0B,SAAC/4G,EAAQrjzB,EAAMgkI,GAAM,OAAKkvpB,EAASxquB,KAAK1oD,GAAMk6B,OAAO,SAAAl6B,GAAI,OAAIo2e,GAAWp2e,KAAUg+2B,GAAYv22B,IAAIzH,EAAK,GAAEsS,IAAI,SAAAtS,GAAI,MAAK,CACpJ+3B,IAAK,GAAGpzB,OAAO0+yB,EAAOgvB,cAAczwG,QAAS,WAAWj9tB,OAAO3E,EAAM,UAAU2E,OAAOq/H,EAAQ,OAC9FhkI,KAAMkzxB,EAASpyvB,KAAK9gC,GACrB,EAAG,EACEu65B,GAAY,SAACztrB,EAAcu2kB,EAAQr/qB,GACvC,IAAMq4xB,EAAkBD,GAAwB/4G,EAAQ,UAAWr/qB,GAC7Ds4xB,EAVuB,SAAAj5G,GAAM,OAAInwB,EAASxquB,KAAK4mwB,GAAYjM,IAASnpxB,OAAOk8c,IAAY9je,IAAI,SAAAylB,GAAG,MAAK,CACzGA,MACA/3B,KAAMkzxB,EAAS/gX,OAChB,EAAG,CAOqBoqf,CAAuBl5G,GAAQ1vE,QAAQ,kBAAMyoL,GAAwB/4G,EAAQgM,GAAgBhM,GAAS,GAAG,GAChItvB,GA900BU,SAAA7muB,GAKV,IAJA,IAAMH,EAAI,GACJ9lD,EAAO,SAAAgR,GACX80C,EAAE9lD,KAAKgR,EACT,EACS/V,EAAI,EAAGA,EAAIgrD,EAAIvrD,OAAQO,IAC9BgrD,EAAIhrD,GAAG48D,KAAK73D,GAEd,OAAO8lD,CACT,CAq00BSyv2B,CAAI,CAACH,EAAiBC,IAAkB,SAAAG,GAC7C3vrB,EAAan8N,IAAI8r5B,EAAQ1k4B,KAAK7qB,MAAM,YA5jSjB,SAACm2yB,EAAQtrxB,EAAK/3B,GACnCyxE,GAAS4xuB,EAAQ,iBAAkB49D,GAAgB,QAASlp1B,EAAK/3B,GACnE,CA2jSM085B,CAAer5G,EAAQo5G,EAAQ1k4B,IAAK0k4B,EAAQz85B,KAAKs6uB,iBACnD,EACF,EACF,EACMqiL,GAAc,SAACt5G,EAAQr/qB,GAC3B,IAAM44xB,EAAa,SAAC585B,EAAM+3B,GACxB+2tB,GAAct/kB,KAAKxvK,EAAM+3B,GAAK7qB,MAAM,YAtkShB,SAACm2yB,EAAQtrxB,EAAK/3B,GACpCyxE,GAAS4xuB,EAAQ,kBAAmB49D,GAAgB,SAAUlp1B,EAAK/3B,GACrE,CAqkSM685B,CAAgBx5G,EAAQtrxB,EAAK/3B,EAC/B,EACF,EACA60xB,GAAOm9B,GAAqB3O,GAAS,SAACtrxB,EAAK/3B,GACzC485B,EAAW585B,EAAM+3B,GACjBsrxB,EAAOl6yB,QAAQzB,IAAI,UAAWqqzB,GAAW1O,GAAQ1+yB,OAAO3E,GAC1D,GACA+zxB,GAAOg+B,GAAW1O,GAAS,SAAA51R,KACzBA,EAAS4rQ,GAAMl/tB,KAAKszd,KACLqhO,GAAc3sQ,KAAKsrC,IAAYkuY,GAAkBluY,IAC9DmvY,EAAWnvY,EAAQ,WAAW9ohB,OAAO8ohB,EAAQ,WAAW9ohB,OAAOq/H,EAAQ,OAE3E,EACF,EASMq8qB,GAAc,SAACgD,EAAQr/qB,GAC3B,IAAM8oG,EAAeozkB,GAAaA,aAC5By1G,EAAa,YACZtyG,EAAOhjU,SAXM,SAAAgjU,GACpB,IAAM3urB,EAAQi8rB,GAAStN,GACvB,OAAQltuB,EAASu+C,IAAU49pB,EAAcgwB,GAAa36yB,IAAI+sH,GAC5D,CAQ2BooyB,CAAcz5G,IAPnB,SAAAA,GACpB,IAAMv4sB,EAAQ+ltB,GAASxN,GACvB,OAAO/wB,EAAciwB,GAAa56yB,IAAImjG,GACxC,CAIoDiyzB,CAAc15G,IAC5D/muB,GAAK+muB,EAET,EACA7ykB,GAAU6ykB,EAAQr/qB,GAClBi4xB,GAAU54G,EAAQr/qB,GAClB43xB,GAAa9urB,EAAcu2kB,GAC3Bk3G,GAAUztrB,EAAcu2kB,EAAQr/qB,GAChC24xB,GAAYt5G,EAAQr/qB,GACpB8oG,EAAakwrB,YAAY/35B,KAAK0w5B,EAAYA,EAC5C,EAKMp2gB,GAAS,SAAA8ja,GACb,IAAMn+xB,EAAKm+xB,EAAOn+xB,GAClB47xB,GAAKC,QAAQ8O,GAAgBxM,IAC7B,IAAMxJ,EAAe,WACnB6hH,GAAMlnL,OAAO1vuB,OAAQ,QAAS+0yB,GAC9BwJ,EAAO9ja,QACT,EACA,GAAKu6Z,GAAWttuB,MAAMotuB,WAItB,GAAKyJ,EAAO/moB,aAAZ,CAGA,IAAMviE,EAAUmirB,GAAavpD,QAAQ0wE,EAAO/moB,cACtC2gvB,EAAW7hI,GAAQrhrB,GACzBspsB,EAAOlnuB,GAAG,SAAU,WAClB63sB,GAAMj6qB,EAAQuoW,IAAIzsU,WAAY,SAAAviE,GAAI,OAAI6ntB,GAASphrB,EAASzmC,EAAKtzE,KAAK,GAClE+6xB,GAAShhrB,EAASkjzB,EACpB,GACA55G,EAAO5/X,GAAG63X,iBAxBgB,SAACvhsB,EAASspsB,GAAM,OAAK1zoB,GAASu8nB,WAAWnyrB,EAAS,CAC5E0xrB,eAAgBqmB,GAAkBzO,GAClC3X,eAAgBkkB,GAAkBvM,IACjC,CAqB4B65G,CAAoBnjzB,EAASspsB,GACrDgO,GAAWhO,GAIdA,EAAO7hpB,QAAS,GAHhB6hpB,EAAOq2G,cAAgBr2G,EAAO/moB,aAAaj5J,MAAMk+N,WACjD8hkB,EAAO/moB,aAAaj5J,MAAMk+N,WAAa,UAIzC,IAAMwiN,EAAOs/W,EAAO/moB,aAAaynR,MAAQ23d,GAAMtjlB,UAAUlzT,EAAI,QACzD6+a,IACFs/W,EAAO6+C,YAAcn+Z,EACjButX,GAAejO,KAAYxhB,GAAkBwhB,EAAO/moB,gBACtDo/uB,GAAM18G,YAAY08G,GAAM1g3B,OAAO,QAAS,CACtC93C,KAAM,SACNlD,KAAMklB,IACJA,GACJm+xB,EAAOiO,gBAAiB,GAE1BjO,EAAOq6D,kBAAoB,SAAA392B,GACzBsjzB,EAAO5iyB,SAAS1gB,EAAEmD,KAAMnD,EAC1B,EACA275B,GAAM5z1B,KAAKi8X,EAAM,eAAgBs/W,EAAOq6D,mBACxCr6D,EAAOlnuB,GAAG,QAAS,WACjBknuB,EAAO85G,cACT,IACI5rG,GAAkBlO,IAAYt/W,EAAK8K,OAAO1gX,UAAa41W,EAAK8K,OAAOltc,QAAWoic,EAAK05a,gBACrF15a,EAAK05a,cAAgB15a,EAAK8K,OAC1B9K,EAAK8K,OAAS,WAGZ,OAFAw0W,EAAOgvB,cAAc+qF,cACrB/5G,EAAOyvD,UAAS,GACT/ua,EAAK05a,cAAc15a,EAC5B,IAGJs/W,EAAOjzD,cAAgB0vH,GAAcz8D,GACrCA,EAAOhzD,oBAAsB2uH,GAAoB37D,GAnsoB7B,SAAAA,GAAM,MAAuC,QAAnCA,EAAOl6yB,QAAQxB,IAAI,WAAsB,CAosoBnE015B,CAAch6G,IAChBA,EAAOlnuB,GAAG,aAAc,SAAAp8E,GAClBA,EAAEu1nB,OACJv1nB,EAAEioB,QAAU0z4B,GAAMp01B,OAAOvnE,EAAEioB,SAE/B,GAEEwpyB,GAA2BnO,IAC7BA,EAAOlnuB,GAAG,SAAU,WACdknuB,EAAOrrjB,aACTqrjB,EAAO/tL,MAEX,GAEEm8L,GAAuBpO,KACzBA,EAAOm6D,cAAgB,YACjBn6D,EAAOrrjB,aAAgBqrjB,EAAOvxL,WAAcuxL,EAAO14nB,YACrD04nB,EAAO/tL,KAAK,CACV78P,OAAQ,MACRi0d,WAAW,EACX4wE,WAAW,GAGjB,EACAj6G,EAAOgvB,cAAcl2vB,GAAG,eAAgBknuB,EAAOm6D,gBAEjDn6D,EAAOgvB,cAAc1h0B,IAAI0yyB,GACzBhD,GAAYgD,EAAQA,EAAOr/qB,OArE3B,OALE03xB,GAAM5z1B,KAAKhjE,OAAQ,QAAS+0yB,EA2EhC,EAkBM0jH,GAAkB7kI,KAAWtkD,WAC7BJ,GAAUupL,GAAgBvpL,UAC1BD,GAAWwpL,GAAgBxpL,WAC3BypL,GAAmB,SAAAly1B,GACvB,GAAI+mtB,EAAW/mtB,GACb,MAAO,GAEP,IAAMswyB,EAActqwB,EAAUhmC,GAAWA,EAAUA,EAAQx6B,MAAM,QAC3D2s3B,EAAiB3pI,GAAM8nF,EAAahlF,IAC1C,OAAO1C,GAASupI,EAAgBrnb,GAEpC,EACMsnb,GAAkB,SAAC525B,EAAMqC,GAC7B,IAjBqBqiqB,EAAUz1F,EAiBzB3ykB,EAlk2BS,SAACs9B,EAAKu4sB,GACrB,IAAMr6tB,EAAI,CAAC,EACLtW,EAAI,CAAC,EAEX,OADA4sxB,GAAex0vB,EAAKu4sB,EAAMg8C,GAAOr2wB,GAAIq2wB,GAAO3sxB,IACrC,CACLsW,IACAtW,IAEJ,CA0j2BiBq15B,CAASx05B,EAAS,SAAC3G,EAAOiC,GACvC,OAAOovxB,GAAW/sxB,EAAMrC,EAC1B,GACA,OApBqB+mqB,EAoBApoqB,EAAOwb,EApBGm3jB,EAoBA3ykB,EAAOkF,EApBO,CAC7CkjqB,SAAU1+G,EAAS0+G,GACnBriqB,QAAS2jjB,EAASipB,GAmBpB,EAMM6nV,GAAa,SAACC,EAAe795B,GACjC,OAAOu1xB,GAAMsoI,EAAcryP,WAAYxrqB,EACzC,EAIM895B,GAA2B,SAACC,EAAe/pL,GAC/C,IAAMgqL,EAAuB,CAC3BC,YAAY,EACZC,iBAAiB,EACjB5g4B,QAAQ,EACR6g4B,aAAc7oI,GAAMyoI,EAAe,gBAAgBzrL,MAAM,aACzD8rL,gBAAgB,GAKlB,OAAA1v5B,EAAA,GACKsv5B,EACChqL,EALsB,CAC1BvvS,SAAS,GAI2B,CAAC,EAEzC,EACM45d,GAAqB,SAACC,EAAiBn15B,GAC3C,IAAI6iD,EACEuy2B,EAAiE,QAAnCvy2B,EAAK7iD,EAAQq15B,wBAA0C,IAAZxy2B,EAAgBA,EAAK,CAAC,EACrG,OAAIsy2B,GAAmBA,EAAgBE,iBAC9BnlI,GAAM59wB,OAAO,CAAC,EAAG6i5B,EAAgBE,iBAAkBD,GAEnDA,CAEX,EASME,GAAiB,SAACC,EAAgBb,EAAec,EAAwBx15B,GAC7E,IAAMy15B,EAAgBpB,GAAiBmB,EAAuBE,gBACxDC,EAAiBtB,GAAiBr05B,EAAQmiE,SAC1Cyz1B,EAvCiB,SAAClB,EAAe795B,GACvC,OAAO495B,GAAWC,EAAe795B,GAAQ695B,EAAcryP,WAAWxrqB,GAAQ,CAAC,CAC7E,CAqCuBg/5B,CAAiBnB,EAAe,UAE/CoB,EAZmB,SAACP,EAAgBb,EAAeiB,EAAgBI,GACzE,OAAIR,GAAkBd,GAAWC,EAAe,UACvCqB,EAEAJ,CAEX,CAM0BK,CAAmBT,EAAgBb,EAAeiB,EADpDC,EAAazz1B,QAAUky1B,GAAiBuB,EAAazz1B,SAAWwz1B,GAEhFM,EAde,SAACR,EAAetz1B,GAAO,SAAA3mE,OAAAwuB,EAASqq4B,GAAiBoB,IAAczr4B,EAAKqq4B,GAAiBly1B,IAAQ,CAc1F+z1B,CAAeT,EAAeK,GACtD,OAAO5lI,GAAM59wB,OAAOtS,EAAS,CAC3B015B,eAAgBD,EAChBtz1B,QAAS8z1B,GAEb,EAIME,GAAiB,SAACZ,EAAgB1qL,EAASr4pB,EAAgBgj1B,EAAwBx15B,GACvF,IAAI6iD,EACEuz2B,EAAwBb,EAAiB,CAC7C73zB,OAAQi3zB,GAAmD,QAAzB9x2B,EAAK7iD,EAAQ09F,cAAgC,IAAZ76C,EAAgBA,EAAK,CAAC,EAAGgorB,IAC1F,CAAC,EACC6pL,EAAgBH,GAAgB,CAAC,UAAWr0f,GAAUk2f,EAAuBp25B,IAC7Eq25B,EAAkBnmI,GAAM59wB,OAAOkgE,EAAgBgj1B,EAAwBd,EAAc105B,UAT1E,SAACu15B,EAAgBb,GAClC,OAAOa,GAAkBd,GAAWC,EAAe,SACrD,CAOwG4B,CAAWf,EAAgBb,GAjEhH,SAACA,EAAe795B,GAAyB,IAAnBy+F,EAAQt5F,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC7CqmqB,EAAWqyP,EAAcryP,WACzBk0P,EAAiBpqI,GAAM9pH,EAAUxrqB,GAAMsyuB,MAAM,CAAC,GACpD,OAAO+mD,GAAM59wB,OAAO,CAAC,EAAGgjF,EAAUih0B,EACpC,CA6DoJC,CAAW9B,EAAe,UAAY,CAAC,EAAG,CAC1LW,iBAAkBH,GAAmBM,EAAwBd,EAAc105B,aAE7E,OAAOs15B,GAAeC,EAAgBb,EAAec,EAAwBa,EAC/E,EAGMrrD,GAAY,SAAC9wD,EAAQ1wxB,GAAG,OAh9UV,SAAC0wxB,EAAQ1wxB,GAAG,OAAKqj1B,GAAwB3yD,GAAQA,OAAO8wD,UAAUxh1B,EAAK,CAg9UxDit4B,CAAYv8G,EAAQ1wxB,EAAK,EAEtDkt4B,GAAyB,SAAAx8G,GAC7B,IAIMy8G,EAAc,SAAAj3oB,GAAK,OAAI,WAC3BkrgB,GAAO,4BAA4BjjvB,MAAM,KAAM,SAAA9wC,GACzC6oR,IAAU7oR,GACZqjzB,EAAO9qT,UAAUjse,OAAO,QAAUtsB,EAEtC,GACc,SAAV6oR,GAVe,SAAC7oR,EAAMwC,GAC1B6gzB,EAAO9qT,UAAU7uc,OAAO1pD,EAAMwC,GAC9B6gzB,EAAO6lB,aACT,CAQI0hD,CAAa,QAAU/hmB,EAE3B,CAAE,EACFw6hB,EAAO08G,eAAeC,YAAY,CAChCC,YAAaH,EAAY,QACzBI,cAAeJ,EAAY,UAC3BK,aAAcL,EAAY,SAC1BM,YAAaN,EAAY,WACzBO,YAAaP,EAAY,SAE7B,EAcMQ,GAAqB,SAAAj9G,GACzBw8G,GAAuBx8G,GAdY,SAAAA,GACnC,IAAMk9G,EAAc,SAAAvg6B,GAAI,OAAI,WAC1B,IAAM6mR,EAAYw8hB,EAAOx8hB,UACnBxqK,EAAQwqK,EAAUwne,cAAgB,CAACg1D,EAAO/gW,IAAIlqI,UAAUvxD,EAAUyxd,UAAW+qE,EAAO/gW,IAAIwmV,UAAYjihB,EAAU6qkB,oBACpH,OAAOl4X,GAAOn9W,EAAO,SAAA1yD,GAAI,OAAI2ouB,EAAc+wB,EAAO9qT,UAAUi2V,UAAU7kyB,EAAM3pD,GAAM,EACpF,CAAE,EACFqjzB,EAAO08G,eAAeC,YAAY,CAChCC,YAAaM,EAAY,aACzBL,cAAeK,EAAY,eAC3BJ,aAAcI,EAAY,cAC1BH,YAAaG,EAAY,iBACxB,QACL,CAGEC,CAA6Bn9G,EAC/B,EA8DMo9G,GAAY,SAACp9G,EAAQ7gzB,GACzB,IAAMqkR,EAAYw8hB,EAAOx8hB,UACnBy7L,EAAM+gW,EAAO/gW,IACnB,MAAI,QAAQ1+c,KAAKpB,GApCQ,SAAC8/c,EAAK9wB,EAAKriE,EAAM5oW,GAC1C,IAAM+kE,EAAO4wsB,GAAavpD,QAAQrwR,EAAIy5V,WAWtC,OATE5sb,EADE4sd,GAAkBzwvB,EAAMs9tB,GAAcC,eAAer3X,GAAMjra,GACtD4oW,EAAKvsW,QAAQ,KAAM,UAEnBusW,EAAKvsW,QAAQ,UAAW,KAE7Bu5zB,GAAmB7wvB,EAAMs9tB,GAAcE,aAAat3X,GAAMjra,GACrD4oW,EAAKvsW,QAAQ,0BAA2B,UAExCusW,EAAKvsW,QAAQ,uBAAwB,IAGhD,CAwBW894B,CAAmBp+c,EAAKz7L,EAAU08hB,SAAU/gzB,EAAO6gzB,EAAO98xB,QAE1D/jB,CAEX,EACMm+5B,GAAgB,SAACt9G,EAAQ7gzB,GAC7B,GAAI6gzB,EAAOx8hB,UAAU44hB,aAAc,CACjC,IAAAmhH,EA7BmB,SAAAp+5B,GACrB,GAAqB,iBAAVA,EAAoB,CAC7B,IAAMwlT,EAAUqxe,GAAM59wB,OAAO,CAC3B08tB,MAAO31uB,EAAM21uB,MACb7wuB,KAAM,CACJ6wuB,MAAO31uB,EAAM21uB,QAEd31uB,GACH,MAAO,CACLwlB,QAASxlB,EAAMwlB,QACfggS,UAEJ,CACA,MAAO,CACLhgS,QAASxlB,EACTwlT,QAAS,CAAC,EAEd,CAeQ64mB,CAAer+5B,GAFjBwlB,EAAO444B,EAAP544B,QACAggS,EAAO44mB,EAAP54mB,QAEFmkjB,GAAqB9oD,EAAM30yB,EAAA,GACtBs5S,EAAQ,CACXhgS,QAASy44B,GAAUp9G,EAAQr7xB,GAC3BywW,OAAQ,OACR/wX,KAAK,EACLm/Q,WAAW,KACV/nN,KAAK,SAAA5nD,GACN,IAAM4p5B,EA/kVY,SAACz9G,EAAQ7gzB,EAAOwlT,GAAO,OAAK+tjB,GAA2B1yD,GAAQA,OAAO90D,cAAc/rvB,EAAOwlT,EAAS,CA+kV9F+4mB,CAAgB19G,EAAQnsyB,EAAK8Q,QAASggS,GAC9DqkjB,GAAsBhpD,EAAQy9G,EAAiB5p5B,GAC/CmsyB,EAAO8wD,WACT,EACF,CACF,EAwCM6sD,GAAkB,CACtB,YAAa,OACb,cAAe,QAEXC,GAASrmI,GAAM,QACfsmI,GAAuB,SAAC/tyB,EAAUk3qB,EAAS13wB,GAS/C,OAAOs7zB,GAAU/xD,GAAavpD,QAAQhgtB,GAAM,SAAAA,GAAG,OAR3B,SAAAA,GAAG,OAAIsptB,GAAOtptB,EAAKwgG,GAAUwgnB,QAAQ,WACvD,OAAIstL,GAAOtu4B,GACF2iwB,GAAM0rI,GAAiB7tyB,GAAUrrD,KAAK,SAAAq51B,GAAc,OAAIlmI,GAAOtowB,EAAKwu4B,EAAe,GAEnFjuI,EAAS/gX,MAEpB,EAAG,CAEgD7zF,CAAY3rT,EAAI,EADpD,SAAAA,GAAG,OAAIo4D,GAAGmxsB,GAAavpD,QAAQ03D,GAAU13wB,EAAK,EAE/D,EAGMyu4B,GAAc,SAAAjuyB,GAAQ,OAAI,SAACk3qB,EAAS13wB,GAAG,OAAKugwB,EAASxquB,KAAK/1B,GAAKrgB,IAAI4pxB,GAAavpD,SAASz4sB,OAAOsgwB,IAAa1ytB,KAAK,SAAAiyC,GAAO,OAAImnzB,GAAqB/tyB,EAAUk3qB,EAAStwrB,EAAQuoW,KAAK3nD,GAD5J,SAACxnS,EAAUxgG,GAAG,OAAKugwB,EAASxquB,KAAK0yvB,GAASoD,IAAItC,SAASvpxB,EAAKwgG,GAAU,GAAO,CACkFkuyB,CAAoBluyB,EAAUpZ,EAAQuoW,KAAK,GAAEgwR,MAAM,GAAI,CAAD,EAC3OgvL,GAAcF,GAAY,aAC1BG,GAAgB/uI,EAJM,SAAAxviB,GAAU,OAAIA,EAAWpgO,QAAQ,YAAa,IAAIA,QAAQ,QAAS,IAAK,EAIjDw+4B,GAAY,gBAEzDI,GAAwB,SAAAn+G,GAAM,OAAI8X,GAAgB9X,EAAO50D,WAAW3mrB,KAAK,SAAAkhN,GAC7E,IAAM5rL,EAAY4rL,EAAM5rL,YACxB,OAAO81rB,EAASxquB,KAAKo5uB,GAAS1ksB,GAAaA,EAAU8d,WAAa9d,EACpE,EAAG,EAMGqk0B,GAAY,SAACp+G,EAAQ/vB,GAAM,OALT,SAAA+vB,GAAM,OAAInwB,EAASxquB,KAAK26vB,EAAOx8hB,UAAU08hB,UAAUz7uB,KAAK,SAAA0pX,GAC9E,IAAMlmW,EAAO+3tB,EAAO50D,UAEpB,OADsBj9T,EAAI4jT,iBAAmB9ppB,GAA4B,IAApBkmW,EAAIghH,YAClC0gP,EAAS/gX,OAAS+gX,EAASxquB,KAAK26vB,EAAOx8hB,UAAU6ud,UAAS,GACnF,EAAG,CACmCgsL,CAAgBr+G,GAAQ1vE,QAAQzlL,EAAMszW,GAAuBn+G,IAAS/wyB,IAAI4pxB,GAAavpD,SAASz4sB,OAAOsgwB,IAAa1ytB,KAAKwrtB,EAAQ,EACjK7+W,GAAW,SAAC4uY,EAAQhwB,GAAM,OAAKouI,GAAUp+G,EAAQ5wB,EAASS,EAASpyvB,KAAMuyvB,GAAS,EAElFsuI,GAAqB,SAACt+G,EAAQ7gzB,GAClC,GAAI,YAAYoB,KAAKpB,GAAQ,CAC3B,IAAMo/5B,EAAiBhi4B,SAASp9B,EAAO,IACvC,GAAIo/5B,GAAkB,GAAKA,GAAkB,EAAG,CAC9C,IAAM9mE,EA9hpBe,SAAAz3C,GAAM,OAAIhqB,GAAMhnD,QAAQgxE,EAAOl6yB,QAAQxB,IAAI,0BAA2B,CA8hpBzEk65B,CAAmBx+G,GAC/By+G,EA9hpBe,SAAAz+G,GAAM,OAAIhqB,GAAMhnD,QAAQgxE,EAAOl6yB,QAAQxB,IAAI,qBAAsB,CA8hpBlEo65B,CAAmB1+G,GACvC,OAAIy+G,EAAYng6B,OAAS,EAChBmg6B,EAAYF,EAAiB,IAAMp/5B,EAEnCs41B,EAAU8mE,EAAiB,IAAMp/5B,CAE5C,CACE,OAAOA,CAEX,CACE,OAAOA,CAEX,EACMw/5B,GAAqB,SAAAjuyB,GACzB,IAAMF,EAAQE,EAAKjjF,MAAM,WACzB,OAAOgjvB,GAAMjgqB,EAAO,SAAAE,GAClB,OAA2B,IAAvBA,EAAK5xH,QAAQ,MAAiB6E,GAAW+sH,EAAM,MAAQ/sH,GAAW+sH,EAAM,KAGnEA,EAFA,IAAIpvH,OAAOovH,EAAM,IAI5B,GAAG9kE,KAAK,IACV,EAkCMgz2B,GAAyB,SAAA5+G,GAC7B,IAAMunE,EAAe,SAAC5q3B,EAAMwC,GAC1B6gzB,EAAO9qT,UAAU7uc,OAAO1pD,EAAMwC,GAC9B6gzB,EAAO6lB,aACT,EACA7lB,EAAO08G,eAAeC,YAAY,CAChC,4DAA6D,SAAA923B,GAC3D0h1B,EAAa1h1B,EACf,EACA,wBAAyB,SAACA,EAAS4k2B,EAAKtr4B,GACtCoo3B,EAAa1h1B,EAAS,CACpB1mC,SAEJ,EACA,UAAa,SAAC0/5B,EAAUp0B,EAAKtr4B,GAC3Boo3B,EAAa,cAAe,CAC1Bpo3B,SAEJ,EACA,SAAY,SAAC0/5B,EAAUp0B,EAAKtr4B,IApDT,SAAC6gzB,EAAQ7gzB,GAC9B,IAAMuxH,EAAO4tyB,GAAmBt+G,EAAQ7gzB,GACxC6gzB,EAAO9qT,UAAU7uc,OAAO,WAAY,CAClClnD,MAAOw/5B,GAAmBjuyB,KAE5BsvrB,EAAO6lB,aACT,CA+CMi5F,CAAe9+G,EAAQ7gzB,EACzB,EACA,SAAY,SAAC0/5B,EAAUp0B,EAAKtr4B,IA/CT,SAAC6gzB,EAAQ7gzB,GAC9B6gzB,EAAO9qT,UAAU7uc,OAAO,WAAY,CAClClnD,MAAOm/5B,GAAmBt+G,EAAQ7gzB,KAEpC6gzB,EAAO6lB,aACT,CA2CMk5F,CAAe/+G,EAAQ7gzB,EACzB,EACA,WAAc,SAAC0/5B,EAAUp0B,EAAKtr4B,IAhCT,SAAC6gzB,EAAQl2jB,GAChCk2jB,EAAO9qT,UAAU7uc,OAAO,aAAc,CACpClnD,MAAOoC,OAAOuoP,KAEhBk2jB,EAAO6lB,aACT,CA4BMm5F,CAAiBh/G,EAAQ7gzB,EAC3B,EACA,KAAQ,SAAC0mC,EAAS4k2B,EAAK58a,GACrB,IAAIlla,EACJ4+zB,EAAa1h1B,EAAS,CACpB1mC,MAAO0ud,EAAKhxc,KACZwo2B,YAAwC,QAA1B18zB,EAAKkla,EAAKoxc,kBAAoC,IAAZt22B,EAAgBA,EAAK,MAEzE,EACA,aAAgB,SAAA9iB,GACdm6wB,EAAO9qT,UAAUjse,OAAO4c,EAC1B,EACA,cAAiB,WACf0h1B,EAAa,aACf,EACA,YAAe,SAACs3C,EAAUp0B,EAAKtr4B,GAC7Boo3B,EAAaz0yB,EAAS3zE,GAASA,EAAQ,IACzC,EACA,gBAAmB,SAAC0/5B,EAAUp0B,EAAKtr4B,GACjCoo3B,EAAapo3B,EACf,GAEJ,EACM+/5B,GAA6B,SAAAl/G,GACjC,IAAMm/G,EAAgB,SAAAxi6B,GAAI,OAAIqjzB,EAAO9qT,UAAUz0f,MAAM9D,EAAM,EAC3DqjzB,EAAO08G,eAAeC,YAAY,CAChC,4DAA6D,SAAA923B,GAAO,OAAIs53B,EAAct53B,EAAQ,EAC9F,cAAiB,WAAF,OAAQs53B,EAAc,aAAa,GACjD,SACHn/G,EAAO08G,eAAe0C,qBAAqB,WAAY,kBAjFnC,SAAAp/G,GAAM,OAAI5uY,GAAS4uY,EAAQ,SAAA1wxB,GAAG,OAAI4u4B,GAAcl+G,EAAO50D,UAAW97tB,EAAI2vb,IAAI,GAAEgwR,MAAM,GAAI,CAiF7CowL,CAAcr/G,EAAO,GAClFA,EAAO08G,eAAe0C,qBAAqB,WAAY,kBA3EnC,SAAAp/G,GAAM,OAAI5uY,GAAS4uY,EAAQ,SAAA1wxB,GAAG,OAAI2u4B,GAAYj+G,EAAO50D,UAAW97tB,EAAI2vb,IAAI,GAAEgwR,MAAM,GAAI,CA2E3CqwL,CAAct/G,EAAO,GAClFA,EAAO08G,eAAe0C,qBAAqB,aAAc,kBA1EnC,SAAAp/G,GAAM,OAAI5uY,GAAS4uY,EAAQ,SAAA1wxB,GACjD,IAAM24D,EAAO4wsB,GAAavpD,QAAQ0wE,EAAO50D,WACnCm0K,EAAiB30E,GAAUt7zB,EAAK,SAAAA,GAAG,OAAIsptB,GAAOtptB,EAAK,cAAc,EAAEu7hB,EAAMnje,GAAIO,IAMnF,OAAOs30B,EAAe7sL,WALA,WACpB,IAAM5of,EAAavpO,WAAWy6wB,GAAM1rwB,EAAK,gBACnCgiN,EAAW/wN,WAAWy6wB,GAAM1rwB,EAAK,cACvC,OAAO/tB,OAAOuoP,EAAaxY,EAC7B,EAEF,GAAG29f,MAAM,GAAI,CAiEoDuwL,CAAgBx/G,EAAO,EACxF,EAuBMy/G,GAAqB,SAAAz/G,GACzBA,EAAO08G,eAAeC,YAAY,CAChC+C,OAAQ,YAn5NG,SAAA1/G,GAAUtoU,GAAOsoU,EAAQ,SAAU,CAo5N5Ctud,CAAOsud,EACT,EACA2/G,QAAS,WACPrlC,GAAQt6E,EACV,IAEFA,EAAO08G,eAAeC,YAAY,CAChCgD,QAAS,WAAF,OAAQjmC,GAAW15E,EAAO,GAChC,QACL,EAuEM9zpB,GAAS,SAAC8zpB,EAAQrvpB,GACtB,IAAMsuT,EAAM+gW,EAAO/gW,IACb9wB,EAAM6xX,EAAOx8hB,UAAU08hB,SACvB55vB,EAAOqqG,EAASqvpB,EAAOx8hB,UAAU6ud,WAAa2tE,EAAOx8hB,UAAUqjjB,SAC/D9suB,EAAY42D,EAASw9R,EAAI4jT,eAAiB5jT,EAAI6jT,aAC9C/ppB,EAAOkmzB,GAAgBlvb,EAAKllX,GAClC,GAAK9R,GAASA,EAAK0ysB,kBAAnB,CAGA,IAAMwmG,EAAWxwuB,EAAS2qoB,GAAWC,GAC/B+zG,EAAehkF,GAAmBtL,IAhBhB,SAACA,EAAQ15vB,EAAM2hC,EAAM8R,GAC7C,IAAMklX,EAAM+gW,EAAO/gW,IACb7mV,EAAW,SAAA9xE,GAAI,OAAI24Z,EAAIwmV,QAAQn/uB,IAASA,EAAK2/F,gBAAkBh+D,CAAK,EACpE230B,EAAiBxnyB,EAAS9xE,GAAQA,EAAO24Z,EAAIlqI,UAAUh7O,EAAWq+B,EAAUnwC,GAClF,OAAO4nsB,EAASxquB,KAAKu62B,GAAgB3w5B,IAAI4pxB,GAAavpD,QACxD,EAYEuwL,CAAkB7/G,EAAQ15vB,EAAM2hC,EAAM8R,GAAWt+B,KAAK,SAAAkquB,GACpD,IAAMq3F,EAAWoS,GAAepvF,EAAQjmtB,EAAW4rsB,EAAY1mV,IAAKh3X,GAAM,EAAOqnzB,GACjFnO,EAASx7F,EAAa9M,GAAavpD,QAAQ0tJ,IAC3Ch9E,EAAOx8hB,UAAUgujB,kBAAkBwrD,EAAU,GAC7Ch9E,EAAO5iyB,SAAS,WAAY,CAC1B4/2B,aAEFsQ,GAAettF,EAAQ,kBACzB,EAXA,CAYF,EAIM8/G,GAAqB,SAAA9/G,GACzBA,EAAO08G,eAAeC,YAAY,CAChCoD,qBAAsB,YALL,SAAA//G,GAAU9zpB,GAAO8zpB,GAAQ,EAAM,CAM9C1msB,CAAa0msB,EACf,EACAggH,oBAAqB,YAPL,SAAAhgH,GAAU9zpB,GAAO8zpB,GAAQ,EAAO,CAQ9CrE,CAAYqE,EACd,GAEJ,EAiEMigH,GAAmB,SAAAjgH,GACvBi9G,GAAmBj9G,GAreM,SAAAA,GACzBA,EAAO08G,eAAeC,YAAY,CAChC,iBAAkB,SAAA923B,GAChB,IACIoiwB,EADE96e,EAAM6yf,EAAOzyD,SAEnB,IACEpgc,EAAI89b,YAAYpltB,EAClB,CAAE,MAAOuE,GACP69vB,GAAS,CACX,CAIA,GAHgB,UAAZpiwB,GAAwBsnR,EAAI+ymB,oBAAoBr63B,KAClDoiwB,GAAS,GAEPA,IAAW96e,EAAIgzmB,sBAAsBt63B,GAAU,CACjD,IAAI2/B,EAAMw6uB,EAAO39mB,UAAU,uHACvBqzlB,GAAIpurB,GAAG2ooB,WAAaylD,GAAIpurB,GAAGyooB,WAC7BvqqB,EAAMA,EAAIjmD,QAAQ,UAAW,YAE/BygyB,EAAOhzD,oBAAoBzkvB,KAAK,CAC9BksB,KAAM+wC,EACN3lE,KAAM,SAEV,CACF,GAEJ,CA6cEug6B,CAAmBpgH,GAxMM,SAAAA,GACzBA,EAAO08G,eAAeC,YAAY,CAChC0D,gBAAiB,WACfrgH,EAAOj1D,YAAYz9uB,KACrB,EACAgz5B,gBAAiB,WACftgH,EAAOj1D,YAAYz9uB,KACrB,EACAiz5B,KAAM,WACJvgH,EAAOj1D,YAAYsV,MACrB,EACAmgK,KAAM,WACJxgH,EAAOj1D,YAAY6kH,MACrB,GAEJ,CA0LE6wD,CAAmBzgH,GApDM,SAAAA,GACzBA,EAAO08G,eAAeC,YAAY,CAChC+D,mBAAoB,SAAC7B,EAAUp0B,EAAKtr4B,GAClC,IAAI+jD,EAAU,EACd88vB,EAAO/gW,IAAIlqI,UAAUire,EAAOx8hB,UAAUyxd,UAAW,SAAA3urB,GAC/C,OAAIw3uB,GAAYx3uB,IAASpD,MAAc/jD,IACrC6gzB,EAAOx8hB,UAAUvhP,OAAOqkB,IACjB,EAIX,EAAG05vB,EAAO50D,UACZ,EACAu1K,cAAe,SAAC9B,EAAUp0B,EAAKtr4B,GAC7B6gzB,EAAOx8hB,UAAUvhP,OAAO9iC,EAC1B,EACA6x5B,UAAW,WACT,IAAM/nE,EAAcjpC,EAAO/gW,IAAIlqI,UAAUire,EAAOx8hB,UAAU6ud,WAAY2sD,IACtE,GAAIiqD,EAAa,CACf,IAAM96Z,EAAM6xX,EAAO/gW,IAAI46V,YACvB1rX,EAAI2f,mBAAmBm7Y,GACvBjpC,EAAOx8hB,UAAUkqe,OAAOv/T,EAC1B,CACF,GAEJ,CA4BEyye,CAAmB5gH,GA/YM,SAAAA,GACzBA,EAAO08G,eAAeC,YAAY,CAChCkE,WAAY,WACV,IAAMhld,EAAKmkW,EAAOx8hB,UAAU6pe,cAC5B2yD,EAAOxhE,WAAWwhE,EAAOjghB,cACzBighB,EAAOx8hB,UAAUipe,eAAe5wS,EAClC,EACAkgc,YAAa,SAAC8iB,EAAUp0B,EAAKtr4B,GAC3Bm+5B,GAAct9G,EAAQA,EAAO/gW,IAAI26R,WAAW,MAAO,CACjDpgsB,IAAKr6C,IAET,EACA2h6B,qBAAsB,WACpB9gH,EAAO/0D,YAAY,oBAAoB,EAAO,OAChD,EACA81K,WAAY,SAAClC,EAAUp0B,EAAKtr4B,GAC1Bm+5B,GAAct9G,EAAQA,EAAO/gW,IAAIh7Y,OAAO9kE,GAC1C,EACA6h6B,WAAY,SAACnC,EAAUp0B,EAAKtr4B,GAC1Bm+5B,GAAct9G,EAAQ7gzB,EACxB,EACA8h6B,iBAAkB,SAACpC,EAAUp0B,EAAKtr4B,GAChCm+5B,GAAct9G,EAAQ7gzB,EACxB,EACA+h6B,cAAe,SAACrC,EAAUp0B,EAAKtr4B,GAC7B6gzB,EAAOxhE,WAAWr/uB,EACpB,EACAgi6B,kBAAmB,SAACtC,EAAUp0B,EAAKtr4B,GACjC6gzB,EAAO/0D,YAAY,oBAAoB,EAAO9rvB,EAAMogB,QAAQ,mBAAoBygyB,EAAOx8hB,UAAUuc,WAAW,CAC1Gq1F,OAAQ,UAEZ,EACAgsiB,eAAgB,WACdphH,EAAOxhE,WAAWmxE,GAAsB3P,GAC1C,GAEJ,CA4WEqhH,CAAmBrhH,GA5KM,SAAAA,GACzB,IAAMshH,EAAuB,SAACzC,EAAUp0B,EAAKtr4B,GAC3C,IAAMoi6B,EAAczu1B,EAAS3zE,GAAS,CACpCg4B,KAAMh4B,GACJA,EACE6voB,EAASgxK,EAAO/gW,IAAIlqI,UAAUire,EAAOx8hB,UAAUyxd,UAAW,KAC5DnspB,EAASy40B,IAAgBzu1B,EAASyu1B,EAAYpq4B,QAChDoq4B,EAAYpq4B,KAAOoq4B,EAAYpq4B,KAAK5X,QAAQ,KAAM,OAC7CyvnB,GAAWuyR,EAAYpq4B,MAC1B6oxB,EAAO9qT,UAAUjse,OAAO,QAEtBs44B,EAAYpq4B,MACd6oxB,EAAO9qT,UAAUptf,MAAM,OAAQy55B,EAAavyR,GAGlD,EACAgxK,EAAO08G,eAAeC,YAAY,CAChCh1Z,OAAQ,WACN,GAAIq4S,EAAOx8hB,UAAU44hB,aAAc,CACjC,GAAI4D,EAAOx8hB,UAAUwne,cAAe,CAClC,IAAM17tB,EAAM0wxB,EAAO/gW,IAAIlqI,UAAUire,EAAOx8hB,UAAU6ud,WAAY,KAI9D,YAHI/itB,GACF0wxB,EAAO/gW,IAAIh2b,OAAOqG,GAAK,GAG3B,CACA0wxB,EAAO9qT,UAAUjse,OAAO,OAC1B,CACF,EACAu44B,cAAeF,EACfn4Z,WAAYm4Z,GAEhB,CA6IEG,CAAmBzhH,GACnBy/G,GAAmBz/G,GACnB8/G,GAAmB9/G,GAvEM,SAAAA,GACzBA,EAAO08G,eAAeC,YAAY,CAChC+E,gBAAiB,WACfntB,GAAY1D,GAAY7wF,EAC1B,EACA2hH,iBAAkB,SAAC9C,EAAUp0B,EAAKtr4B,GAChCs14B,GAASz0F,EAAQ7gzB,EACnB,EACAyi6B,gBAAiB,SAAC/C,EAAUp0B,EAAKnxzB,GAC/Bi7zB,GAAYvB,GAAWhzF,EACzB,GAEJ,CA4DE6hH,CAAmB7hH,GAtHM,SAAAA,IAxBI,SAAAA,GAC7BA,EAAO08G,eAAeC,YAAY,CAChC,wCAAyC,SAAA923B,GACvCm6wB,EAAOzyD,SAAStC,YAAYpltB,GAC5B,IAAM4k0B,EAAUzqD,EAAO/gW,IAAIlqI,UAAUire,EAAOx8hB,UAAUyxd,UAAW,SACjE,GAAIw1H,EAAS,CACX,IAAMq3D,EAAar3D,EAAQ5yvB,WAC3B,GAAIiqzB,GAAc,2BAA2Bvh6B,KAAKuh6B,EAAW3ozB,UAAW,CACtE,IAAM0iW,EAAKmkW,EAAOx8hB,UAAU6pe,cAC5B2yD,EAAO/gW,IAAIxxa,MAAMq03B,EAAYr3D,GAC7BzqD,EAAOx8hB,UAAUipe,eAAe5wS,EAClC,CACF,CACF,GAEJ,CAUEkmd,CAAuB/hH,GATU,SAAAA,GACjCA,EAAO08G,eAAeC,YAAY,CAChC,wCAAyC,SAAA923B,GACvC,IAAM7V,EAAOgwxB,EAAO/gW,IAAIlqI,UAAUire,EAAOx8hB,UAAUyxd,UAAW,SAC9D,OAAOjltB,IAAqB,wBAAZ6V,GAAsD,OAAjB7V,EAAKhI,SAAgC,sBAAZ6d,GAAoD,OAAjB7V,EAAKhI,QACxH,GACC,QACL,CAGEg64B,CAA2BhiH,EAC7B,CAoHEiiH,CAAmBjiH,GArNM,SAAAA,GACzB4+G,GAAuB5+G,GACvBk/G,GAA2Bl/G,EAC7B,CAmNEkiH,CAAmBliH,GAjCQ,SAAAA,GAC3BA,EAAO08G,eAAeC,YAAY,CAChCwF,cAAe,SAACtD,EAAUp0B,EAAKtr4B,GAC7B,IAAMmnD,EAAOnnD,QAAqCA,EAAQ6gzB,EAAOx8hB,UAAUyxd,UAC3E,GAAI3urB,IAAS05vB,EAAO50D,UAAW,CAC7B,IAAMvvS,EAAKmkW,EAAOx8hB,UAAU6pe,cAC5B2yD,EAAO/gW,IAAIh2b,OAAOq9B,GAAM,GACxB05vB,EAAOx8hB,UAAUipe,eAAe5wS,EAClC,CACF,EACAumd,SAAU,WACRpiH,EAAOxtE,SAAS9vY,OAClB,EACA2/jB,SAAU,SAACxD,EAAUp0B,EAAKtr4B,GACxBwhC,GAAMq/wB,GAAkB,IAAV7gzB,EAChB,EACAmj6B,mBAAoB,WAClBtiH,EAAOgxD,WAAahxD,EAAOgxD,UAC3BhxD,EAAO8wD,WACT,GAEJ,CAaEyxD,CAAqBviH,EACvB,EAEMwiH,GAAwB,CAAC,cACzBC,GAAyB,SAAA583B,GAAO,OAAI2qvB,GAAWgyI,GAAuB383B,EAAQrmB,cAAe,EAC7Fkj5B,GAAc,WAQjB,OAAA9p5B,EAPD,SAAA8p5B,EAAY1iH,GAAQ/nyB,EAAA,KAAAyq5B,GAClB5i6B,KAAK6mO,SAAW,CACd1oN,MAAO,CAAC,EACRk2B,KAAM,CAAC,EACPh1C,MAAO,CAAC,GAEVW,KAAKkgzB,OAASA,CAChB,EAAC,EAAA5+yB,IAAA,cAAAjC,MACD,SAAY0mC,GAAmC,IAA1Bu6Y,EAAEt+a,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,IAAAA,UAAA,GAAU3C,EAAK2C,UAAAxD,OAAA,EAAAwD,UAAA,QAAA0D,EAAEqO,EAAI/R,UAAAxD,OAAA,EAAAwD,UAAA,QAAA0D,EACpCw6yB,EAASlgzB,KAAKkgzB,OACd2iH,EAAmB983B,EAAQrmB,cAC3B4wzB,EAAYv8zB,aAAwC,EAAIA,EAAK+u5B,WACnE,GAAI5iH,EAAOhjU,QACT,OAAO,EAcT,GAZyB,aAArB2lb,IACG,uCAAuCpi6B,KAAKoi6B,IAAsBvyF,EAz8jB7D,SAAApwB,GACdE,GAAOF,GAAQvkvB,KAAK,SAAA0yX,GAAG,OAAI6xX,EAAOx8hB,UAAUkqe,OAAOv/T,EAAI,EACzD,CA08jBQz6W,CAAQssuB,GAFRA,EAAOr/wB,SAKOq/wB,EAAO5iyB,SAAS,oBAAqB,CACrDyoB,UACAu6Y,KACAjhb,UAEYo4rB,qBACZ,OAAO,EAET,IAAMlynB,EAAOvlE,KAAK6mO,SAASxyL,KAAKwu3B,GAChC,QAAIr42B,EAAW+a,KACbA,EAAKs91B,EAAkBvif,EAAIjhb,GAC3B6gzB,EAAO5iyB,SAAS,cAAe,CAC7ByoB,UACAu6Y,KACAjhb,WAEK,EAGX,GAAC,CAAAiC,IAAA,oBAAAjC,MACD,SAAkB0mC,GAChB,IAAK483B,GAAuB583B,IAAY/lC,KAAKkgzB,OAAOqwB,OAAO/opB,YAAcxnL,KAAKkgzB,OAAOhjU,QACnF,OAAO,EAET,IAAM2lb,EAAmB983B,EAAQrmB,cAC3B6lD,EAAOvlE,KAAK6mO,SAAS1oN,MAAM0k5B,GACjC,QAAIr42B,EAAW+a,IACNA,EAAKs91B,EAGhB,GAAC,CAAAvh6B,IAAA,oBAAAjC,MACD,SAAkB0mC,GAChB,IAAK483B,GAAuB583B,IAAY/lC,KAAKkgzB,OAAOqwB,OAAO/opB,YAAcxnL,KAAKkgzB,OAAOhjU,QACnF,MAAO,GAET,IAAM2lb,EAAmB983B,EAAQrmB,cAC3B6lD,EAAOvlE,KAAK6mO,SAASxnO,MAAMwj6B,GACjC,OAAIr42B,EAAW+a,GACNA,EAAKs91B,GAEP,EACT,GAAC,CAAAvh6B,IAAA,cAAAjC,MACD,SAAY0j6B,GAA6B,IAAhBhj6B,EAAIiC,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,OACxB6kO,EAAW7mO,KAAK6mO,SACtB6qjB,GAAOqxI,EAAa,SAACzj6B,EAAUymC,GAC7B6qvB,GAAO7qvB,EAAQrmB,cAAciuB,MAAM,KAAM,SAAA5H,GACvC8gM,EAAS9mO,GAAMgmC,GAAWzmC,CAC5B,EACF,EACF,GAAC,CAAAgC,IAAA,aAAAjC,MACD,SAAW0mC,EAASzmC,EAAUqsU,GAAQ,IAADx+T,EAAA,KAC7B015B,EAAmB983B,EAAQrmB,cACjC1f,KAAK6mO,SAASxyL,KAAKwu3B,GAAoB,SAAC9D,EAAUz+e,EAAIjhb,GAAK,OAAKC,EAASE,KAAKmsU,QAAqCA,EAAQx+T,EAAK+yyB,OAAQ5/X,EAAIjhb,EAAO,CACrJ,GAAC,CAAAiC,IAAA,wBAAAjC,MACD,SAAsB0mC,GACpB,IAAM883B,EAAmB983B,EAAQrmB,cACjC,QAAI1f,KAAK6mO,SAASxyL,KAAKwu3B,EAKzB,GAAC,CAAAvh6B,IAAA,uBAAAjC,MACD,SAAqB0mC,EAASzmC,EAAUqsU,GAAQ,IAAD/9T,EAAA,KAC7C5N,KAAK6mO,SAAS1oN,MAAM4nB,EAAQrmB,eAAiB,kBAAMpgB,EAASE,KAAKmsU,QAAqCA,EAAQ/9T,EAAKsyyB,OAAQ,CAC7H,GAAC,CAAA5+yB,IAAA,uBAAAjC,MACD,SAAqB0mC,EAASzmC,EAAUqsU,GAAQ,IAADr9T,EAAA,KAC7CtO,KAAK6mO,SAASxnO,MAAM0mC,EAAQrmB,eAAiB,kBAAMpgB,EAASE,KAAKmsU,QAAqCA,EAAQr9T,EAAK4xyB,OAAQ,CAC7H,IAAC,CA1FiB,GA6Fd8iH,GAA8B,2BAQ9BnS,GAAwB,SAAC3wG,EAAQmK,EAAKlsyB,GAC1C,IACE+hyB,EAAOzyD,SAAStC,YAAYk/D,GAAK,EAAO5ozB,OAAO0c,GACjD,CAAE,MAAOmsB,GAAK,CAChB,EACM243B,GAAqB,SAACzz4B,EAAKrR,GAC/BqR,EAAI2vb,IAAIg4O,gBAAkBh5qB,EAAQ,OAAS,OAC7C,EAqBM+k5B,GAAiB,SAAChjH,EAAQ/hyB,GAC9B,IAAM06C,EAAOkguB,GAAavpD,QAAQ0wE,EAAO50D,YApCvB,SAAC97tB,EAAKmqxB,EAAKx7xB,GACzB7Z,GAAIkrB,EAAKmqxB,KAASx7xB,EACpBw6wB,GAASnpwB,EAAKmqxB,GACLx7xB,GACTs6wB,GAAMjpwB,EAAKmqxB,EAEf,CA+BED,CAAY7gvB,EAAM,uBAAwB16C,GACtCA,GACF+hyB,EAAOx8hB,UAAUwylB,iBAAiB/vC,iBAClCjmB,EAAO4oC,oBAAoBylC,gBAbH,SAAAruE,GAC1BnwB,EAASxquB,KAAK26vB,EAAOx8hB,UAAUyxd,WAAWx5qB,KAAK,SAAAnsC,GAC7CA,EAAIolF,gBAAgB,oBACtB,EACF,CAUIuuzB,CAAoBjjH,GACpBA,EAAOjpjB,UAAW,EAClBgsqB,GAAmBpq2B,GAAM,GA3B3B+3tB,GAAOrwmB,GA4BwB1nH,EA5BP,6BAA8B,SAAArpC,GACpDmowB,GAAMnowB,EAAKwz4B,GAA6B,QACxCC,GAAmBzz4B,GAAK,EAC1B,KA2BE0wxB,EAAOjpjB,UAAW,EACdipjB,EAAO6zG,mBACTkP,GAAmBpq2B,GAAM,GA3BK,SAAArpC,GAClCohwB,GAAOrwmB,GAAY/wJ,EAAK,KAAKhuB,OAAOwh6B,GAA6B,aAAgB,SAAAxz4B,GAC/EwowB,GAASxowB,EAAKwz4B,IACdC,GAAmBzz4B,GAAK,EAC1B,EACF,CAwBI4z4B,CAA4Bvq2B,GAC5Bg41B,GAAsB3wG,EAAQ,gBAAgB,GAC9C2wG,GAAsB3wG,EAAQ,4BAA4B,GAC1D2wG,GAAsB3wG,EAAQ,wBAAwB,GAClDiwB,GAAmBjwB,IACrBA,EAAOr/wB,QAvBgB,SAAAq/wB,GAC3BA,EAAOx8hB,UAAUkqe,OAAOsyD,EAAOx8hB,UAAU08hB,SAC3C,CAuBIijH,CAAqBnjH,GACrBA,EAAO6lB,cAEX,EACM+zD,GAAa,SAAA55E,GAAM,OAAIA,EAAOjpjB,QAAS,EACvCqsqB,GAAkB,SAAApjH,GACtBA,EAAOtvuB,OAAO6wuB,mBAAmB,kBAAmB,SAAAvosB,GAC9C4gxB,GAAW55E,IACbtvB,GAAO13qB,EAAO,SAAA1yD,GACZA,EAAK2pB,KAAK6y1B,GAA6Bx82B,EAAK2pB,KAAK,oBACjD3pB,EAAK2pB,KAAK,kBAAmB,QAC/B,EAEJ,GACA+vuB,EAAOt5yB,WAAW66yB,mBAAmBuhH,GAA6B,SAAA9pzB,GAC5D4gxB,GAAW55E,IACbtvB,GAAO13qB,EAAO,SAAA1yD,GACZA,EAAK2pB,KAAK,kBAAmB3pB,EAAK2pB,KAAK6y1B,IACzC,EAEJ,GACA9iH,EAAOt5yB,WAAW46yB,YAAYwhH,GAChC,EAWMO,GAAgB,CAAC,QAMjBC,GAAwB,SAACtjH,EAAQtjzB,GACrC,GARmB,SAAAA,GAAC,MAAe,UAAXA,EAAEmD,IAAiB,CAQvC0j6B,CAAa7m6B,KAAOqvvB,GAAGC,eAAetvvB,GAAI,CAC5C,IAAM4yB,EAAMupwB,GAAavpD,QAAQ5yuB,EAAEkM,SANd,SAACo3yB,EAAQ1wxB,GAEhC,OAAOkrwB,GAAUlrwB,EAAK,IADP,SAAAA,GAAG,OAAIo4D,GAAGp4D,EAAKupwB,GAAavpD,QAAQ0wE,EAAO50D,WAAY,GACnC3mrB,KAAK,SAAAr/D,GAAC,OAAIwyxB,GAAOxyxB,EAAG,OAAO,EAChE,EAIIo+5B,CAAiBxjH,EAAQ1wxB,GAAKmsC,KAAK,SAAAtkC,GAEjC,GADAz6B,EAAEsqB,iBACE,KAAKzmB,KAAK42B,GAAO,CACnB,IAAM2hJ,EAAWknoB,EAAO/gW,IAAIh9a,OAAO,GAAG3gC,OAAO61B,EAAM,YAAa71B,OAAO6xxB,GAAch8vB,EAAM,KAAM,OAC7F2hJ,EAASx6K,QACX0hzB,EAAOx8hB,UAAU1N,eAAeh9F,EAAS,IAAI,EAEjD,MACEr3K,OAAO8G,KAAK4uB,EAAM,SAAU,uGAEhC,EACF,MAnB6B,SAAAz6B,GAAC,OAAI8zxB,GAAW6yI,GAAe3m6B,EAAEmD,KAAM,EAmBzD4j6B,CAAuB/m6B,IAChCsjzB,EAAO5iyB,SAAS1gB,EAAEmD,KAAMnD,EAE5B,EAcMgn6B,GAAe1tI,GAAMC,QAAQ,qXAAqY,KACla0tI,GAAe,WASlB,OAAA/q5B,EALD,SAAA+q5B,EAAYjxV,GAAUz6jB,EAAA,KAAA0r5B,GACpB7j6B,KAAK8j6B,SAAW,CAAC,EACjB9j6B,KAAK4ykB,SAAWA,GAAY,CAAC,EAC7B5ykB,KAAK2rU,MAAQ3rU,KAAK4ykB,SAASjnQ,OAAS3rU,KACpCA,KAAK+j6B,YAAc/j6B,KAAK4ykB,SAASmxV,aAAej0I,CAClD,EAAC,EAAAxuxB,IAAA,OAAAjC,MACD,SAAKxC,EAAMkX,GACT,OAAO/T,KAAKsd,SAASzgB,EAAMkX,EAC7B,GAAC,CAAAzS,IAAA,WAAAjC,MACD,SAASxC,EAAMkX,GACb,IAAMiqyB,EAASnhzB,EAAK6iB,cACd7W,EAAQityB,GAAYkI,EAAQjqyB,QAAmCA,EAAO,CAAC,EAAG/T,KAAK2rU,OACjF3rU,KAAK4ykB,SAASoxV,YAChBhk6B,KAAK4ykB,SAASoxV,WAAWn75B,GAE3B,IAAMm3E,EAAWhgF,KAAK8j6B,SAAS9lH,GAC/B,GAAIh+tB,EACF,IAAK,IAAIjhF,EAAI,EAAG09C,EAAIujC,EAASxhF,OAAQO,EAAI09C,EAAG19C,IAAK,CAC/C,IAAMO,EAAW0gF,EAASjhF,GAC1B,IAAIO,EAAS49e,QAAb,CAMA,GAHI59e,EAAS0oB,MACXhoB,KAAKglF,IAAIg5tB,EAAQ1+yB,EAASimE,MAExB18D,EAAMmtyB,gCACR,OAAOntyB,EAET,IAA8C,IAA1CvJ,EAASimE,KAAK/lE,KAAKQ,KAAK2rU,MAAO9iU,GAEjC,OADAA,EAAMqe,iBACCre,CATT,CAWF,CAEF,OAAOA,CACT,GAAC,CAAAvH,IAAA,KAAAjC,MACD,SAAGxC,EAAMyC,EAAUk+D,EAASwqjB,GAI1B,IAHiB,IAAb1onB,IACFA,EAAWwwxB,GAETxwxB,EAAU,CACZ,IAAM2k6B,EAAkB,CACtB1+1B,KAAMjmE,EACN49e,SAAS,GAEP8qI,GACFkuK,GAAM59wB,OAAO2r5B,EAAiBj8S,GAIhC,IAFA,IAAMr0kB,EAAQ92C,EAAK6iB,cAAciuB,MAAM,KACnC5uC,EAAI40C,EAAMn1C,OACPO,KAAK,CACV,IAAMml6B,EAAcvw3B,EAAM50C,GACtBihF,EAAWhgF,KAAK8j6B,SAASI,GACxBlk1B,IACHA,EAAW,GACXhgF,KAAK+j6B,YAAYG,GAAa,IAG9Blk1B,EADExiB,EACM,CAAIym2B,GAAezi6B,OAAAwuB,EAAKgwD,IAExB,GAAAx+E,OAAAwuB,EAAOgwD,GAAQ,CAAEik1B,IAE3Bjk6B,KAAK8j6B,SAASI,GAAelk1B,CAC/B,CACF,CACA,OAAOhgF,IACT,GAAC,CAAAsB,IAAA,MAAAjC,MACD,SAAIxC,EAAMyC,GAAW,IAADuP,EAAA,KAClB,GAAIhS,EAGF,IAFA,IAAM82C,EAAQ92C,EAAK6iB,cAAciuB,MAAM,KACnC5uC,EAAI40C,EAAMn1C,OACPO,KAAK,CACV,IAAMml6B,EAAcvw3B,EAAM50C,GACtBihF,EAAWhgF,KAAK8j6B,SAASI,GAC7B,IAAKA,EAKH,OAJAxyI,GAAO1xxB,KAAK8j6B,SAAU,SAACtq1B,EAAQ2q1B,GAC7Bt15B,EAAKk15B,YAAYI,GAAa,UACvBt15B,EAAKi15B,SAASK,EACvB,GACOnk6B,KAET,GAAIggF,EAAU,CACZ,GAAK1gF,EAEE,CACL,IAAM8k6B,EAAmBtzI,GAAY9wsB,EAAU,SAAA73B,GAAO,OAAIA,EAAQod,OAASjmE,CAAQ,GACnF0gF,EAAWok1B,EAAiBh82B,KAC5BpoD,KAAK8j6B,SAASI,GAAelk1B,EAC7B4wsB,GAAOwzI,EAAiBx71B,KAAM,SAAAzgB,GAC5BA,EAAQ+0b,SAAU,CACpB,EACF,MAREl9Z,EAASxhF,OAAS,EASfwhF,EAASxhF,SACZwB,KAAK+j6B,YAAYln6B,GAAM,UAChBmD,KAAK8j6B,SAASI,GAEzB,CACF,MAEAxyI,GAAO1xxB,KAAK8j6B,SAAU,SAACtq1B,EAAQ38E,GAC7BgS,EAAKk15B,YAAYln6B,GAAM,EACzB,GACAmD,KAAK8j6B,SAAW,CAAC,EAEnB,OAAO9j6B,IACT,GAAC,CAAAsB,IAAA,OAAAjC,MACD,SAAKxC,EAAMyC,EAAUk+D,GACnB,OAAOx9D,KAAKg5E,GAAGn8E,EAAMyC,EAAUk+D,EAAS,CACtCx1C,MAAM,GAEV,GAAC,CAAA1mB,IAAA,MAAAjC,MACD,SAAIxC,GACFA,EAAOA,EAAK6iB,cACZ,IAAMg+D,EAAU19E,KAAK8j6B,SAASjn6B,GAC9B,SAAU6gF,GAA8B,IAAnBA,EAAQl/E,OAC/B,IAAC,EAAA8C,IAAA,WAAAjC,MAtHD,SAAgBxC,GACd,QAAS+m6B,GAAa/m6B,EAAK6iB,cAC7B,IAAC,CAHkB,GA0Hf2k5B,GAAqB,SAAA9m4B,GAWzB,OAVKA,EAAI+m4B,mBACP/m4B,EAAI+m4B,iBAAmB,IAAIT,GAAgB,CACzCl4lB,MAAOpuS,EACPwm4B,YAAa,SAACln6B,EAAMshB,GACd0l5B,GAAgBzyV,SAASv0kB,IAAS0gC,EAAIgn4B,mBACxChn4B,EAAIgn4B,kBAAkB1n6B,EAAMshB,EAEhC,KAGGof,EAAI+m4B,gBACb,EACME,GAAa,CACjBx8Y,IAAAA,CAAKnrhB,EAAMkX,EAAMqwpB,GACf,OAAOpkqB,KAAKsd,SAASzgB,EAAMkX,EAAMqwpB,EACnC,EACA9mpB,QAAAA,CAASzgB,EAAMkX,EAAMqwpB,GACnB,IAAM98pB,EAAOtH,KACb,GAAIsH,EAAK41e,SAAoB,WAATrgf,GAA8B,WAATA,EACvC,OAAOi5yB,GAAYj5yB,EAAK6iB,cAAe3L,QAAmCA,EAAO,CAAC,EAAGzM,GAEvF,IAAMm95B,EAAiBJ,GAAmB/85B,GAAMgW,SAASzgB,EAAMkX,GAC/D,IAAe,IAAXqwpB,GAAoB98pB,EAAK4+C,OAE3B,IADA,IAAIA,EAAS5+C,EAAK4+C,SACXA,IAAWu+2B,EAAe7wO,wBAC/B1toB,EAAO5oC,SAASzgB,EAAM4n6B,GAAgB,GACtCv+2B,EAASA,EAAOA,OAASA,EAAOA,cAAWxgD,EAG/C,OAAO++5B,CACT,EACAzr1B,EAAAA,CAAGn8E,EAAMyC,EAAUk+D,GACjB,OAAO6m2B,GAAmBrk6B,MAAMg5E,GAAGn8E,EAAMyC,EAAUk+D,EACrD,EACAwnB,GAAAA,CAAInoF,EAAMyC,GACR,OAAO+k6B,GAAmBrk6B,MAAMglF,IAAInoF,EAAMyC,EAC5C,EACA0oB,IAAAA,CAAKnrB,EAAMyC,GACT,OAAO+k6B,GAAmBrk6B,MAAMgoB,KAAKnrB,EAAMyC,EAC7C,EACA+rvB,iBAAAA,CAAkBxuvB,GAChB,OAAOwn6B,GAAmBrk6B,MAAMsE,IAAIzH,EACtC,GAGI6n6B,GAAQzsH,GAASoD,IAEjBspH,GAAiB,SAACzkH,EAAQruxB,GAC9B,GAAkB,oBAAdA,EACF,OAAOquxB,EAAOzyD,SAEhB,IAAKyyD,EAAO7hpB,QAAU,2DAA2D59J,KAAKoxB,GACpF,OAAOquxB,EAAOzyD,SAASvnuB,gBAEzB,IAAM0+4B,EAAYt3G,GAAapN,GAC/B,OAAI0kH,GACG1kH,EAAO0kH,YACV1kH,EAAO0kH,UAAYF,GAAMvi4B,OAAOyi4B,GAAW,IAEtC1kH,EAAO0kH,WAET1kH,EAAO50D,SAChB,EAEMk9G,GAAY,SAACtoD,EAAQruxB,EAAWj1B,IADlB,SAAAsjzB,GAAM,OAAKA,EAAO/wb,SAAW2qgB,GAAW55E,EAAQ,CAE9D2kH,CAAY3kH,GAEL45E,GAAW55E,IACpBsjH,GAAsBtjH,EAAQtjzB,GAF9BsjzB,EAAO5iyB,SAASuU,EAAWj1B,EAI/B,EACMko6B,GAAoB,SAAC5kH,EAAQruxB,GAIjC,GAHKquxB,EAAO6kH,YACV7kH,EAAO6kH,UAAY,CAAC,IAElB7kH,EAAO6kH,UAAUlz4B,KAAcquxB,EAAOhjU,QAA1C,CAGA,IAAM8nb,EAAeL,GAAezkH,EAAQruxB,GAC5C,GAAIy7xB,GAAapN,GAAS,CAcxB,GAbKkiG,KACHA,GAA2B,CAAC,EAC5BliG,EAAOgvB,cAAcl2vB,GAAG,eAAgB,WACjCknuB,EAAOgvB,cAAcK,cACpB6yE,KACF1wH,GAAO0wH,GAA0B,SAAC5o0B,EAAQ38E,GACxCqjzB,EAAO/gW,IAAIkyR,OAAOszL,GAAezkH,EAAQrjzB,GAC3C,GACAul5B,GAA2B,KAGjC,IAEEA,GAAyBvw3B,GAC3B,OAEF,IAAM8qD,EAAW,SAAA//E,GAIf,IAHA,IAAMkM,EAASlM,EAAEkM,OACXm85B,EAAU/kH,EAAOgvB,cAAc1q0B,MACjCzF,EAAIkm6B,EAAQzm6B,OACTO,KAAK,CACV,IAAM85D,EAAOos2B,EAAQlm6B,GAAGusvB,WACpBzyrB,IAAS/vD,GAAU475B,GAAMvvqB,UAAUrsP,EAAQ+vD,KAC7C2vyB,GAAUy8D,EAAQlm6B,GAAI8yB,EAAWj1B,EAErC,CACF,EACAwl5B,GAAyBvw3B,GAAa8qD,EACtC+n1B,GAAM//1B,KAAKqg2B,EAAcnz4B,EAAW8qD,EACtC,KAAO,CACL,IAAMA,EAAW,SAAA//E,GACf4r2B,GAAUtoD,EAAQruxB,EAAWj1B,EAC/B,EACA8n6B,GAAM//1B,KAAKqg2B,EAAcnz4B,EAAW8qD,GACpCujuB,EAAO6kH,UAAUlz4B,GAAa8qD,CAChC,CAtCA,CAuCF,EACMuo1B,GAAgB355B,EAAA,GACjBi55B,GAAW,CACd/R,yBAAAA,GACE,IAAMnr5B,EAAOtH,KACbk2xB,GAAMv6tB,KAAKr0D,EAAK695B,qBAAsB,SAAAto6B,GACpCio6B,GAAkBx95B,EAAMzK,EAC1B,EACF,EACA0n6B,iBAAAA,CAAkB1n6B,EAAMshB,GACtB,IAAM7W,EAAOtH,KACA,UAATnD,GAA6B,SAATA,IAGpByK,EAAK41e,UAGL/+d,EACE7W,EAAKutP,YACPiwqB,GAAkBx95B,EAAMzK,GAEnByK,EAAK695B,qBAGR795B,EAAK695B,qBAAqBrh6B,KAAKjH,GAF/ByK,EAAK695B,qBAAuB,CAACto6B,GAKxByK,EAAKutP,aAAevtP,EAAKy95B,YAClCz95B,EAAK63c,IAAIkyR,OAAOszL,GAAer95B,EAAMzK,GAAOA,EAAMyK,EAAKy95B,UAAUlo6B,WAC1DyK,EAAKy95B,UAAUlo6B,KAE1B,EACAk92B,qBAAAA,GACE,IAAMzy2B,EAAOtH,KACP64D,EAAOvxD,EAAKgkvB,UACZnsS,EAAM73c,EAAK63c,IACb73c,EAAKy95B,YACPrzI,GAAOpqxB,EAAKy95B,UAAW,SAAC1l6B,EAAOxC,GAC7ByK,EAAK63c,IAAIkyR,OAAOszL,GAAer95B,EAAMzK,GAAOA,EAAMwC,EACpD,UACOiI,EAAKy95B,YAETz95B,EAAK+2J,QAAUxlG,GAAQsmZ,IAC1BtmZ,EAAKh5D,OAAS,KACds/c,EAAIkyR,OAAO/puB,EAAKoruB,UAChBvzR,EAAIkyR,OAAO/puB,EAAKmmvB,WAEdtuS,IACFA,EAAIkyR,OAAOx4qB,GACXsmZ,EAAIkyR,OAAO/puB,EAAK6giB,gBAEpB,IAGIi9X,GAAsB,SAAA/l6B,GAC1B,OAAI2zE,EAAS3zE,GACJ,CACLA,MAAOA,EAAMsuC,MAAM,QACnBy3O,OAAO,GAEAgqgB,EAAU/vxB,EAAO2zE,GACnB,CACL3zE,QACA+lR,OAAO,GAGF,CACLA,OAAO,EACPz7Q,QAAS,kEAGf,EA6BM075B,GAAkB,SAAC175B,EAAS1J,GAEhC,OAAO0J,GADgBiqxB,GAAU3zxB,EAAO0J,SAAW,GAAK,KAAKnI,OAAOvB,EAAO0J,SAE7E,EACM275B,GAAgB,SAAArl6B,GAAM,OAAIA,EAAOmlR,KAAM,EACvC/0C,GAAe,SAAChxO,EAAO0svB,GAA6B,IAAlBpivB,EAAO3H,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,GAC1C/B,EAAS8rvB,EAAU1svB,GACzB,OAAIs8K,EAAU17K,GACLA,EAAS,CACdZ,MAAOA,EACP+lR,OAAO,GACL,CACFA,OAAO,EACPz7Q,WAGK1J,CAEX,EAYMsl6B,GAAW,SAACrlH,EAAQslH,GACxB,IAAM944B,EAAW,CAAC,EACZk0B,EAAS,CAAC,EACV2voB,EAAW,SAAC1zrB,EAAMwC,EAAO0svB,GAC7B,IAAM9rvB,EAASowO,GAAahxO,EAAO0svB,GACnC,OAAIu5K,GAAcrl6B,IAChB2gD,EAAO/jD,GAAQoD,EAAOZ,OACf,IAEPvC,QAAQyE,KAAK8j6B,GAAgB,gCAAgC7j6B,OAAO3E,EAAM,WAAYoD,KAC/E,EAEX,EAYM+rvB,EAAe,SAAAnvvB,GAAI,OAAIu1xB,GAAM1lwB,EAAU7vB,EAAM,EAwBnD,MAAO,CACL49F,SApCe,SAAC59F,EAAM2iF,GACtB,IAAMusqB,EA7CY,SAAAvsqB,GAAI,OAAIxM,EAASwM,EAAKusqB,UAAW,CA6CjC05K,CAAcjm1B,GAxER,SAAAz/E,GAC1B,IAAMy/S,EAAa,WACjB,OAAQz/S,GACN,IAAK,QACH,OAAOouG,EACT,IAAK,UACH,OAAOwtE,EACT,IAAK,WACH,OAAOnxH,EACT,IAAK,SACH,OAAOmtE,EACT,IAAK,SACH,OAAO3uC,EACT,IAAK,SACH,OAAOhW,EACT,IAAK,WACH,OAAOoy1B,GACT,IAAK,WACH,OAAO,SAAAtw3B,GAAG,OAAIs6uB,EAAUt6uB,EAAKk0C,EAAU,EACzC,IAAK,SACH,OAAO,SAAAl0C,GAAG,OAAIm6uB,EAAKn6uB,EAAKyzB,OAAQ,EAClC,QACE,OAAOoxS,EAEb,CAvBmB,GAwBnB,OAAO,SAAAt6W,GAAK,OAAIgxO,GAAahxO,EAAOmgT,EAAW,uBAAuBh+S,OAAOzB,EAAM,KAAM,CAC3F,CA8C4C2l6B,CAAoBlm1B,EAAKusqB,WAAavsqB,EAAKusqB,UAC7E97sB,EA1BkB,SAACpzC,EAAMozC,EAAc87sB,GAC/C,IAAKv7jB,EAAYvgJ,GAAe,CAC9B,IAAMhwC,EAASowO,GAAapgM,EAAc87sB,GAC1C,GAAIu5K,GAAcrl6B,GAChB,OAAOA,EAAOZ,MAEdvC,QAAQC,MAAMso6B,GAAgB,yCAA0C7j6B,OAAO3E,EAAM,YAAcoD,GAEvG,CAEF,CAgByB0l6B,CAAoB9o6B,EAAM2iF,EAAKr8D,QAAS4ouB,GAC7Dr/tB,EAAS7vB,GAAK0O,EAAA,GACTi0E,EAAK,CACRr8D,QAAS8sB,EACT87sB,cAEgBomC,GAAMvxuB,EAAQ/jD,GAAM2zuB,QAAQ,kBAAM2hD,GAAMqzI,EAAgB3o6B,EAAK,GACrE8+D,KAAK,SAAAt8D,GAAK,OAAIkxrB,EAAS1zrB,EAAMwC,EAAO0svB,EAAU,EAC1D,EA2BEC,eACAxnvB,IA1BU,SAAA3H,GAAI,OAAIs1xB,GAAMvxuB,EAAQ/jD,GAAM2zuB,QAAQ,kBAAM2hD,GAAMzlwB,EAAU7vB,GAAMsS,IAAI,SAAAqwE,GAAI,OAAIA,EAAKr8D,OAAO,EAAC,GAAEg0tB,gBAAiB,EA2BtH5yuB,IA1BU,SAAC1H,EAAMwC,GACjB,GAAK2svB,EAAanvvB,GAGX,CACL,IAAM2iF,EAAO9yD,EAAS7vB,GACtB,OAAI2iF,EAAKwre,WACPlujB,QAAQC,MAAM,IAAKyE,OAAO3E,EAAM,oDACzB,GAEA0zrB,EAAS1zrB,EAAMwC,EAAOmgF,EAAKusqB,UAEtC,CATE,OADAjvvB,QAAQyE,KAAK,IAAKC,OAAO3E,EAAM,iGACxB,CAUX,EAcE4sI,MAbY,SAAA5sI,GACZ,IAAM2tO,EAAawhhB,EAAanvvB,GAIhC,OAHI2tO,UACK5pL,EAAO/jD,GAET2tO,CACT,EAQEwxI,MAPY,SAAAn/W,GAAI,OAAIu1xB,GAAMxxuB,EAAQ/jD,EAAM,EAS5C,EAEM+o6B,GAAe,CAAC,SAAU,YAC1BC,GAAe,SAAC3lH,EAAQ4lH,EAAYC,EAAgB585B,GACxD,IAAM685B,EAAUD,EAAeD,EAAWth6B,OACpCyh6B,EAAUF,EAAe585B,GAC/B,IACE885B,EAAQjjY,UACV,CAAE,MAAOpmiB,GAEP,YADAE,QAAQC,MAAM,wCAAwCyE,OAAO2H,EAAM,KAAMvM,EAE3E,CACAop6B,EAAQ/iY,aACJ+iY,EAAQE,iBAAmBD,EAAQC,gBACrChD,GAAehjH,EAAQ+lH,EAAQC,gBAEjCJ,EAAWvh6B,IAAI4E,GApynBM,SAAC+2yB,EAAQ/2yB,GAC9B+2yB,EAAO5iyB,SAAS,aAAc,CAC5BnU,QAEJ,CAiynBEg95B,CAAejmH,EAAQ/2yB,EACzB,EAgCMi95B,GAAW,SAAAlmH,GACf,IAAM4lH,EAAatoH,GAAK,UAClBuoH,EAAiBvoH,GAAK,CAC1B6oH,OAAQ,CACNrjY,SAAUv4a,EACVw4a,WAAYx4a,EACZy7yB,gBAAgB,GAElBjvqB,SAAU,CACR+rS,SAAUv4a,EACVw4a,WAAYx4a,EACZy7yB,gBAAgB,KAKpB,OA3hBqC,SAAAhmH,GACjCA,EAAOt5yB,WACT085B,GAAgBpjH,GAEhBA,EAAOlnuB,GAAG,UAAW,WACnBsq1B,GAAgBpjH,EAClB,EAEJ,CAihBEomH,CAA+BpmH,GAvfS,SAAAA,GACxCA,EAAOlnuB,GAAG,YAAa,SAAAp8E,GACjBk93B,GAAW55E,IACbtjzB,EAAEsqB,gBAEN,GACAg5xB,EAAOlnuB,GAAG,iBAAkB,SAAAp8E,GACtBk93B,GAAW55E,IACbtjzB,EAAEsqB,gBAEN,EACF,CA6eEq/4B,CAAkCrmH,GAC3B,CACL45E,WAAY,WAAF,OAAQA,GAAW55E,EAAO,EACpC37yB,IAAK,SAAA4E,GAAI,OAjDG,SAAC+2yB,EAAQ6lH,EAAgBD,EAAY385B,GACnD,GAAIA,IAAS285B,EAAWth6B,MAAxB,CAEO,IAAK4txB,GAAM2zI,EAAgB585B,GAChC,MAAM,IAAIzJ,MAAM,gBAAgB8B,OAAO2H,EAAM,iBAE3C+2yB,EAAOrrjB,YACTgxqB,GAAa3lH,EAAQ4lH,EAAYC,EAAgB585B,GAEjD+2yB,EAAOlnuB,GAAG,OAAQ,kBAAM6s1B,GAAa3lH,EAAQ4lH,EAAYC,EAAgB585B,EAAK,EAJhF,CAMF,CAsCiBq95B,CAAQtmH,EAAQ6lH,EAAevh6B,MAAOsh6B,EAAY385B,EAAK,EACpE3E,IAAK,WAAF,OAAQsh6B,EAAWth6B,KAAK,EAC3Bi2F,SAAU,SAACtxF,EAAM6oI,GACf+zxB,EAAexh6B,IAxCA,SAACwh6B,EAAgB585B,EAAM6oI,GAC1C,GAAI0+oB,GAAWk1I,GAAcz85B,GAC3B,MAAM,IAAIzJ,MAAM,gCAAgC8B,OAAO2H,IAEzD,OAAAoC,EAAA,GACKw65B,EAAe,CAClB,CAAC585B,GAAIoC,EAAA,GACAymI,EAAI,CACPixZ,WAAY,WACV,IACEjxZ,EAAIixZ,YACN,CAAE,MAAOrmiB,GACPE,QAAQC,MAAM,0CAA0CyE,OAAO2H,EAAM,KAAMvM,EAC7E,CACF,KAGN,CAuByB6p6B,CAAaV,EAAevh6B,MAAO2E,EAAM6oI,GAC9D,EAEJ,EAEM00xB,GAASxwI,GAAMv6tB,KACnBuzqB,GAAUgnD,GAAMhnD,QACZy3L,GAAgB,CACpB59d,GAAI,IACJ01J,GAAI,IACJ8wJ,GAAI,IACJF,GAAI,IACJD,GAAI,IACJD,GAAI,IACJJ,GAAI,IACJ63K,GAAI,IACJnuK,GAAI,IACJouK,IAAK,IACLC,IAAK,IACLC,IAAK,KAEDC,GAAgB9wI,GAAMC,QAAQ,8BAE9B8wI,GAAgB,SAAAnn1B,GACpB,IAAM4wK,EAAW,CAAC,EACZzB,EAAQ2miB,GAAIpurB,GAAG2ooB,WAAaylD,GAAIpurB,GAAGyooB,QACzCy2L,GAAOx3L,GAAQpvpB,EAAQpgE,cAAe,KAAM,SAAArgB,IAJ3B,SAAAiC,GAAG,OAAIA,KAAO0l6B,EAAc,CAKvC/2T,CAAW5wmB,GAGT,cAAcoB,KAAKpB,GACrBqxP,EAAS0nc,QAAU37pB,SAASp9B,EAAO,KAEnCqxP,EAAS2/W,SAAWhxmB,EAAM0hD,WAAW,GACrC2vM,EAAS0nc,QAAUuuO,GAActn6B,IAAUA,EAAM8nF,cAAcpmC,WAAW,IAN5E2vM,EAASrxP,IAAS,CAStB,GACA,IACIiC,EADEygB,EAAK,CAAC2uO,EAAS0nc,SAErB,IAAK92rB,KAAO0l6B,GACNt2qB,EAASpvP,GACXygB,EAAGje,KAAKxC,GAERovP,EAASpvP,IAAO,EAoBpB,OAjBAovP,EAAS3uO,GAAKA,EAAG+pC,KAAK,KAClB4kM,EAAS08Q,SACX18Q,EAAS0T,KAAM,EACXnV,EACFyB,EAASw2qB,MAAO,EAEhBx2qB,EAAS/yL,OAAQ,GAGjB+yL,EAAS/nO,OACPsmO,EACFyB,EAAS/nO,MAAO,GAEhB+nO,EAASw2qB,MAAO,EAChBx2qB,EAAS/nO,MAAO,IAGb+nO,CACT,EACMy2qB,GAAS,WA0BZ,OAAAru5B,EAzBD,SAAAqu5B,EAAYjnH,GAAQ/nyB,EAAA,KAAAgv5B,GAClBnn6B,KAAK4vP,UAAY,CAAC,EAClB5vP,KAAKon6B,gBAAkB,GACvBpn6B,KAAKkgzB,OAASA,EACd,IAAM54yB,EAAOtH,KACbkgzB,EAAOlnuB,GAAG,yBAA0B,SAAAp8E,IAC7B0K,EAAK+/5B,YAAYzq6B,KAAM0K,EAAKgg6B,cAAc1q6B,IAAQA,EAAE66rB,uBACvDivO,GAAOp/5B,EAAKsoP,UAAW,SAAAc,GACjBppP,EAAKig6B,cAAc3q6B,EAAG8zP,KACxBppP,EAAK8/5B,gBAAkB12qB,EAAS82qB,YAAY5y5B,MAAM,GACnC,YAAXhY,EAAEmD,MACJuH,EAAKmg6B,sBAAsB/2qB,GAGjC,GACIppP,EAAKig6B,cAAc3q6B,EAAG0K,EAAK8/5B,gBAAgB,MACT,IAAhC9/5B,EAAK8/5B,gBAAgB5o6B,QACR,YAAX5B,EAAEmD,MACJuH,EAAKmg6B,sBAAsBng6B,EAAK8/5B,gBAAgB,IAGpD9/5B,EAAK8/5B,gBAAgBzp2B,SAG3B,EACF,EAAC,EAAAr8D,IAAA,MAAAjC,MACD,SAAIygF,EAAS3hC,EAAMup3B,EAAS/7lB,GAC1B,IAAMrkU,EAAOtH,KACPulE,EAAOj+D,EAAKqg6B,qBAAqBD,GAKvC,OAJAhB,GAAOx3L,GAAQgnD,GAAMl/tB,KAAK8oB,IAAW,SAAAA,GACnC,IAAM4wK,EAAWppP,EAAKsg6B,eAAe9n1B,EAAS3hC,EAAMonB,EAAMomQ,GAC1DrkU,EAAKsoP,UAAUc,EAAS3uO,IAAM2uO,CAChC,IACO,CACT,GAAC,CAAApvP,IAAA,SAAAjC,MACD,SAAOygF,GACL,IAAM4wK,EAAW1wP,KAAK4n6B,eAAe9n1B,GACrC,QAAI9/E,KAAK4vP,UAAUc,EAAS3uO,aACnB/hB,KAAK4vP,UAAUc,EAAS3uO,KACxB,EAGX,GAAC,CAAAzgB,IAAA,uBAAAjC,MACD,SAAqBqo6B,GACnB,IAAMpg6B,EAAOtH,KACPqqzB,EAAMq9G,EACZ,MAAmB,iBAARr9G,EACF,WACL/izB,EAAK44yB,OAAO/0D,YAAYk/D,GAAK,EAAO,KACtC,EACSn0B,GAAMxhxB,QAAQ21yB,GAChB,WACL/izB,EAAK44yB,OAAO/0D,YAAYk/D,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAC9C,EAEOA,CAEX,GAAC,CAAA/ozB,IAAA,iBAAAjC,MACD,SAAeygF,EAAS3hC,EAAMup3B,EAAS/7lB,GACrC,IAAM/7E,EAAYsmiB,GAAM/mxB,IAAI+/tB,GAAQpvpB,EAAS,KAAMmn1B,IAKnD,OAJAr3qB,EAAUA,EAAUpxP,OAAS,GAAK03xB,GAAM59wB,OAAOs3O,EAAUA,EAAUpxP,OAAS,GAAI,CAC9E+mE,KAAMmi2B,EACN/7lB,MAAOA,GAAS3rU,KAAKkgzB,SAEhBhqB,GAAM59wB,OAAOs3O,EAAU,GAAI,CAChCzxM,KAAMn+C,KAAKkgzB,OAAO39mB,UAAUpkJ,GAC5Bqp3B,YAAa53qB,EAAUh7O,MAAM,IAEjC,GAAC,CAAAtT,IAAA,cAAAjC,MACD,SAAYzC,GACV,OAAOA,EAAEq0P,QAAUr0P,EAAEu0P,SAAWv0P,EAAEo0P,OACpC,GAAC,CAAA1vP,IAAA,gBAAAjC,MACD,SAAczC,GACZ,MAAkB,YAAXA,EAAEmD,MAAsBnD,EAAEw7rB,SAAW,KAAOx7rB,EAAEw7rB,SAAW,GAClE,GAAC,CAAA92rB,IAAA,gBAAAjC,MACD,SAAczC,EAAG8zP,GACf,QAAKA,IAGDA,EAASw2qB,OAAStq6B,EAAEu0P,SAAWT,EAAS/nO,OAAS/rB,EAAEo0P,UAGnDN,EAAS0T,MAAQxnQ,EAAEq0P,QAAUP,EAAS/yL,QAAU/gE,EAAE2rB,cAGlD3rB,EAAEw7rB,UAAY1nc,EAAS0nc,SAAWx7rB,EAAEyzmB,UAAYzzmB,EAAEyzmB,WAAa3/W,EAAS2/W,YAC1EzzmB,EAAEsqB,kBACK,KAGX,GAAC,CAAA5lB,IAAA,wBAAAjC,MACD,SAAsBqxP,GACpB,OAAOA,EAASnrL,KAAOmrL,EAASnrL,KAAK/lE,KAAKkxP,EAASi7E,OAAS,IAC9D,IAAC,CA9FY,GA8ITj/S,GAAW,WACf,IAAMm74B,EA9CS,WACf,IAAMrvoB,EAAU,CAAC,EACXsvoB,EAAY,CAAC,EACbp+B,EAAS,CAAC,EACVtqnB,EAAQ,CAAC,EACT2opB,EAAe,CAAC,EAChBC,EAAkB,CAAC,EACnBC,EAAW,CAAC,EACZC,EAAQ,CAAC,EACT165B,EAAM,SAACsojB,EAAY/1jB,GAAI,OAAK,SAAClD,EAAM2iF,GACvCs2e,EAAWj5jB,EAAK6iB,eAAcnU,EAAA,GACzBi0E,EAAK,CACRz/E,QAEJ,CAAE,EAEF,MAAO,CACLoo6B,UAAW365B,EAAIgrR,EAAS,UACxB4voB,sBAAuB565B,EAAIgrR,EAAS,sBACpC6voB,gBAAiB765B,EAAIgrR,EAAS,gBAC9B8voB,cAAe965B,EAAIgrR,EAAS,cAC5B+voB,eAAgB/65B,EAAIgrR,EAAS,eAC7BgwoB,YAAah75B,EAAIs65B,EAAW,YAC5BW,kBAAmBj75B,EAAIs65B,EAAW,kBAClCY,kBAAmBl75B,EAAIs65B,EAAW,kBAClCa,iBAAkBn75B,EAAIk83B,EAAQ,iBAC9Bk/B,eAAgBp75B,EAAIu65B,EAAc,eAClCc,kBAAmBr75B,EAAIw65B,EAAiB,kBACxCc,eAAgBt75B,EAAIw65B,EAAiB,eACrCe,WAAYv75B,EAAIy65B,EAAU,WAC1Be,QAASx75B,EAAI065B,EAAO,SACpB5Q,QAhBc,SAACz65B,EAAMw65B,GAAO,OAAKj4oB,EAAMviR,EAAK6iB,eAAiB234B,CAAQ,EAiBrEpjjB,OAAQ,WAAF,MAAS,CACbz7E,UACAsvoB,YACA1opB,QACAsqnB,SACAq+B,eACAC,kBACAC,WACAC,QACD,EAEL,CAGiBe,GACf,MAAO,CACLN,iBAAkBd,EAAOc,iBACzBR,UAAWN,EAAOM,UAClBW,eAAgBjB,EAAOiB,eACvBF,eAAgBf,EAAOe,eACvBC,kBAAmBhB,EAAOgB,kBAC1BvR,QAASuQ,EAAOvQ,QAChBgR,cAAeT,EAAOS,cACtBE,YAAaX,EAAOW,YACpBC,kBAAmBZ,EAAOY,kBAC1BM,WAAYlB,EAAOkB,WACnBR,eAAgBV,EAAOU,eACvBF,gBAAiBR,EAAOQ,gBACxBD,sBAAuBP,EAAOO,sBAC9BM,kBAAmBb,EAAOa,kBAC1BM,QAASnB,EAAOmB,QAChB/0jB,OAAQ4zjB,EAAO5zjB,OAEnB,EAEMi1jB,GAAQjxH,GAASoD,IACjB/iyB,GAAS49wB,GAAM59wB,OACnB6w5B,GAASjzI,GAAMv6tB,KACXyt2B,GAAM,WAkFT,OAAAtw5B,EAjFD,SAAAsw5B,EAAYrn5B,EAAI/b,EAASkp0B,GAAe/2zB,EAAA,KAAAix5B,GACtCpp6B,KAAKmoE,QAAU,CAAC,EAChBnoE,KAAK4+2B,WAAa,GAClB5+2B,KAAK+jP,cAAgB,GACrB/jP,KAAKqp6B,UAAY,CAAC,EAClBrp6B,KAAKsp6B,YAAa,EAClBtp6B,KAAK0m0B,WAAY,EACjB1m0B,KAAK2unB,WAAY,EACjB3unB,KAAKmuzB,gBAAiB,EACtBnuzB,KAAKiw0B,cAAgB,KACrBjw0B,KAAK60P,aAAc,EACnB70P,KAAKi3P,UAAW,EAChBj3P,KAAKk9e,SAAU,EACfl9e,KAAK2z5B,aAAe,GACpB3z5B,KAAKml6B,qBAAuB,GAC5Bnl6B,KAAK692B,aAAc,EACnB792B,KAAK8z5B,eAAgB,EACrB9z5B,KAAKkv0B,cAAgBA,EACrBlv0B,KAAK+15B,gBAAkB7mF,EAAcq6F,gBACrCjx5B,GAAOtY,KAAMkl6B,IACb,IAAM595B,EAAOtH,KACbA,KAAK+hB,GAAKA,EACV/hB,KAAKmvX,QAAS,EACd,IAtqtBe+wb,EACXspH,EAqqtBEzwD,EAj/Ce,SAACyiD,EAAwBx15B,GAAO,OAAKm25B,GAAetrL,IAAWD,GAAUC,GAAS7quB,EAASw15B,EAAwBx15B,EAAS,CAi/CvH6od,CAAiBqgX,EAAc12vB,eAAgBxyE,GACzEhG,KAAKgG,QAAUu/5B,GAASj+5B,EAAMyx2B,IAtqtB1BywD,GADWtpH,EAwqtBJ54yB,GAvqtBiBtB,QAAQy0F,UACvB,KAAM,CACnBsxpB,UAAW,SACX5ouB,QAAS+8xB,EAAOn+xB,KAElByn5B,EAAe,WAAY,CACzBz9K,UAAW,WAEby9K,EAAe,SAAU,CACvBz9K,UAAW,WAEby9K,EAAe,SAAU,CACvBz9K,UAAW,WAEby9K,EAAe,eAAgB,CAC7Bz9K,UAAW,WAEby9K,EAAe,WAAY,CACzBz9K,UAAW,WAEby9K,EAAe,kBAAmB,CAChCz9K,UAAW,SACX5ouB,QAAS,KAEXqm5B,EAAe,gBAAiB,CAC9Bz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,SAAU,CACvBz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,eAAgB,CAC7Bz9K,UAAW,SACX5ouB,QAAS,CAAC,IAEZqm5B,EAAe,UAAW,CACxBz9K,UAAW,SACX5ouB,QAAS,oBAEXqm5B,EAAe,oBAAqB,CAClCz9K,UAAW,SACX5ouB,QAAS+8xB,EAAO61G,kBAElByT,EAAe,UAAW,CACxBz9K,UAAW++D,GAAoB5K,EAAQ,WACvC/8xB,QAAS,YAEXqm5B,EAAe,aAAc,CAC3Bz9K,UAAW++D,GAAoB5K,GAC/B/8xB,QAAS,KAEXqm5B,EAAe,0BAA2B,CACxCz9K,UAAW,SACX5ouB,QAAS,KAEXqm5B,EAAe,YAAa,CAC1Bz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,oBAAqB,CAClCz9K,UAAW,SAAA1svB,GACT,IAAM+lR,EAAQpyM,EAAS3zE,IAAU4ze,GAAW5ze,GAC5C,OAAI+lR,EACK,CACL/lR,QACA+lR,SAGK,CACLA,OAAO,EACPz7Q,QAAS,8BAGf,EACAwZ,QAAS,MAEXqm5B,EAAe,0BAA2B,CACxCz9K,UAAW,SACX5ouB,QAAS,CAAC,IAEZqm5B,EAAe,mBAAoB,CACjCz9K,UAAW,SAAA1svB,GACT,IAAM+lR,EAAQsrgB,GAAW,CAAC,QAAS,YAAa,SAAU,WAAYrxxB,GACtE,OAAO+lR,EAAQ,CACb/lR,QACA+lR,SACE,CACFA,OAAO,EACPz7Q,QAAS,uDAEb,EACAwZ,QAAS,YAEXqm5B,EAAe,sBAAuB,CACpCz9K,UAAW,SACX5ouB,QAAS,mCAEXqm5B,EAAe,sBAAuB,CACpCz9K,UAAW,SACX5ouB,QAAS,KAEXqm5B,EAAe,cAAe,CAC5Bz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,+BAAgC,CAC7Cz9K,UAAW,SAAA1svB,GACT,OAAIs8K,EAAUt8K,IAKH2zE,EAAS3zE,GAJX,CACL+lR,OAAO,EACP/lR,SAQK,CACL+lR,OAAO,EACPz7Q,QAAS,8BAGf,EACAwZ,QAAS,eAEXqm5B,EAAe,yBAA0B,CACvCz9K,UAAW,SACX5ouB,QAAS,yDAEXqm5B,EAAe,0BAA2B,CACxCz9K,UAAW,SACX5ouB,QAAS,sDAEXqm5B,EAAe,oBAAqB,CAClCz9K,UAAW,SACX5ouB,QAAS,KAEXqm5B,EAAe,oBAAqB,CAClCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,wBAAyB,CACtCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,2BAA4B,CACzCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,QAAS,CACtBz9K,UAAW,SACX5ouB,QAAS,KAEXqm5B,EAAe,YAAa,CAC1Bz9K,UAAW,SACX5ouB,QAAS,KAEXqm5B,EAAe,oBAAqB,CAClCz9K,UAAW,SACX5ouB,QAAS,KAEXqm5B,EAAe,0BAA2B,CACxCz9K,UAAW,SACX5ouB,QAAS,KAEXqm5B,EAAe,4BAA6B,CAC1Cz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,wBAAyB,CACtCz9K,UAAW,aAEby9K,EAAe,WAAY,CACzBz9K,UAAW,SACX5ouB,QAAS,OAEXqm5B,EAAe,eAAgB,CAC7Bz9K,UAAW,SACX5ouB,QAAS,KAEXqm5B,EAAe,kBAAmB,CAChCz9K,UAAW,SACX5ouB,QAAS,UAEXqm5B,EAAe,SAAU,CACvBz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,gBAAiB,CAC9Bz9K,UAAW,SACX5ouB,QAAS,8MAEXqm5B,EAAe,eAAgB,CAC7Bz9K,UAAW,SACX5ouB,QAAS,8MAEXqm5B,EAAe,oBAAqB,CAClCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,cAAe,CAC5Bz9K,UAAW,SACX5ouB,QAAS,SAEXqm5B,EAAe,cAAe,CAC5Bz9K,UAAW,SAAA1svB,GACT,IAAM+lR,GAAkB,IAAV/lR,GAAmB2zE,EAAS3zE,IAAU+vxB,EAAU/vxB,EAAO2zE,GACrE,OAAIoyM,EACEpyM,EAAS3zE,GACJ,CACLA,MAAOsxxB,GAAMtxxB,EAAMsuC,MAAM,KAAM8lvB,IAC/BrugB,SAEOj3K,EAAU9uG,GACZ,CACLA,QACA+lR,UAEiB,IAAV/lR,EACF,CACLA,MAAO,GACP+lR,SAGK,CACL/lR,QACA+lR,SAIG,CACLA,OAAO,EACPz7Q,QAAS,kDAGf,EACAwZ,QAAS+qyB,GAAWhO,GAAU,GAAK,CAAC,aAEtCspH,EAAe,gBAAiB,CAC9Bz9K,UAAW,WAEby9K,EAAe,mBAAoB,CACjCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,WAAY,CACzBz9K,UAAW,SAAA1svB,GACT,IAAM+lR,EAAQpyM,EAAS3zE,IAAU+vxB,EAAU/vxB,EAAO2zE,GAClD,OAAIoyM,EAEK,CACL/lR,MAFe8uG,EAAU9uG,GAASA,EAAQsxxB,GAAMtxxB,EAAMsuC,MAAM,KAAM8lvB,IAGlErugB,SAGK,CACLA,OAAO,EACPz7Q,QAAS,2CAGf,EACAwZ,QAAS,KAEXqm5B,EAAe,oBAAqB,CAClCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,6BAA8B,CAC3Cz9K,UAAW,SACX5ouB,QAAS,qCAEXqm5B,EAAe,kBAAmB,CAChCz9K,UAAW,SAAA1svB,GACT,IAAM+lR,EAAQzpG,EAAUt8K,IAAU2zE,EAAS3zE,GAC3C,OAAI+lR,GACY,IAAV/lR,GAAmBsrzB,GAAkBh6E,YAAcg6E,GAAkBj6E,SAChE,CACLrxuB,MAAO,GACP+lR,SAGK,CACL/lR,OAAiB,IAAVA,EAAiB,0CAA4CA,EACpE+lR,SAIG,CACLA,OAAO,EACPz7Q,QAAS,8BAGf,EACAwZ,SAAU2ttB,KAEZ04L,EAAe,0BAA2B,CACxCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,aAAc,CAC3Bz9K,UAAW,WAEby9K,EAAe,kBAAmB,CAChCz9K,UAAW,WAEby9K,EAAe,QAAS,CACtBz9K,UAAW,SAAA1svB,GAAK,OAAc,IAAVA,GAAmB2zE,EAAS3zE,IAAUmrD,EAAWnrD,EAAM,EAC3E8jB,QAAS,WAEXqm5B,EAAe,YAAa,CAC1Bz9K,UAAW,WAEby9K,EAAe,UAAW,CACxBz9K,UAAW,WAEby9K,EAAe,qBAAsB,CACnCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,8BAA+B,CAC5Cz9K,UAAW,SACX5ouB,QAAS,KAEXqm5B,EAAe,iBAAkB,CAC/Bz9K,UAAW,SAAA1svB,GACT,IAAM+lR,GAAkB,IAAV/lR,GAAmB2zE,EAAS3zE,GAC1C,OAAI+lR,EACK,CACL/lR,OAAiB,IAAVA,EAAkB,GAAKA,EAC9B+lR,SAGK,CACLA,OAAO,EACPz7Q,QAAS,4BAGf,EACAwZ,QAAS,gJAEXqm5B,EAAe,qBAAsB,CACnCz9K,UAAW,SACX5ouB,QAAS,KAEXqm5B,EAAe,eAAgB,CAC7Bz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,eAAgB,CAC7Bz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,WAAY,CACzBz9K,UAAW,WAEby9K,EAAe,0BAA2B,CACxCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,qBAAsB,CACnCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,0BAA2B,CACxCz9K,UAAW,SACX5ouB,QAAS,IAEXqm5B,EAAe,qBAAsB,CACnCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,WAAY,CACzBz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,gBAAiB,CAC9Bz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,UAAW,CACxBz9K,UAAW,WACX5ouB,QAAS,KAEXqm5B,EAAe,mBAAoB,CACjCz9K,UAAW,WAEby9K,EAAe,iBAAkB,CAC/Bz9K,UAAW,aAEby9K,EAAe,QAAS,CACtBz9K,UAAW,SACX5ouB,QAAS+8xB,EAAOupH,UAAU,OAAS,SAAW,QAEhDD,EAAe,YAAa,CAC1Bz9K,UAAW,WAEby9K,EAAe,yBAA0B,CACvCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,SAAU,CACvBz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,qBAAsB,CACnCz9K,UAAW,SACX5ouB,QAAS,mBAEXqm5B,EAAe,sBAAuB,CACpCz9K,UAAW,SACX5ouB,QAAS,oBAEXqm5B,EAAe,mBAAoB,CACjCz9K,UAAW,SACX5ouB,QAAS,0CAEXqm5B,EAAe,QAAS,CACtBz9K,UAAW,aAEby9K,EAAe,yBAA0B,CACvCz9K,UAAW,aAEby9K,EAAe,gBAAiB,CAC9Bz9K,UAAW,WACX5ouB,QAAS+8xB,EAAO0iE,aAElB4mD,EAAe,sBAAuB,CACpCz9K,UAAW,SACX5ouB,QAAS+8xB,IAEXspH,EAAe,wBAAyB,CACtCz9K,UAAW,aAEby9K,EAAe,6BAA8B,CAC3Cz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,uBAAwB,CACrCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,sBAAuB,CACpCz9K,UAAW,YAEby9K,EAAe,6BAA8B,CAC3Cz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,oBAAqB,CAClCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,2BAA4B,CACzCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,yBAA0B,CACvCz9K,UAAW,UACX5ouB,SAAS,EACTwlD,YAAY,IAEd6g2B,EAAe,oBAAqB,CAClCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,iBAAkB,CAC/Bz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,sBAAuB,CACpCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,oBAAqB,CAClCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,gBAAiB,CAC9Bz9K,UAAW,UACX5ouB,SAAS,EACTwlD,YAAY,IAEd6g2B,EAAe,iBAAkB,CAC/Bz9K,UAAW,SACX5ouB,QAAS,SAEXqm5B,EAAe,WAAY,CACzBz9K,UAAW,WAEby9K,EAAe,SAAU,CACvBz9K,UAAW,SACX5ouB,QAAS,UAEXqm5B,EAAe,eAAgB,CAC7Bz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,gBAAiB,CAC9Bz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,qBAAsB,CACnCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,kBAAmB,CAChCz9K,UAAW,WAEby9K,EAAe,0BAA2B,CACxCz9K,UAAW,WAEby9K,EAAe,mBAAoB,CACjCz9K,UAAW,WAEby9K,EAAe,iBAAkB,CAC/Bz9K,UAAW8+D,KAEb2+G,EAAe,iBAAkB,CAC/Bz9K,UAAW,WAEby9K,EAAe,gBAAiB,CAC9Bz9K,UAAW8+D,KAEb2+G,EAAe,iBAAkB,CAC/Bz9K,UAAW,WAEby9K,EAAe,eAAgB,CAC7Bz9K,UAAW8+D,KAEb2+G,EAAe,cAAe,CAC5Bz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,aAAc,CAC3Bz9K,UAAW,SAAA1svB,GAAK,OAAI2zE,EAAS3zE,KAAoB,IAAVA,CAAc,IAEvDmq6B,EAAe,qBAAsB,CACnCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,UAAW,CACxBz9K,UAAW,UAEby9K,EAAe,oBAAqB,CAClCz9K,UAAW,SACX5ouB,QAAS,+CAEXqm5B,EAAe,uBAAwB,CACrCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,wBAAyB,CACtCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,UAAW,CACxBz9K,UAAW,WAEby9K,EAAe,mBAAoB,CACjCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,oBAAqB,CAClCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,mBAAoB,CACjCz9K,UAAW,aAEby9K,EAAe,oBAAqB,CAClCz9K,UAAW,aAEby9K,EAAe,sBAAuB,CACpCz9K,UAAW,SACX5ouB,QAAS,SAEXqm5B,EAAe,gCAAiC,CAC9Cz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,sBAAuB,CACpCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,cAAe,CAC5Bz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,gBAAiB,CAC9Bz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,mBAAoB,CACjCz9K,UAAW,SACX5ouB,QAAS,IAEXqm5B,EAAe,gBAAiB,CAC9Bz9K,UAAW,SAAA1svB,GACT,OAAI+vxB,EAAU/vxB,EAAO2pF,KAAuB,IAAV3pF,EAEzB,CACLA,MAAOorzB,IAFkB,IAAVprzB,EAAkB,GAAKA,GAGtC+lR,OAAO,GAGF,CACLA,OAAO,EACPz7Q,QAAS,wCAGf,EACAwZ,QAAS,CAAC,CACR9O,MAAO,IACPC,IAAK,IACLghX,OAAQ,UACP,CACDjhX,MAAO,KACPC,IAAK,KACLghX,OAAQ,QACP,CACDjhX,MAAO,IACPihX,OAAQ,MACP,CACDjhX,MAAO,KACPihX,OAAQ,MACP,CACDjhX,MAAO,MACPihX,OAAQ,MACP,CACDjhX,MAAO,OACPihX,OAAQ,MACP,CACDjhX,MAAO,QACPihX,OAAQ,MACP,CACDjhX,MAAO,SACPihX,OAAQ,MACP,CACDjhX,MAAO,MACPg2yB,IAAK,qBACJ,CACDh2yB,MAAO,KACPg2yB,IAAK,uBACJ,CACDh2yB,MAAO,KACPg2yB,IAAK,0BAGTm/G,EAAe,uBAAwB,CACrCz9K,UAAW,SAAA1svB,GACT,OAAImrD,EAAWnrD,GACN,CACLA,OA5rBoBqq6B,EA4rBSrq6B,EA3rB9B,SAAA28F,GACL,IAAM2t0B,EAAcD,EAAS1t0B,GAC7B,OAAOyutB,GAAgBk/G,EACzB,GAyrBQvkpB,OAAO,GAGF,CACLA,OAAO,EACPz7Q,QAAS,6BAlsBW,IAAA+/5B,CAqsB1B,EACAvm5B,QAAS,SAAA4wB,GAAI,MAAI,EAAE,IAErBy13B,EAAe,oBAAqB,CAClCz9K,UAAW,SACX5ouB,QAAS,mBAEXqm5B,EAAe,iBAAkB,CAC/Bz9K,UAAW,SACX5ouB,QAAS,gBAEXqm5B,EAAe,qBAAsB,CACnCz9K,UAAW,SAAA1svB,GACT,OAAI+vxB,EAAU/vxB,EAAO4hZ,IACZ,CACL5hZ,QACA+lR,OAAO,GAEA67H,GAAS5hZ,GACX,CACLA,MAAO,CAACA,GACR+lR,OAAO,GAGF,CACLA,OAAO,EACPz7Q,QAAS,0CAGf,EACAwZ,QAAS,KAEXqm5B,EAAe,uBAAwB,CACrCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,qBAAsB,CACnCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,mBAAoB,CACjCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,wBAAyB,CACtCz9K,UAAW,SAAA1svB,GACT,IAAM+lR,EAAQsrgB,GAAW,CAAC,YAAa,YAAa,YAAarxxB,GACjE,OAAO+lR,EAAQ,CACb/lR,QACA+lR,SACE,CACFA,OAAO,EACPz7Q,QAAS,qDAEb,EACAwZ,QAAS,cAEXqm5B,EAAe,2BAA4B,CACzCz9K,UAAW,SAAA1svB,GACT,IAAM+lR,EAAQsrgB,GAAW,CAAC,YAAa,YAAa,YAAarxxB,GACjE,OAAO+lR,EAAQ,CACb/lR,QACA+lR,SACE,CACFA,OAAO,EACPz7Q,QAAS,qDAEb,EACAwZ,QAAS,cAEXqm5B,EAAe,oBAAqB,CAClCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,sBAAuB,CACpCz9K,UAAW,SACX5ouB,QAAS,KAEXqm5B,EAAe,kBAAmB,CAChCz9K,UAAW,SAAA1svB,GACT,IAAM2G,EAAU,CAAC,SAAU,WAAY,OACjCo/Q,EAAQsrgB,GAAW1qxB,EAAS3G,GAClC,OAAO+lR,EAAQ,CACb/lR,QACA+lR,SACE,CACFA,OAAO,EACPz7Q,QAAS,mBAAmBnI,OAAOwE,EAAQ8lD,KAAK,MAAO,KAE3D,EACA3oC,QAAS,QAEXqm5B,EAAe,kBAAmB,CAChCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,wBAAyB,CACtCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,6BAA8B,CAC3Cz9K,UAAW,UACX5ouB,SAAS,IAEX+8xB,EAAOlnuB,GAAG,gBAAiB,WACzBww1B,EAAe,iBAAkB,CAC/Bz9K,UAAW,SACX5ouB,QAASw6xB,GAAKY,QAAU,WAAQ74yB,IAElC8j6B,EAAe,cAAe,CAC5Bz9K,UAAW,SACX5ouB,QAASynyB,GAAMtS,UAAU4H,EAAO/moB,aAAc,gBAElD,GAg6rBE,IAAMi2jB,EAAYpvuB,KAAKgG,QAAQxB,IAC3B4quB,EAAU,yBACZypI,GAAY7y2B,EAAS+y2B,GAEvB,IAAMl4uB,EAASuumB,EAAU,UACrBvumB,IACFqusB,EAAcrusB,OAASA,GAEzB7gI,KAAK6gI,OAASqusB,EAAcrusB,OAC5B,IAAMzM,EAAUg7mB,EAAU,YACtBh7mB,GACF86sB,EAAc06F,YAAYx1yB,GAE5Bp0H,KAAKqi2B,QAAUnzB,EAAc26F,QAC7B,IAAMthI,EAAiBkkB,GAAkBnlzB,GACrCihyB,IACFwU,GAAaA,aAAalU,mBAAmBN,GAC7C0P,GAASoD,IAAIlD,iBAAiBtP,mBAAmBN,IAEnD,IAAMD,EAAiBqmB,GAAkBrnzB,GACrC6nxB,EAAcmZ,IAChB2P,GAASoD,IAAIlD,iBAAiBrP,mBAAmBR,GAEnDmW,GAAaM,aAAe3vE,EAAU,iBACtCqvE,GAAahgF,QAAUywG,EAAczwG,QACrCz+tB,KAAK2v2B,UAAS,GACd3v2B,KAAKy+2B,gBAAkB,IAAI5kf,GAAIsxb,GAAmB7jzB,GAAO,CACvDg71B,SAAUti2B,KAAKqi2B,UAEjBri2B,KAAK6p6B,QAAU7p6B,KAAKqi2B,QACpBri2B,KAAKq+J,OAAS6vpB,GAAW5mzB,GACzBtH,KAAKkx2B,UAAYniD,GAAoBznzB,GACrCtH,KAAK4vP,UAAY,IAAIu3qB,GAAUnn6B,MAC/BA,KAAK485B,eAAiB,IAAIgG,GAAe5i6B,MACzCmg6B,GAAiBng6B,MACjB,IAAMozuB,EAAchE,EAAU,gBAC1BgE,IACFwiD,GAAIxiD,YAAcA,EAAY3ztB,QAAQ,WAAY,KAEpDzf,KAAKsgb,GAAK,CACR5zZ,SAAUA,KACVyrxB,sBAAkBzyyB,EAClB8nS,KAAM/iL,EACNgjL,KAAMhjL,EACN4tyB,WAAY5tyB,EACZinL,UAAWioE,GAEb35W,KAAKmJ,KAAOi95B,GAAS9+5B,GACrB4n0B,EAAc5xzB,SAAS,cAAe,CACpC4iyB,OAAQlgzB,OAEV,IAAM8p6B,EAAgB36G,GAAiB7nzB,GACnCkjD,EAAWs/2B,IACbA,EAActq6B,KAAK8H,EAAMA,EAE7B,EAAC,EAAAhG,IAAA,SAAAjC,MACD,WACE+8Y,GAAOp8Y,KACT,GAAC,CAAAsB,IAAA,QAAAjC,MACD,SAAMix0B,GACJtw0B,KAAKmrvB,YAAY,YAAY,EAAOmlF,EACtC,GAAC,CAAAhv0B,IAAA,WAAAjC,MACD,WACE,OAAO6kR,GAASlkR,KAClB,GAAC,CAAAsB,IAAA,YAAAjC,MACD,SAAUs1B,GACR,OAAOgpxB,GAAKp7mB,UAAU5tK,EACxB,GAAC,CAAArzB,IAAA,WAAAjC,MACD,SAASxC,EAAMm8Y,EAAYj5Y,GACzB,IAAMiG,EAAUhG,KAAKgG,QAcrB,OAbKA,EAAQgmvB,aAAanvvB,KACpBsyxB,EAAcpvxB,GAChBiG,EAAQy0F,SAAS59F,EAAM,CACrBkvvB,UAAWhsvB,EACXojB,QAAS61X,IAGXhzY,EAAQy0F,SAAS59F,EAAM,CACrBkvvB,UAAWpyY,EACXx2V,QAAS61X,KAIPhzY,EAAQg2W,MAAMn/W,IAAU2zL,EAAYwoN,GAA2BhzY,EAAQxB,IAAI3H,GAAzBm8Y,CAC5D,GAAC,CAAA13Y,IAAA,YAAAjC,MACD,SAAUxC,EAAMgtE,GACd,IAAM4/1B,EAAY/4I,GAAWk+B,GAAW5uzB,MAAOnD,GAC/C,QAAI4s6B,KACK5/1B,QAAqCnkE,IAA5BimvB,GAAcnnvB,IAAI3H,GAItC,GAAC,CAAAyE,IAAA,cAAAjC,MACD,SAAY0U,GACV/T,KAAKm05B,sBAAsBpuF,YAAYhyzB,EACzC,GAAC,CAAAzS,IAAA,aAAAjC,MACD,SAAWxC,EAAMyC,EAAUqsU,GACzB3rU,KAAK485B,eAAepvK,WAAW3wvB,EAAMyC,EAAUqsU,EACjD,GAAC,CAAArqU,IAAA,uBAAAjC,MACD,SAAqBxC,EAAMyC,EAAUqsU,GACnC3rU,KAAK485B,eAAemN,qBAAqBlt6B,EAAMyC,EAAUqsU,EAC3D,GAAC,CAAArqU,IAAA,uBAAAjC,MACD,SAAqBxC,EAAMyC,EAAUqsU,GACnC3rU,KAAK485B,eAAe0C,qBAAqBzi6B,EAAMyC,EAAUqsU,EAC3D,GAAC,CAAArqU,IAAA,cAAAjC,MACD,SAAYygF,EAAS3hC,EAAMup3B,EAAS/7lB,GAClC3rU,KAAK4vP,UAAUpiP,IAAIsyE,EAAS3hC,EAAMup3B,EAAS/7lB,EAC7C,GAAC,CAAArqU,IAAA,cAAAjC,MACD,SAAYgrzB,EAAK/pY,EAAIjhb,EAAO0U,GAC1B,OAAO/T,KAAK485B,eAAezxK,YAAYk/D,EAAK/pY,EAAIjhb,EAAO0U,EACzD,GAAC,CAAAzS,IAAA,oBAAAjC,MACD,SAAkBgrzB,GAChB,OAAOrqzB,KAAK485B,eAAeoN,kBAAkB3/G,EAC/C,GAAC,CAAA/ozB,IAAA,oBAAAjC,MACD,SAAkBgrzB,GAChB,OAAOrqzB,KAAK485B,eAAeqN,kBAAkB5/G,EAC/C,GAAC,CAAA/ozB,IAAA,wBAAAjC,MACD,SAAsBgrzB,GACpB,OAAOrqzB,KAAK485B,eAAeyD,sBAAsBh2G,EACnD,GAAC,CAAA/ozB,IAAA,OAAAjC,MACD,WACE,IAAMiI,EAAOtH,KACTsH,EAAK6nX,SACP7nX,EAAK6nX,QAAS,EACV7nX,EAAK+2J,OACP/2J,EAAKgkvB,UAAUn0D,gBAAkB,QAEjC+xO,GAAM17nB,KAAKlmS,EAAK6giB,gBAChB+gY,GAAMz7nB,KAAKnmS,EAAKya,KAElBza,EAAK+kK,OACL/kK,EAAKgW,SAAS,QAElB,GAAC,CAAAhc,IAAA,OAAAjC,MACD,WACE,IAAMiI,EAAOtH,KACRsH,EAAK6nX,SACR7nX,EAAK6qnB,OACD7qnB,EAAK+2J,QACP/2J,EAAKgkvB,UAAUn0D,gBAAkB,QAC7B7vrB,IAASA,EAAK4n0B,cAAcE,gBAC9B9n0B,EAAK4n0B,cAAcE,cAAgB,QAGrC85F,GAAMz7nB,KAAKnmS,EAAK6giB,gBAChB+gY,GAAMpuH,SAASxzyB,EAAKya,GAAI,UAAWza,EAAK2y2B,aAE1C3y2B,EAAK6nX,QAAS,EACd7nX,EAAKgW,SAAS,QAElB,GAAC,CAAAhc,IAAA,WAAAjC,MACD,WACE,OAAOW,KAAKmvX,MACd,GAAC,CAAA7tX,IAAA,mBAAAjC,MACD,SAAiB8e,EAAO06D,GACtB74E,KAAKsd,SAAS,gBAAiB,CAC7Ba,QACA06D,QAEJ,GAAC,CAAAv3E,IAAA,OAAAjC,MACD,WAAiB,IAAZ0U,EAAI/R,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EACLsF,EAAOtH,KACPwvB,EAAMloB,EAAK6xK,aACjB,GAAI7xK,EAAK41e,QACP,MAAO,GAET,GAAI1td,EAAK,CACP,IAAM064B,EAAQ3+5B,EAAA,GACTwI,EAAK,CACRs4J,MAAM,IAEFhtK,EAAQq/xB,GAAkBlvwB,GAAOA,EAAInwB,MAAQmwB,EAAIib,UACjDuhV,EAAO1kX,EAAKo3uB,WAAWr/uB,EAAO6q6B,GAOpC,OANKA,EAAS3gF,WACZji1B,EAAKgW,SAAS,cAAa/R,EAAA,GACtB2+5B,EAAS,CACZtzzB,QAASpnF,KAGNw8V,CACT,CACE,MAAO,EAEX,GAAC,CAAA1qX,IAAA,OAAAjC,MACD,WAAiB,IAAZ0U,EAAI/R,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EACLsF,EAAOtH,KACTwvB,EAAMloB,EAAK6xK,aACf,IAAK3pJ,IAAQloB,EAAKutP,aAAevtP,EAAK41e,QACpC,MAAO,GAET,IAAM++X,EAAO1w2B,EAAA,GACRwI,EAAK,CACRo+mB,MAAM,EACNv7gB,QAASpnF,IAEPw8V,EAAO1kX,EAAK24R,WAAWg8kB,GACrBkuD,EAAQ5+5B,EAAA,GACT0w2B,EAAQ,CACXp31B,QAASmnW,IASX,GAPKm+iB,EAAS5gF,WACZji1B,EAAKgW,SAAS,cAAe6s5B,GAEP,QAApBA,EAAS70iB,QACXhuX,EAAKgW,SAAS,iBAAkB6s5B,GAElCn+iB,EAAOm+iB,EAAStl5B,QACX65wB,GAAkBlvwB,GAgBrBA,EAAInwB,MAAQ2sX,MAhBe,EACvBj4W,EAAK+l2B,aAAgBxy2B,EAAK+2J,SAC5B7uI,EAAIib,UAAYuhV,GAElB,IAAM40E,EAAOsoe,GAAMj0lB,UAAU3tU,EAAKya,GAAI,QAClC6+a,GACFuoe,GAAOvoe,EAAK1mT,SAAU,SAAA1qH,GACpB,OAAIA,EAAI3yB,OAASyK,EAAKya,KACpByN,EAAInwB,MAAQ2sX,GACL,EAIX,EAEJ,CAOA,OAJAm+iB,EAASvzzB,QAAUqlwB,EAAQrlwB,QAAUpnF,EAAM,MAChB,IAAvB264B,EAAShQ,WACX7y5B,EAAKqo2B,UAAS,GAET3jf,CACT,GAAC,CAAA1qX,IAAA,aAAAjC,MACD,SAAWwlB,EAAS9Q,GAClB,OAAO2quB,GAAW1+uB,KAAM6kB,EAAS9Q,EACnC,GAAC,CAAAzS,IAAA,aAAAjC,MACD,SAAW0U,GACT,OAAOksR,GAAWjgS,KAAM+T,EAC1B,GAAC,CAAAzS,IAAA,gBAAAjC,MACD,SAAcwlB,EAAS9Q,GACjBA,IACF8Q,EAAUvM,GAAO,CACfuM,WACC9Q,IAEL/T,KAAKmrvB,YAAY,oBAAoB,EAAOtmuB,EAC9C,GAAC,CAAAvjB,IAAA,eAAAjC,MACD,SAAa+q6B,QACY1k6B,IAAnB0k6B,EACF1rL,GAAW1+uB,KAAMA,KAAK2z5B,aAAc,CAClCr+hB,OAAQ,QAGVopX,GAAW1+uB,KAAMoq6B,GAEnBpq6B,KAAKirvB,YAAYt/S,QACjB3rc,KAAK2v2B,UAAS,GACd3v2B,KAAK+l0B,aACP,GAAC,CAAAzk0B,IAAA,UAAAjC,MACD,WACE,OAAQW,KAAKsp6B,UACf,GAAC,CAAAho6B,IAAA,WAAAjC,MACD,SAAS8e,GACP,IAAMks5B,GAAYrq6B,KAAKsp6B,WACvBtp6B,KAAKsp6B,YAAcnr5B,EACfA,GAASA,IAAUks5B,GACrBrq6B,KAAKsd,SAAS,QAElB,GAAC,CAAAhc,IAAA,eAAAjC,MACD,WACE,IAAMiI,EAAOtH,KAIb,OAHKsH,EAAK2yF,YACR3yF,EAAK2yF,UAAY3yF,EAAKoz2B,iBAAmBwuD,GAAM1k6B,IAAI8C,EAAKya,GAAK,YAExDza,EAAK2yF,SACd,GAAC,CAAA34F,IAAA,0BAAAjC,MACD,WACE,OAAOW,KAAKy62B,oBACd,GAAC,CAAAn52B,IAAA,aAAAjC,MACD,WAIE,OAHKW,KAAKgm0B,YACRhm0B,KAAKgm0B,UAAYkjG,GAAM1k6B,IAAIxE,KAAK+hB,KAE3B/hB,KAAKgm0B,SACd,GAAC,CAAA1k0B,IAAA,SAAAjC,MACD,WACE,IAAMiI,EAAOtH,KACb,IAAKsH,EAAKqyC,cAAe,CACvB,IAAMnqB,EAAMloB,EAAK2o0B,cACbzgzB,IACFloB,EAAKqyC,cAAgBnqB,EAAImqB,cAE7B,CACA,OAAOryC,EAAKqyC,aACd,GAAC,CAAAr4C,IAAA,SAAAjC,MACD,WACE,IAAMiI,EAAOtH,KACb,IAAKsH,EAAKw3O,gBAAiB,CACzB,IAAM5pD,EAAM5tL,EAAKoruB,SACbx9iB,IACF5tL,EAAKw3O,gBAAkB5pD,EAAIjvK,SAE/B,CACA,OAAO3e,EAAKw3O,eACd,GAAC,CAAAx9O,IAAA,UAAAjC,MACD,WACE,IAAIwpD,EAAIigU,EACFz7D,EAAMrtT,KAAKytvB,SACjB,OAA8H,QAAtH3kY,EAAiC,QAA3BjgU,EAAK7oD,KAAK262B,mBAAqC,IAAZ9xzB,EAAgBA,EAAKwkQ,aAAsC,EAAIA,EAAIx0P,YAA8B,IAAZiwT,EAAgBA,EAAK,IAC7J,GAAC,CAAAxnX,IAAA,aAAAjC,MACD,SAAWu1B,EAAK/3B,EAAM2yB,GACpB,IAAMloB,EAAOtH,KACXovuB,EAAY9nuB,EAAKtB,QAAQxB,IACrB8l6B,EAAuBj7G,GAAwB/nzB,GACrD,GAAIkjD,EAAW8/2B,GACb,OAAOA,EAAqB9q6B,KAAK8H,EAAMstB,EAAKpF,GAAK,EAAM3yB,GAEzD,IAAKuyuB,EAAU,iBAA2B,SAAR5/sB,GAAkBw5D,EAASx5D,IAAyB,SAAjBA,EAAI6pF,UAAgD,IAAzBzkF,EAAI51B,QAAQ,UAAiC,IAAf41B,EAAIp2B,OAChI,OAAOo2B,EAET,IAAM214B,EAAY,IAAI1wiB,GAAIjlW,GAC1B,MAA2B,SAAvB214B,EAAU704B,UAA8C,UAAvB604B,EAAU704B,UAA+C,KAAvB604B,EAAU704B,SACxEd,EAELw6sB,EAAU,iBACL9nuB,EAAKm32B,gBAAgB+rD,WAAW514B,GAEzCA,EAAMttB,EAAKm32B,gBAAgBC,WAAW9p1B,EAAKw6sB,EAAU,sBAEvD,GAAC,CAAA9tuB,IAAA,YAAAjC,MACD,SAAUmwB,GACRwh1B,GAAUhx2B,KAAMwvB,EAClB,GAAC,CAAAluB,IAAA,kBAAAjC,MACD,SAAgB8e,IAv6DM,SAAC+hyB,EAAQ/hyB,GAC3B+hyB,EAAO4zG,gBAAkB314B,IAC3B+hyB,EAAO4zG,cAAgB314B,EAClB+hyB,EAAOjpjB,WACVipjB,EAAO50D,UAAUn0D,gBAAkB11rB,OAAOy+yB,EAAO6zG,mBACjD7zG,EAAO6lB,eA57kBuB,SAAC7lB,EAAQ/hyB,GAAU+hyB,EAAO5iyB,SAAS,0BAA2B,CAChGa,SACC,CA47kBCss5B,CAA4BvqH,EAAQ/hyB,GAExC,CA+5DIus5B,CAAgB1q6B,KAAMme,EACxB,GAAC,CAAA7c,IAAA,kBAAAjC,MACD,WACE,OAAuBW,KAj6Dc8z5B,aAk6DvC,GAAC,CAAAxy5B,IAAA,SAAAjC,MACD,WACEw62B,GAAS752B,KACX,GAAC,CAAAsB,IAAA,UAAAjC,MACD,SAAQ+62B,GACN3ttB,GAAQzsJ,KAAMo62B,EAChB,GAAC,CAAA942B,IAAA,eAAAjC,MACD,WACE,OAAOW,KAAKmsvB,aAAaI,cAC3B,GAAC,CAAAjrvB,IAAA,iBAAAjC,MACD,WACE,OAAOW,KAAKmsvB,aAAak2H,eAC3B,IAAC,CAvXS,GA0XNhnE,GAAMpD,GAASoD,IACf1/uB,GAAOu6tB,GAAMv6tB,KACfgv2B,IAAoB,EAEpB1F,GAAU,GACR2F,GAAsB,SAAAhu6B,GAC1B,IAAMmD,EAAOnD,EAAEmD,KACf47D,GAAKkv2B,GAAcrm6B,MAAO,SAAA07yB,GACxB,OAAQngzB,GACN,IAAK,SACHmgzB,EAAO5iyB,SAAS,eAAgB1gB,GAChC,MACF,IAAK,SACHsjzB,EAAO5iyB,SAAS,eAAgB1gB,GAGtC,EACF,EACMku6B,GAAqB,SAAA3s5B,GACzB,GAAIA,IAAUws5B,GAAmB,CAC/B,IAAMtvH,EAAMpD,GAASoD,IACjBl9xB,GACFk9xB,EAAI12uB,KAAKhjE,OAAQ,SAAUip6B,IAC3BvvH,EAAI12uB,KAAKhjE,OAAQ,SAAUip6B,MAE3BvvH,EAAIhqE,OAAO1vuB,OAAQ,SAAUip6B,IAC7BvvH,EAAIhqE,OAAO1vuB,OAAQ,SAAUip6B,KAE/BD,GAAoBxs5B,CACtB,CACF,EACM4s5B,GAAuB,SAAAC,GAC3B,IAAMC,EAAahG,GAUnB,OATAA,GAAUl0I,GAASk0I,GAAS,SAAA/kH,GAC1B,OAAO8qH,IAAiB9qH,CAC1B,GACI2qH,GAAct7F,eAAiBy7F,IACjCH,GAAct7F,aAAe01F,GAAQzm6B,OAAS,EAAIym6B,GAAQ,GAAK,MAE7D4F,GAAcz7F,gBAAkB47F,IAClCH,GAAcz7F,cAAgB,MAEzB67F,EAAWzs6B,SAAWym6B,GAAQzm6B,MACvC,EASM0s6B,GAAuC,eAAxBjl5B,SAASkl5B,WACxBN,GAAat/5B,EAAA,GACdi55B,GAAW,CACdqF,QAAS,KACTprM,QAAS,KACTjmpB,eAAgB,CAAC,EACjB+w1B,gBAAiB,KACjB1oyB,OAAQ,KACRgrnB,aAAc,IACdC,aAAc,MACds/K,YAAa,aACb53M,KAAMmqF,GACN4xB,aAAc,KACdH,cAAe,KACfr8W,KAAAA,GACE,IAAMzrd,EAAOtH,KACTy+tB,EAAU,GACV59lB,EAAS,GACT0oyB,EAAkB1viB,GAAIsxb,mBAAmBllyB,SAAS2P,UAClD,yBAAyBn1B,KAAK8o6B,KAChCA,EAAkBA,EAAgB9p5B,QAAQ,WAAY,IAAIA,QAAQ,gBAAiB,IAC9E,UAAUhf,KAAK8o6B,KAClBA,GAAmB,MAGvB,IA/nmBYr6F,EA+nmBN2lF,EAAUlz5B,OAAOstuB,SAAWttuB,OAAO0p6B,eACzC,GAAIxW,EACFp2L,EAAUo2L,EAAQtp1B,MAAQsp1B,EAAQp2L,QAClC59lB,EAASg0xB,EAAQh0xB,WACZ,CAEL,IADA,IAAM66B,EAAUz1I,SAAS2a,qBAAqB,UACrC7hC,EAAI,EAAGA,EAAI28J,EAAQl9J,OAAQO,IAAK,CACvC,IAAM26C,EAAMgiH,EAAQ38J,GAAG26C,KAAO,GAC9B,GAAY,KAARA,EAAJ,CAGA,IAAM4x3B,EAAY5x3B,EAAIv6C,UAAUu6C,EAAI6V,YAAY,MAChD,GAAI,8CAA8C9uD,KAAKi5C,GAAM,EACxB,IAA/B4x3B,EAAUts6B,QAAQ,UACpB6hI,EAAS,QAEX49lB,EAAU/krB,EAAIv6C,UAAU,EAAGu6C,EAAI6V,YAAY,MAC3C,KACF,CARA,CASF,CACA,IAAKkvqB,GAAWx4sB,SAAS4ztB,cAAe,CACtC,IAAMngsB,EAAMzzB,SAAS4ztB,cAAcngsB,KACN,IAAzBA,EAAI16C,QAAQ,UACd6hI,EAAS,QAEX49lB,EAAU/krB,EAAIv6C,UAAU,EAAGu6C,EAAI6V,YAAY,KAC7C,CACF,CACAjoD,EAAKm3tB,QAAU,IAAI5kW,GAAI0viB,GAAiB7qD,WAAWjgJ,GACnDn3tB,EAAKii6B,gBAAkBA,EACvBji6B,EAAKui6B,QAAU,IAAIhwiB,GAAIvyX,EAAKm3tB,SAC5Bn3tB,EAAKu5H,OAASA,GA9pmBFqusB,EA+pmBJ5n0B,GA9pmBI0xE,GAAG,YAAa+xe,EAAMkkR,GAAkBC,IACtDA,EAAcl2vB,GAAG,eAAgB+xe,EAAMykR,GAA0BN,GA8pmBjE,EACAq8F,gBAAAA,CAAiB/y1B,GACf,IAAM47C,EAAU57C,EAAegz1B,SAC3Bp3yB,GACFp0H,KAAK4p6B,YAAYx1yB,GAEnB,IAAMyM,EAASroD,EAAeqoD,OAC1BA,IACF7gI,KAAK6gI,OAASA,GAEhB7gI,KAAKw4E,eAAiBA,EACtB,IAAMiz1B,EAAiBjz1B,EAAekz1B,sBACfhm6B,IAAnB+l6B,GACF/5I,GAAO+5I,EAAgB,SAACE,EAAeC,GACrCntH,GAAa9yD,cAAc3sQ,KAAK4sb,GAAcD,CAChD,EAEJ,EACAxy1B,IAAAA,CAAKnzE,GACH,IACI/F,EADEqH,EAAOtH,KAEP6r6B,EAAuB31I,GAAMC,QAAQ,6MAAmN,KAgC1P21I,EAAiB,SAAA7G,GACnBhl6B,EAASgl6B,CACX,EACM8G,EAAc,WAClB,IAEIp3zB,EAFAq3zB,EAAY,EACV/G,EAAU,GAahB5pH,GAAIhqE,OAAO1vuB,OAAQ,QAASoq6B,GAxCT,SAAAlv6B,GACnB,IAAMyC,EAAW0G,EAAQnJ,GACzB,GAAKyC,EAGEA,EAAS0I,MAAMV,EAAM,GAC9B,CAmCE2k6B,CAAa,cACbt3zB,EAns6BW,SAACkvJ,EAAI79L,GAGpB,IAFA,IAAMpc,EAAI,GACJs0vB,EAAe1zvB,EAAWwb,GAAc,SAAAlxD,GAAC,OAAIuhd,GAAOzsa,EAAG,SAAA7qD,GAAC,OAAIinE,EAAWjnE,EAAG+V,EAAE,EAAC,EAAG,SAAAA,GAAC,OAAI47wB,GAAW9muB,EAAG90C,EAAG,EACnG/V,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAC7C,IAAM+V,EAAI+uP,EAAG9kQ,GACRm/yB,EAAappyB,IAChB80C,EAAE9lD,KAAKgR,EAEX,CACA,OAAO80C,CACT,CAyr6BgBsi3B,CAnCQ,SAAAlm6B,GAClB,OAAI4vxB,GAAIpvrB,QAAQove,QAAUggN,GAAIpvrB,QAAQspoB,UACpCiuI,GAAU,wKACH,IACEmtD,IACTntD,GAAU,8GACH,IACE/qyB,EAAShtE,EAAQsyH,UACnB+irB,GAAIl5wB,OAAOn8B,EAAQsyH,UACjB62pB,EAAcnpxB,EAAQ8C,QACxB,CAAC9C,EAAQ8C,QAET,EAEX,CAqBqBqj6B,CAAYnm6B,IAC/BkwxB,GAAMv6tB,KAAKg5C,EAAS,SAAAnlF,GA5IG,IAAA0wxB,KA6IA54yB,EAAK9C,IAAIgrB,EAAIzN,MA5I1Bm+xB,EAAOrrjB,eAAiBqrjB,EAAO/3Q,gBAAkB+3Q,EAAO50D,WAAWvzoB,aAC/EgzzB,GAAqB7qH,GACrBA,EAAO65D,wBACP75D,EAAOzzpB,SAAQ,GACfyzpB,EAAOhjU,SAAU,EAyIf,GAIuB,KAHvBvoY,EAAUuhrB,GAAMI,KAAK3hrB,EAAS,SAAAnlF,GAC5B,OAAQloB,EAAK9C,IAAIgrB,EAAIzN,GACvB,IACYvjB,OACVst6B,EAAe,IAEfnw2B,GAAKg5C,EAAS,SAAAnlF,IA7DY,SAACxpB,EAASwpB,GAAG,OAAKxpB,EAAQq4J,QAAU7uI,EAAItH,QAAQxI,gBAAiBms5B,CAAqB,CA8D1GO,CAAsBpm6B,EAASwpB,GAxBlB,SAACzN,EAAI/b,EAASgg0B,GACjC,IAAM9lB,EAAS,IAAIkpH,GAAOrn5B,EAAI/b,EAASsB,GACvC295B,EAAQnh6B,KAAKo8yB,GACbA,EAAOlnuB,GAAG,OAAQ,aACVgz1B,IAAcr3zB,EAAQn2G,QAC1Bst6B,EAAe7G,EAEnB,GACA/kH,EAAO8lB,UAAY9lB,EAAO8lB,WAAaA,EACvC9lB,EAAO9ja,QACT,CAiBMiwhB,CAhES,SAAA784B,GACf,IAAIzN,EAAKyN,EAAIzN,GAKb,OAJKA,IACHA,EAAKowwB,GAAM3iwB,EAAK,QAAQuH,OAAO,SAAAl6B,GAAI,OAAKw+yB,GAAI72yB,IAAI3H,EAAK,GAAE+1uB,WAAWyoE,GAAI3nO,UACtElkjB,EAAIwnF,aAAa,KAAMj1F,IAElBA,CACT,CAyDqBuq5B,CAAS984B,GAAMxpB,EAASwpB,GAFrCuu1B,GAAU,sEAAuEvu1B,EAIrF,EAEJ,EAEA,OADA6rxB,GAAI12uB,KAAKhjE,OAAQ,QAASoq6B,GACnB,IAAIll6B,QAAQ,SAAAC,GACb7G,EACF6G,EAAQ7G,GAER6r6B,EAAiB,SAAA7G,GACfn+5B,EAAQm+5B,EACV,CAEJ,EACF,EACAzg6B,GAAAA,CAAIud,GACF,OAAyB,IAArB/f,UAAUxD,OACLym6B,GAAQrw5B,MAAM,GACZo+D,EAASjxD,GACXovwB,GAAO8zI,GAAS,SAAA/kH,GACrB,OAAOA,EAAOn+xB,KAAOA,CACvB,GAAGottB,MAAM,MACAx3mB,EAAS51G,IACXkj5B,GAAQlj5B,GAAMkj5B,GAAQlj5B,GAEtB,IAEX,EACAvU,GAAAA,CAAI0yyB,GACF,IAAM54yB,EAAOtH,KACPus6B,EAAiBjl6B,EAAK9C,IAAI07yB,EAAOn+xB,IACvC,OAAIwq5B,IAAmBrsH,IAGA,OAAnBqsH,GACFtH,GAAQnh6B,KAAKo8yB,GAEf4qH,IAAmB,GACnBxj6B,EAAKio0B,aAAervB,EACpB54yB,EAAKgW,SAAS,YAAa,CACzB4iyB,WAEGmiG,KACHA,GAAuB,SAAAzl5B,GACrB,IAAMiM,EAAQvB,EAAKgW,SAAS,gBAC5B,GAAIzU,EAAM2qF,YAGR,OAFA52F,EAAEsqB,iBACFtqB,EAAE42F,YAAc3qF,EAAM2qF,YACf3qF,EAAM2qF,WAEjB,EACA7xF,OAAOomB,iBAAiB,eAAgBs63B,MAnBjCniG,CAsBX,EACAmsH,YAAAA,CAAatq5B,EAAI/b,GACf,OAAOhG,KAAKwN,IAAI,IAAI475B,GAAOrn5B,EAAI/b,EAAShG,MAC1C,EACAmpB,MAAAA,CAAOmvG,GACL,IACI4nrB,EADE54yB,EAAOtH,KAEb,GAAKs4H,EAAL,CAMA,IAAItlD,EAASslD,GAUb,OADA4nrB,EAAS5nrB,EACLuN,EAAOv+H,EAAK9C,IAAI07yB,EAAOn+xB,KAClB,MAELgp5B,GAAqB7qH,IACvB54yB,EAAKgW,SAAS,eAAgB,CAC5B4iyB,WAGmB,IAAnB+kH,GAAQzm6B,QACVmD,OAAOmmB,oBAAoB,eAAgBu63B,IAE7CniG,EAAO/2xB,SACP2h5B,GAAmB7F,GAAQzm6B,OAAS,GAC7B0hzB,GAtBLvkvB,GAAK0/uB,GAAIl5wB,OAAOm2F,GAAW,SAAA9oG,IACzB0wxB,EAAS54yB,EAAK9C,IAAIgrB,EAAIzN,MAEpBza,EAAK6hB,OAAO+2xB,EAEhB,EAPF,MAJE,IAAK,IAAInhzB,EAAIkm6B,GAAQzm6B,OAAS,EAAGO,GAAK,EAAGA,IACvCuI,EAAK6hB,OAAO874B,GAAQlm6B,GA4B1B,EACAosvB,WAAAA,CAAYk/D,EAAK/pY,EAAIjhb,GACnB,IAAIwpD,EACEvhD,EAAOtH,KACPws6B,EAAWxj1B,EAAS3pF,GAA6B,QAAnBwpD,EAAKxpD,EAAM0iB,UAA4B,IAAZ8mC,EAAgBA,EAAKxpD,EAAM+K,MAAQ/K,EAClG,OAAQgrzB,GACN,IAAK,eAED,IAAK/izB,EAAK9C,IAAIgo6B,GAAW,CACvB,IAAMC,EAAgBpt6B,EAAM2G,QAC5B,IAAIoj6B,GAAOoD,EAAUC,EAAenl6B,GAAM80Y,QAC5C,CACA,OAAO,EAEX,IAAK,kBAED,IAAM8ja,EAAS54yB,EAAK9C,IAAIgo6B,GAIxB,OAHItsH,GACFA,EAAO/2xB,UAEF,EAEX,IAAK,kBAED,IAAM+2xB,EAAS54yB,EAAK9C,IAAIgo6B,GACxB,OAAKtsH,GAIDA,EAAO14nB,WACT04nB,EAAO1ygB,OAEP0ygB,EAAOzygB,QAEF,IARLnmS,EAAK6jvB,YAAY,gBAAgB,EAAO9rvB,IACjC,GAUf,QAAIiI,EAAKio0B,cACAjo0B,EAAKio0B,aAAapkF,YAAYk/D,EAAK/pY,EAAIjhb,EAGlD,EACA465B,YAAa,WACXt+1B,GAAKsp2B,GAAS,SAAA/kH,GACZA,EAAO/tL,MACT,EACF,EACAu6S,QAAS,SAAC3v5B,EAAMkH,GACd05xB,GAAKnwyB,IAAIuP,EAAMkH,EACjB,EACAs+K,UAAW,SAAA5tK,GACT,OAAOgpxB,GAAKp7mB,UAAU5tK,EACxB,EACA06yB,SAAAA,CAAUnvB,GACR,IAAMqvB,EAAevv0B,KAAKuv0B,aACtBvv0B,KAAKuv0B,eAAiBrvB,IACpBqvB,GACFA,EAAajyzB,SAAS,aAAc,CAClCijhB,cAAe2/Q,IAGnBA,EAAO5iyB,SAAS,WAAY,CAC1BijhB,cAAegvS,KAGnBvv0B,KAAKuv0B,aAAervB,CACtB,EACA0pH,WAAAA,CAAYx1yB,GACVp0H,KAAKy+tB,QAAU,IAAI5kW,GAAI75X,KAAKup6B,iBAAiB7qD,WAAWtqvB,EAAQ30G,QAAQ,OAAQ,KAChFzf,KAAK6p6B,QAAU,IAAIhwiB,GAAI75X,KAAKy+tB,QAC9B,IAEFosM,GAAc93c,QAEd,IACQ45c,GAsJA17iB,GACA27iB,GACA7slB,GA0EJ59U,GAhNE0q6B,GAPG,CACLC,kBAXwB,SAAA7o5B,GAAK,MAAK,CAClCA,QACAm7D,MAAOz7E,GAAKsgB,GACZg2X,QAAS,SAAAl6Y,GAAI,OAAIoyxB,GAAMluwB,EAAOlkB,GAAMo3uB,gBAAgB,EACrD,EAQChssB,MAPY,SAAAhnC,GACZwo6B,GAAUpo6B,IAAIJ,EAChB,EAMEwrD,KALW,WAAH,OAASg92B,GAAUno6B,MAAM2yuB,gBAAiB,EAMlDtvuB,OAfI8k6B,GAAYrtH,MAUMz3yB,OAUpB6f,GAAMhL,KAAKgL,IACfC,GAAMjL,KAAKiL,IACXqxF,GAAQt8F,KAAKs8F,MACT+zzB,GAAmB,SAACpm5B,EAAMqr2B,EAAYltnB,GAC1C,IAAIhwP,EAAIk92B,EAAWl92B,EACfC,EAAIi92B,EAAWj92B,EACb2iC,EAAI/wB,EAAK+wB,EACTs1B,EAAIrmD,EAAKqmD,EACTgg2B,EAAUh7C,EAAWt60B,EACrBu13B,EAAUj7C,EAAWhlzB,EACrBkg2B,GAAYpoqB,GAAO,IAAIn3N,MAAM,IAyBnC,MAxBoB,MAAhBu/3B,EAAS,KACXn45B,GAAKk45B,GAEa,MAAhBC,EAAS,KACXp45B,GAAKk45B,GAEa,MAAhBE,EAAS,KACXn45B,GAAKikG,GAAMi0zB,EAAU,IAEH,MAAhBC,EAAS,KACXp45B,GAAKkkG,GAAMg0zB,EAAU,IAEH,MAAhBE,EAAS,KACXn45B,GAAKi4D,GAEa,MAAhBkg2B,EAAS,KACXp45B,GAAK4iC,GAEa,MAAhBw13B,EAAS,KACXn45B,GAAKikG,GAAMhsC,EAAI,IAEG,MAAhBkg2B,EAAS,KACXp45B,GAAKkkG,GAAMthE,EAAI,IAEVy13B,GAASr45B,EAAGC,EAAG2iC,EAAGs1B,EAC3B,EA8CMmg2B,GAAW,SAACr45B,EAAGC,EAAG2iC,EAAGs1B,GACzB,MAAO,CACLl4D,IACAC,IACA2iC,IACAs1B,IAEJ,EAIMog2B,GAAO,CACX5xc,QAhDc,SAAC70c,EAAM+wB,EAAGs1B,GACxB,OAAOmg2B,GAASxm5B,EAAK7R,EAAI4iC,EAAG/wB,EAAK5R,EAAIi4D,EAAGrmD,EAAK+wB,EAAQ,EAAJA,EAAO/wB,EAAKqmD,EAAQ,EAAJA,EACnE,EA+CE+/1B,oBACAM,yBA3D+B,SAAC1m5B,EAAMqr2B,EAAYs7C,EAAeC,GACjE,IAAK,IAAIxu6B,EAAI,EAAGA,EAAIwu6B,EAAK/u6B,OAAQO,IAAK,CACpC,IAAM+hD,EAAMis3B,GAAiBpm5B,EAAMqr2B,EAAYu7C,EAAKxu6B,IACpD,GAAI+hD,EAAIhsC,GAAKw45B,EAAcx45B,GAAKgsC,EAAIhsC,EAAIgsC,EAAIpJ,GAAK413B,EAAc513B,EAAI413B,EAAcx45B,GAAKgsC,EAAI/rC,GAAKu45B,EAAcv45B,GAAK+rC,EAAI/rC,EAAI+rC,EAAIksB,GAAKsg2B,EAActg2B,EAAIsg2B,EAAcv45B,EACjK,OAAOw45B,EAAKxu6B,EAEhB,CACA,OAAO,IACT,EAoDEmrmB,UAhDgB,SAACvjlB,EAAM6m5B,GACvB,IAAM3je,EAAKlib,GAAIhB,EAAK7R,EAAG045B,EAAS145B,GAC1By0b,EAAK5hb,GAAIhB,EAAK5R,EAAGy45B,EAASz45B,GAC1B66kB,EAAKlokB,GAAIf,EAAK7R,EAAI6R,EAAK+wB,EAAG813B,EAAS145B,EAAI045B,EAAS913B,GAChDm4iB,EAAKnokB,GAAIf,EAAK5R,EAAI4R,EAAKqmD,EAAGwg2B,EAASz45B,EAAIy45B,EAASxg2B,GACtD,OAAI4ihB,EAAK/lJ,EAAK,GAAKgmJ,EAAKtmJ,EAAK,EACpB,KAEF4je,GAAStje,EAAIN,EAAIqmJ,EAAK/lJ,EAAIgmJ,EAAKtmJ,EACxC,EAwCEg/C,MAvCY,SAAC5he,EAAM8m5B,EAAWC,GAC9B,IAAI7je,EAAKljb,EAAK7R,EACVy0b,EAAK5ib,EAAK5R,EACV66kB,EAAKjpkB,EAAK7R,EAAI6R,EAAK+wB,EACnBm4iB,EAAKlpkB,EAAK5R,EAAI4R,EAAKqmD,EACjB2g2B,EAAMF,EAAU345B,EAAI245B,EAAU/13B,EAC9Bk23B,EAAMH,EAAU145B,EAAI045B,EAAUzg2B,EAC9B6g2B,EAAclm5B,GAAI,EAAG8l5B,EAAU345B,EAAI+0b,GACnCike,EAAcnm5B,GAAI,EAAG8l5B,EAAU145B,EAAIw0b,GACnCwke,EAAapm5B,GAAI,EAAGiokB,EAAK+9U,GACzBK,EAAarm5B,GAAI,EAAGkokB,EAAK+9U,GAW/B,OAVA/je,GAAMgke,EACNtke,GAAMuke,EACFJ,IACF99U,GAAMi+U,EACNh+U,GAAMi+U,EACNjke,GAAMkke,EACNxke,GAAMyke,GAIDb,GAAStje,EAAIN,GAFpBqmJ,GAAMm+U,GAEuBlke,GAD7BgmJ,GAAMm+U,GACgCzke,EACxC,EAkBE1xZ,OAAQs13B,GACRc,eAVqB,SAAAp7Y,GACrB,OAAOs6Y,GAASt6Y,EAAW72gB,KAAM62gB,EAAW32gB,IAAK22gB,EAAWl0gB,MAAOk0gB,EAAWh0gB,OAChF,GA+EMmsuB,IAzCE/5X,GAAQ,CAAC,EACT27iB,GAAY,CAAC,EACb7slB,GAAY,CAAC,EA+BZ,CACL1zK,KA/BW,SAACtqJ,EAAI6S,GAChB,IAAMs54B,EAAa,kBAAmB1s6B,OAAOozB,EAAK,oBAC5Cu54B,EAAY,kBAAmB3s6B,OAAOozB,EAAK,2CAA2CpzB,OAAOugB,EAAI,6BACvG,QAAkBrc,IAAdurX,GAAMlvW,GACR,OAAOkvW,GAAMlvW,GAEb,IAAM6jC,EAAO,IAAI/+C,QAAQ,SAACC,EAASC,GACjC,IAAMqn6B,EArCE,SAACC,EAAWC,GAA8B,IAApB9/1B,EAAOxsE,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,IAC1CiD,GAAO,EACPygB,EAAQ,KACNyzd,EAAW,SAAAo1b,GAAS,OAAI,WAC5B,IAAKtp6B,EAAM,CACTA,GAAO,EACO,OAAVygB,IACFkrB,aAAalrB,GACbA,EAAQ,MACT,QAAA8o5B,EAAAxs6B,UAAAxD,OAN6BuV,EAAI,IAAAU,MAAA+55B,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJ165B,EAAI065B,GAAAzs6B,UAAAys6B,GAOlCF,EAAUvm6B,MAAM,KAAM+L,EACxB,CACF,CAAE,EACIjN,EAAUqye,EAASk1b,GACnBtn6B,EAASoye,EAASm1b,GAMxB,MAAO,CACLj65B,MANY,WAAc,IAAD,IAAAq65B,EAAA1s6B,UAAAxD,OAATuV,EAAI,IAAAU,MAAAi65B,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJ565B,EAAI465B,GAAA3s6B,UAAA2s6B,GACf1p6B,GAAkB,OAAVygB,IACXA,EAAQ0lB,WAAW,kBAAMrkC,EAAOiB,MAAM,KAAM+L,EAAK,EAAEy6D,GAEvD,EAGE1nE,UACAC,SAEJ,CAYuB6n6B,CAAQ9n6B,EAASC,GAChC6l6B,GAAU7q5B,GAAMqs5B,EAAOtn6B,QACvBi2yB,GAAaA,aAAa5rE,WAAWv8sB,GAAK9yB,KAAK,kBAAMss6B,EAAO/55B,MAAM855B,EAAU,EAAE,kBAAMC,EAAOrn6B,OAAOmn6B,EAAW,EAC/G,GAEA,OADAj9iB,GAAMlvW,GAAM6jC,EACLA,CAEX,EAkBEp4C,IAjBU,SAACuU,EAAI5d,QACOuB,IAAlBkn6B,GAAU7q5B,KACZ6q5B,GAAU7q5B,GAAI5d,UACPyo6B,GAAU7q5B,IAEnBkvW,GAAMlvW,GAAMlb,QAAQC,QAAQ3C,GAC5B47U,GAAUh+T,GAAM5d,CAClB,EAWEG,IAVU,SAAAyd,GACV,OAAOA,KAAMg+T,EACf,EASEv7U,IALU,SAAAud,GAAE,OAAIg+T,GAAUh+T,EAAI,EAM9BymxB,OATa,SAAAzmxB,UACNkvW,GAAMlvW,EACf,IA8CF,IACE,IAAMthB,GAAO,oBACb0B,GAAeR,OAAOQ,cACTP,QAAQnB,GAAMA,IAC3B0B,GAAa8B,WAAWxD,GAC1B,CAAE,MAAO7D,GACPuF,GAxCoB,WACpB,IAAIgC,EAAO,CAAC,EACRR,EAAO,GACLjC,EAAU,CACdwB,QAAS,SAAA5B,GAEP,OADa6C,EAAK7C,IACG,IACvB,EACAM,QAAS,SAACN,EAAKjC,GACbsE,EAAKG,KAAKxC,GACV6C,EAAK7C,GAAOG,OAAOpC,EACrB,EACAiC,IAAK,SAAA8I,GACH,OAAOzG,EAAKyG,EACd,EACAnG,WAAY,SAAA3C,GACVqC,EAAOA,EAAKozB,OAAO,SAAAomB,GAAC,OAAIA,IAAM77C,CAAG,UAC1B6C,EAAK7C,EACd,EACAuG,MAAO,WACLlE,EAAO,GACPQ,EAAO,CAAC,CACV,EACA3F,OAAQ,GAOV,OALAT,OAAOw2C,eAAe7yC,EAAS,SAAU,CACvC8C,IAAK,WAAF,OAAQb,EAAKnF,MAAM,EACtB82C,cAAc,EACdD,YAAY,IAEP3zC,CACT,CA/BsB,EAyCtB,CACA,IAEMmt6B,GAAY,CAChBC,KAAM,CACJ1B,SAEF55iB,KAAM,CACJw6c,SACA93C,SACAjqC,MACApyX,OACAgqiB,mBACAW,cACA7mH,QACAxmyB,aAdehV,GAef4s6B,cA11WkB,SAAA7uH,GACpB,IAAM8+D,EAAeS,KACf4B,EAAWJ,GAAe/gE,EAAQ8+D,GACxC,MAAO,CACL3wyB,OAAQ,SAAC0yyB,GAAS,IAAEiuD,IAAgBht6B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,KAAAA,UAAA,GAAO,OAAKq/2B,EAAShzyB,OAAO0yyB,EAAWiuD,EAAmBnuD,GAAiB3gE,QAAUx6yB,EAAU,EAEvI,GAs1WEy5c,IAAK,CACHw3V,cACAs4H,WAAY1xI,GACZglB,cACAtK,SAAAA,GACA8E,gBACArvD,cACAhC,WAAY8rH,GACZ9vE,oBACAo8B,oBACA3B,mBACA+sG,UAAWx6D,GACXrryB,MAAOstuB,GAAWttuB,OAEpB2iT,KAAM,CACJmnb,UACArI,YACA1zrB,KAAM06tB,GACNnkC,UACApiD,aACA3jF,UACA8jF,WAAYgpF,IAEd9+C,OACA6oB,aAAAA,GACAsjB,aACAklD,aACAe,eACA46C,kBACAjmD,iBACAd,uBACAqpD,oBACAiC,aACAiC,UACAt7F,gBACA+8F,iBACAxvH,IAAKpD,GAASoD,IACd0B,aAAcA,GAAaA,aAC3BpxD,iBACAwzD,gBACAC,gBACAy7D,eACA7vH,YACA6hL,iBACA712B,KAAMk/tB,GAAMl/tB,KACZtiD,QAASwhxB,GAAMxhxB,QACf+/B,GAAIyhvB,GAAMzhvB,GACVgpM,QAASy4iB,GAAMz4iB,QACf04iB,QAASD,GAAMC,QACfx6tB,KAAMu6tB,GAAMv6tB,KACZxsD,IAAK+mxB,GAAM/mxB,IACXmnxB,KAAMJ,GAAMI,KACZvzb,QAASmzb,GAAMnzb,QACfzqV,OAAQ49wB,GAAM59wB,OACdi+wB,KAAML,GAAMK,KACZzvxB,QAASovxB,GAAMpvxB,QACfoouB,QAASgnD,GAAMhnD,QACfsnD,gBAAiBN,GAAMM,iBAEnB24I,GAAYj5I,GAAM59wB,OAAOuy5B,GAAegE,IAaxClt6B,OAAOstuB,SAAWttuB,OAAOyt6B,SAJF,SAAAngM,GAC3BttuB,OAAOstuB,QAAUA,EACjBttuB,OAAOyt6B,QAAUngM,CACnB,CAEEogM,CAAqBF,IAZO,SAAAlgM,GAE1B,IACEh9rB,EAAOC,QAAU+8rB,CACnB,CAAE,MAAOrwpB,GAAI,CAEjB,CAQA0w1B,CAAsBH,GAEzB,CA3m8BD,GAgn8BA,WAGI,IAAII,EAAWtgM,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,yBAEtCk7yB,EAAS,EA8BPjzB,EAAe,SAAAhvxB,GAAI,OAAI,SAAAV,GAAK,cAAWA,IAAUU,CAAK,CAAD,EACrDizE,EAFW,SAAAjzE,GAAI,OAAI,SAAAV,GAAK,OAZf,SAAAyV,GACb,IATgB+vC,EAAGtF,EACfsJ,EAQEptC,SAAW3G,EACjB,OAAU,OAANA,EACK,OACQ,WAAN2G,GAAkBhH,MAAMC,QAAQI,GAClC,QACQ,WAAN2G,IAAuCshD,EAdlClY,EAcsB/vC,EAAeurC,GAdlCd,EAcsB99C,QAZZzD,UAYkCqiD,EAAMwiW,cAAc9lV,KAThD,QAAxBlU,EAAKhE,EAAEtF,mBAAqC,IAAZsJ,OAAqB,EAAIA,EAAGhsD,QAAU0iD,EAAY1iD,MAUpF,SAEA4e,EAHwC,IAACshD,EAAG1c,CAKvD,CACkCyoB,CAAOzpE,KAAWU,CAAK,CAAD,CAEvC+uxB,CAAS,UACpBnzmB,EAAYozmB,EAAa,WACzBG,EAAa,SAAA5pxB,GAAC,OAAIA,OAA8B,EAChD6pxB,EAAgB,SAAA7pxB,GAAC,OAAK4pxB,EAAW5pxB,EAAG,EACpCklD,EAAaukuB,EAAa,YAC1Bp3pB,EAAWo3pB,EAAa,UAGxBplO,EAAW,SAAAtqjB,GACf,OAAO,WACL,OAAOA,CACT,CACF,EACMowxB,EAAe,SAACnqxB,EAAGC,GACvB,OAAOD,IAAMC,CACf,EACMuqxB,EAAQnmO,GAAS,GAEjBomO,EAAQ,WACZ,SAAAA,EAAYz3uB,EAAKj5C,GAAO8Y,EAAA,KAAA43wB,GACtB/vxB,KAAKs4C,IAAMA,EACXt4C,KAAKX,MAAQA,CACf,CAAC,OAAAyZ,EAAAi3wB,EAAA,EAAAzuxB,IAAA,OAAAjC,MAOD,SAAK2wxB,EAAQC,GACX,OAAIjwxB,KAAKs4C,IACA23uB,EAAOjwxB,KAAKX,OAEZ2wxB,GAEX,GAAC,CAAA1uxB,IAAA,SAAAjC,MACD,WACE,OAAOW,KAAKs4C,GACd,GAAC,CAAAh3C,IAAA,SAAAjC,MACD,WACE,OAAQW,KAAKs4C,GACf,GAAC,CAAAh3C,IAAA,MAAAjC,MACD,SAAI6wxB,GACF,OAAIlwxB,KAAKs4C,IACAy3uB,EAASpyvB,KAAKuyvB,EAAOlwxB,KAAKX,QAE1B0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,OAAAjC,MACD,SAAK8wxB,GACH,OAAInwxB,KAAKs4C,IACA63uB,EAAOnwxB,KAAKX,OAEZ0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAOjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACpC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAQjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACrC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAKjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,OACvBW,KAEA+vxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,QAAAjC,MACD,SAAMovI,GACJ,OAAOzuI,KAAKs4C,IAAMt4C,KAAKX,MAAQovI,CACjC,GAAC,CAAAntI,IAAA,KAAAjC,MACD,SAAGovI,GACD,OAAOzuI,KAAKs4C,IAAMt4C,KAAOyuI,CAC3B,GAAC,CAAAntI,IAAA,aAAAjC,MACD,SAAW+wxB,GACT,OAAOpwxB,KAAKs4C,IAAMt4C,KAAKX,MAAQ+wxB,GACjC,GAAC,CAAA9uxB,IAAA,UAAAjC,MACD,SAAQ+wxB,GACN,OAAOpwxB,KAAKs4C,IAAMt4C,KAAOowxB,GAC3B,GAAC,CAAA9uxB,IAAA,WAAAjC,MACD,SAASsK,GACP,GAAK3J,KAAKs4C,IAGR,OAAOt4C,KAAKX,MAFZ,MAAM,IAAIK,MAAMiK,QAAyCA,EAAU,0BAIvE,GAAC,CAAArI,IAAA,YAAAjC,MAID,WACE,OAAOW,KAAKs4C,IAAMt4C,KAAKX,MAAQ,IACjC,GAAC,CAAAiC,IAAA,iBAAAjC,MACD,WACE,OAAOW,KAAKX,KACd,GAAC,CAAAiC,IAAA,OAAAjC,MACD,SAAKgxxB,GACCrwxB,KAAKs4C,KACP+3uB,EAAOrwxB,KAAKX,MAEhB,GAAC,CAAAiC,IAAA,UAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,CAACt4C,KAAKX,OAAS,EACnC,GAAC,CAAAiC,IAAA,WAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,QAAQ92C,OAAOxB,KAAKX,MAAO,KAAO,QACtD,IAAC,EAAAiC,IAAA,OAAAjC,MApFD,SAAYA,GACV,OAAO,IAAI0wxB,GAAS,EAAM1wxB,EAC5B,GAAC,CAAAiC,IAAA,OAAAjC,MACD,WACE,OAAO0wxB,EAAShhD,aAClB,GAAC,CAAAztuB,IAAA,OAAAjC,MA4DD,SAAYA,GACV,OAAO8vxB,EAAc9vxB,GAAS0wxB,EAASpyvB,KAAKt+B,GAAS0wxB,EAAS/gX,MAChE,IAAC,CAxEW,GA2Fd+gX,EAAShhD,cAAgB,IAAIghD,GAAS,GAEtC,IAAMQ,EAAgB97wB,MAAMzW,UAAUgB,QAEhCi+G,EAAW,SAAC4mJ,EAAI/uP,GAAC,OADJ,SAACy0V,EAAI9tV,GAAC,OAAK80wB,EAAc/wxB,KAAK+pW,EAAI9tV,EAAG,CAC5Bg1wB,CAAW5shB,EAAI/uP,IAAM,CAAE,EAC7C3F,EAAM,SAAC00P,EAAI1+P,GAGf,IAFA,IAAM1G,EAAMolQ,EAAGrlQ,OACTorD,EAAI,IAAIn1C,MAAMhW,GACXM,EAAI,EAAGA,EAAIN,EAAKM,IAAK,CAC5B,IAAM+V,EAAI+uP,EAAG9kQ,GACb6qD,EAAE7qD,GAAKoG,EAAE2P,EAAG/V,EACd,CACA,OAAO6qD,CACT,EACMu/2B,EAAS,SAACtlqB,EAAI1+P,GAClB,IAAK,IAAIpG,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAE7CoG,EADU0+P,EAAG9kQ,GACRA,EACP,CACF,EAkBM4E,EAAO5F,OAAO4F,KAUF,oBAAXhC,OAAyBA,OAAS0wC,SAAS,eAATA,GAEzC,IAwHcuX,EAlHR/sD,EAAO,SAAA+5G,GAEX,OADUA,EAAQuoW,IAAI9lW,SACb35F,aACX,EACM3f,EAAO,SAAA62G,GAAO,OAAIA,EAAQuoW,IAAIn0X,QAAS,EACvC+C,EAAS,SAAAtyE,GAAC,OAAI,SAAAm7F,GAAO,OAAI72G,EAAK62G,KAAan7F,CAAE,CAAD,EAC5C2pW,EAAY,SAAAxuQ,GAAO,OAZT,IAYa72G,EAAK62G,IAA0C,aAAlB/5G,EAAK+5G,EAAwB,EACjFsuQ,EAAYn3R,EAVF,GAWVo3R,EAASp3R,EAVF,GAWP47sB,EAAa57sB,EAdF,GAeXgxsB,EAAqBhxsB,EAdD,IAgBpB2psB,EAAS,SAACv4U,EAAK79c,EAAKjC,GACxB,KAAI2zE,EAAS3zE,IAAUs8K,EAAUt8K,IAAUs4H,EAASt4H,IAIlD,MADAvC,QAAQC,MAAM,sCAAuCuE,EAAK,YAAajC,EAAO,cAAe8/c,GACvF,IAAIz/c,MAAM,kCAHhBy/c,EAAInoW,aAAa11G,EAAKjC,EAAQ,GAKlC,EACM47xB,EAAQ,SAACrkrB,EAASt1G,EAAKjC,GAC3Bq4xB,EAAO9grB,EAAQuoW,IAAK79c,EAAKjC,EAC3B,EACMgqb,EAAS,SAACzyU,EAASmuL,GACvB,IAAMo6K,EAAMvoW,EAAQuoW,KAzCT,SAAC5hb,EAAKp4B,GAEjB,IADA,IAAMwnC,EAAQhpC,EAAK45B,GACV4f,EAAI,EAAG1+C,EAAMkuC,EAAMnuC,OAAQ2+C,EAAI1+C,EAAK0+C,IAAK,CAChD,IAAMp+C,EAAI4tC,EAAMwQ,GAEhBh4C,EADUo4B,EAAIx+B,GACTA,EACP,CACF,CAmCE48D,CAAKopO,EAAO,SAAClgP,EAAG1H,GACdu6uB,EAAOv4U,EAAKhia,EAAG0H,EACjB,EACF,EACMgxC,EAAQ,SAAC+gB,EAASt1G,GACtB,IAAMujD,EAAI+xD,EAAQuoW,IAAItoW,aAAav1G,GACnC,OAAa,OAANujD,OAAan/C,EAAYm/C,CAClC,EACMizuB,EAAS,SAAClhrB,EAASt1G,GAAG,OAAKyuxB,EAASxquB,KAAKswC,EAAM+gB,EAASt1G,GAAM,EAC9Diw2B,EAAW,SAAC36vB,EAASt1G,GACzBs1G,EAAQuoW,IAAIvqW,gBAAgBtzG,EAC9B,EACMmM,EAAQ,SAAAmpG,GAAO,OA9DNitJ,EA8DgBjtJ,EAAQuoW,IAAIzsU,WA9DxBvtI,EA8DoC,SAACu0F,EAAKvpB,GAE3D,OADAupB,EAAIvpB,EAAKtzE,MAAQszE,EAAK9wE,MACfq6F,CACT,EAjEsBA,EAiEnB,CAAC,EAhEFyv0B,EAAOtlqB,EAAI,SAAC/uP,EAAG/V,GACb26F,EAAMv0F,EAAEu0F,EAAK5kF,EAAG/V,EAClB,GACO26F,EAJK,IAACmqK,EAAI1+P,EAAGu0F,CAiEf,EAuBD81oB,EAAU,SAAAhprB,GACd,GAAIA,QACF,MAAM,IAAI9mD,MAAM,oCAElB,MAAO,CACLy/c,IAAK34Z,EAET,EAEMuyuB,EAAe,CACnB1pD,SA/Be,SAACrjX,EAAMrgD,GACtB,IACMnhS,GADMmhS,GAAS1lT,UACL6F,cAAc,OAE9B,GADA0e,EAAIC,UAAYuhV,GACXxhV,EAAIw6P,iBAAmBx6P,EAAI7J,WAAWniC,OAAS,EAAG,CACrD,IAAMmL,EAAU,wCAEhB,MADA7M,QAAQC,MAAM4M,EAASqiX,GACjB,IAAItsX,MAAMiK,EAClB,CACA,OAAO6luB,EAAQhlsB,EAAI7J,WAAW,GAChC,EAsBE2usB,QArBc,SAACh3rB,EAAKqzR,GACpB,IACMnlR,GADMmlR,GAAS1lT,UACJ6F,cAAcwsB,GAC/B,OAAOk3rB,EAAQhprB,EACjB,EAkBE+orB,SAjBe,SAAC56sB,EAAMg3S,GACtB,IACMnlR,GADMmlR,GAAS1lT,UACJwgC,eAAe9xB,GAChC,OAAO66sB,EAAQhprB,EACjB,EAcEgprB,UACAC,UANgB,SAACupD,EAAQlkxB,EAAGC,GAAC,OAAKg7wB,EAASxquB,KAAKyzuB,EAAO75U,IAAIzJ,iBAAiB5gc,EAAGC,IAAI5F,IAAIqguB,EAAS,GAS5FinD,EAAO,SAAC7/qB,EAAS0hB,GACrB,IAAM6mV,EAAMvoW,EAAQuoW,IACpB,GArFc,IAqFVA,EAAIn0X,SACN,OAAO,EAEP,IAAMm+F,EAAOg2R,EACb,QAAqBz5c,IAAjByjL,EAAKlxE,QACP,OAAOkxE,EAAKlxE,QAAQqgB,GACf,QAA+B5yH,IAA3ByjL,EAAKmojB,kBACd,OAAOnojB,EAAKmojB,kBAAkBh5mB,GACzB,QAAmC5yH,IAA/ByjL,EAAKoojB,sBACd,OAAOpojB,EAAKoojB,sBAAsBj5mB,GAC7B,QAAgC5yH,IAA5ByjL,EAAKqojB,mBACd,OAAOrojB,EAAKqojB,mBAAmBl5mB,GAE/B,MAAM,IAAI54H,MAAM,iCAGtB,EACMw5xB,EAAiB,SAAA/5U,GAAG,OAtGV,IAsGcA,EAAIn0X,UAxGjB,IAwGyCm0X,EAAIn0X,UAvGpC,KAuG6Dm0X,EAAIn0X,UAA4D,IAA1Bm0X,EAAIsyR,iBAAwB,EAUnJ7ppB,EAAK,SAACygX,EAAIm2J,GAAE,OAAKn2J,EAAG8W,MAAQq/I,EAAGr/I,GAAI,EACnC85U,EAAOxC,EAKPz/tB,GADQpN,EACK,aADA,SAAA7kD,GAAC,OAAIA,EAAE0a,QAAQmqC,EAAG,GAAI,GAGnC4hB,EAAc,SAAA2zY,GAAG,YAAkBz5c,IAAdy5c,EAAIj/b,OAAuBsqC,EAAW20Z,EAAIj/b,MAAMQ,iBAAkB,EAGvF04wB,EAAkB,SAAAC,GAAG,OAAIsQ,EAAWtQ,GAAOA,GADnCzirB,EAC+CyirB,EADpCN,EAAavpD,QAAQ54nB,EAAQuoW,IAAI9uC,gBAA5C,IAAAz5T,CACoD,EAC5D1wD,EAAS,SAAA0wD,GAAO,OAAIm5qB,EAASxquB,KAAKqxD,EAAQuoW,IAAIpnW,YAAY5oG,IAAI4pxB,EAAavpD,QAAS,EACpFj9M,EAAU,SAAC37a,EAASwlR,GAIxB,IAHA,IAAM5vX,EAAOg+C,EAAW4xU,GAAUA,EAAS0zZ,EACvC3wU,EAAMvoW,EAAQuoW,IACZn9Z,EAAM,GACc,OAAnBm9Z,EAAIpnW,iBAA0CryG,IAAnBy5c,EAAIpnW,YAA0B,CAC9D,IAAMwhrB,EAAYp6U,EAAIpnW,WAChBr5G,EAAIq6xB,EAAavpD,QAAQ+pD,GAE/B,GADAv3uB,EAAIl+C,KAAKpF,IACO,IAAZ8N,EAAK9N,GACP,MAEAygd,EAAMo6U,CAEV,CACA,OAAOv3uB,CACT,EACMk3rB,EAAc,SAAAtioB,GAAO,OAAIm5qB,EAASxquB,KAAKqxD,EAAQuoW,IAAIj0B,iBAAiB/7a,IAAI4pxB,EAAavpD,QAAS,EAC9FzqX,EAAc,SAAAnuQ,GAAO,OAAIm5qB,EAASxquB,KAAKqxD,EAAQuoW,IAAIp6F,aAAa51W,IAAI4pxB,EAAavpD,QAAS,EAC1FvypB,EAAW,SAAA25B,GAAO,OAAIznG,EAAIynG,EAAQuoW,IAAIx+a,WAAYo4vB,EAAavpD,QAAS,EAKxEx5kB,EAAa,SAAAp/C,GAAO,OAJZ,SAACA,EAASxsG,GACtB,IAAMi8Z,EAAKzvT,EAAQuoW,IAAIx+a,WACvB,OAAOovvB,EAASxquB,KAAK8gX,EAAGj8Z,IAAQ+E,IAAI4pxB,EAAavpD,QACnD,CAC8BrvpB,CAAMy2B,EAAS,EAAG,EAI1CstB,EADY15E,EAAW0yN,QAAQl/Q,UAAUkvO,eAAiB1iL,EAAW4sD,KAAKp5G,UAAUkmI,aAC1D,SAAAtnI,GAAC,OAAIm8xB,EAAavpD,QAAQ5yuB,EAAEuid,IAAIj7U,cAAc,EAAGk1pB,EAC3Ep0oB,EAAgB,SAAApoJ,GACpB,IAJmBy8xB,EAIbzvuB,EAAIs6E,EAAYtnI,GACtB,OAL0BmiyB,EAAP1F,EAKCzvuB,IALiCuluB,EAAckK,EAAIl6U,IAAIn9b,MAKlD+twB,EAASpyvB,KAAKisB,GAAKmmuB,EAAS/gX,MACvD,EACM+qX,GAAgB,SAAAn9xB,GAAC,OAAIm8xB,EAAavpD,QAAQ5yuB,EAAEuid,IAAIn9b,KAAM,EAEtDk4wB,GAAS,SAAAtjrB,GACb,IAAMuoW,EAAMh6F,EAAOvuQ,GAAWA,EAAQuoW,IAAIpnW,WAAanB,EAAQuoW,IAC/D,GAAIA,SAA2D,OAAtBA,EAAI9uC,cAC3C,OAAO,EAET,IA9TgBk/W,EAAKC,EA8Tfnie,EAAM8xJ,EAAI9uC,cAChB,OAAOrrR,EAAc+zoB,EAAavpD,QAAQrwR,IAAMsxR,KAAK,kBAAMpjb,EAAIx0P,KAAKokD,SAASkiW,EAAI,GA/TjEowU,EA+T4E2K,GA/TvE1K,EA+T+EuK,GA/TvE,SAAAz0xB,GAAC,OAAIiqxB,EAAIC,EAAIlqxB,GAAI,GAgUhD,EAgBM0sF,GAAQ,SAAC4kB,EAASp2F,EAAUnhB,IAdd,SAAC8/c,EAAK3+b,EAAUnhB,GAClC,IAAK2zE,EAAS3zE,GAEZ,MADAvC,QAAQC,MAAM,qCAAsCyjB,EAAU,YAAanhB,EAAO,cAAe8/c,GAC3F,IAAIz/c,MAAM,+BAAiCL,GAE/CmsE,EAAY2zY,IACdA,EAAIj/b,MAAMgiI,YAAY1hI,EAAUnhB,EAEpC,CAQE27xB,CADYpkrB,EAAQuoW,IACH3+b,EAAUnhB,EAC7B,EACMgkqB,GAAQ,SAACzsjB,EAASp2F,GACtB,IAAM2+b,EAAMvoW,EAAQuoW,IAEdv1Z,EADSjoD,OAAOigB,iBAAiBu9b,GACtBz+b,iBAAiBF,GAClC,MAAa,KAANopC,GAAaswuB,GAAOtjrB,GAA8ChtD,EAAnCuxuB,GAAkBh8U,EAAK3+b,EAC/D,EACM26wB,GAAoB,SAACh8U,EAAK3+b,GAAQ,OAAKgrD,EAAY2zY,GAAOA,EAAIj/b,MAAMQ,iBAAiBF,GAAY,EAAG,EACpGs4tB,GAAS,SAAClioB,EAASp2F,GACvB,IAAM2+b,EAAMvoW,EAAQuoW,IACdiU,EAAM+nU,GAAkBh8U,EAAK3+b,GACnC,OAAOuvwB,EAASxquB,KAAK6ta,GAAKr8b,OAAO,SAAA6yB,GAAC,OAAIA,EAAEprD,OAAS,CAAC,EACpD,EACMq72B,GAAW,SAACjjwB,EAASp2F,IArBJ,SAAC2+b,EAAK3+b,GACvBgrD,EAAY2zY,IACdA,EAAIj/b,MAAMwiJ,eAAeliJ,EAE7B,CAmBE+6wB,CADY3krB,EAAQuoW,IACA3+b,GArFX,SAACk2wB,EAAKC,GAAG,IAAE3wtB,EAAUhkE,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAGytxB,EAAY,OAAKiH,EAAIrgU,OAAO,SAAAr6c,GAAI,OAAIgqD,EAAWhqD,EAAM26wB,EAAI,EAAE,CAsFxFlivB,CAAGqjvB,EAAOlhrB,EAAS,SAASznG,IAAI6nD,GAAO,KACzCu6yB,EAAS36vB,EAAS,QAEtB,EAEMi6C,GAAS,SAACpxJ,EAAQm3G,GACL1wD,EAAOzmD,GACfk8D,KAAK,SAAA9W,GACZA,EAAEs6Z,IAAI3lW,aAAa5C,EAAQuoW,IAAK1/c,EAAO0/c,IACzC,EACF,EACMqwd,GAAU,SAAC/v6B,EAAQm3G,GACPmuQ,EAAYtlX,GACpBgxuB,KAAK,WACMvqrB,EAAOzmD,GACfk8D,KAAK,SAAA9W,GACZ62uB,GAAS72uB,EAAG+xD,EACd,EACF,EAAG,SAAA/xD,GACDgsG,GAAOhsG,EAAG+xD,EACZ,EACF,EACMp5C,GAAU,SAACtX,EAAQ0wD,GACFo/C,EAAW9vG,GACnBuqrB,KAAK,WAChBirD,GAASx1uB,EAAQ0wD,EACnB,EAAG,SAAA/xD,GACDqB,EAAOi5Z,IAAI3lW,aAAa5C,EAAQuoW,IAAKt6Z,EAAEs6Z,IACzC,EACF,EACMu8U,GAAW,SAACx1uB,EAAQ0wD,GACxB1wD,EAAOi5Z,IAAI1la,YAAYm9D,EAAQuoW,IACjC,EACMnja,GAAO,SAAC46D,EAASztD,GACrB0nG,GAAOj6C,EAASztD,GAChBuyuB,GAASvyuB,EAASytD,EACpB,EAEMwuM,GAAQ,SAAC3lT,EAAQy6I,GACrBivxB,EAAOjvxB,EAAU,SAACplI,EAAG/V,GACnB,IAAMnC,EAAU,IAANmC,EAAUU,EAASy6I,EAASn7I,EAAI,GAC1Cyw6B,GAAQ5y6B,EAAGkY,EACb,EACF,EACMohJ,GAAS,SAAChwG,EAAQg0F,GACtBivxB,EAAOjvxB,EAAU,SAAAplI,GACf4mxB,GAASx1uB,EAAQpxC,EACnB,EACF,EAEMuoxB,GAAgB,SAAC1xd,EAAO1lO,GAC5B,IAAIhmG,EAAS,GAOb,OANAkp6B,EAAOls1B,EAAS0uP,GAAQ,SAAA72T,GAClBmxF,EAAUnxF,KACZ7U,EAASA,EAAOuB,OAAO,CAACsT,KAE1B7U,EAASA,EAAOuB,OAAO67xB,GAAcvoxB,EAAGmxF,GAC1C,GACOhmG,CACT,EAYMg53B,GAAa,SAACttjB,EAAO1lO,EAAWm2R,GAGpC,IAFA,IAAIxlR,EAAU+0N,EAAMwzI,IACd3yc,EAAOg+C,EAAW4xU,GAAUA,EAAS0zZ,EACpCl5qB,EAAQmB,YAAY,CACzBnB,EAAUA,EAAQmB,WAClB,IAAMn6E,EAAKm7vB,EAAavpD,QAAQ54nB,GAChC,GAAI3Q,EAAUroE,GACZ,OAAOmyvB,EAASpyvB,KAAKC,GAChB,GAAIpxB,EAAKoxB,GACd,KAEJ,CACA,OAAOmyvB,EAAS/gX,MAClB,EAEM7lZ,GAAS,SAAAytF,GACb,IAAMuoW,EAAMvoW,EAAQuoW,IACG,OAAnBA,EAAIpnW,YACNonW,EAAIpnW,WAAW9zD,YAAYk7Z,EAE/B,EACMojD,GAAS,SAAAp5c,GACb,IAAMuwuB,EAAaz8sB,EAAS9zB,GACxBuwuB,EAAWl7xB,OAAS,GACtB4mT,GAAMj8P,EAASuwuB,GAEjBvwwB,GAAOggC,EACT,EAEMo3H,GAAc,SAACorJ,EAAOrzM,GAAQ,OAtMxB,SAACA,EAAUqzM,GACrB,IAAMpgQ,OAAiB7lE,IAAVimU,EAAsB1lT,SAAW0lT,EAAMwzI,IACpD,OAAO+5U,EAAe3ttB,GAAQ,GAAKp8D,EAAIo8D,EAAKquC,iBAAiB0e,GAAWygqB,EAAavpD,QACvF,CAmMyC9juB,CAAI4sH,EAAUqzM,EAAO,EAExD9vL,GAAW,SAAC8vL,EAAOrzM,EAAU8jQ,GAAM,OAAK68f,GAAWttjB,EAAO,SAAA/uU,GAAC,OAAI65xB,EAAK75xB,EAAG07H,EAAS,EAAE8jQ,EAAQ,EAC1F7rK,GAAa,SAACo7G,EAAOrzM,GAAQ,OArMvB,SAACA,EAAUqzM,GACrB,IAAMpgQ,OAAiB7lE,IAAVimU,EAAsB1lT,SAAW0lT,EAAMwzI,IACpD,OAAO+5U,EAAe3ttB,GAAQwktB,EAAS/gX,OAAS+gX,EAASxquB,KAAKgmB,EAAKlpD,cAAci2G,IAAWnpH,IAAI4pxB,EAAavpD,QAC/G,CAkMwC9yR,CAAIpkV,EAAUqzM,EAAO,EACvDn4E,GAAU,SAACm4E,EAAOrzM,EAAU8jQ,GAEhC,OA7CsB,SAAC3nV,EAAIonG,EAAU8vL,EAAOrmU,EAAG82X,GAC/C,OAAI3nV,EAAGk3R,EAAOrmU,GACLyqxB,EAASpyvB,KAAKguS,GACZnhR,EAAW4xU,IAAWA,EAAOzwD,GAC/Bokd,EAAS/gX,OAETnzR,EAAS8vL,EAAOrmU,EAAG82X,EAE9B,CAqCS+9Z,CADI,SAACvjrB,EAAS0hB,GAAQ,OAAKm+pB,EAAK7/qB,EAAS0hB,EAAU,EAC7BujB,GAAU8vL,EAAOrzM,EAAU8jQ,EAC1D,EAuBMpqP,GArBY,SAACv9F,EAAI53C,GACrB,IAMMuyuB,EAAY,SAAAx4nB,GAAO,OAAIniE,EAAGmiE,GAAWm5qB,EAASxquB,KAAKqxD,EAAQuoW,IAAIp0F,WAAagla,EAAS/gX,MAAO,EAOlG,MAAO,CACLxqa,IAdU,SAAAoyG,GACV,IAAKniE,EAAGmiE,GACN,MAAM,IAAIl3G,MAAM,gBAAkB7C,EAAO,eAAiBA,EAAO,SAEnE,OAAOuyuB,EAAUx4nB,GAASu4nB,MAAM,GAClC,EAUEC,YACA7quB,IATU,SAACqyG,EAASv3G,GACpB,IAAKo1C,EAAGmiE,GACN,MAAM,IAAIl3G,MAAM,oBAAsB7C,EAAO,eAAiBA,EAAO,SAEvE+5G,EAAQuoW,IAAIp0F,UAAY1rX,CAC1B,EAMF,CAEYygyB,CAAU36a,EAAQ,QACxB3gX,GAAM,SAAAoyG,GAAO,OAAIo7B,GAAIxtI,IAAIoyG,EAAS,EAClCryG,GAAM,SAACqyG,EAASv3G,GAAK,OAAK2yI,GAAIztI,IAAIqyG,EAASv3G,EAAO,EAEpDow6B,GAAgB,CAAC,OAAQ,IAAK,MAAO,UAAW,QAAS,aAAc,SAAU,SAAU,SAAU,MAAO,UAAW,KAAM,KAAM,KAAM,QAAS,QAAS,QAAS,QAAS,UAAW,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,aAAc,MAAO,WAsGjQxu3B,GAAQ,SAAC21D,EAASp1F,GAAM,MAAM,CAClCo1F,UACAp1F,SACD,EAEKsmpB,GAAO,SAAC4nQ,EAAU94zB,EAAS95F,GAC/B,OAAI4y5B,EAASlv5B,WAAW2kW,OAAOvuQ,IAAmE,IAAvD84zB,EAASlv5B,WAAWk4tB,QAAQ9hoB,GAAS5/C,OAAOx4D,QAAgBkx6B,EAASlv5B,WAAW4kW,UAAUxuQ,GAC5H95F,EAAU85F,GAASjyC,KAAK,SAAAwkH,GAC7B,OAAO2+e,GAAK4nQ,EAAUvmvB,EAAMrsK,GAAW0ztB,QAAQ,WAC7C,OAAOu/C,EAASpyvB,KAAKwrJ,EACvB,EACF,GAEO4mmB,EAAS/gX,MAEpB,EACM2ggB,GAAQ,SAACD,EAAU94zB,GACvB,OAAI84zB,EAASlv5B,WAAW2kW,OAAOvuQ,GACtB84zB,EAASlv5B,WAAWk4tB,QAAQ9hoB,GAASp4G,OAE7Bkx6B,EAASlv5B,WAAWy8D,SAAS25B,GAC9Bp4G,MAClB,EACMox6B,GAAgB,SAACF,EAAU94zB,GAC/B,IAAMu8qB,EAAYrrH,GAAK4nQ,EAAU94zB,EAAS84zB,EAAStp1B,QAAQ8ypB,aAAa/J,MAAMv4nB,GAC9E,GAAI84zB,EAASlv5B,WAAW2kW,OAAOgua,GAC7B,OAAOlyuB,GAAMkyuB,EAAWw8I,GAAMD,EAAUv8I,IAE1C,IAAMl2sB,EAAWyy1B,EAASlv5B,WAAWy8D,SAASk2sB,GAC9C,OAAOl2sB,EAASz+E,OAAS,EAAIox6B,GAAcF,EAAUzy1B,EAASA,EAASz+E,OAAS,IAAMyiD,GAAMkyuB,EAAWw8I,GAAMD,EAAUv8I,GACzH,EAEM08I,GAAgBD,GAEhBF,GArGG,CACLtz5B,GAAIutiB,EAAS,CACXrxb,SAAUujB,GACV23G,QAASA,GACTvtJ,UAAWgzxB,GACXvt3B,IAAK6mhB,IAEPl2gB,KAAMstiB,EAAS,CACbrxb,SAAUioD,GACVt6E,UAAWo3rB,KAEb98wB,OAAQopiB,EAAS,CACfnljB,IAAK6+pB,GACLy1E,OAAQA,GACRv0uB,IAAKytF,GACL7oE,OAAQ0w1B,KAEV90kB,MAAO4kR,EAAS,CACdnljB,IAAKqxF,EACLtxF,IAAK02xB,EACL9xwB,OAAQoo1B,EACRx4H,OA9BqB,SAACnjsB,EAAQ2iiB,GAChC,IAAM53f,EAAKlzE,EAAMmoC,GACjByzY,EAAOkvJ,EAAa53f,EACtB,IA6BEyrE,OAAQu9Z,EAAS,CACf94Z,OAAQA,GACRu0J,MAAOoqnB,GACP32rB,SAAUusE,GACVlvJ,OAAQwloB,GACR1iD,UAAW9ilB,GACX14F,QAASA,GACTxhB,KAAMA,KAER7yB,OAAQwgiB,EAAS,CACfpnD,OAAQA,GACRp5e,OAAQA,KAEV0uB,OAAQ8xgB,EAAS,CACflkJ,GAAIszX,EAAazpD,QACjB7huB,MAtEY,SAAAmpG,GACd,OAAOmirB,EAAavpD,QAAQ54nB,EAAQuoW,IAAIl6K,WAAU,GACpD,EAqEItwQ,KAAMokwB,EAAaxpD,WAErBnppB,MAAOuje,EAAS,CACdsvL,gBAtDoB,SAACrioB,EAAS/uB,GAChC,OAAO+uB,EAAQuoW,IAAI7uC,wBAAwBzoV,EAAMs3X,IACnD,EAqDI+5R,YAAaA,EACbn0X,YAAaA,IAEfvkW,SAAUmpiB,EAAS,CACjB1se,SAAUA,EACVpgF,KAAMA,EACNqpD,OAAQA,EACRjgC,SA/Ea,SAAA2wF,GAAO,OAAIwirB,EAAgBxirB,GAASuoW,GAAI,EAgFrDh6F,OAAQA,EACRC,UAAWA,EACXF,UAAWA,EACXi0X,UA3Dc,SAAAvioB,GAChB,IAAMt+D,EAAMz7C,EAAK+5G,GACjB,OAAOqG,EAAS,CAAC,SAAU,WAAY,SAAU,WAAY,UAAW,QAAS,QAAS,WAAY,OAAQ3kE,EAChH,EAyDI8ne,YAxDgB,SAAAxpa,GAAO,OAAIsuQ,EAAUtuQ,GAAWkhrB,EAAOlhrB,EAAS,QAAUm5qB,EAAS/gX,MAAO,EAyD1F0pU,QAASl0uB,GACTq0uB,QAASt0uB,GACTi0uB,WAtFe,SAAA5hoB,GACjB,QAAKsuQ,EAAUtuQ,KAGO,SAAlB/5G,EAAK+5G,IAGFqG,EAASwyzB,GAAe5y6B,EAAK+5G,IACtC,EA+EI+hoB,WA9Ee,SAAA/hoB,GACjB,QAAKsuQ,EAAUtuQ,IAGRqG,EAAS,CAAC,KAAM,MAAO,KAAM,SAAUpgH,EAAK+5G,GACrD,EA0EIgioB,cAzEkB,SAAAhioB,GAAO,OAAIsuQ,EAAUtuQ,IAAkD,UAAtC/gB,EAAM+gB,EAAS,kBAA+B,IA2EnGhvB,GAAIA,EACJnzC,GAAIwkvB,GAoDF62I,GAAe,UACfC,GAAwB,gBACxBC,GAAwB,wBACxBC,GAA4B,qBAC5BC,GAA0B,MAE5BC,GAAWlhM,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,sBAEpC8+0B,GAAY,SAAAp/xB,GAAI,MAAoE,aAA/DA,aAAwC,EAAIA,EAAK6yD,SAAwB,EAC9FmmrB,GAAY,SAAAh5uB,GAAI,MAAoE,aAA/DA,aAAwC,EAAIA,EAAK6yD,SAAwB,EAC9F+2zB,GAAS,SAAAvrnB,GAAO,OAAIA,EAAQ9tM,aAAa,OAAQ,EACjDs5zB,GAAc,SAAAnwH,GAClB,IAAM15vB,EAAO05vB,EAAOx8hB,UAAUyxd,UAC9B,OAAOywG,GAAUp/xB,IAASl+B,QAAQ43xB,EAAO/gW,IAAIlqI,UAAUzuR,EAAMo/xB,IAC/D,EAKM0qF,GAAkB,SAAApwH,GAAM,OAAKmwH,GAAYnwH,IAAWA,EAAO/gW,IAAIm9V,WAAW4D,EAAOx8hB,UAAUyxd,UAAW,EACtGo7L,GAAqB,SAAArwH,GAAM,OAAInwB,EAASxquB,KAAK26vB,EAAO/gW,IAAIlqI,UAAUire,EAAOx8hB,UAAUyxd,UAAWqqD,IAAY,EAE1GgxI,GAAc,SAAA55zB,GAElB,OADAA,EAAQnsE,UAAY,4BACbmsE,CACT,EACM65zB,GAAkB,SAAAvwH,GAAM,OAAIswH,GAAYtwH,EAAO/gW,IAAItna,OAAO,KAAM,EAchE643B,GAAmB,SAACxwH,EAAQywH,GAChC,IAAK/qF,GAAU+qF,aAAkD,EAAIA,EAAU36wB,YAAa,CAC1F,IAAM0wS,EAfY,SAAAw5W,GAAM,OAAIswH,GAAYtwH,EAAO/gW,IAAItna,OAAO,WAAY,CAetD+43B,CAAc1wH,GAC9BywH,EAAUnz2B,QAAQkpY,GAClBw5W,EAAOx8hB,UAAUgujB,kBAAkBhrY,EAAS,EAC9C,CACF,EACMmqe,GAAqB,SAAA3wH,GAAM,OAAI,SAAAywH,IAdZ,SAACzwH,EAAQywH,GAChC,GAAI/qF,GAAU+qF,aAAkD,EAAIA,EAAUhyzB,WAAY,CACxF,IAAMkjV,EAAY4ue,GAAgBvwH,GAClCywH,EAAUl33B,YAAYooZ,GACtBq+W,EAAOx8hB,UAAUgujB,kBAAkB7vY,EAAW,EAChD,CACF,CASEnmM,CAAiBwkjB,EAAQywH,GACzBD,GAAiBxwH,EAAQywH,EAC3B,CAAE,EAKIG,GAAkB,SAAA5wH,GACtB,GAAKowH,GAAgBpwH,GAArB,CAGA,IAAM6wH,EAAah4I,EAAavpD,QAAQ0wE,EAAO50D,WACzCpiqB,EAhuBS,SAAAtpD,GACf,IACMi5C,GADO,IAAIx1E,MACCo0E,UAGlB,OAAO73C,EAAS,IAFDljB,KAAKC,MAAsB,IAAhBD,KAAKo2B,aAC/BkvwB,EACwCvgzB,OAAOo3E,EACjD,CA0tBciG,CAAS,OACfky1B,EAAc9wH,EAAO/gW,IAAIh7Y,OAAO+7uB,EAAOx8hB,UAAU08hB,SAAStizB,YAAcoizB,EAAO39mB,UAAU,yBACzFszF,EAAWqqhB,EAAO/gW,IAAIh7Y,OAAO+7uB,EAAO39mB,UAAU,sBAC9C0uuB,EAAuB,mBAAoBzv6B,OAAOwu6B,GAAuB,MAAOxu6B,OAAOwv6B,EAAa,cACpGE,EAAoB,IAAI1v6B,OAAO0u6B,GAAyB,YAAa1u6B,OAAOyu6B,GAA2B,SAAUzu6B,OAAOq0R,EAAU,UAAUr0R,OAAO0u6B,GAAyB,KAClLhwH,EAAOj1D,YAAYyB,SAAS,WAC1BwzD,EAAO90D,cAAc,CAAC,yBAA0B5pvB,OAAO0nF,EAAK,aAAe1nF,OAAOuu6B,GAAuB,kBAAsBkB,EAAsBC,EAAmB,cAAcpl3B,KAAK,KAC3LykK,GAAWwgtB,EAAY,iBAAkBvv6B,OAAO0nF,EAAK,OAAQvtB,KAAK,SAAAw12B,GAChE5/D,EAAS4/D,EAAY,eACrB5gtB,GAAW4gtB,EAAY,WAAWx12B,KAAK,SAAAy12B,GACrC,IAAM/if,EAAM6xX,EAAO/gW,IAAI46V,YACjBs3H,EAnFLxB,GAAcH,GAmFS0B,GACxB/if,EAAIihB,SAAS+he,EAAIz6zB,QAAQuoW,IAAKkyd,EAAI7v5B,QAClC6sa,EAAIkhB,OAAO8he,EAAIz6zB,QAAQuoW,IAAKkyd,EAAI7v5B,QAChC0+xB,EAAOx8hB,UAAUkqe,OAAOv/T,EAC1B,EACF,EACF,EAnBA,CAoBF,EACMijf,GAAuB,SAACzsnB,EAAS1mS,GACrC,IAAMoz5B,EAAapz5B,QAAqCA,GAASiy5B,GAAOvrnB,GAMxE,OALI0snB,EACF1snB,EAAQ7tM,aAAa,OAAQ,QAE7B6tM,EAAQjwM,gBAAgB,QAEnB28zB,CACT,EAMMC,GAAkB,SAAAtxH,GACtBqwH,GAAmBrwH,GAAQvkvB,KAAK,SAAAkpP,GAC9B,IACEkgE,EACElgE,EADFkgE,YAEEA,GACFm7b,EAAOx8hB,UAAUvhP,OAAO4iV,GAAa,GACrCm7b,EAAOx8hB,UAAU87J,UAAS,IAxEM,SAAC0gY,EAAQp3yB,GAC7C,IAAM+4b,EAAY4ue,GAAgBvwH,GAClCp3yB,EAAO2o6B,sBAAsB,WAAY5ve,GACzCq+W,EAAOx8hB,UAAUgujB,kBAAkB7vY,EAAW,EAChD,CAsEM6ve,CAA8BxxH,EAAQr7f,GAExCA,EAAQ17R,QACV,EACF,EAUM413B,GAAa,SAAA7+F,GACjBA,EAAO1yD,WAAW,kBAAmB,kBAAMsjL,GAAgB5wH,EAAO,GAClEA,EAAO1yD,WAAW,kBAAmB,SAACm9I,EAAKtr4B,GAAK,OA9B1B,SAAC6gzB,EAAQ/hyB,GAC/Boy5B,GAAmBrwH,GAAQvkvB,KAAK,SAAAkpP,IAlGD,SAACq7f,EAAQtpsB,EAASz4F,GAAU+hyB,EAAO5iyB,SAAS,mBAAoB,CAC/Fs5F,UACAz4F,SACC,CAgGCwz5B,CAAyBzxH,EAAQr7f,EAASysnB,GAAqBzsnB,EAAS1mS,GAC1E,EACF,CA0BuDyz5B,CAAgB1xH,EAAQ7gzB,EAAM,GACnF6gzB,EAAO1yD,WAAW,sBAAuB,SAACm9I,EAAKtr4B,GAAK,OAZ1B,SAAC6gzB,EAAQ/hyB,GACnC,IAAM0z5B,EAAap95B,MAAM8wC,KAAK26vB,EAAO50D,UAAU1xoB,iBAAiB,YACtC,IAAtBi4zB,EAAWrz6B,SAGf2q6B,EAAO0I,EAAY,SAAAlB,GAAS,OAAIW,GAAqBX,EAAWxy5B,QAAqCA,GAASiy5B,GAAOO,GAAW,GArH7F,SAACzwH,EAAQhmqB,EAAU/7H,GAAU+hyB,EAAO5iyB,SAAS,uBAAwB,CACxG48H,WACA/7H,SACC,CAmHD2z5B,CAA6B5xH,EAAQ2xH,EAAY1z5B,GACnD,CAK2D4z5B,CAAoB7xH,EAAQ7gzB,EAAM,GAC3F6gzB,EAAO1yD,WAAW,kBAAmB,kBAAMgkL,GAAgBtxH,EAAO,EACpE,EAEI8xH,GAAW/iM,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,qBAEpCmr6B,GAAe,SAAAzr3B,GACnB,IAAIqC,EAAIigU,EACR,OAA+F,QAAvFA,EAAmC,QAA7BjgU,EAAKrC,EAAK2pB,KAAK,gBAAkC,IAAZtnB,OAAqB,EAAIA,EAAGlb,MAAM,YAA8B,IAAZm7U,EAAgBA,EAAK,EAC9H,EACMopjB,GAAa,SAAC1r3B,EAAM8nU,GACxB,IAAM6jjB,EAAe,IAAI3r2B,IAAI,GAADhlE,OAAAwuB,EAAKii5B,GAAazr3B,IAAKx2B,EAAKs+V,KAClDwzb,EAAertyB,MAAM8wC,KAAK4s3B,GAC5BrwH,EAAatjzB,OAAS,GACxBgoD,EAAK2pB,KAAK,QAAS2xuB,EAAah2vB,KAAK,KAEzC,EACMsm3B,GAAgB,SAAC5r3B,EAAM8nU,GAC3B,IAAMwzb,EA9oBO,SAACj+iB,EAAIiye,GAElB,IADA,IAAMlsrB,EAAI,GACD7qD,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAC7C,IAAM+V,EAAI+uP,EAAG9kQ,GACT+2uB,EAAKhhuB,EAAG/V,IACV6qD,EAAE9lD,KAAKgR,EAEX,CACA,OAAO80C,CACT,CAqoBuB7yB,CAAOk74B,GAAazr3B,GAAO,SAAA6xuB,GAAK,OAAK/pa,EAAQhqX,IAAI+zxB,EAAM,GAC5E7xuB,EAAK2pB,KAAK,QAAS2xuB,EAAatjzB,OAAS,EAAIsjzB,EAAah2vB,KAAK,KAAO,KACxE,EACMum3B,GAAyB,SAAA7r3B,GAAI,OAAIA,EAAK3pD,OAASiz6B,IAAgB7yzB,EAASg1zB,GAAazr3B,GAAOup3B,GAAuB,EACnHuC,GAA6B,SAAA9r3B,GAAI,OAAIA,EAAK3pD,OAASqz6B,IAA2BjzzB,EAASg1zB,GAAazr3B,GAAOyp3B,GAA2B,EACtIsC,GAAuB,SAAAC,GAK3B,IAJA,IACIC,EACAC,EAFEz11B,EAAWu11B,EAAcv11B,WAGzB011B,EAAa,GACV5z6B,EAAI,EAAGA,EAAIk+E,EAASz+E,OAAQO,IAAK,CACxC,IAAMohF,EAAQlD,EAASl+E,GACJ,YAAfohF,EAAMtjF,MAAsBqyxB,EAAWujJ,GACzCA,EAActy1B,EACLmy1B,GAA2Bny1B,IAAU+usB,EAAWwjJ,GACzDA,EAAcvy1B,EAEdwy1B,EAAW7u6B,KAAKq8E,EAEpB,CACA,MAAO,CACLsy1B,cACAC,cACAC,aAEJ,EACMC,GAAe,SAAAps3B,GACnB,IAAMmyW,EAAK,IAAIq5gB,GAAS,KAAM,GAC9Br5gB,EAAGxoV,KAAK,iBAAkB,KAC1B3pB,EAAKY,QACLZ,EAAK0vG,OAAOyiQ,EACd,EAyEIm/S,GAAWm3B,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,mBAEpC+r6B,GAAyB,SAAA3yH,GAC7BA,EAAOlnuB,GAAG,UAAW,SAAAnwE,KACdA,EAAM0f,UAAY1f,EAAMuvrB,UAAY0f,GAASjrW,OAASwjkB,GAAYnwH,IAtOlD,SAAAA,GACvB,IAAM7xX,EAAM6xX,EAAOx8hB,UAAU08hB,SAC7B,OAAO5gB,GAAUnxW,EAAI4jT,iBAAmB5jT,EAAIptL,WAAiC,IAApBotL,EAAIghH,WAC/D,CAmOsFyjY,CAAiB5yH,MACjGr3yB,EAAMqe,iBACNg5xB,EAAO/0D,YAAY,mBAEvB,EACF,EACMkpK,GAAU,SAAAn0G,GACd2yH,GAAuB3yH,GACvBA,EAAOlnuB,GAAG,cAAe,SAAAp8E,GACvB,IAAMytzB,EAAMztzB,EAAEmpC,QAAQrmB,cACT,WAAR2qyB,GAA4B,kBAARA,IA1OH,SAAAnK,GAAM,OAAIqwH,GAAmBrwH,GAAQlxE,QAAS,CA0Of+jM,CAAkB7yH,IA5MlD,SAAAA,GACvBiwH,GAASx02B,KAAKw02B,GAAS75I,KAAK4pB,EAAO/gW,IAAIh9a,OAAO,UAAW+9wB,EAAO50D,YAAaulL,GAAmB3wH,GAClG,CA2MM8yH,CAAiB9yH,EAErB,EACF,EAEI9twB,GAAS68rB,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,eAgBlCqh4B,GAAU,SAAAjoF,GAAM,OAAI,SAAA+yH,GACxB,IAAM/xH,EAAe,WAAH,OAAS+xH,EAAU5a,WAAWiY,GAAgBpwH,GAAS,EAEzE,OADAA,EAAOlnuB,GAAG,aAAckouB,GACjB,kBAAMhB,EAAOl7tB,IAAI,aAAck8tB,EAAc,CACtD,CAAE,EAkCAquH,EAAS/h6B,IAAI,YAAa,SAAA0yyB,IAjCX,SAAAA,GACf,IAAM7gf,EAAW,WAAH,OAAS6gf,EAAO/0D,YAAY,kBAAmB,EAC7D+0D,EAAO5/X,GAAG5zZ,SAASy74B,UAAU,YAAa,CACxC9j5B,KAAM,YACNq4F,QAAS,mBACTyrxB,QAASA,GAAQjoF,GACjB7gf,aAEF6gf,EAAO5/X,GAAG5zZ,SAAS874B,YAAY,YAAa,CAC1Cnk5B,KAAM,YACNsQ,KAAM,YACNwz2B,QAASA,GAAQjoF,GACjB7gf,aAEF6gf,EAAO5/X,GAAG5zZ,SAAS274B,gBAAgB,kBAAmB,CACpDhk5B,KAAM,mBACNq4F,QAAS,mBACT2iN,SAAU,WAAF,OAAQ6gf,EAAO/0D,YAAY,kBAAkB,IAEvD+0D,EAAO5/X,GAAG5zZ,SAAS274B,gBAAgB,kBAAmB,CACpDhk5B,KAAM,SACNq4F,QAAS,mBACT2iN,SAAU,WAAF,OAAQ6gf,EAAO/0D,YAAY,kBAAkB,IAEvD+0D,EAAO5/X,GAAG5zZ,SAASm84B,kBAAkB,YAAa,CAChD5i0B,UAAW,SAAA0q0B,GAAS,OAAIzwH,EAAO/gW,IAAI1qa,GAAGk83B,EAAW,YAAczwH,EAAO50D,UAAUruoB,SAAS0zzB,IAAczwH,EAAO/gW,IAAIm9V,WAAWq0H,EAAU54zB,WAAW,EAClJ9zF,MAAO,kCACP0nT,MAAO,OACPxrT,SAAU,QAEd,CAIIs6E,CAASyltB,GACT6+F,GAAW7+F,GACXm0G,GAAQn0G,GArJI,SAAAA,GACdA,EAAOlnuB,GAAG,UAAW,WACnB,IACEpyE,EAEEs5yB,EAFFt5yB,WAEEs5yB,EADFtvuB,OAEKgnxB,cAAck4E,GAAc,SAAA52zB,GACjC,IAAK,IAAIn6G,EAAI,EAAGA,EAAIm6G,EAAM16G,OAAQO,IAAK,CACrC,IAAMynD,EAAO0yD,EAAMn6G,GACnB,GAAIsz6B,GAAuB7r3B,GAAO,CAChC,IAAMgs3B,EAAgBhs3B,EACtB0s3B,EAIIX,GAAqBC,GAHvBC,EAAWS,EAAXT,YACAC,EAAWQ,EAAXR,YACAC,EAAUO,EAAVP,WAEIQ,EAAiBhkJ,EAAcsjJ,GAC/BW,EAAiBD,EAAiBV,EAAc,IAAIT,GAAS,UAAW,GAC1E9iJ,EAAWkkJ,EAAep9wB,aAC5B48wB,GAAaQ,GAEflB,GAAWkB,EAAgB,CAACpD,KACvBmD,IACChkJ,EAAcqjJ,EAAcx8wB,YAC9Bw8wB,EAAcpmxB,OAAOgnxB,EAAgBZ,EAAcx8wB,YAAY,GAE/Dw8wB,EAAct8wB,OAAOk9wB,IAGzB,IAAMC,EAAiBlkJ,EAAcujJ,GAC/BY,EAAiBD,EAAiBX,EAAc,IAAIV,GAAS9B,GAAyB,GAG5F,GAFAoD,EAAenj2B,KAAK,iBAAkB,KACtC+h2B,GAAWoB,EAAgB,CAACrD,KACxB0C,EAAWn06B,OAAS,EACtB,IAAK,IAAI41B,EAAI,EAAGA,EAAIu+4B,EAAWn06B,OAAQ41B,IAAK,CAC1C,IAAMm/4B,EAAYZ,EAAWv+4B,GAC7Bk/4B,EAAep9wB,OAAOq9wB,EACxB,CAEF,GAAIrkJ,EAAWokJ,EAAet9wB,YAAa,CACzC,IAAMw9wB,EAAQ,IAAIxB,GAAS,IAAK,GAChCY,GAAaY,GACbF,EAAep9wB,OAAOs9wB,EACxB,CACKH,GACHb,EAAct8wB,OAAOo9wB,EAEzB,CACF,CACF,GACA1s6B,EAAWgx1B,cAAck4E,GAAc,SAAA52zB,GAErC,IADA,IAAMu6zB,EAAwB,IAAIjt2B,IAAI,CAACwp2B,KAC9Bjx6B,EAAI,EAAGA,EAAIm6G,EAAM16G,OAAQO,IAAK,CACrC,IAAMynD,EAAO0yD,EAAMn6G,GACnB,GAAIsz6B,GAAuB7r3B,GAAO,CAChC,IACAkt3B,EAGInB,GAJkB/r3B,GAEpBis3B,EAAWiB,EAAXjB,YACAC,EAAWgB,EAAXhB,YAEEvjJ,EAAcsjJ,IAChBL,GAAcK,EAAagB,GAEzBtkJ,EAAcujJ,IAChBA,EAAYnwa,QAEhB,CACF,CACF,EACF,EACF,CAgFIutZ,CAAQ5vG,GAxDE,SAAAA,GACR9twB,GAAOo0D,QAAQm9L,YACjBu8gB,EAAOlnuB,GAAG,QAAS,SAAAp8E,GACjB,GAAIgp1B,GAAUhp1B,EAAEkM,QAAS,CACvB,IAAM49b,EAAU9pc,EAAEkM,OACZulb,EAAM6xX,EAAOx8hB,UAAU08hB,SACzB/xX,EAAIptL,WAAaotL,EAAI4jT,iBAAmBvrS,EAAQ3uV,YAAkC,IAApBs2U,EAAIghH,aACpE6wQ,EAAOx8hB,UAAUgujB,kBAAkBhrY,EAAS,EAEhD,CACF,EAEJ,CA6CIqsB,CAAMmtV,EACR,EAKL,CAh/BD,GAq/BA,WAGI,IAAIpoG,EAAWm3B,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,yBAEpC6s6B,EAAkB,SAACzzH,EAAQ0zH,EAAUpiF,GACzC,IAAMnnC,EAAmB,OAAbupH,EAAoB,sBAAwB,oBACxD1zH,EAAO/0D,YAAYk/D,GAAK,GAAsB,IAAfmnC,EAAuB,KAAO,CAC3D,kBAAmBA,GAEvB,EAWMrknB,EAAS,SAAAtwO,GAAI,OAAI,SAAAqjzB,GAAM,OAAIA,EAAOl6yB,QAAQxB,IAAI3H,EAAM,CAAD,EAYnDg36B,EAAkB1msB,EAAO,yBACzB2msB,EAAkB3msB,EAAO,yBAEzB+hjB,EAAa,SAAA5pxB,GAAC,OAAIA,OAA8B,EAChD6pxB,EAAgB,SAAA7pxB,GAAC,OAAK4pxB,EAAW5pxB,EAAG,EAEtC8sC,EAAS68rB,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,sBAElCipxB,EAAQ,WACZ,SAAAA,EAAYz3uB,EAAKj5C,GAAO8Y,EAAA,KAAA43wB,GACtB/vxB,KAAKs4C,IAAMA,EACXt4C,KAAKX,MAAQA,CACf,CAAC,OAAAyZ,EAAAi3wB,EAAA,EAAAzuxB,IAAA,OAAAjC,MAOD,SAAK2wxB,EAAQC,GACX,OAAIjwxB,KAAKs4C,IACA23uB,EAAOjwxB,KAAKX,OAEZ2wxB,GAEX,GAAC,CAAA1uxB,IAAA,SAAAjC,MACD,WACE,OAAOW,KAAKs4C,GACd,GAAC,CAAAh3C,IAAA,SAAAjC,MACD,WACE,OAAQW,KAAKs4C,GACf,GAAC,CAAAh3C,IAAA,MAAAjC,MACD,SAAI6wxB,GACF,OAAIlwxB,KAAKs4C,IACAy3uB,EAASpyvB,KAAKuyvB,EAAOlwxB,KAAKX,QAE1B0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,OAAAjC,MACD,SAAK8wxB,GACH,OAAInwxB,KAAKs4C,IACA63uB,EAAOnwxB,KAAKX,OAEZ0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAOjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACpC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAQjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACrC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAKjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,OACvBW,KAEA+vxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,QAAAjC,MACD,SAAMovI,GACJ,OAAOzuI,KAAKs4C,IAAMt4C,KAAKX,MAAQovI,CACjC,GAAC,CAAAntI,IAAA,KAAAjC,MACD,SAAGovI,GACD,OAAOzuI,KAAKs4C,IAAMt4C,KAAOyuI,CAC3B,GAAC,CAAAntI,IAAA,aAAAjC,MACD,SAAW+wxB,GACT,OAAOpwxB,KAAKs4C,IAAMt4C,KAAKX,MAAQ+wxB,GACjC,GAAC,CAAA9uxB,IAAA,UAAAjC,MACD,SAAQ+wxB,GACN,OAAOpwxB,KAAKs4C,IAAMt4C,KAAOowxB,GAC3B,GAAC,CAAA9uxB,IAAA,WAAAjC,MACD,SAASsK,GACP,GAAK3J,KAAKs4C,IAGR,OAAOt4C,KAAKX,MAFZ,MAAM,IAAIK,MAAMiK,QAAyCA,EAAU,0BAIvE,GAAC,CAAArI,IAAA,YAAAjC,MAID,WACE,OAAOW,KAAKs4C,IAAMt4C,KAAKX,MAAQ,IACjC,GAAC,CAAAiC,IAAA,iBAAAjC,MACD,WACE,OAAOW,KAAKX,KACd,GAAC,CAAAiC,IAAA,OAAAjC,MACD,SAAKgxxB,GACCrwxB,KAAKs4C,KACP+3uB,EAAOrwxB,KAAKX,MAEhB,GAAC,CAAAiC,IAAA,UAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,CAACt4C,KAAKX,OAAS,EACnC,GAAC,CAAAiC,IAAA,WAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,QAAQ92C,OAAOxB,KAAKX,MAAO,KAAO,QACtD,IAAC,EAAAiC,IAAA,OAAAjC,MApFD,SAAYA,GACV,OAAO,IAAI0wxB,GAAS,EAAM1wxB,EAC5B,GAAC,CAAAiC,IAAA,OAAAjC,MACD,WACE,OAAO0wxB,EAAShhD,aAClB,GAAC,CAAAztuB,IAAA,OAAAjC,MA4DD,SAAYA,GACV,OAAO8vxB,EAAc9vxB,GAAS0wxB,EAASpyvB,KAAKt+B,GAAS0wxB,EAAS/gX,MAChE,IAAC,CAxEW,GA2Fd+gX,EAAShhD,cAAgB,IAAIghD,GAAS,GAEtC,IAgBMqO,EAAiB,SAAAv/sB,GAAK,OAAI,SAAAr4B,GAAI,OAAI2ouB,EAAc3ouB,IAASq4B,EAAMp+E,KAAK+lD,EAAK6yD,SAAU,CAAD,EAClF06zB,EAAa31I,EAAe,gBAC5B41I,EAAkB51I,EAAe,aACjC3sT,EAAS,SAACyuU,EAAQ3tR,EAASl5a,GAAQ,OAnBvB,SAACwqJ,EAAIiye,EAAM11F,GAC3B,IAAK,IAAIrhpB,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAC7C,IAAM+V,EAAI+uP,EAAG9kQ,GACb,GAAI+2uB,EAAKhhuB,EAAG/V,GACV,OAAOgxxB,EAASpyvB,KAAK7oB,GAChB,GAAIsroB,EAAMtroB,EAAG/V,GAClB,KAEJ,CACA,OAAOgxxB,EAAS/gX,MAClB,CAS8Cukd,CAAUhhW,EAAS,SAAArse,GAAM,OAAI6t3B,EAAW7t3B,KAPjE,SAAAh2B,GAAI,MAAI,UAAUzvB,KAAKyvB,EAAK/D,UAAW,CAOsC8n5B,CAAa/t3B,EAAO,EAAE8t3B,GAAiB39c,OAAO,SAAAnmc,GAAI,OAAIA,EAAKmpF,WAAaA,GANpJ,SAAC6msB,EAAQ1wxB,GAC7B,OAAO0wxB,EAAO/gW,IAAIhqN,UAAU3lO,EAAK0wxB,EAAO50D,UAC1C,CAIsL4oL,CAAch0H,EAAQhwxB,EAAK,EAAE,EA0B7MwsyB,EAAsB,SAAA80B,GAAU,OAAItiE,EAAWsiE,IAA8B,YAAfA,EAA2B,GAAKA,CAAW,EACzG2iF,EAAmB,SAACj0H,EAAQ7msB,GAAQ,OAAK,SAAA24B,GAO7C,OAvB2B,SAACkuqB,EAAQk0H,GACpC,IAAMC,EAAcn0H,EAAOx8hB,UAAUyxd,UAMrC,OALAi/L,EAAkB,CAChB7hZ,QAAS2tR,EAAO/gW,IAAI85V,WAAWo7H,GAC/Bz9zB,QAASy9zB,IAEXn0H,EAAOlnuB,GAAG,aAAco71B,GACjB,kBAAMl0H,EAAOl7tB,IAAI,aAAcov1B,EAAmB,CAC3D,CAeSE,CAAqBp0H,EADF,SAAAtjzB,GAAC,OALD,SAACsjzB,EAAQ3tR,GACjC,IAAM37a,EAAUspsB,EAAOx8hB,UAAU6ud,UAAS,GAC1CvgmB,EAAIq9rB,UAAU59V,EAAOyuU,EAAQ3tR,EAASl5a,IACtC24B,EAAIqmxB,YAxBwB,SAACn4G,EAAQtpsB,GACvC,IAAM66xB,EAAavxF,EAAO/gW,IAAIlqI,UAAUr+N,EAAS,YACjD,OAH0B,SAACspsB,EAAQtpsB,GAAO,OAAiB,OAAZA,IAAqBspsB,EAAO/gW,IAAIm9V,WAAW1lsB,EAAS,CAG5F29zB,CAAoBr0H,EAAQuxF,IAAevxF,EAAOx8hB,UAAU44hB,YACrE,CAqBoBo1F,CAAwBxxF,EAAQtpsB,IAAYspsB,EAAOx8hB,UAAU44hB,aAC/E,CAC+Bk4H,CAAkBt0H,EAAQtjzB,EAAE21hB,QAAS,EAEtE,CAAE,EACIg2Y,EAAiB,SAACroH,EAAQn+xB,EAAI26F,EAAS2tsB,EAAKhxsB,EAAU94F,GAC1D2/xB,EAAO5/X,GAAG5zZ,SAAS674B,eAAexm5B,EAAI,CACpC26F,UACAr4F,KAAmB,OAAbg1F,EAAoB,eAAiB,iBAC3Co7zB,QAAS,cACTvrrB,QAAS,EACT/wL,MAAO,SAAA74D,GAaLA,EAZc8yC,EAAOjjC,IAAIoR,EAAQ,SAAAix0B,GAC/B,IAAMkjF,EAAyB,OAAbr7zB,EAAoB,MAAQ,OACxCqjJ,EAA0B,SAAf80lB,GAAwC,YAAfA,EAA2B,UAAYA,EAC3EmjF,EAAYj4G,EAAoB80B,GAChCojF,EA1BW,SAAApjF,GACvB,OAAOA,EAAW/x0B,QAAQ,MAAO,KAAKA,QAAQ,QAAS,SAAAs3iB,GACrD,OAAOA,EAAI5ve,aACb,EACF,CAsB4B0t1B,CAAiBrjF,GACrC,MAAO,CACLzx1B,KAAM,aACNV,MAAOs16B,EACPtw5B,KAAM,QAAUqw5B,EAAY,IAAMh4qB,EAClC/nO,KAAMig5B,EAEV,GAEF,EACAv1mB,SAAU,WAAF,OAAQ6gf,EAAO/0D,YAAYk/D,EAAI,EACvCyqH,aAAc,SAACC,EAAiB116B,GAC9Bs06B,EAAgBzzH,EAAQ7msB,EAAUh6G,EACpC,EACA8iC,OAAQ,SAAA9iC,GACN,IAAM216B,EA7DiB,SAAA90H,GAC3B,IAAMyqD,EAAUzqD,EAAO/gW,IAAIlqI,UAAUire,EAAOx8hB,UAAUyxd,UAAW,SAC3Dj1tB,EAAQggyB,EAAO/gW,IAAI45V,SAAS4xD,EAAS,iBAC3C,OAAO56E,EAASxquB,KAAKrlC,EACvB,CAyD4B+05B,CAAqB/0H,GAC3C,OAAO80H,EAAc7l6B,IAAI,SAAA+l6B,GAAS,OAAI716B,IAAU616B,CAAS,GAAE/lM,OAAM,EACnE,EACAg5J,QAASgsC,EAAiBj0H,EAAQ7msB,IAEtC,EAUM87zB,EAAa,SAACj1H,EAAQn+xB,EAAI26F,EAAS2tsB,EAAKhxsB,EAAU94F,GAClDA,EAAO/hB,OAAS,EAClB+p6B,EAAeroH,EAAQn+xB,EAAI26F,EAAS2tsB,EAAKhxsB,EAAU94F,GAXrC,SAAC2/xB,EAAQn+xB,EAAI26F,EAAS2tsB,EAAKhxsB,EAAUm4uB,GACrDtxC,EAAO5/X,GAAG5zZ,SAAS274B,gBAAgBtm5B,EAAI,CACrC07F,QAAQ,EACRf,UACAr4F,KAAmB,OAAbg1F,EAAoB,eAAiB,iBAC3C8uxB,QAASgsC,EAAiBj0H,EAAQ7msB,GAClCgmN,SAAU,WAAF,OAAQ6gf,EAAO8pH,kBAAkB3/G,IAAuB,KAAfmnC,EAAoBtxC,EAAO/0D,YAAYk/D,GAAOspH,EAAgBzzH,EAAQ7msB,EAAUm4uB,EAAW,GAEhJ,CAKI22E,CAAUjoH,EAAQn+xB,EAAI26F,EAAS2tsB,EAAKhxsB,EAAUqjtB,EAAoBn8yB,EAAO,IAE7E,EAOEu3rB,EAAStqsB,IAAI,UAAW,SAAA0yyB,GAClBA,EAAOupH,UAAU,UA9NN,SAAAvpH,GACjB,IAAMspH,EAAiBtpH,EAAOl6yB,QAAQy0F,SACtC+u0B,EAAe,wBAAyB,CACtCz9K,UAAW,WACX5ouB,QAAS,sEAAsEwqB,MAAM,OAEvF673B,EAAe,wBAAyB,CACtCz9K,UAAW,WACX5ouB,QAAS,wBAAwBwqB,MAAM,MAE3C,CAqNMox2B,CAAW7+F,GARA,SAAAA,GACfi1H,EAAWj1H,EAAQ,UAAW,gBAAiB,oBAAqB,KAAM2zH,EAAgB3zH,IAC1Fi1H,EAAWj1H,EAAQ,UAAW,cAAe,sBAAuB,KAAM4zH,EAAgB5zH,GAC5F,CAMMzltB,CAASyltB,GA1OI,SAAAA,GACjBA,EAAO1yD,WAAW,0BAA2B,SAACltU,EAAIjhb,GAChDs06B,EAAgBzzH,EAAQ,KAAM7gzB,EAAM,mBACtC,GACA6gzB,EAAO1yD,WAAW,wBAAyB,SAACltU,EAAIjhb,GAC9Cs06B,EAAgBzzH,EAAQ,KAAM7gzB,EAAM,mBACtC,EACF,CAoOMoq4B,CAAWvpF,IAEXpjzB,QAAQC,MAAM,sEAElB,EAKL,CAhQD,GAwQiBkyuB,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,yBAG/B0G,IAAI,kBAAmB,SAAA0yyB,GAC5B,IAAMk1H,EAAuB,SAAA5u3B,GAAI,OAAIA,EAAO05vB,EAAO/gW,IAAI27V,SAASt0vB,EAAM,sBAAuB,UAAY,IAAK,EAC9G05vB,EAAOlnuB,GAAG,cAAe,SAAAkqL,GAGlB,IACD5qN,EAHJvS,EAAOm9N,EAAPn9N,QACAj9B,EAAMo6P,EAANp6P,OAGA,OAAQi9B,GACN,IAAK,oBACHuS,EAAM,KACN,MACF,IAAK,sBACHA,EAAM,KACN,MACF,QACE,OAEJ,IAAMkO,EAAO19C,EAAO46Q,UAAU6ud,WAAW/+e,QAAQl7M,GACjD883B,EAAqB5u3B,EACvB,GACA05vB,EAAOlnuB,GAAG,mBAAoB,SAAAmqL,GAEvB,IADL38M,EAAI28M,EAAJ38M,KAEWx2B,EAAOw2B,EAAKozD,iBAAiB,UAClC3mF,QAAQmi5B,EAChB,EACF,GAUN,WAGI,IAAIpD,EAAW/iM,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,yBAEtCgxsB,EAAWm3B,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,0BAEtCsrC,EAAS68rB,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,sBAUlCuu6B,EARS,SAAAx46B,GAAI,OAAI,SAAAqjzB,GAAM,OAAIA,EAAOl6yB,QAAQxB,IAAI3H,EAAM,CAAD,CAQ1BswO,CAAO,8BAEhCmosB,EAAsB,gBACtBC,EAAgB,SAAAz16B,GAAG,OAAKA,CAAI,EAC5B016B,EAAkB,SAAAhm5B,GAEtB,OADWA,EAAIqnF,aAAa,OAASrnF,EAAIqnF,aAAa,SACzC,EACf,EAEMgtrB,EAAgB,SAAAr0wB,GAAG,OADR,SAAAA,GAAG,MAAmC,MAA/BA,EAAI6pF,SAAS35F,aAAsB,CAC9B+15B,CAASjm5B,KAASA,EAAIqnF,aAAa,SAAoC,KAAzB2+zB,EAAgBhm5B,EAAY,EAGjGkm5B,EAAqC,SAAAx1H,GACzC,IAAM/gW,EAAM+gW,EAAO/gW,IACnB24P,EAAS34P,GAAKo3U,KAAK2pB,EAAOx8hB,UAAU08hB,SAAU,SAAAlnsB,GAC5C9mE,EAAOupB,KAAKu9C,EAAO,SAAA1yD,GALI,IAAAh3B,EAAOq0wB,EAAPr0wB,EAMEg3B,KAN4Bh3B,EAAIwmI,YAOrDmpT,EAAIh2b,OAAOq9B,GAAM,EAErB,EACF,EACF,EAEMmv3B,EAAiB,SAAAz1H,GAAM,OAAIA,EAAO/gW,IAAIlqI,UAAUire,EAAOx8hB,UAAU6ud,WAAY+iM,EAAqB,EAkClGlpxB,EAAS,SAAC8zpB,EAAQn+xB,GACtB,IAAMmtnB,EAASymS,EAAez1H,GAC1BhxK,EARe,SAACgxK,EAAQn+xB,EAAI6z5B,GAChCA,EAAchh0B,gBAAgB,QAC9Bgh0B,EAAc7z5B,GAAKA,EACnBm+xB,EAAO8wD,YACP9wD,EAAOj1D,YAAYz9uB,KACrB,CAIIqo6B,CAAa31H,EAAQn+xB,EAAImtnB,GA5BR,SAACgxK,EAAQn+xB,GAC5Bm+xB,EAAOj1D,YAAYyB,SAAS,WACrB2oL,EAAuBn1H,IAC1BA,EAAOx8hB,UAAU87J,UAAS,GAExB0gY,EAAOx8hB,UAAUwne,cACnBg1D,EAAO90D,cAAc80D,EAAO/gW,IAAI26R,WAAW,IAAK,CAC9C/3tB,SAGF2z5B,EAAmCx1H,GACnCA,EAAO9qT,UAAUjse,OAAO,mBAAezjB,OAAWA,GAAW,GAC7Dw6yB,EAAO9qT,UAAUptf,MAAM,cAAe,CACpC3I,MAAO0iB,IAETm+xB,EAAO8wD,YAEX,EACF,CAYI8kE,CAAa51H,EAAQn+xB,GAEvBm+xB,EAAOr/wB,OACT,EAWMp4B,EAAO,SAAAy3yB,GACX,IAAM61H,EArDM,SAAA71H,GACZ,IAAMhxK,EAASymS,EAAez1H,GAC9B,OAAIhxK,EACKsmS,EAAgBtmS,GAEhB,EAEX,CA8CoB8mS,CAAM91H,GACxBA,EAAOjzD,cAAcxkvB,KAAK,CACxByzF,MAAO,SACPx3F,KAAM,SACNm0D,KAAM,CACJ94D,KAAM,QACNkkB,MAAO,CAAC,CACNpnB,KAAM,KACNkD,KAAM,QACN8vB,MAAO,KACPgS,YAAa,aAGjB22P,QAAS,CAAC,CACRz4R,KAAM,SACNlD,KAAM,SACN83B,KAAM,UACL,CACD50B,KAAM,SACNlD,KAAM,OACN83B,KAAM,OACNk4tB,SAAS,IAEXE,YAAa,CACXhruB,GAAIg05B,GAENE,SAAU,SAAAjkyB,IApCO,SAACkuqB,EAAQvuiB,GAC5B,OA9CgB,SAAA5vP,GAAE,MAAI,8BAA8BthB,KAAKshB,EAAI,CA8CxDm05B,CAAUvkqB,IAIbvlH,EAAO8zpB,EAAQvuiB,IACR,IAJPuuiB,EAAOjzD,cAAchwf,MAAM,2GACpB,EAKX,EA6BUk5qB,CAAaj2H,EAAQluqB,EAAI71G,UAAUpa,KACrCiwH,EAAIzmH,OAER,GAEJ,EASM6q5B,EAAyB,SAAA5v3B,GAAI,OADT,SAAAA,GAAI,OAAI+u3B,EAAc/u3B,EAAK2pB,KAAK,WAAaol2B,EAAc/u3B,EAAK2pB,KAAK,OAAS3pB,EAAK2pB,KAAK,QAAS,CACpFkm2B,CAAkB7v3B,KAAUA,EAAKwvG,UAAW,EAC7EitwB,EAAqB,SAAA9k5B,GAAK,OAAI,SAAA+6F,GAClC,IAAK,IAAIn6G,EAAI,EAAGA,EAAIm6G,EAAM16G,OAAQO,IAAK,CACrC,IAAMynD,EAAO0yD,EAAMn6G,GACfq36B,EAAuB5v3B,IACzBA,EAAK2pB,KAAK,kBAAmBhyD,EAEjC,CACF,CAAE,EAwBIm45B,EAAkB,SAAAp2H,GAAM,OAAI,SAAAluqB,GAChC,IAAM+zrB,EAAc,WAClB/zrB,EAAIqmxB,WAAWn4G,EAAOx8hB,UAAU44hB,aAClC,EAGA,OAFA4D,EAAOlnuB,GAAG,aAAc+svB,GACxBA,IACO,WACL7lB,EAAOl7tB,IAAI,aAAc+gvB,EAC3B,CACF,CAAE,EAyBAisG,EAASxk6B,IAAI,SAAU,SAAA0yyB,IA/LN,SAAAA,IAEjBspH,EADuBtpH,EAAOl6yB,QAAQy0F,UACvB,6BAA8B,CAC3CsxpB,UAAW,UACX5ouB,SAAS,GAEb,CA0LIsm3B,CAAWvpF,GA1DD,SAAAA,GACZA,EAAOlnuB,GAAG,UAAW,WACnBknuB,EAAOtvuB,OAAOgnxB,cAAc,IAAKqrE,EAAmB,UACpD/iH,EAAOt5yB,WAAWgx1B,cAAc,IAAKqrE,EAAmB,MAC1D,EACF,CAsDIlwc,CAAMmtV,GA3ES,SAAAA,GACjBA,EAAO1yD,WAAW,YAAa,WAC7B/kvB,EAAKy3yB,EACP,EACF,CAwEI6+F,CAAW7+F,GA3BE,SAAAA,GACf,IAAM7gf,EAAW,WAAH,OAAS6gf,EAAO/0D,YAAY,YAAa,EACvD+0D,EAAO5/X,GAAG5zZ,SAAS274B,gBAAgB,SAAU,CAC3Chk5B,KAAM,WACNq4F,QAAS,SACT2iN,WACA8okB,QAAS,SAAA8qC,GACP,IAAMsD,EAAwBr2H,EAAOx8hB,UAAU6wlB,0BAA0B,gBAAiB0+D,EAAU5jG,WAAWh+F,OACzGmlM,EAAwBF,EAAgBp2H,EAAhBo2H,CAAwBrD,GACtD,OAAO,WACLsD,IACAC,GACF,CACF,IAEFt2H,EAAO5/X,GAAG5zZ,SAAS874B,YAAY,SAAU,CACvCnk5B,KAAM,WACNsQ,KAAM,YACN0qS,WACA8okB,QAASmuC,EAAgBp2H,IAE7B,CAOIzltB,CAASyltB,GACTA,EAAOlnuB,GAAG,UAAW,YAvDD,SAAAknuB,GACtBA,EAAO9qT,UAAU36Z,SAAS,cAAe,CACvC4jE,OAAQ,IACR/lC,SAAUg9yB,EACVns5B,OAAQ,MACRwkB,OAAO,EACPw9B,MAAM,EACNunE,WAAY,CACV3wH,GAAI,UAEN2p0B,QAAS,SAACllyB,EAAM6+zB,EAAMC,GACpB,OAAOzhF,EAAcr9uB,EACvB,GAEJ,CA0CMiw3B,CAAgBv2H,EAClB,EACF,EAKL,CAtND,GA2NA,WAGE,IA4CengzB,EA5CX+3sB,EAAWm3B,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,yBAIpCqmO,EAAS,SAAAtwO,GAAI,OAAI,SAAAqjzB,GAAM,OAAIA,EAAOl6yB,QAAQxB,IAAI3H,EAAM,CAAD,EAenD656B,EAAqBvpsB,EAAO,oBAC5BwpsB,EAAuBxpsB,EAAO,uBAC9BypsB,EAAyBzpsB,EAAO,yBAChC0psB,EAAwB1psB,EAAO,4BAwB/Bn6J,GAFSjzE,EAES,SAFD,SAAAV,GAAK,OAZb,SAAAyV,GACb,IATgB+vC,EAAGtF,EACfsJ,EAa8CkU,EAL5CthD,SAAW3G,EACjB,OAAU,OAANA,EACK,OACQ,WAAN2G,GAAkBhH,MAAMC,QAAQI,GAClC,QACQ,WAAN2G,IAAuCshD,EAdlClY,EAcsB/vC,GAdnByqC,EAcsB99C,QAZZzD,UAYwC6kZ,cAAc9lV,KAThD,QAAxBlU,EAAKhE,EAAEtF,mBAAqC,IAAZsJ,OAAqB,EAAIA,EAAGhsD,QAAU0iD,EAAY1iD,MAUpF,SAEA4e,CAEX,CACgCqtD,CAAOzpE,KAAWU,CAAK,GAGjDywL,EAFK,SAAA/0K,GAAC,OAAI,SAAAnW,GAAC,OAAImW,IAAMnW,CAAE,CAAD,CAERsiF,MAAGliF,GAEjBypxB,EAAgB,SAAA7pxB,GAAC,OADJ,SAAAA,GAAC,OAAIA,OAA8B,CAC1B4pxB,CAAW5pxB,EAAG,EAIpC9B,EAAiBzF,OAAOyF,eAiBxBy/xB,EAAS,SAAAxjtB,GAAI,MADD,WACKA,CAAmB,EAGtCrtC,EAAS68rB,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,0BAElCgw6B,EAAa,SAAAtw3B,GAAI,OAAsB,IAAlBA,EAAKwkC,QAAe,EACzCk6R,EAAY,SAAA1+T,GAAI,OAAsB,IAAlBA,EAAKwkC,QAAe,EACxC+r1B,EAAmB,SAAAt31B,GAAI,MAAI,kBAAkBh/E,KAAKg/E,EAAM,EAGxDu31B,EAAW,SAACri5B,EAAMvqB,EAAO67F,GAC7B,IAAK,IAAIlnG,EAAIqL,EAAQ,EAAGrL,GAAK,EAAGA,IAAK,CACnC,IAAM0gF,EAAO9qD,EAAK+jB,OAAO35C,GACzB,IAAKkkyB,EAAOxjtB,IAASwmB,EAAUxmB,GAC7B,OAAO1gF,CAEX,CACA,OAAQ,CACV,EAcMk46B,EAAmB,SAAC/2H,EAAQ1+xB,GAChC,IAAIqnC,EACEq11B,EAAeh+F,EAAO98xB,OAAO0uxB,kBAC7BolI,EAAkBR,EAAmBx2H,GAEzC/gW,EAEE+gW,EAFF/gW,IACAz7L,EACEw8hB,EADFx8hB,UAEF,GAAsD,OAAlDy7L,EAAIlqI,UAAUvxD,EAAUyxd,UAAW,WACrC,OAAO,KAET,IAAM9mT,EAAM3qK,EAAU08hB,SAChB2e,EAAa3sxB,EAAO+sa,EAAK,SAAA34Z,GAC7B,OAAO24Z,EAAIwmV,QAAQn/uB,KA7DVjpB,EA6DuB2g3B,EA7DlB584B,EA6DgCklD,EAAK6yD,SAAS35F,cA7DtClc,EAAehE,KAAK+9B,EAAKj8B,KA6DgE,UAAjC69c,EAAIi7V,mBAAmB5zvB,GA7D7F,IAACjpB,EAAKj8B,CA8DhB,GACA616B,EA5BkB,SAACl90B,EAAWz4E,GAG9B,IAFA,IAAIqhxB,EAAW5osB,EACXm90B,EAAa515B,EACV0jW,EAAU29a,IAAaA,EAASliwB,WAAWy24B,IAChDv0I,EAAWA,EAASliwB,WAAWy24B,GAC/BA,EAAaN,EAAWj0I,GAAYA,EAAS1+xB,KAAK3F,OAASqkyB,EAASliwB,WAAWniC,OAEjF,MAAO,CACLy7F,UAAW4osB,EACXrhxB,OAAQ415B,EAEZ,CAoBM/5F,CAAYhvZ,EAAI6jT,aAAc7jT,EAAI8jT,WAFzBD,EAAYilM,EAAvBl90B,UACQk4oB,EAASglM,EAAjB315B,OAEI2mE,EAA2D,QAAnDt/B,EAAKs2Z,EAAIlqI,UAAUi9Z,EAAc/yR,EAAIwmV,gBAAkC,IAAZ98uB,EAAgBA,EAAKs2Z,EAAIy5V,UAC5Fo1G,EAAUjvF,EAAWtc,UAAUvwE,EAAcC,EAAY3wtB,EAAQ,SAACglC,EAAMhlC,GAC5E,IAxEQrc,EA4BUs6E,EA4CZ9qD,EAAO6xB,EAAKriD,KACZ08D,EAAMm22B,EAASri5B,EAAMnT,GAzEnBrc,EAyE+B4x6B,EAzE1B,SAAAt75B,GAAC,OAAKtW,EAAEsW,EAAG,IA0ExB,OAAgB,IAATolD,IA9CW4e,EA8CiB9qD,EAAKksC,GA9Cd,WAAWpgE,KAAKg/E,IA8CM5e,EAAMA,EAAM,CAC9D,EAAGsnB,GACH,IAAK6l0B,EACH,OAAO,KAET,IAAIlvF,EAAekvF,EAAQ/zzB,UACrBo90B,EAAYt4G,EAAWtc,UAAUurG,EAAQ/zzB,UAAW+zzB,EAAQxs4B,OAAQ,SAACglC,EAAMhlC,GAC/Es9yB,EAAet4wB,EACf,IAAMqa,EAAMm22B,EAASxw3B,EAAKriD,KAAMqd,EAAQu15B,GACxC,OAAgB,IAATl22B,EAAaA,EAAMA,EAAM,CAClC,EAAGsnB,GACGw8tB,EAASxlW,EAAI46V,YACds9H,EAGH1yH,EAAOr1W,SAAS+ne,EAAUp90B,UAAWo90B,EAAU715B,QAF/CmjyB,EAAOr1W,SAASwvX,EAAc,GAIhCna,EAAOp1W,OAAOy+c,EAAQ/zzB,UAAW+zzB,EAAQxs4B,QACzC,IACMy2F,EADqB0ssB,EAAO7mzB,WAxEV2hB,QAAQ,UAAW,IAyEnB9e,MAAMu26B,GAC9B,GAAIj/zB,EAAS,CACX,IAAIrjF,EAAMqjF,EAAQ,GAClB,GAlFe,SAACn4G,EAAK8/B,GACvB,OAViB,SAAC9/B,EAAKswD,EAAQ/7C,GAAK,MAAgB,KAAX+7C,GAAiBtwD,EAAItB,QAAU4xD,EAAO5xD,QAAUsB,EAAIswD,OAAO/7C,EAAOA,EAAQ+7C,EAAO5xD,UAAY4xD,CAAO,CAUtIgjuB,CAAWtzxB,EAAK8/B,EAAQ,EACjC,CAgFQ/7B,CAAW+wB,EAAK,QAElBA,EADiBgi5B,EAAuB12H,GACvB,MAAQtrxB,OA5Fd,SAAC90B,EAAKswD,GAA4B,IAApB/7C,EAAKrS,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,EAAGsS,EAAGtS,UAAAxD,OAAA,EAAAwD,UAAA,QAAA0D,EACrCm7D,EAAM/gE,EAAId,QAAQoxD,EAAQ/7C,GAChC,OAAa,IAATwsD,MACK2vH,EAAYl8K,IAAcusD,EAAMzQ,EAAO5xD,QAAU8V,EAI5D,EAsFe2oG,CAASroF,EAAK,OAxET,SAAAA,GAAG,MAAI,yCAAyCn0B,KAAKm0B,EAAK,CAwExC0i5B,CAAY1i5B,KAC5CA,EAAM,UAAYA,GAEpB,MAAO,CACLy5Z,IAAKs2X,EACL/vxB,MAEJ,CACE,OAAO,IAEX,EACM2i5B,EAAgB,SAACr3H,EAAQjgzB,GAC7B,IACEk/c,EAEE+gW,EAFF/gW,IACAz7L,EACEw8hB,EADFx8hB,UAGA2qK,EAEEpub,EAFFoub,IACAz5Z,EACE30B,EADF20B,IAEI0jyB,EAAW50iB,EAAU6pe,cAC3B7pe,EAAUkqe,OAAOv/T,GACjB,IAAMtoZ,EAAU,aACVhyB,EAAO,CACXgyB,UACAu6Y,IAAI,EACJjhb,MAAOu1B,GAGT,IADwBsrxB,EAAO5iyB,SAAS,oBAAqBvJ,GACxC0jrB,qBAAsB,CACzCyoH,EAAOzyD,SAAStC,YAAYpltB,GAAS,EAAOnR,GAC5CsrxB,EAAO5iyB,SAAS,cAAevJ,GAC/B,IAAMyj6B,EAAoBb,EAAqBz2H,GAC/C,GAAIltuB,EAASwk2B,GAAoB,CAC/B,IAAMtoS,EAASxrX,EAAUyxd,UACzBh2R,EAAIs5V,UAAUvpK,EAAQ,SAAUsoS,GACN,WAAtBA,GAAmCX,EAAsB32H,IAC3D/gW,EAAIs5V,UAAUvpK,EAAQ,MAAO,WAEjC,CACF,CACAxrX,EAAUipe,eAAe2rE,GACzBpY,EAAO6lB,aACT,EACM0xG,EAAiB,SAAAv3H,GACrB,IAAMjgzB,EAASg36B,EAAiB/2H,GAAS,GACrC/wB,EAAclvxB,IAChBs36B,EAAcr3H,EAAQjgzB,EAE1B,EACMy36B,EAAgBD,EAOhB1kd,EAAQ,SAAAmtV,GACZA,EAAOlnuB,GAAG,UAAW,SAAAp8E,GACD,KAAdA,EAAEw7rB,SAAmBx7rB,EAAE66rB,sBARX,SAAAyoH,GAClB,IAAMjgzB,EAASg36B,EAAiB/2H,EAAQ,GACpC/wB,EAAclvxB,IAChBs36B,EAAcr3H,EAAQjgzB,EAE1B,CAIMov5B,CAAYnvG,EAEhB,GACAA,EAAOlnuB,GAAG,QAAS,SAAAp8E,GACC,KAAdA,EAAEw7rB,QACJq/O,EAAev3H,IACQ,KAAdtjzB,EAAEw7rB,SAAkBx7rB,EAAE2rB,UAA0B,MAAd3rB,EAAEw7rB,UAC7Cs/O,EAAcx3H,EAElB,EACF,EAGEpoG,EAAStqsB,IAAI,WAAY,SAAA0yyB,IA1NV,SAAAA,GACf,IAAMspH,EAAiBtpH,EAAOl6yB,QAAQy0F,SACtC+u0B,EAAe,mBAAoB,CACjCz9K,UAAW,SACX5ouB,QAAS,IAAIolD,OAAO,IAPL,sQAOkB3yB,OAAS,IAAK,OAEjD4z3B,EAAe,sBAAuB,CACpCz9K,UAAW,WAEby9K,EAAe,wBAAyB,CACtCz9K,UAAW,SACX5ouB,QAAS,SAEb,CA8MIs3E,CAASyltB,GACTntV,EAAMmtV,EACR,EAKH,CA1OD,GA+OA,WAGI,IAiCengzB,EAUEV,EA3Cby4sB,EAAWm3B,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,yBAQpC6w6B,EAAa,SAACz3H,EAAQnpP,GAC1B,IAAM6gX,EAPqB,SAAC13H,EAAQnpP,GACpC,OAAOmpP,EAAO5iyB,SAAS,mBAAoB,CACzCy5iB,OAEJ,CAGiB8gX,CAAqB33H,EAAQnpP,GAAKA,IACjDmpP,EAAO/0D,YAAY,oBAAoB,EAAOysL,EAChD,EAwBMhw1B,EAAK,SAAAnsE,GAAC,OAAI,SAAAnW,GAAC,OAAImW,IAAMnW,CAAE,CAAD,EACtB6oG,GAHSpuG,EAGU,QAHF,SAAAV,GAAK,OAZb,SAAAyV,GACb,IATgB+vC,EAAGtF,EACfsJ,EAa8CkU,EAL5CthD,SAAW3G,EACjB,OAAU,OAANA,EACK,OACQ,WAAN2G,GAAkBhH,MAAMC,QAAQI,GAClC,QACQ,WAAN2G,IAAuCshD,EAdlClY,EAcsB/vC,GAdnByqC,EAcsB99C,QAZZzD,UAYwC6kZ,cAAc9lV,KAThD,QAAxBlU,EAAKhE,EAAEtF,mBAAqC,IAAZsJ,OAAqB,EAAIA,EAAGhsD,QAAU0iD,EAAY1iD,MAUpF,SAEA4e,CAEX,CACgCqtD,CAAOzpE,KAAWU,CAAK,GAIjD8lI,EAASj+C,EAAG,MACZ4oG,EAAc5oG,OAAGliF,GAGjB8kD,EAPe,SAAAzqD,GAAI,OAAI,SAAAV,GAAK,cAAWA,IAAUU,CAAK,CAAD,CAOxCgvxB,CAAa,YAO1Be,GALWzwxB,GAKM,EAJd,WACL,OAAOA,CACT,GAII0wxB,EAAQ,WACZ,SAAAA,EAAYz3uB,EAAKj5C,GAAO8Y,EAAA,KAAA43wB,GACtB/vxB,KAAKs4C,IAAMA,EACXt4C,KAAKX,MAAQA,CACf,CAAC,OAAAyZ,EAAAi3wB,EAAA,EAAAzuxB,IAAA,OAAAjC,MAOD,SAAK2wxB,EAAQC,GACX,OAAIjwxB,KAAKs4C,IACA23uB,EAAOjwxB,KAAKX,OAEZ2wxB,GAEX,GAAC,CAAA1uxB,IAAA,SAAAjC,MACD,WACE,OAAOW,KAAKs4C,GACd,GAAC,CAAAh3C,IAAA,SAAAjC,MACD,WACE,OAAQW,KAAKs4C,GACf,GAAC,CAAAh3C,IAAA,MAAAjC,MACD,SAAI6wxB,GACF,OAAIlwxB,KAAKs4C,IACAy3uB,EAASpyvB,KAAKuyvB,EAAOlwxB,KAAKX,QAE1B0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,OAAAjC,MACD,SAAK8wxB,GACH,OAAInwxB,KAAKs4C,IACA63uB,EAAOnwxB,KAAKX,OAEZ0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAOjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACpC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAQjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACrC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAKjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,OACvBW,KAEA+vxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,QAAAjC,MACD,SAAMovI,GACJ,OAAOzuI,KAAKs4C,IAAMt4C,KAAKX,MAAQovI,CACjC,GAAC,CAAAntI,IAAA,KAAAjC,MACD,SAAGovI,GACD,OAAOzuI,KAAKs4C,IAAMt4C,KAAOyuI,CAC3B,GAAC,CAAAntI,IAAA,aAAAjC,MACD,SAAW+wxB,GACT,OAAOpwxB,KAAKs4C,IAAMt4C,KAAKX,MAAQ+wxB,GACjC,GAAC,CAAA9uxB,IAAA,UAAAjC,MACD,SAAQ+wxB,GACN,OAAOpwxB,KAAKs4C,IAAMt4C,KAAOowxB,GAC3B,GAAC,CAAA9uxB,IAAA,WAAAjC,MACD,SAASsK,GACP,GAAK3J,KAAKs4C,IAGR,OAAOt4C,KAAKX,MAFZ,MAAM,IAAIK,MAAMiK,QAAyCA,EAAU,0BAIvE,GAAC,CAAArI,IAAA,YAAAjC,MAID,WACE,OAAOW,KAAKs4C,IAAMt4C,KAAKX,MAAQ,IACjC,GAAC,CAAAiC,IAAA,iBAAAjC,MACD,WACE,OAAOW,KAAKX,KACd,GAAC,CAAAiC,IAAA,OAAAjC,MACD,SAAKgxxB,GACCrwxB,KAAKs4C,KACP+3uB,EAAOrwxB,KAAKX,MAEhB,GAAC,CAAAiC,IAAA,UAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,CAACt4C,KAAKX,OAAS,EACnC,GAAC,CAAAiC,IAAA,WAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,QAAQ92C,OAAOxB,KAAKX,MAAO,KAAO,QACtD,IAAC,EAAAiC,IAAA,OAAAjC,MApFD,SAAYA,GACV,OAAO,IAAI0wxB,GAAS,EAAM1wxB,EAC5B,GAAC,CAAAiC,IAAA,OAAAjC,MACD,WACE,OAAO0wxB,EAAShhD,aAClB,GAAC,CAAAztuB,IAAA,OAAAjC,MA4DD,SAAYA,GACV,OAlFe,SAAAiG,GAAC,OAAIA,OAA8B,CAC1B4pxB,CAiFH7vxB,GAAgC0wxB,EAAS/gX,OAAhC+gX,EAASpyvB,KAAKt+B,EAC9C,IAAC,CAxEW,GA2Fd0wxB,EAAShhD,cAAgB,IAAIghD,GAAS,GAEtC,IAAMS,EAAa/7wB,MAAMzW,UAAU8F,KAC7BqL,EAAM,SAAC00P,EAAI1+P,GAGf,IAFA,IAAM1G,EAAMolQ,EAAGrlQ,OACTorD,EAAI,IAAIn1C,MAAMhW,GACXM,EAAI,EAAGA,EAAIN,EAAKM,IAAK,CAC5B,IAAM+V,EAAI+uP,EAAG9kQ,GACb6qD,EAAE7qD,GAAKoG,EAAE2P,EAAG/V,EACd,CACA,OAAO6qD,CACT,EAkBM96B,EAAO,SAAC+0O,EAAIiye,GAChB,OAZgB,SAACjye,EAAIiye,EAAM11F,GAC3B,IAAK,IAAIrhpB,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAC7C,IAAM+V,EAAI+uP,EAAG9kQ,GACb,GAAI+2uB,EAAKhhuB,EAAG/V,GACV,OAAOgxxB,EAASpyvB,KAAK7oB,GAChB,GAAIsroB,EAAMtroB,EAAG/V,GAClB,KAEJ,CACA,OAAOgxxB,EAAS/gX,MAClB,CAESukd,CAAU1vnB,EAAIiye,EAAMg6C,EAC7B,EAWMnrtB,EAAO,SAACk/L,EAAI1+P,GAAC,OAVH,SAAA0+P,GAEd,IADA,IAAMj6M,EAAI,GACD7qD,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,IAAOM,EAAG,CAC7C,IAAKovG,EAAU01J,EAAG9kQ,IAChB,MAAM,IAAIW,MAAM,oBAAsBX,EAAI,6BAA+B8kQ,GAE3E2shB,EAAWxoxB,MAAM4hD,EAAGi6M,EAAG9kQ,GACzB,CACA,OAAO6qD,CACT,CACwBwvD,CAAQjqG,EAAI00P,EAAI1+P,GAAI,EAExCitC,EAAS68rB,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,sBAElCqmO,EAAS,SAAAtwO,GAAI,OAAI,SAAAqjzB,GAAM,OAAIA,EAAOl6yB,QAAQxB,IAAI3H,EAAM,CAAD,EAWnDi76B,EAAe3qsB,EAAO,WACtB4qsB,EAAmB5qsB,EAAO,kBAE1Bz4N,EAAU09B,EAAO19B,QACjBsj6B,EAAc,eA8BdC,EAAqB,SAAAlxZ,GACzB,OAAIrygB,EAAQqygB,IANQmxZ,EAOGnxZ,EANhB30e,EAAOkkvB,KAAK4hJ,EAAS,SAAArp5B,GAC1B,OAAOna,EAAQma,IAAyB,IAAhBA,EAAKrwB,MAC/B,IAM2B,mBAAhBuohB,EACFA,IAEF,GAZa,IAAAmxZ,CAatB,EAuBMC,EAAa,SAAAj4H,GACjB,IAAMr8H,EAvBc,SAACq8H,EAAQg4H,GAC7B,IAAME,EAAcN,EAAa53H,GAC7Bk4H,IACFF,EAAU,CAAC,CACTr76B,KAAMm76B,EACNK,WAAYJ,EAAmBG,MAGnC,IAAME,EAAoBP,EAAiB73H,GAC3C,GAAIo4H,EAAmB,CACrB,IAAMC,EAAmBnm4B,EAAOkkvB,KAAK4hJ,EAAS,SAAAx7O,GAAE,OAAIA,EAAG7/rB,OAASm76B,CAAW,GAC3E,OAAIO,EAAiB/56B,QACnB+56B,EAAiB,GAAGF,WAAU,GAAA726B,OAAAwuB,EAAOuo5B,EAAiB,GAAGF,YAAUro5B,EAAKio5B,EAAmBK,KACpFJ,GAEFA,EAAQ126B,OAAO,CACpB3E,KAAMm76B,EACNK,WAAYJ,EAAmBK,IAEnC,CACA,OAAOJ,CACT,CAEiBM,CAAct4H,EA5DtB,CAAC,CACNrjzB,KAAM,WACNw76B,WAAY,CAAC,CAAC,GAAI,eAAgB,CAAC,IAAK,aAAc,CAAC,KAAM,aAAc,CAAC,IAAK,cAAe,CAAC,IAAK,YAAa,CAAC,IAAK,iBAAkB,CAAC,KAAM,sBAAuB,CAAC,KAAM,cAAe,CAAC,KAAM,iBAAkB,CAAC,KAAM,qBAAsB,CAAC,KAAM,aAAc,CAAC,KAAM,aAAc,CAAC,KAAM,cAAe,CAAC,KAAM,eAAgB,CAAC,KAAM,cAAe,CAAC,KAAM,YAAa,CAAC,KAAM,mBAAoB,CAAC,KAAM,aAAc,CAAC,KAAM,YAAa,CAAC,KAAM,eAAgB,CAAC,KAAM,gBAAiB,CAAC,KAAM,uBAAwB,CAAC,KAAM,aAAc,CAAC,KAAM,gBAAiB,CAAC,KAAM,gBAAiB,CAAC,KAAM,gBAAiB,CAAC,KAAM,aAAc,CAAC,KAAM,uBAAwB,CAAC,KAAM,iBAAkB,CAAC,KAAM,cAAe,CAAC,KAAM,qBAAsB,CAAC,KAAM,qBAAsB,CAAC,KAAM,oBAAqB,CAAC,KAAM,cAAe,CAAC,KAAM,cAAe,CAAC,MAAO,iBAAkB,CAAC,MAAO,kBAAmB,CAAC,MAAO,2CAA4C,CAAC,MAAO,oCAC17B,CACDx76B,KAAM,OACNw76B,WAAY,CAAC,CAAC,IAAK,kBAAmB,CAAC,IAAK,mBAAoB,CAAC,KAAM,mBAAoB,CAAC,KAAM,kBAAmB,CAAC,IAAK,cAAe,CAAC,IAAK,cAAe,CAAC,KAAM,UAAW,CAAC,KAAM,oBAAqB,CAAC,KAAM,kBAAmB,CAAC,KAAM,oBAAqB,CAAC,IAAK,gBAAiB,CAAC,IAAK,kBAAmB,CAAC,IAAK,uBACxT,CACDx76B,KAAM,aACNw76B,WAAY,CAAC,CAAC,KAAM,6CAA8C,CAAC,KAAM,8CAA+C,CAAC,IAAK,2BAA4B,CAAC,IAAK,4BAA6B,CAAC,KAAM,8BAA+B,CAAC,KAAM,+BAAgC,CAAC,KAAM,8BAA+B,CAAC,KAAM,+BAAgC,CAAC,KAAM,+BAAgC,CAAC,KAAM,+BAAgC,CAAC,GAAI,kBAAmB,CAAC,GAAI,qBAAsB,CAAC,KAAM,yBAA0B,CAAC,KAAM,4BAA6B,CAAC,KAAM,WAAY,CAAC,KAAM,WAAY,CAAC,IAAK,UAAW,CAAC,KAAM,YAAa,CAAC,IAAK,iBAAkB,CAAC,IAAK,cAAe,CAAC,IAAK,aAAc,CAAC,IAAK,6BAA8B,CAAC,IAAK,wBAAyB,CAAC,IAAK,qBAAsB,CAAC,IAAK,eAAgB,CAAC,IAAK,eAAgB,CAAC,KAAM,cAAe,CAAC,IAAK,mBAAoB,CAAC,IAAK,iBAAkB,CAAC,KAAM,kBAAmB,CAAC,IAAK,uBAAwB,CAAC,IAAK,mBAAoB,CAAC,IAAK,mBAAoB,CAAC,IAAK,qBAAsB,CAAC,IAAK,wBAAyB,CAAC,IAAK,qBAAsB,CAAC,IAAK,6BACpkC,CACDx76B,KAAM,eACNw76B,WAAY,CAAC,CAAC,IAAK,qBAAsB,CAAC,KAAM,YAAa,CAAC,KAAM,kBAAmB,CAAC,KAAM,YAAa,CAAC,KAAM,eAAgB,CAAC,KAAM,cAAe,CAAC,KAAM,0BAA2B,CAAC,KAAM,mBAAoB,CAAC,KAAM,gBAAiB,CAAC,KAAM,gBAAiB,CAAC,KAAM,cAAe,CAAC,KAAM,qBAAsB,CAAC,KAAM,sBAAuB,CAAC,KAAM,iBAAkB,CAAC,KAAM,eAAgB,CAAC,KAAM,cAAe,CAAC,IAAK,YAAa,CAAC,KAAM,gBAAiB,CAAC,KAAM,SAAU,CAAC,KAAM,wBAAyB,CAAC,KAAM,WAAY,CAAC,KAAM,gBAAiB,CAAC,KAAM,YAAa,CAAC,KAAM,uBAAwB,CAAC,KAAM,qBAAsB,CAAC,KAAM,mBAAoB,CAAC,KAAM,WACppB,CACDx76B,KAAM,iBACNw76B,WAAY,CAAC,CAAC,IAAK,aAAc,CAAC,IAAK,aAAc,CAAC,IAAK,kBAAmB,CAAC,IAAK,aAAc,CAAC,IAAK,iBAAkB,CAAC,IAAK,kBAAmB,CAAC,IAAK,cAAe,CAAC,IAAK,eAAgB,CAAC,IAAK,eAAgB,CAAC,IAAK,aAAc,CAAC,IAAK,aAAc,CAAC,IAAK,kBAAmB,CAAC,IAAK,iBAAkB,CAAC,IAAK,cAAe,CAAC,IAAK,aAAc,CAAC,IAAK,aAAc,CAAC,IAAK,kBAAmB,CAAC,IAAK,iBAAkB,CAAC,IAAK,cAAe,CAAC,IAAK,OAAQ,CAAC,IAAK,aAAc,CAAC,IAAK,aAAc,CAAC,IAAK,aAAc,CAAC,IAAK,kBAAmB,CAAC,IAAK,aAAc,CAAC,IAAK,iBAAkB,CAAC,IAAK,aAAc,CAAC,IAAK,cAAe,CAAC,IAAK,eAAgB,CAAC,IAAK,aAAc,CAAC,IAAK,aAAc,CAAC,IAAK,aAAc,CAAC,IAAK,kBAAmB,CAAC,IAAK,iBAAkB,CAAC,IAAK,cAAe,CAAC,IAAK,aAAc,CAAC,IAAK,iBAAkB,CAAC,IAAK,cAAe,CAAC,IAAK,SAAU,CAAC,IAAK,aAAc,CAAC,IAAK,aAAc,CAAC,IAAK,kBAAmB,CAAC,IAAK,aAAc,CAAC,IAAK,iBAAkB,CAAC,IAAK,kBAAmB,CAAC,IAAK,cAAe,CAAC,IAAK,eAAgB,CAAC,IAAK,eAAgB,CAAC,IAAK,aAAc,CAAC,IAAK,aAAc,CAAC,IAAK,kBAAmB,CAAC,IAAK,iBAAkB,CAAC,IAAK,cAAe,CAAC,IAAK,aAAc,CAAC,IAAK,aAAc,CAAC,IAAK,kBAAmB,CAAC,IAAK,iBAAkB,CAAC,IAAK,cAAe,CAAC,IAAK,OAAQ,CAAC,IAAK,aAAc,CAAC,IAAK,aAAc,CAAC,IAAK,aAAc,CAAC,IAAK,kBAAmB,CAAC,IAAK,aAAc,CAAC,IAAK,iBAAkB,CAAC,IAAK,WAAY,CAAC,IAAK,YAAa,CAAC,IAAK,eAAgB,CAAC,IAAK,aAAc,CAAC,IAAK,aAAc,CAAC,IAAK,aAAc,CAAC,IAAK,kBAAmB,CAAC,IAAK,iBAAkB,CAAC,IAAK,cAAe,CAAC,IAAK,aAAc,CAAC,IAAK,SAAU,CAAC,IAAK,iBAAkB,CAAC,IAAK,cAAe,CAAC,IAAK,SAAU,CAAC,IAAK,QAAS,CAAC,IAAK,SAAU,CAAC,IAAK,SAAU,CAAC,IAAK,WAAY,CAAC,IAAK,QAAS,CAAC,IAAK,OAAQ,CAAC,IAAK,SAAU,CAAC,IAAK,QAAS,CAAC,IAAK,SAAU,CAAC,IAAK,UAAW,CAAC,IAAK,MAAO,CAAC,IAAK,MAAO,CAAC,IAAK,MAAO,CAAC,IAAK,WAAY,CAAC,IAAK,MAAO,CAAC,IAAK,OAAQ,CAAC,IAAK,SAAU,CAAC,IAAK,OAAQ,CAAC,IAAK,WAAY,CAAC,IAAK,OAAQ,CAAC,IAAK,OAAQ,CAAC,IAAK,OAAQ,CAAC,IAAK,SAAU,CAAC,IAAK,SAAU,CAAC,IAAK,QAAS,CAAC,IAAK,SAAU,CAAC,IAAK,SAAU,CAAC,IAAK,WAAY,CAAC,IAAK,QAAS,CAAC,IAAK,OAAQ,CAAC,IAAK,SAAU,CAAC,IAAK,QAAS,CAAC,IAAK,SAAU,CAAC,IAAK,UAAW,CAAC,IAAK,MAAO,CAAC,IAAK,MAAO,CAAC,IAAK,MAAO,CAAC,IAAK,WAAY,CAAC,IAAK,MAAO,CAAC,IAAK,OAAQ,CAAC,IAAK,eAAgB,CAAC,IAAK,SAAU,CAAC,IAAK,OAAQ,CAAC,IAAK,WAAY,CAAC,IAAK,OAAQ,CAAC,IAAK,OAAQ,CAAC,IAAK,OAAQ,CAAC,IAAK,WACp3E,CACDx76B,KAAM,UACNw76B,WAAY,CAAC,CAAC,KAAM,eAAgB,CAAC,IAAK,aAAc,CAAC,KAAM,oBAAqB,CAAC,IAAK,yBAA0B,CAAC,KAAM,iBAAkB,CAAC,KAAM,oBACnJ,CACDx76B,KAAM,SACNw76B,WAAY,CAAC,CAAC,KAAM,mBAAoB,CAAC,KAAM,iBAAkB,CAAC,KAAM,oBAAqB,CAAC,KAAM,mBAAoB,CAAC,KAAM,oBAAqB,CAAC,KAAM,mBAAoB,CAAC,KAAM,0BAA2B,CAAC,KAAM,wBAAyB,CAAC,KAAM,2BAA4B,CAAC,KAAM,0BAA2B,CAAC,KAAM,2BAA4B,CAAC,KAAM,aAAc,CAAC,KAAM,aAAc,CAAC,KAAM,eAAgB,CAAC,KAAM,mBAAoB,CAAC,KAAM,yBAA0B,CAAC,KAAM,2BAA4B,CAAC,KAAM,gBAAiB,CAAC,KAAM,iBAAkB,CAAC,KAAM,iBAAkB,CAAC,KAAM,gBAAiB,CAAC,KAAM,gBAAiB,CAAC,KAAM,iBAAkB,CAAC,KAAM,cAAe,CAAC,KAAM,eAAgB,CAAC,KAAM,+BAAgC,CAAC,KAAM,gCAAiC,CAAC,KAAM,WAAY,CAAC,KAAM,oBAAqB,CAAC,KAAM,mBAAoB,CAAC,KAAM,oBAAqB,CAAC,KAAM,sBAAuB,CAAC,KAAM,YAAa,CAAC,KAAM,YAAa,CAAC,KAAM,cAAe,CAAC,KAAM,yBAA0B,CAAC,KAAM,qBAAsB,CAAC,KAAM,sBAAuB,CAAC,KAAM,0BAyC/iC,OAAOx0P,EAAOrlrB,OAAS,EAAI,CAAC,CAC1B3B,KAAM,MACNw76B,WAAY1z2B,EAAKk/mB,EAAQ,SAAA5yc,GAAC,OAAIA,EAAEonsB,UAAU,KACzC726B,OAAOqirB,GAAUA,CACtB,EAeM25H,EAAO,SAAA3rkB,GACX,IAAIxyO,EAAQwyO,EAOZ,MAAO,CACLrtO,IAPU,WACV,OAAOnF,CACT,EAMEkF,IALU,SAAAsgD,GACVxlD,EAAQwlD,CACV,EAKF,EAuBMo4D,EAAW,SAACn9G,EAAKswD,GAA4B,IAApB/7C,EAAKrS,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,EAAGsS,EAAGtS,UAAAxD,OAAA,EAAAwD,UAAA,QAAA0D,EACrCm7D,EAAM/gE,EAAId,QAAQoxD,EAAQ/7C,GAChC,OAAa,IAATwsD,MACK2vH,EAAYl8K,IAAcusD,EAAMzQ,EAAO5xD,QAAU8V,EAI5D,EACMigV,EAAgB9yV,OAAO8yV,cASvBuzU,EAAO,SAAC94hB,EAAOlvD,GACnB,IAAMm4B,EAAU,GACVwg0B,EAAmB341B,EAAQpgE,cAMjC,OA/LW,SAACmkP,EAAI1+P,GAChB,IAAK,IAAIpG,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAExCoG,EADU0+P,EAAG9kQ,GACRA,EAET,CAqLE48D,CAAKqzE,EAAMqpyB,WAAY,SAAApnsB,IAVL,SAACo/X,EAAUxzmB,EAAM476B,GACnC,QAAIx7zB,EAASs3O,EAAc87Q,GAAU3wlB,cAAe+45B,IAG3Cx7zB,EAASpgH,EAAK6iB,cAAe+45B,IAAqBx7zB,EAASpgH,EAAK6iB,cAAcD,QAAQ,OAAQ,IAAKg55B,EAE9G,EAKQC,CAAYznsB,EAAE,GAAIA,EAAE,GAAIwnsB,IAC1Bxg0B,EAAQn0G,KAAKmtO,EAEjB,GACO9hO,EAAI8oG,EAAS,SAAA3rD,GAAC,MAAK,CACxB33B,KAAM23B,EAAE,GACRjtD,MAAOk1V,EAAcjoS,EAAE,IACvBjoC,KAAMkwU,EAAcjoS,EAAE,IACvB,EACH,EAEMqs3B,EAAc,UACdlw6B,EAAO,SAACy3yB,EAAQ97F,GACpB,IAAMw0N,EAAiB,WAAH,MAAS,CAAC,CAC5B/o5B,MAAO,SACP9vB,KAAM,QACNlD,KAAM876B,GACL,CACD546B,KAAM,aACNlD,KAAM,WACL,EAcGg86B,EAAgC,IAAnBz0N,EAAQ5ltB,OAAeg/yB,EAAKw6H,GAAex6H,EAAK,OAU7Ds7H,EAtFK,SAACns6B,EAAIgtkB,GAChB,IAAIj0jB,EAAQ,KACNysE,EAAS,WACR0zC,EAAOngH,KACVkrB,aAAalrB,GACbA,EAAQ,KAEZ,EAQA,MAAO,CACLysE,SACA+5J,SATe,WAAc,IAAD,IAAA6srB,EAAA/26B,UAAAxD,OAATuV,EAAI,IAAAU,MAAAsk6B,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJjl6B,EAAIil6B,GAAAh36B,UAAAg36B,GACvB7m1B,IACAzsE,EAAQ0lB,WAAW,WACjB1lB,EAAQ,KACR/Y,EAAG3E,MAAM,KAAM+L,EACjB,EAAG4lkB,EACL,EAKF,CAmEuB5zhB,CAAK,SAAAkz3B,GACxB,IAAMn51B,EAAUm51B,EAAU984B,UAAU2jD,SAVnB,SAACm51B,EAAWn51B,GAC7BhxD,EAAKs1rB,EAAS,SAAAp1kB,GAAK,OAAIA,EAAMnyI,OAASg86B,EAAWr06B,KAAK,GAAEm3D,KAAK,SAAAx2D,GAC3D,IAAM8e,EAAQ6jpB,EAAK3iqB,EAAG26E,GACtBm51B,EAAUh94B,QAAQ,CAChBqlD,QAASr9D,GAEb,EACF,CAIEi15B,CAAWD,EAAWn51B,EACxB,EAJqB,IAUfq51B,EAAa,CACjBj90B,MAAO,oBACPx3F,KAAM,SACNm0D,KAR8B,IAAnBurpB,EAAQ5ltB,OAtBI,CACvBuB,KAAM,QACNkkB,MAAO205B,KAEmB,CAC1B746B,KAAM,WACNq56B,KAXqBjq6B,EAAIi1sB,EAAS,SAAAi1N,GAAS,MAAK,CAChDn90B,MAAOm90B,EAAUx86B,KACjBA,KAAMw86B,EAAUx86B,KAChBonB,MAAO205B,IACR,IAgCCpgpB,QAAS,CAAC,CACRz4R,KAAM,SACNlD,KAAM,QACN83B,KAAM,QACNk4tB,SAAS,IAEXE,YAdkB,CAClBjtqB,QAAS,GACTwB,QAASwmlB,EAAKs8C,EAAQ,GAAI,KAa1B/kZ,SAAU,SAACrtL,EAAK6yK,GACO,YAAjBA,EAAQhoT,OACV866B,EAAWz3H,EAAQr7f,EAAQxlT,OAC3B2yI,EAAIzmH,QAER,EACA+t5B,YAAa,SAACL,EAAWp0nB,GACvBg0nB,EAAWt06B,IAAIsgT,EAAQ00nB,YACvBT,EAAa5srB,SAAS+srB,EACxB,EACAr4mB,SAAU,SAACq4mB,EAAWO,GAChBA,EAAW386B,OAAS876B,GACtBG,EAAa5srB,SAAS+srB,EAE1B,GAEgB/4H,EAAOjzD,cAAcxkvB,KAAK0w6B,GAClCt44B,MAAM834B,EAClB,EAwBMrC,EAAkB,SAAAp2H,GAAM,OAAI,SAAAluqB,GAChC,IAAM+zrB,EAAc,WAClB/zrB,EAAIqmxB,WAAWn4G,EAAOx8hB,UAAU44hB,aAClC,EAGA,OAFA4D,EAAOlnuB,GAAG,aAAc+svB,GACxBA,IACO,WACL7lB,EAAOl7tB,IAAI,aAAc+gvB,EAC3B,CACF,CAAE,EAkBAjuH,EAAStqsB,IAAI,UAAW,SAAA0yyB,IA7RP,SAAAA,GACjB,IAAMspH,EAAiBtpH,EAAOl6yB,QAAQy0F,SAChCg/0B,EAAmB,SAAAp66B,GAAK,OAAImrD,EAAWnrD,IAAU8uG,EAAU9uG,EAAO,EACxEmq6B,EAAe,UAAW,CACxBz9K,UAAW0tL,IAEbjQ,EAAe,iBAAkB,CAC/Bz9K,UAAW0tL,GAEf,CAqRIhwC,CAAWvpF,GACX,IAAM97F,EAAU+zN,EAAWj4H,GAI3B,OAvDe,SAACA,EAAQ97F,GAC1B87F,EAAO1yD,WAAW,iBAAkB,WAClC/kvB,EAAKy3yB,EAAQ97F,EACf,EACF,CAgDI26L,CAAW7+F,EAAQ97F,GApBN,SAAA87F,GACf,IAAM7gf,EAAW,WAAH,OAAS6gf,EAAO/0D,YAAY,iBAAkB,EAC5D+0D,EAAO5/X,GAAG5zZ,SAASy74B,UAAU,UAAW,CACtC9j5B,KAAM,mBACNq4F,QAAS,oBACT2iN,WACA8okB,QAASmuC,EAAgBp2H,KAE3BA,EAAO5/X,GAAG5zZ,SAAS874B,YAAY,UAAW,CACxCnk5B,KAAM,mBACNsQ,KAAM,uBACN0qS,WACA8okB,QAASmuC,EAAgBp2H,IAE7B,CAOIzltB,CAASyltB,GA/CA,SAACA,EAAQx0yB,GACpBw0yB,EAAO5/X,GAAG5zZ,SAASi84B,iBAAiB,UAAW,CAC7CvzzB,QAAS,IACT8zI,QAAS,OACT+5oB,SAAU,EACV9q0B,MAAO,SAAC2nB,EAAS451B,GAAW,OAAK,IAAI7y6B,QAAQ,SAACC,EAAS4tF,GACrD5tF,EAAQghqB,EAAKp8pB,EAAKo0E,GACpB,EAAE,EACFu/O,SAAU,SAACs6mB,EAAiBtrf,EAAKhvb,GAC/B6gzB,EAAOx8hB,UAAUkqe,OAAOv/T,GACxB6xX,EAAO90D,cAAc/rvB,GACrBs66B,EAAgBlsoB,MAClB,GAEJ,CAkCIt0N,CAAK+muB,EAAQ97F,EAAQ,IA/Mb,SAAA87F,GAOV,MAAO,CACLi4H,WAPmB,WACnB,OAAOA,EAAWj4H,EACpB,EAMEy3H,WALmB,SAAA5gX,GACnB4gX,EAAWz3H,EAAQnpP,EACrB,EAKF,CAqMWvyjB,CAAI07yB,EACb,EAKL,CAxeD,GA6eA,WAGI,IAAI8xH,EAAW/iM,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,yBAuBpCioxB,EAAe,SAAAhvxB,GAAI,OAAI,SAAAV,GAAK,cAAWA,IAAUU,CAAK,CAAD,EACrDizE,EAFW,SAAAjzE,GAAI,OAAI,SAAAV,GAAK,OAZf,SAAAyV,GACb,IATgB+vC,EAAGtF,EACfsJ,EAQEptC,SAAW3G,EACjB,OAAU,OAANA,EACK,OACQ,WAAN2G,GAAkBhH,MAAMC,QAAQI,GAClC,QACQ,WAAN2G,IAAuCshD,EAdlClY,EAcsB/vC,EAAeurC,GAdlCd,EAcsB99C,QAZZzD,UAYkCqiD,EAAMwiW,cAAc9lV,KAThD,QAAxBlU,EAAKhE,EAAEtF,mBAAqC,IAAZsJ,OAAqB,EAAIA,EAAGhsD,QAAU0iD,EAAY1iD,MAUpF,SAEA4e,EAHwC,IAACshD,EAAG1c,CAKvD,CACkCyoB,CAAOzpE,KAAWU,CAAK,CAAD,CAEvC+uxB,CAAS,UACpBnzmB,EAAYozmB,EAAa,WAEzBI,EAAgB,SAAA7pxB,GAAC,OADJ,SAAAA,GAAC,OAAIA,OAA8B,CAC1B4pxB,CAAW5pxB,EAAG,EACpCklD,EAAaukuB,EAAa,YAC1Bp3pB,EAAWo3pB,EAAa,UAExBgB,EAAQ,WACZ,SAAAA,EAAYz3uB,EAAKj5C,GAAO8Y,EAAA,KAAA43wB,GACtB/vxB,KAAKs4C,IAAMA,EACXt4C,KAAKX,MAAQA,CACf,CAAC,OAAAyZ,EAAAi3wB,EAAA,EAAAzuxB,IAAA,OAAAjC,MAOD,SAAK2wxB,EAAQC,GACX,OAAIjwxB,KAAKs4C,IACA23uB,EAAOjwxB,KAAKX,OAEZ2wxB,GAEX,GAAC,CAAA1uxB,IAAA,SAAAjC,MACD,WACE,OAAOW,KAAKs4C,GACd,GAAC,CAAAh3C,IAAA,SAAAjC,MACD,WACE,OAAQW,KAAKs4C,GACf,GAAC,CAAAh3C,IAAA,MAAAjC,MACD,SAAI6wxB,GACF,OAAIlwxB,KAAKs4C,IACAy3uB,EAASpyvB,KAAKuyvB,EAAOlwxB,KAAKX,QAE1B0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,OAAAjC,MACD,SAAK8wxB,GACH,OAAInwxB,KAAKs4C,IACA63uB,EAAOnwxB,KAAKX,OAEZ0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAOjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACpC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAQjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACrC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAKjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,OACvBW,KAEA+vxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,QAAAjC,MACD,SAAMovI,GACJ,OAAOzuI,KAAKs4C,IAAMt4C,KAAKX,MAAQovI,CACjC,GAAC,CAAAntI,IAAA,KAAAjC,MACD,SAAGovI,GACD,OAAOzuI,KAAKs4C,IAAMt4C,KAAOyuI,CAC3B,GAAC,CAAAntI,IAAA,aAAAjC,MACD,SAAW+wxB,GACT,OAAOpwxB,KAAKs4C,IAAMt4C,KAAKX,MAAQ+wxB,GACjC,GAAC,CAAA9uxB,IAAA,UAAAjC,MACD,SAAQ+wxB,GACN,OAAOpwxB,KAAKs4C,IAAMt4C,KAAOowxB,GAC3B,GAAC,CAAA9uxB,IAAA,WAAAjC,MACD,SAASsK,GACP,GAAK3J,KAAKs4C,IAGR,OAAOt4C,KAAKX,MAFZ,MAAM,IAAIK,MAAMiK,QAAyCA,EAAU,0BAIvE,GAAC,CAAArI,IAAA,YAAAjC,MAID,WACE,OAAOW,KAAKs4C,IAAMt4C,KAAKX,MAAQ,IACjC,GAAC,CAAAiC,IAAA,iBAAAjC,MACD,WACE,OAAOW,KAAKX,KACd,GAAC,CAAAiC,IAAA,OAAAjC,MACD,SAAKgxxB,GACCrwxB,KAAKs4C,KACP+3uB,EAAOrwxB,KAAKX,MAEhB,GAAC,CAAAiC,IAAA,UAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,CAACt4C,KAAKX,OAAS,EACnC,GAAC,CAAAiC,IAAA,WAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,QAAQ92C,OAAOxB,KAAKX,MAAO,KAAO,QACtD,IAAC,EAAAiC,IAAA,OAAAjC,MApFD,SAAYA,GACV,OAAO,IAAI0wxB,GAAS,EAAM1wxB,EAC5B,GAAC,CAAAiC,IAAA,OAAAjC,MACD,WACE,OAAO0wxB,EAAShhD,aAClB,GAAC,CAAAztuB,IAAA,OAAAjC,MA4DD,SAAYA,GACV,OAAO8vxB,EAAc9vxB,GAAS0wxB,EAASpyvB,KAAKt+B,GAAS0wxB,EAAS/gX,MAChE,IAAC,CAxEW,GA2Fd+gX,EAAShhD,cAAgB,IAAIghD,GAAS,GAEtC,IAqBMvgD,EAAU,SAAAhprB,GACd,GAAIA,QACF,MAAM,IAAI9mD,MAAM,oCAElB,MAAO,CACLy/c,IAAK34Z,EAET,EAEMuyuB,EAAe,CACnB1pD,SA/Be,SAACrjX,EAAMrgD,GACtB,IACMnhS,GADMmhS,GAAS1lT,UACL6F,cAAc,OAE9B,GADA0e,EAAIC,UAAYuhV,GACXxhV,EAAIw6P,iBAAmBx6P,EAAI7J,WAAWniC,OAAS,EAAG,CACrD,IAAMmL,EAAU,wCAEhB,MADA7M,QAAQC,MAAM4M,EAASqiX,GACjB,IAAItsX,MAAMiK,EAClB,CACA,OAAO6luB,EAAQhlsB,EAAI7J,WAAW,GAChC,EAsBE2usB,QArBc,SAACh3rB,EAAKqzR,GACpB,IACMnlR,GADMmlR,GAAS1lT,UACJ6F,cAAcwsB,GAC/B,OAAOk3rB,EAAQhprB,EACjB,EAkBE+orB,SAjBe,SAAC56sB,EAAMg3S,GACtB,IACMnlR,GADMmlR,GAAS1lT,UACJwgC,eAAe9xB,GAChC,OAAO66sB,EAAQhprB,EACjB,EAcEgprB,UACAC,UANgB,SAACupD,EAAQlkxB,EAAGC,GAAC,OAAKg7wB,EAASxquB,KAAKyzuB,EAAO75U,IAAIzJ,iBAAiB5gc,EAAGC,IAAI5F,IAAIqguB,EAAS,GAShF,oBAAX7tuB,OAAyBA,OAAS0wC,SAAS,eAATA,GAEzC,IAeiBhzC,EANX0uF,EAAS,SAAAtyE,GAAC,OAAI,SAAAm7F,GAAO,OADd,SAAAA,GAAO,OAAIA,EAAQuoW,IAAIn0X,QAAS,CACdjrF,CAAK62G,KAAan7F,CAAE,CAAD,EAC5CypW,EAAYn3R,EARF,GASV47sB,EAAa57sB,EAXF,GAYXgxsB,EAAqBhxsB,EAXD,IAmBpB+hsB,GALWzwxB,GAKM,EAJd,WACL,OAAOA,CACT,GAcI65xB,EAAiB,SAAA/5U,GAAG,OA9BV,IA8BcA,EAAIn0X,UAhCjB,IAgCyCm0X,EAAIn0X,UA/BpC,KA+B6Dm0X,EAAIn0X,UAA4D,IAA1Bm0X,EAAIsyR,iBAAwB,EACnJ/luB,EAAM,SAAC4sH,EAAUqzM,GACrB,IAAMpgQ,OAAiB7lE,IAAVimU,EAAsB1lT,SAAW0lT,EAAMwzI,IACpD,OAAO+5U,EAAe3ttB,GAAQ,GAbpB,SAACs4L,EAAI1+P,GAGf,IAFA,IAAM1G,EAAMolQ,EAAGrlQ,OACTorD,EAAI,IAAIn1C,MAAMhW,GACXM,EAAI,EAAGA,EAAIN,EAAKM,IAAK,CAC5B,IAAM+V,EAAI+uP,EAAG9kQ,GACb6qD,EAAE7qD,GAAKoG,EAAE2P,EAAG/V,EACd,CACA,OAAO6qD,CACT,CAKqCz6C,CAAIo8D,EAAKquC,iBAAiB0e,GAAWygqB,EAAavpD,QACvF,EAgBMx9oB,EAAQ,SAAC4kB,EAASt1G,EAAKjC,IARd,SAAC8/c,EAAK79c,EAAKjC,GACxB,KAAI2zE,EAAS3zE,IAAUs8K,EAAUt8K,IAAUs4H,EAASt4H,IAIlD,MADAvC,QAAQC,MAAM,sCAAuCuE,EAAK,YAAajC,EAAO,cAAe8/c,GACvF,IAAIz/c,MAAM,kCAHhBy/c,EAAInoW,aAAa11G,EAAKjC,EAAQ,GAKlC,CAEEq4xB,CAAO9grB,EAAQuoW,IAAK79c,EAAKjC,EAC3B,EAWM+5xB,EAAkB,SAAAC,GAAG,OAAIsQ,EAAWtQ,GAAOA,GADnCzirB,EAC+CyirB,EADpCN,EAAavpD,QAAQ54nB,EAAQuoW,IAAI9uC,gBAA5C,IAAAz5T,CACoD,EAC5D1wD,EAAS,SAAA0wD,GAAO,OAAIm5qB,EAASxquB,KAAKqxD,EAAQuoW,IAAIpnW,YAAY5oG,IAAI4pxB,EAAavpD,QAAS,EAKpFx5kB,EAAa,SAAAp/C,GAAO,OAJZ,SAACA,EAASxsG,GACtB,IAAMi8Z,EAAKzvT,EAAQuoW,IAAIx+a,WACvB,OAAOovvB,EAASxquB,KAAK8gX,EAAGj8Z,IAAQ+E,IAAI4pxB,EAAavpD,QACnD,CAC8BrvpB,CAAMy2B,EAAS,EAAG,EAI1CstB,EADY15E,EAAW0yN,QAAQl/Q,UAAUkvO,eAAiB1iL,EAAW4sD,KAAKp5G,UAAUkmI,aAC1D,SAAAtnI,GAAC,OAAIm8xB,EAAavpD,QAAQ5yuB,EAAEuid,IAAIj7U,cAAc,EAAGk1pB,EAC3Ew6C,EAAsB,SAAAv6C,GAAG,OAHV,SAAAA,GAAG,OAAI0F,EAAmB1F,IAAQlK,EAAckK,EAAIl6U,IAAIn9b,KAAM,CAGhDmqW,CAAakta,GAAOA,EAAMN,EAAavpD,QAAQ4pD,EAAgBC,GAAKl6U,IAAItmZ,KAAM,EA2B3G1vC,EAAS,SAAAytF,GACb,IAAMuoW,EAAMvoW,EAAQuoW,IACG,OAAnBA,EAAIpnW,YACNonW,EAAIpnW,WAAW9zD,YAAYk7Z,EAE/B,EAIM67U,EAAc,SAAC77U,EAAK3+b,EAAUnhB,GAClC,IAAK2zE,EAAS3zE,GAEZ,MADAvC,QAAQC,MAAM,qCAAsCyjB,EAAU,YAAanhB,EAAO,cAAe8/c,GAC3F,IAAIz/c,MAAM,+BAAiCL,IALjC,SAAA8/c,GAAG,YAAkBz5c,IAAdy5c,EAAIj/b,OAAuBsqC,EAAW20Z,EAAIj/b,MAAMQ,iBAAkB,EAOvF8qD,CAAY2zY,IACdA,EAAIj/b,MAAMgiI,YAAY1hI,EAAUnhB,EAEpC,EAkBMo5xB,EAAQ,SAAC7hrB,EAASyhrB,GAAK,OARf,SAACzhrB,EAASzmC,EAAMpuD,GAC5B,IAAMowT,EALK,SAACv7N,EAASzmC,GACrB,IAAM9wE,EAxEI,SAACu3G,EAASt1G,GACpB,IAAMujD,EAAI+xD,EAAQuoW,IAAItoW,aAAav1G,GACnC,OAAa,OAANujD,OAAan/C,EAAYm/C,CAClC,CAqEgBrgD,CAAIoyG,EAASzmC,GAC3B,YAAiBzqE,IAAVrG,GAAiC,KAAVA,EAAe,GAAKA,EAAMsuC,MAAM,IAChE,CAEcgiB,CAAKinD,EAASzmC,GACpBs1V,EAAKtzF,EAAI3wU,OAAO,CAACugB,IAEvB,OADAiwE,EAAM4kB,EAASzmC,EAAMs1V,EAAG35W,KAAK,OACtB,CACT,CAGkCssuB,CAAMxhrB,EAAS,QAASyhrB,EAAO,EAc7DvgF,EAAWm3B,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,yBAEtCsrC,EAAS68rB,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,oBAElC8y6B,EAAc,CAClBC,cAAc,EACdC,aAAa,EACbC,YAAY,EACZC,QAAQ,EACRC,eAAe,EACfC,iBAAiB,EACjB7/C,WAAY,EACZ/jM,QAAS,GAEL6jP,EAAqB,yBACrBC,EAAmB,mCAInBhp5B,EAAkB,SAAAvoB,GAAK,OAAIA,EAAMuoB,iBAAkB,EAkCnDip5B,EAAkB,SAACC,EAAY9v4B,EAAKooiB,EAAUstO,GAClD,IACMq6H,EAlCsB,SAACD,EAAYrg1B,GACzC,IAAMug1B,EAAgB,SAAClhe,EAAIw8R,GAYzB,OAXKA,IAAQA,KASX1qsB,WARiB,WACVkua,EAAGn7b,MAAMs85B,kBACZnhe,EAAGohe,SAAS,CACVC,gBAAgB,EAChB1g1B,UAAWA,EAAUklX,KAG3B,EACqB,KAEhBm7d,EAAWM,IACpB,EACA,MAAO,CACLJ,gBACAK,kBAAmB,SAAAvhe,GAAE,OAAIkhe,EAAclhe,EAAI,WACzC,IAAM7uc,EAAS6uc,EAAG62E,YAClB,MAAO,MAAQ72E,EAAGwhe,SAASR,EAAWS,IAAItw6B,EAAO8gV,KAAM9gV,EAAOk0E,GAAK,GAAIl0E,EACzE,EAAE,EACFuw6B,gBAAiB,SAAA1he,GAAE,OAAIkhe,EAAclhe,EAAI,WACvC,IAAMotM,EAAMptM,EAAG2he,WAAW3he,EAAG62E,aACvBn9c,EAAwB,WAAb0zkB,EAAI3mpB,KACfm76B,EAAe,OAAOz66B,KAAKimpB,EAAI14lB,OAAOtV,OAAOgumB,EAAI14lB,OAAOxvD,OAAS,IACvE,QAAIw0E,KAAcko2B,GAAsC,IAAtBx0R,EAAI14lB,OAAOxvD,UAGtC876B,EAAWa,UAAU7he,EAAG8he,UAAW10R,EAAIvooB,OAAOA,MAAM+J,OAC7D,EAAE,EAEN,CAGuBmz5B,CAAsBf,EADzB1mG,EAAoB1vsB,EAAY60pB,EAAavpD,QAAQ0wE,EAAO/moB,iBAExEtzK,EAAS,CACbg06B,aAAcjnW,EAASinW,aACvBC,YAAalnW,EAASknW,YACtBC,WAAYnnW,EAASmnW,WACrBxozB,MAAOqhd,EAASrhd,MAChBz0G,UAAW81jB,EAAS91jB,UACpBw+5B,UAAW,CACTC,UAAU,GAEZC,OAAQ,UACRC,QAAS7oW,EAASonW,OAAS,CAAC,yBAA0B,yBAA2B,GACjF0B,UAAW,CACT,QAAS,iBACT,SAAU,gBACV,SAAU,uBACV,MAASnB,EAAaC,cACtB,MAASD,EAAaM,kBACtB,MAASN,EAAaS,gBACtB,MAAST,EAAaS,gBACtB,SAAU,SAAAW,GAAG,OAAIA,EAAIC,SAASD,EAAIxrZ,YAAY,GAEhDhnhB,KAAM,YACN9J,MAAO,GACP666B,iBAAiB,EACjB2B,kBAAmB,eAEfF,EAAMrB,EAAW9v4B,EAAK3kC,GAW5B,OAVA2kC,EAAIziB,iBAAiB,QAASqJ,GAC9BoZ,EAAIziB,iBAAiB,UAAWqJ,GAChCoZ,EAAIziB,iBAAiB,WAAYqJ,GACjCga,WAAW,WACTuw4B,EAAI964B,QACA+xiB,EAASnokB,QACXkx6B,EAAItunB,IAAIm9O,UAAUooC,EAASnokB,OAE/B,GACA2gC,WAAW,kBAAMuw4B,EAAInjO,SAAS,EAAE,KACzB,CACLmjO,MACAtqM,OAAQ,WACN7msB,EAAI1iB,oBAAoB,QAASsJ,GACjCoZ,EAAI1iB,oBAAoB,UAAWsJ,GACnCoZ,EAAI1iB,oBAAoB,WAAYsJ,EACtC,EAEJ,EAmHM0q5B,EAAwB,SAAAtx4B,GAC5B,IAAMykN,EAAQggf,QAAQ2mD,IAAIpurB,GAAG2ooB,UACvBhxR,EA7UI,SAAC7mV,EAAUqzM,GACrB,IAAMpgQ,OAAiB7lE,IAAVimU,EAAsB1lT,SAAW0lT,EAAMwzI,IACpD,OAAO+5U,EAAe3ttB,GAAQwktB,EAAS/gX,OAAS+gX,EAASxquB,KAAKgmB,EAAKlpD,cAAci2G,IAAWnpH,IAAI4pxB,EAAavpD,QAC/G,CA0Uc9yR,CAAI,gDAAiDx4U,EAAY15F,IACvEgc,EAAOvgC,SAAS6F,cAAc,OAC9Biw5B,EAAM,yCACNC,EAAM,2CACZx13B,EAAK/b,UAAY,mFAAqFsx4B,GAAO9srB,EAAQ,YAAc,eAAiB+srB,EAAM/sM,QAAQ1siB,UAAU,gBAAkB,QAAUw5uB,GAAO9srB,EAAQ,YAAc,UAAY,QAAU+srB,EAA1O,iBAAwQD,GAAO9srB,EAAQ,kBAAoB,gBAAkB,QAAU+srB,EAAM/sM,QAAQ1siB,UAAU,iBAA/V,iBAA0Yw5uB,GAAO9srB,EAAQ,mBAAqB,gBAAkB,QAAU+srB,EAAM/sM,QAAQ1siB,UAAU,WAAa,QAAUw5uB,GAAO9srB,EAAQ,yBAA2B,gBAAkB,QAAU+srB,EAAM/sM,QAAQ1siB,UAAU,eAAiB,qBACznB48Q,EAAIxjZ,KAAK,SAAAzV,GAAM,OApRF,SAACA,EAAQ0wD,GACtB1wD,EAAOi5Z,IAAI1la,YAAYm9D,EAAQuoW,IACjC,CAkRqBjpT,CAAOhwG,EAAQ6yuB,EAAavpD,QAAQhprB,GAAM,EAC/D,EACMy13B,EAAgB,SAAC9z1B,EAAMyqf,GAAQ,OAAK,IAAI/rkB,QAAQ,SAAAC,GACpD,IA9MWstH,EA8ML8rrB,EAASpoG,EAAStzsB,IAAIoukB,EAAS45V,UAC/Bhi4B,EAAMuuvB,EAAavpD,QAAQrnpB,IAlQvB,SAACyuB,EAASp2F,EAAUnhB,GAC9B,IAAM8/c,EAAMvoW,EAAQuoW,IACpB67U,EAAY77U,EAAK3+b,EAAUnhB,EAC7B,CAgQEkF,CAAIimC,EAAK,QAAS,QAClB0b,EAAO1b,GAAKzT,OAAOmuV,GAAWvpT,KAAK,SAAA/9B,GAAE,OAjPfy6vB,EAiP6B,qBApPpC,SAAAzhrB,GAAO,YAA8BlxG,IAA1BkxG,EAAQuoW,IAAIp1b,SAAwB,CAI1DvP,CADSo8F,EAiPkCh5E,GA/O7Cg5E,EAAQuoW,IAAIp1b,UAAUvc,IAAI6qxB,GAE1BI,EAAM7hrB,EAASyhrB,IAJL,IAACzhrB,EAASyhrB,CAiP6C,IAjNxDjkqB,EAkNNw+c,EAASx+c,QAlNQ,IAAIvtH,QAAQ,SAAAC,GAAO,OAAImouB,QAAQ8tE,aAAa5rE,WAAW,GAAG3vuB,OAAO4yH,EAAS,uBAAuBtyH,KAAK,kBAAMgF,EAAQo16B,WAAW,EAAC,IAkN/Hp66B,KAAK,SAAAw46B,GAC1B,IAAA6B,EAGI9B,EAAgBC,EAAYny1B,EAAMyqf,EAAUstO,GAF9Cy7H,EAAGQ,EAAHR,IACAtqM,EAAM8qM,EAAN9qM,OAIF,OAvDsB,SAACsqM,EAAKnx4B,GAC9B,IAAM231B,EAAY,SAAA/33B,GAChB,IAAMgy6B,EAAoB1w6B,EAAI,kCAAmCw4H,EAAY15F,IAC5C,IAA7B4x4B,EAAkB596B,QA7LZ,SAACo4G,GAAO,IAAEs2tB,EAAalr0B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,IAAAA,UAAA,GAAa40G,EAAQuoW,IAAIt+a,MAAM,CAClEqsyB,iBACC,CA4LGrsyB,CAAMu74B,EAAkBhy6B,GAE5B,EACMiy6B,EAAY,CAChBjiP,IAAK,SAAAuhP,GAEH,OADAA,EAAIW,UAAUC,GACPL,WAAWtz2B,IACpB,GAEI2z2B,EAAY,CAChB,IAAO,SAAAZ,GAGL,OAFAx5C,EArLgB,GAsLhBw5C,EAAIa,aAAaD,IACV,CACT,EACA,YAAa,SAAAZ,GAGX,OAFAx5C,EAzLc,GA0Ldw5C,EAAIa,aAAaD,IACV,CACT,EACA,QAAW,SAAAZ,GAET,OADAA,EAAIa,aAAaD,GACVL,WAAWtz2B,IACpB,GAEI6z2B,EAAmBd,EAAIe,gBAC7BD,SAAoEA,EAAiBzl0B,aAAa,WAAY,MAC9Gyl0B,SAAoEA,EAAiBzl0B,aAAa,qBAAsB,QACxH2k0B,EAAIW,UAAUD,EAChB,CAoBIM,CAAkBhB,EAAKnx4B,GACvBsx4B,EAAsBtx4B,GACf3jC,QAAQC,QAAQ,CACrBijF,SAAU,WAAF,OApFa,SAACuw1B,EAAYv45B,EAAI455B,GAC1C,IACEtunB,EACEsunB,EADFtunB,IAEEA,EAAIuvnB,qBACNvvnB,EAAIm9O,UAAUn9O,EAAI8iO,aArDO,SAAAwrZ,GAC3B,IAAMlx6B,EAASkx6B,EAAIxrZ,YACb1yd,EAAQk+2B,EAAIV,WAAWxw6B,GAAQ,GACjCgzD,GAAwB,SAAfA,EAAM19D,MAAmB09D,EAAMnpD,MAAQ7J,EAAOk0E,IACzDg91B,EAAItunB,IAAIm9O,UAAU,CAChBj/M,KAAM9gV,EAAO8gV,KACb5sQ,GAAIlhB,EAAMppD,OAGhB,CA8CEwo6B,CAAqBlB,GA7CG,SAACrB,EAAYqB,GACrC,IAAMlx6B,EAASkx6B,EAAIxrZ,YAEjB5kM,EAEE9gV,EAFF8gV,KACA5sQ,EACEl0E,EADFk0E,GAEIuyV,EAAQyqgB,EAAImB,cACZn86B,EAAQ256B,EAAWyC,gBAAgBpB,EAAKlx6B,EAAQyma,GACtD,GAAIvwa,EAAO,CACT,IAAImgD,EACEsv3B,EAAsB,SAAbzv6B,EAAMgzZ,GACfz/Y,EAAMvT,EAAMA,EAAMgzZ,IAAIy8gB,EAAS,KAAO,SACxCA,GAAYl85B,EAAIq3U,OAASA,GAAQr3U,EAAIyqE,KAAOA,EAKpCyx1B,GAAYl85B,EAAIq3U,OAASA,GAAQr3U,EAAIyqE,KAAOA,IACtD79B,EAAM,CACJyqS,KAAM5qV,EAAM4qB,MAAMg6B,KAAKgmS,KACvB5sQ,GAAIh+E,EAAM4qB,MAAMg6B,KAAKo5B,KAPvB79B,EAAM,CACJyqS,KAAM5qV,EAAM8H,KAAKm0E,GAAG2uQ,KACpB5sQ,GAAIh+E,EAAM8H,KAAKm0E,GAAG+B,IAQlB79B,GACF663B,EAAItunB,IAAIm9O,UAAU1pf,EAEtB,CACF,CAmBEk83B,CAAkB1C,EAAYqB,GAlBH,SAACrB,EAAYqB,GACxC,IAAI9y3B,EACEp+C,EAASkx6B,EAAIxrZ,YACbj/G,EAAQyqgB,EAAImB,cACZn86B,EAAQ256B,EAAW2C,iBAAiBtB,EAAKlx6B,EAAQyma,EAAO,UACxDgsgB,EAA+F,QAAnEr03B,EAAKloD,aAA0C,EAAIA,EAAM8H,YAA8B,IAAZogD,OAAqB,EAAIA,EAAGtD,KACrI5kD,GAASu86B,GACXvB,EAAItunB,IAAIm9O,UAAU0yY,EAEtB,CAUEC,CAAqB7C,EAAYqB,GACjC,IAAMlx6B,EAASkx6B,EAAIxrZ,YAEjB5kM,EAEE9gV,EAFF8gV,KACA5sQ,EACEl0E,EADFk0E,GAEIy+1B,EAAUzB,EAAI0B,QAAQ9xlB,GACxB+xlB,GAAkB,EAEtBA,GADAA,EAAkBA,GArEM,SAACC,EAAShylB,GAAI,QAAmB,IAAZgylB,GAAiBA,IAAYhylB,EAAK/sV,OAAQ,CAqElDg/6B,CAAkB7+1B,EAAIy+1B,KApE3C,SAAHr5kB,GAAA,IACblnW,EAAIknW,EAAJlnW,KAAI,OACCA,GAAiB,QAATA,CAAe,CAmESq74B,CAAUyjC,EAAI8B,UAAUhz6B,GAAQ,IACrE,IAAMiz6B,EAAa,aAAcl86B,OAAOugB,EAAI,aAI5C,OAHIu75B,GACFjwnB,EAAIswnB,iBAAiBD,GAEhB,CACL375B,KACA1iB,MAAOs86B,EAAItunB,IAAItjO,WAEnB,CAyDsB6z1B,CAAmBtD,EAAYp6H,EAAO/gW,IAAIu0H,WAAYioW,EAAI,EAC1EprP,SAAU,SAAAlxrB,GAAK,OAAIs86B,EAAItunB,IAAIkjY,SAASlxrB,EAAM,EAC1CotJ,QAAS4klB,GAEb,GAAGvvuB,KAAKgF,EACV,EAAG,EAIC+26B,EAHQ,WACVzr4B,EAAO5kC,IAAI4s6B,EAAkB6B,EAC/B,EAaM6B,EARS,SAAAjh7B,GAAI,OAAI,SAAAqjzB,GAAM,OAAIA,EAAOl6yB,QAAQxB,IAAI3H,EAAM,CAAD,CAQrCswO,CAAO,6BAErBg5kB,EAAU,SAAA3/vB,GAAI,OAlWR,SAACowD,EAASt1G,GACpB,IAAM69c,EAAMvoW,EAAQuoW,IACpB,SAAOA,IAAOA,EAAIpoW,eAAeooW,EAAIpoW,aAAaz1G,EACpD,CA+VwBgD,CAAIkiD,EAAM,iBAAkB,EAE9Cu33B,EAAmB,SAACC,EAAcC,GACtC,IAnUcx+6B,EAAQm3G,EAmUhBozb,EAAgB+uP,EAAa1pD,SAAS8qM,GACxC7hH,EAAWv/B,EAAavpD,QAAQwuM,GAGpC,OAFA1lH,EApVe,SAAC3sf,EAAO1lO,EAAWm2R,GAGlC,IAFA,IAAIxlR,EAAU+0N,EAAMwzI,IACd3yc,EAAOg+C,EAAW4xU,GAAUA,EAAS0zZ,EACpCl5qB,EAAQmB,YAAY,CACzBnB,EAAUA,EAAQmB,WAClB,IAAMn6E,EAAKm7vB,EAAavpD,QAAQ54nB,GAChC,GAAI3Q,EAAUroE,GACZ,OAAOmyvB,EAASpyvB,KAAKC,GAChB,GAAIpxB,EAAKoxB,GACd,KAEJ,CACA,OAAOmyvB,EAAS/gX,MAClB,CAuUanzR,CAASy8qB,EAAUnS,EAAS83H,GAAQ9uM,MAAMmpF,GArU/B1htB,EAsULozb,EArUA9jf,EADHzmD,EAsUP64zB,GApUE38vB,KAAK,SAAA9W,GACZA,EAAEs6Z,IAAI3lW,aAAa5C,EAAQuoW,IAAK1/c,EAAO0/c,IACzC,GAmUO6qF,CACT,EACMk0Y,EAAuB,SAAC3ylB,EAAM5sQ,GAAE,MAAM,CAC1C4sQ,OACA5sQ,KACD,EAqCKw/1B,EAAmB,SAAAj+H,GAAM,OAAI,WACjC,IAAMk+H,EAtBsB,SAAAl+H,GAC5B,IAAMrnvB,EAAOkguB,EAAavpD,QAAQ0wE,EAAO50D,WACnCgtE,EAAWpY,EAAOx8hB,UAAU6pe,cAC5BywL,EA9BgB,SAAA1lH,GAAQ,OAAIA,EAAS90zB,eAAe,OAAQ,CA8B7C60zB,CAAgBC,GAAYpY,EAAO/gW,IAAIh9a,OAAOm2xB,EAASz7zB,MAAMy7zB,EAASluzB,OAAS81yB,EAAO/gW,IAAIh9a,OAAO,IAAI3gC,OAAO82zB,EAASv2yB,GAAI,WAAW,GACnJs85B,EAAetuJ,EAASxquB,KAAKy43B,GAAc7u6B,IAAI,SAAAq3C,GAAI,OAAIu33B,EAAiBv33B,EAAM,SAAAA,GAAI,OAnZjEg4iB,EAmZuF3liB,EAANrS,EAnZvE24Z,IAAIg5a,YAAY35R,EAAGr/I,KAAlC,IAAKq/I,CAmZ4F,EAAC,GAC9G35kB,EAAUq7xB,EAAOjghB,WAAW,CAChCqjlB,aAAa,IAIf,OAFA+6D,EAAa1i3B,KAAKxyC,GAClB+2xB,EAAOx8hB,UAAUipe,eAAe2rE,GACzBzzyB,CACT,CAWwBy55B,CAAsBp+H,GACtCz1yB,EAtCkB,SAAAoa,GAGxB,IAFA,IAAMunU,EAAQvnU,EAAQ8oB,MAAM,SACtBnvC,EAAS4tV,EAAM5tV,OACZ+/6B,EAAU,EAAGA,EAAU//6B,IAAU+/6B,EAAS,CACjD,IAAMhzlB,EAAOa,EAAMmylB,GACbC,EAAcjzlB,EAAKvsV,QAAQm76B,GACjC,GAAIqE,GAAe,EACjB,OAAIjzlB,IAAS4ulB,EACQ,IAAZoE,EAAgBL,EAAqBK,EAAS,GAAKL,EAAqBK,EAAU,EAAGnylB,EAAMmylB,EAAU,GAAG//6B,QAE1G0/6B,EAAqBK,EAASC,EAEzC,CACA,OAAON,EAAqB,EAAG,EACjC,CAwBiBO,CAAkBL,GACjC,MAAO,CACLv55B,QAASq7xB,EAAOjghB,WAAW,CACzBqjlB,aAAa,IAEf742B,SAEJ,CAAE,EACIi06B,EAAgB,SAAAx+H,GAAM,OAAI,SAAAj8c,GAGzB,IAFLliV,EAAEkiV,EAAFliV,GACA1iB,EAAK4kW,EAAL5kW,MAEA6gzB,EAAOr/wB,QACPq/wB,EAAOj1D,YAAYyB,SAAS,WAC1BwzD,EAAOxhE,WAAWr/uB,EACpB,GACA,IAAMu+B,EAAKsixB,EAAO/gW,IAAIh9a,OAAO,QAAQ3gC,OAAOugB,IAAK,GACjD,GAAI6b,EACFsixB,EAAOx8hB,UAAU1N,eAAep4O,GAChCsixB,EAAOx8hB,UAAUgujB,kBAAkB9zyB,EAAI,GACvCsixB,EAAO/gW,IAAIh2b,OAAOyU,OACb,CACL,IAAM+g5B,EAAuB3oxB,EAAW+ioB,EAAavpD,QAAQ0wE,EAAO50D,YAAYn8uB,IAzdtE,SAAAmpC,GAAG,OAAI,SAAA17C,GAAC,OAAIsoX,EAAUtoX,IAAWA,EAR3Buid,IAAI9lW,SACb35F,gBAO2C44B,CAAI,CAAD,CAyd+Bm/uB,CAAM,UAAUirB,YACpG,GAAIi8H,EAAsB,CACxB,IAAM7p4B,EAAM,aAActzC,OAAOugB,EAAI,aAAcvgB,OAAOnC,GAC1D6gzB,EAAOxhE,WAAW5psB,GAClB,IAAMlX,EAAKsixB,EAAO/gW,IAAIh9a,OAAO,QAAQ3gC,OAAOugB,IAAK,GACjDm+xB,EAAOx8hB,UAAUgujB,kBAAkB9zyB,EAAI,GACvCsixB,EAAO/gW,IAAIh2b,OAAOyU,EACpB,MACEsixB,EAAOx8hB,UAAUgujB,mBAErB,CACAxxB,EAAO6lB,aACT,CAAE,EA4CI64G,EAAS,SAAC1+H,EAAQtrxB,GACtB,IAAM8pH,EAAU,CACdu3xB,SAAUyI,EAAcx+H,GACxB2+H,eAAgBV,EAAiBj+H,IAKnC,MAAO,CACLz3yB,KAJW,YA9FS,SAACy3yB,EAAQtrxB,GAAG,OAAK,IAAI/tB,QAAQ,SAAAC,GACnDA,EAAOyE,EAAC,CAAC,EACJqu6B,EAAY,CACfxlzB,QAASx/F,EACT9X,UAAWojyB,EAAO50D,UAAUh8rB,KAAO,MACnCk92B,SAAUtsH,EAAOn+xB,GACjBwvG,MAAOuszB,EAAY59H,GAAU,0BAA4B,YAE7D,EAAG,EAuFC4+H,CAAgB5+H,EAAQtrxB,GAAK9yB,KAjDd,SAAA48I,GAAO,OAAI,SAAAk0b,GAC5B,IAAAmsW,EAGIrgyB,EAAQmgyB,iBAFDG,EAAQD,EAAjBl65B,QACApa,EAAMs06B,EAANt06B,OAEIw06B,EAAU1z6B,EAAA,GACXqnkB,EAAS,CACZnokB,WAEI5E,EAAS,CACbq2F,MAAO,cACPx3F,KAAM,QACNm0D,KAAM,CACJ94D,KAAM,QACNkkB,MAAO,CAAC,CACNpnB,KAAM,WACNkD,KAAM,eACNu4C,IAAK,MACLgzL,SAAU8usB,EACV/+wB,UAAW,GAAG75J,OAAOy96B,EAAW7qzB,QAAS,wBACzCw+c,SAAUqsW,KAGdzmpB,QAAS,CAAC,CACRz4R,KAAM,SACNlD,KAAM,SACN83B,KAAM,UACL,CACD50B,KAAM,SACNlD,KAAM,OACN83B,KAAM,OACNk4tB,SAAS,IAEXE,YAAa,CACXiyL,YAEF/I,SAAU,SAAAjkyB,GACR0M,EAAQu3xB,SAASjkyB,EAAI71G,UAAU6i5B,UAC/BhtyB,EAAIzmH,OACN,GAEF,OAAO1lB,CACT,CAAE,CAOoCq56B,CAAWxgyB,IAAU58I,KAAKo+yB,EAAOjzD,cAAcxkvB,MAAM3G,KAAK+76B,EAC9F,EAIF,EAoBE7L,EAASxk6B,IAAI,aAAc,SAAC0yyB,EAAQtrxB,IAzKnB,SAAAsrxB,IAEjBspH,EADuBtpH,EAAOl6yB,QAAQy0F,UACvB,4BAA6B,CAC1CsxpB,UAAW,UACX5ouB,SAAS,GAEb,CAoKIsm3B,CAAWvpF,GAfE,SAAAA,GACfA,EAAO5/X,GAAG5zZ,SAAS274B,gBAAgB,OAAQ,CACzChk5B,KAAM,aACNq4F,QAAS,cACT2iN,SAAU,WAAF,OAAQ6gf,EAAO/0D,YAAY,gBAAgB,IAErD+0D,EAAO5/X,GAAG5zZ,SAAS874B,YAAY,OAAQ,CACrCnk5B,KAAM,aACNsQ,KAAM,cACN0qS,SAAU,WAAF,OAAQ6gf,EAAO/0D,YAAY,gBAAgB,GAEvD,CAKI1wpB,CAASyltB,GApBM,SAACA,EAAQtrxB,GAC1BsrxB,EAAO1yD,WAAW,gBAAiBoxL,EAAO1+H,EAAQtrxB,GAAKnsB,KACzD,CAmBIs24B,CAAW7+F,EAAQtrxB,EACrB,EAKL,CA7uBD,GAkvBA,WAGI,IAAIo94B,EAAW/iM,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,yBAGpCqoxB,EAAgB,SAAA7pxB,GAAC,OADJ,SAAAA,GAAC,OAAIA,OAA8B,CAC1B4pxB,CAAW5pxB,EAAG,EAEpCmlH,EAAO,WAAO,EAOdslqB,EAAQ,WACZ,SAAAA,EAAYz3uB,EAAKj5C,GAAO8Y,EAAA,KAAA43wB,GACtB/vxB,KAAKs4C,IAAMA,EACXt4C,KAAKX,MAAQA,CACf,CAAC,OAAAyZ,EAAAi3wB,EAAA,EAAAzuxB,IAAA,OAAAjC,MAOD,SAAK2wxB,EAAQC,GACX,OAAIjwxB,KAAKs4C,IACA23uB,EAAOjwxB,KAAKX,OAEZ2wxB,GAEX,GAAC,CAAA1uxB,IAAA,SAAAjC,MACD,WACE,OAAOW,KAAKs4C,GACd,GAAC,CAAAh3C,IAAA,SAAAjC,MACD,WACE,OAAQW,KAAKs4C,GACf,GAAC,CAAAh3C,IAAA,MAAAjC,MACD,SAAI6wxB,GACF,OAAIlwxB,KAAKs4C,IACAy3uB,EAASpyvB,KAAKuyvB,EAAOlwxB,KAAKX,QAE1B0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,OAAAjC,MACD,SAAK8wxB,GACH,OAAInwxB,KAAKs4C,IACA63uB,EAAOnwxB,KAAKX,OAEZ0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAOjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACpC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAQjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACrC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAKjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,OACvBW,KAEA+vxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,QAAAjC,MACD,SAAMovI,GACJ,OAAOzuI,KAAKs4C,IAAMt4C,KAAKX,MAAQovI,CACjC,GAAC,CAAAntI,IAAA,KAAAjC,MACD,SAAGovI,GACD,OAAOzuI,KAAKs4C,IAAMt4C,KAAOyuI,CAC3B,GAAC,CAAAntI,IAAA,aAAAjC,MACD,SAAW+wxB,GACT,OAAOpwxB,KAAKs4C,IAAMt4C,KAAKX,MAAQ+wxB,GACjC,GAAC,CAAA9uxB,IAAA,UAAAjC,MACD,SAAQ+wxB,GACN,OAAOpwxB,KAAKs4C,IAAMt4C,KAAOowxB,GAC3B,GAAC,CAAA9uxB,IAAA,WAAAjC,MACD,SAASsK,GACP,GAAK3J,KAAKs4C,IAGR,OAAOt4C,KAAKX,MAFZ,MAAM,IAAIK,MAAMiK,QAAyCA,EAAU,0BAIvE,GAAC,CAAArI,IAAA,YAAAjC,MAID,WACE,OAAOW,KAAKs4C,IAAMt4C,KAAKX,MAAQ,IACjC,GAAC,CAAAiC,IAAA,iBAAAjC,MACD,WACE,OAAOW,KAAKX,KACd,GAAC,CAAAiC,IAAA,OAAAjC,MACD,SAAKgxxB,GACCrwxB,KAAKs4C,KACP+3uB,EAAOrwxB,KAAKX,MAEhB,GAAC,CAAAiC,IAAA,UAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,CAACt4C,KAAKX,OAAS,EACnC,GAAC,CAAAiC,IAAA,WAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,QAAQ92C,OAAOxB,KAAKX,MAAO,KAAO,QACtD,IAAC,EAAAiC,IAAA,OAAAjC,MApFD,SAAYA,GACV,OAAO,IAAI0wxB,GAAS,EAAM1wxB,EAC5B,GAAC,CAAAiC,IAAA,OAAAjC,MACD,WACE,OAAO0wxB,EAAShhD,aAClB,GAAC,CAAAztuB,IAAA,OAAAjC,MA4DD,SAAYA,GACV,OAAO8vxB,EAAc9vxB,GAAS0wxB,EAASpyvB,KAAKt+B,GAAS0wxB,EAAS/gX,MAChE,IAAC,CAxEW,GA2Fd+gX,EAAShhD,cAAgB,IAAIghD,GAAS,GAEtC,IA2hEcnmuB,EA1hER9D,EAAO,SAAA+9M,GAAE,OADD,SAACA,EAAI9kQ,GAAC,OAAKA,GAAK,GAAKA,EAAI8kQ,EAAGrlQ,OAASuxxB,EAASpyvB,KAAKkmO,EAAG9kQ,IAAMgxxB,EAAS/gX,MAAO,CACvEq0P,CAAMx/Z,EAAI,EAAG,EAE5Bi0c,EAAWm3B,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,wBAEpCgwxB,EAA2B,oBAAXn1xB,OAAyBA,OAAS0wC,SAAS,eAATA,GAElD8s4B,EAAU,SAAU/s4B,EAAQH,GAChC,IAAMmt4B,EAAWz96B,OAAO096B,MACxB196B,OAAO096B,MAAQ,CACbC,QAAQ,GAEV,IACID,EAAQ,SAAUx0zB,GACpB,IAAIkjW,EAAO,0CACP2lH,EAAW,EACX6rW,EAAmB,CAAC,EACpB3g2B,EAAI,CACN0g2B,OAAQz0zB,EAAMw0zB,OAASx0zB,EAAMw0zB,MAAMC,OACnCE,4BAA6B30zB,EAAMw0zB,OAASx0zB,EAAMw0zB,MAAMG,4BACxDhsjB,KAAM,CACJrvT,OAAQ,SAASA,EAAO/G,GACtB,OAAIA,aAAkB8wR,EACb,IAAIA,EAAM9wR,EAAOr9D,KAAMokE,EAAO/G,EAAOv4C,SAAUu4C,EAAOsuC,OACpDj3F,MAAMC,QAAQ0oD,GAChBA,EAAOjuD,IAAIg1D,GAEX/G,EAAO39C,QAAQ,KAAM,SAASA,QAAQ,KAAM,QAAQA,QAAQ,UAAW,IAElF,EACA1f,KAAM,SAAUg9D,GACd,OAAOh/D,OAAOC,UAAUF,SAAS0B,KAAKu9D,GAAGnoD,MAAM,GAAI,EACrD,EACAk/D,MAAO,SAAUv2C,GAMf,OALKA,EAAU,MACbx/B,OAAOw2C,eAAehX,EAAK,OAAQ,CACjCl+B,QAASq0kB,IAGNn2iB,EAAU,IACnB,EACA9vB,MAAO,SAASgy6B,EAAU1i3B,EAAG2yD,GAE3B,IAAIjiH,EACAsU,EACJ,OAHA2tG,EAAUA,GAAW,CAAC,EAGd9wC,EAAE40S,KAAKzzX,KAAKg9D,IAClB,IAAK,SAEH,GADAh7C,EAAK68D,EAAE40S,KAAK1/S,MAAM/W,GACd2yD,EAAQ3tG,GACV,OAAO2tG,EAAQ3tG,GAIjB,IAAK,IAAIzgB,KAFTmM,EAAQ,CAAC,EACTiiH,EAAQ3tG,GAAMtU,EACEsvD,EACVA,EAAEv5D,eAAelC,KACnBmM,EAAMnM,GAAOm+6B,EAAU1i3B,EAAEz7D,GAAMouH,IAGnC,OAAOjiH,EACT,IAAK,QAEH,OADAsU,EAAK68D,EAAE40S,KAAK1/S,MAAM/W,GACd2yD,EAAQ3tG,GACH2tG,EAAQ3tG,IAEjBtU,EAAQ,GACRiiH,EAAQ3tG,GAAMtU,EACdsvD,EAAE9pC,QAAQ,SAAU4xB,EAAG9lD,GACrB0O,EAAM1O,GAAK0g7B,EAAU563B,EAAG6qE,EAC1B,GACOjiH,GACT,QACE,OAAOsvD,EAEb,EACAqjd,YAAa,SAAUxpa,GACrB,KAAOA,GAAS,CACd,IAAItqD,EAAIyha,EAAK15a,KAAKuiE,EAAQzqF,WAC1B,GAAImgC,EACF,OAAOA,EAAE,GAAG5sC,cAEdk3F,EAAUA,EAAQuvC,aACpB,CACA,MAAO,MACT,EACAu5xB,YAAa,SAAU9o0B,EAAS4X,GAC9B5X,EAAQzqF,UAAYyqF,EAAQzqF,UAAU1M,QAAQ8oD,OAAOwlZ,EAAM,MAAO,IAClEn3W,EAAQ7sF,UAAUvc,IAAI,YAAcghH,EACtC,EACAqrnB,cAAe,WACb,GAAwB,oBAAb5ztB,SACT,OAAO,KAET,GAAI,kBAAmBA,SACrB,OAAOA,SAAS4ztB,cAElB,IACE,MAAM,IAAIn6uB,KACZ,CAAE,MAAOwF,GACP,IAAIw0C,GAAO,qCAAqCrF,KAAKnvC,EAAIikE,QAAU,IAAI,GACvE,GAAIzvB,EAAK,CACP,IAAIgiH,EAAUz1I,SAAS2a,qBAAqB,UAC5C,IAAK,IAAI7hC,KAAK28J,EACZ,GAAIA,EAAQ38J,GAAG26C,KAAOA,EACpB,OAAOgiH,EAAQ38J,EAGrB,CACA,OAAO,IACT,CACF,EACA8rL,SAAU,SAAUj0E,EAASzqF,EAAWwz5B,GAEtC,IADA,IAAIxvgB,EAAK,MAAQhkZ,EACVyqF,GAAS,CACd,IAAI7sF,EAAY6sF,EAAQ7sF,UACxB,GAAIA,EAAUkzF,SAAS9wF,GACrB,OAAO,EAET,GAAIpC,EAAUkzF,SAASkzT,GACrB,OAAO,EAETv5T,EAAUA,EAAQuvC,aACpB,CACA,QAASw5xB,CACX,GAEFlka,UAAW,CACTmka,MAAOL,EACPriM,UAAWqiM,EACX5q5B,KAAM4q5B,EACN/+K,IAAK++K,EACLjn6B,OAAQ,SAAUyJ,EAAI895B,GACpB,IAAI9xd,EAAOnvY,EAAE40S,KAAK/lX,MAAMmxE,EAAE68b,UAAU15f,IACpC,IAAK,IAAIzgB,KAAOu+6B,EACd9xd,EAAKzsd,GAAOu+6B,EAAMv+6B,GAEpB,OAAOysd,CACT,EACAv0W,aAAc,SAAUq8nB,EAAQhllB,EAAQzE,EAAQjkE,GAE9C,IAAI231B,GADJ331B,EAAOA,GAAQvJ,EAAE68b,WACEo6N,GACf7zrB,EAAM,CAAC,EACX,IAAK,IAAIyb,KAASqi3B,EAChB,GAAIA,EAAQt86B,eAAei6D,GAAQ,CACjC,GAAIA,GAASozF,EACX,IAAK,IAAI08kB,KAAYnhlB,EACfA,EAAO5oJ,eAAe+puB,KACxBvrrB,EAAIurrB,GAAYnhlB,EAAOmhlB,IAIxBnhlB,EAAO5oJ,eAAei6D,KACzBzb,EAAIyb,GAASqi3B,EAAQri3B,GAEzB,CAEF,IAAI00Q,EAAMhqP,EAAK0tpB,GAOf,OANA1tpB,EAAK0tpB,GAAU7zrB,EACf48B,EAAE68b,UAAUska,IAAInh2B,EAAE68b,UAAW,SAAUn6gB,EAAKjC,GACtCA,IAAU8yU,GAAO7wU,GAAOu0uB,IAC1B71uB,KAAKsB,GAAO0gD,EAEhB,GACOA,CACT,EACA+93B,IAAK,SAASA,EAAIhj3B,EAAGz9D,EAAUS,EAAM2vH,GACnCA,EAAUA,GAAW,CAAC,EACtB,IAAI57C,EAAQ8K,EAAE40S,KAAK1/S,MACnB,IAAK,IAAI/0E,KAAKg+D,EACZ,GAAIA,EAAEv5D,eAAezE,GAAI,CACvBO,EAASE,KAAKu9D,EAAGh+D,EAAGg+D,EAAEh+D,GAAIgB,GAAQhB,GAClC,IAAIyhB,EAAWu8C,EAAEh+D,GACbih7B,EAAeph2B,EAAE40S,KAAKzzX,KAAKygB,GACV,WAAjBw/5B,GAA8BtwzB,EAAQ57C,EAAMtzD,IAGpB,UAAjBw/5B,GAA6BtwzB,EAAQ57C,EAAMtzD,MACpDkvG,EAAQ57C,EAAMtzD,KAAa,EAC3Bu/5B,EAAIv/5B,EAAUlhB,EAAUP,EAAG2wH,KAJ3BA,EAAQ57C,EAAMtzD,KAAa,EAC3Bu/5B,EAAIv/5B,EAAUlhB,EAAU,KAAMowH,GAKlC,CAEJ,GAEFvnD,QAAS,CAAC,EACV832B,aAAc,SAAU9u2B,EAAO7xE,GAC7Bs/E,EAAEsh2B,kBAAkBj65B,SAAUkrD,EAAO7xE,EACvC,EACA4g7B,kBAAmB,SAAUjm1B,EAAW9oB,EAAO7xE,GAC7C,IAAI6vI,EAAM,CACR7vI,SAAUA,EACV26F,UAAWA,EACXq+B,SAAU,oGAEZ15C,EAAEkd,MAAMv4C,IAAI,sBAAuB4rF,GACnCA,EAAI+K,SAAWzlI,MAAMzW,UAAU4W,MAAM5M,MAAMmnI,EAAIl1C,UAAU2f,iBAAiBu1B,EAAI7W,WAC9E15C,EAAEkd,MAAMv4C,IAAI,gCAAiC4rF,GAC7C,IAAK,IAAWv4B,EAAP73G,EAAI,EAAY63G,EAAUu4B,EAAI+K,SAASn7I,MAC9C6/E,EAAEuh2B,iBAAiBvp0B,GAAmB,IAAVzlC,EAAgBg+D,EAAI7vI,SAEpD,EACA6g7B,iBAAkB,SAAUvp0B,EAASzlC,EAAO7xE,GAC1C,IAAIkvH,EAAW5vC,EAAE40S,KAAK4sJ,YAAYxpa,GAC9Bkp0B,EAAUlh2B,EAAE68b,UAAUjtZ,GAC1B5vC,EAAE40S,KAAKksjB,YAAY9o0B,EAAS4X,GAC5B,IAAItoE,EAAS0wD,EAAQuvC,cACjBjgG,GAA4C,QAAlCA,EAAOmzD,SAAS35F,eAC5Bk/D,EAAE40S,KAAKksjB,YAAYx53B,EAAQsoE,GAE7B,IACI2gB,EAAM,CACRv4B,QAASA,EACT4X,SAAUA,EACVsxzB,QAASA,EACT/i6B,KALS65F,EAAQjsE,aAOnB,SAASy14B,EAAsBC,GAC7BlxyB,EAAIkxyB,gBAAkBA,EACtBzh2B,EAAEkd,MAAMv4C,IAAI,gBAAiB4rF,GAC7BA,EAAIv4B,QAAQnsE,UAAY0kG,EAAIkxyB,gBAC5Bzh2B,EAAEkd,MAAMv4C,IAAI,kBAAmB4rF,GAC/BvwD,EAAEkd,MAAMv4C,IAAI,WAAY4rF,GACxB7vI,GAAYA,EAASE,KAAK2vI,EAAIv4B,QAChC,CAMA,GALAh4B,EAAEkd,MAAMv4C,IAAI,sBAAuB4rF,IACnCjpF,EAASipF,EAAIv4B,QAAQuvC,gBAC2B,QAAlCjgG,EAAOmzD,SAAS35F,gBAA4BwmC,EAAO6wD,aAAa,aAC5E7wD,EAAO8wD,aAAa,WAAY,MAE7Bm4B,EAAIpyH,KAGP,OAFA6hE,EAAEkd,MAAMv4C,IAAI,WAAY4rF,QACxB7vI,GAAYA,EAASE,KAAK2vI,EAAIv4B,UAIhC,GADAh4B,EAAEkd,MAAMv4C,IAAI,mBAAoB4rF,GAC3BA,EAAI2wyB,QAIT,GAAI3u2B,GAAS05C,EAAMg0d,OAAQ,CACzB,IAAIwxM,EAAS,IAAIxxM,OAAOjggB,EAAEgyX,UAC1By/U,EAAOvsuB,UAAY,SAAU+hL,GAC3Bu6sB,EAAsBv6sB,EAAI1hO,KAC5B,EACAksxB,EAAOtsuB,YAAY5jD,KAAKC,UAAU,CAChCouH,SAAU2gB,EAAI3gB,SACdzxG,KAAMoyH,EAAIpyH,KACVuj6B,gBAAgB,IAEpB,MACEF,EAAsBxh2B,EAAE8hK,UAAUvxG,EAAIpyH,KAAMoyH,EAAI2wyB,QAAS3wyB,EAAI3gB,gBAd7D4xzB,EAAsBxh2B,EAAE40S,KAAKrvT,OAAOgrE,EAAIpyH,MAgB5C,EACA2jO,UAAW,SAAU/rN,EAAMmr5B,EAAStxzB,GAClC,IAAI2gB,EAAM,CACRpyH,KAAM4X,EACNmr5B,QAASA,EACTtxzB,SAAUA,GAGZ,GADA5vC,EAAEkd,MAAMv4C,IAAI,kBAAmB4rF,IAC1BA,EAAI2wyB,QACP,MAAM,IAAIpg7B,MAAM,iBAAmByvI,EAAI3gB,SAAW,qBAIpD,OAFA2gB,EAAI/xE,OAASwhB,EAAEmyb,SAAS5hY,EAAIpyH,KAAMoyH,EAAI2wyB,SACtClh2B,EAAEkd,MAAMv4C,IAAI,iBAAkB4rF,GACvB++M,EAAM9tV,UAAUw+E,EAAE40S,KAAKrvT,OAAOgrE,EAAI/xE,QAAS+xE,EAAI3gB,SACxD,EACAuiZ,SAAU,SAAUp8e,EAAMmr5B,GACxB,IAAIt4yB,EAAOs4yB,EAAQt4yB,KACnB,GAAIA,EAAM,CACR,IAAK,IAAI/pE,KAAS+pE,EAChBs4yB,EAAQri3B,GAAS+pE,EAAK/pE,UAEjBqi3B,EAAQt4yB,IACjB,CACA,IAAIumS,EAAY,IAAIwygB,EAGpB,OAFAC,EAASzygB,EAAWA,EAAUjoX,KAAMnxB,GACpC8r5B,EAAa9r5B,EAAMo5Y,EAAW+xgB,EAAS/xgB,EAAUjoX,KAAM,GAgN3D,SAAiB51B,GACf,IAAIjb,EAAQ,GACRuxC,EAAOt2B,EAAK41B,KAAK15C,KACrB,KAAOo6C,IAASt2B,EAAK0/iB,MACnB36jB,EAAMnR,KAAK0iD,EAAKnnD,OAChBmnD,EAAOA,EAAKp6C,KAEd,OAAO6I,CACT,CAvNWwoO,CAAQswL,EACjB,EACAjyU,MAAO,CACLpwF,IAAK,CAAC,EACN8B,IAAK,SAAU3Q,EAAMyC,GACnB,IAAIw8F,EAAQld,EAAEkd,MAAMpwF,IACpBowF,EAAMj/F,GAAQi/F,EAAMj/F,IAAS,GAC7Bi/F,EAAMj/F,GAAMiH,KAAKxE,EACnB,EACAikD,IAAK,SAAU1mD,EAAMsyI,GACnB,IAAI2xJ,EAAYliN,EAAEkd,MAAMpwF,IAAI7O,GAC5B,GAAKikS,GAAcA,EAAUtiS,OAG7B,IAAK,IAAWc,EAAPP,EAAI,EAAaO,EAAWwhS,EAAU/hS,MAC7CO,EAAS6vI,EAEb,GAEF++M,MAAOA,GAGT,SAASA,EAAMnuV,EAAM8kB,EAAS6mF,EAAOg10B,GACnC1g7B,KAAKD,KAAOA,EACZC,KAAK6kB,QAAUA,EACf7kB,KAAK0rG,MAAQA,EACb1rG,KAAKxB,OAAqC,GAA3Bki7B,GAAc,IAAIli7B,MACnC,CAmCA,SAASy3f,EAAan2a,EAASh/B,EAAKnsB,EAAMgs5B,GACxC7g2B,EAAQ6nD,UAAY7mF,EACpB,IAAIngD,EAAQm/E,EAAQzrC,KAAK1f,GACzB,GAAIh0B,GAASgg7B,GAAchg7B,EAAM,GAAI,CACnC,IAAIig7B,EAAmBjg7B,EAAM,GAAGnC,OAChCmC,EAAMyJ,OAASw26B,EACfjg7B,EAAM,GAAKA,EAAM,GAAGiU,MAAMgs6B,EAC5B,CACA,OAAOjg7B,CACT,CACA,SAAS8/6B,EAAa9r5B,EAAMo5Y,EAAW+xgB,EAAShhf,EAAW4/L,EAAUmiT,GACnE,IAAK,IAAIpj3B,KAASqi3B,EAChB,GAAKA,EAAQt86B,eAAei6D,IAAWqi3B,EAAQri3B,GAA/C,CAGA,IAAI49T,EAAWykjB,EAAQri3B,GACvB49T,EAAW5mX,MAAMC,QAAQ2mX,GAAYA,EAAW,CAACA,GACjD,IAAK,IAAIjnW,EAAI,EAAGA,EAAIinW,EAAS78X,SAAU41B,EAAG,CACxC,GAAIys5B,GAAWA,EAAQjjmB,OAASngR,EAAQ,IAAMrpC,EAC5C,OAEF,IAAI0s5B,EAAazljB,EAASjnW,GACtByhtB,EAASirM,EAAWjrM,OACpB8qM,IAAeG,EAAWH,WAC1BI,IAAWD,EAAWC,OACtBr10B,EAAQo10B,EAAWp10B,MACvB,GAAIq10B,IAAWD,EAAWhh2B,QAAQ1tC,OAAQ,CACxC,IAAIktC,EAAQwh2B,EAAWhh2B,QAAQhiF,WAAW6C,MAAM,aAAa,GAC7Dmg7B,EAAWhh2B,QAAUvX,OAAOu42B,EAAWhh2B,QAAQlqC,OAAQ0pC,EAAQ,IACjE,CAEA,IADA,IAAIQ,EAAUgh2B,EAAWhh2B,SAAWgh2B,EAC3Btmf,EAAcsE,EAAU1yb,KAAM00C,EAAM49kB,EAAUlkM,IAAgBzsB,EAAU6hK,QAC3EixW,GAAW//3B,GAAO+/3B,EAAQG,OADuDlg4B,GAAO05Y,EAAYn7b,MAAMb,OAAQg8b,EAAcA,EAAYpub,KAAM,CAItJ,IAAItM,EAAM06b,EAAYn7b,MACtB,GAAI0ua,EAAUvva,OAASm2B,EAAKn2B,OAC1B,OAEF,KAAIsB,aAAeouV,GAAnB,CAGA,IACIvtV,EADAsg7B,EAAc,EAElB,GAAIF,EAAQ,CAEV,KADApg7B,EAAQs1f,EAAan2a,EAASh/B,EAAKnsB,EAAMgs5B,KAC3Bhg7B,EAAMyJ,OAASuqB,EAAKn2B,OAChC,MAEF,IAAI+mD,EAAO5kD,EAAMyJ,MACbwyE,EAAKj8E,EAAMyJ,MAAQzJ,EAAM,GAAGnC,OAC5BE,EAAIoiD,EAER,IADApiD,GAAK87b,EAAYn7b,MAAMb,OAChB+mD,GAAQ7mD,GAEbA,IADA87b,EAAcA,EAAYpub,MACT/M,MAAMb,OAIzB,GADAsiD,EADApiD,GAAK87b,EAAYn7b,MAAMb,OAEnBg8b,EAAYn7b,iBAAiB6uV,EAC/B,SAEF,IAAK,IAAI/wS,EAAIq9Y,EAAar9Y,IAAM4wX,EAAU6hK,OAASlxkB,EAAIk+E,GAAyB,iBAAZz/B,EAAE99C,OAAqB89C,EAAIA,EAAE/wC,KAC/F606B,IACAvi7B,GAAKy+C,EAAE99C,MAAMb,OAEfyi7B,IACAnh7B,EAAM60B,EAAK/f,MAAMksC,EAAKpiD,GACtBiC,EAAMyJ,OAAS02C,CACjB,MAEE,KADAngD,EAAQs1f,EAAan2a,EAAS,EAAGhgF,EAAK6g7B,IAEpC,SAGAp73B,EAAO5kD,EAAMyJ,MAAjB,IACI826B,EAAWvg7B,EAAM,GACjBkwJ,EAAS/wJ,EAAI8U,MAAM,EAAG2wC,GACtB6/P,EAAQtlT,EAAI8U,MAAM2wC,EAAO273B,EAAS1i7B,QAClCwi7B,EAAQlg4B,EAAMhhD,EAAItB,OAClBqi7B,GAAWG,EAAQH,EAAQG,QAC7BH,EAAQG,MAAQA,GAElB,IAAIG,EAAa3mf,EAAYrub,KAW7B,GAVI0kJ,IACFswxB,EAAaX,EAASzygB,EAAWozgB,EAAYtwxB,GAC7C/vG,GAAO+vG,EAAOryJ,QAEhB4i7B,EAAYrzgB,EAAWozgB,EAAYF,GAEnCzmf,EAAcgmf,EAASzygB,EAAWozgB,EADpB,IAAIjzlB,EAAMzwR,EAAOo4qB,EAASj3pB,EAAEmyb,SAASmwa,EAAUrrM,GAAUqrM,EAAUx10B,EAAOw10B,IAEpF97nB,GACFo7nB,EAASzygB,EAAWysB,EAAap1I,GAE/B67nB,EAAc,EAAG,CACnB,IAAII,EAAgB,CAClBzjmB,MAAOngR,EAAQ,IAAMrpC,EACrB4s5B,MAAOA,GAETP,EAAa9r5B,EAAMo5Y,EAAW+xgB,EAAStlf,EAAYrub,KAAM20C,EAAKug4B,GAC1DR,GAAWQ,EAAcL,MAAQH,EAAQG,QAC3CH,EAAQG,MAAQK,EAAcL,MAElC,CA9DA,CA+DF,CACF,CA3FA,CA6FJ,CACA,SAAST,IACP,IAAIz63B,EAAO,CACTzmD,MAAO,KACP8M,KAAM,KACNC,KAAM,MAEJwjkB,EAAO,CACTvwkB,MAAO,KACP8M,KAAM25C,EACN15C,KAAM,MAER05C,EAAK15C,KAAOwjkB,EACZ5vkB,KAAK8lD,KAAOA,EACZ9lD,KAAK4vkB,KAAOA,EACZ5vkB,KAAKxB,OAAS,CAChB,CACA,SAASgi7B,EAAStw5B,EAAMs2B,EAAMnnD,GAC5B,IAAI+M,EAAOo6C,EAAKp6C,KACZ0kQ,EAAU,CACZzxQ,MAAOA,EACP8M,KAAMq6C,EACNp6C,KAAMA,GAKR,OAHAo6C,EAAKp6C,KAAO0kQ,EACZ1kQ,EAAKD,KAAO2kQ,EACZ5gP,EAAK1xB,SACEsyQ,CACT,CACA,SAASswqB,EAAYlx5B,EAAMs2B,EAAMt8C,GAE/B,IADA,IAAIkC,EAAOo6C,EAAKp6C,KACPrN,EAAI,EAAGA,EAAImL,GAASkC,IAAS8jB,EAAK0/iB,KAAM7wkB,IAC/CqN,EAAOA,EAAKA,KAEdo6C,EAAKp6C,KAAOA,EACZA,EAAKD,KAAOq6C,EACZt2B,EAAK1xB,QAAUO,CACjB,CAUA,GAnMA8rH,EAAMw0zB,MAAQzg2B,EAOdsvQ,EAAM9tV,UAAY,SAASA,EAAU28D,EAAGyxD,GACtC,GAAgB,iBAALzxD,EACT,OAAOA,EAET,GAAItoD,MAAMC,QAAQqoD,GAAI,CACpB,IAAIh4D,EAAI,GAIR,OAHAg4D,EAAE9pC,QAAQ,SAAUr2B,GAClBmI,GAAK3E,EAAUxD,EAAG4xH,EACpB,GACOzpH,CACT,CACA,IAAIoqI,EAAM,CACRpvI,KAAMg9D,EAAEh9D,KACR8kB,QAASzkB,EAAU28D,EAAEl4C,QAAS2pG,GAC9Bl2E,IAAK,OACLg2U,QAAS,CAAC,QAASvxT,EAAEh9D,MACrB2yI,WAAY,CAAC,EACblkB,SAAUA,GAERuxG,EAAUhjK,EAAE2uC,MACZq0H,IACEtrN,MAAMC,QAAQqrN,GAChBtrN,MAAMzW,UAAU8F,KAAKkE,MAAMmnI,EAAIm/O,QAASvuJ,GAExC5wF,EAAIm/O,QAAQxqX,KAAKi8N,IAGrBnhJ,EAAEkd,MAAMv4C,IAAI,OAAQ4rF,GACpB,IAAIuD,EAAa,GACjB,IAAK,IAAI71I,KAAQsyI,EAAIuD,WACnBA,GAAc,IAAM71I,EAAO,MAAQsyI,EAAIuD,WAAW71I,IAAS,IAAI4iB,QAAQ,KAAM,UAAY,IAE3F,MAAO,IAAM0vH,EAAI72F,IAAM,WAAa62F,EAAIm/O,QAAQxiU,KAAK,KAAO,IAAM4mF,EAAa,IAAMvD,EAAItqH,QAAU,KAAOsqH,EAAI72F,IAAM,GACtH,GA2JKuyE,EAAM5kG,SACT,OAAK4kG,EAAM9iG,kBAGN62D,EAAE4g2B,6BACL30zB,EAAM9iG,iBAAiB,UAAW,SAAU89M,GAC1C,IAAIl8N,EAAUxJ,KAAKG,MAAMulO,EAAI1hO,MACzB4pd,EAAOpkd,EAAQ6kH,SACfzxG,EAAOpT,EAAQoT,KACfuj6B,EAAiB326B,EAAQ226B,eAC7Bz1zB,EAAM9mE,YAAY66B,EAAE8hK,UAAU3jO,EAAM6hE,EAAE68b,UAAU1tD,GAAOA,IACnDuyd,GACFz1zB,EAAMt/F,OAEV,GAAG,GAEEqzD,GAdEA,EAgBX,IAAI4nX,EAAS5nX,EAAE40S,KAAKqmX,gBAOpB,SAASynM,IACF1i2B,EAAE0g2B,QACL1g2B,EAAEqh2B,cAEN,CACA,GAXIz5e,IACF5nX,EAAEgyX,SAAWpK,EAAO9sZ,IAChB8sZ,EAAOzvV,aAAa,iBACtBn4B,EAAE0g2B,QAAS,KAQV1g2B,EAAE0g2B,OAAQ,CACb,IAAIrx2B,EAAahoD,SAASgoD,WACP,YAAfA,GAA2C,gBAAfA,GAAgCu4X,GAAUA,EAAOjlZ,MAC/Et7B,SAAS8B,iBAAiB,mBAAoBu55B,GAE1C3/6B,OAAOylB,sBACTzlB,OAAOylB,sBAAsBk65B,GAE7B3/6B,OAAOypC,WAAWk24B,EAAgC,GAGxD,CACA,OAAO1i2B,CACT,CA3gBY,CADkB,oBAAXj9E,OAAyBA,OAAsC,oBAAtBmuX,mBAAqCxoX,gBAAgBwoX,kBAAoBxoX,KAAO,CAAC,GA43D7I,YA/2CsB,IAAX2qC,GAA0BA,EAAOC,UAC1CD,EAAOC,QAAUmt4B,QAEG,IAAXjt4B,IACTA,EAAOit4B,MAAQA,GAEjBA,EAAM5ja,UAAU8la,MAAQ,CACtB,QAAW,CAAC,CACVzh2B,QAAS,kCACT6g2B,YAAY,EACZI,QAAQ,GACP,CACDjh2B,QAAS,mBACT6g2B,YAAY,EACZI,QAAQ,IAEV,OAAU,CACRjh2B,QAAS,iDACTih2B,QAAQ,GAEV,aAAc,CACZjh2B,QAAS,2FACT6g2B,YAAY,EACZ9qM,OAAQ,CACN,YAAe,UAGnB,QAAW,6GACX,QAAW,qBACX,SAAY,cACZ,OAAU,4DACV,SAAY,+CACZ,YAAe,iBAEjB,SAAWwpM,GACT,SAAShyH,EAAe7+rB,EAAUpkH,GAChC,MAAO,MAAQokH,EAASrnC,cAAgB/8E,EAAQ,KAClD,CACArM,OAAOg7C,iBAAiBsm4B,EAAM5ja,UAAU,qBAAuB,CAAC,EAAG,CACjE+la,kBAAmB,CACjBni7B,MAAO,SAAU8vI,EAAK3gB,EAAUizzB,EAAoBC,GAClD,GAAIvyyB,EAAI3gB,WAAaA,EAArB,CAGA,IAAImzzB,EAAaxyyB,EAAIwyyB,WAAa,GAClCxyyB,EAAIpyH,KAAOoyH,EAAIpyH,KAAK0C,QAAQgi6B,EAAoB,SAAU9g7B,GACxD,GAA6B,mBAAlB+g7B,IAAiCA,EAAc/g7B,GACxD,OAAOA,EAIT,IAFA,IACIkhC,EADA9iC,EAAI4i7B,EAAWnj7B,QAEqD,IAAjE2wI,EAAIpyH,KAAK/d,QAAQ6iC,EAAcwrxB,EAAe7+rB,EAAUzvH,OAC3DA,EAGJ,OADA4i7B,EAAW5i7B,GAAK4B,EACTkhC,CACT,GACAstG,EAAI2wyB,QAAUT,EAAM5ja,UAAUmma,MAd9B,CAeF,GAEFC,qBAAsB,CACpBxi7B,MAAO,SAAU8vI,EAAK3gB,GACpB,GAAI2gB,EAAI3gB,WAAaA,GAAa2gB,EAAIwyyB,WAAtC,CAGAxyyB,EAAI2wyB,QAAUT,EAAM5ja,UAAUjtZ,GAC9B,IAAIp6F,EAAI,EACJzwB,EAAO5F,OAAO4F,KAAKwrI,EAAIwyyB,aAC3B,SAASG,EAAW1k3B,GAClB,IAAK,IAAIr+D,EAAI,EAAGA,EAAIq+D,EAAO5+D,UACrB41B,GAAKzwB,EAAKnF,QADmBO,IAAK,CAItC,IAAI0+D,EAAQL,EAAOr+D,GACnB,GAAqB,iBAAV0+D,GAAsBA,EAAM54C,SAAoC,iBAAlB44C,EAAM54C,QAAsB,CACnF,IAAIs4B,EAAIx5C,EAAKywB,GACT3Y,EAAI0zH,EAAIwyyB,WAAWxk4B,GACnBp4C,EAAqB,iBAAV04D,EAAqBA,EAAQA,EAAM54C,QAC9Cgd,EAAcwrxB,EAAe7+rB,EAAUrxE,GACvC/yC,EAAQrF,EAAE/F,QAAQ6iC,GACtB,GAAIz3B,GAAS,EAAG,GACZgqB,EACF,IAAIy8H,EAAS9rJ,EAAE5F,UAAU,EAAGiL,GACxBkl1B,EAAS,IAAI+vF,EAAMnxlB,MAAM1/N,EAAU6wzB,EAAMtua,SAASt1f,EAAG0zH,EAAI2wyB,SAAU,YAActxzB,EAAU/yG,GAC3F2pS,EAAQrgT,EAAE5F,UAAUiL,EAAQy3B,EAAYrjC,QACxCiwI,EAAc,GACdoiB,GACFpiB,EAAY3qI,KAAKkE,MAAMymI,EAAaqzyB,EAAW,CAACjxxB,KAElDpiB,EAAY3qI,KAAKwr1B,GACblqiB,GACF32K,EAAY3qI,KAAKkE,MAAMymI,EAAaqzyB,EAAW,CAAC18nB,KAE7B,iBAAV3nP,EACTL,EAAOt+B,OAAO92B,MAAMo1D,EAAQ,CAACr+D,EAAG,GAAGyC,OAAOitI,IAE1ChxE,EAAM54C,QAAU4pH,CAEpB,CACF,MAAWhxE,EAAM54C,SACfi95B,EAAWrk3B,EAAM54C,QAErB,CACA,OAAOu4C,CACT,CACA0k3B,CAAW3yyB,EAAI/xE,OAzCf,CA0CF,IAGL,CA3ED,CA2EGii3B,GACHA,EAAM5ja,UAAUxne,EAAIor4B,EAAM5ja,UAAUnjgB,OAAO,QAAS,CAClD,QAAW,CACTwnE,QAAS,sEACTih2B,QAAQ,GAEV,OAAU,CACRjh2B,QAAS,sCACTih2B,QAAQ,GAEV,aAAc,CACZjh2B,QAAS,mFACT6g2B,YAAY,GAEd,QAAW,oVACX,SAAY,wBACZ,OAAU,oHACV,SAAY,oDAEdtB,EAAM5ja,UAAUjia,aAAa,IAAK,SAAU,CAC1C,KAAQ,CACN15B,QAAS,2CACTih2B,QAAQ,KAGZ1B,EAAM5ja,UAAUjia,aAAa,IAAK,SAAU,CAC1C,MAAS,CACP15B,QAAS,4FACT6g2B,YAAY,EACZI,QAAQ,EACRr10B,MAAO,WACPmqoB,OAAQ,CACN,OAAU,CAAC,CACT/1pB,QAAS,2BACT6g2B,YAAY,GACXtB,EAAM5ja,UAAUxne,EAAU,QAC7B,KAAQor4B,EAAM5ja,UAAUxne,EAAQ,KAChC,QAAWor4B,EAAM5ja,UAAUxne,EAAW,QACtC,aAAc,CAAC,CACb6rC,QAAS,+BACT6g2B,YAAY,GACX,CACD7g2B,QAAS,+BACT6g2B,YAAY,EACZj10B,MAAO,aAET,UAAa,CACX5rB,QAAS,gBACT6g2B,YAAY,EACZj10B,MAAO,WAET,iBAAkB,KAClB,YAAe,kBACf,WAAc,CACZ5rB,QAAS,YACT+1pB,OAAQwpM,EAAM5ja,UAAUxne,OAKhCor4B,EAAM5ja,UAAUjia,aAAa,IAAK,WAAY,CAC5C,SAAY,sIAEP6l0B,EAAM5ja,UAAUxne,EAAW,QAClC,SAAWor4B,GACT,IAAIrnjB,EAAU,osBACV+pjB,EAAU,uCAAuCns4B,OAAOn2B,QAAQ,aAAc,WAChF,OAAOu4W,EAAQpiV,MACjB,GACAyp4B,EAAM5ja,UAAUuma,IAAM3C,EAAM5ja,UAAUnjgB,OAAO,IAAK,CAChD,aAAc,CAAC,CACbwnE,QAASvX,OAAO,gEAAgE3yB,OAAOn2B,QAAQ,aAAc,WAC3G,OAAOu4W,EAAQpiV,MACjB,IACA+q4B,YAAY,GACX,iCAAkC,oCAAqC,kEAC1E,QAAW3ojB,EACX,OAAU,CACRl4S,QAAS,iJACTih2B,QAAQ,GAEV,SAAY,yHACZ,QAAW,uBAEb1B,EAAM5ja,UAAUjia,aAAa,MAAO,SAAU,CAC5C,OAAU,CACR15B,QAASvX,OAAO,2BAA2B3yB,OAAS,MAAQ,mDAAmDA,OAAS,IAAM,kDAAkDA,OAAOn2B,QAAQ,cAAe,WAC5M,OAAOsi6B,CACT,GAAK,KACLpB,YAAY,EACZI,QAAQ,EACRlrM,OAAQ,CACN,OAAU,eACV,SAAY,IACZ,YAAe,OAGnB,aAAc,CACZ/1pB,QAAS,oCACT4rB,MAAO,SACPq10B,QAAQ,KAGZ1B,EAAM5ja,UAAUjia,aAAa,MAAO,UAAW,CAC7C,mBAAoB,CAClB15B,QAAS,8DACT+1pB,OAAQ,CACN,SAAY,OACZ,QAAW,CACT/1pB,QAAS,WACT4rB,MAAO,aACPmqoB,OAAQwpM,EAAM5ja,UAAUuma,SAKhC3C,EAAM5ja,UAAUjia,aAAa,MAAO,WAAY,CAC9C,eAAgB,CACd15B,QAAS,KACT4rB,MAAO,iBAGX2z0B,EAAM5ja,UAAUjia,aAAa,MAAO,aAAc,CAChD,cAAe,CACb15B,QAAS,6EACT6g2B,YAAY,EACZI,QAAQ,EACRlrM,OAAQwpM,EAAM5ja,UAAUnjgB,OAAO,MAAO,CAAC,MAG3C+m6B,EAAM5ja,UAAUjia,aAAa,SAAU,eAAgB,CACrD,aAAc,2BACb6l0B,EAAM5ja,UAAUuma,IAAI,eACxB,CArED,CAqEG3C,GACH,SAAWA,GACT,SAAS5/5B,EAAQqgE,EAASmi2B,GACxB,OAAOni2B,EAAQrgE,QAAQ,aAAc,SAAU6sC,EAAGliD,GAChD,MAAO,MAAQ636B,GAAc736B,GAAS,GACxC,EACF,CACA,SAASkjZ,EAAGxtU,EAASmi2B,EAAc3i2B,GACjC,OAAO/W,OAAO9oD,EAAQqgE,EAASmi2B,GAAe3i2B,GAAS,GACzD,CACA,SAAS1B,EAAOkC,EAASoi2B,GACvB,IAAK,IAAInj7B,EAAI,EAAGA,EAAImj7B,EAAWnj7B,IAC7B+gF,EAAUA,EAAQrgE,QAAQ,YAAa,WACrC,MAAO,MAAQqgE,EAAU,GAC3B,GAEF,OAAOA,EAAQrgE,QAAQ,YAAa,YACtC,CACA,IAAI0i6B,EACI,4GADJA,EAEe,qCAFfA,EAGU,2NAHVA,EAIK,uXAET,SAASC,EAAkBt6b,GACzB,MAAO,SAAWA,EAAM9wb,OAAOv3C,QAAQ,KAAM,KAAO,MACtD,CACA,IAAI4i6B,EAA0BD,EAAkBD,GAC5CpqjB,EAAWxvT,OAAO652B,EAAkBD,EAAoB,IAAMA,EAA+B,IAAMA,EAA0B,IAAMA,IACnIG,EAAkBF,EAAkBD,EAA+B,IAAMA,EAA0B,IAAMA,GACzGI,EAAwBH,EAAkBD,EAAoB,IAAMA,EAA+B,IAAMA,GACzG3h1B,EAAU5iB,EAAO,mCAAmChoC,OAAQ,GAC5D4s4B,EAAc5k2B,EAAO,0BAA0BhoC,OAAQ,GACvD/4C,EAAO,qBAAqB+4C,OAC5B6s4B,EAAchj6B,EAAQ,qBAAqBm2B,OAAQ,CAAC/4C,EAAM2jG,IAC1Du8G,EAAat9L,EAAQ,mCAAmCm2B,OAAQ,CAAC0s4B,EAAiBG,IAClFxt6B,EAAQ,mBAAmB2gC,OAC3B8s4B,EAA6Bjj6B,EAAQ,yCAAyCm2B,OAAQ,CAACmnK,EAAY9nM,IACnG0t6B,EAAelj6B,EAAQ,2CAA2Cm2B,OAAQ,CAAC4qD,EAASgi1B,EAAavt6B,IACjG48wB,EAAQpywB,EAAQ,yBAAyBm2B,OAAQ,CAAC+s4B,IAClDC,EAAiBnj6B,EAAQ,mDAAmDm2B,OAAQ,CAACi8uB,EAAO90kB,EAAY9nM,IACxG4t6B,EAAa,CACf,QAAW9qjB,EACX,YAAe,iBAEb+qjB,EAAY,8CAA8Clt4B,OAC1Dmt4B,EAAgB,wBAAwBnt4B,OACxCot4B,EAAiB,kCAAkCpt4B,OACvDyp4B,EAAM5ja,UAAUwna,OAAS5D,EAAM5ja,UAAUnjgB,OAAO,QAAS,CACvD,OAAU,CAAC,CACTwnE,QAASwtU,EAAG,kBAAkB13W,OAAQ,CAACot4B,IACvCrC,YAAY,EACZI,QAAQ,GACP,CACDjh2B,QAASwtU,EAAG,mBAAmB13W,OAAQ,CAACmt4B,IACxCpC,YAAY,EACZI,QAAQ,IAEV,aAAc,CAAC,CACbjh2B,QAASwtU,EAAG,qCAAqC13W,OAAQ,CAACmnK,IAC1D4juB,YAAY,EACZ9qM,OAAQgtM,GACP,CACD/i2B,QAASwtU,EAAG,wCAAwC13W,OAAQ,CAAC/4C,EAAM+l7B,IACnEjC,YAAY,EACZ9qM,OAAQgtM,GACP,CACD/i2B,QAASwtU,EAAG,4BAA4B13W,OAAQ,CAAC/4C,IACjD8j7B,YAAY,GACX,CACD7g2B,QAASwtU,EAAG,oBAAoB13W,OAAQ,CAACys4B,EAAyBI,IAClE9B,YAAY,EACZ9qM,OAAQgtM,GACP,CACD/i2B,QAASwtU,EAAG,yBAAyB13W,OAAQ,CAACmnK,IAC9C4juB,YAAY,EACZ9qM,OAAQgtM,GACP,CACD/i2B,QAASwtU,EAAG,oBAAoB13W,OAAQ,CAAC/4C,IACzC8j7B,YAAY,GACX,CACD7g2B,QAASwtU,EAAG,mCAAmC13W,OAAQ,CAAC8s4B,IACxD/B,YAAY,EACZ9qM,OAAQgtM,GACP,CACD/i2B,QAASwtU,EAAG,2EAA2E13W,OAAQ,CAACgt4B,EAAgBL,EAAuB1l7B,IACvIg5uB,OAAQgtM,IAEV,QAAW9qjB,EACX,OAAU,kJACV,SAAY,uDACZ,YAAe,2BAEjBsnjB,EAAM5ja,UAAUjia,aAAa,SAAU,SAAU,CAC/C,MAAS,CACP15B,QAAS,OACT4rB,MAAO,cAGX2z0B,EAAM5ja,UAAUjia,aAAa,SAAU,cAAe,CACpD,kBAAmB,CACjB15B,QAASwtU,EAAG,yBAAyB13W,OAAQ,CAAC/4C,IAC9C8j7B,YAAY,EACZj10B,MAAO,iBAGX2z0B,EAAM5ja,UAAUjia,aAAa,SAAU,aAAc,CACnD,UAAa,CACX15B,QAASwtU,EAAG,+DAA+D13W,OAAQ,CAAC/4C,IACpF8j7B,YAAY,EACZ9qM,OAAQ,CACN,YAAe,OAGnB,kBAAmB,CACjB/1pB,QAASwtU,EAAG,kFAAkF13W,OAAQ,CAAC4s4B,IACvG7B,YAAY,EACZj10B,MAAO,aACPmqoB,OAAQgtM,GAEV,cAAe,CACb/i2B,QAASwtU,EAAG,+DAA+D13W,OAAQ,CAACgt4B,EAAgB7luB,IACpG84hB,OAAQgtM,EACRn30B,MAAO,cAET,yBAA0B,CACxB5rB,QAASwtU,EAAG,8BAA8B13W,OAAQ,CAACgt4B,IACnDjC,YAAY,EACZ9qM,OAAQgtM,EACRn30B,MAAO,cAET,iBAAkB,CAChB5rB,QAASwtU,EAAG,yBAAyB13W,OAAQ,CAAC/4C,EAAM2jG,IACpDq1oB,OAAQ,CACN,SAAYvoV,EAAG,SAAS13W,OAAQ,CAAC/4C,IACjC,QAAW,CACTijF,QAASvX,OAAOi4B,GAChBkL,MAAO,aACPmqoB,OAAQgtM,KAId,YAAa,CACX/i2B,QAASwtU,EAAG,kKAAkK13W,OAAQ,CAACys4B,EAAyBI,EAAa5l7B,EAAM+l7B,EAAgB7qjB,EAASniV,OAAQ4s4B,EAAa,kBAAkB5s4B,SACnS+q4B,YAAY,EACZ9qM,OAAQ,CACN,mBAAoB,CAClB/1pB,QAASwtU,EAAG,+BAA+B13W,OAAQ,CAAC6s4B,EAAaD,IACjE7B,YAAY,EACZI,QAAQ,EACRlrM,OAAQwpM,EAAM5ja,UAAUwna,QAE1B,QAAWlrjB,EACX,aAAc,CACZj4S,QAASvX,OAAOq62B,GAChB7B,QAAQ,EACRlrM,OAAQgtM,GAEV,YAAe,UAGnB,aAAgB,CACd/i2B,QAAS,gBACT6g2B,YAAY,EACZj10B,MAAO,WACPmqoB,OAAQ,CACN,UAAa,CACX/1pB,QAAS,iGACT6g2B,YAAY,EACZj10B,MAAO,eAKf,IAAIw30B,EAA2BH,EAAgB,IAAMD,EACjDK,EAAkC1j6B,EAAQ,iEAAiEm2B,OAAQ,CAACst4B,IACpHE,EAAkBxl2B,EAAOn+D,EAAQ,+BAA+Bm2B,OAAQ,CAACut4B,IAAmC,GAC5GE,EAAa,wEAAwEzt4B,OACrFu6B,EAAO1wD,EAAQ,0BAA0Bm2B,OAAQ,CAACmnK,EAAYqmuB,IAClE/D,EAAM5ja,UAAUjia,aAAa,SAAU,aAAc,CACnD,UAAa,CACX15B,QAASwtU,EAAG,6EAA6E13W,OAAQ,CAACyt4B,EAAYlz2B,IAC9Gww2B,YAAY,EACZI,QAAQ,EACRlrM,OAAQ,CACN,OAAU,CACR/1pB,QAASwtU,EAAG,iBAAiB13W,OAAQ,CAACyt4B,IACtC330B,MAAO,WAET,sBAAuB,CACrB5rB,QAASwtU,EAAG,aAAa13W,OAAQ,CAACwt4B,IAClCvtM,OAAQwpM,EAAM5ja,UAAUwna,QAE1B,aAAc,CACZnj2B,QAASvX,OAAOw0I,GAChB84hB,OAAQ,CACN,YAAe,OAGnB,YAAe,WAIrB,IAAIytM,EAAe,aAAa1t4B,OAC5B2t4B,EAAsB3l2B,EAAOn+D,EAAQ,+BAA+Bm2B,OAAQ,CAACut4B,IAAmC,GAChHK,EAAiB/j6B,EAAQ,qCAAqCm2B,OAAQ,CAAC2t4B,EAAqBD,IAC5FG,EAAsB7l2B,EAAOn+D,EAAQ,mEAAmEm2B,OAAQ,CAACst4B,IAA4B,GAC7IQ,EAAiBjk6B,EAAQ,qCAAqCm2B,OAAQ,CAAC6t4B,EAAqBH,IAChG,SAASK,EAA0BC,EAAeC,GAChD,MAAO,CACL,cAAiB,CACf/j2B,QAASwtU,EAAG,6BAA6B13W,OAAQ,CAACgu4B,IAClDjD,YAAY,EACZ9qM,OAAQ,CACN,gBAAiB,CACf/1pB,QAASwtU,EAAG,sCAAsC13W,OAAQ,CAACiu4B,EAAoBP,IAC/E3C,YAAY,EACZ9qM,OAAQ,CACN,YAAe,OAGnB,YAAe,UACf,WAAc,CACZ/1pB,QAAS,UACT4rB,MAAO,kBACPmqoB,OAAQwpM,EAAM5ja,UAAUwna,UAI9B,OAAU,UAEd,CACA5D,EAAM5ja,UAAUjia,aAAa,SAAU,SAAU,CAC/C,uBAAwB,CAAC,CACvB15B,QAASwtU,EAAG,4DAA4D13W,OAAQ,CAAC4t4B,IACjF7C,YAAY,EACZI,QAAQ,EACRlrM,OAAQ8tM,EAA0BH,EAAgBD,IACjD,CACDzj2B,QAASwtU,EAAG,4CAA4C13W,OAAQ,CAAC8t4B,IACjE/C,YAAY,EACZI,QAAQ,EACRlrM,OAAQ8tM,EAA0BD,EAAgBD,KAEpD,KAAQ,CACN3j2B,QAASvX,OAAOu62B,GAChB/B,QAAQ,KAGZ1B,EAAM5ja,UAAUqoa,OAASzE,EAAM5ja,UAAUp1G,GAAKg5gB,EAAM5ja,UAAUwna,MAC/D,CAzPD,CAyPG5D,GACH,SAAWA,GACT,IAAIrx3B,EAAS,8EACbqx3B,EAAM5ja,UAAUn+O,IAAM,CACpB,QAAW,mBACX,OAAU,CACRx9M,QAASvX,OAAO,aAAe,sBAAsB3yB,OAAS,IAAMoY,EAAOpY,OAAS,MAAQ,kBAAkBA,QAC9GigsB,OAAQ,CACN,KAAQ,WACR,6BAA8B,CAC5B/1pB,QAAS,4FACT6g2B,YAAY,EACZj10B,MAAO,YAET,QAAW,CACT5rB,QAAS,yCACT6g2B,YAAY,KAIlB,IAAO,CACL7g2B,QAASvX,OAAO,eAAiBva,EAAOpY,OAAS,IAAM,8BAA8BA,OAAS,OAAQ,KACtGmr4B,QAAQ,EACRlrM,OAAQ,CACN,SAAY,QACZ,YAAe,UACf,OAAU,CACR/1pB,QAASvX,OAAO,IAAMva,EAAOpY,OAAS,KACtC81D,MAAO,SAIb,SAAY,CACV5rB,QAASvX,OAAO,qDAAuDva,EAAOpY,OAAS,iBACvF+q4B,YAAY,GAEd,OAAU,CACR7g2B,QAAS9xB,EACT+y3B,QAAQ,GAEV,SAAY,CACVjh2B,QAAS,oFACT6g2B,YAAY,GAEd,UAAa,gBACb,SAAY,CACV7g2B,QAAS,kCACT6g2B,YAAY,GAEd,YAAe,aAEjBtB,EAAM5ja,UAAUn+O,IAAY,OAAEu4c,OAAOrumB,KAAO63yB,EAAM5ja,UAAUn+O,IAC5D,IAAIskpB,EAASvC,EAAM5ja,UAAUmma,OACzBA,IACFA,EAAOtp4B,IAAIyr4B,WAAW,QAAS,OAC/BnC,EAAOtp4B,IAAI0r4B,aAAa,QAAS,OAEpC,CAxDD,CAwDG3E,GACH,SAAWA,GACT,IAAItnjB,EAAW,mfACXksjB,EAAkB,6CAA6Cru4B,OAC/DzpB,EAAY,CACd2zD,QAASvX,OAAO,aAAa3yB,OAASqu4B,EAAkB,gCAAgCru4B,QACxF+q4B,YAAY,EACZ9qM,OAAQ,CACN,UAAa,CACX/1pB,QAAS,2CACT+1pB,OAAQ,CACN,YAAe,OAGnB,YAAe,OAGnBwpM,EAAM5ja,UAAUyoa,KAAO7E,EAAM5ja,UAAUnjgB,OAAO,QAAS,CACrD,OAAU,CACRwnE,QAAS,iCACT6g2B,YAAY,EACZI,QAAQ,GAEV,aAAc,CAAC505B,EAAW,CACxB2zD,QAASvX,OAAO,aAAa3yB,OAASqu4B,EAAkB,+DAA+Dru4B,QACvH+q4B,YAAY,EACZ9qM,OAAQ1ptB,EAAU0ptB,QACjB,CACD/1pB,QAASvX,OAAO,kFAAkF3yB,OAASqu4B,EAAkB,aAAaru4B,QAC1I+q4B,YAAY,EACZ9qM,OAAQ1ptB,EAAU0ptB,SAEpB,QAAW99W,EACX,SAAY,CAACsnjB,EAAM5ja,UAAU8la,MAAMh72B,SAAU,CAC3CuZ,QAAS,mBACT6g2B,YAAY,IAEd,OAAU,8IACV,SAAY,CACV7g2B,QAAS,wEACT6g2B,YAAY,GAEd,SAAY,uBAEdtB,EAAM5ja,UAAUjia,aAAa,OAAQ,SAAU,CAC7C,uBAAwB,CACtB15B,QAAS,iDACTih2B,QAAQ,EACRr10B,MAAO,UAET,KAAQ,CACN5rB,QAAS,4BACTih2B,QAAQ,KAGZ1B,EAAM5ja,UAAUjia,aAAa,OAAQ,aAAc,CACjD,WAAc,CACZ15B,QAAS,+BACT6g2B,YAAY,EACZj10B,MAAO,eAET,SAAY,CACV5rB,QAAS,kGACT+1pB,OAAQ,CACN,aAAc1ptB,EACd,QAAW4rW,EACX,YAAe,YACf,SAAY,UAGhB,OAAU,CAAC,CACTj4S,QAASvX,OAAO,gBAAgB3yB,OAASqu4B,EAAkB,0BAA0Bru4B,QACrF+q4B,YAAY,EACZ9qM,OAAQ,CACN,UAAa1ptB,EAAU0ptB,OAAO50mB,UAC9B,YAAe,KACf,SAAY,KACZ,aAAc,QAEf,CACDnhD,QAASvX,OAAO,yBAAyB3yB,OAASqu4B,EAAkB,qBAAqBru4B,QACzF+q4B,YAAY,EACZj10B,MAAO,SACPmqoB,OAAQ,CACN,UAAa1ptB,EAAU0ptB,OAAO50mB,UAC9B,OAAU,SACV,YAAe,KACf,SAAY,KACZ,aAAc,SAGlB,UAAa,CACXnhD,QAASvX,OAAO,qJAAqJ3yB,OAAOn2B,QAAQ,aAAc,WAChM,OAAOs4W,EAASniV,MAClB,IACA+q4B,YAAY,EACZ9qM,OAAQ,CACN,YAAe,QAItB,CApGD,CAoGGwpM,GACHA,EAAM5ja,UAAU0oa,WAAa9E,EAAM5ja,UAAUnjgB,OAAO,QAAS,CAC3D,aAAc,CAAC+m6B,EAAM5ja,UAAU8la,MAAM,cAAe,CAClDzh2B,QAAS,0GACT6g2B,YAAY,IAEd,QAAW,CAAC,CACV7g2B,QAAS,uBACT6g2B,YAAY,GACX,CACD7g2B,QAAS,mdACT6g2B,YAAY,IAEd,SAAY,oGACZ,OAAU,CACR7g2B,QAASvX,OAAO,aAAa3yB,OAAS,MAAS,eAAeA,OAAS,IAAM,0BAA0BA,OAAS,IAAM,4BAA4BA,OAAS,IAAM,sCAAsCA,OAAS,IAAM,gBAAgBA,OAAS,IAAM,oFAAoFA,OAAU,IAAM,YAAYA,QACrW+q4B,YAAY,GAEd,SAAY,8FAEdtB,EAAM5ja,UAAU0oa,WAAW,cAAc,GAAGrk2B,QAAU,uEACtDu/1B,EAAM5ja,UAAUjia,aAAa,aAAc,UAAW,CACpD,MAAS,CACP15B,QAASvX,OAAO,0DAA0D3yB,OAAS,KAAKA,OAAS,MAAQ,iEAAiEA,OAAS,IAAM,qIAAqIA,OAAS,IAAM,kEAAkEA,QAC/Y+q4B,YAAY,EACZI,QAAQ,EACRlrM,OAAQ,CACN,eAAgB,CACd/1pB,QAAS,4BACT6g2B,YAAY,EACZj10B,MAAO,iBACPmqoB,OAAQwpM,EAAM5ja,UAAU58b,OAE1B,kBAAmB,UACnB,cAAe,aAGnB,oBAAqB,CACnBiB,QAAS,gMACT4rB,MAAO,YAET,UAAa,CAAC,CACZ5rB,QAAS,sIACT6g2B,YAAY,EACZ9qM,OAAQwpM,EAAM5ja,UAAU0oa,YACvB,CACDrk2B,QAAS,qFACT6g2B,YAAY,EACZ9qM,OAAQwpM,EAAM5ja,UAAU0oa,YACvB,CACDrk2B,QAAS,kEACT6g2B,YAAY,EACZ9qM,OAAQwpM,EAAM5ja,UAAU0oa,YACvB,CACDrk2B,QAAS,8eACT6g2B,YAAY,EACZ9qM,OAAQwpM,EAAM5ja,UAAU0oa,aAE1B,SAAY,8BAEd9E,EAAM5ja,UAAUjia,aAAa,aAAc,SAAU,CACnD,SAAY,CACV15B,QAAS,QACTih2B,QAAQ,EACRr10B,MAAO,WAET,kBAAmB,CACjB5rB,QAAS,2EACTih2B,QAAQ,EACRlrM,OAAQ,CACN,uBAAwB,CACtB/1pB,QAAS,QACT4rB,MAAO,UAET,cAAiB,CACf5rB,QAAS,mEACT6g2B,YAAY,EACZ9qM,OAAQ,CACN,4BAA6B,CAC3B/1pB,QAAS,YACT4rB,MAAO,eAET87B,KAAM63yB,EAAM5ja,UAAU0oa,aAG1B,OAAU,YAGd,kBAAmB,CACjBrk2B,QAAS,4EACT6g2B,YAAY,EACZI,QAAQ,EACRr10B,MAAO,cAGX2z0B,EAAM5ja,UAAUjia,aAAa,aAAc,WAAY,CACrD,mBAAoB,CAClB15B,QAAS,oFACT6g2B,YAAY,EACZj10B,MAAO,cAGP2z0B,EAAM5ja,UAAUmma,SAClBvC,EAAM5ja,UAAUmma,OAAOtp4B,IAAIyr4B,WAAW,SAAU,cAChD1E,EAAM5ja,UAAUmma,OAAOtp4B,IAAI0r4B,aAAa,yNAAyNpu4B,OAAQ,eAE3Qyp4B,EAAM5ja,UAAU9oF,GAAK0sf,EAAM5ja,UAAU0oa,WACrC9E,EAAM5ja,UAAUmma,OAAS,CACvB,QAAW,CACT9h2B,QAAS,8BACTih2B,QAAQ,GAEV,OAAU,CACRjh2B,QAAS,iBACTih2B,QAAQ,GAEV,QAAW,CACTjh2B,QAAS,uHACTih2B,QAAQ,EACRlrM,OAAQ,CACN,kBAAmB,CACjB/1pB,QAAS,6BACT6g2B,YAAY,EACZI,QAAQ,EACRlrM,OAAQ,MAEV,OAAU,CACR/1pB,QAAS,kBACTih2B,QAAQ,GAEV,YAAe,eACf,cAAe,YACf,KAAQ,eAGZ,MAAS,CACPjh2B,QAAS,4BACTih2B,QAAQ,GAEV,IAAO,CACLjh2B,QAAS,uHACTih2B,QAAQ,EACRlrM,OAAQ,CACN,IAAO,CACL/1pB,QAAS,iBACT+1pB,OAAQ,CACN,YAAe,QACf,UAAa,iBAGjB,eAAgB,GAChB,aAAc,CACZ/1pB,QAAS,qCACT+1pB,OAAQ,CACN,YAAe,CAAC,CACd/1pB,QAAS,KACT4rB,MAAO,eACN,CACD5rB,QAAS,mBACT6g2B,YAAY,MAIlB,YAAe,OACf,YAAa,CACX7g2B,QAAS,YACT+1pB,OAAQ,CACN,UAAa,mBAKrB,OAAU,CAAC,CACT/1pB,QAAS,kBACT4rB,MAAO,gBACN,uBAEL2z0B,EAAM5ja,UAAUmma,OAAY,IAAE/rM,OAAO,cAAcA,OAAe,OAAIwpM,EAAM5ja,UAAUmma,OAAe,OACrGvC,EAAM5ja,UAAUmma,OAAgB,QAAE/rM,OAAO,mBAAmBA,OAASwpM,EAAM5ja,UAAUmma,OACrFvC,EAAMvj1B,MAAMtuF,IAAI,OAAQ,SAAU2hI,GACf,WAAbA,EAAIpvI,OACNovI,EAAIuD,WAAkB,MAAIvD,EAAItqH,QAAQpF,QAAQ,QAAS,KAE3D,GACA1hB,OAAOw2C,eAAe8q4B,EAAM5ja,UAAUmma,OAAOtp4B,IAAK,aAAc,CAC9Dj5C,MAAO,SAAoB6oB,EAAS6lc,GAClC,IAAIq2d,EAAsB,CAAC,EAC3BA,EAAoB,YAAcr2d,GAAQ,CACxCjuY,QAAS,oCACT6g2B,YAAY,EACZ9qM,OAAQwpM,EAAM5ja,UAAU1tD,IAE1Bq2d,EAA2B,MAAI,uBAC/B,IAAIvuM,EAAS,CACX,iBAAkB,CAChB/1pB,QAAS,4BACT+1pB,OAAQuuM,IAGZvuM,EAAO,YAAc9nR,GAAQ,CAC3BjuY,QAAS,UACT+1pB,OAAQwpM,EAAM5ja,UAAU1tD,IAE1B,IAAI71a,EAAM,CAAC,EACXA,EAAIhwB,GAAW,CACb43D,QAASvX,OAAO,wFAAwF3yB,OAAOn2B,QAAQ,MAAO,WAC5H,OAAOyI,CACT,GAAI,KACJy45B,YAAY,EACZI,QAAQ,EACRlrM,OAAQA,GAEVwpM,EAAM5ja,UAAUjia,aAAa,SAAU,QAASthE,EAClD,IAEFn6C,OAAOw2C,eAAe8q4B,EAAM5ja,UAAUmma,OAAOtp4B,IAAK,eAAgB,CAChEj5C,MAAO,SAAU2uT,EAAU+/J,GACzBsxd,EAAM5ja,UAAUmma,OAAOtp4B,IAAIu9rB,OAAO,gBAAgB/xuB,KAAK,CACrDg8E,QAASvX,OAAO,aAAa3yB,OAAS,MAAQo4Q,EAAW,IAAM,iDAAiDp4Q,OAAQ,KACxH+q4B,YAAY,EACZ9qM,OAAQ,CACN,YAAa,WACb,aAAc,CACZ/1pB,QAAS,WACT+1pB,OAAQ,CACN,MAAS,CACP/1pB,QAAS,yCACT6g2B,YAAY,EACZj10B,MAAO,CAACqiX,EAAM,YAAcA,GAC5B8nR,OAAQwpM,EAAM5ja,UAAU1tD,IAE1B,YAAe,CAAC,CACdjuY,QAAS,KACT4rB,MAAO,eACN,WAKb,IAEF2z0B,EAAM5ja,UAAUzvJ,KAAOqzjB,EAAM5ja,UAAUmma,OACvCvC,EAAM5ja,UAAU4oa,OAAShF,EAAM5ja,UAAUmma,OACzCvC,EAAM5ja,UAAUz/O,IAAMqjpB,EAAM5ja,UAAUmma,OACtCvC,EAAM5ja,UAAUghV,IAAM4iF,EAAM5ja,UAAUnjgB,OAAO,SAAU,CAAC,GACxD+m6B,EAAM5ja,UAAU6oa,KAAOjF,EAAM5ja,UAAUghV,IACvC4iF,EAAM5ja,UAAU8oa,KAAOlF,EAAM5ja,UAAUghV,IACvC4iF,EAAM5ja,UAAU+oa,IAAMnF,EAAM5ja,UAAUghV,IACtC,SAAW4iF,GACT,IAAIri6B,EAAU,oCACV2siB,EAAW,CAAC,CACd7pe,QAAS,sBACT4rB,MAAO,WACN,CACD5rB,QAAS,iCACTih2B,QAAQ,EACRJ,YAAY,GACX,CACD7g2B,QAAS,+CACTih2B,QAAQ,EACRJ,YAAY,GACX,gBAAiB,iCAChB/o2B,EAAS,6IACTq1D,EAAW,wFACXw3yB,EAAc,gBAClBpF,EAAM5ja,UAAUipa,IAAM,CACpB,UAAa,CACX5k2B,QAAS,6BACT4rB,MAAO,aAET,QAAW1uF,EACX,SAAY,sBACZ,QAAW,CACT8iE,QAAS,oEACT6g2B,YAAY,EACZ9qM,OAAQ,CACN,YAAe,OAGnB,wBAAyB,CACvB/1pB,QAAS,4DACT6g2B,YAAY,EACZj10B,MAAO,cAET,sBAAuB,CACrB5rB,QAAS,qCACT6g2B,YAAY,EACZj10B,MAAO,YAET,QAAW,CAAC,CACV5rB,QAAS,8EACT4rB,MAAO,eACPq10B,QAAQ,EACRJ,YAAY,GACX,CACD7g2B,QAAS,sIACT4rB,MAAO,YACPq10B,QAAQ,EACRJ,YAAY,GACX,CACD7g2B,QAAS,mJACT4rB,MAAO,cACPq10B,QAAQ,EACRJ,YAAY,GACX,CACD7g2B,QAAS,2EACT4rB,MAAO,mBACPq10B,QAAQ,GACP,CACDjh2B,QAAS,qDACT4rB,MAAO,mBACPq10B,QAAQ,EACRJ,YAAY,GACX,CACD7g2B,QAAS,qCACT4rB,MAAO,iBACPq10B,QAAQ,GACP,CACDjh2B,QAAS,sBACT6g2B,YAAY,GACX,aAAc,CACf7g2B,QAAS,6iBACT6g2B,YAAY,IAEd,gBAAiB,CACf7g2B,QAAS,qCACT6g2B,YAAY,GAEd,aAAc,CAAC,CACb7g2B,QAAS,qGACTih2B,QAAQ,EACRJ,YAAY,GACX,CACD7g2B,QAAS,8BACTih2B,QAAQ,EACRJ,YAAY,GACX,CACD7g2B,QAAS,gCACTih2B,QAAQ,GACP,CACDjh2B,QAAS,gCACT4rB,MAAO,6BACPq10B,QAAQ,EACRJ,YAAY,EACZ9qM,OAAQ,CACN,YAAe,OAEhB,CACD/1pB,QAAS,kCACT4rB,MAAO,6BACPq10B,QAAQ,EACRlrM,OAAQ,CACN,YAAe,OAEhB,CACD/1pB,QAAS,iHACT4rB,MAAO,6BACPq10B,QAAQ,EACRJ,YAAY,EACZ9qM,OAAQ,CACN,YAAe,OAEhB,CACD/1pB,QAAS,wBACT4rB,MAAO,mBACPq10B,QAAQ,GACP,CACDjh2B,QAAS,gCACT4rB,MAAO,CAAC,6BAA8B,oBACtCq10B,QAAQ,EACRlrM,OAAQ,CACN,YAAe,OAEhB,CACD/1pB,QAAS,wBACT4rB,MAAO,iBACPq10B,QAAQ,GACP,CACDjh2B,QAAS,gCACT4rB,MAAO,CAAC,6BAA8B,kBACtCq10B,QAAQ,EACRlrM,OAAQ,CACN,YAAe,OAEhB,CACD/1pB,QAAS,gCACT4rB,MAAO,YACPq10B,QAAQ,EACRJ,YAAY,GACX,CACD7g2B,QAAS,0CACT4rB,MAAO,CAAC,6BAA8B,aACtCq10B,QAAQ,EACRJ,YAAY,EACZ9qM,OAAQ,CACN,YAAe,OAEhB,CACD/1pB,QAAS,4CACT4rB,MAAO,cACPq10B,QAAQ,EACRJ,YAAY,GACX,CACD7g2B,QAAS,oDACT4rB,MAAO,CAAC,6BAA8B,eACtCq10B,QAAQ,EACRJ,YAAY,EACZ9qM,OAAQ,CACN,YAAe,QAGnB,SAAYlsL,EACZ,SAAY,CACV7pe,QAAS,+CACT6g2B,YAAY,EACZ9qM,OAAQ,CACN,YAAe,OAGnB,SAAY,CACV/1pB,QAAS,aACT6g2B,YAAY,GAEd,OAAU/o2B,EACV,SAAYq1D,EACZ,YAAew3yB,GAEjB,IAAIE,EAAuB,CACzB7k2B,QAAS,6FACT6g2B,YAAY,EACZ9qM,OAAQwpM,EAAM5ja,UAAUipa,KAEtB123B,EAAS,CAAC,CACZ8xB,QAAS,sCACT4rB,MAAO,gBACPq10B,QAAQ,EACRlrM,OAAQ,CACN,UAAa,CACX/1pB,QAAS,2BACT4rB,MAAO,SACPmqoB,OAAQ,CACN,YAAe,mBAIpB,CACD/1pB,QAAS,8EACT4rB,MAAO,iBACPq10B,QAAQ,EACRlrM,OAAQ,CACN,UAAa,CACX/1pB,QAAS,yCACT4rB,MAAO,SACPmqoB,OAAQ,CACN,YAAe,iBAGnB,cAAiB8uM,IAElB,CACD7k2B,QAAS,yBACT4rB,MAAO,yBACPq10B,QAAQ,GACP,CACDjh2B,QAAS,yBACT4rB,MAAO,uBACPq10B,QAAQ,GACP,CACDjh2B,QAAS,yBACT4rB,MAAO,uBACPq10B,QAAQ,EACRlrM,OAAQ,CACN,cAAiB8uM,KAGrBtF,EAAM5ja,UAAUjia,aAAa,MAAO,WAAY,CAC9C,OAAUxrD,EACV,UAAa,CACX8xB,QAAS,4IACTih2B,QAAQ,EACRlrM,OAAQ,CACN,oBAAqB,CACnB/1pB,QAAS,uBACT6g2B,YAAY,EACZ9qM,OAAQ,CACN,QAAW74tB,EACX,OAAUgxC,EACV,uBAAwB,CAAC,CACvB8xB,QAAS,+BACT4rB,MAAO,aACPq10B,QAAQ,EACRJ,YAAY,GACX,CACD7g2B,QAAS,+BACT4rB,MAAO,CAAC,aAAc,8BACtBq10B,QAAQ,EACRJ,YAAY,EACZ9qM,OAAQ,CACN,YAAe,QAGnB,SAAYlsL,EACZ,OAAU/xe,EACV,SAAYq1D,EACZ,YAAew3yB,IAGnB,UAAa,CACX3k2B,QAAS,WACT4rB,MAAO,mBAKf2z0B,EAAMvj1B,MAAMtuF,IAAI,kBAAmB,SAAU2hI,GAC3C,GAAK,MAAM1uI,KAAK0uI,EAAIpyH,MAApB,CAIAsi6B,EAAM5ja,UAAU,qBAAqB+la,kBAAkBryyB,EAAK,MAD3C,oKADjB,CAGF,GACAkwyB,EAAMvj1B,MAAMtuF,IAAI,iBAAkB,SAAU2hI,GAC1CkwyB,EAAM5ja,UAAU,qBAAqBoma,qBAAqB1yyB,EAAK,MACjE,EACD,CApRD,CAoRGkwyB,GACHA,EAAM5ja,UAAUmpa,OAAS,CACvB,QAAW,CACT9k2B,QAAS,eACT6g2B,YAAY,EACZI,QAAQ,GAEV,uBAAwB,CACtBjh2B,QAAS,sEACTih2B,QAAQ,EACRlrM,OAAQ,CACN,cAAiB,CACf/1pB,QAAS,sFACT6g2B,YAAY,EACZ9qM,OAAQ,CACN,cAAe,CACb/1pB,QAAS,sBACT6g2B,YAAY,GAEd,oBAAqB,CACnB7g2B,QAAS,kBACT4rB,MAAO,eAET87B,KAAM,OAGV,OAAU,YAGd,uBAAwB,CACtB1nD,QAAS,uCACTih2B,QAAQ,EACRr10B,MAAO,UAET,OAAU,CACR5rB,QAAS,mDACTih2B,QAAQ,GAEV,SAAY,CACVjh2B,QAAS,4CACT6g2B,YAAY,GAEd,aAAc,CACZ7g2B,QAAS,mBACT6g2B,YAAY,GAEd,UAAa,CACX7g2B,QAAS,2BACT6g2B,YAAY,EACZj10B,MAAO,CAAC,aAAc,eACtBmqoB,OAAQ,CACN,YAAe,OAGnB,QAAW,wNACX,QAAW,shBACX,QAAW,0BACX,OAAU,mJACV,SAAY,uDACZ,YAAe,iBAEjBwpM,EAAM5ja,UAAUmpa,OAAO,wBAAwB/uM,OAAsB,cAAEA,OAAOrumB,KAAO63yB,EAAM5ja,UAAUmpa,OACrGvF,EAAM5ja,UAAU6oF,GAAK+6U,EAAM5ja,UAAUmpa,OACrC,SAAWvF,GACTA,EAAM5ja,UAAUn1E,KAAO+4e,EAAM5ja,UAAUnjgB,OAAO,QAAS,CACrD,QAAW,CACTwnE,QAAS,8BACTih2B,QAAQ,GAEV,aAAc,CACZjh2B,QAAS,4EACT6g2B,YAAY,EACZ9qM,OAAQ,CACN,YAAe,UAGnB,QAAW,mSACX,SAAY,4EACZ,YAAe,iBAEjBwpM,EAAM5ja,UAAUjia,aAAa,OAAQ,WAAY,CAC/C,eAAgB,CACd15B,QAAS,KACT4rB,MAAO,iBAGX,IAAIk40B,EAAgB,CAClB9j2B,QAAS,oDACT6g2B,YAAY,EACZ9qM,OAAQ,CACN,QAAW,CACT/1pB,QAAS,uBACT6g2B,YAAY,EACZ9qM,OAAQwpM,EAAM5ja,UAAUn1E,MAE1B,UAAa,CACXxmX,QAAS,WACT4rB,MAAO,wBAIN2z0B,EAAM5ja,UAAUn1E,KAAK//X,SAC5B,IAAIs+2B,EAAoB,MAAQ,CAAC,oDAAoDjv4B,OAAQ,sDAAsDA,OAAQ,sDAAsDA,OAAQ,0DAA0DA,OAAQ,kDAAkDA,QAAQkW,KAAK,KAAO,IAC7Vg53B,EAAa,sEAAsElv4B,OACvFyp4B,EAAM5ja,UAAUjia,aAAa,OAAQ,UAAW,CAC9C,gBAAiB,CAAC,CAChB15B,QAASvX,OAAO,KAAK3yB,OAASiv4B,EAAoB,mBAAmBjv4B,QACrEmr4B,QAAQ,EACRlrM,OAAQ,CACN,cAAiB+tM,EACjB,MAAS,YAEV,CACD9j2B,QAAS,iGACT6g2B,YAAY,EACZI,QAAQ,EACRlrM,OAAQ,CACN,cAAiB+tM,EACjB,MAAS,aAGb,SAAY,+BACZ,OAAU,CAAC,CACT9j2B,QAASvX,OAAO,YAAY3yB,OAASkv4B,GACrCnE,YAAY,EACZI,QAAQ,GACP,CACDjh2B,QAASvX,OAAO,oBAAoB3yB,OAASkv4B,EAAa,aAAalv4B,QACvE+q4B,YAAY,EACZI,QAAQ,IAEV,oBAAqB,CACnBjh2B,QAAS,gCACT6g2B,YAAY,EACZ9qM,OAAQ,CACN,SAAY,SACZ,QAAW,UACX,aAAc,OACd,YAAe,SAIrBwpM,EAAM5ja,UAAUjia,aAAa,OAAQ,SAAU,CAC7C,iBAAkB,CAAC,CACjB15B,QAASvX,OAAO,cAAc3yB,OAASiv4B,GACvC9D,QAAQ,EACRlrM,OAAQ,CACN,cAAiB+tM,EACjB,OAAU,YAEX,CACD9j2B,QAAS,oEACTih2B,QAAQ,EACRlrM,OAAQ,CACN,cAAiB+tM,EACjB,OAAU,YAEX,CACD9j2B,QAAS,kDACT4rB,MAAO,iBACPq10B,QAAQ,EACRlrM,OAAQ,CACN,UAAa,CACX/1pB,QAAS,kCACT+1pB,OAAQ,CACN,OAAU,QACV,YAAe,aAGnB,cAAiB+tM,EACjB,OAAU,YAEX,CACD9j2B,QAAS,oDACT4rB,MAAO,iBACPq10B,QAAQ,EACRlrM,OAAQ,CACN,UAAa,CACX/1pB,QAAS,oCACT+1pB,OAAQ,CACN,OAAU,QACV,YAAe,iBAGnB,OAAU,aAGd,kBAAmB,CAAC,CAClB/1pB,QAASvX,OAAO,KAAK3yB,OAASiv4B,GAC9B9D,QAAQ,EACRlrM,OAAQ,CACN,cAAiB+tM,EACjB,QAAW,CACT9j2B,QAAS,UACT4rB,MAAO,YAGV,CACD5rB,QAAS,0DACTih2B,QAAQ,EACRlrM,OAAQ,CACN,cAAiB+tM,EACjB,QAAW,CACT9j2B,QAAS,UACT4rB,MAAO,sBAKR2z0B,EAAM5ja,UAAUn1E,KAAKt4Y,OAC5Bqx3B,EAAM5ja,UAAUjia,aAAa,OAAQ,SAAU,CAC7C,QAAW,+OACX,SAAY,iCAEd6l0B,EAAM5ja,UAAU00K,GAAKkvP,EAAM5ja,UAAUn1E,IACtC,CAxJD,CAwJG+4e,GACH196B,OAAO096B,MAAQD,EACRC,CACT,CAl4DgB,MAk4Dd356B,OAAWA,GAEPynO,EAAS,SAAAtwO,GAAI,OAAI,SAAAqjzB,GAAM,OAAIA,EAAOl6yB,QAAQxB,IAAI3H,EAAM,CAAD,EAWnDko7B,EAAiB53sB,EAAO,wBACxB63sB,EAAmB73sB,EAAO,6BAE1B3oO,EAAM,SAAA07yB,GAAM,OAAIppB,EAAOuoJ,OAAS2F,EAAiB9kI,GAAUppB,EAAOuoJ,MAAQF,CAAQ,EAElF8F,EAAe,SAAAz15B,GACnB,OAAO2/vB,EAAc3/vB,IAAyB,QAAjBA,EAAI6pF,WAA8D,IAAxC7pF,EAAIrD,UAAUntB,QAAQ,YAC/E,EAEMkm7B,EAAwB,SAAAhlI,GAC5B,IAAM15vB,EAAO05vB,EAAOx8hB,UAAYw8hB,EAAOx8hB,UAAUyxd,UAAY,KAC7D,OAAO8vM,EAAaz+3B,GAAQupuB,EAASpyvB,KAAK6oB,GAAQupuB,EAAS/gX,MAC7D,EAmEMvma,EAAO,SAAAy3yB,GACX,IAzkEe7gzB,EAykETo8gB,EA5Ca,SAAAykS,GACnB,IA+BMilI,EAAkBJ,EAAe7kI,GACvC,OAAOilI,GAhCkB,CAAC,CACxBxw5B,KAAM,WACNt1B,MAAO,UACN,CACDs1B,KAAM,aACNt1B,MAAO,cACN,CACDs1B,KAAM,MACNt1B,MAAO,OACN,CACDs1B,KAAM,MACNt1B,MAAO,OACN,CACDs1B,KAAM,OACNt1B,MAAO,QACN,CACDs1B,KAAM,SACNt1B,MAAO,UACN,CACDs1B,KAAM,OACNt1B,MAAO,QACN,CACDs1B,KAAM,IACNt1B,MAAO,KACN,CACDs1B,KAAM,KACNt1B,MAAO,UACN,CACDs1B,KAAM,MACNt1B,MAAO,OAIX,CAUoB+l7B,CAAallI,GACzBmlI,EAAkBv/3B,EAAK21d,GAAWg1N,MA1kEzBpxuB,EA0kEuC,GAzkE/C,WACL,OAAOA,CACT,GAukE2D,SAAAo9C,GAAC,OAAIA,EAAEp9C,KAAK,GACjEim7B,EAXmB,SAACplI,EAAQjukB,GAElC,OADaizsB,EAAsBhlI,GACvBzvE,KAAK,kBAAMx+f,CAAQ,EAAE,SAAAjtO,GAC/B,IAAMizG,EAAUjzG,EAAEmnB,UAAUxrB,MAAM,kBAClC,OAAOs3G,EAAUA,EAAQ,GAAKg6H,CAChC,EACF,CAK0BszsB,CAAmBrlI,EAAQmlI,GAC7C5nI,EApDe,SAAAyC,GAErB,OADaglI,EAAsBhlI,GACvBv7uB,KAAK,SAAA3/D,GAAC,OAAI+qxB,EAASxquB,KAAKvgD,EAAE2lC,YAAY,GAAEwksB,MAAM,GAC5D,CAiDsBq2M,CAAetlI,GACnCA,EAAOjzD,cAAcxkvB,KAAK,CACxByzF,MAAO,0BACPx3F,KAAM,QACNm0D,KAAM,CACJ94D,KAAM,QACNkkB,MAAO,CAAC,CACNlkB,KAAM,UACNlD,KAAM,WACNgzB,MAAO,WACP5L,MAAOw3f,GACN,CACD17gB,KAAM,WACNlD,KAAM,OACNgzB,MAAO,eAGX2oQ,QAAS,CAAC,CACRz4R,KAAM,SACNlD,KAAM,SACN83B,KAAM,UACL,CACD50B,KAAM,SACNlD,KAAM,OACN83B,KAAM,OACNk4tB,SAAS,IAEXE,YAAa,CACXv+nB,SAAU82zB,EACVvo6B,KAAM0gyB,GAERw4H,SAAU,SAAAjkyB,GACR,IAAM7tI,EAAO6tI,EAAI71G,WAtGE,SAAC+jxB,EAAQ1xrB,EAAUzxG,GAC1C,IAAMoic,EAAM+gW,EAAO/gW,IACnB+gW,EAAOj1D,YAAYyB,SAAS,WAC1B,IAAMlmsB,EAAO0+3B,EAAsBhlI,GAEnC,OADAnjyB,EAAO+6rB,EAASujG,IAAIl3uB,OAAOpnD,GACpBypC,EAAKiqrB,KAAK,WACfyvE,EAAO90D,cAAc,mCAAqC58nB,EAAW,KAAOzxG,EAAO,UACnF,IAAM0o6B,EAAStme,EAAIh9a,OAAO,UAAU,GACpCg9a,EAAIs5V,UAAUgtI,EAAQ,KAAM,MAC5BvlI,EAAOx8hB,UAAUvhP,OAAOsj5B,EAC1B,EAAG,SAAAzg7B,GACDm6c,EAAIs5V,UAAUzzyB,EAAG,QAAS,YAAcwpH,GACxCxpH,EAAEylC,UAAY1tB,EACdvY,EAAI07yB,GAAQigI,iBAAiBn76B,GAC7Bk7yB,EAAOx8hB,UAAUvhP,OAAOn9B,EAC1B,EACF,EACF,CAsFM0g7B,CAAiBxlI,EAAQ/7yB,EAAKqqH,SAAUrqH,EAAK4Y,MAC7Ci1H,EAAIzmH,OACN,GAEJ,EAcMyrC,GADQpN,EACK,aADA,SAAA7kD,GAAC,OAAIA,EAAE0a,QAAQmqC,EAAG,GAAI,GAGrCxX,EAAS68rB,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,sBAsDlCwv6B,EAAkB,SAACp2H,GAAM,IAAEylI,EAAS3j7B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAGyoH,EAAI,OAAK,SAAAunB,GACpD,IAAM+zrB,EAAc,WAClB/zrB,EAAIqmxB,WAAWn4G,EAAOx8hB,UAAU44hB,cAChCqpI,EAAU3zyB,EACZ,EAGA,OAFAkuqB,EAAOlnuB,GAAG,aAAc+svB,GACxBA,IACO,WACL7lB,EAAOl7tB,IAAI,aAAc+gvB,EAC3B,CACF,CAAE,EAwBAisG,EAASxk6B,IAAI,aAAc,SAAA0yyB,IA1OV,SAAAA,GACjB,IAAMspH,EAAiBtpH,EAAOl6yB,QAAQy0F,SACtC+u0B,EAAe,uBAAwB,CACrCz9K,UAAW,aAEby9K,EAAe,4BAA6B,CAC1Cz9K,UAAW,UACX5ouB,SAAS,GAEb,CAkOIsm3B,CAAWvpF,GAvFD,SAAAA,GACZA,EAAOlnuB,GAAG,aAAc,SAAAp8E,GACtB,IAAMuid,EAAM+gW,EAAO/gW,IACbyme,EAAOzme,EAAIh9a,OAAO,6BAA8BvlC,EAAE4pD,MACxDpU,EAAOupB,KAAKvpB,EAAOkkvB,KAAKsvJ,EAAMX,GAAe,SAAAz15B,GAC3C,IAII2wD,EAJEpjE,EAAOyS,EAAImb,YAKjB,IAJAw0a,EAAIs5V,UAAUjpxB,EAAK,QAASwnC,EAAKmoZ,EAAIm5V,UAAU9oxB,EAAK,WACpD2vb,EAAIs5V,UAAUjpxB,EAAK,kBAAmB,MACtC2vb,EAAIs5V,UAAUjpxB,EAAK,uBAAwB,MAEpC2wD,EAAQ3wD,EAAIwmI,YACjBxmI,EAAIy0B,YAAYk8B,GAEFg/X,EAAI3xc,IAAIgiB,EAAK,QACrBmb,YAAc5tB,CACxB,EACF,GACAmjyB,EAAOlnuB,GAAG,aAAc,WACtB,IAAMmmY,EAAM+gW,EAAO/gW,IACb0me,EAAyBzz4B,EAAOkkvB,KAAKn3U,EAAIh9a,OAAO,OAAQ,SAAA3S,GAC5D,OAAOy15B,EAAaz15B,IAAuD,SAA/C2vb,EAAIm5V,UAAU9oxB,EAAK,uBACjD,GACIq25B,EAAuBrn7B,QACzB0hzB,EAAOj1D,YAAYyB,SAAS,WAC1Bt6sB,EAAOupB,KAAKkq3B,EAAwB,SAAAr25B,GAClC,IAAIq5B,EACJzW,EAAOupB,KAAKwjZ,EAAIh9a,OAAO,KAAM3S,GAAM,SAAAA,GACjC2vb,EAAI1/b,QAAQygyB,EAAOzyD,SAAShnsB,eAAe,MAAOj3B,EACpD,GACAA,EAAIib,UAAY00a,EAAIh7Y,OAAkC,QAA1Btb,EAAKr5B,EAAImb,mBAAqC,IAAZke,EAAgBA,EAAK,IACnFrkD,EAAI07yB,GAAQigI,iBAAiB3w5B,GAC7B2vb,EAAIs5V,UAAUjpxB,EAAK,wBAAwB,GAC3CA,EAAIrD,UAAY6qC,EAAKxnC,EAAIrD,UAC3B,EACF,EAEJ,GACA+zxB,EAAOlnuB,GAAG,UAAW,WACnBknuB,EAAOtvuB,OAAOgnxB,cAAc,MAAO,SAAA1+uB,GAEjC,IADA,IAAIrwD,EACK9pD,EAAI,EAAG09C,EAAIy8D,EAAM16G,OAAQO,EAAI09C,EAAG19C,IAAK,CAC5C,IAAMynD,EAAO0yD,EAAMn6G,IAC4F,KAA3D,QAA7B8pD,EAAKrC,EAAK2pB,KAAK,gBAAkC,IAAZtnB,EAAgBA,EAAK,IAAI7pD,QAAQ,eAE3FwnD,EAAK2pB,KAAK,kBAAmB,SAC7B3pB,EAAK2pB,KAAK,uBAAwB,SAEtC,CACF,EACF,EACF,CAsCI4iZ,CAAMmtV,GArBO,SAAAA,GACf,IAAM7gf,EAAW,WAAH,OAAS6gf,EAAO/0D,YAAY,aAAc,EACxD+0D,EAAO5/X,GAAG5zZ,SAAS274B,gBAAgB,aAAc,CAC/Chk5B,KAAM,cACNq4F,QAAS,0BACT2iN,WACA8okB,QAASmuC,EAAgBp2H,EAAQ,SAAAluqB,GAC/BA,EAAIq9rB,UAXoB,SAAAnvB,GAC5B,IAAM15vB,EAAO05vB,EAAOx8hB,UAAU6ud,WAC9B,OAAO2tE,EAAO/gW,IAAI1qa,GAAG+R,EAAM,0BAC7B,CAQoBs/3B,CAAsB5lI,GACtC,KAEFA,EAAO5/X,GAAG5zZ,SAAS874B,YAAY,aAAc,CAC3C7z4B,KAAM,iBACNtQ,KAAM,cACNg7S,WACA8okB,QAASmuC,EAAgBp2H,IAE7B,CAMIzltB,CAASyltB,GAzGM,SAAAA,GACjBA,EAAO1yD,WAAW,aAAc,WAC9B,IAAMhnsB,EAAO05vB,EAAOx8hB,UAAUyxd,UAC1B+qE,EAAOx8hB,UAAUwne,eAAiB+5L,EAAaz+3B,GACjD/9C,EAAKy3yB,GAELA,EAAO9qT,UAAU7uc,OAAO,OAE5B,EACF,CAiGIw41B,CAAW7+F,GACXA,EAAOlnuB,GAAG,WAAY,SAAA8tS,GAChBm+jB,EAAan+jB,EAAGh+W,SAClBL,EAAKy3yB,EAET,EACF,EAKL,CAjvED,GAsvEA,WAGI,IAgCiB7gzB,EAhCb+yC,EAAS68rB,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,yBAuBlCioxB,EAAe,SAAAhvxB,GAAI,OAAI,SAAAV,GAAK,cAAWA,IAAUU,CAAK,CAAD,EACrDizE,EAFW,SAAAjzE,GAAI,OAAI,SAAAV,GAAK,OAZf,SAAAyV,GACb,IATgB+vC,EAAGtF,EACfsJ,EAQEptC,SAAW3G,EACjB,OAAU,OAANA,EACK,OACQ,WAAN2G,GAAkBhH,MAAMC,QAAQI,GAClC,QACQ,WAAN2G,IAAuCshD,EAdlClY,EAcsB/vC,EAAeurC,GAdlCd,EAcsB99C,QAZZzD,UAYkCqiD,EAAMwiW,cAAc9lV,KAThD,QAAxBlU,EAAKhE,EAAEtF,mBAAqC,IAAZsJ,OAAqB,EAAIA,EAAGhsD,QAAU0iD,EAAY1iD,MAUpF,SAEA4e,EAHwC,IAACshD,EAAG1c,CAKvD,CACkCyoB,CAAOzpE,KAAWU,CAAK,CAAD,CAEvC+uxB,CAAS,UACpBnzmB,EAAYozmB,EAAa,WAEzBI,EAAgB,SAAA7pxB,GAAC,OADJ,SAAAA,GAAC,OAAIA,OAA8B,CAC1B4pxB,CAAW5pxB,EAAG,EACpCklD,EAAaukuB,EAAa,YAC1Bp3pB,EAAWo3pB,EAAa,UAQxBe,GALWzwxB,GAKM,EAJd,WACL,OAAOA,CACT,GAII0wxB,EAAQ,WACZ,SAAAA,EAAYz3uB,EAAKj5C,GAAO8Y,EAAA,KAAA43wB,GACtB/vxB,KAAKs4C,IAAMA,EACXt4C,KAAKX,MAAQA,CACf,CAAC,OAAAyZ,EAAAi3wB,EAAA,EAAAzuxB,IAAA,OAAAjC,MAOD,SAAK2wxB,EAAQC,GACX,OAAIjwxB,KAAKs4C,IACA23uB,EAAOjwxB,KAAKX,OAEZ2wxB,GAEX,GAAC,CAAA1uxB,IAAA,SAAAjC,MACD,WACE,OAAOW,KAAKs4C,GACd,GAAC,CAAAh3C,IAAA,SAAAjC,MACD,WACE,OAAQW,KAAKs4C,GACf,GAAC,CAAAh3C,IAAA,MAAAjC,MACD,SAAI6wxB,GACF,OAAIlwxB,KAAKs4C,IACAy3uB,EAASpyvB,KAAKuyvB,EAAOlwxB,KAAKX,QAE1B0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,OAAAjC,MACD,SAAK8wxB,GACH,OAAInwxB,KAAKs4C,IACA63uB,EAAOnwxB,KAAKX,OAEZ0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAOjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACpC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAQjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACrC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAKjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,OACvBW,KAEA+vxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,QAAAjC,MACD,SAAMovI,GACJ,OAAOzuI,KAAKs4C,IAAMt4C,KAAKX,MAAQovI,CACjC,GAAC,CAAAntI,IAAA,KAAAjC,MACD,SAAGovI,GACD,OAAOzuI,KAAKs4C,IAAMt4C,KAAOyuI,CAC3B,GAAC,CAAAntI,IAAA,aAAAjC,MACD,SAAW+wxB,GACT,OAAOpwxB,KAAKs4C,IAAMt4C,KAAKX,MAAQ+wxB,GACjC,GAAC,CAAA9uxB,IAAA,UAAAjC,MACD,SAAQ+wxB,GACN,OAAOpwxB,KAAKs4C,IAAMt4C,KAAOowxB,GAC3B,GAAC,CAAA9uxB,IAAA,WAAAjC,MACD,SAASsK,GACP,GAAK3J,KAAKs4C,IAGR,OAAOt4C,KAAKX,MAFZ,MAAM,IAAIK,MAAMiK,QAAyCA,EAAU,0BAIvE,GAAC,CAAArI,IAAA,YAAAjC,MAID,WACE,OAAOW,KAAKs4C,IAAMt4C,KAAKX,MAAQ,IACjC,GAAC,CAAAiC,IAAA,iBAAAjC,MACD,WACE,OAAOW,KAAKX,KACd,GAAC,CAAAiC,IAAA,OAAAjC,MACD,SAAKgxxB,GACCrwxB,KAAKs4C,KACP+3uB,EAAOrwxB,KAAKX,MAEhB,GAAC,CAAAiC,IAAA,UAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,CAACt4C,KAAKX,OAAS,EACnC,GAAC,CAAAiC,IAAA,WAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,QAAQ92C,OAAOxB,KAAKX,MAAO,KAAO,QACtD,IAAC,EAAAiC,IAAA,OAAAjC,MApFD,SAAYA,GACV,OAAO,IAAI0wxB,GAAS,EAAM1wxB,EAC5B,GAAC,CAAAiC,IAAA,OAAAjC,MACD,WACE,OAAO0wxB,EAAShhD,aAClB,GAAC,CAAAztuB,IAAA,OAAAjC,MA4DD,SAAYA,GACV,OAAO8vxB,EAAc9vxB,GAAS0wxB,EAASpyvB,KAAKt+B,GAAS0wxB,EAAS/gX,MAChE,IAAC,CAxEW,GA2Fd+gX,EAAShhD,cAAgB,IAAIghD,GAAS,GAEtC,IASMp0tB,EAAO,SAACkoM,EAAI1+P,GAChB,IAAK,IAAIpG,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAE7CoG,EADU0+P,EAAG9kQ,GACRA,EACP,CACF,EAsCMywuB,EAAU,SAAAhprB,GACd,GAAIA,QACF,MAAM,IAAI9mD,MAAM,oCAElB,MAAO,CACLy/c,IAAK34Z,EAET,EAEMuyuB,EAAe,CACnB1pD,SA/Be,SAACrjX,EAAMrgD,GACtB,IACMnhS,GADMmhS,GAAS1lT,UACL6F,cAAc,OAE9B,GADA0e,EAAIC,UAAYuhV,GACXxhV,EAAIw6P,iBAAmBx6P,EAAI7J,WAAWniC,OAAS,EAAG,CACrD,IAAMmL,EAAU,wCAEhB,MADA7M,QAAQC,MAAM4M,EAASqiX,GACjB,IAAItsX,MAAMiK,EAClB,CACA,OAAO6luB,EAAQhlsB,EAAI7J,WAAW,GAChC,EAsBE2usB,QArBc,SAACh3rB,EAAKqzR,GACpB,IACMnlR,GADMmlR,GAAS1lT,UACJ6F,cAAcwsB,GAC/B,OAAOk3rB,EAAQhprB,EACjB,EAkBE+orB,SAjBe,SAAC56sB,EAAMg3S,GACtB,IACMnlR,GADMmlR,GAAS1lT,UACJwgC,eAAe9xB,GAChC,OAAO66sB,EAAQhprB,EACjB,EAcEgprB,UACAC,UANgB,SAACupD,EAAQlkxB,EAAGC,GAAC,OAAKg7wB,EAASxquB,KAAKyzuB,EAAO75U,IAAIzJ,iBAAiB5gc,EAAGC,IAAI5F,IAAIqguB,EAAS,GAS5F/6rB,EAAK,SAACmiE,EAAS0hB,GACnB,IAAM6mV,EAAMvoW,EAAQuoW,IACpB,GA3Cc,IA2CVA,EAAIn0X,SACN,OAAO,EAEP,IAAMm+F,EAAOg2R,EACb,QAAqBz5c,IAAjByjL,EAAKlxE,QACP,OAAOkxE,EAAKlxE,QAAQqgB,GACf,QAA+B5yH,IAA3ByjL,EAAKmojB,kBACd,OAAOnojB,EAAKmojB,kBAAkBh5mB,GACzB,QAAmC5yH,IAA/ByjL,EAAKoojB,sBACd,OAAOpojB,EAAKoojB,sBAAsBj5mB,GAC7B,QAAgC5yH,IAA5ByjL,EAAKqojB,mBACd,OAAOrojB,EAAKqojB,mBAAmBl5mB,GAE/B,MAAM,IAAI54H,MAAM,iCAGtB,EAEkB,oBAAXiC,OAAyBA,OAAS0wC,SAAS,eAATA,GAEzC,IAKM07C,EAAS,SAAAtyE,GAAC,OAAI,SAAAm7F,GAAO,OADd,SAAAA,GAAO,OAAIA,EAAQuoW,IAAIn0X,QAAS,CACdjrF,CAAK62G,KAAan7F,CAAE,CAAD,EAC5CypW,EAAYn3R,EArEF,GAsEVo3R,EAASp3R,EArEF,GAsEP47sB,EAAa57sB,EAzEF,GA0EXgxsB,EAAqBhxsB,EAzED,IA+EpBg41B,EAAa,SAAAnv0B,GAAO,OA1Gd,SAACitJ,EAAI1+P,GAGf,IAFA,IAAM1G,EAAMolQ,EAAGrlQ,OACTorD,EAAI,IAAIn1C,MAAMhW,GACXM,EAAI,EAAGA,EAAIN,EAAKM,IAAK,CAC5B,IAAM+V,EAAI+uP,EAAG9kQ,GACb6qD,EAAE7qD,GAAKoG,EAAE2P,EAAG/V,EACd,CACA,OAAO6qD,CACT,CAkG8Bz6C,CAAIynG,EAAQuoW,IAAIx+a,WAAYo4vB,EAAavpD,QAAS,EAU1EjruB,EAAM,SAACqyG,EAASt1G,EAAKjC,IARZ,SAAC8/c,EAAK79c,EAAKjC,GACxB,KAAI2zE,EAAS3zE,IAAUs8K,EAAUt8K,IAAUs4H,EAASt4H,IAIlD,MADAvC,QAAQC,MAAM,sCAAuCuE,EAAK,YAAajC,EAAO,cAAe8/c,GACvF,IAAIz/c,MAAM,kCAHhBy/c,EAAInoW,aAAa11G,EAAKjC,EAAQ,GAKlC,CAEEq4xB,CAAO9grB,EAAQuoW,IAAK79c,EAAKjC,EAC3B,EACM8pB,EAAS,SAACytF,EAASt1G,GACvBs1G,EAAQuoW,IAAIvqW,gBAAgBtzG,EAC9B,EAIM4iI,EADY15E,EAAW0yN,QAAQl/Q,UAAUkvO,eAAiB1iL,EAAW4sD,KAAKp5G,UAAUkmI,aAC1D,SAAAtnI,GAAC,OAAIm8xB,EAAavpD,QAAQ5yuB,EAAEuid,IAAIj7U,cAAc,EArBtD,SAAAm1pB,GAAG,OAAIsQ,EAAWtQ,GAAOA,GADnCzirB,EAC+CyirB,EADpCN,EAAavpD,QAAQ54nB,EAAQuoW,IAAI9uC,gBAA5C,IAAAz5T,CACoD,EAsB5DouC,EAAgB,SAAApoJ,GACpB,IAJmBy8xB,EAIbzvuB,EAAIs6E,EAAYtnI,GACtB,OAL0BmiyB,EAAP1F,EAKCzvuB,IALiCuluB,EAAckK,EAAIl6U,IAAIn9b,MAKlD+twB,EAASpyvB,KAAKisB,GAAKmmuB,EAAS/gX,MACvD,EACM+qX,EAAgB,SAAAn9xB,GAAC,OAAIm8xB,EAAavpD,QAAQ5yuB,EAAEuid,IAAIn9b,KAAM,EAEtDk4wB,EAAS,SAAAtjrB,GACb,IAAMuoW,EAAMh6F,EAAOvuQ,GAAWA,EAAQuoW,IAAIpnW,WAAanB,EAAQuoW,IAC/D,GAAIA,SAA2D,OAAtBA,EAAI9uC,cAC3C,OAAO,EAET,IA9OgBk/W,EAAKC,EA8Ofnie,EAAM8xJ,EAAI9uC,cAChB,OAAOrrR,EAAc+zoB,EAAavpD,QAAQrwR,IAAMsxR,KAAK,kBAAMpjb,EAAIx0P,KAAKokD,SAASkiW,EAAI,GA/OjEowU,EA+O4E2K,EA/OvE1K,EA+O+EuK,EA/OvE,SAAAz0xB,GAAC,OAAIiqxB,EAAIC,EAAIlqxB,GAAI,GAgPhD,EAiBMu2I,EAAW,SAAC8vL,EAAOrzM,EAAU8jQ,GAAM,OAftB,SAACzwD,EAAO1lO,EAAWm2R,GAGpC,IAFA,IAAIxlR,EAAU+0N,EAAMwzI,IACd3yc,EAAOg+C,EAAW4xU,GAAUA,EAAS0zZ,EACpCl5qB,EAAQmB,YAAY,CACzBnB,EAAUA,EAAQmB,WAClB,IAAMn6E,EAAKm7vB,EAAavpD,QAAQ54nB,GAChC,GAAI3Q,EAAUroE,GACZ,OAAOmyvB,EAASpyvB,KAAKC,GAChB,GAAIpxB,EAAKoxB,GACd,KAEJ,CACA,OAAOmyvB,EAAS/gX,MAClB,CAE8Ciqd,CAAWttjB,EAAO,SAAA/uU,GAAC,OAAI63C,EAAG73C,EAAG07H,EAAS,EAAE8jQ,EAAQ,EAUxF++Z,EAAoB,SAACh8U,EAAK3+b,GAAQ,OARpB,SAAA2+b,GAAG,YAAkBz5c,IAAdy5c,EAAIj/b,OAAuBsqC,EAAW20Z,EAAIj/b,MAAMQ,iBAAkB,CAQhD8qD,CAAY2zY,GAAOA,EAAIj/b,MAAMQ,iBAAiBF,GAAY,EAAG,EAEpGwl6B,EAAe,SAAApv0B,GAAO,MAAkC,QARlD,SAACA,EAASp2F,GACpB,IAAM2+b,EAAMvoW,EAAQuoW,IAEdv1Z,EADSjoD,OAAOigB,iBAAiBu9b,GACtBz+b,iBAAiBF,GAClC,MAAa,KAANopC,GAAaswuB,EAAOtjrB,GAA8ChtD,EAAnCuxuB,EAAkBh8U,EAAK3+b,EAC/D,CAGgChc,CAAIoyG,EAAS,aAAyB,MAAQ,KAAM,EAI9E35B,EAAW,SAAC0uP,EAAOrzM,GAAQ,OAFd,SAACqzM,EAAO1lO,GAAS,OA3JrB,SAAC49J,EAAIiye,GAElB,IADA,IAAMlsrB,EAAI,GACD7qD,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAC7C,IAAM+V,EAAI+uP,EAAG9kQ,GACT+2uB,EAAKhhuB,EAAG/V,IACV6qD,EAAE9lD,KAAKgR,EAEX,CACA,OAAO80C,CACT,CAkJyC7yB,CAAOgv5B,EAAWp6mB,GAAQ1lO,EAAW,CAExCyzrB,CAAW/td,EAAO,SAAA/uU,GAAC,OAAI63C,EAAG73C,EAAG07H,EAAS,EAAE,EAExE2tzB,EAAmB,SAAArv0B,GAAO,OArEjB,SAAAA,GAAO,OAAIm5qB,EAASxquB,KAAKqxD,EAAQuoW,IAAIpnW,YAAY5oG,IAAI4pxB,EAAavpD,QAAS,CAqEtDtprB,CAAO0wD,GAAS7/E,OAAOmuV,EAAW,EAKhE6qhB,EA9EQ,SAAAz31B,GAAG,OAAI,SAAA17C,GAAC,OAAIsoX,EAAUtoX,IAAWA,EAT3Buid,IAAI9lW,SACb35F,gBAQ2C44B,CAAI,CAAD,CA8EtCm/uB,CAAM,MACnByuJ,EAAmB,SAAC/me,EAAKoiE,EAAQjyd,GACrCqM,EAAK4ld,EAAQ,SAAAn/R,GACX,IAAM+jsB,EAAeptJ,EAAavpD,QAAQptf,GACpCgksB,EAAyBr2C,EAAWo2C,GACpCE,EATiB,SAACzv0B,EAASm5xB,GAEnC,OAD0BA,EAAal0vB,EAASjlC,EAAS,SAAWm5qB,EAASpyvB,KAAKi5E,IACzDu4nB,MAAMv4nB,EACjC,CAM4B0v0B,CAAmBH,EAAcC,GAC3BH,EAAiBI,GACzB1q3B,KAAK,SAAAzV,GAWzB,GAVAi5Z,EAAI27V,SAASurI,EAAgBlne,IAAK,YAAa,MACvB6me,EAAa9/3B,KACboJ,EACtBnmC,EAAOk95B,EAAiB,OAExB9h7B,EAAI8h7B,EAAiB,MAAO/23B,GAE1B023B,EAAaK,KAAqB/23B,GACpC6vZ,EAAI27V,SAASurI,EAAgBlne,IAAK,YAAa7vZ,GAE7C823B,EAAwB,CAC1B,IAAMG,EAAYtp2B,EAASop2B,EAAiB,qBAC5C1q3B,EAAK4q3B,EAAW,SAAA33qB,GACdzlP,EAAOylP,EAAU,OACjBuwM,EAAI27V,SAASlsiB,EAASuwM,IAAK,YAAa,KAC1C,EACF,CACF,EACF,EACF,EACMqne,EAAS,SAACtmI,EAAQ5wvB,GAClB4wvB,EAAOx8hB,UAAU44hB,eACnB4pI,EAAiBhmI,EAAO/gW,IAAK+gW,EAAOx8hB,UAAU6qkB,oBAAqBj/xB,GACnE4wvB,EAAO6lB,cAEX,EAWM0gH,EAAuB,SAACvmI,EAAQ5wvB,GAAG,OAAK,SAAA0iF,GAC5C,IAAMoiyB,EAAoB,SAAAx36B,GACxB,IAAMg6G,EAAUmirB,EAAavpD,QAAQ5yuB,EAAEg6G,SACvCo7B,EAAIq9rB,UAAU22G,EAAapv0B,KAAatnD,GACxC0iF,EAAIqmxB,WAAWn4G,EAAOx8hB,UAAU44hB,aAClC,EAGA,OAFA4D,EAAOlnuB,GAAG,aAAco71B,GACxBpiyB,EAAIqmxB,WAAWn4G,EAAOx8hB,UAAU44hB,cACzB,kBAAM4D,EAAOl7tB,IAAI,aAAcov1B,EAAmB,CAC3D,CAAE,EAiBAhi4B,EAAO5kC,IAAI,iBAAkB,SAAA0yyB,IAnCZ,SAAAA,GACjBA,EAAO1yD,WAAW,kBAAmB,WACnCg5L,EAAOtmI,EAAQ,MACjB,GACAA,EAAO1yD,WAAW,kBAAmB,WACnCg5L,EAAOtmI,EAAQ,MACjB,EACF,CA6BI6+F,CAAW7+F,GAjBE,SAAAA,GACfA,EAAO5/X,GAAG5zZ,SAAS274B,gBAAgB,MAAO,CACxC3rzB,QAAS,gBACTr4F,KAAM,MACNg7S,SAAU,WAAF,OAAQ6gf,EAAO/0D,YAAY,kBAAkB,EACrDg9I,QAASs+C,EAAqBvmI,EAAQ,SAExCA,EAAO5/X,GAAG5zZ,SAAS274B,gBAAgB,MAAO,CACxC3rzB,QAAS,gBACTr4F,KAAM,MACNg7S,SAAU,WAAF,OAAQ6gf,EAAO/0D,YAAY,kBAAkB,EACrDg9I,QAASs+C,EAAqBvmI,EAAQ,QAE1C,CAKIzltB,CAASyltB,EACX,EAKL,CAxYD,GA6YA,WAGI,IAAIpoG,EAAWm3B,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,yBAEpC8gF,EAAK,SAAAnsE,GAAC,OAAI,SAAAnW,GAAC,OAAImW,IAAMnW,CAAE,CAAD,EACtBugI,EAASj+C,EAAG,MACZ4oG,EAAc5oG,OAAGliF,GAIjB+kH,EAAO,WAAO,EAMdqlqB,EALW,SAAAzwxB,GACf,OAAO,WACL,OAAOA,CACT,CACF,CACcsqjB,EAAS,GAEjBomO,EAAQ,WACZ,SAAAA,EAAYz3uB,EAAKj5C,GAAO8Y,EAAA,KAAA43wB,GACtB/vxB,KAAKs4C,IAAMA,EACXt4C,KAAKX,MAAQA,CACf,CAAC,OAAAyZ,EAAAi3wB,EAAA,EAAAzuxB,IAAA,OAAAjC,MAOD,SAAK2wxB,EAAQC,GACX,OAAIjwxB,KAAKs4C,IACA23uB,EAAOjwxB,KAAKX,OAEZ2wxB,GAEX,GAAC,CAAA1uxB,IAAA,SAAAjC,MACD,WACE,OAAOW,KAAKs4C,GACd,GAAC,CAAAh3C,IAAA,SAAAjC,MACD,WACE,OAAQW,KAAKs4C,GACf,GAAC,CAAAh3C,IAAA,MAAAjC,MACD,SAAI6wxB,GACF,OAAIlwxB,KAAKs4C,IACAy3uB,EAASpyvB,KAAKuyvB,EAAOlwxB,KAAKX,QAE1B0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,OAAAjC,MACD,SAAK8wxB,GACH,OAAInwxB,KAAKs4C,IACA63uB,EAAOnwxB,KAAKX,OAEZ0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAOjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACpC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAQjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACrC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAKjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,OACvBW,KAEA+vxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,QAAAjC,MACD,SAAMovI,GACJ,OAAOzuI,KAAKs4C,IAAMt4C,KAAKX,MAAQovI,CACjC,GAAC,CAAAntI,IAAA,KAAAjC,MACD,SAAGovI,GACD,OAAOzuI,KAAKs4C,IAAMt4C,KAAOyuI,CAC3B,GAAC,CAAAntI,IAAA,aAAAjC,MACD,SAAW+wxB,GACT,OAAOpwxB,KAAKs4C,IAAMt4C,KAAKX,MAAQ+wxB,GACjC,GAAC,CAAA9uxB,IAAA,UAAAjC,MACD,SAAQ+wxB,GACN,OAAOpwxB,KAAKs4C,IAAMt4C,KAAOowxB,GAC3B,GAAC,CAAA9uxB,IAAA,WAAAjC,MACD,SAASsK,GACP,GAAK3J,KAAKs4C,IAGR,OAAOt4C,KAAKX,MAFZ,MAAM,IAAIK,MAAMiK,QAAyCA,EAAU,0BAIvE,GAAC,CAAArI,IAAA,YAAAjC,MAID,WACE,OAAOW,KAAKs4C,IAAMt4C,KAAKX,MAAQ,IACjC,GAAC,CAAAiC,IAAA,iBAAAjC,MACD,WACE,OAAOW,KAAKX,KACd,GAAC,CAAAiC,IAAA,OAAAjC,MACD,SAAKgxxB,GACCrwxB,KAAKs4C,KACP+3uB,EAAOrwxB,KAAKX,MAEhB,GAAC,CAAAiC,IAAA,UAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,CAACt4C,KAAKX,OAAS,EACnC,GAAC,CAAAiC,IAAA,WAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,QAAQ92C,OAAOxB,KAAKX,MAAO,KAAO,QACtD,IAAC,EAAAiC,IAAA,OAAAjC,MApFD,SAAYA,GACV,OAAO,IAAI0wxB,GAAS,EAAM1wxB,EAC5B,GAAC,CAAAiC,IAAA,OAAAjC,MACD,WACE,OAAO0wxB,EAAShhD,aAClB,GAAC,CAAAztuB,IAAA,OAAAjC,MA4DD,SAAYA,GACV,OAlFe,SAAAiG,GAAC,OAAIA,OAA8B,CAC1B4pxB,CAiFH7vxB,GAAgC0wxB,EAAS/gX,OAAhC+gX,EAASpyvB,KAAKt+B,EAC9C,IAAC,CAxEW,GA2Fd0wxB,EAAShhD,cAAgB,IAAIghD,GAAS,GAEtC,IA6FkBm1G,EApFZhhzB,EAAQ,SAAC2/K,EAAI1+P,GAGjB,IAFA,IAAM1G,EAAMolQ,EAAGrlQ,OACTorD,EAAI,IAAIn1C,MAAMhW,GACXM,EAAI,EAAGA,EAAIN,EAAKM,IAAK,CAC5B,IAAM+V,EAAI+uP,EAAG9kQ,GACb6qD,EAAE7qD,GAAKoG,EAAE2P,EAAG/V,EACd,CACA,OAAO6qD,CACT,EAQM4zvB,EAAO,SAAA3rkB,GACX,IAAIxyO,EAAQwyO,EAOZ,MAAO,CACLrtO,IAPU,WACV,OAAOnF,CACT,EAMEkF,IALU,SAAAsgD,GACVxlD,EAAQwlD,CACV,EAKF,EA2BMlhD,EAAO5F,OAAO4F,KACdH,EAAiBzF,OAAOyF,eACxBm4D,EAAO,SAACp+B,EAAKp4B,GAEjB,IADA,IAAMwnC,EAAQhpC,EAAK45B,GACV4f,EAAI,EAAG1+C,EAAMkuC,EAAMnuC,OAAQ2+C,EAAI1+C,EAAK0+C,IAAK,CAChD,IAAMp+C,EAAI4tC,EAAMwQ,GAEhBh4C,EADUo4B,EAAIx+B,GACTA,EACP,CACF,EAOM6yxB,EAAW,SAACr0vB,EAAKp4B,GACrB,IAAMykD,EAAI,CAAC,EAKX,OAJA+R,EAAKp+B,EAAK,SAACzoB,EAAG/V,GACZ,IAAM8yxB,EAAQ1sxB,EAAE2P,EAAG/V,GACnB6qD,EAAEiouB,EAAM10uB,GAAK00uB,EAAMhtuB,CACrB,GACO+E,CACT,EACMtlD,EAAM,SAACi5B,EAAKj8B,GAAG,OAAKkC,EAAehE,KAAK+9B,EAAKj8B,EAAK,EAsBlD4tC,GAjBYg21B,EAHF,SAAC/yjB,EAAKszF,GACpB,OAAOA,CACT,EAES,WACL,GAAuB,IAAnBzja,UAAQxD,OACV,MAAM,IAAIkB,MAAM,4BAGlB,IADA,IAAMsiD,EAAM,CAAC,EACJ5tB,EAAI,EAAGA,EAAIpyB,UAAQxD,OAAQ41B,IAAK,CACvC,IAAM+w2B,EAAoB/w2B,EAAC,GAAApyB,UAAAxD,QAAD41B,OAAC1uB,EAAA1D,UAADoyB,GAC1B,IAAK,IAAM9yB,KAAO6j4B,EACZ7g4B,EAAI6g4B,EAAW7j4B,KACjB0gD,EAAI1gD,GAAO4j4B,EAAOlj1B,EAAI1gD,GAAM6j4B,EAAU7j4B,IAG5C,CACA,OAAO0gD,CACT,GAwBI3iD,EAAQ,WACZ,IAAM6qe,EArBU,SAAAq1U,GAChB,IAAMr1U,EAAUszU,EAAKztB,EAAS/gX,QACxBrkG,EAAS,WAAH,OAASu/J,EAAQ1le,MAAMm3D,KAAK4jvB,EAAU,EAWlD,MAAO,CACL13yB,MAXY,WACZ8iU,IACAu/J,EAAQ3le,IAAIwrxB,EAAS/gX,OACvB,EASEhzD,MARY,WAAH,OAASkuH,EAAQ1le,MAAMwquB,QAAS,EASzCxquB,IARU,WAAH,OAAS0le,EAAQ1le,KAAM,EAS9BD,IARU,SAAAQ,GACV4lU,IACAu/J,EAAQ3le,IAAIwrxB,EAASpyvB,KAAK54B,GAC5B,EAOF,CAEkBy6yB,CAAU/0rB,GAE1B,OAAAl/G,EAAA,GACK2+d,EAAQ,CACXlxZ,GAHS,SAAA7zE,GAAC,OAAI+ke,EAAQ1le,MAAMm3D,KAAKx2D,EAAG,GAKxC,EAGM83G,EAAW,SAACn9G,EAAKswD,GAA4B,IAApB/7C,EAAKrS,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,EAAGsS,EAAGtS,UAAAxD,OAAA,EAAAwD,UAAA,QAAA0D,EACrCm7D,EAAM/gE,EAAId,QAAQoxD,EAAQ/7C,GAChC,OAAa,IAATwsD,MACK2vH,EAAYl8K,IAAcusD,EAAMzQ,EAAO5xD,QAAU8V,EAI5D,EAKI89B,EAAS68rB,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,oBAGlCqmO,EAAS,SAAAtwO,GAAI,OAAI,SAAAqjzB,GAAM,OAAIA,EAAOl6yB,QAAQxB,IAAI3H,EAAM,CAAD,EAwBnD6p7B,EAAmBv5sB,EAAO,sBAC1Bw5sB,EAAsBx5sB,EAAO,0BAC7By5sB,EAAqBz5sB,EAAO,yBAC5B05sB,EAAmB15sB,EAAO,oBAC1B25sB,EAAmB35sB,EAAO,wBAE1B45sB,EAAe,MACfC,EAAkB,CACtBzq4B,QAAS,UACT0q4B,OAAQ,SACRC,mBAAoB,qBACpBC,eAAgB,iBAChBC,SAAU,WACVC,kBAAmB,oBACnBnx6B,QAAS,UACTopE,MAAO,QACPivC,KAAM,gBAEF+4zB,EAAoB,SAACC,EAAY1q7B,GAAI,OAAKyH,EAAIij7B,EAAY1q7B,GAAQ0q7B,EAAW1q7B,GAAQA,CAAK,EAC1F2q7B,EAAsB,SAAAtnI,GAC1B,IA/HgB/6yB,EA+HVsi7B,EAAuBZ,EAAiB3mI,GAC9C,OAhIgB/6yB,EAgIiB,SAAA9F,GAAK,OAAAkM,EAAA,CACpCwsX,SAAU,GACV15T,SAAU,QACPh/D,EAAK,EAlIHuyxB,EA+HI61J,EA/HU,SAAC3y6B,EAAG/V,GAAC,MAAM,CAC9Bo+C,EAAGp+C,EACH8lD,EAAG1/C,EAAE2P,EAAG/V,GACT,EAiIH,EACM2o7B,EAAe,SAACxnI,EAAQynI,EAAaC,GACzC,IAAML,EAAalo7B,IACbqM,EAAMrM,IACNwo7B,EAAiBf,EAAiB5mI,GAClC4nI,EAAW,SAAAr/2B,GACf,OA/De,SAAC3oE,EAAK8/B,GACvB,OAViB,SAAC9/B,EAAKswD,EAAQ/7C,GAAK,MAAgB,KAAX+7C,GAAiBtwD,EAAItB,QAAU4xD,EAAO5xD,QAAUsB,EAAIswD,OAAO/7C,EAAOA,EAAQ+7C,EAAO5xD,UAAY4xD,CAAO,CAUtIgjuB,CAAWtzxB,EAAK8/B,EAAQ,EACjC,CA6DQ/7B,CAAW4kE,EAAIgX,KAAM,QAChBhX,EAAIgX,KAAKhgE,QAAQ,gBAAiB,SAAC9e,EAAOi0B,GAAG,MAAK,QAASpzB,OAAOqm7B,GAAgBrm7B,OAAOozB,EAAK,IAAK,GAEnG6zC,EAAIgX,IAEf,EAkBAyguB,EAAOlnuB,GAAG,OAAQ,WAChB5mC,EAAOi6H,KAAKu7wB,EAAYD,GAAa7l7B,KAAK,SAAAim7B,GACxC,IAAMC,EAAaR,EAAoBtnI,IAnBrB,SAAA6nI,GACpB,IAAME,EAAO,CAAC,EACRC,EAAa,GACnBvs3B,EAAKos3B,EAAQ,SAACt/2B,EAAKyzB,GACjB,IAAM/oF,EAAQ,CACZ+oF,QACA67R,SAAUtvT,EAAIsvT,SACdt4S,KAAMqo2B,EAASr/2B,GACfpK,SAAUip3B,EAAkBN,EAAiBv+2B,EAAIpK,WAE7CssF,OAAmCjlJ,IAAzBui7B,EAAK906B,EAAMkrD,UAA0B4p3B,EAAK906B,EAAMkrD,UAAY,GAC5E4p3B,EAAK906B,EAAMkrD,UAAYssF,EAAQnpJ,OAAO,CAAC2R,IACvC+06B,EAAWpk7B,KAAKqP,EAClB,GACAo06B,EAAWhj7B,IAAI0j7B,GACfv86B,EAAInH,IAAI2j7B,EACV,CAIIC,CAAcj54B,EAAM644B,EAAQC,GAC9B,EAAG,SAAA9i7B,GACDpI,QAAQkwD,IAAI,0BAA0BxrD,OAAO0D,IAC7Cqi7B,EAAWhj7B,IAAI,CAAC,GAChBmH,EAAInH,IAAI,GACV,EACF,GACA,IAMM6j7B,EAAU,WAAH,OAAS186B,EAAIlH,MAAM2quB,MAAM,GAAI,EAwBpCk5M,EAAY,WAAH,OAASd,EAAWvrkB,SAAWtwW,EAAIswW,OAAQ,EAC1D,MAAO,CACLsskB,eAzBqB,WAAH,MAAS,CAACvB,GAAcvl7B,OAAOmC,EAAK4j7B,EAAW/i7B,MAAM2quB,MAAM,CAAC,IAAK,EA0BnFk5M,YACAxzM,YA1BkB,WAClB,OAAIwzM,IACKxh7B,QAAQC,SAAQ,GAEhB,IAAID,QAAQ,SAACC,EAASC,GAC3B,IAAIwh7B,EAAa,GACX3orB,EAAWvtL,YAAY,WACvBg22B,KACF512B,cAAcmtL,GACd94P,GAAQ,MAERyh7B,EACiB,IACfzr7B,QAAQkwD,IAAI,mCAAqC263B,GACjDl12B,cAAcmtL,GACd74P,GAAO,GAGb,EAAG,IACL,EAEJ,EAMEqh7B,UACAI,aApCmB,SAAAnq3B,GACnB,OAAIA,IAAa0o3B,EACRqB,IAEFb,EAAW/i7B,MAAMmgE,KAAK,SAAAsj3B,GAAI,OAAIl4J,EAASxquB,KAAK0i4B,EAAK5p3B,GAAU,GAAE8wqB,MAAM,GAC5E,EAiCF,EAEMs5M,EAAe,SAACj8e,EAAOise,GAAgB,OAAKx7zB,EAASuvV,EAAMtwW,MAAMx8E,cAAe+45B,IA9RvE,SAAC50qB,EAAIiye,GAClB,IAAK,IAAI/2uB,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAExC,GAAI+2uB,EADMjye,EAAG9kQ,GACDA,GACV,OAAO,EAGX,OAAO,CACT,CAsR2Gs3d,CAAO7pB,EAAMz0E,SAAU,SAAA56U,GAAC,OAAI8/D,EAAS9/D,EAAEz9B,cAAe+45B,EAAiB,EAAE,EAC9KiQ,EAAa,SAACx45B,EAAM4vD,EAASmkzB,GAIjC,IAHA,IAAMhsxB,EAAU,GACVwg0B,EAAmB341B,EAAQpgE,cAC3Bip6B,EAAe1kD,EAAWxzJ,KAAK,kBAAMq/C,CAAK,EAAE,SAAAnowB,GAAG,OAAI,SAAAjjB,GAAI,OAAIA,GAAQijB,CAAG,IACnE5oB,EAAI,EAAGA,EAAImxB,EAAK1xB,SACA,IAAnBshF,EAAQthF,SAAgBiq7B,EAAav45B,EAAKnxB,GAAI056B,KAChDxg0B,EAAQn0G,KAAK,CACXzE,MAAO6wB,EAAKnxB,GAAG0gF,KACf9qD,KAAMzE,EAAKnxB,GAAGm9F,MACd73E,KAAM6L,EAAKnxB,GAAG0gF,QAEZkp2B,EAAa1w0B,EAAQz5G,UAPIO,KAYjC,OAAOk5G,CACT,EAEM0g0B,EAAc,UACdlw6B,EAAO,SAACy3yB,EAAQ33yB,GACpB,IAAMyc,EAAe,CACnB86D,QAAS,GACTwB,QAASon2B,EAAWng7B,EAAS6/6B,UAAW,GAAIr4J,EAASpyvB,KAAK,OAEtDk74B,EAAar7H,EAAKupI,GAUlBjO,EA3RK,SAACns6B,EAAIgtkB,GAChB,IAAIj0jB,EAAQ,KACNysE,EAAS,WACR0zC,EAAOngH,KACVkrB,aAAalrB,GACbA,EAAQ,KAEZ,EAQA,MAAO,CACLysE,SACA+5J,SATe,WAAc,IAAD,IAAA08rB,EAAA5m7B,UAAAxD,OAATuV,EAAI,IAAAU,MAAAm06B,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJ906B,EAAI806B,GAAA7m7B,UAAA6m7B,GACvB121B,IACAzsE,EAAQ0lB,WAAW,WACjB1lB,EAAQ,KACR/Y,EAAG3E,MAAM,KAAM+L,EACjB,EAAG4lkB,EACL,EAKF,CAwQuB5zhB,CAAK,SAAAkz3B,IATb,SAAAA,GACX,IAAM6P,EAAa7P,EAAU984B,UACvBkiC,EAAWw62B,EAAWr06B,MACtBomP,EAAariP,EAASig7B,aAAanq3B,GACnCijB,EAAUon2B,EAAW99rB,EAAYk+rB,EAAWnQ,GAAct62B,IAAa0o3B,EAAeh3J,EAASpyvB,KAAK,KAAOoyvB,EAAS/gX,QAC1HiqgB,EAAUh94B,QAAQ,CAChBqlD,WAEJ,CAEEwmlB,CAAKmxQ,EACP,EAAG,KACG8P,EAAc,CAClBl55B,MAAO,SACP9vB,KAAM,QACNlD,KAAM876B,GAEFqQ,EAAe,CACnBjp7B,KAAM,aACNlD,KAAM,WAEFi0N,EAAkB,WAStB,MAAO,CACL50H,MAAO,SACPx3F,KAAM,SACNm0D,KAXW,CACX94D,KAAM,WACNq56B,KAAMl11B,EAAM37E,EAAS+/6B,iBAAkB,SAAAjvB,GAAG,MAAK,CAC7Cn9zB,MAAOm9zB,EACPx85B,KAAMw85B,EACNp14B,MAAO,CAAC8k6B,EAAaC,GACtB,IAMDj8L,YAAa/nuB,EACbs05B,YAAa,SAACL,EAAWp0nB,GACvBg0nB,EAAWt06B,IAAIsgT,EAAQ00nB,YACvBT,EAAa5srB,SAAS+srB,EACxB,EACAr4mB,SAAUk4mB,EAAa5srB,SACvBmzE,SAAU,SAAC45mB,EAAWgQ,GACI,YAApBA,EAAWps7B,QAtSA,SAACqjzB,EAAQvhuB,GAC9BuhuB,EAAO90D,cAAczsqB,EACvB,CAqSUuq2B,CAAehpI,EAAQ+oI,EAAW5p7B,OAClC456B,EAAU1t5B,QAEd,EACAitQ,QAAS,CAAC,CACRz4R,KAAM,SACN40B,KAAM,QACNk4tB,SAAS,IAGf,EACMosL,EAAY/4H,EAAOjzD,cAAcxkvB,KAAKqoN,KAC5CmotB,EAAUp44B,MAAM834B,GACXpw6B,EAAS8/6B,cACZpP,EAAU72rB,MAAM,qBAChB75O,EAASssuB,cAAc/yuB,KAAK,WAC1Bm36B,EAAUkQ,OAAOr4tB,KACjBgotB,EAAa5srB,SAAS+srB,GACtBA,EAAUp44B,MAAM834B,GAChBM,EAAUmQ,SACZ,GAAGr/6B,MAAM,SAAAs/6B,GACPpQ,EAAUkQ,OAAO,CACfjt1B,MAAO,SACPrjC,KAAM,CACJ94D,KAAM,QACNkkB,MAAO,CAAC,CACNlkB,KAAM,cACN+8B,MAAO,QACPzY,KAAM,UACNsQ,KAAM,2BAGV6jQ,QAAS,CAAC,CACRz4R,KAAM,SACN40B,KAAM,QACNk4tB,SAAS,IAEXE,YAAa,CACXjtqB,QAAS,GACTwB,QAAS,MAGb231B,EAAUp44B,MAAM834B,GAChBM,EAAUmQ,SACZ,GAEJ,EAkCM9S,EAAkB,SAAAp2H,GAAM,OAAI,SAAAluqB,GAChC,IAAM+zrB,EAAc,WAClB/zrB,EAAIqmxB,WAAWn4G,EAAOx8hB,UAAU44hB,aAClC,EAGA,OAFA4D,EAAOlnuB,GAAG,aAAc+svB,GACxBA,IACO,WACL7lB,EAAOl7tB,IAAI,aAAc+gvB,EAC3B,CACF,CAAE,EAkBAjuH,EAAStqsB,IAAI,YAAa,SAAC0yyB,EAAQ02G,IAhTlB,SAAC12G,EAAQ02G,GAC1B,IAAM4S,EAAiBtpH,EAAOl6yB,QAAQy0F,SACtC+u0B,EAAe,qBAAsB,CACnCz9K,UAAW,SACX5ouB,QAAS,WAEXqm5B,EAAe,yBAA0B,CACvCz9K,UAAW,SACX5ouB,QAAS,GAAG3hB,OAAOo15B,EAAW,QAAQp15B,OAAOkl7B,EAAiBxmI,IAAS1+yB,OAAO0+yB,EAAOr/qB,OAAQ,SAE/F2oyB,EAAe,wBAAyB,CACtCz9K,UAAW,SACX5ouB,QAde,8BAgBjBqm5B,EAAe,mBAAoB,CACjCz9K,UAAW,SACX5ouB,QAAS,CAAC,IAEZqm5B,EAAe,uBAAwB,CACrCz9K,UAAW,SACX5ouB,QAAS,8CAEb,CA2RIsm3B,CAAWvpF,EAAQ02G,GACnB,IAAM+wB,EAAchB,EAAoBzmI,GAClC0nI,EAAahB,EAAmB1mI,GAChC33yB,EAAWm/6B,EAAaxnI,EAAQynI,EAAaC,IA/DpC,SAAC1nI,EAAQ33yB,GAC1B23yB,EAAO1yD,WAAW,eAAgB,kBAAM/kvB,EAAKy3yB,EAAQ33yB,EAAS,EAChE,CA8DIw24B,CAAW7+F,EAAQ33yB,GAtBN,SAAA23yB,GACf,IAAM7gf,EAAW,WAAH,OAAS6gf,EAAO/0D,YAAY,eAAgB,EAC1D+0D,EAAO5/X,GAAG5zZ,SAASy74B,UAAU,YAAa,CACxCzrzB,QAAS,SACTr4F,KAAM,QACNg7S,WACA8okB,QAASmuC,EAAgBp2H,KAE3BA,EAAO5/X,GAAG5zZ,SAAS874B,YAAY,YAAa,CAC1C7z4B,KAAM,YACNtQ,KAAM,QACNg7S,WACA8okB,QAASmuC,EAAgBp2H,IAE7B,CASIzltB,CAASyltB,GAlDA,SAACA,EAAQ33yB,GACpB23yB,EAAO5/X,GAAG5zZ,SAASi84B,iBAAiB,YAAa,CAC/CvzzB,QAAS,IACT8zI,QAAS,OACT+5oB,SAAU,EACV9q0B,MAAO,SAAC2nB,EAASmkzB,GAAU,OAAK173B,EAASssuB,cAAc/yuB,KAAK,WAC1D,IAAM8oP,EAAariP,EAAS6/6B,UAC5B,OAAOM,EAAW99rB,EAAY9qK,EAASiwsB,EAASpyvB,KAAKsm2B,GACvD,EAAE,EACF5kkB,SAAU,SAACs6mB,EAAiBtrf,EAAKhvb,GAC/B6gzB,EAAOx8hB,UAAUkqe,OAAOv/T,GACxB6xX,EAAO90D,cAAc/rvB,GACrBs66B,EAAgBlsoB,MAClB,GAEJ,CAoCIt0N,CAAK+muB,EAAQ33yB,GA9DH,SAAA23yB,GACZA,EAAOlnuB,GAAG,UAAW,WACnBknuB,EAAOtvuB,OAAO6wuB,mBAAmB,gBAAiB,SAAAvosB,IAvYvC,SAAC2qJ,EAAI1+P,GAClB,IAAK,IAAIpG,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAExCoG,EADU0+P,EAAG9kQ,GACRA,EAET,CAmYMoq6B,CAAOjwzB,EAAO,SAAA1yD,GACZA,EAAK2pB,KAAK,kBAAmB,SAC7B3pB,EAAK2pB,KAAK,uBAAwB,IACpC,EACF,EACF,EACF,CAsDI4iZ,CAAMmtV,EACR,EAKL,CA5kBD,GA6kBAv+yB,OAAOstuB,QAAQ+b,SAASx9uB,IAAI,4BAA4B,CAAC,IAAI,CAACuqX,SAAS,CAAC,QAAQ,UAAU,UAAU,UAAU,OAAO,OAAO,OAAO,OAAO,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW,KAAK,CAAC05T,SAAS,CAAC,UAAU,eAAet4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkr3B,SAAS,CAACxxjB,SAAS,CAAC,OAAO,QAAQ,QAAQ,MAAM,KAAK,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUmr3B,UAAU,CAACzxjB,SAAS,CAAC,OAAO,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUor3B,KAAK,CAAC1xjB,SAAS,CAAC,OAAO,QAAQ,QAAQ,MAAM,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUqr3B,IAAI,CAAC3xjB,SAAS,CAAC,OAAO,MAAM,QAAQ,OAAO,QAAQ,aAAa,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUsr3B,KAAK,CAAC5xjB,SAAS,CAAC,OAAO,UAAU,QAAQ,WAAW,MAAM,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUur3B,SAAS,CAAC7xjB,SAAS,CAAC,OAAO,cAAc,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUwr3B,OAAO,CAAC9xjB,SAAS,CAAC,OAAO,QAAQ,MAAM,OAAO,KAAK,KAAK,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUyr3B,MAAM,CAAC/xjB,SAAS,CAAC,OAAO,QAAQ,MAAM,QAAQ,OAAO,QAAQ,OAAO,KAAK,MAAMt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU0r3B,YAAY,CAAChyjB,SAAS,CAAC,OAAO,MAAM,QAAQ,QAAQ,QAAQ,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU2r3B,SAAS,CAACjyjB,SAAS,CAAC,QAAQ,MAAM,MAAM,YAAY,OAAO,OAAO,OAAO,KAAK,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU4r3B,SAAS,CAAClyjB,SAAS,CAAC,OAAO,QAAQ,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU6r3B,KAAK,CAACnyjB,SAAS,CAAC,OAAO,QAAQ,cAAc,SAAS,KAAK,QAAQ,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU8r3B,MAAM,CAACpyjB,SAAS,CAAC,OAAO,QAAQ,QAAQ,UAAU,QAAQ,cAAc,MAAM,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU+r3B,sBAAsB,CAACryjB,SAAS,CAAC,OAAO,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUgs3B,iBAAiB,CAACtyjB,SAAS,CAAC,OAAO,UAAU,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUis3B,QAAQ,CAACvyjB,SAAS,CAAC,OAAO,QAAQ,UAAU,aAAat4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUks3B,IAAI,CAACxyjB,SAAS,CAAC,QAAQ,MAAM,SAAS,QAAQ,OAAO,QAAQ,QAAQ,MAAM,YAAY,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUms3B,SAAS,CAACzyjB,SAAS,CAAC,OAAO,UAAU,OAAO,UAAU,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUos3B,WAAW,CAAC1yjB,SAAS,CAAC,OAAO,OAAO,OAAO,YAAY,aAAa,cAAc,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUqs3B,+BAA+B,CAAC3yjB,SAAS,CAAC,OAAO,OAAO,OAAO,YAAY,aAAa,cAAc,QAAQ,SAAS,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUss3B,cAAc,CAAC5yjB,SAAS,CAAC,OAAO,OAAO,OAAO,YAAY,aAAa,cAAc,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUus3B,QAAQ,CAAC7yjB,SAAS,CAAC,OAAO,OAAO,OAAO,IAAI,aAAa,cAAc,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUws3B,qBAAqB,CAAC9yjB,SAAS,CAAC,OAAO,YAAY,aAAa,cAAc,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUys3B,oBAAoB,CAAC/yjB,SAAS,CAAC,OAAO,OAAO,OAAO,YAAY,aAAa,cAAc,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU0s3B,6BAA6B,CAAChzjB,SAAS,CAAC,OAAO,QAAQ,WAAW,UAAU,cAAc,QAAQ,OAAO,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU2s3B,KAAK,CAACjzjB,SAAS,CAAC,OAAO,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU4s3B,eAAe,CAAClzjB,SAAS,CAAC,OAAO,WAAW,aAAa,cAAc,YAAY,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU6s3B,QAAQ,CAACnzjB,SAAS,CAAC,OAAO,SAAS,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU8s3B,6BAA6B,CAACpzjB,SAAS,CAAC,OAAO,QAAQ,UAAU,cAAc,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU+s3B,iBAAiB,CAACrzjB,SAAS,CAAC,OAAO,QAAQ,WAAW,UAAU,cAAc,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUgt3B,iBAAiB,CAACtzjB,SAAS,CAAC,OAAO,OAAO,SAAS,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUit3B,UAAU,CAACvzjB,SAAS,CAAC,OAAO,QAAQ,OAAO,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUkt3B,WAAW,CAACxzjB,SAAS,CAAC,OAAO,OAAO,QAAQ,SAAS,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUmt3B,YAAY,CAACzzjB,SAAS,CAAC,OAAO,QAAQ,SAAS,OAAO,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUot3B,WAAW,CAAC1zjB,SAAS,CAAC,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUqt3B,gBAAgB,CAAC3zjB,SAAS,CAAC,OAAO,UAAU,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUst3B,KAAK,CAAC5zjB,SAAS,CAAC,OAAO,QAAQ,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUut3B,MAAM,CAAC7zjB,SAAS,CAAC,OAAO,QAAQ,OAAO,QAAQ,OAAO,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUwt3B,SAAS,CAAC9zjB,SAAS,CAAC,OAAO,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUyt3B,aAAa,CAAC/zjB,SAAS,CAAC,eAAe,MAAM,KAAK,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU0t3B,eAAe,CAACh0jB,SAAS,CAAC,OAAO,cAAc,MAAM,MAAM,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU2t3B,SAAS,CAACj0jB,SAAS,CAAC,eAAe,QAAQ,gBAAgB,UAAU,UAAU,cAAc,YAAY,UAAU,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU4t3B,UAAU,CAACl0jB,SAAS,CAAC,OAAO,UAAU,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU6t3B,SAAS,CAACn0jB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU8t3B,WAAW,CAACp0jB,SAAS,CAAC,OAAO,MAAM,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU+t3B,gBAAgB,CAACr0jB,SAAS,CAAC,OAAO,SAAS,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUgu3B,SAAS,CAACt0jB,SAAS,CAAC,OAAO,QAAQ,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUiu3B,mBAAmB,CAACv0jB,SAAS,CAAC,OAAO,WAAW,UAAU,UAAU,YAAY,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUku3B,eAAe,CAACx0jB,SAAS,CAAC,OAAO,UAAU,OAAO,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU6zO,QAAQ,CAAC6lF,SAAS,CAAC,OAAO,QAAQ,MAAM,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUmu3B,aAAa,CAACz0jB,SAAS,CAAC,OAAO,MAAM,QAAQ,YAAY,MAAMt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUou3B,QAAQ,CAAC10jB,SAAS,CAAC,OAAO,UAAU,UAAU,MAAMt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUqu3B,MAAM,CAAC30jB,SAAS,CAAC,MAAM,OAAO,UAAU,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUsu3B,KAAK,CAAC50jB,SAAS,CAAC,QAAQ,MAAM,OAAO,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUuu3B,QAAQ,CAAC70jB,SAAS,CAAC,OAAO,MAAM,YAAY,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUwu3B,SAAS,CAAC90jB,SAAS,CAAC,OAAO,eAAe,MAAM,QAAQ,OAAO,MAAMt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUyu3B,uBAAuB,CAAC/0jB,SAAS,CAAC,OAAO,WAAW,eAAe,MAAM,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU0u3B,cAAc,CAACh1jB,SAAS,CAAC,OAAO,MAAM,QAAQ,SAASt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU2u3B,UAAU,CAACj1jB,SAAS,CAAC,OAAO,OAAO,KAAK,QAAQ,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU4u3B,WAAW,CAACl1jB,SAAS,CAAC,OAAO,WAAW,OAAO,SAAS,OAAO,MAAMt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU6u3B,WAAW,CAACn1jB,SAAS,CAAC,OAAO,QAAQ,QAAQ,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU8u3B,MAAM,CAACp1jB,SAAS,CAAC,OAAO,QAAQ,SAAS,MAAM,aAAa,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU+u3B,SAAS,CAACr1jB,SAAS,CAAC,OAAO,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUgv3B,QAAQ,CAACt1jB,SAAS,CAAC,OAAO,MAAM,OAAO,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUiv3B,WAAW,CAACv1jB,SAAS,CAAC,OAAO,WAAW,YAAY,MAAM,OAAO,MAAMt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUkv3B,OAAO,CAACx1jB,SAAS,CAAC,OAAO,QAAQ,SAAS,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUmv3B,QAAQ,CAACz1jB,SAAS,CAAC,OAAO,SAAS,YAAY,UAAU,OAAO,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUov3B,WAAW,CAAC11jB,SAAS,CAAC,OAAO,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUqv3B,OAAO,CAAC31jB,SAAS,CAAC,OAAO,MAAM,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUsv3B,SAAS,CAAC51jB,SAAS,CAAC,OAAO,KAAK,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUuv3B,UAAU,CAAC71jB,SAAS,CAAC,OAAO,UAAU,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUwv3B,IAAI,CAAC91jB,SAAS,CAAC,OAAO,QAAQ,MAAM,YAAY,QAAQ,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUyv3B,sBAAsB,CAAC/1jB,SAAS,CAAC,OAAO,OAAO,QAAQ,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU0v3B,cAAc,CAACh2jB,SAAS,CAAC,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU2v3B,OAAO,CAACj2jB,SAAS,CAAC,OAAO,QAAQ,OAAO,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU4v3B,MAAM,CAACl2jB,SAAS,CAAC,OAAO,MAAM,MAAM,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU6v3B,IAAI,CAACn2jB,SAAS,CAAC,OAAO,WAAW,OAAO,MAAM,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU8v3B,KAAK,CAACp2jB,SAAS,CAAC,OAAO,OAAO,WAAW,SAAS,YAAY,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU+v3B,IAAI,CAACr2jB,SAAS,CAAC,OAAO,MAAM,QAAQ,MAAM,QAAQ,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUgw3B,WAAW,CAACt2jB,SAAS,CAAC,QAAQ,cAAc,MAAM,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUiw3B,WAAW,CAACv2jB,SAAS,CAAC,OAAO,MAAM,YAAY,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUkw3B,kBAAkB,CAACx2jB,SAAS,CAAC,OAAO,SAAS,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUmw3B,eAAe,CAACz2jB,SAAS,CAAC,OAAO,QAAQ,QAAQ,QAAQ,OAAO,WAAW,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUow3B,cAAc,CAAC12jB,SAAS,CAAC,OAAO,aAAa,SAAS,OAAO,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUqw3B,SAAS,CAAC32jB,SAAS,CAAC,OAAO,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUuqb,KAAK,CAAC7wH,SAAS,CAAC,OAAO,OAAO,MAAM,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUsw3B,sBAAsB,CAAC52jB,SAAS,CAAC,OAAO,cAAc,cAAc,OAAO,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUuw3B,uBAAuB,CAAC72jB,SAAS,CAAC,UAAU,SAAS,UAAU,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUww3B,MAAM,CAAC92jB,SAAS,CAAC,OAAO,QAAQ,cAAc,QAAQ,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUyw3B,SAAS,CAAC/2jB,SAAS,CAAC,OAAO,QAAQ,SAAS,QAAQ,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU0w3B,IAAI,CAACh3jB,SAAS,CAAC,SAAS,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU2w3B,KAAK,CAACj3jB,SAAS,CAAC,SAAS,WAAW,OAAO,OAAO,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU4w3B,YAAY,CAACl3jB,SAAS,CAAC,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU6w3B,IAAI,CAACn3jB,SAAS,CAAC,QAAQ,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU8w3B,cAAc,CAACp3jB,SAAS,CAAC,UAAU,MAAM,OAAO,YAAY,QAAQ,SAAS,QAAQ,QAAQ,WAAW,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU+w3B,gBAAgB,CAACr3jB,SAAS,CAAC,MAAM,OAAO,OAAO,UAAU,QAAQ,SAAS,WAAW,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUgx3B,MAAM,CAACt3jB,SAAS,CAAC,OAAO,WAAW,SAAS,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUyo1B,MAAM,CAAC/uhB,SAAS,CAAC,YAAY,SAAS,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUix3B,MAAM,CAACv3jB,SAAS,CAAC,MAAM,OAAO,QAAQ,eAAet4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUkx3B,MAAM,CAACx3jB,SAAS,CAAC,WAAW,UAAU,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUmx3B,WAAW,CAACz3jB,SAAS,CAAC,SAAS,OAAO,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUox3B,UAAU,CAAC13jB,SAAS,CAAC,SAAS,OAAO,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUqx3B,QAAQ,CAAC33jB,SAAS,CAAC,SAAS,OAAO,OAAO,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUsx3B,eAAe,CAAC53jB,SAAS,CAAC,SAAS,OAAO,OAAO,YAAY,OAAO,aAAa,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUux3B,UAAU,CAAC73jB,SAAS,CAAC,SAAS,OAAO,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUwx3B,YAAY,CAAC93jB,SAAS,CAAC,SAAS,OAAO,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUyx3B,WAAW,CAAC/3jB,SAAS,CAAC,SAAS,OAAO,QAAQ,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU0x3B,gBAAgB,CAACh4jB,SAAS,CAAC,SAAS,QAAQ,OAAO,MAAM,OAAO,QAAQ,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU2x3B,YAAY,CAACj4jB,SAAS,CAAC,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU4x3B,SAAS,CAACl4jB,SAAS,CAAC,QAAQ,UAAU,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU6x3B,aAAa,CAACn4jB,SAAS,CAAC,UAAU,SAAS,MAAM,cAAc,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU8x3B,KAAK,CAACp4jB,SAAS,CAAC,QAAQ,SAAS,WAAW,WAAW,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU+x3B,KAAK,CAACr4jB,SAAS,CAAC,QAAQ,UAAU,UAAU,SAAS,WAAW,QAAQ,KAAK,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUgy3B,aAAa,CAACt4jB,SAAS,CAAC,QAAQ,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU,KAAK,CAAC05T,SAAS,CAAC,WAAW,MAAM,UAAU,OAAO,QAAQ,SAAS,OAAO,OAAO,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU,KAAK,CAAC05T,SAAS,CAAC,aAAa,KAAK,UAAU,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUiy3B,UAAU,CAACv4jB,SAAS,CAAC,QAAQ,WAAW,OAAO,MAAM,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUky3B,KAAK,CAACx4jB,SAAS,CAAC,UAAU,OAAO,SAASt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUmy3B,UAAU,CAACz4jB,SAAS,CAAC,OAAO,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUoy3B,WAAW,CAAC14jB,SAAS,CAAC,OAAO,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUxZ,EAAE,CAACkzU,SAAS,CAAC,UAAU,SAAS,OAAO,QAAQ,UAAU,OAAOt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUqy3B,QAAQ,CAAC34jB,SAAS,CAAC,UAAU,QAAQ,UAAU,KAAK,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUsy3B,YAAY,CAAC54jB,SAAS,CAAC,UAAU,OAAO,WAAW,OAAO,OAAOt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUuy3B,oBAAoB,CAAC74jB,SAAS,CAAC,UAAU,SAAS,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUwy3B,WAAW,CAAC94jB,SAAS,CAAC,UAAU,YAAY,QAAQ,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUyy3B,OAAO,CAAC/4jB,SAAS,CAAC,MAAM,OAAO,OAAO,SAAS,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU0y3B,KAAK,CAACh5jB,SAAS,CAAC,SAAS,OAAO,OAAO,UAAU,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU2y3B,KAAK,CAACj5jB,SAAS,CAAC,OAAO,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU4y3B,IAAI,CAACl5jB,SAAS,CAAC,OAAO,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUi9U,UAAU,CAACvjB,SAAS,CAAC,YAAY,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU6y3B,SAAS,CAACn5jB,SAAS,CAAC,OAAO,UAAU,YAAY,MAAMt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU8y3B,WAAW,CAACp5jB,SAAS,CAAC,UAAU,OAAO,YAAY,MAAMt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU+y3B,WAAW,CAACr5jB,SAAS,CAAC,UAAU,OAAO,YAAY,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUgz3B,WAAW,CAACt5jB,SAAS,CAAC,YAAY,UAAU,OAAO,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUiz3B,YAAY,CAACv5jB,SAAS,CAAC,UAAU,OAAO,YAAY,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUqnW,GAAG,CAAC3tC,SAAS,CAAC,OAAO,UAAU,OAAO,SAAS,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUkz3B,iCAAiC,CAACx5jB,SAAS,CAAC,OAAO,UAAU,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUmz3B,SAAS,CAACz5jB,SAAS,CAAC,OAAO,UAAU,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUoz3B,MAAM,CAAC15jB,SAAS,CAAC,OAAO,UAAU,WAAW,gBAAgB,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUqz3B,gBAAgB,CAAC35jB,SAAS,CAAC,OAAO,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUsz3B,cAAc,CAAC55jB,SAAS,CAAC,OAAO,UAAU,QAAQ,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUuz3B,aAAa,CAAC75jB,SAAS,CAAC,2BAA2B,aAAa,QAAQ,WAAWt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUwz3B,OAAO,CAAC95jB,SAAS,CAAC,SAAS,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUyz3B,UAAU,CAAC/5jB,SAAS,CAAC,SAAS,WAAW,SAAS,UAAU,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU0z3B,KAAK,CAACh6jB,SAAS,CAAC,QAAQ,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU2z3B,MAAM,CAACj6jB,SAAS,CAAC,QAAQ,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU4z3B,OAAO,CAACl6jB,SAAS,CAAC,QAAQ,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU6z3B,IAAI,CAACn6jB,SAAS,CAAC,OAAO,OAAO,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU8z3B,KAAK,CAACp6jB,SAAS,CAAC,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU+z3B,IAAI,CAACr6jB,SAAS,CAAC,OAAO,OAAO,MAAM,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUg03B,KAAK,CAACt6jB,SAAS,CAAC,OAAO,QAAQ,QAAQ,OAAO,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUi03B,MAAM,CAACv6jB,SAAS,CAAC,QAAQ,eAAet4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUk03B,mBAAmB,CAACx6jB,SAAS,CAAC,OAAO,SAAS,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUm03B,oBAAoB,CAACz6jB,SAAS,CAAC,OAAO,SAAS,QAAQ,QAAQ,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUo03B,cAAc,CAAC16jB,SAAS,CAAC,OAAO,SAAS,QAAQ,OAAO,MAAM,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUq03B,KAAK,CAAC36jB,SAAS,CAAC,QAAQ,MAAM,OAAO,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU8hB,MAAM,CAAC43S,SAAS,CAAC,iBAAiB,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUs03B,IAAI,CAAC56jB,SAAS,CAAC,MAAM,OAAO,MAAM,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUu03B,KAAK,CAAC76jB,SAAS,CAAC,SAAS,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUw03B,MAAM,CAAC96jB,SAAS,CAAC,iBAAiB,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUy03B,IAAI,CAAC/6jB,SAAS,CAAC,WAAW,SAAS,MAAM,MAAM,SAAS,MAAM,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU003B,MAAM,CAACh7jB,SAAS,CAAC,SAAS,QAAQ,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU203B,aAAa,CAACj7jB,SAAS,CAAC,QAAQ,SAAS,OAAO,SAAS,UAAUt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU403B,WAAW,CAACl7jB,SAAS,CAAC,MAAM,OAAO,MAAM,SAAS,MAAM,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU603B,eAAe,CAACn7jB,SAAS,CAAC,SAAS,eAAet4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU803B,YAAY,CAACp7jB,SAAS,CAAC,QAAQ,QAAQ,SAAS,kBAAkBt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU+03B,UAAU,CAACr7jB,SAAS,CAAC,QAAQ,OAAO,MAAM,MAAM,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUg13B,YAAY,CAACt7jB,SAAS,CAAC,QAAQ,SAAS,QAAQ,OAAO,MAAM,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUi13B,oBAAoB,CAACv7jB,SAAS,CAAC,OAAO,MAAM,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUk13B,qBAAqB,CAACx7jB,SAAS,CAAC,SAAS,QAAQ,WAAW,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUm13B,kBAAkB,CAACz7jB,SAAS,CAAC,SAAS,SAAS,WAAW,QAAQ,SAASt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUo13B,gBAAgB,CAAC17jB,SAAS,CAAC,OAAO,SAAS,WAAW,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUq13B,YAAY,CAAC37jB,SAAS,CAAC,QAAQ,SAAS,MAAM,QAAQ,cAAc,SAAS,MAAM,UAAUt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUs13B,UAAU,CAAC57jB,SAAS,CAAC,MAAM,SAAS,MAAM,QAAQ,cAAc,SAAS,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUu13B,0BAA0B,CAAC77jB,SAAS,CAAC,SAAS,QAAQ,MAAM,QAAQ,eAAe,SAAS,QAAQ,SAASt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUw13B,wBAAwB,CAAC97jB,SAAS,CAAC,OAAO,QAAQ,MAAM,MAAM,QAAQ,eAAe,SAAS,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUy13B,YAAY,CAAC/7jB,SAAS,CAAC,KAAK,KAAK,UAAU,SAAS,QAAQ,SAASt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU013B,UAAU,CAACh8jB,SAAS,CAAC,KAAK,KAAK,UAAU,OAAO,MAAM,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU213B,iBAAiB,CAACj8jB,SAAS,CAAC,QAAQ,MAAM,YAAY,SAAS,SAASt4S,KAAK,oMAAyK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU413B,eAAe,CAACl8jB,SAAS,CAAC,QAAQ,MAAM,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU613B,oBAAoB,CAACn8jB,SAAS,CAAC,SAAS,QAAQ,YAAY,aAAa,QAAQ,SAASt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU813B,kBAAkB,CAACp8jB,SAAS,CAAC,SAAS,QAAQ,YAAY,aAAa,MAAM,SAASt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU+13B,aAAa,CAACr8jB,SAAS,CAAC,UAAU,WAAW,QAAQ,SAASt4S,KAAK,kLAA+J6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUg23B,WAAW,CAACt8jB,SAAS,CAAC,UAAU,WAAW,MAAM,SAASt4S,KAAK,kLAA+J6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUi23B,WAAW,CAACv8jB,SAAS,CAAC,OAAO,QAAQ,SAASt4S,KAAK,kLAA+J6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUk23B,SAAS,CAACx8jB,SAAS,CAAC,OAAO,MAAM,SAASt4S,KAAK,kLAA+J6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUm23B,cAAc,CAACz8jB,SAAS,CAAC,WAAW,QAAQ,SAASt4S,KAAK,kLAA+J6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUo23B,YAAY,CAAC18jB,SAAS,CAAC,WAAW,MAAM,SAASt4S,KAAK,kLAA+J6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUq23B,aAAa,CAAC38jB,SAAS,CAAC,WAAW,cAAc,QAAQ,SAASt4S,KAAK,kLAA+J6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUs23B,WAAW,CAAC58jB,SAAS,CAAC,WAAW,cAAc,MAAM,SAASt4S,KAAK,kLAA+J6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUu23B,cAAc,CAAC78jB,SAAS,CAAC,aAAa,YAAY,QAAQ,SAASt4S,KAAK,kLAA+J6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUw23B,YAAY,CAAC98jB,SAAS,CAAC,aAAa,YAAY,MAAM,SAASt4S,KAAK,kLAA+J6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUy23B,qBAAqB,CAAC/8jB,SAAS,CAAC,WAAW,aAAa,QAAQ,SAASt4S,KAAK,kLAA+J6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU023B,mBAAmB,CAACh9jB,SAAS,CAAC,WAAW,aAAa,MAAM,SAASt4S,KAAK,kLAA+J6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU223B,mBAAmB,CAACj9jB,SAAS,CAAC,QAAQ,YAAY,WAAW,aAAa,WAAW,QAAQ,QAAQ,SAAS,YAAYt4S,KAAK,kLAA+J6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU423B,iBAAiB,CAACl9jB,SAAS,CAAC,QAAQ,YAAY,WAAW,aAAa,WAAW,MAAM,QAAQ,SAAS,YAAYt4S,KAAK,kLAA+J6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU623B,oBAAoB,CAACn9jB,SAAS,CAAC,WAAW,UAAU,QAAQ,SAASt4S,KAAK,kLAA+J6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU823B,kBAAkB,CAACp9jB,SAAS,CAAC,WAAW,UAAU,MAAM,SAASt4S,KAAK,kLAA+J6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU+23B,eAAe,CAACr9jB,SAAS,CAAC,UAAU,QAAQ,QAAQ,UAAUt4S,KAAK,kLAA+J6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUg33B,aAAa,CAACt9jB,SAAS,CAAC,UAAU,MAAM,QAAQ,UAAUt4S,KAAK,kLAA+J6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUi33B,gBAAgB,CAACv9jB,SAAS,CAAC,YAAY,UAAU,WAAW,YAAY,QAAQ,SAASt4S,KAAK,kLAA+J6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUk33B,cAAc,CAACx9jB,SAAS,CAAC,YAAY,UAAU,WAAW,YAAY,MAAM,SAASt4S,KAAK,kLAA+J6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUm33B,aAAa,CAACz9jB,SAAS,CAAC,UAAU,QAAQ,SAASt4S,KAAK,kLAA+J6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUo33B,WAAW,CAAC19jB,SAAS,CAAC,UAAU,MAAM,SAASt4S,KAAK,kLAA+J6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUq33B,kBAAkB,CAAC39jB,SAAS,CAAC,UAAU,QAAQ,SAASt4S,KAAK,kLAA+J6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUs33B,gBAAgB,CAAC59jB,SAAS,CAAC,UAAU,MAAM,SAASt4S,KAAK,kLAA+J6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUu33B,YAAY,CAAC79jB,SAAS,CAAC,UAAU,QAAQ,QAAQ,SAASt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUw33B,UAAU,CAAC99jB,SAAS,CAAC,UAAU,QAAQ,MAAM,SAASt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUy33B,gBAAgB,CAAC/9jB,SAAS,CAAC,QAAQ,SAAS,QAAQ,SAASt4S,KAAK,kLAA+J6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU033B,cAAc,CAACh+jB,SAAS,CAAC,QAAQ,SAAS,MAAM,SAASt4S,KAAK,kLAA+J6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU233B,YAAY,CAACj+jB,SAAS,CAAC,UAAU,QAAQ,QAAQ,SAASt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU433B,UAAU,CAACl+jB,SAAS,CAAC,UAAU,QAAQ,MAAM,SAASt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU633B,gBAAgB,CAACn+jB,SAAS,CAAC,QAAQ,SAAS,OAAO,UAAU,eAAet4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU833B,cAAc,CAACp+jB,SAAS,CAAC,MAAM,OAAO,OAAO,OAAO,eAAet4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU+33B,mBAAmB,CAACr+jB,SAAS,CAAC,QAAQ,SAAS,OAAO,MAAM,WAAW,UAAU,eAAet4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUg43B,iBAAiB,CAACt+jB,SAAS,CAAC,MAAM,OAAO,OAAO,MAAM,WAAW,OAAO,eAAet4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUi43B,UAAU,CAACv+jB,SAAS,CAAC,QAAQ,SAAS,OAAO,oBAAoBt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUk43B,MAAM,CAACx+jB,SAAS,CAAC,WAAW,MAAM,OAAO,OAAO,oBAAoBt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUm43B,UAAU,CAACz+jB,SAAS,CAAC,QAAQ,SAAS,OAAO,SAASt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUo43B,OAAO,CAAC1+jB,SAAS,CAAC,MAAM,OAAO,OAAO,YAAYt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUq43B,UAAU,CAAC3+jB,SAAS,CAAC,QAAQ,UAAUt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUs43B,QAAQ,CAAC5+jB,SAAS,CAAC,MAAM,QAAQt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUu43B,cAAc,CAAC7+jB,SAAS,CAAC,QAAQ,UAAUt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUw43B,YAAY,CAAC9+jB,SAAS,CAAC,MAAM,OAAO,WAAWt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUy43B,aAAa,CAAC/+jB,SAAS,CAAC,QAAQ,SAAS,SAAS,gBAAgBt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU043B,WAAW,CAACh/jB,SAAS,CAAC,MAAM,OAAO,UAAU,SAAS,gBAAgBt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU243B,YAAY,CAACj/jB,SAAS,CAAC,QAAQ,UAAUt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU443B,UAAU,CAACl/jB,SAAS,CAAC,MAAM,QAAQt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU643B,QAAQ,CAACn/jB,SAAS,CAAC,QAAQ,SAAS,WAAW,SAASt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU843B,OAAO,CAACp/jB,SAAS,CAAC,MAAM,OAAO,UAAUt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU+43B,YAAY,CAACr/jB,SAAS,CAAC,QAAQ,UAAUt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUg53B,UAAU,CAACt/jB,SAAS,CAAC,MAAM,QAAQt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUi53B,MAAM,CAACv/jB,SAAS,CAAC,SAAS,QAAQ,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUk53B,eAAe,CAACx/jB,SAAS,CAAC,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUm53B,cAAc,CAACz/jB,SAAS,CAAC,UAAU,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUo53B,SAAS,CAAC1/jB,SAAS,CAAC,OAAO,QAAQ,SAAS,QAAQ,QAAQ,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUq53B,OAAO,CAAC3/jB,SAAS,CAAC,MAAM,MAAM,OAAO,QAAQ,QAAQ,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUs53B,gBAAgB,CAAC5/jB,SAAS,CAAC,SAAS,WAAW,UAAU,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUu53B,cAAc,CAAC7/jB,SAAS,CAAC,SAAS,WAAW,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUw53B,cAAc,CAAC9/jB,SAAS,CAAC,QAAQ,UAAU,WAAW,OAAO,UAAU,UAAUt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUy53B,YAAY,CAAC//jB,SAAS,CAAC,MAAM,UAAU,WAAW,OAAO,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU053B,cAAc,CAAChgkB,SAAS,CAAC,QAAQ,OAAO,QAAQ,QAAQ,UAAUt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU253B,YAAY,CAACjgkB,SAAS,CAAC,QAAQ,OAAO,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU453B,OAAO,CAAClgkB,SAAS,CAAC,SAAS,OAAO,QAAQ,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU653B,YAAY,CAACngkB,SAAS,CAAC,OAAO,MAAM,MAAM,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU853B,cAAc,CAACpgkB,SAAS,CAAC,SAAS,QAAQ,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU+53B,YAAY,CAACrgkB,SAAS,CAAC,OAAO,QAAQ,MAAM,QAAQt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUg63B,OAAO,CAACtgkB,SAAS,CAAC,OAAO,SAAS,QAAQ,OAAO,OAAO,SAAS,OAAO,YAAY,aAAa,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUi63B,sBAAsB,CAACvgkB,SAAS,CAAC,OAAO,SAAS,OAAO,OAAO,WAAW,aAAa,SAAS,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUk63B,wBAAwB,CAACxgkB,SAAS,CAAC,OAAO,aAAa,SAAS,OAAO,OAAO,SAAS,SAAS,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUm63B,aAAa,CAACzgkB,SAAS,CAAC,QAAQ,SAAS,QAAQt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUo63B,WAAW,CAAC1gkB,SAAS,CAAC,MAAM,OAAO,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUq63B,gBAAgB,CAAC3gkB,SAAS,CAAC,MAAM,OAAO,MAAM,aAAat4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUs63B,kBAAkB,CAAC5gkB,SAAS,CAAC,QAAQ,SAAS,OAAO,aAAat4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUu63B,gBAAgB,CAAC7gkB,SAAS,CAAC,QAAQ,SAAS,OAAO,WAAW,cAAc,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUw63B,cAAc,CAAC9gkB,SAAS,CAAC,MAAM,OAAO,MAAM,WAAW,cAAc,SAASt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUy63B,mBAAmB,CAAC/gkB,SAAS,CAAC,SAAS,OAAO,QAAQ,QAAQ,eAAet4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU063B,iBAAiB,CAAChhkB,SAAS,CAAC,OAAO,MAAM,MAAM,QAAQ,eAAet4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU263B,cAAc,CAACjhkB,SAAS,CAAC,SAAS,OAAO,QAAQ,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU463B,YAAY,CAAClhkB,SAAS,CAAC,OAAO,MAAM,MAAM,QAAQt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU663B,SAAS,CAACnhkB,SAAS,CAAC,QAAQ,OAAO,SAAS,OAAO,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU863B,OAAO,CAACphkB,SAAS,CAAC,MAAM,MAAM,OAAO,OAAO,QAAQ,OAAOt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU+63B,mBAAmB,CAACrhkB,SAAS,CAAC,SAAS,OAAO,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUg73B,iBAAiB,CAACthkB,SAAS,CAAC,OAAO,MAAM,OAAOt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUi73B,cAAc,CAACvhkB,SAAS,CAAC,SAAS,OAAO,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUk73B,YAAY,CAACxhkB,SAAS,CAAC,OAAO,MAAM,OAAOt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUm73B,eAAe,CAACzhkB,SAAS,CAAC,SAAS,OAAO,QAAQ,MAAM,YAAY,cAAc,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUo73B,aAAa,CAAC1hkB,SAAS,CAAC,OAAO,MAAM,MAAM,MAAM,YAAY,cAAc,WAAWt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUq73B,cAAc,CAAC3hkB,SAAS,CAAC,SAAS,OAAO,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUs73B,YAAY,CAAC5hkB,SAAS,CAAC,OAAO,MAAM,OAAOt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUu73B,cAAc,CAAC7hkB,SAAS,CAAC,SAAS,OAAO,QAAQ,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUw73B,YAAY,CAAC9hkB,SAAS,CAAC,OAAO,MAAM,MAAM,QAAQt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUy73B,qBAAqB,CAAC/hkB,SAAS,CAAC,SAAS,QAAQ,MAAM,YAAY,SAASt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU073B,mBAAmB,CAAChikB,SAAS,CAAC,OAAO,MAAM,MAAM,YAAY,SAASt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU273B,4BAA4B,CAACjikB,SAAS,CAAC,OAAO,OAAO,OAAO,YAAY,QAAQ,SAAS,aAAa,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU473B,8BAA8B,CAAClikB,SAAS,CAAC,OAAO,OAAO,OAAO,YAAY,QAAQ,SAAS,aAAa,YAAYt4S,KAAK,mNAAiL6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU673B,0BAA0B,CAACnikB,SAAS,CAAC,OAAO,OAAO,OAAO,YAAY,QAAQ,SAAS,aAAa,YAAYt4S,KAAK,mNAAiL6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU873B,qBAAqB,CAACpikB,SAAS,CAAC,OAAO,aAAa,OAAO,OAAO,SAAS,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU+73B,uBAAuB,CAACrikB,SAAS,CAAC,OAAO,aAAa,OAAO,OAAO,SAAS,YAAYt4S,KAAK,6OAA+L6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUg83B,mBAAmB,CAACtikB,SAAS,CAAC,OAAO,aAAa,OAAO,OAAO,SAAS,YAAYt4S,KAAK,6OAA+L6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUi83B,qBAAqB,CAACvikB,SAAS,CAAC,OAAO,UAAU,QAAQ,MAAM,MAAM,SAAS,SAAS,SAAS,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUk83B,sBAAsB,CAACxikB,SAAS,CAAC,OAAO,UAAU,SAAS,QAAQ,SAASt4S,KAAK,4MAA6K6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUm83B,0BAA0B,CAACzikB,SAAS,CAAC,OAAO,UAAU,SAAS,QAAQ,YAAYt4S,KAAK,sOAA2L6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUo83B,yBAAyB,CAAC1ikB,SAAS,CAAC,OAAO,UAAU,SAAS,QAAQ,YAAYt4S,KAAK,sOAA2L6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUq83B,2BAA2B,CAAC3ikB,SAAS,CAAC,OAAO,UAAU,SAAS,QAAQ,YAAYt4S,KAAK,sOAA2L6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUs83B,uBAAuB,CAAC5ikB,SAAS,CAAC,OAAO,UAAU,SAAS,QAAQ,YAAYt4S,KAAK,4MAA6K6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUu83B,wBAAwB,CAAC7ikB,SAAS,CAAC,OAAO,UAAU,SAAS,QAAQ,YAAYt4S,KAAK,4MAA6K6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUw83B,4BAA4B,CAAC9ikB,SAAS,CAAC,OAAO,UAAU,SAAS,QAAQ,YAAYt4S,KAAK,sOAA2L6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUy83B,2BAA2B,CAAC/ikB,SAAS,CAAC,OAAO,UAAU,SAAS,QAAQ,YAAYt4S,KAAK,sOAA2L6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU083B,6BAA6B,CAAChjkB,SAAS,CAAC,OAAO,UAAU,SAAS,QAAQ,YAAYt4S,KAAK,sOAA2L6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU283B,mBAAmB,CAACjjkB,SAAS,CAAC,OAAO,UAAU,SAAS,QAAQ,YAAYt4S,KAAK,4MAA6K6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU483B,oBAAoB,CAACljkB,SAAS,CAAC,OAAO,UAAU,SAAS,QAAQ,YAAYt4S,KAAK,4MAA6K6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU683B,wBAAwB,CAACnjkB,SAAS,CAAC,OAAO,UAAU,SAAS,QAAQ,YAAYt4S,KAAK,sOAA2L6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU883B,uBAAuB,CAACpjkB,SAAS,CAAC,OAAO,UAAU,SAAS,QAAQ,YAAYt4S,KAAK,sOAA2L6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU+83B,yBAAyB,CAACrjkB,SAAS,CAAC,OAAO,UAAU,SAAS,QAAQ,YAAYt4S,KAAK,sOAA2L6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUg93B,iBAAiB,CAACtjkB,SAAS,CAAC,OAAO,SAAS,SAAS,QAAQ,SAASt4S,KAAK,kLAA+J6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUi93B,kBAAkB,CAACvjkB,SAAS,CAAC,OAAO,SAAS,SAAS,QAAQ,SAASt4S,KAAK,kLAA+J6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUk93B,sBAAsB,CAACxjkB,SAAS,CAAC,OAAO,SAAS,SAAS,QAAQ,YAAYt4S,KAAK,4MAA6K6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUm93B,qBAAqB,CAACzjkB,SAAS,CAAC,OAAO,SAAS,SAAS,QAAQ,YAAYt4S,KAAK,4MAA6K6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUo93B,uBAAuB,CAAC1jkB,SAAS,CAAC,OAAO,SAAS,SAAS,QAAQ,YAAYt4S,KAAK,4MAA6K6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUq93B,eAAe,CAAC3jkB,SAAS,CAAC,OAAO,SAAS,SAAS,QAAQ,SAASt4S,KAAK,kLAA+J6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUs93B,gBAAgB,CAAC5jkB,SAAS,CAAC,OAAO,SAAS,SAAS,QAAQ,SAASt4S,KAAK,kLAA+J6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUu93B,oBAAoB,CAAC7jkB,SAAS,CAAC,OAAO,SAAS,SAAS,QAAQ,YAAYt4S,KAAK,4MAA6K6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUw93B,mBAAmB,CAAC9jkB,SAAS,CAAC,OAAO,SAAS,SAAS,QAAQ,YAAYt4S,KAAK,4MAA6K6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUy93B,qBAAqB,CAAC/jkB,SAAS,CAAC,OAAO,SAAS,SAAS,QAAQ,YAAYt4S,KAAK,4MAA6K6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU093B,KAAK,CAAChkkB,SAAS,CAAC,OAAO,UAAU,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU293B,OAAO,CAACjkkB,SAAS,CAAC,SAAS,SAAS,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU493B,KAAK,CAAClkkB,SAAS,CAAC,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU693B,QAAQ,CAACnkkB,SAAS,CAAC,SAAS,aAAa,YAAY,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU893B,eAAe,CAACpkkB,SAAS,CAAC,UAAU,gBAAgB,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU+93B,OAAO,CAACrkkB,SAAS,CAAC,UAAU,QAAQ,SAAS,QAAQ,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUg+3B,MAAM,CAACtkkB,SAAS,CAAC,UAAU,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUi+3B,QAAQ,CAACvkkB,SAAS,CAAC,QAAQ,SAAS,SAAS,UAAU,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUk+3B,MAAM,CAACxkkB,SAAS,CAAC,UAAU,UAAU,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUm+3B,OAAO,CAACzkkB,SAAS,CAAC,WAAW,SAAS,QAAQ,OAAO,UAAU,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUo+3B,OAAO,CAAC1kkB,SAAS,CAAC,QAAQ,UAAU,QAAQ,SAAS,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUq+3B,SAAS,CAAC3kkB,SAAS,CAAC,SAAS,OAAO,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUs+3B,KAAK,CAAC5kkB,SAAS,CAAC,OAAO,OAAO,OAAO,OAAO,YAAY,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUu+3B,WAAW,CAAC7kkB,SAAS,CAAC,OAAO,WAAW,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUw+3B,UAAU,CAAC9kkB,SAAS,CAAC,SAAS,UAAU,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUy+3B,UAAU,CAAC/kkB,SAAS,CAAC,UAAU,QAAQ,SAAS,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU0+3B,OAAO,CAAChlkB,SAAS,CAAC,QAAQ,UAAU,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU2+3B,KAAK,CAACjlkB,SAAS,CAAC,QAAQ,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU4+3B,UAAU,CAACllkB,SAAS,CAAC,UAAU,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU6+3B,cAAc,CAACnlkB,SAAS,CAAC,QAAQ,SAAS,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU8+3B,YAAY,CAACplkB,SAAS,CAAC,cAAc,UAAU,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU++3B,MAAM,CAACrlkB,SAAS,CAAC,YAAY,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUg/3B,OAAO,CAACtlkB,SAAS,CAAC,QAAQ,SAAS,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUi/3B,MAAM,CAACvlkB,SAAS,CAAC,OAAO,SAAS,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUk/3B,WAAW,CAACxlkB,SAAS,CAAC,UAAU,cAAc,SAAS,OAAO,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUm/3B,OAAO,CAACzlkB,SAAS,CAAC,QAAQ,YAAY,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUo/3B,WAAW,CAAC1lkB,SAAS,CAAC,MAAM,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUq/3B,qBAAqB,CAAC3lkB,SAAS,CAAC,eAAe,SAASt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUs/3B,aAAa,CAAC5lkB,SAAS,CAAC,SAAS,UAAU,SAAS,aAAa,aAAa,MAAM,MAAM,QAAQ,QAAQ,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUu/3B,MAAM,CAAC7lkB,SAAS,CAAC,OAAO,MAAM,SAAS,UAAU,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUw/3B,eAAe,CAAC9lkB,SAAS,CAAC,UAAU,YAAY,MAAM,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUy/3B,QAAQ,CAAC/lkB,SAAS,CAAC,UAAU,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU0/3B,MAAM,CAAChmkB,SAAS,CAAC,MAAM,cAAc,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU2/3B,MAAM,CAACjmkB,SAAS,CAAC,UAAU,cAAc,QAAQ,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU4/3B,QAAQ,CAAClmkB,SAAS,CAAC,UAAU,YAAY,cAAc,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU6/3B,UAAU,CAACnmkB,SAAS,CAAC,WAAW,YAAY,OAAO,MAAM,QAAQ,MAAM,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU8/3B,WAAW,CAACpmkB,SAAS,CAAC,UAAU,cAAc,WAAW,QAAQ,OAAO,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU+/3B,gBAAgB,CAACrmkB,SAAS,CAAC,OAAO,OAAO,eAAet4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUgg4B,QAAQ,CAACtmkB,SAAS,CAAC,OAAO,aAAa,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUig4B,KAAK,CAACvmkB,SAAS,CAAC,UAAU,UAAU,WAAW,aAAa,UAAU,UAAU,UAAU,MAAM,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUkg4B,gBAAgB,CAACxmkB,SAAS,CAAC,UAAU,OAAO,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUmg4B,IAAI,CAACzmkB,SAAS,CAAC,SAAS,SAAS,SAAS,OAAO,QAAQ,MAAM,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBg71B,IAAI,CAACthiB,SAAS,CAAC,SAAS,OAAO,SAAS,MAAM,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBh9C,MAAM,CAAC02W,SAAS,CAAC,SAAS,SAAS,eAAe,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBog4B,QAAQ,CAAC1mkB,SAAS,CAAC,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBqg4B,OAAO,CAAC3mkB,SAAS,CAAC,SAAS,SAAS,MAAM,SAAS,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBsg4B,SAAS,CAAC5mkB,SAAS,CAAC,SAAS,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBug4B,KAAK,CAAC7mkB,SAAS,CAAC,SAAS,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBwg4B,WAAW,CAAC9mkB,SAAS,CAAC,SAAS,SAAS,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsByg4B,MAAM,CAAC/mkB,SAAS,CAAC,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB0g4B,MAAM,CAAChnkB,SAAS,CAAC,SAAS,MAAM,SAAS,OAAO,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB2g4B,KAAK,CAACjnkB,SAAS,CAAC,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB4g4B,IAAI,CAAClnkB,SAAS,CAAC,OAAO,KAAK,SAAS,SAAS,MAAM,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB6g4B,IAAI,CAACnnkB,SAAS,CAAC,SAAS,OAAO,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB8g4B,SAAS,CAACpnkB,SAAS,CAAC,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB+g4B,KAAK,CAACrnkB,SAAS,CAAC,SAAS,SAAS,QAAQ,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBgh4B,MAAM,CAACtnkB,SAAS,CAAC,SAAS,SAAS,QAAQ,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBih4B,QAAQ,CAACvnkB,SAAS,CAAC,SAAS,WAAW,QAAQ,MAAM,SAAS,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBkh4B,OAAO,CAACxnkB,SAAS,CAAC,SAAS,QAAQ,SAAS,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBmh4B,YAAY,CAACznkB,SAAS,CAAC,SAAS,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBoh4B,QAAQ,CAAC1nkB,SAAS,CAAC,SAAS,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBqh4B,YAAY,CAAC3nkB,SAAS,CAAC,SAAS,SAAS,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBsh4B,aAAa,CAAC5nkB,SAAS,CAAC,SAAS,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBuh4B,cAAc,CAAC7nkB,SAAS,CAAC,SAAS,SAAS,SAAS,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBwh4B,OAAO,CAAC9nkB,SAAS,CAAC,SAAS,SAAS,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsByh4B,QAAQ,CAAC/nkB,SAAS,CAAC,SAAS,QAAQ,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB0h4B,QAAQ,CAAChokB,SAAS,CAAC,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB2h4B,KAAK,CAACjokB,SAAS,CAAC,SAAS,SAAS,MAAM,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB4h4B,WAAW,CAAClokB,SAAS,CAAC,SAAS,UAAU,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB6h4B,eAAe,CAACnokB,SAAS,CAAC,SAAS,UAAU,MAAM,OAAO,OAAO,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB8h4B,cAAc,CAACpokB,SAAS,CAAC,SAAS,UAAU,OAAO,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB+h4B,KAAK,CAACrokB,SAAS,CAAC,SAAS,SAAS,OAAO,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBgi4B,MAAM,CAACtokB,SAAS,CAAC,SAAS,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBii4B,IAAI,CAACvokB,SAAS,CAAC,SAAS,SAAS,OAAO,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBki4B,IAAI,CAACxokB,SAAS,CAAC,SAAS,SAAS,QAAQ,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBmi4B,KAAK,CAACzokB,SAAS,CAAC,SAAS,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBoi4B,KAAK,CAAC1okB,SAAS,CAAC,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBqi4B,MAAM,CAAC3okB,SAAS,CAAC,SAAS,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBsi4B,QAAQ,CAAC5okB,SAAS,CAAC,SAAS,SAAS,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBui4B,SAAS,CAAC7okB,SAAS,CAAC,SAAS,SAAS,SAAS,MAAM,SAAS,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBwi4B,IAAI,CAAC9okB,SAAS,CAAC,SAAS,SAAS,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsByi4B,UAAU,CAAC/okB,SAAS,CAAC,SAAS,SAAS,SAAS,eAAet4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB0i4B,MAAM,CAAChpkB,SAAS,CAAC,OAAO,SAAS,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB2i4B,OAAO,CAACjpkB,SAAS,CAAC,SAAS,SAAS,SAAS,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB4i4B,IAAI,CAAClpkB,SAAS,CAAC,SAAS,SAAS,SAAS,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB6i4B,YAAY,CAACnpkB,SAAS,CAAC,SAAS,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB8i4B,OAAO,CAACppkB,SAAS,CAAC,SAAS,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB+i4B,SAAS,CAACrpkB,SAAS,CAAC,SAAS,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBgj4B,KAAK,CAACtpkB,SAAS,CAAC,SAAS,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBwvyB,MAAM,CAAC91e,SAAS,CAAC,SAAS,OAAO,SAAS,OAAO,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBij4B,OAAO,CAACvpkB,SAAS,CAAC,SAAS,SAAS,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB,QAAQ,CAAC05T,SAAS,CAAC,SAAS,SAAS,WAAW,gBAAgB,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBkj4B,SAAS,CAACxpkB,SAAS,CAAC,SAAS,SAAS,WAAW,gBAAgB,eAAe,aAAa,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBmj4B,OAAO,CAACzpkB,SAAS,CAAC,SAAS,OAAO,SAAS,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBoj4B,cAAc,CAAC1pkB,SAAS,CAAC,SAAS,OAAO,QAAQ,QAAQ,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBqj4B,KAAK,CAAC3pkB,SAAS,CAAC,SAAS,OAAO,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBsj4B,SAAS,CAAC5pkB,SAAS,CAAC,SAAS,SAAS,OAAO,MAAM,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBuj4B,QAAQ,CAAC7pkB,SAAS,CAAC,SAAS,SAAS,OAAO,MAAM,QAAQ,UAAU,OAAO,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBwj4B,MAAM,CAAC9pkB,SAAS,CAAC,SAAS,SAAS,OAAO,MAAM,QAAQ,OAAO,OAAO,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsByj4B,MAAM,CAAC/pkB,SAAS,CAAC,SAAS,SAAS,MAAM,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB0j4B,OAAO,CAAChqkB,SAAS,CAAC,SAAS,SAAS,MAAM,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB2j4B,UAAU,CAACjqkB,SAAS,CAAC,SAAS,SAAS,UAAU,SAAS,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB4j4B,QAAQ,CAAClqkB,SAAS,CAAC,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB6j4B,MAAM,CAACnqkB,SAAS,CAAC,SAAS,SAAS,UAAU,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB8j4B,OAAO,CAACpqkB,SAAS,CAAC,SAAS,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB+j4B,cAAc,CAACrqkB,SAAS,CAAC,SAAS,SAAS,KAAK,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB0+hB,GAAG,CAAChlO,SAAS,CAAC,SAAS,MAAM,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBgk4B,KAAK,CAACtqkB,SAAS,CAAC,OAAO,KAAK,SAAS,SAAS,MAAM,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBik4B,KAAK,CAACvqkB,SAAS,CAAC,SAAS,SAAS,QAAQ,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBkk4B,gBAAgB,CAACxqkB,SAAS,CAAC,SAAS,MAAM,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBmk4B,MAAM,CAACzqkB,SAAS,CAAC,SAAS,SAAS,MAAM,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBok4B,QAAQ,CAAC1qkB,SAAS,CAAC,SAAS,SAAS,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBqk4B,SAAS,CAAC3qkB,SAAS,CAAC,SAAS,SAAS,OAAO,KAAK,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBsk4B,WAAW,CAAC5qkB,SAAS,CAAC,SAAS,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBuk4B,KAAK,CAAC7qkB,SAAS,CAAC,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBwk4B,IAAI,CAAC9qkB,SAAS,CAAC,SAAS,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsByk4B,MAAM,CAAC/qkB,SAAS,CAAC,SAAS,SAAS,OAAO,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB0k4B,UAAU,CAAChrkB,SAAS,CAAC,SAAS,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB2k4B,KAAK,CAACjrkB,SAAS,CAAC,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB4k4B,IAAI,CAAClrkB,SAAS,CAAC,SAAS,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB6k4B,OAAO,CAACnrkB,SAAS,CAAC,SAAS,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB8k4B,QAAQ,CAACprkB,SAAS,CAAC,SAAS,SAAS,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB+k4B,OAAO,CAACrrkB,SAAS,CAAC,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBgl4B,KAAK,CAACtrkB,SAAS,CAAC,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBil4B,KAAK,CAACvrkB,SAAS,CAAC,SAAS,SAAS,SAAS,OAAO,MAAM,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBkl4B,OAAO,CAACxrkB,SAAS,CAAC,MAAM,SAAS,MAAM,SAAS,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBml4B,KAAK,CAACzrkB,SAAS,CAAC,SAAS,OAAO,MAAM,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBol4B,QAAQ,CAAC1rkB,SAAS,CAAC,SAAS,SAAS,MAAM,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBql4B,SAAS,CAAC3rkB,SAAS,CAAC,SAAS,SAAS,SAAS,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBsl4B,SAAS,CAAC5rkB,SAAS,CAAC,SAAS,SAAS,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBul4B,QAAQ,CAAC7rkB,SAAS,CAAC,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBwl4B,MAAM,CAAC9rkB,SAAS,CAAC,SAAS,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsByl4B,aAAa,CAAC/rkB,SAAS,CAAC,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB0l4B,SAAS,CAAChskB,SAAS,CAAC,SAAS,SAAS,YAAY,OAAO,MAAM,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB2l4B,OAAO,CAACjskB,SAAS,CAAC,SAAS,SAAS,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB4l4B,KAAK,CAAClskB,SAAS,CAAC,SAAS,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB6l4B,QAAQ,CAACnskB,SAAS,CAAC,SAAS,SAAS,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB8l4B,OAAO,CAACpskB,SAAS,CAAC,SAAS,SAAS,OAAO,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB+l4B,QAAQ,CAACrskB,SAAS,CAAC,SAAS,SAAS,SAAS,QAAQ,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBgm4B,SAAS,CAACtskB,SAAS,CAAC,SAAS,SAAS,SAAS,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBim4B,WAAW,CAACvskB,SAAS,CAAC,SAAS,WAAW,aAAa,MAAM,MAAM,MAAM,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBkm4B,OAAO,CAACxskB,SAAS,CAAC,SAAS,OAAO,SAAS,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBmm4B,YAAY,CAACzskB,SAAS,CAAC,SAAS,OAAO,SAAS,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBom4B,OAAO,CAAC1skB,SAAS,CAAC,YAAY,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBqm4B,eAAe,CAAC3skB,SAAS,CAAC,WAAW,WAAW,WAAW,OAAO,eAAet4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBsm4B,eAAe,CAAC5skB,SAAS,CAAC,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBum4B,eAAe,CAAC7skB,SAAS,CAAC,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBwm4B,UAAU,CAAC9skB,SAAS,CAAC,QAAQ,YAAY,SAAS,SAAS,QAAQ,SAAS,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBym4B,SAAS,CAAC/skB,SAAS,CAAC,QAAQ,SAAS,QAAQ,OAAO,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB0m4B,KAAK,CAAChtkB,SAAS,CAAC,YAAY,QAAQ,WAAW,OAAO,QAAQ,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB2m4B,SAAS,CAACjtkB,SAAS,CAAC,YAAY,QAAQ,SAAS,QAAQ,UAAUt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB4m4B,iBAAiB,CAACltkB,SAAS,CAAC,YAAY,QAAQ,SAAS,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB6m4B,OAAO,CAACntkB,SAAS,CAAC,QAAQ,SAAS,YAAY,QAAQ,mBAAmBt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB8m4B,cAAc,CAACptkB,SAAS,CAAC,QAAQ,SAAS,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB+m4B,OAAO,CAACrtkB,SAAS,CAAC,SAAS,QAAQ,OAAO,YAAY,QAAQ,OAAO,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBgn4B,YAAY,CAACttkB,SAAS,CAAC,SAAS,QAAQ,YAAY,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBin4B,WAAW,CAACvtkB,SAAS,CAAC,SAAS,QAAQ,YAAY,KAAK,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBkn4B,YAAY,CAACxtkB,SAAS,CAAC,SAAS,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBmn4B,SAAS,CAACztkB,SAAS,CAAC,QAAQ,YAAY,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBon4B,UAAU,CAAC1tkB,SAAS,CAAC,SAAS,QAAQ,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBqn4B,KAAK,CAAC3tkB,SAAS,CAAC,UAAU,aAAa,OAAO,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBsn4B,cAAc,CAAC5tkB,SAAS,CAAC,QAAQ,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBun4B,MAAM,CAAC7tkB,SAAS,CAAC,UAAU,QAAQ,SAAS,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBwn4B,QAAQ,CAAC9tkB,SAAS,CAAC,SAAS,UAAU,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsByn4B,eAAe,CAAC/tkB,SAAS,CAAC,SAAS,QAAQ,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB0n4B,QAAQ,CAAChukB,SAAS,CAAC,UAAU,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB2n4B,SAAS,CAACjukB,SAAS,CAAC,QAAQ,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB4n4B,SAAS,CAAClukB,SAAS,CAAC,OAAO,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB6n4B,eAAe,CAACnukB,SAAS,CAAC,YAAY,QAAQ,UAAU,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB8n4B,MAAM,CAACpukB,SAAS,CAAC,SAAS,MAAM,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB+n4B,WAAW,CAACrukB,SAAS,CAAC,SAAS,SAAS,WAAW,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBgo4B,eAAe,CAACtukB,SAAS,CAAC,QAAQ,QAAQ,MAAM,iBAAiBt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBio4B,aAAa,CAACvukB,SAAS,CAAC,QAAQ,QAAQ,iBAAiBt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBko4B,WAAW,CAACxukB,SAAS,CAAC,QAAQ,QAAQ,OAAO,iBAAiBt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBmo4B,UAAU,CAACzukB,SAAS,CAAC,SAAS,SAAS,WAAW,SAAS,QAAQ,QAAQ,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBoo4B,oBAAoB,CAAC1ukB,SAAS,CAAC,SAAS,WAAW,SAAS,QAAQ,QAAQ,UAAU,QAAQ,uBAAuBt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBqo4B,kBAAkB,CAAC3ukB,SAAS,CAAC,SAAS,WAAW,SAAS,QAAQ,QAAQ,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBso4B,qBAAqB,CAAC5ukB,SAAS,CAAC,SAAS,WAAW,SAAS,QAAQ,QAAQ,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBuo4B,SAAS,CAAC7ukB,SAAS,CAAC,SAAS,WAAW,SAAS,QAAQ,QAAQ,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBwo4B,qBAAqB,CAAC9ukB,SAAS,CAAC,SAAS,WAAW,SAAS,QAAQ,QAAQ,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsByo4B,mBAAmB,CAAC/ukB,SAAS,CAAC,SAAS,WAAW,SAAS,QAAQ,QAAQ,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB0o4B,oBAAoB,CAAChvkB,SAAS,CAAC,SAAS,QAAQ,MAAM,OAAO,WAAW,SAAS,QAAQ,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB2o4B,mBAAmB,CAACjvkB,SAAS,CAAC,SAAS,WAAW,SAAS,QAAQ,QAAQ,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB4o4B,oBAAoB,CAAClvkB,SAAS,CAAC,SAAS,WAAW,SAAS,QAAQ,QAAQ,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB6o4B,6BAA6B,CAACnvkB,SAAS,CAAC,SAAS,WAAW,SAAS,QAAQ,QAAQ,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB8o4B,4BAA4B,CAACpvkB,SAAS,CAAC,SAAS,WAAW,SAAS,QAAQ,QAAQ,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB+o4B,cAAc,CAACrvkB,SAAS,CAAC,SAAS,UAAU,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBgp4B,cAAc,CAACtvkB,SAAS,CAAC,QAAQ,QAAQ,MAAM,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBip4B,KAAK,CAACvvkB,SAAS,CAAC,QAAQ,UAAUt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBkp4B,MAAM,CAACxvkB,SAAS,CAAC,QAAQ,UAAU,UAAU,OAAO,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBmp4B,MAAM,CAACzvkB,SAAS,CAAC,OAAO,UAAU,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBop4B,SAAS,CAAC1vkB,SAAS,CAAC,QAAQ,QAAQ,QAAQ,OAAO,UAAU,OAAO,SAASt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBqp4B,MAAM,CAAC3vkB,SAAS,CAAC,SAASt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBsp4B,MAAM,CAAC5vkB,SAAS,CAAC,UAAU,SAAS,aAAa,SAAS,QAAQ,UAAUt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBup4B,uBAAuB,CAAC7vkB,SAAS,CAAC,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBwp4B,aAAa,CAAC9vkB,SAAS,CAAC,UAAU,SAAS,SAAS,UAAU,OAAO,UAAUt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsByp4B,uBAAuB,CAAC/vkB,SAAS,CAAC,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB0p4B,sBAAsB,CAAChwkB,SAAS,CAAC,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB2p4B,MAAM,CAACjwkB,SAAS,CAAC,UAAU,OAAOt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB4p4B,gBAAgB,CAAClwkB,SAAS,CAAC,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB6p4B,8BAA8B,CAACnwkB,SAAS,CAAC,UAAU,aAAat4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB8p4B,qBAAqB,CAACpwkB,SAAS,CAAC,UAAU,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB+p4B,IAAI,CAACrwkB,SAAS,CAAC,UAAU,UAAU,iBAAiB,QAAQt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB2pd,KAAK,CAACjwJ,SAAS,CAAC,MAAM,OAAO,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBgq4B,KAAK,CAACtwkB,SAAS,CAAC,OAAO,UAAU,YAAY,YAAY,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBiq4B,UAAU,CAACvwkB,SAAS,CAAC,SAAS,SAAS,OAAO,UAAU,YAAY,QAAQt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBkq4B,gBAAgB,CAACxwkB,SAAS,CAAC,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBmq4B,QAAQ,CAACzwkB,SAAS,CAAC,SAAS,SAAS,OAAO,UAAU,YAAY,OAAO,SAAS,gBAAgBt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBoq4B,kBAAkB,CAAC1wkB,SAAS,CAAC,SAAS,SAAS,OAAO,UAAU,YAAY,OAAO,UAAUt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBqq4B,UAAU,CAAC3wkB,SAAS,CAAC,OAAO,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBoukB,KAAK,CAAC10Q,SAAS,CAAC,OAAO,MAAM,OAAO,OAAO,OAAO,QAAQ,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBsq4B,QAAQ,CAAC5wkB,SAAS,CAAC,UAAU,UAAU,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBuq4B,IAAI,CAAC7wkB,SAAS,CAAC,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBwq4B,cAAc,CAAC9wkB,SAAS,CAAC,UAAU,UAAUt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsByq4B,SAAS,CAAC/wkB,SAAS,CAAC,QAAQ,UAAU,UAAUt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB0q4B,QAAQ,CAAChxkB,SAAS,CAAC,QAAQ,OAAO,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB2q4B,YAAY,CAACjxkB,SAAS,CAAC,QAAQ,OAAO,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB4q4B,MAAM,CAAClxkB,SAAS,CAAC,MAAM,QAAQ,OAAO,SAAS,UAAU,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB6q4B,YAAY,CAACnxkB,SAAS,CAAC,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB8q4B,MAAM,CAACpxkB,SAAS,CAAC,QAAQ,MAAM,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB+q4B,KAAK,CAACrxkB,SAAS,CAAC,QAAQ,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBgr4B,UAAU,CAACtxkB,SAAS,CAAC,OAAO,QAAQ,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBir4B,MAAM,CAACvxkB,SAAS,CAAC,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBkr4B,OAAO,CAACxxkB,SAAS,CAAC,QAAQ,OAAO,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBmr4B,WAAW,CAACzxkB,SAAS,CAAC,QAAQ,OAAO,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBor4B,OAAO,CAAC1xkB,SAAS,CAAC,QAAQ,OAAO,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBqr4B,WAAW,CAAC3xkB,SAAS,CAAC,QAAQ,OAAO,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBsr4B,MAAM,CAAC5xkB,SAAS,CAAC,QAAQ,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBur4B,SAAS,CAAC7xkB,SAAS,CAAC,OAAO,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBwr4B,MAAM,CAAC9xkB,SAAS,CAAC,QAAQ,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkByr4B,UAAU,CAAC/xkB,SAAS,CAAC,QAAQ,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB0r4B,QAAQ,CAAChykB,SAAS,CAAC,QAAQ,SAAS,OAAO,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB2r4B,WAAW,CAACjykB,SAAS,CAAC,QAAQ,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB4r4B,MAAM,CAAClykB,SAAS,CAAC,QAAQ,OAAO,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB6r4B,QAAQ,CAACnykB,SAAS,CAAC,QAAQ,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB8r4B,SAAS,CAACpykB,SAAS,CAAC,QAAQ,OAAO,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBwgX,OAAO,CAAC9mD,SAAS,CAAC,QAAQ,YAAY,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB+r4B,SAAS,CAACrykB,SAAS,CAAC,YAAY,SAAS,OAAO,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBgs4B,SAAS,CAACtykB,SAAS,CAAC,QAAQ,OAAO,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBis4B,OAAO,CAACvykB,SAAS,CAAC,YAAY,OAAO,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBks4B,WAAW,CAACxykB,SAAS,CAAC,OAAO,QAAQ,SAAS,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBms4B,OAAO,CAACzykB,SAAS,CAAC,OAAO,QAAQ,YAAY,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBos4B,KAAK,CAAC1ykB,SAAS,CAAC,OAAO,YAAY,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBqs4B,aAAa,CAAC3ykB,SAAS,CAAC,OAAO,YAAY,QAAQ,WAAW,UAAU,OAAO,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBss4B,aAAa,CAAC5ykB,SAAS,CAAC,OAAO,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBus4B,QAAQ,CAAC7ykB,SAAS,CAAC,OAAO,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBws4B,UAAU,CAAC9ykB,SAAS,CAAC,OAAO,QAAQ,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBys4B,UAAU,CAAC/ykB,SAAS,CAAC,OAAO,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB0s4B,MAAM,CAAChzkB,SAAS,CAAC,OAAO,QAAQ,YAAY,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB2s4B,eAAe,CAACjzkB,SAAS,CAAC,OAAO,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB4s4B,MAAM,CAAClzkB,SAAS,CAAC,OAAO,QAAQ,SAAS,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB6s4B,QAAQ,CAACnzkB,SAAS,CAAC,OAAO,QAAQ,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB8s4B,OAAO,CAACpzkB,SAAS,CAAC,OAAO,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB+s4B,IAAI,CAACrzkB,SAAS,CAAC,OAAO,UAAU,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBgt4B,MAAM,CAACtzkB,SAAS,CAAC,OAAO,YAAY,OAAO,MAAM,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBit4B,MAAM,CAACvzkB,SAAS,CAAC,OAAO,MAAM,OAAO,MAAM,OAAO,WAAW,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBkt4B,SAAS,CAACxzkB,SAAS,CAAC,OAAO,YAAY,YAAY,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBmt4B,YAAY,CAACzzkB,SAAS,CAAC,OAAO,OAAO,YAAY,OAAO,UAAU,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBot4B,aAAa,CAAC1zkB,SAAS,CAAC,OAAO,OAAO,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBqt4B,KAAK,CAAC3zkB,SAAS,CAAC,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBst4B,aAAa,CAAC5zkB,SAAS,CAAC,OAAO,SAAS,YAAY,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBut4B,UAAU,CAAC7zkB,SAAS,CAAC,OAAO,YAAY,UAAU,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBwt4B,UAAU,CAAC9zkB,SAAS,CAAC,OAAO,YAAY,OAAO,eAAe,YAAY,eAAet4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkByt4B,MAAM,CAAC/zkB,SAAS,CAAC,QAAQ,QAAQ,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB0t4B,kBAAkB,CAACh0kB,SAAS,CAAC,OAAO,YAAY,UAAU,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB2t4B,OAAO,CAACj0kB,SAAS,CAAC,OAAO,eAAet4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB4t4B,MAAM,CAACl0kB,SAAS,CAAC,OAAO,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB6t4B,SAAS,CAACn0kB,SAAS,CAAC,OAAO,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB8t4B,YAAY,CAACp0kB,SAAS,CAAC,OAAO,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB+t4B,UAAU,CAACr0kB,SAAS,CAAC,OAAO,UAAU,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBgu4B,KAAK,CAACt0kB,SAAS,CAAC,OAAO,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBiu4B,QAAQ,CAACv0kB,SAAS,CAAC,OAAO,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBku4B,YAAY,CAACx0kB,SAAS,CAAC,OAAO,UAAU,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBmu4B,oBAAoB,CAACz0kB,SAAS,CAAC,OAAO,UAAU,YAAY,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBou4B,MAAM,CAAC10kB,SAAS,CAAC,OAAO,WAAW,SAAS,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBqu4B,KAAK,CAAC30kB,SAAS,CAAC,OAAO,OAAO,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBsu4B,UAAU,CAAC50kB,SAAS,CAAC,OAAO,QAAQ,MAAM,QAAQ,aAAa,OAAO,QAAQ,WAAW,SAAS,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBuu4B,eAAe,CAAC70kB,SAAS,CAAC,OAAO,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBwu4B,MAAM,CAAC90kB,SAAS,CAAC,OAAO,OAAO,WAAW,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkByu4B,MAAM,CAAC/0kB,SAAS,CAAC,OAAO,WAAW,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB0sf,MAAM,CAAChzL,SAAS,CAAC,OAAO,QAAQ,MAAM,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB0u4B,UAAU,CAACh1kB,SAAS,CAAC,OAAO,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB2u4B,KAAK,CAACj1kB,SAAS,CAAC,OAAO,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB4u4B,aAAa,CAACl1kB,SAAS,CAAC,OAAO,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB6u4B,KAAK,CAACn1kB,SAAS,CAAC,OAAO,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB8u4B,MAAM,CAACp1kB,SAAS,CAAC,OAAO,UAAU,QAAQ,WAAW,WAAW,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB+u4B,WAAW,CAACr1kB,SAAS,CAAC,MAAM,UAAU,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBgv4B,UAAU,CAACt1kB,SAAS,CAAC,OAAO,MAAM,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBiv4B,SAAS,CAACv1kB,SAAS,CAAC,OAAO,MAAM,UAAU,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBkv4B,IAAI,CAACx1kB,SAAS,CAAC,OAAO,UAAU,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBmv4B,KAAK,CAACz1kB,SAAS,CAAC,OAAO,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBov4B,QAAQ,CAAC11kB,SAAS,CAAC,OAAO,UAAU,SAAS,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBqv4B,UAAU,CAAC31kB,SAAS,CAAC,OAAO,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBsv4B,SAAS,CAAC51kB,SAAS,CAAC,OAAO,UAAU,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBuv4B,QAAQ,CAAC71kB,SAAS,CAAC,UAAU,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBwv4B,MAAM,CAAC91kB,SAAS,CAAC,QAAQ,UAAU,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkByv4B,SAAS,CAAC/1kB,SAAS,CAAC,OAAO,QAAQ,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB0v4B,cAAc,CAACh2kB,SAAS,CAAC,OAAO,QAAQ,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB2v4B,QAAQ,CAACj2kB,SAAS,CAAC,OAAO,gBAAgB,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB4v4B,SAAS,CAACl2kB,SAAS,CAAC,OAAO,WAAW,UAAU,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB6v4B,SAAS,CAACn2kB,SAAS,CAAC,OAAO,UAAU,QAAQ,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB04gB,OAAO,CAACh/M,SAAS,CAAC,OAAO,QAAQ,OAAO,YAAY,QAAQ,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB8v4B,WAAW,CAACp2kB,SAAS,CAAC,WAAW,QAAQ,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB+v4B,KAAK,CAACr2kB,SAAS,CAAC,QAAQ,WAAW,QAAQ,QAAQ,QAAQ,MAAM,SAAS,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBgw4B,MAAM,CAACt2kB,SAAS,CAAC,QAAQ,WAAW,QAAQ,QAAQ,QAAQ,MAAM,SAAS,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBiw4B,iBAAiB,CAACv2kB,SAAS,CAAC,WAAW,QAAQ,QAAQ,UAAU,YAAY,SAAS,OAAO,YAAY,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBkw4B,WAAW,CAACx2kB,SAAS,CAAC,QAAQ,WAAW,QAAQ,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBmw4B,cAAc,CAACz2kB,SAAS,CAAC,QAAQ,WAAW,QAAQ,UAAU,SAAS,QAAQ,UAAU,SAAS,SAAS,QAAQ,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBow4B,SAAS,CAAC12kB,SAAS,CAAC,QAAQ,QAAQ,UAAU,WAAW,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBqw4B,eAAe,CAAC32kB,SAAS,CAAC,WAAW,WAAW,SAAS,QAAQ,UAAU,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBsw4B,UAAU,CAAC52kB,SAAS,CAAC,QAAQ,OAAO,SAAS,eAAet4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBuw4B,KAAK,CAAC72kB,SAAS,CAAC,OAAO,QAAQ,QAAQ,WAAW,WAAW,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBww4B,IAAI,CAAC92kB,SAAS,CAAC,QAAQ,OAAO,YAAY,QAAQ,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkByw4B,eAAe,CAAC/2kB,SAAS,CAAC,QAAQ,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB0w4B,OAAO,CAACh3kB,SAAS,CAAC,WAAW,WAAW,QAAQ,YAAYt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB2w4B,YAAY,CAACj3kB,SAAS,CAAC,OAAO,YAAY,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB4w4B,KAAK,CAACl3kB,SAAS,CAAC,YAAY,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB6w4B,MAAM,CAACn3kB,SAAS,CAAC,UAAU,UAAU,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB8w4B,eAAe,CAACp3kB,SAAS,CAAC,UAAU,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB+w4B,mBAAmB,CAACr3kB,SAAS,CAAC,OAAO,MAAM,OAAO,QAAQ,SAAS,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBgx4B,gBAAgB,CAACt3kB,SAAS,CAAC,OAAO,YAAY,SAAS,UAAU,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBix4B,YAAY,CAACv3kB,SAAS,CAAC,OAAO,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBkx4B,WAAW,CAACx3kB,SAAS,CAAC,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBmx4B,OAAO,CAACz3kB,SAAS,CAAC,SAAS,YAAYt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYox4B,WAAW,CAAC13kB,SAAS,CAAC,SAAS,QAAQ,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYqx4B,SAAS,CAAC33kB,SAAS,CAAC,SAAS,QAAQ,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYsx4B,SAAS,CAAC53kB,SAAS,CAAC,SAAS,SAASt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYux4B,SAAS,CAAC73kB,SAAS,CAAC,SAAS,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYwx4B,OAAO,CAAC93kB,SAAS,CAAC,SAAS,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYyx4B,WAAW,CAAC/3kB,SAAS,CAAC,SAAS,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY0x4B,eAAe,CAACh4kB,SAAS,CAAC,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY2x4B,YAAY,CAACj4kB,SAAS,CAAC,SAAS,UAAU,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY,QAAQ,CAAC05T,SAAS,CAAC,OAAO,QAAQ,OAAO,OAAO,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY4x4B,KAAK,CAACl4kB,SAAS,CAAC,SAAS,WAAW,OAAO,OAAO,UAAUt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY6x4B,cAAc,CAACn4kB,SAAS,CAAC,SAAS,WAAW,QAAQ,UAAUt4S,KAAK,oMAAyK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY8x4B,YAAY,CAACp4kB,SAAS,CAAC,SAAS,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY+x4B,UAAU,CAACr4kB,SAAS,CAAC,SAAS,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYgy4B,UAAU,CAACt4kB,SAAS,CAAC,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYiy4B,SAAS,CAACv4kB,SAAS,CAAC,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYky4B,WAAW,CAACx4kB,SAAS,CAAC,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYmy4B,aAAa,CAACz4kB,SAAS,CAAC,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYoy4B,SAAS,CAAC14kB,SAAS,CAAC,SAAS,OAAO,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYqy4B,QAAQ,CAAC34kB,SAAS,CAAC,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYsy4B,IAAI,CAAC54kB,SAAS,CAAC,SAAS,SAAS,OAAO,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYuy4B,MAAM,CAAC74kB,SAAS,CAAC,SAAS,SAAS,QAAQt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYwy4B,YAAY,CAAC94kB,SAAS,CAAC,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,YAAYyy4B,eAAe,CAAC/4kB,SAAS,CAAC,SAAS,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY0y4B,gBAAgB,CAACh5kB,SAAS,CAAC,SAAS,aAAat4S,KAAK,yLAAmK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY2y4B,cAAc,CAACj5kB,SAAS,CAAC,SAAS,aAAat4S,KAAK,yLAAmK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY4y4B,mBAAmB,CAACl5kB,SAAS,CAAC,cAAct4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY6y4B,iBAAiB,CAACn5kB,SAAS,CAAC,cAAct4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY8y4B,uBAAuB,CAACp5kB,SAAS,CAAC,UAAUt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY+y4B,qBAAqB,CAACr5kB,SAAS,CAAC,UAAUt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,YAAYgz4B,UAAU,CAACt5kB,SAAS,CAAC,UAAUt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYiz4B,cAAc,CAACv5kB,SAAS,CAAC,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYkz4B,WAAW,CAACx5kB,SAAS,CAAC,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYmz4B,KAAK,CAACz5kB,SAAS,CAAC,SAAS,OAAO,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYoz4B,cAAc,CAAC15kB,SAAS,CAAC,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYqz4B,sBAAsB,CAAC35kB,SAAS,CAAC,OAAO,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYsz4B,aAAa,CAAC55kB,SAAS,CAAC,SAAS,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYuz4B,qBAAqB,CAAC75kB,SAAS,CAAC,OAAO,SAAS,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYwz4B,aAAa,CAAC95kB,SAAS,CAAC,SAAS,QAAQ,QAAQ,OAAO,QAAQ,UAAUt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,YAAYyz4B,WAAW,CAAC/5kB,SAAS,CAAC,SAAS,QAAQ,QAAQ,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY0z4B,eAAe,CAACh6kB,SAAS,CAAC,SAAS,QAAQ,QAAQ,SAAS,QAAQt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY2z4B,aAAa,CAACj6kB,SAAS,CAAC,SAAS,QAAQ,MAAM,OAAO,QAAQt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY4z4B,eAAe,CAACl6kB,SAAS,CAAC,SAAS,WAAW,QAAQ,UAAU,QAAQ,SAAS,QAAQ,UAAUt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY6z4B,aAAa,CAACn6kB,SAAS,CAAC,SAAS,WAAW,QAAQ,UAAU,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY8z4B,yBAAyB,CAACp6kB,SAAS,CAAC,SAAS,QAAQt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY+z4B,uBAAuB,CAACr6kB,SAAS,CAAC,SAAS,QAAQt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,YAAYg04B,wBAAwB,CAACt6kB,SAAS,CAAC,QAAQ,SAAS,aAAa,OAAO,WAAW,MAAM,eAAet4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,YAAYi04B,sBAAsB,CAACv6kB,SAAS,CAAC,MAAM,OAAO,aAAa,OAAO,WAAW,MAAM,eAAet4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,YAAYk04B,cAAc,CAACx6kB,SAAS,CAAC,SAAS,QAAQ,MAAM,SAAS,QAAQ,QAAQ,UAAUt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,YAAYm04B,YAAY,CAACz6kB,SAAS,CAAC,SAAS,QAAQ,MAAM,SAAS,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,YAAYo04B,KAAK,CAAC16kB,SAAS,CAAC,QAAQ,SAAS,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,YAAYq04B,iBAAiB,CAAC36kB,SAAS,CAAC,SAAS,QAAQ,QAAQ,UAAUt4S,KAAK,gMAAuK6p2B,mBAAkB,EAAKjr3B,SAAS,YAAYs04B,eAAe,CAAC56kB,SAAS,CAAC,SAAS,SAASt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAKjr3B,SAAS,YAAYu04B,qBAAqB,CAAC76kB,SAAS,CAAC,SAAS,WAAW,WAAW,QAAQ,UAAUt4S,KAAK,oMAAyK6p2B,mBAAkB,EAAKjr3B,SAAS,YAAYw04B,mBAAmB,CAAC96kB,SAAS,CAAC,SAAS,WAAW,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,YAAYy04B,aAAa,CAAC/6kB,SAAS,CAAC,SAAS,OAAO,WAAW,UAAU,QAAQ,UAAUt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY004B,WAAW,CAACh7kB,SAAS,CAAC,SAAS,OAAO,WAAW,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY204B,sBAAsB,CAACj7kB,SAAS,CAAC,iBAAiB,SAAS,QAAQ,OAAO,OAAO,QAAQ,UAAUt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY404B,oBAAoB,CAACl7kB,SAAS,CAAC,iBAAiB,SAAS,QAAQ,OAAO,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY604B,aAAa,CAACn7kB,SAAS,CAAC,SAAS,UAAU,cAAc,WAAW,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY804B,yBAAyB,CAACp7kB,SAAS,CAAC,OAAO,WAAW,WAAW,QAAQ,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY+04B,OAAO,CAACr7kB,SAAS,CAAC,MAAM,QAAQ,UAAU,QAAQ,MAAM,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYg14B,wBAAwB,CAACt7kB,SAAS,CAAC,OAAO,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYi14B,aAAa,CAACv7kB,SAAS,CAAC,QAAQ,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYk14B,eAAe,CAACx7kB,SAAS,CAAC,QAAQ,UAAU,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY,kBAAkB,CAAC05T,SAAS,CAAC,QAAQ,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY,kBAAkB,CAAC05T,SAAS,CAAC,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY,kBAAkB,CAAC05T,SAAS,CAAC,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYm14B,gBAAgB,CAACz7kB,SAAS,CAAC,SAAS,QAAQ,UAAU,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYo14B,QAAQ,CAAC17kB,SAAS,CAAC,SAAS,aAAa,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYq14B,OAAO,CAAC37kB,SAAS,CAAC,QAAQ,UAAU,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYs14B,QAAQ,CAAC57kB,SAAS,CAAC,SAAS,UAAU,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYu14B,gBAAgB,CAAC77kB,SAAS,CAAC,SAAS,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYo2a,IAAI,CAAC18G,SAAS,CAAC,SAAS,QAAQ,OAAO,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYw14B,YAAY,CAAC97kB,SAAS,CAAC,WAAW,WAAW,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYy14B,eAAe,CAAC/7kB,SAAS,CAAC,SAAS,UAAU,QAAQ,aAAat4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY014B,aAAa,CAACh8kB,SAAS,CAAC,SAAS,UAAU,QAAQ,aAAat4S,KAAK,yLAAmK6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY214B,WAAW,CAACj8kB,SAAS,CAAC,QAAQ,QAAQ,KAAK,OAAO,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY414B,WAAW,CAACl8kB,SAAS,CAAC,QAAQ,QAAQ,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY614B,cAAc,CAACn8kB,SAAS,CAAC,SAAS,OAAO,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY814B,iBAAiB,CAACp8kB,SAAS,CAAC,QAAQ,aAAa,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY+14B,KAAK,CAACr8kB,SAAS,CAAC,QAAQ,aAAa,aAAa,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYg24B,UAAU,CAACt8kB,SAAS,CAAC,QAAQ,aAAa,OAAO,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYi24B,QAAQ,CAACv8kB,SAAS,CAAC,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYk24B,OAAO,CAACx8kB,SAAS,CAAC,QAAQ,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYm24B,OAAO,CAACz8kB,SAAS,CAAC,QAAQ,aAAa,YAAY,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYo24B,QAAQ,CAAC18kB,SAAS,CAAC,QAAQ,OAAO,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYq24B,WAAW,CAAC38kB,SAAS,CAAC,OAAO,UAAU,MAAM,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYs24B,cAAc,CAAC58kB,SAAS,CAAC,OAAO,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYu24B,KAAK,CAAC78kB,SAAS,CAAC,OAAO,OAAO,MAAM,SAAS,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYw24B,SAAS,CAAC98kB,SAAS,CAAC,OAAO,SAAS,WAAW,OAAO,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYy24B,WAAW,CAAC/8kB,SAAS,CAAC,cAAct4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY024B,aAAa,CAACh9kB,SAAS,CAAC,MAAM,SAAS,QAAQ,gBAAgB,OAAO,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY224B,OAAO,CAACj9kB,SAAS,CAAC,eAAe,SAAS,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY424B,QAAQ,CAACl9kB,SAAS,CAAC,SAAS,MAAM,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY624B,QAAQ,CAACn9kB,SAAS,CAAC,MAAM,iBAAiB,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB824B,KAAK,CAACp9kB,SAAS,CAAC,OAAO,UAAU,OAAO,kBAAkBt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB+24B,SAAS,CAACr9kB,SAAS,CAAC,iBAAiB,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBg34B,IAAI,CAACt9kB,SAAS,CAAC,MAAM,UAAU,kBAAkBt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBi34B,WAAW,CAACv9kB,SAAS,CAAC,OAAO,iBAAiB,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBk34B,WAAW,CAACx9kB,SAAS,CAAC,SAAS,OAAO,OAAO,UAAU,MAAMt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBm34B,WAAW,CAACz9kB,SAAS,CAAC,UAAU,OAAO,iBAAiB,MAAM,QAAQ,eAAet4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBo34B,UAAU,CAAC19kB,SAAS,CAAC,SAAS,MAAM,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBq34B,YAAY,CAAC39kB,SAAS,CAAC,iBAAiB,OAAO,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBs34B,QAAQ,CAAC59kB,SAAS,CAAC,UAAU,MAAM,kBAAkBt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBu34B,MAAM,CAAC79kB,SAAS,CAAC,OAAO,kBAAkBt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBw34B,kBAAkB,CAAC99kB,SAAS,CAAC,UAAU,OAAO,iBAAiB,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBy34B,QAAQ,CAAC/9kB,SAAS,CAAC,UAAU,MAAM,UAAU,eAAet4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB034B,aAAa,CAACh+kB,SAAS,CAAC,UAAU,OAAO,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB234B,WAAW,CAACj+kB,SAAS,CAAC,OAAO,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB434B,KAAK,CAACl+kB,SAAS,CAAC,SAAS,UAAU,WAAW,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB634B,cAAc,CAACn+kB,SAAS,CAAC,UAAU,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB834B,eAAe,CAACp+kB,SAAS,CAAC,SAAS,YAAY,MAAM,YAAY,QAAQ,QAAQ,SAAS,MAAM,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB+34B,oBAAoB,CAACr+kB,SAAS,CAAC,UAAU,MAAM,QAAQ,cAAc,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBg44B,aAAa,CAACt+kB,SAAS,CAAC,UAAU,kBAAkBt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBi44B,oBAAoB,CAACv+kB,SAAS,CAAC,MAAM,UAAU,kBAAkBt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBk44B,cAAc,CAACx+kB,SAAS,CAAC,UAAU,OAAO,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBm44B,eAAe,CAACz+kB,SAAS,CAAC,iBAAiB,UAAU,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBo44B,kBAAkB,CAAC1+kB,SAAS,CAAC,iBAAiB,UAAU,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBq44B,mBAAmB,CAAC3+kB,SAAS,CAAC,UAAU,kBAAkBt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBs44B,YAAY,CAAC5+kB,SAAS,CAAC,iBAAiB,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBu44B,MAAM,CAAC7+kB,SAAS,CAAC,iBAAiB,UAAU,WAAW,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBw44B,SAAS,CAAC9+kB,SAAS,CAAC,iBAAiB,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBy44B,iBAAiB,CAAC/+kB,SAAS,CAAC,iBAAiB,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB044B,kBAAkB,CAACh/kB,SAAS,CAAC,iBAAiB,UAAU,QAAQ,OAAO,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB244B,WAAW,CAACj/kB,SAAS,CAAC,iBAAiB,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB444B,iBAAiB,CAACl/kB,SAAS,CAAC,iBAAiB,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB644B,iBAAiB,CAACn/kB,SAAS,CAAC,iBAAiB,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB844B,OAAO,CAACp/kB,SAAS,CAAC,iBAAiB,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB+44B,MAAM,CAACr/kB,SAAS,CAAC,iBAAiB,cAAc,MAAM,cAAc,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBg54B,KAAK,CAACt/kB,SAAS,CAAC,iBAAiB,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBi54B,QAAQ,CAACv/kB,SAAS,CAAC,iBAAiB,UAAU,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBk54B,cAAc,CAACx/kB,SAAS,CAAC,iBAAiB,UAAU,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBm54B,WAAW,CAACz/kB,SAAS,CAAC,iBAAiB,UAAU,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBo54B,eAAe,CAAC1/kB,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBq54B,SAAS,CAAC3/kB,SAAS,CAAC,UAAU,iBAAiB,SAAS,OAAOt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBs54B,iBAAiB,CAAC5/kB,SAAS,CAAC,UAAU,SAAS,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBu54B,eAAe,CAAC7/kB,SAAS,CAAC,UAAU,SAAS,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBw54B,SAAS,CAAC9/kB,SAAS,CAAC,OAAO,SAAS,iBAAiB,QAAQ,WAAWt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBy54B,WAAW,CAAC//kB,SAAS,CAAC,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB054B,UAAU,CAAChglB,SAAS,CAAC,OAAO,iBAAiB,UAAU,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB254B,MAAM,CAACjglB,SAAS,CAAC,OAAO,OAAO,SAASt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB454B,eAAe,CAAClglB,SAAS,CAAC,QAAQ,SAAS,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB654B,OAAO,CAACnglB,SAAS,CAAC,SAAS,OAAO,YAAY,OAAO,cAAc,cAAc,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB854B,qBAAqB,CAACpglB,SAAS,CAAC,gBAAgB,MAAM,QAAQ,cAAc,OAAO,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB+54B,KAAK,CAACrglB,SAAS,CAAC,MAAM,WAAW,YAAY,MAAM,SAAS,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBg64B,MAAM,CAACtglB,SAAS,CAAC,OAAO,SAAS,QAAQ,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB6wkB,OAAO,CAACn3Q,SAAS,CAAC,OAAO,QAAQ,MAAM,QAAQt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBi64B,aAAa,CAACvglB,SAAS,CAAC,MAAM,WAAW,UAAU,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBk64B,SAAS,CAACxglB,SAAS,CAAC,cAAc,aAAat4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBm64B,QAAQ,CAACzglB,SAAS,CAAC,iBAAiB,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBo64B,uBAAuB,CAAC1glB,SAAS,CAAC,iBAAiB,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBq64B,cAAc,CAAC3glB,SAAS,CAAC,iBAAiB,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBs64B,eAAe,CAAC5glB,SAAS,CAAC,UAAU,aAAa,OAAO,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBu64B,KAAK,CAAC7glB,SAAS,CAAC,iBAAiB,UAAU,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBw64B,aAAa,CAAC9glB,SAAS,CAAC,QAAQ,WAAW,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBy64B,eAAe,CAAC/glB,SAAS,CAAC,WAAW,aAAa,QAAQ,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB064B,eAAe,CAAChhlB,SAAS,CAAC,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB264B,sBAAsB,CAACjhlB,SAAS,CAAC,MAAM,UAAU,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB464B,MAAM,CAAClhlB,SAAS,CAAC,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB664B,YAAY,CAACnhlB,SAAS,CAAC,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBmK,QAAQ,CAACuvT,SAAS,CAAC,WAAW,WAAW,YAAY,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB864B,SAAS,CAACphlB,SAAS,CAAC,QAAQ,SAAS,QAAQ,SAASt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB+64B,WAAW,CAACrhlB,SAAS,CAAC,QAAQ,QAAQ,OAAO,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBg74B,SAAS,CAACthlB,SAAS,CAAC,QAAQ,SAAS,eAAet4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBi74B,cAAc,CAACvhlB,SAAS,CAAC,QAAQ,SAAS,cAAc,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBk74B,WAAW,CAACxhlB,SAAS,CAAC,QAAQ,WAAW,SAAS,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBm74B,QAAQ,CAACzhlB,SAAS,CAAC,QAAQ,SAAS,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBo74B,MAAM,CAAC1hlB,SAAS,CAAC,SAAS,UAAU,WAAW,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBq74B,QAAQ,CAAC3hlB,SAAS,CAAC,QAAQ,WAAW,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBs74B,KAAK,CAAC5hlB,SAAS,CAAC,QAAQ,UAAU,YAAYt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBu74B,cAAc,CAAC7hlB,SAAS,CAAC,QAAQ,cAAc,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBw74B,SAAS,CAAC9hlB,SAAS,CAAC,OAAO,YAAY,aAAa,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBy74B,cAAc,CAAC/hlB,SAAS,CAAC,QAAQ,kBAAkBt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB074B,QAAQ,CAAChilB,SAAS,CAAC,UAAU,OAAO,WAAW,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB274B,uBAAuB,CAACjilB,SAAS,CAAC,OAAO,WAAW,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB474B,OAAO,CAAClilB,SAAS,CAAC,QAAQ,OAAO,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB674B,eAAe,CAACnilB,SAAS,CAAC,UAAU,SAAS,QAAQ,OAAO,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB874B,cAAc,CAACpilB,SAAS,CAAC,QAAQ,WAAW,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB+74B,aAAa,CAACrilB,SAAS,CAAC,QAAQ,eAAe,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBg84B,YAAY,CAACtilB,SAAS,CAAC,QAAQ,UAAU,MAAM,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBi84B,UAAU,CAACvilB,SAAS,CAAC,QAAQ,aAAa,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBk84B,iBAAiB,CAACxilB,SAAS,CAAC,UAAU,OAAO,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBm84B,gBAAgB,CAACzilB,SAAS,CAAC,QAAQ,gBAAgBt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBo84B,UAAU,CAAC1ilB,SAAS,CAAC,QAAQ,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBq84B,MAAM,CAAC3ilB,SAAS,CAAC,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBs84B,SAAS,CAAC5ilB,SAAS,CAAC,QAAQ,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBu84B,UAAU,CAAC7ilB,SAAS,CAAC,QAAQ,WAAW,WAAW,mBAAmBt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBw84B,QAAQ,CAAC9ilB,SAAS,CAAC,SAAS,QAAQ,eAAe,QAAQ,MAAM,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBy84B,OAAO,CAAC/ilB,SAAS,CAAC,YAAY,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB084B,gBAAgB,CAAChjlB,SAAS,CAAC,WAAW,UAAU,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB284B,gBAAgB,CAACjjlB,SAAS,CAAC,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB484B,QAAQ,CAACljlB,SAAS,CAAC,QAAQ,QAAQ,SAAS,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB684B,kBAAkB,CAACnjlB,SAAS,CAAC,WAAW,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB884B,MAAM,CAACpjlB,SAAS,CAAC,WAAW,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB+84B,kBAAkB,CAACrjlB,SAAS,CAAC,OAAO,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBg94B,eAAe,CAACtjlB,SAAS,CAAC,UAAU,QAAQ,SAAS,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBi94B,OAAO,CAACvjlB,SAAS,CAAC,WAAW,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBk94B,iBAAiB,CAACxjlB,SAAS,CAAC,WAAW,WAAW,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBm94B,YAAY,CAACzjlB,SAAS,CAAC,WAAW,WAAW,iBAAiBt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBo94B,qBAAqB,CAAC1jlB,SAAS,CAAC,WAAW,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBq94B,SAAS,CAAC3jlB,SAAS,CAAC,WAAW,SAAS,UAAU,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBw4hB,KAAK,CAAC9+N,SAAS,CAAC,WAAW,QAAQ,QAAQ,OAAO,WAAW,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBs94B,MAAM,CAAC5jlB,SAAS,CAAC,WAAW,eAAe,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBu94B,kBAAkB,CAAC7jlB,SAAS,CAAC,WAAW,WAAW,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBw94B,OAAO,CAAC9jlB,SAAS,CAAC,WAAW,UAAU,YAAY,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBy94B,WAAW,CAAC/jlB,SAAS,CAAC,OAAO,YAAY,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB094B,QAAQ,CAAChklB,SAAS,CAAC,OAAO,OAAO,YAAY,SAAS,WAAW,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB294B,mBAAmB,CAACjklB,SAAS,CAAC,MAAM,UAAU,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB494B,OAAO,CAAClklB,SAAS,CAAC,WAAW,WAAW,UAAUt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB694B,OAAO,CAACnklB,SAAS,CAAC,QAAQ,UAAU,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB894B,UAAU,CAACpklB,SAAS,CAAC,UAAU,UAAU,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB+94B,MAAM,CAACrklB,SAAS,CAAC,QAAQ,SAAS,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBg+4B,cAAc,CAACtklB,SAAS,CAAC,SAAS,QAAQ,SAASt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBi+4B,MAAM,CAACvklB,SAAS,CAAC,OAAO,eAAet4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWk+4B,OAAO,CAACxklB,SAAS,CAAC,aAAa,QAAQ,UAAU,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWm+4B,QAAQ,CAACzklB,SAAS,CAAC,SAAS,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWo+4B,SAAS,CAAC1klB,SAAS,CAAC,aAAa,SAAS,SAAS,UAAU,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWq+4B,SAAS,CAAC3klB,SAAS,CAAC,aAAa,WAAW,OAAO,QAAQ,QAAQt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWs+4B,iBAAiB,CAAC5klB,SAAS,CAAC,aAAa,YAAY,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWu+4B,QAAQ,CAAC7klB,SAAS,CAAC,QAAQ,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWw+4B,eAAe,CAAC9klB,SAAS,CAAC,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWy+4B,UAAU,CAAC/klB,SAAS,CAAC,aAAa,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0+4B,SAAS,CAAChllB,SAAS,CAAC,OAAO,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkqb,MAAM,CAACxwH,SAAS,CAAC,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2+4B,SAAS,CAACjllB,SAAS,CAAC,aAAa,SAAS,OAAO,OAAO,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4+4B,YAAY,CAAClllB,SAAS,CAAC,YAAY,aAAa,OAAO,MAAM,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWg/X,GAAG,CAACtlE,SAAS,CAAC,aAAa,MAAM,OAAO,OAAO,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6+4B,IAAI,CAACnllB,SAAS,CAAC,KAAK,OAAO,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8+4B,IAAI,CAACpllB,SAAS,CAAC,SAAS,QAAQ,YAAY,MAAM,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWi4jB,OAAO,CAACv+P,SAAS,CAAC,UAAU,eAAet4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW++4B,aAAa,CAACrllB,SAAS,CAAC,cAAc,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWg/4B,aAAa,CAACtllB,SAAS,CAAC,OAAO,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWi/4B,aAAa,CAACvllB,SAAS,CAAC,OAAO,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWk/4B,eAAe,CAACxllB,SAAS,CAAC,QAAQ,OAAO,SAAS,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWm/4B,WAAW,CAACzllB,SAAS,CAAC,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWo/4B,mBAAmB,CAAC1llB,SAAS,CAAC,aAAa,gBAAgB,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWq/4B,MAAM,CAAC3llB,SAAS,CAAC,aAAa,gBAAgB,OAAO,aAAat4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWs/4B,MAAM,CAAC5llB,SAAS,CAAC,SAAS,YAAY,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWu/4B,IAAI,CAAC7llB,SAAS,CAAC,gBAAgB,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWulC,GAAG,CAACm0R,SAAS,CAAC,aAAa,UAAU,YAAY,OAAO,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0/K,MAAM,CAACg6I,SAAS,CAAC,gBAAgB,QAAQ,UAAU,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWw/4B,kBAAkB,CAAC9llB,SAAS,CAAC,OAAO,YAAY,SAAS,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWy/4B,aAAa,CAAC/llB,SAAS,CAAC,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0/4B,cAAc,CAAChmlB,SAAS,CAAC,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2/4B,QAAQ,CAACjmlB,SAAS,CAAC,WAAW,aAAa,gBAAgBt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4/4B,UAAU,CAAClmlB,SAAS,CAAC,OAAO,YAAYt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6/4B,YAAY,CAACnmlB,SAAS,CAAC,SAASt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8/4B,YAAY,CAACpmlB,SAAS,CAAC,OAAO,QAAQt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+/4B,kBAAkB,CAACrmlB,SAAS,CAAC,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgg5B,uBAAuB,CAACtmlB,SAAS,CAAC,YAAY,OAAO,aAAat4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWig5B,UAAU,CAACvmlB,SAAS,CAAC,OAAO,QAAQ,YAAY,QAAQ,OAAO,OAAO,QAAQt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkg5B,UAAU,CAACxmlB,SAAS,CAAC,gBAAgB,SAAS,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmg5B,QAAQ,CAACzmlB,SAAS,CAAC,QAAQ,SAAS,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWog5B,cAAc,CAAC1mlB,SAAS,CAAC,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqg5B,KAAK,CAAC3mlB,SAAS,CAAC,QAAQ,cAAc,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsg5B,WAAW,CAAC5mlB,SAAS,CAAC,OAAO,UAAU,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWug5B,OAAO,CAAC7mlB,SAAS,CAAC,OAAO,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwg5B,kBAAkB,CAAC9mlB,SAAS,CAAC,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyg5B,YAAY,CAAC/mlB,SAAS,CAAC,MAAM,QAAQ,UAAU,UAAU,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0g5B,SAAS,CAAChnlB,SAAS,CAAC,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2g5B,iBAAiB,CAACjnlB,SAAS,CAAC,SAAS,QAAQ,UAAU,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4g5B,OAAO,CAAClnlB,SAAS,CAAC,QAAQ,QAAQ,OAAO,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6g5B,IAAI,CAACnnlB,SAAS,CAAC,QAAQ,QAAQ,WAAW,SAAS,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8g5B,KAAK,CAACpnlB,SAAS,CAAC,QAAQ,QAAQ,SAAS,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+g5B,MAAM,CAACrnlB,SAAS,CAAC,UAAU,WAAW,QAAQ,QAAQ,QAAQ,KAAK,UAAU,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgh5B,SAAS,CAACtnlB,SAAS,CAAC,SAAS,UAAU,QAAQ,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWih5B,YAAY,CAACvnlB,SAAS,CAAC,QAAQ,QAAQ,SAAS,OAAO,UAAU,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkh5B,IAAI,CAACxnlB,SAAS,CAAC,OAAO,OAAO,UAAU,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmh5B,cAAc,CAACznlB,SAAS,CAAC,MAAM,WAAW,UAAUt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWoh5B,QAAQ,CAAC1nlB,SAAS,CAAC,QAAQ,MAAM,MAAM,aAAa,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqh5B,OAAO,CAAC3nlB,SAAS,CAAC,QAAQ,MAAM,OAAO,MAAM,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsh5B,OAAO,CAAC5nlB,SAAS,CAAC,QAAQ,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWuh5B,gBAAgB,CAAC7nlB,SAAS,CAAC,QAAQ,QAAQ,UAAUt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwh5B,kBAAkB,CAAC9nlB,SAAS,CAAC,QAAQ,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+tE,KAAK,CAAC2rP,SAAS,CAAC,QAAQ,OAAOt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyh5B,aAAa,CAAC/nlB,SAAS,CAAC,QAAQ,QAAQ,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0h5B,KAAK,CAACholB,SAAS,CAAC,OAAOt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2h5B,MAAM,CAACjolB,SAAS,CAAC,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4h5B,OAAO,CAAClolB,SAAS,CAAC,OAAO,UAAUt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6h5B,OAAO,CAACnolB,SAAS,CAAC,aAAa,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8h5B,IAAI,CAACpolB,SAAS,CAAC,WAAW,SAAS,SAAS,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+h5B,KAAK,CAACrolB,SAAS,CAAC,OAAO,UAAU,YAAY,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgi5B,YAAY,CAACtolB,SAAS,CAAC,WAAW,OAAO,UAAU,YAAY,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWii5B,MAAM,CAACvolB,SAAS,CAAC,QAAQ,QAAQ,UAAU,UAAU,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWki5B,OAAO,CAACxolB,SAAS,CAAC,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmi5B,eAAe,CAACzolB,SAAS,CAAC,UAAUt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWoi5B,OAAO,CAAC1olB,SAAS,CAAC,aAAa,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqi5B,QAAQ,CAAC3olB,SAAS,CAAC,QAAQ,UAAU,YAAY,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsi5B,qBAAqB,CAAC5olB,SAAS,CAAC,SAAS,SAAS,SAAS,QAAQ,QAAQ,SAAS,QAAQt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWui5B,OAAO,CAAC7olB,SAAS,CAAC,UAAU,OAAO,MAAM,QAAQ,MAAM,YAAY,WAAW,SAAS,UAAU,OAAOt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwi5B,YAAY,CAAC9olB,SAAS,CAAC,OAAO,MAAM,QAAQ,MAAM,SAASt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyi5B,QAAQ,CAAC/olB,SAAS,CAAC,OAAO,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0i5B,aAAa,CAAChplB,SAAS,CAAC,QAAQ,QAAQ,QAAQ,SAAS,kBAAkBt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2i5B,aAAa,CAACjplB,SAAS,CAAC,QAAQ,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4i5B,aAAa,CAAClplB,SAAS,CAAC,OAAO,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6i5B,OAAO,CAACnplB,SAAS,CAAC,OAAO,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8i5B,QAAQ,CAACpplB,SAAS,CAAC,aAAa,UAAU,aAAa,aAAat4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+i5B,UAAU,CAACrplB,SAAS,CAAC,QAAQ,QAAQ,OAAO,UAAU,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgj5B,WAAW,CAACtplB,SAAS,CAAC,aAAa,aAAa,SAAS,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWij5B,KAAK,CAACvplB,SAAS,CAAC,gBAAgBt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkj5B,KAAK,CAACxplB,SAAS,CAAC,SAAS,WAAW,SAAS,WAAW,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmj5B,QAAQ,CAACzplB,SAAS,CAAC,SAAS,WAAW,QAAQ,QAAQ,WAAW,SAAS,SAAS,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWoj5B,IAAI,CAAC1plB,SAAS,CAAC,YAAY,WAAW,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqj5B,QAAQ,CAAC3plB,SAAS,CAAC,SAAS,WAAW,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsj5B,WAAW,CAAC5plB,SAAS,CAAC,WAAW,UAAU,UAAU,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWuj5B,UAAU,CAAC7plB,SAAS,CAAC,YAAY,aAAa,MAAM,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwj5B,YAAY,CAAC9plB,SAAS,CAAC,UAAU,cAAc,MAAM,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyj5B,MAAM,CAAC/plB,SAAS,CAAC,WAAW,WAAW,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0j5B,OAAO,CAAChqlB,SAAS,CAAC,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2j5B,aAAa,CAACjqlB,SAAS,CAAC,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWxuC,MAAM,CAACkoW,SAAS,CAAC,OAAO,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWi6vB,SAAS,CAACvgc,SAAS,CAAC,WAAW,QAAQ,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4j5B,OAAO,CAAClqlB,SAAS,CAAC,WAAW,KAAK,WAAW,WAAW,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6j5B,OAAO,CAACnqlB,SAAS,CAAC,QAAQ,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8j5B,QAAQ,CAACpqlB,SAAS,CAAC,QAAQ,SAAS,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+j5B,KAAK,CAACrqlB,SAAS,CAAC,MAAM,UAAU,WAAW,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgk5B,OAAO,CAACtqlB,SAAS,CAAC,YAAY,WAAW,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWik5B,cAAc,CAACvqlB,SAAS,CAAC,cAAc,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW/8D,IAAI,CAACy2X,SAAS,CAAC,OAAO,OAAO,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkk5B,QAAQ,CAACxqlB,SAAS,CAAC,OAAO,OAAO,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmk5B,eAAe,CAACzqlB,SAAS,CAAC,OAAO,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWok5B,aAAa,CAAC1qlB,SAAS,CAAC,MAAM,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAKjr3B,SAAS,WAAWqk5B,IAAI,CAAC3qlB,SAAS,CAAC,QAAQ,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsk5B,KAAK,CAAC5qlB,SAAS,CAAC,QAAQ,QAAQ,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWuk5B,aAAa,CAAC7qlB,SAAS,CAAC,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwk5B,WAAW,CAAC9qlB,SAAS,CAAC,QAAQ,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyk5B,eAAe,CAAC/qlB,SAAS,CAAC,eAAet4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0k5B,UAAU,CAAChrlB,SAAS,CAAC,WAAW,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2k5B,kBAAkB,CAACjrlB,SAAS,CAAC,UAAU,UAAUt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4k5B,MAAM,CAAClrlB,SAAS,CAAC,OAAO,gBAAgB,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6k5B,SAAS,CAACnrlB,SAAS,CAAC,OAAO,MAAM,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8k5B,cAAc,CAACprlB,SAAS,CAAC,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+k5B,QAAQ,CAACrrlB,SAAS,CAAC,QAAQ,cAAc,WAAW,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWihB,MAAM,CAACy4S,SAAS,CAAC,OAAO,WAAW,YAAY,OAAO,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgl5B,OAAO,CAACtrlB,SAAS,CAAC,aAAa,OAAO,OAAO,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWil5B,KAAK,CAACvrlB,SAAS,CAAC,UAAU,WAAW,YAAY,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkl5B,cAAc,CAACxrlB,SAAS,CAAC,WAAW,QAAQ,WAAW,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWml5B,KAAK,CAACzrlB,SAAS,CAAC,QAAQ,kBAAkB,WAAW,QAAQ,SAAS,eAAet4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWol5B,MAAM,CAAC1rlB,SAAS,CAAC,WAAW,MAAM,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWql5B,WAAW,CAAC3rlB,SAAS,CAAC,SAAS,OAAO,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsl5B,cAAc,CAAC5rlB,SAAS,CAAC,WAAW,SAAS,UAAU,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWul5B,gBAAgB,CAAC7rlB,SAAS,CAAC,QAAQ,QAAQ,YAAY,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwl5B,aAAa,CAAC9rlB,SAAS,CAAC,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWk8T,MAAM,CAACxC,SAAS,CAAC,SAAS,SAAS,QAAQ,iBAAiBt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyl5B,oBAAoB,CAAC/rlB,SAAS,CAAC,QAAQ,iBAAiBt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0l5B,kBAAkB,CAAChslB,SAAS,CAAC,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW,SAAS,CAAC05T,SAAS,CAAC,gBAAgB,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2l5B,YAAY,CAACjslB,SAAS,CAAC,QAAQ,OAAO,YAAY,WAAW,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4l5B,QAAQ,CAAClslB,SAAS,CAAC,QAAQ,SAAS,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6l5B,eAAe,CAACnslB,SAAS,CAAC,QAAQ,gBAAgB,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8l5B,QAAQ,CAACpslB,SAAS,CAAC,QAAQ,QAAQ,iBAAiBt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+l5B,kBAAkB,CAACrslB,SAAS,CAAC,QAAQ,QAAQ,iBAAiBt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgm5B,qBAAqB,CAACtslB,SAAS,CAAC,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWim5B,QAAQ,CAACvslB,SAAS,CAAC,OAAO,OAAO,YAAY,MAAM,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkm5B,YAAY,CAACxslB,SAAS,CAAC,aAAa,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmm5B,WAAW,CAACzslB,SAAS,CAAC,QAAQ,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWom5B,YAAY,CAAC1slB,SAAS,CAAC,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8jL,OAAO,CAAC41I,SAAS,CAAC,YAAY,UAAU,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqm5B,eAAe,CAAC3slB,SAAS,CAAC,YAAY,SAAS,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsm5B,cAAc,CAAC5slB,SAAS,CAAC,WAAW,OAAO,QAAQ,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWum5B,QAAQ,CAAC7slB,SAAS,CAAC,aAAa,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwm5B,UAAU,CAAC9slB,SAAS,CAAC,QAAQ,eAAe,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWym5B,yBAAyB,CAAC/slB,SAAS,CAAC,QAAQ,eAAe,QAAQ,WAAW,WAAW,YAAY,QAAQ,QAAQ,OAAO,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0m5B,2BAA2B,CAAChtlB,SAAS,CAAC,QAAQ,eAAe,QAAQ,YAAY,WAAW,YAAY,QAAQ,QAAQ,MAAM,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2m5B,eAAe,CAACjtlB,SAAS,CAAC,YAAY,SAAS,QAAQ,eAAet4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWupS,KAAK,CAACmwB,SAAS,CAAC,WAAW,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWg+kB,SAAS,CAACtkR,SAAS,CAAC,WAAW,OAAO,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4m5B,gBAAgB,CAACltlB,SAAS,CAAC,OAAO,WAAW,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6m5B,WAAW,CAACntlB,SAAS,CAAC,WAAW,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8m5B,cAAc,CAACptlB,SAAS,CAAC,WAAW,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+m5B,WAAW,CAACrtlB,SAAS,CAAC,WAAW,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgn5B,aAAa,CAACttlB,SAAS,CAAC,SAAS,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWtzB,UAAU,CAACgtV,SAAS,CAAC,aAAa,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWin5B,eAAe,CAACvtlB,SAAS,CAAC,OAAO,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkn5B,YAAY,CAACxtlB,SAAS,CAAC,YAAY,WAAW,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmn5B,iBAAiB,CAACztlB,SAAS,CAAC,YAAY,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWon5B,oBAAoB,CAAC1tlB,SAAS,CAAC,aAAa,WAAW,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqn5B,eAAe,CAAC3tlB,SAAS,CAAC,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsn5B,UAAU,CAAC5tlB,SAAS,CAAC,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWun5B,SAAS,CAAC7tlB,SAAS,CAAC,aAAa,SAAS,QAAQ,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwn5B,YAAY,CAAC9tlB,SAAS,CAAC,OAAO,UAAU,YAAY,WAAW,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyn5B,WAAW,CAAC/tlB,SAAS,CAAC,OAAO,UAAU,YAAY,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0n5B,UAAU,CAAChulB,SAAS,CAAC,OAAO,UAAU,YAAY,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2n5B,YAAY,CAACjulB,SAAS,CAAC,OAAO,UAAU,YAAY,WAAW,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4n5B,+BAA+B,CAAClulB,SAAS,CAAC,YAAY,QAAQ,SAAS,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6n5B,OAAO,CAACnulB,SAAS,CAAC,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8n5B,MAAM,CAACpulB,SAAS,CAAC,aAAa,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+n5B,UAAU,CAACrulB,SAAS,CAAC,OAAO,OAAO,UAAU,YAAY,aAAa,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgo5B,WAAW,CAACtulB,SAAS,CAAC,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW3pC,KAAK,CAACqjW,SAAS,CAAC,QAAQ,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWio5B,UAAU,CAACvulB,SAAS,CAAC,YAAY,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWko5B,WAAW,CAACxulB,SAAS,CAAC,YAAY,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmo5B,SAAS,CAACzulB,SAAS,CAAC,aAAa,OAAOt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWoo5B,iBAAiB,CAAC1ulB,SAAS,CAAC,aAAa,OAAO,YAAY,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqo5B,eAAe,CAAC3ulB,SAAS,CAAC,aAAa,YAAY,SAAS,OAAO,SAAS,UAAU,YAAY,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWso5B,OAAO,CAAC5ulB,SAAS,CAAC,eAAet4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWuo5B,QAAQ,CAAC7ulB,SAAS,CAAC,aAAa,OAAO,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwo5B,cAAc,CAAC9ulB,SAAS,CAAC,aAAa,WAAW,MAAM,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyo5B,wBAAwB,CAAC/ulB,SAAS,CAAC,OAAO,YAAY,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0o5B,WAAW,CAAChvlB,SAAS,CAAC,SAAS,QAAQ,OAAO,YAAY,UAAU,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2o5B,WAAW,CAACjvlB,SAAS,CAAC,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4o5B,aAAa,CAAClvlB,SAAS,CAAC,OAAO,UAAU,QAAQ,MAAM,OAAO,OAAO,QAAQ,aAAa,UAAU,WAAW,eAAet4S,KAAK,6LAAqK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6o5B,qBAAqB,CAACnvlB,SAAS,CAAC,WAAW,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWo0P,KAAK,CAACslE,SAAS,CAAC,WAAW,WAAW,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWs0P,OAAO,CAAColE,SAAS,CAAC,UAAU,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8o5B,kBAAkB,CAACpvlB,SAAS,CAAC,WAAW,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+o5B,IAAI,CAACrvlB,SAAS,CAAC,aAAa,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgp5B,aAAa,CAACtvlB,SAAS,CAAC,aAAa,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWip5B,UAAU,CAACvvlB,SAAS,CAAC,MAAM,aAAa,UAAU,SAASt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0sV,KAAK,CAAChzB,SAAS,CAAC,QAAQ,YAAY,aAAa,SAAS,QAAQ,UAAU,QAAQ,OAAO,OAAO,OAAO,QAAQ,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkp5B,QAAQ,CAACxvlB,SAAS,CAAC,aAAa,QAAQ,QAAQ,UAAU,SAAS,SAASt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmp5B,OAAO,CAACzvlB,SAAS,CAAC,UAAU,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWop5B,WAAW,CAAC1vlB,SAAS,CAAC,UAAU,aAAa,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWu/jB,IAAI,CAAC7lQ,SAAS,CAAC,SAAS,OAAO,OAAO,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqp5B,UAAU,CAAC3vlB,SAAS,CAAC,SAAS,OAAO,OAAO,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsp5B,MAAM,CAAC5vlB,SAAS,CAAC,OAAO,OAAO,cAAct4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWup5B,aAAa,CAAC7vlB,SAAS,CAAC,OAAO,OAAO,YAAY,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwp5B,aAAa,CAAC9vlB,SAAS,CAAC,OAAO,OAAO,YAAY,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyp5B,YAAY,CAAC/vlB,SAAS,CAAC,OAAO,OAAO,YAAY,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0p5B,WAAW,CAAChwlB,SAAS,CAAC,OAAO,OAAO,YAAY,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2p5B,aAAa,CAACjwlB,SAAS,CAAC,OAAO,OAAO,YAAY,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4p5B,YAAY,CAAClwlB,SAAS,CAAC,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6p5B,aAAa,CAACnwlB,SAAS,CAAC,MAAM,QAAQ,QAAQ,QAAQ,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8p5B,wBAAwB,CAACpwlB,SAAS,CAAC,aAAa,QAAQt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+p5B,WAAW,CAACrwlB,SAAS,CAAC,OAAO,OAAO,YAAY,aAAa,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgq5B,iBAAiB,CAACtwlB,SAAS,CAAC,OAAO,OAAO,YAAY,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWiq5B,UAAU,CAACvwlB,SAAS,CAAC,OAAO,OAAO,YAAY,aAAa,OAAO,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkq5B,WAAW,CAACxwlB,SAAS,CAAC,OAAO,OAAO,YAAY,aAAa,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmq5B,gBAAgB,CAACzwlB,SAAS,CAAC,OAAO,OAAO,YAAY,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWoq5B,MAAM,CAAC1wlB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAY,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqq5B,WAAW,CAAC3wlB,SAAS,CAAC,OAAO,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsq5B,iBAAiB,CAAC5wlB,SAAS,CAAC,gBAAgB,OAAO,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWuq5B,aAAa,CAAC7wlB,SAAS,CAAC,UAAUt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwq5B,YAAY,CAAC9wlB,SAAS,CAAC,gBAAgBt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyq5B,kBAAkB,CAAC/wlB,SAAS,CAAC,SAASt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWm6Y,GAAG,CAACzgF,SAAS,CAAC,WAAW,WAAW,UAAU,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0q5B,gBAAgB,CAAChxlB,SAAS,CAAC,WAAW,WAAW,UAAU,WAAWt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2q5B,cAAc,CAACjxlB,SAAS,CAAC,WAAWt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4q5B,iBAAiB,CAAClxlB,SAAS,CAAC,gBAAgB,WAAW,SAAS,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6q5B,QAAQ,CAACnxlB,SAAS,CAAC,WAAW,UAAU,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8q5B,SAAS,CAACpxlB,SAAS,CAAC,WAAWt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+q5B,eAAe,CAACrxlB,SAAS,CAAC,cAAc,YAAYt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgr5B,iBAAiB,CAACtxlB,SAAS,CAAC,WAAW,SAAS,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWir5B,UAAU,CAACvxlB,SAAS,CAAC,OAAO,gBAAgB,gBAAgB,aAAat4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkr5B,MAAM,CAACxxlB,SAAS,CAAC,OAAO,gBAAgB,SAAS,aAAat4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmr5B,OAAO,CAACzxlB,SAAS,CAAC,gBAAgB,OAAO,SAAS,aAAat4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWor5B,OAAO,CAAC1xlB,SAAS,CAAC,OAAO,SAAS,gBAAgB,aAAat4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqr5B,OAAO,CAAC3xlB,SAAS,CAAC,OAAO,SAAS,gBAAgB,aAAat4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsr5B,IAAI,CAAC5xlB,SAAS,CAAC,OAAO,gBAAgB,SAAS,aAAat4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWur5B,MAAM,CAAC7xlB,SAAS,CAAC,OAAO,SAAS,gBAAgB,aAAat4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwr5B,MAAM,CAAC9xlB,SAAS,CAAC,OAAO,gBAAgB,SAAS,aAAat4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyr5B,SAAS,CAAC/xlB,SAAS,CAAC,OAAO,SAAS,gBAAgB,YAAY,WAAWt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0r5B,YAAY,CAAChylB,SAAS,CAAC,OAAO,SAAS,gBAAgB,aAAat4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2r5B,UAAU,CAACjylB,SAAS,CAAC,OAAO,SAAS,gBAAgB,aAAat4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4r5B,SAAS,CAAClylB,SAAS,CAAC,OAAO,gBAAgB,SAAS,aAAat4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6r5B,OAAO,CAACnylB,SAAS,CAAC,gBAAgB,OAAO,SAAS,aAAat4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWt8C,GAAG,CAACg2W,SAAS,CAAC,gBAAgB,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8r5B,YAAY,CAACpylB,SAAS,CAAC,UAAU,UAAU,aAAat4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+r5B,MAAM,CAACrylB,SAAS,CAAC,QAAQ,WAAW,UAAU,QAAQ,MAAM,eAAet4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgs5B,MAAM,CAACtylB,SAAS,CAAC,MAAM,SAAS,UAAU,QAAQ,eAAet4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWis5B,YAAY,CAACvylB,SAAS,CAAC,UAAU,UAAUt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWks5B,UAAU,CAACxylB,SAAS,CAAC,UAAUt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWms5B,iBAAiB,CAACzylB,SAAS,CAAC,OAAO,gBAAgB,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWos5B,eAAe,CAAC1ylB,SAAS,CAAC,gBAAgB,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqs5B,MAAM,CAAC3ylB,SAAS,CAAC,gBAAgB,UAAU,OAAO,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWss5B,MAAM,CAAC5ylB,SAAS,CAAC,UAAU,UAAU,QAAQ,WAAW,iBAAiBt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWus5B,MAAM,CAAC7ylB,SAAS,CAAC,UAAU,WAAW,QAAQ,iBAAiBt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWws5B,MAAM,CAAC9ylB,SAAS,CAAC,WAAW,gBAAgB,iBAAiBt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWys5B,MAAM,CAAC/ylB,SAAS,CAAC,UAAU,QAAQ,OAAO,WAAW,gBAAgB,SAASt4S,KAAK,8JAAkJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0s5B,yBAAyB,CAAChzlB,SAAS,CAAC,gBAAgB,QAAQ,WAAWt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWozX,GAAG,CAAC15D,SAAS,CAAC,QAAQ,iBAAiBt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW84a,OAAO,CAACp/G,SAAS,CAAC,KAAK,OAAO,UAAU,QAAQ,QAAQ,MAAM,iBAAiBt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2s5B,aAAa,CAACjzlB,SAAS,CAAC,WAAW,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4s5B,oBAAoB,CAAClzlB,SAAS,CAAC,UAAU,QAAQ,SAAS,MAAM,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4onB,OAAO,CAAClvT,SAAS,CAAC,UAAU,UAAU,OAAO,QAAQ,cAAct4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6s5B,gBAAgB,CAACnzlB,SAAS,CAAC,UAAU,QAAQ,WAAW,cAAct4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8s5B,MAAM,CAACpzlB,SAAS,CAAC,WAAW,UAAU,OAAO,QAAQ,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+s5B,MAAM,CAACrzlB,SAAS,CAAC,OAAO,UAAU,WAAW,aAAa,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgt5B,MAAM,CAACtzlB,SAAS,CAAC,QAAQ,WAAW,UAAU,YAAY,QAAQ,aAAa,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW/4D,EAAE,CAACyyX,SAAS,CAAC,aAAa,WAAW,UAAUt4S,KAAK,8JAAkJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW94D,EAAE,CAACwyX,SAAS,CAAC,aAAa,WAAW,UAAUt4S,KAAK,8JAAkJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8wnB,GAAG,CAACp3T,SAAS,CAAC,aAAa,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4nX,GAAG,CAACluD,SAAS,CAAC,WAAW,QAAQ,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0giB,GAAG,CAAChnO,SAAS,CAAC,WAAW,aAAa,UAAUt4S,KAAK,8JAAkJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWit5B,IAAI,CAACvzlB,SAAS,CAAC,OAAO,aAAa,QAAQ,YAAY,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkt5B,SAAS,CAACxzlB,SAAS,CAAC,QAAQ,WAAW,UAAU,MAAM,SAAS,OAAO,UAAUt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmt5B,WAAW,CAACzzlB,SAAS,CAAC,OAAO,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWot5B,cAAc,CAAC1zlB,SAAS,CAAC,SAAS,OAAO,QAAQ,SAAS,WAAW,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWvpD,EAAE,CAACijX,SAAS,CAAC,KAAK,SAAS,SAAS,SAAS,OAAOt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWtB,EAAE,CAACg7T,SAAS,CAAC,SAAS,SAASt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqt5B,UAAU,CAAC3zlB,SAAS,CAAC,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWst5B,MAAM,CAAC5zlB,SAAS,CAAC,QAAQ,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWut5B,WAAW,CAAC7zlB,SAAS,CAAC,OAAO,OAAO,SAASt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwt5B,eAAe,CAAC9zlB,SAAS,CAAC,QAAQ,WAAW,UAAU,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyt5B,cAAc,CAAC/zlB,SAAS,CAAC,QAAQ,MAAM,UAAU,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0t5B,YAAY,CAACh0lB,SAAS,CAAC,UAAU,aAAa,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW,oBAAoB,CAAC05T,SAAS,CAAC,QAAQ,SAAS,MAAM,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2t5B,SAAS,CAACj0lB,SAAS,CAAC,KAAK,QAAQ,MAAM,QAAQ,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4t5B,iBAAiB,CAACl0lB,SAAS,CAAC,SAAS,OAAO,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6t5B,YAAY,CAACn0lB,SAAS,CAAC,yBAAyB,SAAS,WAAW,cAAc,MAAM,WAAWt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8t5B,iBAAiB,CAACp0lB,SAAS,CAAC,WAAW,cAAc,OAAO,MAAM,WAAWt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+t5B,SAAS,CAACr0lB,SAAS,CAAC,QAAQ,YAAYt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgu5B,cAAc,CAACt0lB,SAAS,CAAC,SAAS,OAAO,MAAM,YAAYt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWiu5B,SAAS,CAACv0lB,SAAS,CAAC,cAAc,YAAYt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWku5B,YAAY,CAACx0lB,SAAS,CAAC,MAAM,cAAc,YAAYt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmu5B,eAAe,CAACz0lB,SAAS,CAAC,MAAM,YAAY,OAAO,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWou5B,gBAAgB,CAAC10lB,SAAS,CAAC,MAAM,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqu5B,QAAQ,CAAC30lB,SAAS,CAAC,SAAS,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsu5B,aAAa,CAAC50lB,SAAS,CAAC,aAAa,SAASt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWuu5B,sBAAsB,CAAC70lB,SAAS,CAAC,QAAQ,eAAe,QAAQ,WAAW,YAAY,OAAOt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWg9L,QAAQ,CAAC08H,SAAS,CAAC,cAAc,MAAM,QAAQ,QAAQ,UAAU,SAASt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwu5B,kBAAkB,CAAC90lB,SAAS,CAAC,SAAS,UAAU,SAAS,OAAO,UAAU,kBAAkBt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyu5B,SAAS,CAAC/0lB,SAAS,CAAC,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0u5B,QAAQ,CAACh1lB,SAAS,CAAC,QAAQ,cAAc,UAAU,SAASt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2u5B,MAAM,CAACj1lB,SAAS,CAAC,UAAU,QAAQ,eAAe,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4u5B,MAAM,CAACl1lB,SAAS,CAAC,eAAe,QAAQ,eAAe,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6u5B,QAAQ,CAACn1lB,SAAS,CAAC,QAAQ,eAAe,UAAU,OAAO,aAAat4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8u5B,sBAAsB,CAACp1lB,SAAS,CAAC,OAAO,UAAU,gBAAgBt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+u5B,4BAA4B,CAACr1lB,SAAS,CAAC,IAAI,eAAe,KAAK,QAAQt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgv5B,iBAAiB,CAACt1lB,SAAS,CAAC,eAAe,KAAK,QAAQ,OAAO,WAAW,SAAS,QAAQt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWiv5B,gCAAgC,CAACv1lB,SAAS,CAAC,QAAQ,OAAO,MAAM,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkv5B,QAAQ,CAACx1lB,SAAS,CAAC,UAAU,QAAQ,OAAO,QAAQ,SAAS,SAAS,YAAY,OAAO,UAAU,YAAY,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWw/N,KAAK,CAACk6F,SAAS,CAAC,OAAO,YAAYt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmv5B,qBAAqB,CAACz1lB,SAAS,CAAC,QAAQ,gBAAgB,QAAQ,WAAW,WAAW,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW/R,EAAE,CAACyrU,SAAS,CAAC,WAAW,cAAc,UAAUt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWov5B,IAAI,CAAC11lB,SAAS,CAAC,QAAQ,QAAQ,OAAO,cAAc,UAAU,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2jW,GAAG,CAACjqC,SAAS,CAAC,WAAW,cAAc,YAAYt4S,KAAK,8JAAkJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqv5B,iBAAiB,CAAC31lB,SAAS,CAAC,SAAS,eAAet4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsv5B,QAAQ,CAAC51lB,SAAS,CAAC,WAAW,SAAS,eAAet4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWuv5B,cAAc,CAAC71lB,SAAS,CAAC,cAAc,UAAU,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwv5B,aAAa,CAAC91lB,SAAS,CAAC,cAAc,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyv5B,WAAW,CAAC/1lB,SAAS,CAAC,cAAc,WAAW,OAAO,iBAAiBt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0v5B,WAAW,CAACh2lB,SAAS,CAAC,YAAY,cAAc,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkzX,GAAG,CAACx5D,SAAS,CAAC,SAAS,WAAW,eAAet4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2v5B,QAAQ,CAACj2lB,SAAS,CAAC,OAAO,cAAc,WAAW,UAAUt4S,KAAK,8JAAkJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4v5B,cAAc,CAACl2lB,SAAS,CAAC,cAAc,SAAS,WAAW,WAAW,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6v5B,KAAK,CAACn2lB,SAAS,CAAC,SAAS,WAAW,KAAK,cAAc,SAAS,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8v5B,OAAO,CAACp2lB,SAAS,CAAC,gBAAgB,QAAQ,SAAS,SAAS,MAAM,WAAW,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+v5B,YAAY,CAACr2lB,SAAS,CAAC,gBAAgB,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgw5B,SAAS,CAACt2lB,SAAS,CAAC,cAAc,SAAS,UAAU,KAAK,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWiw5B,wBAAwB,CAACv2lB,SAAS,CAAC,cAAc,OAAO,QAAQ,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkw5B,OAAO,CAACx2lB,SAAS,CAAC,cAAc,SAAS,OAAO,QAAQ,UAAU,QAAQ,WAAWt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmw5B,gBAAgB,CAACz2lB,SAAS,CAAC,cAAc,YAAY,QAAQ,WAAW,aAAa,OAAO,YAAY,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWow5B,KAAK,CAAC12lB,SAAS,CAAC,cAAc,OAAO,WAAW,WAAW,eAAet4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwmZ,GAAG,CAAC9sF,SAAS,CAAC,cAAc,QAAQ,QAAQ,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWtW,GAAG,CAACgwU,SAAS,CAAC,OAAO,QAAQ,MAAM,eAAet4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWjiD,GAAG,CAAC27W,SAAS,CAAC,cAAc,QAAQ,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqw5B,KAAK,CAAC32lB,SAAS,CAAC,QAAQ,eAAet4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsw5B,IAAI,CAAC52lB,SAAS,CAAC,cAAc,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0/P,KAAK,CAACg6D,SAAS,CAAC,cAAc,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwrmB,KAAK,CAAC9xS,SAAS,CAAC,IAAI,UAAU,cAAc,QAAQt4S,KAAK,8JAAoJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWq+Y,IAAI,CAAC3kF,SAAS,CAAC,cAAc,UAAU,KAAKt4S,KAAK,8JAAoJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyrmB,IAAI,CAAC/xS,SAAS,CAAC,UAAU,IAAI,QAAQ,eAAet4S,KAAK,8JAAoJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0rmB,MAAM,CAAChyS,SAAS,CAAC,IAAI,UAAU,QAAQ,eAAet4S,KAAK,8JAAoJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2rmB,KAAK,CAACjyS,SAAS,CAAC,IAAI,UAAU,eAAet4S,KAAK,8JAAoJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4rmB,KAAK,CAAClyS,SAAS,CAAC,IAAI,UAAU,cAAc,SAASt4S,KAAK,8JAAoJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6rmB,IAAI,CAACnyS,SAAS,CAAC,IAAI,UAAU,eAAet4S,KAAK,8JAAoJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8rmB,MAAM,CAACpyS,SAAS,CAAC,IAAI,UAAU,cAAc,SAASt4S,KAAK,8JAAoJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+rmB,MAAM,CAACryS,SAAS,CAAC,IAAI,cAAc,WAAWt4S,KAAK,8JAAoJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgsmB,KAAK,CAACtyS,SAAS,CAAC,cAAc,UAAU,KAAKt4S,KAAK,8JAAoJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWuw5B,WAAW,CAAC72lB,SAAS,CAAC,UAAU,KAAK,eAAet4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWww5B,SAAS,CAAC92lB,SAAS,CAAC,OAAO,UAAUt4S,KAAK,wJAAmJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyw5B,aAAa,CAAC/2lB,SAAS,CAAC,eAAet4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0w5B,cAAc,CAACh3lB,SAAS,CAAC,cAAc,QAAQ,YAAY,QAAQt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2w5B,aAAa,CAACj3lB,SAAS,CAAC,QAAQ,eAAet4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4w5B,kBAAkB,CAACl3lB,SAAS,CAAC,UAAU,OAAO,eAAet4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6w5B,YAAY,CAACn3lB,SAAS,CAAC,eAAet4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8w5B,cAAc,CAACp3lB,SAAS,CAAC,eAAet4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+w5B,qBAAqB,CAACr3lB,SAAS,CAAC,cAAc,OAAO,SAASt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgx5B,sBAAsB,CAACt3lB,SAAS,CAAC,YAAYt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWix5B,aAAa,CAACv3lB,SAAS,CAAC,cAAc,OAAO,QAAQ,YAAYt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkx5B,OAAO,CAACx3lB,SAAS,CAAC,OAAO,eAAet4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmx5B,0BAA0B,CAACz3lB,SAAS,CAAC,cAAc,UAAU,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWuhB,OAAO,CAACm4S,SAAS,CAAC,OAAO,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWox5B,WAAW,CAAC13lB,SAAS,CAAC,cAAc,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqx5B,eAAe,CAAC33lB,SAAS,CAAC,cAAc,OAAO,aAAat4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsx5B,eAAe,CAAC53lB,SAAS,CAAC,cAAc,WAAW,YAAY,QAAQ,UAAU,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWux5B,iBAAiB,CAAC73lB,SAAS,CAAC,cAAc,YAAY,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwx5B,gBAAgB,CAAC93lB,SAAS,CAAC,cAAc,YAAY,OAAOt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyx5B,kBAAkB,CAAC/3lB,SAAS,CAAC,cAAc,YAAY,UAAUt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0x5B,YAAY,CAACh4lB,SAAS,CAAC,cAAc,QAAQt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2x5B,WAAW,CAACj4lB,SAAS,CAAC,cAAc,WAAW,QAAQt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4x5B,SAAS,CAACl4lB,SAAS,CAAC,cAAc,WAAW,MAAM,aAAat4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6x5B,WAAW,CAACn4lB,SAAS,CAAC,cAAc,YAAY,UAAUt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8x5B,kBAAkB,CAACp4lB,SAAS,CAAC,cAAc,QAAQ,YAAY,WAAW,aAAat4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+x5B,kBAAkB,CAACr4lB,SAAS,CAAC,cAAc,YAAY,WAAW,aAAat4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgy5B,iBAAiB,CAACt4lB,SAAS,CAAC,cAAc,YAAY,WAAW,aAAat4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWiy5B,iBAAiB,CAACv4lB,SAAS,CAAC,cAAc,QAAQ,YAAY,WAAW,aAAat4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWky5B,cAAc,CAACx4lB,SAAS,CAAC,cAAc,YAAY,MAAM,YAAYt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmy5B,iBAAiB,CAACz4lB,SAAS,CAAC,QAAQ,YAAY,aAAa,YAAYt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWoy5B,wBAAwB,CAAC14lB,SAAS,CAAC,cAAc,OAAO,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqy5B,iBAAiB,CAAC34lB,SAAS,CAAC,cAAc,SAAS,SAAS,aAAat4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsy5B,0BAA0B,CAAC54lB,SAAS,CAAC,OAAO,SAAS,cAAc,OAAO,SAASt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWuy5B,iBAAiB,CAAC74lB,SAAS,CAAC,cAAc,YAAY,OAAOt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwy5B,mBAAmB,CAAC94lB,SAAS,CAAC,cAAc,YAAY,UAAUt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgoB,KAAK,CAAC0xS,SAAS,CAAC,SAAS,cAAc,WAAWt4S,KAAK,8JAAoJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyy5B,mBAAmB,CAAC/4lB,SAAS,CAAC,cAAc,WAAW,UAAUt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0y5B,IAAI,CAACh5lB,SAAS,CAAC,cAAc,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2y5B,KAAK,CAACj5lB,SAAS,CAAC,cAAc,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4y5B,aAAa,CAACl5lB,SAAS,CAAC,WAAW,QAAQ,eAAet4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW9hB,QAAQ,CAACw7U,SAAS,CAAC,cAAc,QAAQ,OAAO,YAAY,UAAU,SAAS,cAAct4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6y5B,aAAa,CAACn5lB,SAAS,CAAC,QAAQ,OAAO,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8y5B,MAAM,CAACp5lB,SAAS,CAAC,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+y5B,UAAU,CAACr5lB,SAAS,CAAC,OAAO,OAAO,YAAY,WAAW,WAAW,YAAYt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgz5B,WAAW,CAACt5lB,SAAS,CAAC,WAAW,OAAO,QAAQ,YAAYt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWiz5B,iBAAiB,CAACv5lB,SAAS,CAAC,KAAK,OAAO,SAAS,MAAM,QAAQt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkz5B,iBAAiB,CAACx5lB,SAAS,CAAC,OAAO,QAAQ,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmz5B,gBAAgB,CAACz5lB,SAAS,CAAC,OAAO,cAAc,WAAW,OAAO,YAAYt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWoz5B,iBAAiB,CAAC15lB,SAAS,CAAC,OAAO,cAAc,WAAW,QAAQt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqz5B,oBAAoB,CAAC35lB,SAAS,CAAC,SAAS,OAAO,eAAet4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsz5B,uBAAuB,CAAC55lB,SAAS,CAAC,OAAO,eAAet4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWuz5B,SAAS,CAAC75lB,SAAS,CAAC,WAAWt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwz5B,kBAAkB,CAAC95lB,SAAS,CAAC,QAAQ,QAAQ,UAAU,WAAW,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyz5B,kBAAkB,CAAC/5lB,SAAS,CAAC,QAAQ,QAAQ,SAAS,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWzrB,UAAU,CAACmlV,SAAS,CAAC,KAAK,UAAU,SAAS,MAAM,SAASt4S,KAAK,sJAA8I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmsK,WAAW,CAACutJ,SAAS,CAAC,WAAW,UAAUt4S,KAAK,sJAA8I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2mhB,GAAG,CAACjtN,SAAS,CAAC,YAAY,QAAQ,MAAM,SAASt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW/pD,IAAI,CAACyjX,SAAS,CAAC,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW89mB,KAAK,CAACpkT,SAAS,CAAC,QAAQ,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2a,GAAG,CAAC++S,SAAS,CAAC,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWniD,IAAI,CAAC67W,SAAS,CAAC,QAAQ,eAAet4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0z5B,KAAK,CAACh6lB,SAAS,CAAC,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2z5B,sBAAsB,CAACj6lB,SAAS,CAAC,KAAK,QAAQ,UAAU,eAAe,OAAO,WAAW,MAAM,QAAQt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4z5B,aAAa,CAACl6lB,SAAS,CAAC,QAAQ,MAAM,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6z5B,aAAa,CAACn6lB,SAAS,CAAC,QAAQ,SAASt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8z5B,aAAa,CAACp6lB,SAAS,CAAC,QAAQ,SAAS,SAASt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+z5B,WAAW,CAACr6lB,SAAS,CAAC,QAAQ,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWg05B,kBAAkB,CAACt6lB,SAAS,CAAC,QAAQ,OAAO,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWi05B,qBAAqB,CAACv6lB,SAAS,CAAC,QAAQ,QAAQ,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWk05B,mBAAmB,CAACx6lB,SAAS,CAAC,QAAQ,QAAQ,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWm05B,qBAAqB,CAACz6lB,SAAS,CAAC,QAAQ,QAAQ,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWo05B,mBAAmB,CAAC16lB,SAAS,CAAC,QAAQ,QAAQ,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWq05B,mBAAmB,CAAC36lB,SAAS,CAAC,QAAQ,YAAY,KAAK,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWs05B,mBAAmB,CAAC56lB,SAAS,CAAC,QAAQ,QAAQt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWu05B,mBAAmB,CAAC76lB,SAAS,CAAC,QAAQ,QAAQt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWw05B,mBAAmB,CAAC96lB,SAAS,CAAC,QAAQ,OAAO,UAAUt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWy05B,mBAAmB,CAAC/6lB,SAAS,CAAC,QAAQ,OAAO,QAAQ,UAAUt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW005B,wBAAwB,CAACh7lB,SAAS,CAAC,QAAQ,YAAY,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW205B,oBAAoB,CAACj7lB,SAAS,CAAC,QAAQ,SAAS,QAAQt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW405B,oBAAoB,CAACl7lB,SAAS,CAAC,QAAQ,QAAQ,QAAQt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW605B,0BAA0B,CAACn7lB,SAAS,CAAC,OAAO,QAAQ,UAAUt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW805B,0BAA0B,CAACp7lB,SAAS,CAAC,QAAQ,QAAQ,OAAO,UAAUt4S,KAAK,oJAA+I6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+05B,oBAAoB,CAACr7lB,SAAS,CAAC,QAAQ,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWg15B,oBAAoB,CAACt7lB,SAAS,CAAC,QAAQ,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWi15B,QAAQ,CAACv7lB,SAAS,CAAC,QAAQ,SAAS,UAAU,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWk15B,MAAM,CAACx7lB,SAAS,CAAC,SAAS,UAAU,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWm15B,WAAW,CAACz7lB,SAAS,CAAC,SAAS,QAAQ,QAAQ,UAAU,aAAat4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW07gB,KAAK,CAAChiN,SAAS,CAAC,QAAQ,SAAS,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWo15B,KAAK,CAAC17lB,SAAS,CAAC,QAAQ,UAAU,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWq15B,YAAY,CAAC37lB,SAAS,CAAC,SAAS,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWs15B,KAAK,CAAC57lB,SAAS,CAAC,QAAQ,eAAe,YAAY,OAAO,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWu15B,QAAQ,CAAC77lB,SAAS,CAAC,QAAQ,SAAS,OAAO,QAAQ,UAAUt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWw15B,YAAY,CAAC97lB,SAAS,CAAC,QAAQ,QAAQ,OAAO,OAAO,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWy15B,QAAQ,CAAC/7lB,SAAS,CAAC,OAAO,OAAO,UAAU,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW015B,OAAO,CAACh8lB,SAAS,CAAC,QAAQ,QAAQ,QAAQ,SAASt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW215B,MAAM,CAACj8lB,SAAS,CAAC,QAAQ,QAAQ,QAAQ,SAASt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW415B,OAAO,CAACl8lB,SAAS,CAAC,QAAQ,QAAQ,QAAQ,SAASt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW615B,SAAS,CAACn8lB,SAAS,CAAC,QAAQ,QAAQ,QAAQ,SAASt4S,KAAK,0JAAgJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW815B,qBAAqB,CAACp8lB,SAAS,CAAC,OAAO,SAAS,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+15B,gBAAgB,CAACr8lB,SAAS,CAAC,SAAS,QAAQ,SAAS,WAAW,SAASt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWg25B,mBAAmB,CAACt8lB,SAAS,CAAC,UAAU,SAAS,WAAW,OAAOt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWi25B,eAAe,CAACv8lB,SAAS,CAAC,SAAS,QAAQ,UAAU,OAAO,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWk25B,mBAAmB,CAACx8lB,SAAS,CAAC,QAAQ,UAAU,OAAO,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWm25B,OAAO,CAACz8lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWo25B,OAAO,CAAC18lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWq25B,OAAO,CAAC38lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWs25B,OAAO,CAAC58lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWu25B,OAAO,CAAC78lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWw25B,OAAO,CAAC98lB,SAAS,CAAC,OAAO,OAAO,QAAQ,WAAW,OAAO,QAAQt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWy25B,OAAO,CAAC/8lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW025B,OAAO,CAACh9lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW225B,OAAO,CAACj9lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW425B,QAAQ,CAACl9lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW625B,QAAQ,CAACn9lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW825B,QAAQ,CAACp9lB,SAAS,CAAC,OAAO,OAAO,WAAW,SAAS,OAAO,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+25B,SAAS,CAACr9lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWg35B,SAAS,CAACt9lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWi35B,SAAS,CAACv9lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWk35B,SAAS,CAACx9lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWm35B,SAAS,CAACz9lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWo35B,SAAS,CAAC19lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWq35B,SAAS,CAAC39lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWs35B,SAAS,CAAC59lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWu35B,SAAS,CAAC79lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWw35B,UAAU,CAAC99lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWy35B,UAAU,CAAC/9lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW035B,UAAU,CAACh+lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,wJAAiJ6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW235B,YAAY,CAACj+lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS435B,cAAc,CAACl+lB,SAAS,CAAC,WAAQ,UAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS635B,QAAQ,CAACn+lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS835B,QAAQ,CAACp+lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS+35B,eAAe,CAACr+lB,SAAS,CAAC,WAAW,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASg45B,QAAQ,CAACt+lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASi45B,OAAO,CAACv+lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASk45B,SAAS,CAACx+lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASm45B,WAAW,CAACz+lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASo45B,gBAAgB,CAAC1+lB,SAAS,CAAC,UAAU,UAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASq45B,UAAU,CAAC3+lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASs45B,QAAQ,CAAC5+lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASu45B,MAAM,CAAC7+lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASw45B,UAAU,CAAC9+lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASy45B,QAAQ,CAAC/+lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS045B,WAAW,CAACh/lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS245B,QAAQ,CAACj/lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS445B,QAAQ,CAACl/lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS645B,WAAW,CAACn/lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS845B,SAAS,CAACp/lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS+45B,QAAQ,CAACr/lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASg55B,QAAQ,CAACt/lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASi55B,OAAO,CAACv/lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASk55B,MAAM,CAACx/lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASm55B,QAAQ,CAACz/lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASo55B,OAAO,CAAC1/lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASq55B,QAAQ,CAAC3/lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASs55B,sBAAsB,CAAC5/lB,SAAS,CAAC,UAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASu55B,mBAAmB,CAAC7/lB,SAAS,CAAC,SAAS,cAAc,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASw55B,SAAS,CAAC9/lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASy55B,OAAO,CAAC//lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS055B,+BAA+B,CAAChgmB,SAAS,CAAC,UAAU,SAAS,QAAQ,YAAY,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS255B,uBAAuB,CAACjgmB,SAAS,CAAC,UAAU,SAAS,UAAU,MAAM,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS455B,OAAO,CAAClgmB,SAAS,CAAC,KAAK,aAAa,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS655B,SAAS,CAACngmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS855B,aAAa,CAACpgmB,SAAS,CAAC,UAAU,OAAO,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS+55B,QAAQ,CAACrgmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASg65B,WAAW,CAACtgmB,SAAS,CAAC,OAAO,QAAQ,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASi65B,SAAS,CAACvgmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASk65B,SAAS,CAACxgmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASm65B,OAAO,CAACzgmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASo65B,eAAe,CAAC1gmB,SAAS,CAAC,SAAS,UAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASq65B,eAAe,CAAC3gmB,SAAS,CAAC,SAAS,UAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASs65B,yBAAyB,CAAC5gmB,SAAS,CAAC,UAAU,UAAU,WAAW,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASu65B,KAAK,CAAC7gmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASw65B,MAAM,CAAC9gmB,SAAS,CAAC,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASusT,GAAG,CAACmN,SAAS,CAAC,QAAQ,UAAU,MAAM,OAAO,UAAU,SAAS,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASy65B,iBAAiB,CAAC/gmB,SAAS,CAAC,YAAY,SAAS,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS065B,cAAc,CAAChhmB,SAAS,CAAC,QAAQ,UAAU,UAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS265B,SAAS,CAACjhmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS465B,QAAQ,CAAClhmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS665B,kBAAkB,CAACnhmB,SAAS,CAAC,QAAQ,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS865B,eAAe,CAACphmB,SAAS,CAAC,QAAQ,aAAa,WAAW,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS+65B,aAAa,CAACrhmB,SAAS,CAAC,OAAO,UAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASg75B,WAAW,CAACthmB,SAAS,CAAC,QAAQ,OAAO,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASi75B,QAAQ,CAACvhmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASk75B,KAAK,CAACxhmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASm75B,QAAQ,CAACzhmB,SAAS,CAAC,aAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASo75B,OAAO,CAAC1hmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASq75B,eAAe,CAAC3hmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASs75B,QAAQ,CAAC5hmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASu75B,SAAS,CAAC7hmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASw75B,SAAS,CAAC9hmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASy75B,mBAAmB,CAAC/hmB,SAAS,CAAC,YAAY,WAAW,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS075B,QAAQ,CAAChimB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS275B,MAAM,CAACjimB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS475B,YAAY,CAAClimB,SAAS,CAAC,KAAK,WAAW,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS675B,kBAAkB,CAACnimB,SAAS,CAAC,aAAa,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS875B,QAAQ,CAACpimB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS+75B,QAAQ,CAACrimB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASg85B,SAAS,CAACtimB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASqtX,GAAG,CAAC3zD,SAAS,CAAC,WAAW,QAAQ,OAAO,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASi85B,iBAAiB,CAACvimB,SAAS,CAAC,WAAW,UAAU,WAAW,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASk85B,cAAc,CAACximB,SAAS,CAAC,QAAQ,UAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASm85B,KAAK,CAACzimB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASo85B,QAAQ,CAAC1imB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS25V,GAAG,CAACjgC,SAAS,CAAC,SAAS,OAAO,SAAS,SAAS,SAAS,WAAWt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASq85B,cAAc,CAAC3imB,SAAS,CAAC,SAAS,SAAS,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASs85B,iBAAiB,CAAC5imB,SAAS,CAAC,SAAS,YAAY,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASu85B,4BAA4B,CAAC7imB,SAAS,CAAC,SAAS,WAAW,cAAc,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASw85B,MAAM,CAAC9imB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASy85B,OAAO,CAAC/imB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS085B,QAAQ,CAAChjmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS6vV,GAAG,CAACn2B,SAAS,CAAC,SAAS,SAAS,OAAO,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS285B,MAAM,CAACjjmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS485B,UAAU,CAACljmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS685B,OAAO,CAACnjmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS885B,UAAU,CAACpjmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS+85B,QAAQ,CAACrjmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASg95B,WAAW,CAACtjmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASi95B,KAAK,CAACvjmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASk95B,UAAU,CAACxjmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASm95B,SAAS,CAACzjmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASo95B,OAAO,CAAC1jmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASq95B,cAAc,CAAC3jmB,SAAS,CAAC,KAAK,SAAS,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASs95B,OAAO,CAAC5jmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASu95B,MAAM,CAAC7jmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASw95B,SAAS,CAAC9jmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASy95B,UAAU,CAAC/jmB,SAAS,CAAC,OAAO,OAAO,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS095B,QAAQ,CAAChkmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS295B,QAAQ,CAACjkmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS495B,MAAM,CAAClkmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS695B,UAAU,CAACnkmB,SAAS,CAAC,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS895B,KAAK,CAACpkmB,SAAS,CAAC,QAAQ,UAAU,WAAW,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS+95B,KAAK,CAACrkmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASg+5B,QAAQ,CAACtkmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASi+5B,YAAY,CAACvkmB,SAAS,CAAC,OAAO,MAAM,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASk+5B,OAAO,CAACxkmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASltB,GAAG,CAAC4mV,SAAS,CAAC,QAAQ,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASm+5B,aAAa,CAACzkmB,SAAS,CAAC,QAAQ,QAAQ,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASo+5B,QAAQ,CAAC1kmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS+1Y,GAAG,CAACr8E,SAAS,CAAC,WAAW,SAAS,OAAO,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASq+5B,OAAO,CAAC3kmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASs+5B,OAAO,CAAC5kmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASu+5B,WAAW,CAAC7kmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASw+5B,MAAM,CAAC9kmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASy+5B,SAAS,CAAC/kmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS0+5B,OAAO,CAAChlmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS2+5B,OAAO,CAACjlmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS4+5B,WAAW,CAACllmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS6+5B,KAAK,CAACnlmB,SAAS,CAAC,MAAM,aAAa,WAAW,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS8+5B,OAAO,CAACplmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS++5B,QAAQ,CAACrlmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASg/5B,QAAQ,CAACtlmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASi/5B,QAAQ,CAACvlmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASk/5B,MAAM,CAACxlmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASm/5B,cAAc,CAACzlmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASo/5B,UAAU,CAAC1lmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASq/5B,WAAW,CAAC3lmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASs/5B,MAAM,CAAC5lmB,SAAS,CAAC,QAAQ,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASu/5B,UAAU,CAAC7lmB,SAAS,CAAC,aAAa,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASw/5B,WAAW,CAAC9lmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASy/5B,OAAO,CAAC/lmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS0/5B,SAAS,CAAChmmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS2/5B,SAAS,CAACjmmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS4/5B,KAAK,CAAClmmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS6/5B,MAAM,CAACnmmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS8/5B,iBAAiB,CAACpmmB,SAAS,CAAC,WAAW,UAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS+/5B,WAAW,CAACrmmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASgg6B,WAAW,CAACtmmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASig6B,UAAU,CAACvmmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASkg6B,QAAQ,CAACxmmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASmg6B,OAAO,CAACzmmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASog6B,WAAW,CAAC1mmB,SAAS,CAAC,cAAc,YAAY,SAAS,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASqg6B,QAAQ,CAAC3mmB,SAAS,CAAC,WAAW,WAAW,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASsg6B,OAAO,CAAC5mmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASug6B,SAAS,CAAC7mmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASwg6B,WAAW,CAAC9mmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASyg6B,WAAW,CAAC/mmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS0g6B,QAAQ,CAAChnmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS2g6B,WAAW,CAACjnmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS4g6B,QAAQ,CAAClnmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS6g6B,QAAQ,CAACnnmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS8g6B,MAAM,CAACpnmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS+g6B,MAAM,CAACrnmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASgh6B,YAAY,CAACtnmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASih6B,cAAc,CAACvnmB,SAAS,CAAC,MAAM,YAAY,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASkh6B,YAAY,CAACxnmB,SAAS,CAAC,MAAM,UAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASmh6B,UAAU,CAACznmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASoh6B,MAAM,CAAC1nmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASqh6B,QAAQ,CAAC3nmB,SAAS,CAAC,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASsh6B,KAAK,CAAC5nmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASuh6B,eAAe,CAAC7nmB,SAAS,CAAC,UAAU,SAAS,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASwh6B,yBAAyB,CAAC9nmB,SAAS,CAAC,WAAW,UAAU,UAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASyh6B,YAAY,CAAC/nmB,SAAS,CAAC,QAAQ,QAAQ,SAAS,OAAO,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS0h6B,OAAO,CAAChomB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS2h6B,KAAK,CAACjomB,SAAS,CAAC,YAAY,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS4h6B,SAAS,CAAClomB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS6h6B,MAAM,CAACnomB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS8h6B,wBAAwB,CAACpomB,SAAS,CAAC,YAAY,cAAc,cAAc,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS+h6B,OAAO,CAACromB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASgi6B,iBAAiB,CAACtomB,SAAS,CAAC,QAAQ,MAAM,SAAS,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASii6B,SAAS,CAACvomB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS++W,KAAK,CAACrlD,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASki6B,YAAY,CAACxomB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASmi6B,iBAAiB,CAACzomB,SAAS,CAAC,WAAW,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASoi6B,OAAO,CAAC1omB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASqi6B,SAAS,CAAC3omB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASsi6B,YAAY,CAAC5omB,SAAS,CAAC,SAAS,OAAO,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASui6B,MAAM,CAAC7omB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASwi6B,QAAQ,CAAC9omB,SAAS,CAAC,aAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASyi6B,QAAQ,CAAC/omB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASmnW,GAAG,CAACztC,SAAS,CAAC,UAAU,aAAa,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS0i6B,OAAO,CAAChpmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS2i6B,cAAc,CAACjpmB,SAAS,CAAC,QAAQ,gBAAa,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS4i6B,UAAU,CAAClpmB,SAAS,CAAC,QAAQ,SAAS,YAAY,UAAU,QAAQ,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS6i6B,eAAe,CAACnpmB,SAAS,CAAC,QAAQ,QAAQ,QAAQ,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS8i6B,SAAS,CAACppmB,SAAS,CAAC,QAAQ,QAAQ,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS+i6B,mBAAmB,CAACrpmB,SAAS,CAAC,QAAQ,SAAS,WAAW,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASgj6B,sBAAsB,CAACtpmB,SAAS,CAAC,QAAQ,UAAU,aAAa,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASij6B,MAAM,CAACvpmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASkj6B,WAAW,CAACxpmB,SAAS,CAAC,MAAM,SAAS,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASmj6B,kBAAkB,CAACzpmB,SAAS,CAAC,MAAM,OAAO,WAAW,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASoj6B,aAAa,CAAC1pmB,SAAS,CAAC,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASqj6B,QAAQ,CAAC3pmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASsj6B,OAAO,CAAC5pmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASuj6B,WAAW,CAAC7pmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASwj6B,aAAa,CAAC9pmB,SAAS,CAAC,SAAS,QAAQ,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASyj6B,UAAU,CAAC/pmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS0j6B,aAAa,CAAChqmB,SAAS,CAAC,OAAO,UAAU,QAAQ,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS2j6B,SAAS,CAACjqmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS4j6B,SAAS,CAAClqmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS6j6B,gBAAgB,CAACnqmB,SAAS,CAAC,UAAU,UAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS8j6B,QAAQ,CAACpqmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS+j6B,aAAa,CAACrqmB,SAAS,CAAC,QAAQ,SAAS,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASgk6B,qCAAqC,CAACtqmB,SAAS,CAAC,QAAQ,UAAU,WAAW,UAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASg7V,GAAG,CAACthC,SAAS,CAAC,QAAQ,QAAQ,SAAS,OAAO,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASik6B,YAAY,CAACvqmB,SAAS,CAAC,QAAQ,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASmyX,GAAG,CAACz4D,SAAS,CAAC,QAAQ,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASkk6B,UAAU,CAACxqmB,SAAS,CAAC,MAAM,QAAQ,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASmk6B,MAAM,CAACzqmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASok6B,SAAS,CAAC1qmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASqk6B,UAAU,CAAC3qmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASsk6B,OAAO,CAAC5qmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASuk6B,YAAY,CAAC7qmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASwk6B,MAAM,CAAC9qmB,SAAS,CAAC,SAAS,OAAO,WAAW,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASyk6B,OAAO,CAAC/qmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS0k6B,WAAW,CAAChrmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS2k6B,SAAS,CAACjrmB,SAAS,CAAC,YAAY,SAAS,WAAW,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS4k6B,SAAS,CAAClrmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS6k6B,YAAY,CAACnrmB,SAAS,CAAC,QAAQ,QAAQ,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS8k6B,KAAK,CAACprmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS+k6B,QAAQ,CAACrrmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASgl6B,MAAM,CAACtrmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASil6B,gBAAgB,CAACvrmB,SAAS,CAAC,WAAW,SAAS,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASkl6B,QAAQ,CAACxrmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS+4V,GAAG,CAACr/B,SAAS,CAAC,SAAS,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASml6B,aAAa,CAACzrmB,SAAS,CAAC,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASol6B,qBAAqB,CAAC1rmB,SAAS,CAAC,QAAQ,SAAS,UAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASql6B,OAAO,CAAC3rmB,SAAS,CAAC,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASsl6B,OAAO,CAAC5rmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASul6B,QAAQ,CAAC7rmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASwl6B,qBAAqB,CAAC9rmB,SAAS,CAAC,SAAS,OAAO,WAAW,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS83sB,GAAG,CAACp+Y,SAAS,CAAC,SAAS,UAAU,QAAQ,UAAU,WAAW,UAAU,OAAO,SAAS,UAAU,SAAS,UAAU,KAAK,UAAU,UAAU,cAAct4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASyl6B,QAAQ,CAAC/rmB,SAAS,CAAC,OAAO,WAAWt4S,KAAK,kPAAiM6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS0l6B,SAAS,CAAChsmB,SAAS,CAAC,OAAO,YAAYt4S,KAAK,kPAAiM6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS2l6B,MAAM,CAACjsmB,SAAS,CAAC,OAAO,SAASt4S,KAAK,kPAAiM6p2B,mBAAkB,EAAMjr3B,SAAS,SAASwnW,GAAG,CAAC9tC,SAAS,CAAC,SAAS,SAAS,UAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS4l6B,kBAAkB,CAAClsmB,SAAS,CAAC,SAAS,UAAU,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS6l6B,QAAQ,CAACnsmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS8l6B,WAAW,CAACpsmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS+l6B,QAAQ,CAACrsmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASgm6B,aAAa,CAACtsmB,SAAS,CAAC,UAAU,OAAO,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASim6B,UAAU,CAACvsmB,SAAS,CAAC,KAAK,aAAa,WAAW,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASkm6B,QAAQ,CAACxsmB,SAAS,CAAC,OAAO,MAAM,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASmm6B,cAAc,CAACzsmB,SAAS,CAAC,SAAS,SAAS,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASom6B,eAAe,CAAC1smB,SAAS,CAAC,UAAU,SAAS,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASqm6B,MAAM,CAAC3smB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASsm6B,OAAO,CAAC5smB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASum6B,SAAS,CAAC7smB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASwm6B,eAAe,CAAC9smB,SAAS,CAAC,KAAK,OAAO,UAAUt4S,KAAK,uKAAyJ6p2B,mBAAkB,EAAMjr3B,SAAS,SAASym6B,YAAY,CAAC/smB,SAAS,CAAC,QAAQ,aAAa,OAAO,UAAUt4S,KAAK,yLAAmK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW18D,OAAOstuB,QAAQ+b,SAASx9uB,IAAI,4BAA4B,CAAC+76B,SAAS,CAACxxjB,SAAS,CAAC,OAAO,QAAQ,QAAQ,MAAM,KAAK,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUmr3B,UAAU,CAACzxjB,SAAS,CAAC,OAAO,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUor3B,KAAK,CAAC1xjB,SAAS,CAAC,OAAO,QAAQ,QAAQ,MAAM,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUqr3B,IAAI,CAAC3xjB,SAAS,CAAC,OAAO,MAAM,QAAQ,OAAO,QAAQ,aAAa,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUsr3B,KAAK,CAAC5xjB,SAAS,CAAC,OAAO,UAAU,QAAQ,WAAW,MAAM,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUur3B,SAAS,CAAC7xjB,SAAS,CAAC,OAAO,cAAc,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUwr3B,OAAO,CAAC9xjB,SAAS,CAAC,OAAO,QAAQ,MAAM,OAAO,KAAK,KAAK,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUyr3B,MAAM,CAAC/xjB,SAAS,CAAC,OAAO,QAAQ,MAAM,QAAQ,OAAO,QAAQ,OAAO,KAAK,MAAMt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU0r3B,YAAY,CAAChyjB,SAAS,CAAC,OAAO,MAAM,QAAQ,QAAQ,QAAQ,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU2r3B,SAAS,CAACjyjB,SAAS,CAAC,QAAQ,MAAM,MAAM,YAAY,OAAO,OAAO,OAAO,KAAK,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU4r3B,SAAS,CAAClyjB,SAAS,CAAC,OAAO,QAAQ,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU6r3B,KAAK,CAACnyjB,SAAS,CAAC,OAAO,QAAQ,cAAc,SAAS,KAAK,QAAQ,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU8r3B,MAAM,CAACpyjB,SAAS,CAAC,OAAO,QAAQ,QAAQ,UAAU,QAAQ,cAAc,MAAM,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU+r3B,sBAAsB,CAACryjB,SAAS,CAAC,OAAO,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUgs3B,iBAAiB,CAACtyjB,SAAS,CAAC,OAAO,UAAU,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUis3B,QAAQ,CAACvyjB,SAAS,CAAC,OAAO,QAAQ,UAAU,aAAat4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUks3B,IAAI,CAACxyjB,SAAS,CAAC,QAAQ,MAAM,SAAS,QAAQ,OAAO,QAAQ,QAAQ,MAAM,YAAY,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUms3B,SAAS,CAACzyjB,SAAS,CAAC,OAAO,UAAU,OAAO,UAAU,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUos3B,WAAW,CAAC1yjB,SAAS,CAAC,OAAO,OAAO,OAAO,YAAY,aAAa,cAAc,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUqs3B,+BAA+B,CAAC3yjB,SAAS,CAAC,OAAO,OAAO,OAAO,YAAY,aAAa,cAAc,QAAQ,SAAS,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUss3B,cAAc,CAAC5yjB,SAAS,CAAC,OAAO,OAAO,OAAO,YAAY,aAAa,cAAc,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUus3B,QAAQ,CAAC7yjB,SAAS,CAAC,OAAO,OAAO,OAAO,IAAI,aAAa,cAAc,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUws3B,qBAAqB,CAAC9yjB,SAAS,CAAC,OAAO,YAAY,aAAa,cAAc,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUys3B,oBAAoB,CAAC/yjB,SAAS,CAAC,OAAO,OAAO,OAAO,YAAY,aAAa,cAAc,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU0s3B,6BAA6B,CAAChzjB,SAAS,CAAC,OAAO,QAAQ,WAAW,UAAU,cAAc,QAAQ,OAAO,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU2s3B,KAAK,CAACjzjB,SAAS,CAAC,OAAO,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU4s3B,eAAe,CAAClzjB,SAAS,CAAC,OAAO,WAAW,aAAa,cAAc,YAAY,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU6s3B,QAAQ,CAACnzjB,SAAS,CAAC,OAAO,SAAS,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU8s3B,6BAA6B,CAACpzjB,SAAS,CAAC,OAAO,QAAQ,UAAU,cAAc,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU+s3B,iBAAiB,CAACrzjB,SAAS,CAAC,OAAO,QAAQ,WAAW,UAAU,cAAc,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUgt3B,iBAAiB,CAACtzjB,SAAS,CAAC,OAAO,OAAO,SAAS,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUit3B,UAAU,CAACvzjB,SAAS,CAAC,OAAO,QAAQ,OAAO,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUkt3B,WAAW,CAACxzjB,SAAS,CAAC,OAAO,OAAO,QAAQ,SAAS,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUmt3B,YAAY,CAACzzjB,SAAS,CAAC,OAAO,QAAQ,SAAS,OAAO,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUot3B,WAAW,CAAC1zjB,SAAS,CAAC,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUqt3B,gBAAgB,CAAC3zjB,SAAS,CAAC,OAAO,UAAU,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUst3B,KAAK,CAAC5zjB,SAAS,CAAC,OAAO,QAAQ,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUut3B,MAAM,CAAC7zjB,SAAS,CAAC,OAAO,QAAQ,OAAO,QAAQ,OAAO,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUwt3B,SAAS,CAAC9zjB,SAAS,CAAC,OAAO,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUyt3B,aAAa,CAAC/zjB,SAAS,CAAC,eAAe,MAAM,KAAK,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU0t3B,eAAe,CAACh0jB,SAAS,CAAC,OAAO,cAAc,MAAM,MAAM,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU2t3B,SAAS,CAACj0jB,SAAS,CAAC,eAAe,QAAQ,gBAAgB,UAAU,UAAU,cAAc,YAAY,UAAU,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU4t3B,UAAU,CAACl0jB,SAAS,CAAC,OAAO,UAAU,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU6t3B,SAAS,CAACn0jB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU8t3B,WAAW,CAACp0jB,SAAS,CAAC,OAAO,MAAM,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU+t3B,gBAAgB,CAACr0jB,SAAS,CAAC,OAAO,SAAS,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUgu3B,SAAS,CAACt0jB,SAAS,CAAC,OAAO,QAAQ,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUiu3B,mBAAmB,CAACv0jB,SAAS,CAAC,OAAO,WAAW,UAAU,UAAU,YAAY,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUku3B,eAAe,CAACx0jB,SAAS,CAAC,OAAO,UAAU,OAAO,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU6zO,QAAQ,CAAC6lF,SAAS,CAAC,OAAO,QAAQ,MAAM,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUmu3B,aAAa,CAACz0jB,SAAS,CAAC,OAAO,MAAM,QAAQ,YAAY,MAAMt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUou3B,QAAQ,CAAC10jB,SAAS,CAAC,OAAO,UAAU,UAAU,MAAMt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUqu3B,MAAM,CAAC30jB,SAAS,CAAC,MAAM,OAAO,UAAU,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUsu3B,KAAK,CAAC50jB,SAAS,CAAC,QAAQ,MAAM,OAAO,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUuu3B,QAAQ,CAAC70jB,SAAS,CAAC,OAAO,MAAM,YAAY,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUwu3B,SAAS,CAAC90jB,SAAS,CAAC,OAAO,eAAe,MAAM,QAAQ,OAAO,MAAMt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUyu3B,uBAAuB,CAAC/0jB,SAAS,CAAC,OAAO,WAAW,eAAe,MAAM,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU0u3B,cAAc,CAACh1jB,SAAS,CAAC,OAAO,MAAM,QAAQ,SAASt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU2u3B,UAAU,CAACj1jB,SAAS,CAAC,OAAO,OAAO,KAAK,QAAQ,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU4u3B,WAAW,CAACl1jB,SAAS,CAAC,OAAO,WAAW,OAAO,SAAS,OAAO,MAAMt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU6u3B,WAAW,CAACn1jB,SAAS,CAAC,OAAO,QAAQ,QAAQ,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU8u3B,MAAM,CAACp1jB,SAAS,CAAC,OAAO,QAAQ,SAAS,MAAM,aAAa,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU+u3B,SAAS,CAACr1jB,SAAS,CAAC,OAAO,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUgv3B,QAAQ,CAACt1jB,SAAS,CAAC,OAAO,MAAM,OAAO,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUiv3B,WAAW,CAACv1jB,SAAS,CAAC,OAAO,WAAW,YAAY,MAAM,OAAO,MAAMt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUkv3B,OAAO,CAACx1jB,SAAS,CAAC,OAAO,QAAQ,SAAS,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUmv3B,QAAQ,CAACz1jB,SAAS,CAAC,OAAO,SAAS,YAAY,UAAU,OAAO,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUov3B,WAAW,CAAC11jB,SAAS,CAAC,OAAO,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUqv3B,OAAO,CAAC31jB,SAAS,CAAC,OAAO,MAAM,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUsv3B,SAAS,CAAC51jB,SAAS,CAAC,OAAO,KAAK,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUuv3B,UAAU,CAAC71jB,SAAS,CAAC,OAAO,UAAU,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUwv3B,IAAI,CAAC91jB,SAAS,CAAC,OAAO,QAAQ,MAAM,YAAY,QAAQ,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUyv3B,sBAAsB,CAAC/1jB,SAAS,CAAC,OAAO,OAAO,QAAQ,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU0v3B,cAAc,CAACh2jB,SAAS,CAAC,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU2v3B,OAAO,CAACj2jB,SAAS,CAAC,OAAO,QAAQ,OAAO,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU4v3B,MAAM,CAACl2jB,SAAS,CAAC,OAAO,MAAM,MAAM,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU6v3B,IAAI,CAACn2jB,SAAS,CAAC,OAAO,WAAW,OAAO,MAAM,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU8v3B,KAAK,CAACp2jB,SAAS,CAAC,OAAO,OAAO,WAAW,SAAS,YAAY,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU+v3B,IAAI,CAACr2jB,SAAS,CAAC,OAAO,MAAM,QAAQ,MAAM,QAAQ,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUgw3B,WAAW,CAACt2jB,SAAS,CAAC,QAAQ,cAAc,MAAM,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUiw3B,WAAW,CAACv2jB,SAAS,CAAC,OAAO,MAAM,YAAY,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUkw3B,kBAAkB,CAACx2jB,SAAS,CAAC,OAAO,SAAS,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUmw3B,eAAe,CAACz2jB,SAAS,CAAC,OAAO,QAAQ,QAAQ,QAAQ,OAAO,WAAW,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUow3B,cAAc,CAAC12jB,SAAS,CAAC,OAAO,aAAa,SAAS,OAAO,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUqw3B,SAAS,CAAC32jB,SAAS,CAAC,OAAO,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUuqb,KAAK,CAAC7wH,SAAS,CAAC,OAAO,OAAO,MAAM,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUsw3B,sBAAsB,CAAC52jB,SAAS,CAAC,OAAO,cAAc,cAAc,OAAO,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUuw3B,uBAAuB,CAAC72jB,SAAS,CAAC,UAAU,SAAS,UAAU,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUww3B,MAAM,CAAC92jB,SAAS,CAAC,OAAO,QAAQ,cAAc,QAAQ,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUyw3B,SAAS,CAAC/2jB,SAAS,CAAC,OAAO,QAAQ,SAAS,QAAQ,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU0w3B,IAAI,CAACh3jB,SAAS,CAAC,SAAS,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU2w3B,KAAK,CAACj3jB,SAAS,CAAC,SAAS,WAAW,OAAO,OAAO,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU4w3B,YAAY,CAACl3jB,SAAS,CAAC,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU6w3B,IAAI,CAACn3jB,SAAS,CAAC,QAAQ,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU8w3B,cAAc,CAACp3jB,SAAS,CAAC,UAAU,MAAM,OAAO,YAAY,QAAQ,SAAS,QAAQ,QAAQ,WAAW,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU+w3B,gBAAgB,CAACr3jB,SAAS,CAAC,MAAM,OAAO,OAAO,UAAU,QAAQ,SAAS,WAAW,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUgx3B,MAAM,CAACt3jB,SAAS,CAAC,OAAO,WAAW,SAAS,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUyo1B,MAAM,CAAC/uhB,SAAS,CAAC,YAAY,SAAS,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUix3B,MAAM,CAACv3jB,SAAS,CAAC,MAAM,OAAO,QAAQ,eAAet4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUkx3B,MAAM,CAACx3jB,SAAS,CAAC,WAAW,UAAU,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUmx3B,WAAW,CAACz3jB,SAAS,CAAC,SAAS,OAAO,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUox3B,UAAU,CAAC13jB,SAAS,CAAC,SAAS,OAAO,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUqx3B,QAAQ,CAAC33jB,SAAS,CAAC,SAAS,OAAO,OAAO,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUsx3B,eAAe,CAAC53jB,SAAS,CAAC,SAAS,OAAO,OAAO,YAAY,OAAO,aAAa,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUux3B,UAAU,CAAC73jB,SAAS,CAAC,SAAS,OAAO,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUwx3B,YAAY,CAAC93jB,SAAS,CAAC,SAAS,OAAO,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUyx3B,WAAW,CAAC/3jB,SAAS,CAAC,SAAS,OAAO,QAAQ,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU0x3B,gBAAgB,CAACh4jB,SAAS,CAAC,SAAS,QAAQ,OAAO,MAAM,OAAO,QAAQ,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU2x3B,YAAY,CAACj4jB,SAAS,CAAC,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU4x3B,SAAS,CAACl4jB,SAAS,CAAC,QAAQ,UAAU,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU6x3B,aAAa,CAACn4jB,SAAS,CAAC,UAAU,SAAS,MAAM,cAAc,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU8x3B,KAAK,CAACp4jB,SAAS,CAAC,QAAQ,SAAS,WAAW,WAAW,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU+x3B,KAAK,CAACr4jB,SAAS,CAAC,QAAQ,UAAU,UAAU,SAAS,WAAW,QAAQ,KAAK,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUgy3B,aAAa,CAACt4jB,SAAS,CAAC,QAAQ,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU,KAAK,CAAC05T,SAAS,CAAC,WAAW,MAAM,UAAU,OAAO,QAAQ,SAAS,OAAO,OAAO,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU,KAAK,CAAC05T,SAAS,CAAC,aAAa,KAAK,UAAU,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUiy3B,UAAU,CAACv4jB,SAAS,CAAC,QAAQ,WAAW,OAAO,MAAM,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUky3B,KAAK,CAACx4jB,SAAS,CAAC,UAAU,OAAO,SAASt4S,KAAK,SAAI6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUmy3B,UAAU,CAACz4jB,SAAS,CAAC,OAAO,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUoy3B,WAAW,CAAC14jB,SAAS,CAAC,OAAO,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUxZ,EAAE,CAACkzU,SAAS,CAAC,UAAU,SAAS,OAAO,QAAQ,UAAU,OAAOt4S,KAAK,SAAI6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUqy3B,QAAQ,CAAC34jB,SAAS,CAAC,UAAU,QAAQ,UAAU,KAAK,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUsy3B,YAAY,CAAC54jB,SAAS,CAAC,UAAU,OAAO,WAAW,OAAO,OAAOt4S,KAAK,SAAI6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUuy3B,oBAAoB,CAAC74jB,SAAS,CAAC,UAAU,SAAS,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUwy3B,WAAW,CAAC94jB,SAAS,CAAC,UAAU,YAAY,QAAQ,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUyy3B,OAAO,CAAC/4jB,SAAS,CAAC,MAAM,OAAO,OAAO,SAAS,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU0y3B,KAAK,CAACh5jB,SAAS,CAAC,SAAS,OAAO,OAAO,UAAU,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU2y3B,KAAK,CAACj5jB,SAAS,CAAC,OAAO,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU4y3B,IAAI,CAACl5jB,SAAS,CAAC,OAAO,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUi9U,UAAU,CAACvjB,SAAS,CAAC,YAAY,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU6y3B,SAAS,CAACn5jB,SAAS,CAAC,OAAO,UAAU,YAAY,MAAMt4S,KAAK,SAAI6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU8y3B,WAAW,CAACp5jB,SAAS,CAAC,UAAU,OAAO,YAAY,MAAMt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU+y3B,WAAW,CAACr5jB,SAAS,CAAC,UAAU,OAAO,YAAY,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUgz3B,WAAW,CAACt5jB,SAAS,CAAC,YAAY,UAAU,OAAO,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUiz3B,YAAY,CAACv5jB,SAAS,CAAC,UAAU,OAAO,YAAY,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUqnW,GAAG,CAAC3tC,SAAS,CAAC,OAAO,UAAU,OAAO,SAAS,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUkz3B,iCAAiC,CAACx5jB,SAAS,CAAC,OAAO,UAAU,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUmz3B,SAAS,CAACz5jB,SAAS,CAAC,OAAO,UAAU,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUoz3B,MAAM,CAAC15jB,SAAS,CAAC,OAAO,UAAU,WAAW,gBAAgB,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUqz3B,gBAAgB,CAAC35jB,SAAS,CAAC,OAAO,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUsz3B,cAAc,CAAC55jB,SAAS,CAAC,OAAO,UAAU,QAAQ,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUuz3B,aAAa,CAAC75jB,SAAS,CAAC,2BAA2B,aAAa,QAAQ,WAAWt4S,KAAK,SAAI6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUwz3B,OAAO,CAAC95jB,SAAS,CAAC,SAAS,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUyz3B,UAAU,CAAC/5jB,SAAS,CAAC,SAAS,WAAW,SAAS,UAAU,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU0z3B,KAAK,CAACh6jB,SAAS,CAAC,QAAQ,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU2z3B,MAAM,CAACj6jB,SAAS,CAAC,QAAQ,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU4z3B,OAAO,CAACl6jB,SAAS,CAAC,QAAQ,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU6z3B,IAAI,CAACn6jB,SAAS,CAAC,OAAO,OAAO,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU8z3B,KAAK,CAACp6jB,SAAS,CAAC,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU+z3B,IAAI,CAACr6jB,SAAS,CAAC,OAAO,OAAO,MAAM,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUg03B,KAAK,CAACt6jB,SAAS,CAAC,OAAO,QAAQ,QAAQ,OAAO,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUi03B,MAAM,CAACv6jB,SAAS,CAAC,QAAQ,eAAet4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUk03B,mBAAmB,CAACx6jB,SAAS,CAAC,OAAO,SAAS,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUm03B,oBAAoB,CAACz6jB,SAAS,CAAC,OAAO,SAAS,QAAQ,QAAQ,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUo03B,cAAc,CAAC16jB,SAAS,CAAC,OAAO,SAAS,QAAQ,OAAO,MAAM,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUq03B,KAAK,CAAC36jB,SAAS,CAAC,QAAQ,MAAM,OAAO,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU8hB,MAAM,CAAC43S,SAAS,CAAC,iBAAiB,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUs03B,IAAI,CAAC56jB,SAAS,CAAC,MAAM,OAAO,MAAM,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUu03B,KAAK,CAAC76jB,SAAS,CAAC,SAAS,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUw03B,MAAM,CAAC96jB,SAAS,CAAC,iBAAiB,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUy03B,IAAI,CAAC/6jB,SAAS,CAAC,WAAW,SAAS,MAAM,MAAM,SAAS,MAAM,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU003B,MAAM,CAACh7jB,SAAS,CAAC,SAAS,QAAQ,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU203B,aAAa,CAACj7jB,SAAS,CAAC,QAAQ,SAAS,OAAO,SAAS,UAAUt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU403B,WAAW,CAACl7jB,SAAS,CAAC,MAAM,OAAO,MAAM,SAAS,MAAM,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU603B,eAAe,CAACn7jB,SAAS,CAAC,SAAS,eAAet4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU803B,YAAY,CAACp7jB,SAAS,CAAC,QAAQ,QAAQ,SAAS,kBAAkBt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU+03B,UAAU,CAACr7jB,SAAS,CAAC,QAAQ,OAAO,MAAM,MAAM,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUg13B,YAAY,CAACt7jB,SAAS,CAAC,QAAQ,SAAS,QAAQ,OAAO,MAAM,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUi13B,oBAAoB,CAACv7jB,SAAS,CAAC,OAAO,MAAM,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUk13B,qBAAqB,CAACx7jB,SAAS,CAAC,SAAS,QAAQ,WAAW,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUm13B,kBAAkB,CAACz7jB,SAAS,CAAC,SAAS,SAAS,WAAW,QAAQ,SAASt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUo13B,gBAAgB,CAAC17jB,SAAS,CAAC,OAAO,SAAS,WAAW,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUq13B,YAAY,CAAC37jB,SAAS,CAAC,QAAQ,SAAS,MAAM,QAAQ,cAAc,SAAS,MAAM,UAAUt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUs13B,UAAU,CAAC57jB,SAAS,CAAC,MAAM,SAAS,MAAM,QAAQ,cAAc,SAAS,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUu13B,0BAA0B,CAAC77jB,SAAS,CAAC,SAAS,QAAQ,MAAM,QAAQ,eAAe,SAAS,QAAQ,SAASt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUw13B,wBAAwB,CAAC97jB,SAAS,CAAC,OAAO,QAAQ,MAAM,MAAM,QAAQ,eAAe,SAAS,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUy13B,YAAY,CAAC/7jB,SAAS,CAAC,KAAK,KAAK,UAAU,SAAS,QAAQ,SAASt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU013B,UAAU,CAACh8jB,SAAS,CAAC,KAAK,KAAK,UAAU,OAAO,MAAM,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU213B,iBAAiB,CAACj8jB,SAAS,CAAC,QAAQ,MAAM,YAAY,SAAS,SAASt4S,KAAK,oCAAS6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU413B,eAAe,CAACl8jB,SAAS,CAAC,QAAQ,MAAM,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU613B,oBAAoB,CAACn8jB,SAAS,CAAC,SAAS,QAAQ,YAAY,aAAa,QAAQ,SAASt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU813B,kBAAkB,CAACp8jB,SAAS,CAAC,SAAS,QAAQ,YAAY,aAAa,MAAM,SAASt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU+13B,aAAa,CAACr8jB,SAAS,CAAC,UAAU,WAAW,QAAQ,SAASt4S,KAAK,2BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUg23B,WAAW,CAACt8jB,SAAS,CAAC,UAAU,WAAW,MAAM,SAASt4S,KAAK,2BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUi23B,WAAW,CAACv8jB,SAAS,CAAC,OAAO,QAAQ,SAASt4S,KAAK,2BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUk23B,SAAS,CAACx8jB,SAAS,CAAC,OAAO,MAAM,SAASt4S,KAAK,2BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUm23B,cAAc,CAACz8jB,SAAS,CAAC,WAAW,QAAQ,SAASt4S,KAAK,2BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUo23B,YAAY,CAAC18jB,SAAS,CAAC,WAAW,MAAM,SAASt4S,KAAK,2BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUq23B,aAAa,CAAC38jB,SAAS,CAAC,WAAW,cAAc,QAAQ,SAASt4S,KAAK,2BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUs23B,WAAW,CAAC58jB,SAAS,CAAC,WAAW,cAAc,MAAM,SAASt4S,KAAK,2BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUu23B,cAAc,CAAC78jB,SAAS,CAAC,aAAa,YAAY,QAAQ,SAASt4S,KAAK,2BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUw23B,YAAY,CAAC98jB,SAAS,CAAC,aAAa,YAAY,MAAM,SAASt4S,KAAK,2BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUy23B,qBAAqB,CAAC/8jB,SAAS,CAAC,WAAW,aAAa,QAAQ,SAASt4S,KAAK,2BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU023B,mBAAmB,CAACh9jB,SAAS,CAAC,WAAW,aAAa,MAAM,SAASt4S,KAAK,2BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU223B,mBAAmB,CAACj9jB,SAAS,CAAC,QAAQ,YAAY,WAAW,aAAa,WAAW,QAAQ,QAAQ,SAAS,YAAYt4S,KAAK,2BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU423B,iBAAiB,CAACl9jB,SAAS,CAAC,QAAQ,YAAY,WAAW,aAAa,WAAW,MAAM,QAAQ,SAAS,YAAYt4S,KAAK,2BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU623B,oBAAoB,CAACn9jB,SAAS,CAAC,WAAW,UAAU,QAAQ,SAASt4S,KAAK,2BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU823B,kBAAkB,CAACp9jB,SAAS,CAAC,WAAW,UAAU,MAAM,SAASt4S,KAAK,2BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU+23B,eAAe,CAACr9jB,SAAS,CAAC,UAAU,QAAQ,QAAQ,UAAUt4S,KAAK,2BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUg33B,aAAa,CAACt9jB,SAAS,CAAC,UAAU,MAAM,QAAQ,UAAUt4S,KAAK,2BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUi33B,gBAAgB,CAACv9jB,SAAS,CAAC,YAAY,UAAU,WAAW,YAAY,QAAQ,SAASt4S,KAAK,2BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUk33B,cAAc,CAACx9jB,SAAS,CAAC,YAAY,UAAU,WAAW,YAAY,MAAM,SAASt4S,KAAK,2BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUm33B,aAAa,CAACz9jB,SAAS,CAAC,UAAU,QAAQ,SAASt4S,KAAK,2BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUo33B,WAAW,CAAC19jB,SAAS,CAAC,UAAU,MAAM,SAASt4S,KAAK,2BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUq33B,kBAAkB,CAAC39jB,SAAS,CAAC,UAAU,QAAQ,SAASt4S,KAAK,2BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUs33B,gBAAgB,CAAC59jB,SAAS,CAAC,UAAU,MAAM,SAASt4S,KAAK,2BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUu33B,YAAY,CAAC79jB,SAAS,CAAC,UAAU,QAAQ,QAAQ,SAASt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUw33B,UAAU,CAAC99jB,SAAS,CAAC,UAAU,QAAQ,MAAM,SAASt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUy33B,gBAAgB,CAAC/9jB,SAAS,CAAC,QAAQ,SAAS,QAAQ,SAASt4S,KAAK,2BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU033B,cAAc,CAACh+jB,SAAS,CAAC,QAAQ,SAAS,MAAM,SAASt4S,KAAK,2BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU233B,YAAY,CAACj+jB,SAAS,CAAC,UAAU,QAAQ,QAAQ,SAASt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU433B,UAAU,CAACl+jB,SAAS,CAAC,UAAU,QAAQ,MAAM,SAASt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU633B,gBAAgB,CAACn+jB,SAAS,CAAC,QAAQ,SAAS,OAAO,UAAU,eAAet4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU833B,cAAc,CAACp+jB,SAAS,CAAC,MAAM,OAAO,OAAO,OAAO,eAAet4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU+33B,mBAAmB,CAACr+jB,SAAS,CAAC,QAAQ,SAAS,OAAO,MAAM,WAAW,UAAU,eAAet4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUg43B,iBAAiB,CAACt+jB,SAAS,CAAC,MAAM,OAAO,OAAO,MAAM,WAAW,OAAO,eAAet4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUi43B,UAAU,CAACv+jB,SAAS,CAAC,QAAQ,SAAS,OAAO,oBAAoBt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUk43B,MAAM,CAACx+jB,SAAS,CAAC,WAAW,MAAM,OAAO,OAAO,oBAAoBt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUm43B,UAAU,CAACz+jB,SAAS,CAAC,QAAQ,SAAS,OAAO,SAASt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUo43B,OAAO,CAAC1+jB,SAAS,CAAC,MAAM,OAAO,OAAO,YAAYt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUq43B,UAAU,CAAC3+jB,SAAS,CAAC,QAAQ,UAAUt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUs43B,QAAQ,CAAC5+jB,SAAS,CAAC,MAAM,QAAQt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUu43B,cAAc,CAAC7+jB,SAAS,CAAC,QAAQ,UAAUt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUw43B,YAAY,CAAC9+jB,SAAS,CAAC,MAAM,OAAO,WAAWt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUy43B,aAAa,CAAC/+jB,SAAS,CAAC,QAAQ,SAAS,SAAS,gBAAgBt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU043B,WAAW,CAACh/jB,SAAS,CAAC,MAAM,OAAO,UAAU,SAAS,gBAAgBt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU243B,YAAY,CAACj/jB,SAAS,CAAC,QAAQ,UAAUt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU443B,UAAU,CAACl/jB,SAAS,CAAC,MAAM,QAAQt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU643B,QAAQ,CAACn/jB,SAAS,CAAC,QAAQ,SAAS,WAAW,SAASt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU843B,OAAO,CAACp/jB,SAAS,CAAC,MAAM,OAAO,UAAUt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU+43B,YAAY,CAACr/jB,SAAS,CAAC,QAAQ,UAAUt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUg53B,UAAU,CAACt/jB,SAAS,CAAC,MAAM,QAAQt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUi53B,MAAM,CAACv/jB,SAAS,CAAC,SAAS,QAAQ,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUk53B,eAAe,CAACx/jB,SAAS,CAAC,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUm53B,cAAc,CAACz/jB,SAAS,CAAC,UAAU,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUo53B,SAAS,CAAC1/jB,SAAS,CAAC,OAAO,QAAQ,SAAS,QAAQ,QAAQ,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUq53B,OAAO,CAAC3/jB,SAAS,CAAC,MAAM,MAAM,OAAO,QAAQ,QAAQ,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUs53B,gBAAgB,CAAC5/jB,SAAS,CAAC,SAAS,WAAW,UAAU,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUu53B,cAAc,CAAC7/jB,SAAS,CAAC,SAAS,WAAW,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUw53B,cAAc,CAAC9/jB,SAAS,CAAC,QAAQ,UAAU,WAAW,OAAO,UAAU,UAAUt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUy53B,YAAY,CAAC//jB,SAAS,CAAC,MAAM,UAAU,WAAW,OAAO,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU053B,cAAc,CAAChgkB,SAAS,CAAC,QAAQ,OAAO,QAAQ,QAAQ,UAAUt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU253B,YAAY,CAACjgkB,SAAS,CAAC,QAAQ,OAAO,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU453B,OAAO,CAAClgkB,SAAS,CAAC,SAAS,OAAO,QAAQ,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU653B,YAAY,CAACngkB,SAAS,CAAC,OAAO,MAAM,MAAM,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU853B,cAAc,CAACpgkB,SAAS,CAAC,SAAS,QAAQ,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU+53B,YAAY,CAACrgkB,SAAS,CAAC,OAAO,QAAQ,MAAM,QAAQt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUg63B,OAAO,CAACtgkB,SAAS,CAAC,OAAO,SAAS,QAAQ,OAAO,OAAO,SAAS,OAAO,YAAY,aAAa,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUi63B,sBAAsB,CAACvgkB,SAAS,CAAC,OAAO,SAAS,OAAO,OAAO,WAAW,aAAa,SAAS,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUk63B,wBAAwB,CAACxgkB,SAAS,CAAC,OAAO,aAAa,SAAS,OAAO,OAAO,SAAS,SAAS,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUm63B,aAAa,CAACzgkB,SAAS,CAAC,QAAQ,SAAS,QAAQt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUo63B,WAAW,CAAC1gkB,SAAS,CAAC,MAAM,OAAO,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUq63B,gBAAgB,CAAC3gkB,SAAS,CAAC,MAAM,OAAO,MAAM,aAAat4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUs63B,kBAAkB,CAAC5gkB,SAAS,CAAC,QAAQ,SAAS,OAAO,aAAat4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUu63B,gBAAgB,CAAC7gkB,SAAS,CAAC,QAAQ,SAAS,OAAO,WAAW,cAAc,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUw63B,cAAc,CAAC9gkB,SAAS,CAAC,MAAM,OAAO,MAAM,WAAW,cAAc,SAASt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUy63B,mBAAmB,CAAC/gkB,SAAS,CAAC,SAAS,OAAO,QAAQ,QAAQ,eAAet4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU063B,iBAAiB,CAAChhkB,SAAS,CAAC,OAAO,MAAM,MAAM,QAAQ,eAAet4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU263B,cAAc,CAACjhkB,SAAS,CAAC,SAAS,OAAO,QAAQ,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU463B,YAAY,CAAClhkB,SAAS,CAAC,OAAO,MAAM,MAAM,QAAQt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU663B,SAAS,CAACnhkB,SAAS,CAAC,QAAQ,OAAO,SAAS,OAAO,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU863B,OAAO,CAACphkB,SAAS,CAAC,MAAM,MAAM,OAAO,OAAO,QAAQ,OAAOt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU+63B,mBAAmB,CAACrhkB,SAAS,CAAC,SAAS,OAAO,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUg73B,iBAAiB,CAACthkB,SAAS,CAAC,OAAO,MAAM,OAAOt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUi73B,cAAc,CAACvhkB,SAAS,CAAC,SAAS,OAAO,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUk73B,YAAY,CAACxhkB,SAAS,CAAC,OAAO,MAAM,OAAOt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUm73B,eAAe,CAACzhkB,SAAS,CAAC,SAAS,OAAO,QAAQ,MAAM,YAAY,cAAc,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUo73B,aAAa,CAAC1hkB,SAAS,CAAC,OAAO,MAAM,MAAM,MAAM,YAAY,cAAc,WAAWt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUq73B,cAAc,CAAC3hkB,SAAS,CAAC,SAAS,OAAO,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUs73B,YAAY,CAAC5hkB,SAAS,CAAC,OAAO,MAAM,OAAOt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUu73B,cAAc,CAAC7hkB,SAAS,CAAC,SAAS,OAAO,QAAQ,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUw73B,YAAY,CAAC9hkB,SAAS,CAAC,OAAO,MAAM,MAAM,QAAQt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAUy73B,qBAAqB,CAAC/hkB,SAAS,CAAC,SAAS,QAAQ,MAAM,YAAY,SAASt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU073B,mBAAmB,CAAChikB,SAAS,CAAC,OAAO,MAAM,MAAM,YAAY,SAASt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,UAAU273B,4BAA4B,CAACjikB,SAAS,CAAC,OAAO,OAAO,OAAO,YAAY,QAAQ,SAAS,aAAa,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU473B,8BAA8B,CAAClikB,SAAS,CAAC,OAAO,OAAO,OAAO,YAAY,QAAQ,SAAS,aAAa,YAAYt4S,KAAK,6CAAW6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU673B,0BAA0B,CAACnikB,SAAS,CAAC,OAAO,OAAO,OAAO,YAAY,QAAQ,SAAS,aAAa,YAAYt4S,KAAK,6CAAW6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU873B,qBAAqB,CAACpikB,SAAS,CAAC,OAAO,aAAa,OAAO,OAAO,SAAS,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU+73B,uBAAuB,CAACrikB,SAAS,CAAC,OAAO,aAAa,OAAO,OAAO,SAAS,YAAYt4S,KAAK,4DAAc6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUg83B,mBAAmB,CAACtikB,SAAS,CAAC,OAAO,aAAa,OAAO,OAAO,SAAS,YAAYt4S,KAAK,4DAAc6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUi83B,qBAAqB,CAACvikB,SAAS,CAAC,OAAO,UAAU,QAAQ,MAAM,MAAM,SAAS,SAAS,SAAS,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUk83B,sBAAsB,CAACxikB,SAAS,CAAC,OAAO,UAAU,SAAS,QAAQ,SAASt4S,KAAK,0CAAW6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUm83B,0BAA0B,CAACzikB,SAAS,CAAC,OAAO,UAAU,SAAS,QAAQ,YAAYt4S,KAAK,yDAAc6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUo83B,yBAAyB,CAAC1ikB,SAAS,CAAC,OAAO,UAAU,SAAS,QAAQ,YAAYt4S,KAAK,yDAAc6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUq83B,2BAA2B,CAAC3ikB,SAAS,CAAC,OAAO,UAAU,SAAS,QAAQ,YAAYt4S,KAAK,yDAAc6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUs83B,uBAAuB,CAAC5ikB,SAAS,CAAC,OAAO,UAAU,SAAS,QAAQ,YAAYt4S,KAAK,0CAAW6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUu83B,wBAAwB,CAAC7ikB,SAAS,CAAC,OAAO,UAAU,SAAS,QAAQ,YAAYt4S,KAAK,0CAAW6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUw83B,4BAA4B,CAAC9ikB,SAAS,CAAC,OAAO,UAAU,SAAS,QAAQ,YAAYt4S,KAAK,yDAAc6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUy83B,2BAA2B,CAAC/ikB,SAAS,CAAC,OAAO,UAAU,SAAS,QAAQ,YAAYt4S,KAAK,yDAAc6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU083B,6BAA6B,CAAChjkB,SAAS,CAAC,OAAO,UAAU,SAAS,QAAQ,YAAYt4S,KAAK,yDAAc6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU283B,mBAAmB,CAACjjkB,SAAS,CAAC,OAAO,UAAU,SAAS,QAAQ,YAAYt4S,KAAK,0CAAW6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU483B,oBAAoB,CAACljkB,SAAS,CAAC,OAAO,UAAU,SAAS,QAAQ,YAAYt4S,KAAK,0CAAW6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU683B,wBAAwB,CAACnjkB,SAAS,CAAC,OAAO,UAAU,SAAS,QAAQ,YAAYt4S,KAAK,yDAAc6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU883B,uBAAuB,CAACpjkB,SAAS,CAAC,OAAO,UAAU,SAAS,QAAQ,YAAYt4S,KAAK,yDAAc6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU+83B,yBAAyB,CAACrjkB,SAAS,CAAC,OAAO,UAAU,SAAS,QAAQ,YAAYt4S,KAAK,yDAAc6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUg93B,iBAAiB,CAACtjkB,SAAS,CAAC,OAAO,SAAS,SAAS,QAAQ,SAASt4S,KAAK,2BAAQ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUi93B,kBAAkB,CAACvjkB,SAAS,CAAC,OAAO,SAAS,SAAS,QAAQ,SAASt4S,KAAK,2BAAQ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUk93B,sBAAsB,CAACxjkB,SAAS,CAAC,OAAO,SAAS,SAAS,QAAQ,YAAYt4S,KAAK,0CAAW6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUm93B,qBAAqB,CAACzjkB,SAAS,CAAC,OAAO,SAAS,SAAS,QAAQ,YAAYt4S,KAAK,0CAAW6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUo93B,uBAAuB,CAAC1jkB,SAAS,CAAC,OAAO,SAAS,SAAS,QAAQ,YAAYt4S,KAAK,0CAAW6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUq93B,eAAe,CAAC3jkB,SAAS,CAAC,OAAO,SAAS,SAAS,QAAQ,SAASt4S,KAAK,2BAAQ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUs93B,gBAAgB,CAAC5jkB,SAAS,CAAC,OAAO,SAAS,SAAS,QAAQ,SAASt4S,KAAK,2BAAQ6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUu93B,oBAAoB,CAAC7jkB,SAAS,CAAC,OAAO,SAAS,SAAS,QAAQ,YAAYt4S,KAAK,0CAAW6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUw93B,mBAAmB,CAAC9jkB,SAAS,CAAC,OAAO,SAAS,SAAS,QAAQ,YAAYt4S,KAAK,0CAAW6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUy93B,qBAAqB,CAAC/jkB,SAAS,CAAC,OAAO,SAAS,SAAS,QAAQ,YAAYt4S,KAAK,0CAAW6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU093B,KAAK,CAAChkkB,SAAS,CAAC,OAAO,UAAU,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU293B,OAAO,CAACjkkB,SAAS,CAAC,SAAS,SAAS,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU493B,KAAK,CAAClkkB,SAAS,CAAC,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU693B,QAAQ,CAACnkkB,SAAS,CAAC,SAAS,aAAa,YAAY,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU893B,eAAe,CAACpkkB,SAAS,CAAC,UAAU,gBAAgB,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU+93B,OAAO,CAACrkkB,SAAS,CAAC,UAAU,QAAQ,SAAS,QAAQ,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUg+3B,MAAM,CAACtkkB,SAAS,CAAC,UAAU,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUi+3B,QAAQ,CAACvkkB,SAAS,CAAC,QAAQ,SAAS,SAAS,UAAU,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUk+3B,MAAM,CAACxkkB,SAAS,CAAC,UAAU,UAAU,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUm+3B,OAAO,CAACzkkB,SAAS,CAAC,WAAW,SAAS,QAAQ,OAAO,UAAU,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUo+3B,OAAO,CAAC1kkB,SAAS,CAAC,QAAQ,UAAU,QAAQ,SAAS,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUq+3B,SAAS,CAAC3kkB,SAAS,CAAC,SAAS,OAAO,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUs+3B,KAAK,CAAC5kkB,SAAS,CAAC,OAAO,OAAO,OAAO,OAAO,YAAY,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUu+3B,WAAW,CAAC7kkB,SAAS,CAAC,OAAO,WAAW,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUw+3B,UAAU,CAAC9kkB,SAAS,CAAC,SAAS,UAAU,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUy+3B,UAAU,CAAC/kkB,SAAS,CAAC,UAAU,QAAQ,SAAS,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU0+3B,OAAO,CAAChlkB,SAAS,CAAC,QAAQ,UAAU,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU2+3B,KAAK,CAACjlkB,SAAS,CAAC,QAAQ,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU4+3B,UAAU,CAACllkB,SAAS,CAAC,UAAU,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU6+3B,cAAc,CAACnlkB,SAAS,CAAC,QAAQ,SAAS,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU8+3B,YAAY,CAACplkB,SAAS,CAAC,cAAc,UAAU,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU++3B,MAAM,CAACrlkB,SAAS,CAAC,YAAY,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUg/3B,OAAO,CAACtlkB,SAAS,CAAC,QAAQ,SAAS,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUi/3B,MAAM,CAACvlkB,SAAS,CAAC,OAAO,SAAS,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUk/3B,WAAW,CAACxlkB,SAAS,CAAC,UAAU,cAAc,SAAS,OAAO,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUm/3B,OAAO,CAACzlkB,SAAS,CAAC,QAAQ,YAAY,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUo/3B,WAAW,CAAC1lkB,SAAS,CAAC,MAAM,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUq/3B,qBAAqB,CAAC3lkB,SAAS,CAAC,eAAe,SAASt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUs/3B,aAAa,CAAC5lkB,SAAS,CAAC,SAAS,UAAU,SAAS,aAAa,aAAa,MAAM,MAAM,QAAQ,QAAQ,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUu/3B,MAAM,CAAC7lkB,SAAS,CAAC,OAAO,MAAM,SAAS,UAAU,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUw/3B,eAAe,CAAC9lkB,SAAS,CAAC,UAAU,YAAY,MAAM,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUy/3B,QAAQ,CAAC/lkB,SAAS,CAAC,UAAU,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU0/3B,MAAM,CAAChmkB,SAAS,CAAC,MAAM,cAAc,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU2/3B,MAAM,CAACjmkB,SAAS,CAAC,UAAU,cAAc,QAAQ,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU4/3B,QAAQ,CAAClmkB,SAAS,CAAC,UAAU,YAAY,cAAc,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU6/3B,UAAU,CAACnmkB,SAAS,CAAC,WAAW,YAAY,OAAO,MAAM,QAAQ,MAAM,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU8/3B,WAAW,CAACpmkB,SAAS,CAAC,UAAU,cAAc,WAAW,QAAQ,OAAO,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAU+/3B,gBAAgB,CAACrmkB,SAAS,CAAC,OAAO,OAAO,eAAet4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUgg4B,QAAQ,CAACtmkB,SAAS,CAAC,OAAO,aAAa,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUig4B,KAAK,CAACvmkB,SAAS,CAAC,UAAU,UAAU,WAAW,aAAa,UAAU,UAAU,UAAU,MAAM,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUkg4B,gBAAgB,CAACxmkB,SAAS,CAAC,UAAU,OAAO,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,UAAUmg4B,IAAI,CAACzmkB,SAAS,CAAC,SAAS,SAAS,SAAS,OAAO,QAAQ,MAAM,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBg71B,IAAI,CAACthiB,SAAS,CAAC,SAAS,OAAO,SAAS,MAAM,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBh9C,MAAM,CAAC02W,SAAS,CAAC,SAAS,SAAS,eAAe,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBog4B,QAAQ,CAAC1mkB,SAAS,CAAC,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBqg4B,OAAO,CAAC3mkB,SAAS,CAAC,SAAS,SAAS,MAAM,SAAS,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBsg4B,SAAS,CAAC5mkB,SAAS,CAAC,SAAS,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBug4B,KAAK,CAAC7mkB,SAAS,CAAC,SAAS,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBwg4B,WAAW,CAAC9mkB,SAAS,CAAC,SAAS,SAAS,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsByg4B,MAAM,CAAC/mkB,SAAS,CAAC,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB0g4B,MAAM,CAAChnkB,SAAS,CAAC,SAAS,MAAM,SAAS,OAAO,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB2g4B,KAAK,CAACjnkB,SAAS,CAAC,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB4g4B,IAAI,CAAClnkB,SAAS,CAAC,OAAO,KAAK,SAAS,SAAS,MAAM,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB6g4B,IAAI,CAACnnkB,SAAS,CAAC,SAAS,OAAO,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB8g4B,SAAS,CAACpnkB,SAAS,CAAC,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB+g4B,KAAK,CAACrnkB,SAAS,CAAC,SAAS,SAAS,QAAQ,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBgh4B,MAAM,CAACtnkB,SAAS,CAAC,SAAS,SAAS,QAAQ,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBih4B,QAAQ,CAACvnkB,SAAS,CAAC,SAAS,WAAW,QAAQ,MAAM,SAAS,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBkh4B,OAAO,CAACxnkB,SAAS,CAAC,SAAS,QAAQ,SAAS,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBmh4B,YAAY,CAACznkB,SAAS,CAAC,SAAS,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBoh4B,QAAQ,CAAC1nkB,SAAS,CAAC,SAAS,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBqh4B,YAAY,CAAC3nkB,SAAS,CAAC,SAAS,SAAS,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBsh4B,aAAa,CAAC5nkB,SAAS,CAAC,SAAS,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBuh4B,cAAc,CAAC7nkB,SAAS,CAAC,SAAS,SAAS,SAAS,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBwh4B,OAAO,CAAC9nkB,SAAS,CAAC,SAAS,SAAS,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsByh4B,QAAQ,CAAC/nkB,SAAS,CAAC,SAAS,QAAQ,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB0h4B,QAAQ,CAAChokB,SAAS,CAAC,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB2h4B,KAAK,CAACjokB,SAAS,CAAC,SAAS,SAAS,MAAM,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB4h4B,WAAW,CAAClokB,SAAS,CAAC,SAAS,UAAU,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB6h4B,eAAe,CAACnokB,SAAS,CAAC,SAAS,UAAU,MAAM,OAAO,OAAO,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB8h4B,cAAc,CAACpokB,SAAS,CAAC,SAAS,UAAU,OAAO,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB+h4B,KAAK,CAACrokB,SAAS,CAAC,SAAS,SAAS,OAAO,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBgi4B,MAAM,CAACtokB,SAAS,CAAC,SAAS,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBii4B,IAAI,CAACvokB,SAAS,CAAC,SAAS,SAAS,OAAO,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBki4B,IAAI,CAACxokB,SAAS,CAAC,SAAS,SAAS,QAAQ,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBmi4B,KAAK,CAACzokB,SAAS,CAAC,SAAS,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBoi4B,KAAK,CAAC1okB,SAAS,CAAC,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBqi4B,MAAM,CAAC3okB,SAAS,CAAC,SAAS,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBsi4B,QAAQ,CAAC5okB,SAAS,CAAC,SAAS,SAAS,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBui4B,SAAS,CAAC7okB,SAAS,CAAC,SAAS,SAAS,SAAS,MAAM,SAAS,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBwi4B,IAAI,CAAC9okB,SAAS,CAAC,SAAS,SAAS,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsByi4B,UAAU,CAAC/okB,SAAS,CAAC,SAAS,SAAS,SAAS,eAAet4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB0i4B,MAAM,CAAChpkB,SAAS,CAAC,OAAO,SAAS,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB2i4B,OAAO,CAACjpkB,SAAS,CAAC,SAAS,SAAS,SAAS,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB4i4B,IAAI,CAAClpkB,SAAS,CAAC,SAAS,SAAS,SAAS,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB6i4B,YAAY,CAACnpkB,SAAS,CAAC,SAAS,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB8i4B,OAAO,CAACppkB,SAAS,CAAC,SAAS,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB+i4B,SAAS,CAACrpkB,SAAS,CAAC,SAAS,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBgj4B,KAAK,CAACtpkB,SAAS,CAAC,SAAS,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBwvyB,MAAM,CAAC91e,SAAS,CAAC,SAAS,OAAO,SAAS,OAAO,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBij4B,OAAO,CAACvpkB,SAAS,CAAC,SAAS,SAAS,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB,QAAQ,CAAC05T,SAAS,CAAC,SAAS,SAAS,WAAW,gBAAgB,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBkj4B,SAAS,CAACxpkB,SAAS,CAAC,SAAS,SAAS,WAAW,gBAAgB,eAAe,aAAa,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBmj4B,OAAO,CAACzpkB,SAAS,CAAC,SAAS,OAAO,SAAS,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBoj4B,cAAc,CAAC1pkB,SAAS,CAAC,SAAS,OAAO,QAAQ,QAAQ,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBqj4B,KAAK,CAAC3pkB,SAAS,CAAC,SAAS,OAAO,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBsj4B,SAAS,CAAC5pkB,SAAS,CAAC,SAAS,SAAS,OAAO,MAAM,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBuj4B,QAAQ,CAAC7pkB,SAAS,CAAC,SAAS,SAAS,OAAO,MAAM,QAAQ,UAAU,OAAO,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBwj4B,MAAM,CAAC9pkB,SAAS,CAAC,SAAS,SAAS,OAAO,MAAM,QAAQ,OAAO,OAAO,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsByj4B,MAAM,CAAC/pkB,SAAS,CAAC,SAAS,SAAS,MAAM,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB0j4B,OAAO,CAAChqkB,SAAS,CAAC,SAAS,SAAS,MAAM,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB2j4B,UAAU,CAACjqkB,SAAS,CAAC,SAAS,SAAS,UAAU,SAAS,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB4j4B,QAAQ,CAAClqkB,SAAS,CAAC,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB6j4B,MAAM,CAACnqkB,SAAS,CAAC,SAAS,SAAS,UAAU,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB8j4B,OAAO,CAACpqkB,SAAS,CAAC,SAAS,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB+j4B,cAAc,CAACrqkB,SAAS,CAAC,SAAS,SAAS,KAAK,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB0+hB,GAAG,CAAChlO,SAAS,CAAC,SAAS,MAAM,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBgk4B,KAAK,CAACtqkB,SAAS,CAAC,OAAO,KAAK,SAAS,SAAS,MAAM,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBik4B,KAAK,CAACvqkB,SAAS,CAAC,SAAS,SAAS,QAAQ,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBkk4B,gBAAgB,CAACxqkB,SAAS,CAAC,SAAS,MAAM,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBmk4B,MAAM,CAACzqkB,SAAS,CAAC,SAAS,SAAS,MAAM,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBok4B,QAAQ,CAAC1qkB,SAAS,CAAC,SAAS,SAAS,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBqk4B,SAAS,CAAC3qkB,SAAS,CAAC,SAAS,SAAS,OAAO,KAAK,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBsk4B,WAAW,CAAC5qkB,SAAS,CAAC,SAAS,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBuk4B,KAAK,CAAC7qkB,SAAS,CAAC,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBwk4B,IAAI,CAAC9qkB,SAAS,CAAC,SAAS,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsByk4B,MAAM,CAAC/qkB,SAAS,CAAC,SAAS,SAAS,OAAO,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB0k4B,UAAU,CAAChrkB,SAAS,CAAC,SAAS,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB2k4B,KAAK,CAACjrkB,SAAS,CAAC,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB4k4B,IAAI,CAAClrkB,SAAS,CAAC,SAAS,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB6k4B,OAAO,CAACnrkB,SAAS,CAAC,SAAS,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB8k4B,QAAQ,CAACprkB,SAAS,CAAC,SAAS,SAAS,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB+k4B,OAAO,CAACrrkB,SAAS,CAAC,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBgl4B,KAAK,CAACtrkB,SAAS,CAAC,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBil4B,KAAK,CAACvrkB,SAAS,CAAC,SAAS,SAAS,SAAS,OAAO,MAAM,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBkl4B,OAAO,CAACxrkB,SAAS,CAAC,MAAM,SAAS,MAAM,SAAS,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBml4B,KAAK,CAACzrkB,SAAS,CAAC,SAAS,OAAO,MAAM,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBol4B,QAAQ,CAAC1rkB,SAAS,CAAC,SAAS,SAAS,MAAM,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBql4B,SAAS,CAAC3rkB,SAAS,CAAC,SAAS,SAAS,SAAS,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBsl4B,SAAS,CAAC5rkB,SAAS,CAAC,SAAS,SAAS,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBul4B,QAAQ,CAAC7rkB,SAAS,CAAC,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBwl4B,MAAM,CAAC9rkB,SAAS,CAAC,SAAS,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsByl4B,aAAa,CAAC/rkB,SAAS,CAAC,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB0l4B,SAAS,CAAChskB,SAAS,CAAC,SAAS,SAAS,YAAY,OAAO,MAAM,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB2l4B,OAAO,CAACjskB,SAAS,CAAC,SAAS,SAAS,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB4l4B,KAAK,CAAClskB,SAAS,CAAC,SAAS,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB6l4B,QAAQ,CAACnskB,SAAS,CAAC,SAAS,SAAS,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB8l4B,OAAO,CAACpskB,SAAS,CAAC,SAAS,SAAS,OAAO,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB+l4B,QAAQ,CAACrskB,SAAS,CAAC,SAAS,SAAS,SAAS,QAAQ,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBgm4B,SAAS,CAACtskB,SAAS,CAAC,SAAS,SAAS,SAAS,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBim4B,WAAW,CAACvskB,SAAS,CAAC,SAAS,WAAW,aAAa,MAAM,MAAM,MAAM,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBkm4B,OAAO,CAACxskB,SAAS,CAAC,SAAS,OAAO,SAAS,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBmm4B,YAAY,CAACzskB,SAAS,CAAC,SAAS,OAAO,SAAS,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBom4B,OAAO,CAAC1skB,SAAS,CAAC,YAAY,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBqm4B,eAAe,CAAC3skB,SAAS,CAAC,WAAW,WAAW,WAAW,OAAO,eAAet4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBsm4B,eAAe,CAAC5skB,SAAS,CAAC,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBum4B,eAAe,CAAC7skB,SAAS,CAAC,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBwm4B,UAAU,CAAC9skB,SAAS,CAAC,QAAQ,YAAY,SAAS,SAAS,QAAQ,SAAS,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBym4B,SAAS,CAAC/skB,SAAS,CAAC,QAAQ,SAAS,QAAQ,OAAO,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB0m4B,KAAK,CAAChtkB,SAAS,CAAC,YAAY,QAAQ,WAAW,OAAO,QAAQ,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB2m4B,SAAS,CAACjtkB,SAAS,CAAC,YAAY,QAAQ,SAAS,QAAQ,UAAUt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB4m4B,iBAAiB,CAACltkB,SAAS,CAAC,YAAY,QAAQ,SAAS,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB6m4B,OAAO,CAACntkB,SAAS,CAAC,QAAQ,SAAS,YAAY,QAAQ,mBAAmBt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB8m4B,cAAc,CAACptkB,SAAS,CAAC,QAAQ,SAAS,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB+m4B,OAAO,CAACrtkB,SAAS,CAAC,SAAS,QAAQ,OAAO,YAAY,QAAQ,OAAO,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBgn4B,YAAY,CAACttkB,SAAS,CAAC,SAAS,QAAQ,YAAY,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBin4B,WAAW,CAACvtkB,SAAS,CAAC,SAAS,QAAQ,YAAY,KAAK,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBkn4B,YAAY,CAACxtkB,SAAS,CAAC,SAAS,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBmn4B,SAAS,CAACztkB,SAAS,CAAC,QAAQ,YAAY,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBon4B,UAAU,CAAC1tkB,SAAS,CAAC,SAAS,QAAQ,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBqn4B,KAAK,CAAC3tkB,SAAS,CAAC,UAAU,aAAa,OAAO,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBsn4B,cAAc,CAAC5tkB,SAAS,CAAC,QAAQ,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBun4B,MAAM,CAAC7tkB,SAAS,CAAC,UAAU,QAAQ,SAAS,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBwn4B,QAAQ,CAAC9tkB,SAAS,CAAC,SAAS,UAAU,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsByn4B,eAAe,CAAC/tkB,SAAS,CAAC,SAAS,QAAQ,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB0n4B,QAAQ,CAAChukB,SAAS,CAAC,UAAU,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB2n4B,SAAS,CAACjukB,SAAS,CAAC,QAAQ,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB4n4B,SAAS,CAAClukB,SAAS,CAAC,OAAO,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB6n4B,eAAe,CAACnukB,SAAS,CAAC,YAAY,QAAQ,UAAU,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB8n4B,MAAM,CAACpukB,SAAS,CAAC,SAAS,MAAM,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB+n4B,WAAW,CAACrukB,SAAS,CAAC,SAAS,SAAS,WAAW,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBgo4B,eAAe,CAACtukB,SAAS,CAAC,QAAQ,QAAQ,MAAM,iBAAiBt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBio4B,aAAa,CAACvukB,SAAS,CAAC,QAAQ,QAAQ,iBAAiBt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBko4B,WAAW,CAACxukB,SAAS,CAAC,QAAQ,QAAQ,OAAO,iBAAiBt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBmo4B,UAAU,CAACzukB,SAAS,CAAC,SAAS,SAAS,WAAW,SAAS,QAAQ,QAAQ,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBoo4B,oBAAoB,CAAC1ukB,SAAS,CAAC,SAAS,WAAW,SAAS,QAAQ,QAAQ,UAAU,QAAQ,uBAAuBt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBqo4B,kBAAkB,CAAC3ukB,SAAS,CAAC,SAAS,WAAW,SAAS,QAAQ,QAAQ,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBso4B,qBAAqB,CAAC5ukB,SAAS,CAAC,SAAS,WAAW,SAAS,QAAQ,QAAQ,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBuo4B,SAAS,CAAC7ukB,SAAS,CAAC,SAAS,WAAW,SAAS,QAAQ,QAAQ,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBwo4B,qBAAqB,CAAC9ukB,SAAS,CAAC,SAAS,WAAW,SAAS,QAAQ,QAAQ,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsByo4B,mBAAmB,CAAC/ukB,SAAS,CAAC,SAAS,WAAW,SAAS,QAAQ,QAAQ,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB0o4B,oBAAoB,CAAChvkB,SAAS,CAAC,SAAS,QAAQ,MAAM,OAAO,WAAW,SAAS,QAAQ,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB2o4B,mBAAmB,CAACjvkB,SAAS,CAAC,SAAS,WAAW,SAAS,QAAQ,QAAQ,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB4o4B,oBAAoB,CAAClvkB,SAAS,CAAC,SAAS,WAAW,SAAS,QAAQ,QAAQ,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB6o4B,6BAA6B,CAACnvkB,SAAS,CAAC,SAAS,WAAW,SAAS,QAAQ,QAAQ,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB8o4B,4BAA4B,CAACpvkB,SAAS,CAAC,SAAS,WAAW,SAAS,QAAQ,QAAQ,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB+o4B,cAAc,CAACrvkB,SAAS,CAAC,SAAS,UAAU,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBgp4B,cAAc,CAACtvkB,SAAS,CAAC,QAAQ,QAAQ,MAAM,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBip4B,KAAK,CAACvvkB,SAAS,CAAC,QAAQ,UAAUt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBkp4B,MAAM,CAACxvkB,SAAS,CAAC,QAAQ,UAAU,UAAU,OAAO,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBmp4B,MAAM,CAACzvkB,SAAS,CAAC,OAAO,UAAU,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBop4B,SAAS,CAAC1vkB,SAAS,CAAC,QAAQ,QAAQ,QAAQ,OAAO,UAAU,OAAO,SAASt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBqp4B,MAAM,CAAC3vkB,SAAS,CAAC,SAASt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBsp4B,MAAM,CAAC5vkB,SAAS,CAAC,UAAU,SAAS,aAAa,SAAS,QAAQ,UAAUt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBup4B,uBAAuB,CAAC7vkB,SAAS,CAAC,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBwp4B,aAAa,CAAC9vkB,SAAS,CAAC,UAAU,SAAS,SAAS,UAAU,OAAO,UAAUt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsByp4B,uBAAuB,CAAC/vkB,SAAS,CAAC,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB0p4B,sBAAsB,CAAChwkB,SAAS,CAAC,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB2p4B,MAAM,CAACjwkB,SAAS,CAAC,UAAU,OAAOt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB4p4B,gBAAgB,CAAClwkB,SAAS,CAAC,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB6p4B,8BAA8B,CAACnwkB,SAAS,CAAC,UAAU,aAAat4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB8p4B,qBAAqB,CAACpwkB,SAAS,CAAC,UAAU,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB+p4B,IAAI,CAACrwkB,SAAS,CAAC,UAAU,UAAU,iBAAiB,QAAQt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB2pd,KAAK,CAACjwJ,SAAS,CAAC,MAAM,OAAO,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBgq4B,KAAK,CAACtwkB,SAAS,CAAC,OAAO,UAAU,YAAY,YAAY,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBiq4B,UAAU,CAACvwkB,SAAS,CAAC,SAAS,SAAS,OAAO,UAAU,YAAY,QAAQt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBkq4B,gBAAgB,CAACxwkB,SAAS,CAAC,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBmq4B,QAAQ,CAACzwkB,SAAS,CAAC,SAAS,SAAS,OAAO,UAAU,YAAY,OAAO,SAAS,gBAAgBt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBoq4B,kBAAkB,CAAC1wkB,SAAS,CAAC,SAAS,SAAS,OAAO,UAAU,YAAY,OAAO,UAAUt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBqq4B,UAAU,CAAC3wkB,SAAS,CAAC,OAAO,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBoukB,KAAK,CAAC10Q,SAAS,CAAC,OAAO,MAAM,OAAO,OAAO,OAAO,QAAQ,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBsq4B,QAAQ,CAAC5wkB,SAAS,CAAC,UAAU,UAAU,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBuq4B,IAAI,CAAC7wkB,SAAS,CAAC,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsBwq4B,cAAc,CAAC9wkB,SAAS,CAAC,UAAU,UAAUt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsByq4B,SAAS,CAAC/wkB,SAAS,CAAC,QAAQ,UAAU,UAAUt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB0q4B,QAAQ,CAAChxkB,SAAS,CAAC,QAAQ,OAAO,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB2q4B,YAAY,CAACjxkB,SAAS,CAAC,QAAQ,OAAO,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB4q4B,MAAM,CAAClxkB,SAAS,CAAC,MAAM,QAAQ,OAAO,SAAS,UAAU,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,sBAAsB6q4B,YAAY,CAACnxkB,SAAS,CAAC,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB8q4B,MAAM,CAACpxkB,SAAS,CAAC,QAAQ,MAAM,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB+q4B,KAAK,CAACrxkB,SAAS,CAAC,QAAQ,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBgr4B,UAAU,CAACtxkB,SAAS,CAAC,OAAO,QAAQ,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBir4B,MAAM,CAACvxkB,SAAS,CAAC,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBkr4B,OAAO,CAACxxkB,SAAS,CAAC,QAAQ,OAAO,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBmr4B,WAAW,CAACzxkB,SAAS,CAAC,QAAQ,OAAO,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBor4B,OAAO,CAAC1xkB,SAAS,CAAC,QAAQ,OAAO,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBqr4B,WAAW,CAAC3xkB,SAAS,CAAC,QAAQ,OAAO,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBsr4B,MAAM,CAAC5xkB,SAAS,CAAC,QAAQ,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBur4B,SAAS,CAAC7xkB,SAAS,CAAC,OAAO,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBwr4B,MAAM,CAAC9xkB,SAAS,CAAC,QAAQ,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkByr4B,UAAU,CAAC/xkB,SAAS,CAAC,QAAQ,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB0r4B,QAAQ,CAAChykB,SAAS,CAAC,QAAQ,SAAS,OAAO,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB2r4B,WAAW,CAACjykB,SAAS,CAAC,QAAQ,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB4r4B,MAAM,CAAClykB,SAAS,CAAC,QAAQ,OAAO,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB6r4B,QAAQ,CAACnykB,SAAS,CAAC,QAAQ,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB8r4B,SAAS,CAACpykB,SAAS,CAAC,QAAQ,OAAO,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBwgX,OAAO,CAAC9mD,SAAS,CAAC,QAAQ,YAAY,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB+r4B,SAAS,CAACrykB,SAAS,CAAC,YAAY,SAAS,OAAO,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBgs4B,SAAS,CAACtykB,SAAS,CAAC,QAAQ,OAAO,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBis4B,OAAO,CAACvykB,SAAS,CAAC,YAAY,OAAO,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBks4B,WAAW,CAACxykB,SAAS,CAAC,OAAO,QAAQ,SAAS,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBms4B,OAAO,CAACzykB,SAAS,CAAC,OAAO,QAAQ,YAAY,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBos4B,KAAK,CAAC1ykB,SAAS,CAAC,OAAO,YAAY,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBqs4B,aAAa,CAAC3ykB,SAAS,CAAC,OAAO,YAAY,QAAQ,WAAW,UAAU,OAAO,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBss4B,aAAa,CAAC5ykB,SAAS,CAAC,OAAO,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBus4B,QAAQ,CAAC7ykB,SAAS,CAAC,OAAO,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBws4B,UAAU,CAAC9ykB,SAAS,CAAC,OAAO,QAAQ,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBys4B,UAAU,CAAC/ykB,SAAS,CAAC,OAAO,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB0s4B,MAAM,CAAChzkB,SAAS,CAAC,OAAO,QAAQ,YAAY,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB2s4B,eAAe,CAACjzkB,SAAS,CAAC,OAAO,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB4s4B,MAAM,CAAClzkB,SAAS,CAAC,OAAO,QAAQ,SAAS,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB6s4B,QAAQ,CAACnzkB,SAAS,CAAC,OAAO,QAAQ,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB8s4B,OAAO,CAACpzkB,SAAS,CAAC,OAAO,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB+s4B,IAAI,CAACrzkB,SAAS,CAAC,OAAO,UAAU,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBgt4B,MAAM,CAACtzkB,SAAS,CAAC,OAAO,YAAY,OAAO,MAAM,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBit4B,MAAM,CAACvzkB,SAAS,CAAC,OAAO,MAAM,OAAO,MAAM,OAAO,WAAW,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBkt4B,SAAS,CAACxzkB,SAAS,CAAC,OAAO,YAAY,YAAY,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBmt4B,YAAY,CAACzzkB,SAAS,CAAC,OAAO,OAAO,YAAY,OAAO,UAAU,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBot4B,aAAa,CAAC1zkB,SAAS,CAAC,OAAO,OAAO,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBqt4B,KAAK,CAAC3zkB,SAAS,CAAC,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBst4B,aAAa,CAAC5zkB,SAAS,CAAC,OAAO,SAAS,YAAY,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBut4B,UAAU,CAAC7zkB,SAAS,CAAC,OAAO,YAAY,UAAU,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBwt4B,UAAU,CAAC9zkB,SAAS,CAAC,OAAO,YAAY,OAAO,eAAe,YAAY,eAAet4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkByt4B,MAAM,CAAC/zkB,SAAS,CAAC,QAAQ,QAAQ,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB0t4B,kBAAkB,CAACh0kB,SAAS,CAAC,OAAO,YAAY,UAAU,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB2t4B,OAAO,CAACj0kB,SAAS,CAAC,OAAO,eAAet4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB4t4B,MAAM,CAACl0kB,SAAS,CAAC,OAAO,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB6t4B,SAAS,CAACn0kB,SAAS,CAAC,OAAO,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB8t4B,YAAY,CAACp0kB,SAAS,CAAC,OAAO,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB+t4B,UAAU,CAACr0kB,SAAS,CAAC,OAAO,UAAU,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBgu4B,KAAK,CAACt0kB,SAAS,CAAC,OAAO,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBiu4B,QAAQ,CAACv0kB,SAAS,CAAC,OAAO,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBku4B,YAAY,CAACx0kB,SAAS,CAAC,OAAO,UAAU,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBmu4B,oBAAoB,CAACz0kB,SAAS,CAAC,OAAO,UAAU,YAAY,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBou4B,MAAM,CAAC10kB,SAAS,CAAC,OAAO,WAAW,SAAS,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBqu4B,KAAK,CAAC30kB,SAAS,CAAC,OAAO,OAAO,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBsu4B,UAAU,CAAC50kB,SAAS,CAAC,OAAO,QAAQ,MAAM,QAAQ,aAAa,OAAO,QAAQ,WAAW,SAAS,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBuu4B,eAAe,CAAC70kB,SAAS,CAAC,OAAO,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBwu4B,MAAM,CAAC90kB,SAAS,CAAC,OAAO,OAAO,WAAW,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkByu4B,MAAM,CAAC/0kB,SAAS,CAAC,OAAO,WAAW,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB0sf,MAAM,CAAChzL,SAAS,CAAC,OAAO,QAAQ,MAAM,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB0u4B,UAAU,CAACh1kB,SAAS,CAAC,OAAO,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB2u4B,KAAK,CAACj1kB,SAAS,CAAC,OAAO,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB4u4B,aAAa,CAACl1kB,SAAS,CAAC,OAAO,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB6u4B,KAAK,CAACn1kB,SAAS,CAAC,OAAO,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB8u4B,MAAM,CAACp1kB,SAAS,CAAC,OAAO,UAAU,QAAQ,WAAW,WAAW,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB+u4B,WAAW,CAACr1kB,SAAS,CAAC,MAAM,UAAU,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBgv4B,UAAU,CAACt1kB,SAAS,CAAC,OAAO,MAAM,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBiv4B,SAAS,CAACv1kB,SAAS,CAAC,OAAO,MAAM,UAAU,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBkv4B,IAAI,CAACx1kB,SAAS,CAAC,OAAO,UAAU,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBmv4B,KAAK,CAACz1kB,SAAS,CAAC,OAAO,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBov4B,QAAQ,CAAC11kB,SAAS,CAAC,OAAO,UAAU,SAAS,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBqv4B,UAAU,CAAC31kB,SAAS,CAAC,OAAO,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBsv4B,SAAS,CAAC51kB,SAAS,CAAC,OAAO,UAAU,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBuv4B,QAAQ,CAAC71kB,SAAS,CAAC,UAAU,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBwv4B,MAAM,CAAC91kB,SAAS,CAAC,QAAQ,UAAU,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkByv4B,SAAS,CAAC/1kB,SAAS,CAAC,OAAO,QAAQ,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB0v4B,cAAc,CAACh2kB,SAAS,CAAC,OAAO,QAAQ,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB2v4B,QAAQ,CAACj2kB,SAAS,CAAC,OAAO,gBAAgB,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB4v4B,SAAS,CAACl2kB,SAAS,CAAC,OAAO,WAAW,UAAU,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB6v4B,SAAS,CAACn2kB,SAAS,CAAC,OAAO,UAAU,QAAQ,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB04gB,OAAO,CAACh/M,SAAS,CAAC,OAAO,QAAQ,OAAO,YAAY,QAAQ,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB8v4B,WAAW,CAACp2kB,SAAS,CAAC,WAAW,QAAQ,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB+v4B,KAAK,CAACr2kB,SAAS,CAAC,QAAQ,WAAW,QAAQ,QAAQ,QAAQ,MAAM,SAAS,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBgw4B,MAAM,CAACt2kB,SAAS,CAAC,QAAQ,WAAW,QAAQ,QAAQ,QAAQ,MAAM,SAAS,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBiw4B,iBAAiB,CAACv2kB,SAAS,CAAC,WAAW,QAAQ,QAAQ,UAAU,YAAY,SAAS,OAAO,YAAY,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBkw4B,WAAW,CAACx2kB,SAAS,CAAC,QAAQ,WAAW,QAAQ,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBmw4B,cAAc,CAACz2kB,SAAS,CAAC,QAAQ,WAAW,QAAQ,UAAU,SAAS,QAAQ,UAAU,SAAS,SAAS,QAAQ,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBow4B,SAAS,CAAC12kB,SAAS,CAAC,QAAQ,QAAQ,UAAU,WAAW,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBqw4B,eAAe,CAAC32kB,SAAS,CAAC,WAAW,WAAW,SAAS,QAAQ,UAAU,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBsw4B,UAAU,CAAC52kB,SAAS,CAAC,QAAQ,OAAO,SAAS,eAAet4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBuw4B,KAAK,CAAC72kB,SAAS,CAAC,OAAO,QAAQ,QAAQ,WAAW,WAAW,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBww4B,IAAI,CAAC92kB,SAAS,CAAC,QAAQ,OAAO,YAAY,QAAQ,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkByw4B,eAAe,CAAC/2kB,SAAS,CAAC,QAAQ,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB0w4B,OAAO,CAACh3kB,SAAS,CAAC,WAAW,WAAW,QAAQ,YAAYt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB2w4B,YAAY,CAACj3kB,SAAS,CAAC,OAAO,YAAY,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB4w4B,KAAK,CAACl3kB,SAAS,CAAC,YAAY,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB6w4B,MAAM,CAACn3kB,SAAS,CAAC,UAAU,UAAU,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB8w4B,eAAe,CAACp3kB,SAAS,CAAC,UAAU,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkB+w4B,mBAAmB,CAACr3kB,SAAS,CAAC,OAAO,MAAM,OAAO,QAAQ,SAAS,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBgx4B,gBAAgB,CAACt3kB,SAAS,CAAC,OAAO,YAAY,SAAS,UAAU,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBix4B,YAAY,CAACv3kB,SAAS,CAAC,OAAO,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBkx4B,WAAW,CAACx3kB,SAAS,CAAC,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,kBAAkBmx4B,OAAO,CAACz3kB,SAAS,CAAC,SAAS,YAAYt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYox4B,WAAW,CAAC13kB,SAAS,CAAC,SAAS,QAAQ,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYqx4B,SAAS,CAAC33kB,SAAS,CAAC,SAAS,QAAQ,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYsx4B,SAAS,CAAC53kB,SAAS,CAAC,SAAS,SAASt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYux4B,SAAS,CAAC73kB,SAAS,CAAC,SAAS,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYwx4B,OAAO,CAAC93kB,SAAS,CAAC,SAAS,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYyx4B,WAAW,CAAC/3kB,SAAS,CAAC,SAAS,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY0x4B,eAAe,CAACh4kB,SAAS,CAAC,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY2x4B,YAAY,CAACj4kB,SAAS,CAAC,SAAS,UAAU,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY,QAAQ,CAAC05T,SAAS,CAAC,OAAO,QAAQ,OAAO,OAAO,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY4x4B,KAAK,CAACl4kB,SAAS,CAAC,SAAS,WAAW,OAAO,OAAO,UAAUt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY6x4B,cAAc,CAACn4kB,SAAS,CAAC,SAAS,WAAW,QAAQ,UAAUt4S,KAAK,oCAAS6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY8x4B,YAAY,CAACp4kB,SAAS,CAAC,SAAS,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY+x4B,UAAU,CAACr4kB,SAAS,CAAC,SAAS,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYgy4B,UAAU,CAACt4kB,SAAS,CAAC,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYiy4B,SAAS,CAACv4kB,SAAS,CAAC,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYky4B,WAAW,CAACx4kB,SAAS,CAAC,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYmy4B,aAAa,CAACz4kB,SAAS,CAAC,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYoy4B,SAAS,CAAC14kB,SAAS,CAAC,SAAS,OAAO,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYqy4B,QAAQ,CAAC34kB,SAAS,CAAC,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYsy4B,IAAI,CAAC54kB,SAAS,CAAC,SAAS,SAAS,OAAO,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYuy4B,MAAM,CAAC74kB,SAAS,CAAC,SAAS,SAAS,QAAQt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYwy4B,YAAY,CAAC94kB,SAAS,CAAC,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,YAAYyy4B,eAAe,CAAC/4kB,SAAS,CAAC,SAAS,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY0y4B,gBAAgB,CAACh5kB,SAAS,CAAC,SAAS,aAAat4S,KAAK,8BAAQ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY2y4B,cAAc,CAACj5kB,SAAS,CAAC,SAAS,aAAat4S,KAAK,8BAAQ6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY4y4B,mBAAmB,CAACl5kB,SAAS,CAAC,cAAct4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY6y4B,iBAAiB,CAACn5kB,SAAS,CAAC,cAAct4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY8y4B,uBAAuB,CAACp5kB,SAAS,CAAC,UAAUt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY+y4B,qBAAqB,CAACr5kB,SAAS,CAAC,UAAUt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,YAAYgz4B,UAAU,CAACt5kB,SAAS,CAAC,UAAUt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYiz4B,cAAc,CAACv5kB,SAAS,CAAC,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYkz4B,WAAW,CAACx5kB,SAAS,CAAC,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYmz4B,KAAK,CAACz5kB,SAAS,CAAC,SAAS,OAAO,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYoz4B,cAAc,CAAC15kB,SAAS,CAAC,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYqz4B,sBAAsB,CAAC35kB,SAAS,CAAC,OAAO,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYsz4B,aAAa,CAAC55kB,SAAS,CAAC,SAAS,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYuz4B,qBAAqB,CAAC75kB,SAAS,CAAC,OAAO,SAAS,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYwz4B,aAAa,CAAC95kB,SAAS,CAAC,SAAS,QAAQ,QAAQ,OAAO,QAAQ,UAAUt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,YAAYyz4B,WAAW,CAAC/5kB,SAAS,CAAC,SAAS,QAAQ,QAAQ,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY0z4B,eAAe,CAACh6kB,SAAS,CAAC,SAAS,QAAQ,QAAQ,SAAS,QAAQt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY2z4B,aAAa,CAACj6kB,SAAS,CAAC,SAAS,QAAQ,MAAM,OAAO,QAAQt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY4z4B,eAAe,CAACl6kB,SAAS,CAAC,SAAS,WAAW,QAAQ,UAAU,QAAQ,SAAS,QAAQ,UAAUt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY6z4B,aAAa,CAACn6kB,SAAS,CAAC,SAAS,WAAW,QAAQ,UAAU,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY8z4B,yBAAyB,CAACp6kB,SAAS,CAAC,SAAS,QAAQt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY+z4B,uBAAuB,CAACr6kB,SAAS,CAAC,SAAS,QAAQt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,YAAYg04B,wBAAwB,CAACt6kB,SAAS,CAAC,QAAQ,SAAS,aAAa,OAAO,WAAW,MAAM,eAAet4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,YAAYi04B,sBAAsB,CAACv6kB,SAAS,CAAC,MAAM,OAAO,aAAa,OAAO,WAAW,MAAM,eAAet4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,YAAYk04B,cAAc,CAACx6kB,SAAS,CAAC,SAAS,QAAQ,MAAM,SAAS,QAAQ,QAAQ,UAAUt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,YAAYm04B,YAAY,CAACz6kB,SAAS,CAAC,SAAS,QAAQ,MAAM,SAAS,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,YAAYo04B,KAAK,CAAC16kB,SAAS,CAAC,QAAQ,SAAS,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,YAAYq04B,iBAAiB,CAAC36kB,SAAS,CAAC,SAAS,QAAQ,QAAQ,UAAUt4S,KAAK,iCAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,YAAYs04B,eAAe,CAAC56kB,SAAS,CAAC,SAAS,SAASt4S,KAAK,SAAI6p2B,mBAAkB,EAAKjr3B,SAAS,YAAYu04B,qBAAqB,CAAC76kB,SAAS,CAAC,SAAS,WAAW,WAAW,QAAQ,UAAUt4S,KAAK,oCAAS6p2B,mBAAkB,EAAKjr3B,SAAS,YAAYw04B,mBAAmB,CAAC96kB,SAAS,CAAC,SAAS,WAAW,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,YAAYy04B,aAAa,CAAC/6kB,SAAS,CAAC,SAAS,OAAO,WAAW,UAAU,QAAQ,UAAUt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY004B,WAAW,CAACh7kB,SAAS,CAAC,SAAS,OAAO,WAAW,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY204B,sBAAsB,CAACj7kB,SAAS,CAAC,iBAAiB,SAAS,QAAQ,OAAO,OAAO,QAAQ,UAAUt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY404B,oBAAoB,CAACl7kB,SAAS,CAAC,iBAAiB,SAAS,QAAQ,OAAO,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY604B,aAAa,CAACn7kB,SAAS,CAAC,SAAS,UAAU,cAAc,WAAW,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY804B,yBAAyB,CAACp7kB,SAAS,CAAC,OAAO,WAAW,WAAW,QAAQ,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY+04B,OAAO,CAACr7kB,SAAS,CAAC,MAAM,QAAQ,UAAU,QAAQ,MAAM,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYg14B,wBAAwB,CAACt7kB,SAAS,CAAC,OAAO,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYi14B,aAAa,CAACv7kB,SAAS,CAAC,QAAQ,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYk14B,eAAe,CAACx7kB,SAAS,CAAC,QAAQ,UAAU,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY,kBAAkB,CAAC05T,SAAS,CAAC,QAAQ,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY,kBAAkB,CAAC05T,SAAS,CAAC,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY,kBAAkB,CAAC05T,SAAS,CAAC,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYm14B,gBAAgB,CAACz7kB,SAAS,CAAC,SAAS,QAAQ,UAAU,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYo14B,QAAQ,CAAC17kB,SAAS,CAAC,SAAS,aAAa,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYq14B,OAAO,CAAC37kB,SAAS,CAAC,QAAQ,UAAU,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYs14B,QAAQ,CAAC57kB,SAAS,CAAC,SAAS,UAAU,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYu14B,gBAAgB,CAAC77kB,SAAS,CAAC,SAAS,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYo2a,IAAI,CAAC18G,SAAS,CAAC,SAAS,QAAQ,OAAO,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYw14B,YAAY,CAAC97kB,SAAS,CAAC,WAAW,WAAW,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYy14B,eAAe,CAAC/7kB,SAAS,CAAC,SAAS,UAAU,QAAQ,aAAat4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY014B,aAAa,CAACh8kB,SAAS,CAAC,SAAS,UAAU,QAAQ,aAAat4S,KAAK,8BAAQ6p2B,mBAAkB,EAAKjr3B,SAAS,YAAY214B,WAAW,CAACj8kB,SAAS,CAAC,QAAQ,QAAQ,KAAK,OAAO,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY414B,WAAW,CAACl8kB,SAAS,CAAC,QAAQ,QAAQ,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY614B,cAAc,CAACn8kB,SAAS,CAAC,SAAS,OAAO,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY814B,iBAAiB,CAACp8kB,SAAS,CAAC,QAAQ,aAAa,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY+14B,KAAK,CAACr8kB,SAAS,CAAC,QAAQ,aAAa,aAAa,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYg24B,UAAU,CAACt8kB,SAAS,CAAC,QAAQ,aAAa,OAAO,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYi24B,QAAQ,CAACv8kB,SAAS,CAAC,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYk24B,OAAO,CAACx8kB,SAAS,CAAC,QAAQ,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYm24B,OAAO,CAACz8kB,SAAS,CAAC,QAAQ,aAAa,YAAY,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYo24B,QAAQ,CAAC18kB,SAAS,CAAC,QAAQ,OAAO,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYq24B,WAAW,CAAC38kB,SAAS,CAAC,OAAO,UAAU,MAAM,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYs24B,cAAc,CAAC58kB,SAAS,CAAC,OAAO,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYu24B,KAAK,CAAC78kB,SAAS,CAAC,OAAO,OAAO,MAAM,SAAS,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYw24B,SAAS,CAAC98kB,SAAS,CAAC,OAAO,SAAS,WAAW,OAAO,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAYy24B,WAAW,CAAC/8kB,SAAS,CAAC,cAAct4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY024B,aAAa,CAACh9kB,SAAS,CAAC,MAAM,SAAS,QAAQ,gBAAgB,OAAO,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY224B,OAAO,CAACj9kB,SAAS,CAAC,eAAe,SAAS,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY424B,QAAQ,CAACl9kB,SAAS,CAAC,SAAS,MAAM,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,YAAY624B,QAAQ,CAACn9kB,SAAS,CAAC,MAAM,iBAAiB,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB824B,KAAK,CAACp9kB,SAAS,CAAC,OAAO,UAAU,OAAO,kBAAkBt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB+24B,SAAS,CAACr9kB,SAAS,CAAC,iBAAiB,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBg34B,IAAI,CAACt9kB,SAAS,CAAC,MAAM,UAAU,kBAAkBt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBi34B,WAAW,CAACv9kB,SAAS,CAAC,OAAO,iBAAiB,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBk34B,WAAW,CAACx9kB,SAAS,CAAC,SAAS,OAAO,OAAO,UAAU,MAAMt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBm34B,WAAW,CAACz9kB,SAAS,CAAC,UAAU,OAAO,iBAAiB,MAAM,QAAQ,eAAet4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBo34B,UAAU,CAAC19kB,SAAS,CAAC,SAAS,MAAM,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBq34B,YAAY,CAAC39kB,SAAS,CAAC,iBAAiB,OAAO,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBs34B,QAAQ,CAAC59kB,SAAS,CAAC,UAAU,MAAM,kBAAkBt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBu34B,MAAM,CAAC79kB,SAAS,CAAC,OAAO,kBAAkBt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBw34B,kBAAkB,CAAC99kB,SAAS,CAAC,UAAU,OAAO,iBAAiB,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBy34B,QAAQ,CAAC/9kB,SAAS,CAAC,UAAU,MAAM,UAAU,eAAet4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB034B,aAAa,CAACh+kB,SAAS,CAAC,UAAU,OAAO,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB234B,WAAW,CAACj+kB,SAAS,CAAC,OAAO,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB434B,KAAK,CAACl+kB,SAAS,CAAC,SAAS,UAAU,WAAW,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB634B,cAAc,CAACn+kB,SAAS,CAAC,UAAU,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB834B,eAAe,CAACp+kB,SAAS,CAAC,SAAS,YAAY,MAAM,YAAY,QAAQ,QAAQ,SAAS,MAAM,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB+34B,oBAAoB,CAACr+kB,SAAS,CAAC,UAAU,MAAM,QAAQ,cAAc,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBg44B,aAAa,CAACt+kB,SAAS,CAAC,UAAU,kBAAkBt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBi44B,oBAAoB,CAACv+kB,SAAS,CAAC,MAAM,UAAU,kBAAkBt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBk44B,cAAc,CAACx+kB,SAAS,CAAC,UAAU,OAAO,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBm44B,eAAe,CAACz+kB,SAAS,CAAC,iBAAiB,UAAU,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBo44B,kBAAkB,CAAC1+kB,SAAS,CAAC,iBAAiB,UAAU,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBq44B,mBAAmB,CAAC3+kB,SAAS,CAAC,UAAU,kBAAkBt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBs44B,YAAY,CAAC5+kB,SAAS,CAAC,iBAAiB,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBu44B,MAAM,CAAC7+kB,SAAS,CAAC,iBAAiB,UAAU,WAAW,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBw44B,SAAS,CAAC9+kB,SAAS,CAAC,iBAAiB,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBy44B,iBAAiB,CAAC/+kB,SAAS,CAAC,iBAAiB,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB044B,kBAAkB,CAACh/kB,SAAS,CAAC,iBAAiB,UAAU,QAAQ,OAAO,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB244B,WAAW,CAACj/kB,SAAS,CAAC,iBAAiB,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB444B,iBAAiB,CAACl/kB,SAAS,CAAC,iBAAiB,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB644B,iBAAiB,CAACn/kB,SAAS,CAAC,iBAAiB,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB844B,OAAO,CAACp/kB,SAAS,CAAC,iBAAiB,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB+44B,MAAM,CAACr/kB,SAAS,CAAC,iBAAiB,cAAc,MAAM,cAAc,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBg54B,KAAK,CAACt/kB,SAAS,CAAC,iBAAiB,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBi54B,QAAQ,CAACv/kB,SAAS,CAAC,iBAAiB,UAAU,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBk54B,cAAc,CAACx/kB,SAAS,CAAC,iBAAiB,UAAU,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBm54B,WAAW,CAACz/kB,SAAS,CAAC,iBAAiB,UAAU,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBo54B,eAAe,CAAC1/kB,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBq54B,SAAS,CAAC3/kB,SAAS,CAAC,UAAU,iBAAiB,SAAS,OAAOt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBs54B,iBAAiB,CAAC5/kB,SAAS,CAAC,UAAU,SAAS,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBu54B,eAAe,CAAC7/kB,SAAS,CAAC,UAAU,SAAS,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBw54B,SAAS,CAAC9/kB,SAAS,CAAC,OAAO,SAAS,iBAAiB,QAAQ,WAAWt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBy54B,WAAW,CAAC//kB,SAAS,CAAC,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB054B,UAAU,CAAChglB,SAAS,CAAC,OAAO,iBAAiB,UAAU,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB254B,MAAM,CAACjglB,SAAS,CAAC,OAAO,OAAO,SAASt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB454B,eAAe,CAAClglB,SAAS,CAAC,QAAQ,SAAS,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB654B,OAAO,CAACnglB,SAAS,CAAC,SAAS,OAAO,YAAY,OAAO,cAAc,cAAc,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB854B,qBAAqB,CAACpglB,SAAS,CAAC,gBAAgB,MAAM,QAAQ,cAAc,OAAO,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB+54B,KAAK,CAACrglB,SAAS,CAAC,MAAM,WAAW,YAAY,MAAM,SAAS,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBg64B,MAAM,CAACtglB,SAAS,CAAC,OAAO,SAAS,QAAQ,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB6wkB,OAAO,CAACn3Q,SAAS,CAAC,OAAO,QAAQ,MAAM,QAAQt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBi64B,aAAa,CAACvglB,SAAS,CAAC,MAAM,WAAW,UAAU,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBk64B,SAAS,CAACxglB,SAAS,CAAC,cAAc,aAAat4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBm64B,QAAQ,CAACzglB,SAAS,CAAC,iBAAiB,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBo64B,uBAAuB,CAAC1glB,SAAS,CAAC,iBAAiB,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBq64B,cAAc,CAAC3glB,SAAS,CAAC,iBAAiB,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBs64B,eAAe,CAAC5glB,SAAS,CAAC,UAAU,aAAa,OAAO,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBu64B,KAAK,CAAC7glB,SAAS,CAAC,iBAAiB,UAAU,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBw64B,aAAa,CAAC9glB,SAAS,CAAC,QAAQ,WAAW,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBy64B,eAAe,CAAC/glB,SAAS,CAAC,WAAW,aAAa,QAAQ,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB064B,eAAe,CAAChhlB,SAAS,CAAC,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB264B,sBAAsB,CAACjhlB,SAAS,CAAC,MAAM,UAAU,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB464B,MAAM,CAAClhlB,SAAS,CAAC,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB664B,YAAY,CAACnhlB,SAAS,CAAC,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBmK,QAAQ,CAACuvT,SAAS,CAAC,WAAW,WAAW,YAAY,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB864B,SAAS,CAACphlB,SAAS,CAAC,QAAQ,SAAS,QAAQ,SAASt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB+64B,WAAW,CAACrhlB,SAAS,CAAC,QAAQ,QAAQ,OAAO,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBg74B,SAAS,CAACthlB,SAAS,CAAC,QAAQ,SAAS,eAAet4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBi74B,cAAc,CAACvhlB,SAAS,CAAC,QAAQ,SAAS,cAAc,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBk74B,WAAW,CAACxhlB,SAAS,CAAC,QAAQ,WAAW,SAAS,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBm74B,QAAQ,CAACzhlB,SAAS,CAAC,QAAQ,SAAS,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBo74B,MAAM,CAAC1hlB,SAAS,CAAC,SAAS,UAAU,WAAW,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBq74B,QAAQ,CAAC3hlB,SAAS,CAAC,QAAQ,WAAW,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBs74B,KAAK,CAAC5hlB,SAAS,CAAC,QAAQ,UAAU,YAAYt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBu74B,cAAc,CAAC7hlB,SAAS,CAAC,QAAQ,cAAc,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBw74B,SAAS,CAAC9hlB,SAAS,CAAC,OAAO,YAAY,aAAa,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBy74B,cAAc,CAAC/hlB,SAAS,CAAC,QAAQ,kBAAkBt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB074B,QAAQ,CAAChilB,SAAS,CAAC,UAAU,OAAO,WAAW,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB274B,uBAAuB,CAACjilB,SAAS,CAAC,OAAO,WAAW,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB474B,OAAO,CAAClilB,SAAS,CAAC,QAAQ,OAAO,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB674B,eAAe,CAACnilB,SAAS,CAAC,UAAU,SAAS,QAAQ,OAAO,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB874B,cAAc,CAACpilB,SAAS,CAAC,QAAQ,WAAW,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB+74B,aAAa,CAACrilB,SAAS,CAAC,QAAQ,eAAe,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBg84B,YAAY,CAACtilB,SAAS,CAAC,QAAQ,UAAU,MAAM,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBi84B,UAAU,CAACvilB,SAAS,CAAC,QAAQ,aAAa,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBk84B,iBAAiB,CAACxilB,SAAS,CAAC,UAAU,OAAO,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBm84B,gBAAgB,CAACzilB,SAAS,CAAC,QAAQ,gBAAgBt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBo84B,UAAU,CAAC1ilB,SAAS,CAAC,QAAQ,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBq84B,MAAM,CAAC3ilB,SAAS,CAAC,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBs84B,SAAS,CAAC5ilB,SAAS,CAAC,QAAQ,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBu84B,UAAU,CAAC7ilB,SAAS,CAAC,QAAQ,WAAW,WAAW,mBAAmBt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBw84B,QAAQ,CAAC9ilB,SAAS,CAAC,SAAS,QAAQ,eAAe,QAAQ,MAAM,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBy84B,OAAO,CAAC/ilB,SAAS,CAAC,YAAY,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB084B,gBAAgB,CAAChjlB,SAAS,CAAC,WAAW,UAAU,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB284B,gBAAgB,CAACjjlB,SAAS,CAAC,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB484B,QAAQ,CAACljlB,SAAS,CAAC,QAAQ,QAAQ,SAAS,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB684B,kBAAkB,CAACnjlB,SAAS,CAAC,WAAW,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB884B,MAAM,CAACpjlB,SAAS,CAAC,WAAW,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB+84B,kBAAkB,CAACrjlB,SAAS,CAAC,OAAO,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBg94B,eAAe,CAACtjlB,SAAS,CAAC,UAAU,QAAQ,SAAS,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBi94B,OAAO,CAACvjlB,SAAS,CAAC,WAAW,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBk94B,iBAAiB,CAACxjlB,SAAS,CAAC,WAAW,WAAW,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBm94B,YAAY,CAACzjlB,SAAS,CAAC,WAAW,WAAW,iBAAiBt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBo94B,qBAAqB,CAAC1jlB,SAAS,CAAC,WAAW,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBq94B,SAAS,CAAC3jlB,SAAS,CAAC,WAAW,SAAS,UAAU,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBw4hB,KAAK,CAAC9+N,SAAS,CAAC,WAAW,QAAQ,QAAQ,OAAO,WAAW,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBs94B,MAAM,CAAC5jlB,SAAS,CAAC,WAAW,eAAe,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBu94B,kBAAkB,CAAC7jlB,SAAS,CAAC,WAAW,WAAW,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBw94B,OAAO,CAAC9jlB,SAAS,CAAC,WAAW,UAAU,YAAY,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBy94B,WAAW,CAAC/jlB,SAAS,CAAC,OAAO,YAAY,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB094B,QAAQ,CAAChklB,SAAS,CAAC,OAAO,OAAO,YAAY,SAAS,WAAW,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB294B,mBAAmB,CAACjklB,SAAS,CAAC,MAAM,UAAU,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB494B,OAAO,CAAClklB,SAAS,CAAC,WAAW,WAAW,UAAUt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB694B,OAAO,CAACnklB,SAAS,CAAC,QAAQ,UAAU,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB894B,UAAU,CAACpklB,SAAS,CAAC,UAAU,UAAU,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqB+94B,MAAM,CAACrklB,SAAS,CAAC,QAAQ,SAAS,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBg+4B,cAAc,CAACtklB,SAAS,CAAC,SAAS,QAAQ,SAASt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,qBAAqBi+4B,MAAM,CAACvklB,SAAS,CAAC,OAAO,eAAet4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWk+4B,OAAO,CAACxklB,SAAS,CAAC,aAAa,QAAQ,UAAU,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWm+4B,QAAQ,CAACzklB,SAAS,CAAC,SAAS,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWo+4B,SAAS,CAAC1klB,SAAS,CAAC,aAAa,SAAS,SAAS,UAAU,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWq+4B,SAAS,CAAC3klB,SAAS,CAAC,aAAa,WAAW,OAAO,QAAQ,QAAQt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWs+4B,iBAAiB,CAAC5klB,SAAS,CAAC,aAAa,YAAY,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWu+4B,QAAQ,CAAC7klB,SAAS,CAAC,QAAQ,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWw+4B,eAAe,CAAC9klB,SAAS,CAAC,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWy+4B,UAAU,CAAC/klB,SAAS,CAAC,aAAa,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0+4B,SAAS,CAAChllB,SAAS,CAAC,OAAO,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkqb,MAAM,CAACxwH,SAAS,CAAC,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2+4B,SAAS,CAACjllB,SAAS,CAAC,aAAa,SAAS,OAAO,OAAO,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4+4B,YAAY,CAAClllB,SAAS,CAAC,YAAY,aAAa,OAAO,MAAM,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWg/X,GAAG,CAACtlE,SAAS,CAAC,aAAa,MAAM,OAAO,OAAO,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6+4B,IAAI,CAACnllB,SAAS,CAAC,KAAK,OAAO,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8+4B,IAAI,CAACpllB,SAAS,CAAC,SAAS,QAAQ,YAAY,MAAM,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWi4jB,OAAO,CAACv+P,SAAS,CAAC,UAAU,eAAet4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW++4B,aAAa,CAACrllB,SAAS,CAAC,cAAc,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWg/4B,aAAa,CAACtllB,SAAS,CAAC,OAAO,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWi/4B,aAAa,CAACvllB,SAAS,CAAC,OAAO,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWk/4B,eAAe,CAACxllB,SAAS,CAAC,QAAQ,OAAO,SAAS,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWm/4B,WAAW,CAACzllB,SAAS,CAAC,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWo/4B,mBAAmB,CAAC1llB,SAAS,CAAC,aAAa,gBAAgB,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWq/4B,MAAM,CAAC3llB,SAAS,CAAC,aAAa,gBAAgB,OAAO,aAAat4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWs/4B,MAAM,CAAC5llB,SAAS,CAAC,SAAS,YAAY,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWu/4B,IAAI,CAAC7llB,SAAS,CAAC,gBAAgB,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWulC,GAAG,CAACm0R,SAAS,CAAC,aAAa,UAAU,YAAY,OAAO,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0/K,MAAM,CAACg6I,SAAS,CAAC,gBAAgB,QAAQ,UAAU,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWw/4B,kBAAkB,CAAC9llB,SAAS,CAAC,OAAO,YAAY,SAAS,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWy/4B,aAAa,CAAC/llB,SAAS,CAAC,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0/4B,cAAc,CAAChmlB,SAAS,CAAC,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2/4B,QAAQ,CAACjmlB,SAAS,CAAC,WAAW,aAAa,gBAAgBt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4/4B,UAAU,CAAClmlB,SAAS,CAAC,OAAO,YAAYt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6/4B,YAAY,CAACnmlB,SAAS,CAAC,SAASt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8/4B,YAAY,CAACpmlB,SAAS,CAAC,OAAO,QAAQt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+/4B,kBAAkB,CAACrmlB,SAAS,CAAC,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgg5B,uBAAuB,CAACtmlB,SAAS,CAAC,YAAY,OAAO,aAAat4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWig5B,UAAU,CAACvmlB,SAAS,CAAC,OAAO,QAAQ,YAAY,QAAQ,OAAO,OAAO,QAAQt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkg5B,UAAU,CAACxmlB,SAAS,CAAC,gBAAgB,SAAS,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmg5B,QAAQ,CAACzmlB,SAAS,CAAC,QAAQ,SAAS,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWog5B,cAAc,CAAC1mlB,SAAS,CAAC,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqg5B,KAAK,CAAC3mlB,SAAS,CAAC,QAAQ,cAAc,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsg5B,WAAW,CAAC5mlB,SAAS,CAAC,OAAO,UAAU,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWug5B,OAAO,CAAC7mlB,SAAS,CAAC,OAAO,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwg5B,kBAAkB,CAAC9mlB,SAAS,CAAC,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyg5B,YAAY,CAAC/mlB,SAAS,CAAC,MAAM,QAAQ,UAAU,UAAU,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0g5B,SAAS,CAAChnlB,SAAS,CAAC,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2g5B,iBAAiB,CAACjnlB,SAAS,CAAC,SAAS,QAAQ,UAAU,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4g5B,OAAO,CAAClnlB,SAAS,CAAC,QAAQ,QAAQ,OAAO,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6g5B,IAAI,CAACnnlB,SAAS,CAAC,QAAQ,QAAQ,WAAW,SAAS,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8g5B,KAAK,CAACpnlB,SAAS,CAAC,QAAQ,QAAQ,SAAS,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+g5B,MAAM,CAACrnlB,SAAS,CAAC,UAAU,WAAW,QAAQ,QAAQ,QAAQ,KAAK,UAAU,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgh5B,SAAS,CAACtnlB,SAAS,CAAC,SAAS,UAAU,QAAQ,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWih5B,YAAY,CAACvnlB,SAAS,CAAC,QAAQ,QAAQ,SAAS,OAAO,UAAU,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkh5B,IAAI,CAACxnlB,SAAS,CAAC,OAAO,OAAO,UAAU,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmh5B,cAAc,CAACznlB,SAAS,CAAC,MAAM,WAAW,UAAUt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWoh5B,QAAQ,CAAC1nlB,SAAS,CAAC,QAAQ,MAAM,MAAM,aAAa,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqh5B,OAAO,CAAC3nlB,SAAS,CAAC,QAAQ,MAAM,OAAO,MAAM,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsh5B,OAAO,CAAC5nlB,SAAS,CAAC,QAAQ,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWuh5B,gBAAgB,CAAC7nlB,SAAS,CAAC,QAAQ,QAAQ,UAAUt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwh5B,kBAAkB,CAAC9nlB,SAAS,CAAC,QAAQ,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+tE,KAAK,CAAC2rP,SAAS,CAAC,QAAQ,OAAOt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyh5B,aAAa,CAAC/nlB,SAAS,CAAC,QAAQ,QAAQ,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0h5B,KAAK,CAACholB,SAAS,CAAC,OAAOt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2h5B,MAAM,CAACjolB,SAAS,CAAC,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4h5B,OAAO,CAAClolB,SAAS,CAAC,OAAO,UAAUt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6h5B,OAAO,CAACnolB,SAAS,CAAC,aAAa,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8h5B,IAAI,CAACpolB,SAAS,CAAC,WAAW,SAAS,SAAS,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+h5B,KAAK,CAACrolB,SAAS,CAAC,OAAO,UAAU,YAAY,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgi5B,YAAY,CAACtolB,SAAS,CAAC,WAAW,OAAO,UAAU,YAAY,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWii5B,MAAM,CAACvolB,SAAS,CAAC,QAAQ,QAAQ,UAAU,UAAU,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWki5B,OAAO,CAACxolB,SAAS,CAAC,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmi5B,eAAe,CAACzolB,SAAS,CAAC,UAAUt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWoi5B,OAAO,CAAC1olB,SAAS,CAAC,aAAa,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqi5B,QAAQ,CAAC3olB,SAAS,CAAC,QAAQ,UAAU,YAAY,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsi5B,qBAAqB,CAAC5olB,SAAS,CAAC,SAAS,SAAS,SAAS,QAAQ,QAAQ,SAAS,QAAQt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWui5B,OAAO,CAAC7olB,SAAS,CAAC,UAAU,OAAO,MAAM,QAAQ,MAAM,YAAY,WAAW,SAAS,UAAU,OAAOt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwi5B,YAAY,CAAC9olB,SAAS,CAAC,OAAO,MAAM,QAAQ,MAAM,SAASt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyi5B,QAAQ,CAAC/olB,SAAS,CAAC,OAAO,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0i5B,aAAa,CAAChplB,SAAS,CAAC,QAAQ,QAAQ,QAAQ,SAAS,kBAAkBt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2i5B,aAAa,CAACjplB,SAAS,CAAC,QAAQ,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4i5B,aAAa,CAAClplB,SAAS,CAAC,OAAO,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6i5B,OAAO,CAACnplB,SAAS,CAAC,OAAO,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8i5B,QAAQ,CAACpplB,SAAS,CAAC,aAAa,UAAU,aAAa,aAAat4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+i5B,UAAU,CAACrplB,SAAS,CAAC,QAAQ,QAAQ,OAAO,UAAU,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgj5B,WAAW,CAACtplB,SAAS,CAAC,aAAa,aAAa,SAAS,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWij5B,KAAK,CAACvplB,SAAS,CAAC,gBAAgBt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkj5B,KAAK,CAACxplB,SAAS,CAAC,SAAS,WAAW,SAAS,WAAW,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmj5B,QAAQ,CAACzplB,SAAS,CAAC,SAAS,WAAW,QAAQ,QAAQ,WAAW,SAAS,SAAS,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWoj5B,IAAI,CAAC1plB,SAAS,CAAC,YAAY,WAAW,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqj5B,QAAQ,CAAC3plB,SAAS,CAAC,SAAS,WAAW,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsj5B,WAAW,CAAC5plB,SAAS,CAAC,WAAW,UAAU,UAAU,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWuj5B,UAAU,CAAC7plB,SAAS,CAAC,YAAY,aAAa,MAAM,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwj5B,YAAY,CAAC9plB,SAAS,CAAC,UAAU,cAAc,MAAM,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyj5B,MAAM,CAAC/plB,SAAS,CAAC,WAAW,WAAW,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0j5B,OAAO,CAAChqlB,SAAS,CAAC,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2j5B,aAAa,CAACjqlB,SAAS,CAAC,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWxuC,MAAM,CAACkoW,SAAS,CAAC,OAAO,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWi6vB,SAAS,CAACvgc,SAAS,CAAC,WAAW,QAAQ,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4j5B,OAAO,CAAClqlB,SAAS,CAAC,WAAW,KAAK,WAAW,WAAW,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6j5B,OAAO,CAACnqlB,SAAS,CAAC,QAAQ,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8j5B,QAAQ,CAACpqlB,SAAS,CAAC,QAAQ,SAAS,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+j5B,KAAK,CAACrqlB,SAAS,CAAC,MAAM,UAAU,WAAW,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgk5B,OAAO,CAACtqlB,SAAS,CAAC,YAAY,WAAW,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWik5B,cAAc,CAACvqlB,SAAS,CAAC,cAAc,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW/8D,IAAI,CAACy2X,SAAS,CAAC,OAAO,OAAO,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkk5B,QAAQ,CAACxqlB,SAAS,CAAC,OAAO,OAAO,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmk5B,eAAe,CAACzqlB,SAAS,CAAC,OAAO,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWok5B,aAAa,CAAC1qlB,SAAS,CAAC,MAAM,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAKjr3B,SAAS,WAAWqk5B,IAAI,CAAC3qlB,SAAS,CAAC,QAAQ,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsk5B,KAAK,CAAC5qlB,SAAS,CAAC,QAAQ,QAAQ,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWuk5B,aAAa,CAAC7qlB,SAAS,CAAC,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwk5B,WAAW,CAAC9qlB,SAAS,CAAC,QAAQ,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyk5B,eAAe,CAAC/qlB,SAAS,CAAC,eAAet4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0k5B,UAAU,CAAChrlB,SAAS,CAAC,WAAW,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2k5B,kBAAkB,CAACjrlB,SAAS,CAAC,UAAU,UAAUt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4k5B,MAAM,CAAClrlB,SAAS,CAAC,OAAO,gBAAgB,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6k5B,SAAS,CAACnrlB,SAAS,CAAC,OAAO,MAAM,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8k5B,cAAc,CAACprlB,SAAS,CAAC,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+k5B,QAAQ,CAACrrlB,SAAS,CAAC,QAAQ,cAAc,WAAW,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWihB,MAAM,CAACy4S,SAAS,CAAC,OAAO,WAAW,YAAY,OAAO,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgl5B,OAAO,CAACtrlB,SAAS,CAAC,aAAa,OAAO,OAAO,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWil5B,KAAK,CAACvrlB,SAAS,CAAC,UAAU,WAAW,YAAY,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkl5B,cAAc,CAACxrlB,SAAS,CAAC,WAAW,QAAQ,WAAW,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWml5B,KAAK,CAACzrlB,SAAS,CAAC,QAAQ,kBAAkB,WAAW,QAAQ,SAAS,eAAet4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWol5B,MAAM,CAAC1rlB,SAAS,CAAC,WAAW,MAAM,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWql5B,WAAW,CAAC3rlB,SAAS,CAAC,SAAS,OAAO,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsl5B,cAAc,CAAC5rlB,SAAS,CAAC,WAAW,SAAS,UAAU,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWul5B,gBAAgB,CAAC7rlB,SAAS,CAAC,QAAQ,QAAQ,YAAY,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwl5B,aAAa,CAAC9rlB,SAAS,CAAC,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWk8T,MAAM,CAACxC,SAAS,CAAC,SAAS,SAAS,QAAQ,iBAAiBt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyl5B,oBAAoB,CAAC/rlB,SAAS,CAAC,QAAQ,iBAAiBt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0l5B,kBAAkB,CAAChslB,SAAS,CAAC,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW,SAAS,CAAC05T,SAAS,CAAC,gBAAgB,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2l5B,YAAY,CAACjslB,SAAS,CAAC,QAAQ,OAAO,YAAY,WAAW,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4l5B,QAAQ,CAAClslB,SAAS,CAAC,QAAQ,SAAS,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6l5B,eAAe,CAACnslB,SAAS,CAAC,QAAQ,gBAAgB,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8l5B,QAAQ,CAACpslB,SAAS,CAAC,QAAQ,QAAQ,iBAAiBt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+l5B,kBAAkB,CAACrslB,SAAS,CAAC,QAAQ,QAAQ,iBAAiBt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgm5B,qBAAqB,CAACtslB,SAAS,CAAC,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWim5B,QAAQ,CAACvslB,SAAS,CAAC,OAAO,OAAO,YAAY,MAAM,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkm5B,YAAY,CAACxslB,SAAS,CAAC,aAAa,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmm5B,WAAW,CAACzslB,SAAS,CAAC,QAAQ,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWom5B,YAAY,CAAC1slB,SAAS,CAAC,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8jL,OAAO,CAAC41I,SAAS,CAAC,YAAY,UAAU,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqm5B,eAAe,CAAC3slB,SAAS,CAAC,YAAY,SAAS,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsm5B,cAAc,CAAC5slB,SAAS,CAAC,WAAW,OAAO,QAAQ,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWum5B,QAAQ,CAAC7slB,SAAS,CAAC,aAAa,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwm5B,UAAU,CAAC9slB,SAAS,CAAC,QAAQ,eAAe,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWym5B,yBAAyB,CAAC/slB,SAAS,CAAC,QAAQ,eAAe,QAAQ,WAAW,WAAW,YAAY,QAAQ,QAAQ,OAAO,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0m5B,2BAA2B,CAAChtlB,SAAS,CAAC,QAAQ,eAAe,QAAQ,YAAY,WAAW,YAAY,QAAQ,QAAQ,MAAM,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2m5B,eAAe,CAACjtlB,SAAS,CAAC,YAAY,SAAS,QAAQ,eAAet4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWupS,KAAK,CAACmwB,SAAS,CAAC,WAAW,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWg+kB,SAAS,CAACtkR,SAAS,CAAC,WAAW,OAAO,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4m5B,gBAAgB,CAACltlB,SAAS,CAAC,OAAO,WAAW,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6m5B,WAAW,CAACntlB,SAAS,CAAC,WAAW,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8m5B,cAAc,CAACptlB,SAAS,CAAC,WAAW,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+m5B,WAAW,CAACrtlB,SAAS,CAAC,WAAW,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgn5B,aAAa,CAACttlB,SAAS,CAAC,SAAS,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWtzB,UAAU,CAACgtV,SAAS,CAAC,aAAa,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWin5B,eAAe,CAACvtlB,SAAS,CAAC,OAAO,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkn5B,YAAY,CAACxtlB,SAAS,CAAC,YAAY,WAAW,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmn5B,iBAAiB,CAACztlB,SAAS,CAAC,YAAY,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWon5B,oBAAoB,CAAC1tlB,SAAS,CAAC,aAAa,WAAW,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqn5B,eAAe,CAAC3tlB,SAAS,CAAC,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsn5B,UAAU,CAAC5tlB,SAAS,CAAC,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWun5B,SAAS,CAAC7tlB,SAAS,CAAC,aAAa,SAAS,QAAQ,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwn5B,YAAY,CAAC9tlB,SAAS,CAAC,OAAO,UAAU,YAAY,WAAW,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyn5B,WAAW,CAAC/tlB,SAAS,CAAC,OAAO,UAAU,YAAY,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0n5B,UAAU,CAAChulB,SAAS,CAAC,OAAO,UAAU,YAAY,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2n5B,YAAY,CAACjulB,SAAS,CAAC,OAAO,UAAU,YAAY,WAAW,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4n5B,+BAA+B,CAAClulB,SAAS,CAAC,YAAY,QAAQ,SAAS,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6n5B,OAAO,CAACnulB,SAAS,CAAC,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8n5B,MAAM,CAACpulB,SAAS,CAAC,aAAa,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+n5B,UAAU,CAACrulB,SAAS,CAAC,OAAO,OAAO,UAAU,YAAY,aAAa,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgo5B,WAAW,CAACtulB,SAAS,CAAC,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW3pC,KAAK,CAACqjW,SAAS,CAAC,QAAQ,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWio5B,UAAU,CAACvulB,SAAS,CAAC,YAAY,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWko5B,WAAW,CAACxulB,SAAS,CAAC,YAAY,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmo5B,SAAS,CAACzulB,SAAS,CAAC,aAAa,OAAOt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWoo5B,iBAAiB,CAAC1ulB,SAAS,CAAC,aAAa,OAAO,YAAY,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqo5B,eAAe,CAAC3ulB,SAAS,CAAC,aAAa,YAAY,SAAS,OAAO,SAAS,UAAU,YAAY,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWso5B,OAAO,CAAC5ulB,SAAS,CAAC,eAAet4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWuo5B,QAAQ,CAAC7ulB,SAAS,CAAC,aAAa,OAAO,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwo5B,cAAc,CAAC9ulB,SAAS,CAAC,aAAa,WAAW,MAAM,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyo5B,wBAAwB,CAAC/ulB,SAAS,CAAC,OAAO,YAAY,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0o5B,WAAW,CAAChvlB,SAAS,CAAC,SAAS,QAAQ,OAAO,YAAY,UAAU,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2o5B,WAAW,CAACjvlB,SAAS,CAAC,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4o5B,aAAa,CAAClvlB,SAAS,CAAC,OAAO,UAAU,QAAQ,MAAM,OAAO,OAAO,QAAQ,aAAa,UAAU,WAAW,eAAet4S,KAAK,iCAAS6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6o5B,qBAAqB,CAACnvlB,SAAS,CAAC,WAAW,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWo0P,KAAK,CAACslE,SAAS,CAAC,WAAW,WAAW,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWs0P,OAAO,CAAColE,SAAS,CAAC,UAAU,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8o5B,kBAAkB,CAACpvlB,SAAS,CAAC,WAAW,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+o5B,IAAI,CAACrvlB,SAAS,CAAC,aAAa,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgp5B,aAAa,CAACtvlB,SAAS,CAAC,aAAa,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWip5B,UAAU,CAACvvlB,SAAS,CAAC,MAAM,aAAa,UAAU,SAASt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0sV,KAAK,CAAChzB,SAAS,CAAC,QAAQ,YAAY,aAAa,SAAS,QAAQ,UAAU,QAAQ,OAAO,OAAO,OAAO,QAAQ,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkp5B,QAAQ,CAACxvlB,SAAS,CAAC,aAAa,QAAQ,QAAQ,UAAU,SAAS,SAASt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmp5B,OAAO,CAACzvlB,SAAS,CAAC,UAAU,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWop5B,WAAW,CAAC1vlB,SAAS,CAAC,UAAU,aAAa,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWu/jB,IAAI,CAAC7lQ,SAAS,CAAC,SAAS,OAAO,OAAO,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqp5B,UAAU,CAAC3vlB,SAAS,CAAC,SAAS,OAAO,OAAO,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsp5B,MAAM,CAAC5vlB,SAAS,CAAC,OAAO,OAAO,cAAct4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWup5B,aAAa,CAAC7vlB,SAAS,CAAC,OAAO,OAAO,YAAY,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwp5B,aAAa,CAAC9vlB,SAAS,CAAC,OAAO,OAAO,YAAY,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyp5B,YAAY,CAAC/vlB,SAAS,CAAC,OAAO,OAAO,YAAY,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0p5B,WAAW,CAAChwlB,SAAS,CAAC,OAAO,OAAO,YAAY,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2p5B,aAAa,CAACjwlB,SAAS,CAAC,OAAO,OAAO,YAAY,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4p5B,YAAY,CAAClwlB,SAAS,CAAC,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6p5B,aAAa,CAACnwlB,SAAS,CAAC,MAAM,QAAQ,QAAQ,QAAQ,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8p5B,wBAAwB,CAACpwlB,SAAS,CAAC,aAAa,QAAQt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+p5B,WAAW,CAACrwlB,SAAS,CAAC,OAAO,OAAO,YAAY,aAAa,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgq5B,iBAAiB,CAACtwlB,SAAS,CAAC,OAAO,OAAO,YAAY,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWiq5B,UAAU,CAACvwlB,SAAS,CAAC,OAAO,OAAO,YAAY,aAAa,OAAO,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkq5B,WAAW,CAACxwlB,SAAS,CAAC,OAAO,OAAO,YAAY,aAAa,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmq5B,gBAAgB,CAACzwlB,SAAS,CAAC,OAAO,OAAO,YAAY,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWoq5B,MAAM,CAAC1wlB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAY,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqq5B,WAAW,CAAC3wlB,SAAS,CAAC,OAAO,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsq5B,iBAAiB,CAAC5wlB,SAAS,CAAC,gBAAgB,OAAO,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWuq5B,aAAa,CAAC7wlB,SAAS,CAAC,UAAUt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwq5B,YAAY,CAAC9wlB,SAAS,CAAC,gBAAgBt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyq5B,kBAAkB,CAAC/wlB,SAAS,CAAC,SAASt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWm6Y,GAAG,CAACzgF,SAAS,CAAC,WAAW,WAAW,UAAU,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0q5B,gBAAgB,CAAChxlB,SAAS,CAAC,WAAW,WAAW,UAAU,WAAWt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2q5B,cAAc,CAACjxlB,SAAS,CAAC,WAAWt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4q5B,iBAAiB,CAAClxlB,SAAS,CAAC,gBAAgB,WAAW,SAAS,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6q5B,QAAQ,CAACnxlB,SAAS,CAAC,WAAW,UAAU,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8q5B,SAAS,CAACpxlB,SAAS,CAAC,WAAWt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+q5B,eAAe,CAACrxlB,SAAS,CAAC,cAAc,YAAYt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgr5B,iBAAiB,CAACtxlB,SAAS,CAAC,WAAW,SAAS,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWir5B,UAAU,CAACvxlB,SAAS,CAAC,OAAO,gBAAgB,gBAAgB,aAAat4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkr5B,MAAM,CAACxxlB,SAAS,CAAC,OAAO,gBAAgB,SAAS,aAAat4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmr5B,OAAO,CAACzxlB,SAAS,CAAC,gBAAgB,OAAO,SAAS,aAAat4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWor5B,OAAO,CAAC1xlB,SAAS,CAAC,OAAO,SAAS,gBAAgB,aAAat4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqr5B,OAAO,CAAC3xlB,SAAS,CAAC,OAAO,SAAS,gBAAgB,aAAat4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsr5B,IAAI,CAAC5xlB,SAAS,CAAC,OAAO,gBAAgB,SAAS,aAAat4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWur5B,MAAM,CAAC7xlB,SAAS,CAAC,OAAO,SAAS,gBAAgB,aAAat4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwr5B,MAAM,CAAC9xlB,SAAS,CAAC,OAAO,gBAAgB,SAAS,aAAat4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyr5B,SAAS,CAAC/xlB,SAAS,CAAC,OAAO,SAAS,gBAAgB,YAAY,WAAWt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0r5B,YAAY,CAAChylB,SAAS,CAAC,OAAO,SAAS,gBAAgB,aAAat4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2r5B,UAAU,CAACjylB,SAAS,CAAC,OAAO,SAAS,gBAAgB,aAAat4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4r5B,SAAS,CAAClylB,SAAS,CAAC,OAAO,gBAAgB,SAAS,aAAat4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6r5B,OAAO,CAACnylB,SAAS,CAAC,gBAAgB,OAAO,SAAS,aAAat4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWt8C,GAAG,CAACg2W,SAAS,CAAC,gBAAgB,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8r5B,YAAY,CAACpylB,SAAS,CAAC,UAAU,UAAU,aAAat4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+r5B,MAAM,CAACrylB,SAAS,CAAC,QAAQ,WAAW,UAAU,QAAQ,MAAM,eAAet4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgs5B,MAAM,CAACtylB,SAAS,CAAC,MAAM,SAAS,UAAU,QAAQ,eAAet4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWis5B,YAAY,CAACvylB,SAAS,CAAC,UAAU,UAAUt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWks5B,UAAU,CAACxylB,SAAS,CAAC,UAAUt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWms5B,iBAAiB,CAACzylB,SAAS,CAAC,OAAO,gBAAgB,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWos5B,eAAe,CAAC1ylB,SAAS,CAAC,gBAAgB,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqs5B,MAAM,CAAC3ylB,SAAS,CAAC,gBAAgB,UAAU,OAAO,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWss5B,MAAM,CAAC5ylB,SAAS,CAAC,UAAU,UAAU,QAAQ,WAAW,iBAAiBt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWus5B,MAAM,CAAC7ylB,SAAS,CAAC,UAAU,WAAW,QAAQ,iBAAiBt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWws5B,MAAM,CAAC9ylB,SAAS,CAAC,WAAW,gBAAgB,iBAAiBt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWys5B,MAAM,CAAC/ylB,SAAS,CAAC,UAAU,QAAQ,OAAO,WAAW,gBAAgB,SAASt4S,KAAK,kBAAM6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0s5B,yBAAyB,CAAChzlB,SAAS,CAAC,gBAAgB,QAAQ,WAAWt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWozX,GAAG,CAAC15D,SAAS,CAAC,QAAQ,iBAAiBt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW84a,OAAO,CAACp/G,SAAS,CAAC,KAAK,OAAO,UAAU,QAAQ,QAAQ,MAAM,iBAAiBt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2s5B,aAAa,CAACjzlB,SAAS,CAAC,WAAW,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4s5B,oBAAoB,CAAClzlB,SAAS,CAAC,UAAU,QAAQ,SAAS,MAAM,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4onB,OAAO,CAAClvT,SAAS,CAAC,UAAU,UAAU,OAAO,QAAQ,cAAct4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6s5B,gBAAgB,CAACnzlB,SAAS,CAAC,UAAU,QAAQ,WAAW,cAAct4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8s5B,MAAM,CAACpzlB,SAAS,CAAC,WAAW,UAAU,OAAO,QAAQ,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+s5B,MAAM,CAACrzlB,SAAS,CAAC,OAAO,UAAU,WAAW,aAAa,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgt5B,MAAM,CAACtzlB,SAAS,CAAC,QAAQ,WAAW,UAAU,YAAY,QAAQ,aAAa,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW/4D,EAAE,CAACyyX,SAAS,CAAC,aAAa,WAAW,UAAUt4S,KAAK,kBAAM6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW94D,EAAE,CAACwyX,SAAS,CAAC,aAAa,WAAW,UAAUt4S,KAAK,kBAAM6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8wnB,GAAG,CAACp3T,SAAS,CAAC,aAAa,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4nX,GAAG,CAACluD,SAAS,CAAC,WAAW,QAAQ,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0giB,GAAG,CAAChnO,SAAS,CAAC,WAAW,aAAa,UAAUt4S,KAAK,kBAAM6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWit5B,IAAI,CAACvzlB,SAAS,CAAC,OAAO,aAAa,QAAQ,YAAY,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkt5B,SAAS,CAACxzlB,SAAS,CAAC,QAAQ,WAAW,UAAU,MAAM,SAAS,OAAO,UAAUt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmt5B,WAAW,CAACzzlB,SAAS,CAAC,OAAO,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWot5B,cAAc,CAAC1zlB,SAAS,CAAC,SAAS,OAAO,QAAQ,SAAS,WAAW,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWvpD,EAAE,CAACijX,SAAS,CAAC,KAAK,SAAS,SAAS,SAAS,OAAOt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWtB,EAAE,CAACg7T,SAAS,CAAC,SAAS,SAASt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqt5B,UAAU,CAAC3zlB,SAAS,CAAC,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWst5B,MAAM,CAAC5zlB,SAAS,CAAC,QAAQ,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWut5B,WAAW,CAAC7zlB,SAAS,CAAC,OAAO,OAAO,SAASt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwt5B,eAAe,CAAC9zlB,SAAS,CAAC,QAAQ,WAAW,UAAU,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyt5B,cAAc,CAAC/zlB,SAAS,CAAC,QAAQ,MAAM,UAAU,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0t5B,YAAY,CAACh0lB,SAAS,CAAC,UAAU,aAAa,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW,oBAAoB,CAAC05T,SAAS,CAAC,QAAQ,SAAS,MAAM,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2t5B,SAAS,CAACj0lB,SAAS,CAAC,KAAK,QAAQ,MAAM,QAAQ,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4t5B,iBAAiB,CAACl0lB,SAAS,CAAC,SAAS,OAAO,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6t5B,YAAY,CAACn0lB,SAAS,CAAC,yBAAyB,SAAS,WAAW,cAAc,MAAM,WAAWt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8t5B,iBAAiB,CAACp0lB,SAAS,CAAC,WAAW,cAAc,OAAO,MAAM,WAAWt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+t5B,SAAS,CAACr0lB,SAAS,CAAC,QAAQ,YAAYt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgu5B,cAAc,CAACt0lB,SAAS,CAAC,SAAS,OAAO,MAAM,YAAYt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWiu5B,SAAS,CAACv0lB,SAAS,CAAC,cAAc,YAAYt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWku5B,YAAY,CAACx0lB,SAAS,CAAC,MAAM,cAAc,YAAYt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW,IAAI,CAAC05T,SAAS,CAAC,QAAQ,UAAU,UAAU,UAAU,OAAO,OAAO,OAAO,OAAO,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmu5B,eAAe,CAACz0lB,SAAS,CAAC,MAAM,YAAY,OAAO,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWou5B,gBAAgB,CAAC10lB,SAAS,CAAC,MAAM,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqu5B,QAAQ,CAAC30lB,SAAS,CAAC,SAAS,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsu5B,aAAa,CAAC50lB,SAAS,CAAC,aAAa,SAASt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWuu5B,sBAAsB,CAAC70lB,SAAS,CAAC,QAAQ,eAAe,QAAQ,WAAW,YAAY,OAAOt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWg9L,QAAQ,CAAC08H,SAAS,CAAC,cAAc,MAAM,QAAQ,QAAQ,UAAU,SAASt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwu5B,kBAAkB,CAAC90lB,SAAS,CAAC,SAAS,UAAU,SAAS,OAAO,UAAU,kBAAkBt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyu5B,SAAS,CAAC/0lB,SAAS,CAAC,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0u5B,QAAQ,CAACh1lB,SAAS,CAAC,QAAQ,cAAc,UAAU,SAASt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2u5B,MAAM,CAACj1lB,SAAS,CAAC,UAAU,QAAQ,eAAe,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4u5B,MAAM,CAACl1lB,SAAS,CAAC,eAAe,QAAQ,eAAe,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6u5B,QAAQ,CAACn1lB,SAAS,CAAC,QAAQ,eAAe,UAAU,OAAO,aAAat4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8u5B,sBAAsB,CAACp1lB,SAAS,CAAC,OAAO,UAAU,gBAAgBt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+u5B,4BAA4B,CAACr1lB,SAAS,CAAC,IAAI,eAAe,KAAK,QAAQt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgv5B,iBAAiB,CAACt1lB,SAAS,CAAC,eAAe,KAAK,QAAQ,OAAO,WAAW,SAAS,QAAQt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWiv5B,gCAAgC,CAACv1lB,SAAS,CAAC,QAAQ,OAAO,MAAM,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkv5B,QAAQ,CAACx1lB,SAAS,CAAC,UAAU,QAAQ,OAAO,QAAQ,SAAS,SAAS,YAAY,OAAO,UAAU,YAAY,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWw/N,KAAK,CAACk6F,SAAS,CAAC,OAAO,YAAYt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmv5B,qBAAqB,CAACz1lB,SAAS,CAAC,QAAQ,gBAAgB,QAAQ,WAAW,WAAW,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW/R,EAAE,CAACyrU,SAAS,CAAC,WAAW,cAAc,UAAUt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWov5B,IAAI,CAAC11lB,SAAS,CAAC,QAAQ,QAAQ,OAAO,cAAc,UAAU,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2jW,GAAG,CAACjqC,SAAS,CAAC,WAAW,cAAc,YAAYt4S,KAAK,kBAAM6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqv5B,iBAAiB,CAAC31lB,SAAS,CAAC,SAAS,eAAet4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsv5B,QAAQ,CAAC51lB,SAAS,CAAC,WAAW,SAAS,eAAet4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWuv5B,cAAc,CAAC71lB,SAAS,CAAC,cAAc,UAAU,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwv5B,aAAa,CAAC91lB,SAAS,CAAC,cAAc,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyv5B,WAAW,CAAC/1lB,SAAS,CAAC,cAAc,WAAW,OAAO,iBAAiBt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0v5B,WAAW,CAACh2lB,SAAS,CAAC,YAAY,cAAc,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkzX,GAAG,CAACx5D,SAAS,CAAC,SAAS,WAAW,eAAet4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2v5B,QAAQ,CAACj2lB,SAAS,CAAC,OAAO,cAAc,WAAW,UAAUt4S,KAAK,kBAAM6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4v5B,cAAc,CAACl2lB,SAAS,CAAC,cAAc,SAAS,WAAW,WAAW,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6v5B,KAAK,CAACn2lB,SAAS,CAAC,SAAS,WAAW,KAAK,cAAc,SAAS,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8v5B,OAAO,CAACp2lB,SAAS,CAAC,gBAAgB,QAAQ,SAAS,SAAS,MAAM,WAAW,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+v5B,YAAY,CAACr2lB,SAAS,CAAC,gBAAgB,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgw5B,SAAS,CAACt2lB,SAAS,CAAC,cAAc,SAAS,UAAU,KAAK,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWiw5B,wBAAwB,CAACv2lB,SAAS,CAAC,cAAc,OAAO,QAAQ,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkw5B,OAAO,CAACx2lB,SAAS,CAAC,cAAc,SAAS,OAAO,QAAQ,UAAU,QAAQ,WAAWt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmw5B,gBAAgB,CAACz2lB,SAAS,CAAC,cAAc,YAAY,QAAQ,WAAW,aAAa,OAAO,YAAY,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWow5B,KAAK,CAAC12lB,SAAS,CAAC,cAAc,OAAO,WAAW,WAAW,eAAet4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwmZ,GAAG,CAAC9sF,SAAS,CAAC,cAAc,QAAQ,QAAQ,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWtW,GAAG,CAACgwU,SAAS,CAAC,OAAO,QAAQ,MAAM,eAAet4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWjiD,GAAG,CAAC27W,SAAS,CAAC,cAAc,QAAQ,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqw5B,KAAK,CAAC32lB,SAAS,CAAC,QAAQ,eAAet4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsw5B,IAAI,CAAC52lB,SAAS,CAAC,cAAc,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0/P,KAAK,CAACg6D,SAAS,CAAC,cAAc,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwrmB,KAAK,CAAC9xS,SAAS,CAAC,IAAI,UAAU,cAAc,QAAQt4S,KAAK,gBAAM6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWq+Y,IAAI,CAAC3kF,SAAS,CAAC,cAAc,UAAU,KAAKt4S,KAAK,gBAAM6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyrmB,IAAI,CAAC/xS,SAAS,CAAC,UAAU,IAAI,QAAQ,eAAet4S,KAAK,gBAAM6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0rmB,MAAM,CAAChyS,SAAS,CAAC,IAAI,UAAU,QAAQ,eAAet4S,KAAK,gBAAM6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2rmB,KAAK,CAACjyS,SAAS,CAAC,IAAI,UAAU,eAAet4S,KAAK,gBAAM6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4rmB,KAAK,CAAClyS,SAAS,CAAC,IAAI,UAAU,cAAc,SAASt4S,KAAK,gBAAM6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6rmB,IAAI,CAACnyS,SAAS,CAAC,IAAI,UAAU,eAAet4S,KAAK,gBAAM6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8rmB,MAAM,CAACpyS,SAAS,CAAC,IAAI,UAAU,cAAc,SAASt4S,KAAK,gBAAM6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+rmB,MAAM,CAACryS,SAAS,CAAC,IAAI,cAAc,WAAWt4S,KAAK,gBAAM6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgsmB,KAAK,CAACtyS,SAAS,CAAC,cAAc,UAAU,KAAKt4S,KAAK,gBAAM6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWuw5B,WAAW,CAAC72lB,SAAS,CAAC,UAAU,KAAK,eAAet4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWww5B,SAAS,CAAC92lB,SAAS,CAAC,OAAO,UAAUt4S,KAAK,UAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW,KAAK,CAAC05T,SAAS,CAAC,UAAU,eAAet4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyw5B,aAAa,CAAC/2lB,SAAS,CAAC,eAAet4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0w5B,cAAc,CAACh3lB,SAAS,CAAC,cAAc,QAAQ,YAAY,QAAQt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2w5B,aAAa,CAACj3lB,SAAS,CAAC,QAAQ,eAAet4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4w5B,kBAAkB,CAACl3lB,SAAS,CAAC,UAAU,OAAO,eAAet4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6w5B,YAAY,CAACn3lB,SAAS,CAAC,eAAet4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8w5B,cAAc,CAACp3lB,SAAS,CAAC,eAAet4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+w5B,qBAAqB,CAACr3lB,SAAS,CAAC,cAAc,OAAO,SAASt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgx5B,sBAAsB,CAACt3lB,SAAS,CAAC,YAAYt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWix5B,aAAa,CAACv3lB,SAAS,CAAC,cAAc,OAAO,QAAQ,YAAYt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkx5B,OAAO,CAACx3lB,SAAS,CAAC,OAAO,eAAet4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmx5B,0BAA0B,CAACz3lB,SAAS,CAAC,cAAc,UAAU,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWuhB,OAAO,CAACm4S,SAAS,CAAC,OAAO,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWox5B,WAAW,CAAC13lB,SAAS,CAAC,cAAc,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqx5B,eAAe,CAAC33lB,SAAS,CAAC,cAAc,OAAO,aAAat4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsx5B,eAAe,CAAC53lB,SAAS,CAAC,cAAc,WAAW,YAAY,QAAQ,UAAU,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWux5B,iBAAiB,CAAC73lB,SAAS,CAAC,cAAc,YAAY,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwx5B,gBAAgB,CAAC93lB,SAAS,CAAC,cAAc,YAAY,OAAOt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyx5B,kBAAkB,CAAC/3lB,SAAS,CAAC,cAAc,YAAY,UAAUt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0x5B,YAAY,CAACh4lB,SAAS,CAAC,cAAc,QAAQt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2x5B,WAAW,CAACj4lB,SAAS,CAAC,cAAc,WAAW,QAAQt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4x5B,SAAS,CAACl4lB,SAAS,CAAC,cAAc,WAAW,MAAM,aAAat4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6x5B,WAAW,CAACn4lB,SAAS,CAAC,cAAc,YAAY,UAAUt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8x5B,kBAAkB,CAACp4lB,SAAS,CAAC,cAAc,QAAQ,YAAY,WAAW,aAAat4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+x5B,kBAAkB,CAACr4lB,SAAS,CAAC,cAAc,YAAY,WAAW,aAAat4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgy5B,iBAAiB,CAACt4lB,SAAS,CAAC,cAAc,YAAY,WAAW,aAAat4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWiy5B,iBAAiB,CAACv4lB,SAAS,CAAC,cAAc,QAAQ,YAAY,WAAW,aAAat4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWky5B,cAAc,CAACx4lB,SAAS,CAAC,cAAc,YAAY,MAAM,YAAYt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmy5B,iBAAiB,CAACz4lB,SAAS,CAAC,QAAQ,YAAY,aAAa,YAAYt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWoy5B,wBAAwB,CAAC14lB,SAAS,CAAC,cAAc,OAAO,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqy5B,iBAAiB,CAAC34lB,SAAS,CAAC,cAAc,SAAS,SAAS,aAAat4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsy5B,0BAA0B,CAAC54lB,SAAS,CAAC,OAAO,SAAS,cAAc,OAAO,SAASt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWuy5B,iBAAiB,CAAC74lB,SAAS,CAAC,cAAc,YAAY,OAAOt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwy5B,mBAAmB,CAAC94lB,SAAS,CAAC,cAAc,YAAY,UAAUt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgoB,KAAK,CAAC0xS,SAAS,CAAC,SAAS,cAAc,WAAWt4S,KAAK,gBAAM6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyy5B,mBAAmB,CAAC/4lB,SAAS,CAAC,cAAc,WAAW,UAAUt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0y5B,IAAI,CAACh5lB,SAAS,CAAC,cAAc,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2y5B,KAAK,CAACj5lB,SAAS,CAAC,cAAc,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4y5B,aAAa,CAACl5lB,SAAS,CAAC,WAAW,QAAQ,eAAet4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW9hB,QAAQ,CAACw7U,SAAS,CAAC,cAAc,QAAQ,OAAO,YAAY,UAAU,SAAS,cAAct4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6y5B,aAAa,CAACn5lB,SAAS,CAAC,QAAQ,OAAO,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8y5B,MAAM,CAACp5lB,SAAS,CAAC,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+y5B,UAAU,CAACr5lB,SAAS,CAAC,OAAO,OAAO,YAAY,WAAW,WAAW,YAAYt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWgz5B,WAAW,CAACt5lB,SAAS,CAAC,WAAW,OAAO,QAAQ,YAAYt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWiz5B,iBAAiB,CAACv5lB,SAAS,CAAC,KAAK,OAAO,SAAS,MAAM,QAAQt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWkz5B,iBAAiB,CAACx5lB,SAAS,CAAC,OAAO,QAAQ,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmz5B,gBAAgB,CAACz5lB,SAAS,CAAC,OAAO,cAAc,WAAW,OAAO,YAAYt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWoz5B,iBAAiB,CAAC15lB,SAAS,CAAC,OAAO,cAAc,WAAW,QAAQt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWqz5B,oBAAoB,CAAC35lB,SAAS,CAAC,SAAS,OAAO,eAAet4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWsz5B,uBAAuB,CAAC55lB,SAAS,CAAC,OAAO,eAAet4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWuz5B,SAAS,CAAC75lB,SAAS,CAAC,WAAWt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWwz5B,kBAAkB,CAAC95lB,SAAS,CAAC,QAAQ,QAAQ,UAAU,WAAW,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWyz5B,kBAAkB,CAAC/5lB,SAAS,CAAC,QAAQ,QAAQ,SAAS,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWzrB,UAAU,CAACmlV,SAAS,CAAC,KAAK,UAAU,SAAS,MAAM,SAASt4S,KAAK,aAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWmsK,WAAW,CAACutJ,SAAS,CAAC,WAAW,UAAUt4S,KAAK,aAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2mhB,GAAG,CAACjtN,SAAS,CAAC,YAAY,QAAQ,MAAM,SAASt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW/pD,IAAI,CAACyjX,SAAS,CAAC,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW89mB,KAAK,CAACpkT,SAAS,CAAC,QAAQ,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2a,GAAG,CAAC++S,SAAS,CAAC,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWniD,IAAI,CAAC67W,SAAS,CAAC,QAAQ,eAAet4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW0z5B,KAAK,CAACh6lB,SAAS,CAAC,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW2z5B,sBAAsB,CAACj6lB,SAAS,CAAC,KAAK,QAAQ,UAAU,eAAe,OAAO,WAAW,MAAM,QAAQt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW4z5B,aAAa,CAACl6lB,SAAS,CAAC,QAAQ,MAAM,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW6z5B,aAAa,CAACn6lB,SAAS,CAAC,QAAQ,SAASt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW8z5B,aAAa,CAACp6lB,SAAS,CAAC,QAAQ,SAAS,SAASt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+z5B,WAAW,CAACr6lB,SAAS,CAAC,QAAQ,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWg05B,kBAAkB,CAACt6lB,SAAS,CAAC,QAAQ,OAAO,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWi05B,qBAAqB,CAACv6lB,SAAS,CAAC,QAAQ,QAAQ,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWk05B,mBAAmB,CAACx6lB,SAAS,CAAC,QAAQ,QAAQ,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWm05B,qBAAqB,CAACz6lB,SAAS,CAAC,QAAQ,QAAQ,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWo05B,mBAAmB,CAAC16lB,SAAS,CAAC,QAAQ,QAAQ,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWq05B,mBAAmB,CAAC36lB,SAAS,CAAC,QAAQ,YAAY,KAAK,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWs05B,mBAAmB,CAAC56lB,SAAS,CAAC,QAAQ,QAAQt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWu05B,mBAAmB,CAAC76lB,SAAS,CAAC,QAAQ,QAAQt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWw05B,mBAAmB,CAAC96lB,SAAS,CAAC,QAAQ,OAAO,UAAUt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWy05B,mBAAmB,CAAC/6lB,SAAS,CAAC,QAAQ,OAAO,QAAQ,UAAUt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW005B,wBAAwB,CAACh7lB,SAAS,CAAC,QAAQ,YAAY,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW205B,oBAAoB,CAACj7lB,SAAS,CAAC,QAAQ,SAAS,QAAQt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW405B,oBAAoB,CAACl7lB,SAAS,CAAC,QAAQ,QAAQ,QAAQt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW605B,0BAA0B,CAACn7lB,SAAS,CAAC,OAAO,QAAQ,UAAUt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW805B,0BAA0B,CAACp7lB,SAAS,CAAC,QAAQ,QAAQ,OAAO,UAAUt4S,KAAK,SAAI6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+05B,oBAAoB,CAACr7lB,SAAS,CAAC,QAAQ,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWg15B,oBAAoB,CAACt7lB,SAAS,CAAC,QAAQ,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWi15B,QAAQ,CAACv7lB,SAAS,CAAC,QAAQ,SAAS,UAAU,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWk15B,MAAM,CAACx7lB,SAAS,CAAC,SAAS,UAAU,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWm15B,WAAW,CAACz7lB,SAAS,CAAC,SAAS,QAAQ,QAAQ,UAAU,aAAat4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW07gB,KAAK,CAAChiN,SAAS,CAAC,QAAQ,SAAS,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWo15B,KAAK,CAAC17lB,SAAS,CAAC,QAAQ,UAAU,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWq15B,YAAY,CAAC37lB,SAAS,CAAC,SAAS,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWs15B,KAAK,CAAC57lB,SAAS,CAAC,QAAQ,eAAe,YAAY,OAAO,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWu15B,QAAQ,CAAC77lB,SAAS,CAAC,QAAQ,SAAS,OAAO,QAAQ,UAAUt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWw15B,YAAY,CAAC97lB,SAAS,CAAC,QAAQ,QAAQ,OAAO,OAAO,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWy15B,QAAQ,CAAC/7lB,SAAS,CAAC,OAAO,OAAO,UAAU,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW015B,OAAO,CAACh8lB,SAAS,CAAC,QAAQ,QAAQ,QAAQ,SAASt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW215B,MAAM,CAACj8lB,SAAS,CAAC,QAAQ,QAAQ,QAAQ,SAASt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW415B,OAAO,CAACl8lB,SAAS,CAAC,QAAQ,QAAQ,QAAQ,SAASt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW615B,SAAS,CAACn8lB,SAAS,CAAC,QAAQ,QAAQ,QAAQ,SAASt4S,KAAK,eAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW815B,qBAAqB,CAACp8lB,SAAS,CAAC,OAAO,SAAS,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+15B,gBAAgB,CAACr8lB,SAAS,CAAC,SAAS,QAAQ,SAAS,WAAW,SAASt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWg25B,mBAAmB,CAACt8lB,SAAS,CAAC,UAAU,SAAS,WAAW,OAAOt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWi25B,eAAe,CAACv8lB,SAAS,CAAC,SAAS,QAAQ,UAAU,OAAO,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWk25B,mBAAmB,CAACx8lB,SAAS,CAAC,QAAQ,UAAU,OAAO,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWm25B,OAAO,CAACz8lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWo25B,OAAO,CAAC18lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWq25B,OAAO,CAAC38lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWs25B,OAAO,CAAC58lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWu25B,OAAO,CAAC78lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWw25B,OAAO,CAAC98lB,SAAS,CAAC,OAAO,OAAO,QAAQ,WAAW,OAAO,QAAQt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWy25B,OAAO,CAAC/8lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW025B,OAAO,CAACh9lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW225B,OAAO,CAACj9lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW425B,QAAQ,CAACl9lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW625B,QAAQ,CAACn9lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW825B,QAAQ,CAACp9lB,SAAS,CAAC,OAAO,OAAO,WAAW,SAAS,OAAO,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW+25B,SAAS,CAACr9lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWg35B,SAAS,CAACt9lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWi35B,SAAS,CAACv9lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWk35B,SAAS,CAACx9lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWm35B,SAAS,CAACz9lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWo35B,SAAS,CAAC19lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWq35B,SAAS,CAAC39lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWs35B,SAAS,CAAC59lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWu35B,SAAS,CAAC79lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWw35B,UAAU,CAAC99lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAWy35B,UAAU,CAAC/9lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW035B,UAAU,CAACh+lB,SAAS,CAAC,OAAO,OAAO,QAAQ,YAAYt4S,KAAK,YAAK6p2B,mBAAkB,EAAMjr3B,SAAS,WAAW235B,YAAY,CAACj+lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS435B,cAAc,CAACl+lB,SAAS,CAAC,WAAQ,UAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS635B,QAAQ,CAACn+lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS835B,QAAQ,CAACp+lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS+35B,eAAe,CAACr+lB,SAAS,CAAC,WAAW,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASg45B,QAAQ,CAACt+lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASi45B,OAAO,CAACv+lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASk45B,SAAS,CAACx+lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASm45B,WAAW,CAACz+lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASo45B,gBAAgB,CAAC1+lB,SAAS,CAAC,UAAU,UAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASq45B,UAAU,CAAC3+lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASs45B,QAAQ,CAAC5+lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASu45B,MAAM,CAAC7+lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASw45B,UAAU,CAAC9+lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASy45B,QAAQ,CAAC/+lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS045B,WAAW,CAACh/lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS245B,QAAQ,CAACj/lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS445B,QAAQ,CAACl/lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS645B,WAAW,CAACn/lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS845B,SAAS,CAACp/lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS+45B,QAAQ,CAACr/lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASg55B,QAAQ,CAACt/lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASi55B,OAAO,CAACv/lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASk55B,MAAM,CAACx/lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASm55B,QAAQ,CAACz/lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASo55B,OAAO,CAAC1/lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASq55B,QAAQ,CAAC3/lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASs55B,sBAAsB,CAAC5/lB,SAAS,CAAC,UAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASu55B,mBAAmB,CAAC7/lB,SAAS,CAAC,SAAS,cAAc,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASw55B,SAAS,CAAC9/lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASy55B,OAAO,CAAC//lB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS055B,+BAA+B,CAAChgmB,SAAS,CAAC,UAAU,SAAS,QAAQ,YAAY,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS255B,uBAAuB,CAACjgmB,SAAS,CAAC,UAAU,SAAS,UAAU,MAAM,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS455B,OAAO,CAAClgmB,SAAS,CAAC,KAAK,aAAa,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS655B,SAAS,CAACngmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS855B,aAAa,CAACpgmB,SAAS,CAAC,UAAU,OAAO,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS+55B,QAAQ,CAACrgmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASg65B,WAAW,CAACtgmB,SAAS,CAAC,OAAO,QAAQ,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASi65B,SAAS,CAACvgmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASk65B,SAAS,CAACxgmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASm65B,OAAO,CAACzgmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASo65B,eAAe,CAAC1gmB,SAAS,CAAC,SAAS,UAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASq65B,eAAe,CAAC3gmB,SAAS,CAAC,SAAS,UAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASs65B,yBAAyB,CAAC5gmB,SAAS,CAAC,UAAU,UAAU,WAAW,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASu65B,KAAK,CAAC7gmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASw65B,MAAM,CAAC9gmB,SAAS,CAAC,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASusT,GAAG,CAACmN,SAAS,CAAC,QAAQ,UAAU,MAAM,OAAO,UAAU,SAAS,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASy65B,iBAAiB,CAAC/gmB,SAAS,CAAC,YAAY,SAAS,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS065B,cAAc,CAAChhmB,SAAS,CAAC,QAAQ,UAAU,UAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS265B,SAAS,CAACjhmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS465B,QAAQ,CAAClhmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS665B,kBAAkB,CAACnhmB,SAAS,CAAC,QAAQ,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS865B,eAAe,CAACphmB,SAAS,CAAC,QAAQ,aAAa,WAAW,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS+65B,aAAa,CAACrhmB,SAAS,CAAC,OAAO,UAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASg75B,WAAW,CAACthmB,SAAS,CAAC,QAAQ,OAAO,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASi75B,QAAQ,CAACvhmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASk75B,KAAK,CAACxhmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASm75B,QAAQ,CAACzhmB,SAAS,CAAC,aAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASo75B,OAAO,CAAC1hmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASq75B,eAAe,CAAC3hmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASs75B,QAAQ,CAAC5hmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASu75B,SAAS,CAAC7hmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASw75B,SAAS,CAAC9hmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASy75B,mBAAmB,CAAC/hmB,SAAS,CAAC,YAAY,WAAW,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS075B,QAAQ,CAAChimB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS275B,MAAM,CAACjimB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS475B,YAAY,CAAClimB,SAAS,CAAC,KAAK,WAAW,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS675B,kBAAkB,CAACnimB,SAAS,CAAC,aAAa,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS875B,QAAQ,CAACpimB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS+75B,QAAQ,CAACrimB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASg85B,SAAS,CAACtimB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASqtX,GAAG,CAAC3zD,SAAS,CAAC,WAAW,QAAQ,OAAO,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASi85B,iBAAiB,CAACvimB,SAAS,CAAC,WAAW,UAAU,WAAW,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASk85B,cAAc,CAACximB,SAAS,CAAC,QAAQ,UAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASm85B,KAAK,CAACzimB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASo85B,QAAQ,CAAC1imB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS25V,GAAG,CAACjgC,SAAS,CAAC,SAAS,OAAO,SAAS,SAAS,SAAS,WAAWt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASq85B,cAAc,CAAC3imB,SAAS,CAAC,SAAS,SAAS,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASs85B,iBAAiB,CAAC5imB,SAAS,CAAC,SAAS,YAAY,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASu85B,4BAA4B,CAAC7imB,SAAS,CAAC,SAAS,WAAW,cAAc,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASw85B,MAAM,CAAC9imB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASy85B,OAAO,CAAC/imB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS085B,QAAQ,CAAChjmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS6vV,GAAG,CAACn2B,SAAS,CAAC,SAAS,SAAS,OAAO,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS285B,MAAM,CAACjjmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS485B,UAAU,CAACljmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS685B,OAAO,CAACnjmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS885B,UAAU,CAACpjmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS+85B,QAAQ,CAACrjmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASg95B,WAAW,CAACtjmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASi95B,KAAK,CAACvjmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASk95B,UAAU,CAACxjmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASm95B,SAAS,CAACzjmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASo95B,OAAO,CAAC1jmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASq95B,cAAc,CAAC3jmB,SAAS,CAAC,KAAK,SAAS,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASs95B,OAAO,CAAC5jmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASu95B,MAAM,CAAC7jmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASw95B,SAAS,CAAC9jmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASy95B,UAAU,CAAC/jmB,SAAS,CAAC,OAAO,OAAO,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS095B,QAAQ,CAAChkmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS295B,QAAQ,CAACjkmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS495B,MAAM,CAAClkmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS695B,UAAU,CAACnkmB,SAAS,CAAC,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS895B,KAAK,CAACpkmB,SAAS,CAAC,QAAQ,UAAU,WAAW,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS+95B,KAAK,CAACrkmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASg+5B,QAAQ,CAACtkmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASi+5B,YAAY,CAACvkmB,SAAS,CAAC,OAAO,MAAM,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASk+5B,OAAO,CAACxkmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASltB,GAAG,CAAC4mV,SAAS,CAAC,QAAQ,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASm+5B,aAAa,CAACzkmB,SAAS,CAAC,QAAQ,QAAQ,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASo+5B,QAAQ,CAAC1kmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS+1Y,GAAG,CAACr8E,SAAS,CAAC,WAAW,SAAS,OAAO,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASq+5B,OAAO,CAAC3kmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASs+5B,OAAO,CAAC5kmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASu+5B,WAAW,CAAC7kmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASw+5B,MAAM,CAAC9kmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASy+5B,SAAS,CAAC/kmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS0+5B,OAAO,CAAChlmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS2+5B,OAAO,CAACjlmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS4+5B,WAAW,CAACllmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS6+5B,KAAK,CAACnlmB,SAAS,CAAC,MAAM,aAAa,WAAW,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS8+5B,OAAO,CAACplmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS++5B,QAAQ,CAACrlmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASg/5B,QAAQ,CAACtlmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASi/5B,QAAQ,CAACvlmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASk/5B,MAAM,CAACxlmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASm/5B,cAAc,CAACzlmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASo/5B,UAAU,CAAC1lmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASq/5B,WAAW,CAAC3lmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASs/5B,MAAM,CAAC5lmB,SAAS,CAAC,QAAQ,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASu/5B,UAAU,CAAC7lmB,SAAS,CAAC,aAAa,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASw/5B,WAAW,CAAC9lmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASy/5B,OAAO,CAAC/lmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS0/5B,SAAS,CAAChmmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS2/5B,SAAS,CAACjmmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS4/5B,KAAK,CAAClmmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS6/5B,MAAM,CAACnmmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS8/5B,iBAAiB,CAACpmmB,SAAS,CAAC,WAAW,UAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS+/5B,WAAW,CAACrmmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASgg6B,WAAW,CAACtmmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASig6B,UAAU,CAACvmmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASkg6B,QAAQ,CAACxmmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASmg6B,OAAO,CAACzmmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASog6B,WAAW,CAAC1mmB,SAAS,CAAC,cAAc,YAAY,SAAS,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASqg6B,QAAQ,CAAC3mmB,SAAS,CAAC,WAAW,WAAW,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASsg6B,OAAO,CAAC5mmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASug6B,SAAS,CAAC7mmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASwg6B,WAAW,CAAC9mmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASyg6B,WAAW,CAAC/mmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS0g6B,QAAQ,CAAChnmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS2g6B,WAAW,CAACjnmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS4g6B,QAAQ,CAAClnmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS6g6B,QAAQ,CAACnnmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS8g6B,MAAM,CAACpnmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS+g6B,MAAM,CAACrnmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASgh6B,YAAY,CAACtnmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASih6B,cAAc,CAACvnmB,SAAS,CAAC,MAAM,YAAY,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASkh6B,YAAY,CAACxnmB,SAAS,CAAC,MAAM,UAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASmh6B,UAAU,CAACznmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASoh6B,MAAM,CAAC1nmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASqh6B,QAAQ,CAAC3nmB,SAAS,CAAC,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASsh6B,KAAK,CAAC5nmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASuh6B,eAAe,CAAC7nmB,SAAS,CAAC,UAAU,SAAS,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASwh6B,yBAAyB,CAAC9nmB,SAAS,CAAC,WAAW,UAAU,UAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASyh6B,YAAY,CAAC/nmB,SAAS,CAAC,QAAQ,QAAQ,SAAS,OAAO,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS0h6B,OAAO,CAAChomB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS2h6B,KAAK,CAACjomB,SAAS,CAAC,YAAY,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS4h6B,SAAS,CAAClomB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS6h6B,MAAM,CAACnomB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS8h6B,wBAAwB,CAACpomB,SAAS,CAAC,YAAY,cAAc,cAAc,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS+h6B,OAAO,CAACromB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASgi6B,iBAAiB,CAACtomB,SAAS,CAAC,QAAQ,MAAM,SAAS,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASii6B,SAAS,CAACvomB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS++W,KAAK,CAACrlD,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASki6B,YAAY,CAACxomB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASmi6B,iBAAiB,CAACzomB,SAAS,CAAC,WAAW,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASoi6B,OAAO,CAAC1omB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASqi6B,SAAS,CAAC3omB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASsi6B,YAAY,CAAC5omB,SAAS,CAAC,SAAS,OAAO,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASui6B,MAAM,CAAC7omB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASwi6B,QAAQ,CAAC9omB,SAAS,CAAC,aAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASyi6B,QAAQ,CAAC/omB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASmnW,GAAG,CAACztC,SAAS,CAAC,UAAU,aAAa,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS0i6B,OAAO,CAAChpmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS2i6B,cAAc,CAACjpmB,SAAS,CAAC,QAAQ,gBAAa,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS4i6B,UAAU,CAAClpmB,SAAS,CAAC,QAAQ,SAAS,YAAY,UAAU,QAAQ,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS6i6B,eAAe,CAACnpmB,SAAS,CAAC,QAAQ,QAAQ,QAAQ,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS8i6B,SAAS,CAACppmB,SAAS,CAAC,QAAQ,QAAQ,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS+i6B,mBAAmB,CAACrpmB,SAAS,CAAC,QAAQ,SAAS,WAAW,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASgj6B,sBAAsB,CAACtpmB,SAAS,CAAC,QAAQ,UAAU,aAAa,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASij6B,MAAM,CAACvpmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASkj6B,WAAW,CAACxpmB,SAAS,CAAC,MAAM,SAAS,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASmj6B,kBAAkB,CAACzpmB,SAAS,CAAC,MAAM,OAAO,WAAW,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASoj6B,aAAa,CAAC1pmB,SAAS,CAAC,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASqj6B,QAAQ,CAAC3pmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASsj6B,OAAO,CAAC5pmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASuj6B,WAAW,CAAC7pmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASwj6B,aAAa,CAAC9pmB,SAAS,CAAC,SAAS,QAAQ,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASyj6B,UAAU,CAAC/pmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS0j6B,aAAa,CAAChqmB,SAAS,CAAC,OAAO,UAAU,QAAQ,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS2j6B,SAAS,CAACjqmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS4j6B,SAAS,CAAClqmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS6j6B,gBAAgB,CAACnqmB,SAAS,CAAC,UAAU,UAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS8j6B,QAAQ,CAACpqmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS+j6B,aAAa,CAACrqmB,SAAS,CAAC,QAAQ,SAAS,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASgk6B,qCAAqC,CAACtqmB,SAAS,CAAC,QAAQ,UAAU,WAAW,UAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASg7V,GAAG,CAACthC,SAAS,CAAC,QAAQ,QAAQ,SAAS,OAAO,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASik6B,YAAY,CAACvqmB,SAAS,CAAC,QAAQ,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASmyX,GAAG,CAACz4D,SAAS,CAAC,QAAQ,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASkk6B,UAAU,CAACxqmB,SAAS,CAAC,MAAM,QAAQ,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASmk6B,MAAM,CAACzqmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASok6B,SAAS,CAAC1qmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASqk6B,UAAU,CAAC3qmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASsk6B,OAAO,CAAC5qmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASuk6B,YAAY,CAAC7qmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASwk6B,MAAM,CAAC9qmB,SAAS,CAAC,SAAS,OAAO,WAAW,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASyk6B,OAAO,CAAC/qmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS0k6B,WAAW,CAAChrmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS2k6B,SAAS,CAACjrmB,SAAS,CAAC,YAAY,SAAS,WAAW,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS4k6B,SAAS,CAAClrmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS6k6B,YAAY,CAACnrmB,SAAS,CAAC,QAAQ,QAAQ,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS8k6B,KAAK,CAACprmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS+k6B,QAAQ,CAACrrmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASgl6B,MAAM,CAACtrmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASil6B,gBAAgB,CAACvrmB,SAAS,CAAC,WAAW,SAAS,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASkl6B,QAAQ,CAACxrmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS+4V,GAAG,CAACr/B,SAAS,CAAC,SAAS,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASml6B,aAAa,CAACzrmB,SAAS,CAAC,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASol6B,qBAAqB,CAAC1rmB,SAAS,CAAC,QAAQ,SAAS,UAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASql6B,OAAO,CAAC3rmB,SAAS,CAAC,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASsl6B,OAAO,CAAC5rmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASul6B,QAAQ,CAAC7rmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASwl6B,qBAAqB,CAAC9rmB,SAAS,CAAC,SAAS,OAAO,WAAW,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS83sB,GAAG,CAACp+Y,SAAS,CAAC,SAAS,UAAU,QAAQ,UAAU,WAAW,UAAU,OAAO,SAAS,UAAU,SAAS,UAAU,KAAK,UAAU,UAAU,cAAct4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASyl6B,QAAQ,CAAC/rmB,SAAS,CAAC,OAAO,WAAWt4S,KAAK,kEAAiB6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS0l6B,SAAS,CAAChsmB,SAAS,CAAC,OAAO,YAAYt4S,KAAK,kEAAiB6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS2l6B,MAAM,CAACjsmB,SAAS,CAAC,OAAO,SAASt4S,KAAK,kEAAiB6p2B,mBAAkB,EAAMjr3B,SAAS,SAASwnW,GAAG,CAAC9tC,SAAS,CAAC,SAAS,SAAS,UAAU,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS4l6B,kBAAkB,CAAClsmB,SAAS,CAAC,SAAS,UAAU,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS6l6B,QAAQ,CAACnsmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS8l6B,WAAW,CAACpsmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAAS+l6B,QAAQ,CAACrsmB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASgm6B,aAAa,CAACtsmB,SAAS,CAAC,UAAU,OAAO,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASim6B,UAAU,CAACvsmB,SAAS,CAAC,KAAK,aAAa,WAAW,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASkm6B,QAAQ,CAACxsmB,SAAS,CAAC,OAAO,MAAM,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASmm6B,cAAc,CAACzsmB,SAAS,CAAC,SAAS,SAAS,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASom6B,eAAe,CAAC1smB,SAAS,CAAC,UAAU,SAAS,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASqm6B,MAAM,CAAC3smB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASsm6B,OAAO,CAAC5smB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASum6B,SAAS,CAAC7smB,SAAS,CAAC,KAAK,OAAO,SAAS,UAAU,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASwm6B,eAAe,CAAC9smB,SAAS,CAAC,KAAK,OAAO,UAAUt4S,KAAK,qBAAO6p2B,mBAAkB,EAAMjr3B,SAAS,SAASym6B,YAAY,CAAC/smB,SAAS,CAAC,QAAQ,aAAa,OAAO,UAAUt4S,KAAK,8BAAQ6p2B,mBAAkB,EAAMjr3B,SAAS,WAI1g8jB,WAGI,IAAMm/uB,EAAO,SAAA3rkB,GACX,IAAIxyO,EAAQwyO,EAOZ,MAAO,CACLrtO,IAPU,WACV,OAAOnF,CACT,EAMEkF,IALU,SAAAsgD,GACVxlD,EAAQwlD,CACV,EAKF,EAEImt3B,EAAW/iM,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,yBAEpC61xB,EAAQ,SAAAooM,GAAe,MAAK,CAChCrm3B,aAAc,WAAF,OAAkC,OAA1Bqm3B,EAAgBvg+B,KAAc,EACnD,EAsBKsqxB,EAAW,SAAA/uxB,GAAI,OAAI,SAAAV,GAAK,OAZf,SAAAyV,GACb,IATgB+vC,EAAGtF,EACfsJ,EAQEptC,SAAW3G,EACjB,OAAU,OAANA,EACK,OACQ,WAAN2G,GAAkBhH,MAAMC,QAAQI,GAClC,QACQ,WAAN2G,IAAuCshD,EAdlClY,EAcsB/vC,EAAeurC,GAdlCd,EAcsB99C,QAZZzD,UAYkCqiD,EAAMwiW,cAAc9lV,KAThD,QAAxBlU,EAAKhE,EAAEtF,mBAAqC,IAAZsJ,OAAqB,EAAIA,EAAGhsD,QAAU0iD,EAAY1iD,MAUpF,SAEA4e,EAHwC,IAACshD,EAAG1c,CAKvD,CACkCyoB,CAAOzpE,KAAWU,CAAK,CAAD,EAClDgvxB,EAAe,SAAAhvxB,GAAI,OAAI,SAAAV,GAAK,cAAWA,IAAUU,CAAK,CAAD,EACrDivxB,EAAO,SAAAvzwB,GAAC,OAAI,SAAAnW,GAAC,OAAImW,IAAMnW,CAAE,CAAD,EACxB0tE,EAAW87sB,EAAS,UACpB9lsB,EAAW8lsB,EAAS,UACpBp6wB,EAAUo6wB,EAAS,SACnBjppB,EAASmppB,EAAK,MACdrzmB,EAAYozmB,EAAa,WACzBv+lB,EAAcw+lB,OAAKtpxB,GAEnBypxB,EAAgB,SAAA7pxB,GAAC,OADJ,SAAAA,GAAC,OAAIA,OAA8B,CAC1B4pxB,CAAW5pxB,EAAG,EACpCklD,EAAaukuB,EAAa,YAC1Bp3pB,EAAWo3pB,EAAa,UAExBtkqB,EAAO,WAAO,EAOdk/b,EAAW,SAAAtqjB,GACf,OAAO,WACL,OAAOA,CACT,CACF,EACA,SAAS0rjB,EAAMp+iB,GAAqB,IAAD,IAAAq49B,EAAAhj+B,UAAAxD,OAAbkxxB,EAAW,IAAAj7wB,MAAAuw9B,EAAA,EAAAA,EAAA,KAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAXv1M,EAAWu1M,EAAA,GAAAjj+B,UAAAij+B,GAC/B,OAAO,WAAkB,IAAD,IAAAC,EAAAlj+B,UAAAxD,OAAbmxxB,EAAQ,IAAAl7wB,MAAAyw9B,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAARx1M,EAAQw1M,GAAAnj+B,UAAAmj+B,GACjB,IAAMz59B,EAAMgkxB,EAAYluxB,OAAOmuxB,GAC/B,OAAOhjxB,EAAG3E,MAAM,KAAM0D,EACxB,CACF,CACA,IAAMokxB,EAAQnmO,GAAS,GACjBhwM,EAASgwM,GAAS,GAElBomO,EAAQ,WACZ,SAAAA,EAAYz3uB,EAAKj5C,GAAO8Y,EAAA,KAAA43wB,GACtB/vxB,KAAKs4C,IAAMA,EACXt4C,KAAKX,MAAQA,CACf,CAAC,OAAAyZ,EAAAi3wB,EAAA,EAAAzuxB,IAAA,OAAAjC,MAOD,SAAK2wxB,EAAQC,GACX,OAAIjwxB,KAAKs4C,IACA23uB,EAAOjwxB,KAAKX,OAEZ2wxB,GAEX,GAAC,CAAA1uxB,IAAA,SAAAjC,MACD,WACE,OAAOW,KAAKs4C,GACd,GAAC,CAAAh3C,IAAA,SAAAjC,MACD,WACE,OAAQW,KAAKs4C,GACf,GAAC,CAAAh3C,IAAA,MAAAjC,MACD,SAAI6wxB,GACF,OAAIlwxB,KAAKs4C,IACAy3uB,EAASpyvB,KAAKuyvB,EAAOlwxB,KAAKX,QAE1B0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,OAAAjC,MACD,SAAK8wxB,GACH,OAAInwxB,KAAKs4C,IACA63uB,EAAOnwxB,KAAKX,OAEZ0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAOjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACpC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAQjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACrC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAKjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,OACvBW,KAEA+vxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,QAAAjC,MACD,SAAMovI,GACJ,OAAOzuI,KAAKs4C,IAAMt4C,KAAKX,MAAQovI,CACjC,GAAC,CAAAntI,IAAA,KAAAjC,MACD,SAAGovI,GACD,OAAOzuI,KAAKs4C,IAAMt4C,KAAOyuI,CAC3B,GAAC,CAAAntI,IAAA,aAAAjC,MACD,SAAW+wxB,GACT,OAAOpwxB,KAAKs4C,IAAMt4C,KAAKX,MAAQ+wxB,GACjC,GAAC,CAAA9uxB,IAAA,UAAAjC,MACD,SAAQ+wxB,GACN,OAAOpwxB,KAAKs4C,IAAMt4C,KAAOowxB,GAC3B,GAAC,CAAA9uxB,IAAA,WAAAjC,MACD,SAASsK,GACP,GAAK3J,KAAKs4C,IAGR,OAAOt4C,KAAKX,MAFZ,MAAM,IAAIK,MAAMiK,QAAyCA,EAAU,0BAIvE,GAAC,CAAArI,IAAA,YAAAjC,MAID,WACE,OAAOW,KAAKs4C,IAAMt4C,KAAKX,MAAQ,IACjC,GAAC,CAAAiC,IAAA,iBAAAjC,MACD,WACE,OAAOW,KAAKX,KACd,GAAC,CAAAiC,IAAA,OAAAjC,MACD,SAAKgxxB,GACCrwxB,KAAKs4C,KACP+3uB,EAAOrwxB,KAAKX,MAEhB,GAAC,CAAAiC,IAAA,UAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,CAACt4C,KAAKX,OAAS,EACnC,GAAC,CAAAiC,IAAA,WAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,QAAQ92C,OAAOxB,KAAKX,MAAO,KAAO,QACtD,IAAC,EAAAiC,IAAA,OAAAjC,MApFD,SAAYA,GACV,OAAO,IAAI0wxB,GAAS,EAAM1wxB,EAC5B,GAAC,CAAAiC,IAAA,OAAAjC,MACD,WACE,OAAO0wxB,EAAShhD,aAClB,GAAC,CAAAztuB,IAAA,OAAAjC,MA4DD,SAAYA,GACV,OAAO8vxB,EAAc9vxB,GAAS0wxB,EAASpyvB,KAAKt+B,GAAS0wxB,EAAS/gX,MAChE,IAAC,CAxEW,GA2Fd+gX,EAAShhD,cAAgB,IAAIghD,GAAS,GAEtC,IAmZe5qxB,EAETykD,EADA03d,EApZAkvQ,EAAa/7wB,MAAMzW,UAAU8F,KAC7BqL,EAAM,SAAC00P,EAAI1+P,GAGf,IAFA,IAAM1G,EAAMolQ,EAAGrlQ,OACTorD,EAAI,IAAIn1C,MAAMhW,GACXM,EAAI,EAAGA,EAAIN,EAAKM,IAAK,CAC5B,IAAM+V,EAAI+uP,EAAG9kQ,GACb6qD,EAAE7qD,GAAKoG,EAAE2P,EAAG/V,EACd,CACA,OAAO6qD,CACT,EACMu/2B,EAAS,SAACtlqB,EAAI1+P,GAClB,IAAK,IAAIpG,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAE7CoG,EADU0+P,EAAG9kQ,GACRA,EACP,CACF,EACMo84B,EAAW,SAACt3oB,EAAIiye,GAEpB,IADA,IAAMlsrB,EAAI,GACD7qD,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAC7C,IAAM+V,EAAI+uP,EAAG9kQ,GACT+2uB,EAAKhhuB,EAAG/V,IACV6qD,EAAE9lD,KAAKgR,EAEX,CACA,OAAO80C,CACT,EAYMqpuB,EAAS,SAACpvhB,EAAIiye,GAClB,OAZgB,SAACjye,EAAIiye,EAAM11F,GAC3B,IAAK,IAAIrhpB,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAC7C,IAAM+V,EAAI+uP,EAAG9kQ,GACb,GAAI+2uB,EAAKhhuB,EAAG/V,GACV,OAAOgxxB,EAASpyvB,KAAK7oB,GAChB,GAAIsroB,EAAMtroB,EAAG/V,GAClB,KAEJ,CACA,OAAOgxxB,EAAS/gX,MAClB,CAESukd,CAAU1vnB,EAAIiye,EAAMg6C,EAC7B,EAWMuB,EAAS,SAACxthB,EAAI1+P,GAAC,OAVL,SAAA0+P,GAEd,IADA,IAAMj6M,EAAI,GACD7qD,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,IAAOM,EAAG,CAC7C,IAAK2V,EAAQmvP,EAAG9kQ,IACd,MAAM,IAAIW,MAAM,oBAAsBX,EAAI,6BAA+B8kQ,GAE3E2shB,EAAWxoxB,MAAM4hD,EAAGi6M,EAAG9kQ,GACzB,CACA,OAAO6qD,CACT,CAC0BwvD,CAAQjqG,EAAI00P,EAAI1+P,GAAI,EAExC2gD,EAAO,SAAA+9M,GAAE,OADD,SAACA,EAAI9kQ,GAAC,OAAKA,GAAK,GAAKA,EAAI8kQ,EAAGrlQ,OAASuxxB,EAASpyvB,KAAKkmO,EAAG9kQ,IAAMgxxB,EAAS/gX,MAAO,CACvEkuX,CAAMr5hB,EAAI,EAAG,EAa1B27iB,EAAY,SAAAD,GAChB,IAAMr1U,EAAUszU,EAAKztB,EAAS/gX,QACxBrkG,EAAS,WAAH,OAASu/J,EAAQ1le,MAAMm3D,KAAK4jvB,EAAU,EAWlD,MAAO,CACL13yB,MAXY,WACZ8iU,IACAu/J,EAAQ3le,IAAIwrxB,EAAS/gX,OACvB,EASEhzD,MARY,WAAH,OAASkuH,EAAQ1le,MAAMwquB,QAAS,EASzCxquB,IARU,WAAH,OAAS0le,EAAQ1le,KAAM,EAS9BD,IARU,SAAAQ,GACV4lU,IACAu/J,EAAQ3le,IAAIwrxB,EAASpyvB,KAAK54B,GAC5B,EAOF,EACMqg+B,EAAa,WAAH,OAAS5lL,EAAU,SAAAz6yB,GAAC,OAAIA,EAAEssuB,QAAQ,EAAE,EAgC9C1tuB,EAAO5F,OAAO4F,KAUdmzxB,EAA2B,oBAAXn1xB,OAAyBA,OAAS0wC,SAAS,eAATA,GASlDvrC,EAAU,SAACpI,EAAGitU,GAElB,OATW,SAAClvU,EAAOkvU,GAEnB,IADA,IAAI5uQ,EAAI4uQ,QAAwCA,EAAQmrd,EAC/C/3xB,EAAI,EAAGA,EAAItC,EAAM+B,QAAVO,MAAoBg+D,IAAiCh+D,EACnEg+D,EAAIA,EAAEtgE,EAAMsC,IAEd,OAAOg+D,CACT,CAGSh9C,CADOrhB,EAAEivC,MAAM,KACHg+R,EACrB,EAKM0oa,EAAW,SAACx3uB,EAAM8uU,GACtB,IAAMx9Q,EAJO,SAACtxD,EAAM8uU,GACpB,OAAO7kU,EAAQjK,EAAM8uU,EACvB,CAEiBqrd,CAAOn6xB,EAAM8uU,GAC5B,GAAIx9Q,QACF,MAAM,IAAIzuD,MAAM7C,EAAO,kCAEzB,OAAOsxD,CACT,EAEM7O,EAAiBvhD,OAAOuhD,eAIxBujW,EAAgB,SAAA/tY,GACpB,IAAM62T,EAAQ7kU,EAAQ,4BAA6BgO,GACnD,OAAOk0E,EAASl0E,KALM,SAAA62T,GACtB,OAAO0oa,EAAS,cAAe1oa,EACjC,CAGyBurd,CAAgBvrd,GAAO3tU,UAAU6kZ,cAAc/tY,IAAM,mBAAmBrU,KAAK6+C,EAAexqC,GAAGyqC,YAAY1iD,MACpI,EAQMkxF,EAAS,SAAAtyE,GAAC,OAAI,SAAAm7F,GAAO,OADd,SAAAA,GAAO,OAAIA,EAAQuoW,IAAIn0X,QAAS,CACdjrF,CAAK62G,KAAan7F,CAAE,CAAD,EAE5CypW,EAAYn3R,EANF,GAOVo3R,EAASp3R,EANF,GAOP47sB,EAAa57sB,EAVF,GAWXgxsB,EAAqBhxsB,EAVD,IAoBpBiE,EAAQ,SAAC4kB,EAASt1G,EAAKjC,IARd,SAAC8/c,EAAK79c,EAAKjC,GACxB,KAAI2zE,EAAS3zE,IAAUs8K,EAAUt8K,IAAUs4H,EAASt4H,IAIlD,MADAvC,QAAQC,MAAM,sCAAuCuE,EAAK,YAAajC,EAAO,cAAe8/c,GACvF,IAAIz/c,MAAM,kCAHhBy/c,EAAInoW,aAAa11G,EAAKjC,EAAQ,GAKlC,CAEEq4xB,CAAO9grB,EAAQuoW,IAAK79c,EAAKjC,EAC3B,EACM0gyB,EAAQ,SAACnprB,EAASt1G,GACtB,IAAMujD,EAAI+xD,EAAQuoW,IAAItoW,aAAav1G,GACnC,OAAa,OAANujD,OAAan/C,EAAYm/C,CAClC,EACM17B,EAAS,SAACytF,EAASt1G,GACvBs1G,EAAQuoW,IAAIvqW,gBAAgBtzG,EAC9B,EAMM27G,EAAW,SAACn9G,EAAKswD,GAA4B,IAApB/7C,EAAKrS,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,EAAGsS,EAAGtS,UAAAxD,OAAA,EAAAwD,UAAA,QAAA0D,EACrCm7D,EAAM/gE,EAAId,QAAQoxD,EAAQ/7C,GAChC,OAAa,IAATwsD,MACK2vH,EAAYl8K,IAAcusD,EAAMzQ,EAAO5xD,QAAU8V,EAI5D,EAEMslxB,EAAgB,SAAAz6U,GAAG,YAAkBz5c,IAAdy5c,EAAIj/b,OAAuBsqC,EAAW20Z,EAAIj/b,MAAMQ,iBAAkB,EAuBzF8utB,EAAU,SAAAhprB,GACd,GAAIA,QACF,MAAM,IAAI9mD,MAAM,oCAElB,MAAO,CACLy/c,IAAK34Z,EAET,EAEMuyuB,EAAe,CACnB1pD,SA/Be,SAACrjX,EAAMrgD,GACtB,IACMnhS,GADMmhS,GAAS1lT,UACL6F,cAAc,OAE9B,GADA0e,EAAIC,UAAYuhV,GACXxhV,EAAIw6P,iBAAmBx6P,EAAI7J,WAAWniC,OAAS,EAAG,CACrD,IAAMmL,EAAU,wCAEhB,MADA7M,QAAQC,MAAM4M,EAASqiX,GACjB,IAAItsX,MAAMiK,EAClB,CACA,OAAO6luB,EAAQhlsB,EAAI7J,WAAW,GAChC,EAsBE2usB,QArBc,SAACh3rB,EAAKqzR,GACpB,IACMnlR,GADMmlR,GAAS1lT,UACJ6F,cAAcwsB,GAC/B,OAAOk3rB,EAAQhprB,EACjB,EAkBE+orB,SAjBe,SAAC56sB,EAAMg3S,GACtB,IACMnlR,GADMmlR,GAAS1lT,UACJwgC,eAAe9xB,GAChC,OAAO66sB,EAAQhprB,EACjB,EAcEgprB,UACAC,UANgB,SAACupD,EAAQlkxB,EAAGC,GAAC,OAAKg7wB,EAASxquB,KAAKyzuB,EAAO75U,IAAIzJ,iBAAiB5gc,EAAGC,IAAI5F,IAAIqguB,EAAS,GAS5F/6rB,GAAK,SAACmiE,EAAS0hB,GACnB,IAAM6mV,EAAMvoW,EAAQuoW,IACpB,GArFc,IAqFVA,EAAIn0X,SACN,OAAO,EAEP,IAAMm+F,EAAOg2R,EACb,QAAqBz5c,IAAjByjL,EAAKlxE,QACP,OAAOkxE,EAAKlxE,QAAQqgB,GACf,QAA+B5yH,IAA3ByjL,EAAKmojB,kBACd,OAAOnojB,EAAKmojB,kBAAkBh5mB,GACzB,QAAmC5yH,IAA/ByjL,EAAKoojB,sBACd,OAAOpojB,EAAKoojB,sBAAsBj5mB,GAC7B,QAAgC5yH,IAA5ByjL,EAAKqojB,mBACd,OAAOrojB,EAAKqojB,mBAAmBl5mB,GAE/B,MAAM,IAAI54H,MAAM,iCAGtB,EASMotU,GAAQ,SAAAl2N,GAAO,OAAImirB,EAAavpD,QAAQ54nB,EAAQuoW,IAAI9uC,cAAe,EAmBnEg1jB,GAAa,SAAAzu3B,GAEjB,OAnBa,SAAAA,GAAO,OAAIm5qB,EAASxquB,KAAKqxD,EAAQuoW,IAAIpnW,YAAY5oG,IAAI4pxB,EAAavpD,QAAS,CAmBjFtprB,CAAO0wD,GAASznG,IAAI8tE,IAAU9tE,IADlB,SAAA+qI,GAAQ,OAAIihwB,EAASjhwB,EAAU,SAAAplI,GAAC,OAtBrC0plB,EAsBsD1plB,IAAT8hG,EAtBnCuoW,MAAQq/I,EAAGr/I,KAA1B,IAAKq/I,CAsBwD,EAAE,GACnB2wI,MAAM,GAC7D,EAEMlypB,GAAW,SAAA25B,GAAO,OAAIznG,EAAIynG,EAAQuoW,IAAIx+a,WAAYo4vB,EAAavpD,QAAS,EAGxEua,GAAYv/rB,EAAW0yN,QAAQl/Q,UAAUkvO,eAAiB1iL,EAAW4sD,KAAKp5G,UAAUkmI,aACpF14D,GAAcm+e,EAASogM,IACvB7lnB,GAAc6lnB,GAAY,SAAAntvB,GAAC,OAAIm8xB,EAAavpD,QAAQ5yuB,EAAEuid,IAAIj7U,cAAc,EA5BtD,SAAAm1pB,GAAG,OAAIsQ,EAAWtQ,GAAOA,EAAMvsd,GAAMusd,EAAK,EA6B5Dr0oB,GAAgB,SAAApoJ,GACpB,IALmBy8xB,EAKbzvuB,EAAIs6E,GAAYtnI,GACtB,OAN0BmiyB,EAAP1F,EAMCzvuB,IANiCuluB,EAAckK,EAAIl6U,IAAIn9b,MAMlD+twB,EAASpyvB,KAAKisB,GAAKmmuB,EAAS/gX,MACvD,EACM+qX,GAAgB,SAAAn9xB,GAAC,OAAIm8xB,EAAavpD,QAAQ5yuB,EAAEuid,IAAIn9b,KAAM,EAetDi4wB,GAAmB,SAAArjrB,GAAO,OAAIu4qB,EAAcv4qB,EAAQuoW,IAAI/8b,WAAY,EAEpE83wB,GAAS,SAAAtjrB,GACb,IAAMuoW,EAAMh6F,EAAOvuQ,GAAWA,EAAQuoW,IAAIpnW,WAAanB,EAAQuoW,IAC/D,GAAIA,SAA2D,OAAtBA,EAAI9uC,cAC3C,OAAO,EAET,IArbgBk/W,EAAKC,EAqbfnie,EAAM8xJ,EAAI9uC,cAChB,OAAOrrR,GAAc+zoB,EAAavpD,QAAQrwR,IAAMsxR,KAAK,kBAAMpjb,EAAIx0P,KAAKokD,SAASkiW,EAAI,GAtbjEowU,EAsb4E2K,GAtbvE1K,EAsb+EuK,GAtbvE,SAAAz0xB,GAAC,OAAIiqxB,EAAIC,EAAIlqxB,GAAI,GAubhD,EASM01xB,GAAc,SAAC77U,EAAK3+b,EAAUnhB,GAClC,IAAK2zE,EAAS3zE,GAEZ,MADAvC,QAAQC,MAAM,qCAAsCyjB,EAAU,YAAanhB,EAAO,cAAe8/c,GAC3F,IAAIz/c,MAAM,+BAAiCL,GAE/Cu6xB,EAAcz6U,IAChBA,EAAIj/b,MAAMgiI,YAAY1hI,EAAUnhB,EAEpC,EACMkF,GAAM,SAACqyG,EAASp2F,EAAUnhB,GAC9B,IAAM8/c,EAAMvoW,EAAQuoW,IACpB67U,GAAY77U,EAAK3+b,EAAUnhB,EAC7B,EACMgqb,GAAS,SAACzyU,EAAS0mL,GACvB,IAAM6hL,EAAMvoW,EAAQuoW,KA5OT,SAAC5hb,EAAKp4B,GAEjB,IADA,IAAMwnC,EAAQhpC,EAAK45B,GACV4f,EAAI,EAAG1+C,EAAMkuC,EAAMnuC,OAAQ2+C,EAAI1+C,EAAK0+C,IAAK,CAChD,IAAMp+C,EAAI4tC,EAAMwQ,GAEhBh4C,EADUo4B,EAAIx+B,GACTA,EACP,CACF,CAsOE48D,CAAK2hO,EAAK,SAACz4O,EAAG1H,GACZ69uB,GAAY77U,EAAKhia,EAAG0H,EACtB,EACF,EACMgxC,GAAQ,SAAC+gB,EAASp2F,GACtB,IAAM2+b,EAAMvoW,EAAQuoW,IAEdv1Z,EADSjoD,OAAOigB,iBAAiBu9b,GACtBz+b,iBAAiBF,GAClC,MAAa,KAANopC,GAAaswuB,GAAOtjrB,GAA8ChtD,EAAnCuxuB,GAAkBh8U,EAAK3+b,EAC/D,EACM26wB,GAAoB,SAACh8U,EAAK3+b,GAAQ,OAAKo5wB,EAAcz6U,GAAOA,EAAIj/b,MAAMQ,iBAAiBF,GAAY,EAAG,EAWtG67wB,GAAe,SAAAF,GACnB,IA1ee/5X,EAAIimN,EA0ebv/mB,EAASiwxB,EAAavpD,QArEC,SAAA3muB,GAC7B,GAAI2iE,MAAiB2jtB,EAActmxB,EAAMC,QAAS,CAChD,IAAM80B,EAAKm7vB,EAAavpD,QAAQ3muB,EAAMC,QACtC,GAAIo8W,EAAUtnV,IAAOq8vB,GAAiBr8vB,IAChC/0B,EAAMypO,UAAYzpO,EAAM4d,aAAc,CACxC,IAAMA,EAAe5d,EAAM4d,eAC3B,GAAIA,EACF,OAAOq/B,EAAKr/B,EAEhB,CAEJ,CACA,OAAOspwB,EAASxquB,KAAK18C,EAAMC,OAC7B,CAwDsCkxxB,CAAuBmC,GAAUhtD,MAAMgtD,EAASrzxB,SAC9E0D,EAAO,WAAH,OAAS2vxB,EAAS/qwB,iBAAkB,EACxCs7N,EAAU,WAAH,OAASyviB,EAASj1wB,gBAAiB,EAC1CsttB,GA7eSpyU,EA6eM11K,EA7eF27X,EA6eW77mB,EA5evB,WAAc,IAAD,IAAA849B,EAAAtj+B,UAAAxD,OAATuV,EAAI,IAAAU,MAAA6w9B,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJxx9B,EAAIwx9B,GAAAvj+B,UAAAuj+B,GACb,OAAOnjkB,EAAGimN,EAAGrgnB,MAAM,KAAM+L,GAC3B,GA2eA,OAdc,SAACjL,EAAQgM,EAAGC,EAAGvI,EAAMkgP,EAAS8nf,EAAMphR,GAAG,MAAM,CAC3Dtqd,SACAgM,IACAC,IACAvI,OACAkgP,UACA8nf,OACAphR,MACD,CAMQgpU,CAAQtzxB,EAAQqzxB,EAASj7wB,QAASi7wB,EAASh7wB,QAAS3U,EAAMkgP,EAAS8nf,EAAM2nD,EAClF,EAMMhM,GAAS,SAACv5qB,EAAS/tG,EAAOkuB,EAAQoxB,EAASo0uB,GAC/C,IAAM52tB,EANO,SAAC5uC,EAAQoxB,GAAO,OAAK,SAAAg0uB,GAC9BplwB,EAAOolwB,IACTh0uB,EAAQk0uB,GAAaF,GAEzB,CAAE,CAEgBvkT,CAAO7gd,EAAQoxB,GAE/B,OADAyuD,EAAQuoW,IAAIp3b,iBAAiBlf,EAAO88D,EAAS42tB,GACtC,CACLlrD,OAAQtmL,EAAMsmL,GAAQz6nB,EAAS/tG,EAAO88D,EAAS42tB,GAEnD,EAEMlrD,GAAS,SAACz6nB,EAAS/tG,EAAOs/C,EAASo0uB,GACvC3lrB,EAAQuoW,IAAIr3b,oBAAoBjf,EAAOs/C,EAASo0uB,EAClD,EAEMxlwB,GAAS4iV,EACT6rnB,GAAS,SAAC5u3B,EAAS/tG,EAAOs/C,GAAO,OANxB,SAACyuD,EAAS/tG,EAAOkuB,EAAQoxB,GAAO,OAAKgouB,GAAOv5qB,EAAS/tG,EAAOkuB,EAAQoxB,GAAS,EAAO,CAMvDm0uB,CAAO1lrB,EAAS/tG,EAAOkuB,GAAQoxB,EAAS,EAiE9EwquB,GAAY,WAChB,OAAOsB,GAAK,EAAG,EACjB,EACMA,GAAO,SAAC9urB,EAAOC,GACnB,MAAO,CACLD,QACAC,QAEJ,EACMytrB,GAAU,CACdptX,GAAIwuX,GACJvkD,OAlBe,SAACE,EAAgBkjD,GAChC,IAAMC,EAAetxxB,OAAOqxxB,GAAOpzwB,cACnC,OAA8B,IAA1BkwtB,EAAepxuB,OACVm0xB,KAhBE,SAACjqI,EAASoqI,GACrB,IAAMlpuB,EAVW,SAAC8+lB,EAAS3jpB,GAC3B,IAAK,IAAIhG,EAAI,EAAGA,EAAI2ppB,EAAQlqpB,OAAQO,IAAK,CACvC,IAAM+V,EAAI4zoB,EAAQ3ppB,GAClB,GAAI+V,EAAErU,KAAKsE,GACT,OAAO+P,CAEX,CAEF,CAEYk+wB,CAAWtqI,EAASoqI,GAC9B,IAAKlpuB,EACH,MAAO,CACLu7C,MAAO,EACPC,MAAO,GAGX,IAAM4pC,EAAQ,SAAAjwI,GACZ,OAAOkxD,OAAO6iuB,EAAMrzwB,QAAQmqC,EAAG,IAAM7qD,GACvC,EACA,OAAOk1xB,GAAKjlpB,EAAM,GAAIA,EAAM,GAC9B,CAMSlgH,CAAK8gtB,EAAgBmjD,EAC9B,EAaEpjD,QAASgjD,IAGLqC,GAAkB,SAACxqrB,EAAUklR,GACjC,OA7ac,SAAC3lU,EAAK5kD,GACpB,IAAK,IAAIpG,EAAI,EAAGA,EAAIgrD,EAAIvrD,OAAQO,IAAK,CACnC,IAAM6qD,EAAIzkD,EAAE4kD,EAAIhrD,GAAIA,GACpB,GAAI6qD,EAAEolrB,SACJ,OAAOplrB,CAEX,CACA,OAAOmmuB,EAAS/gX,MAClB,CAqaSyiX,CAAQ/ha,EAAc3mR,OAAQ,SAAA+rrB,GACnC,IAAMC,EAAUD,EAAQ7rrB,MAAMvpF,cAC9B,OAAOuzwB,EAAOzorB,EAAU,SAAAhE,GACtB,IAAI39C,EACJ,OAAOksuB,KAAsC,QAAxBlsuB,EAAK29C,EAAQyC,aAA+B,IAAZpgD,OAAqB,EAAIA,EAAGnpC,cACnF,GAAGvQ,IAAI,SAAAoL,GAAI,MAAK,CACdowI,QAASpwI,EAAK1d,KACdqa,QAAS27wB,GAAQptX,GAAGhpY,SAASq4vB,EAAQ59wB,QAAS,IAAK,GACpD,EACH,EACF,EAEMq+wB,GAAW,SAAC3qiB,EAAY7lM,GAC5B,IAAM+tuB,EAAQrxxB,OAAOsjD,GAAWrlC,cAChC,OAAOuzwB,EAAOroiB,EAAY,SAAAuoiB,GACxB,OAAOA,EAAU/rrB,OAAO0rrB,EAC1B,EACF,EAoBMe,GAAqB,sCACrBC,GAAgB,SAAAhrxB,GACpB,OAAO,SAAAirxB,GACL,OAAO92qB,EAAS82qB,EAAUjrxB,EAC5B,CACF,EACM0hG,GAAW,CAAC,CAChB3tG,KAAM,OACN+yuB,eAAgB,CAAC,kCACjBxooB,OAAQ,SAAA2srB,GACN,OAAO92qB,EAAS82qB,EAAU,UAAY92qB,EAAS82qB,EAAU,WAAa92qB,EAAS82qB,EAAU,WAAa92qB,EAAS82qB,EAAU,cAC3H,GACC,CACDl3xB,KAAM,WACNosG,MAAO,WACP2moB,eAAgB,CAAC,kCAAmCikD,IACpDzsrB,OAAQ,SAAA2srB,GACN,OAAO92qB,EAAS82qB,EAAU,YAAc92qB,EAAS82qB,EAAU,cAC7D,GACC,CACDl3xB,KAAM,KACN+yuB,eAAgB,CAAC,iCAAkC,8BACnDxooB,OAAQ,SAAA2srB,GACN,OAAO92qB,EAAS82qB,EAAU,SAAW92qB,EAAS82qB,EAAU,UAC1D,GACC,CACDl3xB,KAAM,QACN+yuB,eAAgB,CAACikD,GAAoB,kCACrCzsrB,OAAQ0srB,GAAc,UACrB,CACDj3xB,KAAM,UACN+yuB,eAAgB,CAAC,uCACjBxooB,OAAQ0srB,GAAc,YACrB,CACDj3xB,KAAM,SACN+yuB,eAAgB,CAACikD,GAAoB,iCACrCzsrB,OAAQ,SAAA2srB,GACN,OAAQ92qB,EAAS82qB,EAAU,WAAa92qB,EAAS82qB,EAAU,aAAe92qB,EAAS82qB,EAAU,cAC/F,IAEIlkD,GAAO,CAAC,CACZhzuB,KAAM,UACNuqG,OAAQ0srB,GAAc,OACtBlkD,eAAgB,CAAC,0CAChB,CACD/yuB,KAAM,MACNuqG,OAAQ,SAAA2srB,GACN,OAAO92qB,EAAS82qB,EAAU,WAAa92qB,EAAS82qB,EAAU,OAC5D,EACAnkD,eAAgB,CAAC,sCAAuC,+BAAgC,wCACvF,CACD/yuB,KAAM,UACNuqG,OAAQ0srB,GAAc,WACtBlkD,eAAgB,CAAC,sCAChB,CACD/yuB,KAAM,QACNuqG,OAAQ0srB,GAAc,YACtBlkD,eAAgB,CAAC,wCAChB,CACD/yuB,KAAM,QACNuqG,OAAQ0srB,GAAc,SACtBlkD,eAAgB,IACf,CACD/yuB,KAAM,UACNuqG,OAAQ0srB,GAAc,SACtBlkD,eAAgB,IACf,CACD/yuB,KAAM,UACNuqG,OAAQ0srB,GAAc,WACtBlkD,eAAgB,IACf,CACD/yuB,KAAM,WACNuqG,OAAQ0srB,GAAc,QACtBlkD,eAAgB,CAAC,qCAEbokD,GAAe,CACnBxprB,SAAUm/c,EAASn/c,IACnBqloB,KAAMlmL,EAASkmL,KAGX1voB,GAAO,OACPJ,GAAW,WAEX2B,GAAQ,QACRnB,GAAU,UACV+B,GAAS,SAOTkyrB,GAAO,SAAAj6wB,GACX,IAAMowI,EAAUpwI,EAAKowI,QACfzzI,EAAUqD,EAAKrD,QACfm0F,EAAY,SAAAxuG,GAAI,OAAI,kBAAM8tJ,IAAY9tJ,CAAK,CAAD,EAChD,MAAO,CACL8tJ,UACAzzI,UACA44tB,OAAQzkoB,EAAUlL,IAClBovR,WAAYlkR,EAAUtL,IACtB61e,KAAMvqe,EAnBC,MAoBP0koB,QAAS1koB,EAAU3J,IACnBsuoB,UAAW3koB,EAAU9K,IACrBojM,SAAUt4L,EAAU/I,IAExB,EACM4xrB,GAAU,CACdvkD,QAtBgB,WAChB,OAAO6kD,GAAK,CACV7poB,aAASjlJ,EACTwR,QAAS27wB,GAAQljD,WAErB,EAkBElqU,GAAI+uX,GACJr0rB,KAAMwpd,EAASxpd,IACfJ,SAAU4pd,EAAS5pd,IACnBa,GAAI+od,EA9BK,MA+BTjod,MAAOiod,EAASjod,IAChBnB,QAASopd,EAASppd,IAClB+B,OAAQqnd,EAASrnd,KAGbkvJ,GAAU,UAEVlyJ,GAAU,UACV60rB,GAAQ,QACRC,GAAQ,QACRC,GAAU,UACVC,GAAU,UACVC,GAAW,WAOX9uX,GAAK,SAAAlrZ,GACT,IAAMowI,EAAUpwI,EAAKowI,QACfzzI,EAAUqD,EAAKrD,QACf2zF,EAAO,SAAAhuG,GAAI,OAAI,kBAAM8tJ,IAAY9tJ,CAAK,CAAD,EAC3C,MAAO,CACL8tJ,UACAzzI,UACAg4O,UAAWrkJ,EAAK2mJ,IAChBy+e,MAAOploB,EArBC,OAsBRqloB,UAAWrloB,EAAKvL,IAChB6woB,QAAStloB,EAAKuprB,IACdhkD,QAASvloB,EAAKsprB,IACd9jD,UAAWxloB,EAAKwprB,IAChB/jD,UAAWzloB,EAAKyprB,IAChB/jD,WAAY1loB,EAAK0prB,IAErB,EACME,GAAkB,CACtB9kD,QAxBc,WACd,OAAOlqU,GAAG,CACR96Q,aAASjlJ,EACTwR,QAAS27wB,GAAQljD,WAErB,EAoBElqU,MACAj0K,QAASm4T,EAASn4T,IAClBkjiB,IAAK/qO,EAlCK,OAmCVrqd,QAASqqd,EAASrqd,IAClB60rB,MAAOxqO,EAASwqO,IAChBC,MAAOzqO,EAASyqO,IAChBC,QAAS1qO,EAAS0qO,IAClBC,QAAS3qO,EAAS2qO,IAClBC,SAAU5qO,EAAS4qO,KAefI,GAZW,SAAC5vuB,EAAW6vuB,EAAkBC,GAC7C,IAAMrqrB,EAAWwprB,GAAaxprB,WACxBqloB,EAAOmkD,GAAankD,OACpBrpoB,EAAUourB,EAAiBjwtB,KAAK,SAAA+qT,GAAa,OAAIsla,GAAgBxqrB,EAAUklR,EAAc,GAAE8gX,QAAQ,kBAxLrF,SAAChmoB,EAAUzlD,GAC/B,OAAOwwuB,GAAS/qrB,EAAUzlD,GAAW51C,IAAI,SAAAq3F,GACvC,IAAMtvF,EAAU27wB,GAAQnjD,OAAOlpoB,EAAQopoB,eAAgB7qrB,GACvD,MAAO,CACL4lG,QAASnkD,EAAQ3pG,KACjBqa,UAEJ,EACF,CAgLiH+9wB,CAAczqrB,EAAUzlD,EAAU,GAAE0rrB,KAAKyjD,GAAQvkD,QAASukD,GAAQzuX,IAC3Kj+T,EAhLS,SAACqooB,EAAM9qrB,GACtB,OAAOwwuB,GAAS1lD,EAAM9qrB,GAAW51C,IAAI,SAAAq4F,GACnC,IAAMtwF,EAAU27wB,GAAQnjD,OAAOlooB,EAAGoooB,eAAgB7qrB,GAClD,MAAO,CACL4lG,QAASnjD,EAAG3qG,KACZqa,UAEJ,EACF,CAwKag+wB,CAASrlD,EAAM9qrB,GAAW0rrB,KAAKgkD,GAAgB9kD,QAAS8kD,GAAgBhvX,IAC7EwrU,EA/QW,SAACzpoB,EAAIhB,EAASzhD,EAAW8vuB,GAC1C,IAAMnkD,EAASlpoB,EAAGyooB,UAAuC,IAA5B,QAAQxvuB,KAAKskD,GACpC4rrB,EAAWnpoB,EAAGyooB,UAAYS,EAC1BykD,EAAW3trB,EAAGyooB,SAAWzooB,EAAG0ooB,YAC5BY,EAAUqkD,GAAYN,EAAW,oBACjCjkD,EAAWF,IAAWC,GAAYwkD,GAAYN,EAAW,4BACzDhkD,EAAUF,GAAYwkD,IAAavkD,EACnCwkD,EAAa5urB,EAAQm9L,YAAcn8L,EAAGyooB,UAAyC,IAA9B,UAAUxvuB,KAAKskD,GAChEisrB,GAAaH,IAAYD,IAAawkD,EAC5C,MAAO,CACL1kD,OAAQ/mL,EAAS+mL,GACjBC,SAAUhnL,EAASgnL,GACnBC,SAAUjnL,EAASinL,GACnBC,QAASlnL,EAASknL,GAClBC,QAASnnL,EAASmnL,GAClBZ,UAAW1ooB,EAAG0ooB,UACdD,MAAOzooB,EAAGyooB,MACVc,UAAWpnL,EAASyrO,GACpBpkD,UAAWrnL,EAASqnL,GAExB,CA2PqBqkD,CAAW7trB,EAAIhB,EAASzhD,EAAW8vuB,GACtD,MAAO,CACLrurB,UACAgB,KACAypoB,aAEJ,EAKM4jD,GAAa,SAAAzusB,GAAK,OAAIzkF,OAAO64G,WAAWp0B,GAAO6xB,OAAQ,EACzDrQ,IAvSWziG,EAuSO,kBAAMwvxB,GAAyB7pvB,UAAUia,UAAWgruB,EAASxquB,KAAKza,UAAU4kV,eAAgBmla,GAAW,EAtSvHvzQ,GAAS,EAEN,WACL,IAAKA,EAAQ,CACXA,GAAS,EAAK,QAAAmkd,EAAAzj+B,UAAAxD,OAFPuV,EAAI,IAAAU,MAAAgx9B,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJ3x9B,EAAI2x9B,GAAA1j+B,UAAA0j+B,GAGX976B,EAAIzkD,EAAE6C,MAAM,KAAM+L,EACpB,CACA,OAAO61C,CACT,GAiSIA,GAAI,SAAC5tC,EAAME,GAEf,MAAO,CACLF,OACAE,MACAqmL,UAJgB,SAACztL,EAAGC,GAAC,OAAK60C,GAAE5tC,EAAOlH,EAAGoH,EAAMnH,EAAG,EAMnD,EACMynxB,GAAgB5yuB,GAShBplD,GAAM,SAAAwhhB,GACV,IAAM9wV,OAAexvL,IAATsghB,EAAqBrkhB,OAASqkhB,EAC1C,OArBmBp+a,KAqBNpB,QAAQwpoB,YACZ+/C,EAAS/gX,OAET+gX,EAASxquB,KAAK2vI,EAAI+nmB,eAE7B,EACM/9nB,GAAS,SAACpqJ,EAAGC,EAAG4J,EAAOE,GAAM,MAAM,CACvC/J,IACAC,IACA4J,QACAE,SACA5C,MAAOnH,EAAI6J,EACXxC,OAAQpH,EAAI8J,EACb,EACKm+wB,GAAY,SAAAh3Q,GAChB,IAAM9wV,OAAexvL,IAATsghB,EAAqBrkhB,OAASqkhB,EACpC34N,EAAMn4H,EAAIjvK,SACVk8N,EA1BM,SAAAy6iB,GACZ,IAAMvve,OAAe3nT,IAATk3xB,EAAqBA,EAAKz9U,IAAMl5b,SACtCnR,EAAIu4S,EAAIx0P,KAAK4pL,YAAc4qE,EAAInnS,gBAAgBu8N,WAC/C1tO,EAAIs4S,EAAIx0P,KAAK2pL,WAAa6qE,EAAInnS,gBAAgBs8N,UACpD,OAAOg6iB,GAAc1nxB,EAAGC,EAC1B,CAqBiBsupB,CAAM01H,EAAavpD,QAAQnib,IAC1C,OAAO7oT,GAAI0wL,GAAKu7iB,KAAK,WACnB,IAAMzkX,EAAO92L,EAAIjvK,SAASC,gBACpBvH,EAAQqtW,EAAK7lW,YACbtH,EAASmtW,EAAK5lW,aACpB,OAAO84I,GAAOijF,EAAOnmO,KAAMmmO,EAAOjmO,IAAKyC,EAAOE,EAChD,EAAG,SAAAo+wB,GAAc,OAAI/9nB,GAAOxiJ,KAAKiL,IAAIs1wB,EAAeE,SAAUh7iB,EAAOnmO,MAAOU,KAAKiL,IAAIs1wB,EAAeG,QAASj7iB,EAAOjmO,KAAM+gxB,EAAet+wB,MAAOs+wB,EAAep+wB,OAAO,EACxK,EACM8lD,GAAO,SAAC9nE,EAAMyC,EAAU0mhB,GAAI,OAAKxhhB,GAAIwhhB,GAAM72gB,IAAI,SAAA8txB,GACnD,IAAM90uB,EAAU,SAAAvrD,GAAC,OAAI0C,EAAS+8xB,GAAaz/xB,GAAI,EAE/C,OADAqgyB,EAAel1wB,iBAAiBlrB,EAAMsrD,GAC/B,CACLkprB,OAAQ,WAAF,OAAQ4rD,EAAen1wB,oBAAoBjrB,EAAMsrD,EAAQ,EAEnE,GAAGyqrB,WAAW,iBAAO,CACnBvB,OAAQ5mnB,EACT,EAAG,EAEAqtlB,GAAWm3B,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,wBAEtCsrC,GAAS68rB,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,eAElC6+9B,GAA6B,SAACzlL,EAAQ/hyB,GAC1C+hyB,EAAO5iyB,SAAS,yBAA0B,CACxCa,UAEF+hyB,EAAO5iyB,SAAS,eAClB,EAUMso9B,GARS,SAAA/o+B,GAAI,OAAI,SAAAqjzB,GAAM,OAAIA,EAAOl6yB,QAAQxB,IAAI3H,EAAM,CAAD,CAQ7BswO,CAAO,qBAE7B04vB,GAAoB,SAAA3lL,GACxB,IAAM/2nB,EAAO4vmB,EAAavpD,QAAQ0wE,EAAO/moB,cACzC,OAAOn0B,GAAcmkC,GAAMh6K,IAAI4qxB,IAAennD,WAAW,kBA9b3C,SAAAvlb,GACd,IAAM9nT,EAAI8nT,EAAI8xJ,IAAItmZ,KAClB,GAAItzD,QACF,MAAM,IAAI7F,MAAM,6BAElB,OAAOq5xB,EAAavpD,QAAQjquB,EAC9B,CAwbiE+lvB,CAAQx+a,GAAM3jJ,GAAM,EACrF,EA2CM28yB,GAAsB,SAAA38yB,GAAI,OAAIA,EAAKg2R,YAzCRz5c,KADJyiF,EA0CyC2kP,GAAM3jJ,GAAMg2R,KAzCvE4mhB,kBACA594B,EAAK494B,uBAC0Brg+B,IAA7ByiF,EAAK694B,oBACP794B,EAAK694B,yBAC8Btg+B,IAAjCyiF,EAAK894B,wBACP994B,EAAK894B,wBAEL,MARkB,IAAA994B,CA0C0D,EAEjF+94B,GAAc,SAACv6pB,EAAO1lO,EAAWm2R,GAAM,OAAK++gB,EApiBlC,SAACvkyB,EAASwlR,GAIxB,IAHA,IAAM5vX,EAAOg+C,EAAW4xU,GAAUA,EAAS0zZ,EACvC3wU,EAAMvoW,EAAQuoW,IACZn9Z,EAAM,GACc,OAAnBm9Z,EAAIpnW,iBAA0CryG,IAAnBy5c,EAAIpnW,YAA0B,CAC9D,IAAMwhrB,EAAYp6U,EAAIpnW,WAChBr5G,EAAIq6xB,EAAavpD,QAAQ+pD,GAE/B,GADAv3uB,EAAIl+C,KAAKpF,IACO,IAAZ8N,EAAK9N,GACP,MAEAygd,EAAMo6U,CAEV,CACA,OAAOv3uB,CACT,CAqhB2Duwe,CAAQ5mN,EAAOywD,GAASn2R,EAAW,EAGxFv6F,GAAM,SAAA4sH,GAAQ,OAjjBN,SAACA,EAAUqzM,GACvB,IAAMpgQ,OAAiB7lE,IAAVimU,EAAsB1lT,SAAW0lT,EAAMwzI,IACpD,OAHqB,SAAAA,GAAG,OAtGV,IAsGcA,EAAIn0X,UAxGjB,IAwGyCm0X,EAAIn0X,UAvGpC,KAuG6Dm0X,EAAIn0X,UAA4D,IAA1Bm0X,EAAIsyR,iBAAwB,CAGhJynD,CAAe3ttB,GAAQ,GAAKp8D,EAAIo8D,EAAKquC,iBAAiB0e,GAAWygqB,EAAavpD,QACvF,CA8iBwB22P,CAAM7t2B,EAAU,EAClCve,GAAY,SAAC4xN,EAAOrzM,EAAU8jQ,GAAM,OAAK8pmB,GAAYv6pB,EAAO,SAAA/uU,GAAC,OAAI63C,GAAG73C,EAAG07H,EAAS,EAAE8jQ,EAAQ,EAC1F4jc,GAAW,SAACr0f,EAAOrzM,GAAQ,OAJd,SAACqzM,EAAO1lO,GAAS,OAAKk1yB,EAASkqF,GAAW15pB,GAAQ1lO,EAAW,CAI1Cmg4B,CAAWz6pB,EAAO,SAAA/uU,GAAC,OAAI63C,GAAG73C,EAAG07H,EAAS,EAAE,EAExEnoD,GAAO,qCAEPk25B,GAAmB,+BACnBC,GAAiB,iJAEjBp2P,GAAY99rB,GAAOo1D,GAAG0ooB,YAKtBq2P,GAAgB,SAACpnhB,EAAKllX,EAAW820B,GACrC,IAGMpqa,EAAU,SAAA6/d,GAAY,OAAI,SAAA5v3B,GAC9B,IAAMr2F,EAASw/wB,EAAMnprB,EAAS,SACxB6v3B,OAAoB/g+B,IAAX6a,EAAuB,YAAcA,EAAOy2C,OACvDyv6B,IAAWD,IAGbx04B,EAAM4kB,EAASzmC,GAAMs25B,GACrBp9iB,GAAOzyU,EAASuoW,EAAIg8V,WAAWqrL,IAEnC,CAAE,EACIN,EAAcns3B,GAAU9f,EAAW,KACnCms4B,EAAa/0M,EAAO60M,EAdH,SAAAtv3B,GACrB,OAAOoptB,GAASpptB,EAAS,0BAC3B,GAaMysW,EApBW,SAAA0td,GACjB,IAAMvv4B,EAAQq0D,GAAMk70B,EAAY,oBAChC,YAAiBrr6B,IAAV87B,GAAiC,KAAVA,EAAe,oBAAsBA,EAAQ,aAJ1D,8CAKnB,CAiBkBkl8B,CAAW31D,GAC3B5H,EAAOi9D,EAAYz/d,EA1BC,4BA2BpBwia,EAAO+8D,EAAav/d,EAAQ0/d,GAAmBC,GAAiBjjhB,IAEhEsjD,IADsC,IAAdupO,GAAqB,GAAKm2P,IACxBC,GAAiBjjhB,EAA3CsjD,CAAoD1sa,EACtD,EAcMohtB,GAAMvjG,GAASujG,IAGfsrL,GAAiBni+B,KAAMisuB,KAAK,iBAAO,CACvC9rqB,KAAM8lD,EACN4mnB,OAAQ5mnB,EACT,EAAG,SAAAwyqB,GACF,IA5xBM/yT,EA4xBAwwY,GA5xBAxwY,EAAUs1U,EAAU/0rB,GAE1Bl/G,EAAA,GACK2+d,EAAQ,CACXlxZ,GAHS,SAAA7zE,GAAC,OAAI+ke,EAAQ1le,MAAMm3D,KAAKx2D,EAAG,KA4xBhCyh+B,EAAexB,IACfyB,EAAezB,IAefnq3B,EAryBM,SAACtuG,EAAIgtkB,GACjB,IAAIj0jB,EAAQ,KAeZ,MAAO,CACLysE,OAfa,WACR0zC,EAAOngH,KACVkrB,aAAalrB,GACbA,EAAQ,KAEZ,EAWEwmO,SAVe,WAAc,IAAD,IAAA46uB,EAAA9k+B,UAAAxD,OAATuV,EAAI,IAAAU,MAAAqy9B,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJhz9B,EAAIgz9B,GAAA/k+B,UAAA+k+B,GACnBlh2B,EAAOngH,KACTA,EAAQ0lB,WAAW,WACjB1lB,EAAQ,KACR/Y,EAAG3E,MAAM,KAAM+L,EACjB,EAAG4lkB,GAEP,EAKF,CAixBiB1lb,CAAM,WAbnBhuI,SAAS4yC,KAAK2pL,UAAY,EAC1Bv8N,SAASC,gBAAgBs8N,UAAY,EAGrC7gP,OAAOylB,sBAAsB,WAC3Bsz1B,EAAgB1hyB,GAAG,SAAAihB,GAAS,OAAIovV,GAAOpvV,EAAW,CAChD/9E,IAAK+gxB,EAAep0vB,UAAY,KAChC7sB,KAAMihxB,EAAen0vB,WAAa,KAClCjqB,OAAQo+wB,EAAep+wB,OAAS,KAChCF,MAAOs+wB,EAAet+wB,MAAQ,MAC9B,EACJ,EAKF,EAAG,IAcH,MAAO,CACLgmD,KAda,SAAAiyC,GACb8jwB,EAAgBn22B,IAAIqyG,GACpBqE,EAAOixI,WACP06uB,EAAari+B,IAAIogE,GAAK,SAAUs2C,EAAOixI,WACvC26uB,EAAati+B,IAAIogE,GAAK,SAAUs2C,EAAOixI,UACzC,EAUEmlf,OATa,WACbqpI,EAAgB1hyB,GAAG,WACjB4t5B,EAAa/+9B,QACbg/9B,EAAah/9B,OACf,GACA6y2B,EAAgB7y2B,OAClB,EAKF,GACMm/9B,GAAmB,SAAC9mL,EAAQ6kL,GAChC,IAnnBkBnu3B,EAskBC91D,EAlEEmm7B,EACf55qB,EAVAlkI,EAwHAtwH,EAAO5yC,SAAS4yC,KAChB3yC,EAAkBD,SAASC,gBAC3Bw01B,EAAkBx6D,EAAO/3Q,eACzB++b,EAAmBnuM,EAAavpD,QAAQkrI,GACxCysH,GAvnBYvw3B,EAunBiBsw3B,EAvnBNn3M,EAASxquB,KAAKqxD,EAAQuoW,IAAIp6F,aAAa51W,IAAI4pxB,EAAavpD,UAunBhCz4sB,OAAO,SAAAvH,GAAG,OAvvB3C,SAAAonF,GAAO,OAAIsuQ,EAAUtuQ,IAAYisS,EAAcjsS,EAAQuoW,IAAK,CAuvBb8+U,CAAczuwB,IA5tBvE,SAAConF,EAASyhrB,GAAK,OAFV,SAAAzhrB,GAAO,YAA8BlxG,IAA1BkxG,EAAQuoW,IAAIp1b,SAAwB,CAEhCvP,CAASo8F,IAAYA,EAAQuoW,IAAIp1b,UAAUkzF,SAASo7qB,EAAO,CA4tBA/zxB,CAAIkrB,EAAK,kBAAkB,GAC9G438B,EAAiBvB,GAAkB3lL,GACnCmnL,EAAiBtC,EAAgBvg+B,MACjCus6B,EAAah4I,EAAavpD,QAAQ0wE,EAAO50D,WACzCxa,EAAU1+rB,GAAO6+rB,WAAWH,UAC5Bw2P,EAAuB5sH,EAAgBx61B,MACvCs5B,EAAS0mwB,EAAO+vB,cAChBs3J,EAAc/t7B,aAA4C,EAAIA,EAAOt5B,MACrEsn9B,EAAgB,SAAAr/6B,GACpBA,EAAQ0Q,EAAM,kBACd1Q,EAAQjiC,EAAiB,kBACzBiiC,EAAQuyzB,EAAiB,kBACzB11tB,GAAcki1B,GAAkB/39B,IAAI,SAAAg5E,GAAI,OAAI4xsB,GAAc5xsB,GAAMg3X,GAAG,GAAExjZ,KAAK,SAAA35C,GACxEmmC,EAAQnmC,EAAM,kBACdmmC,EAAQnmC,EAAM,iBAChB,EACF,EACM0jU,EAAU,WACVorZ,GAlFc,SAAA3xR,GACpB,IAAMsohB,EAAe/79B,GAAI,IAAMykE,GAAO,KACtCg51B,EAAOs+D,EAAc,SAAA7w3B,GACnB,IAAMhjC,EAAUmstB,EAAMnprB,EAASzmC,IAC3ByD,GAAuB,cAAZA,EACby1W,GAAOzyU,EAASuoW,EAAIg8V,WAAWvnuB,IAE/BzqD,EAAOytF,EAAS,SAElBztF,EAAOytF,EAASzmC,GAClB,EACF,CAwEMu35B,CAAcxnL,EAAO/gW,KAEvBqohB,EAAcnsL,GAAII,aAClBkrL,GAAet1P,SACf0+C,EAASxquB,KAAKw/6B,EAAgBvg+B,OAAOm3D,KAAK,SAAAphD,GAAI,OAAIA,EAAKot9B,wBAAwBt2P,QAAQ,EACzF,EACA,GAAKg2P,EAoCHA,EAAeM,wBAAwBt2P,SACnCu0P,GAAoB1lL,IAAW4lL,GAAoBsB,KAjLpCH,EAkLFn6pB,GAAMs6pB,IAjLnB/5qB,EAAM45qB,EAAS9nhB,KACbyohB,eACNv6qB,EAAIu6qB,iBACKv6qB,EAAIw6qB,iBACbx6qB,EAAIw6qB,mBACKx6qB,EAAIy6qB,wBACbz6qB,EAAIy6qB,0BA6KJP,EAAY5o9B,MAAQ0o9B,EAAeU,YACnCR,EAAY1o9B,OAASwo9B,EAAepvE,aACpCqvE,EAAqB3o9B,MAAQ0o9B,EAAeW,eAC5CV,EAAqBzo9B,OAASwo9B,EAAeY,gBAC7CX,EAAqBpr9B,IAAMmr9B,EAAea,aAC1CZ,EAAqBtr9B,KAAOqr9B,EAAec,cAt6BjC,SAACtmkB,EAAI0hL,EAAIp+kB,GAAM08Z,EAAGmtU,UAAYzrJ,EAAGyrJ,SAAW+gD,EAASpyvB,KAAKx4B,EAAE08Z,EAAGwyU,WAAY9wJ,EAAG8wJ,aAAe07C,EAAS/gX,MAAO,CAu6BvH4nX,CAAMuwM,EAAgBE,EAAee,gBAAiB,SAAC548B,EAAKslB,GAC1DvwC,GAAIirB,EAAK,WAAYslB,EACvB,GACA4wS,IA3HiB5kS,EA4HJum7B,EAAegB,UA5HJ1m+B,OAAO4ttB,SAASzuqB,EAAIhsC,EAAGgsC,EAAI/rC,GA6HnDgw9B,EAAgBxg+B,IAAI,MACpBoh+B,GAA2BzlL,GAAQ,GACnCA,EAAOl7tB,IAAI,SAAU0gQ,OArDF,CACnB,IAAMiipB,EAA0BnC,GAAO14pB,GAAMs6pB,QAjKZ1h+B,IAA/BugB,SAAS8/8B,kBACJ,wBACmCrg+B,IAAjCugB,SAAS+/8B,oBACX,0BACuCtg+B,IAArCugB,SAASgg9B,wBACX,yBAEA,mBA0JuF,SAAAqC,GACxF1C,GAAoB1lL,KACjB4lL,GAAoBsB,IAA6C,OAA1BrC,EAAgBvg+B,OAC1Dwi+B,GAAiB9mL,EAAQ6kL,GAG/B,GACMwD,EAAoB,CACxBF,UApFqBrrM,GAAUr7xB,QAqF/Bqm+B,eAAgBV,EAAqB3o9B,MACrCsp9B,gBAAiBX,EAAqBzo9B,OACtCqp9B,aAAcZ,EAAqBpr9B,IACnCis9B,cAAeb,EAAqBtr9B,KACpC+r9B,YAAaR,EAAY5o9B,MACzBs54B,aAAcsvE,EAAY1o9B,OAC1B8o9B,0BACAS,gBAAiBjB,EAAeh49B,IAAI,SAAAqgB,GAAG,OAAIqmE,GAAMrmE,EAAK,WAAW,IAE/DshtB,GACFy1P,GAAcrmL,EAAO/gW,IAAK+nhB,EAAkBn2D,GAE9Cw2D,EAAY5o9B,MAAQ4o9B,EAAY1o9B,OAAS,OACzCyo9B,EAAqB3o9B,MAAQ2o9B,EAAqBzo9B,OAAS,GAC3D2o9B,EAAcnsL,GAAIG,UAClB2rL,EAAexr6B,KAAK,SAAAnsC,GAClBjrB,GAAIirB,EAAK,WAAY,QACvB,GACAm38B,GAAehi6B,KAAKui6B,GACpBhnL,EAAOlnuB,GAAG,SAAU0sQ,GACpBq/oB,EAAgBxg+B,IAAIgk+B,GAChB3C,GAAoB1lL,MApLpB/2nB,EAqLgBi+yB,EArLCjohB,KACdqphB,kBACPr/yB,EAAKq/yB,oBACIr/yB,EAAKs/yB,oBACdt/yB,EAAKs/yB,sBACIt/yB,EAAKu/yB,yBACdv/yB,EAAKu/yB,2BAiLL/C,GAA2BzlL,GAAQ,EACrC,CAoBF,EAQMi0H,GAAmB,SAACj0H,EAAQ6kL,GAAe,OAAK,SAAA/y1B,GACpDA,EAAIq9rB,UAAoC,OAA1B01J,EAAgBvg+B,OAC9B,IAAMmk+B,EAAsB,SAAA/r+B,GAAC,OAAIo1I,EAAIq9rB,UAAUzy0B,EAAEuhB,MAAO,EAExD,OADA+hyB,EAAOlnuB,GAAG,yBAA0B2v5B,GAC7B,kBAAMzoL,EAAOl7tB,IAAI,yBAA0B2j5B,EAAqB,CACzE,CAAE,EAmBA32D,EAASxk6B,IAAI,aAAc,SAAA0yyB,GACzB,IAAM6kL,EAAkBvnL,EAAK,MAC7B,OAAI0C,EAAO7hpB,SAlRI,SAAA6hpB,IAEjBspH,EADuBtpH,EAAOl6yB,QAAQy0F,UACvB,oBAAqB,CAClCsxpB,UAAW,UACX5ouB,SAAS,GAEb,CA+QIsm3B,CAAWvpF,GAnCI,SAACA,EAAQ6kL,GAC1B7kL,EAAO1yD,WAAW,gBAAiB,WACjCw5O,GAAiB9mL,EAAQ6kL,EAC3B,EACF,CAgCIhmF,CAAW7+F,EAAQ6kL,GAxBN,SAAC7kL,EAAQ6kL,GACxB,IAAM1lqB,EAAW,WAAH,OAAS6gf,EAAO/0D,YAAY,gBAAiB,EAC3D+0D,EAAO5/X,GAAG5zZ,SAASg84B,kBAAkB,aAAc,CACjD/z4B,KAAM,aACNtQ,KAAM,aACNqsO,SAAU,eACV2uE,WACA8okB,QAASgsC,GAAiBj0H,EAAQ6kL,KAEpC7kL,EAAO5/X,GAAG5zZ,SAAS274B,gBAAgB,aAAc,CAC/C3rzB,QAAS,aACTr4F,KAAM,aACNg7S,WACA8okB,QAASgsC,GAAiBj0H,EAAQ6kL,IAEtC,CAUItq4B,CAASyltB,EAAQ6kL,GACjB7kL,EAAOinE,YAAY,eAAgB,GAAI,kBAL9BxqF,EAAMooM,EAOjB,EAKL,CAzsCD,GA8sCA,WAGI,IAAIx1D,EAAWtgM,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,yBAEpCw4C,EAAiBvhD,OAAOuhD,eACxBuvuB,EAAW,SAAChquB,EAAGtF,EAAa0mD,GAChC,IAAIp9C,EACJ,QAAIo9C,EAAUphD,EAAGtF,EAAYvhD,aAGM,QAAxB6qD,EAAKhE,EAAEtF,mBAAqC,IAAZsJ,OAAqB,EAAIA,EAAGhsD,QAAU0iD,EAAY1iD,IAE/F,EAaMkxF,EAAS,SAAAhuF,GAAI,OAAI,SAAAV,GAAK,OAZb,SAAAyV,GACb,IAAM2G,SAAW3G,EACjB,OAAU,OAANA,EACK,OACQ,WAAN2G,GAAkBhH,MAAMC,QAAQI,GAClC,QACQ,WAAN2G,GAAkBozwB,EAAS/5wB,EAAGrT,OAAQ,SAACs7D,EAAG1c,GAAK,OAAKA,EAAMwiW,cAAc9lV,EAAE,GAC5E,SAEAthD,CAEX,CACgCqtD,CAAOzpE,KAAWU,CAAK,CAAD,EAChDgvxB,EAAe,SAAAhvxB,GAAI,OAAI,SAAAV,GAAK,cAAWA,IAAUU,CAAK,CAAD,EAGrDizE,EAAW+a,EAAO,UAClB/E,EAAW+E,EAAO,UAClBsB,EAAgB,SAAAhwF,GAAK,OAHhB,SAACA,EAAOkgD,GAAW,OAAKypC,EAAS3pF,IAAUwvxB,EAASxvxB,EAAOkgD,EAAa,SAACwd,EAAG1c,GAAK,OAAKf,EAAeyd,KAAO1c,CAAK,EAAE,CAG/F5L,CAAGp1C,EAAOtB,OAAQ,EAC3C2W,EAAUq5E,EAAO,SACjB83C,EANK,SAAApqH,GAAC,OAAI,SAAAnW,GAAC,OAAImW,IAAMnW,CAAE,CAAD,CAMbsiF,CAAG,MACZ+zF,EAAYozmB,EAAa,WAEzBI,EAAgB,SAAA7pxB,GAAC,OADJ,SAAAA,GAAC,OAAIA,OAA8B,CAC1B4pxB,CAAW5pxB,EAAG,EACpCklD,EAAaukuB,EAAa,YAC1Bp3pB,EAAWo3pB,EAAa,UAaxBtkqB,EAAO,WAAO,EAEdslqB,EAAQ,WACZ,SAAAA,EAAYz3uB,EAAKj5C,GAAO8Y,EAAA,KAAA43wB,GACtB/vxB,KAAKs4C,IAAMA,EACXt4C,KAAKX,MAAQA,CACf,CAAC,OAAAyZ,EAAAi3wB,EAAA,EAAAzuxB,IAAA,OAAAjC,MAOD,SAAK2wxB,EAAQC,GACX,OAAIjwxB,KAAKs4C,IACA23uB,EAAOjwxB,KAAKX,OAEZ2wxB,GAEX,GAAC,CAAA1uxB,IAAA,SAAAjC,MACD,WACE,OAAOW,KAAKs4C,GACd,GAAC,CAAAh3C,IAAA,SAAAjC,MACD,WACE,OAAQW,KAAKs4C,GACf,GAAC,CAAAh3C,IAAA,MAAAjC,MACD,SAAI6wxB,GACF,OAAIlwxB,KAAKs4C,IACAy3uB,EAASpyvB,KAAKuyvB,EAAOlwxB,KAAKX,QAE1B0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,OAAAjC,MACD,SAAK8wxB,GACH,OAAInwxB,KAAKs4C,IACA63uB,EAAOnwxB,KAAKX,OAEZ0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAOjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACpC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAQjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACrC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAKjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,OACvBW,KAEA+vxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,QAAAjC,MACD,SAAMovI,GACJ,OAAOzuI,KAAKs4C,IAAMt4C,KAAKX,MAAQovI,CACjC,GAAC,CAAAntI,IAAA,KAAAjC,MACD,SAAGovI,GACD,OAAOzuI,KAAKs4C,IAAMt4C,KAAOyuI,CAC3B,GAAC,CAAAntI,IAAA,aAAAjC,MACD,SAAW+wxB,GACT,OAAOpwxB,KAAKs4C,IAAMt4C,KAAKX,MAAQ+wxB,GACjC,GAAC,CAAA9uxB,IAAA,UAAAjC,MACD,SAAQ+wxB,GACN,OAAOpwxB,KAAKs4C,IAAMt4C,KAAOowxB,GAC3B,GAAC,CAAA9uxB,IAAA,WAAAjC,MACD,SAASsK,GACP,GAAK3J,KAAKs4C,IAGR,OAAOt4C,KAAKX,MAFZ,MAAM,IAAIK,MAAMiK,QAAyCA,EAAU,0BAIvE,GAAC,CAAArI,IAAA,YAAAjC,MAID,WACE,OAAOW,KAAKs4C,IAAMt4C,KAAKX,MAAQ,IACjC,GAAC,CAAAiC,IAAA,iBAAAjC,MACD,WACE,OAAOW,KAAKX,KACd,GAAC,CAAAiC,IAAA,OAAAjC,MACD,SAAKgxxB,GACCrwxB,KAAKs4C,KACP+3uB,EAAOrwxB,KAAKX,MAEhB,GAAC,CAAAiC,IAAA,UAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,CAACt4C,KAAKX,OAAS,EACnC,GAAC,CAAAiC,IAAA,WAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,QAAQ92C,OAAOxB,KAAKX,MAAO,KAAO,QACtD,IAAC,EAAAiC,IAAA,OAAAjC,MApFD,SAAYA,GACV,OAAO,IAAI0wxB,GAAS,EAAM1wxB,EAC5B,GAAC,CAAAiC,IAAA,OAAAjC,MACD,WACE,OAAO0wxB,EAAShhD,aAClB,GAAC,CAAAztuB,IAAA,OAAAjC,MA4DD,SAAYA,GACV,OAAO8vxB,EAAc9vxB,GAAS0wxB,EAASpyvB,KAAKt+B,GAAS0wxB,EAAS/gX,MAChE,IAAC,CAxEW,GA2Fd+gX,EAAShhD,cAAgB,IAAIghD,GAAS,GAEtC,IAAMpsxB,EAAO5F,OAAO4F,KACdH,EAAiBzF,OAAOyF,eAYxBuuxB,EAAiB,SAACx0vB,EAAKu4sB,EAAMk8C,EAAQC,IAX9B,SAAC10vB,EAAKp4B,GAEjB,IADA,IAAMwnC,EAAQhpC,EAAK45B,GACV4f,EAAI,EAAG1+C,EAAMkuC,EAAMnuC,OAAQ2+C,EAAI1+C,EAAK0+C,IAAK,CAChD,IAAMp+C,EAAI4tC,EAAMwQ,GAEhBh4C,EADUo4B,EAAIx+B,GACTA,EACP,CACF,CAKE48D,CAAKp+B,EAAK,SAACzoB,EAAG/V,IACX+2uB,EAAKhhuB,EAAG/V,GAAKizxB,EAASC,GAASn9wB,EAAG/V,EACrC,EACF,EAMMuF,EAAM,SAACi5B,EAAKj8B,GAAG,OAAKkC,EAAehE,KAAK+9B,EAAKj8B,EAAK,EAGlDkvxB,EAAa/7wB,MAAMzW,UAAU8F,KAC7Bs1G,EAAU,SAAAyqJ,GAEd,IADA,IAAMj6M,EAAI,GACD7qD,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,IAAOM,EAAG,CAC7C,IAAK2V,EAAQmvP,EAAG9kQ,IACd,MAAM,IAAIW,MAAM,oBAAsBX,EAAI,6BAA+B8kQ,GAE3E2shB,EAAWxoxB,MAAM4hD,EAAGi6M,EAAG9kQ,GACzB,CACA,OAAO6qD,CACT,EAEM9D,EAAO,SAAA+9M,GAAE,OADH,SAACA,EAAI9kQ,GAAC,OAAKA,GAAK,GAAKA,EAAI8kQ,EAAGrlQ,OAASuxxB,EAASpyvB,KAAKkmO,EAAG9kQ,IAAMgxxB,EAAS/gX,MAAO,CACrExqa,CAAIq/P,EAAI,EAAG,EAWZ,oBAAXliQ,OAAyBA,OAAS0wC,SAAS,eAATA,GAEzC,IA2mBkB6y1B,EAnmBZ3g4B,EAAM,SAACqyG,EAASt1G,EAAKjC,IARZ,SAAC8/c,EAAK79c,EAAKjC,GACxB,KAAI2zE,EAAS3zE,IAAUs8K,EAAUt8K,IAAUs4H,EAASt4H,IAIlD,MADAvC,QAAQC,MAAM,sCAAuCuE,EAAK,YAAajC,EAAO,cAAe8/c,GACvF,IAAIz/c,MAAM,kCAHhBy/c,EAAInoW,aAAa11G,EAAKjC,EAAQ,GAKlC,CAEEq4xB,CAAO9grB,EAAQuoW,IAAK79c,EAAKjC,EAC3B,EA0BMmwuB,EAAU,SAAAhprB,GACd,GAAIA,QACF,MAAM,IAAI9mD,MAAM,oCAElB,MAAO,CACLy/c,IAAK34Z,EAET,EAEMuyuB,EAAe,CACnB1pD,SA/Be,SAACrjX,EAAMrgD,GACtB,IACMnhS,GADMmhS,GAAS1lT,UACL6F,cAAc,OAE9B,GADA0e,EAAIC,UAAYuhV,GACXxhV,EAAIw6P,iBAAmBx6P,EAAI7J,WAAWniC,OAAS,EAAG,CACrD,IAAMmL,EAAU,wCAEhB,MADA7M,QAAQC,MAAM4M,EAASqiX,GACjB,IAAItsX,MAAMiK,EAClB,CACA,OAAO6luB,EAAQhlsB,EAAI7J,WAAW,GAChC,EAsBE2usB,QArBc,SAACh3rB,EAAKqzR,GACpB,IACMnlR,GADMmlR,GAAS1lT,UACJ6F,cAAcwsB,GAC/B,OAAOk3rB,EAAQhprB,EACjB,EAkBE+orB,SAjBe,SAAC56sB,EAAMg3S,GACtB,IACMnlR,GADMmlR,GAAS1lT,UACJwgC,eAAe9xB,GAChC,OAAO66sB,EAAQhprB,EACjB,EAcEgprB,UACAC,UANgB,SAACupD,EAAQlkxB,EAAGC,GAAC,OAAKg7wB,EAASxquB,KAAKyzuB,EAAO75U,IAAIzJ,iBAAiB5gc,EAAGC,IAAI5F,IAAIqguB,EAAS,GAS9F2gM,EAAWlhM,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,wBAEtCkr6B,EAAW/iM,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,oBAEpCmse,EAAa,SAAAlue,GAAC,OAAIA,EAAEvG,OAAS,CAAE,EAE/B2uO,EAAS,SAAAtwO,GAAI,OAAI,SAAAqjzB,GAAM,OAAIA,EAAOl6yB,QAAQxB,IAAI3H,EAAM,CAAD,EACnD4s4B,EAAa,SAAAvpF,GACjB,IAAMspH,EAAiBtpH,EAAOl6yB,QAAQy0F,SACtC+u0B,EAAe,mBAAoB,CACjCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,eAAgB,CAC7Bz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,kBAAmB,CAChCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,oBAAqB,CAClCz9K,UAAW,SACX5ouB,QAAS,KAEXqm5B,EAAe,mBAAoB,CACjCz9K,UAAW,aAEby9K,EAAe,oBAAqB,CAClCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,cAAe,CAC5Bz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,gBAAiB,CAC9Bz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,aAAc,CAC3Bz9K,UAAW,SAAA1svB,GACT,IAAM+lR,GAAkB,IAAV/lR,GAAmB2zE,EAAS3zE,IA7P9B,SAACA,EAAOy2uB,GACxB,GAAIphuB,EAAQrV,GAAQ,CAClB,IAAK,IAAIN,EAAI,EAAGN,EAAMY,EAAMb,OAAQO,EAAIN,IAAOM,EAC7C,IAAK+2uB,EAAKz2uB,EAAMN,IACd,OAAO,EAGX,OAAO,CACT,CACA,OAAO,CACT,CAmP0DqwxB,CAAU/vxB,EAAO2pF,IAAax+B,EAAWnrD,GAC7F,OAAO+lR,EAAQ,CACb/lR,QACA+lR,SACE,CACFA,OAAO,EACPz7Q,QAAS,mDAEb,EACAwZ,SAAS,IAEXqm5B,EAAe,cAAe,CAC5Bz9K,UAAW,SACX5ouB,QAAS,CAAC,GAEd,EACMyl9B,EAAgBz7vB,EAAO,oBACvB07vB,EAAY17vB,EAAO,gBACnB27vB,EAAe37vB,EAAO,mBACtB47vB,EAAgB57vB,EAAO,qBACvB8ksB,EAAe9ksB,EAAO,oBACtBsqH,EAAiBtqH,EAAO,qBACxB67vB,EAAgB77vB,EAAO,eACvB87vB,EAAkB97vB,EAAO,iBACzB+7vB,EAAe/7vB,EAAO,cACtBg8vB,EAA2Bh8vB,EAAO,yBAClC4+kB,EAA4B5+kB,EAAO,qBAuBnCi8vB,EAAoB,SAACrssB,EAAMC,GAAI,OAAKtgR,KAAKiL,IAAI8U,SAASsgQ,EAAM,IAAKtgQ,SAASugQ,EAAM,IAAK,EA8BrFqssB,EAAoB,SAAAhq+B,GAIxB,OAHIA,IACFA,EAAQA,EAAMogB,QAAQ,MAAO,KAExBpgB,CACT,EACMiq+B,EAAiB,SAAAjq+B,GAIrB,OAHIA,EAAMb,OAAS,GAAK,WAAWiC,KAAKpB,KACtCA,GAAS,MAEJA,CACT,EAkEM251B,EAAgB,SAAAzlvB,GAAI,OAAI,IAAI1sG,QAAQ,SAACC,EAASC,GAClD,IAAMysG,EAAS,IAAI5zG,WACnB4zG,EAAO3zG,OAAS,WACdiH,EAAQ0sG,EAAOvzG,OACjB,EACAuzG,EAAOzqG,QAAU,WACf,IAAI8/C,EACJ9hD,EAA+B,QAAvB8hD,EAAK2qD,EAAOz2G,aAA+B,IAAZ8rD,OAAqB,EAAIA,EAAGl/C,QACrE,EACA6pG,EAAOG,cAAcJ,EACvB,EAAG,EACGg23B,EAAqB,SAAAnmH,GAAM,MAAwB,QAApBA,EAAO/pwB,WAAuB+pwB,EAAOrswB,aAAa,oBAAsBqswB,EAAOrswB,aAAa,wBAAyB,EACpJyy3B,EAAiB,SAACtpL,EAAQxmwB,GAC9B,IAAM01rB,EAAY8wE,EAAOl6yB,QAAQxB,IACjC,OAAOwt6B,EAASy3D,UAAU/v7B,EAAK,MAAO,CACpCwozB,qBAAsB9yH,EAAU,wBAChCslE,kBAAmBtlE,EAAU,qBAC7BulE,oBAAqBvlE,EAAU,wBAEnC,EAEMisE,EAAM80H,EAAS90H,IACfquL,EAAY,SAAAp5tB,GAChB,OAAIA,EAAMpwP,MAAM+kI,YAAcqrH,EAAMpwP,MAAMglI,aAAeorH,EAAMpwP,MAAM+kI,aAAeqrH,EAAMpwP,MAAMglI,YACvFmk1B,EAAkB/4tB,EAAMpwP,MAAM+kI,YAE9B,EAEX,EACM0k1B,GAAY,SAAAr5tB,GAChB,OAAIA,EAAMpwP,MAAMm1P,WAAa/E,EAAMpwP,MAAMo1P,cAAgBhF,EAAMpwP,MAAMm1P,YAAc/E,EAAMpwP,MAAMo1P,aACtF+ztB,EAAkB/4tB,EAAMpwP,MAAMm1P,WAE9B,EAEX,EACMu0tB,GAAY,SAAAt5tB,GAChB,OAAIA,EAAMpwP,MAAMik2B,YACPklH,EAAkB/4tB,EAAMpwP,MAAMik2B,aAE9B,EAEX,EACM7rE,GAAY,SAAChoiB,EAAOzzQ,GACxB,IAAIgsD,EACJ,OAAIynN,EAAMv5J,aAAal6G,IACsB,QAAnCgsD,EAAKynN,EAAMz5J,aAAah6G,UAA+B,IAAZgsD,EAAgBA,EAE5D,EAEX,EACMgh7B,GAAa,SAAAv5tB,GAAK,OAAyB,OAArBA,EAAMv4J,YAAqD,WAA9Bu4J,EAAMv4J,WAAWsB,QAAsB,EAC1Fyw3B,GAAe,SAACx5tB,EAAOzzQ,EAAMwC,GACnB,KAAVA,GAA0B,OAAVA,EAClBixQ,EAAM17J,gBAAgB/3G,GAEtByzQ,EAAMt5J,aAAan6G,EAAMwC,EAE7B,EAmBM0q+B,GAAgB,SAAAz5tB,GAChBu5tB,GAAWv5tB,GARI,SAAAA,GACnB,IAAM05tB,EAAY15tB,EAAMv4J,WACpBo3qB,EAAc66M,KAChB3uL,EAAIQ,YAAYvriB,EAAO05tB,GACvB3uL,EAAIlyxB,OAAO6g9B,GAEf,CAGIC,CAAa35tB,GApBI,SAAAA,GACnB,IAAM05tB,EAAY3uL,EAAIxjwB,OAAO,SAAU,CACrC9rB,MAAO,UAETsvxB,EAAIQ,YAAYmuL,EAAW15tB,GAC3B05tB,EAAUvw7B,YAAY62N,GACtB05tB,EAAUvw7B,YAAY4hwB,EAAIxjwB,OAAO,aAAc,CAC7Cs/oB,gBAAiB,QAChB,YACH6yS,EAAU7yS,gBAAkB,OAC9B,CAYI+yS,CAAa55tB,EAEjB,EACM65tB,GAAiB,SAAC75tB,EAAO85tB,GAC7B,IAAMluP,EAAY5re,EAAMz5J,aAAa,SAC/Bx3G,EAAQ+q+B,EAA2B,OAAdluP,EAAqBA,EAAY,IACxD78uB,EAAMb,OAAS,GACjB8xQ,EAAMt5J,aAAa,QAAS33G,GAC5BixQ,EAAMt5J,aAAa,iBAAkB33G,IAErCixQ,EAAM17J,gBAAgB,QAE1B,EACMu+J,GAAU,SAACt2Q,EAAMut+B,GAAY,OAAK,SAAC95tB,EAAOzzQ,EAAMwC,GACpD,IAAMkhB,EAAS+vP,EAAMpwP,MACjBK,EAAO1jB,IACT0jB,EAAO1jB,GAAQys+B,EAAejq+B,GAC9B8q+B,GAAe75tB,EAAO85tB,IAEtBN,GAAax5tB,EAAOzzQ,EAAMwC,EAE9B,CAAE,EACI0xY,GAAU,SAACzgI,EAAOzzQ,GACtB,OAAIyzQ,EAAMpwP,MAAMrjB,GACPws+B,EAAkB/4tB,EAAMpwP,MAAMrjB,IAE9By7yB,GAAUhoiB,EAAOzzQ,EAE5B,EACMwt+B,GAAY,SAAC/5tB,EAAOjxQ,GACxB,IAAMir+B,EAAUhB,EAAejq+B,GAC/BixQ,EAAMpwP,MAAM+kI,WAAaql1B,EACzBh6tB,EAAMpwP,MAAMglI,YAAcol1B,CAC5B,EACMC,GAAY,SAACj6tB,EAAOjxQ,GACxB,IAAMir+B,EAAUhB,EAAejq+B,GAC/BixQ,EAAMpwP,MAAMm1P,UAAYi1tB,EACxBh6tB,EAAMpwP,MAAMo1P,aAAeg1tB,CAC7B,EACME,GAAY,SAACl6tB,EAAOjxQ,GACxB,IAAMir+B,EAAUhB,EAAejq+B,GAC/BixQ,EAAMpwP,MAAMik2B,YAAcmmH,CAC5B,EACMG,GAAiB,SAACn6tB,EAAOjxQ,GAC7BixQ,EAAMpwP,MAAM+j2B,YAAc5k3B,CAC5B,EACMqr+B,GAAiB,SAAAp6tB,GACrB,IAAIznN,EACJ,OAA0C,QAAlCA,EAAKynN,EAAMpwP,MAAM+j2B,mBAAqC,IAAZp7zB,EAAgBA,EAAK,EACzE,EACM8h7B,GAAW,SAAAn78B,GAAG,OAAI2/vB,EAAc3/vB,IAAyB,WAAjBA,EAAI6pF,QAAsB,EAElEux3B,GAAkB,SAAAt6tB,GAAK,OAA2C,IAAvC+qiB,EAAI/C,UAAUhoiB,EAAO,OAAO9xQ,QAAiD,iBAAjC68yB,EAAI/C,UAAUhoiB,EAAO,OAA2B,EACvHu6tB,GAAS,SAAAv6tB,GACb,OAAIs6tB,GAAgBt6tB,GACX,GAEAgoiB,GAAUhoiB,EAAO,MAE5B,EAgBMw6tB,GAAgB,SAACV,EAAcjm+B,GACnC,IAAI0kD,EACEynN,EAAQrqP,SAAS6F,cAAc,OAcrC,OAbAg+8B,GAAax5tB,EAAO,QAASnsQ,EAAK+b,QAC9Bwp9B,EAAUp5tB,IAA0B,KAAhBnsQ,EAAK4m+B,SAC3BV,GAAU/5tB,EAAOnsQ,EAAK4m+B,SAEpBpB,GAAUr5tB,IAA0B,KAAhBnsQ,EAAK6m+B,SAC3BT,GAAUj6tB,EAAOnsQ,EAAK6m+B,SAEpBpB,GAAUt5tB,IAA0B,KAAhBnsQ,EAAKq+T,SAC3BgoqB,GAAUl6tB,EAAOnsQ,EAAKq+T,SAEpBkoqB,GAAep6tB,IAA+B,KAArBnsQ,EAAK8/2B,cAChCwmH,GAAen6tB,EAAOnsQ,EAAK8/2B,aAEtBmmH,EAAoD,QAAtCvh7B,EAAKynN,EAAMz5J,aAAa,gBAAkC,IAAZhuD,EAAgBA,EAAK,GAC1F,EAsBM8G,GAAO,SAACy66B,EAAc95tB,GAAK,MAAM,CACrC52N,IAAK4+vB,GAAUhoiB,EAAO,OACtBlM,IAAKymuB,GAAOv6tB,GACZp0K,MAAOo8sB,GAAUhoiB,EAAO,SACxB3xP,MAAOoyX,GAAQzgI,EAAO,SACtBzxP,OAAQkyX,GAAQzgI,EAAO,UACvBvkP,MAAOusxB,GAAUhoiB,EAAO,SACxBpwP,MAAOkq9B,EAAa9xL,GAAUhoiB,EAAO,UACrCuvL,QAASgqiB,GAAWv5tB,GACpBy6tB,OAAQrB,EAAUp5tB,GAClB06tB,OAAQrB,GAAUr5tB,GAClBkyD,OAAQonqB,GAAUt5tB,GAClB2zmB,YAAaymH,GAAep6tB,GAC5B26tB,aAAcL,GAAgBt6tB,GAC/B,EACK46tB,GAAa,SAAC56tB,EAAO66tB,EAAShka,EAAStqkB,EAAM0H,GAC7C4ikB,EAAQtqkB,KAAUsu+B,EAAQtu+B,IAC5B0H,EAAI+rQ,EAAOzzQ,EAAM4E,OAAO0lkB,EAAQtqkB,IAEpC,EACMuu+B,GAAS,SAAC96tB,EAAOlM,EAAK6muB,GAC1B,GAAIA,EAAc,CAChB5vL,EAAI5C,UAAUnoiB,EAAO,OAAQ,gBAC7B,IAAM+6tB,EAAatyM,EAAavpD,QAAQl/d,GACxC/rQ,EAAI8m+B,EAAY,MAAO,GACzB,KAAO,CACL,GAAIxl2B,EAAOu+H,GAAM,CACf,IAAMinuB,EAAatyM,EAAavpD,QAAQl/d,GA9crBhvQ,EA+cA,MAAZ+p+B,EA9cHlshB,IAAIvqW,gBAAgBtzG,EA+c1B,KAAO,CACL,IAAM+p+B,EAAatyM,EAAavpD,QAAQl/d,GACxC/rQ,EAAI8m+B,EAAY,MAAOjnuB,EACzB,CACqC,iBAAjCi3iB,EAAI/C,UAAUhoiB,EAAO,SACvB+qiB,EAAI5C,UAAUnoiB,EAAO,OAAQ,GAEjC,CAvda,IAAUhvQ,CAwdzB,EAMM4uH,GAAa,SAAC3rH,EAAK6l+B,GAAY,OAAK,SAAC95tB,EAAOzzQ,EAAMwC,GACtDkF,EAAI+rQ,EAAOjxQ,GACX8q+B,GAAe75tB,EAAO85tB,EACxB,CAAE,EACIj/7B,GAAQ,SAACi/7B,EAAcjja,EAAS72T,GACpC,IAAM66tB,EAAUx76B,GAAKy66B,EAAc95tB,GACnC46tB,GAAW56tB,EAAO66tB,EAAShka,EAAS,UAAW,SAAC72T,EAAOotO,EAAOlka,GAAM,OAAKuw5B,GAAcz5tB,EAAM,GAC7F46tB,GAAW56tB,EAAO66tB,EAAShka,EAAS,MAAO2ia,IAC3CoB,GAAW56tB,EAAO66tB,EAAShka,EAAS,QAAS2ia,IAC7CoB,GAAW56tB,EAAO66tB,EAAShka,EAAS,QAASh0T,GAAQ,EAASi3tB,IAC9Dc,GAAW56tB,EAAO66tB,EAAShka,EAAS,SAAUh0T,GAAQ,EAAUi3tB,IAChEc,GAAW56tB,EAAO66tB,EAAShka,EAAS,QAAS2ia,IAC7CoB,GAAW56tB,EAAO66tB,EAAShka,EAAS,QAASj3c,GAAW,SAACogJ,EAAOjxQ,GAAK,OAAKyq+B,GAAax5tB,EAAO,QAASjxQ,EAAM,EAAE+q+B,IAC/Gc,GAAW56tB,EAAO66tB,EAAShka,EAAS,SAAUj3c,GAAWm62B,GAAWD,IACpEc,GAAW56tB,EAAO66tB,EAAShka,EAAS,SAAUj3c,GAAWq62B,GAAWH,IACpEc,GAAW56tB,EAAO66tB,EAAShka,EAAS,SAAUj3c,GAAWs62B,GAAWJ,IACpEc,GAAW56tB,EAAO66tB,EAAShka,EAAS,cAAej3c,GAAWu62B,GAAgBL,IArB9D,SAAC95tB,EAAO66tB,EAAShka,GAC7BA,EAAQ/iU,MAAQ+muB,EAAQ/muB,KAAO+iU,EAAQ8ja,eAAiBE,EAAQF,cAClEG,GAAO96tB,EAAO62T,EAAQ/iU,IAAK+iU,EAAQ8ja,aAEvC,CAkBEK,CAAUh7tB,EAAO66tB,EAAShka,EAC5B,EAEMoka,GAAiB,SAACrrL,EAAQrrW,GAC9B,IACM22hB,EArUa,SAAAlusB,GACnB,GAAIA,EAAIj9Q,OAAQ,CACd,IAAMor9B,EAAchq+B,OAAO67R,EAAIj9Q,QAAQstB,MAAM,KAC7C,OAAQ897B,EAAYjt+B,QAClB,KAAK,EACH8+R,EAAI,cAAgBA,EAAI,eAAiBmusB,EAAY,GACrDnusB,EAAI,gBAAkBA,EAAI,iBAAmBmusB,EAAY,GACzDnusB,EAAI,iBAAmBA,EAAI,kBAAoBmusB,EAAY,GAC3DnusB,EAAI,eAAiBA,EAAI,gBAAkBmusB,EAAY,GACvD,MACF,KAAK,EACHnusB,EAAI,cAAgBA,EAAI,eAAiBmusB,EAAY,GACrDnusB,EAAI,gBAAkBA,EAAI,iBAAmBmusB,EAAY,GACzDnusB,EAAI,iBAAmBA,EAAI,kBAAoBmusB,EAAY,GAC3DnusB,EAAI,eAAiBA,EAAI,gBAAkBmusB,EAAY,GACvD,MACF,KAAK,EACHnusB,EAAI,cAAgBA,EAAI,eAAiBmusB,EAAY,GACrDnusB,EAAI,gBAAkBA,EAAI,iBAAmBmusB,EAAY,GACzDnusB,EAAI,iBAAmBA,EAAI,kBAAoBmusB,EAAY,GAC3DnusB,EAAI,eAAiBA,EAAI,gBAAkBmusB,EAAY,GACvD,MACF,KAAK,EACHnusB,EAAI,cAAgBA,EAAI,eAAiBmusB,EAAY,GACrDnusB,EAAI,gBAAkBA,EAAI,iBAAmBmusB,EAAY,GACzDnusB,EAAI,iBAAmBA,EAAI,kBAAoBmusB,EAAY,GAC3DnusB,EAAI,eAAiBA,EAAI,gBAAkBmusB,EAAY,UAEpDnusB,EAAIj9Q,MACb,CACA,OAAOi9Q,CACT,CAsSoBousB,CADNxrL,EAAO/gW,IAAI5+b,OAAOjgB,MAAMu0c,IAE9B82hB,EAAazrL,EAAO/gW,IAAI5+b,OAAOjgB,MAAM4/yB,EAAO/gW,IAAI5+b,OAAOnhB,UAAUos+B,IACvE,OAAOtrL,EAAO/gW,IAAI5+b,OAAOnhB,UAAUus+B,EACrC,EACMC,GAAmB,SAAA1rL,GACvB,IAAMkjE,EAASljE,EAAOx8hB,UAAUyxd,UAC1B60P,EAAY9pL,EAAO/gW,IAAIlqI,UAAUmuiB,EAAQ,gBAC/C,OAAI4mH,EACK9pL,EAAO/gW,IAAIh9a,OAAO,MAAO6n8B,GAAW,GAEzC5mH,IAA+B,QAApBA,EAAO/pwB,UAAsBkw3B,EAAmBnmH,IACtD,KAEFA,CACT,EACMyoH,GAAiB,SAAC3rL,EAAQv/W,GAC9B,IAAI93Y,EACEs2Z,EAAM+gW,EAAO/gW,IACbmmY,EAljBO,SAAC/nzB,EAAKu4sB,GACnB,IATalsrB,EASPnuC,EAAI,CAAC,EAEX,OADAs2wB,EAAex0vB,EAAKu4sB,GAVPlsrB,EAUoBnuC,EAVf,SAAC3G,EAAG/V,GACtB6qD,EAAE7qD,GAAK+V,CACT,GAQuC21G,GAC9BhvG,CACT,CA8iB4Bsb,CAAOmpxB,EAAO98xB,OAAOqqxB,uBAAwB,SAAC7utB,EAAGoqS,GAAS,OAAMk3b,EAAO98xB,OAAO2ixB,aAAa/8a,EAAW,SAAS,GACnIm0gB,EAAYh+a,EAAIlqI,UAAU0rH,EAAO5oV,WAAY,SAAAvxD,GAAI,OA7iB9BjpB,EA6iBoD+nzB,EA7iB/Chk1B,EA6iBkEklD,EAAK6yD,SA7iB/D/0G,EAAIi5B,EAAKj8B,SAAqBoE,IAAb63B,EAAIj8B,IAAmC,OAAbi8B,EAAIj8B,GAA7D,IAACi8B,EAAKj8B,CA6iBgF,EAAE4+yB,EAAO50D,WACvH,OAAI6xI,GAC6C,QAAvCt00B,EAAKs2Z,EAAIxxa,MAAMwv1B,EAAWx8b,UAAiC,IAAZ93Y,EAAgBA,EAEhE83Y,CAEX,EAKMmriB,GAAqB,SAAC5rL,EAAQ/7yB,GAClC,IAAMqrB,EArHO,SAAC468B,EAAcjm+B,GAC5B,IAAMmsQ,EAAQrqP,SAAS6F,cAAc,OAMrC,GALAqf,GAAMi/7B,EAAY7+9B,EAAA,GACbpH,EAAK,CACR07b,SAAS,IACRvvL,GACH86tB,GAAO96tB,EAAOnsQ,EAAKigQ,IAAKjgQ,EAAK8m+B,cACzB9m+B,EAAK07b,QAAS,CAChB,IAAMc,EAAS06W,EAAIxjwB,OAAO,SAAU,CAClC9rB,MAAO,UAOT,OALA40a,EAAOlnZ,YAAY62N,GACnBqwL,EAAOlnZ,YAAY4hwB,EAAIxjwB,OAAO,aAAc,CAC1Cs/oB,gBAAiB,QAChB,YACHx2P,EAAOw2P,gBAAkB,QAClBx2P,CACT,CACE,OAAOrwL,CAEX,CAiGcz4N,CAAO,SAAAylP,GAAG,OAAIiusB,GAAerrL,EAAQ5ihB,EAAI,EAAEn5R,GACvD+7yB,EAAO/gW,IAAIs5V,UAAUjpxB,EAAK,cAAe,YACzC0wxB,EAAOr/wB,QACPq/wB,EAAOx8hB,UAAUg7d,WAAWlvtB,EAAI87Z,WAChC,IAAMygjB,EAAc7rL,EAAO/gW,IAAIh9a,OAAO,6BAA6B,GAGnE,GAFA+9wB,EAAO/gW,IAAIs5V,UAAUszL,EAAa,cAAe,MACjD7rL,EAAO/gW,IAAIs5V,UAAUszL,EAAa,eAAgB5n+B,EAAK6n+B,aACnDrB,GAASoB,GAAc,CACzB,IAAMpriB,EAASkriB,GAAe3rL,EAAQ6rL,GACtC7rL,EAAOx8hB,UAAUvhP,OAAOw+Z,EAC1B,MACEu/W,EAAOx8hB,UAAUvhP,OAAO4p8B,EAE5B,EAgBME,GAA4B,SAAC/rL,EAAQ/7yB,GACzC,IAAMmsQ,EAAQs7tB,GAAiB1rL,GAC/B,GAAI5viB,EAGF,GAFAnlO,GAAM,SAAAmyP,GAAG,OAAIiusB,GAAerrL,EAAQ5ihB,EAAI,EAAEn5R,EAAMmsQ,GAlBhC,SAAC4viB,EAAQ5viB,GAC3B4viB,EAAO/gW,IAAIs5V,UAAUnoiB,EAAO,MAAOA,EAAMz5J,aAAa,OACxD,CAiBIq13B,CAAYhsL,EAAQ5viB,GAChBq6tB,GAASr6tB,EAAMv4J,YAAa,CAC9B,IAAM4oV,EAASrwL,EAAMv4J,WACrB8z3B,GAAe3rL,EAAQv/W,GACvBu/W,EAAOx8hB,UAAUvhP,OAAOmuO,EAAMv4J,WAChC,MACEmosB,EAAOx8hB,UAAUvhP,OAAOmuO,GA7VR,SAAC4viB,EAAQ/7yB,EAAMi/2B,GACnC,IAAM+oH,EAAc,WAClB/oH,EAAOvj3B,OAASuj3B,EAAOr62B,QAAU,KAC7Bm3yB,EAAOx8hB,YACTw8hB,EAAOx8hB,UAAUvhP,OAAOih1B,GACxBljE,EAAO6lB,cAEX,EACAq9C,EAAOvj3B,OAAS,WACTsE,EAAKwa,OAAUxa,EAAK0a,SAAU+p9B,EAAc1oL,IAC/CA,EAAO/gW,IAAIk6V,WAAW+pE,EAAQ,CAC5Bzk2B,MAAOld,OAAO2h3B,EAAOj91B,aACrBtH,OAAQpd,OAAO2h3B,EAAOh91B,gBAG1B+l9B,GACF,EACA/oH,EAAOr62B,QAAUoj+B,CACnB,CA4UMC,CAAclsL,EAAQ/7yB,EAAMmsQ,EAGlC,EAQM+7tB,GAAsB,SAACnsL,EAAQosL,GACnC,IAAMh8tB,EAAQs7tB,GAAiB1rL,GAC/B,GAAI5viB,EAAO,CACT,IAAMi8tB,EAAoB586B,GAAK,SAAA2tO,GAAG,OAAIiusB,GAAerrL,EAAQ5ihB,EAAI,EAAEhtB,GAC7DnsQ,EAAIoH,EAAA,GACLgh+B,EACAD,GAECE,EAfgB,SAACtsL,EAAQ/7yB,GACjC,IAAMu1C,EAAMv1C,EAAKu1C,IACjB,OAAAnuC,EAAA,GACKpH,EAAK,CACRu1C,IAAK8v7B,EAAetpL,EAAQxmwB,GAAOA,EAAM,IAE7C,CAS0B+y7B,CAAkBvsL,EAAQ/7yB,GAC5CA,EAAKu1C,IACPuy7B,GAA0B/rL,EAAQssL,GA5CpB,SAACtsL,EAAQ5viB,GAC3B,GAAIA,EAAO,CACT,IAAM9gP,EAAM0wxB,EAAO/gW,IAAI1qa,GAAG67N,EAAMv4J,WAAY,gBAAkBu4J,EAAMv4J,WAAau4J,EACjF4viB,EAAO/gW,IAAIh2b,OAAOqG,GAClB0wxB,EAAOr/wB,QACPq/wB,EAAO6lB,cACH7lB,EAAO/gW,IAAIvib,QAAQsjxB,EAAO50D,aAC5B40D,EAAOxhE,WAAW,IAClBwhE,EAAOx8hB,UAAUgujB,oBAErB,CACF,CAmCMg7J,CAAYxsL,EAAQ5viB,EAExB,MAAWg8tB,EAAY5y7B,KACrBoy7B,GAAmB5rL,EAAM30yB,EAAA,GAxNF,CACzBmuC,IAAK,GACL0qN,IAAK,GACLloK,MAAO,GACPv9E,MAAO,GACPE,OAAQ,GACRkN,MAAO,GACP7L,MAAO,GACP2/a,SAAS,EACTkriB,OAAQ,GACRC,OAAQ,GACRxoqB,OAAQ,GACRyhjB,YAAa,GACbgnH,cAAc,GA6MPqB,GAGT,EAuBMpmkB,IAjBYg/d,EAJL,SAAC/yjB,EAAKszF,GAEjB,OADoBp2U,EAAc8iP,IAAQ9iP,EAAco2U,GACnCS,GAAU/zF,EAAKszF,GAAMA,CAC5C,EAES,WACL,GAAuB,IAAnBzja,UAAQxD,OACV,MAAM,IAAIkB,MAAM,4BAGlB,IADA,IAAMsiD,EAAM,CAAC,EACJ5tB,EAAI,EAAGA,EAAIpyB,UAAQxD,OAAQ41B,IAAK,CACvC,IAAM+w2B,EAAoB/w2B,EAAC,GAAApyB,UAAAxD,QAAD41B,OAAC1uB,EAAA1D,UAADoyB,GAC1B,IAAK,IAAM9yB,KAAO6j4B,EACZ7g4B,EAAI6g4B,EAAW7j4B,KACjB0gD,EAAI1gD,GAAO4j4B,EAAOlj1B,EAAI1gD,GAAM6j4B,EAAU7j4B,IAG5C,CACA,OAAO0gD,CACT,GAIE81pB,GAAWm3B,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,8BAEtCsrC,GAAS68rB,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,sBAElCijF,GAAW,SAAAl7D,GAAI,OAAImkD,EAASnkD,EAAKxvB,OAASwvB,EAAKxvB,MAAQ,EAAG,EAU1Dst+B,GAAe,SAACz88B,EAAM022B,GAC1B,IAAM9w1B,EAAM,GAiBZ,OAhBA1D,GAAOupB,KAAKzrC,EAAM,SAAArB,GAChB,IAAM8F,EAZM,SAAA9F,GACd,OAAImkD,EAASnkD,EAAK8F,MACT9F,EAAK8F,KACHq+C,EAASnkD,EAAKqtE,OAChBrtE,EAAKqtE,MAEL,EAEX,CAIiBw8oB,CAAQ7ptB,GACrB,QAAkBnpB,IAAdmpB,EAAKwya,KAAoB,CAC3B,IAAMp9a,EAAQ0o9B,GAAa998B,EAAKwya,KAAMulc,GACtC9w1B,EAAIhyC,KAAK,CACP6wB,OACA1Q,SAEJ,KAAO,CACL,IAAM5kB,EAAQun4B,EAAa/32B,GAC3BinB,EAAIhyC,KAAK,CACP6wB,OACAt1B,SAEJ,CACF,GACOy2C,CACT,EACMy9rB,GAAY,WAAH,IAAIq5P,EAAS5q+B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG+nF,GAAQ,OAAK,SAAA75D,GAC1C,OAAIA,EACK6/vB,EAASxquB,KAAKr1B,GAAM/gB,IAAI,SAAA+gB,GAAI,OAAIy88B,GAAaz88B,EAAM088B,EAAU,GAE7D78M,EAAS/gX,MAEpB,CAAE,EAGI69jB,GAAoB,SAAC388B,EAAM7wB,GAAK,OArrBtB,SAAC0qD,EAAK5kD,GACpB,IAAK,IAAIpG,EAAI,EAAGA,EAAIgrD,EAAIvrD,OAAQO,IAAK,CACnC,IAAM6qD,EAAIzkD,EAAE4kD,EAAIhrD,GAAIA,GACpB,GAAI6qD,EAAEolrB,SACJ,OAAOplrB,CAEX,CACA,OAAOmmuB,EAAS/gX,MAClB,CA6qB2CyiX,CAAQvhwB,EAAM,SAAArB,GACvD,OAFc,SAAAA,GAAI,OAAIvqB,EAAIuqB,EAAM,QAAS,CAErCi+8B,CAAQj+8B,GACHg+8B,GAAkBh+8B,EAAK5K,MAAO5kB,GAC5BwvB,EAAKxvB,QAAUA,EACjB0wxB,EAASpyvB,KAAK9O,GAEdkhwB,EAAS/gX,MAEpB,EAAG,EAEG+9jB,GACJx5P,GADIw5P,GAZW,SAAA788B,GAAI,OAAIqjtB,GAAUxppB,GAAVwppB,CAAoBrjtB,EAAM,EAY7C688B,GADY,SAACC,EAAS3t+B,GAAK,OAAK2t+B,EAAQro6B,KAAK,SAAAz0C,GAAI,OAAI288B,GAAkB388B,EAAM7wB,EAAM,EAAE,EAqErF4t+B,GA9DY,SAAA/sf,GAAK,MAAK,CAC1BhkZ,MAAO,WACPr/F,KAAM,WACNonB,MAAO,CAAC,CACNlkB,KAAM,OACNmpP,QAAS,EACTjlO,MAAO,CAAC,CACNlkB,KAAM,QACN8vB,MAAO,iBACPhzB,KAAM,SACNqw+B,UAAW,WACV,CACDnt+B,KAAM,QACN8vB,MAAO,mBACPhzB,KAAM,SACNqw+B,UAAW,WACV,CACDnt+B,KAAM,QACN8vB,MAAO,eACPhzB,KAAM,SACNqw+B,UAAW,WACV,CACDnt+B,KAAM,UACNlD,KAAM,cACNgzB,MAAO,eACP5L,MAAO,CAAC,CACN0Q,KAAM,YACNt1B,MAAO,IACN,CACDs1B,KAAM,QACNt1B,MAAO,SACN,CACDs1B,KAAM,SACNt1B,MAAO,UACN,CACDs1B,KAAM,SACNt1B,MAAO,UACN,CACDs1B,KAAM,SACNt1B,MAAO,UACN,CACDs1B,KAAM,SACNt1B,MAAO,UACN,CACDs1B,KAAM,QACNt1B,MAAO,SACN,CACDs1B,KAAM,QACNt1B,MAAO,SACN,CACDs1B,KAAM,SACNt1B,MAAO,UACN,CACDs1B,KAAM,OACNt1B,MAAO,QACN,CACDs1B,KAAM,SACNt1B,MAAO,eAId,EAKKswd,GAAU,SAAAuwV,GACd,IAAMitL,EAAmBJ,GAAoB,SAAAl+8B,GAAI,OAAIqxxB,EAAO0iE,WAAW/z1B,EAAKxvB,OAASwvB,EAAK+F,KAAO,GAAI,MAAM,GACrGw48B,EAAkB,IAAIvm+B,QAAQ,SAAA0n6B,IAniBd,SAACruH,EAAQ5gzB,GAC/B,IAAM+t+B,EAAYnE,EAAahpL,GAC3BltuB,EAASq65B,GACXl16B,MAAMk16B,GAAWvr+B,KAAK,SAAAqvD,GAChBA,EAAIpJ,IACNoJ,EAAIigC,OAAOtvF,KAAKxC,EAEpB,GACSkrD,EAAW6i7B,GACpBA,EAAU/t+B,GAEVA,EAAS+t+B,EAEb,CAuhBIC,CAAgBptL,EAAQ,SAAAmtL,GACtB9+D,EAAU4+D,EAAiBE,GAAWl+9B,IAAI,SAAA8U,GAAK,OAAIm1F,EAAQ,CAAC,CAAC,CAC3DzkF,KAAM,OACNt1B,MAAO,KACL4kB,GAAO,GACb,EACF,GACM8F,EAAYgj9B,GAAmB96D,EAAa/xH,IAC5CqtL,EAAc1E,EAAU3oL,GACxBstL,EAAiB1E,EAAa5oL,GAC9ButL,EA9oBa,SAAAvtL,GAAM,OAAIjtU,EAAWitU,EAAOl6yB,QAAQxB,IAAI,qBAAsB,CA8oB1Dkp+B,CAAaxtL,GAC9BytL,EA9oBiB,SAAAztL,GAAM,OAAI/wB,EAAc+wB,EAAOl6yB,QAAQxB,IAAI,yBAA0B,CA8oBjEop+B,CAAiB1tL,GACtC5viB,EAjP2B,SAAA4viB,GACjC,IAAM5viB,EAAQs7tB,GAAiB1rL,GAC/B,OAAO5viB,EAAQ3gN,GAAK,SAAA2tO,GAAG,OAAIiusB,GAAerrL,EAAQ5ihB,EAAI,EAAEhtB,GAnJ/B,CACzB52N,IAAK,GACL0qN,IAAK,GACLloK,MAAO,GACPv9E,MAAO,GACPE,OAAQ,GACRkN,MAAO,GACP7L,MAAO,GACP2/a,SAAS,EACTkriB,OAAQ,GACRC,OAAQ,GACRxoqB,OAAQ,GACRyhjB,YAAa,GACbgnH,cAAc,EAuIhB,CA8OgB4C,CAA2B3tL,GACnC4tL,EAAmBr2oB,EAAeyod,GAClC6tL,EAAkB/E,EAAc9oL,GAChC8tL,EAAkBpF,EAAc1oL,GAChC+tL,EAAoBhF,EAAgB/oL,GACpCguL,EAA0B/E,EAAyBjpL,GACnDiuL,EAAmBpiL,EAA0B7L,GAC7CkuL,EAAar+M,EAASpyvB,KAAKor8B,EAAc7oL,IAASnpxB,OAAO,SAAAs38B,GAAM,OAAIr75B,EAASq75B,IAAWA,EAAO7v+B,OAAS,CAAC,GACxG8v+B,EAtpBmB,SAAApuL,GACzB,IAAAh8c,EAKIg8c,EAAOl6yB,QAAQxB,IAAI,eAAe8rQ,OAAS,CAAC,EAACi+tB,EAAArqoB,EAJ/CsqoB,oBAAAA,OAAmB,IAAAD,GAAOA,EAAAE,EAAAvqoB,EAC1BwqoB,eAAAA,OAAc,IAAAD,GAAQA,EAAAE,EAAAzqoB,EACtB0qoB,kBAAAA,OAAiB,IAAAD,EAAG,SAAArv+B,GAAQ,OAAIA,EAAS,KAAK,EAAAqv+B,EAAAE,EAAA3qoB,EAC9C5lS,OAEF,MAAO,CACLkw6B,sBACAE,iBACAE,oBACAtw6B,OAAM/yD,EAAA,CACJuj+B,QAAS,gBACT38c,SAAU,2BACV/qb,OAAQ,uBATJ,IAAAyn4B,EAAG,CAAC,EAACA,GAaf,CAooBqBE,CAAmB7uL,GACtC,OAAOktL,EAAgBtr+B,KAAK,SAAAur+B,GAAS,MAAK,CACxC/8tB,QACA+8tB,YACAtj9B,YACA8+8B,UAAW0E,EACXzE,aAAc0E,EACdE,aAAcD,EACdG,iBAAkBD,EAClBl2oB,eAAgBq2oB,EAChB9E,cAAe+E,EACfnF,cAAeoF,EACf/E,gBAAiBgF,EACjBG,aACAF,0BACAC,mBACAG,aACD,EACH,EAmCMU,GAjCY,SAAA9uf,GAChB,IAAA+uf,EAGI/uf,EAAMouf,WAFRE,EAAmBS,EAAnBT,oBACAlw6B,EAAM2w6B,EAAN3w6B,OAGAww6B,EAGExw6B,EAHFww6B,QACAI,EAEE5w6B,EAFF4w6B,SACA9n4B,EACE9oC,EADF8oC,OAEInjF,EAAQ,CAAC,CACblkB,KAAM,QACN8vB,MAAOu3E,EACPnjF,MAAO,CAAC,CACNlkB,KAAM,SACNlD,KAAM,gBACN83B,KAAMyyE,EACN/iF,KAAM,aAUV,OAPImq9B,GACFvq9B,EAAMngB,KAAK,CACT/D,KAAM,WACNlD,KAAM,cACNgzB,MAAOq/8B,IAGJ,CACLhz4B,MAAO4y4B,EACPjy+B,KAAM,aACNonB,QAEJ,EAKMkr9B,GAAY,SAAA509B,GAChB,IAoD+B609B,EA7CzB/B,EAAY9y9B,EAAK8y9B,UAAUl+9B,IAAI,SAAA8U,GAAK,MAAK,CAC7CpnB,KAAM,SACNkD,KAAM,UACN8vB,MAAO,aACP5L,QACD,GACKor9B,EAAmB,CACvBxy+B,KAAM,MACNkD,KAAM,QACN8vB,MAAO,0BACPk0I,UAAWxpJ,EAAK2z9B,yBAA2B3z9B,EAAK+1P,MAAM26tB,eAoBlDlh9B,EAAYxP,EAAKwP,UAAU5a,IAAI,SAAA8U,GAAK,MAAK,CAC7CpnB,KAAM,UACNkD,KAAM,UACN8vB,MAAO,QACP5L,QACD,GAgBD,OAAOm1F,EAAQ,CAAC,CA1DC,CACfv8G,KAAM,MACNkD,KAAM,WACNuv+B,SAAU,QACVz/8B,MAAO,SACP0/8B,YAAa,iBAqDalC,EAAU5vvB,UAAWljO,EAAK2z9B,yBAA2B3z9B,EAAKk9U,eAAiB,CA9BlF,CACnB13V,KAAM,QACN8vB,MAAO,gBACP5L,MAAO,CAAC,CACNpnB,KAAM,eACNkD,KAAM,WACN8vB,MAAO,0BAwB6G,GAAItV,EAAKk9U,eAAiB,CAAC43oB,GAAoB,GAAI909B,EAAKyu9B,cAAgB,CAvC7K,CACjBns+B,KAAM,QACNkD,KAAM,QACN8vB,MAAO,gBAoCsM,GAAItV,EAAKqu9B,cAAgB,CAlChN,CACtB/r+B,KAAM,aACNkD,KAAM,cAgCoP,GAAI,CAAAwL,EAAA,IANjO6j+B,EAOH709B,EAAKwP,UAAUiltB,UAAYz0tB,EAAK0u9B,gBAPfmG,EAAa,CACxDrv+B,KAAM,OACNmpP,QAAS,GACP,CACFnpP,KAAM,UAGqE,CAC3EkkB,MAAOm1F,EAAQ,CAACrvF,EAAU0zN,UAAWljO,EAAK0u9B,gBAAkB,CAjB9C,CACdlp+B,KAAM,QACN8vB,MAAO,UACP5L,MAAO,CAAC,CACNlkB,KAAM,WACNlD,KAAM,UACNgzB,MAAO,mBAW+D,SAE5E,EAMM2/8B,GALY,SAAAj19B,GAAI,MAAK,CACzB2hF,MAAO,UACPr/F,KAAM,UACNonB,MAAOkr9B,GAAU509B,GAClB,EACKi19B,GAEJL,GAcIM,GAXU,SAAAvvf,GAKd,MAAO,CACLhkZ,MAAO,SACPr/F,KAAM,SACNonB,MAPY,CAAC,CACblkB,KAAM,WACNlD,KAAM,cAOV,EAUM6y+B,GAAgB,SAAAp/tB,GAAK,MAAK,CAC9B52N,IAAK,CACHr6C,MAAOixQ,EAAM52N,IACb/wB,KAAM,CAAC,GAET4rG,OAAQ+7I,EAAM52N,IACd0qN,IAAKkM,EAAMlM,IACXloK,MAAOo0K,EAAMp0K,MACbz6E,WAAY,CACV9C,MAAO2xP,EAAM3xP,MACbE,OAAQyxP,EAAMzxP,QAEhByvW,QAASh+G,EAAMvkP,MACf8za,QAASvvL,EAAMuvL,QACf3/a,MAAOowP,EAAMpwP,MACb8q9B,OAAQ16tB,EAAM06tB,OACdxoqB,OAAQlyD,EAAMkyD,OACduoqB,OAAQz6tB,EAAMy6tB,OACd4E,YAAar/tB,EAAM2zmB,YACnB2rH,UAAW,GACXC,YAAa,GACb5E,aAAc36tB,EAAM26tB,aACrB,EACK6E,GAAc,SAAC3r+B,EAAM4r+B,GAAc,MAAM,CAC7Cr27B,IAAKv1C,EAAKu1C,IAAIr6C,MACd+kQ,IAAmB,OAAbjgQ,EAAKigQ,KAAoC,IAApBjgQ,EAAKigQ,IAAI5lQ,SAAiBux+B,EAAwB5r+B,EAAKigQ,IAAZ,KACtEloK,MAAO/3F,EAAK+3F,MACZv9E,MAAOxa,EAAKsd,WAAW9C,MACvBE,OAAQ1a,EAAKsd,WAAW5C,OACxBkN,MAAO5nB,EAAKmqX,QACZpuW,MAAO/b,EAAK+b,MACZ2/a,QAAS17b,EAAK07b,QACdkriB,OAAQ5m+B,EAAK4m+B,OACbC,OAAQ7m+B,EAAK6m+B,OACbxoqB,OAAQr+T,EAAKq+T,OACbyhjB,YAAa9/2B,EAAKwr+B,YAClB1E,aAAc9m+B,EAAK8m+B,aACnBe,YAAa7n+B,EAAK0r+B,YAAYrx+B,OAAS,EACxC,EAYKwx+B,GAAgB,SAACz19B,EAAMy3H,GAC3B,IAAM7tI,EAAO6tI,EAAI71G,WAZI,SAAC5hB,EAAM019B,GAC5B,MAAK,uBAAuBxv+B,KAAKwv+B,GAQ1BlgN,EAAS/gX,OAPPz0Z,EAAK6z9B,WAAWzp6B,KAAK,SAAAur6B,GAC1B,OAAID,EAAO9w+B,UAAU,EAAG+w+B,EAAW1x+B,UAAY0x+B,EACtCngN,EAASpyvB,KAAKuy8B,EAAaD,GAE7BlgN,EAAS/gX,MAClB,EAGJ,EAGEmhkB,CAAe519B,EAAMpW,EAAKu1C,IAAIr6C,OAAOs8D,KAAK,SAAAs06B,GACxCj+1B,EAAI/1G,QAAQ,CACVyd,IAAK,CACHr6C,MAAO4w+B,EACPtn9B,KAAMxkB,EAAKu1C,IAAI/wB,OAGrB,EACF,EA+CMyn9B,GAAmB,SAAC719B,EAAMy3H,GAC9B,IAAM7tI,EAAO6tI,EAAI71G,UACXxT,EAAOxkB,EAAKu1C,IAAI/wB,KACtB,QAAajjB,IAATijB,EAAoB,CACtB,IAAMw+iB,EAAUjhK,GAAU,CAAC,EAAG/ha,IAlDR,SAACoW,EAAMpW,EAAMwkB,GACjCpO,EAAKk9U,gBAAkBzkR,EAASrqD,EAAKy7O,OACvCjgQ,EAAKigQ,IAAMz7O,EAAKy7O,KAEd7pP,EAAK2z9B,0BACP/p+B,EAAK8m+B,aAAeti9B,EAAKsi9B,cAAgB9m+B,EAAK8m+B,eAAgB,GAE5D1w9B,EAAKyu9B,eAAiBh25B,EAASrqD,EAAKuzE,SACtC/3F,EAAK+3F,MAAQvzE,EAAKuzE,OAEhB3hF,EAAKqu9B,gBACH515B,EAASrqD,EAAKhK,SAChBxa,EAAKsd,WAAW9C,MAAQgK,EAAKhK,OAE3Bq0D,EAASrqD,EAAK9J,UAChB1a,EAAKsd,WAAW5C,OAAS8J,EAAK9J,SAG9Bm0D,EAASrqD,EAAKoD,QAChBgh9B,GAAoBxy9B,EAAKwP,UAAWpB,EAAKoD,OAAO4vC,KAAK,SAAAxoD,GACnDhP,EAAKmqX,QAAUn7W,EAAM9T,KACvB,GAEEkb,EAAK0u9B,iBACHttzB,EAAUhzJ,EAAKk3a,WACjB17b,EAAK07b,QAAUl3a,EAAKk3a,SAGpBtlb,EAAKsu9B,YACH715B,EAASrqD,EAAKzI,SAChB/b,EAAK+b,MAAQyI,EAAKzI,OAEhB8yD,EAASrqD,EAAKqi9B,UAChB7m+B,EAAK6m+B,OAASri9B,EAAKqi9B,QAEjBh45B,EAASrqD,EAAK65S,UAChBr+T,EAAKq+T,OAAS75S,EAAK65S,QAEjBxvP,EAASrqD,EAAKoi9B,UAChB5m+B,EAAK4m+B,OAASpi9B,EAAKoi9B,QAEjB/35B,EAASrqD,EAAKgn9B,eAChBxr+B,EAAKwr+B,YAAchn9B,EAAKgn9B,aAG9B,CAMIU,CAAkB919B,EAAM4sjB,EAASx+iB,GACjCqpH,EAAI/1G,QAAQkriB,EACd,CACF,EAgCMmpa,GAAY,SAAC5x1B,EAASnkI,EAAM4D,EAAO6zH,GACvCg+1B,GAAcz19B,EAAMy3H,GACpBo+1B,GAAiB719B,EAAMy3H,GAjCE,SAAC0M,EAASnkI,EAAM4D,EAAO6zH,GAChD,IAAM7tI,EAAO6tI,EAAI71G,UACXvH,EAAMzwB,EAAKu1C,IAAIr6C,MACfspB,EAAOxkB,EAAKu1C,IAAI/wB,MAAQ,CAAC,EAC1BA,EAAKhK,OAAUgK,EAAK9J,SAAUtE,EAAKqu9B,gBAClC31f,EAAWr+c,GACb8pH,EAAQ6x1B,UAAU378B,GAAK9yB,KAAK,SAAA4C,GACtByZ,EAAM1V,MACRupI,EAAI/1G,QAAQ,CACVxa,WAAY/c,GAGlB,GAAGqF,MAAM,SAAAnN,GAAC,OAAIE,QAAQC,MAAMH,EAAE,GAE9Bo1I,EAAI/1G,QAAQ,CACVxa,WAAY,CACV9C,MAAO,GACPE,OAAQ,MAKlB,CAYE2x9B,CAAmB9x1B,EAASnkI,EAAM4D,EAAO6zH,GAXd,SAACz3H,EAAM4D,EAAO6zH,GACzC,IAAM7tI,EAAO6tI,EAAI71G,UACXm0O,EAAQy8tB,GAAoBxy9B,EAAK8y9B,UAAWlp+B,EAAKu1C,IAAIr6C,OAC3D8e,EAAMsy9B,UAAYnguB,EAClBt+H,EAAI/1G,QAAQ,CACVs4F,OAAQ+7I,EAAMnhQ,IAAI,SAAAgE,GAAK,OAAIA,EAAM9T,KAAK,GAAE8vuB,MAAM,KAElD,CAKEuhQ,CAAqBn29B,EAAM4D,EAAO6zH,EACpC,EAkEM2+1B,GAA2B,SAACjy1B,EAASnkI,EAAM4D,EAAO6zH,GACtD,IAAM7tI,EAAO6tI,EAAI71G,UACjB61G,EAAIowG,MAAM,mBACVt8L,EAAK3hD,EAAK0r+B,aAAap/P,KAAK,WAC1Bz+lB,EAAIo3yB,SACN,EAAG,SAAAzhpB,GACD,IAAM0kd,EAAU52tB,IAAIqpjB,gBAAgBn3S,GAWpCqxjB,EAAcrxjB,GAAM7lS,KAAK,SAAA8u+B,GACvB,IAX4Bh88B,EAWtB2k0B,EAAW76sB,EAAQmy1B,gBAAgBlpsB,EAAM0kd,EAASukP,GACxDly1B,EAAQoy1B,eAAev3I,GAZK3k0B,EAaN2k0B,EAASltG,UAZ/Br6mB,EAAI/1G,QAAQ,CACVyd,IAAK,CACHr6C,MAAOu1B,EACPjM,KAAM,CAAC,KAGXqpH,EAAI++1B,QAAQ,WACZT,GAAU5x1B,EAASnkI,EAAM4D,EAAO6zH,GAMhCA,EAAIo3yB,SACN,EACF,EACF,EACM4nD,GAAgB,SAACty1B,EAASnkI,EAAM4D,GAAK,OAAK,SAAC6zH,EAAK6zF,GACnC,QAAbA,EAAIhpO,KACNyz+B,GAAU5x1B,EAASnkI,EAAM4D,EAAO6zH,GACV,WAAb6zF,EAAIhpO,KA7FI,SAAC6hJ,EAASnkI,EAAM4D,EAAO6zH,GAC1C,IAAM7tI,EAAO6tI,EAAI71G,UACXm0O,EAAQy8tB,GAAoBxy9B,EAAK8y9B,UAAWlp+B,EAAKowH,QACvD+7I,EAAM30M,KAAK,SAAAolY,GACT,IAAMuqiB,EAAyB,KAAbnn+B,EAAKigQ,KAAcjmP,EAAMsy9B,UAAUth+B,IAAI,SAAAmhQ,GAAK,OAAIA,EAAM37O,OAASxwB,EAAKigQ,GAAG,GAAE+qe,OAAM,GAC7Fm8P,EACgB,KAAdvqiB,EAAI1hc,MACN2yI,EAAI/1G,QAAQ,CACVyd,IAAKqnZ,EACL38L,IAAKjmP,EAAM8y9B,UAGbj/1B,EAAI/1G,QAAQ,CACVyd,IAAKqnZ,EACL38L,IAAK28L,EAAIpsa,OAIbq9G,EAAI/1G,QAAQ,CACVyd,IAAKqnZ,GAGX,GACA5ib,EAAMsy9B,UAAYnguB,EAClBgguB,GAAU5x1B,EAASnkI,EAAM4D,EAAO6zH,EAClC,CAqEIk/1B,CAAaxy1B,EAASnkI,EAAM4D,EAAO6zH,GACb,QAAb6zF,EAAIhpO,KACbshB,EAAM8y9B,QAAUj/1B,EAAI71G,UAAUioO,IACR,cAAbv+B,EAAIhpO,KAvEO,SAAC6hJ,EAASnkI,EAAM4D,EAAO6zH,GAC7C,IAAM7tI,EAAO6tI,EAAI71G,UACjB61G,EAAIowG,MAAM,mBACVt8L,EAAK3hD,EAAKyr+B,WAAWn/P,KAAK,WACxBz+lB,EAAIo3yB,SACN,EAAG,SAAAzhpB,GACD,IAAM0kd,EAAU52tB,IAAIqpjB,gBAAgBn3S,GAC9BmnC,EAAW,WACf98L,EAAIo3yB,UACJ3z5B,IAAI6qrB,gBAAgB+rC,EACtB,EACM8kP,EAAwB,SAAAv88B,GAC5Bo9G,EAAI/1G,QAAQ,CACVyd,IAAK,CACHr6C,MAAOu1B,EACPjM,KAAM,CAAC,KAGXqpH,EAAI++1B,QAAQ,WACZT,GAAU5x1B,EAASnkI,EAAM4D,EAAO6zH,EAClC,EACAgntB,EAAcrxjB,GAAM7lS,KAAK,SAAA8u+B,GACvB,IAAMr3I,EAAW76sB,EAAQmy1B,gBAAgBlpsB,EAAM0kd,EAASukP,GACpDr29B,EAAK4z9B,iBACPzv1B,EAAQ0y1B,YAAY73I,GAAUz31B,KAAK,SAAA7B,GACjCkx+B,EAAsBlx+B,EAAO20B,KAC7Bk6S,GACF,GAAG/kU,MAAM,SAAA7E,GACP4pU,IACApwL,EAAQ2y1B,SAASns+B,EACnB,IAEAw5I,EAAQoy1B,eAAev3I,GACvB43I,EAAsB53I,EAASltG,WAC/Br6mB,EAAIo3yB,UAER,EACF,EACF,CAkCIkoD,CAAgB5y1B,EAASnkI,EAAM4D,EAAO6zH,GAChB,iBAAb6zF,EAAIhpO,KACbm1I,EAAIqmxB,WAAW,OAAQrmxB,EAAI71G,UAAU8u8B,cACf,gBAAbplwB,EAAIhpO,MACb8z+B,GAAyBjy1B,EAASnkI,EAAM4D,EAAO6zH,EAEnD,CAAE,EACIq0K,GAAgB,SAAC3nK,EAASnkI,EAAM4D,GAAK,OAAK,SAAC6zH,EAAK6zF,GACpD,GAAiB,kBAAbA,EAAIhpO,KAA0B,CAWhC0d,EAAK+z9B,WAAWM,kBAAkBlw1B,EAAQ6y1B,YAVlB,SAAA3giB,GACtB5+T,EAAI/1G,QAAQ,CACVyd,IAAK,CACHr6C,MAAOuxc,EACPjob,KAAM,CAAC,KAGXqpH,EAAI++1B,QAAQ,WACZT,GAAU5x1B,EAASnkI,EAAM4D,EAAO6zH,EAClC,EAEF,CACF,CAAE,EACIw/1B,GAAe,SAAArz9B,GAAK,OAAI,WAC5BA,EAAM1V,MAAO,CACf,CAAE,EACIgp+B,GAAiB,SAAAl39B,GACrB,OAAIA,EAAKsu9B,WAAatu9B,EAAKmz9B,cAAgBnz9B,EAAKqz9B,iBAC7B,CACf7t+B,KAAM,WACNq56B,KAAMhg0B,EAAQ,CAAC,CAACo23B,GAAgBj19B,IAAQA,EAAKsu9B,UAAY,CAACoE,GAAe1y9B,IAAS,GAAIA,EAAKuu9B,eAAiBvu9B,EAAKmz9B,cAAgBnz9B,EAAKqz9B,kBAAoB,CAAC6B,GAAkBl19B,IAAS,GAAIA,EAAK+z9B,WAAWI,eAAiB,CAACM,GAAmBz09B,IAAS,MAI5O,CACZxa,KAAM,QACNkkB,MAAOur9B,GAAkBj19B,GAI/B,EACMmk6B,GAAgB,SAACx+H,EAAQ3lyB,EAAMmkI,GAAO,OAAK,SAAA1M,GAC/C,IAAM7tI,EAAO+ha,GAAUwpkB,GAAcn19B,EAAK+1P,OAAQt+H,EAAI71G,WAChDu18B,EAASnm+B,EAAA,GACVpH,EAAK,CACR+b,MAAO4q9B,GAAcps1B,EAAQ0r1B,aAAc0F,GAAY3r+B,GAAM,MAE/D+7yB,EAAO/0D,YAAY,kBAAkB,EAAO2kP,GAAY4B,EAAWn39B,EAAK2z9B,0BACxEhuL,EAAO/zD,aAAa+2H,mBACpBlxuB,EAAIzmH,OACN,CAAE,EACIgl9B,GAAY,SAAArwL,GAAM,OAAI,SAAAtrxB,GAC1B,OAAK408B,EAAetpL,EAAQtrxB,GAtkCT,SAAAA,GAAG,OAAI,IAAI/tB,QAAQ,SAAAvH,GACtC,IAAMyhc,EAAM96a,SAAS6F,cAAc,OAC7B7mB,EAAO,SAAAwc,GACXs/a,EAAIlhc,OAASkhc,EAAIh4b,QAAU,KACvBg4b,EAAIhpV,YACNgpV,EAAIhpV,WAAW9zD,YAAY88Y,GAE7Bzhc,EAASmiB,EACX,EACAs/a,EAAIlhc,OAAS,WACX,IAEM4hB,EAAa,CACjB9C,MAHYyq9B,EAAkBroiB,EAAIpib,MAAOoib,EAAI56a,aAI7CtH,OAHauq9B,EAAkBroiB,EAAIlib,OAAQkib,EAAI36a,eAKjDnhB,EAAK4B,QAAQC,QAAQ2a,GACvB,EACAs/a,EAAIh4b,QAAU,WACZ9D,EAAK4B,QAAQE,OAAO,uCAAuCvF,OAAOozB,IACpE,EACA,IAAM1U,EAAQ6gb,EAAI7gb,MAClBA,EAAMk+N,WAAa,SACnBl+N,EAAMC,SAAW,QACjBD,EAAM/D,OAAS+D,EAAMlE,KAAO,MAC5BkE,EAAMvB,MAAQuB,EAAMrB,OAAS,OAC7BoH,SAAS4yC,KAAKpf,YAAYsnZ,GAC1BA,EAAIrnZ,IAAM9kB,CACZ,EAAG,CAgjCQ+88B,CAAazxL,EAAOu+D,gBAAgBC,WAAW9p1B,IAAM9yB,KAAK,SAAA2f,GAAU,MAAK,CAC9E9C,MAAOld,OAAOggB,EAAW9C,OACzBE,OAAQpd,OAAOggB,EAAW5C,QAC3B,GARMhY,QAAQC,QAAQ,CACrB6X,MAAO,GACPE,OAAQ,IAQd,CAAE,EACIgy9B,GAAkB,SAAA3wL,GAAM,OAAI,SAACv4gB,EAAM0kd,EAASukP,GAChD,IAAI/n7B,EACJ,OAAOq3vB,EAAO/zD,aAAaC,UAAUv0sB,OAAO,CAC1C07D,KAAMo0L,EACN0kd,UACAxvvB,KAA2B,QAApBgsD,EAAK8+O,EAAK9qS,YAA8B,IAAZgsD,OAAqB,EAAIA,EAAGppC,QAAQ,YAAa,IACpFmxb,SAAUjpK,EAAK9qS,KACfo6O,OAAQ25vB,EAAQjj8B,MAAM,KAAK,IAE/B,CAAE,EACImj8B,GAAiB,SAAA5wL,GAAM,OAAI,SAAAq5C,GAC/Br5C,EAAO/zD,aAAaC,UAAU5+uB,IAAI+r1B,EACpC,CAAE,EACI83I,GAAW,SAAAnxL,GAAM,OAAI,SAAAv2yB,GACzBu2yB,EAAOjzD,cAAchwf,MAAMtzP,EAC7B,CAAE,EACIyg+B,GAAe,SAAAlqL,GAAM,OAAI,SAAArrW,GAAO,OAAI02hB,GAAerrL,EAAQrrW,EAAS,CAAD,EACnEsmW,GAAa,SAAA+E,GAAM,OAAI,SAAArrW,GAAO,OAAIqrW,EAAO/gW,IAAIg8V,WAAWtmW,EAAS,CAAD,EAChEumW,GAAiB,SAAA8E,GAAM,OAAI,SAAClF,EAAWn+yB,GAAI,OAAKqjzB,EAAO/gW,IAAIi8V,eAAeJ,EAAWn+yB,EAAM,CAAD,EAC1Fu0+B,GAAc,SAAAlxL,GAAM,OAAI,SAAAq5C,GAAQ,OAAIzhJ,GAASooG,GAAQ7xuB,OAAO,CAACkrxB,IAAW,GAAOz31B,KAAK,SAAAw/E,GACxF,IAAIz4B,EACJ,OAAuB,IAAnBy4B,EAAQ9iF,OACHqI,QAAQE,OAAO,2BACS,IAAtBu6E,EAAQ,GAAG9mD,OACb3zB,QAAQE,OAAmC,QAA3B8hD,EAAKy4B,EAAQ,GAAGvkF,aAA+B,IAAZ8rD,OAAqB,EAAIA,EAAGl/C,SAE/E23E,EAAQ,EAEnB,EAAG,CAAD,EACIs91B,GAAS,SAAA1+H,GACb,IAAMxhqB,EAAU,CACd6x1B,UAAWA,GAAUrwL,GACrB4wL,eAAgBA,GAAe5wL,GAC/B2wL,gBAAiBA,GAAgB3wL,GACjCmxL,SAAUA,GAASnxL,GACnBkqL,aAAcA,GAAalqL,GAC3B/E,WAAYA,GAAW+E,GACvB9E,eAAgBA,GAAe8E,GAC/BkxL,YAAaA,GAAYlxL,GACzBqxL,UAAW,WAAF,OAAQrxL,CAAM,GA2BzB,MAAO,CACLz3yB,KA1BW,WACXknd,GAAQuwV,GAAQp+yB,KAAK,SAAAyY,GACnB,IAAM4D,EA1WQ,SAAA5D,GAAI,MAAK,CAC3Bk29B,UAAW1D,GAAoBxy9B,EAAK8y9B,UAAW9y9B,EAAK+1P,MAAM52N,KAC1Du37B,QAAS129B,EAAK+1P,MAAMlM,IACpB37P,MAAM,EACP,CAsWmBmp+B,CAAYr39B,GAC1B,MAAO,CACL2hF,MAAO,oBACPx3F,KAAM,SACNm0D,KAAM446B,GAAel39B,GACrBi+Q,QAAS,CAAC,CACRz4R,KAAM,SACNlD,KAAM,SACN83B,KAAM,UACL,CACD50B,KAAM,SACNlD,KAAM,OACN83B,KAAM,OACNk4tB,SAAS,IAEXE,YAAa2iP,GAAcn19B,EAAK+1P,OAChC2lqB,SAAUyI,GAAcx+H,EAAQ3lyB,EAAMmkI,GACtCkiL,SAAUowqB,GAActy1B,EAASnkI,EAAM4D,GACvCkhT,SAAUhZ,GAAc3nK,EAASnkI,EAAM4D,GACvC09d,QAAS21f,GAAarz9B,GAE1B,GAAGrc,KAAKo+yB,EAAOjzD,cAAcxkvB,KAC/B,EAIF,EASMop+B,GAAgB,SAAArr7B,GACpB,IAAMr6B,EAAYq6B,EAAK2pB,KAAK,SAC5B,OAAOg/sB,EAAchjwB,IAAc,YAAY1rB,KAAK0rB,EACtD,EACM2l9B,GAA6B,SAAA3z9B,GAAK,OAAI,SAAA+6F,GAK1C,IAJA,IAAIn6G,EAAIm6G,EAAM16G,OACRuz+B,EAAwB,SAAAvr7B,GAC5BA,EAAK2pB,KAAK,kBAAmBhyD,EAAQ,OAAS,KAChD,EACOpf,KAAK,CACV,IAAMynD,EAAO0yD,EAAMn6G,GACf8y+B,GAAcrr7B,KAChBA,EAAK2pB,KAAK,kBAAmBhyD,EAAQ,QAAU,MAC/Ci0B,GAAOupB,KAAKnV,EAAKytT,OAAO,cAAe89nB,GAE3C,CACF,CAAE,EAQIz7D,GAAkB,SAAAp2H,GAAM,OAAI,SAAAluqB,GAChC,IAAM+zrB,EAAc,WAClB/zrB,EAAIqmxB,WAAWn4G,EAAOx8hB,UAAU44hB,aAClC,EAGA,OAFA4D,EAAOlnuB,GAAG,aAAc+svB,GACxBA,IACO,WACL7lB,EAAOl7tB,IAAI,aAAc+gvB,EAC3B,CACF,CAAE,EA4BAwpG,EAAS/h6B,IAAI,QAAS,SAAA0yyB,IA5CV,SAAAA,GACZA,EAAOlnuB,GAAG,UAAW,WACnBknuB,EAAOtvuB,OAAOgnxB,cAAc,SAAUk6I,IAA2B,IACjE5xL,EAAOt5yB,WAAWgx1B,cAAc,SAAUk6I,IAA2B,GACvE,EACF,CAwCI/+gB,CAAMmtV,GACNupF,EAAWvpF,GA7BE,SAAAA,GACfA,EAAO5/X,GAAG5zZ,SAAS274B,gBAAgB,QAAS,CAC1Chk5B,KAAM,QACNq4F,QAAS,oBACT2iN,SAAUu/mB,GAAO1+H,GAAQz3yB,KACzB0/3B,QAAS,SAAA8qC,GACPA,EAAU5jG,UAAUlgD,EAAcy8M,GAAiB1rL,KACnD,IAAMq2H,EAAwBr2H,EAAOx8hB,UAAU6wlB,0BAA0B,sEAAuE0+D,EAAU5jG,WAAWh+F,OAC/J2gQ,EAAiB17D,GAAgBp2H,EAAhBo2H,CAAwBrD,GAC/C,OAAO,WACLsD,IACAy7D,GACF,CACF,IAEF9xL,EAAO5/X,GAAG5zZ,SAAS874B,YAAY,QAAS,CACtCnk5B,KAAM,QACNsQ,KAAM,WACN0qS,SAAUu/mB,GAAO1+H,GAAQz3yB,KACzB0/3B,QAASmuC,GAAgBp2H,KAE3BA,EAAO5/X,GAAG5zZ,SAASk84B,eAAe,QAAS,CACzC3tzB,OAAQ,SAAArE,GAAO,OAAIspsB,EAAOx8hB,UAAU44hB,eAAiBquL,GAAS/z3B,IA1+B1B,QA0+B8CA,EA1+B3DyC,WA0+BwEkw3B,EAAmB3y3B,IAAY,CAAC,SAAW,EAAE,GAEhJ,CAMInc,CAASyltB,GAvEM,SAAAA,GACjBA,EAAO1yD,WAAW,WAAYoxL,GAAO1+H,GAAQz3yB,MAC7Cy3yB,EAAO1yD,WAAW,iBAAkB,SAACm9I,EAAKxm4B,GACxC+7yB,EAAOj1D,YAAYyB,SAAS,kBAAM2/O,GAAoBnsL,EAAQ/7yB,EAAK,EACrE,EACF,CAmEI464B,CAAW7+F,EACb,EAKL,CA9jDD,GAmkDA,WAGI,IAAIpoG,EAAWm3B,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,yBAEpCqmO,EAAS,SAAAtwO,GAAI,OAAI,SAAAqjzB,GAAM,OAAIA,EAAOl6yB,QAAQxB,IAAI3H,EAAM,CAAD,EAoBnDo1+B,EAAgB9kwB,EAAO,6BACvB+kwB,EAAgB/kwB,EAAO,6BACvB0glB,EAAa1glB,EAAO,0BACpBglwB,EAA0BhlwB,EAAO,0BAMjCilwB,EAAY,kCAAkCzk8B,MAAM,KACpD0k8B,EAAW,kEAAkE1k8B,MAAM,KACnF2td,EAAc,kDAAkD3td,MAAM,KACtE2k8B,EAAa,wFAAwF3k8B,MAAM,KAC3G4k8B,EAAW,SAAClz+B,EAAOZ,GAEvB,IADAY,EAAQ,GAAKA,GACHb,OAASC,EACjB,IAAK,IAAIM,EAAI,EAAGA,EAAIN,EAAMY,EAAMb,OAAQO,IACtCM,EAAQ,IAAMA,EAGlB,OAAOA,CACT,EACMmz+B,EAAc,SAACtyL,EAAQ6uC,GAA4B,IAAvBnnf,EAAI5lW,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,IAAIqB,KAiB3C,OADA0r1B,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,EAAMA,EAAItv0B,QAAQ,KAAM,aACdA,QAAQ,KAAM,gBACdA,QAAQ,KAAM,GAAKmoV,EAAKkqJ,gBACxBrye,QAAQ,KAAM,GAAKmoV,EAAK6qoB,YACxBhz9B,QAAQ,KAAM8y9B,EAAS3qoB,EAAKmqJ,WAAa,EAAG,KAC5Ctye,QAAQ,KAAM8y9B,EAAS3qoB,EAAKoqJ,UAAW,KACvCvye,QAAQ,KAAM,GAAK8y9B,EAAS3qoB,EAAK23I,WAAY,KAC7C9/d,QAAQ,KAAM,GAAK8y9B,EAAS3qoB,EAAK43I,aAAc,KAC/C//d,QAAQ,KAAM,GAAK8y9B,EAAS3qoB,EAAK63I,aAAc,KAC/Chge,QAAQ,KAAM,KAAOmoV,EAAK23I,WAAa,IAAM,GAAK,KAClD9/d,QAAQ,KAAYmoV,EAAK23I,WAAa,GAAK,KAAO,OAClD9/d,QAAQ,KAAM,GAAKygyB,EAAO39mB,UAAU+vyB,EAAW1qoB,EAAKmqJ,eACpDtye,QAAQ,KAAM,GAAKygyB,EAAO39mB,UAAU+4T,EAAY1zJ,EAAKmqJ,eACrDtye,QAAQ,KAAM,GAAKygyB,EAAO39mB,UAAU8vyB,EAASzqoB,EAAKoyJ,aAClDv6e,QAAQ,KAAM,GAAKygyB,EAAO39mB,UAAU6vyB,EAAUxqoB,EAAKoyJ,aACnDv6e,QAAQ,KAAM,IAE1B,EASMiz9B,EAAiB,SAACxyL,EAAQ5qb,GAC9B,GAAI68mB,EAAwBjyL,GAAS,CACnC,IACIyyL,EADEC,EAAWJ,EAAYtyL,EAAQ5qb,GAGnCq9mB,EADE,WAAWly+B,KAAK60X,GACHk9mB,EAAYtyL,EAAQ,kBAEpBsyL,EAAYtyL,EAAQ,YAErC,IAAM2yL,EAAU3yL,EAAO/gW,IAAIlqI,UAAUire,EAAOx8hB,UAAU6ud,WAAY,QAC9DsgQ,EAlBc,SAAC3yL,EAAQ2yL,EAASF,EAAcC,GACpD,IAAME,EAAa5yL,EAAO/gW,IAAItna,OAAO,OAAQ,CAC3ComnB,SAAU00U,GACTC,GACH1yL,EAAO/gW,IAAI1/b,QAAQqz9B,EAAYD,GAC/B3yL,EAAOx8hB,UAAUvhP,OAAO2w8B,GAAY,GACpC5yL,EAAOx8hB,UAAU87J,UAAS,EAC5B,CAYMinX,CAAcyZ,EAAQ2yL,EAASF,EAAcC,GAE7C1yL,EAAO90D,cAAc,mBAAqBunP,EAAe,KAAOC,EAAW,UAE/E,MACE1yL,EAAO90D,cAAconP,EAAYtyL,EAAQ5qb,GAE7C,EAyBIljV,EAAS68rB,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,sBAElCwv6B,EAAkB,SAAAp2H,GAAM,OAAI,SAAAluqB,GAChC,IAAM+zrB,EAAc,WAClB/zrB,EAAIqmxB,WAAWn4G,EAAOx8hB,UAAU44hB,aAClC,EAGA,OAFA4D,EAAOlnuB,GAAG,aAAc+svB,GACxBA,IACO,WACL7lB,EAAOl7tB,IAAI,aAAc+gvB,EAC3B,CACF,CAAE,EACItruB,EAAW,SAAAyltB,GACf,IAAM5sb,EAAUu6b,EAAW3N,GACrB/hJ,EA5BK,SAAAtsb,GACX,IAAIxyO,EAAQwyO,EAOZ,MAAO,CACLrtO,IAPU,WACV,OAAOnF,CACT,EAMEkF,IALU,SAAAsgD,GACVxlD,EAAQwlD,CACV,EAKF,CAgBwB24vB,CAtGG,SAAA0C,GACzB,IAAM5sb,EAAUu6b,EAAW3N,GAC3B,OAAO5sb,EAAQ90X,OAAS,EAAI80X,EAAQ,GAAK4+mB,EAAchyL,EACzD,CAmG6B6yL,CAAmB7yL,IACxCwyL,EAAiB,SAAAp9mB,GAAM,OAAI4qb,EAAO/0D,YAAY,iBAAiB,EAAO71X,EAAQ,EACpF4qb,EAAO5/X,GAAG5zZ,SAAS674B,eAAe,iBAAkB,CAClDlk5B,KAAM,cACNq4F,QAAS,mBACTv6E,OAAQ,SAAA9iC,GAAK,OAAIA,IAAU8+pB,EAAc35pB,KAAK,EAC9C2zD,MAAO,SAAAlzD,GACLA,EAAKmtC,EAAOjjC,IAAImkX,EAAS,SAAAgC,GAAM,MAAK,CAClCv1X,KAAM,aACN40B,KAAM698B,EAAYtyL,EAAQ5qb,GAC1Bj2X,MAAOi2X,EACR,GACH,EACAj2D,SAAU,SAAA2zqB,GACRN,EAAev0U,EAAc35pB,MAC/B,EACAsw6B,aAAc,SAACk+D,EAAM3z+B,GACnB8+pB,EAAc55pB,IAAIlF,GAClBqz+B,EAAerz+B,EACjB,EACA8o4B,QAASmuC,EAAgBp2H,KAE3B,IAAM+yL,EAAsB,SAAA39mB,GAAM,OAAI,WACpC6oS,EAAc55pB,IAAI+wX,GAClBo9mB,EAAep9mB,EACjB,CAAE,EACF4qb,EAAO5/X,GAAG5zZ,SAAS+74B,kBAAkB,iBAAkB,CACrDpk5B,KAAM,cACNsQ,KAAM,YACNu+8B,gBAAiB,WAAF,OAAQ9g8B,EAAOjjC,IAAImkX,EAAS,SAAAgC,GAAM,MAAK,CACpDv1X,KAAM,WACN40B,KAAM698B,EAAYtyL,EAAQ5qb,GAC1Bj2D,SAAU4zqB,EAAoB39mB,GAC/B,EAAE,EACH6ygB,QAASmuC,EAAgBp2H,IAE7B,EAGEpoG,EAAStqsB,IAAI,iBAAkB,SAAA0yyB,IApKd,SAAAA,GACjB,IAAMspH,EAAiBtpH,EAAOl6yB,QAAQy0F,SACtC+u0B,EAAe,4BAA6B,CAC1Cz9K,UAAW,SACX5ouB,QAAS+8xB,EAAO39mB,UAAU,cAE5BinuB,EAAe,4BAA6B,CAC1Cz9K,UAAW,SACX5ouB,QAAS+8xB,EAAO39mB,UAAU,cAE5BinuB,EAAe,yBAA0B,CACvCz9K,UAAW,WACX5ouB,QAAS,CAAC,WAAY,WAAY,cAAe,QAEnDqm5B,EAAe,yBAA0B,CACvCz9K,UAAW,UACX5ouB,SAAS,GAEb,CAmJIsm3B,CAAWvpF,GA7EI,SAAAA,GACjBA,EAAO1yD,WAAW,gBAAiB,SAACm9I,EAAKtr4B,GACvCqz+B,EAAexyL,EAAQ7gzB,QAAqCA,EAAQ4y+B,EAAc/xL,GACpF,GACAA,EAAO1yD,WAAW,gBAAiB,SAACm9I,EAAKtr4B,GACvCqz+B,EAAexyL,EAAQ7gzB,QAAqCA,EAAQ6y+B,EAAchyL,GACpF,EACF,CAuEI6+F,CAAW7+F,GACXzltB,EAASyltB,EACX,EAKL,CAnLD,GAwLA,WAGI,IAAIizL,EAAWlkQ,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,yBAsBpCinF,EAAS,SAAAhuF,GAAI,OAAI,SAAAV,GAAK,OAZb,SAAAyV,GACb,IATgB+vC,EAAGtF,EACfsJ,EAQEptC,SAAW3G,EACjB,OAAU,OAANA,EACK,OACQ,WAAN2G,GAAkBhH,MAAMC,QAAQI,GAClC,QACQ,WAAN2G,IAAuCshD,EAdlClY,EAcsB/vC,EAAeurC,GAdlCd,EAcsB99C,QAZZzD,UAYkCqiD,EAAMwiW,cAAc9lV,KAThD,QAAxBlU,EAAKhE,EAAEtF,mBAAqC,IAAZsJ,OAAqB,EAAIA,EAAGhsD,QAAU0iD,EAAY1iD,MAUpF,SAEA4e,EAHwC,IAACshD,EAAG1c,CAKvD,CACgCyoB,CAAOzpE,KAAWU,CAAK,CAAD,EAChDgvxB,EAAe,SAAAhvxB,GAAI,OAAI,SAAAV,GAAK,cAAWA,IAAUU,CAAK,CAAD,EAErDizE,EAAW+a,EAAO,UAClB/E,EAAW+E,EAAO,UAClBr5E,EAAUq5E,EAAO,SACjB83C,EAJK,SAAApqH,GAAC,OAAI,SAAAnW,GAAC,OAAImW,IAAMnW,CAAE,CAAD,CAIbsiF,CAAG,MACZ+zF,EAAYozmB,EAAa,WAEzBI,EAAgB,SAAA7pxB,GAAC,OADJ,SAAAA,GAAC,OAAIA,OAA8B,CAC1B4pxB,CAAW5pxB,EAAG,EACpCklD,EAAaukuB,EAAa,YAC1BK,EAAY,SAAC/vxB,EAAOy2uB,GACxB,GAAIphuB,EAAQrV,GAAQ,CAClB,IAAK,IAAIN,EAAI,EAAGN,EAAMY,EAAMb,OAAQO,EAAIN,IAAOM,EAC7C,IAAK+2uB,EAAKz2uB,EAAMN,IACd,OAAO,EAGX,OAAO,CACT,CACA,OAAO,CACT,EAEM0rH,EAAO,WAAO,EAMdglqB,EAAe,SAACnqxB,EAAGC,GACvB,OAAOD,IAAMC,CACf,EAEMwqxB,EAAQ,WACZ,SAAAA,EAAYz3uB,EAAKj5C,GAAO8Y,EAAA,KAAA43wB,GACtB/vxB,KAAKs4C,IAAMA,EACXt4C,KAAKX,MAAQA,CACf,CAAC,OAAAyZ,EAAAi3wB,EAAA,EAAAzuxB,IAAA,OAAAjC,MAOD,SAAK2wxB,EAAQC,GACX,OAAIjwxB,KAAKs4C,IACA23uB,EAAOjwxB,KAAKX,OAEZ2wxB,GAEX,GAAC,CAAA1uxB,IAAA,SAAAjC,MACD,WACE,OAAOW,KAAKs4C,GACd,GAAC,CAAAh3C,IAAA,SAAAjC,MACD,WACE,OAAQW,KAAKs4C,GACf,GAAC,CAAAh3C,IAAA,MAAAjC,MACD,SAAI6wxB,GACF,OAAIlwxB,KAAKs4C,IACAy3uB,EAASpyvB,KAAKuyvB,EAAOlwxB,KAAKX,QAE1B0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,OAAAjC,MACD,SAAK8wxB,GACH,OAAInwxB,KAAKs4C,IACA63uB,EAAOnwxB,KAAKX,OAEZ0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAOjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACpC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAQjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACrC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAKjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,OACvBW,KAEA+vxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,QAAAjC,MACD,SAAMovI,GACJ,OAAOzuI,KAAKs4C,IAAMt4C,KAAKX,MAAQovI,CACjC,GAAC,CAAAntI,IAAA,KAAAjC,MACD,SAAGovI,GACD,OAAOzuI,KAAKs4C,IAAMt4C,KAAOyuI,CAC3B,GAAC,CAAAntI,IAAA,aAAAjC,MACD,SAAW+wxB,GACT,OAAOpwxB,KAAKs4C,IAAMt4C,KAAKX,MAAQ+wxB,GACjC,GAAC,CAAA9uxB,IAAA,UAAAjC,MACD,SAAQ+wxB,GACN,OAAOpwxB,KAAKs4C,IAAMt4C,KAAOowxB,GAC3B,GAAC,CAAA9uxB,IAAA,WAAAjC,MACD,SAASsK,GACP,GAAK3J,KAAKs4C,IAGR,OAAOt4C,KAAKX,MAFZ,MAAM,IAAIK,MAAMiK,QAAyCA,EAAU,0BAIvE,GAAC,CAAArI,IAAA,YAAAjC,MAID,WACE,OAAOW,KAAKs4C,IAAMt4C,KAAKX,MAAQ,IACjC,GAAC,CAAAiC,IAAA,iBAAAjC,MACD,WACE,OAAOW,KAAKX,KACd,GAAC,CAAAiC,IAAA,OAAAjC,MACD,SAAKgxxB,GACCrwxB,KAAKs4C,KACP+3uB,EAAOrwxB,KAAKX,MAEhB,GAAC,CAAAiC,IAAA,UAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,CAACt4C,KAAKX,OAAS,EACnC,GAAC,CAAAiC,IAAA,WAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,QAAQ92C,OAAOxB,KAAKX,MAAO,KAAO,QACtD,IAAC,EAAAiC,IAAA,OAAAjC,MApFD,SAAYA,GACV,OAAO,IAAI0wxB,GAAS,EAAM1wxB,EAC5B,GAAC,CAAAiC,IAAA,OAAAjC,MACD,WACE,OAAO0wxB,EAAShhD,aAClB,GAAC,CAAAztuB,IAAA,OAAAjC,MA4DD,SAAYA,GACV,OAAO8vxB,EAAc9vxB,GAAS0wxB,EAASpyvB,KAAKt+B,GAAS0wxB,EAAS/gX,MAChE,IAAC,CAxEW,GA2Fd+gX,EAAShhD,cAAgB,IAAIghD,GAAS,GAEtC,IAAMQ,EAAgB97wB,MAAMzW,UAAUgB,QAChCwxxB,EAAa/7wB,MAAMzW,UAAU8F,KAE7Bm5G,EAAW,SAAC4mJ,EAAI/uP,GAAC,OADJ,SAACy0V,EAAI9tV,GAAC,OAAK80wB,EAAc/wxB,KAAK+pW,EAAI9tV,EAAG,CAC5Bg1wB,CAAW5shB,EAAI/uP,IAAM,CAAE,EAsB7CskG,EAAU,SAAAyqJ,GAEd,IADA,IAAMj6M,EAAI,GACD7qD,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,IAAOM,EAAG,CAC7C,IAAK2V,EAAQmvP,EAAG9kQ,IACd,MAAM,IAAIW,MAAM,oBAAsBX,EAAI,6BAA+B8kQ,GAE3E2shB,EAAWxoxB,MAAM4hD,EAAGi6M,EAAG9kQ,GACzB,CACA,OAAO6qD,CACT,EACM+a,EAAO,SAACk/L,EAAI1+P,GAAC,OAAKi0G,EA/BZ,SAACyqJ,EAAI1+P,GAGf,IAFA,IAAM1G,EAAMolQ,EAAGrlQ,OACTorD,EAAI,IAAIn1C,MAAMhW,GACXM,EAAI,EAAGA,EAAIN,EAAKM,IAAK,CAC5B,IAAM+V,EAAI+uP,EAAG9kQ,GACb6qD,EAAE7qD,GAAKoG,EAAE2P,EAAG/V,EACd,CACA,OAAO6qD,CACT,CAuBgCz6C,CAAI00P,EAAI1+P,GAAI,EACtCssxB,EAAU,SAAC1nuB,EAAK5kD,GACpB,IAAK,IAAIpG,EAAI,EAAGA,EAAIgrD,EAAIvrD,OAAQO,IAAK,CACnC,IAAM6qD,EAAIzkD,EAAE4kD,EAAIhrD,GAAIA,GACpB,GAAI6qD,EAAEolrB,SACJ,OAAOplrB,CAEX,CACA,OAAOmmuB,EAAS/gX,MAClB,EAEMv6X,EAAK,SAACiivB,EAAKC,GAAG,IAAE3wtB,EAAUhkE,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAGytxB,EAAY,OAAKiH,EAAIrgU,OAAO,SAAAr6c,GAAI,OAAIgqD,EAAWhqD,EAAM26wB,EAAI,EAAE,EACxF0iI,EAAM,SAAAtv2B,GAKV,IAJA,IAAMH,EAAI,GACJ9lD,EAAO,SAAAgR,GACX80C,EAAE9lD,KAAKgR,EACT,EACS/V,EAAI,EAAGA,EAAIgrD,EAAIvrD,OAAQO,IAC9BgrD,EAAIhrD,GAAG48D,KAAK73D,GAEd,OAAO8lD,CACT,EACMituB,EAAS,SAACtxxB,EAAGD,GAAC,OAAKC,EAAIwqxB,EAASpyvB,KAAKr4B,GAAKyqxB,EAAS/gX,MAAO,EAE1D7hM,EAAS,SAAAtwO,GAAI,OAAI,SAAAqjzB,GAAM,OAAIA,EAAOl6yB,QAAQxB,IAAI3H,EAAM,CAAD,EAuEnDu2+B,EAAwBjmwB,EAAO,gCAC/BkmwB,EAAoBlmwB,EAAO,wBAC3BmmwB,EAAcnmwB,EAAO,aACrBwpsB,EAAuBxpsB,EAAO,uBAC9BypsB,EAAyBzpsB,EAAO,yBAChComwB,EAAgBpmwB,EAAO,oBACvBqmwB,EAAarmwB,EAAO,iBACpBsmwB,EAAmBtmwB,EAAO,mBAC1BumwB,EAAsBvmwB,EAAO,cAC7B0psB,EAAwB1psB,EAAO,4BAC/BwmwB,EAAexmwB,EAAO,kBAExBoisB,EAAWtgM,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,sBAEpCijF,EAAW,SAAAl7D,GAAI,OAAImkD,EAASnkD,EAAKxvB,OAASwvB,EAAKxvB,MAAQ,EAAG,EAU1Dst+B,EAAe,SAACz88B,EAAM022B,GAC1B,IAAM9w1B,EAAM,GAiBZ,OAhBAy53B,EAAS5z2B,KAAKzrC,EAAM,SAAArB,GAClB,IAAM8F,EAZM,SAAA9F,GACd,OAAImkD,EAASnkD,EAAK8F,MACT9F,EAAK8F,KACHq+C,EAASnkD,EAAKqtE,OAChBrtE,EAAKqtE,MAEL,EAEX,CAIiBw8oB,CAAQ7ptB,GACrB,QAAkBnpB,IAAdmpB,EAAKwya,KAAoB,CAC3B,IAAMp9a,EAAQ0o9B,EAAa998B,EAAKwya,KAAMulc,GACtC9w1B,EAAIhyC,KAAK,CACP6wB,OACA1Q,SAEJ,KAAO,CACL,IAAM5kB,EAAQun4B,EAAa/32B,GAC3BinB,EAAIhyC,KAAK,CACP6wB,OACAt1B,SAEJ,CACF,GACOy2C,CACT,EACM897B,EAAe,WAAH,IAAIC,EAAS7x+B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG+nF,EAAQ,OAAK,SAAA75D,GAAI,OAAI6/vB,EAASxquB,KAAKr1B,GAAM/gB,IAAI,SAAA+gB,GAAI,OAAIy88B,EAAaz88B,EAAM2j9B,EAAU,EAAE,CAAD,EAQ/GC,EAAc,CAClBts5B,SARe,SAAAt3D,GAAI,OAAI0j9B,EAAa7p5B,EAAb6p5B,CAAuB1j9B,EAAM,EASpD0j9B,eACAG,SATe,SAACl3+B,EAAMgzB,GAAK,OAAK,SAAA5L,GAAK,MAAK,CAC1CpnB,OACAkD,KAAM,UACN8vB,QACA5L,QACD,CAAE,EAKD8lE,YAGIpmF,EAAO5F,OAAO4F,KACdH,EAAiBzF,OAAOyF,eAYxBuuxB,EAAiB,SAACx0vB,EAAKu4sB,EAAMk8C,EAAQC,IAX9B,SAAC10vB,EAAKp4B,GAEjB,IADA,IAAMwnC,EAAQhpC,EAAK45B,GACV4f,EAAI,EAAG1+C,EAAMkuC,EAAMnuC,OAAQ2+C,EAAI1+C,EAAK0+C,IAAK,CAChD,IAAMp+C,EAAI4tC,EAAMwQ,GAEhBh4C,EADUo4B,EAAIx+B,GACTA,EACP,CACF,CAKE48D,CAAKp+B,EAAK,SAACzoB,EAAG/V,IACX+2uB,EAAKhhuB,EAAG/V,GAAKizxB,EAASC,GAASn9wB,EAAG/V,EACrC,EACF,EAMMuF,EAAM,SAACi5B,EAAKj8B,GAAG,OAAKkC,EAAehE,KAAK+9B,EAAKj8B,EAAK,EAGpD6u6B,EAAWlhM,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,0BAEtCkr6B,EAAW/iM,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,oBAEpC2u6B,EAAW,SAAAjm5B,GAAG,OAAI2/vB,EAAc3/vB,IAAuC,MAA/BA,EAAI6pF,SAAS35F,aAAsB,EAC3Ei1b,EAAS,SAAAnlb,GAAG,OAAIim5B,EAASjm5B,MAAUwk9B,EAAQxk9B,EAAK,EAChDyk9B,EAAsB,SAAC5ljB,EAAKpoV,GAChC,GAAIooV,EAAIptL,UACN,MAAO,GAEP,IAAMm3D,EAAWi2H,EAAIk5Z,gBACfvxrB,EAAaoiK,EAASpiK,WACtBquoB,EAAS,IAAI8rI,EAASn6wB,EAAYoiK,GAClCl+K,EAAW,GACbyQ,EAAUqL,EACd,GACM/vD,EAAU0kD,IACZzQ,EAASp2I,KAAK6mJ,SAETA,EAAU05oB,EAAOj4xB,QAC1B,OAAO8tI,CAEX,EACMo9xB,EAAc,SAAA1i5B,GAAG,MAAI,SAASn0B,KAAKm0B,EAAK,EACxCo/8B,EAAU,SAAAxk9B,GACd,IAAIq5B,EAAIigU,EACR,OAAqH,QAA7GA,EAAkD,QAA5CjgU,EAAKr5B,EAAIqnF,aAAa,wBAA0C,IAAZhuD,EAAgBA,EAAKr5B,EAAIqnF,aAAa,eAAiC,IAAZiyQ,EAAgBA,EAAK,EACpJ,EACMornB,GAAsB,SAACpvuB,EAAKqvuB,GAChC,IAAM9s1B,EAAQ,CAAC,YACTkmxB,EAAOzoqB,EAAMA,EAAIn3N,MAAM,OAAS,GAMhCym8B,EAAoB,SAAA7mE,GAAI,OAAIA,EAAKx24B,OAAO,SAAA+d,GAAG,OAAsC,IAAlCy63B,EAASxskB,QAAQ17M,EAAOvyG,EAAW,EAAE,EACpFu/7B,EAAUF,EALO,SAAA5mE,GAErB,OADAA,EAAO6mE,EAAkB7mE,IACb/u6B,OAAS,EAAI+u6B,EAAK/r6B,OAAO6lJ,GAASA,CAChD,CAE2Bit1B,CAAe/mE,GAAQ6mE,EAAkB7mE,GACpE,OAAO8mE,EAAQ71+B,OAAS,EAPP,SAAA+u6B,GAAI,OAAIgC,EAASv42B,KAAKu22B,EAAKlo6B,OAAOymD,KAAK,KAAM,CAOlChuD,CAASu2+B,GAAW,EAClD,EAEME,GAAmB,SAACr0L,EAAQ6jB,GAEhC,OADAA,EAAcA,GAAeywK,GAAoBt0L,EAAOx8hB,UAAU08hB,UAAU,IAAMF,EAAOx8hB,UAAUyxd,UAC/Fs/P,GAAc1wK,GACTh0C,EAASxquB,KAAK26vB,EAAO/gW,IAAIh9a,OAAO,UAAW4hyB,GAAa,IAExDh0C,EAASxquB,KAAK26vB,EAAO/gW,IAAIlqI,UAAU8uf,EAAa,WAE3D,EACM2wK,GAAa,SAACx0L,EAAQ6jB,GAAW,OAAKwwK,GAAiBr0L,EAAQ6jB,GAAa/0F,QAAS,EACrF2lQ,GAAgB,SAACjxtB,EAAWkxtB,GAIhC,OAd0B,SAAAjg9B,GAAI,OAAIA,EAAKlV,QAAQ,UAAW,GAAI,CAcvDo19B,CAHMD,EAAUnkQ,KAAK,kBAAM/sd,EAAUuc,WAAW,CACrDq1F,OAAQ,QACR,EAAE,SAAAs/mB,GAAS,OAAIA,EAAUhq8B,WAAagq8B,EAAUjq8B,aAAe,EAAE,GAErE,EACM6p8B,GAAsB,SAAAnmjB,GAAG,OAAI4ljB,EAAoB5ljB,EAAKsmB,EAAQ,EAC9DmgiB,GAAa,SAAA561B,GAAQ,OAAIq1xB,EAASj5I,KAAKp8oB,EAAUy6T,EAAQ,EACzDogiB,GAAW,SAAA761B,GAAQ,OAAI461B,GAAW561B,GAAU17I,OAAS,CAAE,EAEvDw2+B,GAAqB,SAAA90L,GACzB,IAAM+0L,EAAqB/0L,EAAO98xB,OAAOyuxB,wBAGzC,GADwB0iM,GAAiBr0L,GAAQ7pV,OAAO,SAAA64K,GAAM,OAAIA,EAAOn4hB,aAAa,iBAAiB,GAErG,OAAO,EAET,IAAMs3U,EAAM6xX,EAAOx8hB,UAAU08hB,SAC7B,QAAK/xX,EAAIptL,WAEoB,IADVgzuB,EAAoB5ljB,EAPrB,SAAA7+Z,GAAG,OAAqB,IAAjBA,EAAIw7D,WAAmByq1B,EAASjm5B,KAASlrB,EAAI2w+B,EAAoBzl9B,EAAI6pF,SAAS35F,cAAe,GAQpGlhB,MAIpB,EACMi2+B,GAAgB,SAAAjl9B,GAAG,OAAI2/vB,EAAc3/vB,IAAyB,WAAjBA,EAAI6pF,UAAyB,aAAa54G,KAAK+uB,EAAIrD,UAAW,EAkB3G+o9B,GAAqB,SAACh1L,EAAQi1L,GAClC,IAAMC,EAAY7p+B,EAAA,GACb4p+B,GAEL,GAAkC,IAA9B3B,EAAWtzL,GAAQ1hzB,SAAiBq46B,EAAsB32H,GAAS,CACrE,IAAMo6C,EAAS45I,GAAoBkB,EAAatwuB,IAA6B,WAAxBswuB,EAAats+B,QAClEss+B,EAAatwuB,IAAMw1lB,GAAkB,IACvC,CAKA,OAJIvqE,EAASxquB,KAAK6v7B,EAAats+B,QAAQ4tuB,WAAsC,IAA1B68P,EAAcrzL,KAC/Dk1L,EAAats+B,OAAS6t6B,EAAqBz2H,IAE7Ck1L,EAAa/98B,KAjBe,SAACA,EAAM+78B,GACnC,MAA+B,SAA1BA,GAA8D,UAA1BA,GAAuC97D,EAAYjg5B,GAGrFA,EAFE+78B,EAAwB,MAAQ/78B,CAG3C,CAYsBg+8B,CAAsBD,EAAa/98B,KAAM+78B,EAAsBlzL,IAC5Ek1L,CACT,EAwBME,GAAkB,SAACp1L,EAAQq1L,EAAapx+B,GAC5C,IAAM4/zB,EAAc7jB,EAAOx8hB,UAAUyxd,UAC/By/P,EAAYL,GAAiBr0L,EAAQ6jB,GACrCoxK,EAAYD,GAAmBh1L,EAzDlB,SAAA/7yB,GACnB,IAjRa0/P,EAAI1+P,EAAGu0F,EAkRpB,OAlRamqK,EAiRC,CAAC,QAAS,MAAO,QAAS,UAjRvB1+P,EAkRG,SAACu0F,EAAKp4F,GAIxB,OAHA6C,EAAK7C,GAAKq6D,KAAK,SAAAt8D,GACbq6F,EAAIp4F,GAAOjC,EAAMb,OAAS,EAAIa,EAAQ,IACxC,GACOq6F,CACT,EAvRoBA,EAuRjB,CACDriE,KAAMlzB,EAAKkzB,MA9RA,SAACwsO,EAAI1+P,GAClB,IAAK,IAAIpG,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAExCoG,EADU0+P,EAAG9kQ,GACRA,EAET,CAEEoq6B,CAAOtlqB,EAAI,SAAC/uP,EAAG/V,GACb26F,EAAMv0F,EAAEu0F,EAAK5kF,EAAG/V,EAClB,GACO26F,CAsRT,CA+C+C874B,CAAarx+B,IAC1D+7yB,EAAOj1D,YAAYyB,SAAS,WACtBvovB,EAAKkzB,OAASk+8B,EAAYl+8B,MAC5Bk+8B,EAAYtiQ,SAEd2hQ,EAAUnkQ,KAAK,YApBA,SAACyvE,EAAQ6jB,EAAapvyB,EAAMwg9B,GAC7C,IAAMh2hB,EAAM+gW,EAAO/gW,IACfs1hB,GAAc1wK,GAChB0xK,GAAgBt2hB,EAAK4kX,EAAaoxK,GAElCxg9B,EAAK87sB,KAAK,WACRyvE,EAAO/0D,YAAY,iBAAiB,EAAOgqP,EAC7C,EAAG,SAAAxg9B,GACDurxB,EAAO90D,cAAcjsS,EAAI26R,WAAW,IAAKq7P,EAAWh2hB,EAAIh7Y,OAAOxvC,IACjE,EAEJ,CAUM00e,CAAW62S,EAAQ6jB,EAAa5/zB,EAAKwwB,KAAMwg9B,EAC7C,EAAG,SAAA3l9B,GACD0wxB,EAAOr/wB,QAlCM,SAACq/wB,EAAQ00L,EAAWjg9B,EAAMwg9B,GAC3Cxg9B,EAAKgnC,KAAK,SAAAhnC,GACJrwB,EAAIsw+B,EAAW,aACjBA,EAAUhq8B,UAAYjW,EAEtBig9B,EAAUjq8B,YAAchW,CAE5B,GACAurxB,EAAO/gW,IAAIk6V,WAAWu7L,EAAWO,GACjCj1L,EAAOx8hB,UAAUvhP,OAAOyy8B,EAC1B,CAyBMc,CAAWx1L,EAAQ1wxB,EAAKrrB,EAAKwwB,KAAMwg9B,EACrC,EACF,EACF,EA6BMQ,GAAgB,SAAAxx+B,GACpB,IACSw1yB,EAMLx1yB,EANF4nB,MACAsL,EAKElzB,EALFkzB,KACAytO,EAIE3gQ,EAJF2gQ,IACAh8P,EAGE3E,EAHF2E,OACA6rB,EAEExwB,EAFFwwB,KACAunE,EACE/3F,EADF+3F,MAEF,OA/La,SAAC3+D,EAAKu4sB,GACnB,IATalsrB,EASPnuC,EAAI,CAAC,EAEX,OADAs2wB,EAAex0vB,EAAKu4sB,GAVPlsrB,EAUoBnuC,EAVf,SAAC3G,EAAG/V,GACtB6qD,EAAE7qD,GAAK+V,CACT,GAQuC21G,GAC9BhvG,CACT,CA2LSsb,CAAO,CACZhL,MAAO4txB,EAAI+I,YACXrrxB,OACAytO,IAAKA,EAAI49iB,YACT55yB,OAAQA,EAAO45yB,YACf/txB,KAAMA,EAAK+txB,YACXxmtB,MAAOA,EAAMwmtB,aACZ,SAAC79vB,EAAG3I,GAAE,OAAmB,IAAd2pF,EAAOhhF,EAAY,EACnC,EAcMnwB,GAAO,SAACwrxB,EAAQq1L,EAAapx+B,GACjC,IAAMqo+B,EAda,SAACtsL,EAAQ/7yB,GAC5B,IAAMiruB,EAAY8wE,EAAOl6yB,QAAQxB,IAC3Box+B,EAAa,CACjB1zI,qBAAsB9yH,EAAU,wBAChCslE,kBAAmBtlE,EAAU,qBAC7BulE,oBAAqBvlE,EAAU,wBAE3B/3sB,EAAOlzB,EAAKkzB,KAClB,OAAA9rB,EAAA,GACKpH,EAAK,CACRkzB,KAAM264B,EAASy3D,UAAUpy8B,EAAM,IAAKu+8B,GAAcv+8B,EAAO,IAE7D,CAEwBw+8B,CAAa31L,EAAQ/7yB,GAC3C+7yB,EAAOupH,UAAU,OAAO,GAAQvpH,EAAO/0D,YAAY,cAAc,EAAOwqP,GAAcnJ,IAAkB8I,GAAgBp1L,EAAQq1L,EAAa/I,EAC/I,EACM3ke,GAAS,SAAAq4S,GACbA,EAAOupH,UAAU,OAAO,GAAQvpH,EAAO/0D,YAAY,UA/C3B,SAAA+0D,GACxBA,EAAOj1D,YAAYyB,SAAS,WAC1B,IAAMlmsB,EAAO05vB,EAAOx8hB,UAAUyxd,UAC1Bs/P,GAAcju7B,GAChBsv7B,GAAkB51L,EAAQ15vB,GArBR,SAAA05vB,GACtB,IAAM/gW,EAAM+gW,EAAO/gW,IACjBz7L,EAAYw8hB,EAAOx8hB,UACf40iB,EAAW50iB,EAAU6pe,cACrBl/T,EAAM3qK,EAAU08hB,SAASwE,aACzBmxL,EAAiB52hB,EAAIlqI,UAAUo5G,EAAI4jT,eAAgB,UAAWiuE,EAAO50D,WACrE0qP,EAAe72hB,EAAIlqI,UAAUo5G,EAAI6jT,aAAc,UAAWguE,EAAO50D,WACnEyqP,GACF1njB,EAAIqjT,eAAeqkQ,GAEjBC,GACF3njB,EAAIwjT,YAAYmkQ,GAElBtytB,EAAUkqe,OAAOv/T,GACjB6xX,EAAO/0D,YAAY,UACnBzne,EAAUipe,eAAe2rE,EAC3B,CAOM29K,CAAgB/1L,GAElBA,EAAOr/wB,OACT,EACF,CAqCiEq18B,CAAkBh2L,EACnF,EACM41L,GAAoB,SAAC51L,EAAQ73gB,GACjC,IAAIx/O,EACEk4Y,EAAMm/W,EAAO/gW,IAAIh9a,OAAO,MAAOkmQ,GAAK,GAC1C,GAAI04J,EAAK,CACP,IAAMz7b,EAAI46yB,EAAO/gW,IAAI85V,WAAWl4W,EAAK,UAAW14J,GAAK,GACjD/iS,IACsB,QAAvBujD,EAAKvjD,EAAEyyG,kBAAoC,IAAZlvD,GAAyBA,EAAG2wD,aAAaunV,EAAKz7b,GAC9E46yB,EAAO/gW,IAAIh2b,OAAO7jB,GAEtB,CACF,EACMmw+B,GAAkB,SAACt2hB,EAAK92K,EAAKtD,GACjC,IAAIl8O,EACEk4Y,EAAMoe,EAAIh9a,OAAO,MAAOkmQ,GAAK,GACnC,GAAI04J,EAAK,CACP,IAAMz7b,EAAI65c,EAAItna,OAAO,IAAKktP,GACA,QAAzBl8O,EAAKk4Y,EAAIhpV,kBAAoC,IAAZlvD,GAAyBA,EAAG2wD,aAAal0G,EAAGy7b,GAC9Ez7b,EAAEm0C,YAAYsnZ,EAChB,CACF,EAEMo1iB,GAAc,SAAAtn9B,GAAI,OA3OgBvqB,EAAbi5B,EA2OmB1O,EA3OdvtB,EA2OoB,eA3OkBoE,IAAb63B,EAAIj8B,IAAmC,OAAbi8B,EAAIj8B,GAA7D,IAACi8B,EAAKj8B,CA2O6B,EACvD80+B,GAAkB,SAAC/2+B,EAAOg3+B,GAAO,OAAK5kN,EAAQ4kN,EAAS,SAAAxn9B,GAC3D,OAAIsn9B,GAAYtn9B,GACPun9B,GAAgB/2+B,EAAOwvB,EAAK5K,OAE5B4ywB,EAAOhowB,EAAKxvB,QAAUA,EAAOwvB,EAExC,EAAG,EACGyn9B,GAAW,SAACC,EAAgBr78B,EAAWm78B,EAASly+B,GACpD,IAAM9E,EAAQ8E,EAAK+2B,GACbs78B,EAAoBD,EAAe/3+B,OAAS,EAClD,YAAiBkH,IAAVrG,EAAsB+2+B,GAAgB/2+B,EAAOg3+B,GAASln+B,IAAI,SAAApQ,GAAC,MAAK,CACrE61B,IAAK,CACHv1B,MAAON,EAAEM,MACTspB,KAAM,CACJgM,KAAM6h9B,EAAoBD,EAAiBx3+B,EAAE41B,KAC7Cs+sB,OAAQxonB,IAGZ91F,KAAM6h9B,EAAoBD,EAAiBx3+B,EAAE41B,KAC9C,GAAKo7vB,EAAS/gX,MACjB,EA4DMynkB,GAlDO,SAAC1pP,EAAa2pP,GACzB,IAAMC,EAAiB,CACrBhi9B,KAAMo4tB,EAAYp4tB,KAClBunE,MAAO6wpB,EAAY7wpB,OAUf064B,EAAc,SAAAzy+B,GAClB,IAL2BywB,EACvBi0B,EAIEl0B,GALqBC,EAKOzwB,EAAKywB,IAHhCiiwB,EAAO8/M,EAAehi9B,KAAKn2B,QAAU,EAAGuxxB,EAASxquB,KAAyB,QAAnBsD,EAAKj0B,EAAIjM,YAA8B,IAAZkgC,OAAqB,EAAIA,EAAGl0B,MAAMw6sB,MAAMv6sB,EAAIv1B,SAI/H68F,EAVsB,SAAAtnE,GAC5B,IAAIi0B,EACJ,OAAOguuB,EAAO8/M,EAAez64B,MAAM19F,QAAU,EAAGuxxB,EAASxquB,KAAyB,QAAnBsD,EAAKj0B,EAAIjM,YAA8B,IAAZkgC,OAAqB,EAAIA,EAAGqzC,OAAOizoB,MAAM,IACrI,CAOgB0nQ,CAAsB1y+B,EAAKywB,KACzC,OAAID,EAAKq6sB,UAAY9yoB,EAAM8yoB,SAClB+gD,EAASpyvB,KAAIpyB,EAAC,CAAC,EACjBopB,EAAKxlB,IAAI,SAAAwlB,GAAI,MAAK,CACnBA,OACD,GAAGw6sB,MAAM,CAAC,GACRjzoB,EAAM/sF,IAAI,SAAA+sF,GAAK,MAAK,CACrBA,QACD,GAAGizoB,MAAM,CAAC,KAGN4gD,EAAS/gX,MAEpB,EACM8nkB,EAAkB,SAAC3y+B,EAAM0yB,GAC7B,IAvCiBkg9B,EAAU778B,EAuCrBm78B,GAvCWU,EAuCWL,EAvCDx78B,EAuCcrE,EAtCzB,SAAdqE,EACK678B,EAASri9B,KACO,WAAdwG,EACF678B,EAAS7nW,OAET6gJ,EAAS/gX,QAiCiCmgU,MAAM,IACvD,OAAOmnQ,GAASK,EAAehi9B,KAAMkC,EAAQw/8B,EAASly+B,EACxD,EAcA,MAAO,CACLy8T,SAde,SAACzkS,EAAStF,GACzB,IAAMh6B,EAAOg6B,EAAOh6B,KACpB,MAAa,QAATA,EACK+5+B,EAAYz68B,KACV8gF,EAAS,CAAC,SAAU,QAASpgH,GAC/Bi6+B,EAAgB368B,IAAWt/B,GAChB,SAATA,GAA4B,UAATA,GAC5B85+B,EAAe95+B,GAAQs/B,IAAUt/B,GAC1BkzxB,EAAS/gX,QAET+gX,EAAS/gX,MAEpB,EAIF,EAMI8oS,GAAWm3B,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,sBAWpCkw+B,GAAoB,SAAA7y+B,GACxB,IAAMywB,EAAMzwB,EAAKkzB,KAEjB,OADsBzC,EAAI51B,QAAQ,KAAO,IAA2B,IAAtB41B,EAAI51B,QAAQ,OAA2C,IAA5B41B,EAAI51B,QAAQ,WAC9D+wxB,EAASpyvB,KAAK,CACnCh0B,QAAS,oGACTy/zB,WAAY,SAAA+hK,GAAO,OAAA5/9B,EAAA,GACd4/9B,EAAQ,CACX9z8B,KAAM,UAAYzC,GAAG,IAEpBm7vB,EAAS/gX,MAChB,EACMiokB,GAAuB,SAAC7D,EAAuB8D,GAAmB,OAAK,SAAA/y+B,GAC3E,IAAMywB,EAAMzwB,EAAKkzB,KAEjB,OADkD,IAA1B+78B,IAAgC97D,EAAY1i5B,IAAkC,IAA1Bw+8B,GAA+B,oBAAoB3y+B,KAAKm0B,GAC3Gm7vB,EAASpyvB,KAAK,CACrCh0B,QAAS,qFAAqFnI,OAAO01+B,EAAqB,eAC1H9tK,WAAY,SAAA+hK,GAAO,OAAA5/9B,EAAA,GACd4/9B,EAAQ,CACX9z8B,KAAM6/8B,EAAsB,MAAQti9B,GAAG,IAEtCm7vB,EAAS/gX,MAChB,CAAE,EAMImokB,GALa,SAACj3L,EAAQ/7yB,GAAI,OAAKstxB,EAAQ,CAACulN,GAAmBC,GAAqB7D,EAAsBlzL,GAAS02H,EAAuB12H,KAAW,SAAA/6yB,GAAC,OAAIA,EAAEhB,EAAK,GAAEssuB,KAAK,kBAAM5puB,QAAQC,QAAQ3C,EAAK,EAAE,SAAAonF,GAAS,OAAI,IAAI1kF,QAAQ,SAAAvH,IA/BzM,SAAC4gzB,EAAQv2yB,EAASrK,GACvC,IAAM+ub,EAAM6xX,EAAOx8hB,UAAU08hB,SAC7BtoG,GAASm2H,iBAAiB/tB,EAAQ,WAChCA,EAAOjzD,cAAc8vH,QAAQpz2B,EAAS,SAAAwU,GACpC+hyB,EAAOx8hB,UAAUkqe,OAAOv/T,GACxB/ub,EAAS6e,EACX,EACF,EACF,CAwBEi59B,CAAel3L,EAAQ30tB,EAAU5hF,QAAS,SAAAwU,GACxC7e,EAAS6e,EAAQotE,EAAU69uB,WAAWjl0B,GAAQA,EAChD,EACF,EAAE,EAAE,EAmBEkz+B,GAda,SAAAn3L,GACjB,IAAMo3L,EAAcp3L,EAAO/gW,IAAIh9a,OAAO,iBAChCo18B,EAAU5y6B,EAAK2y6B,EAAa,SAAApoW,GAChC,IAAMntnB,EAAKmtnB,EAAOryoB,MAAQqyoB,EAAOntnB,GACjC,OAAOA,EAAK,CAAC,CACX4S,KAAM5S,EACN1iB,MAAO,IAAM0iB,IACV,EACP,GACA,OAAOw19B,EAAQ/4+B,OAAS,EAAIuxxB,EAASpyvB,KAAK,CAAC,CACzChJ,KAAM,OACNt1B,MAAO,KACNmC,OAAO+1+B,IAAYxnN,EAAS/gX,MACjC,EAYMwokB,GAPa,SAAAt3L,GACjB,IAAMhwxB,EAAOuj9B,EAAiBvzL,GAC9B,OAAIhwxB,EAAK1xB,OAAS,EACTs1+B,EAAYts5B,SAASt3D,GAEvB6/vB,EAAS/gX,MAClB,EAKMyokB,GAAY,SAAA9i9B,GAChB,IACE,OAAOo7vB,EAASpyvB,KAAKx9B,KAAKG,MAAMq0B,GAClC,CAAE,MAAOzvB,GACP,OAAO6qxB,EAAS/gX,MAClB,CACF,EAwBM0okB,GAvBW,SAAAx3L,GACf,IAAM0sL,EAAY,SAAA/98B,GAAI,OAAIqxxB,EAAO0iE,WAAW/z1B,EAAKxvB,OAASwvB,EAAK+F,KAAO,GAAI,OAAQ,EAC5E+i9B,EAAWrE,EAAYpzL,GAC7B,OAAO,IAAIr5yB,QAAQ,SAAAC,GACbksE,EAAS2k6B,GACXx/6B,MAAMw/6B,GAAU71+B,KAAK,SAAAqvD,GAAG,OAAIA,EAAIpJ,GAAKoJ,EAAIx8B,OAAO7yB,KAAK21+B,IAAa5w+B,QAAQE,QAAQ,GAAEjF,KAAKgF,EAAS,kBAAMA,EAAQipxB,EAAS/gX,OAAO,GACvHxkX,EAAWmt7B,GACpBA,EAAS,SAAAzr7B,GAAM,OAAIplD,EAAQipxB,EAASpyvB,KAAKuuB,GAAQ,GAEjDplD,EAAQipxB,EAASxquB,KAAKoy7B,GAE1B,GAAG71+B,KAAK,SAAA81+B,GAAQ,OAAIA,EAASjz6B,KAAKmv6B,EAAYF,aAAahH,IAAYz99B,IAAI,SAAA8U,GACzE,GAAIA,EAAMzlB,OAAS,EAAG,CAKpB,MAJiB,CAAC,CAChBm2B,KAAM,OACNt1B,MAAO,KAEOmC,OAAOyiB,EACzB,CACE,OAAOA,CAEX,EAAE,EACJ,EAgBM4z9B,GAXU,SAAC33L,EAAQ43L,GACvB,IAAM5n9B,EAAOsj9B,EAAWtzL,GACxB,GAAIhwxB,EAAK1xB,OAAS,EAAG,CACnB,IAAMu5+B,EAAgBtj8B,EAAGqj8B,EAAe,UAIxC,QAHsD,IAAlCjhE,EAAsB32H,GAEV4zL,EAAYF,aADnB,SAAA/k9B,GAAI,OAAIql9B,GAAoBJ,EAAY/p5B,SAASl7D,GAAOkp9B,EAAe,GACnBjE,EAAYts5B,UACxEt3D,EACnB,CACA,OAAO6/vB,EAAS/gX,MAClB,EAKMgpkB,GAAY,CAAC,CACjBrj9B,KAAM,iBACNt1B,MAAO,IACN,CACDs1B,KAAM,aACNt1B,MAAO,WAWH44+B,GATa,SAAA/3L,GACjB,IAAMhwxB,EAAOqj9B,EAAcrzL,GAC3B,OAAIxryB,EAAQwb,GACH4j9B,EAAYts5B,SAASt3D,GAAMsgtB,QAAQ,kBAAMu/C,EAASpyvB,KAAKq68B,GAAU,IACtD,IAAT9n9B,EACF6/vB,EAAS/gX,OAEX+gX,EAASpyvB,KAAKq68B,GACvB,EAKME,GAAe,SAAC/4hB,EAAKh2R,EAAMtsL,GAC/B,IAAMi4C,EAAMqqa,EAAIm5V,UAAUnvnB,EAAMtsL,GAChC,OAAe,OAARi4C,GAAgBA,EAAIt2C,OAAS,EAAIuxxB,EAASpyvB,KAAKmX,GAAOi7uB,EAAS/gX,MACxE,EAoCMmpkB,GAjBU,SAACj4L,EAAQk4L,GAAQ,OAAKV,GAAyBx3L,GAAQp+yB,KAAK,SAAA+uS,GAC1E,IAAMq+V,EAnBkB,SAACgxK,EAAQhxK,GACjC,IAAM/vL,EAAM+gW,EAAO/gW,IAEbxqb,EADWqg9B,GAAmB90L,GACZnwB,EAASpyvB,KAAKg38B,GAAcz0L,EAAOx8hB,UAAWwrX,IAAW6gJ,EAAS/gX,OACpFp6Y,EAAMs6mB,EAAOvqkB,KAAK,SAAAiw6B,GAAS,OAAI7kN,EAASxquB,KAAK45Z,EAAIm5V,UAAUs8L,EAAW,QAAQ,GAC9E9r+B,EAASomoB,EAAOvqkB,KAAK,SAAAiw6B,GAAS,OAAI7kN,EAASxquB,KAAK45Z,EAAIm5V,UAAUs8L,EAAW,UAAU,GACnF9vuB,EAAMoqY,EAAOvqkB,KAAK,SAAAiw6B,GAAS,OAAIsD,GAAa/4hB,EAAKy1hB,EAAW,MAAM,GAClEyD,EAAYnpW,EAAOvqkB,KAAK,SAAAiw6B,GAAS,OAAIsD,GAAa/4hB,EAAKy1hB,EAAW,QAAQ,GAEhF,MAAO,CACLhg9B,MACAD,OACAunE,MAJYgziB,EAAOvqkB,KAAK,SAAAiw6B,GAAS,OAAIsD,GAAa/4hB,EAAKy1hB,EAAW,QAAQ,GAK1E9r+B,SACAg8P,MACAuzuB,YAEJ,CAEiBC,CAAkBp4L,EAAQk4L,GACzC,MAAO,CACLlpW,SACA6nW,SAAU,CACRpi4B,QAASsj4B,GAAyB/3L,GAClCqtH,KAAMsqE,GAAmB33L,EAAQhxK,EAAOpmoB,QACxCwlX,QAASkpnB,GAA4Bt3L,GACrChxK,OAAQmoW,GAA6Bn3L,GACrCxrxB,KAAMm8Q,GAER85mB,QAASytF,EACT945B,MAAO,CACLi55B,aAAc7E,EAAoBxzL,IAGxC,EAAG,EA4GGs4L,GAAS,SAAAt4L,GACb,IAAM/7yB,EA/EY,SAAA+7yB,GAClB,IAAMvmH,EAAa46S,GAAiBr0L,GACpC,OAAOi4L,GAAmBj4L,EAAQvmH,EACpC,CA4Ee8+S,CAAYv4L,GACzB/7yB,EAAKrC,KAAK,SAAAyY,GACR,IAAM075B,EA1GW,SAAC/1H,EAAQ3lyB,GAAI,OAAK,SAAAy3H,GACrC,IAAM7tI,EAAO6tI,EAAI71G,UACjB,IAAKh4B,EAAKywB,IAAIv1B,MAGZ,OAFAwogB,GAAOq4S,QACPluqB,EAAIzmH,QAGN,IAAMmt9B,EAAkB,SAAAp3+B,GAAG,OAAIyuxB,EAASxquB,KAAKphD,EAAK7C,IAAMy1B,OAAO,SAAA13B,GAAK,OAAKo1C,EAAGl6B,EAAK20nB,OAAO5toB,GAAMjC,EAAM,EAAE,EAChGs5+B,EAAc,CAClBth9B,KAAMlzB,EAAKywB,IAAIv1B,MACfs1B,KAAM+j9B,EAAgB,QACtB5v+B,OAAQ4v+B,EAAgB,UACxB5zuB,IAAK4zuB,EAAgB,OACrB3s9B,MAAO2s9B,EAAgB,aACvBx84B,MAAOw84B,EAAgB,UAEnBnD,EAAc,CAClBl+8B,KAAMlzB,EAAKywB,IAAIv1B,MACf4zuB,YAA0BvtuB,IAAlBvB,EAAKywB,IAAIjM,MAAsBxkB,EAAKywB,IAAIjM,KAAKsqtB,OAAS9uuB,EAAKywB,IAAIjM,KAAKsqtB,OAASxonB,GAEvF0s3B,GAA0Bj3L,EAAQy4L,GAAa72+B,KAAK,SAAA82+B,GAClDlk9B,GAAKwrxB,EAAQq1L,EAAaqD,EAC5B,GACA5m2B,EAAIzmH,OACN,CAAE,CAkFmBst9B,CAAa34L,EAAQ3lyB,GACtC,OAzDe,SAACq4jB,EAAUqjW,EAAU/1H,GACtC,IAOM00H,EAAchiW,EAASs8D,OAAOv6mB,KAAKxlB,IAAI,iBAAO,CAClDtS,KAAM,OACNkD,KAAM,QACN8vB,MAAO,kBACR,GAAG4tN,UACEygN,EAAY00I,EAAStzf,MAAMi55B,aAAe,CAAC,CAC/C17+B,KAAM,QACNkD,KAAM,QACN8vB,MAAO,UACJ,GAECk9tB,EAxCe,SAACxyuB,EAAMu+9B,GAC5B,IAAM5pW,EAAS30nB,EAAK20nB,OACdt6mB,EAAMs6mB,EAAOt6mB,IAAIu6sB,MAAM,IAC7B,MAAO,CACLv6sB,IAAK,CACHv1B,MAAOu1B,EACPjM,KAAM,CACJyxC,SAAU,CACR/6D,MAAOu1B,KAIbD,KAAMu6mB,EAAOv6mB,KAAKw6sB,MAAM,IACxBjzoB,MAAOgziB,EAAOhziB,MAAMizoB,MAAM,IAC1BjgG,OAAQt6mB,EACRF,KAAME,EACNkwO,IAAKoqY,EAAOpqY,IAAIqqe,MAAM,IACtBrmuB,OAAQomoB,EAAOpmoB,OAAO0uZ,GAAGshlB,GAAe3pQ,MAAM,IAC9CkpQ,UAAWnpW,EAAOmpW,UAAUlpQ,MAAM,IAEtC,CAoBsB4pQ,CAAenma,EADbm9M,EAASxquB,KAAKox3B,EAAqBz2H,KAEnD62L,EAAWnka,EAASmka,SACpBiC,EAAcvC,GAAmB1pP,EAAagqP,GAKpD,MAAO,CACL764B,MAAO,mBACPx3F,KAAM,SACNm0D,KAPW,CACX94D,KAAM,QACNkkB,MAAOm1F,EAAQ,CAvBA,CAAC,CAChBv8G,KAAM,MACNkD,KAAM,WACNuv+B,SAAU,OACVz/8B,MAAO,MACP0/8B,YAAa,iBAkBa36D,EAAa12e,EAAWm7d,EAAI,CAAC09E,EAAS7nW,OAAO//nB,IAAI2k+B,EAAYC,SAAS,SAAU,YAAagD,EAASxpE,KAAKp+5B,IAAI2k+B,EAAYC,SAAS,MAAO,QAASgD,EAASpi4B,QAAQxlG,IAAI2k+B,EAAYC,SAAS,SAAU,oBAAqBgD,EAASri9B,KAAKvlB,IAAI2k+B,EAAYC,SAAS,OAAQ,cAAegD,EAASzonB,QAAQn/W,IAAI2k+B,EAAYC,SAAS,YAAa,eAM5Wv7sB,QAAS,CAAC,CACRz4R,KAAM,SACNlD,KAAM,SACN83B,KAAM,UACL,CACD50B,KAAM,SACNlD,KAAM,OACN83B,KAAM,OACNk4tB,SAAS,IAEXE,cACAnsb,SAAU,SAAC5uL,EAAGmyN,GAEP,IADLtnW,EAAIsnW,EAAJtnW,KAEAm8+B,EAAYp4qB,SAAS5uL,EAAI71G,QAAS,CAChCt/B,SACC8+D,KAAK,SAAAwrgB,GACNn1b,EAAI/1G,QAAQkriB,EACd,EACF,EACA8uW,WAEJ,CAKWiJ,CAAW3k6B,EAAM075B,EAAU/1H,EACpC,GAAGp+yB,KAAK,SAAA09E,GACN0guB,EAAOjzD,cAAcxkvB,KAAK+2E,EAC5B,EACF,EAcIptC,GAAS68rB,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,mBAOlC2B,GAAO,SAAAmsB,GACX,IAAMF,EAAOzO,SAAS6F,cAAc,KACpC4I,EAAK5rB,OAAS,SACd4rB,EAAK2C,KAAOzC,EACZF,EAAKowO,IAAM,sBACX,IAAMj/B,EAAM5/M,SAASgtR,YAAY,eACjCptE,EAAIggrB,eAAe,SAAS,GAAM,EAAMlk5B,OAAQ,EAAG,EAAG,EAAG,EAAG,GAAG,GAAO,GAAO,GAAO,EAAO,EAAG,MAXtE,SAAC+yB,EAAMmxM,GAC/B5/M,SAAS4yC,KAAKpf,YAAY/kB,GAC1BA,EAAKk2C,cAAci7J,GACnB5/M,SAAS4yC,KAAK5U,YAAYvvB,EAC5B,CAQEuk9B,CAAkBvk9B,EAAMmxM,EAC1B,EAEMqzwB,GAAU,SAACh5L,EAAQ1wxB,GAAG,OAAK0wxB,EAAO/gW,IAAIlqI,UAAUzlT,EAAK,UAAW,EAChE2p9B,GAAkB,SAAAj5L,GAAM,OAAIg5L,GAAQh5L,EAAQA,EAAOx8hB,UAAU6ud,WAAY,EAIzE6mQ,GAAW,SAACl5L,EAAQ56yB,GACxB,GAAIA,EAAG,CACL,IAAM+xB,EAAO288B,EAAQ1u+B,GACrB,GAAI,KAAK7E,KAAK42B,GAAO,CACnB,IAAM2hJ,EAAWknoB,EAAO/gW,IAAIh9a,OAAO9K,GAC/B2hJ,EAASx6K,QACX0hzB,EAAOx8hB,UAAU1N,eAAeh9F,EAAS,IAAI,EAEjD,MACEvwK,GAAKnD,EAAE+xB,KAEX,CACF,EACMom1B,GAAa,SAAAv9D,GAAM,OAAI,WAC3BA,EAAO/0D,YAAY,WAAW,EAAO,CACnCnvW,QAAQ,GAEZ,CAAE,EACIq9lB,GAAmB,SAAAn5L,GAAM,OAAI,WACjCk5L,GAASl5L,EAAQi5L,GAAgBj5L,GACnC,CAAE,EAmBIo5L,GAAc,SAACp5L,EAAQq5L,GAE3B,OADAr5L,EAAOlnuB,GAAG,aAAcug6B,GACjB,kBAAMr5L,EAAOl7tB,IAAI,aAAcu05B,EAAS,CACjD,EACMC,GAAkB,SAAAt5L,GAAM,OAAI,SAAAluqB,GAChC,IAAM5zH,EAAc,WAClB4zH,EAAIq9rB,WAAWnvB,EAAO/2yB,KAAK2w3B,cAAgB46G,GAAWx0L,EAAQA,EAAOx8hB,UAAUyxd,YAC/EnjmB,EAAIqmxB,WAAWn4G,EAAOx8hB,UAAU44hB,aAClC,EAEA,OADAl+xB,IACOk79B,GAAYp5L,EAAQ9hyB,EAC7B,CAAE,EACIq79B,GAAsB,SAAAv5L,GAAM,OAAI,SAAAluqB,GACpC,IAAM5zH,EAAc,WAClB4zH,EAAIqmxB,WAAWn4G,EAAOx8hB,UAAU44hB,aAClC,EAEA,OADAl+xB,IACOk79B,GAAYp5L,EAAQ9hyB,EAC7B,CAAE,EAKIs79B,GAAsB,SAAAx5L,GAAM,OAAI,SAAAluqB,GACpC,IAAM5zH,EAAc,WAAH,OAAS4zH,EAAIqmxB,WALK,SAAAn4G,GAEnC,OAAwB,KADVA,EAAOx8hB,UAAUwne,cAAgB4pP,GAAW50L,EAAO/gW,IAAI85V,WAAWiH,EAAOx8hB,UAAU6ud,aAAeiiQ,GAAoBt0L,EAAOx8hB,UAAU08hB,WACxI5hzB,MACf,CAE2Cm7+B,CAA6Bz5L,GAAS,EAE/E,OADA9hyB,IACOk79B,GAAYp5L,EAAQ9hyB,EAC7B,CAAE,EACIw79B,GAAoB,SAAA15L,GAAM,OAAI,SAAAluqB,GAClC,IAAM6n2B,EAAa,SAAAtnd,GAAO,OAAIwid,GAASxid,KAlpBblkG,EAkpB6C6xX,EAAOx8hB,UAAU08hB,SAlpBvDo0L,GAAoBnmjB,GAAK7vb,OAAS,GAAzC,IAAA6vb,CAkpBwE,EAC5FkkG,EAAU2tR,EAAO/gW,IAAI85V,WAAWiH,EAAOx8hB,UAAU6ud,YACjDunQ,EAAgB,SAAAvnd,GACpBvgZ,EAAIqmxB,WAAWwhF,EAAWtnd,IAAY2tR,EAAOx8hB,UAAU44hB,aACzD,EAEA,OADAw9L,EAAcvnd,GACP+md,GAAYp5L,EAAQ,SAAAtjzB,GAAC,OAAIk9+B,EAAcl9+B,EAAE21hB,QAAQ,EAC1D,CAAE,EA8DIwnd,GAAuB,SAAA75L,GAC3B,IAGM85L,EAAc,SAAA/mE,GAClB,IAAMzs3B,EAAO05vB,EAAOx8hB,UAAUyxd,UAE9B,OADA89L,EAAU5a,WAAWq8E,GAAWx0L,EAAQ15vB,IACjCikE,CACT,EAWAy1rB,EAAO5/X,GAAG5zZ,SAASo84B,eAAe,YAAa,CAC7CmxE,OAAQ,CACNl6+B,KAAM,0BACNskB,KAAM,OACNq4F,QAAS,OACTyrxB,QAASqxG,GAAgBt5L,IAE3BrwxB,MAAO,OACPo2E,UAAW,SAAAz/C,GAAI,OAAI6s7B,EAAkBnzL,IAAWw0L,GAAWx0L,EAAQ15vB,EAAK,EACxEs6yB,UAAW,WACT,IA5mCWzh2B,EA6mCX,OADYk1+B,GAAiBr0L,GAClBzvE,MA7mCApxuB,EA6mCc,GA5mCtB,WACL,OAAOA,CACT,GA0mCkC20+B,EAChC,EACAntwB,SAAU,CAAC,CACT9mO,KAAM,0BACNskB,KAAM,OACNq4F,QAAS,OACTmwoB,SAAS,EACTs7I,QAAS,SAAA8qC,GACP,IAAMzs3B,EAAO05vB,EAAOx8hB,UAAUyxd,UAE9B,OADA89L,EAAU5jG,UAAUqlK,GAAWx0L,EAAQ15vB,IAChCgz7B,GAAgBt5L,EAAhBs5L,CAAwBvmE,EACjC,EACA5zmB,SAAU,SAAA66qB,GACR,IAAM76+B,EAAQ66+B,EAAQnw5B,WAChBp1D,EAnCQ,SAAAt1B,GAClB,IAAM6voB,EAASqlW,GAAiBr0L,GAC1Bi6L,EAAWnF,GAAmB90L,GACpC,GAAIhxK,EAAOwnG,UAAYyjQ,EAAU,CAC/B,IAAMxl9B,EAAOgg9B,GAAcz0L,EAAOx8hB,UAAWwrX,GAC7C,OAAO2nJ,EAAuB,IAAhBliwB,EAAKn2B,OAAca,EACnC,CACE,OAAO0wxB,EAAS/gX,MAEpB,CA0BmBorkB,CAAY/6+B,GAKzBq1B,GAAKwrxB,EAJe,CAClB7oxB,KAAMh4B,EACN4zuB,OAAQxonB,GAEgB,CACxBpzF,KAAMh4B,EACNs1B,OACAunE,MAAO6zrB,EAAS/gX,OAChBlqK,IAAKirhB,EAAS/gX,OACdlma,OAAQinxB,EAAS/gX,OACjBjjZ,MAAOgkwB,EAAS/gX,SAtDO,SAAAkxY,GAC7BA,EAAOx8hB,UAAU87J,UAAS,EAC5B,CAsDM66jB,CAAuBn6L,GACvBg6L,EAAQzssB,MACV,GACC,CACD1tS,KAAM,oBACNskB,KAAM,SACNq4F,QAAS,cACTyrxB,QAAS6xG,EACT36qB,SAAU,SAAA66qB,GACRrye,GAAOq4S,GACPg6L,EAAQzssB,MACV,GACC,CACD1tS,KAAM,oBACNskB,KAAM,UACNq4F,QAAS,YACTyrxB,QAAS6xG,EACT36qB,SAAU,SAAA66qB,GACRb,GAAiBn5L,EAAjBm5L,GACAa,EAAQzssB,MACV,KAGN,EAGE0lsB,EAAS3l+B,IAAI,OAAQ,SAAA0yyB,IAhgCJ,SAAAA,GACjB,IAAMspH,EAAiBtpH,EAAOl6yB,QAAQy0F,SACtC+u0B,EAAe,+BAAgC,CAC7Cz9K,UAAW,SAAA1svB,GACT,IAAM+lR,EAAQpyM,EAAS3zE,IAAUs8K,EAAUt8K,GAC3C,OAAI+lR,GACY,IAAV/lR,EACK,CACLA,MAAO,EACP+lR,SAEiB,SAAV/lR,GAA8B,UAAVA,EACtB,CACLA,QACA+lR,SAGK,CACL/lR,MAAO,EACP+lR,SAIG,CACLA,OAAO,EACPz7Q,QAAS,iCAGf,EACAwZ,SAAS,IAEXqm5B,EAAe,uBAAwB,CACrCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,YAAa,CAC1Bz9K,UAAW,SAAA1svB,GAAK,OAAI2zE,EAAS3zE,IAAUmrD,EAAWnrD,IAAU+vxB,EAAU/vxB,EAAO2pF,EAAS,IAExFwg1B,EAAe,sBAAuB,CACpCz9K,UAAW,WAEby9K,EAAe,wBAAyB,CACtCz9K,UAAW,SACX5ouB,QAAS,UAEXqm5B,EAAe,mBAAoB,CACjCz9K,UAAW,SAAA1svB,GAAK,OAAIs8K,EAAUt8K,IAAU+vxB,EAAU/vxB,EAAO2pF,EAAS,EAClE7lE,SAAS,IAEXqm5B,EAAe,gBAAiB,CAC9Bz9K,UAAW,WACX5ouB,QAAS,KAEXqm5B,EAAe,kBAAmB,CAChCz9K,UAAW,WACX5ouB,QAAS,KAEXqm5B,EAAe,aAAc,CAC3Bz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,2BAA4B,CACzCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,iBAAkB,CAC/Bz9K,UAAW,UACX5ouB,SAAS,GAEb,CA47BI473B,CAAW7+F,GA1IM,SAAAA,GACnBA,EAAO5/X,GAAG5zZ,SAAS274B,gBAAgB,OAAQ,CACzChk5B,KAAM,OACNq4F,QAAS,mBACT2iN,SAAUo+iB,GAAWv9D,GACrBioF,QAASqxG,GAAgBt5L,KAE3BA,EAAO5/X,GAAG5zZ,SAASy74B,UAAU,WAAY,CACvC9j5B,KAAM,UACNq4F,QAAS,YACT2iN,SAAUg6qB,GAAiBn5L,GAC3BioF,QAASuxG,GAAoBx5L,KAE/BA,EAAO5/X,GAAG5zZ,SAASy74B,UAAU,SAAU,CACrC9j5B,KAAM,SACNq4F,QAAS,cACT2iN,SAAU,WAAF,OAAQwoM,GAAOq4S,EAAO,EAC9BioF,QAASyxG,GAAkB15L,IAE/B,CAwHIo6L,CAAap6L,GAvHM,SAAAA,GACrBA,EAAO5/X,GAAG5zZ,SAAS874B,YAAY,WAAY,CACzC7z4B,KAAM,YACNtQ,KAAM,UACNg7S,SAAUg6qB,GAAiBn5L,GAC3BioF,QAASuxG,GAAoBx5L,KAE/BA,EAAO5/X,GAAG5zZ,SAAS874B,YAAY,OAAQ,CACrCnk5B,KAAM,OACNsQ,KAAM,UACN+7N,SAAU,SACVy3oB,QAASsxG,GAAoBv5L,GAC7B7gf,SAAUo+iB,GAAWv9D,KAEvBA,EAAO5/X,GAAG5zZ,SAAS874B,YAAY,SAAU,CACvCnk5B,KAAM,SACNsQ,KAAM,cACN0qS,SAAU,WAAF,OAAQwoM,GAAOq4S,EAAO,EAC9BioF,QAASyxG,GAAkB15L,IAE/B,CAoGIq6L,CAAer6L,GAnGM,SAAAA,GAGvBA,EAAO5/X,GAAG5zZ,SAASk84B,eAAe,OAAQ,CACxC3tzB,OAAQ,SAAArE,GAEN,OADmBspsB,EAAO/gW,IAAIm9V,WAAW1lsB,GAIlCm+3B,GAAS70L,EAAO/gW,IAAI85V,WAAWrisB,EAAS,MARpC,uBACA,OAKF,EAGX,GAEJ,CAwFI4j4B,CAAiBt6L,GACjB65L,GAAqB75L,GA5MF,SAAAA,GACrBA,EAAOlnuB,GAAG,QAAS,SAAAp8E,GACjB,IAAM83B,EAAOwk9B,GAAQh5L,EAAQtjzB,EAAEkM,QAC3B4rB,GAAQ0d,GAAO85sB,eAAetvvB,KAChCA,EAAEsqB,iBACFky9B,GAASl5L,EAAQxrxB,GAErB,GACAwrxB,EAAOlnuB,GAAG,UAAW,SAAAp8E,GACnB,IAAKA,EAAE66rB,sBAAsC,KAAd76rB,EAAEw7rB,SAjCV,SAAAx7rB,GACzB,OAAoB,IAAbA,EAAEq0P,SAAkC,IAAfr0P,EAAE2rB,WAAoC,IAAd3rB,EAAEu0P,UAAmC,IAAdv0P,EAAEo0P,OAC/E,CA+BuDypvB,CAAmB79+B,GAAI,CACxE,IAAM83B,EAAOyk9B,GAAgBj5L,GACzBxrxB,IACF93B,EAAEsqB,iBACFky9B,GAASl5L,EAAQxrxB,GAErB,CACF,EACF,CA4LIgm9B,CAAex6L,GApQF,SAAAA,GACfA,EAAO1yD,WAAW,UAAW,SAACm9I,EAAKtr4B,IACoC,KAAhEA,aAA0C,EAAIA,EAAM28Y,SAAqB23lB,EAAazzL,GAGzFA,EAAO5iyB,SAAS,sBAAuB,CACrCq99B,WAAY,cAHdnC,GAAOt4L,EAMX,EACF,CA2PIzltB,CAASyltB,GAtJC,SAAAA,GACZA,EAAOinE,YAAY,SAAU,GAAI,WAC/BjnE,EAAO/0D,YAAY,UACrB,EACF,CAmJIp4R,CAAMmtV,EACR,EAKL,CAjuCD,GAsuCA,WAGI,IAAI9twB,EAAS68rB,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,yBAElC8z+B,EAAe,yBACfnvT,EAAW,SAAA3rrB,GAAG,OAAIA,EAAI2f,QAAQm79B,EAAc,IAAI5j7B,MAAO,EACvD6j7B,EAAa,SAACp+K,EAAMhoB,GAAI,OAAKhpH,EAASgxI,KAAUhxI,EAASgpH,EAAM,EAC/DqmM,EAAO,SAAAtpwB,GAAQ,MAAI,GAAGhwO,OAAOkb,KAAKs8F,MAA+B,GAAzBv8E,SAAS+0M,EAAU,IAAW,IAAK,KAAM,EACjFupwB,EAAc,SAAC16jB,EAAIz7J,EAAgBu6L,GACvC,IAAM67hB,EAAU77hB,EAAI46V,YACpBihM,EAAQhtiB,mBAAmB3tB,GAC3B26jB,EAAQppQ,aAAahtd,GACrB,IAAMq2tB,EAAgBD,EAAQzzJ,gBAC1B2zJ,EAAiB,KASrB,OARID,EAActw8B,YAAYnsC,SACY,IAApCy8+B,EAAct68B,WAAWniC,QAAoD,IAApCy8+B,EAAcxpQ,kBACzDypQ,EAAiB76jB,EAAGv7R,mBAEpBo21B,EAAiB/7hB,EAAItna,OAAO,QAC5Bmj8B,EAAQG,iBAAiBD,KAGtBA,CACT,EA6EME,EAAqB,SAAH92oB,GAIjB,IAHG47c,EAAM57c,EAAdx7V,OACAi9B,EAAOu+T,EAAPv+T,QACA1mC,EAAKilW,EAALjlW,MAEgB,aAAZ0mC,EAhFkB,SAAHq+T,EAGlB/kW,GAAW,IAFZ8/c,EAAG/6G,EAAH+6G,IACAz7L,EAAS0gF,EAAT1gF,UAEI23tB,EAAc,GACZxlI,EAAiBnylB,EAAU6qkB,oBAC3B+sJ,EAAmBzlI,EAAe9+0B,OAAO,SAAA6G,GAAE,OAAIuhb,EAAI1qa,GAAG7W,EAAI,KAAK,GACrE,GAAI098B,EAAiB98+B,OAAQ,CAC3B,IAAM+8+B,EAAmB73tB,EAAU6ud,WAC7BipQ,EAAgBr8hB,EAAIlqI,UAAUsmqB,EAAkB,MAStD,GARIC,GAA6C,IAA5BF,EAAiB98+B,QACZq8+B,EAAWW,EAAc5w8B,UAAW84O,EAAUuc,WAAW,CAC/Eq1F,OAAQ,WAGR+lnB,EAAYv3+B,KAAK03+B,GAGjB3lI,EAAer32B,OAAS,EAAG,CAC7B,IAAMi9+B,EAAW/3tB,EAAU08hB,SAASwE,aACpC,GAAI42L,EAAe,CACjB,IAAME,EAAev8hB,EAAI46V,YAGzB,GAFA2hM,EAAa1tiB,mBAAmBwtiB,GACRE,EAAaxmI,sBAAsBumI,EAASrmI,WAAYqmI,GAAY,EAGrF,CACL,IAAMP,EAAiBH,EAAYS,EAAe93tB,EAAU6ud,WAAYpzR,GACxE,GAAI+7hB,EAAgB,CAClB,IAAMS,EAAUb,EAAK37hB,EAAIjqR,IAAItzK,iBAAiBs59B,GAAgB1pwB,UAC9D2tO,EAAI27V,SAASogM,EAAgB,YAAaS,EAC5C,CACF,MAPEL,EAAiB396B,OAQrB,CACA,IAAMi+6B,EAAiBl4tB,EAAUqjjB,SAC3B80K,EAAe18hB,EAAIlqI,UAAU2mqB,EAAgB,MACnD,GAAIC,GAAgBL,IAAkBK,EAAc,CAClD,IAAMC,EAAc38hB,EAAI46V,YACxB+hM,EAAY9tiB,mBAAmB6tiB,GAC/BJ,EAASnsiB,SAASwsiB,EAAY7pQ,eAAgB6pQ,EAAYzsc,aACnCwrc,EAAWgB,EAAajx8B,UAAW6w8B,EAASl0J,gBAAgB58yB,cAEjF2w8B,EAAiB/96B,KAErB,CACA896B,EAAcC,CAChB,CACAD,EAAYpo9B,QAAQ,SAAApE,GAAI,OAAIswb,EAAI27V,SAASjsxB,EAAM,YAAaxvB,EAAM,EACpE,CACF,CAgCI08+B,CAAgB77L,EAAQ7gzB,GACH,sBAAZ0mC,GAA+C,wBAAZA,GA/BtB,SAAHs+T,GAGhB,IAFL86G,EAAG96G,EAAH86G,IAGM02Z,EAFGxxgB,EAAT3gF,UAEiC6qkB,oBAC3B+sJ,EAAmBzlI,EAAe9+0B,OAAO,SAAA6G,GAAE,OAAIuhb,EAAI1qa,GAAG7W,EAAI,KAAK,GAC/Do+8B,EAAoBV,EAAiB,GAAGj59B,cAAc,6CACxD259B,EACF78hB,EAAI27V,SAASwgM,EAAiB,GAAI,YAAan8hB,EAAI45V,SAASijM,EAAmB,cAE/EnmI,EAAe9+0B,OAAO,SAAAqrN,GAAK,OAAIA,EAAMzjI,YAAcyjI,EAAM65vB,gBAAgB,GAAEhp9B,QAAQ,SAAAmvN,GACjF,IAAM5Q,EAAW2tO,EAAI45V,SAAS32jB,EAAM65vB,iBAAkB,aACtD,GAAIzqwB,EAAU,CACZ,IAAM0pwB,EAAiBH,EAAY34vB,EAAOA,EAAM65vB,iBAAkB98hB,GAClE,GAAI+7hB,EAAgB,CAClB,IAAMS,EAAUb,EAAK37hB,EAAIjqR,IAAItzK,iBAAiBs59B,GAAgB1pwB,UAC9D2tO,EAAI27V,SAASogM,EAAgB,YAAaS,EAC5C,CACAx8hB,EAAI27V,SAAS14jB,EAAO,YAAa5Q,EACnC,CACF,EAEJ,CAUI0qwB,CAAkBh8L,EAEtB,EAyBMzltB,EAAW,SAAAyltB,GACfA,EAAOlnuB,GAAG,cAAeoi6B,GACzBl7L,EAAOlnuB,GAAG,mBA1BoB,SAAAknuB,GAAM,OAAI,SAAAnsyB,GACxC,IACEorc,EACE+gW,EADF/gW,IAEWnvb,EAAOjc,EAAKyyC,KAAKozD,iBAAiB,OACvC7iF,OAAO,SAAAol9B,GAAM,OAAIA,EAAOl/5B,SAASz+E,MAAM,GAAEy0B,QAAQ,SAAAkp9B,GAGvD,IAFA,IACIthwB,EADE3hI,EAAKlpF,EAAOms9B,EAAOvi4B,iBAAiB,iBAEjC76G,EAAI,EAAGA,EAAIm6G,EAAM16G,SAAUO,EAAG,CACrC,IAAMynD,EAAO0yD,EAAMn6G,GACnB,GAAIogd,EAAI1qa,GAAG+R,EAAM,MACf,OAEF,GAAI24Z,EAAI1qa,GAAG+R,EAAM,QAAS,CACxBq0L,EAAOr0L,EACP,KACF,CACF,CACIq0L,IACFshwB,EAAOj89B,MAAM20b,QAAUh6N,EAAK36N,MAAM20b,QAClCsK,EAAI1/b,QAAQ0/b,EAAItna,OAAO,OAAQ,CAAC,EAAGgjM,EAAKpwM,WAAYowM,GAExD,EACF,CAAE,CAG8BuhwB,CAAwBl8L,GACxD,EAGE9twB,EAAO5kC,IAAI,eAAgB,SAAA0yyB,GACzBzltB,EAASyltB,EACX,EAKL,CArJD,GA0JA,WAGI,IAAIm8L,EAAWptQ,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,yBAsBpCgoxB,EAAW,SAAA/uxB,GAAI,OAAI,SAAAV,GAAK,OAZf,SAAAyV,GACb,IATgB+vC,EAAGtF,EACfsJ,EAQEptC,SAAW3G,EACjB,OAAU,OAANA,EACK,OACQ,WAAN2G,GAAkBhH,MAAMC,QAAQI,GAClC,QACQ,WAAN2G,IAAuCshD,EAdlClY,EAcsB/vC,EAAeurC,GAdlCd,EAcsB99C,QAZZzD,UAYkCqiD,EAAMwiW,cAAc9lV,KAThD,QAAxBlU,EAAKhE,EAAEtF,mBAAqC,IAAZsJ,OAAqB,EAAIA,EAAGhsD,QAAU0iD,EAAY1iD,MAUpF,SAEA4e,EAHwC,IAACshD,EAAG1c,CAKvD,CACkCyoB,CAAOzpE,KAAWU,CAAK,CAAD,EAClDgvxB,EAAe,SAAAhvxB,GAAI,OAAI,SAAAV,GAAK,cAAWA,IAAUU,CAAK,CAAD,EACrDizE,EAAW87sB,EAAS,UACpB9lsB,EAAW8lsB,EAAS,UACpBp6wB,EAAUo6wB,EAAS,SACnBnzmB,EAAYozmB,EAAa,WAEzBI,EAAgB,SAAA7pxB,GAAC,OADJ,SAAAA,GAAC,OAAIA,OAA8B,CAC1B4pxB,CAAW5pxB,EAAG,EACpCklD,EAAaukuB,EAAa,YAC1Bp3pB,EAAWo3pB,EAAa,UAExBtkqB,EAAO,WAAO,EAEdk/b,EAAW,SAAAtqjB,GACf,OAAO,WACL,OAAOA,CACT,CACF,EACMowxB,EAAe,SAACnqxB,EAAGC,GACvB,OAAOD,IAAMC,CACf,EAOA,IAAMq8X,EAAM,SAAAz8X,GAAC,OAAI,SAAAsW,GAAC,OAAKtW,EAAEsW,EAAG,CAAD,EACrBq0wB,EAAQnmO,GAAS,GAEjBomO,EAAQ,WACZ,SAAAA,EAAYz3uB,EAAKj5C,GAAO8Y,EAAA,KAAA43wB,GACtB/vxB,KAAKs4C,IAAMA,EACXt4C,KAAKX,MAAQA,CACf,CAAC,OAAAyZ,EAAAi3wB,EAAA,EAAAzuxB,IAAA,OAAAjC,MAOD,SAAK2wxB,EAAQC,GACX,OAAIjwxB,KAAKs4C,IACA23uB,EAAOjwxB,KAAKX,OAEZ2wxB,GAEX,GAAC,CAAA1uxB,IAAA,SAAAjC,MACD,WACE,OAAOW,KAAKs4C,GACd,GAAC,CAAAh3C,IAAA,SAAAjC,MACD,WACE,OAAQW,KAAKs4C,GACf,GAAC,CAAAh3C,IAAA,MAAAjC,MACD,SAAI6wxB,GACF,OAAIlwxB,KAAKs4C,IACAy3uB,EAASpyvB,KAAKuyvB,EAAOlwxB,KAAKX,QAE1B0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,OAAAjC,MACD,SAAK8wxB,GACH,OAAInwxB,KAAKs4C,IACA63uB,EAAOnwxB,KAAKX,OAEZ0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAOjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACpC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAQjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACrC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAKjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,OACvBW,KAEA+vxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,QAAAjC,MACD,SAAMovI,GACJ,OAAOzuI,KAAKs4C,IAAMt4C,KAAKX,MAAQovI,CACjC,GAAC,CAAAntI,IAAA,KAAAjC,MACD,SAAGovI,GACD,OAAOzuI,KAAKs4C,IAAMt4C,KAAOyuI,CAC3B,GAAC,CAAAntI,IAAA,aAAAjC,MACD,SAAW+wxB,GACT,OAAOpwxB,KAAKs4C,IAAMt4C,KAAKX,MAAQ+wxB,GACjC,GAAC,CAAA9uxB,IAAA,UAAAjC,MACD,SAAQ+wxB,GACN,OAAOpwxB,KAAKs4C,IAAMt4C,KAAOowxB,GAC3B,GAAC,CAAA9uxB,IAAA,WAAAjC,MACD,SAASsK,GACP,GAAK3J,KAAKs4C,IAGR,OAAOt4C,KAAKX,MAFZ,MAAM,IAAIK,MAAMiK,QAAyCA,EAAU,0BAIvE,GAAC,CAAArI,IAAA,YAAAjC,MAID,WACE,OAAOW,KAAKs4C,IAAMt4C,KAAKX,MAAQ,IACjC,GAAC,CAAAiC,IAAA,iBAAAjC,MACD,WACE,OAAOW,KAAKX,KACd,GAAC,CAAAiC,IAAA,OAAAjC,MACD,SAAKgxxB,GACCrwxB,KAAKs4C,KACP+3uB,EAAOrwxB,KAAKX,MAEhB,GAAC,CAAAiC,IAAA,UAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,CAACt4C,KAAKX,OAAS,EACnC,GAAC,CAAAiC,IAAA,WAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,QAAQ92C,OAAOxB,KAAKX,MAAO,KAAO,QACtD,IAAC,EAAAiC,IAAA,OAAAjC,MApFD,SAAYA,GACV,OAAO,IAAI0wxB,GAAS,EAAM1wxB,EAC5B,GAAC,CAAAiC,IAAA,OAAAjC,MACD,WACE,OAAO0wxB,EAAShhD,aAClB,GAAC,CAAAztuB,IAAA,OAAAjC,MA4DD,SAAYA,GACV,OAAO8vxB,EAAc9vxB,GAAS0wxB,EAASpyvB,KAAKt+B,GAAS0wxB,EAAS/gX,MAChE,IAAC,CAxEW,GA2Fd+gX,EAAShhD,cAAgB,IAAIghD,GAAS,GAEtC,IA4sBcnmuB,EA5sBR0muB,EAAc77wB,MAAMzW,UAAU4W,MAC9B27wB,EAAgB97wB,MAAMzW,UAAUgB,QAChCwxxB,EAAa/7wB,MAAMzW,UAAU8F,KAE7B0vxB,EAAa,SAAC3vhB,EAAI/uP,GAAC,OADN,SAACy0V,EAAI9tV,GAAC,OAAK80wB,EAAc/wxB,KAAK+pW,EAAI9tV,EAAG,CAC1Bg1wB,CAAW5shB,EAAI/uP,IAAM,CAAE,EAC/Cuhd,EAAS,SAACxyN,EAAIiye,GAClB,IAAK,IAAI/2uB,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAE7C,GAAI+2uB,EADMjye,EAAG9kQ,GACDA,GACV,OAAO,CAEX,CACA,OAAO,CACT,EACMoQ,EAAM,SAAC00P,EAAI1+P,GAGf,IAFA,IAAM1G,EAAMolQ,EAAGrlQ,OACTorD,EAAI,IAAIn1C,MAAMhW,GACXM,EAAI,EAAGA,EAAIN,EAAKM,IAAK,CAC5B,IAAM+V,EAAI+uP,EAAG9kQ,GACb6qD,EAAE7qD,GAAKoG,EAAE2P,EAAG/V,EACd,CACA,OAAO6qD,CACT,EACMu/2B,EAAS,SAACtlqB,EAAI1+P,GAClB,IAAK,IAAIpG,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAE7CoG,EADU0+P,EAAG9kQ,GACRA,EACP,CACF,EACMo84B,EAAW,SAACt3oB,EAAIiye,GAEpB,IADA,IAAMlsrB,EAAI,GACD7qD,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAC7C,IAAM+V,EAAI+uP,EAAG9kQ,GACT+2uB,EAAKhhuB,EAAG/V,IACV6qD,EAAE9lD,KAAKgR,EAEX,CACA,OAAO80C,CACT,EAwBMqnuB,EAAQ,SAACpthB,EAAI1+P,EAAGu0F,GAIpB,OAHAyv0B,EAAOtlqB,EAAI,SAAC/uP,EAAG/V,GACb26F,EAAMv0F,EAAEu0F,EAAK5kF,EAAG/V,EAClB,GACO26F,CACT,EACM65xB,EAAY,SAAC1vnB,EAAIiye,EAAM11F,GAC3B,IAAK,IAAIrhpB,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAC7C,IAAM+V,EAAI+uP,EAAG9kQ,GACb,GAAI+2uB,EAAKhhuB,EAAG/V,GACV,OAAOgxxB,EAASpyvB,KAAK7oB,GAChB,GAAIsroB,EAAMtroB,EAAG/V,GAClB,KAEJ,CACA,OAAOgxxB,EAAS/gX,MAClB,EACMlgZ,EAAO,SAAC+0O,EAAIiye,GAChB,OAAOy9I,EAAU1vnB,EAAIiye,EAAMg6C,EAC7B,EAWMnrtB,EAAO,SAACk/L,EAAI1+P,GAAC,OAVH,SAAA0+P,GAEd,IADA,IAAMj6M,EAAI,GACD7qD,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,IAAOM,EAAG,CAC7C,IAAK2V,EAAQmvP,EAAG9kQ,IACd,MAAM,IAAIW,MAAM,oBAAsBX,EAAI,6BAA+B8kQ,GAE3E2shB,EAAWxoxB,MAAM4hD,EAAGi6M,EAAG9kQ,GACzB,CACA,OAAO6qD,CACT,CACwBwvD,CAAQjqG,EAAI00P,EAAI1+P,GAAI,EACtCk4D,EAAU,SAAAwmM,GACd,IAAMj6M,EAAI0muB,EAAY9wxB,KAAKqkQ,EAAI,GAE/B,OADAj6M,EAAEyT,UACKzT,CACT,EACMy5mB,EAAQ,SAACx/Z,EAAI9kQ,GAAC,OAAKA,GAAK,GAAKA,EAAI8kQ,EAAGrlQ,OAASuxxB,EAASpyvB,KAAKkmO,EAAG9kQ,IAAMgxxB,EAAS/gX,MAAO,EACpFlpX,EAAO,SAAA+9M,GAAE,OAAIw/Z,EAAMx/Z,EAAI,EAAG,EAC1B99M,EAAO,SAAA89M,GAAE,OAAIw/Z,EAAMx/Z,EAAIA,EAAGrlQ,OAAS,EAAG,EACtCwjzB,EAAS,SAACn+iB,EAAI79L,GAGlB,IAFA,IAAMpc,EAAI,GACJs0vB,EAAe1zvB,EAAWwb,GAAc,SAAAlxD,GAAC,OAAIuhd,EAAOzsa,EAAG,SAAA7qD,GAAC,OAAIinE,EAAWjnE,EAAG+V,EAAE,EAAC,EAAG,SAAAA,GAAC,OAAI0+wB,EAAW5puB,EAAG90C,EAAG,EACnG/V,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAC7C,IAAM+V,EAAI+uP,EAAG9kQ,GACRm/yB,EAAappyB,IAChB80C,EAAE9lD,KAAKgR,EAEX,CACA,OAAO80C,CACT,EAEM6suB,EAAO,SAACC,EAAKC,GAAG,IAAE3wtB,EAAUhkE,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAGytxB,EAAY,OAAKiH,EAAIrgU,OAAO,SAAAr6c,GAAI,OAAIgqD,EAAWhqD,EAAM26wB,EAAI,EAAE,EAE1FC,EAAQ,SAAC/0X,EAAI0hL,EAAIp+kB,GAAC,OAAK08Z,EAAGmtU,UAAYzrJ,EAAGyrJ,SAAW+gD,EAASpyvB,KAAKx4B,EAAE08Z,EAAGwyU,WAAY9wJ,EAAG8wJ,aAAe07C,EAAS/gX,MAAO,EA6BrH8sX,EAAY,SAAAt1uB,GAChB,GAAIA,QACF,MAAM,IAAI9mD,MAAM,oCAElB,MAAO,CACLy/c,IAAK34Z,EAET,EAEMuyuB,EAAe,CACnB1pD,SA/Be,SAACrjX,EAAMrgD,GACtB,IACMnhS,GADMmhS,GAAS1lT,UACL6F,cAAc,OAE9B,GADA0e,EAAIC,UAAYuhV,GACXxhV,EAAIw6P,iBAAmBx6P,EAAI7J,WAAWniC,OAAS,EAAG,CACrD,IAAMmL,EAAU,wCAEhB,MADA7M,QAAQC,MAAM4M,EAASqiX,GACjB,IAAItsX,MAAMiK,EAClB,CACA,OAAOmyxB,EAAUtxvB,EAAI7J,WAAW,GAClC,EAsBE2usB,QArBc,SAACh3rB,EAAKqzR,GACpB,IACMnlR,GADMmlR,GAAS1lT,UACJ6F,cAAcwsB,GAC/B,OAAOwjvB,EAAUt1uB,EACnB,EAkBE+orB,SAjBe,SAAC56sB,EAAMg3S,GACtB,IACMnlR,GADMmlR,GAAS1lT,UACJwgC,eAAe9xB,GAChC,OAAOmnwB,EAAUt1uB,EACnB,EAcEgprB,QAASssD,EACTrsD,UANgB,SAACupD,EAAQlkxB,EAAGC,GAAC,OAAKg7wB,EAASxquB,KAAKyzuB,EAAO75U,IAAIzJ,iBAAiB5gc,EAAGC,IAAI5F,IAAI2sxB,EAAW,GAS9F7C,EAAO,SAACrirB,EAAS0hB,GACrB,IAAM6mV,EAAMvoW,EAAQuoW,IACpB,GA3Cc,IA2CVA,EAAIn0X,SACN,OAAO,EAEP,IAAMm+F,EAAOg2R,EACb,QAAqBz5c,IAAjByjL,EAAKlxE,QACP,OAAOkxE,EAAKlxE,QAAQqgB,GACf,QAA+B5yH,IAA3ByjL,EAAKmojB,kBACd,OAAOnojB,EAAKmojB,kBAAkBh5mB,GACzB,QAAmC5yH,IAA/ByjL,EAAKoojB,sBACd,OAAOpojB,EAAKoojB,sBAAsBj5mB,GAC7B,QAAgC5yH,IAA5ByjL,EAAKqojB,mBACd,OAAOrojB,EAAKqojB,mBAAmBl5mB,GAE/B,MAAM,IAAI54H,MAAM,iCAGtB,EAEMkoF,EAAK,SAACygX,EAAIm2J,GAAE,OAAKn2J,EAAG8W,MAAQq/I,EAAGr/I,GAAI,EAMnC1qa,EAAKwkvB,EAELnC,EAA2B,oBAAXn1xB,OAAyBA,OAAS0wC,SAAS,eAATA,GASlDvrC,EAAU,SAACpI,EAAGitU,GAElB,OATW,SAAClvU,EAAOkvU,GAEnB,IADA,IAAI5uQ,EAAI4uQ,QAAwCA,EAAQmrd,EAC/C/3xB,EAAI,EAAGA,EAAItC,EAAM+B,QAAVO,MAAoBg+D,IAAiCh+D,EACnEg+D,EAAIA,EAAEtgE,EAAMsC,IAEd,OAAOg+D,CACT,CAGSh9C,CADOrhB,EAAEivC,MAAM,KACHg+R,EACrB,EAKM0oa,EAAW,SAACx3uB,EAAM8uU,GACtB,IAAMx9Q,EAJO,SAACtxD,EAAM8uU,GACpB,OAAO7kU,EAAQjK,EAAM8uU,EACvB,CAEiBqrd,CAAOn6xB,EAAM8uU,GAC5B,GAAIx9Q,QACF,MAAM,IAAIzuD,MAAM7C,EAAO,kCAEzB,OAAOsxD,CACT,EAEM7O,EAAiBvhD,OAAOuhD,eAIxBujW,EAAgB,SAAA/tY,GACpB,IAAM62T,EAAQ7kU,EAAQ,4BAA6BgO,GACnD,OAAOk0E,EAASl0E,KALM,SAAA62T,GACtB,OAAO0oa,EAAS,cAAe1oa,EACjC,CAGyBurd,CAAgBvrd,GAAO3tU,UAAU6kZ,cAAc/tY,IAAM,mBAAmBrU,KAAK6+C,EAAexqC,GAAGyqC,YAAY1iD,MACpI,EAEMA,EAAO,SAAA+5G,GAEX,OADUA,EAAQuoW,IAAI9lW,SACb35F,aACX,EACM3f,EAAO,SAAA62G,GAAO,OAAIA,EAAQuoW,IAAIn0X,QAAS,EACvC+C,EAAS,SAAAtyE,GAAC,OAAI,SAAAm7F,GAAO,OAAI72G,EAAK62G,KAAan7F,CAAE,CAAD,EAE5CwixB,EAAgB,SAAArnrB,GAAO,OAAIy/sB,GAAYz/sB,IAAYisS,EAAcjsS,EAAQuoW,IAAK,EAC9Ek3W,GAActouB,EA/GJ,GAgHVo3R,GAASp3R,EA/GF,GAgHP47sB,GAAa57sB,EAnHF,GAoHXgxsB,GAAqBhxsB,EAnHD,IAoHpB0psB,GAAQ,SAAAn/uB,GAAG,OAAI,SAAA17C,GAAC,OAAIy5zB,GAAYz5zB,IAAMC,EAAKD,KAAO07C,CAAI,CAAD,EAIrD4N,GAAS,SAAA0wD,GAAO,OAAIm5qB,EAASxquB,KAAKqxD,EAAQuoW,IAAIpnW,YAAY5oG,IAAI4pxB,EAAavpD,QAAS,EAGpFvypB,GAAW,SAAA25B,GAAO,OAAIznG,EAAIynG,EAAQuoW,IAAIx+a,WAAYo4vB,EAAavpD,QAAS,EACxErvpB,GAAQ,SAACy2B,EAASxsG,GACtB,IAAMi8Z,EAAKzvT,EAAQuoW,IAAIx+a,WACvB,OAAOovvB,EAASxquB,KAAK8gX,EAAGj8Z,IAAQ+E,IAAI4pxB,EAAavpD,QACnD,EACMx5kB,GAAa,SAAAp/C,GAAO,OAAIz2B,GAAMy2B,EAAS,EAAG,EAC1C+H,GAAY,SAAA/H,GAAO,OAAIz2B,GAAMy2B,EAASA,EAAQuoW,IAAIx+a,WAAWniC,OAAS,EAAG,EAGzEurvB,GAAYv/rB,EAAW0yN,QAAQl/Q,UAAUkvO,eAAiB1iL,EAAW4sD,KAAKp5G,UAAUkmI,aACpFA,GAAc6lnB,GAAY,SAAAntvB,GAAC,OAAIm8xB,EAAavpD,QAAQ5yuB,EAAEuid,IAAIj7U,cAAc,EAdtD,SAAAm1pB,GAAG,OAAIsQ,GAAWtQ,GAAOA,GADnCzirB,EAC+CyirB,EADpCN,EAAavpD,QAAQ54nB,EAAQuoW,IAAI9uC,gBAA5C,IAAAz5T,CACoD,EAe5DouC,GAAgB,SAAApoJ,GACpB,IAJmBy8xB,EAIbzvuB,EAAIs6E,GAAYtnI,GACtB,OAL0BmiyB,GAAP1F,EAKCzvuB,IALiCuluB,EAAckK,EAAIl6U,IAAIn9b,MAKlD+twB,EAASpyvB,KAAKisB,GAAKmmuB,EAAS/gX,MACvD,EACM+qX,GAAgB,SAAAn9xB,GAAC,OAAIm8xB,EAAavpD,QAAQ5yuB,EAAEuid,IAAIn9b,KAAM,EAEtDk4wB,GAAS,SAAAtjrB,GACb,IAAMuoW,EAAMh6F,GAAOvuQ,GAAWA,EAAQuoW,IAAIpnW,WAAanB,EAAQuoW,IAC/D,GAAIA,SAA2D,OAAtBA,EAAI9uC,cAC3C,OAAO,EAET,IAvXgBk/W,EAAKC,EAuXfnie,EAAM8xJ,EAAI9uC,cAChB,OAAOrrR,GAAc+zoB,EAAavpD,QAAQrwR,IAAMsxR,KAAK,kBAAMpjb,EAAIx0P,KAAKokD,SAASkiW,EAAI,GAxXjEowU,EAwX4E2K,GAxXvE1K,EAwX+EuK,GAxXvE,SAAAz0xB,GAAC,OAAIiqxB,EAAIC,EAAIlqxB,GAAI,GAyXhD,EAEI60xB,GAAoB,SAAC1lvB,EAAIonG,EAAU8vL,EAAOrmU,EAAG82X,GAC/C,OAAI3nV,EAAGk3R,EAAOrmU,GACLyqxB,EAASpyvB,KAAKguS,GACZnhR,EAAW4xU,IAAWA,EAAOzwD,GAC/Bokd,EAAS/gX,OAETnzR,EAAS8vL,EAAOrmU,EAAG82X,EAE9B,EAEMo+Z,GAAa,SAAC7ud,EAAO1lO,EAAWm2R,GAGpC,IAFA,IAAIxlR,EAAU+0N,EAAMwzI,IACd3yc,EAAOg+C,EAAW4xU,GAAUA,EAAS0zZ,EACpCl5qB,EAAQmB,YAAY,CACzBnB,EAAUA,EAAQmB,WAClB,IAAMn6E,EAAKm7vB,EAAavpD,QAAQ54nB,GAChC,GAAI3Q,EAAUroE,GACZ,OAAOmyvB,EAASpyvB,KAAKC,GAChB,GAAIpxB,EAAKoxB,GACd,KAEJ,CACA,OAAOmyvB,EAAS/gX,MAClB,EACMstkB,GAAY,SAAC3wqB,EAAO1lO,EAAWm2R,GAEnC,OAAO+9Z,GADI,SAACp1xB,EAAGtE,GAAI,OAAKA,EAAKsE,EAAG,EACHy1xB,GAAY7ud,EAAO1lO,EAAWm2R,EAC7D,EAEMkha,GAAa,SAAC3xd,EAAOrzM,EAAU8jQ,GAAM,OAAKo+Z,GAAW7ud,EAAO,SAAA/uU,GAAC,OAAIq8xB,EAAKr8xB,EAAG07H,EAAS,EAAE8jQ,EAAQ,EAM5F5oI,GAAU,SAAA1qP,GAAM,OALJ,SAAC6iU,EAAOrzM,EAAU8jQ,GAElC,OAAO+9Z,GADI,SAACvjrB,EAAS0hB,GAAQ,OAAK2gqB,EAAKrirB,EAAS0hB,EAAU,EAC7BglqB,GAAY3xd,EAAOrzM,EAAU8jQ,EAC5D,CAE0B0ud,CAAUhi1B,EAAQ,oBAAqB,EAQ3DgwuB,GAAS,SAAAlioB,GAAO,OAAIA,EAAQuoW,IAAIg4O,eAAgB,EAEhDolT,GAAW,SAAC98+B,EAAQm3G,GACP1wD,GAAOzmD,GACfk8D,KAAK,SAAA9W,GACZA,EAAEs6Z,IAAI3lW,aAAa5C,EAAQuoW,IAAK1/c,EAAO0/c,IACzC,EACF,EACM/5J,GAAQ,SAAC3lT,EAAQm3G,GACrB,IAAM68kB,EA/EY,SAAA78kB,GAAO,OAAIm5qB,EAASxquB,KAAKqxD,EAAQuoW,IAAIp6F,aAAa51W,IAAI4pxB,EAAavpD,QAAS,CA+E9EzqX,CAAYtlX,GAC5Bg0rB,EAAQg9C,KAAK,WACMvqrB,GAAOzmD,GACfk8D,KAAK,SAAA9W,GACZ62uB,GAAS72uB,EAAG+xD,EACd,EACF,EAAG,SAAA/xD,GACD037B,GAAS137B,EAAG+xD,EACd,EACF,EASM8krB,GAAW,SAACx1uB,EAAQ0wD,GACxB1wD,EAAOi5Z,IAAI1la,YAAYm9D,EAAQuoW,IACjC,EAOMjpT,GAAS,SAAChwG,EAAQg0F,GACtBivxB,EAAOjvxB,EAAU,SAAAplI,GACf4mxB,GAASx1uB,EAAQpxC,EACnB,EACF,EAEMsyC,GAAQ,SAAAwvD,GACZA,EAAQuoW,IAAIx0a,YAAc,GAC1Bw+3B,EAAOls1B,GAAS25B,GAAU,SAAAglrB,GACxBzywB,GAAOyywB,EACT,EACF,EACMzywB,GAAS,SAAAytF,GACb,IAAMuoW,EAAMvoW,EAAQuoW,IACG,OAAnBA,EAAIpnW,YACNonW,EAAIpnW,WAAW9zD,YAAYk7Z,EAE/B,EAEIq9hB,GAAWvtQ,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,0BAEtCqs+B,GAAWlkQ,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,0BAEtCyo6B,GAAWtgM,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,mBAEpC0ouB,GAAU,SAAAt2nB,GAAK,OAAI/pG,EAAI+pG,EAAO6/qB,EAAavpD,QAAS,EAEpD7ruB,GAAO5F,OAAO4F,KACdg4D,GAAO,SAACp+B,EAAKp4B,GAEjB,IADA,IAAMwnC,EAAQhpC,GAAK45B,GACV4f,EAAI,EAAG1+C,EAAMkuC,EAAMnuC,OAAQ2+C,EAAI1+C,EAAK0+C,IAAK,CAChD,IAAMp+C,EAAI4tC,EAAMwQ,GAEhBh4C,EADUo4B,EAAIx+B,GACTA,EACP,CACF,EASMg4B,GAAS,SAACwG,EAAKu4sB,GACnB,IATalsrB,EASPnuC,EAAI,CAAC,EAEX,OARqB,SAAC8hB,EAAKu4sB,EAAMk8C,EAAQC,GACzCt2tB,GAAKp+B,EAAK,SAACzoB,EAAG/V,IACX+2uB,EAAKhhuB,EAAG/V,GAAKizxB,EAASC,GAASn9wB,EAAG/V,EACrC,EACF,CAGEgzxB,CAAex0vB,EAAKu4sB,GAVPlsrB,EAUoBnuC,EAVf,SAAC3G,EAAG/V,GACtB6qD,EAAE7qD,GAAK+V,CACT,GAQuC21G,GAC9BhvG,CACT,EAUM4ta,GAAS,SAACzyU,EAASmuL,GACvB,IAAMo6K,EAAMvoW,EAAQuoW,IACpBxjZ,GAAKopO,EAAO,SAAClgP,EAAG1H,IAVH,SAACgia,EAAK79c,EAAKjC,GACxB,KAAI2zE,EAAS3zE,IAAUs8K,EAAUt8K,IAAUs4H,EAASt4H,IAIlD,MADAvC,QAAQC,MAAM,sCAAuCuE,EAAK,YAAajC,EAAO,cAAe8/c,GACvF,IAAIz/c,MAAM,kCAHhBy/c,EAAInoW,aAAa11G,EAAKjC,EAAQ,GAKlC,CAIIq4xB,CAAOv4U,EAAKhia,EAAG0H,EACjB,EACF,EACMsgnB,GAAU,SAAAvujB,GAAO,OAAIq6qB,EAAMr6qB,EAAQuoW,IAAIzsU,WAAY,SAACh5C,EAAKvpB,GAE7D,OADAupB,EAAIvpB,EAAKtzE,MAAQszE,EAAK9wE,MACfq6F,CACT,EAAG,CAAC,EAAG,EAGDvuB,GAAO,SAAA/Q,GAAQ,OADP,SAACA,EAAUgxB,GAAM,OAAK2tsB,EAAavpD,QAAQp1qB,EAAS+kZ,IAAIl6K,UAAU75M,GAAS,CAChE39E,CAAM2sD,GAAU,EAAM,EAOzCkzf,GAAS,SAAClzf,EAAU9hB,GACxB,IAAMmtX,EAPU,SAACrrW,EAAU9hB,GAC3B,IAAMmtX,EAAKszX,EAAazpD,QAAQh3rB,GAC1Bo6F,EAAayyhB,GAAQ/qmB,GAE3B,OADAivX,GAAO5jB,EAAI/yR,GACJ+yR,CACT,CAEa48Y,CAAUjovB,EAAU9hB,GAC/B8sQ,GAAMhrP,EAAUqrW,GAChB,IAAMi0X,EAAaz8sB,GAAS7iB,GAG5B,OAFA87F,GAAOuvQ,EAAIi0X,GACXvwwB,GAAOixC,GACAqrW,CACT,EAEI0qgB,GAAWlhM,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,wBAEtCkr6B,GAAW/iM,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,sBAEpCo3xB,GAAgB,SAAArhyB,GAAI,OAAI,SAAA2pD,GAAI,OAAI2ouB,EAAc3ouB,IAASA,EAAK6yD,SAAS35F,gBAAkB7iB,CAAK,CAAD,EAC3FuhyB,GAAiB,SAAAv/sB,GAAK,OAAI,SAAAr4B,GAAI,OAAI2ouB,EAAc3ouB,IAASq4B,EAAMp+E,KAAK+lD,EAAK6yD,SAAU,CAAD,EAClFoj4B,GAAe,SAAAj27B,GAAI,OAAI2ouB,EAAc3ouB,IAA2B,IAAlBA,EAAKwkC,QAAe,EAClEk6R,GAAY,SAAA1+T,GAAI,OAAI2ouB,EAAc3ouB,IAA2B,IAAlBA,EAAKwkC,QAAe,EAC/D+o1B,GAAa31I,GAAe,gBAC5Bs+M,GAAat+M,GAAe,aAC5Bu+M,GAAWz+M,GAAc,MACzB0+M,GAAiBx+M,GAAe,gBAChCy+M,GAAez+M,GAAe,aAC9B41I,GAAkB51I,GAAe,aACjC64E,GAAO/4E,GAAc,MAKrBogC,GAAc,SAACpe,EAAQ15vB,GAAI,OAAK2ouB,EAAc3ouB,IAASA,EAAK6yD,YAAY6msB,EAAO98xB,OAAOqqxB,sBAAuB,EAC7G9H,GAAU,SAACn/uB,EAAM4xyB,GAAa,OAAKjpE,EAAc3ouB,IAASA,EAAK6yD,YAAY++uB,CAAc,EACzF0kJ,GAAS,SAAC58L,EAAQ15vB,GAAI,OAAK2ouB,EAAc3ouB,IAASA,EAAK6yD,YAAY6msB,EAAO98xB,OAAO0uxB,iBAAkB,EAOnG5N,GAAY,SAAC/kV,EAAK3vb,EAAKut9B,GAC3B,IAAM317B,EAAQ+3Z,EAAIvib,QAAQpN,GAC1B,QAAIut9B,GAAiB59hB,EAAIh9a,OAAO,+BAAgC3S,GAAKhxB,OAAS,IAGvE4oD,CACT,EACM8s3B,GAAgB,SAAC/0d,EAAK3vb,GAAG,OAAK2vb,EAAIhqN,UAAU3lO,EAAK2vb,EAAIy5V,UAAW,EAEhEzrkB,GAAS,SAAAtwO,GAAI,OAAI,SAAAqjzB,GAAM,OAAIA,EAAOl6yB,QAAQxB,IAAI3H,EAAM,CAAD,EAQnDmg/B,GAAoB7vwB,GAAO,uBAC3Bq+kB,GAAqBr+kB,GAAO,qBAC5Bs+kB,GAA0Bt+kB,GAAO,2BAEjCiwpB,GAAkB,SAACl9E,EAAQ+8L,GAC/B,IAKIz27B,EACA220B,EANEh+a,EAAM+gW,EAAO/gW,IACbi5Y,EAAgBl4C,EAAO98xB,OAAOgixB,mBAC9BtvoB,EAAWqpT,EAAIy7V,iBACf0Y,EAAY9H,GAAmBtL,GAC/Bg9L,EAAazxL,GAAwBvL,GAGvCi9L,GAAiB,EAKrB,IAJAhgH,EAAYh+a,EAAItna,OAAOy7wB,EAAW4pL,GAC7Bv3M,GAAQs3M,EAAYjn1B,WAAYoisB,IACnCtisB,EAASr8G,YAAY0j1B,GAEhB320B,EAAOy27B,EAAYjn1B,YAAY,CACpC,IAAM38C,EAAW7yD,EAAK6yD,SACjB8j4B,GAAgC,SAAb9j4B,GAA8D,aAAvC7yD,EAAKqwD,aAAa,mBAC/Dsm4B,GAAiB,GAEfx3M,GAAQn/uB,EAAM4xyB,IAChBtisB,EAASr8G,YAAY+M,GACrB220B,EAAY,OAEPA,IACHA,EAAYh+a,EAAItna,OAAOy7wB,EAAW4pL,GAClCpn1B,EAASr8G,YAAY0j1B,IAEvBA,EAAU1j1B,YAAY+M,GAE1B,CAMA,OALK227B,GAAkBhgH,GACrBA,EAAU1j1B,YAAY0la,EAAItna,OAAO,KAAM,CACrC,iBAAkB,OAGfi+G,CACT,EAEM4uwB,GAAQyL,GAAS90H,IAqCjB+hM,GAAsB3lN,GAAM,MAC5B4lN,GAAoB5lN,GAAM,MAC1B6lN,GAAgB,SAACp9L,EAAQrxxB,GA9TT,IAAA+nF,EA+ThBwm4B,GAAoBvu9B,GACtBy+hB,GAAOz+hB,EAAM,MACJwu9B,GAAkBxu9B,KAjUT+nF,EAkUJ/nF,EAlUekhwB,EAASxquB,KAAKqxD,EAAQuoW,IAAIh5T,eAAeh3I,IAAI4pxB,EAAavpD,UAkUnE7zqB,KAAK,SAAAuqX,GAAE,OA1Cb,SAACg6X,EAAQhwxB,EAAMmwZ,GAC/B,IASMk9jB,EAAY74E,GAAMvi4B,OAAO,iCAAkCjS,GAC3Dgt2B,EAAWE,GAAgBl9E,EAAQ7/X,GACnCmwd,EAASk0B,GAAM3qH,YACrBy2F,EAAO7+J,cAActxT,GACrBmwd,EAAO3+J,YAAY3htB,GAEnB,IADA,IAAM4lI,EAAW06uB,EAAOrqG,kBACf3/uB,EAAOsvG,EAASE,WAAYxvG,EAAMA,EAAOA,EAAKwvG,WACrD,GAAsB,OAAlBxvG,EAAK6yD,UAAqB6msB,EAAO/gW,IAAIvib,QAAQ4pB,GAAO,CACtDk+2B,GAAMv74B,OAAOq9B,GACb,KACF,CAEG05vB,EAAO/gW,IAAIvib,QAAQk5H,IACtB4uwB,GAAM7oH,YAAY/lpB,EAAU5lI,GAE9Bw04B,GAAM7oH,YAAYqhF,EAAUht2B,GAC5B,IAAMg2B,EAASm6X,EAAGl6R,cACdjgG,GAAUg+uB,GAAUgc,EAAO/gW,IAAKj5Z,IA1BL,SAAAyrE,GAC7B,IAAMzrE,EAASyrE,EAAW5Z,WACtB7xD,GACF8r3B,GAASr22B,KAAK4h7B,EAAW,SAAA/27B,GACvBN,EAAOszD,aAAahzD,EAAM65X,EAAGtoU,WAC/B,GAEF2szB,GAAMv74B,OAAOwoG,EACf,CAmBE6r3B,CAAuBt37B,GAEzBw+2B,GAAMv74B,OAAOk3Z,GACT6jX,GAAUgc,EAAO/gW,IAAKjvb,IACxBw04B,GAAMv74B,OAAO+G,EAEjB,CAQmCut9B,CAAUv9L,EAAQh6X,EAAGi5B,IAAKtwb,EAAKswb,IAAI,EAEtE,EACMu+hB,GAAe,SAAA7u9B,GACfwu9B,GAAkBxu9B,IACpBy+hB,GAAOz+hB,EAAM,KAEjB,EASM8u9B,GAAqB,SAAC1j5B,EAAWz4E,GACrC,GAAIi79B,GAAaxi5B,GACf,MAAO,CACLA,YACAz4E,UAGJ,IAAMglC,EAAOg27B,GAASrnQ,QAAQl7oB,EAAWz4E,GACzC,OAAIi79B,GAAaj27B,GACR,CACLyzC,UAAWzzC,EACXhlC,OAAQA,GAAUy4E,EAAUt5D,WAAWniC,OAASgoD,EAAKriD,KAAK3F,OAAS,GAE5DgoD,EAAK0kY,iBAAmBuxjB,GAAaj27B,EAAK0kY,iBAC5C,CACLjxV,UAAWzzC,EAAK0kY,gBAChB1pa,OAAQglC,EAAK0kY,gBAAgB/mb,KAAK3F,QAE3BgoD,EAAKu+T,aAAe03nB,GAAaj27B,EAAKu+T,aACxC,CACL9qR,UAAWzzC,EAAKu+T,YAChBvjW,OAAQ,GAGL,CACLy4E,YACAz4E,SAEJ,EACMg0yB,GAAiB,SAAAnnY,GACrB,IAAMuvjB,EAASvvjB,EAAIu2X,aACbi5L,EAAaF,GAAmBtvjB,EAAI4jT,eAAgB5jT,EAAIghH,aAC9Duuc,EAAOtuiB,SAASuuiB,EAAW5j5B,UAAW4j5B,EAAWr89B,QACjD,IAAMs89B,EAAWH,GAAmBtvjB,EAAI6jT,aAAc7jT,EAAI8jT,WAE1D,OADAyrQ,EAAOruiB,OAAOuuiB,EAAS7j5B,UAAW6j5B,EAASt89B,QACpCo89B,CACT,EAEMG,GAAY,CAAC,KAAM,KAAM,MACzBC,GAAeD,GAAUjy7B,KAAK,KAC9Bmy7B,GAAgB,SAAC/9L,EAAQ15vB,GAC7B,IAAMo+N,EAAiBp+N,GAAQ05vB,EAAOx8hB,UAAU6ud,UAAS,GACzD,OAAO2tE,EAAO/gW,IAAIlqI,UAAUrwD,EAAgBo5tB,GAAcE,GAAmBh+L,EAAQt7hB,GACvF,EAGMu5tB,GAAsB,SAAAj+L,GAC1B,IAAMuxF,EAAawsG,GAAc/9L,GAC3B21D,EAAiB31D,EAAOx8hB,UAAU6qkB,oBACxC,OAL2B,SAACkjD,EAAY57B,GAAc,OAAK1mF,EAAcsiH,IAAyC,IAA1B57B,EAAer32B,QAAgBq32B,EAAe,KAAO47B,CAAW,CAKpJ2sG,CAAqB3sG,EAAY57B,GAJlB,SAAA47B,GAAU,OAAI0J,EAAS1J,EAAW73xB,iBAAiBok4B,IAAejqE,GAAY,CAKxFsqE,CAAa5sG,GAEb0J,EAAStlC,EAAgB,SAAArm1B,GAC9B,OAAOuk5B,GAAWvk5B,IAAQii3B,IAAeji3B,CAC3C,EAEJ,EAQM8u9B,GAAuB,SAAAp+L,GAC3B,IAAM21D,EAAiB31D,EAAOx8hB,UAAU6qkB,oBACxC,OAAO4sD,EATwB,SAACj7F,EAAQlH,GACxC,IAAMulM,EAAgBvsE,GAAS7i6B,IAAI6pyB,EAAM,SAAAxpxB,GAEvC,OADiB0wxB,EAAO/gW,IAAIlqI,UAAUzlT,EAAK,WAAY0u9B,GAAmBh+L,EAAQ1wxB,KACrDA,CAC/B,GACA,OAAOwyxB,EAAOu8L,EAChB,CAGkBC,CAAyBt+L,EAAQ21D,GAAiB+mI,GACpE,EAEM6B,GAAwB,SAACv+L,EAAQ1wxB,GACrC,IAAMkv9B,EAAkBx+L,EAAO/gW,IAAI85V,WAAWzpxB,EAAK,SACnD,OAAOkv9B,EAAgBlg/B,OAAS,EAAIkg/B,EAAgB,GAAKx+L,EAAO50D,SAClE,EAEM4yP,GAAqB,SAACh+L,EAAQ1wxB,GAClC,IAAMmozB,EAAez3B,EAAO/gW,IAAI85V,WAAWzpxB,EAAK0wxB,EAAO/gW,IAAIwmV,SACrDE,EAAc/2wB,EAAK6ozB,EAAc,SAAAnozB,GAAG,OAHxBpM,EAGuC88xB,EAAO98xB,QAH5B2w5B,GAAVvt3B,EAG8Ch3B,KAHfot9B,GAAep27B,IAAS6va,EAAO0nhB,GAAW,SAAAnqE,GAAQ,OAAIxw5B,EAAO2ixB,aAAav/uB,EAAK6yD,SAAUu6zB,EAAS,GAA1I,IAACxw5B,EAAQojC,CAGkD,GAC5E,OAAOq/uB,EAAY12D,MAAM+wE,EAAO50D,UAClC,EAEMqzP,GAAyB,SAACz+L,EAAQ1wxB,GACtC,IAAMov9B,EAAc1+L,EAAO/gW,IAAI85V,WAAWzpxB,EAAK,QAAS0u9B,GAAmBh+L,EAAQ1wxB,IACnF,OAAOu2B,EAAK647B,EACd,EAUMC,GAAuB,SAAA3+L,GAC3B,IAAM4+L,EAViB,SAAA5+L,GACvB,IAAM6+L,EAAYJ,GAAuBz+L,EAAQA,EAAOx8hB,UAAU6ud,YAC5DysQ,EAAkB7jG,EAASj7F,EAAOx8hB,UAAU6qkB,oBAAqBmuJ,IACvE,OAAOqC,EAAUthwB,UAAUj8O,OAAOw9+B,EACpC,CAMwBC,CAAiB/+L,GACjC0+L,EANe,SAAA1+L,GACrB,IAAM1wxB,EAAM0wxB,EAAOx8hB,UAAU6ud,WAC7B,OAAO2tE,EAAO/gW,IAAI85V,WAAWzpxB,EAAK,QAAS0u9B,GAAmBh+L,EAAQ1wxB,GACxE,CAGsB0v9B,CAAeh/L,GACnC,OAAOpxxB,EAAK8v9B,EAAa,SAAAlg/B,GAAC,OAjB2B,SAAAwxB,GAAI,OAAIg2B,GAAOh2B,GAAMmmc,OAAO,SAAAnwa,GAAM,OAAI027B,GAAe127B,EAAOi5Z,MAAQnpT,GAAW9vG,GAAQmwa,OAAO,SAAArgU,GAAU,OAAK+9wB,GAAW/9wB,EAAWmpT,IAAI,IAAKxgW,GAAUz4D,GAAQmwa,OAAO,SAAA13W,GAAS,OAAKo1zB,GAAWp1zB,EAAUwgW,IAAI,EAAC,EAAE,CAiBtOggiB,CAA+CpmN,EAAavpD,QAAQ9wuB,GAAG,GAAE+xuB,KAAK,kBAAM2uQ,GAAmBl/L,EAAQ4+L,EAAc,EAAE,SAAAri8B,GAAC,MAAI,CAACA,EAAE,EACvK,EACM2i8B,GAAqB,SAACl/L,EAAQm/L,GAClC,IAAMC,EAAYnw+B,EAAIkw+B,EAAO,SAAAnv9B,GAAI,OAAIyu9B,GAAuBz+L,EAAQhwxB,GAAMi/sB,MAAMj/sB,EAAK,GACrF,OAAO8xxB,EAAOs9L,EAChB,EAEMrrE,GAAe,SAAA/j5B,GAAI,MAAI,UAAUzvB,KAAKyvB,EAAK/D,UAAW,EACtDsld,GAAS,SAAC8gD,EAASqhZ,GAAQ,OAAKrgD,EAAUhhW,EAASwhZ,GAAYC,IAAiB39c,OAAO,SAAAnmc,GAAI,OAAIA,EAAKmpF,WAAau6zB,IAAaK,GAAa/j5B,EAAK,EAAE,EAClJqk5B,GAAsB,SAACr0H,EAAQtpsB,GAAO,OAAiB,OAAZA,IAAqBspsB,EAAO/gW,IAAIm9V,WAAW1lsB,EAAS,EAK/F86xB,GAA0B,SAACxxF,EAAQtpsB,GACvC,IAAM66xB,EAAavxF,EAAO/gW,IAAIlqI,UAAUr+N,EAAS,YACjD,OAAO29zB,GAAoBr0H,EAAQuxF,EACrC,EACM6iC,GAAuB,SAACp0H,EAAQk0H,GACpC,IAAMC,EAAcn0H,EAAOx8hB,UAAUyxd,UAMrC,OALAi/L,EAAkB,CAChB7hZ,QAAS2tR,EAAO/gW,IAAI85V,WAAWo7H,GAC/Bz9zB,QAASy9zB,IAEXn0H,EAAOlnuB,GAAG,aAAco71B,GACjB,kBAAMl0H,EAAOl7tB,IAAI,aAAcov1B,EAAmB,CAC3D,EAEMnrG,GAAe,SAAC/urB,EAAUyxL,GAC9B,IACM71K,GADM61K,GAAS1lT,UACAgwT,yBAIrB,OAHAkzlB,EAAOjvxB,EAAU,SAAAtjC,GACfk/C,EAASr8G,YAAYm9D,EAAQuoW,IAC/B,GACO45U,EAAavpD,QAAQ15kB,EAC9B,EAEMyp1B,GAAgB,SAACr/L,EAAQ55xB,EAAQswF,GAAO,OAAKspsB,EAAO5iyB,SAAS,eAAgB,CACjFgJ,SACAswF,WACC,EAGG5/C,IADQpN,EACK,aADA,SAAA7kD,GAAC,OAAIA,EAAE0a,QAAQmqC,EAAG,GAAI,GAOnCoxuB,GAAc,SAAC77U,EAAK3+b,EAAUnhB,GAClC,IAAK2zE,EAAS3zE,GAEZ,MADAvC,QAAQC,MAAM,qCAAsCyjB,EAAU,YAAanhB,EAAO,cAAe8/c,GAC3F,IAAIz/c,MAAM,+BAAiCL,IALjC,SAAA8/c,GAAG,YAAkBz5c,IAAdy5c,EAAIj/b,OAAuBsqC,EAAW20Z,EAAIj/b,MAAMQ,iBAAkB,EAOvF8qD,CAAY2zY,IACdA,EAAIj/b,MAAMgiI,YAAY1hI,EAAUnhB,EAEpC,EACMkF,GAAM,SAACqyG,EAASp2F,EAAUnhB,GAC9B,IAAM8/c,EAAMvoW,EAAQuoW,IACpB67U,GAAY77U,EAAK3+b,EAAUnhB,EAC7B,EAEM8gyB,GAAS,SAAAviwB,GAAE,OAAI6W,EAAG7W,EAAI,QAAS,EAE/B4h9B,GAAoB,SAAA5h9B,GAAE,OAAIo4H,GAAWp4H,GAAIy4b,OAAO8pU,GAAQ,EAGxDs/M,GAAc,SAAAts+B,GAAK,MAAI,mBAAoBA,CAAM,EACjDus+B,GAAiB,SAAAvs+B,GAAK,MAAI,cAAeA,CAAM,EAE/Cws+B,GAAa,SAAAxs+B,GAAK,OAAIA,EAAMolH,MAAQ,CAAE,EACtCpmG,GAAa,SAAAhf,GAAK,OAAIA,EAAMgf,UAAW,EACvCyt9B,GAAmB,SAAAv/jB,GACvB,IAAMq5W,EAAaz8sB,GAASojW,GACtBx7Z,EATuB85F,GASI0hU,GATUg2C,OAAO8pU,IASXzG,EAAW9kxB,MAAM,GAAI,GAAK8kxB,EACjE,OAAOvqxB,EAAI0V,EAASsmD,GACtB,EAYM006B,GAAc,SAAC357B,EAAQi6B,GAC3Bu7sB,GAASx1uB,EAAOr3B,KAAMsxD,EAAMjwD,KAC9B,EASM4v9B,GAAgB,SAACn0qB,EAAOgqa,GAC5B,IAAM13pB,EAAU,CACd/tD,KAAM6owB,EAAazpD,QAAQqG,EAAUhqa,GACrC98S,KAAMkqwB,EAAazpD,QAAQ,KAAM3ja,IAGnC,OADA+vd,GAASz9sB,EAAQ/tD,KAAM+tD,EAAQpvD,MACxBovD,CACT,EAoCM8h6B,GAAe,SAACp0qB,EAAOhvF,EAAMxpO,GACjC,IAAM6s+B,EAAUrjwB,EAAK/nO,MAAM,EAAGzB,EAAMolH,OAapC,OAZAxyE,EAAKi67B,GAASrk7B,KAAK,SAAAsiB,GACjB,GAAIwh6B,GAAYts+B,GAAQ,CACtB,IAAM0b,EAdO,SAAC88S,EAAOx7P,EAAMtrD,GAC/B,IAAMgK,EAAOkqwB,EAAazpD,QAAQ,KAAM3ja,GAGxC,OAFA09G,GAAOx6Z,EAAMshD,GACb+lF,GAAOrnI,EAAMhK,GACNgK,CACT,CASmBiolB,CAAWnrS,EAAOx4T,EAAM8s+B,eAAgB9s+B,EAAM0R,UAR9C,SAACo5D,EAASpvD,GAC3B6swB,GAASz9sB,EAAQ/tD,KAAMrB,GACvBovD,EAAQpvD,KAAOA,CACjB,CAMMqx9B,CAAWji6B,EAASpvD,GArBD,SAACovD,EAAS9qE,GAC7BtW,EAAKohF,EAAQ/tD,QAAU/c,EAAMwiuB,WAC/B13pB,EAAQ/tD,KAAOo9hB,GAAOrve,EAAQ/tD,KAAM/c,EAAMwiuB,WAE5CtsT,GAAOprW,EAAQ/tD,KAAM/c,EAAMgt+B,eAC7B,CAiBMpi6B,CAAiBE,EAAS9qE,EAC5B,MAAO,GAhFa,SAAAA,GAAK,MAAI,eAAgBA,CAAM,CAgFxCit+B,CAAgBjt+B,GACzB+iJ,GAAOj4E,EAAQpvD,KAAM1b,EAAM0R,aACtB,CACL,IAAMgK,EAAOkqwB,EAAa1pD,SAAS,UAAO7tuB,OAAO2R,EAAM0R,QAAS,WAChE62wB,GAASz9sB,EAAQ/tD,KAAMrB,EACzB,CACF,GACOmx9B,CACT,EACMK,GAAY,SAAC10qB,EAAOhvF,EAAMxpO,GAC9B,IA/D8By8jB,EA+DxBzwf,EApDe,SAACwsP,EAAOx4T,EAAOzO,GAEpC,IADA,IAAMy6E,EAAW,GACRpgF,EAAI,EAAGA,EAAI2F,EAAM3F,IACxBogF,EAASr7E,KAAKg8+B,GAAcn0qB,EAAO8zqB,GAAYts+B,GAASA,EAAMwiuB,SAAWxiuB,EAAMmt+B,iBAEjF,OAAOnh6B,CACT,CA8CmBoh6B,CAAe50qB,EAAOx4T,EAAOA,EAAMolH,MAAQokH,EAAKn+O,QAIjE,OAxEmB,SAAA2gF,GACnB,IAAK,IAAIpgF,EAAI,EAAGA,EAAIogF,EAAS3gF,OAAQO,IACnC8g/B,GAAY1g6B,EAASpgF,EAAI,GAAIogF,EAASpgF,GAE1C,CAiEEyh/B,CAAarh6B,GA9CU,SAACA,EAAUhsE,GAClC,IAAK,IAAIpU,EAAI,EAAGA,EAAIogF,EAAS3gF,OAAS,EAAGO,IACvCwF,GAAI46E,EAASpgF,GAAG8vB,KAAM,kBAAmB,QAE3Ck3B,EAAKo5B,GAAUxjB,KAAK,SAAAsiB,GACdwh6B,GAAYts+B,KACdk2a,GAAOprW,EAAQ/tD,KAAM/c,EAAMgt+B,gBAC3B92jB,GAAOprW,EAAQpvD,KAAM1b,EAAM8s+B,iBAE7B/p1B,GAAOj4E,EAAQpvD,KAAM1b,EAAM0R,QAC7B,EACF,CAoCE479B,CAAiBth6B,EAAUhsE,GAjEGy8jB,EAkETzwf,EAjErBy3sB,EAAM7wuB,EAiES42L,GAjEK72L,EAAK8phB,GAAOiwa,IAkEzBljwB,EAAKn7O,OAAO29E,EACrB,EACMuh6B,GAAc,SAAC/0qB,EAAOz4T,GAC1B,IAAIyt+B,EAAuB5wN,EAAS/gX,OAC9BryL,EAAOs0iB,EAAM/9wB,EAAS,SAACypO,EAAMxpO,EAAOpU,GACxC,OAAK2g/B,GAAevs+B,GAGR,IAANpU,GACF4h/B,EAAuB5wN,EAASpyvB,KAAKxqB,GAC9BwpO,GAEFojwB,GAAap0qB,EAAOhvF,EAAMxpO,GAN1BA,EAAMolH,MAAQokH,EAAKn+O,OAAS6h/B,GAAU10qB,EAAOhvF,EAAMxpO,GAAS4s+B,GAAap0qB,EAAOhvF,EAAMxpO,EAQjG,EAAG,IAOH,OANAwt+B,EAAqBhl7B,KAAK,SAAAil7B,GACxB,IAAM/x9B,EAAOkqwB,EAAa1pD,SAAS,UAAO7tuB,OAAOo/+B,EAAkB/79B,QAAS,WAC5EihC,EAAK62L,GAAMhhL,KAAK,SAAAkl7B,IA7gBJ,SAAC367B,EAAQ0wD,GACFo/C,GAAW9vG,GACnBuqrB,KAAK,WAChBirD,GAASx1uB,EAAQ0wD,EACnB,EAAG,SAAA/xD,GACDqB,EAAOi5Z,IAAI3lW,aAAa5C,EAAQuoW,IAAKt6Z,EAAEs6Z,IACzC,EACF,CAugBM3hZ,CAAQqj7B,EAAS3w9B,KAAMrB,EACzB,EACF,GACOi3B,EAAK62L,GAAMxtO,IAAI,SAAA8uE,GAAO,OAAIA,EAAQ/tD,IAAI,EAC/C,EAiCM4w9B,GAAmB,SAAA5t+B,GAQvB,OAPAi25B,EAAOj25B,EAAS,SAACC,EAAOpU,IAPE,SAACmU,EAASmB,GACpC,IAAMkkH,EAAQrlH,EAAQmB,GAAOkkH,MACvBtgB,EAAU,SAAA9kG,GAAK,OAAIA,EAAMolH,QAAUA,IAAUplH,EAAM6s1B,KAAM,EACzD5/M,EAAQ,SAAAjtoB,GAAK,OAAIA,EAAMolH,MAAQA,CAAM,EAC3C,OAAOg7vB,EAAUl2zB,EAAQnqD,EAAQ0B,MAAM,EAAGP,IAAS4jG,EAASmoiB,GAAOowF,QAAQ,kBAAM+iJ,EAAUrg3B,EAAQ0B,MAAMP,EAAQ,GAAI4jG,EAASmoiB,EAAM,EACtI,EAGI2gW,CAAoB7t+B,EAASnU,GAAG0xuB,KAAK,WAC/Bt9tB,EAAM6s1B,OAASy/I,GAAYts+B,IAZT,SAAAA,GAC1BA,EAAMgt+B,eAAiBpp9B,GAAO5jB,EAAMgt+B,eAAgB,SAAC3m6B,EAAQl4E,GAAG,MAAa,UAARA,CAAe,EACtF,CAWQ0/+B,CAAoB7t+B,EAExB,EAAG,SAAA8t+B,GAAa,OAvBiBrr8B,EAuBcqr8B,OAtB7CxB,GADuB32+B,EAuBeqK,IAtBfss+B,GAAY7p8B,KACrC9sC,EAAO6suB,SAAW//rB,EAAO+/rB,SACzB7suB,EAAOq3+B,eAAc50+B,EAAA,GAChBqqC,EAAOuq8B,kBAJY,IAACr3+B,EAAQ8sC,CAuB4B,EAC/D,GACO1iC,CACT,EAgBMgu+B,GAAkB,SAAC3o3B,EAAO4o3B,EAAeC,EAAgBvy9B,GAC7D,IAAIg6B,EAlrBY+tD,EAmrBhB,GAnyBc,IAgHa72G,EAAX62G,EAmrBF/nF,IAnrB4D,aAAlBhyB,EAAK+5G,GAorB3D,MAAO,CAAC,CACN2hB,MAAOA,EAAQ,EACf1zG,QAAuC,QAA7BgkC,EAAKh6B,EAAKswb,IAAIp0F,iBAAmC,IAAZliU,EAAgBA,EAAK,GACpEm3yB,OAAO,EACP7t0B,YAAY,EACZizV,WAAW,IAGf+7nB,EAAcxl7B,KAAK,SAAA+nN,GACb97L,EAAG87L,EAAUrvQ,MAAOwa,IACtBuy9B,EAAe78+B,KAAI,EAEvB,GACA,IAAM88+B,EAtLY,SAAChhkB,EAAI9nT,EAAOpmG,GAAU,OAAK+zB,GAAOm6X,GAAItpZ,OAAOs/xB,IAAalnzB,IAAI,SAAA+gB,GAAI,MAAK,CACzFqoG,QACAynuB,OAAO,EACP7t0B,aACAtN,QAAS+69B,GAAiBv/jB,GAC1B4/jB,eAAgB96U,GAAQ9kP,GACxB8/jB,eAAgBh7U,GAAQj1oB,GACxByltB,SAAU94uB,EAAKqzB,GACfox9B,gBAAgB,EACjB,EAAG,CA6KuBC,CAAY1y9B,EAAM0pG,EAAO6o3B,EAAe58+B,OACjE28+B,EAAcxl7B,KAAK,SAAA+nN,GACb97L,EAAG87L,EAAUpvQ,IAAKua,IACpBuy9B,EAAe78+B,KAAI,EAEvB,GACA,IAAMi9+B,EAAmB7i4B,GAAU9vF,GAAMkI,OAAOopwB,IAAQhxxB,IAAI,SAAA+gB,GAAI,OAAIkrU,GAAU7iO,EAAO4o3B,EAAeC,EAAgBlx9B,EAAK,GAAEi/sB,MAAM,IACjI,OAAOkyQ,EAAiB5jwB,UAAUj8O,OAAOgg/B,EAC3C,EACMC,GAAY,SAAClp3B,EAAO4o3B,EAAeC,EAAgBvy9B,GAAI,OAAKmnI,GAAWnnI,GAAMkI,OAAOopwB,IAAQ1vD,KAAK,kBAAMywQ,GAAgB3o3B,EAAO4o3B,EAAeC,EAAgBvy9B,EAAK,EAAE,SAAAqB,GACxK,IAAMwx9B,EAAiBzwN,EAAMh0sB,GAASpuD,GAAO,SAAC6qE,EAAKio5B,EAAS5i/B,GAC1D,GAAU,IAANA,EACF,OAAO26F,EAEP,GAlNmBjlD,EAkNJkt8B,EAlNW,MAmNxB,OAAOjo5B,EAAIl4F,OAAO0/+B,GAAgB3o3B,EAAO4o3B,EAAeC,EAAgBO,IAExE,IAAM7r1B,EAAW,CACf8r1B,YAAY,EACZrp3B,QACA1zG,QAAS,CAAC889B,GACVxv9B,YAAY,EACZ6t0B,OAAO,EACPsgJ,eAAgBzj/B,EAAKqzB,IAEvB,OAAOwpE,EAAIl4F,OAAOs0J,EAGxB,EAAG,IACH,OAAOslM,GAAU7iO,EAAO4o3B,EAAeC,EAAgBlx9B,GAAM1uB,OAAOkg/B,EACtE,EAAG,EACGtmpB,GAAY,SAAC7iO,EAAO4o3B,EAAeC,EAAgBlx9B,GAAI,OAAKy0C,EAAKsY,GAAS/sD,GAAO,SAAA0mF,GAGrF,OAFeuprB,GAAOvprB,GAAWwkP,GAAYqmpB,IAC5Blp3B,EAAQ,EACD4o3B,EAAeC,EAAgBxq4B,EACzD,EAAG,EAqBGir4B,GAAiB,SAAC3hM,EAAQhtyB,GAAO,OAAKyxD,EAv7B5B,SAACk/L,EAAI1+P,GACnB,GAAkB,IAAd0+P,EAAGrlQ,OACL,MAAO,GAKP,IAHA,IAAIsj/B,EAAU38+B,EAAE0+P,EAAG,IACbj6M,EAAI,GACNolF,EAAQ,GACHjwI,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAC7C,IAAM+V,EAAI+uP,EAAG9kQ,GACPgB,EAAOoF,EAAE2P,GACX/U,IAAS+h/B,IACXl47B,EAAE9lD,KAAKkrI,GACPA,EAAQ,IAEV8y2B,EAAU/h/B,EACVivI,EAAMlrI,KAAKgR,EACb,CAIA,OAHqB,IAAjBk6H,EAAMxwI,QACRorD,EAAE9lD,KAAKkrI,GAEFplF,CAEX,CAi6BiDughB,CAAQj3jB,EAASys+B,IAAa,SAAAzs+B,GAE7E,OADwB4yC,EAAK5yC,GAASmjd,OAAOsphB,IALtB,SAACz/L,EAAQhtyB,GAChC,IAAM6u+B,EAAoBjB,GAAiB5t+B,GAC3C,OAAOwt+B,GAAYxgM,EAAOphkB,gBAAiBijwB,GAAmBtkwB,SAChE,CAG2BukwB,CAAiB9hM,EAAQhtyB,GAb1B,SAACgtyB,EAAQhtyB,GACjC,IAAM6u+B,EAAoBjB,GAAiB5t+B,GAC3C,OAAO/D,EAAI4y+B,EAAmB,SAAA5u+B,GAC5B,IAAM0R,EAAW669B,GAAevs+B,GAAuC81zB,GAAa,CAAClwC,EAAa1pD,SAAS,UAAO7tuB,OAAO2R,EAAM0R,QAAS,aAA/FokzB,GAAa91zB,EAAM0R,SAC5D,OAAOk0wB,EAAavpD,QAAQ4tJ,GAAgBl9E,EAAQr7xB,EAAQs6b,KAC9D,EACF,CAO+D8iiB,CAAkB/hM,EAAQhtyB,EACzF,EAAG,EAWGgv+B,GAAkB,SAAChiM,EAAQm/L,EAAOjlH,GACtC,IAAM+nH,EAnCW,SAAC9C,EAAO8B,GACzB,IAAMC,GAlEF/h/B,GAkEwB,EA3DrB,CACLmF,IAPU,WACV,OAAOnF,CACT,EAMEkF,IALU,SAAAsgD,GACVxlD,EAAQwlD,CACV,IAPW,IACPxlD,EAoEJ,OAAO8P,EAAIkw+B,EAAO,SAAAnv9B,GAAI,MAAK,CACzBky9B,WAAYly9B,EACZhd,QAASkoV,GAHU,EAGc+lpB,EAAeC,EAAgBlx9B,GACjE,EACH,CA4BoBmy9B,CAAWhD,EARN,SAAAn/L,GACvB,IAAMoiM,EAAoBnz+B,EAAImv+B,GAAqBp+L,GAASnnB,EAAavpD,SACzE,OAAOonD,EAAM9nwB,EAAKwz9B,EAAmB1gnB,EAAI49mB,KAAqB1w9B,EAAKuuC,EAAQil7B,GAAoB1gnB,EAAI49mB,KAAqB,SAACnr+B,EAAOC,GAAG,MAAM,CACvID,QACAC,MACD,EACH,CAEsCiu+B,CAAiBriM,IACrDipH,EAAOg5E,EAAW,SAAAK,IAZU,SAACtv+B,EAASkn3B,GACtC+uC,EAAOhuB,EAASjo4B,EAASif,IAAa,SAAAhf,GAAK,OArIzB,SAACin3B,EAAajn3B,GAChC,OAAQin3B,GACN,IAAK,SACHjn3B,EAAMolH,QACN,MACF,IAAK,UACHplH,EAAMolH,QACN,MACF,IAAK,UACHplH,EAAMolH,MAAQ,EAElBplH,EAAM6s1B,OAAQ,CAChB,CAyHiDyiJ,CAAYroH,EAAajn3B,EAAM,EAChF,CAWIuv+B,CAAsBF,EAAStv+B,QAASkn3B,GACxC,IA1pBY363B,EA0pBNkj/B,EAAgBd,GAAe3hM,EAAQsiM,EAAStv+B,SACtDi25B,EAAOw5E,EAAe,SAAAC,GACpBrD,GAAcr/L,EAAwB,WAAhBk6E,EAA2B,aAAe,cAAewoH,EAAazjiB,IAC9F,GA7pBY1/c,EA8pBL+i/B,EAASJ,WA7pBlBj5E,EA6pB8Bw5E,EA7pBb,SAAA7t+B,GACfyn+B,GAAS98+B,EAAQqV,EACnB,GA4pBEqU,GAAOq59B,EAASJ,WAClB,EACF,EAEMS,GAAuB,SAAC3iM,EAAQk6E,GACpC,IAAMilH,EAAQ7vQ,GAAQqvQ,GAAqB3+L,IACrC4iM,EAAUtzQ,GArXS,SAAA0wE,GAAM,OAAIi7F,EAASmjG,GAAqBp+L,GAAS28L,GAAc,CAqXhEkG,CAAmB7iM,IACvC8iM,GAAY,EAChB,GAAI3D,EAAM7g/B,QAAUsk/B,EAAQtk/B,OAAQ,CAClC,IAAM85zB,EAAWpY,EAAOx8hB,UAAU6pe,cAClC20P,GAAgBhiM,EAAQm/L,EAAOjlH,GArcb,SAACl6E,EAAQk6E,EAAa0oH,GAExC35E,EAAO25E,EADW,WAAhB1oH,EACcsjH,GAEA,SAAA7u9B,GAAI,OAAIyu9B,GAAcp9L,EAAQrxxB,EAAK,EAEvD,CAgcIo09B,CAAc/iM,EAAQk6E,EAAa0oH,GACnC5iM,EAAOx8hB,UAAUipe,eAAe2rE,GAChCpY,EAAOx8hB,UAAUkqe,OAAO4nE,GAAetV,EAAOx8hB,UAAU08hB,WACxDF,EAAO6lB,cACPi9K,GAAY,CACd,CACA,OAAOA,CACT,EACME,GAAoB,SAAChjM,EAAQk6E,GAAW,OA5VL,SAAAl6E,GACvC,IAAMuxF,EAAawsG,GAAc/9L,GACjC,OAAOq0H,GAAoBr0H,EAAQuxF,EACrC,CAyVoD0xG,CAAiCjjM,IAAW2iM,GAAqB3iM,EAAQk6E,EAAa,EACpIgpH,GAAsB,SAAAljM,GAAM,OAAIgjM,GAAkBhjM,EAAQ,SAAU,EACpEmjM,GAAuB,SAAAnjM,GAAM,OAAIgjM,GAAkBhjM,EAAQ,UAAW,EACtEojM,GAAuB,SAAApjM,GAAM,OAAIgjM,GAAkBhjM,EAAQ,UAAW,EAGtEjd,GAAS,SAAAxjtB,GAAI,MADD,WACKA,CAAmB,EAIpCo8D,GAAW,SAACjlC,EAAS9tG,GAAM,OAFb6iU,EAE6B/0N,EAFtB3Q,EAtnC3B,SAAet5F,GAAqB,IAAD,IAAA42+B,EAAAvh/B,UAAAxD,OAAbkxxB,EAAW,IAAAj7wB,MAAA8u+B,EAAA,EAAAA,EAAA,KAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAX9zN,EAAW8zN,EAAA,GAAAxh/B,UAAAwh/B,GAC/B,OAAO,WAAkB,IAAD,IAAAC,EAAAzh/B,UAAAxD,OAAbmxxB,EAAQ,IAAAl7wB,MAAAgv+B,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAR/zN,EAAQ+zN,GAAA1h/B,UAAA0h/B,GACjB,IAAMh4+B,EAAMgkxB,EAAYluxB,OAAOmuxB,GAC/B,OAAOhjxB,EAAG3E,MAAM,KAAM0D,EACxB,CACF,CAmnC0Dq/iB,CAAMnje,EAAI9+E,GAFnB0xxB,GAAW7ud,EAAO1lO,EAAWm2R,GAAQ4yW,SAAnE,IAACrja,EAAO1lO,EAAWm2R,CAEuC,EAEzE07U,GAAWm3B,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,+BAEpCoi6B,GAAQiH,GAAS90H,IACjBsoM,GAAiB,SAAAt1jB,GACrB,IAAMiqY,EAAW,CAAC,EACZsrL,EAAgB,SAAAvv+B,GACpB,IAAI4lF,EAAYo0V,EAAIh6a,EAAQ,iBAAmB,gBAC3CmN,EAAS6sa,EAAIh6a,EAAQ,cAAgB,aACzC,GAAI6wW,GAAUjrR,GAAY,CACxB,IAAM4tuB,EAAaqhG,GAAMrx3B,OAAO,OAAQ,CACtC,gBAAiB,aAEfoiD,EAAU+qM,iBACZxjR,EAAS9E,KAAKgL,IAAIlG,EAAQy4E,EAAUt5D,WAAWniC,OAAS,GACpD6V,EACF4lF,EAAUuf,aAAaqutB,EAAY5tuB,EAAUt5D,WAAWnf,IAExD0n5B,GAAMrtH,YAAYgsB,EAAY5tuB,EAAUt5D,WAAWnf,KAGrDy4E,EAAUxgD,YAAYouxB,GAExB5tuB,EAAY4tuB,EACZrmzB,EAAS,CACX,CACA82yB,EAASjkzB,EAAQ,iBAAmB,gBAAkB4lF,EACtDq+tB,EAASjkzB,EAAQ,cAAgB,aAAemN,CAClD,EAKA,OAJAoi+B,GAAc,GACTv1jB,EAAIptL,WACP2ivB,IAEKtrL,CACT,EACMurL,GAAkB,SAAAvrL,GACtB,IAAMU,EAAkB,SAAA3kzB,GACtB,IAeI4lF,EAAYq+tB,EAASjkzB,EAAQ,iBAAmB,gBAChDmN,EAAS82yB,EAASjkzB,EAAQ,cAAgB,aAC9C,GAAK4lF,EAAL,CAGA,GAAIirR,GAAUjrR,IAAcA,EAAU8d,WAAY,CAChD,IAAMvxD,EAAOyzC,EACbz4E,EAtBgB,SAAAy4E,GAIhB,IAHA,IAAIpxC,EACArC,EAAuC,QAA/BqC,EAAKoxC,EAAU8d,kBAAoC,IAAZlvD,OAAqB,EAAIA,EAAGmtG,WAC3En1F,EAAM,EACHra,GAAM,CACX,GAAIA,IAASyzC,EACX,OAAOp5B,EAEJqkT,GAAU1+T,IAAgD,aAAvCA,EAAKqwD,aAAa,kBACxCh2C,IAEFra,EAAOA,EAAKu+T,WACd,CACA,OAAQ,CACV,CAQWknE,CAAUhyV,GACnBA,EAAYA,EAAU8d,WACtBmxzB,GAAM//4B,OAAOq9B,IACRyzC,EAAU+qM,iBAAmBkkoB,GAAMvjI,QAAQ1rsB,IAC9CA,EAAUxgD,YAAYyv3B,GAAMrx3B,OAAO,MAEvC,CACAygxB,EAASjkzB,EAAQ,iBAAmB,gBAAkB4lF,EACtDq+tB,EAASjkzB,EAAQ,cAAgB,aAAemN,CAXhD,CAYF,EACAw3yB,GAAgB,GAChBA,IACA,IAAM3qY,EAAM66e,GAAMnvH,YAKlB,OAJA1rX,EAAIihB,SAASgpX,EAASrmF,eAAgBqmF,EAASjpR,aAC3CipR,EAASpmF,cACX7jT,EAAIkhB,OAAO+oX,EAASpmF,aAAcomF,EAASnmF,WAEtCqjF,GAAennY,EACxB,EAEMy1jB,GAA+B,SAAAlwE,GACnC,OAAQA,GACN,IAAK,KACH,MAAO,eACT,IAAK,KACH,MAAO,eACT,IAAK,KACH,MAAO,eAEb,EAMMv6H,GAAa,SAAC7pxB,EAAKu1Q,GACvBitoB,GAASr22B,KAAKopO,EAAO,SAAC1lS,EAAOiC,GAC3BkuB,EAAIwnF,aAAa11G,EAAKjC,EACxB,EACF,EAOM0k/B,GAAwB,SAAC5kiB,EAAKvhb,EAAIusC,IAfhB,SAACg1Y,EAAKvhb,EAAIusC,GAChC,IAAMpqE,EAAOoqE,EAAO,mBAAqBA,EAAO,mBAAqB,KACrEg1Y,EAAI27V,SAASl9wB,EAAI,kBAAmB79B,EACtC,CAaEik/B,CAAgB7kiB,EAAKvhb,EAAIusC,GAPH,SAACg1Y,EAAKvhb,EAAIusC,GAChCkvuB,GAAWz7wB,EAAIusC,EAAO,oBACtB6n2B,GAASr22B,KAAKwjZ,EAAIh9a,OAAO,KAAMvE,GAAK,SAAAyiZ,GAClCg5X,GAAWh5X,EAAIl2W,EAAO,wBACxB,EACF,CAGE856B,CAAgB9kiB,EAAKvhb,EAAIusC,EAC3B,EAIMq3E,GAAW,SAAC0+pB,EAAQ15vB,GAAI,OAAK2ouB,EAAc3ouB,KAAUm/uB,GAAQn/uB,EAAM05vB,EAAO98xB,OAAOgixB,mBAAoB,EACrG8+M,GAAkB,SAAChkM,EAAQ7xX,EAAKh6a,EAAO8zE,GAC3C,IAAI8R,EAAYo0V,EAAIh6a,EAAQ,iBAAmB,gBACzCmN,EAAS6sa,EAAIh6a,EAAQ,cAAgB,aACvC6wW,GAAUjrR,KACZA,EAAYA,EAAUt5D,WAAWjkB,KAAKgL,IAAIlG,EAAQy4E,EAAUt5D,WAAWniC,OAAS,KAAOy7F,IAEpF5lF,GAAS4i2B,GAAKh9wB,EAAU8qR,eAC3B9qR,EAAYA,EAAU8qR,aAExB,IAMMo/nB,EAAsB,SAAClq5B,EAAWyttB,GAKtC,IAJA,IAAI7+vB,EAGArC,EAFE69uB,EAAS,IAAI8uM,GAASl54B,EARJ,SAAAzzC,GACxB,MAAQ05vB,EAAO/gW,IAAIwmV,QAAQn/uB,IAASA,EAAKuxD,YAAc5vB,IAAS3hC,GAC9DA,EAAOA,EAAKuxD,WAEd,OAAOvxD,CACT,CAGyC497B,CAAkBnq5B,IACnD3qC,EAAMo4vB,EAAU,OAAS,OAExBlhwB,EAAO69uB,EAAO/0uB,MACnB,IAAMwt7B,GAAO58L,EAAQ15vB,KAASy8uB,GAAOz8uB,EAAK7b,cAA6F,KAAhD,QAA3Bke,EAAKrC,EAAK7b,mBAAqC,IAAZke,OAAqB,EAAIA,EAAGrqD,QACzH,OAAOuxxB,EAASpyvB,KAAK6oB,GAGzB,OAAOupuB,EAAS/gX,MAClB,EACA,GAAI36Z,GAASoo+B,GAAaxi5B,GACxB,GAAIgpsB,GAAOhpsB,EAAUtvD,aACnBsvD,EAAYkq5B,EAAoBlq5B,GAAW,GAAOk1oB,MAAMl1oB,QAKxD,IAH6B,OAAzBA,EAAU8d,YAAuBypC,GAAS0+pB,EAAQjmtB,EAAU8d,cAC9D9d,EAAYA,EAAU8d,YAEa,OAA9B9d,EAAUixV,kBAA6B1pS,GAAS0+pB,EAAQjmtB,EAAUixV,kBAAoBuxjB,GAAaxi5B,EAAUixV,mBAClHjxV,EAAYA,EAAUixV,gBAI5B,IAAK72a,GAASoo+B,GAAaxi5B,GACzB,GAAIgpsB,GAAOhpsB,EAAUtvD,aACnBsvD,EAAYkq5B,EAAoBlq5B,GAAW,GAAMk1oB,MAAMl1oB,QAKvD,IAH6B,OAAzBA,EAAU8d,YAAuBypC,GAAS0+pB,EAAQjmtB,EAAU8d,cAC9D9d,EAAYA,EAAU8d,YAES,OAA1B9d,EAAU8qR,cAAyBvjO,GAAS0+pB,EAAQjmtB,EAAU8qR,cAAgB03nB,GAAaxi5B,EAAU8qR,eAC1G9qR,EAAYA,EAAU8qR,YAI5B,KAAO9qR,EAAU8d,aAAe5vB,GAAM,CACpC,IAAMjiC,EAAS+zC,EAAU8d,WACzB,GAAIumtB,GAAYpe,EAAQjmtB,GACtB,OAAOA,EAET,GAAI,YAAYx5F,KAAKylD,EAAOmzD,UAC1B,OAAOpf,EAETA,EAAY/zC,CACd,CACA,OAAO+zC,CACT,EA2DMoq5B,GAAY,SAACnkM,EAAQ0zH,EAAUzp2B,GACnC,IAAMkkX,EAAM6xX,EAAOx8hB,UAAU08hB,SACzBkkM,EAAe,KACbn85B,EAAO+15B,GAAmBh+L,EAZP,SAACA,EAAQhvY,GAClC,IAAM78Z,EAAQ6ryB,EAAOx8hB,UAAU6ud,UAAS,GAClCnmG,EAAa83W,GAAgBhkM,EAAQhvY,GAAO,EAAMgvY,EAAO50D,WAC/D,OAAIzvmB,GAASk9oB,EAAavpD,QAAQpjG,GAAa2sJ,EAAavpD,QAAQt+T,EAAMgmU,0BACjEhmU,EAAMgmU,wBAEN7iuB,CAEX,CAI0Ckw+B,CAAmBrkM,EAAQ7xX,IAC7D8wB,EAAM+gW,EAAO/gW,IACnB,GAA2D,UAAvDA,EAAIi7V,mBAAmB8F,EAAOx8hB,UAAUyxd,WAA5C,CAIiB,QADjBy+L,EAAWA,EAASzs1B,iBAElBm95B,EAAe,MAEjB,IAAMhsL,EAAWqrL,GAAet1jB,GAC1Bm2jB,EAAqBrpG,EAvEC,SAACj7F,EAAQ7xX,EAAKlmW,GAO1C,IANA,IAIIi6J,EAJEqiwB,EAAa,GACbtliB,EAAM+gW,EAAO/gW,IACbrgB,EAAYoljB,GAAgBhkM,EAAQ7xX,GAAK,EAAMlmW,GAC/C4yuB,EAAUmpL,GAAgBhkM,EAAQ7xX,GAAK,EAAOlmW,GAE9C63uB,EAAW,GACRx5wB,EAAOs4Y,EAAWt4Y,IACzBw5wB,EAASl8zB,KAAK0iD,GACVA,IAASu0wB,GAFkBv0wB,EAAOA,EAAKu+T,aAkC7C,OA5BAitjB,GAASr22B,KAAKqkwB,EAAU,SAAAx5wB,GACtB,IAAIqC,EACJ,GAAIy1wB,GAAYpe,EAAQ15vB,GAGtB,OAFAi+7B,EAAW3g/B,KAAK0iD,QAChB47L,EAAQ,MAGV,GAAI+8N,EAAIwmV,QAAQn/uB,IAASywzB,GAAKzwzB,GAK5B,OAJIywzB,GAAKzwzB,IACP24Z,EAAIh2b,OAAOq9B,QAEb47L,EAAQ,MAGV,IAAM2iI,EAAcv+T,EAAKu+T,YACrB+yV,GAASqmH,eAAe33wB,KACtBut3B,GAAWhvjB,IAAgBu5c,GAAYpe,EAAQn7b,KAAiBA,GAAev+T,EAAKuxD,aAAe5vB,GACrGi6J,EAAQ,MAIPA,IACHA,EAAQ+8N,EAAItna,OAAO,KACQ,QAA1BgR,EAAKrC,EAAKuxD,kBAAoC,IAAZlvD,GAAyBA,EAAG2wD,aAAa4oI,EAAO57L,GACnFi+7B,EAAW3g/B,KAAKs+O,IAElBA,EAAM3oM,YAAY+M,GACpB,GACOi+7B,CACT,CA6BsCC,CAAsBxkM,EAAQ7xX,EAAKlmW,GAAO+3tB,EAAO/gW,IAAIm9V,YACzF01H,GAASr22B,KAAK6o7B,EAAoB,SAAApiwB,GAChC,IAAIuiwB,EACElxT,EAAUrxc,EAAM8oM,gBAChBhlY,EAASk8L,EAAMrqI,WAChB6k4B,GAAe127B,KACdutoB,GAAWsgP,GAAWtgP,IAAYA,EAAQp6kB,WAAau6zB,GAlCtC,SAACz0d,EAAKyliB,EAAKz66B,GACpC,IAAM066B,EAAW1liB,EAAI45V,SAAS6rM,EAAK,mBAC/BE,EAAc366B,EAASA,EAAO,mBAAqB,GAEvD,OAAO066B,KADuB,OAAhBC,EAAuB,GAAKA,EAE5C,CA6B6EC,CAAmB5liB,EAAKs0O,EAAStpnB,IACtGw66B,EAAYlxT,EACZrxc,EAAQ+8N,EAAIytD,OAAOxqR,EAAOkiwB,GAC1B7wT,EAAQh6oB,YAAY2oM,KAEpBuiwB,EAAYxliB,EAAItna,OAAO+73B,GACvB1t3B,EAAOszD,aAAamr4B,EAAWviwB,GAC/BuiwB,EAAUlr8B,YAAY2oM,GACtBA,EAAQ+8N,EAAIytD,OAAOxqR,EAAOkiwB,IAxJb,SAACnliB,EAAKvoW,EAASr2F,GAClCyx5B,GAASr22B,KAAKp7C,EAAQ,SAAAL,GAAK,OAAIi/b,EAAI27V,SAASlksB,EAAS12F,EAAO,GAAG,EACjE,CAwJMm3T,CAAa8nI,EAAK/8N,EAAO,CAAC,SAAU,eAAgB,gBAAiB,cAAe,aAAc,UAAW,gBAAiB,iBAAkB,eAAgB,gBAChK2hwB,GAAsB5kiB,EAAKwliB,EAAWx66B,GACtC666B,GAAuB9kM,EAAO/gW,IAAKwliB,GAEvC,GACAzkM,EAAOx8hB,UAAUkqe,OAAOi2P,GAAgBvrL,GA3BxC,CA4BF,EAYM2sL,GAAc,SAAC9liB,EAAK+liB,EAAOC,GAC/B,OAZmB,SAACD,EAAOC,GAC3B,OAAOpxE,GAAWmxE,IAAUA,EAAM7r4B,YAAc8r4B,aAA0C,EAAIA,EAAM9r4B,SACtG,CAUS+r4B,CAAaF,EAAOC,IATJ,SAAChmiB,EAAK+liB,EAAOC,GAGpC,OAFoBhmiB,EAAI45V,SAASmsM,EAAO,mBAAmB,KAC7C/liB,EAAI45V,SAASosM,EAAO,mBAAmB,EAEvD,CAKuCE,CAAiBlmiB,EAAK+liB,EAAOC,KAJtCG,EAIsEH,EAAPD,EAH/E/49B,YAAcm59B,EAAKn59B,WADV,IAAOm59B,CAK9B,EACMN,GAAyB,SAAC7liB,EAAKwliB,GACnC,IAAIn+7B,EACAitoB,EAAUkxT,EAAU5/nB,YACxB,GAAIkgoB,GAAY9liB,EAAKwliB,EAAWlxT,GAAU,CAExC,IADA,IAAM8xT,EAAY9xT,EACXjtoB,EAAO++7B,EAAUvv1B,YACtB2u1B,EAAUlr8B,YAAY+M,GAExB24Z,EAAIh2b,OAAOo89B,EACb,CAEA,GADA9xT,EAAUkxT,EAAUz5jB,gBAChB+5jB,GAAY9liB,EAAKwliB,EAAWlxT,GAAU,CAExC,IADA,IAAM8xT,EAAY9xT,EACXjtoB,EAAO++7B,EAAU5m4B,WACtBgm4B,EAAUnr4B,aAAahzD,EAAMm+7B,EAAU3u1B,YAEzCmpT,EAAIh2b,OAAOo89B,EACb,CACF,EACMC,GAAe,SAACtlM,EAAQhwxB,EAAM0j5B,EAAUzp2B,GAC5C,GAAIj6C,EAAKmpF,WAAau6zB,EAAU,CAC9B,IAAM6xE,EAAUvlM,EAAO/gW,IAAIytD,OAAO18e,EAAM0j5B,GACxCmwE,GAAsB7jM,EAAO/gW,IAAKsmiB,EAASt76B,GAC3Co16B,GAAcr/L,EAAQ4jM,GAA6BlwE,GAAW6xE,EAChE,MACE1B,GAAsB7jM,EAAO/gW,IAAKjvb,EAAMi6C,GACxCo16B,GAAcr/L,EAAQ4jM,GAA6BlwE,GAAW1j5B,EAElE,EACMw19B,GAAmB,SAACxlM,EAAQhwxB,EAAM0j5B,EAAUzp2B,GAShD,GARAj6C,EAAKnG,UAAUkJ,QAAQ,SAAC0mxB,EAAK/6tB,EAAG70D,GAC1B4vxB,EAAI91yB,WAAW,UACjBkmB,EAAUZ,OAAOwwxB,GACQ,IAArB5vxB,EAAUvrB,QACZ0xB,EAAK0kF,gBAAgB,SAG3B,GACI1kF,EAAKmpF,WAAau6zB,EAAU,CAC9B,IAAM6xE,EAAUvlM,EAAO/gW,IAAIytD,OAAO18e,EAAM0j5B,GACxCmwE,GAAsB7jM,EAAO/gW,IAAKsmiB,EAASt76B,GAC3Co16B,GAAcr/L,EAAQ4jM,GAA6BlwE,GAAW6xE,EAChE,MACE1B,GAAsB7jM,EAAO/gW,IAAKjvb,EAAMi6C,GACxCo16B,GAAcr/L,EAAQ4jM,GAA6BlwE,GAAW1j5B,EAElE,EAgBMy19B,GAAqB,SAAAx76B,GACzB,MAAO,oBAAqBA,CAC9B,EAgCMy76B,GAAa,SAAC1lM,EAAQ0zH,EAAUiyE,GACpC,IAAMp0G,EAAawsG,GAAc/9L,GACjC,IAAIwxF,GAAwBxxF,EAAQuxF,GAApC,CAGA,IAAMq0G,EAAmB3H,GAAoBj+L,GACvC/1uB,EAAS6e,EAAS685B,GAAWA,EAAU,CAAC,EAC1CC,EAAiBtn/B,OAAS,EAxDJ,SAAC0hzB,EAAQuxF,EAAY4tG,EAAOzrE,EAAUzp2B,GAChE,IAAM476B,EAAehyE,GAAWtiC,GAChC,IAAIs0G,GAAgBt0G,EAAWp4xB,WAAau6zB,GAAa+xE,GAAmBx76B,IAAY8p2B,GAAaxiC,GAE9F,CACL4yG,GAAUnkM,EAAQ0zH,EAAUzp2B,GAC5B,IAAMmuvB,EAAWqrL,GAAezjM,EAAOx8hB,UAAU08hB,UAC3C4lM,EAAWD,EAAY,CAAIt0G,GAAUjw4B,OAAAwuB,EAAKqv9B,IAASA,EACnD4G,EAAiBF,GAAgB9xE,GAAaxiC,GAAci0G,GAAmBF,GACrFxzE,GAASr22B,KAAKqq7B,EAAU,SAAAx29B,GACtBy29B,EAAe/lM,EAAQ1wxB,EAAKok5B,EAAUzp2B,EACxC,GACA+1uB,EAAOx8hB,UAAUkqe,OAAOi2P,GAAgBvrL,GAC1C,MAVEgrL,GAAqBpjM,EAWzB,CA2CIgmM,CAAoBhmM,EAAQuxF,EAAYq0G,EAAkBlyE,EAAUzp2B,GAvC/C,SAAC+1uB,EAAQuxF,EAAYmiC,EAAUzp2B,GACtD,GAAIsn0B,IAAevxF,EAAO50D,UAG1B,GAAImmJ,EACF,GAAIA,EAAWp4xB,WAAau6zB,GAAa+xE,GAAmBx76B,IAAY8p2B,GAAaxiC,GAE9E,CACL,IAAMn5E,EAAWqrL,GAAezjM,EAAOx8hB,UAAU08hB,UAC7C6zH,GAAaxiC,IACfA,EAAW1n3B,UAAUkJ,QAAQ,SAAC0mxB,EAAK/6tB,EAAG70D,GAChC4vxB,EAAI91yB,WAAW,UACjBkmB,EAAUZ,OAAOwwxB,GACQ,IAArB5vxB,EAAUvrB,QACZiz4B,EAAW78xB,gBAAgB,SAGjC,GAEFmv4B,GAAsB7jM,EAAO/gW,IAAKsyb,EAAYtn0B,GAC9C,IAAMs76B,EAAUvlM,EAAO/gW,IAAIytD,OAAO6kY,EAAYmiC,GAC9CoxE,GAAuB9kM,EAAO/gW,IAAKsmiB,GACnCvlM,EAAOx8hB,UAAUkqe,OAAOi2P,GAAgBvrL,IACxC+rL,GAAUnkM,EAAQ0zH,EAAUzp2B,GAC5Bo16B,GAAcr/L,EAAQ4jM,GAA6BlwE,GAAW6xE,EAChE,MAnBEnC,GAAqBpjM,QAqBvBmkM,GAAUnkM,EAAQ0zH,EAAUzp2B,GAC5Bo16B,GAAcr/L,EAAQ4jM,GAA6BlwE,GAAWniC,EAElE,CAWI00G,CAAiBjmM,EAAQuxF,EAAYmiC,EAAUzp2B,EANjD,CAQF,EAEMkxuB,GAAM80H,GAAS90H,IAqBf+qM,GAAiB,SAACjniB,EAAKvoW,GAC3B,IAAMyo4B,EAAQrtE,GAAS17I,KAAKn3U,EAAIh9a,OAAO,QAASy0E,IAChDo7zB,GAASr22B,KAAK0j7B,EAAO,SAAAnv9B,IAtBD,SAACivb,EAAKjvb,GAC1B,IAAM6nF,EAAa7nF,EAAKi2H,cACxB,GAAIpuC,GAAsC,OAAxBA,EAAWsB,UAAqBtB,EAAWi+C,aAAe9lI,EAAM,CAChF,IAAMujqB,EAAU17kB,EAAWmzU,gBACvBuoQ,GAAgC,OAArBA,EAAQp6kB,UACrBo6kB,EAAQh6oB,YAAYvpB,GAChBg0wB,GAAU/kV,EAAKpnW,IACjBsjsB,GAAIlyxB,OAAO4uF,IAGbsjsB,GAAIP,SAAS/isB,EAAY,gBAAiB,OAE9C,CACA,GAAIg8zB,GAAWh8zB,GAAa,CAC1B,IAAM07kB,EAAU17kB,EAAWmzU,gBACvBuoQ,GAAgC,OAArBA,EAAQp6kB,UACrBo6kB,EAAQh6oB,YAAYvpB,EAExB,CACF,CAIIm29B,CAAclniB,EAAKjvb,EACrB,EACF,EAEMo29B,GAAyB,SAACpmM,EAAQ7xX,EAAKs5X,EAAWx/tB,GACtD,IAAI3hC,EAAO6nY,EAAI4jT,eACTzwtB,EAAS6sa,EAAIghH,YACnB,GAAIotc,GAAaj27B,KAAUmhwB,EAAYnmyB,EAASglC,EAAKriD,KAAK3F,OAASgjB,EAAS,GAC1E,OAAOglC,EAET,IAAM+/7B,EAAiBrmM,EAAO98xB,OAAO4uxB,sBACjC9sb,GAAU1+T,KACZA,EAAOg27B,GAASrnQ,QAAQ3urB,EAAMhlC,IAEhC,IAAM6ixB,EAAS,IAAI8uM,GAAS3s7B,EAAM2hC,GAC9Bw/tB,GA7/BY,SAACxoW,EAAK34Z,GACtB,QAAKywzB,GAAKzwzB,IAGH24Z,EAAIwmV,QAAQn/uB,EAAKu+T,eAAiBkyf,GAAKzwzB,EAAK0kY,gBACrD,CAy/BQqzY,CAAUre,EAAO/gW,IAAK34Z,IACxB69uB,EAAOj4xB,OAIX,IADA,IAAM4pzB,EAASrO,EAAYtjB,EAAOj4xB,KAAKu4D,KAAK0/tB,GAAUA,EAAO7G,MAAM74tB,KAAK0/tB,GACjE79uB,EAAOwvwB,KAAU,CACtB,GAAsB,OAAlBxvwB,EAAK6yD,WAAsB7yD,EAAKw+O,gBAClC,OAAOx+O,EAET,GAAI+/7B,EAAe//7B,EAAK6yD,UACtB,OAAO7yD,EAET,GAAIi27B,GAAaj27B,IAASA,EAAKriD,KAAK3F,OAAS,EAC3C,OAAOgoD,CAEX,CACA,OAAO,IACT,EACMgg8B,GAAuB,SAACrniB,EAAK3vb,GACjC,IAAMmR,EAAanR,EAAImR,WACvB,OAA6B,IAAtBA,EAAWniC,SAAiBu16B,GAAWpz4B,EAAW,KAAOw+a,EAAIwmV,QAAQhlwB,EAAW,GACzF,EACM8l9B,GAAgB,SAAAjg8B,GAAI,OAAIupuB,EAASxquB,KAAKiB,GAAMr3C,IAAI4pxB,EAAavpD,SAASz4sB,OAAOknwB,GAAe5nU,OAAO,SAAAz4b,GAAE,OA3qCxF,SAACg5E,GAAqC,IAA5BgkrB,EAAc54xB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,IAAAA,UAAA,GACzC,OAAIk4xB,GAAOtjrB,GACFA,EAAQuoW,IAAI07U,kBAEZrniB,GAAQ58I,GAAS65nB,KAAK9mL,EAASixO,GAAiB,SAAAE,GAAQ,MAAyB,SAArBhiD,GAAOgiD,EAAoB,EAElG,CAqqC+GwhB,CAAW1+wB,KAAQ41vB,EAAW,CAAC,WAAY32xB,EAAK+gC,GAAI,EAAE,EAM/Jo4S,GAAe,SAACmpI,EAAKy7b,EAASD,GAClC,IAAIn01B,EACEw/wB,EAAYwgL,GAAqBrniB,EAAKw7b,GAASA,EAAM3kvB,WAAa2kvB,EAExE,GAT6B,SAACx7b,EAAK3vb,GAC/Bg39B,GAAqBrniB,EAAK3vb,IAAQi39B,GAAcj39B,EAAIwmI,aACtDmpT,EAAIh2b,OAAOqG,EAAIwmI,YAAY,EAE/B,CAIE0w1B,CAAuBvniB,EAAKy7b,IACvB12G,GAAU/kV,EAAKy7b,GAAS,GAC3B,KAAOp01B,EAAOo01B,EAAQ5kvB,YACpBgwqB,EAAUvsxB,YAAY+M,EAG5B,EACMmg8B,GAAkB,SAACxniB,EAAKy7b,EAASD,GACrC,IAAIisG,EACE7gkB,EAAK60d,EAAQ7iyB,WACnB,GAAKm8zB,GAAc/0d,EAAKy7b,IAAas5B,GAAc/0d,EAAKw7b,GAAxD,CAGIo5B,GAAWp5B,EAAMh8xB,aACnBio4B,EAAWjsG,EAAMh8xB,WAEfonU,IAAO40d,EAAMh8xB,WACXs4vB,GAAKlxb,EAAGmF,kBACVi0B,EAAIh2b,OAAO48Z,EAAGmF,iBAGlB,IAAM1kY,EAAOm01B,EAAMh8xB,UACfn4D,GAAQywzB,GAAKzwzB,IAASo01B,EAAQ51mB,iBAChCm6K,EAAIh2b,OAAOq9B,GAET09uB,GAAU/kV,EAAKw7b,GAAO,IACxBvz1B,GAAM2xuB,EAAavpD,QAAQmrK,IAE7B3kkB,GAAampI,EAAKy7b,EAASD,GACvBisG,GACFjsG,EAAMlh2B,YAAYmt8B,GAEpB,IA90CgBv+iB,EAAIm2J,EACd31J,EACA01J,EA60CAsoZ,GA/0CUx+iB,EA80CY0wV,EAAavpD,QAAQmrK,GA90C7Bn8S,EA80CqCu6L,EAAavpD,QAAQorK,GA70CxE/xc,EAAKR,EAAG8W,IACRo/I,EAAKC,EAAGr/I,IACPtW,IAAO01J,GAAa11J,EAAG5rV,SAASshf,IA40CNp/I,EAAI85V,WAAW2hG,EAASm5B,GAAYp5B,GAAS,GAC9Ex7b,EAAIh2b,OAAOyx3B,GACXuuB,EAAO09E,EAAa,SAAA329B,GACdg0wB,GAAU/kV,EAAKjvb,IAASA,IAASivb,EAAIy5V,WACvCz5V,EAAIh2b,OAAO+G,EAEf,EA3BA,CA4BF,EAMM429B,GAAe,SAAC5mM,EAAQ7xX,EAAK04jB,EAAQC,GACzC,IAAM7niB,EAAM+gW,EAAO/gW,IACnB,GAAIA,EAAIvib,QAAQoq9B,IAPO,SAAC9mM,EAAQ6mM,EAAQC,GACxC5/7B,GAAM2xuB,EAAavpD,QAAQw3Q,IAC3BL,GAAgBzmM,EAAO/gW,IAAK4niB,EAAQC,GACpC9mM,EAAOx8hB,UAAUgujB,kBAAkBs1K,EAAM,EAC3C,CAIIC,CAAiB/mM,EAAQ6mM,EAAQC,OAC5B,CACL,IAAM1uL,EAAWqrL,GAAet1jB,GAChCs4jB,GAAgBxniB,EAAK4niB,EAAQC,GAC7B9mM,EAAOx8hB,UAAUkqe,OAAOi2P,GAAgBvrL,GAC1C,CACF,EAOM4uL,GAAqC,SAAChnM,EAAQyH,GAClD,IAAMxoW,EAAM+gW,EAAO/gW,IACjBz7L,EAAYw8hB,EAAOx8hB,UACfyjuB,EAAoBzjuB,EAAU6ud,WAC9BpqpB,EAAOs25B,GAAsBv+L,EAAQinM,GACrC9mkB,EAAK8+B,EAAIlqI,UAAUvxD,EAAU6ud,WAAY,KAAMpqpB,GACrD,GAAIk4V,EAAI,CACN,IAAM0F,EAAK1F,EAAGl6R,cACd,GAAI4/R,IAAOm6X,EAAO50D,WAAa44C,GAAU/kV,EAAKp5B,GAC5C,OAAO,EAET,IAAMsI,EAAMmnY,GAAe9xiB,EAAU08hB,UAC/BgnM,EAAUjoiB,EAAIlqI,UAAUqxqB,GAAuBpmM,EAAQ7xX,EAAKs5X,EAAWx/tB,GAAO,KAAMA,GACpFk/5B,EAA2BD,IAAYz/L,EAAYxoW,EAAIhqN,UAAUkrL,EAAI+mkB,GAAWjoiB,EAAIhqN,UAAUiyvB,EAAS/mkB,IAC7G,GAAI+mkB,GAAWA,IAAY/mkB,IAAOgnkB,EAYhC,OAXAnnM,EAAOj1D,YAAYyB,SAAS,WAjnCb,IAAAlmsB,EACfqC,EAinCM8+vB,EACFm/L,GAAa5mM,EAAQ7xX,EAAK+4jB,EAAS/mkB,IAjnCR,QAA1Bx3X,GAFUrC,EAqnCM65X,GAnnCNtoU,kBAAoC,IAAZlvD,OAAqB,EAAIA,EAAGmtG,cAAgBxvG,EAonC7E687B,GAAqBnjM,GA1BX,SAACA,EAAQ7xX,EAAK04jB,EAAQC,GAC1C,IAAM1uL,EAAWqrL,GAAet1jB,GAChCs4jB,GAAgBzmM,EAAO/gW,IAAK4niB,EAAQC,GACpC,IAAMM,EAAmBzD,GAAgBvrL,GACzCpY,EAAOx8hB,UAAUkqe,OAAO05P,EAC1B,CAuBYC,CAAcrnM,EAAQ7xX,EAAKhO,EAAI+mkB,EAGrC,IACO,EACF,GAAIC,IAA6B1/L,GAAay/L,IAAY/mkB,EAW/D,OAVA6/X,EAAOj1D,YAAYyB,SAAS,WAC1B,GAAIr+T,EAAI6oT,wBAAwB/wlB,cAAe,CAC7C,IAAMmyqB,EAAWqrL,GAAet1jB,GAC1Bm5jB,EAAiBn5jB,EAAI6oT,wBAAwB/wlB,cACnD6vL,GAAampI,EAAK9wB,EAAI6oT,wBAAwB/wlB,cAAeih2B,GAC7DI,EAAer+9B,SACf,IAAMm+9B,EAAmBzD,GAAgBvrL,GACzCpY,EAAOx8hB,UAAUkqe,OAAO05P,EAC1B,CACF,IACO,EACF,IAAKF,IACLz/L,GAAiC,IAApBt5X,EAAIghH,aAAuC,IAAlBhhH,EAAI8jT,UAI7C,OAHA+tE,EAAOj1D,YAAYyB,SAAS,WAC1B42P,GAAqBpjM,EACvB,IACO,CAGb,CACA,OAAO,CACT,EAQMunM,GAA+B,SAACvnM,EAAQyH,GAC5C,IAAMxoW,EAAM+gW,EAAO/gW,IACbgoiB,EAAoBjnM,EAAOx8hB,UAAU6ud,WACrCpqpB,EAAOs25B,GAAsBv+L,EAAQinM,GACrC/kwB,EAAQ+8N,EAAIlqI,UAAUkyqB,EAAmBhoiB,EAAIwmV,QAASx9sB,GAC5D,GAAIi6J,GAAS+8N,EAAIvib,QAAQwlN,GAAQ,CAC/B,IAAMisM,EAAMmnY,GAAetV,EAAOx8hB,UAAU08hB,UACtCgnM,EAAUjoiB,EAAIlqI,UAAUqxqB,GAAuBpmM,EAAQ7xX,EAAKs5X,EAAWx/tB,GAAO,KAAMA,GAC1F,GAAIi/5B,EAAS,CACX,IAAMM,EAAmB,SAAA9w4B,GAAO,OAAI48qB,EAAW,CAAC,KAAM,KAAM,WAAY32xB,EAAK+5G,GAAU,EACjF+w4B,EAAW,SAAAnh8B,GAAI,OAAIA,EAAK24Z,MAAQh3X,CAAK,EAG3C,QAt/CS,SAACuusB,EAAKC,GAA8B,OAAKC,EAAMF,EAAKC,EAA/B30xB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAGytxB,GAA6CtgD,MAAMunD,EAAIhgD,UAAYigD,EAAIjgD,SAAU,CAs/C7G1jrB,CAFesp7B,GAAUvjN,EAAavpD,QAAQ43Q,GAAUM,EAAkBC,GAC7DrL,GAAUvjN,EAAavpD,QAAQnhT,EAAI4jT,gBAAiBy1Q,EAAkBC,GACpD//5B,KAGpCs4tB,EAAOj1D,YAAYyB,SAAS,WAC1B,IAAM30oB,EAAaqv4B,EAAQrv4B,YAxBf,SAAConW,EAAK/8N,EAAOj6J,GAC/B,IAAM09sB,EAAc1mV,EAAIlqI,UAAU7yF,EAAMrqI,WAAYonW,EAAIwmV,QAASx9sB,GACjEg3X,EAAIh2b,OAAOi5N,GACPyjjB,GAAe1mV,EAAIvib,QAAQipwB,IAC7B1mV,EAAIh2b,OAAO08wB,EAEf,CAmBQ+hN,CAAYzoiB,EAAK/8N,EAAOj6J,GACxB685B,GAAuB7liB,EAAKpnW,GAC5BmosB,EAAOx8hB,UAAUvhP,OAAOil9B,GAAS,GACjClnM,EAAOx8hB,UAAU87J,SAASmoY,EAC5B,IACO,EACT,CACF,CACA,OAAO,CACT,EAIMkgM,GAAmB,SAAA3nM,GACvB,IAAMinM,EAAoBjnM,EAAOx8hB,UAAU6ud,WACrCpqpB,EAAOs25B,GAAsBv+L,EAAQinM,GAE3C,OADwBjnM,EAAO/gW,IAAIlqI,UAAUkyqB,EAAmB,WAAYh/5B,IAClDm25B,GAAqBp+L,GAAQ1hzB,OAAS,CAClE,EAWMqu4B,GAAkB,SAAC3sF,EAAQyH,GAC/B,IAAMjkiB,EAAYw8hB,EAAOx8hB,UACzB,OAAQgunB,GAAwBxxF,EAAQx8hB,EAAUyxd,aAAezxd,EAAUwne,cArBhD,SAACg1D,EAAQyH,GACpC,OAAOu/L,GAAmChnM,EAAQyH,IAAc8/L,GAA6BvnM,EAAQyH,EACvG,CAmB6F2mE,CAAqBpuE,EAAQyH,GAZ7F,SAAAzH,GAC3B,QAAI2nM,GAAiB3nM,KACnBA,EAAOj1D,YAAYyB,SAAS,WAC1BwzD,EAAO/0D,YAAY,UACnBi7P,GAAelmM,EAAO/gW,IAAK+gW,EAAO50D,UACpC,IACO,EAGX,CAGuImjI,CAAqBvuE,GAC5J,EA0CM4nM,GAAwB,SAAAho/B,GAC5B,IAAM8mkB,EAAQvpgB,EAAQrG,GAAKl3D,GAAK6tC,MAAM,KAChCiT,EAASzxC,EAAIy3jB,EAAO,SAACnnf,EAAM1gF,GAC/B,IAAMgp/B,EAAYto6B,EAAK0H,cAAcpmC,WAAW,GAAK,IAAIA,WAAW,GAAK,EACzE,OAAOrkC,KAAKowC,IAAI,GAAI/tD,GAAKgp/B,CAC3B,GACA,OAAO92N,EAAMrwuB,EAAQ,SAAC4zK,EAAK3vK,GAAC,OAAK2vK,EAAM3vK,CAAC,EAAE,EAC5C,EACMmj8B,GAA0B,SAAA3o/B,GAE9B,KADAA,EACY,EACV,MAAO,GAEP,IAAM8nf,EAAY9nf,EAAQ,GACpBk6vB,EAAW78uB,KAAKC,MAAMtd,EAAQ,IAGpC,OAFa2o/B,GAAwBzuP,GACxB93vB,OAAOowD,aAAa,IAAI9Q,WAAW,GAAKomc,EAGzD,EA2CM8ggB,GAAc,SAAA996B,GAClB,IAAM91D,EAAQooB,SAAS0tC,EAAO91D,MAAO,IACrC,OAAIoixB,EAAKtstB,EAAO6q2B,cAAe,eACtBgzE,GAAwB3z+B,GACtBoixB,EAAKtstB,EAAO6q2B,cAAe,eAC7BgzE,GAAwB3z+B,GAAOqL,cAE/ByqD,EAAO91D,KAElB,EAEM5L,GAAO,SAAAy3yB,GACX,IAAMgoM,EAAcjK,GAAc/9L,GAC7By8L,GAASuL,KAAgBx2G,GAAwBxxF,EAAQgoM,IAG9DhoM,EAAOjzD,cAAcxkvB,KAAK,CACxByzF,MAAO,kBACPrjC,KAAM,CACJ94D,KAAM,QACNkkB,MAAO,CAAC,CACNlkB,KAAM,QACNlD,KAAM,QACNgzB,MAAO,uBACPq98B,UAAW,aAGfngP,YAAa,CACX14uB,MAAO4z+B,GAAY,CACjB5z+B,MAAO6ryB,EAAO/gW,IAAIm5V,UAAU4vM,EAAa,QAAS,KAClDlzE,cAAejlJ,EAASxquB,KAAK26vB,EAAO/gW,IAAI45V,SAASmvM,EAAa,uBAGlE1vtB,QAAS,CAAC,CACRz4R,KAAM,SACNlD,KAAM,SACN83B,KAAM,UACL,CACD50B,KAAM,SACNlD,KAAM,OACN83B,KAAM,OACNk4tB,SAAS,IAEXopL,SAAU,SAAAjkyB,IArEU,SAAA39H,GACtB,OAdqB,SAAAA,GACrB,MAFuB,WAAW5T,KAEpB4T,GACL,EALgB,WAAW5T,KAMb4T,GACd,EANS,SAAAvU,GAAG,MAAI,WAAWW,KAAKX,EAAK,CAOnCqo/B,CAAY9z+B,GACd,EACYA,EAvgCG7V,OAAS,EA0gCxB,EAFA,CAIX,CAEU4p/B,CAAe/z+B,IACrB,KAAK,EACH,OAAO07wB,EAASpyvB,KAAK,CACnBq34B,cAAejlJ,EAAS/gX,OACxB36Z,UAEJ,KAAK,EACH,OAAO07wB,EAASpyvB,KAAK,CACnBq34B,cAAejlJ,EAASpyvB,KAAK,eAC7BtpB,MAAOyz+B,GAAsBzz+B,GAAOvW,aAExC,KAAK,EACH,OAAOiyxB,EAASpyvB,KAAK,CACnBq34B,cAAejlJ,EAASpyvB,KAAK,eAC7BtpB,MAAOyz+B,GAAsBzz+B,GAAOvW,aAExC,KAAK,EACH,OAAOiyxB,EAASpyvB,KAAK,CACnBq34B,cAAejlJ,EAAS/gX,OACxB36Z,MAAO,KAEX,KAAK,EACH,OAAO07wB,EAAS/gX,OAEtB,EA8CMq5kB,CADar22B,EAAI71G,UACI9nB,OAAOsnD,KAAK,SAAAwO,GAC/B+1uB,EAAO/0D,YAAY,iBAAiB,EAAO,CACzCpmd,MAAO,CACL1wR,MAAwB,MAAjB81D,EAAO91D,MAAgB,GAAK81D,EAAO91D,OAE5CkM,OAAQ,CACN,kBAAmB4pD,EAAO6q2B,cAAc7lM,MAAM,MAGpD,GACAn9lB,EAAIzmH,OACN,GAEJ,EAEM+89B,GAAwB,SAACpoM,EAAQ0zH,GAAQ,OAAK,WAClD,IAAMniC,EAAawsG,GAAc/9L,GACjC,OAAO/wB,EAAcsiH,IAAeA,EAAWp4xB,WAAau6zB,CAC9D,CAAE,EACI20E,GAAiB,SAAAroM,GACrBA,EAAO1yD,WAAW,eAAgB,WAChC/kvB,GAAKy3yB,EACP,EACF,EACMupF,GAAa,SAAAvpF,GACjBA,EAAOlnuB,GAAG,oBAAqB,SAAAp8E,GAC7B,IAAMytzB,EAAMztzB,EAAEmpC,QAAQrmB,cACV,WAAR2qyB,EACF+4L,GAAoBljM,GACH,YAARmK,GACTg5L,GAAqBnjM,EAEzB,GACAA,EAAO1yD,WAAW,sBAAuB,SAACltU,EAAIn2W,GAC5Cy76B,GAAW1lM,EAAQ,KAAM/1uB,EAC3B,GACA+1uB,EAAO1yD,WAAW,oBAAqB,SAACltU,EAAIn2W,GAC1Cy76B,GAAW1lM,EAAQ,KAAM/1uB,EAC3B,GACA+1uB,EAAO1yD,WAAW,uBAAwB,SAACltU,EAAIn2W,GAC7Cy76B,GAAW1lM,EAAQ,KAAM/1uB,EAC3B,GACA+1uB,EAAO1yD,WAAW,aAAc,WAC9B81P,GAAqBpjM,EACvB,GACAqoM,GAAeroM,GACfA,EAAO1yD,WAAW,gBAAiB,SAACltU,EAAIn2W,GAClC6e,EAAS7e,IAzKE,SAAC+1uB,EAAQjlsB,GAC1B,IAAMw2xB,EAAawsG,GAAc/9L,GACd,OAAfuxF,GAAuBC,GAAwBxxF,EAAQuxF,IAG3DvxF,EAAOj1D,YAAYyB,SAAS,WACtB1jqB,EAASiyB,EAAO16F,SAClB2/xB,EAAO/gW,IAAIn9T,UAAUyvvB,EAAYx2xB,EAAO16F,QAEtCyoE,EAASiyB,EAAO8pL,QAClBppO,GAAKs/C,EAAO8pL,MAAO,SAAClgP,EAAG1H,GAAC,OAAK+iwB,EAAO/gW,IAAIs5V,UAAUg5F,EAAYt01B,EAAG0H,EAAE,EAEvE,EACF,CA6JM2j8B,CAAWtoM,EAAQ/1uB,EAEvB,GACA+1uB,EAAO6pH,qBAAqB,sBAAuBu+E,GAAsBpoM,EAAQ,OACjFA,EAAO6pH,qBAAqB,oBAAqBu+E,GAAsBpoM,EAAQ,OAC/EA,EAAO6pH,qBAAqB,uBAAwBu+E,GAAsBpoM,EAAQ,MACpF,EAEI9twB,GAAS68rB,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,qBAElCgw6B,GAAa,SAAAtw3B,GAAI,OAAkB,IAAdA,EAAKzmD,IAAW,EACrC68B,GAAU,SAAA6r9B,GAAU,OAA0B,IAAtBA,EAAWjq/B,MAAa,EAChDkq/B,GAAsB,SAAAx49B,GAC1B,IAAMy49B,EAAiB,SAAChq/B,EAAQuz0B,GAC9B,IAAM7xZ,EAAKjuY,GAAOyF,OAAO,MACzBsx3B,EAAOxq6B,EAAQ,SAAA6nD,GAAI,OAAI65X,EAAGnqR,OAAO1vG,EAAK,GAClC0rxB,EACFhizB,EAAKk8H,OAAOi0R,EAAI6xZ,GAAS,GAEzBhizB,EAAKgmI,OAAOmqR,EAEhB,EAWMuokB,EAAa33N,EAAM/gwB,EAAK+sD,WAVd,SAACt+E,EAAQ6nD,GACvB,OAAIsw3B,GAAWtw3B,GACP,GAANhlD,OAAAwuB,EAAWrxB,GAAM,CAAE6nD,IACT5pB,GAAQj+B,IAAYm46B,GAAWtw3B,GAIlC7nD,GAHPgq/B,EAAehq/B,EAAQ6nD,GAChB,GAIX,EACmD,IAC9C5pB,GAAQgs9B,IACXD,EAAeC,EAEnB,EAsBM71hB,GAAQ,SAAAmtV,GACR88L,GAAkB98L,IAbJ,SAAAA,GAClBA,EAAOlnuB,GAAG,UAAW,SAAAp8E,GACfA,EAAEw7rB,UAAYm3O,GAASpsG,KAAOosG,GAASrjL,eAAetvvB,IAG1DsjzB,EAAOj1D,YAAYyB,SAAS,YACtB9vvB,EAAE2rB,SAAW869B,GAAqBnjM,GAAUkjM,GAAoBljM,KAClEtjzB,EAAEsqB,gBAEN,EACF,EACF,CAGI2h+B,CAAY3oM,GAhQA,SAAAA,GACdA,EAAOlnuB,GAAG,cAAe,SAAAp8E,GACvB,IAAMytzB,EAAMztzB,EAAEmpC,QAAQrmB,cACT,WAAR2qyB,GAA4B,kBAARA,IAA4Bw9L,GAAiB3nM,IACpEkmM,GAAelmM,EAAO/gW,IAAK+gW,EAAO50D,UAEtC,GACA40D,EAAOlnuB,GAAG,UAAW,SAAAp8E,GACfA,EAAEw7rB,UAAYm3O,GAAS3sG,UACrBiqE,GAAgB3sF,GAAQ,IAC1BtjzB,EAAEsqB,iBAEKtqB,EAAEw7rB,UAAYm3O,GAAS1sG,QAC5BgqE,GAAgB3sF,GAAQ,IAC1BtjzB,EAAEsqB,gBAGR,EACF,CAgPE4o4B,CAAQ5vG,EACV,EAEM4oM,GAA2B,SAAC5oM,EAAQ0zH,GAAQ,OAAK,SAAA5hyB,GAMrD,OADAA,EAAIqmxB,WAAWn4G,EAAOx8hB,UAAU44hB,cACzBg4H,GAAqBp0H,EALA,SAAAtjzB,GAC1Bo1I,EAAIq9rB,UAAU59V,GAAO70e,EAAE21hB,QAASqhZ,IAChC5hyB,EAAIqmxB,YAAY3mB,GAAwBxxF,EAAQtjzB,EAAEg6G,UAAYspsB,EAAOx8hB,UAAU44hB,aACjF,EAGF,CAAE,EAqBIysM,GAAyB,SAAC7oM,EAAQ0zH,GAAQ,OAAK,SAAA5hyB,GAEnD,OAAOsiyB,GAAqBp0H,EADF,SAAAtjzB,GAAC,OAAIo1I,EAAIqmxB,WAAW5mb,GAAO70e,EAAE21hB,QAASqhZ,KAAcliC,GAAwBxxF,EAAQtjzB,EAAEg6G,SAAU,EAE5H,CAAE,EAkBAyl4B,EAAS7u+B,IAAI,QAAS,SAAA0yyB,GAWpB,OAx/Ce,SAAAA,IAEjBspH,EADuBtpH,EAAOl6yB,QAAQy0F,UACvB,sBAAuB,CACpCsxpB,UAAW,UACX5ouB,SAAS,GAEb,CAw+CI4z1B,CAAW72D,GA9EC,SAAAA,GACdA,EAAOlnuB,GAAG,UAAW,WAGfknuB,EADFtvuB,OAEKgnxB,cAAc,QAAS,SAAA1+uB,GAAK,OAAIiwzB,EAAOjwzB,EAAOwv4B,GAAoB,EAC3E,EACF,CAwEIr0F,CAAQn0G,GACHA,EAAOupH,UAAU,OAAO,GAI3B8+E,GAAeroM,IAHfntV,GAAMmtV,GACNupF,GAAWvpF,IA9CE,SAAAA,GACjB,IAAM7rwB,EAAO,SAAAtO,GAAO,OAAI,kBAAMm6wB,EAAO/0D,YAAYpltB,EAAS,CAAD,EACpDm6wB,EAAOupH,UAAU,aACpBvpH,EAAO5/X,GAAG5zZ,SAAS274B,gBAAgB,UAAW,CAC5Chk5B,KAAM,eACNo5F,QAAQ,EACRf,QAAS,gBACT2iN,SAAUhrR,EAAK,qBACf8z1B,QAAS2gH,GAAyB5oM,EAAQ,QAE5CA,EAAO5/X,GAAG5zZ,SAAS274B,gBAAgB,UAAW,CAC5Chk5B,KAAM,iBACNo5F,QAAQ,EACRf,QAAS,cACT2iN,SAAUhrR,EAAK,uBACf8z1B,QAAS2gH,GAAyB5oM,EAAQ,QAGhD,CAgCI6+F,CAAW7+F,GA1BE,SAAAA,GACf,IAAM8oM,EAAiB,CACrBr09B,KAAM,qBACNtQ,KAAM,eACNg7S,SAAU,WAAF,OAAQ6gf,EAAO/0D,YAAY,eAAe,EAClDg9I,QAAS4gH,GAAuB7oM,EAAQ,OAE1CA,EAAO5/X,GAAG5zZ,SAAS874B,YAAY,YAAawgF,GAC5C9oM,EAAO5/X,GAAG5zZ,SAASk84B,eAAe,QAAS,CACzC3tzB,OAAQ,SAAAz0D,GACN,IAAMir1B,EAAawsG,GAAc/9L,EAAQ15vB,GACzC,OAAOm27B,GAASlrG,GAAc,CAAC,aAAe,EAChD,GAEJ,CAaIh3yB,CAASyltB,GA5SD,SAAAA,GAAM,MAAK,CACrB2sF,gBAAiB,SAAAllF,GACfklF,GAAgB3sF,EAAQyH,EAC1B,EACD,CAySUnjzB,CAAI07yB,EACb,EAKL,CAzmED,GA8mEA,WAGI,IAoCiB7gzB,EApCbm9+B,EAAWvtQ,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,yBAsBpCinF,EAAS,SAAAhuF,GAAI,OAAI,SAAAV,GAAK,OAZb,SAAAyV,GACb,IATgB+vC,EAAGtF,EACfsJ,EAQEptC,SAAW3G,EACjB,OAAU,OAANA,EACK,OACQ,WAAN2G,GAAkBhH,MAAMC,QAAQI,GAClC,QACQ,WAAN2G,IAAuCshD,EAdlClY,EAcsB/vC,EAAeurC,GAdlCd,EAcsB99C,QAZZzD,UAYkCqiD,EAAMwiW,cAAc9lV,KAThD,QAAxBlU,EAAKhE,EAAEtF,mBAAqC,IAAZsJ,OAAqB,EAAIA,EAAGhsD,QAAU0iD,EAAY1iD,MAUpF,SAEA4e,EAHwC,IAACshD,EAAG1c,CAKvD,CACgCyoB,CAAOzpE,KAAWU,CAAK,CAAD,EAChDgvxB,EAAe,SAAAhvxB,GAAI,OAAI,SAAAV,GAAK,cAAWA,IAAUU,CAAK,CAAD,EAErDizE,EAAW+a,EAAO,UAClB/E,EAAW+E,EAAO,UAClBr5E,EAAUq5E,EAAO,SACjB4tF,EAAYozmB,EAAa,WACzBv+lB,EALK,SAAA/0K,GAAC,OAAI,SAAAnW,GAAC,OAAImW,IAAMnW,CAAE,CAAD,CAKRsiF,MAAGliF,GAEjBypxB,EAAgB,SAAA7pxB,GAAC,OADJ,SAAAA,GAAC,OAAIA,OAA8B,CAC1B4pxB,CAAW5pxB,EAAG,EACpCklD,EAAaukuB,EAAa,YAC1Bp3pB,EAAWo3pB,EAAa,UAExBtkqB,EAAO,WAAO,EAMdziH,EAAQ,SAAA7C,GACZ,OAAOA,GACT,EACMw0W,GARWt6W,GAQO,EAPf,WACL,OAAOA,CACT,GAOI0wxB,EAAQ,WACZ,SAAAA,EAAYz3uB,EAAKj5C,GAAO8Y,EAAA,KAAA43wB,GACtB/vxB,KAAKs4C,IAAMA,EACXt4C,KAAKX,MAAQA,CACf,CAAC,OAAAyZ,EAAAi3wB,EAAA,EAAAzuxB,IAAA,OAAAjC,MAOD,SAAK2wxB,EAAQC,GACX,OAAIjwxB,KAAKs4C,IACA23uB,EAAOjwxB,KAAKX,OAEZ2wxB,GAEX,GAAC,CAAA1uxB,IAAA,SAAAjC,MACD,WACE,OAAOW,KAAKs4C,GACd,GAAC,CAAAh3C,IAAA,SAAAjC,MACD,WACE,OAAQW,KAAKs4C,GACf,GAAC,CAAAh3C,IAAA,MAAAjC,MACD,SAAI6wxB,GACF,OAAIlwxB,KAAKs4C,IACAy3uB,EAASpyvB,KAAKuyvB,EAAOlwxB,KAAKX,QAE1B0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,OAAAjC,MACD,SAAK8wxB,GACH,OAAInwxB,KAAKs4C,IACA63uB,EAAOnwxB,KAAKX,OAEZ0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAOjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACpC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAQjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACrC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAKjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,OACvBW,KAEA+vxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,QAAAjC,MACD,SAAMovI,GACJ,OAAOzuI,KAAKs4C,IAAMt4C,KAAKX,MAAQovI,CACjC,GAAC,CAAAntI,IAAA,KAAAjC,MACD,SAAGovI,GACD,OAAOzuI,KAAKs4C,IAAMt4C,KAAOyuI,CAC3B,GAAC,CAAAntI,IAAA,aAAAjC,MACD,SAAW+wxB,GACT,OAAOpwxB,KAAKs4C,IAAMt4C,KAAKX,MAAQ+wxB,GACjC,GAAC,CAAA9uxB,IAAA,UAAAjC,MACD,SAAQ+wxB,GACN,OAAOpwxB,KAAKs4C,IAAMt4C,KAAOowxB,GAC3B,GAAC,CAAA9uxB,IAAA,WAAAjC,MACD,SAASsK,GACP,GAAK3J,KAAKs4C,IAGR,OAAOt4C,KAAKX,MAFZ,MAAM,IAAIK,MAAMiK,QAAyCA,EAAU,0BAIvE,GAAC,CAAArI,IAAA,YAAAjC,MAID,WACE,OAAOW,KAAKs4C,IAAMt4C,KAAKX,MAAQ,IACjC,GAAC,CAAAiC,IAAA,iBAAAjC,MACD,WACE,OAAOW,KAAKX,KACd,GAAC,CAAAiC,IAAA,OAAAjC,MACD,SAAKgxxB,GACCrwxB,KAAKs4C,KACP+3uB,EAAOrwxB,KAAKX,MAEhB,GAAC,CAAAiC,IAAA,UAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,CAACt4C,KAAKX,OAAS,EACnC,GAAC,CAAAiC,IAAA,WAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,QAAQ92C,OAAOxB,KAAKX,MAAO,KAAO,QACtD,IAAC,EAAAiC,IAAA,OAAAjC,MApFD,SAAYA,GACV,OAAO,IAAI0wxB,GAAS,EAAM1wxB,EAC5B,GAAC,CAAAiC,IAAA,OAAAjC,MACD,WACE,OAAO0wxB,EAAShhD,aAClB,GAAC,CAAAztuB,IAAA,OAAAjC,MA4DD,SAAYA,GACV,OAAO8vxB,EAAc9vxB,GAAS0wxB,EAASpyvB,KAAKt+B,GAAS0wxB,EAAS/gX,MAChE,IAAC,CAxEW,GA2Fd+gX,EAAShhD,cAAgB,IAAIghD,GAAS,GAEtC,IAAMO,EAAc77wB,MAAMzW,UAAU4W,MAC9B47wB,EAAa/7wB,MAAMzW,UAAU8F,KAC7BqL,EAAM,SAAC00P,EAAI1+P,GAGf,IAFA,IAAM1G,EAAMolQ,EAAGrlQ,OACTorD,EAAI,IAAIn1C,MAAMhW,GACXM,EAAI,EAAGA,EAAIN,EAAKM,IAAK,CAC5B,IAAM+V,EAAI+uP,EAAG9kQ,GACb6qD,EAAE7qD,GAAKoG,EAAE2P,EAAG/V,EACd,CACA,OAAO6qD,CACT,EACMu/2B,EAAS,SAACtlqB,EAAI1+P,GAClB,IAAK,IAAIpG,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAE7CoG,EADU0+P,EAAG9kQ,GACRA,EACP,CACF,EACMg4B,EAAS,SAAC8sO,EAAIiye,GAElB,IADA,IAAMlsrB,EAAI,GACD7qD,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAC7C,IAAM+V,EAAI+uP,EAAG9kQ,GACT+2uB,EAAKhhuB,EAAG/V,IACV6qD,EAAE9lD,KAAKgR,EAEX,CACA,OAAO80C,CACT,EACMwvD,EAAU,SAAAyqJ,GAEd,IADA,IAAMj6M,EAAI,GACD7qD,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,IAAOM,EAAG,CAC7C,IAAK2V,EAAQmvP,EAAG9kQ,IACd,MAAM,IAAIW,MAAM,oBAAsBX,EAAI,6BAA+B8kQ,GAE3E2shB,EAAWxoxB,MAAM4hD,EAAGi6M,EAAG9kQ,GACzB,CACA,OAAO6qD,CACT,EACMrE,EAAOiF,EAAW/1C,MAAM8wC,MAAQ9wC,MAAM8wC,KAAO,SAAAzwC,GAAC,OAAIw7wB,EAAY9wxB,KAAKsV,EAAG,EAgBtEnR,EAAO5F,OAAO4F,KACdH,EAAiBzF,OAAOyF,eASxBqyF,EAAQ,SAACt4D,EAAKj8B,GAClB,OAAOgD,EAAIi5B,EAAKj8B,GAAOyuxB,EAASxquB,KAAKhoB,EAAIj8B,IAAQyuxB,EAAS/gX,MAC5D,EACM1qa,EAAM,SAACi5B,EAAKj8B,GAAG,OAAKkC,EAAehE,KAAK+9B,EAAKj8B,EAAK,EAEpD6x+B,EAAWlkQ,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,sBAEpCqmO,EAAS,SAAAtwO,GAAI,OAAI,SAAAqjzB,GAAM,OAAIA,EAAOl6yB,QAAQxB,IAAI3H,EAAM,CAAD,EAwCnDos/B,EAA2B97wB,EAAO,2BAClC+7wB,EAA2B/7wB,EAAO,2BAClCg8wB,EAA4Bh8wB,EAAO,4BACnCi8wB,EAAgBj8wB,EAAO,qBACvBk8wB,EAAmBl8wB,EAAO,qBAC1Bm8wB,EAAiBn8wB,EAAO,sBACxBo8wB,EAAep8wB,EAAO,oBACtBq8wB,EAAYr8wB,EAAO,gBACnBy7vB,EAAgBz7vB,EAAO,oBACvBs8wB,EAAqB,SAAAvpM,GACzB,IAAMwpM,EAAav8wB,EAAO,cAAPA,CAAsB+ykB,GACzC37c,GAOKmlpB,aAAoD,EAAIA,EAAW3gtB,QAAU,CAAC,EAAC4gtB,EAAAplpB,EANlFqlpB,mBAAAA,OAAkB,IAAAD,GAAOA,EAAAE,EAAAtlpB,EACzBulpB,eAAAA,OAAc,IAAAD,EAAG,GAAEA,EAAAE,EAAAxlpB,EACnBylpB,cAAAA,OAAa,IAAAD,GAAQA,EAAAE,EAAA1lpB,EACrBqqoB,kBAAAA,OAAiB,IAAAqb,EAAG,SAAC71G,EAAS904B,GAAQ,OAAKA,EAAS,GAAG,EAAA2q/B,EAAAC,EAAA3lpB,EACvDjmS,OAAAA,OAAM,IAAA4r7B,EAAG,CAAC,EAACA,EACXC,EAAkB5lpB,EAAlB4lpB,mBAEF,MAAO,CACLP,qBACAE,iBACAE,gBACApb,oBACAtw6B,OAAM/yD,EAAA,CACJuj+B,QAAS,cACT1n4B,OAAQ,iBACR0i5B,eAAgB,kBAChBM,eAAgB,aAChBC,YAAa,iBACbC,SAAU,uBACPhs7B,GAEL6r7B,qBAEJ,EACMp+L,EAA4B,SAAA7L,GAAM,OAAI/ykB,EAAO,oBAAqB,EAEpEoisB,EAAWtgM,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,wBAEtCqp6B,EAAWlhM,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,0BAEpCoi6B,EAAQqG,EAASl0H,IACjBkvM,EAAS,SAAAlr/B,GAAK,OAAIA,EAAMogB,QAAQ,MAAO,GAAI,EAC3C+q+B,EAAoB,SAAAhk8B,GACxB,IAAMtmC,EAAQsmC,EAAK2pB,KAAK,SAClB5vD,EAASL,EAAQgp5B,EAAM/tH,WAAWj7xB,GAAS,CAAC,EAClD,MAAO,CACLngB,KAAM,kBACN61C,OAAQ4Q,EAAK2pB,KAAK,wBAClBs66B,UAAW,GACXC,OAAQ,GACR/r+B,MAAOk3E,EAAMt1E,EAAQ,aAAapR,IAAIo7+B,GAAQp7Q,MAAM,IACpDtwtB,OAAQg3E,EAAMt1E,EAAQ,cAAcpR,IAAIo7+B,GAAQp7Q,MAAM,IAE1D,EACMw7Q,EAAa,SAAC3+nB,EAAM5oW,GAOxB,IANA,IAAIjf,EAAO,CAAC,EAMHqiD,EALM2p3B,EAAS,CACtBhxnB,UAAU,EACVqsc,mBAAmB,GAClBpouB,GACqB9iB,MAAM0rX,GACJxlU,EAAMA,EAAOA,EAAK+vuB,OAC1C,GAAkB,IAAd/vuB,EAAKzmD,KAAY,CACnB,IAAMlD,EAAO2pD,EAAK3pD,KAClB,GAAI2pD,EAAK2pB,KAAK,wBAAyB,CACrChsE,EAAOqm/B,EAAkBhk8B,GACzB,KACF,CACOriD,EAAKyxC,QAAmB,UAAT/4C,IAClBsH,EAAKyxC,OAAS4Q,EAAK2pB,KAAK,UAEb,WAATtzE,GAA8B,WAATA,GAA8B,UAATA,GAA6B,UAATA,GAA6B,UAATA,IAC/EsH,EAAKpE,OACRoE,EAAKpE,KAAOlD,GAEdsH,EAAOgv+B,EAAS769B,OAAOkuC,EAAKksF,WAAWvjI,IAAKhL,IAEjC,WAATtH,IACGsH,EAAKyxC,OAEEzxC,EAAKsm/B,YACftm/B,EAAKsm/B,UAAYjk8B,EAAK2pB,KAAK,QAF3BhsE,EAAKyxC,OAAS4Q,EAAK2pB,KAAK,QAKf,QAATtzE,GAAmBsH,EAAKum/B,SAC1Bvm/B,EAAKum/B,OAASlk8B,EAAK2pB,KAAK,OAG9B,CAKF,OAHAhsE,EAAKyxC,OAASzxC,EAAKyxC,QAAUzxC,EAAKu1C,KAAO,GACzCv1C,EAAKsm/B,UAAYtm/B,EAAKsm/B,WAAa,GACnCtm/B,EAAKum/B,OAASvm/B,EAAKum/B,QAAU,GACtBvm/B,CACT,EAEMs5f,EAAQ,SAAA7oe,GACZ,IAAIi0B,EAUE+h8B,EAAwD,QAA7C/h8B,EAAKj0B,EAAIlV,cAAciuB,MAAM,KAAK4vB,aAA+B,IAAZ1U,EAAgBA,EAAK,GAC3F,OAAOgtC,EAVO,CACZg15B,IAAK,aACLC,IAAK,cACLC,IAAK,YACLC,IAAK,YACLC,KAAM,aACNC,IAAK,YACLC,IAAK,iCAGaP,GAASz7Q,MAAM,GACrC,EAEI6iM,EAAW/iM,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,qBAEtCgxsB,EAAWm3B,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,2BAEpCwhG,EAAS,SAACllF,GAAqB,OAAK+s5B,EAAQ5k6B,EAAC,CACjDigvB,mBAAmB,EACnBrsc,UAAU,EACV0kjB,4BAA4B,GAHE7h2B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,GAKjCohB,EAAQ,EAELi4xB,GAAMk0H,EAASl0H,IACf+vM,GAAQ,SAAA/r/B,GAAK,MAAI,YAAYoB,KAAKpB,GAASA,EAAQ,KAAOA,CAAM,EAChEgs/B,GAAmB,SAACln/B,EAAMqiD,GAC9B,IAAMtmC,EAAQsmC,EAAK2pB,KAAK,SAClB8kuB,EAAW/0xB,EAAQm7xB,GAAIF,WAAWj7xB,GAAS,CAAC,EAC9CivwB,EAAchrxB,EAAKwa,SACrBs2xB,EAAS,aAAem2M,GAAMjn/B,EAAKwa,QAEjCwwwB,EAAchrxB,EAAK0a,UACrBo2xB,EAAS,cAAgBm2M,GAAMjn/B,EAAK0a,SAEtC2nC,EAAK2pB,KAAK,QAASkruB,GAAID,eAAenG,GACxC,EACM3ktB,GAAU,CAAC,SAAU,aACrBg75B,GAAa,SAACt/nB,EAAM7nX,EAAMon/B,EAAWno+B,GACzC,IAAIoo+B,EAAa,EACbC,EAAc,EACZ766B,EAAS03B,EAAOllF,GACtBwtD,EAAOgnxB,cAAc,SAAU,SAAA1+uB,GAAK,OAAIsy4B,EAAaty4B,EAAM16G,MAAM,GAEjE,IADA,IAAMqzL,EAAWjhH,EAAOtwE,MAAM0rX,GACrBxlU,EAAOqrI,EAAUrrI,EAAMA,EAAOA,EAAK+vuB,OAC1C,GAAkB,IAAd/vuB,EAAKzmD,KAAY,CACnB,IAAMlD,EAAO2pD,EAAK3pD,KAClB,GAAI2pD,EAAK2pB,KAAK,wBAAyB,CACrCk76B,GAAiBln/B,EAAMqiD,GACvB,KACF,CACE,OAAQ3pD,GACN,IAAK,QACL,IAAK,SACL,IAAK,QACL,IAAK,MACL,IAAK,cACiB6I,IAAhBvB,EAAK0a,aAAuCnZ,IAAfvB,EAAKwa,QACpC6nC,EAAK2pB,KAAK,QAAShsE,EAAKwa,OACxB6nC,EAAK2pB,KAAK,SAAUhsE,EAAK0a,SAI/B,GAAI0s+B,EACF,OAAQ1u/B,GACN,IAAK,QACH2pD,EAAK2pB,KAAK,SAAUhsE,EAAKum/B,QACzBlk8B,EAAK2pB,KAAK,MAAO,MACjB,IAAK,IAAI/lE,EAAQoh/B,EAAYph/B,EAAQ,EAAGA,IACtC,GAAIjG,EAAKmsF,GAAQlmF,IAAS,CACxB,IAAMwrC,EAAS,IAAIo83B,EAAS,SAAU,GACtCp83B,EAAOu6B,KAAK,MAAOhsE,EAAKmsF,GAAQlmF,KAChCwrC,EAAOu6B,KAAK,OAAQhsE,EAAKmsF,GAAQlmF,GAAS,SAAW,MACrDo8C,EAAK0vG,OAAOtgH,EACd,CAEF,MACF,IAAK,SACH4Q,EAAK2pB,KAAK,MAAOhsE,EAAKyxC,QACtB,MACF,IAAK,SACH,IAAM+p2B,EAAWn51B,EAAKytT,OAAO,OAAOz1W,OAAS,EAC7C,GAAI2F,EAAKum/B,SAAW/qG,EAAU,CAC5Bn51B,EAAK2pB,KAAK,MAAOhsE,EAAKum/B,QACtB,IAAM3pjB,EAAM,IAAIixe,EAAS,MAAO,GAChCjxe,EAAI5wX,KAAK,MAAOhsE,EAAKum/B,QACrB3pjB,EAAI5wX,KAAK,QAAShsE,EAAKwa,OACvBoib,EAAI5wX,KAAK,SAAUhsE,EAAK0a,QACxB2nC,EAAK0vG,OAAO6qS,EACd,CACA,MACF,IAAK,SACH,GAAI0qjB,EAAc,IAChBjl8B,EAAK2pB,KAAK,MAAOhsE,EAAKmsF,GAAQm75B,KAC9Bjl8B,EAAK2pB,KAAK,OAAQhsE,EAAKmsF,GAAQm75B,GAAe,SAAW,OACpDtn/B,EAAKmsF,GAAQm75B,KAAe,CAC/Bjl8B,EAAKr9B,SACL,QACF,CAEFsi+B,IACA,MACF,IAAK,MACEtn/B,EAAKum/B,QACRlk8B,EAAKr9B,SAMjB,CAEF,OAAO2urB,EAAS,CAAC,EAAG10rB,GAAQhkB,UAAUyyL,EACxC,EAEM65zB,GAAc,CAAC,CACnB7s6B,MAAO,8BACP9+E,KAAM,SACN23C,EAAG,IACHs1B,EAAG,IACHp4C,IAAK,2BACL+29B,iBAAiB,GAChB,CACD9s6B,MAAO,iDACP9+E,KAAM,SACN23C,EAAG,IACHs1B,EAAG,IACHp4C,IAAK,8BACL+29B,iBAAiB,GAChB,CACD9s6B,MAAO,0CACP9+E,KAAM,SACN23C,EAAG,IACHs1B,EAAG,IACHp4C,IAAK,2BACL+29B,iBAAiB,GAChB,CACD9s6B,MAAO,gCACP9+E,KAAM,SACN23C,EAAG,IACHs1B,EAAG,IACHp4C,IAAK,0EACL+29B,iBAAiB,GAChB,CACD9s6B,MAAO,sCACP9+E,KAAM,SACN23C,EAAG,IACHs1B,EAAG,IACHp4C,IAAK,sDACL+29B,iBAAiB,GAChB,CACD9s6B,MAAO,uBACP9+E,KAAM,SACN23C,EAAG,IACHs1B,EAAG,IACHp4C,IAAK,qEACL+29B,iBAAiB,GAChB,CACD9s6B,MAAO,6BACP9+E,KAAM,SACN23C,EAAG,IACHs1B,EAAG,IACHp4C,IAAK,iDACL+29B,iBAAiB,GAChB,CACD9s6B,MAAO,kDACP9+E,KAAM,SACN23C,EAAG,IACHs1B,EAAG,IACHp4C,IAAK,gDACL+29B,iBAAiB,GAChB,CACD9s6B,MAAO,mCACP9+E,KAAM,SACN23C,EAAG,IACHs1B,EAAG,IACHp4C,IAAK,qCACL+29B,iBAAiB,GAChB,CACD9s6B,MAAO,mBACP9+E,KAAM,SACN23C,EAAG,IACHs1B,EAAG,IACHp4C,IAAK,qCACL+29B,iBAAiB,IAUbC,GAAS,SAAC9r6B,EAASlrD,GACvB,IAAMc,EATY,SAAAd,GAClB,IAAMi39B,EAAkBj39B,EAAIj0B,MAAM,8BAClC,OAAIkr/B,GAAmBA,EAAgBrt/B,OAAS,EAChB,SAAvBqt/B,EAAgB,GAAgB,WAAaA,EAAgB,GAE7D,UAEX,CAEmBC,CAAYl39B,GACvBj0B,EAAQm/E,EAAQjB,MAAMxqC,KAAKzf,GAC7BG,EAASW,EAAWoqD,EAAQlrD,IAChC,GAAIu6vB,EAAcxuxB,GAChB,IADyB,IAADor/B,EAAA,SAAAht/B,GAEtBg2B,EAASA,EAAOtV,QAAQ,IAAM1gB,EAAG,kBAAM4B,EAAM5B,GAAK4B,EAAM5B,GAAK,EAAE,EACjE,EAFSA,EAAI,EAAGA,EAAI4B,EAAMnC,OAAQO,IAAGgt/B,EAAAht/B,GAIvC,OAAOg2B,EAAOtV,QAAQ,MAAO,GAC/B,EACMw2e,GAAe,SAAArhe,GACnB,IAAMymW,EAAWqwnB,GAAY309B,OAAO,SAAA+oD,GAAO,OAAIA,EAAQjB,MAAMp+E,KAAKm0B,EAAI,GACtE,OAAIymW,EAAS78X,OAAS,EACb20+B,EAAS769B,OAAO,CAAC,EAAG+iX,EAAS,GAAI,CACtCzmW,IAAKg39B,GAAOvwnB,EAAS,GAAIzmW,KAGpB,IAEX,EAgCMo39B,GAAa,SAAC9rM,EAAQ+rM,GAC1B,IAAIpj8B,EACE1kD,EAAOgv+B,EAAS769B,OAAO,CAAC,EAAG2z+B,GACjC,IAAK9n/B,EAAKyxC,SACRu97B,EAAS769B,OAAOnU,EAAMwm/B,EAAiC,QAArB9h8B,EAAK1kD,EAAKygc,aAA+B,IAAZ/7Y,EAAgBA,EAAK,GAAIq3vB,EAAO98xB,UAC1Fjf,EAAKyxC,QACR,MAAO,GAGNzxC,EAAKsm/B,YACRtm/B,EAAKsm/B,UAAY,IAEdtm/B,EAAKum/B,SACRvm/B,EAAKum/B,OAAS,IAEhBvm/B,EAAKyxC,OAASsqwB,EAAO0iE,WAAWz+2B,EAAKyxC,OAAQ,UAC7CzxC,EAAKsm/B,UAAYvqM,EAAO0iE,WAAWz+2B,EAAKsm/B,UAAW,UACnDtm/B,EAAK+n/B,WAAazuf,EAAMt5f,EAAKyxC,QAC7BzxC,EAAKgo/B,cAAgB1uf,EAAMt5f,EAAKsm/B,WAChCtm/B,EAAKum/B,OAASxqM,EAAO0iE,WAAWz+2B,EAAKum/B,OAAQ,UAC7C,IAAM5q6B,EAAUm2a,GAAa9xf,EAAKyxC,QAQlC,GAPIkqC,IACF37E,EAAKyxC,OAASkqC,EAAQlrD,IACtBzwB,EAAKpE,KAAO+/E,EAAQ//E,KACpBoE,EAAKio/B,gBAAkBts6B,EAAQ6r6B,gBAC/Bxn/B,EAAKwa,MAAQxa,EAAKwa,OAASld,OAAOq+E,EAAQpoC,GAC1CvzC,EAAK0a,OAAS1a,EAAK0a,QAAUpd,OAAOq+E,EAAQ9S,IAE1C7oE,EAAKygc,MACP,OAAO0mjB,GAAWnn/B,EAAKygc,MAAOzgc,GAAM,EAAM+7yB,EAAO98xB,QAEjD,IAAMip+B,EAAwBpD,EAAyB/oM,GACjDosM,EAAwBpD,EAAyBhpM,GACjDqsM,EAAyBpD,EAA0BjpM,GAMzD,OALA/7yB,EAAKwa,MAAQxa,EAAKwa,OAAS,MAC3Bxa,EAAK0a,OAAS1a,EAAK0a,QAAU,MAC7Bs09B,EAASx36B,KAAKx3D,EAAM,SAAC9E,EAAOiC,GAC1B6C,EAAK7C,GAAO4+yB,EAAO/gW,IAAIh7Y,OAAO,GAAK9kE,EACrC,GACkB,WAAd8E,EAAKpE,KArES,SAACoE,EAAMoo/B,GAC3B,GAAIA,EACF,OAAOA,EAAuBpo/B,GAE9B,IAAMwn/B,EAAkBxn/B,EAAKio/B,gBAAkB,uBAAyB,GACxE,MAAO,gBAAkBjo/B,EAAKyxC,OAAS,YAAczxC,EAAKwa,MAAQ,aAAexa,EAAK0a,OAAS,IAAM8s+B,EAAkB,YAE3H,CA+Dax1F,CAAchy5B,EAAMoo/B,GACE,kCAApBpo/B,EAAK+n/B,WA/DC,SAAA/n/B,GACnB,IAAI6nX,EAAO,iBAAmB7nX,EAAKyxC,OAAS,YAAczxC,EAAKwa,MAAQ,aAAexa,EAAK0a,OAAS,0CAKpG,OAJI1a,EAAKum/B,SACP1+nB,GAAQ,aAAe7nX,EAAKum/B,OAAS,YAAcvm/B,EAAKwa,MAAQ,aAAexa,EAAK0a,OAAS,QAE/FmtW,EAAQ,WAEV,CAyDawgoB,CAAaro/B,IAC2B,IAAtCA,EAAK+n/B,WAAWlt/B,QAAQ,SAzDlB,SAACmF,EAAMko/B,GAC1B,OAAIA,EACKA,EAAsBlo/B,GAEtB,mCAAqCA,EAAKyxC,OAAS,MAAQzxC,EAAKsm/B,UAAY,kBAAoBtm/B,EAAKsm/B,UAAY,KAAOtm/B,EAAKgo/B,cAAgB,UAAYho/B,EAAKgo/B,cAAgB,IAAM,IAAM,QAAU,IAAM,UAErN,CAoDaM,CAAato/B,EAAMko/B,GAnDX,SAAClo/B,EAAMmo/B,GAC1B,OAAIA,EACKA,EAAsBno/B,GAEtB,iBAAmBA,EAAKwa,MAAQ,aAAexa,EAAK0a,OAAS,KAAO1a,EAAKum/B,OAAS,YAAcvm/B,EAAKum/B,OAAS,IAAM,IAApH,uCAAwKvm/B,EAAKyxC,OAAS,KAAOzxC,EAAK+n/B,WAAa,UAAY/n/B,EAAK+n/B,WAAa,IAAM,IAAM,SAAW/n/B,EAAKsm/B,UAAY,gBAAkBtm/B,EAAKsm/B,UAAY,KAAOtm/B,EAAKgo/B,cAAgB,UAAYho/B,EAAKgo/B,cAAgB,IAAM,IAAM,QAAU,IAAM,UAE5Z,CA+CaO,CAAavo/B,EAAMmo/B,EAGhC,EAEMK,GAAiB,SAAA/14B,GAAO,OAAIA,EAAQG,aAAa,oBAAsBH,EAAQG,aAAa,uBAAwB,EAyBpHnkG,GAAQ,CAAC,EAyBTg6+B,GAAa,SAAA1sM,GAAM,OAAI,SAAA/7yB,GAAI,OAAI6n/B,GAAW9rM,EAAQ/7yB,EAAM,CAAD,EACvD0o/B,GAAe,SAAC3sM,EAAQ/7yB,GAC5B,IAAM2o/B,EAAexD,EAAeppM,GACpC,OAAO4sM,EA3BY,SAAC3o/B,EAAM6n/B,EAAY7j8B,GACtC,OAAO,IAAIthD,QAAQ,SAACsqD,EAAK477B,GACvB,IAAMC,EAAiB,SAAAlg/B,GAIrB,OAHIA,EAASk/W,OACXp5W,GAAMzO,EAAKyxC,QAAU9oC,GAEhBqkD,EAAI,CACTv8B,IAAKzwB,EAAKyxC,OACVo2U,KAAMl/W,EAASk/W,KAAOl/W,EAASk/W,KAAOggoB,EAAW7n/B,IAErD,EACIyO,GAAMzO,EAAKyxC,QACbo38B,EAAep6+B,GAAMzO,EAAKyxC,SAE1BuS,EAAQ,CACNvzB,IAAKzwB,EAAKyxC,QACTo38B,EAAgBD,EAEvB,EACF,CAQwBE,CAAa9o/B,EAAMyo/B,GAAW1sM,GAAS4sM,GAPxC,SAAC3o/B,EAAM6n/B,GAAU,OAAKnl/B,QAAQC,QAAQ,CAC3DklX,KAAMggoB,EAAW7n/B,GACjBywB,IAAKzwB,EAAKyxC,QACT,CAI4Es38B,CAAe/o/B,EAAMyo/B,GAAW1sM,GAC/G,EA2BMitL,GAAmB,SAACjtL,EAAQhwxB,GAChC,OAAAF,EAAYE,aAAwC,EAAIA,EAAK/gB,IAAI,SAAAs1V,GAAA,IAC/DvoQ,EAAKuoQ,EAALvoQ,MACA78F,EAAKolW,EAALplW,MAAK,MACA,CACLs1B,KAAMunE,EACN78F,MAAO6gzB,EAAO0iE,WAAWvj3B,EAAO,IACjC,GACH,EACM8t/B,GAAU,SAACjtM,EAAMx7c,EAEpBkuO,EAAUw6a,GAAkB,IAD7BC,EAAmB3opB,EAAnB2opB,oBAEMpp+B,EAAQ,GAEZ2l+B,EAGEh3a,EAHFg3a,mBACAE,EAEEl3a,EAFFk3a,eACAxr7B,EACEs0gB,EADFt0gB,OAEEsr7B,GACF3l+B,EAAMngB,KAAK,CACT/D,KAAM,YACNlD,KAAM,sBACNgzB,MAAO,SACPnrB,KAAM,EACNuf,MAAO,CAAC,CACN0Q,KAAM2pC,EAAO8r7B,eACb/q/B,MAAO,cACN,CACDs1B,KAAM2pC,EAAO+r7B,YACbhr/B,MAAO,cAIb,IAAIiu/B,GAAa,EACjB,GAA4B,eAAxBD,GACF,GAAIvD,EAAgB,CAClB,IAAMyD,EAAe,CACnBxt/B,KAAM,UACNlD,KAAM,cACNgzB,MAAOyuC,EAAOwr7B,eACd7l+B,MAAO,CAAC,CACN0Q,KAAM,OACNt1B,MAAO,MAGPmrD,EAAWs/7B,IACbA,EAAe,SAAA0D,GACbD,EAAatp+B,MAAK,GAAAziB,OAAAwuB,EAAOu99B,EAAatp+B,OAAK+L,EAAKm98B,GAAiBjtL,EAAQstM,GAAmB,MAC5FJ,GACF,GACAE,GAAa,GACJ54+B,EAAQo1+B,KACjByD,EAAatp+B,MAAK,GAAAziB,OAAAwuB,EAAOu99B,EAAatp+B,OAAK+L,EAAKm98B,GAAiBjtL,EAAQ4pM,GAAkB,OAE7F7l+B,EAAMngB,KAAKyp/B,EACb,OAEAtp+B,EAAMngB,KAAK,CACT/D,KAAM,QACN8vB,MAAOyuC,EAAO8oC,OACdnjF,MAAO,CAAC,CACNlkB,KAAM,SACNlD,KAAM,gBACN83B,KAAM2pC,EAAO8oC,OACb/iF,KAAM,aAOZ,OAHIip+B,GACFF,IAEK,CACLlx5B,MAAO59B,EAAOww6B,QACdjy+B,KAAM,QACNonB,QAEJ,EACMwp+B,GAAY,CAChBN,WACAO,mBA9FyB,SAACxtM,EAAQr6yB,EAAQ+skB,EAAU52L,GACpD,IAAIn1Y,QAAQ,SAAAC,GACVk1Y,EAAO55J,MAAM,IACb,IAAMvpL,EAAOhzD,EAAOgzD,KACdzuD,EAAQyuD,EAAKug3B,KAAKrq5B,UAAU,SAAAy1U,GAC3B,OAAAA,EAALtoQ,QACc02e,EAASt0gB,OAAOww6B,OAAO,GACvCj26B,EAAKug3B,KAAKhv6B,GAAS+i/B,GAAQjtM,EAAQlka,EAAO7/W,UAAWy2iB,EAAU9rkB,GAC/DjB,EAAOknvB,YAAc/wW,EAAO7/W,SAC9B,GAAGr6B,KAAK,WACNk6Y,EAAOmtiB,OAAOtj7B,GACdm2Y,EAAO+0lB,QAAQ,SACf/0lB,EAAOotiB,SACT,EACF,EAiFEukE,oBAxG0B,SAACztM,EAAQttO,GAAQ,OAAK,SAAA5gc,GAAG,OAAI4gc,EAASg8Z,kBAAkB1uL,EAAQ,SAAAv4gB,GAC1F31J,EAAI/1G,QAAQ,CACV2Z,OAAQ,CACNv2C,MAAOsoS,EACPh/Q,KAAM,CAAC,KAGXqpH,EAAI++1B,QAAQ,UACd,EAAG,CAAD,GAuHIxue,GAAS,SAACp+f,EAAMyp/B,GACpB,IAAMjmqB,EAAWimqB,GAA+B,eAAhBA,EArBd,SAACA,EAAazp/B,GAAI,OAAK0xF,EAAM1xF,EAAMyp/B,GAAajp7B,KAAK,SAAAkp7B,GAAQ,OAAIh45B,EAAMg45B,EAAU,OAAO,EAAE,CAqB7CC,CAAYF,EAAazp/B,GAAMgruB,MAAM,CAAC,GAAK,CAAC,EACrG3quB,EArBS,SAACL,EAAMwjV,EAAUimqB,GAAW,OAAK,SAAAn6+B,GAChD,IAAMs6+B,EAAc,WAAH,OAASl45B,EAAM1xF,EAAMsP,EAAM,EACtCu6+B,EAAkB,WAAH,OAASn45B,EAAM8xP,EAAUl0U,EAAM,EAC9Cw6+B,EAAmB,SAAAh68B,GAAC,OAAI4hD,EAAM5hD,EAAG,SAAS0wB,KAAK,SAAA9f,GAAC,OAAIA,EAAErmD,OAAS,EAAIuxxB,EAASpyvB,KAAKknB,GAAKkruB,EAAS/gX,MAAM,EAAE,EAG7G,MAAO,CACL,CAACv7Z,IAAQA,IAASm6+B,EAHYG,IAAcpp7B,KAAK,SAAAwb,GAAK,OAAI6I,EAAS7I,GAAS8t6B,EAAiB9t6B,GAAOqwpB,QAAQw9Q,GAAmBA,IAAkBx9Q,QAAQ,kBAAMu/C,EAASxquB,KAAK46B,EAAM,EAAC,GACvJ6t6B,IAAkBx9Q,QAAQ,kBAAMu9Q,IAAcpp7B,KAAK,SAAAwb,GAAK,OAAI6I,EAAS7I,GAAS8t6B,EAAiB9t6B,GAAS4vsB,EAASxquB,KAAK46B,EAAM,EAAC,IAEhFgvpB,MAAM,IAEpF,CAAE,CAYYplpB,CAAS5lF,EAAMwjV,EAAUimqB,GACrC,OAAAri/B,EAAA,GACK/G,EAAI,UACJA,EAAI,aACJA,EAAI,UACJA,EAAI,SAhBW,SAACL,EAAMwjV,GAC3B,IAAMlmU,EAAa,CAAC,EAMpB,OALAo0E,EAAM1xF,EAAM,cAAcw3D,KAAK,SAAA08rB,GAC7B8wK,EAAO,CAAC,QAAS,UAAW,SAAA115B,GAC1BoiF,EAAM8xP,EAAUl0U,GAAM+8tB,QAAQ,kBAAM36oB,EAAMwiqB,EAAM5kvB,EAAK,GAAEkoD,KAAK,SAAAt8D,GAAK,OAAIoiB,EAAWhO,GAAQpU,CAAK,EAC/F,EACF,GACOoiB,CACT,CASOwgO,CAAc99O,EAAMwjV,GACpBnjV,EAAI,eAEX,EACMw3C,GAAO,SAAC73C,EAAMkp/B,GAClB,IAAM1n7B,EAAOp6D,EAAA,GACRpH,EAAK,CACRyxC,OAAQ,CACNv2C,MAAOw2F,EAAM1xF,EAAM,UAAUgruB,MAAM,KAErCs7Q,UAAW,CACTpr/B,MAAOw2F,EAAM1xF,EAAM,aAAagruB,MAAM,KAExCu7Q,OAAQ,CACNrr/B,MAAOw2F,EAAM1xF,EAAM,UAAUgruB,MAAM,MAEjCk+Q,EAAsB,CACxBA,uBACE,CAAC,GASP,OAPAlkF,EAAO,CAAC,QAAS,UAAW,SAAA115B,GAC1BoiF,EAAM1xF,EAAMsP,GAAMkoD,KAAK,SAAAt8D,GACrB,IAAMoiB,EAAakkD,EAAQlkD,YAAc,CAAC,EAC1CA,EAAWhO,GAAQpU,EACnBsmE,EAAQlkD,WAAaA,CACvB,EACF,GACOkkD,CACT,EACM6sJ,GAAc,SAAA0tlB,GAAM,OAAI,SAAAnjzB,GAC5B,IAAM+sC,EAAe/sC,GAASA,EAAM2oE,IAAM,8BAAgC3oE,EAAM2oE,IAAM,2CACtFw6uB,EAAOhzD,oBAAoBzkvB,KAAK,CAC9B1I,KAAM,QACN40B,KAAMmV,GAEV,CAAE,EAyBIok9B,GAAe,SAACl82B,EAAKkuqB,GAAM,OAAK,SAAApzyB,GACpC,GAAIkmE,EAASlmE,EAAS8nB,MAAQ9nB,EAAS8nB,IAAIoiC,OAAOx4D,OAAS,EAAG,CAC5D,IAAMwtX,EAAOl/W,EAASk/W,KAChBmioB,EAAcxD,EAAW3+nB,EAAMk0b,EAAO98xB,QACtCgr+B,EAAM7i/B,EAAA,GACP4i/B,EAAY,CACfv48B,OAAQ9oC,EAAS8nB,IACjBgwa,MAAO54E,IAETh6O,EAAI/1G,QAAQ+f,GAAKoy8B,GACnB,CACF,CAAE,EAYIC,GAAe,SAACnuM,EAAQl0b,GAC5B,IAAMsioB,EAAgBpuM,EAAO/gW,IAAIh9a,OAAO,sBACxC+9wB,EAAO90D,cAAcp/X,GAbG,SAACk0b,EAAQouM,GAEjC,IADA,IAAMC,EAAeruM,EAAO/gW,IAAIh9a,OAAO,sBAC9BpjC,EAAI,EAAGA,EAAIuv/B,EAAc9v/B,OAAQO,IACxC,IAAK,IAAIgW,EAAIw5+B,EAAa/v/B,OAAS,EAAGuW,GAAK,EAAGA,IACxCu5+B,EAAcvv/B,KAAOwv/B,EAAax5+B,IACpCw5+B,EAAazv9B,OAAO/pB,EAAG,GAI7BmryB,EAAOx8hB,UAAUvhP,OAAOos9B,EAAa,GACvC,CAIEC,CAAkBtuM,EAAQouM,GAC1BpuM,EAAO6lB,aACT,EACM0oL,GAAgB,SAAC759B,EAAK859B,GAAa,OAAKv/N,EAAcu/N,IAAoC,oBAAlBA,GAAuCv/N,EAAcl5R,GAAarhe,GAAM,EAChJ+59B,GAA0B,SAACC,EAAUznb,GAEzC,OAD6B,SAACynb,EAAUznb,GAAO,OAAKynb,EAASjw+B,QAAUwojB,EAAQxojB,OAASiw+B,EAAS/v+B,SAAWsojB,EAAQtojB,MAAO,CACpHgw+B,CAAqBD,EAAUznb,IAAYsnb,GAActnb,EAAQvxhB,OAAQg58B,EAAS7u/B,KAC3F,EACM+u/B,GAAa,SAACF,EAAUznb,EAAS+4O,GACrC,IAAIr3vB,EAxOWj0B,EAyOfuyiB,EAAQviI,MAAQ+pjB,GAAwBC,EAAUznb,IAAYyha,EAAc1oL,GAAU8rM,GAAW9rM,EAAM30yB,EAAA,GAClG47jB,EAAQ,CACXviI,MAAO,MACJ0mjB,GAAoC,QAAxBzi8B,EAAKs+gB,EAAQviI,aAA+B,IAAZ/7Y,EAAgBA,EAAK,GAAIs+gB,GAAS,EAAO+4O,EAAO98xB,QAC7F+jjB,EAAQviI,QAAUgqjB,EAASh58B,SAAWuxhB,EAAQvxhB,SA7OnChhB,EA6OsDuyiB,EAAQvxhB,OA7OvDtxC,EAAIsO,GAAOgiB,KA8O/By59B,GAAanuM,EAAQ/4O,EAAQviI,OAE7BiojB,GAAa3sM,EAAQ/4O,GAASrlkB,KAAK,SAAAgL,GACjCuh/B,GAAanuM,EAAQpzyB,EAASk/W,KAChC,GAAGjiX,MAAMyoN,GAAY0tlB,GAEzB,EACM6uM,GAAa,SAAA7uM,GACjB,IAAM8uM,EAzEc,SAAA9uM,GACpB,IAAMtpsB,EAAUspsB,EAAOx8hB,UAAUyxd,UAC3B85Q,EAAUtC,GAAe/14B,GAAWspsB,EAAOt5yB,WAAWxH,UAAUw3G,EAAS,CAC7E8sK,WAAW,IACR,GACCv/Q,EAAOwm/B,EAAWsE,EAAS/uM,EAAO98xB,QAYlC3B,EAXyB,WAC7B,GAAIgt+B,GAActq/B,EAAKyxC,OAAQzxC,EAAKpE,MAAO,CACzC,IAAM4mB,EAAOu5xB,EAAO/gW,IAAIkoE,QAAQzwa,GAChC,MAAO,CACLj4F,MAAOgI,EAAK+wB,EAAE55C,WAAW2hB,QAAQ,MAAO,IACxCZ,OAAQ8H,EAAKqmD,EAAElvE,WAAW2hB,QAAQ,MAAO,IAE7C,CACE,MAAO,CAAC,CAEZ,CACmByv+B,GACnB,OAAA3j/B,EAAA,CACEq5b,MAAOqqjB,GACJ9q/B,EACAsd,EAEP,CAkDqB0t+B,CAAcjvM,GAC3Bh8L,EAlwBK,SAAAryY,GACX,IAAIxyO,EAAQwyO,EAOZ,MAAO,CACLrtO,IAPU,WACV,OAAOnF,CACT,EAMEkF,IALU,SAAAsgD,GACVxlD,EAAQwlD,CACV,EAKF,CAsvBsB24vB,CAAKwxM,GACnBjiQ,EAAc/wsB,GAAKgz8B,EAAY,cAC/BI,EAAe,SAACR,EAAU582B,GAC9B,IAAMq92B,EAAc9sf,GAAOvwX,EAAI71G,UAAW,UACtCyy9B,EAASh58B,SAAWy58B,EAAYz58B,SAClCs48B,GAAah5zB,EAAKgrnB,EAAlBguM,CAA0B,CACxBt59B,IAAKy69B,EAAYz58B,OACjBo2U,KAAM,KAER6goB,GAAa3sM,EAAQmvM,GAAavt/B,KAAKos/B,GAAah5zB,EAAKgrnB,IAASn2yB,MAAMyoN,GAAY0tlB,IAExF,EA0BMovM,EAAa1mB,EAAc1oL,GAAe,CAAC,CAC/CngzB,KAAM,YACNlD,KAAM,aACNgzB,MAAO,wBACPi0N,WAAW,IAJ8B,GAMrCyrwB,EAAa,CACjBrz5B,MAAO,UACPr/F,KAAM,UACNonB,MAAOm1F,EAAQ,CAhBE,CAAC,CAClBv8G,KAAM,SACNkD,KAAM,WACNuv+B,SAAU,QACVz/8B,MAAO,SACP0/8B,YAAa,iBAWe+f,KAOxBE,EAAW,CACftz5B,MAAO,QACPj4E,MAAO,CAPa,CACpBlkB,KAAM,WACNlD,KAAM,QACNgzB,MAAO,kCAMH4/9B,EAAoB,GACtBlG,EAAarpM,IACfuvM,EAAkB3r/B,KAAK,CACrBjH,KAAM,YACNkD,KAAM,WACNuv+B,SAAU,QACVz/8B,MAAO,2BAGP259B,EAAUtpM,IACZuvM,EAAkB3r/B,KAAK,CACrBjH,KAAM,SACNkD,KAAM,WACNuv+B,SAAU,QACVz/8B,MAAO,6BAGX,IAAM6/9B,EAAc,CAClBxz5B,MAAO,WACPr/F,KAAM,WACNonB,MAAOwr+B,GAEHr2E,EAAO,CAACm2E,EAAYC,GACtBC,EAAkBjx/B,OAAS,GAC7B466B,EAAKt16B,KAAK4r/B,GAEZ,IAAMC,EAAkBlG,EAAmBvpM,GACvC0vM,EAAoB,KACpBD,EAAgB3F,gBAClB4F,EAAoB,IAAI/o/B,QAAQ,SAAAC,GAC9Bsy6B,EAAKt16B,KAAK2p/B,GAAUN,QAAQjtM,EAAQnzD,EAAa4iQ,EAAiB7o/B,GACpE,IAEF,IAAM+xD,EAAO,CACX94D,KAAM,WACNq56B,QAEIvz6B,EAAS,CACbq2F,MAAO,oBACPx3F,KAAM,SACNm0D,OACA2/N,QAAS,CAAC,CACRz4R,KAAM,SACNlD,KAAM,SACN83B,KAAM,UACL,CACD50B,KAAM,SACNlD,KAAM,OACN83B,KAAM,OACNk4tB,SAAS,IAEXxtb,SAAUourB,GAAUE,oBAAoBztM,EAAQyvM,GAChD15E,SAAU,SAAAjkyB,GACR,IAAMq92B,EAAc9sf,GAAOvwX,EAAI71G,WAC/B2y9B,GAAW5qY,EAAY1/mB,MAAO6q/B,EAAanvM,GAC3CluqB,EAAIzmH,OACN,EACAq1S,SAAU,SAAC5uL,EAAK7nE,GACd,OAAQA,EAAOttE,MACb,IAAK,SACHuy/B,EAAalrY,EAAY1/mB,MAAOwtI,GAChC,MACF,IAAK,SA3GS,SAAAA,GAClB,IAAInpF,EACE1kD,EAAOo+f,GAAOvwX,EAAI71G,WAClB0z9B,EAAgBlF,EAAiC,QAArB9h8B,EAAK1kD,EAAKygc,aAA+B,IAAZ/7Y,EAAgBA,EAAK,GAAIq3vB,EAAO98xB,QAC/F4uH,EAAI/1G,QAAQ+f,GAAK6z8B,GACnB,CAuGQC,CAAY992B,GACZ,MACF,IAAK,aACL,IAAK,YACL,IAAK,UA1GU,SAACA,EAAK472B,EAAagB,GACtC,IAAM9lE,EAAavmb,GAAOvwX,EAAI71G,UAAWyx9B,GACnCzp/B,EAAOwq/B,GAAwBC,EAAU9lE,IAAe8/C,EAAc1oL,GAAO30yB,EAAA,GAC9Eu96B,EAAW,CACdlkf,MAAO,KACLkkf,EACElkf,EAAQonjB,GAAW9rM,EAAQ/7yB,GACjC6tI,EAAI/1G,QAAQ+f,GAAIzwC,EAAC,CAAC,EACbpH,EAAK,CACRygc,WAEJ,CAgGQmrjB,CAAa/92B,EAAK7nE,EAAOttE,KAAMqnnB,EAAY1/mB,OAC3C,MACF,IAAK,cACH,IAAML,EAAOgv+B,EAAS769B,OAAO,CAAC,EAAGiqf,GAAOvwX,EAAI71G,YAC5Ch4B,EAAKyxC,OAASzxC,EAAK6r/B,YACnBh+2B,EAAI/1G,QAAQ+f,GAAK73C,IACjBir/B,EAAalrY,EAAY1/mB,MAAOwtI,GAChCA,EAAI++1B,QAAQ,WACZ,MACF,IAAK,sBACH0c,GAAUC,mBAAmBxtM,EAAQr6yB,EAAQ8p/B,EAAiBz6zB,GAGlEgvb,EAAY3/mB,IAAIg+f,GAAOvwX,EAAI71G,WAC7B,EACA4wtB,eAEI73jB,EAAMgrnB,EAAOjzD,cAAcxkvB,KAAK5C,GAChCoq/B,EAAY,SAAUp37B,EAAKug3B,KAAK,GAAGn15B,MAAM,GAAK40C,EAAKug3B,KAAK,GAAGn15B,MAAM,GAAGpnB,KAAO,SAC7E+y/B,GACF16zB,EAAIktD,MAAMutwB,EAAgBrx7B,OAAOgs7B,UACjCsF,EAAkB9t/B,KAAK,kBAAMozL,EAAIi0vB,OAAOtj7B,EAAO,GAAE/D,KAAK,kBAAMozL,EAAIk0vB,SAAS,GAAEtn7B,KAAK,kBAAMozL,EAAIr0J,MAAMov9B,EAAU,IAE1G/6zB,EAAIr0J,MAAMov9B,EAEd,EA2BMps/B,GAAa,SAAC/D,EAAK8/B,GACvB,OAViB,SAAC9/B,EAAKswD,EAAQ/7C,GAAK,MAAgB,KAAX+7C,GAAiBtwD,EAAItB,QAAU4xD,EAAO5xD,QAAUsB,EAAIswD,OAAO/7C,EAAOA,EAAQ+7C,EAAO5xD,UAAY4xD,CAAO,CAUtIgjuB,CAAWtzxB,EAAK8/B,EAAQ,EACjC,EAEkB,oBAAXj+B,OAAyBA,OAAS0wC,SAAS,eAATA,GAEzC,IAiBM9tC,GAAM,SAACqyG,EAASt1G,EAAKjC,IARZ,SAAC8/c,EAAK79c,EAAKjC,GACxB,KAAI2zE,EAAS3zE,IAAUs8K,EAAUt8K,IAAUs4H,EAASt4H,IAIlD,MADAvC,QAAQC,MAAM,sCAAuCuE,EAAK,YAAajC,EAAO,cAAe8/c,GACvF,IAAIz/c,MAAM,kCAHhBy/c,EAAInoW,aAAa11G,EAAKjC,EAAQ,GAKlC,CAEEq4xB,CAAO9grB,EAAQuoW,IAAK79c,EAAKjC,EAC3B,EA2BMy8xB,GAAY,SAAAt1uB,GAChB,GAAIA,QACF,MAAM,IAAI9mD,MAAM,oCAElB,MAAO,CACLy/c,IAAK34Z,EAET,EAEMuyuB,GAAe,CACnB1pD,SA/Be,SAACrjX,EAAMrgD,GACtB,IACMnhS,GADMmhS,GAAS1lT,UACL6F,cAAc,OAE9B,GADA0e,EAAIC,UAAYuhV,GACXxhV,EAAIw6P,iBAAmBx6P,EAAI7J,WAAWniC,OAAS,EAAG,CACrD,IAAMmL,EAAU,wCAEhB,MADA7M,QAAQC,MAAM4M,EAASqiX,GACjB,IAAItsX,MAAMiK,EAClB,CACA,OAAOmyxB,GAAUtxvB,EAAI7J,WAAW,GAClC,EAsBE2usB,QArBc,SAACh3rB,EAAKqzR,GACpB,IACMnlR,GADMmlR,GAAS1lT,UACJ6F,cAAcwsB,GAC/B,OAAOwjvB,GAAUt1uB,EACnB,EAkBE+orB,SAjBe,SAAC56sB,EAAMg3S,GACtB,IACMnlR,GADMmlR,GAAS1lT,UACJwgC,eAAe9xB,GAChC,OAAOmnwB,GAAUt1uB,EACnB,EAcEgprB,QAASssD,GACTrsD,UANgB,SAACupD,EAAQlkxB,EAAGC,GAAC,OAAKg7wB,EAASxquB,KAAKyzuB,EAAO75U,IAAIzJ,iBAAiB5gc,EAAGC,IAAI5F,IAAI2sxB,GAAW,GAe9F51uB,GAAS,SAAA0wD,GAAO,OAAIm5qB,EAASxquB,KAAKqxD,EAAQuoW,IAAIpnW,YAAY5oG,IAAI4pxB,GAAavpD,QAAS,EAOpFrmtB,GAAS,SAAAytF,GACb,IAAMuoW,EAAMvoW,EAAQuoW,IACG,OAAnBA,EAAIpnW,YACNonW,EAAIpnW,WAAW9zD,YAAYk7Z,EAE/B,EAII/sa,GAAS68rB,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,eAElCop/B,GAAS,SAAAty9B,GACb,IAAIirB,EACJ,OAAQjrB,EAAUA,EAAG8b,MAA8C,QAArCmP,EAAKjrB,EAAGvb,cAAc,iBAAmC,IAAZwmC,OAAqB,EAAIA,EAAGnP,KAA1F,EACf,EACMy28B,GAAS,SAACvy9B,EAAI8b,GAClB,GAAI9b,EAAI,CACN,IAAM82S,EAAW92S,EAAGvb,cAAc,WAAaub,EAC3C82S,EAASh7R,MAAQA,IACnBg7R,EAASh7R,IAAMA,EAEnB,CACF,EAeM028B,GAAe,SAACpxI,EAAc5yH,GAClC,IAAM6yH,EAAiB,CAAC,EAmDxB,MAAO,CACLz+D,QAnDc,SAAChxxB,GAA6B,IAAxBy2E,EAASjkG,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG23W,EAC1B02oB,EAASt59B,EANE,SAAAvH,GACnB,OAAOA,EAAM+1B,EAAK/1B,EAAIoR,qBAAqB,UAAY,EACzD,CAI0B0v9B,CAAa9g+B,GAAM,SAAA03a,GACvC,IAAMxtZ,EAAMw28B,GAAOhpjB,GACnB,OAAIA,EAAMnwV,aAAa,qBAGnBmwV,EAAMnwV,aAAa,6BAGlBr9D,GAAOA,IAAQtH,GAAOyjvB,kBAGvBhyxB,GAAW61C,EAAK,UACVsl0B,EAAaG,WAAWzl0B,IAAQusD,EAAUihW,KAEhDrjc,GAAW61C,EAAK,UACXusD,EAAUihW,KAGrB,GACMj4b,EAAWE,EAAIkh/B,EAAQ,SAAAnpjB,GAC3B,IAAMqpjB,EAAWL,GAAOhpjB,GACxB,GAAI5ic,EAAI262B,EAAgBsxI,GACtB,OAAOtxI,EAAeixI,GAAOhpjB,IAAQplc,KAAK,SAAA0u/B,GACxC,OAAIx96B,EAASw96B,GACJA,EAEA,CACLtpjB,QACAqyZ,SAAUi3J,EAAUj3J,SAG1B,GAEA,IAAM8lB,EAjDU,SAACjzH,EAAWllT,GAClC,IAAMqpjB,EAAWL,GAAOhpjB,GACxB,GAAIrjc,GAAW0s/B,EAAU,SAAU,CACjC,IAAMh3J,EAAWntG,EAAUmzH,SAASgxI,GACpC,GAAIphO,EAAcoqE,GAChB,OAAO1y1B,QAAQC,QAAQyy1B,EAE3B,CACA,OAAO1y1B,QAAQE,OAAO,uBACxB,CAwC2B0p/B,CAAgBrkQ,EAAWllT,GAAOplc,KAAK,SAAAy31B,GAExD,cADO0lB,EAAeixI,GAAOhpjB,IACtB,CACLA,QACAqyZ,WAEJ,GAAGxv1B,MAAM,SAAAhN,GAEP,cADOki3B,EAAeixI,GAAOhpjB,IACtBnqc,CACT,GAEA,OADAki3B,EAAeixI,GAAOhpjB,IAAUm4a,EACzBA,CAEX,GACA,OAAOx42B,QAAQ6E,IAAIuD,EACrB,EAIF,EAEMkx2B,GAAW,SAACnB,EAAcpsS,GAC9B,IAAMwtS,EAAkB,CAAC,EACnBM,EAAiB,SAACnnB,EAAU3k0B,GAAG,MAAM,CACzCA,MACA2k0B,WACA/+zB,QAAQ,EACT,EACKmm1B,EAAiB,SAACpnB,EAAUx81B,GAAK,MAAM,CAC3C63B,IAAK,GACL2k0B,WACA/+zB,QAAQ,EACRz9B,QACD,EACK47sB,EAAiB,SAAC0zC,EAASpsvB,GAC/Bkz+B,EAASx36B,KAAKykzB,EAAgB/zH,GAAU,SAAAvlvB,GACtCA,EAAQ7G,EACV,UACOmg3B,EAAgB/zH,EACzB,EACMu0H,EAAiB,SAACrnB,EAAUpxyB,EAAS04zB,GAEzC,OADA7B,EAAagB,YAAYzmB,EAASltG,WAC3B,IAAIxlvB,QAAQ,SAAAC,GACjB,IAAI6gtB,EAEJ,IACE,IAAMw0J,EAAoB,WACpBx0J,IACFA,EAAap8rB,QACFk/F,EAEf,EAsBAtiE,EAAQoxyB,EATG,SAAAnmQ,GACLA,EAAU,GAAKA,EAAU,KAG7B28L,EAASxquB,KAAKoiqB,GAAc6oB,QAAQ,kBAAMu/C,EAASxquB,KAAKs7zB,GAAkB1x2B,IAAInH,EAAM,GAAE2zD,KAAK,SAAA32D,GACzF2itB,EAAe3itB,EACfA,EAAEq32B,YAAYh92B,MAAM+zlB,EACtB,EACF,GAC4BtxlB,KArBZ,SAAA8yB,GACdun1B,IACA6C,EAAaiB,aAAa1mB,EAASltG,UAAWz3tB,GAC9C+jrB,EAAe4gJ,EAASltG,UAAWq0H,EAAennB,EAAU3k0B,IAC5D9tB,EAAQ452B,EAAennB,EAAU3k0B,GACnC,EAgB0C,SAAA1vB,IAf1B,SAAAnI,GACdo/2B,IACA6C,EAAakB,aAAa3mB,EAASltG,WACnC1zC,EAAe4gJ,EAASltG,UAAWs0H,EAAepnB,EAAUx81B,IAC5D+J,EAAQ652B,EAAepnB,EAAUx81B,GACnC,CAWE+yO,CAAQ98J,EAAS9tE,GAAO,CACtByE,QAASzE,GACPA,EACN,EACF,CAAE,MAAOolC,GACPxjC,EAAQ652B,EAAepnB,EAAUjvzB,GACnC,CACF,EACF,EAgBM+jC,EALc,SAAC0yyB,EAAWF,GAC9B,OAAIrwrB,EAAYoiZ,EAASzqhB,SAJJ,IAAIthD,QAAQ,SAAAC,GACjCA,EAAQ,GACV,IAGEi62B,EAAYoyH,EAAS78M,KAAKyqF,EAAW,SAAAxnB,GAAQ,OAAKylB,EAAaG,WAAW5lB,EAASltG,UAAU,GACtFxlvB,QAAQ6E,IAAIyn+B,EAAShk+B,IAAI4x2B,EAAW,SAAAxnB,GAAQ,OAAIylB,EAAae,UAAUxmB,EAASltG,WAb3D,SAAAktG,GAC5B,IAAMltG,EAAUktG,EAASltG,UACzB,OAAO,IAAIxlvB,QAAQ,SAAAC,GACjBs52B,EAAgB/zH,GAAW+zH,EAAgB/zH,IAAY,GACvD+zH,EAAgB/zH,GAASvovB,KAAKgD,EAChC,EACF,CAOsGk62B,CAAsBznB,GAAYqnB,EAAernB,EAAU3mR,EAASzqhB,QAAS04zB,EAAiB,IACpM,EAEA,MAAO,CACLxyyB,SAEJ,EAgBMqi7B,GACG,SAAAxwM,GAAM,OAAI57yB,EAAI47yB,EAAO/3uB,QAAS,MAAM,EAGvC+4yB,GAAoB,SAAAhhE,GAAM,OAAI,SAAAtpsB,IADV,SAACspsB,EAAQtpsB,GAAO,OAAKspsB,EAAO/gW,IAAIvib,QAAQg6E,EAAQuoW,MAAQgwU,EAAc+wB,EAAO98xB,OAAOqqxB,uBA1QjG,SAAA72rB,GAEX,OADUA,EAAQuoW,IAAI9lW,SACb35F,aACX,CAuQqI7iB,CAAK+5G,IAAW,EAE/IuqwB,CAAkBjhE,EAAQtpsB,IAxMjB,SAAC1wD,EAAQ0wD,GACtB1wD,EAAOi5Z,IAAI1la,YAAYm9D,EAAQuoW,IACjC,CAuMIjpT,CAAOt/C,EAASmirB,GAAa1pD,SAAS,6BAE1C,CAAE,EAgKIygL,GA/Je,SAAA5vG,GACnB,IAAI9zD,EAAWi1H,EAAUsvI,EACrB3xI,EACE8C,EAAa,SAAC5hE,EAAQ5gzB,GAC1B,OAAO,SAAAW,GACL,OAAIigzB,EAAOx8hB,UACFpkR,EAASW,GAEX,EACT,CACF,EACM8h3B,EAAgB,SAACl91B,EAASuiF,EAAQ3nF,GACtC,IAAIrV,EAAQ,EACZ,IAEiB,KADfA,EAAQya,EAAQ7lB,QAAQooG,EAAQh9F,MAE9Bya,EAAUA,EAAQ1lB,UAAU,EAAGiL,GAASqV,EAAUoF,EAAQurC,OAAOhmD,EAAQg9F,EAAO5oG,QAChF4L,GAASqV,EAAQjhB,OAAS4oG,EAAO5oG,OAAS,UAE1B,IAAX4L,GACT,OAAOya,CACT,EACM+r+B,EAAkB,SAAC/r+B,EAASo91B,EAAWC,GAC3C,IAAMC,EAAoB,QAAS3g3B,OAAO0g3B,EAAgB,KAAM1g3B,OAAO0g3B,IAAmB9v0B,GAAOyjvB,eAAiB,4BAA8B,IAGhJ,OAFAhxwB,EAAUk91B,EAAcl91B,EAAS,QAASrjB,OAAOyg3B,EAAW,KAAOE,GACnEt91B,EAAUk91B,EAAcl91B,EAAS,kBAAmBrjB,OAAOuvH,OAAO,kBAAmBvvH,OAAOyg3B,EAAW,SAAW,KAAO,kBAAmBzg3B,OAAOuvH,OAAO,kBAAmBvvH,OAAO0g3B,EAAgB,SAAW,KAEjN,EACME,EAAwB,SAACH,EAAWC,GACxCinD,EAAOjpH,EAAOj1D,YAAY9mvB,KAAM,SAAA24B,GACX,eAAfA,EAAM/8B,KACR+8B,EAAMstI,UAAYj7J,EAAI2tB,EAAMstI,UAAW,SAAAtU,GAAQ,OAAI861B,EAAgB961B,EAAUmstB,EAAWC,EAAe,GAEvGpl1B,EAAMjY,QAAU+r+B,EAAgB9z9B,EAAMjY,QAASo91B,EAAWC,EAE9D,EACF,EACM2uI,EAAwB,SAAC3pjB,EAAO04a,GACpC,IApPkBhpwB,EAoPZl9D,EAAMwmwB,EAAO0iE,WAAWhD,EAAW,OACzCwC,EAAsB8tI,GAAOhpjB,GAAQ04a,GACrCuwI,GAAOjpjB,EAAO04a,IAtPIhpwB,EAuPJmirB,GAAavpD,QAAQtoS,GAvPN6oV,EAASxquB,KAAKqxD,EAAQuoW,IAAIh5T,eAAeh3I,IAAI4pxB,GAAavpD,UAuP5C7zqB,KAAK,SAAAzV,GAAM,OAAI3hD,GAAI2hD,EAAQ,gBAAiB,GAAG1kD,OAAOuvH,OAAO,kBAAmBvvH,OAAOk4C,EAAK,UAAW,GAClJwtZ,EAAM76R,MACR,EACMyk1B,EAAe,WAInB,OAHKzvI,IACHA,EA3DiB,SAACnhE,EAAQ8+D,GAAY,OAAKmB,GAASnB,EAAc,CACtE72zB,QAASsh8B,EAAmBvpM,GAAQiqM,oBACnC,CAyDclpI,CAAe/gE,EAAQ8+D,IAE7B+xI,IAAgBjv/B,KAAKgg3B,EAAW5hE,EAAQ,SAAAswM,GAC7C,IAAMzvI,EAAY5x2B,EAAIqh/B,EAAW,SAAAA,GAAS,OAAIA,EAAUj3J,QAAQ,GAChE,OAAO8nB,EAAShzyB,OAAO0yyB,EAzEJ,SAAA7gE,GAAM,OAAI,kBAAMA,EAAOhzD,oBAAoBzkvB,KAAK,CACvEksB,KAAMurxB,EAAO39mB,UAAU,sBACvBxiM,KAAM,OACNyuE,SAAU,EACV6tyB,aAAa,GACZ,CAAD,CAoEsCwE,CAAiB3gE,IAASp+yB,KAAKgg3B,EAAW5hE,EAAQ,SAAAjgzB,GAClF,IAAM+w/B,EAAiB,GACnBxuI,GAAuB,EACrBC,EAAiBtz2B,EAAIlP,EAAQ,SAACyi3B,EAAYt42B,GAC9C,IAAA6m/B,EAGIT,EAAUpm/B,GAFZmv1B,EAAQ03J,EAAR13J,SACAryZ,EAAK+pjB,EAAL/pjB,MAEEg2C,GAAU,EACd,GAAIwlY,EAAWlo1B,OACTko1B,EAAW9t1B,MA9VV,SAAC90B,EAAKswD,GAA4B,IAApB/7C,EAAKrS,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,EAAGsS,EAAGtS,UAAAxD,OAAA,EAAAwD,UAAA,QAAA0D,EACrCm7D,EAAM/gE,EAAId,QAAQoxD,EAAQ/7C,GAChC,OAAa,IAATwsD,MACK2vH,EAAYl8K,IAAcusD,EAAMzQ,EAAO5xD,QAAU8V,EAI5D,CAuVmC2oG,CAASiz4B,GAAOhpjB,GAAQw7a,EAAW9t1B,OACxD4t1B,GAAuB,GAEzBp2H,EAAUu1H,YAAYuuI,GAAOhpjB,IACzBwpjB,GAAUxwM,IACZ2wM,EAAsB3pjB,EAAOw7a,EAAW9t1B,UAErC,GAAI8t1B,EAAW3l3B,MAAO,CACvB2l3B,EAAW3l3B,MAAMosB,SACnBi51B,EAAsB8tI,GAAOhpjB,GAAQ90Z,GAAOyjvB,gBAC5Cm7N,EAAelt/B,KAAKojc,GACpBg2C,GAAU,GAEZ,IAAMpzc,EAAe,2BAA2BtoC,OAAOkh3B,EAAW3l3B,MAAM4M,UA1F/D,SAACu2yB,EAAQv2yB,GAAYu2yB,EAAOhzD,oBAAoBzkvB,KAAK,CACxE1I,KAAM,QACN40B,KAAMurxB,EAAO39mB,UAAU54L,IACtB,CAwFSi02B,CAAa19D,EAAQp2wB,EACvB,CACA,MAAO,CACL8sE,QAASswV,EACT1sa,OAAQko1B,EAAWlo1B,OACnBso1B,UAAWJ,EAAW9t1B,IACtB2k0B,WACAr8W,UAEJ,GAiBA,OAhBI8zgB,EAAexy/B,OAAS,IAAMky/B,GAAUxwM,GAC1CA,EAAOj1D,YAAYyB,SAAS,WAC1By8K,EAvRah65B,EAuRE6h/B,EAvRSj4N,GAAavpD,SAuRL,SAAAuzI,GAC9B,IAAMC,EAAY98zB,GAAO68zB,GACnBmuI,EAAiBluI,EAAUr+yB,KAAKze,IACtC88zB,EAAUrnzB,KAAKxyC,IACf+n+B,EAAev17B,KAAKulzB,GAAkBhhE,IACtC,IA3VQ5+yB,EACdujD,EA0VYnL,EAAMw28B,GAAOntI,EAAa5ja,KAChCitS,EAAUu1H,YAAYjo0B,GAhTxB,SAAC4+E,EAAUqzM,GACrB,IAAMpgQ,OAAiB7lE,IAAVimU,EAAsB1lT,SAAW0lT,EAAMwzI,IACpD,OAHqB,SAAAA,GAAG,OA7DV,IA6DcA,EAAIn0X,UA/DjB,IA+DyCm0X,EAAIn0X,UA9DpC,KA8D6Dm0X,EAAIn0X,UAA4D,IAA1Bm0X,EAAIsyR,iBAAwB,CAGhJynD,CAAe3ttB,GAAQwktB,EAAS/gX,OAAS+gX,EAASxquB,KAAKgmB,EAAKlpD,cAAci2G,IAAWnpH,IAAI4pxB,GAAavpD,QAC/G,CA+Sc9yR,EA9VQp7c,EA6V+B,OA3VtC,QADPujD,EA4V+Bk+zB,EA5VnB5ja,IAAItoW,aAAav1G,SACfoE,EAAYm/C,GA2V4B,oBAAoBrjD,OAAOk4C,EAAK,MAAQ,mBAAmBl4C,OAAOuvH,OAAO,kBAAmBvvH,OAAOk4C,EAAK,SAAW,QACjJvqC,IAAI,SAAAynG,GAAO,OAAIspsB,EAAO/gW,IAAIlqI,UAAUr+N,EAAQuoW,IAAK,2BAA2B,GAAExjZ,KAAKukvB,EAAO/gW,IAAIh2b,OAClH,EACF,GACSq51B,GACTtiE,EAAOj1D,YAAYg4H,iBAEdR,CACT,GACF,GACF,EAIMsuI,EAAgB,WACpB,OAAOJ,EAAanwM,QAAQN,EAAO50D,WAAWxpvB,KAAKgg3B,EAAW5hE,EAAQ,SAAAjgzB,GACpE,IAAMwi3B,EAAiB1r1B,EAAO92B,EAAQ,SAAAywJ,GACpC,OAAI19E,EAAS09E,EAKf,GAOA,OANIgg2B,GAAUxwM,IACZipH,EAAO1mD,EAAgB,SAAA/xtB,GACrB0xtB,EAAsB8tI,GAAOx/1B,EAAWw2S,OAAQx2S,EAAW6osB,SAASltG,WACpE8jQ,GAAOz/1B,EAAWw2S,MAAOx2S,EAAW6osB,SAASltG,UAC/C,GAEKo2H,CACT,GACF,EAKAviE,EAAOlnuB,GAAG,aAAc,WAClB+yuB,IAzBJA,IAA8B+kM,IAAiBjq/B,QAAQC,QAAQ,IA4B7Diq/B,GAEJ,GACA7wM,EAAOlnuB,GAAG,aAAc,WACtBknuB,EAAOtvuB,OAAOgnxB,cAAc,QAAS,SAAAy4J,GACnClnF,EAAOknF,EAAQ,SAAAc,GACb,IAAMz38B,EAAMy38B,EAAIhh7B,KAAK,OACrB,GAAKz2B,IAAO0ysB,EAAUmzH,SAAS7l0B,GAA/B,CAGA,IAAMkm0B,EAAYZ,EAAac,aAAapm0B,GACxCkm0B,GACFuxI,EAAIhh7B,KAAK,MAAOyvyB,EAHlB,CAKF,EACF,EACF,GACA1/D,EAAOlnuB,GAAG,UAAW,WACnBozqB,EAAY8zD,EAAO/zD,aAAaC,UAChC4yH,EAAe9+D,EAAO/zD,aAAa6yH,aACnC2xI,EAAeP,GAAapxI,EAAc5yH,EAC5C,GACA8zD,EAAOlnuB,GAAG,SAAU,WA7BlBgmyB,EAAavytB,UACbkk2B,EAAetvI,EAAW,IA8B5B,EACF,EAGM+vI,GAAkB,SAAA5q8B,GACtB,IAAM3pD,EAAO2pD,EAAK3pD,KAClB,MAAgB,WAATA,GAA8B,UAATA,GAA6B,UAATA,CAClD,EACMggtB,GAAe,SAACr2pB,EAAMjmC,EAAQ8w+B,GAAoC,IAAzBph9B,EAAYjuC,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,KACtD3C,EAAQmnD,EAAK2pB,KAAKkh7B,GACxB,OAAIliO,EAAc9vxB,GACTA,EACGiF,EAAIic,EAAQ8w+B,GAGf,KAFAph9B,CAIX,EACMqh9B,GAAgB,SAAC9q8B,EAAM+q8B,EAAahx+B,GACxC,IAAMupX,EAAmC,QAArBynnB,EAAY10/B,MAAgC,UAAd2pD,EAAK3pD,KACjD44f,EAAe3rH,EAAc,MAAQ,KACrC0nnB,EAA+B,UAAdhr8B,EAAK3pD,KAAmB,KAAO,MAChD40/B,EAAgB3nnB,EAAc0nnB,EAAiB,KACrDD,EAAYph7B,KAAK,CACfxxD,MAAOk+rB,GAAar2pB,EAAMjmC,EAAQ,QAASk1e,GAC3C52e,OAAQg+rB,GAAar2pB,EAAMjmC,EAAQ,SAAUkx+B,IAEjD,EASMC,GAAwB,SAACxxM,EAAQ15vB,GACrC,IAAM3pD,EAAO2pD,EAAK3pD,KACZ80/B,EAAc,IAAI3/E,EAAS,MAAO,GASxC,OARA4/E,GAA6B1xM,EAAQ15vB,EAAMmr8B,GAC3CL,GAAc9q8B,EAAMmr8B,EAAa,CAAC,GAClCA,EAAYxh7B,KAAK,CACf,MAAS3pB,EAAK2pB,KAAK,SACnB,IAAO/9B,GAAOyjvB,eACd,kBAAmBh5xB,EACnB,MAAS,yBAA2BA,IAE/B80/B,CACT,EACME,GAAoB,SAAC3xM,EAAQ15vB,GACjC,IAAIqC,EACEhsD,EAAO2pD,EAAK3pD,KACZi1/B,EAAiB,IAAI9/E,EAAS,OAAQ,GAC5C8/E,EAAe3h7B,KAAK,CAClB,gBAAmB,QACnB,MAAS3pB,EAAK2pB,KAAK,SACnB,kBAAmBtzE,EACnB,MAAS,iCAAmCA,IAE9C+0/B,GAA6B1xM,EAAQ15vB,EAAMsr8B,GAC3C,IAAMvx+B,EAAS2/xB,EAAO/gW,IAAIg8V,WAAyC,QAA7BtyvB,EAAKrC,EAAK2pB,KAAK,gBAAkC,IAAZtnB,EAAgBA,EAAK,IAC1F0o8B,EAAc,IAAIv/E,EAASn16B,EAAM,GAOvC,GANAy0/B,GAAc9q8B,EAAM+q8B,EAAahx+B,GACjCgx+B,EAAYph7B,KAAK,CACfz2B,IAAK8M,EAAK2pB,KAAK,OACfjwD,MAAOsmC,EAAK2pB,KAAK,SACjBpkD,MAAOy6B,EAAK2pB,KAAK,WAEN,WAATtzE,EACF00/B,EAAYph7B,KAAK,CACfi86B,gBAAiB5l8B,EAAK2pB,KAAK,mBAC3B4h7B,YAAa,IACbntsB,QAASp+P,EAAK2pB,KAAK,iBAEhB,CAELg51B,EADc,CAAC,WAAY,cAAe,cAAe,OAAQ,QAAS,SAAU,WACtE,SAAAn7mB,GACZujsB,EAAYph7B,KAAK69O,EAAUxnQ,EAAK2pB,KAAK69O,GACvC,GACA,IAAM5xD,EAAgB01vB,EAAe3h7B,KAAK,iBACtCg/sB,EAAc/yhB,IApDI,SAAC8jjB,EAAQ7msB,EAAUk44B,EAAavloB,GAIxD,IAHA,IAAMl7G,EAAUxoK,EAAO43sB,EAAO98xB,QAAQ9iB,MAAM0rX,EAAM,CAChDjoW,QAASs1F,IAEJy3J,EAAQ96G,YACbu71B,EAAYr71B,OAAO46G,EAAQ96G,WAE/B,CA8CMg81B,CAAkB9xM,EAAQrjzB,EAAM00/B,EAAalhoB,SAASj0H,GAE1D,CACA,IAAM61vB,EAAW,IAAIjgF,EAAS,OAAQ,GAItC,OAHAigF,EAAS9h7B,KAAK,QAAS,YACvB2h7B,EAAe571B,OAAOq71B,GACtBO,EAAe571B,OAAO+71B,GACfH,CACT,EACMF,GAA+B,SAAC1xM,EAAQgyM,EAAYvg4B,GAIxD,IAHA,IAAI9oE,EACEo7xB,EAA2C,QAAhCp7xB,EAAKqp8B,EAAWx/2B,kBAAoC,IAAZ7pF,EAAgBA,EAAK,GAC1E2yM,EAAKyolB,EAAQzl1B,OACVg9P,KAAM,CACX,IAAMwyD,EAAWi2hB,EAAQzolB,GAAI3+P,KACzBq/uB,EAAY+nG,EAAQzolB,GAAIn8P,MACX,UAAb2uT,GAAqC,WAAbA,GAAsC,UAAbA,GAAyBnqT,GAAWmqT,EAAU,eAChF,SAAbA,GAAoC,QAAbA,IACzBkub,EAAYgkE,EAAO0iE,WAAW1mI,EAAWlub,IAE3Cr8L,EAAWxhD,KAAK,cAAgB69O,EAAUkub,GAE9C,CACA,IAAMt1uB,EAAakxsB,EAAS,CAC1BrhO,OAAO,GACNypU,EAAO98xB,QACJy/wB,EAAW,IAAImvI,EAAS,MAAO,GACrC7I,EAAO+oF,EAAWj16B,WAAY,SAAAkD,GAAK,OAAI0itB,EAAS3soB,OAAO/1E,EAAM,GAC7D,IAAMgy6B,EAAYvr/B,EAAWxH,UAAUyjyB,GACnCsvN,IACFxg4B,EAAWxhD,KAAK,gBAAiB4gD,OAAOoh4B,IACxCxg4B,EAAWvqE,QAEf,EACMgr8B,GAAqB,SAAA5r8B,GACzB,IAAM6r8B,EAAY7r8B,EAAK2pB,KAAK,SAC5B,OAAO6C,EAASq/6B,IAAc,qBAAqB5x/B,KAAK4x/B,EAC1D,EACMC,GAAuB,SAAA9r8B,GAE3B,IADA,IAAIq8uB,EAAWr8uB,EACRq8uB,EAAWA,EAAS38uB,QACzB,GAAI28uB,EAAS1ytB,KAAK,yBAA2Bii7B,GAAmBvvN,GAC9D,OAAO,EAGX,OAAO,CACT,EAoCMwxH,GAAU,SAAAn0G,GACdA,EAAOlnuB,GAAG,UAAW,WACnB,IACE51D,EAGE88xB,EAHF98xB,OACAxc,EAEEs5yB,EAFFt5yB,WACAgqE,EACEsvuB,EADFtvuB,OAEI2h7B,EAAYnv+B,EAAOwuxB,eACzBu3H,EAAO,2CAA2Cx73B,MAAM,KAAM,SAAA9wC,GAC5D01/B,EAAU11/B,GAAQ,CAAC,CACrB,GAvgDS,SAAC0gC,EAAKp4B,GAEjB,IADA,IAAMwnC,EAAQhpC,EAAK45B,GACV4f,EAAI,EAAG1+C,EAAMkuC,EAAMnuC,OAAQ2+C,EAAI1+C,EAAK0+C,IAAK,CAChD,IAAMp+C,EAAI4tC,EAAMwQ,GAEhBh4C,EADUo4B,EAAIx+B,GACTA,EACP,CACF,CAigDI48D,CAAK,CACHipY,MAAO,CAAC,UACP,SAAC7/J,EAAOloS,GACT,IAAMoyO,EAAO7rN,EAAO6txB,eAAep0yB,GAC/BoyO,GACFk6rB,EAAOpkoB,EAAO,SAAA50N,GACZ8+J,EAAKv8F,WAAWviE,GAAQ,CAAC,EACzB8+J,EAAK+8jB,gBAAgBloyB,KAAKqsE,EAC5B,EAEJ,GACAS,EAAOgnxB,cAAc,kCAzDI,SAAA13C,GAAM,OAAI,SAAAhnsB,GAGrC,IAFA,IACI1yD,EADAznD,EAAIm6G,EAAM16G,OAEPO,MACLynD,EAAO0yD,EAAMn6G,IACHmnD,SAGNM,EAAKN,OAAOiqB,KAAK,qBAGjBih7B,GAAgB5q8B,IAAS4i8B,EAAclpM,GACpCoyM,GAAqB9r8B,IACxBA,EAAK/mC,QAAQoy+B,GAAkB3xM,EAAQ15vB,IAGpC8r8B,GAAqB9r8B,IACxBA,EAAK/mC,QAAQiy+B,GAAsBxxM,EAAQ15vB,KAInD,CAAE,CAoC0Dgs8B,CAAqBtyM,IAC7Et5yB,EAAW66yB,mBAAmB,kBAAmB,SAACvosB,EAAOr8G,GAGvD,IAFA,IAAIgsD,EACA9pD,EAAIm6G,EAAM16G,OAAOi0/B,EAAA,WAEnB,IAAMjs8B,EAAO0yD,EAAMn6G,GACnB,IAAKynD,EAAKN,OAAS,OAAD,EAGlB,IAAMws8B,EAAcls8B,EAAK2pB,KAAKtzE,GACxB81/B,EAAU,IAAI3gF,EAAS0gF,EAAa,GAC1C,GAAoB,UAAhBA,EAAyB,CAC3B,IAAMvm+B,EAAYq6B,EAAK2pB,KAAK,SACxBhkD,IAA0D,IAA7CA,EAAUntB,QAAQ,uBAAgCwnD,EAAKwvG,WACtE281B,EAAQxi7B,KAAK,CACXxxD,MAAO6nC,EAAKwvG,WAAW7lF,KAAK,SAC5BtxD,OAAQ2nC,EAAKwvG,WAAW7lF,KAAK,YAG/Bwi7B,EAAQxi7B,KAAK,CACXxxD,MAAO6nC,EAAK2pB,KAAK,SACjBtxD,OAAQ2nC,EAAK2pB,KAAK,WAGxB,CACAwi7B,EAAQxi7B,KAAK,CACXjwD,MAAOsmC,EAAK2pB,KAAK,WAInB,IAFA,IAAM8zwB,EAAqC,QAA1Bp7xB,EAAKrC,EAAKksF,kBAAoC,IAAZ7pF,EAAgBA,EAAK,GACpE2yM,EAAKyolB,EAAQzl1B,OACVg9P,KAAM,CACX,IAAMwyD,EAAWi2hB,EAAQzolB,GAAI3+P,KACW,IAApCmxT,EAAShvT,QAAQ,gBACnB2z/B,EAAQxi7B,KAAK69O,EAAS59P,OAAO,IAAK6zxB,EAAQzolB,GAAIn8P,MAElD,CACA,IAAM8y/B,EAAY3r8B,EAAK2pB,KAAK,iBAC5B,GAAIgi7B,EAAW,CACb,IAAMr81B,EAxES,SAACoqpB,EAAQn8xB,EAASioW,GACzC,IACMxkS,GAAWor6B,EADO1yM,EAAOl6yB,QAAQxB,KACN,oBAC3B26S,EAAWkqsB,EAAiBnpM,GAClC,OAAO53sB,EAAO43sB,EAAO98xB,OAAQ,CAC3BokE,WACA23N,aACC7+S,MAAM0rX,EAAM,CACbjoW,WAEJ,CA8D2B8u+B,CAAiB3yM,EAAQwyM,EAAarioB,SAAS8hoB,IAChEhpF,EAAOrzwB,EAAS74E,WAAY,SAAAkD,GAAK,OAAIwy6B,EAAQz81B,OAAO/1E,EAAM,EAC5D,CACA35B,EAAK/mC,QAAQkz+B,EACf,EAtCO5z/B,KAAG0z/B,GAuCZ,EACF,GACAvyM,EAAOlnuB,GAAG,aAAc,WACtB,IAAMmmY,EAAM+gW,EAAO/gW,IACnBgqd,EAAOhqd,EAAIh9a,OAAO,2BAA4B,SAAA3S,GACI,IAA5C2vb,EAAIh9a,OAAO,gBAAiB3S,GAAKhxB,QACnC2gd,EAAI3xc,IAAIgiB,EAAK,OAAQ,CACnBzD,MAAO,YAGb,EACF,EACF,EAWMuq5B,GAAkB,SAAAp2H,GAAM,OAAI,SAAAluqB,GAChC,IAAM+zrB,EAAc,WAClB/zrB,EAAIqmxB,WAAWn4G,EAAOx8hB,UAAU44hB,aAClC,EAGA,OAFA4D,EAAOlnuB,GAAG,aAAc+svB,GACxBA,IACO,WACL7lB,EAAOl7tB,IAAI,aAAc+gvB,EAC3B,CACF,CAAE,EA2BAy2K,EAAShv+B,IAAI,QAAS,SAAA0yyB,GAQpB,OAjnDe,SAAAA,GACjB,IAAMspH,EAAiBtpH,EAAOl6yB,QAAQy0F,SACtC+u0B,EAAe,0BAA2B,CACxCz9K,UAAW,aAEby9K,EAAe,0BAA2B,CACxCz9K,UAAW,aAEby9K,EAAe,2BAA4B,CACzCz9K,UAAW,aAEby9K,EAAe,oBAAqB,CAClCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,oBAAqB,CAClCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,qBAAsB,CACnCz9K,UAAW,aAEby9K,EAAe,mBAAoB,CACjCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,eAAgB,CAC7Bz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,mBAAoB,CACjCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,cAAe,CAC5Bz9K,UAAW,SACX5ouB,QAAS,CAAC,GAEd,CAokDIsm3B,CAAWvpF,GAvuBI,SAAAA,GAIjBA,EAAO1yD,WAAW,WAHG,WACnBuhQ,GAAW7uM,EACb,EAEF,CAmuBI6+F,CAAW7+F,GA5BE,SAAAA,GACf,IAAM7gf,EAAW,WAAH,OAAS6gf,EAAO/0D,YAAY,WAAY,EACtD+0D,EAAO5/X,GAAG5zZ,SAAS274B,gBAAgB,QAAS,CAC1C3rzB,QAAS,oBACTr4F,KAAM,QACNg7S,WACA8okB,QAAS,SAAA8qC,GACP,IAAMvvpB,EAAYw8hB,EAAOx8hB,UACzBuvpB,EAAU5jG,UAAUs9K,GAAejpuB,EAAUyxd,YAC7C,IAAMohM,EAAwB7ypB,EAAU6wlB,0BAA0B,uEAAwE0+D,EAAU5jG,WAAWh+F,OACzJ2gQ,EAAiB17D,GAAgBp2H,EAAhBo2H,CAAwBrD,GAC/C,OAAO,WACLsD,IACAy7D,GACF,CACF,IAEF9xL,EAAO5/X,GAAG5zZ,SAAS874B,YAAY,QAAS,CACtCnk5B,KAAM,QACNsQ,KAAM,WACN0qS,WACA8okB,QAASmuC,GAAgBp2H,IAE7B,CAMIzltB,CAASyltB,GAhDC,SAAAA,GACZA,EAAOlnuB,GAAG,cAAe,SAAAp8E,GACvB,IAAIC,EACsB,IAAtBD,EAAEkM,OAAOkiF,WAAmBnuF,EAAOD,EAAEkM,OAAO+tG,aAAa,sBAC3Dj6G,EAAEC,KAAOA,EAEb,EACF,CA0CIk2d,CAAMmtV,GACNm0G,GAAQn0G,GAzrCI,SAAAA,GACdA,EAAOlnuB,GAAG,uBAAwB,WAChC,IAAMmowB,EAAejhC,EAAOx8hB,UAAUyxd,UAClCgsG,GAAgBjhC,EAAO/gW,IAAIzyB,SAASy0Z,EAAc,uBAChDjhC,EAAO/gW,IAAIm5V,UAAU6oC,EAAc,sBACrCA,EAAanquB,aAAa,oBAAqB,IAGrD,GACAkpsB,EAAOlnuB,GAAG,gBAAiB,SAAAp8E,GACzB,IAAMkM,EAASlM,EAAEkM,OACjB,GAAIA,EAAO+tG,aAAa,mBAAoB,CAC1C,IAAIm1Q,EAAOljX,EAAO+tG,aAAa,iBAC3Bm1Q,IACFA,EAAOqE,SAASrE,GAChBljX,EAAOkuG,aAAa,gBAAiB+Z,OAAOu63B,GAAWt/nB,EAAM,CAC3DrtW,MAAOld,OAAO7E,EAAE+hB,OAChBE,OAAQpd,OAAO7E,EAAEiiB,UAChB,EAAOqhyB,EAAO98xB,UAErB,CACF,EACF,CAoqCIin4B,CAAQnqG,GACR4vG,GAAQ5vG,GAtvBE,SAAAA,GAIZ,MAAO,CACL6uM,WAJmB,WACnBA,GAAW7uM,EACb,EAIF,CAgvBW78I,CAAM68I,EACf,EAKL,CA50DD,GAi1DA,WAGI,IAAIpoG,EAAWm3B,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,yBAEpCioxB,EAAe,SAAAhvxB,GAAI,OAAI,SAAAV,GAAK,cAAWA,IAAUU,CAAK,CAAD,EACrD47K,EAAYozmB,EAAa,WACzBp3pB,EAAWo3pB,EAAa,UAExB5hjB,EAAS,SAAAtwO,GAAI,OAAI,SAAAqjzB,GAAM,OAAIA,EAAOl6yB,QAAQxB,IAAI3H,EAAM,CAAD,EA6BnDi2/B,EAAoB3lxB,EAAO,yBAC3B4lxB,EAAY5lxB,EAAO,oBAEnB6lxB,EAAe,SAAChl8B,EAAQwglB,GAE5B,IADA,IAAI1uoB,EAAM,GACDsK,EAAQ,EAAGA,EAAQokoB,EAASpkoB,IACnCtK,GAAOkuD,EAET,OAAOluD,CACT,EAEMmz/B,EAAa,SAAC/yM,EAAQpvtB,GAC1B,IAGMk7R,EADa+moB,EAAU7yM,IACFA,EAAO/3uB,QAAQ+q7B,YAFnB,gBAAiB1x/B,OAHb,SAAA0+yB,GAAM,QAAIA,EAAO/3uB,QAAQ+q7B,aAAchzM,EAAO/3uB,QAAQ+q7B,YAAYxhtB,WAAoB,CAE3FyhtB,CAAqBjzM,GAAU,yBAA2B,gBACtB,8BAAiC1+yB,OAAOwx/B,EAAa,SAAUli6B,GAAQ,WAE5Dki6B,EAAa,SAAUli6B,GAC5FovtB,EAAOj1D,YAAYyB,SAAS,kBAAMwzD,EAAO90D,cAAcp/X,EAAK,EAC9D,EAQI55U,EAAS68rB,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,mBAkBlCwv6B,EAAkB,SAAAp2H,GAAM,OAAI,SAAAluqB,GAChC,IAAM+zrB,EAAc,WAClB/zrB,EAAIqmxB,WAAWn4G,EAAOx8hB,UAAU44hB,aAClC,EAGA,OAFA4D,EAAOlnuB,GAAG,aAAc+svB,GACxBA,IACO,WACL7lB,EAAOl7tB,IAAI,aAAc+gvB,EAC3B,CACF,CAAE,EAkBAjuH,EAAStqsB,IAAI,cAAe,SAAA0yyB,IAlGX,SAAAA,GACjB,IAAMspH,EAAiBtpH,EAAOl6yB,QAAQy0F,SACtC+u0B,EAAe,wBAAyB,CACtCz9K,UAAW,SAAA1svB,GACT,OAAIs8K,EAAUt8K,GACL,CACLA,MAAOA,EAAQ,EAAI,EACnB+lR,OAAO,GAEAztJ,EAASt4H,GACX,CACLA,QACA+lR,OAAO,GAGF,CACLA,OAAO,EACPz7Q,QAAS,+BAGf,EACAwZ,SAAS,IAEXqm5B,EAAe,mBAAoB,CACjCz9K,UAAW,UACX5ouB,SAAS,GAEb,CAwEIsm3B,CAAWvpF,GApDI,SAAAA,GACjBA,EAAO1yD,WAAW,iBAAkB,WAClCylQ,EAAW/yM,EAAQ,EACrB,EACF,CAiDI6+F,CAAW7+F,GAnBE,SAAAA,GACf,IAAM7gf,EAAW,WAAH,OAAS6gf,EAAO/0D,YAAY,iBAAkB,EAC5D+0D,EAAO5/X,GAAG5zZ,SAASy74B,UAAU,cAAe,CAC1C9j5B,KAAM,eACNq4F,QAAS,oBACT2iN,WACA8okB,QAASmuC,EAAgBp2H,KAE3BA,EAAO5/X,GAAG5zZ,SAAS874B,YAAY,cAAe,CAC5Cnk5B,KAAM,eACNsQ,KAAM,oBACN0qS,WACA8okB,QAASmuC,EAAgBp2H,IAE7B,CAMIzltB,CAASyltB,GA9CC,SAAAA,GACZ,IAAMz2X,EAASqpkB,EAAkB5yM,GAC7Bz2X,EAAS,GACXy2X,EAAOlnuB,GAAG,UAAW,SAAAp8E,GACnB,GAAIA,EAAEw7rB,UAAYhmpB,EAAO+wxB,MAAQvm0B,EAAE66rB,qBAAsB,CACvD,GAAI76rB,EAAE2rB,SACJ,OAEF3rB,EAAEsqB,iBACFtqB,EAAE+vO,2BACFsmxB,EAAW/yM,EAAQz2X,EACrB,CACF,EAEJ,CAiCIspC,CAAMmtV,EACR,EAKL,CAtHD,GA2HA,WAGI,IAAIpoG,EAAWm3B,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,yBAEtCsrC,EAAS68rB,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,eAElCqmO,EAAS,SAAAtwO,GAAI,OAAI,SAAAqjzB,GAAM,OAAIA,EAAOl6yB,QAAQxB,IAAI3H,EAAM,CAAD,EAYnDu2/B,EAAmBjmxB,EAAO,uBAC1BkmxB,EAAmBlmxB,EAAO,yBAE1BmmxB,EAAiB,gBACjBC,EAAqB,SAAAF,GACzB,IAAMrnoB,EAAO,aAAcxqX,OAAO4wC,EAAOyjvB,eAAgB,aAAer0xB,OAAO8x/B,EAAgB,qDAC/F,OAAOD,EAAmB,MAAM7x/B,OAAOwqX,EAAM,QAAUA,CACzD,EAkDMsqjB,EAAkB,SAAAp2H,GAAM,OAAI,SAAAluqB,GAChC,IAAM+zrB,EAAc,WAClB/zrB,EAAIqmxB,WAAWn4G,EAAOx8hB,UAAU44hB,aAClC,EAGA,OAFA4D,EAAOlnuB,GAAG,aAAc+svB,GACxBA,IACO,WACL7lB,EAAOl7tB,IAAI,aAAc+gvB,EAC3B,CACF,CAAE,EAkBAjuH,EAAStqsB,IAAI,YAAa,SAAA0yyB,IA/FT,SAAAA,GACjB,IAAMspH,EAAiBtpH,EAAOl6yB,QAAQy0F,SACtC+u0B,EAAe,sBAAuB,CACpCz9K,UAAW,SACX5ouB,QAAS,6BAEXqm5B,EAAe,wBAAyB,CACtCz9K,UAAW,UACX5ouB,SAAS,GAEb,CAsFIsm3B,CAAWvpF,GA1CI,SAAAA,GACjBA,EAAO1yD,WAAW,eAAgB,WAChC0yD,EAAO90D,cAAcmoQ,EAAmBF,EAAiBnzM,IAC3D,EACF,CAuCI6+F,CAAW7+F,GAnBE,SAAAA,GACf,IAAM7gf,EAAW,WAAH,OAAS6gf,EAAO/0D,YAAY,eAAgB,EAC1D+0D,EAAO5/X,GAAG5zZ,SAASy74B,UAAU,YAAa,CACxC9j5B,KAAM,aACNq4F,QAAS,aACT2iN,WACA8okB,QAASmuC,EAAgBp2H,KAE3BA,EAAO5/X,GAAG5zZ,SAAS874B,YAAY,YAAa,CAC1C7z4B,KAAM,aACNtQ,KAAM,aACNg7S,WACA8okB,QAASmuC,EAAgBp2H,IAE7B,CAMIzltB,CAASyltB,GA/EG,SAAAA,GACd,IAAMszM,EAAgBJ,EAAiBlzM,GACjCuzM,EAAqB,WAAH,OAASJ,EAAiBnzM,EAAQ,EACpDwzM,EAA2B,IAAInr7B,OAAOir7B,EAAc/z+B,QAAQ,gCAAiC,SAAAna,GACjG,MAAO,KAAOA,CAChB,GAAI,MACJ46yB,EAAOlnuB,GAAG,mBAAoB,SAAAp8E,GAC5BA,EAAEioB,QAAUjoB,EAAEioB,QAAQpF,QAAQi0+B,EAA0BH,EAAmBE,KAC7E,GACAvzM,EAAOlnuB,GAAG,UAAW,WACnBknuB,EAAOt5yB,WAAWgx1B,cAAc,MAAO,SAAA1+uB,GAIrC,IAHA,IACE1yD,EACAr6B,EAFEptB,EAAIm6G,EAAM16G,OAGPO,KAGL,IADAotB,GADAq6B,EAAO0yD,EAAMn6G,IACIoxE,KAAK,YACkC,IAAvChkD,EAAUntB,QAAQs0/B,GAAwB,CACzD,IAAMv74B,EAAavxD,EAAKN,OACxB,GAAI6xD,GAAcmosB,EAAO98xB,OAAOgixB,mBAAmBrtrB,EAAWl7G,OAAS42/B,IAAsB,CAC3F174B,EAAWh4G,KAAO,EAClBg4G,EAAW14G,MAAQm0/B,EACnBz74B,EAAWq7W,KAAM,EACjB5sa,EAAKr9B,SACL,QACF,CACAq9B,EAAKzmD,KAAO,EACZymD,EAAKnnD,MAAQm0/B,EACbht8B,EAAK4sa,KAAM,CACb,CAEJ,EACF,EACF,CA+CIihc,CAAQn0G,GAvCE,SAAAA,GACZA,EAAOlnuB,GAAG,cAAe,SAAAp8E,GACG,QAAtBA,EAAEkM,OAAOuwG,UAAsB6msB,EAAO/gW,IAAIzyB,SAAS9vb,EAAEkM,OAAQwq/B,KAC/D12/B,EAAEC,KAAO,YAEb,EACF,CAkCIk2d,CAAMmtV,EACR,EAKL,CAlHD,GAuHA,WAGI,IAAI8xH,EAAW/iM,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,yBAEtCgxsB,EAAWm3B,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,eAEtCsrC,EAAS68rB,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,sBAElCqmO,EAAS,SAAAtwO,GAAI,OAAI,SAAAqjzB,GAAM,OAAIA,EAAOl6yB,QAAQxB,IAAI3H,EAAM,CAAD,EACnDkwzB,EAAkB5/kB,EAAO,iBACzBq/kB,EAA0Br/kB,EAAO,oBACjCk+kB,EAAel+kB,EAAO,cACtBi+kB,EAAYj+kB,EAAO,WAyBnB1kO,EAAO,SAAAy3yB,GACX,IAAMr7xB,EAxBe,SAAAq7xB,GACrB,IAAIr3vB,EACA8q8B,EAAW,GACTxv7B,EAAS+7uB,EAAO/gW,IAAIh7Y,OACpBqv1B,EAAkD,QAAlC3q2B,EAAKkkwB,EAAgB7M,UAAiC,IAAZr3vB,EAAgBA,EAAK,GACrF8q8B,GAAY,eAAiBxv7B,EAAO+7uB,EAAOu+D,gBAAgB7b,UAAY,KACvE,IAAMgxJ,EAAOpnM,EAAwBtM,GAAU,2BAA6B,GAC5E9twB,EAAOupB,KAAKukvB,EAAO0+D,WAAY,SAAAhq1B,GAC7B++9B,GAAY,gDAAkDxv7B,EAAO+7uB,EAAOu+D,gBAAgBC,WAAW9p1B,IAAQ,IAAMg/9B,EAAO,GAC9H,GACIpgG,IACFmgG,GAAY,0BAA4BngG,EAAe,YAEzD,IAAMwC,EAAS5qG,EAAUlL,GACnB+1G,EAAY5qG,EAAanL,GAEzB2zM,EAA6B,4KADV/7S,EAAStwmB,GAAG2ooB,WAAar4B,EAAStwmB,GAAGyooB,QAAU,YAAc,0BACnD,iDAC7B0kL,EAAiBz0G,EAAO50D,UAAUh8rB,IAClCwk8B,EAAUn/F,EAAiB,SAAWxw1B,EAAOww1B,GAAkB,IAAM,GAE3E,MADoB,8BAA0Cg/F,EAA1C,oBAAgFxv7B,EAAO6x1B,GAAU,6BAA+B7x1B,EAAO8x1B,GAAa,IAAM69F,EAAU,IAAM5zM,EAAOjghB,aAAe4ztB,EAAhM,gBAEtB,CAGkBE,CAAe7zM,GACfA,EAAOjzD,cAAcxkvB,KAAK,CACxCyzF,MAAO,UACPx3F,KAAM,QACNm0D,KAAM,CACJ94D,KAAM,QACNkkB,MAAO,CAAC,CACNpnB,KAAM,UACNkD,KAAM,SACNi0/B,WAAW,EACXhvN,aAAa,KAGjBxsgB,QAAS,CAAC,CACRz4R,KAAM,SACNlD,KAAM,QACN83B,KAAM,QACNk4tB,SAAS,IAEXE,YAAa,CACX23H,QAAS7/1B,KAGLgc,MAAM,QAChB,EAuBEmx4B,EAASxk6B,IAAI,UAAW,SAAA0yyB,IArBP,SAAAA,GACjBA,EAAO1yD,WAAW,aAAc,WAC9B/kvB,EAAKy3yB,EACP,EACF,CAkBI6+F,CAAW7+F,GAhBE,SAAAA,GACf,IAAM7gf,EAAW,WAAH,OAAS6gf,EAAO/0D,YAAY,aAAc,EACxD+0D,EAAO5/X,GAAG5zZ,SAASy74B,UAAU,UAAW,CACtC9j5B,KAAM,UACNq4F,QAAS,UACT2iN,aAEF6gf,EAAO5/X,GAAG5zZ,SAAS874B,YAAY,UAAW,CACxCnk5B,KAAM,UACNsQ,KAAM,UACN0qS,YAEJ,CAKI5kO,CAASyltB,EACX,EAKL,CA9FD,GAmGA,WAGI,IAEqBngzB,EAKJV,EAPby4sB,EAAWm3B,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,yBAKpC0jD,GAHezqD,EAGW,WAHH,SAAAV,GAAK,cAAWA,IAAUU,CAAK,GAUtD+vxB,GALWzwxB,GAKM,EAJd,WACL,OAAOA,CACT,GAII0wxB,EAAQ,WACZ,SAAAA,EAAYz3uB,EAAKj5C,GAAO8Y,EAAA,KAAA43wB,GACtB/vxB,KAAKs4C,IAAMA,EACXt4C,KAAKX,MAAQA,CACf,CAAC,OAAAyZ,EAAAi3wB,EAAA,EAAAzuxB,IAAA,OAAAjC,MAOD,SAAK2wxB,EAAQC,GACX,OAAIjwxB,KAAKs4C,IACA23uB,EAAOjwxB,KAAKX,OAEZ2wxB,GAEX,GAAC,CAAA1uxB,IAAA,SAAAjC,MACD,WACE,OAAOW,KAAKs4C,GACd,GAAC,CAAAh3C,IAAA,SAAAjC,MACD,WACE,OAAQW,KAAKs4C,GACf,GAAC,CAAAh3C,IAAA,MAAAjC,MACD,SAAI6wxB,GACF,OAAIlwxB,KAAKs4C,IACAy3uB,EAASpyvB,KAAKuyvB,EAAOlwxB,KAAKX,QAE1B0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,OAAAjC,MACD,SAAK8wxB,GACH,OAAInwxB,KAAKs4C,IACA63uB,EAAOnwxB,KAAKX,OAEZ0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAOjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACpC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAQjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACrC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAKjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,OACvBW,KAEA+vxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,QAAAjC,MACD,SAAMovI,GACJ,OAAOzuI,KAAKs4C,IAAMt4C,KAAKX,MAAQovI,CACjC,GAAC,CAAAntI,IAAA,KAAAjC,MACD,SAAGovI,GACD,OAAOzuI,KAAKs4C,IAAMt4C,KAAOyuI,CAC3B,GAAC,CAAAntI,IAAA,aAAAjC,MACD,SAAW+wxB,GACT,OAAOpwxB,KAAKs4C,IAAMt4C,KAAKX,MAAQ+wxB,GACjC,GAAC,CAAA9uxB,IAAA,UAAAjC,MACD,SAAQ+wxB,GACN,OAAOpwxB,KAAKs4C,IAAMt4C,KAAOowxB,GAC3B,GAAC,CAAA9uxB,IAAA,WAAAjC,MACD,SAASsK,GACP,GAAK3J,KAAKs4C,IAGR,OAAOt4C,KAAKX,MAFZ,MAAM,IAAIK,MAAMiK,QAAyCA,EAAU,0BAIvE,GAAC,CAAArI,IAAA,YAAAjC,MAID,WACE,OAAOW,KAAKs4C,IAAMt4C,KAAKX,MAAQ,IACjC,GAAC,CAAAiC,IAAA,iBAAAjC,MACD,WACE,OAAOW,KAAKX,KACd,GAAC,CAAAiC,IAAA,OAAAjC,MACD,SAAKgxxB,GACCrwxB,KAAKs4C,KACP+3uB,EAAOrwxB,KAAKX,MAEhB,GAAC,CAAAiC,IAAA,UAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,CAACt4C,KAAKX,OAAS,EACnC,GAAC,CAAAiC,IAAA,WAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,QAAQ92C,OAAOxB,KAAKX,MAAO,KAAO,QACtD,IAAC,EAAAiC,IAAA,OAAAjC,MApFD,SAAYA,GACV,OAAO,IAAI0wxB,GAAS,EAAM1wxB,EAC5B,GAAC,CAAAiC,IAAA,OAAAjC,MACD,WACE,OAAO0wxB,EAAShhD,aAClB,GAAC,CAAAztuB,IAAA,OAAAjC,MA4DD,SAAYA,GACV,OAlFe,SAAAiG,GAAC,OAAIA,OAA8B,CAC1B4pxB,CAiFH7vxB,GAAgC0wxB,EAAS/gX,OAAhC+gX,EAASpyvB,KAAKt+B,EAC9C,IAAC,CAxEW,GA2Fd0wxB,EAAShhD,cAAgB,IAAIghD,GAAS,GAEtC,IAAMvsxB,EAAiBzF,OAAOyF,eAIxBc,EAAM,SAACi5B,EAAKj8B,GAAG,OAAKkC,EAAehE,KAAK+9B,EAAKj8B,EAAK,EAUlD2y/B,EAAmB,SAAA/zM,GACvB,IAda3ixB,EAAKj8B,EAcZoo/B,EATO,SAAA7s/B,GAAI,OAAI,SAAAqjzB,GAAM,OAAIA,EAAOl6yB,QAAQxB,IAAI3H,EAAM,CAAD,CASpCswO,CAAO,cAAPA,CAAsB+ykB,GACzC,OAfa3ixB,EAeAms9B,EAfKpo/B,EAeO,uBAdlBgD,EAAIi5B,EAAKj8B,GAAOyuxB,EAASxquB,KAAKhoB,EAAIj8B,IAAQyuxB,EAAS/gX,QAcTmgU,OAAM,EACzD,EAEkB,oBAAXxtuB,OAAyBA,OAAS0wC,SAAS,eAATA,GAEzC,IA6BMm9rB,EAAU,SAAAhprB,GACd,GAAIA,QACF,MAAM,IAAI9mD,MAAM,oCAElB,MAAO,CACLy/c,IAAK34Z,EAET,EAEMuyuB,EAAe,CACnB1pD,SA/Be,SAACrjX,EAAMrgD,GACtB,IACMnhS,GADMmhS,GAAS1lT,UACL6F,cAAc,OAE9B,GADA0e,EAAIC,UAAYuhV,GACXxhV,EAAIw6P,iBAAmBx6P,EAAI7J,WAAWniC,OAAS,EAAG,CACrD,IAAMmL,EAAU,wCAEhB,MADA7M,QAAQC,MAAM4M,EAASqiX,GACjB,IAAItsX,MAAMiK,EAClB,CACA,OAAO6luB,EAAQhlsB,EAAI7J,WAAW,GAChC,EAsBE2usB,QArBc,SAACh3rB,EAAKqzR,GACpB,IACMnlR,GADMmlR,GAAS1lT,UACJ6F,cAAcwsB,GAC/B,OAAOk3rB,EAAQhprB,EACjB,EAkBE+orB,SAjBe,SAAC56sB,EAAMg3S,GACtB,IACMnlR,GADMmlR,GAAS1lT,UACJwgC,eAAe9xB,GAChC,OAAO66sB,EAAQhprB,EACjB,EAcEgprB,UACAC,UANgB,SAACupD,EAAQlkxB,EAAGC,GAAC,OAAKg7wB,EAASxquB,KAAKyzuB,EAAO75U,IAAIzJ,iBAAiB5gc,EAAGC,IAAI5F,IAAIqguB,EAAS,GAS5F/6rB,EAAK,SAACmiE,EAAS0hB,GACnB,IAAM6mV,EAAMvoW,EAAQuoW,IACpB,GAhDc,IAgDVA,EAAIn0X,SACN,OAAO,EAEP,IAAMm+F,EAAOg2R,EACb,QAAqBz5c,IAAjByjL,EAAKlxE,QACP,OAAOkxE,EAAKlxE,QAAQqgB,GACf,QAA+B5yH,IAA3ByjL,EAAKmojB,kBACd,OAAOnojB,EAAKmojB,kBAAkBh5mB,GACzB,QAAmC5yH,IAA/ByjL,EAAKoojB,sBACd,OAAOpojB,EAAKoojB,sBAAsBj5mB,GAC7B,QAAgC5yH,IAA5ByjL,EAAKqojB,mBACd,OAAOrojB,EAAKqojB,mBAAmBl5mB,GAE/B,MAAM,IAAI54H,MAAM,iCAGtB,EA6BMm8I,EAAW,SAAC8vL,EAAOrzM,EAAU8jQ,GAAM,OAftB,SAACzwD,EAAO1lO,EAAWm2R,GAGpC,IAFA,IAAIxlR,EAAU+0N,EAAMwzI,IACd3yc,EAAOg+C,EAAW4xU,GAAUA,EAAS0zZ,EACpCl5qB,EAAQmB,YAAY,CACzBnB,EAAUA,EAAQmB,WAClB,IAAMn6E,EAAKm7vB,EAAavpD,QAAQ54nB,GAChC,GAAI3Q,EAAUroE,GACZ,OAAOmyvB,EAASpyvB,KAAKC,GAChB,GAAIpxB,EAAKoxB,GACd,KAEJ,CACA,OAAOmyvB,EAAS/gX,MAClB,CAE8Ciqd,CAAWttjB,EAAO,SAAA/uU,GAAC,OAAI63C,EAAG73C,EAAG07H,EAAS,EAAE8jQ,EAAQ,EACxF5oI,EAAU,SAACm4E,EAAOrzM,EAAU8jQ,GAEhC,OA5BsB,SAAC3nV,EAAIonG,EAAU8vL,EAAOrmU,EAAG82X,GAC/C,OAAI3nV,EAAGk3R,EAAOrmU,GACLyqxB,EAASpyvB,KAAKguS,GACZnhR,EAAW4xU,IAAWA,EAAOzwD,GAC/Bokd,EAAS/gX,OAETnzR,EAAS8vL,EAAOrmU,EAAG82X,EAE9B,CAoBS+9Z,CADM,SAACvjrB,EAAS0hB,GAAQ,OAAK7jF,EAAGmiE,EAAS0hB,EAAU,EAC3BujB,EAAU8vL,EAAOrzM,EAAU8jQ,EAC5D,EAEIhqV,EAAS68rB,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,mBAElCot/B,EAAY,SAAAh0M,GAAM,OAAIA,EAAO/gW,IAAI45V,SAASmH,EAAO/3Q,eAAgB,SAAU,EAC3Egsd,EAAY,SAACj0M,EAAQrhyB,GAAM,OAAKqhyB,EAAO/gW,IAAI27V,SAASoF,EAAO/3Q,eAAgB,SAAUtphB,EAAQ,EAmB7Fu1+B,EAAgB,SAAAl0M,GACpB,IAAMjmtB,EAAYimtB,EAAO/3Q,eAEvBuxQ,EACEwG,EAAO/gW,IADTu6V,YAEFA,EAAYz/sB,EAAW,mBACnBg65B,EAAiB/zM,IACnBxG,EAAYz/sB,EAAW,gCAE3B,EACMyp0B,EAAmB,SAACxjH,EAAQ1wxB,GAEhC,OAAOgkO,EAAQhkO,EAAK,IADL,SAAAA,GAAG,OAlER64a,EAkEe74a,EAlEXgvkB,EAkEgBu6L,EAAavpD,QAAQ0wE,EAAO50D,WAlErCjjT,EAAG8W,MAAQq/I,EAAGr/I,IAA1B,IAAC9W,EAAIm2J,CAkEwD,GACrC75hB,KAAK,SAAAr/D,GAAC,OA/HzBsxG,EA+HoCtxG,EA/H3BhE,EA+H8B,OA/HtByuxB,EAASxquB,KAJ9B,SAACqxD,EAASt1G,GACpB,IAAMujD,EAAI+xD,EAAQuoW,IAAItoW,aAAav1G,GACnC,OAAa,OAANujD,OAAan/C,EAAYm/C,CAClC,CAC+CrgD,CAAIoyG,EAASt1G,IAA7C,IAACs1G,EAASt1G,CA+HqC,EAC9D,EACM+y/B,EAAgB,SAAAn0M,GAAM,OAAI,SAAAr3yB,GAC9B,IAAMC,EAASD,EAAMC,OACf0mB,EAAMupwB,EAAavpD,QAAQ1muB,GACjC465B,EAAiBxjH,EAAQ1wxB,GAAKmsC,KAAK,SAAAtkC,GAC5B+a,EAAO85sB,eAAerjvB,IAAW,KAAKpI,KAAK42B,IAC9CxuB,EAAM8jO,0BAEV,EACF,CAAE,EAOIlyI,EAAW,SAAAyltB,GACf,IAAIz+xB,EACJy+xB,EAAO/2yB,KAAKsxF,SAAS,mBAAoB,CACvCuoc,SAAU,WACRvhhB,EAnDgB,SAAAy+xB,GAAM,MAAK,CAC/Bo0M,WAAYp0M,EAAOl6yB,QAAQxB,IAAI,cAC/Bqa,OAAQqhyB,EAAOl6yB,QAAQxB,IAAI,UAC3B+v/B,WAAYr0M,EAAOl6yB,QAAQxB,IAAI,cAC/BmmJ,QAASup2B,EAAUh0M,GACpB,CA8CkBj+jB,CAAci+jB,GAC3Bk0M,EAAcl0M,GACdi0M,EAAUj0M,EAAQA,EAAOzyD,SAASvnuB,gBAAgB6vN,cAZ1B,SAAAmqkB,GAC5BA,EAAOxtE,SAAS3qtB,iBAAiB,QAASss+B,EAAcn0M,IAAS,EACnE,CAWMs0M,CAAsBt0M,EACxB,EACAj9Q,WAAY,WACVmxd,EAAcl0M,GAnDG,SAACA,EAAQz+xB,GAC9B,IACE6y+B,EAIE7y+B,EAJF6y+B,WACAz1+B,EAGE4C,EAHF5C,OACA01+B,EAEE9y+B,EAFF8y+B,WACA5p2B,EACElpI,EADFkpI,QAEFu1pB,EAAOl6yB,QAAQzB,IAAI,aAAc+v/B,GACjCp0M,EAAOl6yB,QAAQzB,IAAI,SAAUsa,GAC7BqhyB,EAAOl6yB,QAAQzB,IAAI,aAAcgw/B,GACjCJ,EAAUj0M,EAAQv1pB,EACpB,CAyCM8p2B,CAAev0M,EAAQz+xB,GAdI,SAAAy+xB,GAC/BA,EAAOxtE,SAAS5qtB,oBAAoB,QAASus+B,EAAcn0M,IAAS,EACtE,CAaMw0M,CAAyBx0M,EAC3B,EACAgmH,gBAAgB,IAElBhmH,EAAOlnuB,GAAG,aAAc,SAAA2rR,GAGT,aAFTA,EAAJx7V,MAGE+2yB,EAAO/2yB,KAAK5E,IAAI,mBAEpB,EACF,EAGEuzsB,EAAStqsB,IAAI,mBAAoB,SAAA0yyB,IA9LhB,SAAAA,IAEjBspH,EADuBtpH,EAAOl6yB,QAAQy0F,UACvB,cAAe,CAC5BsxpB,UAAW,SACX5ouB,QAAS,CAAC,GAEd,CAyLI473B,CAAW7+F,GACXzltB,EAASyltB,EACX,EAKL,CA3TD,GAgUA,WAGI,IAAM1C,EAAO,SAAA3rkB,GACX,IAAIxyO,EAAQwyO,EAOZ,MAAO,CACLrtO,IAPU,WACV,OAAOnF,CACT,EAMEkF,IALU,SAAAsgD,GACVxlD,EAAQwlD,CACV,EAKF,EAEIsr3B,EAAWlhM,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,yBAsBpCgoxB,EAAW,SAAA/uxB,GAAI,OAAI,SAAAV,GAAK,OAZf,SAAAyV,GACb,IATgB+vC,EAAGtF,EACfsJ,EAQEptC,SAAW3G,EACjB,OAAU,OAANA,EACK,OACQ,WAAN2G,GAAkBhH,MAAMC,QAAQI,GAClC,QACQ,WAAN2G,IAAuCshD,EAdlClY,EAcsB/vC,EAAeurC,GAdlCd,EAcsB99C,QAZZzD,UAYkCqiD,EAAMwiW,cAAc9lV,KAThD,QAAxBlU,EAAKhE,EAAEtF,mBAAqC,IAAZsJ,OAAqB,EAAIA,EAAGhsD,QAAU0iD,EAAY1iD,MAUpF,SAEA4e,EAHwC,IAACshD,EAAG1c,CAKvD,CACkCyoB,CAAOzpE,KAAWU,CAAK,CAAD,EAClDgvxB,EAAe,SAAAhvxB,GAAI,OAAI,SAAAV,GAAK,cAAWA,IAAUU,CAAK,CAAD,EACrDizE,EAAW87sB,EAAS,UACpBp6wB,EAAUo6wB,EAAS,SACnBnzmB,EAAYozmB,EAAa,WAGzBp3pB,EAAWo3pB,EAAa,UAExBtkqB,EAAO,WAAO,EACdk/b,EAAW,SAAAtqjB,GACf,OAAO,WACL,OAAOA,CACT,CACF,EACMs6W,EAASgwM,GAAS,GAIlBgrc,EAAgBhrc,EAFC,gqCAIjBomO,EAAQ,WACZ,SAAAA,EAAYz3uB,EAAKj5C,GAAO8Y,EAAA,KAAA43wB,GACtB/vxB,KAAKs4C,IAAMA,EACXt4C,KAAKX,MAAQA,CACf,CAAC,OAAAyZ,EAAAi3wB,EAAA,EAAAzuxB,IAAA,OAAAjC,MAOD,SAAK2wxB,EAAQC,GACX,OAAIjwxB,KAAKs4C,IACA23uB,EAAOjwxB,KAAKX,OAEZ2wxB,GAEX,GAAC,CAAA1uxB,IAAA,SAAAjC,MACD,WACE,OAAOW,KAAKs4C,GACd,GAAC,CAAAh3C,IAAA,SAAAjC,MACD,WACE,OAAQW,KAAKs4C,GACf,GAAC,CAAAh3C,IAAA,MAAAjC,MACD,SAAI6wxB,GACF,OAAIlwxB,KAAKs4C,IACAy3uB,EAASpyvB,KAAKuyvB,EAAOlwxB,KAAKX,QAE1B0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,OAAAjC,MACD,SAAK8wxB,GACH,OAAInwxB,KAAKs4C,IACA63uB,EAAOnwxB,KAAKX,OAEZ0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAOjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACpC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAQjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACrC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAKjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,OACvBW,KAEA+vxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,QAAAjC,MACD,SAAMovI,GACJ,OAAOzuI,KAAKs4C,IAAMt4C,KAAKX,MAAQovI,CACjC,GAAC,CAAAntI,IAAA,KAAAjC,MACD,SAAGovI,GACD,OAAOzuI,KAAKs4C,IAAMt4C,KAAOyuI,CAC3B,GAAC,CAAAntI,IAAA,aAAAjC,MACD,SAAW+wxB,GACT,OAAOpwxB,KAAKs4C,IAAMt4C,KAAKX,MAAQ+wxB,GACjC,GAAC,CAAA9uxB,IAAA,UAAAjC,MACD,SAAQ+wxB,GACN,OAAOpwxB,KAAKs4C,IAAMt4C,KAAOowxB,GAC3B,GAAC,CAAA9uxB,IAAA,WAAAjC,MACD,SAASsK,GACP,GAAK3J,KAAKs4C,IAGR,OAAOt4C,KAAKX,MAFZ,MAAM,IAAIK,MAAMiK,QAAyCA,EAAU,0BAIvE,GAAC,CAAArI,IAAA,YAAAjC,MAID,WACE,OAAOW,KAAKs4C,IAAMt4C,KAAKX,MAAQ,IACjC,GAAC,CAAAiC,IAAA,iBAAAjC,MACD,WACE,OAAOW,KAAKX,KACd,GAAC,CAAAiC,IAAA,OAAAjC,MACD,SAAKgxxB,GACCrwxB,KAAKs4C,KACP+3uB,EAAOrwxB,KAAKX,MAEhB,GAAC,CAAAiC,IAAA,UAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,CAACt4C,KAAKX,OAAS,EACnC,GAAC,CAAAiC,IAAA,WAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,QAAQ92C,OAAOxB,KAAKX,MAAO,KAAO,QACtD,IAAC,EAAAiC,IAAA,OAAAjC,MApFD,SAAYA,GACV,OAAO,IAAI0wxB,GAAS,EAAM1wxB,EAC5B,GAAC,CAAAiC,IAAA,OAAAjC,MACD,WACE,OAAO0wxB,EAAShhD,aAClB,GAAC,CAAAztuB,IAAA,OAAAjC,MA4DD,SAAYA,GACV,OAvFe,SAAAiG,GAAC,OAAIA,OAA8B,CAC1B4pxB,CAsFH7vxB,GAAgC0wxB,EAAS/gX,OAAhC+gX,EAASpyvB,KAAKt+B,EAC9C,IAAC,CAxEW,GA2Fd0wxB,EAAShhD,cAAgB,IAAIghD,GAAS,GAEtC,IAAM00J,EAAckwE,EAEhB3iF,EAAW/iM,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,eAEtCgxsB,EAAWm3B,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,sBAEpCwpxB,EAAc77wB,MAAMzW,UAAU4W,MAC9B47wB,EAAa/7wB,MAAMzW,UAAU8F,KAC7BqL,EAAM,SAAC00P,EAAI1+P,GAGf,IAFA,IAAM1G,EAAMolQ,EAAGrlQ,OACTorD,EAAI,IAAIn1C,MAAMhW,GACXM,EAAI,EAAGA,EAAIN,EAAKM,IAAK,CAC5B,IAAM+V,EAAI+uP,EAAG9kQ,GACb6qD,EAAE7qD,GAAKoG,EAAE2P,EAAG/V,EACd,CACA,OAAO6qD,CACT,EACM+R,EAAO,SAACkoM,EAAI1+P,GAChB,IAAK,IAAIpG,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAE7CoG,EADU0+P,EAAG9kQ,GACRA,EACP,CACF,EACM8xxB,EAAQ,SAAChthB,EAAI1+P,GACjB,IAAK,IAAIpG,EAAI8kQ,EAAGrlQ,OAAS,EAAGO,GAAK,EAAGA,IAAK,CAEvCoG,EADU0+P,EAAG9kQ,GACRA,EACP,CACF,EAwCM4lE,EAAO,SAACk/L,EAAI1+P,GAAC,OAVH,SAAA0+P,GAEd,IADA,IAAMj6M,EAAI,GACD7qD,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,IAAOM,EAAG,CAC7C,IAAK2V,EAAQmvP,EAAG9kQ,IACd,MAAM,IAAIW,MAAM,oBAAsBX,EAAI,6BAA+B8kQ,GAE3E2shB,EAAWxoxB,MAAM4hD,EAAGi6M,EAAG9kQ,GACzB,CACA,OAAO6qD,CACT,CACwBwvD,CAAQjqG,EAAI00P,EAAI1+P,GAAI,EAOtC3B,EAAiBzF,OAAOyF,eACxBc,EAAM,SAACi5B,EAAKj8B,GAAG,OAAKkC,EAAehE,KAAK+9B,EAAKj8B,EAAK,EAEtC,oBAAXK,OAAyBA,OAAS0wC,SAAS,eAATA,GAEzC,IAOMix1B,EADS,SAAA7n3B,GAAC,OAAI,SAAAm7F,GAAO,OADd,SAAAA,GAAO,OAAIA,EAAQuoW,IAAIn0X,QAAS,CACdjrF,CAAK62G,KAAan7F,CAAE,CAAD,CACjCsyE,CAJJ,GAcPxpF,EAAM,SAACqyG,EAASt1G,EAAKjC,IARZ,SAAC8/c,EAAK79c,EAAKjC,GACxB,KAAI2zE,EAAS3zE,IAAUs8K,EAAUt8K,IAAUs4H,EAASt4H,IAIlD,MADAvC,QAAQC,MAAM,sCAAuCuE,EAAK,YAAajC,EAAO,cAAe8/c,GACvF,IAAIz/c,MAAM,kCAHhBy/c,EAAInoW,aAAa11G,EAAKjC,EAAQ,GAKlC,CAEEq4xB,CAAO9grB,EAAQuoW,IAAK79c,EAAKjC,EAC3B,EAuBMmwuB,EAAU,SAAAhprB,GACd,GAAIA,QACF,MAAM,IAAI9mD,MAAM,oCAElB,MAAO,CACLy/c,IAAK34Z,EAET,EAEMuyuB,EAAe,CACnB1pD,SA/Be,SAACrjX,EAAMrgD,GACtB,IACMnhS,GADMmhS,GAAS1lT,UACL6F,cAAc,OAE9B,GADA0e,EAAIC,UAAYuhV,GACXxhV,EAAIw6P,iBAAmBx6P,EAAI7J,WAAWniC,OAAS,EAAG,CACrD,IAAMmL,EAAU,wCAEhB,MADA7M,QAAQC,MAAM4M,EAASqiX,GACjB,IAAItsX,MAAMiK,EAClB,CACA,OAAO6luB,EAAQhlsB,EAAI7J,WAAW,GAChC,EAsBE2usB,QArBc,SAACh3rB,EAAKqzR,GACpB,IACMnlR,GADMmlR,GAAS1lT,UACJ6F,cAAcwsB,GAC/B,OAAOk3rB,EAAQhprB,EACjB,EAkBE+orB,SAjBe,SAAC56sB,EAAMg3S,GACtB,IACMnlR,GADMmlR,GAAS1lT,UACJwgC,eAAe9xB,GAChC,OAAO66sB,EAAQhprB,EACjB,EAcEgprB,UACAC,UANgB,SAACupD,EAAQlkxB,EAAGC,GAAC,OAAKg7wB,EAASxquB,KAAKyzuB,EAAO75U,IAAIzJ,iBAAiB5gc,EAAGC,IAAI5F,IAAIqguB,EAAS,GAiB5F4zJ,EAAO,SAACxsxB,EAASp1F,GAAM,MAAM,CACjCo1F,UACAp1F,SACD,EACKypqB,EAAO,SAACr0kB,EAASp1F,GACrB,IAAM6kZ,EANS,SAAAzvT,GAAO,OAAIznG,EAAIynG,EAAQuoW,IAAIx+a,WAAYo4vB,EAAavpD,QAAS,CAMjEvypB,CAAS25B,GACpB,OAAOyvT,EAAG7na,OAAS,GAAKgjB,EAAS6kZ,EAAG7na,OAAS4k4B,EAAK/8d,EAAG7kZ,GAAS,GAAK4h3B,EAAKxsxB,EAASp1F,EACnF,EAEMqvI,EAAS,SAACpxJ,EAAQm3G,GACtB,IAAMg+4B,EAZO,SAAAh+4B,GAAO,OAAIm5qB,EAASxquB,KAAKqxD,EAAQuoW,IAAIpnW,YAAY5oG,IAAI4pxB,EAAavpD,QAAS,CAYvEtprB,CAAOzmD,GACxBm1/B,EAASj57B,KAAK,SAAA9W,GACZA,EAAEs6Z,IAAI3lW,aAAa5C,EAAQuoW,IAAK1/c,EAAO0/c,IACzC,EACF,EAIMnja,EAAO,SAAC46D,EAASztD,GACrB0nG,EAAOj6C,EAASztD,GAJH,SAACjD,EAAQ0wD,GACtB1wD,EAAOi5Z,IAAI1la,YAAYm9D,EAAQuoW,IACjC,CAGEjpT,CAAO/sG,EAASytD,EAClB,EAuBMo7B,EArBY,SAACv9F,EAAI53C,GACrB,IAMMuyuB,EAAY,SAAAx4nB,GAAO,OAAIniE,EAAGmiE,GAAWm5qB,EAASxquB,KAAKqxD,EAAQuoW,IAAIp0F,WAAagla,EAAS/gX,MAAO,EAOlG,MAAO,CACLxqa,IAdU,SAAAoyG,GACV,IAAKniE,EAAGmiE,GACN,MAAM,IAAIl3G,MAAM,gBAAkB7C,EAAO,eAAiBA,EAAO,SAEnE,OAAOuyuB,EAAUx4nB,GAASu4nB,MAAM,GAClC,EAUEC,YACA7quB,IATU,SAACqyG,EAASv3G,GACpB,IAAKo1C,EAAGmiE,GACN,MAAM,IAAIl3G,MAAM,oBAAsB7C,EAAO,eAAiBA,EAAO,SAEvE+5G,EAAQuoW,IAAIp0F,UAAY1rX,CAC1B,EAMF,CAEYygyB,CAAUwjG,EAAU,QAC1BjgO,EAAQ,SAAAzsjB,GAAO,OAAIo7B,EAAIxtI,IAAIoyG,EAAS,EASpC2pE,EAAc,SAACorJ,EAAOrzM,GAAQ,OA7DxB,SAACA,EAAUqzM,GACrB,IAAMpgQ,OAAiB7lE,IAAVimU,EAAsB1lT,SAAW0lT,EAAMwzI,IACpD,OAHqB,SAAAA,GAAG,OAzDV,IAyDcA,EAAIn0X,UA3DjB,IA2DyCm0X,EAAIn0X,UA1DpC,KA0D6Dm0X,EAAIn0X,UAA4D,IAA1Bm0X,EAAIsyR,iBAAwB,CAGhJynD,CAAe3ttB,GAAQ,GAAKp8D,EAAIo8D,EAAKquC,iBAAiB0e,GAAWygqB,EAAavpD,QACvF,CA0DyC9juB,CAAI4sH,EAAUqzM,EAAO,EAE1Dv5R,EAAS68rB,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,0BAElC+t/B,EAAmB,SAAC11iB,EAAK34Z,GAAI,OAAK24Z,EAAIwmV,QAAQn/uB,IAASliD,EAAI66c,EAAI/7b,OAAO0uxB,kBAAmBtrvB,EAAK6yD,SAAU,EACxGyvyB,EAAyB,SAAC3pc,EAAK34Z,GAAI,OAAM24Z,EAAIm9V,WAAW91vB,EAAM,EAE9DghI,EAAW,SAAC23R,EAAK34Z,GAAI,OAAM24Z,EAAIwmV,QAAQn/uB,IAASliD,EAAI66c,EAAI/7b,OAAO8uxB,wBAAyB1rvB,EAAK6yD,SAAU,EAEvG8rQ,EAAS,SAAA3+T,GAAI,OAAsB,IAAlBA,EAAKwkC,QAAe,EAMrCu4yB,EAAS,SAAC/80B,EAAMhlC,GAAM,OAAKypqB,EAAK8tG,EAAavpD,QAAQhprB,GAAOhlC,EAAQ,EACpE+0wB,EAAO,SAACp3U,EAAK21iB,EAAUh2jB,EAAWh+J,EAAWi6hB,GAEjD,IAFgF,IAC5E3uzB,IAD+DpK,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,KAAAA,UAAA,GAC5C8y/B,GAAS,GAASh2jB,EAClC1yb,GAAM,CACX,IAAM8p0B,EAAY4yE,EAAuB3pc,EAAK/yc,GAC9C,GAAI8p0B,GAAa1upB,EAAS23R,EAAK/yc,GAA/B,CAEE,GADoB8p0B,EAAYp1iB,EAAUohnB,IAAI914B,GAAQ00R,EAAUw3c,SAASlsuB,GAEvE,MAEAA,EAAO0o/B,GAAS,EASpB,KAdA,CAQO,GAAID,EAAiB11iB,EAAK/yc,IAC/B,GAAI00R,EAAUw3c,SAASlsuB,GACrB,WAEO+4W,EAAO/4W,IAChB00R,EAAUnsQ,KAAKvoB,GAEjB,GAAIA,IAAS2uzB,EACX,MAEA3uzB,EAAO0o/B,GAAS,EAJlB,CAMF,CACF,EACMC,EAAwB,SAAC51iB,EAAK7c,EAAS97Y,EAAMqrI,EAAU8wnB,GAC3D,IAAI95vB,EACJ,IApCiB,SAACs2Z,EAAK34Z,GAAI,OAAKqu8B,EAAiB11iB,EAAK34Z,IAASsi2B,EAAuB3pc,EAAK34Z,IAASghI,EAAS23R,EAAK34Z,IAFjF,SAAC24Z,EAAK34Z,GAAI,MAAsC,SAAjC24Z,EAAIi7V,mBAAmB5zvB,IAAoBA,EAAKuxD,aAAeonW,EAAIm9V,WAAW91vB,EAAKuxD,WAAY,CAEpBi94B,CAA2B71iB,EAAK34Z,EAAM,CAoC7JgyrB,CAAWr5R,EAAK34Z,GAApB,CAGA,IAAM0hzB,EAA4D,QAA/Cr/yB,EAAKs2Z,EAAIlqI,UAAUpjJ,EAAUstR,EAAIwmV,gBAAkC,IAAZ98uB,EAAgBA,EAAKs2Z,EAAIy5V,UAC7FvU,EAAS,IAAIjyvB,EAAOoU,EAAM0hzB,GAC1B4sJ,EAAWnyM,EAAWte,EAAOj4xB,KAAKu4D,KAAK0/tB,GAAUA,EAAOl4xB,KAAKw4D,KAAK0/tB,GACxE9N,EAAKp3U,EAAK21iB,EAAUtu8B,EAAM,CACxB8xrB,SAAU3+X,EACVuoiB,IAAKvoiB,EACLhlV,KAAM,SAAAvoB,GACAu2yB,EACFrgX,EAAQ2yjB,SAAW7o/B,EAAK5N,OAExB8jc,EAAQ4yjB,SAAW9o/B,EAAK5N,OAE1B8jc,EAAQpoT,SAASp2I,KAAKi1xB,EAAavpD,QAAQpjuB,GAC7C,GAdF,CAgBF,EACMujd,EAAU,SAACxQ,EAAKttR,EAAUitQ,EAAWi8X,EAASj6hB,GAAiC,IAAtBq0tB,IAASnz/B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,KAAAA,UAAA,GAChEqiyB,EAAS,IAAIjyvB,EAAO0sZ,EAAWjtQ,GAC/Bw2e,EAAW,GACb19gB,EAxDmB,CACvBuq2B,QAAS,EACTD,QAAS,EACT/62B,SAAU,IAsDV662B,EAAsB51iB,EAAKx0T,EAASm0S,EAAWjtQ,GAAU,GACzD,IAAMuj0B,EAAgB,WAKpB,OAJIzq2B,EAAQzQ,SAAS17I,OAAS,IAC5B6pqB,EAASvkqB,KAAK6mJ,GACdA,EA7DmB,CACvBuq2B,QAAS,EACTD,QAAS,EACT/62B,SAAU,MA4DD,CACT,EAqBA,OApBAq8oB,EAAKp3U,EAAKklV,EAAOj4xB,KAAKu4D,KAAK0/tB,GAASvlW,EAAW,CAC7Cw5S,SAAU88Q,EACVlzG,IAAK,SAAA171B,GAKH,OAJA4u8B,IACIt0tB,GACFunY,EAASvkqB,KAAIkE,MAAbqgqB,EAAQr4oB,EAAS8wQ,EAAUohnB,IAAI171B,MAE1B,CACT,EACA7xB,KAAM,SAAAvoB,GACJu+I,EAAQzQ,SAASp2I,KAAKi1xB,EAAavpD,QAAQpjuB,IACvC00R,GACFA,EAAUnsQ,KAAKvoB,EAAMu+I,EAEzB,GACCowqB,EAASo6L,GACRp6L,GACFg6L,EAAsB51iB,EAAKx0T,EAASowqB,EAASlpoB,GAAU,GAEzDuj0B,IACO/sV,CACT,EACMgtV,EAAuB,SAACl2iB,EAAK9wB,GACjC,IAAMh6a,EAAQkv3B,EAAOl1c,EAAI4jT,eAAgB5jT,EAAIghH,aACvCvwG,EAAYzqb,EAAMuiG,QAAQuoW,IAC1B7qc,EAAMiv3B,EAAOl1c,EAAI6jT,aAAc7jT,EAAI8jT,WACnC4oF,EAAUzmzB,EAAIsiG,QAAQuoW,IAC5B,OAAOwQ,EAAQxQ,EAAK9wB,EAAI6oT,wBAAyBp4S,EAAWi8X,EAAS,CACnEpmyB,KAAM,SAAC6xB,EAAM87Y,GACP97Y,IAASu0wB,EACXz4X,EAAQ2yjB,SAAWzu8B,EAAKhoD,OAAS8V,EAAIkN,OAC5BglC,IAASs4Y,IAClBwD,EAAQ4yjB,SAAW7g/B,EAAMmN,OAE7B,EACA0g4B,IAAK,SAAA171B,GACH,IAnPQq9M,EAAI79L,EACV1X,EAkPI+5mB,EAAW1jmB,EAAK47G,EAAYw4mB,EAAavpD,QAAQhprB,GAAO,2BAA4B,SAAA5pD,GACxF,IAAM04/B,EAAa14/B,EAAEuid,IACrB,OAAOwQ,EAAQxQ,EAAKm2iB,EAAYA,EAClC,GACA,OAvPQzxvB,EAuPIwka,EAvPArimB,EAuPU,SAAC1gE,EAAGC,GAAC,OAvHC,SAACD,EAAGC,GACpC,OAJ8B,SAACD,EAAGC,EAAG5E,GACrC,OAAkD,KAA1C2E,EAAEgra,wBAAwB/qa,GAAK5E,EACzC,CAES2va,CAAwBhra,EAAGC,EAAG6xG,KAAKm+4B,4BAC5C,CAqHsCC,CAA0Blw/B,EAAE40I,SAAS,GAAGilU,IAAK55c,EAAE20I,SAAS,GAAGilU,KAAO,GAAK,CAAC,GAtPtG7wZ,EAAOgiuB,EAAY9wxB,KAAKqkQ,EAAI,IAC7Bx+P,KAAK2gE,GACH1X,CAqPL,IACC,EACL,EACMmn8B,EAAU,SAACt2iB,EAAK9wB,GAAG,OAAKA,EAAIptL,UAAY,GAAKo0vB,EAAqBl2iB,EAAK9wB,EAAK,EAC5EqnkB,EAAW,SAACv2iB,EAAK34Z,GACrB,IAAM6nY,EAAM8wB,EAAI46V,YAEhB,OADA1rX,EAAIqrY,WAAWlzwB,GACRiv8B,EAAQt2iB,EAAK9wB,EACtB,EAuBMy2c,EAAU,SAAC5qvB,EAAUjiC,GACzB,IAzSa4rJ,EAAI1+P,EAAGu0F,EAySdi85B,GAzSO9xvB,EAySe3pH,EAzSX/0I,EAySqB,SAACu0F,EAAKkd,GAC1C,IAAM/xF,EAAUw+oB,EAAMzsjB,GAChBviG,EAAQqlF,EAAI3zC,KACZ53C,EAASkG,EAAQwQ,EAAQrmB,OACzB4iB,EAAYujD,EAAKszC,EAAS,SAACt3G,EAAOmqe,GACtC,OAAInqe,EAAM0T,MAAQlG,GAAUxN,EAAMwN,OAASkG,EAClC,CAAC,CACNuiG,UACAviG,MAAOqI,KAAKiL,IAAItT,EAAO1T,EAAM0T,OAASA,EACtClG,OAAQuO,KAAKgL,IAAIvZ,EAAQxN,EAAMwN,QAAUkG,EACzCuh/B,QAAS9qhB,IAGJ,EAEX,GACA,MAAO,CACLxpZ,QAASoY,EAAIpY,QAAQ9/E,OAAO4f,GAC5B2kC,KAAM53C,EAEV,EA7ToBurF,EA6TjB,CACDpY,QAAS,GACTv7B,KAAM,GA9TR4V,EAAKkoM,EAAI,SAAC/uP,EAAG/V,GACX26F,EAAMv0F,EAAEu0F,EAAK5kF,EAAG/V,EAClB,GACO26F,GA4TJpY,QACH,OAxVc,SAACuiL,EAAI1+P,GACnB,GAAkB,IAAd0+P,EAAGrlQ,OACL,MAAO,GAKP,IAHA,IAAIsj/B,EAAU38+B,EAAE0+P,EAAG,IACbj6M,EAAI,GACNolF,EAAQ,GACHjwI,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAC7C,IAAM+V,EAAI+uP,EAAG9kQ,GACPgB,EAAOoF,EAAE2P,GACX/U,IAAS+h/B,IACXl47B,EAAE9lD,KAAKkrI,GACPA,EAAQ,IAEV8y2B,EAAU/h/B,EACVivI,EAAMlrI,KAAKgR,EACb,CAIA,OAHqB,IAAjBk6H,EAAMxwI,QACRorD,EAAE9lD,KAAKkrI,GAEFplF,CAEX,CAkUSughB,CAAQwrb,EAAe,SAAAx1+B,GAAQ,OAAIA,EAASy1+B,OAAO,EAC5D,EAEM3iO,EAAS,SAACnzsB,EAASuolB,GAAQ,OAAK1jmB,EAAK0jmB,EAAU,SAAA/lO,GACnD,IAAMpoT,EAAWooT,EAAQpoT,SACnBr1H,EAAU1V,EAAI+qI,EAAUmphB,GAAOv3mB,KAAK,IACpC1qC,EAnDO,SAACuT,EAAMmrD,GAA8C,IAArCzrE,EAAKrS,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,EAAGmM,EAAMnM,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG2yB,EAAKn2B,OAChDqgF,EAAQiB,EAAQjB,MACtBA,EAAM8oD,UAAYtzH,EAGlB,IAFA,IACI1T,EADE2gF,EAAU,GAET3gF,EAAQk+E,EAAMxqC,KAAK1f,IAAO,CAC/B,IAAMkh+B,EAAcl1/B,EAAMm/E,EAAQg26B,YAC5BC,EAAap1/B,EAAMyJ,MAAQzJ,EAAM,GAAG3B,QAAQ62/B,GAC5CG,EAAcD,EAAaF,EAAYr3/B,OAC7C,GAAIw3/B,EAAc7n/B,EAChB,MAEFmzE,EAAQx9E,KAAK,CACXuQ,MAAO0h/B,EACP5n/B,OAAQ6n/B,IAEVn36B,EAAM8oD,UAAYqu3B,CACpB,CACA,OAAO106B,CACT,CAgCoB6vsB,CAAOtswB,EAASi7D,EAASwiX,EAAQ4yjB,QAASrw+B,EAAQrmB,OAAS8jc,EAAQ2yjB,SACrF,OAAOnwH,EAAQ5qvB,EAAU94H,EAC3B,EAAG,EACG0wH,EAAO,SAAC75B,EAASg+4B,GACrBplO,EAAM54qB,EAAS,SAACt3G,EAAOkgE,GACrBgwtB,EAAMlwxB,EAAO,SAAAmgD,GACX,IAAMqI,EAAU4vuB,EAAavpD,QAAQymR,EAAgBhxtB,WAAU,IAC/D1gS,EAAI4kD,EAAS,iBAAkB0X,GAC/B,IAAMwiQ,EAAWviR,EAAI81D,QAAQuoW,IAC7B,GAAI97I,EAAS7kU,SAAWsiD,EAAI3yC,QAAwB,IAAd2yC,EAAIzsC,MACxC2nC,EAAK8E,EAAI81D,QAASztD,OACb,CACDk6Q,EAAS7kU,SAAWsiD,EAAI3yC,QAC1Bk1T,EAAS8vf,UAAUrywB,EAAI3yC,QAEzB,IAAMk90B,EAAYhohB,EAAS8vf,UAAUrywB,EAAIzsC,OACzC2nC,EAAK+8uB,EAAavpD,QAAQ67G,GAAYliyB,EACxC,CACF,EACF,EACF,EAOM+s8B,GAAyB,SAAC/2iB,EAAKr/X,EAAS4jM,EAAWuyuB,GACvD,IAAM39L,EAAW50iB,EAAU6pe,cACrBr0oB,EAAQimW,EAAIh9a,OAAO,+CACnBg09B,EAAej94B,EAAM16G,OAAS,EAnFpB,SAAC2gd,EAAKjmW,GAAK,OAAKv0C,EAAKu0C,EAAO,SAAA1yD,GAAI,OAAIkv8B,EAASv2iB,EAAK34Z,EAAK,EAAE,CAmFjC4v8B,CAAUj3iB,EAAKjmW,GAASu84B,EAAQt2iB,EAAKz7L,EAAU08hB,UACjFnosB,EAAUg7qB,EAAOnzsB,EAASq26B,GAGhC,OAFArk3B,EAAK75B,EAASg+4B,GACdvyuB,EAAUipe,eAAe2rE,GAClBrgtB,EAAQz5G,MACjB,EAEM63/B,GAAc,SAAA7m+B,GAClB,OAAOA,EAAIqnF,aAAa,iBAC1B,EACMy/4B,GAAiB,SAACp2M,EAAQq2M,EAAoBz26B,EAAS026B,GAC3D,IAAM/2/B,EAASygzB,EAAO/gW,IAAItna,OAAO,OAAQ,CACvC,iBAAkB,IAEpBp4C,EAAO0sB,UAAY,mBACnB,IAAMq6B,EAAO05vB,EAAO50D,UAEpB,OADArmvB,GAAKi7yB,EAAQq2M,GAAoB,GAC7BC,EACKN,GAAuBh2M,EAAO/gW,IAAKr/X,EAASoguB,EAAOx8hB,UAAWjkR,GA3BrD,SAAC0/c,EAAKr/X,EAASt5B,EAAMyv8B,GACvC,IAAME,EAAeT,EAASv2iB,EAAK34Z,GAC7ByxD,EAAUg7qB,EAAOnzsB,EAASq26B,GAEhC,OADArk3B,EAAK75B,EAASg+4B,GACPh+4B,EAAQz5G,MACjB,CAwBWi4/B,CAAYv2M,EAAO/gW,IAAKr/X,EAASt5B,EAAM/mD,EAElD,EACM8igB,GAAS,SAAA/7c,GACb,IAAIqC,EACEkvD,EAAavxD,EAAKuxD,WACpBvxD,EAAKwvG,YACPj+C,EAAWyB,aAAahzD,EAAKwvG,WAAYxvG,GAEhB,QAA1BqC,EAAKrC,EAAKuxD,kBAAoC,IAAZlvD,GAAyBA,EAAG5E,YAAYuC,EAC7E,EACMkw8B,GAAmB,SAACx2M,EAAQ91yB,GAChC,IAAMus/B,EAAQ,GACRz94B,EAAQ4+lB,EAASr6d,QAAQyikB,EAAO50D,UAAU1qtB,qBAAqB,SACrE,GAAIs4E,EAAM16G,OACR,IAAK,IAAIO,EAAI,EAAGA,EAAIm6G,EAAM16G,OAAQO,IAAK,CACrC,IAAMktb,EAAYoqkB,GAAYn94B,EAAMn6G,IAClB,OAAdktb,GAAuBA,EAAUztb,SAGjCytb,IAAc7hb,EAAMtM,YACtB64/B,EAAM7y/B,KAAKo1G,EAAMn6G,IAErB,CAEF,OAAO43/B,CACT,EACM75K,GAAgB,SAAC58B,EAAQq2M,EAAoB7uM,GACjD,IAAMkvM,EAAcL,EAAmB/x/B,MACnCqy/B,EAAYD,EAAYxs/B,MACtB+0c,EAAM+gW,EAAO/gW,IACfuoW,EACEmvM,EAAY,IAAMD,EAAY1s/B,MAChC2s/B,EAAY,EAEZA,IAGEA,EAAY,IAAO,EACrBA,EAAYD,EAAY1s/B,MAAQ,EAEhC2s/B,IAGJ13iB,EAAIs8V,YAAYi7M,GAAiBx2M,EAAQ02M,EAAYxs/B,OAAQ,6BAC7D,IAAMus/B,EAAQD,GAAiBx2M,EAAQ22M,GACvC,OAAIF,EAAMn4/B,QACR2gd,EAAIq8V,SAASk7M,GAAiBx2M,EAAQ22M,GAAY,6BAClD32M,EAAOx8hB,UAAU1N,eAAe2gvB,EAAM,IAC/BE,IAED,CACV,EACMr8K,GAAa,SAACr7X,EAAK34Z,GACvB,IAAMN,EAASM,EAAKuxD,WACpBonW,EAAIh2b,OAAOq9B,GACPN,GAAUi5Z,EAAIvib,QAAQspB,IACxBi5Z,EAAIh2b,OAAO+8B,EAEf,EAMMp3B,GAAO,SAACoxxB,EAAQq2M,EAAoB5h+B,EAAMmi+B,EAAWC,EAAWP,GACpE,IAAM9yuB,EAAYw8hB,EAAOx8hB,UACnBszuB,EAPiB,SAACri+B,EAAMoi+B,GAC9B,IACME,EAAY,IADEti+B,EAAKlV,QAAQ,sCAAuC,QAAQA,QAAQ,MAAO,uBACzD,IACtC,OAAOs3+B,EAAY,YAAYv1/B,OAAOij7B,IAAe,KAAOwyE,EAAY,YAAYz1/B,OAAOij7B,IAAe,KAAOwyE,CACnH,CAGsBC,CAAiBvi+B,EAAMoi+B,GACrCI,EAAqBzzuB,EAAUikiB,YAC/B7nuB,EAAU,CACdjB,MAAO,IAAItW,OAAOyu7B,EAAaF,EAAY,IAAM,MACjDhB,WAAY,GAER5r/B,EAAQos/B,GAAep2M,EAAQq2M,EAAoBz26B,EAAS026B,GAIlE,GAHIxkF,EAASxr0B,QAAQm9L,YACnBjgB,EAAUkqe,OAAOlqe,EAAU08hB,SAAU+2M,GAEnCjt/B,EAAO,CACT,IAAMyjrB,EAAWmvJ,GAAc58B,EAAQq2M,GAAoB,GAC3DA,EAAmBhy/B,IAAI,CACrB6F,MAAOujrB,EACPzjrB,QACAyqB,OACAmi+B,YACAC,YACAP,eAEJ,CACA,OAAOts/B,CACT,EACMkC,GAAO,SAAC8zyB,EAAQq2M,GACpB,IAAMns/B,EAAQ0y0B,GAAc58B,EAAQq2M,GAAoB,GACxDA,EAAmBhy/B,IAAGgH,EAAC,CAAC,EACnBgr/B,EAAmB/x/B,MAAM,CAC5B4F,UAEJ,EACM+B,GAAO,SAAC+zyB,EAAQq2M,GACpB,IAAMns/B,EAAQ0y0B,GAAc58B,EAAQq2M,GAAoB,GACxDA,EAAmBhy/B,IAAGgH,EAAC,CAAC,EACnBgr/B,EAAmB/x/B,MAAM,CAC5B4F,UAEJ,EACMgt/B,GAAc,SAAA5w8B,GAClB,IAAMsv8B,EAAaO,GAAY7v8B,GAC/B,OAAsB,OAAfsv8B,GAAuBA,EAAWt3/B,OAAS,CACpD,EACMihB,GAAU,SAACygyB,EAAQq2M,EAAoB5h+B,EAAM+yxB,EAASh8yB,GAC1D,IAEI2r/B,EAFET,EAAcL,EAAmB/x/B,MACjCqinB,EAAe+vY,EAAYxs/B,MAE/Bq2O,EAAYomY,EACd6gM,GAAsB,IAAZA,EAGV,IAFA,IAAMlhwB,EAAO05vB,EAAO50D,UACdpyoB,EAAQ4+lB,EAASw+E,KAAKx+E,EAASr6d,QAAQj3L,EAAK5lB,qBAAqB,SAAUw29B,IACxEr4/B,EAAI,EAAGA,EAAIm6G,EAAM16G,OAAQO,IAAK,CACrC,IAAMktb,EAAYoqkB,GAAYn94B,EAAMn6G,IAChC+2/B,EAAauB,EAAoB569B,SAASwvZ,EAAW,IACzD,GAAIvgb,GAAOoq/B,IAAec,EAAYxs/B,MAAO,CAO3C,IANIuqB,EAAKn2B,QACP06G,EAAMn6G,GAAG6rC,UAAYjW,EACrB4te,GAAOrpZ,EAAMn6G,KAEby70B,GAAWt6B,EAAO/gW,IAAKjmW,EAAMn6G,IAExBm6G,IAAQn6G,IAAI,CAEjB,IADA+2/B,EAAar59B,SAAS459B,GAAYn94B,EAAMn6G,IAAK,OAC1Bs4/B,EAEZ,CACLt4/B,IACA,KACF,CAJEy70B,GAAWt6B,EAAO/gW,IAAKjmW,EAAMn6G,GAKjC,CACI2ozB,GACFjnkB,GAEJ,MAAW42wB,EAAoBxwY,GAC7B3tgB,EAAMn6G,GAAGi4G,aAAa,iBAAkBv1G,OAAO41/B,EAAoB,GAEvE,CAWA,OAVAd,EAAmBhy/B,IAAGgH,EAAC,CAAC,EACnBqr/B,EAAY,CACf1s/B,MAAOwB,EAAM,EAAIkr/B,EAAY1s/B,MAAQ,EACrCE,MAAOq2O,KAELinkB,EACFt7yB,GAAK8zyB,EAAQq2M,GAEbpq/B,GAAK+zyB,EAAQq2M,IAEP7q/B,GAAO6q/B,EAAmB/x/B,MAAM0F,MAAQ,CAClD,EACMjF,GAAO,SAACi7yB,EAAQq2M,EAAoBe,GAKxC,IAJA,IAAIrlR,EACAC,EACE0kR,EAAcL,EAAmB/x/B,MACjC00G,EAAQ4+lB,EAASr6d,QAAQyikB,EAAO50D,UAAU1qtB,qBAAqB,SAC5D7hC,EAAI,EAAGA,EAAIm6G,EAAM16G,OAAQO,IAAK,CACrC,IAAMktb,EAAYoqkB,GAAYn94B,EAAMn6G,IAClB,OAAdktb,GAAsBA,EAAUztb,SAC9Bytb,IAAc2qkB,EAAYxs/B,MAAMtM,aAC7Bm0uB,IACHA,EAAiB/4nB,EAAMn6G,GAAGi3J,YAE5Bk8kB,EAAeh5nB,EAAMn6G,GAAGi3J,YAE1BusW,GAAOrpZ,EAAMn6G,IAEjB,CAOA,GANAw3/B,EAAmBhy/B,IAAGgH,EAAC,CAAC,EACnBqr/B,EAAY,CACfxs/B,OAAQ,EACRF,MAAO,EACPyqB,KAAM,MAEJs9sB,GAAkBC,EAAc,CAClC,IAAM7jT,EAAM6xX,EAAO/gW,IAAI46V,YAMvB,OALA1rX,EAAIihB,SAAS2iS,EAAgB,GAC7B5jT,EAAIkhB,OAAO2iS,EAAcA,EAAa/tuB,KAAK3F,SACf,IAAxB84/B,GACFp3M,EAAOx8hB,UAAUkqe,OAAOv/T,GAEnBA,CACT,CAGF,EAiDMhvb,GAAQ,WACZ,IAAM6qe,EArBU,SAAAq1U,GAChB,IAAMr1U,EAAUszU,EAAKztB,EAAS/gX,QACxBrkG,EAAS,WAAH,OAASu/J,EAAQ1le,MAAMm3D,KAAK4jvB,EAAU,EAWlD,MAAO,CACL13yB,MAXY,WACZ8iU,IACAu/J,EAAQ3le,IAAIwrxB,EAAS/gX,OACvB,EASEhzD,MARY,WAAH,OAASkuH,EAAQ1le,MAAMwquB,QAAS,EASzCxquB,IARU,WAAH,OAAS0le,EAAQ1le,KAAM,EAS9BD,IARU,SAAAQ,GACV4lU,IACAu/J,EAAQ3le,IAAIwrxB,EAASpyvB,KAAK54B,GAC5B,EAOF,CAEkBy6yB,CAAU/0rB,GAE1B,OAAAl/G,EAAA,GACK2+d,EAAQ,CACXlxZ,GAHS,SAAA7zE,GAAC,OAAI+ke,EAAQ1le,MAAMm3D,KAAKx2D,EAAG,GAKxC,EAEMsD,GAAO,SAACy3yB,EAAQq2M,GACpB,IAAMt9E,EAAY556B,KAClB6gzB,EAAOj1D,YAAYz9uB,MACnB,IAAM44B,EAAe0xqB,EAAS9gpB,KAAKkpvB,EAAOx8hB,UAAUuc,WAAW,CAC7Dq1F,OAAQ,UAEJiioB,EAAqB,SAAAvl3B,GACzBA,EAAIqmxB,WAAW,OAhEH,SAACn4G,EAAQq2M,GAAkB,OAAKA,EAAmB/x/B,MAAM0F,MAAQ,CAAE,CAgExDkruB,CAAQ8qE,EAAQq2M,IACvCvk3B,EAAIqmxB,WAAW,OAhEH,SAACn4G,EAAQq2M,GAAkB,OAAKA,EAAmB/x/B,MAAM0F,MAAQ,CAAE,CAgExDst/B,CAAQt3M,EAAQq2M,GACzC,EAWM/+a,EAAa,SAACxlc,EAAKyl3B,GAGvB977B,EAFgB,CAAC,UAAW,aAAc,OAAQ,QACnC,SAAA9+D,GAAI,OAAIm1I,EAAIqmxB,WAAWx75B,GAAO46/B,EAAS,EAExD,EACMC,EAAsB,SAACv5wB,EAAWnsG,GACtCA,EAAIm3yB,OAAOwuE,EAAcx5wB,EAAWnsG,EAAI71G,WAC1C,EACMy79B,EAAwB,SAAC5l3B,EAAKn1I,GAC9Bm16B,EAASxr0B,QAAQm9L,YAAcquoB,EAAS/gM,WAAWH,YAAuB,SAATj0uB,GAA4B,YAATA,GAA+B,eAATA,IAC5Gm1I,EAAInxG,MAAMhkC,EAEd,EACM8uc,EAAQ,SAAA35T,GACZ/sI,GAAKi7yB,EAAQq2M,GAAoB,GACjC/+a,EAAWxlc,GAAK,GAChBul3B,EAAmBvl3B,EACrB,EACM6l3B,EAAS,SAAA7l3B,GACb,IAAM7tI,EAAO6tI,EAAI71G,UACX4pB,EAAOww8B,EAAmB/x/B,MAChC,GAAKL,EAAK2z/B,SAASt5/B,OAAnB,CAIA,GAAIunD,EAAKpxB,OAASxwB,EAAK2z/B,UAAY/x8B,EAAK+w8B,YAAc3y/B,EAAK4z/B,WAAahy8B,EAAKgx8B,YAAc5y/B,EAAK6z/B,WAC9F5r/B,GAAK8zyB,EAAQq2M,OACR,CACL,IAAMrs/B,EAAQ4kB,GAAKoxxB,EAAQq2M,EAAoBpy/B,EAAK2z/B,SAAU3z/B,EAAK4z/B,UAAW5z/B,EAAK6z/B,WAAY7z/B,EAAK8z/B,aAChG/t/B,GAAS,GACXwt/B,GAAoB,EAAM1l3B,GAE5Bwlc,EAAWxlc,EAAe,IAAV9nI,EAClB,CACAqt/B,EAAmBvl3B,EAVnB,MAFE25T,EAAM35T,EAaV,EACMhtH,EAAeux+B,EAAmB/x/B,MAClCuovB,EAAc,CAClB+qQ,SAAU1x9B,EACV8x9B,YAAa,GACbF,WAAYhz+B,EAAa+x+B,UACzBgB,UAAW/y+B,EAAa8x+B,UACxBmB,YAAajz+B,EAAawx+B,aAEtB2B,EAAgB,SAAAp7/B,GACpB,IAAMknB,EAAQ,CAAC,CACblkB,KAAM,MACNkkB,MAAO,CAAC,CACNlkB,KAAM,QACNlD,KAAM,WACNglC,YAAa,OACbu29B,WAAW,EACXlrB,UAAW,UACV,CACDnt+B,KAAM,SACNlD,KAAM,OACN83B,KAAM,WACNtQ,KAAM,cACN0/I,SAAS,EACTs01B,YAAY,GACX,CACDt4/B,KAAM,SACNlD,KAAM,OACN83B,KAAM,OACNtQ,KAAM,cACN0/I,SAAS,EACTs01B,YAAY,KAEb,CACDt4/B,KAAM,QACNlD,KAAM,cACNglC,YAAa,eACbqr8B,UAAW,WAUb,OARInw+B,GACFknB,EAAMngB,KAAK,CACT/D,KAAM,cACN+8B,MAAO,QACPnI,KAAM,uCACNtQ,KAAM,YAGHJ,CACT,EACM0z+B,EAAgB,SAACW,EAA0BvrQ,GAAW,MAAM,CAChE7wpB,MAAO,mBACPx3F,KAAM,SACNm0D,KAAM,CACJ94D,KAAM,QACNkkB,MAAOk0+B,EAAcG,IAEvB9/tB,QAAS,CAAC,CACRz4R,KAAM,OACNlD,KAAM,UACNwnB,KAAM,cACNq4F,QAAS,cACTgpK,MAAO,QACPzhQ,MAAO,CAAC,CACNlkB,KAAM,iBACNlD,KAAM,YACN83B,KAAM,cACL,CACD50B,KAAM,iBACNlD,KAAM,aACN83B,KAAM,yBACL,CACD50B,KAAM,iBACNlD,KAAM,cACN83B,KAAM,uBAEP,CACD50B,KAAM,SACNlD,KAAM,OACN83B,KAAM,OACNk4tB,SAAS,GACR,CACD9svB,KAAM,SACNlD,KAAM,UACN83B,KAAM,UACNovI,SAAS,GACR,CACDhkK,KAAM,SACNlD,KAAM,aACN83B,KAAM,cACNovI,SAAS,IAEXgplB,cACAnsb,SAAU,SAAC5uL,EAAK6yK,GACVyzsB,GACFZ,GAAoB,EAAO1l3B,GAER,aAAjB6yK,EAAQhoT,MAAuB05/B,EAAmB/x/B,MAAM0F,MAAQ,GAClEyhc,EAAM35T,EAEV,EACAqtL,SAAU,SAACrtL,EAAK6yK,GACd,IAAM1gT,EAAO6tI,EAAI71G,UACjB,OAAQ0oR,EAAQhoT,MACd,IAAK,OACHg7/B,EAAO7l3B,GACP,MACF,IAAK,UACEvyH,GAAQygyB,EAAQq2M,EAAoBpy/B,EAAK+z/B,aAG5CX,EAAmBvl3B,GAFnB25T,EAAM35T,GAIR,MACF,IAAK,aACHvyH,GAAQygyB,EAAQq2M,EAAoBpy/B,EAAK+z/B,aAAa,GAAM,GAC5DvsjB,EAAM35T,GACN,MACF,IAAK,OACH7lI,GAAK+zyB,EAAQq2M,GACbgB,EAAmBvl3B,GACnB,MACF,IAAK,OACH5lI,GAAK8zyB,EAAQq2M,GACbgB,EAAmBvl3B,GACnB,MACF,IAAK,YACL,IAAK,aACL,IAAK,cACH0l3B,GAAoB,EAAO1l3B,GA7KT,SAAAA,GACxB,IAAM7tI,EAAO6tI,EAAI71G,UACXwuH,EAAU4r2B,EAAmB/x/B,MACnC+x/B,EAAmBhy/B,IAAGgH,EAAC,CAAC,EACnBo/I,EAAQ,CACXms2B,UAAW3y/B,EAAK4z/B,UAChBhB,UAAW5y/B,EAAK6z/B,WAChBxB,YAAary/B,EAAK8z/B,cAEtB,CAqKQM,CAAkBvm3B,GAClB25T,EAAM35T,GAGV4l3B,EAAsB5l3B,EAAK6yK,EAAQhoT,KACrC,EACAo56B,SAAU,SAAAjkyB,GACR6l3B,EAAO7l3B,GACP4l3B,EAAsB5l3B,EAAK,OAC7B,EACA6pW,QAAS,WACPqkU,EAAOr/wB,QACP57B,GAAKi7yB,EAAQq2M,GACbr2M,EAAOj1D,YAAYz9uB,KACrB,EACD,EACDyr6B,EAAU106B,IAAI27yB,EAAOjzD,cAAcxkvB,KAAKkv/B,GAAc,EAAO5qQ,GAAc,CACzE1ulB,OAAQ,YAEZ,EAQM0w1B,GAAa,SAAC7uM,EAAQq2M,GAAkB,OAAK,WACjD9t/B,GAAKy3yB,EAAQq2M,EACf,CAAE,EAiBApmF,EAAS3i6B,IAAI,gBAAiB,SAAA0yyB,GAC5B,IAAMq2M,EAAqB/4M,EAAK,CAC9BpzyB,OAAQ,EACRF,MAAO,EACPyqB,KAAM,GACNmi+B,WAAW,EACXC,WAAW,EACXP,aAAa,IAIf,OApCe,SAACt2M,EAAQq2M,GAC1Br2M,EAAO1yD,WAAW,gBAAiB,WACjC/kvB,GAAKy3yB,EAAQq2M,EACf,EACF,CA8BIx3G,CAAW7+F,EAAQq2M,GAzBN,SAACr2M,EAAQq2M,GACxBr2M,EAAO5/X,GAAG5zZ,SAAS874B,YAAY,gBAAiB,CAC9C7z4B,KAAM,sBACN+7N,SAAU,SACV2uE,SAAU0vrB,GAAW7uM,EAAQq2M,GAC7Bly+B,KAAM,WAER67xB,EAAO5/X,GAAG5zZ,SAASy74B,UAAU,gBAAiB,CAC5CzrzB,QAAS,mBACT2iN,SAAU0vrB,GAAW7uM,EAAQq2M,GAC7Bly+B,KAAM,WAER67xB,EAAOtwjB,UAAUpiP,IAAI,SAAU,GAAIuh/B,GAAW7uM,EAAQq2M,GACxD,CAaI975B,CAASyltB,EAAQq2M,GAtST,SAACr2M,EAAQxhuB,GAgBnB,MAAO,CACLz5E,KAhBa,SAAAqy/B,GACb,OAAOry/B,GAAKi7yB,EAAQxhuB,EAAc446B,EACpC,EAeExo+B,KAda,SAAC6F,EAAMmi+B,EAAWC,GAC/B,OAAOjo+B,GAAKoxxB,EAAQxhuB,EAAc/pD,EAAMmi+B,EAAWC,EADE/0/B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,IAAAA,UAAA,GAEvD,EAaEoK,KAZa,WACb,OAAOA,GAAK8zyB,EAAQxhuB,EACtB,EAWEvyE,KAVa,WACb,OAAOA,GAAK+zyB,EAAQxhuB,EACtB,EASEj/D,QARgB,SAACkV,EAAM+yxB,EAASh8yB,GAChC,OAAO+T,GAAQygyB,EAAQxhuB,EAAc/pD,EAAM+yxB,EAASh8yB,EACtD,EAQF,CAgRWlH,CAAI07yB,EAAQq2M,EACrB,EAKL,CAnjCD,GAwjCA,WAGI,IAAIvkF,EAAW/iM,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,yBAwBpC4N,EAFW,SAAA3U,GAAI,OAAI,SAAAV,GAAK,OAZf,SAAAyV,GACb,IATgB+vC,EAAGtF,EACfsJ,EAQEptC,SAAW3G,EACjB,OAAU,OAANA,EACK,OACQ,WAAN2G,GAAkBhH,MAAMC,QAAQI,GAClC,QACQ,WAAN2G,IAAuCshD,EAdlClY,EAcsB/vC,EAAeurC,GAdlCd,EAcsB99C,QAZZzD,UAYkCqiD,EAAMwiW,cAAc9lV,KAThD,QAAxBlU,EAAKhE,EAAEtF,mBAAqC,IAAZsJ,OAAqB,EAAIA,EAAGhsD,QAAU0iD,EAAY1iD,MAUpF,SAEA4e,EAHwC,IAACshD,EAAG1c,CAKvD,CACkCyoB,CAAOzpE,KAAWU,CAAK,CAAD,CAExC+uxB,CAAS,SAEnBK,EAAgB,SAAA7pxB,GAAC,OADJ,SAAAA,GAAC,OAAIA,OAA8B,CAC1B4pxB,CAAW5pxB,EAAG,EACpCklD,EAJe,SAAAzqD,GAAI,OAAI,SAAAV,GAAK,cAAWA,IAAUU,CAAK,CAAD,CAIxCgvxB,CAAa,YAE1BplO,EAAW,SAAAtqjB,GACf,OAAO,WACL,OAAOA,CACT,CACF,EACMmwF,EAAW,SAAA16E,GACf,OAAOA,CACT,EAEMi7wB,EAAQ,WACZ,SAAAA,EAAYz3uB,EAAKj5C,GAAO8Y,EAAA,KAAA43wB,GACtB/vxB,KAAKs4C,IAAMA,EACXt4C,KAAKX,MAAQA,CACf,CAAC,OAAAyZ,EAAAi3wB,EAAA,EAAAzuxB,IAAA,OAAAjC,MAOD,SAAK2wxB,EAAQC,GACX,OAAIjwxB,KAAKs4C,IACA23uB,EAAOjwxB,KAAKX,OAEZ2wxB,GAEX,GAAC,CAAA1uxB,IAAA,SAAAjC,MACD,WACE,OAAOW,KAAKs4C,GACd,GAAC,CAAAh3C,IAAA,SAAAjC,MACD,WACE,OAAQW,KAAKs4C,GACf,GAAC,CAAAh3C,IAAA,MAAAjC,MACD,SAAI6wxB,GACF,OAAIlwxB,KAAKs4C,IACAy3uB,EAASpyvB,KAAKuyvB,EAAOlwxB,KAAKX,QAE1B0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,OAAAjC,MACD,SAAK8wxB,GACH,OAAInwxB,KAAKs4C,IACA63uB,EAAOnwxB,KAAKX,OAEZ0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAOjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACpC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAQjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACrC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAKjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,OACvBW,KAEA+vxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,QAAAjC,MACD,SAAMovI,GACJ,OAAOzuI,KAAKs4C,IAAMt4C,KAAKX,MAAQovI,CACjC,GAAC,CAAAntI,IAAA,KAAAjC,MACD,SAAGovI,GACD,OAAOzuI,KAAKs4C,IAAMt4C,KAAOyuI,CAC3B,GAAC,CAAAntI,IAAA,aAAAjC,MACD,SAAW+wxB,GACT,OAAOpwxB,KAAKs4C,IAAMt4C,KAAKX,MAAQ+wxB,GACjC,GAAC,CAAA9uxB,IAAA,UAAAjC,MACD,SAAQ+wxB,GACN,OAAOpwxB,KAAKs4C,IAAMt4C,KAAOowxB,GAC3B,GAAC,CAAA9uxB,IAAA,WAAAjC,MACD,SAASsK,GACP,GAAK3J,KAAKs4C,IAGR,OAAOt4C,KAAKX,MAFZ,MAAM,IAAIK,MAAMiK,QAAyCA,EAAU,0BAIvE,GAAC,CAAArI,IAAA,YAAAjC,MAID,WACE,OAAOW,KAAKs4C,IAAMt4C,KAAKX,MAAQ,IACjC,GAAC,CAAAiC,IAAA,iBAAAjC,MACD,WACE,OAAOW,KAAKX,KACd,GAAC,CAAAiC,IAAA,OAAAjC,MACD,SAAKgxxB,GACCrwxB,KAAKs4C,KACP+3uB,EAAOrwxB,KAAKX,MAEhB,GAAC,CAAAiC,IAAA,UAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,CAACt4C,KAAKX,OAAS,EACnC,GAAC,CAAAiC,IAAA,WAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,QAAQ92C,OAAOxB,KAAKX,MAAO,KAAO,QACtD,IAAC,EAAAiC,IAAA,OAAAjC,MApFD,SAAYA,GACV,OAAO,IAAI0wxB,GAAS,EAAM1wxB,EAC5B,GAAC,CAAAiC,IAAA,OAAAjC,MACD,WACE,OAAO0wxB,EAAShhD,aAClB,GAAC,CAAAztuB,IAAA,OAAAjC,MA4DD,SAAYA,GACV,OAAO8vxB,EAAc9vxB,GAAS0wxB,EAASpyvB,KAAKt+B,GAAS0wxB,EAAS/gX,MAChE,IAAC,CAxEW,GA2Fd+gX,EAAShhD,cAAgB,IAAIghD,GAAS,GAEtC,IAAMQ,EAAgB97wB,MAAMzW,UAAUgB,QAEhCi+G,EAAW,SAAC4mJ,EAAI/uP,GAAC,OADJ,SAACy0V,EAAI9tV,GAAC,OAAK80wB,EAAc/wxB,KAAK+pW,EAAI9tV,EAAG,CAC5Bg1wB,CAAW5shB,EAAI/uP,IAAM,CAAE,EAU7C6mD,EAAO,SAACkoM,EAAI1+P,GAChB,IAAK,IAAIpG,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAE7CoG,EADU0+P,EAAG9kQ,GACRA,EACP,CACF,EAmCMywuB,EAAU,SAAAhprB,GACd,GAAIA,QACF,MAAM,IAAI9mD,MAAM,oCAElB,MAAO,CACLy/c,IAAK34Z,EAET,EAEMuyuB,EAAe,CACnB1pD,SA/Be,SAACrjX,EAAMrgD,GACtB,IACMnhS,GADMmhS,GAAS1lT,UACL6F,cAAc,OAE9B,GADA0e,EAAIC,UAAYuhV,GACXxhV,EAAIw6P,iBAAmBx6P,EAAI7J,WAAWniC,OAAS,EAAG,CACrD,IAAMmL,EAAU,wCAEhB,MADA7M,QAAQC,MAAM4M,EAASqiX,GACjB,IAAItsX,MAAMiK,EAClB,CACA,OAAO6luB,EAAQhlsB,EAAI7J,WAAW,GAChC,EAsBE2usB,QArBc,SAACh3rB,EAAKqzR,GACpB,IACMnlR,GADMmlR,GAAS1lT,UACJ6F,cAAcwsB,GAC/B,OAAOk3rB,EAAQhprB,EACjB,EAkBE+orB,SAjBe,SAAC56sB,EAAMg3S,GACtB,IACMnlR,GADMmlR,GAAS1lT,UACJwgC,eAAe9xB,GAChC,OAAO66sB,EAAQhprB,EACjB,EAcEgprB,UACAC,UANgB,SAACupD,EAAQlkxB,EAAGC,GAAC,OAAKg7wB,EAASxquB,KAAKyzuB,EAAO75U,IAAIzJ,iBAAiB5gc,EAAGC,IAAI5F,IAAIqguB,EAAS,GAShF,oBAAX7tuB,OAAyBA,OAAS0wC,SAAS,eAATA,GAEzC,IACM07C,EAAS,SAAAtyE,GAAC,OAAI,SAAAm7F,GAAO,OADd,SAAAA,GAAO,OAAIA,EAAQuoW,IAAIn0X,QAAS,CACdjrF,CAAK62G,KAAan7F,CAAE,CAAD,EAC5CkuxB,EAAa57sB,EA7CF,GA8CXgxsB,EAAqBhxsB,EA7CD,IAgDpBqrsB,EAAkB,SAAAC,GAAG,OAAIsQ,EAAWtQ,GAAOA,GADnCzirB,EAC+CyirB,EADpCN,EAAavpD,QAAQ54nB,EAAQuoW,IAAI9uC,gBAA5C,IAAAz5T,CACoD,EAC5D35B,EAAW,SAAA25B,GAAO,OA3EZ,SAACitJ,EAAI1+P,GAGf,IAFA,IAAM1G,EAAMolQ,EAAGrlQ,OACTorD,EAAI,IAAIn1C,MAAMhW,GACXM,EAAI,EAAGA,EAAIN,EAAKM,IAAK,CAC5B,IAAM+V,EAAI+uP,EAAG9kQ,GACb6qD,EAAE7qD,GAAKoG,EAAE2P,EAAG/V,EACd,CACA,OAAO6qD,CACT,CAmE4Bz6C,CAAIynG,EAAQuoW,IAAIx+a,WAAYo4vB,EAAavpD,QAAS,EAExEt5kB,EAAS,SAAChwG,EAAQ0wD,GACtB1wD,EAAOi5Z,IAAI1la,YAAYm9D,EAAQuoW,IACjC,EAIMj7U,EADY15E,EAAW0yN,QAAQl/Q,UAAUkvO,eAAiB1iL,EAAW4sD,KAAKp5G,UAAUkmI,aAC1D,SAAAtnI,GAAC,OAAIm8xB,EAAavpD,QAAQ5yuB,EAAEuid,IAAIj7U,cAAc,EAAGk1pB,EAC3Ew6C,EAAsB,SAAAv6C,GAAG,OAHV,SAAAA,GAAG,OAAI0F,EAAmB1F,IAAQlK,EAAckK,EAAIl6U,IAAIn9b,KAAM,CAGhDmqW,CAAakta,GAAOA,EAAMN,EAAavpD,QAAQ4pD,EAAgBC,GAAKl6U,IAAItmZ,KAAM,EAG3GyyrB,EAAU,SAAAj+b,GACd,IAAM9nT,EAAI8nT,EAAI8xJ,IAAItmZ,KAClB,GAAItzD,QACF,MAAM,IAAI7F,MAAM,6BAElB,OAAOq5xB,EAAavpD,QAAQjquB,EAC9B,EAGMiz/B,EADa,SAAA37/B,GAAI,OAAI8sjB,EAAS,SAAW9sjB,EAAM,CAC/B47/B,CAAW,mBAK3BC,EAAe,SAACx63B,EAAWp1H,EAAQD,EAAOnM,GAC9C,IAAMyH,EAAIoH,EAAA,CACRzC,UACGpM,GAELwhI,EAAUy63B,YAAYp0a,aAAa17kB,EAAOC,EAAQ3E,EACpD,EAEMR,EAAO5F,OAAO4F,KAiEdslzB,EA/Da,SAAAC,GACjB,IAAKx0yB,EAAQw0yB,GACX,MAAM,IAAIxpzB,MAAM,0BAElB,GAAqB,IAAjBwpzB,EAAM1qzB,OACR,MAAM,IAAIkB,MAAM,mCAElB,IAAMoyuB,EAAe,GACfq3E,EAAM,CAAC,EAqDb,OApDAxtvB,EAAKutvB,EAAO,SAACE,EAAOl/yB,GAClB,IAAMgtC,EAASvzC,EAAKylzB,GACpB,GAAsB,IAAlBlywB,EAAO14C,OACT,MAAM,IAAIkB,MAAM,kCAElB,IAAM4B,EAAM41C,EAAO,GACb73C,EAAQ+pzB,EAAM9nzB,GACpB,QAAiBoE,IAAbyjzB,EAAI7nzB,GACN,MAAM,IAAI5B,MAAM,0BAA4B4B,GACvC,GAAY,SAARA,EACT,MAAM,IAAI5B,MAAM,yCACX,IAAKgV,EAAQrV,GAClB,MAAM,IAAIK,MAAM,mCAElBoyuB,EAAahuuB,KAAKxC,GAClB6nzB,EAAI7nzB,GAAO,WAAc,IAAD,IAAAs3/B,EAAA52/B,UAAAxD,OAATuV,EAAI,IAAAU,MAAAmk/B,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJ9k/B,EAAI8k/B,GAAA72/B,UAAA62/B,GACjB,IAAMtvM,EAAYx1yB,EAAKvV,OACvB,GAAI+qzB,IAAclqzB,EAAMb,OACtB,MAAM,IAAIkB,MAAM,qCAAuC4B,EAAM,cAAgBjC,EAAMb,OAAS,KAAOa,EAAQ,UAAYkqzB,GAezH,MAAO,CACL94E,KAAM,WAAkB,IAAD,IAAAqoR,EAAA92/B,UAAAxD,OAAbirzB,EAAQ,IAAAh1yB,MAAAqk/B,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAARtvM,EAAQsvM,GAAA/2/B,UAAA+2/B,GAChB,GAAItvM,EAASjrzB,SAAW0qzB,EAAM1qzB,OAC5B,MAAM,IAAIkB,MAAM,+CAAiDwpzB,EAAM1qzB,OAAS,SAAWirzB,EAASjrzB,QAGtG,OADeirzB,EAASv/yB,GACVlC,MAAM,KAAM+L,EAC5B,EACApT,MArBY,SAAAgpzB,GACZ,IAAMC,EAAajmzB,EAAKgmzB,GACxB,GAAI73E,EAAatzuB,SAAWorzB,EAAWprzB,OACrC,MAAM,IAAIkB,MAAM,iDAAmDoyuB,EAAahmrB,KAAK,KAAO,aAAe89vB,EAAW99vB,KAAK,MAK7H,IArIO,SAAC+3M,EAAIiye,GAClB,IAAK,IAAI/2uB,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,IAAOM,EAE1C,IAAmB,IAAf+2uB,EADMjye,EAAG9kQ,GACDA,GACV,OAAO,EAGX,OAAO,CACT,CA0HwBq1uB,CAAOtC,EAAc,SAAA+3E,GACnC,OAAO5ssB,EAAS2ssB,EAAYC,EAC9B,GAEE,MAAM,IAAInqzB,MAAM,gEAAkEkqzB,EAAW99vB,KAAK,MAAQ,eAAiBgmrB,EAAahmrB,KAAK,OAE/I,OAAO69vB,EAASrozB,GAAK0G,MAAM,KAAM+L,EACnC,EAUEi5C,IAAK,SAAAn9B,GACH/yB,QAAQkwD,IAAIn9B,EAAO,CACjBiitB,eACAvyrB,YAAaj+C,EACbk9E,OAAQzqE,GAEZ,EAEJ,CACF,GACOo1yB,CACT,EAKAF,EAAa,CAAC,CACZ7xE,WAAY,CAAC,SAAU,WACtB,CACDC,WAAY,CAAC,SAAU,WACtB,CACDC,YAAa,CAAC,SAAU,WACvB,CACDC,WAAY,CAAC,SAAU,cAIR,WACf,IACM1+pB,GADO,IAAIx1E,MACCo0E,UACH/6D,KAAKC,MAAsB,IAAhBD,KAAKo2B,UAESrxC,OAAOo3E,EACjD,CAEAiG,CAAS,iBAET,IAwCIk66B,EAxCEC,EAAgB,SAAA/63B,GACpB,IAAMjhD,EAAWihD,EAAUmkF,aAC3B1mJ,EAAKshB,EAAUg86B,GAvGJ,SAAC/63B,EAAWr1H,GACvB6v/B,EAAax63B,EAAWA,EAAUtnB,QAAS/tG,EAAO,CAAC,EACrD,CAsGE6/C,CAAKw1E,EAAWs63B,IAClB,EAKMU,EAAmB,SAACti5B,EAASui5B,EAAWC,GAC5CA,EAASxi5B,EAASui5B,EAAUvi5B,SAC5B,IAAM8irB,EAAaz8sB,EAASk86B,EAAUvi5B,SACtCj7C,EAAK+9tB,EAAY,SAAAv5sB,GACfg56B,EAAUE,SAASl56B,GAAOxkB,KAAKs97B,EACjC,EACF,EAIInhT,EAAWm3B,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,gCAEtCsrC,EAAS68rB,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,yBAkBpCwy/B,GAAa,EAEXC,EAAqB,WACpBP,KACHA,EA1BsBjgO,EAAavpD,QAAQvptB,UA0BnBk5b,IAAIrzb,cALH,qBAMjBohN,aAAa,CACnB/jO,KAAM,SAER+sJ,EAhKeo1lB,EAAQytC,EAAavpD,QAAQvptB,WAgK7B8ywB,EAAavpD,QAAQwpR,IAExC,EACMQ,EAAW,SAAAt5M,GACf,IAAKo5M,GAAcN,EAAS,CAC1B,IACE52+B,EACE42+B,EADF52+B,WAEF,IAAKA,EAAY,OACjB,IAAM+1xB,EAAmBrgG,EAAS11rB,EAAY,CAC5CkmxB,eAAgB4X,EAAO3huB,SAAS,oBAChCgqtB,eAAgB2X,EAAO3huB,SAAS,kBAAmB,GAAI,YAEnDk76B,EAAgB,GAAGj4/B,OArCV,SAAA0+yB,GACjB,IAAMw5M,EAAOx5M,EAAOl6yB,QAAQxB,IAAI,QAC5B652B,EAAUn+D,EAAOl6yB,QAAQxB,IAAI,YACjC,IAAa,IAATk1/B,EAAgB,CAClB,IAAMC,EAAWD,GAAc,QAE7Br7I,EADEA,EACQn+D,EAAOu+D,gBAAgBC,WAAWL,GAElCjs0B,EAAOqsrB,QAAU,aAAek7R,CAE9C,CACA,OAAOt7I,CACT,CAyBoCu7I,CAAW15M,GAAS,kBACrB,IAzBZ,SAAAA,GAAM,OAAmC,IAA/BA,EAAOl6yB,QAAQxB,IAAI,OAAkB,CAyB9Dq1/B,CAAe35M,IACjB/H,EAAiB9roB,KAAKot1B,GAExBH,GAAa,CACf,CACF,EACMQ,EAAW,SAAC55M,EAAQh6vB,GACxB,GAAKA,EAAL,CACA,IAAMiiC,EAAO4wsB,EAAavpD,QAAQtprB,GAC5B6z8B,EAASnmL,EAAoB1vsB,EAAY/7C,IACzC6x6B,EAAe95M,EAAO3urB,MAAM+uT,GAAG25kB,mBAChCF,EAAO56iB,IAAIliW,SAAS+84B,EAAapj5B,QAAQuoW,MAjE9C+5iB,EAkEea,EAAQC,EAlEc9j2B,GAoErC,IAAMh2I,EAAQ85+B,EAAapj5B,QAAQuoW,IAAIj/b,MACvCA,EAAME,OAAS,QACfF,EAAMC,SAAW,WACjBD,EAAMvB,MAAQ,MAVK,CAWrB,EACMu7+B,EAAY,SAAAh6M,GACZ84M,GAASc,EAAS55M,EAAQ84M,EAAQ52+B,WACxC,EACM+3+B,EAAc,SAAAj6M,GAClB45M,EAAS55M,EAAQA,EAAO/moB,aAC1B,EAwCMih1B,EAAkBzwc,EAAS,kBA+B7Bz/iB,EAAQ,EAQN6wQ,EAAO,SAAAn7O,GACX,OAAOA,EAAS11B,KAPVo5nB,EAAM,WACV,OAAO5mnB,KAAKs8F,MAAsB,WAAhBt8F,KAAKo2B,UAAuBh1C,SAAS,GACzD,EAEO,KADK,IAAIuF,MAAOo0E,UACN35E,SAAS,IAAMwloB,IAAQA,IAAQA,KALrC,IACLA,CAQR,EAGM3lU,EAAU,IAAI52P,QACdsz7B,EAAY,IAAIh2/B,IAgBhBi2/B,EAAgB,SAAAp6M,GACpB,IAAM1+vB,EAAU448B,IAChBl6M,EAAO3urB,MAAM+uT,GAAG25kB,mBAAmBM,YAAY,CAAC/48B,GAAU,CACxD14C,OAAQo3yB,EAAO3urB,MAAM+uT,GAAG25kB,mBAAmBrj5B,UAE7CspsB,EAAO5iyB,SAAS,+BAClB,EACMk9+B,EAlEW,SAACl7/B,EAAUu5E,GAC1B,IAAIrK,EAAU,KACV48f,GAAY,EACZqvb,GAAU,EACRl17B,EAAO,WAAoB,IAAD,IAAAm17B,EAAA14/B,UAAAxD,OAANuV,EAAI,IAAAU,MAAAim/B,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJ5m/B,EAAI4m/B,GAAA34/B,UAAA24/B,GAC5B,IAAM52+B,EAAU/jB,KAEhB,OADAorkB,IAAc58f,EACP,IAAI3nE,QAAQ,SAAAC,GAOjB2z/B,GAAU,EACV7p9B,aAAa49B,GACbA,EAAUpjC,WARI,WACZojC,EAAU,KACN48f,GACF9rkB,EAAS0I,MAAM+b,EAAShQ,GAAMjS,KAAK,SAAAqC,GAAI,OAAKs2/B,GAAW3z/B,EAAQ3C,EAAK,EAExE,EAG4B00E,GACvBuyf,GACH9rkB,EAAS0I,MAAM+b,EAAShQ,GAAMjS,KAAK,SAAAqC,GAAI,OAAKs2/B,GAAW3z/B,EAAQ3C,EAAK,EAExE,EACF,EAKA,OAJAohE,EAAK/4D,KAAO,WACViu/B,GAAU,EACV7p9B,aAAa49B,EACf,EACOjJ,CACT,CAuCsBnoD,CAAS,SAAAw4B,GAAM,OAAI,IAAI/uC,QAAQ,WACnD,QAAA0nhB,EAAA,EAAAqse,EAAkCnm/B,MAAM8wC,KAAK808B,EAAUnn/B,WAAUq7gB,EAAAqse,EAAAp8/B,OAAA+vhB,IAAE,CAA9D,IAAAsse,EAAAhg/B,EAAA+/+B,EAAArse,GAAA,GAAO2xR,EAAM26M,EAAA,GAAWA,EAAA,GACb77/B,QAAQ42C,IAAW,IAC/B0k9B,EAAcp6M,GACdi6M,EAAYj6M,GACZA,EAAO6lB,cAEX,CACF,EAAE,EAAE,KACErkiB,EAAiB,SAAA74R,GACrB,IAAAiy/B,EAAiBjy/B,EAAM4d,eAAhBmvB,EAA8B/6B,EAAAig/B,EAAA,GAAxB,GACbN,EAAc5k9B,EAChB,EAWMml9B,EAAkB,SAAA76M,GACtB,IAAM86M,EAAmB96M,EAAO/3Q,eAChC,OAAAn4gB,EAAWgr+B,EAAiBph5B,iBAAiB,qJAC/C,EAWMqh5B,EAA+B,SAAA/6M,GACnC,IAC4BhltB,EADYC,EAAAr2F,EAAxBi2/B,EAAgB76M,IACJ,IAA5B,IAAA/ktB,EAAAp2F,MAAAm2F,EAAAC,EAAAn2F,KAAAC,MAA8B,CAAbi2F,EAAA77F,MACR0oB,iBAAiB,QAAS,WAC/Bmy+B,EAAUh6M,EACZ,EACF,CAAC,OAAAh7yB,GAAAi2F,EAAAv+F,EAAAsI,EAAA,SAAAi2F,EAAAh2F,GAAA,CACD+6yB,EAAOlnuB,GAAG,cAAe,WACvBmh7B,EAAYj6M,EACd,EACF,EACMg7M,EAAwB,SAAAnh5B,GAAS,SAAAv4G,OAAAwuB,EAAQ+pF,EAAU5qG,IAAI,SAAAyuB,GAAE,OAAIA,EAAGxb,UAAU,GAAE2U,OAAOy4D,IAAS,CAAE7tF,QAAM,EACpGs5Q,EAA2B,SAAAiliB,GAC/B,IAxEoBtpsB,EAwEd9tG,EAASo3yB,EAAO/3Q,gBAxEFvxb,EAyEN9tG,EAzEiB,IAAIjC,QAAQ,SAAAC,GAC3C,IAAM+qB,EAAYkpP,EAJC,4BAKbC,EAAe,SAAAp+Q,GACnB+E,OAAOmmB,oBAAoB+J,EAAWmpP,GACtC,IAAMj7P,EAAOnjB,EAAE6pB,eACf3f,EAAQ,GAADtF,OAAAwuB,EAAKjQ,EAAKgX,OAAO,SAAA/xB,GAAC,OAAIA,IAAM4xG,GAAW5xG,EAAEgmF,WAAaosB,KAAKC,YAAY,IAAC,CAAEpxF,SAAUtkB,SAC7F,EACAA,OAAOomB,iBAAiB8J,EAAWmpP,GACnC,IAAMnyQ,EAAQ,IAAIlH,OAAOspE,YAAYp5C,EAAW,CAC9Cy3C,SAAS,EACTgpK,UAAU,EACV/oK,YAAY,IAEdqtC,EAAQhsC,cAAc/hE,EACxB,IA2DwB/G,KAAK,SAAAi4G,GACzB,IACwBoh5B,EADuBC,EAAAt2/B,EAAjCo2/B,EAAsBnh5B,IACZ,IAAxB,IAAAqh5B,EAAAr2/B,MAAAo2/B,EAAAC,EAAAp2/B,KAAAC,MAA0B,CAAC,IAAhB+c,EAAIm5+B,EAAA97/B,MACTg8/B,EAAY19rB,EAAQn5T,IAAIwd,GACvBq5+B,IACHr5+B,EAAK+F,iBAAiB,SAAU25Q,GAAgB,GAChD25tB,EAAY,IAAI707B,IAChBm3P,EAAQp5T,IAAIyd,EAAMq5+B,IAEpBA,EAAU7t/B,IAAI0yyB,EAChB,CAAC,OAAAh7yB,GAAAk2/B,EAAAx+/B,EAAAsI,EAAA,SAAAk2/B,EAAAj2/B,GAAA,CACDk1/B,EAAU91/B,IAAI27yB,EAAQnmsB,EACxB,EACF,EAiBEi4zB,EAASxk6B,IAAI,gBAAiB,SAAA0yyB,GAC5BA,EAAOlnuB,GAAG,OAAQ,YA7LH,SAAAknuB,GACjBq5M,IACAC,EAASt5M,EACX,CA2LMo7M,CAAWp7M,GAxDgC,SAAAA,GAC/C,IAAMgB,EAAe,WAEI,IADP65M,EAAgB76M,GACpB1hzB,SACVy8/B,EAA6B/6M,GAC7BA,EAAOl7tB,IAAI,aAAck8tB,GAE7B,EACAhB,EAAOlnuB,GAAG,aAAckouB,EAC1B,CAgDMq6M,CAAyCr7M,GACzCjliB,EAAyBiliB,GAxEL,SAAAA,GACxB,IAAMs7M,EAAUt7M,EAAOjzD,cAAcxkvB,KACrCy3yB,EAAOjzD,cAAcxkvB,KAAO,WAC1Byx/B,EAAUh6M,GAAQ,QAAAu7M,EAAAz5/B,UAAAxD,OADYuV,EAAI,IAAAU,MAAAgn/B,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJ3n/B,EAAI2n/B,GAAA15/B,UAAA05/B,GAElC,OAAOF,EAAQxz/B,MAAMk4yB,EAAQnsyB,EAC/B,EACAmsyB,EAAOlnuB,GAAG,cAAe,WACvBmh7B,EAAYj6M,EACd,EACF,CAgEMy7M,CAAkBz7M,GA3Ke,SAAAA,GACrCA,EAAOlnuB,GAAG,yBAA0B,SAAA4rR,GAC7BA,EAALzmV,OANyB,SAAA+hyB,GAC3B,IAAMr4F,EAAgBq4F,EAAOhzD,oBAAoBsvH,mBACjD,OAAO30J,aAA0D,EAAIA,EAAcrptB,MACrF,CAKiBo9/B,CAAqB17M,GAChCg6M,EAAUh6M,GAEVi6M,EAAYj6M,EAEhB,GACAA,EAAOlnuB,GAAG,yBAA0B,YAjBjB,SAAAknuB,GACnB,OAAOA,EAAO/3uB,QAAQvnD,YAAcs/xB,EAAO/3uB,QAAQvnD,WAAW89F,cAChE,EAgBQm94B,CAAa37M,IACfg6M,EAAUh6M,EAEd,EACF,CA6JM47M,CAA+B57M,EACjC,GACAA,EAAOlnuB,GAAG,SAAU,YAhMJ,SAAAknuB,GAClB,GAAK84M,EAAL,CACA94M,EAAO3urB,MAAM+uT,GAAG25kB,mBAAmBxt2B,UACnC,IAAMw4wB,EAAU7y3B,EAAO5tC,OACA,IAAnByg6B,EAAQzm6B,QAAmC,IAAnBym6B,EAAQzm6B,QAAgBym6B,EAAQ,KAAO/kH,KACjE84M,EAAQ7v+B,SACR6v+B,EAAU,KACVM,GAAa,EANK,CAQtB,CAwLMyC,CAAY77M,GAzBkB,SAAAA,GAClC,IAAMnmsB,EAAYsg5B,EAAU71/B,IAAI07yB,GAChC,GAAKnmsB,EAAL,CACA,IACwBii5B,EADuBC,EAAAn3/B,EAAjCo2/B,EAAsBnh5B,IACZ,IAAxB,IAAAki5B,EAAAl3/B,MAAAi3/B,EAAAC,EAAAj3/B,KAAAC,MAA0B,CAAC,IAAhB+c,EAAIg6+B,EAAA38/B,MACPg8/B,EAAY19rB,EAAQn5T,IAAIwd,GAC9Bq5+B,SAAsDA,EAAUpx/B,OAAOi2yB,GAClEm7M,GAAgC,IAAnBA,EAAU32/B,OAC1Bsd,EAAK8F,oBAAoB,SAAU45Q,GAAgB,GACnDi8B,EAAQ1zT,OAAO+X,GAEnB,CAAC,OAAA9c,GAAA+2/B,EAAAr//B,EAAAsI,EAAA,SAAA+2/B,EAAA92/B,GAAA,CACDk1/B,EAAUpw/B,OAAOi2yB,EAVK,CAWxB,CAaM/kiB,CAA4B+kiB,EAC9B,EACF,EAKL,CAnnBD,GAwnBA,WAGI,IAAIiwH,EAAWlhM,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,yBAsBpCgoxB,EAAW,SAAA/uxB,GAAI,OAAI,SAAAV,GAAK,OAZf,SAAAyV,GACb,IATgB+vC,EAAGtF,EACfsJ,EAQEptC,SAAW3G,EACjB,OAAU,OAANA,EACK,OACQ,WAAN2G,GAAkBhH,MAAMC,QAAQI,GAClC,QACQ,WAAN2G,IAAuCshD,EAdlClY,EAcsB/vC,EAAeurC,GAdlCd,EAcsB99C,QAZZzD,UAYkCqiD,EAAMwiW,cAAc9lV,KAThD,QAAxBlU,EAAKhE,EAAEtF,mBAAqC,IAAZsJ,OAAqB,EAAIA,EAAGhsD,QAAU0iD,EAAY1iD,MAUpF,SAEA4e,EAHwC,IAACshD,EAAG1c,CAKvD,CACkCyoB,CAAOzpE,KAAWU,CAAK,CAAD,EAClDgvxB,EAAe,SAAAhvxB,GAAI,OAAI,SAAAV,GAAK,cAAWA,IAAUU,CAAK,CAAD,EAErDizE,EAAW87sB,EAAS,UACpBp6wB,EAAUo6wB,EAAS,SACnBnzmB,EAAYozmB,EAAa,WACzBv+lB,EAJO,SAAA/0K,GAAC,OAAI,SAAAnW,GAAC,OAAImW,IAAMnW,CAAE,CAAD,CAIV0pxB,MAAKtpxB,GAEnBypxB,EAAgB,SAAA7pxB,GAAC,OADJ,SAAAA,GAAC,OAAIA,OAA8B,CAC1B4pxB,CAAW5pxB,EAAG,EACpCklD,EAAaukuB,EAAa,YAC1Bp3pB,EAAWo3pB,EAAa,UAExBtkqB,EAAO,WAAO,EAEdk/b,EAAW,SAAAtqjB,GACf,OAAO,WACL,OAAOA,CACT,CACF,EACMmwF,EAAW,SAAA16E,GACf,OAAOA,CACT,EACM26wB,EAAe,SAACnqxB,EAAGC,GACvB,OAAOD,IAAMC,CACf,EACA,SAASwljB,EAAMp+iB,GAAqB,IAAD,IAAAuv/B,EAAAl6/B,UAAAxD,OAAbkxxB,EAAW,IAAAj7wB,MAAAyn/B,EAAA,EAAAA,EAAA,KAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAXzsO,EAAWysO,EAAA,GAAAn6/B,UAAAm6/B,GAC/B,OAAO,WAAkB,IAAD,IAAAC,EAAAp6/B,UAAAxD,OAAbmxxB,EAAQ,IAAAl7wB,MAAA2n/B,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAR1sO,EAAQ0sO,GAAAr6/B,UAAAq6/B,GACjB,IAAM3w/B,EAAMgkxB,EAAYluxB,OAAOmuxB,GAC/B,OAAOhjxB,EAAG3E,MAAM,KAAM0D,EACxB,CACF,CACA,IAAMlM,EAAO,SAAA2F,GACXA,GACF,EACM2qxB,EAAQnmO,GAAS,GACjBhwM,EAASgwM,GAAS,GAElBomO,EAAQ,WACZ,SAAAA,EAAYz3uB,EAAKj5C,GAAO8Y,EAAA,KAAA43wB,GACtB/vxB,KAAKs4C,IAAMA,EACXt4C,KAAKX,MAAQA,CACf,CAAC,OAAAyZ,EAAAi3wB,EAAA,EAAAzuxB,IAAA,OAAAjC,MAOD,SAAK2wxB,EAAQC,GACX,OAAIjwxB,KAAKs4C,IACA23uB,EAAOjwxB,KAAKX,OAEZ2wxB,GAEX,GAAC,CAAA1uxB,IAAA,SAAAjC,MACD,WACE,OAAOW,KAAKs4C,GACd,GAAC,CAAAh3C,IAAA,SAAAjC,MACD,WACE,OAAQW,KAAKs4C,GACf,GAAC,CAAAh3C,IAAA,MAAAjC,MACD,SAAI6wxB,GACF,OAAIlwxB,KAAKs4C,IACAy3uB,EAASpyvB,KAAKuyvB,EAAOlwxB,KAAKX,QAE1B0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,OAAAjC,MACD,SAAK8wxB,GACH,OAAInwxB,KAAKs4C,IACA63uB,EAAOnwxB,KAAKX,OAEZ0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAOjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACpC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAQjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACrC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAKjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,OACvBW,KAEA+vxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,QAAAjC,MACD,SAAMovI,GACJ,OAAOzuI,KAAKs4C,IAAMt4C,KAAKX,MAAQovI,CACjC,GAAC,CAAAntI,IAAA,KAAAjC,MACD,SAAGovI,GACD,OAAOzuI,KAAKs4C,IAAMt4C,KAAOyuI,CAC3B,GAAC,CAAAntI,IAAA,aAAAjC,MACD,SAAW+wxB,GACT,OAAOpwxB,KAAKs4C,IAAMt4C,KAAKX,MAAQ+wxB,GACjC,GAAC,CAAA9uxB,IAAA,UAAAjC,MACD,SAAQ+wxB,GACN,OAAOpwxB,KAAKs4C,IAAMt4C,KAAOowxB,GAC3B,GAAC,CAAA9uxB,IAAA,WAAAjC,MACD,SAASsK,GACP,GAAK3J,KAAKs4C,IAGR,OAAOt4C,KAAKX,MAFZ,MAAM,IAAIK,MAAMiK,QAAyCA,EAAU,0BAIvE,GAAC,CAAArI,IAAA,YAAAjC,MAID,WACE,OAAOW,KAAKs4C,IAAMt4C,KAAKX,MAAQ,IACjC,GAAC,CAAAiC,IAAA,iBAAAjC,MACD,WACE,OAAOW,KAAKX,KACd,GAAC,CAAAiC,IAAA,OAAAjC,MACD,SAAKgxxB,GACCrwxB,KAAKs4C,KACP+3uB,EAAOrwxB,KAAKX,MAEhB,GAAC,CAAAiC,IAAA,UAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,CAACt4C,KAAKX,OAAS,EACnC,GAAC,CAAAiC,IAAA,WAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,QAAQ92C,OAAOxB,KAAKX,MAAO,KAAO,QACtD,IAAC,EAAAiC,IAAA,OAAAjC,MApFD,SAAYA,GACV,OAAO,IAAI0wxB,GAAS,EAAM1wxB,EAC5B,GAAC,CAAAiC,IAAA,OAAAjC,MACD,WACE,OAAO0wxB,EAAShhD,aAClB,GAAC,CAAAztuB,IAAA,OAAAjC,MA4DD,SAAYA,GACV,OAAO8vxB,EAAc9vxB,GAAS0wxB,EAASpyvB,KAAKt+B,GAAS0wxB,EAAS/gX,MAChE,IAAC,CAxEW,GA2Fd+gX,EAAShhD,cAAgB,IAAIghD,GAAS,GAEtC,IAAMpsxB,EAAO5F,OAAO4F,KACdH,EAAiBzF,OAAOyF,eACxB2l6B,EAAS,SAAC5r4B,EAAKp4B,GAEnB,IADA,IAAMwnC,EAAQhpC,EAAK45B,GACV4f,EAAI,EAAG1+C,EAAMkuC,EAAMnuC,OAAQ2+C,EAAI1+C,EAAK0+C,IAAK,CAChD,IAAMp+C,EAAI4tC,EAAMwQ,GAEhBh4C,EADUo4B,EAAIx+B,GACTA,EACP,CACF,EASMo84B,EAAW,SAAC592B,EAAKu4sB,GACrB,IATalsrB,EASPnuC,EAAI,CAAC,EAEX,OARqB,SAAC8hB,EAAKu4sB,EAAMk8C,EAAQC,GACzCk3I,EAAO5r4B,EAAK,SAACzoB,EAAG/V,IACb+2uB,EAAKhhuB,EAAG/V,GAAKizxB,EAASC,GAASn9wB,EAAG/V,EACrC,EACF,CAGEgzxB,CAAex0vB,EAAKu4sB,GAVPlsrB,EAUoBnuC,EAVf,SAAC3G,EAAG/V,GACtB6qD,EAAE7qD,GAAK+V,CACT,GAQuC21G,GAC9BhvG,CACT,EAQMmlC,EAAS,SAAArjB,GACb,OARiB,SAACA,EAAKp4B,GACvB,IAAMykD,EAAI,GAIV,OAHAu/2B,EAAO5r4B,EAAK,SAACl+B,EAAOxC,GAClB+sD,EAAE9lD,KAAKqB,EAAE9F,EAAOxC,GAClB,GACO+sD,CACT,CAESotgB,CAAWz5hB,EAAKiyD,EACzB,EACM9qF,EAAO,SAAA64B,GACX,OAAO55B,EAAK45B,GAAK/+B,MACnB,EACM0+xB,EAAQ,SAAC3/vB,EAAKj8B,GAClB,OAAOgD,EAAIi5B,EAAKj8B,GAAOyuxB,EAASxquB,KAAKhoB,EAAIj8B,IAAQyuxB,EAAS/gX,MAC5D,EACM1qa,EAAM,SAACi5B,EAAKj8B,GAAG,OAAKkC,EAAehE,KAAK+9B,EAAKj8B,EAAK,EAClD+wxB,EAAoB,SAAC90vB,EAAKj8B,GAAG,OAAKgD,EAAIi5B,EAAKj8B,SAAqBoE,IAAb63B,EAAIj8B,IAAmC,OAAbi8B,EAAIj8B,EAAc,EAU/FivxB,EAAgB97wB,MAAMzW,UAAUgB,QAChCwxxB,EAAa/7wB,MAAMzW,UAAU8F,KAE7Bm5G,EAAW,SAAC4mJ,EAAI/uP,GAAC,OADJ,SAACy0V,EAAI9tV,GAAC,OAAK80wB,EAAc/wxB,KAAK+pW,EAAI9tV,EAAG,CAC5Bg1wB,CAAW5shB,EAAI/uP,IAAM,CAAE,EAC7Cuhd,EAAS,SAACxyN,EAAIiye,GAClB,IAAK,IAAI/2uB,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAE7C,GAAI+2uB,EADMjye,EAAG9kQ,GACDA,GACV,OAAO,CAEX,CACA,OAAO,CACT,EACMmya,EAAQ,SAACjlX,EAAK9mD,GAElB,IADA,IAAMykD,EAAI,GACD7qD,EAAI,EAAGA,EAAIktD,EAAKltD,IACvB6qD,EAAE9lD,KAAKqB,EAAEpG,IAEX,OAAO6qD,CACT,EACMz6C,EAAM,SAAC00P,EAAI1+P,GAGf,IAFA,IAAM1G,EAAMolQ,EAAGrlQ,OACTorD,EAAI,IAAIn1C,MAAMhW,GACXM,EAAI,EAAGA,EAAIN,EAAKM,IAAK,CAC5B,IAAM+V,EAAI+uP,EAAG9kQ,GACb6qD,EAAE7qD,GAAKoG,EAAE2P,EAAG/V,EACd,CACA,OAAO6qD,CACT,EACM+R,EAAO,SAACkoM,EAAI1+P,GAChB,IAAK,IAAIpG,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAE7CoG,EADU0+P,EAAG9kQ,GACRA,EACP,CACF,EAoBMg4B,EAAS,SAAC8sO,EAAIiye,GAElB,IADA,IAAMlsrB,EAAI,GACD7qD,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAC7C,IAAM+V,EAAI+uP,EAAG9kQ,GACT+2uB,EAAKhhuB,EAAG/V,IACV6qD,EAAE9lD,KAAKgR,EAEX,CACA,OAAO80C,CACT,EAOMqnuB,EAAQ,SAACpthB,EAAI1+P,EAAGu0F,GAIpB,OAHA/9B,EAAKkoM,EAAI,SAAC/uP,EAAG/V,GACX26F,EAAMv0F,EAAEu0F,EAAK5kF,EAAG/V,EAClB,GACO26F,CACT,EAYM5qE,EAAO,SAAC+0O,EAAIiye,GAChB,OAZgB,SAACjye,EAAIiye,EAAM11F,GAC3B,IAAK,IAAIrhpB,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAC7C,IAAM+V,EAAI+uP,EAAG9kQ,GACb,GAAI+2uB,EAAKhhuB,EAAG/V,GACV,OAAOgxxB,EAASpyvB,KAAK7oB,GAChB,GAAIsroB,EAAMtroB,EAAG/V,GAClB,KAEJ,CACA,OAAOgxxB,EAAS/gX,MAClB,CAESukd,CAAU1vnB,EAAIiye,EAAMg6C,EAC7B,EAWMnrtB,EAAO,SAACk/L,EAAI1+P,GAAC,OAVD,SAAA0+P,GAEhB,IADA,IAAMj6M,EAAI,GACD7qD,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,IAAOM,EAAG,CAC7C,IAAK2V,EAAQmvP,EAAG9kQ,IACd,MAAM,IAAIW,MAAM,oBAAsBX,EAAI,6BAA+B8kQ,GAE3E2shB,EAAWxoxB,MAAM4hD,EAAGi6M,EAAG9kQ,GACzB,CACA,OAAO6qD,CACT,CACwB0y8B,CAAUnt/B,EAAI00P,EAAI1+P,GAAI,EACxCivuB,EAAS,SAACvwe,EAAIiye,GAClB,IAAK,IAAI/2uB,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,IAAOM,EAAG,CAE7C,IAAmB,IAAf+2uB,EADMjye,EAAG9kQ,GACDA,GACV,OAAO,CAEX,CACA,OAAO,CACT,EASMghyB,EAAQ,SAACl8hB,EAAI9kQ,GAAC,OAAKA,GAAK,GAAKA,EAAI8kQ,EAAGrlQ,OAASuxxB,EAASpyvB,KAAKkmO,EAAG9kQ,IAAMgxxB,EAAS/gX,MAAO,EAGpFyiX,EAAU,SAAC1nuB,EAAK5kD,GACpB,IAAK,IAAIpG,EAAI,EAAGA,EAAIgrD,EAAIvrD,OAAQO,IAAK,CACnC,IAAM6qD,EAAIzkD,EAAE4kD,EAAIhrD,GAAIA,GACpB,GAAI6qD,EAAEolrB,SACJ,OAAOplrB,CAEX,CACA,OAAOmmuB,EAAS/gX,MAClB,EA6BM8sX,EAAY,SAAAt1uB,GAChB,GAAIA,QACF,MAAM,IAAI9mD,MAAM,oCAElB,MAAO,CACLy/c,IAAK34Z,EAET,EAEMuyuB,EAAe,CACnB1pD,SA/Be,SAACrjX,EAAMrgD,GACtB,IACMnhS,GADMmhS,GAAS1lT,UACL6F,cAAc,OAE9B,GADA0e,EAAIC,UAAYuhV,GACXxhV,EAAIw6P,iBAAmBx6P,EAAI7J,WAAWniC,OAAS,EAAG,CACrD,IAAMmL,EAAU,wCAEhB,MADA7M,QAAQC,MAAM4M,EAASqiX,GACjB,IAAItsX,MAAMiK,EAClB,CACA,OAAOmyxB,EAAUtxvB,EAAI7J,WAAW,GAClC,EAsBE2usB,QArBc,SAACh3rB,EAAKqzR,GACpB,IACMnlR,GADMmlR,GAAS1lT,UACJ6F,cAAcwsB,GAC/B,OAAOwjvB,EAAUt1uB,EACnB,EAkBE+orB,SAjBe,SAAC56sB,EAAMg3S,GACtB,IACMnlR,GADMmlR,GAAS1lT,UACJwgC,eAAe9xB,GAChC,OAAOmnwB,EAAUt1uB,EACnB,EAcEgprB,QAASssD,EACTrsD,UANgB,SAACupD,EAAQlkxB,EAAGC,GAAC,OAAKg7wB,EAASxquB,KAAKyzuB,EAAO75U,IAAIzJ,iBAAiB5gc,EAAGC,IAAI5F,IAAI2sxB,EAAW,GAS9FrF,EAAO,SAAC7/qB,EAAS0hB,GACrB,IAAM6mV,EAAMvoW,EAAQuoW,IACpB,GA3Cc,IA2CVA,EAAIn0X,SACN,OAAO,EAEP,IAAMm+F,EAAOg2R,EACb,QAAqBz5c,IAAjByjL,EAAKlxE,QACP,OAAOkxE,EAAKlxE,QAAQqgB,GACf,QAA+B5yH,IAA3ByjL,EAAKmojB,kBACd,OAAOnojB,EAAKmojB,kBAAkBh5mB,GACzB,QAAmC5yH,IAA/ByjL,EAAKoojB,sBACd,OAAOpojB,EAAKoojB,sBAAsBj5mB,GAC7B,QAAgC5yH,IAA5ByjL,EAAKqojB,mBACd,OAAOrojB,EAAKqojB,mBAAmBl5mB,GAE/B,MAAM,IAAI54H,MAAM,iCAGtB,EACMw5xB,EAAiB,SAAA/5U,GAAG,OA5DV,IA4DcA,EAAIn0X,UA9DjB,IA8DyCm0X,EAAIn0X,UA7DpC,KA6D6Dm0X,EAAIn0X,UAA4D,IAA1Bm0X,EAAIsyR,iBAAwB,EAUnJ7ppB,EAAK,SAACygX,EAAIm2J,GAAE,OAAKn2J,EAAG8W,MAAQq/I,EAAGr/I,GAAI,EACnC85U,EAAOxC,EAEK,oBAAX90xB,OAAyBA,OAAS0wC,SAAS,eAATA,GAEzC,IA+LcuX,EA/LR/sD,EAAO,SAAA+5G,GAEX,OADUA,EAAQuoW,IAAI9lW,SACb35F,aACX,EACM3f,GAAO,SAAA62G,GAAO,OAAIA,EAAQuoW,IAAIn0X,QAAS,EACvC+C,GAAS,SAAAtyE,GAAC,OAAI,SAAAm7F,GAAO,OAAI72G,GAAK62G,KAAan7F,CAAE,CAAD,EAC5C2pW,GAAY,SAAAxuQ,GAAO,OApFT,IAoFa72G,GAAK62G,IAA0C,aAAlB/5G,EAAK+5G,EAAwB,EACjFsuQ,GAAYn3R,GAlFF,GAmFVo3R,GAASp3R,GAlFF,GAmFP47sB,GAAa57sB,GAtFF,GAuFXgxsB,GAAqBhxsB,GAtFD,IAuFpB0psB,GAAQ,SAAAn/uB,GAAG,OAAI,SAAA17C,GAAC,OAAIsoX,GAAUtoX,IAAMC,EAAKD,KAAO07C,CAAI,CAAD,EAGnD8gvB,GAAkB,SAAAC,GAAG,OAAIsQ,GAAWtQ,GAAOA,GADnCzirB,EAC+CyirB,EADpCN,EAAavpD,QAAQ54nB,EAAQuoW,IAAI9uC,gBAA5C,IAAAz5T,CACoD,EAC5D1wD,GAAS,SAAA0wD,GAAO,OAAIm5qB,EAASxquB,KAAKqxD,EAAQuoW,IAAIpnW,YAAY5oG,IAAI4pxB,EAAavpD,QAAS,EACpFj9M,GAAU,SAAC37a,EAASwlR,GAIxB,IAHA,IAAM5vX,EAAOg+C,EAAW4xU,GAAUA,EAAS0zZ,EACvC3wU,EAAMvoW,EAAQuoW,IACZn9Z,EAAM,GACc,OAAnBm9Z,EAAIpnW,iBAA0CryG,IAAnBy5c,EAAIpnW,YAA0B,CAC9D,IAAMwhrB,EAAYp6U,EAAIpnW,WAChBr5G,EAAIq6xB,EAAavpD,QAAQ+pD,GAE/B,GADAv3uB,EAAIl+C,KAAKpF,IACO,IAAZ8N,EAAK9N,GACP,MAEAygd,EAAMo6U,CAEV,CACA,OAAOv3uB,CACT,EACMk3rB,GAAc,SAAAtioB,GAAO,OAAIm5qB,EAASxquB,KAAKqxD,EAAQuoW,IAAIj0B,iBAAiB/7a,IAAI4pxB,EAAavpD,QAAS,EAC9FzqX,GAAc,SAAAnuQ,GAAO,OAAIm5qB,EAASxquB,KAAKqxD,EAAQuoW,IAAIp6F,aAAa51W,IAAI4pxB,EAAavpD,QAAS,EAC1F+sR,GAAa,SAAA3l5B,GAAO,OAAIznG,EAAIynG,EAAQuoW,IAAIx+a,WAAYo4vB,EAAavpD,QAAS,EAK1Ex5kB,GAAa,SAAAp/C,GAAO,OAJV,SAACA,EAASxsG,GACxB,IAAMi8Z,EAAKzvT,EAAQuoW,IAAIx+a,WACvB,OAAOovvB,EAASxquB,KAAK8gX,EAAGj8Z,IAAQ+E,IAAI4pxB,EAAavpD,QACnD,CAC8BgtR,CAAQ5l5B,EAAS,EAAG,EAG5CmzoB,GAAYv/rB,EAAW0yN,QAAQl/Q,UAAUkvO,eAAiB1iL,EAAW4sD,KAAKp5G,UAAUkmI,aACpFA,GAAc6lnB,GAAY,SAAAntvB,GAAC,OAAIm8xB,EAAavpD,QAAQ5yuB,EAAEuid,IAAIj7U,cAAc,EAAGk1pB,GAC3Ep0oB,GAAgB,SAAApoJ,GACpB,IAJmBy8xB,EAIbzvuB,EAAIs6E,GAAYtnI,GACtB,OAL0BmiyB,GAAP1F,EAKCzvuB,IALiCuluB,EAAckK,EAAIl6U,IAAIn9b,MAKlD+twB,EAASpyvB,KAAKisB,GAAKmmuB,EAAS/gX,MACvD,EACM+qX,GAAgB,SAAAn9xB,GAAC,OAAIm8xB,EAAavpD,QAAQ5yuB,EAAEuid,IAAIn9b,KAAM,EAEtDk4wB,GAAS,SAAAtjrB,GACb,IAAMuoW,EAAMh6F,GAAOvuQ,GAAWA,EAAQuoW,IAAIpnW,WAAanB,EAAQuoW,IAC/D,GAAIA,SAA2D,OAAtBA,EAAI9uC,cAC3C,OAAO,EAET,IA/agBk/W,EAAKC,EA+afnie,EAAM8xJ,EAAI9uC,cAChB,OAAOrrR,GAAc+zoB,EAAavpD,QAAQrwR,IAAMsxR,KAAK,kBAAMpjb,EAAIx0P,KAAKokD,SAASkiW,EAAI,GAhbjEowU,EAgb4E2K,GAhbvE1K,EAgb+EuK,GAhbvE,SAAAz0xB,GAAC,OAAIiqxB,EAAIC,EAAIlqxB,GAAI,GAibhD,EAEI60xB,GAAoB,SAAC1lvB,EAAIonG,EAAU8vL,EAAOrmU,EAAG82X,GAC/C,OAAI3nV,EAAGk3R,EAAOrmU,GACLyqxB,EAASpyvB,KAAKguS,GACZnhR,EAAW4xU,IAAWA,EAAOzwD,GAC/Bokd,EAAS/gX,OAETnzR,EAAS8vL,EAAOrmU,EAAG82X,EAE9B,EAEM68f,GAAa,SAACttjB,EAAO1lO,EAAWm2R,GAGpC,IAFA,IAAIxlR,EAAU+0N,EAAMwzI,IACd3yc,EAAOg+C,EAAW4xU,GAAUA,EAAS0zZ,EACpCl5qB,EAAQmB,YAAY,CACzBnB,EAAUA,EAAQmB,WAClB,IAAMn6E,EAAKm7vB,EAAavpD,QAAQ54nB,GAChC,GAAI3Q,EAAUroE,GACZ,OAAOmyvB,EAASpyvB,KAAKC,GAChB,GAAIpxB,EAAKoxB,GACd,KAEJ,CACA,OAAOmyvB,EAAS/gX,MAClB,EAWMnzR,GAAW,SAAC8vL,EAAOrzM,EAAU8jQ,GAAM,OAAK68f,GAAWttjB,EAAO,SAAA/uU,GAAC,OAAI65xB,EAAK75xB,EAAG07H,EAAS,EAAE8jQ,EAAQ,EAC1Fh8S,GAAU,SAACurP,EAAOrzM,GAAQ,OAPhB,SAACqzM,EAAO1lO,GAGtB,OADen3E,EAAK68S,EAAMwzI,IAAIx+a,WADjB,SAAA6lB,GAAI,OAAIy/C,EAAU8yrB,EAAavpD,QAAQhprB,GAAO,GAE7Cr3C,IAAI4pxB,EAAavpD,QACjC,CAGqCitR,CAAQ9wrB,EAAO,SAAA/uU,GAAC,OAAI65xB,EAAK75xB,EAAG07H,EAAS,EAAE,EACtEi4F,GAAa,SAACo7G,EAAOrzM,GAAQ,OAzGvB,SAACA,EAAUqzM,GACrB,IAAMpgQ,OAAiB7lE,IAAVimU,EAAsB1lT,SAAW0lT,EAAMwzI,IACpD,OAAO+5U,EAAe3ttB,GAAQwktB,EAAS/gX,OAAS+gX,EAASxquB,KAAKgmB,EAAKlpD,cAAci2G,IAAWnpH,IAAI4pxB,EAAavpD,QAC/G,CAsGwC9yR,CAAIpkV,EAAUqzM,EAAO,EACvDm/gB,GAAY,SAACn/gB,EAAOrzM,EAAU8jQ,GAElC,OAAO+9Z,GADI,SAACvjrB,EAAS0hB,GAAQ,OAAKm+pB,EAAK7/qB,EAAS0hB,EAAU,EAC7BujB,GAAU8vL,EAAOrzM,EAAU8jQ,EAC1D,EAGMkgb,GAAa,SAAC1lsB,GAAqC,IADzC9tG,EACa8xxB,EAAc54xB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,IAAAA,UAAA,GACzC,OAAIk4xB,GAAOtjrB,GACFA,EAAQuoW,IAAI07U,mBAHP/xxB,EAKG8tG,EALOk0uB,GAAUhi1B,EAAQ,sBAKhB2nuB,KAAK9mL,EAASixO,GAAiB,SAAAE,GAAQ,MAA2B,SAAvBC,GAASD,EAAoB,EAEpG,EACMC,GAAW,SAAAnkrB,GAAO,OAAIA,EAAQuoW,IAAIg4O,eAAgB,EAIlDulU,GAAY,SAAAx8M,GAAM,OAAI,SAAAtpsB,GAAO,OAAIhvB,EAAGgvB,EAD1B,SAAAspsB,GAAM,OAAInnB,EAAavpD,QAAQ0wE,EAAO50D,UAAW,CACdA,CAAQ40D,GAAS,CAAD,EAE7Dy8M,GAAc,SAAAj4/B,GAAI,MAAI,gBAAgBjE,KAAKiE,GAAQA,EAAO,KAAOA,CAAK,EACtEk4/B,GAAoB,SAAA18M,GAAM,OAAInnB,EAAavpD,QAAQ0wE,EAAOx8hB,UAAU6ud,WAAY,EAEhFsqR,GAAsB,SAAA78jB,GAAI,OAnCbr0H,EAmC2Bq0H,EAnCpB/5V,EAmC0BwxrB,GAAM,SAjCjD0C,GADI,SAACp1xB,EAAGtE,GAAI,OAAKA,EAAKsE,EAAG,EACHk03B,GAAYttjB,EAAO1lO,EAAWm2R,IAiCOg4W,OAAOkoE,IAnCzD,IAAC3we,EAAO1lO,EAAWm2R,CAmCkD,EAGjFiha,GAAgB,SAAC1xd,EAAO1lO,GAC5B,IAAIhmG,EAAS,GAOb,OANA07D,EAAK4g8B,GAAW5wrB,GAAQ,SAAA72T,GAClBmxF,EAAUnxF,KACZ7U,EAASA,EAAOuB,OAAO,CAACsT,KAE1B7U,EAASA,EAAOuB,OAAO67xB,GAAcvoxB,EAAGmxF,GAC1C,GACOhmG,CACT,EAEMy5xB,GAAa,SAAC/td,EAAOrzM,GAAQ,OAZhB,SAACqzM,EAAO1lO,GAAS,OAAKlvE,EAAOwl+B,GAAW5wrB,GAAQ1lO,EAAW,CAYtC8/0B,CAAWp6mB,EAAO,SAAA/uU,GAAC,OAAI65xB,EAAK75xB,EAAG07H,EAAS,EAAE,EAC5EioD,GAAc,SAACorJ,EAAOrzM,GAAQ,OAnJtB,SAACA,EAAUqzM,GACvB,IAAMpgQ,OAAiB7lE,IAAVimU,EAAsB1lT,SAAW0lT,EAAMwzI,IACpD,OAAO+5U,EAAe3ttB,GAAQ,GAAKp8D,EAAIo8D,EAAKquC,iBAAiB0e,GAAWygqB,EAAavpD,QACvF,CAgJyC22P,CAAM7t2B,EAAUqzM,EAAO,EAE1D+rd,GAAS,SAACv4U,EAAK79c,EAAKjC,GACxB,KAAI2zE,EAAS3zE,IAAUs8K,EAAUt8K,IAAUs4H,EAASt4H,IAIlD,MADAvC,QAAQC,MAAM,sCAAuCuE,EAAK,YAAajC,EAAO,cAAe8/c,GACvF,IAAIz/c,MAAM,kCAHhBy/c,EAAInoW,aAAa11G,EAAKjC,EAAQ,GAKlC,EACM47xB,GAAQ,SAACrkrB,EAASt1G,EAAKjC,GAC3Bq4xB,GAAO9grB,EAAQuoW,IAAK79c,EAAKjC,EAC3B,EAOMw2F,GAAQ,SAAC+gB,EAASt1G,GACtB,IAAMujD,EAAI+xD,EAAQuoW,IAAItoW,aAAav1G,GACnC,OAAa,OAANujD,OAAan/C,EAAYm/C,CAClC,EACMizuB,GAAS,SAAClhrB,EAASt1G,GAAG,OAAKyuxB,EAASxquB,KAAKswC,GAAM+gB,EAASt1G,GAAM,EAC9Diw2B,GAAW,SAAC36vB,EAASt1G,GACzBs1G,EAAQuoW,IAAIvqW,gBAAgBtzG,EAC9B,EAMMmzC,GAAK,SAACiivB,EAAKC,GAAG,IAAE3wtB,EAAUhkE,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAGytxB,EAAY,OAAKiH,EAAIrgU,OAAO,SAAAr6c,GAAI,OAAIgqD,EAAWhqD,EAAM26wB,EAAI,EAAE,EAWxFC,GAAQ,SAAC/0X,EAAI0hL,EAAIp+kB,GAAC,OAAK08Z,EAAGmtU,UAAYzrJ,EAAGyrJ,SAAW+gD,EAASpyvB,KAAKx4B,EAAE08Z,EAAGwyU,WAAY9wJ,EAAG8wJ,aAAe07C,EAAS/gX,MAAO,EAYrHnra,GAAa,SAAC/D,EAAK8/B,GACvB,OALiB,SAAC9/B,EAAKswD,EAAQ/7C,GAAK,MAAgB,KAAX+7C,GAAiBtwD,EAAItB,QAAU4xD,EAAO5xD,QAAUsB,EAAIswD,OAAO/7C,EAAOA,EAAQ+7C,EAAO5xD,UAAY4xD,CAAO,CAKtIgjuB,CAAWtzxB,EAAK8/B,EAAQ,EACjC,EAEMo3B,IADQpN,EACK,aADA,SAAA7kD,GAAC,OAAIA,EAAE0a,QAAQmqC,EAAG,GAAI,GAEnCqpb,GAAa,SAAAlue,GAAC,OAAIA,EAAEvG,OAAS,CAAE,EAE/B4rpB,GAAQ,SAAC/qpB,GAAuB,IAC9B4sD,EAAMxvB,SAASp9B,EADI2C,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,IAE5B,OAAOgT,MAAMi3C,GAAO8juB,EAAS/gX,OAAS+gX,EAASpyvB,KAAKsuB,EACtD,EAMMuf,GAAc,SAAA2zY,GAAG,YAAkBz5c,IAAdy5c,EAAIj/b,OAAuBsqC,EAAW20Z,EAAIj/b,MAAMQ,iBAAkB,EAgBvFsxE,GAAQ,SAAC4kB,EAASp2F,EAAUnhB,IAdd,SAAC8/c,EAAK3+b,EAAUnhB,GAClC,IAAK2zE,EAAS3zE,GAEZ,MADAvC,QAAQC,MAAM,qCAAsCyjB,EAAU,YAAanhB,EAAO,cAAe8/c,GAC3F,IAAIz/c,MAAM,+BAAiCL,GAE/CmsE,GAAY2zY,IACdA,EAAIj/b,MAAMgiI,YAAY1hI,EAAUnhB,EAEpC,CAQE27xB,CADYpkrB,EAAQuoW,IACH3+b,EAAUnhB,EAC7B,EACMgkqB,GAAQ,SAACzsjB,EAASp2F,GACtB,IAAM2+b,EAAMvoW,EAAQuoW,IAEdv1Z,EADSjoD,OAAOigB,iBAAiBu9b,GACtBz+b,iBAAiBF,GAClC,MAAa,KAANopC,GAAaswuB,GAAOtjrB,GAA8ChtD,EAAnCuxuB,GAAkBh8U,EAAK3+b,EAC/D,EACM26wB,GAAoB,SAACh8U,EAAK3+b,GAAQ,OAAKgrD,GAAY2zY,GAAOA,EAAIj/b,MAAMQ,iBAAiBF,GAAY,EAAG,EACpGs4tB,GAAS,SAAClioB,EAASp2F,GACvB,IAAM2+b,EAAMvoW,EAAQuoW,IACdiU,EAAM+nU,GAAkBh8U,EAAK3+b,GACnC,OAAOuvwB,EAASxquB,KAAK6ta,GAAKr8b,OAAO,SAAA6yB,GAAC,OAAIA,EAAEprD,OAAS,CAAC,EACpD,EACMq72B,GAAW,SAACjjwB,EAASp2F,IArBJ,SAAC2+b,EAAK3+b,GACvBgrD,GAAY2zY,IACdA,EAAIj/b,MAAMwiJ,eAAeliJ,EAE7B,CAmBE+6wB,CADY3krB,EAAQuoW,IACA3+b,GAChBi0B,GAAGqjvB,GAAOlhrB,EAAS,SAASznG,IAAI6nD,IAAO,KACzCu6yB,GAAS36vB,EAAS,QAEtB,EAEMkm5B,GAAe,SAAC98jB,EAAMnjc,GAAI,IAAEo1O,EAAQjwO,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,EAAC,OAAK81xB,GAAO93V,EAAMnjc,GAAMsS,IAAI,SAAA9P,GAAK,OAAIo9B,SAASp9B,EAAO,GAAG,GAAE8vuB,MAAMl9f,EAAU,EAElHutpB,GAAa,SAAC7zjB,EAAOrzM,GACzB,OAAOgnwB,GAAiB3zjB,EAAOrzM,EAAUqhP,EAC3C,EACM2lhB,GAAmB,SAAC3zjB,EAAOrzM,EAAUryB,GACzC,OAAOthC,EAAK437B,GAAW5wrB,GAAQ,SAAA72T,GAC7B,OAAI2hxB,EAAK3hxB,EAAGwjH,GACHryB,EAAUnxF,GAAK,CAACA,GAAK,GAErBwq3B,GAAiBxq3B,EAAGwjH,EAAUryB,EAEzC,EACF,EAEM825B,GAAmB,CAAC,QAAS,QAAS,QAAS,YAM/C5y7B,GAAS,SAACysC,EAASuxV,EAAS0ha,GAAO,MAAM,CAC7CjzvB,UACAuxV,UACA0ha,UACD,EASKmzJ,GAAY,SAACpm5B,EAASijL,EAAOyoK,GAAO,MAAM,CAC9C1rV,UACAijL,QACAyoK,UACD,EA2BKtC,GAAO,SAACppV,EAASwlR,GAAM,OAVd,SAACroK,EAAMn9G,GAA6B,IAApBwlR,EAAMp6X,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG8txB,EACtC,OAAI1zZ,EAAOxlR,GACFm5qB,EAAS/gX,OAEd/xT,EAAS82G,EAAMl3N,EAAK+5G,IACfm5qB,EAASpyvB,KAAKi5E,GAGhBilC,GAASjlC,EAASm9G,EAAKjoK,KAAK,KADR,SAAAt8B,GAAG,OAAIinwB,EAAKjnwB,EAAK,UAAY4sW,EAAO5sW,EAAK,EAEtE,CACkCq8B,CAAO,CAAC,KAAM,MAAO+qD,EAASwlR,EAAQ,EASlEv0V,GAAQ,SAAC+uE,EAASwlR,GAAM,OAAK0ud,GAAUl0uB,EAAS,QAASwlR,EAAQ,EACjEp6V,GAAO,SAAA65G,GAAQ,OAAI2jvB,GAAW3jvB,EAAU,KAAM,EAC9Coh3B,GAAe,SAAAph3B,GAAQ,OAAIh0G,GAAMg0G,GAAU40lB,KAAK9mL,EAAS,IAAK,SAAA9hhB,GAAK,OAAI6xvB,GAAW7xvB,EAAO,WAAW,EAAE,EAEtGq19B,GAAsB,SAAC3wZ,EAAOiwT,GAAU,OAAKrt5B,EAAIo9lB,EAAO,SAAAjxK,GAC5D,GAAkB,aAAdz+b,EAAKy+b,GAAqB,CAC5B,IAAMzhK,EAAQ1qR,EAbF,SAAA0sI,GACd,OAAI46oB,EAAK56oB,EAAU,YACV69oB,GAAW79oB,EAAU,OAErBl3E,EAAKs47B,GAAaph3B,GAAW,SAAAsh3B,GAAW,OAAIzjO,GAAWyjO,EAAa,MAAM,EAErF,CAOsBj0wB,CAAQoyM,GAAM,SAAA3lK,GAC9B,IAAMk0kB,EAAUizJ,GAAannuB,EAAQ,OAAQ,GAC7C,OAAOxrN,GAAOwrN,EAAQ,EAAGk0kB,EAC3B,GACA,OAAOmzJ,GAAU1hkB,EAAKzhK,EAAO,WAC/B,CACE,IAAMujuB,EAAUju/B,EApBN,SAAA0sI,GAAQ,OAAI2jvB,GAAW3jvB,EAAU,QAAS,CAoBhCg+I,CAAMyhK,GAAM,SAAA0E,GAC9B,IAAMmI,EAAU20jB,GAAa98jB,EAAM,UAAW,GACxC6pa,EAAUizJ,GAAa98jB,EAAM,UAAW,GAC9C,OAAO71X,GAAO61X,EAAMmI,EAAS0ha,EAC/B,GACA,OAAOmzJ,GAAU1hkB,EAAK8hkB,EAAS5gG,EAAWlhe,GAE9C,EAAG,EACG+hkB,GAAmB,SAAAru3B,GAAK,OAAI9oF,GAAO8oF,GAAO7/H,IAAI,SAAA+2C,GAClD,IAAMyxjB,EAAa96mB,EAAKqpD,GACxB,OAhFqB,SAAAyxjB,GAAU,OAAI16f,EAAS8/4B,GAAkBplZ,EAAY,CAgFnE2lZ,CAAe3lZ,GAAcA,EAAa,OACnD,GAAGw3H,MAAM,QAAS,EASZouR,GAA4B,SAAA119B,GAAK,OAAIiwvB,GAAOjwvB,EAD1B,4BACkD88B,KAAK,SAAA647B,GAAY,OAAIztO,EAASxquB,KAAKi48B,EAAa78/B,MAAM,QAAQ,GAAEwO,IAAI,SAAAsu/B,GAAU,OAjcpI,SAAC55vB,EAAI1+P,GAEvB,IADA,IAAMykD,EAAI,CAAC,EACF7qD,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAC7C,IAAM+V,EAAI+uP,EAAG9kQ,GACb6qD,EAAEnoD,OAAOqT,IAAM3P,EAAE2P,EAAG/V,EACtB,CACA,OAAO6qD,CACT,CA0b4J0nuB,CAAYmsO,EAAY9jpB,EAAO,EAAE,EAEvLr4W,GAAM,SAACg6b,EAAK3lK,GAChB,OAAO2lK,EAAM,IAAM3lK,CACrB,EAQM+nuB,GAAc,SAACC,EAAW135B,GAC9B,IAAMv6F,EAAMi5D,EAAKg57B,EAAUjy/B,IAAK,SAAAk+C,GAC9B,OAAOA,EAAEiwO,KACX,GACA,OAAO9iQ,EAAOrrB,EAAKu6F,EACrB,EAcMg8sB,GAAa,SAAA/xxB,GACjB,IAxdW2zO,EAwdLupQ,EAAS,CAAC,EACVvzO,EAAQ,GAER+juB,GA3dK/5vB,EA0dW3zO,EA1dL6vwB,EAAMl8hB,EAAI,IA0dC10P,IAAI,SAAA0u/B,GAAO,OAAIA,EAAQjn5B,OAAO,GAAEjyC,KAAK98B,IAClC88B,KAAK447B,IAA2BpuR,MAAM,CAAC,GAClE2uR,EAAU,EACVC,EAAa,EACbC,EAAW,EACfh01B,EA7iBgB,SAAC65F,EAAIiye,GAGrB,IAFA,IAAMltqB,EAAO,GACPxgB,EAAO,GACJrpD,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAC7C,IAAM+V,EAAI+uP,EAAG9kQ,IACD+2uB,EAAKhhuB,EAAG/V,GAAK6pE,EAAOxgB,GAC5BtkD,KAAKgR,EACX,CACA,MAAO,CACL8zD,OACAxgB,OAEJ,CAoiBMkiH,CAAUp6I,EAAM,SAAA2t+B,GAAO,MAAwB,aAApBA,EAAQv7jB,OAAsB,GAFrD27jB,EAAYj01B,EAAlBphG,KACM5mC,EAAIgoI,EAAV5hH,KAEFuT,EAAK35B,EAAM,SAAA679B,GACT,IAAMK,EAAa,GACnBvi8B,EAAKki8B,EAAQhkuB,MAAO,SAAAskuB,GAElB,IADA,IAAI9p/B,EAAQ,OAC4B3O,IAAjC0ngB,EAAO9rgB,GAAI08/B,EAAU3p/B,KAC1BA,IAIF,IAFA,IAAM+p/B,EAAW/rO,EAAkBurO,EAAevp/B,EAAMvW,YAClD6sJ,EAnIK,SAAC/zC,EAASuxV,EAAS0ha,EAASvua,EAAK3lK,EAAQyouB,GAAQ,MAAM,CACtExn5B,UACAuxV,UACA0ha,UACAvua,MACA3lK,SACAyouB,WACD,CA4HqBC,CAASF,EAAQvn5B,QAASun5B,EAAQh2jB,QAASg2jB,EAAQt0J,QAASm0J,EAAU3p/B,EAAO+p/B,GACpFE,EAAyB,EAAGA,EAAyBH,EAAQt0J,QAASy0J,IAC7E,IAAK,IAAIC,EAAsB,EAAGA,EAAsBJ,EAAQh2jB,QAASo2jB,IAAuB,CAC9F,IACMC,EAAiBnq/B,EAAQiq/B,EACzBG,EAASn9/B,GAFK08/B,EAAWO,EAECC,GAChCpxf,EAAOqxf,GAAU9z2B,EACjBoz2B,EAAarh/B,KAAKiL,IAAIo2+B,EAAYS,EAAiB,EACrD,CAEFN,EAAWp6/B,KAAK6mJ,EAClB,GACAmz2B,IACAjkuB,EAAM/1R,KAAKk5/B,GAAUa,EAAQjn5B,QAASsn5B,EAAYL,EAAQv7jB,UAC1D07jB,GACF,GACA,IAAAU,EA1fW,SAAA76vB,GAAE,OAAIk8hB,EAAMl8hB,EAAIA,EAAGrlQ,OAAS,EAAG,CA6ftCunD,CAAKk48B,GAAc9u/B,IAAI,SAAA0u/B,GACzB,IAAM30wB,EArDc,SAAA20wB,GACtB,IAAMc,EAAe,CAAC,EAClBv0/B,EAAQ,EASZ,OARAuxD,EAAKki8B,EAAQhkuB,MAAO,SAAAlE,GAClB,IAAMk0kB,EAAUl0kB,EAAOk0kB,QACvB34b,EAAM24b,EAAS,SAAA+0J,GACb,IAAMC,EAAWz0/B,EAAQw0/B,EACzBD,EAAaE,GAtFD,SAACjo5B,EAASizvB,EAASl0kB,GAAM,MAAM,CAC/C/+K,UACAizvB,UACAl0kB,SACD,CAkF8BmpuB,CAAUnpuB,EAAO/+K,QAASizvB,EAASg1J,EAC9D,GACAz0/B,GAASy/1B,CACX,GACO80J,CACT,CAyCoBI,CAAgBlB,GAC1BmB,EAhIO,SAACpo5B,EAASsyI,GAAO,MAAM,CACtCtyI,UACAsyI,UACD,CA6HsBq7M,CAASs5jB,EAAQjn5B,QAASh2D,EAAOsoM,IACpD,MAAO,CACL+1wB,UAAW,CAACD,GACZ91wB,UAEJ,GAAG0pf,WAAW,iBAAO,CACnBqsR,UAAW,GACX/1wB,QAAS,CAAC,EACX,GAZCA,EAAOw1wB,EAAPx1wB,QACA+1wB,EAASP,EAATO,UAYIC,EA1KK,SAACl99B,EAAMknN,GAAO,MAAM,CAC/BlnN,OACAknN,UACD,CAuKgB23M,CAAKi9jB,EAASC,GAC7B,MAAO,CACLl9jB,KAAMq+jB,EACN9xf,SACA1hgB,IAAKmuR,EACL3wC,UACA+1wB,YAEJ,EASME,GARY,SAAAt39B,GAChB,IAAM3X,EAnGY,SAAA2X,GAClB,IAAMu39B,EAASp99B,GAAK6F,GACdw39B,EAAiBpC,GAAap19B,GAC9B0kkB,EAAK,GAAA/qmB,OAAAwuB,EAAOqv+B,GAAcrv+B,EAAKov+B,IACrC,OAAOlC,GAAoB3wZ,EAAO8wZ,GACpC,CA8FeiC,CAAYz39B,GACzB,OAAOo6wB,GAAW/xxB,EACpB,EAKMiv+B,GA7FQ,SAACxB,EAAWrikB,EAAK3lK,GAAM,OAAKo6f,EAASxquB,KAAKo48B,EAAUvwf,OAAO9rgB,GAAIg6b,EAAK3lK,IAAU,EA6FtFwpuB,GA5FW,SAACxB,EAAW9u+B,EAAMm3C,GACjC,IAAM4nZ,EAAW8viB,GAAYC,EAAW,SAAAxz7B,GACtC,OAAOnE,EAAWn3C,EAAMs7C,EAAOysC,QACjC,GACA,OAAOg3W,EAASpvd,OAAS,EAAIuxxB,EAASpyvB,KAAKiwb,EAAS,IAAMmiU,EAAS/gX,MACrE,EAuFMmwlB,GAJY,SAAAxB,GAAS,OAAIh57B,EAAKg57B,EAAUjy/B,IAAK,SAAAgsC,GAAC,OAAIA,EAAEmiP,KAAK,EAAE,EAI3DsluB,GADc,SAACxB,EAAWiB,GAAW,OAAK7uO,EAASxquB,KAAKo48B,EAAUz0wB,QAAQ01wB,GAAc,EAa1F5sF,GAAW/iM,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,sBAEpCy4/B,GAAsB,SAACpgjB,EAAK3vb,EAAK3yB,GAGrC,IAFA,IACI2igC,EADE3luB,EAAQslL,EAAIh9a,OAAO,QAAS3S,GAEzBzwB,EAAI,EAAGA,EAAI86R,EAAMr7R,OAAQO,IAAK,CACrC,IAAMwkL,EAAe47R,EAAI45V,SAASl/gB,EAAM96R,GAAIlC,GAI5C,GAHI2zL,EAAYgv0B,KACdA,EAAkBj80B,GAEhBi80B,IAAoBj80B,EACtB,MAAO,EAEX,CACA,OAAOi80B,CACT,EACMC,GAAW,SAACv/M,EAAQ1wxB,EAAK3yB,GAC7Bm16B,GAASr22B,KAAK,oBAAoBhuB,MAAM,KAAM,SAAA+3O,GACxCA,IAAU7oR,GACZqjzB,EAAO9qT,UAAUjse,OAAO,QAAUu8P,EAAO,CAAC,EAAGl2P,EAEjD,GACI3yB,GACFqjzB,EAAO9qT,UAAUptf,MAAM,QAAUnL,EAAM,CAAC,EAAG2yB,EAE/C,EAYMkw+B,GAAoB,SAACx/M,EAAQr4wB,EAAO1jC,GACxC+7yB,EAAO5iyB,SAAS,gBAAe/R,EAAA,GAC1BpH,EAAK,CACR0jC,UAEJ,EAEMg8P,GAAW,SAAChxP,EAAIo/L,GAAQ,OAjTd5yO,EAiT2BwzC,EAhTnCoZ,EAAMxrC,WAAWphB,GAChB2V,MAAMi3C,GAAO8juB,EAAS/gX,OAAS+gX,EAASpyvB,KAAKsuB,IA+SPkjrB,MAAMl9f,GAjTrC,IAAA5yO,EACR4sD,CAgTuD,EACzDssiB,GAAU,SAAC3hf,EAAS/5G,EAAMo1O,GAAQ,OAAK4xD,GAASw/X,GAAMzsjB,EAAS/5G,GAAOo1O,EAAU,EAQhF0txB,GAAqB,SAAC/o5B,EAAS+yI,GACnC,IAAMw1N,EAAMvoW,EAAQuoW,IACdxgc,EAAQwgc,EAAI1ic,wBAAwBkC,OAASwgc,EAAIp6T,YACvD,MAAqB,eAAd4kG,EAA6BhrO,EAVX,SAACi4F,EAASlyG,EAAMm2jB,EAAOD,GAKhD,OAAOl2jB,EAJc6zlB,GAAQ3hf,EAAS,WAAWp1G,OAAOq5jB,GAAQ,GAC3C09B,GAAQ3hf,EAAS,WAAWp1G,OAAOo5jB,GAAQ,GAC5C29B,GAAQ3hf,EAAS,UAAUp1G,OAAOq5jB,EAAO,UAAW,GACpD09B,GAAQ3hf,EAAS,UAAUp1G,OAAOo5jB,EAAO,UAAW,EAE1E,CAI8Cglc,CAAmBhp5B,EAASj4F,EAAO,OAAQ,QACzF,EAGMou1B,GAFgB,SAAAn2vB,GAAO,OAAI+o5B,GAAmB/o5B,EAAS,cAAe,EAIxEkhmB,GAAWm3B,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,eAGpC+4/B,GAA0B3ulB,EAAM,EAAG,SAAAnya,GACvC,IAAM2F,EAAO,GAAGlD,OAAOzC,EAAI,EAAG,MAC9B,MAAO,CACLm9F,MAAOx3F,EACPrF,MAAOqF,EAEX,GACMo7/B,GAA0B3w/B,EAAI,CAAC,QAAS,SAAU,SAAU,SAAU,SAAU,QAAS,QAAS,SAAU,OAAQ,UAAW,SAAApP,GACnI,MAAO,CACLm8F,MAAOn8F,EACPV,MAAOU,EAAK2f,cAEhB,GACM+1e,GAAe,OACfsqgB,GAAsB,SAAA7/M,GAC1B,IAAIr3vB,EACEs2Z,EAAM+gW,EAAO/gW,IACb0mV,EAAiF,QAAlEh9uB,EAAKs2Z,EAAIlqI,UAAUire,EAAOx8hB,UAAU6ud,WAAYpzR,EAAIwmV,gBAAkC,IAAZ98uB,EAAgBA,EAAKq3vB,EAAO50D,UAC3H,OAAOyhH,GAASh0E,EAAavpD,QAAQq2D,IAAgB,IACvD,EA+BM14jB,GAAS,SAAAtwO,GAAI,OAAI,SAAAqjzB,GAAM,OAAIA,EAAOl6yB,QAAQxB,IAAI3H,EAAM,CAAD,EAwDnDmjgC,GAAqB7yxB,GAAO,qBAC5B8yxB,GAAuB9yxB,GAAO,uBAC9B+yxB,GAAuB/yxB,GAAO,uBAC9BgzxB,GAAqBhzxB,GAAO,qBAC5BizxB,GAAoBjzxB,GAAO,oBAC3BkzxB,GAAsBlzxB,GAAO,gBAC7BmzxB,GAAuBnzxB,GAAO,4BAC9BozxB,GAAepzxB,GAAO,cACtBqzxB,GAAqBrzxB,GAAO,sBAC5BszxB,GAAmBtzxB,GAAO,yBAC1BuzxB,GAAkBvzxB,GAAO,wBACzBwzxB,GAAoBxzxB,GAAO,oBAC3ByzxB,GAAazzxB,GAAO,iBACpB0zxB,GAA6B1zxB,GAAO,8BACpC2zxB,GAAyB3zxB,GAAO,0BAChC4zxB,GAAiB,SAAA7gN,GAAM,MAAmC,UAA/B8/M,GAAmB9/M,EAAoB,EAClE8gN,GAAqB,SAAA9gN,GAAM,MAAmC,eAA/B8/M,GAAmB9/M,EAAyB,EAC3E+gN,GAAmB,SAAA/gN,GACvB,IAAMl6yB,EAAUk6yB,EAAOl6yB,QACjBo8I,EAAgBp8I,EAAQxB,IAAI,wBAClC,OAAOwB,EAAQg2W,MAAM,wBAA0B55N,EA1GlB,SAAC89pB,EAAQ99pB,GACtC,OAAI4+2B,GAAmB9gN,KAAYsgN,GAAmBtgN,GAC7C99pB,EACE2+2B,GAAe7gN,GACxB30yB,EAAA,GACK62I,EAAc,CACjBzjI,MAAOoh/B,GAAoB7/M,KAG7B30yB,EAAA,GACK62I,EAAc,CACjBzjI,MAAO82e,IAGb,CA4FiEyrgB,CAAuBhhN,EAAQ99pB,EAChG,EACM++2B,GAAuB,SAAAjhN,GAC3B,IAAMl6yB,EAAUk6yB,EAAOl6yB,QACjBo7/B,EAAoBp7/B,EAAQxB,IAAI,4BACtC,OAAOwB,EAAQg2W,MAAM,4BAA8BolpB,EAhGlB,SAAClhN,EAAQkhN,GAC1C,OAAIJ,GAAmB9gN,IAAWsgN,GAAmBtgN,GAC5CkhN,EACEL,GAAe7gN,GACxB30yB,EAAA,GACK61/B,EAAkB,CACrBzi/B,MAAOoh/B,GAAoB7/M,KAG7B30yB,EAAA,GACK61/B,EAAkB,CACrBzi/B,MAAO82e,IAGb,CAkFyE4rgB,CAA2BnhN,EAAQkhN,EAC5G,EAEME,GAAW,SAACpi2B,EAAQ/0F,GACxB,OAAOA,EAAOwrN,QAAUz2H,EAAOqi2B,UAAYp37B,EAAOwrN,OAASxrN,EAAO0/xB,QAAU,GAAK3qsB,EAAOsi2B,WAAar37B,EAAOmxX,KAAOp8R,EAAOui2B,UAAYt37B,EAAOmxX,IAAMnxX,EAAOg+X,QAAU,GAAKjpS,EAAOwi2B,SAClL,EAeMC,GAAY,SAAChE,EAAWr+K,EAAWsiL,GACvC,IAAMtxd,EAAc6ud,GAAmBxB,EAAWr+K,EAAW13vB,GACvDi66B,EAAe1C,GAAmBxB,EAAWiE,EAAYh66B,GAC/D,OAAO0od,EAAY3re,KAAK,SAAAk1X,GACtB,OAAOgokB,EAAa1y/B,IAAI,SAAAurb,GACtB,OARaonkB,EAQIjokB,EARKkokB,EAQDrnkB,EA9YX+mkB,EAuYA/k/B,KAAKgL,IAAIo6+B,EAAQxmkB,IAAKymkB,EAAQzmkB,KAvYpBimkB,EAuY0B7k/B,KAAKgL,IAAIo6+B,EAAQnsuB,OAAQosuB,EAAQpsuB,QAvYjD+ruB,EAuY0Dhl/B,KAAKiL,IAAIm6+B,EAAQxmkB,IAAMwmkB,EAAQ35jB,QAAU,EAAG45jB,EAAQzmkB,IAAMymkB,EAAQ55jB,QAAU,GAvY3Hq5jB,EAuY+H9k/B,KAAKiL,IAAIm6+B,EAAQnsuB,OAASmsuB,EAAQj4J,QAAU,EAAGk4J,EAAQpsuB,OAASosuB,EAAQl4J,QAAU,GAvYlM,CAC5D43J,WACAF,WACAG,YACAF,aAkYgB,IAACM,EAASC,EAtYZN,EAAUF,EAAUG,EAAWF,CA+Y3C,EACF,EACF,EACMQ,GAAW,SAACrE,EAAWr+K,EAAWsiL,GACtC,OAAOD,GAAUhE,EAAWr+K,EAAWsiL,GAAYj97B,KAAK,SAAAu6F,GACtD,OAzBkB,SAACy+1B,EAAWz+1B,GAGhC,IAFA,IAAI+i2B,GAAS,EACPC,EAAiBn3c,EAAMu2c,GAAUpi2B,GAC9BngK,EAAImgK,EAAOui2B,SAAU1igC,GAAKmgK,EAAOwi2B,UAAW3igC,IACnD,IAAK,IAAIq1B,EAAI8qI,EAAOqi2B,SAAUnt+B,GAAK8qI,EAAOsi2B,UAAWpt+B,IACnD6t+B,EAASA,GAAU9C,GAAgBxB,EAAW5+/B,EAAGq1B,GAAGiic,OAAO6riB,GAG/D,OAAOD,EAASlyO,EAASpyvB,KAAKuhI,GAAU6wnB,EAAS/gX,MACnD,CAgBWmzlB,CAAcxE,EAAWz+1B,EAClC,EACF,EAMMkj2B,GAAejD,GAEftu2B,GAAS,SAACpxJ,EAAQm3G,GACL1wD,GAAOzmD,GACfk8D,KAAK,SAAA9W,GACZA,EAAEs6Z,IAAI3lW,aAAa5C,EAAQuoW,IAAK1/c,EAAO0/c,IACzC,EACF,EACMqwd,GAAU,SAAC/v6B,EAAQm3G,GACPmuQ,GAAYtlX,GACpBgxuB,KAAK,WACMvqrB,GAAOzmD,GACfk8D,KAAK,SAAA9W,GACZ62uB,GAAS72uB,EAAG+xD,EACd,EACF,EAAG,SAAA/xD,GACDgsG,GAAOhsG,EAAG+xD,EACZ,EACF,EACMp5C,GAAU,SAACtX,EAAQ0wD,GACFo/C,GAAW9vG,GACnBuqrB,KAAK,WAChBirD,GAASx1uB,EAAQ0wD,EACnB,EAAG,SAAA/xD,GACDqB,EAAOi5Z,IAAI3lW,aAAa5C,EAAQuoW,IAAKt6Z,EAAEs6Z,IACzC,EACF,EACMu8U,GAAW,SAACx1uB,EAAQ0wD,GACxB1wD,EAAOi5Z,IAAI1la,YAAYm9D,EAAQuoW,IACjC,EACMnja,GAAO,SAAC46D,EAASztD,GACrB0nG,GAAOj6C,EAASztD,GAChBuyuB,GAASvyuB,EAASytD,EACpB,EAEMwuM,GAAQ,SAAC3lT,EAAQy6I,GACrBv+E,EAAKu+E,EAAU,SAACplI,EAAG/V,GACjB,IAAMnC,EAAU,IAANmC,EAAUU,EAASy6I,EAASn7I,EAAI,GAC1Cyw6B,GAAQ5y6B,EAAGkY,EACb,EACF,EACMohJ,GAAS,SAAChwG,EAAQg0F,GACtBv+E,EAAKu+E,EAAU,SAAAplI,GACb4mxB,GAASx1uB,EAAQpxC,EACnB,EACF,EAEMqU,GAAS,SAAAytF,GACb,IAAMuoW,EAAMvoW,EAAQuoW,IACG,OAAnBA,EAAIpnW,YACNonW,EAAIpnW,WAAW9zD,YAAYk7Z,EAE/B,EACMojD,GAAS,SAAAp5c,GACb,IAAM8zB,EAAWs/6B,GAAWpz8B,GACxB8zB,EAASz+E,OAAS,GACpB4mT,GAAMj8P,EAAS8zB,GAEjB9zD,GAAOggC,EACT,EAuBM6oF,GArBY,SAACv9F,EAAI53C,GACrB,IAMMuyuB,EAAY,SAAAx4nB,GAAO,OAAIniE,EAAGmiE,GAAWm5qB,EAASxquB,KAAKqxD,EAAQuoW,IAAIp0F,WAAagla,EAAS/gX,MAAO,EAOlG,MAAO,CACLxqa,IAdU,SAAAoyG,GACV,IAAKniE,EAAGmiE,GACN,MAAM,IAAIl3G,MAAM,gBAAkB7C,EAAO,eAAiBA,EAAO,SAEnE,OAAOuyuB,EAAUx4nB,GAASu4nB,MAAM,GAClC,EAUEC,YACA7quB,IATU,SAACqyG,EAASv3G,GACpB,IAAKo1C,EAAGmiE,GACN,MAAM,IAAIl3G,MAAM,oBAAsB7C,EAAO,eAAiBA,EAAO,SAEvE+5G,EAAQuoW,IAAIp0F,UAAY1rX,CAC1B,EAMF,CAEYygyB,CAAU36a,GAAQ,QACxB3gX,GAAM,SAAAoyG,GAAO,OAAIo7B,GAAIxtI,IAAIoyG,EAAS,EAClCryG,GAAM,SAACqyG,EAASv3G,GAAK,OAAK2yI,GAAIztI,IAAIqyG,EAASv3G,EAAO,EAEpDow6B,GAAgB,CAAC,OAAQ,IAAK,MAAO,UAAW,QAAS,aAAc,SAAU,SAAU,SAAU,MAAO,UAAW,KAAM,KAAM,KAAM,QAAS,QAAS,QAAS,QAAS,UAAW,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,aAAc,MAAO,WA8GjQ4yF,GAAY,SAAC3yF,EAAU4yF,EAAMx88B,EAAM8phB,GACvC,IA7gCiBzqkB,EAAGu0F,EA6gCdrlF,EAAQiu/B,EAAK5yF,EAAU5p3B,GAC7B,OA9gCiB3gD,EA8gCE,SAACI,EAAGD,GACrB,IAAMqlJ,EAAU232B,EAAK5yF,EAAUpq6B,GAC/B,OAAOi9/B,GAAc7yF,EAAUnq6B,EAAGolJ,EACpC,EAjhCoBjxD,EAihCjBrlF,EA9iCS,SAACwvP,EAAI1+P,GACjB,IAAK,IAAIpG,EAAI8kQ,EAAGrlQ,OAAS,EAAGO,GAAK,EAAGA,IAElCoG,EADU0+P,EAAG9kQ,GACRA,EAET,CAyBE8xxB,CA6gCajhN,EA7gCH,SAAC96jB,EAAG/V,GACZ26F,EAAMv0F,EAAEu0F,EAAK5kF,EAAG/V,EAClB,GACO26F,CA8gCT,EACM6o6B,GAAgB,SAAC7yF,EAAUr75B,EAAOC,GACtC,OAAOD,EAAMswD,KAAK,SAAA5/D,GAChB,OAAOuP,EAAIyiB,OAAOg0hB,EAAM2kX,EAAS9n1B,GAAI7iF,GACvC,EACF,EAEMy9/B,GAhBS,SAAC9yF,EAAU4yF,EAAMpo3B,GAC9B,OAAOA,EAAS17I,OAAS,EANf,SAACkx6B,EAAU4yF,EAAMpo3B,EAAU/0I,GAGrC,OAAOA,EAAEuq6B,EAAU4yF,EAFNpo3B,EAAS,GACTA,EAAStlI,MAAM,GAE9B,CAE+BlJ,CAAIgk6B,EAAU4yF,EAAMpo3B,EAAUmo3B,IAAatyO,EAAS/gX,MACnF,EAgBM0ggB,GA1FG,CACLtz5B,GAAIutiB,EAAS,CACXrxb,SAAUujB,GACV23G,QAASs3lB,GACT7kvB,UAAWgzxB,GACXvt3B,IAAK6mhB,KAEPl2gB,KAAMstiB,EAAS,CACbrxb,SAAUioD,GACVt6E,UAAWo3rB,KAEb98wB,OAAQopiB,EAAS,CACfnljB,IAAK6+pB,GACLy1E,OAAQA,GACRv0uB,IAAKytF,GACL7oE,OAAQ0w1B,KAEV90kB,MAAO4kR,EAAS,CACdnljB,IAAKqxF,GACLtxF,IAAK02xB,GACL9xwB,OAAQoo1B,GACRx4H,OA9BqB,SAACnjsB,EAAQ2iiB,IArpBrB,SAAC3he,EAASmuL,GACvB,IAAMo6K,EAAMvoW,EAAQuoW,IACpBgqd,EAAOpkoB,EAAO,SAAClgP,EAAG1H,GAChBu6uB,GAAOv4U,EAAKhia,EAAG0H,EACjB,EACF,CAkpBIwkY,CAAOkvJ,EAzoBc04M,EAwoBJr7uB,EAxoBkBupa,IAAIzsU,WAAY,SAACh5C,EAAKvpB,GAE3D,OADAupB,EAAIvpB,EAAKtzE,MAAQszE,EAAK9wE,MACfq6F,CACT,EAAG,CAAC,GAuoBF,IA6BE0yD,OAAQu9Z,EAAS,CACf94Z,OAAQA,GACRu0J,MAAOoqnB,GACP32rB,SAAUusE,GACVlvJ,OAAQwloB,GACR1iD,UAAW9ilB,GACX14F,QAASA,GACTxhB,KAAMA,KAER7yB,OAAQwgiB,EAAS,CACfpnD,OAAQA,GACRp5e,OAAQA,KAEV0uB,OAAQ8xgB,EAAS,CACflkJ,GAAIszX,EAAazpD,QACjB7huB,MAtEY,SAAAmpG,GACd,OAAOmirB,EAAavpD,QAAQ54nB,EAAQuoW,IAAIl6K,WAAU,GACpD,EAqEItwQ,KAAMokwB,EAAaxpD,WAErBnppB,MAAOuje,EAAS,CACdsvL,gBAtDoB,SAACrioB,EAAS/uB,GAChC,OAAO+uB,EAAQuoW,IAAI7uC,wBAAwBzoV,EAAMs3X,IACnD,EAqDI+5R,YAAaA,GACbn0X,YAAaA,KAEfvkW,SAAUmpiB,EAAS,CACjB1se,SAAUs/6B,GACV1//B,KAAMA,EACNqpD,OAAQA,GACRjgC,SA/Ea,SAAA2wF,GAAO,OAAIwirB,GAAgBxirB,GAASuoW,GAAI,EAgFrDh6F,OAAQA,GACRC,UAAWA,GACXF,UAAWA,GACXi0X,UA3Dc,SAAAvioB,GAChB,IAAMt+D,EAAMz7C,EAAK+5G,GACjB,OAAOqG,EAAS,CAAC,SAAU,WAAY,SAAU,WAAY,UAAW,QAAS,QAAS,WAAY,OAAQ3kE,EAChH,EAyDI8ne,YAxDgB,SAAAxpa,GAAO,OAAIsuQ,GAAUtuQ,GAAWkhrB,GAAOlhrB,EAAS,QAAUm5qB,EAAS/gX,MAAO,EAyD1F0pU,QAASl0uB,GACTq0uB,QAASt0uB,GACTi0uB,WAtFe,SAAA5hoB,GACjB,QAAKsuQ,GAAUtuQ,KAGO,SAAlB/5G,EAAK+5G,IAGFqG,EAASwyzB,GAAe5y6B,EAAK+5G,IACtC,EA+EI+hoB,WA9Ee,SAAA/hoB,GACjB,QAAKsuQ,GAAUtuQ,IAGRqG,EAAS,CAAC,KAAM,MAAO,KAAM,SAAUpgH,EAAK+5G,GACrD,EA0EIgioB,cAzEkB,SAAAhioB,GAAO,OAAIsuQ,GAAUtuQ,IAAkD,UAAtC/gB,GAAM+gB,EAAS,kBAA+B,IA2EnGhvB,GAAIA,EACJnzC,GAAIwkvB,GAkCFh+U,GAAc,SAAAhhX,GAClB,OAAO4hD,GAAS5hD,EAAW,QAC7B,EAKMwo6B,GAAW,SAACxo6B,EAAWyo6B,EAAuBC,GAClD,OAAOpyyB,GAAWt2H,EAAWyo6B,GAAuB/97B,KAAK,SAAAsvF,GACvD,OAAOs8D,GAAWt2H,EAAW0o6B,GAAsBh+7B,KAAK,SAAA5e,GACtD,OAhBau88B,EAgBIrnjB,GAhBE/gU,EAgBW,CAAC+Z,EAAOluG,GAfnCy88B,GAAY9yF,GAAU,SAACkzF,EAAWhs5B,GACvC,OAAO0r5B,EAAK1r5B,EACd,EAAGsjC,IAa8C/qI,IAAI,SAAA04B,GAC/C,MAAO,CACLosH,QACAluG,OACAle,QAEJ,GAtBY,IAACy69B,EAAMpo3B,CAuBrB,EACF,EACF,EAEM2o3B,GAAW,SAAC5o6B,EAAWq+B,GAC3B,OAnBiB,SAACr+B,EAAWq+B,GAC7B,IAAMwq4B,EAAOvi1B,GAAYtmF,EAAWq+B,GACpC,OAAOwq4B,EAAKtkgC,OAAS,EAAIuxxB,EAASpyvB,KAAKml+B,GAAQ/yO,EAAS/gX,MAC1D,CAgBS+zlB,CAAW9o6B,EAAWq+B,EAC/B,EACM0q4B,GAAc,SAAC/o6B,EAAWyo6B,EAAuBC,GACrD,OAAOF,GAASxo6B,EAAWyo6B,EAAuBC,GAAsBh+7B,KAAK,SAAAuzd,GAC3E,IAAM97J,EAAS,SAAAvgP,GACb,OAAOj0D,EAAGqS,EAAW4hD,EACvB,EACMon3B,EAAkB,0BAClBC,EAAgBrn3B,GAASq8Y,EAAMjkY,MAAOgv2B,EAAiB7moB,GACvD+moB,EAAetn3B,GAASq8Y,EAAMnye,KAAMk98B,EAAiB7moB,GAC3D,OAAO8moB,EAAcv+7B,KAAK,SAAA4trB,GACxB,OAAO4wQ,EAAax+7B,KAAK,SAAAm/rB,GACvB,OAAOl8qB,EAAG2qqB,EAAIuR,GAhQP,SAACj8tB,EAAOosH,EAAOluG,GAC5B,IAAM438B,EAAYyE,GAAav69B,GAC/B,OAAOm69B,GAASrE,EAAW1p2B,EAAOluG,EACpC,CA6P4Bq98B,CAAOlre,EAAMrwf,MAAOqwf,EAAMjkY,MAAOikY,EAAMnye,MAAQgquB,EAAS/gX,MAC9E,EACF,EACF,EACF,EAEMwgU,GAAU,SAAAt2nB,GAAK,OAAI/pG,EAAI+pG,EAAO6/qB,EAAavpD,QAAS,EAEpD6zR,GAAc,oBAEdC,GAAmB,0BAEnBC,GAAkB,yBAElBC,GAAW,CACfh3+B,SAAU62+B,GACVI,iBAP0B,MAAQJ,GAAc,QAAUA,GAAc,IAQxEK,cAAeJ,GACfZ,sBAP+B,MAAQY,GAAmB,QAAUA,GAAmB,IAQvFK,aAAcJ,GACdZ,qBAP8B,MAAQY,GAAkB,QAAUA,GAAkB,KAWhFK,GAA2B,SAAAtr4B,GAAQ,OAAI,SAACur4B,EAAUznoB,GACtD,IAF+BxlR,EAEzBkt5B,EAAWjngC,EAAKgngC,GAChB7jkB,EAAoB,QAAb8jkB,GAAmC,aAAbA,EAHOj89B,GAAX+uE,EAGuDit5B,GAH7Bl/7B,KAAK,SAAA98B,GAAK,OAAIg79B,GAASh79B,EAAO279B,GAASd,sBAAsB,GAAEjyR,KAAK9mL,EAAS/yc,GAAU,SAAAijL,GAAK,OAAIA,EAAM,EAAE,GAG/DgquB,EAClG,OAAO/4K,GAAU9qZ,EAAM1nU,EAAU8jQ,EACnC,CAAE,EACI2noB,GAA4BH,GAAyB,iBACrDI,GAAmBJ,GAAyB,SAC5CK,GAAwB,SAAA/jN,GAAM,OAAI1wE,GAAQ0wE,EAAOv4sB,MAAM9/D,MAAMg4yB,mBAAoB,EACjFqkL,GAAuB,SAAC13+B,EAAU8rG,GACtC,IAAM6r4B,EAAUH,GAAiBx3+B,GAC3B43+B,EAAUD,EAAQx/7B,KAAK,SAAAq7X,GAAI,OAAIn4Z,GAAMm4Z,EAAK,GAAE7wb,IAAI,SAAA04B,GAAK,OAAI7F,GAAK6F,EAAM,GAC1E,OAAO+uvB,GAAMutO,EAASC,EAAS,SAACpkkB,EAAMh+Z,GAAI,OAAKjL,EAAOiL,EAAM,SAAAs5Z,GAAG,OAAI+6B,EAAOm5Q,GAAQl0S,EAAI6jB,IAAItlL,OAAQ,SAAAskuB,GAAO,MAAiC,MAA7Bto6B,GAAMso6B,EAAS7l4B,IAAqB1wC,EAAGu26B,EAASn+jB,EAAK,EAAC,EAAC,GAAEmvS,MAAM,GAC9K,EAEMk1R,GAAsB,CAAC,CAC3B1v+B,KAAM,OACNt1B,MAAO,IACN,CACDs1B,KAAM,MACNt1B,MAAO,OACN,CACDs1B,KAAM,SACNt1B,MAAO,UACN,CACDs1B,KAAM,SACNt1B,MAAO,WAMHilgC,GAAiB,mCACjBC,GAAgB,4CAEhB/xN,GAAe,SAAAlhtB,GAAG,OApzBF,SAACxxF,EAAK8/B,GAC1B,OAAO/7B,GAAW/D,EAAK8/B,GAND,SAAC9/B,EAAKwzxB,GAC5B,OAAOxzxB,EAAIX,UAAUm0xB,EACvB,CAImCC,CAAgBzzxB,EAAK8/B,EAAOphC,QAAUsB,CACzE,CAkzB4BuzxB,CAAc/hsB,EAAK,KAAKnK,aAAc,EAC5Dq96B,GAAe,SAAAlz6B,GAAG,OAFJ,SAAAA,GAAG,OAAIgz6B,GAAe7jgC,KAAK6wF,IAAQiz6B,GAAc9jgC,KAAK6wF,EAAK,CAEnDmz6B,CAAYnz6B,GAAOy+rB,EAASpyvB,KAAK,CAC3Dt+B,MAAOmzyB,GAAalhtB,KACjBy+rB,EAAS/gX,MAAO,EACfv7W,GAAQ,SAAAyqE,GACZ,IAAM5sC,EAAM4sC,EAAUpgI,SAAS,IAC/B,OAAuB,IAAfwzF,EAAI9yF,OAAe,IAAM8yF,EAAMA,GAAKnK,aAC9C,EACMsrtB,GAAW,SAAAC,GAEf,OAhBgB,SAAArzyB,GAAK,MAAK,CAC1BA,MAAOmzyB,GAAanzyB,GACrB,CAcQszyB,CADOl/uB,GAAMi/uB,EAAW/tZ,KAAOlxV,GAAMi/uB,EAAWx1gB,OAASzpO,GAAMi/uB,EAAWv1gB,MAEnF,EAEMy1gB,GAAW,yDACXC,GAAY,gFACZH,GAAa,SAAC/tZ,EAAKznH,EAAOC,EAAMwzI,GAAK,MAAM,CAC/ChsB,MACAznH,QACAC,OACAwzI,QACD,EACKmiY,GAAmB,SAACnuZ,EAAKznH,EAAOC,EAAMwzI,GAC1C,IAAM/mX,EAAIntB,SAASkoX,EAAK,IAClB1zK,EAAIx0M,SAASygQ,EAAO,IACpB33R,EAAIk3B,SAAS0gQ,EAAM,IACnB73R,EAAImb,WAAWkwZ,GACrB,OAAO+hY,GAAW9ovB,EAAGqnL,EAAG1rO,EAAGD,EAC7B,EACM8oD,GAAa,SAAA2kvB,GACjB,GAAmB,gBAAfA,EACF,OAAOhjB,EAASpyvB,KAAK+0wB,GAAW,EAAG,EAAG,EAAG,IAE3C,IAAMM,EAAWJ,GAASv+vB,KAAK0+vB,GAC/B,GAAiB,OAAbC,EACF,OAAOjjB,EAASpyvB,KAAKm1wB,GAAiBE,EAAS,GAAIA,EAAS,GAAIA,EAAS,GAAI,MAE/E,IAAMC,EAAYJ,GAAUx+vB,KAAK0+vB,GACjC,OAAkB,OAAdE,EACKljB,EAASpyvB,KAAKm1wB,GAAiBG,EAAU,GAAIA,EAAU,GAAIA,EAAU,GAAIA,EAAU,KAErFljB,EAAS/gX,MAClB,EAoBMwuY,GAAO,SAAA3rkB,GACX,IAAIxyO,EAAQwyO,EAOZ,MAAO,CACLrtO,IAPU,WACV,OAAOnF,CACT,EAMEkF,IALU,SAAAsgD,GACVxlD,EAAQwlD,CACV,EAKF,EAsBMug7B,GAAa,WAAH,OApBE7lL,EAoBiB,SAAAx6yB,GAAC,OAAIA,EAAEssuB,QAAQ,EAnB1CnnQ,EAAUszU,GAAKztB,EAAS/gX,QACxBrkG,EAAS,WAAH,OAASu/J,EAAQ1le,MAAMm3D,KAAK4jvB,EAAU,EAW3C,CACL13yB,MAXY,WACZ8iU,IACAu/J,EAAQ3le,IAAIwrxB,EAAS/gX,OACvB,EASEhzD,MARY,WAAH,OAASkuH,EAAQ1le,MAAMwquB,QAAS,EASzCxquB,IARU,WAAH,OAAS0le,EAAQ1le,KAAM,EAS9BD,IARU,SAAAQ,GACV4lU,IACAu/J,EAAQ3le,IAAIwrxB,EAASpyvB,KAAK54B,GAC5B,GAZgB,IAAAw6yB,EACVr1U,EACAv/J,CAkB4C,EAE9C+5rB,GAAgB,SAACxkN,EAAQ8c,EAAY/me,GACzC,OAAO,SAAAjkN,GACL,IAAM2y3B,EAAgBv/B,KAChB1uP,GA/4BYzjQ,GA+4BKh9I,GACjB98Q,EAAO,WACX,IAAMmhvB,EAAgB2pM,GAAsB/jN,GACtC0kN,EAAY,SAAA5kkB,GAAI,OAAIkgX,EAAO9qT,UAAUz0f,MAAMq8zB,EAAY,CAC3D39zB,MAAO42V,GACN+pG,EAAKmf,IAAKu3R,EAAQ,EACjBA,GACF1kmB,EAAIq9rB,WAAWh5W,EAAOikW,EAAesqM,IACrCD,EAAcpggC,IAAI27yB,EAAO9qT,UAAU07W,cAAc9zC,EAAY,SAAAr8zB,GAAK,OAAIqxI,EAAIq9rB,WAAW1u0B,EAAM,GAAE,MAE7FqxI,EAAIq9rB,UAAUj7F,EAAOkmF,EAAesqM,IACpCD,EAAcpggC,IAAI27yB,EAAO9qT,UAAU07W,cAAc9zC,EAAYhrrB,EAAIq9rB,WAAW,EAAO,CACjFhw0B,MAAO42V,KAGb,EAEA,OADAiqd,EAAOrrjB,YAAc17K,IAAS+muB,EAAOlnuB,GAAG,OAAQG,GACzCwr7B,EAAc98/B,KACvB,CACF,EACMsu+B,GAAc,SAAAtn9B,GAAI,OAAIwjwB,EAAkBxjwB,EAAM,OAAQ,EACtDg2+B,GAAiB,SAAA5g/B,GAAK,OAAI9U,EAAI8U,EAAO,SAAA4K,GACzC,IAAM8F,EAAO9F,EAAK8F,MAAQ9F,EAAKqtE,OAAS,GACxC,OAAIi64B,GAAYtn9B,GACP,CACL8F,OACA1Q,MAAO4g/B,GAAeh2+B,EAAKwya,OAGtB,CACL1sa,OACAt1B,MAAOwvB,EAAKxvB,MAGlB,EAAG,EACGylgC,GAAiB,SAAC5kN,EAAQj8xB,EAAOqxW,EAAQj2D,GAAQ,OAAKlwT,EAAI8U,EAAO,SAAA4K,GACrE,IAAM8F,EAAO9F,EAAK8F,MAAQ9F,EAAKqtE,MAC/B,OAAIi64B,GAAYtn9B,GACP,CACL9uB,KAAM,iBACN40B,OACAu+8B,gBAAiB,WAAF,OAAQ4xB,GAAe5kN,EAAQrxxB,EAAKwya,KAAM/rE,EAAQj2D,EAAS,GAGrE,CACL1qS,OACA50B,KAAM,iBACNs/T,SAAU,WAAF,OAAQA,EAASxwS,EAAKxvB,MAAM,EACpC8o4B,QAASu8H,GAAcxkN,EAAQ5qb,EAAQzmW,EAAKxvB,OAGlD,EAAG,EACG0lgC,GAAsB,SAAC7kN,EAAQhgyB,GAAK,OAAK,SAAA7gB,GAC7C6gzB,EAAO/0D,YAAY,0BAA0B,EAAO,CAClD,CAACjruB,GAAQ7gB,GAEb,CAAE,EACI2lgC,GAAiB,SAAA90+B,GAAI,OAAIy0C,EAAKz0C,EAAM,SAAArB,GACxC,OAAIsn9B,GAAYtn9B,GACP,CAAAtjB,EAAA,GACFsjB,EAAK,CACRwya,KAAM2jkB,GAAen2+B,EAAKwya,SAGrB4xC,GAAWpkd,EAAKxvB,OAAS,CAACwvB,GAAQ,EAE7C,EAAG,EACGo2+B,GAA4B,SAAC/kN,EAAQj8xB,EAAOqxW,EAAQj2D,GAAQ,OAAK,SAAA//T,GAAQ,OAAIA,EAASwlgC,GAAe5kN,EAAQj8xB,EAAOqxW,EAAQj2D,GAAW,CAAD,EACtI6lsB,GAAiB,SAAChlN,EAAQilN,EAAWjl/B,GACzC,IAAMs9jB,EAAWrukB,EAAIg2/B,EAAW,SAAAhy/B,GAAK,MAAK,CACxCwhB,KAAMxhB,EAAM+oF,MACZ78F,MAAO,KAhIMmiC,EAgISruB,EAAM9T,MAhINmlgC,GAAahj+B,GAAOgvsB,QAAQ,kBAAMpirB,GAAW5sB,GAAOryB,IAAIsjyB,GAAS,GAAE7/D,WAAW,WACtG,IAAMvuS,EAASp+a,SAAS6F,cAAc,UACtCu4a,EAAOxlb,OAAS,EAChBwlb,EAAO1lb,MAAQ,EACf,IAAMmzmB,EAAgBztL,EAAOjpP,WAAW,MACxC02a,EAAc5kL,UAAU,EAAG,EAAG7I,EAAO1lb,MAAO0lb,EAAOxlb,QACnDizmB,EAAcxvC,UAAY,UAC1BwvC,EAAcxvC,UAAY9gjB,EAC1BswlB,EAAcvvC,SAAS,EAAG,EAAG,EAAG,GAChC,IAAMjjK,EAAOwyM,EAAc7kL,aAAa,EAAG,EAAG,EAAG,GAAG9oc,KAC9CylD,EAAI01X,EAAK,GACTruM,EAAIquM,EAAK,GACT/5a,EAAI+5a,EAAK,GACTh6a,EAAIg6a,EAAK,GACf,OAAOmzX,GAASC,GAAW9ovB,EAAGqnL,EAAG1rO,EAAGD,GACtC,IAiHuCjG,MACnCU,KAAM,cAjIO,IAAAyhC,CAkId,GACD,MAAO,CAAC,CACNzhC,KAAM,gBACNqlgC,UAAW,cACXxkN,SAAU,CACRt8X,OAAQk5J,EAASh/kB,OAAS,EAAIg/kB,OAAW93kB,EACzC2//B,mBAAmB,GAErBhmsB,SAAU,SAAAl7T,GACR,IAAM9E,EAAuB,WAAf8E,EAAK9E,MAAqB,GAAK8E,EAAK9E,MAClD6gzB,EAAO/0D,YAAY,0BAA0B,EAAO,CAClD,CAACjruB,GAAQ7gB,GAEb,GAEJ,EACMimgC,GAAkB,SAAAplN,GAAM,OAAI,WAChC,IACMqlN,EAA0B,WADZrlN,EAAO+pH,kBAAkB,mBACF,OAAS,SACpD/pH,EAAO/0D,YAAY,mBAAmB,EAAO,CAC3CprvB,KAAMwlgC,GAEV,CAAE,EACIC,GAAqB,SAAAtlN,GAAM,OAAI,WACnC,IACMqlN,EAA0B,OADZrlN,EAAO+pH,kBAAkB,mBACN,KAAO,KAC9C/pH,EAAO/0D,YAAY,mBAAmB,EAAO,CAC3CprvB,KAAMwlgC,GAEV,CAAE,EAcIto7B,GAAW,CAAC,CAChBpgF,KAAM,QACNkD,KAAM,QACN8vB,MAAO,SACN,CACDhzB,KAAM,SACNkD,KAAM,QACN8vB,MAAO,UACN,CACDhzB,KAAM,WACNkD,KAAM,UACN8vB,MAAO,YACP5L,MAAO,CAAC,CACN0Q,KAAM,OACNt1B,MAAO,MACN,CACDs1B,KAAM,cACNt1B,MAAO,QAER,CACDxC,KAAM,QACNkD,KAAM,UACN8vB,MAAO,QACP5L,MAAO,CAAC,CACN0Q,KAAM,OACNt1B,MAAO,IACN,CACDs1B,KAAM,MACNt1B,MAAO,OACN,CACDs1B,KAAM,SACNt1B,MAAO,OACN,CACDs1B,KAAM,YACNt1B,MAAO,YACN,CACDs1B,KAAM,eACNt1B,MAAO,cAER,CACDxC,KAAM,SACNkD,KAAM,UACN8vB,MAAO,mBACP5L,MAAO,CAAC,CACN0Q,KAAM,OACNt1B,MAAO,IACN,CACDs1B,KAAM,OACNt1B,MAAO,QACN,CACDs1B,KAAM,SACNt1B,MAAO,UACN,CACDs1B,KAAM,QACNt1B,MAAO,WAER,CACDxC,KAAM,SACNkD,KAAM,UACN8vB,MAAO,iBACP5L,MAAOog/B,KAEHoB,GAAa,SAAAvlN,GAAM,OAAIjjuB,GAASz7E,OA1Ef,SAAA0+yB,GACrB,IAAM5xb,EAAUu2oB,GAAepE,GAAiBvgN,IAChD,OAAI5xb,EAAQ9vX,OAAS,EACZuxxB,EAASpyvB,KAAK,CACnB9gC,KAAM,QACNkD,KAAM,UACN8vB,MAAO,QACP5L,MAAOqqW,IAGJyha,EAAS/gX,MAClB,CA+D6C02lB,CAAexlN,GAAQzikB,UAAW,EAEzEkoxB,GAAiB,SAACzlN,EAAQ0lN,GAC9B,IAIMC,EAAc,CAAC,CACnBhpgC,KAAM,cACNkD,KAAM,UACN8vB,MAAO,eACP5L,MARuB,CAAC,CACxB0Q,KAAM,YACNt1B,MAAO,KAMiBmC,OAAOqjgC,GAAe3E,GAAqBhgN,MAClE,CACDrjzB,KAAM,cACNkD,KAAM,aACN8vB,MAAO,gBACN,CACDhzB,KAAM,kBACNkD,KAAM,aACN8vB,MAAO,qBAQT,MAAO,CACLqsE,MAAO,WACPr/F,KAAM,WACNonB,MAJ2B,SAAf2h/B,EAAwB,CALlB,CAClB/ogC,KAAM,cACNkD,KAAM,QACN8vB,MAAO,iBAE2CruB,OAAOqkgC,GAAeA,EAM5E,EA2BMC,GAzBS,SAAC5lN,EAAQtpsB,GACtB,IAAMuoW,EAAM+gW,EAAO/gW,IAkBnB,MAAO,CACLs5V,UAlBgB,SAACtouB,EAAM9wE,GACvB8/c,EAAIs5V,UAAU7hsB,EAASzmC,EAAM9wE,EAC/B,EAiBEy7yB,SAhBe,SAACrnyB,EAAMpU,GACtB8/c,EAAI27V,SAASlksB,EAASnjG,EAAMpU,EAC9B,EAeE0mgC,UAdgB,SAAC/oM,EAAY39zB,GACf,KAAVA,EACF6gzB,EAAO9qT,UAAUjse,OAAO6zyB,EAAY,CAClC39zB,MAAO,MACNu3G,GAAS,GAEZspsB,EAAO9qT,UAAUptf,MAAMg1zB,EAAY,CACjC39zB,SACCu3G,EAEP,EAMF,EAKMov5B,GAAevuO,GAAM,MACrBwuO,GAAmB,SAACC,EAAaC,GACrC,OAAID,GAAeC,EACV,eACED,EACF,UAEA,OAEX,EAmBME,GAAqB,SAAAvsuB,GACzB,IAAMwsuB,EAActv+B,EAAO8iQ,EAAO,SAAAmmK,GAAI,OAAIgmkB,GAAahmkB,EAAKppV,QAAQ,GACpE,OAA2B,IAAvByv5B,EAAY7ngC,OACPuxxB,EAASpyvB,KAAK,MACZ0o+B,EAAY7ngC,SAAWq7R,EAAMr7R,OAC/BuxxB,EAASpyvB,KAAK,MAEdoyvB,EAAS/gX,MAEpB,EACMs3lB,GAAoB,SAAAtk+B,GACxB,IAAMuk+B,EAAWp3/B,EAAI6yB,EAAM,SAAAs5Z,GAAG,OA7BX,SAAAA,GACnB,IAAM4qkB,EAA8B,UAAhB5qkB,EAAIgH,QAClB6jkB,EAAgB1x9B,GAAG2x9B,GAAmB9qkB,EAAIzhK,OAAQ,MACxD,MAAoB,UAAhByhK,EAAIgH,QACC,CACLvic,KAAM,UAECmmgC,GAAeC,EACjB,CACLpmgC,KAAM,SACNymgC,QAASP,GAAiBC,EAAaC,IAGlC,CACLpmgC,KAAM,OAGZ,CAYoC0mgC,CAAanrkB,GAAKv7b,IAAI,GAClDoxF,EAAY8rB,EAASsp5B,EAAU,UAC/BG,EAAYzp5B,EAASsp5B,EAAU,UACrC,GAAKp16B,GAAcu16B,EAEZ,CACL,IAAMC,EAAU1p5B,EAASsp5B,EAAU,QACnC,OAAIp16B,GAAcw16B,GAAYD,EAElBv16B,GAAcw16B,IAAWD,EAG5B32O,EAAS/gX,OAFT+gX,EAASpyvB,KAAK,UAFdoyvB,EAASpyvB,KAAK,SAMzB,CAVE,OAAOoyvB,EAASpyvB,KAAK,OAWzB,EAcMip+B,GAAkB,SAACjJ,EAAW/m5B,GAAO,OAAK66qB,EAAQksO,EAAUjy/B,IAAK,SAAAk+C,GAAC,OAAI96B,EAAK86B,EAAEiwO,MAAO,SAAAj9R,GAAC,OAAIgrF,EAAGgvB,EAASh6G,EAAEg6G,QAAQ,EAAC,EAAE,EAClHiw5B,GAAe,SAAClJ,EAAW70/B,EAAQm9F,GACvC,IAttCc1gG,EAAGD,EAytCXu0R,EAruCI,SAAA9vO,GAKV,IAJA,IAAMH,EAAI,GACJ9lD,EAAO,SAAAgR,GACX80C,EAAE9lD,KAAKgR,EACT,EACS/V,EAAI,EAAGA,EAAIgrD,EAAIvrD,OAAQO,IAC9BgrD,EAAIhrD,GAAG48D,KAAK73D,GAEd,OAAO8lD,CACT,CA4tCgByv2B,CAHElq5B,EAAIrG,EAAO46Q,UAAW,SAAAojvB,GACpC,OAAO9mkB,GAAK8mkB,GAAQni8B,KAAK,SAAAi1X,GAAE,OAAIgtkB,GAAgBjJ,EAAW/jkB,EAAG,GAAE7ia,OAAOkvE,EACxE,IAEA,OA1tCc1gG,EA0tCAs0R,EAAMr7R,OAAS,EA1tCZ8G,EA0tCeu0R,EA1tCTt0R,EAAIwqxB,EAASpyvB,KAAKr4B,GAAKyqxB,EAAS/gX,MA2tCzD,EAGM+3lB,GAAU,SAACpJ,EAAW70/B,GAAM,OAAK+9/B,GAAalJ,EAAW70/B,EAAQ6wW,EAAQ,EAEzEqtpB,GAAc,SAACrJ,EAAW9juB,GAAK,OAAKu6c,EAAOv6c,EAAO,SAAAmmK,GAAI,OADhC,SAAC29jB,EAAW39jB,GAAI,OAAK4mkB,GAAgBjJ,EAAW39jB,GAAMq2B,OAAO,SAAAlsZ,GAAM,OAAKA,EAAOi07B,QAAQ,EAAE,CACrD6I,CAAoBtJ,EAAW39jB,EAAK,EAAE,EAChGknkB,GAAqB,SAACvJ,EAAW70/B,GAAM,OAL1B,SAACq+/B,EAAYr+/B,GAAM,OAAKA,EAAOs+/B,QAAS,CAKTC,CAAW1J,EAAW70/B,GAAQiuB,OAAO,SAAAuw+B,GAAS,OAAIN,GAAYrJ,EAAW2J,EAAUztuB,MAAM,EAAE,EACvI0tuB,GAAuB,SAAC5J,EAAW70/B,GAAM,OAL1B,SAACq+/B,EAAYr+/B,GAAM,OAAKA,EAAO0+/B,UAAW,CAKXC,CAAa9J,EAAW70/B,GAAQiuB,OAAO,SAAA8iQ,GAAK,OAAImtuB,GAAYrJ,EAAW9juB,EAAM,EAAE,EAiE7HovhB,GA/DW,SAAAC,GACf,IAAKx0yB,EAAQw0yB,GACX,MAAM,IAAIxpzB,MAAM,0BAElB,GAAqB,IAAjBwpzB,EAAM1qzB,OACR,MAAM,IAAIkB,MAAM,mCAElB,IAAMoyuB,EAAe,GACfq3E,EAAM,CAAC,EAqDb,OApDAxtvB,EAAKutvB,EAAO,SAACE,EAAOl/yB,GAClB,IAAMgtC,EAASvzC,EAAKylzB,GACpB,GAAsB,IAAlBlywB,EAAO14C,OACT,MAAM,IAAIkB,MAAM,kCAElB,IAAM4B,EAAM41C,EAAO,GACb73C,EAAQ+pzB,EAAM9nzB,GACpB,QAAiBoE,IAAbyjzB,EAAI7nzB,GACN,MAAM,IAAI5B,MAAM,0BAA4B4B,GACvC,GAAY,SAARA,EACT,MAAM,IAAI5B,MAAM,yCACX,IAAKgV,EAAQrV,GAClB,MAAM,IAAIK,MAAM,mCAElBoyuB,EAAahuuB,KAAKxC,GAClB6nzB,EAAI7nzB,GAAO,WAAc,IAAD,IAAAomgC,EAAA1lgC,UAAAxD,OAATuV,EAAI,IAAAU,MAAAiz/B,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJ5z/B,EAAI4z/B,GAAA3lgC,UAAA2lgC,GACjB,IAAMp+M,EAAYx1yB,EAAKvV,OACvB,GAAI+qzB,IAAclqzB,EAAMb,OACtB,MAAM,IAAIkB,MAAM,qCAAuC4B,EAAM,cAAgBjC,EAAMb,OAAS,KAAOa,EAAQ,UAAYkqzB,GAezH,MAAO,CACL94E,KAAM,WAAkB,IAAD,IAAAm3R,EAAA5lgC,UAAAxD,OAAbirzB,EAAQ,IAAAh1yB,MAAAmz/B,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAARp+M,EAAQo+M,GAAA7lgC,UAAA6lgC,GAChB,GAAIp+M,EAASjrzB,SAAW0qzB,EAAM1qzB,OAC5B,MAAM,IAAIkB,MAAM,+CAAiDwpzB,EAAM1qzB,OAAS,SAAWirzB,EAASjrzB,QAGtG,OADeirzB,EAASv/yB,GACVlC,MAAM,KAAM+L,EAC5B,EACApT,MArBY,SAAAgpzB,GACZ,IAAMC,EAAajmzB,EAAKgmzB,GACxB,GAAI73E,EAAatzuB,SAAWorzB,EAAWprzB,OACrC,MAAM,IAAIkB,MAAM,iDAAmDoyuB,EAAahmrB,KAAK,KAAO,aAAe89vB,EAAW99vB,KAAK,MAK7H,IAHgBsorB,EAAOtC,EAAc,SAAA+3E,GACnC,OAAO5ssB,EAAS2ssB,EAAYC,EAC9B,GAEE,MAAM,IAAInqzB,MAAM,gEAAkEkqzB,EAAW99vB,KAAK,MAAQ,eAAiBgmrB,EAAahmrB,KAAK,OAE/I,OAAO69vB,EAASrozB,GAAK0G,MAAM,KAAM+L,EACnC,EAUEi5C,IAAK,SAAAn9B,GACH/yB,QAAQkwD,IAAIn9B,EAAO,CACjBiitB,eACAvyrB,YAAaj+C,EACbk9E,OAAQzqE,GAEZ,EAEJ,CACF,GACOo1yB,CACT,EAKMA,GAAMF,GAAa,CAAC,CACxBj6Y,KAAM,IACL,CACDm8R,KAAM,CAAC,UACN,CACDnvrB,KAAM,CAAC,QAAS,SACf,CACDsz0B,OAAQ,CAAC,OAAQ,QAAS,SACzB,CACDrz0B,MAAO,CAAC,OAAQ,YAElB1Q,EAAC,CAAC,EACG49yB,IAGL,IAWM2+M,GAXgB,SAACjg+B,EAAO/+B,GAC5B,IAAMqy8B,EAAQgkD,GAAoBt39B,GAElC,OADgBk/9B,GAAQ5rD,EAAOry8B,GAChB67D,KAAK,SAAA21vB,GAClB,IAAMytM,EAAmBztM,EAAcA,EAAc97zB,OAAS,GACxDwpgC,EAAc1tM,EAAc,GAAGh/X,IAC/B2skB,EAAcF,EAAiBzskB,IAAMyskB,EAAiB5/jB,QACtD+/jB,EAAe/sD,EAAMzv8B,IAAIkJ,MAAMoz/B,EAAaC,GAClD,OAAO3B,GAAkB4B,EAC3B,GAAG/4R,MAAM,GACX,EAGM5xJ,GAAW,SAAAl+kB,GAAK,OAAIwE,GAAWxE,EAAO,OA7cX+uD,GAAT5sB,EA6c6CniC,GA7clB8P,IAAIsjyB,IAAUtjyB,IAAI,SAAA69D,GAAC,MAAI,IAAMA,EAAE3tE,KAAK,GAAE8vuB,MAAM3tsB,GA6cjBniC,EA7ctD,IAAAmiC,CA6c4D,EAC9E2m+B,GAAwB,SAAA34+B,GAC5B,IAAMonF,EAAUmirB,EAAavpD,QAAQhgtB,GACrC,MAAO,CACL44+B,YAAatvR,GAAOlioB,EAAS,gBAAgBu4nB,MAAM,IACnDwgQ,YAAa72P,GAAOlioB,EAAS,gBAAgBu4nB,MAAM,IACnDk5R,YAAavvR,GAAOlioB,EAAS,gBAAgBznG,IAAIoukB,IAAU4xJ,MAAM,IACjEm5R,gBAAiBxvR,GAAOlioB,EAAS,oBAAoBznG,IAAIoukB,IAAU4xJ,MAAM,IAE7E,EACMo5R,GAAkB,SAAApkgC,GACtB,IAAMqkgC,EAAWrkgC,EAAK,GAChBskgC,EAAiBtkgC,EAAKyQ,MAAM,GAalC,OAZA+mD,EAAK8s8B,EAAgB,SAAAxk/B,GACnB03C,EAAKh4D,EAAK6kgC,GAAW,SAAAlngC,GACnB6n6B,EAAOll5B,EAAO,SAAC0w5B,EAAW/w6B,GACxB,IAAM8kgC,EAAkBF,EAASlngC,GACT,KAApBongC,GAA0BpngC,IAAQsC,GAChC8kgC,IAAoB/zF,IACtB6zF,EAASlngC,GAAO,GAGtB,EACF,EACF,GACOkngC,CACT,EACMG,GAAe,SAACr1oB,EAAS0pc,EAAY9c,EAAQ1wxB,GAAG,OAAKV,EAAKwkW,EAAS,SAAAz2X,GAAI,OAAK2zL,EAAY0vnB,EAAO9qT,UAAUi2V,UAAU77zB,EAAKwtyB,EAAang0B,GAAM,GAAEsyuB,MAAM,GAAI,EACvJy5R,GAAgB79c,EAAM49c,GAAc,CAAC,OAAQ,SAAU,SAAU,SACjEE,GAAgB99c,EAAM49c,GAAc,CAAC,MAAO,SAAU,UAAW,UAqDjEG,GAAa,SAAAt5+B,GAAG,OAAIqY,GAAMkxvB,EAAavpD,QAAQhgtB,IAAMrgB,IAAI,SAAA04B,GAC7D,IAAM/+B,EAAS,CACb46Q,UAAW8rd,GAAQhgtB,EAAIqqQ,QAEzB,OAAOiuuB,GAAYjg+B,EAAO/+B,EAC5B,GAAGqmuB,MAAM,GAAI,EAkDP0wG,GAAmB,SAACh4yB,EAAOgyP,GAC/B,IAAM8juB,EAAYwB,GAAoBt39B,GAChCkh+B,EAAW5J,GAAoBxB,GAC/B/viB,EAAW72b,EAAOgy+B,EAAU,SAAAC,GAAK,OAAI3yiB,EAAOx8L,EAAO,SAAAovuB,GAAK,OAAIrh7B,EAAGoh7B,EAAMpy5B,QAASqy5B,EAAM,EAAC,GAC3F,OAAO95/B,EAAIy+c,EAAU,SAAA5tB,GAAI,MAAK,CAC5BppV,QAASopV,EAAKppV,QAAQuoW,IACtBxpL,OAAQwpuB,GAAsBxB,EAAW39jB,EAAKrqK,QAAQxmR,IAAI,SAAAslV,GAAG,OAAIA,EAAI79O,QAAQuoW,GAAG,GACjF,EACH,EA6BM+pjB,GAAmB,SAAChpN,EAAQrmhB,EAAO11R,EAAMglgC,GAC7C,IAAMC,EAAgC,IAAjBvvuB,EAAMr7R,OAC3Bm9D,EAAKk+N,EAAO,SAAAhrQ,GACV,IAAMw6+B,EAAUx6+B,EAAK+nF,QACf0y5B,EAA6BF,EAAezvpB,EAASwvpB,EACrDh/+B,EAAW27+B,GAAmB5lN,EAAQmpN,IAjCpB,SAACl/+B,EAAUo/+B,EAAaplgC,EAAM4xM,GACpDA,EAAa,UACf5rL,EAASsuxB,UAAU,QAASt0yB,EAAKwnU,OAE/B51H,EAAa,UACf5rL,EAASsuxB,UAAU,QAASt0yB,EAAK4nB,OAE/BgqL,EAAa,WACf5rL,EAAS2wxB,SAAS,SAAU6hN,GAAYx4/B,EAAK0a,SAE3Ck3L,EAAa,UACfwzzB,EAAYzuN,SAAS,QAAS6hN,GAAYx4/B,EAAKwa,OAEnD,CAsBI6q/B,CAAoBr/+B,EADA0E,EAAK8mQ,OAAOxmR,IAAI,SAAAslV,GAAG,OAAIqxqB,GAAmB5lN,EAAQzrd,EAAI,GAAE06Y,MAAMhltB,GACvChmB,EAAMmlgC,GAC7CnJ,GAAmBjgN,IAtBG,SAAC/1xB,EAAUhmB,EAAM4xM,GACzCA,EAAa,oBACf5rL,EAAS47+B,UAAU,2BAA4B5hgC,EAAKmkgC,iBAElDvyzB,EAAa,gBACf5rL,EAAS47+B,UAAU,uBAAwB5hgC,EAAKkkgC,aAE9CtyzB,EAAa,gBACf5rL,EAAS47+B,UAAU,uBAAwB5hgC,EAAKwr+B,aAE9C55xB,EAAa,gBACf5rL,EAAS47+B,UAAU,uBAAwBpJ,GAAYx4/B,EAAKikgC,aAEhE,CAUMqB,CAAsBt/+B,EAAUhmB,EAAMmlgC,GAEpCH,EAAW,WACb1J,GAASv/M,EAAQmpN,EAASllgC,EAAKulgC,QAE7BP,EAAW,WA3sCD,SAACjpN,EAAQ1wxB,EAAK3yB,GAC9Bm16B,GAASr22B,KAAK,oBAAoBhuB,MAAM,KAAM,SAAA+3O,GACxCA,IAAU7oR,GACZqjzB,EAAO9qT,UAAUjse,OAAO,SAAWu8P,EAAO,CAAC,EAAGl2P,EAElD,GACI3yB,GACFqjzB,EAAO9qT,UAAUptf,MAAM,SAAWnL,EAAM,CAAC,EAAG2yB,EAEhD,CAmsCMm6+B,CAAUzpN,EAAQmpN,EAASllgC,EAAKylgC,OAEpC,EACF,EA2BMC,GAAmB,SAAC3pN,EAAQrmhB,EAAOsxsB,EAASn51B,GAChD,IAAM7tI,EAAO6tI,EAAI71G,UACjB61G,EAAIzmH,QACJ20xB,EAAOj1D,YAAYyB,SAAS,YAvBR,SAACwzD,EAAQrmhB,EAAOsxsB,EAAShn+B,GAC7C,IAAM2lgC,EAAe3uH,EAASh34B,EAAM,SAAC9E,EAAOiC,GAAG,OAAK6p+B,EAAQ7p+B,KAASjC,CAAK,GACtEqF,EAAKolgC,GAAgB,GAAKjwuB,EAAMr7R,QAAU,GAC5CqpC,GAAMgyP,EAAM,IAAIl+N,KAAK,SAAA9zB,GACnB,IAAMyyxB,EAAgBulB,GAAiBh4yB,EAAOgyP,GACxCkwuB,EAAgBrlgC,EAAKy24B,EAAS2uH,EAAc,SAACtw7B,EAAQl4E,GAAG,MAAa,UAARA,GAA2B,aAARA,CAAkB,IAAK,EACvG0ogC,EAAoB1lgC,EAAIwlgC,EAAc,aACxCC,GAAiBzlgC,EAAIwlgC,EAAc,WACrCZ,GAAiBhpN,EAAQoa,EAAen2zB,EAAM4mjB,EAAMzmjB,EAAKwlgC,IAEvDE,GAhBmB,SAAC9pN,EAAQ/7yB,GACpC+7yB,EAAO/0D,YAAY,oBAAoB,EAAO,CAC5CprvB,KAAMoE,EAAK8lgC,SACX1gL,WAAW,GAEf,CAYQ2gL,CAAqBhqN,EAAQ/7yB,GAE/Bu7/B,GAAkBx/M,EAAQr4wB,EAAMs3a,IAAK,CACnCxc,UAAWqnkB,EACX9p/B,MAAO6p/B,GAEX,EAEJ,CAKII,CAAcjqN,EAAQrmhB,EAAOsxsB,EAAShn+B,GACtC+7yB,EAAOr/wB,OACT,EACF,EACMup+B,GAAY,SAAClqN,EAAQrmhB,GACzB,IAAMwwuB,EAAYxi+B,GAAMgyP,EAAM,IAAI1qR,IAAI,SAAA04B,GAAK,OAAI14B,EAAI0w0B,GAAiBh4yB,EAAOgyP,GAAQ,SAAAhrQ,GAAI,OA3GtD,SAACqxxB,EAAQlgX,EAAMmgkB,EAAoBxquB,GACpE,IAhgDkBnmQ,EAggDZ2vb,EAAM+gW,EAAO/gW,IACbmrjB,EAAS30uB,EAAOw5c,MAAMnvS,GACtB+4W,EAAW,SAACnisB,EAAS12F,GAAK,OAAKi/b,EAAI45V,SAASnisB,EAAS12F,IAAUi/b,EAAIm5V,UAAU1hsB,EAAS12F,EAAO,EACnG,OAAA3U,EAAA,CACEoT,MAAOo6xB,EAASuxN,EAAQ,SACxBzr/B,OAAQk6xB,EAAS/4W,EAAM,UACvBr0H,MAAOwzI,EAAIm5V,UAAUt4W,EAAM,SAC3BiqkB,UAvgDgBz6+B,EAugDMwwa,EAvgDCxwa,EAAI6pF,SAAS35F,eAwgDpCqM,MAAOozb,EAAIm5V,UAAUt4W,EAAM,QAAS,IACpC0pkB,OAAQd,GAAc1oN,EAAQlgX,GAC9B4pkB,OAAQf,GAAc3oN,EAAQlgX,IAC1BmgkB,EAAqBgI,GAAsBnokB,GAAQ,CAAC,EAE5D,CA6F6FuqkB,CAA2BrqN,EAAQrxxB,EAAK+nF,QAASup5B,GAAmBjgN,GAASrxxB,EAAK8mQ,OAAO,EAAC,GACrL,OAAO4yuB,GAAgB8B,EAAUh2R,WACnC,EACMm2R,GAAS,SAAAtqN,GACb,IAAMrmhB,EAAQoquB,GAAsB/jN,GACpC,GAAqB,IAAjBrmhB,EAAMr7R,OAAV,CAGA,IAAM2F,EAAOimgC,GAAUlqN,EAAQrmhB,GACzB4wuB,EAAiB,CACrB1qgC,KAAM,WACNq56B,KAAM,CAAC,CACLl90B,MAAO,UACPr/F,KAAM,UACNonB,MAAOwh/B,GAAWvlN,IACjBylN,GAAezlN,EAAQ,UAEtBwqN,EAAc,CAClB3qgC,KAAM,QACNkkB,MAAO,CAAC,CACNlkB,KAAM,OACNmpP,QAAS,EACTjlO,MAAOwh/B,GAAWvlN,MAGtBA,EAAOjzD,cAAcxkvB,KAAK,CACxByzF,MAAO,kBACPx3F,KAAM,SACNm0D,KAAMsn8B,GAAmBjgN,GAAUuqN,EAAiBC,EACpDlyuB,QAAS,CAAC,CACRz4R,KAAM,SACNlD,KAAM,SACN83B,KAAM,UACL,CACD50B,KAAM,SACNlD,KAAM,OACN83B,KAAM,OACNk4tB,SAAS,IAEXE,YAAa5ovB,EACb8x6B,SAAUlrX,EAAM8+c,GAAkB3pN,EAAQrmhB,EAAO11R,IAjCnD,CAmCF,EAcMwmgC,GAAe,CAAC,CACpB5qgC,KAAM,UACNlD,KAAM,OACNgzB,MAAO,WACP5L,MAAO,CAAC,CACN0Q,KAAM,SACNt1B,MAAO,UACN,CACDs1B,KAAM,OACNt1B,MAAO,QACN,CACDs1B,KAAM,SACNt1B,MAAO,YAER,CACDU,KAAM,UACNlD,KAAM,QACNgzB,MAAO,YACP5L,MAAO,CAAC,CACN0Q,KAAM,OACNt1B,MAAO,IACN,CACDs1B,KAAM,OACNt1B,MAAO,QACN,CACDs1B,KAAM,SACNt1B,MAAO,UACN,CACDs1B,KAAM,QACNt1B,MAAO,WAER,CACDwwB,MAAO,SACPhzB,KAAM,SACNkD,KAAM,UAEF6qgC,GAAa,SAAA1qN,GAAM,OAAIyqN,GAAanpgC,OAhDrB,SAAA0+yB,GACnB,IAAM5xb,EAAUu2oB,GAAenE,GAAgBxgN,IAC/C,OAAI5xb,EAAQ9vX,OAAS,EACZuxxB,EAASpyvB,KAAK,CACnB9gC,KAAM,QACNkD,KAAM,UACN8vB,MAAO,QACP5L,MAAOqqW,IAGJyha,EAAS/gX,MAClB,CAqCiDijgB,CAAa/xH,GAAQzikB,UAAW,EAqB3EotxB,GAAiB,SAAC3qN,EAAQl+wB,EAAM79B,EAAMglgC,GAC1C,IACMG,EAD8B,IAAhBtn+B,EAAKxjC,OACwBm7W,EAASwvpB,EAC1Dxt8B,EAAK35B,EAAM,SAAA8o+B,GACT,IAAM3g/B,EAAW27+B,GAAmB5lN,EAAQ4qN,IAvBtB,SAAC3g/B,EAAUhmB,EAAM4xM,GACrCA,EAAa,UACf5rL,EAASsuxB,UAAU,QAASt0yB,EAAK4nB,OAE/BgqL,EAAa,WACf5rL,EAAS2wxB,SAAS,SAAU6hN,GAAYx4/B,EAAK0a,QAEjD,CAiBIks/B,CAAkB5g/B,EAAUhmB,EAAMmlgC,GAC9BlJ,GAAkBlgN,IAjBE,SAAC/1xB,EAAUhmB,EAAM4xM,GACvCA,EAAa,oBACf5rL,EAAS2wxB,SAAS,mBAAoB32yB,EAAKmkgC,iBAEzCvyzB,EAAa,gBACf5rL,EAAS2wxB,SAAS,eAAgB32yB,EAAKkkgC,aAErCtyzB,EAAa,gBACf5rL,EAAS2wxB,SAAS,eAAgB32yB,EAAKwr+B,YAE3C,CAQMq7B,CAAoB7g/B,EAAUhmB,EAAMmlgC,GAElCH,EAAW,UACb1J,GAASv/M,EAAQ4qN,EAAQ3mgC,EAAKuhR,MAElC,EACF,EAwBMulvB,GAAkB,SAAC/qN,EAAQl+wB,EAAMmp8B,EAASn51B,GAC9C,IAAM7tI,EAAO6tI,EAAI71G,UACjB61G,EAAIzmH,QACJ20xB,EAAOj1D,YAAYyB,SAAS,YApBT,SAACwzD,EAAQl+wB,EAAMmp8B,EAAShn+B,GAC3C,IAAM2lgC,EAAe3uH,EAASh34B,EAAM,SAAC9E,EAAOiC,GAAG,OAAK6p+B,EAAQ7p+B,KAASjC,CAAK,GAC1E,GAAIqF,EAAKolgC,GAAgB,EAAG,CAC1B,IAAMoB,EAAe5mgC,EAAIwlgC,EAAc,QACjCC,GAAgBmB,GAAexmgC,EAAKolgC,GAAgB,EACtDC,GACFc,GAAe3qN,EAAQl+wB,EAAM79B,EAAM4mjB,EAAMzmjB,EAAKwlgC,IAE5CoB,GAdmB,SAAChrN,EAAQ/7yB,GAClC+7yB,EAAO/0D,YAAY,mBAAmB,EAAO,CAC3CprvB,KAAMoE,EAAKpE,KACXwp1B,WAAW,GAEf,CAUM4hL,CAAmBjrN,EAAQ/7yB,GAE7B0jC,GAAMkxvB,EAAavpD,QAAQxtsB,EAAK,KAAK25B,KAAK,SAAA9zB,GAAK,OAAI639B,GAAkBx/M,EAAQr4wB,EAAMs3a,IAAK,CACtFxc,UAAWuokB,EACXhr/B,MAAO6p/B,GACP,EACJ,CACF,CAKIqB,CAAalrN,EAAQl+wB,EAAMmp8B,EAAShn+B,GACpC+7yB,EAAOr/wB,OACT,EACF,EACM238B,GAAS,SAAAt4L,GACb,IAAMl+wB,EAAOki+B,GAAqBtH,GAAkB18M,GAASsjN,GAASh3+B,UACtE,GAAoB,IAAhBwV,EAAKxjC,OAAT,CAGA,IAAM6sgC,EAAWl8/B,EAAI6yB,EAAM,SAAA8o+B,GAAM,OAxRD,SAAC5qN,EAAQ1wxB,EAAK4w+B,GAC9C,IAAMjhjB,EAAM+gW,EAAO/gW,IACnB,OAAA5zc,EAAA,CACEsT,OAAQsgc,EAAI45V,SAASvpxB,EAAK,WAAa2vb,EAAIm5V,UAAU9oxB,EAAK,UAC1DzD,MAAOozb,EAAIm5V,UAAU9oxB,EAAK,QAAS,IACnCzvB,KAAM+ogC,GAAWt5+B,GACjBk2P,MAAOkjvB,GAAc1oN,EAAQ1wxB,IACzB4w+B,EAAoB+H,GAAsB34+B,GAAO,CAAC,EAE1D,CA+QuC87+B,CAA0BprN,EAAQ4qN,EAAO3rjB,IAAKihjB,GAAkBlgN,GAAQ,GACvG/7yB,EAAOokgC,GAAgB8C,GACvBZ,EAAiB,CACrB1qgC,KAAM,WACNq56B,KAAM,CAAC,CACLl90B,MAAO,UACPr/F,KAAM,UACNonB,MAAO2m/B,GAAW1qN,IACjBylN,GAAezlN,EAAQ,SAEtBwqN,EAAc,CAClB3qgC,KAAM,QACNkkB,MAAO,CAAC,CACNlkB,KAAM,OACNmpP,QAAS,EACTjlO,MAAO2m/B,GAAW1qN,MAGtBA,EAAOjzD,cAAcxkvB,KAAK,CACxByzF,MAAO,iBACPx3F,KAAM,SACNm0D,KAAMun8B,GAAkBlgN,GAAUuqN,EAAiBC,EACnDlyuB,QAAS,CAAC,CACRz4R,KAAM,SACNlD,KAAM,SACN83B,KAAM,UACL,CACD50B,KAAM,SACNlD,KAAM,OACN83B,KAAM,OACNk4tB,SAAS,IAEXE,YAAa5ovB,EACb8x6B,SAAUlrX,EAAMkgd,GAAiB/qN,EAAQ/wyB,EAAI6yB,EAAM,SAAA4nB,GAAC,OAAIA,EAAEu1Z,GAAG,GAAGh7c,IAlClE,CAoCF,EAEMongC,GAAW,SAACrrN,EAAQ5xb,EAASk9oB,GACjC,IAAMC,EAAoBD,EAAsB,CAAC,CAC/CzrgC,KAAM,QACNlD,KAAM,OACNgzB,MAAO,OACPq98B,UAAW,WACV,CACDnt+B,KAAM,QACNlD,KAAM,OACNgzB,MAAO,OACPq98B,UAAW,YAT8B,GAoBrCw+B,EAAkBpL,GAAqBpgN,GAAU,CAAC,CACtDngzB,KAAM,QACNlD,KAAM,cACNgzB,MAAO,eACPq98B,UAAW,WACV,CACDnt+B,KAAM,QACNlD,KAAM,cACNgzB,MAAO,eACPq98B,UAAW,WACV,CACDnt+B,KAAM,QACNlD,KAAM,SACNgzB,MAAO,gBACN,CACD9vB,KAAM,QACN8vB,MAAO,UACP5L,MAAO,CAAC,CACNlkB,KAAM,WACNlD,KAAM,UACNgzB,MAAO,mBAEN,GAmBC87+B,EAAgBr9oB,EAAQ9vX,OAAS,EAAI,CAAC,CAC1CuB,KAAM,UACNlD,KAAM,QACNgzB,MAAO,QACP5L,MAAOqqW,IACJ,GACL,OAAOm9oB,EAAiBjqgC,OAxDJ,CAAC,CACnBzB,KAAM,QACNlD,KAAM,QACNgzB,MAAO,SACN,CACD9vB,KAAM,QACNlD,KAAM,SACNgzB,MAAO,YAiDmCruB,OAAOkqgC,GAAiBlqgC,OAxB9C,CAAC,CACrBzB,KAAM,UACNlD,KAAM,QACNgzB,MAAO,YACP5L,MAAO,CAAC,CACN0Q,KAAM,OACNt1B,MAAO,IACN,CACDs1B,KAAM,OACNt1B,MAAO,QACN,CACDs1B,KAAM,SACNt1B,MAAO,UACN,CACDs1B,KAAM,QACNt1B,MAAO,aAS+EmC,OAAOmqgC,EACnG,EAEMC,GAAY,SAACzsjB,EAAK3vb,EAAK3yB,EAAMwC,GACjC,GAAoB,OAAhBmwB,EAAItH,SAAoC,OAAhBsH,EAAItH,QAC1B8qD,EAASn2E,IAASsyxB,EAAc9vxB,GAClC8/c,EAAI27V,SAAStrxB,EAAK3yB,EAAMwC,GAExB8/c,EAAIn9T,UAAUxyH,EAAK3yB,QAGrB,GAAI2yB,EAAIytD,SACN,IAAK,IAAIl+E,EAAI,EAAGA,EAAIywB,EAAIytD,SAASz+E,OAAQO,IACvC6sgC,GAAUzsjB,EAAK3vb,EAAIytD,SAASl+E,GAAIlC,EAAMwC,EAI9C,EACMwsgC,GAAqB,SAAC3rN,EAAQ0pD,EAAUzl2B,EAAM2ngC,GAClD,IAAM3sjB,EAAM+gW,EAAO/gW,IACbp6K,EAAQ,CAAC,EACTxkR,EAAS,CAAC,EACVwr/B,EAAuBvL,GAAmBtgN,GAC1C8rN,EAAwB3L,GAAoBngN,GAkBlD,GAjBK1vnB,EAAYrsL,EAAK4nB,SACpBg5Q,EAAMh5Q,MAAQ5nB,EAAK4nB,OAErBxL,EAAO1B,OAAS89+B,GAAYx4/B,EAAK0a,QAC7Bkt/B,EACFxr/B,EAAO5B,MAAQg++B,GAAYx4/B,EAAKwa,OACvBwgc,EAAIm5V,UAAUsxD,EAAU,WACjC7kkB,EAAMpmR,MAl5Da,SAAAja,GAAI,OAAIA,EAAOA,EAAK+a,QAAQ,MAAO,IAAM,EAAG,CAk5DjDws/B,CAAe9ngC,EAAKwa,QAEhCot/B,GACFxr/B,EAAO,gBAAkBo8+B,GAAYx4/B,EAAKq+T,QAC1CjiT,EAAO,kBAAoBo8+B,GAAYx4/B,EAAK+ngC,eAE5CnnuB,EAAMy9B,OAASr+T,EAAKq+T,OACpBz9B,EAAMonuB,YAAchogC,EAAKgogC,YACzBpnuB,EAAMmnuB,YAAc/ngC,EAAK+ngC,aAEvBH,GAAwBniK,EAAS3sxB,SAAU,CAC7C,IAAMmv7B,EAAa,CAAC,EAUpB,GATIN,EAAkBtpsB,SACpB4psB,EAAW,gBAAkBzP,GAAYx4/B,EAAKq+T,SAE5CspsB,EAAkBK,cACpBC,EAAW1q+B,QAAUi79B,GAAYx4/B,EAAKgogC,cAEpCH,GAAyBF,EAAkBzD,cAC7C+D,EAAW,gBAAkBjogC,EAAKkkgC,cAjvEtB,SAAAz+8B,GAChB,IAAK,IAAM90C,KAAK80C,EACd,GAAIpmD,EAAehE,KAAKoqD,EAAG90C,GACzB,OAAO,EAGX,OAAO,CACT,CA4uES8jzB,CAAUwzM,GACb,IAAK,IAAIrtgC,EAAI,EAAGA,EAAI6q2B,EAAS3sxB,SAASz+E,OAAQO,IAC5C6sgC,GAAUzsjB,EAAKyqZ,EAAS3sxB,SAASl+E,GAAIqtgC,EAG3C,CACA,GAAIJ,EAAuB,CACzB,IAAMK,EAAUlogC,EAChBoc,EAAO,oBAAsB8r/B,EAAQ/D,gBACrC/n/B,EAAO,gBAAkB8r/B,EAAQhE,YACjC9n/B,EAAO,gBAAkB8r/B,EAAQ18B,WACnC,CACAxwhB,EAAIn9T,UAAU4ntB,EAAQr+1B,EAAA,GACjB01/B,GAAiB/gN,GACjB3/xB,IAEL4+b,EAAIk6V,WAAWuwD,EAAQr+1B,EAAA,GAClB41/B,GAAqBjhN,GACrBn7gB,GAEP,EACMunuB,GAAoB,SAACpsN,EAAQ0pD,EAAUuhI,EAASn51B,GACpD,IAAMmtU,EAAM+gW,EAAO/gW,IACbh7c,EAAO6tI,EAAI71G,UACX2t+B,EAAe3uH,EAASh34B,EAAM,SAAC9E,EAAOiC,GAAG,OAAK6p+B,EAAQ7p+B,KAASjC,CAAK,GAC1E2yI,EAAIzmH,QACe,KAAfpnB,EAAK4nB,cACA5nB,EAAK4nB,MAEdm0xB,EAAOj1D,YAAYyB,SAAS,WAC1B,IAAKk9G,EAAU,CACb,IAAMn/jB,EAAO2/W,GAAMjmpB,EAAKsmS,MAAM0kc,MAAM,GAC9BntsB,EAAOoonB,GAAMjmpB,EAAK69B,MAAMmtsB,MAAM,GACpC+wE,EAAO/0D,YAAY,kBAAkB,EAAO,CAC1CnptB,KAAAA,EACAknN,QAASuhD,IAEXm/jB,EAAWo6J,GAAiBpH,GAAkB18M,GAASw8M,GAAUx8M,IAASv7uB,KAAK,SAAAq7X,GAAI,OAAIn4Z,GAAMm4Z,EAAM08jB,GAAUx8M,GAAQ,GAAE/wyB,IAAI,SAAA04B,GAAK,OAAIA,EAAMs3a,GAAG,GAAEk1R,UACjJ,CACA,GAAI3vuB,EAAKolgC,GAAgB,EAAG,CAC1B,IAAMyC,EAA2B,CAC/B/psB,OAAQl+T,EAAIwlgC,EAAc,UAC1BzB,YAAa/jgC,EAAIwlgC,EAAc,eAC/BqC,YAAa7ngC,EAAIwlgC,EAAc,gBAEjC+B,GAAmB3rN,EAAQ0pD,EAAUzl2B,EAAMoogC,GAC3C,IAAMC,EAAartjB,EAAIh9a,OAAO,UAAWyn0B,GAAU,IAC/C4iK,IAAerogC,EAAK07b,UAAY2skB,GAAcrogC,EAAK07b,UACrDqgX,EAAO/0D,YAAY,yBAErBs0Q,GAASv/M,EAAQ0pD,EAAUzl2B,EAAKuhR,MAClC,CAGA,GAFAw6hB,EAAOr/wB,QACPq/wB,EAAO8wD,YACHts2B,EAAKolgC,GAAgB,EAAG,CAC1B,IAAM2C,EAAkBnogC,EAAIwlgC,EAAc,WACpCC,GAAgB0C,GAAkB/ngC,EAAKolgC,GAAgB,EAC7DpK,GAAkBx/M,EAAQ0pD,EAAU,CAClCjna,UAAW8pkB,EACXvs/B,MAAO6p/B,GAEX,CACF,EACF,EACMthgC,GAAO,SAACy3yB,EAAQsrN,GACpB,IACI5hK,EADEzqZ,EAAM+gW,EAAO/gW,IAEfh7c,EAzkB0B,SAAC+7yB,EAAQwsN,GACvC,IA8BQC,EAGAjr+B,EAfAyi1B,EAlBFjk2B,EAAQ+g/B,GAAiB/gN,GACzBn7gB,EAAQo8tB,GAAqBjhN,GA2B7B0sN,EAAWF,EA1BuB,CACtC/8B,YAAazyM,EAAMh9wB,EAAO,gBAAgBivtB,MAAM,IAChDk5R,YAAa9qb,GAAS2/M,EAAMh9wB,EAAO,gBAAgBivtB,MAAM,KACzDm5R,gBAAiB/qb,GAAS2/M,EAAMh9wB,EAAO,oBAAoBivtB,MAAM,MAuBJ,CAAC,EAqBhE,OARU5juB,EAAA,GAlCU,CAClBsT,OAAQ,GACRF,MAAO,OACPut/B,YAAa,GACbC,YAAa,GACbtskB,SAAS,EACT9za,MAAO,GACP25P,MAAO,GACP88C,OAAQ,IA4BLtiT,EACA6kR,EACA6nuB,GA3BGzoJ,EAAcjk2B,EAAM,gBACtBsg/B,GAAmBtgN,IAAWikE,EACzB,CACL3hjB,OAAQ2hjB,GAGLjnF,EAAMn4f,EAAO,UAAU0rc,KAAK,iBAAO,CAAC,CAAC,EAAG,SAAAjua,GAAM,MAAK,CACxDA,SACD,KAIKmqsB,EAAUzvO,EAAMh9wB,EAAO,kBAAkBs3Y,GAAG0lY,EAAMn4f,EAAO,gBAAgB0rc,KAAK,iBAAO,CAAC,CAAC,EAAG,SAAAy7R,GAAW,MAAK,CAC9GA,cACD,GACKxq+B,EAAUw7vB,EAAMh9wB,EAAO,kBAAkBs3Y,GAAG0lY,EAAMn4f,EAAO,gBAAgB0rc,KAAK,iBAAO,CAAC,CAAC,EAAG,SAAA07R,GAAW,MAAK,CAC9GA,cACD,GACD5ggC,EAAA,GACKohgC,EACAjr+B,IAYT,CAshBamr+B,CAAwB3sN,EAAQmgN,GAAoBngN,IAC3DsrN,GACFrngC,EAAKsmS,KAAO,IACZtmS,EAAK69B,KAAO,IACRq+9B,GAAoBngN,KACtB/7yB,EAAKwr+B,YAAc,GACnBxr+B,EAAKkkgC,YAAc,GACnBlkgC,EAAKmkgC,gBAAkB,MAGzB1+J,EAAWzqZ,EAAIlqI,UAAUire,EAAOx8hB,UAAU6ud,WAAY,QAAS2tE,EAAO50D,YAEpEnnvB,EA3hB8B,SAAC+7yB,EAAQ1wxB,EAAKk9+B,GAChD,IAOMvtjB,EAAM+gW,EAAO/gW,IACb+sjB,EAAc1L,GAAmBtgN,GAAU/gW,EAAI45V,SAASvpxB,EAAK,mBAAqB2vb,EAAIm5V,UAAU9oxB,EAAK,eAAiB2vb,EAAIm5V,UAAU9oxB,EAAK,gBAAkB2vb,EAAI45V,SAASvpxB,EAAK,kBAC7K28+B,EAAc3L,GAAmBtgN,GAAUq/M,GAAoBpgjB,EAAK3vb,EAAK,YAAc2vb,EAAIm5V,UAAU9oxB,EAAK,eAAiB2vb,EAAIm5V,UAAU9oxB,EAAK,gBAAkB+v+B,GAAoBpgjB,EAAK3vb,EAAK,WACpM,OAAAjkB,EAAA,CACEoT,MAAOwgc,EAAI45V,SAASvpxB,EAAK,UAAY2vb,EAAIm5V,UAAU9oxB,EAAK,SACxD3Q,OAAQsgc,EAAI45V,SAASvpxB,EAAK,WAAa2vb,EAAIm5V,UAAU9oxB,EAAK,UAC1D08+B,YAAaA,QAAiDA,EAAc,GAC5EC,YAAaA,QAAiDA,EAAc,GAC5E3psB,OAfgB,SAAC28I,EAAK3vb,GACtB,IAAMs9+B,EAAiBh0R,GAAOigD,EAAavpD,QAAQhgtB,GAAM,gBACzD,OAAIgx+B,GAAmBtgN,IAAW4sN,EAAe99R,SACxC89R,EAAe39R,MAAM,IAEvBhwR,EAAIm5V,UAAU9oxB,EAAK,WAAa+v+B,GAAoBr/M,EAAO/gW,IAAK3vb,EAAK,iBAAmB+v+B,GAAoBr/M,EAAO/gW,IAAK3vb,EAAK,WAAa,EACnJ,CASUo68B,CAAUzqhB,EAAK3vb,GACvBqwa,UAAWsf,EAAIh9a,OAAO,UAAW3S,GAAK,GACtCzD,MAAOozb,EAAIm5V,UAAU9oxB,EAAK,QAAS,IACnCk2P,MAAOkjvB,GAAc1oN,EAAQ1wxB,IACzBk9+B,EAAiBvE,GAAsB34+B,GAAO,CAAC,EAEvD,CAqgBau9+B,CAA4B7sN,EAAQ0pD,EAAUy2J,GAAoBngN,IAErEmgN,GAAoBngN,KACtB/7yB,EAAKwr+B,YAAc,GACnBxr+B,EAAKkkgC,YAAc,GACnBlkgC,EAAKmkgC,gBAAkB,IAI7B,IAAMh6oB,EAAUu2oB,GAAelE,GAAkBzgN,IAC7C5xb,EAAQ9vX,OAAS,GACf2F,EAAK4nB,QACP5nB,EAAK4nB,MAAQ5nB,EAAK4nB,MAAMtM,QAAQ,0BAA2B,KAG/D,IAAMut/B,EAAe,CACnBjtgC,KAAM,OACNmpP,QAAS,EACTjlO,MAAOsn/B,GAASrrN,EAAQ5xb,EAASk9oB,IAc7ByB,EAAa5M,GAAoBngN,GARX,CAC1BngzB,KAAM,WACNq56B,KAAM,CAAC,CACLl90B,MAAO,UACPr/F,KAAM,UACNonB,MAAO,CAAC+o/B,IACPrH,GAAezlN,EAAQ,WAVG,CAC7BngzB,KAAM,QACNkkB,MAAO,CAAC+o/B,IAWV9sN,EAAOjzD,cAAcxkvB,KAAK,CACxByzF,MAAO,mBACPx3F,KAAM,SACNm0D,KAAMo08B,EACNh3F,SAAUlrX,EAAMuhd,GAAmBpsN,EAAQ0pD,EAAUzl2B,GACrDq0R,QAAS,CAAC,CACRz4R,KAAM,SACNlD,KAAM,SACN83B,KAAM,UACL,CACD50B,KAAM,SACNlD,KAAM,OACN83B,KAAM,OACNk4tB,SAAS,IAEXE,YAAa5ovB,GAEjB,EAEMg85B,GAAmB,SAAAjgH,GAMvBipH,EAAO,CACL+jG,cAAenid,EAAMtijB,GAAMy3yB,GAAQ,GACnCitN,iBAAkBpid,EAAMytb,GAAQt4L,GAChCktN,kBAAmBrid,EAAMy/c,GAAQtqN,GACjCmtN,qBAAsBtid,EAAMtijB,GAAMy3yB,GAAQ,IACzC,SAAC36uB,EAAM1oE,GAAI,OAAKqjzB,EAAO1yD,WAAW3wvB,EAAM,kBAVzBsI,EAUyCogE,OATrDs37B,GAAoBD,GAAkB18M,KACxC/6yB,KAFc,IAAAA,CAU8C,EAAC,EACnE,EAIMu+Q,GAAYl0L,EACZg46B,GAAa,SAAAltM,GACjB,IAAMgzM,EAAU,SAACnk1B,EAAMppL,GAAI,OAAK+3xB,GAAO3umB,EAAMppL,GAAMs2d,OAAO,SAAAx7O,GAAI,OAAIp+M,SAASo+M,EAAM,IAAM,CAAC,EAAE,EAE1F,OAAOy/kB,EAAc97zB,OAAS,GAAK41uB,EAAOkmF,EADlB,SAAAnxoB,GAAI,OAAImk1B,EAAQnk1B,EAAM,YAAcmk1B,EAAQnk1B,EAAM,UAAW,GACT4mmB,EAASpyvB,KAAK28xB,GAAiBvqC,EAAS/gX,MACtH,EACMo4lB,GAAW,SAACv/9B,EAAOyyxB,EAAekpM,GACtC,OAAIlpM,EAAc97zB,QAAU,EACnBuxxB,EAAS/gX,OAETg0lB,GAAYn79B,EAAO279B,EAASd,sBAAuBc,EAASb,sBAAsBxz/B,IAAI,SAAA+vJ,GAAM,MAAK,CACtGA,SACA26H,MAAOygiB,EACR,EAEL,EAeMizM,GAAsB,SAAArtN,GAC1B,IAAMvrsB,EAAU6osB,GAAKztB,EAAS/gX,QACxBw+lB,EAAiBhwN,GAAK,IACxB4hC,EAAmBrvD,EAAS/gX,OAC1By+lB,EAAYh2O,GAAM,WAClBi2O,EAAyB,SAAApsgC,GAAG,OAAI890B,EAAiBhrG,OAAO,SAAAvvb,GAAO,OAAKA,EAAQvjT,EAAI,EAAE,EAElFyl0B,EAAS,WAAH,OAASg9L,GA5lEC,SAAA7jN,GAAM,OAAInnB,EAAavpD,QAAQ0wE,EAAOx8hB,UAAUqjjB,SAAU,CA4lEjC4mM,CAAgBztN,GAASw8M,GAAUx8M,GAAS,EACrFisH,EAAc,WAAH,OAFM43F,GAA0BnH,GAAkB18M,GAASw8M,GAAUx8M,IAEjDv7uB,KAAK,SAAAip8B,GAAkB,OAjiE9CC,EAiiE0Dj3O,GAAM/uvB,GAAM+l+B,GAAqB7mM,IAASpiwB,KAAK98B,IAAQ,SAACi2yB,EAAYC,GAC1I,OAAIn2vB,EAAGk2vB,EAAYC,GACb0vL,EAAUG,GACL79O,EAASpyvB,KAxBT,SAAAqia,GAAI,MAAK,CACtBppV,QAASopV,EACTonkB,SAAUr3O,EAAS/gX,OACnBw4lB,WAAYz3O,EAAS/gX,OACrBtrJ,UAAW,CAACs8K,GACb,CAmB4B8tkB,CAAOF,IAErB79O,EAASpyvB,KApBR,SAAC28xB,EAAezyxB,EAAOm4Z,GAAI,MAAM,CAC/CppV,QAASopV,EACTonkB,SAAUA,GAASv/9B,EAAOyyxB,EAAekpM,IACzCgE,WAAYA,GAAWltM,GACvB52iB,UAAWA,GAAU42iB,GACtB,CAe4ByzM,CAAQ9J,GAAsB/jN,GAAS49B,EAAY8vL,IAGrE79O,EAAS/gX,MAClB,GA1iEqB6+lB,EAAIlp8B,KAAK6qB,GAAhB,IAAAq+6B,CA0iEX,EAAE,EACCG,EAAsB,SAAAr55B,GAE1B,OADiB9sE,GAAM8sE,EAAQiC,SACfznG,IAAI,SAAA04B,GAClB,IAAM819B,EAAYwB,GAAoBt39B,GAChCyyxB,EAAgBysM,GAAQpJ,EAAWhp5B,GAASw6nB,MAAM,IAClD8+R,EAASh9O,EAAMqpC,EAAe,SAAC5guB,EAAKsmW,GASxC,OARIA,EAAKo+jB,WACP1k6B,EAAIw06B,OAAQ,EACQ,IAAhBlukB,EAAKrqK,OACPj8L,EAAIy06B,SAAU,EACLnukB,EAAKrqK,OAASqqK,EAAK6pa,SAAW8zJ,EAAU98jB,KAAK33M,UACtDxvJ,EAAI006B,QAAS,IAGV106B,CACT,EAAG,CACDw06B,OAAO,EACPC,SAAS,EACTC,QAAQ,IAEV,MAAO,CACL9G,UAAWJ,GAAmBvJ,EAAWhp5B,GAASq6nB,SAClDq/R,YAAa9G,GAAqB5J,EAAWhp5B,GAASq6nB,SACtDi/R,SAEJ,EACF,EACMK,EAAe,WACnB355B,EAAQpwG,IA93BG,SAAAY,GACb,IACIykD,EADA03d,GAAS,EAEb,OAAO,WACL,IAAKA,EAAQ,CACXA,GAAS,EAAK,QAAAitf,EAAAvsgC,UAAAxD,OAFPuV,EAAI,IAAAU,MAAA85/B,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJz6/B,EAAIy6/B,GAAAxsgC,UAAAwsgC,GAGX5k9B,EAAIzkD,EAAE6C,MAAM,KAAM+L,EACpB,CACA,OAAO61C,CACT,CACF,CAo3BgBw+I,CAAO+juB,EAAP/juB,IACZg3oB,EAAmBzquB,EAAQnwG,MAAMmgE,KAAKqp8B,GACtCry8B,EAAK6x8B,EAAehpgC,MAAOhF,EAC7B,EACMivgC,EAAe,SAAAtm9B,GAGnB,OAFAA,IACAql9B,EAAejpgC,IAAIipgC,EAAehpgC,MAAMhD,OAAO,CAAC2mD,KACzC,WACLql9B,EAAejpgC,IAAIwyB,EAAOy2+B,EAAehpgC,MAAO,SAAAwoE,GAAC,OAAIA,IAAM7kB,CAAO,GACpE,CACF,EACMgg1B,EAAU,SAACn2vB,EAAKqyU,GAAU,OAAKoqjB,EAAa,kBAAM955B,EAAQnwG,MAAMisuB,KAAK,WACzEz+lB,EAAIqmxB,YAAW,EACjB,EAAG,SAAA1jzB,GACDq9B,EAAIqmxB,YAAYh0c,EAAW1vW,IAAYursB,EAAOx8hB,UAAU44hB,aAC1D,EAAE,EAAE,EACEoyN,EAAoB,SAAC183B,EAAKqyU,EAAYx5R,GAAQ,OAAK4j1B,EAAa,kBAAM955B,EAAQnwG,MAAMisuB,KAAK,WAC7Fz+lB,EAAIqmxB,YAAW,GACfrmxB,EAAIq9rB,WAAU,EAChB,EAAG,SAAA16tB,GACDq9B,EAAIqmxB,YAAYh0c,EAAW1vW,IAAYursB,EAAOx8hB,UAAU44hB,cACxDtqqB,EAAIq9rB,UAAUxkpB,EAASl2E,GACzB,EAAE,EAAE,EACEg65B,EAAuB,SAAAC,GAAa,OAAIxvL,EAAiB/oX,OAAO,SAAAxxK,GAAO,OAAIA,EAAQoptB,OAAOW,EAAc,EAAE,EAc1GC,EAAsB,SAAC9o+B,EAAS+o+B,GAAU,OAAK,SAAA983B,GACnD,OAAO083B,EAAkB183B,EAAK,SAAAr9B,GAAO,OAAI845B,EAAU945B,EAAQiC,QAAQ,EAAE,kBAAMspsB,EAAO+pH,kBAAkBlk4B,KAAa+o+B,CAAU,EAC7H,CAAE,EACIC,EAAyBF,EAAoB,kBAAmB,UAChEG,EAA4BH,EAAoB,kBAAmB,MAEzE,OADA3uN,EAAOlnuB,GAAG,6CAA8Cs17B,GACjD,CACLW,aApBmB,SAAAj93B,GAAG,OAAIm2vB,EAAQn2vB,EAAK,SAAApzD,GAAC,OAAI,CAAK,EAAE,EAqBnDsw7B,iBApBuB,SAAAl93B,GAAG,OAAIm2vB,EAAQn2vB,EAAK,SAAAr9B,GAAO,OAAI845B,EAAU945B,EAAQiC,QAAQ,EAAE,EAqBlFu45B,cApBoB,SAAAP,GAAa,OAAI,SAAA583B,GAAG,OAAIm2vB,EAAQn2vB,EAAK,SAAAr9B,GAAO,OAAI845B,EAAU945B,EAAQiC,UAAY+35B,EAAqBC,EAAc,EAAE,CAAD,EAqBtIQ,iBApBuB,SAAAC,GAAgB,OAAI,SAAAr93B,GAAG,OAAIm2vB,EAAQn2vB,EAAK,SAAAr9B,GAAO,OAAI845B,EAAU945B,EAAQiC,UAAYy45B,IAAmB34R,QAAQ,EAAE,CAAD,EAqBpI44R,uBApB6B,SAACD,EAAkBT,GAAa,OAAK,SAAA583B,GAAG,OAAIm2vB,EAAQn2vB,EAAK,SAAAr9B,GAAO,OAAI845B,EAAU945B,EAAQiC,UAAYy45B,IAAmB34R,UAAYi4R,EAAqBC,EAAc,EAAE,CAAD,EAqBlMW,iBApBuB,SAAAv93B,GAAG,OAAIm2vB,EAAQn2vB,EAAK,SAAA2vJ,GAAQ,OAAI+ruB,EAAuB,YAAY,EAAE,EAqB5F8B,mBApByB,SAAAx93B,GAAG,OAAIm2vB,EAAQn2vB,EAAK,SAAA2vJ,GAAQ,OAAI+ruB,EAAuB,cAAc,EAAE,EAqBhGY,eACAmB,wBArB8B,SAAAz93B,GAC9B,OAAO083B,EAAkB183B,EAAK89oB,EAAO,SAAAn7qB,GAEnC,OADiB9sE,GAAM8sE,EAAQiC,QAAS8l5B,GAAUx8M,IAClC7pV,OAAO,SAAAxub,GAAK,OAhHpB,SAAC8jS,EAAOrzM,GAAQ,OAAKl4C,GAAQurP,EAAOrzM,GAAU02mB,QAAS,CAgH/B7upB,CAAMt4C,EAAO,UAAU,EACzD,EACF,EAiBEkn+B,yBACAC,4BACAr65B,QAASA,EAAQnwG,IAErB,EAEI4tC,GAAS68rB,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,yBAElC4ogC,GAAgB,uBAChBC,GAAeD,GAAgB,OAC/BE,GAAkBF,GAAgB,UAClCvz+B,GAAU,SAAAp8B,GACd,IAAI8oD,EACE5kC,EAAiC,QAAxB4kC,EAAKzW,GAAOud,cAAgC,IAAZ9G,EAAgBA,EAAK,GACpE,OAAO4ouB,EAAQxtwB,EAAO,SAAA4K,GAAI,OAAIkhwB,EAASxquB,KAAK12B,EAAKorX,QAAQl6Y,GAAM,EACjE,EACM8vgC,GAAU,WAAH,OAAS1z+B,GAAQwz+B,GAAc,EACtCG,GAAa,WAAH,OAAS3z+B,GAAQyz+B,GAAiB,EAE5CG,GAAoB,SAAA7vN,GAAM,OAAI,SAAAluqB,GAClC,IAAM+zrB,EAAc,WAClB/zrB,EAAIqmxB,WAAWn4G,EAAOx8hB,UAAU44hB,aAClC,EAGA,OAFA4D,EAAOlnuB,GAAG,aAAc+svB,GACxBA,IACO,WACL7lB,EAAOl7tB,IAAI,aAAc+gvB,EAC3B,CACF,CAAE,EA2OIuwG,GAAkB,SAAAp2H,GAAM,OAAI,SAAAluqB,GAChC,IAAM+zrB,EAAc,WAClB/zrB,EAAIqmxB,WAAWn4G,EAAOx8hB,UAAU44hB,aAClC,EAGA,OAFA4D,EAAOlnuB,GAAG,aAAc+svB,GACxBA,IACO,WACL7lB,EAAOl7tB,IAAI,aAAc+gvB,EAC3B,CACF,CAAE,EAsQI4wF,GAAS,SAAAz2G,GACb,IAAM8vN,EAAmBzC,GAAoBrtN,IApwE9B,SAAAA,GACf,IAAMspH,EAAiBtpH,EAAOl6yB,QAAQy0F,SACtC+u0B,EAAe,sBAAuB,CACpCz9K,UAAW,WACX5ouB,QAAS08+B,KAEXr2F,EAAe,sBAAuB,CACpCz9K,UAAW,WACX5ouB,QAAS28+B,KAEXt2F,EAAe,oBAAqB,CAClCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,mBAAoB,CACjCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,eAAgB,CAC7Bz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,2BAA4B,CACzCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,aAAc,CAC3Bz9K,UAAW,UACX5ouB,SAAU20rB,GAASm5B,WAAWH,YAEhC04L,EAAe,wBAAyB,CACtCz9K,UAAW,WACX5ouB,QAAS,KAEXqm5B,EAAe,uBAAwB,CACrCz9K,UAAW,WACX5ouB,QAAS,KAEXqm5B,EAAe,mBAAoB,CACjCz9K,UAAW,WACX5ouB,QAAS,KAEXqm5B,EAAe,gBAAiB,CAC9Bz9K,UAAW,SACX5ouB,QAhGwB,+IAkG1Bqm5B,EAAe,6BAA8B,CAC3Cz9K,UAAW,WACX5ouB,QAAS,KAEXqm5B,EAAe,yBAA0B,CACvCz9K,UAAW,WACX5ouB,QAAS,IAEb,CA+sEEs3E,CAASyltB,GACTigH,GAAiBjgH,GAxQE,SAACA,EAAQ8vN,GAC5B,IAAM3lN,EAAM,SAAAtkxB,GAAO,OAAI,kBAAMm6wB,EAAO/0D,YAAYpltB,EAAS,CAAD,EAClDkq+B,EAAsB,SAACpzgC,EAAM2iF,GACjC,QAAI0guB,EAAOmgH,sBAAsB7g1B,EAAKz5C,WACpCm6wB,EAAO5/X,GAAG5zZ,SAAS874B,YAAY3r6B,EAAI0O,EAAA,GAC9Bi0E,EAAK,CACR6/O,SAAU70Q,EAAWg1B,EAAK6/O,UAAY7/O,EAAK6/O,SAAWgrf,EAAI7quB,EAAKz5C,aAE1D,EAIX,EACMmq+B,EAA4B,SAACrzgC,EAAM2iF,GACnC0guB,EAAOmgH,sBAAsB7g1B,EAAKz5C,UACpCm6wB,EAAO5/X,GAAG5zZ,SAASg84B,kBAAkB7r6B,EAAI0O,EAAA,GACpCi0E,EAAK,CACR6/O,SAAU70Q,EAAWg1B,EAAK6/O,UAAY7/O,EAAK6/O,SAAWgrf,EAAI7quB,EAAKz5C,WAGrE,EACMoq+B,EAAoB,SAAAhsgC,GACxB+7yB,EAAO/0D,YAAY,kBAAkB,EAAO,CAC1CnptB,KAAM79B,EAAKisgC,QACXlnxB,QAAS/kP,EAAKuzR,YAElB,EACM24uB,EAAkB,CAACJ,EAAoB,uBAAwB,CACnEt7+B,KAAM,oBACNtQ,KAAM,yBACN0hB,QAAS,0BACToi2B,QAAS6nI,EAAiBd,mBACxBe,EAAoB,sBAAuB,CAC7Ct7+B,KAAM,mBACNtQ,KAAM,yBACN0hB,QAAS,yBACToi2B,QAAS6nI,EAAiBd,mBACxBe,EAAoB,iBAAkB,CACxCt7+B,KAAM,aACNtQ,KAAM,mBACN0hB,QAAS,oBACToi2B,QAAS6nI,EAAiBd,mBACxBe,EAAoB,gBAAiB,CACvCt7+B,KAAM,iBACNtQ,KAAM,uBACN0hB,QAAS,mBACToi2B,QAAS6nI,EAAiBd,mBACxBe,EAAoB,cAAe,CACrCt7+B,KAAM,UACNtQ,KAAM,UACN0hB,QAAS,iBACToi2B,QAAS6nI,EAAiBd,mBACxBe,EAAoB,eAAgB,CACtCt7+B,KAAM,WACNtQ,KAAM,gBACN0hB,QAAS,kBACToi2B,QAAS6nI,EAAiBd,mBACxBe,EAAoB,sBAAuB,CAC7Ct7+B,KAAM,mBACNtQ,KAAM,mBACN0hB,QAAS,yBACToi2B,QAAS6nI,EAAiBZ,iBAAiBS,MACzCI,EAAoB,qBAAsB,CAC5Ct7+B,KAAM,kBACNtQ,KAAM,kBACN0hB,QAAS,wBACToi2B,QAAS6nI,EAAiBZ,iBAAiBS,OAEvCS,EAAqB,CAACL,EAAoB,0BAA2B,CACzEt7+B,KAAM,uBACNtQ,KAAM,6BACN0hB,QAAS,0BACToi2B,QAAS6nI,EAAiBb,cAAc,aACtCc,EAAoB,yBAA0B,CAChDt7+B,KAAM,sBACNtQ,KAAM,4BACN0hB,QAAS,yBACToi2B,QAAS6nI,EAAiBb,cAAc,YACtCc,EAAoB,oBAAqB,CAC3Ct7+B,KAAM,gBACNtQ,KAAM,sBACN0hB,QAAS,oBACToi2B,QAAS6nI,EAAiBb,cAAc,WACtCc,EAAoB,iBAAkB,CACxCt7+B,KAAM,aACNtQ,KAAM,aACN0hB,QAAS,iBACToi2B,QAAS6nI,EAAiBb,cAAc,WACtCc,EAAoB,kBAAmB,CACzCt7+B,KAAM,cACNtQ,KAAM,mBACN0hB,QAAS,kBACToi2B,QAAS6nI,EAAiBb,cAAc,WACtCc,EAAoB,yBAA0B,CAChDt7+B,KAAM,sBACNtQ,KAAM,sBACN0hB,QAAS,yBACToi2B,QAAS6nI,EAAiBV,uBAAuBQ,GAAY,aAC3DG,EAAoB,wBAAyB,CAC/Ct7+B,KAAM,qBACNtQ,KAAM,qBACN0hB,QAAS,wBACToi2B,QAAS6nI,EAAiBV,uBAAuBQ,GAAY,aAEzDS,EAAmB,CAACN,EAAoB,iBAAkB,CAC9Dt7+B,KAAM,kBACNtQ,KAAM,wBACN0hB,QAAS,oBACToi2B,QAAS6nI,EAAiBd,mBACxBe,EAAoB,kBAAmB,CACzCt7+B,KAAM,cACNtQ,KAAM,oBACN0hB,QAAS,qBACToi2B,QAAS6nI,EAAiBT,mBACxBU,EAAoB,kBAAmB,CACzCt7+B,KAAM,aACNtQ,KAAM,oBACN0hB,QAAS,qBACToi2B,QAAS6nI,EAAiBR,sBAEvBjP,GAAargN,GAQhBA,EAAO5/X,GAAG5zZ,SAAS+74B,kBAAkB,cAAe,CAClD9z4B,KAAM,QACNtQ,KAAM,QACN6u9B,gBAAiB,WAAF,MAAQ,CAAC,CACtBnz+B,KAAM,gBACNqlgC,UAAW,cACX/lsB,SAAU8wsB,GACV,EACFhoI,QAASmuC,GAAgBp2H,KAf3BA,EAAO5/X,GAAG5zZ,SAAS874B,YAAY,cAAe,CAC5C7z4B,KAAM,QACNtQ,KAAM,QACNg7S,SAAUgrf,EAAI,wBACd89E,QAASmuC,GAAgBp2H,KAc7BA,EAAO5/X,GAAG5zZ,SAAS874B,YAAY,oBAAqB,CAClD7z4B,KAAM,eACNtQ,KAAM,QACNg7S,SAAUgrf,EAAI,wBACd89E,QAASmuC,GAAgBp2H,KAE3B+vN,EAAoB,aAAc,CAChCt7+B,KAAM,mBACNwz2B,QAAS6nI,EAAiBf,aAC1Blp+B,QAAS,kBAEXkq+B,EAAoB,cAAe,CACjCt7+B,KAAM,eACNtQ,KAAM,qBACN8j3B,QAAS6nI,EAAiBf,aAC1Blp+B,QAAS,mBAEPk3E,EAASoz5B,GAAiB,IAC5BnwN,EAAO5/X,GAAG5zZ,SAAS+74B,kBAAkB,MAAO,CAC1C1o6B,KAAM,iBACN40B,KAAM,MACNu+8B,gBAAiBvpb,EAAS,6IAG1B1sc,EAASqz5B,GAAoB,IAC/BpwN,EAAO5/X,GAAG5zZ,SAAS+74B,kBAAkB,SAAU,CAC7C1o6B,KAAM,iBACN40B,KAAM,SACNu+8B,gBAAiBvpb,EAAS,oJAG1B1sc,EAASsz5B,GAAkB,IAC7BrwN,EAAO5/X,GAAG5zZ,SAAS+74B,kBAAkB,OAAQ,CAC3C1o6B,KAAM,iBACN40B,KAAM,OACNu+8B,gBAAiBvpb,EAAS,oDAG9Bu2P,EAAO5/X,GAAG5zZ,SAASk84B,eAAe,QAAS,CACzC3tzB,OAAQ,WAEN,OADA+05B,EAAiB1B,eACV0B,EAAiBr75B,UAAU87nB,KAAK9mL,EAAS,IAAK,SAAAh1c,GACnD,MAA8B,YAA1B93G,EAAK83G,EAAQiC,SACR,yBAEA,yDAEX,EACF,IAEF,IAAM455B,EAAiBxL,GAAerE,GAAkBzgN,IAC1B,IAA1BswN,EAAehygC,QAAgB0hzB,EAAOmgH,sBAAsB,wBAC9DngH,EAAO5/X,GAAG5zZ,SAAS+74B,kBAAkB,aAAc,CACjDpk5B,KAAM,gBACNsQ,KAAM,eACNu+8B,gBAAiB,WAAF,OAAQ4xB,GAAe5kN,EAAQswN,EAAgB,aAAc,SAAAnxgC,GAAK,OAAI6gzB,EAAO/0D,YAAY,uBAAuB,EAAO9rvB,EAAM,EAAC,EAC7I8o4B,QAAS6nI,EAAiBf,eAG9B,IAAMwB,EAAqBzL,GAAevE,GAAiBvgN,IACzB,IAA9BuwN,EAAmBjygC,QAAgB0hzB,EAAOmgH,sBAAsB,4BAClEngH,EAAO5/X,GAAG5zZ,SAAS+74B,kBAAkB,iBAAkB,CACrDpk5B,KAAM,qBACNsQ,KAAM,cACNu+8B,gBAAiB,WAAF,OAAQ4xB,GAAe5kN,EAAQuwN,EAAoB,iBAAkB,SAAApxgC,GAAK,OAAI6gzB,EAAO/0D,YAAY,2BAA2B,EAAO9rvB,EAAM,EAAC,EACzJ8o4B,QAAS6nI,EAAiBd,mBAG1BhvN,EAAOmgH,sBAAsB,4BAC/BngH,EAAO5/X,GAAG5zZ,SAAS+74B,kBAAkB,kBAAmB,CACtDpk5B,KAAM,iBACNsQ,KAAM,iBACNu+8B,gBAAiB,WAAF,OAAQ4xB,GAAe5kN,EAAQmkN,GAAqB,yBAA0BU,GAAoB7kN,EAAQ,kBAAkB,EAC3IioF,QAAS6nI,EAAiBd,mBAE5BhvN,EAAO5/X,GAAG5zZ,SAAS+74B,kBAAkB,uBAAwB,CAC3Dpk5B,KAAM,eACNsQ,KAAM,eACNu+8B,gBAAiB,WAAF,OAAQ4xB,GAAe5kN,EAAQ+/M,GAAqB//M,GAAS,uBAAwB6kN,GAAoB7kN,EAAQ,gBAAgB,EAChJioF,QAAS6nI,EAAiBd,mBAE5BhvN,EAAO5/X,GAAG5zZ,SAAS+74B,kBAAkB,uBAAwB,CAC3Dpk5B,KAAM,eACNsQ,KAAM,eACNu+8B,gBAAiB,WAAF,OAAQ4xB,GAAe5kN,EAAQggN,GAAqBhgN,GAAS,uBAAwB6kN,GAAoB7kN,EAAQ,gBAAgB,EAChJioF,QAAS6nI,EAAiBd,mBAE5BhvN,EAAO5/X,GAAG5zZ,SAAS+74B,kBAAkB,2BAA4B,CAC/Dpk5B,KAAM,wBACNsQ,KAAM,mBACNu+8B,gBAAiB,WAAF,OAAQgyB,GAAehlN,EAAQ2gN,GAA2B3gN,GAAS,mBAAmB,EACrGioF,QAAS6nI,EAAiBd,mBAE5BhvN,EAAO5/X,GAAG5zZ,SAAS+74B,kBAAkB,uBAAwB,CAC3Dpk5B,KAAM,oBACNsQ,KAAM,eACNu+8B,gBAAiB,WAAF,OAAQgyB,GAAehlN,EAAQ4gN,GAAuB5gN,GAAS,eAAe,EAC7FioF,QAAS6nI,EAAiBd,oBAG9BgB,EAA0B,eAAgB,CACxC7r/B,KAAM,gBACNsQ,KAAM,gBACNoR,QAAS,wBACToi2B,QAAS6nI,EAAiBP,0BAE5BS,EAA0B,iBAAkB,CAC1Cv7+B,KAAM,aACNtQ,KAAM,mBACN0hB,QAAS,kBACTs5R,SAAUimsB,GAAgBplN,GAC1BioF,QAAS6nI,EAAiBjB,yBAE5BmB,EAA0B,iBAAkB,CAC1Cv7+B,KAAM,gBACNtQ,KAAM,oBACN0hB,QAAS,kBACTs5R,SAAUmmsB,GAAmBtlN,GAC7BioF,QAAS6nI,EAAiBjB,wBAE9B,CAME2B,CAAaxwN,EAAQ8vN,GA7fJ,SAAC9vN,EAAQ8vN,GAC1B9vN,EAAO5/X,GAAG5zZ,SAAS474B,cAAc,QAAS,CACxC5rzB,QAAS,QACTr4F,KAAM,QACN8j3B,QAAS4nI,GAAkB7vN,GAC3B/nvB,MAAO,SAAA74D,GAAQ,OAAIA,EAAS,wEAAwE,IAEtG,IAAM+qzB,EAAM,SAAAtkxB,GAAO,OAAI,kBAAMm6wB,EAAO/0D,YAAYpltB,EAAS,CAAD,EAClD4q+B,EAAwB,SAAC9zgC,EAAM2iF,GAC/B0guB,EAAOmgH,sBAAsB7g1B,EAAKz5C,UACpCm6wB,EAAO5/X,GAAG5zZ,SAASy74B,UAAUtr6B,EAAI0O,EAAA,GAC5Bi0E,EAAK,CACR6/O,SAAU70Q,EAAWg1B,EAAK6/O,UAAY7/O,EAAK6/O,SAAWgrf,EAAI7quB,EAAKz5C,WAGrE,EACM6q+B,EAA8B,SAAC/zgC,EAAM2iF,GACrC0guB,EAAOmgH,sBAAsB7g1B,EAAKz5C,UACpCm6wB,EAAO5/X,GAAG5zZ,SAAS274B,gBAAgBxr6B,EAAI0O,EAAA,GAClCi0E,EAAK,CACR6/O,SAAU70Q,EAAWg1B,EAAK6/O,UAAY7/O,EAAK6/O,SAAWgrf,EAAI7quB,EAAKz5C,WAGrE,EACA4q+B,EAAsB,aAAc,CAClCj05B,QAAS,mBACT32E,QAAS,gBACT1hB,KAAM,QACN8j3B,QAAS6nI,EAAiBf,eAE5B0B,EAAsB,cAAe,CACnCj05B,QAAS,eACT32E,QAAS,iBACT1hB,KAAM,qBACN8j3B,QAAS6nI,EAAiBf,eAE5B0B,EAAsB,iBAAkB,CACtCj05B,QAAS,kBACT32E,QAAS,oBACT1hB,KAAM,wBACN8j3B,QAAS6nI,EAAiBd,mBAE5ByB,EAAsB,kBAAmB,CACvCj05B,QAAS,cACT32E,QAAS,qBACT1hB,KAAM,oBACN8j3B,QAAS6nI,EAAiBT,mBAE5BoB,EAAsB,kBAAmB,CACvCj05B,QAAS,aACT32E,QAAS,qBACT1hB,KAAM,oBACN8j3B,QAAS6nI,EAAiBR,qBAE5BmB,EAAsB,uBAAwB,CAC5Cj05B,QAAS,oBACT32E,QAAS,0BACT1hB,KAAM,yBACN8j3B,QAAS6nI,EAAiBd,mBAE5ByB,EAAsB,sBAAuB,CAC3Cj05B,QAAS,mBACT32E,QAAS,yBACT1hB,KAAM,yBACN8j3B,QAAS6nI,EAAiBd,mBAE5ByB,EAAsB,iBAAkB,CACtCj05B,QAAS,aACT32E,QAAS,oBACT1hB,KAAM,mBACN8j3B,QAAS6nI,EAAiBd,mBAE5ByB,EAAsB,gBAAiB,CACrCj05B,QAAS,iBACT32E,QAAS,mBACT1hB,KAAM,uBACN8j3B,QAAS6nI,EAAiBd,mBAE5ByB,EAAsB,uBAAwB,CAC5Cj05B,QAAS,uBACT32E,QAAS,0BACT1hB,KAAM,6BACN8j3B,QAAS6nI,EAAiBb,cAAc,aAE1CwB,EAAsB,sBAAuB,CAC3Cj05B,QAAS,sBACT32E,QAAS,yBACT1hB,KAAM,4BACN8j3B,QAAS6nI,EAAiBb,cAAc,YAE1CwB,EAAsB,iBAAkB,CACtCj05B,QAAS,gBACT32E,QAAS,oBACT1hB,KAAM,sBACN8j3B,QAAS6nI,EAAiBb,cAAc,WAE1CwB,EAAsB,cAAe,CACnCj05B,QAAS,UACT32E,QAAS,iBACT1hB,KAAM,UACN8j3B,QAAS6nI,EAAiBd,mBAE5ByB,EAAsB,eAAgB,CACpCj05B,QAAS,WACT32E,QAAS,kBACT1hB,KAAM,gBACN8j3B,QAAS6nI,EAAiBd,mBAE5ByB,EAAsB,sBAAuB,CAC3Cj05B,QAAS,mBACT32E,QAAS,yBACT1hB,KAAM,mBACN8j3B,QAAS6nI,EAAiBZ,iBAAiBS,MAE7Cc,EAAsB,qBAAsB,CAC1Cj05B,QAAS,kBACT32E,QAAS,wBACT1hB,KAAM,kBACN8j3B,QAAS6nI,EAAiBZ,iBAAiBS,MAE7Cc,EAAsB,cAAe,CACnCj05B,QAAS,aACT32E,QAAS,iBACT1hB,KAAM,aACN8j3B,QAAS6nI,EAAiBb,cAAc,WAE1CwB,EAAsB,eAAgB,CACpCj05B,QAAS,cACT32E,QAAS,kBACT1hB,KAAM,mBACN8j3B,QAAS6nI,EAAiBb,cAAc,WAE1CwB,EAAsB,sBAAuB,CAC3Cj05B,QAAS,sBACT32E,QAAS,yBACT1hB,KAAM,sBACN8j3B,QAAS6nI,EAAiBV,uBAAuBQ,GAAY,aAE/Da,EAAsB,qBAAsB,CAC1Cj05B,QAAS,qBACT32E,QAAS,wBACT1hB,KAAM,qBACN8j3B,QAAS6nI,EAAiBV,uBAAuBQ,GAAY,YAE/Da,EAAsB,oBAAqB,CACzCj05B,QAAS,eACT32E,QAAS,uBACT1hB,KAAM,QACN8j3B,QAAS4nI,GAAkB7vN,KAE7B,IAAMswN,EAAiBxL,GAAerE,GAAkBzgN,IAC1B,IAA1BswN,EAAehygC,QAAgB0hzB,EAAOmgH,sBAAsB,wBAC9DngH,EAAO5/X,GAAG5zZ,SAAS474B,cAAc,aAAc,CAC7Cjk5B,KAAM,gBACNq4F,QAAS,eACTvkD,MAAO8s8B,GAA0B/kN,EAAQswN,EAAgB,aAAc,SAAAnxgC,GAAK,OAAI6gzB,EAAO/0D,YAAY,uBAAuB,EAAO9rvB,EAAM,GACvI8o4B,QAAS6nI,EAAiBf,eAG9B,IAAMwB,EAAqBzL,GAAevE,GAAiBvgN,IACzB,IAA9BuwN,EAAmBjygC,QAAgB0hzB,EAAOmgH,sBAAsB,4BAClEngH,EAAO5/X,GAAG5zZ,SAAS474B,cAAc,iBAAkB,CACjDjk5B,KAAM,qBACNq4F,QAAS,cACTvkD,MAAO8s8B,GAA0B/kN,EAAQuwN,EAAoB,iBAAkB,SAAApxgC,GAAK,OAAI6gzB,EAAO/0D,YAAY,2BAA2B,EAAO9rvB,EAAM,GACnJ8o4B,QAAS6nI,EAAiBd,mBAG1BhvN,EAAOmgH,sBAAsB,4BAC/BngH,EAAO5/X,GAAG5zZ,SAAS474B,cAAc,kBAAmB,CAClDjk5B,KAAM,iBACNq4F,QAAS,iBACTvkD,MAAO8s8B,GAA0B/kN,EAAQmkN,GAAqB,yBAA0BU,GAAoB7kN,EAAQ,mBACpHioF,QAAS6nI,EAAiBd,mBAE5BhvN,EAAO5/X,GAAG5zZ,SAAS474B,cAAc,uBAAwB,CACvDjk5B,KAAM,eACNq4F,QAAS,eACTvkD,MAAO8s8B,GAA0B/kN,EAAQ+/M,GAAqB//M,GAAS,uBAAwB6kN,GAAoB7kN,EAAQ,iBAC3HioF,QAAS6nI,EAAiBd,mBAE5BhvN,EAAO5/X,GAAG5zZ,SAAS474B,cAAc,uBAAwB,CACvDjk5B,KAAM,eACNq4F,QAAS,eACTvkD,MAAO8s8B,GAA0B/kN,EAAQggN,GAAqBhgN,GAAS,uBAAwB6kN,GAAoB7kN,EAAQ,iBAC3HioF,QAAS6nI,EAAiBd,mBAE5BhvN,EAAO5/X,GAAG5zZ,SAAS474B,cAAc,2BAA4B,CAC3Djk5B,KAAM,wBACNq4F,QAAS,mBACTvkD,MAAO,SAAA74D,GAAQ,OAAIA,EAAS4lgC,GAAehlN,EAAQ2gN,GAA2B3gN,GAAS,oBAAoB,EAC3GioF,QAAS6nI,EAAiBd,mBAE5BhvN,EAAO5/X,GAAG5zZ,SAAS474B,cAAc,uBAAwB,CACvDjk5B,KAAM,oBACNq4F,QAAS,eACTvkD,MAAO,SAAA74D,GAAQ,OAAIA,EAAS4lgC,GAAehlN,EAAQ4gN,GAAuB5gN,GAAS,gBAAgB,EACnGioF,QAAS6nI,EAAiBd,oBAG9B0B,EAA4B,eAAgB,CAC1Cl05B,QAAS,gBACTr4F,KAAM,gBACN0hB,QAAS,wBACToi2B,QAAS6nI,EAAiBP,0BAE5BmB,EAA4B,iBAAkB,CAC5Cl05B,QAAS,aACTr4F,KAAM,mBACN0hB,QAAS,kBACTs5R,SAAUimsB,GAAgBplN,GAC1BioF,QAAS6nI,EAAiBjB,yBAE5B6B,EAA4B,iBAAkB,CAC5Cl05B,QAAS,gBACTr4F,KAAM,oBACN0hB,QAAS,kBACTs5R,SAAUmmsB,GAAmBtlN,GAC7BioF,QAAS6nI,EAAiBhB,2BAE9B,CAkSE6B,CAAW3wN,EAAQ8vN,GAjSD,SAAA9vN,GAClB,IACM/8W,EAAUy9jB,GAAW1gN,GACvB/8W,EAAQ3kc,OAAS,GACnB0hzB,EAAO5/X,GAAG5zZ,SAASm84B,kBAAkB,QAAS,CAC5C5i0B,UAJoB,SAAAp+D,GAAK,OAAIq4wB,EAAO/gW,IAAI1qa,GAAG5M,EAAO,UAAYq4wB,EAAO50D,UAAUruoB,SAASp1E,IAAUq4wB,EAAO/gW,IAAIm9V,WAAWz0wB,EAAMkwE,WAAY,EAK1I9zF,MAAOk/a,EACPx3H,MAAO,OACPxrT,SAAU,QAGhB,CAuRE2w/B,CAAY5wN,EACd,EAEEiwH,EAAS3i6B,IAAI,QAASmp5B,GAK3B,CA/uGD,GAyvGC,WAAwB,IAAMl74B,EAAE,SAAAA,GAAC,OAAEghB,SAAShhB,EAAE,GAAG,EAAC7e,EAAE,SAAC6e,EAAE7e,GAAK,IAAMoI,EAAEyW,EAAE7e,EAAE,OAAO,IAAIoI,EAAE,EAAEA,EAAE,EAAE,GAAG,CAAC,EAAEA,EAAE,SAACyW,EAAE7e,EAAEoI,GAAC,MAAI,CAACmgG,MAAM1pF,EAAE2pF,MAAMxoG,EAAE4wU,MAAMxoU,EAAE,EAAE+3D,EAAE,SAAAngE,GAAI,IAAMmgE,EAAE,0CAA0C1oB,KAAKz3C,GAAG,OAAOmgE,EAAE/3D,EAAEyW,EAAEshD,EAAE,IAAIthD,EAAEshD,EAAE,IAAIthD,EAAEshD,EAAE,KAAK/3D,EAAE,EAAE,EAAE,EAAE,EAAE4kD,EAAY,SAAAnuC,GAAC,MAAE,WAAY,SAAAA,GAAI,IAAyNzW,EAAE+3D,EAAEnT,EAAE7kD,EAAzNnI,SAAS6e,EAAE,OAAO,OAAOA,EAAE,OAAO,WAAW7e,GAAG6X,MAAMC,QAAQ+G,GAAG,QAAQ,WAAW7e,IAAIoI,EAAE+3D,EAAEthD,GAAGmuC,EAAEnoD,QAAQzD,UAAU6kZ,cAAc79Y,KAAK,QAAQD,EAAEg4D,EAAExd,mBAAmB,IAAIx6C,OAAO,EAAEA,EAAElI,QAAQ+sD,EAAE/sD,MAAM,SAASD,CAAa,CAApO,CAAuO6e,EAAE,EAAQ1W,EAAE,SAAA0W,GAAC,OAAI,SAAAA,GAAC,OAAE,MAAMA,CAAC,CAAV,CAAYA,EAAE,EAA+BghC,EAAC,WAAC,SAAAA,EAAYhhC,EAAE7e,GAAEub,EAAA,KAAAskC,GAACz8C,KAAKs4C,IAAI78B,EAAEzb,KAAKX,MAAMzC,CAAC,CAAC,OAAAkc,EAAA2jC,EAAA,EAAAn7C,IAAA,OAAAjC,MAAuE,SAAKoc,EAAE7e,GAAG,OAAOoD,KAAKs4C,IAAI17C,EAAEoD,KAAKX,OAAOoc,GAAG,GAAC,CAAAna,IAAA,SAAAjC,MAAA,WAAS,OAAOW,KAAKs4C,GAAG,GAAC,CAAAh3C,IAAA,SAAAjC,MAAA,WAAS,OAAOW,KAAKs4C,GAAG,GAAC,CAAAh3C,IAAA,MAAAjC,MAAA,SAAIoc,GAAG,OAAOzb,KAAKs4C,IAAImE,EAAE9e,KAAKliB,EAAEzb,KAAKX,QAAQo9C,EAAEuyX,MAAM,GAAC,CAAA1ta,IAAA,OAAAjC,MAAA,SAAKoc,GAAG,OAAOzb,KAAKs4C,IAAI78B,EAAEzb,KAAKX,OAAOo9C,EAAEuyX,MAAM,GAAC,CAAA1ta,IAAA,SAAAjC,MAAA,SAAOoc,GAAG,OAAOzb,KAAKs4C,KAAK78B,EAAEzb,KAAKX,MAAM,GAAC,CAAAiC,IAAA,SAAAjC,MAAA,SAAOoc,GAAG,OAAOzb,KAAKs4C,KAAK78B,EAAEzb,KAAKX,MAAM,GAAC,CAAAiC,IAAA,SAAAjC,MAAA,SAAOoc,GAAG,OAAOzb,KAAKs4C,KAAK78B,EAAEzb,KAAKX,OAAOW,KAAKy8C,EAAEuyX,MAAM,GAAC,CAAA1ta,IAAA,QAAAjC,MAAA,SAAMoc,GAAG,OAAOzb,KAAKs4C,IAAIt4C,KAAKX,MAAMoc,CAAC,GAAC,CAAAna,IAAA,KAAAjC,MAAA,SAAGoc,GAAG,OAAOzb,KAAKs4C,IAAIt4C,KAAKyb,CAAC,GAAC,CAAAna,IAAA,aAAAjC,MAAA,SAAWoc,GAAG,OAAOzb,KAAKs4C,IAAIt4C,KAAKX,MAAMoc,GAAG,GAAC,CAAAna,IAAA,UAAAjC,MAAA,SAAQoc,GAAG,OAAOzb,KAAKs4C,IAAIt4C,KAAKyb,GAAG,GAAC,CAAAna,IAAA,WAAAjC,MAAA,SAASoc,GAAG,GAAGzb,KAAKs4C,IAAI,OAAOt4C,KAAKX,MAAM,MAAM,IAAIK,MAAM,MAAM+b,EAAEA,EAAE,0BAA0B,GAAC,CAAAna,IAAA,YAAAjC,MAA8C,WAAY,OAAOW,KAAKs4C,IAAIt4C,KAAKX,MAAM,IAAI,GAAC,CAAAiC,IAAA,iBAAAjC,MAAA,WAAiB,OAAOW,KAAKX,KAAK,GAAC,CAAAiC,IAAA,OAAAjC,MAAA,SAAKoc,GAAGzb,KAAKs4C,KAAK78B,EAAEzb,KAAKX,MAAM,GAAC,CAAAiC,IAAA,UAAAjC,MAAA,WAAU,OAAOW,KAAKs4C,IAAI,CAACt4C,KAAKX,OAAO,EAAE,GAAC,CAAAiC,IAAA,WAAAjC,MAAA,WAAW,OAAOW,KAAKs4C,IAAI,QAAD92C,OAASxB,KAAKX,MAAK,KAAI,QAAQ,IAAC,EAAAiC,IAAA,OAAAjC,MAAv4B,SAAYoc,GAAG,OAAO,IAAIghC,GAAE,EAAGhhC,EAAE,GAAC,CAAAna,IAAA,OAAAjC,MAAA,WAAc,OAAOo9C,EAAEsyrB,aAAa,GAAC,CAAAztuB,IAAA,OAAAjC,MAA+jB,SAAYoc,GAAG,OAAO1W,EAAE0W,GAAGghC,EAAE9e,KAAKliB,GAAGghC,EAAEuyX,MAAM,IAAC,CAA9tB,GAAk7BvyX,EAAEsyrB,cAAc,IAAItyrB,GAAE,GAAI,IAAMn3C,EAAE,SAAAmW,GAAC,OAAE,SAAA7e,GAAC,OAAEA,EAAEoJ,QAAQxB,IAAIiX,EAAE,GAACw4B,EAAE3uC,EAAE,yBAAyBqnD,EAAErnD,EAAE,0BAA0B++D,EAAE/+D,EAAE,yBAAyB0nE,EAAE1nE,EAAE,iCAAiCH,EAAEG,EAAE,+BAA+B2rO,EAAE3rO,EAAE,oCAAoCgnD,EAAG,WAAI,IAAI1vD,EAAE,EAAE,OAAM,iBAAI,WAAW,IAAIyG,MAAMo0E,UAAU35E,SAAS,KAAKlB,KAAKkB,SAAS,GAAG,EAApF,GAAyFY,EAAE,SAAA+c,GAAI,IAAM7e,EAAEq3C,EAAEx4B,GAAGzW,EAAE2nD,EAAElxC,GAAGshD,EAAG,SAAAthD,GAAe,IAAX,IAAM7e,EAAE,GAAWoI,EAAE,EAAEA,GAAGyW,EAAEzW,IAAIpI,EAAEkH,KAAK,IAAIkB,GAAG,OAAOpI,EAAEkvD,KAAK,IAAI,CAApE,CAAuEuY,EAAE5oD,IAAQmuC,EAAEnuC,EAAE0jc,IAAIh9a,OAAO46B,GAAG,OAAOnT,EAAEprD,QAAQ,YAAYiC,KAAKuE,KAAK4kD,EAAG,SAACnuC,EAAE7e,GAAgB,IAAX,IAAMoI,EAAE,GAAW+3D,EAAE,EAAEnT,EAAEnuC,EAAEjd,OAAOu+D,EAAEnT,EAAEmT,IAAI,CAAC,IAAMnT,EAAEnuC,EAAEshD,GAAGngE,EAAEgtD,IAAI5kD,EAAElB,KAAK8lD,EAAE,CAAC,OAAO5kD,CAAC,CAAxF,CAA2F4kD,EAAG,SAAA5kD,GAAI,IAAM+3D,EAAE/3D,EAAEmhJ,cAAc,OAAOphJ,EAAEg4D,KAAKthD,EAAE0jc,IAAIzyB,SAAS3vX,EAAEngE,KAAK6e,EAAE0jc,IAAIvib,QAAQ53B,EAAE,IAAM,SAACyW,EAAE7e,GAAqC,IAAhC,IAAMoI,EAAEyW,EAAEjd,OAAOu+D,EAAE,IAAItoD,MAAMzP,GAAW4kD,EAAE,EAAEA,EAAE5kD,EAAE4kD,IAAI,CAAC,IAAM5kD,EAAEyW,EAAEmuC,GAAGmT,EAAEnT,GAAGhtD,EAAEoI,EAAE,CAAC,OAAO+3D,CAAC,CAA5F,CAA+FnT,EAAG,SAAAnuC,GAAC,MAAG,CAACsG,GAAGtG,EAAEsG,IAAIuqC,IAAIxvB,MAAML,SAAShhB,EAAE49F,SAAS55F,QAAQ,MAAM,IAAI,IAAIy8E,MAAMzgF,EAAEmvB,UAAUgsE,QAAQn7F,EAAE,EAAG,EAAElW,EAAE,SAACkW,EAAE7e,GAAK,IAAIoI,EAAE,GAAS+3D,EAAEr+D,EAAE+c,GAAGmuC,EAAEzkD,EAAEsW,GAAG,KAAK,KAAK1W,EAAE,CAAC6kD,GAAO7qD,EAAG,SAAA0c,GAAI,IAAwBs1/B,EAApBn0gC,EAAE,EAAEo0gC,EAAAlsgC,EAAe2W,GAAC,IAAhB,IAAAu1/B,EAAAjsgC,MAAAgsgC,EAAAC,EAAAhsgC,KAAAC,MAAiB,KAAPD,EAAC+rgC,EAAA1xgC,MAAM,GAAG2F,EAAE83B,MAAMlgC,IAAIA,EAAEoI,EAAE83B,OAAO,IAAIlgC,EAAE,OAAOA,CAAE,QAAAsI,GAAA8rgC,EAAAp0gC,EAAAsI,EAAA,SAAA8rgC,EAAA7rgC,GAAA,QAAOvI,CAAC,CAA9E,CAAiFmgE,GAAG,EAAE,IAAIA,EAAEv+D,OAAO,MAAM,GAAG,GAAG2G,EAAEsW,IAAI1W,EAAEjB,KAAK,SAADtC,OAAUyvO,EAAEx1N,GAAE,MAAKuxD,EAAEvxD,GAAG,CAAC,IAAMshD,EAAEngE,EAAEuyuB,MAAM1ztB,EAAE8mL,UAAU,sBAAsBv9L,GAAI,SAACyW,EAAE7e,GAAK,IAAMoI,EAAE,KAAKyW,EAAE,IAAI,MAAM,IAAIA,EAAE,2BAA2BwztB,QAAQosE,IAAIl3uB,OAAOvnE,GAAGoI,CAAC,CAAzF,CAA4F2nD,EAAElxC,GAAGshD,EAAE,CAAC,IAAI,IAAIthD,EAAE,EAAEA,EAAEshD,EAAEv+D,OAAOid,IAAI,CAAC,IAAM7e,EAAEmgE,EAAEthD,GAAG7e,EAAEg6G,QAAQ70F,GAAGnlB,EAAEmlB,GAAG,IAAM06B,EAAEsgB,EAAEthD,EAAE,IAAIshD,EAAEthD,EAAE,GAAGqhB,MAAM,GAAG/9B,IAAInC,EAAEkgC,MAAM93B,GAAG,YAAY,IAAI,IAAIyW,EAAE1c,EAAE0c,EAAE7e,EAAEkgC,MAAMrhB,IAAIzW,GAAG,IAAFxD,OAAMuD,EAAE+mD,KAAK,KAAI,SAAQ,GAAG9mD,GAAG,aAAapI,EAAEmlB,GAAG,KAAKnlB,EAAEs/F,MAAM,OAAOz/C,IAAI7/C,EAAEkgC,OAAO2f,EAAE,IAAI,IAAIhhC,EAAE7e,EAAEkgC,MAAMrhB,EAAEghC,EAAEhhC,IAAIzW,GAAW,UAADxD,OAAWooD,EAAlBnuC,IAAIghC,EAAE,EAAa,QAAmB,UAASz3C,GAAG,QAAQy3C,IAAIz3C,GAAG,KAAFxD,OAAOooD,EAAC,MAAK7qD,EAAEnC,EAAEkgC,KAAK,CAAC,OAAO93B,CAAC,EAAE6/C,EAAE,SAAAppC,GAAI,IAAM7e,EAAEq3C,EAAEx4B,GAAGzW,EAAEyW,EAAE0jc,IAAIh9a,OAAO,IAAIvlC,GAAGoI,EAAExG,QAAQid,EAAEwvuB,YAAYyB,SAAU,WAAK,IAAI9vvB,EAAEmgE,EAAEthD,EAAE0jc,IAAIm6V,QAAQt0yB,EAAEO,EAAEkW,GAAG7e,EAAEoI,EAAE,GAAGy3C,EAAE8I,KAAK,QAAQwX,EAAEngE,EAAEkoJ,yBAAyB,IAAI/nF,OAAO,EAAEA,EAAEtyB,aAAa,EAAG,EAAEm0C,EAAE,SAAAnjE,GAAC,OAAE,SAAA7e,GAAI,IAAMoI,EAAE,WAAK,IAAMA,EAAEyW,EAAEioQ,UAAU44hB,aAAa1/yB,EAAEy75B,YAAY584B,EAAEw7O,UAAUjyP,GAAI,SAAAyW,GAAC,OAAE/c,EAAE+c,GAAGjd,OAAO,CAAC,CAAhB,CAAkBid,GAAG,EAAE,OAAOA,EAAEu9D,GAAG,2CAA2Ch0E,GAAGA,IAAI,kBAAIyW,EAAEupE,IAAI,2CAA2ChgF,EAAE,EAAC,EAAC+P,EAAE,SAAA0G,GAAC,OAAE,SAAA7e,GAAC,OAAE6e,EAAE0jc,IAAI1qa,GAAG73C,EAAE,IAAIq3C,EAAEx4B,KAAKA,EAAE6vuB,UAAUruoB,SAASrgH,EAAG,CAAD,EAACqyuB,QAAQ0c,cAAcC,gBAAgB,kBAAkB,4JAA4J3c,QAAQ0c,cAAcn+uB,IAAI,kBAAmB,SAAAiO,IAAI,SAAEA,GAAG,QAAKA,IAAI,IAAK,SAACA,EAAEzW,GAAK,IAAM+3D,EAAEngE,EAAE6e,EAAE0pF,MAAMngG,EAAEmgG,OAAO,GAAG,IAAIpoC,EAAE,OAAOA,EAAE,IAAMnT,EAAEhtD,EAAE6e,EAAE2pF,MAAMpgG,EAAEogG,OAAO,GAAG,IAAIx7C,EAAE,OAAOA,EAAE,IAAM7kD,EAAEnI,EAAE6e,EAAE+xT,MAAMxoU,EAAEwoU,OAAO,OAAO,IAAIzoU,EAAEA,EAAE,CAAC,CAA7I,CAAiJ,SAAA0W,GAAC,OAAEshD,EAAG,SAAAthD,GAAC,MAAE,CAACA,EAAEowuB,aAAapwuB,EAAEqwuB,cAAchgsB,KAAK,KAAKne,MAAM,KAAK/4B,MAAM,EAAE,GAAGk3C,KAAK,IAAI,CAA5E,CAA8ErwC,GAAG,CAAvF,CAAyFA,GAAGshD,EAAe,SAAV,CAArQ,CAAuQkyqB,UAAqG,SAAAxztB,GAAI,IAAM7e,EAAE6e,EAAEzV,QAAQy0F,SAAS79F,EAAE,wBAAwB,CAACmvvB,UAAU,SAAS5ouB,QAAQ,YAAYvmB,EAAE,yBAAyB,CAACmvvB,UAAU,SAAAtwuB,GAAC,OAAEmuC,EAAEnuC,IAAI,WAAWhb,KAAKgb,EAAE,EAAC0H,QAAQ,OAAOvmB,EAAE,wBAAwB,CAACmvvB,UAAU,SAAAtwuB,GAAC,OAAh0H,SAAAA,GAAC,MAAE,iBAAiBA,CAAE,CAA4yH1c,CAAE0c,IAAIA,GAAG,GAAGA,GAAG,CAAC,EAAC0H,QAAQ,IAAIvmB,EAAE,gCAAgC,CAACmvvB,UAAU,UAAU5ouB,SAAQ,IAAKvmB,EAAE,8BAA8B,CAACmvvB,UAAU,UAAU5ouB,SAAQ,IAAKvmB,EAAE,mCAAmC,CAACmvvB,UAAU,SAAAtwuB,GAAC,OAAEmuC,EAAEnuC,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,KAAKzD,SAASyD,EAAE,EAAC0H,QAAQ,KAAK,CAAre,CAAwe1H,GAAI,SAAAA,GAAIA,EAAE+xuB,WAAW,eAAgB,YAAK,SAAC/xuB,GAAI,IAAM7e,EAAEq3C,EAAEx4B,GAAGzW,EAAEyW,EAAE0jc,IAAIh9a,OAAO,IAAIvlC,IAAG,SAAE6e,EAAE7e,GAAC,OAAIA,EAAE4B,QAAQid,EAAE0jc,IAAI85V,WAAWr8yB,EAAE,GAAG,4BAA4B4B,OAAO,CAAC,CAA7E,CAA+Eid,EAAEzW,GAA8J6/C,EAAEppC,GAA7JA,EAAE2vuB,cAAe,SAAC3vuB,EAAE7e,GAAK,IAAMoI,EAAEO,EAAEkW,EAAE7e,GAAG,MAAM,eAAe6e,EAAE0jc,IAAIh7Y,OAAOlwB,EAAEx4B,IAAI,iDAAiDzW,EAAE,QAAQ,CAA1H,CAA6HyW,EAAEghC,EAAEuyX,QAAc,CAA5R,CAA8RvzZ,EAAE,GAAIA,EAAE+xuB,WAAW,eAAgB,WAAK3osB,EAAEppC,EAAE,EAAG,CAAnX,CAAsXA,GAAI,SAAAA,GAAI,IAAM7e,EAAE,WAAD,OAAK6e,EAAE0vuB,YAAY,eAAgB,EAAA1vuB,EAAE6ka,GAAG5zZ,SAASy74B,UAAU,kBAAkB,CAAC9j5B,KAAK,MAAMq4F,QAAQ,oBAAoB2iN,SAASziU,EAAEur4B,QAAQvpzB,EAAEnjE,KAAKA,EAAE6ka,GAAG5zZ,SAASy74B,UAAU,wBAAwB,CAAC9j5B,KAAK,SAASq4F,QAAQ,SAAS2iN,SAAS,WAAD,OAAK5jT,EAAE0vuB,YAAY,eAAe,IAAG1vuB,EAAE6ka,GAAG5zZ,SAAS874B,YAAY,kBAAkB,CAACnk5B,KAAK,MAAMsQ,KAAK,oBAAoB0qS,SAASziU,EAAEur4B,QAAQvpzB,EAAEnjE,KAAKA,EAAE6ka,GAAG5zZ,SAASm84B,kBAAkB,kBAAkB,CAAC5k5B,MAAM,wBAAwBgiF,UAAUlxF,EAAE0G,GAAGkwT,MAAM,OAAOxrT,SAAS,QAAQ,CAAhgB,CAAmgB1E,GAAI,SAAAA,GAAI,IAAM7e,EAAEq3C,EAAEx4B,GAAGzW,EAAE,eAAeyW,EAAEu9D,GAAG,aAAc,SAAAh0E,GAAI,IAAM+3D,EAAEthD,EAAE0jc,IAAIv1Z,EAAEmT,EAAE56B,OAAO,IAAIvlC,EAAEoI,EAAEwhD,MAAM,GAAGoD,GAAI,SAACnuC,GAAO,IAAI,IAAI7e,EAAE,EAAEgtD,EAAEnuC,EAAEjd,OAAO5B,EAAEgtD,EAAEhtD,IAAIoI,EAAEyW,EAAE7e,GAAGmgE,EAAE07uB,UAAUzzyB,EAAE,kBAAkB,MAAM,IAAIA,CAAC,CAAzF,CAA4F,CAAC4kD,GAAGpoD,OAAOu7D,EAAE56B,OAAO,oBAAoBynB,IAAI,GAAInuC,EAAEu9D,GAAG,UAAW,WAAKv9D,EAAE7U,WAAW46yB,YAAYx8yB,EAAE,GAAIyW,EAAEu9D,GAAG,aAAc,WAAK,IAAMjc,EAAEthD,EAAE0jc,IAAIv1Z,EAAEmT,EAAE56B,OAAO,IAAIvlC,GAAG,GAAG,GAAGgtD,EAAE,CAACmT,EAAEs8uB,WAAWzvvB,EAAE,CAACutoB,iBAAgB,EAAG,CAACnyrB,IAAG,IAAK,IAAMyW,EAAEmuC,EAAEk7F,kBAAkB//I,EAAE0W,IAAIshD,EAAE07uB,UAAUh9xB,EAAE,mBAAkB,EAAG,CAAC,EAAG,CAA7d,CAAgeA,IAAj6D3e,QAAQC,MAAM,mEAAs5D,EAAG,CAAr9L,GAID,WAGI,IAcIq1C,EAAS68rB,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,yBAQlCmqgC,EAAqB,SAAC/wN,EAAQ02G,EAAWs6G,GACjChxN,EAAO/gW,IACfu6V,YAAYwG,EAAO50D,UAAW,oBAClC4lR,EAAa3sgC,KAAK2sgC,EAAa1sgC,OATR,SAAC07yB,EAAQ/hyB,GAChC+hyB,EAAO5iyB,SAAS,eAAgB,CAC9Ba,SAEJ,CAMEgz/B,CAAiBjxN,EAAQgxN,EAAa1sgC,MACxC,EAgBM4sgC,EARS,SAAAv0gC,GAAI,OAAI,SAAAqjzB,GAAM,OAAIA,EAAOl6yB,QAAQxB,IAAI3H,EAAM,CAAD,CAQ9BswO,CAAO,8BAe5BkkyB,EAAoB,SAACnxN,EAAQgxN,GAAY,OAAK,SAAAl/3B,GAClDA,EAAIq9rB,UAAU6hM,EAAa1sgC,OAC3B,IAAMmk+B,EAAsB,SAAA/r+B,GAAC,OAAIo1I,EAAIq9rB,UAAUzy0B,EAAEuhB,MAAO,EAExD,OADA+hyB,EAAOlnuB,GAAG,eAAgB2v5B,GACnB,kBAAMzoL,EAAOl7tB,IAAI,eAAgB2j5B,EAAqB,CAC/D,CAAE,EAkBAv27B,EAAO5kC,IAAI,eAAgB,SAAC0yyB,EAAQ02G,IA7CnB,SAAA12G,IAEjBspH,EADuBtpH,EAAOl6yB,QAAQy0F,UACvB,6BAA8B,CAC3CsxpB,UAAW,UACX5ouB,SAAS,GAEb,CAwCI473B,CAAW7+F,GACX,IAAMgxN,EAnFG,SAAAr/xB,GACX,IAAIxyO,EAAQwyO,EAOZ,MAAO,CACLrtO,IAPU,WACV,OAAOnF,CACT,EAMEkF,IALU,SAAAsgD,GACVxlD,EAAQwlD,CACV,EAKF,CAuEyB24vB,EAAK,IAtDX,SAAC0C,EAAQ02G,EAAWs6G,GACrChxN,EAAO1yD,WAAW,kBAAmB,WACnCyjR,EAAmB/wN,EAAQ02G,EAAWs6G,EACxC,EACF,CAmDIznI,CAAWvpF,EAAQ02G,EAAWs6G,GApBjB,SAAChxN,EAAQgxN,GACxB,IAAM7xsB,EAAW,WAAH,OAAS6gf,EAAO/0D,YAAY,kBAAmB,EAC7D+0D,EAAO5/X,GAAG5zZ,SAAS274B,gBAAgB,eAAgB,CACjDhk5B,KAAM,eACNq4F,QAAS,cACT2iN,WACA8okB,QAASkpI,EAAkBnxN,EAAQgxN,KAErChxN,EAAO5/X,GAAG5zZ,SAASg84B,kBAAkB,eAAgB,CACnD/z4B,KAAM,cACNtQ,KAAM,eACNg7S,WACA8okB,QAASkpI,EAAkBnxN,EAAQgxN,IAEvC,CAOIz26B,CAASyltB,EAAQgxN,GAxCP,SAAChxN,EAAQ02G,EAAWs6G,GAChChxN,EAAOlnuB,GAAG,qCAAsC,SAAAp8E,GAC1Cs0gC,EAAa1sgC,OACf07yB,EAAO/gW,IAAIu6V,YAAYwG,EAAO50D,UAAW,mBAA+B,wBAAX1uvB,EAAEmD,KAEnE,GACAmgzB,EAAOlnuB,GAAG,OAAQ,WACZo47B,EAAmBlxN,IACrB+wN,EAAmB/wN,EAAQ02G,EAAWs6G,EAE1C,EACF,CA8BIn+iB,CAAMmtV,EAAQ02G,EAAWs6G,EAC3B,EAKL,CA/FD,GAoGA,WAGI,IAcI9+9B,EAAS68rB,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,yBAqClCgoxB,EAAW,SAAA/uxB,GAAI,OAAI,SAAAV,GAAK,OAZf,SAAAyV,GACb,IATgB+vC,EAAGtF,EACfsJ,EAQEptC,SAAW3G,EACjB,OAAU,OAANA,EACK,OACQ,WAAN2G,GAAkBhH,MAAMC,QAAQI,GAClC,QACQ,WAAN2G,IAAuCshD,EAdlClY,EAcsB/vC,EAAeurC,GAdlCd,EAcsB99C,QAZZzD,UAYkCqiD,EAAMwiW,cAAc9lV,KAThD,QAAxBlU,EAAKhE,EAAEtF,mBAAqC,IAAZsJ,OAAqB,EAAIA,EAAGhsD,QAAU0iD,EAAY1iD,MAUpF,SAEA4e,EAHwC,IAACshD,EAAG1c,CAKvD,CACkCyoB,CAAOzpE,KAAWU,CAAK,CAAD,EAClDgvxB,EAAe,SAAAhvxB,GAAI,OAAI,SAAAV,GAAK,cAAWA,IAAUU,CAAK,CAAD,EAErDizE,EAAW87sB,EAAS,UACpB9lsB,EAAW8lsB,EAAS,UACpBjppB,EAHK,SAAApqH,GAAC,OAAI,SAAAnW,GAAC,OAAImW,IAAMnW,CAAE,CAAD,CAGbsiF,CAAG,MACZ+zF,EAAYozmB,EAAa,WAGzBp3pB,EAAWo3pB,EAAa,UAExBgB,EAAQ,WACZ,SAAAA,EAAYz3uB,EAAKj5C,GAAO8Y,EAAA,KAAA43wB,GACtB/vxB,KAAKs4C,IAAMA,EACXt4C,KAAKX,MAAQA,CACf,CAAC,OAAAyZ,EAAAi3wB,EAAA,EAAAzuxB,IAAA,OAAAjC,MAOD,SAAK2wxB,EAAQC,GACX,OAAIjwxB,KAAKs4C,IACA23uB,EAAOjwxB,KAAKX,OAEZ2wxB,GAEX,GAAC,CAAA1uxB,IAAA,SAAAjC,MACD,WACE,OAAOW,KAAKs4C,GACd,GAAC,CAAAh3C,IAAA,SAAAjC,MACD,WACE,OAAQW,KAAKs4C,GACf,GAAC,CAAAh3C,IAAA,MAAAjC,MACD,SAAI6wxB,GACF,OAAIlwxB,KAAKs4C,IACAy3uB,EAASpyvB,KAAKuyvB,EAAOlwxB,KAAKX,QAE1B0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,OAAAjC,MACD,SAAK8wxB,GACH,OAAInwxB,KAAKs4C,IACA63uB,EAAOnwxB,KAAKX,OAEZ0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAOjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACpC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAQjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACrC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAKjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,OACvBW,KAEA+vxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,QAAAjC,MACD,SAAMovI,GACJ,OAAOzuI,KAAKs4C,IAAMt4C,KAAKX,MAAQovI,CACjC,GAAC,CAAAntI,IAAA,KAAAjC,MACD,SAAGovI,GACD,OAAOzuI,KAAKs4C,IAAMt4C,KAAOyuI,CAC3B,GAAC,CAAAntI,IAAA,aAAAjC,MACD,SAAW+wxB,GACT,OAAOpwxB,KAAKs4C,IAAMt4C,KAAKX,MAAQ+wxB,GACjC,GAAC,CAAA9uxB,IAAA,UAAAjC,MACD,SAAQ+wxB,GACN,OAAOpwxB,KAAKs4C,IAAMt4C,KAAOowxB,GAC3B,GAAC,CAAA9uxB,IAAA,WAAAjC,MACD,SAASsK,GACP,GAAK3J,KAAKs4C,IAGR,OAAOt4C,KAAKX,MAFZ,MAAM,IAAIK,MAAMiK,QAAyCA,EAAU,0BAIvE,GAAC,CAAArI,IAAA,YAAAjC,MAID,WACE,OAAOW,KAAKs4C,IAAMt4C,KAAKX,MAAQ,IACjC,GAAC,CAAAiC,IAAA,iBAAAjC,MACD,WACE,OAAOW,KAAKX,KACd,GAAC,CAAAiC,IAAA,OAAAjC,MACD,SAAKgxxB,GACCrwxB,KAAKs4C,KACP+3uB,EAAOrwxB,KAAKX,MAEhB,GAAC,CAAAiC,IAAA,UAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,CAACt4C,KAAKX,OAAS,EACnC,GAAC,CAAAiC,IAAA,WAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,QAAQ92C,OAAOxB,KAAKX,MAAO,KAAO,QACtD,IAAC,EAAAiC,IAAA,OAAAjC,MApFD,SAAYA,GACV,OAAO,IAAI0wxB,GAAS,EAAM1wxB,EAC5B,GAAC,CAAAiC,IAAA,OAAAjC,MACD,WACE,OAAO0wxB,EAAShhD,aAClB,GAAC,CAAAztuB,IAAA,OAAAjC,MA4DD,SAAYA,GACV,OA3Ee,SAAAiG,GAAC,OAAIA,OAA8B,CAC1B4pxB,CA0EH7vxB,GAAgC0wxB,EAAS/gX,OAAhC+gX,EAASpyvB,KAAKt+B,EAC9C,IAAC,CAxEW,GA2Fd0wxB,EAAShhD,cAAgB,IAAIghD,GAAS,GAEtC,IASMo5I,EAAS,SAACtlqB,EAAI1+P,GAClB,IAAK,IAAIpG,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAE7CoG,EADU0+P,EAAG9kQ,GACRA,EACP,CACF,EAYM4E,EAAO5F,OAAO4F,KACdg4D,EAAO,SAACp+B,EAAKp4B,GAEjB,IADA,IAAMwnC,EAAQhpC,EAAK45B,GACV4f,EAAI,EAAG1+C,EAAMkuC,EAAMnuC,OAAQ2+C,EAAI1+C,EAAK0+C,IAAK,CAChD,IAAMp+C,EAAI4tC,EAAMwQ,GAEhBh4C,EADUo4B,EAAIx+B,GACTA,EACP,CACF,EAEM+3xB,EAA2B,oBAAXn1xB,OAAyBA,OAAS0wC,SAAS,eAATA,GASlDvrC,EAAU,SAACpI,EAAGitU,GAElB,OATW,SAAClvU,EAAOkvU,GAEnB,IADA,IAAI5uQ,EAAI4uQ,QAAwCA,EAAQmrd,EAC/C/3xB,EAAI,EAAGA,EAAItC,EAAM+B,QAAVO,MAAoBg+D,IAAiCh+D,EACnEg+D,EAAIA,EAAEtgE,EAAMsC,IAEd,OAAOg+D,CACT,CAGSh9C,CADOrhB,EAAEivC,MAAM,KACHg+R,EACrB,EAKM0oa,EAAW,SAACx3uB,EAAM8uU,GACtB,IAAMx9Q,EAJO,SAACtxD,EAAM8uU,GACpB,OAAO7kU,EAAQjK,EAAM8uU,EACvB,CAEiBqrd,CAAOn6xB,EAAM8uU,GAC5B,GAAIx9Q,QACF,MAAM,IAAIzuD,MAAM7C,EAAO,kCAEzB,OAAOsxD,CACT,EAEM7O,EAAiBvhD,OAAOuhD,eAIxBujW,EAAgB,SAAA/tY,GACpB,IAAM62T,EAAQ7kU,EAAQ,4BAA6BgO,GACnD,OAAOk0E,EAASl0E,KALM,SAAA62T,GACtB,OAAO0oa,EAAS,cAAe1oa,EACjC,CAGyBurd,CAAgBvrd,GAAO3tU,UAAU6kZ,cAAc/tY,IAAM,mBAAmBrU,KAAK6+C,EAAexqC,GAAGyqC,YAAY1iD,MACpI,EAMMwC,EAAQ,SAAAu3G,GAAO,OAAIA,EAAQuoW,IAAIp0F,SAAU,EACzCh9R,EAAS,SAAAtyE,GAAC,OAAI,SAAAm7F,GAAO,OAFd,SAAAA,GAAO,OAAIA,EAAQuoW,IAAIn0X,QAAS,CAEdjrF,CAAK62G,KAAan7F,CAAE,CAAD,EAC5CwixB,EAAgB,SAAArnrB,GAAO,OAAIsuQ,EAAUtuQ,IAAYisS,EAAcjsS,EAAQuoW,IAAK,EAC5Ej6F,EAAYn3R,EAPF,GAQVo3R,EAASp3R,EAPF,GAiBPxpF,EAAM,SAACqyG,EAASt1G,EAAKjC,IARZ,SAAC8/c,EAAK79c,EAAKjC,GACxB,KAAI2zE,EAAS3zE,IAAUs8K,EAAUt8K,IAAUs4H,EAASt4H,IAIlD,MADAvC,QAAQC,MAAM,sCAAuCuE,EAAK,YAAajC,EAAO,cAAe8/c,GACvF,IAAIz/c,MAAM,kCAHhBy/c,EAAInoW,aAAa11G,EAAKjC,EAAQ,GAKlC,CAEEq4xB,CAAO9grB,EAAQuoW,IAAK79c,EAAKjC,EAC3B,EAKMwyzB,EAAW,SAACj7sB,EAASt1G,GACzBs1G,EAAQuoW,IAAIvqW,gBAAgBtzG,EAC9B,EAEMquD,EAAO,SAACinD,EAASzmC,GACrB,IAAM9wE,EATM,SAACu3G,EAASt1G,GACtB,IAAMujD,EAAI+xD,EAAQuoW,IAAItoW,aAAav1G,GACnC,OAAa,OAANujD,OAAan/C,EAAYm/C,CAClC,CAMgBw+mB,CAAMzsjB,EAASzmC,GAC7B,YAAiBzqE,IAAVrG,GAAiC,KAAVA,EAAe,GAAKA,EAAMsuC,MAAM,IAChE,EAiBMnzB,EAAW,SAAAo8F,GAAO,YAA8BlxG,IAA1BkxG,EAAQuoW,IAAIp1b,SAAwB,EAE1Dk6oB,EAAQ,SAACrtjB,EAASyhrB,GAAK,OAlBf,SAACzhrB,EAASzmC,EAAMpuD,GAC5B,IACM0jZ,EADM91W,EAAKinD,EAASzmC,GACX3uE,OAAO,CAACugB,IAEvB,OADAxd,EAAIqyG,EAASzmC,EAAMs1V,EAAG35W,KAAK,OACpB,CACT,CAakC2suB,CAAM7hrB,EAAS,QAASyhrB,EAAO,EAC3DwhF,EAAW,SAACjjwB,EAASyhrB,GAAK,OAbf,SAACzhrB,EAASzmC,EAAMpuD,GAC/B,IAAM0jZ,EA/FO,SAAC5hK,EAAIiye,GAElB,IADA,IAAMlsrB,EAAI,GACD7qD,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAC7C,IAAM+V,EAAI+uP,EAAG9kQ,GACT+2uB,EAAKhhuB,EAAG/V,IACV6qD,EAAE9lD,KAAKgR,EAEX,CACA,OAAO80C,CACT,CAsFa7yB,CAAO44B,EAAKinD,EAASzmC,GAAO,SAAAtrB,GAAC,OAAIA,IAAM9iC,CAAE,GAMpD,OALI0jZ,EAAGjna,OAAS,EACd+F,EAAIqyG,EAASzmC,EAAMs1V,EAAG35W,KAAK,MAE3B+lwB,EAASj7sB,EAASzmC,IAEb,CACT,CAKqCohyB,CAAS36vB,EAAS,QAASyhrB,EAAO,EASjEK,EAAa,SAAA9hrB,GACjB,IAAM7sF,EAAYvP,EAASo8F,GAAWA,EAAQuoW,IAAIp1b,UAZxC,SAAA6sF,GAAO,OAAIjnD,EAAKinD,EAAS,QAAS,CAYkBpyG,CAAIoyG,GACzC,IAArB7sF,EAAUvrB,QACZqzzB,EAASj7sB,EAAS,QAEtB,EAgCM44nB,EAAU,SAAAhprB,GACd,GAAIA,QACF,MAAM,IAAI9mD,MAAM,oCAElB,MAAO,CACLy/c,IAAK34Z,EAET,EAEMuyuB,EAAe,CACnB1pD,SA/Be,SAACrjX,EAAMrgD,GACtB,IACMnhS,GADMmhS,GAAS1lT,UACL6F,cAAc,OAE9B,GADA0e,EAAIC,UAAYuhV,GACXxhV,EAAIw6P,iBAAmBx6P,EAAI7J,WAAWniC,OAAS,EAAG,CACrD,IAAMmL,EAAU,wCAEhB,MADA7M,QAAQC,MAAM4M,EAASqiX,GACjB,IAAItsX,MAAMiK,EAClB,CACA,OAAO6luB,EAAQhlsB,EAAI7J,WAAW,GAChC,EAsBE2usB,QArBc,SAACh3rB,EAAKqzR,GACpB,IACMnlR,GADMmlR,GAAS1lT,UACJ6F,cAAcwsB,GAC/B,OAAOk3rB,EAAQhprB,EACjB,EAkBE+orB,SAjBe,SAAC56sB,EAAMg3S,GACtB,IACMnlR,GADMmlR,GAAS1lT,UACJwgC,eAAe9xB,GAChC,OAAO66sB,EAAQhprB,EACjB,EAcEgprB,UACAC,UANgB,SAACupD,EAAQlkxB,EAAGC,GAAC,OAAKg7wB,EAASxquB,KAAKyzuB,EAAO75U,IAAIzJ,iBAAiB5gc,EAAGC,IAAI5F,IAAIqguB,EAAS,GAS5FprB,EAAU,CACd,OAAQ,OACR,OAAQ,OAEJktT,EAAkB,SAACltT,EAAShyqB,GAChC,IAAIqkrB,EAAS,GAIb,OAHA96pB,EAAKyopB,EAAS,SAAC5qoB,EAAQl4E,GACrBm1tB,GAAUn1tB,CACZ,GACO,IAAIinE,OAAO,IAAMkupB,EAAS,IAAKrkrB,EAAS,IAAM,GACvD,EAWMqkrB,EAAS66S,EAAgBltT,GACzBmtT,EAAeD,EAAgBltT,GAAS,GACxC9rlB,EAZoB,SAAA8rlB,GACxB,IAAI9rlB,EAAW,GAOf,OANA38D,EAAKyopB,EAAS,SAAA/ktB,GACRi5H,IACFA,GAAY,KAEdA,GAAY,YAAcj5H,CAC5B,GACOi5H,CACT,CAGiBk54B,CAAkBptT,GAC7BqtT,EAAY,WAEZ34R,EAAS,SAAAlioB,GAAO,OAAIA,EAAQuoW,IAAIg4O,eAAgB,EAEhDu6U,EAAmB,SAAArygC,GAAK,MAAI,uCAAyC+ktB,EAAQ/ktB,GAAS,KAAOA,EAAQ,SAAU,EAE/GsygC,EAAgB,SAAAnr9B,GAAI,MAAoC,SAAhCA,EAAK6yD,SAAS35F,eAA4B8mC,EAAKz8B,UAAUkzF,SAAS,gBAAiB,EAC3Gh9B,EAAU,SAAAj7E,GACd,IAAMyjzB,EAAUppzB,EAAM2F,GACtB,OAAOmgX,EAAOngX,IAAMguE,EAASy1uB,IAAYhyF,EAAOh2tB,KAAKgozB,EACvD,EAaMmpN,EAA4B,SAACjmsB,EAAO1lO,EAAW60rB,GACnD,IAAI76xB,EAAS,GAEPg9E,EA3OI,SAAC4mL,EAAI1+P,GAGf,IAFA,IAAM1G,EAAMolQ,EAAGrlQ,OACTorD,EAAI,IAAIn1C,MAAMhW,GACXM,EAAI,EAAGA,EAAIN,EAAKM,IAAK,CAC5B,IAAM+V,EAAI+uP,EAAG9kQ,GACb6qD,EAAE7qD,GAAKoG,EAAE2P,EAAG/V,EACd,CACA,OAAO6qD,CACT,CAmOmBz6C,CADLw8T,EAAMwzI,IACOx+a,WAAYo4vB,EAAavpD,SAC5C8sE,EAAa,SAAA91vB,GAAI,OAAImr9B,EAAcnr9B,EAAK24Z,OAhBjB,SAAA34Z,GAAI,OAAIy3uB,EAAcz3uB,IAA0B,UAAjBsyrB,EAAOtyrB,EAAkB,CAgB9Bsi2B,CAAuBti2B,EAAM,EAOpF,OANA2i3B,EAAOls1B,EAAU,SAAAnoE,GACXgmxB,GAAYwhB,EAAWxnyB,IAAMmxF,EAAUnxF,KACzC7U,EAASA,EAAOuB,OAAO,CAACsT,KAE1B7U,EAASA,EAAOuB,OAAOowgC,EAA0B98/B,EAAGmxF,EApBhC,SAACz/C,EAAMk4B,GAC7B,GAAIu/sB,EAAcz3uB,KAAUmr9B,EAAcnr9B,EAAK24Z,KAAM,CACnD,IAAM9/c,EAAQy5uB,EAAOtyrB,GACrB,GAAc,SAAVnnD,EACF,OAAO,EACF,GAAc,UAAVA,EACT,OAAO,CAEX,CACA,OAAOq/E,CACT,CAUmEmz7B,CAAgB/8/B,EAAGgmxB,IACpF,GACO76xB,CACT,EAYMutS,EAAO,SAAC0ygB,EAAQhZ,GACpB,IAAM/nV,EAAM+gW,EAAO/gW,IACb2yjB,EAAWF,EAA0B74O,EAAavpD,QAAQ03D,GAAUjntB,EAASiguB,EAAO/gW,IAAIm9V,WAAWpV,IACzGiiI,EAAO2oG,EAAU,SAAA9sgC,GACf,IAAI6jD,EAxIK+tD,EAASyhrB,EAyIZnyuB,EAASlhD,EAAEm6c,IAAIpnW,WACrB,GAAI455B,EAAczr9B,GA1IT0wD,EA2IHmirB,EAAavpD,QAAQtprB,GA3ITmyuB,EA2IkBo5O,EA1IlCj3/B,EAASo8F,GACXA,EAAQuoW,IAAIp1b,UAAUvc,IAAI6qxB,GAE1Bp0H,EAAMrtjB,EAASyhrB,OAwIR,CAIL,IAHA,IAEI7xuB,EAFEur9B,EAA6B5yjB,EAAIh7Y,OAA2B,QAAnBtb,EAAKxpD,EAAM2F,UAA4B,IAAZ6jD,EAAgBA,EAAK,IAX/DppC,QAAQ8x/B,EAAcG,GAYhDln+B,EAAM20a,EAAItna,OAAO,MAAO,CAAC,EAAGk69B,GAE3Bvr9B,EAAOhc,EAAIm0E,WAChBwgW,EAAI08V,YAAYr1vB,EAAMxhD,EAAEm6c,KAE1B+gW,EAAO/gW,IAAIh2b,OAAOnkB,EAAEm6c,IACtB,CACF,EACF,EACM1xK,EAAO,SAACyygB,EAAQhZ,GACpB,IAAM4qO,EAAW5xN,EAAO/gW,IAAIh9a,OAAOm2F,EAAU4uqB,GAC7CiiI,EAAO2oG,EAAU,SAAAtr9B,GA5IJ,IAACowD,EAASyhrB,EA6IjBs5O,EAAcnr9B,IA7INowD,EA8IHmirB,EAAavpD,QAAQhprB,GA9IT6xuB,EA8IgBo5O,EA7InCj3/B,EAASo8F,GACOA,EAAQuoW,IAAIp1b,UACpBZ,OAAOkvwB,GAEjBwhF,EAASjjwB,EAASyhrB,GAEpBK,EAAW9hrB,IAyIPspsB,EAAO/gW,IAAIh2b,OAAOq9B,GAAM,EAE5B,EACF,EACMD,EAAS,SAAA25vB,GACb,IAAMrnvB,EAAOqnvB,EAAO50D,UACdgtE,EAAWpY,EAAOx8hB,UAAU6pe,cAC9Bx1oB,EA3CgB,SAACvoF,EAAK03wB,GAC1B,KAAO13wB,EAAIuoF,YAAY,CACrB,GAAIvoF,EAAIuoF,aAAemvrB,EACrB,OAAOA,EAET13wB,EAAMA,EAAIuoF,UACZ,CAEF,CAmCmBi65B,CAAc9xN,EAAOx8hB,UAAUyxd,UAAWt8qB,GAE3D40O,EAAKyygB,EADLnosB,OAA4BryG,IAAfqyG,EAA2BA,EAAal/C,GAErD20O,EAAK0ygB,EAAQnosB,GACbmosB,EAAOx8hB,UAAUipe,eAAe2rE,EAClC,EAEM25M,EAAmB,SAAC/xN,EAAQo5L,IAzaV,SAACp5L,EAAQ/hyB,GACxB+hyB,EAAO5iyB,SAAS,cAAe,CACpCa,SAEJ,CAsaE+z/B,CAAgBhyN,EAAQo5L,EAAY90+B,OACpC,IAAMq0D,EAAOqnvB,EAAO50D,WACM,IAAtBguP,EAAY90+B,MACdgpS,EAAK0ygB,EAAQrnvB,GAEb40O,EAAKyygB,EAAQrnvB,EAEjB,EAQM4w0B,EAAa,SAACvpF,EAAQo5L,GAC1Bp5L,EAAO1yD,WAAW,iBAAkB,YARZ,SAAC0yD,EAAQo5L,GACjCA,EAAY/0+B,KAAK+0+B,EAAY90+B,OAC7B,IAAM8zzB,EAAWpY,EAAOx8hB,UAAU6pe,cAClC0kR,EAAiB/xN,EAAQo5L,GACzBp5L,EAAOx8hB,UAAUipe,eAAe2rE,EAClC,CAII65M,CAAkBjyN,EAAQo5L,EAC5B,EACF,EAUM83B,EARS,SAAAv0gC,GAAI,OAAI,SAAAqjzB,GAAM,OAAIA,EAAOl6yB,QAAQxB,IAAI3H,EAAM,CAAD,CAQ9BswO,CAAO,6BA8B5B4lP,EAAQ,SAACmtV,EAAQo5L,GACrB,IAAM84B,EAvBM,SAACzlgC,EAAIgtkB,GACjB,IAAIj0jB,EAAQ,KAeZ,MAAO,CACLysE,OAfa,WACR0zC,EAAOngH,KACVkrB,aAAalrB,GACbA,EAAQ,KAEZ,EAWEwmO,SAVe,WAAc,IAAD,IAAAmmxB,EAAArwgC,UAAAxD,OAATuV,EAAI,IAAAU,MAAA49/B,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJv+/B,EAAIu+/B,GAAAtwgC,UAAAswgC,GACnBzs4B,EAAOngH,KACTA,EAAQ0lB,WAAW,WACjB1lB,EAAQ,KACR/Y,EAAG3E,MAAM,KAAM+L,EACjB,EAAG4lkB,GAEP,EAKF,CAG0B1lb,CAAM,WAC5B1tG,EAAO25vB,EACT,EAAG,KACHA,EAAOlnuB,GAAG,UAAW,SAAAp8E,IACO,IAAtB08+B,EAAY90+B,QACA,KAAd5H,EAAEw7rB,QAAiB7xoB,EAAO25vB,GAAUkyN,EAAgBlmxB,WAExD,GACAg0jB,EAAOlnuB,GAAG,SAAUo57B,EAAgBjg7B,OACtC,EAEMk/6B,EAAoB,SAACnxN,EAAQqyN,GAAa,OAAK,SAAAvg4B,GACnDA,EAAIq9rB,UAAUkjM,EAAc/tgC,OAC5B,IAAMmk+B,EAAsB,SAAA/r+B,GAAC,OAAIo1I,EAAIq9rB,UAAUzy0B,EAAEuhB,MAAO,EAExD,OADA+hyB,EAAOlnuB,GAAG,cAAe2v5B,GAClB,kBAAMzoL,EAAOl7tB,IAAI,cAAe2j5B,EAAqB,CAC9D,CAAE,EAkBAv27B,EAAO5kC,IAAI,cAAe,SAAA0yyB,IAxET,SAAAA,IAEjBspH,EADuBtpH,EAAOl6yB,QAAQy0F,UACvB,4BAA6B,CAC1CsxpB,UAAW,UACX5ouB,SAAS,GAEb,CAmEI473B,CAAW7+F,GACX,IAAMo5L,EAniBG,SAAAznwB,GACX,IAAIxyO,EAAQwyO,EAOZ,MAAO,CACLrtO,IAPU,WACV,OAAOnF,CACT,EAMEkF,IALU,SAAAsgD,GACVxlD,EAAQwlD,CACV,EAKF,CAuhBwB24vB,CAAK4zN,EAAmBlxN,IAK5C,OAJAupF,EAAWvpF,EAAQo5L,GApBN,SAACp5L,EAAQo5L,GACxB,IAAMj6qB,EAAW,WAAH,OAAS6gf,EAAO/0D,YAAY,iBAAkB,EAC5D+0D,EAAO5/X,GAAG5zZ,SAAS274B,gBAAgB,cAAe,CAChD3rzB,QAAS,4BACTr4F,KAAM,cACNg7S,WACA8okB,QAASkpI,EAAkBnxN,EAAQo5L,KAErCp5L,EAAO5/X,GAAG5zZ,SAASg84B,kBAAkB,cAAe,CAClD/z4B,KAAM,4BACNtQ,KAAM,cACNg7S,WACA8okB,QAASkpI,EAAkBnxN,EAAQo5L,IAEvC,CAOI7+4B,CAASyltB,EAAQo5L,GACjBvmhB,EAAMmtV,EAAQo5L,GApEF,SAACp5L,EAAQo5L,GACvBp5L,EAAOlnuB,GAAG,OAAQ,WAChBi57B,EAAiB/xN,EAAQo5L,EAC3B,EACF,CAiEIjlF,CAAQn0G,EAAQo5L,GAvhBN,SAAAA,GAIZ,MAAO,CACL5nsB,UAJgB,WAChB,OAAO4nsB,EAAY90+B,KACrB,EAIF,CAihBWqxF,CAAMyj5B,EACf,EAKL,CAjjBD,GAsjBA,WAGI,IAAItnE,EAAW/iM,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,yBAGpC++H,EADK,SAAApqH,GAAC,OAAI,SAAAnW,GAAC,OAAImW,IAAMnW,CAAE,CAAD,CACbsiF,CAAG,MAEZ4H,EAAW,SAAA16E,GACf,OAAOA,CACT,EAEM3F,EAAM,SAAC00P,EAAI1+P,GAGf,IAFA,IAAM1G,EAAMolQ,EAAGrlQ,OACTorD,EAAI,IAAIn1C,MAAMhW,GACXM,EAAI,EAAGA,EAAIN,EAAKM,IAAK,CAC5B,IAAM+V,EAAI+uP,EAAG9kQ,GACb6qD,EAAE7qD,GAAKoG,EAAE2P,EAAG/V,EACd,CACA,OAAO6qD,CACT,EAGM4o9B,EAEO,8CAFPA,EAGO,4CAHPA,EAII,uFAJJA,EAKK,2bALLA,EAMA,MANAA,EAOA,MAPAA,EAQK,yBARLA,EASI,+9DATJA,EAUI,oHAVJA,EAWM,4GAXNA,EAYU,uEAZVA,EADiB,+pCAgBjBC,EACK,EADLA,EAEO,EAFPA,EAGO,EAHPA,EAII,EAJJA,EAKK,EALLA,EAMA,EANAA,EAOA,EAPAA,EAQK,EARLA,EASI,EATJA,EAUI,EAVJA,EAWM,GAXNA,EAYU,GAZVA,EAaA,GAbAA,EAcG,GAEHC,EAAS,CAAC,IAAInq8B,OA9BT,y6GA8BkC,IAAIA,OAAOiq8B,GAAoB,IAAIjq8B,OAAOiq8B,GAAoB,IAAIjq8B,OAAOiq8B,GAAiB,IAAIjq8B,OAAOiq8B,GAAkB,IAAIjq8B,OAAOiq8B,GAAa,IAAIjq8B,OAAOiq8B,GAAa,IAAIjq8B,OAAOiq8B,GAAkB,IAAIjq8B,OAAOiq8B,GAAiB,IAAIjq8B,OAAOiq8B,GAAiB,IAAIjq8B,OAAOiq8B,GAAmB,IAAIjq8B,OAAOiq8B,GAAuB,IAAIjq8B,OAAO,MAE9Woq8B,EAAgB,IAAIpq8B,OAAO,IAAMiq8B,EAAsB,KAGvDI,EAAOF,EACPG,EAAQJ,EACRx4nB,EAAU,SAAAx6T,GAGd,IAFA,IAAI1/E,EAAO8ygC,EACLC,EAAaF,EAAKp0gC,OACf41B,EAAI,EAAGA,EAAI0++B,IAAc1++B,EAAG,CACnC,IAAM7vB,EAAMqugC,EAAKx++B,GACjB,GAAI7vB,GAAOA,EAAI9D,KAAKg/E,GAAO,CACzB1/E,EAAOq0B,EACP,KACF,CACF,CACA,OAAOr0B,CACT,EAkBMgzgC,EAAiB,SAAC5jgC,EAAK/E,GAC3B,IAAMrK,EAAOoP,EAAI/E,GACX4ogC,EAAW7jgC,EAAI/E,EAAQ,GAC7B,GAAIA,EAAQ,GAAKA,EAAQ+E,EAAI3Q,OAAS,GAAe,IAAV4L,EACzC,OAAO,EAET,GAAIrK,IAAS0ygC,GAA4BO,IAAaP,EACpD,OAAO,EAET,IAAMQ,EAAe9jgC,EAAI/E,EAAQ,GACjC,GAAIrK,IAAS0ygC,IAA6BO,IAAaP,GAA8BO,IAAaP,GAA8BO,IAAaP,IAAwBQ,IAAiBR,EACpL,OAAO,EAET,IAAMS,EAAW/jgC,EAAI/E,EAAQ,GAC7B,OAAKrK,IAAS0ygC,GAA8B1ygC,IAAS0ygC,GAA8BO,IAAaP,GAAwBO,IAAaP,GAA4BS,IAAaT,MAGzK1ygC,IAAS0ygC,GAA4B1ygC,IAAS0ygC,GAA8BO,IAAaP,GAA4BO,IAAaP,MAGlI1ygC,IAAS0ygC,GAA2B1ygC,IAAS0ygC,GAA+BO,IAAaP,GAA4BS,IAAaT,MAGnI1ygC,IAAS0ygC,GAA6BO,IAAaP,GAA2BO,IAAaP,GAA+BQ,IAAiBR,MAG1I1ygC,IAAS0ygC,GAA2B1ygC,IAAS0ygC,GAA6BO,IAAaP,GAA4BO,IAAaP,GAA4BO,IAAaP,GAA6BO,IAAaP,GAA2BO,IAAaP,KAA6BO,IAAaP,IAA2BO,IAAaP,GAA4BQ,IAAiBR,GAA4BQ,IAAiBR,GAA4BQ,IAAiBR,GAA6BQ,IAAiBR,GAA2BQ,IAAiBR,IAA8B1ygC,IAAS0ygC,GAA4B1ygC,IAAS0ygC,GAA4B1ygC,IAAS0ygC,GAA6B1ygC,IAAS0ygC,GAA2B1ygC,IAAS0ygC,MAG1uB1ygC,IAAS0ygC,GAAuBO,IAAaP,KAG7C1ygC,IAAS0ygC,GAA4B1ygC,IAAS0ygC,GAAuB1ygC,IAAS0ygC,IAG9EO,IAAaP,GAA4BO,IAAaP,GAAuBO,IAAaP,IAG1F1ygC,IAAS0ygC,GAA6BO,IAAaP,MAGnDO,IAAaP,GAAkC1ygC,IAAS0ygC,GAA4B1ygC,IAAS0ygC,GAA4B1ygC,IAAS0ygC,GAA6B1ygC,IAAS0ygC,MAGxK1ygC,IAAS0ygC,GAAkCO,IAAaP,GAA4BO,IAAaP,GAA4BO,IAAaP,IAG1I1ygC,IAAS0ygC,UAIf,EAGMU,EAvFe,QAwFfC,EAAcT,EACdU,EAAa,SAAAvzgC,GAAG,MAAY,SAARA,GAA0B,UAARA,CAAgB,EAUtDwzgC,EAAa,SAACj7F,EAAYn84B,GAC9B,IAAMm0mB,EAVY,SAACgoS,EAAYn84B,GAC/B,IAAIn9B,EACJ,IAAKA,EAAIm9B,EAAYn9B,EAAIs56B,EAAW756B,SAC9B20gC,EAAW1ygC,KAAK436B,EAAWt56B,IADWA,KAK5C,OAAOA,CACT,CAEmBw0gC,CAAYl7F,EAAYn84B,EAAa,GAEtD,MAAmC,QADhBm84B,EAAWzj6B,MAAMsnB,EAAa,EAAGm0mB,GAAUvklB,KAvGzC,IAwGHsE,OAAO,EAAG,GAAeiglB,EAAWn0mB,CACxD,EAqCMs3+B,EAAsB,SAAC5sc,EAAOk+T,EAAS9+3B,GAC3CA,EAAOuF,EAAA,GALwB,CAC/BkogC,mBAAmB,EACnBC,oBAAoB,GAKf1tgC,GAEL,IArHeqy6B,EACT1jtB,EAoHAg/yB,EAAiBxkgC,EAAIy3jB,EAAOk+T,GAC5B8uI,GAtHSv7F,EAsHes7F,EArHxBh/yB,EAbQ,SAAApvJ,GACd,IAAM3yD,EAAQ,CAAC,EACf,OAAO,SAAA6sE,GACL,GAAI7sE,EAAM6sE,GACR,OAAO7sE,EAAM6sE,GAEb,IAAMx/E,EAASslE,EAAKka,GAEpB,OADA7sE,EAAM6sE,GAAQx/E,EACPA,CAEX,CACF,CAEmBshI,CAAQ04Q,GAClB9qY,EAAIkp6B,EAAY1jtB,IAqHvB,OA3C2B,SAACiyW,EAAOitc,EAAQD,EAAc5tgC,GAIzD,IAHA,IAAM8hf,EAAQ,GACRsqB,EAAU,GACZ5yR,EAAO,GACFzgP,EAAI,EAAGA,EAAI60gC,EAAap1gC,SAAUO,EAEzC,GADAygP,EAAK17O,KAAK8ikB,EAAM7nkB,IACZg0gC,EAAea,EAAc70gC,GAAI,CACnC,IAAM4/E,EAAKk17B,EAAO90gC,GAClB,IAAKiH,EAAQytgC,oBAAsBN,EAAW1ygC,KAAKk+E,MAAS34E,EAAQ0tgC,qBAAuBN,EAAY3ygC,KAAKk+E,IAAM,CAChH,IAAMm17B,EAAc/0gC,EAAIygP,EAAKhhP,OAAS,EAChCu1gC,EAAYh1gC,EAAI,EAChBe,EAAM+zgC,EAAOj//B,MAAMk//B,EAAaC,GAAWjo9B,KArHlC,IAsHf,GAAIun9B,EAAWvzgC,GAAM,CACnB,IAAMk0gC,EAAWV,EAAWO,EAAQ90gC,GAC9B61B,EAAMgyiB,EAAMhyjB,MAAMm//B,EAAWC,GACnCv//B,MAAMzW,UAAU8F,KAAKkE,MAAMw3O,EAAM5qN,GACjC71B,EAAIi1gC,CACN,CACAlshB,EAAMhkf,KAAK07O,GACX4yR,EAAQtugB,KAAK,CACXuQ,MAAOy//B,EACPx//B,IAAKy//B,GAET,CACAv0xB,EAAO,EACT,CAEF,MAAO,CACLsoQ,QACAsqB,UAEJ,CAYS6hgB,CAAqBrtc,EAAO+sc,EAAgBC,EAAc5tgC,EACnE,EAGMkugC,EAFa,SAACttc,EAAOk+T,EAAS9+3B,GAAO,OAAKwtgC,EAAoB5sc,EAAOk+T,EAAS9+3B,GAAS8hf,KAAM,EAI7FqshB,EAAe,SAAApvgC,GAAC,OAAIA,EAAE0a,QAAQ,UAAW,GAAI,EAE/Cq4rB,EAAWm3B,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,0BAEpC4xuB,EAAU,SAAClyrB,EAAMpjC,GAQrB,IAPA,IAMIy/wB,EANEu1D,EAAgBh10B,EAAOgixB,mBACvB84G,EAAe963B,EAAO0uxB,kBACtBrO,EAAY,SAAAj9uB,GAAI,OAAI4xyB,EAAc5xyB,EAAK6yD,WAAa6kyB,EAAa131B,EAAK6yD,SAAU,EAChFor4B,EAAa,GACfjkP,EAAM,GACJ4zQ,EAAa,IAAIt8T,EAAStxpB,EAAMA,GAE/Bq8uB,EAAWuxO,EAAWhogC,QACD,IAAtBy2xB,EAAS73sB,SACXw1qB,GAAO2zQ,EAAatxO,EAAS1+xB,MACpBs/xB,EAAUZ,IAAariC,EAAIhiwB,SACpCim/B,EAAW3g/B,KAAK08vB,GAChBA,EAAM,IAMV,OAHIA,EAAIhiwB,QACNim/B,EAAW3g/B,KAAK08vB,GAEXikP,CACT,EAGMv07B,EAAS,SAAApwD,GAAG,OAAIA,EAAI2f,QAAQ,kCAAmC,KAAKjhB,MAAO,EAC3E61gC,EAAa,SAAC7t9B,EAAMpjC,GACxB,IAAMuR,EAHW,SAAAA,GAAI,OAAIA,EAAKlV,QAAQ,UAAW,GAAI,CAGxC60/B,CAAW57R,EAAQlyrB,EAAMpjC,GAAQ0oC,KAAK,OACnD,OAAOoo9B,EAASv/+B,EAAKgZ,MAAM,IAAK6hD,GAAUhxF,MAC5C,EACM+1gC,EAAkB,SAAC/t9B,EAAMpjC,GAC7B,IAAMuR,EAAO+jtB,EAAQlyrB,EAAMpjC,GAAQ0oC,KAAK,IACxC,OAAOoE,EAAOv7B,EAChB,EACM6/+B,EAA+B,SAAChu9B,EAAMpjC,GAC1C,IAAMuR,EAAO+jtB,EAAQlyrB,EAAMpjC,GAAQ0oC,KAAK,IAAIrsC,QAAQ,MAAO,IAC3D,OAAOywC,EAAOv7B,EAChB,EAEM8/+B,EAAoB,SAACv0N,EAAQh2yB,GAAK,OAAK,kBAAMA,EAAMg2yB,EAAO50D,UAAW40D,EAAO98xB,OAAQ,CAAD,EACnFsx/B,EAAyB,SAACx0N,EAAQh2yB,GAAK,OAAK,kBAAMA,EAAMg2yB,EAAOx8hB,UAAU08hB,SAASmnC,gBAAiBrnC,EAAO98xB,OAAQ,CAAD,EACjHux/B,EAAwB,SAAAz0N,GAAM,OAAIu0N,EAAkBv0N,EAAQm0N,EAAY,EAmCxEt1H,EAAa,SAAC7+F,EAAQluqB,GAC1BkuqB,EAAO1yD,WAAW,eAAgB,kBArBvB,SAAC0yD,EAAQluqB,GACpBkuqB,EAAOjzD,cAAcxkvB,KAAK,CACxByzF,MAAO,aACPrjC,KAAM,CACJ94D,KAAM,QACNkkB,MAAO,CAAC,CACNlkB,KAAM,QACNwmB,OAAQ,CAAC,QAAS,WAAY,aAC9BszQ,MAAO,CAAC,CAAC,QAASp4R,OAAOuwI,EAAIn5E,KAAK+78B,gBAAiBnzgC,OAAOuwI,EAAI0xI,UAAUkxvB,iBAAkB,CAAC,yBAA0BnzgC,OAAOuwI,EAAIn5E,KAAKg88B,kCAAmCpzgC,OAAOuwI,EAAI0xI,UAAUmxvB,mCAAoC,CAAC,aAAcpzgC,OAAOuwI,EAAIn5E,KAAKi88B,qBAAsBrzgC,OAAOuwI,EAAI0xI,UAAUoxvB,0BAG/St8uB,QAAS,CAAC,CACRz4R,KAAM,SACNlD,KAAM,QACN83B,KAAM,QACNk4tB,SAAS,KAGf,CAG0CpkvB,CAAKy3yB,EAAQluqB,EAAI,EAC3D,EAwBI5/F,GAAS68rB,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,sBAYlCiugC,GAAc,SAAC70N,EAAQluqB,IAVD,SAACkuqB,EAAQluqB,GACnCkuqB,EAAO5iyB,SAAS,kBAAmB,CACjC03/B,UAAW,CACTlthB,MAAO91W,EAAIn5E,KAAK+78B,eAChBv8F,WAAYrmyB,EAAIn5E,KAAKi88B,oBACrBG,wBAAyBjj4B,EAAIn5E,KAAKg88B,mCAGxC,CAGEK,CAAoBh1N,EAAQluqB,EAC9B,EACM+gV,GAAQ,SAACmtV,EAAQluqB,EAAK3nH,GAC1B,IAAM8q/B,EAtCM,SAACxogC,EAAIgtkB,GACjB,IAAIj0jB,EAAQ,KAeZ,MAAO,CACLysE,OAfa,WACR0zC,EAAOngH,KACVkrB,aAAalrB,GACbA,EAAQ,KAEZ,EAWEwmO,SAVe,WAAc,IAAD,IAAAkpxB,EAAApzgC,UAAAxD,OAATuV,EAAI,IAAAU,MAAA2ggC,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJthgC,EAAIshgC,GAAArzgC,UAAAqzgC,GACnBxv4B,EAAOngH,KACTA,EAAQ0lB,WAAW,WACjB1lB,EAAQ,KACR/Y,EAAG3E,MAAM,KAAM+L,EACjB,EAAG4lkB,GAEP,EAKF,CAkB0B1lb,CAAM,kBAAM8g3B,GAAY70N,EAAQluqB,EAAI,EAAE3nH,GAC9D61xB,EAAOlnuB,GAAG,OAAQ,WAChB+77B,GAAY70N,EAAQluqB,GACpB5/F,GAAO67xB,iBAAiB/tB,EAAQ,WAC9BA,EAAOlnuB,GAAG,sDAAuDm87B,EAAgBjpxB,SACnF,EAAG,GACHg0jB,EAAOlnuB,GAAG,SAAUm87B,EAAgBhj7B,OACtC,EACF,GAgBa,WAAkB,IAAjB9nE,EAAKroB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,IACpBgw6B,EAASxk6B,IAAI,YAAa,SAAA0yyB,GACxB,IAAMluqB,EAtGE,SAAAkuqB,GAAM,MAAK,CACrBrnvB,KAAM,CACJ+78B,aAAcD,EAAsBz0N,GACpC40N,kBAAmBL,EAAkBv0N,EAAQq0N,GAC7CM,+BAAgCJ,EAAkBv0N,EAAQs0N,IAE5D9wvB,UAAW,CACTkxvB,aAAcF,EAAuBx0N,EAAQm0N,GAC7CS,kBAAmBJ,EAAuBx0N,EAAQq0N,GAClDM,+BAAgCH,EAAuBx0N,EAAQs0N,IAEjEc,SAAUX,EAAsBz0N,GACjC,CA0Fe17yB,CAAI07yB,GAIhB,OAHA6+F,EAAW7+F,EAAQluqB,GAjBN,SAAAkuqB,GACf,IAAM7gf,EAAW,WAAH,OAAS6gf,EAAO/0D,YAAY,eAAgB,EAC1D+0D,EAAO5/X,GAAG5zZ,SAASy74B,UAAU,YAAa,CACxCzrzB,QAAS,aACTr4F,KAAM,kBACNg7S,aAEF6gf,EAAO5/X,GAAG5zZ,SAAS874B,YAAY,YAAa,CAC1C7z4B,KAAM,aACNtQ,KAAM,kBACNg7S,YAEJ,CAMI5kO,CAASyltB,GACTntV,GAAMmtV,EAAQluqB,EAAK3nH,GACZ2nH,CACT,EACF,CAEA2kxB,EAEH,CA9WD,GA+WA1nL,QAAQ4rI,YAAYrt2B,IAAI,UAAW,CACjC4xQ,MAAO,CACL,sBAAuB,oRACvB,mBAAoB,gvBACpB,UAAa,qUACb,cAAe,kJACf,cAAe,mJACf,OAAU,4UACV,YAAa,ogBACb,GAAM,ihBACN,eAAgB,oQAChB,gBAAiB,qQACjB,aAAc,mQACd,aAAc,kXACd,cAAe,sQACf,aAAc,2IACd,cAAe,0IACf,KAAQ,ubACR,SAAY,qHACZ,eAAgB,sdAChB,eAAgB,sNAChB,WAAc,s0CACd,OAAU,0QACV,OAAU,yPACV,wBAAyB,uPACzB,oBAAqB,whBACrB,cAAe,ydACf,kBAAmB,u7BACnB,gBAAiB,ohBACjB,UAAa,ygBACb,UAAa,6JACb,eAAgB,0LAChB,eAAgB,qLAChB,gBAAiB,2LACjB,aAAc,0LACd,MAAS,wNACT,cAAe,qkCACf,eAAgB,4fAChB,eAAgB,2VAChB,4BAA6B,8GAC7B,eAAgB,0GAChB,cAAe,4UACf,QAAW,wOACX,SAAY,oJACZ,KAAQ,8LACR,KAAQ,qOACR,aAAc,67BACd,UAAW,i6BACX,IAAO,m7BACP,sBAAuB,8JACvB,KAAQ,uLACR,mBAAoB,oGACpB,gBAAiB,qGACjB,UAAa,gSACb,aAAc,mTACd,aAAc,4OACd,aAAc,qbACd,MAAS,mOACT,MAAS,6TACT,OAAU,gXACV,KAAQ,iRACR,oBAAqB,uPACrB,kBAAmB,qPACnB,SAAY,4RACZ,iBAAkB,4LAClB,OAAU,kIACV,WAAc,kbACd,QAAW,oYACX,MAAS,2UACT,KAAQ,gjBACR,qBAAsB,8TACtB,KAAQ,wGACR,kBAAmB,kFACnB,gBAAiB,+PACjB,MAAS,+SACT,OAAU,mVACV,KAAQ,8JACR,mBAAoB,8cACpB,cAAe,oOACf,OAAU,8aACV,OAAU,sOACV,SAAY,04BACZ,cAAe,wZACf,KAAQ,6JACR,KAAQ,mWACR,mBAAoB,kXACpB,oBAAqB,mOACrB,mBAAoB,sLACpB,uBAAwB,wwBACxB,mBAAoB,gwBACpB,2BAA4B,82BAC5B,uBAAwB,o4BACxB,2BAA4B,k+BAC5B,uBAAwB,i/BACxB,2BAA4B,4bAC5B,uBAAwB,uaACxB,2BAA4B,+wBAC5B,uBAAwB,gxBACxB,2BAA4B,mWAC5B,uBAAwB,8UACxB,KAAQ,uVACR,IAAO,oTACP,MAAS,2FACT,cAAe,+PACf,eAAgB,8JAChB,UAAW,mJACX,eAAgB,uPAChB,OAAU,sKACV,mBAAoB,yiBACpB,eAAgB,+nBAChB,YAAe,iTACf,QAAW,iVACX,aAAc,wbACd,UAAa,6NACb,qBAAsB,6RACtB,sBAAuB,4RACvB,kBAAmB,gTACnB,mBAAoB,oTACpB,aAAc,mWACd,MAAS,ySACT,gBAAiB,iNACjB,KAAQ,oJACR,YAAe,2qBACf,QAAW,0eACX,MAAS,iOACT,MAAS,2RACT,KAAQ,qQACR,OAAU,4bACV,oBAAqB,6VACrB,OAAU,oVACV,gBAAiB,4KACjB,OAAU,qZACV,gBAAiB,mYACjB,cAAe,0RACf,eAAgB,oRAChB,IAAO,0QACP,KAAQ,oRACR,OAAU,wKACV,aAAc,iXACd,SAAY,iOACZ,KAAQ,6JACR,SAAY,knBACZ,QAAW,0XACX,WAAc,8TACd,cAAe,kbACf,iBAAkB,kcAClB,UAAa,oWACb,YAAe,yWACf,gBAAiB,iQACjB,qBAAsB,+XACtB,wBAAyB,yLACzB,wBAAyB,kPACzB,0BAA2B,kPAC3B,gBAAiB,sRACjB,sBAAuB,oRACvB,mBAAoB,gSACpB,qBAAsB,yQACtB,4BAA6B,uTAC7B,6BAA8B,mTAC9B,yBAA0B,gTAC1B,yBAA0B,wTAC1B,oBAAqB,kLACrB,oBAAqB,qPACrB,0BAA2B,8TAC3B,sBAAuB,qUACvB,uBAAwB,uMACxB,oBAAqB,6SACrB,mBAAoB,sLACpB,MAAS,wMACT,eAAgB,sVAChB,SAAY,6LACZ,wBAAyB,mVACzB,aAAc,2ZACd,qBAAsB,8LACtB,qBAAsB,sPACtB,IAAO,mbACP,UAAa,mgBACb,WAAc,sQACd,UAAa,4WACb,KAAQ,qQACR,OAAU,6oBACV,OAAU,gVACV,iBAAkB,imBAClB,WAAc,kNACd,OAAU,2PACV,KAAQ,oPACR,iBAAkB,uWAClB,aAAgB,uaAChB,YAAe,6NACf,QAAW,2ZACX,UAAW,oPACX,WAAY,iNAMhB,WAGI,IAAI04b,EAAWm3B,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,wBAsBpCgoxB,EAAW,SAAA/uxB,GAAI,OAAI,SAAAV,GAAK,OAZf,SAAAyV,GACb,IATgB+vC,EAAGtF,EACfsJ,EAQEptC,SAAW3G,EACjB,OAAU,OAANA,EACK,OACQ,WAAN2G,GAAkBhH,MAAMC,QAAQI,GAClC,QACQ,WAAN2G,IAAuCshD,EAdlClY,EAcsB/vC,EAAeurC,GAdlCd,EAcsB99C,QAZZzD,UAYkCqiD,EAAMwiW,cAAc9lV,KAThD,QAAxBlU,EAAKhE,EAAEtF,mBAAqC,IAAZsJ,OAAqB,EAAIA,EAAGhsD,QAAU0iD,EAAY1iD,MAUpF,SAEA4e,EAHwC,IAACshD,EAAG1c,CAKvD,CACkCyoB,CAAOzpE,KAAWU,CAAK,CAAD,EAClDgvxB,EAAe,SAAAhvxB,GAAI,OAAI,SAAAV,GAAK,cAAWA,IAAUU,CAAK,CAAD,EACrDiuxB,EAAO,SAAAvywB,GAAC,OAAI,SAAAnW,GAAC,OAAImW,IAAMnW,CAAE,CAAD,EACxB0tE,EAAW87sB,EAAS,UACpB9lsB,EAAW8lsB,EAAS,UACpBp6wB,EAAUo6wB,EAAS,SACnBjppB,EAASmopB,EAAK,MACdrymB,EAAYozmB,EAAa,WACzBv+lB,EAAcw9lB,OAAKtoxB,GAEnBypxB,EAAgB,SAAA7pxB,GAAC,OADJ,SAAAA,GAAC,OAAIA,OAA8B,CAC1B4pxB,CAAW5pxB,EAAG,EACpCklD,EAAaukuB,EAAa,YAC1Bp3pB,EAAWo3pB,EAAa,UAExBtkqB,EAAO,WAAO,EAOdk/b,EAAW,SAAAtqjB,GACf,OAAO,WACL,OAAOA,CACT,CACF,EACMmwF,EAAW,SAAA16E,GACf,OAAOA,CACT,EACM26wB,EAAe,SAACnqxB,EAAGC,GACvB,OAAOD,IAAMC,CACf,EACA,SAASwljB,EAAMp+iB,GAAqB,IAAD,IAAA4ogC,EAAAvzgC,UAAAxD,OAAbkxxB,EAAW,IAAAj7wB,MAAA8ggC,EAAA,EAAAA,EAAA,KAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAX9lP,EAAW8lP,EAAA,GAAAxzgC,UAAAwzgC,GAC/B,OAAO,WAAkB,IAAD,IAAAC,EAAAzzgC,UAAAxD,OAAbmxxB,EAAQ,IAAAl7wB,MAAAghgC,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAR/lP,EAAQ+lP,GAAA1zgC,UAAA0zgC,GACjB,IAAMhqgC,EAAMgkxB,EAAYluxB,OAAOmuxB,GAC/B,OAAOhjxB,EAAG3E,MAAM,KAAM0D,EACxB,CACF,CACA,IAAMk2X,EAAM,SAAAz8X,GAAC,OAAI,SAAAsW,GAAC,OAAKtW,EAAEsW,EAAG,CAAD,EAMrBzT,EAAQ,SAAA7C,GACZ,OAAOA,GACT,EACM2qxB,EAAQnmO,GAAS,GACjBhwM,EAASgwM,GAAS,GAElBomO,EAAQ,WACZ,SAAAA,EAAYz3uB,EAAKj5C,GAAO8Y,EAAA,KAAA43wB,GACtB/vxB,KAAKs4C,IAAMA,EACXt4C,KAAKX,MAAQA,CACf,CAAC,OAAAyZ,EAAAi3wB,EAAA,EAAAzuxB,IAAA,OAAAjC,MAOD,SAAK2wxB,EAAQC,GACX,OAAIjwxB,KAAKs4C,IACA23uB,EAAOjwxB,KAAKX,OAEZ2wxB,GAEX,GAAC,CAAA1uxB,IAAA,SAAAjC,MACD,WACE,OAAOW,KAAKs4C,GACd,GAAC,CAAAh3C,IAAA,SAAAjC,MACD,WACE,OAAQW,KAAKs4C,GACf,GAAC,CAAAh3C,IAAA,MAAAjC,MACD,SAAI6wxB,GACF,OAAIlwxB,KAAKs4C,IACAy3uB,EAASpyvB,KAAKuyvB,EAAOlwxB,KAAKX,QAE1B0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,OAAAjC,MACD,SAAK8wxB,GACH,OAAInwxB,KAAKs4C,IACA63uB,EAAOnwxB,KAAKX,OAEZ0wxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAOjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACpC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAQjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,MACrC,GAAC,CAAAiC,IAAA,SAAAjC,MACD,SAAO4mG,GACL,OAAKjmG,KAAKs4C,KAAO2tD,EAAUjmG,KAAKX,OACvBW,KAEA+vxB,EAAS/gX,MAEpB,GAAC,CAAA1ta,IAAA,QAAAjC,MACD,SAAMovI,GACJ,OAAOzuI,KAAKs4C,IAAMt4C,KAAKX,MAAQovI,CACjC,GAAC,CAAAntI,IAAA,KAAAjC,MACD,SAAGovI,GACD,OAAOzuI,KAAKs4C,IAAMt4C,KAAOyuI,CAC3B,GAAC,CAAAntI,IAAA,aAAAjC,MACD,SAAW+wxB,GACT,OAAOpwxB,KAAKs4C,IAAMt4C,KAAKX,MAAQ+wxB,GACjC,GAAC,CAAA9uxB,IAAA,UAAAjC,MACD,SAAQ+wxB,GACN,OAAOpwxB,KAAKs4C,IAAMt4C,KAAOowxB,GAC3B,GAAC,CAAA9uxB,IAAA,WAAAjC,MACD,SAASsK,GACP,GAAK3J,KAAKs4C,IAGR,OAAOt4C,KAAKX,MAFZ,MAAM,IAAIK,MAAMiK,QAAyCA,EAAU,0BAIvE,GAAC,CAAArI,IAAA,YAAAjC,MAID,WACE,OAAOW,KAAKs4C,IAAMt4C,KAAKX,MAAQ,IACjC,GAAC,CAAAiC,IAAA,iBAAAjC,MACD,WACE,OAAOW,KAAKX,KACd,GAAC,CAAAiC,IAAA,OAAAjC,MACD,SAAKgxxB,GACCrwxB,KAAKs4C,KACP+3uB,EAAOrwxB,KAAKX,MAEhB,GAAC,CAAAiC,IAAA,UAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,CAACt4C,KAAKX,OAAS,EACnC,GAAC,CAAAiC,IAAA,WAAAjC,MACD,WACE,OAAOW,KAAKs4C,IAAM,QAAQ92C,OAAOxB,KAAKX,MAAO,KAAO,QACtD,IAAC,EAAAiC,IAAA,OAAAjC,MApFD,SAAYA,GACV,OAAO,IAAI0wxB,GAAS,EAAM1wxB,EAC5B,GAAC,CAAAiC,IAAA,OAAAjC,MACD,WACE,OAAO0wxB,EAAShhD,aAClB,GAAC,CAAAztuB,IAAA,OAAAjC,MA4DD,SAAYA,GACV,OAAO8vxB,EAAc9vxB,GAAS0wxB,EAASpyvB,KAAKt+B,GAAS0wxB,EAAS/gX,MAChE,IAAC,CAxEW,GA2Fd+gX,EAAShhD,cAAgB,IAAIghD,GAAS,GAEtC,IAgtBcnmuB,EAi1BN+r9B,EAEAC,EAEAxwS,EACAywS,EACAzmkB,EAviDFkhV,EAAc77wB,MAAMzW,UAAU4W,MAC9B27wB,EAAgB97wB,MAAMzW,UAAUgB,QAChCwxxB,EAAa/7wB,MAAMzW,UAAU8F,KAE7B4sxB,EAAa,SAAC7shB,EAAI/uP,GAAC,OADN,SAACy0V,EAAI9tV,GAAC,OAAK80wB,EAAc/wxB,KAAK+pW,EAAI9tV,EAAG,CAC1Bg1wB,CAAW5shB,EAAI/uP,IAAM,CAAE,EAC/Cuhd,EAAS,SAACxyN,EAAIiye,GAClB,IAAK,IAAI/2uB,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAE7C,GAAI+2uB,EADMjye,EAAG9kQ,GACDA,GACV,OAAO,CAEX,CACA,OAAO,CACT,EACM+2gC,EAAU,SAAC7p9B,EAAK9mD,GAEpB,IADA,IAAMykD,EAAI,GACD7qD,EAAI,EAAGA,EAAIktD,EAAKltD,IACvB6qD,EAAE9lD,KAAKqB,EAAEpG,IAEX,OAAO6qD,CACT,EACMs6B,EAAQ,SAAC2/K,EAAI1+P,GAGjB,IAFA,IAAM1G,EAAMolQ,EAAGrlQ,OACTorD,EAAI,IAAIn1C,MAAMhW,GACXM,EAAI,EAAGA,EAAIN,EAAKM,IAAK,CAC5B,IAAM+V,EAAI+uP,EAAG9kQ,GACb6qD,EAAE7qD,GAAKoG,EAAE2P,EAAG/V,EACd,CACA,OAAO6qD,CACT,EACM882B,EAAS,SAAC7iqB,EAAI1+P,GAClB,IAAK,IAAIpG,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAE7CoG,EADU0+P,EAAG9kQ,GACRA,EACP,CACF,EAOMurK,EAAY,SAACu5F,EAAIiye,GAGrB,IAFA,IAAMltqB,EAAO,GACPxgB,EAAO,GACJrpD,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAC7C,IAAM+V,EAAI+uP,EAAG9kQ,IACD+2uB,EAAKhhuB,EAAG/V,GAAK6pE,EAAOxgB,GAC5BtkD,KAAKgR,EACX,CACA,MAAO,CACL8zD,OACAxgB,OAEJ,EACMs8xB,EAAW,SAAC7glB,EAAIiye,GAEpB,IADA,IAAMlsrB,EAAI,GACD7qD,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAC7C,IAAM+V,EAAI+uP,EAAG9kQ,GACT+2uB,EAAKhhuB,EAAG/V,IACV6qD,EAAE9lD,KAAKgR,EAEX,CACA,OAAO80C,CACT,EACMonuB,EAAQ,SAACnthB,EAAI1+P,EAAGu0F,GAIpB,OAjCY,SAACmqK,EAAI1+P,GACjB,IAAK,IAAIpG,EAAI8kQ,EAAGrlQ,OAAS,EAAGO,GAAK,EAAGA,IAElCoG,EADU0+P,EAAG9kQ,GACRA,EAET,CAyBE8xxB,CAAMhthB,EAAI,SAAC/uP,EAAG/V,GACZ26F,EAAMv0F,EAAEu0F,EAAK5kF,EAAG/V,EAClB,GACO26F,CACT,EACMu3rB,EAAQ,SAACpthB,EAAI1+P,EAAGu0F,GAIpB,OAHAgt0B,EAAO7iqB,EAAI,SAAC/uP,EAAG/V,GACb26F,EAAMv0F,EAAEu0F,EAAK5kF,EAAG/V,EAClB,GACO26F,CACT,EAYMu5rB,EAAS,SAACpvhB,EAAIiye,GAClB,OAZgB,SAACjye,EAAIiye,EAAM11F,GAC3B,IAAK,IAAIrhpB,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAC7C,IAAM+V,EAAI+uP,EAAG9kQ,GACb,GAAI+2uB,EAAKhhuB,EAAG/V,GACV,OAAOgxxB,EAASpyvB,KAAK7oB,GAChB,GAAIsroB,EAAMtroB,EAAG/V,GAClB,KAEJ,CACA,OAAOgxxB,EAAS/gX,MAClB,CAESukd,CAAU1vnB,EAAIiye,EAAMg6C,EAC7B,EACM/gwB,EAAY,SAAC80O,EAAIiye,GACrB,IAAK,IAAI/2uB,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAE7C,GAAI+2uB,EADMjye,EAAG9kQ,GACDA,GACV,OAAOgxxB,EAASpyvB,KAAK5+B,EAEzB,CACA,OAAOgxxB,EAAS/gX,MAClB,EACM51T,EAAU,SAAAyqJ,GAEd,IADA,IAAMj6M,EAAI,GACD7qD,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,IAAOM,EAAG,CAC7C,IAAK2V,EAAQmvP,EAAG9kQ,IACd,MAAM,IAAIW,MAAM,oBAAsBX,EAAI,6BAA+B8kQ,GAE3E2shB,EAAWxoxB,MAAM4hD,EAAGi6M,EAAG9kQ,GACzB,CACA,OAAO6qD,CACT,EACM0yuB,EAAS,SAACz4hB,EAAI1+P,GAAC,OAAKi0G,EAAQl1B,EAAM2/K,EAAI1+P,GAAI,EAC1CivuB,EAAS,SAACvwe,EAAIiye,GAClB,IAAK,IAAI/2uB,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,IAAOM,EAAG,CAE7C,IAAmB,IAAf+2uB,EADMjye,EAAG9kQ,GACDA,GACV,OAAO,CAEX,CACA,OAAO,CACT,EAMMuyxB,EAAc,SAACzthB,EAAI1+P,GAEvB,IADA,IAAMykD,EAAI,CAAC,EACF7qD,EAAI,EAAGN,EAAMolQ,EAAGrlQ,OAAQO,EAAIN,EAAKM,IAAK,CAC7C,IAAM+V,EAAI+uP,EAAG9kQ,GACb6qD,EAAEnoD,OAAOqT,IAAM3P,EAAE2P,EAAG/V,EACtB,CACA,OAAO6qD,CACT,EAMMms9B,EAAQ,SAAClywB,EAAI9kQ,GAAC,OAAKA,GAAK,GAAKA,EAAI8kQ,EAAGrlQ,OAASuxxB,EAASpyvB,KAAKkmO,EAAG9kQ,IAAMgxxB,EAAS/gX,MAAO,EACpFlpX,EAAO,SAAA+9M,GAAE,OAAIkywB,EAAMlywB,EAAI,EAAG,EAC1B6uhB,EAAS,SAAA7uhB,GAAE,OAAIkywB,EAAMlywB,EAAIA,EAAGrlQ,OAAS,EAAG,EACxCizxB,GAAU,SAAC1nuB,EAAK5kD,GACpB,IAAK,IAAIpG,EAAI,EAAGA,EAAIgrD,EAAIvrD,OAAQO,IAAK,CACnC,IAAM6qD,EAAIzkD,EAAE4kD,EAAIhrD,GAAIA,GACpB,GAAI6qD,EAAEolrB,SACJ,OAAOplrB,CAEX,CACA,OAAOmmuB,EAAS/gX,MAClB,EAEMrra,GAAO5F,OAAO4F,KACdH,GAAiBzF,OAAOyF,eACxB2l6B,GAAS,SAAC5r4B,EAAKp4B,GAEnB,IADA,IAAMwnC,EAAQhpC,GAAK45B,GACV4f,EAAI,EAAG1+C,EAAMkuC,EAAMnuC,OAAQ2+C,EAAI1+C,EAAK0+C,IAAK,CAChD,IAAMp+C,EAAI4tC,EAAMwQ,GAEhBh4C,EADUo4B,EAAIx+B,GACTA,EACP,CACF,EACMoQ,GAAM,SAACouB,EAAKp4B,GAChB,OAAOysxB,GAASr0vB,EAAK,SAACzoB,EAAG/V,GAAC,MAAM,CAC9Bo+C,EAAGp+C,EACH8lD,EAAG1/C,EAAE2P,EAAG/V,GACT,EACH,EACM6yxB,GAAW,SAACr0vB,EAAKp4B,GACrB,IAAMykD,EAAI,CAAC,EAKX,OAJAu/2B,GAAO5r4B,EAAK,SAACzoB,EAAG/V,GACd,IAAM8yxB,EAAQ1sxB,EAAE2P,EAAG/V,GACnB6qD,EAAEiouB,EAAM10uB,GAAK00uB,EAAMhtuB,CACrB,GACO+E,CACT,EASMux1B,GAAW,SAAC592B,EAAKu4sB,GACrB,IATalsrB,EASPnuC,EAAI,CAAC,EAEX,OARqB,SAAC8hB,EAAKu4sB,EAAMk8C,EAAQC,GACzCk3I,GAAO5r4B,EAAK,SAACzoB,EAAG/V,IACb+2uB,EAAKhhuB,EAAG/V,GAAKizxB,EAASC,GAASn9wB,EAAG/V,EACrC,EACF,CAGEgzxB,CAAex0vB,EAAKu4sB,GAVPlsrB,EAUoBnuC,EAVf,SAAC3G,EAAG/V,GACtB6qD,EAAE7qD,GAAK+V,CACT,GAQuC21G,GAC9BhvG,CACT,EACMu7iB,GAAa,SAACz5hB,EAAKp4B,GACvB,IAAMykD,EAAI,GAIV,OAHAu/2B,GAAO5r4B,EAAK,SAACl+B,EAAOxC,GAClB+sD,EAAE9lD,KAAKqB,EAAE9F,EAAOxC,GAClB,GACO+sD,CACT,EACMhJ,GAAS,SAAArjB,GACb,OAAOy5hB,GAAWz5hB,EAAKiyD,EACzB,EAIMuosB,GAAQ,SAACx6vB,EAAKj8B,GAAG,OAAKkC,GAAehE,KAAK+9B,EAAKj8B,EAAK,EAWpDw1xB,GAA2B,oBAAXn1xB,OAAyBA,OAAS0wC,SAAS,eAATA,GASlD0kvB,GAAY,SAACr4xB,EAAGitU,GAEpB,OATW,SAAClvU,EAAOkvU,GAEnB,IADA,IAAI5uQ,EAAI4uQ,QAAwCA,EAAQmrd,GAC/C/3xB,EAAI,EAAGA,EAAItC,EAAM+B,QAAVO,MAAoBg+D,IAAiCh+D,EACnEg+D,EAAIA,EAAEtgE,EAAMsC,IAEd,OAAOg+D,CACT,CAGSh9C,CADOrhB,EAAEivC,MAAM,KACHg+R,EACrB,EAKM0oa,GAAW,SAACx3uB,EAAM8uU,GACtB,IAAMx9Q,EAJO,SAACtxD,EAAM8uU,GACpB,OAAOord,GAAUl6xB,EAAM8uU,EACzB,CAEiBqrd,CAAOn6xB,EAAM8uU,GAC5B,GAAIx9Q,QACF,MAAM,IAAIzuD,MAAM7C,EAAO,kCAEzB,OAAOsxD,CACT,EAEM7O,GAAiBvhD,OAAOuhD,eAIxBujW,GAAgB,SAAA/tY,GACpB,IAAM62T,EAAQord,GAAU,4BAA6BjixB,GACrD,OAAOk0E,EAASl0E,KALM,SAAA62T,GACtB,OAAO0oa,GAAS,cAAe1oa,EACjC,CAGyBurd,CAAgBvrd,GAAO3tU,UAAU6kZ,cAAc/tY,IAAM,mBAAmBrU,KAAK6+C,GAAexqC,GAAGyqC,YAAY1iD,MACpI,EAQMA,GAAO,SAAA+5G,GAEX,OADUA,EAAQuoW,IAAI9lW,SACb35F,aACX,EACM3f,GAAO,SAAA62G,GAAO,OAAIA,EAAQuoW,IAAIn0X,QAAS,EACvC+C,GAAS,SAAAtyE,GAAC,OAAI,SAAAm7F,GAAO,OAAI72G,GAAK62G,KAAan7F,CAAE,CAAD,EAC5C2pW,GAAY,SAAAxuQ,GAAO,OAZT,IAYa72G,GAAK62G,IAA0C,aAAlB/5G,GAAK+5G,EAAwB,EACjFqnrB,GAAgB,SAAArnrB,GAAO,OAAIsuQ,GAAUtuQ,IAAYisS,GAAcjsS,EAAQuoW,IAAK,EAC5Ej6F,GAAYn3R,GAXF,GAYVo3R,GAASp3R,GAXF,GAYP47sB,GAAa57sB,GAfF,GAgBXgxsB,GAAqBhxsB,GAfD,IAgBpB0psB,GAAQ,SAAAn/uB,GAAG,OAAI,SAAA17C,GAAC,OAAIsoX,GAAUtoX,IAAMC,GAAKD,KAAO07C,CAAI,CAAD,EAEnDo/uB,GAAS,SAACv4U,EAAK79c,EAAKjC,GACxB,KAAI2zE,EAAS3zE,IAAUs8K,EAAUt8K,IAAUs4H,EAASt4H,IAIlD,MADAvC,QAAQC,MAAM,sCAAuCuE,EAAK,YAAajC,EAAO,cAAe8/c,GACvF,IAAIz/c,MAAM,kCAHhBy/c,EAAInoW,aAAa11G,EAAKjC,EAAQ,GAKlC,EACM47xB,GAAQ,SAACrkrB,EAASt1G,EAAKjC,GAC3Bq4xB,GAAO9grB,EAAQuoW,IAAK79c,EAAKjC,EAC3B,EACMu4xB,GAAW,SAAChhrB,EAASmuL,GACzB,IAAMo6K,EAAMvoW,EAAQuoW,IACpBgqd,GAAOpkoB,EAAO,SAAClgP,EAAG1H,GAChBu6uB,GAAOv4U,EAAKhia,EAAG0H,EACjB,EACF,EAUM0suB,GAAQ,SAAC36qB,EAASt1G,GACtB,IAAMujD,EAAI+xD,EAAQuoW,IAAItoW,aAAav1G,GACnC,OAAa,OAANujD,OAAan/C,EAAYm/C,CAClC,EACMizuB,GAAS,SAAClhrB,EAASt1G,GAAG,OAAKyuxB,EAASxquB,KAAKgsuB,GAAM36qB,EAASt1G,GAAM,EAC9Dq3xB,GAAW,SAAC/hrB,EAASt1G,GACzBs1G,EAAQuoW,IAAIvqW,gBAAgBtzG,EAC9B,EACM4gzB,GAAU,SAAAtrsB,GAAO,OAAIq6qB,EAAMr6qB,EAAQuoW,IAAIzsU,WAAY,SAACh5C,EAAKvpB,GAE7D,OADAupB,EAAIvpB,EAAKtzE,MAAQszE,EAAK9wE,MACfq6F,CACT,EAAG,CAAC,EAAG,EAuBDoisB,GAAY,SAAAt1uB,GAChB,GAAIA,QACF,MAAM,IAAI9mD,MAAM,oCAElB,MAAO,CACLy/c,IAAK34Z,EAET,EAEMuyuB,GAAe,CACnB1pD,SA/BiB,SAACrjX,EAAMrgD,GACxB,IACMnhS,GADMmhS,GAAS1lT,UACL6F,cAAc,OAE9B,GADA0e,EAAIC,UAAYuhV,GACXxhV,EAAIw6P,iBAAmBx6P,EAAI7J,WAAWniC,OAAS,EAAG,CACrD,IAAMmL,EAAU,wCAEhB,MADA7M,QAAQC,MAAM4M,EAASqiX,GACjB,IAAItsX,MAAMiK,EAClB,CACA,OAAOmyxB,GAAUtxvB,EAAI7J,WAAW,GAClC,EAsBE2usB,QArBc,SAACh3rB,EAAKqzR,GACpB,IACMnlR,GADMmlR,GAAS1lT,UACJ6F,cAAcwsB,GAC/B,OAAOwjvB,GAAUt1uB,EACnB,EAkBE+orB,SAjBe,SAAC56sB,EAAMg3S,GACtB,IACMnlR,GADMmlR,GAAS1lT,UACJwgC,eAAe9xB,GAChC,OAAOmnwB,GAAUt1uB,EACnB,EAcEgprB,QAASssD,GACTrsD,UANkB,SAACupD,EAAQlkxB,EAAGC,GAAC,OAAKg7wB,EAASxquB,KAAKyzuB,EAAO75U,IAAIzJ,iBAAiB5gc,EAAGC,IAAI5F,IAAI2sxB,GAAW,GAShGrF,GAAO,SAAC7/qB,EAAS0hB,GACrB,IAAM6mV,EAAMvoW,EAAQuoW,IACpB,GAhGc,IAgGVA,EAAIn0X,SACN,OAAO,EAEP,IAAMm+F,EAAOg2R,EACb,QAAqBz5c,IAAjByjL,EAAKlxE,QACP,OAAOkxE,EAAKlxE,QAAQqgB,GACf,QAA+B5yH,IAA3ByjL,EAAKmojB,kBACd,OAAOnojB,EAAKmojB,kBAAkBh5mB,GACzB,QAAmC5yH,IAA/ByjL,EAAKoojB,sBACd,OAAOpojB,EAAKoojB,sBAAsBj5mB,GAC7B,QAAgC5yH,IAA5ByjL,EAAKqojB,mBACd,OAAOrojB,EAAKqojB,mBAAmBl5mB,GAE/B,MAAM,IAAI54H,MAAM,iCAGtB,EACMw5xB,GAAiB,SAAA/5U,GAAG,OAjHV,IAiHcA,EAAIn0X,UAnHjB,IAmHyCm0X,EAAIn0X,UAlHpC,KAkH6Dm0X,EAAIn0X,UAA4D,IAA1Bm0X,EAAIsyR,iBAAwB,EAKnJ/0R,GAAM,SAACpkV,EAAUqzM,GACrB,IAAMpgQ,OAAiB7lE,IAAVimU,EAAsB1lT,SAAW0lT,EAAMwzI,IACpD,OAAO+5U,GAAe3ttB,GAAQwktB,EAAS/gX,OAAS+gX,EAASxquB,KAAKgmB,EAAKlpD,cAAci2G,IAAWnpH,IAAI4pxB,GAAavpD,QAC/G,EAEMw/C,GAAO,SAAC3mV,EAAIm2J,GAAE,OAAKn2J,EAAG8W,MAAQq/I,EAAGr/I,GAAI,EACrCq0U,GAAa,SAACnrV,EAAIm2J,GACtB,IAAM31J,EAAKR,EAAG8W,IACRo/I,EAAKC,EAAGr/I,IACd,OAAOtW,IAAO01J,GAAa11J,EAAG5rV,SAASshf,EACzC,EACM06L,GAAOxC,GAEP3pd,GAAQ,SAAAl2N,GAAO,OAAImirB,GAAavpD,QAAQ54nB,EAAQuoW,IAAI9uC,cAAe,EACnE+oX,GAAkB,SAAAC,GAAG,OAAIsQ,GAAWtQ,GAAOA,EAAMvsd,GAAMusd,EAAK,EAG5DnzuB,GAAS,SAAA0wD,GAAO,OAAIm5qB,EAASxquB,KAAKqxD,EAAQuoW,IAAIpnW,YAAY5oG,IAAI4pxB,GAAavpD,QAAS,EACpFrplB,GAAgB,SAAAvvC,GAAO,OAAIm5qB,EAASxquB,KAAKqxD,EAAQuoW,IAAIh5T,eAAeh3I,IAAI4pxB,GAAavpD,QAAS,EAC9Fj9M,GAAU,SAAC37a,EAASwlR,GAIxB,IAHA,IAAM5vX,EAAOg+C,EAAW4xU,GAAUA,EAAS0zZ,EACvC3wU,EAAMvoW,EAAQuoW,IACZn9Z,EAAM,GACc,OAAnBm9Z,EAAIpnW,iBAA0CryG,IAAnBy5c,EAAIpnW,YAA0B,CAC9D,IAAMwhrB,EAAYp6U,EAAIpnW,WAChBr5G,EAAIq6xB,GAAavpD,QAAQ+pD,GAE/B,GADAv3uB,EAAIl+C,KAAKpF,IACO,IAAZ8N,EAAK9N,GACP,MAEAygd,EAAMo6U,CAEV,CACA,OAAOv3uB,CACT,EACMk3rB,GAAc,SAAAtioB,GAAO,OAAIm5qB,EAASxquB,KAAKqxD,EAAQuoW,IAAIj0B,iBAAiB/7a,IAAI4pxB,GAAavpD,QAAS,EAC9FzqX,GAAc,SAAAnuQ,GAAO,OAAIm5qB,EAASxquB,KAAKqxD,EAAQuoW,IAAIp6F,aAAa51W,IAAI4pxB,GAAavpD,QAAS,EAC1Fu2M,GAAa,SAAAnv0B,GAAO,OAAI1yB,EAAM0yB,EAAQuoW,IAAIx+a,WAAYo4vB,GAAavpD,QAAS,EAC5EitR,GAAU,SAAC7l5B,EAASxsG,GACxB,IAAMi8Z,EAAKzvT,EAAQuoW,IAAIx+a,WACvB,OAAOovvB,EAASxquB,KAAK8gX,EAAGj8Z,IAAQ+E,IAAI4pxB,GAAavpD,QACnD,EAGMgsD,GAAW,SAAC/7xB,EAAQm3G,GACP1wD,GAAOzmD,GACfk8D,KAAK,SAAA9W,GACZA,EAAEs6Z,IAAI3lW,aAAa5C,EAAQuoW,IAAK1/c,EAAO0/c,IACzC,EACF,EACM62jB,GAAU,SAACv2gC,EAAQm3G,GACPmuQ,GAAYtlX,GACpBgxuB,KAAK,WACMvqrB,GAAOzmD,GACfk8D,KAAK,SAAA9W,GACZ62uB,GAAS72uB,EAAG+xD,EACd,EACF,EAAG,SAAA/xD,GACD22uB,GAAS32uB,EAAG+xD,EACd,EACF,EACMp5C,GAAU,SAACtX,EAAQ0wD,GACvB,IAAMq/5B,EApBW,SAAAr/5B,GAAO,OAAI6l5B,GAAQ7l5B,EAAS,EAAG,CAoB3Bo/C,CAAW9vG,GAChC+v9B,EAAaxlS,KAAK,WAChBirD,GAASx1uB,EAAQ0wD,EACnB,EAAG,SAAA/xD,GACDqB,EAAOi5Z,IAAI3lW,aAAa5C,EAAQuoW,IAAKt6Z,EAAEs6Z,IACzC,EACF,EACMu8U,GAAW,SAACx1uB,EAAQ0wD,GACxB1wD,EAAOi5Z,IAAI1la,YAAYm9D,EAAQuoW,IACjC,EAQMnja,GAAO,SAAC46D,EAASztD,GACrBqyuB,GAAS5krB,EAASztD,GAClBuyuB,GAASvyuB,EAASytD,EACpB,EAEM6krB,GAAU,SAACh8xB,EAAQy6I,GACvBwsxB,EAAOxsxB,EAAU,SAACplI,EAAG/V,GACnB,IAAMnC,EAAU,IAANmC,EAAUU,EAASy6I,EAASn7I,EAAI,GAC1Ci3gC,GAAQp5gC,EAAGkY,EACb,EACF,EACMohJ,GAAS,SAAChwG,EAAQg0F,GACtBwsxB,EAAOxsxB,EAAU,SAAAplI,GACf4mxB,GAASx1uB,EAAQpxC,EACnB,EACF,EAEMsyC,GAAQ,SAAAwvD,GACZA,EAAQuoW,IAAIx0a,YAAc,GAC1B+73B,EAAOqf,GAAWnv0B,GAAU,SAAAglrB,GAC1BN,GAASM,EACX,EACF,EACMN,GAAW,SAAA1krB,GACf,IAAMuoW,EAAMvoW,EAAQuoW,IACG,OAAnBA,EAAIpnW,YACNonW,EAAIpnW,WAAW9zD,YAAYk7Z,EAE/B,EACMojD,GAAS,SAAAp5c,GACb,IAAM8zB,EAAW8o2B,GAAW583B,GACxB8zB,EAASz+E,OAAS,GACpBi9xB,GAAQtyuB,EAAS8zB,GAEnBq+sB,GAASnyuB,EACX,EAEMg8mB,GAAU,SAAC/qmB,EAAUgxB,GAAM,OAAK2tsB,GAAavpD,QAAQp1qB,EAAS+kZ,IAAIl6K,UAAU75M,GAAS,EACrFqysB,GAAU,SAAArjuB,GAAQ,OAAI+qmB,GAAQ/qmB,GAAU,EAAO,EAC/C+Q,GAAO,SAAA/Q,GAAQ,OAAI+qmB,GAAQ/qmB,GAAU,EAAM,EAC3CiovB,GAAY,SAACjovB,EAAU9hB,GAC3B,IAAMmtX,EAAKszX,GAAazpD,QAAQh3rB,GAC1Bo6F,EAAawvqB,GAAQ9nvB,GAE3B,OADAw9tB,GAASnyX,EAAI/yR,GACN+yR,CACT,EAgBMs3lB,GAAmB,CAAC,QAAS,QAAS,QAAS,YAU/C5y7B,GAAS,SAACysC,EAASuxV,EAAS0ha,GAAO,MAAM,CAC7CjzvB,UACAuxV,UACA0ha,UACD,EAeKmzJ,GAAY,SAACpm5B,EAASijL,EAAOyoK,GAAO,MAAM,CAC9C1rV,UACAijL,QACAyoK,UACD,EAOK4zkB,GAAa,SAACt/5B,EAASnoB,EAAO2v6B,GAAQ,MAAM,CAChDxn5B,UACAnoB,QACA2v6B,WACD,EACK+X,GAAW,SAACv/5B,EAASijL,EAAOyoK,EAAS7zW,GAAK,MAAM,CACpDmoB,UACAijL,QACAyoK,UACA7zW,QACD,EAkBKs7pB,GAAYv/rB,EAAW0yN,QAAQl/Q,UAAUkvO,eAAiB1iL,EAAW4sD,KAAKp5G,UAAUkmI,aACpF01pB,GAAgBjwO,EAASogM,IACzB7lnB,GAAc6lnB,GAAY,SAAAntvB,GAAC,OAAIm8xB,GAAavpD,QAAQ5yuB,EAAEuid,IAAIj7U,cAAc,EAAGk1pB,GAC3Ep0oB,GAAgB,SAAApoJ,GACpB,IALmBy8xB,EAKbzvuB,EAAIs6E,GAAYtnI,GACtB,OAN0BmiyB,GAAP1F,EAMCzvuB,IANiCuluB,EAAckK,EAAIl6U,IAAIn9b,MAMlD+twB,EAASpyvB,KAAKisB,GAAKmmuB,EAAS/gX,MACvD,EACM+qX,GAAgB,SAAAn9xB,GAAC,OAAIm8xB,GAAavpD,QAAQ5yuB,EAAEuid,IAAIn9b,KAAM,EAetDi4wB,GAAmB,SAAArjrB,GAAO,OAAIu4qB,EAAcv4qB,EAAQuoW,IAAI/8b,WAAY,EAEpE83wB,GAAS,SAAAtjrB,GACb,IAAMuoW,EAAMh6F,GAAOvuQ,GAAWA,EAAQuoW,IAAIpnW,WAAanB,EAAQuoW,IAC/D,GAAIA,SAA2D,OAAtBA,EAAI9uC,cAC3C,OAAO,EAET,IAvtBgBk/W,EAAKC,EAutBfnie,EAAM8xJ,EAAI9uC,cAChB,OAAOrrR,GAAc+zoB,GAAavpD,QAAQrwR,IAAMsxR,KAAK,kBAAMpjb,EAAIx0P,KAAKokD,SAASkiW,EAAI,GAxtBjEowU,EAwtB4E2K,GAxtBvE1K,EAwtB+EuK,GAxtBvE,SAAAz0xB,GAAC,OAAIiqxB,EAAIC,EAAIlqxB,GAAI,GAytBhD,EAEM8wgC,GAAY,SAAA/otB,GAChB,IAAM9nT,EAAI8nT,EAAI8xJ,IAAItmZ,KAClB,GAAItzD,QACF,MAAM,IAAI7F,MAAM,6BAElB,OAAOq5xB,GAAavpD,QAAQjquB,EAC9B,EAIM83xB,GAAgB,SAAC1xd,EAAO1lO,GAC5B,IAAIhmG,EAAS,GAOb,OANAym6B,EAAOqf,GAAWp6mB,GAAQ,SAAA72T,GACpBmxF,EAAUnxF,KACZ7U,EAASA,EAAOuB,OAAO,CAACsT,KAE1B7U,EAASA,EAAOuB,OAAO67xB,GAAcvoxB,EAAGmxF,GAC1C,GACOhmG,CACT,EAEMo2gC,GAAc,SAAC1qsB,EAAOrzM,EAAU8jQ,GAAM,OAbxB,SAACzwD,EAAO1lO,EAAWm2R,GAAM,OAAKsod,EAASnyT,GAAQ5mN,EAAOywD,GAASn2R,EAAW,CAa7Cqw6B,CAAY3qsB,EAAO,SAAA/uU,GAAC,OAAI65xB,GAAK75xB,EAAG07H,EAAS,EAAE8jQ,EAAQ,EAC9Fn/S,GAAW,SAAC0uP,EAAOrzM,GAAQ,OAbd,SAACqzM,EAAO1lO,GAAS,OAAKy+uB,EAASqhG,GAAWp6mB,GAAQ1lO,EAAW,CAa1CyzrB,CAAW/td,EAAO,SAAA/uU,GAAC,OAAI65xB,GAAK75xB,EAAG07H,EAAS,EAAE,EAC1EioD,GAAc,SAACorJ,EAAOrzM,GAAQ,OA5QtB,SAACA,EAAUqzM,GACvB,IAAMpgQ,OAAiB7lE,IAAVimU,EAAsB1lT,SAAW0lT,EAAMwzI,IACpD,OAAO+5U,GAAe3ttB,GAAQ,GAAK2Y,EAAM3Y,EAAKquC,iBAAiB0e,GAAWygqB,GAAavpD,QACzF,CAyQyC22P,CAAM7t2B,EAAUqzM,EAAO,EAE5Dwud,GAAoB,SAAC1lvB,EAAIonG,EAAU8vL,EAAOrmU,EAAG82X,GAC/C,OAAI3nV,EAAGk3R,EAAOrmU,GACLyqxB,EAASpyvB,KAAKguS,GACZnhR,EAAW4xU,IAAWA,EAAOzwD,GAC/Bokd,EAAS/gX,OAETnzR,EAAS8vL,EAAOrmU,EAAG82X,EAE9B,EAEMkha,GAAa,SAAC3xd,EAAO1lO,EAAWm2R,GAGpC,IAFA,IAAIxlR,EAAU+0N,EAAMwzI,IACd3yc,EAAOg+C,EAAW4xU,GAAUA,EAAS0zZ,EACpCl5qB,EAAQmB,YAAY,CACzBnB,EAAUA,EAAQmB,WAClB,IAAMn6E,EAAKm7vB,GAAavpD,QAAQ54nB,GAChC,GAAI3Q,EAAUroE,GACZ,OAAOmyvB,EAASpyvB,KAAKC,GAChB,GAAIpxB,EAAKoxB,GACd,KAEJ,CACA,OAAOmyvB,EAAS/gX,MAClB,EACMstkB,GAAY,SAAC3wqB,EAAO1lO,EAAWm2R,GAEnC,OAAO+9Z,GADI,SAACp1xB,EAAGtE,GAAI,OAAKA,EAAKsE,EAAG,EACHu4xB,GAAY3xd,EAAO1lO,EAAWm2R,EAC7D,EAuBM68f,GAAa,SAACttjB,EAAOrzM,EAAU8jQ,GAAM,OAAKkha,GAAW3xd,EAAO,SAAA/uU,GAAC,OAAI65xB,GAAK75xB,EAAG07H,EAAS,EAAE8jQ,EAAQ,EAC5Fj8S,GAAQ,SAACwrP,EAAOrzM,GAAQ,OAvBd,SAACqzM,EAAO1lO,GAGtB,OADegtrB,EAAOtnd,EAAMwzI,IAAIx+a,WADnB,SAAA6lB,GAAI,OAAIy/C,EAAU8yrB,GAAavpD,QAAQhprB,GAAO,GAE7Cr3C,IAAI4pxB,GAAavpD,QACjC,CAmBmCpvpB,CAAQurP,EAAO,SAAA/uU,GAAC,OAAI65xB,GAAK75xB,EAAG07H,EAAS,EAAE,EACpEi4F,GAAa,SAACo7G,EAAOrzM,GAAQ,OAAKokV,GAAIpkV,EAAUqzM,EAAO,EACvDm/gB,GAAY,SAACn/gB,EAAOrzM,EAAU8jQ,GAElC,OAAO+9Z,GADI,SAACvjrB,EAAS0hB,GAAQ,OAAKm+pB,GAAK7/qB,EAAS0hB,EAAU,EAC7B2gwB,GAAYttjB,EAAOrzM,EAAU8jQ,EAC5D,EAEM3nV,GAAK,SAACiivB,EAAKC,GAAG,IAAE3wtB,EAAUhkE,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAGytxB,EAAY,OAAKiH,EAAIrgU,OAAO,SAAAr6c,GAAI,OAAIgqD,EAAWhqD,EAAM26wB,EAAI,EAAE,EACxF0iI,GAAM,SAAAtv2B,GAKV,IAJA,IAAMH,EAAI,GACJ9lD,EAAO,SAAAgR,GACX80C,EAAE9lD,KAAKgR,EACT,EACS/V,EAAI,EAAGA,EAAIgrD,EAAIvrD,OAAQO,IAC9BgrD,EAAIhrD,GAAG48D,KAAK73D,GAEd,OAAO8lD,CACT,EAEMituB,GAAS,SAACtxxB,EAAGD,GAAC,OAAKC,EAAIwqxB,EAASpyvB,KAAKr4B,GAAKyqxB,EAAS/gX,MAAO,EAE1DokX,GAAa,SAACtzxB,EAAKswD,EAAQ/7C,GAAK,MAAgB,KAAX+7C,GAAiBtwD,EAAItB,QAAU4xD,EAAO5xD,QAAUsB,EAAIswD,OAAO/7C,EAAOA,EAAQ+7C,EAAO5xD,UAAY4xD,CAAO,EACzI6sD,GAAW,SAACn9G,EAAKswD,GAA4B,IAApB/7C,EAAKrS,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,EAAGsS,EAAGtS,UAAAxD,OAAA,EAAAwD,UAAA,QAAA0D,EACrCm7D,EAAM/gE,EAAId,QAAQoxD,EAAQ/7C,GAChC,OAAa,IAATwsD,MACK2vH,EAAYl8K,IAAcusD,EAAMzQ,EAAO5xD,QAAU8V,EAI5D,EACMzQ,GAAa,SAAC/D,EAAK8/B,GACvB,OAAOwzvB,GAAWtzxB,EAAK8/B,EAAQ,EACjC,EACMozM,GAAW,SAAClzO,EAAK+gI,GACrB,OAAOuypB,GAAWtzxB,EAAK+gI,EAAQ/gI,EAAItB,OAASqiI,EAAOriI,OACrD,EAEMw4D,IADQpN,EACK,aADA,SAAA7kD,GAAC,OAAIA,EAAE0a,QAAQmqC,EAAG,GAAI,GAEnCqpb,GAAa,SAAAlue,GAAC,OAAIA,EAAEvG,OAAS,CAAE,EAM/BgtE,GAAc,SAAA2zY,GAAG,YAAkBz5c,IAAdy5c,EAAIj/b,OAAuBsqC,EAAW20Z,EAAIj/b,MAAMQ,iBAAkB,EAEvFs6wB,GAAc,SAAC77U,EAAK3+b,EAAUnhB,GAClC,IAAK2zE,EAAS3zE,GAEZ,MADAvC,QAAQC,MAAM,qCAAsCyjB,EAAU,YAAanhB,EAAO,cAAe8/c,GAC3F,IAAIz/c,MAAM,+BAAiCL,GAE/CmsE,GAAY2zY,IACdA,EAAIj/b,MAAMgiI,YAAY1hI,EAAUnhB,EAEpC,EAMM2yF,GAAQ,SAAC4kB,EAASp2F,EAAUnhB,GAChC,IAAM8/c,EAAMvoW,EAAQuoW,IACpB67U,GAAY77U,EAAK3+b,EAAUnhB,EAC7B,EACMgqb,GAAS,SAACzyU,EAAS0mL,GACvB,IAAM6hL,EAAMvoW,EAAQuoW,IACpBgqd,GAAO7roB,EAAK,SAACz4O,EAAG1H,GACd69uB,GAAY77U,EAAKhia,EAAG0H,EACtB,EACF,EACMstuB,GAAQ,SAACv7qB,EAASp2F,GACtB,IAAM2+b,EAAMvoW,EAAQuoW,IAEdv1Z,EADSjoD,OAAOigB,iBAAiBu9b,GACtBz+b,iBAAiBF,GAClC,MAAa,KAANopC,GAAaswuB,GAAOtjrB,GAA8ChtD,EAAnCuxuB,GAAkBh8U,EAAK3+b,EAC/D,EACM26wB,GAAoB,SAACh8U,EAAK3+b,GAAQ,OAAKgrD,GAAY2zY,GAAOA,EAAIj/b,MAAMQ,iBAAiBF,GAAY,EAAG,EACpG+1/B,GAAW,SAAC3/5B,EAASp2F,GACzB,IAAM2+b,EAAMvoW,EAAQuoW,IACdiU,EAAM+nU,GAAkBh8U,EAAK3+b,GACnC,OAAOuvwB,EAASxquB,KAAK6ta,GAAKr8b,OAAO,SAAA6yB,GAAC,OAAIA,EAAEprD,OAAS,CAAC,EACpD,EACMq9xB,GAAW,SAACjlrB,EAASp2F,IA3BJ,SAAC2+b,EAAK3+b,GACvBgrD,GAAY2zY,IACdA,EAAIj/b,MAAMwiJ,eAAeliJ,EAE7B,CAyBE+6wB,CADY3krB,EAAQuoW,IACA3+b,GAChBi0B,GAAGqjvB,GAAOlhrB,EAAS,SAASznG,IAAI6nD,IAAO,KACzC2huB,GAAS/hrB,EAAS,QAEtB,EASMkm5B,GAAe,SAAC98jB,EAAMnjc,GAAI,IAAEo1O,EAAQjwO,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,EAAC,OAAK81xB,GAAO93V,EAAMnjc,GAAMsS,IAAI,SAAA9P,GAAK,OAAIo9B,SAASp9B,EAAO,GAAG,GAAE8vuB,MAAMl9f,EAAU,EAClHq3nB,GAAU,SAACtpa,EAAMjgc,GAAI,OAAK+8/B,GAAa98jB,EAAMjgc,EAAM,EAAG,EACtDy2gC,GAAa,SAAAC,GACjB,OAAIh/O,GAAM,MAANA,CAAag/O,GACR3Z,GAAa2Z,EAAW,OAAQ,GAAK,EAErCntK,GAAQmtK,EAAW,WAAa,CAE3C,EACMC,GAAa,SAAA12kB,GAAI,OAAIspa,GAAQtpa,EAAM,WAAa,CAAE,EAClD22kB,GAAc,SAAC//5B,EAASp2F,GAAQ,OAAKic,SAAS01vB,GAAMv7qB,EAASp2F,GAAW,GAAI,EAC5EiwP,GAAWk5S,EAAS,IACpBj5S,GAAYi5S,EAAS,IAErB61U,GAAa,SAAC7zjB,EAAOrzM,GACzB,OAAOgnwB,GAAiB3zjB,EAAOrzM,EAAUqhP,EAC3C,EACM2lhB,GAAmB,SAAC3zjB,EAAOrzM,EAAUryB,GACzC,OAAOq2rB,EAAOypJ,GAAWp6mB,GAAQ,SAAA72T,GAC/B,OAAI2hxB,GAAK3hxB,EAAGwjH,GACHryB,EAAUnxF,GAAK,CAACA,GAAK,GAErBwq3B,GAAiBxq3B,EAAGwjH,EAAUryB,EAEzC,EACF,EAYM+5V,GAAO,SAACppV,EAASwlR,GAAM,OAVd,SAACroK,EAAMn9G,GAA6B,IAApBwlR,EAAMp6X,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG8txB,EACtC,OAAI1zZ,EAAOxlR,GACFm5qB,EAAS/gX,OAEd0hX,EAAW38jB,EAAMl3N,GAAK+5G,IACjBm5qB,EAASpyvB,KAAKi5E,GAGhBqixB,GAAWrixB,EAASm9G,EAAKjoK,KAAK,KADV,SAAAt8B,GAAG,OAAIinwB,GAAKjnwB,EAAK,UAAY4sW,EAAO5sW,EAAK,EAEtE,CACkCq8B,CAAO,CAAC,KAAM,MAAO+qD,EAASwlR,EAAQ,EAClEghoB,GAAU,SAAAvh3B,GAAQ,OAAI2jvB,GAAW3jvB,EAAU,QAAS,EACpD+63B,GAAY,SAAA/63B,GAChB,OAAI46oB,GAAK56oB,EAAU,YACV5+D,GAAS4+D,EAAU,OAEnBygpB,EAAO2gO,GAAaph3B,GAAW,SAAAsh3B,GAAW,OAAIlg7B,GAASkg7B,EAAa,MAAM,EAErF,EACMt19B,GAAQ,SAAC+uE,EAASwlR,GAAM,OAAK0ud,GAAUl0uB,EAAS,QAASwlR,EAAQ,EACjEgjoB,GAAS,SAAAvj3B,GAAQ,OAAI2jvB,GAAW3jvB,EAAU,KAAM,EAChDoh3B,GAAe,SAAAph3B,GAAQ,OAAIh0G,GAAMg0G,GAAU40lB,KAAK9mL,EAAS,IAAK,SAAA9hhB,GAAK,OAAIo1C,GAASp1C,EAAO,WAAW,EAAE,EAEpGq19B,GAAsB,SAAC3wZ,EAAOiwT,GAAU,OAAKt40B,EAAMqohB,EAAO,SAAAjxK,GAC9D,GAAkB,aAAdz+b,GAAKy+b,GAAqB,CAC5B,IAAMzhK,EAAQ31M,EAAM0y7B,GAAUt7kB,GAAM,SAAA3lK,GAClC,IAAMk0kB,EAAUizJ,GAAannuB,EAAQ,OAAQ,GAC7C,OAAOxrN,GAAOwrN,EAAQ,EAAGk0kB,EAC3B,GACA,OAAOmzJ,GAAU1hkB,EAAKzhK,EAAO,WAC/B,CACE,IAAMA,EAAQ31M,EAAMk56B,GAAQ9hkB,GAAM,SAAA0E,GAChC,IAAMmI,EAAU20jB,GAAa98jB,EAAM,UAAW,GACxC6pa,EAAUizJ,GAAa98jB,EAAM,UAAW,GAC9C,OAAO71X,GAAO61X,EAAMmI,EAAS0ha,EAC/B,GACA,OAAOmzJ,GAAU1hkB,EAAKzhK,EAAO2ioB,EAAWlhe,GAE5C,EAAG,EACG+hkB,GAAmB,SAAAru3B,GAAK,OAAI9oF,GAAO8oF,GAAO7/H,IAAI,SAAA+2C,GAClD,IAAMyxjB,EAAa96mB,GAAKqpD,GACxB,OArVqB,SAAAyxjB,GAAU,OAAI+4K,EAAWqsO,GAAkBplZ,EAAY,CAqVrE2lZ,CAAe3lZ,GAAcA,EAAa,OACnD,GAAGw3H,MAAM,QAAS,EACZmwR,GAAc,SAAAz39B,GAClB,IAAM7F,EAAOo99B,GAAOv39B,GACdw39B,EAAiBpC,GAAap19B,GAC9B0kkB,EAAK,GAAA/qmB,OAAAwuB,EAAOqv+B,GAAcrv+B,EAAKgS,IACrC,OAAOk79B,GAAoB3wZ,EAAO8wZ,GACpC,EAGMj1zB,GAAS,SAAAjjM,GACb,IACIykD,EADA03d,GAAS,EAEb,OAAO,WACL,IAAKA,EAAQ,CACXA,GAAS,EAAK,QAAAu1f,EAAA70gC,UAAAxD,OAFPuV,EAAI,IAAAU,MAAAoigC,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJ/igC,EAAI+igC,GAAA90gC,UAAA80gC,GAGXlt9B,EAAIzkD,EAAE6C,MAAM,KAAM+L,EACpB,CACA,OAAO61C,CACT,CACF,EAqDM+ouB,GAAY,WAChB,OAAOsB,GAAK,EAAG,EACjB,EACMA,GAAO,SAAC9urB,EAAOC,GACnB,MAAO,CACLD,QACAC,QAEJ,EACMytrB,GAAU,CACdptX,GAAIwuX,GACJvkD,OAlBe,SAACE,EAAgBkjD,GAChC,IAAMC,EAAetxxB,OAAOqxxB,GAAOpzwB,cACnC,OAA8B,IAA1BkwtB,EAAepxuB,OACVm0xB,KAhBE,SAACjqI,EAASoqI,GACrB,IAAMlpuB,EAVW,SAAC8+lB,EAAS3jpB,GAC3B,IAAK,IAAIhG,EAAI,EAAGA,EAAI2ppB,EAAQlqpB,OAAQO,IAAK,CACvC,IAAM+V,EAAI4zoB,EAAQ3ppB,GAClB,GAAI+V,EAAErU,KAAKsE,GACT,OAAO+P,CAEX,CAEF,CAEYk+wB,CAAWtqI,EAASoqI,GAC9B,IAAKlpuB,EACH,MAAO,CACLu7C,MAAO,EACPC,MAAO,GAGX,IAAM4pC,EAAQ,SAAAjwI,GACZ,OAAOkxD,OAAO6iuB,EAAMrzwB,QAAQmqC,EAAG,IAAM7qD,GACvC,EACA,OAAOk1xB,GAAKjlpB,EAAM,GAAIA,EAAM,GAC9B,CAMSlgH,CAAK8gtB,EAAgBmjD,EAC9B,EAaEpjD,QAASgjD,IAgBLO,GAAW,SAACtoiB,EAAY7lM,GAC5B,IAAM+tuB,EAAQrxxB,OAAOsjD,GAAWrlC,cAChC,OAAOuzwB,EAAOroiB,EAAY,SAAAuoiB,GACxB,OAAOA,EAAU/rrB,OAAO0rrB,EAC1B,EACF,EAoBMe,GAAqB,sCACrBC,GAAgB,SAAAhrxB,GACpB,OAAO,SAAAirxB,GACL,OAAO92qB,GAAS82qB,EAAUjrxB,EAC5B,CACF,EACM0hG,GAAW,CAAC,CAChB3tG,KAAM,OACN+yuB,eAAgB,CAAC,kCACjBxooB,OAAQ,SAAA2srB,GACN,OAAO92qB,GAAS82qB,EAAU,UAAY92qB,GAAS82qB,EAAU,WAAa92qB,GAAS82qB,EAAU,WAAa92qB,GAAS82qB,EAAU,cAC3H,GACC,CACDl3xB,KAAM,WACNosG,MAAO,WACP2moB,eAAgB,CAAC,kCAAmCikD,IACpDzsrB,OAAQ,SAAA2srB,GACN,OAAO92qB,GAAS82qB,EAAU,YAAc92qB,GAAS82qB,EAAU,cAC7D,GACC,CACDl3xB,KAAM,KACN+yuB,eAAgB,CAAC,iCAAkC,8BACnDxooB,OAAQ,SAAA2srB,GACN,OAAO92qB,GAAS82qB,EAAU,SAAW92qB,GAAS82qB,EAAU,UAC1D,GACC,CACDl3xB,KAAM,QACN+yuB,eAAgB,CAACikD,GAAoB,kCACrCzsrB,OAAQ0srB,GAAc,UACrB,CACDj3xB,KAAM,UACN+yuB,eAAgB,CAAC,uCACjBxooB,OAAQ0srB,GAAc,YACrB,CACDj3xB,KAAM,SACN+yuB,eAAgB,CAACikD,GAAoB,iCACrCzsrB,OAAQ,SAAA2srB,GACN,OAAQ92qB,GAAS82qB,EAAU,WAAa92qB,GAAS82qB,EAAU,aAAe92qB,GAAS82qB,EAAU,cAC/F,IAEIlkD,GAAO,CAAC,CACZhzuB,KAAM,UACNuqG,OAAQ0srB,GAAc,OACtBlkD,eAAgB,CAAC,0CAChB,CACD/yuB,KAAM,MACNuqG,OAAQ,SAAA2srB,GACN,OAAO92qB,GAAS82qB,EAAU,WAAa92qB,GAAS82qB,EAAU,OAC5D,EACAnkD,eAAgB,CAAC,sCAAuC,+BAAgC,wCACvF,CACD/yuB,KAAM,UACNuqG,OAAQ0srB,GAAc,WACtBlkD,eAAgB,CAAC,sCAChB,CACD/yuB,KAAM,QACNuqG,OAAQ0srB,GAAc,YACtBlkD,eAAgB,CAAC,wCAChB,CACD/yuB,KAAM,QACNuqG,OAAQ0srB,GAAc,SACtBlkD,eAAgB,IACf,CACD/yuB,KAAM,UACNuqG,OAAQ0srB,GAAc,SACtBlkD,eAAgB,IACf,CACD/yuB,KAAM,UACNuqG,OAAQ0srB,GAAc,WACtBlkD,eAAgB,IACf,CACD/yuB,KAAM,WACNuqG,OAAQ0srB,GAAc,QACtBlkD,eAAgB,CAAC,qCAEbokD,GAAe,CACnBxprB,SAAUm/c,EAASn/c,IACnBqloB,KAAMlmL,EAASkmL,KAGX1voB,GAAO,OACPJ,GAAW,WAEX2B,GAAQ,QACRnB,GAAU,UACV+B,GAAS,SAOTkyrB,GAAO,SAAAj6wB,GACX,IAAMowI,EAAUpwI,EAAKowI,QACfzzI,EAAUqD,EAAKrD,QACfm0F,EAAY,SAAAxuG,GAAI,OAAI,kBAAM8tJ,IAAY9tJ,CAAK,CAAD,EAChD,MAAO,CACL8tJ,UACAzzI,UACA44tB,OAAQzkoB,EAAUlL,IAClBovR,WAAYlkR,EAAUtL,IACtB61e,KAAMvqe,EAnBC,MAoBP0koB,QAAS1koB,EAAU3J,IACnBsuoB,UAAW3koB,EAAU9K,IACrBojM,SAAUt4L,EAAU/I,IAExB,EACM4xrB,GAAU,CACdvkD,QAtBgB,WAChB,OAAO6kD,GAAK,CACV7poB,aAASjlJ,EACTwR,QAAS27wB,GAAQljD,WAErB,EAkBElqU,GAAI+uX,GACJr0rB,KAAMwpd,EAASxpd,IACfJ,SAAU4pd,EAAS5pd,IACnBa,GAAI+od,EA9BK,MA+BTjod,MAAOiod,EAASjod,IAChBnB,QAASopd,EAASppd,IAClB+B,OAAQqnd,EAASrnd,KAGbkvJ,GAAU,UAEVlyJ,GAAU,UACV60rB,GAAQ,QACRC,GAAQ,QACRC,GAAU,UACVC,GAAU,UACVC,GAAW,WAOX9uX,GAAK,SAAAlrZ,GACT,IAAMowI,EAAUpwI,EAAKowI,QACfzzI,EAAUqD,EAAKrD,QACf2zF,EAAO,SAAAhuG,GAAI,OAAI,kBAAM8tJ,IAAY9tJ,CAAK,CAAD,EAC3C,MAAO,CACL8tJ,UACAzzI,UACAg4O,UAAWrkJ,EAAK2mJ,IAChBy+e,MAAOploB,EArBC,OAsBRqloB,UAAWrloB,EAAKvL,IAChB6woB,QAAStloB,EAAKuprB,IACdhkD,QAASvloB,EAAKsprB,IACd9jD,UAAWxloB,EAAKwprB,IAChB/jD,UAAWzloB,EAAKyprB,IAChB/jD,WAAY1loB,EAAK0prB,IAErB,EACME,GAAkB,CACtB9kD,QAxBc,WACd,OAAOlqU,GAAG,CACR96Q,aAASjlJ,EACTwR,QAAS27wB,GAAQljD,WAErB,EAoBElqU,MACAj0K,QAASm4T,EAASn4T,IAClBkjiB,IAAK/qO,EAlCK,OAmCVrqd,QAASqqd,EAASrqd,IAClB60rB,MAAOxqO,EAASwqO,IAChBC,MAAOzqO,EAASyqO,IAChBC,QAAS1qO,EAAS0qO,IAClBC,QAAS3qO,EAAS2qO,IAClBC,SAAU5qO,EAAS4qO,KAefI,GAZW,SAAC5vuB,EAAW6vuB,EAAkBC,GAC7C,IAAMrqrB,EAAWwprB,GAAaxprB,WACxBqloB,EAAOmkD,GAAankD,OACpBrpoB,EAAUourB,EAAiBjwtB,KAAK,SAAA+qT,GAAa,OA3M7B,SAACllR,EAAUklR,GACjC,OAAO+ha,GAAQ/ha,EAAc3mR,OAAQ,SAAA+rrB,GACnC,IAAMC,EAAUD,EAAQ7rrB,MAAMvpF,cAC9B,OAAOuzwB,EAAOzorB,EAAU,SAAAhE,GACtB,IAAI39C,EACJ,OAAOksuB,KAAsC,QAAxBlsuB,EAAK29C,EAAQyC,aAA+B,IAAZpgD,OAAqB,EAAIA,EAAGnpC,cACnF,GAAGvQ,IAAI,SAAAoL,GAAI,MAAK,CACdowI,QAASpwI,EAAK1d,KACdqa,QAAS27wB,GAAQptX,GAAGhpY,SAASq4vB,EAAQ59wB,QAAS,IAAK,GACpD,EACH,EACF,CAgMyD89wB,CAAgBxqrB,EAAUklR,EAAc,GAAE8gX,QAAQ,kBAxLrF,SAAChmoB,EAAUzlD,GAC/B,OAAOmuuB,GAAS1orB,EAAUzlD,GAAW51C,IAAI,SAAAq3F,GACvC,IAAMtvF,EAAU27wB,GAAQnjD,OAAOlpoB,EAAQopoB,eAAgB7qrB,GACvD,MAAO,CACL4lG,QAASnkD,EAAQ3pG,KACjBqa,UAEJ,EACF,CAgLiH+9wB,CAAczqrB,EAAUzlD,EAAU,GAAE0rrB,KAAKyjD,GAAQvkD,QAASukD,GAAQzuX,IAC3Kj+T,EAhLS,SAACqooB,EAAM9qrB,GACtB,OAAOmuuB,GAASrjD,EAAM9qrB,GAAW51C,IAAI,SAAAq4F,GACnC,IAAMtwF,EAAU27wB,GAAQnjD,OAAOlooB,EAAGoooB,eAAgB7qrB,GAClD,MAAO,CACL4lG,QAASnjD,EAAG3qG,KACZqa,UAEJ,EACF,CAwKag+wB,CAASrlD,EAAM9qrB,GAAW0rrB,KAAKgkD,GAAgB9kD,QAAS8kD,GAAgBhvX,IAC7EwrU,EA/QW,SAACzpoB,EAAIhB,EAASzhD,EAAW8vuB,GAC1C,IAAMnkD,EAASlpoB,EAAGyooB,UAAuC,IAA5B,QAAQxvuB,KAAKskD,GACpC4rrB,EAAWnpoB,EAAGyooB,UAAYS,EAC1BykD,EAAW3trB,EAAGyooB,SAAWzooB,EAAG0ooB,YAC5BY,EAAUqkD,GAAYN,EAAW,oBACjCjkD,EAAWF,IAAWC,GAAYwkD,GAAYN,EAAW,4BACzDhkD,EAAUF,GAAYwkD,IAAavkD,EACnCwkD,EAAa5urB,EAAQm9L,YAAcn8L,EAAGyooB,UAAyC,IAA9B,UAAUxvuB,KAAKskD,GAChEisrB,GAAaH,IAAYD,IAAawkD,EAC5C,MAAO,CACL1kD,OAAQ/mL,EAAS+mL,GACjBC,SAAUhnL,EAASgnL,GACnBC,SAAUjnL,EAASinL,GACnBC,QAASlnL,EAASknL,GAClBC,QAASnnL,EAASmnL,GAClBZ,UAAW1ooB,EAAG0ooB,UACdD,MAAOzooB,EAAGyooB,MACVc,UAAWpnL,EAASyrO,GACpBpkD,UAAWrnL,EAASqnL,GAExB,CA2PqBqkD,CAAW7trB,EAAIhB,EAASzhD,EAAW8vuB,GACtD,MAAO,CACLrurB,UACAgB,KACAypoB,aAEJ,EAKM4jD,GAAa,SAAAzusB,GAAK,OAAIzkF,OAAO64G,WAAWp0B,GAAO6xB,OAAQ,EACzDrQ,GAAWwgG,GAAO,kBAAMuslB,GAAyB7pvB,UAAUia,UAAWgruB,EAASxquB,KAAKza,UAAU4kV,eAAgBmla,GAAW,GACvHU,GAAW,WAAH,OAAS3trB,IAAW,EAE5By6oB,GAAY,SAACxlvB,EAAMg8b,GACvB,IASMr0b,EAAM,SAAAoyG,GACV,IAAMhtD,EAAIivY,EAAUjiV,GACpB,GAAIhtD,GAAK,GAAW,OAANA,EAAY,CACxB,IAAM0zO,EAAM60f,GAAMv7qB,EAAS/5G,GAC3B,OAAO4jB,WAAW68Q,IAAQ,CAC5B,CACA,OAAO1zO,CACT,EAEMk7W,EAAY,SAACluT,EAASl6G,GAAU,OAAKu0xB,EAAMv0xB,EAAY,SAACg9F,EAAKl5E,GACjE,IAAMs0B,EAAMq9uB,GAAMv7qB,EAASp2F,GACrBnhB,OAAgBqG,IAARovC,EAAoB,EAAIrY,SAASqY,EAAK,IACpD,OAAO9/B,MAAM3V,GAASq6F,EAAMA,EAAMr6F,CACpC,EAAG,EAAG,EAMN,MAAO,CACLkF,IA7BU,SAACqyG,EAAS5pC,GACpB,IAAK2qD,EAAS3qD,KAAOA,EAAErsE,MAAM,YAC3B,MAAM,IAAIjB,MAAM7C,EAAO,wDAA0DmwE,GAEnF,IAAMmyY,EAAMvoW,EAAQuoW,IAChB3zY,GAAY2zY,KACdA,EAAIj/b,MAAMrjB,GAAQmwE,EAAI,KAE1B,EAsBExoE,MACAm3yB,SAden3yB,EAefsga,YACAn9Y,IAVU,SAACivF,EAASv3G,EAAO3C,GAC3B,IAAMou0B,EAAuBhma,EAAUluT,EAASl6G,GAEhD,OADoB2C,EAAQyr0B,EAAuBzr0B,EAAQyr0B,EAAuB,CAEpF,EAQF,EAEMjniB,GAAW,SAAChxP,EAAIo/L,GAAQ,OAxdd,SAAA5yO,GACd,IAAM4sD,EAAMxrC,WAAWphB,GACvB,OAAO2V,MAAMi3C,GAAO8juB,EAAS/gX,OAAS+gX,EAASpyvB,KAAKsuB,EACtD,CAqdmC0tpB,CAAQ9mqB,GAAIs8rB,MAAMl9f,EAAU,EACzDsmX,GAAU,SAAC3hf,EAAS/5G,EAAMo1O,GAAQ,OAAK4xD,GAASsuf,GAAMv7qB,EAAS/5G,GAAOo1O,EAAU,EAQhF0txB,GAAqB,SAAC/o5B,EAAS+yI,GACnC,IAAMw1N,EAAMvoW,EAAQuoW,IACdxgc,EAAQwgc,EAAI1ic,wBAAwBkC,OAASwgc,EAAIp6T,YACvD,MAAqB,eAAd4kG,EAA6BhrO,EAVX,SAACi4F,EAASlyG,EAAMm2jB,EAAOD,GAKhD,OAAOl2jB,EAJc6zlB,GAAQ3hf,EAAS,WAAWp1G,OAAOq5jB,GAAQ,GAC3C09B,GAAQ3hf,EAAS,WAAWp1G,OAAOo5jB,GAAQ,GAC5C29B,GAAQ3hf,EAAS,UAAUp1G,OAAOq5jB,EAAO,UAAW,GACpD09B,GAAQ3hf,EAAS,UAAUp1G,OAAOo5jB,EAAO,UAAW,EAE1E,CAI8Cglc,CAAmBhp5B,EAASj4F,EAAO,OAAQ,QACzF,EAKMo4/B,GAAQ10R,GAAU,QAAS,SAAAzroB,GAAO,OAAIA,EAAQuoW,IAAIp6T,WAAW,GAC7D8yoB,GAAQ,SAAAjhrB,GAAO,OAAImg6B,GAAMvygC,IAAIoyG,EAAS,EACtCog6B,GAAa,SAAApg6B,GAAO,OAAImg6B,GAAMp7N,SAAS/ksB,EAAS,EAChDm2vB,GALgB,SAAAn2vB,GAAO,OAAI+o5B,GAAmB/o5B,EAAS,cAAe,EAMtEqg6B,GAPW,SAAArg6B,GAAO,OAAI2hf,GAAQ3hf,EAAS,QAASA,EAAQuoW,IAAIp6T,YAAa,EASzEmy3B,GAAW,SAACthV,EAASxrrB,EAAOyvR,GAChC,IAAMs9uB,EAAgBvhV,EAAQ/7Z,MACxBhpI,EAASsm3B,EAAcvigC,MAAM,EAAGxK,GAChCg7S,EAAQ+xtB,EAAcvigC,MAAMxK,GAC5BgtgC,EAAWvm3B,EAAOrvJ,OAAOq4R,GAAOr4R,OAAO4jT,GAC7C,OAAOiytB,GAASzhV,EAASwhV,EAC3B,EACME,GAAU,SAAC1hV,EAASxrrB,EAAO41b,GAAI,OAAKk3kB,GAASthV,EAASxrrB,EAAO,CAAC41b,GAAO,EACrEu3kB,GAAa,SAAC3hV,EAASxrrB,EAAO41b,GACpB41P,EAAQ/7Z,MAChBzvR,GAAS41b,CACjB,EACMq3kB,GAAW,SAACzhV,EAAS/7Z,GAAK,OAAKs8uB,GAASvgV,EAAQh/kB,QAASijL,EAAO+7Z,EAAQtzP,QAASszP,EAAQnnmB,MAAO,EAMhG+o7B,GAAU,SAAC5hV,EAASxrrB,GAAK,OAAKwrrB,EAAQ/7Z,MAAMzvR,EAAO,EACnDqtgC,GAAiB,SAAC7hV,EAASxrrB,GAAK,OAAKotgC,GAAQ5hV,EAASxrrB,GAAOwsG,OAAQ,EACrE8g6B,GAAa,SAAA9hV,GAAO,OAAIA,EAAQ/7Z,MAAMr7R,MAAO,EAC7Cm5gC,GAAqB,SAAA92kB,GACzB,IAAM5gc,EAASqqK,EAAUu2R,EAAM,SAAAvF,GAAG,MAAoB,aAAhBA,EAAIgH,OAAsB,GAChE,MAAO,CACLtga,KAAM/hC,EAAOmoD,KACbqiP,KAAMxqS,EAAO2oE,KAEjB,EACMn7D,GAAQ,SAACmorB,EAASgiV,EAAUC,GAChC,IAAMT,EAAWlz7B,EAAM0xmB,EAAQ/7Z,MAAOg+uB,GACtC,OAAO1B,GAASyB,EAAShiV,EAAQh/kB,SAAUwg6B,EAAUxhV,EAAQtzP,SAAS,EACxE,EAEMw1kB,GAAkB,2BAClBva,GAA4B,SAAA119B,GAAK,OAAIiwvB,GAAOjwvB,EAAOiw+B,IAAiBnz8B,KAAK,SAAA647B,GAAY,OAAIztO,EAASxquB,KAAKi48B,EAAa78/B,MAAM,QAAQ,GAAEwO,IAAI,SAAAsu/B,GAAU,OAAInsO,EAAYmsO,EAAY9jpB,EAAO,EAAE,EACvLo+pB,GAA2B,SAAAl3kB,GAC/B,IAAMotkB,EAASh9O,EAAM0mP,GAAmB92kB,GAAM7+Z,KAAM,SAAC03D,EAAK4hW,GAMxD,OALAore,EAAOpre,EAAIzhK,MAAO,SAACmmK,EAAMn/X,GACnBm/X,EAAKo+jB,WACP1k6B,EAAI74B,IAAO,EAEf,GACO64B,CACT,EAAG,CAAC,GACEs+6B,EAAYhhd,GAAWi3c,EAAQ,SAAC9inB,EAAM7pZ,GAAG,OAAKm7B,SAASn7B,EAAK,GAAG,GACrE,OA3mCa,SAACuiQ,EAAI79L,GAClB,IAAM1X,EAAOgiuB,EAAY9wxB,KAAKqkQ,EAAI,GAElC,OADAv1M,EAAKjpD,KAAK2gE,GACH1X,CACT,CAumCSkguB,CAAOwpP,EAChB,EAEM12gC,GAAM,SAACg6b,EAAK3lK,GAChB,OAAO2lK,EAAM,IAAM3lK,CACrB,EAQM+nuB,GAAc,SAACC,EAAW135B,GAC9B,IAAMv6F,EAAM4wxB,EAAOqhO,EAAUjy/B,IAAK,SAAAk+C,GAChC,OAAOA,EAAEiwO,KACX,GACA,OAAO6qjB,EAASh50B,EAAKu6F,EACvB,EAcMg8sB,GAAa,SAAA/xxB,GACjB,IAAMk9e,EAAS,CAAC,EACVvzO,EAAQ,GAER+juB,EADW938B,EAAK51B,GAAM/gB,IAAI,SAAA0u/B,GAAO,OAAIA,EAAQjn5B,OAAO,GAAEjyC,KAAK98B,IAClC88B,KAAK447B,IAA2BpuR,MAAM,CAAC,GAClE2uR,EAAU,EACVC,EAAa,EACbC,EAAW,EACf/z1B,EAGIK,EAAUp6I,EAAM,SAAA2t+B,GAAO,MAAwB,aAApBA,EAAQv7jB,OAAsB,GAFrD27jB,EAAYh01B,EAAlBrhG,KACM5mC,EAAIioI,EAAV7hH,KAEFs+2B,EAAO1k4B,EAAM,SAAA679B,GACX,IAAMK,EAAa,GACnBx3F,EAAOm3F,EAAQhkuB,MAAO,SAAAskuB,GAEpB,IADA,IAAI9p/B,EAAQ,OAC4B3O,IAAjC0ngB,EAAO9rgB,GAAI08/B,EAAU3p/B,KAC1BA,IAIF,IAFA,IAAM+p/B,EAzlCc,SAAC7g+B,EAAKj8B,GAAG,OAAKy2xB,GAAMx6vB,EAAKj8B,SAAqBoE,IAAb63B,EAAIj8B,IAAmC,OAAbi8B,EAAIj8B,EAAc,CAylChF+wxB,CAAkBurO,EAAevp/B,EAAMvW,YAClD6sJ,EApxBK,SAAC/zC,EAASuxV,EAAS0ha,EAASvua,EAAK3lK,EAAQyouB,GAAQ,MAAM,CACtExn5B,UACAuxV,UACA0ha,UACAvua,MACA3lK,SACAyouB,WACD,CA6wBqBC,CAASF,EAAQvn5B,QAASun5B,EAAQh2jB,QAASg2jB,EAAQt0J,QAASm0J,EAAU3p/B,EAAO+p/B,GACpFE,EAAyB,EAAGA,EAAyBH,EAAQt0J,QAASy0J,IAC7E,IAAK,IAAIC,EAAsB,EAAGA,EAAsBJ,EAAQh2jB,QAASo2jB,IAAuB,CAC9F,IACMC,EAAiBnq/B,EAAQiq/B,EACzBG,EAASn9/B,GAFK08/B,EAAWO,EAECC,GAChCpxf,EAAOqxf,GAAU9z2B,EACjBoz2B,EAAarh/B,KAAKiL,IAAIo2+B,EAAYS,EAAiB,EACrD,CAEFN,EAAWp6/B,KAAK6mJ,EAClB,GACAmz2B,IACAjkuB,EAAM/1R,KAAKk5/B,GAAUa,EAAQjn5B,QAASsn5B,EAAYL,EAAQv7jB,UAC1D07jB,GACF,GACA,IAAAia,EAGIvlP,EAAOurO,GAAc9u/B,IAAI,SAAA0u/B,GAC3B,IAAM30wB,EArDc,SAAA20wB,GACtB,IAAMc,EAAe,CAAC,EAClBv0/B,EAAQ,EASZ,OARAs85B,EAAOm3F,EAAQhkuB,MAAO,SAAAlE,GACpB,IAAMk0kB,EAAUl0kB,EAAOk0kB,QACvBisK,EAAQjsK,EAAS,SAAA+0J,GACf,IAAMC,EAAWz0/B,EAAQw0/B,EACzBD,EAAaE,GAttBD,SAACjo5B,EAASizvB,EAASl0kB,GAAM,MAAM,CAC/C/+K,UACAizvB,UACAl0kB,SACD,CAktB8BmpuB,CAAUnpuB,EAAO/+K,QAASizvB,EAASg1J,EAC9D,GACAz0/B,GAASy/1B,CACX,GACO80J,CACT,CAyCoBI,CAAgBlB,GAC1BmB,EAhwBO,SAACpo5B,EAASsyI,GAAO,MAAM,CACtCtyI,UACAsyI,UACD,CA6vBsBq7M,CAASs5jB,EAAQjn5B,QAASh2D,GAAOsoM,IACpD,MAAO,CACL+1wB,UAAW,CAACD,GACZ91wB,UAEJ,GAAG0pf,WAAW,iBAAO,CACnBqsR,UAAW,GACX/1wB,QAAS,CAAC,EACX,GAZCA,EAAO+uxB,EAAP/uxB,QACA+1wB,EAASgZ,EAAThZ,UAYIC,EAr0BK,SAACl99B,EAAMknN,GAAO,MAAM,CAC/BlnN,OACAknN,UACD,CAk0BgB23M,CAAKi9jB,EAASC,GAC7B,MAAO,CACLl9jB,KAAMq+jB,EACN9xf,SACA1hgB,IAAKmuR,EACL3wC,UACA+1wB,YAEJ,EASME,GAAY,CAChB+Y,UATgB,SAAArw+B,GAChB,IAAM3X,EAAOov+B,GAAYz39B,GACzB,OAAOo6wB,GAAW/xxB,EACpB,EAOE4uD,SAAUmjuB,GACVk2N,MAhGY,SAACxa,EAAWrikB,EAAK3lK,GAAM,OAAKo6f,EAASxquB,KAAKo48B,EAAUvwf,OAAO9rgB,GAAIg6b,EAAK3lK,IAAU,EAiG1FyivB,SAhGe,SAACza,EAAW9u+B,EAAMm3C,GACjC,IAAM4nZ,EAAW8viB,GAAYC,EAAW,SAAAxz7B,GACtC,OAAOnE,EAAWn3C,EAAMs7C,EAAOysC,QACjC,GACA,OAAOg3W,EAASpvd,OAAS,EAAIuxxB,EAASpyvB,KAAKiwb,EAAS,IAAMmiU,EAAS/gX,MACrE,EA4FE0ulB,eACA2a,UAVgB,SAAA1a,GAAS,OAAIrhO,EAAOqhO,EAAUjy/B,IAAK,SAAAgsC,GAAC,OAAIA,EAAEmiP,KAAK,EAAE,EAWjEy+uB,YAVkB,SAAA3a,GAAS,OAAI/88B,GAAO+88B,EAAUz0wB,QAAS,EAWzDqvxB,WAViB,SAAA5a,GAAS,OAAIh6/B,GAAKg6/B,EAAUz0wB,SAAS1qP,OAAS,CAAE,EAWjEg6gC,YAVkB,SAAC7a,EAAWiB,GAAW,OAAK7uO,EAASxquB,KAAKo48B,EAAUz0wB,QAAQ01wB,GAAc,GAaxF11wB,GAAU,SAACy0wB,GAAqC,IAA1B8a,EAAWz2gC,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG23W,EAClCknF,EAAO88jB,EAAU98jB,KACjBp2J,EAAOqruB,EAAQj1kB,EAAK33M,QAAS15J,GAC7Bkp7B,EAAU5C,EAAQj1kB,EAAK7+Z,KAAMwtD,GACnC,OAAOtL,EAAMumN,EAAM,SAAAgqD,GAIjB,OAAOkkrB,GAHU,WAAH,OAASr8O,EAAOo8O,EAAS,SAAA9u9B,GAAC,OAAIu18B,GAAUgZ,MAAMxa,EAAW/z8B,EAAG6qS,GAAK19T,OAAO,SAAAozC,GAAM,OAAIA,EAAOwrN,SAAW8+D,CAAG,GAAEh3G,SAAS,EAAE,EAClH,SAAAtzK,GAAM,OAAuB,IAAnBA,EAAO0/xB,SAAiB4uK,EAAYtu8B,EAAOysC,QAAS,EAC1D,WAAH,OAASuo5B,GAAUgZ,MAAMxa,EAAW,EAAGlpqB,EAAK,EAE/D,EACF,EACMkkrB,GAAS,SAACC,EAAU74tB,EAAS84tB,GACjC,IAAMjlI,EAAUglI,IAGhB,OAFqB3lP,EAAO2gH,EAAS7zlB,GACHywb,QAAQ,kBAAMu/C,EAASxquB,KAAKqu1B,EAAQ,IAAIpjK,QAAQqoS,EAAY,GAC1E1pgC,IAAI,SAAAg7D,GAAM,OAAIA,EAAOysC,OAAO,EAClD,EACM50E,GAAO,SAAA279B,GACX,IAAM98jB,EAAO88jB,EAAU98jB,KACjB63kB,EAAU5C,EAAQj1kB,EAAK7+Z,KAAMwtD,GAC7Bi7M,EAAOqruB,EAAQj1kB,EAAK33M,QAAS15J,GACnC,OAAOtL,EAAMw07B,EAAS,SAAAp9kB,GAIpB,OAAOq9kB,GAHU,WAAH,OAASr8O,EAAO7xf,EAAM,SAAAx2P,GAAC,OAAIkr9B,GAAUgZ,MAAMxa,EAAWrikB,EAAKrnZ,GAAGld,OAAO,SAAAozC,GAAM,OAAIA,EAAOmxX,MAAQA,CAAG,GAAEm1S,KAAK9mL,EAAS,IAAK,SAAAx/e,GAAM,MAAI,CAACA,EAAO,EAAC,EAAE,EACxI,SAAAA,GAAM,OAAuB,IAAnBA,EAAOg+X,OAAc,EAC5B,WAAH,OAASg3jB,GAAUgZ,MAAMxa,EAAWrikB,EAAK,EAAG,EAE/D,EACF,EAEMw9kB,GAAS,SAACj1wB,EAAIz5P,GAClB,GAAIA,EAAQ,GAAKA,GAASy5P,EAAGrlQ,OAAS,EACpC,OAAOuxxB,EAAS/gX,OAElB,IAAMrkR,EAAUk5G,EAAGz5P,GAAOqmuB,KAAK,WAC7B,IAAMjpmB,EAzwCM,SAAAq8H,GACd,IAAMj6M,EAAI0muB,EAAY9wxB,KAAKqkQ,EAAI,GAE/B,OADAj6M,EAAEyT,UACKzT,CACT,CAqwCiByT,CAAQwmM,EAAGjvP,MAAM,EAAGxK,IACjC,OAAOqnxB,GAAQjqpB,EAAM,SAACliI,EAAGvG,GAAC,OAAKuG,EAAE6J,IAAI,SAAAyyZ,GAAE,MAAK,CAC1Cvia,MAAOuia,EACP97T,MAAO/mG,EAAI,EACZ,EAAE,EACL,EAAG,SAAAk1C,GAAC,OAAI87uB,EAASpyvB,KAAK,CACpBt+B,MAAO40C,EACP6xD,MAAO,GACP,GACI15F,EAAOy3P,EAAGz5P,EAAQ,GAAGqmuB,KAAK,WAC9B,IAAMjpmB,EAAOq8H,EAAGjvP,MAAMxK,EAAQ,GAC9B,OAAOqnxB,GAAQjqpB,EAAM,SAACliI,EAAGvG,GAAC,OAAKuG,EAAE6J,IAAI,SAAAyyZ,GAAE,MAAK,CAC1Cvia,MAAOuia,EACP97T,MAAO/mG,EAAI,EACZ,EAAE,EACL,EAAG,SAAAiG,GAAC,OAAI+qxB,EAASpyvB,KAAK,CACpBt+B,MAAO2F,EACP8gG,MAAO,GACP,GACF,OAAO6kD,EAAQhmF,KAAK,SAAA1wB,GAAC,OAAI7nC,EAAK+C,IAAI,SAAAnK,GAChC,IAAM67V,EAAS77V,EAAE8gG,MAAQ7xD,EAAE6xD,MAC3B,OAAOppF,KAAKgB,IAAI1Y,EAAE3F,MAAQ40C,EAAE50C,OAASwhW,CACvC,EAAE,EACJ,EAEMk4qB,GAAc,SAACC,EAAOz6N,GAAK,OAAK,SAAA3nsB,GAAO,MAA8B,QAA1Bov0B,GAAapv0B,GAAqB2nsB,EAAQy6N,CAAM,CAAD,EAC1FhzF,GAAe,SAAApv0B,GAAO,MAAoC,QAAhCu7qB,GAAMv7qB,EAAS,aAAyB,MAAQ,KAAM,EAEhFiprB,GAAQx9C,GAAU,SAAU,SAAAzroB,GAChC,IAAMuoW,EAAMvoW,EAAQuoW,IACpB,OAAO+6U,GAAOtjrB,GAAWuoW,EAAI1ic,wBAAwBoC,OAASsgc,EAAIrpO,YACpE,GACMqijB,GAAQ,SAAAvhrB,GAAO,OAAIiprB,GAAMr7xB,IAAIoyG,EAAS,EACtCqi6B,GAAa,SAAAri6B,GAAO,OAAIiprB,GAAM8b,SAAS/ksB,EAAS,EAChDsi6B,GA1Oc,SAAAti6B,GAAO,OAAI2hf,GAAQ3hf,EAAS,SAAUA,EAAQuoW,IAAIrpO,aAAc,EA4O9ElsL,GAAI,SAAC5tC,EAAME,GAEf,MAAO,CACLF,OACAE,MACAqmL,UAJgB,SAACztL,EAAGC,GAAC,OAAK60C,GAAE5tC,EAAOlH,EAAGoH,EAAMnH,EAAG,EAMnD,EACMynxB,GAAgB5yuB,GAMhB6yuB,GAAqB,SAACn3xB,EAAGC,GAC7B,YAAUG,IAANJ,EACKA,OAEMI,IAANH,EAAkBA,EAAI,CAEjC,EACM+l0B,GAAW,SAAA10tB,GACf,IAAMy2M,EAAMz2M,EAAQuoW,IAAI9uC,cAClBx3W,EAAOw0P,EAAIx0P,KACXq8H,EAAMm4H,EAAI8+J,YACVngG,EAAO3+D,EAAInnS,gBACjB,GAAI2yC,IAAS+9C,EAAQuoW,IACnB,OAAOq9U,GAAc3juB,EAAK/vB,WAAY+vB,EAAKhwB,WAE7C,IAAM25M,EAAYi6iB,GAAmBvnmB,aAAsC,EAAIA,EAAInuK,YAAailW,EAAKxpI,WAC/FC,EAAag6iB,GAAmBvnmB,aAAsC,EAAIA,EAAIruK,YAAamlW,EAAKvpI,YAChG2kjB,EAAY3K,GAAmBzwa,EAAKo7a,UAAWvuuB,EAAKuuuB,WACpDD,EAAa1K,GAAmBzwa,EAAKm7a,WAAYtuuB,EAAKsuuB,YAC5D,OAAOrgjB,GAASlwI,GAAS2rF,UAAUkgD,EAAa0kjB,EAAY3kjB,EAAY4kjB,EAC1E,EACMtgjB,GAAW,SAAAlwI,GACf,IAAMuoW,EAAMvoW,EAAQuoW,IAEdtmZ,EADMsmZ,EAAI9uC,cACCx3W,KACjB,OAAIA,IAASsmZ,EACJq9U,GAAc3juB,EAAK/vB,WAAY+vB,EAAKhwB,WAExCqxvB,GAAOtjrB,GAhCM,SAAAuoW,GAClB,IAAM58N,EAAM48N,EAAI1ic,wBAChB,OAAO+/wB,GAAcj6iB,EAAIvmO,KAAMumO,EAAIrmO,IACrC,CAgCSwgxB,CAAYv9U,GAFVq9U,GAAc,EAAG,EAG5B,EAEM28O,GAAU,SAAC79kB,EAAKvmb,GAAC,MAAM,CAC3Bumb,MACAvmb,IACD,EACKqkgC,GAAU,SAAC3krB,EAAK3/U,GAAC,MAAM,CAC3B2/U,MACA3/U,IACD,EACKukgC,GAAU,SAAAr5kB,GAEd,OADYsrY,GAAStrY,GACVhkb,KAAOg7/B,GAAWh3kB,EAC/B,EACMs5kB,GAAU,SAAAt5kB,GACd,OAAOsrY,GAAStrY,GAAMhkb,IACxB,EACMu9/B,GAAc,SAACnvgC,EAAO41b,GAC1B,OAAOo5kB,GAAQhvgC,EAAOkvgC,GAAQt5kB,GAChC,EACMw5kB,GAAe,SAACpvgC,EAAO41b,GAC3B,OAAOo5kB,GAAQhvgC,EAAOivgC,GAAQr5kB,GAChC,EACMy5kB,GAAW,SAAAz5kB,GACf,OAAOsrY,GAAStrY,GAAM9jb,GACxB,EACMw9/B,GAAa,SAACtvgC,EAAO41b,GACzB,OAAOm5kB,GAAQ/ugC,EAAOqvgC,GAASz5kB,GACjC,EACM25kB,GAAgB,SAACvvgC,EAAO41b,GAC5B,OAAOm5kB,GAAQ/ugC,EAAOqvgC,GAASz5kB,GAAQi5kB,GAAWj5kB,GACpD,EACM45kB,GAAgB,SAACC,EAAcC,EAAc7kgC,GACjD,GAAqB,IAAjBA,EAAMzW,OACR,MAAO,GAET,IAAM4tV,EAAQloQ,EAAMjvE,EAAML,MAAM,GAAI,SAACmlgC,EAAY3vgC,GAC/C,OAAO2vgC,EAAW5qgC,IAAI,SAAA6wb,GACpB,OAAO65kB,EAAazvgC,EAAO41b,EAC7B,EACF,GACMg6kB,EAAW/kgC,EAAMA,EAAMzW,OAAS,GAAG2Q,IAAI,SAAA6wb,GAC3C,OAAO85kB,EAAa7kgC,EAAMzW,OAAS,EAAGwhc,EACxC,GACA,OAAO5zG,EAAM5qV,OAAO,CAACw4gC,GACvB,EAIMn7/B,GAAS,CACbinF,MAAOtW,EACPpuE,UAAW,SAAA64/B,GAAW,OAAIL,GAAcF,GAAYC,GAAeM,EAAY,EAC/E956B,KAAMs56B,IAEFS,GAAQ,CACZp06B,MAAOtW,EACP2Q,KAAMm56B,GACNl4/B,UAAW,SAAA64/B,GAAW,OAAIL,GAAcL,GAAaC,GAAcS,EAAY,GAE3EE,GAAQ,CACZr06B,MAda,SAAArjD,GACb,OAAQA,CACV,EAaE09C,KAAMk56B,GACNj4/B,UAAW,SAAA64/B,GAAW,OAAIL,GAAcJ,GAAcD,GAAaU,EAAY,GAE3EG,GAAWrB,GAAYmB,GAAOC,IAC9Bx7/B,GAAQ,CACZmnF,MAAO,SAAC8gR,EAAQ/+U,GAAK,OAAKuy+B,GAASvy+B,GAAOi+D,MAAM8gR,EAAQ/+U,EAAM,EAC9DzmB,UAAW,SAACqpR,EAAM5iQ,GAAK,OAAKuy+B,GAASvy+B,GAAOzmB,UAAUqpR,EAAM5iQ,EAAM,EAClEs4D,KAAM,SAAA6/V,GAAI,OAAIo6kB,GAASp6kB,GAAM7/V,KAAK6/V,EAAK,GAGnCnvY,GAAQ,CACZwp9B,kBAAmB,CAAC,KAAM,KAAM,MAAO,KAAM,KAAM,MAAO,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,OAAQ,OAAQ,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,MAClJ307B,MAAO,CAAC,KAAM,MACdC,SAAU,CAAC,KACXv+B,MAAO,CAAC,KAEJ04B,IACE617B,EAAgB,SAEhBC,EAAe,YADWD,EAG1BvwS,EAAM,SAAAthqB,GAAK,MAAI,MAAMtiE,OAAOsiE,EAAO,KAAM,EACzC+x8B,EAAyB,CAAC,WAAYF,EAFhC,MAEsDvwS,EAAIuwS,GAAiBvwS,EAAIwwS,GAF/E,MAEoGD,EAAgBvwS,EAAIwwS,GAAeD,EAAgBvwS,EAAIwwS,IAAe9p9B,KAAK,KACrLsjZ,EAAQ,WAAW5tc,OAAOq0gC,EAAwB,KACjD,IAAItt8B,OAAO,KAAK/mE,OAAO4tc,EAAO,YAGjC9uc,GAAQ,SAACwjE,EAAOw28B,GAEpB,OADcvqP,EAASxquB,KAAKu6B,GAAQzrC,KAAKyvB,IAC5Ba,KAAK,SAAA1vD,GAChB,IAAM5V,EAAQ4wD,OAAOh7C,EAAM,IACrBslgC,EAAUtlgC,EAAM,GACtB,OANW,SAAC4iE,EAAMyi8B,GAAQ,OAAKjkjB,EAAOikjB,EAAU,SAAA5g7B,GAAG,OAAI28X,EAAOxla,GAAM6oC,GAAM,SAAAglN,GAAK,OAAI7mO,IAAS6mO,CAAK,EAAC,EAAE,CAMhG87tB,CAAOD,EAASD,GACXvqP,EAASpyvB,KAAK,CACnBt+B,QACAw4E,KAAM0i8B,IAGDxqP,EAAS/gX,MAEpB,EACF,EAEMyrmB,GAA4B,iBAC5BC,GAAuB,qBACvBC,GAAUljP,GAAM,OAChBmjP,GAAiB,SAACpr/B,EAAKqr/B,EAAaC,GACxC,IAAMC,EAAiB503B,GAAc32H,GAAKojtB,WAAW,kBAAMwjS,GAAUtpsB,GAAMt9S,GAAK,GAChF,OAAOqr/B,EAAYrr/B,GAAOsr/B,EAAYC,GAAkB,GAC1D,EACMC,GAAgB,SAACh7kB,EAAMp5E,GAC3B50R,GAAMguW,EAAM,QAASp5E,EAAS,KAChC,EACMq0pB,GAAqB,SAACj7kB,EAAMp5E,GAChC50R,GAAMguW,EAAM,QAASp5E,EAAS,IAChC,EACMutoB,GAAY,SAACn0jB,EAAMp5E,GACvB50R,GAAMguW,EAAM,SAAUp5E,EAAS,KACjC,EAUMs0pB,GAAqB,SAAC77gC,EAAO2gc,EAAMu0C,EAAQ54b,GAC/C,IAAMi8B,EAASn3D,WAAWphB,GAC1B,OAAO2zO,GAAS3zO,EAAO,MAAuB,UAAfxC,GAAKmjc,GAVtB,SAACA,EAAMpoX,EAAQ28Z,EAAQ54b,GACrC,IAAMw/9B,EAAUtz+B,GAAMm4Z,GAAM7wb,IAAI,SAAA04B,GAC9B,IAAMiiC,EAAQyqa,EAAO1sc,GACrB,OAAOnrB,KAAKC,MAAMi7D,EAAS,IAAM9N,EACnC,GAAGqlqB,MAAMv3pB,GAET,OADAj8B,EAAOqkZ,EAAMm7kB,GACNA,CACT,CAG0Dvtd,CAAQ5tH,EAAMpoX,EAAQ28Z,EAAQ54b,GAAUi8B,CAClG,EACMwj8B,GAAiB,SAAAp7kB,GACrB,IAAM3gc,EAde,SAAA2gc,GAAI,OAAIk5kB,GAAWl5kB,GAAQ,IAAK,CAcvCq7kB,CAAer7kB,GAC7B,OAAK3gc,EAGE67gC,GAAmB77gC,EAAO2gc,EAAMm4V,GAAOg8N,IAFrCh8N,GAAMn4V,EAGjB,EAMM+6V,GAAW,SAACnkrB,EAASnjG,GACzB,OAAO8igC,GAAS3/5B,EAASnjG,GAAM+8tB,QAAQ,WACrC,OAAOsnD,GAAOlhrB,EAASnjG,GAAMtE,IAAI,SAAA2lC,GAAG,OAAIA,EAAM,IAAI,EACpD,EACF,EACMwm+B,GAAgB,SAAA1k6B,GAAO,OAAImkrB,GAASnkrB,EAAS,QAAS,EAEtD2k6B,GAAqB,SAAAv7kB,GAAI,OAAI46kB,GAAe56kB,EAAM63V,GAAOk1E,GAAU,EACnEyuK,GAAkB,SAAAx7kB,GAAI,OAAI26kB,GAAQ36kB,GAAQ63V,GAAM73V,GAAQi3kB,GAAaj3kB,EAAM,EAC3Ek0jB,GAAY,SAAAl0jB,GAChB,OAfY,SAACA,EAAMjgc,EAAMoF,GAGzB,OAFUA,EAAE66b,GACCspa,GAAQtpa,EAAMjgc,EAE7B,CAWSm7xB,CAAMl7V,EAAM,UAAWo7kB,GAChC,EAKMK,GAAkB,SAACz7kB,EAAMp5E,EAAQ/uS,GACrCma,GAAMguW,EAAM,QAASp5E,EAAS/uS,EAChC,EAEM6j8B,GAAuB,SAAA7z+B,GAAK,OAAI+y+B,GAAe/y+B,EAAOgwvB,GAAOk1E,IAAY,GAAI,EAI7E4uK,GAA2Bhyd,EAAS8wd,IAEpCmB,GAAUnkP,GAAM,OAChBokP,GAAU,SAAA77kB,GACd,OAAOs7kB,GAAct7kB,GAAM4yS,WAAW,kBAAM4oS,GAAgBx7kB,GAAQ,IAAI,EAC1E,EACM87kB,GAAU,SAAA97kB,GACd,OAzBmBppV,EAyBCopV,EAzBU+6V,GAASnkrB,EAAS,WAyBtBg8nB,WAAW,kBAAMshR,GAAUl0jB,GAAQ,IAAI,GAzB9C,IAAAppV,CA0BrB,EAOMimmB,GAAe,SAACsnT,EAAS/5/B,EAAO2xgC,EAAShl/B,EAAQw9c,EAAQtiQ,GAAQ,OAAKkyxB,EAAQpt+B,OAAOA,GAAQ05sB,KAAK,kBAAMx+f,EAAS6myB,GAAOiD,EAAS3xgC,GAAO,EAAE,SAAA41b,GAAI,OAAIu0C,EAAOv0C,EAAK,EAAE,EAChKg8kB,GAAe,SAACre,EAAW919B,EAAO2h0B,EAAUv3nB,GAChD,IAAMgqyB,EAAc/yxB,GAAQy0wB,GACtBiZ,EAAYzX,GAAUoZ,WAAW5a,GATxB,SAAAA,GAAS,OAAIz56B,EAAMi76B,GAAUmZ,YAAY3a,GAAY,SAAAhouB,GAAM,OAAIo6f,EAASxquB,KAAKowO,EAAO/+K,QAAQ,EAAE,CASzDsl6B,CAASve,GAAase,EACpEF,EAAU,CAAChsP,EAASpyvB,KAAKhf,GAAMwhF,KAAKt4D,KAASrmC,OAAO0iF,EAAMvlE,GAAMyC,UAAU66/B,EAAap0+B,GAAQ,SAAAiZ,GAAG,OAAIA,EAAI3xC,IAAI,SAAAzQ,GAAC,OAAIA,EAAEoW,CAAC,EAAC,IACvHqngC,EAAYv6oB,EAAI40oB,IACtB,OAAOty7B,EAAM0y7B,EAAW,SAACmD,EAAY9l+B,GACnC,OAAO4oqB,GAAak9T,EAAY9l+B,EAAG8n+B,EAASI,EAAW,SAAAxmvB,GACrD,GAbgB,SAAAqqK,GACpB,IAAMx5V,EAAU+urB,KAAW/urB,QACrB416B,EAAoB516B,EAAQ+oR,cAAgB/oR,EAAQwpoB,YAC1D,OAAO4rS,GAAQ57kB,IAAQo8kB,CACzB,CASUC,CAAc1mvB,GAChB,OAAO6zkB,EAAS7zkB,GAEhB,IAx9BUrwR,EAAGH,EAw9BP66b,GAx9BI16b,EAw9BY22gC,EAAYho+B,GAx9BrB9uC,EAw9ByBqqF,EAx9BnBlqF,QAAgCH,EAAEG,GAAKyqxB,EAAS/gX,QAy9BnE,OAAO6tS,GAAa78Q,EAAM/rZ,EAAG8n+B,EAASI,EAAW,SAAAn8kB,GAAI,OAAI/tN,EAAS89iB,EAASpyvB,KAAKk6vB,GAAM73V,IAAO,EAAE/tN,EAEnG,EAAGA,EACL,EACF,EACMqqyB,GAAa,SAAAC,GACjB,OAAOA,EAAQptgC,IAAI,SAAAw9C,GACjB,OAAOA,EAAI,IACb,GAAGwirB,MAAM,GACX,EAaMqtS,GAAiB,SAAC7e,EAAW919B,EAAO40+B,GACxC,OAAOT,GAAare,EAAW919B,EAAO2z+B,GAAiB,SAAAe,GACrD,OAAOA,EAAQ3pS,WAAW6pS,EAAUC,aACtC,EACF,EACMC,GAAgB,SAAChf,EAAW919B,EAAO/qB,EAAWo3+B,EAAWjixB,GAC7D,IAAMmtxB,EAASp99B,GAAK279B,GACdoe,EAAU,CAAChsP,EAASpyvB,KAAK7gB,EAAUqjF,KAAKt4D,KAASrmC,OAAO0iF,EAAMpnE,EAAUsE,UAAUg++B,EAAQv39B,GAAQ,SAAAiZ,GAAG,OAAIA,EAAI3xC,IAAI,SAAAzQ,GAAC,OAAIA,EAAEqW,CAAC,EAAC,IAChI,OAAOmvE,EAAMk76B,EAAQ,SAAC2a,EAAY9l+B,GAChC,OAAO4oqB,GAAak9T,EAAY9l+B,EAAG8n+B,EAASn6oB,EAAI80oB,IAAaxiB,EAAWjixB,EAC1E,EACF,EAUM2qyB,GAAc,SAAC/0+B,EAAO0sc,GAAM,OAAK,WACrC,OAAI2lT,GAAOryvB,GACF0sc,EAAO1sc,GAEPpnB,WAAW81/B,GAAS1u+B,EAAO,SAASsnsB,MAAM,KAErD,CAAE,EACI0tS,GAAW,SAAAh1+B,GACf,IAAM2h0B,EAAWozK,GAAY/0+B,EAAOgwvB,IAC9BhuH,EAAOlgH,EAAS,GAEtB,MAAO,CACLhriB,MAAO6q1B,EACPszK,WAAYtzK,EACZuzK,UAJgB,SAACpf,EAAW8e,GAAS,OAAKD,GAAe7e,EAAW919B,EAAO40+B,EAAW,EAKtFO,aAAcnzW,EACdozW,kBAAmBtzd,EAAS,CAAC,IAC7B+yd,aAAc7yW,EACdqzW,gBAAiBzy5B,EACjB0y5B,iBAAkB1y5B,EAClB2y5B,YAAY,EACZvt/B,MAAO,OAEX,EACMwt/B,GAAiB,SAAAx1+B,GACrB,IAAMy1+B,EAAgBV,GAAY/0+B,EAAO,SAAAshJ,GAAI,OAAI1oK,WAAWi7/B,GAAqBvy1B,GAAM,GACjFqgrB,EAAWozK,GAAY/0+B,EAAOgwvB,IAWpC,MAAO,CACLl5wB,MAAO2+/B,EACPR,WAAYtzK,EACZuzK,UAJgB,SAACpf,EAAW8e,GAAS,OAlEb,SAAC9e,EAAW919B,EAAO40+B,GAC7C,OAAOT,GAAare,EAAW919B,EAAO0z+B,GAAoB,SAAAgB,GACxD,OAAOA,EAAQ9rS,KAAK,WAClB,OAAOgsS,EAAUC,cACnB,EAAG,SAAAa,GACD,OAAOA,EAAYd,EAAUK,aAAe,GAC9C,EACF,EACF,CA0D8CU,CAAoB7f,EAAW919B,EAAO40+B,EAAW,EAK3FO,aAdmB,SAAAl36B,GAAK,OAAIA,EAAQ0jwB,IAAa,GAAI,EAerDyzK,kBAdwB,SAACvl+B,EAAG+l+B,GAAM,MAAK,CAAC,IAAM/l+B,EAAG,EAejDgl+B,aAdmB,WAAH,OAASjswB,KAAa+4lB,IAAa,GAAI,EAevD0zK,gBAAiBjC,GACjBkC,iBAfuB,SAAAr36B,GACvB,IAAMiW,EAAeuh6B,IAGrBrC,GAAmBpz+B,EADFk0E,EADFjW,EAAQ,IAAMiW,EAG/B,EAWEqh6B,YAAY,EACZvt/B,MAAO,UAEX,EACM6tP,GAAY,SAAA71O,GAChB,IAAM2h0B,EAAWozK,GAAY/0+B,EAAOgwvB,IAWpC,MAAO,CACLl5wB,MAAO6q1B,EACPszK,WAAYtzK,EACZuzK,UAJgB,SAACpf,EAAW8e,GAAS,OAAKD,GAAe7e,EAAW919B,EAAO40+B,EAAW,EAKtFO,aAdmBxt7B,EAenByt7B,kBAdwB,SAACvl+B,EAAGouD,GAE5B,MAAO,CADSppF,KAAKiL,IAAI8oP,KAAY/4N,EAAIouD,GACvBpuD,EACpB,EAYEgl+B,aAAcjswB,GACdyswB,gBAAiBlC,GACjBmC,iBAbuB,SAAAr36B,GACvB,IAAM0yc,EAAWgxT,IAAa1jwB,EAC9Bk16B,GAAcnz+B,EAAO2wgB,EACvB,EAWE4ke,YAAY,EACZvt/B,MAAO,QAEX,EAaM6t/B,GAJe,SAAA71+B,GAEnB,OADcyz+B,GAAczz+B,GACf4osB,KAAK,kBAAMosS,GAASh1+B,EAAM,EAAE,SAAA6P,GAAC,OAVzB,SAACk/D,EAASj4F,GAE3B,OAAqB,OADAg9/B,KAA2Btn+B,KAAK11B,GAE5C0+/B,GAAezm6B,GAEf8mK,GAAU9mK,EAErB,CAGgD+m6B,CAAW91+B,EAAO6P,EAAE,EACpE,EACMgm+B,GAEJhgwB,GAFIggwB,GAGJL,GA2CIO,GAAW,SAAC1t/B,EAAM2t/B,EAAc3lvB,GACpC,IAAMojK,EAAMpra,EAAKgoQ,GAAUthL,QACrBmwV,EAAKgyV,GAAazpD,QAAQ,MAChCosD,GAAS30V,EAAIgyV,GAAazpD,QAAQ,QACxBuuS,EAAeniP,GAAWl+tB,IAClC89X,EAAKyL,EACT,EAiDM+2kB,GAAY,SAACj2+B,EAAO479B,GACxB,IAAMtx+B,EAAa,SAAAg4C,GAAM,OAAIsstB,GAAKtstB,EAAOysC,QAAS6s5B,EAAkB,EAC9Dsa,EAAU5y8B,GAAKtjC,GACf3X,EAAOov+B,GAAYye,GACnBtB,EAAYiB,GAAuB71+B,GACnCm2+B,EAAe7e,GAAUrg7B,SAAS5uD,GAClC+t/B,EA5FkB,SAAC9iE,EAAOhp7B,GAChC,IAAM+r/B,EAAe/iE,EAAMt6gB,KAAK33M,QAE5Bi1xB,EADchjE,EAAMt6gB,KAAK7+Z,KAEzBo8+B,EAASF,EACTG,EAAS,EACTC,EAAS,EACPvV,EAAW,GACXzuM,EAAgB,GAqBtB,OApBA6uG,GAAOgyC,EAAM/tc,OAAQ,SAAAjjc,GAEnB,GADA4+7B,EAASjlgC,KAAKqmE,GACVh4C,EAAWg4C,GAAS,CACtBmwvB,EAAcx2zB,KAAKqmE,GACnB,IAAMs37B,EAAWt37B,EAAOmxX,IAClBijlB,EAAS9c,EAAWt37B,EAAOg+X,QAAU,EACrCo5jB,EAAWp37B,EAAOwrN,OAClB6ovB,EAASjd,EAAWp37B,EAAO0/xB,QAAU,EACvC43J,EAAW0c,EACbA,EAAS1c,EACA8c,EAASF,IAClBA,EAASE,GAEPhd,EAAW6c,EACbA,EAAS7c,EACAid,EAASF,IAClBA,EAASE,EAEb,CACF,GApCkB,SAACL,EAAQC,EAAQC,EAAQC,EAAQvV,EAAUzuM,GAAa,MAAM,CAChF6jN,SACAC,SACAC,SACAC,SACAvV,WACAzuM,gBACD,CA8BQmkN,CAAYN,EAAQC,EAAQC,EAAQC,EAAQvV,EAAUzuM,EAC/D,CA8DuBokN,CAAkBV,EAAc7r/B,GAC/CmmG,EAAW,UAAYmr4B,EAAZ,YAAkDA,EAAmB,IAChFkb,EAAkBr/I,GAAiBy+I,EAAS,QAAS,SAAA/9kB,GAAI,OAAIy2V,GAAKz2V,EAAM1nU,EAAS,GACvFouyB,EAAOi4G,EAAiBrjP,IAzDP,SAACprwB,EAAMir7B,EAAOzg8B,EAAOyX,GAItC,IAHA,IAAM6P,EAAO0izB,EAASx0zB,EAAM,SAAAora,GAAG,MAAoB,aAAhBA,EAAIgH,OAAsB,GACvD47kB,EAAe/iE,EAAMt6gB,KAAK33M,QAC1B01xB,EAAYzjE,EAAMt6gB,KAAK7+Z,KACpBjjC,EAAI,EAAGA,EAAI6/gC,EAAW7/gC,IAE7B,IADA,IAAI8+gC,GAAe,EACVzp/B,EAAI,EAAGA,EAAI8p/B,EAAc9p/B,IAC1Br1B,EAAI2b,EAAMyjgC,QAAUp/gC,EAAI2b,EAAM2jgC,QAAUjq/B,EAAI1Z,EAAM0jgC,QAAUhq/B,EAAI1Z,EAAM4jgC,SACzDnf,GAAUgZ,MAAMh9D,EAAOp88B,EAAGq1B,GAAG2C,OAAO5E,GAAYuktB,SAE/DknS,GAAS57+B,EAAM67+B,EAAc9+gC,GAE7B8+gC,GAAe,EAKzB,CAyCEgB,CAAW3u/B,EAAM8t/B,EAAcC,EAAc9r/B,GAC7C,IACM2s/B,EAvBmB,SAACj3+B,EAAO819B,EAAW8e,EAAW/hgC,GACvD,GAAqB,IAAjBA,EAAM0jgC,QAAgBzgB,EAAU98jB,KAAK33M,UAAYxuO,EAAM4jgC,OAAS,EAClE,OAAO,EAET,IAAMS,EAAYvC,GAAe7e,EAAW919B,EAAO40+B,GAC7CuC,EAAe/tP,EAAM8tP,EAAW,SAACrl7B,EAAK/6E,GAAK,OAAK+6E,EAAM/6E,CAAK,EAAE,GAC7DsggC,EAAoBhuP,EAAM8tP,EAAUnqgC,MAAM8F,EAAM0jgC,OAAQ1jgC,EAAM4jgC,OAAS,GAAI,SAAC5k7B,EAAK/6E,GAAK,OAAK+6E,EAAM/6E,CAAK,EAAE,GAExGmnF,EADWm56B,EAAoBD,EAAevC,EAAUK,aACrCL,EAAUK,aACnC,OAAOL,EAAUO,aAAal36B,EAChC,CAaqBo56B,CAAmBr3+B,EADxBs39B,GAAU+Y,UAAUrw+B,GACkB40+B,EAAWwB,GAE/D,OA5CY,SAACF,EAASrjgC,EAAOyg8B,EAAO2jE,GACpC31G,GAAOgyC,EAAMjytB,QAAS,SAAAurG,IAChBA,EAAI9+D,OAASj7Q,EAAM0jgC,QAAU3prB,EAAI9+D,OAASj7Q,EAAM4jgC,SAClDhjP,GAAS7mc,EAAI79O,QAEjB,GACA,IAAMuo6B,EAAYz6L,EAAS86C,GAAWu+I,EAAS,MAAO,SAAAzilB,GAAG,OAAkC,IAA9BA,EAAI6jB,IAAIsyR,iBAAuB,GAC5Fi1L,EAAOy4G,EAAW7jP,IACd5gxB,EAAM0jgC,SAAW1jgC,EAAM4jgC,QAAU5jgC,EAAMyjgC,SAAWzjgC,EAAM2jgC,QAC1D33G,EAAOlnC,GAAWu+I,EAAS,SAAU,SAAA/9kB,GACnC24V,GAAS34V,EAAM,WACf24V,GAAS34V,EAAM,UACjB,GAEF24V,GAASolP,EAASjG,IAClBn/O,GAASolP,EAAS,2BACAL,GAAuBK,GAC/BZ,iBAAiB2B,EAC7B,CAyBE/zH,CAAMgzH,EAASE,EAAcD,EAAcc,GACpCf,CACT,EAyBM/r4B,GArBY,SAACv9F,EAAI53C,GACrB,IAMMuyuB,EAAY,SAAAx4nB,GAAO,OAAIniE,EAAGmiE,GAAWm5qB,EAASxquB,KAAKqxD,EAAQuoW,IAAIp0F,WAAagla,EAAS/gX,MAAO,EAOlG,MAAO,CACLxqa,IAdU,SAAAoyG,GACV,IAAKniE,EAAGmiE,GACN,MAAM,IAAIl3G,MAAM,gBAAkB7C,EAAO,eAAiBA,EAAO,SAEnE,OAAOuyuB,EAAUx4nB,GAASu4nB,MAAM,GAClC,EAUEC,YACA7quB,IATU,SAACqyG,EAASv3G,GACpB,IAAKo1C,EAAGmiE,GACN,MAAM,IAAIl3G,MAAM,oBAAsB7C,EAAO,eAAiBA,EAAO,SAEvE+5G,EAAQuoW,IAAIp0F,UAAY1rX,CAC1B,EAMF,CAEYygyB,CAAU36a,GAAQ,QACxB42a,GAAQ,SAAAnlrB,GAAO,OAAIo7B,GAAIxtI,IAAIoyG,EAAS,EACpCw4nB,GAAY,SAAAx4nB,GAAO,OAAIo7B,GAAIo9lB,UAAUx4nB,EAAS,EAC9CryG,GAAM,SAACqyG,EAASv3G,GAAK,OAAK2yI,GAAIztI,IAAIqyG,EAASv3G,EAAO,EAElD0n0B,GAAS,SAAAnwtB,GAAO,MAAsB,QAAlB/5G,GAAK+5G,GAAqB,EAAIw4nB,GAAUx4nB,GAAS65nB,KAAK,kBAAMs1M,GAAWnv0B,GAASp4G,MAAM,EAAE,SAAAqmD,GAAC,OAAIA,EAAErmD,MAAM,EAAE,EAG3H0y0B,GAA6B,CAAC,MAAO,MACrCC,GAAmB,SAAAhopB,GAEvB,OALyCimjB,GAIcjmjB,GAJApyJ,OAAO,SAAApC,GAAI,OAA2B,IAAvBA,EAAKqiC,OAAOx4D,QAAgBm2B,EAAK31B,QA7B5F,SA6B6G,CAAC,GAAEgwuB,UAK/F0hD,EAAWwgD,GAA4Br00B,GAAKssL,KAJ3C,SAAAA,GAAI,OAAI80mB,GAAc90mB,IAA4C,UAAnCoomB,GAAMpomB,EAAM,kBAA+B,CAIrB2/tB,CAAuB3/tB,EAC3G,EAEMl1B,GAAQ,SAAAr9C,GAAO,OA1xCQ3Q,EA0xCkBkruB,IAzxCvC52C,EAAU,SAAA/zuB,GACd,IAAK,IAAIznD,EAAI,EAAGA,EAAIynD,EAAK7lB,WAAWniC,OAAQO,IAAK,CAC/C,IAAMohF,EAAQ44sB,GAAavpD,QAAQhprB,EAAK7lB,WAAW5hC,IACnD,GAAIknG,EAAU9lB,GACZ,OAAO4vsB,EAASpyvB,KAAKwiD,GAEvB,IAAMhvB,EAAMopuB,EAAQ/zuB,EAAK7lB,WAAW5hC,IACpC,GAAIoyD,EAAI69qB,SACN,OAAO79qB,CAEX,CACA,OAAO4+tB,EAAS/gX,MAClB,GA6wCoCp4T,EA5wCfuoW,KAdF,IAAQl5W,EACrBs0rB,CAyxCyD,EAC3DmlB,GAAS,SAAA9osB,GAAO,OAAI06tB,GAAc16tB,EAASu6tB,GAAkB,EAC7DG,GAAgB,SAAC3lgB,EAAO1lO,GAC5B,IAAMs0rB,EAAU,SAAA3jrB,GAEd,IADA,IAAM35B,EAAW8o2B,GAAWnv0B,GACnB73G,EAAIk+E,EAASz+E,OAAS,EAAGO,GAAK,EAAGA,IAAK,CAC7C,IAAMohF,EAAQlD,EAASl+E,GACvB,GAAIknG,EAAU9lB,GACZ,OAAO4vsB,EAASpyvB,KAAKwiD,GAEvB,IAAMhvB,EAAMopuB,EAAQp6sB,GACpB,GAAIhvB,EAAI69qB,SACN,OAAO79qB,CAEX,CACA,OAAO4+tB,EAAS/gX,MAClB,EACA,OAAOurX,EAAQ5ud,EACjB,EAEMyzsB,GAAyB,CAC7BzzsB,MAAO,CAAC,MAAO,QAEX0zsB,GAAa,SAAAhytB,GAAG,OAAI,WACxB,IAAM05I,EAAKgyV,GAAazpD,QAAQ,KAAMjib,EAAI8xJ,KAE1C,OADAu8U,GAAS30V,EAAIgyV,GAAazpD,QAAQ,KAAMjib,EAAI8xJ,MACrCpY,CACT,CAAE,EACIu4kB,GAAY,SAAAjytB,GAAG,OAAI,WACvB,OAAO0re,GAAazpD,QAAQ,MAAOjib,EAAI8xJ,IACzC,CAAE,EACIogkB,GAAiB,SAAAlytB,GAAG,OAAI,WAC5B,OAAO0re,GAAazpD,QAAQ,WAAYjib,EAAI8xJ,IAC9C,CAAE,EACIqgkB,GAAc,SAAAnytB,GAAG,OAAI,WACzB,OAAO0re,GAAazpD,QAAQ,KAAMjib,EAAI8xJ,IACxC,CAAE,EACIsgkB,GAAY,SAACz/kB,EAAM1nZ,EAAKysP,GAC5B,IAAMg5uB,EA9+CO,SAAC3j9B,EAAU9hB,GACxB,IAAMmtX,EAAK48Y,GAAUjovB,EAAU9hB,GACzBon+B,EAAgB35F,GAAW562B,GAAK/Q,IAEtC,OADA87F,GAAOuvQ,EAAIi6mB,GACJj6mB,CACT,CAy+CkBk6mB,CAAO3/kB,EAAM1nZ,GAQ7B,OAPA6w3B,GAAOpkoB,EAAO,SAAClgP,EAAG1H,GACN,OAAN0H,EACF8zuB,GAASolP,EAAS5g+B,GAElB89uB,GAAM8iP,EAAS5g+B,EAAG0H,EAEtB,GACOk59B,CACT,EACM6B,GAAe,SAAA5/kB,GACnB,OAAOA,CACT,EAkBM6/kB,GAAiB,SAACvyd,EAAQjgQ,EAAKyytB,GACnC,IAAMC,EAAW,SAAC5zgC,EAAMsB,GApvCX,IAACmoC,EAAQ9sC,EAChBk3gC,EACAC,EAFQrq+B,EAqvCLzpC,EAAKyqG,QArvCQ9tG,EAqvCC2E,EApvCjBuygC,EAAYpq+B,EAAOupa,IACnB8gkB,EAAYn3gC,EAAOq2c,IACrB3zY,GAAYw08B,IAAcx08B,GAAYy08B,KACxCA,EAAU///B,MAAM20b,QAAUmrkB,EAAU9//B,MAAM20b,SAkvC1CgnV,GAASpuxB,EAAO,UACK,IAAjBtB,EAAK091B,SACPhuE,GAASpuxB,EAAO,QAEpB,EAiBA,MAAO,CACLgnV,IAPa,SAAAtoV,GACb,IAAMsoV,EAAMskc,GAAazpD,QAAQzyuB,GAAKsP,EAAKyqG,SAAUy2M,EAAI8xJ,KAGzD,OAFA4gkB,EAAS5zgC,EAAMsoV,GACf64N,EAAOnhjB,EAAKyqG,QAAS69O,GACdA,CACT,EAGE8vG,SAAUg7kB,GAAelytB,GACzBiuI,IAAKkklB,GAAYnytB,GACjB2yI,KApBc,SAAA7zb,GACd,IAAM46b,EAAKgyV,GAAazpD,QAAQzyuB,GAAKsP,EAAKyqG,SAAUy2M,EAAI8xJ,KAClD7rF,EAAUwspB,EAAe3wS,MAAM,CAAC,SAAU,KAAM,IAAK,IAAK,OAAQ,OAAQ,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,QACnH2wF,EAAWxsc,EAAQ90X,OAAS,EA5BjB,SAAC0hhC,EAASC,EAAS7spB,GAEtC,OADgBr/N,GAAMis3B,GACP/wgC,IAAI,SAAAixgC,GACjB,IAAMC,EAAiB/spB,EAAQxnU,KAAK,KAC9Byme,EAAU8jf,GAAY+J,EAAWC,EAAgB,SAAAzp6B,GACrD,OAAOo4qB,GAAKp4qB,EAASsp6B,EACvB,GACA,OAAOlvP,EAAMz+P,EAAS,SAACxse,EAAMG,GAC3B,IAAMo69B,EAAe7iP,GAAQv3uB,GAE7B,OADAw1uB,GAAS31uB,EAAMu69B,GACRA,CACT,EAAGH,EACL,GAAGhxS,MAAMgxS,EACX,CAe0CI,CAAap0gC,EAAKyqG,QAASmwV,EAAIzzE,GAAWyzE,EAKhF,OAJA20V,GAASokC,EAAU/mC,GAAazpD,QAAQ,OACxCywS,EAAS5zgC,EAAM46b,GAhBgB,SAAC3sY,EAAU3sD,GAC5C075B,GAAOi2G,GAAwB,SAACoB,EAAiBxryB,GAAa,OAAK8ijB,GAAO19tB,EAAU46K,GAAej+M,OAAO,SAAAjc,GAAS,OAAI41wB,EAAW8vP,EAAiB1lgC,EAAU,GAAE6gD,KAAK,SAAA7gD,GAAS,OAAImgxB,GAAMxtxB,EAAOunO,EAAel6N,EAAU,EAAC,EAC1N,CAeI2lgC,CAA2Bt0gC,EAAKyqG,QAASmwV,GACzCumH,EAAOnhjB,EAAKyqG,QAASmwV,GACdA,CACT,EAYEtnb,QAASgggC,GACTiB,OAAQpB,GAAUjytB,GAClB/rR,IAAK+9+B,GAAWhytB,GAEpB,EACMsztB,GAAU,SAAAtztB,GACd,MAAO,CACLonC,IAAK6qrB,GAAUjytB,GACfk3I,SAAUg7kB,GAAelytB,GACzBiuI,IAAKkklB,GAAYnytB,GACjB2yI,KAAMq/kB,GAAWhytB,GACjB5tS,QAASmggC,GACTc,OAAQpB,GAAUjytB,GAClB/rR,IAAK+9+B,GAAWhytB,GAEpB,EAUMlgF,GAAS,SAAAtwO,GAAI,OAAI,SAAAqjzB,GAAM,OAAIA,EAAOl6yB,QAAQxB,IAAI3H,EAAM,CAAD,EACnD44f,GAAe,OACfsqgB,GAAsB,SAAA7/M,GAC1B,IAAIr3vB,EACEs2Z,EAAM+gW,EAAO/gW,IACb0mV,EAAiF,QAAlEh9uB,EAAKs2Z,EAAIlqI,UAAUire,EAAOx8hB,UAAU6ud,WAAYpzR,EAAIwmV,gBAAkC,IAAZ98uB,EAAgBA,EAAKq3vB,EAAO50D,UAC3H,OAAOyhH,GAASh0E,GAAavpD,QAAQq2D,IAAgB,IACvD,EA+FM+6O,GAAwB,SAAA1gO,GAC5B,OAAOnwB,EAASxquB,KAAK26vB,EAAOl6yB,QAAQxB,IAAI,wBAC1C,EAKMq8gC,GAAqB1zyB,GAAO,qBAC5B2zyB,GAAkC3zyB,GAAO,yBACzC4zyB,GAAgC,SAAA7gO,GAAM,MAAgD,kBAA5C4gO,GAAgC5gO,EAA4B,EACtG8gO,GAA8B,SAAA9gO,GAAM,MAAgD,gBAA5C4gO,GAAgC5gO,EAA0B,EAClG8/M,GAAqB7yxB,GAAO,qBAC5B8zyB,GAA2B,SAAA/gO,GAAM,MAAmC,aAA/B8/M,GAAmB9/M,EAAuB,EAC/EghO,GAAsB,SAAAhhO,GAAM,MAAmC,UAA/B8/M,GAAmB9/M,EAAoB,EACvEihO,GAA0B,SAAAjhO,GAAM,MAAmC,eAA/B8/M,GAAmB9/M,EAAyB,EAChFkhO,GAAqBj0yB,GAAO,qBAC5BqzxB,GAAqBrzxB,GAAO,sBAC5Bk0yB,GAA4Bl0yB,GAAO,gCACnCm0yB,GAA4B,SAAAphO,GAChC,IAAMl6yB,EAAUk6yB,EAAOl6yB,QACjBo7/B,EAAoBp7/B,EAAQxB,IAAI,4BACtC,OAAOwB,EAAQg2W,MAAM,4BAA8BolpB,EApGb,SAAClhN,EAAQkhN,GAC/C,OAAI+f,GAAwBjhO,IAAWsgN,GAAmBtgN,GACjDkhN,EACE8f,GAAoBhhO,GAC7B30yB,EAAA,GACK61/B,EAAkB,CACrBzi/B,MAAOoh/B,GAAoB7/M,KAG7B30yB,EAAA,GACK61/B,EAAkB,CACrBzi/B,MAAO82e,IAGb,CAsFyE8rhB,CAAgCrhO,EAAQkhN,EACjH,EACMogB,GAAwB,SAAAthO,GAC5B,IAAMl6yB,EAAUk6yB,EAAOl6yB,QACjBo8I,EAAgBp8I,EAAQxB,IAAI,wBAClC,OAAOwB,EAAQg2W,MAAM,wBAA0B55N,EAxHb,SAAC89pB,EAAQ99pB,GAC3C,OAAI++3B,GAAwBjhO,KAAYsgN,GAAmBtgN,GAClD99pB,EACE8+3B,GAAoBhhO,GAC7B30yB,EAAA,GACK62I,EAAc,CACjBzjI,MAAOoh/B,GAAoB7/M,KAG7B30yB,EAAA,GACK62I,EAAc,CACjBzjI,MAAO82e,IAGb,CA0GiEgshB,CAA4BvhO,EAAQ99pB,EACrG,EACMs/3B,GAAsBv0yB,GAAO,uBAE7BqmB,GAAU,SAAA1qP,GAAM,OAAIgi1B,GAAUhi1B,EAAQ,oBAAqB,EAC3Doh3B,GAAe,SAACtzwB,GAAqC,IAA5BgkrB,EAAc54xB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,IAAAA,UAAA,GAC3C,OAAIk4xB,GAAOtjrB,GACFA,EAAQuoW,IAAI07U,kBAEZrniB,GAAQ58I,GAAS65nB,KAAK9mL,EAASixO,GAAiB,SAAAE,GAAQ,MAAyB,SAArBhiD,GAAOgiD,EAAoB,EAElG,EACMhiD,GAAS,SAAAlioB,GAAO,OAAIA,EAAQuoW,IAAIg4O,eAAgB,EAEhDm0D,GAAU,SAAA40D,GAAM,OAAInnB,GAAavpD,QAAQ0wE,EAAO50D,UAAW,EAC3DoxQ,GAAY,SAAAx8M,GAAM,OAAI,SAAAtpsB,GAAO,OAAIo4qB,GAAKp4qB,EAAS00oB,GAAQ40D,GAAS,CAAD,EAC/DyhO,GAAkB,SAAA95+B,GACtB8wvB,GAAS9wvB,EAAO,kBAChB,IAAM+5+B,EAAuB,SAAAhr6B,GAAO,OAAI+hrB,GAAS/hrB,EAAS,iBAAkB,EAC5E8vzB,EAAO02F,GAAQv19B,GAAQ+5+B,GACvBl7G,EAAOkwG,GAAU/u+B,GAAQ+5+B,GACzBl7G,EAAO04F,GAAOv39B,GAAQ+5+B,EACxB,EACMhlB,GAAoB,SAAA18M,GAAM,OAAInnB,GAAavpD,QAAQ0wE,EAAOx8hB,UAAU6ud,WAAY,EAChFsvS,GAAgB,SAAAry/B,GAAG,OAAIA,EAAI/S,wBAAwBkC,KAAM,EACzDmjgC,GAAiB,SAAAty/B,GAAG,OAAIA,EAAI/S,wBAAwBoC,MAAO,EAO3DkjgC,GAAwB,SAAA/hlB,GAAI,OAAIs8iB,GAAUt8iB,EAAMy3V,GAAM,UAAUphU,OAAO6zZ,GAAc,EAErFssI,GAAc,SAACt31B,EAAQ/0F,GAC3B,IAAM638B,EAAW738B,EAAOwrN,OAClBssvB,EAAY938B,EAAOwrN,OAASxrN,EAAO0/xB,QAAU,EAC7Cq4K,EAAU/38B,EAAOmxX,IACjB6mlB,EAAah48B,EAAOmxX,IAAMnxX,EAAOg+X,QAAU,EACjD,OAAO65kB,GAAY9i3B,EAAOsi2B,WAAaygB,GAAa/i3B,EAAOqi2B,UAAY2gB,GAAWhj3B,EAAOwi2B,WAAaygB,GAAcjj3B,EAAOui2B,QAC7H,EACMH,GAAW,SAACpi2B,EAAQ/0F,GACxB,OAAOA,EAAOwrN,QAAUz2H,EAAOqi2B,UAAYp37B,EAAOwrN,OAASxrN,EAAO0/xB,QAAU,GAAK3qsB,EAAOsi2B,WAAar37B,EAAOmxX,KAAOp8R,EAAOui2B,UAAYt37B,EAAOmxX,IAAMnxX,EAAOg+X,QAAU,GAAKjpS,EAAOwi2B,SAClL,EAeMC,GAAY,SAAChE,EAAWr+K,EAAWsiL,GACvC,IAAMtxd,EAAc6ud,GAAUiZ,SAASza,EAAWr+K,EAAWtwD,IACvD6yO,EAAe1C,GAAUiZ,SAASza,EAAWiE,EAAY5yO,IAC/D,OAAO1+O,EAAY3re,KAAK,SAAAk1X,GACtB,OAAOgokB,EAAa1y/B,IAAI,SAAAurb,GACtB,OARaonkB,EAQIjokB,EARKkokB,EAQDrnkB,EA/rDX+mkB,EAwrDA/k/B,KAAKgL,IAAIo6+B,EAAQxmkB,IAAKymkB,EAAQzmkB,KAxrDpBimkB,EAwrD0B7k/B,KAAKgL,IAAIo6+B,EAAQnsuB,OAAQosuB,EAAQpsuB,QAxrDjD+ruB,EAwrD0Dhl/B,KAAKiL,IAAIm6+B,EAAQxmkB,IAAMwmkB,EAAQ35jB,QAAU,EAAG45jB,EAAQzmkB,IAAMymkB,EAAQ55jB,QAAU,GAxrD3Hq5jB,EAwrD+H9k/B,KAAKiL,IAAIm6+B,EAAQnsuB,OAASmsuB,EAAQj4J,QAAU,EAAGk4J,EAAQpsuB,OAASosuB,EAAQl4J,QAAU,GAxrDlM,CAC5D43J,WACAF,WACAG,YACAF,aAmrDgB,IAACM,EAASC,EAvrDZN,EAAUF,EAAUG,EAAWF,CAgsD3C,EACF,EACF,EACMQ,GAAW,SAACrE,EAAWr+K,EAAWsiL,GACtC,OAAOD,GAAUhE,EAAWr+K,EAAWsiL,GAAYj97B,KAAK,SAAAu6F,GACtD,OAzBkB,SAACy+1B,EAAWz+1B,GAGhC,IAFA,IAAI+i2B,GAAS,EACPC,EAAiBn3c,EAAMu2c,GAAUpi2B,GAC9BngK,EAAImgK,EAAOui2B,SAAU1igC,GAAKmgK,EAAOwi2B,UAAW3igC,IACnD,IAAK,IAAIq1B,EAAI8qI,EAAOqi2B,SAAUnt+B,GAAK8qI,EAAOsi2B,UAAWpt+B,IACnD6t+B,EAASA,GAAU9C,GAAUgZ,MAAMxa,EAAW5+/B,EAAGq1B,GAAGiic,OAAO6riB,GAG/D,OAAOD,EAASlyO,EAASpyvB,KAAKuhI,GAAU6wnB,EAAS/gX,MACnD,CAgBWmzlB,CAAcxE,EAAWz+1B,EAClC,EACF,EAYMkj3B,GAAe,SAACzkB,EAAWtp/B,EAAOlG,GACtC,OAAOwz/B,GAAUhE,EAAWtp/B,EAAOlG,GAAQgB,IAAI,SAAA+vJ,GAC7C,IAAM22kB,EAASspR,GAAUzB,YAAYC,EAAW5yc,EAAMyrc,GAAat31B,IACnE,OAAOh7E,EAAM2xpB,EAAQ,SAAA1rqB,GACnB,OAAOA,EAAOysC,OAChB,EACF,EACF,EACMyr6B,GAAa,SAAC1kB,EAAW2kB,GAI7B,OAAOnjB,GAAUiZ,SAASza,EAAW2kB,EAHf,SAAC1mvB,EAAIn8C,GACzB,OAAO+ziB,GAAW/ziB,EAAIm8C,EACxB,GAC+DzsR,IAAI,SAAAg7D,GACjE,OAAOA,EAAOysC,OAChB,EACF,EAEM2r6B,GAAS,SAACvilB,EAAMwilB,EAAUC,GAC9B,OAAO56+B,GAAMm4Z,GAAMr7X,KAAK,SAAA98B,GAEtB,OA9Ba,SAAC819B,EAAW39jB,EAAM1E,EAAK3lK,GACtC,OAAOwpuB,GAAUiZ,SAASza,EAAW39jB,EAAMgvV,IAAMrqtB,KAAK,SAAAwF,GACpD,IAAMs37B,EAAWnmkB,EAAM,EAAInxX,EAAOmxX,IAAMnxX,EAAOg+X,QAAU,EAAIh+X,EAAOmxX,IAC9DimkB,EAAW5ruB,EAAS,EAAIxrN,EAAOwrN,OAASxrN,EAAO0/xB,QAAU,EAAI1/xB,EAAOwrN,OAE1E,OADawpuB,GAAUgZ,MAAMxa,EAAW8D,EAAWnmkB,EAAKimkB,EAAW5ruB,GACvDxmR,IAAI,SAAAw9C,GACd,OAAOA,EAAEiqD,OACX,EACF,EACF,CAqBW8r6B,CADWtgB,GAAav69B,GACJm4Z,EAAMwilB,EAAUC,EAC7C,EACF,EACME,GAAa,SAAC96+B,EAAOosH,EAAOluG,GAChC,IAAM438B,EAAYyE,GAAav69B,GAC/B,OAAOu6+B,GAAazkB,EAAW1p2B,EAAOluG,EACxC,EACM689B,GAAmB,SAAC/6+B,EAAOosH,EAAO4u3B,EAAY989B,EAAM+89B,GACxD,IAAMnlB,EAAYyE,GAAav69B,GACzBk7+B,EAAe/zP,GAAKnnvB,EAAOg7+B,GAAc9yP,EAASpyvB,KAAKs2H,GAASou3B,GAAW1kB,EAAW1p2B,GACtF+u3B,EAAch0P,GAAKnnvB,EAAOi7+B,GAAa/yP,EAASpyvB,KAAKooB,GAAQs89B,GAAW1kB,EAAW538B,GACzF,OAAOg99B,EAAap+8B,KAAK,SAAA26wB,GAAS,OAAI0jM,EAAYr+8B,KAAK,SAAAgnyB,GAAQ,OAAIy2K,GAAazkB,EAAWr+K,EAAWqsB,EAAS,EAAC,EAClH,EAKMy2J,GAAejD,GAAU+Y,UAE3BzoG,GAAgB,CAAC,OAAQ,IAAK,MAAO,UAAW,QAAS,aAAc,SAAU,SAAU,SAAU,MAAO,UAAW,KAAM,KAAM,KAAM,QAAS,QAAS,QAAS,QAAS,UAAW,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,aAAc,MAAO,WAEnQwzG,GAAc,WAiChB,MAAO,CACL7mgC,GAAIutiB,EAAS,CACXrxb,SAAU2gwB,GACVzloB,QAASs3lB,GACT7kvB,UAAWq3rB,GACX5xxB,IAAK6mhB,KAEPl2gB,KAAMstiB,EAAS,CACbrxb,SAAUioD,GACVt6E,UAAWo3rB,KAEb98wB,OAAQopiB,EAAS,CACfnljB,IAAK2txB,GACLr5C,OAAQy9R,GACRhygC,IAAKytF,GACL7oE,OAAQ0ywB,KAEV92f,MAAO4kR,EAAS,CACdnljB,IAAK+sxB,GACLhtxB,IAAK02xB,GACL9xwB,OAAQwvwB,GACR5/C,OA9BqB,SAACnjsB,EAAQ2iiB,GAChC,IAAM53f,EAAKuhuB,GAAQtswB,GACnBgivB,GAASr/M,EAAa53f,EACxB,IA6BEyrE,OAAQu9Z,EAAS,CACf94Z,OAAQ2qoB,GACRp2e,MAAO4wtB,GACPn9xB,SAAU4ijB,GACVvloB,OAAQwloB,GACR1iD,UAAW9ilB,GACX14F,QAASA,GACTxhB,KAAMA,KAER7yB,OAAQwgiB,EAAS,CACfpnD,OAAQA,GACRp5e,OAAQmywB,KAEVzjvB,OAAQ8xgB,EAAS,CACflkJ,GAAIszX,GAAazpD,QACjB7huB,MAtEU,SAAAmpG,GACZ,OAAOmirB,GAAavpD,QAAQ54nB,EAAQuoW,IAAIl6K,WAAU,GACpD,EAqEItwQ,KAAMokwB,GAAaxpD,WAErBnppB,MAAOuje,EAAS,CACdsvL,gBAtDoB,SAACrioB,EAAS/uB,GAChC,OAAO+uB,EAAQuoW,IAAI7uC,wBAAwBzoV,EAAMs3X,IACnD,EAqDI+5R,YAAaA,GACbn0X,YAAaA,KAEfvkW,SAAUmpiB,EAAS,CACjB1se,SAAU8o2B,GACVlp7B,KAAMA,GACNqpD,OAAQA,GACRjgC,SA/Ea,SAAA2wF,GAAO,OAAIwirB,GAAgBxirB,GAASuoW,GAAI,EAgFrDh6F,OAAQA,GACRC,UAAWA,GACXF,UAAWA,GACXi0X,UA3Dc,SAAAvioB,GAChB,IAAMt+D,EAAMz7C,GAAK+5G,GACjB,OAAO85qB,EAAW,CAAC,SAAU,WAAY,SAAU,WAAY,UAAW,QAAS,QAAS,WAAY,OAAQp4uB,EAClH,EAyDI8ne,YAxDgB,SAAAxpa,GAAO,OAAIsuQ,GAAUtuQ,GAAWkhrB,GAAOlhrB,EAAS,QAAUm5qB,EAAS/gX,MAAO,EAyD1F0pU,QAASqjD,GACTljD,QAASt0uB,GACTi0uB,WAtFe,SAAA5hoB,GACjB,QAAKsuQ,GAAUtuQ,KAGO,SAAlB/5G,GAAK+5G,IAGF85qB,EAAW++I,GAAe5y6B,GAAK+5G,IACxC,EA+EI+hoB,WA9Ee,SAAA/hoB,GACjB,QAAKsuQ,GAAUtuQ,IAGR85qB,EAAW,CAAC,KAAM,MAAO,KAAM,SAAU7zxB,GAAK+5G,GACvD,EA0EIgioB,cAzEkB,SAAAhioB,GAAO,OAAIsuQ,GAAUtuQ,IAAkD,UAAtC26qB,GAAM36qB,EAAS,kBAA+B,IA2EnGhvB,GAAIonsB,GACJv6uB,GAAIwkvB,GAER,EAUMopO,GAAY,SAAC3yF,EAAU4yF,EAAMx88B,EAAM8phB,GACvC,IAAMv7jB,EAAQiu/B,EAAK5yF,EAAU5p3B,GAC7B,OAAOkruB,EAAMphN,EAAM,SAACrqkB,EAAGD,GACrB,IAAMqlJ,EAAU232B,EAAK5yF,EAAUpq6B,GAC/B,OAAOi9/B,GAAc7yF,EAAUnq6B,EAAGolJ,EACpC,EAAGt2I,EACL,EACMku/B,GAAgB,SAAC7yF,EAAUr75B,EAAOC,GACtC,OAAOD,EAAMswD,KAAK,SAAA5/D,GAChB,OAAOuP,EAAIyiB,OAAOg0hB,EAAM2kX,EAAS9n1B,GAAI7iF,GACvC,EACF,EA4BMy9/B,GA1CS,SAAC9yF,EAAU4yF,EAAMpo3B,GAC9B,OAAOA,EAAS17I,OAAS,EANf,SAACkx6B,EAAU4yF,EAAMpo3B,EAAU/0I,GAGrC,OAAOA,EAAEuq6B,EAAU4yF,EAFNpo3B,EAAS,GACTA,EAAStlI,MAAM,GAE9B,CAE+BlJ,CAAIgk6B,EAAU4yF,EAAMpo3B,EAAUmo3B,IAAatyO,EAAS/gX,MACnF,EAyCMk3jB,GAxBc,SAACx2D,EAAUr75B,EAAOC,GAAyB,IAApB8nX,EAAMp6X,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG8txB,EAC5CozP,EAAM,CAAC7ugC,GAAO7S,OAAOku6B,EAAStz5B,KAAK1Q,IAAI2I,IACvC8ugC,EAAM,CAAC7ugC,GAAK9S,OAAOku6B,EAAStz5B,KAAK1Q,IAAI4I,IACrC8ugC,EAAQ,SAAArjgC,GAEZ,OADcgP,EAAUhP,EAAMq8W,GACjBq0W,KAAK,WAChB,OAAO1wtB,CACT,EAAG,SAAAkU,GACD,OAAOlU,EAAKnL,MAAM,EAAGqf,EAAM,EAC7B,EACF,EACMov/B,EAAUD,EAAMF,GAChBI,EAAUF,EAAMD,GAChBnw+B,EAASigvB,EAAOowP,EAAS,SAAAvugC,GAC7B,OAAOuhd,EAAOitjB,EAjBP,SAAC5zG,EAAU7g5B,GACpB,OAAOk8hB,EAAM2kX,EAAS9n1B,GAAI/4D,EAC5B,CAe2B+4D,CAAG8n1B,EAAU565B,GACtC,GACA,MAAO,CACLyugC,UAAWF,EACXG,WAAYF,EACZtw+B,SAEJ,EAKMyw+B,GAAaR,KACbS,GAAY,SAACphB,EAAMpo3B,GACvB,OAAOso3B,GAAYihB,GAAY,SAAC7gB,EAAWhs5B,GACzC,OAAO0r5B,EAAK1r5B,EACd,EAAGsjC,EACL,EAKM+gU,GAAc,SAAAhhX,GAClB,OAAOg/xB,GAAWh/xB,EAAW,QAC/B,EACMgmtB,GAAW,SAAC5ryB,EAAOlG,EAAQiuX,GAC/B,IAAMsgoB,EAAY,SAAAinB,GAChB,OAAO,SAAA/s6B,GACL,YAAkBlxG,IAAX02X,GAAwBA,EAAOxlR,IAAYo4qB,GAAKp4qB,EAAS+s6B,EAClE,CACF,EACA,OAAI30P,GAAK36wB,EAAOlG,GACP4hxB,EAASpyvB,KAAK,CACnBim/B,MAAO7zP,EAASpyvB,KAAK,CAACtpB,IACtBA,QACAlG,WAGK8sc,GAAY5mc,GAAOswD,KAAK,SAAAm5wB,GAC7B,OAAO7iY,GAAY9sc,GAAQw2D,KAAK,SAAAk/8B,GAC9B,GAAI70P,GAAK8uD,EAAY+lM,GACnB,OAAO9zP,EAASpyvB,KAAK,CACnBim/B,MAAOjB,GAAW7kM,EAAYzp0B,EAAOlG,GACrCkG,QACAlG,WAEG,GAAIqlxB,GAAWsqD,EAAY+lM,GAAc,CAC9C,IAAMC,EAAgBzN,GAAYlogC,EAAQ,QAASuu/B,EAAU5+K,IACvD8jL,EAAakiB,EAActlhC,OAAS,EAAIslhC,EAAcA,EAActlhC,OAAS,GAAK2P,EACxF,OAAO4hxB,EAASpyvB,KAAK,CACnBim/B,MAAOhB,GAAiB9kM,EAAYzp0B,EAAOyp0B,EAAY3v0B,EAAQ01gC,GAC/DxvgC,QACAlG,OAAQyz/B,GAEZ,CAAO,GAAIpuO,GAAWqwP,EAAa/lM,GAAa,CAC9C,IAAMgmM,EAAgBzN,GAAYhigC,EAAO,QAASqo/B,EAAUmnB,IACtDvkM,EAAYwkM,EAActlhC,OAAS,EAAIslhC,EAAcA,EAActlhC,OAAS,GAAK6V,EACvF,OAAO07wB,EAASpyvB,KAAK,CACnBim/B,MAAOhB,GAAiBiB,EAAaxvgC,EAAOyp0B,EAAY3v0B,EAAQ01gC,GAChExvgC,QACAlG,OAAQmx0B,GAEZ,CACE,OA7CQ,SAACjr0B,EAAOlG,EAAQiuX,GAChC,OAAO8pmB,GAAYu9C,GAAYpvgC,EAAOlG,EAAQiuX,EAChD,CA2CiBriR,CAAU1lG,EAAOlG,GAAQ6kC,OAAO2xB,KAAK,SAAAo/8B,GAC1C,OAAOj5L,GAAUi5L,EAAK,QAAS3npB,GAAQz3T,KAAK,SAAAq/8B,GAC1C,IAAMC,EAAsB5N,GAAYlogC,EAAQ,QAASuu/B,EAAUsnB,IAC7DpiB,EAAaqiB,EAAoBzlhC,OAAS,EAAIylhC,EAAoBA,EAAoBzlhC,OAAS,GAAK2P,EACpG+1gC,EAAqB7N,GAAYhigC,EAAO,QAASqo/B,EAAUsnB,IAC3D1kM,EAAY4kM,EAAmB1lhC,OAAS,EAAI0lhC,EAAmBA,EAAmB1lhC,OAAS,GAAK6V,EACtG,OAAO07wB,EAASpyvB,KAAK,CACnBim/B,MAAOhB,GAAiBoB,EAAU3vgC,EAAOyp0B,EAAY3v0B,EAAQ01gC,GAC7DxvgC,MAAOir0B,EACPnx0B,OAAQyz/B,GAEZ,EACF,EAEJ,EACF,EAEJ,EACMmB,GAAa,SAAC9o6B,EAAWq+B,GAC7B,IAAMwq4B,EAAOvi1B,GAAYtmF,EAAWq+B,GACpC,OAAOwq4B,EAAKtkgC,OAAS,EAAIuxxB,EAASpyvB,KAAKml+B,GAAQ/yO,EAAS/gX,MAC1D,EAMMyzlB,GAAW,SAACxo6B,EAAWyo6B,EAAuBC,GAClD,OAAOpyyB,GAAWt2H,EAAWyo6B,GAAuB/97B,KAAK,SAAAsvF,GACvD,OAAOs8D,GAAWt2H,EAAW0o6B,GAAsBh+7B,KAAK,SAAA5e,GACtD,OAAO299B,GAAUzokB,GAAa,CAAChnT,EAAOluG,IAAO52C,IAAI,SAAA04B,GAC/C,MAAO,CACLosH,QACAluG,OACAle,QAEJ,EACF,EACF,EACF,EAgBMs8+B,GAAiB,SAACP,EAAOpB,EAAUC,EAAa/f,EAAuBC,GAC3E,OAlCc,SAACihB,EAAOjhB,GACtB,OAAO1vO,EAAO2wP,EAAO,SAAArhyB,GACnB,OAAOk0iB,GAAKl0iB,EAAKogxB,EACnB,EACF,CA8BSyhB,CAAQR,EAAOjhB,GAAsBh+7B,KAAK,SAAA5e,GAC/C,OAAOw89B,GAAOx89B,EAAMy89B,EAAUC,GAAa998B,KAAK,SAAAx2D,GAC9C,OAlBW,SAACA,EAAQu0/B,GACxB,OAAOzpI,GAAW9q3B,EAAQ,SAASw2D,KAAK,SAAA98B,GACtC,OAAO0oL,GAAW1oL,EAAO669B,GAAuB/97B,KAAK,SAAAtwD,GACnD,OAAO4ryB,GAAS5ryB,EAAOlG,GAAQw2D,KAAK,SAAA0/8B,GAClC,OAAOA,EAAWT,MAAMz0gC,IAAI,SAAAy0gC,GAC1B,MAAO,CACLA,QACAvvgC,MAAOgwgC,EAAWhwgC,MAClBlG,OAAQk2gC,EAAWl2gC,OAEvB,EACF,EACF,EACF,EACF,CAIam2gC,CAASn2gC,EAAQu0/B,EAC1B,EACF,EACF,EAEMG,GAAW,SAAC5o6B,EAAWq+B,GAC3B,OAAOyq4B,GAAW9o6B,EAAWq+B,EAC/B,EACM0q4B,GAAc,SAAC/o6B,EAAWyo6B,EAAuBC,GACrD,OAAOF,GAASxo6B,EAAWyo6B,EAAuBC,GAAsBh+7B,KAAK,SAAAuzd,GAC3E,IAAM97J,EAAS,SAAAvgP,GACb,OAAOmzoB,GAAK/0rB,EAAW4hD,EACzB,EACMon3B,EAAkB,0BAClBC,EAAgBjqI,GAAW/gW,EAAMjkY,MAAOgv2B,EAAiB7moB,GACzD+moB,EAAelqI,GAAW/gW,EAAMnye,KAAMk98B,EAAiB7moB,GAC7D,OAAO8moB,EAAcv+7B,KAAK,SAAA4trB,GACxB,OAAO4wQ,EAAax+7B,KAAK,SAAAm/rB,GACvB,OAAOkrB,GAAKz8B,EAAIuR,GA7RT,SAACj8tB,EAAOosH,EAAOluG,GAC5B,IAAM438B,EAAYyE,GAAav69B,GAC/B,OAAOm69B,GAASrE,EAAW1p2B,EAAOluG,EACpC,CA0R8Bq98B,CAAOlre,EAAMrwf,MAAOqwf,EAAMjkY,MAAOikY,EAAMnye,MAAQgquB,EAAS/gX,MAChF,EACF,EACF,EACF,EAEMtrJ,GAAYl0L,EACZg46B,GAAa,SAAAltM,GACjB,IAAMgzM,EAAU,SAACnk1B,EAAMppL,GAAI,OAAK+3xB,GAAO3umB,EAAMppL,GAAMs2d,OAAO,SAAAx7O,GAAI,OAAIp+M,SAASo+M,EAAM,IAAM,CAAC,EAAE,EAE1F,OAAOy/kB,EAAc97zB,OAAS,GAAK41uB,EAAOkmF,EADlB,SAAAnxoB,GAAI,OAAImk1B,EAAQnk1B,EAAM,YAAcmk1B,EAAQnk1B,EAAM,UAAW,GACT4mmB,EAASpyvB,KAAK28xB,GAAiBvqC,EAAS/gX,MACtH,EACMo4lB,GAAW,SAACv/9B,EAAOyyxB,EAAekpM,GACtC,OAAIlpM,EAAc97zB,QAAU,EACnBuxxB,EAAS/gX,OAETg0lB,GAAYn79B,EAAO279B,EAASd,sBAAuBc,EAASb,sBAAsBxz/B,IAAI,SAAA+vJ,GAAM,MAAK,CACtGA,SACA26H,MAAOygiB,EACR,EAEL,EAEM+oM,GAAc,oBACdkhB,GAAsB,MAAQlhB,GAAc,QAAUA,GAAc,IACpEmhB,GAAuB,IAAMnhB,GAAc,IAC3CC,GAAmB,0BACnBmhB,GAA2B,MAAQnhB,GAAmB,QAAUA,GAAmB,IACnFC,GAAkB,yBAClBmhB,GAA0B,MAAQnhB,GAAkB,QAAUA,GAAkB,IAChFohB,GAAoBH,GACpBhhB,GAAW,CACfh3+B,SAAU62+B,GACVI,iBAAkB8gB,GAClB7gB,cAAeJ,GACfZ,sBAAuB+hB,GACvB9gB,aAAcJ,GACdZ,qBAAsB+hB,IAGlB3W,GAAU,SAACzzM,EAAezyxB,EAAOm4Z,GAAI,MAAM,CAC/CppV,QAASopV,EACTonkB,SAAUA,GAASv/9B,EAAOyyxB,EAAekpM,IACzCgE,WAAYA,GAAWltM,GACvB52iB,UAAWA,GAAU42iB,GACtB,EAaKspM,GAA2B,SAAAtr4B,GAAQ,OAAI,SAACur4B,EAAUznoB,GACtD,IAF+BxlR,EAEzBkt5B,EAAWjngC,GAAKgngC,GAChB7jkB,EAAoB,QAAb8jkB,GAAmC,aAAbA,EAHOj89B,GAAX+uE,EAGuDit5B,GAH7Bl/7B,KAAK,SAAA98B,GAAK,OAAIg79B,GAASh79B,EAAO279B,GAASd,sBAAsB,GAAEjyR,KAAK9mL,EAAS/yc,GAAU,SAAAijL,GAAK,OAAIA,EAAM,EAAE,GAG/DgquB,EAClG,OAAO/4K,GAAU9qZ,EAAM1nU,EAAU8jQ,EACnC,CAAE,EACI2noB,GAA4BH,GAAyB,iBACrDI,GAAmBJ,GAAyB,SAC5CK,GAAwB,SAAA/jN,GAAM,OAplBpBhnsB,EAolBgCgnsB,EAAOv4sB,MAAM9/D,MAAMg4yB,mBAplB1C37vB,EAAMg1B,EAAO6/qB,GAAavpD,SAAnC,IAAAt2nB,CAolBuE,EAYjFwjwB,GAAiB,SAACx8D,EAAQt7xB,GAC9Bs7xB,EAAOlnuB,GAAG,mBAAoB,SAAAp8E,GAO5B,IAAoB,IAAhBA,EAAE8mR,UAAoB,CACxB,IAAMmW,EApBsB,SAAAqmhB,GAAM,OAAIwkC,EAASu/K,GAAsB/jN,GAAS,SAAAlgX,GAAI,OAAIy2V,GAAKz2V,EAAMwjkB,GAASC,iBAAiB,EAAE,CAoB/GmhB,CAA0B1kO,GACpCrmhB,EAAMr7R,QAAU,GARG,SAAAq7R,GACvBj9R,EAAEsqB,iBAZgB,SAAA2yQ,GACtB,OAAOhyP,GAAMgyP,EAAM,IAAI1qR,IAAI,SAAA04B,GACzB,IAAMk2+B,EAAUD,GAAUj2+B,EAAO88+B,IAEjC,OADAhD,GAAgB5D,GACT,CAACA,EACV,EACF,CAOM8G,CAAgBhrvB,GAAOl+N,KAAK,SAAAu+E,GAC1Bt9I,EAAEioB,QAAuB,SAAbjoB,EAAE04X,OANC,SAAAp7O,GAAQ,OAAIh2D,EAAMg2D,EAAU,SAAAtjC,GAAO,OAAIA,EAAQuoW,IAAIv0a,SAAS,GAAEkhB,KAAK,GAAI,CAMpDm5T,CAAe/qO,GAP/B,SAACgmqB,EAAQhmqB,GAAQ,OAAKh2D,EAAMg2D,EAAU,SAAA1qH,GAAG,OAAI0wxB,EAAOx8hB,UAAU98Q,WAAWxH,UAAUowB,EAAI2vb,IAAK,CAAC,EAAE,GAAErzZ,KAAK,GAAI,CAO/Dg59B,CAAkB5kO,EAAQhmqB,EACzF,EACF,CAII6q4B,CAAiBlrvB,EAErB,CACF,GACAqmhB,EAAOlnuB,GAAG,mBAAoB,SAAAp8E,GAC5B,IAAoB,IAAhBA,EAAE8mR,YAAkC,IAAZ9mR,EAAEo4uB,MAAgB,CAC5C,IAAMslF,EAAgB2pM,GAAsB/jN,GAC5Cp6vB,EAAKw0wB,GAAe3+vB,KAAK,SAAAqkY,GACvBn4Z,GAAMm4Z,GAAMrkY,KAAK,SAAA9zB,GACf,IAAMqyG,EAAWwqsB,EA1nBV,SAAC14d,EAAMrgD,GACtB,IACMnhS,GADMmhS,GAAS1lT,UACL6F,cAAc,OAE9B,OADA0e,EAAIC,UAAYuhV,EACT+5jB,GAAWhtJ,GAAavpD,QAAQhlsB,GACzC,CAqnBoC6ksB,CAASzyuB,EAAEioB,SAAU,SAAAA,GAC7C,MAAyB,SAAlBhoB,GAAKgoB,EACd,GACM09wB,EAAU9K,GAAM,SACtB,GAAI4pP,GAA0BnhO,IAA+B,IAApBhmqB,EAAS17I,QAAgB+jyB,EAAQropB,EAAS,IAAK,CACtFt9I,EAAEsqB,iBACF,IAAMmmS,EAAM0re,GAAavpD,QAAQ0wE,EAAOzyD,UAClCh6jB,EAAakt1B,GAAQtztB,GACrB14M,EA3DJ,SAACiC,EAAS7rE,EAAW0oJ,GAAU,MAAM,CACjD78E,UACA7rE,YACA0oJ,aACD,CAuD2BuhjB,CAAMh1S,EAAM9lT,EAAS,GAAIu5C,GACzC7uK,EAAQoggC,WAAWn9+B,EAAO8sE,GAASh5C,KAAK,WACtCukvB,EAAOr/wB,OACT,EACF,CACF,EACF,EACF,CACF,EACF,EAEMogB,GAAQ,SAAC21D,EAASp1F,GAAM,MAAM,CAClCo1F,UACAp1F,SACD,EAEKyjgC,GAAS,SAACv1G,EAAU94zB,EAAS95F,GACjC,OAAI4y5B,EAASlv5B,WAAW2kW,OAAOvuQ,IAAmE,IAAvD84zB,EAASlv5B,WAAWk4tB,QAAQ9hoB,GAAS5/C,OAAOx4D,QAAgBkx6B,EAASlv5B,WAAW4kW,UAAUxuQ,GAC5H95F,EAAU85F,GAASjyC,KAAK,SAAAwkH,GAC7B,OAAO871B,GAAOv1G,EAAUvmvB,EAAMrsK,GAAW0ztB,QAAQ,WAC/C,OAAOu/C,EAASpyvB,KAAKwrJ,EACvB,EACF,GAEO4mmB,EAAS/gX,MAEpB,EACM2ggB,GAAQ,SAACD,EAAU94zB,GACvB,OAAI84zB,EAASlv5B,WAAW2kW,OAAOvuQ,GACtB84zB,EAASlv5B,WAAWk4tB,QAAQ9hoB,GAASp4G,OAE7Bkx6B,EAASlv5B,WAAWy8D,SAAS25B,GAC9Bp4G,MAClB,EACMox6B,GAAgB,SAACF,EAAU94zB,GAC/B,IAAMu8qB,EAAY8xP,GAAOv1G,EAAU94zB,EAAS84zB,EAAStp1B,QAAQ8ypB,aAAa/J,MAAMv4nB,GAChF,GAAI84zB,EAASlv5B,WAAW2kW,OAAOgua,GAC7B,OAAOlyuB,GAAMkyuB,EAAWw8I,GAAMD,EAAUv8I,IAE1C,IAAMl2sB,EAAWyy1B,EAASlv5B,WAAWy8D,SAASk2sB,GAC9C,OAAOl2sB,EAASz+E,OAAS,EAAIox6B,GAAcF,EAAUzy1B,EAASA,EAASz+E,OAAS,IAAMyiD,GAAMkyuB,EAAWw8I,GAAMD,EAAUv8I,GACzH,EAEM08I,GAAgBD,GAEhBs1G,GAAajC,KAKbkC,GAAQ,SAACjklB,EAAMr5W,GACnB,IAAK2u7B,GAAWt1kB,GAAO,CACrB,IAAMvib,EA5mCc,SAAAqhb,GAEtB,OADcs7kB,GAAct7kB,GACfr7X,KAAK,SAAAjtB,GAAC,OAAIp3C,GAAMo3C,EAAG,CAAC,QAAS,WAAY,SAAS,EACjE,CAymCkB0t+B,CAAgBlklB,GAC9Bvib,EAAMg9C,KAAK,SAAAjkB,GACT,IAAM8ggB,EAAW9ggB,EAAEr4C,MAAQ,EAC3Bo8gC,GAAgBv6kB,EAAMs3G,EAAU9ggB,EAAEmgC,MAClC4j8B,GAAgB5z7B,EAAO2wd,EAAU9ggB,EAAEmgC,KACrC,EACF,CACF,EAEMgylB,GAAO,SAAA50pB,GAAK,OAAIivE,EAAMjvE,EAAO00iB,EAAS,GAAI,EAC1C07d,GAAW,SAAC9gvB,EAAOroQ,EAAYm0mB,EAAU/ujB,EAASn8E,GAAC,OAAKA,EAAEo/R,EAAM3vR,MAAM,EAAGsnB,IAAa16B,OAAO8/E,GAAS9/E,OAAO2D,EAAEo/R,EAAM3vR,MAAMy7nB,IAAY,EACvIi1Y,GAAmB,SAAAr/6B,GAAS,OAAI,SAACs+L,EAAOn6R,EAAO07F,EAAOy/6B,GAC1D,GAAKt/6B,EAAUH,GAER,CACL,IAAMq16B,EAAUz+/B,KAAKiL,IAAI49/B,EAAahhvB,EAAMn6R,GAASsS,KAAKgB,IAAIooF,IACxDysZ,EAAO71e,KAAKgB,IAAIy9/B,EAAU52uB,EAAMn6R,IACtC,OAAO07F,GAAS,EAAIysZ,GAAQA,CAC9B,CALE,OAAOzsZ,CAMX,CAAE,EACI0/6B,GAAqBF,GAAiB,SAAAx/6B,GAAK,OAAIA,EAAQ,CAAC,GACxD2/6B,GAAaH,GAAiB3rqB,GAC9B+rqB,GAAc,WAClB,IAIMC,EAAqB,SAACphvB,EAAOn6R,EAAO07F,EAAOy/6B,GAC/C,IAAM3/7B,GAAS,IAAMkgB,GAAS,IACxB8/6B,EAAUlpgC,KAAKiL,IAAI49/B,GAAchhvB,EAAMn6R,GAAS07F,GAASlgB,GAC/D,OAAO1B,EAAMqgN,EAAO,SAAC7/R,EAAMm8D,GAEzB,OADgBA,IAAQz2D,EAAQw7gC,EAAUlhhC,EAAOkhF,GAChClhF,CACnB,EACF,EACMmhhC,EAAqB,SAACthvB,EAAOn6R,EAAOgC,EAAM05F,EAAOy/6B,EAAanI,GAClE,OAAIA,EACKuI,EAAmBphvB,EAAOn6R,EAAO07F,EAAOy/6B,GAd3B,SAAChhvB,EAAOn6R,EAAOgC,EAAM05F,EAAOy/6B,GAClD,IAAMO,EAAeN,GAAmBjhvB,EAAOn6R,EAAO07F,EAAOy/6B,GAC7D,OAAOF,GAAS9gvB,EAAOn6R,EAAOgC,EAAO,EAAG,CAAC05gC,EAAc,GAAIj8W,GAC7D,CAaWk8W,CAAgBxhvB,EAAOn6R,EAAOgC,EAAM05F,EAAOy/6B,EAEtD,EAEMG,EAAc,SAACM,EAASlg7B,GAAK,OAAKkg7B,EAAQlg7B,EAAO,EAyBvD,MAAO,CACL4/6B,cACAO,gBAAiBT,GACjBK,qBACAK,iBA9BuB,SAAC3hvB,EAAO4hvB,EAAO/7gC,EAAOgC,EAAM05F,EAAOy/6B,EAAanI,GAAU,OAAKyI,EAAmBthvB,EAAOn6R,EAAOgC,EAAM05F,EAAOy/6B,EAAanI,EAAY,EA+B7JgJ,oBA7B0B,SAAC7hvB,EAAO4hvB,EAAO/7gC,EAAO07F,EAAOy/6B,EAAanI,GACpE,GAAIA,EACF,OAAOuI,EAAmBphvB,EAAOn6R,EAAO07F,EAAOy/6B,GAE/C,IAAMO,EAAeN,GAAmBjhvB,EAAOn6R,EAAO07F,EAAOy/6B,GAC7D,OAAO17W,GAAKtlY,EAAM3vR,MAAM,EAAGxK,IAAQ5I,OAAO,CAACskhC,GAE/C,EAuBEO,wBAtB8B,SAAC9hvB,EAAO+hvB,EAAYC,EAAYnJ,GAC9D,GAAIA,EAAY,CACd,IACMx37B,GADa0g8B,EAAaC,GACLD,EACrBE,EAAWti8B,EAAMqgN,EAAO,SAAA7/R,GAAI,OAAIA,EAAOkhF,CAAK,GAClD,MAAO,CACLkgB,MAAe,IAARlgB,EAAc,IACrB4g8B,WAEJ,CACE,MAAO,CACL1g7B,MAAOyg7B,EACPC,SAAUjivB,EAGhB,EASF,EACMkivB,GAAgB,WACpB,IAAMZ,EAAqB,SAACthvB,EAAOn6R,EAAOgC,EAAM05F,EAAOy/6B,GACrD,IACMO,EAAeL,GAAWlhvB,EADpBz+L,GAAS,EAAI15F,EAAOhC,EACY07F,EAAOy/6B,GACnD,OAAOF,GAAS9gvB,EAAOn6R,EAAOgC,EAAO,EAAG,CAAC05gC,GAAeA,GAAej8W,GACzE,EA+BA,MAAO,CACL67W,YA9BkB,SAACM,EAASlg7B,EAAO4g7B,GAC/BA,GACFV,EAAQlg7B,EAEZ,EA2BEmg7B,gBAlBsB,SAAC1hvB,EAAOn6R,EAAO07F,EAAOy/6B,EAAamB,GACzD,GAAIA,EAAc,CAChB,GAAI5g7B,GAAS,EACX,OAAOA,EAEP,IAAM6g7B,EAAW11P,EAAM1sf,EAAO,SAACj/R,EAAGC,GAAC,OAAKD,EAAIC,EAAIgghC,CAAW,EAAE,GAC7D,OAAO7ogC,KAAKiL,KAAKg//B,EAAU7g7B,EAE/B,CACE,OAAO0/6B,GAAmBjhvB,EAAOn6R,EAAO07F,EAAOy/6B,EAEnD,EAQEM,qBACAK,iBAlCuB,SAAC3hvB,EAAO4hvB,EAAO/7gC,EAAOgC,EAAM05F,EAAOy/6B,GAAW,OAAKM,EAAmBthvB,EAAOn6R,EAAOgC,EAAM05F,EAAOy/6B,EAAa,EAmCrIa,oBA7B0B,SAAC7hvB,EAAO4hvB,EAAO/3hB,EAAQtoZ,EAAO8g7B,EAAcxJ,GACtE,GAAIA,EACF,OAAOvzW,GAAKtlY,GAEZ,IAAMguN,EAAOzsZ,EAAQy+L,EAAM/lS,OAC3B,OAAO0lF,EAAMqgN,EAAOolR,EAASp3D,GAEjC,EAuBE8zhB,wBAV8B,SAAC9hvB,EAAOsivB,EAAaC,EAAaC,GAAW,MAAM,CACjFjh7B,MAAO,EACP0g7B,SAAUjivB,EACX,EASH,EAEMyivB,GAAc,SAAAn/+B,GAElB,OADkBs39B,GAAU+Y,UAAUrw+B,GACrBg5Z,IACnB,EAEMmlkB,GAAevuO,GAAM,MACrB0uO,GAAgB,SAAAtsuB,GAAK,OAAIu6c,EAAOv6c,EAAO,SAAAmmK,GAAI,OAAIgmkB,GAAahmkB,EAAKppV,QAAQ,EAAE,EAC3Eqv5B,GAAmB,SAACC,EAAaC,GACrC,OAAID,GAAeC,EACV,eACED,EACF,UAEA,OAEX,EACM4C,GAAa,SAAAxtkB,GACjB,IAAM4qkB,EAA8B,UAAhB5qkB,EAAIgH,QAClB6jkB,EAAgB1x9B,GAAG2x9B,GAAmB9qkB,EAAIzhK,OAAQ,MACxD,MAAoB,UAAhByhK,EAAIgH,QACC,CACLvic,KAAM,UAECmmgC,GAAeC,EACjB,CACLpmgC,KAAM,SACNymgC,QAASP,GAAiBC,EAAaC,IAGlC,CACLpmgC,KAAM,OAGZ,EACMqmgC,GAAqB,SAAAvsuB,GACzB,IAAMwsuB,EAAc3hL,EAAS7qjB,EAAO,SAAAmmK,GAAI,OAAIgmkB,GAAahmkB,EAAKppV,QAAQ,GACtE,OAA2B,IAAvByv5B,EAAY7ngC,OACPuxxB,EAASpyvB,KAAK,MACZ0o+B,EAAY7ngC,SAAWq7R,EAAMr7R,OAC/BuxxB,EAASpyvB,KAAK,MAEdoyvB,EAAS/gX,MAEpB,EAuBMi4mB,GAAgB,SAACjnlB,EAAMh6X,EAAYkh9B,GAAY,OAAKhR,GAAWgR,EAAalnlB,EAAKppV,QAAS5wC,IAAa,EAAMg6X,EAAKo+jB,SAAU,EAC5H+oB,GAAe,SAAC7rlB,EAAKgH,GAAO,OAAKhH,EAAIgH,UAAYA,EAAU6zkB,GAAS76kB,EAAI1kV,QAAS0kV,EAAIzhK,MAAOyoK,EAAShH,EAAI7sW,OAAS6sW,CAAI,EACtHgH,GAAU,WAAH,MAAU,CACrB6klB,aAAAA,GACAF,cAAe,SAACjnlB,EAAMh6X,EAAYkh9B,GAChC,IAAM/G,EAAU+G,EAAalnlB,EAAKppV,QAAS5wC,GACrCoh9B,EAA8B,OAAlBvqhC,GAAKsjhC,GA76EV,SAAC/l9B,EAAU9hB,GAC1B,IAAMmtX,EAAK48Y,GAAUjovB,EAAU9hB,GAC/B099B,GAAQ578B,EAAUqrW,GAClB,IAAMxoV,EAAW8o2B,GAAW3r3B,GAG5B,OAFA87F,GAAOuvQ,EAAIxoV,GACXq+sB,GAASlhuB,GACFqrW,CACT,CAs6E+C4hnB,CAASlH,EAAS,MAAQA,EACrE,OAAOjK,GAAWkR,EAAWpnlB,EAAKvxW,MAAOuxW,EAAKo+jB,SAChD,EACD,EACKkpB,GAAe,WAAH,MAAU,CAC1BH,aAAAA,GACAF,iBACD,EACKptvB,GAAQ,WAAH,MAAU,CACnBstvB,aAAc,SAAC7rlB,EAAKgH,GAElB,OAAO6klB,GAAa7rlB,EADW,UAAZgH,EAAsB,QAAUA,EAErD,EACA2klB,iBACD,EAiBKM,GAZsB,SAAC1/+B,EAAOoqM,GAClC,IACMlyO,EAhCuB,SAAA49/B,GAAS,OAAIlsO,GAAQksO,EAAUjy/B,IAAK,SAAA4vb,GACjE,IAAMkslB,EAAU1e,GAAWxtkB,GAC3B,MAAwB,WAAjBkslB,EAAQznhC,KAAoBgwxB,EAASxquB,KAAKii+B,EAAQhhB,SAAWz2O,EAAS/gX,MAC/E,EAAG,CA6BYy4mB,CADKtoB,GAAU+Y,UAAUrw+B,IACSsnsB,MAAMl9f,GACrD,OAAQlyO,GACN,IAAK,UACH,OAAOuic,KACT,IAAK,eACH,OAAOgllB,KACT,IAAK,QACH,OAAOztvB,KAEb,EACM0tvB,GAEJjllB,GAFIillB,GAGJD,GAHIC,GAIJ1tvB,GAJI0tvB,GAhBW,WAAH,MAAU,CACtBJ,aAAc337B,EACdy37B,iBACD,EAqBKS,GAAW,SAAC9w6B,EAASp2F,EAAUnhB,EAAOyuiB,GACtCzuiB,IAAUyuiB,EACZ6qP,GAAS/hrB,EAASp2F,GAElBy6wB,GAAMrkrB,EAASp2F,EAAUnhB,EAE7B,EACMs14B,GAAW,SAAC9s2B,EAAOywF,EAAU1hB,GACjC87qB,EAAOz1sB,GAASp1C,EAAOywF,IAAWm4mB,KAAK,kBAAMjzqB,GAAQ31B,EAAO+uE,EAAQ,EAAE,SAAAz2B,GAAK,OAAI617B,GAAQ717B,EAAOy2B,EAAQ,EACxG,EAgBM+w6B,GAAW,SAAC9/+B,EAAOg5Z,GACvB,IAAM8oa,EAAU,GACVytK,EAAW,GACXwQ,EAAW,SAAAC,GAAW,OAAI3j8B,EAAM2j8B,EAAa,SAAAvslB,GAC7CA,EAAI7sW,OACNk7wB,EAAQ7l2B,KAAKw3b,EAAI1kV,SAEnB,IAAMwgT,EAAKkkC,EAAI1kV,QAUf,OATAxvD,GAAMgwW,GACNsvgB,EAAOpre,EAAIzhK,MAAO,SAAAmmK,GACZA,EAAKvxW,OACP2o7B,EAAStzgC,KAAKk8b,EAAKppV,SAErB8w6B,GAAS1nlB,EAAKppV,QAAS,UAAWopV,EAAK6pa,QAAS,GAChD69K,GAAS1nlB,EAAKppV,QAAS,UAAWopV,EAAKmI,QAAS,GAChDuzV,GAAStkY,EAAI4oC,EAAKppV,QACpB,GACOwgT,CACT,EAAG,EACG0wnB,EAAe,SAAAD,GAAW,OAAIvrP,EAAOurP,EAAa,SAAAE,GAAQ,OAAI7j8B,EAAM6j8B,EAASluvB,MAAO,SAAA46D,GAExF,OADAizrB,GAASjzrB,EAAI79O,QAAS,OAAQ69O,EAAIo1gB,QAAS,GACpCp1gB,EAAI79O,OACb,EAAE,EAAE,EACE0yjB,EAAgB,SAACu+W,EAAaG,GAClC,IAAM1llB,EAvCc,SAACz6Z,EAAOmg/B,GAC9B,IAAM1llB,EAAUniX,GAAMt4C,EAAOmg/B,GAAap1S,WAAW,WACnD,IAAMq1S,EAAalvP,GAAazpD,QAAQ04S,EAAal7sB,GAAMjlS,GAAOs3a,KAQlE,MAPoB,UAAhB6okB,EACFrzI,GAAS9s2B,EAAO,mBAAoBog/B,GACX,aAAhBD,EACTrzI,GAAS9s2B,EAAO,UAAWog/B,GAE3BvsP,GAAS7zvB,EAAOog/B,GAEXA,CACT,GAEA,OADA7g+B,GAAMk7Y,GACCA,CACT,CAyBoB4llB,CAAgBrg/B,EAAOmg/B,GAEjCG,GADuB,aAAhBH,EAA6BF,EAAeF,GAC/BC,GAC1B3x3B,GAAOosS,EAAS6llB,EAClB,EAIMC,EAAwB,SAACP,EAAaG,GACtCH,EAAYrphC,OAAS,EACvB8qqB,EAAcu+W,EAAaG,GALT,SAAAA,GACpB7n8B,GAAMt4C,EAAOmg/B,GAAars9B,KAAK2/tB,GACjC,CAKI+sP,CAAcL,EAElB,EACMM,EAAc,GACdC,EAAc,GACdC,EAAc,GACdC,EAAsB,GAqB5B,OApBA/hH,EAAO7le,EAAM,SAAAvF,GACX,OAAQA,EAAIgH,SACV,IAAK,QACHgmlB,EAAYxkhC,KAAKw3b,GACjB,MACF,IAAK,QACHitlB,EAAYzkhC,KAAKw3b,GACjB,MACF,IAAK,QACHktlB,EAAY1khC,KAAKw3b,GACjB,MACF,IAAK,WACHmtlB,EAAoB3khC,KAAKw3b,GAG/B,GACA8slB,EAAsBK,EAAqB,YAC3CL,EAAsBE,EAAa,SACnCF,EAAsBG,EAAa,SACnCH,EAAsBI,EAAa,SAC5B,CACL7+K,UACAytK,WAEJ,EAoBMsR,GAAW,SAAC7kxB,EAAIm8U,GACpB,GAAkB,IAAdn8U,EAAGrlQ,OACL,OAAO,EAET,IAAMy1J,EAAQ4vG,EAAG,GACXz5P,EAAQ2kB,EAAU80O,EAAI,SAAA/uP,GAC1B,OAAQkrkB,EAAK/rb,EAAMr9C,QAAS9hG,EAAE8hG,QAChC,GACA,OAAOxsG,EAAM+kuB,MAAMtre,EAAGrlQ,OACxB,EACMmqhC,GAAU,SAAC9nlB,EAAMvF,EAAK3lK,EAAQ3vN,GAClC,IAAM4vnB,EAdO,SAAC/0P,EAAMz2b,GACpB,OAAOy2b,EAAKz2b,EACd,CAYkBw+gC,CAAO/nlB,EAAMvF,GACvButlB,EAA+B,aAApBjzV,EAAQtzP,QACnBuna,EAAU6+K,GAAS9yV,EAAQ/7Z,MAAMjlR,MAAM+gR,GAAS3vN,GAChDmiY,EAAU0glB,EAAW,EAAIH,GAtBf,SAAC7nlB,EAAMz2b,GACvB,OAAO85E,EAAM28W,EAAM,SAAAvF,GACjB,OAAOk8kB,GAAQl8kB,EAAKlxb,EACtB,EACF,CAkB0C0+gC,CAAUjolB,EAAKjsb,MAAM0mb,GAAM3lK,GAAS3vN,GAC5E,MAAO,CACL6jyB,UACA1ha,UAEJ,EAEM4glB,GAAY,SAAClolB,EAAM76X,GACvB,IAAMonC,EAAOlpB,EAAM28W,EAAM,SAAAvF,GAAG,OAAIp3W,EAAMo3W,EAAIzhK,MAAOi2f,EAAM,GAQvD,OAAO5rsB,EAAM28W,EAAM,SAACvF,EAAKpjK,GACvB,IAAM2sB,EAAUy3e,EAAOhhW,EAAIzhK,MAAO,SAACmmK,EAAM4+jB,GACvC,IAAoC,IAAhCxx5B,EAAK8qL,GAAU0muB,GAAwB,CACzC,IAAM3+/B,EAAS0ohC,GAAQ9nlB,EAAM3oK,EAAU0muB,EAAa547B,GAEpD,OAZa,SAACkyN,EAAU0muB,EAAaz2jB,EAAS0ha,GAClD,IAAK,IAAIvua,EAAMpjK,EAAUojK,EAAMpjK,EAAWiwK,EAAS7M,IACjD,IAAK,IAAI3lK,EAASipuB,EAAajpuB,EAASipuB,EAAc/0J,EAASl0kB,IAC7DvoL,EAAKkuV,GAAK3lK,IAAU,CAG1B,CAKMqzvB,CAAW9wvB,EAAU0muB,EAAa3+/B,EAAOkoc,QAASloc,EAAO4p2B,SAClD,EA/kFIjzvB,EA+kFOopV,EAAKppV,QA/kFHuxV,EA+kFYloc,EAAOkoc,QA/kFV0ha,EA+kFmB5p2B,EAAO4p2B,QA/kFjBp7wB,EA+kF0BuxW,EAAKvxW,MA/kFpB,CACvDmoB,UACAuxV,UACA0ha,UACAp7wB,UA4kFI,CACE,MAAO,GAjlFG,IAACmoB,EAASuxV,EAAS0ha,EAASp7wB,CAmlF1C,GACA,OAjkFiB,SAACmoB,EAASijL,EAAOyoK,EAAS7zW,GAAK,MAAM,CACxDmoB,UACAijL,QACAyoK,UACA7zW,QACD,CA4jFUw67B,CAAa3tlB,EAAI1kV,QAASiuM,EAASy2I,EAAIgH,QAAShH,EAAI7sW,MAC7D,EACF,EACMyqX,GAAS,SAACykjB,EAAWlq0B,EAAYhlG,GACrC,IAAMoyW,EAAO,GACb6le,EAAOi3F,EAAUsB,UAAW,SAAA16jB,GAE1B,IADA,IAAM2klB,EAAe,GACZtqB,EAAc,EAAGA,EAAcjB,EAAU98jB,KAAK33M,QAAS01wB,IAAe,CAC7E,IAAMho5B,EAAUuo5B,GAAUqZ,YAAY7a,EAAWiB,GAAazv/B,IAAI,SAAAwmR,GAAM,OAAIugvB,GAAWvgvB,EAAO/+K,QAASnoB,GAAO,EAAM,GAAEmkpB,WAAW,kBAAMsjS,GAAWzi1B,EAAWit1B,UAAU,GAAM,EAAM,GACnLwI,EAAaplhC,KAAK8yG,EACpB,CACAiqV,EAAK/8b,KAAKqygC,GAAS5xkB,EAAS3tV,QAASsy6B,EAAc,WAAYz67B,GACjE,GACA,IAAK,IAAIypM,EAAW,EAAGA,EAAWyluB,EAAU98jB,KAAK7+Z,KAAMk2P,IAAY,CAEjE,IADA,IAAMixvB,EAAW,GACRvqB,EAAc,EAAGA,EAAcjB,EAAU98jB,KAAK33M,QAAS01wB,IAAe,CAC7E,IAAMho5B,EAAUuo5B,GAAUgZ,MAAMxa,EAAWzluB,EAAU0muB,GAAazv/B,IAAI,SAAA0f,GAAI,OAAIqn/B,GAAWrn/B,EAAK+nF,QAASnoB,EAAO5/D,EAAKuv+B,SAAS,GAAExrR,WAAW,kBAAMsjS,GAAWzi1B,EAAWnyJ,OAAO,GAAM,EAAM,GACxL6n/B,EAASrlhC,KAAK8yG,EAChB,CACA,IAAMwy6B,EAAYzrB,EAAUjy/B,IAAIwsR,GAC1BojK,EAAM66kB,GAASiT,EAAUxy6B,QAASuy6B,EAAUC,EAAU9mlB,QAAS7zW,GACrEoyW,EAAK/8b,KAAKw3b,EACZ,CACA,OAAOuF,CACT,EAGMwolB,GAAe,SAAAxolB,GAAI,OAAIkolB,GAAUlolB,EAAMmuV,GAAM,EAC7C43O,GAAkB,SAACjJ,EAAW/m5B,GAAO,OAAK66qB,GAAQksO,EAAUjy/B,IAAK,SAAAk+C,GAAC,OAAIqpuB,EAAOrpuB,EAAEiwO,MAAO,SAAAj9R,GAAC,OAAIoyxB,GAAKp4qB,EAASh6G,EAAEg6G,QAAQ,EAAC,EAAE,EACtHiw5B,GAAe,SAAClJ,EAAW70/B,EAAQm9F,GACvC,IAAM4+M,EAAU3gO,EAAMp7E,EAAO46Q,UAAW,SAAAojvB,GACtC,OAAO9mkB,GAAK8mkB,GAAQni8B,KAAK,SAAAi1X,GAAE,OAAIgtkB,GAAgBjJ,EAAW/jkB,EAAG,GAAE7ia,OAAOkvE,EACxE,GACM4zL,EAAQw/nB,GAAIx0mB,GAClB,OAAOgye,GAAOh9f,EAAMr7R,OAAS,EAAGq7R,EAClC,EACMt2O,GAAM,SAACvjC,EAAW8k3B,EAASn0V,EAAY24e,EAAYC,GAAW,OAAK,SAAC1h/B,EAAO/+B,EAAQ2qL,EAAY+11B,GACnG,IAAM7rB,EAAYwB,GAAU+Y,UAAUrw+B,GAChC4h/B,EAAe15P,EAASxquB,KAAKik+B,aAAoD,EAAIA,EAAWlnlB,SAASswS,WAAW20S,IAa1H,OAZeziJ,EAAQ64H,EAAW70/B,GAAQqG,IAAI,SAAAoL,GAC5C,IAAMotF,EAdY,SAACg25B,EAAWlq0B,GAAU,OAAKylR,GAAOykjB,EAAWlq0B,GAAY,EAAO,CAcpEi21B,CAAc/rB,EAAWlq0B,GACjCxzL,EAAS+f,EAAU2nF,EAAOptF,EAAMy0wB,GAAMu6P,EAAY911B,GAAag21B,GAC/D7rB,EAAgBma,GAAyB93gC,EAAO4gc,MAEtD,MAAO,CACLtmb,OACAsmb,KAHWwolB,GAAapphC,EAAO4gc,MAI/Bp2b,OAAQxK,EAAOwK,OACfmz/B,gBAEJ,GACcj57B,KAAK,SAAA7uB,GACjB,IAAM+1jB,EAAc87a,GAAS9/+B,EAAOiO,EAAI+qZ,MAClC8olB,EAAc55P,EAASxquB,KAAKik+B,aAAoD,EAAIA,EAAWI,QAAQh3S,WAAW,kBAAM8qS,GAAuB71+B,EAAM,GACrJgi/B,EAAW95P,EAASxquB,KAAKik+B,aAAoD,EAAIA,EAAWrv/B,QAAQy4sB,WAAW6zS,IAWrH,OAVA91e,EAAW9ogB,EAAOiO,EAAI+qZ,KAAM/qZ,EAAIv7B,KAAM,CACpCqvgC,OAAQD,EACRxv/B,OAAQ0v/B,EACRvnlB,QAASmnlB,IAEXH,EAAWzh/B,GACX8wvB,GAAS9wvB,EAAOiw+B,IACZhi+B,EAAI8n9B,cAAcp//B,OAAS,GAC7By8xB,GAAMpzvB,EAAOiw+B,GAAiBhi+B,EAAI8n9B,cAAc9x8B,KAAK,MAEhDikuB,EAASpyvB,KAAK,CACnBlzB,OAAQqrC,EAAIrrC,OACZk/1B,QAAS99P,EAAY89P,QACrBytK,SAAUvra,EAAYura,UAE1B,EACF,CAAE,EASI0S,GAAkB,SAACnsB,EAAW70/B,GAAM,OAAK+9/B,GAAalJ,EAAW70/B,EAAQ6wW,GAAQxqW,IAAI,SAAA0qR,GAAK,MAAK,CACnGA,QACApmG,WAAY3qL,EAAO2qL,WACnB1oJ,UAAWjiC,EAAOiiC,UACnB,EAAG,EAGEg89B,GAAU,SAACpJ,EAAW70/B,GAAM,OAAK+9/B,GAAalJ,EAAW70/B,EAAQ6wW,EAAQ,EACzEowqB,GAAkB,SAACpsB,EAAW70/B,GAAM,OAAK+9/B,GAAalJ,EAAW70/B,EAAQ,SAAAqhE,GAAM,OAAKA,EAAOi07B,QAAQ,EAAE,EAErG4I,GAAc,SAACrJ,EAAW9juB,GAAK,OAAKu6c,EAAOv6c,EAAO,SAAAmmK,GAAI,OADhC,SAAC29jB,EAAW39jB,GAAI,OAAK4mkB,GAAgBjJ,EAAW39jB,GAAMq2B,OAAO,SAAAlsZ,GAAM,OAAKA,EAAOi07B,QAAQ,EAAE,CACrD6I,CAAoBtJ,EAAW39jB,EAAK,EAAE,EAkBhGgqlB,GAAU,SAACnplB,EAAM/3b,EAAQk9D,EAAYkh9B,GAGzC,IAFA,IAAMll/B,EAAO21+B,GAAmB92kB,GAAM7+Z,KAClCiyH,GAAQ,EACHl1J,EAAI,EAAGA,EAAIijC,EAAKxjC,OAAQO,IAC/B,IAAK,IAAIq1B,EAAI,EAAGA,EAAIsj/B,GAAW11+B,EAAK,IAAK5N,IAAK,CAC5C,IAAMkna,EAAMt5Z,EAAKjjC,GACXkrhC,EAAczS,GAAQl8kB,EAAKlna,GAE3B81/B,EAAclk9B,EADGik9B,EAAYrz6B,QACY9tG,GAC3CohhC,IAAgBj23B,EAClBsj3B,GAAWj8kB,EAAKlna,EAAG8h/B,GAAWgR,KAAgB,EAAM+C,EAAY7rB,WACvD8rB,IACTj23B,GAAQ,EAEZ,CAEF,OAAO4sS,CACT,EAsBMsplB,GAAY,SAACtplB,EAAMz2b,EAAO47D,EAAYkh9B,GAC1C,IAAMll/B,EAAO21+B,GAAmB92kB,GAAM7+Z,KACtC,GAAI53B,EAAQ,GAAKA,EAAQ43B,EAAKxjC,OAAQ,CACpC,IACMq7R,EAzBU,SAACyhK,EAAKt1X,GACxB,OAAOirtB,EAAM31V,EAAK,SAAC9zT,EAAMw4T,GACvB,OAAOq2B,EAAO7uV,EAAM,SAAAyi5B,GAClB,OAAOjk9B,EAAWik9B,EAAYrz6B,QAASopV,EAAKppV,QAC9C,GAAK4wB,EAAOA,EAAKhmI,OAAO,CAACw+b,GAC3B,EAAG,GACL,CAmBkBoqlB,CADOpo/B,EAAK53B,EAAQ,GAAGyvR,MACG7zN,GACxC0g2B,EAAO7soB,EAAO,SAAAmmK,GAEZ,IADA,IAAIvxT,EAAcshpB,EAAS/gX,OAClBjwa,EAAIqL,EAAOrL,EAAIijC,EAAKxjC,OAAQO,IACnC,IADyC,IAADsrhC,EAAA,SAAAj2/B,GAEtC,IAAMkna,EAAMt5Z,EAAKjjC,GACX4rJ,EAAU6s3B,GAAQl8kB,EAAKlna,GACT4xC,EAAW2kF,EAAQ/zC,QAASopV,EAAKppV,WAE/C63B,EAAYiomB,WACdjomB,EAAcshpB,EAASpyvB,KAAKup/B,MAE9Bz44B,EAAY9yE,KAAK,SAAA1F,GACfsh9B,GAAWj8kB,EAAKlna,EAAG8h/B,GAAWjg9B,GAAK,EAAM00F,EAAQyz2B,UACnD,GAEJ,EAZShq+B,EAAI,EAAGA,EAAIsj/B,GAAW11+B,EAAK,IAAK5N,IAAGi2/B,EAAAj2/B,EAchD,EACF,CACA,OAAOysa,CACT,EAEM4nX,GAAU,SAAAppzB,GACd,IAAMqpzB,EAAc,SAAA/7yB,GAAE,OAAIA,EAAGtN,EAAO,EAC9BspzB,EAAch/P,EAAStqjB,GACvBupzB,EAAe,WAAH,OAAS18vB,CAAO,EAC5BA,EAAS,CACb5T,KAAK,EACLm+b,MAAOp3e,EACPoxuB,KAAM,SAACo4E,EAAUC,GAAO,OAAKA,EAAQzpzB,EAAM,EAC3C60uB,QAASv6X,EACThoV,QAASm+vB,EACT3gxB,IAAK,SAAA+gxB,GAAM,OAAI64B,GAAO1pzB,MAAM6wxB,EAAO7wxB,GAAO,EAC1C80uB,SAAUy0E,EACVjkvB,KAAM+jvB,EACNryV,OAAQqyV,EACRt0E,OAAQs0E,EACRv5E,MAAOw5E,EACPnxZ,GAAIoxZ,EACJh2E,WAAY+1E,EACZn4E,QAASo4E,EACTv0E,SAAUs0E,EACVhtvB,KAAM,SAAAhvD,GACJA,EAAGtN,EACL,EACAi1uB,WAAY,WAAF,OAAQy7C,EAASpyvB,KAAKt+B,EAAM,GAExC,OAAO6sD,CACT,EACMnvD,GAAQ,SAAAA,GACZ,IAh5GU2oE,EAg5GJkjvB,EAAe,WAAH,OAAS18vB,CAAO,EAC5BA,EAAS,CACb5T,KAAK,EACLm+b,MAAO15e,EACP0zuB,KAAM,SAACn2P,EAAS0uU,GAAQ,OAAK1uU,EAAQv9e,EAAM,EAC3Cm3uB,QAAS47C,EACTn+vB,QAASgoV,EACTxqW,IAAKy5yB,EACLz0E,SAAU,SAAA+7C,GAAM,OAAI64B,GAAOhszB,MAAMmzxB,EAAOnzxB,GAAO,EAC/C4nE,KAAMikvB,EACNvyV,OAAQy5T,EACR17C,OAAQz6X,EACRw1X,MAAO3/oB,EACPgoU,GAAIhoU,EACJojpB,WAAY5quB,EACZwouB,QAASxouB,EACTqsuB,UAh6GQ3uqB,EAg6GMjkE,OAAO1E,GA/5GhB,WACL,MAAM,IAAI2C,MAAMgmE,EAClB,GA85GE/J,KAAM8uD,EACN6pnB,WAAYy7C,EAAS/gX,MAEvB,OAAO9iX,CACT,EAEM68vB,GAAS,CACb1pzB,MAAOopzB,GACP1rzB,SACAw3uB,WAJiB,SAACjzd,EAAUp8Q,GAAG,OAAKo8Q,EAASmvd,KAAK,kBAAM1zuB,GAAMmI,EAAI,EAAEujzB,GAAS,GAoBzE6hO,GAAe,SAACC,EAAOC,GAG3B,MAAO,CACLC,SAAU,EACVC,SAJiBhT,GAAW6S,EAAM,IACjB7S,GAAW8S,EAAM,IAKtC,EACMG,GAAgB,SAACJ,EAAOC,GAG5B,MAAO,CACLC,SAHiBF,EAAM/rhC,OACNgshC,EAAMhshC,OAGvBkshC,SAAU,EAEd,EACME,GAAmB,SAAChkqB,EAAQ00E,EAAK7nQ,EAAY2q0B,GACjD,IAAM1q0B,EAA4B,aAAhB4nQ,EAAIgH,QAAyB7uQ,EAAWghK,IAAMhhK,EAAWusQ,KAC3E,OAAO81kB,EAAQlvpB,EAAQ,SAAA/lT,GAAG,OAAIq18B,GAAWxi1B,KAAa,EAAM0q0B,EAASv97B,GAAK,EAC5E,EACMgq9B,GAAU,SAAChqlB,EAAMj6E,EAAQnzL,EAAYmq0B,GACzC,IAAMktB,EAAajqlB,EAAKA,EAAKric,OAAS,GACtC,OAAOqic,EAAKr/b,OAAOs0gC,EAAQlvpB,EAAQ,WACjC,IAAMlzL,EAAmC,aAAvBo31B,EAAWxolB,QAAyB7uQ,EAAW8wQ,SAAW9wQ,EAAW6nQ,IACjFA,EAAM7tb,GAAMq9gC,EAAYp31B,EAAWlkG,GACnC0qD,EAAW0w4B,GAAiBtvlB,EAAIzhK,MAAMr7R,OAAQ88b,EAAK7nQ,EAAY,SAAA5yH,GAAG,OAAIk3tB,GAAM6lO,EAAe/87B,EAAI/iE,WAAW,GAChH,OAAOu5gC,GAAS/7kB,EAAKphT,EACvB,GACF,EACM6w4B,GAAU,SAAClqlB,EAAMj6E,EAAQnzL,EAAYv3J,GAAU,OAAKgoD,EAAM28W,EAAM,SAAAvF,GACpE,IAAM0vlB,EAAcJ,GAAiBhkqB,EAAQ00E,EAAK7nQ,EAAYq8lB,GAC9D,OAAOonP,GAAS57kB,EAAKp/Z,EAAY8u/B,EACnC,EAAG,EAOGC,GAAS,SAACV,EAAOzk7B,EAAO2tF,GAC5B,IAAMy31B,EAAWpl7B,EAAM4k7B,SAAW,EAAIK,GAAUv77B,EAC1C277B,EAAWrl7B,EAAM2k7B,SAAW,EAAII,GAAUr77B,EAC1Cou6B,EAAgBma,GAAyBwS,GACzCa,EAAY1T,GAAW6S,EAAM,IAC7Bc,EAAkBh1jB,EAAOuniB,EAAe,SAAAqQ,GAAM,OAAIA,IAAWmd,EAAY,CAAC,GAC1EE,EAAeJ,EAASX,EAAO7tgC,KAAKgB,IAAIooF,EAAM4k7B,UAAWj31B,EAAY431B,EAAkBD,EAAY,EAAIA,GACvGG,EAAmBxT,GAAyBuT,GAClD,OAAOH,EAASG,EAAc5ugC,KAAKgB,IAAIooF,EAAM2k7B,UAAWh31B,EAAY69lB,EAAYi6P,EAAkB5xqB,GACpG,EAEM6xqB,GAAa,SAAC3qlB,EAAMvF,EAAK7mG,EAAKzuR,GAClC,IACMyl9B,EAAW1ge,EAAM/kf,EADLwx8B,GAAQ32kB,EAAKvF,GAAM7mG,GACQ79O,SACvCsn5B,EAAar9jB,EAAKvF,GACxB,OAAOuF,EAAKric,OAAS,GAAKk5gC,GAAWxZ,GAAc,IAAMzpqB,EAAM,GAAKg3rB,EAAShU,GAAevZ,EAAYzpqB,EAAM,KAAOA,EAAMypqB,EAAWrkuB,MAAMr7R,OAAS,GAAKithC,EAAShU,GAAevZ,EAAYzpqB,EAAM,KAAO6mG,EAAM,GAAKmwlB,EAAShU,GAAe52kB,EAAKvF,EAAM,GAAI7mG,KAAS6mG,EAAMuF,EAAKric,OAAS,GAAKithC,EAAShU,GAAe52kB,EAAKvF,EAAM,GAAI7mG,IACxU,EAsCMi3rB,GAA+B,SAACC,EAAc3p/B,EAAM479B,GAAa,OAAKl5K,EAASk5K,EAAe,SAAAguB,GAAM,OAAIA,GAAUD,EAAah2vB,QAAUi2vB,GAAUlU,GAAW11+B,EAAK,IAAM2p/B,EAAah2vB,MAAM,EAAE,EAC9Ly9kB,GAAU,SAACu4K,EAAcpB,EAAOC,EAAO921B,EAAW1tH,GACtD,IAAM437B,EAAgBma,GAAyBwS,GACzCsB,EAbqB,SAACC,EAAqBjrlB,EAAM+8jB,GACvD,IAAMmuB,EAAgBrU,GAAW72kB,EAAK,IAChCmrlB,EAAqBrU,GAAmB92kB,GAAMp2J,KAAKjsS,OAASsthC,EAAoBxwlB,IAChF2wlB,EAAuBnW,EAAQiW,EAAgBD,EAAoBn2vB,OAAQ,SAAA1pO,GAAG,OAAIA,EAAM6/9B,EAAoBn2vB,MAAM,GAClHu2vB,EAAkBj5P,EAAOg5P,EAAsB,SAAAhg+B,GAAG,OAAImorB,EAAOwpR,EAAe,SAAAnpqB,GAAG,OAAIA,IAAQxoS,CAAG,EAAC,GAAEkjrB,MAAM48S,EAAgB,GAC7H,MAAO,CACLzwlB,IAAK0wlB,EACLr2vB,OAAQu2vB,EAEZ,CAI4BC,CAAqBR,EAAcpB,EAAO3sB,GAC9DwuB,EAAYzU,GAAmB6S,GAAOxo/B,KACtCqq/B,EAA4BX,GAA6BG,EAAmBO,EAAWxuB,GACvF39/B,EAhHQ,SAAC0rhC,EAAcpB,EAAOC,GACpC,GAAImB,EAAarwlB,KAAOivlB,EAAM/rhC,QAAUmthC,EAAah2vB,OAAS+hvB,GAAW6S,EAAM,IAC7E,OAAOxhO,GAAOhszB,MAAM,mDAAqD4uhC,EAAarwlB,IAAM,aAAeqwlB,EAAah2vB,QAE1H,IAAM22vB,EAAe/B,EAAM31gC,MAAM+2gC,EAAarwlB,KACxCixlB,EAAeD,EAAa,GAAGzyvB,MAAMjlR,MAAM+2gC,EAAah2vB,QACxD62vB,EAAc9U,GAAW8S,EAAM,IAC/BiC,EAAcjC,EAAMhshC,OAC1B,OAAOuqzB,GAAO1pzB,MAAM,CAClBorhC,SAAU6B,EAAa9thC,OAASiuhC,EAChC/B,SAAU6B,EAAa/thC,OAASguhC,GAEpC,CAoGiBv64B,CAAQ454B,EAAmBtB,EAAO6B,GACjD,OAAOnshC,EAAOkP,IAAI,SAAAojf,GAChB,IAAMzsZ,EAAKv6F,EAAA,GACNgnf,EAAK,CACRm4hB,SAAUn4hB,EAAKm4hB,SAAW2B,EAA0B7thC,SAEhDkuhC,EAAazB,GAAOV,EAAOzk7B,EAAO4tF,GAClC631B,EAAmBxT,GAAyB2U,GAC5CC,EAA+BjB,GAA6BG,EAAmBO,EAAWb,GAChG,OApDgB,SAACI,EAAcpB,EAAO6B,EAAW141B,EAAW1tH,EAAY437B,GAQ1E,IAPA,IAAM6D,EAAWkqB,EAAarwlB,IACxBimkB,EAAWoqB,EAAah2vB,OAGxB4ovB,EAAS9c,EAFK2qB,EAAU5thC,OAGxBgghC,EAASjd,EAFImW,GAAW0U,EAAU,IAEDxuB,EAAcp//B,OAC/CouhC,EAAkBt7P,EAAYssO,EAAejkpB,GAC1C/vT,EAAI638B,EAAU738B,EAAI209B,EAAQ309B,IAEjC,IADA,IAAIij+B,EAAa,EACR54+B,EAAIst9B,EAAUtt9B,EAAIuq+B,EAAQvq+B,IACjC,GAAI24+B,EAAgB34+B,GAClB44+B,QADF,CAIIrB,GAAWjB,EAAO3g+B,EAAG3V,EAAG+xB,IAC1Bgk9B,GAAQO,EAAO9S,GAAe8S,EAAM3g+B,GAAI3V,GAAI+xB,EAAY0tH,EAAUssQ,MAEpE,IAAM8slB,EAAgB74+B,EAAIst9B,EAAWsrB,EAC/B1M,EAAU3I,GAAQ4U,EAAUxi+B,EAAI638B,GAAWqrB,GAC3CC,EAAa5M,EAAQvp6B,QACrB63B,EAAcilD,EAAUj0K,QAAQstgC,GACtCxV,GAAWgT,EAAM3g+B,GAAI3V,EAAGii+B,GAAWzn4B,GAAa,EAAM0x4B,EAAQ/hB,UAR9D,CAWJ,OAAOmsB,CACT,CA0BWyC,CAAYnB,EAAmBa,EAAYN,EAAW141B,EAAW1tH,EAAY2m9B,EACtF,EACF,EACMM,GAAa,SAAC7ihC,EAAOmghC,EAAOC,EAAO921B,EAAW1tH,IA9NlC,SAAC66X,EAAMz2b,EAAO47D,EAAYkh9B,GACtC98gC,EAAQ,GAAKA,EAAQy2b,EAAK,GAAGhnK,MAAMr7R,QACrCko6B,EAAO7le,EAAM,SAAAvF,GAIX,IAHA,IAAM4xlB,EAAW5xlB,EAAIzhK,MAAMzvR,EAAQ,GAC/BoX,EAAS,EACP2rgC,EAAajG,IACZ5rlB,EAAIzhK,MAAMr7R,OAAS4L,EAAQoX,GAAUwkD,EAAWkn9B,EAASt26B,QAAS0kV,EAAIzhK,MAAMzvR,EAAQoX,GAAQo1F,UACjG2g6B,GAAWj8kB,EAAKlxb,EAAQoX,EAAQ00/B,GAAWiX,GAAY,EAAM7xlB,EAAIzhK,MAAMzvR,EAAQoX,GAAQ48+B,WACvF58+B,GAEJ,EAGJ,CAkNE4rgC,CAAU7C,EAAOnghC,EAAO47D,EAAY0tH,EAAUssQ,MAC9C,IAAMl6V,EAAQ6k7B,GAAcH,EAAOD,GAC7B8C,EAAgBpC,GAAOT,EAAO1k7B,EAAO4tF,GACrC451B,EAAc3C,GAAcJ,EAAO8C,GACnCE,EAAgBtC,GAAOV,EAAO+C,EAAa551B,GACjD,OAAOxvG,EAAMqp8B,EAAe,SAAC33V,EAAS72rB,GACpC,OAAOm4gC,GAASthV,EAASxrrB,EAAOijhC,EAActuhC,GAAG86R,MACnD,EACF,EACM2zvB,GAAa,SAACpjhC,EAAOmghC,EAAOC,EAAO921B,EAAW1tH,GAClDmk9B,GAAUI,EAAOnghC,EAAO47D,EAAY0tH,EAAUssQ,MAC9C,IAAMiukB,EAAS8J,GAAyBwS,GAClCh4hB,EAAO+3hB,GAAaC,EAAOC,GAC3B1k7B,EAAKv6F,EAAA,GACNgnf,EAAK,CACRm4hB,SAAUn4hB,EAAKm4hB,SAAWzc,EAAOzvgC,SAE7B+uhC,EAAgBtC,GAAOV,EAAOzk7B,EAAO4tF,GAC3C+51B,EAGI9V,GAAmB4V,GAFfG,EAAOD,EAAbhjvB,KACMkjvB,EAAOF,EAAbzr/B,KAEI4r/B,EAAY7V,GAAyBwV,GACrCM,EAAavD,GAAaE,EAAOD,GACjC+C,EAAW/hhC,EAAA,GACZsihC,EAAW,CACdnD,SAAUmD,EAAWnD,SAAWkD,EAAUpvhC,SAEtCsvhC,EA3Gc,SAACjtlB,EAAMptQ,EAAYmq0B,GAAa,OAAK156B,EAAM28W,EAAM,SAAAvF,GACrE,OAAO21V,EAAM2sO,EAAe,SAAClk6B,EAAKky7B,GAChC,IAAMmC,EAAWnD,GAAiB,EAAGtvlB,EAAK7nQ,EAAYkmL,GAAQ,GAC9D,OAAO29pB,GAAQ596B,EAAKky7B,EAAQmC,EAC9B,EAAGzylB,EACL,EAAG,CAsGmB0ylB,CAAcxD,EAAO921B,EAAWk61B,GAC9CP,EAAgBpC,GAAO6C,EAAaR,EAAa551B,GACvD,MAAM,GAANlyL,OAAAwuB,EAAW09/B,GAAO19/B,EAAK29/B,EAAQ/4gC,MAAM,EAAGxK,IAAM4lB,EAAKq9/B,GAAar9/B,EAAK29/B,EAAQ/4gC,MAAMxK,EAAOujhC,EAAQnvhC,SACpG,EAGMyvhC,GAAc,SAACptlB,EAAMz2b,EAAO8jhC,EAASlo9B,EAAYkh9B,GACrD,IAAAiH,EAGIxW,GAAmB92kB,GAFrB7+Z,EAAIms/B,EAAJns/B,KACAyoQ,EAAI0jvB,EAAJ1jvB,KAEI55I,EAAS7uH,EAAKptB,MAAM,EAAGxK,GACvBg7S,EAAQpjR,EAAKptB,MAAMxK,GACnBgkhC,EARS,SAAC9ylB,EAAKu8kB,EAAW7x8B,EAAYkh9B,GAAY,OAAKz5gC,GAAM6tb,EAAK,SAAAnyQ,GAAI,OAAI+91B,EAAa/91B,EAAMnjH,EAAW,EAAE6x8B,EAAW,CAQ5GD,CAAS51+B,EAAKks/B,GAAU,SAAC5j/B,EAAI2J,GAG1C,OAFmB7pC,EAAQ,GAAKA,EAAQ43B,EAAKxjC,QAAUwnE,EAAWyx8B,GAAez1+B,EAAK53B,EAAQ,GAAI6pC,GAAIwj+B,GAAez1+B,EAAK53B,GAAQ6pC,IACzGuj+B,GAAQx1+B,EAAK53B,GAAQ6pC,GAAKii+B,GAAWgR,EAAa58+B,EAAGssE,QAAS5wC,IAAa,EAAM17B,EAAG8z9B,SAE/G,EAAGp47B,EAAYkh9B,GACf,MAAM,GAAN1lhC,OAAAwuB,EAAWy6Q,GAAIz6Q,EAAK6gI,GAAM,CAAEu93B,GAAMp+/B,EAAKo1R,GACzC,EASMipuB,GAAiB,SAACxtlB,EAAMz2b,EAAO8jhC,EAASlo9B,EAAYkh9B,GAAY,OAAKhj8B,EAAM28W,EAAM,SAAAvF,GACrF,IAAMgzlB,EAAalkhC,EAAQ,GAAKA,EAAQstgC,GAAWp8kB,IAAQt1X,EAAWyx8B,GAAen8kB,EAAKlxb,EAAQ,GAAIqtgC,GAAen8kB,EAAKlxb,IACpH6rD,EAVc,SAACqlY,EAAK3lK,EAAQ2sK,EAASgslB,EAAYJ,EAASlo9B,EAAYkh9B,GAC5E,GAAgB,aAAZ5klB,GAA2BgslB,EAI7B,OAAO9W,GAAQl8kB,EAAK3lK,GAHpB,IAAMqqK,EAAOw3kB,GAAQl8kB,EAAK4ylB,GAC1B,OAAOhY,GAAWgR,EAAalnlB,EAAKppV,QAAS5wC,IAAa,GAAM,EAIpE,CAGcuo9B,CAAcjzlB,EAAKlxb,EAAOkxb,EAAIgH,QAASgslB,EAAYJ,EAASlo9B,EAAYkh9B,GACpF,OAAO5P,GAAQh8kB,EAAKlxb,EAAO6rD,EAC7B,EAAG,EAgBGu49B,GAAmB,SAAC3tlB,EAAM3oK,EAAU2muB,EAAU747B,GAAU,OAFxC,SAAC66X,EAAM3oK,EAAU2muB,EAAU747B,GAAU,YAAkDtgE,IAA7C+xgC,GAAe52kB,EAAK3oK,GAAW2muB,IAA2B3muB,EAAW,GAAKlyN,EAAWyx8B,GAAe52kB,EAAK3oK,EAAW,GAAI2muB,GAAW4Y,GAAe52kB,EAAK3oK,GAAW2muB,GAAW,CAE1K4vB,CAAc5tlB,EAAM3oK,EAAU2muB,EAAU747B,IADlF,SAACs1X,EAAKlxb,EAAO47D,GAAU,OAAK57D,EAAQ,GAAK47D,EAAWyx8B,GAAen8kB,EAAKlxb,EAAQ,GAAIqtgC,GAAen8kB,EAAKlxb,GAAQ,CACfskhC,CAAiB7tlB,EAAK3oK,GAAW2muB,EAAU747B,EAAY,EAe3K2o9B,GAAiB,SAACC,EAAY5ulB,EAAMmkd,EAAU0qI,GAClD,IACMp2kB,EAAW,SAAA9sI,GAAK,OADN,SAAAA,GAAK,MAAc,QAAVA,EAAkB+qsB,GAAW12kB,GAAQw2kB,GAAWx2kB,EAAM,CACrDstkB,CAAQ3hsB,GAAS,GAAGnqU,OAAOmqU,EAAO,SAAWA,CAAM,EAC7E,OAAIijtB,EACK5oB,GAAahmkB,GAAQyY,EAAS0rc,GAAY,KACxC0qI,GAAc7oB,GAAahmkB,GAE7ByY,EAD4B,QAAb0rc,EAAqB,MAAQ,OAG5C,IAEX,EAGM1k4B,GAAU,SAACugb,EAAMh6X,EAAYmn9B,GAAU,OAAKjX,GAAWiX,EAAWntlB,EAAKppV,QAAS5wC,IAAa,EAAMg6X,EAAKo+jB,SAAU,EAClH0wB,GAAY,SAACjulB,EAAMlsV,EAAS3uC,EAAYmn9B,EAAY3v+B,EAAUux+B,EAAUC,GAM5E,OAAO9q8B,EAAM28W,EAAM,SAACvF,EAAKpjK,GACvB,OAn2Ea,SAAC09Z,EAASzwrB,GACzB,IAAM00R,EAAQ+7Z,EAAQ/7Z,MAChBjwO,EAAIs6B,EAAM21M,EAAO10R,GACvB,OAAOgxgC,GAASvgV,EAAQh/kB,QAAShtD,EAAGgsoB,EAAQtzP,QAASszP,EAAQnnmB,MAC/D,CA+1EWwg8B,CAAS3zlB,EAAK,SAAC0E,EAAM6+jB,GAC1B,GAPa,SAAA7+jB,GACf,OAAOq2B,EAAO1hX,EAAS,SAAA7rG,GACrB,OAAOk9D,EAAWg6X,EAAKppV,QAAS9tG,EAAO8tG,QACzC,EACF,CAGQmnxB,CAAS/9b,GAAO,CAClB,IAAMmglB,EAAU6O,EAAchvlB,EAAM9nK,EAAU2muB,GAAYrh9B,EAASwiZ,EAAMh6X,EAAYmn9B,GAAcntlB,EAMnG,OALA+ulB,EAAS5O,EAASjovB,EAAU2muB,GAAUlj8B,KAAK,SAAAgwQ,IA3xGhC,SAAC/0N,EAASmuL,GAC3BokoB,GAAOpkoB,EAAO,SAAClgP,EAAG1H,GAChB0H,EAAE4rrB,KAAK,WACLkoD,GAAS/hrB,EAASz5D,EACpB,EAAG,SAAA99C,GACDq4xB,GAAO9grB,EAAQuoW,IAAKhia,EAAG99C,EACzB,EACF,EACF,CAoxGU6vhC,CAAW/O,EAAQvp6B,QAAS,CAC1B+0N,MAAOokd,EAASxquB,KAAKomR,IAEzB,GACOw0sB,CACT,CACE,OAAOnglB,CAEX,EACF,EACF,EACMmvlB,GAAiB,SAACnt/B,EAAM489B,EAAa547B,GAAU,OAAKs2tB,EAAOt6vB,EAAM,SAACs5Z,EAAKv8b,GAC3E,OAAOyvhC,GAAiBxs/B,EAAMjjC,EAAG6//B,EAAa547B,GAAc,GAAK,CAACwx8B,GAAQl8kB,EAAKsjkB,GACjF,EAAG,EAOGwwB,GAAiB,SAACvulB,EAAMorH,EAAS2ie,EAAY5o9B,EAAYkh9B,GAC7D,IAAMll/B,EAAO21+B,GAAmB92kB,GAAM7+Z,KAChC2yE,EAAU2nrB,EAAOrwO,EAAS,SAAA7hjB,GAAK,OAAI+khC,GAAent/B,EAAM53B,EAAO47D,EAAW,GAC1Eqp9B,EAAanr8B,EAAMliD,EAAM,SAAAs5Z,GAAG,OAAI6qkB,GAAc7qkB,EAAIzhK,MAAM,GACxDy1vB,EAzDuB,SAACC,EAAcF,GAE5C,OAD4Bj7S,EAAOi7S,EAAY7/7B,IAAa226B,GAAcopB,GAC7C51qB,EAAS,SAACqmF,EAAM9nK,EAAUs3vB,GAErD,QAAkB,OADL3yhC,GAAKmjc,EAAKppV,UACGy46B,EAAWn3vB,GACvC,CACF,CAmD4Bu3vB,CAAuB966B,EAAS066B,GACpDK,EAtCqB,SAACd,EAAYS,GAAU,OAAK,SAACrvlB,EAAM9nK,GAAQ,OAAK63f,EAASpyvB,KAAKgx/B,GAAeC,EAAY5ulB,EAAKppV,QAAS,MAAOy46B,EAAWn3vB,IAAY,CAAD,CAsCxIy3vB,CAAqBf,EAAYS,GACxD,OAAOP,GAAUjulB,EAAMlsV,EAAS3uC,EAAYkh9B,EAAczngC,GAASiwgC,EAAgBJ,EACrF,EACMM,GAAc,SAAC/ulB,EAAMorH,EAAS3pH,EAASsslB,EAAY5o9B,EAAYkh9B,EAAcuC,GACjF,IAAAoG,EAGIlY,GAAmB92kB,GAFrBp2J,EAAIolvB,EAAJplvB,KACAzoQ,EAAI6t/B,EAAJ7t/B,KAEI8t/B,EAAY9t/B,EAAKiqhB,EAAQ,IACzBt3c,EAAU2nrB,EAAOrwO,EAAS,SAAA7hjB,GAAK,OApBnB,SAAC43B,EAAMk2P,EAAUlyN,GACnC,IAAM8p9B,EAAY9t/B,EAAKk2P,GACvB,OAAOokgB,EAAOwzP,EAAUj2vB,MAAO,SAAChrQ,EAAM9vB,GACpC,OAAOyvhC,GAAiBxs/B,EAAMk2P,EAAUn5R,EAAGinE,GAAc,GAAK,CAACn3C,EACjE,EACF,CAe2CkhgC,CAAY/t/B,EAAM53B,EAAO47D,EAAW,GACvEgq9B,EAAgB9r8B,EAAM4r8B,EAAUj2vB,MAAO,SAACo2vB,EAAO7lhC,GAAK,OAAK+7/B,GAAcgpB,GAAent/B,EAAM53B,EAAO47D,GAAY,GAC/G2jyB,EAAO350B,EAAOgS,GACpB0k4B,EAAOz6W,EAAS,SAAA7hjB,GACdu/1B,EAAQv/1B,GAASq/gC,EAAatC,aAAanl/B,EAAK53B,GAAQk4b,EAC1D,GACA,IAAM4tlB,EAAO,GAAA1uhC,OAAAwuB,EAAOy6Q,GAAIz6Q,EAAK250B,IACvB2lL,EAjFqB,SAACQ,EAAWE,GAEvC,OAD4B57S,EAAO47S,EAAexg8B,IAAa226B,GAAc2pB,EAAUj2vB,OAC1D8/E,EAAS,SAACqmF,EAAMmwlB,EAAWtxB,GAEtD,QAAkB,OADLhigC,GAAKmjc,EAAKppV,UACGo56B,EAAcnxB,GAC1C,CACF,CA2E4BuxB,CAAqBN,EAAWE,GACpDN,EAxDkB,SAACd,EAAYoB,GAAa,OAAK,SAAChwlB,EAAM9nK,EAAU0muB,GAAW,OAAK7uO,EAASpyvB,KAAKgx/B,GAAeC,EAAY5ulB,EAAKppV,QAAS,MAAOo56B,EAAcpxB,IAAe,CAAD,CAwD3JyxB,CAAkBzB,EAAYoB,GACrD,OAAOlB,GAAUoB,EAASv76B,EAAS3uC,EAAYkh9B,EAAcuC,EAAaxC,cAAeyI,EAAgBJ,EAC3G,EACMgB,GAAe,SAACzvlB,EAAMh8I,EAAS7+O,EAAYkh9B,GAC/C,IAAMll/B,EAAO21+B,GAAmB92kB,GAAM7+Z,KAChCuu/B,EAAcrs8B,EAAM2gO,EAAS,SAAA16O,GAAM,OAAIqt8B,GAAQx1+B,EAAKmoC,EAAOmxX,KAAMnxX,EAAOwrN,OAAO,GACrF,OAAOm5vB,GAAUjulB,EAAM0vlB,EAAavq9B,EAAYkh9B,EAAczngC,GAASswwB,EAAS/gX,KAAMr1D,EACxF,EAiEMsvc,GA/DW,SAAAC,GACf,IAAKx0yB,EAAQw0yB,GACX,MAAM,IAAIxpzB,MAAM,0BAElB,GAAqB,IAAjBwpzB,EAAM1qzB,OACR,MAAM,IAAIkB,MAAM,mCAElB,IAAMoyuB,EAAe,GACfq3E,EAAM,CAAC,EAqDb,OApDAu9G,EAAOx9G,EAAO,SAACE,EAAOl/yB,GACpB,IAAMgtC,EAASvzC,GAAKylzB,GACpB,GAAsB,IAAlBlywB,EAAO14C,OACT,MAAM,IAAIkB,MAAM,kCAElB,IAAM4B,EAAM41C,EAAO,GACb73C,EAAQ+pzB,EAAM9nzB,GACpB,QAAiBoE,IAAbyjzB,EAAI7nzB,GACN,MAAM,IAAI5B,MAAM,0BAA4B4B,GACvC,GAAY,SAARA,EACT,MAAM,IAAI5B,MAAM,yCACX,IAAKgV,EAAQrV,GAClB,MAAM,IAAIK,MAAM,mCAElBoyuB,EAAahuuB,KAAKxC,GAClB6nzB,EAAI7nzB,GAAO,WAAc,IAAD,IAAAkvhC,EAAAxuhC,UAAAxD,OAATuV,EAAI,IAAAU,MAAA+7gC,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJ18gC,EAAI08gC,GAAAzuhC,UAAAyuhC,GACjB,IAAMlnO,EAAYx1yB,EAAKvV,OACvB,GAAI+qzB,IAAclqzB,EAAMb,OACtB,MAAM,IAAIkB,MAAM,qCAAuC4B,EAAM,cAAgBjC,EAAMb,OAAS,KAAOa,EAAQ,UAAYkqzB,GAezH,MAAO,CACL94E,KAAM,WAAkB,IAAD,IAAAigT,EAAA1uhC,UAAAxD,OAAbirzB,EAAQ,IAAAh1yB,MAAAi8gC,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAARlnO,EAAQknO,GAAA3uhC,UAAA2uhC,GAChB,GAAIlnO,EAASjrzB,SAAW0qzB,EAAM1qzB,OAC5B,MAAM,IAAIkB,MAAM,+CAAiDwpzB,EAAM1qzB,OAAS,SAAWirzB,EAASjrzB,QAGtG,OADeirzB,EAASv/yB,GACVlC,MAAM,KAAM+L,EAC5B,EACApT,MArBY,SAAAgpzB,GACZ,IAAMC,EAAajmzB,GAAKgmzB,GACxB,GAAI73E,EAAatzuB,SAAWorzB,EAAWprzB,OACrC,MAAM,IAAIkB,MAAM,iDAAmDoyuB,EAAahmrB,KAAK,KAAO,aAAe89vB,EAAW99vB,KAAK,MAK7H,IAHgBsorB,EAAOtC,EAAc,SAAA+3E,GACnC,OAAOn5B,EAAWk5B,EAAYC,EAChC,GAEE,MAAM,IAAInqzB,MAAM,gEAAkEkqzB,EAAW99vB,KAAK,MAAQ,eAAiBgmrB,EAAahmrB,KAAK,OAE/I,OAAO69vB,EAASrozB,GAAK0G,MAAM,KAAM+L,EACnC,EAUEi5C,IAAK,SAAAn9B,GACH/yB,QAAQkwD,IAAIn9B,EAAO,CACjBiitB,eACAvyrB,YAAaj+C,EACbk9E,OAAQzqE,GAEZ,EAEJ,CACF,GACOo1yB,CACT,EAKMynO,GAAQ3nO,GAAa,CAAC,CAC1Bj6Y,KAAM,IACL,CACDm8R,KAAM,CAAC,UACN,CACDnvrB,KAAM,CAAC,QAAS,SACf,CACDsz0B,OAAQ,CAAC,OAAQ,QAAS,SACzB,CACDrz0B,MAAO,CAAC,OAAQ,YAEZ40gC,GAAatlhC,EAAA,GACdqlhC,IAqBCE,GAAY,SAACht9B,EAAO6xN,EAAQlzO,EAAMg69B,EAAWti/B,GACjD,IAAMl6B,EAAS6jE,EAAMlvD,MAAM,GACrBmP,EApBW,SAAC+/C,EAAO15D,GACzB,OAAqB,IAAjB05D,EAAMtlE,OACDqyhC,GAAc7hnB,OAEF,IAAjBlrW,EAAMtlE,OACDqyhC,GAAc1lV,KAAK,GAEd,IAAV/gsB,EACKymhC,GAAc70gC,KAAK,EAAG,GAE3B5R,IAAU05D,EAAMtlE,OAAS,EACpBqyhC,GAAc50gC,MAAM7R,EAAQ,EAAGA,GAEpCA,EAAQ,GAAKA,EAAQ05D,EAAMtlE,OAAS,EAC/BqyhC,GAAcvhM,OAAOll1B,EAAQ,EAAGA,EAAOA,EAAQ,GAEjDymhC,GAAc7hnB,MACvB,CAGkB+hnB,CAAWjt9B,EAAO6xN,GAC5Bq6f,EAASrmO,EAASzle,EAAMjkF,EAAQ0pjB,EAAS,KAK/C,OAAO5liB,EAAQ0stB,KAAKu/C,EAJL,SAAA5lxB,GAAK,OAAIqygC,EAAUQ,kBAAkBh9gC,EAAOmK,GAAQq4C,EAAM,EAC1D,SAACr4C,EAAOgC,GAAI,OAAK+tB,EAAO0r/B,mBAAmB5lhC,EAAQmK,EAAOgC,EAAMq2C,EAAMg69B,EAAUC,eAAgBD,EAAUW,WAAY,EACpH,SAACjxgC,EAAM/B,EAAOgC,GAAI,OAAK+tB,EAAO+r/B,iBAAiBjmhC,EAAQkM,EAAM/B,EAAOgC,EAAMq2C,EAAMg69B,EAAUC,eAAgBD,EAAUW,WAAY,EACjI,SAACjxgC,EAAM/B,GAAK,OAAK+vB,EAAOis/B,oBAAoBnmhC,EAAQkM,EAAM/B,EAAOq4C,EAAMg69B,EAAUC,eAAgBD,EAAUW,WAAY,EAEzI,EAEMtz8B,GAAQ,SAACz1D,EAAOC,EAAK08gC,GAEzB,IADA,IAAIpn+B,EAAI,EACC7qD,EAAIsV,EAAOtV,EAAIuV,EAAKvV,IAC3B6qD,QAAqBlkD,IAAhBsrhC,EAASjyhC,GAAmBiyhC,EAASjyhC,GAAK,EAEjD,OAAO6qD,CACT,EAoBMqn+B,GAA4B,SAACtzB,EAAWuzB,GAC5C,IAAMxlhC,EAAMyz/B,GAAUkZ,UAAU1a,GAChC,OAAOz56B,EAAMx4E,EAAK,SAAAs0b,GAChB,IAAMnhb,EAASirD,GAAMk2X,EAAK1E,IAAK0E,EAAK1E,IAAM0E,EAAKmI,QAAS+olB,GACxD,MAAO,CACLt66B,QAASopV,EAAKppV,QACd/3F,SACAspb,QAASnI,EAAKmI,QAElB,EACF,EAWMugL,GAAc,SAACi1Y,EAAWwzB,GAC9B,OAAIhyB,GAAUoZ,WAAW5a,GA9BQ,SAACA,EAAWwzB,GAC7C,IAAMttW,EAASs7U,GAAUmZ,YAAY3a,GACrC,OAAOz56B,EAAM2/lB,EAAQ,SAACluZ,EAAQvrR,GAAK,MAAM,CACvCwsG,QAAS++K,EAAO/+K,QAChBj4F,MAAOwygC,EAAO/mhC,GACdy/1B,QAASl0kB,EAAOk0kB,QACjB,EACH,CAwBWunL,CAA2BzzB,EAAWwzB,GA1ChB,SAACxzB,EAAWwzB,GAC3C,IAAMzlhC,EAAMyz/B,GAAUkZ,UAAU1a,GAChC,OAAOz56B,EAAMx4E,EAAK,SAAAs0b,GAChB,IAAMrhb,EAAQmrD,GAAMk2X,EAAKrqK,OAAQqqK,EAAKrqK,OAASqqK,EAAK6pa,QAASsnL,GAC7D,MAAO,CACLv66B,QAASopV,EAAKppV,QACdj4F,QACAkr1B,QAAS7pa,EAAK6pa,QAElB,EACF,CAkCWwnL,CAAyB1zB,EAAWwzB,EAE/C,EACMG,GAAsB,SAAC3zB,EAAWwzB,EAAQ1U,GAC9C,IAAM+J,EAAW99Z,GAAYi1Y,EAAWwzB,GACxCzqH,EAAO8/G,EAAU,SAAAxmlB,GACfy8kB,EAAUS,gBAAgBl9kB,EAAKppV,QAASopV,EAAKrhb,MAC/C,EACF,EACM4ygC,GAAc,SAAC1p/B,EAAOi+D,EAAO17F,EAAOy/gC,EAAUpN,GAClD,IAAM9e,EAAYwB,GAAU+Y,UAAUrw+B,GAChC4a,EAAOg69B,EAAUO,aAAal36B,GAC9Bqr7B,EAAS1U,EAAUM,UAAUpf,EAAW8e,GACxCiK,EAAet8gC,IAAUuz/B,EAAU98jB,KAAK33M,QAAU,EAClDsoyB,EAAc3H,EAAS5D,gBAAgBkL,EAAQ/mhC,EAAOq4C,EAAMg69B,EAAUC,eAAgBgK,GACtF+K,EAASX,GAAUK,EAAQ/mhC,EAAOonhC,EAAa/U,EAAWoN,GAC1D6H,EAAYxt8B,EAAMut8B,EAAQ,SAACx8f,EAAIl2hB,GAAC,OAAKk2hB,EAAKk8f,EAAOpyhC,EAAE,GACzDuyhC,GAAoB3zB,EAAW+zB,EAAWjV,GAC1CoN,EAASnE,YAAYjJ,EAAUU,iBAAkBqU,EAAa9K,EAChE,EACMv8uB,GAAe,SAACtiQ,EAAOi+D,EAAO17F,EAAO0S,GACzC,IAAM6g/B,EAAYwB,GAAU+Y,UAAUrw+B,GAChCqp/B,EAzmEgB,SAACvzB,EAAW919B,EAAO/qB,GACzC,OAAO6//B,GAAchf,EAAW919B,EAAO/qB,EAAWo3+B,GAAW,SAAAqoB,GAC3D,OAAOA,EAAQ3pS,WAAWlie,GAC5B,EACF,CAqmEkBihxB,CAAgBh0B,EAAW919B,EAAO/qB,GAC5C80gC,EAAa1t8B,EAAMgt8B,EAAS,SAACh8f,EAAIn2hB,GAAC,OAAKqL,IAAUrL,EAAI2d,KAAKiL,IAAIm+E,EAAQovb,EAAIxkR,MAAewkR,CAAE,GAC3F28f,EAAeZ,GAA0BtzB,EAAWi0B,GACpDE,EAvCe,SAACn0B,EAAWuzB,GACjC,OAAOht8B,EAAMy56B,EAAUjy/B,IAAK,SAAC4vb,EAAKv8b,GAChC,MAAO,CACL63G,QAAS0kV,EAAI1kV,QACb/3F,OAAQqygC,EAAQnyhC,GAEpB,EACF,CAgCsBgzhC,CAAep0B,EAAWi0B,GAC9ClrH,EAAOorH,EAAa,SAAAx2lB,GAClB64jB,GAAU74jB,EAAI1kV,QAAS0kV,EAAIz8a,OAC7B,GACA6n5B,EAAOmrH,EAAc,SAAA7xlB,GACnBm0jB,GAAUn0jB,EAAKppV,QAASopV,EAAKnhb,OAC/B,GACA,IAAMirD,EArCiBkntB,EAqCH4gQ,EArCkB,SAACrshC,EAAGD,GAAC,OAAKC,EAAID,CAAC,EAAE,GAsCvD6u/B,GAAUts9B,EAAOiiC,EACnB,EAkBMko9B,GAAgB,SAAAntuB,GAKpB,OAAOose,EAAMpse,EAJO,SAACr9K,EAAMr9D,GAEzB,OADqBksZ,EAAO7uV,EAAM,SAAAyq5B,GAAa,OAAIA,EAAct8vB,SAAWxrN,EAAOwrN,MAAM,GACnEnuJ,EAAOA,EAAKhmI,OAAO,CAAC2oE,GAC5C,EACmC,IAAI9kE,KAAK,SAACy8/B,EAASC,GAAO,OAAKD,EAAQnsuB,OAASosuB,EAAQpsuB,MAAM,EACnG,EAEMu8vB,GAAQz6P,GAAM,OACd06P,GAAa16P,GAAM,YACnB26P,GAAU,SAAAx76B,GAAO,MAAsB,OAAlB/5G,GAAK+5G,IAAqBu76B,GAAWv76B,EAAS,EACnEy76B,GAAgB,SAAAz76B,GAGpB,MAAO,CACLA,UACAizvB,QAJcizJ,GAAalm5B,EAAS,UAAW,GAK/CuxV,QAJc20jB,GAAalm5B,EAAS,UAAW,GAMnD,EAmEM076B,GAAoB,SAAAtylB,GAAI,OAAI83V,GAAO93V,EAAM,SAAS7wb,IAAI,SAAA2L,GAAS,OAAIA,EAAUs1C,OAAO,EAAG,EAAE,EAAE,EAwC3Fmi+B,GA1Ge,SAAC9+1B,GAAwC,IAA5B++1B,EAAMxwhC,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAGqwhC,GAGnC7khC,EAAM,SAAAopG,GACV,GAAIw76B,GAAQx76B,GACV,OAHkBu76B,IAARhuhC,EAGG,CACXyyG,YAJgCA,SAAW68E,EAAW8wQ,SAASpgc,GAAQsvL,EAAW6nQ,IAAIn3b,GAOxF,IAPUA,EAOJ67b,EAAOppV,EACP63B,EATK,SAAAtqI,GAAI,OAAI+thC,GAAM/thC,EAAKyyG,SAAW68E,EAAWghK,IAAItwV,GAAQsvL,EAAWusQ,KAAK77b,EAAM,CASlEsuhC,CAAOD,EAAOxylB,IAKlC,OAJA0ylB,EAAS3iQ,EAASpyvB,KAAK,CACrB9O,KAAMmxa,EACNvxT,gBAEKA,CAEX,EACIik5B,EAAS3iQ,EAAS/gX,OAQtB,MAAO,CACL2jnB,UARgB,SAAC/76B,EAAS5wC,GAC1B,OAAO0s9B,EAAOjiT,KAAK,WACjB,OAAOjjuB,EAAIopG,EACb,EAAG,SAAAl4G,GACD,OAAOsnE,EAAW4wC,EAASl4G,EAAEmwB,MAAQnwB,EAAE+vI,YAAcjhI,EAAIopG,EAC3D,EACF,EAIF,EA6EM276B,GA5Ec,SAAAj6+B,GAClB,OAAO,SAAAm7I,GACL,IAAMvjK,EAAO,GAMP0igC,EAAU,SAAAh86B,GACd,IAAMmuL,EAAgB,OAARzsP,EAAe,CAC3BqzR,MAAO,MACL,CAAC,EACCq0H,EAAOvsQ,EAAWh0K,QAAQm3F,EAASt+D,EAAKysP,GAK9C,OAJA70Q,EAAKpsB,KAAK,CACR+qB,KAAM+nF,EACN3gD,IAAK+pY,IAEAA,CACT,EAaA,MAAO,CACL6ylB,cAboB,SAACj86B,EAAS5wC,GAC9B,GAAIos9B,GAAQx76B,IAAYs76B,GAAMt76B,GAC5B,OAAOA,EAEP,IAAMopV,EAAOppV,EACb,OArBS,SAACA,EAAS5wC,GACrB,OAAOittB,EAAO/iwB,EAAM,SAAApb,GAClB,OAAOkxD,EAAWlxD,EAAE+Z,KAAM+nF,EAC5B,EACF,CAiBW9nF,CAAKkxa,EAAMh6X,GAAYyqqB,KAAK,WACjC,OAAOmiT,EAAQ5ylB,EACjB,EAAG,SAAAthc,GACD,OAAOsnE,EAAW4wC,EAASl4G,EAAEmwB,MAAQnwB,EAAEu3D,IAAM289B,EAAQ5ylB,EACvD,EAEJ,EAIF,CACF,EAyCMuylB,GAvCU,SAAA9+1B,GAkCd,MAAO,CACLu21B,QAlCc,SAAAhqlB,GACd,IAAMr0H,EAAQ2mtB,GAAkBtylB,GAEhC,OADAr0H,EAAMhwQ,KAAK,SAAA7gD,GAAS,OAAImgxB,GAAMj7V,EAAM,QAASllb,EAAU,GAChD,WACL,IAAMs4c,EAAM3/R,EAAWusQ,KAAK,CAC1BppV,QAASopV,EACT6pa,QAAS,EACT1ha,QAAS,IAKX,OAHA0zV,GAASzoU,EAAK,SACdyoU,GAAS77V,EAAM,SACfr0H,EAAMhwQ,KAAK,SAAA7gD,GAAS,OAAImgxB,GAAM7nU,EAAK,QAASt4c,EAAU,GAC/Cs4c,CACT,CACF,EAqBElkb,MApBY,SAAA2qP,GAgBZ,OAFAgigB,GAAShigB,EAAM,GAAI,SAbM,WACvB,IAAMi5vB,EAAmBz5H,GAAIn10B,EAAM21M,EAAOy4vB,KAC1C,GAAgC,IAA5BQ,EAAiBt0hC,OACnB,OAAOuxxB,EAAS/gX,OAEhB,IAAM+jnB,EAAYD,EAAiB,GAC7BjuL,EAAS,CAAC,MAAO,OAIvB,OAHgBxuY,EAAOy8jB,EAAkB,SAAAh4gC,GACvC,OAAOA,IAAci4gC,GAAariQ,EAAWm0E,EAAQ/p1B,EACvD,GACiBi1wB,EAAS/gX,OAAS+gX,EAASxquB,KAAKwt+B,EAErD,CAEAC,GAAmBviT,KAAK,kBAAMkoD,GAAS9+f,EAAM,GAAI,QAAQ,EAAE,SAAA/+Q,GAAS,OAAImgxB,GAAMphgB,EAAM,GAAI,QAAS/+Q,EAAY,QAAQ,GAC9G6uiB,EAAS9vR,EAAM,GACxB,EAKF,EAOMo5vB,GAAY,CAAC,OAAQ,IAAK,MAAO,UAAW,QAAS,aAAc,SAAU,SAAU,SAAU,MAAO,UAAW,KAAM,KAAM,QAAS,QAAS,QAAS,QAAS,UAAW,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,aAAc,MAAO,WAazPC,GAAajQ,KACbt9O,GAAU,SAAA/urB,GACd,OAVgB,SAAC84zB,EAAU7g5B,GAC3B,IAAM3G,EAAUwn5B,EAASlv5B,WAAW3jB,KAAKgyB,GACzC,OAAO6hwB,EAAWuiQ,GAAW/qgC,EAC/B,CAOS8uzB,CAAUk8M,GAAYt86B,EAC/B,EACMuprB,GAAS,SAAAvprB,GACb,OAjBe,SAAC84zB,EAAU7g5B,GAC1B,IAAM3G,EAAUwn5B,EAASlv5B,WAAW3jB,KAAKgyB,GACzC,OAAO6hwB,EAAW,CAAC,KAAM,MAAOxowB,EAClC,CAcSirgC,CAASD,GAAYt86B,EAC9B,EACM+hoB,GAAa,SAAA/hoB,GACjB,OAZmB,SAAC84zB,EAAU7g5B,GAC9B,OAAO6hwB,EAAW,CAAC,KAAM,MAAO,KAAM,SAAUg/I,EAASlv5B,WAAW3jB,KAAKgyB,GAC3E,CAUSukgC,CAAaF,GAAYt86B,EAClC,EAEM1nE,GAAQ,SAAA2qP,GACZ,IAAMo9kB,EAAOx/E,GAAM,MAoBb47P,EAAW,SAAArzlB,GACf,OAAO0/W,GAAO1/W,GAAMr7X,KAAK,SAAAs98B,GACvB,IAAMqR,EAZDvuqB,GAYsCk9pB,GAZtB9ygC,IAAI,SAAAokhC,GACzB,QAAI5tP,GAAQ4tP,MAGR56S,GAAW46S,IACiB,QAAvB12hC,GAAK02hC,EAGhB,GAAGpkT,OAAM,GAKP,OAAOjprB,GAAO+79B,GAAW9ygC,IAAI,SAAA+2C,GAC3B,OAA+B,IAAxBot+B,GAlBM,SAAA11/B,GACjB,MAAoB,OAAb/gC,GAAK+gC,IAAgB0/vB,GAAW1/vB,EAAIuiwB,IAAQnxD,QACrD,CAgB6C+gK,CAAW7p1B,IAAW+wzB,EAAKgrK,IAAct8O,GAAQz/uB,KAAY8ouB,GAAKhvV,EAAM95Y,GAAU,GAAK,CAAC6yuB,GAAazpD,QAAQ,MACtJ,EACF,GAAGH,MAAM,GACX,EAQM/2a,EAPc,WAClB,IAAMvzS,EAAUy3wB,EAAOzigB,EAAO,SAAAmmK,GAC5B,IAAM/iX,EAAW8o2B,GAAW/lf,GAC5B,OA9Be,SAAA/iX,GACjB,OAAOm3pB,EAAOn3pB,EAAU,SAAAhpC,GACtB,OAAOgj0B,EAAKhj0B,IAAMkxU,GAAOlxU,IAAiC,IAA3B8nvB,GAAM9nvB,GAAG+iB,OAAOx4D,MACjD,EACF,CA0BWg1hC,CAAWv28B,GAAY,GAAKA,EAASz7E,OAAO6xhC,EAASrzlB,GAC9D,GACA,OAA0B,IAAnBn7a,EAAQrmB,OAAe,CAACu6xB,GAAazpD,QAAQ,OAASzqtB,CAC/D,CACiB4ugC,GACjBrs+B,GAAMyyO,EAAM,IACZ3jI,GAAO2jI,EAAM,GAAIu+B,EACnB,EAEMkkf,GAAa,SAAAnznB,GAAI,OAAI+gsB,GAAa/gsB,GAAM,EAAM,EAC9Ci61B,GAAQ,SAAAv7+B,GAES,IADPu19B,GAAQv19B,GACZrpC,QACR88xB,GAASzzvB,EAEb,EACM6r/B,GAAU,SAAC7ylB,EAAMp2b,GAAM,MAAM,CACjCo2b,OACAp2b,SACD,EAKKkphC,GAAkB,SAAC9ylB,EAAMvF,EAAK3lK,GAClC,IAAI9sO,EAAIigU,EACF9mV,EAAO21+B,GAAmB92kB,GAAM7+Z,KACtC,OAAO+tvB,EAASxquB,KAAuF,QAAjFujU,EAA0B,QAApBjgU,EAAK7mB,EAAKs5Z,UAA8B,IAAZzyY,OAAqB,EAAIA,EAAGgxO,MAAMlE,UAAiC,IAAZmzF,OAAqB,EAAIA,EAAGlyQ,SAAS7/E,OAAOulxB,IAAY9rE,QAAQ,kBAP9I,SAAAxusB,GAAI,OAAIyvvB,GAAQzvvB,EAAM,SAAAs5Z,GAAG,OAAIm2V,GAAQn2V,EAAIzhK,MAAO,SAAAmmK,GACjF,IAAM72Q,EAAO62Q,EAAKppV,QAClB,OAAOigrB,GAAOylB,GAAWnznB,GAAOA,EAClC,EAAE,EAAE,CAImLyq2B,CAA2B5x/B,EAAK,EACvN,EACM+qI,GAAS,SAAC8zR,EAAMvF,EAAK3lK,GACzB,IAAMq0Q,EAAgB2pf,GAAgB9ylB,EAAMvF,EAAK3lK,GACjD,OAAO+9vB,GAAQ7ylB,EAAMmpG,EACvB,EACM6pf,GAAa,SAAAhvuB,GAKjB,OAAOose,EAAMpse,EAJU,SAACr9K,EAAMr9D,GAE5B,OADkBksZ,EAAO7uV,EAAM,SAAAyq5B,GAAa,OAAIA,EAAc32lB,MAAQnxX,EAAOmxX,GAAG,GAC7D9zT,EAAOA,EAAKhmI,OAAO,CAAC2oE,GACzC,EACsC,IAAI9kE,KAAK,SAACy8/B,EAASC,GAAO,OAAKD,EAAQxmkB,IAAMymkB,EAAQzmkB,GAAG,EAChG,EAuEMw4lB,GAAkB,SAACxxlB,EAASsslB,GAAU,OAAK,SAACmF,EAAalvuB,EAAS7+O,EAAYuj9B,EAAaE,GAC/F,IAAMzn/B,EAAO6x/B,GAAWhvuB,GAClBmvuB,EAAa9v8B,EAAMliD,EAAM,SAAAmoC,GAAM,OAAIA,EAAOmxX,GAAG,GAC7C40lB,EAAUN,GAAYmE,EAAaC,EAAY1xlB,EAASsslB,EAAY5o9B,EAAYuj9B,EAAYsJ,cAAepJ,GACjH,OAAO182B,GAAOmj3B,EAASrruB,EAAQ,GAAGy2I,IAAKz2I,EAAQ,GAAGlvB,OACpD,CAAE,EACIs+vB,GAAmBH,GAAgB,SAAS,GAC5CI,GAAiBJ,GAAgB,SAAS,GAC1CK,GAAmBL,GAAgB,SAAS,GAoC5CM,GAAc,SAACpy/B,EAAMyxJ,EAAY1vK,GACrC,IAAMswgC,EA9zGe,SAAC9nb,EAAOjqK,GAAO,OAAK46jB,GAAoB3wZ,EAAO,kBAAMjqK,CAAO,EAAE,CA8zG9DgylB,CAAety/B,EAAMje,EAAQu+a,SAC5Csd,EAAKu/iB,GAAUrg7B,SAASu18B,GAC9B,OAAOn7kB,GAAO0G,EAAInsR,GAAY,EAChC,EA4DMt5J,GAAS,SAAC0N,EAAO3X,EAAM20R,EAAS2kuB,GAAU,OA5Z1B,SAAC+K,EAAQrkgC,EAAMgwd,EAAOu8hB,GAC1C,IAAM9e,EAAYwB,GAAUrg7B,SAAS5uD,GAC/BihgC,EAAS1U,EAAUM,UAAUpf,EAAW8e,GAC9C6U,GAAoB3zB,EAAWwzB,EAAQ1U,EACzC,CAwZqD+X,CAAc3s/B,EAAO3X,EAAM20R,EAAS2kuB,EAAWI,OAAQ,EACtG6K,GAA8B,SAAC5s/B,EAAO3X,EAAM20R,EAAS2kuB,GAAU,OAxa/B,SAAC+K,EAAQrkgC,EAAM20R,EAAS43tB,EAAWiY,GACvE,IAAM/2B,EAAYwB,GAAUrg7B,SAAS5uD,GAC/Bq0Q,EAAQk4uB,EAAUM,UAAUpf,EAAW8e,GACvCkY,EAAkBlY,EAAUK,aAClC8X,EAGIF,EAAgBrO,wBAAwB9hvB,EAAOowvB,EAAiB9vuB,EAAQ0huB,WAAY9J,EAAUW,YAFhGoJ,EAAQoO,EAARpO,SACA1g7B,EAAK8u7B,EAAL9u7B,MAEFwr7B,GAAoB3zB,EAAW6oB,EAAU/J,GACzCA,EAAUU,iBAAiBr36B,EAC7B,CA8Z0E+u7B,CAA8Bht/B,EAAO3X,EAAM20R,EAAS2kuB,EAAWI,OAAQJ,EAAWrv/B,OAAQ,EAC9J26/B,GAAsB,SAAC3tB,EAAYtitB,GAAO,OAAKwxK,EAAOxxK,EAAS,SAAA16O,GAAM,OAAsB,IAAlBA,EAAOwrN,QAAgBxrN,EAAOi07B,QAAQ,EAAE,EACjH22B,GAAqB,SAACp3B,EAAW94sB,GAAO,OAAKwxK,EAAOxxK,EAAS,SAAA16O,GAAM,OAAIA,EAAOwrN,OAASxrN,EAAO0/xB,SAAW8zJ,EAAU98jB,KAAK33M,SAAW/+K,EAAOi07B,QAAQ,EAAE,EACpJ42B,GAAkB,SAACr3B,EAAW94sB,GAClC,IAAM+xtB,EAAY1txB,GAAQy0wB,GACpBs3B,EAAajD,GAAcntuB,GACjC,OAAOose,EAAMgkQ,EAAY,SAACv77B,EAAKvvB,GAG7B,OAAOuvB,EAFQk96B,EAAUzs8B,EAAOwrN,QACRxmR,IAAI6ngC,IAAY7nS,MAAM,EAEhD,EAAG,EACL,EACM+lT,GAAyB,SAAArk4B,GAAM,OAAI,SAAC8s2B,EAAW70/B,GAAM,OAAKi+/B,GAAQpJ,EAAW70/B,GAAQiuB,OAAO,SAAA8tR,GAEhG,QADoBh0J,EAASik4B,GAAsBC,IAC/Bp3B,EAAW94sB,EACjC,GAAG11S,IAAI,SAAA01S,GAAO,MAAK,CACjBA,UACA0huB,WAAYyO,GAAgBr3B,EAAW94sB,GACxC,EAAG,CAAD,EAKGswuB,GAAwB,SAAAtk4B,GAAM,OAAI,SAAC8s2B,EAAW70/B,GAAM,OAAKghhC,GAAgBnsB,EAAW70/B,GAAQiuB,OAAO,SAAA8tR,GAEvG,QADoBh0J,EAASik4B,GAAsBC,IAC/Bp3B,EAAW94sB,EAAQhrB,MACzC,EAAG,CAAD,EACIu7vB,GAAsB7C,GAAqB,MAC3C8C,GAAoB9C,GAAqB,MACzC+C,GAAmB/x+B,GAhNE,SAACs9Y,EAAMh8I,EAAS7+O,EAAYuj9B,GACrD,IAAMxtf,EAAcl3O,EAAQ,GAAGy2I,IACzBt5Z,EAAO6x/B,GAAWhvuB,GAClBqruB,EAAUl/P,EAAMhvvB,EAAM,SAAC03D,EAAK4hW,GAEhC,MAAO,CACLuF,KAFWotlB,GAAYv07B,EAAImnW,KAAMk7F,EAAazgG,EAAIA,IAAM5hW,EAAIoM,MAAO9/B,EAAYuj9B,EAAYoJ,WAG3F7s7B,MAAOpM,EAAIoM,MAAQ,EAEvB,EAAG,CACD+6V,OACA/6V,MAAO,IACN+6V,KACH,OAAO9zR,GAAOmj3B,EAASn0f,EAAal3O,EAAQ,GAAGlvB,OACjD,EAkMiDoxuB,GAASt84B,EAAMA,EAAM8n6B,IAChEgD,GAAkBhy+B,GAlME,SAACs9Y,EAAMh8I,EAAS7+O,EAAYuj9B,GACpD,IAAMvn/B,EAAO6x/B,GAAWhvuB,GAClB/7S,EAASk5B,EAAKA,EAAKxjC,OAAS,GAC5Bu9hB,EAAcjzhB,EAAOwyb,IAAMxyb,EAAOq/b,QAClC+nlB,EAAUl/P,EAAMhvvB,EAAM,SAACwz/B,EAAMl6lB,GACjC,OAAO2ylB,GAAYuH,EAAMz5f,EAAazgG,EAAIA,IAAKt1X,EAAYuj9B,EAAYoJ,UACzE,EAAG9xlB,GACH,OAAO9zR,GAAOmj3B,EAASn0f,EAAal3O,EAAQ,GAAGlvB,OACjD,EA0L+CoxuB,GAASt84B,EAAMA,EAAM8n6B,IAC9DkD,GAAsBly+B,GA1LE,SAACs9Y,EAAM60lB,EAAe1v9B,EAAYuj9B,GAC9D,IAAM1kuB,EAAU6wuB,EAAc7wuB,QACxB37D,EAAU8oyB,GAAcntuB,GACxBk3O,EAAc7yS,EAAQ,GAAGysC,OACzBu6vB,EAAUl/P,EAAM9niB,EAAS,SAACxvJ,EAAK+6P,GAEnC,MAAO,CACLosG,KAFWwtlB,GAAe307B,EAAImnW,KAAMk7F,EAAatnM,EAAI9+D,OAASj8L,EAAIoM,MAAO9/B,EAAYuj9B,EAAYoJ,WAGjG7s7B,MAAOpM,EAAIoM,MAAQ,EAEvB,EAAG,CACD+6V,OACA/6V,MAAO,IACN+6V,KACH,OAAO9zR,GAAOmj3B,EAASrruB,EAAQ,GAAGy2I,IAAKygG,EACzC,EA2KuDm5f,IAAuB,GAAOT,GAA6Bhq6B,EAAM8n6B,IAClHoD,GAAqBpy+B,GA3KE,SAACs9Y,EAAM60lB,EAAe1v9B,EAAYuj9B,GAC7D,IAAM1kuB,EAAU6wuB,EAAc7wuB,QACxB/7S,EAAS+7S,EAAQA,EAAQrmT,OAAS,GAClCu9hB,EAAcjzhB,EAAO6sR,OAAS7sR,EAAO+g2B,QACrC3gnB,EAAU8oyB,GAAcntuB,GACxBqruB,EAAUl/P,EAAM9niB,EAAS,SAACssyB,EAAM/gsB,GACpC,OAAO45rB,GAAemH,EAAMz5f,EAAatnM,EAAI9+D,OAAQ3vN,EAAYuj9B,EAAYoJ,UAC/E,EAAG9xlB,GACH,OAAO9zR,GAAOmj3B,EAASrruB,EAAQ,GAAGy2I,IAAKygG,EACzC,EAkKqDm5f,IAAuB,GAAQT,GAA6Bhq6B,EAAM8n6B,IACjHqD,GAAery+B,GArIE,SAACs9Y,EAAM60lB,EAAeG,EAAaC,GACxD,IAAM5syB,EAAU8oyB,GAAc0D,EAAc7wuB,SACtCqruB,EAtnBgB,SAACrvlB,EAAM33M,GAAO,OAAKoziB,EAAOz7V,EAAM,SAAAvF,GACtD,IAAM67kB,EAAgB77kB,EAAIzhK,MACpBA,EAAQm3f,EAAM9niB,EAAS,SAACxvJ,EAAKi8L,GAAM,OAAKA,GAAU,GAAKA,EAASj8L,EAAIl7F,OAASk7F,EAAI9kF,MAAM,EAAG+gR,GAAQn0R,OAAOk4F,EAAI9kF,MAAM+gR,EAAS,IAAMj8L,CAAG,EAAEy96B,GAC7I,OAAOt9uB,EAAMr7R,OAAS,EAAI,CAAC23gC,GAAS76kB,EAAI1kV,QAASijL,EAAOyhK,EAAIgH,QAAShH,EAAI7sW,QAAU,EACrF,EAAG,CAknBesn8B,CAAgBl1lB,EAAM38W,EAAMglK,EAAS,SAAAysC,GAAM,OAAIA,EAAOA,MAAM,IACtEqgwB,EAAc9F,EAAQ1xhC,OAAS,EAAI0xhC,EAAQ,GAAGr2vB,MAAMr7R,OAAS,EAAI,EACvE,OAAOuuK,GAAOmj3B,EAAShnyB,EAAQ,GAAGoyM,IAAK5+a,KAAKgL,IAAIwhO,EAAQ,GAAGysC,OAAQqgwB,GACrE,EAkH8B,SAACr4B,EAAW70/B,GAAM,OAAKihhC,GAAgBpsB,EAAW70/B,GAAQqG,IAAI,SAAA01S,GAAO,MAAK,CACtGA,UACA0huB,YAAayO,GAAgBr3B,EAAW94sB,GACzC,EAAG,EAW4D4vuB,GAA6BrR,GAAOmP,IAC9F0D,GAAY1y+B,GAhIE,SAACs9Y,EAAMh8I,EAASgxuB,EAAaC,GAC/C,IAAM9z/B,EAAO6x/B,GAAWhvuB,GAClBqruB,EAvnBa,SAACrvlB,EAAMxsb,EAAOlG,GACjC,IAAA+nhC,EAGIve,GAAmB92kB,GAFrB7+Z,EAAIk0/B,EAAJl0/B,KACAyoQ,EAAIyrvB,EAAJzrvB,KAEF,MAAM,GAANjpS,OAAAwuB,EAAWy6Q,GAAIz6Q,EAAKgS,EAAKptB,MAAM,EAAGP,IAAM2b,EAAKgS,EAAKptB,MAAMzG,EAAS,IACnE,CAinBkBgohC,CAAat1lB,EAAM7+Z,EAAK,GAAGs5Z,IAAKt5Z,EAAKA,EAAKxjC,OAAS,GAAG88b,KAChE86lB,EAAclG,EAAQ1xhC,OAAS,EAAI0xhC,EAAQ1xhC,OAAS,EAAI,EAC9D,OAAOuuK,GAAOmj3B,EAASxzgC,KAAKgL,IAAIm9R,EAAQ,GAAGy2I,IAAK86lB,GAAcvxuB,EAAQ,GAAGlvB,OAC3E,EA2HmCoxuB,GAASt84B,EAAM245B,GAAOmP,IACnD8D,GAAoB9y+B,GApKE,SAACww+B,EAAalvuB,EAAS7+O,EAAYuj9B,GAC7D,IAAMrgyB,EAAU8oyB,GAAcntuB,GACxByxuB,EAAgBpy8B,EAAMglK,EAAS,SAAA/+K,GAAM,OAAIA,EAAOwrN,MAAM,GACtDu6vB,EAAUd,GAAe2E,EAAauC,GAAe,EAAMtw9B,EAAYuj9B,EAAYsJ,eACzF,OAAO9l3B,GAAOmj3B,EAASrruB,EAAQ,GAAGy2I,IAAKz2I,EAAQ,GAAGlvB,OACpD,EA+JmDo0vB,GAAiBt/5B,EAAMA,EAAM2q6B,IAC1EmB,GAAsBhz+B,GA3JE,SAACww+B,EAAalvuB,EAAS7+O,EAAYuj9B,GAC/D,IAAMrgyB,EAAU8oyB,GAAcntuB,GACxByxuB,EAAgBpy8B,EAAMglK,EAAS,SAAA/+K,GAAM,OAAIA,EAAOwrN,MAAM,GACtDu6vB,EAAUd,GAAe2E,EAAauC,GAAe,EAAOtw9B,EAAYuj9B,EAAYsJ,eAC1F,OAAO9l3B,GAAOmj3B,EAASrruB,EAAQ,GAAGy2I,IAAKz2I,EAAQ,GAAGlvB,OACpD,EAsJuDo0vB,GAAiBt/5B,EAAMA,EAAM4q6B,IAC9EmB,GAAiBjz+B,GAAI0w+B,GAAkBlK,GAAiBt/5B,EAAMA,EAAM2q6B,IACpEqB,GAAelz+B,GAAI2w+B,GAAgBnK,GAAiBt/5B,EAAMA,EAAM4q6B,IAChEqB,GAAiBnz+B,GAAI4w+B,GAAkBpK,GAAiBt/5B,EAAMA,EAAM4q6B,IACpEsB,GAAkBpz+B,GAnKE,SAACww+B,EAAalvuB,EAAS7+O,EAAYuj9B,GAC3D,IAAM2G,EAAUI,GAAayD,EAAalvuB,EAAS7+O,EAAYuj9B,EAAYsJ,eAC3E,OAAO9l3B,GAAOmj3B,EAASrruB,EAAQ,GAAGy2I,IAAKz2I,EAAQ,GAAGlvB,OACpD,EAgK+Co0vB,GAAiBt/5B,EAAMA,EAAM2q6B,IACtEwB,GAAoBrz+B,GA1JE,SAACww+B,EAAalvuB,EAAS7+O,EAAYuj9B,GAC7D,IAAM2G,EAAUI,GAAayD,EAAalvuB,EAAS7+O,EAAYuj9B,EAAYsJ,eAC3E,OAAO9l3B,GAAOmj3B,EAASrruB,EAAQ,GAAGy2I,IAAKz2I,EAAQ,GAAGlvB,OACpD,EAuJmDo0vB,GAAiBt/5B,EAAMA,EAAM4q6B,IAC1EwB,GAAatz+B,GAlIE,SAACs9Y,EAAMumkB,EAAUph8B,EAAYuj9B,GAChD,IAAM1vvB,EAAQutuB,EAASvtuB,MACvB3qP,GAAM2qP,GACN,IAAMq2vB,EAt8BQ,SAACrvlB,EAAM3hS,EAAQl5F,EAAYkh9B,GACzC,IAAMll/B,EAAO21+B,GAAmB92kB,GAAM7+Z,KACtC,GAAoB,IAAhBA,EAAKxjC,OACP,OAAOqic,EAET,IAAK,IAAI9hc,EAAImgK,EAAOui2B,SAAU1igC,GAAKmgK,EAAOwi2B,UAAW3igC,IACnD,IAAK,IAAIq1B,EAAI8qI,EAAOqi2B,SAAUnt+B,GAAK8qI,EAAOsi2B,UAAWpt+B,IAAK,CACxD,IAAMkna,EAAMt5Z,EAAKjjC,GACXq//B,EAAWoZ,GAAQl8kB,EAAKlna,GAAGgq+B,SACjCmZ,GAAWj8kB,EAAKlna,EAAG8h/B,GAAWgR,KAAgB,EAAO9oB,GACvD,CAEF,OAAOv9jB,CACT,CAy7BkBi2lB,CAAQj2lB,EAAMumkB,EAASlo2B,OAAQl5F,EAAYuj9B,EAAYr6+B,MAAM2qP,IAC7E,OAAO65vB,GAAQxD,EAASngQ,EAASxquB,KAAKs0O,EAAM,IAC9C,EA38B2B,SAAC8juB,EAAW70/B,GAAM,OAN1B,SAACq+/B,EAAYr+/B,GAAM,OAAKA,EAAOs+/B,QAAS,CAMTC,CAAW1J,EAAW70/B,GAAQiuB,OAAO,SAAAuw+B,GAAS,OAAIN,GAAYrJ,EAAW2J,EAAUztuB,MAAM,EAAE,EAwkCpF1/P,GAAQswF,EAAM8n6B,IACjEwE,GAAexz+B,GA7HE,SAACs9Y,EAAM2mkB,EAAYxh8B,EAAYuj9B,GACpD,IACM2G,EAAUl/P,EAAMw2O,EADJ,SAACjigC,EAAGy6b,GAAI,OAAKgqlB,GAAQzkhC,EAAGy6b,EAAMh6X,EAAYuj9B,EAAYS,QAAQhqlB,GAAO,EAC1Ca,GAC7C,OAAO6ylB,GAAQxD,EAASngQ,EAASxquB,KAAKii9B,EAAW,IACnD,EA/8B6B,SAAC7J,EAAW70/B,GAAM,OAN1B,SAACq+/B,EAAYr+/B,GAAM,OAAKA,EAAO0+/B,UAAW,CAMXC,CAAa9J,EAAW70/B,GAAQiuB,OAAO,SAAA8iQ,GAAK,OAAImtuB,GAAYrJ,EAAW9juB,EAAM,EAAE,EAwkCpE1/P,GAAQswF,EAAM8n6B,IACvEvN,GAAazh+B,GAzHE,SAACs9Y,EAAMwzlB,EAAcru9B,EAAY8v9B,GACpD,IAIMtL,EAJU,SAAC3i/B,EAAO4rJ,GACtB,IAAMmsR,EAAKu/iB,GAAU+Y,UAAUrw+B,GAC/B,OAAOqxa,GAAO0G,EAAInsR,GAAY,EAChC,CACcuj2B,CAAQ3C,EAAatp/B,UAAWsp/B,EAAa5g2B,YACrDk41B,EA/oHQ,SAACrwlB,EAAK3lK,GAAM,MAAM,CAChC2lK,MACA3lK,SACD,CA4oHsB1qJ,CAAQop5B,EAAa/4lB,IAAK+4lB,EAAa1+vB,QAE5D,OADmBy9kB,GAAQu4K,EAAc9qlB,EAAM2plB,EAAO6J,EAAa5g2B,WAAYztH,GAC7DyqqB,KAAK,kBAAMijT,GAAQ7ylB,EAAMkvV,EAASpyvB,KAAK02/B,EAAaz96B,SAAS,EAAE,SAAAs56B,GAC/E,OAAOnj3B,GAAOmj3B,EAASmE,EAAa/4lB,IAAK+4lB,EAAa1+vB,OACxD,EACF,EA/+BgB,SAACgouB,EAAW70/B,GAAM,OAAKk3b,GAAKl3b,EAAO8tG,SAASjyC,KAAK,SAAAq7X,GAAI,OAAI4mkB,GAAgBjJ,EAAW39jB,GAAM7wb,IAAI,SAAA01S,GAM5G,OALWt5S,EAAA,GACNs5S,EAAQ,CACXpxH,WAAY3qL,EAAO2qL,WACnB1oJ,UAAWjiC,EAAOiiC,WAGtB,EAAE,EAAE,EAslC0C5Q,GAAQswF,EAAM8n6B,IACtD0E,GAAkB1z+B,GAzGE,SAACs9Y,EAAMwzlB,EAAcru9B,EAAY8v9B,GACzD,IAAM9z/B,EAAO21+B,GAAmB92kB,GAAM7+Z,KAChC53B,EAAQiqhC,EAAax6vB,MAAM,GAAGlE,OAC9B5xQ,EAAUie,EAAKqy/B,EAAax6vB,MAAM,GAAGyhK,KACrCkvlB,EAAQ4J,GAAYC,EAAatp/B,UAAWsp/B,EAAa5g2B,WAAY1vK,GACrEmzgC,EAAajK,GAAW7ihC,EAAOy2b,EAAM2plB,EAAO6J,EAAa5g2B,WAAYztH,GAC3E,OAAO+mG,GAAOmq3B,EAAY7C,EAAax6vB,MAAM,GAAGyhK,IAAK+4lB,EAAax6vB,MAAM,GAAGlE,OAC7E,EAkG+Cw/vB,IAAsB,GAAO1q6B,EAAMA,EAAM8n6B,IAClF4E,GAAiB5z+B,GAlGE,SAACs9Y,EAAMwzlB,EAAcru9B,EAAY8v9B,GACxD,IAAM9z/B,EAAO21+B,GAAmB92kB,GAAM7+Z,KAChC53B,EAAQiqhC,EAAax6vB,MAAMw6vB,EAAax6vB,MAAMr7R,OAAS,GAAGm3R,OAAS0+vB,EAAax6vB,MAAMw6vB,EAAax6vB,MAAMr7R,OAAS,GAAGqr2B,QACrH9l1B,EAAUie,EAAKqy/B,EAAax6vB,MAAM,GAAGyhK,KACrCkvlB,EAAQ4J,GAAYC,EAAatp/B,UAAWsp/B,EAAa5g2B,WAAY1vK,GACrEmzgC,EAAajK,GAAW7ihC,EAAOy2b,EAAM2plB,EAAO6J,EAAa5g2B,WAAYztH,GAC3E,OAAO+mG,GAAOmq3B,EAAY7C,EAAax6vB,MAAM,GAAGyhK,IAAK+4lB,EAAax6vB,MAAM,GAAGlE,OAC7E,EA2F6Cw/vB,IAAsB,GAAQ1q6B,EAAMA,EAAM8n6B,IACjF6E,GAAkB7z+B,GA3FE,SAACs9Y,EAAMwzlB,EAAcru9B,EAAY8v9B,GACzD,IAAM9z/B,EAAO21+B,GAAmB92kB,GAAM7+Z,KAChC53B,EAAQiqhC,EAAax6vB,MAAM,GAAGyhK,IAC9Bv3a,EAAUie,EAAK53B,GACfoghC,EAAQ4J,GAAYC,EAAatp/B,UAAWsp/B,EAAa5g2B,WAAY1vK,GACrEmzgC,EAAa1J,GAAWpjhC,EAAOy2b,EAAM2plB,EAAO6J,EAAa5g2B,WAAYztH,GAC3E,OAAO+mG,GAAOmq3B,EAAY7C,EAAax6vB,MAAM,GAAGyhK,IAAK+4lB,EAAax6vB,MAAM,GAAGlE,OAC7E,EAoF+Cm0vB,GAAiBr/5B,EAAMA,EAAM8n6B,IACtE8E,GAAiB9z+B,GApFE,SAACs9Y,EAAMwzlB,EAAcru9B,EAAY8v9B,GACxD,IAAM9z/B,EAAO21+B,GAAmB92kB,GAAM7+Z,KAChC53B,EAAQiqhC,EAAax6vB,MAAMw6vB,EAAax6vB,MAAMr7R,OAAS,GAAG88b,IAAM+4lB,EAAax6vB,MAAMw6vB,EAAax6vB,MAAMr7R,OAAS,GAAG2pc,QAClHpkb,EAAUie,EAAKqy/B,EAAax6vB,MAAM,GAAGyhK,KACrCkvlB,EAAQ4J,GAAYC,EAAatp/B,UAAWsp/B,EAAa5g2B,WAAY1vK,GACrEmzgC,EAAa1J,GAAWpjhC,EAAOy2b,EAAM2plB,EAAO6J,EAAa5g2B,WAAYztH,GAC3E,OAAO+mG,GAAOmq3B,EAAY7C,EAAax6vB,MAAM,GAAGyhK,IAAK+4lB,EAAax6vB,MAAM,GAAGlE,OAC7E,EA6E6Cm0vB,GAAiBr/5B,EAAMA,EAAM8n6B,IACpE+E,GA7EmB,SAACzv/B,EAAO/+B,GAC/B,IAAMqy8B,EAAQgkD,GAAU+Y,UAAUrw+B,GAElC,OADgBk/9B,GAAQ5rD,EAAOry8B,GAChB67D,KAAK,SAAA21vB,GAClB,IAAMytM,EAAmBztM,EAAcA,EAAc97zB,OAAS,GACxD+4hC,EAAcj9N,EAAc,GAAG3kiB,OAC/B6hwB,EAAczvB,EAAiBpyuB,OAASoyuB,EAAiBl+J,QACzD4tL,EAAsBr+6B,EAAQl1B,EAAMi33B,EAAMzv8B,IAAK,SAAA4vb,GAAG,OAAIopZ,EAASppZ,EAAIzhK,MAAO,SAAAmmK,GAAI,OAAIA,EAAKrqK,QAAU4hwB,GAAev3lB,EAAKrqK,OAAS6hwB,CAAW,EAAC,IAChJ,OAAOpxB,GAAmBqxB,EAC5B,GAAGtoT,MAAM,GACX,EAoEMuoT,GAnEiB,SAAC7v/B,EAAO/+B,GAC7B,IAAMqy8B,EAAQgkD,GAAU+Y,UAAUrw+B,GAElC,OADgBk/9B,GAAQ5rD,EAAOry8B,GAChB67D,KAAKyh8B,IAAoBj3R,MAAM,GAChD,EAgEM24R,GA/DgB,SAACjg+B,EAAO/+B,GAC5B,IAAMqy8B,EAAQgkD,GAAU+Y,UAAUrw+B,GAElC,OADgBk/9B,GAAQ5rD,EAAOry8B,GAChB67D,KAAK,SAAA21vB,GAClB,IAAMytM,EAAmBztM,EAAcA,EAAc97zB,OAAS,GACxDwpgC,EAAc1tM,EAAc,GAAGh/X,IAC/B2skB,EAAcF,EAAiBzskB,IAAMyskB,EAAiB5/jB,QAE5D,OAh1CsB,SAAAnma,GACxB,IAAMuk+B,EAAWri7B,EAAMliD,EAAM,SAAAs5Z,GAAG,OAAIwtkB,GAAWxtkB,GAAKv7b,IAAI,GAClDoxF,EAAYu/rB,EAAW61O,EAAU,UACjCG,EAAYh2O,EAAW61O,EAAU,UACvC,GAAKp16B,GAAcu16B,EAEZ,CACL,IAAMC,EAAUj2O,EAAW61O,EAAU,QACrC,OAAIp16B,GAAcw16B,GAAYD,EAElBv16B,GAAcw16B,IAAWD,EAG5B32O,EAAS/gX,OAFT+gX,EAASpyvB,KAAK,UAFdoyvB,EAASpyvB,KAAK,SAMzB,CAVE,OAAOoyvB,EAASpyvB,KAAK,OAWzB,CAg0CW2o+B,CADcnrD,EAAMzv8B,IAAIkJ,MAAMoz/B,EAAaC,GAEpD,GAAG94R,MAAM,GACX,EAuDMwoT,GAAa,SAACz3O,EAAQ5kX,GAAG,OAAK4kX,EAAO5iyB,SAAS,SAAU,CAC5DkpC,KAAM80Y,GACL,EACGs8lB,GAAc,SAAC13O,EAAQlgX,GAAI,OAAKkgX,EAAO5iyB,SAAS,UAAW,CAC/DkpC,KAAMw5Y,GACL,EACG0/jB,GAAoB,SAACx/M,EAAQr4wB,EAAO1jC,GACxC+7yB,EAAO5iyB,SAAS,gBAAe/R,EAAA,GAC1BpH,EAAK,CACR0jC,UAEJ,EA4BMki+B,GAAgB,CACpBpnkB,WAAW,EACXzib,OAAO,GAEH8p/B,GAAoB,CACxBrnkB,WAAW,EACXzib,OAAO,GAEH23gC,GAA4B,CAChCl1lB,WAAW,EACXzib,OAAO,GAGHy8wB,GAAQ,SAACujB,EAAQr4wB,GACrB,OAAIo5+B,GAAyB/gO,GACpBw9N,GAAyB71+B,GACvBq5+B,GAAoBhhO,GACtBw9N,GAAoB71+B,GAEpB61+B,GAAuB71+B,EAElC,EAEMiw/B,GAAe,SAAC53O,EAAQ63O,EAAeC,GAC3C,IAAMC,EAAc,SAAA/3O,GAAM,MAA8B,UAA1BrjzB,GAAKyuvB,GAAQ40D,GAAqB,EAG1DqgO,EAAeK,GAAsB1gO,GACrCg4O,EAAgBlX,GAA4B9gO,GAAUz1rB,EAAO065B,GAC7DgT,EAAsB,SAAAtw/B,GAC1B,OAAQg5+B,GAAmB3gO,IACzB,IAAK,UACH,OAAOqnO,KACT,IAAK,eACH,OAAOA,KACT,IAAK,QACH,OAAOA,KACT,QACE,OAAOA,GAAiC1/+B,EAAO,WAErD,EACMuw/B,EAAyB,SAACvw/B,EAAO5nC,GAAM,OAAKA,EAAOwK,OAAOgmuB,KAAK,WACnE,IAAM52c,EAAQujuB,GAAQv19B,GACtB,OAAOie,EAAK+zO,GAAO9iQ,OAAOmjwB,IAAQ/qxB,IAAI,SAAAu81B,GACpCssL,EAAqB31J,mBAAmBx61B,EAAMs3a,KAC9C,IAAM9wB,EAAM6xX,EAAO/gW,IAAI46V,YAIvB,OAHA1rX,EAAIqrY,WAAWgyC,EAAUvsZ,KACzB+gW,EAAOx8hB,UAAUkqe,OAAOv/T,GACxB4sW,GAAMywE,EAAW,oBAAqB,KAC/Br9a,CACT,EACF,EAAG,SAAA2R,GACD,IAAMqxe,EAhpDDxB,GAAcq1G,GAgpDKlllB,GAClB3R,EAAM6xX,EAAO/gW,IAAI46V,YAKvB,OAJA1rX,EAAIihB,SAAS+he,EAAIz6zB,QAAQuoW,IAAKkyd,EAAI7v5B,QAClC6sa,EAAIkhB,OAAO8he,EAAIz6zB,QAAQuoW,IAAKkyd,EAAI7v5B,QAChC0+xB,EAAOx8hB,UAAUkqe,OAAOv/T,GACxB2pmB,EAAqB31J,mBAAmBx61B,EAAMs3a,KACvC4wU,EAASpyvB,KAAK0wZ,EACvB,EAAG,EACG2wc,EAAU,SAACh/2B,EAAWuwE,EAAO+8d,EAAQtniB,GAAM,OAAK,SAAC6hB,EAAO/+B,GAA8B,IAAtBuvhC,EAAQr2hC,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,IAAAA,UAAA,GAC5E2/gC,GAAgB95+B,GAChB,IAAMwlR,EAAM0re,GAAavpD,QAAQ0wE,EAAOzyD,UAClCh6jB,EAAaos1B,GAAevyd,EAAQjgQ,EAAKkztB,GACzCiJ,EAAa,CACjBI,OAAQjtP,GAAMujB,EAAQr4wB,GACtB1N,OAAQ6m/B,GAA4B9gO,GAAUwlO,KAAgBe,KAC9DnklB,QAAS61lB,EAAoBtw/B,IAE/B,OAAO0oD,EAAM1oD,GAAS7nB,EAAU6nB,EAAO/+B,EAAQ2qL,EAAY+11B,GAAY7k9B,KAAK,SAAA1kE,GAC1E83hC,EAAcv/U,QAAQ3wqB,EAAMs3a,KAC5Bund,EAAOzm6B,EAAO0p2B,QAAS,SAAArua,GACrBq8lB,GAAWz3O,EAAQ5kX,EAAI6jB,IACzB,GACAund,EAAOzm6B,EAAOm3gC,SAAU,SAAAp3kB,GACtB43lB,GAAY13O,EAAQlgX,EAAKmf,IAC3B,GACA,IAAMjuC,EAAQknnB,EAAuBvw/B,EAAO5nC,GAO5C,OANIi6xB,GAAOryvB,KACT85+B,GAAgB95+B,GACXww/B,GACH34B,GAAkBx/M,EAAQr4wB,EAAMs3a,IAAKn5b,IAGlCkrZ,EAAM/ha,IAAI,SAAAk/a,GAAG,MAAK,CACvBA,MACAroa,SACD,EACH,GAAK+pwB,EAAS/gX,MAChB,CAAE,EACIspnB,EAAYt5J,EAAQi3J,GAjEL,SAAApu/B,GAAK,OAAKow/B,EAAY/3O,IAAW8mO,GAAYn/+B,GAAO7F,KAAO,CAAE,EAiE/ByoF,EAAMu/4B,IACnDuuB,EAAev5J,EAAQ42J,GAjEL,SAAA/t/B,GAAK,OAAKow/B,EAAY/3O,IAAW8mO,GAAYn/+B,GAAOqhN,QAAU,CAAE,EAiE5Bz+H,EAAMu/4B,IAsBlE,MAAO,CACLsuB,YACAC,eACAjD,iBAxByBt2J,EAAQs2J,GAAkB37qB,EAAQlvP,EAAMu/4B,IAyBjEurB,gBAxBwBv2J,EAAQu2J,GAAiB57qB,EAAQlvP,EAAMu/4B,IAyB/DyrB,oBAxB4Bz2J,EAAQy2J,GAAqB97qB,EAAQu+qB,EAAeluB,IAyBhF2rB,mBAxB2B32J,EAAQ22J,GAAoBh8qB,EAAQu+qB,EAAeluB,IAyB9E6sB,WAxBmB73J,EAAQ63J,GAAYl9qB,EAAQlvP,EAAMu/4B,IAyBrD+sB,aAxBqB/3J,EAAQ+3J,GAAcp9qB,EAAQlvP,EAAMu/4B,IAyBzDitB,gBAxBwBj4J,EAAQi4J,GAAiBt9qB,EAAQlvP,EAAMu/4B,IAyB/DmtB,eAxBuBn4J,EAAQm4J,GAAgBx9qB,EAAQlvP,EAAMu/4B,IAyB7DotB,gBAxBwBp4J,EAAQo4J,GAAiBz9qB,EAAQlvP,EAAMu/4B,IAyB/DqtB,eAxBuBr4J,EAAQq4J,GAAgB19qB,EAAQlvP,EAAMu/4B,IAyB7Dgb,WAxBmBhmJ,EAAQgmJ,GAAYrrqB,EAAQlvP,EAAMot6B,IAyBrDlB,gBAxBwB33J,EAAQ23J,GAAiBh9qB,EAAQlvP,EAAMu/4B,IAyB/D4sB,kBAxB0B53J,EAAQ43J,GAAmBj9qB,EAAQlvP,EAAMu/4B,IAyBnEqsB,kBAxB0Br3J,EAAQq3J,GAAmB18qB,EAAQlvP,EAAMu/4B,IAyBnEusB,oBAxB4Bv3J,EAAQu3J,GAAqB58qB,EAAQlvP,EAAMu/4B,IAyBvEwsB,eAxBuBx3J,EAAQw3J,GAAgB78qB,EAAQlvP,EAAMu/4B,IAyB7DysB,aAxBqBz3J,EAAQy3J,GAAc98qB,EAAQlvP,EAAMu/4B,IAyBzD0sB,eAxBuB13J,EAAQ03J,GAAgB/8qB,EAAQlvP,EAAMu/4B,IAyB7DwuB,gBAtBsB1wB,GAuBtB2wB,iBAzBuBf,GA0BvBgB,gBAzBsBpB,GA2B1B,EAEMqB,GAAgB,SAAC/h7B,EAASp2F,EAAUnhB,GACxC,IAAMu5hC,EAAiB97B,GAAalm5B,EAASp2F,EAAU,GACzC,IAAVnhB,GAAeu5hC,GAAkB,EACnCjgQ,GAAS/hrB,EAASp2F,GAElBy6wB,GAAMrkrB,EAASp2F,EAAU9D,KAAKgL,IAAIroB,EAAOu5hC,GAE7C,EACMC,GAAe,SAACtB,EAAaC,GAAW,OAAK,SAAAx3lB,GACjD,IAAMw+kB,EAASx+kB,EAAKrqK,OAASqqK,EAAK6pa,QAAU,EACtC03J,EAAWvhkB,EAAKrqK,OACtB,OAAO6ovB,GAAU+Y,GAAeh2B,EAAWi2B,CAC7C,CAAE,EA2BIsB,GAAW,SAACjx/B,EAAO/+B,GACvB,IAAMqy8B,EAAQgkD,GAAU+Y,UAAUrw+B,GAElC,OADgBki/B,GAAgB5uE,EAAOry8B,GACxBqG,IAAI,SAAAmrzB,GACjB,IAAMytM,EAAmBztM,EAAcA,EAAc97zB,OAAS,GACxD+4hC,EAAcj9N,EAAc,GAAG3kiB,OAC/B6hwB,EAAczvB,EAAiBpyuB,OAASoyuB,EAAiBl+J,QACzDkvL,EAjCe,SAAC59E,EAAOo8E,EAAaC,GAC5C,GAAIr4B,GAAUoZ,WAAWp9D,GAAQ,CAC/B,IAAM69E,EAAat0M,EAASy6K,GAAUmZ,YAAYn9D,GAAQ09E,GAAatB,EAAaC,IAC9EyB,EAAa/08B,EAAM808B,EAAY,SAAA/k/B,GACnC,IAAMil/B,EAAY/t9B,GAAKl3B,EAAE2iE,SAEzB,OADA+h7B,GAAcO,EAAW,OAAQ1B,EAAcD,GACxC2B,CACT,GACMC,EAAepgQ,GAAazpD,QAAQ,YAE1C,OADAp5kB,GAAOij4B,EAAcF,GACd,CAACE,EACV,CACE,MAAO,EAEX,CAmB0BC,CAAiBj+E,EAAOo8E,EAAaC,GACrD6B,EAnBW,SAACl+E,EAAOo8E,EAAaC,GAAW,OAAKtz8B,EAAMi33B,EAAMzv8B,IAAK,SAAA4vb,GACzE,IAAMg+lB,EAAc50M,EAASppZ,EAAIzhK,MAAOg/vB,GAAatB,EAAaC,IAC5D+B,EAAcr18B,EAAMo18B,EAAa,SAAAt5lB,GACrC,IAAMw5lB,EAAaru9B,GAAK60X,EAAKppV,SAE7B,OADA+h7B,GAAca,EAAY,UAAWhC,EAAcD,GAC5CiC,CACT,GACMC,EAAS1gQ,GAAazpD,QAAQ,MAEpC,OADAp5kB,GAAOuj4B,EAAQF,GACRE,CACT,EAAG,CASkBC,CAAav+E,EAAOo8E,EAAaC,GAClD,MAAM,GAANh2hC,OAAAwuB,EAAW+ogC,GAAa/ogC,EAAKqpgC,GAC/B,EACF,EAEMM,GAAW,SAAC9x/B,EAAO/+B,EAAQ2qL,GAC/B,IAAMkq0B,EAAYwB,GAAU+Y,UAAUrw+B,GAEtC,OADgBk/9B,GAAQpJ,EAAW70/B,GACpB67D,KAAK,SAAA21vB,GAClB,IAAMz5X,EAAOqY,GAAOykjB,EAAWlq0B,GAAY,GAErCmm2B,EADOjiB,GAAmB92kB,GAAM7+Z,KACdptB,MAAM0lzB,EAAc,GAAGh/X,IAAKg/X,EAAcA,EAAc97zB,OAAS,GAAG88b,IAAMg/X,EAAcA,EAAc97zB,OAAS,GAAG2pc,SACpI0xlB,EAAev9P,EAAOs9P,EAAY,SAAAt+lB,GACtC,IAAM87kB,EAAW1yL,EAASppZ,EAAIzhK,MAAO,SAAAmmK,GAAI,OAAKA,EAAKo+jB,QAAQ,GAC3D,OAAOgZ,EAAS54gC,OAAS,EAAI,CAAA+M,EAAA,GACxB+vb,EAAI,CACPzhK,MAAOu9uB,KACJ,EACP,GACM0iB,EAAgBzQ,GAAawQ,GACnC,OAAOhjQ,GAAOijQ,EAAct7hC,OAAS,EAAGs7hC,EAC1C,GAAG3qhC,IAAI,SAAA2qhC,GAAa,OAh+CT,SAAAj5lB,GAAI,OAAI38W,EAAM28W,EAAM,SAAAvF,GAC/B,IAAMlkC,EAAKqmY,GAAQniW,EAAI1kV,SAOvB,OANA8vzB,EAAOpre,EAAIzhK,MAAO,SAAAmmK,GAChB,IAAMw5lB,EAAaru9B,GAAK60X,EAAKppV,SAC7B8w6B,GAAS8R,EAAY,UAAWx5lB,EAAK6pa,QAAS,GAC9C69K,GAAS8R,EAAY,UAAWx5lB,EAAKmI,QAAS,GAC9CuzV,GAAStkY,EAAIoioB,EACf,GACOpioB,CACT,EAAG,CAu9CuB9oW,CAAKwr+B,EAAc,EAC7C,EAEMC,GAAQ9wO,GAAa,CAAC,CAC1B1vxB,QAAS,CAAC,QACT,CACDhc,OAAQ,CAAC,UACR,CACD61kB,QAAS,CAAC,YAEN4mc,GAAc,SAACn55B,EAAQ9gI,EAAMV,GACjC,IAAM46hC,EAAY56hC,EAAMF,UAAU,EAAGE,EAAMb,OAASqiI,EAAOriI,QACrDooX,EAASnmW,WAAWw5gC,GAC1B,OAAOA,IAAcrzqB,EAAO9oX,WAAaiC,EAAK6mX,GAAUmzqB,GAAMxggC,QAAQl6B,EACxE,EAUM66hC,GAAI3uhC,EAAA,GACLwuhC,GAAM,CACTx0+B,KAXW,SAAAlmD,GACX,OAAI2zO,GAAS3zO,EAAO,KACX26hC,GAAY,IAAKD,GAAM3mc,QAAS/zlB,GAErC2zO,GAAS3zO,EAAO,MACX26hC,GAAY,KAAMD,GAAMx8gC,OAAQle,GAElC06hC,GAAMxggC,QAAQl6B,EACvB,IA0CM86hC,GAAqB,SAACC,EAAcjJ,EAAQ7K,GAChD,OAAO8T,EAAa3pT,KAAK,WACvB,OAAO0gT,CACT,EAAG,SAAAt++B,GACD,OA3BqB,SAACs++B,EAAQ7K,EAAY+T,GAC5C,IAAMz+6B,EAAQy+6B,EAAgB/T,EAC9B,OAAOpi8B,EAAMit8B,EAAQ,SAAAz5+B,GAEnB,OADgBwi/B,GAAK30+B,KAAK7N,GACX+4rB,KAAK,WAClB,OAAO/4rB,CACT,EAAG,SAAA7E,GACD,OAAOA,EAAK+oE,EAAQ,IACtB,EAAG,SAAAu1U,GACD,OAAOA,EAAK,IAAMkpmB,EAAgB,IACpC,EACF,EACF,CAeWC,CAAiBnJ,EAAQ7K,EAAYzz+B,EAC9C,EAAG,SAAA0n/B,GACD,OA1C0B,SAACpJ,EAAQ7K,GACrC,OAAOpi8B,EAAMit8B,EAAQ,SAAAz5+B,GAEnB,OADgBwi/B,GAAK30+B,KAAK7N,GACX+4rB,KAAK,WAClB,OAAO/4rB,CACT,EAAG,SAAA7E,GAED,OADcA,EAAKyz+B,EAAa,IACjB,GACjB,EAAG,SAAAn1lB,GACD,OAAOA,EAAK,GACd,EACF,EACF,CA8BWqpmB,CAAsBrJ,EAAQ7K,EACvC,EACF,EACMmU,GAAiB,SAACtJ,EAAQ7K,EAAY9te,GAC1C,IAAM+sd,EAAU20B,GAAK30+B,KAAKizf,GACpBkif,EAAStmT,EAAO+8S,EAAQ,SAAApshC,GAC5B,MAAa,QAANA,CACT,GAvBwB,SAACq1hC,EAAclxyB,GACvC,IAAM/jP,EAAIi1hC,EAAa3pT,KAAK,kBAAM9mL,EAAS,GAAG,EAAE,SAAApsiB,GAE9C,OAAOosiB,EADKpsiB,EAAS2rO,EACC,KACxB,EAAG,WAED,OAAOygU,EADK,IAAMzgU,EACI,IACxB,GACA,OAAO4sxB,EAAQ5sxB,EAAS/jP,EAC1B,CAcOw1hC,CAAkBp1B,EAAS4rB,EAAO3yhC,QAAU27hC,GAAmB50B,EAAS4rB,EAAQ7K,GACrF,OAAOvmrB,GAAU26rB,EACnB,EACMlm0B,GAAM,SAAC5zK,EAAQqxL,GACnB,OAAsB,IAAlBrxL,EAAOpiD,OACFyzO,EAEF++iB,EAAMpwuB,EAAQ,SAAC4mF,EAAM3iF,GAC1B,OAAOq1+B,GAAK30+B,KAAKV,GAAG4rrB,KAAK9mL,EAAS,GAAIn6d,EAAUA,GAAYg4C,CAC9D,EAAG,EACL,EAQM4wpB,GAAQ,SAAC/4xB,EAAOunX,GACpB,OAAOszqB,GAAK30+B,KAAKlmD,GAAOoxuB,KAAK9mL,EAAStqjB,GAAQ,SAAAwzC,GAC5C,OAAOA,EAAK+zU,EAAS,IACvB,EAAG,SAAAuqE,GACD,OAAOA,EAAKvqE,EAAS,GACvB,EACF,EACM7mB,GAAY,SAAAn/S,GAChB,GAAsB,IAAlBA,EAAOpiD,OACT,OAAOoiD,EAET,IAAMknnB,EAAOkpH,EAAMpwuB,EAAQ,SAAC4mF,EAAMnoI,GAChC,IAAMkb,EAAO2/gC,GAAK30+B,KAAKlmD,GAAOoxuB,KAAK,iBAAO,CACxCpxuB,QACA8nf,UAAW,EACZ,EAAG,SAAAl7b,GAAG,OAtBO,SAACA,EAAK4rB,GACtB,IAAM+i9B,EAAUl+gC,KAAKC,MAAMsvC,GAC3B,MAAO,CACL5sD,MAAOu7hC,EAAU/i9B,EACjBsva,UAAWl7b,EAAM2u+B,EAErB,CAgBeC,CAAU5u+B,EAAK,KAAK,EAAE,SAAAA,GAAG,MAAK,CACvC5sD,MAAO4sD,EAAM,IACbk7b,UAAW,EACZ,GACD,MAAO,CACLj7b,OAAQ,CAAC3xC,EAAKlb,OAAOmC,OAAOgmI,EAAKt7E,QACjCi7b,UAAW3/W,EAAK2/W,UAAY5se,EAAK4se,UAErC,EAAG,CACDj7b,OAAQ,GACRi7b,UAAW,IAEPv9b,EAAIk+mB,EAAK57mB,OACf,OAAOtC,EAAEh1C,MAAM,EAAGg1C,EAAEprD,OAAS,GAAGgD,OAAO,CAAC42xB,GAAMxuuB,EAAEA,EAAEprD,OAAS,GAAIke,KAAKs8F,MAAM8ujB,EAAK3gL,aACjF,EACMhoM,GAAW+6uB,GAAK30+B,KAyBhBu1+B,GAAU,SAAA3f,GACd,OAAOh8tB,GAASg8tB,GAAS1qS,KAAK9mL,EAAS,MAAOA,EAAS,MAAOA,EAAS,KACzE,EACMoxe,GAAe,SAAClz/B,EAAOmz/B,EAAUC,GACrC,IAAMt9B,EAAYwB,GAAU+Y,UAAUrw+B,GAChC7F,EAAO279B,EAAUjy/B,IACjBmuR,EAAQsluB,GAAUkZ,UAAU1a,GAC5Bz0wB,EAAUi2wB,GAAUmZ,YAAY3a,GACtCq9B,EAASr/9B,KAAK,SAAA68e,GACZ,IAAM0if,EAAYJ,GAAQtif,GACpB8te,EAAazuP,GAAMhwvB,GACnBsz/B,EApgGW,SAACx9B,EAAW919B,GAC/B,OAAOm0+B,GAAare,EAAW919B,EAAOg0+B,GAASS,GACjD,CAkgGsB8e,CAAaz9B,EAAW919B,GACpCwz/B,EAAWZ,GAAeU,EAAW7U,EAAY9te,GACnD2md,GAAUoZ,WAAW5a,GA7BC,SAAC+zB,EAAWxoyB,EAASrxK,GACjD6u1B,EAAOx9qB,EAAS,SAACysC,EAAQvrR,GACvB,IAAMuU,EAAQ61M,GAAI,CAACk9zB,EAAUtnhC,IAASqmQ,MACtCz+K,GAAM2jM,EAAO/+K,QAAS,QAASj4F,EAAQk5D,EACzC,EACF,CAyBMyj9B,CAAsBD,EAAUnyyB,EAASgyyB,GArCvB,SAACxJ,EAAW73vB,EAAOhiN,GACzC6u1B,EAAO7soB,EAAO,SAAAmmK,GACZ,IAAMmxlB,EAASO,EAAU98gC,MAAMorb,EAAKrqK,OAAQqqK,EAAK6pa,QAAU7pa,EAAKrqK,QAC1Dj+O,EAAI88K,GAAI28zB,EAAQ1gxB,MACtBz+K,GAAMguW,EAAKppV,QAAS,QAASl/D,EAAImgC,EACnC,EACF,CAiCM0j9B,CAAgBF,EAAUxhwB,EAAOqhwB,GAEnClp8B,GAAMnqD,EAAO,QAAS2wgB,EACxB,GACAyif,EAAUt/9B,KAAK,SAAA48e,GACb,IAAMijf,EAAQV,GAAQvif,GAChBkjf,EAActjQ,GAAMtwvB,GACpB6z/B,EAn/FY,SAAC/9B,EAAW919B,EAAO/qB,GACvC,OAAO6//B,GAAchf,EAAW919B,EAAO/qB,EAAWg//B,GAASQ,GAC7D,CAi/FuBqf,CAAch+B,EAAW919B,EAAOhpB,KAjC/B,SAAC+ygC,EAAY5v/B,EAAM63P,EAAOhiN,GAChD6u1B,EAAO7soB,EAAO,SAAAmmK,GACZ,IAAMkxlB,EAAUU,EAAWh9gC,MAAMorb,EAAK1E,IAAK0E,EAAKmI,QAAUnI,EAAK1E,KACzDtuX,EAAIwnJ,GAAI08zB,EAASxgxB,MACvB1+K,GAAMguW,EAAKppV,QAAS,SAAU5pC,EAAI6K,EACpC,GACA6u1B,EAAO1k4B,EAAM,SAACs5Z,EAAKv8b,GACjBizF,GAAMspW,EAAI1kV,QAAS,SAAUg76B,EAAW7yhC,GAC1C,EACF,CA0BI68hC,CADkBnB,GAAeiB,EAAYD,EAAaljf,GAC/Bv2gB,EAAM63P,EAAO2hwB,GACxCxp8B,GAAMnqD,EAAO,SAAU0wgB,EACzB,EACF,EACMsjf,GA9jGoB,SAAAh0/B,GAAK,OAAIyz+B,GAAczz+B,GAAOwub,OAAO,SAAA3xd,GAAI,OAAI+1gC,GAA0Bh6gC,KAAKiE,EAAK,EAAE,EA+jGvGo3hC,GA9jGkB,SAAAj0/B,GAAK,OAAIyz+B,GAAczz+B,GAAOwub,OAAO,SAAA3xd,GAAI,OAAIg2gC,GAAqBj6gC,KAAKiE,EAAK,EAAE,EA+jGhGq3hC,GA9jGiB,SAAAl0/B,GAAK,OAAIyz+B,GAAczz+B,GAAO6usB,QAAS,EAgkGxDslT,GAA0B,SAAApl7B,GAC9B+hrB,GAAS/hrB,EAAS,QACpB,EACMql7B,GAAuB,SAAAp0/B,GAC3B,IAAM2wgB,EAAWkje,GAAqB7z+B,GACtCkz/B,GAAalz/B,EAAOkovB,EAASpyvB,KAAK66gB,GAAWu3O,EAAS/gX,QACtDgtnB,GAAwBn0/B,EAC1B,EACMq0/B,GAAqB,SAAAr0/B,GACzB,IAAM2wgB,EA7kGmB,SAAA3wgB,GAAK,OAAIgwvB,GAAMhwvB,GAAS,IAAK,CA6kGrCs0/B,CAAmBt0/B,GACpCkz/B,GAAalz/B,EAAOkovB,EAASpyvB,KAAK66gB,GAAWu3O,EAAS/gX,QACtDgtnB,GAAwBn0/B,EAC1B,EACMu0/B,GAAoB,SAAAv0/B,GACxBg0vB,GAASh0vB,EAAO,SAChB,IAAMqhN,EAAU0txB,GAAU/u+B,GACpBw0/B,EAAcnzyB,EAAQ1qP,OAAS,EAAI0qP,EAAUk0wB,GAAQv19B,GAC3D6+3B,EAAO21H,EAAa,SAAAr8lB,GAClB67V,GAAS77V,EAAM,SACfg8lB,GAAwBh8lB,EAC1B,GACAg8lB,GAAwBn0/B,EAC1B,EAEMy0/B,GAAuB,CAC3B/7gC,OAAQ,CACN,kBAAmB,WACnB,MAAS,QAEXmyH,WAAY,CACV8vL,OAAQ,KAEV+5tB,WAAW,GAEPC,GAAkB,WAAH,OAASzjQ,GAAazpD,QAAQ,KAAM,EACnDmtT,GAAY,WAAH,OAAS1jQ,GAAazpD,QAAQ,KAAM,EAiB7CotT,GAAiB,SAAAxzyB,GACrB,IAAMi0wB,EAAcpkO,GAAazpD,QAAQ,YAEzC,OADAwmS,EAAQ5sxB,EAAS,kBAAMwyiB,GAASyhO,EAlBRpkO,GAAazpD,QAAQ,OAkBc,GACpD6tR,CACT,EACMw/B,GAAa,SAAC36/B,EAAMknN,EAASmmyB,EAAYW,GAAa,OAAKla,EAAQ9z+B,EAAM,SAAA4nB,GAAC,OApB9D,SAACs/L,EAASmmyB,EAAYW,EAAe93vB,GAErD,IADA,IAAMk/H,EAAK2hY,GAAazpD,QAAQ,MACvBl7sB,EAAI,EAAGA,EAAI80N,EAAS90N,IAAK,CAChC,IAAM2ya,EAAK7uK,EAAWm3vB,GAAcj7/B,EAAI47/B,EAAgBwM,KAAoBC,KACxErogC,EAAI47/B,GACN/0P,GAAMl0V,EAAI,QAAS,OAEjB7uK,EAAWm3vB,GACbp0P,GAAMl0V,EAAI,QAAS,OAErB20V,GAAS30V,EAAIgyV,GAAazpD,QAAQ,OAClCosD,GAAStkY,EAAI2vC,EACf,CACA,OAAO3vC,CACT,CAMoFwloB,CAAU1zyB,EAASmmyB,EAAYW,EAAepm+B,EAAE,EAAE,EAkChIiz+B,GAAmB,SAAC38O,EAAQlgX,GAChCkgX,EAAOx8hB,UAAUvhP,OAAO69Z,EAAKmf,KAAK,GAClC+gW,EAAOx8hB,UAAU87J,UAAS,EAC5B,EAaMpzR,GAAS,SAAC8zpB,EAAQh3jB,EAASlnN,EAAM86/B,EAAYzN,GACjD,IAAMjt4B,EAAgBo/3B,GAAsBthO,GACtCl6yB,EAAU,CACdua,OAAQ6hI,EACR1P,WAAY4u4B,GAA0BphO,GACtCq8O,UAAW7a,GAAoBxhO,IASjC,OAPAA,EAAOj1D,YAAYn9M,OAAO,WACxB,IAAMjmgB,EAzDK,SAAC7F,EAAMknN,EAASmmyB,EAAYW,EAAelhB,GAAmD,IAAvCiuB,EAAU/6hC,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAGs6hC,GAC3Ez0/B,EAAQkxvB,GAAazpD,QAAQ,SAC7B0tT,EAAqC,UAAfluB,EAC5BzllB,GAAOxhZ,EAAOk1/B,EAAWx8gC,QACzBq3wB,GAAS/vvB,EAAOk1/B,EAAWrq5B,YACvBqq5B,EAAWR,WACb7gQ,GAAS7zvB,EAAO60/B,GAAexzyB,IAEjC,IAAM+zyB,EAAmBvghC,KAAKgL,IAAIsa,EAAMqt/B,GACxC,GAAI2N,GAAuB3N,EAAa,EAAG,CACzC,IAAMvolB,EAAQiyV,GAAazpD,QAAQ,SACnCosD,GAAS7zvB,EAAOi/Z,GAChB,IACMo2lB,EAAYP,GAAWtN,EAAYnmyB,EADF,iBAAf4lxB,EAAgCmuB,EAAmB,EACRjN,GACnE953B,GAAO4wS,EAAOo2lB,EAChB,CACA,IAAMt2lB,EAAQmyV,GAAazpD,QAAQ,SACnCosD,GAAS7zvB,EAAO++Z,GAChB,IAEMu2lB,EAAYR,GAFFK,EAAsBh7/B,EAAOi7/B,EAAmBj7/B,EAE1BknN,EADhB8zyB,EAAsB,EAAI3N,EACcW,GAE9D,OADA953B,GAAO0wS,EAAOu2lB,GACPt1/B,CACT,CAkCkBu0W,CAAOp6W,EAAMknN,EAASmmyB,EAAYyN,EAAYjc,GAAmB3gO,GAASl6yB,GACxFi1xB,GAAMpzvB,EAAO,cAAe,SAC5B,IAAMmkV,EAjCO,SAAAp1Q,GACf,IAAM3c,EAAY8+rB,GAAazpD,QAAQ,OACjC7huB,EAAQsrxB,GAAavpD,QAAQ54nB,EAAQuoW,IAAIl6K,WAAU,IAEzD,OADAy2f,GAASzhsB,EAAWxsF,GAJR,SAAAmpG,GAAO,OAAIA,EAAQuoW,IAAI10a,SAAU,CAKtCyyvB,CAAMjjsB,EACf,CA4BiB0htB,CAAS9zwB,GACtBq4wB,EAAO90D,cAAcp/X,GACrBk0b,EAAO8wD,WACT,GACOzgpB,GAAW+6hB,GAAQ40D,GAAS,8BAA8B/wyB,IAAI,SAAA04B,GAYnE,OAXIq5+B,GAAoBhhO,GACtBg8O,GAAmBr0/B,GACVs5+B,GAAwBjhO,GACjCk8O,GAAkBv0/B,IACTo5+B,GAAyB/gO,IApBnB,SAAAvhyB,GAAK,OAAIq0D,EAASr0D,KAAkC,IAAxBA,EAAM3f,QAAQ,IAAY,CAoBxBo+hC,CAAah74B,EAAczjI,SACxEs9gC,GAAqBp0/B,GAEvB85+B,GAAgB95+B,GAChB8wvB,GAAS9wvB,EAAO,eAhCD,SAACq4wB,EAAQr4wB,GAC1B6+3B,EAAOnmvB,GAAY14I,EAAO,MAAO,SAAAyzZ,GAC/Bq8lB,GAAWz3O,EAAQ5kX,EAAI6jB,KACvBund,EAAOnmvB,GAAY+6Q,EAAK,SAAU,SAAA0E,GAChC43lB,GAAY13O,EAAQlgX,EAAKmf,IAC3B,EACF,EACF,CA0BIk+kB,CAAWn9O,EAAQr4wB,GApCQ,SAACq4wB,EAAQ0pD,GACtCr5oB,GAAWq5oB,EAAU,SAASjuyB,KAAKovf,EAAM8xe,GAAkB38O,GAC7D,CAmCIo9O,CAAuBp9O,EAAQr4wB,GACxBA,EAAMs3a,GACf,GAAGujW,WACL,EAaItwwB,GAAS68rB,QAAQz7W,KAAK0ia,MAAMpvxB,QAAQ,yBAElC4ogC,GAAgB,uBAChBC,GAAeD,GAAgB,OAC/BE,GAAkBF,GAAgB,UAClCzz+B,GAAU,SAAAhY,GACd,IAAMs5gC,EAAoBnr/B,GAAO063B,kBAAkB7o5B,GACnDmuB,GAAOjH,MAAM,CAACoy/B,GAChB,EACMphgC,GAAU,SAAAp8B,GACd,IAAI8oD,EACE5kC,EAAiC,QAAxB4kC,EAAKzW,GAAOud,cAAgC,IAAZ9G,EAAgBA,EAAK,GACpE,OAAO4ouB,GAAQxtwB,EAAO,SAAA4K,GAAI,OAAIkhwB,EAASxquB,KAAK12B,EAAKorX,QAAQl6Y,GAAM,EACjE,EACMk54B,GAAY,SAAAl54B,GACZo8B,GAAQp8B,GAAMivuB,UAChB58rB,GAAOvqC,OAEX,EACM21hC,GAAU,SAAAp5B,GACdA,EAAQ3zR,KAAKgtT,GAAW,SAAAz7/B,GAAI,OAAI/F,GAAQ,CACtC,CAAC0z+B,IAAe3t+B,GAChB,EACJ,EACM6t+B,GAAU,WAAH,OAAS1z+B,GAAQwz+B,GAAc,EACtC8tB,GAAY,WAAH,OAASxkJ,GAAU02H,GAAc,EAC1C+tB,GAAa,SAAAC,GACjBA,EAAWltT,KAAKmtT,GAAc,SAAA10yB,GAAO,OAAIjtN,GAAQ,CAC/C,CAAC2z+B,IAAkB1mxB,GACnB,EACJ,EACM4mxB,GAAa,WAAH,OAAS3z+B,GAAQyz+B,GAAiB,EAC5CguB,GAAe,WAAH,OAAS3kJ,GAAU22H,GAAiB,EAEhDiuB,GAAiC,SAAA39O,GAAM,OAAI6jN,GAA0BnH,GAAkB18M,GAASw8M,GAAUx8M,IAASnpxB,OAAOgr/B,GAAuB,EAEjJ5hH,GAAmB,SAACjgH,EAAQt7xB,GAChC,IAAMw3W,EAASsgoB,GAAUx8M,GAkCnB49O,EAAmB,SAAA99lB,GAAI,OAAIn4Z,GAAMm4Z,EAAM5jE,EAAQ,EAC/C2hqB,EAA2B,SAAAz3gC,GAAM,OArCX,SAAA45xB,GAAM,OAAI8jN,GAAiBpH,GAAkB18M,GAASw8M,GAAUx8M,IAASnpxB,OAAOgr/B,GAAuB,CAqCxFic,CAAsB99O,GAAQv7uB,KAAK,SAAAq7X,GAAI,OAAI89lB,EAAiB99lB,GAAM7wb,IAAI,SAAA04B,GAAK,OAAIvhB,EAAOuhB,EAAOm4Z,EAAK,EAAC,EAAE,EAwC1Ii+lB,EAAc,SAAAlmrB,GAClBmoc,EAAOr/wB,OACT,EACMq9/B,EAAiB,SAACl/J,GAAO,IAAEq5J,EAAQr2hC,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,IAAAA,UAAA,GAAQ,OAAK+7hC,EAAyB,SAACl2/B,EAAOy3yB,GACrF,IAAM3quB,EAAUo55B,GAAQ9J,GAAsB/jN,GAASr4wB,EAAOy3yB,GAC9D0/C,EAAQn31B,EAAO8sE,EAAS0j7B,GAAU189B,KAAKsi+B,EACzC,EAAG,EACGE,EAAmB,WAAH,OAASJ,EAAyB,SAACl2/B,EAAOy3yB,GAC9D,IAAM3quB,EAAUo55B,GAAQ9J,GAAsB/jN,GAASr4wB,EAAOy3yB,GACxD7rpB,EAAaos1B,GAAep15B,EAAMsuqB,GAAavpD,QAAQ0wE,EAAOzyD,UAAWsiC,EAAS/gX,QACxF,OAAO2qnB,GAAS9x/B,EAAO8sE,EAAS8+E,EAClC,EAAG,EACG2q2B,EAAmB,WAAH,OAASL,EAAyB,SAACl2/B,EAAOy3yB,GAC9D,IAAM3quB,EAAUo55B,GAAQ9J,GAAsB/jN,GAASr4wB,EAAOy3yB,GAC9D,OAAOw5M,GAASjx/B,EAAO8sE,EACzB,EAAG,EACG0p7B,EAAmB,SAACr/J,EAAS6wI,GAAO,OAAKA,IAAUl08B,KAAK,SAAA35B,GAC5D,IAAMs8/B,EAAap68B,EAAMliD,EAAM,SAAAs5Z,GAAG,OAAInwX,GAAKmwX,EAAI,GAC/CyimB,EAAyB,SAACl2/B,EAAOy3yB,GAC/B,IAAM7rpB,EAAakt1B,GAAQ5nP,GAAavpD,QAAQ0wE,EAAOzyD,WACjD94oB,EAj2EM,SAAC2ltB,EAAe21N,EAAOll/B,EAAW0oJ,GAAU,MAAM,CAClEiwF,UAAWA,GAAU42iB,GACrBvvxB,YACA0oJ,aACD,CA61EqB8q2B,CAAUt6B,GAAsB/jN,GAASo/B,EAAWg/M,EAAY7q2B,GAChFursB,EAAQn31B,EAAO8sE,GAASh5C,KAAKsi+B,EAC/B,EACF,EAAG,EACGO,EAAY,SAAAv1f,GAAS,OAAI,SAAC0hW,EAAK523B,GAAI,OAjxJ7B,SAACwpB,EAAKj8B,GAClB,OAAOy2xB,GAAMx6vB,EAAKj8B,GAAOyuxB,EAASxquB,KAAKhoB,EAAIj8B,IAAQyuxB,EAAS/gX,MAC9D,CA+wJgDyvnB,CAAM1qhC,EAAM,QAAQ4nD,KAAK,SAAA57D,GACrEm+hC,EAAej1f,EAAUlpiB,GAAOgU,EAAKw10B,UACvC,EAAG,CAAD,EACF4/E,GAAO,CACLu1H,mBAAoB,WAAF,OAAQR,EAAet5gC,EAAQmygC,aAAa,EAC9D4H,mBAAoB,WAAF,OAAQT,EAAet5gC,EAAQiygC,WAAW,EAC5D+H,wBAAyB,WAAF,OAAQV,EAAet5gC,EAAQ0wgC,iBAAiB,EACvEuJ,uBAAwB,WAAF,OAAQX,EAAet5gC,EAAQ2wgC,gBAAgB,EACrEuJ,wBAAyB,WAAF,OAAQZ,EAAet5gC,EAAQ6wgC,oBAAoB,EAC1EsJ,uBAAwB,WAAF,OAAQb,EAAet5gC,EAAQ+wgC,mBAAmB,EACxEqJ,kBAAmB,WAAF,OAAQd,EAAet5gC,EAAQ2zgC,aAAa,EAC7D0G,kBAAmB,WAAF,OAAQf,EAAet5gC,EAAQ0zgC,UAAU,EAC1D4G,eAAgB,WAAF,OAAQd,IAAmBzi+B,KAAK,SAAA+nN,GAC5Cg6wB,GAAWh6wB,GACXw6wB,EAAet5gC,EAAQ2zgC,aACzB,EAAE,EACF4G,eAAgB,WAAF,OAAQhB,IAAmBxi+B,KAAK,SAAA+nN,GAC5C85wB,GAAQ95wB,GACRw6wB,EAAet5gC,EAAQ0zgC,UACzB,EAAE,EACF8G,gBAAiB,WAAF,OAAQhB,IAAmBzi+B,KAAK,SAAA+nN,GAAS,OAAIg6wB,GAAWh6wB,EAAU,EAAC,EAClF27wB,gBAAiB,WAAF,OAAQlB,IAAmBxi+B,KAAK,SAAA+nN,GAAS,OAAI85wB,GAAQ95wB,EAAU,EAAC,EAC/E47wB,uBAAwB,WAAF,OAAQjB,EAAiBz5gC,EAAQqygC,gBAAiBnnB,GAAW,EACnFyvB,sBAAuB,WAAF,OAAQlB,EAAiBz5gC,EAAQuygC,eAAgBrnB,GAAW,EACjF0vB,uBAAwB,WAAF,OAAQnB,EAAiBz5gC,EAAQwygC,gBAAiBvnB,GAAQ,EAChF4vB,sBAAuB,WAAF,OAAQpB,EAAiBz5gC,EAAQyygC,eAAgBxnB,GAAQ,EAC9E6vB,eA5HiB,WAAH,OAAS7B,GAA+B39O,GAAQvkvB,KAAK,SAAAgk+B,GACnE93/B,GAAM83/B,EAAevjqB,GAAQrlW,OAAO6qW,EAAIxF,IAASzgU,KAAK,SAAA9zB,GACpD,IAAMp9B,EAASsuxB,GAAaxpD,SAAS,IAGrC,GAFAymS,GAAQnu+B,EAAOp9B,GACf6wxB,GAASzzvB,GACLq4wB,EAAO/gW,IAAIvib,QAAQsjxB,EAAO50D,WAC5B40D,EAAOxhE,WAAW,IAClBwhE,EAAOx8hB,UAAUgujB,wBACZ,CACL,IAAMrjZ,EAAM6xX,EAAO/gW,IAAI46V,YACvB1rX,EAAIihB,SAAS7kc,EAAO00c,IAAK,GACzB9wB,EAAIkhB,OAAO9kc,EAAO00c,IAAK,GACvB+gW,EAAOx8hB,UAAUkqe,OAAOv/T,GACxB6xX,EAAO6lB,aACT,CACF,EACF,EAAG,EA6GD65N,wBAlF2B,SAACj1J,EAAKtyG,GACjC0lQ,EAAyB,SAAAl2/B,GACvB,IAAMyyxB,EAAgB2pM,GAAsB/jN,GACtC2/O,EAAezrT,EAAOkmF,EAAe,SAAAt6X,GAAI,OAAIkgX,EAAO9qT,UAAUz0f,MAAM,iBAAkB,CAC1FtB,MAAOg5xB,GACNr4V,EAAKmf,IAAI,GACN2glB,EAAkBD,EAAe3/O,EAAO9qT,UAAUjse,OAAS+2xB,EAAO9qT,UAAUptf,MAClF0+5B,EAAOpsG,EAAe,SAAAt6X,GAAI,OAAI8/lB,EAAgB,iBAAkB,CAC9DzgiC,MAAOg5xB,GACNr4V,EAAKmf,IAAI,GACZugjB,GAAkBx/M,EAAQr4wB,EAAMs3a,IAAK4qjB,GACvC,EACF,EAuEEg2B,oBA3FuB,SAACp1J,EAAKtyG,GAC7B0lQ,EAAyB,SAAAl2/B,GACvBq4wB,EAAO9qT,UAAU7uc,OAAO,aAAc,CACpClnD,MAAOg5xB,GACNxwvB,EAAMs3a,KACTugjB,GAAkBx/M,EAAQr4wB,EAAMs3a,IAAK4qjB,GACvC,EACF,EAqFEi2B,sBAvEoB,WACpBnC,GAA+B39O,GAAQvkvB,KAAK,SAAAgk+B,GAC1C93/B,GAAM83/B,EAAevjqB,GAAQzgU,KAAK,SAAA9zB,GAChCs4C,GAAMt4C,EAAO,WAAW4osB,KAAK,WAC3B,IAAM5wS,EAAUk5V,GAAazpD,QAAQ,WACrCosD,GAAS77V,EAASk5V,GAAaxpD,SAAS,YA3/IjC,SAACrprB,EAAQ0wD,EAASxsG,GACjCqy/B,GAAQv28B,EAAQ97C,GAAOqmuB,KAAK,WAC1BirD,GAASx1uB,EAAQ0wD,EACnB,EAAG,SAAA/xD,GACD22uB,GAAS32uB,EAAG+xD,EACd,EACF,CAs/IUqp7B,CAASp4/B,EAAOg4Z,EAAS,GACzBqgX,EAAOx8hB,UAAUgujB,kBAAkB7xY,EAAQsf,IAAK,EAClD,EAAG,SAAAtf,GACG43V,GAAM,UAANA,CAAiBkoQ,IACnBjjlB,GAAI,KAAM70a,GAAO8zB,KAAK,SAAAorY,GAAE,OAAIm5W,EAAOx8hB,UAAUgujB,kBAAkB3qY,EAAGoY,IAAK,EAAE,GAE3Em8U,GAASz7V,EACX,GACA6/jB,GAAkBx/M,EAAQr4wB,EAAMs3a,IAAK6qjB,GACvC,EACF,EACF,EAuDEk2B,mBAAoB,SAACv1J,EAAKi/I,GAAM,OA/GZ,SAAAA,GAAM,OAAIiU,GAA+B39O,GAAQvkvB,KAAK,SAAAgk+B,GACnDxe,GAAwBjhO,IAAWghO,GAAoBhhO,IAAW+gO,GAAyB/gO,IAEhHr4wB,GAAM83/B,EAAevjqB,GAAQzgU,KAAK,SAAA9zB,GACjB,aAAX+h/B,GAA0BiS,GAAgBh0/B,GAExB,UAAX+h/B,GAAuBkS,GAAcj0/B,GAE1B,eAAX+h/B,GAA4BmS,GAAal0/B,IAClDu0/B,GAAkBv0/B,GAFlBq0/B,GAAmBr0/B,GAFnBo0/B,GAAqBp0/B,GAMvB85+B,GAAgB95+B,GAChB639B,GAAkBx/M,EAAQr4wB,EAAMs3a,IAAK6qjB,GACvC,EAEJ,EAAG,CAgGoCm2B,CAAcvW,EAAO,EAC1DwW,iBAAkB5B,EAAU,SAAAz+hC,GAAI,MAAa,OAATA,EAAgB6kB,EAAQ+xgC,gBAAkB/xgC,EAAQgygC,iBAAiB,GACvGyJ,gBAAiB7B,EAAU,SAAAz+hC,GAAI,MAAa,OAATA,EAAgB6kB,EAAQyxgC,kBAAoBzxgC,EAAQ2xgC,mBAAmB,GAC1G+J,gBAAiB9B,EAAU,SAAAz+hC,GACzB,OAAQA,GACN,IAAK,SACH,OAAO6kB,EAAQ4xgC,eACjB,IAAK,SACH,OAAO5xgC,EAAQ8xgC,eACjB,QACE,OAAO9xgC,EAAQ6xgC,aAErB,IACC,SAAClx9B,EAAM1oE,GAAI,OAAKqjzB,EAAO1yD,WAAW3wvB,EAAM0oE,EAAK,GAChD26uB,EAAO1yD,WAAW,iBAAkB,SAACm9I,EAAK523B,IAhMxB,SAACmsyB,EAAQl+wB,EAAMknN,GAA2B,IAAlBljP,EAAOhE,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC/Cu+hC,EAAa,SAAAzr/B,GAAG,OAAI6iF,EAAS7iF,IAAQA,EAAM,CAAE,EACnD,GAAIyr/B,EAAWv+/B,IAASu+/B,EAAWr3yB,GAAU,CAC3C,IAAMs3yB,EAAax6hC,EAAQw6hC,YAAc,EACnCC,EAAgBz6hC,EAAQy6hC,eAAiB,EAC/C,OAAOr04B,GAAO8zpB,EAAQh3jB,EAASlnN,EAAMy+/B,EAAeD,EACtD,CACE1jiC,QAAQC,MAAM,8FAGlB,CAuLI2jiC,CAAYxgP,EAAQnsyB,EAAKiuB,KAAMjuB,EAAKm1O,QAASn1O,EAAK/N,QACpD,GACAk6yB,EAAO1yD,WAAW,yBAA0B,SAACm9I,EAAK523B,GAChD,IAAM4shC,EAAgB,SAAAzghC,GAAK,MAAI,YAAcA,EAAMR,cAAcD,QAAQ,IAAK,GAAI,EAClF,GAAKupE,EAASj1E,GAAd,CAGA,IAAM8lR,EAAQ6qjB,EAASu/K,GAAsB/jN,GAAS6hO,IACtD,GAAqB,IAAjBlovB,EAAMr7R,OAAV,CAGA,IAAMoiiC,EAAYzlJ,GAASpn4B,EAAM,SAAC1U,EAAO6gB,GAAK,OAAKggyB,EAAO9qT,UAAU9wf,IAAIq8hC,EAAczghC,KAAW8yD,EAAS3zE,EAAM,IAp0JpG,SAAAuqD,GACd,IAAK,IAAM90C,KAAK80C,EACd,GAAIpmD,GAAehE,KAAKoqD,EAAG90C,GACzB,OAAO,EAGX,OAAO,CACT,EA8zJQ8nB,CAAQgkgC,KAGZz3H,GAAOy3H,EAAW,SAACvhiC,EAAO6gB,GACxB,IAAM88yB,EAAa2jO,EAAczghC,GACjCwm5B,EAAO7soB,EAAO,SAAAmmK,GACE,KAAV3gc,EACF6gzB,EAAO9qT,UAAUjse,OAAO6zyB,EAAY,CAClC39zB,MAAO,MACN2gc,EAAKmf,KAAK,GAEb+gW,EAAO9qT,UAAUptf,MAAMg1zB,EAAY,CACjC39zB,SACC2gc,EAAKmf,IAEZ,EACF,GACA2+kB,EAAiBjkwB,EAAM,IAAIl+N,KAAK,SAAA9zB,GAAK,OAAI639B,GAAkBx/M,EAAQr4wB,EAAMs3a,IAAK4qjB,GAAc,GAnB5F,CAJA,CAwBF,EACF,EAeM82B,GAAQ53O,GAAa,CAAC,CAC1Bp4pB,OAAQ,CAAC,YACR,CACD73E,GAAI,CAAC,UAAW,WACf,CACDosO,MAAO,CAAC,cAOJ6ihB,GAAO,CACXp3qB,OAJegw4B,GAAMhw4B,OAKrB73E,GAJS6n9B,GAAM7n9B,GAKfosO,MAJcy7uB,GAAMz7uB,MAKpBktb,KATa,SAACpoQ,EAASg+V,EAAUC,EAAMC,GAAO,OAAKl+V,EAAQumQ,KAAKy3F,EAAUC,EAAMC,EAAS,EAUzF71F,SATiB,SAAA40F,GAAI,OAAIA,EAAK12F,KAAKjhpB,EAAUA,EAAUA,EAAU,GAgB7D91B,GAJW,SAACgqN,EAAW8wd,GAAI,MAAM,CACrC9wd,YACA8wd,OACD,EAKKklF,GAAa,SAACxkoB,EAAKt+E,GACvB,IAAMy3U,EAAMn5P,EAAIjvK,SAAS8nb,cAEzB,OADA1f,EAAIqrY,WAAW9itB,EAAQuoW,KAChB9wB,CACT,EACM2f,GAAqB,SAAC94Q,EAAKt+E,GAC/B,IAAMy3U,EAAMn5P,EAAIjvK,SAAS8nb,cAEzB,OADA+ylB,GAAwBzymB,EAAKz3U,GACtBy3U,CACT,EACMyymB,GAA0B,SAACzymB,EAAKz3U,GAAO,OAAKy3U,EAAI2f,mBAAmBp3V,EAAQuoW,IAAK,EAmBhF6nX,GAAmB,SAAC9xoB,EAAK+xoB,EAAWC,GACxC,IAnBgB74Y,EAmBVnd,EAAQh8O,EAAIjvK,SAAS8nb,cAG3B,OAtBgB1f,EAoBPnd,EAAO+1Z,EAnBXx2F,KAAK,SAAA7zuB,GACRyxb,EAAIqjT,eAAe90uB,EAAEuid,IACvB,EAAG,SAACvid,EAAGmgE,GACLsxX,EAAIihB,SAAS1yc,EAAEuid,IAAKpiZ,EACtB,EAAG,SAAAngE,GACDyxb,EAAIsjT,cAAc/0uB,EAAEuid,IACtB,GAEgB,SAAC9wB,EAAK84Y,GACtBA,EAAK12F,KAAK,SAAA7zuB,GACRyxb,EAAIujT,aAAah1uB,EAAEuid,IACrB,EAAG,SAACvid,EAAGmgE,GACLsxX,EAAIkhB,OAAO3yc,EAAEuid,IAAKpiZ,EACpB,EAAG,SAAAngE,GACDyxb,EAAIwjT,YAAYj1uB,EAAEuid,IACpB,EACF,CAIEioX,CAAUl2Z,EAAOg2Z,GACVh2Z,CACT,EACMm2Z,GAAgB,SAACnyoB,EAAK7gL,EAAO+9tB,EAASjkuB,EAAQkkuB,GAClD,IAAMhkT,EAAMn5P,EAAIjvK,SAAS8nb,cAGzB,OAFA1f,EAAIihB,SAASj7b,EAAM8qc,IAAKizR,GACxB/jT,EAAIkhB,OAAOphc,EAAOgxc,IAAKkzR,GAChBhkT,CACT,EACM0ymB,GAAS,SAAAp6gC,GAAI,MAAK,CACtB3K,KAAM2K,EAAK3K,KACXE,IAAKyK,EAAKzK,IACVD,MAAO0K,EAAK1K,MACZE,OAAQwK,EAAKxK,OACbwC,MAAOgI,EAAKhI,MACZE,OAAQ8H,EAAK9H,OACd,EAOKyozB,GAAQre,GAAa,CAAC,CAC1Bl3E,IAAK,CAAC,QAAS,UAAW,SAAU,YACnC,CACDC,IAAK,CAAC,QAAS,UAAW,SAAU,cAEhC7+T,GAAY,SAACj+O,EAAKn1L,EAAMmxa,GAAK,OAAKnxa,EAAKg5xB,GAAavpD,QAAQt+T,EAAM+gU,gBAAiB/gU,EAAMm+H,YAAa0pP,GAAavpD,QAAQt+T,EAAMghU,cAAehhU,EAAMihU,UAAW,EA8BjKo1F,GAAW,SAACryoB,EAAKwuF,GACrB,IAAMw2iB,EA9BU,SAAChloB,EAAKwuF,GAAS,OAAKA,EAAU/iR,MAAM,CACpD6xuB,SAAU,SAAAnkT,GACR,MAAO,CACL0jT,IAAKpoL,EAASt7H,GACd2jT,IAAK+9C,EAAS/gX,KAElB,EACArpV,SAAU,SAACshvB,EAAWC,GACpB,MAAO,CACLn1F,IAAK3piB,GAAO,kBAAM4+nB,GAAiB9xoB,EAAK+xoB,EAAWC,EAAW,GAC9Dl1F,IAAK5piB,GAAO,kBAAM2nlB,EAASpyvB,KAAKqpyB,GAAiB9xoB,EAAKgyoB,EAAYD,GAAW,GAEjF,EACAtqmB,MAAO,SAACtoN,EAAO+9tB,EAASjkuB,EAAQkkuB,GAC9B,MAAO,CACLN,IAAK3piB,GAAO,kBAAMi/nB,GAAcnyoB,EAAK7gL,EAAO+9tB,EAASjkuB,EAAQkkuB,EAAQ,GACrEL,IAAK5piB,GAAO,kBAAM2nlB,EAASpyvB,KAAK0pyB,GAAcnyoB,EAAK/mL,EAAQkkuB,EAASh+tB,EAAO+9tB,GAAS,GAExF,GACC,CAWco1F,CAAUtyoB,EAAKwuF,GAC9B,OAXiB,SAACxuF,EAAKgloB,GACvB,IAAM7rY,EAAM6rY,EAAOnoF,MACnB,OAAI1jT,EAAIptL,UACWi5jB,EAAOloF,MAAMj7sB,OAAO,SAAA0wyB,GAAG,OAAsB,IAAlBA,EAAIxmkB,SAAmB,GACnD9xP,IAAI,SAAAs4zB,GAAG,OAAIH,GAAMt1F,IAAI+mD,GAAavpD,QAAQi4F,EAAIv1F,cAAeu1F,EAAIt1F,UAAW4mD,GAAavpD,QAAQi4F,EAAIx1F,gBAAiBw1F,EAAIp4R,YAAY,GAAEujM,WAAW,kBAAMz/T,GAAUj+O,EAAKoyoB,GAAMv1F,IAAK1jT,EAAI,GAEhMlb,GAAUj+O,EAAKoyoB,GAAMv1F,IAAK1jT,EAErC,CAGSq5Y,CAAWxyoB,EAAKgloB,EACzB,EACM8mO,GAAa,SAAC9r2B,EAAKwuF,GAEvB,OADkB6jjB,GAASryoB,EAAKwuF,GACf/iR,MAAM,CACrBoxuB,IAAK,SAAC19tB,EAAO+9tB,EAASjkuB,EAAQkkuB,GAC5B,IAAMhkT,EAAMn5P,EAAIjvK,SAAS8nb,cAGzB,OAFA1f,EAAIihB,SAASj7b,EAAM8qc,IAAKizR,GACxB/jT,EAAIkhB,OAAOphc,EAAOgxc,IAAKkzR,GAChBhkT,CACT,EACA2jT,IAAK,SAAC39tB,EAAO+9tB,EAASjkuB,EAAQkkuB,GAC5B,IAAMhkT,EAAMn5P,EAAIjvK,SAAS8nb,cAGzB,OAFA1f,EAAIihB,SAASnhc,EAAOgxc,IAAKkzR,GACzBhkT,EAAIkhB,OAAOl7b,EAAM8qc,IAAKizR,GACf/jT,CACT,GAEJ,EACAi5Y,GAAMv1F,IACNu1F,GAAMt1F,IAEN,IAMM21F,GANW,SAACtzzB,EAAO+9tB,EAASjkuB,EAAQkkuB,GAAO,MAAM,CACrDh+tB,QACA+9tB,UACAjkuB,SACAkkuB,UACD,EAWK4uT,GANW,SAAC5shC,EAAO+9tB,EAASjkuB,EAAQkkuB,GACxC,MAAO,CACLh+tB,MAAO4zzB,GAAKjvvB,GAAG3kE,EAAO+9tB,GACtBjkuB,OAAQ85zB,GAAKjvvB,GAAG7qE,EAAQkkuB,GAE5B,EAKM6uT,GAAiB,SAAChs2B,EAAKwuF,GAC3B,IAAM2qK,EAAM2ymB,GAAW9r2B,EAAKwuF,GAC5B,OAAOikjB,GAAgB5uC,GAAavpD,QAAQnhT,EAAI4jT,gBAAiB5jT,EAAIghH,YAAa0pP,GAAavpD,QAAQnhT,EAAI6jT,cAAe7jT,EAAI8jT,UAChI,EACMgvT,GAAYF,GAaZvxT,GAAS,SAACz1oB,EAAWmiS,EAAQ/nX,EAAOlG,EAAQizhC,GAChD,OAAKpyQ,GAAK36wB,EAAOlG,GAWR4hxB,EAAS/gX,OAVTixY,GAAS5ryB,EAAOlG,EAAQiuX,GAAQz3T,KAAK,SAAA089B,GAC1C,IAAMzd,EAAQyd,EAAQzd,MAAMz0S,MAAM,IAClC,OAAIy0S,EAAMplhC,OAAS,GACjB4iiC,EAAYnn8B,EAAW2p7B,EAAOyd,EAAQhthC,MAAOgthC,EAAQlzhC,QAC9C4hxB,EAASpyvB,KAAK+7B,GAAgBq2tB,EAASpyvB,KAAKwjgC,GAAU9shC,EAAO,EAAGA,EAAO0yzB,GAAO1yzB,MAAU,KAExF07wB,EAAS/gX,MAEpB,EAIJ,EAUMlxC,GAAW,SAACjvW,EAAM1lB,GAAI,MAAM,CAChC0lB,OACA1lB,OACD,EACKm4hC,GAAY,SAAC5xH,EAAU7g5B,EAAM0ygC,GAAuC,IAA3BvuW,EAAUhxrB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAGw/hC,GAC1D,OAAO9xH,EAASlv5B,WAAW0lC,OAAOr3B,GAAM1f,IAAI,SAAAzQ,GAC1C,OAAOo/X,GAASp/X,EAAGs0rB,EACrB,EACF,EACMwuW,GAAW,SAAC9xH,EAAU7g5B,EAAM/R,GAAqC,IAA1Bk2qB,EAAUhxrB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG09V,GACxD,OAAO5iV,EAAU22qB,QAAQi8O,EAAU7g5B,GAAM1f,IAAI,SAAAzQ,GAC3C,OAAOo/X,GAASp/X,EAAGs0rB,EACrB,EACF,EACMtzV,GAAU,SAACgwkB,EAAU7g5B,EAAM/R,GAAqC,IAA1Bk2qB,EAAUhxrB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG09V,GACjDziR,EAAWyy1B,EAASlv5B,WAAWy8D,SAASpuD,GAE9C,OADe/R,EAAUm3I,MAAMh3E,GACjB9tE,IAAI,SAAAy6C,GAChB,OAAOk0U,GAASl0U,EAAGopoB,EACrB,EACF,EACMyuW,GAAa,CAAC,CAClB924B,QAAS224B,GACTl1hC,KAAMo1hC,GACNvvzB,SAAU89iB,EAAS/gX,QAClB,CACDrkR,QAAS624B,GACTp1hC,KAAMszV,GACNztH,SAAU89iB,EAASpyvB,KAAK2jgC,KACvB,CACD324B,QAAS+0M,GACTtzV,KAAMszV,GACNztH,SAAU89iB,EAASpyvB,KAAK6jgC,MAEpB9vnB,GAAK,SAACg+f,EAAU7g5B,EAAM1lB,EAAM2T,GAIhC,OAHgBm2wB,EADgCjxxB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAGy/hC,GACrB,SAAAC,GAC5B,OAAOA,EAAK/24B,UAAYxhJ,CAC1B,GACew7D,KAAK,SAAAsqK,GAClB,OAAOA,EAAKtkF,QAAQ+kxB,EAAU7g5B,EAAM/R,EAAWmyN,EAAK7iO,MAAMokuB,QAAQ,WAChE,OAAOvhgB,EAAKgD,SAASttK,KAAK,SAAA0jjB,GACxB,OAAO32M,GAAGg+f,EAAU7g5B,EAAMw5lB,EAAIvrmB,EAChC,EACF,EACF,EACF,EA0BM6khC,GAxBS,WAOb,MAAO,CACLluW,QAPc,SAACi8O,EAAU7g5B,GACzB,OAAO6g5B,EAAStp1B,QAAQ8ypB,YAAYrqtB,EACtC,EAMEolI,MALY,SAAAh3E,GACZ,OAAOA,EAASz+E,OAAS,EAAIuxxB,EAASpyvB,KAAKs/C,EAASA,EAASz+E,OAAS,IAAMuxxB,EAAS/gX,MACvF,EAKF,EAaM2ynB,GAZU,WAOd,MAAO,CACLluW,QAPc,SAACi8O,EAAU7g5B,GACzB,OAAO6g5B,EAAStp1B,QAAQ2+R,YAAYl2V,EACtC,EAMEolI,MALY,SAAAh3E,GACZ,OAAOA,EAASz+E,OAAS,EAAIuxxB,EAASpyvB,KAAKs/C,EAAS,IAAM8ysB,EAAS/gX,MACrE,EAKF,EAMM4ynB,GAAO,SAAClyH,EAAU7g5B,EAAMo3E,EAAW98F,EAAM2T,EAAWs/W,GAExD,OADas1C,GAAGg+f,EAAU7g5B,EAAM1lB,EAAM2T,GAC1B6nD,KAAK,SAAA3/D,GACf,OAAIo3X,EAAOp3X,EAAE6pB,MACJkhwB,EAAS/gX,OAET/oU,EAAUjhG,EAAE6pB,MAAQkhwB,EAASpyvB,KAAK34B,EAAE6pB,MAAQ+ygC,GAAKlyH,EAAU1q6B,EAAE6pB,KAAMo3E,EAAWjhG,EAAEmE,KAAM2T,EAAWs/W,EAE5G,EACF,EAQMylqB,GAAS,SAAAnyH,GAAQ,OAAI,SAAA94zB,GAAO,OAAqD,IAAjD84zB,EAASlv5B,WAAWy8D,SAAS25B,GAASp4G,MAAa,CAAD,EAOlFsjiC,GAdO,SAACpyH,EAAU7g5B,EAAMo3E,EAAWm2R,GACvC,OAAOwlqB,GAAKlyH,EAAU7g5B,EAAMo3E,EAAWu77B,GAAUG,KAAgBvlqB,EACnE,EAaM2lqB,GAZQ,SAACryH,EAAU7g5B,EAAMo3E,EAAWm2R,GACxC,OAAOwlqB,GAAKlyH,EAAU7g5B,EAAMo3E,EAAWu77B,GAAUG,KAAiBvlqB,EACpE,EAYMsziB,GAAWuzG,KACXpy3B,GAAS,SAACj6C,EAASwlR,GACvB,OAXe,SAACsziB,EAAU7g5B,EAAMutW,GAChC,OAAO0lqB,GAAWpyH,EAAU7g5B,EAAMgzgC,GAAOnyH,GAAWtziB,EACtD,CASSmgnB,CAAS7sE,GAAU94zB,EAASwlR,EACrC,EACMoziB,GAAU,SAAC54zB,EAASwlR,GACxB,OAXc,SAACsziB,EAAU7g5B,EAAMutW,GAC/B,OAAO2lqB,GAAYryH,EAAU7g5B,EAAMgzgC,GAAOnyH,GAAWtziB,EACvD,CASSm5b,CAAQm6G,GAAU94zB,EAASwlR,EACpC,EAUM4rc,GAAQ/e,GAAa,CAAC,CAC1Bj6Y,KAAM,CAAC,YACN,CACDp7R,QAAS,IACR,CACDou5B,SAAU,CAAC,SACV,CACDC,WAAY,CAAC,WAOTC,GAAQ,SAAA/42B,GACZ,OAAO2hqB,GAAU3hqB,EAAM,KACzB,EAmBMg52B,GAAW52hC,EAAA,GACZy8zB,GAAM,CACTo6N,OApBa,SAACv6H,EAAQh3wB,EAAQwx4B,EAAcj9uB,EAAOk9uB,EAAaxyzB,EAASssJ,GACzE,OAAO0ud,GAAU1liB,EAAO,QAASg3E,GAAQz3T,KAAK,SAAA499B,GAC5C,OAAOz3M,GAAUj6rB,EAAQ,QAASurO,GAAQjtX,IAAI,SAAAqzhC,GAC5C,OAAKxzQ,GAAKuzQ,EAAWC,GAOZxzQ,GAAK5pe,EAAOm9uB,IAAcx7N,GAAOw7N,KAAeD,EAAcxyzB,EAAQ0yzB,GAAcx6N,GAAMh5Z,KAAK,gBAN/F00mB,GAAUwe,GAAO,CAACK,EAAWC,IAAa/xT,KAAK,WACpD,OAbY,SAACo3L,EAAQh3wB,EAAQu0J,GACrC,IAAMq9uB,EAAe56H,EAAOxgZ,QAAQx2X,GAC9B6x4B,EAAc76H,EAAOxgZ,QAAQjiO,GACnC,OAAOs9uB,EAAYzmhC,MAAQwmhC,EAAazmhC,MAAQ0mhC,EAAY1mhC,KAAOymhC,EAAaxmhC,KAClF,CASiBum4B,CAAcqlB,EAAQ26H,EAAYD,GAAav6N,GAAMp0rB,UAAYk8F,EAAQ0yzB,EAClF,EAAG,SAAAG,GACD,OAAO7yzB,EAAQ0yzB,EACjB,EAIJ,EACF,GAAGrzT,MAAM64F,GAAMh5Z,KAAK,WACtB,EAOEsjU,KANW,SAACpoQ,EAAS8lT,EAAQl2S,EAAW8ojB,EAAYC,GACpD,OAAO34jB,EAAQumQ,KAAKu/C,EAAQl2S,EAAW8ojB,EAAYC,EACrD,IAiBM7jiC,GAAU,SAACk7I,EAAUtjC,GAAO,OAAK7nF,EAAUmrH,EAAU6wa,EAAMikO,GAAMp4qB,GAAU,EAE3EqgwB,GAAOx/E,GAAM,MACbqrQ,GAAW,SAACC,EAAM91kB,EAAQ7wF,GAC9B,OAAO6wF,EAAO81kB,EAAM3mqB,GAAQz3T,KAAK,SAAA77D,GAC/B,OAAOq8W,GAAOr8W,IAA2C,IAAhCizxB,GAAMjzxB,GAAQkuD,OAAOx4D,OAAeskiC,GAASh6hC,EAAQmkd,EAAQ7wF,GAAU2zZ,EAASpyvB,KAAK70B,EAChH,EACF,EAWMk6hC,GAAe,SAAC5mqB,EAAQxlR,EAASp1F,EAAQ1E,GAC7C,OANa,SAAC85F,EAASp1F,GACvB,OAAOi7+B,GAAQ7l5B,EAASp1F,GAAQuV,OAAOkg1B,IAAMzmI,QAAQ,WACnD,OAAOisR,GAAQ7l5B,EAASp1F,EAAS,GAAGuV,OAAOkg1B,GAC7C,EACF,CAESv/B,CAAO9guB,EAASp1F,GAAQmjD,KAAK,SAAAg0V,GAClC,OAAO77Y,EAAUghX,SAAS66B,GAAI83U,KAAK,WACjC,OAAOqyT,GAASnqoB,EAAI77Y,EAAUmwc,OAAQ7wF,GAAQjtX,IAAI2N,EAAU6oE,SAC9D,EAAG,SAAAs98B,GACD,OA3BgB,SAAArs7B,GAAO,OAAI1wD,GAAO0wD,GAASjyC,KAAK,SAAAze,GACpD,IAAM+2B,EAAW8o2B,GAAW7/3B,GAC5B,OAAOlnD,GAAQi+E,EAAU25B,GAASznG,IAAI,SAAA/E,GAAK,OAR5B,SAAC87C,EAAQ+2B,EAAU25B,EAASxsG,GAAK,MAAM,CACtD87C,SACA+2B,WACA25B,UACAxsG,QACD,CAGgD84hC,CAASh9+B,EAAQ+2B,EAAU25B,EAASxsG,EAAM,EAC3F,EAAG,CAwBU+4hC,CAAcF,GAAU9zhC,IAAI,SAAAoL,GACjC,OAAO0tzB,GAAKjvvB,GAAGz+D,EAAK2rC,OAAQ3rC,EAAKnQ,MACnC,EACF,EACF,EACF,EACMg5hC,GAAQ,SAAChnqB,EAAQxlR,EAASp1F,EAAQ1E,GACtC,IAAMhU,EAASmu2B,GAAKrgwB,GAtBL,SAACwlR,EAAQxlR,EAAS95F,GACjC,OAAOA,EAAUghX,SAASlnR,GAAS45nB,QAAQ,WACzC,OAAOsyT,GAASls7B,EAAS95F,EAAUmwc,OAAQ7wF,EAC7C,GAAGjtX,IAAI2N,EAAU6oE,SACnB,CAkBiC098B,CAASjnqB,EAAQxlR,EAAS95F,GAAakmhC,GAAa5mqB,EAAQxlR,EAASp1F,EAAQ1E,GAC5G,OAAOhU,EAAOqG,IAAI,SAAAm0hC,GAChB,MAAO,CACLjvhC,MAAOivhC,EACPn1hC,OAAQm1hC,EAEZ,EACF,EAaMjlK,GAAW,SAACx4mB,EAAO+gG,GACvB,MAAO,CACL5qW,KAAM6pQ,EAAM7pQ,KACZE,IAAK2pQ,EAAM3pQ,IAAM0qW,EACjB3qW,MAAO4pQ,EAAM5pQ,MACbE,OAAQ0pQ,EAAM1pQ,OAASyqW,EAE3B,EACM03gB,GAAS,SAACz4mB,EAAO+gG,GACrB,MAAO,CACL5qW,KAAM6pQ,EAAM7pQ,KACZE,IAAK2pQ,EAAM3pQ,IAAM0qW,EACjB3qW,MAAO4pQ,EAAM5pQ,MACbE,OAAQ0pQ,EAAM1pQ,OAASyqW,EAE3B,EACMrkL,GAAY,SAACsjF,EAAO09wB,EAAQC,GAChC,MAAO,CACLxnhC,KAAM6pQ,EAAM7pQ,KAAOunhC,EACnBrnhC,IAAK2pQ,EAAM3pQ,IAAMsnhC,EACjBvnhC,MAAO4pQ,EAAM5pQ,MAAQsnhC,EACrBpnhC,OAAQ0pQ,EAAM1pQ,OAASqnhC,EAE3B,EAgBMC,GAAU,SAAA98gC,GAAI,MAAK,CACvB3K,KAAM2K,EAAK3K,KACXE,IAAKyK,EAAKzK,IACVD,MAAO0K,EAAK1K,MACZE,OAAQwK,EAAKxK,OACd,EACKunhC,GAAa,SAAC77H,EAAQjxzB,GAC1B,OAAOm5qB,EAASpyvB,KAAKkq4B,EAAOxgZ,QAAQzwa,GACtC,EACM+s7B,GAAW,SAAC97H,EAAQjxzB,EAASp1F,GACjC,OAAI0jW,GAAUtuQ,GACL8s7B,GAAW77H,EAAQjxzB,GAASznG,IAAIs0hC,IAC9Bt+qB,GAAOvuQ,GApBE,SAACixzB,EAAQjxzB,EAASp1F,GACtC,OAAIA,GAAU,GAAKA,EAASulzB,GAAOnwtB,GAC1BixzB,EAAO+7H,cAAcht7B,EAASp1F,EAAQo1F,EAASp1F,EAAS,GACtDA,EAAS,EACXqm5B,EAAO+7H,cAAcht7B,EAASp1F,EAAS,EAAGo1F,EAASp1F,GAErDuuwB,EAAS/gX,MAClB,CAcW60nB,CAAch8H,EAAQjxzB,EAASp1F,GAAQrS,IAAIs0hC,IAE3C1zQ,EAAS/gX,MAEpB,EACM80nB,GAAe,SAACj8H,EAAQjxzB,GAC5B,OAAIsuQ,GAAUtuQ,GACL8s7B,GAAW77H,EAAQjxzB,GAASznG,IAAIs0hC,IAC9Bt+qB,GAAOvuQ,GACTixzB,EAAO+7H,cAAcht7B,EAAS,EAAGA,EAASmwtB,GAAOnwtB,IAAUznG,IAAIs0hC,IAE/D1zQ,EAAS/gX,MAEpB,EAIMq5Z,GAAQpf,GAAa,CAAC,CAC1Bj6Y,KAAM,IACL,CACDunG,MAAO,CAAC,YAKJwthB,GAAiB,SAACl8H,EAAQjxzB,EAASivK,GACvC,OAAOy2tB,GAAU1l4B,EAAS+urB,IAASl1D,KAAKq/C,EAAO,SAAA9vV,GAC7C,OAAO8jmB,GAAaj8H,EAAQ7ne,GAAMq2B,OAAO,SAAA9zO,GACvC,OANY,SAACsjC,EAAOtjC,GACxB,OAAOsjC,EAAM7pQ,KAAOumO,EAAIvmO,MAAQU,KAAKgB,IAAI6kO,EAAItmO,MAAQ4pQ,EAAM7pQ,MAAQ,GAAK6pQ,EAAM7pQ,KAAOumO,EAAItmO,KAC3F,CAIa+nhC,CAAUn+wB,EAAOtjC,EAC1B,EACF,EACF,EA+BM0hzB,GAAe,CACnBhj/B,MAxFgB,SAAA4kO,GAChB,OAAOA,EAAM1pQ,MACf,EAuFE+nhC,SAhCiB,SAACr8H,EAAQjxzB,EAASut7B,EAAU/p+B,EAAUyrN,GACvD,IAAMu+wB,EAAa/lK,GAASx4mB,EAlBZ,GAmBhB,OAAInpQ,KAAKgB,IAAIymhC,EAAShohC,OAASi+C,EAASj+C,QAAU,GAEvCgohC,EAASjohC,IAAM2pQ,EAAM1pQ,OADvBkszB,GAAM9xT,MAAM6thB,GAGVD,EAASjohC,MAAQ2pQ,EAAM1pQ,OACzBkszB,GAAM9xT,MAAM8nX,GAASx4mB,EAAO,IAE5Bk+wB,GAAel8H,EAAQjxzB,EAASivK,GAASwijB,GAAM9xT,MAAMh0U,GAAU6h2B,EA1BxD,EA0B+E,IAAM/7N,GAAMr5Z,MAE7G,EAsBEg+F,KAAMqxX,GACNpxa,OAAQuid,IAUJ60H,GAAY,SAACx8H,EAAQ1gB,EAAU/s1B,EAAUyrN,EAAO0iqB,GACpD,OAAmB,IAAfA,EACKx4J,EAASpyvB,KAAKkoP,GAVP,SAACgipB,EAAQ/y5B,EAAGC,GAC5B,OAAO8y5B,EAAOnyd,iBAAiB5gc,EAAGC,GAAGgiB,OAAO,SAAAvH,GAC1C,MAAqB,UAAd3yB,GAAK2yB,EACd,GAAGw/sB,QACL,CAQMs1T,CAAUz8H,EAAQhipB,EAAM7pQ,KAAMmr4B,EAASlm2B,MAAM4kO,IAP5B,SAACgipB,EAAQ1gB,EAAU/s1B,EAAUyrN,EAAO0iqB,GACzD,OAAO87G,GAAUx8H,EAAQ1gB,EAAU/s1B,EAAU+s1B,EAASn6Y,KAAKnnP,EA3D3C,GA2D8D0iqB,EAChF,CAMWg8G,CAAe18H,EAAQ1gB,EAAU/s1B,EAAUyrN,EAAO0iqB,EAAa,GAEjE1gB,EAAO28H,eAAe3+wB,EAAM7pQ,KAAMmr4B,EAASlm2B,MAAM4kO,IAAQlhN,KAAK,SAAA84b,GACnE,OAAOA,EAAMppf,MAAMo8tB,KAAKs/C,EAAS/gX,KAAM,SAAAp4T,GACrC,OAAOkt7B,GAAaj8H,EAAQjxzB,GAASjyC,KAAK,SAAAw/9B,GACxC,OAAOh9I,EAAS+8I,SAASr8H,EAAQjxzB,EAASut7B,EAAU/p+B,EAAUyrN,GAAO4qd,KAAKs/C,EAAS/gX,KAAM,SAAAy1nB,GACvF,OAAOJ,GAAUx8H,EAAQ1gB,EAAU/s1B,EAAUqq+B,EAAUl8G,EAAa,EACtE,EACF,GAAG/3M,QAAQ,WACT,OAAOu/C,EAASpyvB,KAAKkoP,EACvB,EACF,EAAGkqgB,EAAS/gX,KACd,EACF,EAUMunG,GAAQ,SAAC4wY,EAAU0gB,EAAQhipB,GAC/B,IAAM6+wB,EAAQv9I,EAASn6Y,KAAKnnP,EA1FZ,GA2FV8+wB,EAAWN,GAAUx8H,EAAQ1gB,EAAUthoB,EAAO6+wB,EA1FlC,KA0FsDv1T,MAAMu1T,GAC9E,OAZkB,SAACv9I,EAAUw9I,EAAU98H,GACvC,OAAI1gB,EAASlm2B,MAAM0j/B,GAAY98H,EAAO+8H,iBAC7B70Q,EAASpyvB,KAAKwp3B,EAASlm2B,MAAM0j/B,GAAY98H,EAAO+8H,kBAC9Cz9I,EAASlm2B,MAAM0j/B,GAAY,EAC7B50Q,EAASpyvB,MAAMwp3B,EAASlm2B,MAAM0j/B,IAE9B50Q,EAAS/gX,MAEpB,CAIS61nB,CAAY19I,EAAUw9I,EAAU98H,GAAQp3L,KAAK,WAClD,OAAOo3L,EAAO28H,eAAeG,EAAS3ohC,KAAMmr4B,EAASlm2B,MAAM0j/B,GAC7D,EAAG,SAAA7+7B,GAED,OADA+h0B,EAAOz/X,SAAS,EAAGtic,GACZ+h0B,EAAO28H,eAAeG,EAAS3ohC,KAAMmr4B,EAASlm2B,MAAM0j/B,GAAY7+7B,EACzE,EACF,EACMg/7B,GAAU,CACdC,MAAOh6e,EAAMx0C,GA3DI,CACjBt1d,MArFa,SAAA4kO,GACb,OAAOA,EAAM3pQ,GACf,EAoFEgohC,SAde,SAACr8H,EAAQjxzB,EAASut7B,EAAU/p+B,EAAUyrN,GACrD,IAAMm/wB,EAAc1mK,GAAOz4mB,EA9BX,GA+BhB,OAAInpQ,KAAKgB,IAAIymhC,EAASjohC,IAAMk+C,EAASl+C,KAAO,GAEjCiohC,EAAShohC,OAAS0pQ,EAAM3pQ,IAD1BmszB,GAAM9xT,MAAMyuhB,GAGVb,EAAShohC,SAAW0pQ,EAAM3pQ,IAC5BmszB,GAAM9xT,MAAM+nX,GAAOz4mB,EAAO,IAE1Bk+wB,GAAel8H,EAAQjxzB,EAASivK,GAASwijB,GAAM9xT,MAAMh0U,GAAUyi2B,EAtCxD,EAsCgF,IAAM38N,GAAMr5Z,MAE9G,EAIEg+F,KAAMsxX,GACNrxa,OAAQp8T,KAwDRo04B,QAASl6e,EAAMx0C,GAAO0thB,IACtBiB,YAAav7e,EAtGG,IA0GZw7e,GAAW,SAACt9H,EAAQzriB,EAAQt/W,GAChC,OAAO+q5B,EAAOjuO,eAAej1nB,KAAK,SAAA+/E,GAChC,OAAO0+4B,GAAMhnqB,EAAQ13O,EAAIv2I,OAAQu2I,EAAI2tlB,QAASv1tB,GAAW2ztB,KAAK,WAC5D,OAAOs/C,EAASpyvB,KAAKsjB,GAAMyjG,EAAIv2I,OAAQu2I,EAAI2tlB,SAC7C,EAAG,SAAA+yT,GACD,IAAMl0nB,EAAQ22f,EAAOw9H,UAAUD,GAE/B,OAhMU,SAAAE,GACd,OAAOnD,GAAY7vT,KAAKgzT,EAAU,SAAAC,GAChC,OAAOx1Q,EAAS/gX,MAClB,EAAG,WACD,OAAO+gX,EAAS/gX,MAClB,EAAG,SAAAgxB,GACD,OAAO+vV,EAASpyvB,KAAKsjB,GAAM++Y,EAAM,GACnC,EAAG,SAAAA,GACD,OAAO+vV,EAASpyvB,KAAKsjB,GAAM++Y,EAAM+mY,GAAO/mY,IAC1C,EACF,CAsLa/uZ,CADUkx/B,GAAYC,OAAOv6H,EAAQnjxB,EAAIv2I,OAAQu2I,EAAI2tlB,QAASnhU,EAAM/ia,OAAQ+ia,EAAMmhU,QAASv1tB,EAAUgzN,QAASssJ,GAEvH,EACF,EACF,EACM0rS,GAAO,SAAC+/P,EAAQzriB,EAAQxlR,EAASp1F,EAAQ1E,EAAWyr6B,GACxD,OAAmB,IAAfA,EACKx4J,EAAS/gX,OAEXw2nB,GAAU39H,EAAQzriB,EAAQxlR,EAASp1F,EAAQ1E,GAAW6nD,KAAK,SAAA8g+B,GAChE,IAAMv0nB,EAAQ22f,EAAOw9H,UAAUI,GACzBH,EAAWnD,GAAYC,OAAOv6H,EAAQjxzB,EAASp1F,EAAQ0vZ,EAAM/ia,OAAQ+ia,EAAMmhU,QAASv1tB,EAAUgzN,QAASssJ,GAC7G,OAAO+lqB,GAAY7vT,KAAKgzT,EAAU,WAChC,OAAOv1Q,EAAS/gX,MAClB,EAAG,WACD,OAAO+gX,EAASpyvB,KAAK8ngC,EACvB,EAAG,SAAAzlmB,GACD,OAAIgvV,GAAKp4qB,EAASopV,IAAoB,IAAXx+a,EAClBkkhC,GAAS79H,EAAQjxzB,EAASp1F,EAAQ882B,GAAQxh3B,GAE1CgrpB,GAAK+/P,EAAQzriB,EAAQ4jE,EAAM,EAAGljb,EAAWyr6B,EAAa,EAEjE,EAAG,SAAAvof,GACD,OAAIgvV,GAAKp4qB,EAASopV,IAASx+a,IAAWulzB,GAAO/mY,GACpC0lmB,GAAS79H,EAAQjxzB,EAASp1F,EAAQ682B,GAAUvh3B,GAE5CgrpB,GAAK+/P,EAAQzriB,EAAQ4jE,EAAM+mY,GAAO/mY,GAAOljb,EAAWyr6B,EAAa,EAE5E,EACF,EACF,EACMm9G,GAAW,SAAC79H,EAAQjxzB,EAASp1F,EAAQwrf,EAAMlwf,GAC/C,OAAO6mhC,GAAS97H,EAAQjxzB,EAASp1F,GAAQmjD,KAAK,SAAA49K,GAC5C,OAAOojzB,GAAM99H,EAAQ/q5B,EAAWkwf,EAAKzqR,EAAKuizB,GAAQI,eACpD,EACF,EACMS,GAAQ,SAAC99H,EAAQ/q5B,EAAWylO,GAChC,IAAM/7I,EAAU+urB,KAAW/urB,QAC3B,OAAIA,EAAQ+oR,cAAgB/oR,EAAQm9L,YAAcn9L,EAAQwpoB,YACjDlztB,EAAUy5f,MAAMsxZ,EAAQtlrB,GAExBwtiB,EAAS/gX,MAEpB,EACMw2nB,GAAY,SAAC39H,EAAQzriB,EAAQxlR,EAASp1F,EAAQ1E,GAClD,OAAO6mhC,GAAS97H,EAAQjxzB,EAASp1F,GAAQmjD,KAAK,SAAA49K,GAC5C,OAAOojzB,GAAM99H,EAAQ/q5B,EAAWylO,EAClC,EACF,EAOMqjzB,GAAc,SAACz82B,EAAMthJ,GACzB,OAlVuBo+D,EAkVD,SAAArpG,GACpB,OAAOspD,GAAOtpD,GAAGy5d,OAAO,SAAA33d,GACtB,OAAOswxB,GAAKtwxB,EAAGmpC,EACjB,EACF,EAtV6Cy1vB,GAkV7Bn0mB,EAlV+CljF,EAAWm2R,GAAQ4yW,SAAnE,IAAQ/ooB,EAAWm2R,CAuVpC,EACMypqB,GAAW,SAACh+H,EAAQzriB,EAAQt/W,EAAW+0N,EAASq9Z,GACpD,OAAO47M,GAAUj5mB,EAAS,QAASuqJ,GAAQz3T,KAAK,SAAAtwD,GAC9C,OAAOy20B,GAAUz20B,EAAO,QAAS+nX,GAAQz3T,KAAK,SAAA98B,GAC5C,OAAK+9/B,GAAY12Z,EAAQrnmB,GAhBd,SAACgg4B,EAAQzriB,EAAQt/W,GAChC,OAAOqohC,GAASt9H,EAAQzriB,EAAQt/W,GAAW6nD,KAAK,SAAAy+zB,GAC9C,OAAOt7N,GAAK+/P,EAAQzriB,EAAQgngB,EAAKxsxB,QAASwsxB,EAAK5h3B,OAAQ1E,EA1DvC,IA0D+D3N,IAAI045B,EAAOw9H,UAC5F,EACF,CAeanpQ,CAAS2rI,EAAQzriB,EAAQt/W,GAAW6nD,KAAK,SAAAusW,GAC9C,OAAO45a,GAAU55a,EAAM/ia,OAAQ,QAASiuX,GAAQjtX,IAAI,SAAAhB,GAClD,MAAO,CACLkG,QACAlG,SACA+ia,QAEJ,EACF,GAVS6+W,EAAS/gX,MAWpB,EACF,EACF,EACMntO,GAAW,SAACgmuB,EAAQzriB,EAAQt/W,EAAW+0N,EAASq9Z,EAAQ42Z,GAC5D,OAAOA,EAASj0zB,EAASuqJ,GAAQo0W,QAAQ,WACvC,OAAOq1T,GAASh+H,EAAQzriB,EAAQt/W,EAAW+0N,EAASq9Z,GAAQ//nB,IAAI,SAAAoL,GAC9D,IAAM22Z,EAAQ32Z,EAAK22Z,MACnB,OAAOx3W,GAAgBq2tB,EAASpyvB,KAAKwjgC,GAAUjwnB,EAAM78Z,MAAO68Z,EAAMkhU,QAASlhU,EAAM/ia,OAAQ+ia,EAAMmhU,WAAW,EAC5G,EACF,EACF,EACM0zT,GAAe,SAACl0zB,EAASuqJ,GAC7B,OAAO0ud,GAAUj5mB,EAAS,KAAMuqJ,GAAQz3T,KAAK,SAAA887B,GAC3C,OAAO32K,GAAU22K,EAAU,QAASrloB,GAAQz3T,KAAK,SAAA98B,GAC/C,IAAM7F,EAAOu+I,GAAY14I,EAAO,MAChC,OAAImnvB,GAAKyyO,EAAUz/9B,EAAK,IA7Xb,SAAC40E,EAAS3Q,EAAWm2R,GACpC,OAAO0lqB,GAAWpyH,GAAU94zB,EAAS3Q,EAAWm2R,EAClD,CA4Xe4pqB,CAASn+/B,EAAO,SAAA+uE,GACrB,OAAO8osB,GAAO9osB,GAASo4nB,QACzB,EAAG5yW,GAAQjtX,IAAI,SAAA42C,GACb,IAAMkg/B,EAAal/N,GAAOhhxB,GAC1B,OAAO2T,GAAgBq2tB,EAASpyvB,KAAKwjgC,GAAUp7+B,EAAMkg/B,EAAYlg/B,EAAMkg/B,KAAc,EACvF,GAEOl2Q,EAAS/gX,MAEpB,EACF,EACF,EACMk3nB,GAAgB,SAACr0zB,EAASuqJ,GAC9B,OAAO0ud,GAAUj5mB,EAAS,KAAMuqJ,GAAQz3T,KAAK,SAAA887B,GAC3C,OAAO32K,GAAU22K,EAAU,QAASrloB,GAAQz3T,KAAK,SAAA98B,GAC/C,IAAM7F,EAAOu+I,GAAY14I,EAAO,MAChC,OAAImnvB,GAAKyyO,EAAUz/9B,EAAKA,EAAKxjC,OAAS,IA3Y1B,SAACo4G,EAAS3Q,EAAWm2R,GACrC,OAAO2lqB,GAAYryH,GAAU94zB,EAAS3Q,EAAWm2R,EACnD,CA0Ye+pqB,CAAUt+/B,EAAO,SAAA+uE,GACtB,OAAOq9C,GAAMr9C,GAASo4nB,QACxB,EAAG5yW,GAAQjtX,IAAI,SAAA8kJ,GACb,OAAOv6F,GAAgBq2tB,EAASpyvB,KAAKwjgC,GAAUlt4B,EAAO,EAAGA,EAAO,KAAK,EACvE,GAEO87nB,EAAS/gX,MAEpB,EACF,EACF,EACM7sY,GAAS,SAAC0l4B,EAAQ5t0B,EAAWmiS,EAAQt/W,EAAW+0N,EAASq9Z,EAAQkyZ,GACrE,OAAOyE,GAASh+H,EAAQzriB,EAAQt/W,EAAW+0N,EAASq9Z,GAAQvqkB,KAAK,SAAApqD,GAC/D,OAAOm1tB,GAAOz1oB,EAAWmiS,EAAQ7hX,EAAKlG,MAAOkG,EAAKpM,OAAQizhC,EAC5D,EACF,EAEM5jP,GAAO,SAAA3rkB,GACX,IAAIxyO,EAAQwyO,EAOZ,MAAO,CACLrtO,IAPU,WACV,OAAOnF,CACT,EAMEkF,IALU,SAAAsgD,GACVxlD,EAAQwlD,CACV,EAKF,EAsBMxlD,GAAQ,WACZ,IAAM6qe,EArBU,SAAAq1U,GAChB,IAAMr1U,EAAUszU,GAAKztB,EAAS/gX,QACxBrkG,EAAS,WAAH,OAASu/J,EAAQ1le,MAAMm3D,KAAK4jvB,EAAU,EAWlD,MAAO,CACL13yB,MAXY,WACZ8iU,IACAu/J,EAAQ3le,IAAIwrxB,EAAS/gX,OACvB,EASEhzD,MARY,WAAH,OAASkuH,EAAQ1le,MAAMwquB,QAAS,EASzCxquB,IARU,WAAH,OAAS0le,EAAQ1le,KAAM,EAS9BD,IARU,SAAAQ,GACV4lU,IACAu/J,EAAQ3le,IAAIwrxB,EAASpyvB,KAAK54B,GAC5B,EAOF,CAEkBy6yB,CAAU/0rB,GAE1B,OAAAl/G,EAAA,GACK2+d,EAAQ,CACXlxZ,GAHS,SAAA7zE,GAAC,OAAI+ke,EAAQ1le,MAAMm3D,KAAKx2D,EAAG,GAKxC,EAEMihiC,GAAW,SAACt9hC,EAAQszX,GAAM,OAAK0ud,GAAUhi1B,EAAQ,QAASszX,EAAQ,EAClEygoB,GAAsB,SAAA78jB,GAAI,OAAI75S,GAAc65S,GAAMq2B,OAAO6zZ,GAAc,EA6CvE7t2B,GAAO,CACXyhX,SAAU/Y,GACVkoG,OAAQuid,GACR7p1B,SAAUsivB,GAAKp3qB,OACf0lX,MAAOuuhB,GAAQG,QACfn1zB,QAASqyzB,GAAYF,YAEjB7lhC,GAAK,CACT0hX,SAAUo7W,GACVjsR,OAAQp8T,GACRlrE,SAAUsivB,GAAKp3qB,OACf0lX,MAAOuuhB,GAAQC,MACfj1zB,QAASqyzB,GAAYH,UAGjBh4e,GAAQ,SAAA1ojB,GACZ,OAAO,SAAA+kiC,GACL,OAAOA,IAAY/kiC,CACrB,CACF,EACMgliC,GAAOt8e,GAAM,IACbu8e,GAASv8e,GAAM,IACfw8e,GAAe,SAAAH,GACnB,OAAOA,GAAW,IAAMA,GAAW,EACrC,EACMt0T,GAAM,CACV00T,WAAYz8e,GAAM,IAClB29P,UAAW39P,GAAM,KAEbgoL,GAAM,CACVy0T,WAAYz8e,GAAM,IAClB29P,UAAW39P,GAAM,KAiBbm/P,GAAMF,GAAa,CAAC,CACxBz2E,SAAU,CAAC,QACV,CACD7spB,SAAU,CAAC,YAAa,eACvB,CACDg3I,MAAO,CAAC,QAAS,UAAW,SAAU,cAgBlC2rmB,GAAe,CACnB91F,SATe22E,GAAI32E,SAUnB7spB,SATewjuB,GAAIxjuB,SAUnBg3I,MATYwslB,GAAIxslB,MAUhB81gB,eAlBqB,SAAA81F,GAAQ,OAAIpf,GAAIxslB,MAAM4rmB,EAASl0zB,MAAOk0zB,EAASn2F,QAASm2F,EAASp6zB,OAAQo6zB,EAASl2F,QAAS,EAmBhHK,OAVa,SAAAhvd,GACb,IAtiLkB9sK,EAsiLZviG,EATS,SAAAqvQ,GAAS,OAAIA,EAAU/iR,MAAM,CAC5C6xuB,SAAU,SAAAnkT,GAAG,OAAI0qW,GAAavpD,QAAQnhT,EAAI4jT,eAAe,EACzDtspB,SAAU,SAACshvB,EAAWuB,GAAW,OAAKP,GAAK11F,SAAS00F,EAAU,EAC9DtqmB,MAAO,SAACtoN,EAAOo0zB,EAAUC,EAASC,GAAQ,OAAKt0zB,CAAK,GACnD,CAKak+tB,CAAS7ud,GACvB,OAviLkB9sK,EAuiLCviG,EAviLU0kxB,GAAavpD,QAAQ4pD,GAAgBxirB,GAASuoW,IAAIgN,YAwiLjF,EAQEj7C,MAPYy2Z,IAURC,GAAyB,SAACv6gB,EAAKv4S,EAAGC,GACtC,IAAI8zC,EAAIigU,EACR,OAAOina,EAASxquB,KAAsD,QAAhDujU,GAAMjgU,EAAKwkQ,EAAI8xJ,KAAKyoX,8BAAgD,IAAZ9+c,OAAqB,EAAIA,EAAGtpX,KAAKqpD,EAAI/zC,EAAGC,IAAI4vD,KAAK,SAAA7jB,GAC7H,GAAuB,OAAnBA,EAAI+mxB,WACN,OAAO93C,EAAS/gX,OAElB,IAAMplX,EAAIyjQ,EAAI8xJ,IAAIpR,cAGlB,OAFAnkZ,EAAE0lZ,SAASxuZ,EAAI+mxB,WAAY/mxB,EAAIt/B,QAC/BooC,EAAE41X,WACKuwW,EAASpyvB,KAAKisB,EACvB,EACF,EACMk+wB,GAAsB,SAACz6gB,EAAKv4S,EAAGC,GACnC,IAAI8zC,EAAIigU,EACR,OAAOina,EAASxquB,KAAmD,QAA7CujU,GAAMjgU,EAAKwkQ,EAAI8xJ,KAAK2oX,2BAA6C,IAAZh/c,OAAqB,EAAIA,EAAGtpX,KAAKqpD,EAAI/zC,EAAGC,GACrH,EACMgzzB,GACA9hzB,SAAS2hzB,uBACJA,GACE3hzB,SAAS6hzB,oBACXA,GAEA/3C,EAAS/gX,KAQd65Z,GAAgB,SAACjytB,EAASp1F,GAC9B,IAAMsnzB,EAASjs0B,GAAK+5G,GACpB,MAAI,UAAYkytB,EACPb,GAAK7ihB,MAAMxuM,GACR85qB,EAAW,CAAC,KAAM,OAAQo4C,GAGlB,IAAXtnzB,EAAeymzB,GAAKp3qB,OAAOj6C,GAAWqxtB,GAAK7ihB,MAAMxuM,GAFjDqxtB,GAAKjvvB,GAAG49B,EAASp1F,EAI5B,EAmBM4jS,GAAQ,SAAC/wS,EAAO+9tB,EAASjkuB,EAAQkkuB,GACrC,IAAMzorB,EARU,SAACv1C,EAAO+9tB,EAASjkuB,EAAQkkuB,GACzC,IACMhkT,EADMvhH,GAAMz4T,GACF8qc,IAAIpR,cAGpB,OAFA1f,EAAIihB,SAASj7b,EAAM8qc,IAAKizR,GACxB/jT,EAAIkhB,OAAOphc,EAAOgxc,IAAKkzR,GAChBhkT,CACT,CAEYq4mB,CAAUryhC,EAAO+9tB,EAASjkuB,EAAQkkuB,GACtC7hQ,EAAOw+S,GAAK36wB,EAAOlG,IAAWikuB,IAAYC,EAChD,OAAOzorB,EAAEq3M,YAAcuvO,CACzB,EAEMm2jB,GAAqB,SAAAzx2B,GAAG,OAAI66lB,EAASxquB,KAAK2vI,EAAI0kgB,eAAgB,EAC9DgtW,GAAmB,SAAC1x2B,EAAKm5P,GAC7Bs4mB,GAAmBzx2B,GAAKv5H,KAAK,SAAA+nN,GAC3BA,EAAU+jb,kBACV/jb,EAAUgkb,SAASr5Q,EACrB,EACF,EACMw4mB,GAAa,SAAC3x2B,EAAK7gL,EAAO+9tB,EAASjkuB,EAAQkkuB,GAC/C,IAAMhkT,EAAMg5Y,GAAcnyoB,EAAK7gL,EAAO+9tB,EAASjkuB,EAAQkkuB,GACvDu0T,GAAiB1x2B,EAAKm5P,EACxB,EAKMy4mB,GAAuB,SAAC5x2B,EAAKvvG,GAAQ,OAAK4hvB,GAASryoB,EAAKvvG,GAAUhlF,MAAM,CAC5EoxuB,IAAK,SAAC19tB,EAAO+9tB,EAASjkuB,EAAQkkuB,GAC5Bw0T,GAAW3x2B,EAAK7gL,EAAO+9tB,EAASjkuB,EAAQkkuB,EAC1C,EACAL,IAAK,SAAC39tB,EAAO+9tB,EAASjkuB,EAAQkkuB,GAC5Bs0T,GAAmBzx2B,GAAKv5H,KAAK,SAAA+nN,GAC3B,GAAIA,EAAUmvd,iBACZnvd,EAAUmvd,iBAAiBx+tB,EAAM8qc,IAAKizR,EAASjkuB,EAAOgxc,IAAKkzR,QACtD,GAAI3ud,EAAUprQ,OACnB,KAbkB,SAAC48K,EAAKwuF,EAAWrvQ,EAAO+9tB,EAASjkuB,EAAQkkuB,GACjE3ud,EAAU87J,SAASnra,EAAM8qc,IAAKizR,GAC9B1ud,EAAUprQ,OAAOnK,EAAOgxc,IAAKkzR,EAC/B,CAWU00T,CAAkB7x2B,EAAKwuF,EAAWrvQ,EAAO+9tB,EAASjkuB,EAAQkkuB,EAC5D,CAAE,MAAOz1uB,GACPiqiC,GAAW3x2B,EAAK/mL,EAAQkkuB,EAASh+tB,EAAO+9tB,EAC1C,MAEAy0T,GAAW3x2B,EAAK/mL,EAAQkkuB,EAASh+tB,EAAO+9tB,EAE5C,EACF,GACC,EACG40T,GAAW,SAAC9x2B,EAAK7gL,EAAO+9tB,EAASjkuB,EAAQkkuB,GAC7C,IAAM1spB,EAvDgB,SAACtxE,EAAO+9tB,EAASjkuB,EAAQkkuB,GAC/C,IAAM40F,EAAY4B,GAAcx0zB,EAAO+9tB,GACjC80F,EAAa2B,GAAc16zB,EAAQkkuB,GACzC,OAAOi2F,GAAa3ivB,SAASshvB,EAAWC,EAC1C,CAmDmB8B,CAAgB30zB,EAAO+9tB,EAASjkuB,EAAQkkuB,GACzDy0T,GAAqB5x2B,EAAKvvG,EAC5B,EACMsh9B,GAAc,SAAC/x2B,EAAK+xoB,EAAWC,GACnC,IAAMvhvB,EAhEmB,SAACshvB,EAAWC,GACrC,IAAM7yzB,EAAQ4yzB,EAAUx2F,KAAKw3F,GAAKp3qB,OAAQg4qB,GAAeZ,GAAK7ihB,OACxDj3S,EAAS+4zB,EAAWz2F,KAAKw3F,GAAKp3qB,OAAQg4qB,GAAeZ,GAAK7ihB,OAChE,OAAOkjhB,GAAa3ivB,SAAStxE,EAAOlG,EACtC,CA4DmB46zB,CAAmB9B,EAAWC,GAC/C4/N,GAAqB5x2B,EAAKvvG,EAC5B,EACM+nvB,GAAY,SAAAhqjB,GAChB,GAAIA,EAAUyjb,WAAa,EAAG,CAC5B,IAAM+/V,EAAWxjxB,EAAUivd,WAAW,GAChCqkK,EAAUtznB,EAAUivd,WAAWjvd,EAAUyjb,WAAa,GAC5D,OAAO4oF,EAASpyvB,KAAKgqyB,GAAgB5uC,GAAavpD,QAAQ03T,EAASj1T,gBAAiBi1T,EAAS73f,YAAa0pP,GAAavpD,QAAQwnK,EAAQ9kK,cAAe8kK,EAAQ7kK,WAChK,CACE,OAAO49C,EAAS/gX,MAEpB,EACMm4nB,GAAa,SAAAzjxB,GACjB,GAA6B,OAAzBA,EAAUi2a,YAA+C,OAAxBj2a,EAAUo2a,UAC7C,OAAO4zI,GAAUhqjB,GAEjB,IAAMwrX,EAAS6pJ,GAAavpD,QAAQ9rd,EAAUi2a,YACxC94pB,EAAQk4vB,GAAavpD,QAAQ9rd,EAAUo2a,WAC7C,OAAO10Y,GAAM8pV,EAAQxrX,EAAUm2a,aAAch5pB,EAAO6iP,EAAUq2a,aAAeg2F,EAASpyvB,KAAKgqyB,GAAgBz4L,EAAQxrX,EAAUm2a,aAAch5pB,EAAO6iP,EAAUq2a,cAAgB2zI,GAAUhqjB,EAE1L,EACM0jxB,GAAe,SAACly2B,EAAKt+E,GAA0C,IAE7Dy3U,KAFgDrsb,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,KAAAA,UAAA,GACbgsc,GAAqB0rX,IACxCxkoB,EAAKt+E,GAC3Bgw7B,GAAiB1x2B,EAAKm5P,EACxB,EAEMx4V,GAAQ,SAAAq/F,GAAG,OADA,SAAAA,GAAG,OAAIyx2B,GAAmBzx2B,GAAKn+J,OAAO,SAAA2tH,GAAG,OAAIA,EAAIyijB,WAAa,CAAC,GAAExioB,KAAKwi+B,GAAY,CAC9EE,CAASny2B,GAAK/lL,IAAI,SAAA+ha,GAAK,OAAIo3Z,GAAa3rmB,MAAMu0M,EAAM78Z,MAAO68Z,EAAMkhU,QAASlhU,EAAM/ia,OAAQ+ia,EAAMmhU,QAAQ,EAAE,EACvHi1T,GAAe,SAACpy2B,EAAKwuF,GAEzB,OAz7BqB,SAAA2qK,GACrB,IAAMu0d,EAAQv0d,EAAI4f,iBACZtnb,EAAOi83B,EAAMpk5B,OAAS,EAAIok5B,EAAM,GAAKv0d,EAAI5xa,wBAC/C,OAAOkK,EAAKhI,MAAQ,GAAKgI,EAAK9H,OAAS,EAAIkxwB,EAASpyvB,KAAKhX,GAAMxX,IAAI4xhC,IAAUhxQ,EAAS/gX,MACxF,CAq7BSu4nB,CADKvG,GAAW9r2B,EAAKwuF,GAE9B,EACM2ljB,GAAa,SAACn0oB,EAAKpgL,EAAGC,GAAC,OA/GX,SAACmgL,EAAKpgL,EAAGC,GACzB,IAAMs4S,EAAM0re,GAAavpD,QAAQt6iB,EAAIjvK,UACrC,OAAO8hzB,GAAgB16gB,EAAKv4S,EAAGC,GAAG5F,IAAI,SAAAk/a,GAAG,OAAIs5Y,GAAgB5uC,GAAavpD,QAAQnhT,EAAI4jT,gBAAiB5jT,EAAIghH,YAAa0pP,GAAavpD,QAAQnhT,EAAI6jT,cAAe7jT,EAAI8jT,UAAU,EAChL,CA4GkC1C,CAAUv6iB,EAAKpgL,EAAGC,EAAG,EAKjDyyhC,GAAe,SAAAty2B,GA4DnB,MAAO,CACLwgR,iBA5DuB,SAAC5gc,EAAGC,GAC3B,OAAOgkxB,GAAatpD,UAAUspD,GAAavpD,QAAQt6iB,EAAIjvK,UAAWnR,EAAGC,EACvE,EA2DEsygB,QA1Dc,SAAAzwa,GACd,OAAOA,EAAQuoW,IAAI1ic,uBACrB,EAyDEmnhC,cAxDoB,SAACvvhC,EAAO+9tB,EAASjkuB,EAAQkkuB,GAC7C,IAAM3tlB,EAAM4jrB,GAAa3rmB,MAAMtoN,EAAO+9tB,EAASjkuB,EAAQkkuB,GACvD,OAAOi1T,GAAapy2B,EAAKxwC,EAC3B,EAsDEk1iB,aArDmB,WACnB,OAAO/jmB,GAAMq/F,GAAK/lL,IAAI,SAAAs4hC,GACpB,OAAOvG,GAAehs2B,EAAKuy2B,EAC7B,EACF,EAkDEpC,UAjDgB,SAAAI,GAChB,IAAM9/8B,EAAW2ivB,GAAa3ivB,SAAS8/8B,EAAMpxhC,MAAOoxhC,EAAMt3hC,QAC1D,OAAO+yhC,GAAehs2B,EAAKvvG,EAC7B,EA+CE6+8B,eA9CqB,SAAC1vhC,EAAGC,GACzB,OAAOs0zB,GAAWn0oB,EAAKpgL,EAAGC,GAAG5F,IAAI,SAAAwtN,GAC/B,OAAOsk0B,GAAatk0B,EAAMtoN,MAAOsoN,EAAMy1gB,QAASz1gB,EAAMxuN,OAAQwuN,EAAM01gB,QACtE,EACF,EA2CEq1T,eA1CqB,YA7BX,SAAAxy2B,GACZyx2B,GAAmBzx2B,GAAKv5H,KAAK,SAAA+nN,GAAS,OAAIA,EAAU+jb,iBAAiB,EACvE,CA4BI5/rB,CAAMqtL,EACR,EAyCEyy2B,kBAxCwB,WAAsB,IAArB9kP,EAAO7gzB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,IAAAA,UAAA,GAChC6zF,GAAMq/F,GAAKv5H,KAAK,SAAA+oF,GAAG,OAAIA,EAAI+rlB,KAAK,SAAApiT,GAAG,OAAIA,EAAI7O,SAASqjY,EAAQ,EAAE,SAACokB,EAAWC,GACxE,IAAMC,EAAOtkB,EAAUokB,EAAYC,EACnC+/N,GAAY/x2B,EAAKiyoB,EAAMA,EACzB,EAAG,SAAC9yzB,EAAO+9tB,EAASjkuB,EAAQkkuB,GAC1B,IAAM7rrB,EAAOq8vB,EAAUxuyB,EAAQlG,EACzBqT,EAASqhyB,EAAUzwE,EAAUC,EACnC20T,GAAS9x2B,EAAK1uI,EAAMhlC,EAAQglC,EAAMhlC,EACpC,EAAE,EACJ,EAgCEw03B,aAzBmB,SAAAtxvB,GACnBsi5B,GAAS9x2B,EAAKxwC,EAAIrwI,MAAOqwI,EAAI0tlB,QAAS1tlB,EAAIv2I,OAAQu2I,EAAI2tlB,QACxD,EAwBEu1T,qBAvB2B,SAACvzhC,EAAOlG,GACnC84hC,GAAY/x2B,EAAK7gL,EAAOlG,EAC1B,EAsBEurzB,WAjCiB,SAAA9itB,GACjBww7B,GAAaly2B,EAAKt+E,GAAS,EAC7B,EAgCEix7B,eA/BqB,SAAAjx7B,GACrBww7B,GAAaly2B,EAAKt+E,EACpB,EA8BEgu7B,eAvBqB,WACrB,OAAO1v2B,EAAIvqK,WACb,EAsBEm9gC,WArBiB,WACjB,IAAMhn/B,EA/OI,SAAA87uB,GACZ,IAAMvve,OAAe3nT,IAATk3xB,EAAqBA,EAAKz9U,IAAMl5b,SACtCnR,EAAIu4S,EAAIx0P,KAAK4pL,YAAc4qE,EAAInnS,gBAAgBu8N,WAC/C1tO,EAAIs4S,EAAIx0P,KAAK2pL,WAAa6qE,EAAInnS,gBAAgBs8N,UACpD,OAAOg6iB,GAAc1nxB,EAAGC,EAC1B,CA0OgBgrxB,CAAMhH,GAAavpD,QAAQt6iB,EAAIjvK,WAC3C,OAAO66B,EAAI5kC,GACb,EAmBEkshB,SAlBe,SAACtzhB,EAAGC,IA5OZ,SAACD,EAAGC,EAAG6nxB,GAChB,IACM1nmB,QADexvL,IAATk3xB,EAAqBA,EAAKz9U,IAAMl5b,UAC5Bkmc,YACZj3R,GACFA,EAAIkzW,SAAStzhB,EAAGC,EAEpB,CAuOI68d,CAAG98d,EAAGC,EAAGgkxB,GAAavpD,QAAQt6iB,EAAIjvK,UACpC,EAkBF,EAEMq2Q,GAAK,SAACt6P,EAAMyoQ,GAAI,MAAM,CAC1BzoQ,OACAyoQ,OACD,EACKppR,GAAQ,SAAC6zK,EAAKj7F,EAAWmiS,EAAQviJ,GACrC,IACM75J,EA5Ve,SAAC6n1B,EAAQ5t0B,EAAWmiS,EAAQviJ,GACjD,IAAMpvO,EAASpL,KACT0oiC,EAAat9hC,EAAO5C,MACpBil4B,EAAiB,SAAAjk4B,GACrB4B,EAAOuuE,GAAG,SAAA3kE,GACRwlO,EAAYmuzB,kBAAkB/t8B,GAC9Bms8B,GAASv9hC,EAAMC,OAAQszX,GAAQzgU,KAAK,SAAAxtD,GAClC8xyB,GAAS5ryB,EAAOlG,EAAQiuX,GAAQzgU,KAAK,SAAA0l+B,GACnC,IAAMzd,EAAQyd,EAAQzd,MAAMz0S,MAAM,IAClC,GAAqB,IAAjBy0S,EAAMplhC,OAAc,CACtB,IAAMypiC,EAAarkB,EAAM,GACnBskB,EAA2C,UAAvBpvT,GAAOmvT,GAC3BE,EAA+B1z/B,GAAG++M,GAAQ3qP,EAAMC,QAASm/hC,EAAYj5Q,IACvEk5Q,GAAqBC,IACvBtuzB,EAAYunzB,YAAYnn8B,EAAW2p7B,EAAOqkB,EAAYA,GACtDpgI,EAAOggI,eAAeI,GAE1B,MAAWrkB,EAAMplhC,OAAS,IACxBq7O,EAAYunzB,YAAYnn8B,EAAW2p7B,EAAOyd,EAAQhthC,MAAOgthC,EAAQlzhC,QACjE055B,EAAOggI,eAAe15hC,GAE1B,EACF,EACF,EACF,EAYA,MAAO,CACL45hC,aACAK,UAbgB,SAAAv/hC,GAChBgxO,EAAYhyO,MAAMoyF,GAClBms8B,GAASv9hC,EAAMC,OAAQszX,GAAQrlW,OAAO8l+B,IAAqBlh8B,KAAKlxD,EAAOlG,IACzE,EAWE8jiC,UAVgB,SAAAx/hC,GAChBik4B,EAAejk4B,EACjB,EASEy/hC,QARc,SAAAz/hC,GACdik4B,EAAejk4B,GACfk/hC,GACF,EAOF,CAkTmBQ,CADFf,GAAaty2B,GACYj7F,EAAWmiS,EAAQviJ,GAC3D,MAAO,CACLkuzB,WAAY/n9B,EAAS+n9B,WACrBK,UAAWpo9B,EAASoo9B,UACpBC,UAAWro9B,EAASqo9B,UACpBC,QAASto9B,EAASso9B,QAEtB,EACME,GAAiB,SAAAhi/B,GAAI,OAAI817B,GAAU917B,EAAMy3uB,IAAe5nU,OAAO6zZ,GAAc,EAC7Eu+K,GAAsB,SAACp0hC,EAAOlG,GAAM,OAAKq6hC,GAAen0hC,IAAUm0hC,GAAer6hC,EAAQ,EACzFuu8B,GAAW,SAACxnxB,EAAKj7F,EAAWmiS,EAAQviJ,GACxC,IAAMgurB,EAAS2/H,GAAaty2B,GACtBwz2B,EAAkB,WAEtB,OADA7uzB,EAAYhyO,MAAMoyF,GACX81rB,EAAS/gX,MAClB,EAyEA,MAAO,CACL25nB,QAzEc,SAAC9/hC,EAAOwL,EAAO+9tB,EAASjkuB,EAAQkkuB,EAASv1tB,GACvD,IAAM8rhC,EAAY//hC,EAAMuqd,IAClBizkB,EAAUuC,EAAUvwW,MACpB9vqB,GAAkC,IAAvBqghC,EAAUrghC,SACrB4/B,EAAU468B,GAAW9o6B,EAAW4/I,EAAY4pxB,kBAAkBhzR,KAAK,WAIvE,OAHI+1T,GAAaH,KAAa99gC,GAC5BsxN,EAAYmuzB,kBAAkB/t8B,GAE5Bus8B,GAAaH,IAAY99gC,IAAakghC,GAAoBp0hC,EAAOlG,GAC5D4hxB,EAAS/gX,KACPu3nB,GAAOF,IAAY99gC,EACrBwiiB,EAAM5ohB,GAAQ0l4B,EAAQ5t0B,EAAWmiS,EAAQ//W,GAAMlO,EAAQkG,EAAOwlO,EAAYunzB,aACxEkF,GAAKD,IAAY99gC,EACnBwiiB,EAAM5ohB,GAAQ0l4B,EAAQ5t0B,EAAWmiS,EAAQhgX,GAAIjO,EAAQkG,EAAOwlO,EAAYunzB,aACtEmF,GAAOF,GACTt7e,EAAMlpX,GAAUgmuB,EAAQzriB,EAAQ//W,GAAMlO,EAAQkG,EAAO6xhC,IACnDI,GAAKD,GACPt7e,EAAMlpX,GAAUgmuB,EAAQzriB,EAAQhgX,GAAIjO,EAAQkG,EAAO0xhC,IAEnDh2Q,EAAS/gX,IAEpB,EAAG,SAAAxiZ,GACD,IAAMq8gC,EAAW,SAAAC,GACf,OAAO,WACL,IAAMnnmB,EAAa8vV,GAAQq3Q,EAAU,SAAAhj8B,GACnC,OAz8BG,SAAC9jE,EAAMknN,EAASjvJ,EAAWztE,EAAUqtN,GAMlD,OAAOsqyB,GAAe33/B,EAAUwV,EAAMknN,EAASrP,EAAY6oxB,sBAAuB7oxB,EAAY8oxB,sBAAsBxz/B,IAL5F,SAAA45hC,GAGtB,OAFAlvzB,EAAYmuzB,kBAAkB/t8B,GAC9B4/I,EAAYunzB,YAAYnn8B,EAAW8u8B,EAAQnlB,MAAOmlB,EAAQ10hC,MAAO00hC,EAAQ56hC,QAClE46hC,EAAQnlB,KACjB,EAEF,CAk8BmB3o6B,CAAOnV,EAAM9jE,KAAM8jE,EAAM2kM,KAAMxwM,EAAWztE,EAAUqtN,EAC7D,GACA,OAAO8nN,EAAW8uS,KAAK,WACrB,OAAOgyR,GAASxo6B,EAAW4/I,EAAY6oxB,sBAAuB7oxB,EAAY8oxB,sBAAsBxz/B,IAAI,SAAA+ohB,GAClG,IAAMvyc,EAAW4g9B,GAAOF,IAAYvphC,EAAU6qyB,UAAU0+O,GAAWp+N,GAAK7ihB,MAAQ6ihB,GAAKp3qB,OAGrF,OAFAg3wB,EAAO+/H,qBAAqB3/N,GAAKjvvB,GAAGk/c,EAAMjkY,MAAO,GAAItuE,EAASuyc,EAAMrwf,QACpEgyM,EAAYhyO,MAAMoyF,GACXvgC,GAAgBq2tB,EAAS/gX,QAAQ,EAC1C,EACF,EAAG,SAAApwV,GACD,OAAOmxsB,EAASpyvB,KAAK+7B,GAAgBq2tB,EAAS/gX,QAAQ,GACxD,EACF,CACF,EACA,OAAIw3nB,GAAaH,IAAY99gC,IAAakghC,GAAoBp0hC,EAAOlG,GAC5D4hxB,EAAS/gX,KACPu3nB,GAAOF,IAAY99gC,EACrBsghC,EAAS,CAACvswB,GAAG,EAAI,KACfgqwB,GAAKD,IAAY99gC,EACnBsghC,EAAS,CAACvswB,IAAI,EAAG,KACfx/Q,EAAU2phC,WAAWJ,IAAY99gC,EACnCsghC,EAAS,CAACvswB,GAAG,GAAI,GAAIA,IAAI,EAAG,KAC1Bx/Q,EAAU6qyB,UAAU0+O,IAAY99gC,EAClCsghC,EAAS,CAACvswB,GAAG,EAAG,GAAKA,GAAG,EAAI,KAC1BkqwB,GAAaH,KAAa99gC,EAC5BmghC,EAEA34Q,EAAS/gX,IAEpB,GACA,OAAO7mX,GACT,EAkBE6g/B,MAjBY,SAACngiC,EAAOwL,EAAO+9tB,EAASjkuB,EAAQkkuB,GAC5C,OAAO0wR,GAAW9o6B,EAAW4/I,EAAY4pxB,kBAAkBhzR,KAAK,WAC9D,IAAMm4T,EAAY//hC,EAAMuqd,IAClBizkB,EAAUuC,EAAUvwW,MAE1B,OADwC,IAAvBuwW,EAAUrghC,UAIvBi+gC,GAAaH,IAAYoC,GAAoBp0hC,EAAOlG,GA3gCjD,SAAC8rF,EAAWmiS,EAAQ/nX,EAAO+9tB,EAASjkuB,EAAQkkuB,EAAS+uT,GAChE,OAAMpyQ,GAAK36wB,EAAOlG,IAAWikuB,IAAYC,EAOhC09C,EAAS/gX,OANT87a,GAAUz20B,EAAO,QAAS+nX,GAAQz3T,KAAK,SAAA5/D,GAC5C,OAAO+l1B,GAAU380B,EAAQ,QAASiuX,GAAQz3T,KAAK,SAAAx/D,GAC7C,OAAOuquB,GAAOz1oB,EAAWmiS,EAAQr3X,EAAGI,EAAGi8hC,EACzC,EACF,EAIJ,CAkgCezojB,CAAK1+Y,EAAWmiS,EAAQ/nX,EAAO+9tB,EAASjkuB,EAAQkkuB,EAASx4f,EAAYunzB,aAHrErxQ,EAAS/gX,MAOpB,EAAG+gX,EAAS/gX,KACd,EAKF,EAcMr/W,GAAO,SAACinD,EAASzmC,GACrB,IAAM9wE,EAAQkyxB,GAAM36qB,EAASzmC,GAC7B,YAAiBzqE,IAAVrG,GAAiC,KAAVA,EAAe,GAAKA,EAAMsuC,MAAM,IAChE,EAiBMnzB,GAAW,SAAAo8F,GAAO,YAA8BlxG,IAA1BkxG,EAAQuoW,IAAIp1b,SAAwB,EAE1Dk6oB,GAAQ,SAACrtjB,EAASyhrB,GAAK,OAlBf,SAACzhrB,EAASzmC,EAAMpuD,GAC5B,IACM0jZ,EADM91W,GAAKinD,EAASzmC,GACX3uE,OAAO,CAACugB,IAEvB,OADAk5wB,GAAMrkrB,EAASzmC,EAAMs1V,EAAG35W,KAAK,OACtB,CACT,CAakC2suB,CAAM7hrB,EAAS,QAASyhrB,EAAO,EAG3D7qxB,GAAM,SAACopG,EAASyhrB,GAChB79wB,GAASo8F,GACXA,EAAQuoW,IAAIp1b,UAAUvc,IAAI6qxB,GAE1Bp0H,GAAMrtjB,EAASyhrB,EAEnB,EAgBM/zxB,GAAM,SAACsyG,EAASyhrB,GAAK,OAAK79wB,GAASo8F,IAAYA,EAAQuoW,IAAIp1b,UAAUkzF,SAASo7qB,EAAO,EAsErF4wQ,GAjCS,SAACzlC,EAAU0lC,EAAa11rB,GACrC,IAAM21rB,EAA4B,SAAAvy7B,GAChC+hrB,GAAS/hrB,EAAS4s5B,EAASh3+B,UAC3BmswB,GAAS/hrB,EAAS4s5B,EAASE,eAC3B/qO,GAAS/hrB,EAAS4s5B,EAASG,aAC7B,EACMylC,EAAwB,SAAAxy7B,GAC5BqkrB,GAAMrkrB,EAAS4s5B,EAASh3+B,SAAU,IACpC,EACM3kB,EAAQ,SAAAoyF,GACZ+t8B,EAAkB/t8B,GAClBu5Q,GACF,EACMw0rB,EAAoB,SAAA/t8B,GACxB,IAAM6o6B,EAAOvi1B,GAAYtmF,EAAW,GAAGz4F,OAAOgigC,EAASC,iBAAkB,KAAKjigC,OAAOgigC,EAASd,sBAAuB,KAAKlhgC,OAAOgigC,EAASb,uBAC1Ij8F,EAAOo8F,EAAMqmC,EACf,EAQA,MAAO,CACLnB,oBACAngiC,QACAu5hC,YAVkB,SAACnn8B,EAAW4/L,EAAOxlR,EAAOlG,GAC5CtG,EAAMoyF,GACNys0B,EAAO7soB,EAAOuvwB,GACdnuQ,GAAM5mxB,EAAOmv/B,EAASE,cAAe,KACrCzoO,GAAM9sxB,EAAQq1/B,EAASG,aAAc,KACrCulC,EAAYrvwB,EAAOxlR,EAAOlG,EAC5B,EAKEs1/B,iBAAkBD,EAASC,iBAC3Bf,sBAAuBc,EAASd,sBAChCC,qBAAsBa,EAASb,qBAEnC,EAgBM3zlB,GAAO,WAAH,MAAU,CAClB12X,IAAK,OACN,EACK+qO,GAAW,SAAAnpI,GAAQ,MAAK,CAC5B5hG,IAAK,WACL4hG,WACD,EACKgzhB,GAAS,SAAAt2jB,GAAO,MAAK,CACzBt+D,IAAK,SACLs+D,UACD,EAyBKyy7B,GAAgB,SAACxhgC,EAAO/+B,EAAQ2qL,GACpC,IAAMkq0B,EAAYwB,GAAU+Y,UAAUrw+B,GAEtC,OADgBk/9B,GAAQpJ,EAAW70/B,GACpBqG,IAAI,SAAAmrzB,GACjB,IAAMz5X,EAAOqY,GAAOykjB,EAAWlq0B,GAAY,GAEzCzxJ,EACE21+B,GAAmB92kB,GADrB7+Z,KAEIsngC,EAxBe,SAACzomB,EAAMy5X,GAC9B,IAAMivO,EAAS1omB,EAAKjsb,MAAM,EAAG0lzB,EAAcA,EAAc97zB,OAAS,GAAG88b,IAAM,GACrEkumB,EAAYngB,GAAakgB,GAC/B,OAAOjtQ,EAAOktQ,EAAW,SAAAr/9B,GACvB,IAAMs/9B,EAAct/9B,EAAO0vN,MAAMjlR,MAAM,EAAG0lzB,EAAcA,EAAc97zB,OAAS,GAAGm3R,OAAS,GAC3F,OAAOzxM,EAAMul9B,EAAa,SAAAzpmB,GAAI,OAAIA,EAAKppV,OAAO,EAChD,EACF,CAiB0B8y7B,CAAiB1ngC,EAAMs4xB,GACvCqvO,EAjBkB,SAAC9omB,EAAMy5X,GACjC,IAAMsvO,EAAW/omB,EAAKjsb,MAAM0lzB,EAAc,GAAGh/X,IAAMg/X,EAAc,GAAGnyX,QAAU,EAAGtH,EAAKric,QAChFqriC,EAAcxgB,GAAaugB,GACjC,OAAOttQ,EAAOutQ,EAAa,SAAA1/9B,GACzB,IAAMs/9B,EAAct/9B,EAAO0vN,MAAMjlR,MAAM0lzB,EAAc,GAAG3kiB,OAAS2kiB,EAAc,GAAGuvC,QAAU,EAAG1/xB,EAAO0vN,MAAMr7R,QAC5G,OAAO0lF,EAAMul9B,EAAa,SAAAzpmB,GAAI,OAAIA,EAAKppV,OAAO,EAChD,EACF,CAU6Bkz7B,CAAoB9ngC,EAAMs4xB,GACnD,MAAO,CACLgvO,gBACAK,mBAEJ,EACF,EAWMI,GAAiB,SAAA5tQ,GACrB,IAhkNe/5X,EAAIimN,EAgkNbv/mB,EAASiwxB,GAAavpD,QAz3LC,SAAA3muB,GAC7B,GAAI+wxB,MAAmBzK,EAActmxB,EAAMC,QAAS,CAClD,IAAM80B,EAAKm7vB,GAAavpD,QAAQ3muB,EAAMC,QACtC,GAAIo8W,GAAUtnV,IAAOq8vB,GAAiBr8vB,IAChC/0B,EAAMypO,UAAYzpO,EAAM4d,aAAc,CACxC,IAAMA,EAAe5d,EAAM4d,eAC3B,GAAIA,EACF,OAAOq/B,EAAKr/B,EAEhB,CAEJ,CACA,OAAOspwB,EAASxquB,KAAK18C,EAAMC,OAC7B,CA42LsCkxxB,CAAuBmC,GAAUhtD,MAAMgtD,EAASrzxB,SAC9E0D,EAAO,WAAH,OAAS2vxB,EAAS/qwB,iBAAkB,EACxCs7N,EAAU,WAAH,OAASyviB,EAASj1wB,gBAAiB,EAC1CsttB,GAnkNSpyU,EAmkNM11K,EAnkNF27X,EAmkNW77mB,EAlkNvB,WAAc,IAAD,IAAAw9hC,EAAAhoiC,UAAAxD,OAATuV,EAAI,IAAAU,MAAAu1hC,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJl2hC,EAAIk2hC,GAAAjoiC,UAAAioiC,GACb,OAAO7noB,EAAGimN,EAAGrgnB,MAAM,KAAM+L,GAC3B,GAikNA,OAdc,SAACjL,EAAQgM,EAAGC,EAAGvI,EAAMkgP,EAAS8nf,EAAMphR,GAAG,MAAM,CAC3Dtqd,SACAgM,IACAC,IACAvI,OACAkgP,UACA8nf,OACAphR,MACD,CAMQgpU,CAAQtzxB,EAAQqzxB,EAASj7wB,QAASi7wB,EAASh7wB,QAAS3U,EAAMkgP,EAAS8nf,EAAM2nD,EAClF,EAMMhM,GAAS,SAACv5qB,EAAS/tG,EAAOkuB,EAAQoxB,EAASo0uB,GAC/C,IAAM52tB,EANO,SAAC5uC,EAAQoxB,GAAO,OAAK,SAAAg0uB,GAC9BplwB,EAAOolwB,IACTh0uB,EAAQ4h/B,GAAe5tQ,GAE3B,CAAE,CAEgBvkT,CAAO7gd,EAAQoxB,GAE/B,OADAyuD,EAAQuoW,IAAIp3b,iBAAiBlf,EAAO88D,EAAS42tB,GACtC,CACLlrD,OAAQtmL,EAAMsmL,GAAQz6nB,EAAS/tG,EAAO88D,EAAS42tB,GAEnD,EAEMlrD,GAAS,SAACz6nB,EAAS/tG,EAAOs/C,EAASo0uB,GACvC3lrB,EAAQuoW,IAAIr3b,oBAAoBjf,EAAOs/C,EAASo0uB,EAClD,EAEMxlwB,GAAS4iV,EACTh1S,GAAO,SAACiyC,EAAS/tG,EAAOs/C,GAAO,OANtB,SAACyuD,EAAS/tG,EAAOkuB,EAAQoxB,GAAO,OAAKgouB,GAAOv5qB,EAAS/tG,EAAOkuB,EAAQoxB,GAAS,EAAO,CAMzDq96B,CAAO5u3B,EAAS/tG,EAAOkuB,GAAQoxB,EAAS,EAC5Ek0uB,GAAe0tQ,GAEfG,GAAoB,SAAAttiC,GAAC,OAAK0H,GAAIy0xB,GAAavpD,QAAQ5yuB,EAAEkM,QAAS,4BAA6B,EAC3FqhiC,GAA4B,SAACjqP,EAAQ63O,GACzC,IAAMqS,EA/EW,SAACC,EAAU93T,EAAUkxR,GAEtC,MAAO,CACLj//B,IAFU,WAAH,OAASq+/B,GAASwnC,IAAY5mC,GAAkBhzR,KAAK,kBAAM8B,IAAW9B,KAAKzhU,GAAMk+P,GAAO,EAAE7pZ,GAAU,EAI/G,CA0EwBinxB,CAAW,kBAAMvxQ,GAAavpD,QAAQ0wE,EAAO50D,UAAU,EAAE,kBAAM04Q,GAAiBpH,GAAkB18M,GAASw8M,GAAUx8M,GAAQ,EAAEsjN,GAASC,kBAcxJ5pxB,EAAcovzB,GAA2BzlC,GAb3B,SAAC3puB,EAAOxlR,EAAOlG,GAChB05B,GAAMxzB,GACdsnD,KAAK,SAAA9zB,GACZ,IAAM04+B,EAAeK,GAAsB1gO,GACrCzsnB,EAAaos1B,GAAep15B,EAAMsuqB,GAAavpD,QAAQ0wE,EAAOzyD,UAAW8yR,GACzEjmN,EAAgB2pM,GAAsB/jN,GACtCqqP,EAAalB,GAAcxhgC,EAAO,CACtC67O,UAAW42iB,GACV7moB,IA9sEwB,SAACysnB,EAAQrmhB,EAAOxlR,EAAOlG,EAAQo8hC,GAC9DrqP,EAAO5iyB,SAAS,uBAAwB,CACtCu8Q,QACAxlR,QACAlG,SACAo8hC,cAEJ,CAwsEMC,CAAyBtqP,EAAQrmhB,EAAOxlR,EAAOlG,EAAQo8hC,EACzD,EACF,EACgB,WAAH,OA1sEiB,SAAArqP,GAC9BA,EAAO5iyB,SAAS,sBAClB,CAwsEwBmthC,CAAwBvqP,EAAQ,GAEtDA,EAAOlnuB,GAAG,OAAQ,SAAAsxS,GAChB,IAAMp1L,EAAMgrnB,EAAOxtE,SACb75qB,EAAOyyrB,GAAQ40D,GACf9jb,EAASsgoB,GAAUx8M,GAQnBwqP,EAAgBrphC,GAAM6zK,EAAKr8H,EAAMujU,EAAQviJ,GACzC8wzB,EAAcjuF,GAASxnxB,EAAKr8H,EAAMujU,EAAQviJ,GAC1C+wzB,EAxQO,SAAC112B,EAAKj7F,EAAWmiS,EAAQviJ,GACxC,IAAMgurB,EAAS2/H,GAAaty2B,GAC5B,OAAO,SAAC7gL,EAAOlG,GACb0rO,EAAYmuzB,kBAAkB/t8B,GAC9BgmtB,GAAS5ryB,EAAOlG,EAAQiuX,GAAQzgU,KAAK,SAAA0l+B,GACnC,IAAMzd,EAAQyd,EAAQzd,MAAMz0S,MAAM,IAClCt1f,EAAYunzB,YAAYnn8B,EAAW2p7B,EAAOyd,EAAQhthC,MAAOgthC,EAAQlzhC,QACjE055B,EAAOggI,eAAe15hC,GACtB055B,EAAO8/H,mBACT,EACF,CACF,CA6PuB1l2B,CAAS/M,EAAKr8H,EAAMujU,EAAQviJ,GAE/CqmkB,EAAOlnuB,GAAG,sBAAuB,SAAAp8E,GAAC,OAAIguiC,EAAWhuiC,EAAEyX,MAAOzX,EAAEuR,OAAO,GACnE,IA8DQ08hC,EACAC,EA/DFz57B,EAAiB,SAACxoG,EAAOiE,IAFX,SAAAjE,GAAK,OAA2B,IAAvBA,EAAMuqd,IAAI7qc,QAAkB,EAGlD4r3B,CAAYtr4B,KAGbiE,EAAS0nuB,MACX3ruB,EAAM2ruB,OAER1nuB,EAAS42Q,UAAU/nN,KAAK,SAAAktT,GACtB,IAAMljS,EAAW2ivB,GAAa3ivB,SAASkjS,EAAGx0W,MAAOw0W,EAAG16W,QAC9Ckgb,EAAM2ymB,GAAW9r2B,EAAKvvG,GAC5Bu6tB,EAAOx8hB,UAAUkqe,OAAOv/T,EAC1B,GACF,EAwBM08mB,EAAc,SAAA33kB,GAAG,OAAmB,IAAfA,EAAIvyc,MAAa,EA6CtCmqhC,GAnBEH,EAAartP,GAAKzkB,GAAavpD,QAAQ32qB,IACvCiy+B,EAAgBttP,GAAK,GAcpB,CACLytP,SAde,SAAAxvhC,GACf,IAAM3S,EAASiwxB,GAAavpD,QAAQ/ztB,EAAE3S,QACtC,GAAI2uxB,GAAM,KAANA,CAAY3uxB,IAAW2uxB,GAAM,KAANA,CAAY3uxB,GAAS,CAC9C,IAAM09vB,EAAKqkS,EAAWrmiC,MAChB0miC,EAAMJ,EAActmiC,MACtBwqxB,GAAKxoB,EAAI19vB,IAAW2S,EAAE0sP,UAAY+iyB,EAAM,MAC1CzvhC,EAAEyL,iBACF0jhC,EAAW9hiC,EAAQA,GAEvB,CACA+hiC,EAAWtmiC,IAAIuE,GACfgiiC,EAAcvmiC,IAAIkX,EAAE0sP,UACtB,IAMF+3iB,EAAOlnuB,GAAG,YAvCQ,SAAAsxS,GAChBogrB,EAAc3C,YAChB,GAsCA7nP,EAAOlnuB,GAAG,YArCQ,SAAAp8E,GACZmuiC,EAAYnuiC,IAAMstiC,GAAkBttiC,IACtC8tiC,EAActC,UAAU/rQ,GAAaz/xB,GAEzC,GAkCAsjzB,EAAOlnuB,GAAG,YAjCQ,SAAAp8E,GAdU,IAAAw2d,QACN1td,KADM0td,EAeFx2d,GAdhB47R,SAGc,EAAd46L,EAAI56L,UAWkB0xwB,GAAkBttiC,IAC9C8tiC,EAAcrC,UAAUhsQ,GAAaz/xB,GAEzC,GA8BAsjzB,EAAOlnuB,GAAG,UA7BM,SAAAp8E,GACVmuiC,EAAYnuiC,IAAMstiC,GAAkBttiC,IACtC8tiC,EAAcpC,QAAQjsQ,GAAaz/xB,GAEvC,GA0BAsjzB,EAAOlnuB,GAAG,WAAYgy9B,EAAUC,UAChC/qP,EAAOlnuB,GAAG,QA1EI,SAAAnwE,GACZ,IAAMsiiC,EAAe9uQ,GAAaxzxB,GAClC,GAAIsiiC,EAAa/3kB,IAAI7qc,UAAYi+gC,GAAa2E,EAAa/3kB,IAAIilO,OAAQ,CACrE,IAAMhqQ,EAAM6xX,EAAOx8hB,UAAU08hB,SACvB/ryB,EAAQ0kxB,GAAavpD,QAAQnhT,EAAI4jT,gBACjC39tB,EAAMykxB,GAAavpD,QAAQnhT,EAAI6jT,cACrCy4T,EAAY3B,MAAMmC,EAAc92hC,EAAOg6a,EAAIghH,YAAa/6hB,EAAK+5a,EAAI8jT,WAAWx2qB,KAAK,SAAA7uD,GAC/EukG,EAAe857B,EAAcr+hC,EAC/B,EACF,CACF,GAiEAozyB,EAAOlnuB,GAAG,UAhEM,SAAAnwE,GACd,IAAMsiiC,EAAe9uQ,GAAaxzxB,GAClCkvhC,EAActqvB,OACd,IAAM4gJ,EAAM6xX,EAAOx8hB,UAAU08hB,SACvB/ryB,EAAQ0kxB,GAAavpD,QAAQnhT,EAAI4jT,gBACjC39tB,EAAMykxB,GAAavpD,QAAQnhT,EAAI6jT,cAC/Bp1tB,EAAYi8/B,GAAYhnS,GAAKC,GAAjB+mS,CAAsBhgP,GAAavpD,QAAQ0wE,EAAOx8hB,UAAU6ud,aAC9Eo4T,EAAYhC,QAAQwC,EAAc92hC,EAAOg6a,EAAIghH,YAAa/6hB,EAAK+5a,EAAI8jT,UAAWr1tB,GAAW6+C,KAAK,SAAA7uD,GAC5FukG,EAAe857B,EAAcr+hC,EAC/B,GACAirhC,EAAcvqvB,MAChB,GAsDA0ygB,EAAOlnuB,GAAG,aArGY,WACpB,IAAM0rE,EAAMw7pB,EAAOx8hB,UACbrvQ,EAAQ0kxB,GAAavpD,QAAQ9qlB,EAAI6tlB,YACjCj+tB,EAAMykxB,GAAavpD,QAAQ9qlB,EAAIqirB,UACtB28M,GAAU77+B,GAAO,CAACxzB,EAAOC,IACjCm8tB,KAAK,kBAAM52f,EAAYhyO,MAAMgxD,EAAK,EAAE4xD,EAC7C,EAgGF,GACAy1rB,EAAOlnuB,GAAG,UAAW,WACnBknuB,EAAOt5yB,WAAW46yB,YAAYgiN,GAASE,eACvCxjN,EAAOt5yB,WAAW46yB,YAAYgiN,GAASG,aACzC,GAKA,MAAO,CACL9jL,iBAJuB,WAAH,OApOX,SAAC31W,EAAS8lT,EAAQo7Q,EAAYC,GACzC,OAAQnhkB,EAAQ5xb,KACd,IAAK,OACH,OAAO03uB,IACT,IAAK,SACH,OAAOq7Q,EAASnhkB,EAAQtzX,SAC1B,IAAK,WACH,OAAOw07B,EAAWlhkB,EAAQhwV,UAEhC,CA2NiCu2lB,CAAK25T,EAAc5liC,MAAOmljB,EAAS,IAAK,SAAA9vR,GACrE,OAAO31M,EAAM21M,EAAO,SAAAmmK,GAAI,OAAIA,EAAKmf,GAAG,EACtC,EAAG,SAAAnf,GAAI,MAAI,CAACA,EAAKmf,IAAI,EAAE,EAGrBkjb,mBANyB,SAAApoyB,GAAS,OAAI4/I,EAAYhyO,MAAMkxxB,GAAavpD,QAAQv1oB,GAAY,EAQ7F,EAEM5wB,GAAQ,SAAAi/D,GACZ,IAAItoD,EAAW,GAqBf,MAAO,CACLrb,KArBW,SAAAxc,GACX,QAAgBziD,IAAZyiD,EACF,MAAM,IAAIzoD,MAAM,uCAElBsgF,EAASl8E,KAAKqkD,EAChB,EAiBEkprB,OAhBa,SAAAlprB,GACb63B,EAAW0kwB,EAAS1kwB,EAAU,SAAAhT,GAC5B,OAAOA,IAAM7kB,CACf,EACF,EAaEitD,QAZc,WAAc,IAAD,IAAAk27B,EAAAtpiC,UAAAxD,OAATuV,EAAI,IAAAU,MAAA62hC,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJx3hC,EAAIw3hC,GAAAvpiC,UAAAupiC,GACtB,IAAM1iiC,EAAQ,CAAC,EACf695B,EAAOp+xB,EAAQ,SAACzrI,EAAMkC,GACpB8J,EAAMhM,GAAQkX,EAAKhV,EACrB,GACA2n6B,EAAO1m1B,EAAU,SAAA73B,GACfA,EAAQt/C,EACV,EACF,EAMF,EAEM2iiC,GAAW,SAAAC,GAUf,MAAO,CACL/+gC,SAVevd,GAAIs8hC,EAAU,SAAA5iiC,GAC7B,MAAO,CACL87D,KAAM97D,EAAM87D,KACZ0sqB,OAAQxouB,EAAMwouB,OAElB,GAMEj8nB,QALcjmG,GAAIs8hC,EAAU,SAAA5iiC,GAC5B,OAAOA,EAAMusG,OACf,GAKF,EAuBM/vG,GAAO,SAAA0kD,GACX,OAAOA,EAAIn1C,MAAM,GAAGvP,MACtB,EAoCMqmiC,GAAW,SAACC,EAAmBj4gC,EAAUoitB,GAC7C,GAAwB,IAApBpitB,EAASl1B,OACX,MAAM,IAAIkB,MAAM,iDAlBD,IACX0F,EAqBN,OAnCqB,SAACyqB,EAAO5a,GAC7B,IAAKP,EAAQO,GACX,MAAM,IAAIvV,MAAM,OAASmwB,EAAQ,kCAAoC5a,EAAQ,KAE/Eyx5B,EAAOzx5B,EAAO,SAAA3P,GACZ,IAAK0tE,EAAS1tE,GACZ,MAAM,IAAI5F,MAAM,aAAe4F,EAAI,WAAauqB,EAAQ,4BAE5D,EACF,CAwBE+7gC,CAAe,WAAYl4gC,GAnBrBtuB,EAASC,GAoBJquB,GAnBEu/vB,EAAO7txB,EAAQ,SAACL,EAAGhG,GAC9B,OAAOA,EAAIqG,EAAO5G,OAAS,GAAKuG,IAAMK,EAAOrG,EAAI,EACnD,GACK48D,KAAK,SAAAhP,GACR,MAAM,IAAIjtD,MAAM,cAAgBitD,EAAI,mDAAqDvnD,EAAO0mD,KAAK,MAAQ,KAC/G,GAeO,SAAAvuB,GACL,IAAM2Z,EAASvzC,GAAK45B,GACJ62sB,EAAO1gtB,EAAU,SAAAglC,GAC/B,OAAOg4tB,EAAWx5uB,EAAQwhB,EAC5B,IA7Ce,SAAChlC,EAAU/vB,GAC5B,MAAM,IAAIjE,MAAM,sBAAwB2F,GAAKquB,GAAUo4B,KAAK,MAAQ,8CAAgDzmD,GAAK1B,GAAMmoD,KAAK,MAAQ,IAC9I,CA6CM+/+B,CAAWn4gC,EAAUwjB,GAEvBy0/B,EAAkBj4gC,EAAUwjB,GAC5B,IAAM40/B,EAAcpnN,EAAShxzB,EAAU,SAAApyB,GACrC,OAAQw0uB,EAAK32b,SAAS5hR,EAAIj8B,GAAMA,EAClC,GAIA,OAHIwqiC,EAAYttiC,OAAS,GArCF,SAACutiC,EAAWhsiC,GACrC,MAAM,IAAIL,MAAM,kCAAoCK,EAAO,WAAasF,GAAK0miC,GAAWjg/B,KAAK,MAAQ,cACvG,CAoCMkg/B,CAAmBF,EAAah2T,EAAKjmtB,OAEhC0N,CACT,CACF,EACM0ugC,GAAc,SAACv4gC,EAAU/vB,GAC7B,IAAMy6b,EAAcsmZ,EAAS/g1B,EAAM,SAAArC,GACjC,OAAQovxB,EAAWh9vB,EAAUpyB,EAC/B,GACI88b,EAAY5/b,OAAS,GA5DL,SAAA4/b,GACpB,MAAM,IAAI1+b,MAAM,gCAAkC2F,GAAK+4b,GAAatyY,KAAK,MAC3E,CA2DIog/B,CAAc9tmB,EAElB,EACM+tmB,GAAU,SAAAz4gC,GAAQ,OAtCX,SAACi4gC,EAAmBj4gC,GAC/B,OAAOg4gC,GAASC,EAAmBj4gC,EAAU,CAC3CyrR,SAAU30P,EACV36B,MAAO,YAEX,CAiC4B07C,CAAK0g+B,GAAav4gC,EAAU,EAElD04gC,GAAWD,GAAQ,CAAC,UAAW,UAAW,SAAU,SACpDE,GAAWF,GAAQ,CAAC,UAAW,QAAS,OAAQ,YAChDG,GAAUH,GAAQ,CAAC,YAAa,OAAQ,OAAQ,cAEhDI,GAAS,WACb,IAAIhmgB,EAAWwpP,EAAS/gX,OAoBlB9sZ,EAASsphC,GAAS,CACtBx+hB,KAAM3jc,GAAM,CAAC,WAEf,MAAO,CACLmj+B,QAbc,SAAC3jiC,EAAOM,GACHA,EAAK273B,QAAQj83B,GACrB8yD,KAAK,SAAAx3D,GACd,IAAMqd,EAVK,SAACrY,EAAMs8Z,GACpB,IAAMxla,EAASsmiB,EAASp3hB,IAAI,SAAAgjU,GAC1B,OAAOhpU,EAAKypD,QAAQu/Q,EAAKszF,EAC3B,GAEA,OADA8gI,EAAWwpP,EAASpyvB,KAAK8nY,GAClBxla,CACT,CAImBg7G,CAAO9xG,EAAMhF,GAC5Bqd,EAAOm6C,KAAK,SAAAhP,GACVzqC,EAAOkzF,QAAQ43Z,KAAKrgd,EACtB,EACF,EACF,EAMEg/Y,MAxBY,WACZ46F,EAAWwpP,EAAS/gX,MACtB,EAuBE9sZ,OAAQA,EAAOwK,SAEnB,EAaM+/gC,GAAW,WACf,IAAMC,EAZO,WACb,IAAMxqhC,EAASsphC,GAAS,CACtBx+hB,KAAM3jc,GAAM,CAAC,WAEf,MAAO,CACLmj+B,QAAS/h7B,EACTkhV,MAAOlhV,EACPvoG,OAAQA,EAAOwK,SAEnB,CAGsBighC,GACdC,EAAcL,KAChBM,EAAYH,EAehB,MAAO,CACL1z9B,GAfS,WACT6z9B,EAAUlhmB,QACVkhmB,EAAYD,CACd,EAaE5n9B,IAZU,WACV6n9B,EAAUlhmB,QACVkhmB,EAAYH,CACd,EAUEI,KANW,WACX,OAAOD,IAAcD,CACvB,EAKEJ,QAVc,SAAC3jiC,EAAOM,GACtB0jiC,EAAUL,QAAQ3jiC,EAAOM,EAC3B,EASE+Y,OAAQ0qhC,EAAY1qhC,OAExB,EAEM6wc,GAAQ,SAACkrL,EAAU90oB,EAAMypkB,GAC7B,IAAIn1d,GAAS,EACPv7F,EAASsphC,GAAS,CACtBn3hC,MAAOg1D,GAAM,IACb78D,KAAM68D,GAAM,MAER890B,EAAWslJ,KACX1qgB,EAAO,WACXgrgB,EAAKvgiC,OACD264B,EAAS2lJ,SACX3lJ,EAASni0B,MACT9iE,EAAOkzF,QAAQ5oG,OAEnB,EACMwgiC,EApLK,SAACrgiC,EAAIgtkB,GAChB,IAAIj0jB,EAAQ,KACNysE,EAAS,WACR0zC,EAAOngH,KACVkrB,aAAalrB,GACbA,EAAQ,KAEZ,EAQA,MAAO,CACLysE,SACA+5J,SATe,WAAc,IAAD,IAAA+gzB,EAAAjriC,UAAAxD,OAATuV,EAAI,IAAAU,MAAAw4hC,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJn5hC,EAAIm5hC,GAAAlriC,UAAAkriC,GACvB/68B,IACAzsE,EAAQ0lB,WAAW,WACjB1lB,EAAQ,KACR/Y,EAAG3E,MAAM,KAAM+L,EACjB,EAAG4lkB,EACL,EAKF,CAiKwB5zhB,CAAKg8e,EAAM,KAUjColX,EAASjl4B,OAAO8qf,KAAKroc,KAAK,SAAA97D,GACxBM,EAAKmkjB,OAAO2wF,EAAUp1oB,EAAM0R,KAC9B,GACA,IAOM4yhC,EAAc,SAAAhoiC,GAClB,OAAO,WACL,GAAIs4G,EAAQ,CAAC,IAAD,IAAA2v7B,EAAApriC,UAAAxD,OADHuV,EAAI,IAAAU,MAAA24hC,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJt5hC,EAAIs5hC,GAAArriC,UAAAqriC,GAEXloiC,EAAE6C,MAAM,KAAM+L,EAChB,CACF,CACF,EACMg5hC,EAAO5jiC,EAAK4jiC,KAAKT,GAAQ,CAC7BgB,UAAWvrgB,EACXA,KAAMorgB,EAAYprgB,GAClB/0B,KAAMmgiB,EAxBU,SAAAtkiC,GAChBmkiC,EAAc768B,SACdg1zB,EAASqlJ,QAAQ3jiC,EAAOM,EAC1B,GAsBEokiC,UAAWJ,EAAYH,EAAc9gzB,YACnC0mV,GAIJ,MAAO,CACLh8d,QAASm27B,EAAKn27B,QACd86T,GArCS,SAAAxrX,GACT6m/B,EAAK14hC,MAAM6xC,GACXih2B,EAASnu0B,KACT92D,EAAOkzF,QAAQ/gG,OACjB,EAkCE2kE,GA1BS,WACTykC,GAAS,CACX,EAyBEz4B,IAxBU,WACVy4B,GAAS,CACX,EAuBEotE,SAtBe,WAAH,OAASptE,CAAO,EAuB5BgvC,QATc,WACdsg5B,EAAKtg5B,SACP,EAQEvqI,OAAQA,EAAOwK,SAEnB,EAEM4wQ,GAAM,SAAAr8J,GACV,IAAMus6B,EAAgBvs6B,EAAUxhH,QAAQ,MAAO,KAI/C,MAAO,CACL3Y,QAJc,SAAAhH,GACd,OAAO0tiC,EAAgB,IAAM1tiC,CAC/B,EAIF,EAGM+mzB,GADWvphB,GAAI,kBACMx2R,QA+DvB2miC,GAAYrB,GAAS,CACvBx5+B,QApCc,SAACu/Q,EAAKszF,GACpB,OAAO+2X,GAAc/2X,EAAGzpZ,KAAOm2T,EAAIn2T,KAAMypZ,EAAGvpZ,IAAMi2T,EAAIj2T,IACxD,EAmCE4o3B,QAlCc,SAAAj83B,GACd,OAAOknxB,EAASpyvB,KAAK6+vB,GAAc3zxB,EAAMiM,EAAGjM,EAAMkM,GACpD,EAiCEg4hC,KA7BW,SAACW,EAAS96d,GACrB,IAAM+6d,EApCQ,SAAA3niC,GACd,IAAM4skB,EAAQrnkB,EAAA,CACZqiiC,WAAY/mP,GAAU,YACnB7gzB,GAECwkC,EAAMuuvB,GAAazpD,QAAQ,OAejC,OAdA2rD,GAAMzwvB,EAAK,OAAQ,gBACnB6+Y,GAAO7+Y,EAAK,CACVrqB,SAAU,QACVnE,KAAM,MACNE,IAAK,MACLyC,MAAO,OACPE,OAAQ,SAEVrR,GAAIg9B,EAAKq8wB,GAAU,YACnBr5yB,GAAIg9B,EAAKooiB,EAASg7d,YAKX,CACLh37B,QALc+yc,EAASn/gB,GAMvBiiH,QALc,WACd6uoB,GAAS9wvB,EACX,EAKF,CAYkBqjgC,CAAQj7d,GAClBk7d,EAAQnp+B,GAAKgp+B,EAAQ/27B,UAAW,YAAa827B,EAAQJ,WACrDS,EAAMpp+B,GAAKgp+B,EAAQ/27B,UAAW,UAAW827B,EAAQ3rgB,MACjDisgB,EAAQrp+B,GAAKgp+B,EAAQ/27B,UAAW,YAAa827B,EAAQ1giB,MACrDihiB,EAAOtp+B,GAAKgp+B,EAAQ/27B,UAAW,WAAY827B,EAAQH,WAczD,OAAOlB,GAAS,CACdz17B,QAAS+27B,EAAQ/27B,QACjBviG,MARY,SAAA6xC,GACZw1uB,GAASx1uB,EAAQyn/B,EAAQ/27B,UAC3B,EAOEpqG,KANW,WACX8uxB,GAASqyQ,EAAQ/27B,UACnB,EAKE61C,QAjBc,WACdkh5B,EAAQlh5B,UACRsh5B,EAAI18T,SACJ28T,EAAM38T,SACN48T,EAAK58T,SACLy8T,EAAMz8T,QACR,GAaF,EAKE/jL,OAjCa,SAAC2wF,EAAU1joB,GACxB0joB,EAAS3wF,OAAO/yiB,EAAKyB,KAAMzB,EAAK2B,IAClC,IAyCMpV,GADSw2R,GAAI,iBACIx2R,QAejBoniC,GAAc,WAClB,IAAMhshC,EAASsphC,GAAS,CACtB/+gC,KAAM48C,GAAM,CAAC,SAAU,SAAU,aAE/BvgE,EAASinxB,EAAS/gX,OAChBryV,EAlBS,WACf,IAAMz6D,EAASsphC,GAAS,CACtB/+gC,KAAM48C,GAAM,CAAC,SAAU,aAKzB,MAAO,CACLikf,OAJa,SAACx4iB,EAAGC,GACjBmN,EAAOkzF,QAAQ3oF,KAAK3X,EAAGC,EACzB,EAGEmN,OAAQA,EAAOwK,SAEnB,CAOmByhhC,GACjBxx9B,EAASz6D,OAAOuK,KAAKk4C,KAAK,SAAA97D,GACxBC,EAAO6yD,KAAK,SAAAlgD,GACVyG,EAAOkzF,QAAQ3oF,KAAK5jB,EAAM06hC,OAAQ16hC,EAAM26hC,OAAQ/nhC,EAClD,EACF,GAOA,MAAO,CACLqnE,OAPa,SAAArnE,GACb3S,EAASinxB,EAASpyvB,KAAKliB,EACzB,EAMEjX,IALU,WACV,OAAOsE,CACT,EAIEwkjB,OAAQ3we,EAAS2we,OACjBpriB,OAAQA,EAAOwK,SAEnB,EAiCM0hhC,GAAYtniC,GAAQ,eACpBuniC,GAAevniC,GAAQ,gBACvBwniC,GAAexniC,GAAQ,gBAgBvB2lJ,GAAU,SAAA8h5B,GACd,IAAMhogB,EAAWhmX,GAAYgu3B,EAAKro/B,SAAU,IAAMko/B,IAClD1nI,EAAOngY,EAAU+0P,GACnB,EACMkzQ,GAAU,SAACD,EAAMnthC,EAAWy2B,GAChC,IAAMk9C,EAASw58B,EAAKx58B,SACpB2x0B,EAAOtl5B,EAAW,SAAAqthC,GAChBA,EAAS9y+B,KAAK,SAAAsI,GACZ,IAAMq6V,EAAMzmX,EAAOk9C,EAAQ9wB,GAC3Bz2D,GAAI8wZ,EAAK8voB,IACT1yQ,GAAS6yQ,EAAKro/B,SAAUo4W,EAC1B,EACF,EACF,EACMowoB,GAAa,SAACH,EAAMI,EAAcxuhC,EAAUyuhC,GAChDJ,GAAQD,EAAMI,EAAc,SAAC558B,EAAQ9wB,GACnC,IAAM4q+B,EAjEE,SAACl5wB,EAAQ7gR,EAAGC,EAAG2iC,EAAGs1B,GAC5B,IAAMsxV,EAAMy6X,GAAazpD,QAAQ,OAYjC,OAXAjmT,GAAO/qB,EAAK,CACVn+Y,SAAU,WACVnE,KAAMlH,EAAI4iC,EAAI,EAAI,KAClBx7B,IAAKnH,EAAI,KACT8J,OAAQmuD,EAAI,KACZruD,MAAO+4B,EAAI,OAEbkgvB,GAASt5X,EAAK,CACZ,cAAe3oI,EACf,KAAQ,iBAEH2oI,CACT,CAmDmB7pE,CAAIxwR,EAAGwwR,IAAKxwR,EAAGnvD,EAAIigF,EAAO/4E,KAAMmE,EAASjE,IAAM64E,EAAO74E,IA/BnD,EA+BuE0yhC,GAEzF,OADAphiC,GAAIqhiC,EAAQP,IACLO,CACT,EACF,EACMC,GAAa,SAACP,EAAMQ,EAAc5uhC,EAAU6uhC,GAChDR,GAAQD,EAAMQ,EAAc,SAACh68B,EAAQ9wB,GACnC,IAAMgr+B,EAzDE,SAACrl/B,EAAG90C,EAAGC,EAAG2iC,EAAGs1B,GACvB,IAAMsxV,EAAMy6X,GAAazpD,QAAQ,OAYjC,OAXAjmT,GAAO/qB,EAAK,CACVn+Y,SAAU,WACVnE,KAAMlH,EAAI,KACVoH,IAAKnH,EAAIi4D,EAAI,EAAI,KACjBnuD,OAAQmuD,EAAI,KACZruD,MAAO+4B,EAAI,OAEbkgvB,GAASt5X,EAAK,CACZ,WAAY10W,EACZ,KAAQ,iBAEH00W,CACT,CA2CmBg9B,CAAIr3X,EAAGq3X,IAAKn7a,EAASnE,KAAO+4E,EAAO/4E,KAAMioD,EAAGlvD,EAAIggF,EAAO74E,IAAK8yhC,EAtCzD,GAwClB,OADAxhiC,GAAIyhiC,EAAQZ,IACLY,CACT,EACF,EACMC,GAAc,SAACC,EAAUZ,EAAM1mgC,EAAO7F,EAAMyoQ,GAChD,IAAMtqR,EAAWmrzB,GAASzjyB,GACpBo9xB,EAAcspO,EAAKtpO,YACnB8pO,EAAe/sgC,EAAKxjC,OAAS,EAAIqgB,GAAOuC,UAAU4gB,EAAM6F,GAAS,GACjEungC,EAAmBL,EAAavwiC,OAAS,EA9C3B,SAACm//B,EAAW14L,GAAW,OAAK3oC,EAAOqhO,EAAUjy/B,IAAK,SAAC4vb,EAAKv8b,GAAC,OAAKkm0B,EAAY3pY,EAAI1kV,SAAW,CAAC73G,GAAK,EAAE,EAAE,CA8CpEswiC,CAAcF,EAAUlqO,GAAe,GACpFqqO,EAAwB5qN,EAASqqN,EAAc,SAACQ,EAAMxwiC,GAAC,OAAKs3d,EAAO+4kB,EAAkB,SAAAI,GAAQ,OAAIzwiC,IAAMywiC,CAAQ,EAAC,GACtHV,GAAWP,EAAMe,EAAuBnvhC,EAAU62/B,GAAWnv+B,IAC7D,IAAM8mgC,EAAelkwB,EAAKjsS,OAAS,EAAImgB,GAAMyC,UAAUqpR,EAAM5iQ,GAAS,GAChE4ngC,EAAmBd,EAAanwiC,OAAS,EAjDxB,SAACm//B,EAAW14L,GACnC,IAAMyqO,EAAgB,GAOtB,OANA55B,EAAQnY,EAAU98jB,KAAK33M,QAAS,SAAA9+O,GAC9B,IAAMuliC,EAAYxwC,GAAUqZ,YAAY7a,EAAWvz/B,GAAO+E,IAAI,SAAAslV,GAAG,OAAIA,EAAI79O,OAAO,GAC5E+47B,EAAUv7T,OAAO6wF,IACnByqO,EAAc5riC,KAAKsG,EAEvB,GACOs60B,EAASgrN,EAAe,SAAA7wC,GAC7B,IAAMod,EAAc9c,GAAUzB,YAAYC,EAAW,SAAA39jB,GAAI,OAAIA,EAAKrqK,SAAWkpuB,CAAQ,GACrF,OAAOzqR,EAAO6nS,EAAa,SAAAj8kB,GAAI,OAAIilY,EAAYjlY,EAAKppV,QAAQ,EAC9D,EACF,CAqCqDg57B,CAAiBT,EAAUlqO,GAAe,GACvF4qO,EAAwBnrN,EAASiqN,EAAc,SAACY,EAAMxwiC,GAAC,OAAKs3d,EAAOo5kB,EAAkB,SAAAD,GAAQ,OAAIzwiC,IAAMywiC,CAAQ,EAAC,GACtHd,GAAWH,EAAMsB,EAAuB1vhC,EAAU84/B,GAAWpx+B,GAC/D,EACM2wqB,GAAU,SAAC+1V,EAAM1mgC,GAErB,GADA4kH,GAAQ8h5B,GACJA,EAAKtpO,YAAYp9xB,GAAQ,CAC3B,IAAM819B,EAAYwB,GAAU+Y,UAAUrw+B,GAChCu39B,EAASp99B,GAAK279B,GACdlztB,EAAOvhD,GAAQy0wB,GACrBuxC,GAAYvxC,EAAW4wC,EAAM1mgC,EAAOu39B,EAAQ30tB,EAC9C,CACF,EACM9uO,GAAO,SAAC4y+B,EAAMppiC,GAClB,IAAMygL,EAAOrF,GAAYgu3B,EAAKro/B,SAAU,IAAMko/B,IAC9C1nI,EAAO9gvB,EAAMzgL,EACf,EACMsoS,GAAO,SAAA8gwB,GACX5y+B,GAAK4y+B,EAAM,SAAAjwoB,GACTtsU,GAAMssU,EAAK,UAAW,OACxB,EACF,EACM9wH,GAAO,SAAA+gwB,GACX5y+B,GAAK4y+B,EAAM,SAAAjwoB,GACTtsU,GAAMssU,EAAK,UAAW,QACxB,EACF,EAQMwxoB,GAAoBhpiC,GAAQ,wBAC5BipiC,GAAa,SAAAxB,GACjB,IAAMtwZ,EAAWiwZ,KACXrkB,EAzKU,SAAC5rY,GAA6B,IAC1Cp1lB,EADuB+phB,EAAQ5wkB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EAEjCmH,EAAgC,QAAxB0/C,EAAK+phB,EAASzpkB,YAA8B,IAAZ0/C,EAAgBA,EAAK4k/B,GACnE,OAAO16kB,GAAMkrL,EAAU90oB,EAAMypkB,EAC/B,CAqKmBrnf,CAAU0yjB,EAAU,CAAC,GAClC+xZ,EAAajgR,EAAS/gX,OACpBihoB,EAAa,SAACr57B,EAAS72G,GAC3B,OAAOgwxB,EAASxquB,KAAKgsuB,GAAM36qB,EAAS72G,GACtC,EACAk+oB,EAAS/7nB,OAAOuK,KAAKk4C,KAAK,SAAA97D,GACxBoniC,EAAWpniC,EAAMC,OAAQ,YAAY6yD,KAAK,SAAAu0+B,GACxC,IAAMhyC,EAAayY,GAAY9tgC,EAAMC,OAAQ,OAC7CkpF,GAAMnpF,EAAMC,OAAQ,MAAOo1/B,EAAar1/B,EAAM26hC,OAAS,KACzD,GACAyM,EAAWpniC,EAAMC,OAAQ,eAAe6yD,KAAK,SAAAw0+B,GAC3C,IAAMC,EAAaz5B,GAAY9tgC,EAAMC,OAAQ,QAC7CkpF,GAAMnpF,EAAMC,OAAQ,OAAQsniC,EAAavniC,EAAM06hC,OAAS,KAC1D,EACF,GACA,IAAMjtD,EAAW,SAACxt+B,EAAQwmD,GAGxB,OAFaqn9B,GAAY7tgC,EAAQwmD,GACpBwt8B,GAAah0/B,EAAQ,gBAAkBwmD,EAAK,EAE3D,EACAu69B,EAAS3ngC,OAAO1V,KAAKm4D,KAAK,WACxBs5kB,EAASz5oB,MAAMm3D,KAAK,SAAA7yD,GAClBkniC,EAAWr0+B,KAAK,SAAA9zB,GACdoogC,EAAWnniC,EAAQ,YAAY6yD,KAAK,SAAA2/X,GAClC,IAAMx1V,EAAQww4B,EAASxt+B,EAAQ,OAC/B6vxB,GAAS7vxB,EAAQ,oBACjBoZ,EAAOkzF,QAAQ+0L,aAAatiQ,EAAOi+D,EAAOrpE,SAAS6+Z,EAAK,IAC1D,GACA20mB,EAAWnniC,EAAQ,eAAe6yD,KAAK,SAAAg6N,GACrC,IAAM7vL,EAAQww4B,EAASxt+B,EAAQ,QAC/B6vxB,GAAS7vxB,EAAQ,qBACjBoZ,EAAOkzF,QAAQm86B,YAAY1p/B,EAAOi+D,EAAOrpE,SAASk5P,EAAQ,IAC5D,GACA6ib,GAAQ+1V,EAAM1mgC,EAChB,EACF,EACF,GACA,IAAMsgB,EAAU,SAACr/C,EAAQwmD,GACvBptC,EAAOkzF,QAAQi77B,cACfpyZ,EAASn7jB,OAAOh6E,GAChBmyxB,GAAMnyxB,EAAQ,gBAAkBwmD,EAAKqn9B,GAAY7tgC,EAAQwmD,IACzD9hD,GAAI1E,EAAQgniC,IACZ998B,GAAMlpF,EAAQ,UAAW,OACzB+ghC,EAASn4mB,GAAG68nB,EAAKro/B,SACnB,EACMki/B,EAAYzj+B,GAAK4p+B,EAAKro/B,SAAU,YAAa,SAAAr9C,GAvDpC,IAAA+tG,IAwDA/tG,EAAMC,OAvDdxE,GAAIsyG,EAASy37B,KAwDhBlm/B,EAAQt/C,EAAMC,OAAQ,OAtDX,SAAA8tG,GACf,OAAOtyG,GAAIsyG,EAAS037B,GACtB,CAsDQgC,CAASzniC,EAAMC,SACjBq/C,EAAQt/C,EAAMC,OAAQ,OAE1B,GACMszX,EAAS,SAAAx/X,GACb,OAAOoyxB,GAAKpyxB,EAAG2xiC,EAAK/ihC,OACtB,EAEM68gC,EAAY1j+B,GAAK4p+B,EAAK/ihC,OAAQ,YAAa,SAAA3iB,GADhB,IAAAC,KAEND,EAAMC,OAFUgi1B,GAAUhi1B,EAAQ,QAASszX,GAAQrlW,OAAOmz1B,KAE5Cz5I,KAAK,WACtCypD,GAAOrxxB,EAAMC,SACf2jJ,GAAQ8h5B,EAEZ,EAAG,SAAA1mgC,GACGgi/B,EAASh/1B,aACXml3B,EAAajgR,EAASpyvB,KAAKkK,GAC3B2wqB,GAAQ+1V,EAAM1mgC,GAElB,EACF,GAUM3lB,EAASsphC,GAAS,CACtBrhwB,aAAc9gO,GAAM,CAAC,QAAS,QAAS,QACvCko9B,YAAalo9B,GAAM,CAAC,QAAS,QAAS,WACtCgn+B,YAAahn+B,GAAM,MAErB,MAAO,CACLojF,QAfgB,WAChB274B,EAAU/2T,SACVg3T,EAAUh3T,SACVw4S,EAASp93B,UACTA,GAAQ8h5B,EACV,EAWE/1V,QAVgB,SAAA+3V,GAChB/3V,GAAQ+1V,EAAMgC,EAChB,EASEv39B,GAAI6w8B,EAAS7w8B,GACbgM,IAAK6k8B,EAAS7k8B,IACdwr9B,SAAUzlf,EAAMt9Q,GAAM8gwB,GACtBkC,SAAU1lf,EAAMv9Q,GAAM+gwB,GACtBrshC,OAAQA,EAAOwK,SAEnB,EAuCMgkhC,GArCS,SAACnC,EAAM1kB,EAAU8mB,GAC9B,IAAMC,EAAa/xhC,GACbgyhC,EAAalyhC,GACbmyhC,EAAUf,GAAWxB,GACrBrshC,EAASsphC,GAAS,CACtBuF,aAAc1n+B,GAAM,CAAC,QAAS,SAC9B2n+B,YAAa3n+B,GAAM,CAAC,QAAS,SAC7B+8vB,UAAW/8vB,GAAM,MAoBnB,OAlBAyn+B,EAAQ5uhC,OAAOioR,aAAaxlO,KAAK,SAAA97D,GAC/B,IAAMg/B,EAAQh/B,EAAMg/B,MACpB3lB,EAAOkzF,QAAQ277B,aAAalpgC,EAAO,OACnC,IAAMi+D,EAAQ8q8B,EAAW9q8B,MAAMj9F,EAAMi9F,MAAOj+D,GAC5CsiQ,GAAatiQ,EAAOi+D,EAAOj9F,EAAMyyb,IAAKs1mB,GACtC1uhC,EAAOkzF,QAAQ477B,YAAYnpgC,EAAO,MACpC,GACAipgC,EAAQ5uhC,OAAOmuhC,YAAY1r+B,KAAK,SAAAss+B,GAC9B/uhC,EAAOkzF,QAAQgxtB,WACjB,GACA0qO,EAAQ5uhC,OAAOqvgC,YAAY5s9B,KAAK,SAAA97D,GAC9B,IAAMg/B,EAAQh/B,EAAMg/B,MACpB3lB,EAAOkzF,QAAQ277B,aAAalpgC,EAAO,OACnC,IAAMi+D,EAAQ+q8B,EAAW/q8B,MAAMj9F,EAAMi9F,MAAOj+D,GACtC40+B,EAAYk0B,EAAW9ogC,GAC7B0p/B,GAAY1p/B,EAAOi+D,EAAOj9F,EAAM8sR,OAAQk0vB,EAAUpN,GAClDv6/B,EAAOkzF,QAAQ477B,YAAYnpgC,EAAO,MACpC,GACO,CACLmxC,GAAI839B,EAAQ939B,GACZgM,IAAK8r9B,EAAQ9r9B,IACbks9B,YAAaJ,EAAQt4V,QACrBg4V,SAAUM,EAAQN,SAClBC,SAAUK,EAAQL,SAClBhk5B,QAASqk5B,EAAQrk5B,QACjBvqI,OAAQA,EAAOwK,SAEnB,EA+BMykhC,GA1BO,SAACv67B,EAASqutB,GACrB,IAAM/+wB,EAASyjvB,GAAW/yrB,GAz3NJ,SAAAA,GAAO,OAAImirB,GAAavpD,QAAQ4pD,GAAgBxirB,GAASuoW,IAAIj5b,gBAAiB,CAy3N/DA,CAAgB0wF,GAAWA,EAChE,MAAO,CACL1wD,OAAQyjgB,EAASzjgB,GACjB16B,KAAMm+hB,EAAS/yc,GACf7hB,OAAQ40d,EAAS6yO,GAAc,EAAG,IAClCyoC,cAEJ,EAkBMksO,GARO,SAACr2Q,EAAUj7rB,EAAQoluB,GAC9B,MAAO,CACL/+wB,OAAQyjgB,EAAS9pd,GACjBr0E,KAAMm+hB,EAASmxO,GACf/lsB,OAAQ40d,EAAS6yO,GAAc,EAAG,IAClCyoC,cAEJ,EAOMmsO,GAAkB,WACtB,IAAMn38B,EAAY8+rB,GAAazpD,QAAQ,OAUvC,OATAjmT,GAAOpvV,EAAW,CAChB95E,SAAU,SACVtB,OAAQ,IACRF,MAAO,IACP+iB,QAAS,IACTrhB,OAAQ,IACRmiT,OAAQ,MAEVk5d,GAjsNmB06O,GAAUr9O,GAAavpD,QAAQvptB,WAisN/Bg0E,GACZA,CACT,EAUMsosB,GAAU,SAAA/7uB,GAAI,OAAI2ouB,EAAc3ouB,IAA2B,UAAlBA,EAAK6yD,QAAqB,EACnEg47B,GAAmB,OACnBpsO,GAAc,SAAAz1yB,GAAG,MAAsC,UAAlC+hwB,GAAM/hwB,EAAK,kBAA+B,EAW/D8hhC,GAAqB,SAAApxP,GACzB,IAGIkkB,EACAmtO,EAJEzvO,EAAezi0B,KACfmyiC,EAAcnyiC,KACdoyiC,EAAapyiC,KAGbsxiC,EAAa,SAAA9ogC,GAAK,OAAI80vB,GAAMujB,EAAQr4wB,EAAO,EAC3C6pgC,EAAwB,WAAH,OAAS3wB,GAA8B7gO,GAAUumO,KAAkBf,IAAc,EAEtGisB,EAAoB,SAAC9pgC,EAAOktD,EAAQp2E,GACxC,IAAMizhC,EAAoB5+zB,GAASj+I,EAAQ,KAI3C,GAHkB,KAAdw88B,GACFtV,GAAqBp0/B,GAEnBlpB,IAAUylzB,GAAwB,KAAdmtO,EAAkB,CACxCv/8B,GAAMnqD,EAAO,QAAS0pgC,GACtB,IAAM1nB,EAAW6nB,IACXj1B,EAAYk0B,EAAW9ogC,GACvB4sT,EAAMssrB,GAA8B7gO,IAAW0xP,EAVnC,SAAA/pgC,GAAK,OAAIm/+B,GAAYn/+B,GAAOqhN,OAAQ,CAUmB2ozB,CAAchqgC,GAAS,EAAI,EACpG0p/B,GAAY1p/B,EAAOlpB,EAAQylzB,EAAQ3ve,EAAKo1rB,EAAUpN,EACpD,MAAO,GAjoKY,SAAAp9gC,GAAK,MAAI,mBAAmBoB,KAAKpB,EAAO,CAioKhDyyiC,CAAeP,GAAY,CACpC,IAAMQ,EAAWtxhC,WAAW8whC,EAAU9xhC,QAAQ,IAAK,KAEnDuyE,GAAMnqD,EAAO,QADUlpB,EAAQozhC,EAAW3tO,EACH,IACzC,EApoKY,SAAA/k0B,GAAK,MAAI,oBAAoBoB,KAAKpB,EAAO,EAqoKjD2yiC,CAAQT,IAnCG,SAAA1pgC,GACjB,IAAM819B,EAAYwB,GAAU+Y,UAAUrw+B,GACjCs39B,GAAUoZ,WAAW5a,IACxBj3F,EAAO02F,GAAQv19B,GAAQ,SAAAm4Z,GACrB,IAAMiymB,EAAgB9/Q,GAAMnyV,EAAM,SAClChuW,GAAMguW,EAAM,QAASiymB,GACrBt5Q,GAAS34V,EAAM,QACjB,EAEJ,CA2BMkymB,CAAWrqgC,EAEf,EACM4kH,EAAU,WACd+k5B,EAAYx49B,GAAG,SAAAklhB,GACbA,EAAGzxc,SACL,GACAgl5B,EAAWz49B,GAAG,SAAAthC,IApDH,SAACwowB,EAAQquP,GAClBruP,EAAO7hpB,QACTi9nB,GAASizQ,EAAKro/B,SAElB,CAiDM/8B,CAAO+2xB,EAAQxowB,EACjB,EACF,EACAwowB,EAAOlnuB,GAAG,OAAQ,WAChB,IAAMm59B,EA5DE,SAACjyP,EAAQ+kB,GACnB,OAAO/kB,EAAO7hpB,OAAS8y4B,GAAgBp4Q,GAAavpD,QAAQ0wE,EAAO50D,WAAY8lT,KAAmBnsO,GAAeksO,GAAgBp4Q,GAAavpD,QAAQ0wE,EAAOzyD,UAAWw3E,EAC1K,CA0DoBzg0B,CAAI07yB,EAAQ+kB,IAE5B,GADAwsO,EAAWltiC,IAAI4tiC,GAzsKY,SAAAjyP,GAC7B,IAAMkyP,EAAiBlyP,EAAOl6yB,QAAQxB,IAAI,mBAC1C,OAAOksxB,EAAW0hR,EAAezkgC,MAAM,KAAM,QAC/C,CAusKQ0kgC,CAAuBnyP,IAAWkhO,GAAmBlhO,GAAS,CAChE,IAAM2pO,EAAW6nB,IACXxzc,EAAKwyc,GAAmByB,EAAStoB,EAAU8mB,GACjDzyc,EAAGllhB,KACHklhB,EAAGh8kB,OAAOkkzB,UAAUzhwB,KAAK,SAAAss+B,GACvBnvO,EAAav9zB,IAAI27yB,EAAOx8hB,UAAU08hB,SACpC,GACAliN,EAAGh8kB,OAAO6uhC,aAAaps+B,KAAK,SAAA97D,GAC1B,IAAMypiC,EAAWzpiC,EAAMg/B,MAAMs3a,KAtkGP,SAAC+gW,EAAQp3yB,EAAQ6V,EAAOE,EAAQk2E,GAC5DmrtB,EAAO5iyB,SAAS,oBAAqB,CACnCxU,SACA6V,QACAE,SACAk2E,UAEJ,CAgkGQ2wuB,CAAsBxlB,EAAQoyP,EAAUzwB,GAAcywB,GAAWxwB,GAAewwB,GAAWjB,GAAmBxoiC,EAAM9I,KACtH,GACAm+lB,EAAGh8kB,OAAO8uhC,YAAYrs+B,KAAK,SAAA97D,GACzB,IAAMg/B,EAAQh/B,EAAMg/B,MACdyqgC,EAAWzqgC,EAAMs3a,IACvBwikB,GAAgB95+B,GAChBi6xB,EAAa9ovB,GAAG,SAAAq1W,GACd6xX,EAAOx8hB,UAAUkqe,OAAOv/T,GACxB6xX,EAAOr/wB,OACT,GAxkGkB,SAACq/wB,EAAQp3yB,EAAQ6V,EAAOE,EAAQk2E,GACxDmrtB,EAAO5iyB,SAAS,gBAAiB,CAC/BxU,SACA6V,QACAE,SACAk2E,UAEJ,CAkkGQ+wuB,CAAkB5lB,EAAQoyP,EAAUzwB,GAAcywB,GAAWxwB,GAAewwB,GAAWjB,GAAmBxoiC,EAAM9I,MAChHmgzB,EAAOj1D,YAAYz9uB,KACrB,GACAgkiC,EAAYjtiC,IAAI25lB,EAClB,CACF,GACAgiN,EAAOlnuB,GAAG,oBAAqB,SAAAp8E,GAC7B,IAAMop0B,EAAYpp0B,EAAEkM,OACpB,GAAIy5xB,GAAQyjC,GAAY,CACtB,IAAMn+xB,EAAQkxvB,GAAavpD,QAAQw2F,GACnC0gG,EAAOxmH,EAAO/gW,IAAIh9a,OAAO,wBAAyB,SAAA10B,GAChDyyyB,EAAO/gW,IAAIq8V,SAAS/tyB,EAAO,OAASqzgC,GAAgC5gO,GAAU,WAChF,IACK47O,GAAcj0/B,IAAUq5+B,GAAoBhhO,GAC/Cg8O,GAAmBr0/B,IACTg0/B,GAAgBh0/B,IAAUo5+B,GAAyB/gO,IAC7D+7O,GAAqBp0/B,GAEnBk0/B,GAAal0/B,IAAUhkC,GAAWjH,EAAEm4F,OAAQs88B,KAC9CpV,GAAqBp0/B,GAEvBu8xB,EAASxn0B,EAAE+hB,MACX4yhC,EAAYpwB,GAAwBjhO,GAAU,GAlsKhC,SAACA,EAAQ1wxB,GAC3B,IAAM4jc,EAAM8sV,EAAO/gW,IAAI45V,SAASvpxB,EAAK,UAAY0wxB,EAAO/gW,IAAIm5V,UAAU9oxB,EAAK,SAC3E,OAAOugwB,EAASxquB,KAAK6ta,GAAKr8b,OAAOk8c,GACnC,CA+rKyDs/jB,CAAYryP,EAAQ8lB,GAAW72F,MAAM,GAC1F,CACF,GACA+wE,EAAOlnuB,GAAG,gBAAiB,SAAAp8E,GACzB,IAAMop0B,EAAYpp0B,EAAEkM,OACpB,GAAIy5xB,GAAQyjC,GAAY,CACtB,IAAMn+xB,EAAQkxvB,GAAavpD,QAAQw2F,GAC7BjxuB,EAASn4F,EAAEm4F,OACblxF,GAAWkxF,EAAQ,YACrB488B,EAAkB9pgC,EAAOktD,EAAQn4F,EAAE+hB,OAErCgjgC,GAAgB95+B,GAChB639B,GAAkBx/M,EAAQr4wB,EAAMs3a,IAAK4qjB,GACvC,CACF,GACA7pN,EAAOlnuB,GAAG,aAAc,WACtBw49B,EAAYx49B,GAAG,SAAA7+C,GACT+lxB,EAAO/2yB,KAAK2w3B,aACd3/1B,EAAOq2gC,WAEPr2gC,EAAOs2gC,UAEX,EACF,GACAvwP,EAAOlnuB,GAAG,oBAAqB,SAAAp8E,GAC7B40iC,EAAYx49B,GAAG,SAAA7+C,GACE,cAAXv9B,EAAEmD,MACJo6B,EAAOq2gC,WACPr2gC,EAAO6qD,QAEP7qD,EAAO6+C,KACP7+C,EAAOs2gC,WAEX,EACF,GACAvwP,EAAOlnuB,GAAG,SAAU,WAClByzE,GACF,GAUA,MAAO,CACL+rjB,QAVc,SAAA3wqB,GACd2pgC,EAAYx49B,GAAG,SAAA7+C,GAAM,OAAIA,EAAO+2gC,YAAYn4Q,GAAavpD,QAAQ3nsB,GAAO,EAC1E,EASE4lQ,KARW,WACX+jwB,EAAYx49B,GAAG,SAAA7+C,GAAM,OAAIA,EAAOq2gC,UAAU,EAC5C,EAOEhjwB,KANW,WACXgkwB,EAAYx49B,GAAG,SAAA7+C,GAAM,OAAIA,EAAOs2gC,UAAU,EAC5C,EAMF,EAEM+B,GAAa,SAAAtyP,IA52KF,SAAAA,GACf,IAAMspH,EAAiBtpH,EAAOl6yB,QAAQy0F,SACtC+u0B,EAAe,uBAAwB,CACrCz9K,UAAW,aAEby9K,EAAe,sBAAuB,CACpCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,oBAAqB,CAClCz9K,UAAW,SAAA1svB,GACT,IAAM+lR,EAAQsrgB,EAAW,CAAC,UAAW,QAAS,eAAgB,QAASrxxB,GACvE,OAAO+lR,EAAQ,CACb/lR,QACA+lR,SACE,CACFA,OAAO,EACPz7Q,QAAS,wDAEb,EACAwZ,QAAS,YAEXqm5B,EAAe,oBAAqB,CAClCz9K,UAAW,SACX5ouB,QAAS,SAEXqm5B,EAAe,2BAA4B,CACzCz9K,UAAW,SACX5ouB,QAAS,CACPq/S,OAAQ,OAGZgnmB,EAAe,uBAAwB,CACrCz9K,UAAW,SACX5ouB,QAAS,CACP,kBAAmB,cAGvBqm5B,EAAe,wBAAyB,CACtCz9K,UAAW,SAAA1svB,GACT,IAAM+lR,EAAQsrgB,EAAW,CAAC,gBAAiB,eAAgBrxxB,GAC3D,OAAO+lR,EAAQ,CACb/lR,QACA+lR,SACE,CACFA,OAAO,EACPz7Q,QAAS,yCAEb,EACAwZ,QAAS,kBAEXqm5B,EAAe,oBAAqB,CAClCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,qBAAsB,CACnCz9K,UAAW,UACX5ouB,SAAS,IAEXqm5B,EAAe,+BAAgC,CAC7Cz9K,UAAW,UACX5ouB,SAAS,GAEb,CA8yKEs3E,CAASyltB,GACT,IAAM63O,EAAgBuZ,GAAmBpxP,GACnC83O,EAAuBmS,GAA0BjqP,EAAQ63O,GACzDnzgC,EAAUkzgC,GAAa53O,EAAQ63O,EAAeC,GAIpD,OAHA73H,GAAiBjgH,EAAQt7xB,GAh6EG,SAACs7xB,EAAQt7xB,GACrC,IAAMw3W,EAASsgoB,GAAUx8M,GACnBuyP,EAAoB,SAAAnshC,GAAM,OAAI09+B,GAAiBpH,GAAkB18M,IAASv7uB,KAAK,SAAAq7X,GAAI,OAAIn4Z,GAAMm4Z,EAAM5jE,GAAQjtX,IAAI,SAAA04B,GACnH,IAAM8sE,EAAUo55B,GAAQ9J,GAAsB/jN,GAASr4wB,EAAOm4Z,GAC9D,OAAO15a,EAAOuhB,EAAO8sE,EACvB,EAAE,GAAEw6nB,MAAM,GAAI,EACdg6L,GAAO,CACLm3H,gBAAiB,WAAF,OAAQmS,EAAkB7thC,EAAQ4zgC,gBAAgB,EACjE4H,iBAAkB,WAAF,OAAQqS,EAAkB7thC,EAAQ6zgC,iBAAiB,EACnE4H,gBAAiB,WAAF,OAAQoS,EAAkB7thC,EAAQ8zgC,gBAAgB,GAChE,SAACnz9B,EAAM1oE,GAAI,OAAKqjzB,EAAOo/G,qBAAqBzi6B,EAAM0oE,EAAK,EAC5D,CAs5EEmt+B,CAAsBxyP,EAAQt7xB,GAC9B831B,GAAex8D,EAAQt7xB,GAChB,CACLi7zB,iBAAkBm4M,EAAqBn4M,iBACvCwiD,mBAAoB21J,EAAqB31J,mBAE7C,EAEMswK,GAAW,SAAAzyP,GAEf,MAAO,CACLr4wB,MAFY2qgC,GAAWtyP,GAI3B,EAEEpoG,EAAStqsB,IAAI,MAAOmliC,GAKzB,CAloPD,E,mECzymDMC,EAAe,eACfC,EAAe,mBACfC,EAAsB,mCACtBC,EAAqB,4BACrBC,EAAsBrxiC,QAAUA,OAAOkxiC,KAAkBlxiC,OAAOkxiC,GAAgB,CAAC,GACjFI,EAAuBl1iC,OAAO+kF,OAAO,CAAC,EAAGkw9B,GAyCxC,SAAS705B,EAAmB8X,GAClC,IAAK,IAAM94G,KAAK84G,EACft0J,OAAOoxiC,GAAoB51/B,GAAK84G,EAAa94G,EAC/C,CAUO,SAAS1hC,EAAEq5B,GACZnzC,OAAOoxiC,KACXpxiC,OAAOoxiC,GAAsBE,GAE9B,IAIIC,EAJEj94B,EAAet0J,OAAOoxiC,GACtBnzgC,EAlCP,WACC,IAAKj+B,OACJ,MAAO,GAER,GAAIA,OAAOmxiC,GACV,OAAOnxiC,OAAOmxiC,GAEf,IAAM/u4B,EAAUpiK,OAAOwxiC,gCACjB16C,EAAa92/B,OAAOyxiC,yBAA2B,MAKrD,OAJAzxiC,OAAOwxiC,qCAAuC,EAC9CxxiC,OAAOyxiC,6BAA+B,EACtCzxiC,OAAOmxiC,GAAuB/u4B,EAAU,GAAHviK,OAAMi3/B,EAAU,KAAM,GAEpD92/B,OAAOmxiC,EACf,CAoBgBO,GAEX/xiC,EAAMwzC,EAIPA,GAAsB,iBAARA,GAAoBA,EAAInrC,UACxCrI,EAAMwzC,EAAInrC,QACPmrC,EAAI/3B,OACNm2hC,EAAU,GAAH1xiC,OAAMszC,EAAI/3B,KAAI,KAAAvb,OAAIszC,EAAInrC,WAGyC,IAAxE,IAAMwznB,EAAclne,EAAai94B,IAAYj94B,EAAa30J,IAAQA,EAAM2U,EAAAjU,UAAAxD,OAjB/CgpI,EAAI,IAAA/yH,MAAAwB,EAAA,EAAAA,EAAA,KAAAtG,EAAA,EAAAA,EAAAsG,EAAAtG,IAAJ63H,EAAI73H,EAAA,GAAA3N,UAAA2N,GAkB7B,OAAO2lX,IAAAA,WAAM,MAAA9zX,OAAIo+B,GAAMp+B,OAAG27nB,IAAW37nB,OAAOgmI,GAC7C,CAvEK7lI,OAAOoxiC,KACXpxiC,OAAOoxiC,GAAsBE,GAGCn1/B,QAAQxD,yBAAyB34C,OAAQkxiC,GAC7Cv9/B,aACzBv3C,OAAOw2C,eAAe5yC,OAAQkxiC,EAAc,CAC3Cv9/B,cAAc,EACd9wC,IAAGA,IACKzG,OAAO+kF,OAAO,CAAC,EAAGnhF,OAAOoxiC,IAEjCxuiC,GAAAA,CAAIlF,GACEsC,OAAOoxiC,KACXpxiC,OAAOoxiC,GAAsBh1iC,OAAO+kF,OAAO,CAAC,EAAGkw9B,IAEhD705B,EAAmB9+I,EACpB,IAGDvC,QAAQyE,KAAK,IAADC,OAAKoxiC,EAAY,wFAAApxiC,OAAuFoxiC,EAAY,sDAAApxiC,OAAqDoxiC,EAAY,6B,mEC3B/Lv84B,ECAAF,E,sBDCEm94B,EAAyB,CAAC,EAoDnB/47B,EAAqB,SAAAg57B,GACjC,IAAGjviC,EAAAA,EAAAA,KAAIgviC,EAAwBC,GAC9B,OAAOD,EAAuBC,GAAcxvhC,QAE7C,IAAGzf,EAAAA,EAAAA,KAAI+xJ,EAAWk94B,GAAe,CAChC,IAAMxvhC,GAAU83S,EAAAA,EAAAA,IAAc03uB,EAAc,CAACpwhC,QAASkzI,EAAWk94B,KAEjE,OADAD,EAAuBC,GAAgB,CAACxvhC,UAAS1kB,MAAOg3J,EAAWk94B,IAC5DxvhC,CACR,CACAjnB,QAAQyE,KAAK,wBAADC,OAAyB+xiC,EAAY,sBAClD,EC9DMC,EAAyB,CAAC,EAiCnBC,EAAoB,SAACC,GACjC,IAAIpviC,EAAAA,EAAAA,KAAIkviC,EAAwBE,GAC/B,OAAOF,EAAuBE,GAAc3vhC,QAE7C,IAAIzf,EAAAA,EAAAA,KAAI6xJ,EAAWu94B,GAAe,CACjC,IAAMC,GAAkB93uB,EAAAA,EAAAA,IAAc63uB,EAAc,CAACvwhC,QAASgzI,EAAUu94B,KAExE,OADAF,EAAuBE,GAAgB,CAAC3vhC,QAAS4vhC,EAAiBt0iC,MAAO82J,EAAUu94B,IAC5EC,CACR,CACA72iC,QAAQyE,KAAK,uBAADC,OAAwBkyiC,EAAY,sBACjD,EC/CaE,EAAkB71iC,OAAO8X,OAAQ,CAC5Cg+hC,0CAA2C,4CAC3CC,gDAAiD,kDACjDC,uBAAwB,yBACxBC,kDAAmD,oDACnDC,iCAAkC,mCAClCC,oCAAqC,sCACrCC,6CAA+C,+CAC/CC,uCAAwC,yCACxCC,2CAA2C,6CAC3CC,4CAA6C,8CAC7CC,2CAA4C,6CAC5CC,yCAA0C,2CAC1CC,2DAA6D,8D,+FCT/D,QAFoB,SAACz01B,GAAY,IAAE/vK,EAAYjuC,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,KAAI,OAAKwC,EAAAA,EAAAA,KAAI7C,OAAQ,wBAAFH,OAA0Bw+M,EAAY,MAAM/vK,EAAa,ECAvH,ICAMykgC,EAA0B,SAACl80B,EAAgBrtN,GAAsD,IAAAm4Q,EAAAn4Q,EAAnDtO,KAAK83iC,OAAM,IAAArxxB,EAAG,YAAWA,EAAAsxxB,EAAAzpiC,EAAEogF,UAAAA,OAAS,IAAAqp9B,EAAG,SAAAjo/B,GAAC,OAAIA,CAAC,EAAAio/B,EACjGC,GAAYrwiC,EAAAA,EAAAA,KAAI7C,OAAQ,yBAAFH,OAA2Bg3N,EAAgB,KAAAh3N,OAAImziC,EAAM,MAAM,CAAC,GACpF3vhC,EAAe6vhC,EACnB,IAAK7vhC,EAAqC,mBAAdumE,EAA4BA,EAAUsp9B,GAAaA,CAAU,CAAC,MAAMj4iC,GAAIE,QAAQC,MAAMH,GAAGooB,EAAe6vhC,CAAU,CAC9I,MAAO,CACNh4iC,KAAM83iC,EACN3vhC,eAEF,EAEa8vhC,EAAkB,SAAC32hC,EAAOthB,GAAI,IAAEk4iC,EAAM/yiC,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAC,OAAMnF,GAAmB2H,EAAAA,EAAAA,KAAI2Z,EAAO,cAAF3c,OAAgB3E,EAAI,MAAMk4iC,QAA/CrviC,CAAsD,ECD9GsviC,EAAcN,EAAwB,sBAAuB,CACzE73iC,KANqB,aAOrB0uF,UAAW,SAAApnF,GAAI,OAAIK,EAAAA,EAAAA,KAAIL,EAAM,8BAA+B,CAAC,EAAE,IAQnD8wiC,GALeP,EAAwB,uBAAwB,CAC3E73iC,KAVsB,aAWtB0uF,UAAW,SAAAtrF,GAAM,OAAIuE,EAAAA,EAAAA,KAAIvE,EAAQ,oCAAqC,GAAG,IAG1Cy0iC,EAAwB,sBAAuB,CAC9E73iC,KAb4B,gBAc5B0uF,UAAW,SAAApnF,GAAI,OACdK,EAAAA,EAAAA,KACCL,EACA,CACC,OACA,oBACA,uBACA,WACA,EACA,SACA,SAED,GACA,KAGU+wiC,EACL,CACNr4iC,KAjCoB,wBAkCpBmoB,aAECgwhC,EAFsBhwhC,aAAamwhC,aAAe,G,gBCnCrD,SAAS1jqB,EAAQl0W,GAAwT,OAAtOk0W,EAArD,mBAAXz5V,QAAoD,iBAApBA,OAAO3wC,SAAmC,SAAiBk2B,GAAO,cAAcA,CAAK,EAAsB,SAAiBA,GAAO,OAAOA,GAAyB,mBAAXya,QAAyBza,EAAIgiB,cAAgBvH,QAAUza,IAAQya,OAAOh6C,UAAY,gBAAkBu/B,CAAK,EAAYk0W,EAAQl0W,EAAM,CAE9V,SAASniB,EAAgBmiB,EAAKj8B,EAAKjC,GAAiK,OAApJiC,KAAOi8B,EAAOx/B,OAAOw2C,eAAehX,EAAKj8B,EAAK,CAAEjC,MAAOA,EAAOg2C,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkBhY,EAAIj8B,GAAOjC,EAAgBk+B,CAAK,CAJhN2U,EAAQ,GAAiCA,EAAQ,GAAmBA,EAAQ,QAAqC,EAMjH,IAAIkjgC,EAAe,qBACfC,EAAYr9/B,OAAO21H,IAAIyn4B,GAEvBE,EAAal6hC,EAAgB,CAAC,EAAGg6hC,EAAcC,GAInD,IAAIE,EAAW,SAAkBpxiC,GAC/B,OAAOpG,OAAO+kF,OAAO,CAAC,EAAG3+E,EAAMmxiC,EACjC,EAMIE,EAAW,SAAkBty4B,GAC/B,OAAOA,EAAM/+J,KAAO++J,EAAM/+J,KAAKixiC,KAAkBC,EAL7B,SAAyBny4B,GAC7C,YAA0Bx9J,IAAnBw9J,EAAMjmF,eAAyCv3E,IAAfw9J,EAAM/+J,WAAoCuB,IAAdw9J,EAAM5hK,GAC3E,CAG+Dm0iC,CAAgBvy4B,EAC/E,EA4BAhxH,EAAQ,GAlBO,SAAkBwjgC,GAC/B,OAAO,SAAUhx5B,EAAKn/I,EAAG0uC,GACvB,YAAUvuC,IAANuuC,EAEKyhgC,EAAShx5B,EAAK6w5B,EAAShwiC,GAAI0uC,QACnBvuC,IAANH,EAEFmwiC,EAAShx5B,EAAK4w5B,GACZ7giC,MAAMC,QAAQnP,IAAMA,EAAEm/I,KAX5B,CAAC,SAAU,UAAU1sI,SAASy5X,EAWiBlsY,IAE3CmwiC,EAAShx5B,EAAK4w5B,EAAY/viC,GAG1BmwiC,EAAShx5B,EAAK6w5B,EAAShwiC,GAElC,CACF,EAIA,IAAIowiC,EAAuB,SAA8B5vrB,EAAU7iN,GACjE,IAAKsy4B,EAASty4B,GACZ,MAAM,IAAIxjK,MAAM,uDAEpB,EAEIgrX,EAAmB,CACrB7yU,OAAQ89/B,EACR167B,OAAQ067B,GAEVzjgC,EAAQ,GAAmBw4U,EAE3B,IAAIkrrB,EAAyB,SAAgCC,EAAmBC,GAW9E,OAVS,SAASnpiC,EAAGilL,GACnBik3B,EAAkBjk3B,GAClB,IAAIztL,EAAO2xiC,EAAclk3B,EAAKztL,MAC1B84E,EAAW20G,EAAK30G,SAAW20G,EAAK30G,SAAS9tE,IAAIxC,QAAMjH,EACvD,OAAO3H,OAAO+kF,OAAO,CAAC,EAAG8uG,EAAM,CAC7BztL,KAAMA,EACN84E,SAAUA,GAEd,CAGF,EAEsB249B,EAAuB,SAAU1y4B,GACrD,IAAKsy4B,EAASty4B,GACZ,MAAM,IAAIxjK,MAAM,mEAEpB,EA1D8B,SAAiCyE,GAC7D,OAAOpG,OAAO+kF,OAAO,CAAC,EAAG3+E,EAAMiX,EAAgB,CAAC,EAAGg6hC,OAAc1viC,GACnE,GA0DA,IAAIslX,EAAO4qrB,EAAuB,WAAa,EAAGL,GAClDrjgC,EAAQ,GAAO84U,C,kBCtEf/4U,EAAOC,QAAUirB,EAEjB,IAAI44+B,EAAKjihC,EAAAA,OAAAA,aAoBT,SAASqpC,IACP44+B,EAAGv2iC,KAAKQ,KACV,CArBe8zB,EAAQ,MAEvBi2O,CAAS5sM,EAAQ44+B,GACjB54+B,EAAO+uoB,SAAWp4qB,EAAQ,OAC1BqpC,EAAOgvoB,SAAWr4qB,EAAQ,OAC1BqpC,EAAO8uoB,OAASn4qB,EAAQ,OACxBqpC,EAAO0/Z,UAAY/oc,EAAQ,MAC3BqpC,EAAOsvoB,YAAc34qB,EAAQ,OAC7BqpC,EAAOS,SAAW9pC,EAAQ,OAC1BqpC,EAAO8zE,SAAWn9G,EAAQ,OAG1BqpC,EAAOA,OAASA,EAWhBA,EAAOn/D,UAAUiqgB,KAAO,SAAS9zH,EAAMnuY,GACrC,IAAI4vC,EAAS51C,KAEb,SAAS4wsB,EAAO5qmB,GACVmuS,EAAK5+V,WACH,IAAU4+V,EAAKhpW,MAAM66D,IAAUpwD,EAAOkrK,OACxClrK,EAAOkrK,OAGb,CAIA,SAAS6vf,IACH/6pB,EAAOuie,UAAYvie,EAAOw9f,QAC5Bx9f,EAAOw9f,QAEX,CANAx9f,EAAOojC,GAAG,OAAQ43nB,GAQlBz8T,EAAKn7T,GAAG,QAAS23nB,GAIZx8T,EAAK6hqB,UAAchwiC,IAA2B,IAAhBA,EAAQsO,MACzCshC,EAAOojC,GAAG,MAAOy6B,GACjB79D,EAAOojC,GAAG,QAAS0ja,IAGrB,IAAIu5jB,GAAW,EACf,SAASxi8B,IACHwi8B,IACJA,GAAW,EAEX9hqB,EAAK7/X,MACP,CAGA,SAASooe,IACHu5jB,IACJA,GAAW,EAEiB,mBAAjB9hqB,EAAK1nP,SAAwB0nP,EAAK1nP,UAC/C,CAGA,SAAS1jJ,EAAQouZ,GAEf,GADAzxE,IACwC,IAApCqwtB,EAAGpziB,cAAc3igB,KAAM,SACzB,MAAMm3Z,CAEV,CAMA,SAASzxE,IACP9vS,EAAO8ob,eAAe,OAAQkyO,GAC9Bz8T,EAAKuqF,eAAe,QAASiyO,GAE7B/6pB,EAAO8ob,eAAe,MAAOjrX,GAC7B79D,EAAO8ob,eAAe,QAASge,GAE/B9mc,EAAO8ob,eAAe,QAAS31d,GAC/BorY,EAAKuqF,eAAe,QAAS31d,GAE7B6sC,EAAO8ob,eAAe,MAAOh5I,GAC7B9vS,EAAO8ob,eAAe,QAASh5I,GAE/ByuD,EAAKuqF,eAAe,QAASh5I,EAC/B,CAUA,OA5BA9vS,EAAOojC,GAAG,QAASjwE,GACnBorY,EAAKn7T,GAAG,QAASjwE,GAmBjB6sC,EAAOojC,GAAG,MAAO0sQ,GACjB9vS,EAAOojC,GAAG,QAAS0sQ,GAEnByuD,EAAKn7T,GAAG,QAAS0sQ,GAEjByuD,EAAKzrV,KAAK,OAAQ9S,GAGXu+V,CACT,C,iBChIA,IAAI+hqB,EAAgBpihC,EAAQ,OACxBhnB,EAAWgnB,EAAQ,OACnBxb,EAASwb,EAAQ,OACjBy9C,EAAcz9C,EAAQ,OACtBc,EAAMd,EAAQ,OAEd0pH,EAAOtrG,EAEXsrG,EAAK3zI,QAAU,SAAU+jG,EAAMtxC,GAE7BsxC,EADmB,iBAATA,EACHh5E,EAAIt0B,MAAMstG,GAEVt1F,EAAOs1F,GAKf,IAAIgmoB,GAAoE,IAAlDxhsB,EAAAA,EAAOxc,SAASF,SAAS0xE,OAAO,aAAsB,QAAU,GAElF1xE,EAAWk4E,EAAKl4E,UAAYk+sB,EAC5B5xtB,EAAO4rF,EAAK/3E,UAAY+3E,EAAK5rF,KAC7By/B,EAAOmsD,EAAKnsD,KACZ1hC,EAAO6tF,EAAK7tF,MAAQ,IAGpBiC,IAA+B,IAAvBA,EAAKhjB,QAAQ,OACxBgjB,EAAO,IAAMA,EAAO,KAGrB4rF,EAAKh5E,KAAO5S,EAAQ0T,EAAW,KAAO1T,EAAQ,KAAOy/B,EAAO,IAAMA,EAAO,IAAM1hC,EAC/E6tF,EAAKtlE,QAAUslE,EAAKtlE,QAAU,OAAO6+C,cACrCymB,EAAKv2C,QAAUu2C,EAAKv2C,SAAW,CAAC,EAIhC,IAAIqB,EAAM,IAAIw9+B,EAActo8B,GAG5B,OAFItxC,GACH5D,EAAIsgB,GAAG,WAAY1c,GACb5D,CACR,EAEA8kF,EAAKh5I,IAAM,SAAcopG,EAAMtxC,GAC9B,IAAI5D,EAAM8kF,EAAK3zI,QAAQ+jG,EAAMtxC,GAE7B,OADA5D,EAAIpkD,MACGokD,CACR,EAEA8kF,EAAK045B,cAAgBA,EACrB145B,EAAK245B,gBAAkBrpiC,EAASqpiC,gBAEhC345B,EAAK445B,MAAQ,WAAa,EAC1B545B,EAAK445B,MAAMC,kBAAoB,EAE/B745B,EAAK845B,YAAc,IAAI945B,EAAK445B,MAE5B545B,EAAK+45B,aAAehl+B,EAEpBisE,EAAKg55B,QAAU,CACd,WACA,UACA,OACA,SACA,MACA,OACA,OACA,WACA,QACA,aACA,QACA,OACA,SACA,UACA,QACA,OACA,WACA,YACA,QACA,MACA,SACA,SACA,YACA,QACA,SACA,c,kBC1ED,IAAIlp+B,EACJ,SAASmp+B,IAER,QAAY/wiC,IAAR4nE,EAAmB,OAAOA,EAE9B,GAAIl7B,EAAAA,EAAO27B,eAAgB,CAC1BT,EAAM,IAAIl7B,EAAAA,EAAO27B,eAIjB,IACCT,EAAI7kE,KAAK,MAAO2pC,EAAAA,EAAOskgC,eAAiB,IAAM,sBAC/C,CAAE,MAAM95iC,GACP0wE,EAAM,IACP,CACD,MAECA,EAAM,KAEP,OAAOA,CACR,CAEA,SAASqp+B,EAAkB52iC,GAC1B,IAAIutE,EAAMmp+B,IACV,IAAKnp+B,EAAK,OAAO,EACjB,IAEC,OADAA,EAAIC,aAAextE,EACZutE,EAAIC,eAAiBxtE,CAC7B,CAAE,MAAOnD,GAAI,CACb,OAAO,CACR,CAeA,SAAS4tD,EAAYnrD,GACpB,MAAwB,mBAAVA,CACf,CAxDA6yC,EAAQimB,MAAQ3N,EAAWpY,EAAAA,EAAO+lB,QAAU3N,EAAWpY,EAAAA,EAAOowrB,gBAE9DtwrB,EAAQ0kgC,eAAiBps/B,EAAWpY,EAAAA,EAAOykgC,gBAE3C3kgC,EAAQokU,gBAAkB9rT,EAAWpY,EAAAA,EAAOukU,iBAuC5CzkU,EAAQ4kgC,YAAc5kgC,EAAQimB,OAASw++B,EAAiB,eAIxDzkgC,EAAQ6kgC,UAAY7kgC,EAAQimB,OAASw++B,EAAiB,aACtDzkgC,EAAQ8kgC,uBAAyB9kgC,EAAQimB,OAASw++B,EAAiB,2BAInEzkgC,EAAQwhC,iBAAmBxhC,EAAQimB,SAAUs++B,KAAWjs/B,EAAWis/B,IAAS/i+B,kBAM5EpG,EAAM,I,kBC1DN,IAAIzjB,EAAa/1B,EAAQ,OACrBi2O,EAAWj2O,EAAQ,OACnBhnB,EAAWgnB,EAAQ,OACnBosC,EAASpsC,EAAQ,OAEjBqihC,EAAkBrpiC,EAASqpiC,gBAC3Bc,EAAUnqiC,EAASoqiC,YAgBvB,IAAIhB,EAAgBjkgC,EAAOC,QAAU,SAAU07D,GAC9C,IAYIup8B,EAZA7viC,EAAOtH,KACXkgE,EAAOisoB,SAAS3ssB,KAAK8H,GAErBA,EAAKmtX,MAAQ7mR,EACbtmG,EAAK8viC,MAAQ,GACb9viC,EAAKovW,SAAW,CAAC,EACb9oQ,EAAKwynB,MACR94tB,EAAK2pF,UAAU,gBAAiB,SAAW5jC,OAAO9H,KAAKqoD,EAAKwynB,MAAMtiuB,SAAS,WAC5EC,OAAO4F,KAAKiqG,EAAKv2C,SAASpkC,QAAQ,SAAUp2B,GAC3CyK,EAAK2pF,UAAUp0F,EAAM+wG,EAAKv2C,QAAQx6D,GACnC,GAGA,IAAIw6iC,GAAW,EACf,GAAkB,kBAAdzp8B,EAAKzkG,MAA6B,mBAAoBykG,IAAS/jD,EAAWysT,gBAE7E+gsB,GAAW,EACXF,GAAe,OACT,GAAkB,qBAAdvp8B,EAAKzkG,KAGfguiC,GAAe,OACT,GAAkB,6BAAdvp8B,EAAKzkG,KAEfguiC,GAAgBtt/B,EAAW6pB,qBACrB,IAAKk6B,EAAKzkG,MAAsB,YAAdykG,EAAKzkG,MAAoC,gBAAdykG,EAAKzkG,KAIxD,MAAM,IAAIzJ,MAAM,+BAFhBy3iC,GAAe,CAGhB,CACA7viC,EAAKgwiC,MA9CN,SAAqBH,EAAcE,GAClC,OAAIxt/B,EAAWsO,OAASk/+B,EAChB,QACGxt/B,EAAWmt/B,sBACd,0BACGnt/B,EAAWkt/B,SACd,YACGlt/B,EAAWit/B,aAAeK,EAC7B,cAEA,MAET,CAkCcI,CAAWJ,EAAcE,GACtC/viC,EAAKkwiC,YAAc,KACnBlwiC,EAAKmwiC,eAAiB,KACtBnwiC,EAAKowiC,aAAe,KAEpBpwiC,EAAK0xE,GAAG,SAAU,WACjB1xE,EAAKi7tB,WACN,EACD,EAEAx4d,EAASmsyB,EAAeh2+B,EAAOisoB,UAE/B+pW,EAAcl4iC,UAAUizF,UAAY,SAAUp0F,EAAMwC,GACnD,IACIs4iC,EAAY96iC,EAAK6iB,eAIqB,IAAtCusD,EAAcjtE,QAAQ24iC,KALf33iC,KAQN02W,SAASihsB,GAAa,CAC1B96iC,KAAMA,EACNwC,MAAOA,GAET,EAEA62iC,EAAcl4iC,UAAU+uE,UAAY,SAAUlwE,GAC7C,IAAI0pB,EAASvmB,KAAK02W,SAAS75W,EAAK6iB,eAChC,OAAI6G,EACIA,EAAOlnB,MACR,IACR,EAEA62iC,EAAcl4iC,UAAUkzF,aAAe,SAAUr0F,UACrCmD,KACC02W,SAAS75W,EAAK6iB,cAC3B,EAEAw2hC,EAAcl4iC,UAAUukuB,UAAY,WACnC,IAAIj7tB,EAAOtH,KAEX,IAAIsH,EAAKswiC,WAAT,CAEA,IAAIhq8B,EAAOtmG,EAAKmtX,MAEZ,YAAa7mR,GAAyB,IAAjBA,EAAKp/B,SAC7BlnE,EAAK8jC,WAAWwiE,EAAKp/B,SAGtB,IAAIqp+B,EAAavwiC,EAAKovW,SAClB79S,EAAO,KACS,QAAhB+0C,EAAKtlE,QAAoC,SAAhBslE,EAAKtlE,SAC3BuwB,EAAO,IAAIl8D,KAAK2K,EAAK8viC,MAAO,CACxBr3iC,MAAO83iC,EAAW,iBAAmB,CAAC,GAAGx4iC,OAAS,MAK7D,IAAIy4iC,EAAc,GAalB,GAZA/5iC,OAAO4F,KAAKk0iC,GAAY5khC,QAAQ,SAAUkgI,GACzC,IAAIt2J,EAAOg7iC,EAAW1k5B,GAASt2J,KAC3BwC,EAAQw4iC,EAAW1k5B,GAAS9zJ,MAC5BoV,MAAMC,QAAQrV,GACjBA,EAAM4zB,QAAQ,SAAU4xB,GACvBiz/B,EAAYh0iC,KAAK,CAACjH,EAAMgoD,GACzB,GAEAiz/B,EAAYh0iC,KAAK,CAACjH,EAAMwC,GAE1B,GAEmB,UAAfiI,EAAKgwiC,MAAmB,CAC3B,IAAIt++B,EAAS,KACb,GAAInP,EAAWysT,gBAAiB,CAC/B,IAAInoL,EAAa,IAAIwoL,gBACrB39S,EAASm1H,EAAWn1H,OACpB1xD,EAAKywiC,sBAAwB5p3B,EAEzB,mBAAoBvgF,GAAgC,IAAxBA,EAAKoq8B,iBACpC1wiC,EAAKkwiC,YAAcplgC,EAAAA,EAAOhH,WAAW,WACpC9jC,EAAKohD,KAAK,kBACNphD,EAAKywiC,uBACRzwiC,EAAKywiC,sBAAsB7++B,OAC7B,EAAG00C,EAAKoq8B,gBAEV,CAEA5lgC,EAAAA,EAAO+lB,MAAM7wD,EAAKmtX,MAAM7/V,IAAK,CAC5B0T,OAAQhhC,EAAKmtX,MAAMnsV,OACnB+uB,QAASyg/B,EACTj/+B,KAAMA,QAAQnzD,EACdyD,KAAM,OACNqjH,YAAa5e,EAAKl/B,gBAAkB,UAAY,cAChD1V,OAAQA,IACNl3D,KAAK,SAAUgL,GACjBxF,EAAK2wiC,eAAiBnriC,EACtBxF,EAAK4wiC,cAAa,GAClB5wiC,EAAK06e,UACN,EAAG,SAAUp5b,GACZthD,EAAK4wiC,cAAa,GACb5wiC,EAAKswiC,YACTtwiC,EAAKohD,KAAK,QAASE,EACrB,EACD,KAAO,CACN,IAAI0kB,EAAMhmE,EAAK6wiC,KAAO,IAAI/lgC,EAAAA,EAAO27B,eACjC,IACCT,EAAI7kE,KAAKnB,EAAKmtX,MAAMnsV,OAAQhhC,EAAKmtX,MAAM7/V,KAAK,EAC7C,CAAE,MAAO1vB,GAIR,YAHA+rC,QAAQ0S,SAAS,WAChBr8C,EAAKohD,KAAK,QAASxjD,EACpB,EAED,CAGI,iBAAkBooE,IACrBA,EAAIC,aAAejmE,EAAKgwiC,OAErB,oBAAqBhq+B,IACxBA,EAAIoB,kBAAoBk/B,EAAKl/B,iBAEX,SAAfpnE,EAAKgwiC,OAAoB,qBAAsBhq+B,GAClDA,EAAIoG,iBAAiB,sCAElB,mBAAoBk6B,IACvBtgC,EAAIkB,QAAUo/B,EAAKoq8B,eACnB1q+B,EAAI2zpB,UAAY,WACf35tB,EAAKohD,KAAK,iBACX,GAGDov/B,EAAY7khC,QAAQ,SAAU1M,GAC7B+mD,EAAIsE,iBAAiBrrD,EAAO,GAAIA,EAAO,GACxC,GAEAjf,EAAK8wiC,UAAY,KACjB9q+B,EAAIkD,mBAAqB,WACxB,OAAQlD,EAAIW,YACX,KAAKgp+B,EAAQ3m+B,QACb,KAAK2m+B,EAAQvn+B,KACZpoE,EAAK+wiC,iBAGR,EAGmB,4BAAf/wiC,EAAKgwiC,QACRhq+B,EAAIgzyB,WAAa,WAChBh52B,EAAK+wiC,gBACN,GAGD/q+B,EAAIvkE,QAAU,WACTzB,EAAKswiC,aAETtwiC,EAAK4wiC,cAAa,GAClB5wiC,EAAKohD,KAAK,QAAS,IAAIhpD,MAAM,cAC9B,EAEA,IACC4tE,EAAI2C,KAAKpX,EACV,CAAE,MAAO3zD,GAIR,YAHA+rC,QAAQ0S,SAAS,WAChBr8C,EAAKohD,KAAK,QAASxjD,EACpB,EAED,CACD,CA7HO,CA8HR,EAgBAgxiC,EAAcl4iC,UAAUq6iC,eAAiB,WACxC,IAAI/wiC,EAAOtH,KAEXsH,EAAK4wiC,cAAa,GAZnB,SAAsB5q+B,GACrB,IACC,IAAI9yC,EAAS8yC,EAAI9yC,OACjB,OAAmB,OAAXA,GAA8B,IAAXA,CAC5B,CAAE,MAAO59B,GACR,OAAO,CACR,CACD,CAOM07iC,CAAYhxiC,EAAK6wiC,QAAS7wiC,EAAKswiC,aAG/BtwiC,EAAK8wiC,WACT9wiC,EAAK06e,WAEN16e,EAAK8wiC,UAAUC,eAAe/wiC,EAAK4wiC,aAAavz+B,KAAKr9D,IACtD,EAEA4uiC,EAAcl4iC,UAAUgkf,SAAW,WAClC,IAAI16e,EAAOtH,KAEPsH,EAAKswiC,aAGTtwiC,EAAK8wiC,UAAY,IAAIjC,EAAgB7uiC,EAAK6wiC,KAAM7wiC,EAAK2wiC,eAAgB3wiC,EAAKgwiC,MAAOhwiC,EAAK4wiC,aAAavz+B,KAAKr9D,IACxGA,EAAK8wiC,UAAUp/9B,GAAG,QAAS,SAAS9zE,GACnCoC,EAAKohD,KAAK,QAASxjD,EACpB,GAEAoC,EAAKohD,KAAK,WAAYphD,EAAK8wiC,WAC5B,EAEAlC,EAAcl4iC,UAAUu8d,OAAS,SAAUv0X,EAAO/3C,EAAUqO,GAChDt8D,KAENo3iC,MAAMtziC,KAAKkiG,GAChB1pC,GACD,EAEA45+B,EAAcl4iC,UAAUk6iC,aAAe,SAAUjziC,GAChD,IAAIqC,EAAOtH,KAEXoyC,EAAAA,EAAOxB,aAAatpC,EAAKowiC,cACzBpwiC,EAAKowiC,aAAe,KAEhBzyiC,GACHmtC,EAAAA,EAAOxB,aAAatpC,EAAKkwiC,aACzBlwiC,EAAKkwiC,YAAc,MACTlwiC,EAAKmwiC,iBACfnwiC,EAAKowiC,aAAetlgC,EAAAA,EAAOhH,WAAW,WACrC9jC,EAAKohD,KAAK,UACX,EAAGphD,EAAKmwiC,gBAEV,EAEAvB,EAAcl4iC,UAAUk7D,MAAQg9+B,EAAcl4iC,UAAUyuJ,QAAU,SAAUvnJ,GAC3E,IAAIoC,EAAOtH,KACXsH,EAAKswiC,YAAa,EAClBtwiC,EAAK4wiC,cAAa,GACd5wiC,EAAK8wiC,YACR9wiC,EAAK8wiC,UAAUR,YAAa,GACzBtwiC,EAAK6wiC,KACR7wiC,EAAK6wiC,KAAKj/+B,QACF5xD,EAAKywiC,uBACbzwiC,EAAKywiC,sBAAsB7++B,QAExBh0D,GACHoC,EAAKohD,KAAK,QAASxjD,EACrB,EAEAgxiC,EAAcl4iC,UAAUsW,IAAM,SAAUnQ,EAAM8pD,EAAUqO,GAEnC,mBAATn4D,IACVm4D,EAAKn4D,EACLA,OAAOuB,GAGRw6D,EAAOisoB,SAASnusB,UAAUsW,IAAI9U,KANnBQ,KAM8BmE,EAAM8pD,EAAUqO,EAC1D,EAEA45+B,EAAcl4iC,UAAUotC,WAAa,SAAUojC,EAASlS,GACvD,IAAIh1D,EAAOtH,KAEPs8D,GACHh1D,EAAK0gB,KAAK,UAAWs0C,GAEtBh1D,EAAKmwiC,eAAiBjp+B,EACtBlnE,EAAK4wiC,cAAa,EACnB,EAEAhC,EAAcl4iC,UAAUu6iC,aAAe,WAAa,EACpDrC,EAAcl4iC,UAAUw6iC,WAAa,WAAa,EAClDtC,EAAcl4iC,UAAUy6iC,mBAAqB,WAAa,EAG1D,IAAIxs+B,EAAgB,CACnB,iBACA,kBACA,iCACA,gCACA,aACA,iBACA,SACA,UACA,OACA,MACA,SACA,OACA,aACA,SACA,UACA,KACA,UACA,oBACA,UACA,M,kBC9VD,IAAIpiB,EAAa/1B,EAAQ,OACrBi2O,EAAWj2O,EAAQ,OACnBosC,EAASpsC,EAAQ,OAEjBmjhC,EAAU/kgC,EAAQglgC,YAAc,CACnChp+B,OAAQ,EACRW,OAAQ,EACRwB,iBAAkB,EAClBC,QAAS,EACTZ,KAAM,GAGHym+B,EAAkBjkgC,EAAQikgC,gBAAkB,SAAU7o+B,EAAKxgE,EAAU3D,EAAMuviC,GAC9E,IAAIpxiC,EAAOtH,KAiBX,GAhBAkgE,EAAOgsoB,SAAS1ssB,KAAK8H,GAErBA,EAAKgwiC,MAAQnuiC,EACb7B,EAAK+vD,QAAU,CAAC,EAChB/vD,EAAKu0tB,WAAa,GAClBv0tB,EAAKqxiC,SAAW,CAAC,EACjBrxiC,EAAKsxiC,YAAc,GAGnBtxiC,EAAK0xE,GAAG,MAAO,WAEd/nC,QAAQ0S,SAAS,WAChBr8C,EAAKohD,KAAK,QACX,EACD,GAEa,UAATv/C,EAAkB,KAiDZwmD,EAAT,WACC6jD,EAAO7jD,OAAO7tD,KAAK,SAAU7B,GACxBqH,EAAKswiC,aAETc,EAAYz4iC,EAAOgF,MACfhF,EAAOgF,KACVqC,EAAKxD,KAAK,OAGXwD,EAAKxD,KAAKupD,OAAO9H,KAAKtlD,EAAOZ,QAC7BswD,KACD,GAAG5lD,MAAM,SAAU7E,GAClBwziC,GAAY,GACPpxiC,EAAKswiC,YACTtwiC,EAAKohD,KAAK,QAASxjD,EACrB,EACD,EArDA,GAXAoC,EAAK2wiC,eAAiBnriC,EAEtBxF,EAAKstB,IAAM9nB,EAAS8nB,IACpBttB,EAAKkyD,WAAa1sD,EAAS0tB,OAC3BlzB,EAAKuxiC,cAAgB/riC,EAASmtD,WAE9BntD,EAASuqD,QAAQpkC,QAAQ,SAAU1M,EAAQjlB,GAC1CgG,EAAK+vD,QAAQ/1D,EAAIoe,eAAiB6G,EAClCjf,EAAKu0tB,WAAW/3tB,KAAKxC,EAAKilB,EAC3B,GAEIsjC,EAAW+s/B,eAAgB,CAC9B,IAAIrhgC,EAAW,IAAIshgC,eAAe,CACjC1rgC,MAAO,SAAU66D,GAEhB,OADA0y8B,GAAY,GACL,IAAI7xiC,QAAQ,SAAUC,EAASC,GACjCO,EAAKswiC,WACR7wiC,IACSO,EAAKxD,KAAKupD,OAAO9H,KAAKygD,IAC/Bl/F,IAEAQ,EAAKwxiC,aAAehyiC,CAEtB,EACD,EACAykB,MAAO,WACNmthC,GAAY,GACPpxiC,EAAKswiC,YACTtwiC,EAAKxD,KAAK,KACZ,EACAo1D,MAAO,SAAUh0D,GAChBwziC,GAAY,GACPpxiC,EAAKswiC,YACTtwiC,EAAKohD,KAAK,QAASxjD,EACrB,IAGD,IAMC,YALA4H,EAAS+rD,KAAKkg/B,OAAOxjgC,GAAUxrC,MAAM,SAAU7E,GAC9CwziC,GAAY,GACPpxiC,EAAKswiC,YACTtwiC,EAAKohD,KAAK,QAASxjD,EACrB,EAED,CAAE,MAAOtI,GAAI,CACd,CAEA,IAAI42G,EAAS1mG,EAAS+rD,KAAKupqB,YAkB3BzyqB,GACD,KAAO,CA2BN,GA1BAroD,EAAK6wiC,KAAO7q+B,EACZhmE,EAAKioiC,KAAO,EAEZjoiC,EAAKstB,IAAM04C,EAAIwzpB,YACfx5tB,EAAKkyD,WAAa8T,EAAI9yC,OACtBlzB,EAAKuxiC,cAAgBvr+B,EAAIrT,WACXqT,EAAIsF,wBAAwBjlC,MAAM,SACxC1a,QAAQ,SAAU1M,GACzB,IAAI0xF,EAAU1xF,EAAO5lB,MAAM,oBAC3B,GAAIs3G,EAAS,CACZ,IAAI32G,EAAM22G,EAAQ,GAAGv4F,cACT,eAARpe,QACuBoE,IAAtB4B,EAAK+vD,QAAQ/1D,KAChBgG,EAAK+vD,QAAQ/1D,GAAO,IAErBgG,EAAK+vD,QAAQ/1D,GAAKwC,KAAKm0G,EAAQ,UACCvyG,IAAtB4B,EAAK+vD,QAAQ/1D,GACvBgG,EAAK+vD,QAAQ/1D,IAAQ,KAAO22G,EAAQ,GAEpC3wG,EAAK+vD,QAAQ/1D,GAAO22G,EAAQ,GAE7B3wG,EAAKu0tB,WAAW/3tB,KAAKm0G,EAAQ,GAAIA,EAAQ,GAC1C,CACD,GAEA3wG,EAAK0xiC,SAAW,kBACXnv/B,EAAW6pB,iBAAkB,CACjC,IAAIk7B,EAAWtnG,EAAKu0tB,WAAW,aAC/B,GAAIjtnB,EAAU,CACb,IAAIqq8B,EAAerq8B,EAASjuG,MAAM,2BAC9Bs4iC,IACH3xiC,EAAK0xiC,SAAWC,EAAa,GAAGv5hC,cAElC,CACKpY,EAAK0xiC,WACT1xiC,EAAK0xiC,SAAW,QAClB,CACD,CACD,EAEAjvyB,EAASosyB,EAAiBj2+B,EAAOgsoB,UAEjCiqW,EAAgBn4iC,UAAUu6gB,MAAQ,WACjC,IAEIzxgB,EAFO9G,KAEQ84iC,aACfhyiC,IAHO9G,KAIL84iC,aAAe,KACpBhyiC,IAEF,EAEAqviC,EAAgBn4iC,UAAUq6iC,eAAiB,SAAUK,GACpD,IAAIpxiC,EAAOtH,KAEPstE,EAAMhmE,EAAK6wiC,KAEXrriC,EAAW,KACf,OAAQxF,EAAKgwiC,OACZ,IAAK,OAEJ,IADAxqiC,EAAWwgE,EAAIE,cACFhvE,OAAS8I,EAAKioiC,KAAM,CAChC,IAAIpoe,EAAUr6jB,EAASsjD,OAAO9oD,EAAKioiC,MACnC,GAAsB,mBAAlBjoiC,EAAK0xiC,SAA+B,CAEvC,IADA,IAAIr6iC,EAAS0uD,OAAO2E,MAAMm1gB,EAAQ3okB,QACzBO,EAAI,EAAGA,EAAIookB,EAAQ3okB,OAAQO,IACnCJ,EAAOI,GAA6B,IAAxBookB,EAAQpmhB,WAAWhiD,GAEhCuI,EAAKxD,KAAKnF,EACX,MACC2I,EAAKxD,KAAKqjkB,EAAS7/jB,EAAK0xiC,UAEzB1xiC,EAAKioiC,KAAOziiC,EAAStO,MACtB,CACA,MACD,IAAK,cACJ,GAAI8uE,EAAIW,aAAegp+B,EAAQvn+B,OAASpC,EAAIxgE,SAC3C,MACDA,EAAWwgE,EAAIxgE,SACfxF,EAAKxD,KAAKupD,OAAO9H,KAAK,IAAIzmD,WAAWgO,KACrC,MACD,IAAK,0BAEJ,GADAA,EAAWwgE,EAAIxgE,SACXwgE,EAAIW,aAAegp+B,EAAQ3m+B,UAAYxjE,EAC1C,MACDxF,EAAKxD,KAAKupD,OAAO9H,KAAK,IAAIzmD,WAAWgO,KACrC,MACD,IAAK,YAEJ,GADAA,EAAWwgE,EAAIxgE,SACXwgE,EAAIW,aAAegp+B,EAAQ3m+B,QAC9B,MACD,IAAIkjC,EAAS,IAAIphE,EAAAA,EAAO8mgC,eACxB1l8B,EAAO8swB,WAAa,WACf9swB,EAAOvzG,OAAO4tD,WAAavmD,EAAKioiC,OACnCjoiC,EAAKxD,KAAKupD,OAAO9H,KAAK,IAAIzmD,WAAW00G,EAAOvzG,OAAO2U,MAAMtN,EAAKioiC,SAC9DjoiC,EAAKioiC,KAAO/77B,EAAOvzG,OAAO4tD,WAE5B,EACA2lD,EAAO3zG,OAAS,WACf64iC,GAAY,GACZpxiC,EAAKxD,KAAK,KACX,EAEA0vG,EAAOtzG,kBAAkB4M,GAKvBxF,EAAK6wiC,KAAKlq+B,aAAegp+B,EAAQvn+B,MAAuB,cAAfpoE,EAAKgwiC,QACjDoB,GAAY,GACZpxiC,EAAKxD,KAAK,MAEZ,C,YClNA,IAAIq1iC,EAAQ,uBAEZlngC,EAAOC,QAEP,SAAkB8b,GACd,IAAIj6C,EAEJ,GAAyB,IAArB/R,UAAUxD,QAAwC,iBAAjBwD,UAAU,GAC3C+R,EAAO/R,UAAU,OACd,CACH+R,EAAO,IAAIU,MAAMzS,UAAUxD,OAAS,GACpC,IAAK,IAAIO,EAAI,EAAGA,EAAIiD,UAAUxD,SAAUO,EACpCgV,EAAKhV,EAAI,GAAKiD,UAAUjD,EAEhC,CAEKgV,GAASA,EAAKvQ,iBACfuQ,EAAO,CAAC,GAGZ,OAAOi6C,EAAOvuC,QAAQ05hC,EAAO,SAAoBx4iC,EAAO5B,EAAGqL,GACvD,IAAInK,EAEJ,MAA0B,MAAtB+tD,EAAO5jD,EAAQ,IACkB,MAAjC4jD,EAAO5jD,EAAQzJ,EAAMnC,QACdO,EAGHkB,OADJA,EAAS8T,EAAKvQ,eAAezE,GAAKgV,EAAKhV,GAAK,MAEjC,GAGJkB,CAEf,EACJ,C,kBCVA,IAAIotD,EAASv5B,EAAAA,OAAAA,OAGTo6B,EAAab,EAAOa,YAAc,SAAUD,GAE9C,QADAA,EAAW,GAAKA,IACIA,EAASvuC,eAC3B,IAAK,MAAM,IAAK,OAAO,IAAK,QAAQ,IAAK,QAAQ,IAAK,SAAS,IAAK,SAAS,IAAK,OAAO,IAAK,QAAQ,IAAK,UAAU,IAAK,WAAW,IAAK,MACxI,OAAO,EACT,QACE,OAAO,EAEb,EA0CA,SAASotrB,EAAc7+oB,GAErB,IAAI4hoB,EACJ,OAFA7vrB,KAAKiuD,SAXP,SAA2B0R,GACzB,IAAIy5+B,EA/BN,SAA4Bz5+B,GAC1B,IAAKA,EAAK,MAAO,OAEjB,IADA,IAAI05+B,IAEF,OAAQ15+B,GACN,IAAK,OACL,IAAK,QACH,MAAO,OACT,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,MAAO,UACT,IAAK,SACL,IAAK,SACH,MAAO,SACT,IAAK,SACL,IAAK,QACL,IAAK,MACH,OAAOA,EACT,QACE,GAAI05+B,EAAS,OACb15+B,GAAO,GAAKA,GAAKjgD,cACjB25hC,GAAU,EAGlB,CAKaC,CAAmB35+B,GAC9B,GAAoB,iBAATy5+B,IAAsB/r/B,EAAOa,aAAeA,IAAeA,EAAWyR,IAAO,MAAM,IAAIjgE,MAAM,qBAAuBigE,GAC/H,OAAOy5+B,GAAQz5+B,CACjB,CAOkB45+B,CAAkBtr/B,GAE1BjuD,KAAKiuD,UACX,IAAK,UACHjuD,KAAK20B,KAAO6khC,EACZx5iC,KAAKsU,IAAMmliC,EACX5pX,EAAK,EACL,MACF,IAAK,OACH7vrB,KAAK05iC,SAAWC,EAChB9pX,EAAK,EACL,MACF,IAAK,SACH7vrB,KAAK20B,KAAOilhC,EACZ55iC,KAAKsU,IAAMuliC,EACXhqX,EAAK,EACL,MACF,QAGE,OAFA7vrB,KAAKmrC,MAAQ2ugC,OACb95iC,KAAKsU,IAAMyliC,GAGf/5iC,KAAKg6iC,SAAW,EAChBh6iC,KAAKi6iC,UAAY,EACjBj6iC,KAAKk6iC,SAAW7s/B,EAAOM,YAAYkioB,EACrC,CAmCA,SAASsqX,EAAcC,GACrB,OAAIA,GAAQ,IAAa,EAAWA,GAAQ,GAAM,EAAa,EAAWA,GAAQ,GAAM,GAAa,EAAWA,GAAQ,GAAM,GAAa,EACpIA,GAAQ,GAAM,GAAQ,GAAK,CACpC,CA0DA,SAAST,EAAa/p/B,GACpB,IAAIlxD,EAAIsB,KAAKi6iC,UAAYj6iC,KAAKg6iC,SAC1Bpw/B,EAtBN,SAA6BtiD,EAAMsoD,GACjC,GAAwB,MAAV,IAATA,EAAI,IAEP,OADAtoD,EAAK0yiC,SAAW,EACT,SAET,GAAI1yiC,EAAK0yiC,SAAW,GAAKpq/B,EAAIpxD,OAAS,EAAG,CACvC,GAAwB,MAAV,IAAToxD,EAAI,IAEP,OADAtoD,EAAK0yiC,SAAW,EACT,SAET,GAAI1yiC,EAAK0yiC,SAAW,GAAKpq/B,EAAIpxD,OAAS,GACZ,MAAV,IAAToxD,EAAI,IAEP,OADAtoD,EAAK0yiC,SAAW,EACT,QAGb,CACF,CAKUK,CAAoBr6iC,KAAM4vD,GAClC,YAAUlqD,IAANkkD,EAAwBA,EACxB5pD,KAAKg6iC,UAAYpq/B,EAAIpxD,QACvBoxD,EAAItB,KAAKtuD,KAAKk6iC,SAAUx7iC,EAAG,EAAGsB,KAAKg6iC,UAC5Bh6iC,KAAKk6iC,SAASp8iC,SAASkC,KAAKiuD,SAAU,EAAGjuD,KAAKi6iC,aAEvDrq/B,EAAItB,KAAKtuD,KAAKk6iC,SAAUx7iC,EAAG,EAAGkxD,EAAIpxD,aAClCwB,KAAKg6iC,UAAYpq/B,EAAIpxD,QACvB,CA0BA,SAASg7iC,EAAU5p/B,EAAK7wD,GACtB,IAAK6wD,EAAIpxD,OAASO,GAAK,GAAM,EAAG,CAC9B,IAAI6qD,EAAIgG,EAAI9xD,SAAS,UAAWiB,GAChC,GAAI6qD,EAAG,CACL,IAAI3V,EAAI2V,EAAE7I,WAAW6I,EAAEprD,OAAS,GAChC,GAAIy1C,GAAK,OAAUA,GAAK,MAKtB,OAJAj0C,KAAKg6iC,SAAW,EAChBh6iC,KAAKi6iC,UAAY,EACjBj6iC,KAAKk6iC,SAAS,GAAKtq/B,EAAIA,EAAIpxD,OAAS,GACpCwB,KAAKk6iC,SAAS,GAAKtq/B,EAAIA,EAAIpxD,OAAS,GAC7BorD,EAAEh1C,MAAM,GAAI,EAEvB,CACA,OAAOg1C,CACT,CAIA,OAHA5pD,KAAKg6iC,SAAW,EAChBh6iC,KAAKi6iC,UAAY,EACjBj6iC,KAAKk6iC,SAAS,GAAKtq/B,EAAIA,EAAIpxD,OAAS,GAC7BoxD,EAAI9xD,SAAS,UAAWiB,EAAG6wD,EAAIpxD,OAAS,EACjD,CAIA,SAASi7iC,EAAS7p/B,GAChB,IAAIhG,EAAIgG,GAAOA,EAAIpxD,OAASwB,KAAKmrC,MAAMykB,GAAO,GAC9C,GAAI5vD,KAAKg6iC,SAAU,CACjB,IAAI1liC,EAAMtU,KAAKi6iC,UAAYj6iC,KAAKg6iC,SAChC,OAAOpw/B,EAAI5pD,KAAKk6iC,SAASp8iC,SAAS,UAAW,EAAGwW,EAClD,CACA,OAAOs1C,CACT,CAEA,SAASgw/B,EAAWhq/B,EAAK7wD,GACvB,IAAIiG,GAAK4qD,EAAIpxD,OAASO,GAAK,EAC3B,OAAU,IAANiG,EAAgB4qD,EAAI9xD,SAAS,SAAUiB,IAC3CiB,KAAKg6iC,SAAW,EAAIh1iC,EACpBhF,KAAKi6iC,UAAY,EACP,IAANj1iC,EACFhF,KAAKk6iC,SAAS,GAAKtq/B,EAAIA,EAAIpxD,OAAS,IAEpCwB,KAAKk6iC,SAAS,GAAKtq/B,EAAIA,EAAIpxD,OAAS,GACpCwB,KAAKk6iC,SAAS,GAAKtq/B,EAAIA,EAAIpxD,OAAS,IAE/BoxD,EAAI9xD,SAAS,SAAUiB,EAAG6wD,EAAIpxD,OAASwG,GAChD,CAEA,SAAS60iC,EAAUjq/B,GACjB,IAAIhG,EAAIgG,GAAOA,EAAIpxD,OAASwB,KAAKmrC,MAAMykB,GAAO,GAC9C,OAAI5vD,KAAKg6iC,SAAiBpw/B,EAAI5pD,KAAKk6iC,SAASp8iC,SAAS,SAAU,EAAG,EAAIkC,KAAKg6iC,UACpEpw/B,CACT,CAGA,SAASkw/B,EAAYlq/B,GACnB,OAAOA,EAAI9xD,SAASkC,KAAKiuD,SAC3B,CAEA,SAAS8r/B,EAAUnq/B,GACjB,OAAOA,GAAOA,EAAIpxD,OAASwB,KAAKmrC,MAAMykB,GAAO,EAC/C,CA1NA1d,EAAQ,EAAgB46pB,EA6BxBA,EAAc9usB,UAAUmtC,MAAQ,SAAUykB,GACxC,GAAmB,IAAfA,EAAIpxD,OAAc,MAAO,GAC7B,IAAIorD,EACA7qD,EACJ,GAAIiB,KAAKg6iC,SAAU,CAEjB,QAAUt0iC,KADVkkD,EAAI5pD,KAAK05iC,SAAS9p/B,IACG,MAAO,GAC5B7wD,EAAIiB,KAAKg6iC,SACTh6iC,KAAKg6iC,SAAW,CAClB,MACEj7iC,EAAI,EAEN,OAAIA,EAAI6wD,EAAIpxD,OAAeorD,EAAIA,EAAI5pD,KAAK20B,KAAKi7B,EAAK7wD,GAAKiB,KAAK20B,KAAKi7B,EAAK7wD,GAC/D6qD,GAAK,EACd,EAEAkjpB,EAAc9usB,UAAUsW,IAwGxB,SAAiBs7C,GACf,IAAIhG,EAAIgG,GAAOA,EAAIpxD,OAASwB,KAAKmrC,MAAMykB,GAAO,GAC9C,OAAI5vD,KAAKg6iC,SAAiBpw/B,EAAI,SACvBA,CACT,EAzGAkjpB,EAAc9usB,UAAU22B,KA0FxB,SAAkBi7B,EAAK7wD,GACrB,IAAI+qE,EArEN,SAA6BxiE,EAAMsoD,EAAK7wD,GACtC,IAAIq1B,EAAIw7B,EAAIpxD,OAAS,EACrB,GAAI41B,EAAIr1B,EAAG,OAAO,EAClB,IAAI8wrB,EAAKsqX,EAAcvq/B,EAAIx7B,IAC3B,GAAIy7pB,GAAM,EAER,OADIA,EAAK,IAAGvorB,EAAK0yiC,SAAWnqX,EAAK,GAC1BA,EAET,KAAMz7pB,EAAIr1B,IAAa,IAAR8wrB,EAAW,OAAO,EAEjC,GADAA,EAAKsqX,EAAcvq/B,EAAIx7B,IACnBy7pB,GAAM,EAER,OADIA,EAAK,IAAGvorB,EAAK0yiC,SAAWnqX,EAAK,GAC1BA,EAET,KAAMz7pB,EAAIr1B,IAAa,IAAR8wrB,EAAW,OAAO,EAEjC,GADAA,EAAKsqX,EAAcvq/B,EAAIx7B,IACnBy7pB,GAAM,EAIR,OAHIA,EAAK,IACI,IAAPA,EAAUA,EAAK,EAAOvorB,EAAK0yiC,SAAWnqX,EAAK,GAE1CA,EAET,OAAO,CACT,CA8CcyqX,CAAoBt6iC,KAAM4vD,EAAK7wD,GAC3C,IAAKiB,KAAKg6iC,SAAU,OAAOpq/B,EAAI9xD,SAAS,OAAQiB,GAChDiB,KAAKi6iC,UAAYnw+B,EACjB,IAAIx1D,EAAMs7C,EAAIpxD,QAAUsrE,EAAQ9pE,KAAKg6iC,UAErC,OADApq/B,EAAItB,KAAKtuD,KAAKk6iC,SAAU,EAAG5liC,GACpBs7C,EAAI9xD,SAAS,OAAQiB,EAAGuV,EACjC,EA9FAw4rB,EAAc9usB,UAAU07iC,SAAW,SAAU9p/B,GAC3C,GAAI5vD,KAAKg6iC,UAAYpq/B,EAAIpxD,OAEvB,OADAoxD,EAAItB,KAAKtuD,KAAKk6iC,SAAUl6iC,KAAKi6iC,UAAYj6iC,KAAKg6iC,SAAU,EAAGh6iC,KAAKg6iC,UACzDh6iC,KAAKk6iC,SAASp8iC,SAASkC,KAAKiuD,SAAU,EAAGjuD,KAAKi6iC,WAEvDrq/B,EAAItB,KAAKtuD,KAAKk6iC,SAAUl6iC,KAAKi6iC,UAAYj6iC,KAAKg6iC,SAAU,EAAGpq/B,EAAIpxD,QAC/DwB,KAAKg6iC,UAAYpq/B,EAAIpxD,MACvB,C,kBCvIA,IAAI6uD,EAASv5B,EAAAA,OAAAA,OAEbme,EAAOC,QAAU,SAAU0d,GAE1B,GAAIA,aAAe9wD,WAAY,CAE9B,GAAuB,IAAnB8wD,EAAIhC,YAAoBgC,EAAI/B,aAAe+B,EAAIjxD,OAAOkvD,WACzD,OAAO+B,EAAIjxD,OACL,GAAgC,mBAArBixD,EAAIjxD,OAAOiW,MAE5B,OAAOg7C,EAAIjxD,OAAOiW,MAAMg7C,EAAIhC,WAAYgC,EAAIhC,WAAagC,EAAI/B,WAE/D,CAEA,GAAIR,EAAOgB,SAASuB,GAAM,CAKzB,IAFA,IAAI2q/B,EAAY,IAAIz7iC,WAAW8wD,EAAIpxD,QAC/BC,EAAMmxD,EAAIpxD,OACLO,EAAI,EAAGA,EAAIN,EAAKM,IACxBw7iC,EAAUx7iC,GAAK6wD,EAAI7wD,GAEpB,OAAOw7iC,EAAU57iC,MAClB,CACC,MAAM,IAAIe,MAAM,4BAElB,C,kBC1Ba,IAAA6L,EAAAuoB,EAAA,OAAAjZ,EAAAiZ,EAAA,OAAA9D,EAAA8D,EAAA,gBAAAhvB,EAAA8kD,EAAAhtD,GAAA,IAAA6e,EAAA,oBAAAu8B,QAAA4R,EAAA5R,OAAA3wC,WAAAuiD,EAAA,kBAAAnuC,EAAA,IAAAhH,MAAAC,QAAAk1C,KAAAnuC,EAAA,SAAAmuC,EAAAtkD,GAAA,GAAAskD,EAAA,qBAAAA,EAAA,OAAAkhF,EAAAlhF,EAAAtkD,GAAA,IAAAmW,EAAA,GAAA3d,SAAA0B,KAAAoqD,GAAAh1C,MAAA,uBAAA6G,GAAAmuC,EAAArK,cAAA9jC,EAAAmuC,EAAArK,YAAA1iD,MAAA,QAAA4e,GAAA,QAAAA,EAAAhH,MAAA8wC,KAAAqE,GAAA,cAAAnuC,GAAA,2CAAAhb,KAAAgb,GAAAqvH,EAAAlhF,EAAAtkD,QAAA,GAAA6iZ,CAAAv+V,KAAAhtD,GAAAgtD,GAAA,iBAAAA,EAAAprD,OAAA,CAAAid,IAAAmuC,EAAAnuC,GAAA,IAAAksC,EAAA,EAAA3R,EAAA,oBAAAjxC,EAAAixC,EAAAhxC,EAAA,kBAAA2iD,GAAAiC,EAAAprD,OAAA,CAAAyG,MAAA,IAAAA,MAAA,EAAA5F,MAAAuqD,EAAAjC,KAAA,EAAA/qD,EAAA,SAAAgtD,GAAA,MAAAA,CAAA,EAAAzkD,EAAA6wC,EAAA,WAAA5E,UAAA,6IAAA2rB,EAAAz3D,GAAA,EAAA++D,GAAA,SAAAt/D,EAAA,WAAA0W,EAAAA,EAAAjc,KAAAoqD,EAAA,EAAA5kD,EAAA,eAAA4kD,EAAAnuC,EAAArP,OAAA,OAAA9G,EAAAskD,EAAA3kD,KAAA2kD,CAAA,EAAAhtD,EAAA,SAAAgtD,GAAAya,GAAA,EAAAtH,EAAAnT,CAAA,EAAAzkD,EAAA,eAAAG,GAAA,MAAAmW,EAAAgjT,QAAAhjT,EAAAgjT,QAAA,YAAAp6P,EAAA,MAAAtH,CAAA,aAAA+tE,EAAAlhF,EAAAtkD,IAAA,MAAAA,GAAAA,EAAAskD,EAAAprD,UAAA8G,EAAAskD,EAAAprD,QAAA,QAAA5B,EAAA,EAAAoI,EAAAyP,MAAAnP,GAAA1I,EAAA0I,EAAA1I,IAAAoI,EAAApI,GAAAgtD,EAAAhtD,GAAA,OAAAoI,CAAA,CAEb,IAAMw1iC,EAAW1mhC,EAAQ,OACnB40nB,EAAU50nB,EAAQ,OAClB2mhC,EAAe3mhC,EAAQ,OACrB4mhC,EAAmB5mhC,EAAQ,OAA3B4mhC,eAMR,SAASC,EAAW7lgC,EAAG3pC,GAIrB,IAJ8C,IAArByviC,EAAiBzviC,EAAjByviC,kBACrBvmiC,EAAQ,EACRC,EAAMmmiC,EAAaj8iC,OAAS,EAEzB6V,GAASC,GAAK,CACnB,IAAMmtjB,EAAM/kjB,KAAKC,OAAOtI,EAAQC,GAAO,GAEjCxL,EAAS2xiC,EAAah5e,GACtB/5iB,EAAMjT,MAAMC,QAAQ5L,EAAO,IAAMA,EAAO,GAAG,GAAKA,EAAO,GACvD6e,EAAMlT,MAAMC,QAAQ5L,EAAO,IAAMA,EAAO,GAAG,GAAKA,EAAO,GAE7D,GAAI4e,GAAOotB,GAAOntB,GAAOmtB,EACvB,OAAI8lgC,GACC9xiC,EAAO,KAAO4xiC,EAAeG,uBAAyB/xiC,EAAO,KAAO4xiC,EAAeI,uBAE7EhyiC,EAAO,KAAO4xiC,EAAeG,sBAC/B,CAACH,EAAet1xB,OAAK5jR,OAAAwuB,EAAKlnB,EAAO8L,MAAM,KACrC9L,EAAO,KAAO4xiC,EAAeI,uBAC/B,CAACJ,EAAe10vB,QAAMxkT,OAAAwuB,EAAKlnB,EAAO8L,MAAM,KAG1C9L,EAAO8L,MAAM,GAPX,CAAC8liC,EAAeK,YAAUv5iC,OAAAwuB,EAAKlnB,EAAO8L,MAAM,KAQ5C8S,EAAMotB,EACfxgC,EAAMmtjB,EAAM,EAEZptjB,EAAQotjB,EAAM,CAElB,CAEA,OAAO,IACT,CAsCA,SAASu5e,EAAcnrhC,EAAK/hB,GAAkF,IAA9EmtiC,EAAYntiC,EAAZmtiC,aAAcC,EAASptiC,EAATotiC,UAAWC,EAAYrtiC,EAAZqtiC,aAAcC,EAAgBttiC,EAAhBstiC,iBAAkBR,EAAiB9siC,EAAjB8siC,kBACvF,GAAI/qhC,EAAMkwU,UAAU,SAAWlwU,EAC7B,OAAO,EAGT,IAAM8hC,EAAal9C,MAAM8wC,KAAK11B,GAE9B,GAAIorhC,IACqB,MAAlBtp/B,EAAW,IAAgC,MAAlBA,EAAW,IACpC9hC,EAAMhsB,WAAW,MAAQgsB,EAAMmjN,SAAS,MAC3C,OAAO,EAIX,GAAInjN,EAAM7X,SAAS,MACd25C,EAAWnzD,OAAS,GAAKkqpB,EAAQ2yZ,eAAe56iC,KAAKkxD,EAAW,IACnE,OAAO,EAGT,IAAK,IAAL5tD,EAAA,EAAAu3iC,EAAiB3p/B,EAAU5tD,EAAAu3iC,EAAA98iC,OAAAuF,IAAE,CAAxB,IACHw3iC,EAAiBZ,EADNW,EAAAv3iC,GACoBuwV,YAAY,GAAI,CAAEsmtB,sBAA1CpghC,EAA8D3f,EAAA0giC,EAAA,GAAxD,GACb,GAA0B,iBAArBH,GAAuC5ghC,IAAWkghC,EAAet1xB,OAC5C,oBAArBg2xB,GACA5ghC,IAAWkghC,EAAet1xB,OAAS5qP,IAAWkghC,EAAec,UAChE,OAAO,CAEX,CAGA,GAAIL,EAAc,CAChB,IAC0CroiC,EADtCizC,EAAO,EAAEhzC,EAAAjO,EACS6sD,EAAWz+C,WAAS,IAA1C,IAAAH,EAAAhO,MAAA+N,EAAAC,EAAA/N,KAAAC,MAA4C,KAAA6uG,EAAAj5F,EAAA/H,EAAAzT,MAAA,GAAhCN,EAAC+0G,EAAA,GAAEn1B,EAAEm1B,EAAA,GACf,GAAW,WAAPn1B,GAA0B,WAAPA,EAAiB,CACtC,GAAI5/E,EAAI,EAAG,CACT,GAAI2ppB,EAAQ+yZ,qBAAqBh7iC,KAAKkxD,EAAW5yD,EAAI,IACnD,SAEF,GAAW,WAAP4/E,EAAiB,CAEnB,IAAMvyE,EAAOulD,EAAW3yD,QAAQ,SAAUD,EAAI,GACxC0B,EAAO2L,EAAO,EAAIulD,EAAW/8C,MAAMmxC,GAAQ4L,EAAW/8C,MAAMmxC,EAAM35C,GACxE,GAAIs8oB,EAAQgzZ,UAAUj7iC,KAAKA,EAAKqrD,KAAK,KAAM,CACzC/F,EAAOhnD,EAAI,EACX,QACF,CACF,CACF,CACA,OAAO,CACT,CACF,CAAC,OAAAmG,GAAA6N,EAAAnW,EAAAsI,EAAA,SAAA6N,EAAA5N,GAAA,CACH,CAGA,GAAI+1iC,EAAW,CACb,IAAIlpU,EAGJ,GAAItpF,EAAQizZ,UAAUl7iC,KAAKkxD,EAAW,IACpCqgrB,GAAM,MACD,KAAItpF,EAAQkzZ,UAAUn7iC,KAAKkxD,EAAW,IAG3C,OAAO,EAFPqgrB,GAAM,CAGR,CAEA,GAAIA,GAEF,IAAKtpF,EAAQmzZ,OAAOp7iC,KAAKovB,KACpB64nB,EAAQozZ,OAAOr7iC,KAAKovB,IACpB64nB,EAAQqzZ,SAASt7iC,KAAKovB,IAAU64nB,EAAQszZ,SAASv7iC,KAAKovB,GACzD,OAAO,OAEJ,IAAK64nB,EAAQuzZ,OAAOx7iC,KAAKovB,KACpB64nB,EAAQwzZ,OAAOz7iC,KAAKovB,GAC9B,OAAO,CAEX,CAEA,OAAO,CACT,CAgBA,SAASsshC,EAAWC,EAAYp2iC,GAC9B,IAa6CgN,EAbrCooiC,EAAqBp1iC,EAArBo1iC,iBAGRiB,EAvIF,SAAkBD,EAAU/uiC,GAA2C,IAI1C1I,EAJGi2iC,EAAiBvtiC,EAAjButiC,kBAAmBQ,EAAgB/tiC,EAAhB+tiC,iBAC7C56gC,GAAW,EACXgta,EAAY,GAAG3oc,EAAAC,EAEFs3iC,GAAU,IAA3B,IAAAv3iC,EAAAE,MAAAJ,EAAAE,EAAAG,KAAAC,MAA6B,KAAlB05E,EAAEh6E,EAAAtF,MACXi9iC,EAA0B3B,EAAWh89B,EAAG21Q,YAAY,GAAI,CAAEsmtB,sBAAoB2B,EAAA1hiC,EAAAyhiC,EAAA,GAAvE9hhC,EAAM+hhC,EAAA,GAAElg/B,EAAOkg/B,EAAA,GAEtB,OAAQ/hhC,GACN,KAAKkghC,EAAeK,WAClBv6gC,GAAW,EACXgta,GAAa7uX,EACb,MACF,KAAK+79B,EAAe9v5B,QAClB,MACF,KAAK8v5B,EAAe10vB,OAClBwnJ,GAAanxY,EACb,MACF,KAAKq++B,EAAec,UAEhBhumB,GADuB,iBAArB4tmB,EACW/++B,EAEAsiB,EAEf,MACF,KAAK+79B,EAAet1xB,MAClBooL,GAAa7uX,EAGnB,CAAC,OAAAz5E,GAAAL,EAAAjI,EAAAsI,EAAA,SAAAL,EAAAM,GAAA,CAED,MAAO,CACL6oD,OAAQw/Y,EACRzwc,MAAOyjC,EAEX,CAqG0Bg8gC,CAASJ,EAAYp2iC,GAAvCgoD,EAAMqu/B,EAANru/B,OAAQjxD,EAAKs/iC,EAALt/iC,MAMRuhE,GAHNtQ,EAASA,EAAO+xS,UAAU,QAGJpyT,MAAM,KACtB8ugC,EAzBR,SAAsBn++B,GACpB,IAAMnY,EAASmY,EAAOnvD,IAAI,SAAA0gB,GACxB,GAAIA,EAAMhsB,WAAW,QACnB,IACE,OAAO22iC,EAAS32+B,OAAOh0C,EAAM1wB,UAAU,GACzC,CAAE,MAAO+F,GACP,MAAO,EACT,CAEF,OAAO2qB,CACT,GAAGi8B,KAAK,KACR,OAAO48lB,EAAQg0Z,WAAWj8iC,KAAK0lD,EACjC,CAaiBw2/B,CAAar++B,GAE5BrrD,EAAAnO,EAC6Bw5D,EAAOprD,WAAS,IAA7C,IAAAD,EAAAlO,MAAAiO,EAAAC,EAAAjO,KAAAC,MAA+C,KAAAs4H,EAAA1iH,EAAA7H,EAAA3T,MAAA,GAAnCN,EAACw+H,EAAA,GACP1tG,EADkB0tG,EAAA,GAElBq/6B,EAAgBxB,EACpB,GAAIvrhC,EAAMhsB,WAAW,QAAS,CAC5B,IACEgsB,EAAQ2qhC,EAAS32+B,OAAOh0C,EAAM1wB,UAAU,IACxCm/D,EAAOv/D,GAAK8wB,CACd,CAAE,MAAO3qB,GACPnI,GAAQ,EACR,QACF,CACA6/iC,EAAgB,iBAClB,CAGA,IAAI7/iC,EAGei+iC,EAAcnrhC,EAAKtkB,EAAA,GACjCvF,EAAO,CACVo1iC,iBAAkBwB,EAClB1B,UAAWl1iC,EAAQk1iC,WAAauB,OAGhC1/iC,GAAQ,EAEZ,CAAC,OAAAmI,GAAA+N,EAAArW,EAAAsI,EAAA,SAAA+N,EAAA9N,GAAA,CAED,MAAO,CACL6oD,OAAQsQ,EAAOxS,KAAK,KACpB/uD,QAEJ,CA0EAk1C,EAAOC,QAAU,CACfg3oB,QAzEF,SAAiBkzX,GAOT,IAAA5tiC,EAAAxM,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAJ,CAAC,EAAC66iC,EAAAruiC,EANJysiC,aAAAA,OAAY,IAAA4B,GAAQA,EAAAC,EAAAtuiC,EACpB0siC,UAAAA,OAAS,IAAA4B,GAAQA,EAAAC,EAAAvuiC,EACjB2siC,aAAAA,OAAY,IAAA4B,GAAQA,EAAAC,EAAAxuiC,EACpBosiC,kBAAAA,OAAiB,IAAAoC,GAAQA,EAAAC,EAAAzuiC,EACzB4siC,iBAAAA,OAAgB,IAAA6B,EAAG,kBAAiBA,EAAAC,EAAA1uiC,EACpC2uiC,gBAAAA,OAAe,IAAAD,GAAQA,EAEvB,GAAyB,iBAArB9B,GAA4D,oBAArBA,EACzC,MAAM,IAAI5t/B,WAAW,mEAGvB,IAAMvtD,EAASk8iC,EAAWC,EAAY,CACpChB,mBACAH,eACAC,YACAC,eACAP,sBAEEt8+B,EAASr+D,EAAO+tD,OAAOrgB,MAAM,KAYjC,GAXA2wB,EAASA,EAAOnvD,IAAI,SAAAstC,GAClB,GA3OK,yIAAgBh8C,KA2OAg8C,GACnB,IACE,MAAO,OAAPj7C,OAAcg5iC,EAASr2+B,OAAO1nB,GAChC,CAAE,MAAO7/C,GACPqD,EAAOlD,OAAQ,CACjB,CAEF,OAAO0/C,CACT,GAEI0ggC,EAAiB,CACnB,IAAMrz+B,EAAQxL,EAAOxS,KAAK,KAAKttD,QAC3BsrE,EAAQ,KAAiB,IAAVA,KACjB7pE,EAAOlD,OAAQ,GAGjB,IAAK,IAAIgC,EAAI,EAAGA,EAAIu/D,EAAO9/D,SAAUO,EACnC,GAAIu/D,EAAOv/D,GAAGP,OAAS,IAA2B,IAArB8/D,EAAOv/D,GAAGP,OAAc,CACnDyB,EAAOlD,OAAQ,EACf,KACF,CAEJ,CAEA,OAAIkD,EAAOlD,MACF,KAEFuhE,EAAOxS,KAAK,IACrB,EAyBEm9nB,UAvBF,SAAmBmzX,GAMX,IAAArtiC,EAAA/M,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAJ,CAAC,EAACo7iC,EAAAruiC,EALJksiC,aAAAA,OAAY,IAAAmC,GAAQA,EAAAC,EAAAtuiC,EACpBmsiC,UAAAA,OAAS,IAAAmC,GAAQA,EAAAC,EAAAvuiC,EACjBosiC,aAAAA,OAAY,IAAAmC,GAAQA,EAAAC,EAAAxuiC,EACpB6riC,kBAAAA,OAAiB,IAAA2C,GAAQA,EAAAC,EAAAzuiC,EACzBqsiC,iBAEMn7iC,EAASk8iC,EAAWC,EAAY,CACpChB,sBAHc,IAAAoC,EAAG,kBAAiBA,EAIlCvC,eACAC,YACAC,eACAP,sBAGF,MAAO,CACLz0/B,OAAQlmD,EAAO+tD,OACfjxD,MAAOkD,EAAOlD,MAElB,E,YCrRAk1C,EAAOC,QAAU,CACfmpgC,eAdqB,69GAerBI,qBAd2B,gZAe3BC,UAdgB,8tQAehBgB,WAdiB,6hDAejBf,UAdgB,ixRAehBC,UAdgB,i9CAehBC,OAda,izMAebC,OAda,itKAebC,SAde,uLAefC,SAde,0GAefC,OAda,qxQAebC,OAda,g7Y,YCXfjqgC,EAAOC,QAAQwogC,eAAiB,CAC9B10vB,OAAQ,EACR5gC,MAAO,EACP21xB,WAAY,EACZF,sBAAuB,EACvBC,uBAAwB,EACxBU,UAAW,EACX5w5B,QAAS,E,wBCTX,OAUA,SAAWjpJ,EAAQ+D,GASf,IAGI+3iC,EAAc,WACdC,EAAc,YACdC,EAAc,SACdC,EAAc,SACdC,EAAc,QACdC,EAAc,QACd5+/B,EAAc,OACdob,EAAc,OACdyj/B,EAAc,SACdr79B,EAAc,UACds79B,EAAc,eACdC,EAAc,UACdC,EAAc,SACdC,EAAc,SACdC,EAAc,UACdC,EAAc,WACdC,EAAc,WAGdC,EAAU,SACVC,EAAU,QACVC,EAAU,OACVC,EAAa,aACbC,EAAU,UACVC,EAAU,SAEVC,EAAU,UACVC,EAAU,SACVC,EAAU,QACVC,EAAU,SAEVt5wB,EAAU,KACVu5wB,EAAY,YACZC,EAAY,WACZC,EAAU,SACVC,EAAU,UACVC,EAAU,QACVC,EAAU,OACVC,EAAU,UACVC,EAAU,QACVC,EAAU,OACVC,EAAU,SACVC,EAAU,QACVC,EAAc,WACdC,EAAc,cACdC,EAAU,SACVC,EAAiB,WAiBjBC,EAAY,SAAUj2/B,GAElB,IADA,IAAIswO,EAAQ,CAAC,EACJt7R,EAAE,EAAGA,EAAEgrD,EAAIvrD,OAAQO,IACxBs7R,EAAMtwO,EAAIhrD,GAAGooF,eAAiBp9B,EAAIhrD,GAEtC,OAAOs7R,CACX,EACA/1R,EAAM,SAAUm4zB,EAAMhoB,GAClB,cAAcgoB,IAASmhP,IAAuD,IAA5CqC,EAASxrQ,GAAMz1yB,QAAQihjC,EAASxjP,GACtE,EACAwjP,EAAW,SAAUngjC,GACjB,OAAOA,EAAI4f,aACf,EAIAs3C,EAAO,SAAUl3D,EAAKrB,GAClB,UAAWqB,IAAS89iC,EAEhB,OADA99iC,EAAMA,EAAI2f,QAAQ,SAnFZ,WAoFQhhB,IAASi/iC,EAAa59iC,EAAMA,EAAIX,UAAU,EAjEhD,IAmEpB,EAMI+gjC,EAAY,SAAUj78B,EAAIi4d,GAKtB,IAHA,IAAW9oiB,EAAG+oB,EAAGz+C,EAAG2iJ,EAAGppC,EAASt3G,EAA5B5B,EAAI,EAGDA,EAAIm+jB,EAAO1+jB,SAAWy5G,GAAS,CAElC,IAAIp5B,EAAQq+e,EAAOn+jB,GACf4tC,EAAQuwhB,EAAOn+jB,EAAI,GAIvB,IAHAq1B,EAAI+oB,EAAI,EAGD/oB,EAAIyqD,EAAMrgF,SAAWy5G,GAEnBp5B,EAAMzqD,IAGX,GAFA6jF,EAAUp5B,EAAMzqD,KAAKigB,KAAK4wD,GAGtB,IAAKvmG,EAAI,EAAGA,EAAIiuC,EAAMnuC,OAAQE,IAC1BiC,EAAQs3G,IAAU96D,UAClBkkG,EAAI10G,EAAMjuC,MAEOi/iC,GAAYt85B,EAAE7iJ,OAAS,EACnB,IAAb6iJ,EAAE7iJ,cACS6iJ,EAAE,IAAMo85B,EAEfz9iC,KAAKqhJ,EAAE,IAAMA,EAAE,GAAG7hJ,KAAKQ,KAAMW,GAG7BX,KAAKqhJ,EAAE,IAAMA,EAAE,GAEC,IAAbA,EAAE7iJ,cAEE6iJ,EAAE,KAAOo85B,GAAep85B,EAAE,GAAGhtG,MAAQgtG,EAAE,GAAG5gJ,KAKjDT,KAAKqhJ,EAAE,IAAM1gJ,EAAQA,EAAM8e,QAAQ4hI,EAAE,GAAIA,EAAE,IAAM37I,EAHjD1F,KAAKqhJ,EAAE,IAAM1gJ,EAAQ0gJ,EAAE,GAAG7hJ,KAAKQ,KAAMW,EAAO0gJ,EAAE,IAAM37I,EAKpC,IAAb27I,EAAE7iJ,SACLwB,KAAKqhJ,EAAE,IAAM1gJ,EAAQ0gJ,EAAE,GAAG7hJ,KAAKQ,KAAMW,EAAM8e,QAAQ4hI,EAAE,GAAIA,EAAE,KAAO37I,GAG1E1F,KAAKqhJ,GAAK1gJ,GAAgB+E,EAK1C3G,GAAK,CACT,CACJ,EAEAohjC,GAAY,SAAUrgjC,EAAKqP,GAEvB,IAAK,IAAIpQ,KAAKoQ,EAEV,UAAWA,EAAIpQ,KAAO4+iC,GAAYxuiC,EAAIpQ,GAAGP,OAAS,GAC9C,IAAK,IAAI41B,EAAI,EAAGA,EAAIjlB,EAAIpQ,GAAGP,OAAQ41B,IAC/B,GAAI9vB,EAAI6K,EAAIpQ,GAAGq1B,GAAIt0B,GACf,MAvJN,MAuJcf,EAAiB2G,EAAY3G,OAG1C,GAAIuF,EAAI6K,EAAIpQ,GAAIe,GACnB,MA3JE,MA2JMf,EAAiB2G,EAAY3G,EAG7C,OAAOoQ,EAAI3L,eAAe,KAAO2L,EAAI,KAAOrP,CACpD,EAiBIsgjC,GAAoB,CAChB,GAAc,OACd,UAAc,SACd,SAAc,QACd,IAAc,SACd,GAAc,CAAC,SAAU,UACzB,MAAc,SACd,EAAc,SACd,EAAc,SACd,IAAc,SACd,GAAc,CAAC,SAAU,WACzB,GAAc,OAOlB13Z,GAAU,CAEVlijB,QAAU,CAAC,CAEP,gCACG,CAAC9jB,EAAS,CAACxjC,EAAM,WAAY,CAChC,+BACG,CAACwjC,EAAS,CAACxjC,EAAM,SAAU,CAG9B,4BACA,mDACA,2CACG,CAACA,EAAMwjC,GAAU,CACpB,yBACG,CAACA,EAAS,CAACxjC,EAAMmggC,EAAM,UAAW,CACrC,4BACG,CAAC389B,EAAS,CAACxjC,EAAMmggC,EAAM,QAAS,CACnC,qBACG,CAAC389B,EAAS,CAACxjC,EAAMmggC,IAAS,CAG7B,0DACG,CAAC389B,EAAS,CAACxjC,EAAM,UAAW,CAC/B,+CACG,CAACwjC,EAAS,CAACxjC,EAAM,YAAa,CACjC,uBACA,uEAGA,4DACA,2BAGA,+NAEA,sCACA,uBACG,CAACA,EAAMwjC,GAAU,CACpB,6BACG,CAACA,EAAS,CAACxjC,EAAM,UAAW,CAC/B,qBACG,CAACwjC,EAAS,CAACxjC,EAAM,eAAgB,CACpC,qDACG,CAACwjC,EAAS,CAACxjC,EAAM,KAAKy//B,IAAW,CACpC,+BACA,+BACA,8BACG,CAACj89B,EAAS,CAACxjC,EAAM,WAAY,CAChC,yBACG,CAACwjC,EAAS,CAACxjC,EAAM,cAAe,CACnC,+CACG,CAACwjC,EAAS,CAACxjC,EAAM,OAAQ,CAC5B,oCACG,CAACwjC,EAAS,CAACxjC,EAAM,WAAY,CAChC,yBACG,CAACwjC,EAAS,CAACxjC,EAAM,gBAAgBy//B,IAAW,CAC/C,2BACG,CAAC,CAACz//B,EAAM,OAAQ,aAAay//B,GAAUj89B,GAAU,CACpD,uBACG,CAACA,EAAS,CAACxjC,EAAM2//B,EAAQ,WAAY,CACxC,qBACG,CAACn89B,EAAS,CAACxjC,EAAMmggC,EAAM,WAAY,CACtC,0BACG,CAAC389B,EAAS,CAACxjC,EAAM,YAAa,CACjC,sBACG,CAACwjC,EAAS,CAACxjC,EAAM,YAAa,CACjC,qBACG,CAACwjC,EAAS,CAACxjC,EAAMmggC,EAAM,WAAY,CACtC,2BACG,CAAC389B,EAAS,CAACxjC,EAAM,OAAS6ggC,IAAkB,CAC/C,sBACG,CAACr99B,EAAS,CAACxjC,EAAM2//B,IAAW,CAC/B,+BACG,CAACn89B,EAAS,CAACxjC,EAAM,QAAS,CAC7B,sBACG,CAAC,CAACA,EAAM,OAAQ,aAAcwjC,GAAU,CAC3C,yDACG,CAAC,CAACxjC,EAAM,OAAQ,KAAO6ggC,GAAiBr99B,GAAU,CACrD,8BACG,CAACA,EAAS,CAACxjC,EAAMqggC,EAAU,cAAe,CAC7C,0BACG,CAAC789B,EAAS,CAACxjC,EAAM,mBAAoB,CACxC,4BACG,CAAC,CAACA,EAAM,gBAAiBwjC,GAAU,CACtC,gCACA,iDACA,sEACG,CAACxjC,EAAMwjC,GAAU,CACpB,sBACA,sBACG,CAACxjC,GAAO,CACX,kCACA,oCACG,CAACwjC,EAASxjC,GAAO,CAGpB,+DACG,CAAC,CAACA,EAAM0ggC,GAAWl99B,GAAU,CAChC,uBACA,uCACA,kCACA,4BACA,4BACA,4BACA,6BACA,qCACA,iDACG,CAACxjC,EAAMwjC,GAAU,CACpB,gCACG,CAACA,EAAS,CAACxjC,EAAM,QAAS,CAC7B,8CACG,CAACwjC,EAAS,CAACxjC,EAAM,WAAY,CAEhC,oCACG,CAACwjC,EAAS,CAACxjC,EAAM0//B,EAAO,cAAe,CAE1C,+BACG,CAAC,CAAC1//B,EAAM0//B,EAAO,YAAal89B,GAAU,CAEzC,2DACG,CAACA,EAAS,CAACxjC,EAAM,WAAWy//B,IAAW,CAE1C,+DACG,CAACz//B,EAAMwjC,GAAU,CAEpB,gDACG,CAACA,EAAS,CAACxjC,EAAM,kBAAmB,CACvC,sDACG,CAACwjC,EAASxjC,GAAO,CACpB,gDACG,CAACA,EAAM,CAACwjC,EAASy99B,GA/JT,CACX,MAAU,KACV,IAAU,KACV,IAAU,KACV,MAAU,OACV,QAAU,OACV,QAAU,OACV,QAAU,OACV,IAAU,OAuJqC,CAE/C,8BACG,CAACjhgC,EAAMwjC,GAAU,CAGpB,wCACG,CAAC,CAACxjC,EAAM,YAAawjC,GAAU,CAClC,kCACG,CAACxjC,EAAMwjC,GAAU,CACpB,uCACG,CAACA,EAAS,CAACxjC,EAAM2//B,EAAQ,aAAc,CAC1C,6BACA,cACA,8FAEA,+FAEA,wBACA,2CAGA,wHAEA,0BACG,CAAC3//B,EAAM,CAACwjC,EAAS,KAAM,MAAO,CAEjC,wBACG,CAACxjC,EAAM,CAACwjC,EAAS,eAAgB,MAGxC299B,IAAM,CAAC,CAEH,qCACG,CAAC,CAACrC,EAAc,UAAW,CAE9B,eACA,4BACG,CAAC,CAACA,EAAc,SAAU,CAE7B,uCACG,CAAC,CAACA,EAAc,UAAW,CAE9B,iCACG,CAAC,CAACA,EAAc,UAAW,CAG9B,wCACG,CAAC,CAACA,EAAc,QAAS,CAE5B,oCACG,CAAC,CAACA,EAAc,OAzXT,GAyXwBiC,IAAY,CAE9C,iBACG,CAAC,CAACjC,EAAc,UAAW,CAE9B,qGAEG,CAAC,CAACA,EAAciC,KAGvBz7X,OAAS,CAAC,CAON,mFACG,CAACs5X,EAAO,CAACC,EAAQwB,GAAU,CAACjl/B,EAAM6j/B,IAAU,CAC/C,iEACA,kCACA,iBACG,CAACL,EAAO,CAACC,EAAQwB,GAAU,CAACjl/B,EAAM4j/B,IAAU,CAG/C,4CACG,CAACJ,EAAO,CAACC,EAAQS,GAAQ,CAAClk/B,EAAM4j/B,IAAU,CAC7C,6BACA,oCACA,kCACG,CAACJ,EAAO,CAACC,EAAQS,GAAQ,CAAClk/B,EAAM6j/B,IAAU,CAC7C,iBACG,CAACL,EAAO,CAACC,EAAQS,IAAS,CAG7B,iCACG,CAACV,EAAO,CAACC,EAAQyB,GAAQ,CAACll/B,EAAM4j/B,IAAU,CAG7C,8FACG,CAACJ,EAAO,CAACC,EAAQgB,GAAQ,CAACzk/B,EAAM6j/B,IAAU,CAC7C,wBACG,CAACL,EAAO,CAACC,EAAQgB,GAAQ,CAACzk/B,EAAM4j/B,IAAU,CAG7C,iPACG,CAACJ,EAAO,CAACC,EAAQiB,GAAS,CAAC1k/B,EAAM6j/B,IAAU,CAC9C,4BACA,sEACG,CAACL,EAAO,CAACC,EAAQiB,GAAS,CAAC1k/B,EAAM4j/B,IAAU,CAG9C,wEACA,8CACE,CAAC,CAACJ,EAAO,KAAM,KAAM,CAACC,EAAQ2B,GAAS,CAACpl/B,EAAM6j/B,IAAU,CAE1D,kDACA,yBACA,uCACA,iDACA,4DACA,4GACA,yBACG,CAAC,CAACL,EAAO,KAAM,KAAM,CAACC,EAAQ2B,GAAS,CAACpl/B,EAAM4j/B,IAAU,CAG3D,sBACA,mEACG,CAACJ,EAAO,CAACC,EAAQuB,GAAO,CAAChl/B,EAAM4j/B,IAAU,CAC5C,iCACG,CAACJ,EAAO,CAACC,EAAQoC,GAAW,CAAE,QAAY,CAAC,MAAO,MAAO,OAAQ,IAAMb,IAAS,CAAChl/B,EAAM6j/B,IAAU,CAGpG,yBACA,oCACG,CAACL,EAAO,CAACC,EAAQ,QAAS,CAACzj/B,EAAM4j/B,IAAU,CAG9C,mCACG,CAACJ,EAAO,CAACC,EAAQ,UAAW,CAACzj/B,EAAM4j/B,IAAU,CAGhD,iFACA,4BACA,8DACG,CAACJ,EAAO,CAACC,EAAQmB,GAAW,CAAC5k/B,EAAM4j/B,IAAU,CAChD,qCACG,CAACJ,EAAO,CAACC,EAAQmB,GAAW,CAAC5k/B,EAAM6j/B,IAAU,CAGhD,iEACG,CAACL,EAAO,CAACC,EAAQr4wB,GAAK,CAACprO,EAAM6j/B,IAAU,CAC1C,sDACA,0DACA,wBACG,CAACL,EAAO,CAACC,EAAQr4wB,GAAK,CAACprO,EAAM4j/B,IAAU,CAG1C,8IACA,4EACG,CAACJ,EAAO,CAACC,EA7bN,UA6buB,CAACzj/B,EAAM6j/B,IAAU,CAG9C,wBACG,CAACJ,EAAQD,EAAO,CAACxj/B,EAAM6j/B,IAAU,CACpC,4CACA,6BACG,CAAC,CAACL,EAAO,KAAM,KAAM,CAACxj/B,EAAM4j/B,GAAS,CAACH,EAAQ,UAAW,CAG5D,yBACG,CAACD,EAAO,CAACC,EAAQe,GAAS,CAACxk/B,EAAM6j/B,IAAU,CAC9C,6CACG,CAACL,EAAO,CAACC,EAAQe,GAAS,CAACxk/B,EAAM4j/B,IAAU,CAG9C,2GACG,CAACJ,EAAO,CAACC,EAAQ0B,GAAO,CAACnl/B,EAAM4j/B,IAAU,CAC5C,oBACA,iCACG,CAAC,CAACJ,EAAO,iBAAkB,CAACC,EAAQ0B,GAAO,CAACnl/B,EAAM6j/B,IAAU,CAG/D,sCACA,0CACG,CAACL,EAAO,CAACC,EAAQqB,GAAU,CAAC9k/B,EAAM4j/B,IAAU,CAG/C,eACA,yCACA,gCACG,CAACJ,EAAO,CAACC,EAAQQ,GAAS,CAACjk/B,EAAM6j/B,IAAU,CAC9C,iDACG,CAAC,CAACL,EAAO,QAAS,iBAAkB,CAACC,EAAQQ,GAAS,CAACjk/B,EAAM4j/B,IAAU,CAG1E,gCACG,CAACJ,EAAOC,EAAQ,CAACzj/B,EAAM6j/B,IAAU,CACpC,gCACA,kBACG,CAACL,EAAO,CAACC,EAAQW,GAAa,CAACpk/B,EAAM4j/B,IAAU,CAGlD,qFACG,CAACJ,EAAO,CAACC,EAAQU,GAAO,CAACnk/B,EAAM6j/B,IAAU,CAC5C,iDACG,CAACL,EAAO,CAACC,EAAQU,GAAO,CAACnk/B,EAAM4j/B,IAAU,CAG5C,cACG,CAACJ,EAAO,CAACC,EAAQ,OAAQ,CAACzj/B,EAAM6j/B,IAAU,CAC7C,2CAGA,oCACA,iFACG,CAACJ,EAAQ,CAACD,EAAO,KAAM,KAAM,CAACxj/B,EAAM4j/B,IAAU,CAGjD,gHACG,CAACJ,EAAO,CAACC,EAAQ,OAAQ,CAACzj/B,EAAM6j/B,IAAU,CAG7C,mBACG,CAAC,CAACJ,EAAQkC,GAAWnC,EAAO,CAACxj/B,EAAM6l/B,GAAW,CAAE,OAAW,CAAC,UAAW,SAAU,IAAM,YAAc,CAGxG,uCACG,CAACrC,EAAO,CAACC,EAAQ,QAAS,CAACzj/B,EAAM6j/B,IAAU,CAG9C,8BACA,qBACG,CAACL,EAAO,CAACC,EAAQ,SAAU,CAACzj/B,EAAM4j/B,IAAU,CAG/C,kDACG,CAACJ,EAAO,CAACC,EAAQ,WAAY,CAACzj/B,EAAM4j/B,IAAU,CAGjD,8BACA,oCACG,CAACJ,EAAO,CAACC,EAAQ,aAAc,CAACzj/B,EAAM4j/B,IAAU,CAGnD,gBACA,+CACG,CAACJ,EAAO,CAACC,EAAQ,OAAQ,CAACzj/B,EAAM4j/B,IAAU,CAG7C,0CACG,CAACJ,EAAO,CAACC,EAAQ,aAAc,CAACzj/B,EAAM4j/B,IAAU,CAGnD,qCACG,CAACJ,EAAO,CAACC,EAAQ,WAAY,CAACzj/B,EAAM4j/B,IAAU,CAGjD,+CACA,kEACG,CAACJ,EAAO,CAACC,EAAQ,UAAW,CAACzj/B,EAAM6j/B,IAAU,CAChD,0BACA,gCACG,CAACL,EAAO,CAACC,EAAQ,UAAW,CAACzj/B,EAAM4j/B,IAAU,CAGhD,mBACA,wBACG,CAACH,EAAQD,EAAO,CAACxj/B,EAAM6j/B,IAAU,CAEpC,8IAEA,oCACA,mBACA,8BACA,0CACA,yBACG,CAACJ,EAAQD,EAAO,CAACxj/B,EAAM4j/B,IAAU,CAEpC,2BACA,uCACA,uBACA,4BACA,iCACA,kCACA,8BACA,gCACA,mCACG,CAACH,EAAQD,EAAO,CAACxj/B,EAAM6j/B,IAAU,CAEpC,kBACG,CAACL,EAAO,CAACC,EAAQkB,GAAY,CAAC3k/B,EAAM6j/B,IAAU,CACjD,qCACG,CAACL,EAAO,CAACC,EAAQ,aAAc,CAACzj/B,EAAM4j/B,IAAU,CACnD,aACG,CAACJ,EAAO,CAACC,EAAQ,QAAS,CAACzj/B,EAAM4j/B,IAAU,CAC9C,gBACG,CAACJ,EAAO,CAACC,EAAQ,WAAY,CAACzj/B,EAAM4j/B,IAAU,CACjD,iBACG,CAACJ,EAAO,CAACC,EAAQ,OAAQ,CAACzj/B,EAAM6j/B,IAAU,CAC7C,0BACG,CAACL,EAAO,CAACC,EAAQ,QAAS,CAACzj/B,EAAM6j/B,IAAU,CAC9C,wBACG,CAACL,EAAO,CAACC,EAAQ,WAAY,CAACzj/B,EAAM6j/B,IAAU,CACjD,+CACG,CAACL,EAAO,CAACC,EAAQ,kBAAmB,CAACzj/B,EAAM6j/B,IAAU,CACxD,qBACG,CAACL,EAAO,CAACC,EAAQ,YAAa,CAACzj/B,EAAM6j/B,IAAU,CAClD,cACG,CAACL,EAAO,CAACC,EAAQ,OAAQ,CAACzj/B,EAAM6j/B,IAAU,CAC7C,mBACG,CAACL,EAAO,CAACC,EAAQ,OAAQ,CAACzj/B,EAAM4j/B,IAAU,CAC7C,wBACG,CAACJ,EAAO,CAACC,EAAQ,SAAU,CAACzj/B,EAAM4j/B,IAAU,CAC/C,mBACG,CAACJ,EAAO,CAACC,EAAQ,SAAU,CAACzj/B,EAAM6j/B,IAAU,CAC/C,wBACG,CAACL,EAAO,CAACC,EAAQ,QAAS,CAACzj/B,EAAM6j/B,IAAU,CAC9C,mBACA,sCACG,CAAC,CAACJ,EAAQ,gBAAiBD,EAAO,CAACxj/B,EAAM6j/B,IAAU,CACtD,sBACG,CAACL,EAAO,CAACC,EAAQ,YAAa,CAACzj/B,EAAM6j/B,IAAU,CAClD,8BACG,CAACL,EAAO,CAACC,EAAQ,YAAa,CAACzj/B,EAAM6j/B,IAAU,CAClD,oDACG,CAAC,CAACJ,EAAQ,SAAUD,EAAO,CAACxj/B,EAAM4j/B,IAAU,CAC/C,2BACG,CAAC,CAACH,EAAQ,SAAUD,EAAO,CAACxj/B,EAAM4j/B,IAAU,CAC/C,cACG,CAACJ,EAAO,CAACC,EAAQ,aAAc,CAACzj/B,EAAM4j/B,IAAU,CACnD,uCACG,CAACJ,EAAO,CAACC,EAAQ,WAAY,CAACzj/B,EAAM6j/B,IAAU,CACjD,wBACG,CAACL,EAAO,CAACC,EAAQ,aAAc,CAACzj/B,EAAM6j/B,IAAU,CACnD,kBACG,CAACL,EAAO,CAACC,EAAQ,SAAU,CAACzj/B,EAAM6j/B,IAAU,CAC/C,wDACG,CAACL,EAAO,CAACC,EAAQoB,GAAS,CAAC7k/B,EAAM6j/B,IAAU,CAC9C,mBACG,CAACJ,EAAQD,EAAO,CAACxj/B,EAAM4j/B,IAAU,CACpC,sBACG,CAAC,CAACJ,EAAO,MAAO,KAAM,CAACC,EAAQkB,GAAY,CAAC3k/B,EAAM4j/B,IAAU,CAC/D,yDACG,CAACJ,EAAO,CAACC,EAAQ4B,GAAQ,CAACrl/B,EAAM6j/B,IAAU,CAC7C,yCACG,CAACL,EAAO,CAACC,EAAQ4B,GAAQ,CAACrl/B,EAAM4j/B,IAAU,CAM7C,wBACG,CAACH,EAAQ,CAACzj/B,EAAM8j/B,IAAW,CAC9B,uBACG,CAAC,CAACN,EAAO,IAAK,WAAY,CAACC,EAAQwB,GAAU,CAACjl/B,EAAM8j/B,IAAW,CAClE,8DACG,CAAC,CAACL,EAAQr4wB,GAAK,CAACprO,EAAM8j/B,IAAW,CACpC,gBACG,CAACL,EAAQ,CAACD,EAAOU,EAAM,OAAQ,CAAClk/B,EAAM8j/B,IAAW,CACpD,UACG,CAAC,CAACN,EAAOc,EAAO,QAAS,CAACb,EAAQe,GAAS,CAACxk/B,EAAM8j/B,IAAW,CAChE,6BACG,CAACN,EAAO,CAACC,EAAQQ,GAAS,CAACjk/B,EAAM8j/B,IAAW,CAC/C,oBACG,CAACN,EAAO,CAACC,EAAQoB,GAAS,CAAC7k/B,EAAM8j/B,IAAW,CAC/C,uBACA,uBACG,CAACN,EAAO,CAACC,EAAQyB,GAAQ,CAACll/B,EAAM8j/B,IAAU,CAC7C,4BACG,CAACN,EAAO,CAACC,EAAQ0B,GAAO,CAACnl/B,EAAM8j/B,IAAW,CAC7C,0BACG,CAACN,EAAO,CAACC,EAAQ2B,GAAS,CAACpl/B,EAAM8j/B,IAAW,CAC/C,6BACG,CAACL,EAAQD,EAAO,CAACxj/B,EAAM8j/B,IAAW,CACrC,0CACA,6DACG,CAAC,CAACL,EAAQ/m/B,GAAO,CAAC8m/B,EAAO9m/B,GAAO,CAACsD,EAAM8j/B,IAAW,CAErD,mDACG,CAACN,EAAO,CAACxj/B,EAAM8j/B,IAAW,CAC7B,mDACG,CAAC,CAAC9j/B,EAAM8j/B,IAAW,CAMtB,UACA,8BACG,CAACL,EAAQD,EAAO,CAACxj/B,EAAM2j/B,IAAW,CACrC,+BACG,CAACH,EAAO,CAACC,EAAQoB,GAAS,CAAC7k/B,EAAM2j/B,IAAW,CAC/C,sBACG,CAACH,EAAO,CAACC,EAAQ0B,GAAO,CAACnl/B,EAAM2j/B,IAAW,CAC7C,sCACG,CAACH,EAAO,CAACC,EAAQkB,GAAY,CAAC3k/B,EAAM2j/B,IAAW,CAMlD,+CACG,CAACH,EAAO,CAACC,EAAQwB,GAAU,CAACjl/B,EAAM+j/B,IAAY,CACjD,iBACA,8DACG,CAACN,EAAQD,EAAO,CAACxj/B,EAAM+j/B,IAAY,CACtC,gCACG,CAACP,EAAO,CAACC,EAAQuB,GAAO,CAAChl/B,EAAM+j/B,IAAY,CAC9C,wCACG,CAACP,EAAO,CAACC,EAAQS,GAAQ,CAAClk/B,EAAM+j/B,IAAY,CAC/C,iBACG,CAACP,EAAO,CAACC,EAAQqB,GAAU,CAAC9k/B,EAAM+j/B,IAAY,CACjD,eACG,CAACP,EAAO,CAACC,EAAQmB,GAAW,CAAC5k/B,EAAM+j/B,IAAY,CAClD,mBACG,CAACP,EAAO,CAACC,EAAQ0B,GAAO,CAACnl/B,EAAM+j/B,IAAY,CAC9C,gBACG,CAACP,EAAO,CAACC,EAAQr4wB,GAAK,CAACprO,EAAM+j/B,IAAY,CAC5C,6BACG,CAACP,EAAO,CAACC,EAAQ4B,GAAQ,CAACrl/B,EAAM+j/B,IAAY,CAM/C,wBACG,CAACP,EAAO,CAACC,EAAQe,GAAS,CAACxk/B,EAAM+j/B,IAAY,CAChD,kCACG,CAACN,EAAQD,EAAO,CAACxj/B,EAAM+j/B,IAAY,CACtC,yBACG,CAACP,EAAO,CAACC,EAAQ6B,GAAW,CAACtl/B,EAAM+j/B,IAAY,CAMlD,wCACG,CAACN,EAAQ,CAACzj/B,EAAMgk/B,IAAY,CAC/B,cACG,CAACR,EAAO,CAACC,EAAQQ,GAAS,CAACjk/B,EAAMgk/B,IAAY,CAChD,sBACG,CAACR,EAAO,CAACC,EAAQS,GAAQ,CAAClk/B,EAAMgk/B,IAAY,CAC/C,gBACG,CAAC,CAAChk/B,EAAMgk/B,IAAY,CAMvB,kEACG,CAACR,EAAO,CAACxj/B,EAAM4j/B,IAAU,CAC5B,+DACG,CAACJ,EAAO,CAACxj/B,EAAM6j/B,IAAU,CAC5B,gDACG,CAAC,CAAC7j/B,EAAM6j/B,IAAU,CACrB,kEACG,CAAC,CAAC7j/B,EAAM4j/B,IAAU,CACrB,oCACG,CAACJ,EAAO,CAACC,EAAQ,aAGxB518B,OAAS,CAAC,CAEN,8BACG,CAACzlB,EAAS,CAACxjC,EAAMohgC,aAAe,CAEnC,wBACG,CAACphgC,EAAMwjC,GAAU,CAEpB,6CACG,CAACA,EAAS,CAACxjC,EAAM,UAAW,CAE/B,uBACA,4EACA,0BACA,yCACA,8BAEA,eACG,CAACA,EAAMwjC,GAAU,CACpB,eACG,CAAC,CAACxjC,EAAM,WAAY,CAEvB,iCACG,CAACwjC,EAASxjC,IAGjBsoD,GAAK,CAAC,CAGF,mCACG,CAACtoD,EAAMwjC,GAAU,CACpB,6DACG,CAACxjC,EAAM,CAACwjC,EAASy99B,GAAWC,KAAqB,CACpD,0BACA,0CACA,wCACG,CAAC,CAAC199B,EAASy99B,GAAWC,IAAoB,CAAClhgC,EAAM,YAAa,CAGjE,uDACA,4CACA,wBACG,CAAC,CAACwjC,EAAS,KAAM,KAAM,CAACxjC,EAAM,QAAS,CAC1C,0BACA,yCACG,CAAC,CAACA,EAAM4ggC,GAAS,CAACp99B,EAAS,KAAM,MAAO,CAG3C,kDACG,CAACA,EAASxjC,GAAO,CACpB,oCACG,CAAC,CAACA,EAAM,OAAQ,YAAawjC,GAAU,CAE1C,wIACG,CAACxjC,EAAMwjC,GAAU,CACpB,cACG,CAACA,EAAS,CAACxjC,EAAMw//B,IAAc,CAClC,+DACG,CAACh89B,EAAS,CAACxjC,EAAM,YAAa,CACjC,mFACG,CAACwjC,EAAS,CAACxjC,EAAM2//B,EAAQ,QAAS,CACrC,kBACA,wCACG,CAACn89B,EAAS,CAACxjC,EAAM,UAAW,CAC/B,wCACG,CAACwjC,EAAS,CAACxjC,EAAM,YAAa,CAGjC,qBACG,CAACwjC,EAAS,CAACxjC,EAAM0//B,EAAO,SAAU,CACrC,oCACG,CAAC,CAAC1//B,EAAM2ggC,GAAcn99B,GAAS,CAGlC,qBACA,iBACA,2BAGA,mDACA,2BAGA,wCACA,yBACA,4BACA,8SAEA,+CACA,oBACA,6EACA,kBACG,CAACxjC,EAAMwjC,GAAU,CACpB,yBACG,CAAC,CAACxjC,EAAM,WAAYwjC,GAAU,CACjC,sCACA,kCACA,mEACA,sBACG,CAACxjC,EAAMwjC,KAQd699B,GAAW,SAAUt78B,EAAImoP,GAOzB,UALWnoP,IAAO048B,IACdvwtB,EAAanoP,EACbA,EAAKv/F,KAGH1F,gBAAgBugjC,IAClB,OAAO,IAAIA,GAASt78B,EAAImoP,GAAY5gP,YAGxC,IAAI6snB,SAAqB13tB,IAAW+7iC,GAAc/7iC,EAAOmpC,UAAanpC,EAAOmpC,UAAYplC,EACrFgjG,EAAMzD,IAAQo0nB,GAAcA,EAAWt0qB,UAAas0qB,EAAWt0qB,UAl4BrD,IAm4BVy7/B,EAASnnV,GAAcA,EAAW3pW,cAAiB2pW,EAAW3pW,cAAgBhqX,EAC9E+6iC,EAAUrztB,EA90BL,SAAUs7T,EAASt7T,GACxB,IAAIsztB,EAAgB,CAAC,EACrB,IAAK,IAAI3hjC,KAAK2ppB,EACNt7T,EAAWruV,IAAMquV,EAAWruV,GAAGP,OAAS,GAAM,EAC9CkijC,EAAc3hjC,GAAKquV,EAAWruV,GAAGyC,OAAOknpB,EAAQ3ppB,IAEhD2hjC,EAAc3hjC,GAAK2ppB,EAAQ3ppB,GAGnC,OAAO2hjC,CACX,CAo0B2BpoiC,CAAOowoB,GAASt7T,GAAcs7T,GACrDi4Z,EAAatnV,GAAcA,EAAWt0qB,WAAa2jD,EAyEvD,OAvEA1oG,KAAKwpG,WAAa,WACd,IAAIJ,EAAW,CAAC,EAShB,OARAA,EAASlqD,GAAQx5C,EACjB0jG,EAAS1mB,GAAWh9E,EACpBw6iC,EAAU1gjC,KAAK4pG,EAAUV,EAAK+38B,EAAQj68B,SACtC4C,EAASy08B,GA9zBF,SAAU3miC,GACjB,cAAcA,IAAa0miC,EAAW1miC,EAAQuI,QAAQ,WA/E5C,IA+E+DkuB,MAAM,KAAK,GAAKjoC,CAC7F,CA4zBsBk7iC,CAASx38B,EAAS1mB,IAEhCi+9B,GAActnV,GAAcA,EAAW15nB,cAAgB05nB,EAAW15nB,MAAMkh9B,SAAWpD,IACnFr08B,EAASlqD,GAAQ,SAEdkqD,CACX,EACAppG,KAAK8gjC,OAAS,WACV,IAAIC,EAAO,CAAC,EAGZ,OAFAA,EAAK/C,GAAgBt4iC,EACrBw6iC,EAAU1gjC,KAAKuhjC,EAAMr48B,EAAK+38B,EAAQJ,KAC3BU,CACX,EACA/gjC,KAAKghjC,UAAY,WACb,IAAIC,EAAU,CAAC,EAaf,OAZAA,EAAQlD,GAAUr4iC,EAClBu7iC,EAAQnD,GAASp4iC,EACjBu7iC,EAAQ3m/B,GAAQ50D,EAChBw6iC,EAAU1gjC,KAAKyhjC,EAASv48B,EAAK+38B,EAAQj8X,QACjCm8X,IAAeM,EAAQ3m/B,IAASkm/B,GAASA,EAAM988B,SAC/Cu98B,EAAQ3m/B,GAAQ4j/B,GAGhByC,GAAgC,aAAlBM,EAAQnD,IAAyBzkV,UAAqBA,EAAW/yqB,aAAeo3/B,GAAcrkV,EAAW6nV,gBAAkB7nV,EAAW6nV,eAAiB,IACrKD,EAAQnD,GAAS,OACjBmD,EAAQ3m/B,GAAQ6j/B,GAEb8C,CACX,EACAjhjC,KAAKkqG,UAAY,WACb,IAAIE,EAAU,CAAC,EAIf,OAHAA,EAAQlrD,GAAQx5C,EAChB0kG,EAAQ1nB,GAAWh9E,EACnBw6iC,EAAU1gjC,KAAK4qG,EAAS1B,EAAK+38B,EAAQt48B,QAC9BiC,CACX,EACApqG,KAAK4pG,MAAQ,WACT,IAAID,EAAM,CAAC,EASX,OARAA,EAAIzqD,GAAQx5C,EACZikG,EAAIjnB,GAAWh9E,EACfw6iC,EAAU1gjC,KAAKmqG,EAAKjB,EAAK+38B,EAAQj58B,IAC7Bm58B,IAAeh38B,EAAIzqD,IAASshgC,GAASA,EAAM548B,UAA8B,WAAlB448B,EAAM548B,WAC7D+B,EAAIzqD,GAAQshgC,EAAM548B,SACGnoF,QAAQ,aAAcogiC,GACtBpgiC,QAAQ,SAAUqgiC,IAEpCn28B,CACX,EACA3pG,KAAKwsG,UAAY,WACb,MAAO,CACHvH,GAAUjlG,KAAKspG,QACf9C,QAAUxmG,KAAKwpG,aACfrB,OAAUnoG,KAAKkqG,YACf1C,GAAUxnG,KAAK4pG,QACf46kB,OAAUxkrB,KAAKghjC,YACfX,IAAUrgjC,KAAK8gjC,SAEvB,EACA9gjC,KAAKspG,MAAQ,WACT,OAAOZ,CACX,EACA1oG,KAAKmhjC,MAAQ,SAAUl88B,GAEnB,OADAyD,SAAczD,IAAO248B,GAAY348B,EAAGzmG,OAv7BxB,IAu7BkDw4D,EAAKiuC,EAv7BvD,KAu7B4EA,EACjFjlG,IACX,EACAA,KAAKmhjC,MAAMz48B,GACJ1oG,IACX,EAEAugjC,GAAS799B,QAl9BS,SAm9BlB699B,GAAS5B,QAAWqB,EAAU,CAAC9ggC,EAAMwjC,EAASm79B,IAC9C0C,GAASa,IAAMpB,EAAU,CAAChC,IAC1BuC,GAASc,OAASrB,EAAU,CAAClC,EAAOC,EAAQzj/B,EAAM2j/B,EAASC,EAAQE,EAASD,EAAQE,EAAUC,IAC9FiC,GAASe,OAASf,GAASgB,GAAKvB,EAAU,CAAC9ggC,EAAMwjC,WAOtCxwC,IAAawrgC,GAEgBzrgC,EAAOC,UACvCA,EAAUD,EAAOC,QAAUqugC,IAE/BrugC,EAAQqugC,SAAWA,IAGiB9ruB,EAAAA,MAChCA,EAAAA,WACI,OAAO8ruB,EACV,2CACa5+iC,IAAW+7iC,IAEzB/7iC,EAAO4+iC,SAAWA,IAS1B,IAAIrzpB,UAAWvrZ,IAAW+7iC,IAAe/7iC,EAAO6/iC,QAAU7/iC,EAAO8/iC,OACjE,GAAIv0pB,KAAMA,GAAEjoT,GAAI,CACZ,IAAIr0B,GAAS,IAAI2v+B,GACjBrzpB,GAAEjoT,GAAKr0B,GAAO47B,YACd0gT,GAAEjoT,GAAGzgG,IAAM,WACP,OAAOosE,GAAO04B,OAClB,EACA4jT,GAAEjoT,GAAG1gG,IAAM,SAAU0gG,GACjBr0B,GAAOuw+B,MAAMl88B,GACb,IAAIhlG,EAAS2wE,GAAO47B,YACpB,IAAK,IAAI/4F,KAAQxT,EACbitZ,GAAEjoT,GAAGxxF,GAAQxT,EAAOwT,EAE5B,CACJ,CAEH,CA7gCD,CA6gCqB,iBAAX9R,OAAsBA,OAAS3B,K,gBCrhCzCkyC,EAAQ,EAAe,SAAUvlC,GAC/B,OAAO5O,OAAOw2C,eAAe,WAAY,IAAAu/T,EAAA9xW,UAAAsI,EAAA,KACvC,GAA+C,mBAApCtI,UAAUA,UAAUxD,OAAS,GAEtC,OAAO,IAAIqI,QAAQ,SAACC,EAASC,GAC3B/E,EAAUA,EAAUxD,QAAU,SAAC0G,EAAKisD,GAClC,GAAIjsD,EAAK,OAAO6B,EAAO7B,GACvB4B,EAAQqqD,EACV,EACAnvD,EAAUxD,SACVmO,EAAG3E,MAAMsC,EAAMtI,EACjB,GATyD2K,EAAG3E,MAAMhI,KAAMgC,UAW5E,EAAG,OAAQ,CAAE3C,MAAOsN,EAAG9P,MACzB,EAEAq1C,EAAQ,EAAc,SAAUvlC,GAC9B,OAAO5O,OAAOw2C,eAAe,WAC3B,IAAM+nB,EAAKt6D,UAAUA,UAAUxD,OAAS,GACxC,GAAkB,mBAAP89D,EAAmB,OAAO3vD,EAAG3E,MAAMhI,KAAMgC,WAC/C2K,EAAG3E,MAAMhI,KAAMgC,WAAWF,KAAK,SAAA8nD,GAAC,OAAI0S,EAAG,KAAM1S,EAAE,EAAE0S,EACxD,EAAG,OAAQ,CAAEj9D,MAAOsN,EAAG9P,MACzB,C;;aCxBA,SAAAqyC,I,2BAAyBwygC,EAAzBjtiC,MAAAwB,GAAAtG,EAAA,EAAAA,EAAAsG,EAAAtG,I,EAAAA,GAAA3N,UAAA2N,G,GACK+xiC,EAAKljjC,OAAS,EAAG,C,EACf,GAAKkjjC,EAAK,GAAG9siC,MAAM,GAAI,G,QACtBmvP,EAAK29yB,EAAKljjC,OAAS,EAChBsW,EAAI,EAAGA,EAAIivP,IAAMjvP,E,EACpBA,GAAK4siC,EAAK5siC,GAAGF,MAAM,GAAI,G,SAExBmvP,GAAM29yB,EAAK39yB,GAAInvP,MAAM,GACnB8siC,EAAK51/B,KAAK,G,QAEV41/B,EAAK,E,CAId,SAAAC,EAAuB7hjC,G,MACf,MAAQA,EAAM,G,CAGtB,SAAAgpE,EAAuB/L,G,YACTr3D,IAANq3D,EAAkB,YAAqB,OAANA,EAAa,OAASh/D,OAAOC,UAAUF,SAAS0B,KAAKu9D,GAAGpvB,MAAM,KAAK4vB,MAAM5vB,MAAM,KAAKgwB,QAAQj+C,a,CAGrI,SAAAynE,EAA4BrnF,G,OACpBA,EAAIqnF,a,CAGZ,SAAAs2J,EAAwBlgN,G,OAChBA,QAAqCA,aAAe9oB,MAAQ8oB,EAA6B,iBAAfA,EAAI/+B,QAAuB++B,EAAIoQ,OAASpQ,EAAI80C,aAAe90C,EAAI/9B,KAAO,CAAC+9B,GAAO9oB,MAAMzW,UAAU4W,MAAMpV,KAAK+9B,GAAS,E,CAIpM,SAAAulD,EAAuBh6E,EAAgB8sC,G,IAChCrY,EAAMz0B,E,GACR8sC,E,IACE,IAAMt0C,KAAOs0C,E,EACbt0C,GAAOs0C,EAAOt0C,G,OAGbi8B,C,CCnCR,SAAAqkhC,EAA0BC,G,IAExBC,EAAU,WAEVC,EAAU,QAEVC,EAAW9ygC,EAAM6ygC,EAAS,YAG1BE,EAAeN,EAAOA,EAAO,UAAYK,EAAW,IAAMA,EAAWA,EAAW,IAAMA,EAAWA,GAAY,IAAML,EAAO,cAAgBK,EAAW,IAAMA,EAAWA,GAAY,IAAML,EAAO,IAAMK,EAAWA,IAEhNE,EAAe,sCACfC,EAAajzgC,EAFE,0BAEkBgzgC,G,EAEpBL,EAAQ,oBAAsB,K,EAC5B3ygC,EAAM4ygC,EAASC,EAAS,iBAF3BF,EAAQ,8EAAgF,MAGpGO,EAAUT,EAAOG,EAAU5ygC,EAAM4ygC,EAASC,EAAS,eAAiB,KACpEM,EAAYV,EAAOA,EAAOM,EAAe,IAAM/ygC,EAAMozgC,EAAcJ,EAAc,UAAY,KAE7FK,GADaZ,EAAOA,EAAO,WAAa,IAAMA,EAAO,SAAWI,GAAW,IAAMJ,EAAO,IAAMI,EAAUA,GAAW,IAAMJ,EAAO,QAAUI,GAAW,IAAMA,GACtIJ,EAAOA,EAAO,WAAa,IAAMA,EAAO,SAAWI,GAAW,IAAMJ,EAAO,IAAMI,EAAUA,GAAW,IAAMJ,EAAO,UAAYI,GAAW,QAAUA,I,EAC1JJ,EAAOY,EAAqB,MAAQA,EAAqB,MAAQA,EAAqB,MAAQA,GAC7GC,EAAOb,EAAOK,EAAW,SACzBS,EAAQd,EAAOA,EAAOa,EAAO,MAAQA,GAAQ,IAAME,GACnDC,EAAgBhB,EAAmEA,EAAOa,EAAO,OAAS,MAAQC,G,EAClGd,EAAwD,SAAWA,EAAOa,EAAO,OAAS,MAAQC,G,EAClGd,EAAOA,EAAwCa,GAAQ,UAAYb,EAAOa,EAAO,OAAS,MAAQC,G,EAClGd,EAAOA,EAAOA,EAAOa,EAAO,OAAS,QAAUA,GAAQ,UAAYb,EAAOa,EAAO,OAAS,MAAQC,G,EAClGd,EAAOA,EAAOA,EAAOa,EAAO,OAAS,QAAUA,GAAQ,UAAYb,EAAOa,EAAO,OAAS,MAAQC,G,EAClGd,EAAOA,EAAOA,EAAOa,EAAO,OAAS,QAAUA,GAAQ,UAAmBA,EAAO,MAAiBC,G,EAClGd,EAAOA,EAAOA,EAAOa,EAAO,OAAS,QAAUA,GAAQ,UAA2CC,G,EAClGd,EAAOA,EAAOA,EAAOa,EAAO,OAAS,QAAUA,GAAQ,UAA2CA,G,EAClGb,EAAOA,EAAOA,EAAOa,EAAO,OAAS,QAAUA,GAAQ,W,EACxDb,EAAO,CAACgB,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,EAAeC,GAAer3/B,KAAK,MACnKs3/B,EAAUzB,EAAOA,EAAOW,EAAe,IAAML,GAAgB,K,GAChDN,EAAO0B,EAAe,QAAUD,GACxBzB,EAAO0B,EAAe1B,EAAO,eAAiBK,EAAW,QAAUoB,I,EAC3EzB,EAAO,OAASK,EAAW,OAAS9ygC,EAAMozgC,EAAcJ,EAAc,SAAW,KAC9FoB,EAAc3B,EAAO,MAAQA,EAAO4B,EAAqB,IAAMF,EAAe,IAAMG,GAAc,O,EACtF7B,EAAOA,EAAOM,EAAe,IAAM/ygC,EAAMozgC,EAAcJ,IAAiB,KACpFuB,EAAQ9B,EAAO2B,EAAc,IAAMZ,EAAe,MAAQgB,EAA3CJ,KAAmEI,GAClFC,EAAQhC,EAAOI,EAAU,KACzB6B,EAAajC,EAAOA,EAAOU,EAAY,KAAO,IAAMoB,EAAQ9B,EAAO,MAAQgC,GAAS,KACpFE,EAASlC,EAAOM,EAAe,IAAM/ygC,EAAMozgC,EAAcJ,EAAc,aACvE4B,EAAWnC,EAAOkC,EAAS,KAC3BE,EAAcpC,EAAOkC,EAAS,KAC9BG,EAAiBrC,EAAOA,EAAOM,EAAe,IAAM/ygC,EAAMozgC,EAAcJ,EAAc,UAAY,KAClG+B,EAAgBtC,EAAOA,EAAO,MAAQmC,GAAY,KAClDI,EAAiBvC,EAAO,MAAQA,EAAOoC,EAAcE,GAAiB,K,EACrDtC,EAAOqC,EAAiBC,G,EACxBtC,EAAOoC,EAAcE,G,EACxB,MAAQJ,EAAS,IAE/BM,GADQxC,EAAOsC,EAAgB,IAAMC,EAAiB,IAAME,EAAiB,IAAMC,EAAiB,IAAMC,GACjG3C,EAAOA,EAAOkC,EAAS,IAAM30gC,EAAM,WAAYq1gC,IAAe,MACvEC,EAAY7C,EAAOA,EAAOkC,EAAS,aAAe,KAClDY,EAAa9C,EAAOA,EAAO,SAAWiC,EAAaK,GAAiB,IAAMC,EAAiB,IAAMG,EAAiB,IAAMC,GACxHI,EAAO/C,EAAOS,EAAU,MAAQqC,EAAa9C,EAAO,MAAQwC,GAAU,IAAMxC,EAAO,MAAQ6C,GAAa,KACxGG,EAAiBhD,EAAOA,EAAO,SAAWiC,EAAaK,GAAiB,IAAMC,EAAiB,IAAME,EAAiB,IAAME,GAC5HM,EAAYjD,EAAOgD,EAAiBhD,EAAO,MAAQwC,GAAU,IAAMxC,EAAO,MAAQ6C,GAAa,K,OAC9E7C,EAAO+C,EAAO,IAAME,GACrBjD,EAAOS,EAAU,MAAQqC,EAAa9C,EAAO,MAAQwC,GAAU,KAEtCxC,EAAOA,EAAO,UAAYA,EAAO,IAAMU,EAAY,MAAQ,KAAOoB,EAAQ,IAAM9B,EAAO,OAASgC,EAAQ,KAAO,MAAQ,KAAOM,EAAgB,IAAMC,EAAiB,IAAMG,EAAiB,IAAMC,EAAc,KAAO3C,EAAO,OAASwC,EAAS,KAAaxC,EAAO,OAAS6C,EAAY,KACvS7C,EAAOA,EAAO,UAAYA,EAAO,IAAMU,EAAY,MAAQ,KAAOoB,EAAQ,IAAM9B,EAAO,OAASgC,EAAQ,KAAO,MAAQ,KAAOM,EAAgB,IAAMC,EAAiB,IAAME,EAAiB,IAAME,EAAc,KAAO3C,EAAO,OAASwC,EAAS,KAAaxC,EAAO,OAAS6C,EAAY,KAC1Q7C,EAAOA,EAAO,UAAYA,EAAO,IAAMU,EAAY,MAAQ,KAAOoB,EAAQ,IAAM9B,EAAO,OAASgC,EAAQ,KAAO,MAAQ,KAAOM,EAAgB,IAAMC,EAAiB,IAAMG,EAAiB,IAAMC,EAAc,KAAO3C,EAAO,OAASwC,EAAS,KACrQxC,EAAO,OAAS6C,EAAY,KAC1B7C,EAAO,IAAMU,EAAY,MAA6BV,EAAO,OAASgC,EAAQ,KAG/F,C,WACO,IAAIp7+B,OAAOr5B,EAAM,MAAO4ygC,EAASC,EAAS,eAAgB,K,aACxD,IAAIx5+B,OAAOr5B,EAAM,YAAaozgC,EAAcJ,GAAe,K,SAC/D,IAAI35+B,OAAOr5B,EAAM,kBAAmBozgC,EAAcJ,GAAe,K,SACjE,IAAI35+B,OAAOr5B,EAAM,kBAAmBozgC,EAAcJ,GAAe,K,kBACxD,IAAI35+B,OAAOr5B,EAAM,eAAgBozgC,EAAcJ,GAAe,K,UACtE,IAAI35+B,OAAOr5B,EAAM,SAAUozgC,EAAcJ,EAAc,iBAAkBqC,GAAa,K,aACnF,IAAIh8+B,OAAOr5B,EAAM,SAAUozgC,EAAcJ,EAAc,kBAAmB,K,OAChF,IAAI35+B,OAAOr5B,EAAM,MAAOozgC,EAAcJ,GAAe,K,WACjD,IAAI35+B,OAAO+5+B,EAAc,K,YACxB,IAAI/5+B,OAAOr5B,EAAM,SAAUozgC,EAAcH,GAAa,K,YACtD,IAAI55+B,OAAO05+B,EAAc,K,YACzB,IAAI15+B,OAAO,KAAOm6+B,EAAe,M,YACjC,IAAIn6+B,OAAO,SAAW86+B,EAAe,IAAM1B,EAAOA,EAAO,eAAiBK,EAAW,QAAU,IAAMoB,EAAU,KAAO,U,CAItI,IAAAyB,EAAejD,GAAU,GCrFzBkD,EAAelD,GAAU,G,+hBCAnBl6X,EAAS,WAGTn8mB,EAAO,GACP03jB,EAAO,EACPC,EAAO,GACPllC,EAAO,GACP+md,EAAO,IACPC,EAAc,GACdC,EAAW,IACXno1B,EAAY,IAGZ6qd,EAAgB,QAChBC,EAAgB,aAChBC,EAAkB,4BAGlBz4oB,EAAS,C,SACF,kD,YACC,iD,gBACI,iBAIZo5oB,EAAgBj9mB,EAAO03jB,EACvBtmnB,EAAQD,KAAKC,MACbmrqB,EAAqBrmrB,OAAOowD,aAUlC,SAASqz/B,EAAMnljC,G,MACR,IAAIytD,WAAWpe,EAAOrvC,G,CAW7B,SAASoP,EAAI8F,EAAOtI,G,QACb1M,EAAS,GACXzB,EAASyW,EAAMzW,OACZA,K,EACCA,GAAUmO,EAAGsI,EAAMzW,I,OAEpByB,C,CAaR,SAAS8nrB,EAAU/5nB,EAAQrhD,G,IACpBlQ,EAAQuxD,EAAOrgB,MAAM,KACvB1tC,EAAS,G,OACTxD,EAAM+B,OAAS,I,EAGT/B,EAAM,GAAK,I,EACXA,EAAM,IAMTwD,EADSkP,G,EAFP6+C,EAAOvuC,QAAQooqB,EAAiB,MACnBl6oB,MAAM,KACAhhC,GAAIm/C,KAAK,I,CAiBtC,SAASm8nB,EAAWj6nB,G,QACb9B,EAAS,GACX9I,EAAU,EACR5kD,EAASwvD,EAAOxvD,OACf4kD,EAAU5kD,GAAQ,C,IAClBa,EAAQ2uD,EAAOjN,WAAWqC,K,GAC5B/jD,GAAS,OAAUA,GAAS,OAAU+jD,EAAU5kD,EAAQ,C,IAErDwpnB,EAAQh6jB,EAAOjN,WAAWqC,KACR,QAAX,MAAR4kkB,G,EACGlknB,OAAe,KAARzE,IAAkB,KAAe,KAAR2onB,GAAiB,Q,EAIjDlknB,KAAKzE,G,YAINyE,KAAKzE,E,QAGP6sD,C,CAWR,IAAMg8nB,EAAa,SAAAjzqB,G,OAASxT,OAAO8yV,cAAPvsV,MAAAvG,OAAA0jjC,EAAwBlwiC,G,EAW9CkzqB,EAAe,SAAS12nB,G,OACzBA,EAAY,GAAO,GACfA,EAAY,GAEhBA,EAAY,GAAO,GACfA,EAAY,GAEhBA,EAAY,GAAO,GACfA,EAAY,GAEb8Z,C,EAcF68mB,EAAe,SAASC,EAAO7sd,G,OAG7B6sd,EAAQ,GAAK,IAAMA,EAAQ,MAAgB,GAAR7sd,IAAc,E,EAQnD8sd,EAAQ,SAASxilB,EAAOyilB,EAAW5jC,G,IACpCxnmB,EAAI,E,MACAwnmB,EAAYhooB,EAAMmpF,EAAQi/8B,GAAQj/8B,GAAS,E,GAC1CnpF,EAAMmpF,EAAQyilB,GACOzilB,EAAQ0ilB,EAAgBtlD,GAAQ,EAAG/llB,GAAKouB,E,EAC7D5uD,EAAMmpF,EAAQ0ilB,G,OAEhB7rqB,EAAMwgC,GAAKqroB,EAAgB,GAAK1ilB,GAASA,EAAQk4f,G,EAUnDn6hB,EAAS,SAASC,G,IAEjB5X,EAAS,GACT85V,EAAcliV,EAAMtlE,OACtBO,EAAI,EACJiG,EAAIigjC,EACJx8X,EAAOu8X,EAMPt8X,EAAQ5knB,EAAMvU,YAAYutK,GAC1B4rd,EAAQ,I,EACH,G,IAGJ,IAAIt0pB,EAAI,EAAGA,EAAIs0pB,IAASt0pB,EAExB0vC,EAAM/iB,WAAW3sB,IAAM,K,EACpB,a,EAEAtwB,KAAKggE,EAAM/iB,WAAW3sB,I,IAMzB,IAAIhqB,EAAQs+qB,EAAQ,EAAIA,EAAQ,EAAI,EAAGt+qB,EAAQ47Y,GAAwC,C,QAOvF2iS,EAAO5prB,EACF24C,EAAI,EAAGyF,EAAIouB,GAA0BpuB,GAAKouB,EAAM,CAEpDnhE,GAAS47Y,G,EACN,iB,IAGDqiS,EAAQF,EAAarknB,EAAM/iB,WAAW32C,OAExCi+qB,GAAS98mB,GAAQ88mB,EAAQ1rqB,GAAO+qqB,EAAS3orB,GAAK24C,K,EAC3C,Y,GAGF2woB,EAAQ3woB,E,IACPj8B,EAAI0hC,GAAKsroB,EAAOxlD,EAAQ9llB,GAAKsroB,EAAOvlD,EAAOA,EAAO/llB,EAAIsroB,E,GAExDJ,EAAQ5sqB,E,UAINmtqB,EAAar9mB,EAAO9vD,EACtBi8B,EAAI/6B,EAAM+qqB,EAASkB,I,EAChB,Y,GAGFA,C,KAIA9yoB,EAAMoW,EAAO1tD,OAAS,E,EACrB8prB,EAAMvprB,EAAI4prB,EAAM7yoB,EAAa,GAAR6yoB,GAIxBhsqB,EAAM5d,EAAI+2C,GAAO4xoB,EAAS1irB,G,EACvB,Y,GAGF2X,EAAM5d,EAAI+2C,G,GACVA,E,EAGEhX,OAAO//B,IAAK,EAAGiG,E,QAIhBvD,OAAO8yV,cAAPvsV,MAAAvG,OAAwByqD,E,EAU1BiY,EAAS,SAASL,G,IACjB5X,EAAS,GAMX85V,G,EAHIiiS,EAAWnknB,IAGKtlE,OAGpBwG,EAAIigjC,EACJn/8B,EAAQ,EACR2ilB,EAAOu8X,E,+BAGXrgjC,E,EAA2Bm/D,EAA3B9rB,OAAA3wC,cAAA+9iC,GAAAzgjC,EAAAE,EAAAuH,QAAAnH,MAAAmgjC,GAAA,EAAkC,C,IAAvB35W,EAAuB9msB,EAAAtF,MAC7BossB,EAAe,K,EACX3nsB,KAAKgkrB,EAAmB2jB,G,mFAI7B5iB,EAAc38nB,EAAO1tD,OACrBsqrB,EAAiBD,E,IAMjBA,G,EACI/krB,KAAKg5N,GAINgsd,EAAiB9iS,GAAa,C,IAIhC15V,EAAIo7nB,E,+BACR50qB,E,EAA2BgxD,EAA3B9rB,OAAA3wC,cAAAg+iC,GAAAvyiC,EAAAC,EAAA3G,QAAAnH,MAAAogjC,GAAA,EAAkC,C,IAAvBtqiC,EAAuBjI,EAAAzT,MAC7B0b,GAAgB/V,GAAK+V,EAAeuxC,I,EACnCvxC,E,mFAMAguqB,EAAwBD,EAAiB,EAC3Cx8nB,EAAItnD,EAAI2X,GAAO+qqB,EAAS5hlB,GAASijlB,I,EAC9B,Y,IAGGz8nB,EAAItnD,GAAK+jrB,E,EACfz8nB,E,mCAEJt5C,E,EAA2B8wD,EAA3B9rB,OAAA3wC,cAAAi+iC,GAAAtyiC,EAAAC,EAAA7G,QAAAnH,MAAAqgjC,GAAA,EAAkC,C,IAAvBroX,EAAuBjqrB,EAAA3T,M,GAC7B49rB,EAAej4rB,KAAO8gG,EAAQ4hlB,G,EAC3B,YAEHuV,GAAgBj4rB,EAAG,C,QAElBq8I,EAAIv7C,EACC3oD,EAAIouB,GAA0BpuB,GAAKouB,EAAM,C,IAC3C9vD,EAAI0hC,GAAKsroB,EAAOxlD,EAAQ9llB,GAAKsroB,EAAOvlD,EAAOA,EAAO/llB,EAAIsroB,E,GACxDpniB,EAAI5lI,E,UAGFutqB,EAAU3niB,EAAI5lI,EACdmtqB,EAAar9mB,EAAO9vD,E,EACnB3X,KACNgkrB,EAAmBM,EAAa3sqB,EAAIutqB,EAAUJ,EAAY,K,EAEvDjsqB,EAAMqsqB,EAAUJ,E,GAGd9krB,KAAKgkrB,EAAmBM,EAAa/miB,EAAG,K,EACxCiniB,EAAMxilB,EAAOijlB,EAAuBD,GAAkBD,G,EACrD,IACNC,C,kFAIFhjlB,IACA9gG,C,QAGIknD,EAAOJ,KAAK,G,EAcdm9nB,EAAY,SAASnlnB,G,OACnBiknB,EAAUjknB,EAAO,SAAS9V,G,OACzB25nB,EAAclnrB,KAAKutD,GACvB6V,EAAO7V,EAAOp5C,MAAM,GAAG8K,eACvBsuC,C,IAeCk7nB,EAAU,SAASplnB,G,OACjBiknB,EAAUjknB,EAAO,SAAS9V,G,OACzB45nB,EAAcnnrB,KAAKutD,GACvB,OAASmW,EAAOnW,GAChBA,C,IAOCws/B,EAAW,C,QAML,Q,KAQH,C,OACGvyX,E,OACAC,G,OAEDrknB,E,OACAM,E,QACC+knB,E,UACED,GC5VDs8X,EAA6C,CAAC,EAE3D,SAAAC,EAA2Bzuf,G,IACpB9ihB,EAAI8ihB,EAAIh2gB,WAAW,G,OAGrB9M,EAAI,GAAQ,KAAOA,EAAEn2C,SAAS,IAAIqpF,cAC7BlzC,EAAI,IAAS,IAAMA,EAAEn2C,SAAS,IAAIqpF,cAClClzC,EAAI,KAAU,KAAQA,GAAK,EAAK,KAAKn2C,SAAS,IAAIqpF,cAAgB,KAAY,GAAJlzC,EAAU,KAAKn2C,SAAS,IAAIqpF,cACtG,KAAQlzC,GAAK,GAAM,KAAKn2C,SAAS,IAAIqpF,cAAgB,KAASlzC,GAAK,EAAK,GAAM,KAAKn2C,SAAS,IAAIqpF,cAAgB,KAAY,GAAJlzC,EAAU,KAAKn2C,SAAS,IAAIqpF,a,CAK9J,SAAAs+9B,EAA4B3ljC,G,QACvB4ljC,EAAS,GACT3mjC,EAAI,EACF8mb,EAAK/lb,EAAItB,OAERO,EAAI8mb,GAAI,C,IACR5xY,EAAIxX,SAAS38B,EAAIswD,OAAOrxD,EAAI,EAAG,GAAI,I,GAErCk1C,EAAI,I,GACGxyC,OAAOowD,aAAa5d,G,GACzB,OAED,GAAIA,GAAK,KAAOA,EAAI,IAAK,C,GACxB4xY,EAAK9mb,GAAM,EAAG,C,IACZ0gP,EAAKhjN,SAAS38B,EAAIswD,OAAOrxD,EAAI,EAAG,GAAI,I,GAChC0C,OAAOowD,cAAmB,GAAJ5d,IAAW,EAAW,GAALwrM,E,SAEvC3/O,EAAIswD,OAAOrxD,EAAG,G,GAEpB,C,MAED,GAAIk1C,GAAK,IAAK,C,GACb4xY,EAAK9mb,GAAM,EAAG,C,IACZ8oD,EAAKprB,SAAS38B,EAAIswD,OAAOrxD,EAAI,EAAG,GAAI,IACpC88R,EAAKp/P,SAAS38B,EAAIswD,OAAOrxD,EAAI,EAAG,GAAI,I,GAChC0C,OAAOowD,cAAmB,GAAJ5d,IAAW,IAAa,GAAL4T,IAAY,EAAW,GAALg0O,E,SAE3D/7R,EAAIswD,OAAOrxD,EAAG,G,GAEpB,C,SAGKe,EAAIswD,OAAOrxD,EAAG,G,GACnB,C,QAIA2mjC,C,CAGR,SAAAC,EAAqCtj2B,EAA0B3sL,G,SAC/DkwhC,EAA2B9ljC,G,IACnB+ljC,EAASJ,EAAY3ljC,G,OAClB+ljC,EAAOlljC,MAAM+0B,EAASowhC,YAAoBD,EAAN/ljC,C,QAG1CuiN,EAAWxa,SAAQwa,EAAWxa,OAASpmM,OAAO4gN,EAAWxa,QAAQpoL,QAAQiW,EAASqwhC,YAAaH,GAAkBlmiC,cAAcD,QAAQiW,EAASswhC,WAAY,UACpItgjC,IAAxB28M,EAAW4j2B,WAAwB5j2B,EAAW4j2B,SAAWxkjC,OAAO4gN,EAAW4j2B,UAAUxmiC,QAAQiW,EAASqwhC,YAAaH,GAAkBnmiC,QAAQiW,EAASwwhC,aAAcV,GAAY/liC,QAAQiW,EAASqwhC,YAAa5+9B,SAC1LzhF,IAApB28M,EAAWrgM,OAAoBqgM,EAAWrgM,KAAOvgB,OAAO4gN,EAAWrgM,MAAMvC,QAAQiW,EAASqwhC,YAAaH,GAAkBlmiC,cAAcD,QAAQiW,EAASywhC,SAAUX,GAAY/liC,QAAQiW,EAASqwhC,YAAa5+9B,SACxLzhF,IAApB28M,EAAWtiM,OAAoBsiM,EAAWtiM,KAAOte,OAAO4gN,EAAWtiM,MAAMN,QAAQiW,EAASqwhC,YAAaH,GAAkBnmiC,QAAS4iM,EAAWxa,OAASnyK,EAAS0whC,SAAW1whC,EAAS2whC,kBAAoBb,GAAY/liC,QAAQiW,EAASqwhC,YAAa5+9B,SAC5NzhF,IAArB28M,EAAWj8H,QAAqBi8H,EAAWj8H,MAAQ3kF,OAAO4gN,EAAWj8H,OAAO3mE,QAAQiW,EAASqwhC,YAAaH,GAAkBnmiC,QAAQiW,EAAS4whC,UAAWd,GAAY/liC,QAAQiW,EAASqwhC,YAAa5+9B,SAC1KzhF,IAAxB28M,EAAWvsD,WAAwBusD,EAAWvsD,SAAWr0J,OAAO4gN,EAAWvsD,UAAUr2I,QAAQiW,EAASqwhC,YAAaH,GAAkBnmiC,QAAQiW,EAAS6whC,aAAcf,GAAY/liC,QAAQiW,EAASqwhC,YAAa5+9B,IAE3Mk7H,C,CAGR,SAAAmk2B,EAA4B1mjC,G,OACpBA,EAAI2f,QAAQ,UAAW,OAAS,G,CAGxC,SAAAgniC,EAAwBzkiC,EAAa0T,G,IAC9BuiF,EAAUj2F,EAAKrhB,MAAM+0B,EAASgxhC,cAAgB,GAC3Cz76B,E,EAAWhzB,EAFrB,M,OAIKgzB,EACIA,EAAQt9F,MAAM,KAAKx+B,IAAIq3iC,GAAoB16/B,KAAK,KAEhD9pC,C,CAIT,SAAA2kiC,EAAwB3kiC,EAAa0T,G,IAC9BuiF,EAAUj2F,EAAKrhB,MAAM+0B,EAASkxhC,cAAgB,G,IAC1B3u8B,EAF3B,GAEUgzB,EAFV476B,EAAA,GAEmBvqjB,EAFnBuqjB,EAAA,G,GAIK576B,EAAS,C,UACUA,EAAQvrH,cAAciuB,MAAM,MAAM0vB,U,SAAjDtX,EADK+ggC,EAAA,GACC7y5B,EADD6y5B,EAAA,GAENC,EAAc9y5B,EAAQA,EAAMtmH,MAAM,KAAKx+B,IAAIq3iC,GAAsB,GACjEQ,EAAajhgC,EAAKpY,MAAM,KAAKx+B,IAAIq3iC,GACjCS,EAAyBvxhC,EAASgxhC,YAAYjmjC,KAAKumjC,EAAWA,EAAWxojC,OAAS,IAClF0ojC,EAAaD,EAAyB,EAAI,EAC1CE,EAAkBH,EAAWxojC,OAAS0ojC,EACtC5+6B,EAAS7zH,MAAcyyiC,GAEpBpyiC,EAAI,EAAGA,EAAIoyiC,IAAcpyiC,E,EAC1BA,GAAKiyiC,EAAYjyiC,IAAMkyiC,EAAWG,EAAkBryiC,IAAM,GAG9DmyiC,I,EACIC,EAAa,GAAKT,EAAen+6B,EAAO4+6B,EAAa,GAAIxxhC,I,IAe3D0xhC,EAZgB9+6B,EAAOnyH,OAA4C,SAACujF,EAAKwjH,EAAO9yM,G,IAChF8yM,GAAmB,MAAVA,EAAe,C,IACtBmq2B,EAAc3t9B,EAAIA,EAAIl7F,OAAS,GACjC6ojC,GAAeA,EAAYj9iC,MAAQi9iC,EAAY7ojC,SAAW4L,E,EACjD5L,S,EAERsF,KAAK,CAAEsG,MAAAA,EAAO5L,OAAS,G,QAGtBk7F,C,EACL,IAEqCr0F,KAAK,SAACC,EAAGC,G,OAAMA,EAAE/G,OAAS8G,EAAE9G,M,GAAQ,GAExE8ojC,OAAA,E,GACAF,GAAqBA,EAAkB5ojC,OAAS,EAAG,C,IAChD+ojC,EAAWj/6B,EAAO1zH,MAAM,EAAGwyiC,EAAkBh9iC,OAC7Co9iC,EAAUl/6B,EAAO1zH,MAAMwyiC,EAAkBh9iC,MAAQg9iC,EAAkB5ojC,Q,EAC/D+ojC,EAASz7/B,KAAK,KAAO,KAAO07/B,EAAQ17/B,KAAK,I,QAEzCw8E,EAAOx8E,KAAK,K,OAGnBwwc,I,GACQ,IAAMA,GAGXgrjB,C,QAEAtliC,C,CAIT,IAAMyliC,EAAY,kIACZC,OAAuEhijC,IAA3B,GAAI/E,MAAM,SAAU,GAEtE,SAAAL,EAAsBqnjC,G,IAAkB3hjC,EAAxChE,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAA6D,CAAC,EACvDqgN,EAA2B,CAAC,EAC5B3sL,GAA4B,IAAhB1vB,EAAQ4hjC,IAAgB9C,EAAeD,EAE/B,WAAtB7+iC,EAAQggJ,YAAwB2h6B,GAAa3hjC,EAAQ6hM,OAAS7hM,EAAQ6hM,OAAS,IAAM,IAAM,KAAO8/2B,G,IAEhG1v8B,EAAU0v8B,EAAUhnjC,MAAM8mjC,G,GAE5Bxv8B,EAAS,CACRyv8B,G,EAEQ7/2B,OAAS5vF,EAAQ,G,EACjBgu8B,SAAWhu8B,EAAQ,G,EACnBj2F,KAAOi2F,EAAQ,G,EACfx2D,KAAOhlB,SAASw7E,EAAQ,GAAI,I,EAC5Bl4F,KAAOk4F,EAAQ,IAAM,G,EACrB7xB,MAAQ6xB,EAAQ,G,EAChB69C,SAAW79C,EAAQ,GAG1BjjG,MAAMqtM,EAAW5gK,Q,EACTA,KAAOw2D,EAAQ,M,EAIhB4vF,OAAS5vF,EAAQ,SAAMvyG,E,EACvBugjC,UAAwC,IAA5B0B,EAAU3ojC,QAAQ,KAAci5G,EAAQ,QAAKvyG,E,EACzDsc,MAAqC,IAA7B2liC,EAAU3ojC,QAAQ,MAAei5G,EAAQ,QAAKvyG,E,EACtD+7C,KAAOhlB,SAASw7E,EAAQ,GAAI,I,EAC5Bl4F,KAAOk4F,EAAQ,IAAM,G,EACrB7xB,OAAqC,IAA5Buh+B,EAAU3ojC,QAAQ,KAAci5G,EAAQ,QAAKvyG,E,EACtDowJ,UAAwC,IAA5B6x5B,EAAU3ojC,QAAQ,KAAci5G,EAAQ,QAAKvyG,EAGhEsP,MAAMqtM,EAAW5gK,Q,EACTA,KAAQkmgC,EAAUhnjC,MAAM,iCAAmCs3G,EAAQ,QAAKvyG,IAIjF28M,EAAWrgM,O,EAEHA,KAAO2kiC,EAAeF,EAAepk2B,EAAWrgM,KAAM0T,GAAWA,SAInDhwB,IAAtB28M,EAAWxa,aAAgDniM,IAAxB28M,EAAW4j2B,eAA8CvgjC,IAApB28M,EAAWrgM,WAA0Ctc,IAApB28M,EAAW5gK,MAAuB4gK,EAAWtiM,WAA6Bra,IAArB28M,EAAWj8H,WAE5I1gF,IAAtB28M,EAAWxa,O,EACV7hD,UAAY,gBACWtgJ,IAAxB28M,EAAWvsD,S,EACV9P,UAAY,W,EAEZA,UAAY,M,EANZA,UAAY,gBAUpBhgJ,EAAQggJ,WAAmC,WAAtBhgJ,EAAQggJ,WAA0BhgJ,EAAQggJ,YAAcq8D,EAAWr8D,Y,EAChFjpJ,MAAQslN,EAAWtlN,OAAS,gBAAkBiJ,EAAQggJ,UAAY,e,IAIxE6h6B,EAAgBtC,GAASv/iC,EAAQ6hM,QAAUwa,EAAWxa,QAAU,IAAInoL,e,GAGrE1Z,EAAQ8hjC,gBAAoBD,GAAkBA,EAAcC,e,EAcpCzl2B,EAAY3sL,OAdyC,C,GAE7E2sL,EAAWrgM,OAAShc,EAAQ+hjC,YAAeF,GAAiBA,EAAcE,Y,MAGjE/liC,KAAOw4hC,EAAStxX,QAAQ7me,EAAWrgM,KAAKvC,QAAQiW,EAASqwhC,YAAaN,GAAa/liC,c,CAC7F,MAAO9iB,G,EACGG,MAAQslN,EAAWtlN,OAAS,kEAAoEH,C,GAIjFylN,EAAYwi2B,E,CAOrCgD,GAAiBA,EAAcvnjC,O,EACpBA,MAAM+hN,EAAYr8M,E,QAGtBjJ,MAAQslN,EAAWtlN,OAAS,yB,OAGjCslN,C,CAGR,SAAA2l2B,EAA6B3l2B,EAA0Br8M,G,IAChD0vB,GAA4B,IAAhB1vB,EAAQ4hjC,IAAgB9C,EAAeD,EACnDoD,EAA0B,G,YAEJvijC,IAAxB28M,EAAW4j2B,W,EACJnijC,KAAKu+M,EAAW4j2B,U,EAChBnijC,KAAK,WAGQ4B,IAApB28M,EAAWrgM,M,EAEJle,KAAK6ijC,EAAeF,EAAehljC,OAAO4gN,EAAWrgM,MAAO0T,GAAWA,GAAUjW,QAAQiW,EAASkxhC,YAAa,SAACho+B,EAAGm8I,EAAIwlb,G,MAAO,IAAMxlb,GAAMwlb,EAAK,MAAQA,EAAK,IAAM,G,IAG9I,iBAApBl+b,EAAW5gK,MAAgD,iBAApB4gK,EAAW5gK,O,EAClD39C,KAAK,K,EACLA,KAAKrC,OAAO4gN,EAAW5gK,QAG3BwmgC,EAAUzpjC,OAASypjC,EAAUn8/B,KAAK,SAAMpmD,C,CAGhD,IAAMwijC,EAAO,WACPC,EAAO,cACPC,GAAO,gBAEPC,GAAO,yBAEb,SAAAC,GAAkCxk/B,G,QAC3B5X,EAAuB,GAEtB4X,EAAMtlE,Q,GACRslE,EAAMnjE,MAAMunjC,G,EACPpk/B,EAAMrkD,QAAQyoiC,EAAM,SACtB,GAAIpk/B,EAAMnjE,MAAMwnjC,G,EACdrk/B,EAAMrkD,QAAQ0oiC,EAAM,UACtB,GAAIrk/B,EAAMnjE,MAAMynjC,I,EACdtk/B,EAAMrkD,QAAQ2oiC,GAAM,K,EACrB7q/B,WACD,GAAc,MAAVuG,GAA2B,OAAVA,E,EACnB,OACF,C,IACA80Y,EAAK90Y,EAAMnjE,MAAM0njC,I,IACnBzvmB,E,MAKG,IAAIl5c,MAAM,oC,IAJVqF,EAAI6zc,EAAG,G,EACL90Y,EAAMlvD,MAAM7P,EAAEvG,Q,EACfsF,KAAKiB,E,QAORmnD,EAAOJ,KAAK,G,CAGpB,SAAA1sD,GAA0BijN,G,IAA0Br8M,EAApDhE,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAyE,CAAC,EACnE0zB,EAAY1vB,EAAQ4hjC,IAAM9C,EAAeD,EACzCoD,EAA0B,GAG1BJ,EAAgBtC,GAASv/iC,EAAQ6hM,QAAUwa,EAAWxa,QAAU,IAAInoL,e,GAGtEmoiC,GAAiBA,EAAczojC,WAAWyojC,EAAczojC,UAAUijN,EAAYr8M,GAE9Eq8M,EAAWrgM,K,GAEV0T,EAASkxhC,YAAYnmjC,KAAK4hN,EAAWrgM,YAKpC,GAAIhc,EAAQ+hjC,YAAeF,GAAiBA,EAAcE,W,MAGlD/liC,KAAShc,EAAQ4hjC,IAAmGpN,EAASvxX,UAAU5me,EAAWrgM,MAA3Hw4hC,EAAStxX,QAAQ7me,EAAWrgM,KAAKvC,QAAQiW,EAASqwhC,YAAaN,GAAa/liC,c,CAC7G,MAAO9iB,G,EACGG,MAAQslN,EAAWtlN,OAAS,+CAAkDiJ,EAAQ4hjC,IAAgB,UAAV,SAAuB,kBAAoBhrjC,C,GAMzHylN,EAAY3sL,GAEd,WAAtB1vB,EAAQggJ,WAA0Bq8D,EAAWxa,S,EACtC/jM,KAAKu+M,EAAWxa,Q,EAChB/jM,KAAK,M,IAGVykjC,EAAYP,EAAoB3l2B,EAAYr8M,G,QAChCN,IAAd6ijC,IACuB,WAAtBvijC,EAAQggJ,W,EACDliJ,KAAK,M,EAGNA,KAAKykjC,GAEXlm2B,EAAWtiM,MAAsC,MAA9BsiM,EAAWtiM,KAAK24B,OAAO,I,EACnC50C,KAAK,WAIO4B,IAApB28M,EAAWtiM,KAAoB,C,IAC9Bhb,EAAIs9M,EAAWtiM,KAEd/Z,EAAQwijC,cAAkBX,GAAkBA,EAAcW,e,EAC1DF,GAAkBvjjC,SAGLW,IAAd6ijC,I,EACCxjjC,EAAE0a,QAAQ,QAAS,S,EAGd3b,KAAKiB,E,aAGSW,IAArB28M,EAAWj8H,Q,EACJtiF,KAAK,K,EACLA,KAAKu+M,EAAWj8H,aAGC1gF,IAAxB28M,EAAWvsD,W,EACJhyJ,KAAK,K,EACLA,KAAKu+M,EAAWvsD,WAGpBmy5B,EAAUn8/B,KAAK,G,CAGvB,SAAA28/B,GAAkCl9+B,EAAoBoa,G,IAAwB3/E,EAA9EhE,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAmG,CAAC,EAC7F8G,EAAuB,CAAC,E,OAD/B9G,UAAA,K,EAIS1B,EAAMlB,GAAUmsE,EAAMvlE,GAAUA,G,EAC5B1F,EAAMlB,GAAUumF,EAAU3/E,GAAUA,M,EAEtCA,GAAW,CAAC,GAET0ijC,UAAY/i+B,EAASkiH,Q,EAC1BA,OAASliH,EAASkiH,O,EAElBo+2B,SAAWtg+B,EAASsg+B,S,EACpBjkiC,KAAO2jE,EAAS3jE,K,EAChBy/B,KAAOkkC,EAASlkC,K,EAChB1hC,KAAOuoiC,GAAkB3i+B,EAAS5lE,MAAQ,I,EAC1CqmE,MAAQT,EAASS,aAEE1gF,IAAtBigF,EAASsg+B,eAA4CvgjC,IAAlBigF,EAAS3jE,WAAwCtc,IAAlBigF,EAASlkC,M,EAEvEwkgC,SAAWtg+B,EAASsg+B,S,EACpBjkiC,KAAO2jE,EAAS3jE,K,EAChBy/B,KAAOkkC,EAASlkC,K,EAChB1hC,KAAOuoiC,GAAkB3i+B,EAAS5lE,MAAQ,I,EAC1CqmE,MAAQT,EAASS,QAEnBT,EAAS5lE,MAQmB,MAA5B4lE,EAAS5lE,KAAK24B,OAAO,G,EACjB34B,KAAOuoiC,GAAkB3i+B,EAAS5lE,YAElBra,IAAlB6lE,EAAK06+B,eAAwCvgjC,IAAd6lE,EAAKvpD,WAAoCtc,IAAd6lE,EAAK9pB,MAAwB8pB,EAAKxrD,KAErFwrD,EAAKxrD,K,EAGTA,KAAOwrD,EAAKxrD,KAAKnL,MAAM,EAAG22D,EAAKxrD,KAAKwvC,YAAY,KAAO,GAAKo2B,EAAS5lE,K,EAFrEA,KAAO4lE,EAAS5lE,K,EAFhBA,KAAO,IAAM4lE,EAAS5lE,K,EAMvBA,KAAOuoiC,GAAkBx/iC,EAAOiX,O,EAEjCqmE,MAAQT,EAASS,Q,EAnBjBrmE,KAAOwrD,EAAKxrD,UACIra,IAAnBigF,EAASS,M,EACLA,MAAQT,EAASS,M,EAEjBA,MAAQ7a,EAAK6a,O,EAkBf6/9B,SAAW16+B,EAAK06+B,S,EAChBjkiC,KAAOupD,EAAKvpD,K,EACZy/B,KAAO8pB,EAAK9pB,M,EAEbomJ,OAASt8H,EAAKs8H,Q,EAGf/xC,SAAWnwE,EAASmwE,SAEpBhtJ,C,CAGR,SAAAhC,GAAwB+i6B,EAAgB8+I,EAAoB3ijC,G,IACrD4ijC,EAAoB9l+B,EAAO,CAAE+kH,OAAS,QAAU7hM,G,OAC/C5G,GAAUqpjC,GAAkBnojC,EAAMup6B,EAAS++I,GAAoBtojC,EAAMqojC,EAAaC,GAAoBA,GAAmB,GAAOA,E,CAKxI,SAAA7otB,GAA0BlvO,EAAS7qH,G,MACf,iBAAR6qH,E,EACJzxH,GAAUkB,EAAMuwH,EAAK7qH,GAAUA,GACX,WAAhB8iE,EAAO+nD,K,EACXvwH,EAAMlB,GAAyByxH,EAAK7qH,GAAUA,IAG9C6qH,C,CAKR,SAAAmqQ,GAAsB6trB,EAAUC,EAAU9ijC,G,MACrB,iBAAT6ijC,E,EACHzpjC,GAAUkB,EAAMuojC,EAAM7ijC,GAAUA,GACZ,WAAjB8iE,EAAO+/+B,K,EACVzpjC,GAAyBypjC,EAAM7ijC,IAGnB,iBAAT8ijC,E,EACH1pjC,GAAUkB,EAAMwojC,EAAM9ijC,GAAUA,GACZ,WAAjB8iE,EAAOgg/B,K,EACV1pjC,GAAyB0pjC,EAAM9ijC,IAGhC6ijC,IAASC,C,CAGjB,SAAAC,GAAgCjpjC,EAAYkG,G,OACpClG,GAAOA,EAAIhC,WAAW2hB,QAAUzZ,GAAYA,EAAQ4hjC,IAA4B9C,EAAakE,OAAnCnE,EAAamE,OAA+BxD,E,CAG9G,SAAAyD,GAAkCnpjC,EAAYkG,G,OACtClG,GAAOA,EAAIhC,WAAW2hB,QAAUzZ,GAAYA,EAAQ4hjC,IAAiC9C,EAAaiB,YAAxClB,EAAakB,YAAyCN,E,CCxiBxH,IAAMt9/B,GAA2B,C,OACvB,O,YAEI,E,MAEL,SAAUk6J,EAA0Br8M,G,OAEtCq8M,EAAWrgM,O,EACJjlB,MAAQslN,EAAWtlN,OAAS,+BAGjCslN,C,YAGI,SAAUA,EAA0Br8M,G,IACzC87sB,EAAqD,UAA5CrgtB,OAAO4gN,EAAWxa,QAAQnoL,c,OAGrC2iM,EAAW5gK,QAAUqgqB,EAAS,IAAM,KAA2B,KAApBz/f,EAAW5gK,O,EAC9CA,UAAO/7C,GAId28M,EAAWtiM,O,EACJA,KAAO,KAOZsiM,C,GC9BH6m2B,GAA2B,C,OACvB,Q,WACI/ggC,GAAK4//B,W,MACV5//B,GAAK7nD,M,UACD6nD,GAAK/oD,WCAlB,SAAA+pjC,GAAkBC,G,MACqB,kBAAxBA,EAAatnW,OAAuBsnW,EAAatnW,OAAuD,QAA9CrgtB,OAAO2njC,EAAavh3B,QAAQnoL,a,CAIrG,IAAM2piC,GAA2B,C,OACvB,K,YAEI,E,MAEL,SAAUhn2B,EAA0Br8M,G,IACrCojjC,EAAe/m2B,E,SAGRy/f,OAASqnW,GAASC,G,EAGlBE,cAAgBF,EAAarpiC,MAAQ,MAAQqpiC,EAAahj+B,MAAQ,IAAMgj+B,EAAahj+B,MAAQ,I,EAC7FrmE,UAAOra,E,EACP0gF,WAAQ1gF,EAEd0jjC,C,YAGI,SAAUA,EAA2BpjjC,G,GAE5CojjC,EAAa3ngC,QAAU0ngC,GAASC,GAAgB,IAAM,KAA6B,KAAtBA,EAAa3ngC,O,EAChEA,UAAO/7C,GAIc,kBAAxB0jjC,EAAatnW,S,EACVj6gB,OAAUuh3B,EAAatnW,OAAS,MAAQ,K,EACxCA,YAASp8sB,GAInB0jjC,EAAaE,aAAc,C,MACRF,EAAaE,aAAa37gC,MAAM,K,SAA/C5tB,EADuBwpiC,EAAA,GACjBnj+B,EADiBmj+B,EAAA,G,EAEjBxpiC,KAAQA,GAAiB,MAATA,EAAeA,OAAOra,E,EACtC0gF,MAAQA,E,EACRkj+B,kBAAe5jjC,C,UAIhBowJ,cAAWpwJ,EAEjB0jjC,C,GCnDHI,GAA2B,C,OACvB,M,WACIH,GAAGtB,W,MACRsB,GAAG/ojC,M,UACC+ojC,GAAGjqjC,WCSVk0C,GAAkB,CAAC,EAInBgvgC,GAAe,mGACfN,GAAW,cACXC,GAAeN,EAAOA,EAAO,UAAYK,GAAW,IAAMA,GAAWA,GAAW,IAAMA,GAAWA,IAAY,IAAML,EAAO,cAAgBK,GAAW,IAAMA,GAAWA,IAAY,IAAML,EAAO,IAAMK,GAAWA,KAahNyH,GAAU,wDAEVC,GAAUx6gC,EADA,6DACe,aAQzBy6gC,GAAgB,sCAahB7D,GAAa,IAAIv9+B,OAAO+5+B,GAAc,KACtCyD,GAAc,IAAIx9+B,OAAO05+B,GAAc,KACvC2H,GAAiB,IAAIrh/B,OAAOr5B,EAAM,MAAOu6gC,GAAS,QAAS,QAASC,IAAU,KAE9EG,GAAa,IAAIth/B,OAAOr5B,EAAM,MAAOozgC,GAAcqH,IAAgB,KACnEG,GAAcD,GACpB,SAGAjE,GAA0B9ljC,G,IACnB+ljC,EAASJ,EAAY3ljC,G,OAClB+ljC,EAAOlljC,MAAMmljC,IAAoBD,EAAN/ljC,C,CAGrC,IAAMiqjC,GAA8C,C,OAC1C,S,MAED,SAAU1n2B,EAA0Br8M,G,IACrCgkjC,EAAmB3n2B,EACnBzlI,EAAKot+B,EAAiBpt+B,GAAMot+B,EAAiBjqiC,KAAOiqiC,EAAiBjqiC,KAAK4tB,MAAM,KAAO,G,KAC5E5tB,UAAOra,EAEpBskjC,EAAiB5j+B,MAAO,C,QACvB6j+B,GAAiB,EACf5y/B,EAAwB,CAAC,EACzB6y/B,EAAUF,EAAiB5j+B,MAAMz4C,MAAM,KAEpC74B,EAAI,EAAGivP,EAAKmmzB,EAAQ1rjC,OAAQsW,EAAIivP,IAAMjvP,EAAG,C,IAC3Cq1iC,EAASD,EAAQp1iC,GAAG64B,MAAM,K,OAExBw8gC,EAAO,I,IACT,K,QACEC,EAAUD,EAAO,GAAGx8gC,MAAM,KACvB/7B,EAAI,EAAGy4iC,EAAKD,EAAQ5rjC,OAAQoT,EAAIy4iC,IAAMz4iC,E,EAC3C9N,KAAKsmjC,EAAQx4iC,I,UAGb,U,EACas4d,QAAU++kB,GAAkBkB,EAAO,GAAInkjC,G,UAEpD,O,EACa6yD,KAAOow/B,GAAkBkB,EAAO,GAAInkjC,G,iBAGpC,E,EACTijjC,GAAkBkB,EAAO,GAAInkjC,IAAYijjC,GAAkBkB,EAAO,GAAInkjC,G,CAK7EikjC,IAAgBD,EAAiB3y/B,QAAUA,E,GAG/B+uB,WAAQ1gF,E,IAEpB,IAAIqM,EAAI,EAAGu4iC,EAAK1t+B,EAAGp+E,OAAQuT,EAAIu4iC,IAAMv4iC,EAAG,C,IACtCw4iC,EAAO3t+B,EAAG7qE,GAAG47B,MAAM,K,KAEpB,GAAKs7gC,GAAkBsB,EAAK,IAE5BvkjC,EAAQ8hjC,e,EAQP,GAAKmB,GAAkBsB,EAAK,GAAIvkjC,GAAS0Z,mB,MALxC,GAAK86hC,EAAStxX,QAAQ+/X,GAAkBsB,EAAK,GAAIvkjC,GAAS0Z,c,CAC9D,MAAO9iB,G,EACSG,MAAQitjC,EAAiBjtjC,OAAS,2EAA6EH,C,GAM/HmV,GAAKw4iC,EAAKz+/B,KAAK,I,QAGZk+/B,C,YAGI,SAAUA,EAAmChkjC,G,IAClDq8M,EAAa2n2B,EACbpt+B,EAAK6gK,EAAQus0B,EAAiBpt+B,I,GAChCA,EAAI,C,IACF,IAAI9nE,EAAI,EAAGivP,EAAKnnL,EAAGp+E,OAAQsW,EAAIivP,IAAMjvP,EAAG,C,IACtC01iC,EAAS/ojC,OAAOm7E,EAAG9nE,IACnB21iC,EAAQD,EAAOj7/B,YAAY,KAC3Bm7/B,EAAaF,EAAO51iC,MAAM,EAAG61iC,GAAQhriC,QAAQsmiC,GAAaH,IAAkBnmiC,QAAQsmiC,GAAa5+9B,GAAa1nE,QAAQmqiC,GAAgBpE,GACxIr//B,EAASqkgC,EAAO51iC,MAAM61iC,EAAQ,G,MAItBzkjC,EAAQ4hjC,IAA2EpN,EAASvxX,UAAU9ioB,GAAxFq0/B,EAAStxX,QAAQ+/X,GAAkB9igC,EAAQngD,GAAS0Z,c,CAC5E,MAAO9iB,G,EACGG,MAAQslN,EAAWtlN,OAAS,wDAA2DiJ,EAAQ4hjC,IAAgB,UAAV,SAAuB,kBAAoBhrjC,C,GAGzJkY,GAAK41iC,EAAY,IAAMvkgC,C,GAGhBpmC,KAAO68D,EAAG9wB,KAAK,I,KAGrBuL,EAAU2y/B,EAAiB3y/B,QAAU2y/B,EAAiB3y/B,SAAW,CAAC,EAEpE2y/B,EAAiB9/kB,UAAS7ya,EAAA,QAAqB2y/B,EAAiB9/kB,SAChE8/kB,EAAiBnx/B,OAAMxB,EAAA,KAAkB2y/B,EAAiBnx/B,M,IAExDyvE,EAAS,G,IACV,IAAMzrI,KAAQw6D,EACdA,EAAQx6D,KAAUy2C,GAAEz2C,I,EAChBiH,KACNjH,EAAK4iB,QAAQsmiC,GAAaH,IAAkBnmiC,QAAQsmiC,GAAa5+9B,GAAa1nE,QAAQoqiC,GAAYrE,GAClG,IACAnu/B,EAAQx6D,GAAM4iB,QAAQsmiC,GAAaH,IAAkBnmiC,QAAQsmiC,GAAa5+9B,GAAa1nE,QAAQqqiC,GAAatE,I,OAI3Gl96B,EAAO9pI,S,EACC4nF,MAAQkiD,EAAOx8E,KAAK,MAGzBu2J,C,GC/JHso2B,GAAY,kBAIZC,GAAqD,C,OACjD,M,MAED,SAAUvo2B,EAA0Br8M,G,IACrCiyG,EAAUoqG,EAAWtiM,MAAQsiM,EAAWtiM,KAAKpf,MAAMgqjC,IACrDE,EAAgBxo2B,E,GAEhBpqG,EAAS,C,IACN4vF,EAAS7hM,EAAQ6hM,QAAUgj3B,EAAchj3B,QAAU,MACnDij3B,EAAM7y8B,EAAQ,GAAGv4F,cACjBqriC,EAAM9y8B,EAAQ,GACd+y8B,EAAenj3B,EAAf,KAAyB7hM,EAAQ8kjC,KAAOA,GACxCjD,EAAgBtC,EAAQyF,G,EAEhBF,IAAMA,E,EACNC,IAAMA,E,EACNhriC,UAAOra,EAEjBmijC,I,EACaA,EAAcvnjC,MAAMuqjC,EAAe7kjC,G,QAGtCjJ,MAAQ8tjC,EAAc9tjC,OAAS,yB,OAGvC8tjC,C,YAGI,SAAUA,EAA6B7kjC,G,IAC5C6hM,EAAS7hM,EAAQ6hM,QAAUgj3B,EAAchj3B,QAAU,MACnDij3B,EAAMD,EAAcC,IACpBE,EAAenj3B,EAAf,KAAyB7hM,EAAQ8kjC,KAAOA,GACxCjD,EAAgBtC,EAAQyF,GAE1BnD,I,EACaA,EAAczojC,UAAUyrjC,EAAe7kjC,I,IAGlDy91B,EAAgBonN,EAChBE,EAAMF,EAAcE,I,SACZhriC,MAAU+qiC,GAAO9kjC,EAAQ8kjC,KAAvC,IAA8CC,EAEvCtnN,C,GCxDH1pe,GAAO,2DAIPkxrB,GAAsE,C,OAClE,W,MAED,SAAUJ,EAA6B7kjC,G,IACxCkljC,EAAiBL,E,SACR9vyB,KAAOmwyB,EAAeH,I,EACtBA,SAAMrljC,EAEhBM,EAAQ0ijC,UAAcwC,EAAenwyB,MAASmwyB,EAAenwyB,KAAKp6Q,MAAMo5X,M,EAC7Dh9X,MAAQmujC,EAAenujC,OAAS,sBAGzCmujC,C,YAGI,SAAUA,EAA+BlljC,G,IAC9C6kjC,EAAgBK,E,SAERH,KAAOG,EAAenwyB,MAAQ,IAAIr7P,cACzCmriC,C,GC5BTtF,EAAQp9/B,GAAK0/I,QAAU1/I,GAEvBo9/B,EACQ2D,GAAMrh3B,QAAUqh3B,GAExB3D,EACQ8D,GAAGxh3B,QAAUwh3B,GAErB9D,EACQiE,GAAI3h3B,QAAU2h3B,GAEtBjE,EACQwE,GAAOli3B,QAAUki3B,GAEzBxE,EACQqF,GAAI/i3B,QAAU+i3B,GAEtBrF,EACQ0F,GAAKpj3B,QAAUoj3B,G,2QCnBvB,IAAIv3hC,EAAWI,EAAQ,MACnB8+E,EAAK9+E,EAAQ,MACbq3hC,EAAsB,6EACtBC,EAAS,YACTC,EAAU,gCACV5pgC,EAAO,QACP6pgC,EAAa,mDACbC,EAAqB,aAUzB,SAAS3pW,EAAS9htB,GAChB,OAAQA,GAAY,IAAIhC,WAAW2hB,QAAQ0riC,EAAqB,GAClE,CAcA,IAAI9j6B,EAAQ,CACV,CAAC,IAAK,QACN,CAAC,IAAK,SACN,SAAkBpc,EAASr2G,GACzB,OAAOuktB,EAAUvktB,EAAIc,UAAYu1G,EAAQxrH,QAAQ,MAAO,KAAOwrH,CACjE,EACA,CAAC,IAAK,YACN,CAAC,IAAK,OAAQ,GACd,CAACr+E,IAAK,YAAQlnD,EAAW,EAAG,GAC5B,CAAC,UAAW,YAAQA,EAAW,GAC/B,CAACknD,IAAK,gBAAYlnD,EAAW,EAAG,IAW9BooiB,EAAS,CAAEznd,KAAM,EAAGD,MAAO,GAc/B,SAASol+B,EAAUj+tB,GACjB,IAYIjsV,EALAs0B,GALkB,oBAAXj0B,OAAoCA,YACpB,IAAXywC,EAAAA,EAAoCA,EAAAA,EAC3B,oBAAT9qC,KAAkCA,KACjC,CAAC,GAEOsuB,UAAY,CAAC,EAGlC61hC,EAAmB,CAAC,EACpB1rjC,SAHJwtV,EAAMA,GAAO33T,GAMb,GAAI,UAAY23T,EAAI73T,SAClB+1hC,EAAmB,IAAIhoU,EAAIpzX,SAAS9iC,EAAIpnQ,UAAW,CAAC,QAC/C,GAAI,WAAapmF,EAEtB,IAAKuB,KADLmqjC,EAAmB,IAAIhoU,EAAIl2Z,EAAK,CAAC,GACrBugN,SAAe29gB,EAAiBnqjC,QACvC,GAAI,WAAavB,EAAM,CAC5B,IAAKuB,KAAOisV,EACNjsV,KAAOwsiB,IACX29gB,EAAiBnqjC,GAAOisV,EAAIjsV,SAGGoE,IAA7B+ljC,EAAiBJ,UACnBI,EAAiBJ,QAAUA,EAAQ5qjC,KAAK8sV,EAAIl2T,MAEhD,CAEA,OAAOo0hC,CACT,CASA,SAAStyU,EAAUtxiB,GACjB,MACa,UAAXA,GACW,SAAXA,GACW,UAAXA,GACW,WAAXA,GACW,QAAXA,GACW,SAAXA,CAEJ,CAkBA,SAAS6j3B,EAAgBzg7B,EAASr1G,GAEhCq1G,GADAA,EAAU22kB,EAAS32kB,IACDxrH,QAAQ2riC,EAAQ,IAClCx1hC,EAAWA,GAAY,CAAC,EAExB,IAKI4xG,EALA7mI,EAAQ2qjC,EAAWj3gC,KAAK42F,GACxBv1G,EAAW/0B,EAAM,GAAKA,EAAM,GAAG+e,cAAgB,GAC/CisiC,IAAmBhrjC,EAAM,GACzBirjC,IAAiBjrjC,EAAM,GACvBkrjC,EAAe,EAkCnB,OA/BIF,EACEC,GACFpk7B,EAAO7mI,EAAM,GAAKA,EAAM,GAAKA,EAAM,GACnCkrjC,EAAelrjC,EAAM,GAAGnC,OAASmC,EAAM,GAAGnC,SAE1CgpI,EAAO7mI,EAAM,GAAKA,EAAM,GACxBkrjC,EAAelrjC,EAAM,GAAGnC,QAGtBotjC,GACFpk7B,EAAO7mI,EAAM,GAAKA,EAAM,GACxBkrjC,EAAelrjC,EAAM,GAAGnC,QAExBgpI,EAAO7mI,EAAM,GAIA,UAAb+0B,EACEm2hC,GAAgB,IAClBrk7B,EAAOA,EAAK5yH,MAAM,IAEXukuB,EAAUzjtB,GACnB8xG,EAAO7mI,EAAM,GACJ+0B,EACLi2hC,IACFnk7B,EAAOA,EAAK5yH,MAAM,IAEXi3iC,GAAgB,GAAK1yU,EAAUvjtB,EAASF,YACjD8xG,EAAO7mI,EAAM,IAGR,CACL+0B,SAAUA,EACV21hC,QAASM,GAAkBxyU,EAAUzjtB,GACrCm2hC,aAAcA,EACdrk7B,KAAMA,EAEV,CAoDA,SAASi8mB,EAAIx4mB,EAASr1G,EAAUg7C,GAI9B,GAFAq6D,GADAA,EAAU22kB,EAAS32kB,IACDxrH,QAAQ2riC,EAAQ,MAE5BprjC,gBAAgByjvB,GACpB,OAAO,IAAIA,EAAIx4mB,EAASr1G,EAAUg7C,GAGpC,IAAI+U,EAAUmm+B,EAAWxrjC,EAAOyrjC,EAAa3hjC,EAAO9I,EAChD0qjC,EAAe3k6B,EAAMzyI,QACrB7U,SAAc61B,EACdhB,EAAM50B,KACNjB,EAAI,EA8CR,IAjCI,WAAagB,GAAQ,WAAaA,IACpC6wE,EAASh7C,EACTA,EAAW,MAGTg7C,GAAU,mBAAsBA,IAAQA,EAASgiC,EAAGtyG,OAQxDqlF,IADAmm+B,EAAYJ,EAAgBzg7B,GAAW,GALvCr1G,EAAW41hC,EAAU51hC,KAMCF,WAAao2hC,EAAUT,QAC7Cz2hC,EAAIy2hC,QAAUS,EAAUT,SAAW1l+B,GAAY/vD,EAASy1hC,QACxDz2hC,EAAIc,SAAWo2hC,EAAUp2hC,UAAYE,EAASF,UAAY,GAC1Du1G,EAAU6g7B,EAAUtk7B,MAOK,UAAvBsk7B,EAAUp2hC,WACmB,IAA3Bo2hC,EAAUD,cAAsBN,EAAmB9qjC,KAAKwqI,MACxD6g7B,EAAUT,UACTS,EAAUp2hC,UACTo2hC,EAAUD,aAAe,IACxB1yU,EAAUvktB,EAAIc,cAEnBs2hC,EAAa,GAAK,CAAC,OAAQ,aAGtBjtjC,EAAIitjC,EAAaxtjC,OAAQO,IAGH,mBAF3BgtjC,EAAcC,EAAajtjC,KAO3BuB,EAAQyrjC,EAAY,GACpBzqjC,EAAMyqjC,EAAY,GAEdzrjC,GAAUA,EACZs0B,EAAItzB,GAAO2pI,EACF,iBAAoB3qI,IAC7B8J,EAAkB,MAAV9J,EACJ2qI,EAAQ17E,YAAYjvD,GACpB2qI,EAAQjsI,QAAQsB,MAGd,iBAAoByrjC,EAAY,IAClCn3hC,EAAItzB,GAAO2pI,EAAQr2H,MAAM,EAAGxK,GAC5B6gI,EAAUA,EAAQr2H,MAAMxK,EAAQ2hjC,EAAY,MAE5Cn3hC,EAAItzB,GAAO2pI,EAAQr2H,MAAMxK,GACzB6gI,EAAUA,EAAQr2H,MAAM,EAAGxK,MAGrBA,EAAQ9J,EAAM+zC,KAAK42F,MAC7Br2G,EAAItzB,GAAO8I,EAAM,GACjB6gI,EAAUA,EAAQr2H,MAAM,EAAGxK,EAAMA,QAGnCwqB,EAAItzB,GAAOszB,EAAItzB,IACbqkF,GAAYom+B,EAAY,IAAKn2hC,EAASt0B,IAAa,GAOjDyqjC,EAAY,KAAIn3hC,EAAItzB,GAAOszB,EAAItzB,GAAKoe,gBApCtCurH,EAAU8g7B,EAAY9g7B,EAASr2G,GA4C/Bg8C,IAAQh8C,EAAIwxD,MAAQxV,EAAOh8C,EAAIwxD,QAM/BT,GACC/vD,EAASy1hC,SACkB,MAA3Bz2hC,EAAIuxD,SAASztC,OAAO,KACF,KAAjB9jB,EAAIuxD,UAAyC,KAAtBvwD,EAASuwD,YAEpCvxD,EAAIuxD,SA/JR,SAAiBR,EAAUpa,GACzB,GAAiB,KAAboa,EAAiB,OAAOpa,EAQ5B,IANA,IAAIxrD,GAAQwrD,GAAQ,KAAK59B,MAAM,KAAK/4B,MAAM,GAAI,GAAGpT,OAAOmkF,EAASh4C,MAAM,MACnE5uC,EAAIghB,EAAKvhB,OACTunD,EAAOhmC,EAAKhhB,EAAI,GAChB2+D,GAAU,EACVthD,EAAK,EAEFrd,KACW,MAAZghB,EAAKhhB,GACPghB,EAAK+e,OAAO//B,EAAG,GACM,OAAZghB,EAAKhhB,IACdghB,EAAK+e,OAAO//B,EAAG,GACfqd,KACSA,IACC,IAANrd,IAAS2+D,GAAU,GACvB39C,EAAK+e,OAAO//B,EAAG,GACfqd,KAOJ,OAHIshD,GAAS39C,EAAK29C,QAAQ,IACb,MAAT3X,GAAyB,OAATA,GAAehmC,EAAKjc,KAAK,IAEtCic,EAAK+rC,KAAK,IACnB,CAqImBhlD,CAAQ8tB,EAAIuxD,SAAUvwD,EAASuwD,WAOjB,MAA3BvxD,EAAIuxD,SAASztC,OAAO,IAAcygsB,EAAUvktB,EAAIc,YAClDd,EAAIuxD,SAAW,IAAMvxD,EAAIuxD,UAQtBzyD,EAASkB,EAAI6sB,KAAM7sB,EAAIc,YAC1Bd,EAAI5S,KAAO4S,EAAIiB,SACfjB,EAAI6sB,KAAO,IAMb7sB,EAAI48C,SAAW58C,EAAI68C,SAAW,GAE1B78C,EAAIwrsB,SACNh2tB,EAAQwqB,EAAIwrsB,KAAKphuB,QAAQ,OAGvB41B,EAAI48C,SAAW58C,EAAIwrsB,KAAKxrtB,MAAM,EAAGxK,GACjCwqB,EAAI48C,SAAW2M,mBAAmBD,mBAAmBtpD,EAAI48C,WAEzD58C,EAAI68C,SAAW78C,EAAIwrsB,KAAKxrtB,MAAMxK,EAAQ,GACtCwqB,EAAI68C,SAAW0M,mBAAmBD,mBAAmBtpD,EAAI68C,YAEzD78C,EAAI48C,SAAW2M,mBAAmBD,mBAAmBtpD,EAAIwrsB,OAG3DxrsB,EAAIwrsB,KAAOxrsB,EAAI68C,SAAW78C,EAAI48C,SAAU,IAAK58C,EAAI68C,SAAW78C,EAAI48C,UAGlE58C,EAAImgE,OAA0B,UAAjBngE,EAAIc,UAAwByjtB,EAAUvktB,EAAIc,WAAad,EAAI5S,KACpE4S,EAAIc,SAAU,KAAMd,EAAI5S,KACxB,OAKJ4S,EAAIyC,KAAOzC,EAAI92B,UACjB,CA2KA2lvB,EAAIzlvB,UAAY,CAAEuG,IA5JlB,SAAamzE,EAAMr4E,EAAOsN,GACxB,IAAIioB,EAAM50B,KAEV,OAAQ03E,GACN,IAAK,QACC,iBAAoBr4E,GAASA,EAAMb,SACrCa,GAASsN,GAAMimG,EAAGtyG,OAAOjB,IAG3Bu1B,EAAI8iD,GAAQr4E,EACZ,MAEF,IAAK,OACHu1B,EAAI8iD,GAAQr4E,EAEPq0B,EAASr0B,EAAOu1B,EAAIc,UAGdr2B,IACTu1B,EAAI5S,KAAO4S,EAAIiB,SAAU,IAAKx2B,IAH9Bu1B,EAAI5S,KAAO4S,EAAIiB,SACfjB,EAAI8iD,GAAQ,IAKd,MAEF,IAAK,WACH9iD,EAAI8iD,GAAQr4E,EAERu1B,EAAI6sB,OAAMpiD,GAAS,IAAKu1B,EAAI6sB,MAChC7sB,EAAI5S,KAAO3iB,EACX,MAEF,IAAK,OACHu1B,EAAI8iD,GAAQr4E,EAERoiD,EAAKhhD,KAAKpB,IACZA,EAAQA,EAAMsuC,MAAM,KACpB/Y,EAAI6sB,KAAOpiD,EAAMk+D,MACjB3oC,EAAIiB,SAAWx2B,EAAMysD,KAAK,OAE1Bl3B,EAAIiB,SAAWx2B,EACfu1B,EAAI6sB,KAAO,IAGb,MAEF,IAAK,WACH7sB,EAAIc,SAAWr2B,EAAMqgB,cACrBkV,EAAIy2hC,SAAW1+iC,EACf,MAEF,IAAK,WACL,IAAK,OACH,GAAItN,EAAO,CACT,IAAIogF,EAAgB,aAAT/H,EAAsB,IAAM,IACvC9iD,EAAI8iD,GAAQr4E,EAAMq5C,OAAO,KAAO+mC,EAAOA,EAAOpgF,EAAQA,CACxD,MACEu1B,EAAI8iD,GAAQr4E,EAEd,MAEF,IAAK,WACL,IAAK,WACHu1B,EAAI8iD,GAAQyG,mBAAmB9+E,GAC/B,MAEF,IAAK,OACH,IAAI+K,EAAQ/K,EAAML,QAAQ,MAErBoL,GACHwqB,EAAI48C,SAAWnyE,EAAMuV,MAAM,EAAGxK,GAC9BwqB,EAAI48C,SAAW2M,mBAAmBD,mBAAmBtpD,EAAI48C,WAEzD58C,EAAI68C,SAAWpyE,EAAMuV,MAAMxK,EAAQ,GACnCwqB,EAAI68C,SAAW0M,mBAAmBD,mBAAmBtpD,EAAI68C,YAEzD78C,EAAI48C,SAAW2M,mBAAmBD,mBAAmB7+E,IAI3D,IAAK,IAAIN,EAAI,EAAGA,EAAIsoJ,EAAM7oJ,OAAQO,IAAK,CACrC,IAAI8mc,EAAMx+S,EAAMtoJ,GAEZ8mc,EAAI,KAAIjxa,EAAIixa,EAAI,IAAMjxa,EAAIixa,EAAI,IAAInmb,cACxC,CAUA,OARAkV,EAAIwrsB,KAAOxrsB,EAAI68C,SAAW78C,EAAI48C,SAAU,IAAK58C,EAAI68C,SAAW78C,EAAI48C,SAEhE58C,EAAImgE,OAA0B,UAAjBngE,EAAIc,UAAwByjtB,EAAUvktB,EAAIc,WAAad,EAAI5S,KACpE4S,EAAIc,SAAU,KAAMd,EAAI5S,KACxB,OAEJ4S,EAAIyC,KAAOzC,EAAI92B,WAER82B,CACT,EA8D4B92B,SArD5B,SAAkBsC,GACXA,GAAa,mBAAsBA,IAAWA,EAAYwyG,EAAGxyG,WAElE,IAAIgmF,EACAxxD,EAAM50B,KACNgiB,EAAO4S,EAAI5S,KACX0T,EAAWd,EAAIc,SAEfA,GAAqD,MAAzCA,EAASgjB,OAAOhjB,EAASl3B,OAAS,KAAYk3B,GAAY,KAE1E,IAAIz1B,EACFy1B,GACEd,EAAIc,UAAYd,EAAIy2hC,SAAYlyU,EAAUvktB,EAAIc,UAAY,KAAO,IAsCrE,OApCId,EAAI48C,UACNvxE,GAAU20B,EAAI48C,SACV58C,EAAI68C,WAAUxxE,GAAU,IAAK20B,EAAI68C,UACrCxxE,GAAU,KACD20B,EAAI68C,UACbxxE,GAAU,IAAK20B,EAAI68C,SACnBxxE,GAAU,KAEO,UAAjB20B,EAAIc,UACJyjtB,EAAUvktB,EAAIc,YACb1T,GACgB,MAAjB4S,EAAIuxD,WAMJlmF,GAAU,MAQkB,MAA1B+hB,EAAKA,EAAKxjB,OAAS,IAAeijD,EAAKhhD,KAAKm0B,EAAIiB,YAAcjB,EAAI6sB,QACpEz/B,GAAQ,KAGV/hB,GAAU+hB,EAAO4S,EAAIuxD,UAErBC,EAAQ,iBAAoBxxD,EAAIwxD,MAAQhmF,EAAUw0B,EAAIwxD,OAASxxD,EAAIwxD,SACxDnmF,GAAU,MAAQmmF,EAAM1tC,OAAO,GAAK,IAAK0tC,EAAQA,GAExDxxD,EAAIyxD,OAAMpmF,GAAU20B,EAAIyxD,MAErBpmF,CACT,GAQAwjvB,EAAIioU,gBAAkBA,EACtBjoU,EAAI7ttB,SAAW41hC,EACf/nU,EAAI7hC,SAAWA,EACf6hC,EAAI7woB,GAAKA,EAET3gE,EAAOC,QAAUuxsB,C,kBCnjBjB,IAAI+2T,EAAW1mhC,EAAQ,OAEvB,SAAS2vtB,IACPzjvB,KAAK01B,SAAW,KAChB11B,KAAKqrjC,QAAU,KACfrrjC,KAAKoguB,KAAO,KACZpguB,KAAKgiB,KAAO,KACZhiB,KAAKyhD,KAAO,KACZzhD,KAAK61B,SAAW,KAChB71B,KAAKqmF,KAAO,KACZrmF,KAAKonG,OAAS,KACdpnG,KAAKomF,MAAQ,KACbpmF,KAAKmmF,SAAW,KAChBnmF,KAAK+f,KAAO,KACZ/f,KAAKq3B,KAAO,IACd,CAQA,IAAI40hC,EAAkB,oBACpBC,EAAc,WAGdC,EAAoB,oCAWpBC,EAAS,CACP,IAAK,IAAK,IAAK,KAAM,IAAK,KAC1B5qjC,OAPO,CACP,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,OASvC6qjC,EAAa,CAAC,KAAM7qjC,OAAO4qjC,GAO3BE,EAAe,CACb,IAAK,IAAK,IAAK,IAAK,KACpB9qjC,OAAO6qjC,GACTE,EAAkB,CAChB,IAAK,IAAK,KAGZC,EAAsB,yBACtBC,EAAoB,+BAEpBC,EAAiB,CACfvoI,YAAY,EACZ,eAAe,GAGjBwoI,EAAmB,CACjBxoI,YAAY,EACZ,eAAe,GAGjByoI,EAAkB,CAChBpv6B,MAAM,EACNgnY,OAAO,EACPm9U,KAAK,EACLkrN,QAAQ,EACRllxB,MAAM,EACN,SAAS,EACT,UAAU,EACV,QAAQ,EACR,WAAW,EACX,SAAS,GAEXmlxB,EAAch5hC,EAAQ,OAExB,SAAS+qtB,EAASjqtB,EAAKssD,EAAkB6r+B,GACvC,GAAIn4hC,GAAsB,iBAARA,GAAoBA,aAAe6utB,EAAO,OAAO7utB,EAEnE,IAAIyvC,EAAI,IAAIo/qB,EAEZ,OADAp/qB,EAAE/jE,MAAMs0B,EAAKssD,EAAkB6r+B,GACxB1o/B,CACT,CAEAo/qB,EAAIzlvB,UAAUsC,MAAQ,SAAUs0B,EAAKssD,EAAkB6r+B,GACrD,GAAmB,iBAARn4hC,EACT,MAAM,IAAIwc,UAAU,gDAAkDxc,GAQxE,IAAIo4hC,EAAap4hC,EAAI51B,QAAQ,KAC3BiujC,GAA2B,IAAhBD,GAAqBA,EAAap4hC,EAAI51B,QAAQ,KAAO,IAAM,IACtEkujC,EAASt4hC,EAAI+Y,MAAMs/gC,GAErBC,EAAO,GAAKA,EAAO,GAAGztiC,QADP,MAC2B,KAG1C,IAAI+nH,EAFJ5yG,EAAMs4hC,EAAOphgC,KAAKmhgC,GAUlB,GAFAzl7B,EAAOA,EAAKxwE,QAEP+1/B,GAA+C,IAA1Bn4hC,EAAI+Y,MAAM,KAAKnvC,OAAc,CAErD,IAAI2ujC,EAAahB,EAAkB93gC,KAAKmzF,GACxC,GAAI2l7B,EAeF,OAdAntjC,KAAK+f,KAAOynH,EACZxnI,KAAKq3B,KAAOmwG,EACZxnI,KAAKmmF,SAAWgn+B,EAAW,GACvBA,EAAW,IACbntjC,KAAKonG,OAAS+l9B,EAAW,GAEvBntjC,KAAKomF,MADHlF,EACW4r+B,EAAYxsjC,MAAMN,KAAKonG,OAAOh3C,OAAO,IAErCpwD,KAAKonG,OAAOh3C,OAAO,IAEzB8wB,IACTlhF,KAAKonG,OAAS,GACdpnG,KAAKomF,MAAQ,CAAC,GAETpmF,IAEX,CAEA,IAAIqgD,EAAQ4rgC,EAAgB53gC,KAAKmzF,GACjC,GAAInnF,EAAO,CAET,IAAI+sgC,GADJ/sgC,EAAQA,EAAM,IACS3gC,cACvB1f,KAAK01B,SAAW03hC,EAChB5l7B,EAAOA,EAAKp3E,OAAO/P,EAAM7hD,OAC3B,CAQA,GAAIuujC,GAAqB1sgC,GAASmnF,EAAK7mI,MAAM,sBAAuB,CAClE,IAAI0qjC,EAAgC,OAAtB7j7B,EAAKp3E,OAAO,EAAG,IACzBi7/B,GAAahrgC,GAASssgC,EAAiBtsgC,KACzCmnF,EAAOA,EAAKp3E,OAAO,GACnBpwD,KAAKqrjC,SAAU,EAEnB,CAEA,IAAKsB,EAAiBtsgC,KAAWgrgC,GAAYhrgC,IAAUusgC,EAAgBvsgC,IAAU,CAuB/E,IADA,IAUI+/qB,EAAMitV,EAVNC,GAAW,EACNvujC,EAAI,EAAGA,EAAIwtjC,EAAgB/tjC,OAAQO,IAAK,EAElC,KADTwujC,EAAM/l7B,EAAKxoI,QAAQutjC,EAAgBxtjC,QACP,IAAbuujC,GAAkBC,EAAMD,KAAYA,EAAUC,EACnE,EAsBgB,KAbdF,GAFe,IAAbC,EAEO9l7B,EAAKj4E,YAAY,KAMjBi4E,EAAKj4E,YAAY,IAAK+9/B,MAQ/BltV,EAAO54lB,EAAK5yH,MAAM,EAAGy4iC,GACrB7l7B,EAAOA,EAAK5yH,MAAMy4iC,EAAS,GAC3BrtjC,KAAKoguB,KAAOlipB,mBAAmBkipB,IAIjCktV,GAAW,EACX,IAASvujC,EAAI,EAAGA,EAAIutjC,EAAa9tjC,OAAQO,IAAK,CAC5C,IAAIwujC,GACS,KADTA,EAAM/l7B,EAAKxoI,QAAQstjC,EAAavtjC,QACJ,IAAbuujC,GAAkBC,EAAMD,KAAYA,EAAUC,EACnE,EAEiB,IAAbD,IAAkBA,EAAU9l7B,EAAKhpI,QAErCwB,KAAKgiB,KAAOwlH,EAAK5yH,MAAM,EAAG04iC,GAC1B9l7B,EAAOA,EAAK5yH,MAAM04iC,GAGlBttjC,KAAKwtjC,YAMLxtjC,KAAK61B,SAAW71B,KAAK61B,UAAY,GAMjC,IAAI43hC,EAAoC,MAArBztjC,KAAK61B,SAAS,IAA0D,MAA5C71B,KAAK61B,SAAS71B,KAAK61B,SAASr3B,OAAS,GAGpF,IAAKivjC,EAEH,IADA,IAAIC,EAAY1tjC,KAAK61B,SAAS8X,MAAM,MACpB8O,GAAP19C,EAAI,EAAO2ujC,EAAUlvjC,QAAQO,EAAI09C,EAAG19C,IAAK,CAChD,IAAI24E,EAAOg2+B,EAAU3ujC,GACrB,GAAK24E,IACAA,EAAK/2E,MAAM6rjC,GAAsB,CAEpC,IADA,IAAImB,EAAU,GACLv5hC,EAAI,EAAG+oB,EAAIu6B,EAAKl5E,OAAQ41B,EAAI+oB,EAAG/oB,IAClCsjD,EAAK32B,WAAW3sB,GAAK,IAMvBu5hC,GAAW,IAEXA,GAAWj2+B,EAAKtjD,GAIpB,IAAKu5hC,EAAQhtjC,MAAM6rjC,GAAsB,CACvC,IAAIoB,EAAaF,EAAU94iC,MAAM,EAAG7V,GAChC8ujC,EAAUH,EAAU94iC,MAAM7V,EAAI,GAC9B+ujC,EAAMp2+B,EAAK/2E,MAAM8rjC,GACjBqB,IACFF,EAAW9pjC,KAAKgqjC,EAAI,IACpBD,EAAQnw/B,QAAQow/B,EAAI,KAElBD,EAAQrvjC,SACVgpI,EAAO,IAAMqm7B,EAAQ/hgC,KAAK,KAAO07E,GAEnCxnI,KAAK61B,SAAW+3hC,EAAW9hgC,KAAK,KAChC,KACF,CACF,CACF,CAGE9rD,KAAK61B,SAASr3B,OAjOH,IAkObwB,KAAK61B,SAAW,GAGhB71B,KAAK61B,SAAW71B,KAAK61B,SAASnW,cAG3B+tiC,IAOHztjC,KAAK61B,SAAW2khC,EAAStxX,QAAQlprB,KAAK61B,WAGxC,IAAIn3B,EAAIsB,KAAKyhD,KAAO,IAAMzhD,KAAKyhD,KAAO,GAClCurB,EAAIhtE,KAAK61B,UAAY,GACzB71B,KAAKgiB,KAAOgrD,EAAItuE,EAChBsB,KAAKq3B,MAAQr3B,KAAKgiB,KAMdyriC,IACFztjC,KAAK61B,SAAW71B,KAAK61B,SAASu6B,OAAO,EAAGpwD,KAAK61B,SAASr3B,OAAS,GAC/C,MAAZgpI,EAAK,KACPA,EAAO,IAAMA,GAGnB,CAMA,IAAKkl7B,EAAeU,GAOlB,IAASrujC,EAAI,EAAG09C,EAAI4vgC,EAAW7tjC,OAAQO,EAAI09C,EAAG19C,IAAK,CACjD,IAAI4uZ,EAAK0+pB,EAAWttjC,GACpB,IAA0B,IAAtByoI,EAAKxoI,QAAQ2uZ,GAAjB,CACA,IAAIogqB,EAAM5v+B,mBAAmBwvU,GACzBogqB,IAAQpgqB,IACVogqB,EAAMh97B,OAAO48R,IAEfnmR,EAAOA,EAAK75F,MAAMggX,GAAI7hW,KAAKiigC,EALc,CAM3C,CAIF,IAAI1n+B,EAAOmhD,EAAKxoI,QAAQ,MACV,IAAVqnF,IAEFrmF,KAAKqmF,KAAOmhD,EAAKp3E,OAAOi2B,GACxBmhD,EAAOA,EAAK5yH,MAAM,EAAGyxE,IAEvB,IAAI43X,EAAKz2U,EAAKxoI,QAAQ,KAmBtB,IAlBY,IAARi/c,GACFj+c,KAAKonG,OAASogC,EAAKp3E,OAAO6tZ,GAC1Bj+c,KAAKomF,MAAQohD,EAAKp3E,OAAO6tZ,EAAK,GAC1B/8X,IACFlhF,KAAKomF,MAAQ0m+B,EAAYxsjC,MAAMN,KAAKomF,QAEtCohD,EAAOA,EAAK5yH,MAAM,EAAGqpc,IACZ/8X,IAETlhF,KAAKonG,OAAS,GACdpnG,KAAKomF,MAAQ,CAAC,GAEZohD,IAAQxnI,KAAKmmF,SAAWqhD,GACxBol7B,EAAgBQ,IAAeptjC,KAAK61B,WAAa71B,KAAKmmF,WACxDnmF,KAAKmmF,SAAW,KAIdnmF,KAAKmmF,UAAYnmF,KAAKonG,OAAQ,CAC5B1oG,EAAIsB,KAAKmmF,UAAY,GAAzB,IACIphF,EAAI/E,KAAKonG,QAAU,GACvBpnG,KAAK+f,KAAOrhB,EAAIqG,CAClB,CAIA,OADA/E,KAAKq3B,KAAOr3B,KAAKs1X,SACVt1X,IACT,EAeAyjvB,EAAIzlvB,UAAUs3X,OAAS,WACrB,IAAI8qW,EAAOpguB,KAAKoguB,MAAQ,GACpBA,IAEFA,GADAA,EAAOjipB,mBAAmBiipB,IACd3gtB,QAAQ,OAAQ,KAC5B2gtB,GAAQ,KAGV,IAAI1qsB,EAAW11B,KAAK01B,UAAY,GAC9BywD,EAAWnmF,KAAKmmF,UAAY,GAC5BE,EAAOrmF,KAAKqmF,MAAQ,GACpBrkE,GAAO,EACPokE,EAAQ,GAENpmF,KAAKgiB,KACPA,EAAOo+sB,EAAOpguB,KAAKgiB,KACVhiB,KAAK61B,WACd7T,EAAOo+sB,IAAwC,IAAhCpguB,KAAK61B,SAAS72B,QAAQ,KAAcgB,KAAK61B,SAAW,IAAM71B,KAAK61B,SAAW,KACrF71B,KAAKyhD,OACPz/B,GAAQ,IAAMhiB,KAAKyhD,OAInBzhD,KAAKomF,OAA+B,iBAAfpmF,KAAKomF,OAAsBroF,OAAO4F,KAAK3D,KAAKomF,OAAO5nF,SAC1E4nF,EAAQ0m+B,EAAY1sjC,UAAUJ,KAAKomF,MAAO,CACxC8sB,YAAa,SACbC,gBAAgB,KAIpB,IAAI/L,EAASpnG,KAAKonG,QAAWhhB,GAAU,IAAMA,GAAW,GAuBxD,OArBI1wD,GAAoC,MAAxBA,EAAS06B,QAAQ,KAAc16B,GAAY,KAMvD11B,KAAKqrjC,WAAa31hC,GAAYk3hC,EAAgBl3hC,MAAuB,IAAT1T,GAC9DA,EAAO,MAAQA,GAAQ,IACnBmkE,GAAmC,MAAvBA,EAASztC,OAAO,KAAcytC,EAAW,IAAMA,IACrDnkE,IACVA,EAAO,IAGLqkE,GAA2B,MAAnBA,EAAK3tC,OAAO,KAAc2tC,EAAO,IAAMA,GAC/C+gB,GAA+B,MAArBA,EAAO1uD,OAAO,KAAc0uD,EAAS,IAAMA,GAEzDjhB,EAAWA,EAAS1mE,QAAQ,QAAS,SAAU9e,GAC7C,OAAOw9E,mBAAmBx9E,EAC5B,GAGO+0B,EAAW1T,EAAOmkE,GAFzBihB,EAASA,EAAO3nF,QAAQ,IAAK,QAEgB4mE,CAC/C,EAMAo9pB,EAAIzlvB,UAAU8I,QAAU,SAAU6+E,GAChC,OAAO3lF,KAAKgujC,cAAcnvU,EAASl5pB,GAAU,GAAO,IAAO2vS,QAC7D,EAOAmuX,EAAIzlvB,UAAUgwjC,cAAgB,SAAUro+B,GACtC,GAAwB,iBAAbA,EAAuB,CAChC,IAAIm/K,EAAM,IAAI2+e,EACd3+e,EAAIxkQ,MAAMqlF,GAAU,GAAO,GAC3BA,EAAWm/K,CACb,CAIA,IAFA,IAAI7kQ,EAAS,IAAIwjvB,EACbwqU,EAAQlwjC,OAAO4F,KAAK3D,MACfg0wB,EAAK,EAAGA,EAAKi6S,EAAMzvjC,OAAQw1wB,IAAM,CACxC,IAAIk6S,EAAOD,EAAMj6S,GACjB/zwB,EAAOiujC,GAAQlujC,KAAKkujC,EACtB,CASA,GAHAjujC,EAAOomF,KAAOV,EAASU,KAGD,KAAlBV,EAAStuD,KAEX,OADAp3B,EAAOo3B,KAAOp3B,EAAOq1X,SACdr1X,EAIT,GAAI0lF,EAAS0l+B,UAAY1l+B,EAASjwD,SAAU,CAG1C,IADA,IAAIy4hC,EAAQpwjC,OAAO4F,KAAKgiF,GACfmrrB,EAAK,EAAGA,EAAKq9S,EAAM3vjC,OAAQsywB,IAAM,CACxC,IAAIs9S,EAAOD,EAAMr9S,GACJ,aAATs9S,IAAuBnujC,EAAOmujC,GAAQzo+B,EAASyo+B,GACrD,CASA,OANIxB,EAAgB3sjC,EAAOy1B,WAAaz1B,EAAO41B,WAAa51B,EAAOkmF,WACjElmF,EAAOkmF,SAAW,IAClBlmF,EAAO8f,KAAO9f,EAAOkmF,UAGvBlmF,EAAOo3B,KAAOp3B,EAAOq1X,SACdr1X,CACT,CAEA,GAAI0lF,EAASjwD,UAAYiwD,EAASjwD,WAAaz1B,EAAOy1B,SAAU,CAW9D,IAAKk3hC,EAAgBjn+B,EAASjwD,UAAW,CAEvC,IADA,IAAI/xB,EAAO5F,OAAO4F,KAAKgiF,GACd9gC,EAAI,EAAGA,EAAIlhD,EAAKnF,OAAQqmD,IAAK,CACpC,IAAI1H,EAAIx5C,EAAKkhD,GACb5kD,EAAOk9C,GAAKwoC,EAASxoC,EACvB,CAEA,OADAl9C,EAAOo3B,KAAOp3B,EAAOq1X,SACdr1X,CACT,CAGA,GADAA,EAAOy1B,SAAWiwD,EAASjwD,SACtBiwD,EAAS3jE,MAAS2qiC,EAAiBhn+B,EAASjwD,UAS/Cz1B,EAAOkmF,SAAWR,EAASQ,aAT+B,CAE1D,IADA,IAAIko+B,GAAW1o+B,EAASQ,UAAY,IAAIx4C,MAAM,KACvC0ghC,EAAQ7vjC,UAAYmnF,EAAS3jE,KAAOqsiC,EAAQ1w/B,WAC9CgoB,EAAS3jE,OAAQ2jE,EAAS3jE,KAAO,IACjC2jE,EAAS9vD,WAAY8vD,EAAS9vD,SAAW,IAC3B,KAAfw4hC,EAAQ,IAAaA,EAAQ3w/B,QAAQ,IACrC2w/B,EAAQ7vjC,OAAS,GAAK6vjC,EAAQ3w/B,QAAQ,IAC1Cz9D,EAAOkmF,SAAWko+B,EAAQvigC,KAAK,IACjC,CAUA,GAPA7rD,EAAOmnG,OAASzhB,EAASyhB,OACzBnnG,EAAOmmF,MAAQT,EAASS,MACxBnmF,EAAO+hB,KAAO2jE,EAAS3jE,MAAQ,GAC/B/hB,EAAOmguB,KAAOz6oB,EAASy6oB,KACvBnguB,EAAO41B,SAAW8vD,EAAS9vD,UAAY8vD,EAAS3jE,KAChD/hB,EAAOwhD,KAAOkkC,EAASlkC,KAEnBxhD,EAAOkmF,UAAYlmF,EAAOmnG,OAAQ,CACpC,IAAI1oG,EAAIuB,EAAOkmF,UAAY,GACvBphF,EAAI9E,EAAOmnG,QAAU,GACzBnnG,EAAO8f,KAAOrhB,EAAIqG,CACpB,CAGA,OAFA9E,EAAOorjC,QAAUprjC,EAAOorjC,SAAW1l+B,EAAS0l+B,QAC5CprjC,EAAOo3B,KAAOp3B,EAAOq1X,SACdr1X,CACT,CAEA,IAAIqujC,EAAcrujC,EAAOkmF,UAA0C,MAA9BlmF,EAAOkmF,SAASztC,OAAO,GAC1D61gC,EAAW5o+B,EAAS3jE,MAAQ2jE,EAASQ,UAA4C,MAAhCR,EAASQ,SAASztC,OAAO,GAC1E81gC,EAAaD,GAAYD,GAAgBrujC,EAAO+hB,MAAQ2jE,EAASQ,SACjEso+B,EAAgBD,EAChBE,EAAUzujC,EAAOkmF,UAAYlmF,EAAOkmF,SAASx4C,MAAM,MAAQ,GAE3DghhC,GADAN,EAAU1o+B,EAASQ,UAAYR,EAASQ,SAASx4C,MAAM,MAAQ,GACnD1tC,EAAOy1B,WAAak3hC,EAAgB3sjC,EAAOy1B,WA2BzD,GAlBIi5hC,IACF1ujC,EAAO41B,SAAW,GAClB51B,EAAOwhD,KAAO,KACVxhD,EAAO+hB,OACU,KAAf0siC,EAAQ,GAAaA,EAAQ,GAAKzujC,EAAO+hB,KAAe0siC,EAAQhx/B,QAAQz9D,EAAO+hB,OAErF/hB,EAAO+hB,KAAO,GACV2jE,EAASjwD,WACXiwD,EAAS9vD,SAAW,KACpB8vD,EAASlkC,KAAO,KACZkkC,EAAS3jE,OACQ,KAAfqsiC,EAAQ,GAAaA,EAAQ,GAAK1o+B,EAAS3jE,KAAeqsiC,EAAQ3w/B,QAAQioB,EAAS3jE,OAEzF2jE,EAAS3jE,KAAO,MAElBwsiC,EAAaA,IAA8B,KAAfH,EAAQ,IAA4B,KAAfK,EAAQ,KAGvDH,EAEFtujC,EAAO+hB,KAAO2jE,EAAS3jE,MAA0B,KAAlB2jE,EAAS3jE,KAAc2jE,EAAS3jE,KAAO/hB,EAAO+hB,KAC7E/hB,EAAO41B,SAAW8vD,EAAS9vD,UAAkC,KAAtB8vD,EAAS9vD,SAAkB8vD,EAAS9vD,SAAW51B,EAAO41B,SAC7F51B,EAAOmnG,OAASzhB,EAASyhB,OACzBnnG,EAAOmmF,MAAQT,EAASS,MACxBso+B,EAAUL,OAEL,GAAIA,EAAQ7vjC,OAKZkwjC,IAAWA,EAAU,IAC1BA,EAAQnx/B,MACRmx/B,EAAUA,EAAQltjC,OAAO6sjC,GACzBpujC,EAAOmnG,OAASzhB,EAASyhB,OACzBnnG,EAAOmmF,MAAQT,EAASS,WACnB,GAAuB,MAAnBT,EAASyhB,OAAgB,CAMlC,GAAIun9B,EACF1ujC,EAAO+hB,KAAO0siC,EAAQ/w/B,QACtB19D,EAAO41B,SAAW51B,EAAO+hB,MAMrB4siC,KAAa3ujC,EAAO+hB,MAAQ/hB,EAAO+hB,KAAKhjB,QAAQ,KAAO,IAAIiB,EAAO+hB,KAAK2rB,MAAM,QAE/E1tC,EAAOmguB,KAAOwuV,EAAWjx/B,QACzB19D,EAAO41B,SAAW+4hC,EAAWjx/B,QAC7B19D,EAAO+hB,KAAO/hB,EAAO41B,UAUzB,OAPA51B,EAAOmnG,OAASzhB,EAASyhB,OACzBnnG,EAAOmmF,MAAQT,EAASS,MAEA,OAApBnmF,EAAOkmF,UAAuC,OAAlBlmF,EAAOmnG,SACrCnnG,EAAO8f,MAAQ9f,EAAOkmF,SAAWlmF,EAAOkmF,SAAW,KAAOlmF,EAAOmnG,OAASnnG,EAAOmnG,OAAS,KAE5FnnG,EAAOo3B,KAAOp3B,EAAOq1X,SACdr1X,CACT,CAEA,IAAKyujC,EAAQlwjC,OAaX,OARAyB,EAAOkmF,SAAW,KAEdlmF,EAAOmnG,OACTnnG,EAAO8f,KAAO,IAAM9f,EAAOmnG,OAE3BnnG,EAAO8f,KAAO,KAEhB9f,EAAOo3B,KAAOp3B,EAAOq1X,SACdr1X,EAgBT,IARA,IAAI8lD,EAAO2ogC,EAAQ95iC,OAAO,GAAG,GACzBw9U,GAAoBnyV,EAAO+hB,MAAQ2jE,EAAS3jE,MAAQ0siC,EAAQlwjC,OAAS,KAAgB,MAATunD,GAAyB,OAATA,IAA2B,KAATA,EAM9G3pC,EAAK,EACArd,EAAI2vjC,EAAQlwjC,OAAQO,GAAK,EAAGA,IAEtB,OADbgnD,EAAO2ogC,EAAQ3vjC,IAEb2vjC,EAAQ5vhC,OAAO//B,EAAG,GACA,OAATgnD,GACT2ogC,EAAQ5vhC,OAAO//B,EAAG,GAClBqd,KACSA,IACTsyiC,EAAQ5vhC,OAAO//B,EAAG,GAClBqd,KAKJ,IAAKoyiC,IAAeC,EAClB,KAAOryiC,IAAMA,EACXsyiC,EAAQhx/B,QAAQ,OAIhB8w/B,GAA6B,KAAfE,EAAQ,IAAeA,EAAQ,IAA+B,MAAzBA,EAAQ,GAAGh2gC,OAAO,IACvEg2gC,EAAQhx/B,QAAQ,IAGd00R,GAAsD,MAAjCs8tB,EAAQ5igC,KAAK,KAAKsE,QAAQ,IACjDs+/B,EAAQ5qjC,KAAK,IAGf,IAWM8qjC,EAXFzkjB,EAA4B,KAAfukjB,EAAQ,IAAcA,EAAQ,IAA+B,MAAzBA,EAAQ,GAAGh2gC,OAAO,GAGnEi2gC,IACF1ujC,EAAO41B,SAAWs0e,EAAa,GAAKukjB,EAAQlwjC,OAASkwjC,EAAQ/w/B,QAAU,GACvE19D,EAAO+hB,KAAO/hB,EAAO41B,UAMjB+4hC,KAAa3ujC,EAAO+hB,MAAQ/hB,EAAO+hB,KAAKhjB,QAAQ,KAAO,IAAIiB,EAAO+hB,KAAK2rB,MAAM,QAE/E1tC,EAAOmguB,KAAOwuV,EAAWjx/B,QACzB19D,EAAO41B,SAAW+4hC,EAAWjx/B,QAC7B19D,EAAO+hB,KAAO/hB,EAAO41B,WAwBzB,OApBA24hC,EAAaA,GAAevujC,EAAO+hB,MAAQ0siC,EAAQlwjC,UAEhC2rgB,GACjBukjB,EAAQhx/B,QAAQ,IAGdgx/B,EAAQlwjC,OAAS,EACnByB,EAAOkmF,SAAWuo+B,EAAQ5igC,KAAK,MAE/B7rD,EAAOkmF,SAAW,KAClBlmF,EAAO8f,KAAO,MAIQ,OAApB9f,EAAOkmF,UAAuC,OAAlBlmF,EAAOmnG,SACrCnnG,EAAO8f,MAAQ9f,EAAOkmF,SAAWlmF,EAAOkmF,SAAW,KAAOlmF,EAAOmnG,OAASnnG,EAAOmnG,OAAS,KAE5FnnG,EAAOmguB,KAAOz6oB,EAASy6oB,MAAQnguB,EAAOmguB,KACtCnguB,EAAOorjC,QAAUprjC,EAAOorjC,SAAW1l+B,EAAS0l+B,QAC5CprjC,EAAOo3B,KAAOp3B,EAAOq1X,SACdr1X,CACT,EAEAwjvB,EAAIzlvB,UAAUwvjC,UAAY,WACxB,IAAIxriC,EAAOhiB,KAAKgiB,KACZy/B,EAAOyqgC,EAAY73gC,KAAKryB,GACxBy/B,IAEW,OADbA,EAAOA,EAAK,MAEVzhD,KAAKyhD,KAAOA,EAAK2O,OAAO,IAE1BpuC,EAAOA,EAAKouC,OAAO,EAAGpuC,EAAKxjB,OAASijD,EAAKjjD,SAEvCwjB,IAAQhiB,KAAK61B,SAAW7T,EAC9B,EAEAkwB,EAAQ5xC,MAAQu+uB,EAChB3ssB,EAAQprC,QA/SR,SAAoB8uC,EAAQ+vC,GAC1B,OAAOk5pB,EAASjpsB,GAAQ,GAAO,GAAM9uC,QAAQ6+E,EAC/C,EA8SAzzC,EAAQ87gC,cAxSR,SAA0Bp4gC,EAAQ+vC,GAChC,OAAK/vC,EACEipsB,EAASjpsB,GAAQ,GAAO,GAAMo4gC,cAAcro+B,GAD7BA,CAExB,EAsSAzzC,EAAQojV,OArXR,SAAmB/3V,GAQjB,MADmB,iBAARA,IAAoBA,EAAMshtB,EAASthtB,IACxCA,aAAekmtB,EACdlmtB,EAAI+3V,SADyBmuX,EAAIzlvB,UAAUs3X,OAAO91X,KAAK+9B,EAEhE,EA6WA2U,EAAQuxsB,IAAMA,C,YCrwBd,SAASorU,EAAgBp9/B,GACvB,OAAOA,GAAa,OAAUA,GAAa,KAC7C,CAEA,SAASq9/B,EAAer9/B,GACtB,OAAOA,GAAa,OAAUA,GAAa,KAC7C,CAGAxf,EAAOC,QAAU,SAAuB8b,GACtC,GAAsB,iBAAXA,EACT,MAAM,IAAItuD,MAAM,wBAOlB,IAJA,IAAIqvjC,EAAa/ggC,EAAOxvD,OACpBqvD,EAAa,EACb4D,EAAY,KACZu9/B,EAAgB,KACXjwjC,EAAI,EAAGA,EAAIgwjC,EAAYhwjC,IAI1B+vjC,EAHJr9/B,EAAYzD,EAAOjN,WAAWhiD,IAKP,MAAjBiwjC,GAAyBH,EAAgBG,GAC3CnhgC,GAAc,EAGdA,GAAc,EAGT4D,GAAa,IACpB5D,GAAc,EAEP4D,GAAa,KAAQA,GAAa,KACzC5D,GAAc,EAEP4D,GAAa,MAASA,GAAa,QAC1C5D,GAAc,GAEhBmhgC,EAAgBv9/B,EAGlB,OAAO5D,CACT,C,kBCUA,SAAShoD,EAAQhJ,GAEf,IACE,IAAKu1C,EAAAA,EAAOjwC,aAAc,OAAO,CACnC,CAAE,MAAOy8E,GACP,OAAO,CACT,CACA,IAAI9pC,EAAM1C,EAAAA,EAAOjwC,aAAatF,GAC9B,OAAI,MAAQi4C,GACyB,SAA9BrzC,OAAOqzC,GAAKp1B,aACrB,CA7DAuyB,EAAOC,QAoBP,SAAoBvlC,EAAI+4D,GACtB,GAAI7/D,EAAO,iBACT,OAAO8G,EAGT,IAAI40Y,GAAS,EAeb,OAdA,WACE,IAAKA,EAAQ,CACX,GAAI17Y,EAAO,oBACT,MAAM,IAAInG,MAAMgmE,GACP7/D,EAAO,oBAChB/I,QAAQknM,MAAMt+H,GAEd5oE,QAAQyE,KAAKmkE,GAEf67U,GAAS,CACX,CACA,OAAO50Y,EAAG3E,MAAMhI,KAAMgC,UACxB,CAGF,C,YC9CAiwC,EAAOC,QAAU,SAAkBv9B,GACjC,OAAOA,GAAsB,iBAARA,GACI,mBAAbA,EAAI25C,MACS,mBAAb35C,EAAI89C,MACc,mBAAlB99C,EAAI+/C,SAClB,C,kBCAA,IAAIu6/B,EAAoBn7hC,EAAQ,OAC5Bo7hC,EAAsBp7hC,EAAQ,MAC9BszhB,EAAkBtzhB,EAAQ,OAC1Bm5D,EAAen5D,EAAQ,OAE3B,SAAS40X,EAAYvjZ,GACnB,OAAOA,EAAE3F,KAAKmlE,KAAKx/D,EACrB,CAEA,IAAIgqjC,EAAoC,oBAAX1+rB,OACzB2+rB,EAAoC,oBAAXp3gC,OAEzBq3gC,EAAiB3mqB,EAAY3qZ,OAAOC,UAAUF,UAE9CwxjC,EAAc5mqB,EAAYz4V,OAAOjyD,UAAU+2C,SAC3Cm4lB,EAAcxkP,EAAYjnZ,OAAOzD,UAAU+2C,SAC3Cw6gC,EAAe7mqB,EAAYpgY,QAAQtqB,UAAU+2C,SAEjD,GAAIo6gC,EACF,IAAIK,EAAc9mqB,EAAYj4B,OAAOzyX,UAAU+2C,SAGjD,GAAIq6gC,EACF,IAAIK,EAAc/mqB,EAAY1wW,OAAOh6C,UAAU+2C,SAGjD,SAAS26gC,EAAoBrwjC,EAAOswjC,GAClC,GAAqB,iBAAVtwjC,EACT,OAAO,EAET,IAEE,OADAswjC,EAAiBtwjC,IACV,CACT,CAAE,MAAMzC,GACN,OAAO,CACT,CACF,CA4FA,SAASgzjC,EAAcvwjC,GACrB,MAAiC,iBAA1BgwjC,EAAehwjC,EACxB,CAiBA,SAASwwjC,EAAcxwjC,GACrB,MAAiC,iBAA1BgwjC,EAAehwjC,EACxB,CAgBA,SAASywjC,EAAkBzwjC,GACzB,MAAiC,qBAA1BgwjC,EAAehwjC,EACxB,CAgBA,SAAS0wjC,EAAkB1wjC,GACzB,MAAiC,qBAA1BgwjC,EAAehwjC,EACxB,CAUA,SAAS2wjC,EAAsB3wjC,GAC7B,MAAiC,yBAA1BgwjC,EAAehwjC,EACxB,CAKA,SAASu1jB,EAAcv1jB,GACrB,MAA2B,oBAAhBT,cAIJoxjC,EAAsBC,QACzBD,EAAsB3wjC,GACtBA,aAAiBT,YACvB,CAGA,SAASsxjC,EAAmB7wjC,GAC1B,MAAiC,sBAA1BgwjC,EAAehwjC,EACxB,CAMA,SAAS8wjC,EAAW9wjC,GAClB,MAAwB,oBAAb6nE,WAIJgp/B,EAAmBD,QACtBC,EAAmB7wjC,GACnBA,aAAiB6nE,SACvB,CA/LAh1B,EAAQ+8gC,kBAAoBA,EAC5B/8gC,EAAQg9gC,oBAAsBA,EAC9Bh9gC,EAAQ+6C,aAAeA,EAkBvB/6C,EAAQ8uW,UAdR,SAAmBl9U,GAClB,MAEqB,oBAAZj9D,SACPi9D,aAAiBj9D,SAGP,OAAVi9D,GACiB,iBAAVA,GACe,mBAAfA,EAAMhiE,MACU,mBAAhBgiE,EAAM/5D,KAGhB,EAaAmoC,EAAQ02W,kBAVR,SAA2BvpZ,GACzB,MAA2B,oBAAhBT,aAA+BA,YAAY6vD,OAC7C7vD,YAAY6vD,OAAOpvD,GAI1B4tF,EAAa5tF,IACb8wjC,EAAW9wjC,EAEf,EAOA6yC,EAAQk+gC,aAHR,SAAsB/wjC,GACpB,MAAkC,eAA3B+njB,EAAgB/njB,EACzB,EAMA6yC,EAAQm+gC,oBAHR,SAA6BhxjC,GAC3B,MAAkC,sBAA3B+njB,EAAgB/njB,EACzB,EAMA6yC,EAAQo+gC,cAHR,SAAuBjxjC,GACrB,MAAkC,gBAA3B+njB,EAAgB/njB,EACzB,EAMA6yC,EAAQq+gC,cAHR,SAAuBlxjC,GACrB,MAAkC,gBAA3B+njB,EAAgB/njB,EACzB,EAMA6yC,EAAQs+gC,YAHR,SAAqBnxjC,GACnB,MAAkC,cAA3B+njB,EAAgB/njB,EACzB,EAMA6yC,EAAQu+gC,aAHR,SAAsBpxjC,GACpB,MAAkC,eAA3B+njB,EAAgB/njB,EACzB,EAMA6yC,EAAQw+gC,aAHR,SAAsBrxjC,GACpB,MAAkC,eAA3B+njB,EAAgB/njB,EACzB,EAMA6yC,EAAQm3W,eAHR,SAAwBhqZ,GACtB,MAAkC,iBAA3B+njB,EAAgB/njB,EACzB,EAMA6yC,EAAQo3W,eAHR,SAAwBjqZ,GACtB,MAAkC,iBAA3B+njB,EAAgB/njB,EACzB,EAMA6yC,EAAQy+gC,gBAHR,SAAyBtxjC,GACvB,MAAkC,kBAA3B+njB,EAAgB/njB,EACzB,EAMA6yC,EAAQ0+gC,iBAHR,SAA0BvxjC,GACxB,MAAkC,mBAA3B+njB,EAAgB/njB,EACzB,EAMAuwjC,EAAcK,QACG,oBAAR5rjC,KACPurjC,EAAc,IAAIvrjC,KAYpB6tC,EAAQigK,MATR,SAAe9yM,GACb,MAAmB,oBAARgF,MAIJurjC,EAAcK,QACjBL,EAAcvwjC,GACdA,aAAiBgF,IACvB,EAMAwrjC,EAAcI,QACG,oBAARzp/B,KACPqp/B,EAAc,IAAIrp/B,KAWpBt0B,EAAQ8pU,MATR,SAAe38W,GACb,MAAmB,oBAARmnE,MAIJqp/B,EAAcI,QACjBJ,EAAcxwjC,GACdA,aAAiBmnE,IACvB,EAMAsp/B,EAAkBG,QACG,oBAAZlp/B,SACP+o/B,EAAkB,IAAI/o/B,SAWxB70B,EAAQu5gB,UATR,SAAmBpsjB,GACjB,MAAuB,oBAAZ0nE,UAIJ+o/B,EAAkBG,QACrBH,EAAkBzwjC,GAClBA,aAAiB0nE,QACvB,EAMAgp/B,EAAkBE,QACG,oBAAZtz/B,SACPoz/B,EAAkB,IAAIpz/B,SAKxBzqB,EAAQo/hB,UAHR,SAAmBjykB,GACjB,OAAO0wjC,EAAkB1wjC,EAC3B,EAMA2wjC,EAAsBC,QACG,oBAAhBrxjC,aACPoxjC,EAAsB,IAAIpxjC,aAW5BszC,EAAQ0ihB,cAAgBA,EAKxBs7f,EAAmBD,QACM,oBAAhBrxjC,aACa,oBAAbsoE,UACPgp/B,EAAmB,IAAIhp/B,SAAS,IAAItoE,YAAY,GAAI,EAAG,IAWzDszC,EAAQi+gC,WAAaA,EAGrB,IAAIU,EAAqD,oBAAtBxulB,kBAAoCA,uBAAoB38d,EAC3F,SAASorjC,EAA4BzxjC,GACnC,MAAiC,+BAA1BgwjC,EAAehwjC,EACxB,CACA,SAAS0xjC,EAAoB1xjC,GAC3B,YAAqC,IAA1BwxjC,SAIwC,IAAxCC,EAA4Bb,UACrCa,EAA4Bb,QAAUa,EAA4B,IAAID,IAGjEC,EAA4Bb,QAC/Ba,EAA4BzxjC,GAC5BA,aAAiBwxjC,EACvB,CA4BA,SAAS7nqB,EAAe3pZ,GACtB,OAAOqwjC,EAAoBrwjC,EAAOiwjC,EACpC,CAGA,SAASrmqB,EAAe5pZ,GACtB,OAAOqwjC,EAAoBrwjC,EAAO6toB,EACpC,CAGA,SAAShkP,EAAgB7pZ,GACvB,OAAOqwjC,EAAoBrwjC,EAAOkwjC,EACpC,CAGA,SAASpmqB,EAAe9pZ,GACtB,OAAO8vjC,GAAmBO,EAAoBrwjC,EAAOmwjC,EACvD,CAGA,SAASpmqB,EAAe/pZ,GACtB,OAAO+vjC,GAAmBM,EAAoBrwjC,EAAOowjC,EACvD,CAjDAv9gC,EAAQ6+gC,oBAAsBA,EAK9B7+gC,EAAQ8+gC,gBAHR,SAAyB3xjC,GACvB,MAAiC,2BAA1BgwjC,EAAehwjC,EACxB,EAMA6yC,EAAQ++gC,cAHR,SAAuB5xjC,GACrB,MAAiC,0BAA1BgwjC,EAAehwjC,EACxB,EAMA6yC,EAAQg/gC,cAHR,SAAuB7xjC,GACrB,MAAiC,0BAA1BgwjC,EAAehwjC,EACxB,EAMA6yC,EAAQi/gC,kBAHR,SAA2B9xjC,GACzB,MAAiC,uBAA1BgwjC,EAAehwjC,EACxB,EAMA6yC,EAAQk/gC,4BAHR,SAAqC/xjC,GACnC,MAAiC,gCAA1BgwjC,EAAehwjC,EACxB,EAMA6yC,EAAQ82W,eAAiBA,EAKzB92W,EAAQ+2W,eAAiBA,EAKzB/2W,EAAQg3W,gBAAkBA,EAK1Bh3W,EAAQi3W,eAAiBA,EAKzBj3W,EAAQk3W,eAAiBA,EAWzBl3W,EAAQ62W,iBATR,SAA0B1pZ,GACxB,OACE2pZ,EAAe3pZ,IACf4pZ,EAAe5pZ,IACf6pZ,EAAgB7pZ,IAChB8pZ,EAAe9pZ,IACf+pZ,EAAe/pZ,EAEnB,EASA6yC,EAAQy2W,iBANR,SAA0BtpZ,GACxB,MAA6B,oBAAfP,aACZ81jB,EAAcv1jB,IACd0xjC,EAAoB1xjC,GAExB,EAGA,CAAC,UAAW,aAAc,2BAA2B4zB,QAAQ,SAASqV,GACpEvqC,OAAOw2C,eAAerC,EAAS5J,EAAQ,CACrC+M,YAAY,EACZh2C,MAAO,WACL,MAAM,IAAIK,MAAM4oC,EAAS,gCAC3B,GAEJ,E,kBCxTA,IAAI4V,EAA4BngD,OAAOmgD,2BACrC,SAAmC3gB,GAGjC,IAFA,IAAI55B,EAAO5F,OAAO4F,KAAK45B,GACnBo7O,EAAc,CAAC,EACV55Q,EAAI,EAAGA,EAAI4E,EAAKnF,OAAQO,IAC/B45Q,EAAYh1Q,EAAK5E,IAAMhB,OAAOu8C,yBAAyB/c,EAAK55B,EAAK5E,IAEnE,OAAO45Q,CACT,EAEE04yB,EAAe,WACnBn/gC,EAAQojV,OAAS,SAASnwX,GACxB,IAAK6tE,EAAS7tE,GAAI,CAEhB,IADA,IAAI+Q,EAAU,GACLnX,EAAI,EAAGA,EAAIiD,UAAUxD,OAAQO,IACpCmX,EAAQpS,KAAKmvD,EAAQjxD,UAAUjD,KAEjC,OAAOmX,EAAQ41C,KAAK,IACtB,CAEI/sD,EAAI,EAmBR,IAnBA,IACIgV,EAAO/R,UACPvD,EAAMsV,EAAKvV,OACXsB,EAAM2B,OAAO0D,GAAGsa,QAAQ4xiC,EAAc,SAASv8iC,GACjD,GAAU,OAANA,EAAY,MAAO,IACvB,GAAI/V,GAAKN,EAAK,OAAOqW,EACrB,OAAQA,GACN,IAAK,KAAM,OAAOrT,OAAOsS,EAAKhV,MAC9B,IAAK,KAAM,OAAOkxD,OAAOl8C,EAAKhV,MAC9B,IAAK,KACH,IACE,OAAOoB,KAAKC,UAAU2T,EAAKhV,KAC7B,CAAE,MAAO6/E,GACP,MAAO,YACT,CACF,QACE,OAAO9pE,EAEb,GACSA,EAAIf,EAAKhV,GAAIA,EAAIN,EAAKqW,EAAIf,IAAOhV,GACpC8mI,EAAO/wH,KAAOk0E,EAASl0E,GACzBhV,GAAO,IAAMgV,EAEbhV,GAAO,IAAMmzD,EAAQn+C,GAGzB,OAAOhV,CACT,EAMAoyC,EAAQwymB,UAAY,SAAS/3oB,EAAI+4D,GAC/B,GAAuB,oBAAZz0B,UAAqD,IAA1BA,QAAQqghC,cAC5C,OAAO3kjC,EAIT,GAAuB,oBAAZskC,QACT,OAAO,WACL,OAAOiB,EAAQwymB,UAAU/3oB,EAAI+4D,GAAK19D,MAAMhI,KAAMgC,UAChD,EAGF,IAAIu/Y,GAAS,EAeb,OAdA,WACE,IAAKA,EAAQ,CACX,GAAItwW,QAAQsghC,iBACV,MAAM,IAAI7xjC,MAAMgmE,GACPz0B,QAAQughC,iBACjB10jC,QAAQknM,MAAMt+H,GAEd5oE,QAAQC,MAAM2oE,GAEhB67U,GAAS,CACX,CACA,OAAO50Y,EAAG3E,MAAMhI,KAAMgC,UACxB,CAGF,EAGA,IAAIyvjC,EAAS,CAAC,EACVC,EAAgB,KAmCpB,SAASz+/B,EAAQ11B,EAAKqwE,GAEpB,IAAI5R,EAAM,CACRoR,KAAM,GACNuqiB,QAASg6a,GAkBX,OAfI3vjC,UAAUxD,QAAU,IAAGw9F,EAAIu8B,MAAQv2H,UAAU,IAC7CA,UAAUxD,QAAU,IAAGw9F,EAAIsoV,OAAStib,UAAU,IAC9C25K,EAAU/tE,GAEZ5R,EAAIqpT,WAAaz3S,EACRA,GAET17D,EAAQ94B,QAAQ4iF,EAAK4R,GAGnB4iF,EAAYx0F,EAAIqpT,cAAarpT,EAAIqpT,YAAa,GAC9C70N,EAAYx0F,EAAIu8B,SAAQv8B,EAAIu8B,MAAQ,GACpCi4D,EAAYx0F,EAAIsoV,UAAStoV,EAAIsoV,QAAS,GACtC9zP,EAAYx0F,EAAImpT,iBAAgBnpT,EAAImpT,eAAgB,GACpDnpT,EAAIsoV,SAAQtoV,EAAI27iB,QAAUi6a,GACvB37tB,EAAYj6P,EAAKz+D,EAAKy+D,EAAIu8B,MACnC,CAmCA,SAASq57B,EAAiB9xjC,EAAKi3oB,GAC7B,IAAI72nB,EAAQ+yC,EAAQ1yC,OAAOw2nB,GAE3B,OAAI72nB,EACK,QAAY+yC,EAAQqxX,OAAOpka,GAAO,GAAK,IAAMpgB,EAC7C,QAAYmzD,EAAQqxX,OAAOpka,GAAO,GAAK,IAEvCpgB,CAEX,CAGA,SAAS6xjC,EAAe7xjC,EAAKi3oB,GAC3B,OAAOj3oB,CACT,CAcA,SAASm2V,EAAYj6P,EAAK38F,EAAOkoZ,GAG/B,GAAIvrT,EAAImpT,eACJ9lZ,GACAmrD,EAAWnrD,EAAM4zD,UAEjB5zD,EAAM4zD,UAAY/gB,EAAQ+gB,WAExB5zD,EAAMkgD,aAAelgD,EAAMkgD,YAAYvhD,YAAcqB,GAAQ,CACjE,IAAI2iD,EAAM3iD,EAAM4zD,QAAQs0V,EAAcvrT,GAItC,OAHKhpB,EAAShxB,KACZA,EAAMi0S,EAAYj6P,EAAKh6C,EAAKulW,IAEvBvlW,CACT,CAGA,IAAI0iU,EA+FN,SAAyB1oR,EAAK38F,GAC5B,GAAImxL,EAAYnxL,GACd,OAAO28F,EAAI27iB,QAAQ,YAAa,aAClC,GAAI3kkB,EAAS3zE,GAAQ,CACnB,IAAIwyjC,EAAS,IAAO1xjC,KAAKC,UAAUf,GAAOogB,QAAQ,SAAU,IAClBA,QAAQ,KAAM,OACdA,QAAQ,OAAQ,KAAO,IACjE,OAAOu8E,EAAI27iB,QAAQk6a,EAAQ,SAC7B,CACA,GAAIl67B,EAASt4H,GACX,OAAO28F,EAAI27iB,QAAQ,GAAKt4oB,EAAO,UACjC,GAAIs8K,EAAUt8K,GACZ,OAAO28F,EAAI27iB,QAAQ,GAAKt4oB,EAAO,WAEjC,GAAIwmI,EAAOxmI,GACT,OAAO28F,EAAI27iB,QAAQ,OAAQ,OAC/B,CA/GkBm6a,CAAgB919B,EAAK38F,GACrC,GAAIqlX,EACF,OAAOA,EAIT,IAAI/gX,EAAO5F,OAAO4F,KAAKtE,GACnB0yjC,EApCN,SAAqB98iC,GACnB,IAAIoxE,EAAO,CAAC,EAMZ,OAJApxE,EAAMge,QAAQ,SAAS6hB,EAAK+rB,GAC1BwlB,EAAKvxC,IAAO,CACd,GAEOuxC,CACT,CA4BoB2r+B,CAAYrujC,GAQ9B,GANIq4F,EAAIqpT,aACN1hZ,EAAO5F,OAAOg8C,oBAAoB16C,IAKhCsyB,EAAQtyB,KACJsE,EAAK3E,QAAQ,YAAc,GAAK2E,EAAK3E,QAAQ,gBAAkB,GACrE,OAAO6n4B,EAAYxn4B,GAIrB,GAAoB,IAAhBsE,EAAKnF,OAAc,CACrB,GAAIgsD,EAAWnrD,GAAQ,CACrB,IAAIxC,EAAOwC,EAAMxC,KAAO,KAAOwC,EAAMxC,KAAO,GAC5C,OAAOm/F,EAAI27iB,QAAQ,YAAc96oB,EAAO,IAAK,UAC/C,CACA,GAAIokZ,EAAS5hZ,GACX,OAAO28F,EAAI27iB,QAAQpvkB,OAAOvqE,UAAUF,SAAS0B,KAAKH,GAAQ,UAE5D,GAAIwpZ,EAAOxpZ,GACT,OAAO28F,EAAI27iB,QAAQt0oB,KAAKrF,UAAUF,SAAS0B,KAAKH,GAAQ,QAE1D,GAAIsyB,EAAQtyB,GACV,OAAOwn4B,EAAYxn4B,EAEvB,CAEA,IA2CI6sD,EA3CAqf,EAAO,GAAIt2D,GAAQ,EAAOg9iC,EAAS,CAAC,IAAK,MAGzCv9iC,EAAQrV,KACV4V,GAAQ,EACRg9iC,EAAS,CAAC,IAAK,MAIbzngC,EAAWnrD,MAEbksE,EAAO,cADClsE,EAAMxC,KAAO,KAAOwC,EAAMxC,KAAO,IACf,KAkB5B,OAdIokZ,EAAS5hZ,KACXksE,EAAO,IAAMhD,OAAOvqE,UAAUF,SAAS0B,KAAKH,IAI1CwpZ,EAAOxpZ,KACTksE,EAAO,IAAMloE,KAAKrF,UAAU89f,YAAYt8f,KAAKH,IAI3CsyB,EAAQtyB,KACVksE,EAAO,IAAMs7zB,EAAYxn4B,IAGP,IAAhBsE,EAAKnF,QAAkByW,GAAyB,GAAhB5V,EAAMb,OAItC+oZ,EAAe,EACbtG,EAAS5hZ,GACJ28F,EAAI27iB,QAAQpvkB,OAAOvqE,UAAUF,SAAS0B,KAAKH,GAAQ,UAEnD28F,EAAI27iB,QAAQ,WAAY,YAInC37iB,EAAIoR,KAAKtpG,KAAKzE,GAIZ6sD,EADEj3C,EAsCN,SAAqB+mF,EAAK38F,EAAOkoZ,EAAcwqqB,EAAapujC,GAE1D,IADA,IAAIuoD,EAAS,GACJntD,EAAI,EAAG09C,EAAIp9C,EAAMb,OAAQO,EAAI09C,IAAK19C,EACrCyE,EAAenE,EAAOoC,OAAO1C,IAC/BmtD,EAAOpoD,KAAKoujC,EAAel29B,EAAK38F,EAAOkoZ,EAAcwqqB,EACjDtwjC,OAAO1C,IAAI,IAEfmtD,EAAOpoD,KAAK,IAShB,OANAH,EAAKsvB,QAAQ,SAAS3xB,GACfA,EAAIX,MAAM,UACburD,EAAOpoD,KAAKoujC,EAAel29B,EAAK38F,EAAOkoZ,EAAcwqqB,EACjDzwjC,GAAK,GAEb,GACO4qD,CACT,CAtDaoqS,CAAYt6P,EAAK38F,EAAOkoZ,EAAcwqqB,EAAapujC,GAEnDA,EAAKwL,IAAI,SAAS7N,GACzB,OAAO4wjC,EAAel29B,EAAK38F,EAAOkoZ,EAAcwqqB,EAAazwjC,EAAK2T,EACpE,GAGF+mF,EAAIoR,KAAK7vC,MA6GX,SAA8BrR,EAAQqf,EAAM0m/B,GAC1C,IACIzzjC,EAAS0tD,EAAO/1C,OAAO,SAAShK,EAAMs6L,GAGxC,OADIA,EAAIznM,QAAQ,OAAS,GAAGmzjC,EACrBhmjC,EAAOs6L,EAAIhnL,QAAQ,kBAAmB,IAAIjhB,OAAS,CAC5D,EAAG,GAEH,GAAIA,EAAS,GACX,OAAOyzjC,EAAO,IACG,KAAT1m/B,EAAc,GAAKA,EAAO,OAC3B,IACArf,EAAOJ,KAAK,SACZ,IACAmmgC,EAAO,GAGhB,OAAOA,EAAO,GAAK1m/B,EAAO,IAAMrf,EAAOJ,KAAK,MAAQ,IAAMmmgC,EAAO,EACnE,CA7HSG,CAAqBlmgC,EAAQqf,EAAM0m/B,IAxBjCA,EAAO,GAAK1m/B,EAAO0m/B,EAAO,EAyBrC,CAsBA,SAASprL,EAAYxn4B,GACnB,MAAO,IAAMK,MAAM1B,UAAUF,SAAS0B,KAAKH,GAAS,GACtD,CAuBA,SAAS6yjC,EAAel29B,EAAK38F,EAAOkoZ,EAAcwqqB,EAAazwjC,EAAK2T,GAClE,IAAIpY,EAAMiD,EAAKq+C,EAsCf,IArCAA,EAAOpgD,OAAOu8C,yBAAyBj7C,EAAOiC,IAAQ,CAAEjC,MAAOA,EAAMiC,KAC5DkD,IAEL1E,EADEq+C,EAAK55C,IACDy3F,EAAI27iB,QAAQ,kBAAmB,WAE/B37iB,EAAI27iB,QAAQ,WAAY,WAG5Bx5lB,EAAK55C,MACPzE,EAAMk8F,EAAI27iB,QAAQ,WAAY,YAG7Bn0oB,EAAeuujC,EAAazwjC,KAC/BzE,EAAO,IAAMyE,EAAM,KAEhBxB,IACCk8F,EAAIoR,KAAKpuG,QAAQm/C,EAAK9+C,OAAS,GAE/BS,EADE+lI,EAAO0hR,GACHtxD,EAAYj6P,EAAK79C,EAAK9+C,MAAO,MAE7B42V,EAAYj6P,EAAK79C,EAAK9+C,MAAOkoZ,EAAe,IAE5CvoZ,QAAQ,OAAS,IAErBc,EADEmV,EACInV,EAAI6tC,MAAM,MAAMx+B,IAAI,SAASo8U,GACjC,MAAO,KAAOA,CAChB,GAAGz/R,KAAK,MAAMl3C,MAAM,GAEd,KAAO9U,EAAI6tC,MAAM,MAAMx+B,IAAI,SAASo8U,GACxC,MAAO,MAAQA,CACjB,GAAGz/R,KAAK,OAIZhsD,EAAMk8F,EAAI27iB,QAAQ,aAAc,YAGhCnnd,EAAY3zL,GAAO,CACrB,GAAIoY,GAAS3T,EAAIX,MAAM,SACrB,OAAOb,GAETjD,EAAOsD,KAAKC,UAAU,GAAKkB,IAClBX,MAAM,iCACb9D,EAAOA,EAAK+X,MAAM,GAAI,GACtB/X,EAAOm/F,EAAI27iB,QAAQ96oB,EAAM,UAEzBA,EAAOA,EAAK4iB,QAAQ,KAAM,OACdA,QAAQ,OAAQ,KAChBA,QAAQ,WAAY,KAChC5iB,EAAOm/F,EAAI27iB,QAAQ96oB,EAAM,UAE7B,CAEA,OAAOA,EAAO,KAAOiD,CACvB,CA4BA,SAAS4U,EAAQ6iZ,GACf,OAAO9iZ,MAAMC,QAAQ6iZ,EACvB,CAGA,SAAS57O,EAAUhnK,GACjB,MAAsB,kBAARA,CAChB,CAGA,SAASkxH,EAAOlxH,GACd,OAAe,OAARA,CACT,CAQA,SAASgjH,EAAShjH,GAChB,MAAsB,iBAARA,CAChB,CAGA,SAASq+D,EAASr+D,GAChB,MAAsB,iBAARA,CAChB,CAQA,SAAS67K,EAAY77K,GACnB,YAAoB,IAAbA,CACT,CAGA,SAASssY,EAASqM,GAChB,OAAOtkU,EAASskU,IAA8B,oBAAvBvkU,EAAeukU,EACxC,CAIA,SAAStkU,EAASr0E,GAChB,MAAsB,iBAARA,GAA4B,OAARA,CACpC,CAGA,SAASk0Y,EAAOl8V,GACd,OAAOq8B,EAASr8B,IAA4B,kBAAtBo8B,EAAep8B,EACvC,CAIA,SAASh7B,EAAQ/0B,GACf,OAAOosF,EAASpsF,KACW,mBAAtBmsF,EAAensF,IAA2BA,aAAa8C,MAC9D,CAIA,SAAS8qD,EAAW71C,GAClB,MAAsB,mBAARA,CAChB,CAeA,SAASo0E,EAAehsB,GACtB,OAAOh/D,OAAOC,UAAUF,SAAS0B,KAAKu9D,EACxC,CAGA,SAAS0wb,EAAIzof,GACX,OAAOA,EAAI,GAAK,IAAMA,EAAElH,SAAS,IAAMkH,EAAElH,SAAS,GACpD,CAxbAo0C,EAAQike,SAAW,SAAS5xgB,GAE1B,GADAA,EAAMA,EAAI4iF,eACLsq+B,EAAOltjC,GACV,GAAImtjC,EAAcjxjC,KAAK8D,GAAM,CAC3B,IAAI8tjC,EAAMphhC,QAAQohhC,IAClBZ,EAAOltjC,GAAO,WACZ,IAAImhE,EAAMxzB,EAAQojV,OAAOttX,MAAMkqC,EAASlwC,WACxClF,QAAQC,MAAM,YAAawH,EAAK8tjC,EAAK3s/B,EACvC,CACF,MACE+r/B,EAAOltjC,GAAO,WAAY,EAG9B,OAAOktjC,EAAOltjC,EAChB,EAmCA2tC,EAAQ+gB,QAAUA,EAIlBA,EAAQqxX,OAAS,CACf,KAAS,CAAC,EAAG,IACb,OAAW,CAAC,EAAG,IACf,UAAc,CAAC,EAAG,IAClB,QAAY,CAAC,EAAG,IAChB,MAAU,CAAC,GAAI,IACf,KAAS,CAAC,GAAI,IACd,MAAU,CAAC,GAAI,IACf,KAAS,CAAC,GAAI,IACd,KAAS,CAAC,GAAI,IACd,MAAU,CAAC,GAAI,IACf,QAAY,CAAC,GAAI,IACjB,IAAQ,CAAC,GAAI,IACb,OAAW,CAAC,GAAI,KAIlBrxX,EAAQ1yC,OAAS,CACf,QAAW,OACX,OAAU,SACV,QAAW,SACX,UAAa,OACb,KAAQ,OACR,OAAU,QACV,KAAQ,UAER,OAAU,OA+QZ2xB,EAAQktC,MAAQ,EAAhBltC,OAKAA,EAAQx9B,QAAUA,EAKlBw9B,EAAQypI,UAAYA,EAKpBzpI,EAAQ2zF,OAASA,EAKjB3zF,EAAQoghC,kBAHR,SAA2B39iC,GACzB,OAAc,MAAPA,CACT,EAMAu9B,EAAQylF,SAAWA,EAKnBzlF,EAAQ8gC,SAAWA,EAKnB9gC,EAAQiK,SAHR,SAAkBxnC,GAChB,MAAsB,iBAARA,CAChB,EAMAu9B,EAAQs+I,YAAcA,EAKtBt+I,EAAQ+uW,SAAWA,EACnB/uW,EAAQktC,MAAM6hU,SAAWA,EAKzB/uW,EAAQ82C,SAAWA,EAKnB92C,EAAQ22W,OAASA,EACjB32W,EAAQktC,MAAMypU,OAASA,EAMvB32W,EAAQvgB,QAAUA,EAClBugB,EAAQktC,MAAM0pU,cAAgBn3X,EAK9BugB,EAAQsY,WAAaA,EAUrBtY,EAAQsjR,YARR,SAAqB7gT,GACnB,OAAe,OAARA,GACe,kBAARA,GACQ,iBAARA,GACQ,iBAARA,GACQ,iBAARA,QACQ,IAARA,CAChB,EAGAu9B,EAAQmc,SAAW,EAAnBnc,OAYA,IAAIqnd,EAAS,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACxD,MAAO,MAAO,OA6C5B,SAAS/1f,EAAe+5B,EAAK9pB,GAC3B,OAAO1V,OAAOC,UAAUwF,eAAehE,KAAK+9B,EAAK9pB,EACnD,CAlCAy+B,EAAQ8a,IAAM,WACZlwD,QAAQkwD,IAAI,UAXd,WACE,IAAIL,EAAI,IAAItpD,KACRw1E,EAAO,CAAC40a,EAAI9gc,EAAE4yb,YACNkO,EAAI9gc,EAAE6yb,cACNiO,EAAI9gc,EAAE8yb,eAAe3zb,KAAK,KACtC,MAAO,CAACa,EAAEqlc,UAAWuH,EAAO5sc,EAAEolc,YAAal5a,GAAM/sB,KAAK,IACxD,CAKyBl6B,GAAasgB,EAAQojV,OAAOttX,MAAMkqC,EAASlwC,WACpE,EAgBAkwC,EAAQ63N,SAAW,EAAnB73N,OAEAA,EAAQ94B,QAAU,SAAS27E,EAAQvnF,GAEjC,IAAKA,IAAQw7E,EAASx7E,GAAM,OAAOunF,EAInC,IAFA,IAAIpxF,EAAO5F,OAAO4F,KAAK6J,GACnBzO,EAAI4E,EAAKnF,OACNO,KACLg2F,EAAOpxF,EAAK5E,IAAMyO,EAAI7J,EAAK5E,IAE7B,OAAOg2F,CACT,EAMA,IAAIw99B,EAA6C,oBAAXv6gC,OAAyBA,OAAO,8BAA2BtyC,EA0DjG,SAAS8sjC,EAAsB5pgC,EAAQ0T,GAKrC,IAAK1T,EAAQ,CACX,IAAI6pgC,EAAY,IAAI/yjC,MAAM,2CAC1B+yjC,EAAU7pgC,OAASA,EACnBA,EAAS6pgC,CACX,CACA,OAAOn2/B,EAAG1T,EACZ,CAnEA1W,EAAQwghC,UAAY,SAAmBt4/B,GACrC,GAAwB,mBAAbA,EACT,MAAM,IAAIhpB,UAAU,oDAEtB,GAAImhhC,GAA4Bn4/B,EAASm4/B,GAA2B,CAClE,IAAI5ljC,EACJ,GAAkB,mBADdA,EAAKytD,EAASm4/B,IAEhB,MAAM,IAAInhhC,UAAU,iEAKtB,OAHArzC,OAAOw2C,eAAe5nC,EAAI4ljC,EAA0B,CAClDlzjC,MAAOsN,EAAI0oC,YAAY,EAAOE,UAAU,EAAOD,cAAc,IAExD3oC,CACT,CAEA,SAASA,IAQP,IAPA,IAAIgmjC,EAAgBC,EAChB/wjC,EAAU,IAAIgF,QAAQ,SAAUC,EAASC,GAC3C4rjC,EAAiB7rjC,EACjB8rjC,EAAgB7rjC,CAClB,GAEIgN,EAAO,GACFhV,EAAI,EAAGA,EAAIiD,UAAUxD,OAAQO,IACpCgV,EAAKjQ,KAAK9B,UAAUjD,IAEtBgV,EAAKjQ,KAAK,SAAUoB,EAAK7F,GACnB6F,EACF0tjC,EAAc1tjC,GAEdytjC,EAAetzjC,EAEnB,GAEA,IACE+6D,EAASpyD,MAAMhI,KAAM+T,EACvB,CAAE,MAAO7O,GACP0tjC,EAAc1tjC,EAChB,CAEA,OAAOrD,CACT,CAOA,OALA9D,OAAOg3N,eAAepoN,EAAI5O,OAAOuhD,eAAe8a,IAE5Cm4/B,GAA0Bx0jC,OAAOw2C,eAAe5nC,EAAI4ljC,EAA0B,CAChFlzjC,MAAOsN,EAAI0oC,YAAY,EAAOE,UAAU,EAAOD,cAAc,IAExDv3C,OAAOg7C,iBACZpsC,EACAuxC,EAA0Bkc,GAE9B,EAEAloB,EAAQwghC,UAAU/yrB,OAAS4yrB,EAiD3BrghC,EAAQ2ghC,YAlCR,SAAqBz4/B,GACnB,GAAwB,mBAAbA,EACT,MAAM,IAAIhpB,UAAU,oDAMtB,SAAS0hhC,IAEP,IADA,IAAI/+iC,EAAO,GACFhV,EAAI,EAAGA,EAAIiD,UAAUxD,OAAQO,IACpCgV,EAAKjQ,KAAK9B,UAAUjD,IAGtB,IAAIg0jC,EAAUh/iC,EAAKwpD,MACnB,GAAuB,mBAAZw1/B,EACT,MAAM,IAAI3hhC,UAAU,8CAEtB,IAAI9pC,EAAOtH,KACPs8D,EAAK,WACP,OAAOy2/B,EAAQ/qjC,MAAMV,EAAMtF,UAC7B,EAGAo4D,EAASpyD,MAAMhI,KAAM+T,GAClBjS,KAAK,SAASkgD,GAAO/Q,QAAQ0S,SAAS2Y,EAAGqI,KAAK,KAAM,KAAM3iB,GAAM,EAC3D,SAAS+q8B,GAAO978B,QAAQ0S,SAAS6ugC,EAAsB7t/B,KAAK,KAAMoo7B,EAAKzw7B,GAAK,EACtF,CAKA,OAHAv+D,OAAOg3N,eAAe+91B,EAAe/0jC,OAAOuhD,eAAe8a,IAC3Dr8D,OAAOg7C,iBAAiB+5gC,EACA50gC,EAA0Bkc,IAC3C04/B,CACT,C,mCCnsBA,IAFA,IAAIE,EAAY,GAEPj0jC,EAAI,EAAGA,EAAI,MAAOA,EACzBi0jC,EAAUj0jC,IAAMA,EAAI,KAAOjB,SAAS,IAAIsyD,OAAO,GAUjD,QAPA,SAAqBR,EAAKpuC,GACxB,IAAIziB,EAAIyiB,GAAU,EACdyxiC,EAAMD,EAEV,MAAO,CAACC,EAAIrjgC,EAAI7wD,MAAOk0jC,EAAIrjgC,EAAI7wD,MAAOk0jC,EAAIrjgC,EAAI7wD,MAAOk0jC,EAAIrjgC,EAAI7wD,MAAO,IAAKk0jC,EAAIrjgC,EAAI7wD,MAAOk0jC,EAAIrjgC,EAAI7wD,MAAO,IAAKk0jC,EAAIrjgC,EAAI7wD,MAAOk0jC,EAAIrjgC,EAAI7wD,MAAO,IAAKk0jC,EAAIrjgC,EAAI7wD,MAAOk0jC,EAAIrjgC,EAAI7wD,MAAO,IAAKk0jC,EAAIrjgC,EAAI7wD,MAAOk0jC,EAAIrjgC,EAAI7wD,MAAOk0jC,EAAIrjgC,EAAI7wD,MAAOk0jC,EAAIrjgC,EAAI7wD,MAAOk0jC,EAAIrjgC,EAAI7wD,MAAOk0jC,EAAIrjgC,EAAI7wD,OAAO+sD,KAAK,GACnR,C,4ECTIongC,EAEAC,E,sBAGAC,EAAa,EACbC,EAAa,EAkFjB,QAhFA,SAAYrtjC,EAAS4pD,EAAKpuC,GACxB,IAAIziB,EAAI6wD,GAAOpuC,GAAU,EACrBjc,EAAIqqD,GAAO,GAEXpJ,GADJxgD,EAAUA,GAAW,CAAC,GACHwgD,MAAQ0sgC,EACvBjloB,OAAgCvob,IAArBM,EAAQiob,SAAyBjob,EAAQiob,SAAWkloB,EAInE,GAAY,MAAR3sgC,GAA4B,MAAZynY,EAAkB,CACpC,IAAIqloB,EAAYttjC,EAAQ8sC,SAAW9sC,EAAQqob,KAAOA,EAAAA,KAEtC,MAAR7nY,IAEFA,EAAO0sgC,EAAU,CAAgB,EAAfI,EAAU,GAAWA,EAAU,GAAIA,EAAU,GAAIA,EAAU,GAAIA,EAAU,GAAIA,EAAU,KAG3F,MAAZrloB,IAEFA,EAAWkloB,EAAiD,OAApCG,EAAU,IAAM,EAAIA,EAAU,IAE1D,CAMA,IAAIploB,OAA0Bxob,IAAlBM,EAAQkob,MAAsBlob,EAAQkob,OAAQ,IAAI7qb,MAAOo0E,UAGjE02W,OAA0Bzob,IAAlBM,EAAQmob,MAAsBnob,EAAQmob,MAAQkloB,EAAa,EAEnEr/pB,EAAKk6B,EAAQkloB,GAAcjloB,EAAQkloB,GAAc,IAarD,GAXIr/pB,EAAK,QAA0BtuZ,IAArBM,EAAQiob,WACpBA,EAAWA,EAAW,EAAI,QAKvBj6B,EAAK,GAAKk6B,EAAQkloB,SAAiC1tjC,IAAlBM,EAAQmob,QAC5CA,EAAQ,GAINA,GAAS,IACX,MAAM,IAAIzub,MAAM,mDAGlB0zjC,EAAalloB,EACbmloB,EAAalloB,EACbgloB,EAAYlloB,EAIZ,IAAI1I,GAA4B,KAAb,WAFnB2I,GAAS,cAE+BC,GAAS,WACjD5ob,EAAExG,KAAOwmb,IAAO,GAAK,IACrBhgb,EAAExG,KAAOwmb,IAAO,GAAK,IACrBhgb,EAAExG,KAAOwmb,IAAO,EAAI,IACpBhgb,EAAExG,KAAY,IAALwmb,EAET,IAAIguoB,EAAMrloB,EAAQ,WAAc,IAAQ,UACxC3ob,EAAExG,KAAOw0jC,IAAQ,EAAI,IACrBhujC,EAAExG,KAAa,IAANw0jC,EAEThujC,EAAExG,KAAOw0jC,IAAQ,GAAK,GAAM,GAE5BhujC,EAAExG,KAAOw0jC,IAAQ,GAAK,IAEtBhujC,EAAExG,KAAOkvb,IAAa,EAAI,IAE1B1ob,EAAExG,KAAkB,IAAXkvb,EAET,IAAK,IAAIjpb,EAAI,EAAGA,EAAI,IAAKA,EACvBO,EAAExG,EAAIiG,GAAKwhD,EAAKxhD,GAGlB,OAAO4qD,IAAY4jgC,EAAAA,EAAAA,GAAYjujC,EACjC,ECnEe,SAAS,EAAC1I,EAAMqa,EAASu8iC,GACtC,IAAIC,EAAe,SAAsBr0jC,EAAO4hI,EAAWrxE,EAAKpuC,GAC9D,IAAIwjE,EAAMp1B,GAAOpuC,GAAU,EAG3B,GAFoB,iBAATniB,IAAmBA,EAjBlC,SAAuBS,GACrBA,EAAMuwX,SAASlyS,mBAAmBr+E,IAIlC,IAFA,IAAIjB,EAAQ,IAAI4V,MAAM3U,EAAItB,QAEjBO,EAAI,EAAGA,EAAIe,EAAItB,OAAQO,IAC9BF,EAAME,GAAKe,EAAIihD,WAAWhiD,GAG5B,OAAOF,CACT,CAO0C80jC,CAAct0jC,IAC5B,iBAAb4hI,IAAuBA,EA3BtC,SAAqB85I,GAEnB,IAAIl8Q,EAAQ,GAIZ,OAHAk8Q,EAAKt7P,QAAQ,kBAAmB,SAAU6xE,GACxCzyF,EAAMiF,KAAK24B,SAAS60D,EAAK,IAC3B,GACOzyF,CACT,CAoBkD+0jC,CAAY3y7B,KACrDxsH,MAAMC,QAAQrV,GAAQ,MAAM+xC,UAAU,mCAC3C,IAAK38B,MAAMC,QAAQusH,IAAmC,KAArBA,EAAUziI,OAAe,MAAM4yC,UAAU,+DAE1E,IAAIvyC,EAAQ40jC,EAASxy7B,EAAUz/H,OAAOnC,IAItC,GAHAR,EAAM,GAAgB,GAAXA,EAAM,GAAYqY,EAC7BrY,EAAM,GAAgB,GAAXA,EAAM,GAAY,IAEzB+wD,EACF,IAAK,IAAIiR,EAAM,EAAGA,EAAM,KAAMA,EAC5BjR,EAAIo1B,EAAMnkB,GAAOhiE,EAAMgiE,GAI3B,OAAOjR,IAAO4jgC,EAAAA,EAAAA,GAAY30jC,EAC5B,EAGA,IACE60jC,EAAa72jC,KAAOA,CACtB,CAAE,MAAOqI,GAAM,CAKf,OAFAwujC,EAAaG,IA7BE,uCA8BfH,EAAaj+hC,IA7BE,uCA8BRi+hC,CACT,CC4HA,SAASz8lB,EAAQnid,EAAGC,GAClB,IAAImid,GAAW,MAAJpid,IAAmB,MAAJC,GAE1B,OADWD,GAAK,KAAOC,GAAK,KAAOmid,GAAO,KAC5B,GAAW,MAANA,CACrB,CAcA,SAASC,EAAO91U,EAAG/7I,EAAGC,EAAGuP,EAAG/P,EAAG0W,GAC7B,OAAOw7c,GATchra,EASQgra,EAAQA,EAAQ3xd,EAAG+7I,GAAI41U,EAAQnid,EAAG2G,OATrC27c,EAS0Cryd,GARhDknD,IAAQ,GAAKmra,EAQuC7xd,GAT1E,IAAuB0mD,EAAKmra,CAU5B,CAEA,SAASC,EAAM/xd,EAAGC,EAAG0uC,EAAG0Y,EAAG73C,EAAG/P,EAAG0W,GAC/B,OAAO07c,EAAO5xd,EAAI0uC,GAAK1uC,EAAIonD,EAAGrnD,EAAGC,EAAGuP,EAAG/P,EAAG0W,EAC5C,CAEA,SAAS67c,EAAMhyd,EAAGC,EAAG0uC,EAAG0Y,EAAG73C,EAAG/P,EAAG0W,GAC/B,OAAO07c,EAAO5xd,EAAIonD,EAAI1Y,GAAK0Y,EAAGrnD,EAAGC,EAAGuP,EAAG/P,EAAG0W,EAC5C,CAEA,SAAS87c,EAAMjyd,EAAGC,EAAG0uC,EAAG0Y,EAAG73C,EAAG/P,EAAG0W,GAC/B,OAAO07c,EAAO5xd,EAAI0uC,EAAI0Y,EAAGrnD,EAAGC,EAAGuP,EAAG/P,EAAG0W,EACvC,CAEA,SAAS+7c,EAAMlyd,EAAGC,EAAG0uC,EAAG0Y,EAAG73C,EAAG/P,EAAG0W,GAC/B,OAAO07c,EAAOljb,GAAK1uC,GAAKonD,GAAIrnD,EAAGC,EAAGuP,EAAG/P,EAAG0W,EAC1C,CAEA,QArMA,SAAa5c,GACX,GAAoB,iBAATA,EAAmB,CAC5B,IAAI6mE,EAAM2qT,SAASlyS,mBAAmBt/E,IAEtCA,EAAQ,IAAI4V,MAAMixD,EAAIlnE,QAEtB,IAAK,IAAIO,EAAI,EAAGA,EAAI2mE,EAAIlnE,OAAQO,IAC9BF,EAAME,GAAK2mE,EAAI3kB,WAAWhiD,EAE9B,CAEA,OAOF,SAA8B+kE,GAC5B,IAAI/kE,EACA+V,EAIAw8E,EAHAplC,EAAS,GACT6ra,EAA0B,GAAfj0Z,EAAMtlE,OACjB25d,EAAS,mBAGb,IAAKp5d,EAAI,EAAGA,EAAIg5d,EAAUh5d,GAAK,EAC7B+V,EAAIgvD,EAAM/kE,GAAK,KAAOA,EAAI,GAAK,IAC/BuyF,EAAM70D,SAAS07b,EAAOz/a,OAAO5jC,IAAM,EAAI,IAAQqjd,EAAOz/a,OAAW,GAAJ5jC,GAAW,IACxEo3C,EAAOpoD,KAAKwtF,GAGd,OAAOplC,CACT,CAtBS4ngC,CA4BT,SAAoBh/iC,EAAGrW,GAIrB,IAAIM,EACA24d,EACAC,EACAC,EACAC,EANJ/id,EAAErW,GAAO,IAAM,KAAQA,EAAM,GAC7BqW,EAA0B,IAAvBrW,EAAM,KAAO,GAAK,IAAWA,EAMhC,IAAI6G,EAAI,WACJC,GAAK,UACL0uC,GAAK,WACL0Y,EAAI,UAER,IAAK5tD,EAAI,EAAGA,EAAI+V,EAAEtW,OAAQO,GAAK,GAC7B24d,EAAOpyd,EACPqyd,EAAOpyd,EACPqyd,EAAO3jb,EACP4jb,EAAOlra,EACPrnD,EAAI+xd,EAAM/xd,EAAGC,EAAG0uC,EAAG0Y,EAAG73C,EAAE/V,GAAI,GAAI,WAChC4tD,EAAI0qa,EAAM1qa,EAAGrnD,EAAGC,EAAG0uC,EAAGn/B,EAAE/V,EAAI,GAAI,IAAK,WACrCk1C,EAAIojb,EAAMpjb,EAAG0Y,EAAGrnD,EAAGC,EAAGuP,EAAE/V,EAAI,GAAI,GAAI,WACpCwG,EAAI8xd,EAAM9xd,EAAG0uC,EAAG0Y,EAAGrnD,EAAGwP,EAAE/V,EAAI,GAAI,IAAK,YACrCuG,EAAI+xd,EAAM/xd,EAAGC,EAAG0uC,EAAG0Y,EAAG73C,EAAE/V,EAAI,GAAI,GAAI,WACpC4tD,EAAI0qa,EAAM1qa,EAAGrnD,EAAGC,EAAG0uC,EAAGn/B,EAAE/V,EAAI,GAAI,GAAI,YACpCk1C,EAAIojb,EAAMpjb,EAAG0Y,EAAGrnD,EAAGC,EAAGuP,EAAE/V,EAAI,GAAI,IAAK,YACrCwG,EAAI8xd,EAAM9xd,EAAG0uC,EAAG0Y,EAAGrnD,EAAGwP,EAAE/V,EAAI,GAAI,IAAK,UACrCuG,EAAI+xd,EAAM/xd,EAAGC,EAAG0uC,EAAG0Y,EAAG73C,EAAE/V,EAAI,GAAI,EAAG,YACnC4tD,EAAI0qa,EAAM1qa,EAAGrnD,EAAGC,EAAG0uC,EAAGn/B,EAAE/V,EAAI,GAAI,IAAK,YACrCk1C,EAAIojb,EAAMpjb,EAAG0Y,EAAGrnD,EAAGC,EAAGuP,EAAE/V,EAAI,IAAK,IAAK,OACtCwG,EAAI8xd,EAAM9xd,EAAG0uC,EAAG0Y,EAAGrnD,EAAGwP,EAAE/V,EAAI,IAAK,IAAK,YACtCuG,EAAI+xd,EAAM/xd,EAAGC,EAAG0uC,EAAG0Y,EAAG73C,EAAE/V,EAAI,IAAK,EAAG,YACpC4tD,EAAI0qa,EAAM1qa,EAAGrnD,EAAGC,EAAG0uC,EAAGn/B,EAAE/V,EAAI,IAAK,IAAK,UACtCk1C,EAAIojb,EAAMpjb,EAAG0Y,EAAGrnD,EAAGC,EAAGuP,EAAE/V,EAAI,IAAK,IAAK,YAEtCuG,EAAIgyd,EAAMhyd,EADVC,EAAI8xd,EAAM9xd,EAAG0uC,EAAG0Y,EAAGrnD,EAAGwP,EAAE/V,EAAI,IAAK,GAAI,YACrBk1C,EAAG0Y,EAAG73C,EAAE/V,EAAI,GAAI,GAAI,WACpC4tD,EAAI2qa,EAAM3qa,EAAGrnD,EAAGC,EAAG0uC,EAAGn/B,EAAE/V,EAAI,GAAI,GAAI,YACpCk1C,EAAIqjb,EAAMrjb,EAAG0Y,EAAGrnD,EAAGC,EAAGuP,EAAE/V,EAAI,IAAK,GAAI,WACrCwG,EAAI+xd,EAAM/xd,EAAG0uC,EAAG0Y,EAAGrnD,EAAGwP,EAAE/V,GAAI,IAAK,WACjCuG,EAAIgyd,EAAMhyd,EAAGC,EAAG0uC,EAAG0Y,EAAG73C,EAAE/V,EAAI,GAAI,GAAI,WACpC4tD,EAAI2qa,EAAM3qa,EAAGrnD,EAAGC,EAAG0uC,EAAGn/B,EAAE/V,EAAI,IAAK,EAAG,UACpCk1C,EAAIqjb,EAAMrjb,EAAG0Y,EAAGrnD,EAAGC,EAAGuP,EAAE/V,EAAI,IAAK,IAAK,WACtCwG,EAAI+xd,EAAM/xd,EAAG0uC,EAAG0Y,EAAGrnD,EAAGwP,EAAE/V,EAAI,GAAI,IAAK,WACrCuG,EAAIgyd,EAAMhyd,EAAGC,EAAG0uC,EAAG0Y,EAAG73C,EAAE/V,EAAI,GAAI,EAAG,WACnC4tD,EAAI2qa,EAAM3qa,EAAGrnD,EAAGC,EAAG0uC,EAAGn/B,EAAE/V,EAAI,IAAK,GAAI,YACrCk1C,EAAIqjb,EAAMrjb,EAAG0Y,EAAGrnD,EAAGC,EAAGuP,EAAE/V,EAAI,GAAI,IAAK,WACrCwG,EAAI+xd,EAAM/xd,EAAG0uC,EAAG0Y,EAAGrnD,EAAGwP,EAAE/V,EAAI,GAAI,GAAI,YACpCuG,EAAIgyd,EAAMhyd,EAAGC,EAAG0uC,EAAG0Y,EAAG73C,EAAE/V,EAAI,IAAK,GAAI,YACrC4tD,EAAI2qa,EAAM3qa,EAAGrnD,EAAGC,EAAG0uC,EAAGn/B,EAAE/V,EAAI,GAAI,GAAI,UACpCk1C,EAAIqjb,EAAMrjb,EAAG0Y,EAAGrnD,EAAGC,EAAGuP,EAAE/V,EAAI,GAAI,GAAI,YAEpCuG,EAAIiyd,EAAMjyd,EADVC,EAAI+xd,EAAM/xd,EAAG0uC,EAAG0Y,EAAGrnD,EAAGwP,EAAE/V,EAAI,IAAK,IAAK,YACtBk1C,EAAG0Y,EAAG73C,EAAE/V,EAAI,GAAI,GAAI,QACpC4tD,EAAI4qa,EAAM5qa,EAAGrnD,EAAGC,EAAG0uC,EAAGn/B,EAAE/V,EAAI,GAAI,IAAK,YACrCk1C,EAAIsjb,EAAMtjb,EAAG0Y,EAAGrnD,EAAGC,EAAGuP,EAAE/V,EAAI,IAAK,GAAI,YACrCwG,EAAIgyd,EAAMhyd,EAAG0uC,EAAG0Y,EAAGrnD,EAAGwP,EAAE/V,EAAI,IAAK,IAAK,UACtCuG,EAAIiyd,EAAMjyd,EAAGC,EAAG0uC,EAAG0Y,EAAG73C,EAAE/V,EAAI,GAAI,GAAI,YACpC4tD,EAAI4qa,EAAM5qa,EAAGrnD,EAAGC,EAAG0uC,EAAGn/B,EAAE/V,EAAI,GAAI,GAAI,YACpCk1C,EAAIsjb,EAAMtjb,EAAG0Y,EAAGrnD,EAAGC,EAAGuP,EAAE/V,EAAI,GAAI,IAAK,WACrCwG,EAAIgyd,EAAMhyd,EAAG0uC,EAAG0Y,EAAGrnD,EAAGwP,EAAE/V,EAAI,IAAK,IAAK,YACtCuG,EAAIiyd,EAAMjyd,EAAGC,EAAG0uC,EAAG0Y,EAAG73C,EAAE/V,EAAI,IAAK,EAAG,WACpC4tD,EAAI4qa,EAAM5qa,EAAGrnD,EAAGC,EAAG0uC,EAAGn/B,EAAE/V,GAAI,IAAK,WACjCk1C,EAAIsjb,EAAMtjb,EAAG0Y,EAAGrnD,EAAGC,EAAGuP,EAAE/V,EAAI,GAAI,IAAK,WACrCwG,EAAIgyd,EAAMhyd,EAAG0uC,EAAG0Y,EAAGrnD,EAAGwP,EAAE/V,EAAI,GAAI,GAAI,UACpCuG,EAAIiyd,EAAMjyd,EAAGC,EAAG0uC,EAAG0Y,EAAG73C,EAAE/V,EAAI,GAAI,GAAI,WACpC4tD,EAAI4qa,EAAM5qa,EAAGrnD,EAAGC,EAAG0uC,EAAGn/B,EAAE/V,EAAI,IAAK,IAAK,WACtCk1C,EAAIsjb,EAAMtjb,EAAG0Y,EAAGrnD,EAAGC,EAAGuP,EAAE/V,EAAI,IAAK,GAAI,WAErCuG,EAAIkyd,EAAMlyd,EADVC,EAAIgyd,EAAMhyd,EAAG0uC,EAAG0Y,EAAGrnD,EAAGwP,EAAE/V,EAAI,GAAI,IAAK,WACrBk1C,EAAG0Y,EAAG73C,EAAE/V,GAAI,GAAI,WAChC4tD,EAAI6qa,EAAM7qa,EAAGrnD,EAAGC,EAAG0uC,EAAGn/B,EAAE/V,EAAI,GAAI,GAAI,YACpCk1C,EAAIujb,EAAMvjb,EAAG0Y,EAAGrnD,EAAGC,EAAGuP,EAAE/V,EAAI,IAAK,IAAK,YACtCwG,EAAIiyd,EAAMjyd,EAAG0uC,EAAG0Y,EAAGrnD,EAAGwP,EAAE/V,EAAI,GAAI,IAAK,UACrCuG,EAAIkyd,EAAMlyd,EAAGC,EAAG0uC,EAAG0Y,EAAG73C,EAAE/V,EAAI,IAAK,EAAG,YACpC4tD,EAAI6qa,EAAM7qa,EAAGrnD,EAAGC,EAAG0uC,EAAGn/B,EAAE/V,EAAI,GAAI,IAAK,YACrCk1C,EAAIujb,EAAMvjb,EAAG0Y,EAAGrnD,EAAGC,EAAGuP,EAAE/V,EAAI,IAAK,IAAK,SACtCwG,EAAIiyd,EAAMjyd,EAAG0uC,EAAG0Y,EAAGrnD,EAAGwP,EAAE/V,EAAI,GAAI,IAAK,YACrCuG,EAAIkyd,EAAMlyd,EAAGC,EAAG0uC,EAAG0Y,EAAG73C,EAAE/V,EAAI,GAAI,EAAG,YACnC4tD,EAAI6qa,EAAM7qa,EAAGrnD,EAAGC,EAAG0uC,EAAGn/B,EAAE/V,EAAI,IAAK,IAAK,UACtCk1C,EAAIujb,EAAMvjb,EAAG0Y,EAAGrnD,EAAGC,EAAGuP,EAAE/V,EAAI,GAAI,IAAK,YACrCwG,EAAIiyd,EAAMjyd,EAAG0uC,EAAG0Y,EAAGrnD,EAAGwP,EAAE/V,EAAI,IAAK,GAAI,YACrCuG,EAAIkyd,EAAMlyd,EAAGC,EAAG0uC,EAAG0Y,EAAG73C,EAAE/V,EAAI,GAAI,GAAI,WACpC4tD,EAAI6qa,EAAM7qa,EAAGrnD,EAAGC,EAAG0uC,EAAGn/B,EAAE/V,EAAI,IAAK,IAAK,YACtCk1C,EAAIujb,EAAMvjb,EAAG0Y,EAAGrnD,EAAGC,EAAGuP,EAAE/V,EAAI,GAAI,GAAI,WACpCwG,EAAIiyd,EAAMjyd,EAAG0uC,EAAG0Y,EAAGrnD,EAAGwP,EAAE/V,EAAI,GAAI,IAAK,WACrCuG,EAAI2xd,EAAQ3xd,EAAGoyd,GACfnyd,EAAI0xd,EAAQ1xd,EAAGoyd,GACf1jb,EAAIgjb,EAAQhjb,EAAG2jb,GACfjra,EAAIsqa,EAAQtqa,EAAGkra,GAGjB,MAAO,CAACvyd,EAAGC,EAAG0uC,EAAG0Y,EACnB,CAtH8BongC,CA6H9B,SAAsBjw/B,GACpB,IAAI/kE,EACAmtD,EAAS,GAGb,IAFAA,GAAQ4X,EAAMtlE,QAAU,GAAK,QAAKkH,EAE7B3G,EAAI,EAAGA,EAAImtD,EAAO1tD,OAAQO,GAAK,EAClCmtD,EAAOntD,GAAK,EAGd,IAAIk5d,EAAyB,EAAfn0Z,EAAMtlE,OAEpB,IAAKO,EAAI,EAAGA,EAAIk5d,EAASl5d,GAAK,EAC5BmtD,EAAOntD,GAAK,KAAsB,IAAf+kE,EAAM/kE,EAAI,KAAcA,EAAI,GAGjD,OAAOmtD,CACT,CA7IyC8ngC,CAAan1jC,GAAuB,EAAfA,EAAML,QACpE,EC7BA,QADSy1jC,EAAI,KAAM,GAAMz+9B,G,cCAzB,SAASrwF,EAAEJ,EAAG+P,EAAGC,EAAGi4Y,GAClB,OAAQjoZ,GACN,KAAK,EACH,OAAO+P,EAAIC,GAAKD,EAAIk4Y,EAEtB,KAAK,EAML,KAAK,EACH,OAAOl4Y,EAAIC,EAAIi4Y,EAJjB,KAAK,EACH,OAAOl4Y,EAAIC,EAAID,EAAIk4Y,EAAIj4Y,EAAIi4Y,EAKjC,CAEA,SAASknqB,EAAKp/iC,EAAG9P,GACf,OAAO8P,GAAK9P,EAAI8P,IAAM,GAAK9P,CAC7B,CAsEA,QApEA,SAAcnG,GACZ,IAAImkF,EAAI,CAAC,WAAY,WAAY,WAAY,YACzCmqU,EAAI,CAAC,WAAY,WAAY,WAAY,UAAY,YAEzD,GAAoB,iBAATtuZ,EAAmB,CAC5B,IAAI6mE,EAAM2qT,SAASlyS,mBAAmBt/E,IAEtCA,EAAQ,IAAI4V,MAAMixD,EAAIlnE,QAEtB,IAAK,IAAIO,EAAI,EAAGA,EAAI2mE,EAAIlnE,OAAQO,IAC9BF,EAAME,GAAK2mE,EAAI3kB,WAAWhiD,EAE9B,CAEAF,EAAMiF,KAAK,KACX,IAAI24C,EAAI59C,EAAML,OAAS,EAAI,EACvB6xZ,EAAI3zY,KAAKi1B,KAAK8K,EAAI,IAClBm0W,EAAI,IAAIn8Y,MAAM47Y,GAElB,IAAStxZ,EAAI,EAAGA,EAAIsxZ,EAAGtxZ,IAAK,CAC1B6xZ,EAAE7xZ,GAAK,IAAI0V,MAAM,IAEjB,IAAK,IAAI2f,EAAI,EAAGA,EAAI,GAAIA,IACtBw8X,EAAE7xZ,GAAGq1B,GAAKv1B,EAAU,GAAJE,EAAa,EAAJq1B,IAAU,GAAKv1B,EAAU,GAAJE,EAAa,EAAJq1B,EAAQ,IAAM,GAAKv1B,EAAU,GAAJE,EAAa,EAAJq1B,EAAQ,IAAM,EAAIv1B,EAAU,GAAJE,EAAa,EAAJq1B,EAAQ,EAEtI,CAMA,IAJAw8X,EAAEP,EAAI,GAAG,IAA2B,GAApBxxZ,EAAML,OAAS,GAASke,KAAKowC,IAAI,EAAG,IACpD8jW,EAAEP,EAAI,GAAG,IAAM3zY,KAAKC,MAAMi0Y,EAAEP,EAAI,GAAG,KACnCO,EAAEP,EAAI,GAAG,IAA2B,GAApBxxZ,EAAML,OAAS,GAAS,WAE/BO,EAAI,EAAGA,EAAIsxZ,EAAGtxZ,IAAK,CAG1B,IAFA,IAAIy3C,EAAI,IAAI/hC,MAAM,IAETgH,EAAI,EAAGA,EAAI,GAAIA,IACtB+6B,EAAE/6B,GAAKm1Y,EAAE7xZ,GAAG0c,GAGd,IAASA,EAAI,GAAIA,EAAI,GAAIA,IACvB+6B,EAAE/6B,GAAKy4iC,EAAK19gC,EAAE/6B,EAAI,GAAK+6B,EAAE/6B,EAAI,GAAK+6B,EAAE/6B,EAAI,IAAM+6B,EAAE/6B,EAAI,IAAK,GAG3D,IAAInW,EAAI6nZ,EAAE,GACN5nZ,EAAI4nZ,EAAE,GACNl5W,EAAIk5W,EAAE,GACNxgW,EAAIwgW,EAAE,GACNvwZ,EAAIuwZ,EAAE,GAEV,IAAS1xY,EAAI,EAAGA,EAAI,GAAIA,IAAK,CAC3B,IAAI1W,EAAI2X,KAAKC,MAAMlB,EAAI,IACnB+iC,EAAI01gC,EAAK5ujC,EAAG,GAAKH,EAAEJ,EAAGQ,EAAG0uC,EAAG0Y,GAAK/vD,EAAIomF,EAAEj+E,GAAKyxC,EAAE/6B,KAAO,EACzD7e,EAAI+vD,EACJA,EAAI1Y,EACJA,EAAIighC,EAAK3ujC,EAAG,MAAQ,EACpBA,EAAID,EACJA,EAAIk5C,CACN,CAEA2uW,EAAE,GAAKA,EAAE,GAAK7nZ,IAAM,EACpB6nZ,EAAE,GAAKA,EAAE,GAAK5nZ,IAAM,EACpB4nZ,EAAE,GAAKA,EAAE,GAAKl5W,IAAM,EACpBk5W,EAAE,GAAKA,EAAE,GAAKxgW,IAAM,EACpBwgW,EAAE,GAAKA,EAAE,GAAKvwZ,IAAM,CACtB,CAEA,MAAO,CAACuwZ,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,GAAWA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,GAAWA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,GAAWA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,GAAWA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,GACxV,ECrFA,QADS8mqB,EAAI,KAAM,GAAME,E,mCCGzB,IAAI/lxB,EAAmC,oBAAV74I,QAAyBA,OAAO64I,iBAAmB74I,OAAO64I,gBAAgBzpO,KAAK4wF,SAA8B,oBAAZg4R,UAA8D,mBAA5BA,SAASn/I,iBAAiCm/I,SAASn/I,gBAAgBzpO,KAAK4oX,UACpO6moB,EAAQ,IAAIt1jC,WAAW,IAEZ,SAASuvb,IACtB,IAAKjgJ,EACH,MAAM,IAAI1uS,MAAM,4GAGlB,OAAO0uS,EAAgBgmxB,EACzB,C,4DCYA,QAvBA,SAAYpujC,EAAS4pD,EAAKpuC,GACxB,IAAIziB,EAAI6wD,GAAOpuC,GAAU,EAEH,iBAAXxb,IACT4pD,EAAkB,WAAZ5pD,EAAuB,IAAIyO,MAAM,IAAM,KAC7CzO,EAAU,MAIZ,IAAIqujC,GADJrujC,EAAUA,GAAW,CAAC,GACH8sC,SAAW9sC,EAAQqob,KAAOA,EAAAA,KAK7C,GAHAgmoB,EAAK,GAAe,GAAVA,EAAK,GAAY,GAC3BA,EAAK,GAAe,GAAVA,EAAK,GAAY,IAEvBzkgC,EACF,IAAK,IAAIwwX,EAAK,EAAGA,EAAK,KAAMA,EAC1BxwX,EAAI7wD,EAAIqhb,GAAMi0oB,EAAKj0oB,GAIvB,OAAOxwX,IAAO4jgC,EAAAA,EAAAA,GAAYa,EAC5B,C,gBCtBA,SAASC,EAAcC,EAAW5qjC,EAAS3D,GAIzC,OAHIA,EAAQwujC,UACVD,EAAYvujC,EAAQwujC,QAAQD,EAAU13jC,OAEjC,IAAI03jC,EAAU,GAAD/yjC,OAAIwE,EAAQ+d,QAAU/d,EAAQ+d,QAAU,QAAO,KAAAviB,OAAImI,EAAO,KAChF,CAEA,SAASk6R,EAASxkS,EAAO2G,GACvB,GAAqB,iBAAV3G,EACT,MAAMi1jC,EAAcljhC,UAAW,oDAAqDprC,GAEtF,OAAKA,EAAQwujC,QAGNxujC,EAAQwujC,QAAQvkgC,OAAO5wD,GAFrB4wD,OAAO5wD,EAGlB,CAGA,SAASo1jC,EAAU3/iC,GAWjB,OAES4/iC,EAFJ5/iC,EAAI,GAAMA,EAAI,GAAO,MAAa,EAAJA,IAC5BA,EAAI,GAAMA,EAAI,IAAQ,MAAmB,GAAXA,GACT4H,KAAKC,MAAM7H,GAGb4H,KAAKs8F,MAAMlkG,GACvC,CAEA,SAAS6/iC,EAAY3vjC,GACnB,OAAO0vjC,EAAmBh4iC,KAAKo6Y,MAAM9xZ,GACvC,CAEA,SAASgmX,EAAKl2W,GACZ,OAAOA,EAAI,GAAK,EAAI,CACtB,CAYA,SAAS4/iC,EAAmB5/iC,GAC1B,OAAa,IAANA,EAAU,EAAIA,CACvB,CAEA,SAAS8/iC,EAAwBC,EAAS1pjC,GAAgB,IACpD4/c,EAAY+pmB,EAD4BC,EAAQ5pjC,EAAR4pjC,SAExCA,GACFhqmB,EAAa,EACb+pmB,EAAap4iC,KAAAowC,IAAA,EAAK+ngC,GAAY,IAE9B9pmB,GAAaruc,KAAAowC,IAAE,EAAM+ngC,EAAY,GACjCC,EAAap4iC,KAAAowC,IAAA,EAAM+ngC,EAAY,GAAK,GAGtC,IAAMG,EAAiBt4iC,KAAAowC,IAAG,EAAK+ngC,GACzBI,EAA4Bv4iC,KAAAowC,IAAG,EAAM+ngC,EAAY,GAEvD,OAAO,SAACx1jC,GAAwB,IAAjB2G,EAAOhE,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EACpB8S,EAAI+uR,EAASxkS,EAAO2G,GAGxB,GAFA8O,EAAI4/iC,EAAmB5/iC,GAEnB9O,EAAQkvjC,aAAc,CACxB,IAAKjlgC,OAAOqD,SAASx+C,GACnB,MAAMw/iC,EAAcljhC,UAAW,yBAA0BprC,GAK3D,IAFA8O,EAAI6/iC,EAAY7/iC,IAERi2c,GAAcj2c,EAAIggjC,EACxB,MAAMR,EACJljhC,UAAS,oCAAA5vC,OAC2Bupd,EAAU,QAAAvpd,OAAOszjC,EAAU,eAC/D9ujC,GAIJ,OAAO8O,CACT,CAEA,OAAKm7C,OAAOj7C,MAAMF,IAAM9O,EAAQuif,MAE9Bzze,EAAI2/iC,EADJ3/iC,EAAI4H,KAAKgL,IAAIhL,KAAKiL,IAAI7S,EAAGi2c,GAAa+pmB,IAKnC7kgC,OAAOqD,SAASx+C,IAAY,IAANA,GAG3BA,EAAI6/iC,EAAY7/iC,KAIPi2c,GAAcj2c,GAAKggjC,EACnBhgjC,GAITA,EAnEJ,SAAgBA,EAAGC,GAGjB,IAAMogjC,EAAoBrgjC,EAAIC,EAC9B,OAAIi2W,EAAKj2W,KAAOi2W,EAAKmqsB,GACZA,EAAoBpgjC,EAEtBogjC,CACT,CA2DQC,CAAOtgjC,EAAGkgjC,IACTD,GAAYjgjC,GAAKmgjC,EACbngjC,EAAIkgjC,EAENlgjC,GAfE,CAgBX,CACF,CAEA,SAASugjC,EAAyBR,EAASxnjC,GAAgB,IAAZ0njC,EAAQ1njC,EAAR0njC,SACvCD,EAAa7kgC,OAAOksD,iBACpB4uW,EAAagqmB,EAAW,EAAI9kgC,OAAOqlgC,iBACnCC,EAAYR,EAAWtksB,OAAOC,QAAUD,OAAO+ksB,OAErD,OAAO,SAACn2jC,GAAwB,IAAjB2G,EAAOhE,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EACpB8S,EAAI+uR,EAASxkS,EAAO2G,GAGxB,GAFA8O,EAAI4/iC,EAAmB5/iC,GAEnB9O,EAAQkvjC,aAAc,CACxB,IAAKjlgC,OAAOqD,SAASx+C,GACnB,MAAMw/iC,EAAcljhC,UAAW,yBAA0BprC,GAK3D,IAFA8O,EAAI6/iC,EAAY7/iC,IAERi2c,GAAcj2c,EAAIggjC,EACxB,MAAMR,EACJljhC,UAAS,oCAAA5vC,OAC2Bupd,EAAU,QAAAvpd,OAAOszjC,EAAU,eAC/D9ujC,GAIJ,OAAO8O,CACT,CAEA,IAAKm7C,OAAOj7C,MAAMF,IAAM9O,EAAQuif,MAG9B,OADAzze,EAAI2/iC,EADJ3/iC,EAAI4H,KAAKgL,IAAIhL,KAAKiL,IAAI7S,EAAGi2c,GAAa+pmB,IAKxC,IAAK7kgC,OAAOqD,SAASx+C,IAAY,IAANA,EACzB,OAAO,EAGT,IAAI2gjC,EAAUhlsB,OAAOkksB,EAAY7/iC,IAEjC,OADA2gjC,EAAUF,EAAUV,EAAWY,GACxBxlgC,OAAOwlgC,EAChB,CACF,CAEAvjhC,EAAQ0yC,IAAM,SAAAvlF,GACZ,OAAOA,CACT,EAEA6yC,EAAQxsC,UAAY,WAEpB,EAEAwsC,EAAQ0kmB,QAAU,SAAAv3oB,GAChB,OAAOipB,QAAQjpB,EACjB,EAEA6yC,EAAQkogC,KAAOwa,EAAwB,EAAG,CAAEG,UAAU,IACtD7ihC,EAAQwjhC,MAAQd,EAAwB,EAAG,CAAEG,UAAU,IAEvD7ihC,EAAQ6ld,MAAQ68jB,EAAwB,GAAI,CAAEG,UAAU,IACxD7ihC,EAAQ,kBAAoB0ihC,EAAwB,GAAI,CAAEG,UAAU,IAEpE7ihC,EAAQ2ld,KAAO+8jB,EAAwB,GAAI,CAAEG,UAAU,IACvD7ihC,EAAQ,iBAAmB0ihC,EAAwB,GAAI,CAAEG,UAAU,IAEnE7ihC,EAAQ,aAAemjhC,EAAyB,GAAI,CAAEN,UAAU,IAChE7ihC,EAAQ,sBAAwBmjhC,EAAyB,GAAI,CAAEN,UAAU,IAEzE7ihC,EAAQyjhC,OAAS,SAACt2jC,GAAwB,IAAjB2G,EAAOhE,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC5B8S,EAAI+uR,EAASxkS,EAAO2G,GAE1B,IAAKiqD,OAAOqD,SAASx+C,GACnB,MAAMw/iC,EAAcljhC,UAAW,uCAAwCprC,GAGzE,OAAO8O,CACT,EAEAo9B,EAAQ,uBAAyB,SAAC7yC,GAGhC,OAFUwkS,EAASxkS,EAD2B2C,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EAIpD,EAEAkwC,EAAQk9Z,MAAQ,SAAC/vc,GAAwB,IAAjB2G,EAAOhE,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC3B8S,EAAI+uR,EAASxkS,EAAO2G,GAE1B,IAAKiqD,OAAOqD,SAASx+C,GACnB,MAAMw/iC,EAAcljhC,UAAW,uCAAwCprC,GAGzE,GAAIjI,OAAO02C,GAAG3/B,GAAI,GAChB,OAAOA,EAGT,IAAMC,EAAI2H,KAAKk5iC,OAAO9gjC,GAEtB,IAAKm7C,OAAOqD,SAASv+C,GACnB,MAAMu/iC,EAAcljhC,UAAW,kEAAmEprC,GAGpG,OAAO+O,CACT,EAEAm9B,EAAQ,sBAAwB,SAAC7yC,GAAwB,IACjDyV,EAAI+uR,EAASxkS,EAD0B2C,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,GAGjD,OAAIgT,MAAMF,IAIN/W,OAAO02C,GAAG3/B,GAAI,GAHTA,EAOF4H,KAAKk5iC,OAAO9gjC,EACrB,EAEAo9B,EAAQ2jhC,UAAY,SAACx2jC,GAAwB,IAAjB2G,EAAOhE,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EACrC,GAAIgE,EAAQ8vjC,wBAAoC,OAAVz2jC,EACpC,MAAO,GAGT,GAAqB,iBAAVA,EACT,MAAMi1jC,EAAcljhC,UAAW,qDAAsDprC,GAIvF,OADmBA,EAAQwujC,QAAUxujC,EAAQwujC,QAAQ/yjC,OAASA,QAC5CpC,EACpB,EAEA6yC,EAAQ6jhC,WAAa,SAAC12jC,GAGpB,IAH4C,IAExC40C,EAFuBjuC,EAAOhE,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EAChC8S,EAAIo9B,EAAQ2jhC,UAAUx2jC,EAAO2G,GAE1BjH,EAAI,OAA8B2G,KAA1BuuC,EAAIn/B,EAAEw/U,YAAYv1V,MAAqBA,EACtD,GAAIk1C,EAAI,IACN,MAAMqghC,EAAcljhC,UAAW,4BAA6BprC,GAIhE,OAAO8O,CACT,EAEAo9B,EAAQ8jhC,UAAY,SAAC32jC,GAInB,IAJ2C,IAAjB2G,EAAOhE,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC/B6yC,EAAI3C,EAAQ2jhC,UAAUx2jC,EAAO2G,GAC7BhB,EAAI6vC,EAAEr2C,OACNq4C,EAAI,GACD93C,EAAI,EAAGA,EAAIiG,IAAKjG,EAAG,CAC1B,IAAMk1C,EAAIY,EAAEkM,WAAWhiD,GACvB,GAAIk1C,EAAI,OAAUA,EAAI,MACpB4C,EAAE/yC,KAAKrC,OAAO8yV,cAActgT,SACvB,GAAI,OAAUA,GAAKA,GAAK,MAC7B4C,EAAE/yC,KAAKrC,OAAO8yV,cAAc,aACvB,GAAIx1V,IAAMiG,EAAI,EACnB6xC,EAAE/yC,KAAKrC,OAAO8yV,cAAc,YACvB,CACL,IAAM5nS,EAAI9X,EAAEkM,WAAWhiD,EAAI,GAC3B,GAAI,OAAU4tD,GAAKA,GAAK,MAAQ,CAC9B,IAAMrnD,EAAQ,KAAJ2uC,EACJ1uC,EAAQ,KAAJonD,EACV9V,EAAE/yC,KAAKrC,OAAO8yV,cAAc,MAAa,KAAWjvV,EAAKC,MACvDxG,CACJ,MACE83C,EAAE/yC,KAAKrC,OAAO8yV,cAAc,OAEhC,CACF,CAEA,OAAO19S,EAAEiV,KAAK,GAChB,EAEA5Z,EAAQwB,OAAS,SAACr0C,GAChB,GAAc,OAAVA,GAAoC,iBAAVA,GAAuC,mBAAVA,EACzD,MAAMi1jC,EAAcljhC,UAAW,mBAFHpvC,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,GAKlC,OAAO3C,CACT,EAEA,IAAM42jC,EACFl4jC,OAAOu8C,yBAAyB17C,YAAYZ,UAAW,cAAcwG,IACnE0xjC,EAC2B,mBAAtB7zlB,kBACLtke,OAAOu8C,yBAAyB+nb,kBAAkBrke,UAAW,cAAcwG,IAC3E,KAEN,SAAS2xjC,EAAuB92jC,GAC9B,IAKE,OAFA42jC,EAAmBz2jC,KAAKH,IAEjB,CACT,CAAE,MAAAm7I,GACA,OAAO,CACT,CACF,CAEA,SAASu26B,EAAoB1xjC,GAC3B,IAEE,OADA62jC,EAAoB12jC,KAAKH,IAClB,CACT,CAAE,MAAAg6L,GACA,OAAO,CACT,CACF,CAEA,SAAS+83B,EAAsB/2jC,GAC7B,IAGE,OADA,IAAIP,WAAWO,IACR,CACT,CAAE,MAAAg3jC,GACA,OAAO,CACT,CACF,CAEAnkhC,EAAQtzC,YAAc,SAACS,GAAwB,IAAjB2G,EAAOhE,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EACvC,IAAKm0jC,EAAuB92jC,GAAQ,CAClC,GAAI2G,EAAQswjC,cAAgBvF,EAAoB1xjC,GAC9C,MAAMi1jC,EAAcljhC,UAAW,6CAA8CprC,GAE/E,MAAMsujC,EAAcljhC,UAAW,wBAAyBprC,EAC1D,CACA,GAAIowjC,EAAsB/2jC,GACxB,MAAMi1jC,EAAcljhC,UAAW,4BAA6BprC,GAG9D,OAAO3G,CACT,EAEA,IAAMk3jC,EACFx4jC,OAAOu8C,yBAAyB4sB,SAASlpE,UAAW,cAAcwG,IACtE0tC,EAAQg1B,SAAW,SAAC7nE,GAAwB,IAAjB2G,EAAOhE,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EACpC,IACEu0jC,EAAmB/2jC,KAAKH,EAC1B,CAAE,MAAOzC,GACP,MAAM03jC,EAAcljhC,UAAW,oBAAqBprC,EACtD,CAEA,IAAKA,EAAQswjC,aAAevF,EAAoB1xjC,EAAMV,QACpD,MAAM21jC,EAAcljhC,UAAW,yDAA0DprC,GAE3F,GAAIowjC,EAAsB/2jC,EAAMV,QAC9B,MAAM21jC,EAAcljhC,UAAW,sCAAuCprC,GAGxE,OAAO3G,CACT,EAMA,IAAMm3jC,EAAuBz4jC,OAAOu8C,yBAClCv8C,OAAOuhD,eAAexgD,YAAYd,UAClCg6C,OAAOqvB,aACP7iE,IACF,CACE3D,UACAE,WACAE,WACAnC,WACAkC,YACAE,YACAJ,kBACAK,aACAC,cACA6xB,QAAQ,SAAAsyC,GACR,IAAQ1oE,EAAS0oE,EAAT1oE,KACF2ic,EAAU,WAAY/+b,KAAK5D,GAAQ,KAAO,IAChDq1C,EAAQr1C,GAAQ,SAACwC,GAAwB,IAAjB2G,EAAOhE,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EACjC,IAAKpD,YAAY6vD,OAAOpvD,IAAUm3jC,EAAqBh3jC,KAAKH,KAAWxC,EACrE,MAAMy3jC,EAAcljhC,UAAW,UAAF5vC,OAAYg+b,EAAO,KAAAh+b,OAAI3E,EAAI,WAAWmJ,GAErE,IAAKA,EAAQswjC,aAAevF,EAAoB1xjC,EAAMV,QACpD,MAAM21jC,EAAcljhC,UAAW,yDAA0DprC,GAE3F,GAAIowjC,EAAsB/2jC,EAAMV,QAC9B,MAAM21jC,EAAcljhC,UAAW,sCAAuCprC,GAGxE,OAAO3G,CACT,CACF,GAIA6yC,EAAQukhC,gBAAkB,SAACp3jC,GAAwB,IAAjB2G,EAAOhE,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC3C,IAAKpD,YAAY6vD,OAAOpvD,GACtB,MAAMi1jC,EAAcljhC,UAAW,uDAAwDprC,GAGzF,IAAKA,EAAQswjC,aAAevF,EAAoB1xjC,EAAMV,QACpD,MAAM21jC,EAAcljhC,UAAW,yDAA0DprC,GAG3F,GAAIowjC,EAAsB/2jC,EAAMV,QAC9B,MAAM21jC,EAAcljhC,UAAW,sCAAuCprC,GAExE,OAAO3G,CACT,EAEA6yC,EAAQwkhC,aAAe,SAACr3jC,GAAwB,IAAjB2G,EAAOhE,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EACxC,GAAIpD,YAAY6vD,OAAOpvD,GAAQ,CAC7B,IAAK2G,EAAQswjC,aAAevF,EAAoB1xjC,EAAMV,QACpD,MAAM21jC,EAAcljhC,UAAW,yDAA0DprC,GAG3F,GAAIowjC,EAAsB/2jC,EAAMV,QAC9B,MAAM21jC,EAAcljhC,UAAW,sCAAuCprC,GAExE,OAAO3G,CACT,CAEA,IAAK2G,EAAQswjC,cAAgBH,EAAuB92jC,GAClD,MAAMi1jC,EAAcljhC,UAAW,yCAA0CprC,GAE3E,GAAIA,EAAQswjC,cAAgBvF,EAAoB1xjC,KAAW82jC,EAAuB92jC,GAChF,MAAMi1jC,EAAcljhC,UAAW,6DAA8DprC,GAE/F,GAAIowjC,EAAsB/2jC,GACxB,MAAMi1jC,EAAcljhC,UAAW,4BAA6BprC,GAG9D,OAAO3G,CACT,EAEA6yC,EAAQykhC,aAAezkhC,EAAQ,qB,sBC/b/B8lM,EAAiClkN,EAAQ,OAAjC2B,EAAGuiN,EAAHviN,IAAKyjsB,EAAelhf,EAAfkhf,gBACP09V,EAAkB9iiC,EAAQ,OAC1B+iiC,EAAkB/iiC,EAAQ,OAE1BgjiC,EAAqB,CAAErijC,MAAO1W,OAAQ8I,QAASpF,OAAQ2vC,WAC7D3b,EAAIg1f,QAAQqsiB,EAAoB,CAAC,WACjC59V,EAAgBzuM,QAAQqsiB,EAAoB,CAAC,WAE7C5khC,EAAQ,EAAM4khC,EAAmBrhiC,IAGdmhiC,EAAgBG,SACXH,EAAgBI,cACjBJ,EAAgBK,aACfL,EAAgBM,cAChBN,EAAgBO,cACbP,EAAgBQ,iBACdR,EAAgBS,mBACpBT,EAAgBU,eAChBV,EAAgBW,eACCX,EAAgBY,gCAChCZ,EAAgBa,gBAEZZ,EAAgBa,oBACjBb,EAAgBc,kB,kBCxB7C,IAAMC,EAAc9jiC,EAAQ,OACtBy2a,EAAQz2a,EAAQ,OAEtBoe,EAAQ07gB,QAAU,SAAClnf,EAAcrnE,GAAmD,IAAL8+G,GAAKn8G,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAP,CAAC,GAApC+hB,QAAAA,OAAO,IAAAo6F,EAAG,qBAAoBA,EACtE,GAAqB,mBAAV9+G,EACT,MAAM,IAAIqnE,EAAat1B,UAAUrtB,EAAU,sBAG7C,SAAS8ziC,IAEQ,IADf,IACIC,EADE5n+B,EAAUq6W,EAAMwtnB,kBAAkB/3jC,MACzBiW,EAAAjU,UAAAxD,OAFqBuV,EAAI,IAAAU,MAAAwB,GAAAtG,EAAA,EAAAA,EAAAsG,EAAAtG,IAAJoE,EAAIpE,GAAA3N,UAAA2N,GAIxC,IAAK,IAAI5Q,EAAI,EAAGA,EAAIgV,EAAKvV,OAAQO,IAC/BgV,EAAKhV,GAAKwrc,EAAMwtnB,kBAAkBhkjC,EAAKhV,IAOzC,OAJA+4jC,EAAah6gC,QAAQ91C,MAAM3I,EAAO6wF,EAASn8E,GAE3C+jjC,EAAaF,EAAiB,IAAEE,EAAY,CAAE/ziC,QAASA,EAASywiC,QAAS9t/B,GAG3E,CAiBA,OAfAmx/B,EAA0Bhj2B,UAAY,WAAa,QAAA74I,EAAAh6E,UAAAxD,OAATuV,EAAI,IAAAU,MAAAunE,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJloE,EAAIkoE,GAAAj6E,UAAAi6E,GAC5C,IAAK,IAAIl9E,EAAI,EAAGA,EAAIgV,EAAKvV,OAAQO,IAC/BgV,EAAKhV,GAAKwrc,EAAMwtnB,kBAAkBhkjC,EAAKhV,IAGzC,IAAI+4jC,EAAah6gC,QAAQ+2K,UAAUx1N,EAAO0U,GAI1C,OAFA+jjC,EAAaF,EAAiB,IAAEE,EAAY,CAAE/ziC,QAASA,EAASywiC,QAAS9t/B,GAG3E,EAEAmx/B,EAA0BttnB,EAAMytnB,eAAiB34jC,EACjDw4jC,EAA0BI,gBAAkB54jC,EAErCw4jC,CACT,C,kBCzCa,IAAA1/iC,EAAA2b,EAAA,OAAAhb,EAAAgb,EAAA,OACPokiC,EAAMpkiC,EAAQ,OACdqkiC,EAAarkiC,EAAQ,OACrBolsB,EAAkBplsB,EAAQ,OAEhCoe,EAAQika,eAAc,WA0BnB,OAAAr9b,EAzBD,SAAAs/iC,EAAY1x/B,EAAc2x/B,GAAiBlgjC,EAAA,KAAAigjC,GACzC,IAAMxjiC,EAAMyjiC,EAAgB,GACtB9s/B,EAAO8s/B,EAAgB,GAEzBC,EAAa,KACjB,QAAa5yjC,IAAT6lE,GAEiB,QADnB+s/B,EAAaJ,EAAIlB,cAAczr/B,IAE7B,MAAM,IAAIn6B,UAAU,qBAAD5vC,OAAsB+pE,IAI7C,IAAMgt/B,EAAYL,EAAIlB,cAAcpiiC,EAAK,CAAE6psB,QAAS65V,IACpD,GAAkB,OAAdC,EACF,MAAM,IAAInnhC,UAAU,gBAAD5vC,OAAiBozB,IAGtC,IAAMwxD,EAA4B,OAApBmy+B,EAAUny+B,MAAiBmy+B,EAAUny+B,MAAQ,GAE3DpmF,KAAKu3e,KAAOghlB,EAIZv4jC,KAAKw4jC,OAASt/V,EAAgBu/V,WAAW/x/B,EAAc,CAAC0f,GAAQ,CAAEsy+B,iBAAiB,IACnF14jC,KAAKw4jC,OAAOjhlB,KAAOv3e,IACrB,EAAC,EAAAsB,IAAA,OAAAkD,IAED,WACE,OAAO0zjC,EAAIjB,aAAaj3jC,KAAKu3e,KAC/B,EAAChze,IAED,SAASsgD,GACP,IAAM0zgC,EAAYL,EAAIlB,cAAcnygC,GACpC,GAAkB,OAAd0zgC,EACF,MAAM,IAAInnhC,UAAU,gBAAD5vC,OAAiBqjD,IAGtC7kD,KAAKu3e,KAAOghlB,EAEZv4jC,KAAKw4jC,OAAOG,MAAM75hC,OAAO,GACzB,IAAQsnD,EAAUmy+B,EAAVny+B,MACM,OAAVA,IACFpmF,KAAKw4jC,OAAOG,MAAQR,EAAWS,sBAAsBxy+B,GAEzD,GAAC,CAAA9kF,IAAA,SAAAkD,IAED,WACE,OAAO0zjC,EAAIb,mBAAmBr3jC,KAAKu3e,KACrC,GAAC,CAAAj2e,IAAA,WAAAkD,IAED,WACE,MAAO,GAAPhD,OAAUxB,KAAKu3e,KAAK1vS,OAAM,IAC5B,EAACtjM,IAED,SAAasgD,GACXqzgC,EAAIlB,cAAc,GAADx1jC,OAAIqjD,EAAC,KAAK,CAAEjwB,IAAK50B,KAAKu3e,KAAMshlB,cAAe,gBAC9D,GAAC,CAAAv3jC,IAAA,WAAAkD,IAED,WACE,OAAOxE,KAAKu3e,KAAK/la,QACnB,EAACjtE,IAED,SAAasgD,GACPqzgC,EAAIV,gCAAgCx3jC,KAAKu3e,OAI7C2glB,EAAIZ,eAAet3jC,KAAKu3e,KAAM1yb,EAChC,GAAC,CAAAvjD,IAAA,WAAAkD,IAED,WACE,OAAOxE,KAAKu3e,KAAK9la,QACnB,EAACltE,IAED,SAAasgD,GACPqzgC,EAAIV,gCAAgCx3jC,KAAKu3e,OAI7C2glB,EAAIX,eAAev3jC,KAAKu3e,KAAM1yb,EAChC,GAAC,CAAAvjD,IAAA,OAAAkD,IAED,WACE,IAAMowB,EAAM50B,KAAKu3e,KAEjB,OAAiB,OAAb3id,EAAI5S,KACC,GAGQ,OAAb4S,EAAI6sB,KACCy2gC,EAAIf,cAAcviiC,EAAI5S,MAGxB,GAAPxgB,OAAU02jC,EAAIf,cAAcviiC,EAAI5S,MAAK,KAAAxgB,OAAI02jC,EAAId,iBAAiBxiiC,EAAI6sB,MACpE,EAACl9C,IAED,SAASsgD,GACHqzgC,EAAIT,gBAAgBz3jC,KAAKu3e,OAI7B2glB,EAAIlB,cAAcnygC,EAAG,CAAEjwB,IAAK50B,KAAKu3e,KAAMshlB,cAAe,QACxD,GAAC,CAAAv3jC,IAAA,WAAAkD,IAED,WACE,OAAuB,OAAnBxE,KAAKu3e,KAAKv1d,KACL,GAGFk2iC,EAAIf,cAAcn3jC,KAAKu3e,KAAKv1d,KACrC,EAACzd,IAED,SAAasgD,GACPqzgC,EAAIT,gBAAgBz3jC,KAAKu3e,OAI7B2glB,EAAIlB,cAAcnygC,EAAG,CAAEjwB,IAAK50B,KAAKu3e,KAAMshlB,cAAe,YACxD,GAAC,CAAAv3jC,IAAA,OAAAkD,IAED,WACE,OAAuB,OAAnBxE,KAAKu3e,KAAK91b,KACL,GAGFy2gC,EAAId,iBAAiBp3jC,KAAKu3e,KAAK91b,KACxC,EAACl9C,IAED,SAASsgD,GACHqzgC,EAAIV,gCAAgCx3jC,KAAKu3e,QAInC,KAAN1yb,EACF7kD,KAAKu3e,KAAK91b,KAAO,KAEjBy2gC,EAAIlB,cAAcnygC,EAAG,CAAEjwB,IAAK50B,KAAKu3e,KAAMshlB,cAAe,SAE1D,GAAC,CAAAv3jC,IAAA,WAAAkD,IAED,WACE,OAAO0zjC,EAAIhB,cAAcl3jC,KAAKu3e,KAChC,EAAChze,IAED,SAAasgD,GACPqzgC,EAAIT,gBAAgBz3jC,KAAKu3e,QAI7Bv3e,KAAKu3e,KAAKx3d,KAAO,GACjBm4iC,EAAIlB,cAAcnygC,EAAG,CAAEjwB,IAAK50B,KAAKu3e,KAAMshlB,cAAe,eACxD,GAAC,CAAAv3jC,IAAA,SAAAkD,IAED,WACE,OAAwB,OAApBxE,KAAKu3e,KAAKnxZ,OAAsC,KAApBpmF,KAAKu3e,KAAKnxZ,MACjC,GAGF,IAAP5kF,OAAWxB,KAAKu3e,KAAKnxZ,MACvB,EAAC7hF,IAED,SAAWsgD,GACT,IAAMjwB,EAAM50B,KAAKu3e,KAEjB,GAAU,KAAN1yb,EAGF,OAFAjwB,EAAIwxD,MAAQ,UACZpmF,KAAKw4jC,OAAOG,MAAQ,IAItB,IAAM70/B,EAAiB,MAATjf,EAAE,GAAaA,EAAE1lD,UAAU,GAAK0lD,EAC9CjwB,EAAIwxD,MAAQ,GACZ8x+B,EAAIlB,cAAclz/B,EAAO,CAAElvC,MAAKikiC,cAAe,UAC/C74jC,KAAKw4jC,OAAOG,MAAQR,EAAWS,sBAAsB90/B,EACvD,GAAC,CAAAxiE,IAAA,eAAAkD,IAED,WACE,OAAOxE,KAAKw4jC,MACd,GAAC,CAAAl3jC,IAAA,OAAAkD,IAED,WACE,OAA2B,OAAvBxE,KAAKu3e,KAAKzhV,UAA4C,KAAvB91J,KAAKu3e,KAAKzhV,SACpC,GAGF,IAAPt0J,OAAWxB,KAAKu3e,KAAKzhV,SACvB,EAACvxJ,IAED,SAASsgD,GACP,GAAU,KAANA,EAAJ,CAKA,IAAMif,EAAiB,MAATjf,EAAE,GAAaA,EAAE1lD,UAAU,GAAK0lD,EAC9C7kD,KAAKu3e,KAAKzhV,SAAW,GACrBoi6B,EAAIlB,cAAclz/B,EAAO,CAAElvC,IAAK50B,KAAKu3e,KAAMshlB,cAAe,YAJ1D,MAFE74jC,KAAKu3e,KAAKzhV,SAAW,IAOzB,GAAC,CAAAx0J,IAAA,SAAAjC,MAED,WACE,OAAOW,KAAKq3B,IACd,IAAC,CA1MmB,E,kBCLT,IAAAlf,EAAA2b,EAAA,OAAAhb,EAAAgb,EAAA,OAEP8jiC,EAAc9jiC,EAAQ,OACtBy2a,EAAQz2a,EAAQ,OAEhBgliC,EAAavunB,EAAMuunB,WACnBC,EAAqBxunB,EAAMwunB,mBAiBjC,SAASC,EAAYty/B,EAAcuy/B,GACjC,IAAI54gC,EASJ,YARkB36C,IAAduzjC,IACF54gC,EAAQ44gC,EAAUj7jC,WAGfusc,EAAMvhX,SAAS3oC,KAClBA,EAAQqmB,EAAaqy/B,GAAyB,IAAE/6jC,WAG3CD,OAAO85C,OAAOwI,EACvB,CAxBAnO,EAAQuC,GAAK,SAAAp1C,GACX,OAAOkrc,EAAMvhX,SAAS3pF,IAAUkrc,EAAM3qS,OAAOvgK,EAAOy5jC,IAAez5jC,EAAMy5jC,aAAuBI,EAAK/inB,cACvG,EACAjka,EAAQinhC,OAAS,SAAA95jC,GACf,OAAOkrc,EAAMvhX,SAAS3pF,IAAUA,aAAiB65jC,EAAK/inB,cACxD,EACAjka,EAAQ07gB,QAAU,SAAClnf,EAAcrnE,GAAmD,IAAL8+G,GAAKn8G,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAP,CAAC,GAApC+hB,QAAAA,OAAO,IAAAo6F,EAAG,qBAAoBA,EACtE,GAAIjsE,EAAQuC,GAAGp1C,GACb,OAAOkrc,EAAM6unB,eAAe/5jC,GAE9B,MAAM,IAAIqnE,EAAat1B,UAAU,GAAD5vC,OAAIuiB,EAAO,0BAC7C,EAeAmuB,EAAQ2F,OAAS,SAAC6uB,EAAc2x/B,EAAiBgB,GAC/C,IAAMlwgC,EAAU6vgC,EAAYty/B,GAC5B,OAAOx0B,EAAQ6gb,MAAM5pa,EAASud,EAAc2x/B,EAAiBgB,EAC/D,EAEAnnhC,EAAQumhC,WAAa,SAAC/x/B,EAAc2x/B,EAAiBgB,GACnD,IAAMlwgC,EAAUjX,EAAQ2F,OAAO6uB,EAAc2x/B,EAAiBgB,GAC9D,OAAO9unB,EAAM6unB,eAAejwgC,EAC9B,EAEAjX,EAAQonhC,eAAiB,SAACnwgC,EAASud,GAAkB,EAErDx0B,EAAQ6gb,MAAQ,SAAC5pa,EAASud,GAAyD,IAA3C2x/B,EAAer2jC,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,GAAIq3jC,EAAWr3jC,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EAa3E,OAZAq3jC,EAAYlwgC,QAAUA,EAEtBjX,EAAQonhC,eAAenwgC,EAASud,GAChC3oE,OAAOw2C,eAAe4U,EAAS2vgC,EAAY,CACzCz5jC,MAAO,IAAI65jC,EAAK/inB,eAAezvY,EAAc2x/B,EAAiBgB,GAC9D/jhC,cAAc,IAGhB6T,EAAQ2vgC,GAAYvunB,EAAMytnB,eAAiB7ugC,EACvC+vgC,EAAK//+B,MACP+/+B,EAAK//+B,KAAKhwB,EAAQ2vgC,IAEb3vgC,CACT,EAEAjX,EAAAA,IAAc,SAACw0B,EAAcuy/B,GAC3B,IAAM9vgC,EAAU6vgC,EAAYty/B,EAAcuy/B,GAY1C,OAVA/mhC,EAAQonhC,eAAenwgC,EAASud,GAChC3oE,OAAOw2C,eAAe4U,EAAS2vgC,EAAY,CACzCz5jC,MAAOtB,OAAO85C,OAAOqhhC,EAAK/inB,eAAen4c,WACzCs3C,cAAc,IAGhB6T,EAAQ2vgC,GAAYvunB,EAAMytnB,eAAiB7ugC,EACvC+vgC,EAAK//+B,MACP+/+B,EAAK//+B,KAAKhwB,EAAQ2vgC,IAEb3vgC,EAAQ2vgC,EACjB,EAEA,IAAMS,EAAU,IAAI/y/B,IAAI,CAAC,SAAU,WAEnCt0B,EAAQu4e,QAAU,SAAC/jd,EAAc8y/B,GAC/B,GAAKA,EAAY77hC,KAAK,SAAA87hC,GAAU,OAAIF,EAAQj1jC,IAAIm1jC,EAAW,GAA3D,CAIA,IAAMC,EAAenvnB,EAAMovnB,iBAAiBjz/B,GACtCjxC,EAAG,WA2BN,OAAA3c,EA1BD,SAAA2c,EAAYb,GACV,GADezc,EAAA,KAAAsd,GACXzzB,UAAUxD,OAAS,EACrB,MAAM,IAAIkoE,EAAat1B,UAAU,4DAAD5vC,OAC8BQ,UAAUxD,OAAM,cAGhF,IAAMuV,EAAO,GAEP6ljC,EAAS53jC,UAAU,GACvB43jC,EAAShC,EAAuB,UAAEgC,EAAQ,CACxC71iC,QAAS,yCACTywiC,QAAS9t/B,IAEX3yD,EAAKjQ,KAAK81jC,GAGV,IAAIA,EAAS53jC,UAAU,GASzB,YARiB0D,IAAXk0jC,IACFA,EAAShC,EAAuB,UAAEgC,EAAQ,CACxC71iC,QAAS,yCACTywiC,QAAS9t/B,KAGb3yD,EAAKjQ,KAAK81jC,GAEL1nhC,EAAQ6gb,MAAMh1d,OAAO85C,QAAO,gBAAApiB,EAAA,KAAA8pB,iBAAA,GAAWvhD,WAAY0oE,EAAc3yD,EAC1E,EAAC,EAAAzS,IAAA,SAAAjC,MAED,WACE,IAAMw6jC,EAAU75jC,WAAsCA,KAAO0mE,EAC7D,IAAKx0B,EAAQuC,GAAGolhC,GACd,MAAM,IAAInz/B,EAAat1B,UAAU,qEAGnC,OAAOyohC,EAAQf,GAAYvlgC,QAC7B,GAAC,CAAAjyD,IAAA,OAAAkD,IAED,WACE,IAAMq1jC,EAAU75jC,WAAsCA,KAAO0mE,EAE7D,IAAKx0B,EAAQuC,GAAGolhC,GACd,MAAM,IAAInz/B,EAAat1B,UAAU,uEAGnC,OAAOyohC,EAAQf,GAAkB,IACnC,EAACv0jC,IAED,SAAS0oZ,GACP,IAAM4sqB,EAAU75jC,WAAsCA,KAAO0mE,EAE7D,IAAKx0B,EAAQuC,GAAGolhC,GACd,MAAM,IAAInz/B,EAAat1B,UAAU,uEAGnC67W,EAAI2qqB,EAAuB,UAAE3qqB,EAAG,CAC9BlpY,QAAS,iEACTywiC,QAAS9t/B,IAGXmz/B,EAAQf,GAAkB,KAAI7rqB,CAChC,GAAC,CAAA3rZ,IAAA,WAAAjC,MAED,WAEE,IAAK6yC,EAAQuC,GADGz0C,MAEd,MAAM,IAAI0mE,EAAat1B,UAAU,uEAGnC,OALgBpxC,KAKD84jC,GAAkB,IACnC,GAAC,CAAAx3jC,IAAA,SAAAkD,IAED,WACE,IAAMq1jC,EAAU75jC,WAAsCA,KAAO0mE,EAE7D,IAAKx0B,EAAQuC,GAAGolhC,GACd,MAAM,IAAInz/B,EAAat1B,UAAU,yEAGnC,OAAOyohC,EAAQf,GAAoB,MACrC,GAAC,CAAAx3jC,IAAA,WAAAkD,IAED,WACE,IAAMq1jC,EAAU75jC,WAAsCA,KAAO0mE,EAE7D,IAAKx0B,EAAQuC,GAAGolhC,GACd,MAAM,IAAInz/B,EAAat1B,UAAU,2EAGnC,OAAOyohC,EAAQf,GAAsB,QACvC,EAACv0jC,IAED,SAAa0oZ,GACX,IAAM4sqB,EAAU75jC,WAAsCA,KAAO0mE,EAE7D,IAAKx0B,EAAQuC,GAAGolhC,GACd,MAAM,IAAInz/B,EAAat1B,UAAU,2EAGnC67W,EAAI2qqB,EAAuB,UAAE3qqB,EAAG,CAC9BlpY,QAAS,qEACTywiC,QAAS9t/B,IAGXmz/B,EAAQf,GAAsB,SAAI7rqB,CACpC,GAAC,CAAA3rZ,IAAA,WAAAkD,IAED,WACE,IAAMq1jC,EAAU75jC,WAAsCA,KAAO0mE,EAE7D,IAAKx0B,EAAQuC,GAAGolhC,GACd,MAAM,IAAInz/B,EAAat1B,UAAU,2EAGnC,OAAOyohC,EAAQf,GAAsB,QACvC,EAACv0jC,IAED,SAAa0oZ,GACX,IAAM4sqB,EAAU75jC,WAAsCA,KAAO0mE,EAE7D,IAAKx0B,EAAQuC,GAAGolhC,GACd,MAAM,IAAInz/B,EAAat1B,UAAU,2EAGnC67W,EAAI2qqB,EAAuB,UAAE3qqB,EAAG,CAC9BlpY,QAAS,qEACTywiC,QAAS9t/B,IAGXmz/B,EAAQf,GAAsB,SAAI7rqB,CACpC,GAAC,CAAA3rZ,IAAA,WAAAkD,IAED,WACE,IAAMq1jC,EAAU75jC,WAAsCA,KAAO0mE,EAE7D,IAAKx0B,EAAQuC,GAAGolhC,GACd,MAAM,IAAInz/B,EAAat1B,UAAU,2EAGnC,OAAOyohC,EAAQf,GAAsB,QACvC,EAACv0jC,IAED,SAAa0oZ,GACX,IAAM4sqB,EAAU75jC,WAAsCA,KAAO0mE,EAE7D,IAAKx0B,EAAQuC,GAAGolhC,GACd,MAAM,IAAInz/B,EAAat1B,UAAU,2EAGnC67W,EAAI2qqB,EAAuB,UAAE3qqB,EAAG,CAC9BlpY,QAAS,qEACTywiC,QAAS9t/B,IAGXmz/B,EAAQf,GAAsB,SAAI7rqB,CACpC,GAAC,CAAA3rZ,IAAA,OAAAkD,IAED,WACE,IAAMq1jC,EAAU75jC,WAAsCA,KAAO0mE,EAE7D,IAAKx0B,EAAQuC,GAAGolhC,GACd,MAAM,IAAInz/B,EAAat1B,UAAU,uEAGnC,OAAOyohC,EAAQf,GAAkB,IACnC,EAACv0jC,IAED,SAAS0oZ,GACP,IAAM4sqB,EAAU75jC,WAAsCA,KAAO0mE,EAE7D,IAAKx0B,EAAQuC,GAAGolhC,GACd,MAAM,IAAInz/B,EAAat1B,UAAU,uEAGnC67W,EAAI2qqB,EAAuB,UAAE3qqB,EAAG,CAC9BlpY,QAAS,iEACTywiC,QAAS9t/B,IAGXmz/B,EAAQf,GAAkB,KAAI7rqB,CAChC,GAAC,CAAA3rZ,IAAA,WAAAkD,IAED,WACE,IAAMq1jC,EAAU75jC,WAAsCA,KAAO0mE,EAE7D,IAAKx0B,EAAQuC,GAAGolhC,GACd,MAAM,IAAInz/B,EAAat1B,UAAU,2EAGnC,OAAOyohC,EAAQf,GAAsB,QACvC,EAACv0jC,IAED,SAAa0oZ,GACX,IAAM4sqB,EAAU75jC,WAAsCA,KAAO0mE,EAE7D,IAAKx0B,EAAQuC,GAAGolhC,GACd,MAAM,IAAInz/B,EAAat1B,UAAU,2EAGnC67W,EAAI2qqB,EAAuB,UAAE3qqB,EAAG,CAC9BlpY,QAAS,qEACTywiC,QAAS9t/B,IAGXmz/B,EAAQf,GAAsB,SAAI7rqB,CACpC,GAAC,CAAA3rZ,IAAA,OAAAkD,IAED,WACE,IAAMq1jC,EAAU75jC,WAAsCA,KAAO0mE,EAE7D,IAAKx0B,EAAQuC,GAAGolhC,GACd,MAAM,IAAInz/B,EAAat1B,UAAU,uEAGnC,OAAOyohC,EAAQf,GAAkB,IACnC,EAACv0jC,IAED,SAAS0oZ,GACP,IAAM4sqB,EAAU75jC,WAAsCA,KAAO0mE,EAE7D,IAAKx0B,EAAQuC,GAAGolhC,GACd,MAAM,IAAInz/B,EAAat1B,UAAU,uEAGnC67W,EAAI2qqB,EAAuB,UAAE3qqB,EAAG,CAC9BlpY,QAAS,iEACTywiC,QAAS9t/B,IAGXmz/B,EAAQf,GAAkB,KAAI7rqB,CAChC,GAAC,CAAA3rZ,IAAA,WAAAkD,IAED,WACE,IAAMq1jC,EAAU75jC,WAAsCA,KAAO0mE,EAE7D,IAAKx0B,EAAQuC,GAAGolhC,GACd,MAAM,IAAInz/B,EAAat1B,UAAU,2EAGnC,OAAOyohC,EAAQf,GAAsB,QACvC,EAACv0jC,IAED,SAAa0oZ,GACX,IAAM4sqB,EAAU75jC,WAAsCA,KAAO0mE,EAE7D,IAAKx0B,EAAQuC,GAAGolhC,GACd,MAAM,IAAInz/B,EAAat1B,UAAU,2EAGnC67W,EAAI2qqB,EAAuB,UAAE3qqB,EAAG,CAC9BlpY,QAAS,qEACTywiC,QAAS9t/B,IAGXmz/B,EAAQf,GAAsB,SAAI7rqB,CACpC,GAAC,CAAA3rZ,IAAA,SAAAkD,IAED,WACE,IAAMq1jC,EAAU75jC,WAAsCA,KAAO0mE,EAE7D,IAAKx0B,EAAQuC,GAAGolhC,GACd,MAAM,IAAInz/B,EAAat1B,UAAU,yEAGnC,OAAOyohC,EAAQf,GAAoB,MACrC,EAACv0jC,IAED,SAAW0oZ,GACT,IAAM4sqB,EAAU75jC,WAAsCA,KAAO0mE,EAE7D,IAAKx0B,EAAQuC,GAAGolhC,GACd,MAAM,IAAInz/B,EAAat1B,UAAU,yEAGnC67W,EAAI2qqB,EAAuB,UAAE3qqB,EAAG,CAC9BlpY,QAAS,mEACTywiC,QAAS9t/B,IAGXmz/B,EAAQf,GAAoB,OAAI7rqB,CAClC,GAAC,CAAA3rZ,IAAA,eAAAkD,IAED,WACE,IAAMq1jC,EAAU75jC,WAAsCA,KAAO0mE,EAE7D,IAAKx0B,EAAQuC,GAAGolhC,GACd,MAAM,IAAInz/B,EAAat1B,UAAU,+EAGnC,OAAOm5Z,EAAMuvnB,cAAc95jC,KAAM,eAAgB,WAC/C,OAAOuqc,EAAMwtnB,kBAAkB8B,EAAQf,GAA0B,aACnE,EACF,GAAC,CAAAx3jC,IAAA,OAAAkD,IAED,WACE,IAAMq1jC,EAAU75jC,WAAsCA,KAAO0mE,EAE7D,IAAKx0B,EAAQuC,GAAGolhC,GACd,MAAM,IAAInz/B,EAAat1B,UAAU,uEAGnC,OAAOyohC,EAAQf,GAAkB,IACnC,EAACv0jC,IAED,SAAS0oZ,GACP,IAAM4sqB,EAAU75jC,WAAsCA,KAAO0mE,EAE7D,IAAKx0B,EAAQuC,GAAGolhC,GACd,MAAM,IAAInz/B,EAAat1B,UAAU,uEAGnC67W,EAAI2qqB,EAAuB,UAAE3qqB,EAAG,CAC9BlpY,QAAS,iEACTywiC,QAAS9t/B,IAGXmz/B,EAAQf,GAAkB,KAAI7rqB,CAChC,IAAC,CA7TM,GA+TTlvZ,OAAOg7C,iBAAiBtjB,EAAIz3B,UAAW,CACrCu1D,OAAQ,CAAEle,YAAY,GACtBhe,KAAM,CAAEge,YAAY,GACpBv3C,SAAU,CAAEu3C,YAAY,GACxB0/C,OAAQ,CAAE1/C,YAAY,GACtB3f,SAAU,CAAE2f,YAAY,GACxBm8B,SAAU,CAAEn8B,YAAY,GACxBo8B,SAAU,CAAEp8B,YAAY,GACxBrzB,KAAM,CAAEqzB,YAAY,GACpBxf,SAAU,CAAEwf,YAAY,GACxBoM,KAAM,CAAEpM,YAAY,GACpB8wC,SAAU,CAAE9wC,YAAY,GACxB+xD,OAAQ,CAAE/xD,YAAY,GACtBqsK,aAAc,CAAErsK,YAAY,GAC5BgxC,KAAM,CAAEhxC,YAAY,GACpB,CAAC2C,OAAOqvB,aAAc,CAAEhoE,MAAO,MAAOi2C,cAAc,KAEtDokhC,EAA0B,IAAIjkiC,EAE9B13B,OAAOw2C,eAAemyB,EAlaF,MAka+B,CACjDpxB,cAAc,EACdC,UAAU,EACVl2C,MAAOo2B,IAGL+jiC,EAAYxhjC,SAAS,WACvBja,OAAOw2C,eAAemyB,EAAc,YAAa,CAC/CpxB,cAAc,EACdC,UAAU,EACVl2C,MAAOo2B,GA/VX,CAkWF,EAEA,IAAMyjiC,EAAOpliC,EAAQ,M,kBCzbR,IAAA3b,EAAA2b,EAAA,OAAAhb,EAAAgb,EAAA,gBAAAhvB,EAAA8kD,EAAAhtD,GAAA,IAAA6e,EAAA,oBAAAu8B,QAAA4R,EAAA5R,OAAA3wC,WAAAuiD,EAAA,kBAAAnuC,EAAA,IAAAhH,MAAAC,QAAAk1C,KAAAnuC,EAAA,SAAAmuC,EAAAtkD,GAAA,GAAAskD,EAAA,qBAAAA,EAAA,OAAAkhF,EAAAlhF,EAAAtkD,GAAA,IAAAmW,EAAA,GAAA3d,SAAA0B,KAAAoqD,GAAAh1C,MAAA,uBAAA6G,GAAAmuC,EAAArK,cAAA9jC,EAAAmuC,EAAArK,YAAA1iD,MAAA,QAAA4e,GAAA,QAAAA,EAAAhH,MAAA8wC,KAAAqE,GAAA,cAAAnuC,GAAA,2CAAAhb,KAAAgb,GAAAqvH,EAAAlhF,EAAAtkD,QAAA,GAAA6iZ,CAAAv+V,KAAAhtD,GAAAgtD,GAAA,iBAAAA,EAAAprD,OAAA,CAAAid,IAAAmuC,EAAAnuC,GAAA,IAAAksC,EAAA,EAAA3R,EAAA,oBAAAjxC,EAAAixC,EAAAhxC,EAAA,kBAAA2iD,GAAAiC,EAAAprD,OAAA,CAAAyG,MAAA,IAAAA,MAAA,EAAA5F,MAAAuqD,EAAAjC,KAAA,EAAA/qD,EAAA,SAAAgtD,GAAA,MAAAA,CAAA,EAAAzkD,EAAA6wC,EAAA,WAAA5E,UAAA,6IAAA2rB,EAAAz3D,GAAA,EAAA++D,GAAA,SAAAt/D,EAAA,WAAA0W,EAAAA,EAAAjc,KAAAoqD,EAAA,EAAA5kD,EAAA,eAAA4kD,EAAAnuC,EAAArP,OAAA,OAAA9G,EAAAskD,EAAA3kD,KAAA2kD,CAAA,EAAAhtD,EAAA,SAAAgtD,GAAAya,GAAA,EAAAtH,EAAAnT,CAAA,EAAAzkD,EAAA,eAAAG,GAAA,MAAAmW,EAAAgjT,QAAAhjT,EAAAgjT,QAAA,YAAAp6P,EAAA,MAAAtH,CAAA,aAAA+tE,EAAAlhF,EAAAtkD,IAAA,MAAAA,GAAAA,EAAAskD,EAAAprD,UAAA8G,EAAAskD,EAAAprD,QAAA,QAAA5B,EAAA,EAAAoI,EAAAyP,MAAAnP,GAAA1I,EAAA0I,EAAA1I,IAAAoI,EAAApI,GAAAgtD,EAAAhtD,GAAA,OAAAoI,CAAA,CACb,IAAMmzjC,EAAarkiC,EAAQ,OAE3Boe,EAAQika,eAAc,WA0BnB,OAAAr9b,EAzBD,SAAAihjC,EAAYrz/B,EAAc2x/B,EAAeltjC,GAA+B,IAAA6ujC,EAAA7ujC,EAA3ButjC,gBAAAA,OAAe,IAAAsB,GAAQA,EAAA7hjC,EAAA,KAAA4hjC,GAClE,IAAI5g/B,EAAOk/+B,EAAgB,GAQ3B,GAPAr4jC,KAAK24jC,MAAQ,GACb34jC,KAAKu3e,KAAO,KAEPmhlB,GAAmC,iBAATv/+B,GAAiC,MAAZA,EAAK,KACvDA,EAAOA,EAAKvkE,MAAM,IAGhBH,MAAMC,QAAQykE,GAAO,KACAx0E,EADAE,EAAAC,EACJq0E,GAAI,IAAvB,IAAAt0E,EAAAE,MAAAJ,EAAAE,EAAAG,KAAAC,MAAyB,KAAd+7E,EAAIr8E,EAAAtF,MACb,GAAoB,IAAhB2hF,EAAKxiF,OACP,MAAM,IAAI4yC,UAAU,gHAGtBpxC,KAAK24jC,MAAM70jC,KAAK,CAACk9E,EAAK,GAAIA,EAAK,IACjC,CAAC,OAAA97E,GAAAL,EAAAjI,EAAAsI,EAAA,SAAAL,EAAAM,GAAA,CACH,MAAO,GAAoB,iBAATg0E,GAAqD,OAAhCp7E,OAAOuhD,eAAe65B,GAC3D,IAAK,IAALp1E,EAAA,EAAAgsH,EAAmBhyH,OAAO4F,KAAKw1E,GAAKp1E,EAAAgsH,EAAAvxH,OAAAuF,IAAE,CAAjC,IAAMlH,EAAIkzH,EAAAhsH,GACP1E,EAAQ85E,EAAKt8E,GACnBmD,KAAK24jC,MAAM70jC,KAAK,CAACjH,EAAMwC,GACzB,MAEAW,KAAK24jC,MAAQR,EAAWS,sBAAsBz/+B,EAElD,EAAC,EAAA73E,IAAA,eAAAjC,MAED,WACE,GAAkB,OAAdW,KAAKu3e,KAAe,CACtB,IAAInxZ,EAAQ+x+B,EAAW8B,oBAAoBj6jC,KAAK24jC,OAClC,KAAVvy+B,IACFA,EAAQ,MAEVpmF,KAAKu3e,KAAKA,KAAKnxZ,MAAQA,CACzB,CACF,GAAC,CAAA9kF,IAAA,SAAAjC,MAED,SAAOxC,EAAMwC,GACXW,KAAK24jC,MAAM70jC,KAAK,CAACjH,EAAMwC,IACvBW,KAAKk6jC,cACP,GAAC,CAAA54jC,IAAA,SAAAjC,MAED,SAAOxC,GAEL,IADA,IAAIkC,EAAI,EACDA,EAAIiB,KAAK24jC,MAAMn6jC,QAChBwB,KAAK24jC,MAAM55jC,GAAG,KAAOlC,EACvBmD,KAAK24jC,MAAM75hC,OAAO//B,EAAG,GAErBA,IAGJiB,KAAKk6jC,cACP,GAAC,CAAA54jC,IAAA,MAAAjC,MAED,SAAIxC,GAAM,IACsBiW,EADtBC,EAAAjO,EACY9E,KAAK24jC,OAAK,IAA9B,IAAA5ljC,EAAAhO,MAAA+N,EAAAC,EAAA/N,KAAAC,MAAgC,KAArB4sxB,EAAK/+wB,EAAAzT,MACd,GAAIwyxB,EAAM,KAAOh1xB,EACf,OAAOg1xB,EAAM,EAEjB,CAAC,OAAA3sxB,GAAA6N,EAAAnW,EAAAsI,EAAA,SAAA6N,EAAA5N,GAAA,CACD,OAAO,IACT,GAAC,CAAA7D,IAAA,SAAAjC,MAED,SAAOxC,GACL,IAC8BmW,EADxBk5C,EAAS,GAAGj5C,EAAAnO,EACE9E,KAAK24jC,OAAK,IAA9B,IAAA1ljC,EAAAlO,MAAAiO,EAAAC,EAAAjO,KAAAC,MAAgC,KAArB4sxB,EAAK7+wB,EAAA3T,MACVwyxB,EAAM,KAAOh1xB,GACfqvD,EAAOpoD,KAAK+txB,EAAM,GAEtB,CAAC,OAAA3sxB,GAAA+N,EAAArW,EAAAsI,EAAA,SAAA+N,EAAA9N,GAAA,CACD,OAAO+mD,CACT,GAAC,CAAA5qD,IAAA,MAAAjC,MAED,SAAIxC,GAAM,IACsB45F,EADtBD,EAAA1xF,EACY9E,KAAK24jC,OAAK,IAA9B,IAAAni+B,EAAAzxF,MAAA0xF,EAAAD,EAAAxxF,KAAAC,MAAgC,CAC9B,GADcwxF,EAAAp3F,MACJ,KAAOxC,EACf,OAAO,CAEX,CAAC,OAAAqI,GAAAsxF,EAAA55F,EAAAsI,EAAA,SAAAsxF,EAAArxF,GAAA,CACD,OAAO,CACT,GAAC,CAAA7D,IAAA,MAAAjC,MAED,SAAIxC,EAAMwC,GAGR,IAFA,IAAI0wD,GAAQ,EACRhxD,EAAI,EACDA,EAAIiB,KAAK24jC,MAAMn6jC,QAChBwB,KAAK24jC,MAAM55jC,GAAG,KAAOlC,EACnBkzD,EACF/vD,KAAK24jC,MAAM75hC,OAAO//B,EAAG,IAErBgxD,GAAQ,EACR/vD,KAAK24jC,MAAM55jC,GAAG,GAAKM,EACnBN,KAGFA,IAGCgxD,GACH/vD,KAAK24jC,MAAM70jC,KAAK,CAACjH,EAAMwC,IAEzBW,KAAKk6jC,cACP,GAAC,CAAA54jC,IAAA,OAAAjC,MAED,WACEW,KAAK24jC,MAAMtzjC,KAAK,SAACC,EAAGC,GAClB,OAAID,EAAE,GAAKC,EAAE,IACH,EAEND,EAAE,GAAKC,EAAE,GACJ,EAEF,CACT,GAEAvF,KAAKk6jC,cACP,GAAC,CAAA54jC,IAEA02C,OAAO3wC,SAAQhI,MAAhB,WACE,OAAOW,KAAK24jC,MAAM3ghC,OAAO3wC,WAC3B,GAAC,CAAA/F,IAAA,WAAAjC,MAED,WACE,OAAO84jC,EAAW8B,oBAAoBj6jC,KAAK24jC,MAC7C,IAAC,CA7HmB,E,kBCHT,IAAA99iC,EAAAiZ,EAAA,OAAA3b,EAAA2b,EAAA,OAAAhb,EAAAgb,EAAA,gBAAAhvB,EAAA8kD,EAAAhtD,GAAA,IAAA6e,EAAA,oBAAAu8B,QAAA4R,EAAA5R,OAAA3wC,WAAAuiD,EAAA,kBAAAnuC,EAAA,IAAAhH,MAAAC,QAAAk1C,KAAAnuC,EAAA,SAAAmuC,EAAAtkD,GAAA,GAAAskD,EAAA,qBAAAA,EAAA,OAAAkhF,EAAAlhF,EAAAtkD,GAAA,IAAAmW,EAAA,GAAA3d,SAAA0B,KAAAoqD,GAAAh1C,MAAA,uBAAA6G,GAAAmuC,EAAArK,cAAA9jC,EAAAmuC,EAAArK,YAAA1iD,MAAA,QAAA4e,GAAA,QAAAA,EAAAhH,MAAA8wC,KAAAqE,GAAA,cAAAnuC,GAAA,2CAAAhb,KAAAgb,GAAAqvH,EAAAlhF,EAAAtkD,QAAA,GAAA6iZ,CAAAv+V,KAAAhtD,GAAAgtD,GAAA,iBAAAA,EAAAprD,OAAA,CAAAid,IAAAmuC,EAAAnuC,GAAA,IAAAksC,EAAA,EAAA3R,EAAA,oBAAAjxC,EAAAixC,EAAAhxC,EAAA,kBAAA2iD,GAAAiC,EAAAprD,OAAA,CAAAyG,MAAA,IAAAA,MAAA,EAAA5F,MAAAuqD,EAAAjC,KAAA,EAAA/qD,EAAA,SAAAgtD,GAAA,MAAAA,CAAA,EAAAzkD,EAAA6wC,EAAA,WAAA5E,UAAA,6IAAA2rB,EAAAz3D,GAAA,EAAA++D,GAAA,SAAAt/D,EAAA,WAAA0W,EAAAA,EAAAjc,KAAAoqD,EAAA,EAAA5kD,EAAA,eAAA4kD,EAAAnuC,EAAArP,OAAA,OAAA9G,EAAAskD,EAAA3kD,KAAA2kD,CAAA,EAAAhtD,EAAA,SAAAgtD,GAAAya,GAAA,EAAAtH,EAAAnT,CAAA,EAAAzkD,EAAA,eAAAG,GAAA,MAAAmW,EAAAgjT,QAAAhjT,EAAAgjT,QAAA,YAAAp6P,EAAA,MAAAtH,CAAA,aAAA+tE,EAAAlhF,EAAAtkD,IAAA,MAAAA,GAAAA,EAAAskD,EAAAprD,UAAA8G,EAAAskD,EAAAprD,QAAA,QAAA5B,EAAA,EAAAoI,EAAAyP,MAAAnP,GAAA1I,EAAA0I,EAAA1I,IAAAoI,EAAApI,GAAAgtD,EAAAhtD,GAAA,OAAAoI,CAAA,CAEb,IAAM4yjC,EAAc9jiC,EAAQ,OACtBy2a,EAAQz2a,EAAQ,OAEhBue,EAAWve,EAAQ,OACnBqmiC,EAAmB5vnB,EAAM4vnB,iBACzBrB,EAAavunB,EAAMuunB,WACnBC,EAAqBxunB,EAAMwunB,mBAE3BqB,EAAgB,kBA0BtB,SAASpB,EAAYty/B,EAAcuy/B,GACjC,IAAI54gC,EASJ,YARkB36C,IAAduzjC,IACF54gC,EAAQ44gC,EAAUj7jC,WAGfusc,EAAMvhX,SAAS3oC,KAClBA,EAAQqmB,EAAaqy/B,GAAqC,gBAAE/6jC,WAGvDD,OAAO85C,OAAOwI,EACvB,CAnCAnO,EAAQuC,GAAK,SAAAp1C,GACX,OAAOkrc,EAAMvhX,SAAS3pF,IAAUkrc,EAAM3qS,OAAOvgK,EAAOy5jC,IAAez5jC,EAAMy5jC,aAAuBI,EAAK/inB,cACvG,EACAjka,EAAQinhC,OAAS,SAAA95jC,GACf,OAAOkrc,EAAMvhX,SAAS3pF,IAAUA,aAAiB65jC,EAAK/inB,cACxD,EACAjka,EAAQ07gB,QAAU,SAAClnf,EAAcrnE,GAAmD,IAAL8+G,GAAKn8G,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAP,CAAC,GAApC+hB,QAAAA,OAAO,IAAAo6F,EAAG,qBAAoBA,EACtE,GAAIjsE,EAAQuC,GAAGp1C,GACb,OAAOkrc,EAAM6unB,eAAe/5jC,GAE9B,MAAM,IAAIqnE,EAAat1B,UAAU,GAAD5vC,OAAIuiB,EAAO,sCAC7C,EAEAmuB,EAAQmohC,sBAAwB,SAAC3z/B,EAAc59D,EAAQs3C,GACrD,IACMk6gC,EADe5z/B,EAAaqy/B,GACK,4BACjC1xjC,EAAWtJ,OAAO85C,OAAOyihC,GAK/B,OAJAv8jC,OAAOw2C,eAAeltC,EAAUkjc,EAAMgwnB,mBAAoB,CACxDl7jC,MAAO,CAAEyJ,SAAQs3C,OAAMh2C,MAAO,GAC9BkrC,cAAc,IAETjuC,CACT,EAeA6qC,EAAQ2F,OAAS,SAAC6uB,EAAc2x/B,EAAiBgB,GAC/C,IAAMlwgC,EAAU6vgC,EAAYty/B,GAC5B,OAAOx0B,EAAQ6gb,MAAM5pa,EAASud,EAAc2x/B,EAAiBgB,EAC/D,EAEAnnhC,EAAQumhC,WAAa,SAAC/x/B,EAAc2x/B,EAAiBgB,GACnD,IAAMlwgC,EAAUjX,EAAQ2F,OAAO6uB,EAAc2x/B,EAAiBgB,GAC9D,OAAO9unB,EAAM6unB,eAAejwgC,EAC9B,EAEAjX,EAAQonhC,eAAiB,SAACnwgC,EAASud,GAAkB,EAErDx0B,EAAQ6gb,MAAQ,SAAC5pa,EAASud,GAAyD,IAA3C2x/B,EAAer2jC,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,GAAIq3jC,EAAWr3jC,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EAa3E,OAZAq3jC,EAAYlwgC,QAAUA,EAEtBjX,EAAQonhC,eAAenwgC,EAASud,GAChC3oE,OAAOw2C,eAAe4U,EAAS2vgC,EAAY,CACzCz5jC,MAAO,IAAI65jC,EAAK/inB,eAAezvY,EAAc2x/B,EAAiBgB,GAC9D/jhC,cAAc,IAGhB6T,EAAQ2vgC,GAAYvunB,EAAMytnB,eAAiB7ugC,EACvC+vgC,EAAK//+B,MACP+/+B,EAAK//+B,KAAKhwB,EAAQ2vgC,IAEb3vgC,CACT,EAEAjX,EAAAA,IAAc,SAACw0B,EAAcuy/B,GAC3B,IAAM9vgC,EAAU6vgC,EAAYty/B,EAAcuy/B,GAY1C,OAVA/mhC,EAAQonhC,eAAenwgC,EAASud,GAChC3oE,OAAOw2C,eAAe4U,EAAS2vgC,EAAY,CACzCz5jC,MAAOtB,OAAO85C,OAAOqhhC,EAAK/inB,eAAen4c,WACzCs3C,cAAc,IAGhB6T,EAAQ2vgC,GAAYvunB,EAAMytnB,eAAiB7ugC,EACvC+vgC,EAAK//+B,MACP+/+B,EAAK//+B,KAAKhwB,EAAQ2vgC,IAEb3vgC,EAAQ2vgC,EACjB,EAEA,IAAMS,EAAU,IAAI/y/B,IAAI,CAAC,SAAU,WAEnCt0B,EAAQu4e,QAAU,SAAC/jd,EAAc8y/B,GAC/B,GAAKA,EAAY77hC,KAAK,SAAA87hC,GAAU,OAAIF,EAAQj1jC,IAAIm1jC,EAAW,GAA3D,CAIA,IAAMC,EAAenvnB,EAAMovnB,iBAAiBjz/B,GACtCwypB,EAAe,WAuFlB,OAAApgtB,EAtFD,SAAAogtB,IAAc/gtB,EAAA,KAAA+gtB,GACZ,IAAMnltB,EAAO,GAEP6ljC,EAAS53jC,UAAU,GACvB,QAAe0D,IAAXk0jC,EACF,GAAIrvnB,EAAMvhX,SAAS4w+B,GACjB,QAAgCl0jC,IAA5Bk0jC,EAAO5hhC,OAAO3wC,UAAyB,CACzC,IAAKkjc,EAAMvhX,SAAS4w+B,GAClB,MAAM,IAAIlz/B,EAAat1B,UACrB,0FAGF,IAEwBzsC,EAFlBsoZ,EAAI,GACSpoZ,EAAAC,EAAP80jC,GACY,IAAxB,IAAA/0jC,EAAAE,MAAAJ,EAAAE,EAAAG,KAAAC,MAA0B,KAAjBu3D,EAAQ73D,EAAAtF,MACf,IAAKkrc,EAAMvhX,SAASxsB,GAClB,MAAM,IAAIkK,EAAat1B,UACrB,oGAMF,IAEwBt+B,EAFlBm6Y,EAAI,GACWl6Y,EAAAjO,EAAT03D,GACY,IAAxB,IAAAzpD,EAAAhO,MAAA+N,EAAAC,EAAA/N,KAAAC,MAA0B,KAAjBu3D,EAAQ1pD,EAAAzT,MACfm9D,EAAWo7/B,EAAuB,UAAEp7/B,EAAU,CAC5Cz4C,QACE,kFAIFywiC,QAAS9t/B,IAGXumV,EAAEnpZ,KAAK04D,EACT,CAAC,OAAAt3D,GAAA6N,EAAAnW,EAAAsI,EAAA,SAAA6N,EAAA5N,GAAA,CACDq3D,EAAWywV,EAGbA,EAAEnpZ,KAAK04D,EACT,CAAC,OAAAt3D,GAAAL,EAAAjI,EAAAsI,EAAA,SAAAL,EAAAM,GAAA,CACDy0jC,EAAS3sqB,CAEb,KAAO,CACL,IAAKs9C,EAAMvhX,SAAS4w+B,GAClB,MAAM,IAAIlz/B,EAAat1B,UACrB,+EAGF,IACyCp+B,EADnC/S,EAASlC,OAAO85C,OAAO,MAAM5kC,EAAAnO,EACjBg5C,QAAQE,QAAQ47gC,IAAO,IAAzC,IAAA3mjC,EAAAlO,MAAAiO,EAAAC,EAAAjO,KAAAC,MAA2C,KAAhC3D,EAAG0R,EAAA3T,MACN8+C,EAAOpgD,OAAOu8C,yBAAyBs/gC,EAAQt4jC,GACrD,GAAI68C,GAAQA,EAAK9I,WAAY,CAC3B,IAAImlhC,EAAWl5jC,EAEfk5jC,EAAW5C,EAAuB,UAAE4C,EAAU,CAC5Cz2iC,QAAS,kEACTywiC,QAAS9t/B,IAGX,IAAIwg0B,EAAa0yL,EAAOt4jC,GAExB4l4B,EAAa0wL,EAAuB,UAAE1wL,EAAY,CAChDnj3B,QAAS,oEACTywiC,QAAS9t/B,IAGXzmE,EAAOu6jC,GAAYtzL,CACrB,CACF,CAAC,OAAAhi4B,GAAA+N,EAAArW,EAAAsI,EAAA,SAAA+N,EAAA9N,GAAA,CACDy0jC,EAAS35jC,CAEb,MAEA25jC,EAAShC,EAAuB,UAAEgC,EAAQ,CACxC71iC,QAAS,qDACTywiC,QAAS9t/B,SAIbkz/B,EAAS,GAIb,OAFE7ljC,EAAKjQ,KAAK81jC,GAEL1nhC,EAAQ6gb,MAAMh1d,OAAO85C,QAAO,gBAAAqhrB,EAAA,KAAA35qB,iBAAA,GAAWvhD,WAAY0oE,EAAc3yD,EAC1E,EAAC,EAAAzS,IAAA,SAAAjC,MAED,SAAOxC,EAAMwC,GAAO,IAAAo7jC,EACZZ,EAAU75jC,WAAsCA,KAAO0mE,EAC7D,IAAKx0B,EAAQuC,GAAGolhC,GACd,MAAM,IAAInz/B,EAAat1B,UACrB,iFAIJ,GAAIpvC,UAAUxD,OAAS,EACrB,MAAM,IAAIkoE,EAAat1B,UAAU,mFAAD5vC,OACqDQ,UAAUxD,OAAM,cAGvG,IAAMuV,EAAO,GAEP6ljC,EAAS53jC,UAAU,GACvB43jC,EAAShC,EAAuB,UAAEgC,EAAQ,CACxC71iC,QAAS,+DACTywiC,QAAS9t/B,IAEX3yD,EAAKjQ,KAAK81jC,GAGV,IAAIA,EAAS53jC,UAAU,GAOzB,OANE43jC,EAAShC,EAAuB,UAAEgC,EAAQ,CACxC71iC,QAAS,+DACTywiC,QAAS9t/B,IAEX3yD,EAAKjQ,KAAK81jC,GAELrvnB,EAAMwtnB,mBAAkB0C,EAAAZ,EAAQf,IAAY5i6B,OAAMluJ,MAAAyyjC,EAAI1mjC,GAC/D,GAAC,CAAAzS,IAAA,SAAAjC,MAED,SAAOxC,GAAM,IAAA69jC,EACLb,EAAU75jC,WAAsCA,KAAO0mE,EAC7D,IAAKx0B,EAAQuC,GAAGolhC,GACd,MAAM,IAAInz/B,EAAat1B,UACrB,iFAIJ,GAAIpvC,UAAUxD,OAAS,EACrB,MAAM,IAAIkoE,EAAat1B,UAAU,kFAAD5vC,OACoDQ,UAAUxD,OAAM,cAGtG,IAAMuV,EAAO,GAEP6ljC,EAAS53jC,UAAU,GAOzB,OANE43jC,EAAShC,EAAuB,UAAEgC,EAAQ,CACxC71iC,QAAS,+DACTywiC,QAAS9t/B,IAEX3yD,EAAKjQ,KAAK81jC,GAELrvnB,EAAMwtnB,mBAAkB2C,EAAAb,EAAQf,IAAY7ujC,OAAMjC,MAAA0yjC,EAAI3mjC,GAC/D,GAAC,CAAAzS,IAAA,MAAAjC,MAED,SAAIxC,GAAM,IAAA89jC,EACFd,EAAU75jC,WAAsCA,KAAO0mE,EAC7D,IAAKx0B,EAAQuC,GAAGolhC,GACd,MAAM,IAAInz/B,EAAat1B,UAAU,8EAGnC,GAAIpvC,UAAUxD,OAAS,EACrB,MAAM,IAAIkoE,EAAat1B,UAAU,+EAAD5vC,OACiDQ,UAAUxD,OAAM,cAGnG,IAAMuV,EAAO,GAEP6ljC,EAAS53jC,UAAU,GAOzB,OANE43jC,EAAShC,EAAuB,UAAEgC,EAAQ,CACxC71iC,QAAS,4DACTywiC,QAAS9t/B,IAEX3yD,EAAKjQ,KAAK81jC,IAELe,EAAAd,EAAQf,IAAYt0jC,IAAGwD,MAAA2yjC,EAAI5mjC,EACpC,GAAC,CAAAzS,IAAA,SAAAjC,MAED,SAAOxC,GAAM,IAAA+9jC,EACLf,EAAU75jC,WAAsCA,KAAO0mE,EAC7D,IAAKx0B,EAAQuC,GAAGolhC,GACd,MAAM,IAAInz/B,EAAat1B,UACrB,iFAIJ,GAAIpvC,UAAUxD,OAAS,EACrB,MAAM,IAAIkoE,EAAat1B,UAAU,kFAAD5vC,OACoDQ,UAAUxD,OAAM,cAGtG,IAAMuV,EAAO,GAEP6ljC,EAAS53jC,UAAU,GAOzB,OANE43jC,EAAShC,EAAuB,UAAEgC,EAAQ,CACxC71iC,QAAS,+DACTywiC,QAAS9t/B,IAEX3yD,EAAKjQ,KAAK81jC,GAELrvnB,EAAMwtnB,mBAAkB6C,EAAAf,EAAQf,IAAY7ktB,OAAMjsW,MAAA4yjC,EAAI7mjC,GAC/D,GAAC,CAAAzS,IAAA,MAAAjC,MAED,SAAIxC,GAAM,IAAAg+jC,EACFhB,EAAU75jC,WAAsCA,KAAO0mE,EAC7D,IAAKx0B,EAAQuC,GAAGolhC,GACd,MAAM,IAAInz/B,EAAat1B,UAAU,8EAGnC,GAAIpvC,UAAUxD,OAAS,EACrB,MAAM,IAAIkoE,EAAat1B,UAAU,+EAAD5vC,OACiDQ,UAAUxD,OAAM,cAGnG,IAAMuV,EAAO,GAEP6ljC,EAAS53jC,UAAU,GAOzB,OANE43jC,EAAShC,EAAuB,UAAEgC,EAAQ,CACxC71iC,QAAS,4DACTywiC,QAAS9t/B,IAEX3yD,EAAKjQ,KAAK81jC,IAELiB,EAAAhB,EAAQf,IAAYx0jC,IAAG0D,MAAA6yjC,EAAI9mjC,EACpC,GAAC,CAAAzS,IAAA,MAAAjC,MAED,SAAIxC,EAAMwC,GAAO,IAAAy7jC,EACTjB,EAAU75jC,WAAsCA,KAAO0mE,EAC7D,IAAKx0B,EAAQuC,GAAGolhC,GACd,MAAM,IAAInz/B,EAAat1B,UAAU,8EAGnC,GAAIpvC,UAAUxD,OAAS,EACrB,MAAM,IAAIkoE,EAAat1B,UAAU,gFAAD5vC,OACkDQ,UAAUxD,OAAM,cAGpG,IAAMuV,EAAO,GAEP6ljC,EAAS53jC,UAAU,GACvB43jC,EAAShC,EAAuB,UAAEgC,EAAQ,CACxC71iC,QAAS,4DACTywiC,QAAS9t/B,IAEX3yD,EAAKjQ,KAAK81jC,GAGV,IAAIA,EAAS53jC,UAAU,GAOzB,OANE43jC,EAAShC,EAAuB,UAAEgC,EAAQ,CACxC71iC,QAAS,4DACTywiC,QAAS9t/B,IAEX3yD,EAAKjQ,KAAK81jC,GAELrvnB,EAAMwtnB,mBAAkB+C,EAAAjB,EAAQf,IAAYv0jC,IAAGyD,MAAA8yjC,EAAI/mjC,GAC5D,GAAC,CAAAzS,IAAA,OAAAjC,MAED,WACE,IAAMw6jC,EAAU75jC,WAAsCA,KAAO0mE,EAC7D,IAAKx0B,EAAQuC,GAAGolhC,GACd,MAAM,IAAInz/B,EAAat1B,UAAU,+EAGnC,OAAOm5Z,EAAMwtnB,kBAAkB8B,EAAQf,GAAYzzjC,OACrD,GAAC,CAAA/D,IAAA,WAAAjC,MAED,WACE,IAAMw6jC,EAAU75jC,WAAsCA,KAAO0mE,EAC7D,IAAKx0B,EAAQuC,GAAGolhC,GACd,MAAM,IAAInz/B,EAAat1B,UACrB,mFAIJ,OAAOyohC,EAAQf,GAAYh7jC,UAC7B,GAAC,CAAAwD,IAAA,OAAAjC,MAED,WACE,IAAK6yC,EAAQuC,GAAGz0C,MACd,MAAM,IAAI0mE,EAAat1B,UAAU,+EAEnC,OAAOc,EAAQmohC,sBAAsB3z/B,EAAc1mE,KAAM,MAC3D,GAAC,CAAAsB,IAAA,SAAAjC,MAED,WACE,IAAK6yC,EAAQuC,GAAGz0C,MACd,MAAM,IAAI0mE,EAAat1B,UACrB,iFAGJ,OAAOc,EAAQmohC,sBAAsB3z/B,EAAc1mE,KAAM,QAC3D,GAAC,CAAAsB,IAAA,UAAAjC,MAED,WACE,IAAK6yC,EAAQuC,GAAGz0C,MACd,MAAM,IAAI0mE,EAAat1B,UACrB,kFAGJ,OAAOc,EAAQmohC,sBAAsB3z/B,EAAc1mE,KAAM,YAC3D,GAAC,CAAAsB,IAAA,UAAAjC,MAED,SAAQC,GACN,IAAK4yC,EAAQuC,GAAGz0C,MACd,MAAM,IAAI0mE,EAAat1B,UACrB,kFAGJ,GAAIpvC,UAAUxD,OAAS,EACrB,MAAM,IAAIkoE,EAAat1B,UACrB,uFAGJ9xC,EAAW+yC,EAASu7gB,QAAQlnf,EAAcpnE,EAAU,CAClDykB,QAAS,oFAKX,IAHA,IAAMmsE,EAAUluF,UAAU,GACtB++E,EAAQtsE,MAAM8wC,KAAKvlD,KAAK84jC,IACxB/5jC,EAAI,EACDA,EAAIgiF,EAAMviF,QAAQ,CACvB,IAAAu8jC,EAAqBh6+B,EAAMhiF,GAAGoQ,IAAIo7b,EAAMwtnB,mBAAkBiD,EAAAngjC,EAAAkgjC,EAAA,GAAnDz5jC,EAAG05jC,EAAA,GAAE37jC,EAAK27jC,EAAA,GACjB17jC,EAASE,KAAK0wF,EAAS7wF,EAAOiC,EAAKtB,MACnC+gF,EAAQtsE,MAAM8wC,KAAKvlD,KAAK84jC,IACxB/5jC,GACF,CACF,IAAC,CA7TkB,GA+TrBhB,OAAOg7C,iBAAiBmgrB,EAAgBl7tB,UAAW,CACjDk4J,OAAQ,CAAE7gH,YAAY,GACtBprC,OAAQ,CAAEorC,YAAY,GACtB7wC,IAAK,CAAE6wC,YAAY,GACnB4+T,OAAQ,CAAE5+T,YAAY,GACtB/wC,IAAK,CAAE+wC,YAAY,GACnB9wC,IAAK,CAAE8wC,YAAY,GACnBhwC,KAAM,CAAEgwC,YAAY,GACpBv3C,SAAU,CAAEu3C,YAAY,GACxB1xC,KAAM,CAAE0xC,YAAY,GACpBuL,OAAQ,CAAEvL,YAAY,GACtBniC,QAAS,CAAEmiC,YAAY,GACvBpiB,QAAS,CAAEoiB,YAAY,GACvB,CAAC2C,OAAOqvB,aAAc,CAAEhoE,MAAO,kBAAmBi2C,cAAc,GAChE,CAAC0C,OAAO3wC,UAAW,CAAEhI,MAAO65tB,EAAgBl7tB,UAAUkV,QAASoiC,cAAc,EAAMC,UAAU,KAE/FmkhC,EAAaU,GAAiBlhW,EAE9BwgW,EAAa,4BAA8B37jC,OAAO85C,OAAO6hhC,EAAa,uBAAwB,CAC5F,CAAC1hhC,OAAOqvB,aAAc,CACpB/xB,cAAc,EACdj2C,MAAO,8BAGXkrc,EAAM91H,OAAOilvB,EAAa,4BAA6B,CACrDttjC,IAAAA,GACE,IAAM4iT,EAAWhvT,MAAQA,KAAKuqc,EAAMgwnB,oBACpC,IAAKvrwB,EACH,MAAM,IAAItoP,EAAat1B,UAAU,0EAGnC,IAAQtoC,EAAwBkmT,EAAxBlmT,OAAQs3C,EAAgB4uQ,EAAhB5uQ,KAAMh2C,EAAU4kT,EAAV5kT,MAChBw2C,EAASnsC,MAAM8wC,KAAKz8C,EAAOgwjC,IAEjC,GAAI1ujC,GADQw2C,EAAOpiD,OAEjB,OAAO27jC,EAAiBzz/B,EAAc,CAAErnE,WAAOqG,EAAWT,MAAM,IAGlE,IAAM+7E,EAAOpgC,EAAOx2C,GAEpB,OADA4kT,EAAS5kT,MAAQA,EAAQ,EAClB+vjC,EAAiBzz/B,EAAc6jY,EAAM0wnB,eAAej6+B,EAAK7xE,IAAIo7b,EAAMwtnB,mBAAoB33gC,GAChG,IAGFriD,OAAOw2C,eAAemyB,EAAc0z/B,EAAe,CACjD9khC,cAAc,EACdC,UAAU,EACVl2C,MAAO65tB,GAjXT,CAmXF,EAEA,IAAMggW,EAAOpliC,EAAQ,M,YCtdrB,IAAMoniC,EAAc,IAAI17/B,YAClB27/B,EAAc,IAAIp8/B,YAAY,QAAS,CAAEQ,WAAW,IAU1DttB,EAAOC,QAAU,CACfkphC,WATF,SAAoBptgC,GAClB,OAAOktgC,EAAY/2/B,OAAOnW,EAC5B,EAQEqtgC,qBANF,SAA8Bx8jC,GAC5B,OAAOs8jC,EAAYt3/B,OAAOhlE,EAC5B,E,YCNA,SAASy8jC,EAAarnhC,GACpB,OAAOA,GAAK,IAAQA,GAAK,EAC3B,CAEA,SAASsnhC,EAAatnhC,GACpB,OAAQA,GAAK,IAAQA,GAAK,IAAUA,GAAK,IAAQA,GAAK,GACxD,CAUAhC,EAAOC,QAAU,CACfophC,eACAC,eACAC,oBAXF,SAA6BvnhC,GAC3B,OAAOsnhC,EAAatnhC,IAAMqnhC,EAAarnhC,EACzC,EAUEwnhC,WARF,SAAoBxnhC,GAClB,OAAOqnhC,EAAarnhC,IAAOA,GAAK,IAAQA,GAAK,IAAUA,GAAK,IAAQA,GAAK,GAC3E,E,kBClBa,SAAAnvC,EAAA8kD,EAAAhtD,GAAA,IAAA6e,EAAA,oBAAAu8B,QAAA4R,EAAA5R,OAAA3wC,WAAAuiD,EAAA,kBAAAnuC,EAAA,IAAAhH,MAAAC,QAAAk1C,KAAAnuC,EAAA,SAAAmuC,EAAAtkD,GAAA,GAAAskD,EAAA,qBAAAA,EAAA,OAAAkhF,EAAAlhF,EAAAtkD,GAAA,IAAAmW,EAAA,GAAA3d,SAAA0B,KAAAoqD,GAAAh1C,MAAA,uBAAA6G,GAAAmuC,EAAArK,cAAA9jC,EAAAmuC,EAAArK,YAAA1iD,MAAA,QAAA4e,GAAA,QAAAA,EAAAhH,MAAA8wC,KAAAqE,GAAA,cAAAnuC,GAAA,2CAAAhb,KAAAgb,GAAAqvH,EAAAlhF,EAAAtkD,QAAA,GAAA6iZ,CAAAv+V,KAAAhtD,GAAAgtD,GAAA,iBAAAA,EAAAprD,OAAA,CAAAid,IAAAmuC,EAAAnuC,GAAA,IAAAksC,EAAA,EAAA3R,EAAA,oBAAAjxC,EAAAixC,EAAAhxC,EAAA,kBAAA2iD,GAAAiC,EAAAprD,OAAA,CAAAyG,MAAA,IAAAA,MAAA,EAAA5F,MAAAuqD,EAAAjC,KAAA,EAAA/qD,EAAA,SAAAgtD,GAAA,MAAAA,CAAA,EAAAzkD,EAAA6wC,EAAA,WAAA5E,UAAA,6IAAA2rB,EAAAz3D,GAAA,EAAA++D,GAAA,SAAAt/D,EAAA,WAAA0W,EAAAA,EAAAjc,KAAAoqD,EAAA,EAAA5kD,EAAA,eAAA4kD,EAAAnuC,EAAArP,OAAA,OAAA9G,EAAAskD,EAAA3kD,KAAA2kD,CAAA,EAAAhtD,EAAA,SAAAgtD,GAAAya,GAAA,EAAAtH,EAAAnT,CAAA,EAAAzkD,EAAA,eAAAG,GAAA,MAAAmW,EAAAgjT,QAAAhjT,EAAAgjT,QAAA,YAAAp6P,EAAA,MAAAtH,CAAA,aAAA+tE,EAAAlhF,EAAAtkD,IAAA,MAAAA,GAAAA,EAAAskD,EAAAprD,UAAA8G,EAAAskD,EAAAprD,QAAA,QAAA5B,EAAA,EAAAoI,EAAAyP,MAAAnP,GAAA1I,EAAA0I,EAAA1I,IAAAoI,EAAApI,GAAAgtD,EAAAhtD,GAAA,OAAAoI,CAAA,CACb,IAAQy2jC,EAAe3niC,EAAQ,OAAvB2niC,WACAL,EAAetniC,EAAQ,OAAvBsniC,WAER,SAAS18jC,EAAE+gF,GACT,OAAOA,EAAK60Q,YAAY,EAC1B,CAGA,SAASonuB,EAAcznhC,GACrB,IAAIq9C,EAAMr9C,EAAEn2C,SAAS,IAAIqpF,cAKzB,OAJmB,IAAfmK,EAAI9yF,SACN8yF,EAAM,IAAH9vF,OAAO8vF,IAGL,IAAP9vF,OAAW8vF,EACb,CAGA,SAASqm+B,EAAmB7z/B,GAG1B,IAFA,IAAM5X,EAAS,IAAIptD,WAAWglE,EAAMjW,YAChC8tgC,EAAc,EACT58jC,EAAI,EAAGA,EAAI+kE,EAAMjW,aAAc9uD,EAAG,CACzC,IAAMq7iC,EAAOt2+B,EAAM/kE,GACnB,GAAa,KAATq7iC,EACFlu/B,EAAOyvgC,KAAiBvhB,OACnB,GAAa,KAATA,GAAmBqhB,EAAW33/B,EAAM/kE,EAAI,KAAQ08jC,EAAW33/B,EAAM/kE,EAAI,IAEzE,CACL,IAAM68jC,EAAYn/hC,SAASh7B,OAAO8yV,cAAczwR,EAAM/kE,EAAI,GAAI+kE,EAAM/kE,EAAI,IAAK,IAC7EmtD,EAAOyvgC,KAAiBC,EACxB78jC,GAAK,CACP,MALEmtD,EAAOyvgC,KAAiBvhB,CAM5B,CAEA,OAAOlu/B,EAAOt3C,MAAM,EAAG+mjC,EACzB,CASA,SAASE,EAAyB5nhC,GAChC,OAAOA,GAAK,IAAQA,EAAI,GAC1B,CAGA,IAAM6nhC,EAAgC,IAAIt1/B,IAAI,CAAC9nE,EAAE,KAAMA,EAAE,KAAOA,EAAE,KAAMA,EAAE,KAAMA,EAAE,OAMlF,IAAMq9jC,EAA6B,IAAIv1/B,IAAI,CAAC9nE,EAAE,KAAMA,EAAE,KAAOA,EAAE,KAAMA,EAAE,KAAMA,EAAE,OAC/E,SAASs9jC,EAAqB/nhC,GAC5B,OAAO4nhC,EAAyB5nhC,IAAM8nhC,EAA2Bz3jC,IAAI2vC,EACvE,CAQA,IAAMgohC,EAA4B,IAAIz1/B,IAAI,CAAC9nE,EAAE,KAAMA,EAAE,KAAMA,EAAE,KAAMA,EAAE,OACrE,SAASw9jC,EAAoBjohC,GAC3B,OAAO+nhC,EAAqB/nhC,IAAMgohC,EAA0B33jC,IAAI2vC,EAClE,CAGA,IAAMkohC,EACJ,IAAI31/B,IAAI,CAAC9nE,EAAE,KAAMA,EAAE,KAAMA,EAAE,KAAMA,EAAE,KAAMA,EAAE,KAAMA,EAAE,KAAMA,EAAE,MAAOA,EAAE,KAAMA,EAAE,KAAMA,EAAE,OACtF,SAAS09jC,EAAwBnohC,GAC/B,OAAOiohC,EAAoBjohC,IAAMkohC,EAA8B73jC,IAAI2vC,EACrE,CAGA,IAAMoohC,EAAiC,IAAI71/B,IAAI,CAAC9nE,EAAE,KAAMA,EAAE,KAAMA,EAAE,KAAMA,EAAE,KAAMA,EAAE,OAMlF,IAAM49jC,EAAkC,IAAI91/B,IAAI,CAAC9nE,EAAE,KAAMA,EAAE,KAAMA,EAAE,KAAMA,EAAE,KAAMA,EAAE,OAUnF,SAAS69jC,EAAmC9qgC,EAAW+qgC,GACrD,IAEwB73jC,EADpBunD,EAAS,GAAGrnD,EAAAC,EADFs2jC,EAAW3pgC,IAED,IAAxB,IAAA5sD,EAAAE,MAAAJ,EAAAE,EAAAG,KAAAC,MAA0B,KAAfm1iC,EAAIz1iC,EAAAtF,MAERm9jC,EAAuBpiB,GAG1Blu/B,GAAUwvgC,EAActhB,GAFxBlu/B,GAAUzqD,OAAOowD,aAAauo/B,EAIlC,CAAC,OAAAl1iC,GAAAL,EAAAjI,EAAAsI,EAAA,SAAAL,EAAAM,GAAA,CAED,OAAO+mD,CACT,CAoBAja,EAAOC,QAAU,CACf2phC,2BACAY,wBAhFF,SAAiCxohC,GAC/B,OAAO4nhC,EAAyB5nhC,IAAM6nhC,EAA8Bx3jC,IAAI2vC,EAC1E,EA+EE+nhC,uBACAU,4BAvEF,SAAqCzohC,GACnC,OAAO+nhC,EAAqB/nhC,IAAMA,IAAMv1C,EAAE,IAC5C,EAsEEw9jC,sBACAE,0BACAO,0BAjDF,SAAmC1ohC,GACjC,OAPF,SAAkCA,GAChC,OAAOmohC,EAAwBnohC,IAAMoohC,EAA+B/3jC,IAAI2vC,EAC1E,CAKS2ohC,CAAyB3ohC,IAAMqohC,EAAgCh4jC,IAAI2vC,EAC5E,EAgDEyjhC,oBAlGF,SAA6B5z/B,GAE3B,OAAO6z/B,EADOyD,EAAWt3/B,GAE3B,EAgGE6z/B,qBACAkF,wBAtBF,SAAiC/4/B,EAAO04/B,GAA6C,IAEtD1pjC,EAFiCgqjC,EAAW96jC,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,IAAAA,UAAA,GACrEkqD,EAAS,GAAGn5C,EAAAjO,EACQg/D,GAAK,IAA7B,IAAA/wD,EAAAhO,MAAA+N,EAAAC,EAAA/N,KAAAC,MAA+B,KAApBwsD,EAAS3+C,EAAAzT,MAEhB6sD,GADE4wgC,GAA6B,MAAdrrgC,EACP,IAEA8qgC,EAAmC9qgC,EAAW+qgC,EAE5D,CAAC,OAAAt3jC,GAAA6N,EAAAnW,EAAAsI,EAAA,SAAA6N,EAAA5N,GAAA,CACD,OAAO+mD,CACT,EAaE6wgC,2BA7BF,SAAoCtrgC,EAAW+qgC,GAC7C,OAAOD,EAAmC96jC,OAAO8yV,cAAc9iS,GAAY+qgC,EAC7E,E,kBCjHa,IAAAxsiC,EAAA8D,EAAA,gBAAAhvB,EAAA8kD,EAAAhtD,GAAA,IAAA6e,EAAA,oBAAAu8B,QAAA4R,EAAA5R,OAAA3wC,WAAAuiD,EAAA,kBAAAnuC,EAAA,IAAAhH,MAAAC,QAAAk1C,KAAAnuC,EAAA,SAAAmuC,EAAAtkD,GAAA,GAAAskD,EAAA,qBAAAA,EAAA,OAAAkhF,EAAAlhF,EAAAtkD,GAAA,IAAAmW,EAAA,GAAA3d,SAAA0B,KAAAoqD,GAAAh1C,MAAA,uBAAA6G,GAAAmuC,EAAArK,cAAA9jC,EAAAmuC,EAAArK,YAAA1iD,MAAA,QAAA4e,GAAA,QAAAA,EAAAhH,MAAA8wC,KAAAqE,GAAA,cAAAnuC,GAAA,2CAAAhb,KAAAgb,GAAAqvH,EAAAlhF,EAAAtkD,QAAA,GAAA6iZ,CAAAv+V,KAAAhtD,GAAAgtD,GAAA,iBAAAA,EAAAprD,OAAA,CAAAid,IAAAmuC,EAAAnuC,GAAA,IAAAilqB,EAAA,EAAA1qoB,EAAA,oBAAAjxC,EAAAixC,EAAAhxC,EAAA,kBAAA07qB,GAAA92nB,EAAAprD,OAAA,CAAAyG,MAAA,IAAAA,MAAA,EAAA5F,MAAAuqD,EAAA82nB,KAAA,EAAA9jrB,EAAA,SAAAgtD,GAAA,MAAAA,CAAA,EAAAzkD,EAAA6wC,EAAA,WAAA5E,UAAA,6IAAA2rB,EAAAz3D,GAAA,EAAA++D,GAAA,SAAAt/D,EAAA,WAAA0W,EAAAA,EAAAjc,KAAAoqD,EAAA,EAAA5kD,EAAA,eAAA4kD,EAAAnuC,EAAArP,OAAA,OAAA9G,EAAAskD,EAAA3kD,KAAA2kD,CAAA,EAAAhtD,EAAA,SAAAgtD,GAAAya,GAAA,EAAAtH,EAAAnT,CAAA,EAAAzkD,EAAA,eAAAG,GAAA,MAAAmW,EAAAgjT,QAAAhjT,EAAAgjT,QAAA,YAAAp6P,EAAA,MAAAtH,CAAA,aAAA+tE,EAAAlhF,EAAAtkD,IAAA,MAAAA,GAAAA,EAAAskD,EAAAprD,UAAA8G,EAAAskD,EAAAprD,QAAA,QAAA5B,EAAA,EAAAoI,EAAAyP,MAAAnP,GAAA1I,EAAA0I,EAAA1I,IAAAoI,EAAApI,GAAAgtD,EAAAhtD,GAAA,OAAAoI,CAAA,CACb,IAAMg4jC,EAAOlpiC,EAAQ,OAEfmpiC,EAAQnpiC,EAAQ,OACduniC,EAAyBvniC,EAAQ,OAAjCuniC,qBACR5qyB,EAE8B38P,EAAQ,OAF9B4jiC,EAAmBjnyB,EAAnBinyB,oBAAqBqF,EAA0BtsyB,EAA1BssyB,2BAA4BF,EAAuBpsyB,EAAvBosyB,wBAAyBhB,EAAwBpryB,EAAxBoryB,yBAChFY,EAAuBhsyB,EAAvBgsyB,wBAAyBT,EAAoBvryB,EAApBuryB,qBAAsBU,EAA2BjsyB,EAA3BisyB,4BAA6BR,EAAmBzryB,EAAnByryB,oBAC5EE,EAAuB3ryB,EAAvB2ryB,wBAEF,SAAS19jC,EAAE+gF,GACT,OAAOA,EAAK60Q,YAAY,EAC1B,CAEA,IAAM4ouB,EAAiB,CACrBv7N,IAAK,GACLh6jB,KAAM,KACNnqJ,KAAM,GACNgnY,MAAO,IACP/xF,GAAI,GACJ0qoB,IAAK,KAGDrt1B,EAAU93L,OAAO,WAEvB,SAASolhC,EAAat9jC,GACpB,OAAOkwB,EAAIlwB,GAAKtB,MAClB,CAEA,SAASm1Z,EAAG7vV,EAAOjD,GACjB,IAAM5sB,EAAI6vB,EAAMjD,GAChB,OAAO7rD,MAAMi/B,QAAKvuC,EAAYjE,OAAO8yV,cAActgT,EACrD,CAEA,SAASophC,EAAY1+jC,GACnB,MAAkB,MAAXA,GAA2C,QAAzBA,EAAO+gB,aAClC,CAWA,SAAS49iC,EAA2BtvgC,GAClC,OAAyB,IAAlBA,EAAOxvD,QAAgBy+jC,EAAM1B,aAAavtgC,EAAOsmS,YAAY,MAAsB,MAAdtmS,EAAO,IAA4B,MAAdA,EAAO,GAC1G,CAcA,SAASuvgC,EAAgB113B,GACvB,YAAkCniM,IAA3Bw3jC,EAAer13B,EACxB,CAEA,SAASsxiB,EAAUvktB,GACjB,OAAO2oiC,EAAgB3oiC,EAAIizK,OAC7B,CAEA,SAAS213B,EAAa5oiC,GACpB,OAAQ2oiC,EAAgB3oiC,EAAIizK,OAC9B,CAEA,SAASq7pB,EAAYr7pB,GACnB,OAAOq13B,EAAer13B,EACxB,CAEA,SAAS413B,EAAgB35/B,GACvB,GAAc,KAAVA,EACF,OAAOgsK,EAGT,IAAIl5L,EAAI,GAUR,GARIktB,EAAMtlE,QAAU,GAAyB,MAApBslE,EAAMprB,OAAO,IAAgD,MAAlCorB,EAAMprB,OAAO,GAAGh5B,eAClEokD,EAAQA,EAAM3kE,UAAU,GACxBy3C,EAAI,IACKktB,EAAMtlE,QAAU,GAAyB,MAApBslE,EAAMprB,OAAO,KAC3CorB,EAAQA,EAAM3kE,UAAU,GACxBy3C,EAAI,GAGQ,KAAVktB,EACF,OAAO,EAGT,IAAI+a,EAAQ,2IAQZ,OAPU,KAANjoC,IACFioC,EAAQ,4IAEA,KAANjoC,IACFioC,EAAQ,kJAGNA,EAAMp+E,KAAKqjE,GACNgsK,EAGFrzM,SAASqnC,EAAOltB,EACzB,CAyNA,SAAS42gC,EAAU1p/B,GAAgC,IAAzB45/B,EAAe17jC,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,IAAAA,UAAA,GACvC,GAAiB,MAAb8hE,EAAM,GACR,MAAgC,MAA5BA,EAAMA,EAAMtlE,OAAS,GAChBsxO,EAjKb,SAAmBhsK,GACjB,IAAMmnE,EAAU,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAClC0y7B,EAAa,EACb5pR,EAAW,KACXn1uB,EAAU,EAId,IAFAkF,EAAQrvD,MAAM8wC,KAAKue,EAAO,SAAA7vB,GAAC,OAAIA,EAAEqgT,YAAY,EAAE,IAErC11R,KAAalgE,EAAE,KAAM,CAC7B,GAAIolE,EAAMlF,EAAU,KAAOlgE,EAAE,KAC3B,OAAOoxO,EAGTlxK,GAAW,EAEXm1uB,IADE4pR,CAEJ,CAEA,KAAO/+/B,EAAUkF,EAAMtlE,QAAQ,CAC7B,GAAmB,IAAfm/jC,EACF,OAAO7t1B,EAGT,GAAIhsK,EAAMlF,KAAalgE,EAAE,KAAzB,CAaA,IAHA,IAAIW,EAAQ,EACRb,EAAS,EAENA,EAAS,GAAKy+jC,EAAMxB,WAAW33/B,EAAMlF,KAC1Cv/D,EAAgB,GAARA,EAAeo9B,SAASk3X,EAAG7vV,EAAOlF,GAAU,MAClDA,IACApgE,EAGJ,GAAIslE,EAAMlF,KAAalgE,EAAE,KAAM,CAC7B,GAAe,IAAXF,EACF,OAAOsxO,EAKT,GAFAlxK,GAAWpgE,EAEPm/jC,EAAa,EACf,OAAO7t1B,EAKT,IAFA,IAAI8t1B,EAAc,OAEQl4jC,IAAnBo+D,EAAMlF,IAAwB,CACnC,IAAIi//B,EAAY,KAEhB,GAAID,EAAc,EAAG,CACnB,KAAI95/B,EAAMlF,KAAalgE,EAAE,MAAQk/jC,EAAc,GAG7C,OAAO9t1B,IAFLlxK,CAIN,CAEA,IAAKq+/B,EAAM3B,aAAax3/B,EAAMlF,IAC5B,OAAOkxK,EAGT,KAAOmt1B,EAAM3B,aAAax3/B,EAAMlF,KAAW,CACzC,IAAMgZ,EAASn7C,SAASk3X,EAAG7vV,EAAOlF,IAClC,GAAkB,OAAdi//B,EACFA,EAAYjm/B,MACP,IAAkB,IAAdim/B,EACT,OAAO/t1B,EAEP+t1B,EAAwB,GAAZA,EAAiBjm/B,CAC/B,CACA,GAAIim/B,EAAY,IACd,OAAO/t1B,IAEPlxK,CACJ,CAEAqsE,EAAQ0y7B,GAAoC,IAAtB1y7B,EAAQ0y7B,GAAsBE,EAIhC,MAFlBD,GAEuC,IAAhBA,KACrBD,CAEN,CAEA,GAAoB,IAAhBC,EACF,OAAO9t1B,EAGT,KACF,CAAO,GAAIhsK,EAAMlF,KAAalgE,EAAE,MAE9B,QAAuBgH,IAAnBo+D,IADFlF,GAEA,OAAOkxK,OAEJ,QAAuBpqO,IAAnBo+D,EAAMlF,GACf,OAAOkxK,EAGT7kG,EAAQ0y7B,GAAct+jC,IACpBs+jC,CA9EF,KARA,CACE,GAAiB,OAAb5pR,EACF,OAAOjkkB,IAEPlxK,EAEFm1uB,IADE4pR,CAGJ,CA+EF,CAEA,GAAiB,OAAb5pR,EAAmB,CACrB,IAAI+pR,EAAQH,EAAa5pR,EAEzB,IADA4pR,EAAa,EACS,IAAfA,GAAoBG,EAAQ,GAAG,CACpC,IAAMz9/B,EAAO4qE,EAAQ8oqB,EAAW+pR,EAAQ,GACxC7y7B,EAAQ8oqB,EAAW+pR,EAAQ,GAAK7y7B,EAAQ0y7B,GACxC1y7B,EAAQ0y7B,GAAct9/B,IACpBs9/B,IACAG,CACJ,CACF,MAAO,GAAiB,OAAb/pR,GAAoC,IAAf4pR,EAC9B,OAAO7t1B,EAGT,OAAO7kG,CACT,CAqCW8y7B,CAAUj6/B,EAAM3kE,UAAU,EAAG2kE,EAAMtlE,OAAS,IAGrD,GAAIk/jC,EACF,OAyCJ,SAAyB55/B,GACvB,GAjUsD9V,EAiUH8V,GAhU6C,IAAzF9V,EAAOo5C,OAAO,gDAiUnB,OAAO0oI,EAlUX,IAAwD9hL,EAqUtD,OAAO6ugC,EAAwB/4/B,EAAO+3/B,EACxC,CA/CWmC,CAAgBl6/B,GAGzB,IACMm6/B,EAyFR,SAAuB93gC,GAA0B,IAAlB+3gC,EAAQl8jC,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,IAAAA,UAAA,GAC/B/B,EAAS+8jC,EAAK9zY,QAAQ/ioB,EAAQ,CAClC+0/B,WAAW,EACXD,cAAc,EACdE,cAAc,EACdP,kBAAmBsjB,EACnB/gB,gBAAiB+gB,IAEnB,GAAe,OAAXj+jC,GAA8B,KAAXA,EACrB,OAAO6vO,EAET,OAAO7vO,CACT,CArGsBk+jC,CADL9C,EAAqB3D,EAAoB5z/B,KAExD,OAAIm6/B,IAAgBnu1B,EACXA,GAhSyF,IAmS/Dmu1B,EAnSrB729B,OAAO,kDAoSZ0oI,EAUX,SAAuBhsK,GACrB,IAAMrnE,EAAQqnE,EAAMn2B,MAAM,KAC1B,GAAgC,KAA5BlxC,EAAMA,EAAM+B,OAAS,GAAW,CAClC,GAAqB,IAAjB/B,EAAM+B,OACR,OAAO,EAET/B,EAAM8gE,KACR,CAEA,IAAMxX,EAAOtpD,EAAMA,EAAM+B,OAAS,GAClC,GAAIi/jC,EAAgB13gC,KAAU+pL,EAC5B,OAAO,EAGT,GAAI,WAAYrvO,KAAKslD,GACnB,OAAO,EAGT,OAAO,CACT,CA1BMq4gC,CAAcH,GA9OpB,SAAmBn6/B,GACjB,IAAMrnE,EAAQqnE,EAAMn2B,MAAM,KAO1B,GANgC,KAA5BlxC,EAAMA,EAAM+B,OAAS,IACnB/B,EAAM+B,OAAS,GACjB/B,EAAM8gE,MAIN9gE,EAAM+B,OAAS,EACjB,OAAOsxO,EAGT,IACwBnrO,EADlB05jC,EAAU,GAAGx5jC,EAAAC,EACArI,GAAK,IAAxB,IAAAoI,EAAAE,MAAAJ,EAAAE,EAAAG,KAAAC,MAA0B,KAClBD,EAAIy4jC,EADG94jC,EAAAtF,OAEb,GAAI2F,IAAM8qO,EACR,OAAOA,EAGTuu1B,EAAQv6jC,KAAKkB,EACf,CAAC,OAAAE,GAAAL,EAAAjI,EAAAsI,EAAA,SAAAL,EAAAM,GAAA,CAED,IAAK,IAAIpG,EAAI,EAAGA,EAAIs/jC,EAAQ7/jC,OAAS,IAAKO,EACxC,GAAIs/jC,EAAQt/jC,GAAK,IACf,OAAO+wO,EAGX,GAAIuu1B,EAAQA,EAAQ7/jC,OAAS,IAAEke,KAAAowC,IAAI,IAAQ,EAAIuxgC,EAAQ7/jC,QACrD,OAAOsxO,EAMT,IAHA,IAAI0qJ,EAAO6jsB,EAAQ9ggC,MACfna,EAAU,EAEdr/C,EAAA,EAAAu6jC,EAAgBD,EAAOt6jC,EAAAu6jC,EAAA9/jC,OAAAuF,IACrBy2X,GADU8jsB,EAAAv6jC,GACD2Y,KAAAowC,IAAG,IAAQ,EAAI1J,KACtBA,EAGJ,OAAOo3U,CACT,CAuMW+jsB,CAAUN,GAGZA,CACT,CA8DA,SAAS9G,EAAcn1iC,GACrB,MAAoB,iBAATA,EAxQb,SAAuBipH,GAIrB,IAHA,IAAI/+E,EAAS,GACTlnD,EAAIimI,EAEClsI,EAAI,EAAGA,GAAK,IAAKA,EACxBmtD,EAASzqD,OAAOuD,EAAI,KAAOknD,EACjB,IAANntD,IACFmtD,EAAS,IAAH1qD,OAAO0qD,IAEflnD,EAAI0X,KAAKC,MAAM3X,EAAI,KAGrB,OAAOknD,CACT,CA4PWsygC,CAAcx8iC,GAInBA,aAAgBvN,MACX,IAAPjT,OA9HJ,SAAuBypI,GAKrB,IAJA,IAAI/+E,EAAS,GACP6nvB,EAsFR,SAAiChqvB,GAM/B,IALA,IAAI00gC,EAAS,KACTC,EAAS,EACTC,EAAY,KACZC,EAAU,EAEL7/jC,EAAI,EAAGA,EAAIgrD,EAAIvrD,SAAUO,EACjB,IAAXgrD,EAAIhrD,IACF6/jC,EAAUF,IACZD,EAASE,EACTD,EAASE,GAGXD,EAAY,KACZC,EAAU,IAEQ,OAAdD,IACFA,EAAY5/jC,KAEZ6/jC,GAKN,OAAIA,EAAUF,EACLC,EAGFF,CACT,CAnHmBI,CAAwB5z7B,GACrC6z7B,GAAU,EAELnB,EAAa,EAAGA,GAAc,IAAKA,EACtCmB,GAAmC,IAAxB7z7B,EAAQ0y7B,KAEZmB,IACTA,GAAU,GAGR/qR,IAAa4pR,GAOjBzxgC,GAAU++E,EAAQ0y7B,GAAY7/jC,SAAS,IAEpB,IAAf6/jC,IACFzxgC,GAAU,OARVA,GADiC,IAAfyxgC,EAAmB,KAAO,IAE5CmB,GAAU,IAWd,OAAO5ygC,CACT,CAmGe6ygC,CAAc/8iC,GAAK,KAGzBA,CACT,CAwBA,SAASg9iC,EAAYpqiC,GACnB,IAuBsCo5B,EAvB9BjuC,EAAS6U,EAAT7U,KACY,IAAhBA,EAAKvhB,SAGU,SAAfo2B,EAAIizK,QAAqC,IAAhB9nL,EAAKvhB,SAmBIwvD,EAnB2CjuC,EAAK,GAoB/E,cAAetf,KAAKutD,KAhB3BjuC,EAAKw9C,MACP,CAEA,SAAS0hgC,EAAoBrqiC,GAC3B,MAAwB,KAAjBA,EAAI48C,UAAoC,KAAjB58C,EAAI68C,QACpC,CAMA,SAASgm/B,EAAgB7iiC,GACvB,MAA2B,iBAAbA,EAAI7U,IACpB,CAMA,SAASm/iC,EAAgBp7/B,EAAOyH,EAAM4z/B,EAAkBvqiC,EAAKikiC,GAU3D,GATA74jC,KAAK4+D,QAAU,EACf5+D,KAAK8jE,MAAQA,EACb9jE,KAAKurE,KAAOA,GAAQ,KACpBvrE,KAAKm/jC,iBAAmBA,GAAoB,QAC5Cn/jC,KAAK64jC,cAAgBA,EACrB74jC,KAAK40B,IAAMA,EACX50B,KAAK8vO,SAAU,EACf9vO,KAAKqxE,YAAa,GAEbrxE,KAAK40B,IAAK,CACb50B,KAAK40B,IAAM,CACTizK,OAAQ,GACRr2H,SAAU,GACVC,SAAU,GACVzvD,KAAM,KACNy/B,KAAM,KACN1hC,KAAM,GACNqmE,MAAO,KACP0vE,SAAU,MAGZ,IAAM3kG,EA1DV,SAA0Bv8B,GACxB,OAAOA,EAAInV,QAAQ,qBAAqD,GAC1E,CAwDgB2/iC,CAAiBp/jC,KAAK8jE,OAC9B3S,IAAQnxD,KAAK8jE,QACf9jE,KAAKqxE,YAAa,GAEpBrxE,KAAK8jE,MAAQ3S,CACf,CAEA,IAAMA,EA7DR,SAA2Bv8B,GACzB,OAAOA,EAAInV,QAAQ,YAA0B,GAC/C,CA2Dc4/iC,CAAkBr/jC,KAAK8jE,OAenC,IAdI3S,IAAQnxD,KAAK8jE,QACf9jE,KAAKqxE,YAAa,GAEpBrxE,KAAK8jE,MAAQ3S,EAEbnxD,KAAKme,MAAQ06iC,GAAiB,eAE9B74jC,KAAKrB,OAAS,GACdqB,KAAKs/jC,QAAS,EACdt/jC,KAAKu/jC,SAAU,EACfv/jC,KAAKw/jC,uBAAwB,EAE7Bx/jC,KAAK8jE,MAAQrvD,MAAM8wC,KAAKvlD,KAAK8jE,MAAO,SAAA7vB,GAAC,OAAIA,EAAEqgT,YAAY,EAAE,GAElDt0V,KAAK4+D,SAAW5+D,KAAK8jE,MAAMtlE,SAAUwB,KAAK4+D,QAAS,CACxD,IAAM3qB,EAAIj0C,KAAK8jE,MAAM9jE,KAAK4+D,SACpB6ggC,EAAOzqjC,MAAMi/B,QAAKvuC,EAAYjE,OAAO8yV,cAActgT,GAGnD+N,EAAMhiD,KAAK,SAADwB,OAAUxB,KAAKme,QAAS81B,EAAGwrhC,GAC3C,IAAKz9gC,EACH,MACK,GAAIA,IAAQ8tL,EAAS,CAC1B9vO,KAAK8vO,SAAU,EACf,KACF,CACF,CACF,CAEAov1B,EAAgBlhkC,UAAU,sBAAwB,SAA0Bi2C,EAAGwrhC,GAC7E,GAAIxC,EAAM1B,aAAatnhC,GACrBj0C,KAAKrB,QAAU8gkC,EAAK//iC,cACpB1f,KAAKme,MAAQ,aACR,IAAKne,KAAK64jC,cAKf,OADA74jC,KAAKqxE,YAAa,EACXy+J,EAJP9vO,KAAKme,MAAQ,cACXne,KAAK4+D,OAIT,CAEA,OAAO,CACT,EAEAsggC,EAAgBlhkC,UAAU,gBAAkB,SAAqBi2C,EAAGwrhC,GAClE,GAAIxC,EAAMzB,oBAAoBvnhC,IAAMA,IAAMv1C,EAAE,MAAQu1C,IAAMv1C,EAAE,MAAQu1C,IAAMv1C,EAAE,KAC1EsB,KAAKrB,QAAU8gkC,EAAK//iC,mBACf,GAAIu0B,IAAMv1C,EAAE,KAAM,CACvB,GAAIsB,KAAK64jC,cAAe,CACtB,GAAI1/U,EAAUn5uB,KAAK40B,OAAS2oiC,EAAgBv9jC,KAAKrB,QAC/C,OAAO,EAGT,IAAKw6uB,EAAUn5uB,KAAK40B,MAAQ2oiC,EAAgBv9jC,KAAKrB,QAC/C,OAAO,EAGT,IAAKsgkC,EAAoBj/jC,KAAK40B,MAA0B,OAAlB50B,KAAK40B,IAAI6sB,OAAkC,SAAhBzhD,KAAKrB,OACpE,OAAO,EAGT,GAAwB,SAApBqB,KAAK40B,IAAIizK,QAAuC,KAAlB7nM,KAAK40B,IAAI5S,KACzC,OAAO,CAEX,CAEA,GADAhiB,KAAK40B,IAAIizK,OAAS7nM,KAAKrB,OACnBqB,KAAK64jC,cAIP,OAHI74jC,KAAK40B,IAAI6sB,OAASyhzB,EAAYlj2B,KAAK40B,IAAIizK,UACzC7nM,KAAK40B,IAAI6sB,KAAO,OAEX,EAETzhD,KAAKrB,OAAS,GACU,SAApBqB,KAAK40B,IAAIizK,QACP7nM,KAAK8jE,MAAM9jE,KAAK4+D,QAAU,KAAOlgE,EAAE,MAAQsB,KAAK8jE,MAAM9jE,KAAK4+D,QAAU,KAAOlgE,EAAE,OAChFsB,KAAKqxE,YAAa,GAEpBrxE,KAAKme,MAAQ,QACJg7tB,EAAUn5uB,KAAK40B,MAAsB,OAAd50B,KAAKurE,MAAiBvrE,KAAKurE,KAAKs8H,SAAW7nM,KAAK40B,IAAIizK,OACpF7nM,KAAKme,MAAQ,gCACJg7tB,EAAUn5uB,KAAK40B,KACxB50B,KAAKme,MAAQ,4BACJne,KAAK8jE,MAAM9jE,KAAK4+D,QAAU,KAAOlgE,EAAE,MAC5CsB,KAAKme,MAAQ,sBACXne,KAAK4+D,UAEP5+D,KAAK40B,IAAI7U,KAAO,GAChB/f,KAAKme,MAAQ,cAEjB,KAAO,IAAKne,KAAK64jC,cAMf,OADA74jC,KAAKqxE,YAAa,EACXy+J,EALP9vO,KAAKrB,OAAS,GACdqB,KAAKme,MAAQ,YACbne,KAAK4+D,SAAW,CAIlB,CAEA,OAAO,CACT,EAEAsggC,EAAgBlhkC,UAAU,mBAAqB,SAAuBi2C,GACpE,OAAkB,OAAdj0C,KAAKurE,MAAkBks/B,EAAgBz3jC,KAAKurE,OAASt3B,IAAMv1C,EAAE,KACxDoxO,GACE2n1B,EAAgBz3jC,KAAKurE,OAASt3B,IAAMv1C,EAAE,MAC/CsB,KAAK40B,IAAIizK,OAAS7nM,KAAKurE,KAAKs8H,OAC5B7nM,KAAK40B,IAAI7U,KAAO/f,KAAKurE,KAAKxrD,KAC1B/f,KAAK40B,IAAIwxD,MAAQpmF,KAAKurE,KAAK6a,MAC3BpmF,KAAK40B,IAAIkhI,SAAW,GACpB91J,KAAKme,MAAQ,YACiB,SAArBne,KAAKurE,KAAKs8H,QACnB7nM,KAAKme,MAAQ,SACXne,KAAK4+D,UAEP5+D,KAAKme,MAAQ,aACXne,KAAK4+D,UAGF,EACT,EAEAsggC,EAAgBlhkC,UAAU,uCAAyC,SAAyCi2C,GAU1G,OATIA,IAAMv1C,EAAE,MAAQsB,KAAK8jE,MAAM9jE,KAAK4+D,QAAU,KAAOlgE,EAAE,MACrDsB,KAAKme,MAAQ,qCACXne,KAAK4+D,UAEP5+D,KAAKqxE,YAAa,EAClBrxE,KAAKme,MAAQ,aACXne,KAAK4+D,UAGF,CACT,EAEAsggC,EAAgBlhkC,UAAU,2BAA6B,SAA8Bi2C,GAQnF,OAPIA,IAAMv1C,EAAE,KACVsB,KAAKme,MAAQ,aAEbne,KAAKme,MAAQ,SACXne,KAAK4+D,UAGF,CACT,EAEAsggC,EAAgBlhkC,UAAU,kBAAoB,SAAuBi2C,GA4BnE,OA3BAj0C,KAAK40B,IAAIizK,OAAS7nM,KAAKurE,KAAKs8H,OACxB5zJ,IAAMv1C,EAAE,KACVsB,KAAKme,MAAQ,iBACJg7tB,EAAUn5uB,KAAK40B,MAAQqf,IAAMv1C,EAAE,OACxCsB,KAAKqxE,YAAa,EAClBrxE,KAAKme,MAAQ,mBAEbne,KAAK40B,IAAI48C,SAAWxxE,KAAKurE,KAAKiG,SAC9BxxE,KAAK40B,IAAI68C,SAAWzxE,KAAKurE,KAAKkG,SAC9BzxE,KAAK40B,IAAI5S,KAAOhiB,KAAKurE,KAAKvpD,KAC1BhiB,KAAK40B,IAAI6sB,KAAOzhD,KAAKurE,KAAK9pB,KAC1BzhD,KAAK40B,IAAI7U,KAAO/f,KAAKurE,KAAKxrD,KAAKnL,QAC/B5U,KAAK40B,IAAIwxD,MAAQpmF,KAAKurE,KAAK6a,MACvBnyC,IAAMv1C,EAAE,MACVsB,KAAK40B,IAAIwxD,MAAQ,GACjBpmF,KAAKme,MAAQ,SACJ81B,IAAMv1C,EAAE,MACjBsB,KAAK40B,IAAIkhI,SAAW,GACpB91J,KAAKme,MAAQ,YACHnJ,MAAMi/B,KAChBj0C,KAAK40B,IAAIwxD,MAAQ,KACjBpmF,KAAK40B,IAAI7U,KAAKw9C,MACdv9D,KAAKme,MAAQ,SACXne,KAAK4+D,WAIJ,CACT,EAEAsggC,EAAgBlhkC,UAAU,wBAA0B,SAA4Bi2C,GAiB9E,OAhBIklsB,EAAUn5uB,KAAK40B,MAASqf,IAAMv1C,EAAE,MAAQu1C,IAAMv1C,EAAE,MAKzCu1C,IAAMv1C,EAAE,KACjBsB,KAAKme,MAAQ,aAEbne,KAAK40B,IAAI48C,SAAWxxE,KAAKurE,KAAKiG,SAC9BxxE,KAAK40B,IAAI68C,SAAWzxE,KAAKurE,KAAKkG,SAC9BzxE,KAAK40B,IAAI5S,KAAOhiB,KAAKurE,KAAKvpD,KAC1BhiB,KAAK40B,IAAI6sB,KAAOzhD,KAAKurE,KAAK9pB,KAC1BzhD,KAAKme,MAAQ,SACXne,KAAK4+D,UAZH3qB,IAAMv1C,EAAE,QACVsB,KAAKqxE,YAAa,GAEpBrxE,KAAKme,MAAQ,qCAYR,CACT,EAEA+gjC,EAAgBlhkC,UAAU,mCAAqC,SAAsCi2C,GAUnG,OATIA,IAAMv1C,EAAE,MAAQsB,KAAK8jE,MAAM9jE,KAAK4+D,QAAU,KAAOlgE,EAAE,MACrDsB,KAAKme,MAAQ,qCACXne,KAAK4+D,UAEP5+D,KAAKqxE,YAAa,EAClBrxE,KAAKme,MAAQ,qCACXne,KAAK4+D,UAGF,CACT,EAEAsggC,EAAgBlhkC,UAAU,0CAA4C,SAA4Ci2C,GAQhH,OAPIA,IAAMv1C,EAAE,MAAQu1C,IAAMv1C,EAAE,OAC1BsB,KAAKme,MAAQ,cACXne,KAAK4+D,SAEP5+D,KAAKqxE,YAAa,GAGb,CACT,EAEA6t/B,EAAgBlhkC,UAAU,mBAAqB,SAAwBi2C,EAAGwrhC,GACxE,GAAIxrhC,IAAMv1C,EAAE,KAAM,CAChBsB,KAAKqxE,YAAa,EACdrxE,KAAKs/jC,SACPt/jC,KAAKrB,OAAS,MAAH6C,OAASxB,KAAKrB,SAE3BqB,KAAKs/jC,QAAS,EAId,IADA,IAAM7gkC,EAAM2+jC,EAAap9jC,KAAKrB,QACrBigE,EAAU,EAAGA,EAAUngE,IAAOmgE,EAAS,CAC9C,IAAMnN,EAAYzxD,KAAKrB,OAAO21V,YAAY11R,GAE1C,GAAInN,IAAc/yD,EAAE,MAASsB,KAAKw/jC,sBAAlC,CAIA,IAAME,EAAoB3C,EAA2BtrgC,EAAW2qgC,GAC5Dp8jC,KAAKw/jC,sBACPx/jC,KAAK40B,IAAI68C,UAAYiu/B,EAErB1/jC,KAAK40B,IAAI48C,UAAYku/B,CALvB,MAFE1/jC,KAAKw/jC,uBAAwB,CASjC,CACAx/jC,KAAKrB,OAAS,EAChB,MAAO,GAAIqW,MAAMi/B,IAAMA,IAAMv1C,EAAE,MAAQu1C,IAAMv1C,EAAE,MAAQu1C,IAAMv1C,EAAE,MACnDy6uB,EAAUn5uB,KAAK40B,MAAQqf,IAAMv1C,EAAE,MAAQ,CACjD,GAAIsB,KAAKs/jC,QAA0B,KAAhBt/jC,KAAKrB,OAEtB,OADAqB,KAAKqxE,YAAa,EACXy+J,EAET9vO,KAAK4+D,SAAWw+/B,EAAap9jC,KAAKrB,QAAU,EAC5CqB,KAAKrB,OAAS,GACdqB,KAAKme,MAAQ,MACf,MACEne,KAAKrB,QAAU8gkC,EAGjB,OAAO,CACT,EAEAP,EAAgBlhkC,UAAU,kBAC1BkhkC,EAAgBlhkC,UAAU,cAAgB,SAAuBi2C,EAAGwrhC,GAClE,GAAIz/jC,KAAK64jC,eAAqC,SAApB74jC,KAAK40B,IAAIizK,SAC/B7nM,KAAK4+D,QACP5+D,KAAKme,MAAQ,iBACR,GAAI81B,IAAMv1C,EAAE,MAASsB,KAAKu/jC,QAkB1B,GAAIvqjC,MAAMi/B,IAAMA,IAAMv1C,EAAE,MAAQu1C,IAAMv1C,EAAE,MAAQu1C,IAAMv1C,EAAE,MACnDy6uB,EAAUn5uB,KAAK40B,MAAQqf,IAAMv1C,EAAE,MAAQ,CAEjD,KADEsB,KAAK4+D,QACHu6qB,EAAUn5uB,KAAK40B,MAAwB,KAAhB50B,KAAKrB,OAE9B,OADAqB,KAAKqxE,YAAa,EACXy+J,EACF,GAAI9vO,KAAK64jC,eAAiC,KAAhB74jC,KAAKrB,SAC1BsgkC,EAAoBj/jC,KAAK40B,MAA0B,OAAlB50B,KAAK40B,IAAI6sB,MAEpD,OADAzhD,KAAKqxE,YAAa,GACX,EAGT,IAAMrvD,EAAOwriC,EAAUxtjC,KAAKrB,OAAQ6+jC,EAAax9jC,KAAK40B,MACtD,GAAI5S,IAAS8tN,EACX,OAAOA,EAMT,GAHA9vO,KAAK40B,IAAI5S,KAAOA,EAChBhiB,KAAKrB,OAAS,GACdqB,KAAKme,MAAQ,aACTne,KAAK64jC,cACP,OAAO,CAEX,MACM5khC,IAAMv1C,EAAE,KACVsB,KAAKu/jC,SAAU,EACNtrhC,IAAMv1C,EAAE,OACjBsB,KAAKu/jC,SAAU,GAEjBv/jC,KAAKrB,QAAU8gkC,MA/CyB,CACxC,GAAoB,KAAhBz/jC,KAAKrB,OAEP,OADAqB,KAAKqxE,YAAa,EACXy+J,EAGT,GAA2B,aAAvB9vO,KAAK64jC,cACP,OAAO,EAGT,IAAM72iC,EAAOwriC,EAAUxtjC,KAAKrB,OAAQ6+jC,EAAax9jC,KAAK40B,MACtD,GAAI5S,IAAS8tN,EACX,OAAOA,EAGT9vO,KAAK40B,IAAI5S,KAAOA,EAChBhiB,KAAKrB,OAAS,GACdqB,KAAKme,MAAQ,MACf,CAgCA,OAAO,CACT,EAEA+gjC,EAAgBlhkC,UAAU,cAAgB,SAAmBi2C,EAAGwrhC,GAC9D,GAAIxC,EAAM3B,aAAarnhC,GACrBj0C,KAAKrB,QAAU8gkC,MACV,MAAIzqjC,MAAMi/B,IAAMA,IAAMv1C,EAAE,MAAQu1C,IAAMv1C,EAAE,MAAQu1C,IAAMv1C,EAAE,MACnDy6uB,EAAUn5uB,KAAK40B,MAAQqf,IAAMv1C,EAAE,OAChCsB,KAAK64jC,eAiBd,OADA74jC,KAAKqxE,YAAa,EACXy+J,EAhBP,GAAoB,KAAhB9vO,KAAKrB,OAAe,CACtB,IAAM8iD,EAAOhlB,SAASz8B,KAAKrB,QAC3B,GAAI8iD,EAAO/kC,KAAAowC,IAAA,EAAK,IAAK,EAEnB,OADA9sD,KAAKqxE,YAAa,EACXy+J,EAET9vO,KAAK40B,IAAI6sB,KAAOA,IAASyhzB,EAAYlj2B,KAAK40B,IAAIizK,QAAU,KAAOpmJ,EAC/DzhD,KAAKrB,OAAS,EAChB,CACA,GAAIqB,KAAK64jC,cACP,OAAO,EAET74jC,KAAKme,MAAQ,eACXne,KAAK4+D,OAIT,CAEA,OAAO,CACT,EAEA,IAAM+ggC,EAA0B,IAAIn5/B,IAAI,CAAC9nE,EAAE,KAAMA,EAAE,MAAOA,EAAE,KAAMA,EAAE,OAEpE,SAASkhkC,EAA6B97/B,EAAOlF,GAC3C,IAlzBsCihgC,EAAKC,EAkzBrCthkC,EAASslE,EAAMtlE,OAASogE,EAC9B,OAAOpgE,GAAU,IAnzBqBqhkC,EAozBL/7/B,EAAMlF,GApzBIkhgC,EAozBMh8/B,EAAMlF,EAAU,GAnzB1Dq+/B,EAAM1B,aAAasE,KAASC,IAAQphkC,EAAE,MAAQohkC,IAAQphkC,EAAE,SAozBjD,IAAXF,GAAgBmhkC,EAAwBr7jC,IAAIw/D,EAAMlF,EAAU,IACjE,CAkSA,SAASs4/B,EAActiiC,GACrB,GAAI6iiC,EAAgB7iiC,GAClB,OAAOA,EAAI7U,KAGb,IAC8BjN,EAD1Bo5C,EAAS,GAAGn5C,EAAAjO,EACM8vB,EAAI7U,MAAI,IAA9B,IAAAhN,EAAAhO,MAAA+N,EAAAC,EAAA/N,KAAAC,MAAgC,KAArBg5E,EAAOnrE,EAAAzT,MAChB6sD,GAAU,IAAJ1qD,OAAQy8E,EAChB,CAAC,OAAA/4E,GAAA6N,EAAAnW,EAAAsI,EAAA,SAAA6N,EAAA5N,GAAA,CACD,OAAO+mD,CACT,CA1SAgzgC,EAAgBlhkC,UAAU,cAAgB,SAAmBi2C,GAoC3D,OAnCAj0C,KAAK40B,IAAIizK,OAAS,OAClB7nM,KAAK40B,IAAI5S,KAAO,GAEZiyB,IAAMv1C,EAAE,MAAQu1C,IAAMv1C,EAAE,OACtBu1C,IAAMv1C,EAAE,QACVsB,KAAKqxE,YAAa,GAEpBrxE,KAAKme,MAAQ,cACU,OAAdne,KAAKurE,MAAsC,SAArBvrE,KAAKurE,KAAKs8H,QACzC7nM,KAAK40B,IAAI5S,KAAOhiB,KAAKurE,KAAKvpD,KAC1BhiB,KAAK40B,IAAI7U,KAAO/f,KAAKurE,KAAKxrD,KAAKnL,QAC/B5U,KAAK40B,IAAIwxD,MAAQpmF,KAAKurE,KAAK6a,MACvBnyC,IAAMv1C,EAAE,MACVsB,KAAK40B,IAAIwxD,MAAQ,GACjBpmF,KAAKme,MAAQ,SACJ81B,IAAMv1C,EAAE,MACjBsB,KAAK40B,IAAIkhI,SAAW,GACpB91J,KAAKme,MAAQ,YACHnJ,MAAMi/B,KAChBj0C,KAAK40B,IAAIwxD,MAAQ,KACZw5+B,EAA6B5/jC,KAAK8jE,MAAO9jE,KAAK4+D,UAGjD5+D,KAAKqxE,YAAa,EAClBrxE,KAAK40B,IAAI7U,KAAO,IAHhBi/iC,EAAYh/jC,KAAK40B,KAMnB50B,KAAKme,MAAQ,SACXne,KAAK4+D,WAGT5+D,KAAKme,MAAQ,SACXne,KAAK4+D,UAGF,CACT,EAEAsggC,EAAgBlhkC,UAAU,oBAAsB,SAAwBi2C,GAv1BxE,IAA8C+Z,EAy2B5C,OAjBI/Z,IAAMv1C,EAAE,MAAQu1C,IAAMv1C,EAAE,OACtBu1C,IAAMv1C,EAAE,QACVsB,KAAKqxE,YAAa,GAEpBrxE,KAAKme,MAAQ,cAEK,OAAdne,KAAKurE,MAAsC,SAArBvrE,KAAKurE,KAAKs8H,UAC7B+33B,EAA6B5/jC,KAAK8jE,MAAO9jE,KAAK4+D,WA91B9B,KADmB5Q,EAg2BChuD,KAAKurE,KAAKxrD,KAAK,IA/1B9CvhB,QAAgBy+jC,EAAM1B,aAAavtgC,EAAOsmS,YAAY,KAAqB,MAAdtmS,EAAO,KAg2B5EhuD,KAAK40B,IAAI7U,KAAKjc,KAAK9D,KAAKurE,KAAKxrD,KAAK,IAEpC/f,KAAK40B,IAAI5S,KAAOhiB,KAAKurE,KAAKvpD,MAE5BhiB,KAAKme,MAAQ,SACXne,KAAK4+D,UAGF,CACT,EAEAsggC,EAAgBlhkC,UAAU,mBAAqB,SAAuBi2C,EAAGwrhC,GACvE,GAAIzqjC,MAAMi/B,IAAMA,IAAMv1C,EAAE,MAAQu1C,IAAMv1C,EAAE,OAASu1C,IAAMv1C,EAAE,MAAQu1C,IAAMv1C,EAAE,KAEvE,KADEsB,KAAK4+D,SACF5+D,KAAK64jC,eAAiByE,EAA2Bt9jC,KAAKrB,QACzDqB,KAAKqxE,YAAa,EAClBrxE,KAAKme,MAAQ,YACR,GAAoB,KAAhBne,KAAKrB,OAAe,CAE7B,GADAqB,KAAK40B,IAAI5S,KAAO,GACZhiB,KAAK64jC,cACP,OAAO,EAET74jC,KAAKme,MAAQ,YACf,KAAO,CACL,IAAI6D,EAAOwriC,EAAUxtjC,KAAKrB,OAAQ6+jC,EAAax9jC,KAAK40B,MACpD,GAAI5S,IAAS8tN,EACX,OAAOA,EAOT,GALa,cAAT9tN,IACFA,EAAO,IAEThiB,KAAK40B,IAAI5S,KAAOA,EAEZhiB,KAAK64jC,cACP,OAAO,EAGT74jC,KAAKrB,OAAS,GACdqB,KAAKme,MAAQ,YACf,MAEAne,KAAKrB,QAAU8gkC,EAGjB,OAAO,CACT,EAEAP,EAAgBlhkC,UAAU,oBAAsB,SAAwBi2C,GAyBtE,OAxBIklsB,EAAUn5uB,KAAK40B,MACbqf,IAAMv1C,EAAE,QACVsB,KAAKqxE,YAAa,GAEpBrxE,KAAKme,MAAQ,OAET81B,IAAMv1C,EAAE,MAAQu1C,IAAMv1C,EAAE,SACxBsB,KAAK4+D,SAEC5+D,KAAK64jC,eAAiB5khC,IAAMv1C,EAAE,KAG9BsB,KAAK64jC,eAAiB5khC,IAAMv1C,EAAE,UAGzBgH,IAANuuC,GACTj0C,KAAKme,MAAQ,OACT81B,IAAMv1C,EAAE,QACRsB,KAAK4+D,SAEA5+D,KAAK64jC,eAAmC,OAAlB74jC,KAAK40B,IAAI5S,MACxChiB,KAAK40B,IAAI7U,KAAKjc,KAAK,KARnB9D,KAAK40B,IAAIkhI,SAAW,GACpB91J,KAAKme,MAAQ,aAJbne,KAAK40B,IAAIwxD,MAAQ,GACjBpmF,KAAKme,MAAQ,UAaR,CACT,EAEA+gjC,EAAgBlhkC,UAAU,cAAgB,SAAmBi2C,GAz7B7D,IAAqBt1C,EAm+BnB,OAzCIqW,MAAMi/B,IAAMA,IAAMv1C,EAAE,MAASy6uB,EAAUn5uB,KAAK40B,MAAQqf,IAAMv1C,EAAE,QAC1DsB,KAAK64jC,gBAAkB5khC,IAAMv1C,EAAE,MAAQu1C,IAAMv1C,EAAE,OAC/Cy6uB,EAAUn5uB,KAAK40B,MAAQqf,IAAMv1C,EAAE,QACjCsB,KAAKqxE,YAAa,GA37BJ,QADlB1yE,GADmBA,EAg8BDqB,KAAKrB,QA/7BP+gB,gBACqB,SAAX/gB,GAAgC,SAAXA,GAAgC,WAAXA,GA+7BhEqgkC,EAAYh/jC,KAAK40B,KACbqf,IAAMv1C,EAAE,MAAUy6uB,EAAUn5uB,KAAK40B,MAAQqf,IAAMv1C,EAAE,OACnDsB,KAAK40B,IAAI7U,KAAKjc,KAAK,MAEZu5jC,EAAYr9jC,KAAKrB,SAAWs1C,IAAMv1C,EAAE,MAClCy6uB,EAAUn5uB,KAAK40B,MAAQqf,IAAMv1C,EAAE,MAEhC2+jC,EAAYr9jC,KAAKrB,UACH,SAApBqB,KAAK40B,IAAIizK,QAA8C,IAAzB7nM,KAAK40B,IAAI7U,KAAKvhB,QAAgB8+jC,EAA2Bt9jC,KAAKrB,UAC9FqB,KAAKrB,OAAS,GAAH6C,OAAMxB,KAAKrB,OAAO,GAAE,MAEjCqB,KAAK40B,IAAI7U,KAAKjc,KAAK9D,KAAKrB,SALxBqB,KAAK40B,IAAI7U,KAAKjc,KAAK,IAOrB9D,KAAKrB,OAAS,GACVs1C,IAAMv1C,EAAE,OACVsB,KAAK40B,IAAIwxD,MAAQ,GACjBpmF,KAAKme,MAAQ,SAEX81B,IAAMv1C,EAAE,OACVsB,KAAK40B,IAAIkhI,SAAW,GACpB91J,KAAKme,MAAQ,cAKX81B,IAAMv1C,EAAE,MACRu+jC,EAAMxB,WAAWz7jC,KAAK8jE,MAAM9jE,KAAK4+D,QAAU,KAC1Cq+/B,EAAMxB,WAAWz7jC,KAAK8jE,MAAM9jE,KAAK4+D,QAAU,MAC9C5+D,KAAKqxE,YAAa,GAGpBrxE,KAAKrB,QAAUo+jC,EAA2B9ohC,EAAGiohC,KAGxC,CACT,EAEAgD,EAAgBlhkC,UAAU,qBAAuB,SAAyBi2C,GAwBxE,OAvBIA,IAAMv1C,EAAE,MACVsB,KAAK40B,IAAIwxD,MAAQ,GACjBpmF,KAAKme,MAAQ,SACJ81B,IAAMv1C,EAAE,MACjBsB,KAAK40B,IAAIkhI,SAAW,GACpB91J,KAAKme,MAAQ,aAGRnJ,MAAMi/B,IAAMA,IAAMv1C,EAAE,OACvBsB,KAAKqxE,YAAa,GAGhBp9B,IAAMv1C,EAAE,MACNu+jC,EAAMxB,WAAWz7jC,KAAK8jE,MAAM9jE,KAAK4+D,QAAU,KAC3Cq+/B,EAAMxB,WAAWz7jC,KAAK8jE,MAAM9jE,KAAK4+D,QAAU,MAC/C5+D,KAAKqxE,YAAa,GAGfr8D,MAAMi/B,KACTj0C,KAAK40B,IAAI7U,MAAQg9iC,EAA2B9ohC,EAAG4nhC,MAI5C,CACT,EAEAqD,EAAgBlhkC,UAAU,eAAiB,SAAoBi2C,EAAGwrhC,GAKhE,GAJKtmV,EAAUn5uB,KAAK40B,MAA4B,OAApB50B,KAAK40B,IAAIizK,QAAuC,QAApB7nM,KAAK40B,IAAIizK,SAC/D7nM,KAAKm/jC,iBAAmB,UAGpBn/jC,KAAK64jC,eAAiB5khC,IAAMv1C,EAAE,MAASsW,MAAMi/B,GAAI,CACrD,IAAM8rhC,EAA8B5mV,EAAUn5uB,KAAK40B,KAAO8niC,EAA8BV,EACxFh8jC,KAAK40B,IAAIwxD,OAASy2+B,EAAwB78jC,KAAKrB,OAAQohkC,GAEvD//jC,KAAKrB,OAAS,GAEVs1C,IAAMv1C,EAAE,OACVsB,KAAK40B,IAAIkhI,SAAW,GACpB91J,KAAKme,MAAQ,WAEjB,MAAYnJ,MAAMi/B,KAGZA,IAAMv1C,EAAE,MACRu+jC,EAAMxB,WAAWz7jC,KAAK8jE,MAAM9jE,KAAK4+D,QAAU,KAC1Cq+/B,EAAMxB,WAAWz7jC,KAAK8jE,MAAM9jE,KAAK4+D,QAAU,MAC9C5+D,KAAKqxE,YAAa,GAGpBrxE,KAAKrB,QAAU8gkC,GAGjB,OAAO,CACT,EAEAP,EAAgBlhkC,UAAU,kBAAoB,SAAuBi2C,GAYnE,OAXKj/B,MAAMi/B,KAELA,IAAMv1C,EAAE,MACRu+jC,EAAMxB,WAAWz7jC,KAAK8jE,MAAM9jE,KAAK4+D,QAAU,KAC1Cq+/B,EAAMxB,WAAWz7jC,KAAK8jE,MAAM9jE,KAAK4+D,QAAU,MAC9C5+D,KAAKqxE,YAAa,GAGpBrxE,KAAK40B,IAAIkhI,UAAYin6B,EAA2B9ohC,EAAGwohC,KAG9C,CACT,EA6DAxqhC,EAAOC,QAAQ+khC,aA3Df,SAAsBriiC,EAAKoriC,GACzB,IAAI9zgC,EAAS,GAAH1qD,OAAMozB,EAAIizK,OAAM,KAgC1B,OA/BiB,OAAbjzK,EAAI5S,OACNkqC,GAAU,KAEW,KAAjBt3B,EAAI48C,UAAoC,KAAjB58C,EAAI68C,WAC7BvlB,GAAUt3B,EAAI48C,SACO,KAAjB58C,EAAI68C,WACNvlB,GAAU,IAAJ1qD,OAAQozB,EAAI68C,WAEpBvlB,GAAU,KAGZA,GAAUirgC,EAAcviiC,EAAI5S,MAEX,OAAb4S,EAAI6sB,OACNyK,GAAU,IAAJ1qD,OAAQozB,EAAI6sB,QAIL,OAAb7sB,EAAI5S,OAAkBy1iC,EAAgB7iiC,IAAQA,EAAI7U,KAAKvhB,OAAS,GAAqB,KAAhBo2B,EAAI7U,KAAK,KAChFmsC,GAAU,MAEZA,GAAUgrgC,EAActiiC,GAEN,OAAdA,EAAIwxD,QACNl6B,GAAU,IAAJ1qD,OAAQozB,EAAIwxD,QAGf45+B,GAAoC,OAAjBpriC,EAAIkhI,WAC1B5pG,GAAU,IAAJ1qD,OAAQozB,EAAIkhI,WAGb5pG,CACT,EA2BAja,EAAOC,QAAQglhC,cAAgBA,EAE/BjlhC,EAAOC,QAAQmlhC,mBAAqB,SAAUziiC,GAE5C,OAAQA,EAAIizK,QACV,IAAK,OACH,IACE,OAAO51J,EAAOC,QAAQmlhC,mBAAmBplhC,EAAOC,QAAQ6khC,SAASG,EAActiiC,IACjF,CAAE,MAAOh4B,GAEP,MAAO,MACT,CACF,IAAK,MACL,IAAK,OACL,IAAK,QACL,IAAK,KACL,IAAK,MACH,OA1CmBi1xB,EA0CI,CACrBhqlB,OAAQjzK,EAAIizK,OACZ7lL,KAAM4S,EAAI5S,KACVy/B,KAAM7sB,EAAI6sB,MA5CZxhD,EAAS,GAAHuB,OAAMqwxB,EAAMhqlB,OAAM,OAC5B5nM,GAAUk3jC,EAActlS,EAAM7vwB,MAEX,OAAf6vwB,EAAMpwuB,OACRxhD,GAAU,IAAJuB,OAAQqwxB,EAAMpwuB,OAGfxhD,EAgDL,QAEE,MAAO,OA1Db,IAAyB4xxB,EACnB5xxB,CA2DN,EAEAgyC,EAAOC,QAAQ8khC,cAAgB,SAAUlz/B,EAAO99D,QAC9BN,IAAZM,IACFA,EAAU,CAAC,GAGb,IAAMkyjC,EAAM,IAAIgH,EAAgBp7/B,EAAO99D,EAAQy4tB,QAASz4tB,EAAQm5jC,iBAAkBn5jC,EAAQ4uB,IAAK5uB,EAAQ6yjC,eACvG,OAAIX,EAAIpo1B,QACC,KAGFoo1B,EAAItjiC,GACb,EAEAqd,EAAOC,QAAQolhC,eAAiB,SAAU1iiC,EAAK48C,GAC7C58C,EAAI48C,SAAWqr/B,EAAwBrr/B,EAAU4q/B,EACnD,EAEAnqhC,EAAOC,QAAQqlhC,eAAiB,SAAU3iiC,EAAK68C,GAC7C78C,EAAI68C,SAAWor/B,EAAwBpr/B,EAAU2q/B,EACnD,EAEAnqhC,EAAOC,QAAQilhC,cAAgBA,EAE/BllhC,EAAOC,QAAQslhC,gCAxvBf,SAAyC5iiC,GACvC,OAAoB,OAAbA,EAAI5S,MAA8B,KAAb4S,EAAI5S,MAAey1iC,EAAgB7iiC,IAAuB,SAAfA,EAAIizK,MAC7E,EAwvBA51J,EAAOC,QAAQulhC,gBAAkBA,EAEjCxlhC,EAAOC,QAAQklhC,iBAAmB,SAAUj3rB,GAC1C,OAAO1+X,OAAO0+X,EAChB,EAEAluV,EAAOC,QAAQ6khC,SAAW,SAAUjz/B,EAAO99D,GAMzC,YALgBN,IAAZM,IACFA,EAAU,CAAC,GAINisC,EAAOC,QAAQ8khC,cAAclz/B,EAAO,CAAE26pB,QAASz4tB,EAAQy4tB,QAAS0gW,iBAAkBn5jC,EAAQm5jC,kBACnG,C,kBC3tCa,IAAAtkjC,EAAAiZ,EAAA,gBAAAhvB,EAAA8kD,EAAAhtD,GAAA,IAAA6e,EAAA,oBAAAu8B,QAAA4R,EAAA5R,OAAA3wC,WAAAuiD,EAAA,kBAAAnuC,EAAA,IAAAhH,MAAAC,QAAAk1C,KAAAnuC,EAAA,SAAAmuC,EAAAtkD,GAAA,GAAAskD,EAAA,qBAAAA,EAAA,OAAAkhF,EAAAlhF,EAAAtkD,GAAA,IAAAmW,EAAA,GAAA3d,SAAA0B,KAAAoqD,GAAAh1C,MAAA,uBAAA6G,GAAAmuC,EAAArK,cAAA9jC,EAAAmuC,EAAArK,YAAA1iD,MAAA,QAAA4e,GAAA,QAAAA,EAAAhH,MAAA8wC,KAAAqE,GAAA,cAAAnuC,GAAA,2CAAAhb,KAAAgb,GAAAqvH,EAAAlhF,EAAAtkD,QAAA,GAAA6iZ,CAAAv+V,KAAAhtD,GAAAgtD,GAAA,iBAAAA,EAAAprD,OAAA,CAAAid,IAAAmuC,EAAAnuC,GAAA,IAAAksC,EAAA,EAAA3R,EAAA,oBAAAjxC,EAAAixC,EAAAhxC,EAAA,kBAAA2iD,GAAAiC,EAAAprD,OAAA,CAAAyG,MAAA,IAAAA,MAAA,EAAA5F,MAAAuqD,EAAAjC,KAAA,EAAA/qD,EAAA,SAAAgtD,GAAA,MAAAA,CAAA,EAAAzkD,EAAA6wC,EAAA,WAAA5E,UAAA,6IAAA2rB,EAAAz3D,GAAA,EAAA++D,GAAA,SAAAt/D,EAAA,WAAA0W,EAAAA,EAAAjc,KAAAoqD,EAAA,EAAA5kD,EAAA,eAAA4kD,EAAAnuC,EAAArP,OAAA,OAAA9G,EAAAskD,EAAA3kD,KAAA2kD,CAAA,EAAAhtD,EAAA,SAAAgtD,GAAAya,GAAA,EAAAtH,EAAAnT,CAAA,EAAAzkD,EAAA,eAAAG,GAAA,MAAAmW,EAAAgjT,QAAAhjT,EAAAgjT,QAAA,YAAAp6P,EAAA,MAAAtH,CAAA,aAAA+tE,EAAAlhF,EAAAtkD,IAAA,MAAAA,GAAAA,EAAAskD,EAAAprD,UAAA8G,EAAAskD,EAAAprD,QAAA,QAAA5B,EAAA,EAAAoI,EAAAyP,MAAAnP,GAAA1I,EAAA0I,EAAA1I,IAAAoI,EAAApI,GAAAgtD,EAAAhtD,GAAA,OAAAoI,CAAA,CACb,IAAAgzO,EAA6ClkN,EAAQ,OAA7CsniC,EAAUpj1B,EAAVoj1B,WAAYC,EAAoBrj1B,EAApBqj1B,qBACpB5qyB,EAAmF38P,EAAQ,OAAnF6jiC,EAAkBlnyB,EAAlBknyB,mBAAoBkF,EAAuBpsyB,EAAvBosyB,wBAAyBF,EAAyBlsyB,EAAzBksyB,0BAErD,SAASj+jC,EAAE+gF,GACT,OAAOA,EAAK60Q,YAAY,EAC1B,CAuFA,SAAS2ruB,EAA0BrwgC,EAAKrK,EAAMq3B,GAE5C,IADA,IAAI79E,EAAI6wD,EAAI5wD,QAAQumD,GACbxmD,GAAK,GACV6wD,EAAI7wD,GAAK69E,EACT79E,EAAI6wD,EAAI5wD,QAAQumD,EAAMxmD,EAAI,GAE5B,OAAO6wD,CACT,CAEA3d,EAAOC,QAAU,CACf0mhC,sBA/DF,SAA+B90/B,GAC7B,OAhCF,SAAyBA,GACvB,IAE6Bn/D,EAFvBkqnB,EAoER,SAAmCj/jB,EAAKqU,GAItC,IAHA,IAAM/zC,EAAO,GACT61B,EAAO,EACPhnD,EAAI6wD,EAAI5wD,QAAQilE,GACbllE,GAAK,GACVmxB,EAAKpsB,KAAK8rD,EAAIh7C,MAAMmxC,EAAMhnD,IAC1BgnD,EAAOhnD,EAAI,EACXA,EAAI6wD,EAAI5wD,QAAQilE,EAAIle,GAKtB,OAHIA,IAAS6J,EAAIpxD,QACf0xB,EAAKpsB,KAAK8rD,EAAIh7C,MAAMmxC,IAEf71B,CACT,CAjFoBgwiC,CAA0Bp8/B,EAAOplE,EAAE,MAC/CwtD,EAAS,GAAGrnD,EAAAC,EACE+pnB,GAAS,IAA7B,IAAAhqnB,EAAAE,MAAAJ,EAAAE,EAAAG,KAAAC,MAA+B,KAApBpG,EAAK8F,EAAAtF,MACd,GAAqB,IAAjBR,EAAML,OAAV,CAIA,IAAI3B,OAAI,EAAEwC,OAAK,EACT8gkC,EAAethkC,EAAMG,QAAQN,EAAE,MAEjCyhkC,GAAgB,GAClBtjkC,EAAOgC,EAAM+V,MAAM,EAAGurjC,GACtB9gkC,EAAQR,EAAM+V,MAAMurjC,EAAe,KAEnCtjkC,EAAOgC,EACPQ,EAAQ,IAAIP,WAAW,IAGzBjC,EAAOojkC,EAA0BpjkC,EAAM,GAAM,IAC7CwC,EAAQ4gkC,EAA0B5gkC,EAAO,GAAM,IAE/C,IAAM+gkC,EAAa/E,EAAqB1D,EAAmB96jC,IACrDwjkC,EAAchF,EAAqB1D,EAAmBt4jC,IAE5D6sD,EAAOpoD,KAAK,CAACs8jC,EAAYC,GAnBzB,CAoBF,CAAC,OAAAn7jC,GAAAL,EAAAjI,EAAAsI,EAAA,SAAAL,EAAAM,GAAA,CACD,OAAO+mD,CACT,CAISo0gC,CAAgBlF,EAAWt3/B,GACpC,EA8DEm2/B,oBA3DF,SAA6BsG,GAAsC,IAA9BpB,EAAgBn9jC,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,QAAG0D,EAClDuoD,EAAW,aACUvoD,IAArBy5jC,IAEFlxgC,EAAWkxgC,GAGb,IACyCrsjC,EADrCo5C,EAAS,GAAGn5C,EAAAjO,EACSy7jC,EAAOrtjC,WAAS,IAAzC,IAAAH,EAAAhO,MAAA+N,EAAAC,EAAA/N,KAAAC,MAA2C,KAAA6uG,EAAAj5F,EAAA/H,EAAAzT,MAAA,GAA/BN,EAAC+0G,EAAA,GAAE+9qB,EAAK/9qB,EAAA,GAGZj3G,EAAOggkC,EAAwBhrS,EAAM,GAAI8qS,GAA2B,GAEtEt9jC,EAAQwyxB,EAAM,GACdA,EAAMrzxB,OAAS,QAAkBkH,IAAbmsxB,EAAM,KACX,WAAbA,EAAM,IAA4B,cAATh1xB,EAC3BwC,EAAQ4uD,EACc,SAAb4juB,EAAM,KAEfxyxB,EAAQA,EAAMxC,OAIlBwC,EAAQw9jC,EAAwBx9jC,EAAOs9jC,GAA2B,GAExD,IAAN59jC,IACFmtD,GAAU,KAEZA,GAAU,GAAJ1qD,OAAO3E,EAAI,KAAA2E,OAAInC,EACvB,CAAC,OAAA6F,GAAA6N,EAAAnW,EAAAsI,EAAA,SAAA6N,EAAA5N,GAAA,CACD,OAAO+mD,CACT,E,kBC1EA,IAAArxC,EAAAiZ,EAAA,OAAA/nB,EAAA+nB,EAAA,OAAA6tsB,GAAA7tsB,EAAA,OAAAA,EAAA,gBAAAhvB,EAAA8kD,EAAAhtD,GAAA,IAAA6e,EAAA,oBAAAu8B,QAAA4R,EAAA5R,OAAA3wC,WAAAuiD,EAAA,kBAAAnuC,EAAA,IAAAhH,MAAAC,QAAAk1C,KAAAnuC,EAAA,SAAAmuC,EAAAtkD,GAAA,GAAAskD,EAAA,qBAAAA,EAAA,OAAAkhF,EAAAlhF,EAAAtkD,GAAA,IAAAmW,EAAA,GAAA3d,SAAA0B,KAAAoqD,GAAAh1C,MAAA,uBAAA6G,GAAAmuC,EAAArK,cAAA9jC,EAAAmuC,EAAArK,YAAA1iD,MAAA,QAAA4e,GAAA,QAAAA,EAAAhH,MAAA8wC,KAAAqE,GAAA,cAAAnuC,GAAA,2CAAAhb,KAAAgb,GAAAqvH,EAAAlhF,EAAAtkD,QAAA,GAAA6iZ,CAAAv+V,KAAAhtD,GAAAgtD,GAAA,iBAAAA,EAAAprD,OAAA,CAAAid,IAAAmuC,EAAAnuC,GAAA,IAAAksC,EAAA,EAAA3R,EAAA,oBAAAjxC,EAAAixC,EAAAhxC,EAAA,kBAAA2iD,GAAAiC,EAAAprD,OAAA,CAAAyG,MAAA,IAAAA,MAAA,EAAA5F,MAAAuqD,EAAAjC,KAAA,EAAA/qD,EAAA,SAAAgtD,GAAA,MAAAA,CAAA,EAAAzkD,EAAA6wC,EAAA,WAAA5E,UAAA,6IAAA2rB,EAAAz3D,GAAA,EAAA++D,GAAA,SAAAt/D,EAAA,WAAA0W,EAAAA,EAAAjc,KAAAoqD,EAAA,EAAA5kD,EAAA,eAAA4kD,EAAAnuC,EAAArP,OAAA,OAAA9G,EAAAskD,EAAA3kD,KAAA2kD,CAAA,EAAAhtD,EAAA,SAAAgtD,GAAAya,GAAA,EAAAtH,EAAAnT,CAAA,EAAAzkD,EAAA,eAAAG,GAAA,MAAAmW,EAAAgjT,QAAAhjT,EAAAgjT,QAAA,YAAAp6P,EAAA,MAAAtH,CAAA,aAAA+tE,EAAAlhF,EAAAtkD,IAAA,MAAAA,GAAAA,EAAAskD,EAAAprD,UAAA8G,EAAAskD,EAAAprD,QAAA,QAAA5B,EAAA,EAAAoI,EAAAyP,MAAAnP,GAAA1I,EAAA0I,EAAA1I,IAAAoI,EAAApI,GAAAgtD,EAAAhtD,GAAA,OAAAoI,CAAA,CAKA,IAAM46J,EAASvtH,SAASr0C,UAAUwB,KAAKmlE,KAAK5mE,OAAOC,UAAUwF,gBAqB7D,IAAMw0jC,EAAgBhghC,OAAO,WACvB8ghC,EAAa9ghC,OAAO,QACpBwohC,EAAmBxohC,OAAO,qBAC1B+ghC,EAAqB/ghC,OAAO21H,IAAI,oCAEhCmoiB,EAAyB/3sB,OAAOuhD,eAAevhD,OAAOuhD,eAAcqirB,EAAA51tB,EAAA+lI,KAAC,SAAA9lI,IAAA,OAAAD,EAAAiwC,KAAA,SAAA9vC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,wBAAAF,EAAAM,OAAA,EAAAR,EAAA,KAAuBhO,WAElG,SAAS27jC,EAAiBjz/B,GACxB,GAAIk5F,EAAOl5F,EAAcqy/B,GACvB,OAAOry/B,EAAaqy/B,GAGtB,IAAMW,EAAe37jC,OAAO85C,OAAO,MAKnC6hhC,EAAa,sBAAwBhz/B,EAAa3oE,OAAOC,UACzD07jC,EAAa,uBAAyB37jC,OAAOuhD,eAC3CvhD,OAAOuhD,gBAAe,IAAIonB,EAAajyD,OAAQujC,OAAO3wC,cAGxD,IACEqyjC,EAAa,4BAA8B37jC,OAAOuhD,eAChDvhD,OAAOuhD,eACLonB,EAAaytc,KAAK,2BAA2Bn2gB,WAGnD,CAAE,MAAAw8I,GACAk/6B,EAAa,4BAA8B5jX,CAC7C,CAGA,OADApvoB,EAAaqy/B,GAAsBW,EAC5BA,CACT,CAeA,SAAS+G,EAAel0rB,GACtB,OAAOA,EAAOA,EAAKyrrB,GAAiB,IACtC,CAEA,SAASoB,EAAejwgC,GACtB,OAAOA,EAAUA,EAAQ2vgC,GAAc,IACzC,CAYA,IAAMyB,EAAqBvihC,OAAO,YAiBlC,IAAM0ohC,EACF3ikC,OAAOu8C,yBAAyB17C,YAAYZ,UAAW,cAAcwG,IA0BzE,IAAMm8jC,EAAwB3ohC,OAAO,2BAC/B4ohC,EAA2B5ohC,OAAO,8BAClC6ohC,EAAuB7ohC,OAAO,0BAC9B8ohC,EAAyB9ohC,OAAO,4BAChC+ohC,EAAa/ohC,OAAO,wBACpBgphC,EAAgBhphC,OAAO,4BACvBiphC,EAAqBjphC,OAAO,iCAC5BkphC,EAAWlphC,OAAO,sBAClBmphC,EAAcnphC,OAAO,0BACrBophC,EAAmBpphC,OAAO,+BAC1BqphC,EAAcrphC,OAAO,yBAErBsphC,EAAoBtphC,OAAO,gDAC3BuphC,EAAsBvphC,OAAO,+BAC7BwphC,EAAoBxphC,OAAO,uCAC3ByphC,EAAmBzphC,OAAO,mCAEhC/F,EAAOC,QAAoB,CACzB82C,SA1JF,SAAkB3pF,GAChB,MAAyB,iBAAVA,GAAgC,OAAVA,GAAoC,mBAAVA,CACjE,EAyJEugK,SACA60K,OApJF,SAAgB3rU,EAAQ8sC,GAAQ,IACWjxC,EADXE,EAAAC,EACZg5C,QAAQE,QAAQpI,IAAO,IAAzC,IAAA/wC,EAAAE,MAAAJ,EAAAE,EAAAG,KAAAC,MAA2C,KAAhC3D,EAAGqD,EAAAtF,MACNy1N,EAAah3K,QAAQxD,yBAAyB1E,EAAQt0C,GAC5D,GAAIwzN,IAAeh3K,QAAQvJ,eAAezrC,EAAQxH,EAAKwzN,GACrD,MAAM,IAAI1jL,UAAU,6BAAD5vC,OAA8BC,OAAOH,IAE5D,CAAC,OAAA4D,GAAAL,EAAAjI,EAAAsI,EAAA,SAAAL,EAAAM,GAAA,CACH,EA8IEg1jC,iBA5IF,SAA0Bzz/B,EAAchzB,GACtC,IAAMgmhC,EAAeC,EAAiBjz/B,GACtC,OAAO3oE,OAAOg7C,iBACZh7C,OAAO85C,OAAO6hhC,EAAa,uBAC3B37jC,OAAOmgD,0BAA0BxK,GAErC,EAuIEskhC,gBACAc,aACAgB,cAnGF,SAAuB3wgC,EAAS11C,EAAMo8F,GAKpC,OAJK1mD,EAAQq3gC,KACXr3gC,EAAQq3gC,GAAoBzikC,OAAO85C,OAAO,OAGxCpkC,KAAQ01C,EAAQq3gC,KAIpBr3gC,EAAQq3gC,GAAkB/sjC,GAAQo8F,KAHzB1mD,EAAQq3gC,GAAkB/sjC,EAKrC,EAyFEsljC,qBACAY,mBACA8G,iBACArH,iBACArB,kBAnFF,SAA2BxrrB,GACzB,IAAMpjV,EAAUs3gC,EAAel0rB,GAC/B,OAAOpjV,GAAoBojV,CAC7B,EAiFEm1rB,kBA/EF,SAA2Bv4gC,GACzB,IAAMojV,EAAO6srB,EAAejwgC,GAC5B,OAAOojV,GAAcpjV,CACvB,EA6EEoxgC,qBACA3lgB,cAzDF,SAAuBv1jB,GACrB,IAEE,OADAqhkC,EAAiBlhkC,KAAKH,IACf,CACT,CAAE,MAAOzC,GACP,OAAO,CACT,CACF,EAmDE+kkC,qBA3EF,SAA8B1shC,GAC5B,GAAiB,iBAANA,EACT,OAAO,EAET,IAAMl2C,EAAIk2C,IAAM,EAChB,OAAIl2C,IAAM2d,KAAAowC,IAAA,EAAK,IAAK,GAIhB7X,IADM,GAAHzzC,OAAMzC,EAKf,EA+DE4hkC,wBACAC,2BACAC,uBACAC,yBACAC,aACAC,gBACAC,qBACAC,WACAC,cACAC,mBACAC,cACAC,oBACAC,sBACAC,oBACAC,mBACAxG,eAjEF,SAAuB5tjC,EAAe+yC,GAAM,IACtCngD,EADsC6N,EAAA+M,EAAAxN,EAAA,GAAnB/L,EAAGwM,EAAA,GAAEzO,EAAKyO,EAAA,GAEjC,OAAQsyC,GACN,IAAK,MACHngD,EAASqB,EACT,MACF,IAAK,QACHrB,EAASZ,EACT,MACF,IAAK,YACHY,EAAS,CAACqB,EAAKjC,GAGnB,MAAO,CAAEA,MAAOY,EAAQgF,MAAM,EAChC,E,kBCvIA,IAAMwwB,EAAM3B,EAAQ,OACdolsB,EAAkBplsB,EAAQ,OAEhCoe,EAAQzc,IAAMA,EACdyc,EAAQgnrB,gBAAkBA,C,kBCJ1B,IAAIjmsB,EAAUa,EAAQ,OAClB8tiC,EAAuB9tiC,EAAQ,OAC/Bmwc,EAAWnwc,EAAQ,MACnB8xhB,EAAY9xhB,EAAQ,OACpBumB,EAAOvmB,EAAQ,OACf2/e,EAAW3/e,EAAQ,MAEnB6xhB,EAAYC,EAAU,6BACtBF,EAAiB5xhB,EAAQ,MAARA,GAEjBm9M,EAA0B,oBAAfv7F,WAA6BtjG,EAAAA,EAASsjG,WACjDms7B,EAAcD,IAEd51Z,EAASpmH,EAAU,0BAGnB1hF,EAAW0hF,EAAU,2BAA2B,IAAS,SAAiB3wiB,EAAO5V,GACpF,IAAK,IAAIN,EAAI,EAAGA,EAAIkW,EAAMzW,OAAQO,GAAK,EACtC,GAAIkW,EAAMlW,KAAOM,EAChB,OAAON,EAGT,OAAQ,CACT,EAII6T,EAAQ,CAAE66C,UAAW,MAExBx6B,EAAQ4uiC,EADLn8gB,GAAkBrrgB,GAAQo5d,EACR,SAAUtob,GAC9B,IAAIphC,EAAM,IAAIknL,EAAE9lJ,GAChB,GAAInzC,OAAOqvB,eAAetd,GAAO0pd,EAAU,CAC1C,IAAIpzd,EAAQozd,EAAS1pd,GAEjB+qK,EAAaz6K,EAAKgG,EAAOrI,OAAOqvB,aACpC,IAAKytJ,GAAcz0K,EAAO,CACzB,IAAIyhhC,EAAarujB,EAASpzd,GAE1By0K,EAAaz6K,EAAKynhC,EAAY9phC,OAAOqvB,YACtC,CACA,GAAIytJ,GAAcA,EAAWtwN,IAAK,CACjC,IAAIurgB,EAAQ9rC,EAASnvQ,EAAWtwN,KAChCoO,EACkD,IAAMu4E,GACpD4kb,CACL,CACD,CACD,EAEqB,SAAU5kb,GAC9B,IAAIphC,EAAM,IAAIknL,EAAE9lJ,GACZx+E,EAAKo9C,EAAIn1C,OAASm1C,EAAIxlD,IAC1B,GAAIoI,EAAI,CACP,IAAIojgB,EAEH9rC,EAASt3d,GAEViG,EACkD,IAAMu4E,GACpD4kb,CACL,CACD,GA0CD99d,EAAOC,QAAU,SAAyB7yC,GACzC,IAAKA,GAA0B,iBAAVA,EAAsB,OAAO,EAClD,IAAKqmjB,EAAgB,CAEpB,IAAIptgB,EAAM0znB,EAAOrmH,EAAUtmjB,GAAQ,GAAI,GACvC,OAAI6ke,EAAS29lB,EAAavphC,IAAQ,EAC1BA,EAEI,WAARA,GA1BU,SAAsBj5C,GACU,IAAI0wD,GAAQ,EAa3D,OAZA98B,EACkErgB,EACgB,SAAU2he,EAAQ13e,GAClG,IAAKkzD,EACJ,IAECwkb,EAAOl1e,GACP0wD,EAAmDi8mB,EAAOnvqB,EAAM,EACjE,CAAE,MAAOD,GAAS,CAEpB,GAEMmzD,CACR,CAeSgygC,CAAU1ikC,EAClB,CACA,OAAKg7C,EApDe,SAA2Bh7C,GACK,IAAI0wD,GAAQ,EAehE,OAdA98B,EACmErgB,EAElE,SAAU2he,EAAQppZ,GACjB,IAAKp7B,EACJ,IAEK,IAAMwkb,EAAOl1e,KAAW8rF,IAC3Bp7B,EAAmDi8mB,EAAO7glB,EAAY,GAExE,CAAE,MAAOvuF,GAAS,CAEpB,GAEMmzD,CACR,CAoCQiygC,CAAe3ikC,GADF,IAErB,C,YCzHA4yC,EAAOC,QAIP,WAGI,IAFA,IAAIppC,EAAS,CAAC,EAEL/J,EAAI,EAAGA,EAAIiD,UAAUxD,OAAQO,IAAK,CACvC,IAAI62C,EAAS5zC,UAAUjD,GAEvB,IAAK,IAAIuC,KAAOs0C,EACRpyC,EAAehE,KAAKo2C,EAAQt0C,KAC5BwH,EAAOxH,GAAOs0C,EAAOt0C,GAGjC,CAEA,OAAOwH,CACX,EAhBA,IAAItF,EAAiBzF,OAAOC,UAAUwF,c,sBCFhCy+jC,EAAanuiC,EAAAA,OAAAA,EAQnB,SAASwtG,EAAUtzE,GACjB,IAAMk0gC,EAASD,EAAWj0gC,GAE1B,MAAO,GAAPxsD,OAAU0gkC,EAAO9xgC,OAAO,EAAG,GAAG1wC,eAAale,OAAG0gkC,EAAO9xgC,OAAO,GAC9D,CAEAle,EAAQ,EAAUovF,C,kBCdlB,IAAM6g8B,EAAWruiC,EAAAA,OAAAA,EAejB,SAASsuiC,EAASp0gC,GAAwF,IAAA7iD,EAAAnJ,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAJ,CAAC,EAACqgkC,EAAAl3jC,EAA5E2xN,UAAAA,OAAS,IAAAul2B,EAAG,WAAUA,EAAAC,EAAAn3jC,EAAEo3jC,oBAAAA,OAAmB,IAAAD,GAAOA,EAAAE,EAAAr3jC,EAAEs3jC,WAAAA,OAAU,IAAAD,GAAOA,EAE5FE,GADgBD,EAAaz0gC,EAAOgJ,OAAShJ,GAAQrgB,MAAMmvL,GACzB3tN,IAAI,SAAAqwO,GAAI,OAAI2i1B,EAAS3i1B,EAAM,GAAG,GAcpE,OAZAkj1B,EAAuBA,EAAqB52gC,KAAK,KAAKpsC,cAGlD6ijC,IACHG,EAAuBA,EAAqBjjjC,QAAQ,OAAQ,MAIzDgjjC,IACHC,EAAuBA,EAAqBjjjC,QAAQ,UAAW,KAGzDijjC,CACR,CACAxwhC,EAAQ,EAAWkwhC,EACnBlwhC,EAAQ,EAAUkwhC,C,sBClCZ9g8B,EAAYxtG,EAAAA,OAAAA,EACZsuiC,EAAWtuiC,EAAAA,OAAAA,EACXmuiC,EAAanuiC,EAAAA,OAAAA,EACbquiC,EAAWruiC,EAAAA,OAAAA,EACXyzD,EAAUzzD,EAAAA,OAAAA,EACV6tG,EAAY7tG,EAAAA,MAAAA,EACZ6uiC,EAAY7uiC,EAAAA,OAAAA,EACZ22oB,EAAU32oB,EAAAA,OAAAA,EACV8uiC,EAAU9uiC,EAAAA,OAAAA,EACV+uiC,EAAsB/uiC,EAAAA,OAAAA,EAgB5Boe,EAAQ,GAAWkwhC,EAMnBlwhC,EAAQ,GAAYywhC,C,sBC/BdC,EAAU9uiC,EAAAA,OAAAA,EAUhB,SAASmuiC,EAAWj0gC,GAAgC,IAAxB8uK,EAAS96N,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,WAEtC,OADkB4gkC,EAAQ50gC,EAAOrgB,MAAMmvL,GAAWhxK,KAAK,KAAM,KAC5Cne,MAAM,KAAKme,KAAK,GACnC,CAEA5Z,EAAQ,EAAU+vhC,C,gBCPlB,SAASE,EAASn0gC,GAAuB,IAAf8uK,EAAS96N,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAC,IAClC,OAAOgsD,EAAOvuC,QAAQ,aAAcq9M,GAAW9lK,MACjD,CAEA9kB,EAAQ,EAAUiwhC,C,sBCZZC,EAAWtuiC,EAAAA,OAAAA,EACX+uiC,EAAsB/uiC,EAAAA,OAAAA,EAU5B,SAASyzD,EAAQv5B,GAAyB,IAAjB8uK,EAAS96N,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,IACpC,OAAOogkC,EAASS,EAAoB70gC,GAAS,CAAE8uK,aAChD,CAEA5qL,EAAQ,EAAUq1C,C,qBCfZ46+B,EAAWruiC,EAAAA,OAAAA,EAUjB,SAAS6tG,EAAU3zE,GAAgC,IAAxB8uK,EAAS96N,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,WAErC,OADYgsD,EAAOgJ,OAAOrpB,MAAMmvL,GAAW3tN,IAAI,SAAAqwO,GAAI,OAAI2i1B,EAAS3i1B,EAAM,IAAI,GAC7D1zL,KAAK,KAAKpsC,cAAcD,QAAQ,OAAQ,IACvD,CAEAyyB,EAAQ,EAAUyvF,C,kBCflB,IAAM8oiB,EAAU32oB,EAAAA,OAAAA,EAQhB,SAAS6uiC,EAAU30gC,EAAQ8/e,GAC1B,QAAsB,IAAX9/e,EACV,MAAO,GAER,IAAM80gC,EAAiB,CACtB,IACA,KACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,MACA,KACA,MAGGC,EAAc,CACjB,MACA,MACA,QAGGj1hB,IACHi1hB,EAAcA,EAAYvhkC,OAAOssiB,IAGlC,IAAIk1hB,EAAYh1gC,GAAU,GAe1B,OATCg1gC,EAJGh1gC,IAAWA,EAAOh2C,SAAS,MAAQg2C,EAAOh2C,SAAS,OAEtDgrjC,EAAYA,EAAUvjjC,QAAQ,KAAM,MAEdA,QAAQ,KAAM,MAIpCujjC,EAAYv4Z,EAAQu4Z,IAEEvjjC,QAAQ,UAAW,MAIxCkuB,MAAM,KACNx+B,IAAI,SAAAqwO,GACJ,IAAMyj1B,EAAgBzj1B,EAAK9/N,cACrBwjjC,EAAgB1j1B,EAAKr4J,cAE3B,OAAI27+B,EAAe9qjC,SAASirjC,GACpBA,EACGF,EAAY/qjC,SAASkrjC,GACxBA,EAED1j1B,EACL9/N,cACAD,QAAQ,QAAS,SAAC9e,EAAO4j7B,GAAI,MAAK,GAAA/i7B,OAAG+i7B,GAAOp91B,aAAa,EAC5D,GACCr7B,KAAK,IACR,CACA5Z,EAAQ,EAAYywhC,EACpBzwhC,EAAQ,EAAUywhC,C,gBC5DlB,SAASl4Z,EAAQz8mB,GAAyB,IAAjB8uK,EAAS96N,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,IACnC,GAAG86N,EAAUn8N,MAAM,eACjB,MAAM,IAAIjB,MAAM,mCAElB,IAAIyjkC,EAAmB,IAAI56/B,OAAO,UAAD/mE,OAAWs7N,EAAS,UAAU,KAC3Dsm2B,EAAoB,IAAI76/B,OAAO,IAAD/mE,OAAKs7N,EAAS,KAAK,KACjDum2B,EAAoB,IAAI96/B,OAAO,GAAD/mE,OAAIs7N,EAAS,MAAM,KAEjDwm2B,EAAYt1gC,EAAOvuC,QAAQ,kBAAmB,SAAC9e,EAAO4j7B,GAAI,SAAA/i7B,OAAQs7N,GAASt7N,OAAG+i7B,EAAI,GAQtF,MAPkB,GAAA/i7B,OAAG8hkC,EAAS,KAAI7jjC,QAAQ0jjC,EAAkB,SAACxikC,EAAO4j7B,GAClE,MAAO,GAAP/i7B,OAAU+i7B,EAAK9k6B,QAAQ,UAAW,IAAIu3C,OACxC,GACmCv3C,QAAQ,oBAAqB,SAAC9e,EAAO4j7B,GACtE,MAAO,GAAP/i7B,OAAU+i7B,EAAKn03B,OAAO,EAAGm03B,EAAK/l7B,OAAO,IAAEgD,OAAGs7N,GAASt7N,OAAG+i7B,EAAK3v6B,OAAO,GACpE,GAEc6K,QAAQ2jjC,EAAmB,IAAI3jjC,QAAQ4jjC,EAAmB,IAAIrsgC,MAC9E,CAEA9kB,EAAQ,EAAUu4nB,C,gBCrBlB,SAASm4Z,EAAQ50gC,GAAgC,IAAxB8uK,EAAS96N,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,WACnC,OAAOgsD,EAAOtuC,cAAciuB,MAAMmvL,GAAW3tN,IAAI,SAACqwO,GAChD,MAAO,GAAPh+O,OAAUg+O,EAAKpvL,OAAO,EAAG,GAAG+2B,eAAa3lF,OAAGg+O,EAAKpvL,OAAO,GAC1D,GAAGtE,KAAK,KAAKrsC,QAAQ,QAAS,IAChC,CAEAyyB,EAAQ,EAAU0whC,C,sBCdZj4Z,EAAgB72oB,EAAQ,OACxBquiC,EAAWruiC,EAAAA,OAAAA,EAUjB,SAAS+uiC,EAAoB70gC,GAAuB,IAAf8uK,EAAS96N,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAC,IAC7C,OAAOmgkC,EAASn0gC,EAAOvuC,QAAQ,YAAa,SAAC9e,EAAO4j7B,GAAI,UAAA/i7B,OAASmpqB,EAAcF,QAAQ85Q,GAAK,OAAKvt3B,OAAQ8lK,EAC3G,CAEA5qL,EAAQ,EAAU2whC,C,mFCZdU,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,gOAAiO,KAE1Q,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,+nhBAA8ohB,KAEvrhB,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,8yxBAAqzxB,KAE91xB,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,oOAAuO,KAEhR,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,8NAA+N,KAExQ,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,qHAAsH,KAE/J,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,y9dAAs+d,KAE/ge,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,y5gCAA87gC,KAEv+gC,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,k2/BAAu4/B,KAEh7/B,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,koiBAAmpiB,KAE5riB,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,+gsCAA0jsC,KAEnmsC,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,oaAAua,KAEhd,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,6lnCAAgmnC,KAEzonC,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,6lnCAAgmnC,KAEzonC,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,0oUAAipU,KAE1rU,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,srGAAyrG,KAEluG,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,0uLAA6uL,KAEtxL,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,k2BAAq2B,KAE94B,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,6ZAAga,KAEzc,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,otEAA2tE,KAEpwE,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,+2NAAg3N,KAEz5N,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,y98DAAw+8D,KAEjh9D,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,kthFAA2thF,KAEpwhF,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,wlVAA2mV,KAEppV,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,ixiBAA0xiB,KAEn0iB,S,iFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,6lRAAomR,KAE7oR,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,kv2BAA+v2B,KAExy2B,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,q/OAAw/O,KAEjiP,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,m7gDAAs7gD,KAE/9gD,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,og6IAAug6I,KAEhj6I,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,y22DAAo32D,KAE752D,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,ifAAof,KAE7hB,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,+wCAAkxC,KAE3zC,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,wvFAA+vF,KAExyF,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,8sYAAuuY,KAEhxY,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,8tZAAquZ,KAE9wZ,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,m9BAA09B,KAEngC,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,o5nBAA65nB,KAEt8nB,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,8qPAAirP,KAE1tP,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,mo+BAAwp+B,KAEjs+B,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,yrQAAgsQ,KAEzuQ,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,6sCAAgtC,KAEzvC,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,8VAAiW,KAE1Y,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,6nJAAooJ,KAE7qJ,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,+4xBAAk6xB,KAE38xB,S,iFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,m8RAAk9R,KAE3/R,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,40oGAAm2oG,KAE54oG,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,g6sCAAu6sC,KAEh9sC,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,smDAAymD,KAElpD,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,qeAAse,KAE/gB,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,0ksCAA6lsC,KAEtosC,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,4nBAA+nB,KAExqB,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,uh3CAA4i3C,KAErl3C,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,00qCAA61qC,KAEt4qC,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,6YAA8Y,KAEvb,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,u3JAAk4J,KAE36J,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,kwOAA2wO,KAEpzO,S,kFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,4tMAAquM,KAE9wM,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,osKAAitK,KAE1vK,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,ygxDAAshxD,KAE/jxD,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,kygBAAqygB,KAE90gB,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,4kBAA+kB,KAExnB,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,0rDAA6rD,KAEtuD,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,qrEAAwrE,KAEjuE,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,8jCAAikC,KAE1mC,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,kDAAmD,KAE5F,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,8uBAAivB,KAE1xB,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,u9IAA49I,KAErgJ,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,02BAA62B,KAEt5B,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,k2FAAu2F,KAEh5F,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,82FAAi3F,KAE15F,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,qvEAA0vE,KAEnyE,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,qtCAAwtC,KAEjwC,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,8uXAAuvX,KAEhyX,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,86VAAm7V,KAE59V,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,soQAA+oQ,KAExrQ,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,ywtBAAwxtB,KAEj0tB,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,kuXAAuuX,KAEhxX,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,kvUAA6vU,KAEtyU,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,glpDAA6mpD,KAEtppD,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,w7vCAAm+vC,KAE5gwC,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,i3pCAAo4pC,KAE76pC,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,kxrBAAmyrB,KAE50rB,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,2slBAAwtlB,KAEjwlB,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,i3dAAo4d,KAE76d,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,qCAAsC,KAE/E,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,oXAAuX,KAEha,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,m1LAA41L,KAEr4L,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,s8EAAy8E,KAEl/E,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,o59HAA+69H,KAEx99H,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,okOAA2kO,KAEpnO,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,07EAAi8E,KAE1+E,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,ii5DAA8j5D,KAEvm5D,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,i5BAAo5B,KAE77B,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,mupGAAwvpG,KAEjypG,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,iIAAkI,KAE3K,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,0zUAA60U,KAEt3U,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,27FAA87F,KAEv+F,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,o2FAAu2F,KAEh5F,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,0iBAA6iB,KAEtlB,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,6aAAgb,KAEzd,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,29DAA89D,KAEvgE,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,mRAAsR,KAE/T,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,6aAAgb,KAEzd,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,qdAAwd,KAEjgB,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,ongBAA+ngB,KAExqgB,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,iYAAoY,KAE7a,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,sx9CAAyy9C,KAEl19C,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,mikBAA0ikB,KAEnlkB,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,s1eAA+1e,KAEx4e,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,geAAqe,KAE9gB,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,iYAAoY,KAE7a,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,guDAAmuD,KAE5wD,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,y4EAA+4E,KAEx7E,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,iSAAoS,KAE7U,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,yRAA4R,KAErU,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,2oBAA8oB,KAEvrB,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,+GAAgH,KAEzJ,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,+aAAkb,KAE3d,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,ysaAAkta,KAE3va,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,wFAAyF,KAElI,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,wkhBAA2lhB,KAEpohB,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,w7BAA27B,KAEp+B,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,kSAAqS,KAE9U,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,8OAA+O,KAExR,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,m8JAAs+J,KAE/gK,S,mFCJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,4gEAA+gE,KAExjE,S,uGCHIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,slbAAulb,KAEhob,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,k6aAAm6a,KAE58a,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,46VAA66V,KAEt9V,S,mFCNIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,igbAAwgb,KAEjjb,S,uGCHIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,81vBAAi3vB,KAE15vB,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,orPAAqrP,KAE9tP,S,sGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,i/RAAk/R,KAE3hS,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,w6QAAy6Q,KAEl9Q,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,s4OAAu4O,KAEh7O,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,wzPAAyzP,KAEl2P,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,upOAAwpO,KAEjsO,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,wjTAA2jT,KAEpmT,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,wvOAAyvO,KAElyO,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,6zOAA8zO,KAEv2O,S,sGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,u/XAAw/X,KAEjiY,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,q+PAAs+P,KAE/gQ,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,u5eAAw5e,KAEj8e,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,4wQAA6wQ,KAEtzQ,S,kHCJIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1BwkkC,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,g1WAAi1W,KAE13W,S,sGCPIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,o5PAAq5P,KAE97P,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,4qRAAirR,KAE1tR,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,0jQAA+jQ,KAExmQ,S,kHCJIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1BwkkC,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,q9OAAs9O,KAE//O,S,uGCPIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,8gOAA+gO,KAExjO,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,qjWAAsjW,KAE/lW,S,kHCJIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1BwkkC,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,+8fAAs9f,KAE//f,S,uGCPIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,owOAAqwO,KAE9yO,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,grPAAmrP,KAE5tP,S,kHCJIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1BwkkC,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,kghBAAughB,KAEhjhB,S,uGCPIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,uzQAAwzQ,KAEj2Q,S,sGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,22TAA42T,KAEr5T,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,0gTAA2gT,KAEpjT,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,2tVAA+tV,KAExwV,S,sGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,wtPAAytP,KAElwP,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,m3aAAo3a,KAE75a,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,62aAA82a,KAEv5a,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,kmQAAmmQ,KAE5oQ,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,k9OAAm9O,KAE5/O,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,w0PAAy0P,KAEl3P,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,iwPAAkwP,KAE3yP,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,43QAA63Q,KAEt6Q,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,y5XAA05X,KAEn8X,S,sGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,61OAA81O,KAEv4O,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,ksOAAmsO,KAE5uO,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,8yOAA+yO,KAEx1O,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,g/bAAm/b,KAE5hc,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,y1RAA81R,KAEv4R,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,8mTAAinT,KAE1pT,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,ggaAAmga,KAE5ia,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,yqcAA0qc,KAEntc,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,imTAAkmT,KAE3oT,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,o0OAAq0O,KAE92O,S,mFCNIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,goMAAmoM,KAE5qM,S,uGCHIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,84OAA+4O,KAEx7O,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,yxPAA0xP,KAEn0P,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,w9QAAm+Q,KAE5gR,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,qpPAAspP,KAE/rP,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,i9PAAi9P,KAE1/P,S,sGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,u5RAAw5R,KAEj8R,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,unUAAwnU,KAEjqU,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,y3PAA03P,KAEn6P,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,45RAA45R,KAEr8R,S,qGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,qqzBAAkrzB,KAE3tzB,S,sGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,qmaAAsma,KAE/oa,S,sGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,mzgBAAwzgB,KAEj2gB,S,2HCJIyhjC,EAAgC,IAAI/tiC,IAAI,cACxC8tiC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1B,IAAI0kkC,EAAqC,IAAgCD,GAEzED,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,u8VAAy8V0hjC,EAAqC,kmOAAqmO,KAE5nkB,S,sGCRIF,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,yidAA8id,KAEvld,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,q/OAAs/O,KAE/hP,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,slgBAAulgB,KAEhogB,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,68PAA88P,KAEv/P,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,ygTAA0gT,KAEnjT,S,2HCJIyhjC,EAAgC,IAAI/tiC,IAAI,cACxC8tiC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1B,IAAI0kkC,EAAqC,IAAgCD,GAEzED,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,w/HAA0/H0hjC,EAAqC,yijBAA4ijB,KAEpnrB,S,uGCRIF,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,qqPAAwqP,KAEjtP,S,sGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,wwOAAywO,KAElzO,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,ipUAAkpU,KAE3rU,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,qgRAAsgR,KAE/iR,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,yuPAA0uP,KAEnxP,S,sGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,q2fAAw2f,KAEj5f,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,o3WAAq3W,KAE95W,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,w0SAAy0S,KAEl3S,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,kkYAAmkY,KAE5mY,S,sGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,kmXAAmmX,KAE5oX,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,+/RAAggS,KAEziS,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,o5QAAq5Q,KAE97Q,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,+/ZAAgga,KAEzia,S,sGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,qodAAsod,KAE/qd,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,0yQAA2yQ,KAEp1Q,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,mojBAAoojB,KAE7qjB,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,igOAAkgO,KAE3iO,S,sGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,i9PAAk9P,KAE3/P,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,2+RAA4+R,KAErhS,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,o4OAAq4O,KAE96O,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,0mQAA6mQ,KAEtpQ,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,+9QAAk+Q,KAE3gR,S,kHCJIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1BwkkC,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,o8nBAAq8nB,KAE9+nB,S,sGCPIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,ixOAAkxO,KAE3zO,S,iHCJIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1BwkkC,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,mzWAAozW,KAE71W,S,uGCPIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,qrOAAsrO,KAE/tO,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,+jSAAkkS,KAE3mS,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,snmBAA2nmB,KAEpqmB,S,mFCNIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,y4cAA44c,KAEr7c,S,uGCHIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,4zTAAi0T,KAE12T,S,kHCJIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1BwkkC,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,g5XAAi5X,KAE17X,S,uGCPIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,oyRAAqyR,KAE90R,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,qvOAAsvO,KAE/xO,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,0tPAA2tP,KAEpwP,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,o0QAAq0Q,KAE92Q,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,ysZAA4sZ,KAErvZ,S,sGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,kmQAAmmQ,KAE5oQ,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,i+QAAk+Q,KAE3gR,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,miOAAoiO,KAE7kO,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,6iSAAkjS,KAE3lS,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,2sPAA8sP,KAEvvP,S,sGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,oiZAAyiZ,KAEllZ,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,68QAA88Q,KAEv/Q,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,s3PAAu3P,KAEh6P,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,+pOAAgqO,KAEzsO,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,y6PAA06P,KAEn9P,S,sGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,q5lBAA85lB,KAEv8lB,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,u5RAAw5R,KAEj8R,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,m+aAAo+a,KAE7gb,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,w0gBAAy0gB,KAEl3gB,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,q4VAA04V,KAEn7V,S,kHCJIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1BwkkC,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,6saAA8sa,KAEvva,S,uGCPIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,ygXAA0gX,KAEnjX,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,u6XAAw6X,KAEj9X,S,sGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,okPAAqkP,KAE9mP,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,4iRAA6iR,KAEtlR,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,g0PAAi0P,KAE12P,S,kHCJIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1BwkkC,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,8qYAA+qY,KAExtY,S,kHCNIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1BwkkC,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,goaAAioa,KAE1qa,S,sICLIyhjC,EAAgC,IAAI/tiC,IAAI,cACxCiuiC,EAAgC,IAAIjuiC,IAAI,cACxC8tiC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1BwkkC,EAAwBxkkC,EAAE,KAC1B,IAAI0kkC,EAAqC,IAAgCD,GACrEG,EAAqC,IAAgCD,GAEzEH,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,qggBAAuggB0hjC,EAAqC,mRAAqRE,EAAqC,o1JAAq1J,KAEpuqB,S,kHCXIJ,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1BwkkC,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,ksZAAmsZ,KAE5uZ,S,uGCPIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,unZAAwnZ,KAEjqZ,S,sICHIyhjC,EAAgC,IAAI/tiC,IAAI,cACxC8tiC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1BwkkC,EAAwBxkkC,EAAE,KAC1B,IAAI0kkC,EAAqC,IAAgCD,GAEzED,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,qgYAAygY0hjC,EAAqC,wwJAAywJ,KAEh2hB,S,uGCVIF,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,smaAAuma,KAEhpa,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,gyRAAiyR,KAE10R,S,2HCJIyhjC,EAAgC,IAAI/tiC,IAAI,cACxCiuiC,EAAgC,IAAIjuiC,IAAI,aACxC8tiC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1B,IAAI0kkC,EAAqC,IAAgCD,GACrEG,EAAqC,IAAgCD,GAEzEH,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,y7VAA27V0hjC,EAAqC,gqLAAkqLE,EAAqC,0/HAA6/H,KAE7spB,S,uGCVIJ,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,kmUAAmmU,KAE5oU,S,kHCJIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1BwkkC,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,8yhBAAmzhB,KAE51hB,S,kHCNIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1BwkkC,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,+0YAAg1Y,KAEz3Y,S,2HCNIyhjC,EAAgC,IAAI/tiC,IAAI,cACxC8tiC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1B,IAAI0kkC,EAAqC,IAAgCD,GAEzED,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,y7VAA27V0hjC,EAAqC,6kNAAglN,KAEzljB,S,sICNID,EAAgC,IAAI/tiC,IAAI,cACxC8tiC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1BwkkC,EAAwBxkkC,EAAE,KAC1B,IAAI0kkC,EAAqC,IAAgCD,GAEzED,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,w/HAA0/H0hjC,EAAqC,owtBAAuwtB,KAE/01B,S,uGCVIF,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,ivPAAkvP,KAE3xP,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,80bAA+0b,KAEx3b,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,4mbAA6mb,KAEtpb,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,kjSAAmjS,KAE5lS,S,2HCJIyhjC,EAAgC,IAAI/tiC,IAAI,cACxC8tiC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1B,IAAI0kkC,EAAqC,IAAgCD,GAEzED,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,u8VAAy8V0hjC,EAAqC,qrLAAwrL,KAE/shB,S,kHCPIF,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1BwkkC,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,0hkBAAiikB,KAE1kkB,S,2HCNIyhjC,EAAgC,IAAI/tiC,IAAI,cACxC8tiC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1B,IAAI0kkC,EAAqC,IAAgCD,GAEzED,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,y7VAA27V0hjC,EAAqC,m0LAAs0L,KAE/0hB,S,kHCPIF,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1BwkkC,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,m/XAAo/X,KAE7hY,S,2HCNIyhjC,EAAgC,IAAI/tiC,IAAI,cACxC8tiC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1B,IAAI0kkC,EAAqC,IAAgCD,GAEzED,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,y7VAA27V0hjC,EAAqC,s+YAAy+Y,KAEl/uB,S,2HCPID,EAAgC,IAAI/tiC,IAAI,cACxC8tiC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1B,IAAI0kkC,EAAqC,IAAgCD,GAEzED,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,y7VAA27V0hjC,EAAqC,4+OAA++O,KAEx/kB,S,2HCPID,EAAgC,IAAI/tiC,IAAI,cACxC8tiC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1B,IAAI0kkC,EAAqC,IAAgCD,GAEzED,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,snYAAwnY0hjC,EAAqC,w2WAA22W,KAEjjvB,S,uGCRIF,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,svRAAuvR,KAEhyR,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,w2jBAAi3jB,KAE15jB,S,sICHIyhjC,EAAgC,IAAI/tiC,IAAI,cACxCiuiC,EAAgC,IAAIjuiC,IAAI,cACxC8tiC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1BwkkC,EAAwBxkkC,EAAE,KAC1B,IAAI0kkC,EAAqC,IAAgCD,GACrEG,EAAqC,IAAgCD,GAEzEH,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,i8WAAm8W0hjC,EAAqC,kwMAAowME,EAAqC,80uBAAy1uB,KAEnpyC,S,uGCZIJ,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,s+NAAu+N,KAEhhO,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,6lQAAomQ,KAE7oQ,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,+k9BAAgl9B,KAEzn9B,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,q8OAAs8O,KAE/+O,S,2HCJIyhjC,EAAgC,IAAI/tiC,IAAI,cACxC8tiC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1B,IAAI0kkC,EAAqC,IAAgCD,GAEzED,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,y7VAA27V0hjC,EAAqC,quYAAwuY,KAEjvuB,S,kHCPIF,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1BwkkC,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,8yhBAAmzhB,KAE51hB,S,2HCNIyhjC,EAAgC,IAAI/tiC,IAAI,cACxCiuiC,EAAgC,IAAIjuiC,IAAI,cACxC8tiC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1B,IAAI0kkC,EAAqC,IAAgCD,GACrEG,EAAqC,IAAgCD,GAEzEH,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,u8VAAy8V0hjC,EAAqC,20aAA+0aE,EAAqC,wlEAA2lE,KAEt+0B,S,2HCTIH,EAAgC,IAAI/tiC,IAAI,cACxC8tiC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1B,IAAI0kkC,EAAqC,IAAgCD,GAEzED,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,y7VAA27V0hjC,EAAqC,qmQAAwmQ,KAEjnmB,S,0HCPID,EAAgC,IAAI/tiC,IAAI,cACxC8tiC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1B,IAAI0kkC,EAAqC,IAAgCD,GAEzED,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,4kTAA8kT0hjC,EAAqC,m4DAAs4D,KAEliX,S,2HCPID,EAAgC,IAAI/tiC,IAAI,cACxC8tiC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1B,IAAI0kkC,EAAqC,IAAgCD,GAEzED,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,u8VAAy8V0hjC,EAAqC,+qVAAkrV,KAEzsrB,S,kHCPIF,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1BwkkC,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,87WAA+7W,KAEx+W,S,uGCPIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,g9aAAi9a,KAE1/a,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,olwBAAulwB,KAEhowB,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,y5QAA05Q,KAEn8Q,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,i3UAAk3U,KAE35U,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,siPAAuiP,KAEhlP,S,2HCJIyhjC,EAAgC,IAAI/tiC,IAAI,cACxCiuiC,EAAgC,IAAIjuiC,IAAI,cACxC8tiC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1B,IAAI0kkC,EAAqC,IAAgCD,GACrEG,EAAqC,IAAgCD,GAEzEH,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,w/HAA0/H0hjC,EAAqC,kulBAA0ulBE,EAAqC,+/JAAggK,KAEv13B,S,uGCVIJ,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,qmQAAsmQ,KAE/oQ,S,2HCJIyhjC,EAAgC,IAAI/tiC,IAAI,cACxC8tiC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1B,IAAI0kkC,EAAqC,IAAgCD,GAEzED,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,u8VAAy8V0hjC,EAAqC,y+bAA4+b,KAEngyB,S,uGCRIF,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,+hOAAgiO,KAEzkO,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,++OAAg/O,KAEzhP,S,kHCJIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1BwkkC,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,o0jBAAu0jB,KAEh3jB,S,uGCPIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,2mOAA4mO,KAErpO,S,kHCJIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1BwkkC,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,wocAA6oc,KAEtrc,S,kHCNIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1BwkkC,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,4kcAAilc,KAE1nc,S,uGCPIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,wjSAAyjS,KAElmS,S,sGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,s+NAAu+N,KAEhhO,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,6vVAA8vV,KAEvyV,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,w7OAAy7O,KAEl+O,S,sICHIyhjC,EAAgC,IAAI/tiC,IAAI,cACxC8tiC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1BwkkC,EAAwBxkkC,EAAE,KAC1B,IAAI0kkC,EAAqC,IAAgCD,GAEzED,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,w/HAA0/H0hjC,EAAqC,ikrBAAokrB,KAE5ozB,S,sICRID,EAAgC,IAAI/tiC,IAAI,cACxC8tiC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1BwkkC,EAAwBxkkC,EAAE,KAC1B,IAAI0kkC,EAAqC,IAAgCD,GAEzED,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,w/HAA0/H0hjC,EAAqC,03mBAA43mB,KAEp8uB,S,sICRID,EAAgC,IAAI/tiC,IAAI,cACxC8tiC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1BwkkC,EAAwBxkkC,EAAE,KAC1B,IAAI0kkC,EAAqC,IAAgCD,GAEzED,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,k0WAAo0W0hjC,EAAqC,qiGAA0iG,KAE57c,S,kHCTIF,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1BwkkC,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,krcAAurc,KAEhuc,S,uGCPIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,whOAAyhO,KAElkO,S,uGCLIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,y8UAA08U,KAEn/U,S,kHCJIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAC1BwkkC,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,glWAAilW,KAE1nW,S,uGCPIwhjC,EAA0B,IAA4B,KAC1DA,EAAwBxkkC,EAAE,KAE1BwkkC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,k9NAAm9N,KAE5/N,S,4HCJIyhjC,EAAgC,IAAI/tiC,IAAI,cACxCiuiC,EAAgC,IAAIjuiC,IAAI,cACxCmuiC,EAAgC,IAAInuiC,IAAI,cACxCouiC,EAAgC,IAAIpuiC,IAAI,cACxCquiC,EAAgC,IAAIruiC,IAAI,aACxCsuiC,EAAgC,IAAItuiC,IAAI,cACxCuuiC,EAAgC,IAAIvuiC,IAAI,cACxCwuiC,EAAgC,IAAIxuiC,IAAI,cACxCyuiC,EAAgC,IAAIzuiC,IAAI,cACxC0uiC,EAAgC,IAAI1uiC,IAAI,cACxC2uiC,EAAiC,IAAI3uiC,IAAI,cACzC4uiC,EAAiC,IAAI5uiC,IAAI,cACzC6uiC,EAAiC,IAAI7uiC,IAAI,cACzC8uiC,EAAiC,IAAI9uiC,IAAI,cACzC+uiC,EAAiC,IAAI/uiC,IAAI,cACzCgviC,EAAiC,IAAIhviC,IAAI,cACzCiviC,EAAiC,IAAIjviC,IAAI,cACzCkviC,EAAiC,IAAIlviC,IAAI,cACzCmviC,EAAiC,IAAInviC,IAAI,cACzCoviC,EAAiC,IAAIpviC,IAAI,cACzCqviC,EAAiC,IAAIrviC,IAAI,cACzCsviC,EAAiC,IAAItviC,IAAI,cACzCuviC,EAAiC,IAAIvviC,IAAI,cACzCwviC,EAAiC,IAAIxviC,IAAI,cACzCyviC,EAAiC,IAAIzviC,IAAI,cACzC0viC,EAAiC,IAAI1viC,IAAI,cACzC2viC,EAAiC,IAAI3viC,IAAI,cACzC4viC,EAAiC,IAAI5viC,IAAI,cACzC6viC,EAAiC,IAAI7viC,IAAI,cACzC8viC,EAAiC,IAAI9viC,IAAI,cACzC8tiC,EAA0B,IAA4B,KAC1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,6JACzCwhjC,EAAwBxkkC,EAAE,KAC1B,IAAI0kkC,EAAqC,IAAgCD,GACrEG,EAAqC,IAAgCD,GACrE8B,EAAqC,IAAgC5B,GACrE6B,EAAqC,IAAgC5B,GACrE6B,EAAqC,IAAgC5B,GACrE6B,EAAqC,IAAgC5B,GACrE6B,EAAqC,IAAgC5B,GACrE6B,EAAqC,IAAgC5B,GACrE6B,EAAqC,IAAgC5B,GACrE6B,EAAqC,IAAgC5B,GACrE6B,EAAsC,IAAgC5B,GACtE6B,EAAsC,IAAgC5B,GACtE6B,EAAsC,IAAgC5B,GACtE6B,GAAsC,IAAgC5B,GACtE6B,GAAsC,IAAgC5B,GACtE6B,GAAsC,IAAgC5B,GACtE6B,GAAsC,IAAgC5B,GACtE6B,GAAsC,IAAgC5B,GACtE6B,GAAsC,IAAgC5B,GACtE6B,GAAsC,IAAgC5B,GACtE6B,GAAsC,IAAgC5B,GACtE6B,GAAsC,IAAgC5B,GACtE6B,GAAsC,IAAgC5B,GACtE6B,GAAsC,IAAgC5B,GACtE6B,GAAsC,IAAgC5B,GACtE6B,GAAsC,IAAgC5B,GACtE6B,GAAsC,IAAgC5B,GACtE6B,GAAsC,IAAgC5B,GACtE6B,GAAsC,IAAgC5B,GACtE6B,GAAsC,IAAgC5B,GAE1EhC,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,wFAA0F0hjC,EAAqC,yBAA6BE,EAAqC,+GAAmH6B,EAAqC,yBAA6BC,EAAqC,0GAA8GC,EAAqC,yBAA6BC,EAAqC,gHAAoHC,EAAqC,yBAA6BC,EAAqC,yGAA6GC,EAAqC,yBAA6BC,EAAqC,+GAAmHC,EAAsC,yBAA6BC,EAAsC,4GAAgHC,EAAsC,yBAA6BC,GAAsC,kHAAsHC,GAAsC,yBAA6BC,GAAsC,2GAA+GC,GAAsC,yBAA6BC,GAAsC,iHAAqHC,GAAsC,yBAA6BC,GAAsC,yGAA6GC,GAAsC,yBAA6BC,GAAsC,+GAAmHC,GAAsC,yBAA6BC,GAAsC,kHAAsHC,GAAsC,yBAA6BC,GAAsC,gHAAoHC,GAAsC,yBAA6BC,GAAsC,gHAAoHC,GAAsC,yBAA6BC,GAAsC,073TAAm83T,KAEhq+T,U,sECpEI5D,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,22CAA42C,KAEr5C,S,sECJIwhjC,E,MAA0B,GAA4B,KAE1DA,EAAwBz/jC,KAAK,CAACmuC,EAAOlwB,GAAI,01MAAy3M,KAEl6M,S,kBCPA,IAAI5S,EAAM,CACT,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,KACX,aAAc,KACd,UAAW,KACX,aAAc,KACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,QAAS,MACT,WAAY,MACZ,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,gBAAiB,MACjB,aAAc,MACd,gBAAiB,MACjB,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,UAAW,MACX,aAAc,MACd,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,WAAY,MACZ,cAAe,MACf,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,WAAY,MACZ,cAAe,MACf,UAAW,MACX,aAAc,MACd,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,YAAa,MACb,eAAgB,MAChB,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,QAAS,MACT,WAAY,MACZ,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,UAAW,MACX,aAAc,MACd,QAAS,MACT,WAAY,MACZ,OAAQ,MACR,UAAW,MACX,QAAS,MACT,WAAY,MACZ,QAAS,MACT,aAAc,MACd,gBAAiB,MACjB,WAAY,MACZ,UAAW,MACX,aAAc,MACd,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,YAAa,MACb,eAAgB,MAChB,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,KACd,gBAAiB,KACjB,OAAQ,MACR,UAAW,MACX,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,KACX,aAAc,MAIf,SAASi4jC,EAAe1ugC,GACvB,IAAI32C,EAAKsljC,EAAsB3ugC,GAC/B,OAAO4ugC,EAAoBvljC,EAC5B,CACA,SAASsljC,EAAsB3ugC,GAC9B,IAAI4ugC,EAAoBvqgC,EAAE5tD,EAAKupD,GAAM,CACpC,IAAI97D,EAAI,IAAI8C,MAAM,uBAAyBg5D,EAAM,KAEjD,MADA97D,EAAEmgB,KAAO,mBACHngB,CACP,CACA,OAAOuS,EAAIupD,EACZ,CACA0ugC,EAAezjkC,KAAO,WACrB,OAAO5F,OAAO4F,KAAKwL,EACpB,EACAi4jC,EAAetgkC,QAAUugkC,EACzBp1hC,EAAOC,QAAUk1hC,EACjBA,EAAerljC,GAAK,K,kBCtSZ,IAAI9hB,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,iBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,iBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,iBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,iBCT5B,IAAImC,EAAS,EAAQ,KAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,iBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,KAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,iBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,MAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,iBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,iBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,iBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,iBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,iBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,iBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,iBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,iBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,iBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,MAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,MAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,MAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,iBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,iBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,MAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,iBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,MAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,MAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,iBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,MAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,KAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,MAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,MAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,MAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,MAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,MAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,iBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,MAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,MAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,MAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,gBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,MAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,MAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,iBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,MAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,MAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,MAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,MAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,iBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,MAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,iBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,iBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,iBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,iBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,MAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,kBCT5B,IAAImC,EAAS,EAAQ,OAEjBA,GAAUA,EAAO0+C,aACjB1+C,EAASA,EAAOkjB,SAIhB8uB,EAAOC,QADW,iBAAXjyC,EACUA,EAEAA,EAAOnC,U,qvx+QCPpCm0C,EAAOC,QAHP,SAAwBt1C,EAAG+vD,GACzB3sD,KAAK6kD,EAAIjoD,EAAGoD,KAAKm9C,EAAIwP,CACvB,EACiC1a,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,YCEtGD,EAAOC,QALP,SAA2B0X,EAAGtkD,IAC3B,MAAQA,GAAKA,EAAIskD,EAAEprD,UAAY8G,EAAIskD,EAAEprD,QACtC,IAAK,IAAI5B,EAAI,EAAGoI,EAAIyP,MAAMnP,GAAI1I,EAAI0I,EAAG1I,IAAKoI,EAAEpI,GAAKgtD,EAAEhtD,GACnD,OAAOoI,CACT,EACoCitC,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,WCFzGD,EAAOC,QAHP,SAAyB0X,GACvB,GAAIn1C,MAAMC,QAAQk1C,GAAI,OAAOA,CAC/B,EACkC3X,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,kBCHvG,IAAIq1hC,EAAmBzziC,EAAQ,OAI/Bme,EAAOC,QAHP,SAA4B0X,GAC1B,GAAIn1C,MAAMC,QAAQk1C,GAAI,OAAO29gC,EAAiB39gC,EAChD,EACqC3X,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,UCA1GD,EAAOC,QAJP,SAAgCt1C,GAC9B,QAAS,IAAMA,EAAG,MAAM,IAAIunZ,eAAe,6DAC3C,OAAOvnZ,CACT,EACyCq1C,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,kBCJ9G,IAAIs1hC,EAAgB1ziC,EAAQ,OAuB5Bme,EAAOC,QAtBP,SAAiCz2B,GAC/B,IAAI7e,EAAI,CAAC,EACPoI,GAAI,EACN,SAASyikC,EAAK7qkC,EAAGgtD,GACf,OAAO5kD,GAAI,EAAI4kD,EAAI,IAAI/iD,QAAQ,SAAU7B,GACvCA,EAAEyW,EAAE7e,GAAGgtD,GACT,GAAI,CACF3kD,MAAM,EACN5F,MAAO,IAAImokC,EAAc59gC,EAAG,GAEhC,CACA,OAAOhtD,EAAE,oBAAsBo7C,QAAUA,OAAO3wC,UAAY,cAAgB,WAC1E,OAAOrH,IACT,EAAGpD,EAAEwP,KAAO,SAAUqP,GACpB,OAAOzW,GAAKA,GAAI,EAAIyW,GAAKgsjC,EAAK,OAAQhsjC,EACxC,EAAG,mBAAqBA,EAAS,QAAM7e,EAAS,MAAI,SAAU6e,GAC5D,GAAIzW,EAAG,MAAMA,GAAI,EAAIyW,EACrB,OAAOgsjC,EAAK,QAAShsjC,EACvB,GAAI,mBAAqBA,EAAU,SAAM7e,EAAU,OAAI,SAAU6e,GAC/D,OAAOzW,GAAKA,GAAI,EAAIyW,GAAKgsjC,EAAK,SAAUhsjC,EAC1C,GAAI7e,CACN,EAC0Cq1C,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,YCvB/G,SAASw1hC,EAAmB1ikC,EAAGyW,EAAG7e,EAAGgtD,EAAGmT,EAAGz3D,EAAG2uC,GAC5C,IACE,IAAIl1C,EAAIiG,EAAEM,GAAG2uC,GACXowB,EAAItlE,EAAEM,KACV,CAAE,MAAO2F,GACP,YAAYpI,EAAEoI,EAChB,CACAjG,EAAEkG,KAAOwW,EAAE4oD,GAAKx9D,QAAQC,QAAQu9D,GAAGviE,KAAK8nD,EAAGmT,EAC7C,CAiBA9qB,EAAOC,QAhBP,SAA2BltC,GACzB,OAAO,WACL,IAAIyW,EAAIzb,KACNpD,EAAIoF,UACN,OAAO,IAAI6E,QAAQ,SAAU+iD,EAAGmT,GAC9B,IAAIz3D,EAAIN,EAAEgD,MAAMyT,EAAG7e,GACnB,SAAS+qkC,EAAM3ikC,GACb0ikC,EAAmBpikC,EAAGskD,EAAGmT,EAAG4qgC,EAAOC,EAAQ,OAAQ5ikC,EACrD,CACA,SAAS4ikC,EAAO5ikC,GACd0ikC,EAAmBpikC,EAAGskD,EAAGmT,EAAG4qgC,EAAOC,EAAQ,QAAS5ikC,EACtD,CACA2ikC,OAAW,EACb,EACF,CACF,EACoC11hC,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,kBCzBzG,IAAIs1hC,EAAgB1ziC,EAAQ,OAI5Bme,EAAOC,QAHP,SAA8Bt1C,GAC5B,OAAO,IAAI4qkC,EAAc5qkC,EAAG,EAC9B,EACuCq1C,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,YCD5GD,EAAOC,QAHP,SAAyB5sC,EAAGN,GAC1B,KAAMM,aAAaN,GAAI,MAAM,IAAIosC,UAAU,oCAC7C,EACkCa,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,iBCHvG,IAAI21hC,EAA2B/ziC,EAAQ,OACnCihM,EAAiBjhM,EAAQ,OAQ7Bme,EAAOC,QAPP,SAAoBz2B,EAAG7e,EAAGgtD,GACxB,GAAIi+gC,IAA4B,OAAO/phC,QAAQ+2K,UAAU7sN,MAAM,KAAMhG,WACrE,IAAI+6D,EAAI,CAAC,MACTA,EAAEj5D,KAAKkE,MAAM+0D,EAAGngE,GAChB,IAAI8B,EAAI,IAAK+c,EAAEkpD,KAAK38D,MAAMyT,EAAGshD,IAC7B,OAAOnT,GAAKmrK,EAAer2N,EAAGkrD,EAAE5rD,WAAYU,CAC9C,EAC6BuzC,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,kBCTlG,IAAI41hC,EAAgBh0iC,EAAQ,OAC5B,SAASisX,EAAkBnjZ,EAAGgtD,GAC5B,IAAK,IAAInuC,EAAI,EAAGA,EAAImuC,EAAEprD,OAAQid,IAAK,CACjC,IAAIshD,EAAInT,EAAEnuC,GACVshD,EAAE1nB,WAAa0nB,EAAE1nB,aAAc,EAAI0nB,EAAEznB,cAAe,EAAI,UAAWynB,IAAMA,EAAExnB,UAAW,GAAKx3C,OAAOw2C,eAAe33C,EAAGkrkC,EAAc/qgC,EAAEz7D,KAAMy7D,EAC5I,CACF,CAMA9qB,EAAOC,QALP,SAAsBt1C,EAAGgtD,EAAGnuC,GAC1B,OAAOmuC,GAAKm2V,EAAkBnjZ,EAAEoB,UAAW4rD,GAAInuC,GAAKskY,EAAkBnjZ,EAAG6e,GAAI1d,OAAOw2C,eAAe33C,EAAG,YAAa,CACjH24C,UAAU,IACR34C,CACN,EAC+Bq1C,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,kBCZpG,IAAI41hC,EAAgBh0iC,EAAQ,OAS5Bme,EAAOC,QARP,SAAyBt1C,EAAGgtD,EAAGnuC,GAC7B,OAAQmuC,EAAIk+gC,EAAcl+gC,MAAOhtD,EAAImB,OAAOw2C,eAAe33C,EAAGgtD,EAAG,CAC/DvqD,MAAOoc,EACP45B,YAAY,EACZC,cAAc,EACdC,UAAU,IACP34C,EAAEgtD,GAAKnuC,EAAG7e,CACjB,EACkCq1C,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,YCTvG,SAAS3mC,IACP,OAAO0mC,EAAOC,QAAU3mC,EAAWxN,OAAO+kF,OAAS/kF,OAAO+kF,OAAOne,OAAS,SAAU3/D,GAClF,IAAK,IAAIpI,EAAI,EAAGA,EAAIoF,UAAUxD,OAAQ5B,IAAK,CACzC,IAAI6e,EAAIzZ,UAAUpF,GAClB,IAAK,IAAIgtD,KAAKnuC,GAAG,CAAG,GAAEjY,eAAehE,KAAKic,EAAGmuC,KAAO5kD,EAAE4kD,GAAKnuC,EAAEmuC,GAC/D,CACA,OAAO5kD,CACT,EAAGitC,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,QAAS3mC,EAASvD,MAAM,KAAMhG,UACxG,CACAiwC,EAAOC,QAAU3mC,EAAU0mC,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,kBCThG,IAAI61hC,EAAgBj0iC,EAAQ,OAC5B,SAAS6iS,IACP,OAAO1kR,EAAOC,QAAUykR,EAAO,oBAAsB74Q,SAAWA,QAAQt5C,IAAMs5C,QAAQt5C,IAAImgE,OAAS,SAAU/nE,EAAG6e,EAAGmuC,GACjH,IAAIlrD,EAAIqpkC,EAAcnrkC,EAAG6e,GACzB,GAAI/c,EAAG,CACL,IAAIsG,EAAIjH,OAAOu8C,yBAAyB57C,EAAG+c,GAC3C,OAAOzW,EAAER,IAAMQ,EAAER,IAAIhF,KAAKwC,UAAUxD,OAAS,EAAI5B,EAAIgtD,GAAK5kD,EAAE3F,KAC9D,CACF,EAAG4yC,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,QAASykR,EAAK3uT,MAAM,KAAMhG,UACpG,CACAiwC,EAAOC,QAAUykR,EAAM1kR,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,YCV5F,SAASmyW,EAAgB5oY,GACvB,OAAOw2B,EAAOC,QAAUmyW,EAAkBtmZ,OAAOg3N,eAAiBh3N,OAAOuhD,eAAeqlB,OAAS,SAAUlpD,GACzG,OAAOA,EAAEgyC,WAAa1vD,OAAOuhD,eAAe7jC,EAC9C,EAAGw2B,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,QAASmyW,EAAgB5oY,EACnG,CACAw2B,EAAOC,QAAUmyW,EAAiBpyW,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,kBCLvG,IAAI6iL,EAAiBjhM,EAAQ,OAa7Bme,EAAOC,QAZP,SAAmBz2B,EAAG7e,GACpB,GAAI,mBAAqBA,GAAK,OAASA,EAAG,MAAM,IAAIw0C,UAAU,sDAC9D31B,EAAEzd,UAAYD,OAAO85C,OAAOj7C,GAAKA,EAAEoB,UAAW,CAC5CuhD,YAAa,CACXlgD,MAAOoc,EACP85B,UAAU,EACVD,cAAc,KAEdv3C,OAAOw2C,eAAe94B,EAAG,YAAa,CACxC85B,UAAU,IACR34C,GAAKm4N,EAAet5M,EAAG7e,EAC7B,EAC4Bq1C,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,YCRjGD,EAAOC,QALP,SAAgCt1C,GAC9B,OAAOA,GAAKA,EAAE+hD,WAAa/hD,EAAI,CAC7B,QAAWA,EAEf,EACyCq1C,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,WCE9GD,EAAOC,QAPP,SAA2Bz2B,GACzB,IACE,OAAQ,IAAM42B,SAASv0C,SAAS0B,KAAKic,GAAGzc,QAAQ,gBAClD,CAAE,MAAOgG,GACP,MAAO,mBAAqByW,CAC9B,CACF,EACoCw2B,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,YCPzG,SAASsyW,IACP,IACE,IAAI/oY,GAAK6M,QAAQtqB,UAAU+2C,QAAQv1C,KAAKs+C,QAAQ+2K,UAAUvsM,QAAS,GAAI,WAAa,GACtF,CAAE,MAAO7M,GAAI,CACb,OAAQw2B,EAAOC,QAAUsyW,EAA4B,WACnD,QAAS/oY,CACX,EAAGw2B,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,UAC1E,CACAD,EAAOC,QAAUsyW,EAA2BvyW,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,WCLjHD,EAAOC,QAHP,SAA0B0X,GACxB,GAAI,oBAAsB5R,QAAU,MAAQ4R,EAAE5R,OAAO3wC,WAAa,MAAQuiD,EAAE,cAAe,OAAOn1C,MAAM8wC,KAAKqE,EAC/G,EACmC3X,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,WCwBxGD,EAAOC,QA3BP,SAA+B0X,EAAGnN,GAChC,IAAIhhC,EAAI,MAAQmuC,EAAI,KAAO,oBAAsB5R,QAAU4R,EAAE5R,OAAO3wC,WAAauiD,EAAE,cACnF,GAAI,MAAQnuC,EAAG,CACb,IAAI7e,EACFoI,EACAjG,EACAslE,EACA/+D,EAAI,GACJH,GAAI,EACJ43D,GAAI,EACN,IACE,GAAIh+D,GAAK0c,EAAIA,EAAEjc,KAAKoqD,IAAIx9C,KAAM,IAAMqwC,EAAG,CACrC,GAAI1+C,OAAO0d,KAAOA,EAAG,OACrBtW,GAAI,CACN,MAAO,OAASA,GAAKvI,EAAImC,EAAES,KAAKic,IAAIxW,QAAUK,EAAExB,KAAKlH,EAAEyC,OAAQiG,EAAE9G,SAAWi+C,GAAIt3C,GAAI,GACtF,CAAE,MAAOykD,GACPmT,GAAI,EAAI/3D,EAAI4kD,CACd,CAAE,QACA,IACE,IAAKzkD,GAAK,MAAQsW,EAAU,SAAM4oD,EAAI5oD,EAAU,SAAK1d,OAAOsmE,KAAOA,GAAI,MACzE,CAAE,QACA,GAAItH,EAAG,MAAM/3D,CACf,CACF,CACA,OAAOM,CACT,CACF,EACwC2sC,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,YCxB7GD,EAAOC,QAHP,WACE,MAAM,IAAId,UAAU,4IACtB,EACmCa,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,YCAxGD,EAAOC,QAHP,WACE,MAAM,IAAId,UAAU,uIACtB,EACqCa,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,YCA1GD,EAAOC,QAHP,SAAmCz2B,GACjC,GAAI,MAAQA,EAAG,MAAM,IAAI21B,UAAU,sBAAwB31B,EAC7D,EAC4Cw2B,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,gBCHjH,IAAI81hC,EAA+Bl0iC,EAAQ,OAY3Cme,EAAOC,QAXP,SAAkCt1C,EAAG6e,GACnC,GAAI,MAAQ7e,EAAG,MAAO,CAAC,EACvB,IAAImgE,EACFnT,EACA7qD,EAAIipkC,EAA6BprkC,EAAG6e,GACtC,GAAI1d,OAAO66C,sBAAuB,CAChC,IAAI5zC,EAAIjH,OAAO66C,sBAAsBh8C,GACrC,IAAKgtD,EAAI,EAAGA,EAAI5kD,EAAExG,OAAQorD,IAAKmT,EAAI/3D,EAAE4kD,IAAK,IAAMnuC,EAAEzc,QAAQ+9D,IAAM,CAAC,EAAEtrB,qBAAqBjyC,KAAK5C,EAAGmgE,KAAOh+D,EAAEg+D,GAAKngE,EAAEmgE,GAClH,CACA,OAAOh+D,CACT,EAC2CkzC,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,YCHhHD,EAAOC,QATP,SAAuC0X,EAAGhtD,GACxC,GAAI,MAAQgtD,EAAG,MAAO,CAAC,EACvB,IAAInuC,EAAI,CAAC,EACT,IAAK,IAAIzW,KAAK4kD,EAAG,GAAI,CAAC,EAAEpmD,eAAehE,KAAKoqD,EAAG5kD,GAAI,CACjD,IAAK,IAAMpI,EAAEoC,QAAQgG,GAAI,SACzByW,EAAEzW,GAAK4kD,EAAE5kD,EACX,CACA,OAAOyW,CACT,EACgDw2B,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,kBCTrH,IAAIu/V,EAAU39W,EAAAA,OAAAA,QACVm0iC,EAAwBn0iC,EAAQ,KAMpCme,EAAOC,QALP,SAAoCz2B,EAAG7e,GACrC,GAAIA,IAAM,UAAY60Y,EAAQ70Y,IAAM,mBAAqBA,GAAI,OAAOA,EACpE,QAAS,IAAMA,EAAG,MAAM,IAAIw0C,UAAU,4DACtC,OAAO62hC,EAAsBxsjC,EAC/B,EAC6Cw2B,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,YCJlHD,EAAOC,QAHP,SAAwB0X,GACtB,MAAM,IAAIxY,UAAU,IAAMwY,EAAI,iBAChC,EACiC3X,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,kBCHtG,IAAIg2hC,EAAoBp0iC,EAAQ,OAChC,SAASq0iC;;AAEP,IAAIvrkC,EACF6e,EACAmuC,EAAI,mBAAqB5R,OAASA,OAAS,CAAC,EAC5ChzC,EAAI4kD,EAAEviD,UAAY,aAClB01D,EAAInT,EAAEyd,aAAe,gBACvB,SAAStoE,EAAE6qD,EAAG5kD,EAAG+3D,EAAGh+D,GAClB,IAAIk1C,EAAIjvC,GAAKA,EAAEhH,qBAAqBw9oB,EAAYx2oB,EAAIw2oB,EAClDn3kB,EAAItmE,OAAO85C,OAAO5D,EAAEj2C,WACtB,OAAOkqkC,EAAkB7jgC,EAAG,UAAW,SAAUza,EAAG5kD,EAAG+3D,GACrD,IAAIh+D,EACFk1C,EACAowB,EACAl/D,EAAI,EACJzG,EAAIq+D,GAAK,GACThoD,GAAI,EACJmhC,EAAI,CACFx3C,EAAG,EACHsG,EAAG,EACH6/C,EAAGjoD,EACH0I,EAAGqnD,EACHxnD,EAAGwnD,EAAEgY,KAAK/nE,EAAG,GACb+vD,EAAG,SAAWlxC,EAAGmuC,GACf,OAAO7qD,EAAI0c,EAAGw4B,EAAI,EAAGowB,EAAIznE,EAAGs5C,EAAElxC,EAAI4kD,EAAGtkD,CACvC,GAEJ,SAASqnD,EAAE/C,EAAG5kD,GACZ,IAAKivC,EAAI2V,EAAGya,EAAIr/D,EAAGyW,EAAI,GAAI1G,GAAK5P,IAAM43D,GAAKthD,EAAI/c,EAAEF,OAAQid,IAAK,CAC5D,IAAIshD,EACFh+D,EAAIL,EAAE+c,GACNkxC,EAAIzW,EAAEx3C,EACN+9C,EAAI19C,EAAE,GACR6qD,EAAI,GAAKmT,EAAItgB,IAAMz3C,KAAOq/D,EAAItlE,GAAGk1C,EAAIl1C,EAAE,IAAM,GAAKk1C,EAAI,EAAG,IAAKl1C,EAAE,GAAKA,EAAE,GAAKnC,GAAKmC,EAAE,IAAM4tD,KAAOoQ,EAAInT,EAAI,GAAK+C,EAAI5tD,EAAE,KAAOk1C,EAAI,EAAGiC,EAAE2O,EAAI7/C,EAAGkxC,EAAElxC,EAAIjG,EAAE,IAAM4tD,EAAIlQ,IAAMsgB,EAAInT,EAAI,GAAK7qD,EAAE,GAAKiG,GAAKA,EAAIy3C,KAAO19C,EAAE,GAAK6qD,EAAG7qD,EAAE,GAAKiG,EAAGkxC,EAAElxC,EAAIy3C,EAAGxI,EAAI,GACzO,CACA,GAAI8oB,GAAKnT,EAAI,EAAG,OAAOtkD,EACvB,MAAMyP,GAAI,EAAI/P,CAChB,CACA,OAAO,SAAU+3D,EAAGr+D,EAAG+9C,GACrB,GAAIt3C,EAAI,EAAG,MAAMisC,UAAU,gCAC3B,IAAKr8B,GAAK,IAAMrW,GAAKiuD,EAAEjuD,EAAG+9C,GAAIxI,EAAIv1C,EAAG2lE,EAAI5nB,GAAIhhC,EAAIw4B,EAAI,EAAIr3C,EAAIynE,KAAOtvD,GAAI,CACtEhW,IAAMk1C,EAAIA,EAAI,GAAKA,EAAI,IAAMiC,EAAElxC,GAAK,GAAI2nD,EAAE1Y,EAAGowB,IAAMnuB,EAAElxC,EAAIq/D,EAAInuB,EAAE2O,EAAIwf,GACnE,IACE,GAAIl/D,EAAI,EAAGpG,EAAG,CACZ,GAAIk1C,IAAM8oB,EAAI,QAASthD,EAAI1c,EAAEg+D,GAAI,CAC/B,KAAMthD,EAAIA,EAAEjc,KAAKT,EAAGslE,IAAK,MAAMjzB,UAAU,oCACzC,IAAK31B,EAAExW,KAAM,OAAOwW,EACpB4oD,EAAI5oD,EAAEpc,MAAO40C,EAAI,IAAMA,EAAI,EAC7B,MAAO,IAAMA,IAAMx4B,EAAI1c,EAAU,SAAM0c,EAAEjc,KAAKT,GAAIk1C,EAAI,IAAMowB,EAAIjzB,UAAU,oCAAsC2rB,EAAI,YAAa9oB,EAAI,GACrIl1C,EAAInC,CACN,MAAO,IAAK6e,GAAK1G,EAAImhC,EAAElxC,EAAI,GAAKq/D,EAAIza,EAAEpqD,KAAKwF,EAAGkxC,MAAQ5wC,EAAG,KAC3D,CAAE,MAAOmW,GACP1c,EAAInC,EAAGq3C,EAAI,EAAGowB,EAAI5oD,CACpB,CAAE,QACAtW,EAAI,CACN,CACF,CACA,MAAO,CACL9F,MAAOoc,EACPxW,KAAM8P,EAEV,CACF,CApDuC,CAoDrC60C,EAAGmT,EAAGh+D,IAAI,GAAKslE,CACnB,CACA,IAAI/+D,EAAI,CAAC,EACT,SAASk2oB,IAAa,CACtB,SAAS10F,IAAqB,CAC9B,SAASshhB,IAA8B,CACvC3sjC,EAAI1d,OAAOuhD,eACX,IAAIrL,EAAI,GAAGjvC,GAAKyW,EAAEA,EAAE,GAAGzW,QAAUkjkC,EAAkBzsjC,EAAI,CAAC,EAAGzW,EAAG,WAC1D,OAAOhF,IACT,GAAIyb,GACJ4oD,EAAI+jgC,EAA2BpqkC,UAAYw9oB,EAAUx9oB,UAAYD,OAAO85C,OAAO5D,GACjF,SAAS9uC,EAAEvI,GACT,OAAOmB,OAAOg3N,eAAiBh3N,OAAOg3N,eAAen4N,EAAGwrkC,IAA+BxrkC,EAAE6wD,UAAY26gC,EAA4BF,EAAkBtrkC,EAAGmgE,EAAG,sBAAuBngE,EAAEoB,UAAYD,OAAO85C,OAAOwsB,GAAIznE,CAClN,CACA,OAAOkqjB,EAAkB9ojB,UAAYoqkC,EAA4BF,EAAkB7jgC,EAAG,cAAe+jgC,GAA6BF,EAAkBE,EAA4B,cAAethhB,GAAoBA,EAAkBthf,YAAc,oBAAqB0igC,EAAkBE,EAA4BrrgC,EAAG,qBAAsBmrgC,EAAkB7jgC,GAAI6jgC,EAAkB7jgC,EAAGtH,EAAG,aAAcmrgC,EAAkB7jgC,EAAGr/D,EAAG,WACja,OAAOhF,IACT,GAAIkokC,EAAkB7jgC,EAAG,WAAY,WACnC,MAAO,oBACT,IAAKpyB,EAAOC,QAAUi2hC,EAAe,WACnC,MAAO,CACLzwhC,EAAG34C,EACHutD,EAAGnnD,EAEP,EAAG8sC,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,UAC1E,CACAD,EAAOC,QAAUi2hC,EAAcl2hC,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,kBCxFpG,IAAIm2hC,EAAsBv0iC,EAAQ,OAOlCme,EAAOC,QANP,SAA2BltC,EAAGpI,EAAGgtD,EAAGnuC,EAAGshD,GACrC,IAAIz3D,EAAI+ikC,EAAoBrjkC,EAAGpI,EAAGgtD,EAAGnuC,EAAGshD,GACxC,OAAOz3D,EAAE8G,OAAOtK,KAAK,SAAUkD,GAC7B,OAAOA,EAAEC,KAAOD,EAAE3F,MAAQiG,EAAE8G,MAC9B,EACF,EACoC6lC,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,kBCPzG,IAAIo2hC,EAAcx0iC,EAAQ,OACtBy0iC,EAA2Bz0iC,EAAQ,OAIvCme,EAAOC,QAHP,SAA8B0X,EAAGhtD,EAAG6e,EAAGshD,EAAG/3D,GACxC,OAAO,IAAIujkC,EAAyBD,IAAc5whC,EAAEkS,EAAGhtD,EAAG6e,EAAGshD,GAAI/3D,GAAK6B,QACxE,EACuCorC,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,kBCL5G,IAAIs1hC,EAAgB1ziC,EAAQ,OACxBo0iC,EAAoBp0iC,EAAQ,OA+BhCme,EAAOC,QA9BP,SAASs2hC,EAAc/sjC,EAAG7e,GACxB,SAASoI,EAAE4kD,EAAGmT,EAAGh+D,EAAGoG,GAClB,IACE,IAAI8uC,EAAIx4B,EAAEmuC,GAAGmT,GACXsH,EAAIpwB,EAAE50C,MACR,OAAOglE,aAAamjgC,EAAgB5qkC,EAAEkK,QAAQu9D,EAAExf,GAAG/iD,KAAK,SAAU2Z,GAChEzW,EAAE,OAAQyW,EAAG1c,EAAGoG,EAClB,EAAG,SAAUsW,GACXzW,EAAE,QAASyW,EAAG1c,EAAGoG,EACnB,GAAKvI,EAAEkK,QAAQu9D,GAAGviE,KAAK,SAAU2Z,GAC/Bw4B,EAAE50C,MAAQoc,EAAG1c,EAAEk1C,EACjB,EAAG,SAAUx4B,GACX,OAAOzW,EAAE,QAASyW,EAAG1c,EAAGoG,EAC1B,EACF,CAAE,MAAOsW,GACPtW,EAAEsW,EACJ,CACF,CACA,IAAImuC,EACJ5pD,KAAKoM,OAAS87jC,EAAkBM,EAAcxqkC,WAAYkqkC,EAAkBM,EAAcxqkC,UAAW,mBAAqBg6C,QAAUA,OAAOg5pB,eAAiB,iBAAkB,WAC5K,OAAOhxsB,IACT,IAAKkokC,EAAkBlokC,KAAM,UAAW,SAAUyb,EAAGshD,EAAGh+D,GACtD,SAASoG,IACP,OAAO,IAAIvI,EAAE,SAAUA,EAAGgtD,GACxB5kD,EAAEyW,EAAG1c,EAAGnC,EAAGgtD,EACb,EACF,CACA,OAAOA,EAAIA,EAAIA,EAAE9nD,KAAKqD,EAAGA,GAAKA,GAChC,GAAG,EACL,EACgC8sC,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,YChCrG,SAASu2hC,EAAmB7rkC,EAAGgtD,EAAG5kD,EAAGyW,GACnC,IAAI1c,EAAIhB,OAAOw2C,eACf,IACEx1C,EAAE,CAAC,EAAG,GAAI,CAAC,EACb,CAAE,MAAOnC,GACPmC,EAAI,CACN,CACAkzC,EAAOC,QAAUu2hC,EAAqB,SAA2B7rkC,EAAGgtD,EAAG5kD,EAAGyW,GACxE,SAASshD,EAAEnT,EAAG5kD,GACZyjkC,EAAmB7rkC,EAAGgtD,EAAG,SAAUhtD,GACjC,OAAOoD,KAAK0jD,QAAQkG,EAAG5kD,EAAGpI,EAC5B,EACF,CACAgtD,EAAI7qD,EAAIA,EAAEnC,EAAGgtD,EAAG,CACdvqD,MAAO2F,EACPqwC,YAAa55B,EACb65B,cAAe75B,EACf85B,UAAW95B,IACR7e,EAAEgtD,GAAK5kD,GAAK+3D,EAAE,OAAQ,GAAIA,EAAE,QAAS,GAAIA,EAAE,SAAU,GAC5D,EAAG9qB,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,QAASu2hC,EAAmB7rkC,EAAGgtD,EAAG5kD,EAAGyW,EAC/G,CACAw2B,EAAOC,QAAUu2hC,EAAoBx2hC,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,YCZ1GD,EAAOC,QATP,SAA0Bt1C,GACxB,IAAIoI,EAAIjH,OAAOnB,GACbgtD,EAAI,GACN,IAAK,IAAInuC,KAAKzW,EAAG4kD,EAAE8T,QAAQjiD,GAC3B,OAAO,SAAS7e,IACd,KAAOgtD,EAAEprD,QAAS,IAAKid,EAAImuC,EAAE2T,SAAUv4D,EAAG,OAAOpI,EAAEyC,MAAQoc,EAAG7e,EAAEqI,MAAO,EAAIrI,EAC3E,OAAOA,EAAEqI,MAAO,EAAIrI,CACtB,CACF,EACmCq1C,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,kBCTxG,IAAIs1hC,EAAgB1ziC,EAAQ,OACxBw0iC,EAAcx0iC,EAAQ,OACtB40iC,EAAmB50iC,EAAQ,OAC3Bu0iC,EAAsBv0iC,EAAQ,OAC9By0iC,EAA2Bz0iC,EAAQ,OACnC60iC,EAAkB70iC,EAAQ,OAC1B80iC,EAAoB90iC,EAAQ,OAChC,SAAS/nB,IAGP,IAAI69C,EAAI0+gC,IACN1rkC,EAAIgtD,EAAE0C,EAAEvgD,GACR0P,GAAK1d,OAAOuhD,eAAiBvhD,OAAOuhD,eAAe1iD,GAAKA,EAAE6wD,WAAWlO,YACvE,SAASv6C,EAAE4kD,GACT,IAAIhtD,EAAI,mBAAqBgtD,GAAKA,EAAErK,YACpC,QAAS3iD,IAAMA,IAAM6e,GAAK,uBAAyB7e,EAAE4oE,aAAe5oE,EAAEC,MACxE,CACA,IAAIkgE,EAAI,CACN,MAAS,EACT,OAAU,EACV,MAAS,EACT,SAAY,GAEd,SAASz3D,EAAEskD,GACT,IAAIhtD,EAAG6e,EACP,OAAO,SAAUzW,GACfpI,IAAMA,EAAI,CACR4P,KAAM,WACJ,OAAOiP,EAAEzW,EAAEM,EAAG,EAChB,EACA,MAAS,WACP,OAAON,EAAE6/C,CACX,EACAt4C,OAAQ,SAAgBq9C,EAAGhtD,GACzB,OAAO6e,EAAEzW,EAAEM,EAAGy3D,EAAEnT,GAAIhtD,EACtB,EACAyU,cAAe,SAAuBu4C,EAAGmT,EAAGz3D,GAC1C,OAAO1I,EAAEiskC,WAAa9rgC,EAAGthD,EAAEzW,EAAE2nD,EAAGi8gC,EAAkBh/gC,GAAItkD,EACxD,EACA6I,OAAQ,SAAgBy7C,GACtB,OAAOnuC,EAAEzW,EAAEG,EAAGykD,EAChB,GACCnuC,EAAI,SAAWmuC,EAAG39C,EAAI8wD,GACvB/3D,EAAEtG,EAAI9B,EAAEuP,KAAMnH,EAAEA,EAAIpI,EAAEwP,KACtB,IACE,OAAOw9C,EAAE39C,EAAI8wD,EACf,CAAE,QACAngE,EAAEwP,KAAOpH,EAAEA,CACb,CACF,GAAIpI,EAAEiskC,aAAejskC,EAAEA,EAAEiskC,YAAc7jkC,EAAE6/C,EAAGjoD,EAAEiskC,gBAAkB,GAAIjskC,EAAE0P,KAAOtH,EAAE6/C,EAAGjoD,EAAEwP,KAAOpH,EAAEA,EAC7F,IACE,OAAO4kD,EAAEpqD,KAAKQ,KAAMpD,EACtB,CAAE,QACAoI,EAAEtG,EAAI9B,EAAEuP,KAAMnH,EAAEA,EAAIpI,EAAEwP,IACxB,CACF,CACF,CACA,OAAQ6lC,EAAOC,QAAUnmC,EAAsB,WAC7C,MAAO,CACLiwC,KAAM,SAAcp/C,EAAG6e,EAAGzW,EAAG+3D,GAC3B,OAAOnT,EAAElS,EAAEpyC,EAAE1I,GAAI6e,EAAGzW,EAAG+3D,GAAKA,EAAEM,UAChC,EACA6x/B,oBAAqBlqjC,EACrB8sI,KAAMloF,EAAE0C,EACRw8gC,MAAO,SAAel/gC,EAAGhtD,GACvB,OAAO,IAAI4qkC,EAAc59gC,EAAGhtD,EAC9B,EACA4rkC,cAAeD,EACfp3/B,MAAO,SAAevnB,EAAGhtD,EAAG6e,EAAGshD,EAAGsH,GAChC,OAAQr/D,EAAEpI,GAAKyrkC,EAAsBK,GAAkBpjkC,EAAEskD,GAAIhtD,EAAG6e,EAAGshD,EAAGsH,EACxE,EACA1gE,KAAMglkC,EACN/nhC,OAAQgohC,EAEZ,EAAG32hC,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,UAC1E,CACAD,EAAOC,QAAUnmC,EAAqBkmC,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,kBC5E3G,IAAIu/V,EAAU39W,EAAAA,OAAAA,QAkBdme,EAAOC,QAjBP,SAA4Bt1C,GAC1B,GAAI,MAAQA,EAAG,CACb,IAAI6e,EAAI7e,EAAE,mBAAqBo7C,QAAUA,OAAO3wC,UAAY,cAC1DuiD,EAAI,EACN,GAAInuC,EAAG,OAAOA,EAAEjc,KAAK5C,GACrB,GAAI,mBAAqBA,EAAEwP,KAAM,OAAOxP,EACxC,IAAKoY,MAAMpY,EAAE4B,QAAS,MAAO,CAC3B4N,KAAM,WACJ,OAAOxP,GAAKgtD,GAAKhtD,EAAE4B,SAAW5B,OAAS,GAAI,CACzCyC,MAAOzC,GAAKA,EAAEgtD,KACd3kD,MAAOrI,EAEX,EAEJ,CACA,MAAM,IAAIw0C,UAAUqgW,EAAQ70Y,GAAK,mBACnC,EACqCq1C,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,YClB1G,SAASoyW,EAAgB7oY,EAAG7e,GAC1B,OAAOq1C,EAAOC,QAAUoyW,EAAkBvmZ,OAAOg3N,eAAiBh3N,OAAOg3N,eAAepwJ,OAAS,SAAUlpD,EAAG7e,GAC5G,OAAO6e,EAAEgyC,UAAY7wD,EAAG6e,CAC1B,EAAGw2B,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,QAASoyW,EAAgB7oY,EAAG7e,EACtG,CACAq1C,EAAOC,QAAUoyW,EAAiBryW,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,kBCLvG,IAAI62hC,EAAiBj1iC,EAAQ,MACzBk1iC,EAAuBl1iC,EAAQ,MAC/Bm1iC,EAA6Bn1iC,EAAQ,MACrCo1iC,EAAkBp1iC,EAAQ,OAI9Bme,EAAOC,QAHP,SAAwB0X,EAAGhtD,GACzB,OAAOmskC,EAAen/gC,IAAMo/gC,EAAqBp/gC,EAAGhtD,IAAMqskC,EAA2Br/gC,EAAGhtD,IAAMsskC,GAChG,EACiCj3hC,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,kBCPtG,IAAIoN,EAAiBxrB,EAAQ,OAK7Bme,EAAOC,QAJP,SAAwBz2B,EAAGshD,GACzB,MAAQ,CAAC,EAAEv5D,eAAehE,KAAKic,EAAGshD,IAAM,QAAUthD,EAAI6jC,EAAe7jC,MACrE,OAAOA,CACT,EACiCw2B,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,YCEtGD,EAAOC,QAPP,SAAgCt1C,EAAG6e,GACjC,OAAOA,IAAMA,EAAI7e,EAAEgY,MAAM,IAAK7W,OAAO8X,OAAO9X,OAAOg7C,iBAAiBn8C,EAAG,CACrEw2d,IAAK,CACH/zd,MAAOtB,OAAO8X,OAAO4F,MAG3B,EACyCw2B,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,kBCP9G,IAAI62hC,EAAiBj1iC,EAAQ,MACzBq1iC,EAAkBr1iC,EAAQ,MAC1Bm1iC,EAA6Bn1iC,EAAQ,MACrCo1iC,EAAkBp1iC,EAAQ,OAI9Bme,EAAOC,QAHP,SAAkB0X,GAChB,OAAOm/gC,EAAen/gC,IAAMu/gC,EAAgBv/gC,IAAMq/gC,EAA2Br/gC,IAAMs/gC,GACrF,EAC2Bj3hC,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,kBCPhG,IAAIk3hC,EAAoBt1iC,EAAQ,OAC5Bq1iC,EAAkBr1iC,EAAQ,MAC1Bm1iC,EAA6Bn1iC,EAAQ,MACrCu1iC,EAAoBv1iC,EAAQ,OAIhCme,EAAOC,QAHP,SAA4B0X,GAC1B,OAAOw/gC,EAAkBx/gC,IAAMu/gC,EAAgBv/gC,IAAMq/gC,EAA2Br/gC,IAAMy/gC,GACxF,EACqCp3hC,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,kBCP1G,IAAIu/V,EAAU39W,EAAAA,OAAAA,QAWdme,EAAOC,QAVP,SAAqBz2B,EAAGmuC,GACtB,GAAI,UAAY6nV,EAAQh2X,KAAOA,EAAG,OAAOA,EACzC,IAAI7e,EAAI6e,EAAEu8B,OAAOooW,aACjB,QAAS,IAAMxjZ,EAAG,CAChB,IAAImC,EAAInC,EAAE4C,KAAKic,EAAGmuC,GAAK,WACvB,GAAI,UAAY6nV,EAAQ1yY,GAAI,OAAOA,EACnC,MAAM,IAAIqyC,UAAU,+CACtB,CACA,OAAQ,WAAawY,EAAInoD,OAASwuD,QAAQx0C,EAC5C,EAC8Bw2B,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,kBCXnG,IAAIu/V,EAAU39W,EAAAA,OAAAA,QACVssX,EAActsX,EAAQ,OAK1Bme,EAAOC,QAJP,SAAuBz2B,GACrB,IAAI1c,EAAIqhZ,EAAY3kY,EAAG,UACvB,MAAO,UAAYg2X,EAAQ1yY,GAAKA,EAAIA,EAAI,EAC1C,EACgCkzC,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,YCNrG,SAASu/V,EAAQ10U,GAGf,OAAO9qB,EAAOC,QAAUu/V,EAAU,mBAAqBz5V,QAAU,iBAAmBA,OAAO3wC,SAAW,SAAU01D,GAC9G,cAAcA,CAChB,EAAI,SAAUA,GACZ,OAAOA,GAAK,mBAAqB/kB,QAAU+kB,EAAExd,cAAgBvH,QAAU+kB,IAAM/kB,OAAOh6C,UAAY,gBAAkB++D,CACpH,EAAG9qB,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,QAASu/V,EAAQ10U,EAC3F,CACA9qB,EAAOC,QAAUu/V,EAASx/V,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,iBCT/F,IAAIq1hC,EAAmBzziC,EAAQ,OAQ/Bme,EAAOC,QAPP,SAAqC0X,EAAGtkD,GACtC,GAAIskD,EAAG,CACL,GAAI,iBAAmBA,EAAG,OAAO29gC,EAAiB39gC,EAAGtkD,GACrD,IAAImW,EAAI,CAAC,EAAE3d,SAAS0B,KAAKoqD,GAAGh1C,MAAM,GAAI,GACtC,MAAO,WAAa6G,GAAKmuC,EAAErK,cAAgB9jC,EAAImuC,EAAErK,YAAY1iD,MAAO,QAAU4e,GAAK,QAAUA,EAAIhH,MAAM8wC,KAAKqE,GAAK,cAAgBnuC,GAAK,2CAA2Chb,KAAKgb,GAAK8rjC,EAAiB39gC,EAAGtkD,QAAU,CAC3N,CACF,EAC8C2sC,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,iBCRnH,IAAIs1hC,EAAgB1ziC,EAAQ,OAM5B,SAASw1iC,EAAe1skC,GACtB,IAAIgtD,EAAGnuC,EACP,SAAS23hB,EAAOxpf,EAAGnuC,GACjB,IACE,IAAIzW,EAAIpI,EAAEgtD,GAAGnuC,GACXshD,EAAI/3D,EAAE3F,MACNglE,EAAItH,aAAayqgC,EACnB3gkC,QAAQC,QAAQu9D,EAAItH,EAAElY,EAAIkY,GAAGj7D,KAAK,SAAU2Z,GAC1C,GAAI4oD,EAAG,CACL,IAAItlE,EAAI,WAAa6qD,EAAI,SAAW,OACpC,IAAKmT,EAAE5f,GAAK1hC,EAAExW,KAAM,OAAOmuiB,EAAOr0iB,EAAG0c,GACrCA,EAAI7e,EAAEmC,GAAG0c,GAAGpc,KACd,CACA09tB,EAAO/3tB,EAAEC,KAAO,SAAW,SAAUwW,EACvC,EAAG,SAAU7e,GACXw2iB,EAAO,QAASx2iB,EAClB,EACF,CAAE,MAAOA,GACPmguB,EAAO,QAASnguB,EAClB,CACF,CACA,SAASmguB,EAAOnguB,EAAGoI,GACjB,OAAQpI,GACN,IAAK,SACHgtD,EAAE9iD,QAAQ,CACRzH,MAAO2F,EACPC,MAAM,IAER,MACF,IAAK,QACH2kD,EAAE7iD,OAAO/B,GACT,MACF,QACE4kD,EAAE9iD,QAAQ,CACRzH,MAAO2F,EACPC,MAAM,KAGX2kD,EAAIA,EAAEx9C,MAAQgniB,EAAOxpf,EAAEtoD,IAAKsoD,EAAEj1C,KAAO8G,EAAI,IAC5C,CACAzb,KAAK0jD,QAAU,SAAU9mD,EAAGoI,GAC1B,OAAO,IAAI6B,QAAQ,SAAUk2D,EAAGsH,GAC9B,IAAItlE,EAAI,CACNuC,IAAK1E,EACL+X,IAAK3P,EACL8B,QAASi2D,EACTh2D,OAAQs9D,EACRj4D,KAAM,MAERqP,EAAIA,EAAIA,EAAErP,KAAOrN,GAAK6qD,EAAInuC,EAAI1c,EAAGq0iB,EAAOx2iB,EAAGoI,GAC7C,EACF,EAAG,mBAAqBpI,EAAU,SAAMoD,KAAa,YAAS,EAChE,CACAspkC,EAAetrkC,UAAU,mBAAqBg6C,QAAUA,OAAOg5pB,eAAiB,mBAAqB,WACnG,OAAOhxsB,IACT,EAAGspkC,EAAetrkC,UAAUoO,KAAO,SAAUxP,GAC3C,OAAOoD,KAAK0jD,QAAQ,OAAQ9mD,EAC9B,EAAG0skC,EAAetrkC,UAAiB,MAAI,SAAUpB,GAC/C,OAAOoD,KAAK0jD,QAAQ,QAAS9mD,EAC/B,EAAG0skC,EAAetrkC,UAAkB,OAAI,SAAUpB,GAChD,OAAOoD,KAAK0jD,QAAQ,SAAU9mD,EAChC,EACAq1C,EAAOC,QAnEP,SAA6Bt1C,GAC3B,OAAO,WACL,OAAO,IAAI0skC,EAAe1skC,EAAEoL,MAAMhI,KAAMgC,WAC1C,CACF,EA+DsCiwC,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,kBCpE3G,IAAIoN,EAAiBxrB,EAAQ,OACzBihM,EAAiBjhM,EAAQ,OACzBy1iC,EAAmBz1iC,EAAQ,MAC3B+gM,EAAY/gM,EAAQ,MACxB,SAASs/G,EAAiB33H,GACxB,IAAImuC,EAAI,mBAAqBvlD,IAAM,IAAIA,SAAa,EACpD,OAAO4tC,EAAOC,QAAUkhG,EAAmB,SAA0B33H,GACnE,GAAI,OAASA,IAAM8tjC,EAAiB9tjC,GAAI,OAAOA,EAC/C,GAAI,mBAAqBA,EAAG,MAAM,IAAI21B,UAAU,sDAChD,QAAS,IAAMwY,EAAG,CAChB,GAAIA,EAAEtlD,IAAImX,GAAI,OAAOmuC,EAAEplD,IAAIiX,GAC3BmuC,EAAErlD,IAAIkX,EAAGkqC,EACX,CACA,SAASA,IACP,OAAOkvK,EAAUp5M,EAAGzZ,UAAWs9C,EAAet/C,MAAMu/C,YACtD,CACA,OAAOoG,EAAQ3nD,UAAYD,OAAO85C,OAAOp8B,EAAEzd,UAAW,CACpDuhD,YAAa,CACXlgD,MAAOsmD,EACPtQ,YAAY,EACZE,UAAU,EACVD,cAAc,KAEdy/K,EAAepvK,EAASlqC,EAC9B,EAAGw2B,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,QAASkhG,EAAiB33H,EACpG,CACAw2B,EAAOC,QAAUkhG,EAAkBnhG,EAAOC,QAAQyM,YAAa,EAAM1M,EAAOC,QAAiB,QAAID,EAAOC,O,kBCxBxG,IAAIs3hC,EAAU11iC,EAAQ,MAARA,GACdme,EAAOC,QAAUs3hC,EAGjB,IACEC,mBAAqBD,CACvB,CAAE,MAAOE,GACmB,iBAAfh07B,WACTA,WAAW+z7B,mBAAqBD,EAEhCn3hC,SAAS,IAAK,yBAAdA,CAAwCm3hC,EAE5C,C,kBCZA,IAAIG,EAAgB71iC,EAAQ,OAExBm9M,EAA0B,oBAAfv7F,WAA6BtjG,EAAAA,EAASsjG,WAGrDzjG,EAAOC,QAAU,WAEhB,IADA,IAA2D4D,EAAM,GACxD/2C,EAAI,EAAGA,EAAI4qkC,EAAcnrkC,OAAQO,IACN,mBAAxBkyO,EAAE041B,EAAc5qkC,MAE1B+2C,EAAIA,EAAIt3C,QAAUmrkC,EAAc5qkC,IAGlC,OAAO+2C,CACR,C,4DCXa8zhC,EAAY,CACxBl+jC,IAAK,MACLuhX,MAAO,QACP14W,YAAa,eCoCC,SAAS8e,IAA6D,IAAvDhC,EAASrvB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAG6vB,EAAS7vB,UAAAxD,OAAA,EAAAwD,UAAA,QAAA0D,EAAE0sB,EAAQpwB,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAG6D,EAAM7D,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,CAAC,EACjF,IACC,IAAA6nkC,EAAwDhkkC,EAAjDi3B,MAAAA,OAAK,IAAA+siC,ED5Ce,EC4CCA,EAAAC,EAA4BjkkC,EAA1B9F,KAAAA,OAAI,IAAA+pkC,EAAGF,EAAU38sB,MAAK68sB,EAEhD,GAECjq7B,EAAAA,EAAAA,MAAiBhuH,KACrBouH,EAAAA,EAAAA,IAAapuH,EAAWiL,GACzB,IACC9a,EAEGqP,EAFHrP,KACS2G,EACN0I,EADH/K,OAASqC,KAEJ+oH,GAAgBC,EAAAA,EAAAA,IAAiBhpH,IAAS,IAChDmpH,EAAAA,EAAAA,IAAK9vH,EAAM0vH,EAAe7/G,EAAWO,EAAUryB,EAChD,CAAE,MAAOmF,GAEJ+rC,CAEL,CACD,CC3DA,UAMIykG,WAAW8sO,wBACd9sO,WAAW8sO,sBAAsBnvV,MAAQA,E,kBCJ3B,SAASyvD,EAAOpvC,GACzBA,IAAQA,EAAS,CAAC,GAAE,QAAAz9B,EAAAjU,UAAAxD,OADgB8xF,EAAO,IAAA77E,MAAAwB,EAAA,EAAAA,EAAA,KAAAtG,EAAA,EAAAA,EAAAsG,EAAAtG,IAAP2gF,EAAO3gF,EAAA,GAAA3N,UAAA2N,GAUhD,OARA2gF,EACEv5D,OAAO,SAAC6e,GAAM,OAAgB,OAAXA,GAAqC,iBAAXA,CAAmB,GAChE3iB,QAAQ,SAAC2iB,GACT73C,OAAO4F,KAAKiyC,GAAQ3iB,QAAQ,SAAC3xB,GAC5BoyC,EAAOpyC,GAAOs0C,EAAOt0C,EACtB,EACD,GAEMoyC,CACR,CCPe,SAAS4tF,EAAUxhI,GAC5BA,IAAKA,EAAM,IACE,iBAAPA,IAAiBA,EAAMA,EAAIhC,YAElCgC,EAAIsnG,OAAO,iBAAmB,EACjCtnG,EAAMA,EAAI4f,cACA5f,GAAOA,EAAI,IAAMA,EAAI,GAAGqnF,gBAClCrnF,EAAMA,EAAI,GAAG4f,cAAgB5f,EAAI8U,MAAM,IAGxC,IAAMm1jC,EAAejqkC,EACnB2f,QAAQ,eAAgB,SAACk8b,EAAI7S,GAAE,OAAKA,EAAG3hX,aAAa,GACpD1nE,QAAQ,mBAAoB,SAACk8b,EAAI7S,EAAIwsG,GAAE,OAAKxsG,EAAKwsG,EAAGnud,aAAa,GAEnE,OAAO4i/B,EAAarxhC,OAAO,GAAGh5B,cAAgBqqjC,EAAan1jC,MAAM,EAClE,CCrBe,SAAS02H,EAAQr2H,GAC/B,OAAIA,GAASR,MAAMC,QAAQO,GAAeA,EAAM8hB,OAAOzO,SAEhD,EACR,CCAe,SAASlL,EAASmoD,EAAM5/C,EAAM3f,GAC5C,IAAIm3T,EACHstQ,EACAngjB,EACArqB,EACAg+P,EACAysU,EACAC,EAAiB,EACjBl7Z,GAAU,EACVm7Z,GAAS,EACTl7Z,GAAW,EAEZ,GAAmB,mBAARnqG,EACV,MAAM,IAAIn0B,UAAU,0BAUrB,SAASy5hB,EAAWhyf,GACnB,IAAI9kE,EAAOopT,EACVjtO,EAAUu6e,EAKX,OAHAttQ,EAAWstQ,OAAW/kkB,EACtBilkB,EAAiB9xf,EACjB54E,EAASslE,EAAKv9D,MAAMkoF,EAASn8E,EAE9B,CAkBA,SAAS+2jB,EAAajyf,GACrB,IAAIkyf,EAAoBlyf,EAAO6xf,EAM/B,YACkBhlkB,IAAjBglkB,GACAK,GAAqBpljB,GACrBoljB,EAAoB,GACnBH,GATqB/xf,EAAO8xf,GASKrgjB,CAEpC,CAEA,SAAS0gjB,IACR,IAAInyf,EAAOx1E,KAAKC,MAChB,GAAIwnkB,EAAajyf,GAChB,OAAOoyf,EAAapyf,GAErBolL,EAAU7yN,WAAW4/hB,EA9BtB,SAAuBnyf,GACtB,IACCmx/B,EAAsBnx/B,EAAO8xf,EAC7BO,EAAcvljB,GAFSkzD,EAAO6xf,GAI/B,OAAOE,EACJlujB,KAAKgL,IAAIwjjB,EAAa5gjB,EAAU0/iC,GAChC9+f,CACJ,CAsBoCC,CAActyf,GAClD,CAEA,SAASoyf,EAAapyf,GAKrB,OAJAolL,OAAUv4P,EAINgqK,GAAYytJ,EACR0tQ,EAAWhyf,IAEnBskP,EAAWstQ,OAAW/kkB,EACfzF,EACR,CAcA,SAASmrkB,IACR,IAAIvyf,EAAOx1E,KAAKC,MACf+nkB,EAAaP,EAAajyf,GAM3B,GAJAskP,EAAWn7T,UACXyokB,EAAWzqkB,KACX0qkB,EAAe7xf,EAEXwyf,EAAY,CACf,QAAgB3lkB,IAAZu4P,EACH,OAzEH,SAAqBplL,GAGpB,OAFA8xf,EAAiB9xf,EACjBolL,EAAU7yN,WAAW4/hB,EAAcrljB,GAC5B8pJ,EAAUo7Z,EAAWhyf,GAAQ54E,CACrC,CAqEUqrkB,CAAYZ,GAEpB,GAAIE,EAGH,OAFAh6hB,aAAaqtN,GACbA,EAAU7yN,WAAW4/hB,EAAcrljB,GAC5BkljB,EAAWH,EAEpB,CAIA,YAHgBhlkB,IAAZu4P,IACHA,EAAU7yN,WAAW4/hB,EAAcrljB,IAE7B1lB,CACR,CAGA,OA1GA0lB,EAAO8W,SAAS9W,IAAS,EACH,iBAAX3f,IACVypK,IAAYzpK,EAAQypK,QAEpBnlJ,GADAsgjB,EAAS,YAAa5kkB,GACH0W,KAAKiL,IAAIsoC,OAAOjqD,EAAQskB,UAAY,EAAG3E,GAAQ2E,EAClEolJ,EAAW,aAAc1pK,IAAYA,EAAQ0pK,SAAWA,GAmGzD07Z,EAAUj5e,OAnCV,gBACiBzsF,IAAZu4P,GACHrtN,aAAaqtN,GAEd0sU,EAAiB,EACjBxtQ,EAAWutQ,EAAeD,EAAWxsU,OAAUv4P,CAChD,EA8BA0lkB,EAAUnlhB,MA5BV,WACC,YAAmBvgD,IAAZu4P,EAAwBh+P,EAASgrkB,EAAa5nkB,KAAKC,MAC3D,EA2BO8nkB,CACR,CC5He,SAAStzX,EAAUz4M,EAAO4wC,GACxC,OAAgB,MAAT5wC,GAAiBA,GAAUA,EAAQA,EAAQ4wC,CACnD,CCFe,SAASsuJ,EAAWtpL,GAC7BA,IAAOA,EAAQ,IACG,IAAvB,IAAM63xB,EAAc,GAAG72xB,EAAAjU,UAAAxD,OAFqBoiD,EAAM,IAAAnsC,MAAAwB,EAAA,EAAAA,EAAA,KAAAtG,EAAA,EAAAA,EAAAsG,EAAAtG,IAANixC,EAAMjxC,EAAA,GAAA3N,UAAA2N,GAGlD,IAAK,IAAL5L,EAAA,EAAAkmkC,EAAkBrphC,EAAM78C,EAAAkmkC,EAAAzrkC,OAAAuF,IAAE,CAArB,IAAM+wC,EAAGm1hC,EAAAlmkC,GACT0Q,MAAMC,QAAQogC,IAAMg4vB,EAAYhpyB,KAAKgxC,EAC1C,CACA,IAAMo1hC,EAAiB,IAAI1jgC,IAAIsmuB,EAAYpwqB,QAC3C,OAAOznH,EAAM8hB,OAAO,SAAC13B,GAAK,OAAM6qkC,EAAe5lkC,IAAIjF,EAAM,EAC1D,CCRe,SAAS0xH,EAAO/iE,GAC9B,IAAKA,EAAQ,MAAO,GACpB,IAAMm8gC,EAAc,CACnB,IAAK,QACL,IAAK,OACL,IAAK,OACL,IAAK,SACL,IAAK,SAEAC,EAAgB,IAAI7hgC,OAAO,IAAD/mE,OAC3BzD,OAAO4F,KAAKwmkC,GAAar+gC,KAAK,IAAG,KACrC,KAED,OAAOkC,EACLlwD,WACA2hB,QAAQ2qjC,EAAe,SAACzpkC,GAAK,OAAKwpkC,EAAYxpkC,EAAM,EACvD,CChBe,SAASo2B,EAAO++hB,EAAY7vd,GAC1C,OAAK6vd,GAAe7vd,GACK,mBAAdA,IAA0BA,EAAY,WAAH,OAAS,CAAI,GACtDxxF,MAAMC,QAAQohjB,GAGZrhjB,MAAMzW,UAAU+4B,OAAOv3B,KAAKs2jB,EAAY7vd,GAFvCxxF,MAAMzW,UAAU+4B,OAAOv3B,KAAKzB,OAAO6iD,OAAOk1gB,GAAa7vd,IAHzB,EAMvC,C,mfCNe,SAASn3E,EAAKgniB,EAAY7vd,GAA0B,IAAf5yD,EAASrxC,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,EAE/D,GAD0B,iBAAf8zjB,IAAyBA,EAAarhjB,MAAM8wC,KAAKuwgB,KACvDA,GAAoC,iBAAfA,EACzB,MAAM,IAAI1khB,UAAU,qDAGrB,IAAM43C,GAAYv0E,MAAMC,QAAQohjB,IAAqC,iBAAfA,EAChD5ijB,EAAUnV,OAAOmV,QAAQ4ijB,GAC/B,IAAK7vd,GAAaxxF,MAAMC,QAAQohjB,GAC/B,OAAOA,EAAW,GACZ,IAAK7vd,EACX,OAAO/yF,EAAQ,GAAG,GAGnB,GACEuB,MAAMC,QAAQuxF,IACM,mBAAdA,GACc,iBAAdA,EAyBR,IApBA,IAAMznG,EAAS0U,EAAQ1U,OACjBqsF,EACgB,mBAAdob,EACJA,EACA,SAAC1oE,GACD,GAAI9oB,MAAMC,QAAQuxF,GAAY,CAC7B,IAAAok+B,EAAAxvjC,EAA0BorF,EAAS,GAA5B+pB,EAAQq68B,EAAA,GAAEhrkC,EAAKgrkC,EAAA,GACtB,OAAO9siC,EAAIyyF,KAAc3wH,CAC1B,CACC,IAAK,IAAMiC,KAAO2kG,EACjB,GAAI1oE,EAAIj8B,KAAS2kG,EAAU3kG,GAC1B,OAAO,EAGT,OAAO,CAER,EAIKvC,EADRs0C,EAAY,EAAI32B,KAAKiL,IAAImuiB,EAAWt3jB,OAAS60C,EAAW,GAAKA,EAC1Ct0C,EAAIP,EAAQO,IAAK,CACpC,IAAMuC,EAAM4R,EAAQnU,GAAG,GACjBM,EAAQ6T,EAAQnU,GAAG,GACzB,GAAI8rF,EAASxrF,EAAOiC,EAAKw0jB,GACxB,OAAO9se,EAAW3pF,EAAQy2jB,EAAWx0jB,EAEvC,CAED,CCjDe,SAASu0M,EAAQniK,EAAQuyD,GACvC,GAAKvyD,GACAuyD,GAAiC,mBAAbA,EACzB,IAAK,IAAM3kG,KAAOoyC,EACjB,GACC31C,OAAOC,UAAUwF,eAAehE,KAAKk0C,EAAQpyC,IAC7C2kG,EAAUvyD,EAAOpyC,GAAMA,EAAKoyC,GAE5B,OAAOpyC,CACV,CCZe,SAAS2yJ,EAAM6ha,GAC7B,GAAKrhjB,MAAMC,QAAQohjB,GACnB,OAAOA,EAAW,EACnB,CCDe,SAASvrZ,EAAQurZ,EAAYjre,GAC3C,IAAKire,EAAY,MAAO,GACnBjre,GAA+B,mBAAZA,IAAwBA,EAAW,SAACr7D,GAAG,OAAKA,CAAG,GAGvE,IAFA,IAAMvvB,EAAS,GAENlB,EAAI,EAAGA,EAAI+2jB,EAAWt3jB,OAAQO,IAAK,CAC3C,IAAMinT,EAASn7N,EAASire,EAAW/2jB,IAE/B0V,MAAMC,QAAQsxS,GACjB/lT,EAAO6D,KAAKkE,MAAM/H,EAAQ+lT,GAE1B/lT,EAAO6D,KAAKkiT,EAEd,CAEA,OAAO/lT,CACR,CCfe,SAASgzB,EAAQ6iiB,EAAYjre,GAa3C,MAZwB,mBAAbA,IAAyBA,EAAW,SAAChmC,GAAC,OAAKA,CAAC,GAEnDpwC,MAAMC,QAAQohjB,GACjBA,EAAW7iiB,QAAQ,SAAC2jF,EAASxsG,EAAO6K,GAAK,OACxC41E,EAAS+rB,EAASxsG,EAAO6K,EAAM,GAEtB6gjB,GACV/3jB,OAAO4F,KAAKmyjB,GAAY7iiB,QAAQ,SAAC3xB,GAAG,OACnCupF,EAASire,EAAWx0jB,GAAMA,EAAKw0jB,EAAW,GAIrCA,CACR,CCde,SAAS7za,EAAOvuG,EAAQm3C,GAMtC,OALIn3C,GAA4B,iBAAXA,IACfm3C,IAAUA,EAAW,SAAChmC,GAAC,OAAKA,CAAC,GAClC9mD,OAAO4F,KAAK+vC,GAAQzgB,QAAQ,SAAC3xB,GAAG,OAAKupF,EAASn3C,EAAOpyC,GAAMA,EAAKoyC,EAAO,IAGjEA,CACR,CCXe,SAAS9W,EAAQv9B,GAC/B,OAAa,MAATA,IACiB,iBAAVA,GAAsBoV,MAAMC,QAAQrV,GACtB,IAAjBA,EAAMb,OACO,iBAAVa,GAAyD,IAA9BtB,OAAO4F,KAAKtE,GAAOb,OAG1D,C,q/BCHe,SAASgG,EAAIkvC,EAAQ3zB,EAAMkwB,GACzC,IAAKlwB,GAAQ6c,EAAQ7c,GACpB,OAAOkwB,EAER,IAQsBtrC,EADlBtF,EAAQq0C,EAAO7uC,EAAAC,EAPN2P,MAAMC,QAAQqL,GACxBA,EACAA,EACCjiB,WACA6vC,MAAM,UACN5W,OAAOzO,UAGW,IAAtB,IAAAzjB,EAAAE,MAAAJ,EAAAE,EAAAG,KAAAC,MAAwB,KAAb3D,EAAGqD,EAAAtF,MACb,GAAa,MAATA,EAAe,MAEnB,GAAIoV,MAAMC,QAAQrV,IAAU,QAAQoB,KAAKa,GAExCjC,EAAQA,EADMo9B,SAASn7B,EAAK,UAG5BjC,EAAQA,EAAMiC,EAEhB,CAAC,OAAA4D,GAAAL,EAAAjI,EAAAsI,EAAA,SAAAL,EAAAM,GAAA,CAED,YAAiBO,IAAVrG,EAAsB4wC,EAAe5wC,CAC7C,CC5Be,SAAS2pF,EAASllB,GAChC,IAAI/jE,SAAc+jE,EAClB,OAAgB,MAATA,IAA0B,UAAR/jE,GAA4B,YAARA,EAC9C,CCAe,SAASuE,EAAIovC,EAAQ3zB,GACnC,IAAKipE,EAASt1C,KAAY3zB,EAAM,OAAO,EAIvC,IAFA,IAAMuqjC,EAAe71jC,MAAMC,QAAQqL,GAAQA,EAAOA,EAAK4tB,MAAM,KAEpD5uC,EAAI,EAAGA,EAAIurkC,EAAa9rkC,OAAQO,IAAK,CAC7C,IAAMk/E,EAAUqs/B,EAAavrkC,GACvBwrkC,EAAiBts/B,EAAQngF,WAAWkB,QAAQ,KAC5CwrkC,EAAkBvs/B,EAAQngF,WAAWkB,QAAQ,KACnD,GAAIurkC,GAAkB,EAAG,CACxB,IAAMxghC,EAAMk0B,EAAQ9+E,UAAU,EAAGorkC,GAC3BngkC,EAAQqyB,SACbwhD,EAAQ9+E,UAAUorkC,EAAiB,EAAGC,IAEvC,SAAK92hC,KAAYqW,KAAOrW,MAEjBtpC,GADPspC,EAASA,EAAOqW,IACMvrD,QAAU4L,GAAS,EAC1C,CACA,IAAKspC,KAAYuqC,KAAWvqC,GAAS,OAAO,EAC5CA,EAASA,EAAOuqC,EACjB,CAEA,OAAO,CACR,CCvBe,SAASqjE,EAAM5tG,EAAQpyC,GACrC,IAAKoyC,EAAQ,OAAO,EAEpB,GAAIj/B,MAAMC,QAAQpT,GAAM,CAEvB,IADA,IAAImpkC,EAAU/2hC,EACL30C,EAAI,EAAGA,EAAIuC,EAAI9C,OAAQO,IAAK,CACpC,IAAIo+C,EAAI77C,EAAIvC,GACZ,KAAMo+C,KAAKsthC,GAAU,OAAO,EAC5BA,EAAUA,EAAQtthC,EACnB,CACA,OAAO,CACR,CAAO,OAAO77C,KAAOoyC,CACtB,CCfe,SAAS87C,EAAS1rB,GAChC,OAAOA,CACR,CCCe,SAAS9rD,EAAS89iB,EAAYz2jB,GAAsB,IAAfg0C,EAASrxC,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAG,EAC/D,GAA0B,iBAAf8zjB,EACV,OAAiD,IAA1CA,EAAW92jB,QAAQK,EAAOg0C,GAGlC,GAAI5+B,MAAMC,QAAQohjB,IACjB,IAAK,IAAI/2jB,EAAIs0C,EAAWt0C,EAAI+2jB,EAAWt3jB,OAAQO,IAC9C,GAAI+2jB,EAAW/2jB,KAAOM,EACrB,OAAO,OAIT,IAAK,IAAMiC,KAAOw0jB,EACjB,GAAI/3jB,OAAOC,UAAUwF,eAAehE,KAAKs2jB,EAAYx0jB,IAChDw0jB,EAAWx0jB,KAASjC,EACvB,OAAO,EAMX,OAAO,CACR,CCnBe,SAASu9D,EAAQgb,EAAQvjE,EAAOC,GAM9C,QALY5O,IAAR4O,IACHA,EAAMD,EACNA,EAAQ,GAGLA,EAAQC,EAAK,KAAAnJ,EACD,CAACmJ,EAAKD,GAApBA,EAAKlJ,EAAA,GAAEmJ,EAAGnJ,EAAA,EACZ,CAEA,OAAOysE,GAAUvjE,GAASujE,EAAStjE,CACpC,CCjBe,SAASI,EAAQovD,GAC/B,OAAOrvD,MAAMC,QAAQovD,EACtB,CCDe,SAAS63G,EAAUt8K,GACjC,MAAwB,kBAAVA,CACf,CCDe,SAASuhJ,EAAQvhJ,EAAOwoF,GACtC,GAAIxoF,IAAUwoF,EACb,OAAO,EAGR,UAAWxoF,UAAiBwoF,GAAmB,OAAVxoF,GAA4B,OAAVwoF,EACtD,OAAO,EAGR,GAAqB,iBAAVxoF,EACV,OAAO,EAGR,IAAMqrkC,EAAW3skC,OAAOC,UAAUF,SAAS0B,KAAKH,GAGhD,GAAIqrkC,IAFa3skC,OAAOC,UAAUF,SAAS0B,KAAKqoF,GAG/C,OAAO,EAGR,GAAiB,mBAAb6i/B,EAA+B,CAClC,IAAMlskC,EAASa,EAAMb,OAErB,GAAIA,IAAWqpF,EAAMrpF,OACpB,OAAO,EAGR,IAAK,IAAIO,EAAI,EAAGA,EAAIP,EAAQO,IAC3B,IAAK6hJ,EAAQvhJ,EAAMN,GAAI8oF,EAAM9oF,IAC5B,OAAO,EAIT,OAAO,CACR,CAEA,GAAiB,oBAAb2rkC,EAAgC,CACnC,IAAMC,EAAY5skC,OAAO4F,KAAKtE,GACxBurkC,EAAY7skC,OAAO4F,KAAKkkF,GAE9B,GAAI8i/B,EAAUnskC,SAAWoskC,EAAUpskC,OAClC,OAAO,EAGR,IAAK,IAALuF,EAAA,EAAA8mkC,EAAgBF,EAAS5mkC,EAAA8mkC,EAAArskC,OAAAuF,IAAE,CAAtB,IAAIzC,EAAGupkC,EAAA9mkC,GACX,IACEhG,OAAOC,UAAUwF,eAAehE,KAAKqoF,EAAOvmF,KAC5Cs/I,EAAQvhJ,EAAMiC,GAAMumF,EAAMvmF,IAE3B,OAAO,CAET,CAEA,OAAO,CACR,CAEA,OAAO,CACR,CC3De,SAASkpD,EAAWnrD,GAClC,MAAwB,mBAAVA,CACf,CCDe,SAAS8yM,EAAM9yM,GAC7B,MAAiD,iBAA1CtB,OAAOC,UAAUF,SAAS0B,KAAKH,EACvC,CCHe,SAAS4tH,EAAMnpD,GAC7B,OAAgB,MAATA,CACR,CCDe,SAAS+hE,EAAOxmI,GAC9B,OAAiB,OAAVA,CACR,CCHe,SAASs4H,EAAS7zD,GAChC,MAAwB,iBAAVA,CACf,CCDe,SAASurB,EAAchwF,GACrC,GAAqB,iBAAVA,GAAgC,OAAVA,EAAgB,OAAO,EAExD,IAAMghD,EAAQtiD,OAAOuhD,eAAejgD,GACpC,OAAiB,OAAVghD,GAAkBA,IAAUtiD,OAAOC,SAC3C,CCNe,SAASg1E,EAASlP,GAChC,MAAwB,iBAAVA,CACf,CCFe,SAAS0sH,EAAY1sH,GACnC,YAAwB,IAAVA,CACf,CCAe,SAAS29D,EAAU3hI,GACjC,OAAKA,EAEEA,EACLhC,WACA2hB,QAAQ,qBAAsB,SAC9BA,QAAQ,kBAAmB,SAC3BA,QAAQ,kBAAmB,SAC3BA,QAAQ,iBAAkB,KAC1BC,cACAD,QAAQ,WAAY,IATL,EAUlB,CCXe,SAAStQ,EAAI2mjB,EAAYjre,GACvC,IAAKire,EACJ,MAAO,GAKR,GAH0B,iBAAfA,IACVA,EAAarhjB,MAAM8wC,KAAKuwgB,KAEpBjre,EACJ,OAAOp2E,MAAMC,QAAQohjB,GAAcA,EAAa/3jB,OAAO6iD,OAAOk1gB,GAE/D,IAAM71jB,EAAS,GACf,GAAIwU,MAAMC,QAAQohjB,GACjB,GAAwB,iBAAbjre,EACV,IAAK,IAAI9rF,EAAI,EAAGA,EAAI+2jB,EAAWt3jB,OAAQO,IAClCA,KAAK+2jB,GACR71jB,EAAO6D,KAAKgyjB,EAAW/2jB,GAAG8rF,SAGtB,GAAwB,iBAAbA,GACjB,IAAK,IAAI9rF,EAAI,EAAGA,EAAI+2jB,EAAWt3jB,OAAQO,IACtC,GAAIA,KAAK+2jB,EAAY,CACpB,IAAM7lhB,OACgBvqC,IAArBmlF,EAAS1nE,SAAwB0nE,EAAS1nE,QACrC2njC,EAAcjg/B,EAAS9qE,KAC3B4tB,MAAM,KACNx3B,OAAO,SAAConB,EAAKj8B,GAAG,OAAKi8B,GAAOA,EAAIj8B,EAAI,EAAEw0jB,EAAW/2jB,IACnDkB,EAAO6D,UAAqB4B,IAAhBolkC,EAA4BA,EAAc76hC,EACvD,OAGD,IAAK,IAAIlxC,EAAI,EAAGA,EAAI+2jB,EAAWt3jB,OAAQO,IAClCA,KAAK+2jB,GACR71jB,EAAO6D,KAAK+mF,EAASire,EAAW/2jB,GAAIA,EAAG+2jB,SAIpC,GAA0B,iBAAfA,EACjB,IAAK,IAALhmc,EAAA,EAAAK,EAA2BpyH,OAAOmV,QAAQ4ijB,GAAWhmc,EAAAK,EAAA3xH,OAAAsxH,IAAE,CAAlD,IAAAM,EAAAv1G,EAAAs1G,EAAAL,GAAA,GAAOxuH,EAAG8uH,EAAA,GAAE/wH,EAAK+wH,EAAA,GACrB,GAAwB,mBAAbvlC,EACV5qF,EAAO6D,KAAK+mF,EAASxrF,EAAOiC,SACtB,GAAwB,iBAAbupF,EACjB5qF,EAAO6D,KAAKzE,EAAMwrF,SACZ,GAAwB,iBAAbA,EAAuB,MAElBnlF,IAArBmlF,EAAS1nE,SAAwB0nE,EAAS1nE,QAD3C,IAEM2njC,EAAcjg/B,EAAS9qE,KAC3B4tB,MAAM,KACNx3B,OAAO,SAAConB,EAAKj8B,GAAG,OAAKi8B,GAAOA,EAAIj8B,EAAI,EAAEjC,GACxCY,EAAO6D,UAAqB4B,IAAhBolkC,EAA4BA,EAAcjg/B,EAAS1nE,QAChE,CACD,CAED,OAAOljB,CACR,CCrDe,SAASg+L,EAAQ8M,EAAUlgH,GACzC,IAAKA,EAAU,OAAOozG,EAAQ8M,EAAU,SAAClmJ,GAAC,OAAKA,CAAC,GAChD,GAAwB,iBAAbgmC,EACV,OAAOozG,EAAQ8M,EAAU,SAACzpM,GAEzB,OAD6BA,EAArBupF,EAET,GACM,GAAiB,OAAbkgH,GAAyC,iBAAbA,EAAuB,MAAO,CAAC,EACtE,IAAM9qM,EAAS,CAAC,EACVuD,EAAiBzF,OAAOC,UAAUwF,eACxC,IAAK,IAAMlC,KAAOypM,EACbvnM,EAAehE,KAAKurM,EAAUzpM,KACjCrB,EAAO4qF,EAASkgH,EAASzpM,GAAMA,IAAQypM,EAASzpM,IAGlD,OAAOrB,CACR,CCde,SAASwwI,EAAU/8F,EAAQm3C,GACzC,GAAgB,MAAZA,GAAwC,mBAAbA,EAC9B,OAAO4lD,EAAU/8F,EAAQ,SAACr0C,GAEzB,OAD+BA,EAAvBwrF,EAET,GAED,IAAKA,EAAU,OAAO4lD,EAAU/8F,EAAQ,SAACmR,GAAC,OAAKA,CAAC,GAEhD,IAAI5kD,EAAS,CAAC,EACd,IAAKyzC,EAAQ,OAAOzzC,EAEpB,IAAK,IAAL8D,EAAA,EAAAosH,EAA2BpyH,OAAOmV,QAAQwgC,GAAO3vC,EAAAosH,EAAA3xH,OAAAuF,IAAE,CAA9C,IAAAqsH,EAAAv1G,EAAAs1G,EAAApsH,GAAA,GAAOzC,EAAG8uH,EAAA,GAAE/wH,EAAK+wH,EAAA,GACrBnwH,EAAOqB,GAAOupF,EAASxrF,EAAOiC,EAAKoyC,EACpC,CAEA,OAAOzzC,CACR,CCbe,SAASowF,EAAU38C,EAAQkC,EAAQ44C,GAGjD,GAFK96C,IAAQA,EAAS,CAAC,IAElBkC,EAAQ,OAAOlC,EAEpB,IAAK,IAAL3vC,EAAA,EAAAosH,EAA2BpyH,OAAOmV,QAAQ0iC,GAAO7xC,EAAAosH,EAAA3xH,OAAAuF,IAAE,CAA9C,IAAAqsH,EAAAv1G,EAAAs1G,EAAApsH,GAAA,GAAOzC,EAAG8uH,EAAA,GAAE/wH,EAAK+wH,EAAA,GACfnwH,EAASuuF,EAAW96C,EAAOpyC,GAAMjC,EAAOiC,EAAKoyC,EAAQkC,GAG1DlC,EAAOpyC,QADOoE,IAAXzF,EACW8qkC,EAAqBr3hC,EAAOpyC,GAAMjC,EAAOmvF,GAEzCvuF,CAEhB,CAEA,OAAOyzC,CACR,CAEA,SAASq3hC,EAAqBz9+B,EAAUyB,EAAUP,GACjD,MAAwB,iBAAbO,GAA6C,iBAAbzB,EACnC+C,EAAU/C,EAAUyB,EAAUP,GAG/BO,CACR,CC/Be,SAASrP,EAAOumB,GAC9B,OAAO,WACN,OAAQA,EAASj+F,WAAA,EAAAhG,UAClB,CACD,CCPe,SAASyoH,IAAQ,CCIjB,SAASikF,EAAKh7J,GAAkB,QAAAz9B,EAAAjU,UAAAxD,OAAPm/E,EAAK,IAAAlpE,MAAAwB,EAAA,EAAAA,EAAA,KAAAtG,EAAA,EAAAA,EAAAsG,EAAAtG,IAALguE,EAAKhuE,EAAA,GAAA3N,UAAA2N,GAC5C,IAAK+jC,EAAQ,MAAO,CAAC,EACrB,IAAKiqC,EAAO,OAAOjqC,EACnB,IAAMzzC,EAAS,CAAC,EACV+qkC,EAAcrt/B,EAAM++C,OAE1B,IAAK,IAAMp7H,KAAOoyC,EACbs3hC,EAAYhzjC,SAAS1W,KAEzBrB,EAAOqB,GAAOoyC,EAAOpyC,IAGtB,OAAOrB,CACR,CCVe,SAASqlI,EAAQ//D,GAAmB,QAAAtvD,EAAAjU,UAAAxD,OAAV8kkB,EAAQ,IAAA7ujB,MAAAwB,EAAA,EAAAA,EAAA,KAAAtG,EAAA,EAAAA,EAAAsG,EAAAtG,IAAR2zjB,EAAQ3zjB,EAAA,GAAA3N,UAAA2N,GAChD,GAAmB,mBAAR41D,EACV,MAAM,IAAIn0B,UAAU,wCACrB,OAAO,WAAkB,QAAA4qC,EAAAh6E,UAAAxD,OAANuV,EAAI,IAAAU,MAAAunE,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJloE,EAAIkoE,GAAAj6E,UAAAi6E,GACtB,IAAMgv/B,EAAW3ngB,EACfn0jB,IAAI,SAAC+7jC,GAAU,OACfA,IAAe5l8B,EAAQzjG,YAAc9tB,EAAK4pD,QAAUutgC,CAAU,GAE9D1pkC,OAAOuS,GACT,OAAOwxD,EAAKv9D,MAAMhI,KAAMirkC,EACzB,CACD,C,q/BCbe,SAAS3g6B,EAAUwrZ,EAAY7vd,GAC7C,IAAKA,GAAiC,mBAAbA,EACxB,OAAOqkE,EAAUwrZ,EAAY,SAACjxgB,GAAC,OAAKA,CAAC,GACtC,IACIsmhC,EACAC,EACJ,GAHgB32jC,MAAMC,QAAQohjB,GAGjB,CACZq1gB,EAAS,GACTC,EAAQ,GAAG,IACqBzmkC,EADrBE,EAAAC,EACWgxjB,GAAU,IAAhC,IAAAjxjB,EAAAE,MAAAJ,EAAAE,EAAAG,KAAAC,MAAkC,KAAvB2xG,EAAOjyG,EAAAtF,MACb4mG,EAAU2Q,GACbu09B,EAAOrnkC,KAAK8yG,GAEZw09B,EAAMtnkC,KAAK8yG,EAEb,CAAC,OAAA1xG,GAAAL,EAAAjI,EAAAsI,EAAA,SAAAL,EAAAM,GAAA,CACF,MAAO,GAA0B,iBAAf2wjB,GAGjB,IAAK,IAAMx0jB,KAFX6pkC,EAAS,CAAC,EACVC,EAAQ,CAAC,EACSt1gB,EACjB,GAAI/3jB,OAAOC,UAAUwF,eAAehE,KAAKs2jB,EAAYx0jB,GAAM,CAC1D,IAAMjC,EAAQy2jB,EAAWx0jB,GACrB2kG,EAAU5mG,GACb8rkC,EAAO7pkC,GAAOjC,EAEd+rkC,EAAM9pkC,GAAOjC,CAEf,OAEK,GAA0B,iBAAfy2jB,EAAyB,CAC1Cq1gB,EAAS,GACTC,EAAQ,GAAG,IACkBt4jC,EADlBC,EAAAjO,EACQgxjB,GAAU,IAA7B,IAAA/ijB,EAAAhO,MAAA+N,EAAAC,EAAA/N,KAAAC,MAA+B,KAApBw6E,EAAI3sE,EAAAzT,MACV4mG,EAAUxmB,GACb0r/B,GAAU1r/B,EAEV2r/B,GAAS3r/B,CAEX,CAAC,OAAAv6E,GAAA6N,EAAAnW,EAAAsI,EAAA,SAAA6N,EAAA5N,GAAA,CACF,CACA,MAAO,CAACgmkC,EAAQC,EACjB,CC1Ce,SAASj1jC,EAAO2/iB,EAAYjre,EAAUjwE,GACpD,GAAKiwE,GAA+B,mBAAZA,EAAxB,CACA,IAAMn2E,EAAUD,MAAMC,QAAQohjB,GAE9B,GAD0B,iBAAfA,IAAyBA,EAAarhjB,MAAM8wC,KAAKuwgB,KACvDA,IAAgBphjB,GAAgC,iBAAdohjB,EAAyB,MAAO,CAAC,EAExE,IAAMnyjB,EAAO5F,OAAO4F,KAAKmyjB,GACnBt3jB,EAASmF,EAAKnF,OAChB4L,GAAS,EAEb,GAAIpI,UAAUxD,OAAS,EAAG,CACzB,GAAe,IAAXA,EAAc,OAClBoc,EAAck7iB,EAAWnyjB,IAAOyG,GACjC,CAEA,OAASA,EAAQ5L,GAAQ,CACxB,IAAM8C,EAAMoT,EAAUtK,EAAQzG,EAAKyG,GACnCwQ,EAAciwE,EAASjwE,EAAak7iB,EAAWx0jB,GAAMA,EAAKw0jB,EAC3D,CAEA,OAAOl7iB,CAnByD,CAoBjE,CCrBe,SAASrW,EAAImvC,EAAQ3zB,EAAM1gB,GACzC,OAAY,MAAR0gB,IAEgB,iBAATA,IACVA,EAAOA,EACL4tB,MAAM,aACN5W,OAAOzO,SACPnZ,IAAI,SAACuoE,GACL,OAAO1iE,MAAM0iE,GAAQA,EAAOznB,OAAOynB,EACpC,IAGF33D,EAAK5J,OAAO,SAAC8nqB,EAAM38qB,EAAK8I,GACvB,GAAIA,IAAU2V,EAAKvhB,OAAS,EAQ3B,MANmB,iBAAR8C,GACLmT,MAAMC,QAAQupqB,KAAOA,EAAO,SACfv4qB,IAAdu4qB,EAAK38qB,KAAoB28qB,EAAK38qB,GAAO,CAAC,IAErC28qB,EAAK38qB,KAAM28qB,EAAK38qB,GAAO,CAAC,GAEvB28qB,EAAK38qB,GARkB28qB,EAAK38qB,GAAOjC,CAU5C,EAAGq0C,IAtBsBA,CAyB1B,CC1Be,SAASiuF,GAAU7hI,GACjC,OAAKA,EAEEA,EACLhC,WACA2hB,QAAQ,qBAAsB,SAC9BA,QAAQ,kBAAmB,SAC3BA,QAAQ,kBAAmB,SAC3BA,QAAQ,iBAAkB,KAC1BC,cACAD,QAAQ,WAAY,IATL,EAUlB,CCZe,SAASke,GAAKm4hB,EAAY7vd,GACxC,QAAkBvgG,IAAdugG,EAAyB,OAAO6vd,EAAWt3jB,OAAS,EACnD,GAAyB,mBAAdynG,EAA0B,OAAO,EAC5C,GAAIxxF,MAAMC,QAAQohjB,IACtB,IAAK,IAAI/2jB,EAAI,EAAGA,EAAI+2jB,EAAWt3jB,OAAQO,IACtC,GAAIknG,EAAU6vd,EAAW/2jB,GAAIA,EAAG+2jB,GAC/B,OAAO,OAGH,GAAmB,OAAfA,GAA6C,iBAAfA,EACxC,IAAK,IAAL/xjB,EAAA,EAAAosH,EAA2BpyH,OAAOmV,QAAQ4ijB,GAAW/xjB,EAAAosH,EAAA3xH,OAAAuF,IAAE,CAAlD,IAAAqsH,EAAAv1G,EAAAs1G,EAAApsH,GAAA,GAAOzC,EAAG8uH,EAAA,GACd,GAAInqB,EADiBmqB,EAAA,GACA9uH,EAAKw0jB,GACzB,OAAO,CAET,MACM,GAA0B,iBAAfA,EACjB,IAAK,IAAI/2jB,EAAI,EAAGA,EAAI+2jB,EAAWt3jB,OAAQO,IACtC,GAAIknG,EAAU6vd,EAAWp9gB,OAAO35C,GAAIA,EAAG+2jB,GACtC,OAAO,EAIV,OAAO,CACR,CCvBe,SAASv0V,GAAQzhO,GAC/B,OAAKA,EACEA,EAAIhC,WAAW4hB,cADL,EAElB,CCDe,SAASgpJ,KAAiB,QAAAzyJ,EAAAjU,UAAAxD,OAAR0+jB,EAAM,IAAAzojB,MAAAwB,GAAAtG,EAAA,EAAAA,EAAAsG,EAAAtG,IAANutjB,EAAMvtjB,GAAA3N,UAAA2N,GACtC,OAAKutjB,EACiBA,EAAOnmiB,OAAOzO,SAASnS,OAAO,SAACujF,EAAK2x+B,GAMzD,OALAA,EAAap4iC,QAAQ,SAACpE,GAChB6qE,EAAI/7D,KAAK,SAAC2tiC,GAAO,OAAK1q7B,EAAQ0q7B,EAASz8iC,EAAK,IAChD6qE,EAAI51F,KAAK+qB,EAEX,GACO6qE,CACR,EAAG,IARiB,EAUrB,CPGA4rC,EAAQzjG,YAAcmW,S,gBQjBP,SAAS4uJ,GAAK3xL,GAC5B,IAAKR,MAAMC,QAAQO,GAClB,MAAM,IAAIvV,MAAM,mCAEjB,OAAAswB,GAAW,IAAIw2C,IAAIvxD,GACpB,CCCe,SAASsjK,GAAOtjK,EAAO41E,GACrC,IAAK51E,GAAyB,GAAhBA,EAAMzW,OAAa,MAAO,GACxC,GAAuB,mBAAZqsF,EAAwB,OAAOp2E,MAAM0nD,GAAGlnD,EAAM,IACzD,IAAMm4F,EAAO,IAAI5mC,IACjB,OAAOvxD,EAAM8hB,OAAO,SAAC13B,GACpB,IAAMu4U,EAAgB/sP,EAASxrF,GAC/B,OAAK+tG,EAAK9oG,IAAIszU,KACbxqO,EAAK5/F,IAAIoqU,IACF,EAGT,EACD,CCjBe,SAASh3R,GAAOlN,GAC9B,OAAKA,GAA2B,iBAAVA,EACf31C,OAAO6iD,OAAOlN,GAD4B,EAElD,C,wDCDWm5W,E,sBAEJ,SAAe0+qB,IAAO,OAAAC,EAAAxjkC,MAAC,KAADhG,UAAA,CAsB5B,SAAAwpkC,IAAA,OAAAA,EAAA1/jC,EAAAC,EAAAA,KAtBM,SAAAC,IAAA,OAAAD,EAAAA,KAAA,SAAAG,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,WACDzK,OAAOkrZ,IAAK,CAAF3gZ,EAAAE,KAAA,QAEK,OAAjBygZ,EAAMlrZ,OAAOkrZ,IAAI3gZ,EAAAK,OAAA,oBAII,mBAAZunB,QAAsB,CAAA5nB,EAAAE,KAAA,QAEM,OAArCygZ,EAAM/4X,QAAQ,uBAAuB5nB,EAAAK,OAAA,wBAAAL,EAAAE,KAAA,EAMjC,6CAA6B,UAC9BzK,OAAOkrZ,IAAK,CAAF3gZ,EAAAE,KAAA,cACP,IAAI1M,MACR,6GACD,OAEHmtZ,EAAMlrZ,OAAOkrZ,IAAI,wBAAA3gZ,EAAAM,OAAA,EAAAR,EAAA,KAClBhE,MAAA,KAAAhG,UAAA,CCWD,SAAAypkC,IAFC,OAEDA,EAAA3/jC,EAAAC,EAAAA,KAlBA,SAAAC,EAA4B4qG,EAAShJ,GAAI,OAAA7hG,EAAAA,KAAA,SAAAG,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,UAClCygZ,EAAK,CAAF3gZ,EAAAE,KAAA,eAAAF,EAAAE,KAAA,EAEAm/jC,IAAS,cAAAr/jC,EAAAK,OAAA,SAGV,IAAI1F,QAAQ,SAACC,EAASC,GAE3B8lZ,EAAItpW,IAAIqzD,EAAShJ,EAAM,SAAC1oG,EAAKo8E,GACvBp8E,EACF6B,EAAO,IAAIrH,MAAMwF,IAEjB4B,EAAQw6E,EAEZ,EACF,IAAE,wBAAAp1E,EAAAM,OAAA,EAAAR,EAAA,IACHy/jC,EAAAzjkC,MAAA,KAAAhG,UAAA,CAsDM,IAAM4wX,EAAc,SAACD,EAAM43E,GAChC,IAAQryY,EAAWy6T,EAAXz6T,OACRqyY,EAAM86B,UAAU1yG,EAAKmyG,UAAU9me,UAAW,aAAc,SAAiBgI,GAAS,IAAAsE,EAAA,KAE1EohkC,EAAU1rkC,KAAKgne,KACfp5X,EAAO5nG,GAAW,CAAC,EAEnBqhJ,EA9FV,SAAkBuD,GAChB,GAAKA,GAAYA,EAAQpsJ,OAAzB,CAGA,IAAMyB,EAAS,CAAC,EAIhB,OAHA2qJ,EAAQ33H,QAAQ,SAAAg8M,GACdhvO,EAAOgvO,GAAQ,CAAElrE,SAAS,EAC5B,GACO9jK,CALP,CAMF,CAqFkBiyd,CAAStkX,EAAK+99B,cAEtBC,EAAW,CACfl5nB,YAAa,CAAC,eAEZrrT,IACFuk7B,EAASvk7B,MAAQA,GAEnB,IAAIpiJ,EAAO2oG,EAAK3oG,KAAO2oG,EAAK3oG,UAAOS,GAC9BT,IACHA,EAAO,WAAO,GAGZ2oG,EAAKw5W,cACoBsknB,EAAQ3z9B,WAAW6B,iBAAiBhM,EAAKw5W,YAAYtpd,YAC7Dm1B,QAAQ,SAAA2K,GAAE,OAAIA,EAAGo5E,aAAa,eAAe,EAAK,GAGvE,IAAM/2G,EArGV,SAM2B2R,EAAAG,GAAA,OAAA05jC,EAAAzjkC,MAAC,KAADhG,UAAA,CA+FR6pkC,CAAaH,EAASE,GAAU9pkC,KAAK,SAAAw/E,GAAO,OArE/D,SAAwB5B,EAAQ4B,EAASr8E,GACvC,IAAQ0td,EAAerxY,EAAfqxY,WAER,GAAIA,EAAWn0d,QAAUkhF,EACvBz6E,QADF,CAKA,GAAK0td,EAAWn0d,QAAWkhF,EAA3B,CAKA,IAAMpmD,EAAW,GACbq5b,EAAWn0d,SACb86B,EAASA,EAAS96B,QAAU,2BAC5B86B,EAASA,EAAS96B,QAAU,MAC5Bm0d,EAAW1/b,QAAQ,SAAA64iC,GACjBxyiC,EAASA,EAAS96B,QAAU,SAAHgD,OAAYsqkC,EAAU/pjC,IAC/CuX,EAASA,EAAS96B,QAAU,WAAHgD,OAAcsqkC,EAAU5nqB,QACjD5qY,EAASA,EAAS96B,QAAU,GAAHgD,OAAMsqkC,EAAU79mB,KAAI,MAAAzsd,OAAKsqkC,EAAU78mB,QAAO,KACnE68mB,EAAU5y9B,MAAMjmF,QAAQ,SAAAuzB,GACtBltB,EAASA,EAAS96B,QAAU,GACxBgoD,EAAK19C,SACPwwB,EAASA,EAAS96B,QAAU,iBAAHgD,OAAoBglD,EAAK19C,SAEpDwwB,EAASA,EAAS96B,QAAU,YAAHgD,OAAeglD,EAAKwlU,MACzCxlU,EAAKgqa,iBACPl3b,EAASA,EAAS96B,QAAU,GAAHgD,OAAMglD,EAAKgqa,gBAExC,GACAl3b,EAASA,EAAS96B,QAAU,KAC9B,IAGF,IAAMknE,EAAM,IAAIhmE,MAAM45B,EAASwyB,KAAK,OAEpC,MADA7mD,EAAKygE,GACCA,CA1BN,CAFEzgE,GAHF,CAgCF,CA+B+D,CAE1Cslc,EAAM/uO,KAAKlxN,EAAM,UAAWg3E,EAASr8E,EAAK,GAK3D,OAFAjF,KAAK8B,KAAO7B,EAAO6B,KAAK6iE,KAAK1kE,GAEtBD,IACT,GAEAk4D,EAAO6zgC,aAAe,SAAsBL,EAAS1lkC,GACnD,OAAO,IAAI2sX,EAAKmyG,UAAU4mmB,GAAS9u/B,GAAG4xU,GAAGw9qB,WAAWhmkC,EACtD,EAEAkyD,EAAO+zgC,gBAAkB,SAAsBP,EAAS1lkC,GACtD,OAAO,IAAI2sX,EAAKmyG,UAAU4mmB,GAAS9psB,IAAIhlT,GAAG4xU,GAAGw9qB,WAAWhmkC,EAC1D,CACF,C,sMCvIaorX,EAASuB,EAAAA,OACTz7W,EAAUy7W,EAAAA,QACVmyG,EAAYnyG,EAAAA,UACZmuB,EAAiBnuB,EAAAA,eACjBa,EAAOb,EAAAA,KACP9sX,EAAS8sX,EAAAA,OACTG,EAAMH,EAAAA,IACNiyG,EAASjyG,EAAAA,OACTz6T,EAASy6T,EAAAA,OACT3gV,EAAO2gV,EAAAA,KAEpB,S;2LCbA,IACEz/W,EAKEnV,OALFmV,QACA6hN,EAIEh3N,OAJFg3N,eACAg6G,EAGEhxU,OAHFgxU,SACAzvR,EAEEvhD,OAFFuhD,eACAhF,EACEv8C,OADFu8C,yBAGIzkC,EAAyB9X,OAAzB8X,OAAQymW,EAAiBv+W,OAAjBu+W,KAAMzkU,EAAW95C,OAAX85C,OACpB1sC,EAA8C,oBAAZ2yC,SAA2BA,QAAvD91C,EAAKmD,EAALnD,MAAO6sN,EAAA1pN,EAAA0pN,UAERh/M,IACHA,EAAS,SAAUf,GACjB,OAAOA,C,GAINwnW,IACHA,EAAO,SAAUxnW,GACf,OAAOA,C,GAIN9M,IACHA,EAAQ,SAAUmvH,EAAK+juB,EAAWnn1B,GAChC,OAAOojH,EAAInvH,MAAMkz1B,EAAWnn1B,E,GAI3B8gN,IACHA,EAAY,SAAUsmoB,EAAMpn1B,GAC1B,OAAA0yE,EAAW00wB,EAAInr0B,EAAIjc,G,GAIvB,IA6CwBwxD,EA7ClB61xB,EAAeC,EAAQ5m1B,MAAMzW,UAAUi1B,SAEvCi5iC,EAAmB7wO,EAAQ5m1B,MAAMzW,UAAUuxD,aAC3C+ryB,EAAWD,EAAQ5m1B,MAAMzW,UAAUu/D,KACnCyrf,EAAYqyS,EAAQ5m1B,MAAMzW,UAAU8F,MAEpCqokC,EAAc9wO,EAAQ5m1B,MAAMzW,UAAU8gC,QAEtCy8zB,EAAoBF,EAAQ551B,OAAOzD,UAAU0hB,aAC7C870B,EAAiBH,EAAQ551B,OAAOzD,UAAUF,UAC1C291B,EAAcJ,EAAQ551B,OAAOzD,UAAU2C,OACvC+61B,EAAgBL,EAAQ551B,OAAOzD,UAAUyhB,SACzCk80B,EAAgBN,EAAQ551B,OAAOzD,UAAUgB,SACzC481B,EAAaP,EAAQ551B,OAAOzD,UAAUg5D,MAEtCo1gC,EAAuB/wO,EAAQt91B,OAAOC,UAAUwF,gBAEhDwjqB,EAAaq0L,EAAQ9yxB,OAAOvqE,UAAUyC,MAEtCo71B,GA0BkBt2xB,EA1BYn0B,UA2B3B,mBAAA4qC,EAAAh6E,UAAAxD,OAAIuV,EAAW,IAAAU,MAAAunE,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAXloE,EAAWkoE,GAAAj6E,UAAAi6E,GAAA,OAAQ44I,EAAUtvJ,EAAMxxD,EAAK,GAnBrD,SAASsn1B,EACP91xB,GAEA,OAAO,SAAC2qB,GACFA,aAAmB3nB,SACrB2nB,EAAQy3C,UAAY,GACrB,QAAA1xH,EAAAjU,UAAAxD,OAHsBuV,EAAW,IAAAU,MAAAwB,EAAA,EAAAA,EAAA,KAAAtG,EAAA,EAAAA,EAAAsG,EAAAtG,IAAXoE,EAAWpE,EAAA,GAAA3N,UAAA2N,GAKlC,OAAO3H,EAAMu9D,EAAM2qB,EAASn8E,E,CAEhC,CAoBA,SAAS+n1B,EACPv31B,EACA0Q,GACyE,IAAzE8m1B,EAAA/51B,UAAAxD,OAAA,QAAAkH,IAAA1D,UAAA,GAAAA,UAAA,GAAwDu51B,EAEpDxmoB,GAIFA,EAAexwN,EAAK,MAItB,IADA,IAAIk4C,EAAIxnC,EAAMzW,OACPi+C,KAAK,CACV,IAAIm6D,EAAU3hG,EAAMwnC,GACpB,GAAuB,iBAAZm6D,EAAsB,CAC/B,IAAMqlvB,EAAYF,EAAkBnlvB,GAChCqlvB,IAAcrlvB,IAEXm4N,EAAS95T,KACXA,EAAgBwnC,GAAKw/yB,GAGxBrlvB,EAAUqlvB,EAEd,CAEA131B,EAAIqyG,IAAW,CACjB,CAEA,OAAOryG,CACT,CAQA,SAAS8nkC,EAAcp3jC,GACrB,IAAK,IAAI7K,EAAQ,EAAGA,EAAQ6K,EAAMzW,OAAQ4L,IAAS,CACzBgikC,EAAqBn3jC,EAAO7K,KAGlD6K,EAAM7K,GAAS,KAEnB,CAEA,OAAO6K,CACT,CAQA,SAASxH,EAAqCimC,GAC5C,IAE+C/uC,EAFzCu31B,EAAYrkzB,EAAO,MAAKhzC,EAAAC,EAEEoO,EAAQwgC,IAAO,IAA/C,IAAA7uC,EAAAE,MAAAJ,EAAAE,EAAAG,KAAAC,MAAiD,KAAA6qG,EAAAj1F,EAAAlW,EAAAtF,MAAA,GAArCmhB,EAAQsvF,EAAA,GAAEzwG,EAAKywG,EAAA,GACDs89B,EAAqB14hC,EAAQlzB,KAG/C/L,MAAMC,QAAQrV,GAChB681B,EAAU170B,GAAY6rjC,EAAWhtkC,GAEjCA,GACiB,iBAAVA,GACPA,EAAMkgD,cAAgBxhD,OAEtBm+1B,EAAU170B,GAAY/S,EAAMpO,GAE5B681B,EAAU170B,GAAYnhB,EAG5B,QAAA6F,GAAAL,EAAAjI,EAAAsI,EAAA,SAAAL,EAAAM,GAAA,CAEA,OAAO+21B,CACT,CASA,SAASC,EACPzozB,EACAjgC,GAEA,KAAkB,OAAXigC,GAAiB,CACtB,IAAMyK,EAAO7D,EAAyB5G,EAAQjgC,GAE9C,GAAI0qC,EAAM,CACR,GAAIA,EAAK35C,IACP,OAAO621B,EAAQl9yB,EAAK35C,KAGtB,GAA0B,mBAAf25C,EAAK9+C,MACd,OAAOg81B,EAAQl9yB,EAAK9+C,MAExB,CAEAq0C,EAAS4L,EAAe5L,EAC1B,CAMA,OAJA,WACE,OAAO,IACT,CAGF,CC3MO,IAAM0ozB,EAAOvm1B,EAAO,CACzB,IACA,OACA,UACA,UACA,OACA,UACA,QACA,QACA,IACA,MACA,MACA,MACA,QACA,aACA,OACA,KACA,SACA,SACA,UACA,SACA,OACA,OACA,MACA,WACA,UACA,OACA,WACA,KACA,YACA,MACA,UACA,MACA,SACA,MACA,MACA,KACA,KACA,UACA,KACA,WACA,aACA,SACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,MACA,OACA,UACA,OACA,WACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,UACA,SACA,SACA,QACA,SACA,SACA,OACA,SACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,QAGWwm1B,EAAMxm1B,EAAO,CACxB,MACA,IACA,WACA,cACA,eACA,eACA,gBACA,mBACA,SACA,WACA,OACA,OACA,UACA,SACA,OACA,IACA,QACA,WACA,QACA,QACA,OACA,iBACA,SACA,OACA,WACA,QACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,QACA,SACA,SACA,OACA,WACA,QACA,OACA,QACA,OACA,UAGW8luB,EAAa9luB,EAAO,CAC/B,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,eACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,iBAOWym1B,EAAgBzm1B,EAAO,CAClC,UACA,gBACA,SACA,UACA,YACA,mBACA,iBACA,gBACA,gBACA,gBACA,QACA,YACA,OACA,eACA,YACA,UACA,gBACA,SACA,MACA,aACA,UACA,QAGW0m1B,EAAS1m1B,EAAO,CAC3B,OACA,WACA,SACA,UACA,QACA,SACA,KACA,aACA,gBACA,KACA,KACA,QACA,UACA,WACA,QACA,OACA,KACA,SACA,QACA,SACA,OACA,OACA,UACA,SACA,MACA,QACA,MACA,SACA,aACA,gBAKW2m1B,EAAmB3m1B,EAAO,CACrC,UACA,cACA,aACA,WACA,YACA,UACA,UACA,SACA,SACA,QACA,YACA,aACA,iBACA,cACA,SAGW8e,EAAO9e,EAAO,CAAC,UCpRfm2W,EAAOn2W,EAAO,CACzB,SACA,SACA,QACA,MACA,iBACA,eACA,uBACA,WACA,aACA,UACA,SACA,UACA,cACA,cACA,UACA,OACA,QACA,QACA,QACA,OACA,UACA,WACA,eACA,SACA,cACA,WACA,WACA,UACA,MACA,WACA,0BACA,wBACA,WACA,YACA,UACA,eACA,OACA,MACA,UACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,YACA,QACA,OACA,QACA,OACA,OACA,UACA,OACA,MACA,MACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,QACA,UACA,aACA,SACA,OACA,UACA,UACA,cACA,cACA,UACA,gBACA,sBACA,SACA,UACA,UACA,aACA,WACA,MACA,WACA,MACA,WACA,OACA,OACA,UACA,aACA,QACA,WACA,QACA,OACA,QACA,OACA,UACA,QACA,MACA,SACA,OACA,QACA,UACA,WACA,QACA,YACA,OACA,SACA,SACA,QACA,QACA,OACA,QACA,SAGWmmR,EAAMnmR,EAAO,CACxB,gBACA,aACA,WACA,qBACA,YACA,SACA,gBACA,gBACA,UACA,gBACA,iBACA,QACA,OACA,KACA,QACA,OACA,gBACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,KACA,KACA,IACA,KACA,KACA,kBACA,YACA,UACA,UACA,MACA,WACA,YACA,MACA,WACA,OACA,eACA,YACA,SACA,cACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,KACA,KACA,KACA,KACA,aACA,WACA,gBACA,oBACA,SACA,OACA,KACA,kBACA,KACA,MACA,YACA,IACA,KACA,KACA,KACA,KACA,UACA,YACA,aACA,WACA,OACA,eACA,iBACA,eACA,mBACA,iBACA,QACA,aACA,aACA,eACA,eACA,cACA,cACA,mBACA,YACA,MACA,OACA,QACA,SACA,OACA,MACA,OACA,aACA,SACA,WACA,UACA,QACA,SACA,cACA,SACA,WACA,cACA,OACA,aACA,sBACA,mBACA,eACA,SACA,gBACA,sBACA,iBACA,IACA,KACA,KACA,SACA,OACA,OACA,cACA,YACA,UACA,SACA,SACA,QACA,OACA,kBACA,QACA,mBACA,mBACA,eACA,cACA,eACA,cACA,aACA,eACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,SACA,eACA,QACA,eACA,iBACA,WACA,cACA,UACA,UACA,YACA,mBACA,cACA,kBACA,iBACA,aACA,OACA,KACA,KACA,UACA,SACA,UACA,aACA,UACA,aACA,gBACA,gBACA,QACA,eACA,OACA,eACA,mBACA,mBACA,IACA,KACA,KACA,QACA,IACA,KACA,KACA,IACA,eAGW+luB,EAAS/luB,EAAO,CAC3B,SACA,cACA,QACA,WACA,QACA,eACA,cACA,aACA,aACA,QACA,MACA,UACA,eACA,WACA,QACA,QACA,SACA,OACA,KACA,UACA,SACA,gBACA,SACA,SACA,iBACA,YACA,WACA,cACA,UACA,UACA,gBACA,WACA,WACA,OACA,WACA,WACA,aACA,UACA,SACA,SACA,cACA,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L,IACA,IACA,GACA,OACA,wtBAGEu8pC,YAAc,CACjBhhpC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+/BAGEw8pC,WAAa,CAChBjhpC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+JAGEy8pC,WAAa,CAChBlhpC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kyBAGE08pC,WAAa,CAChBnhpC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kRAGE28pC,cAAgB,CACnBphpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,41BAGE48pC,gBAAkB,CACrBrhpC,OAAQ,MACR88N,SAAU,iBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,okBAGE68pC,gBAAkB,CACrBthpC,OAAQ,MACR88N,SAAU,iBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,mXAGE88pC,eAAiB,CACpBvhpC,OAAQ,MACR88N,SAAU,gBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2dAGE+8pC,gBAAkB,CACrBxhpC,OAAQ,MACR88N,SAAU,iBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,0jBAGEg9pC,kBAAoB,CACvBzhpC,OAAQ,MACR88N,SAAU,oBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2TAGEi9pC,kBAAoB,CACvB1hpC,OAAQ,MACR88N,SAAU,oBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,yTAGEk9pC,mBAAqB,CACxB3hpC,OAAQ,MACR88N,SAAU,qBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,yTAGEm9pC,gBAAkB,CACrB5hpC,OAAQ,MACR88N,SAAU,kBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,wTAGEo9pC,WAAa,CAChB7hpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4gBAGEq9pC,cAAgB,CACnB9hpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,0fAGEs9pC,cAAgB,CACnB/hpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,yaAGEu9pC,SAAW,CACdhipC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6JAGEw9pC,YAAc,CACjBjipC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,8XAGEy9pC,QAAU,CACblipC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,yUAGE09pC,QAAU,CACbnipC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,iWAGE29pC,mBAAqB,CACxBpipC,OAAQ,MACR88N,SAAU,oBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ypBAGE49pC,UAAY,CACfripC,OAAQ,MACR88N,SAAU,UACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,yaAGE69pC,aAAe,CAClBtipC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,goBAGE89pC,WAAa,CAChBvipC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6zCAGE+9pC,UAAY,CACfxipC,OAAQ,MACR88N,SAAU,UACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ygBAGEg+pC,OAAS,CACZzipC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,igBAGEi+pC,YAAc,CACjB1ipC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qsBAGEk+pC,aAAe,CAClB3ipC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4bAGEm+pC,YAAc,CACjB5ipC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ySAGEo+pC,OAAS,CACZ7ipC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2gBAGEq+pC,WAAa,CAChB9ipC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,mfAGEs+pC,eAAiB,CACpB/ipC,OAAQ,MACR88N,SAAU,gBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4iCAGEu+pC,WAAa,CAChBhjpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,w9BAGEw+pC,OAAS,CACZjjpC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qOAGEy+pC,UAAY,CACfljpC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,mbAGE0+pC,cAAgB,CACnBnjpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6rBAGE2+pC,YAAc,CACjBpjpC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,imBAGE4+pC,WAAa,CAChBrjpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,sgCAGE6+pC,YAAc,CACjBtjpC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qlBAGE8+pC,YAAc,CACjBvjpC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kZAGE++pC,UAAY,CACfxjpC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,myBAGEg/pC,iBAAmB,CACtBzjpC,OAAQ,MACR88N,SAAU,kBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ucAGEi/pC,YAAc,CACjB1jpC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6fAGEk/pC,WAAa,CAChB3jpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4wBAGEm/pC,OAAS,CACZ5jpC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6sBAGEo/pC,SAAW,CACd7jpC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2PAGEq/pC,aAAe,CAClB9jpC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,gWAGEs/pC,QAAU,CACb/jpC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,u4BAGEu/pC,SAAW,CACdhkpC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,0oBAGEw/pC,MAAQ,CACXjkpC,OAAQ,MACR88N,SAAU,MACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,mXAGEy/pC,aAAe,CAClBlkpC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4rBAGE0/pC,YAAc,CACjBnkpC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,g5BAGE2/pC,YAAc,CACjBpkpC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qhCAGE4/pC,gBAAkB,CACrBrkpC,OAAQ,MACR88N,SAAU,kBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,oiCAGE6/pC,gBAAkB,CACrBtkpC,OAAQ,MACR88N,SAAU,kBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,wiCAGE8/pC,iBAAmB,CACtBvkpC,OAAQ,MACR88N,SAAU,mBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+iCAGE+/pC,cAAgB,CACnBxkpC,OAAQ,MACR88N,SAAU,gBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,yiCAGEggqC,cAAgB,CACnBzkpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2yCAGEigqC,WAAa,CAChB1kpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,giCAGEkgqC,eAAiB,CACpB3kpC,OAAQ,MACR88N,SAAU,gBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,shCAGEmgqC,YAAc,CACjB5kpC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,wzCAGEogqC,YAAc,CACjB7kpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ykDAGEqgqC,MAAQ,CACX9kpC,OAAQ,MACR88N,SAAU,MACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,mdAGEsgqC,QAAU,CACb/kpC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,oaAGEugqC,WAAa,CAChBhlpC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,89BAGEwgqC,YAAc,CACjBjlpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,wdAGEygqC,UAAY,CACfllpC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qcAGE0gqC,SAAW,CACdnlpC,OAAQ,MACR88N,SAAU,UACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ksBAGE2gqC,QAAU,CACbplpC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,gaAGE4gqC,SAAW,CACdrlpC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,yjBAGE6gqC,WAAa,CAChBtlpC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ujDAGE8gqC,QAAU,CACbvlpC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,y3BAGE+gqC,WAAa,CAChBxlpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,spBAGEghqC,YAAc,CACjBzlpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6qBAGEihqC,UAAY,CACf1lpC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+wBAGEkhqC,MAAQ,CACX3lpC,OAAQ,MACR88N,SAAU,MACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qYAGEmhqC,MAAQ,CACX5lpC,OAAQ,MACR88N,SAAU,MACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,oxBAGEohqC,cAAgB,CACnB7lpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6SAGEqhqC,eAAiB,CACpB9lpC,OAAQ,MACR88N,SAAU,iBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,oyBAGEshqC,OAAS,CACZ/lpC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4gBAGEuhqC,YAAc,CACjBhmpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,u2BAGEwhqC,cAAgB,CACnBjmpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,y0BAGEyhqC,gBAAkB,CACrBlmpC,OAAQ,MACR88N,SAAU,iBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2gCAGE0hqC,aAAe,CAClBnmpC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,8WAGE2hqC,cAAgB,CACnBpmpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qWAGE4hqC,aAAe,CAClBrmpC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6QAGE6hqC,aAAe,CAClBtmpC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qZAGE8hqC,iBAAmB,CACtBvmpC,OAAQ,MACR88N,SAAU,kBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kvBAGE+hqC,aAAe,CAClBxmpC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,mpBAGEgiqC,OAAS,CACZzmpC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4gBAGEiiqC,cAAgB,CACnB1mpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,85BAGEkiqC,QAAU,CACb3mpC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,i4BAGEmiqC,YAAc,CACjB5mpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,u/DAGEoiqC,SAAW,CACd7mpC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qMAGEqiqC,OAAS,CACZ9mpC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qXAGEsiqC,WAAa,CAChB/mpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+MAGEuiqC,aAAe,CAClBhnpC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4QAGEwiqC,aAAe,CAClBjnpC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,sQAGEyiqC,MAAQ,CACXlnpC,OAAQ,MACR88N,SAAU,MACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,k2DAGE0iqC,aAAe,CAClBnnpC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,g9BAGE2iqC,WAAa,CAChBpnpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,y8BAGE4iqC,cAAgB,CACnBrnpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ydAGE6iqC,WAAa,CAChBtnpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,8oBAGE8iqC,OAAS,CACZvnpC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,yrBAGE+iqC,aAAe,CAClBxnpC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,mwBAGEgjqC,cAAgB,CACnBznpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ghBAGEijqC,iBAAmB,CACtB1npC,OAAQ,MACR88N,SAAU,kBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qKAGEkjqC,iBAAmB,CACtB3npC,OAAQ,MACR88N,SAAU,kBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6FAGEmjqC,gBAAkB,CACrB5npC,OAAQ,MACR88N,SAAU,iBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,mPAGE8kQ,QAAU,CACbk35B,cACAC,cACAC,qBACAC,qBACAC,sBACAC,mBACAC,OACAC,YACAC,WACAC,WACAC,WACAC,cACAC,gBACAC,gBACAC,eACAC,gBACAC,kBACAC,kBACAC,mBACAC,gBACAC,WACAC,cACAC,cACAC,SACAC,YACAC,QACAC,QACAC,mBACAC,UACAC,aACAC,WACAC,UACAC,OACAC,YACAC,aACAC,YACAC,OACAC,WACAC,eACAC,WACAC,OACAC,UACAC,cACAC,YACAC,WACAC,YACAC,YACAC,UACAC,iBACAC,YACAC,WACAC,OACAC,SACAC,aACAC,QACAC,SACAC,MACAC,aACAC,YACAC,YACAC,gBACAC,gBACAC,iBACAC,cACAC,cACAC,WACAC,eACAC,YACAC,YACAC,MACAC,QACAC,WACAC,YACAC,UACAC,SACAC,QACAC,SACAC,WACAC,QACAC,WACAC,YACAC,UACAC,MACAC,MACAC,cACAC,eACAC,OACAC,YACAC,cACAC,gBACAC,aACAC,cACAC,aACAC,aACAC,iBACAC,aACAC,OACAC,cACAC,QACAC,YACAC,SACAC,OACAC,WACAC,aACAC,aACAC,MACAC,aACAC,WACAC,cACAC,WACAC,OACAC,aACAC,cACAC,iBACAC,iBACAC,iBAGDpH,OAAO,WACN3r2B,yCAAO,MAAOtrD,QACf,GAyHA;;;;;AClnDA,IAAImp5B,uCAAU,CAAC,EACf,IACuB,oBAAX3wqC,SAAwB2wqC,uCAAU3wqC,OAC9C,CAAE,MAAO/E,GAAI,CAEb,IAAIuO,oCAAOmnqC,uCAAQxnoC,WAAa,CAAC,EAC7B4noC,8CAAiBvnqC,oCAAK45C,UACtBA,+CAA+Br/C,IAAnBgtqC,8CAA+B,GAAKA,8CAEhDC,8CAASL,uCAETS,uCAAShunC,0CAAU/lD,QAAQ,UAAY+lD,0CAAU/lD,QAAQ,YAEzDg0qC,qDAAuB,qBAEvBS,2CAAc,WACjB,IACC,OAAOxioC,CACR,CAAE,MAAOr0C,GACR,OAAO,CACR,CACD,CANkB,GAQd82qC,yCAAW,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IACvCC,4CAAcD,yCAASlyqC,OAAO,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,KAEnEqyqC,iDAAmB,CACtB,KACA,KACA,KACA,KACA,KACA,KACA,SACA,YACA,aACA,OACA,QACA,YACA,aACA,aACA,kBACA,gBACA,QACA,WACA,WACA,UACA,SACA,cACA,kBAECryqC,OACAkyqC,yCAASvkqC,IAAI,SAAUnK,GACtB,OAAOA,EAAI,GACZ,IAEAxD,OACAmyqC,4CAAYxkqC,IAAI,SAAUnK,GACzB,MAAO,KAAOA,CACf,IAGF,SAASo7qC,gBAAOzzqC,GACf,IACCA,GACD,CAAE,MAAO/P,GACR,IAAK62qC,2CACJ,MAAM72qC,CAER,CACD,CAEA,IAAI86C,kCAAIi7nC,+CAAU,CAAC,EAEdj7nC,kCAAEs7nC,wDAAuBt7nC,kCAAEs7nC,sDAAwB,CAAC,GACpDt7nC,kCAAEs7nC,sDAAsBzypC,SAAQm3B,kCAAEs7nC,sDAAsBzypC,OAAS,CAAC,GAClEm3B,kCAAEs7nC,sDAAsBl3kC,QAAOpkD,kCAAEs7nC,sDAAsBl3kC,MAAQ,CAAC,GAChEpkD,kCAAEs7nC,sDAAsB+B,QAAOr9nC,kCAAEs7nC,sDAAsB+B,MAAQ,IAEpE,IAAI9ziC,0CAAYvpF,kCAAEs7nC,sDAEdznqC,wCACHxN,OAAO+kF,QACP,SAAUh6E,GACT,IAAK,IAAI/J,EAAI,EAAGA,EAAIiD,UAAUxD,OAAQO,IAAK,CAC1C,IAAI62C,EAAS5zC,UAAUjD,GAEvB,IAAK,IAAIuC,KAAOs0C,EACX73C,OAAOC,UAAUwF,eAAehE,KAAKo2C,EAAQt0C,KAChDwH,EAAOxH,GAAOs0C,EAAOt0C,GAGxB,CAEA,OAAOwH,CACR,EAED,SAAS2rU,uCAAO70S,EAAQw/O,GACvB,IAAIlvJ,EAAanyH,OAAO4F,KAAKy7Q,GAAOjpQ,OAAO,SAAUujF,EAAKgjK,GACzD,IAAIr4O,EAAO+6P,EAAM1iB,GAQjB,QAPiBr4O,EAAKA,KAGrBq1E,EAAIr1E,EAAKq4O,UAAYr4O,EAAKA,KAE1Bq1E,EAAIgjK,GAAYr4O,EAEVq1E,CACR,EAAG,CAAC,GAEmC,mBAA5BunC,0CAAUnlC,MAAM+hlC,QAC1B58iC,0CAAUnlC,MAAM+hlC,QAAQj+oC,EAAQswF,GAEhC+Q,0CAAU1gH,OAAOqf,GAAUr0B,wCAC1B,CAAC,EACD01H,0CAAU1gH,OAAOqf,IAAW,CAAC,EAC7BswF,GAUa,QAAXtwF,GACH60S,uCAAO,KAAMr1D,EAEf,CAEA,IAAIx/O,gBAAS,MACTygpC,uBAAgB,CACnBzgpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,slBAGEi8pC,uBAAgB,CACnB1gpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ouBAGEojqC,SAAW,CACd7npC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,oKAGEqjqC,cAAgB,CACnB9npC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kdAGEsjqC,eAAiB,CACpB/npC,OAAQ,MACR88N,SAAU,gBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4cAGEujqC,YAAc,CACjBhopC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,gdAGEwjqC,aAAe,CAClBjopC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kdAGEyjqC,YAAc,CACjBlopC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,wnBAGE0jqC,mCAAqC,CACxCnopC,OAAQ,MACR88N,SAAU,sCACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,8iEAGE2jqC,SAAW,CACdpopC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,8zBAGE4jqC,kBAAoB,CACvBropC,OAAQ,MACR88N,SAAU,oBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2XAGE6jqC,kBAAoB,CACvBtopC,OAAQ,MACR88N,SAAU,oBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6XAGE8jqC,mBAAqB,CACxBvopC,OAAQ,MACR88N,SAAU,qBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+XAGE+jqC,gBAAkB,CACrBxopC,OAAQ,MACR88N,SAAU,kBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,8XAGEgkqC,YAAc,CACjBzopC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,mMAGEikqC,YAAc,CACjB1opC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,iMAGEkkqC,aAAe,CAClB3opC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kMAGEmkqC,UAAY,CACf5opC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kMAGEokqC,UAAY,CACf7opC,OAAQ,MACR88N,SAAU,UACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+WAGEk8pC,8BAAuB,CAC1B3gpC,OAAQ,MACR88N,SAAU,wBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qPAGEm8pC,8BAAuB,CAC1B5gpC,OAAQ,MACR88N,SAAU,wBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,sPAGEo8pC,+BAAwB,CAC3B7gpC,OAAQ,MACR88N,SAAU,yBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,gPAGEq8pC,4BAAqB,CACxB9gpC,OAAQ,MACR88N,SAAU,sBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,gPAGEqkqC,kBAAoB,CACvB9opC,OAAQ,MACR88N,SAAU,oBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,yUAGEskqC,kBAAoB,CACvB/opC,OAAQ,MACR88N,SAAU,oBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,sUAGEukqC,mBAAqB,CACxBhppC,OAAQ,MACR88N,SAAU,qBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,uUAGEwkqC,gBAAkB,CACrBjppC,OAAQ,MACR88N,SAAU,kBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kUAGEykqC,YAAc,CACjBlppC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6PAGE0kqC,YAAc,CACjBnppC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6PAGE2kqC,aAAe,CAClBpppC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kQAGE4kqC,UAAY,CACfrppC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,gQAGE6kqC,YAAc,CACjBtppC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4qBAGE8kqC,aAAe,CAClBvppC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,oVAGE+kqC,aAAe,CAClBxppC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kVAGEglqC,4BAA8B,CACjCzppC,OAAQ,MACR88N,SAAU,8BACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,sgCAGEilqC,WAAa,CAChB1ppC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,gsBAGEklqC,KAAO,CACV3ppC,OAAQ,MACR88N,SAAU,KACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,s4BAGEmlqC,mBAAqB,CACxB5ppC,OAAQ,MACR88N,SAAU,oBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,mxBAGEolqC,WAAa,CAChB7ppC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,wOAGEqlqC,eAAiB,CACpB9ppC,OAAQ,MACR88N,SAAU,gBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,yzBAGEslqC,MAAQ,CACX/ppC,OAAQ,MACR88N,SAAU,MACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,wUAGEulqC,UAAY,CACfhqpC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,0bAGEwlqC,UAAY,CACfjqpC,OAAQ,MACR88N,SAAU,UACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,8eAGEylqC,OAAS,CACZlqpC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,0VAGE0lqC,eAAiB,CACpBnqpC,OAAQ,MACR88N,SAAU,gBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,oqBAGE2lqC,iBAAmB,CACtBpqpC,OAAQ,MACR88N,SAAU,kBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,urBAGE4lqC,OAAS,CACZrqpC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,stBAGE6lqC,eAAiB,CACpBtqpC,OAAQ,MACR88N,SAAU,gBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,0NAGE8lqC,cAAgB,CACnBvqpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,iPAGE+lqC,cAAgB,CACnBxqpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kPAGEgmqC,iBAAmB,CACtBzqpC,OAAQ,MACR88N,SAAU,kBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kPAGEimqC,uBAAyB,CAC5B1qpC,OAAQ,MACR88N,SAAU,yBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kPAGEkmqC,MAAQ,CACX3qpC,OAAQ,MACR88N,SAAU,MACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,yRAGEmmqC,OAAS,CACZ5qpC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kgBAGEs8pC,gBAAS,CACZ/gpC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4dAGEu8pC,qBAAc,CACjBhhpC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kvBAGEomqC,UAAY,CACf7qpC,OAAQ,MACR88N,SAAU,UACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,m0CAGEqmqC,aAAe,CAClB9qpC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,wfAGEsmqC,eAAiB,CACpB/qpC,OAAQ,MACR88N,SAAU,gBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+rBAGEumqC,QAAU,CACbhrpC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kzBAGEwmqC,OAAS,CACZjrpC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2qBAGEymqC,OAAS,CACZlrpC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,iTAGE0mqC,OAAS,CACZnrpC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+0BAGE2mqC,OAAS,CACZprpC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2bAGEw8pC,oBAAa,CAChBjhpC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,iFAGE4mqC,cAAgB,CACnBrrpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,iSAGE6mqC,MAAQ,CACXtrpC,OAAQ,MACR88N,SAAU,MACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,uOAGE8mqC,QAAU,CACbvrpC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,mYAGE+mqC,UAAY,CACfxrpC,OAAQ,MACR88N,SAAU,UACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,u9BAGEgnqC,YAAc,CACjBzrpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6RAGEinqC,MAAQ,CACX1rpC,OAAQ,MACR88N,SAAU,MACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,02BAGEy8pC,oBAAa,CAChBlhpC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,y3BAGEknqC,WAAa,CAChB3rpC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4oBAGEmnqC,WAAa,CAChB5rpC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+XAGEonqC,MAAQ,CACX7rpC,OAAQ,MACR88N,SAAU,MACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,spBAGEqnqC,aAAe,CAClB9rpC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,yyBAGE08pC,oBAAa,CAChBnhpC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6TAGE28pC,uBAAgB,CACnBphpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,y4BAGE48pC,yBAAkB,CACrBrhpC,OAAQ,MACR88N,SAAU,iBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+nBAGE68pC,yBAAkB,CACrBthpC,OAAQ,MACR88N,SAAU,iBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,8ZAGE88pC,wBAAiB,CACpBvhpC,OAAQ,MACR88N,SAAU,gBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,sgBAGE+8pC,yBAAkB,CACrBxhpC,OAAQ,MACR88N,SAAU,iBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,mnBAGEsnqC,SAAW,CACd/rpC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2VAGEunqC,cAAgB,CACnBhspC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,wlBAGEwnqC,MAAQ,CACXjspC,OAAQ,MACR88N,SAAU,MACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,g8BAGEynqC,YAAc,CACjBlspC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4HAGE0nqC,YAAc,CACjBnspC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qKAGE2nqC,aAAe,CAClBpspC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6JAGEg9pC,2BAAoB,CACvBzhpC,OAAQ,MACR88N,SAAU,oBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2NAGEi9pC,2BAAoB,CACvB1hpC,OAAQ,MACR88N,SAAU,oBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+RAGEk9pC,4BAAqB,CACxB3hpC,OAAQ,MACR88N,SAAU,qBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2RAGEm9pC,yBAAkB,CACrB5hpC,OAAQ,MACR88N,SAAU,kBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,0RAGE4nqC,UAAY,CACfrspC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qKAGE6nqC,gBAAkB,CACrBtspC,OAAQ,MACR88N,SAAU,kBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,s0BAGE8nqC,WAAa,CAChBvspC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,u1BAGE+nqC,cAAgB,CACnBxspC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,o0BAGEgoqC,YAAc,CACjBzspC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kPAGEo9pC,oBAAa,CAChB7hpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+gBAGEioqC,YAAc,CACjB1spC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,8YAGEkoqC,WAAa,CAChB3spC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2WAGEmoqC,QAAU,CACb5spC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,uRAGEq9pC,uBAAgB,CACnB9hpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,yWAGEs9pC,uBAAgB,CACnB/hpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,gYAGEooqC,QAAU,CACb7spC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6+CAGEqoqC,cAAgB,CACnB9spC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+iBAGEsoqC,aAAe,CAClB/spC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,wqBAGEuoqC,YAAc,CACjBhtpC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,wXAGEwoqC,cAAgB,CACnBjtpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+lBAGEyoqC,YAAc,CACjBltpC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2YAGE0oqC,aAAe,CAClBntpC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,oxBAGE2oqC,YAAc,CACjBptpC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,sjBAGE4oqC,oBAAsB,CACzBrtpC,OAAQ,MACR88N,SAAU,sBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,0QAGE6oqC,oBAAsB,CACzBttpC,OAAQ,MACR88N,SAAU,sBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,0QAGE8oqC,qBAAuB,CAC1BvtpC,OAAQ,MACR88N,SAAU,uBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,uQAGE+oqC,kBAAoB,CACvBxtpC,OAAQ,MACR88N,SAAU,oBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qQAGEgpqC,cAAgB,CACnBztpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4RAGEipqC,cAAgB,CACnB1tpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,mPAGEkpqC,eAAiB,CACpB3tpC,OAAQ,MACR88N,SAAU,gBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,8RAGEmpqC,YAAc,CACjB5tpC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,iSAGEopqC,QAAU,CACb7tpC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kcAGEu9pC,kBAAW,CACdhipC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,0EAGEqpqC,cAAgB,CACnB9tpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ydAGEw9pC,qBAAc,CACjBjipC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kUAGEspqC,iBAAmB,CACtB/tpC,OAAQ,MACR88N,SAAU,kBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4ZAGEupqC,gBAAkB,CACrBhupC,OAAQ,MACR88N,SAAU,iBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,yrBAGEy9pC,iBAAU,CACblipC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,sPAGE09pC,iBAAU,CACbnipC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,uPAGE29pC,4BAAqB,CACxBpipC,OAAQ,MACR88N,SAAU,oBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,mkBAGEwpqC,QAAU,CACbjupC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,gVAGEypqC,mBAAqB,CACxBlupC,OAAQ,MACR88N,SAAU,qBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ijBAGE0pqC,iBAAmB,CACtBnupC,OAAQ,MACR88N,SAAU,mBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,mjBAGE2pqC,OAAS,CACZpupC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,iiBAGE4pqC,aAAe,CAClBrupC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,wqBAGE6pqC,SAAW,CACdtupC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,iPAGE8pqC,MAAQ,CACXvupC,OAAQ,MACR88N,SAAU,MACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2kCAGE+pqC,OAAS,CACZxupC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,s1EAGEgqqC,UAAY,CACfzupC,OAAQ,MACR88N,SAAU,UACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qKAGE49pC,mBAAY,CACfripC,OAAQ,MACR88N,SAAU,UACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2OAGE69pC,sBAAe,CAClBtipC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kcAGE89pC,oBAAa,CAChBvipC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6sBAGE+9pC,mBAAY,CACfxipC,OAAQ,MACR88N,SAAU,UACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kZAGEiqqC,WAAa,CAChB1upC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,8fAGEg+pC,gBAAS,CACZzipC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,oWAGEi+pC,qBAAc,CACjB1ipC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kkBAGEk+pC,sBAAe,CAClB3ipC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,wUAGEkqqC,OAAS,CACZ3upC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,uYAGEmqqC,aAAe,CAClB5upC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,27BAGEoqqC,OAAS,CACZ7upC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2SAGEqqqC,QAAU,CACb9upC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,omBAGEsqqC,MAAQ,CACX/upC,OAAQ,MACR88N,SAAU,MACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ovBAGEuqqC,WAAa,CAChBhvpC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kZAGEwqqC,OAAS,CACZjvpC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,45BAGEyqqC,UAAY,CACflvpC,OAAQ,MACR88N,SAAU,UACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,yOAGE0qqC,MAAQ,CACXnvpC,OAAQ,MACR88N,SAAU,MACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,uwBAGE2qqC,aAAe,CAClBpvpC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ktBAGE4qqC,QAAU,CACbrvpC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6kBAGE6qqC,eAAiB,CACpBtvpC,OAAQ,MACR88N,SAAU,gBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2bAGEm+pC,qBAAc,CACjB5ipC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,gLAGE8qqC,WAAa,CAChBvvpC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+bAGEo+pC,gBAAS,CACZ7ipC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ggBAGE+qqC,QAAU,CACbxvpC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kSAGEgrqC,YAAc,CACjBzvpC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,8NAGEirqC,YAAc,CACjB1vpC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,wNAGEq+pC,oBAAa,CAChB9ipC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qdAGEs+pC,wBAAiB,CACpB/ipC,OAAQ,MACR88N,SAAU,gBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4xBAGEkrqC,iBAAmB,CACtB3vpC,OAAQ,MACR88N,SAAU,kBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4lBAGEmrqC,SAAW,CACd5vpC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qVAGEorqC,WAAa,CAChB7vpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,m3BAGEqrqC,cAAgB,CACnB9vpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,gZAGEsrqC,cAAgB,CACnB/vpC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,gRAGEurqC,oBAAsB,CACzBhwpC,OAAQ,MACR88N,SAAU,qBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,mYAGEwrqC,sBAAwB,CAC3BjwpC,OAAQ,MACR88N,SAAU,uBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qcAGEyrqC,SAAW,CACdlwpC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,igBAGE0rqC,kBAAoB,CACvBnwpC,OAAQ,MACR88N,SAAU,oBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,oeAGE2rqC,kBAAoB,CACvBpwpC,OAAQ,MACR88N,SAAU,oBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ihBAGE4rqC,wBAA0B,CAC7BrwpC,OAAQ,MACR88N,SAAU,2BACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,gYAGE6rqC,MAAQ,CACXtwpC,OAAQ,MACR88N,SAAU,MACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,mnBAGE8rqC,aAAe,CAClBvwpC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ibAGEu+pC,oBAAa,CAChBhjpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6/BAGE+rqC,eAAiB,CACpBxwpC,OAAQ,MACR88N,SAAU,gBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+QAGEgsqC,cAAgB,CACnBzwpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kRAGEisqC,MAAQ,CACX1wpC,OAAQ,MACR88N,SAAU,MACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,s1BAGEksqC,SAAW,CACd3wpC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,mWAGEmsqC,aAAe,CAClB5wpC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,wXAGEw+pC,gBAAS,CACZjjpC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,gMAGEy+pC,mBAAY,CACfljpC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,keAGE0+pC,uBAAgB,CACnBnjpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4fAGE2+pC,qBAAc,CACjBpjpC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2jBAGE4+pC,oBAAa,CAChBrjpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,i2BAGE6+pC,qBAAc,CACjBtjpC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ujBAGE8+pC,qBAAc,CACjBvjpC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+cAGE++pC,mBAAY,CACfxjpC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6yBAGEg/pC,0BAAmB,CACtBzjpC,OAAQ,MACR88N,SAAU,kBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,sbAGEi/pC,qBAAc,CACjB1jpC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,meAGEk/pC,oBAAa,CAChB3jpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6pBAGEosqC,OAAS,CACZ7wpC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ykCAGEqsqC,SAAW,CACd9wpC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kNAGEssqC,OAAS,CACZ/wpC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qTAGEusqC,mBAAqB,CACxBhxpC,OAAQ,MACR88N,SAAU,oBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ynBAGEwsqC,WAAa,CAChBjxpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6UAGEm/pC,gBAAS,CACZ5jpC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ohBAGEysqC,gBAAkB,CACrBlxpC,OAAQ,MACR88N,SAAU,iBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4wCAGE0sqC,QAAU,CACbnxpC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+SAGEo/pC,kBAAW,CACd7jpC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,oIAGEq/pC,sBAAe,CAClB9jpC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,uUAGE2sqC,OAAS,CACZpxpC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,weAGE4sqC,eAAiB,CACpBrxpC,OAAQ,MACR88N,SAAU,gBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,g+BAGE6sqC,UAAY,CACftxpC,OAAQ,MACR88N,SAAU,UACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,iOAGEs/pC,iBAAU,CACb/jpC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,44BAGEu/pC,kBAAW,CACdhkpC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4pBAGE8sqC,UAAY,CACfvxpC,OAAQ,MACR88N,SAAU,UACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,mfAGE+sqC,QAAU,CACbxxpC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,itBAGEw/pC,eAAQ,CACXjkpC,OAAQ,MACR88N,SAAU,MACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qRAGEgtqC,aAAe,CAClBzxpC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6JAGEitqC,OAAS,CACZ1xpC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,8lBAGEktqC,eAAiB,CACpB3xpC,OAAQ,MACR88N,SAAU,gBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,iMAGEmtqC,QAAU,CACb5xpC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2hCAGEotqC,WAAa,CAChB7xpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,gnBAGEqtqC,gBAAkB,CACrB9xpC,OAAQ,MACR88N,SAAU,iBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,gsBAGEstqC,UAAY,CACf/xpC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,uWAGEy/pC,sBAAe,CAClBlkpC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,iYAGE0/pC,qBAAc,CACjBnkpC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,wkBAGE2/pC,qBAAc,CACjBpkpC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,mcAGE4/pC,yBAAkB,CACrBrkpC,OAAQ,MACR88N,SAAU,kBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6tBAGE6/pC,yBAAkB,CACrBtkpC,OAAQ,MACR88N,SAAU,kBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,iuBAGE8/pC,0BAAmB,CACtBvkpC,OAAQ,MACR88N,SAAU,mBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ouBAGE+/pC,uBAAgB,CACnBxkpC,OAAQ,MACR88N,SAAU,gBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+tBAGEggqC,uBAAgB,CACnBzkpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,keAGEigqC,oBAAa,CAChB1kpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6oBAGEkgqC,wBAAiB,CACpB3kpC,OAAQ,MACR88N,SAAU,gBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,wcAGEmgqC,qBAAc,CACjB5kpC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,svBAGEogqC,qBAAc,CACjB7kpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,spCAGEutqC,UAAY,CACfhypC,OAAQ,MACR88N,SAAU,UACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,o0BAGEqgqC,eAAQ,CACX9kpC,OAAQ,MACR88N,SAAU,MACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kcAGEwtqC,UAAY,CACfjypC,OAAQ,MACR88N,SAAU,UACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4fAGEytqC,aAAe,CAClBlypC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ydAGEsgqC,iBAAU,CACb/kpC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+NAGE0tqC,YAAc,CACjBnypC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2ZAGE2tqC,UAAY,CACfpypC,OAAQ,MACR88N,SAAU,UACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,stBAGE4tqC,aAAe,CAClBrypC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6JAGE6tqC,OAAS,CACZtypC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,giBAGEugqC,oBAAa,CAChBhlpC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,03BAGE8tqC,iBAAmB,CACtBvypC,OAAQ,MACR88N,SAAU,kBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,0QAGEwgqC,qBAAc,CACjBjlpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,oXAGE+tqC,eAAiB,CACpBxypC,OAAQ,MACR88N,SAAU,gBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ybAGEguqC,gBAAkB,CACrBzypC,OAAQ,MACR88N,SAAU,iBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4hBAGEiuqC,iBAAmB,CACtB1ypC,OAAQ,MACR88N,SAAU,kBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ubAGEkuqC,UAAY,CACf3ypC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ouBAGEygqC,mBAAY,CACfllpC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4gBAGE0gqC,kBAAW,CACdnlpC,OAAQ,MACR88N,SAAU,UACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,g2BAGE2gqC,iBAAU,CACbplpC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,mVAGE4gqC,kBAAW,CACdrlpC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,0cAGEmuqC,QAAU,CACb5ypC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,wTAGEouqC,SAAW,CACd7ypC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,0mBAGEquqC,WAAa,CAChB9ypC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,wPAGEsuqC,OAAS,CACZ/ypC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,yTAGEuuqC,aAAe,CAClBhzpC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,oZAGEwuqC,SAAW,CACdjzpC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,uXAGEyuqC,MAAQ,CACXlzpC,OAAQ,MACR88N,SAAU,MACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+cAGE6gqC,oBAAa,CAChBtlpC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+8CAGE0uqC,WAAa,CAChBnzpC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,izCAGE2uqC,SAAW,CACdpzpC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,uVAGE4uqC,OAAS,CACZrzpC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,wfAGE8gqC,iBAAU,CACbvlpC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,gmBAGE6uqC,eAAiB,CACpBtzpC,OAAQ,MACR88N,SAAU,iBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,gSAGE8uqC,aAAe,CAClBvzpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,oSAGE+gqC,oBAAa,CAChBxlpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4pBAGEghqC,qBAAc,CACjBzlpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,siBAGE+uqC,OAAS,CACZxzpC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ouCAGEgvqC,WAAa,CAChBzzpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,moBAGEivqC,OAAS,CACZ1zpC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,krBAGEihqC,mBAAY,CACf1lpC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qsBAGEkvqC,SAAW,CACd3zpC,OAAQ,MACR88N,SAAU,UACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,g3DAGEmvqC,SAAW,CACd5zpC,OAAQ,MACR88N,SAAU,UACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ikBAGEovqC,gBAAkB,CACrB7zpC,OAAQ,MACR88N,SAAU,iBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,gLAGEqvqC,OAAS,CACZ9zpC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,yNAGEsvqC,WAAa,CAChB/zpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,0RAGEuvqC,mBAAqB,CACxBh0pC,OAAQ,MACR88N,SAAU,sBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,uOAGEwvqC,mBAAqB,CACxBj0pC,OAAQ,MACR88N,SAAU,sBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,wOAGEyvqC,oBAAsB,CACzBl0pC,OAAQ,MACR88N,SAAU,uBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,uOAGE0vqC,iBAAmB,CACtBn0pC,OAAQ,MACR88N,SAAU,oBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,uOAGE2vqC,YAAc,CACjBp0pC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,yhCAGE4vqC,QAAU,CACbr0pC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,mhCAGE6vqC,SAAW,CACdt0pC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,scAGE8vqC,OAAS,CACZv0pC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,oTAGEkhqC,eAAQ,CACX3lpC,OAAQ,MACR88N,SAAU,MACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kiBAGE+vqC,YAAc,CACjBx0pC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,sKAGEgwqC,eAAiB,CACpBz0pC,OAAQ,MACR88N,SAAU,iBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,yPAGEiwqC,SAAW,CACd10pC,OAAQ,MACR88N,SAAU,UACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ySAGEkwqC,WAAa,CAChB30pC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+iBAGEmwqC,OAAS,CACZ50pC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2TAGEowqC,aAAe,CAClB70pC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,muBAGEqwqC,aAAe,CAClB90pC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ieAGEswqC,cAAgB,CACnB/0pC,OAAQ,MACR88N,SAAU,gBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ggBAGEuwqC,cAAgB,CACnBh1pC,OAAQ,MACR88N,SAAU,gBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+fAGEwwqC,SAAW,CACdj1pC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,seAGEmhqC,eAAQ,CACX5lpC,OAAQ,MACR88N,SAAU,MACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+xBAGEywqC,UAAY,CACfl1pC,OAAQ,MACR88N,SAAU,UACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+oBAGE0wqC,YAAc,CACjBn1pC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+yBAGE2wqC,aAAe,CAClBp1pC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kfAGE4wqC,kBAAoB,CACvBr1pC,OAAQ,MACR88N,SAAU,mBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,81BAGE6wqC,QAAU,CACbt1pC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,uHAGE8wqC,cAAgB,CACnBv1pC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+KAGEohqC,uBAAgB,CACnB7lpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,iNAGE+wqC,SAAW,CACdx1pC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qLAGEgxqC,YAAc,CACjBz1pC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,yRAGEqhqC,wBAAiB,CACpB9lpC,OAAQ,MACR88N,SAAU,iBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,m0BAGEshqC,gBAAS,CACZ/lpC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,oTAGEixqC,aAAe,CAClB11pC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,i0CAGEkxqC,eAAiB,CACpB31pC,OAAQ,MACR88N,SAAU,gBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,mSAGEmxqC,QAAU,CACb51pC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,uPAGEoxqC,SAAW,CACd71pC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,wOAGEuhqC,qBAAc,CACjBhmpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qwBAGEwhqC,uBAAgB,CACnBjmpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4lBAGEyhqC,yBAAkB,CACrBlmpC,OAAQ,MACR88N,SAAU,iBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,uhBAGEqxqC,UAAY,CACf91pC,OAAQ,MACR88N,SAAU,UACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,8mBAGEsxqC,aAAe,CAClB/1pC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,0XAGEuxqC,SAAW,CACdh2pC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2XAGE0hqC,sBAAe,CAClBnmpC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,0NAGEwxqC,YAAc,CACjBj2pC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,uxBAGEyxqC,YAAc,CACjBl2pC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,gRAGE0xqC,QAAU,CACbn2pC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2fAGE2xqC,QAAU,CACbp2pC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2NAGE2hqC,uBAAgB,CACnBpmpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kRAGE4xqC,MAAQ,CACXr2pC,OAAQ,MACR88N,SAAU,MACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,0zBAGE6xqC,YAAc,CACjBt2pC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,0YAGE8xqC,YAAc,CACjBv2pC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,sdAGE+xqC,UAAY,CACfx2pC,OAAQ,MACR88N,SAAU,UACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+cAGE4kQ,QAAU,CACbrpP,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,oXAGE0kQ,cAAgB,CACnBnpP,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2bAGE2kQ,cAAgB,CACnBppP,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kpCAGEgyqC,QAAU,CACbz2pC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2aAGEiyqC,QAAU,CACb12pC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+dAGEkyqC,OAAS,CACZ32pC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,oHAGE4hqC,sBAAe,CAClBrmpC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,sLAGEmyqC,OAAS,CACZ52pC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,iVAGEoyqC,OAAS,CACZ72pC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,sPAGEqyqC,aAAe,CAClB92pC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,uRAGE6hqC,sBAAe,CAClBtmpC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,0TAGEsyqC,UAAY,CACf/2pC,OAAQ,MACR88N,SAAU,UACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,syCAGEuyqC,YAAc,CACjBh3pC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ihBAGEwyqC,WAAa,CAChBj3pC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,odAGEyyqC,QAAU,CACbl3pC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6bAGE0yqC,cAAgB,CACnBn3pC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,yoBAGE2yqC,SAAW,CACdp3pC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,gOAGE4yqC,WAAa,CAChBr3pC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ykBAGE8hqC,0BAAmB,CACtBvmpC,OAAQ,MACR88N,SAAU,kBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,mnBAGE6yqC,YAAc,CACjBt3pC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4fAGE8yqC,YAAc,CACjBv3pC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ofAGE+yqC,aAAe,CAClBx3pC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ofAGEgzqC,SAAW,CACdz3pC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qqBAGEizqC,UAAY,CACf13pC,OAAQ,MACR88N,SAAU,UACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+mCAGEkzqC,OAAS,CACZ33pC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4jBAGEmzqC,UAAY,CACf53pC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,siBAGE+hqC,sBAAe,CAClBxmpC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,miBAGEozqC,QAAU,CACb73pC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,sUAGEqzqC,WAAa,CAChB93pC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ilBAGEszqC,UAAY,CACf/3pC,OAAQ,MACR88N,SAAU,UACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ozBAGEuzqC,OAAS,CACZh4pC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,iqBAGEwzqC,SAAW,CACdj4pC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qeAGEyzqC,MAAQ,CACXl4pC,OAAQ,MACR88N,SAAU,MACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,woBAGE0zqC,YAAc,CACjBn4pC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ysBAGE2zqC,YAAc,CACjBp4pC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,wcAGE4zqC,YAAc,CACjBr4pC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ikBAGEgiqC,gBAAS,CACZzmpC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,8bAGE6zqC,SAAW,CACdt4pC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,8VAGE8zqC,cAAgB,CACnBv4pC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,8aAGE+zqC,aAAe,CAClBx4pC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,shBAGEg0qC,SAAW,CACdz4pC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,i2BAGEi0qC,QAAU,CACb14pC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kUAGEk0qC,WAAa,CAChB34pC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6cAGEm0qC,iBAAmB,CACtB54pC,OAAQ,MACR88N,SAAU,mBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,olBAGEiiqC,uBAAgB,CACnB1mpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,wpBAGEo0qC,aAAe,CAClB74pC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,idAGEq0qC,YAAc,CACjB94pC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,sRAGEs0qC,OAAS,CACZ/4pC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,8rBAGEu0qC,eAAiB,CACpBh5pC,OAAQ,MACR88N,SAAU,gBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,0pBAGEw0qC,cAAgB,CACnBj5pC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2WAGEy0qC,iBAAmB,CACtBl5pC,OAAQ,MACR88N,SAAU,kBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+vBAGE00qC,eAAiB,CACpBn5pC,OAAQ,MACR88N,SAAU,gBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6hBAGE20qC,SAAW,CACdp5pC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,igDAGE40qC,YAAc,CACjBr5pC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qVAGE60qC,eAAiB,CACpBt5pC,OAAQ,MACR88N,SAAU,gBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,w5CAGE80qC,aAAe,CAClBv5pC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,yVAGE+0qC,SAAW,CACdx5pC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,wfAGEg1qC,UAAY,CACfz5pC,OAAQ,MACR88N,SAAU,UACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6kBAGEi1qC,WAAa,CAChB15pC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qnBAGEkiqC,iBAAU,CACb3mpC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,44BAGEmiqC,qBAAc,CACjB5mpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4+DAGEk1qC,OAAS,CACZ35pC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2MAGEm1qC,gBAAkB,CACrB55pC,OAAQ,MACR88N,SAAU,kBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,u4BAGEo1qC,cAAgB,CACnB75pC,OAAQ,MACR88N,SAAU,gBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,y4BAGEq1qC,iBAAmB,CACtB95pC,OAAQ,MACR88N,SAAU,mBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,8qBAGEs1qC,eAAiB,CACpB/5pC,OAAQ,MACR88N,SAAU,iBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,irBAGEu1qC,WAAa,CAChBh6pC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,wGAGEw1qC,kBAAoB,CACvBj6pC,OAAQ,MACR88N,SAAU,oBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,iiCAGEy1qC,gBAAkB,CACrBl6pC,OAAQ,MACR88N,SAAU,kBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6hCAGE01qC,SAAW,CACdn6pC,OAAQ,MACR88N,SAAU,UACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,yGAGE21qC,eAAiB,CACpBp6pC,OAAQ,MACR88N,SAAU,gBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ykBAGE41qC,UAAY,CACfr6pC,OAAQ,MACR88N,SAAU,UACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ukBAGEoiqC,kBAAW,CACd7mpC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,8GAGE61qC,aAAe,CAClBt6pC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CAAC,IAAK,IAAK,GAAI,OAAQ,0BAE1BqiqC,gBAAS,CACZ9mpC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qQAGEsiqC,oBAAa,CAChB/mpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,mJAGE81qC,eAAiB,CACpBv6pC,OAAQ,MACR88N,SAAU,gBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2LAGE+1qC,cAAgB,CACnBx6pC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4LAGEg2qC,cAAgB,CACnBz6pC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ynBAGEuiqC,sBAAe,CAClBhnpC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,gMAGEi2qC,OAAS,CACZ16pC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,8GAGEwiqC,sBAAe,CAClBjnpC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+KAGEk2qC,YAAc,CACjB36pC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2aAGEm2qC,aAAe,CAClB56pC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,gpBAGEo2qC,gBAAkB,CACrB76pC,OAAQ,MACR88N,SAAU,gBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4uBAGEq2qC,YAAc,CACjB96pC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kpCAGEs2qC,SAAW,CACd/6pC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,inBAGEu2qC,WAAa,CAChBh7pC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,yPAGEyiqC,eAAQ,CACXlnpC,OAAQ,MACR88N,SAAU,MACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,mwCAGEw2qC,cAAgB,CACnBj7pC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+oCAGEy2qC,OAAS,CACZl7pC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,y2BAGE02qC,UAAY,CACfn7pC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+vBAGE22qC,UAAY,CACfp7pC,OAAQ,MACR88N,SAAU,UACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2sBAGE42qC,QAAU,CACbr7pC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,gNAGE62qC,cAAgB,CACnBt7pC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,maAGE82qC,SAAW,CACdv7pC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qLAGE+2qC,YAAc,CACjBx7pC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,yRAGEg3qC,gBAAkB,CACrBz7pC,OAAQ,MACR88N,SAAU,iBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,i8BAGEi3qC,MAAQ,CACX17pC,OAAQ,MACR88N,SAAU,MACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,uSAGEk3qC,OAAS,CACZ37pC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2iBAGEm3qC,QAAU,CACb57pC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,8vBAGEo3qC,OAAS,CACZ77pC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,suBAGEq3qC,WAAa,CAChB97pC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,sZAGEs3qC,aAAe,CAClB/7pC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ynBAGEu3qC,YAAc,CACjBh8pC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,wnBAGEw3qC,KAAO,CACVj8pC,OAAQ,MACR88N,SAAU,KACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,grCAGEy3qC,UAAY,CACfl8pC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kfAGE03qC,SAAW,CACdn8pC,OAAQ,MACR88N,SAAU,UACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,uwBAGE23qC,cAAgB,CACnBp8pC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ibAGE43qC,mBAAqB,CACxBr8pC,OAAQ,MACR88N,SAAU,oBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,mhBAGE63qC,kBAAoB,CACvBt8pC,OAAQ,MACR88N,SAAU,mBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6lBAGE83qC,kBAAoB,CACvBv8pC,OAAQ,MACR88N,SAAU,mBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kmBAGE+3qC,qBAAuB,CAC1Bx8pC,OAAQ,MACR88N,SAAU,sBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,imBAGEg4qC,2BAA6B,CAChCz8pC,OAAQ,MACR88N,SAAU,6BACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,0mBAGE0iqC,sBAAe,CAClBnnpC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,oyBAGE2iqC,oBAAa,CAChBpnpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2yBAGEi4qC,YAAc,CACjB18pC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2ZAGEk4qC,YAAc,CACjB38pC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4WAGEm4qC,QAAU,CACb58pC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,oUAGE4iqC,uBAAgB,CACnBrnpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4XAGEo4qC,OAAS,CACZ78pC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,sZAGEq4qC,YAAc,CACjB98pC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,uVAGEs4qC,WAAa,CAChB/8pC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qPAGEu4qC,YAAc,CACjBh9pC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,01BAGEw4qC,QAAU,CACbj9pC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,8aAGEy4qC,cAAgB,CACnBl9pC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,0eAGE04qC,iBAAmB,CACtBn9pC,OAAQ,MACR88N,SAAU,kBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,gyBAGE24qC,QAAU,CACbp9pC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,wUAGE6iqC,oBAAa,CAChBtnpC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6gBAGE44qC,OAAS,CACZr9pC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,uhBAGE64qC,SAAW,CACdt9pC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ykBAGE84qC,QAAU,CACbv9pC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,icAGE+4qC,MAAQ,CACXx9pC,OAAQ,MACR88N,SAAU,MACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,stDAGEg5qC,KAAO,CACVz9pC,OAAQ,MACR88N,SAAU,KACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,sOAGEi5qC,WAAa,CAChB19pC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,0rBAGEk5qC,YAAc,CACjB39pC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4iBAGEm5qC,OAAS,CACZ59pC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,giBAGEo5qC,UAAY,CACf79pC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qiBAGEq5qC,kBAAoB,CACvB99pC,OAAQ,MACR88N,SAAU,mBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,k+BAGEs5qC,aAAe,CAClB/9pC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2ZAGEu5qC,SAAW,CACdh+pC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,u+BAGEw5qC,SAAW,CACdj+pC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,wRAGEy5qC,YAAc,CACjBl+pC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+WAGE05qC,SAAW,CACdn+pC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,0cAGE8iqC,gBAAS,CACZvnpC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,wTAGE+iqC,sBAAe,CAClBxnpC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2bAGE25qC,SAAW,CACdp+pC,OAAQ,MACR88N,SAAU,UACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,8wBAGE45qC,WAAa,CAChBr+pC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,+mBAGE65qC,aAAe,CAClBt+pC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,u0CAGE85qC,YAAc,CACjBv+pC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6vBAGE+5qC,QAAU,CACbx+pC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,03BAGEg6qC,eAAiB,CACpBz+pC,OAAQ,MACR88N,SAAU,gBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,8NAGEi6qC,WAAa,CAChB1+pC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6fAGEk6qC,QAAU,CACb3+pC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,8UAGEm6qC,cAAgB,CACnB5+pC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,8uBAGEo6qC,YAAc,CACjB7+pC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,wvBAGEq6qC,QAAU,CACb9+pC,OAAQ,MACR88N,SAAU,QACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kQAGEs6qC,iBAAmB,CACtB/+pC,OAAQ,MACR88N,SAAU,kBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,qwBAGEu6qC,aAAe,CAClBh/pC,OAAQ,MACR88N,SAAU,cACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,yeAGEw6qC,YAAc,CACjBj/pC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,8LAGEy6qC,WAAa,CAChBl/pC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,0oCAGE06qC,YAAc,CACjBn/pC,OAAQ,MACR88N,SAAU,YACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,shBAGE26qC,SAAW,CACdp/pC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,ybAGE46qC,aAAe,CAClBr/pC,OAAQ,MACR88N,SAAU,aACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,0wBAGE66qC,OAAS,CACZt/pC,OAAQ,MACR88N,SAAU,OACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6nBAGEgjqC,uBAAgB,CACnBznpC,OAAQ,MACR88N,SAAU,eACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,0bAGEijqC,0BAAmB,CACtB1npC,OAAQ,MACR88N,SAAU,kBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2KAGEkjqC,0BAAmB,CACtB3npC,OAAQ,MACR88N,SAAU,kBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,iHAGEmjqC,yBAAkB,CACrB5npC,OAAQ,MACR88N,SAAU,iBACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,kSAGE86qC,UAAY,CACfv/pC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,4rCAGE+6qC,SAAW,CACdx/pC,OAAQ,MACR88N,SAAU,SACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,6fAGEg7qC,UAAY,CACfz/pC,OAAQ,MACR88N,SAAU,WACVr4O,KAAM,CACL,IACA,IACA,GACA,OACA,2mBAGE8kQ,iBAAU,CACbk35B,cAAeA,uBACfC,cAAeA,uBACfmH,SACAC,cACAC,eACAC,YACAC,aACAC,YACAC,mCACAC,SACAC,kBACAC,kBACAC,mBACAC,gBACAC,YACAC,YACAC,aACAC,UACAC,UACAlI,qBAAsBA,8BACtBC,qBAAsBA,8BACtBC,sBAAuBA,+BACvBC,mBAAoBA,4BACpBgI,kBACAC,kBACAC,mBACAC,gBACAC,YACAC,YACAC,aACAC,UACAC,YACAC,aACAC,aACAC,4BACAC,WACAC,KACAC,mBACAC,WACAC,eACAC,MACAC,UACAC,UACAC,OACAC,eACAC,iBACAC,OACAC,eACAC,cACAC,cACAC,iBACAC,uBACAC,MACAC,OACA7J,OAAQA,gBACRC,YAAaA,qBACb6J,UACAC,aACAC,eACAC,QACAC,OACAC,OACAC,OACAC,OACAnK,WAAYA,oBACZoK,cACAC,MACAC,QACAC,UACAC,YACAC,MACAxK,WAAYA,oBACZyK,WACAC,WACAC,MACAC,aACA3K,WAAYA,oBACZC,cAAeA,uBACfC,gBAAiBA,yBACjBC,gBAAiBA,yBACjBC,eAAgBA,wBAChBC,gBAAiBA,yBACjBuK,SACAC,cACAC,MACAC,YACAC,YACAC,aACA3K,kBAAmBA,2BACnBC,kBAAmBA,2BACnBC,mBAAoBA,4BACpBC,gBAAiBA,yBACjByK,UACAC,gBACAC,WACAC,cACAC,YACA5K,WAAYA,oBACZ6K,YACAC,WACAC,QACA9K,cAAeA,uBACfC,cAAeA,uBACf8K,QACAC,cACAC,aACAC,YACAC,cACAC,YACAC,aACAC,YACAC,oBACAC,oBACAC,qBACAC,kBACAC,cACAC,cACAC,eACAC,YACAC,QACA7L,SAAUA,kBACV8L,cACA7L,YAAaA,qBACb8L,iBACAC,gBACA9L,QAASA,iBACTC,QAASA,iBACTC,mBAAoBA,4BACpB6L,QACAC,mBACAC,iBACAC,OACAC,aACAC,SACAC,MACAC,OACAC,UACApM,UAAWA,mBACXC,aAAcA,sBACdC,WAAYA,oBACZC,UAAWA,mBACXkM,WACAjM,OAAQA,gBACRC,YAAaA,qBACbC,aAAcA,sBACdgM,OACAC,aACAC,OACAC,QACAC,MACAC,WACAC,OACAC,UACAC,MACAC,aACAC,QACAC,eACA1M,YAAaA,qBACb2M,WACA1M,OAAQA,gBACR2M,QACAC,YACAC,YACA5M,WAAYA,oBACZC,eAAgBA,wBAChB4M,iBACAC,SACAC,WACAC,cACAC,cACAC,oBACAC,sBACAC,SACAC,kBACAC,kBACAC,wBACAC,MACAC,aACAvN,WAAYA,oBACZwN,eACAC,cACAC,MACAC,SACAC,aACA3N,OAAQA,gBACRC,UAAWA,mBACXC,cAAeA,uBACfC,YAAaA,qBACbC,WAAYA,oBACZC,YAAaA,qBACbC,YAAaA,qBACbC,UAAWA,mBACXC,iBAAkBA,0BAClBC,YAAaA,qBACbC,WAAYA,oBACZkN,OACAC,SACAC,OACAC,mBACAC,WACArN,OAAQA,gBACRsN,gBACAC,QACAtN,SAAUA,kBACVC,aAAcA,sBACdsN,OACAC,eACAC,UACAvN,QAASA,iBACTC,SAAUA,kBACVuN,UACAC,QACAvN,MAAOA,eACPwN,aACAC,OACAC,eACAC,QACAC,WACAC,gBACAC,UACA7N,aAAcA,sBACdC,YAAaA,qBACbC,YAAaA,qBACbC,gBAAiBA,yBACjBC,gBAAiBA,yBACjBC,iBAAkBA,0BAClBC,cAAeA,uBACfC,cAAeA,uBACfC,WAAYA,oBACZC,eAAgBA,wBAChBC,YAAaA,qBACbC,YAAaA,qBACbmN,UACAlN,MAAOA,eACPmN,UACAC,aACAnN,QAASA,iBACToN,YACAC,UACAC,aACAC,OACAtN,WAAYA,oBACZuN,iBACAtN,YAAaA,qBACbuN,eACAC,gBACAC,iBACAC,UACAzN,UAAWA,mBACXC,SAAUA,kBACVC,QAASA,iBACTC,SAAUA,kBACVuN,QACAC,SACAC,WACAC,OACAC,aACAC,SACAC,MACA5N,WAAYA,oBACZ6N,WACAC,SACAC,OACA9N,QAASA,iBACT+N,eACAC,aACA/N,WAAYA,oBACZC,YAAaA,qBACb+N,OACAC,WACAC,OACAhO,UAAWA,mBACXiO,SACAC,SACAC,gBACAC,OACAC,WACAC,mBACAC,mBACAC,oBACAC,iBACAC,YACAC,QACAC,SACAC,OACA5O,MAAOA,eACP6O,YACAC,eACAC,SACAC,WACAC,OACAC,aACAC,aACAC,cACAC,cACAC,SACArP,MAAOA,eACPsP,UACAC,YACAC,aACAC,kBACAC,QACAC,cACA1P,cAAeA,uBACf2P,SACAC,YACA3P,eAAgBA,wBAChBC,OAAQA,gBACR2P,aACAC,eACAC,QACAC,SACA7P,YAAaA,qBACbC,cAAeA,uBACfC,gBAAiBA,yBACjB4P,UACAC,aACAC,SACA7P,aAAcA,sBACd8P,YACAC,YACAC,QACAC,QACAhQ,cAAeA,uBACfiQ,MACAC,YACAC,YACAC,UACAnt6B,QACAF,cACAC,cACAqt6B,QACAC,QACAC,OACAtQ,aAAcA,sBACduQ,OACAC,OACAC,aACAxQ,aAAcA,sBACdyQ,UACAC,YACAC,WACAC,QACAC,cACAC,SACAC,WACA9Q,iBAAkBA,0BAClB+Q,YACAC,YACAC,aACAC,SACAC,UACAC,OACAC,UACApR,aAAcA,sBACdqR,QACAC,WACAC,UACAC,OACAC,SACAC,MACAC,YACAC,YACAC,YACA5R,OAAQA,gBACR6R,SACAC,cACAC,aACAC,SACAC,QACAC,WACAC,iBACAlS,cAAeA,uBACfmS,aACAC,YACAC,OACAC,eACAC,cACAC,iBACAC,eACAC,SACAC,YACAC,eACAC,aACAC,SACAC,UACAC,WACA/S,QAASA,iBACTC,YAAaA,qBACb+S,OACAC,gBACAC,cACAC,iBACAC,eACAC,WACAC,kBACAC,gBACAC,SACAC,eACAC,UACAxT,SAAUA,kBACVyT,aACAxT,OAAQA,gBACRC,WAAYA,oBACZwT,eACAC,cACAC,cACAzT,aAAcA,sBACd0T,OACAzT,aAAcA,sBACd0T,YACAC,aACAC,gBACAC,YACAC,SACAC,WACA9T,MAAOA,eACP+T,cACAC,OACAC,UACAC,UACAC,QACAC,cACAC,SACAC,YACAC,gBACAC,MACAC,OACAC,QACAC,OACAC,WACAC,aACAC,YACAC,KACAC,UACAC,SACAC,cACAC,mBACAC,kBACAC,kBACAC,qBACAC,2BACAtV,aAAcA,sBACdC,WAAYA,oBACZsV,YACAC,YACAC,QACAvV,cAAeA,uBACfwV,OACAC,YACAC,WACAC,YACAC,QACAC,cACAC,iBACAC,QACA9V,WAAYA,oBACZ+V,OACAC,SACAC,QACAC,MACAC,KACAC,WACAC,YACAC,OACAC,UACAC,kBACAC,aACAC,SAC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CACH6ivB,QAAS,WACT5isB,KAAM,sBACND,OAAQ,eAEV894B,IAAK,CACHj7M,QAAS,qBACT5isB,KAAM,+BACND,OAAQ,yBAEVplK,KAAM,CACJio2B,QAAS,0BACT5isB,KAAM,+BACND,OAAQ,+BAGZrF,aAAc,CACZ36C,IAAK,CACH6ivB,QAAS,yCACT5isB,KAAM,qDACND,OAAQ,6CAEV894B,IAAK,CACHj7M,QAAS,oDACT5isB,KAAM,8DACND,OAAQ,wDAEVplK,KAAM,CACJio2B,QAAS,yDACT5isB,KAAM,8DACND,OAAQ,8DAGZpF,QAAS,CACP56C,IAAK,CACH6ivB,QAAS,gBACT5isB,KAAM,4BACND,OAAQ,oBAEV894B,IAAK,CACHj7M,QAAS,2BACT5isB,KAAM,qCACND,OAAQ,+BAEVplK,KAAM,CACJio2B,QAAS,gCACT5isB,KAAM,qCACND,OAAQ,qCAGZnF,YAAa,CACX76C,IAAK,CACH6ivB,QAAS,+BACT5isB,KAAM,2CACND,OAAQ,mCAEV894B,IAAK,CACHj7M,QAAS,0CACT5isB,KAAM,oDACND,OAAQ,8CAEVplK,KAAM,CACJio2B,QAAS,+CACT5isB,KAAM,oDACND,OAAQ,oDAGZlF,OAAQ,CACN96C,IAAK,CACH6ivB,QAAS,MACT5isB,KAAM,kBACND,OAAQ,UAEV894B,IAAK,CACHj7M,QAAS,iBACT5isB,KAAM,2BACND,OAAQ,qBAEVplK,KAAM,CACJio2B,QAAS,sBACT5isB,KAAM,2BACND,OAAQ,2BAGZjF,WAAY,CACV/6C,IAAK,CACH6ivB,QAAS,uBACT5isB,KAAM,mCACND,OAAQ,2BAEV894B,IAAK,CACHj7M,QAAS,kCACT5isB,KAAM,4CACND,OAAQ,sCAEVplK,KAAM,CACJio2B,QAAS,uCACT5isB,KAAM,4CACND,OAAQ,4CAGZhF,aAAc,CACZh7C,IAAK,CACH6ivB,QAAS,YACT5isB,KAAM,wBACND,OAAQ,gBAEV894B,IAAK,CACHj7M,QAAS,uBACT5isB,KAAM,iCACND,OAAQ,2BAEVplK,KAAM,CACJio2B,QAAS,4BACT5isB,KAAM,iCAC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EF4vf,IAAK8/3B,aAAa,CAChB743B,cAAei53B,8BACfh53B,kBAAmB,OACnBE,cAAe+43B,8BACf943B,kBAAmB,QAErB7G,QAASs/3B,aAAa,CACpB743B,cAAem53B,kCACfl53B,kBAAmB,OACnBE,cAAei53B,kCACfh53B,kBAAmB,MACnBC,cAAe,SAAuBnsf,GACpC,OAAOA,EAAQ,CACjB,IAEF+vX,MAAO40/B,aAAa,CAClB743B,cAAeq53B,gCACfp53B,kBAAmB,OACnBE,cAAem53B,gCACfl53B,kBAAmB,QAErB1/a,IAAKm4yC,aAAa,CAChB743B,cAAeu53B,8BACft53B,kBAAmB,OACnBE,cAAeq53B,8BACfp53B,kBAAmB,QAErBjG,UAAW0+3B,aAAa,CACtB743B,cAAey53B,oCACfx53B,kBAAmB,MACnBE,cAAeu53B,oCACft53B,kBAAmB,SAGvB,sCChGA,IAAI+33B,iCAAc,CAChBh0/B,KAAM,gBACNw9H,KAAM,WACNC,OAAQ,UACRC,MAAO,YAELu23B,iCAAc,CAChBj0/B,KAAM,gBACNw9H,KAAM,aACNC,OAAQ,WACRC,MAAO,SAELw23B,qCAAkB,CACpBl0/B,KAAM,2BACNw9H,KAAM,2BACNC,OAAQ,qBACRC,MAAO,sBAELzG,gCAAa,CACf1pJ,KAAMwmhC,kBAAkB,CACtB96/B,QAAS+6/B,iCACT543B,aAAc,SAEhB58a,KAAMu1yC,kBAAkB,CACtB96/B,QAASg7/B,iCACT743B,aAAc,SAEhB/6H,SAAU0z/B,kBAAkB,CAC1B96/B,QAASi7/B,qCACT943B,aAAc,UAGlB,2DChBA,IAAI/gO,aAAS,CACX33Q,KAAM,QACNm8e,eAAgBA,sBAChB5H,WAAYA,qBACZ6H,eAAgBA,sBAChBnK,SAAUA,gBACVruf,MAAOA,aAEPqF,QAAS,CACPiqf,aAAc,EACdiD,sBAAuB,IAG3B,yBC7BA,IAAIm73B,8BAAc,CAChBh0/B,KAAM,gBACNw9H,KAAM,WACNC,OAAQ,UACRC,MAAO,WAELu23B,8BAAc,CAChBj0/B,KAAM,gBACNw9H,KAAM,aACNC,OAAQ,WACRC,MAAO,SAELw23B,kCAAkB,CACpBl0/B,KAAM,2BACNw9H,KAAM,2BACNC,OAAQ,qBACRC,MAAO,sBAELzG,6BAAa,CACf1pJ,KAAMwmhC,kBAAkB,CACtB96/B,QAAS+6/B,8BACT543B,aAAc,SAEhB58a,KAAMu1yC,kBAAkB,CACtB96/B,QAASg7/B,8BACT743B,aAAc,SAEhB/6H,SAAU0z/B,kBAAkB,CAC1B96/B,QAASi7/B,kCACT943B,aAAc,UAGlB,qDCnBA,IAAI/gO,UAAS,CACX33Q,KAAM,KACNm8e,eAAgBA,sBAChB5H,WAAYA,kBACZ6H,eAAgBA,sBAChBnK,SAAUA,gBACVruf,MAAOA,aACPqF,QAAS,CACPiqf,aAAc,EACdiD,sBAAuB,IAG3B,mBC1BA,IAAIwD,2CAAuB,CACzBC,iBAAkB,CAChBj6C,IAAK,gEACLotN,IAAK,mFACLjilB,MAAO,iFAET+ua,SAAU,CACRl6C,IAAK,iCACLotN,IAAK,oDACLjilB,MAAO,4CAETgva,YAAa,wCACbC,iBAAkB,CAChBp6C,IAAK,oDACLotN,IAAK,6EACLjilB,MAAO,2EAETkva,SAAU,CACRr6C,IAAK,qBACLotN,IAAK,8CACLjilB,MAAO,sCAETmva,YAAa,CACXt6C,IAAK,2BACLotN,IAAK,6CACLjilB,MAAO,kDAETova,OAAQ,CACNv6C,IAAK,qBACLotN,IAAK,uCACLjilB,MAAO,sCAETqva,MAAO,CACLx6C,IAAK,qBACLotN,IAAK,uCACLjilB,MAAO,sCAETsva,YAAa,CACXz6C,IAAK,iCACLotN,IAAK,mDACLjilB,MAAO,8DAETuva,OAAQ,CACN16C,IAAK,2BACLotN,IAAK,6CACLjilB,MAAO,kDAETwva,aAAc,CACZ36C,IAAK,iCACLotN,IAAK,mDACLjilB,MAAO,8DAETyva,QAAS,CACP56C,IAAK,2BACLotN,IAAK,6CACLjilB,MAAO,kDAET0va,YAAa,CACX76C,IAAK,2BACLotN,IAAK,6CACLjilB,MAAO,kDAET2va,OAAQ,CACN96C,IAAK,qBACLotN,IAAK,uCACLjilB,MAAO,sCAET4va,WAAY,CAC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53B,8BACfh53B,kBAAmB,OACnBE,cAAe+43B,8BACf943B,kBAAmB,QAErB7G,QAASs/3B,aAAa,CACpB743B,cAAem53B,kCACfl53B,kBAAmB,OACnBE,cAAei53B,kCACfh53B,kBAAmB,MACnBC,cAAe,SAAuBnsf,GACpC,OAAOA,EAAQ,CACjB,IAEF+vX,MAAO40/B,aAAa,CAClB743B,cAAeq53B,gCACfp53B,kBAAmB,OACnBE,cAAem53B,gCACfl53B,kBAAmB,QAErB1/a,IAAKm4yC,aAAa,CAChB743B,cAAeu53B,8BACft53B,kBAAmB,OACnBE,cAAeq53B,8BACfp53B,kBAAmB,QAErBjG,UAAW0+3B,aAAa,CACtB743B,cAAey53B,oCACfx53B,kBAAmB,MACnBE,cAAeu53B,oCACft53B,kBAAmB,SAGvB,sCCnFA,IAAI5hO,UAAS,CACX33Q,KAAM,KACNm8e,eAAgBA,sBAChB5H,WAAYA,kBACZ6H,eAAgBA,sBAChBnK,SAAUA,gBACVruf,MAAOA,aACPqF,QAAS,CACPiqf,aAAc,EACdiD,sBAAuB,IAG3B,mBC3BA,IAAIwD,2CAAuB,CACzBC,iBAAkB,CAChBj6C,IAAK,qBACL70X,MAAO,6BAET+ua,SAAU,CACRl6C,IAAK,aACL70X,MAAO,qBAETgva,YAAa,iBACbC,iBAAkB,CAChBp6C,IAAK,oBACL70X,MAAO,4BAETkva,SAAU,CACRr6C,IAAK,YACL70X,MAAO,oBAETmva,YAAa,CACXt6C,IAAK,eACL70X,MAAO,uBAETova,OAAQ,CACNv6C,IAAK,SACL70X,MAAO,iBAETqva,MAAO,CACLx6C,IAAK,YACL70X,MAAO,oBAETsva,YAAa,CACXz6C,IAAK,sBACL70X,MAAO,6BAETuva,OAAQ,CACN16C,IAAK,gBACL70X,MAAO,uBAETwva,aAAc,CACZ36C,IAAK,gBACL70X,MAAO,wBAETyva,QAAS,CACP56C,IAAK,UACL70X,MAAO,kBAET0va,YAAa,CACX76C,IAAK,gBACL70X,MAAO,wBAET2va,OAAQ,CACN96C,IAAK,UACL70X,MAAO,kBAET4va,WAAY,C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AAem53B,gCACfl53B,kBAAmB,QAErB1/a,IAAKm4yC,aAAa,CAChB743B,cAAeu53B,8BACft53B,kBAAmB,OACnBE,cAAeq53B,8BACfp53B,kBAAmB,QAErBjG,UAAW0+3B,aAAa,CACtB743B,cAAey53B,oCACfx53B,kBAAmB,MACnBE,cAAeu53B,oCACft53B,kBAAmB,SAGvB,sCClFA,IAAI5hO,UAAS,CACX33Q,KAAM,KACNm8e,eAAgBA,sBAChB5H,WAAYA,kBACZ6H,eAAgBA,sBAChBnK,SAAUA,gBACVruf,MAAOA,aACPqF,QAAS,CACPiqf,aAAc,EACdiD,sBAAuB,IAG3B,mBC3BA,IAAIwD,2CAAuB,CACzBC,iBAAkB,CAChBj6C,IAAK,sBACL70X,MAAO,8BACPq1zC,cAAe,gBACfC,gBAAiB,yBAEnBvm5B,SAAU,CACRl6C,IAAK,UACL70X,MAAO,mBAETgva,YAAa,WACbC,iBAAkB,CAChBp6C,IAAK,sBACL70X,MAAO,8BACPq1zC,cAAe,gBACfC,gBAAiB,yBAEnBpm5B,SAAU,CACRr6C,IAAK,UACL70X,MAAO,mBAETmva,YAAa,CACXt6C,IAAK,sBACL70X,MAAO,+BAETova,OAAQ,CACNv6C,IAAK,gBACL70X,MAAO,yBAETqva,MAAO,CACLx6C,IAAK,UACL70X,MAAO,mBAETsva,YAAa,CACXz6C,IAAK,sBACL70X,MAAO,+BAETuva,OAAQ,CACN16C,IAAK,gBACL70X,MAAO,yBAETwva,aAAc,CACZ36C,IAAK,sBACL70X,MAAO,+BAETyva,QAAS,CACP56C,IAAK,gBACL70X,MAAO,yBAET0va,YAAa,CACX76C,IAAK,gBACL70X,MAAO,yBAET2va,OAAQ,CACN96C,IAAK,UACL70X,MAAO,mBAET4va,WAAY,CACV/6C,IAAK,sBACL70X,MAAO,+BAET6va,aAAc,CACZh7C,IAAK,sBACL70X,MAAO,gCAGPqxa,qCAAiB,SAAwBz7b,EAAOvzD,EAAOlE,GAEzD,IAAI/F,EADJ+F,EAAUA,GAAW,CAAC,EAEtB,IAAI2xf,EAAajB,2CAAqBj5b,GAgBtC,OAdEx9D,EA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6DAEJ+23B,8BAAmB,CACrB9qyC,IAAK,CAAC,UAAM,UAAM,UAAM,UAAM,UAAM,UAAM,YAExC+qyC,oCAAyB,CAC3B/qyC,IAAK,kGAEHgryC,oCAAyB,CAC3BhryC,IAAK,CACHu0X,GAAI,qBACJyC,GAAI,qBACJg9C,SAAU,oCACVC,KAAM,iBACNC,QAAS,WACTC,UAAW,iBACXC,QAAS,WACTC,MAAO,mBAGPt4f,mBAAQ,CACVyuf,cAAe4/3B,oBAAoB,CACjC/43B,aAAcg53B,uCACdx43B,aAAcy43B,uCACd343B,cAAe,SAAuBl3f,GACpC,OAAOo9B,SAASp9B,EAAO,GACzB,IAEF4vf,IAAK8/3B,aAAa,CAChB743B,cAAei53B,8BACfh53B,kBAAmB,OACnBE,cAAe+43B,8BACf943B,kBAAmB,QAErB7G,QAASs/3B,aAAa,CACpB743B,cAAem53B,kCACfl53B,kBAAmB,OACnBE,cAAei53B,kCACfh53B,kBAAmB,MACnBC,cAAe,SAAuBnsf,GACpC,OAAOA,EAAQ,CACjB,IAEF+vX,MAAO40/B,aAAa,CAClB743B,cAAeq53B,gCACfp53B,kBAAmB,OACnBE,cAAem53B,gCACfl53B,kBAAmB,QAErB1/a,IAAKm4yC,aAAa,CAChB743B,cAAeu53B,8BACft53B,kBAAmB,OACnBE,cAAeq53B,8BACfp53B,kBAAmB,QAErBjG,UAAW0+3B,aAAa,CACtB743B,cAAey53B,oCACfx53B,kBAAmB,MACnBE,cAAeu53B,oCACft53B,kBAAmB,SAGvB,sCC9EA,IAAI5hO,UAAS,CACX33Q,KAAM,KACNm8e,eAAgBA,sBAChB5H,WAAYA,kBACZ6H,eAAgBA,sBAChBnK,SAAUA,gBACVruf,MAAOA,aACPqF,QAAS,CACPiqf,aAAc,EACdiD,sBAAuB,IAG3B,mBC7BA,IAAIwD,2CAAuB,CACzBC,iBAAkB,CAChBj6C,IAAK,uBACL70X,MAAO,gCAET+ua,SAAU,CACRl6C,IAAK,UACL70X,MAAO,mBAETgva,YAAa,WACbC,iBAAkB,CAChBp6C,IAAK,uBACL70X,MAAO,gCAETkva,SAAU,CACRr6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AC3Bn33B,OAAQ,CACNt/C,GAAI,OACJyC,GAAI,OACJg9C,SAAU,oBACVC,KAAM,gBACNC,QAAS,QACTC,UAAW,qBACXC,QAAS,SACTC,MAAO,QAETr0a,IAAK,CACHu0X,GAAI,OACJyC,GAAI,OACJg9C,SAAU,oBACVC,KAAM,gBACNC,QAAS,QACTC,UAAW,qBACXC,QAAS,SACTC,MAAO,SAGPt4f,mBAAQ,CACVyuf,cAAe4/3B,oBAAoB,CACjC/43B,aAAcg53B,uCACdx43B,aAAcy43B,uCACd343B,cAAe,SAAuBl3f,GACpC,OAAOo9B,SAASp9B,EAAO,GACzB,IAEF4vf,IAAK8/3B,aAAa,CAChB743B,cAAei53B,8BACfh53B,kBAAmB,OACnBE,cAAe+43B,8BACf943B,kBAAmB,QAErB7G,QAASs/3B,aAAa,CACpB743B,cAAem53B,kCACfl53B,kBAAmB,OACnBE,cAAei53B,kCACfh53B,kBAAmB,MACnBC,cAAe,SAAuBnsf,GACpC,OAAOA,EAAQ,CACjB,IAEF+vX,MAAO40/B,aAAa,CAClB743B,cAAeq53B,gCACfp53B,kBAAmB,OACnBE,cAAem53B,gCACfl53B,kBAAmB,QAErB1/a,IAAKm4yC,aAAa,CAChB743B,cAAeu53B,8BACft53B,kBAAmB,OACnBE,cAAeq53B,8BACfp53B,kBAAmB,QAErBjG,UAAW0+3B,aAAa,CACtB743B,cAAey53B,oCACfx53B,kBAAmB,MACnBE,cAAeu53B,oCACft53B,kBAAmB,SAGvB,sCC7FA,IAAI5hO,UAAS,CACX33Q,KAAM,KACNm8e,eAAgBA,sBAChB5H,WAAYA,kBACZ6H,eAAgBA,sBAChBnK,SAAUA,gBACVruf,MAAOA,aACPqF,QAAS,CACPiqf,aAAc,EACdiD,sBAAuB,IAG3B,mBC5BA,IAAIwD,8CAAuB,CACzBC,iBAAkB,CAChBj6C,IAAK,sBACL70X,MAAO,+BAET+ua,SAAU,CACRl6C,IAAK,YACL70X,MAAO,sBAETgva,YAAa,cACbC,iBAAkB,CAChBp6C,IAAK,qBACL70X,MAAO,8BAETkva,SAAU,CACRr6C,IAAK,WACL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Aey53B,uCACfx53B,kBAAmB,MACnBE,cAAeu53B,uCACft53B,kBAAmB,SAGvB,4CCrFA,IAAI5hO,aAAS,CACX33Q,KAAM,QACNm8e,eAAgBA,yBAChB5H,WAAYA,qBACZ6H,eAAgBA,yBAChBnK,SAAUA,mBACVruf,MAAOA,gBACPqF,QAAS,CACPiqf,aAAc,EACdiD,sBAAuB,IAG3B,yBC1BA,IAAIwD,2CAAuB,CACzBC,iBAAkB,CAChBj6C,IAAK,sBACL70X,MAAO,+BAET+ua,SAAU,CACRl6C,IAAK,YACL70X,MAAO,sBAETgva,YAAa,cACbC,iBAAkB,CAChBp6C,IAAK,qBACL70X,MAAO,8BAETkva,SAAU,CACRr6C,IAAK,WACL70X,MAAO,qBAETmva,YAAa,CACXt6C,IAAK,yBACL70X,MAAO,mCAETova,OAAQ,CACNv6C,IAAK,SACL70X,MAAO,mBAETqva,MAAO,CACLx6C,IAAK,QACL70X,MAAO,kBAETsva,YAAa,CACXz6C,IAAK,2BACL70X,MAAO,qCAETuva,OAAQ,CACN16C,IAAK,WACL70X,MAAO,qBAETwva,aAAc,CACZ36C,IAAK,2BACL70X,MAAO,mCAETyva,QAAS,CACP56C,IAAK,WACL70X,MAAO,mBAET0va,YAAa,CACX76C,IAAK,wBACL70X,MAAO,kCAET2va,OAAQ,CACN96C,IAAK,QACL70X,MAAO,kBAET4va,WAAY,CACV/6C,IAAK,gBACL70X,MAAO,0BAET6va,aAAc,CACZh7C,IAAK,cACL70X,MAAO,yBAGPqxa,qCAAiB,SAAwBz7b,EAAOvzD,EAAOlE,GACzD,IAAI/F,EACA03f,EAAajB,2CAAqBj5b,GAQtC,OANEx9D,EADwB,iBAAf03f,EACAA,EACU,IAAVztf,EACAytf,EAAWj7C,IAEXi7C,EAAW9va,MAAMpoE,QAAQ,YAAahe,OAAOyI,IAEpDlE,SAA0CA,EAAQ4xf,UAChD5xf,EAAQs7Y,YAAct7Y,EAAQs7Y,WAAa,EACtC,WAAarhZ,EAEb,SAAQA,EAGZA,CACT,EACA,iECjFA,IAAIou3C,8BAAc,CAChBh0/B,KAAM,2BACNw9H,KAAM,qB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f943B,kBAAmB,QAErB7G,QAASs/3B,aAAa,CACpB743B,cAAem53B,kCACfl53B,kBAAmB,OACnBE,cAAei53B,kCACfh53B,kBAAmB,MACnBC,cAAe,SAAuBnsf,GACpC,OAAOA,EAAQ,CACjB,IAEF+vX,MAAO40/B,aAAa,CAClB743B,cAAeq53B,gCACfp53B,kBAAmB,OACnBE,cAAem53B,gCACfl53B,kBAAmB,QAErB1/a,IAAKm4yC,aAAa,CAChB743B,cAAeu53B,8BACft53B,kBAAmB,OACnBE,cAAeq53B,8BACfp53B,kBAAmB,QAErBjG,UAAW0+3B,aAAa,CACtB743B,cAAey53B,oCACfx53B,kBAAmB,OACnBE,cAAeu53B,oCACft53B,kBAAmB,SAGvB,sCCpFA,IAAI5hO,UAAS,CACX33Q,KAAM,KACNm8e,eAAgBA,sBAChB5H,WAAYA,kBACZ6H,eAAgBA,sBAChBnK,SAAUA,gBACVruf,MAAOA,aACPqF,QAAS,CACPiqf,aAAc,EACdiD,sBAAuB,IAG3B,mBC1BA,IAAIwD,2CAAuB,CACzBC,iBAAkB,CAChBj6C,IAAK,yBACL70X,MAAO,mCAET+ua,SAAU,CACRl6C,IAAK,YACL70X,MAAO,sBAETgva,YAAa,gBACbC,iBAAkB,CAChBp6C,IAAK,wBACL70X,MAAO,kCAETkva,SAAU,CACRr6C,IAAK,WACL70X,MAAO,qBAETmva,YAAa,CACXt6C,IAAK,sBACL70X,MAAO,+BAETova,OAAQ,CACNv6C,IAAK,WACL70X,MAAO,oBAETqva,MAAO,CACLx6C,IAAK,SACL70X,MAAO,mBAETsva,YAAa,CACXz6C,IAAK,sBACL70X,MAAO,8BAETuva,OAAQ,CACN16C,IAAK,WACL70X,MAAO,mBAETwva,aAAc,CACZ36C,IAAK,yBACL70X,MAAO,mCAETyva,QAAS,CACP56C,IAAK,cACL70X,MAAO,wBAET0va,YAAa,CACX76C,IAAK,uBACL70X,MAAO,8BAET2va,OAAQ,CACN96C,IAAK,YACL70X,MAAO,mBAET4va,WAAY,CACV/6C,IAAK,oBACL70X,MAAO,2BAET6va,aAAc,C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AyB,CAC3B/qyC,IAAK,8FAEHgryC,oCAAyB,CAC3BhryC,IAAK,CACHu0X,GAAI,MACJyC,GAAI,MACJg9C,SAAU,SACVC,KAAM,SACNC,QAAS,UACTC,UAAW,eACXC,QAAS,YACTC,MAAO,UAGPt4f,mBAAQ,CACVyuf,cAAe4/3B,oBAAoB,CACjC/43B,aAAcg53B,uCACdx43B,aAAcy43B,uCACd343B,cAAe,SAAuBl3f,GACpC,OAAOo9B,SAASp9B,EAAO,GACzB,IAEF4vf,IAAK8/3B,aAAa,CAChB743B,cAAei53B,8BACfh53B,kBAAmB,OACnBE,cAAe+43B,8BACf943B,kBAAmB,QAErB7G,QAASs/3B,aAAa,CACpB743B,cAAem53B,kCACfl53B,kBAAmB,OACnBE,cAAei53B,kCACfh53B,kBAAmB,MACnBC,cAAe,SAAuBnsf,GACpC,OAAOA,EAAQ,CACjB,IAEF+vX,MAAO40/B,aAAa,CAClB743B,cAAeq53B,gCACfp53B,kBAAmB,OACnBE,cAAem53B,gCACfl53B,kBAAmB,QAErB1/a,IAAKm4yC,aAAa,CAChB743B,cAAeu53B,8BACft53B,kBAAmB,OACnBE,cAAeq53B,8BACfp53B,kBAAmB,QAErBjG,UAAW0+3B,aAAa,CACtB743B,cAAey53B,oCACfx53B,kBAAmB,MACnBE,cAAeu53B,oCACft53B,kBAAmB,SAGvB,sCChFA,IAAI5hO,UAAS,CACX33Q,KAAM,KACNm8e,eAAgBA,sBAChB5H,WAAYA,kBACZ6H,eAAgBA,sBAChBnK,SAAUA,gBACVruf,MAAOA,aACPqF,QAAS,CACPiqf,aAAc,EACdiD,sBAAuB,IAG3B,mBC3BA,IAAIwD,2CAAuB,CACzBC,iBAAkB,CAChBj6C,IAAK,0FACL70X,MAAO,mGAET+ua,SAAU,CACRl6C,IAAK,yCACL70X,MAAO,kDAETgva,YAAa,yDACbC,iBAAkB,CAChBp6C,IAAK,8EACL70X,MAAO,uFAETkva,SAAU,CACRr6C,IAAK,6BACL70X,MAAO,sCAETmva,YAAa,CACXt6C,IAAK,oFACL70X,MAAO,6FAETova,OAAQ,CACNv6C,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kBAAmB,QAErBjG,UAAW0+3B,aAAa,CACtB743B,cAAey53B,oCACfx53B,kBAAmB,MACnBE,cAAeu53B,oCACft53B,kBAAmB,SAGvB,sCCjFA,IAAI5hO,UAAS,CACX33Q,KAAM,KACNm8e,eAAgBA,sBAChB5H,WAAYA,kBACZ6H,eAAgBA,sBAChBnK,SAAUA,gBACVruf,MAAOA,aACPqF,QAAS,CACPiqf,aAAc,EACdiD,sBAAuB,IAG3B,mBC/BA,IAAIwD,8CAAuB,CACzBC,iBAAkB,CAChBj6C,IAAK,wBACL70X,MAAO,iCAET+ua,SAAU,CACRl6C,IAAK,WACL70X,MAAO,oBAETgva,YAAa,qBACbC,iBAAkB,CAChBp6C,IAAK,8BACL70X,MAAO,uCAETkva,SAAU,CACRr6C,IAAK,iBACL70X,MAAO,0BAETova,OAAQ,CACNv6C,IAAK,iBACL70X,MAAO,0BAETmva,YAAa,CACXt6C,IAAK,8BACL70X,MAAO,uCAETqva,MAAO,CACLx6C,IAAK,WACL70X,MAAO,oBAETsva,YAAa,CACXz6C,IAAK,oCACL70X,MAAO,6CAETuva,OAAQ,CACN16C,IAAK,uBACL70X,MAAO,gCAETwva,aAAc,CACZ36C,IAAK,8BACL70X,MAAO,uCAETyva,QAAS,CACP56C,IAAK,iBACL70X,MAAO,0BAET0va,YAAa,CACX76C,IAAK,wBACL70X,MAAO,iCAET2va,OAAQ,CACN96C,IAAK,WACL70X,MAAO,oBAET4va,WAAY,CACV/6C,IAAK,wBACL70X,MAAO,iCAET6va,aAAc,CACZh7C,IAAK,wBACL70X,MAAO,kCAGPqxa,wCAAiB,SAAwBz7b,EAAOvzD,EAAOlE,GACzD,IAAI/F,EACA03f,EAAajB,8CAAqBj5b,GAQtC,OANEx9D,EADwB,iBAAf03f,EACAA,EACU,IAAVztf,EACAytf,EAAWj7C,IAEXi7C,EAAW9va,MAAMpoE,QAAQ,YAAahe,OAAOyI,IAEpDlE,SAA0CA,EAAQ4xf,UAChD5xf,EAAQs7Y,YAAct7Y,EAAQs7Y,WAAa,EACtCrhZ,EAAS,SAETA,EAAS,SAGbA,CACT,EACA,uECjFA,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BACXC,QAAS,kBACTC,MAAO,mBAGPt4f,sBAAQ,CACVyuf,cAAe4/3B,oBAAoB,CACjC/43B,aAAcg53B,0CACdx43B,aAAcy43B,0CACd343B,cAAe,SAAuBl3f,GACpC,OAAOo9B,SAASp9B,EAAO,GACzB,IAEF4vf,IAAK8/3B,aAAa,CAChB743B,cAAei53B,iCACfh53B,kBAAmB,OACnBE,cAAe+43B,iCACf943B,kBAAmB,QAErB7G,QAASs/3B,aAAa,CACpB743B,cAAem53B,qCACfl53B,kBAAmB,OACnBE,cAAei53B,qCACfh53B,kBAAmB,MACnBC,cAAe,SAAuBnsf,GACpC,OAAOA,EAAQ,CACjB,IAEF+vX,MAAO40/B,aAAa,CAClB743B,cAAeq53B,mCACfp53B,kBAAmB,OACnBE,cAAem53B,mCACfl53B,kBAAmB,QAErB1/a,IAAKm4yC,aAAa,CAChB743B,cAAeu53B,iCACft53B,kBAAmB,OACnBE,cAAeq53B,iCACfp53B,kBAAmB,QAErBjG,UAAW0+3B,aAAa,CACtB743B,cAAey53B,uCACfx53B,kBAAmB,MACnBE,cAAeu53B,uCACft53B,kBAAmB,SAGvB,4CC9EA,IAAI5hO,aAAS,CACX33Q,KAAM,QACNm8e,eAAgBA,yBAChB5H,WAAYA,qBACZ6H,eAAgBA,yBAChBnK,SAAUA,mBACVruf,MAAOA,gBACPqF,QAAS,CACPiqf,aAAc,EACdiD,sBAAuB,IAG3B,yBC7BA,IAAIwD,8CAAuB,CACzBC,iBAAkB,CAChBj6C,IAAK,wBACL70X,MAAO,iCAET+ua,SAAU,CACRl6C,IAAK,WACL70X,MAAO,oBAETgva,YAAa,qBACbC,iBAAkB,CAChBp6C,IAAK,8BACL70X,MAAO,uCAETkva,SAAU,CACRr6C,IAAK,iBACL70X,MAAO,0BAETova,OAAQ,CACNv6C,IAAK,iBACL70X,MAAO,0BAETmva,YAAa,CACXt6C,IAAK,8BACL70X,MAAO,uCAETqva,MAAO,CACLx6C,IAAK,WACL70X,MAAO,oBAETsva,YAAa,CACXz6C,IAAK,oCACL70X,MAAO,6CAETuva,OAAQ,CACN16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Q,iDACRV,MAAO,iDACPW,YAAa,uDACbC,KAAM,8DAEJ+23B,iCAAmB,CACrB9qyC,IAAK,CAAC,UAAM,UAAM,UAAM,UAAM,UAAM,UAAM,YAExC+qyC,uCAAyB,CAC3B/qyC,IAAK,2HAEHgryC,uCAAyB,CAC3BhryC,IAAK,CACHu0X,GAAI,kBACJyC,GAAI,kBACJg9C,SAAU,iBACVC,KAAM,yBACNC,QAAS,iBACTC,UAAW,iBACXC,QAAS,kBACTC,MAAO,mBAGPt4f,sBAAQ,CACVyuf,cAAe4/3B,oBAAoB,CACjC/43B,aAAcg53B,0CACdx43B,aAAcy43B,0CACd343B,cAAe,SAAuBl3f,GACpC,OAAOo9B,SAASp9B,EAAO,GACzB,IAEF4vf,IAAK8/3B,aAAa,CAChB743B,cAAei53B,iCACfh53B,kBAAmB,OACnBE,cAAe+43B,iCACf943B,kBAAmB,QAErB7G,QAASs/3B,aAAa,CACpB743B,cAAem53B,qCACfl53B,kBAAmB,OACnBE,cAAei53B,qCACfh53B,kBAAmB,MACnBC,cAAe,SAAuBnsf,GACpC,OAAOA,EAAQ,CACjB,IAEF+vX,MAAO40/B,aAAa,CAClB743B,cAAeq53B,mCACfp53B,kBAAmB,OACnBE,cAAem53B,mCACfl53B,kBAAmB,QAErB1/a,IAAKm4yC,aAAa,CAChB743B,cAAeu53B,iCACft53B,kBAAmB,OACnBE,cAAeq53B,iCACfp53B,kBAAmB,QAErBjG,UAAW0+3B,aAAa,CACtB743B,cAAey53B,uCACfx53B,kBAAmB,MACnBE,cAAeu53B,uCACft53B,kBAAmB,SAGvB,4CChFA,IAAI5hO,aAAS,CACX33Q,KAAM,QACNm8e,eAAgBA,yBAChB5H,WAAYA,qBACZ6H,eAAgBA,yBAChBnK,SAAUA,mBACVruf,MAAOA,gBACPqF,QAAS,CACPiqf,aAAc,EACdiD,sBAAuB,IAG3B,yBCGA,IAAMrnc,OAAS,IAAI2a,IAAI,CACtB,KACA,KACA,KACA,QACA,QACA,QACA,QACA,KACA,KACA,KACA,QACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,QACA,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AAAjC,MAGA,SAAW0kK,GACV/jK,KAAK0xS,UAAY3tI,CAClB,GAEA,CAAAziK,IAAA,mBAAAjC,MAGA,SAAiBo16C,GACXz06C,KAAK0xS,WAKVyjoC,yBAFeV,EAEkBz06C,KAClC,GAEA,CAAAsB,IAAA,cAAAjC,MAGA,SAAYu26C,GACNA,IAID516C,KAAKy16C,cAAcnx6C,IAAIsx6C,KAI3B516C,KAAK4jN,SAASl9J,QAAQkv3C,GACtB516C,KAAKy16C,cAAcjo6C,IAAIoo6C,GACvB516C,KAAK016C,SAAS5x6C,KAAK8x6C,IACpB,GAEA,CAAAt06C,IAAA,gBAAAjC,MAGA,SAAcu26C,GACRA,GAIA516C,KAAKy16C,cAAcnx6C,IAAIsx6C,KAG5B516C,KAAK4jN,SAASl3D,UAAUkpxC,GACxB516C,KAAKy16C,cAAcxr6C,OAAO2r6C,GAC1B516C,KAAK016C,SAAW116C,KAAK016C,SAAS3+4C,OAAO,SAAC2pD,GAAG,OAAKA,IAAQk11C,CAAO,GAC9D,GAAC,CAAAt06C,IAAA,UAAAjC,MAED,WAAU,IAAAiL,EAAA,KACLtK,KAAK206C,gBACR306C,KAAK4jN,SAASl3D,UAAU1sJ,KAAK206C,gBAE9B306C,KAAK206C,eAAiB,KAClB306C,KAAK406C,cACR506C,KAAK4jN,SAASl3D,UAAU1sJ,KAAK406C,cAE9B506C,KAAK406C,aAAe,KAEhB506C,KAAK606C,iBACR706C,KAAK4jN,SAASl3D,UAAU1sJ,KAAK606C,iBAE9B706C,KAAK606C,gBAAkB,KAEnB706C,KAAK806C,aACR906C,KAAK4jN,SAASl3D,UAAU1sJ,KAAK806C,aAE9B906C,KAAK806C,YAAc,KAEf906C,KAAK+06C,gBACR/06C,KAAK4jN,SAASl3D,UAAU1sJ,KAAK+06C,gBAE9B/06C,KAAK+06C,eAAiB,KAGtB/06C,KAAKsd,SAAW,KAChBtd,KAAK016C,SAASzi5C,QAAQ,SAAC2i5C,GAElBA,GACHtr6C,EAAKur6C,cAAcD,EAErB,GACA516C,KAAK016C,SAAW,GAChB116C,KAAK4jN,SA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","sources":["webpack:///@devsnc/library-unified-cache/24.0.8/src/cache/utils/createBlob.js","webpack:///@devsnc/library-unified-cache/24.0.8/src/cache/utils/serializer.js","webpack:///@devsnc/library-unified-cache/24.0.8/src/cache/utils/normalizeKey.js","webpack:///@devsnc/library-unified-cache/24.0.8/src/cache/utils/isWebStorageValid.js","webpack:///@devsnc/library-unified-cache/24.0.8/src/cache/utils/runCallback.js","webpack:///@devsnc/library-unified-cache/24.0.8/src/cache/utils/getCallback.js","webpack:///@devsnc/library-unified-cache/24.0.8/src/cache/utils/constants.js","webpack:///@devsnc/library-unified-cache/24.0.8/src/cache/evictions/lru.js","webpack:///@devsnc/library-unified-cache/24.0.8/src/cache/evictions/ttl.js","webpack:///@devsnc/library-unified-cache/24.0.8/src/cache/evictions/evictionPolicies.js","webpack:///@devsnc/library-unified-cache/24.0.8/src/cache/utils/getKeyPrefix.js","webpack:///@devsnc/library-unified-cache/24.0.8/src/cache/adapters/localStorage.js","webpack:///@devsnc/library-unified-cache/24.0.8/src/cache/adapters/IndexedDBCache.js","webpack:///@devsnc/library-unified-cache/24.0.8/src/cache/adapters/indexedDB.js","webpack:///@devsnc/library-unified-cache/24.0.8/src/cache/adapters/sessionStorage.js","webpack:///@devsnc/library-unified-cache/24.0.8/src/cache/adapters/cacheAPI.js","webpack:///@devsnc/library-unified-cache/24.0.8/src/cache/adapters/InMemoryCache.js","webpack:///@devsnc/library-unified-cache/24.0.8/src/cache/adapters/inMemory.js","webpack:///@devsnc/library-unified-cache/24.0.8/src/cache/stats/cacheStatsProxyHandler.js","webpack:///@devsnc/library-unified-cache/24.0.8/src/cache/utils/isArray.js","webpack:///@devsnc/library-unified-cache/24.0.8/src/cache/utils/extend.js","webpack:///@devsnc/library-unified-cache/24.0.8/src/cache/utils/includes.js","webpack:///@devsnc/library-unified-cache/24.0.8/src/cache/utils/runTwoCallbacks.js","webpack:///@devsnc/library-unified-cache/24.0.8/src/cache/utils/cacheVersion.js","webpack:///@devsnc/library-unified-cache/24.0.8/src/cache/utils/setGlobalCacheStats.js","webpack:///@devsnc/library-unified-cache/24.0.8/src/cache/utils/sumObjectsByKey.js","webpack:///@devsnc/library-unified-cache/24.0.8/src/cache/unifiedCache.js","webpack:///@servicenow/now-modeless-dialog/src/now-modeless-dialog.js","webpack:///@servicenow/now-modeless-dialog/src/utils/constants.js","webpack:///@servicenow/now-modeless-dialog/src/utils/helper.js","webpack:///@servicenow/now-modeless-dialog/src/utils/voiceover.js","webpack:///@servicenow/now-modeless-dialog/src/index.js","webpack:///@devsnc/sn-feedback/src/sn-feedback/constant.js","webpack:///@devsnc/sn-feedback/src/sn-feedback/utils.js","webpack:///@devsnc/sn-feedback/src/sn-feedback/action-handlers.js","webpack:///@devsnc/sn-feedback/src/sn-feedback/schema.js","webpack:///@servicenow/now-checklist/src/utils/utils.js","webpack:///@servicenow/now-checklist/src/now-checklist/now-checklist-item/views/readModeView.js","webpack:///@servicenow/now-checklist/src/globalActions.js","webpack:///@servicenow/now-checklist/src/now-checklist/now-checklist-item/views/editModeView.js","webpack:///@servicenow/now-checklist/src/now-checklist/now-checklist-item/view.js","webpack:///@servicenow/now-checklist/src/now-checklist/now-checklist-item/nowChecklistItemActionHandlers.js","webpack:///@servicenow/now-checklist/src/now-checklist/now-checklist-item/index.js","webpack:///@servicenow/now-checklist/src/now-checklist/view.js","webpack:///@servicenow/now-checklist/src/now-checklist/nowChecklistActionHandlers.js","webpack:///@servicenow/now-checklist/src/now-checklist/index.js","webpack:///@devsnc/sn-feedback/src/sn-feedback/view.js","webpack:///@devsnc/sn-feedback/src/sn-feedback/sn-feedback.js","webpack:///@devsnc/sn-wwna/src/components/sn-preset-menu-content/index.js","webpack:///@devsnc/sn-wwna/src/components/constants.js","webpack:///@devsnc/sn-wwna/src/components/sn-preset-menu/actionHandlers.js","webpack:///@devsnc/sn-wwna/src/components/sn-preset-menu/index.js","webpack:///@devsnc/sn-wwna/src/components/sn-preset-menu/view.js","webpack:///@devsnc/sn-wwna/src/components/sn-recommendation-dialog/view.js","webpack:///@devsnc/sn-wwna/src/components/sn-recommendation-dialog/actionHandlers.js","webpack:///@devsnc/sn-wwna/src/components/sn-recommendation-dialog/index.js","webpack:///@devsnc/sn-wwna/src/components/sn-wwna/view.js","webpack:///@devsnc/sn-wwna/src/components/sn-wwna/actionHandlers.js","webpack:///@devsnc/sn-wwna/src/components/sn-wwna/index.js","webpack:///@devsnc/uxf-runtime-utils/27.0.3-paxeintegration.0/src/whenScreenMacroponentIdle/whenScreenMacroponentIdle.js","webpack:///@devsnc/uxf-runtime-utils/27.0.3-paxeintegration.0/src/whenScreenMacroponentIdle/whenScreenMacroponentIdleOnEachPageLoad.js","webpack:///detect-node/2.1.0/index.esm.js","webpack:///../../../../../node_modules/core-js/library/modules/_defined.js","webpack:///../../../../../node_modules/core-js/library/modules/_to-object.js","webpack:///../../../../../node_modules/core-js/library/modules/_has.js","webpack:///../../../../../node_modules/core-js/library/modules/_cof.js","webpack:///../../../../../node_modules/core-js/library/modules/_iobject.js","webpack:///../../../../../node_modules/core-js/library/modules/_to-iobject.js","webpack:///../../../../../node_modules/core-js/library/modules/_to-integer.js","webpack:///../../../../../node_modules/core-js/library/modules/_to-length.js","webpack:///../../../../../node_modules/core-js/library/modules/_to-absolute-index.js","webpack:///../../../../../node_modules/core-js/library/modules/_array-includes.js","webpack:///../../../../../node_modules/core-js/library/modules/_core.js","webpack:///../../../../../node_modules/core-js/library/modules/_global.js","webpack:///../../../../../node_modules/core-js/library/modules/_library.js","webpack:///../../../../../node_modules/core-js/library/modules/_shared.js","webpack:///../../../../../node_modules/core-js/library/modules/_uid.js","webpack:///../../../../../node_modules/core-js/library/modules/_shared-key.js","webpack:///../../../../../node_modules/core-js/library/modules/_object-keys-internal.js","webpack:///../../../../../node_modules/core-js/library/modules/_enum-bug-keys.js","webpack:///../../../../../node_modules/core-js/library/modules/_object-keys.js","webpack:///../../../../../node_modules/core-js/library/modules/_a-function.js","webpack:///../../../../../node_modules/core-js/library/modules/_ctx.js","webpack:///../../../../../node_modules/core-js/library/modules/_is-object.js","webpack:///../../../../../node_modules/core-js/library/modules/_an-object.js","webpack:///../../../../../node_modules/core-js/library/modules/_fails.js","webpack:///../../../../../node_modules/core-js/library/modules/_descriptors.js","webpack:///../../../../../node_modules/core-js/library/modules/_dom-create.js","webpack:///../../../../../node_modules/core-js/library/modules/_ie8-dom-define.js","webpack:///../../../../../node_modules/core-js/library/modules/_to-primitive.js","webpack:///../../../../../node_modules/core-js/library/modules/_object-dp.js","webpack:///../../../../../node_modules/core-js/library/modules/_property-desc.js","webpack:///../../../../../node_modules/core-js/library/modules/_hide.js","webpack:///../../../../../node_modules/core-js/library/modules/_export.js","webpack:///../../../../../node_modules/core-js/library/modules/_object-sap.js","webpack:///../../../../../node_modules/core-js/library/modules/es6.object.keys.js","webpack:///../../../../../node_modules/core-js/library/fn/object/keys.js","webpack:///../../../../../node_modules/@babel/runtime-corejs2/core-js/object/keys.js","webpack:///../../../../../node_modules/core-js/library/modules/_redefine.js","webpack:///../../../../../node_modules/core-js/library/modules/_meta.js","webpack:///../../../../../node_modules/core-js/library/modules/_wks.js","webpack:///../../../../../node_modules/core-js/library/modules/_set-to-string-tag.js","webpack:///../../../../../node_modules/core-js/library/modules/_wks-ext.js","webpack:///../../../../../node_modules/core-js/library/modules/_wks-define.js","webpack:///../../../../../node_modules/core-js/library/modules/_object-gops.js","webpack:///../../../../../node_modules/core-js/library/modules/_object-pie.js","webpack:///../../../../../node_modules/core-js/library/modules/_is-array.js","webpack:///../../../../../node_modules/core-js/library/modules/_object-dps.js","webpack:///../../../../../node_modules/core-js/library/modules/_html.js","webpack:///../../../../../node_modules/core-js/library/modules/_object-create.js","webpack:///../../../../../node_modules/core-js/library/modules/_object-gopn.js","webpack:///../../../../../node_modules/core-js/library/modules/_object-gopn-ext.js","webpack:///../../../../../node_modules/core-js/library/modules/_object-gopd.js","webpack:///../../../../../node_modules/core-js/library/modules/es6.symbol.js","webpack:///../../../../../node_modules/core-js/library/modules/_enum-keys.js","webpack:///../../../../../node_modules/core-js/library/fn/object/get-own-property-symbols.js","webpack:///../../../../../node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-symbols.js","webpack:///../../../../../node_modules/core-js/library/modules/es6.object.get-own-property-descriptor.js","webpack:///../../../../../node_modules/core-js/library/fn/object/get-own-property-descriptor.js","webpack:///../../../../../node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-descriptor.js","webpack:///../../../../../node_modules/core-js/library/modules/_own-keys.js","webpack:///../../../../../node_modules/core-js/library/modules/_create-property.js","webpack:///../../../../../node_modules/core-js/library/modules/es7.object.get-own-property-descriptors.js","webpack:///../../../../../node_modules/core-js/library/fn/object/get-own-property-descriptors.js","webpack:///../../../../../node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-descriptors.js","webpack:///../../../../../node_modules/core-js/library/modules/es6.object.define-properties.js","webpack:///../../../../../node_modules/core-js/library/fn/object/define-properties.js","webpack:///../../../../../node_modules/@babel/runtime-corejs2/core-js/object/define-properties.js","webpack:///../../../../../node_modules/core-js/library/modules/es6.object.define-property.js","webpack:///../../../../../node_modules/core-js/library/fn/object/define-property.js","webpack:///../../../../../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js","webpack:///../../../../../node_modules/@babel/runtime-corejs2/helpers/defineProperty.js","webpack:///../../../../../node_modules/core-js/library/modules/es7.symbol.async-iterator.js","webpack:///../../../../../node_modules/core-js/library/modules/es7.symbol.observable.js","webpack:///../../../../../node_modules/core-js/library/fn/symbol/index.js","webpack:///../../../../../node_modules/@babel/runtime-corejs2/core-js/symbol.js","webpack:///../../../../../node_modules/core-js/library/modules/_iterators.js","webpack:///../../../../../node_modules/core-js/library/modules/_iter-create.js","webpack:///../../../../../node_modules/core-js/library/modules/_string-at.js","webpack:///../../../../../node_modules/core-js/library/modules/_object-gpo.js","webpack:///../../../../../node_modules/core-js/library/modules/_iter-define.js","webpack:///../../../../../node_modules/core-js/library/modules/es6.string.iterator.js","webpack:///../../../../../node_modules/core-js/library/modules/_iter-step.js","webpack:///../../../../../node_modules/core-js/library/modules/es6.array.iterator.js","webpack:///../../../../../node_modules/core-js/library/modules/web.dom.iterable.js","webpack:///../../../../../node_modules/core-js/library/modules/_classof.js","webpack:///../../../../../node_modules/core-js/library/modules/_task.js","webpack:///../../../../../node_modules/core-js/library/modules/_iter-call.js","webpack:///../../../../../node_modules/core-js/library/modules/_is-array-iter.js","webpack:///../../../../../node_modules/core-js/library/modules/core.get-iterator-method.js","webpack:///../../../../../node_modules/core-js/library/modules/_for-of.js","webpack:///../../../../../node_modules/core-js/library/modules/_species-constructor.js","webpack:///../../../../../node_modules/core-js/library/modules/_invoke.js","webpack:///../../../../../node_modules/core-js/library/modules/_microtask.js","webpack:///../../../../../node_modules/core-js/library/modules/_new-promise-capability.js","webpack:///../../../../../node_modules/core-js/library/modules/_perform.js","webpack:///../../../../../node_modules/core-js/library/modules/_user-agent.js","webpack:///../../../../../node_modules/core-js/library/modules/_promise-resolve.js","webpack:///../../../../../node_modules/core-js/library/modules/_set-species.js","webpack:///../../../../../node_modules/core-js/library/modules/_iter-detect.js","webpack:///../../../../../node_modules/core-js/library/modules/es6.promise.js","webpack:///../../../../../node_modules/core-js/library/modules/_an-instance.js","webpack:///../../../../../node_modules/core-js/library/modules/_redefine-all.js","webpack:///../../../../../node_modules/core-js/library/modules/es7.promise.finally.js","webpack:///../../../../../node_modules/core-js/library/modules/es7.promise.try.js","webpack:///../../../../../node_modules/buffer/node_modules/base64-js/index.js","webpack:///../../../../../node_modules/core-js/library/fn/promise.js","webpack:///../../../../../node_modules/@babel/runtime-corejs2/core-js/promise.js","webpack:///../../../../../node_modules/buffer/node_modules/ieee754/index.js","webpack:///../../../../../node_modules/isarray/index.js","webpack:///../../../../../node_modules/buffer/index.js","webpack:///../../src/utils/serializer-headers.js","webpack:///../../src/index.js","webpack:///../../../../../node_modules/core-js/library/modules/_array-species-constructor.js","webpack:///../../../../../node_modules/core-js/library/modules/_array-species-create.js","webpack:///../../../../../node_modules/core-js/library/modules/_array-methods.js","webpack:///../../../../../node_modules/core-js/library/modules/_validate-collection.js","webpack:///../../../../../node_modules/core-js/library/modules/_collection-weak.js","webpack:///../../../../../node_modules/core-js/library/modules/_collection.js","webpack:///../../../../../node_modules/core-js/library/modules/es6.weak-set.js","webpack:///../../../../../node_modules/core-js/library/modules/_set-collection-of.js","webpack:///../../../../../node_modules/core-js/library/modules/es7.weak-set.of.js","webpack:///../../../../../node_modules/core-js/library/modules/_set-collection-from.js","webpack:///../../../../../node_modules/core-js/library/modules/es7.weak-set.from.js","webpack:///../../../../../node_modules/core-js/library/fn/weak-set.js","webpack:///../../../../../node_modules/@babel/runtime-corejs2/core-js/weak-set.js","webpack:///../../../../../node_modules/@sinonjs/text-encoding/lib/encoding-indexes.js","webpack:///../../../../../node_modules/@sinonjs/text-encoding/lib/encoding.js","webpack:///../../../../../node_modules/@sinonjs/text-encoding/index.js","webpack:///../../../../../node_modules/@sinonjs/commons/lib/global.js","webpack:///../../../../../node_modules/@sinonjs/commons/lib/prototypes/copy-prototype.js","webpack:///../../../../../node_modules/@sinonjs/commons/lib/prototypes/array.js","webpack:///../../../../../node_modules/@sinonjs/commons/lib/called-in-order.js","webpack:///../../../../../node_modules/@sinonjs/commons/lib/function-name.js","webpack:///../../../../../node_modules/@sinonjs/commons/lib/class-name.js","webpack:///../../../../../node_modules/@sinonjs/commons/lib/deprecated.js","webpack:///../../../../../node_modules/@sinonjs/commons/lib/order-by-first-call.js","webpack:///../../../../../node_modules/@sinonjs/commons/lib/prototypes/index.js","webpack:///../../../../../node_modules/@sinonjs/commons/lib/prototypes/function.js","webpack:///../../../../../node_modules/@sinonjs/commons/lib/prototypes/map.js","webpack:///../../../../../node_modules/@sinonjs/commons/lib/prototypes/object.js","webpack:///../../../../../node_modules/@sinonjs/commons/lib/prototypes/set.js","webpack:///../../../../../node_modules/@sinonjs/commons/lib/prototypes/string.js","webpack:///../../../../../node_modules/type-detect/type-detect.js","webpack:///../../../../../node_modules/@sinonjs/commons/lib/value-to-string.js","webpack:///../../../../../node_modules/@sinonjs/commons/lib/index.js","webpack:///../../../../../node_modules/@sinonjs/commons/lib/every.js","webpack:///../../../../../node_modules/@sinonjs/commons/lib/type-of.js","webpack:///../../../../../node_modules/@offirgolan/nise/lib/configure-logger/index.js","webpack:///../../../../../node_modules/@offirgolan/nise/lib/event/event.js","webpack:///../../../../../node_modules/@offirgolan/nise/lib/event/progress-event.js","webpack:///../../../../../node_modules/@offirgolan/nise/lib/event/custom-event.js","webpack:///../../../../../node_modules/@offirgolan/nise/lib/event/event-target.js","webpack:///../../../../../node_modules/@offirgolan/nise/lib/event/index.js","webpack:///../../../../../node_modules/just-extend/index.js","webpack:///../../../../../node_modules/@offirgolan/nise/lib/fake-xhr/blob.js","webpack:///../../../../../node_modules/@offirgolan/nise/lib/fake-xhr/index.js","webpack:///../../src/utils/resolve-xhr.js","webpack:///../../src/utils/serialize-response-headers.js","webpack:///../../../../../node_modules/core-js/library/fn/json/stringify.js","webpack:///../../../../../node_modules/@babel/runtime-corejs2/core-js/json/stringify.js","webpack:///../../../../../node_modules/core-js/library/modules/_string-ws.js","webpack:///../../../../../node_modules/core-js/library/modules/_string-trim.js","webpack:///../../../../../node_modules/core-js/library/modules/_parse-float.js","webpack:///../../../../../node_modules/core-js/library/modules/es6.parse-float.js","webpack:///../../../../../node_modules/core-js/library/fn/parse-float.js","webpack:///../../../../../node_modules/@babel/runtime-corejs2/core-js/parse-float.js","webpack:///../../src/utils/dehumanize-time.js","webpack:///../../src/utils/is-expired.js","webpack:///../../src/utils/stringify-request.js","webpack:///../../src/utils/normalize-recorded-response.js","webpack:///route-recognizer/util.ts","webpack:///route-recognizer/dsl.ts","webpack:///route-recognizer/normalizer.ts","webpack:///route-recognizer.ts","webpack:///../../../../../node_modules/core-js/library/modules/_object-assign.js","webpack:///../../../../../node_modules/core-js/library/modules/es6.weak-map.js","webpack:///../../../../../node_modules/core-js/library/modules/es7.weak-map.of.js","webpack:///../../../../../node_modules/core-js/library/modules/es7.weak-map.from.js","webpack:///../../../../../node_modules/core-js/library/fn/weak-map.js","webpack:///../../../../../node_modules/@babel/runtime-corejs2/core-js/weak-map.js","webpack:///../../../../../node_modules/core-js/library/modules/_collection-strong.js","webpack:///../../../../../node_modules/core-js/library/modules/es6.map.js","webpack:///../../../../../node_modules/core-js/library/modules/_collection-to-json.js","webpack:///../../../../../node_modules/core-js/library/modules/_array-from-iterable.js","webpack:///../../../../../node_modules/core-js/library/modules/es7.map.to-json.js","webpack:///../../../../../node_modules/core-js/library/modules/es7.map.of.js","webpack:///../../../../../node_modules/core-js/library/modules/es7.map.from.js","webpack:///../../../../../node_modules/core-js/library/fn/map.js","webpack:///../../../../../node_modules/core-js/library/modules/_object-to-array.js","webpack:///../../../../../node_modules/@babel/runtime-corejs2/core-js/map.js","webpack:///../../../../../node_modules/core-js/library/modules/es7.object.values.js","webpack:///../../../../../node_modules/core-js/library/fn/object/values.js","webpack:///../../../../../node_modules/@babel/runtime-corejs2/core-js/object/values.js","webpack:///../../src/-private/logger.js","webpack:///../../src/-private/container.js","webpack:///../../src/utils/timing.js","webpack:///../../src/defaults/config.js","webpack:///../../../../../node_modules/lodash-es/isObjectLike.js","webpack:///../../src/utils/parse-url.js","webpack:///../../src/utils/remove-host-from-url.js","webpack:///../../src/utils/http-headers.js","webpack:///../../src/utils/normalize-request.js","webpack:///../../src/utils/guid-for-recording.js","webpack:///../../../../../node_modules/core-js/library/modules/es6.array.is-array.js","webpack:///../../../../../node_modules/core-js/library/fn/array/is-array.js","webpack:///../../../../../node_modules/@babel/runtime-corejs2/core-js/array/is-array.js","webpack:///../../../../../node_modules/lodash-es/eq.js","webpack:///../../../../../node_modules/lodash-es/_assocIndexOf.js","webpack:///../../../../../node_modules/lodash-es/_listCacheDelete.js","webpack:///../../../../../node_modules/lodash-es/_ListCache.js","webpack:///../../../../../node_modules/lodash-es/_listCacheClear.js","webpack:///../../../../../node_modules/lodash-es/_listCacheGet.js","webpack:///../../../../../node_modules/lodash-es/_listCacheHas.js","webpack:///../../../../../node_modules/lodash-es/_listCacheSet.js","webpack:///../../../../../node_modules/lodash-es/_freeGlobal.js","webpack:///../../../../../node_modules/lodash-es/_root.js","webpack:///../../../../../node_modules/lodash-es/_Symbol.js","webpack:///../../../../../node_modules/lodash-es/_getRawTag.js","webpack:///../../../../../node_modules/lodash-es/_objectToString.js","webpack:///../../../../../node_modules/lodash-es/_baseGetTag.js","webpack:///../../../../../node_modules/lodash-es/isObject.js","webpack:///../../../../../node_modules/lodash-es/isFunction.js","webpack:///../../../../../node_modules/lodash-es/_coreJsData.js","webpack:///../../../../../node_modules/lodash-es/_isMasked.js","webpack:///../../../../../node_modules/lodash-es/_toSource.js","webpack:///../../../../../node_modules/lodash-es/_baseIsNative.js","webpack:///../../../../../node_modules/lodash-es/_getNative.js","webpack:///../../../../../node_modules/lodash-es/_getValue.js","webpack:///../../../../../node_modules/lodash-es/_Map.js","webpack:///../../../../../node_modules/lodash-es/_nativeCreate.js","webpack:///../../../../../node_modules/lodash-es/_hashGet.js","webpack:///../../../../../node_modules/lodash-es/_hashHas.js","webpack:///../../../../../node_modules/lodash-es/_Hash.js","webpack:///../../../../../node_modules/lodash-es/_getMapData.js","webpack:///../../../../../node_modules/lodash-es/_isKeyable.js","webpack:///../../../../../node_modules/lodash-es/_MapCache.js","webpack:///../../../../../node_modules/lodash-es/_hashClear.js","webpack:///../../../../../node_modules/lodash-es/_hashDelete.js","webpack:///../../../../../node_modules/lodash-es/_hashSet.js","webpack:///../../../../../node_modules/lodash-es/_mapCacheClear.js","webpack:///../../../../../node_modules/lodash-es/_mapCacheDelete.js","webpack:///../../../../../node_modules/lodash-es/_mapCacheGet.js","webpack:///../../../../../node_modules/lodash-es/_mapCacheHas.js","webpack:///../../../../../node_modules/lodash-es/_mapCacheSet.js","webpack:///../../../../../node_modules/lodash-es/_Stack.js","webpack:///../../../../../node_modules/lodash-es/_stackClear.js","webpack:///../../../../../node_modules/lodash-es/_stackDelete.js","webpack:///../../../../../node_modules/lodash-es/_stackGet.js","webpack:///../../../../../node_modules/lodash-es/_stackHas.js","webpack:///../../../../../node_modules/lodash-es/_stackSet.js","webpack:///../../../../../node_modules/lodash-es/_defineProperty.js","webpack:///../../../../../node_modules/lodash-es/_baseAssignValue.js","webpack:///../../../../../node_modules/lodash-es/_assignMergeValue.js","webpack:///../../../../../node_modules/lodash-es/_baseFor.js","webpack:///../../../../../node_modules/lodash-es/_createBaseFor.js","webpack:///../../../../../node_modules/lodash-es/_cloneBuffer.js","webpack:///../../../../../node_modules/lodash-es/_Uint8Array.js","webpack:///../../../../../node_modules/lodash-es/_cloneTypedArray.js","webpack:///../../../../../node_modules/lodash-es/_cloneArrayBuffer.js","webpack:///../../../../../node_modules/lodash-es/_baseCreate.js","webpack:///../../../../../node_modules/lodash-es/_getPrototype.js","webpack:///../../../../../node_modules/lodash-es/_overArg.js","webpack:///../../../../../node_modules/lodash-es/_isPrototype.js","webpack:///../../../../../node_modules/lodash-es/_baseIsArguments.js","webpack:///../../../../../node_modules/lodash-es/isArguments.js","webpack:///../../../../../node_modules/lodash-es/isArray.js","webpack:///../../../../../node_modules/lodash-es/isLength.js","webpack:///../../../../../node_modules/lodash-es/isArrayLike.js","webpack:///../../../../../node_modules/lodash-es/isBuffer.js","webpack:///../../../../../node_modules/lodash-es/stubFalse.js","webpack:///../../../../../node_modules/lodash-es/isPlainObject.js","webpack:///../../../../../node_modules/lodash-es/_baseIsTypedArray.js","webpack:///../../../../../node_modules/lodash-es/_nodeUtil.js","webpack:///../../../../../node_modules/lodash-es/isTypedArray.js","webpack:///../../../../../node_modules/lodash-es/_baseUnary.js","webpack:///../../../../../node_modules/lodash-es/_safeGet.js","webpack:///../../../../../node_modules/lodash-es/_assignValue.js","webpack:///../../../../../node_modules/lodash-es/_isIndex.js","webpack:///../../../../../node_modules/lodash-es/_arrayLikeKeys.js","webpack:///../../../../../node_modules/lodash-es/_baseTimes.js","webpack:///../../../../../node_modules/lodash-es/_baseKeysIn.js","webpack:///../../../../../node_modules/lodash-es/_nativeKeysIn.js","webpack:///../../../../../node_modules/lodash-es/keysIn.js","webpack:///../../../../../node_modules/lodash-es/toPlainObject.js","webpack:///../../../../../node_modules/lodash-es/_copyObject.js","webpack:///../../../../../node_modules/lodash-es/_baseMergeDeep.js","webpack:///../../../../../node_modules/lodash-es/isArrayLikeObject.js","webpack:///../../../../../node_modules/lodash-es/_copyArray.js","webpack:///../../../../../node_modules/lodash-es/_initCloneObject.js","webpack:///../../../../../node_modules/lodash-es/_baseMerge.js","webpack:///../../../../../node_modules/lodash-es/identity.js","webpack:///../../../../../node_modules/lodash-es/_overRest.js","webpack:///../../../../../node_modules/lodash-es/_baseSetToString.js","webpack:///../../../../../node_modules/lodash-es/constant.js","webpack:///../../../../../node_modules/lodash-es/_shortOut.js","webpack:///../../../../../node_modules/lodash-es/_setToString.js","webpack:///../../../../../node_modules/lodash-es/_baseRest.js","webpack:///../../../../../node_modules/lodash-es/_apply.js","webpack:///../../../../../node_modules/lodash-es/mergeWith.js","webpack:///../../../../../node_modules/lodash-es/_createAssigner.js","webpack:///../../../../../node_modules/lodash-es/_isIterateeCall.js","webpack:///../../src/utils/merge-configs.js","webpack:///../../src/utils/validators.js","webpack:///../../src/-private/http-base.js","webpack:///../../../../../node_modules/core-js/library/modules/_parse-int.js","webpack:///../../../../../node_modules/core-js/library/modules/es6.parse-int.js","webpack:///../../../../../node_modules/core-js/library/fn/parse-int.js","webpack:///../../../../../node_modules/@babel/runtime-corejs2/core-js/parse-int.js","webpack:///../../src/-private/response.js","webpack:///../../../../../node_modules/core-js/library/modules/es6.set.js","webpack:///../../../../../node_modules/core-js/library/modules/es7.set.to-json.js","webpack:///../../../../../node_modules/core-js/library/modules/es7.set.of.js","webpack:///../../../../../node_modules/core-js/library/modules/es7.set.from.js","webpack:///../../../../../node_modules/core-js/library/fn/set.js","webpack:///../../../../../node_modules/@babel/runtime-corejs2/core-js/set.js","webpack:///../../src/utils/cancel-fn-after-n-times.js","webpack:///../../../../../node_modules/core-js/library/modules/es6.object.assign.js","webpack:///../../../../../node_modules/core-js/library/fn/object/assign.js","webpack:///../../../../../node_modules/@babel/runtime-corejs2/core-js/object/assign.js","webpack:///../../src/-private/event.js","webpack:///../../src/-private/event-emitter.js","webpack:///../../src/-private/interceptor.js","webpack:///../../src/-private/request.js","webpack:///../../src/utils/deferred-promise.js","webpack:///../../../../../node_modules/lodash-es/castArray.js","webpack:///../../../../../node_modules/core-js/library/modules/es6.reflect.get.js","webpack:///../../../../../node_modules/core-js/library/fn/reflect/get.js","webpack:///../../../../../node_modules/@babel/runtime-corejs2/core-js/reflect/get.js","webpack:///../../src/server/route.js","webpack:///../../src/server/handler.js","webpack:///../../src/server/middleware.js","webpack:///../../src/server/index.js","webpack:///../../src/polly.js","webpack:///../../src/test-helpers/lib.js","webpack:///../../src/test-helpers/qunit.js","webpack:///../../src/test-helpers/mocha.js","webpack:///bowser/2.14.1/src/constants.js","webpack:///bowser/2.14.1/src/utils.js","webpack:///bowser/2.14.1/src/parser-browsers.js","webpack:///bowser/2.14.1/src/parser-os.js","webpack:///bowser/2.14.1/src/parser-platforms.js","webpack:///bowser/2.14.1/src/parser-engines.js","webpack:///bowser/2.14.1/src/parser.js","webpack:///bowser/2.14.1/src/bowser.js","webpack:///../../../../../node_modules/lodash-es/_SetCache.js","webpack:///../../../../../node_modules/lodash-es/_baseIsNaN.js","webpack:///../../../../../node_modules/lodash-es/_arrayIncludes.js","webpack:///../../../../../node_modules/lodash-es/_baseIndexOf.js","webpack:///../../../../../node_modules/lodash-es/_strictIndexOf.js","webpack:///../../../../../node_modules/lodash-es/_baseFindIndex.js","webpack:///../../../../../node_modules/lodash-es/_arrayIncludesWith.js","webpack:///../../../../../node_modules/lodash-es/_cacheHas.js","webpack:///../../../../../node_modules/lodash-es/_setCacheAdd.js","webpack:///../../../../../node_modules/lodash-es/_setCacheHas.js","webpack:///../../../../../node_modules/lodash-es/_Set.js","webpack:///../../../../../node_modules/lodash-es/_setToArray.js","webpack:///../../../../../node_modules/lodash-es/_createSet.js","webpack:///../../../../../node_modules/lodash-es/noop.js","webpack:///../../../../../node_modules/lodash-es/uniqWith.js","webpack:///../../../../../node_modules/lodash-es/_baseUniq.js","webpack:///../../src/har/log.js","webpack:///../../src/har/index.js","webpack:///../../src/har/utils/to-nv-pairs.js","webpack:///../../src/har/utils/get-first-header.js","webpack:///../../src/har/request.js","webpack:///../../src/har/response.js","webpack:///../../src/har/entry.js","webpack:///../../src/ajax.js","webpack:///../../src/constants/modes.js","webpack:///../../src/constants/actions.js","webpack:///../../src/constants/http-methods.js","webpack:///../../src/constants/http-status-codes.js","webpack:///../../src/constants/expiry-strategies.js","webpack:///../../src/utils/polly-error.js","webpack:///../../src/utils/assert.js","webpack:///../../src/utils/timeout.js","webpack:///../../src/utils/timestamp.js","webpack:///../../src/utils/url.js","webpack:///../../src/utils/build-url.js","webpack:///../../src/utils/serializers/blob.js","webpack:///../../src/utils/serializers/form-data.js","webpack:///../../src/utils/serializers/buffer.js","webpack:///../../src/utils/serializers/index.js","webpack:///../../src/utils/is-buffer-utf8-representable.js","webpack:///../../src/utils/clone-arraybuffer.js","webpack:///@servicenow/behavior-defer/27.14.1/src/defer.js","webpack:///@servicenow/behavior-focus/27.0.13/src/utils/handle-focus.js","webpack:///@servicenow/behavior-focus/27.0.13/src/utils/get-focusable-nodes.js","webpack:///@servicenow/behavior-focus/27.0.13/src/focus.js","webpack:///@servicenow/behavior-focus/27.0.13/src/utils/handle-tab-keydown.js","webpack:///@servicenow/behavior-modal/27.14.1/src/utils/constants.js","webpack:///@servicenow/behavior-modal/27.14.1/src/utils/update-elements.js","webpack:///@servicenow/behavior-modal/27.14.1/src/utils/tree-origin-node.js","webpack:///@servicenow/behavior-modal/27.14.1/src/modal.js","webpack:///@servicenow/behavior-reduce-motion/29.2.0/src/utils/constants.js","webpack:///@servicenow/behavior-reduce-motion/29.2.0/src/reduce-motion.js","webpack:///@servicenow/behavior-reduce-motion/29.2.0/src/index.js","webpack:///@servicenow/behavior-resizable/27.14.1/src/components/utils/index.js","webpack:///@servicenow/behavior-resizable/27.14.1/src/components/resizable-target.js","webpack:///@servicenow/behavior-resizable/27.14.1/src/resizable.js","webpack:///@servicenow/behavior-rtl/27.0.23/src/rtl.js","webpack:///@devsnc/library-uxf/src/factory/constants.js","webpack:///@devsnc/library-uxf/src/utils/getLogger.js","webpack:///@devsnc/library-uxf/src/utils/clientCacheUtils.js","webpack:///@devsnc/library-uxf/src/templateLoader/getClientCacheableContent.js","webpack:///@devsnc/library-uxf/src/templateLoader/utils.js","webpack:///@devsnc/library-uxf/src/utils/getUxfSysProp.js","webpack:///@devsnc/library-uxf/src/factory/themeLoader.js","webpack:///@devsnc/library-uxf/src/factory/databrokers/behaviors/data-broker-runtime/constants.js","webpack:///@devsnc/library-uxf/src/factory/cache.js","webpack:///@devsnc/library-uxf/src/factory/getMostRecentlyUsedScreens.js","webpack:///@devsnc/library-uxf/src/factory/dirtyStateManager/utils.js","webpack:///@devsnc/library-uxf/src/factory/dirtyStateManager/dirtyStateManager.js","webpack:///@devsnc/library-uxf/src/factory/dirtyStateManager/api.js","webpack:///@devsnc/library-uxf/src/utils/macroponent.js","webpack:///@devsnc/library-uxf/src/factory/utils.js","webpack:///@devsnc/library-uxf/src/factory/databrokers/behaviors/data-broker-runtime/getProperties.js","webpack:///@devsnc/library-uxf/src/factory/getInternalEffect.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/getResolvedJsonLiteral.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/resolveWith.js","webpack:///klona/2.0.6/dist/index.mjs","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/viewportRuntime/getViewportApi.js","webpack:///@devsnc/library-uxf/src/factory/getParentDataStore.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/resolveSelectableProperty.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/getSelectableProp.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/unstableResolveSelectableProperty.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/getResolvedBindingWithState.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/transforms/utils.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/transforms/empty.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/transforms/any.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/transforms/all.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/transforms/where.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/transforms/strings.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/transforms/get.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/transforms/index.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/transforms/concat.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/transforms/if.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/transforms/len.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/transforms/pick.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/transforms/range.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/transforms/sum.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/transforms/indexof.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/transforms/lastindexof.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/transforms/slice.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/transforms/json.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/transforms/includes.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/transforms/objects.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/transforms/debug.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/env.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/transforms/let.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/transforms/find.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/transforms/map.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/transforms/reduce.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/getResolvedClientTransform.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/getResolvedBinary.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/getResolvedUnary.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/getResolvedTranslationLiteral.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/containers/index.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/basicResolvers.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/binary/index.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/unary/index.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/resolveForDbExecEngine.js","webpack:///@devsnc/library-uxf/src/factory/databrokers/behaviors/data-broker-runtime/getHydratedPipeline.js","webpack:///@devsnc/library-uxf/src/utils/markUtil.js","webpack:///@devsnc/library-uxf/src/factory/databrokers/behaviors/data-broker-runtime/reformatInputValues.js","webpack:///@devsnc/library-uxf/src/factory/databrokers/behaviors/data-broker-runtime/isGraphQLTransportEnabled.js","webpack:///@devsnc/library-uxf/src/utils/puppeteerMetricLogger.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/resolveForView.js","webpack:///@devsnc/library-uxf/src/factory/databrokers/behaviors/data-broker-runtime/external-rest/attributeResolver.js","webpack:///@devsnc/library-uxf/src/factory/databrokers/behaviors/data-broker-runtime/external-rest/outputResultBuilder.js","webpack:///@devsnc/library-uxf/src/factory/databrokers/behaviors/data-broker-runtime/external-rest/apiError.js","webpack:///@devsnc/library-uxf/src/factory/databrokers/behaviors/data-broker-runtime/external-rest/apiErrorHandler.js","webpack:///@devsnc/library-uxf/src/factory/databrokers/behaviors/data-broker-runtime/external-rest/apiCache.js","webpack:///@devsnc/library-uxf/src/factory/databrokers/behaviors/data-broker-runtime/external-rest/apiRequestHandler.js","webpack:///@devsnc/library-uxf/src/scriptLoader/evaluator.js","webpack:///@devsnc/library-uxf/src/scriptLoader/utils.js","webpack:///@devsnc/library-uxf/src/scriptLoader/registry.js","webpack:///@devsnc/library-uxf/src/factory/macroponentAccessApi/helpers.js","webpack:///@devsnc/library-uxf/src/factory/macroponentAccessApi/getContextWrapper.js","webpack:///@devsnc/library-uxf/src/factory/macroponentAccessApi/controllerDependencyOpFnGetterFactory.js","webpack:///@devsnc/library-uxf/src/factory/macroponentAccessApi/getDataBrokerDefinitionWrapper.js","webpack:///@devsnc/library-uxf/src/factory/macroponentAccessApi/getDataWrapper.js","webpack:///@devsnc/library-uxf/src/factory/macroponentAccessApi/getStateWrapper.js","webpack:///@devsnc/library-uxf/src/factory/macroponentAccessApi/getElementsWrapper.js","webpack:///@devsnc/library-uxf/src/factory/macroponentAccessApi/getMacroponentAccessApi.js","webpack:///@devsnc/library-uxf/src/factory/macroponentAccessApi/getControllerDataWrapper.js","webpack:///@devsnc/library-uxf/src/snHttpInstance/index.js","webpack:///@devsnc/library-uxf/src/factory/macroponentAccessApi/getControllerAccessApi.js","webpack:///@devsnc/library-uxf/src/utils/taskTracker.js","webpack:///@devsnc/library-uxf/src/utils/screenUtils.js","webpack:///@devsnc/library-uxf/src/scriptedHandlerApi/apis/http.js","webpack:///@devsnc/library-uxf/src/scriptedHandlerApi/apis/translate.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/getEvaluatedInlineScript.js","webpack:///@devsnc/library-uxf/src/factory/layout/constants.js","webpack:///@devsnc/library-uxf/src/factory/layout/trackUsageReflowHandler.js","webpack:///@devsnc/library-uxf/src/factory/nodeRenderers/helpers.js","webpack:///@devsnc/library-uxf/src/factory/layout/helpers.js","webpack:///@devsnc/library-uxf/src/factory/layout/styler.js","webpack:///@devsnc/library-uxf/src/factory/registry/mediaQueryRegistry.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/getResolvedClientResponsiveQuery.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/getResolversForView.js","webpack:///@devsnc/library-uxf/src/factory/databrokers/behaviors/data-broker-runtime/external-rest/externalRESTDBEffect.js","webpack:///@devsnc/library-uxf/src/factory/databrokers/behaviors/data-broker-runtime/dataBrokerExecHandlers.js","webpack:///@devsnc/library-uxf/src/factory/databrokers/behaviors/data-broker-runtime/getDBExecPipelineResults.js","webpack:///@devsnc/library-uxf/src/factory/databrokers/behaviors/data-broker-runtime/formatPayloadForDBExec.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/getResolvedPayloadBinding.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/getResolvedInputsForDbOpExec.js","webpack:///@devsnc/library-uxf/src/factory/registry/macroponentInstanceRegistry.js","webpack:///@devsnc/library-uxf/src/factory/registry/getDispatchFn.js","webpack:///@devsnc/library-uxf/src/factory/interceptors/actionChainAugmentationInterceptor.js","webpack:///@devsnc/library-uxf/src/utils/generateId.js","webpack:///@devsnc/library-uxf/src/templateLoader/createFragmentGenerator.js","webpack:///@devsnc/library-uxf/src/templateLoader/appendTranslations.js","webpack:///@devsnc/library-uxf/src/templateLoader/appendSysProps.js","webpack:///@devsnc/library-uxf/src/templateLoader/appendUserPrefs.js","webpack:///@devsnc/library-uxf/src/templateLoader/appendPresources.js","webpack:///@devsnc/library-uxf/src/embeddables/getEmbeddables.js","webpack:///@devsnc/library-uxf/src/templateLoader/importESModules.js","webpack:///@devsnc/library-uxf/src/templateLoader/assetStore.js","webpack:///@devsnc/library-uxf/src/templateLoader/loadAssets.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/lazyLoading/layoutBounds.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/lazyLoading/intersectionObserver.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/lazyLoading/lazyLoadingUtils.js","webpack:///@devsnc/library-uxf/src/templateLoader/createMacroponentFragmentGenerator.js","webpack:///@devsnc/library-uxf/src/templateLoader/createBatchingQueue.js","webpack:///@devsnc/library-uxf/src/templateLoader/getPreloadedAppliedPageFragments.js","webpack:///@devsnc/library-uxf/src/templateLoader/getPrefetchableRequests.js","webpack:///@devsnc/library-uxf/src/templateLoader/getReconstructedPageFragment.js","webpack:///@devsnc/library-uxf/src/templateLoader/getTemplates.js","webpack:///@devsnc/library-uxf/src/factory/databrokers/behaviors/data-broker-runtime/getDataBrokerOperationHandlers.js","webpack:///@devsnc/library-uxf/src/factory/databrokers/behaviors/data-broker-runtime/getRefreshPipelineFn.js","webpack:///@devsnc/library-uxf/src/factory/databrokers/behaviors/data-broker-runtime/earlyEvaluationRegistry.js","webpack:///@devsnc/library-uxf/src/factory/databrokers/behaviors/data-broker-runtime/dataBrokerRuntimeFactory.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/getResolvers.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/resolveForActionPayload.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/resolveForConditional.js","webpack:///@devsnc/library-uxf/src/utils/dom.js","webpack:///@devsnc/library-uxf/src/factory/prefetch/prefetchAction.js","webpack:///@devsnc/library-uxf/src/factory/prefetch/prefetchQueries.js","webpack:///@devsnc/library-uxf/src/factory/getActionHandlers.js","webpack:///@devsnc/library-uxf/src/factory/getConsolidatedConfig.js","webpack:///@devsnc/library-uxf/src/factory/layout/resizeObserver.js","webpack:///@devsnc/library-uxf/src/factory/macroponentInMemoryStore.js","webpack:///@devsnc/library-uxf/src/factory/layout/index.js","webpack:///@devsnc/library-uxf/src/factory/nodeRenderers/renderRepeaterNode.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/translatorBehavior/translatorDAHelpers.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/translatorBehavior/constants.js","webpack:///@devsnc/library-uxf/src/overridesApiForWysiwyg/utils.js","webpack:///@devsnc/library-uxf/src/factory/nodeRenderers/hoistedContent/utils/utilityPanelUtils.js","webpack:///@devsnc/library-uxf/src/factory/nodeRenderers/hoistedContent/utils/DomTraversalForUtilityPanel.js","webpack:///@devsnc/library-uxf/src/factory/nodeRenderers/hoistedContent/renderHoistedContentMCPNode.js","webpack:///@devsnc/library-uxf/src/factory/nodeRenderers/renderMacroponentNode.js","webpack:///@devsnc/library-uxf/src/factory/nodeRenderers/renderConditionalNode.js","webpack:///@devsnc/library-uxf/src/factory/nodeRenderers/renderProxyDataResourceMultiInstanceNodes.js","webpack:///@devsnc/library-uxf/src/factory/getPersistedStateForNode.js","webpack:///@devsnc/library-uxf/src/factory/getView.js","webpack:///@devsnc/library-uxf/src/macroponentAdaptersApi/macroponentView.js","webpack:///@devsnc/library-uxf/src/factory/thirdpartyLibs/dayjs/allowedDayjsAPIs.js","webpack:///@devsnc/library-uxf/src/factory/thirdpartyLibs/dayjs/getNowDateTimeAPIs.js","webpack:///@devsnc/library-uxf/src/factory/thirdpartyLibs/dayjs/plugins.js","webpack:///@devsnc/library-uxf/src/factory/thirdpartyLibs/index.js","webpack:///@devsnc/library-intent-channel/src/intentLibraryGlobals.js","webpack:///@devsnc/library-intent-channel/src/generator/generatorRegistry.js","webpack:///@devsnc/library-intent-channel/src/constants.js","webpack:///@devsnc/library-intent-channel/src/mediator/mediatorUtils.js","webpack:///@devsnc/library-intent-channel/src/mediator/registry.js","webpack:///@devsnc/library-intent-channel/src/mediator/mediatorResult.js","webpack:///@devsnc/library-intent-channel/src/messageProcessor.js","webpack:///@devsnc/library-intent-channel/src/mediator/createHandler.js","webpack:///@devsnc/library-intent-channel/src/generator/handlers/routingMediatorHandler.js","webpack:///@devsnc/library-intent-channel/src/generator/handlers/localHandler.js","webpack:///@devsnc/library-intent-channel/src/generator/handlers/sessionStorageHandler.js","webpack:///@devsnc/library-intent-channel/src/translator/translatorRegistry.js","webpack:///@devsnc/library-intent-channel/src/generator/generatorChain.js","webpack:///@devsnc/library-intent-channel/src/translator/handlers/routingMediatorHandler.js","webpack:///@devsnc/library-intent-channel/src/translator/handlers/localHandler.js","webpack:///@devsnc/library-intent-channel/src/translator/handlers/sessionStorageHandler.js","webpack:///@devsnc/library-intent-channel/src/translator/translatorChain.js","webpack:///@devsnc/library-intent-channel/src/sessionStorage/activeTranslatorService.js","webpack:///@devsnc/library-intent-channel/src/sessionStorage/sessionStorageDispatcher.js","webpack:///@devsnc/library-intent-channel/src/sessionStorage/sessionStorageUtils.js","webpack:///@devsnc/library-intent-channel/src/pubsub/pubsubService.js","webpack:///@devsnc/library-intent-channel/src/generator/generatorService.js","webpack:///@devsnc/library-intent-channel/src/translator/translatorService.js","webpack:///@devsnc/library-intent-channel/src/pubsub/getPubsubActionHandlers.js","webpack:///@devsnc/library-intent-channel/src/generator/intent-generator-behavior.js","webpack:///@devsnc/library-intent-channel/src/mediator/mediatorService.js","webpack:///@devsnc/library-intent-channel/src/mediator/behaviors/intent-mediator-behavior.js","webpack:///@devsnc/library-intent-channel/src/translator/intent-translator-behavior.js","webpack:///@devsnc/library-intent-channel/src/mediator/behaviors/intent-routing-mediator-behavior.js","webpack:///@devsnc/library-intent-channel/src/clientScript/getNowAssistApiWrapper.js","webpack:///@devsnc/library-intent-channel/src/clientScript/getIntentChannelClientScriptApi.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/execScript/getImports.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/execScript/getDataBrokerOperationFunctions.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/execScript/getUxfEmitFn.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/execScript/setState.js","webpack:///@devsnc/library-uxf/src/scriptedHandlerApi/apis/modal.js","webpack:///@devsnc/library-uxf/src/scriptedHandlerApi/apis/screen.js","webpack:///@devsnc/library-uxf/src/scriptedHandlerApi/apis/timing.js","webpack:///@devsnc/library-uxf/src/scriptedHandlerApi/apis/focus.js","webpack:///@devsnc/library-uxf/src/scriptedHandlerApi/apis/write.js","webpack:///@devsnc/library-uxf/src/scriptedHandlerApi/apis/getBaseUrl.js","webpack:///@devsnc/library-uxf/src/scriptedHandlerApi/apis/copyUrlToClipboard.js","webpack:///@devsnc/library-uxf/src/scriptedHandlerApi/apis/getCurrentExperienceUrl.js","webpack:///@devsnc/library-uxf/src/scriptedHandlerApi/index.js","webpack:///@devsnc/library-uxf/src/scriptedHandlerApi/apis/navigate.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/execScript/getExecScriptBehavior.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/execScript/getApiFactory.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/selectablePropResolver/getSelectablePropResolverBehavior.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/outputPropResolver/getOutputPropResolverBehavior.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/viewportRuntime/viewportRuntimeEffects.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/viewportRuntime/utils.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/viewportRuntime/primeTemplateCache.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/viewportRuntime/updateRouteCollectionState.js","webpack:///@devsnc/library-uxf/src/screenContentOverridesApi/screenEventMappings.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/translatorBehavior/translatorModalHelper.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/viewportRuntime/registerScreenActionTransformer.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/viewportRuntime/evaluateScreenCondition.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/viewportRuntime/getViewportElementsAffectedByDataOutputProp.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/viewportRuntime/caches.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/viewportRuntime/getViewportRuntimeBehavior.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/tabsetContainerRuntime/getTabsetContainerRenderBehavior.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/resolveForInitialStateValues.js","webpack:///@devsnc/library-uxf/src/factory/getInitialState.js","webpack:///@devsnc/library-uxf/src/effects/httpErrorOccurredEffect.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/trackUsage/trackUsageActionHandler.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/translatorBehavior/getTranslatorBehavior.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/getLifecyleEventsBehavior.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/primitiveOperations/stateUpdateRequestedActionHandler.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/componentInteractive/utils.js","webpack:///@devsnc/library-uxf/src/behaviors/constants.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/componentInteractive/getComponentInteractiveBehavior.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/controllerDependency/getControllerDependencyEventTargetBehavior.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/resolveForScreenConditionEvaluator.js","webpack:///@devsnc/library-uxf/src/factory/databrokers/behaviors/data-broker-runtime/shouldTrackDBExecutionLifecycle.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/controllerDependency/getControllerDataOutputBindingFactory.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/viewportRuntime/getSubroutesWithParsedClientConditions.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/popoverOpenRequested/getPopoverOpenRequestedBehavior.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/responsiveProps/getResponsivePropResolverBehavior.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/statePersistence/getStatePersistenceBehavior.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/lazyLoading/lazyLoadingBehavior.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/focus/getFocusBehavior.js","webpack:///@devsnc/library-uxf/src/factory/behaviorFactories/embeddables/embeddableMacroponentBehavior.js","webpack:///@devsnc/library-uxf/src/factory/createMacroponent.js","webpack:///@devsnc/library-uxf/src/factory/getProperties.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/getResolvedBindingWithSelectableProps.js","webpack:///@devsnc/library-uxf/src/factory/index.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/resolveForViewWithSelectableProps.js","webpack:///@devsnc/library-uxf/src/scriptLoader/onDemand/registries.js","webpack:///@devsnc/library-uxf/src/scriptLoader/onDemand/getLoaderStats.js","webpack:///@devsnc/library-uxf/src/scriptLoader/onDemand/getLazyProxy.js","webpack:///@devsnc/library-uxf/src/scriptLoader/onDemand/evalTimer.js","webpack:///@devsnc/library-uxf/src/scriptLoader/onDemand/makeProvider.js","webpack:///@devsnc/library-uxf/src/scriptLoader/onDemand/forceEval.js","webpack:///@devsnc/library-uxf/src/scriptLoader/onDemand/wasComponentEvaled.js","webpack:///@devsnc/library-uxf/src/scriptLoader/onDemand/wasExternalEvaled.js","webpack:///@devsnc/library-uxf/src/scriptLoader/onDemand/forceEvalAssetsOnIdle.js","webpack:///@devsnc/library-uxf/src/scriptLoader/onDemand/addNodeObservers.js","webpack:///@devsnc/library-uxf/src/templateLoader/getComponents.js","webpack:///@devsnc/library-uxf/src/screenContentOverridesApi/screenMacroponentConfiguration.js","webpack:///@devsnc/library-uxf/src/factory/UxValueResolver/resolveForMacroponentRegistration.js","webpack:///@devsnc/library-uxf/src/templateLoader/getAppliedTemplate.js","webpack:///@devsnc/library-uxf/src/behaviors/helpers.js","webpack:///@devsnc/library-uxf/src/behaviors/matchPath.js","webpack:///@devsnc/library-uxf/src/behaviors/findRoute.js","webpack:///@devsnc/library-uxf/src/behaviors/componentViewportEffects.js","webpack:///@devsnc/library-uxf/src/behaviors/componentViewportBehavior.js","webpack:///@devsnc/library-uxf/src/utils/setAppConfigToRootMacroponent.js","webpack:///@devsnc/library-uxf/src/behaviors/daWrappedClickedBehavior.js","webpack:///@devsnc/library-uxf/src/effects/macroponentLoaderEffect.js","webpack:///@devsnc/library-uxf/src/effects/componentLoaderEffect.js","webpack:///@devsnc/library-uxf/src/effects/measureMacroponentTimeToIdleEffect.js","webpack:///@devsnc/library-uxf/src/behaviors/getUxfContractBehavior.js","webpack:///@devsnc/library-uxf/src/atf/atfDriverLoader.js","webpack:///@devsnc/library-uxf/src/atf/trackUsage.js","webpack:///@devsnc/library-uxf/src/atf/doAtfAction.js","webpack:///@devsnc/library-uxf/src/atf/atfActions.js","webpack:///@devsnc/library-uxf/src/atf/actionableComponents.js","webpack:///@devsnc/library-uxf/src/atf/getFilteredComponentInstances.js","webpack:///@devsnc/library-uxf/src/atf/api.js","webpack:///@devsnc/library-uxf/src/atf/initialize.js","webpack:///@devsnc/library-uxf/src/atf/getParametersForTestAction.js","webpack:///@devsnc/library-uxf/src/atf/atfSteps.js","webpack:///@devsnc/library-uxf/src/atf/cache.js","webpack:///@devsnc/library-uxf/src/macroponentAdaptersApi/macroponentRecreation.js","webpack:///@devsnc/library-uxf/src/overridesApiForWysiwyg/designTimeHandlers.js","webpack:///@devsnc/library-uxf/src/eventBlockingApi/eventBlocking.js","webpack:///@devsnc/library-uxf/src/factory/databrokers/behaviors/data-broker-runtime/extensionCommandsHandler.js","webpack:///@devsnc/library-uxf/src/factory/databrokers/behaviors/data-broker-runtime/earlyEvaluationEngine.js","webpack:///@devsnc/library-uxf/src/factory/databrokers/behaviors/data-broker-runtime/hydrateScreenEngine.js","webpack:///@devsnc/library-uxf/src/index.js","webpack:///@devsnc/library-uxf/src/scriptLoader/onDemand/onDemandComponent.js","webpack:///@devsnc/library-uxf/src/scriptLoader/onDemand/onDemandExternal.js","webpack:///@devsnc/library-uxf/src/scriptLoader/onDemand/wasForceEvaledOnIdle.js","webpack:///@devsnc/library-intent-channel/src/runtime.js","webpack:///@servicenow/behavior-theme/28.10.1/src/hooks/globals.js","webpack:///@servicenow/behavior-theme/28.10.1/src/hooks/index.js","webpack:///@servicenow/behavior-theme/28.10.1/src/hooks/system.colors.js","webpack:///@servicenow/behavior-theme/28.10.1/src/hooks/datavis.colors.js","webpack:///@servicenow/behavior-theme/28.10.1/src/hooks/categories.js","webpack:///@servicenow/behavior-theme/28.10.1/src/hooks/systemTokens.js","webpack:///@servicenow/behavior-theme/28.10.1/src/theme.js","webpack:///@servicenow/behavior-theme/28.10.1/src/behavior.js","webpack:///@servicenow/behavior-tooltip/27.0.13/src/utils/constants.js","webpack:///@servicenow/behavior-tooltip/27.0.13/src/utils/get-tooltip.js","webpack:///@servicenow/behavior-tooltip/27.0.13/src/utils/scheduler.js","webpack:///@servicenow/behavior-tooltip/27.0.13/src/utils/register.js","webpack:///@servicenow/behavior-tooltip/27.0.13/src/tooltip.js","webpack:///@servicenow/behavior-truncation/27.0.13/src/truncation.js","webpack:///@servicenow/behavior-truncation/27.0.13/src/index.js","webpack:///@servicenow/commons-test-js-utils/2.0.2/src/GlideRecordAccessor.js","webpack:///@servicenow/commons-test-js-utils/2.0.2/src/GlideRecordRetriever.js","webpack:///@servicenow/commons-test-js-utils/2.0.2/src/index.js","webpack:///@servicenow/commons-test-js-utils/2.0.2/src/sdlc-annotation.js","webpack:///@servicenow/library-enhanced-element/27.0.13/src/cast.js","webpack:///../src/updateStateEffect.js","webpack:///@servicenow/library-enhanced-element/27.0.13/src/locals.js","webpack:///@servicenow/library-enhanced-element/27.0.13/src/default-behaviors.js","webpack:///@servicenow/library-enhanced-element/27.0.13/src/manageable-properties.js","webpack:///@servicenow/library-enhanced-element/27.0.13/src/constant-case.js","webpack:///@servicenow/library-enhanced-element/27.0.13/src/scoped-action-name.js","webpack:///@servicenow/library-enhanced-element/27.0.13/src/on-render.js","webpack:///@servicenow/library-enhanced-element/27.0.13/src/create-enhanced-element.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/directional-keys.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/extension-split.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/filter-aria-attributes.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/to-array.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/find-tabbable-nodes.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/get-active-element.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/get-shadow-root-host.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/make-redispatch-effect.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/text-transform.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/measure-text-factory.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/measure-text.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/match-search-term.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/layer-events.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/dom-purify-config.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/fit/dimensions.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/fit/get-axis-info.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/fit/content-area.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/fit/content.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/fit/content-styles.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/fit/overlap.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/fit/constrain.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/fit/to-size-value.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/fit/calculate-fit.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/fit/content-area-styles.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/fit/fit-info.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/fit/normalize-position.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/resolve-fit-properties.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/ariaLiveConstants.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/browser.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/get-column-styles.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/to-embeddable-url.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/get-caret-coordinates.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/sanitize-href.js","webpack:///@servicenow/library-enhanced-utils/27.0.13/src/index.js","webpack:///@servicenow/library-schemas/27.0.13/src/aria-config.js","webpack:///@servicenow/behavior-resize/28.10.1/src/resize.js","webpack:///@servicenow/now-trigger-library/src/snHttpInstance/index.js","webpack:///@servicenow/now-trigger-library/src/helpers/constants.js","webpack:///@servicenow/now-trigger-library/src/helpers/getLogger.js","webpack:///@servicenow/now-trigger-library/src/helpers/supportedPlatforms.js","webpack:///@servicenow/now-trigger-library/src/helpers/cacheInstance.js","webpack:///@servicenow/now-trigger-library/src/helpers/fetchShortcuts.js","webpack:///@servicenow/now-trigger-library/src/helpers/overridesHelpers.js","webpack:///@servicenow/now-trigger-library/src/helpers/fetchUserOverrides.js","webpack:///@servicenow/now-trigger-library/src/helpers/dedupeShortcuts.js","webpack:///@servicenow/now-trigger-library/src/helpers/keyFormatter.js","webpack:///@servicenow/now-trigger-library/src/helpers/shortcutUtils.js","webpack:///@servicenow/now-trigger-library/src/helpers/domHelpers.js","webpack:///@servicenow/now-trigger-library/src/contextManager.js","webpack:///@servicenow/now-trigger-library/src/helpers/querySelectors.js","webpack:///@servicenow/now-trigger-library/src/componentRegistry.js","webpack:///@servicenow/now-trigger-library/src/shortcutsState.js","webpack:///@servicenow/now-trigger-library/src/ApplicableComponentAdapter.js","webpack:///@servicenow/now-trigger-library/src/helpers/ActionStateQueue.js","webpack:///@servicenow/now-trigger-library/src/shortcutActionManager.js","webpack:///@servicenow/now-trigger-library/src/landmarkEngine.js","webpack:///@servicenow/now-trigger-library/src/shortcutRegistry.js","webpack:///@servicenow/now-trigger-library/src/trackUsageShortcutHandler.js","webpack:///@servicenow/now-trigger-library/src/shortcutEngine.js","webpack:///@servicenow/now-trigger-library/src/overrideRegistry.js","webpack:///@servicenow/now-trigger-library/src/initializeShortcuts.js","webpack:///@servicenow/now-alert/src/utils/content-is-overset.js","webpack:///@servicenow/now-alert/src/utils/get-computed-overset-height.js","webpack:///@servicenow/now-alert/src/now-alert.js","webpack:///@servicenow/now-alert/src/utils/handle-resize.js","webpack:///@servicenow/now-alert/src/now-alert-list.js","webpack:///@servicenow/now-alert/src/index.js","webpack:///@servicenow/now-avatar/src/now-avatar.js","webpack:///@servicenow/now-button/src/behaviors/index.js","webpack:///@servicenow/behavior-ripple/29.2.0/src/constants.js","webpack:///@servicenow/behavior-ripple/29.2.0/src/ripple.js","webpack:///@servicenow/behavior-ripple/29.2.0/src/utils.js","webpack:///@servicenow/behavior-css-property-registration/29.2.0/src/css-property-registration.js","webpack:///@servicenow/now-button/src/now-button.js","webpack:///@servicenow/now-button/src/now-button-bare.js","webpack:///@servicenow/now-button/src/now-button-iconic.js","webpack:///@servicenow/now-button/src/now-button-stateful.js","webpack:///@servicenow/now-button/src/now-button-circular.js","webpack:///@servicenow/now-button/src/index.js","webpack:///@servicenow/now-checkbox/src/now-checkbox.js","webpack:///@servicenow/now-checkbox/src/index.js","webpack:///@servicenow/now-dropdown/src/utils/elements.js","webpack:///@servicenow/now-dropdown/src/utils/helpers.js","webpack:///@servicenow/now-dropdown/src/utils/focus.js","webpack:///@servicenow/now-dropdown/src/schemas/dropdown-list-schema.js","webpack:///@servicenow/now-dropdown/src/behavior-screen-reader/screen-reader.js","webpack:///@servicenow/now-dropdown/src/now-dropdown-list.js","webpack:///@servicenow/behavior-fit/27.14.1/src/fit-info/dimensions.js","webpack:///@servicenow/behavior-fit/27.14.1/src/fit-info/normalize-position.js","webpack:///@servicenow/behavior-fit/27.14.1/src/fit-info/calculate-fit.js","webpack:///@servicenow/behavior-fit/27.14.1/src/fit-info/fit-info.js","webpack:///@servicenow/behavior-fit/27.14.1/src/behavior/fit.js","webpack:///@servicenow/behavior-fit/27.14.1/src/schemas/fit-schema.js","webpack:///@servicenow/now-dropdown/src/now-dropdown.js","webpack:///@servicenow/now-dropdown/src/panel-outside-scroll.js","webpack:///@servicenow/now-dropdown/src/schemas/dropdown-schema.js","webpack:///@servicenow/now-dropdown/src/now-dropdown-panel.js","webpack:///@servicenow/now-dropdown/src/now-dropdown-custom-target.js","webpack:///@servicenow/now-dropdown/src/index.js","webpack:///@servicenow/now-icon/src/icons/abc.js","webpack:///@servicenow/now-icon/src/icons/accessibility.js","webpack:///@servicenow/now-icon/src/icons/action.js","webpack:///@servicenow/now-icon/src/icons/actionAiSparkle.js","webpack:///@servicenow/now-icon/src/icons/activity.js","webpack:///@servicenow/now-icon/src/icons/addItemAbove.js","webpack:///@servicenow/now-icon/src/icons/addItemBelow.js","webpack:///@servicenow/now-icon/src/icons/addItemLeft.js","webpack:///@servicenow/now-icon/src/icons/addItemRight.js","webpack:///@servicenow/now-icon/src/icons/addressBook.js","webpack:///@servicenow/now-icon/src/icons/addressCard.js","webpack:///@servicenow/now-icon/src/icons/agile.js","webpack:///@servicenow/now-icon/src/icons/aiSparkle.js","webpack:///@servicenow/now-icon/src/icons/alignCenter.js","webpack:///@servicenow/now-icon/src/icons/alignLeft.js","webpack:///@servicenow/now-icon/src/icons/alignRight.js","webpack:///@servicenow/now-icon/src/icons/analyticsCenter.js","webpack:///@servicenow/now-icon/src/icons/anchor.js","webpack:///@servicenow/now-icon/src/icons/appsee.js","webpack:///@servicenow/now-icon/src/icons/arena.js","webpack:///@servicenow/now-icon/src/icons/arrowClockwise.js","webpack:///@servicenow/now-icon/src/icons/arrowCounterclockwise.js","webpack:///@servicenow/now-icon/src/icons/arrowDown.js","webpack:///@servicenow/now-icon/src/icons/arrowDownDot.js","webpack:///@servicenow/now-icon/src/icons/arrowDownLeft.js","webpack:///@servicenow/now-icon/src/icons/arrowDownMost.js","webpack:///@servicenow/now-icon/src/icons/arrowDownRectangle.js","webpack:///@servicenow/now-icon/src/icons/arrowDownRight.js","webpack:///@servicenow/now-icon/src/icons/arrowEnter.js","webpack:///@servicenow/now-icon/src/icons/arrowExit.js","webpack:///@servicenow/now-icon/src/icons/arrowLeft.js","webpack:///@servicenow/now-icon/src/icons/arrowLeftMost.js","webpack:///@servicenow/now-icon/src/icons/arrowMove.js","webpack:///@servicenow/now-icon/src/icons/arrowReorder.js","webpack:///@servicenow/now-icon/src/icons/arrowRight.js","webpack:///@servicenow/now-icon/src/icons/arrowRightLeft.js","webpack:///@servicenow/now-icon/src/icons/arrowRightMost.js","webpack:///@servicenow/now-icon/src/icons/arrowThreeSplitLeft.js","webpack:///@servicenow/now-icon/src/icons/arrowThreeSplitRight.js","webpack:///@servicenow/now-icon/src/icons/arrowUp.js","webpack:///@servicenow/now-icon/src/icons/arrowUpDot.js","webpack:///@servicenow/now-icon/src/icons/arrowUpDown.js","webpack:///@servicenow/now-icon/src/icons/arrowUpLeft.js","webpack:///@servicenow/now-icon/src/icons/arrowUpMost.js","webpack:///@servicenow/now-icon/src/icons/arrowUpRight.js","webpack:///@servicenow/now-icon/src/icons/arrowsDecision.js","webpack:///@servicenow/now-icon/src/icons/arrowsDoubleLeft.js","webpack:///@servicenow/now-icon/src/icons/arrowsDoubleRight.js","webpack:///@servicenow/now-icon/src/icons/asterisk.js","webpack:///@servicenow/now-icon/src/icons/bag.js","webpack:///@servicenow/now-icon/src/icons/ban.js","webpack:///@servicenow/now-icon/src/icons/barcode.js","webpack:///@servicenow/now-icon/src/icons/beaker.js","webpack:///@servicenow/now-icon/src/icons/bell.js","webpack:///@servicenow/now-icon/src/icons/bellSlash.js","webpack:///@servicenow/now-icon/src/icons/bind.js","webpack:///@servicenow/now-icon/src/icons/binoculars.js","webpack:///@servicenow/now-icon/src/icons/boardFlexible.js","webpack:///@servicenow/now-icon/src/icons/boardGuided.js","webpack:///@servicenow/now-icon/src/icons/book.js","webpack:///@servicenow/now-icon/src/icons/bookOpen.js","webpack:///@servicenow/now-icon/src/icons/bookmark.js","webpack:///@servicenow/now-icon/src/icons/bot.js","webpack:///@servicenow/now-icon/src/icons/box.js","webpack:///@servicenow/now-icon/src/icons/boxes.js","webpack:///@servicenow/now-icon/src/icons/bracketRound.js","webpack:///@servicenow/now-icon/src/icons/branchFork.js","webpack:///@servicenow/now-icon/src/icons/briefcase.js","webpack:///@servicenow/now-icon/src/icons/broadcastTower.js","webpack:///@servicenow/now-icon/src/icons/bug.js","webpack:///@servicenow/now-icon/src/icons/bugSearch.js","webpack:///@servicenow/now-icon/src/icons/building.js","webpack:///@servicenow/now-icon/src/icons/buildingFactory.js","webpack:///@servicenow/now-icon/src/icons/buildingFeed.js","webpack:///@servicenow/now-icon/src/icons/buildingWarehouse.js","webpack:///@servicenow/now-icon/src/icons/bullseyeArrow.js","webpack:///@servicenow/now-icon/src/icons/bundle.js","webpack:///@servicenow/now-icon/src/icons/calendar.js","webpack:///@servicenow/now-icon/src/icons/calendarCheck.js","webpack:///@servicenow/now-icon/src/icons/calendarClock.js","webpack:///@servicenow/now-icon/src/icons/calendarDays.js","webpack:///@servicenow/now-icon/src/icons/calendarDaysClock.js","webpack:///@servicenow/now-icon/src/icons/calendarDaysSearch.js","webpack:///@servicenow/now-icon/src/icons/calendarTriangleExclamation.js","webpack:///@servicenow/now-icon/src/icons/camera.js","webpack:///@servicenow/now-icon/src/icons/cameraPlus.js","webpack:///@servicenow/now-icon/src/icons/caretDown.js","webpack:///@servicenow/now-icon/src/icons/caretDownMultiple.js","webpack:///@servicenow/now-icon/src/icons/caretLeft.js","webpack:///@servicenow/now-icon/src/icons/caretLeftMultiple.js","webpack:///@servicenow/now-icon/src/icons/caretRight.js","webpack:///@servicenow/now-icon/src/icons/caretRightMultiple.js","webpack:///@servicenow/now-icon/src/icons/caretUp.js","webpack:///@servicenow/now-icon/src/icons/caretUpDown.js","webpack:///@servicenow/now-icon/src/icons/catalog.js","webpack:///@servicenow/now-icon/src/icons/catalogBuilder.js","webpack:///@servicenow/now-icon/src/icons/catalogSlash.js","webpack:///@servicenow/now-icon/src/icons/cd.js","webpack:///@servicenow/now-icon/src/icons/cellphone.js","webpack:///@servicenow/now-icon/src/icons/change.js","webpack:///@servicenow/now-icon/src/icons/changePast.js","webpack:///@servicenow/now-icon/src/icons/changePlanned.js","webpack:///@servicenow/now-icon/src/icons/chartArea.js","webpack:///@servicenow/now-icon/src/icons/chartBarColumn.js","webpack:///@servicenow/now-icon/src/icons/chartBarGroup.js","webpack:///@servicenow/now-icon/src/icons/chartBarHorizontal.js","webpack:///@servicenow/now-icon/src/icons/chartBarSearch.js","webpack:///@servicenow/now-icon/src/icons/chartBarVertical.js","webpack:///@servicenow/now-icon/src/icons/chartBarVerticalCircleCheck.js","webpack:///@servicenow/now-icon/src/icons/chartBox.js","webpack:///@servicenow/now-icon/src/icons/chartBubble.js","webpack:///@servicenow/now-icon/src/icons/chartBulletHorizontal.js","webpack:///@servicenow/now-icon/src/icons/chartBulletVertical.js","webpack:///@servicenow/now-icon/src/icons/chartColumnAndTotal.js","webpack:///@servicenow/now-icon/src/icons/chartControl.js","webpack:///@servicenow/now-icon/src/icons/chartDependency.js","webpack:///@servicenow/now-icon/src/icons/chartDial.js","webpack:///@servicenow/now-icon/src/icons/chartDonut.js","webpack:///@servicenow/now-icon/src/icons/chartForecast.js","webpack:///@servicenow/now-icon/src/icons/chartFunnel.js","webpack:///@servicenow/now-icon/src/icons/chartGeomap.js","webpack:///@servicenow/now-icon/src/icons/chartHeatmap.js","webpack:///@servicenow/now-icon/src/icons/chartHistogram.js","webpack:///@servicenow/now-icon/src/icons/chartLine.js","webpack:///@servicenow/now-icon/src/icons/chartNavigator.js","webpack:///@servicenow/now-icon/src/icons/chartPareto.js","webpack:///@servicenow/now-icon/src/icons/chartPie.js","webpack:///@servicenow/now-icon/src/icons/chartPivotTable.js","webpack:///@servicenow/now-icon/src/icons/chartPyramid.js","webpack:///@servicenow/now-icon/src/icons/chartRelativeCompare.js","webpack:///@servicenow/now-icon/src/icons/chartSankey.js","webpack:///@servicenow/now-icon/src/icons/chartSemiDonut.js","webpack:///@servicenow/now-icon/src/icons/chartSpeedometer.js","webpack:///@servicenow/now-icon/src/icons/chartSpider.js","webpack:///@servicenow/now-icon/src/icons/chartSpline.js","webpack:///@servicenow/now-icon/src/icons/chartStepline.js","webpack:///@servicenow/now-icon/src/icons/chartSunburst.js","webpack:///@servicenow/now-icon/src/icons/chartText.js","webpack:///@servicenow/now-icon/src/icons/chartThreshold.js","webpack:///@servicenow/now-icon/src/icons/chartTreemap.js","webpack:///@servicenow/now-icon/src/icons/chartTrend.js","webpack:///@servicenow/now-icon/src/icons/chartWorkbench.js","webpack:///@servicenow/now-icon/src/icons/chat.js","webpack:///@servicenow/now-icon/src/icons/chatAiSparkle.js","webpack:///@servicenow/now-icon/src/icons/chatCircleExclamation.js","webpack:///@servicenow/now-icon/src/icons/chatHeart.js","webpack:///@servicenow/now-icon/src/icons/chatLock.js","webpack:///@servicenow/now-icon/src/icons/chatTriangleExclamation.js","webpack:///@servicenow/now-icon/src/icons/check.js","webpack:///@servicenow/now-icon/src/icons/checkStrong.js","webpack:///@servicenow/now-icon/src/icons/checkboxChecked.js","webpack:///@servicenow/now-icon/src/icons/checkboxIndeterminate.js","webpack:///@servicenow/now-icon/src/icons/checkboxUnchecked.js","webpack:///@servicenow/now-icon/src/icons/checklist.js","webpack:///@servicenow/now-icon/src/icons/chevronDown.js","webpack:///@servicenow/now-icon/src/icons/chevronLeft.js","webpack:///@servicenow/now-icon/src/icons/chevronRight.js","webpack:///@servicenow/now-icon/src/icons/chevronUp.js","webpack:///@servicenow/now-icon/src/icons/chip.js","webpack:///@servicenow/now-icon/src/icons/circle.js","webpack:///@servicenow/now-icon/src/icons/circleArrowDown.js","webpack:///@servicenow/now-icon/src/icons/circleArrowLeft.js","webpack:///@servicenow/now-icon/src/icons/circleArrowRight.js","webpack:///@servicenow/now-icon/src/icons/circleArrowUp.js","webpack:///@servicenow/now-icon/src/icons/circleBackward.js","webpack:///@servicenow/now-icon/src/icons/circleCaretDown.js","webpack:///@servicenow/now-icon/src/icons/circleCaretLeft.js","webpack:///@servicenow/now-icon/src/icons/circleCaretRight.js","webpack:///@servicenow/now-icon/src/icons/circleCaretUp.js","webpack:///@servicenow/now-icon/src/icons/circleCheck.js","webpack:///@servicenow/now-icon/src/icons/circleChevronDown.js","webpack:///@servicenow/now-icon/src/icons/circleChevronLeft.js","webpack:///@servicenow/now-icon/src/icons/circleChevronRight.js","webpack:///@servicenow/now-icon/src/icons/circleChevronUp.js","webpack:///@servicenow/now-icon/src/icons/circleClose.js","webpack:///@servicenow/now-icon/src/icons/circleDashed.js","webpack:///@servicenow/now-icon/src/icons/circleDownload.js","webpack:///@servicenow/now-icon/src/icons/circleEllipsis.js","webpack:///@servicenow/now-icon/src/icons/circleExclamation.js","webpack:///@servicenow/now-icon/src/icons/circleFlagEvent.js","webpack:///@servicenow/now-icon/src/icons/circleForward.js","webpack:///@servicenow/now-icon/src/icons/circleHalf.js","webpack:///@servicenow/now-icon/src/icons/circleInfo.js","webpack:///@servicenow/now-icon/src/icons/circleLock.js","webpack:///@servicenow/now-icon/src/icons/circleMinus.js","webpack:///@servicenow/now-icon/src/icons/circleMinusVertical.js","webpack:///@servicenow/now-icon/src/icons/circleNext.js","webpack:///@servicenow/now-icon/src/icons/circlePause.js","webpack:///@servicenow/now-icon/src/icons/circlePencil.js","webpack:///@servicenow/now-icon/src/icons/circlePlay.js","webpack:///@servicenow/now-icon/src/icons/circlePlus.js","webpack:///@servicenow/now-icon/src/icons/circlePrevious.js","webpack:///@servicenow/now-icon/src/icons/circleQuarter.js","webpack:///@servicenow/now-icon/src/icons/circleQuestion.js","webpack:///@servicenow/now-icon/src/icons/circleRecord.js","webpack:///@servicenow/now-icon/src/icons/circleSemiCheck.js","webpack:///@servicenow/now-icon/src/icons/circleSemiPercentage.js","webpack:///@servicenow/now-icon/src/icons/circleShuffle.js","webpack:///@servicenow/now-icon/src/icons/circleStop.js","webpack:///@servicenow/now-icon/src/icons/circleThick.js","webpack:///@servicenow/now-icon/src/icons/circleThreeQuarter.js","webpack:///@servicenow/now-icon/src/icons/circleUser.js","webpack:///@servicenow/now-icon/src/icons/circleWorkflowSkip.js","webpack:///@servicenow/now-icon/src/icons/clearCache.js","webpack:///@servicenow/now-icon/src/icons/clipboard.js","webpack:///@servicenow/now-icon/src/icons/clipboardCheck.js","webpack:///@servicenow/now-icon/src/icons/clipboardCheckShield.js","webpack:///@servicenow/now-icon/src/icons/clipboardExclamation.js","webpack:///@servicenow/now-icon/src/icons/clipboardLines.js","webpack:///@servicenow/now-icon/src/icons/clipboardSlash.js","webpack:///@servicenow/now-icon/src/icons/clipboardWithoutFormat.js","webpack:///@servicenow/now-icon/src/icons/clipboards.js","webpack:///@servicenow/now-icon/src/icons/clock.js","webpack:///@servicenow/now-icon/src/icons/clone.js","webpack:///@servicenow/now-icon/src/icons/cloneExclamation.js","webpack:///@servicenow/now-icon/src/icons/close.js","webpack:///@servicenow/now-icon/src/icons/cloud.js","webpack:///@servicenow/now-icon/src/icons/cloudCheckmark.js","webpack:///@servicenow/now-icon/src/icons/cloudSlash.js","webpack:///@servicenow/now-icon/src/icons/code.js","webpack:///@servicenow/now-icon/src/icons/codeEdit.js","webpack:///@servicenow/now-icon/src/icons/codeSearch.js","webpack:///@servicenow/now-icon/src/icons/cohortAnalysis.js","webpack:///@servicenow/now-icon/src/icons/collapse.js","webpack:///@servicenow/now-icon/src/icons/combine.js","webpack:///@servicenow/now-icon/src/icons/command.js","webpack:///@servicenow/now-icon/src/icons/comment.js","webpack:///@servicenow/now-icon/src/icons/commentBlank.js","webpack:///@servicenow/now-icon/src/icons/commentEmojiSmile.js","webpack:///@servicenow/now-icon/src/icons/commentPlus.js","webpack:///@servicenow/now-icon/src/icons/compass.js","webpack:///@servicenow/now-icon/src/icons/component.js","webpack:///@servicenow/now-icon/src/icons/componentBundle.js","webpack:///@servicenow/now-icon/src/icons/conferenceRoom.js","webpack:///@servicenow/now-icon/src/icons/configurationItem.js","webpack:///@servicenow/now-icon/src/icons/connectViewDocument.js","webpack:///@servicenow/now-icon/src/icons/console.js","webpack:///@servicenow/now-icon/src/icons/contractHistory.js","webpack:///@servicenow/now-icon/src/icons/crop.js","webpack:///@servicenow/now-icon/src/icons/cube.js","webpack:///@servicenow/now-icon/src/icons/currency.js","webpack:///@servicenow/now-icon/src/icons/currencyExchange.js","webpack:///@servicenow/now-icon/src/icons/cursor.js","webpack:///@servicenow/now-icon/src/icons/cursorMove.js","webpack:///@servicenow/now-icon/src/icons/dashGridBottomLeft.js","webpack:///@servicenow/now-icon/src/icons/dashGridBottomRight.js","webpack:///@servicenow/now-icon/src/icons/dashSquare.js","webpack:///@servicenow/now-icon/src/icons/dashboardDial.js","webpack:///@servicenow/now-icon/src/icons/database.js","webpack:///@servicenow/now-icon/src/icons/databaseArrowUp.js","webpack:///@servicenow/now-icon/src/icons/databaseBook.js","webpack:///@servicenow/now-icon/src/icons/databaseComponent.js","webpack:///@servicenow/now-icon/src/icons/databaseDiamond.js","webpack:///@servicenow/now-icon/src/icons/databaseError.js","webpack:///@servicenow/now-icon/src/icons/databaseFlagEvent.js","webpack:///@servicenow/now-icon/src/icons/databaseSearch.js","webpack:///@servicenow/now-icon/src/icons/decimal.js","webpack:///@servicenow/now-icon/src/icons/deleteColumn.js","webpack:///@servicenow/now-icon/src/icons/deleteRow.js","webpack:///@servicenow/now-icon/src/icons/desk.js","webpack:///@servicenow/now-icon/src/icons/diamond.js","webpack:///@servicenow/now-icon/src/icons/diamondExclamation.js","webpack:///@servicenow/now-icon/src/icons/directionArrowDown.js","webpack:///@servicenow/now-icon/src/icons/directionArrowLeft.js","webpack:///@servicenow/now-icon/src/icons/directionArrowRight.js","webpack:///@servicenow/now-icon/src/icons/directionArrowSlightLeft.js","webpack:///@servicenow/now-icon/src/icons/directionArrowSlightRight.js","webpack:///@servicenow/now-icon/src/icons/directionArrowUp.js","webpack:///@servicenow/now-icon/src/icons/document.js","webpack:///@servicenow/now-icon/src/icons/documentArchive.js","webpack:///@servicenow/now-icon/src/icons/documentAudio.js","webpack:///@servicenow/now-icon/src/icons/documentBlank.js","webpack:///@servicenow/now-icon/src/icons/documentBlankSlash.js","webpack:///@servicenow/now-icon/src/icons/documentCertificate.js","webpack:///@servicenow/now-icon/src/icons/documentChecklistSearch.js","webpack:///@servicenow/now-icon/src/icons/documentCode.js","webpack:///@servicenow/now-icon/src/icons/documentExcel.js","webpack:///@servicenow/now-icon/src/icons/documentImage.js","webpack:///@servicenow/now-icon/src/icons/documentInfected.js","webpack:///@servicenow/now-icon/src/icons/documentPdf.js","webpack:///@servicenow/now-icon/src/icons/documentPlus.js","webpack:///@servicenow/now-icon/src/icons/documentPowerpoint.js","webpack:///@servicenow/now-icon/src/icons/documentPpt.js","webpack:///@servicenow/now-icon/src/icons/documentQuestionMark.js","webpack:///@servicenow/now-icon/src/icons/documentSpeedometer.js","webpack:///@servicenow/now-icon/src/icons/documentTemplate.js","webpack:///@servicenow/now-icon/src/icons/documentTemplateEnvelope.js","webpack:///@servicenow/now-icon/src/icons/documentTxt.js","webpack:///@servicenow/now-icon/src/icons/documentVideo.js","webpack:///@servicenow/now-icon/src/icons/documentWorkflow.js","webpack:///@servicenow/now-icon/src/icons/documentXls.js","webpack:///@servicenow/now-icon/src/icons/documents.js","webpack:///@servicenow/now-icon/src/icons/documentsPencil.js","webpack:///@servicenow/now-icon/src/icons/door.js","webpack:///@servicenow/now-icon/src/icons/doubleChevronLeft.js","webpack:///@servicenow/now-icon/src/icons/doubleChevronRight.js","webpack:///@servicenow/now-icon/src/icons/doubleSlashForward.js","webpack:///@servicenow/now-icon/src/icons/download.js","webpack:///@servicenow/now-icon/src/icons/downloadCode.js","webpack:///@servicenow/now-icon/src/icons/downloadSlash.js","webpack:///@servicenow/now-icon/src/icons/draft.js","webpack:///@servicenow/now-icon/src/icons/dragDots.js","webpack:///@servicenow/now-icon/src/icons/dragResize.js","webpack:///@servicenow/now-icon/src/icons/drawTool.js","webpack:///@servicenow/now-icon/src/icons/drawer.js","webpack:///@servicenow/now-icon/src/icons/dropdownCaret.js","webpack:///@servicenow/now-icon/src/icons/droplet.js","webpack:///@servicenow/now-icon/src/icons/duplicate.js","webpack:///@servicenow/now-icon/src/icons/dynamicSegment.js","webpack:///@servicenow/now-icon/src/icons/elevator.js","webpack:///@servicenow/now-icon/src/icons/ellipsisHorizontal.js","webpack:///@servicenow/now-icon/src/icons/ellipsisVertical.js","webpack:///@servicenow/now-icon/src/icons/emojiNegative.js","webpack:///@servicenow/now-icon/src/icons/emojiNeutral.js","webpack:///@servicenow/now-icon/src/icons/emojiPositive.js","webpack:///@servicenow/now-icon/src/icons/emojiSlightlyNegative.js","webpack:///@servicenow/now-icon/src/icons/emojiSmile.js","webpack:///@servicenow/now-icon/src/icons/enterpriseAssetManagement.js","webpack:///@servicenow/now-icon/src/icons/envelope.js","webpack:///@servicenow/now-icon/src/icons/envelopeArrow.js","webpack:///@servicenow/now-icon/src/icons/envelopeMinus.js","webpack:///@servicenow/now-icon/src/icons/envelopeOpen.js","webpack:///@servicenow/now-icon/src/icons/envelopePlus.js","webpack:///@servicenow/now-icon/src/icons/eraser.js","webpack:///@servicenow/now-icon/src/icons/escalator.js","webpack:///@servicenow/now-icon/src/icons/exclamation.js","webpack:///@servicenow/now-icon/src/icons/expand.js","webpack:///@servicenow/now-icon/src/icons/eye.js","webpack:///@servicenow/now-icon/src/icons/eyeSlash.js","webpack:///@servicenow/now-icon/src/icons/facebook.js","webpack:///@servicenow/now-icon/src/icons/fieldName.js","webpack:///@servicenow/now-icon/src/icons/filter.js","webpack:///@servicenow/now-icon/src/icons/filterHide.js","webpack:///@servicenow/now-icon/src/icons/filterShow.js","webpack:///@servicenow/now-icon/src/icons/fire.js","webpack:///@servicenow/now-icon/src/icons/fitWidth.js","webpack:///@servicenow/now-icon/src/icons/flag.js","webpack:///@servicenow/now-icon/src/icons/flagEvent.js","webpack:///@servicenow/now-icon/src/icons/flagEventAdd.js","webpack:///@servicenow/now-icon/src/icons/flashlight.js","webpack:///@servicenow/now-icon/src/icons/flexDistributeBottom.js","webpack:///@servicenow/now-icon/src/icons/flexDistributeCenter.js","webpack:///@servicenow/now-icon/src/icons/flexDistributeSpaceAround.js","webpack:///@servicenow/now-icon/src/icons/flexDistributeSpaceBetween.js","webpack:///@servicenow/now-icon/src/icons/flexDistributeSpaceEvenly.js","webpack:///@servicenow/now-icon/src/icons/flexDistributeTop.js","webpack:///@servicenow/now-icon/src/icons/flexJustifyCenter.js","webpack:///@servicenow/now-icon/src/icons/flexJustifyLeft.js","webpack:///@servicenow/now-icon/src/icons/flexJustifyRight.js","webpack:///@servicenow/now-icon/src/icons/flexJustifySpaceAround.js","webpack:///@servicenow/now-icon/src/icons/flexJustifySpaceBetween.js","webpack:///@servicenow/now-icon/src/icons/flexJustifySpaceEvenly.js","webpack:///@servicenow/now-icon/src/icons/floorplan.js","webpack:///@servicenow/now-icon/src/icons/flowOutput.js","webpack:///@servicenow/now-icon/src/icons/folder.js","webpack:///@servicenow/now-icon/src/icons/folderCirclePlus.js","webpack:///@servicenow/now-icon/src/icons/folderOpen.js","webpack:///@servicenow/now-icon/src/icons/folderOpenCircleCheck.js","webpack:///@servicenow/now-icon/src/icons/food.js","webpack:///@servicenow/now-icon/src/icons/form.js","webpack:///@servicenow/now-icon/src/icons/formula.js","webpack:///@servicenow/now-icon/src/icons/fullscreen.js","webpack:///@servicenow/now-icon/src/icons/gear.js","webpack:///@servicenow/now-icon/src/icons/gearChanges.js","webpack:///@servicenow/now-icon/src/icons/gearMinus.js","webpack:///@servicenow/now-icon/src/icons/gearShieldCheckmark.js","webpack:///@servicenow/now-icon/src/icons/gem.js","webpack:///@servicenow/now-icon/src/icons/glasses.js","webpack:///@servicenow/now-icon/src/icons/globe.js","webpack:///@servicenow/now-icon/src/icons/globeClock.js","webpack:///@servicenow/now-icon/src/icons/globePin.js","webpack:///@servicenow/now-icon/src/icons/graduationCap.js","webpack:///@servicenow/now-icon/src/icons/grid.js","webpack:///@servicenow/now-icon/src/icons/gridAlignItemsBaseline.js","webpack:///@servicenow/now-icon/src/icons/gridAlignItemsBottom.js","webpack:///@servicenow/now-icon/src/icons/gridAlignItemsCenter.js","webpack:///@servicenow/now-icon/src/icons/gridAlignItemsStretch.js","webpack:///@servicenow/now-icon/src/icons/gridAlignItemsTop.js","webpack:///@servicenow/now-icon/src/icons/gridDistributeContentBottom.js","webpack:///@servicenow/now-icon/src/icons/gridDistributeContentCenter.js","webpack:///@servicenow/now-icon/src/icons/gridDistributeContentSpaceAround.js","webpack:///@servicenow/now-icon/src/icons/gridDistributeContentSpaceBetween.js","webpack:///@servicenow/now-icon/src/icons/gridDistributeContentSpaceEvenly.js","webpack:///@servicenow/now-icon/src/icons/gridDistributeContentStretch.js","webpack:///@servicenow/now-icon/src/icons/gridDistributeContentTop.js","webpack:///@servicenow/now-icon/src/icons/gridFour.js","webpack:///@servicenow/now-icon/src/icons/gridJustifyContentCenter.js","webpack:///@servicenow/now-icon/src/icons/gridJustifyContentLeft.js","webpack:///@servicenow/now-icon/src/icons/gridJustifyContentRight.js","webpack:///@servicenow/now-icon/src/icons/gridJustifyContentSpaceAround.js","webpack:///@servicenow/now-icon/src/icons/gridJustifyContentSpaceBetween.js","webpack:///@servicenow/now-icon/src/icons/gridJustifyContentSpaceEvenly.js","webpack:///@servicenow/now-icon/src/icons/gridJustifyContentStretch.js","webpack:///@servicenow/now-icon/src/icons/gridJustifyItemsBaseline.js","webpack:///@servicenow/now-icon/src/icons/gridJustifyItemsCenter.js","webpack:///@servicenow/now-icon/src/icons/gridJustifyItemsLeft.js","webpack:///@servicenow/now-icon/src/icons/gridJustifyItemsRight.js","webpack:///@servicenow/now-icon/src/icons/gridJustifyItemsStretch.js","webpack:///@servicenow/now-icon/src/icons/gridThree.js","webpack:///@servicenow/now-icon/src/icons/gridVertical.js","webpack:///@servicenow/now-icon/src/icons/groupLines.js","webpack:///@servicenow/now-icon/src/icons/hammerCode.js","webpack:///@servicenow/now-icon/src/icons/hammerJson.js","webpack:///@servicenow/now-icon/src/icons/hammerPayload.js","webpack:///@servicenow/now-icon/src/icons/handGear.js","webpack:///@servicenow/now-icon/src/icons/handshake.js","webpack:///@servicenow/now-icon/src/icons/harddrive.js","webpack:///@servicenow/now-icon/src/icons/heading1.js","webpack:///@servicenow/now-icon/src/icons/heading2.js","webpack:///@servicenow/now-icon/src/icons/heading3.js","webpack:///@servicenow/now-icon/src/icons/heading4.js","webpack:///@servicenow/now-icon/src/icons/headset.js","webpack:///@servicenow/now-icon/src/icons/healthScreening.js","webpack:///@servicenow/now-icon/src/icons/healthStatus.js","webpack:///@servicenow/now-icon/src/icons/heart.js","webpack:///@servicenow/now-icon/src/icons/heartbeat.js","webpack:///@servicenow/now-icon/src/icons/home.js","webpack:///@servicenow/now-icon/src/icons/hr.js","webpack:///@servicenow/now-icon/src/icons/id.js","webpack:///@servicenow/now-icon/src/icons/image.js","webpack:///@servicenow/now-icon/src/icons/imagePlus.js","webpack:///@servicenow/now-icon/src/icons/imageSlash.js","webpack:///@servicenow/now-icon/src/icons/images.js","webpack:///@servicenow/now-icon/src/icons/inbox.js","webpack:///@servicenow/now-icon/src/icons/inboxArchive.js","webpack:///@servicenow/now-icon/src/icons/inboxQueue.js","webpack:///@servicenow/now-icon/src/icons/indicatorCheck.js","webpack:///@servicenow/now-icon/src/icons/insertColumnLeft.js","webpack:///@servicenow/now-icon/src/icons/insertColumnRight.js","webpack:///@servicenow/now-icon/src/icons/insertRowAfter.js","webpack:///@servicenow/now-icon/src/icons/insertRowBefore.js","webpack:///@servicenow/now-icon/src/icons/instagram.js","webpack:///@servicenow/now-icon/src/icons/integer.js","webpack:///@servicenow/now-icon/src/icons/inventory.js","webpack:///@servicenow/now-icon/src/icons/inventoryCirclePlus.js","webpack:///@servicenow/now-icon/src/icons/isolation.js","webpack:///@servicenow/now-icon/src/icons/itemIndent.js","webpack:///@servicenow/now-icon/src/icons/itemUnindent.js","webpack:///@servicenow/now-icon/src/icons/journal.js","webpack:///@servicenow/now-icon/src/icons/journalList.js","webpack:///@servicenow/now-icon/src/icons/journalPencil.js","webpack:///@servicenow/now-icon/src/icons/key.js","webpack:///@servicenow/now-icon/src/icons/keyboard.js","webpack:///@servicenow/now-icon/src/icons/keys.js","webpack:///@servicenow/now-icon/src/icons/kpi.js","webpack:///@servicenow/now-icon/src/icons/label.js","webpack:///@servicenow/now-icon/src/icons/laptop.js","webpack:///@servicenow/now-icon/src/icons/laptopCheckUser.js","webpack:///@servicenow/now-icon/src/icons/layersMiddle.js","webpack:///@servicenow/now-icon/src/icons/layout.js","webpack:///@servicenow/now-icon/src/icons/letterAb.js","webpack:///@servicenow/now-icon/src/icons/letterAbBracket.js","webpack:///@servicenow/now-icon/src/icons/letterAs.js","webpack:///@servicenow/now-icon/src/icons/lifesaver.js","webpack:///@servicenow/now-icon/src/icons/lightbulb.js","webpack:///@servicenow/now-icon/src/icons/lightning.js","webpack:///@servicenow/now-icon/src/icons/lightningSlash.js","webpack:///@servicenow/now-icon/src/icons/lineDiagonal.js","webpack:///@servicenow/now-icon/src/icons/link.js","webpack:///@servicenow/now-icon/src/icons/linkedin.js","webpack:///@servicenow/now-icon/src/icons/list.js","webpack:///@servicenow/now-icon/src/icons/listHide.js","webpack:///@servicenow/now-icon/src/icons/listKey.js","webpack:///@servicenow/now-icon/src/icons/listMarker.js","webpack:///@servicenow/now-icon/src/icons/listShow.js","webpack:///@servicenow/now-icon/src/icons/liveFeed.js","webpack:///@servicenow/now-icon/src/icons/liveFeedVertical.js","webpack:///@servicenow/now-icon/src/icons/loader.js","webpack:///@servicenow/now-icon/src/icons/lock.js","webpack:///@servicenow/now-icon/src/icons/longArrowLeft.js","webpack:///@servicenow/now-icon/src/icons/longArrowRight.js","webpack:///@servicenow/now-icon/src/icons/magic.js","webpack:///@servicenow/now-icon/src/icons/magicSlash.js","webpack:///@servicenow/now-icon/src/icons/magnifyingGlass.js","webpack:///@servicenow/now-icon/src/icons/magnifyingGlassAiSparkle.js","webpack:///@servicenow/now-icon/src/icons/magnifyingGlassCheck.js","webpack:///@servicenow/now-icon/src/icons/magnifyingGlassFilter.js","webpack:///@servicenow/now-icon/src/icons/magnifyingGlassMinus.js","webpack:///@servicenow/now-icon/src/icons/magnifyingGlassPlus.js","webpack:///@servicenow/now-icon/src/icons/map.js","webpack:///@servicenow/now-icon/src/icons/mapDirection.js","webpack:///@servicenow/now-icon/src/icons/mapPin.js","webpack:///@servicenow/now-icon/src/icons/mapPins.js","webpack:///@servicenow/now-icon/src/icons/marker.js","webpack:///@servicenow/now-icon/src/icons/market.js","webpack:///@servicenow/now-icon/src/icons/maximize.js","webpack:///@servicenow/now-icon/src/icons/mediaBack.js","webpack:///@servicenow/now-icon/src/icons/mediaNext.js","webpack:///@servicenow/now-icon/src/icons/megaphone.js","webpack:///@servicenow/now-icon/src/icons/mention.js","webpack:///@servicenow/now-icon/src/icons/menu.js","webpack:///@servicenow/now-icon/src/icons/microphone.js","webpack:///@servicenow/now-icon/src/icons/microphoneSlash.js","webpack:///@servicenow/now-icon/src/icons/microsoftTeams.js","webpack:///@servicenow/now-icon/src/icons/minimize.js","webpack:///@servicenow/now-icon/src/icons/minus.js","webpack:///@servicenow/now-icon/src/icons/minusVertical.js","webpack:///@servicenow/now-icon/src/icons/modal.js","webpack:///@servicenow/now-icon/src/icons/modelessDialog.js","webpack:///@servicenow/now-icon/src/icons/monitor.js","webpack:///@servicenow/now-icon/src/icons/monitorExclamation.js","webpack:///@servicenow/now-icon/src/icons/moon.js","webpack:///@servicenow/now-icon/src/icons/moveItemDown.js","webpack:///@servicenow/now-icon/src/icons/moveItemLeft.js","webpack:///@servicenow/now-icon/src/icons/moveItemRight.js","webpack:///@servicenow/now-icon/src/icons/moveItemUp.js","webpack:///@servicenow/now-icon/src/icons/moveLinkLeft.js","webpack:///@servicenow/now-icon/src/icons/moveLinkRight.js","webpack:///@servicenow/now-icon/src/icons/new.js","webpack:///@servicenow/now-icon/src/icons/news.js","webpack:///@servicenow/now-icon/src/icons/note.js","webpack:///@servicenow/now-icon/src/icons/number.js","webpack:///@servicenow/now-icon/src/icons/numberedList.js","webpack:///@servicenow/now-icon/src/icons/officialVerification.js","webpack:///@servicenow/now-icon/src/icons/okta.js","webpack:///@servicenow/now-icon/src/icons/ongoing.js","webpack:///@servicenow/now-icon/src/icons/openLinkLeft.js","webpack:///@servicenow/now-icon/src/icons/openLinkRight.js","webpack:///@servicenow/now-icon/src/icons/optionKey.js","webpack:///@servicenow/now-icon/src/icons/outagePast.js","webpack:///@servicenow/now-icon/src/icons/outagePlanned.js","webpack:///@servicenow/now-icon/src/icons/packageSearch.js","webpack:///@servicenow/now-icon/src/icons/palette.js","webpack:///@servicenow/now-icon/src/icons/panelDisplayBottom.js","webpack:///@servicenow/now-icon/src/icons/panelDisplayLeft.js","webpack:///@servicenow/now-icon/src/icons/panelDisplayLeftCollapse.js","webpack:///@servicenow/now-icon/src/icons/panelDisplayLeftExpand.js","webpack:///@servicenow/now-icon/src/icons/panelDisplayMiddle.js","webpack:///@servicenow/now-icon/src/icons/panelDisplayPopout.js","webpack:///@servicenow/now-icon/src/icons/panelDisplayRight.js","webpack:///@servicenow/now-icon/src/icons/panelDisplayRightCollapse.js","webpack:///@servicenow/now-icon/src/icons/panelDisplayRightExpand.js","webpack:///@servicenow/now-icon/src/icons/paperclip.js","webpack:///@servicenow/now-icon/src/icons/pause.js","webpack:///@servicenow/now-icon/src/icons/pencil.js","webpack:///@servicenow/now-icon/src/icons/pencilPage.js","webpack:///@servicenow/now-icon/src/icons/percentage.js","webpack:///@servicenow/now-icon/src/icons/phone.js","webpack:///@servicenow/now-icon/src/icons/phoneArrowsSwap.js","webpack:///@servicenow/now-icon/src/icons/phoneClose.js","webpack:///@servicenow/now-icon/src/icons/phoneDown.js","webpack:///@servicenow/now-icon/src/icons/phoneIncoming.js","webpack:///@servicenow/now-icon/src/icons/phoneKeypad.js","webpack:///@servicenow/now-icon/src/icons/phoneOutgoing.js","webpack:///@servicenow/now-icon/src/icons/phonePause.js","webpack:///@servicenow/now-icon/src/icons/phonePlay.js","webpack:///@servicenow/now-icon/src/icons/phoneSlash.js","webpack:///@servicenow/now-icon/src/icons/phoneUser.js","webpack:///@servicenow/now-icon/src/icons/pilcrow.js","webpack:///@servicenow/now-icon/src/icons/pinterest.js","webpack:///@servicenow/now-icon/src/icons/play.js","webpack:///@servicenow/now-icon/src/icons/playbook.js","webpack:///@servicenow/now-icon/src/icons/plug.js","webpack:///@servicenow/now-icon/src/icons/plugSlash.js","webpack:///@servicenow/now-icon/src/icons/plus.js","webpack:///@servicenow/now-icon/src/icons/popIn.js","webpack:///@servicenow/now-icon/src/icons/power.js","webpack:///@servicenow/now-icon/src/icons/presence.js","webpack:///@servicenow/now-icon/src/icons/presenceAvailable.js","webpack:///@servicenow/now-icon/src/icons/presenceAway.js","webpack:///@servicenow/now-icon/src/icons/presenceBusy.js","webpack:///@servicenow/now-icon/src/icons/presenceOffline.js","webpack:///@servicenow/now-icon/src/icons/printer.js","webpack:///@servicenow/now-icon/src/icons/processBlocks.js","webpack:///@servicenow/now-icon/src/icons/publish.js","webpack:///@servicenow/now-icon/src/icons/puzzle.js","webpack:///@servicenow/now-icon/src/icons/qrCode.js","webpack:///@servicenow/now-icon/src/icons/quadrantChartBubble.js","webpack:///@servicenow/now-icon/src/icons/quoteLeft.js","webpack:///@servicenow/now-icon/src/icons/quoteRight.js","webpack:///@servicenow/now-icon/src/icons/radioAbcScale.js","webpack:///@servicenow/now-icon/src/icons/radioButton.js","webpack:///@servicenow/now-icon/src/icons/radioNumericScale.js","webpack:///@servicenow/now-icon/src/icons/ramp.js","webpack:///@servicenow/now-icon/src/icons/recordActivity.js","webpack:///@servicenow/now-icon/src/icons/recordActivityDetails.js","webpack:///@servicenow/now-icon/src/icons/recordActivityStream.js","webpack:///@servicenow/now-icon/src/icons/recordActivityStreamVertical.js","webpack:///@servicenow/now-icon/src/icons/rectangleArrowDown.js","webpack:///@servicenow/now-icon/src/icons/rectangleSearch.js","webpack:///@servicenow/now-icon/src/icons/rectangleSpeedometer.js","webpack:///@servicenow/now-icon/src/icons/redoBottom.js","webpack:///@servicenow/now-icon/src/icons/redoTop.js","webpack:///@servicenow/now-icon/src/icons/regularExpression.js","webpack:///@servicenow/now-icon/src/icons/relatedList.js","webpack:///@servicenow/now-icon/src/icons/replace.js","webpack:///@servicenow/now-icon/src/icons/replaceAll.js","webpack:///@servicenow/now-icon/src/icons/reply.js","webpack:///@servicenow/now-icon/src/icons/reservation.js","webpack:///@servicenow/now-icon/src/icons/restroom.js","webpack:///@servicenow/now-icon/src/icons/roadmap.js","webpack:///@servicenow/now-icon/src/icons/rocketship.js","webpack:///@servicenow/now-icon/src/icons/rotateClockwise.js","webpack:///@servicenow/now-icon/src/icons/rotateCounterClockwise.js","webpack:///@servicenow/now-icon/src/icons/rssFeed.js","webpack:///@servicenow/now-icon/src/icons/save.js","webpack:///@servicenow/now-icon/src/icons/scanner.js","webpack:///@servicenow/now-icon/src/icons/scissor.js","webpack:///@servicenow/now-icon/src/icons/score.js","webpack:///@servicenow/now-icon/src/icons/scoreList.js","webpack:///@servicenow/now-icon/src/icons/scoreListLightning.js","webpack:///@servicenow/now-icon/src/icons/script.js","webpack:///@servicenow/now-icon/src/icons/scriptCheck.js","webpack:///@servicenow/now-icon/src/icons/scriptCursor.js","webpack:///@servicenow/now-icon/src/icons/scriptDiamond.js","webpack:///@servicenow/now-icon/src/icons/selectAll.js","webpack:///@servicenow/now-icon/src/icons/selectElement.js","webpack:///@servicenow/now-icon/src/icons/send.js","webpack:///@servicenow/now-icon/src/icons/separate.js","webpack:///@servicenow/now-icon/src/icons/serverbox.js","webpack:///@servicenow/now-icon/src/icons/serverboxApplication.js","webpack:///@servicenow/now-icon/src/icons/serverboxClock.js","webpack:///@servicenow/now-icon/src/icons/serverboxCloud.js","webpack:///@servicenow/now-icon/src/icons/serverboxCluster.js","webpack:///@servicenow/now-icon/src/icons/serverboxDatabase.js","webpack:///@servicenow/now-icon/src/icons/serverboxEmail.js","webpack:///@servicenow/now-icon/src/icons/serverboxHealth.js","webpack:///@servicenow/now-icon/src/icons/serverboxJava.js","webpack:///@servicenow/now-icon/src/icons/shapes.js","webpack:///@servicenow/now-icon/src/icons/share.js","webpack:///@servicenow/now-icon/src/icons/shareIos.js","webpack:///@servicenow/now-icon/src/icons/shield.js","webpack:///@servicenow/now-icon/src/icons/shieldCheck.js","webpack:///@servicenow/now-icon/src/icons/shieldCircleCheckmark.js","webpack:///@servicenow/now-icon/src/icons/shieldClose.js","webpack:///@servicenow/now-icon/src/icons/shieldCrack.js","webpack:///@servicenow/now-icon/src/icons/shoppingCart.js","webpack:///@servicenow/now-icon/src/icons/shoppingCartFull.js","webpack:///@servicenow/now-icon/src/icons/shoppingCartSlash.js","webpack:///@servicenow/now-icon/src/icons/signal.js","webpack:///@servicenow/now-icon/src/icons/signalLive.js","webpack:///@servicenow/now-icon/src/icons/size.js","webpack:///@servicenow/now-icon/src/icons/slack.js","webpack:///@servicenow/now-icon/src/icons/sliders.js","webpack:///@servicenow/now-icon/src/icons/slidersVertical.js","webpack:///@servicenow/now-icon/src/icons/smoke.js","webpack:///@servicenow/now-icon/src/icons/sortAscending.js","webpack:///@servicenow/now-icon/src/icons/sortDescending.js","webpack:///@servicenow/now-icon/src/icons/speaker.js","webpack:///@servicenow/now-icon/src/icons/spellCheck.js","webpack:///@servicenow/now-icon/src/icons/splitVertical.js","webpack:///@servicenow/now-icon/src/icons/spokes.js","webpack:///@servicenow/now-icon/src/icons/square.js","webpack:///@servicenow/now-icon/src/icons/squareArrowDown.js","webpack:///@servicenow/now-icon/src/icons/squareArrowLeft.js","webpack:///@servicenow/now-icon/src/icons/squareArrowRight.js","webpack:///@servicenow/now-icon/src/icons/squareArrowUp.js","webpack:///@servicenow/now-icon/src/icons/squareArrowUpLeft.js","webpack:///@servicenow/now-icon/src/icons/squareArrowUpRight.js","webpack:///@servicenow/now-icon/src/icons/squareC.js","webpack:///@servicenow/now-icon/src/icons/squareClose.js","webpack:///@servicenow/now-icon/src/icons/squareCurlyBracket.js","webpack:///@servicenow/now-icon/src/icons/squareDashed.js","webpack:///@servicenow/now-icon/src/icons/squareI.js","webpack:///@servicenow/now-icon/src/icons/squareLoop.js","webpack:///@servicenow/now-icon/src/icons/squareP.js","webpack:///@servicenow/now-icon/src/icons/squareQuestion.js","webpack:///@servicenow/now-icon/src/icons/squareS.js","webpack:///@servicenow/now-icon/src/icons/squareShare.js","webpack:///@servicenow/now-icon/src/icons/stairs.js","webpack:///@servicenow/now-icon/src/icons/star.js","webpack:///@servicenow/now-icon/src/icons/status.js","webpack:///@servicenow/now-icon/src/icons/stop.js","webpack:///@servicenow/now-icon/src/icons/stopwatch.js","webpack:///@servicenow/now-icon/src/icons/streamAllInput.js","webpack:///@servicenow/now-icon/src/icons/streamOneInput.js","webpack:///@servicenow/now-icon/src/icons/strikethrough.js","webpack:///@servicenow/now-icon/src/icons/sun.js","webpack:///@servicenow/now-icon/src/icons/sunChevronDown.js","webpack:///@servicenow/now-icon/src/icons/sunChevronUp.js","webpack:///@servicenow/now-icon/src/icons/sync.js","webpack:///@servicenow/now-icon/src/icons/syncPlay.js","webpack:///@servicenow/now-icon/src/icons/syntaxCheck.js","webpack:///@servicenow/now-icon/src/icons/syntaxPencil.js","webpack:///@servicenow/now-icon/src/icons/table.js","webpack:///@servicenow/now-icon/src/icons/tableDiamond.js","webpack:///@servicenow/now-icon/src/icons/tableGrid.js","webpack:///@servicenow/now-icon/src/icons/tableSearch.js","webpack:///@servicenow/now-icon/src/icons/tablet.js","webpack:///@servicenow/now-icon/src/icons/tabset.js","webpack:///@servicenow/now-icon/src/icons/tag.js","webpack:///@servicenow/now-icon/src/icons/tagDetail.js","webpack:///@servicenow/now-icon/src/icons/tagDot.js","webpack:///@servicenow/now-icon/src/icons/tags.js","webpack:///@servicenow/now-icon/src/icons/target.js","webpack:///@servicenow/now-icon/src/icons/text.js","webpack:///@servicenow/now-icon/src/icons/textBold.js","webpack:///@servicenow/now-icon/src/icons/textDiamond.js","webpack:///@servicenow/now-icon/src/icons/textIndent.js","webpack:///@servicenow/now-icon/src/icons/textItalic.js","webpack:///@servicenow/now-icon/src/icons/textStyleAdd.js","webpack:///@servicenow/now-icon/src/icons/textStyleClear.js","webpack:///@servicenow/now-icon/src/icons/textType.js","webpack:///@servicenow/now-icon/src/icons/textUnderline.js","webpack:///@servicenow/now-icon/src/icons/textUnindent.js","webpack:///@servicenow/now-icon/src/icons/textUtf8.js","webpack:///@servicenow/now-icon/src/icons/textX.js","webpack:///@servicenow/now-icon/src/icons/thickArrowUp.js","webpack:///@servicenow/now-icon/src/icons/thresholdBar.js","webpack:///@servicenow/now-icon/src/icons/thumbsDown.js","webpack:///@servicenow/now-icon/src/icons/thumbsUp.js","webpack:///@servicenow/now-icon/src/icons/thumbtack.js","webpack:///@servicenow/now-icon/src/icons/thumbtackSlash.js","webpack:///@servicenow/now-icon/src/icons/ticket.js","webpack:///@servicenow/now-icon/src/icons/ticketPlus.js","webpack:///@servicenow/now-icon/src/icons/timeline.js","webpack:///@servicenow/now-icon/src/icons/today.js","webpack:///@servicenow/now-icon/src/icons/todayDashed.js","webpack:///@servicenow/now-icon/src/icons/toggle.js","webpack:///@servicenow/now-icon/src/icons/toolbox.js","webpack:///@servicenow/now-icon/src/icons/translatedHtml.js","webpack:///@servicenow/now-icon/src/icons/translatedText.js","webpack:///@servicenow/now-icon/src/icons/trash.js","webpack:///@servicenow/now-icon/src/icons/tree.js","webpack:///@servicenow/now-icon/src/icons/treeCode.js","webpack:///@servicenow/now-icon/src/icons/treeConditions.js","webpack:///@servicenow/now-icon/src/icons/treeFlow.js","webpack:///@servicenow/now-icon/src/icons/treeFlowAiSparkle.js","webpack:///@servicenow/now-icon/src/icons/treeJson.js","webpack:///@servicenow/now-icon/src/icons/treeSelected.js","webpack:///@servicenow/now-icon/src/icons/treeSubflow.js","webpack:///@servicenow/now-icon/src/icons/treeViewLong.js","webpack:///@servicenow/now-icon/src/icons/treeViewShort.js","webpack:///@servicenow/now-icon/src/icons/treeWorkflow.js","webpack:///@servicenow/now-icon/src/icons/triangleExclamation.js","webpack:///@servicenow/now-icon/src/icons/tumblr.js","webpack:///@servicenow/now-icon/src/icons/twilio.js","webpack:///@servicenow/now-icon/src/icons/twitter.js","webpack:///@servicenow/now-icon/src/icons/unbind.js","webpack:///@servicenow/now-icon/src/icons/undoBottom.js","webpack:///@servicenow/now-icon/src/icons/undoTop.js","webpack:///@servicenow/now-icon/src/icons/unlink.js","webpack:///@servicenow/now-icon/src/icons/unlock.js","webpack:///@servicenow/now-icon/src/icons/upload.js","webpack:///@servicenow/now-icon/src/icons/user.js","webpack:///@servicenow/now-icon/src/icons/userClipboard.js","webpack:///@servicenow/now-icon/src/icons/userClock.js","webpack:///@servicenow/now-icon/src/icons/userEscalation.js","webpack:///@servicenow/now-icon/src/icons/userFeed.js","webpack:///@servicenow/now-icon/src/icons/userGroup.js","webpack:///@servicenow/now-icon/src/icons/userMinus.js","webpack:///@servicenow/now-icon/src/icons/userPlus.js","webpack:///@servicenow/now-icon/src/icons/userTag.js","webpack:///@servicenow/now-icon/src/icons/userTransfer.js","webpack:///@servicenow/now-icon/src/icons/userTriangleExclamation.js","webpack:///@servicenow/now-icon/src/icons/userVerify.js","webpack:///@servicenow/now-icon/src/icons/userWheelchair.js","webpack:///@servicenow/now-icon/src/icons/vacation.js","webpack:///@servicenow/now-icon/src/icons/vaccineCheck.js","webpack:///@servicenow/now-icon/src/icons/vehicleAirplane.js","webpack:///@servicenow/now-icon/src/icons/vehicleBoat.js","webpack:///@servicenow/now-icon/src/icons/vehicleForklift.js","webpack:///@servicenow/now-icon/src/icons/vehicleRail.js","webpack:///@servicenow/now-icon/src/icons/vehicleTruck.js","webpack:///@servicenow/now-icon/src/icons/vennEmpty.js","webpack:///@servicenow/now-icon/src/icons/vennIntersection.js","webpack:///@servicenow/now-icon/src/icons/vennLeft.js","webpack:///@servicenow/now-icon/src/icons/vennRight.js","webpack:///@servicenow/now-icon/src/icons/vennUnion.js","webpack:///@servicenow/now-icon/src/icons/video.js","webpack:///@servicenow/now-icon/src/icons/videoChat.js","webpack:///@servicenow/now-icon/src/icons/videoPlus.js","webpack:///@servicenow/now-icon/src/icons/videoSlash.js","webpack:///@servicenow/now-icon/src/icons/vizDesigner.js","webpack:///@servicenow/now-icon/src/icons/voicemail.js","webpack:///@servicenow/now-icon/src/icons/walk.js","webpack:///@servicenow/now-icon/src/icons/window.js","webpack:///@servicenow/now-icon/src/icons/windowCirclePlus.js","webpack:///@servicenow/now-icon/src/icons/windowCode.js","webpack:///@servicenow/now-icon/src/icons/windowDatabase.js","webpack:///@servicenow/now-icon/src/icons/windowDialog.js","webpack:///@servicenow/now-icon/src/icons/windowGlobe.js","webpack:///@servicenow/now-icon/src/icons/windowInfo.js","webpack:///@servicenow/now-icon/src/icons/windows.js","webpack:///@servicenow/now-icon/src/icons/wishlist.js","webpack:///@servicenow/now-icon/src/icons/workNote.js","webpack:///@servicenow/now-icon/src/icons/workNoteTriangleExclamation.js","webpack:///@servicenow/now-icon/src/icons/workflow.js","webpack:///@servicenow/now-icon/src/icons/workflowApprovalAction.js","webpack:///@servicenow/now-icon/src/icons/workflowOnHold.js","webpack:///@servicenow/now-icon/src/icons/workflowSkip.js","webpack:///@servicenow/now-icon/src/icons/wrench.js","webpack:///@servicenow/now-icon/src/icons/wrenchPencil.js","webpack:///@servicenow/now-icon/src/icons/youtube.js","webpack:///@servicenow/now-icon/src/icons/zoom.js","webpack:///@servicenow/now-icon/src/utils/import-icon-set.js","webpack:///@servicenow/now-icon/src/utils/cache.js","webpack:///@servicenow/now-icon/src/utils/maps.js","webpack:///@servicenow/now-icon/src/utils/decode-icon.js","webpack:///@servicenow/now-icon/src/now-icon.js","webpack:///@servicenow/now-icon/src/utils/localize-presence.js","webpack:///@servicenow/now-icon/src/now-icon-presence.js","webpack:///@servicenow/now-icon/src/index.js","webpack:///@servicenow/now-input/src/form-field/render-form-field-messages.js","webpack:///@servicenow/now-input/src/form-field/render-form-field-label.js","webpack:///@servicenow/now-input/src/utils/helper.js","webpack:///@servicenow/now-input/src/schemas/messages-schema.js","webpack:///@servicenow/now-input/src/utils/ipaddress.js","webpack:///@servicenow/now-input/src/schemas/field-layout-schema.js","webpack:///@servicenow/now-input/src/now-input.js","webpack:///@servicenow/now-input/src/now-input-password.js","webpack:///@servicenow/now-input/src/now-input-phone.js","webpack:///@servicenow/now-input/src/now-input-url.js","webpack:///@servicenow/now-input/src/index.js","webpack:///@servicenow/now-legacy-icon/src/custom-packs/fasn.js","webpack:///@servicenow/now-list/src/now-list/constants.js","webpack:///@servicenow/now-list/src/now-list/shared/constants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/actionableMessage/constants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/currency/currencyConstants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/dateTime/constants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/fieldConstants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/icon/iconConstants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/number/constants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/pills/constants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/url/urlConstants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/url/urlTranslatedConstants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/constants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableBody/tableRow/rowCell/personCellType/personCellConstants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableBody/tableRow/rowCell/pillsCellType/pillsCellConstants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableBody/tableRow/rowCell/rowCellConstants.js","webpack:///@servicenow/now-list/src/now-list/typeSchemas/columnDefinitions/alignmentTypes/alignmentTypes.js","webpack:///@servicenow/now-list/src/now-list/typeSchemas/columnDefinitions/columnDefinitions.js","webpack:///@servicenow/now-list/src/now-list/typeSchemas/columnDefinitions/columnTypes/columnTypes.js","webpack:///@servicenow/now-list/src/now-list/typeSchemas/columnDefinitions/columnTypes/typeSpecificSchemas.js","webpack:///@servicenow/now-list/src/now-list/typeSchemas/columnDefinitions/galleryConfig/galleryConfig.js","webpack:///@servicenow/now-list/src/now-list/typeSchemas/columnDefinitions/sortTypes/sortTypes.js","webpack:///@servicenow/now-list/src/now-list/typeSchemas/overlayDefinition/defaultOverlaysConfigConsts.js","webpack:///@servicenow/now-list/src/now-list/typeSchemas/overlayDefinition/overlayConfigConsts.js","webpack:///@servicenow/now-list/src/now-list/typeSchemas/overlayDefinition/overlayDefinition.js","webpack:///@servicenow/now-list/src/now-list/typeSchemas/popoverDefinition/popoverDefinition.js","webpack:///@servicenow/now-list/src/now-list/typeSchemas/rowDefinitions/rowAlignments/rowAlignment.js","webpack:///@servicenow/now-list/src/now-list/typeSchemas/rowDefinitions/rowConfigConsts.js","webpack:///@servicenow/now-list/src/now-list/typeSchemas/rowDefinitions/rowDefinitions.js","webpack:///@servicenow/now-list/src/now-list/typeSchemas/rowDefinitions/rowTypes/rowTypes.js","webpack:///@servicenow/now-loader/src/utils/helper.js","webpack:///@servicenow/now-loader/src/now-loader.js","webpack:///@servicenow/now-animation/src/now-animation.js","webpack:///@servicenow/now-animation/src/utils/index.js","webpack:///@servicenow/now-animation/src/utils/theme-animation.js","webpack:///@servicenow/now-loader/src/now-loader-custom.js","webpack:///@servicenow/now-loader/src/now-loader-skeleton.js","webpack:///@servicenow/now-loader/src/index.js","webpack:///@servicenow/now-popover/src/utils/tail.js","webpack:///@servicenow/now-popover/src/utils/dom.js","webpack:///@servicenow/now-popover/src/utils/global-event-listener.js","webpack:///@servicenow/now-popover/src/utils/observer.js","webpack:///@servicenow/now-popover/src/utils/scroll-listener.js","webpack:///@servicenow/now-popover/src/now-popover.js","webpack:///@servicenow/now-popover/src/now-popover-panel.js","webpack:///@servicenow/now-popover/src/index.js","webpack:///@servicenow/now-progress-bar/src/now-progress-bar.js","webpack:///@servicenow/now-progress-bar/src/index.js","webpack:///@servicenow/now-radio-buttons/src/now-radio-buttons.js","webpack:///@servicenow/now-radio-buttons/src/index.js","webpack:///@servicenow/now-illustration/src/maps.js","webpack:///@servicenow/now-illustration/src/themeable-illustration/index.js","webpack:///@servicenow/now-illustration/src/utils/shared-effect-http.js","webpack:///@servicenow/now-illustration/src/now-illustration.js","webpack:///@servicenow/now-illustration/src/now-illustration-custom.js","webpack:///@servicenow/now-illustration/src/index.js","webpack:///@servicenow/now-message/src/now-message.js","webpack:///@servicenow/now-message/src/index.js","webpack:///@servicenow/now-template-message/src/now-template-message-empty-state.js","webpack:///@servicenow/now-template-message/src/index.js","webpack:///@servicenow/now-text-link/src/now-text-link.js","webpack:///@servicenow/now-text-link/src/index.js","webpack:///@servicenow/now-textarea/src/utils/helper.js","webpack:///@servicenow/now-textarea/src/now-textarea.js","webpack:///@servicenow/now-textarea/src/index.js","webpack:///@servicenow/now-tooltip/src/utils/dom.js","webpack:///@servicenow/now-tooltip/src/now-tooltip.js","webpack:///@servicenow/now-tooltip/src/utils/scroll-listener.js","webpack:///@servicenow/now-tooltip/src/index.js","webpack:///@servicenow/now-tooltip/src/scheduler/store.js","webpack:///@servicenow/now-tooltip/src/scheduler/index.js","webpack:///@servicenow/ui-analytics-core/src/tctx.js","webpack:///@servicenow/ui-analytics-core/src/config.js","webpack:///@servicenow/ui-analytics-core/src/attributes.js","webpack:///@servicenow/ui-analytics-core/src/traceparent.js","webpack:///@servicenow/ui-analytics-core/src/user.js","webpack:///@servicenow/ui-analytics-core/src/page.js","webpack:///@servicenow/ui-analytics-core/src/application.js","webpack:///@servicenow/ui-analytics-core/src/getItemMetadata.js","webpack:///@servicenow/ui-analytics-core/src/spanKind.js","webpack:///@servicenow/ui-analytics-core/src/constants.js","webpack:///@servicenow/ui-analytics-core/src/createTracer.js","webpack:///@servicenow/ui-analytics-core/src/createTracker.js","webpack:///@servicenow/ui-analytics-core/src/createMetrics.js","webpack:///@servicenow/ui-analytics-core/src/initInteractionsTracker.js","webpack:///@servicenow/ui-analytics-core/src/observers.js","webpack:///@servicenow/ui-analytics-core/src/queuedEvents.js","webpack:///@servicenow/ui-analytics-core/src/exporter.js","webpack:///@servicenow/ui-analytics-core/src/traceUtils.js","webpack:///@servicenow/ui-analytics-api/src/index.js","webpack:///@servicenow/ui-analytics-core/src/createAnalyticsApi.js","webpack:///../src/constants.js","webpack:///../src/stats.js","webpack:///../../src/scheduler/queue.js","webpack:///../../src/scheduler/metrics.js","webpack:///../../src/scheduler/index.js","webpack:///../src/log.js","webpack:///../src/whenComponentIsIdle.js","webpack:///../../../src/utils/schema/ajv.js","webpack:///../../../src/utils/schema/getComponentName.js","webpack:///../../../src/utils/schema/logValidationError.js","webpack:///../../../../src/utils/schema/validate/validateSchema.js","webpack:///../../../../src/utils/schema/build/buildActionPayloadValidator.js","webpack:///../../../../src/utils/schema/build/buildPropertiesValidator.js","webpack:///../src/symbols.js","webpack:///../../src/utils/getHostVariables.js","webpack:///../../../src/utils/config/createInterceptors.js","webpack:///../../../src/utils/config/normalizeModifiers.js","webpack:///../../../src/utils/config/normalizeActionHandler.js","webpack:///../../../src/actions/utils/appendToPayload.js","webpack:///../../src/utils/assertValidPropertyNames.js","webpack:///../../src/utils/resolveProperties.js","webpack:///../src/defaults.js","webpack:///../src/index.js","webpack:///../../src/utils/toAttributeName.js","webpack:///../../src/property-selectors/isSelectableProperty.js","webpack:///../../src/property-selectors/createRemoveResolvedPropertyMapping.js","webpack:///../../src/property-selectors/resolveSelectedProperty.js","webpack:///../../src/property-selectors/resolveProviderSelectedProperty.js","webpack:///../../src/utils/getResolvedValue.js","webpack:///../../src/utils/shouldAddToResolvedPropertyMapping.js","webpack:///../../src/property-selectors/resolveSelectedProperties.js","webpack:///../../src/property-selectors/getSelectorParts.js","webpack:///../../src/property-selectors/isSelector.js","webpack:///../../src/property-selectors/unstableAddRenderOnPropertySelectorValueChange.js","webpack:///../../src/property-selectors/unstableRemoveRenderOnPropertySelectorValueChange.js","webpack:///../../src/property-selectors/index.js","webpack:///../../src/property-selectors/createAddResolvedPropertyMapping.js","webpack:///../../src/property-selectors/createAddMapping.js","webpack:///../../src/property-selectors/createRemoveMappings.js","webpack:///../../src/property-selectors/createGetAffected.js","webpack:///../../src/property-selectors/createGetComponentAffected.js","webpack:///../../src/property-selectors/createAddResolvedPropertyMappingWithKey.js","webpack:///../../src/property-selectors/createAddSelectablePropertyMapping.js","webpack:///../../src/property-selectors/resolvedMappingHasKey.js","webpack:///../../src/property-selectors/getResolvedPropertyValue.js","webpack:///../../src/utils/getInitialPropertyValue.js","webpack:///../../src/utils/filterPropertyDefinitions.js","webpack:///../../src/utils/createStyleFragment.js","webpack:///../../src/utils/reflectQueue.js","webpack:///../../src/utils/isComputedProperty.js","webpack:///../../src/utils/toPropertyName.js","webpack:///../../src/utils/isReadOnlyProperty.js","webpack:///../../src/utils/shouldSetAttribute.js","webpack:///../../src/utils/shouldSetProperty.js","webpack:///../../src/utils/beforeNextTick.js","webpack:///../../src/utils/measure.js","webpack:///../../src/utils/selectablePropertyResolver.js","webpack:///../../src/utils/triggerPropertyChangeAction.js","webpack:///../../src/utils/isPropToSkipRender.js","webpack:///../../src/utils/triggerComponentUpdates.js","webpack:///../../src/utils/updateSelectedPropertyMappings.js","webpack:///../../src/utils/createLifecycleFunctions.js","webpack:///../../src/utils/emitNowUiEvent.js","webpack:///../../src/utils/camelCaseProperties.js","webpack:///../../src/utils/unescapeReservedCharacters.js","webpack:///../../src/utils/isHoisted.js","webpack:///../../src/utils/getHoistTarget.js","webpack:///../../src/utils/getRootNode.js","webpack:///../../src/utils/normalizeActionMeta.js","webpack:///../../../src/utils/helpers/deferHelperExecution.js","webpack:///@devsnc/sn-ui-logger/dist/exporter/consoleLogExporter.js","webpack:///@devsnc/sn-ui-logger/dist/utils/index.js","webpack:///@devsnc/sn-ui-logger/dist/logQueue.js","webpack:///@devsnc/sn-ui-logger/dist/logger.js","webpack:///@devsnc/sn-ui-logger/dist/loggerProvider/loggerProvider.js","webpack:///../../../src/utils/helpers/createComponentLogger.js","webpack:///../../src/utils/applyMetrics.js","webpack:///../../src/utils/filterComputedProperties.js","webpack:///../../src/utils/computeProperty.js","webpack:///../../../src/utils/helpers/quickEquals.js","webpack:///../../src/utils/activeSpan.js","webpack:///../../src/utils/resolveComputedProperties.js","webpack:///../../src/utils/computeProperties.js","webpack:///../../src/utils/intersectionObserver.js","webpack:///../../src/utils/applyIntersectStyles.js","webpack:///../../../src/utils/operators/assign.js","webpack:///../../../src/utils/operators/merge.js","webpack:///../../../src/utils/operators/operations.js","webpack:///../../src/utils/shouldOptOutOfDeepCompareForPage.js","webpack:///../../src/utils/styleSheetsContentCache.js","webpack:///../../src/utils/styleSheetsRequestCache.js","webpack:///../../src/utils/resolveStylesheetsContent.js","webpack:///../../src/utils/markComponentInteractive.js","webpack:///../../src/utils/getAncestorNode.js","webpack:///../../src/utils/updateCustomElement.js","webpack:///../../src/utils/getSpanOptions.js","webpack:///../../../src/actions/utils/createMetaData.js","webpack:///../../../src/actions/utils/getComponentName.js","webpack:///../../../src/actions/utils/isInternalActionType.js","webpack:///../../../src/actions/utils/getInternalActionName.js","webpack:///../../../src/actions/utils/wrapDispatch.js","webpack:///../../../src/actions/utils/wasActionDispatchedByDescendant.js","webpack:///../../src/actions/customEventActionHandler.js","webpack:///../../../src/actions/utils/createEventActionDetails.js","webpack:///../../src/context/consumers.js","webpack:///../../src/context/contexts.js","webpack:///../../../../src/utils/schema/build/buildContextValidator.js","webpack:///../../src/context/createContext.js","webpack:///../../src/context/createContextProxy.js","webpack:///../../../src/effects/modifiers/hostMap.js","webpack:///../../../src/effects/modifiers/debounce.js","webpack:///../../../src/effects/modifiers/throttle.js","webpack:///../../../src/effects/modifiers/types.js","webpack:///../../src/effects/runEffect.js","webpack:///../../src/effects/effectRunner.js","webpack:///../../../src/effects/modifiers/getTargetElement.js","webpack:///../../../src/effects/modifiers/takeLatest.js","webpack:///../../src/actions/sandboxEffect.js","webpack:///../../src/actions/onActionHoisted.js","webpack:///../../src/actions/onAction.js","webpack:///../../src/actions/createContext.js","webpack:///../../../src/actions/utils/applyRuntimeActionHandlers.js","webpack:///../../../src/utils/config/lifeCycleFnsToHandlers.js","webpack:///../../../src/utils/config/mergeBehaviorInitialState.js","webpack:///../../../src/utils/config/mergeBehaviorProperties.js","webpack:///../../../src/utils/config/normalizeActionHandlers.js","webpack:///../../../src/utils/config/normalizeBehaviors.js","webpack:///../../../src/utils/config/getStopPropagation.js","webpack:///../../../src/utils/config/applyPayloadValidators.js","webpack:///../../../src/utils/config/mergeBehaviorActions.js","webpack:///../../../src/utils/config/getActionsToDispatch.js","webpack:///../../src/accessibility/ariaLiveRegion.js","webpack:///../../../src/utils/config/index.js","webpack:///../../../src/utils/config/normalizeBehaviorEventHandlers.js","webpack:///../../../src/utils/config/mergeEventActionHandlers.js","webpack:///../../../src/utils/config/mergeBehaviorActionHandlers.js","webpack:///../../../src/utils/config/mergeActions.js","webpack:///../../../src/utils/config/mergeLifeCycleActionHandlers.js","webpack:///../../../src/utils/parse/isValuePropertySelector.js","webpack:///../../../src/utils/parse/refProperty.js","webpack:///../../../src/utils/parse/types.js","webpack:///../../../src/utils/parse/parse.js","webpack:///../../../src/utils/parse/properties.js","webpack:///../../src/actions/customEventDispatcher.js","webpack:///../../src/actions/createDispatcher.js","webpack:///../../../src/actions/utils/skipForDetachedComponent.js","webpack:///../../../src/actions/utils/isStoreUpdate.js","webpack:///../../../src/actions/utils/isPropertyUpdate.js","webpack:///../../../src/actions/utils/validateActionPayload.js","webpack:///../../../src/actions/utils/hasActionHandlerForType.js","webpack:///../../src/actions/addActionHandlerForUnknownType.js","webpack:///../../src/actions/createConditionalDispatch.js","webpack:///../../src/actions/addActionHandlers.js","webpack:///../../src/actions/removeActionHandlers.js","webpack:///../src/common.js","webpack:///../src/scope.js","webpack:///../src/es5.js","webpack:///../src/proxy.js","webpack:///../src/patches.js","webpack:///../src/immer.js","webpack:///../../../src/utils/helpers/getStatePropsContext.js","webpack:///../../../src/utils/helpers/utils.js","webpack:///../../../src/utils/helpers/createUpdateState.js","webpack:///../../src/context/renderContextConsumers.js","webpack:///../../../src/utils/helpers/createUpdateContext.js","webpack:///../../../src/utils/helpers/createUpdateProperties.js","webpack:///../../../src/utils/helpers/createDispatch.js","webpack:///../../../src/utils/helpers/index.js","webpack:///../src/hoist.js","webpack:///../src/applyStyles.js","webpack:///../src/removeStyles.js","webpack:///../../src/shape-render-data/reflectProperties.js","webpack:///../../src/shape-render-data/index.js","webpack:///../../src/utils/updateResolvedSelectedPropertyMappings.js","webpack:///../../src/utils/updateResolvedValue.js","webpack:///../../src/utils/addResolvedSelectedPropertyMappingWithResolvedValue.js","webpack:///../../src/property-selectors/updatePropertiesWithSelector.js","webpack:///../src/createElementClass.js","webpack:///../../src/utils/resolveRenderer.js","webpack:///../../../src/utils/parse/property.js","webpack:///../../src/utils/isReflecting.js","webpack:///../../src/utils/clearReflection.js","webpack:///../../src/utils/resolveParentTraceId.js","webpack:///../../src/context/validateContext.js","webpack:///../../src/utils/createOnStateChangeArgs.js","webpack:///../../../../src/utils/schema/build/buildConfigValidator.js","webpack:///../src/validateConfig.js","webpack:///../src/createCustomElementFactory.js","webpack:///../../src/property-selectors/createUnstableResolvePropertySelectorValue.js","webpack:///../src/emitNowUiEvent.js","webpack:///../../src/configs/dev.js","webpack:///../../src/configs/prod.js","webpack:///../../src/configs/test.js","webpack:///../../src/configs/index.js","webpack:///../src/config.js","webpack:///../../src/config-embeddable/baseUrl.js","webpack:///../src/getAMBClient.js","webpack:///../../src/utils/createSubscriptionId.js","webpack:///../../src/utils/setInterval.js","webpack:///../src/createGarbageCollectorMap.js","webpack:///../src/ambSubscriptionEffect.js","webpack:///../../src/utils/createRegistryId.js","webpack:///../../src/utils/replaceChannelParameters.js","webpack:///../src/ambEventEffect.js","webpack:///../../src/utils/addDomainContextToGraphQLDocument.js","webpack:///../../src/utils/isSubscriptionResult.js","webpack:///../../src/utils/replaceQueryTemplateVariables.js","webpack:///tslib/2.8.1/tslib.es6.mjs","webpack:///graphql/16.8.1/jsutils/invariant.mjs","webpack:///graphql/16.8.1/language/location.mjs","webpack:///graphql/16.8.1/language/printLocation.mjs","webpack:///graphql/16.8.1/error/GraphQLError.mjs","webpack:///graphql/16.8.1/jsutils/isObjectLike.mjs","webpack:///graphql/16.8.1/error/syntaxError.mjs","webpack:///graphql/16.8.1/language/ast.mjs","webpack:///graphql/16.8.1/language/directiveLocation.mjs","webpack:///graphql/16.8.1/language/kinds.mjs","webpack:///graphql/16.8.1/language/tokenKind.mjs","webpack:///graphql/16.8.1/language/characterClasses.mjs","webpack:///graphql/16.8.1/language/blockString.mjs","webpack:///graphql/16.8.1/language/lexer.mjs","webpack:///graphql/16.8.1/jsutils/devAssert.mjs","webpack:///graphql/16.8.1/jsutils/inspect.mjs","webpack:///graphql/16.8.1/jsutils/instanceOf.mjs","webpack:///graphql/16.8.1/language/source.mjs","webpack:///graphql/16.8.1/language/parser.mjs","webpack:///../src/index.ts","webpack:///../../src/utils/graphQLDocument.js","webpack:///../../src/utils/addQueryNameToGraphQLDocument.js","webpack:///../../src/utils/getOperationName.js","webpack:///../../src/http/snHttp.js","webpack:///../../src/utils/getGlobalObject.js","webpack:///graphql/16.8.1/language/printString.mjs","webpack:///graphql/16.8.1/language/visitor.mjs","webpack:///graphql/16.8.1/language/printer.mjs","webpack:///../../src/http/documentToQueryString.js","webpack:///graphql/16.8.1/utilities/stripIgnoredCharacters.mjs","webpack:///../../src/http/shouldCache.js","webpack:///../../src/http/resultsCache.js","webpack:///../../src/utils/traceHelper.js","webpack:///../../src/http/createQueryBatcher.js","webpack:///../../src/http/sendRequest.js","webpack:///../../src/subscriptions/createRegistryId.js","webpack:///../../src/subscriptions/getAMBClient.js","webpack:///../../src/subscriptions/handleAMBSubscription.js","webpack:///../../src/subscriptions/handleGraphQLSubscription.js","webpack:///../../src/subscriptions/getChannelsFromSubscriptionQuery.js","webpack:///../src/queryContext.js","webpack:///../src/gqlEffect.js","webpack:///../../src/subscriptions/createSubscriptionId.js","webpack:///../src/createHttpErrorAction.js","webpack:///../src/resolveDomainContext.js","webpack:///../../src/cache/getUserSysId.js","webpack:///../../../src/cache/cachePolicies/lruCachePolicy.js","webpack:///../../src/cache/store.js","webpack:///../../src/cache/cache.js","webpack:///../src/isBatchingEnabled.js","webpack:///../src/snHttp.js","webpack:///../src/getGlobalObject.js","webpack:///../src/filterHeaders.js","webpack:///../src/sendRequest.js","webpack:///../src/replacePathParams.js","webpack:///../src/httpEffect.js","webpack:///../src/callAsync.js","webpack:///../../src/logHandler/constants.js","webpack:///../../src/logHandler/createLogContext.js","webpack:///../../src/logHandler/shouldLog.js","webpack:///../../src/logHandler/logObservers.js","webpack:///../../src/logHandler/observe.js","webpack:///../../src/logHandler/notifyLogObservers.js","webpack:///../../src/logHandler/index.js","webpack:///../src/createLogger.js","webpack:///../src/getHostInfo.js","webpack:///../src/memoizeProfiler.js","webpack:///../src/getSpanOptions.js","webpack:///../src/sandbox.js","webpack:///../src/guid.js","webpack:///../src/createAriaRef.js","webpack:///../../src/refs/isRef.js","webpack:///../../src/refs/createRef.js","webpack:///../../src/refs/subscribeToRef.js","webpack:///../src/pendingNetworkActionsRegistry.js","webpack:///../src/createInteractionId.js","webpack:///../src/applyInteractionId.js","webpack:///../src/validateMeta.js","webpack:///../src/getInteractionId.js","webpack:///../src/setInteractionId.js","webpack:///../src/validateSetInteractionIdArguments.js","webpack:///../src/levels.js","webpack:///../src/defineMetric.js","webpack:///../src/augmenters.js","webpack:///../src/marks.js","webpack:///../src/counters.js","webpack:///../src/shouldMark.js","webpack:///../src/observers.js","webpack:///../src/mark.js","webpack:///../src/resolveContext.js","webpack:///../src/augment.js","webpack:///../src/getMetricTypes.js","webpack:///../src/timingMetrics.js","webpack:///../src/metrics.js","webpack:///../src/clearMarks.js","webpack:///../src/getMarks.js","webpack:///../src/observe.js","webpack:///../src/addMarkAugmenter.js","webpack:///../../src/constants/index.js","webpack:///../../src/utils/formatProps.js","webpack:///../../src/utils/formatChildren.js","webpack:///../../src/package/vnode.ts","webpack:///../../src/package/is.ts","webpack:///../../src/package/htmldomapi.ts","webpack:///../../src/package/init.ts","webpack:///../../../src/package/modules/class.ts","webpack:///../../../src/package/modules/style.ts","webpack:///../../../src/package/modules/eventlisteners.ts","webpack:///../../../src/package/modules/attributes.ts","webpack:///../../../src/package/modules/dataset.ts","webpack:///../../src/modules/aria.js","webpack:///../../src/modules/ref.js","webpack:///../../src/modules/props.js","webpack:///../../src/utils/patch.js","webpack:///../../src/package/tovnode.ts","webpack:///../src/createElementFromNode.js","webpack:///../src/onStateChange.js","webpack:///../../src/package/h.ts","webpack:///../src/createElement.js","webpack:///../../src/utils/flat.js","webpack:///../../src/utils/validateProps.js","webpack:///../src/createSlot.js","webpack:///../src/dangerouslyCreateElementFromString.js","webpack:///../src/fragment.js","webpack:///../src/createElementFromString.js","webpack:///../src/onDisconnect.js","webpack:///../src/kebabCase.js","webpack:///../src/camelCase.js","webpack:///../src/toString.js","webpack:///../src/toLower.js","webpack:///../src/toUpper.js","webpack:///../src/memoize.js","webpack:///../src/findKey.js","webpack:///../src/splitPath.js","webpack:///../src/get.js","webpack:///../src/set.js","webpack:///../src/pick.js","webpack:///../src/omit.js","webpack:///../src/values.js","webpack:///../src/noop.js","webpack:///../src/isEqual.js","webpack:///../src/isSelectiveEqual.js","webpack:///../src/isPlainObject.js","webpack:///../src/isThrottled.js","webpack:///../src/nextTick.js","webpack:///../src/deferMetrics.js","webpack:///../src/defer.js","webpack:///../src/requestIdleCallback.js","webpack:///../src/whenIdle.js","webpack:///../src/raf.js","webpack:///../src/createSnHttp.js","webpack:///@sindresorhus/fnv1a/2.0.1/index.js","webpack:///@tectonic/jest-sdlc-reporter/29.4.12/src/SdlcReporter.js","webpack:///@tectonic/jest-sdlc-reporter/29.4.12/src/index.js","webpack:///@tectonic/test-api/29.4.12/module/constants.js","webpack:///@tectonic/test-api/29.4.12/module/setup-chai-axe/index.js","webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/getUrl.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///ajv/6.12.6/lib/ajv.js","webpack:///ajv/6.12.6/lib/cache.js","webpack:///ajv/6.12.6/lib/compile/async.js","webpack:///ajv/6.12.6/lib/compile/error_classes.js","webpack:///ajv/6.12.6/lib/compile/formats.js","webpack:///ajv/6.12.6/lib/compile/index.js","webpack:///ajv/6.12.6/lib/compile/resolve.js","webpack:///ajv/6.12.6/lib/compile/rules.js","webpack:///ajv/6.12.6/lib/compile/schema_obj.js","webpack:///ajv/6.12.6/lib/compile/ucs2length.js","webpack:///ajv/6.12.6/lib/compile/util.js","webpack:///ajv/6.12.6/lib/data.js","webpack:///ajv/6.12.6/lib/definition_schema.js","webpack:///ajv/6.12.6/lib/dotjs/_limit.js","webpack:///ajv/6.12.6/lib/dotjs/_limitItems.js","webpack:///ajv/6.12.6/lib/dotjs/_limitLength.js","webpack:///ajv/6.12.6/lib/dotjs/_limitProperties.js","webpack:///ajv/6.12.6/lib/dotjs/allOf.js","webpack:///ajv/6.12.6/lib/dotjs/anyOf.js","webpack:///ajv/6.12.6/lib/dotjs/comment.js","webpack:///ajv/6.12.6/lib/dotjs/const.js","webpack:///ajv/6.12.6/lib/dotjs/contains.js","webpack:///ajv/6.12.6/lib/dotjs/custom.js","webpack:///ajv/6.12.6/lib/dotjs/dependencies.js","webpack:///ajv/6.12.6/lib/dotjs/enum.js","webpack:///ajv/6.12.6/lib/dotjs/format.js","webpack:///ajv/6.12.6/lib/dotjs/if.js","webpack:///ajv/6.12.6/lib/dotjs/index.js","webpack:///ajv/6.12.6/lib/dotjs/items.js","webpack:///ajv/6.12.6/lib/dotjs/multipleOf.js","webpack:///ajv/6.12.6/lib/dotjs/not.js","webpack:///ajv/6.12.6/lib/dotjs/oneOf.js","webpack:///ajv/6.12.6/lib/dotjs/pattern.js","webpack:///ajv/6.12.6/lib/dotjs/properties.js","webpack:///ajv/6.12.6/lib/dotjs/propertyNames.js","webpack:///ajv/6.12.6/lib/dotjs/ref.js","webpack:///ajv/6.12.6/lib/dotjs/required.js","webpack:///ajv/6.12.6/lib/dotjs/uniqueItems.js","webpack:///ajv/6.12.6/lib/dotjs/validate.js","webpack:///ajv/6.12.6/lib/keyword.js","webpack:///amb-client-js/lib/amb.Channel.js","webpack:///amb-client-js/lib/amb.ChannelListener.js","webpack:///amb-client-js/lib/amb.ChannelRedirect.js","webpack:///amb-client-js/lib/amb.CrossClientChannel.js","webpack:///amb-client-js/lib/amb.EventManager.js","webpack:///amb-client-js/lib/amb.FunctionQueue.js","webpack:///amb-client-js/lib/amb.GraphQLSubscriptionExtension.js","webpack:///amb-client-js/lib/amb.Helper.js","webpack:///amb-client-js/lib/amb.Logger.js","webpack:///amb-client-js/lib/amb.MessageClient.js","webpack:///amb-client-js/lib/amb.MessageClientBuilder.js","webpack:///amb-client-js/lib/amb.Properties.js","webpack:///amb-client-js/lib/amb.ServerConnection.js","webpack:///amb-client-js/lib/amb.SessionExtension.js","webpack:///amb-client-js/lib/amb.SubscriptionCommandSender.js","webpack:///amb-client-js/lib/amb.TokenManagementExtension.js","webpack:///amb-client-js/lib/index.js","webpack:///assert/2.1.0/build/assert.js","webpack:///assert/2.1.0/build/internal/assert/assertion_error.js","webpack:///assert/2.1.0/build/internal/errors.js","webpack:///assert/2.1.0/build/internal/util/comparisons.js","webpack:///assertion-error/1.1.0/index.js","webpack:///auto-bind/4.0.0/index.js","webpack:///axe-core/4.11.4/axe.min.js","webpack:///base-64/1.0.0/base64.js","webpack:///base64-js/1.5.1/index.js","webpack:///blueimp-md5/2.19.0/js/md5.js","webpack:///browserify-zlib/0.2.0/lib/binding.js","webpack:///browserify-zlib/0.2.0/lib/index.js","webpack:///buffer/5.7.1/index.js","webpack:///builtin-status-codes/3.0.0/browser.js","webpack:///call-bind-apply-helpers/1.0.2/actualApply.js","webpack:///call-bind-apply-helpers/1.0.2/applyBind.js","webpack:///call-bind-apply-helpers/1.0.2/functionApply.js","webpack:///call-bind-apply-helpers/1.0.2/functionCall.js","webpack:///call-bind-apply-helpers/1.0.2/index.js","webpack:///call-bind-apply-helpers/1.0.2/reflectApply.js","webpack:///call-bind/1.0.9/callBound.js","webpack:///call-bind/1.0.9/index.js","webpack:///call-bound/1.0.4/index.js","webpack:///chai/4.5.0/index.js","webpack:///chai/4.5.0/lib/chai.js","webpack:///chai/4.5.0/lib/chai/assertion.js","webpack:///chai/4.5.0/lib/chai/config.js","webpack:///chai/4.5.0/lib/chai/core/assertions.js","webpack:///chai/4.5.0/lib/chai/interface/assert.js","webpack:///chai/4.5.0/lib/chai/interface/expect.js","webpack:///chai/4.5.0/lib/chai/interface/should.js","webpack:///chai/4.5.0/lib/chai/utils/addChainableMethod.js","webpack:///chai/4.5.0/lib/chai/utils/addLengthGuard.js","webpack:///chai/4.5.0/lib/chai/utils/addMethod.js","webpack:///chai/4.5.0/lib/chai/utils/addProperty.js","webpack:///chai/4.5.0/lib/chai/utils/compareByInspect.js","webpack:///chai/4.5.0/lib/chai/utils/expectTypes.js","webpack:///chai/4.5.0/lib/chai/utils/flag.js","webpack:///chai/4.5.0/lib/chai/utils/getActual.js","webpack:///chai/4.5.0/lib/chai/utils/getMessage.js","webpack:///chai/4.5.0/lib/chai/utils/getOperator.js","webpack:///chai/4.5.0/lib/chai/utils/getOwnEnumerableProperties.js","webpack:///chai/4.5.0/lib/chai/utils/getOwnEnumerablePropertySymbols.js","webpack:///chai/4.5.0/lib/chai/utils/getProperties.js","webpack:///chai/4.5.0/lib/chai/utils/index.js","webpack:///chai/4.5.0/lib/chai/utils/inspect.js","webpack:///chai/4.5.0/lib/chai/utils/isNaN.js","webpack:///chai/4.5.0/lib/chai/utils/isProxyEnabled.js","webpack:///chai/4.5.0/lib/chai/utils/objDisplay.js","webpack:///chai/4.5.0/lib/chai/utils/overwriteChainableMethod.js","webpack:///chai/4.5.0/lib/chai/utils/overwriteMethod.js","webpack:///chai/4.5.0/lib/chai/utils/overwriteProperty.js","webpack:///chai/4.5.0/lib/chai/utils/proxify.js","webpack:///chai/4.5.0/lib/chai/utils/test.js","webpack:///chai/4.5.0/lib/chai/utils/transferFlags.js","webpack:///type-detect/4.1.0/type-detect.js","webpack:///check-error/1.0.3/index.js","webpack:///classnames/2.3.1/index.js","webpack:///cometd/3.1.4/cometd.js","webpack:///crypto-js/3.1.9-1/core.js","webpack:///crypto-js/3.1.9-1/enc-base64.js","webpack:///crypto-js/3.1.9-1/enc-utf8.js","webpack:///crypto-js/3.1.9-1/md5.js","webpack:///cuid/2.1.8/index.js","webpack:///cuid/2.1.8/lib/fingerprint.browser.js","webpack:///cuid/2.1.8/lib/getRandomValue.browser.js","webpack:///cuid/2.1.8/lib/pad.js","webpack:///date-fns/2.30.0/_lib/addLeadingZeros/index.js","webpack:///date-fns/2.30.0/_lib/assign/index.js","webpack:///date-fns/2.30.0/_lib/cloneObject/index.js","webpack:///date-fns/2.30.0/_lib/defaultLocale/index.js","webpack:///date-fns/2.30.0/_lib/defaultOptions/index.js","webpack:///date-fns/2.30.0/_lib/format/formatters/index.js","webpack:///date-fns/2.30.0/_lib/format/lightFormatters/index.js","webpack:///date-fns/2.30.0/_lib/format/longFormatters/index.js","webpack:///date-fns/2.30.0/_lib/getTimezoneOffsetInMilliseconds/index.js","webpack:///date-fns/2.30.0/_lib/getUTCDayOfYear/index.js","webpack:///date-fns/2.30.0/_lib/getUTCISOWeek/index.js","webpack:///date-fns/2.30.0/_lib/getUTCISOWeekYear/index.js","webpack:///date-fns/2.30.0/_lib/getUTCWeek/index.js","webpack:///date-fns/2.30.0/_lib/getUTCWeekYear/index.js","webpack:///date-fns/2.30.0/_lib/protectedTokens/index.js","webpack:///date-fns/2.30.0/_lib/requiredArgs/index.js","webpack:///date-fns/2.30.0/_lib/startOfUTCISOWeek/index.js","webpack:///date-fns/2.30.0/_lib/startOfUTCISOWeekYear/index.js","webpack:///date-fns/2.30.0/_lib/startOfUTCWeek/index.js","webpack:///date-fns/2.30.0/_lib/startOfUTCWeekYear/index.js","webpack:///date-fns/2.30.0/_lib/toInteger/index.js","webpack:///date-fns/2.30.0/addMilliseconds/index.js","webpack:///date-fns/2.30.0/format/index.js","webpack:///date-fns/2.30.0/isDate/index.js","webpack:///date-fns/2.30.0/isValid/index.js","webpack:///date-fns/2.30.0/locale/_lib/buildFormatLongFn/index.js","webpack:///date-fns/2.30.0/locale/_lib/buildLocalizeFn/index.js","webpack:///date-fns/2.30.0/locale/_lib/buildMatchFn/index.js","webpack:///date-fns/2.30.0/locale/_lib/buildMatchPatternFn/index.js","webpack:///date-fns/2.30.0/locale/en-US/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/locale/en-US/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/locale/en-US/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/locale/en-US/_lib/localize/index.js","webpack:///date-fns/2.30.0/locale/en-US/_lib/match/index.js","webpack:///date-fns/2.30.0/locale/en-US/index.js","webpack:///date-fns/2.30.0/subMilliseconds/index.js","webpack:///date-fns/2.30.0/toDate/index.js","webpack:///dayjs/1.10.6/dayjs.min.js","webpack:///dayjs/1.10.6/plugin/advancedFormat.js","webpack:///dayjs/1.10.6/plugin/customParseFormat.js","webpack:///dayjs/1.10.6/plugin/localizedFormat.js","webpack:///dayjs/1.10.6/plugin/relativeTime.js","webpack:///dayjs/1.10.6/plugin/timezone.js","webpack:///dayjs/1.10.6/plugin/utc.js","webpack:///deep-eql/4.1.4/index.js","webpack:///define-data-property/1.1.4/index.js","webpack:///define-properties/1.2.1/index.js","webpack:///dunder-proto/1.0.1/get.js","webpack:///es-define-property/1.0.1/index.js","webpack:///es-errors/1.3.0/eval.js","webpack:///es-errors/1.3.0/index.js","webpack:///es-errors/1.3.0/range.js","webpack:///es-errors/1.3.0/ref.js","webpack:///es-errors/1.3.0/syntax.js","webpack:///es-errors/1.3.0/type.js","webpack:///es-errors/1.3.0/uri.js","webpack:///es-object-atoms/1.1.1/index.js","webpack:///events/3.3.0/events.js","webpack:///fast-deep-equal/3.1.3/index.js","webpack:///fast-json-stable-stringify/2.1.0/index.js","webpack:///for-each/0.3.5/index.js","webpack:///fs-extra/8.1.0/lib/copy-sync/copy-sync.js","webpack:///fs-extra/8.1.0/lib/copy-sync/index.js","webpack:///fs-extra/8.1.0/lib/copy/copy.js","webpack:///fs-extra/8.1.0/lib/copy/index.js","webpack:///fs-extra/8.1.0/lib/empty/index.js","webpack:///fs-extra/8.1.0/lib/ensure/file.js","webpack:///fs-extra/8.1.0/lib/ensure/index.js","webpack:///fs-extra/8.1.0/lib/ensure/link.js","webpack:///fs-extra/8.1.0/lib/ensure/symlink-paths.js","webpack:///fs-extra/8.1.0/lib/ensure/symlink-type.js","webpack:///fs-extra/8.1.0/lib/ensure/symlink.js","webpack:///fs-extra/8.1.0/lib/fs/index.js","webpack:///fs-extra/8.1.0/lib/index.js","webpack:///fs-extra/8.1.0/lib/json/index.js","webpack:///fs-extra/8.1.0/lib/json/jsonfile.js","webpack:///fs-extra/8.1.0/lib/json/output-json-sync.js","webpack:///fs-extra/8.1.0/lib/json/output-json.js","webpack:///fs-extra/8.1.0/lib/mkdirs/index.js","webpack:///fs-extra/8.1.0/lib/mkdirs/mkdirs-sync.js","webpack:///fs-extra/8.1.0/lib/mkdirs/mkdirs.js","webpack:///fs-extra/8.1.0/lib/mkdirs/win32.js","webpack:///fs-extra/8.1.0/lib/move-sync/index.js","webpack:///fs-extra/8.1.0/lib/move-sync/move-sync.js","webpack:///fs-extra/8.1.0/lib/move/index.js","webpack:///fs-extra/8.1.0/lib/move/move.js","webpack:///fs-extra/8.1.0/lib/output/index.js","webpack:///fs-extra/8.1.0/lib/path-exists/index.js","webpack:///fs-extra/8.1.0/lib/remove/index.js","webpack:///fs-extra/8.1.0/lib/remove/rimraf.js","webpack:///fs-extra/8.1.0/lib/util/buffer.js","webpack:///fs-extra/8.1.0/lib/util/stat.js","webpack:///fs-extra/8.1.0/lib/util/utimes.js","webpack:///function-bind/1.1.2/implementation.js","webpack:///function-bind/1.1.2/index.js","webpack:///fuse.js/3.6.1/dist/fuse.js","webpack:///generator-function/2.0.1/index.js","webpack:///get-func-name/2.0.2/index.js","webpack:///get-intrinsic/1.3.0/index.js","webpack:///get-proto/1.0.1/Object.getPrototypeOf.js","webpack:///get-proto/1.0.1/Reflect.getPrototypeOf.js","webpack:///get-proto/1.0.1/index.js","webpack:///gopd/1.2.0/gOPD.js","webpack:///gopd/1.2.0/index.js","webpack:///graceful-fs/4.2.11/clone.js","webpack:///graceful-fs/4.2.11/graceful-fs.js","webpack:///graceful-fs/4.2.11/legacy-streams.js","webpack:///graceful-fs/4.2.11/polyfills.js","webpack:///has-property-descriptors/1.0.2/index.js","webpack:///has-symbols/1.1.0/index.js","webpack:///has-symbols/1.1.0/shams.js","webpack:///has-tostringtag/1.0.2/shams.js","webpack:///hasown/2.0.3/index.js","webpack:///highlight.js/9.15.10/lib/highlight.js","webpack:///highlight.js/9.15.10/lib/languages/apache.js","webpack:///highlight.js/9.15.10/lib/languages/bash.js","webpack:///highlight.js/9.15.10/lib/languages/css.js","webpack:///highlight.js/9.15.10/lib/languages/java.js","webpack:///highlight.js/9.15.10/lib/languages/javascript.js","webpack:///highlight.js/9.15.10/lib/languages/json.js","webpack:///highlight.js/9.15.10/lib/languages/plaintext.js","webpack:///highlight.js/9.15.10/lib/languages/python.js","webpack:///highlight.js/9.15.10/lib/languages/scss.js","webpack:///highlight.js/9.15.10/lib/languages/shell.js","webpack:///highlight.js/9.15.10/lib/languages/xml.js","webpack:///https-browserify/1.0.0/index.js","webpack:///ieee754/1.2.1/index.js","webpack:///inherits/2.0.4/inherits_browser.js","webpack:///../node_modules/browser-pack-flat/_prelude","webpack:///../@interactjs/core/Interactable.ts","webpack:///../@interactjs/core/scope.ts","webpack:///../@interactjs/core/interactions.ts","webpack:///../@interactjs/core/InteractStatic.ts","webpack:///../@interactjs/utils/isWindow.ts","webpack:///../@interactjs/utils/window.ts","webpack:///../@interactjs/utils/is.ts","webpack:///../@interactjs/actions/drag.ts","webpack:///../@interactjs/utils/arr.ts","webpack:///../@interactjs/utils/domObjects.ts","webpack:///../@interactjs/utils/browser.ts","webpack:///../@interactjs/utils/clone.ts","webpack:///../@interactjs/utils/domUtils.ts","webpack:///../@interactjs/utils/pointerExtend.ts","webpack:///../@interactjs/utils/hypot.ts","webpack:///../@interactjs/utils/pointerUtils.ts","webpack:///../@interactjs/utils/events.ts","webpack:///../@interactjs/utils/extend.ts","webpack:///../@interactjs/utils/normalizeListeners.ts","webpack:///../@interactjs/core/Eventable.ts","webpack:///../@interactjs/utils/rect.ts","webpack:///../@interactjs/utils/getOriginXY.ts","webpack:///../@interactjs/utils/raf.ts","webpack:///../@interactjs/utils/index.ts","webpack:///../@interactjs/core/BaseEvent.ts","webpack:///../@interactjs/core/defaultOptions.ts","webpack:///../@interactjs/core/InteractEvent.ts","webpack:///../@interactjs/core/InteractableSet.ts","webpack:///../@interactjs/core/PointerInfo.ts","webpack:///../@interactjs/core/Interaction.ts","webpack:///../@interactjs/core/interactablePreventDefault.ts","webpack:///../@interactjs/core/interactionFinder.ts","webpack:///../@interactjs/actions/drop/DropEvent.ts","webpack:///../@interactjs/actions/drop/index.ts","webpack:///../@interactjs/actions/gesture.ts","webpack:///../@interactjs/actions/resize.ts","webpack:///../@interactjs/actions/index.ts","webpack:///../@interactjs/arrange/index.ts","webpack:///../@interactjs/auto-scroll/index.ts","webpack:///../@interactjs/auto-start/InteractableMethods.ts","webpack:///../@interactjs/auto-start/base.ts","webpack:///../@interactjs/auto-start/dragAxis.ts","webpack:///../@interactjs/auto-start/hold.ts","webpack:///../@interactjs/auto-start/index.ts","webpack:///../@interactjs/clone/index.ts","webpack:///../@interactjs/dev-tools/index.ts","webpack:///../@interactjs/modifiers/Modification.ts","webpack:///../@interactjs/modifiers/base.ts","webpack:///../@interactjs/offset/index.ts","webpack:///../@interactjs/inertia/index.ts","webpack:///../@interactjs/interact/index.ts","webpack:///../@interactjs/snappers/edgeTarget.ts","webpack:///../@interactjs/snappers/elements.ts","webpack:///../@interactjs/snappers/grid.ts","webpack:///../@interactjs/snappers/all.ts","webpack:///../@interactjs/snappers/index.ts","webpack:///../@interactjs/modifiers/aspectRatio.ts","webpack:///../@interactjs/modifiers/avoid.ts","webpack:///../@interactjs/modifiers/restrict/pointer.ts","webpack:///../@interactjs/modifiers/restrict/edges.ts","webpack:///../@interactjs/modifiers/restrict/rect.ts","webpack:///../@interactjs/modifiers/restrict/size.ts","webpack:///../@interactjs/modifiers/rubberband.ts","webpack:///../@interactjs/modifiers/snap/pointer.ts","webpack:///../@interactjs/modifiers/snap/size.ts","webpack:///../@interactjs/modifiers/snap/edges.ts","webpack:///../@interactjs/modifiers/spring.ts","webpack:///../@interactjs/modifiers/transform.ts","webpack:///../@interactjs/modifiers/all.ts","webpack:///../@interactjs/modifiers/index.ts","webpack:///../@interactjs/pointer-events/PointerEvent.ts","webpack:///../@interactjs/pointer-events/base.ts","webpack:///../@interactjs/pointer-events/holdRepeat.ts","webpack:///../@interactjs/pointer-events/interactableTargets.ts","webpack:///../@interactjs/pointer-events/index.ts","webpack:///../@interactjs/reflow/index.ts","webpack:///../@interactjs/utils/displace.ts","webpack:///../@interactjs/utils/exchange.ts","webpack:///../@interactjs/interactjs/index.ts","webpack:///index.ts","webpack:///../node_modules/browser-pack-flat/_postlude","webpack:///invariant/2.2.4/browser.js","webpack:///is-absolute-url/3.0.3/index.js","webpack:///is-arguments/1.2.0/index.js","webpack:///is-callable/1.2.7/index.js","webpack:///is-generator-function/1.1.2/index.js","webpack:///is-nan/1.3.2/implementation.js","webpack:///is-nan/1.3.2/index.js","webpack:///is-nan/1.3.2/polyfill.js","webpack:///is-nan/1.3.2/shim.js","webpack:///is-regex/1.2.1/index.js","webpack:///is-typed-array/1.1.15/index.js","webpack:///json-schema-traverse/0.4.1/index.js","webpack:///jsonfile/4.0.0/index.js","webpack:///lodash/4.17.21/_Hash.js","webpack:///lodash/4.17.21/_ListCache.js","webpack:///lodash/4.17.21/_Map.js","webpack:///lodash/4.17.21/_MapCache.js","webpack:///lodash/4.17.21/_Symbol.js","webpack:///lodash/4.17.21/_apply.js","webpack:///lodash/4.17.21/_arrayMap.js","webpack:///lodash/4.17.21/_arrayPush.js","webpack:///lodash/4.17.21/_assignValue.js","webpack:///lodash/4.17.21/_assocIndexOf.js","webpack:///lodash/4.17.21/_baseAssignValue.js","webpack:///lodash/4.17.21/_baseFlatten.js","webpack:///lodash/4.17.21/_baseGet.js","webpack:///lodash/4.17.21/_baseGetTag.js","webpack:///lodash/4.17.21/_baseHasIn.js","webpack:///lodash/4.17.21/_baseIsArguments.js","webpack:///lodash/4.17.21/_baseIsNative.js","webpack:///lodash/4.17.21/_basePick.js","webpack:///lodash/4.17.21/_basePickBy.js","webpack:///lodash/4.17.21/_baseSet.js","webpack:///lodash/4.17.21/_baseSetToString.js","webpack:///lodash/4.17.21/_baseToString.js","webpack:///lodash/4.17.21/_castPath.js","webpack:///lodash/4.17.21/_coreJsData.js","webpack:///lodash/4.17.21/_defineProperty.js","webpack:///lodash/4.17.21/_flatRest.js","webpack:///lodash/4.17.21/_freeGlobal.js","webpack:///lodash/4.17.21/_getMapData.js","webpack:///lodash/4.17.21/_getNative.js","webpack:///lodash/4.17.21/_getRawTag.js","webpack:///lodash/4.17.21/_getValue.js","webpack:///lodash/4.17.21/_hasPath.js","webpack:///lodash/4.17.21/_hashClear.js","webpack:///lodash/4.17.21/_hashDelete.js","webpack:///lodash/4.17.21/_hashGet.js","webpack:///lodash/4.17.21/_hashHas.js","webpack:///lodash/4.17.21/_hashSet.js","webpack:///lodash/4.17.21/_isFlattenable.js","webpack:///lodash/4.17.21/_isIndex.js","webpack:///lodash/4.17.21/_isKey.js","webpack:///lodash/4.17.21/_isKeyable.js","webpack:///lodash/4.17.21/_isMasked.js","webpack:///lodash/4.17.21/_listCacheClear.js","webpack:///lodash/4.17.21/_listCacheDelete.js","webpack:///lodash/4.17.21/_listCacheGet.js","webpack:///lodash/4.17.21/_listCacheHas.js","webpack:///lodash/4.17.21/_listCacheSet.js","webpack:///lodash/4.17.21/_mapCacheClear.js","webpack:///lodash/4.17.21/_mapCacheDelete.js","webpack:///lodash/4.17.21/_mapCacheGet.js","webpack:///lodash/4.17.21/_mapCacheHas.js","webpack:///lodash/4.17.21/_mapCacheSet.js","webpack:///lodash/4.17.21/_memoizeCapped.js","webpack:///lodash/4.17.21/_nativeCreate.js","webpack:///lodash/4.17.21/_objectToString.js","webpack:///lodash/4.17.21/_overRest.js","webpack:///lodash/4.17.21/_root.js","webpack:///lodash/4.17.21/_setToString.js","webpack:///lodash/4.17.21/_shortOut.js","webpack:///lodash/4.17.21/_stringToPath.js","webpack:///lodash/4.17.21/_toKey.js","webpack:///lodash/4.17.21/_toSource.js","webpack:///lodash/4.17.21/constant.js","webpack:///lodash/4.17.21/eq.js","webpack:///lodash/4.17.21/flatten.js","webpack:///lodash/4.17.21/fp.js","webpack:///lodash/4.17.21/fp/_baseConvert.js","webpack:///lodash/4.17.21/fp/_mapping.js","webpack:///lodash/4.17.21/fp/placeholder.js","webpack:///lodash/4.17.21/hasIn.js","webpack:///lodash/4.17.21/identity.js","webpack:///lodash/4.17.21/isArguments.js","webpack:///lodash/4.17.21/isArray.js","webpack:///lodash/4.17.21/isFunction.js","webpack:///lodash/4.17.21/isLength.js","webpack:///lodash/4.17.21/isObject.js","webpack:///lodash/4.17.21/isObjectLike.js","webpack:///lodash/4.17.21/isSymbol.js","webpack:///lodash/4.17.21/lodash.js","webpack:///lodash/4.17.21/lodash.min.js","webpack:///lodash/4.17.21/memoize.js","webpack:///lodash/4.17.21/pick.js","webpack:///lodash/4.17.21/toString.js","webpack:///loglevel/1.9.2/lib/loglevel.js","webpack:///lottie-web/5.12.2/build/player/lottie.js","webpack:///loupe/2.3.7/loupe.js","webpack:///math-intrinsics/1.1.0/abs.js","webpack:///math-intrinsics/1.1.0/floor.js","webpack:///math-intrinsics/1.1.0/isNaN.js","webpack:///math-intrinsics/1.1.0/max.js","webpack:///math-intrinsics/1.1.0/min.js","webpack:///math-intrinsics/1.1.0/pow.js","webpack:///math-intrinsics/1.1.0/round.js","webpack:///math-intrinsics/1.1.0/sign.js","webpack:///moment/2.30.1/locale/af.js","webpack:///moment/2.30.1/locale/ar-dz.js","webpack:///moment/2.30.1/locale/ar-kw.js","webpack:///moment/2.30.1/locale/ar-ly.js","webpack:///moment/2.30.1/locale/ar-ma.js","webpack:///moment/2.30.1/locale/ar-ps.js","webpack:///moment/2.30.1/locale/ar-sa.js","webpack:///moment/2.30.1/locale/ar-tn.js","webpack:///moment/2.30.1/locale/ar.js","webpack:///moment/2.30.1/locale/az.js","webpack:///moment/2.30.1/locale/be.js","webpack:///moment/2.30.1/locale/bg.js","webpack:///moment/2.30.1/locale/bm.js","webpack:///moment/2.30.1/locale/bn-bd.js","webpack:///moment/2.30.1/locale/bn.js","webpack:///moment/2.30.1/locale/bo.js","webpack:///moment/2.30.1/locale/br.js","webpack:///moment/2.30.1/locale/bs.js","webpack:///moment/2.30.1/locale/ca.js","webpack:///moment/2.30.1/locale/cs.js","webpack:///moment/2.30.1/locale/cv.js","webpack:///moment/2.30.1/locale/cy.js","webpack:///moment/2.30.1/locale/da.js","webpack:///moment/2.30.1/locale/de-at.js","webpack:///moment/2.30.1/locale/de-ch.js","webpack:///moment/2.30.1/locale/de.js","webpack:///moment/2.30.1/locale/dv.js","webpack:///moment/2.30.1/locale/el.js","webpack:///moment/2.30.1/locale/en-au.js","webpack:///moment/2.30.1/locale/en-ca.js","webpack:///moment/2.30.1/locale/en-gb.js","webpack:///moment/2.30.1/locale/en-ie.js","webpack:///moment/2.30.1/locale/en-il.js","webpack:///moment/2.30.1/locale/en-in.js","webpack:///moment/2.30.1/locale/en-nz.js","webpack:///moment/2.30.1/locale/en-sg.js","webpack:///moment/2.30.1/locale/eo.js","webpack:///moment/2.30.1/locale/es-do.js","webpack:///moment/2.30.1/locale/es-mx.js","webpack:///moment/2.30.1/locale/es-us.js","webpack:///moment/2.30.1/locale/es.js","webpack:///moment/2.30.1/locale/et.js","webpack:///moment/2.30.1/locale/eu.js","webpack:///moment/2.30.1/locale/fa.js","webpack:///moment/2.30.1/locale/fi.js","webpack:///moment/2.30.1/locale/fil.js","webpack:///moment/2.30.1/locale/fo.js","webpack:///moment/2.30.1/locale/fr-ca.js","webpack:///moment/2.30.1/locale/fr-ch.js","webpack:///moment/2.30.1/locale/fr.js","webpack:///moment/2.30.1/locale/fy.js","webpack:///moment/2.30.1/locale/ga.js","webpack:///moment/2.30.1/locale/gd.js","webpack:///moment/2.30.1/locale/gl.js","webpack:///moment/2.30.1/locale/gom-deva.js","webpack:///moment/2.30.1/locale/gom-latn.js","webpack:///moment/2.30.1/locale/gu.js","webpack:///moment/2.30.1/locale/he.js","webpack:///moment/2.30.1/locale/hi.js","webpack:///moment/2.30.1/locale/hr.js","webpack:///moment/2.30.1/locale/hu.js","webpack:///moment/2.30.1/locale/hy-am.js","webpack:///moment/2.30.1/locale/id.js","webpack:///moment/2.30.1/locale/is.js","webpack:///moment/2.30.1/locale/it-ch.js","webpack:///moment/2.30.1/locale/it.js","webpack:///moment/2.30.1/locale/ja.js","webpack:///moment/2.30.1/locale/jv.js","webpack:///moment/2.30.1/locale/ka.js","webpack:///moment/2.30.1/locale/kk.js","webpack:///moment/2.30.1/locale/km.js","webpack:///moment/2.30.1/locale/kn.js","webpack:///moment/2.30.1/locale/ko.js","webpack:///moment/2.30.1/locale/ku-kmr.js","webpack:///moment/2.30.1/locale/ku.js","webpack:///moment/2.30.1/locale/ky.js","webpack:///moment/2.30.1/locale/lb.js","webpack:///moment/2.30.1/locale/lo.js","webpack:///moment/2.30.1/locale/lt.js","webpack:///moment/2.30.1/locale/lv.js","webpack:///moment/2.30.1/locale/me.js","webpack:///moment/2.30.1/locale/mi.js","webpack:///moment/2.30.1/locale/mk.js","webpack:///moment/2.30.1/locale/ml.js","webpack:///moment/2.30.1/locale/mn.js","webpack:///moment/2.30.1/locale/mr.js","webpack:///moment/2.30.1/locale/ms-my.js","webpack:///moment/2.30.1/locale/ms.js","webpack:///moment/2.30.1/locale/mt.js","webpack:///moment/2.30.1/locale/my.js","webpack:///moment/2.30.1/locale/nb.js","webpack:///moment/2.30.1/locale/ne.js","webpack:///moment/2.30.1/locale/nl-be.js","webpack:///moment/2.30.1/locale/nl.js","webpack:///moment/2.30.1/locale/nn.js","webpack:///moment/2.30.1/locale/oc-lnc.js","webpack:///moment/2.30.1/locale/pa-in.js","webpack:///moment/2.30.1/locale/pl.js","webpack:///moment/2.30.1/locale/pt-br.js","webpack:///moment/2.30.1/locale/pt.js","webpack:///moment/2.30.1/locale/ro.js","webpack:///moment/2.30.1/locale/ru.js","webpack:///moment/2.30.1/locale/sd.js","webpack:///moment/2.30.1/locale/se.js","webpack:///moment/2.30.1/locale/si.js","webpack:///moment/2.30.1/locale/sk.js","webpack:///moment/2.30.1/locale/sl.js","webpack:///moment/2.30.1/locale/sq.js","webpack:///moment/2.30.1/locale/sr-cyrl.js","webpack:///moment/2.30.1/locale/sr.js","webpack:///moment/2.30.1/locale/ss.js","webpack:///moment/2.30.1/locale/sv.js","webpack:///moment/2.30.1/locale/sw.js","webpack:///moment/2.30.1/locale/ta.js","webpack:///moment/2.30.1/locale/te.js","webpack:///moment/2.30.1/locale/tet.js","webpack:///moment/2.30.1/locale/tg.js","webpack:///moment/2.30.1/locale/th.js","webpack:///moment/2.30.1/locale/tk.js","webpack:///moment/2.30.1/locale/tl-ph.js","webpack:///moment/2.30.1/locale/tlh.js","webpack:///moment/2.30.1/locale/tr.js","webpack:///moment/2.30.1/locale/tzl.js","webpack:///moment/2.30.1/locale/tzm-latn.js","webpack:///moment/2.30.1/locale/tzm.js","webpack:///moment/2.30.1/locale/ug-cn.js","webpack:///moment/2.30.1/locale/uk.js","webpack:///moment/2.30.1/locale/ur.js","webpack:///moment/2.30.1/locale/uz-latn.js","webpack:///moment/2.30.1/locale/uz.js","webpack:///moment/2.30.1/locale/vi.js","webpack:///moment/2.30.1/locale/x-pseudo.js","webpack:///moment/2.30.1/locale/yo.js","webpack:///moment/2.30.1/locale/zh-cn.js","webpack:///moment/2.30.1/locale/zh-hk.js","webpack:///moment/2.30.1/locale/zh-mo.js","webpack:///moment/2.30.1/locale/zh-tw.js","webpack:///moment/2.30.1/moment.js","webpack:///mustache/3.0.0/mustache.js","webpack:///number-to-words/1.2.4/numberToWords.min.js","webpack:///object-assign/4.1.1/index.js","webpack:///object-inspect/1.13.4/index.js","webpack:///object-is/1.1.6/implementation.js","webpack:///object-is/1.1.6/index.js","webpack:///object-is/1.1.6/polyfill.js","webpack:///object-is/1.1.6/shim.js","webpack:///object-keys/1.1.1/implementation.js","webpack:///object-keys/1.1.1/index.js","webpack:///object-keys/1.1.1/isArguments.js","webpack:///object.assign/4.1.7/implementation.js","webpack:///object.assign/4.1.7/polyfill.js","webpack:///os/0.1.2/index.js","webpack:///pako/1.0.11/lib/utils/common.js","webpack:///pako/1.0.11/lib/zlib/adler32.js","webpack:///pako/1.0.11/lib/zlib/constants.js","webpack:///pako/1.0.11/lib/zlib/crc32.js","webpack:///pako/1.0.11/lib/zlib/deflate.js","webpack:///pako/1.0.11/lib/zlib/inffast.js","webpack:///pako/1.0.11/lib/zlib/inflate.js","webpack:///pako/1.0.11/lib/zlib/inftrees.js","webpack:///pako/1.0.11/lib/zlib/messages.js","webpack:///pako/1.0.11/lib/zlib/trees.js","webpack:///pako/1.0.11/lib/zlib/zstream.js","webpack:///path-to-regexp/3.0.0/index.js","webpack:///path/0.12.7/path.js","webpack:///pathval/1.1.1/index.js","webpack:///possible-typed-array-names/1.1.0/index.js","webpack:///prop-types/15.7.2/factoryWithThrowingShims.js","webpack:///prop-types/15.7.2/index.js","webpack:///prop-types/15.7.2/lib/ReactPropTypesSecret.js","webpack:///punycode/2.3.1/punycode.es6.js","webpack:///qs/6.15.1/lib/formats.js","webpack:///qs/6.15.1/lib/index.js","webpack:///qs/6.15.1/lib/parse.js","webpack:///qs/6.15.1/lib/stringify.js","webpack:///qs/6.15.1/lib/utils.js","webpack:///querystringify/2.2.0/index.js","webpack:///react-dom/cjs/react-dom.production.min.js","webpack:///react-dom/index.js","webpack:///react/cjs/react.production.min.js","webpack:///react/index.js","webpack:///readable-stream/3.6.2/errors-browser.js","webpack:///readable-stream/3.6.2/lib/_stream_duplex.js","webpack:///readable-stream/3.6.2/lib/_stream_passthrough.js","webpack:///readable-stream/3.6.2/lib/_stream_readable.js","webpack:///readable-stream/3.6.2/lib/_stream_transform.js","webpack:///readable-stream/3.6.2/lib/_stream_writable.js","webpack:///readable-stream/3.6.2/lib/internal/streams/async_iterator.js","webpack:///readable-stream/3.6.2/lib/internal/streams/buffer_list.js","webpack:///readable-stream/3.6.2/lib/internal/streams/destroy.js","webpack:///readable-stream/3.6.2/lib/internal/streams/end-of-stream.js","webpack:///readable-stream/3.6.2/lib/internal/streams/from-browser.js","webpack:///readable-stream/3.6.2/lib/internal/streams/pipeline.js","webpack:///readable-stream/3.6.2/lib/internal/streams/state.js","webpack:///readable-stream/3.6.2/lib/internal/streams/stream-browser.js","webpack:///readable-stream/3.6.2/readable-browser.js","webpack:///requires-port/1.0.0/index.js","webpack:///resize-observer-polyfill/1.5.1/dist/ResizeObserver.es.js","webpack:///safe-buffer/5.2.1/index.js","webpack:///safe-regex-test/1.1.0/index.js","webpack:///save-svg-as-png/1.4.17/lib/saveSvgAsPng.js","webpack:///scheduler/0.19.1/cjs/scheduler.production.min.js","webpack:///scheduler/0.19.1/index.js","webpack:///set-cookie-parser/2.7.2/lib/set-cookie.js","webpack:///set-function-length/1.2.2/index.js","webpack:///side-channel-list/1.0.1/index.js","webpack:///side-channel-map/1.0.1/index.js","webpack:///side-channel-weakmap/1.0.2/index.js","webpack:///side-channel/1.1.0/index.js","webpack:///slugify/1.6.9/slugify.js","webpack:///@devsnc/uxf-shared-behaviors/28.0.9/src/nowLinkInterceptorBehavior/index.js","webpack:///@devsnc/uxf-shared-behaviors/28.0.9/src/dirtyStateManagerBehaviors/utils.js","webpack:///@devsnc/uxf-shared-behaviors/28.0.9/src/dirtyStateManagerBehaviors/dirtyStateSubscriberBehavior.js","webpack:///@servicenow/now-collapse/src/now-collapse.js","webpack:///@servicenow/now-collapse/src/now-collapse-trigger.js","webpack:///@servicenow/now-collapse/src/index.js","webpack:///@servicenow/now-heading/src/now-heading.js","webpack:///@servicenow/now-heading/src/index.js","webpack:///@servicenow/now-uxf-page/src/slotted-polyfill-behavior/index.js","webpack:///@servicenow/now-uxf-page/src/utils.js","webpack:///@servicenow/now-uxf-page/src/constants.js","webpack:///@servicenow/now-uxf-page/src/uxf-page-notifications/uxfPageNotifications.js","webpack:///@servicenow/now-uxf-page/src/uxf-page/constants.js","webpack:///@servicenow/now-uxf-page/src/behaviors/utils.js","webpack:///@servicenow/now-uxf-page/src/behaviors/nowUxfPageNotificationsBehavior.js","webpack:///@servicenow/now-uxf-page/src/uxf-page/uxfPage.js","webpack:///@servicenow/now-uxf-page/src/uxf-page-container/uxfPageContainer.js","webpack:///@servicenow/now-uxf-page/src/uxf-viewport/uxfViewport.js","webpack:///@servicenow/now-uxf-page/src/uxf-viewport-screen/constants.js","webpack:///@servicenow/now-uxf-page/src/uxf-viewport-screen/uxfViewportScreen.js","webpack:///@servicenow/now-uxf-page/src/uxf-modal-viewport/constants.js","webpack:///@servicenow/now-uxf-page/src/uxf-modal-viewport/uxfModalViewport.js","webpack:///@servicenow/now-uxf-page/src/uxf-bare-modal/uxfBareModal.js","webpack:///@servicenow/now-uxf-page/src/uxf-bare-modal/utils.js","webpack:///@servicenow/now-uxf-page/src/uxf-page-simple-container/constants.js","webpack:///@servicenow/now-uxf-page/src/uxf-page-simple-container/utils.js","webpack:///@servicenow/now-uxf-page/src/uxf-page-simple-container/uxfSimpleContainer.js","webpack:///axios/1.7.7/lib/helpers/bind.js","webpack:///axios/1.7.7/lib/utils.js","webpack:///axios/1.7.7/lib/core/AxiosError.js","webpack:///axios/1.7.7/lib/helpers/toFormData.js","webpack:///axios/1.7.7/lib/helpers/AxiosURLSearchParams.js","webpack:///axios/1.7.7/lib/helpers/buildURL.js","webpack:///axios/1.7.7/lib/core/InterceptorManager.js","webpack:///axios/1.7.7/lib/defaults/transitional.js","webpack:///axios/1.7.7/lib/platform/browser/index.js","webpack:///axios/1.7.7/lib/platform/browser/classes/URLSearchParams.js","webpack:///axios/1.7.7/lib/platform/browser/classes/FormData.js","webpack:///axios/1.7.7/lib/platform/browser/classes/Blob.js","webpack:///axios/1.7.7/lib/platform/common/utils.js","webpack:///axios/1.7.7/lib/platform/index.js","webpack:///axios/1.7.7/lib/helpers/formDataToJSON.js","webpack:///axios/1.7.7/lib/defaults/index.js","webpack:///axios/1.7.7/lib/helpers/toURLEncodedForm.js","webpack:///axios/1.7.7/lib/helpers/parseHeaders.js","webpack:///axios/1.7.7/lib/core/AxiosHeaders.js","webpack:///axios/1.7.7/lib/core/transformData.js","webpack:///axios/1.7.7/lib/cancel/isCancel.js","webpack:///axios/1.7.7/lib/cancel/CanceledError.js","webpack:///axios/1.7.7/lib/core/settle.js","webpack:///axios/1.7.7/lib/helpers/speedometer.js","webpack:///axios/1.7.7/lib/helpers/throttle.js","webpack:///axios/1.7.7/lib/helpers/progressEventReducer.js","webpack:///axios/1.7.7/lib/helpers/isURLSameOrigin.js","webpack:///axios/1.7.7/lib/helpers/cookies.js","webpack:///axios/1.7.7/lib/core/buildFullPath.js","webpack:///axios/1.7.7/lib/helpers/isAbsoluteURL.js","webpack:///axios/1.7.7/lib/helpers/combineURLs.js","webpack:///axios/1.7.7/lib/core/mergeConfig.js","webpack:///axios/1.7.7/lib/helpers/resolveConfig.js","webpack:///axios/1.7.7/lib/adapters/xhr.js","webpack:///axios/1.7.7/lib/helpers/parseProtocol.js","webpack:///axios/1.7.7/lib/helpers/composeSignals.js","webpack:///axios/1.7.7/lib/helpers/trackStream.js","webpack:///axios/1.7.7/lib/adapters/fetch.js","webpack:///axios/1.7.7/lib/adapters/adapters.js","webpack:///axios/1.7.7/lib/helpers/null.js","webpack:///axios/1.7.7/lib/core/dispatchRequest.js","webpack:///axios/1.7.7/lib/env/data.js","webpack:///axios/1.7.7/lib/helpers/validator.js","webpack:///axios/1.7.7/lib/core/Axios.js","webpack:///axios/1.7.7/lib/cancel/CancelToken.js","webpack:///axios/1.7.7/lib/helpers/HttpStatusCode.js","webpack:///axios/1.7.7/lib/axios.js","webpack:///axios/1.7.7/lib/helpers/spread.js","webpack:///axios/1.7.7/lib/helpers/isAxiosError.js","webpack:///sn-http-request/18.0.1/src/batch/utils/createBatchId.js","webpack:///sn-http-request/18.0.1/src/batch/createHttpRequestBatcher.js","webpack:///sn-http-request/18.0.1/src/batch/defaults.js","webpack:///sn-http-request/18.0.1/src/constants.js","webpack:///sn-http-request/18.0.1/src/batch/createBatchRequestInterceptor.js","webpack:///sn-http-request/18.0.1/src/batch/utils/b64EncodeUnicode.js","webpack:///sn-http-request/18.0.1/src/batch/createBatchResponseSuccessInterceptor.js","webpack:///sn-http-request/18.0.1/src/batch/utils/b64DecodeUnicode.js","webpack:///sn-http-request/18.0.1/src/batch/createBatchResponseFailedInterceptor.js","webpack:///sn-http-request/18.0.1/src/snHttpClient.js","webpack:///sn-http-request/18.0.1/src/utils/utils.js","webpack:///sn-http-request/18.0.1/src/utils/shouldBatch.js","webpack:///sn-http-request/18.0.1/src/snHttpFactory.js","webpack:///sn-tinymce/28.0.6/js/tinymce/plugins/powerpaste/plugin.full.js","webpack:///sn-tinymce/28.0.6/js/tinymce/tinymce.full.js","webpack:///sn-translate/src/index.js","webpack:///sn-ux-core/26.0.1/src/context/userPrefs.js","webpack:///sn-ux-core/26.0.1/src/context/sysProps.js","webpack:///sn-ux-core/26.0.1/src/context/constants.js","webpack:///sn-uxpage-presource/23.0.1/src/getProperty.js","webpack:///sn-uxpage-presource/23.0.1/src/getPageProp.js","webpack:///sn-uxpage-presource/23.0.1/src/createPreSourceBehavior.js","webpack:///sn-uxpage-presource/23.0.1/src/user.behaviors.js","webpack:///snabbdom-signature/0.0.3/dist/index.js","webpack:///stream-browserify/3.0.0/index.js","webpack:///stream-http/3.2.0/index.js","webpack:///stream-http/3.2.0/lib/capability.js","webpack:///stream-http/3.2.0/lib/request.js","webpack:///stream-http/3.2.0/lib/response.js","webpack:///string-template/1.0.0/index.js","webpack:///string_decoder/1.3.0/lib/string_decoder.js","webpack:///to-arraybuffer/1.0.1/index.js","webpack:///tr46/3.0.0/index.js","webpack:///tr46/3.0.0/lib/regexes.js","webpack:///tr46/3.0.0/lib/statusMapping.js","webpack:///ua-parser-js/0.7.41/src/ua-parser.js","webpack:///universalify/0.1.2/index.js","webpack:///../../src/util.ts","webpack:///../../src/regexps-uri.ts","webpack:///../../src/regexps-iri.ts","webpack:///../../node_modules/punycode/punycode.es6.js","webpack:///../../src/uri.ts","webpack:///../../src/schemes/http.ts","webpack:///../../src/schemes/https.ts","webpack:///../../src/schemes/ws.ts","webpack:///../../src/schemes/wss.ts","webpack:///../../src/schemes/mailto.ts","webpack:///../../src/schemes/urn.ts","webpack:///../../src/schemes/urn-uuid.ts","webpack:///../../src/index.ts","webpack:///url-parse/1.5.10/index.js","webpack:///url/0.11.3/url.js","webpack:///utf8-byte-length/1.0.5/browser.js","webpack:///util-deprecate/1.0.2/browser.js","webpack:///util/0.12.5/support/isBufferBrowser.js","webpack:///util/0.12.5/support/types.js","webpack:///util/0.12.5/util.js","webpack:///uuid/7.0.3/dist/esm-browser/bytesToUuid.js","webpack:///uuid/7.0.3/dist/esm-browser/v1.js","webpack:///uuid/7.0.3/dist/esm-browser/v35.js","webpack:///uuid/7.0.3/dist/esm-browser/md5.js","webpack:///uuid/7.0.3/dist/esm-browser/v3.js","webpack:///uuid/7.0.3/dist/esm-browser/sha1.js","webpack:///uuid/7.0.3/dist/esm-browser/v5.js","webpack:///uuid/7.0.3/dist/esm-browser/rng.js","webpack:///uuid/7.0.3/dist/esm-browser/v4.js","webpack:///webidl-conversions/7.0.0/lib/index.js","webpack:///whatwg-url/11.0.0/index.js","webpack:///whatwg-url/11.0.0/lib/Function.js","webpack:///whatwg-url/11.0.0/lib/URL-impl.js","webpack:///whatwg-url/11.0.0/lib/URL.js","webpack:///whatwg-url/11.0.0/lib/URLSearchParams-impl.js","webpack:///whatwg-url/11.0.0/lib/URLSearchParams.js","webpack:///whatwg-url/11.0.0/lib/encoding.js","webpack:///whatwg-url/11.0.0/lib/infra.js","webpack:///whatwg-url/11.0.0/lib/percent-encoding.js","webpack:///whatwg-url/11.0.0/lib/url-state-machine.js","webpack:///whatwg-url/11.0.0/lib/urlencoded.js","webpack:///whatwg-url/11.0.0/lib/utils.js","webpack:///whatwg-url/11.0.0/webidl2js-wrapper.js","webpack:///which-typed-array/1.1.20/index.js","webpack:///xtend/4.0.2/immutable.js","webpack:///devplatform-app/9.7.13/src/utils/case/camelCase.js","webpack:///devplatform-app/9.7.13/src/utils/case/dashCase.js","webpack:///devplatform-app/9.7.13/src/utils/case/index.js","webpack:///devplatform-app/9.7.13/src/utils/case/pascalCase.js","webpack:///devplatform-app/9.7.13/src/utils/case/simplify.js","webpack:///devplatform-app/9.7.13/src/utils/case/slugify.js","webpack:///devplatform-app/9.7.13/src/utils/case/snakeCase.js","webpack:///devplatform-app/9.7.13/src/utils/case/titleCase.js","webpack:///devplatform-app/9.7.13/src/utils/case/toWords.js","webpack:///devplatform-app/9.7.13/src/utils/case/ucWords.js","webpack:///devplatform-app/9.7.13/src/utils/case/withNumberWordStart.js","webpack:///devplatform-app/9.7.13/example/dps-bookmark/dps-bookmark-example.scss","webpack:///@devsnc/sass-form-controls-common/28.0.7-pi.1/_customLabel.scss","webpack:///@devsnc/sn-carousel/src/sn-carousel/carousel.scss","webpack:///@devsnc/sn-declarative-actions/src/field/field-renderer/view.scss","webpack:///@devsnc/sn-declarative-actions/src/reference-search/view.scss","webpack:///@devsnc/sn-list-commons/src/components/ariaLiveRegion/ariaLiveRegion.scss","webpack:///@devsnc/sn-recommendations-helper/src/sn-recommendations-helper/recommendations-helper.scss","webpack:///@devsnc/sn-record-control-wrapper/src/controlwrapper.scss","webpack:///@devsnc/sn-record-control-wrapper/src/legacy-files/controlwrapper.scss","webpack:///@devsnc/sn-record-control/src/style.scss","webpack:///@devsnc/sn-record-input/src/input.scss","webpack:///@devsnc/sn-search-genius-card-assist/src/scss/contents/aboutPopover.scss","webpack:///@devsnc/sn-search-genius-card-assist/src/scss/index.scss","webpack:///@devsnc/sn-search-genius-card-assist/src/styles.scss","webpack:///@devsnc/sn-search-top-results/src/sn-search-top-results/components/sn-search-gr-carousel/sn-search-gr-carousel.scss","webpack:///@devsnc/sn-search-top-results/src/sn-search-top-results/components/sn-search-topics/sn-search-topics.scss","webpack:///@devsnc/sn-search-top-results/src/sn-search-top-results/sn-search-top-results.scss","webpack:///@devsnc/sn-wwna/src/components/sn-preset-menu-content/styles.scss","webpack:///@devsnc/sn-wwna/src/components/sn-preset-menu/styles.scss","webpack:///@devsnc/sn-wwna/src/components/sn-recommendation-dialog/styles.scss","webpack:///@servicenow/behavior-resizable/27.14.1/src/components/_resizable-target.scss","webpack:///@servicenow/now-alert/src/_now-alert-list.scss","webpack:///@servicenow/now-alert/src/_now-alert.scss","webpack:///@servicenow/now-avatar/src/_now-avatar.scss","webpack:///@servicenow/now-badge/src/_now-badge.scss","webpack:///@servicenow/now-breadcrumbs/src/_now-breadcrumbs.scss","webpack:///@servicenow/now-button/src/_now-button-bare.scss","webpack:///@servicenow/now-button/src/_now-button-circular.scss","webpack:///@servicenow/now-button/src/_now-button-iconic.scss","webpack:///@servicenow/now-button/src/_now-button-stateful.scss","webpack:///@servicenow/now-button/src/_now-button.scss","webpack:///@servicenow/now-card/src/_now-card-actions.scss","webpack:///@servicenow/now-card/src/_now-card-divider.scss","webpack:///@servicenow/now-card/src/_now-card-footer.scss","webpack:///@servicenow/now-card/src/_now-card-header.scss","webpack:///@servicenow/now-card/src/_now-card.scss","webpack:///@servicenow/now-carousel-text/src/_now-carousel-text.scss","webpack:///@servicenow/now-checkbox/src/_now-checkbox.scss","webpack:///@servicenow/now-checklist/src/now-checklist/styles.scss","webpack:///@servicenow/now-date-time/src/_now-date-time-calendar.scss","webpack:///@servicenow/now-date-time/src/_now-date-time-interval.scss","webpack:///@servicenow/now-date-time/src/_now-date-time.scss","webpack:///@servicenow/now-date-time/src/_now-input-date-time.scss","webpack:///@servicenow/now-date-time/src/presets/_now-date-time-presets.scss","webpack:///@servicenow/now-dropdown/src/_now-dropdown-list.scss","webpack:///@servicenow/now-dropdown/src/_now-dropdown-panel.scss","webpack:///@servicenow/now-dropdown/src/_now-dropdown.scss","webpack:///@servicenow/now-highlighted-value/src/_now-highlighted-value.scss","webpack:///@servicenow/now-icon/src/_now-icon.scss","webpack:///@servicenow/now-image/src/_now-image.scss","webpack:///@servicenow/now-input/src/_now-input-password.scss","webpack:///@servicenow/now-input/src/_now-input-phone.scss","webpack:///@servicenow/now-input/src/_now-input-url.scss","webpack:///@servicenow/now-input/src/_now-input.scss","webpack:///@servicenow/now-input/src/form-field/_popover-content.scss","webpack:///@servicenow/now-label-value/src/_now-label-value-inline.scss","webpack:///@servicenow/now-label-value/src/_now-label-value-stacked.scss","webpack:///@servicenow/now-label-value/src/_now-label-value-tabbed.scss","webpack:///@servicenow/now-legacy-icon/src/_now-legacy-icon.scss","webpack:///@servicenow/now-list/src/now-list/main.scss","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/views/galleryView.scss","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/views/truncatedTextMore/styles.scss","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/popoverCellEditorContent.scss","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverChoiceColumnFilterContent/popoverChoiceColumnFilterContent.scss","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCustomContent/popoverCustomContent.scss","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverListContent/popoverListContent.scss","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverTextContent/popoverTextContent.scss","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableHeaders/tableHeaderCell/columnHeaderClone.scss","webpack:///@servicenow/now-list/src/now-list/shared/views/timeAgoDisplay/timeAgoDisplay.scss","webpack:///@servicenow/now-loader/src/_now-loader-custom.scss","webpack:///@servicenow/now-loader/src/_now-loader-skeleton.scss","webpack:///@servicenow/now-loader/src/_now-loader.scss","webpack:///@servicenow/now-message/src/_now-message.scss","webpack:///@servicenow/now-modal/src/_now-modal.scss","webpack:///@servicenow/now-modeless-dialog/src/_now-modeless-dialog.scss","webpack:///@servicenow/now-pagination-control/src/_now-pagination-control.scss","webpack:///@servicenow/now-pill/src/_now-pill.scss","webpack:///@servicenow/now-popover/src/_now-popover-panel.scss","webpack:///@servicenow/now-progress-bar/src/_now-progress-bar.scss","webpack:///@servicenow/now-radio-buttons/src/_now-radio-buttons.scss","webpack:///@servicenow/now-record-html-editor/src/html.scss","webpack:///@servicenow/now-select/src/_now-select.scss","webpack:///@servicenow/now-stepper/src/_now-stepper.scss","webpack:///@servicenow/now-tabs/src/_now-tabs-vertical.scss","webpack:///@servicenow/now-tabs/src/_now-tabs.scss","webpack:///@servicenow/now-illustration/src/_now-illustration-custom.scss","webpack:///@servicenow/now-illustration/src/_now-illustration.scss","webpack:///@servicenow/now-template-message/src/_now-template-message-empty-state.scss","webpack:///@servicenow/now-text-link/src/_now-text-link.scss","webpack:///@servicenow/now-textarea/src/_now-textarea.scss","webpack:///@servicenow/now-toggle/src/_now-toggle.scss","webpack:///@servicenow/now-tooltip/src/_now-tooltip.scss","webpack:///@servicenow/now-typeahead/src/_now-typeahead.scss","webpack:///sn-cx-navigation/src/components/sn-cx-badge-connected/styles.scss","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/styles.scss","webpack:///@servicenow/now-collapse/src/_now-collapse.scss","webpack:///@servicenow/now-heading/src/_now-heading.scss","webpack:///@servicenow/now-uxf-page/src/uxf-bare-modal/styles.scss","webpack:///@servicenow/now-uxf-page/src/uxf-page-container/styles.scss","webpack:///@servicenow/now-uxf-page/src/uxf-page-notifications/styles.scss","webpack:///@servicenow/now-uxf-page/src/uxf-page-simple-container/styles.scss","webpack:///@servicenow/now-uxf-page/src/uxf-page/styles.scss","webpack:///@servicenow/now-uxf-page/src/uxf-viewport-screen/styles.scss","webpack:///@servicenow/now-uxf-page/src/uxf-viewport/styles.scss","webpack:///sn-cx-shell-addon/src/components/sn-cx-breadcrumbs/styles.scss","webpack:///sn-cx-shell-addon/src/components/sn-cx-footer/styles.scss","webpack:///sn-cx-shell-addon/src/components/sn-cx-page/sn-cx-page.scss","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/sn-cx-search-input-desktop/index.scss","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-modal/styles.scss","webpack:///sn-cx-shell-addon/src/components/sn-cx-side-panel/sn-cx-side-panel.scss","webpack:///sn-par-filter-common-components/27.0.12/src/iconic-help/iconic-help.scss","webpack:///sn-par-filter/27.0.12/src/filter/boolean/boolean.scss","webpack:///sn-par-filter/27.0.12/src/filter/checkboxes/checkboxes.scss","webpack:///sn-par-filter/27.0.12/src/filter/daterange-content/daterange-content.scss","webpack:///sn-par-filter/27.0.12/src/filter/daterange-content/daterange-panel/daterange-panel.scss","webpack:///sn-par-filter/27.0.12/src/filter/filter.scss","webpack:///sn-par-filter/27.0.12/src/filter/list-content/list-content.scss","webpack:///sn-par-filter/27.0.12/src/filter/list-content/list-multi/list-multi.scss","webpack:///sn-par-filter/27.0.12/src/filter/list-content/list-search/list-search.scss","webpack:///sn-par-filter/27.0.12/src/filter/list-content/list-single/list-single.scss","webpack:///sn-par-filter/27.0.12/src/filter/list-content/list-sort/list-sort.scss","webpack:///sn-par-filter/27.0.12/src/filter/pill-variant/pill-variant.scss","webpack:///sn-par-filter/27.0.12/src/filter/popup/popup.scss","webpack:///sn-par-filter/27.0.12/src/filter/radiobuttons/radiobuttons.scss","webpack:///sn-par-filter/27.0.12/src/filter/typeahead/typeahead.scss","webpack:///sn-par-filter/27.0.12/src/listbox/listbox.scss","webpack:///sn-par-filter/27.0.12/src/slush-bucket/slush-bucket.scss","webpack:///devplatform-app/9.7.13/src/components/dps-accordion/dps-accordion.scss","webpack:///devplatform-app/9.7.13/src/components/dps-ad-card/dps-ad-card.scss","webpack:///devplatform-app/9.7.13/src/components/dps-ai-search/dps-ai-search.scss","webpack:///devplatform-app/9.7.13/src/components/dps-ai-search/dps-card-loading/dps-card-loading.scss","webpack:///devplatform-app/9.7.13/src/components/dps-ai-search/dps-fallback-top-result/styles.scss","webpack:///devplatform-app/9.7.13/src/components/dps-ai-search/dps-feedback-card/dps-feedback-card.scss","webpack:///devplatform-app/9.7.13/src/components/dps-ai-search/dps-no-search-result/dps-no-search-result.scss","webpack:///devplatform-app/9.7.13/src/components/dps-ai-search/dps-search-result/dps-search-result.scss","webpack:///devplatform-app/9.7.13/src/components/dps-alert-container/_dps-alert-container.scss","webpack:///devplatform-app/9.7.13/src/components/dps-alert/_dps-alert.scss","webpack:///devplatform-app/9.7.13/src/components/dps-background-arch/_dps-background-arch.scss","webpack:///devplatform-app/9.7.13/src/components/dps-badge/_dps-badge.scss","webpack:///devplatform-app/9.7.13/src/components/dps-banner-container/_dps-banner-container.scss","webpack:///devplatform-app/9.7.13/src/components/dps-banner/_dps-banner.scss","webpack:///devplatform-app/9.7.13/src/components/dps-bookmark/dps-bookmark.scss","webpack:///devplatform-app/9.7.13/src/components/dps-breadcrumb/_dps-breadcrumb.scss","webpack:///devplatform-app/9.7.13/src/components/dps-button/dps-button.scss","webpack:///devplatform-app/9.7.13/src/components/dps-callout/_dps-callout.scss","webpack:///devplatform-app/9.7.13/src/components/dps-card-container/dps-card-container.scss","webpack:///devplatform-app/9.7.13/src/components/dps-card/dps-card.scss","webpack:///devplatform-app/9.7.13/src/components/dps-category-section/dps-category-section.scss","webpack:///devplatform-app/9.7.13/src/components/dps-checkbox/dps-checkbox.scss","webpack:///devplatform-app/9.7.13/src/components/dps-code-block/_dps-code-block.scss","webpack:///devplatform-app/9.7.13/src/components/dps-code-switcher/_dps-code-switcher.scss","webpack:///devplatform-app/9.7.13/src/components/dps-collapsable-module-card/_dps-collapsable-module-card.scss","webpack:///devplatform-app/9.7.13/src/components/dps-component-detail-header/dps-component-detail-header.scss","webpack:///devplatform-app/9.7.13/src/components/dps-component-detail-meta/_dps-component-detail-meta.scss","webpack:///devplatform-app/9.7.13/src/components/dps-component-detail-toc/_dps-component-detail-toc.scss","webpack:///devplatform-app/9.7.13/src/components/dps-component-detail/_dps-component-detail.scss","webpack:///devplatform-app/9.7.13/src/components/dps-component-details-block/dps-component-details-block.scss","webpack:///devplatform-app/9.7.13/src/components/dps-component-gallery-card-v3/_dps-component-gallery-card.scss","webpack:///devplatform-app/9.7.13/src/components/dps-component-gallery-card/_dps-component-gallery-card.scss","webpack:///devplatform-app/9.7.13/src/components/dps-component-gallery-search/dps-component-gallery-search.scss","webpack:///devplatform-app/9.7.13/src/components/dps-component-group-template/_dps-component-group-template.scss","webpack:///devplatform-app/9.7.13/src/components/dps-content-feedback-form/_dps-content-feedback-form.scss","webpack:///devplatform-app/9.7.13/src/components/dps-content-stack/dps-content-stack.scss","webpack:///devplatform-app/9.7.13/src/components/dps-delete-user-account-modal/dps-delete-user-account-modal.scss","webpack:///devplatform-app/9.7.13/src/components/dps-dropdown-button/_dps-dropdown-button.scss","webpack:///devplatform-app/9.7.13/src/components/dps-dropdown-panel/_dps-dropdown-panel.scss","webpack:///devplatform-app/9.7.13/src/components/dps-dropdown/_dps-dropdown.scss","webpack:///devplatform-app/9.7.13/src/components/dps-error-page/_dps-error-page.scss","webpack:///devplatform-app/9.7.13/src/components/dps-expired-session-modal/dps-expired-session-modal.scss","webpack:///devplatform-app/9.7.13/src/components/dps-feedback/_dps-feedback.scss","webpack:///devplatform-app/9.7.13/src/components/dps-fieldset/dps-fieldset.scss","webpack:///devplatform-app/9.7.13/src/components/dps-filter-bar/_dps-filter-badge.scss","webpack:///devplatform-app/9.7.13/src/components/dps-filter-bar/_dps-filter-bar.scss","webpack:///devplatform-app/9.7.13/src/components/dps-filter-nav-group/_dps-filter-nav-group.scss","webpack:///devplatform-app/9.7.13/src/components/dps-filter-nav/_dps-filter-nav.scss","webpack:///devplatform-app/9.7.13/src/components/dps-footer/dps-footer.scss","webpack:///devplatform-app/9.7.13/src/components/dps-general-feedback-form/_dps-general-feedback-form.scss","webpack:///devplatform-app/9.7.13/src/components/dps-header-carousel/_dps-header-carousel.scss","webpack:///devplatform-app/9.7.13/src/components/dps-header-carousel/components/_dps-auto-progress-bar.scss","webpack:///devplatform-app/9.7.13/src/components/dps-hierarchical-select/src/index.scss","webpack:///devplatform-app/9.7.13/src/components/dps-icon-gallery/components/dps-icon-call-out.scss","webpack:///devplatform-app/9.7.13/src/components/dps-icon-gallery/components/dps-icon-grid-item.scss","webpack:///devplatform-app/9.7.13/src/components/dps-icon-gallery/dps-icon-gallery.scss","webpack:///devplatform-app/9.7.13/src/components/dps-image-card/_dps-image-card.scss","webpack:///devplatform-app/9.7.13/src/components/dps-image-grid/dps-image-grid.scss","webpack:///devplatform-app/9.7.13/src/components/dps-image/dps-image.scss","webpack:///devplatform-app/9.7.13/src/components/dps-inline-version-selector/dps-inline-version-selector.scss","webpack:///devplatform-app/9.7.13/src/components/dps-input-autocomplete/dps-input-autocomplete.scss","webpack:///devplatform-app/9.7.13/src/components/dps-input/dps-input.scss","webpack:///devplatform-app/9.7.13/src/components/dps-instance-modal/styles.scss","webpack:///devplatform-app/9.7.13/src/components/dps-instance-sidebar/dps-instance-sidebar.scss","webpack:///devplatform-app/9.7.13/src/components/dps-lead-tracking-modal/_dps-lead-tracking-modal.scss","webpack:///devplatform-app/9.7.13/src/components/dps-learning-plans/dps-learning-plans.scss","webpack:///devplatform-app/9.7.13/src/components/dps-legal-agreement-modal/_dps-legal-agreement-modal.scss","webpack:///devplatform-app/9.7.13/src/components/dps-library-table/_dps-library-table.scss","webpack:///devplatform-app/9.7.13/src/components/dps-link/dps-link.scss","webpack:///devplatform-app/9.7.13/src/components/dps-login/dps-login.scss","webpack:///devplatform-app/9.7.13/src/components/dps-modal/dps-modal.scss","webpack:///devplatform-app/9.7.13/src/components/dps-module-modal/dps-module-modal.scss","webpack:///devplatform-app/9.7.13/src/components/dps-module-translation-bar/dps-module-translation-bar.scss","webpack:///devplatform-app/9.7.13/src/components/dps-name-generator/_dps-name-generator.scss","webpack:///devplatform-app/9.7.13/src/components/dps-navigation-header/dps-navigation-card.scss","webpack:///devplatform-app/9.7.13/src/components/dps-navigation-header/dps-navigation-header-dropdown-content.scss","webpack:///devplatform-app/9.7.13/src/components/dps-navigation-header/dps-navigation-header-dropdown.scss","webpack:///devplatform-app/9.7.13/src/components/dps-navigation-header/dps-navigation-header.scss","webpack:///devplatform-app/9.7.13/src/components/dps-navigation-header/dps-navigation-instance-management/dps-navigation-instance-management.scss","webpack:///devplatform-app/9.7.13/src/components/dps-navigation-header/dps-navigation-login-management.scss","webpack:///devplatform-app/9.7.13/src/components/dps-navigation-header/dps-navigation-section.scss","webpack:///devplatform-app/9.7.13/src/components/dps-navigation-header/dps-navigation-version-selector.scss","webpack:///devplatform-app/9.7.13/src/components/dps-navigation-sidebar/styles.scss","webpack:///devplatform-app/9.7.13/src/components/dps-overview-feedback/_dps-overview-feedback.scss","webpack:///devplatform-app/9.7.13/src/components/dps-page-header/dps-page-header.scss","webpack:///devplatform-app/9.7.13/src/components/dps-page-new-header/dps-page-new-header.scss","webpack:///devplatform-app/9.7.13/src/components/dps-pagination/_dps-pagination.scss","webpack:///devplatform-app/9.7.13/src/components/dps-playground-whats-new-modal/_dps-playground-whats-new-modal.scss","webpack:///devplatform-app/9.7.13/src/components/dps-playground/components/dps-playground-permalink-button.scss","webpack:///devplatform-app/9.7.13/src/components/dps-playground/dps-playground.scss","webpack:///devplatform-app/9.7.13/src/components/dps-prev-next-doc/_dps-prev-next-doc.scss","webpack:///devplatform-app/9.7.13/src/components/dps-progress-bar/_dps-progress-bar.scss","webpack:///devplatform-app/9.7.13/src/components/dps-progress-card/_dps-progress-card.scss","webpack:///devplatform-app/9.7.13/src/components/dps-progress-circle/_dps-progress-circle.scss","webpack:///devplatform-app/9.7.13/src/components/dps-question/_dps-question.scss","webpack:///devplatform-app/9.7.13/src/components/dps-related-components/dps-related-components.scss","webpack:///devplatform-app/9.7.13/src/components/dps-scoped-equivalent/_dps-scoped-equivalent.scss","webpack:///devplatform-app/9.7.13/src/components/dps-scr-notice/dps-scr-notice.scss","webpack:///devplatform-app/9.7.13/src/components/dps-search-category/dps-search-category.scss","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/sn-search-facets-desktop/scss/index.scss","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/sn-search-facets-mobile/scss/index.scss","webpack:///devplatform-app/9.7.13/src/components/dps-search-filter/dps-search-filter.scss","webpack:///devplatform-app/9.7.13/src/components/dps-search-result-item/dps-search-result-item.scss","webpack:///devplatform-app/9.7.13/src/components/dps-search/dps-search.scss","webpack:///devplatform-app/9.7.13/src/components/dps-shade/dps-shade.scss","webpack:///devplatform-app/9.7.13/src/components/dps-share-project-card/dps-share-project-card.scss","webpack:///devplatform-app/9.7.13/src/components/dps-share-projects/_dps-share-projects.scss","webpack:///devplatform-app/9.7.13/src/components/dps-sidebar-nav/dps-sidebar-nav.scss","webpack:///devplatform-app/9.7.13/src/components/dps-site-banner/dps-site-banner.scss","webpack:///devplatform-app/9.7.13/src/components/dps-spinner/dps-spinner.scss","webpack:///devplatform-app/9.7.13/src/components/dps-star-rating/dps-star-rating.scss","webpack:///devplatform-app/9.7.13/src/components/dps-sticky-nav/_dps-sticky-nav.scss","webpack:///devplatform-app/9.7.13/src/components/dps-tabs/_dps-tabs.scss","webpack:///devplatform-app/9.7.13/src/components/dps-template-two-column/dps-template-two-column.scss","webpack:///devplatform-app/9.7.13/src/components/dps-three-dot-menu/_dps-three-dot-menu.scss","webpack:///devplatform-app/9.7.13/src/components/dps-toast-alert/dps-toast-alert.scss","webpack:///devplatform-app/9.7.13/src/components/dps-toast-container/dps-toast-container.scss","webpack:///devplatform-app/9.7.13/src/components/dps-trending-discussions/_dps-trending-discussions.scss","webpack:///devplatform-app/9.7.13/src/components/dps-user-profile-modal/dps-user-profile-modal.scss","webpack:///devplatform-app/9.7.13/src/components/dps-video/dps-video.scss","webpack:///devplatform-app/9.7.13/src/components/dps-visuals-carousel/dps-visuals-carousel.scss","webpack:///devplatform-app/9.7.13/src/components/dps-whats-new-modal/_dps-whats-new-modal.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-ad-cards-connected/dps-ad-cards-connected.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-api-doc/api-content.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-api-doc/dps-api-docs.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-api-list/dps-api-list.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/dps-app.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-ba-progress-banner/dps-ba-progress-banner.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-build-agent-modal/dps-build-agent-modal.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-card-apis-and-libraries-card/dps-card-apis-and-libraries-card.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-card-apis-and-libraries/dps-card-apis-and-libraries.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-card-build-agent/dps-card-build-agent.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-card-build-and-deploy/dps-card-build-and-deploy.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-card-section/dps-card-section.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-citizen-dev/dps-citizen-dev.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-component-gallery-v3/dps-component-gallery.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-component-gallery/dps-component-gallery.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-connect-overview/dps-connect-overview.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-course-details/_dps-course-details.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-course-module/dps-course-module.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-design-layout/_dps-design-layout.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-design-overview/dps-design-overview.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-developer-mvp/dps-developer-mvp.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-engagement-page/dps-engagement-page.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-engagement-page/patterns/dps-aggregate-engagement-pattern-2/dps-aggregate-engagement-pattern-2.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-engagement-page/patterns/dps-aggregate-engagement-pattern-3/dps-aggregate-engagement-pattern-3.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-engagement-page/patterns/dps-engagement-page-pattern-1/dps-engagement-page-pattern-1.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-examples/styles.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-detail/dps-guides-detail.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-experience-overview/dps-guides-experience-overview.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-layout/_dps-guides-layout.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-overview/dps-guides-overview.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-platform-overview/dps-guides-platform-overview.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-auth-quebec/dps-home-auth-quebec.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-auth/dps-home-auth-new-user-banner.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-auth/dps-home-auth.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-unauth/dps-home-unauth.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-icon-gallery-connected/dps-icon-gallery-connected.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-illustration-gallery-connected/dps-illustration-gallery-connected.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-instance-assignment-modal/dps-instance-assignment-modal.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-instance-assignment-modal/requestInstance.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-learning-courses/dps-learning-courses.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-learning-module/dps-learning-module.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-learning-overview/dps-learning-overview.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-learning-tutorials/dps-learning-tutorials.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-lp-details/styles.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-lp-list/styles.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-news-and-events-carousel/dps-news-and-events-carousel.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-news-events-ad-card/dps-news-events-ad-card.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-pdi-summary/styles.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-pdi-summary/views/dps-plugin.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-pdi-summary/views/dps-upgrade-instance.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-pdi-summary/views/dps-useful-links.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-profile/styles.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-promo-banner/dps-promo-banner.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-reference-overview/dps-reference-overview.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-reference-page/dps-reference-page-api/dps-reference-page-api.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-reference-page/dps-reference-page-list/styles.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-reference-page/dps-reference-page-overview/dps-reference-page-overview.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-reference-page/dps-reference-page-uibConfig/dps-reference-page-uibConfig.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-reference-page/dps-reference-page-uibSetup/dps-reference-page-uibSetup.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-reference-page/dps-reference-page-usage/dps-reference-page-usage.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-reference-page/dps-reference-page.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-root/dps-root.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-search-bar/dps-search-bar.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-search-page/components/dps-related-search/dps-related-search.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-search-page/dps-search-page.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-search-results/dps-search-results.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-tutorial-details/dps-tutorial-details.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-tutorial-exercise/dps-tutorial-exercise.scss","webpack:///devplatform-app/9.7.13/src/connected-components/dps-version-switcher/dps-version-switcher.scss","webpack:///devplatform-app/9.7.13/src/styles/global/_link.scss","webpack:///devplatform-app/9.7.13/src/styles/global/content.scss","webpack:///devplatform-app/9.7.13/src/styles/global/index.scss","webpack:///devplatform-app/9.7.13/src/styles/theme/index.scss","webpack:///highlight.js/9.15.10/styles/agate.css","webpack:///normalize.css/8.0.1/normalize.css","webpack:///moment/2.30.1/locale|sync|/^\\.\\/.*$","webpack:///./example/dps-bookmark/dps-bookmark-example.scss?6920","webpack:///./node_modules/@devsnc/sass-form-controls-common/_customLabel.scss?8f65","webpack:///./node_modules/@devsnc/sn-carousel/src/sn-carousel/carousel.scss?244c","webpack:///./node_modules/@devsnc/sn-declarative-actions/src/field/field-renderer/view.scss?56b8","webpack:///./node_modules/@devsnc/sn-declarative-actions/src/reference-search/view.scss?9ef7","webpack:///./node_modules/@devsnc/sn-list-commons/src/components/ariaLiveRegion/ariaLiveRegion.scss?87df","webpack:///./node_modules/@devsnc/sn-recommendations-helper/src/sn-recommendations-helper/recommendations-helper.scss?7e41","webpack:///./node_modules/@devsnc/sn-record-control-wrapper/src/controlwrapper.scss?2219","webpack:///./node_modules/@devsnc/sn-record-control-wrapper/src/legacy-files/controlwrapper.scss?b723","webpack:///./node_modules/@devsnc/sn-record-control/src/style.scss?76a2","webpack:///./node_modules/@devsnc/sn-record-input/src/input.scss?b364","webpack:///./node_modules/@devsnc/sn-search-genius-card-assist/src/scss/contents/aboutPopover.scss?a6d7","webpack:///./node_modules/@devsnc/sn-search-genius-card-assist/src/scss/index.scss?3123","webpack:///./node_modules/@devsnc/sn-search-genius-card-assist/src/styles.scss?e888","webpack:///./node_modules/@devsnc/sn-search-top-results/src/sn-search-top-results/components/sn-search-gr-carousel/sn-search-gr-carousel.scss?70fd","webpack:///./node_modules/@devsnc/sn-search-top-results/src/sn-search-top-results/components/sn-search-topics/sn-search-topics.scss?d6fe","webpack:///./node_modules/@devsnc/sn-search-top-results/src/sn-search-top-results/sn-search-top-results.scss?519e","webpack:///./node_modules/@devsnc/sn-wwna/src/components/sn-preset-menu-content/styles.scss?e0c2","webpack:///./node_modules/@devsnc/sn-wwna/src/components/sn-preset-menu/styles.scss?0a82","webpack:///./node_modules/@devsnc/sn-wwna/src/components/sn-recommendation-dialog/styles.scss?75e7","webpack:///./node_modules/@servicenow/behavior-resizable/src/components/_resizable-target.scss?259d","webpack:///./node_modules/@servicenow/now-alert/src/_now-alert-list.scss?33f2","webpack:///./node_modules/@servicenow/now-alert/src/_now-alert.scss?f924","webpack:///./node_modules/@servicenow/now-avatar/src/_now-avatar.scss?a6c3","webpack:///./node_modules/@servicenow/now-badge/src/_now-badge.scss?dd36","webpack:///./node_modules/@servicenow/now-breadcrumbs/src/_now-breadcrumbs.scss?a9ac","webpack:///./node_modules/@servicenow/now-button/src/_now-button-bare.scss?aed1","webpack:///./node_modules/@servicenow/now-button/src/_now-button-circular.scss?8dc3","webpack:///./node_modules/@servicenow/now-button/src/_now-button-iconic.scss?f250","webpack:///./node_modules/@servicenow/now-button/src/_now-button-stateful.scss?fd36","webpack:///./node_modules/@servicenow/now-button/src/_now-button.scss?0df6","webpack:///./node_modules/@servicenow/now-card/src/_now-card-actions.scss?84cd","webpack:///./node_modules/@servicenow/now-card/src/_now-card-divider.scss?5c84","webpack:///./node_modules/@servicenow/now-card/src/_now-card-footer.scss?9391","webpack:///./node_modules/@servicenow/now-card/src/_now-card-header.scss?830d","webpack:///./node_modules/@servicenow/now-card/src/_now-card.scss?5f61","webpack:///./node_modules/@servicenow/now-carousel-text/src/_now-carousel-text.scss?047a","webpack:///./node_modules/@servicenow/now-checkbox/src/_now-checkbox.scss?32d9","webpack:///./node_modules/@servicenow/now-checklist/src/now-checklist/styles.scss?4326","webpack:///./node_modules/@servicenow/now-date-time/src/_now-date-time-calendar.scss?2e7e","webpack:///./node_modules/@servicenow/now-date-time/src/_now-date-time-interval.scss?0ff3","webpack:///./node_modules/@servicenow/now-date-time/src/_now-date-time.scss?75e9","webpack:///./node_modules/@servicenow/now-date-time/src/_now-input-date-time.scss?f404","webpack:///./node_modules/@servicenow/now-date-time/src/presets/_now-date-time-presets.scss?4f96","webpack:///./node_modules/@servicenow/now-dropdown/src/_now-dropdown-list.scss?f217","webpack:///./node_modules/@servicenow/now-dropdown/src/_now-dropdown-panel.scss?ebd4","webpack:///./node_modules/@servicenow/now-dropdown/src/_now-dropdown.scss?c441","webpack:///./node_modules/@servicenow/now-highlighted-value/src/_now-highlighted-value.scss?0361","webpack:///./node_modules/@servicenow/now-icon/src/_now-icon.scss?a0de","webpack:///./node_modules/@servicenow/now-image/src/_now-image.scss?9b2f","webpack:///./node_modules/@servicenow/now-input/src/_now-input-password.scss?9013","webpack:///./node_modules/@servicenow/now-input/src/_now-input-phone.scss?b286","webpack:///./node_modules/@servicenow/now-input/src/_now-input-url.scss?d2a6","webpack:///./node_modules/@servicenow/now-input/src/_now-input.scss?4299","webpack:///./node_modules/@servicenow/now-input/src/form-field/_popover-content.scss?4bfb","webpack:///./node_modules/@servicenow/now-label-value/src/_now-label-value-inline.scss?6f28","webpack:///./node_modules/@servicenow/now-label-value/src/_now-label-value-stacked.scss?370e","webpack:///./node_modules/@servicenow/now-label-value/src/_now-label-value-tabbed.scss?9142","webpack:///./node_modules/@servicenow/now-legacy-icon/src/_now-legacy-icon.scss?8099","webpack:///./node_modules/@servicenow/now-list/src/now-list/main.scss?3579","webpack:///./node_modules/@servicenow/now-list/src/now-list/now-list-gallery/views/galleryView.scss?f20a","webpack:///./node_modules/@servicenow/now-list/src/now-list/now-list-gallery/views/truncatedTextMore/styles.scss?5fa6","webpack:///./node_modules/@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/popoverCellEditorContent.scss?95ae","webpack:///./node_modules/@servicenow/now-list/src/now-list/shared/views/popover/popoverChoiceColumnFilterContent/popoverChoiceColumnFilterContent.scss?7246","webpack:///./node_modules/@servicenow/now-list/src/now-list/shared/views/popover/popoverCustomContent/popoverCustomContent.scss?3063","webpack:///./node_modules/@servicenow/now-list/src/now-list/shared/views/popover/popoverListContent/popoverListContent.scss?bc1d","webpack:///./node_modules/@servicenow/now-list/src/now-list/shared/views/popover/popoverTextContent/popoverTextContent.scss?be2a","webpack:///./node_modules/@servicenow/now-list/src/now-list/shared/views/table/tableHeaders/tableHeaderCell/columnHeaderClone.scss?1e02","webpack:///./node_modules/@servicenow/now-list/src/now-list/shared/views/timeAgoDisplay/timeAgoDisplay.scss?bcd2","webpack:///./node_modules/@servicenow/now-loader/src/_now-loader-custom.scss?1d35","webpack:///./node_modules/@servicenow/now-loader/src/_now-loader-skeleton.scss?88dd","webpack:///./node_modules/@servicenow/now-loader/src/_now-loader.scss?c4dd","webpack:///./node_modules/@servicenow/now-message/src/_now-message.scss?1f2a","webpack:///./node_modules/@servicenow/now-modal/src/_now-modal.scss?e830","webpack:///./node_modules/@servicenow/now-modeless-dialog/src/_now-modeless-dialog.scss?7b4c","webpack:///./node_modules/@servicenow/now-pagination-control/src/_now-pagination-control.scss?850b","webpack:///./node_modules/@servicenow/now-pill/src/_now-pill.scss?2a00","webpack:///./node_modules/@servicenow/now-popover/src/_now-popover-panel.scss?a7be","webpack:///./node_modules/@servicenow/now-progress-bar/src/_now-progress-bar.scss?d760","webpack:///./node_modules/@servicenow/now-radio-buttons/src/_now-radio-buttons.scss?f92a","webpack:///./node_modules/@servicenow/now-record-html-editor/src/html.scss?f430","webpack:///./node_modules/@servicenow/now-select/src/_now-select.scss?5c72","webpack:///./node_modules/@servicenow/now-stepper/src/_now-stepper.scss?85df","webpack:///./node_modules/@servicenow/now-tabs/src/_now-tabs-vertical.scss?e734","webpack:///./node_modules/@servicenow/now-tabs/src/_now-tabs.scss?48af","webpack:///./node_modules/@servicenow/now-template-message/node_modules/@servicenow/now-illustration/src/_now-illustration-custom.scss?8532","webpack:///./node_modules/@servicenow/now-template-message/node_modules/@servicenow/now-illustration/src/_now-illustration.scss?2e40","webpack:///./node_modules/@servicenow/now-template-message/src/_now-template-message-empty-state.scss?c268","webpack:///./node_modules/@servicenow/now-text-link/src/_now-text-link.scss?e5ff","webpack:///./node_modules/@servicenow/now-textarea/src/_now-textarea.scss?56a6","webpack:///./node_modules/@servicenow/now-toggle/src/_now-toggle.scss?1e46","webpack:///./node_modules/@servicenow/now-tooltip/src/_now-tooltip.scss?53b8","webpack:///./node_modules/@servicenow/now-typeahead/src/_now-typeahead.scss?50fb","webpack:///./node_modules/sn-cx-navigation/src/components/sn-cx-badge-connected/styles.scss?225a","webpack:///./node_modules/sn-cx-navigation/src/components/sn-cx-navigation/styles.scss?c4bd","webpack:///./node_modules/sn-cx-shell-addon/node_modules/@servicenow/now-collapse/src/_now-collapse.scss?0bda","webpack:///./node_modules/sn-cx-shell-addon/node_modules/@servicenow/now-heading/src/_now-heading.scss?e46c","webpack:///./node_modules/sn-cx-shell-addon/node_modules/@servicenow/now-uxf-page/src/uxf-bare-modal/styles.scss?c859","webpack:///./node_modules/sn-cx-shell-addon/node_modules/@servicenow/now-uxf-page/src/uxf-page-container/styles.scss?0c8d","webpack:///./node_modules/sn-cx-shell-addon/node_modules/@servicenow/now-uxf-page/src/uxf-page-notifications/styles.scss?0cb2","webpack:///./node_modules/sn-cx-shell-addon/node_modules/@servicenow/now-uxf-page/src/uxf-page-simple-container/styles.scss?3fa5","webpack:///./node_modules/sn-cx-shell-addon/node_modules/@servicenow/now-uxf-page/src/uxf-page/styles.scss?b3e1","webpack:///./node_modules/sn-cx-shell-addon/node_modules/@servicenow/now-uxf-page/src/uxf-viewport-screen/styles.scss?aaae","webpack:///./node_modules/sn-cx-shell-addon/node_modules/@servicenow/now-uxf-page/src/uxf-viewport/styles.scss?645f","webpack:///./node_modules/sn-cx-shell-addon/src/components/sn-cx-breadcrumbs/styles.scss?e306","webpack:///./node_modules/sn-cx-shell-addon/src/components/sn-cx-footer/styles.scss?4afa","webpack:///./node_modules/sn-cx-shell-addon/src/components/sn-cx-page/sn-cx-page.scss?a008","webpack:///./node_modules/sn-cx-shell-addon/src/components/sn-cx-search-input/sn-cx-search-input-desktop/index.scss?255c","webpack:///./node_modules/sn-cx-shell-addon/src/components/sn-cx-search-modal/styles.scss?f5fd","webpack:///./node_modules/sn-cx-shell-addon/src/components/sn-cx-side-panel/sn-cx-side-panel.scss?283c","webpack:///./node_modules/sn-par-filter-common-components/src/iconic-help/iconic-help.scss?1e4d","webpack:///./node_modules/sn-par-filter/src/filter/boolean/boolean.scss?5ad4","webpack:///./node_modules/sn-par-filter/src/filter/checkboxes/checkboxes.scss?ceff","webpack:///./node_modules/sn-par-filter/src/filter/daterange-content/daterange-content.scss?8ce0","webpack:///./node_modules/sn-par-filter/src/filter/daterange-content/daterange-panel/daterange-panel.scss?5039","webpack:///./node_modules/sn-par-filter/src/filter/filter.scss?d891","webpack:///./node_modules/sn-par-filter/src/filter/list-content/list-content.scss?926a","webpack:///./node_modules/sn-par-filter/src/filter/list-content/list-multi/list-multi.scss?0172","webpack:///./node_modules/sn-par-filter/src/filter/list-content/list-search/list-search.scss?b9e8","webpack:///./node_modules/sn-par-filter/src/filter/list-content/list-single/list-single.scss?32e9","webpack:///./node_modules/sn-par-filter/src/filter/list-content/list-sort/list-sort.scss?59e3","webpack:///./node_modules/sn-par-filter/src/filter/pill-variant/pill-variant.scss?0d95","webpack:///./node_modules/sn-par-filter/src/filter/popup/popup.scss?bd2b","webpack:///./node_modules/sn-par-filter/src/filter/radiobuttons/radiobuttons.scss?5fa4","webpack:///./node_modules/sn-par-filter/src/filter/typeahead/typeahead.scss?7f0e","webpack:///./node_modules/sn-par-filter/src/listbox/listbox.scss?878c","webpack:///./node_modules/sn-par-filter/src/slush-bucket/slush-bucket.scss?71e9","webpack:///./src/components/dps-accordion/dps-accordion.scss?2d86","webpack:///./src/components/dps-ad-card/dps-ad-card.scss?57a2","webpack:///./src/components/dps-ai-search/dps-ai-search.scss?34c0","webpack:///./src/components/dps-ai-search/dps-card-loading/dps-card-loading.scss?8db5","webpack:///./src/components/dps-ai-search/dps-fallback-top-result/styles.scss?782b","webpack:///./src/components/dps-ai-search/dps-feedback-card/dps-feedback-card.scss?899d","webpack:///./src/components/dps-ai-search/dps-no-search-result/dps-no-search-result.scss?0242","webpack:///./src/components/dps-ai-search/dps-search-result/dps-search-result.scss?2471","webpack:///./src/components/dps-alert-container/_dps-alert-container.scss?3e7f","webpack:///./src/components/dps-alert/_dps-alert.scss?f0c4","webpack:///./src/components/dps-background-arch/_dps-background-arch.scss?7def","webpack:///./src/components/dps-badge/_dps-badge.scss?95d7","webpack:///./src/components/dps-banner-container/_dps-banner-container.scss?2c4f","webpack:///./src/components/dps-banner/_dps-banner.scss?22ea","webpack:///./src/components/dps-bookmark/dps-bookmark.scss?d28d","webpack:///./src/components/dps-breadcrumb/_dps-breadcrumb.scss?daeb","webpack:///./src/components/dps-button/dps-button.scss?69fc","webpack:///./src/components/dps-callout/_dps-callout.scss?74f8","webpack:///./src/components/dps-card-container/dps-card-container.scss?2d10","webpack:///./src/components/dps-card/dps-card.scss?f830","webpack:///./src/components/dps-category-section/dps-category-section.scss?f70f","webpack:///./src/components/dps-checkbox/dps-checkbox.scss?c73f","webpack:///./src/components/dps-code-block/_dps-code-block.scss?6201","webpack:///./src/components/dps-code-switcher/_dps-code-switcher.scss?f0fe","webpack:///./src/components/dps-collapsable-module-card/_dps-collapsable-module-card.scss?1d65","webpack:///./src/components/dps-component-detail-header/dps-component-detail-header.scss?8f25","webpack:///./src/components/dps-component-detail-meta/_dps-component-detail-meta.scss?526d","webpack:///./src/components/dps-component-detail-toc/_dps-component-detail-toc.scss?559a","webpack:///./src/components/dps-component-detail/_dps-component-detail.scss?e4f8","webpack:///./src/components/dps-component-details-block/dps-component-details-block.scss?a802","webpack:///./src/components/dps-component-gallery-card-v3/_dps-component-gallery-card.scss?9d35","webpack:///./src/components/dps-component-gallery-card/_dps-component-gallery-card.scss?54bd","webpack:///./src/components/dps-component-gallery-search/dps-component-gallery-search.scss?22e2","webpack:///./src/components/dps-component-group-template/_dps-component-group-template.scss?9a80","webpack:///./src/components/dps-content-feedback-form/_dps-content-feedback-form.scss?00dd","webpack:///./src/components/dps-content-stack/dps-content-stack.scss?ae45","webpack:///./src/components/dps-delete-user-account-modal/dps-delete-user-account-modal.scss?734e","webpack:///./src/components/dps-dropdown-button/_dps-dropdown-button.scss?5a20","webpack:///./src/components/dps-dropdown-panel/_dps-dropdown-panel.scss?0c0d","webpack:///./src/components/dps-dropdown/_dps-dropdown.scss?dd29","webpack:///./src/components/dps-error-page/_dps-error-page.scss?9e4e","webpack:///./src/components/dps-expired-session-modal/dps-expired-session-modal.scss?ecca","webpack:///./src/components/dps-feedback/_dps-feedback.scss?d220","webpack:///./src/components/dps-fieldset/dps-fieldset.scss?bd0f","webpack:///./src/components/dps-filter-bar/_dps-filter-badge.scss?fac8","webpack:///./src/components/dps-filter-bar/_dps-filter-bar.scss?5c09","webpack:///./src/components/dps-filter-nav-group/_dps-filter-nav-group.scss?3bd9","webpack:///./src/components/dps-filter-nav/_dps-filter-nav.scss?69d0","webpack:///./src/components/dps-footer/dps-footer.scss?c790","webpack:///./src/components/dps-general-feedback-form/_dps-general-feedback-form.scss?56ae","webpack:///./src/components/dps-header-carousel/_dps-header-carousel.scss?7411","webpack:///./src/components/dps-header-carousel/components/_dps-auto-progress-bar.scss?4d40","webpack:///./src/components/dps-hierarchical-select/src/index.scss?bdee","webpack:///./src/components/dps-icon-gallery/components/dps-icon-call-out.scss?501c","webpack:///./src/components/dps-icon-gallery/components/dps-icon-grid-item.scss?3397","webpack:///./src/components/dps-icon-gallery/dps-icon-gallery.scss?c2ea","webpack:///./src/components/dps-image-card/_dps-image-card.scss?b85c","webpack:///./src/components/dps-image-grid/dps-image-grid.scss?f7ab","webpack:///./src/components/dps-image/dps-image.scss?5068","webpack:///./src/components/dps-inline-version-selector/dps-inline-version-selector.scss?7606","webpack:///./src/components/dps-input-autocomplete/dps-input-autocomplete.scss?aa6b","webpack:///./src/components/dps-input/dps-input.scss?4e68","webpack:///./src/components/dps-instance-modal/styles.scss?444b","webpack:///./src/components/dps-instance-sidebar/dps-instance-sidebar.scss?9f4b","webpack:///./src/components/dps-lead-tracking-modal/_dps-lead-tracking-modal.scss?1294","webpack:///./src/components/dps-learning-plans/dps-learning-plans.scss?6c9c","webpack:///./src/components/dps-legal-agreement-modal/_dps-legal-agreement-modal.scss?6913","webpack:///./src/components/dps-library-table/_dps-library-table.scss?65f8","webpack:///./src/components/dps-link/dps-link.scss?5a77","webpack:///./src/components/dps-login/dps-login.scss?e0ae","webpack:///./src/components/dps-modal/dps-modal.scss?3849","webpack:///./src/components/dps-module-modal/dps-module-modal.scss?2bbd","webpack:///./src/components/dps-module-translation-bar/dps-module-translation-bar.scss?d8ca","webpack:///./src/components/dps-name-generator/_dps-name-generator.scss?e675","webpack:///./src/components/dps-navigation-header/dps-navigation-card.scss?0c82","webpack:///./src/components/dps-navigation-header/dps-navigation-header-dropdown-content.scss?b608","webpack:///./src/components/dps-navigation-header/dps-navigation-header-dropdown.scss?8772","webpack:///./src/components/dps-navigation-header/dps-navigation-header.scss?d794","webpack:///./src/components/dps-navigation-header/dps-navigation-instance-management/dps-navigation-instance-management.scss?b05a","webpack:///./src/components/dps-navigation-header/dps-navigation-login-management.scss?9d08","webpack:///./src/components/dps-navigation-header/dps-navigation-section.scss?2bef","webpack:///./src/components/dps-navigation-header/dps-navigation-version-selector.scss?f249","webpack:///./src/components/dps-navigation-sidebar/styles.scss?2566","webpack:///./src/components/dps-overview-feedback/_dps-overview-feedback.scss?e79a","webpack:///./src/components/dps-page-header/dps-page-header.scss?51d1","webpack:///./src/components/dps-page-new-header/dps-page-new-header.scss?2f60","webpack:///./src/components/dps-pagination/_dps-pagination.scss?2177","webpack:///./src/components/dps-playground-whats-new-modal/_dps-playground-whats-new-modal.scss?dcf9","webpack:///./src/components/dps-playground/components/dps-playground-permalink-button.scss?d104","webpack:///./src/components/dps-playground/dps-playground.scss?e4cf","webpack:///./src/components/dps-prev-next-doc/_dps-prev-next-doc.scss?dbb9","webpack:///./src/components/dps-progress-bar/_dps-progress-bar.scss?4628","webpack:///./src/components/dps-progress-card/_dps-progress-card.scss?a4c7","webpack:///./src/components/dps-progress-circle/_dps-progress-circle.scss?13dc","webpack:///./src/components/dps-question/_dps-question.scss?577d","webpack:///./src/components/dps-related-components/dps-related-components.scss?5b1b","webpack:///./src/components/dps-scoped-equivalent/_dps-scoped-equivalent.scss?dea8","webpack:///./src/components/dps-scr-notice/dps-scr-notice.scss?1525","webpack:///./src/components/dps-search-category/dps-search-category.scss?382f","webpack:///./src/components/dps-search-facets/src/sn-search-facets-desktop/scss/index.scss?9de5","webpack:///./src/components/dps-search-facets/src/sn-search-facets-mobile/scss/index.scss?be3b","webpack:///./src/components/dps-search-filter/dps-search-filter.scss?f353","webpack:///./src/components/dps-search-result-item/dps-search-result-item.scss?896e","webpack:///./src/components/dps-search/dps-search.scss?c7b9","webpack:///./src/components/dps-shade/dps-shade.scss?af54","webpack:///./src/components/dps-share-project-card/dps-share-project-card.scss?0d83","webpack:///./src/components/dps-share-projects/_dps-share-projects.scss?6401","webpack:///./src/components/dps-sidebar-nav/dps-sidebar-nav.scss?7b26","webpack:///./src/components/dps-site-banner/dps-site-banner.scss?b284","webpack:///./src/components/dps-spinner/dps-spinner.scss?f02d","webpack:///./src/components/dps-star-rating/dps-star-rating.scss?9b2e","webpack:///./src/components/dps-sticky-nav/_dps-sticky-nav.scss?c2ea","webpack:///./src/components/dps-tabs/_dps-tabs.scss?6376","webpack:///./src/components/dps-template-two-column/dps-template-two-column.scss?de79","webpack:///./src/components/dps-three-dot-menu/_dps-three-dot-menu.scss?98de","webpack:///./src/components/dps-toast-alert/dps-toast-alert.scss?ad14","webpack:///./src/components/dps-toast-container/dps-toast-container.scss?a9bf","webpack:///./src/components/dps-trending-discussions/_dps-trending-discussions.scss?2730","webpack:///./src/components/dps-user-profile-modal/dps-user-profile-modal.scss?f3ea","webpack:///./src/components/dps-video/dps-video.scss?c649","webpack:///./src/components/dps-visuals-carousel/dps-visuals-carousel.scss?bbc6","webpack:///./src/components/dps-whats-new-modal/_dps-whats-new-modal.scss?fc01","webpack:///./src/connected-components/dps-ad-cards-connected/dps-ad-cards-connected.scss?cf32","webpack:///./src/connected-components/dps-api-doc/api-content.scss?b9de","webpack:///./src/connected-components/dps-api-doc/dps-api-docs.scss?4f32","webpack:///./src/connected-components/dps-api-list/dps-api-list.scss?f8e3","webpack:///./src/connected-components/dps-app/dps-app.scss?eced","webpack:///./src/connected-components/dps-ba-progress-banner/dps-ba-progress-banner.scss?731c","webpack:///./src/connected-components/dps-build-agent-modal/dps-build-agent-modal.scss?ff53","webpack:///./src/connected-components/dps-card-apis-and-libraries-card/dps-card-apis-and-libraries-card.scss?18f6","webpack:///./src/connected-components/dps-card-apis-and-libraries/dps-card-apis-and-libraries.scss?ef26","webpack:///./src/connected-components/dps-card-build-agent/dps-card-build-agent.scss?72e6","webpack:///./src/connected-components/dps-card-build-and-deploy/dps-card-build-and-deploy.scss?df29","webpack:///./src/connected-components/dps-card-section/dps-card-section.scss?9df2","webpack:///./src/connected-components/dps-citizen-dev/dps-citizen-dev.scss?8512","webpack:///./src/connected-components/dps-component-gallery-v3/dps-component-gallery.scss?dc52","webpack:///./src/connected-components/dps-component-gallery/dps-component-gallery.scss?12fc","webpack:///./src/connected-components/dps-connect-overview/dps-connect-overview.scss?977d","webpack:///./src/connected-components/dps-course-details/_dps-course-details.scss?0f65","webpack:///./src/connected-components/dps-course-module/dps-course-module.scss?dfdb","webpack:///./src/connected-components/dps-design-layout/_dps-design-layout.scss?4218","webpack:///./src/connected-components/dps-design-overview/dps-design-overview.scss?7f81","webpack:///./src/connected-components/dps-developer-mvp/dps-developer-mvp.scss?9125","webpack:///./src/connected-components/dps-engagement-page/dps-engagement-page.scss?a058","webpack:///./src/connected-components/dps-engagement-page/patterns/dps-aggregate-engagement-pattern-2/dps-aggregate-engagement-pattern-2.scss?e57b","webpack:///./src/connected-components/dps-engagement-page/patterns/dps-aggregate-engagement-pattern-3/dps-aggregate-engagement-pattern-3.scss?9420","webpack:///./src/connected-components/dps-engagement-page/patterns/dps-engagement-page-pattern-1/dps-engagement-page-pattern-1.scss?27e6","webpack:///./src/connected-components/dps-examples/styles.scss?82a6","webpack:///./src/connected-components/dps-guides-detail/dps-guides-detail.scss?b8dc","webpack:///./src/connected-components/dps-guides-experience-overview/dps-guides-experience-overview.scss?542e","webpack:///./src/connected-components/dps-guides-layout/_dps-guides-layout.scss?bf05","webpack:///./src/connected-components/dps-guides-overview/dps-guides-overview.scss?7bcd","webpack:///./src/connected-components/dps-guides-platform-overview/dps-guides-platform-overview.scss?c918","webpack:///./src/connected-components/dps-home-auth-quebec/dps-home-auth-quebec.scss?7d53","webpack:///./src/connected-components/dps-home-auth/dps-home-auth-new-user-banner.scss?dd9e","webpack:///./src/connected-components/dps-home-auth/dps-home-auth.scss?7c25","webpack:///./src/connected-components/dps-home-unauth/dps-home-unauth.scss?cd71","webpack:///./src/connected-components/dps-icon-gallery-connected/dps-icon-gallery-connected.scss?4433","webpack:///./src/connected-components/dps-illustration-gallery-connected/dps-illustration-gallery-connected.scss?2bb5","webpack:///./src/connected-components/dps-instance-assignment-modal/dps-instance-assignment-modal.scss?4cca","webpack:///./src/connected-components/dps-instance-assignment-modal/requestInstance.scss?f56a","webpack:///./src/connected-components/dps-learning-courses/dps-learning-courses.scss?00d8","webpack:///./src/connected-components/dps-learning-module/dps-learning-module.scss?96a5","webpack:///./src/connected-components/dps-learning-overview/dps-learning-overview.scss?fafe","webpack:///./src/connected-components/dps-learning-tutorials/dps-learning-tutorials.scss?5a8d","webpack:///./src/connected-components/dps-lp-details/styles.scss?11de","webpack:///./src/connected-components/dps-lp-list/styles.scss?23a2","webpack:///./src/connected-components/dps-news-and-events-carousel/dps-news-and-events-carousel.scss?e502","webpack:///./src/connected-components/dps-news-events-ad-card/dps-news-events-ad-card.scss?55bb","webpack:///./src/connected-components/dps-pdi-summary/styles.scss?b9d3","webpack:///./src/connected-components/dps-pdi-summary/views/dps-plugin.scss?f486","webpack:///./src/connected-components/dps-pdi-summary/views/dps-upgrade-instance.scss?720f","webpack:///./src/connected-components/dps-pdi-summary/views/dps-useful-links.scss?262a","webpack:///./src/connected-components/dps-profile/styles.scss?30ba","webpack:///./src/connected-components/dps-promo-banner/dps-promo-banner.scss?51ac","webpack:///./src/connected-components/dps-reference-overview/dps-reference-overview.scss?aa31","webpack:///./src/connected-components/dps-reference-page/dps-reference-page-api/dps-reference-page-api.scss?7b17","webpack:///./src/connected-components/dps-reference-page/dps-reference-page-list/styles.scss?75f4","webpack:///./src/connected-components/dps-reference-page/dps-reference-page-overview/dps-reference-page-overview.scss?8050","webpack:///./src/connected-components/dps-reference-page/dps-reference-page-uibConfig/dps-reference-page-uibConfig.scss?bf2b","webpack:///./src/connected-components/dps-reference-page/dps-reference-page-uibSetup/dps-reference-page-uibSetup.scss?1cac","webpack:///./src/connected-components/dps-reference-page/dps-reference-page-usage/dps-reference-page-usage.scss?1312","webpack:///./src/connected-components/dps-reference-page/dps-reference-page.scss?0ecf","webpack:///./src/connected-components/dps-root/dps-root.scss?b56a","webpack:///./src/connected-components/dps-search-bar/dps-search-bar.scss?6302","webpack:///./src/connected-components/dps-search-page/components/dps-related-search/dps-related-search.scss?9366","webpack:///./src/connected-components/dps-search-page/dps-search-page.scss?2769","webpack:///./src/connected-components/dps-search-results/dps-search-results.scss?bdcc","webpack:///./src/connected-components/dps-tutorial-details/dps-tutorial-details.scss?38c4","webpack:///./src/connected-components/dps-tutorial-exercise/dps-tutorial-exercise.scss?c24c","webpack:///./src/connected-components/dps-version-switcher/dps-version-switcher.scss?d14e","webpack:///./src/styles/global/_link.scss?347a","webpack:///./src/styles/global/content.scss?07bd","webpack:///./src/styles/global/index.scss?1659","webpack:///./src/styles/theme/index.scss?2b5f","webpack:///@babel/runtime/7.28.3/helpers/OverloadYield.js","webpack:///@babel/runtime/7.28.3/helpers/arrayLikeToArray.js","webpack:///@babel/runtime/7.28.3/helpers/arrayWithHoles.js","webpack:///@babel/runtime/7.28.3/helpers/arrayWithoutHoles.js","webpack:///@babel/runtime/7.28.3/helpers/assertThisInitialized.js","webpack:///@babel/runtime/7.28.3/helpers/asyncGeneratorDelegate.js","webpack:///@babel/runtime/7.28.3/helpers/asyncToGenerator.js","webpack:///@babel/runtime/7.28.3/helpers/awaitAsyncGenerator.js","webpack:///@babel/runtime/7.28.3/helpers/classCallCheck.js","webpack:///@babel/runtime/7.28.3/helpers/construct.js","webpack:///@babel/runtime/7.28.3/helpers/createClass.js","webpack:///@babel/runtime/7.28.3/helpers/defineProperty.js","webpack:///@babel/runtime/7.28.3/helpers/extends.js","webpack:///@babel/runtime/7.28.3/helpers/get.js","webpack:///@babel/runtime/7.28.3/helpers/getPrototypeOf.js","webpack:///@babel/runtime/7.28.3/helpers/inherits.js","webpack:///@babel/runtime/7.28.3/helpers/interopRequireDefault.js","webpack:///@babel/runtime/7.28.3/helpers/isNativeFunction.js","webpack:///@babel/runtime/7.28.3/helpers/isNativeReflectConstruct.js","webpack:///@babel/runtime/7.28.3/helpers/iterableToArray.js","webpack:///@babel/runtime/7.28.3/helpers/iterableToArrayLimit.js","webpack:///@babel/runtime/7.28.3/helpers/nonIterableRest.js","webpack:///@babel/runtime/7.28.3/helpers/nonIterableSpread.js","webpack:///@babel/runtime/7.28.3/helpers/objectDestructuringEmpty.js","webpack:///@babel/runtime/7.28.3/helpers/objectWithoutProperties.js","webpack:///@babel/runtime/7.28.3/helpers/objectWithoutPropertiesLoose.js","webpack:///@babel/runtime/7.28.3/helpers/possibleConstructorReturn.js","webpack:///@babel/runtime/7.28.3/helpers/readOnlyError.js","webpack:///@babel/runtime/7.28.3/helpers/regenerator.js","webpack:///@babel/runtime/7.28.3/helpers/regeneratorAsync.js","webpack:///@babel/runtime/7.28.3/helpers/regeneratorAsyncGen.js","webpack:///@babel/runtime/7.28.3/helpers/regeneratorAsyncIterator.js","webpack:///@babel/runtime/7.28.3/helpers/regeneratorDefine.js","webpack:///@babel/runtime/7.28.3/helpers/regeneratorKeys.js","webpack:///@babel/runtime/7.28.3/helpers/regeneratorRuntime.js","webpack:///@babel/runtime/7.28.3/helpers/regeneratorValues.js","webpack:///@babel/runtime/7.28.3/helpers/setPrototypeOf.js","webpack:///@babel/runtime/7.28.3/helpers/slicedToArray.js","webpack:///@babel/runtime/7.28.3/helpers/superPropBase.js","webpack:///@babel/runtime/7.28.3/helpers/taggedTemplateLiteral.js","webpack:///@babel/runtime/7.28.3/helpers/toArray.js","webpack:///@babel/runtime/7.28.3/helpers/toConsumableArray.js","webpack:///@babel/runtime/7.28.3/helpers/toPrimitive.js","webpack:///@babel/runtime/7.28.3/helpers/toPropertyKey.js","webpack:///@babel/runtime/7.28.3/helpers/typeof.js","webpack:///@babel/runtime/7.28.3/helpers/unsupportedIterableToArray.js","webpack:///@babel/runtime/7.28.3/helpers/wrapAsyncGenerator.js","webpack:///@babel/runtime/7.28.3/helpers/wrapNativeSuper.js","webpack:///@babel/runtime/7.28.3/regenerator/index.js","webpack:///available-typed-arrays/1.0.7/index.js","webpack:///@devsnc/ux-metrics/src/constants.js","webpack:///@devsnc/ux-metrics/src/track.js","webpack:///@devsnc/ux-metrics/src/index.js","webpack:///@devsnc/snowdash/28.1.8/src/assign.js","webpack:///@devsnc/snowdash/28.1.8/src/camelCase.js","webpack:///@devsnc/snowdash/28.1.8/src/compact.js","webpack:///@devsnc/snowdash/28.1.8/src/debounce.js","webpack:///@devsnc/snowdash/28.1.8/src/defaultTo.js","webpack:///@devsnc/snowdash/28.1.8/src/difference.js","webpack:///@devsnc/snowdash/28.1.8/src/escape.js","webpack:///@devsnc/snowdash/28.1.8/src/filter.js","webpack:///@devsnc/snowdash/28.1.8/src/find.js","webpack:///@devsnc/snowdash/28.1.8/src/findKey.js","webpack:///@devsnc/snowdash/28.1.8/src/first.js","webpack:///@devsnc/snowdash/28.1.8/src/flatMap.js","webpack:///@devsnc/snowdash/28.1.8/src/forEach.js","webpack:///@devsnc/snowdash/28.1.8/src/forOwn.js","webpack:///@devsnc/snowdash/28.1.8/src/isEmpty.js","webpack:///@devsnc/snowdash/28.1.8/src/get.js","webpack:///@devsnc/snowdash/28.1.8/src/isObject.js","webpack:///@devsnc/snowdash/28.1.8/src/has.js","webpack:///@devsnc/snowdash/28.1.8/src/hasIn.js","webpack:///@devsnc/snowdash/28.1.8/src/identity.js","webpack:///@devsnc/snowdash/28.1.8/src/includes.js","webpack:///@devsnc/snowdash/28.1.8/src/inRange.js","webpack:///@devsnc/snowdash/28.1.8/src/isArray.js","webpack:///@devsnc/snowdash/28.1.8/src/isBoolean.js","webpack:///@devsnc/snowdash/28.1.8/src/isEqual.js","webpack:///@devsnc/snowdash/28.1.8/src/isFunction.js","webpack:///@devsnc/snowdash/28.1.8/src/isMap.js","webpack:///@devsnc/snowdash/28.1.8/src/isNil.js","webpack:///@devsnc/snowdash/28.1.8/src/isNull.js","webpack:///@devsnc/snowdash/28.1.8/src/isNumber.js","webpack:///@devsnc/snowdash/28.1.8/src/isPlainObject.js","webpack:///@devsnc/snowdash/28.1.8/src/isString.js","webpack:///@devsnc/snowdash/28.1.8/src/isUndefined.js","webpack:///@devsnc/snowdash/28.1.8/src/kebabCase.js","webpack:///@devsnc/snowdash/28.1.8/src/map.js","webpack:///@devsnc/snowdash/28.1.8/src/mapKeys.js","webpack:///@devsnc/snowdash/28.1.8/src/mapValues.js","webpack:///@devsnc/snowdash/28.1.8/src/mergeWith.js","webpack:///@devsnc/snowdash/28.1.8/src/negate.js","webpack:///@devsnc/snowdash/28.1.8/src/noop.js","webpack:///@devsnc/snowdash/28.1.8/src/omit.js","webpack:///@devsnc/snowdash/28.1.8/src/partial.js","webpack:///@devsnc/snowdash/28.1.8/src/partition.js","webpack:///@devsnc/snowdash/28.1.8/src/reduce.js","webpack:///@devsnc/snowdash/28.1.8/src/set.js","webpack:///@devsnc/snowdash/28.1.8/src/snakeCase.js","webpack:///@devsnc/snowdash/28.1.8/src/some.js","webpack:///@devsnc/snowdash/28.1.8/src/toLower.js","webpack:///@devsnc/snowdash/28.1.8/src/union.js","webpack:///@devsnc/snowdash/28.1.8/src/uniq.js","webpack:///@devsnc/snowdash/28.1.8/src/uniqBy.js","webpack:///@devsnc/snowdash/28.1.8/src/values.js","webpack:///chai-a11y-axe/1.4.0/src/axe-import.js","webpack:///chai-a11y-axe/1.4.0/src/accessible.js","webpack:///chai/4.5.0/index.mjs","webpack:///../src/utils.ts","webpack:///../src/tags.ts","webpack:///../src/attrs.ts","webpack:///../src/regexp.ts","webpack:///../src/purify.ts","webpack:///generator-function/2.0.1/index.mjs","webpack:///node-fetch/2.7.0/lib/index.mjs","webpack:///webpack/bootstrap","webpack:///webpack/runtime/create fake namespace object","webpack:///webpack/runtime/amd options","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/harmony module decorator","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/node module decorator","webpack:///webpack/runtime/jsonp chunk loading","webpack:///devplatform-app/9.7.13/src/constants.js","webpack:///devplatform-app/9.7.13/src/utils/sessionService.js","webpack:///devplatform-app/9.7.13/src/behaviors/ambEventEffect/actions.js","webpack:///devplatform-app/9.7.13/src/behaviors/ambEventEffect/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/behaviors/ambEventEffect/index.js","webpack:///devplatform-app/9.7.13/src/behaviors/detectSSOLogin.js","webpack:///devplatform-app/9.7.13/src/utils/transformReleaseName.js","webpack:///devplatform-app/9.7.13/src/utils/storage.js","webpack:///devplatform-app/9.7.13/src/components/dps-navigation-header/actions.js","webpack:///devplatform-app/9.7.13/src/utils/url.js","webpack:///devplatform-app/9.7.13/src/utils/memStorage.js","webpack:///devplatform-app/9.7.13/src/utils/releaseHelpers.js","webpack:///devplatform-app/9.7.13/src/utils/helpers.js","webpack:///devplatform-app/9.7.13/src/utils/inactivityService.js","webpack:///devplatform-app/9.7.13/src/behaviors/inactivityMonitor.js","webpack:///devplatform-app/9.7.13/src/behaviors/windowMessage.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actions.js","webpack:///devplatform-app/9.7.13/src/components/dps-legal-agreement-modal/actions.js","webpack:///devplatform-app/9.7.13/src/components/dps-lead-tracking-modal/actions.js","webpack:///devplatform-app/9.7.13/src/components/dps-inline-version-selector/actions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-instance-assignment-modal/actions.js","webpack:///devplatform-app/9.7.13/src/components/dps-instance-modal/actions.js","webpack:///devplatform-app/9.7.13/src/components/dps-instance-sidebar/dps-instance-sidebar-actions.js","webpack:///devplatform-app/9.7.13/src/components/dps-site-banner/actions.js","webpack:///devplatform-app/9.7.13/src/components/dps-toast-alert/actions.js","webpack:///devplatform-app/9.7.13/src/utils/instanceHelpers.js","webpack:///devplatform-app/9.7.13/src/behaviors/router/helpers.js","webpack:///devplatform-app/9.7.13/src/utils/interceptorHelpers.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/defaults.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHelpers.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/handleInstanceRefresh.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/autoRefreshFetchInstanceInfo.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/initialState.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/dpsInstanceModalActions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/executeCatItem.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/fetchActionMenu.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/fetchAssignReqStatus.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/fetchAvailPlugins.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/fetchLeadTracking.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/fetchCommonData.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/fetchInstanceBackups.js","webpack:///devplatform-app/9.7.13/src/utils/qualtricsSurveyTrigger.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/fetchInstanceInfo.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/fetchInstanceOperationHistory.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/fetchCompleteOperationHistory.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/fetchLegalAgreement.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/fetchNavConfig.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/fetchOpReqStatus.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/fetchReleaseVersions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/fetchSystemProperties.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/fetchUpdateMagicLink.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/handleEmployeeLogoutNotice.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/fetchUserSession.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/handleCheckUrlRedirection.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/handleUserLogout.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/handleUserSession.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/fetchInstanceDetails.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/refreshInstance.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/refreshInstanceBackup.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/fetchInstanceRequestStatus.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/fetchAvailableInstance.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/fetchUrlRedirections.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/fetchDCIdentifierRouteRedirection.js","webpack:///devplatform-app/9.7.13/src/utils/meta.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home/home.js","webpack:///devplatform-app/9.7.13/src/utils/render-svg.js","webpack:///devplatform-app/9.7.13/src/components/dps-button/dps-button.js","webpack:///devplatform-app/9.7.13/src/components/dps-link/dps-link.js","webpack:///devplatform-app/9.7.13/src/components/dps-badge/dps-badge.js","webpack:///devplatform-app/9.7.13/src/components/dps-content-stack/dps-content-stack.js","webpack:///devplatform-app/9.7.13/src/components/dps-card/dps-card.js","webpack:///devplatform-app/9.7.13/src/components/dps-card-container/dps-card-container.js","webpack:///devplatform-app/9.7.13/src/components/dps-spinner/dps-spinner.js","webpack:///devplatform-app/9.7.13/src/components/dps-ad-card/dps-ad-card.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-ad-cards-connected/actions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-ad-cards-connected/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-ad-cards-connected/initialState.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-ad-cards-connected/properties.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-ad-cards-connected/actionHandlers/index.js","webpack:///devplatform-app/9.7.13/src/behaviors/scrollIntoViewport.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-ad-cards-connected/dps-ad-cards-connected.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-card-build-and-deploy/dps-card-build-and-deploy.js","webpack:///@servicenow/now-highlighted-value/src/now-highlighted-value.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-card-apis-and-libraries-card/dps-card-apis-and-libraries-card.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-card-apis-and-libraries/dps-card-apis-and-libraries.js","webpack:///@devsnc/sn-carousel/src/sn-carousel/sn-carousel-constants.js","webpack:///@devsnc/sn-carousel/src/sn-carousel/sn-carousel-duplicates.js","webpack:///@devsnc/sn-carousel/src/sn-carousel/sn-carousel-common.js","webpack:///@devsnc/sn-carousel/src/sn-carousel/sn-carousel-setup.js","webpack:///@devsnc/sn-carousel/src/sn-carousel/sn-carousel-resize.js","webpack:///@devsnc/sn-carousel/src/sn-carousel/sn-carousel-scroll.js","webpack:///@devsnc/sn-carousel/src/sn-carousel/sn-carousel-observers.js","webpack:///@devsnc/sn-carousel/src/sn-carousel/sn-carousel-action-handlers.js","webpack:///@devsnc/sn-carousel/src/sn-carousel/sn-initial-state.js","webpack:///@devsnc/sn-carousel/src/sn-carousel/sn-carousel-indicators.js","webpack:///@devsnc/sn-carousel/src/sn-carousel/sn-carousel-nav.js","webpack:///@devsnc/sn-carousel/src/sn-carousel/sn-carousel-view.js","webpack:///@devsnc/sn-carousel/src/sn-carousel/sn-carousel.js","webpack:///@servicenow/now-card/src/now-card-actions.js","webpack:///@servicenow/now-card/src/now-card-footer.js","webpack:///@servicenow/now-card/src/now-card-header.js","webpack:///@servicenow/now-card/src/now-card-divider.js","webpack:///@servicenow/now-card/src/now-card.js","webpack:///@servicenow/now-card/src/index.js","webpack:///@servicenow/now-toggle/src/now-toggle.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-news-and-events-carousel/initialState.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-news-and-events-carousel/properties.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-news-and-events-carousel/actions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-news-and-events-carousel/actionHandlers/index.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-news-events-ad-card/dps-news-events-ad-card.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-news-and-events-carousel/build-and-deploy-cards.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-news-and-events-carousel/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-news-and-events-carousel/dps-news-and-events-carousel.js","webpack:///devplatform-app/9.7.13/src/components/dps-page-new-header/actions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-pdi-summary/actions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-pdi-summary/helpers.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-pdi-summary/constants.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-card-build-agent/dps-card-build-agent.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-promo-banner/dps-promo-banner.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-unauth/dev-program-list-items.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-unauth/learning-plans-cards.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-unauth/build-and-deploy-cards.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-unauth/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-unauth/initialState.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-unauth/properties.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-unauth/actions.js","webpack:///devplatform-app/9.7.13/src/utils/recursiveWalk.js","webpack:///devplatform-app/9.7.13/src/utils/onElementReady.js","webpack:///devplatform-app/9.7.13/src/utils/scrollToElement.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-unauth/actionHandlers/index.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-unauth/dps-home-unauth.js","webpack:///devplatform-app/9.7.13/src/components/dps-share-projects/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/components/dps-tabs/dps-tabs.js","webpack:///devplatform-app/9.7.13/src/components/dps-star-rating/dps-star-rating.js","webpack:///devplatform-app/9.7.13/src/components/dps-share-project-card/dps-share-project-card.js","webpack:///devplatform-app/9.7.13/src/components/dps-share-projects/dps-share-projects.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-auth/dps-home-auth-new-user-banner.js","webpack:///devplatform-app/9.7.13/src/utils/clamp-value.js","webpack:///devplatform-app/9.7.13/src/components/dps-progress-bar/dps-progress-bar.js","webpack:///devplatform-app/9.7.13/src/components/dps-alert/dps-alert.js","webpack:///devplatform-app/9.7.13/src/components/dps-inline-version-selector/view.js","webpack:///devplatform-app/9.7.13/src/components/dps-inline-version-selector/initialState.js","webpack:///devplatform-app/9.7.13/src/components/dps-inline-version-selector/properties.js","webpack:///devplatform-app/9.7.13/src/components/dps-inline-version-selector/actionHandlers/index.js","webpack:///devplatform-app/9.7.13/src/components/dps-inline-version-selector/dps-inline-version-selector.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-auth/_learn-section.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-auth/buildSectionHelper.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-auth/buildSection.js","webpack:///devplatform-app/9.7.13/src/utils/isNowOrLocal.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-auth/buildSectionBanner.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-auth/_discover-section.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-auth/_partner-banner.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-instance-assignment-modal/requestInstanceView.js","webpack:///devplatform-app/9.7.13/src/components/dps-instance-sidebar/templates/instance-request.js","webpack:///devplatform-app/9.7.13/src/components/dps-dropdown-panel/dps-dropdown-scroll-behavior.js","webpack:///devplatform-app/9.7.13/src/components/dps-dropdown-panel/dps-dropdown-panel.js","webpack:///devplatform-app/9.7.13/src/components/dps-dropdown-button/dps-dropdown-button.js","webpack:///devplatform-app/9.7.13/src/components/dps-instance-sidebar/templates/instance-waitlist.js","webpack:///devplatform-app/9.7.13/src/components/dps-instance-sidebar/templates/instance-offline.js","webpack:///devplatform-app/9.7.13/src/components/dps-instance-sidebar/templates/instance-maintenance.js","webpack:///devplatform-app/9.7.13/src/components/dps-instance-sidebar/templates/instance-wakeup.js","webpack:///devplatform-app/9.7.13/src/components/dps-instance-sidebar/templates/instance-info.js","webpack:///devplatform-app/9.7.13/src/components/dps-instance-sidebar/templates/instance-progress.js","webpack:///devplatform-app/9.7.13/src/components/dps-instance-sidebar/templates/sidebarView.js","webpack:///devplatform-app/9.7.13/src/components/dps-instance-sidebar/dps-instance-sidebar.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-auth/_sidebar.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-auth/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-auth/initialState.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-auth/properties.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-auth/actions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-auth/actionHandlers/index.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-auth/dps-home-auth.js","webpack:///@servicenow/now-modal/src/now-modal.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-auth-quebec/dps-home-auth-card.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-auth-quebec/learningPlanCourseLookUp.js","webpack:///devplatform-app/9.7.13/src/utils/stripTags.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-auth-quebec/helpers.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-auth-quebec/_learn-section-quebec.js","webpack:///devplatform-app/9.7.13/src/components/dps-page-header/dps-page-header.js","webpack:///devplatform-app/9.7.13/src/components/dps-page-new-header/dps-page-new-header.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-card-section/dps-card-section.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-pdi-summary/views/dps-upgrade-instance.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-auth-quebec/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-auth-quebec/properties.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-auth-quebec/actions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-auth-quebec/actionHandlers/index.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-home-auth-quebec/dps-home-auth-quebec.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-citizen-dev/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-citizen-dev/initialState.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-citizen-dev/properties.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-citizen-dev/actions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-citizen-dev/actionHandlers/index.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-citizen-dev/dps-citizen-dev.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-api-doc/actions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-api-doc/actionHandlerUtils.js","webpack:///devplatform-app/9.7.13/src/utils/debounce.js","webpack:///devplatform-app/9.7.13/src/behaviors/scrollSpy.js","webpack:///devplatform-app/9.7.13/src/components/dps-code-switcher/actions.js","webpack:///devplatform-app/9.7.13/src/utils/hljs-pack.js","webpack:///devplatform-app/9.7.13/src/components/dps-code-block/dps-code-block.js","webpack:///devplatform-app/9.7.13/src/components/dps-scoped-equivalent/dps-scoped-equivalent.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-api-doc/helpers.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-api-doc/api-content.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-api-doc/fetchApiRecord.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-api-doc/fetchNavList.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-api-doc/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/components/dps-error-page/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/components/dps-error-page/dps-error-page.js","webpack:///deepdash-es/4.2.16/private/getMixOrPatchIn.js","webpack:///deepdash-es/4.2.16/getPathToString.js","webpack:///deepdash-es/4.2.16/private/getHasChildren.js","webpack:///deepdash-es/4.2.16/private/getIterate.js","webpack:///deepdash-es/4.2.16/getEachDeep.js","webpack:///deepdash-es/4.2.16/getObtain.js","webpack:///deepdash-es/4.2.16/getCondense.js","webpack:///deepdash-es/4.2.16/getCondenseDeep.js","webpack:///deepdash-es/4.2.16/getExists.js","webpack:///deepdash-es/4.2.16/getFilterDeep.js","webpack:///deepdash-es/4.2.16/addFilterDeep.js","webpack:///devplatform-app/9.7.13/src/components/dps-filter-nav/actions.js","webpack:///devplatform-app/9.7.13/src/components/dps-filter-nav/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/components/dps-filter-nav/view.js","webpack:///devplatform-app/9.7.13/src/components/dps-dropdown/dps-dropdown.js","webpack:///devplatform-app/9.7.13/src/components/dps-input/dps-input.js","webpack:///devplatform-app/9.7.13/src/components/dps-filter-nav-group/dps-filter-nav-group.js","webpack:///devplatform-app/9.7.13/src/components/dps-filter-nav/dps-filter-nav.js","webpack:///devplatform-app/9.7.13/src/components/dps-sidebar-nav/dps-sidebar-nav-utils.js","webpack:///devplatform-app/9.7.13/src/components/dps-sidebar-nav/dps-sidebar-nav-constants.js","webpack:///devplatform-app/9.7.13/src/components/dps-sidebar-nav/dps-sidebar-nav-item.js","webpack:///devplatform-app/9.7.13/src/components/dps-sidebar-nav/dps-sidebar-nav-group.js","webpack:///devplatform-app/9.7.13/src/components/dps-sidebar-nav/dps-sidebar-nav.js","webpack:///devplatform-app/9.7.13/src/components/dps-slot/actions.js","webpack:///devplatform-app/9.7.13/src/components/dps-slot/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/components/dps-slot/dps-slot.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-version-switcher/actionHelpers.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-version-switcher/dps-version-switcher.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-api-doc/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-api-doc/dps-api-docs.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-api-list/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-api-list/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-api-list/dps-api-list.js","webpack:///devplatform-app/9.7.13/example/theme.js","webpack:///devplatform-app/9.7.13/src/components/dps-accordion/dps-accordion.js","webpack:///devplatform-app/9.7.13/example/dps-accordion/dps-accordion-example.js","webpack:///devplatform-app/9.7.13/example/dps-ad-card/dps-ad-card-example.js","webpack:///devplatform-app/9.7.13/example/dps-alert/dps-alert-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-alert-container/dps-alert-container.js","webpack:///devplatform-app/9.7.13/example/dps-alert-container/dps-alert-container-example.js","webpack:///devplatform-app/9.7.13/example/dps-badge/dps-badge-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-banner/dps-banner.js","webpack:///devplatform-app/9.7.13/example/dps-banner/dps-banner-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-banner-container/dps-banner-container.js","webpack:///devplatform-app/9.7.13/example/dps-banner-container/dps-banner-container-example.js","webpack:///@fortawesome/fontawesome-svg-core/1.2.0/index.es.js","webpack:///@fortawesome/fontawesome-free-regular/5.0.8/index.es.js","webpack:///@fortawesome/fontawesome-free-solid/5.0.8/index.es.js","webpack:///@servicenow/now-legacy-icon/src/now-legacy-icon.js","webpack:///devplatform-app/9.7.13/src/components/dps-bookmark/view.js","webpack:///devplatform-app/9.7.13/src/components/dps-bookmark/dps-bookmark.js","webpack:///devplatform-app/9.7.13/example/dps-bookmark/data.js","webpack:///devplatform-app/9.7.13/example/dps-bookmark/dps-bookmark-scr-example.js","webpack:///devplatform-app/9.7.13/example/dps-bookmark/dps-bookmark-guide-example.js","webpack:///devplatform-app/9.7.13/example/dps-bookmark/dps-bookmark-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-breadcrumb/view.js","webpack:///devplatform-app/9.7.13/src/components/dps-breadcrumb/dps-breadcrumb.js","webpack:///devplatform-app/9.7.13/example/dps-breadcrumb/dps-breadcrumb-example.js","webpack:///devplatform-app/9.7.13/example/dps-button/dps-button-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-callout/dps-callout.js","webpack:///devplatform-app/9.7.13/example/dps-callout/dps-callout-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-image-card/dps-image-card.js","webpack:///devplatform-app/9.7.13/src/components/dps-progress-circle/dps-progress-circle.js","webpack:///devplatform-app/9.7.13/example/dps-card/dps-card-example.js","webpack:///devplatform-app/9.7.13/example/dps-card-container/dps-card-container-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-category-section/actions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-reference-page/dps-reference-helper.js","webpack:///devplatform-app/9.7.13/src/components/dps-component-gallery-card/dps-component-gallery-card.js","webpack:///devplatform-app/9.7.13/src/components/dps-category-section/dps-category-section.js","webpack:///devplatform-app/9.7.13/example/dps-category-section/dps-category-section-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-checkbox/dps-checkbox.js","webpack:///devplatform-app/9.7.13/example/dps-checkbox/dps-checkbox-example.js","webpack:///devplatform-app/9.7.13/example/dps-code-block/dps-code-block-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-code-switcher/dps-code-switcher.js","webpack:///devplatform-app/9.7.13/src/components/dps-template-two-column/dps-template-two-column.js","webpack:///devplatform-app/9.7.13/example/dps-code-switcher/dps-code-switcher-example.js","webpack:///../src/defaults.ts","webpack:///../src/rules.ts","webpack:///../src/helpers.ts","webpack:///../src/Tokenizer.ts","webpack:///../src/Lexer.ts","webpack:///../src/Renderer.ts","webpack:///../src/TextRenderer.ts","webpack:///../src/Parser.ts","webpack:///../src/Hooks.ts","webpack:///../src/Instance.ts","webpack:///../src/marked.ts","webpack:///github-slugger/2.0.0/regex.js","webpack:///github-slugger/2.0.0/index.js","webpack:///marked-gfm-heading-id/4.1.4/src/index.js","webpack:///marked-highlight/2.2.4/src/index.js","webpack:///devplatform-app/9.7.13/src/utils/marked-with-hljs.js","webpack:///devplatform-app/9.7.13/src/components/dps-component-detail-toc/dps-component-detail-toc.js","webpack:///devplatform-app/9.7.13/src/components/dps-component-detail-header/dps-component-detail-header.js","webpack:///devplatform-app/9.7.13/example/dps-component-detail-header/dps-component-detail-header-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-component-detail-meta/dps-component-detail-meta.js","webpack:///devplatform-app/9.7.13/example/dps-component-detail-meta/dps-component-detail-meta-example.js","webpack:///devplatform-app/9.7.13/example/dps-component-detail-toc/dps-component-detail-toc-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-component-gallery-search/actions.js","webpack:///devplatform-app/9.7.13/src/behaviors/infiniteScroll/actions.js","webpack:///devplatform-app/9.7.13/src/behaviors/infiniteScroll/index.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-component-gallery/actionHandlers/fetchAvailableCategories.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-component-gallery/actionHandlers/fetchBookmarkedComponents.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-component-gallery/actionHandlers/fetchComponentGallery.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-component-gallery/actionHandlers/fetchComponentSearchResults.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-component-gallery/actionHandlers/toggleComponentBookmark.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-component-gallery/actionHandlers/index.js","webpack:///devplatform-app/9.7.13/src/components/dps-component-gallery-search/views/FormCheckbox.js","webpack:///devplatform-app/9.7.13/src/components/dps-fieldset/dps-fieldset.js","webpack:///devplatform-app/9.7.13/src/components/dps-component-gallery-search/views/AdvancedSearchForNonSNUsers.js","webpack:///devplatform-app/9.7.13/src/components/dps-component-gallery-search/views/AdvancedSearchForSNUsers.js","webpack:///devplatform-app/9.7.13/src/components/dps-component-gallery-search/view.js","webpack:///devplatform-app/9.7.13/src/components/dps-component-gallery-search/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/components/dps-component-gallery-search/dps-component-gallery-search.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-component-gallery/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-component-gallery/dps-component-gallery.js","webpack:///devplatform-app/9.7.13/example/dps-component-gallery/dps-component-gallery-example.js","webpack:///devplatform-app/9.7.13/example/dps-component-gallery-card/dps-component-gallery-card-example.js","webpack:///devplatform-app/9.7.13/example/dps-component-gallery-search/dps-component-gallery-search-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-background-arch/dps-background-arch.js","webpack:///devplatform-app/9.7.13/src/components/dps-component-group-template/dps-component-group-template.js","webpack:///devplatform-app/9.7.13/example/dps-component-group-template/dps-component-group-template-example.js","webpack:///devplatform-app/9.7.13/src/utils/clientInfo.js","webpack:///devplatform-app/9.7.13/src/components/dps-content-feedback-form/actionHandlers.js","webpack:///@servicenow/behavior-key-binding/26.1.0/src/key-binding.js","webpack:///devplatform-app/9.7.13/src/components/dps-shade/dps-shade.js","webpack:///devplatform-app/9.7.13/src/components/dps-modal/dps-modal.js","webpack:///devplatform-app/9.7.13/src/components/dps-content-feedback-form/modalContentView.js","webpack:///devplatform-app/9.7.13/src/components/dps-content-feedback-form/view.js","webpack:///devplatform-app/9.7.13/src/components/dps-content-feedback-form/dps-content-feedback-form.js","webpack:///devplatform-app/9.7.13/example/dps-content-feedback-form/dps-content-feedback-form-example.js","webpack:///devplatform-app/9.7.13/example/dps-content-stack/dps-content-stack-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-progress-card/dps-progress-card.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-course-details/actions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-learning-courses/actions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-course-details/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-course-details/properties.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-course-details/dps-course-details.js","webpack:///devplatform-app/9.7.13/example/dps-course-details/dps-course-details-example.js","webpack:///devplatform-app/9.7.13/example/dps-dropdown-button/dps-dropdown-button-example.js","webpack:///devplatform-app/9.7.13/example/dps-dropdown-panel/dps-dropdown-panel-example.js","webpack:///devplatform-app/9.7.13/example/dps-error-page/dps-error-page-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-feedback/dps-feedback.js","webpack:///devplatform-app/9.7.13/example/dps-feedback/dps-feedback-example.js","webpack:///devplatform-app/9.7.13/example/dps-fieldset/dps-fieldset-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-filter-bar/actions.js","webpack:///devplatform-app/9.7.13/src/components/dps-filter-bar/dps-filter-badge.js","webpack:///devplatform-app/9.7.13/src/components/dps-filter-bar/dps-filter-bar.js","webpack:///devplatform-app/9.7.13/example/dps-filter-bar/dps-filter-bar-example.js","webpack:///devplatform-app/9.7.13/example/dps-filter-nav/dps-filter-nav-example.js","webpack:///@servicenow/behavior-media-query/27.0.26/src/media-query.js","webpack:///sn-signals/19.1.1/src/user.js","webpack:///sn-signals/19.1.1/src/queue.js","webpack:///sn-signals/19.1.1/src/signals.js","webpack:///sn-signals/19.1.1/index.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/constants/index.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/utils/signalTracker.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/actions/index.js","webpack:///sn-cx-shell-addon/src/utils/qsDeep.js","webpack:///sn-cx-shell-addon/src/utils/positionObserver.js","webpack:///sn-cx-shell-addon/src/utils/attachObservers.js","webpack:///sn-cx-shell-addon/src/utils/getSearchConfiguration.js","webpack:///sn-cx-shell-addon/src/utils/declarativeStateUpdate.js","webpack:///sn-cx-shell-addon/src/utils/icons.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/view/Input.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/utils/parseNavItem.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/view/PopoverItems/PopoverItem.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/view/PopoverItems/SearchTerm.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/view/PopoverItems/SectionHeader.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/utils/highlight.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/view/PopoverItems/UserHistory.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/view/PopoverItems/InstanceHistory.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/view/ariaLiveContainer.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/view/PopoverItems/Navigation.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/view/PopoverItems/PopoverFooter.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/utils/getPopoverItemIcon.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/view/PopoverItems/index.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/view/Popover.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/sn-cx-search-input-desktop/view/Combobox.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/utils/resultItemsUtil.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/utils/keyboardNavigation.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/utils/exactMatch.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/utils/cache.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/utils/transformSuggestionResponse.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/utils/suggestion.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/effects/suggestionEffects.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/effects/inputEffects.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/effects/clearSearchEffects.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/utils/interceptor.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/utils/effectProxy.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/effects/contextDropdownEffects.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/utils/transformExactMatchResponse.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/effects/exactMatchEffects.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/utils/fetchExactMatch.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/effects/onComponentPropertyChanged.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/utils/setTermToState.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/actionHandlers/index.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/sn-cx-search-input-desktop/index.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/view.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/utils/dispatchNavigation.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/effects/handleNavVariables.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/effects/handleSearchExecutedEffect.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/effects/navigationExecutedEffect.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/common/effects/navigationSucceedEffect.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-input/sn-cx-search-input.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-modal/actions.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-modal/constants.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-modal/view.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-modal/cache.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-modal/utils/observeOrigin.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-modal/utils/findShadowActiveElement.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-modal/utils/setModalListeners.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-modal/utils/index.js","webpack:///sn-cx-components/src/utils/coeffectFnWithStopPropagation.js","webpack:///sn-cx-components/src/utils/dispatchNavigation.js","webpack:///sn-cx-components/src/utils/determineHideFooter.js","webpack:///sn-cx-components/src/utils/declarativeUpdateState.js","webpack:///sn-cx-components/src/utils/getSysProps.js","webpack:///sn-cx-components/src/constants.js","webpack:///sn-cx-components/src/utils/searchConfig.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-modal/effects/onWindowResize.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-modal/effects/onScreenSwitchRequested.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-modal/effects/setNowModalRef.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-modal/effects/onComponentBootstrapped.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-modal/effects.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-modal/events.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-search-modal/index.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-breadcrumbs/utils/attachClickListener.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-breadcrumbs/view.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-breadcrumbs/utils/dispatchNavigationEvent.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-breadcrumbs/utils/updateItems.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-breadcrumbs/utils/handleItemClick.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-breadcrumbs/actions.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-breadcrumbs/utils/cache.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-breadcrumbs/utils/cacheItems.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-breadcrumbs/utils/populateCurrentItem.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-breadcrumbs/effects.js","webpack:///@servicenow/now-breadcrumbs/src/now-breadcrumbs.js","webpack:///@servicenow/now-breadcrumbs/src/index.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-breadcrumbs/index.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-footer/view/logo/FooterLogo.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-footer/utils.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-footer/constants.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-footer/view/social/FooterSocial.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-footer/view/nav-links/FooterNavLinks.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-footer/view/index.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-footer/actions.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-footer/effects.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-footer/index.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-side-panel/positions.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-side-panel/sn-cx-side-panel.js","webpack:///sn-cx-shell-addon/src/components/sn-cx-page/sn-cx-page.js","webpack:///devplatform-app/9.7.13/src/components/dps-footer/dps-footer.js","webpack:///devplatform-app/9.7.13/example/dps-footer/dps-footer-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-general-feedback-form/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/components/dps-general-feedback-form/modalContentView.js","webpack:///devplatform-app/9.7.13/src/components/dps-general-feedback-form/view.js","webpack:///devplatform-app/9.7.13/src/components/dps-general-feedback-form/dps-general-feedback-form.js","webpack:///devplatform-app/9.7.13/example/dps-general-feedback-form/dps-general-feedback-form-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-prev-next-doc/actions.js","webpack:///devplatform-app/9.7.13/src/components/dps-prev-next-doc/dps-prev-next-doc.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-layout/dps-guides-layout-constants.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-layout/dps-guides-layout-actionHandler.js","webpack:///devplatform-app/9.7.13/src/behaviors/reactToHash.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-layout/properties.js","webpack:///devplatform-app/9.7.13/src/utils/formatFrameworkLabel.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-layout/dps-guides-layout-helper.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-layout/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-layout/dps-guides-layout.js","webpack:///devplatform-app/9.7.13/example/dps-guides-layout/dps-guides-layout-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-overview-feedback/dps-overview-feedback.js","webpack:///devplatform-app/9.7.13/src/styles/global/colors.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-overview/guideOverviewConstants.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-overview/actionHelpers.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-overview/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-overview/halfWidthCardsView.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-overview/fullWidthCardsView.js","webpack:///devplatform-app/9.7.13/src/components/dps-navigation-sidebar/dps-navigation-sidebar-item.js","webpack:///devplatform-app/9.7.13/src/components/dps-navigation-sidebar/constants.js","webpack:///devplatform-app/9.7.13/src/components/dps-navigation-sidebar/dps-navigation-sidebar-utils.js","webpack:///devplatform-app/9.7.13/src/components/dps-navigation-sidebar/dps-navigation-sidebar-group.js","webpack:///devplatform-app/9.7.13/src/components/dps-navigation-sidebar/dps-navigation-sidebar.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-overview/dps-guides-overview.js","webpack:///devplatform-app/9.7.13/example/dps-guides-overview/dps-guides-overview-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-header-carousel/components/dps-header-carousel-badge.js","webpack:///devplatform-app/9.7.13/src/components/dps-header-carousel/components/dps-header-carousel-card.js","webpack:///devplatform-app/9.7.13/src/components/dps-header-carousel/components/dps-auto-progress-bar.js","webpack:///devplatform-app/9.7.13/src/components/dps-header-carousel/dps-header-carousel.js","webpack:///devplatform-app/9.7.13/example/dps-header-carousel/dps-header-carousel-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-icon-gallery/components/constants.js","webpack:///devplatform-app/9.7.13/src/components/dps-icon-gallery/components/dps-icon-call-out.js","webpack:///devplatform-app/9.7.13/src/components/dps-icon-gallery/components/dps-icon-grid-item.js","webpack:///devplatform-app/9.7.13/src/components/dps-pagination/dps-pagination.js","webpack:///devplatform-app/9.7.13/src/components/dps-icon-gallery/constants.js","webpack:///devplatform-app/9.7.13/src/components/dps-icon-gallery/dps-icon-gallery.js","webpack:///devplatform-app/9.7.13/example/dps-icon-gallery/dps-icon-gallery-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-image/dps-image.js","webpack:///devplatform-app/9.7.13/src/components/dps-video/dps-video.js","webpack:///devplatform-app/9.7.13/example/dps-image/dps-image-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-image-grid/dps-image-grid.js","webpack:///devplatform-app/9.7.13/example/dps-image-grid/dps-image-grid-example.js","webpack:///devplatform-app/9.7.13/example/dps-inline-version-selector/dps-inline-version-selector-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-input-autocomplete/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/components/dps-input-autocomplete/dps-input-autocomplete.js","webpack:///devplatform-app/9.7.13/example/dps-input-autocomplete/dps-input-autocomplete-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-lead-tracking-modal/modalContentView.js","webpack:///devplatform-app/9.7.13/src/components/dps-lead-tracking-modal/view.js","webpack:///devplatform-app/9.7.13/src/utils/setAll.js","webpack:///devplatform-app/9.7.13/src/components/dps-lead-tracking-modal/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/components/dps-lead-tracking-modal/dps-lead-tracking-modal.js","webpack:///devplatform-app/9.7.13/example/dps-lead-tracking-modal/dps-lead-tracking-modal-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-legal-agreement-modal/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/components/dps-legal-agreement-modal/view.js","webpack:///devplatform-app/9.7.13/src/components/dps-legal-agreement-modal/dps-legal-agreement-modal.js","webpack:///devplatform-app/9.7.13/example/dps-legal-agreement-modal/dps-legal-agreement-modal-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-library-table/dps-library-table.js","webpack:///devplatform-app/9.7.13/example/dps-library-table/dps-library-table-example.js","webpack:///devplatform-app/9.7.13/example/dps-link/dps-link-example.js","webpack:///devplatform-app/9.7.13/example/dps-modal/dps-modal-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-module-modal/view.js","webpack:///devplatform-app/9.7.13/src/components/dps-module-modal/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/components/dps-module-modal/dps-module-modal.js","webpack:///devplatform-app/9.7.13/example/dps-module-modal/dps-module-modal-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-name-generator/dps-name-generator.js","webpack:///devplatform-app/9.7.13/example/dps-name-generator/dps-name-generator-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-navigation-header/dps-navigation-header-properties.js","webpack:///devplatform-app/9.7.13/src/components/dps-navigation-header/animation/properties.js","webpack:///@devsnc/library-client-detect/28.8.5/src/os.js","webpack:///@devsnc/library-client-detect/28.8.5/src/browser.js","webpack:///@devsnc/library-client-detect/28.8.5/src/support.js","webpack:///@devsnc/library-client-detect/28.8.5/src/system.js","webpack:///@devsnc/library-client-detect/28.8.5/src/responsive.js","webpack:///@devsnc/library-client-detect/28.8.5/src/language.js","webpack:///@devsnc/library-client-detect/28.8.5/src/timezone.js","webpack:///@devsnc/library-client-detect/28.8.5/src/clientDetect.js","webpack:///@devsnc/library-client-detect/28.8.5/src/index.js","webpack:///@devsnc/library-logger/28.8.5/src/index.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/constants.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/utils/index.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/helpers.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/actions.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/utils/analytics-tracking/index.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/Logo.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/IconSVGComponents.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/PrimaryMenuItem.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/PrimaryMenuList.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/LanguageMenuItem.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/LanguageMenu.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/NotificationMenu.js","webpack:///sn-cx-navigation/src/components/sn-cx-badge-connected/sn-cx-badge-count-data-provider.js","webpack:///@servicenow/now-badge/src/now-badge.js","webpack:///sn-cx-navigation/src/components/sn-cx-badge-connected/view.js","webpack:///sn-cx-navigation/src/components/sn-cx-badge-connected/index.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/UtilityDropdown.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/UtilityItem.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/Divider.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/ProfileMenu.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/Utility.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/MenuToggle.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/PrimaryCTAs.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/MobileUtility.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/MegaMenuFooterActions.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/MobileCTAs.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/PrimaryMenu.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/SecondaryMenuDropdownItem.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/SecondaryMenuDropdownExpandedItem.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/SecondaryMenuDropdownTitle.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/SecondaryMenuDropdown.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/SecondaryMenuItem.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/SecondaryMenuList.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/SecondaryCTAs.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/SecondaryMenu.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/MegaMenuSidebar.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/MegaMenuSection.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/MegaMenuGroupLinks.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/MegaMenuBanner.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/MegaMenuMobileContent.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/MegaMenu.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/findActiveMenu.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/view/index.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/utils/qsDeep.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/utils/focus-mgmt-utils/domUtils.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/utils/focus-mgmt-utils/menuElementsGetterUtils.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/utils/focus-mgmt-utils/menuFocusUtils.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/utils/focus-mgmt-utils/utilityFocusUtils.js","webpack:///sn-cx-navigation/src/utils/declarativeStateUpdate.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/effects.js","webpack:///sn-cx-navigation/src/components/sn-cx-navigation/index.js","webpack:///devplatform-app/9.7.13/src/components/dps-login/dps-login.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-search-results/dps-search-helpers.js","webpack:///devplatform-app/9.7.13/src/components/dps-search/actions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-search-bar/constants.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-search-bar/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-search-bar/actions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-search-page/actions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-search-bar/dps-search-bar.js","webpack:///devplatform-app/9.7.13/src/components/dps-search/dps-search.js","webpack:///devplatform-app/9.7.13/src/components/dps-navigation-header/dps-navigation-header-dropdown.js","webpack:///devplatform-app/9.7.13/src/components/dps-navigation-header/dps-navigation-header-dropdown-content.js","webpack:///devplatform-app/9.7.13/src/components/dps-navigation-header/dps-navigation-card.js","webpack:///devplatform-app/9.7.13/src/components/dps-navigation-header/dps-navigation-section.js","webpack:///devplatform-app/9.7.13/src/components/dps-navigation-header/dps-navigation-instance-management/templates/instance-menu-view.js","webpack:///devplatform-app/9.7.13/src/components/dps-navigation-header/dps-navigation-instance-management/templates/instance-activity-view.js","webpack:///devplatform-app/9.7.13/src/components/dps-navigation-header/dps-navigation-instance-management/templates/instance-management-view-selector.js","webpack:///devplatform-app/9.7.13/src/components/dps-navigation-header/dps-navigation-instance-management/dps-navigation-instance-management.js","webpack:///devplatform-app/9.7.13/src/components/dps-navigation-header/dps-navigation-login-management.js","webpack:///devplatform-app/9.7.13/src/components/dps-navigation-header/dps-navigation-version-selector.js","webpack:///devplatform-app/9.7.13/src/images/instanceSVG.js","webpack:///devplatform-app/9.7.13/src/behaviors/moveActiveIndicator.js","webpack:///devplatform-app/9.7.13/src/behaviors/resizeObserver.js","webpack:///devplatform-app/9.7.13/src/utils/animations/moveBetweenContent.js","webpack:///devplatform-app/9.7.13/src/components/dps-navigation-header/dps-navigation-header.js","webpack:///devplatform-app/9.7.13/example/dps-navigation-header/instanceMenuItems.js","webpack:///devplatform-app/9.7.13/example/dps-navigation-header/dps-navigation-header-example.js","webpack:///devplatform-app/9.7.13/example/dps-navigation-sidebar/dps-navigation-sidebar-example.js","webpack:///devplatform-app/9.7.13/example/dps-overview-feedback/dps-overview-feedback-example.js","webpack:///devplatform-app/9.7.13/example/dps-page-header/dps-page-header-example.js","webpack:///devplatform-app/9.7.13/example/dps-pagination/dps-pagination-example.js","webpack:///devplatform-app/9.7.13/src/utils/uuid.js","webpack:///devplatform-app/9.7.13/src/components/dps-playground/actions.js","webpack:///devplatform-app/9.7.13/src/utils/createPermalink.js","webpack:///devplatform-app/9.7.13/src/components/dps-playground/components/dps-playground-permalink-button.js","webpack:///devplatform-app/9.7.13/src/components/dps-playground/view.js","webpack:///devplatform-app/9.7.13/src/components/dps-playground/properties.js","webpack:///devplatform-app/9.7.13/src/components/dps-playground/dps-playground.js","webpack:///devplatform-app/9.7.13/example/dps-playground/dps-playground-example.js","webpack:///devplatform-app/9.7.13/example/dps-prev-next-doc/dps-prev-next-doc-example.js","webpack:///devplatform-app/9.7.13/example/dps-progress-bar/dps-progress-bar-example.js","webpack:///devplatform-app/9.7.13/example/dps-progress-circle/dps-progress-circle-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-question/dps-question.js","webpack:///devplatform-app/9.7.13/example/dps-question/dps-question-example.js","webpack:///devplatform-app/9.7.13/example/dps-scoped-equivalent/dps-scoped-equivalent-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-scr-notice/dps-scr-notice.js","webpack:///devplatform-app/9.7.13/example/dps-scr-notice/dps-scr-notice-example.js","webpack:///devplatform-app/9.7.13/example/dps-search/dps-search-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-result-item/dps-search-result-item.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-search-results/actions.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-category/dps-search-category.js","webpack:///devplatform-app/9.7.13/example/dps-search-category/dps-search-category-example.js","webpack:///devplatform-app/9.7.13/example/dps-search-result-item/dps-search-result-item-example.js","webpack:///devplatform-app/9.7.13/example/dps-share-project-card/dps-share-project-card-example.js","webpack:///devplatform-app/9.7.13/example/dps-share-projects/dps-share-projects-example.js","webpack:///devplatform-app/9.7.13/example/dps-sidebar-nav/component-nav.js","webpack:///devplatform-app/9.7.13/example/dps-sidebar-nav/api-nav.js","webpack:///devplatform-app/9.7.13/example/dps-sidebar-nav/experience-guide-nav.js","webpack:///devplatform-app/9.7.13/example/dps-sidebar-nav/platform-guide-nav.js","webpack:///devplatform-app/9.7.13/example/dps-sidebar-nav/api-scoped-nav.js","webpack:///devplatform-app/9.7.13/example/dps-sidebar-nav/dps-sidebar-nav-example.js","webpack:///devplatform-app/9.7.13/example/dps-spinner/dps-spinner-example.js","webpack:///devplatform-app/9.7.13/example/dps-star-rating/dps-star-rating-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-sticky-nav/dps-sticky-nav.js","webpack:///devplatform-app/9.7.13/example/dps-sticky-nav/dps-sticky-nav-example.js","webpack:///devplatform-app/9.7.13/example/dps-tabs/dps-tabs-example.js","webpack:///devplatform-app/9.7.13/example/dps-template-two-column/dps-template-two-column-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-three-dot-menu/dps-three-dot-menu.js","webpack:///devplatform-app/9.7.13/example/dps-three-dot-menu/dps-three-dot-menu-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-toast-alert/dps-toast-alert.js","webpack:///devplatform-app/9.7.13/example/dps-toast-alert/dps-toast-alert-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-trending-discussions/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/components/dps-trending-discussions/dps-trending-discussions.js","webpack:///devplatform-app/9.7.13/example/dps-trending-discussions/dps-trending-discussions-example.js","webpack:///devplatform-app/9.7.13/src/components/dps-visuals-carousel/makeCardActiveArray.js","webpack:///devplatform-app/9.7.13/src/components/dps-visuals-carousel/renderCardArray.js","webpack:///devplatform-app/9.7.13/src/components/dps-visuals-carousel/renderSingleCard.js","webpack:///devplatform-app/9.7.13/src/components/dps-visuals-carousel/actionHelpers.js","webpack:///devplatform-app/9.7.13/src/components/dps-visuals-carousel/dps-visuals-carousel.js","webpack:///devplatform-app/9.7.13/example/dps-visuals-carousel/dps-visuals-carousel-example.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-examples/dps-examples.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-learning-courses/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-learning-courses/properties.js","webpack:///devplatform-app/9.7.13/src/components/dps-learning-plans/dps-learning-plans.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-learning-courses/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-learning-courses/dps-learning-courses.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-learning-module/actions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-learning-module/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-learning-module/properties.js","webpack:///devplatform-app/9.7.13/src/components/dps-module-translation-bar/view.js","webpack:///devplatform-app/9.7.13/src/components/dps-module-translation-bar/dps-module-translation-bar.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-learning-module/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-learning-module/dps-learning-module.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-build-agent-modal/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-build-agent-modal/dps-build-agent-modal.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-build-agent-modal/actions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-learning-overview/dps-learning-overview.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-lp-list/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-lp-list/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-lp-list/dps_lp_list.js","webpack:///devplatform-app/9.7.13/src/components/dps-collapsable-module-card/dps-collapsable-module-card.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-lp-details/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-lp-details/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-lp-details/dps_lp_details.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-component-gallery-v3/constants.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-component-gallery-v3/helpers.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-component-gallery-v3/actionHandlers/fetchAvailableCategories.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-component-gallery-v3/actionHandlers/fetchBookmarkedComponents.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-component-gallery-v3/actionHandlers/fetchComponentSearchResults.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-component-gallery-v3/actionHandlers/toggleComponentBookmark.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-component-gallery-v3/actionHandlers/index.js","webpack:///devplatform-app/9.7.13/src/components/dps-component-gallery-card-v3/cache.js","webpack:///devplatform-app/9.7.13/src/components/dps-component-gallery-card-v3/dps-component-gallery-card.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-component-gallery-v3/dps-component-gallery-filter-section.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-component-gallery-v3/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-component-gallery-v3/dps-component-gallery.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-course-module/actions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-course-module/actionHandlers/getCourseModule.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-course-module/actionHandlers/index.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-course-module/properties.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-course-module/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-course-module/dps-course-module.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-tutorial-details/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-tutorial-details/actions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-tutorial-details/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-tutorial-details/dps-tutorial-details.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-search-results/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-search-results/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-search-results/properties.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-search-results/dps-search-results.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-search-page/constant.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-search-page/helper.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-search-page/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-filter/dps-search-filter.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-search-page/views/did-you-mean-page.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-search-page/views/no-search-results.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-search-page/views/search-result.js","webpack:///@servicenow/now-pill/src/now-pill.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-search-page/views/search-filter-pills.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-search-page/components/dps-related-search/dps-related-search.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-search-page/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-search-page/properties.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-search-page/dps-search-page.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-reference-overview/dps-reference-overview.js","webpack:///devplatform-app/9.7.13/src/components/dps-component-detail/utils.js","webpack:///devplatform-app/9.7.13/src/components/dps-component-detail/listReferences.js","webpack:///devplatform-app/9.7.13/src/components/dps-component-detail/apiTable.js","webpack:///devplatform-app/9.7.13/src/components/dps-wayfinder/index.js","webpack:///devplatform-app/9.7.13/src/components/dps-component-detail/dps-component-detail.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-reference-page/actions.js","webpack:///devplatform-app/9.7.13/src/components/dps-component-detail-toc/actions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-reference-page/dps-reference-page-api/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-reference-page/dps-reference-page-api/dps-reference-page-api.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-reference-page/dps-reference-page-uibSetup/dps-reference-page-uibSetup.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-reference-page/dps-reference-page-uibConfig/dps-reference-page-uibConfig.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-reference-page/dps-reference-page-list/actions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-reference-page/dps-reference-page-list/actionHandlers/fetchComponentsActions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-reference-page/dps-reference-page-list/actionHandlers/index.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-reference-page/dps-reference-page-list/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-reference-page/dps-reference-page-list/dps-reference-page-list.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-reference-page/dps-reference-page-usage/dps-reference-page-usage.js","webpack:///devplatform-app/9.7.13/src/components/dps-component-details-block/dps-component-details-block.js","webpack:///devplatform-app/9.7.13/src/components/dps-related-components/dps-related-components.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-reference-page/dps-reference-page-overview/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-reference-page/dps-reference-page-overview/copyPackage.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-reference-page/dps-reference-page-overview/dps-reference-page-overview.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-icon-gallery-connected/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-icon-gallery-connected/initialState.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-icon-gallery-connected/constants.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-icon-gallery-connected/properties.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-icon-gallery-connected/actions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-icon-gallery-connected/actionHandlers/index.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-icon-gallery-connected/dps-icon-gallery-connected.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-illustration-gallery-connected/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-illustration-gallery-connected/initialState.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-illustration-gallery-connected/properties.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-illustration-gallery-connected/actions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-illustration-gallery-connected/actionHandlers/index.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-illustration-gallery-connected/dps-illustration-gallery-connected.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-reference-page/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-reference-page/initialState.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-reference-page/properties.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-reference-page/actionHandlers/fetchComponentDetail.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-reference-page/actionHandlers/fetchDseIcons.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-reference-page/actionHandlers/fetchSidebar.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-reference-page/actionHandlers/index.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-reference-page/dps-reference-page.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-platform-overview/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-platform-overview/initialState.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-platform-overview/properties.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-platform-overview/actions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-platform-overview/actionHandlers/index.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-platform-overview/dps-guides-platform-overview.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-experience-overview/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-experience-overview/initialState.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-experience-overview/properties.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-experience-overview/actions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-experience-overview/actionHandlers/index.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-experience-overview/dps-guides-experience-overview.js","webpack:///devplatform-app/9.7.13/src/components/dps-ai-search/signalTracker.js","webpack:///@devsnc/sn-search-top-results/src/sn-search-top-results/constants.js","webpack:///@devsnc/sn-search-top-results/src/sn-search-top-results/contents/resultInfo.js","webpack:///@devsnc/sn-search-top-results/src/sn-search-top-results/contents/loading-state/skeleton-loader/skeletonLoader.js","webpack:///@devsnc/sn-search-top-results/src/sn-search-top-results/components/sn-search-topics/constants.js","webpack:///@devsnc/sn-search-top-results/src/sn-search-top-results/components/sn-search-topics/view.js","webpack:///@devsnc/sn-search-top-results/src/sn-search-top-results/components/sn-search-topics/actions.js","webpack:///@devsnc/sn-search-top-results/src/sn-search-top-results/components/sn-search-topics/actionHandlers.js","webpack:///@devsnc/sn-search-top-results/src/sn-search-top-results/components/sn-search-topics/sn-search-topics.js","webpack:///@devsnc/sn-search-top-results/src/sn-search-top-results/components/sn-search-gr-carousel/constants.js","webpack:///@devsnc/sn-declarative-actions/src/common/constants.js","webpack:///@devsnc/sn-declarative-actions/src/mediator/dynamicConditionsUtil.js","webpack:///@devsnc/sn-declarative-actions/src/utils/dynamicLoad.js","webpack:///@devsnc/sn-declarative-actions/src/utils/uxMetricsUtils.js","webpack:///@devsnc/sn-declarative-actions/src/mediator/actions.js","webpack:///@devsnc/sn-declarative-actions/src/reference-search/actions.js","webpack:///@devsnc/sn-declarative-actions/src/modal-wrapper/index.js","webpack:///@devsnc/sn-declarative-actions/src/reference-search/view.js","webpack:///@devsnc/sn-declarative-actions/src/reference-search/index.js","webpack:///@devsnc/sn-declarative-actions/src/behaviors/daWrappedClickedBehavior/index.js","webpack:///@devsnc/sn-declarative-actions/src/common/conditionEvaluator.js","webpack:///@devsnc/sn-declarative-actions/src/utils/uiMetricsUtils.js","webpack:///@devsnc/sn-declarative-actions/src/common/transformActions.js","webpack:///@devsnc/sn-declarative-actions/src/common/contractGenerator.js","webpack:///@devsnc/sn-declarative-actions/src/mediator/confirmation-modal/actions.js","webpack:///@devsnc/sn-declarative-actions/src/mediator/confirmation-modal/view.js","webpack:///@devsnc/sn-declarative-actions/src/mediator/confirmation-modal/index.js","webpack:///@devsnc/sn-declarative-actions/src/mediator/view.js","webpack:///@devsnc/sn-declarative-actions/src/mediator/index.js","webpack:///@devsnc/sn-declarative-actions/src/field/field-renderer/behaviors.js","webpack:///@devsnc/sn-declarative-actions/src/field/field-renderer/utils.js","webpack:///@devsnc/sn-declarative-actions/src/field/field-renderer/actions.js","webpack:///@devsnc/sn-declarative-actions/src/field/field-renderer/view.js","webpack:///@devsnc/sn-declarative-actions/src/field/field-renderer/index.js","webpack:///@devsnc/sn-declarative-actions/src/field/view.js","webpack:///@devsnc/sn-declarative-actions/src/field/index.js","webpack:///@devsnc/sn-evam-resolver/26.0.0-webux.2/src/dynamicLoad.js","webpack:///@devsnc/sn-evam-resolver/26.0.0-webux.2/src/evamResolver.js","webpack:///@devsnc/sn-evam-resolver/26.0.0-webux.2/src/evamResolverStatic.js","webpack:///@devsnc/sn-search-top-results/src/sn-search-top-results/components/sn-search-gr-carousel/utils.js","webpack:///@devsnc/sn-search-genius-card-assist/src/constants.js","webpack:///@devsnc/sn-search-genius-card-assist/src/common/streaming/utils.js","webpack:///@devsnc/sn-search-genius-card-assist/src/contents/gradientIcon.js","webpack:///@devsnc/sn-search-genius-card-assist/src/sections/heading.js","webpack:///@devsnc/sn-search-genius-card-assist/src/common/popover/view-records-popover.js","webpack:///@devsnc/sn-search-genius-card-assist/src/contents/description.js","webpack:///@servicenow/now-image/src/now-image.js","webpack:///@devsnc/sn-search-genius-card-assist/src/contents/marker.js","webpack:///@devsnc/sn-search-genius-card-assist/src/contents/heading.js","webpack:///@devsnc/sn-search-genius-card-assist/src/contents/identifier.js","webpack:///@servicenow/now-label-value/src/now-label-value-inline.js","webpack:///@servicenow/now-label-value/src/utils/to-extension.js","webpack:///@servicenow/now-label-value/src/utils/normalize-values.js","webpack:///@servicenow/now-label-value/src/utils/render-value.js","webpack:///@servicenow/now-label-value/src/schemas/label-value-schema.js","webpack:///@servicenow/now-label-value/src/now-label-value-stacked.js","webpack:///@servicenow/now-label-value/src/now-label-value-tabbed.js","webpack:///@servicenow/now-label-value/src/index.js","webpack:///@devsnc/sn-search-genius-card-assist/src/contents/labelValues.js","webpack:///@devsnc/sn-search-genius-card-assist/src/contents/bodyAiSearch.js","webpack:///sn-component-timeago/src/snTimeago/SnDateTimeWordService.js","webpack:///sn-component-timeago/src/snTimeago/SnTimerService.js","webpack:///sn-component-timeago/src/snTimeago/SnTimeAgo.js","webpack:///@servicenow/now-list/src/now-list/shared/utils/logger.js","webpack:///@servicenow/now-list/src/now-list/behaviors/actionableMessageBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/actionableMessageBehavior/actionableMessageBehavior.js","webpack:///@devsnc/sn-list-commons/src/components/ariaLiveRegion/ariaLiveRegion.js","webpack:///@devsnc/sn-list-commons/src/behaviors/ariaLive/constants.js","webpack:///@devsnc/sn-list-commons/src/behaviors/ariaLive/actionHandlers.js","webpack:///@devsnc/sn-list-commons/src/behaviors/ariaLive/ariaLiveBehavior.js","webpack:///@devsnc/sn-list-commons/src/behaviors/uiBuilder/actionHandlers.js","webpack:///@devsnc/sn-list-commons/src/behaviors/uiBuilder/constants.js","webpack:///@devsnc/sn-list-commons/src/behaviors/uiBuilder/uiBuilderBehavior.js","webpack:///@devsnc/sn-list-commons/src/behaviors/uiBuilder/utils.js","webpack:///@devsnc/sn-list-commons/src/behaviors/userPreferences/actionHandlers.js","webpack:///@devsnc/sn-list-commons/src/behaviors/userPreferences/userPreferencesBehavior.js","webpack:///@devsnc/sn-list-commons/src/utils/logger.js","webpack:///@devsnc/sn-list-commons/src/behaviors/intersectionObserverBehavior/constants.js","webpack:///@devsnc/sn-list-commons/src/behaviors/intersectionObserverBehavior/selectors.js","webpack:///@devsnc/sn-list-commons/src/behaviors/intersectionObserverBehavior/index.js","webpack:///@devsnc/sn-list-commons/src/utils/focusUtility.js","webpack:///@servicenow/now-list/src/now-list/resources/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/rowGroupingBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/keyboardNavBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/keyboardNavBehavior/utils.js","webpack:///@servicenow/now-list/src/now-list/behaviors/keyboardNavBehavior/keyboardNavHelpers.js","webpack:///@servicenow/now-list/src/now-list/behaviors/popoverBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/cellEditingBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/cellEditingBehavior/cellEditingBehavior.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableHeaders/columnFilteringCell/columnFilteringConsts.js","webpack:///@servicenow/now-list/src/now-list/shared/utils/selectors/featureFlagSelectors.js","webpack:///@servicenow/now-list/src/now-list/shared/utils/selectors/rowSelectors.js","webpack:///@servicenow/now-list/src/now-list/shared/utils/selectors/columnSelectors.js","webpack:///@servicenow/now-list/src/now-list/behaviors/columnBehavior/columnBehavior.js","webpack:///@servicenow/now-list/src/now-list/commons/sortable/constants.js","webpack:///@servicenow/now-list/src/now-list/commons/dom-utils.js","webpack:///@servicenow/now-list/src/now-list/commons/utils/directions.js","webpack:///@servicenow/now-list/src/now-list/commons/sortable/core/helpers.js","webpack:///@servicenow/now-list/src/now-list/commons/sortable/core/auto-scroll.js","webpack:///@servicenow/now-list/src/now-list/commons/sortable/core/class.js","webpack:///@servicenow/now-list/src/now-list/commons/sortable/core/clone.js","webpack:///@servicenow/now-list/src/now-list/commons/utils/rectangle.js","webpack:///@servicenow/now-list/src/now-list/commons/sortable/core/placeholder.js","webpack:///@servicenow/now-list/src/now-list/commons/sortable/core/index.js","webpack:///@servicenow/now-list/src/now-list/commons/sortable/adapters/keyboard/visual-next.js","webpack:///@servicenow/now-list/src/now-list/commons/sortable/adapters/keyboard/keyboard-adapter.js","webpack:///@servicenow/now-list/src/now-list/commons/sortable/adapters/mouse-and-touch/cancel-sort.js","webpack:///@servicenow/now-list/src/now-list/commons/sortable/adapters/mouse-and-touch/dropzone-notifier.js","webpack:///@servicenow/now-list/src/now-list/commons/sortable/adapters/mouse-and-touch/interactjs-adapter.js","webpack:///@servicenow/now-list/src/now-list/commons/sortable/sortable.js","webpack:///@servicenow/now-list/src/now-list/commons/sortable/behavior.js","webpack:///@servicenow/now-list/src/now-list/commons/sortable/index.js","webpack:///@servicenow/now-list/src/now-list/commons/resize/constants.js","webpack:///@servicenow/now-list/src/now-list/commons/resize/shared.js","webpack:///@servicenow/now-list/src/now-list/commons/resize/interactjs.js","webpack:///@servicenow/now-list/src/now-list/commons/resize/keyboard.js","webpack:///@servicenow/now-list/src/now-list/commons/resize/resizingBehavior.js","webpack:///@servicenow/now-list/src/now-list/commons/resize/index.js","webpack:///@servicenow/now-list/src/now-list/behaviors/columnDragDropBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableConstants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/shared/fakeNowIcon.js","webpack:///@servicenow/now-list/src/now-list/shared/views/shared/dragHandle.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableHeaders/tableHeaderCell/columnHeaderClone.js","webpack:///@servicenow/now-list/src/now-list/behaviors/columnDragDropBehavior/columnDragDropUtils.js","webpack:///@servicenow/now-list/src/now-list/behaviors/columnDragDropBehavior/columnDragDropEffects.js","webpack:///@servicenow/now-list/src/now-list/behaviors/columnDragDropBehavior/nowSortableOptions.js","webpack:///@servicenow/now-list/src/now-list/behaviors/columnDragDropBehavior/columnDragDropBehavior.js","webpack:///@babel/runtime/7.28.3/helpers/esm/typeof.js","webpack:///date-fns/2.30.0/esm/_lib/requiredArgs/index.js","webpack:///date-fns/2.30.0/esm/toDate/index.js","webpack:///date-fns/2.30.0/esm/getTime/index.js","webpack:///date-fns/2.30.0/esm/getUnixTime/index.js","webpack:///date-fns-tz/2.0.1/esm/_lib/tzTokenizeDate/index.js","webpack:///date-fns-tz/2.0.1/esm/_lib/newDateUTC/index.js","webpack:///date-fns-tz/2.0.1/esm/_lib/tzParseTimezone/index.js","webpack:///date-fns-tz/2.0.1/esm/_lib/tzPattern/index.js","webpack:///date-fns-tz/2.0.1/esm/toDate/index.js","webpack:///date-fns-tz/2.0.1/esm/zonedTimeToUtc/index.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverChoiceColumnFilterContent/popoverChoiceColumnFilterConsts.js","webpack:///date-fns/2.30.0/esm/_lib/toInteger/index.js","webpack:///date-fns/2.30.0/esm/fromUnixTime/index.js","webpack:///date-fns-tz/2.0.1/esm/_lib/tzIntlTimeZoneName/index.js","webpack:///date-fns-tz/2.0.1/esm/format/formatters/index.js","webpack:///date-fns-tz/2.0.1/esm/format/index.js","webpack:///date-fns-tz/2.0.1/esm/utcToZonedTime/index.js","webpack:///date-fns-tz/2.0.1/esm/formatInTimeZone/index.js","webpack:///@servicenow/library-date-time/27.0.13/src/utils/constants.js","webpack:///@babel/runtime/7.28.3/helpers/esm/arrayLikeToArray.js","webpack:///@babel/runtime/7.28.3/helpers/esm/unsupportedIterableToArray.js","webpack:///@babel/runtime/7.28.3/helpers/esm/createForOfIteratorHelper.js","webpack:///date-fns/2.30.0/esm/locale/en-US/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/_lib/buildFormatLongFn/index.js","webpack:///date-fns/2.30.0/esm/locale/en-US/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/en-US/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/_lib/buildLocalizeFn/index.js","webpack:///date-fns/2.30.0/esm/locale/en-US/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/_lib/buildMatchFn/index.js","webpack:///date-fns/2.30.0/esm/locale/_lib/buildMatchPatternFn/index.js","webpack:///date-fns/2.30.0/esm/locale/en-US/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/en-US/index.js","webpack:///date-fns/2.30.0/esm/_lib/defaultLocale/index.js","webpack:///date-fns/2.30.0/esm/addMilliseconds/index.js","webpack:///date-fns/2.30.0/esm/subMilliseconds/index.js","webpack:///date-fns/2.30.0/esm/_lib/assign/index.js","webpack:///date-fns/2.30.0/esm/_lib/format/longFormatters/index.js","webpack:///date-fns/2.30.0/esm/_lib/getTimezoneOffsetInMilliseconds/index.js","webpack:///date-fns/2.30.0/esm/_lib/protectedTokens/index.js","webpack:///@babel/runtime/7.28.3/helpers/esm/assertThisInitialized.js","webpack:///@babel/runtime/7.28.3/helpers/esm/setPrototypeOf.js","webpack:///@babel/runtime/7.28.3/helpers/esm/inherits.js","webpack:///@babel/runtime/7.28.3/helpers/esm/getPrototypeOf.js","webpack:///@babel/runtime/7.28.3/helpers/esm/isNativeReflectConstruct.js","webpack:///@babel/runtime/7.28.3/helpers/esm/possibleConstructorReturn.js","webpack:///@babel/runtime/7.28.3/helpers/esm/createSuper.js","webpack:///@babel/runtime/7.28.3/helpers/esm/classCallCheck.js","webpack:///@babel/runtime/7.28.3/helpers/esm/toPrimitive.js","webpack:///@babel/runtime/7.28.3/helpers/esm/toPropertyKey.js","webpack:///@babel/runtime/7.28.3/helpers/esm/createClass.js","webpack:///@babel/runtime/7.28.3/helpers/esm/defineProperty.js","webpack:///date-fns/2.30.0/esm/parse/_lib/Setter.js","webpack:///date-fns/2.30.0/esm/parse/_lib/Parser.js","webpack:///date-fns/2.30.0/esm/parse/_lib/parsers/EraParser.js","webpack:///date-fns/2.30.0/esm/constants/index.js","webpack:///date-fns/2.30.0/esm/parse/_lib/constants.js","webpack:///date-fns/2.30.0/esm/parse/_lib/utils.js","webpack:///date-fns/2.30.0/esm/parse/_lib/parsers/YearParser.js","webpack:///date-fns/2.30.0/esm/_lib/defaultOptions/index.js","webpack:///date-fns/2.30.0/esm/_lib/startOfUTCWeek/index.js","webpack:///date-fns/2.30.0/esm/_lib/getUTCWeekYear/index.js","webpack:///date-fns/2.30.0/esm/parse/_lib/parsers/LocalWeekYearParser.js","webpack:///date-fns/2.30.0/esm/_lib/startOfUTCISOWeek/index.js","webpack:///date-fns/2.30.0/esm/parse/_lib/parsers/ISOWeekYearParser.js","webpack:///date-fns/2.30.0/esm/parse/_lib/parsers/ExtendedYearParser.js","webpack:///date-fns/2.30.0/esm/parse/_lib/parsers/QuarterParser.js","webpack:///date-fns/2.30.0/esm/parse/_lib/parsers/StandAloneQuarterParser.js","webpack:///date-fns/2.30.0/esm/parse/_lib/parsers/MonthParser.js","webpack:///date-fns/2.30.0/esm/parse/_lib/parsers/StandAloneMonthParser.js","webpack:///date-fns/2.30.0/esm/_lib/startOfUTCWeekYear/index.js","webpack:///date-fns/2.30.0/esm/_lib/getUTCWeek/index.js","webpack:///date-fns/2.30.0/esm/_lib/setUTCWeek/index.js","webpack:///date-fns/2.30.0/esm/parse/_lib/parsers/LocalWeekParser.js","webpack:///date-fns/2.30.0/esm/_lib/getUTCISOWeekYear/index.js","webpack:///date-fns/2.30.0/esm/_lib/startOfUTCISOWeekYear/index.js","webpack:///date-fns/2.30.0/esm/_lib/getUTCISOWeek/index.js","webpack:///date-fns/2.30.0/esm/_lib/setUTCISOWeek/index.js","webpack:///date-fns/2.30.0/esm/parse/_lib/parsers/ISOWeekParser.js","webpack:///date-fns/2.30.0/esm/parse/_lib/parsers/DateParser.js","webpack:///date-fns/2.30.0/esm/parse/_lib/parsers/DayOfYearParser.js","webpack:///date-fns/2.30.0/esm/_lib/setUTCDay/index.js","webpack:///date-fns/2.30.0/esm/parse/_lib/parsers/DayParser.js","webpack:///date-fns/2.30.0/esm/parse/_lib/parsers/LocalDayParser.js","webpack:///date-fns/2.30.0/esm/parse/_lib/parsers/StandAloneLocalDayParser.js","webpack:///date-fns/2.30.0/esm/_lib/setUTCISODay/index.js","webpack:///date-fns/2.30.0/esm/parse/_lib/parsers/ISODayParser.js","webpack:///date-fns/2.30.0/esm/parse/_lib/parsers/AMPMParser.js","webpack:///date-fns/2.30.0/esm/parse/_lib/parsers/AMPMMidnightParser.js","webpack:///date-fns/2.30.0/esm/parse/_lib/parsers/DayPeriodParser.js","webpack:///date-fns/2.30.0/esm/parse/_lib/parsers/Hour1to12Parser.js","webpack:///date-fns/2.30.0/esm/parse/_lib/parsers/Hour0to23Parser.js","webpack:///date-fns/2.30.0/esm/parse/_lib/parsers/Hour0To11Parser.js","webpack:///date-fns/2.30.0/esm/parse/_lib/parsers/Hour1To24Parser.js","webpack:///date-fns/2.30.0/esm/parse/_lib/parsers/MinuteParser.js","webpack:///date-fns/2.30.0/esm/parse/_lib/parsers/SecondParser.js","webpack:///date-fns/2.30.0/esm/parse/_lib/parsers/FractionOfSecondParser.js","webpack:///date-fns/2.30.0/esm/parse/_lib/parsers/ISOTimezoneWithZParser.js","webpack:///date-fns/2.30.0/esm/parse/_lib/parsers/ISOTimezoneParser.js","webpack:///date-fns/2.30.0/esm/parse/_lib/parsers/TimestampSecondsParser.js","webpack:///date-fns/2.30.0/esm/parse/_lib/parsers/TimestampMillisecondsParser.js","webpack:///date-fns/2.30.0/esm/parse/_lib/parsers/index.js","webpack:///date-fns/2.30.0/esm/parse/index.js","webpack:///date-fns/2.30.0/esm/isDate/index.js","webpack:///date-fns/2.30.0/esm/isValid/index.js","webpack:///date-fns/2.30.0/esm/isMatch/index.js","webpack:///date-fns/2.30.0/esm/_lib/getUTCDayOfYear/index.js","webpack:///date-fns/2.30.0/esm/_lib/addLeadingZeros/index.js","webpack:///date-fns/2.30.0/esm/_lib/format/lightFormatters/index.js","webpack:///date-fns/2.30.0/esm/_lib/format/formatters/index.js","webpack:///date-fns/2.30.0/esm/format/index.js","webpack:///@servicenow/library-date-time/27.0.13/src/utils/date.js","webpack:///@servicenow/library-date-time/27.0.13/src/utils/is-type-to-format-valid.js","webpack:///@servicenow/library-date-time/27.0.13/src/context/locale-context.js","webpack:///@servicenow/library-date-time/27.0.13/src/context/timezone-context.js","webpack:///@servicenow/library-date-time/27.0.13/src/utils/error-messages.js","webpack:///@servicenow/now-date-time/src/utils/constants.js","webpack:///date-fns/2.30.0/esm/addDays/index.js","webpack:///date-fns/2.30.0/esm/addMonths/index.js","webpack:///date-fns/2.30.0/esm/add/index.js","webpack:///date-fns/2.30.0/esm/subDays/index.js","webpack:///date-fns/2.30.0/esm/subMonths/index.js","webpack:///date-fns/2.30.0/esm/sub/index.js","webpack:///date-fns/2.30.0/esm/getDaysInMonth/index.js","webpack:///date-fns/2.30.0/esm/setMonth/index.js","webpack:///date-fns/2.30.0/esm/set/index.js","webpack:///@servicenow/now-date-time/src/utils/date-actions.js","webpack:///@servicenow/now-date-time/src/utils/create-date-item.js","webpack:///date-fns/2.30.0/esm/compareAsc/index.js","webpack:///date-fns/2.30.0/esm/getYear/index.js","webpack:///date-fns/2.30.0/esm/getMonth/index.js","webpack:///date-fns/2.30.0/esm/getQuarter/index.js","webpack:///date-fns/2.30.0/esm/startOfWeek/index.js","webpack:///date-fns/2.30.0/esm/getWeekYear/index.js","webpack:///date-fns/2.30.0/esm/startOfWeekYear/index.js","webpack:///date-fns/2.30.0/esm/getWeek/index.js","webpack:///date-fns/2.30.0/esm/isBefore/index.js","webpack:///date-fns/2.30.0/esm/getDate/index.js","webpack:///date-fns/2.30.0/esm/startOfISOWeek/index.js","webpack:///date-fns/2.30.0/esm/getISOWeekYear/index.js","webpack:///date-fns/2.30.0/esm/startOfISOWeekYear/index.js","webpack:///date-fns/2.30.0/esm/getISOWeek/index.js","webpack:///date-fns/2.30.0/esm/addWeeks/index.js","webpack:///date-fns/2.30.0/esm/eachWeekOfInterval/index.js","webpack:///date-fns/2.30.0/esm/differenceInCalendarWeeks/index.js","webpack:///date-fns/2.30.0/esm/lastDayOfMonth/index.js","webpack:///date-fns/2.30.0/esm/startOfMonth/index.js","webpack:///date-fns/2.30.0/esm/getWeeksInMonth/index.js","webpack:///date-fns/2.30.0/esm/lastDayOfWeek/index.js","webpack:///date-fns/2.30.0/esm/eachDayOfInterval/index.js","webpack:///date-fns/2.30.0/esm/getDay/index.js","webpack:///date-fns/2.30.0/esm/isWithinInterval/index.js","webpack:///date-fns/2.30.0/esm/isEqual/index.js","webpack:///date-fns/2.30.0/esm/getOverlappingDaysInIntervals/index.js","webpack:///date-fns/2.30.0/esm/isAfter/index.js","webpack:///@servicenow/now-date-time/src/reducers/set-states.js","webpack:///@servicenow/now-date-time/src/reducers/get-date-items.js","webpack:///date-fns/2.30.0/esm/eachMonthOfInterval/index.js","webpack:///@servicenow/now-date-time/src/reducers/get-month-items.js","webpack:///date-fns/2.30.0/esm/eachYearOfInterval/index.js","webpack:///@servicenow/now-date-time/src/reducers/get-year-items.js","webpack:///@servicenow/now-date-time/src/reducers/get-week-items.js","webpack:///date-fns/2.30.0/esm/parseISO/index.js","webpack:///date-fns/2.30.0/esm/addQuarters/index.js","webpack:///date-fns/2.30.0/esm/startOfQuarter/index.js","webpack:///date-fns/2.30.0/esm/eachQuarterOfInterval/index.js","webpack:///@servicenow/now-date-time/src/reducers/get-quarter-items.js","webpack:///@servicenow/now-date-time/src/reducers/items-reducer.js","webpack:///@servicenow/now-date-time/src/utils/event-handlers.js","webpack:///date-fns/2.30.0/esm/subQuarters/index.js","webpack:///date-fns/2.30.0/esm/min/index.js","webpack:///date-fns/2.30.0/esm/max/index.js","webpack:///@servicenow/now-date-time/src/views/render-date-controls.js","webpack:///@servicenow/now-date-time/src/views/render-controls.js","webpack:///@servicenow/now-date-time/src/views/render-items.js","webpack:///@servicenow/now-date-time/src/schemas/index.js","webpack:///@servicenow/now-date-time/src/now-date-time-calendar.js","webpack:///@servicenow/now-date-time/src/utils/helper.js","webpack:///@servicenow/now-date-time/src/now-input-date-time.js","webpack:///@servicenow/now-date-time/src/actions/now-date-time-calendar.js","webpack:///@servicenow/now-date-time/src/actions/now-input-date-time.js","webpack:///date-fns/2.30.0/esm/locale/cs/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/cs/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/cs/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/cs/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/cs/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/cs/index.js","webpack:///date-fns/2.30.0/esm/locale/da/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/da/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/da/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/da/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/da/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/da/index.js","webpack:///date-fns/2.30.0/esm/locale/de/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/de/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/de/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/de/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/de/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/de/index.js","webpack:///date-fns/2.30.0/esm/locale/en-IN/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/en-IN/index.js","webpack:///date-fns/2.30.0/esm/locale/en-GB/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/en-IE/index.js","webpack:///date-fns/2.30.0/esm/locale/en-GB/index.js","webpack:///date-fns/2.30.0/esm/locale/es/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/es/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/es/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/es/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/es/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/es/index.js","webpack:///date-fns/2.30.0/esm/locale/et/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/et/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/et/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/et/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/et/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/et/index.js","webpack:///date-fns/2.30.0/esm/locale/fi/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/fi/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/fi/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/fi/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/fi/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/fi/index.js","webpack:///date-fns/2.30.0/esm/locale/fr/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/fr/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/fr/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/fr/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/fr-CA/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/fr-CA/index.js","webpack:///date-fns/2.30.0/esm/locale/fr/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/fr/index.js","webpack:///date-fns/2.30.0/esm/locale/he/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/he/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/he/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/he/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/he/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/he/index.js","webpack:///date-fns/2.30.0/esm/locale/hu/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/hu/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/hu/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/hu/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/hu/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/hu/index.js","webpack:///date-fns/2.30.0/esm/locale/it/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/it/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/_lib/isSameUTCWeek/index.js","webpack:///date-fns/2.30.0/esm/locale/it/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/it/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/it/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/it/index.js","webpack:///date-fns/2.30.0/esm/locale/ja/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/ja/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/ja/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/ja/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/ja/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/ja/index.js","webpack:///date-fns/2.30.0/esm/locale/ko/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/ko/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/ko/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/ko/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/ko/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/ko/index.js","webpack:///date-fns/2.30.0/esm/locale/nn/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/nn/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/nn/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/nn/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/nn/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/nn/index.js","webpack:///date-fns/2.30.0/esm/locale/pl/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/pl/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/pl/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/pl/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/pl/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/pl/index.js","webpack:///date-fns/2.30.0/esm/locale/pt-BR/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/pt-BR/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/pt-BR/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/pt-BR/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/pt-BR/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/pt-BR/index.js","webpack:///date-fns/2.30.0/esm/locale/pt/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/pt/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/pt/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/pt/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/pt/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/pt/index.js","webpack:///date-fns/2.30.0/esm/locale/ru/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/ru/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/ru/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/ru/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/ru/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/ru/index.js","webpack:///date-fns/2.30.0/esm/locale/sv/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/sv/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/sv/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/sv/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/sv/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/sv/index.js","webpack:///date-fns/2.30.0/esm/locale/th/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/th/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/th/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/th/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/th/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/th/index.js","webpack:///date-fns/2.30.0/esm/locale/tr/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/tr/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/tr/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/tr/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/tr/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/tr/index.js","webpack:///date-fns/2.30.0/esm/locale/zh-CN/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/zh-CN/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/zh-CN/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/zh-CN/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/zh-CN/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/zh-CN/index.js","webpack:///date-fns/2.30.0/esm/locale/zh-TW/_lib/formatDistance/index.js","webpack:///date-fns/2.30.0/esm/locale/zh-TW/_lib/formatLong/index.js","webpack:///date-fns/2.30.0/esm/locale/zh-TW/_lib/formatRelative/index.js","webpack:///date-fns/2.30.0/esm/locale/zh-TW/_lib/localize/index.js","webpack:///date-fns/2.30.0/esm/locale/zh-TW/_lib/match/index.js","webpack:///date-fns/2.30.0/esm/locale/zh-TW/index.js","webpack:///@servicenow/now-date-time/src/locales/index.js","webpack:///@servicenow/now-date-time/src/actions/lifecycle.js","webpack:///@servicenow/now-date-time/src/actions/now-popover.js","webpack:///@servicenow/now-date-time/src/actions/index.js","webpack:///@servicenow/now-date-time/src/now-date-time.js","webpack:///date-fns/2.30.0/esm/startOfDay/index.js","webpack:///date-fns/2.30.0/esm/startOfYear/index.js","webpack:///date-fns/2.30.0/esm/startOfHour/index.js","webpack:///date-fns/2.30.0/esm/startOfMinute/index.js","webpack:///date-fns/2.30.0/esm/startOfSecond/index.js","webpack:///date-fns/2.30.0/esm/endOfWeek/index.js","webpack:///date-fns/2.30.0/esm/endOfMonth/index.js","webpack:///date-fns/2.30.0/esm/endOfQuarter/index.js","webpack:///date-fns/2.30.0/esm/endOfYear/index.js","webpack:///date-fns/2.30.0/esm/endOfHour/index.js","webpack:///date-fns/2.30.0/esm/endOfMinute/index.js","webpack:///date-fns/2.30.0/esm/endOfSecond/index.js","webpack:///@servicenow/now-date-time/src/presets/date-fns-lookup.js","webpack:///date-fns/2.30.0/esm/addSeconds/index.js","webpack:///date-fns/2.30.0/esm/addMinutes/index.js","webpack:///date-fns/2.30.0/esm/addHours/index.js","webpack:///date-fns/2.30.0/esm/endOfDay/index.js","webpack:///@servicenow/now-date-time/src/presets/index.js","webpack:///@servicenow/now-date-time/src/presets/now-date-time-presets.js","webpack:///@servicenow/now-date-time/src/now-date-time-interval.js","webpack:///@servicenow/now-select/src/now-select.js","webpack:///@servicenow/now-select/src/index.js","webpack:///@servicenow/now-list/src/now-list/behaviors/componentLoaderBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/intersectionObserverBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/intersectionObserverBehavior/selectors.js","webpack:///@servicenow/now-list/src/now-list/behaviors/intersectionObserverBehavior/intersectionObserverBehavior.js","webpack:///@servicenow/now-list/src/now-list/shared/utils/customLoader.js","webpack:///@servicenow/now-list/src/now-list/shared/utils/dateTimeUtils.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/boolean/constants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableHeaders/columnFilteringCell/columnFilteringCell.js","webpack:///@servicenow/now-list/src/now-list/behaviors/columnFilteringBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/columnFilteringBehavior/columnFilteringBehavior.js","webpack:///@servicenow/now-list/src/now-list/behaviors/columnHeaderClickBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/columnHeaderClickBehavior/columnHeaderClickBehavior.js","webpack:///@servicenow/now-list/src/now-list/behaviors/columnWidthBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/columnResizeBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/columnResizeBehavior/columnResizeBehavior.js","webpack:///@servicenow/now-list/src/now-list/behaviors/columnWidthBehavior/columnWidthBehavior.js","webpack:///@servicenow/now-list/src/now-list/shared/utils/selectors/overlaySelectors.js","webpack:///@servicenow/now-list/src/now-list/shared/utils/selectors/popoverSelectors.js","webpack:///@servicenow/now-list/src/now-list/behaviors/componentLoaderBehavior/componentLoaderBehaviorUtils.js","webpack:///@servicenow/now-list/src/now-list/behaviors/componentLoaderBehavior/componentLoaderBehavior.js","webpack:///@servicenow/now-list/src/now-list/shared/utils/selectors/cellSelectors.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverListContent/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/rowBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/contextActionsBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/contextActionsBehavior/contextActionsBehavior.js","webpack:///@servicenow/now-list/src/now-list/behaviors/customCellDynamicActionBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/customCellDynamicActionBehavior/utils.js","webpack:///@servicenow/now-list/src/now-list/behaviors/customCellDynamicActionBehavior/customCellDynamicActionBehavior.js","webpack:///@servicenow/now-list/src/now-list/behaviors/keyboardNavBehavior/keyboardNavEffects.js","webpack:///@servicenow/now-list/src/now-list/behaviors/keyboardNavBehavior/keyboardNavBehavior.js","webpack:///@servicenow/now-list/src/now-list/behaviors/keyboardNavBehavior/index.js","webpack:///@servicenow/now-list/src/now-list/behaviors/linkBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/linkBehavior/linkBehavior.js","webpack:///@servicenow/now-list/src/now-list/behaviors/rowDragDropBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/rowSelectionBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/metricsBehavior/metricsBehavior.js","webpack:///@servicenow/now-list/src/now-list/behaviors/overlayBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/overlayBehavior/overlayBehavior.js","webpack:///@servicenow/now-list/src/now-list/shared/utils/eventListeners.js","webpack:///@servicenow/now-list/src/now-list/behaviors/popoverBehavior/popoverBehavior.js","webpack:///@servicenow/now-list/src/now-list/behaviors/rowBehavior/rowBehavior.js","webpack:///@servicenow/now-list/src/now-list/behaviors/rowDragDropBehavior/dragDropPlaceholders.js","webpack:///@servicenow/now-list/src/now-list/behaviors/rowDragDropBehavior/sortableOptions.js","webpack:///@servicenow/now-list/src/now-list/behaviors/rowDragDropBehavior/rowDragDropBehavior.js","webpack:///@servicenow/now-list/src/now-list/shared/behaviors/actionConstants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/rowGroupingBehavior/rowGroupingBehavior.js","webpack:///@servicenow/now-list/src/now-list/behaviors/rowHighlightedBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/rowHighlightedBehavior/rowHighlightedHelpers.js","webpack:///@servicenow/now-list/src/now-list/behaviors/rowHighlightedBehavior/rowHighlightedBehavior.js","webpack:///@servicenow/now-list/src/now-list/behaviors/rowSelectionBehavior/rowSelectionBehavior.js","webpack:///@servicenow/now-list/src/now-list/behaviors/virtualizedListBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/behaviors/virtualizedListBehavior/virtualizedObserverUtils.js","webpack:///@servicenow/now-list/src/now-list/behaviors/virtualizedListBehavior/virtualizedObserver.js","webpack:///@servicenow/now-list/src/now-list/behaviors/virtualizedListBehavior/virtualizedListBehaviorUtils.js","webpack:///@servicenow/now-list/src/now-list/behaviors/virtualizedListBehavior/virtualizedListBehavior.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/constants/actionConstants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/person/constants.js","webpack:///@servicenow/now-list/src/now-list/shared/behaviors/bridgeBehavior/bridgeEventMapping.js","webpack:///@servicenow/now-list/src/now-list/shared/behaviors/bridgeBehavior/bridgeBehavior.js","webpack:///@servicenow/now-list/src/now-list/shared/utils/hiddenControls.js","webpack:///@servicenow/now-list/src/now-list/shared/views/floatingTarget/floatingTarget.js","webpack:///@servicenow/now-list/src/now-list/shared/views/overlay/overlay.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/actions.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/cellEditorTypes/action.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/cellEditorTypes/popoverStringCellEditorContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/cellEditorTypes/popoverCurrencyCellEditorContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/cellEditorTypes/popoverBooleanCellEditorContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/cellEditorTypes/popoverDateTimeCellEditorContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/cellEditorTypes/popoverNumberCellEditorContent.js","webpack:///@servicenow/now-typeahead/src/utils/typeahead.js","webpack:///@servicenow/now-typeahead/src/utils/debounce-dispatch.js","webpack:///@servicenow/now-typeahead/src/now-typeahead.js","webpack:///@servicenow/now-typeahead/src/utils/pill-focus.js","webpack:///@servicenow/now-typeahead/src/now-typeahead-multi.js","webpack:///@servicenow/now-typeahead/src/index.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/cellEditorTypes/popoverPillsCellEditorContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/cellEditorTypes/popoverChoiceCellEditorContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/cellEditorTypes/popoverUrlCellEditorContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/cellEditorTypes/popoverLinkCellEditorContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/cellEditorTypes/constants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/cellEditorTypes/popoverIconCellEditorContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/cellEditorTypes/popoverPersonCellEditorContent.js","webpack:///sn-tinymce/28.0.6/index.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/propTypes/SeismicComponent.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/schemas/index.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/propTypes/SeismicComponentBase.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/propTypes/SeismicControlledFieldProps.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/propTypes/index.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/utils/escapeSeismicSpecialSymbols.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/utils/field.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/utils/declarativeActions.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/utils/dom.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/utils/outside-scroll.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/utils/shallowEqual.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/constants.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/utils/transformMessages.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/utils/time.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/utils/seismicPropertiesHelper.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/utils/property.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/utils/effectProxy.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/utils/transformFieldName.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/utils/renderCustomHighlightedLabel.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/utils/renderHighlightedLabel.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/utils/renderDecorations.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/utils/inhouseLodash.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/validations/datetime.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/referenceUtils/index.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/upgradeCompatibility/ComponentBase.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/upgradeCompatibility/ControlledField.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/upgradeCompatibility/FocusWatcher.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/upgradeCompatibility/ShadyDOMEventFixer.js","webpack:///sn-custom-create-element/21.0.0/src/camelCase.js","webpack:///sn-custom-create-element/21.0.0/src/constants.js","webpack:///sn-custom-create-element/21.0.0/src/ariaRefHelpers.js","webpack:///sn-custom-create-element/21.0.0/src/index.js","webpack:///../src/onConnect.js","webpack:///../src/ErrorBoundary.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/upgradeCompatibility/renderHighlightedValueReact.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/upgradeCompatibility/forwardProperties.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/upgradeCompatibility/withValueChangeCallbacks.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/upgradeCompatibility/index.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/withValueChangeCallbacks.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/withValueChangeCallbacksBehavior.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/withStateBehavior.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/checkAutoFocus.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/helperContentSeismicRenderer.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/initialValue.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/trackBehavior.js","webpack:///@servicenow/behavior-dynamic-translation/25.0.1/src/constants.js","webpack:///@servicenow/behavior-dynamic-translation/25.0.1/src/utilities.js","webpack:///@servicenow/behavior-dynamic-translation/25.0.1/src/actions/isEnabledActions.js","webpack:///@servicenow/behavior-dynamic-translation/25.0.1/src/behaviors/isEnabledBehavior.js","webpack:///@servicenow/behavior-dynamic-translation/25.0.1/src/actions/detectionActions.js","webpack:///@servicenow/behavior-dynamic-translation/25.0.1/src/behaviors/detectionBehavior.js","webpack:///@servicenow/behavior-dynamic-translation/25.0.1/src/actions/translationActions.js","webpack:///@servicenow/behavior-dynamic-translation/25.0.1/src/behaviors/translationBehavior.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/behaviours/dynamic-translation/constants.js","webpack:///@servicenow/now-rich-text/src/now-rich-text.js","webpack:///@devsnc/sn-controls-common/28.0.7-pi.1/src/behaviours/dynamic-translation/dynamicTranslationBehaviour.js","webpack:///@devsnc/sn-record-nowassist/src/constants/index.js","webpack:///@devsnc/sn-record-nowassist/src/utils/index.js","webpack:///@devsnc/sn-record-nowassist/src/renderNowAssistContextMenu.js","webpack:///@devsnc/sn-record-nowassist/src/nowAssistActionsBehavior.js","webpack:///@devsnc/sn-recommendations-helper/src/sn-recommendations-helper/constants.js","webpack:///@devsnc/sn-recommendations-helper/src/sn-recommendations-helper/index.js","webpack:///@devsnc/sn-record-input/src/CharacterCounter.js","webpack:///@devsnc/sn-record-input/src/Input.js","webpack:///@devsnc/sn-record-input/src/SNInput.js","webpack:///@devsnc/sn-record-control-wrapper/src/ControlWrapper.js","webpack:///@devsnc/sn-record-control-wrapper/src/FieldMessages.js","webpack:///@devsnc/sn-record-control-wrapper/src/legacy-files/formFieldHelperReact.js","webpack:///@devsnc/sn-record-control-wrapper/src/legacy-files/LabelReact.js","webpack:///@devsnc/sn-record-control-wrapper/src/legacy-files/FieldMessagesReact.js","webpack:///@devsnc/sn-record-control-wrapper/src/legacy-files/ControlWrapperReact.js","webpack:///@devsnc/sn-record-input/src/SNInputGroup.js","webpack:///@devsnc/sn-record-input/src/behaviors/trackBootstrapBehavior.js","webpack:///@devsnc/sn-record-input/src/index.js","webpack:///@devsnc/sn-record-control/src/view.js","webpack:///@devsnc/sn-record-control/src/actionHandlers.js","webpack:///@devsnc/sn-record-control/src/index.js","webpack:///@servicenow/now-record-html-editor/src/constants.js","webpack:///@servicenow/now-record-html-editor/src/TinyMCEEditor.js","webpack:///@servicenow/now-record-html-editor/src/DetectDarkness.js","webpack:///@servicenow/now-record-html-editor/src/TinyMCEThemeBehaviors.js","webpack:///@servicenow/now-record-html-editor/src/importTiny.js","webpack:///@servicenow/now-record-html-editor/src/TinyMCEV5CompatibleMode/constants.js","webpack:///@servicenow/now-record-html-editor/src/TinyMCEV5CompatibleMode/utils.js","webpack:///@servicenow/now-record-html-editor/src/TinyMCEV5CompatibleMode/index.js","webpack:///@servicenow/now-record-html-editor/src/NowAssistContextMenu/index.js","webpack:///@servicenow/now-record-html-editor/src/Utils.js","webpack:///@servicenow/now-record-html-editor/src/effects.js","webpack:///@servicenow/now-record-html-editor/src/index.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/cellEditorTypes/popoverHTMLCellEditorContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCellEditContent/popoverCellEditorContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverTextContent/constants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverTextContent/actions.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverTextContent/popoverTextContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverListContent/actions.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverListContent/popoverListContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCustomContent/action.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverCustomContent/popoverCustomContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverChoiceColumnFilterContent/popoverChoiceColumnFilterHelpers.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popoverChoiceColumnFilterContent/popoverChoiceColumnFilterContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/popover/popover.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/behaviors/galleryCardInteractionBehavior/galleryCardInteractionBehavior.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/views/layoutConstants.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/utils/galleryCardUtils.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/utils/galleryDefaultConfig.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/behaviors/galleryDataBehavior/galleryDataBehavior.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/behaviors/galleryGroupedBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/behaviors/galleryGroupedBehavior/galleryGroupedBehavior.js","webpack:///@servicenow/now-list/src/now-list/shared/KeyboardContants.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/behaviors/galleryKeyboardNavbehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/utils/gallerykeyboardNavigationUtils.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/behaviors/galleryKeyboardNavbehavior/galleryKeyboardNavbehavior.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/behaviors/virtualizedGalleryBehavior/constants.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/behaviors/virtualizedGalleryBehavior/virtualizationObserver.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/behaviors/virtualizedGalleryBehavior/virtualizedGalleryBehavior.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/properties.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/views/actionableMessage/actionableMessage.js","webpack:///@servicenow/now-list/src/now-list/shared/utils/tooltipUtil.js","webpack:///@servicenow/now-list/src/now-list/shared/utils/mobileUtils.js","webpack:///@servicenow/now-list/src/now-list/shared/utils/truncationUtils.js","webpack:///@servicenow/now-list/src/now-list/shared/views/shared/cellIconContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/fieldContentConstants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/fieldUtil.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/boolean/boolean.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/number/number.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableBody/tableRow/rowCell/cellContentConstants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableBody/tableRow/rowCell/cellContentUtils.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/string/string.js","webpack:///@servicenow/now-list/src/now-list/shared/views/timeAgoDisplay/timeAgoDisplay.js","webpack:///date-fns/2.22.1/esm/_lib/requiredArgs/index.js","webpack:///date-fns/2.22.1/esm/toDate/index.js","webpack:///date-fns/2.22.1/esm/_lib/toInteger/index.js","webpack:///date-fns/2.22.1/esm/fromUnixTime/index.js","webpack:///@servicenow/now-list/src/now-list/shared/views/timeAgoDisplay/index.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/dateTime/dateTime.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/currency/currency.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/icon/icon.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/link/link.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/url/url.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/choice/choice.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/html/html.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/percentComplete/percentComplete.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/person/person.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/pills/pills.js","webpack:///@servicenow/now-list/src/now-list/shared/views/fields/customComponent/customComponent.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/views/galleryCardField.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/views/truncatedTextMore/constants.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/views/truncatedTextMore/view.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/views/truncatedTextMore/index.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/views/galleryCardBody.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/views/galleryCardHeader.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/views/galleryCardItem.js","webpack:///@servicenow/now-list/src/now-list/shared/views/groupActions.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/views/galleryLayouts/galleryCardViewGrouped.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/views/galleryLayouts/galleryCardViewDefault.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/views/galleryLayouts/galleryCardViewVirtualized.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/views/galleryLayouts/groupedViewToggle.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/views/galleryView.js","webpack:///@servicenow/now-list/src/now-list/now-list-gallery/index.js","webpack:///@servicenow/now-list/src/now-list/shared/utils/wrapCellContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/colGroups/colGroups.js","webpack:///@servicenow/now-list/src/now-list/shared/utils/shadeAlternateRows.js","webpack:///@servicenow/now-list/src/now-list/shared/views/shared/groupBadgeCellContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/shared/groupToggleCellContent.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableBody/tableRow/groupedRowUtils.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableBody/tableRow/rowCell/imageCellType/imageCellType.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableBody/tableRow/rowCell/personCellType/personCellType.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableBody/tableRow/rowCell/pillsCellType/pillsCellType.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableBody/tableRow/rowCell/rowActionsCellType/rowActionsCellType.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableBody/tableRow/rowCell/rowDragCellType/rowDragCellType.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableBody/tableRow/rowCell/rowSelectionCellType/rowSelectionCellType.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableBody/tableRow/rowCell/rowCell.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableBody/tableRow/tableRow.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableBody/tableBody.js","webpack:///@servicenow/now-list/src/now-list/shared/views/actionableMessage/actionableMessage.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableFooters/tableFooter.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableHeaders/columnFilteringToggleButton.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableHeaders/tableHeaderCell/tableHeaderCellConstants.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableHeaders/tableHeaderCell/tableHeaderCell.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/tableHeaders/tableHeader.js","webpack:///@servicenow/now-list/src/now-list/shared/views/table/table.js","webpack:///@servicenow/now-list/src/now-list/index.js","webpack:///@devsnc/sn-search-genius-card-assist/src/contents/listResult.js","webpack:///@devsnc/sn-search-genius-card-assist/src/contents/divider.js","webpack:///@devsnc/sn-search-genius-card-assist/src/contents/bodyNLQ.js","webpack:///@devsnc/sn-search-genius-card-assist/src/actions.js","webpack:///@devsnc/sn-search-genius-card-assist/src/utils.js","webpack:///@devsnc/sn-search-genius-card-assist/src/contents/bodyMultiTableNLQ.js","webpack:///@devsnc/sn-search-genius-card-assist/src/sections/body.js","webpack:///@devsnc/sn-search-genius-card-assist/src/contents/sn-search-genius-about-popover.js","webpack:///@devsnc/sn-search-genius-card-assist/src/contents/feedbackButtonSet.js","webpack:///@devsnc/sn-search-genius-card-assist/src/sections/footer.js","webpack:///@devsnc/sn-search-genius-card-assist/src/common/popover/sn-search-citation-popover-content.js","webpack:///@devsnc/sn-search-genius-card-assist/src/common/popover/citation-popover.js","webpack:///@devsnc/sn-search-genius-card-assist/src/common/streaming/view.js","webpack:///@devsnc/sn-search-genius-card-assist/src/view.js","webpack:///@devsnc/sn-search-genius-card-assist/src/effects.js","webpack:///@devsnc/sn-search-genius-card-assist/src/common/streaming/actions.js","webpack:///@devsnc/sn-search-genius-card-assist/src/common/streaming/processor.js","webpack:///@devsnc/sn-search-genius-card-assist/src/common/streaming/streaming-behavior.js","webpack:///@devsnc/sn-search-genius-card-assist/src/actionHandlers.js","webpack:///@devsnc/sn-search-genius-card-assist/src/common/initialState.js","webpack:///@devsnc/sn-search-genius-card-assist/src/sn-search-genius-card-assist.js","webpack:///@devsnc/sn-search-genius-card-assist/src/contents/miniFooter.js","webpack:///@devsnc/sn-search-genius-card-assist/src/contents/thumbnail.js","webpack:///@devsnc/sn-search-genius-card-assist/src/sn-search-genius-card-assist-mini/view.js","webpack:///@devsnc/sn-search-genius-card-assist/src/sn-search-genius-card-assist-mini/sn-search-genius-card-assist-mini.js","webpack:///@servicenow/now-carousel-text/src/now-carousel-text.js","webpack:///@servicenow/now-carousel-text/src/index.js","webpack:///@devsnc/sn-search-top-results/src/sn-search-top-results/contents/loading-state/geniusResultsLoadingState.js","webpack:///@devsnc/sn-search-top-results/src/sn-search-top-results/components/sn-search-gr-carousel/view.js","webpack:///@devsnc/sn-search-top-results/src/sn-search-top-results/actions.js","webpack:///@devsnc/sn-search-genius-cards/src/constants.js","webpack:///@devsnc/sn-search-genius-cards/src/sn-search-genius-user-card/utils.js","webpack:///@devsnc/sn-search-genius-cards/src/sn-search-genius-user-card/view.js","webpack:///@devsnc/sn-search-genius-cards/src/sn-search-genius-user-card/sn-search-genius-user-card.js","webpack:///@devsnc/sn-search-genius-cards/src/sn-search-genius-qa-card/utils.js","webpack:///@devsnc/sn-search-genius-cards/src/sn-search-genius-qa-card/view.js","webpack:///@devsnc/sn-search-genius-cards/src/sn-search-genius-qa-card/sn-search-genius-qa-card.js","webpack:///@devsnc/sn-search-genius-cards/src/sn-search-genius-catalog-card/utils.js","webpack:///@devsnc/sn-search-genius-cards/src/sn-search-genius-catalog-card/view.js","webpack:///@devsnc/sn-search-genius-cards/src/sn-search-genius-catalog-card/sn-search-genius-catalog-card.js","webpack:///@devsnc/sn-search-genius-cards/src/sn-search-genius-nlq-card/utils.js","webpack:///@devsnc/sn-search-genius-cards/src/sn-search-genius-nlq-card/view.js","webpack:///@devsnc/sn-search-genius-cards/src/sn-search-genius-nlq-card/sn-search-genius-nlq-card.js","webpack:///@devsnc/sn-search-genius-cards/src/sn-search-genius-synthesized-card/utils.js","webpack:///@devsnc/sn-search-genius-cards/src/sn-search-genius-synthesized-card/view.js","webpack:///@devsnc/sn-search-genius-cards/src/sn-search-genius-synthesized-card/sn-search-genuis-synthesized-card.js","webpack:///@devsnc/sn-search-top-results/src/sn-search-top-results/utils/transformProps.js","webpack:///@devsnc/sn-search-top-results/src/sn-search-top-results/signals/constants.js","webpack:///@devsnc/sn-search-top-results/src/sn-search-top-results/signals/signalTracker.js","webpack:///@devsnc/sn-search-top-results/src/sn-search-top-results/signals/utils.js","webpack:///@devsnc/sn-search-top-results/src/sn-search-top-results/utils/utils.js","webpack:///@devsnc/sn-search-top-results/src/sn-search-top-results/effects.js","webpack:///@devsnc/sn-search-top-results/src/sn-search-top-results/components/sn-search-gr-carousel/sn-search-gr-carousel.js","webpack:///@devsnc/sn-search-top-results/src/sn-search-top-results/view.js","webpack:///@devsnc/sn-search-top-results/src/sn-search-top-results/actionHandlers.js","webpack:///@devsnc/sn-search-top-results/src/sn-search-top-results/sn-search-top-results.js","webpack:///devplatform-app/9.7.13/src/components/dps-hierarchical-select/src/constants.js","webpack:///devplatform-app/9.7.13/src/components/dps-hierarchical-select/src/actions.js","webpack:///devplatform-app/9.7.13/src/components/dps-hierarchical-select/src/utils.js","webpack:///devplatform-app/9.7.13/src/components/dps-hierarchical-select/src/effects.js","webpack:///devplatform-app/9.7.13/src/components/dps-hierarchical-select/src/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/components/dps-hierarchical-select/src/treeMode/views/TreeExpandButton.js","webpack:///devplatform-app/9.7.13/src/components/dps-hierarchical-select/src/views/Link.js","webpack:///devplatform-app/9.7.13/src/components/dps-hierarchical-select/src/views/Checkbox.js","webpack:///devplatform-app/9.7.13/src/components/dps-hierarchical-select/src/treeMode/views/TreeItem.js","webpack:///devplatform-app/9.7.13/src/components/dps-hierarchical-select/src/views/Item.js","webpack:///devplatform-app/9.7.13/src/components/dps-hierarchical-select/src/treeMode/utils/treeClassName.js","webpack:///devplatform-app/9.7.13/src/components/dps-hierarchical-select/src/views/Tree.js","webpack:///devplatform-app/9.7.13/src/components/dps-hierarchical-select/src/view.js","webpack:///devplatform-app/9.7.13/src/components/dps-hierarchical-select/src/index.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/common/constants.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/common/utils.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/common/view/Facet.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/common/view/Divider.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/sn-search-facets-desktop/actions.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/common/actions.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/sn-search-facets-desktop/view/ExpandButton.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/sn-search-facets-desktop/view/Accordion.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/sn-search-facets-desktop/view/Panel.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/common/view/AppliedFacets.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/common/view/Loader.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/sn-search-facets-desktop/view/PanelList.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/sn-search-facets-desktop/view/Header.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/sn-search-facets-desktop/view/DesktopView.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/sn-search-facets-desktop/effects.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/sn-search-facets-mobile/constants.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/common/effects.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/common/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/sn-search-facets-desktop/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/sn-search-facets-desktop/sn-search-facets-desktop.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/sn-search-facets-mobile/actions.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/sn-search-facets-mobile/view/ExpandButton.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/sn-search-facets-mobile/view/Filters.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/sn-search-facets-mobile/view/Panel.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/sn-search-facets-mobile/view/PanelList.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/sn-search-facets-mobile/view/RootHeader.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/sn-search-facets-mobile/view/CategoryHeader.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/sn-search-facets-mobile/view/Header.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/sn-search-facets-mobile/view/MobileView.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/sn-search-facets-mobile/effects.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/sn-search-facets-mobile/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/sn-search-facets-mobile/sn-search-facets-mobile.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/view.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/common/signalTracker.js","webpack:///devplatform-app/9.7.13/src/components/dps-search-facets/src/sn-search-facets.js","webpack:///devplatform-app/9.7.13/src/components/dps-ai-search/dps-feedback-card/dps-feedback-card.js","webpack:///@servicenow/now-pagination-control/src/now-pagination-control.js","webpack:///@servicenow/now-pagination-control/src/index.js","webpack:///devplatform-app/9.7.13/src/components/dps-ai-search/dps-card-loading/dps-card-loading.js","webpack:///devplatform-app/9.7.13/src/components/dps-ai-search/dps-search-result/dps-search-result.js","webpack:///devplatform-app/9.7.13/src/components/dps-ai-search/dps-no-search-result/dps-no-search-result.js","webpack:///devplatform-app/9.7.13/src/components/dps-ai-search/helper.js","webpack:///devplatform-app/9.7.13/src/components/dps-ai-search/dps-fallback-top-result/now-sparkle-icon.js","webpack:///devplatform-app/9.7.13/src/components/dps-ai-search/dps-fallback-top-result/dps-fallback-top-result.js","webpack:///devplatform-app/9.7.13/src/components/dps-ai-search/dps-ai-search.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-detail/dps-guides-detail-nav.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-detail/actions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-detail/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-detail/initialState.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-detail/properties.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-detail/actionHandlers/index.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-guides-detail/dps-guides-detail.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-design-layout/dps-design-layout-constants.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-design-layout/dps-design-layout-actionHandler.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-design-layout/properties.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-design-layout/dps-design-layout.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-connect-overview/connectCardView.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-connect-overview/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-connect-overview/initialState.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-connect-overview/properties.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-connect-overview/actions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-connect-overview/actionHandlers/index.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-connect-overview/dps-connect-overview.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-design-overview/dps-design-overview.js","webpack:///devplatform-app/9.7.13/src/components/dps-delete-user-account-modal/actions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-profile/actions.js","webpack:///devplatform-app/9.7.13/src/components/dps-delete-user-account-modal/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/components/dps-delete-user-account-modal/modalContentView.js","webpack:///devplatform-app/9.7.13/src/components/dps-delete-user-account-modal/view.js","webpack:///devplatform-app/9.7.13/src/components/dps-delete-user-account-modal/dps-delete-user-account-modal.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-profile/views/FormCheckbox.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-profile/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-profile/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-profile/dps_profile.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-learning-tutorials/mock-data.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-learning-tutorials/render-tutorial-card.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-learning-tutorials/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-learning-tutorials/actions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-learning-tutorials/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-learning-tutorials/dps-learning-tutorials.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-tutorial-exercise/actions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-tutorial-exercise/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-tutorial-exercise/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-tutorial-exercise/dps-tutorial-exercise.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-developer-mvp/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-developer-mvp/dps-developer-mvp.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-engagement-page/patterns/dps-engagement-page-pattern-1/dps-engagement-page-pattern-1.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-engagement-page/patterns/dps-aggregate-engagement-pattern-2/dps-aggregate-engagement-pattern-2.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-engagement-page/patterns/dps-aggregate-engagement-pattern-3/dps-aggregate-engagement-pattern-3.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-engagement-page/dps-engagement-page.js","webpack:///sn-par-filter/27.0.12/src/helpers/mockableThrottle.js","webpack:///sn-par-filter/27.0.12/src/listbox/vanilla-listbox.js","webpack:///sn-par-filter/27.0.12/src/listbox/constants.js","webpack:///sn-par-filter/27.0.12/src/helpers/listSeparator.js","webpack:///sn-par-filter/27.0.12/src/listbox/listbox.js","webpack:///sn-par-filter/27.0.12/src/listbox/index.js","webpack:///sn-par-filter/27.0.12/src/slush-bucket/slush-bucket.js","webpack:///sn-par-filter-common/27.0.12/src/dates/date-range-presets.js","webpack:///sn-par-filter-common/27.0.12/src/action.js","webpack:///sn-par-filter/27.0.12/src/slush-bucket/index.js","webpack:///sn-par-filter-common/27.0.12/src/memoize.js","webpack:///sn-par-filter-common/27.0.12/src/effect-proxy.js","webpack:///@tectonic/test-api/29.4.12/module/element-helpers/custom-operators.js","webpack:///@tectonic/test-api/29.4.12/module/element-helpers/parse-selector.js","webpack:///@tectonic/test-api/29.4.12/module/element-helpers/query.js","webpack:///@tectonic/test-api/29.4.12/module/testing-helpers/flush-queue.js","webpack:///@tectonic/test-api/29.4.12/module/element-helpers/index.js","webpack:///@tectonic/test-api/29.4.12/module/testing-helpers/will-dispatch.js","webpack:///@tectonic/test-api/29.4.12/module/testing-helpers/fixture.js","webpack:///@tectonic/test-api/29.4.12/module/testing-helpers/register-component-driver.js","webpack:///@tectonic/test-api/29.4.12/module/testing-helpers/create-driver-api.js","webpack:///@tectonic/test-api/29.4.12/module/testing-helpers/find-node.js","webpack:///@tectonic/test-api/29.4.12/module/testing-helpers/annotation.js","webpack:///@tectonic/test-api/29.4.12/module/record-player/index.js","webpack:///@tectonic/test-api/29.4.12/module/unit-test-helpers/get-all-children.js","webpack:///sn-par-filter-common/27.0.12/src/conditional-will-dispatch.js","webpack:///sn-par-filter-common/27.0.12/src/groups/overrides.js","webpack:///sn-par-filter/27.0.12/src/filter/constants.js","webpack:///sn-par-filter/27.0.12/src/filter/list-content/list-error/list-error.js","webpack:///sn-par-filter/27.0.12/src/filter/list-content/list-content.js","webpack:///sn-par-filter/27.0.12/src/filter/list-content/filter-check-elements-provider/constants.js","webpack:///sn-par-filter/27.0.12/src/filter/list-content/filter-check-elements-provider/effects.js","webpack:///sn-par-filter/27.0.12/src/filter/list-content/filter-check-elements-provider/filter-check-elements-provider.js","webpack:///sn-par-filter/27.0.12/src/filter/list-content/filter-check-elements-provider/index.js","webpack:///sn-par-filter/27.0.12/src/filter/list-content/list-notifications/followed-filters/followed-filters-alert.js","webpack:///sn-par-filter/27.0.12/src/filter/list-content/list-notifications/followed-filters/index.js","webpack:///sn-par-filter-common-components/27.0.12/src/iconic-help/index.js","webpack:///sn-par-filter-common-components/27.0.12/src/source-type-provider/constants.js","webpack:///sn-par-filter-common-components/27.0.12/src/source-type-provider/effects.js","webpack:///sn-par-filter-common-components/27.0.12/src/source-type-provider/action-handlers.js","webpack:///sn-par-filter-common-components/27.0.12/src/source-type-provider/index.js","webpack:///sn-par-filter-common-components/27.0.12/src/messages/index.js","webpack:///sn-par-filter-common-components/27.0.12/src/behaviors/messaging.js","webpack:///sn-par-filter-common-components/27.0.12/src/elementResizeHandlers.js","webpack:///sn-par-filter/27.0.12/src/filter/messages.js","webpack:///sn-par-filter/27.0.12/src/filter/list-content/list-notifications/list-notifications.js","webpack:///sn-par-filter/27.0.12/src/filter/list-content/list-notifications/index.js","webpack:///sn-par-filter/27.0.12/src/filter/list-content/list-sort/list-sort.js","webpack:///sn-par-filter/27.0.12/src/filter/list-content/list-sort/index.js","webpack:///sn-par-filter/27.0.12/src/filter/list-content/list-single/list-single.js","webpack:///sn-par-filter/27.0.12/src/filter/list-content/list-single/index.js","webpack:///sn-par-filter/27.0.12/src/filter/behaviors.js","webpack:///sn-par-filter/27.0.12/src/filter/badge/badge.js","webpack:///sn-par-filter/27.0.12/src/filter/pill-variant/variants/classic.js","webpack:///sn-par-filter/27.0.12/src/filter/pill-variant/variants/alternative.js","webpack:///sn-par-filter/27.0.12/src/helpers/validation.js","webpack:///sn-par-filter/27.0.12/src/filter/pill-variant/pill-variant-view.js","webpack:///sn-par-filter/27.0.12/src/helpers/element.js","webpack:///sn-par-filter/27.0.12/src/filter/pill-variant/pill-variant.js","webpack:///sn-par-filter/27.0.12/src/filter/pill-variant/index.js","webpack:///sn-par-filter/27.0.12/src/helpers/items.js","webpack:///sn-par-filter/27.0.12/src/filter/typeahead/typeahead.js","webpack:///sn-par-filter/27.0.12/src/filter/typeahead/index.js","webpack:///sn-par-filter/27.0.12/src/filter/radiobuttons/radiobuttons.js","webpack:///sn-par-filter/27.0.12/src/filter/radiobuttons/index.js","webpack:///sn-par-filter/27.0.12/src/filter/checkboxes/checkboxes.js","webpack:///sn-par-filter/27.0.12/src/filter/checkboxes/index.js","webpack:///sn-par-filter/27.0.12/src/filter/daterange-content/helpers.js","webpack:///sn-par-filter/27.0.12/src/filter/filter-view.js","webpack:///sn-par-filter/27.0.12/src/helpers/telemetry-util.js","webpack:///sn-par-filter/27.0.12/src/filter/boolean/boolean.js","webpack:///sn-par-filter/27.0.12/src/filter/filter.js","webpack:///sn-par-filter/27.0.12/src/filter/popup/popup.js","webpack:///sn-par-filter/27.0.12/src/filter/popup/index.js","webpack:///sn-par-filter/27.0.12/src/filter/daterange-content/daterange-panel/helpers.js","webpack:///sn-par-filter/27.0.12/src/filter/daterange-content/daterange-panel/daterange-panel.js","webpack:///sn-par-filter/27.0.12/src/filter/daterange-content/radio-group/radio-group.js","webpack:///sn-par-filter/27.0.12/src/filter/daterange-content/variants/constants.js","webpack:///sn-par-filter/27.0.12/src/filter/daterange-content/variants/date-range-content-popup.js","webpack:///sn-par-filter/27.0.12/src/filter/daterange-content/variants/date-range-content-modal.js","webpack:///sn-par-filter/27.0.12/src/filter/daterange-content/date-range-content-view.js","webpack:///sn-par-filter/27.0.12/src/filter/daterange-content/daterange-content.js","webpack:///sn-par-filter/27.0.12/src/helpers/searchItems.js","webpack:///sn-par-filter/27.0.12/src/filter/boolean/index.js","webpack:///sn-par-filter/27.0.12/src/filter/list-content/index.js","webpack:///sn-par-filter/27.0.12/src/filter/list-content/list-multi/list-multi.js","webpack:///sn-par-filter/27.0.12/src/filter/list-content/list-multi/index.js","webpack:///sn-par-filter/27.0.12/src/filter/list-content/list-search/list-search.js","webpack:///sn-par-filter/27.0.12/src/filter/list-content/list-search/index.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-pdi-summary/actionHandlers/fetchAvailableInstance.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-pdi-summary/views/dps-useful-links.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-pdi-summary/views/dps-plugin.js","webpack:///@servicenow/now-tabs/src/schemas/tabs-schema.js","webpack:///@servicenow/now-tabs/src/now-tabs.js","webpack:///@servicenow/now-tabs/src/now-tabs-vertical.js","webpack:///@servicenow/now-tabs/src/index.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-pdi-summary/views/view-history.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-pdi-summary/view.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-pdi-summary/actionHandlers/manageInstanceHandlers.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-pdi-summary/dps-pdi-summary.js","webpack:///devplatform-app/9.7.13/src/behaviors/router/matchPath.js","webpack:///devplatform-app/9.7.13/src/routes.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/wakeupInstance.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/handleWhatsNewModal.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/handleNotifyUnPlannedMaintenance.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/handlePlaygroundWhatsNewModal.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/handleEventTracking.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/handleToastDisplay.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/handleInstanceMenuItemClick.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/handleOverrideInstanceStatus.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/handleRefreshStatus.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/handleUpdateInstanceActionMenu.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/sendInstanceResetPasswordEmail.js","webpack:///devplatform-app/9.7.13/src/components/dps-ai-search/actions.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/actionHandlers/index.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/properties.js","webpack:///devplatform-app/9.7.13/src/components/dps-expired-session-modal/dps-expired-session-modal.js","webpack:///devplatform-app/9.7.13/src/utils/dropdown.js","webpack:///devplatform-app/9.7.13/src/components/dps-instance-modal/handlers.js","webpack:///devplatform-app/9.7.13/src/components/dps-instance-modal/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/components/dps-instance-modal/properties.js","webpack:///devplatform-app/9.7.13/src/components/dps-instance-modal/views/InstanceHelpTabContent.js","webpack:///devplatform-app/9.7.13/src/components/dps-instance-modal/views/OpResult.js","webpack:///devplatform-app/9.7.13/src/components/dps-instance-modal/constants.js","webpack:///devplatform-app/9.7.13/src/components/dps-instance-modal/views/ExecCatItemTabContent.js","webpack:///devplatform-app/9.7.13/src/components/dps-instance-modal/views/PluginTabContent.js","webpack:///devplatform-app/9.7.13/src/components/dps-instance-modal/views/UpgradeInstanceTabContent.js","webpack:///devplatform-app/9.7.13/src/components/dps-instance-modal/views/ResetInstanceTabContent.js","webpack:///devplatform-app/9.7.13/src/components/dps-instance-modal/views/ReleaseInstanceTabContent.js","webpack:///devplatform-app/9.7.13/src/components/dps-instance-modal/views/SendAndRecieveEmailTabContent.js","webpack:///devplatform-app/9.7.13/src/components/dps-instance-modal/views/ChangeUserRoleTabContent.js","webpack:///devplatform-app/9.7.13/src/components/dps-instance-modal/views/ManageInstancePassword.js","webpack:///devplatform-app/9.7.13/src/components/dps-instance-modal/views/TabContent.js","webpack:///devplatform-app/9.7.13/src/components/dps-instance-modal/views/OperationHistoryTabContent.js","webpack:///devplatform-app/9.7.13/src/components/dps-instance-modal/view.js","webpack:///devplatform-app/9.7.13/src/components/dps-instance-modal/instance_modal.js","webpack:///devplatform-app/9.7.13/src/components/dps-whats-new-modal/actions.js","webpack:///devplatform-app/9.7.13/src/components/dps-whats-new-modal/view.js","webpack:///devplatform-app/9.7.13/src/components/dps-whats-new-modal/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/components/dps-whats-new-modal/dps-whats-new-modal.js","webpack:///devplatform-app/9.7.13/src/components/dps-playground-whats-new-modal/actions.js","webpack:///devplatform-app/9.7.13/src/components/dps-playground-whats-new-modal/view.js","webpack:///devplatform-app/9.7.13/src/components/dps-playground-whats-new-modal/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/components/dps-playground-whats-new-modal/dps-playground-whats-new-modal.js","webpack:///devplatform-app/9.7.13/src/components/dps-user-profile-modal/actions.js","webpack:///devplatform-app/9.7.13/src/components/dps-user-profile-modal/constants.js","webpack:///devplatform-app/9.7.13/src/components/dps-user-profile-modal/actionHelpers.js","webpack:///devplatform-app/9.7.13/src/components/dps-user-profile-modal/actionHandlers.js","webpack:///@servicenow/now-stepper/src/now-stepper.js","webpack:///devplatform-app/9.7.13/src/components/dps-user-profile-modal/populateCheckBoxView.js","webpack:///devplatform-app/9.7.13/src/components/dps-user-profile-modal/radioButtonsView.js","webpack:///devplatform-app/9.7.13/src/components/dps-user-profile-modal/tabbedOptionsView.js","webpack:///devplatform-app/9.7.13/src/components/dps-user-profile-modal/inputTypeView.js","webpack:///devplatform-app/9.7.13/src/components/dps-user-profile-modal/legalAgreementCheckView.js","webpack:///devplatform-app/9.7.13/src/components/dps-user-profile-modal/userProfileView.js","webpack:///devplatform-app/9.7.13/src/components/dps-user-profile-modal/fetchQuestionsFailureView.js","webpack:///devplatform-app/9.7.13/src/components/dps-user-profile-modal/dps-user-profile-modal.js","webpack:///devplatform-app/9.7.13/src/components/dps-site-banner/dps-site-banner.js","webpack:///devplatform-app/9.7.13/src/components/dps-toast-container/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/components/dps-toast-container/dps-toast-container.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-instance-assignment-modal/cxupdated/helpers.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-instance-assignment-modal/cxupdated/requestInstanceViewModal.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-instance-assignment-modal/cxupdated/leaveInstanceViewModal.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-instance-assignment-modal/cxupdated/waitlistedViewModal.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-instance-assignment-modal/cxupdated/reviewInstancePolicyViewModal.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-instance-assignment-modal/instanceAssignmentSuccessView.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-instance-assignment-modal/instanceAssignmentFailedView.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-instance-assignment-modal/instanceProcessingView.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-instance-assignment-modal/baAutoAssignView.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-instance-assignment-modal/handleBackupRestore.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-instance-assignment-modal/actionHandlers.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-instance-assignment-modal/cxupdated/waitlistFromErrorViewModal.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-instance-assignment-modal/dps-instance-assignment-modal.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-ba-progress-banner/dps-ba-progress-banner.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-pdi-summary/modals/fulfillingExperience.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-data-provider.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/view.js","webpack:///devplatform-app/9.7.13/src/behaviors/router/findRoute.js","webpack:///devplatform-app/9.7.13/src/behaviors/router/handlers.js","webpack:///devplatform-app/9.7.13/src/behaviors/router/queryParamActions.js","webpack:///devplatform-app/9.7.13/src/behaviors/router/index.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-app/dps-app.js","webpack:///devplatform-app/9.7.13/src/connected-components/dps-root/dps-root.js"],"sourcesContent":["/**\n * Abstracts constructing a Blob object, so it also works in across\n * all modern browsers.\n *\n * Reference: https://developer.mozilla.org/en-US/docs/Web/API/Blob/Blob\n *\n * @param parts\n * @param properties\n */\nfunction createBlob(parts, properties) {\n\tparts = parts || [];\n\tproperties = properties || {};\n\ttry {\n\t\treturn new Blob(parts, properties);\n\t} catch (e) {\n\t\tif (e.name !== 'TypeError') {\n\t\t\tconsole.error(\"Blob isn't supported! \");\n\t\t\tthrow e;\n\t\t}\n\t}\n}\n\nexport default createBlob;\n","/* eslint-disable no-bitwise */\nimport createBlob from './createBlob';\n\n// TODO: move these constants later\n// The best way to save binary data in localStorage is serializing\n// it to Base64, it helps us to prevent very strange errors with less\n// verbose ways of binary <-> string data storage.\nconst BASE_CHARS =\n\t'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\nconst BLOB_TYPE_PREFIX = '~~nxui_unified_cache_type~';\nconst BLOB_TYPE_PREFIX_REGEX = /^~~nxui_unified_cache_type~([^~]+)~/;\n\nconst SERIALIZED_MARKER = '__nxui_sc__:';\nconst SERIALIZED_MARKER_LENGTH = SERIALIZED_MARKER.length;\n\n// let stack some pile of constants for the serializations!\nconst TYPE_ARRAYBUFFER = 'arbf';\nconst TYPE_BLOB = 'blob';\nconst TYPE_INT8ARRAY = 'si08';\nconst TYPE_UINT8ARRAY = 'ui08';\nconst TYPE_UINT8CLAMPEDARRAY = 'uic8';\nconst TYPE_INT16ARRAY = 'si16';\nconst TYPE_INT32ARRAY = 'si32';\nconst TYPE_UINT16ARRAY = 'ur16';\nconst TYPE_UINT32ARRAY = 'ui32';\nconst TYPE_FLOAT32ARRAY = 'fl32';\nconst TYPE_FLOAT64ARRAY = 'fl64';\nconst TYPE_SERIALIZED_MARKER_LENGTH =\n\tSERIALIZED_MARKER_LENGTH + TYPE_ARRAYBUFFER.length;\n\nconst toString = Object.prototype.toString;\n\nfunction stringToBuffer(serializedString) {\n\t// Fill the string into a ArrayBuffer.\n\tlet bufferLength = serializedString.length * 0.75;\n\tconst len = serializedString.length;\n\tlet p = 0;\n\tlet encoded1, encoded2, encoded3, encoded4;\n\n\tif (serializedString[serializedString.length - 1] === '=') {\n\t\tbufferLength--;\n\t\tif (serializedString[serializedString.length - 2] === '=') {\n\t\t\tbufferLength--;\n\t\t}\n\t}\n\n\tconst buffer = new ArrayBuffer(bufferLength);\n\tconst bytes = new Uint8Array(buffer);\n\n\tfor (let i = 0; i < len; i += 4) {\n\t\tencoded1 = BASE_CHARS.indexOf(serializedString[i]);\n\t\tencoded2 = BASE_CHARS.indexOf(serializedString[i + 1]);\n\t\tencoded3 = BASE_CHARS.indexOf(serializedString[i + 2]);\n\t\tencoded4 = BASE_CHARS.indexOf(serializedString[i + 3]);\n\n\t\t/*jslint bitwise: true */\n\t\tbytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n\t\tbytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n\t\tbytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n\t}\n\treturn buffer;\n}\n\n// Converts a buffer to a string to browser storage,\n// serialized, in the unifiedCache library.\nfunction bufferToString(buffer) {\n\t// base64-arraybuffer\n\tconst bytes = new Uint8Array(buffer);\n\tlet base64String = '';\n\n\tfor (let i = 0; i < bytes.length; i += 3) {\n\t\tbase64String += BASE_CHARS[bytes[i] >> 2];\n\t\tbase64String += BASE_CHARS[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n\t\tbase64String +=\n\t\t\tBASE_CHARS[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n\t\tbase64String += BASE_CHARS[bytes[i + 2] & 63];\n\t}\n\n\tif (bytes.length % 3 === 2) {\n\t\tbase64String = base64String.substring(0, base64String.length - 1) + '=';\n\t} else if (bytes.length % 3 === 1) {\n\t\tbase64String = base64String.substring(0, base64String.length - 2) + '==';\n\t}\n\n\treturn base64String;\n}\n\n// Serialize a value, afterwards executing a callback (which usually\n// instructs the `setItem()` callback/promise to be executed). This is how\n// we will be able to store binary data with localStorage.\n// TODO add more robust code to serialize all JS Object Types\nfunction serialize(value, callback) {\n\tlet valueType = '';\n\tif (value) {\n\t\tvalueType = toString.call(value);\n\t}\n\n\t// Cannot use `value instanceof ArrayBuffer` or such here, as these\n\t// checks fail when running the tests\n\tif (\n\t\tvalue &&\n\t\t(valueType === '[object ArrayBuffer]' ||\n\t\t\t(value.buffer && toString.call(value.buffer) === '[object ArrayBuffer]'))\n\t) {\n\t\t// Convert binary arrays to a string and prefix the string with\n\t\t// a special marker.\n\t\tlet buffer;\n\t\tlet marker = SERIALIZED_MARKER;\n\n\t\tif (value instanceof ArrayBuffer) {\n\t\t\tbuffer = value;\n\t\t\tmarker += TYPE_ARRAYBUFFER;\n\t\t} else {\n\t\t\tbuffer = value.buffer;\n\n\t\t\tif (valueType === '[object Int8Array]') {\n\t\t\t\tmarker += TYPE_INT8ARRAY;\n\t\t\t} else if (valueType === '[object Uint8Array]') {\n\t\t\t\tmarker += TYPE_UINT8ARRAY;\n\t\t\t} else if (valueType === '[object Uint8ClampedArray]') {\n\t\t\t\tmarker += TYPE_UINT8CLAMPEDARRAY;\n\t\t\t} else if (valueType === '[object Int16Array]') {\n\t\t\t\tmarker += TYPE_INT16ARRAY;\n\t\t\t} else if (valueType === '[object Uint16Array]') {\n\t\t\t\tmarker += TYPE_UINT16ARRAY;\n\t\t\t} else if (valueType === '[object Int32Array]') {\n\t\t\t\tmarker += TYPE_INT32ARRAY;\n\t\t\t} else if (valueType === '[object Uint32Array]') {\n\t\t\t\tmarker += TYPE_UINT32ARRAY;\n\t\t\t} else if (valueType === '[object Float32Array]') {\n\t\t\t\tmarker += TYPE_FLOAT32ARRAY;\n\t\t\t} else if (valueType === '[object Float64Array]') {\n\t\t\t\tmarker += TYPE_FLOAT64ARRAY;\n\t\t\t} else {\n\t\t\t\tcallback(new Error('Failed to get type for BinaryArray'));\n\t\t\t}\n\t\t}\n\n\t\tcallback(marker + bufferToString(buffer));\n\t} else if (valueType === '[object Blob]') {\n\t\t// Convert the blob to a binaryArray and then to a string.\n\t\tconst fileReader = new FileReader();\n\n\t\tfileReader.onload = function() {\n\t\t\t// Backwards-compatible prefix for the blob type.\n\t\t\tconst str =\n\t\t\t\tBLOB_TYPE_PREFIX + value.type + '~' + bufferToString(this.result);\n\n\t\t\tcallback(SERIALIZED_MARKER + TYPE_BLOB + str);\n\t\t};\n\n\t\tfileReader.readAsArrayBuffer(value);\n\t} else {\n\t\ttry {\n\t\t\tcallback(JSON.stringify(value));\n\t\t} catch (e) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(\"Couldn't convert value into a JSON string: \", value);\n\n\t\t\tcallback(null, e);\n\t\t}\n\t}\n}\n\n//\n/**\n * Deserialize data that we've inserted into a value column/field.We place\n * special markers into our strings to mark them as encoded; treat it as a\n * meta field, but it's the only to keep localStorage support intact.\n *\n * Oftentimes this will just deserialize JSON content, but if we have a\n * special marker (SERIALIZED_MARKER, defined above), we will extract\n * some kind of arraybuffer/binary data/typed array out of the string.\n *\n * @param value\n * @returns {Float32Array|Uint8Array|Int8Array|Float64Array|Int32Array|module:buffer.Blob|Blob|Int16Array|Uint16Array|*|Uint32Array|Uint8ClampedArray}\n */\nfunction deserialize(value) {\n\t// haven't marked this string as being specially serialized\n\t// (i.e. something other than serialized JSON), we can just return it\n\tif (value.substring(0, SERIALIZED_MARKER_LENGTH) !== SERIALIZED_MARKER) {\n\t\treturn JSON.parse(value);\n\t}\n\n\t// below code deals with deserializing some kind of Blob or TypedArray.\n\t// First, we separate out the type of data we're dealing with from\n\t// the data itself.\n\tlet serializedString = value.substring(TYPE_SERIALIZED_MARKER_LENGTH);\n\tconst type = value.substring(\n\t\tSERIALIZED_MARKER_LENGTH,\n\t\tTYPE_SERIALIZED_MARKER_LENGTH\n\t);\n\n\tlet blobType;\n\t// Blob type serialization strategy\n\tif (type === TYPE_BLOB && BLOB_TYPE_PREFIX_REGEX.test(serializedString)) {\n\t\tconst matcher = serializedString.match(BLOB_TYPE_PREFIX_REGEX);\n\t\tblobType = matcher[1];\n\t\tserializedString = serializedString.substring(matcher[0].length);\n\t}\n\tconst buffer = stringToBuffer(serializedString);\n\n\t// Return the right type based on the code/type set during\n\t// serialization.\n\tswitch (type) {\n\t\tcase TYPE_ARRAYBUFFER:\n\t\t\treturn buffer;\n\t\tcase TYPE_BLOB:\n\t\t\treturn createBlob([buffer], {type: blobType});\n\t\tcase TYPE_INT8ARRAY:\n\t\t\treturn new Int8Array(buffer);\n\t\tcase TYPE_UINT8ARRAY:\n\t\t\treturn new Uint8Array(buffer);\n\t\tcase TYPE_UINT8CLAMPEDARRAY:\n\t\t\treturn new Uint8ClampedArray(buffer);\n\t\tcase TYPE_INT16ARRAY:\n\t\t\treturn new Int16Array(buffer);\n\t\tcase TYPE_UINT16ARRAY:\n\t\t\treturn new Uint16Array(buffer);\n\t\tcase TYPE_INT32ARRAY:\n\t\t\treturn new Int32Array(buffer);\n\t\tcase TYPE_UINT32ARRAY:\n\t\t\treturn new Uint32Array(buffer);\n\t\tcase TYPE_FLOAT32ARRAY:\n\t\t\treturn new Float32Array(buffer);\n\t\tcase TYPE_FLOAT64ARRAY:\n\t\t\treturn new Float64Array(buffer);\n\t\tdefault:\n\t\t\tthrow new Error('Unknown type: ' + type);\n\t}\n}\n\nconst serializer = {\n\tserialize,\n\tdeserialize,\n\tstringToBuffer: stringToBuffer,\n\tbufferToString: bufferToString\n};\n\nexport default serializer;\n","export default function normalizeKey(key) {\n\t// Cast the key to a string, as that's all we can set as a key.\n\tif (typeof key !== 'string') {\n\t\tconsole.warn(`${key} used as a key, but it is not a string.`);\n\t\tkey = String(key);\n\t}\n\n\treturn key;\n}\n","// detects whether web storage is both supported and available\nexport function isWebStorageValid(type) {\n\tlet storage;\n\ttry {\n\t\tstorage = window[type];\n\t\treturn (\n\t\t\ttypeof storage !== 'undefined' &&\n\t\t\t'setItem' in storage &&\n\t\t\t!!storage.setItem\n\t\t);\n\t} catch (e) {\n\t\treturn false;\n\t}\n}\n\nexport default isWebStorageValid;\n","function runCallback(promise, callback) {\n\tif (callback) {\n\t\tpromise.then(\n\t\t\tfunction(result) {\n\t\t\t\tcallback(null, result);\n\t\t\t},\n\t\t\tfunction(error) {\n\t\t\t\tcallback(error);\n\t\t\t}\n\t\t);\n\t}\n}\n\nexport default runCallback;\n","export default function getCallback() {\n\tif (\n\t\targuments.length &&\n\t\ttypeof arguments[arguments.length - 1] === 'function'\n\t) {\n\t\treturn arguments[arguments.length - 1];\n\t}\n}\n","/**\n *\n * @constant {{SESSIONSTORAGE: Storage, LOCALSTORAGE: Storage}}\n */\nexport const STORAGE = {\n\tLOCALSTORAGE: window.localStorage,\n\tSESSIONSTORAGE: window.sessionStorage,\n\tCACHE_API: window.caches,\n\tINDEXEDDB: window.indexedDB\n};\n\nconst DEFAULT_TTL = 300000;\nlet ttl = DEFAULT_TTL;\n\nexport const KEY_DELIMITER = '__';\n\nexport const NXUI_UNIFIED_CACHE = 'nxui__unified_cache';\n\nexport const CACHE_VERSION = 'version';\n\nexport const STORAGE_KEYPREFIX = `${KEY_DELIMITER}${NXUI_UNIFIED_CACHE}${KEY_DELIMITER}`;\n\nexport const VERSION_KEY = `${STORAGE_KEYPREFIX}${CACHE_VERSION}`;\n\nexport function getTTL() {\n\treturn ttl;\n}\n\nexport function setTTL(newTtl = DEFAULT_TTL) {\n\tttl = newTtl;\n}\n\nexport const TTL_EXPIRED_ITEM_KEYWORD = '__uc__ttl_expired_item';\n","import {VERSION_KEY} from '../utils/constants';\n\n/**\n * Returns the current value associated with the given key, or null if the given key does not exist.\n * @param {string} key\n * @returns {string|null}\n */\nfunction getItem(key) {\n\tlet result = this.adapter.getItem(key);\n\tif (result == null) return null;\n\n\tresult = JSON.parse(result);\n\tresult.lastUsedTime = Date.now();\n\tthis.adapter.setItem(key, JSON.stringify(result));\n\n\treturn result.value;\n}\n\nfunction isLRUItem(result) {\n\treturn (\n\t\tObject.prototype.hasOwnProperty.call(result, 'value') &&\n\t\tObject.prototype.hasOwnProperty.call(result, 'instancePrefix') &&\n\t\tObject.prototype.hasOwnProperty.call(result, 'lastUsedTime')\n\t);\n}\n\nfunction removeItemsByInstance(adapter, instancePrefix) {\n\tif (instancePrefix === null) return;\n\n\tlet keys = [];\n\tfor (let i = 0; i < adapter.length; i++) {\n\t\tconst itemKey = adapter.key(i);\n\t\tif (itemKey.startsWith(instancePrefix)) {\n\t\t\tkeys.push(itemKey);\n\t\t}\n\t}\n\n\tfor (const key of keys) {\n\t\tadapter.removeItem(key);\n\t}\n}\n\nfunction createInstanceAccessMap(adapter, instancePrefix) {\n\t// Create a hash map instanceAccessMap to track the last used time of each instance except the instance of the current inserting item.\n\t// Each instance is identified by its instance prefix, i.e., key prefix.\n\tlet instanceAccessMap = new Map();\n\tfor (let i = 0; i < adapter.length; i++) {\n\t\tconst itemKey = adapter.key(i);\n\t\tif (itemKey === VERSION_KEY) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet result = adapter.getItem(itemKey);\n\t\tresult = JSON.parse(result);\n\n\t\tif (!isLRUItem(result)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// The instance of the current inserting item is considered as the most recently used instance\n\t\tif (result.instancePrefix === instancePrefix) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (!instanceAccessMap.has(result.instancePrefix)) {\n\t\t\tinstanceAccessMap.set(result.instancePrefix, 0);\n\t\t}\n\n\t\tif (result.lastUsedTime > instanceAccessMap.get(result.instancePrefix)) {\n\t\t\tinstanceAccessMap.set(result.instancePrefix, result.lastUsedTime);\n\t\t}\n\t}\n\n\treturn instanceAccessMap;\n}\n\n/**\n * Wrap the value with a last used timestamp, a key prefix which identifies the instance that inserts the current item, and then sets the value of the pair \n * identified by key to value, creating a new key/value pair if none existed for key previously.\n *\n * If the new value couldn't be set due to a \"QuotaExceededError\" DOMException exception, remove all key/value pairs\n * from the least recently used instance, and then from the next least recently used instance until either the new value is set or no other LRU instance left.\n *\n * Throws a \"QuotaExceededError\" DOMException exception if the new value still couldn't be set.\n *\n * @param {string} keyPrefix \n * @param {string} key\n * @param {string} value\n\n */\nfunction setItem(keyPrefix, key, value) {\n\tconst data = {\n\t\tvalue: value,\n\t\tinstancePrefix: keyPrefix,\n\t\tlastUsedTime: Date.now()\n\t};\n\n\ttry {\n\t\tthis.adapter.setItem(keyPrefix + key, JSON.stringify(data));\n\t} catch (e) {\n\t\tif (e.name === 'QuotaExceededError') {\n\t\t\tlet instanceAccessMap = createInstanceAccessMap(this.adapter, keyPrefix);\n\n\t\t\t// if there is no other LRU instances, we should not evict any LRU items\n\t\t\tif (instanceAccessMap.size === 0) {\n\t\t\t\tthrow e;\n\t\t\t}\n\n\t\t\tlet instanceAccessArray = [];\n\t\t\tfor (const instancePrefix of instanceAccessMap.keys()) {\n\t\t\t\tinstanceAccessArray.push({\n\t\t\t\t\tinstancePrefix: instancePrefix,\n\t\t\t\t\tlastUsedTime: instanceAccessMap.get(instancePrefix)\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tlet sorted = instanceAccessArray.sort(function(a, b) {\n\t\t\t\treturn a.lastUsedTime - b.lastUsedTime;\n\t\t\t});\n\n\t\t\tlet i = 0;\n\t\t\twhile (i < sorted.length) {\n\t\t\t\tremoveItemsByInstance(this.adapter, sorted[i].instancePrefix);\n\t\t\t\ti++;\n\t\t\t\ttry {\n\t\t\t\t\tthis.adapter.setItem(keyPrefix + key, JSON.stringify(data));\n\t\t\t\t\tbreak;\n\t\t\t\t} catch (e) {\n\t\t\t\t\tif (e.name === 'QuotaExceededError' && i < sorted.length) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow e;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthrow e;\n\t\t}\n\t}\n}\n\nexport default function(adapter) {\n\tconst lru = {\n\t\tadapter: adapter,\n\t\tgetItem: getItem,\n\t\tsetItem: setItem\n\t};\n\n\treturn lru;\n}\n","import {\n\tTTL_EXPIRED_ITEM_KEYWORD,\n\tVERSION_KEY,\n\tgetTTL\n} from '../utils/constants';\n\n/**\n * Returns the current value associated with the given key,\n * null if the given key does not exist,\n * or the 'TTL_EXPIRED_ITEM_KEYWORD' if the entry has already expired.\n *\n * @param {object} adapter\n * @param {string} key\n * @returns {string|null}\n */\nfunction getItem(adapter, key) {\n\tlet originalResult = adapter.getItem(key);\n\tif (originalResult == null) return null;\n\n\tlet result = JSON.parse(originalResult);\n\tif (\n\t\tObject.prototype.hasOwnProperty.call(result, 'value') &&\n\t\tObject.prototype.hasOwnProperty.call(result, 'expiry')\n\t) {\n\t\tvar now = Date.now();\n\t\tif (now > result.expiry) {\n\t\t\tadapter.removeItem(key);\n\t\t\treturn `\"${TTL_EXPIRED_ITEM_KEYWORD}\"`;\n\t\t}\n\t\treturn result.value;\n\t}\n\n\treturn originalResult;\n}\n\n/**\n * Wrap the value with an expiration timestamp, and then sets the value of the pair identified by key to value, creating a new\n * key/value pair if none existed for key previously.\n *\n * If the new value couldn't be set due to a \"QuotaExceededError\" DOMException exception, remove all expired key/value pairs\n * and set the new value again.\n *\n * Throws a \"QuotaExceededError\" DOMException exception if the new value still couldn't be set.\n *\n * @param {object} adapter\n * @param {string} key\n * @param {string} value\n * @param {number} time to live in milliseconds\n */\nfunction setItem(adapter, key, value, ttl = getTTL()) {\n\tfunction getKeysWithTTL() {\n\t\tconst length = adapter.length;\n\t\tlet keys = [];\n\n\t\tfor (let i = 0; i < length; i++) {\n\t\t\tconst itemKey = adapter.key(i);\n\t\t\tif (itemKey === VERSION_KEY) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tlet result = adapter.getItem(itemKey);\n\t\t\tresult = JSON.parse(result);\n\t\t\tif (\n\t\t\t\tObject.prototype.hasOwnProperty.call(result, 'value') &&\n\t\t\t\tObject.prototype.hasOwnProperty.call(result, 'expiry')\n\t\t\t) {\n\t\t\t\tkeys.push(itemKey);\n\t\t\t}\n\t\t}\n\n\t\treturn keys;\n\t}\n\n\tconst data = {\n\t\tvalue: value,\n\t\texpiry: Date.now() + ttl\n\t};\n\n\ttry {\n\t\tadapter.setItem(key, JSON.stringify(data));\n\t} catch (e) {\n\t\tif (e.name === 'QuotaExceededError') {\n\t\t\tlet keys = getKeysWithTTL();\n\t\t\tfor (const itemKey of keys) {\n\t\t\t\t//itemKey will be removed if it is expired\n\t\t\t\tgetItem(adapter, itemKey);\n\t\t\t}\n\n\t\t\tadapter.setItem(key, JSON.stringify(data));\n\t\t} else {\n\t\t\tthrow e;\n\t\t}\n\t}\n}\n\nconst ttl = {\n\tgetItem: getItem,\n\tsetItem: setItem\n};\n\nexport default ttl;\n","import lru from './lru';\nimport ttl from './ttl';\n\n/**\n * Based on eviction policy of the merged adapter configuration, invoking the corresponding getItem(). No eviction policy is applied by default.\n * @param {string} adapter\n * @param {Object} config\n * @param {string} key\n * @returns {string|null}\n */\nfunction getItem(adapter, config, key) {\n\tconst evictionPolicy = config.evictionPolicy;\n\tlet result;\n\tswitch (evictionPolicy) {\n\t\tcase 'TTL':\n\t\t\tresult = ttl.getItem(adapter, key);\n\t\t\tbreak;\n\t\tcase 'LRU':\n\t\t\tresult = lru(adapter).getItem(key);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t//No eviction policy is applied by default.\n\t\t\tresult = adapter.getItem(key);\n\t}\n\treturn result;\n}\n\n/**\n * Based on eviction policy of the merged adapter configuration, invoking the corresponding setItem(). No eviction policy is applied by default.\n *\n * @param {string} adapter\n * @param {Object} config\n * @param {string} keyPrefix\n * @param {string} key\n * @param {string} value\n */\nfunction setItem(adapter, config, keyPrefix, key, value) {\n\tconst evictionPolicy = config.evictionPolicy;\n\tswitch (evictionPolicy) {\n\t\tcase 'TTL':\n\t\t\tttl.setItem(adapter, keyPrefix + key, value);\n\t\t\tbreak;\n\t\tcase 'LRU':\n\t\t\tlru(adapter).setItem(keyPrefix, key, value);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t//No eviction policy is applied by default.\n\t\t\tadapter.setItem(keyPrefix + key, value);\n\t}\n}\n\nconst evictionPolicies = {\n\tgetItem: getItem,\n\tsetItem: setItem\n};\n\nexport default evictionPolicies;\n","import {KEY_DELIMITER, NXUI_UNIFIED_CACHE} from './constants';\n\n/**\n * builds the key prefix and returns it.\n * @param {object} options - configuration\n * @param {object} defaultConfig - default configuration\n * @returns {string} key prefix\n * @private\n */\nfunction getKeyPrefix(options, defaultConfig) {\n\t// keyPrefix string __nxui__unified_cache__keyvaluepairs__\n\tlet keyPrefix = `${KEY_DELIMITER}${NXUI_UNIFIED_CACHE}${KEY_DELIMITER}${options.name}${KEY_DELIMITER}`;\n\n\t// when configuration's storeName is different than the\n\t// default configuration's storeName prepend the keyPrefix\n\t// to build the generated keyPrefix\n\tif (options.storeName !== defaultConfig.storeName) {\n\t\tkeyPrefix += `${options.storeName}${KEY_DELIMITER}`;\n\t}\n\n\treturn keyPrefix;\n}\n\nexport default getKeyPrefix;\n","import serializer from '../utils/serializer';\nimport normalizeKey from '../utils/normalizeKey';\nimport isWebStorageValid from '../utils/isWebStorageValid';\nimport runCallback from '../utils/runCallback';\nimport getCallback from '../utils/getCallback';\nimport {STORAGE, STORAGE_KEYPREFIX, VERSION_KEY} from '../utils/constants';\nimport evictionPolicies from '../evictions/evictionPolicies';\nimport getKeyPrefix from '../utils/getKeyPrefix';\n\n/**\n * @constant {Storage} LOCALSTORAGE - window object's localStorage property\n */\nconst {LOCALSTORAGE} = STORAGE;\n\n/**\n * Check if localStorage throws when saving an item\n * @param {string} type\n * @returns {boolean} true if localStorage is successfully able to set value, otherwise false\n */\nfunction checkIfWebStorageThrows(type) {\n\tconst storage = window[type];\n\tconst localStorageTestKey = '_UnifiedCache_Support_Test';\n\n\ttry {\n\t\tstorage.setItem(localStorageTestKey, true);\n\t\tstorage.removeItem(localStorageTestKey);\n\n\t\treturn false;\n\t} catch (e) {\n\t\treturn true;\n\t}\n}\n\n/**\n * Checks if localStorage is usable and allows to save an item.\n *\n * It covers the use cases like:\n *   - safari private browsing mode\n *   - the available quota for localStorage is 0 and there wasn't any saved items yet\n * Reference: https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API\n *\n * @returns {boolean}\n * @private\n */\nfunction _isLocalStorageUsable() {\n\treturn !checkIfWebStorageThrows('localStorage') || LOCALSTORAGE.length > 0;\n}\n\n// Config the localStorage, using options set in the config.\nfunction _initStorage(options) {\n\tconst self = this;\n\tconst dbInfo = {};\n\tif (options) {\n\t\tfor (const i in options) {\n\t\t\tdbInfo[i] = options[i];\n\t\t}\n\t}\n\n\tdbInfo.keyPrefix = getKeyPrefix(options, self._defaultConfig);\n\n\tif (!_isLocalStorageUsable()) {\n\t\treturn Promise.reject();\n\t}\n\n\tself._dbInfo = dbInfo;\n\tdbInfo.serializer = serializer;\n\n\treturn Promise.resolve();\n}\n\nfunction _clear(dbInfo) {\n\tconst {keyPrefix} = dbInfo;\n\tconst storage = LOCALSTORAGE;\n\tfor (let i = storage.length - 1; i >= 0; i--) {\n\t\tconst key = storage.key(i);\n\n\t\tif (key.indexOf(keyPrefix) === 0) {\n\t\t\tstorage.removeItem(key);\n\t\t}\n\t}\n}\n\n/**\n * Remove all keys from the localStorage, effectively destroying\n * all data in the app's key/value\n * @param {function} callback\n * @returns {Promise<*>}\n */\nfunction clear(callback) {\n\tconst self = this;\n\tconst promise = self.ready().then(function() {\n\t\t_clear(self._dbInfo);\n\t});\n\trunCallback(promise, callback);\n\n\treturn promise;\n}\n\n/**\n * Retrieve an item from the localStorage. Unlike the default indexedDB,\n * we don't modify return values at all. If a key's value\n * is `undefined`, we pass that value to the Promise.\n * @param {string} key\n * @param {function} callback\n * @returns {Promise<*>} promise for the value stored\n */\nfunction getItem(key, callback) {\n\tconst self = this;\n\n\tconst promise = self.ready().then(function() {\n\t\tconst dbInfo = self._dbInfo;\n\t\tlet result = evictionPolicies.getItem(\n\t\t\tLOCALSTORAGE,\n\t\t\tself._config,\n\t\t\tdbInfo.keyPrefix + normalizeKey(key)\n\t\t);\n\n\t\t// If a result was found, parse it from the serialized\n\t\t// string into a JS object. If result isn't truthy, the key\n\t\t// is likely undefined and we'll pass it straight to the promise.\n\t\tif (result) {\n\t\t\tresult = dbInfo.serializer.deserialize(result);\n\t\t}\n\n\t\treturn result;\n\t});\n\trunCallback(promise, callback);\n\n\treturn promise;\n}\n\n/**\n * Set a key's value in localStorage.\n *\n * callback support to address use cases like:\n *   - user want to operate on that value only after\n *   they're sure about value is set to the localStorage\n *   e.g. save, or something like that on the current form page\n *\n * @param {string} key\n * @param {*} value\n * @param {function} callback\n * @returns {*}\n */\nfunction setItem(key, value, callback) {\n\tconst self = this;\n\n\tconst promise = self.ready().then(function() {\n\t\t// TODO how should we handle undefined value\n\t\t//  - save null for undefined value??\n\n\t\t// Save the original value to pass to the callback.\n\t\tconst originalValue = value;\n\n\t\treturn new Promise(function(resolve, reject) {\n\t\t\tconst dbInfo = self._dbInfo;\n\t\t\tdbInfo.serializer.serialize(value, function(value, error) {\n\t\t\t\tif (error) {\n\t\t\t\t\treject(error);\n\t\t\t\t} else {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tevictionPolicies.setItem(\n\t\t\t\t\t\t\tLOCALSTORAGE,\n\t\t\t\t\t\t\tself._config,\n\t\t\t\t\t\t\tdbInfo.keyPrefix,\n\t\t\t\t\t\t\tnormalizeKey(key),\n\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t);\n\t\t\t\t\t\tresolve(originalValue);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t// window.localStorage capacity exceeded.\n\t\t\t\t\t\t// TODO: Make this a specific error or\n\t\t\t\t\t\t//  a public event for page author to hook handlers on the page\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\te.name === 'QuotaExceededError' ||\n\t\t\t\t\t\t\te.name === 'NS_ERROR_DOM_QUOTA_REACHED'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treject(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treject(e);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t});\n\trunCallback(promise, callback);\n\n\treturn promise;\n}\n\n/**\n * when passed a number n, returns the name of the nth key\n * in a given localStorage object.\n * @param {number} n\n * @param {function} callback\n * @returns {Promise<*>} promise for a string containing the name of the key.\n * If the index does not exist, null is returned.\n */\nfunction key(n, callback) {\n\tconst self = this;\n\tconst promise = self.ready().then(function() {\n\t\tconst dbInfo = self._dbInfo;\n\t\tlet result;\n\t\ttry {\n\t\t\tresult = LOCALSTORAGE.key(n);\n\t\t} catch (error) {\n\t\t\tresult = null;\n\t\t}\n\n\t\t// remove the prefix from the key, if a key is found.\n\t\tif (result) {\n\t\t\tresult = result.substring(dbInfo.keyPrefix.length);\n\t\t}\n\n\t\treturn result;\n\t});\n\trunCallback(promise, callback);\n\n\treturn promise;\n}\n\n/**\n * gets the list of keys in localStorage.\n * @param {function} callback\n * @returns {Promise<*>}\n */\nfunction keys(callback) {\n\tconst self = this;\n\tconst promise = self.ready().then(function() {\n\t\tconst dbInfo = self._dbInfo;\n\t\tconst length = LOCALSTORAGE.length;\n\t\tlet keys = [];\n\n\t\tfor (let i = 0; i < length; i++) {\n\t\t\tconst itemKey = LOCALSTORAGE.key(i);\n\t\t\tif (itemKey.indexOf(dbInfo.keyPrefix) === 0) {\n\t\t\t\tkeys.push(itemKey.substring(dbInfo.keyPrefix.length));\n\t\t\t}\n\t\t}\n\n\t\treturn keys;\n\t});\n\trunCallback(promise, callback);\n\n\treturn promise;\n}\n\n/**\n * supply the number of keys in the localStorage\n * @param {function} callback\n * @returns {Promise<*>}\n */\nfunction length(callback) {\n\tconst self = this;\n\tconst promise = self.keys().then(function(keys) {\n\t\treturn keys.length;\n\t});\n\trunCallback(promise, callback);\n\n\treturn promise;\n}\n\n/**\n * Remove an item from the localStorage.\n * @param {string} key\n * @param {function} callback\n * @returns {Promise<*>}\n */\nfunction removeItem(key, callback) {\n\tconst self = this;\n\n\tconst promise = self.ready().then(function() {\n\t\tconst dbInfo = self._dbInfo;\n\t\tLOCALSTORAGE.removeItem(dbInfo.keyPrefix + normalizeKey(key));\n\t});\n\trunCallback(promise, callback);\n\n\treturn promise;\n}\n\n/**\n * Iterate over all items in the localStorage.\n * @param {function} iterator callback\n * @param {function} success callback\n * @returns {Promise<*>}\n */\nfunction iterate(iterator, callback) {\n\tconst self = this;\n\n\tconst promise = self.ready().then(function() {\n\t\tconst dbInfo = self._dbInfo;\n\t\tconst keyPrefix = dbInfo.keyPrefix;\n\t\tconst keyPrefixLength = keyPrefix.length;\n\t\tconst length = LOCALSTORAGE.length;\n\n\t\t// use a dedicated iterator instead of the `i` variable below\n\t\t// so other keys we fetch in localStorage aren't counted in\n\t\t// the `iterationNumber` argument passed to the `iterate()`\n\t\tlet iterationNumber = 1;\n\n\t\tfor (let i = 0; i < length; i++) {\n\t\t\tconst key = LOCALSTORAGE.key(i);\n\t\t\tif (key.indexOf(keyPrefix) !== 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tlet value = LOCALSTORAGE.getItem(key);\n\n\t\t\t// If a result was found, parse it from the serialized\n\t\t\t// string into a JS object. If result isn't truthy, the\n\t\t\t// key is likely undefined and we'll pass it straight\n\t\t\t// to the iterator.\n\t\t\tif (value) {\n\t\t\t\tvalue = dbInfo.serializer.deserialize(value);\n\t\t\t}\n\n\t\t\tvalue = iterator(\n\t\t\t\tvalue,\n\t\t\t\tkey.substring(keyPrefixLength),\n\t\t\t\titerationNumber++\n\t\t\t);\n\n\t\t\tif (value !== void 0) {\n\t\t\t\treturn value;\n\t\t\t}\n\t\t}\n\t});\n\trunCallback(promise, callback);\n\n\treturn promise;\n}\n\n/**\n * drops the localStorage instance\n * @param {object} options\n * @param {function} callback\n * @returns {Promise<*>}\n */\nfunction dropInstance(options, callback) {\n\tcallback = getCallback.apply(this, arguments);\n\toptions = (typeof options !== 'function' && options) || {};\n\tif (!options.name) {\n\t\tconst currentConfig = this.config();\n\t\toptions.name = options.name || currentConfig.name;\n\t\toptions.storeName = options.storeName || currentConfig.storeName;\n\t}\n\n\tconst self = this;\n\tlet promise;\n\tif (!options.name) {\n\t\tpromise = Promise.reject('Invalid arguments');\n\t} else {\n\t\tpromise = new Promise(function(resolve) {\n\t\t\tif (!options.storeName) {\n\t\t\t\tresolve(`${options.name}__`);\n\t\t\t} else {\n\t\t\t\tresolve(getKeyPrefix(options, self._defaultConfig));\n\t\t\t}\n\t\t}).then(function(keyPrefix) {\n\t\t\tfor (let i = LOCALSTORAGE.length - 1; i >= 0; i--) {\n\t\t\t\tconst key = LOCALSTORAGE.key(i);\n\n\t\t\t\tif (key.indexOf(keyPrefix) === 0) {\n\t\t\t\t\tLOCALSTORAGE.removeItem(key);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\trunCallback(promise, callback);\n\n\treturn promise;\n}\n\nfunction _clearAllInstances() {\n\tfor (let i = LOCALSTORAGE.length - 1; i >= 0; i--) {\n\t\tconst key = LOCALSTORAGE.key(i);\n\t\tconsole.debug(`Clearing LocalStorage ${key}`);\n\n\t\tif (key.indexOf(STORAGE_KEYPREFIX) === 0) {\n\t\t\tLOCALSTORAGE.removeItem(key);\n\t\t}\n\n\t\tconsole.debug(`Cleared LocalStorage ${key}`);\n\t}\n}\n\nexport function getCacheVersion() {\n\treturn LOCALSTORAGE.getItem(VERSION_KEY);\n}\n\nexport function setCacheVersion(version) {\n\treturn LOCALSTORAGE.setItem(VERSION_KEY, version);\n}\n\nconst localStorage = {\n\t_adapter: 'localStorage',\n\t_initStorage: _initStorage,\n\t_support: isWebStorageValid('localStorage'),\n\t_clearAllInstances: _clearAllInstances,\n\titerate: iterate,\n\tgetItem: getItem,\n\tsetItem: setItem,\n\tremoveItem: removeItem,\n\tclear: clear,\n\tlength: length,\n\tkey: key,\n\tkeys: keys,\n\tdropInstance: dropInstance\n};\n\nexport default localStorage;\n","import {STORAGE_KEYPREFIX, STORAGE} from '../utils/constants';\n\nconst READ_ONLY = 'readonly';\nconst READ_WRITE = 'readwrite';\n\nconst {INDEXEDDB} = STORAGE;\n\nfunction initStorage() {\n\tconst self = this;\n\tif (!INDEXEDDB) {\n\t\treturn Promise.reject('IndexedDB not supported.');\n\t}\n\n\treturn _connectToDB(`${STORAGE_KEYPREFIX}${self.name}`).then(\n\t\t(db) => (self.db = db)\n\t);\n}\n\nfunction _connectToDB(database) {\n\ttry {\n\t\tconst openRequest = INDEXEDDB.open(database, 1);\n\t\topenRequest.onupgradeneeded = () =>\n\t\t\topenRequest.result.createObjectStore(STORAGE_KEYPREFIX);\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\topenRequest.onsuccess = (event) => {\n\t\t\t\tresolve(event.target.result);\n\t\t\t};\n\n\t\t\topenRequest.onerror = (event) => reject(event.target.error);\n\t\t});\n\t} catch (indexedDBError) {\n\t\treturn Promise.reject(indexedDBError);\n\t}\n}\n\nfunction getObjectStore(indexedDBCache, mode = READ_ONLY) {\n\tconst transaction = indexedDBCache.db.transaction(STORAGE_KEYPREFIX, mode);\n\treturn transaction.objectStore(STORAGE_KEYPREFIX);\n}\n\nfunction processError(indexedDBRequestError) {\n\tconst error = {\n\t\tretryable: true,\n\t\tindexedDBErrorName: indexedDBRequestError.name,\n\t\tindexedDBErrorMessage: indexedDBRequestError.message\n\t};\n\n\t//TODO: Extract error codes so they can be reused if needed.\n\tswitch (indexedDBRequestError.name) {\n\t\tcase 'AbortError':\n\t\t\terror.name = 'ABORT';\n\t\t\terror.message = 'Transaction aborted.';\n\t\t\tbreak;\n\t\tcase 'ConstraintError':\n\t\t\terror.name = 'INDEX_ERROR';\n\t\t\terror.message = 'Index constraint violation.';\n\t\t\terror.retryable = false;\n\t\t\tbreak;\n\t\tcase 'QuotaExceededError':\n\t\t\terror.name = 'DISK_FULL';\n\t\t\terror.message = 'IndexedDB is full.';\n\t\t\tbreak;\n\t\tcase 'VersionError':\n\t\tcase 'InvalidStateError':\n\t\tcase 'NotFoundError':\n\t\t\terror.name = 'INVALID_DB';\n\t\t\terror.message = 'Database in an inconsistent state.';\n\t\t\terror.retryable = false;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\terror.name = 'UNKNOWN';\n\t\t\terror.message = 'Unknown IndexedDB error';\n\t\t\tbreak;\n\t}\n\n\treturn error;\n}\n\nfunction makeRequest(indexedDBCache, request, mode = READ_ONLY) {\n\treturn new Promise((resolve, reject) => {\n\t\tconst objectStore = getObjectStore(indexedDBCache, mode);\n\t\tconst indexedDBRequest = request(objectStore);\n\t\tindexedDBRequest.onsuccess = (event) => resolve(event.target.result);\n\t\tindexedDBRequest.onerror = (event) => reject(event.target.error);\n\t}).catch((error) => {\n\t\tthrow processError(error);\n\t});\n}\n\nfunction getItem(key) {\n\treturn makeRequest(this, (objectStore) => objectStore.get(key));\n}\n\nfunction setItem(key, value) {\n\treturn makeRequest(\n\t\tthis,\n\t\t(objectStore) => objectStore.put(value, key),\n\t\tREAD_WRITE\n\t);\n}\n\nfunction removeItem(key) {\n\treturn makeRequest(\n\t\tthis,\n\t\t(objectStore) => objectStore.delete(key),\n\t\tREAD_WRITE\n\t);\n}\n\nfunction clear() {\n\treturn makeRequest(this, (objectStore) => objectStore.clear(), READ_WRITE);\n}\n\nfunction length() {\n\treturn makeRequest(this, (objectStore) => objectStore.count());\n}\n\nfunction keys() {\n\treturn makeRequest(this, (objectStore) => objectStore.getAllKeys());\n}\n\nfunction key(index) {\n\treturn this.keys().then((keys) => keys[index - 1]);\n}\n\nfunction iterate(iteratorCallback) {\n\treturn new Promise((resolve, reject) => {\n\t\tconst objectStore = getObjectStore(this);\n\n\t\tlet i = 1;\n\t\tconst cursorRequest = objectStore.openCursor();\n\t\tcursorRequest.onsuccess = (event) => {\n\t\t\tconst cursor = event.target.result;\n\t\t\tif (cursor) {\n\t\t\t\titeratorCallback(cursor.key, cursor.value, i++);\n\t\t\t\tcursor.continue();\n\t\t\t} else {\n\t\t\t\tresolve();\n\t\t\t}\n\t\t};\n\t\tcursorRequest.onerror = (event) => reject(event.target.error);\n\t}).catch((error) => {\n\t\tthrow processError(error);\n\t});\n}\n\n/**\n * Given a DB connection, start a new transaction and clear the cache.\n */\nfunction _clearDB(db) {\n\treturn new Promise((resolve, reject) => {\n\t\tconsole.debug(`Clearing IndexedDB ${db.name}`);\n\t\tconst transaction = db.transaction(STORAGE_KEYPREFIX, READ_WRITE);\n\t\tconst objectStore = transaction.objectStore(STORAGE_KEYPREFIX);\n\t\tconst clearRequest = objectStore.clear();\n\n\t\tclearRequest.onsuccess = () => {\n\t\t\tconsole.debug(`Cleared IndexedDB ${db.name}`);\n\t\t\tresolve();\n\t\t};\n\n\t\tclearRequest.onerror = (event) => {\n\t\t\tconsole.debug(`Error clearing IndexedDB ${db.name}`);\n\t\t\treject(event.target.error);\n\t\t};\n\t});\n}\n\nexport function _clearAllInstances() {\n\treturn indexedDB.databases().then((databases) => {\n\t\tconst clearPromises = [];\n\t\tfor (let i = databases.length - 1; i >= 0; i--) {\n\t\t\tconst database = databases[i].name;\n\t\t\tif (database.indexOf(STORAGE_KEYPREFIX) === 0) {\n\t\t\t\tclearPromises.push(_connectToDB(database).then((db) => _clearDB(db)));\n\t\t\t}\n\t\t}\n\n\t\treturn Promise.all(clearPromises);\n\t});\n}\n\nexport default function(name) {\n\tconst IndexedDBCache = {\n\t\tname: name,\n\n\t\tinitStorage: initStorage,\n\t\tgetItem: getItem,\n\t\tsetItem: setItem,\n\t\tremoveItem: removeItem,\n\t\tclear: clear,\n\t\tlength: length,\n\t\tkey: key,\n\t\tkeys: keys,\n\t\titerate: iterate\n\t};\n\n\t//Export internal functions if we are in test environment.\n\tif (typeof jest !== 'undefined') {\n\t\tIndexedDBCache.testing = {\n\t\t\tprocessError: processError,\n\t\t\tmakeRequest: makeRequest\n\t\t};\n\t}\n\n\treturn IndexedDBCache;\n}\n","import serializer from '../utils/serializer';\nimport runCallback from '../utils/runCallback';\nimport IndexedDBCache, {_clearAllInstances} from './IndexedDBCache';\nimport getKeyPrefix from '../utils/getKeyPrefix';\n\n/**\n *\n * @param {string} storeName The name to give to the database.\n * @param {array} options An object containing extra options to configure the cache\n * @returns A promise which is successful when the IndexedDB is initialized.\n */\nfunction initStorage({storeName = 'default', ...options}) {\n\tconst self = this;\n\tself._dbInfo = {\n\t\tserializer: serializer,\n\t\tindexedDBCache: IndexedDBCache(storeName),\n\t\tkeyPrefix: getKeyPrefix({storeName, ...options}, this._defaultConfig),\n\t\t...options\n\t};\n\n\treturn self._dbInfo.indexedDBCache.initStorage();\n}\n\n/**\n * Waits until the UnifiedCache is ready then calls the provided function.\n *\n * @param {UnifiedCache} unifiedCache The UnifiedCache instance to wait for\n * @param {function} callFunction The cache operation being called\n * @param {function} callback An optional callback function.\n * @returns a Promise from the callFunction\n */\nfunction makeDBCall(unifiedCache, callFunction, callback) {\n\tconst promise = unifiedCache\n\t\t.ready()\n\t\t.then(() => callFunction(unifiedCache._dbInfo.indexedDBCache));\n\trunCallback(promise, callback);\n\treturn promise;\n}\n\nfunction clear(callback) {\n\treturn makeDBCall(this, (indexedDBCache) => indexedDBCache.clear(), callback);\n}\n\nfunction getItem(key, callback) {\n\treturn makeDBCall(\n\t\tthis,\n\t\t(indexedDBCache) => indexedDBCache.getItem(key),\n\t\tcallback\n\t);\n}\n\nfunction setItem(key, value, callback) {\n\treturn makeDBCall(\n\t\tthis,\n\t\t(indexedDBCache) => indexedDBCache.setItem(key, value),\n\t\tcallback\n\t);\n}\n\nfunction removeItem(key, callback) {\n\treturn makeDBCall(\n\t\tthis,\n\t\t(indexedDBCache) => indexedDBCache.removeItem(key),\n\t\tcallback\n\t);\n}\n\nfunction key(index, callback) {\n\treturn makeDBCall(\n\t\tthis,\n\t\t(indexedDBCache) => indexedDBCache.key(index),\n\t\tcallback\n\t);\n}\n\nfunction keys(callback) {\n\treturn makeDBCall(this, (indexedDBCache) => indexedDBCache.keys(), callback);\n}\n\nfunction length(callback) {\n\treturn makeDBCall(\n\t\tthis,\n\t\t(indexedDBCache) => indexedDBCache.length(),\n\t\tcallback\n\t);\n}\n\nfunction iterate(iterator, callback) {\n\treturn makeDBCall(\n\t\tthis,\n\t\t(indexedDBCache) => indexedDBCache.iterate(iterator),\n\t\tcallback\n\t);\n}\n\nconst indexedDB = {\n\t_adapter: 'indexedDB',\n\t_initStorage: initStorage,\n\t_clearAllInstances: _clearAllInstances,\n\titerate: iterate,\n\tgetItem: getItem,\n\tsetItem: setItem,\n\tremoveItem: removeItem,\n\tclear: clear,\n\tlength: length,\n\tkey: key,\n\tkeys: keys\n};\n\nexport default indexedDB;\n","import serializer from '../utils/serializer';\nimport normalizeKey from '../utils/normalizeKey';\nimport isWebStorageValid from '../utils/isWebStorageValid';\nimport runCallback from '../utils/runCallback';\nimport getCallback from '../utils/getCallback';\nimport {STORAGE_KEYPREFIX, STORAGE, VERSION_KEY} from '../utils/constants';\nimport evictionPolicies from '../evictions/evictionPolicies';\nimport getKeyPrefix from '../utils/getKeyPrefix';\n\n/**\n * @constant {Storage} SESSIONSTORAGE - window object's sessionStorage property\n */\nconst {SESSIONSTORAGE} = STORAGE;\n\n/**\n * Check if sessionStorage throws when saving an item\n * @param {string} type\n * @returns {boolean} true if sessionStorage is successfully able to set value, otherwise false\n */\nfunction checkIfWebStorageThrows(type) {\n\tconst storage = window[type];\n\tconst sessionStorageTestKey = '_UnifiedCache_Support_Test';\n\n\ttry {\n\t\tstorage.setItem(sessionStorageTestKey, true);\n\t\tstorage.removeItem(sessionStorageTestKey);\n\n\t\treturn false;\n\t} catch (e) {\n\t\treturn true;\n\t}\n}\n\n/**\n * Checks if sessionStorage is usable and allows to save an item.\n *\n * It covers the use cases like:\n *   - safari private browsing mode\n *   - the available quota for sessionStorage is 0 and there wasn't any saved items yet\n * Reference: https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API\n *\n * @returns {boolean}\n * @private\n */\nfunction _isSessionStorageUsable() {\n\treturn (\n\t\t!checkIfWebStorageThrows('sessionStorage') || SESSIONSTORAGE.length > 0\n\t);\n}\n\n// Config the sessionStorage, using options set in the config.\nfunction _initStorage(options) {\n\tconst self = this;\n\tconst dbInfo = {};\n\tif (options) {\n\t\tfor (const i in options) {\n\t\t\tdbInfo[i] = options[i];\n\t\t}\n\t}\n\n\tdbInfo.keyPrefix = getKeyPrefix(options, self._defaultConfig);\n\n\tif (!_isSessionStorageUsable()) {\n\t\treturn Promise.reject();\n\t}\n\n\tself._dbInfo = dbInfo;\n\tdbInfo.serializer = serializer;\n\n\treturn Promise.resolve();\n}\n\n/**\n * Remove all keys from the sessionStorage, effectively destroying\n * all data in the app's key/value\n * @param {function} callback\n * @returns {Promise<*>}\n */\nfunction clear(callback) {\n\tconst self = this;\n\tconst promise = self.ready().then(function() {\n\t\tconst {keyPrefix} = self._dbInfo;\n\t\tconst storage = SESSIONSTORAGE;\n\t\tfor (let i = storage.length - 1; i >= 0; i--) {\n\t\t\tconst key = storage.key(i);\n\n\t\t\tif (key.indexOf(keyPrefix) === 0) {\n\t\t\t\tstorage.removeItem(key);\n\t\t\t}\n\t\t}\n\t});\n\trunCallback(promise, callback);\n\n\treturn promise;\n}\n/**\n * Retrieve an item from the sessionStorage. Unlike the default indexDB,\n * we don't modify return values at all. If a key's value\n * is `undefined`, we pass that value to the Promise.\n * @param {string} key\n * @param {function} callback\n * @returns {Promise<*>} promise for the value stored\n */\nfunction getItem(key, callback) {\n\tconst self = this;\n\n\tconst promise = self.ready().then(function() {\n\t\tconst dbInfo = self._dbInfo;\n\t\tlet result = evictionPolicies.getItem(\n\t\t\tSESSIONSTORAGE,\n\t\t\tself._config,\n\t\t\tdbInfo.keyPrefix + normalizeKey(key)\n\t\t);\n\n\t\t// If a result was found, parse it from the serialized\n\t\t// string into a JS object. If result isn't truthy, the key\n\t\t// is likely undefined and we'll pass it straight to the promise.\n\t\tif (result) {\n\t\t\tresult = dbInfo.serializer.deserialize(result);\n\t\t}\n\n\t\treturn result;\n\t});\n\trunCallback(promise, callback);\n\n\treturn promise;\n}\n\n/**\n * Set a key's value in sessionStorage.\n *\n * callback support to address use cases like:\n *   - user want to operate on that value only after\n *   they're sure about value is set to the sessionStorage\n *   e.g. save, or something like that on the current form page\n *\n * @param {string} key\n * @param {*} value\n * @param {function} callback\n * @returns {*}\n */\nfunction setItem(key, value, callback) {\n\tconst self = this;\n\n\tconst promise = self.ready().then(function() {\n\t\t// TODO how should we handle undefined value\n\t\t//  - save null for undefined value??\n\n\t\t// Save the original value to pass to the callback.\n\t\tconst originalValue = value;\n\n\t\treturn new Promise(function(resolve, reject) {\n\t\t\tconst dbInfo = self._dbInfo;\n\t\t\tdbInfo.serializer.serialize(value, function(value, error) {\n\t\t\t\tif (error) {\n\t\t\t\t\treject(error);\n\t\t\t\t} else {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tevictionPolicies.setItem(\n\t\t\t\t\t\t\tSESSIONSTORAGE,\n\t\t\t\t\t\t\tself._config,\n\t\t\t\t\t\t\tdbInfo.keyPrefix,\n\t\t\t\t\t\t\tnormalizeKey(key),\n\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t);\n\t\t\t\t\t\tresolve(originalValue);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t// window.sessionStorage capacity exceeded.\n\t\t\t\t\t\t// TODO: Make this a specific error or\n\t\t\t\t\t\t//  a public event for page author to hook handlers on the page\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\te.name === 'QuotaExceededError' ||\n\t\t\t\t\t\t\te.name === 'NS_ERROR_DOM_QUOTA_REACHED'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treject(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treject(e);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t});\n\trunCallback(promise, callback);\n\n\treturn promise;\n}\n\n/**\n * when passed a number n, returns the name of the nth key\n * in a given sessionStorage object.\n * @param {number} n\n * @param {function} callback\n * @returns {Promise<*>} promise for a string containing the name of the key.\n * If the index does not exist, null is returned.\n */\nfunction key(n, callback) {\n\tconst self = this;\n\tconst promise = self.ready().then(function() {\n\t\tconst dbInfo = self._dbInfo;\n\t\tlet result;\n\t\ttry {\n\t\t\tresult = SESSIONSTORAGE.key(n);\n\t\t} catch (error) {\n\t\t\tresult = null;\n\t\t}\n\n\t\t// remove the prefix from the key, if a key is found.\n\t\tif (result) {\n\t\t\tresult = result.substring(dbInfo.keyPrefix.length);\n\t\t}\n\n\t\treturn result;\n\t});\n\trunCallback(promise, callback);\n\n\treturn promise;\n}\n\n/**\n * gets the list of keys in sessionStorage.\n * @param {function} callback\n * @returns {Promise<*>}\n */\nfunction keys(callback) {\n\tconst self = this;\n\tconst promise = self.ready().then(function() {\n\t\tconst dbInfo = self._dbInfo;\n\t\tconst length = SESSIONSTORAGE.length;\n\t\tlet keys = [];\n\n\t\tfor (let i = 0; i < length; i++) {\n\t\t\tconst itemKey = SESSIONSTORAGE.key(i);\n\t\t\tif (itemKey.indexOf(dbInfo.keyPrefix) === 0) {\n\t\t\t\tkeys.push(itemKey.substring(dbInfo.keyPrefix.length));\n\t\t\t}\n\t\t}\n\n\t\treturn keys;\n\t});\n\trunCallback(promise, callback);\n\n\treturn promise;\n}\n\n/**\n * supply the number of keys in the sessionStorage\n * @param {function} callback\n * @returns {Promise<*>}\n */\nfunction length(callback) {\n\tconst self = this;\n\tconst promise = self.keys().then(function(keys) {\n\t\treturn keys.length;\n\t});\n\trunCallback(promise, callback);\n\n\treturn promise;\n}\n\n/**\n * Remove an item from the sessionStorage.\n * @param {string} key\n * @param {function} callback\n * @returns {Promise<*>}\n */\nfunction removeItem(key, callback) {\n\tconst self = this;\n\n\tconst promise = self.ready().then(function() {\n\t\tconst dbInfo = self._dbInfo;\n\t\tSESSIONSTORAGE.removeItem(dbInfo.keyPrefix + normalizeKey(key));\n\t});\n\trunCallback(promise, callback);\n\n\treturn promise;\n}\n\n/**\n * Iterate over all items in the sessionStorage.\n * @param iterator\n * @param callback\n * @returns {Promise<*>}\n */\nfunction iterate(iterator, callback) {\n\tconst self = this;\n\n\tconst promise = self.ready().then(function() {\n\t\tconst dbInfo = self._dbInfo;\n\t\tconst keyPrefix = dbInfo.keyPrefix;\n\t\tconst keyPrefixLength = keyPrefix.length;\n\t\tconst length = SESSIONSTORAGE.length;\n\n\t\t// use a dedicated iterator instead of the `i` variable below\n\t\t// so other keys we fetch in sessionStorage aren't counted in\n\t\t// the `iterationNumber` argument passed to the `iterate()`\n\t\tlet iterationNumber = 1;\n\n\t\tfor (let i = 0; i < length; i++) {\n\t\t\tconst key = SESSIONSTORAGE.key(i);\n\t\t\tif (key.indexOf(keyPrefix) !== 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tlet value = SESSIONSTORAGE.getItem(key);\n\n\t\t\t// If a result was found, parse it from the serialized\n\t\t\t// string into a JS object. If result isn't truthy, the\n\t\t\t// key is likely undefined and we'll pass it straight\n\t\t\t// to the iterator.\n\t\t\tif (value) {\n\t\t\t\tvalue = dbInfo.serializer.deserialize(value);\n\t\t\t}\n\n\t\t\tvalue = iterator(\n\t\t\t\tvalue,\n\t\t\t\tkey.substring(keyPrefixLength),\n\t\t\t\titerationNumber++\n\t\t\t);\n\n\t\t\tif (value !== void 0) {\n\t\t\t\treturn value;\n\t\t\t}\n\t\t}\n\t});\n\trunCallback(promise, callback);\n\n\treturn promise;\n}\n\n/**\n * drops the sessionStorage instance\n * @param {object} options\n * @param {function} callback\n * @returns {Promise<*>}\n */\nfunction dropInstance(options, callback) {\n\tcallback = getCallback.apply(this, arguments);\n\toptions = (typeof options !== 'function' && options) || {};\n\tif (!options.name) {\n\t\tconst currentConfig = this.config();\n\t\toptions.name = options.name || currentConfig.name;\n\t\toptions.storeName = options.storeName || currentConfig.storeName;\n\t}\n\n\tconst self = this;\n\tlet promise;\n\tif (!options.name) {\n\t\tpromise = Promise.reject('Invalid arguments');\n\t} else {\n\t\tpromise = new Promise(function(resolve) {\n\t\t\tif (!options.storeName) {\n\t\t\t\tresolve(`${options.name}__`);\n\t\t\t} else {\n\t\t\t\tresolve(getKeyPrefix(options, self._defaultConfig));\n\t\t\t}\n\t\t}).then(function(keyPrefix) {\n\t\t\tfor (let i = SESSIONSTORAGE.length - 1; i >= 0; i--) {\n\t\t\t\tconst key = SESSIONSTORAGE.key(i);\n\n\t\t\t\tif (key.indexOf(keyPrefix) === 0) {\n\t\t\t\t\tSESSIONSTORAGE.removeItem(key);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\trunCallback(promise, callback);\n\n\treturn promise;\n}\n\nfunction _clearAllInstances() {\n\tfor (let i = SESSIONSTORAGE.length - 1; i >= 0; i--) {\n\t\tconst key = SESSIONSTORAGE.key(i);\n\t\tconsole.debug(`Clearing SessionStorage ${key}`);\n\n\t\tif (key.indexOf(STORAGE_KEYPREFIX) === 0) {\n\t\t\tSESSIONSTORAGE.removeItem(key);\n\t\t}\n\n\t\tconsole.debug(`Cleared SessionStorage ${key}`);\n\t}\n}\n\nexport function getCacheVersion() {\n\treturn SESSIONSTORAGE.getItem(VERSION_KEY);\n}\n\nexport function setCacheVersion(version) {\n\treturn SESSIONSTORAGE.setItem(VERSION_KEY, version);\n}\n\nconst sessionStorage = {\n\t_adapter: 'sessionStorage',\n\t_initStorage: _initStorage,\n\t_support: isWebStorageValid('sessionStorage'),\n\t_clearAllInstances: _clearAllInstances,\n\titerate: iterate,\n\tgetItem: getItem,\n\tsetItem: setItem,\n\tremoveItem: removeItem,\n\tclear: clear,\n\tlength: length,\n\tkey: key,\n\tkeys: keys,\n\tdropInstance: dropInstance\n};\n\nexport default sessionStorage;\n","import {STORAGE_KEYPREFIX, STORAGE} from '../utils/constants';\nimport getKeyPrefix from '../utils/getKeyPrefix';\n\nconst {CACHE_API} = STORAGE;\n\n/**\n * Returns a Promise that resolves to true if the Cache Storage instance has been initialized.\n * Otherwise, it throws an Error.\n *\n * @param {object} options configuration used to initialize the Cache Storage instance\n * @return {Promise<boolean>}\n * @private\n */\nasync function _initStorage(options) {\n\ttry {\n\t\tthis._dbInfo = {\n\t\t\t...options,\n\t\t\tkeyPrefix: getKeyPrefix(options, this._defaultConfig)\n\t\t};\n\n\t\tthis._cacheStorage = await CACHE_API.open(this._dbInfo.keyPrefix);\n\t\treturn true;\n\t} catch (error) {\n\t\tthrow new Error(\n\t\t\t`InitError: Unable to initialize the Cache Storage instance - ${error}`\n\t\t);\n\t}\n}\n\n/**\n * Returns a Promise that resolves to the Response associated with the\n * first matching key in the Cache Storage instance.\n * If no match is found, the Promise resolves to undefined.\n *\n * @param {string|Request} key URL string, or a Request object containing the URL string\n * @param {function} callback function to invoke upon completion or error\n * @return {Promise<Response|undefined>}\n *\n */\nasync function getItem(key, callback) {\n\tconst fn = async () => {\n\t\tconst response = await this._cacheStorage.match(key);\n\t\tcallback?.(null, response);\n\t\treturn response;\n\t};\n\n\treturn _runOnReady.call(this, fn, callback);\n}\n/**\n * Adds key/value pairs to the Cache Storage instance overwriting any key/value pair previously stored\n * in the cache that matches the key.\n *\n * If no 'value' is provided, it will fetch from the 'key' URL\n * and add the resulting response object to the cache.\n *\n * It will return a Promise that resolves to undefined upon successful addition.\n *\n * @param {string|Request} key The Request object or URL string that you want to add to the cache.\n * @param {Response} value The value you want to match up to the key.\n * @param {function} callback function to invoke upon completion or error\n * @return {Promise<undefined>}\n */\nasync function setItem(key, value, callback) {\n\tconst fn = async () => {\n\t\tif (value == null) {\n\t\t\tawait this._cacheStorage.add(key);\n\t\t} else {\n\t\t\tawait this._cacheStorage.put(key, value.clone());\n\t\t}\n\t\tcallback?.(null);\n\t};\n\n\treturn _runOnReady.call(this, fn, callback);\n}\n\n/**\n * Invokes the provider iterator function for every entry in the Cache Storage instance.\n *\n * @param {function} iterator function to invoke for every entry. The function is invoked with the following\n * arguments: key, value, index (starts at 1)\n * @param {function} callback function to invoke upon completion or error\n * @return {Promise<undefined>}\n */\nasync function iterate(iterator, callback) {\n\tconst fn = async () => {\n\t\tconst requests = await this._cacheStorage.keys();\n\t\tlet index = 1;\n\t\tfor (const request of requests) {\n\t\t\tconst response = await this._cacheStorage.match(request);\n\t\t\titerator(request, response, index++);\n\t\t}\n\t\tcallback?.(null);\n\t};\n\n\treturn _runOnReady.call(this, fn, callback);\n}\n\n/**\n * Find the entry whose key is the request, and if found, deletes the entry and returns a Promise that\n * resolves to true. If no Cache entry is found, the Promise resolves to false.\n *\n * @param {string|Request} key URL string, or a Request Object containing the URL string.\n * @param {function} callback function to invoke upon completion or error\n * @return {Promise<boolean>}\n */\nasync function removeItem(key, callback) {\n\tconst fn = async () => {\n\t\tconst isDeleted = this._cacheStorage.delete(key);\n\t\tcallback?.(null, isDeleted);\n\t\treturn isDeleted;\n\t};\n\n\treturn _runOnReady.call(this, fn, callback);\n}\n\n/**\n * Removes all entries from the Cache Storage instance.\n * It will return a Promise that resolves to undefined upon successful\n * clearance.\n *\n * @param {function} callback function to invoke upon completion or error\n * @return {Promise<undefined>}\n */\nasync function clear(callback) {\n\tconst fn = async () => {\n\t\tconst requests = await this._cacheStorage.keys();\n\t\tconst promises = requests.map((request) =>\n\t\t\tthis._cacheStorage.delete(request)\n\t\t);\n\t\tawait Promise.all(promises);\n\t\tcallback?.(null);\n\t};\n\n\treturn _runOnReady.call(this, fn, callback);\n}\n\n/**\n * Returns a Promise that resolves to the number of entries in the Cache Storage instance.\n *\n * @param {function} callback function to invoke upon completion or error\n * @return {Promise<number>} Promise that resolves to the number of entries in the Cache Storage instance\n */\nasync function length(callback) {\n\tconst fn = async () => {\n\t\tconst requests = await this._cacheStorage.keys();\n\t\tconst length = requests.length;\n\t\tcallback?.(null, length);\n\t\treturn length;\n\t};\n\n\treturn _runOnReady.call(this, fn, callback);\n}\n\n/**\n * Returns a Promise that resolves to the nth Request Object\n * representing the key in the Cache Storage instance\n *\n * @param {number} index An integer representing the number of the key you want to get the name of. This is a zero-based\n * index.\n * @param {function} callback function to invoke upon completion or error\n * @return {Promise<Request>} A Promise that resolves to a Request object. If Request Object does not exist, a null\n * is returned\n */\nasync function key(index, callback) {\n\tconst fn = async () => {\n\t\tconst requests = await this._cacheStorage.keys();\n\t\tconst request = requests[index] || null;\n\t\tcallback?.(null, request);\n\t\treturn request;\n\t};\n\n\treturn _runOnReady.call(this, fn, callback);\n}\n\n/**\n * Returns a Promise that resolves to an array of Request objects representing the keys of the Cache Storage instance\n *\n * @param {function} callback function to invoke upon completion or error\n * @return {Promise<Request[]>}\n */\nasync function keys(callback) {\n\tconst fn = async () => {\n\t\tconst requests = await this._cacheStorage.keys();\n\t\tcallback?.(null, requests);\n\t\treturn requests;\n\t};\n\n\treturn _runOnReady.call(this, fn, callback);\n}\n\n/**\n * Drops the Cache Storage instance.\n * Returns a Promise that resolves to true if the Cache Storage instance\n * was successfully deleted. Otherwise, the Promise resolves to false.\n *\n * @param {function} callback function to invoke upon completion or error\n * @return {Promise<boolean>}\n */\nasync function dropInstance(callback) {\n\tconst fn = async () => {\n\t\tconst isDeleted = await CACHE_API.delete(this._dbInfo.keyPrefix);\n\t\tcallback?.(null, isDeleted);\n\t\treturn isDeleted;\n\t};\n\n\treturn _runOnReady.call(this, fn, callback);\n}\n\nasync function _clearAllInstances() {\n\tconst keys = await CACHE_API.keys();\n\n\tfor (let i = keys.length - 1; i >= 0; i--) {\n\t\tconst key = keys[i];\n\t\tconsole.debug(`Clearing CacheAPI ${key}`);\n\t\tif (key.indexOf(STORAGE_KEYPREFIX) === 0) {\n\t\t\tconst cacheStorage = await CACHE_API.open(key);\n\t\t\tconst requests = await cacheStorage.keys();\n\t\t\tconst promises = requests.map((request) => cacheStorage.delete(request));\n\t\t\tawait Promise.all(promises);\n\t\t\tconsole.debug(`Cleared CacheAPI ${key}.`);\n\t\t}\n\t}\n}\n\n/**\n * Returns true if Cache Storage is supported by the current browser.\n * Otherwise, it returns false.\n *\n * @return {boolean}\n * @private\n */\nfunction _isCacheAPISupported() {\n\treturn 'caches' in self;\n}\n\nasync function _runOnReady(fn, callback) {\n\ttry {\n\t\tif (await this.ready()) {\n\t\t\treturn fn();\n\t\t}\n\t} catch (error) {\n\t\tcallback?.(error);\n\t\tthrow error;\n\t}\n}\n\nconst cacheAPI = {\n\t_adapter: 'cacheAPI',\n\t_initStorage,\n\t_support: _isCacheAPISupported(),\n\t_clearAllInstances,\n\titerate,\n\tgetItem,\n\tsetItem,\n\tremoveItem,\n\tclear,\n\tlength,\n\tkey,\n\tkeys,\n\tdropInstance\n};\n\nexport default cacheAPI;\n","function initStorage() {\n\tthis.cache = new Map();\n}\n\nfunction getItem(key) {\n\tconst self = this;\n\treturn new Promise((resolve) => {\n\t\tconst value = self.cache.get(key);\n\t\tresolve(value ? value : null);\n\t});\n}\n\nfunction setItem(key, value) {\n\tconst self = this;\n\treturn new Promise((resolve) => {\n\t\tself.cache.set(key, value);\n\t\tresolve();\n\t});\n}\n\nfunction removeItem(key) {\n\tconst self = this;\n\treturn new Promise((resolve) => {\n\t\tself.cache.delete(key);\n\t\tresolve();\n\t});\n}\n\nfunction clear() {\n\tconst self = this;\n\treturn new Promise((resolve) => {\n\t\tself.cache.clear();\n\t\tresolve();\n\t});\n}\n\nfunction length() {\n\tconst self = this;\n\treturn new Promise((resolve) => resolve(self.cache.size));\n}\n\nfunction key(keyIndex) {\n\tconst self = this;\n\treturn new Promise((resolve) => {\n\t\tlet i = 1;\n\t\tfor (const key of self.cache.keys()) {\n\t\t\tif (i === keyIndex) {\n\t\t\t\tresolve(key);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\ti++;\n\t\t}\n\n\t\tresolve(null);\n\t});\n}\n\nfunction keys() {\n\tconst self = this;\n\treturn new Promise((resolve) => {\n\t\tconst keys = [];\n\t\tfor (const key of self.cache.keys()) {\n\t\t\tkeys.push(key);\n\t\t}\n\n\t\tresolve(keys);\n\t});\n}\n\nfunction iterate(iteratorCallback) {\n\tconst self = this;\n\tnew Promise((resolve) => {\n\t\tlet i = 1;\n\t\tfor (const entry of self.cache.entries()) {\n\t\t\titeratorCallback?.(entry[0], entry[1], i);\n\t\t\ti++;\n\t\t}\n\n\t\tresolve();\n\t});\n}\n\nexport default function() {\n\tconst inMemoryCache = {\n\t\tinitStorage: initStorage,\n\t\tgetItem: getItem,\n\t\tsetItem: setItem,\n\t\tremoveItem: removeItem,\n\t\tclear: clear,\n\t\tlength: length,\n\t\tkey: key,\n\t\tkeys: keys,\n\t\titerate: iterate\n\t};\n\n\treturn inMemoryCache;\n}\n","import serializer from '../utils/serializer';\nimport runCallback from '../utils/runCallback';\nimport InMemoryCache from './InMemoryCache';\nimport getKeyPrefix from '../utils/getKeyPrefix';\n\n/**\n * @param {array} options An object containing extra options to configure the cache\n * @returns A promise which is always successful.\n */\nfunction initStorage(options) {\n\tthis._dbInfo = {\n\t\tserializer: serializer,\n\t\tinMemoryCache: InMemoryCache(),\n\t\tkeyPrefix: getKeyPrefix(options, this._defaultConfig),\n\t\t...options\n\t};\n\n\treturn this._dbInfo.inMemoryCache.initStorage();\n}\n\n/**\n * Waits until the UnifiedCache is ready then calls the provided function.\n *\n * @param {UnifiedCache} unifiedCache The UnifiedCache instance to wait for\n * @param {function} callFunction The cache operation being called\n * @param {function} callback An optional callback function.\n * @returns a Promise from the callFunction\n */\nfunction makeInMemoryCall(unifiedCache, callFunction, callback) {\n\tconst promise = unifiedCache\n\t\t.ready()\n\t\t.then(() => callFunction(unifiedCache._dbInfo.inMemoryCache));\n\trunCallback(promise, callback);\n\treturn promise;\n}\n\nfunction getItem(key, callback) {\n\treturn makeInMemoryCall(\n\t\tthis,\n\t\t(inMemoryCache) => inMemoryCache.getItem(key),\n\t\tcallback\n\t);\n}\n\nfunction setItem(key, value, callback) {\n\treturn makeInMemoryCall(\n\t\tthis,\n\t\t(inMemoryCache) => inMemoryCache.setItem(key, value),\n\t\tcallback\n\t);\n}\n\nfunction removeItem(key, callback) {\n\treturn makeInMemoryCall(\n\t\tthis,\n\t\t(inMemoryCache) => inMemoryCache.removeItem(key),\n\t\tcallback\n\t);\n}\n\nfunction clear(callback) {\n\treturn makeInMemoryCall(\n\t\tthis,\n\t\t(inMemoryCache) => inMemoryCache.clear(),\n\t\tcallback\n\t);\n}\n\nfunction key(index, callback) {\n\treturn makeInMemoryCall(\n\t\tthis,\n\t\t(inMemoryCache) => inMemoryCache.key(index),\n\t\tcallback\n\t);\n}\n\nfunction keys(callback) {\n\treturn makeInMemoryCall(\n\t\tthis,\n\t\t(inMemoryCache) => inMemoryCache.keys(),\n\t\tcallback\n\t);\n}\n\nfunction length(callback) {\n\treturn makeInMemoryCall(\n\t\tthis,\n\t\t(inMemoryCache) => inMemoryCache.length(),\n\t\tcallback\n\t);\n}\n\nfunction iterate(iterator, callback) {\n\treturn makeInMemoryCall(\n\t\tthis,\n\t\t(inMemoryCache) => inMemoryCache.iterate(iterator),\n\t\tcallback\n\t);\n}\n\nconst inMemory = {\n\t_adapter: 'inMemory',\n\t_initStorage: initStorage,\n\titerate: iterate,\n\tgetItem: getItem,\n\tsetItem: setItem,\n\tremoveItem: removeItem,\n\tclear: clear,\n\tlength: length,\n\tkey: key,\n\tkeys: keys\n};\n\nexport default inMemory;\n","import {TTL_EXPIRED_ITEM_KEYWORD} from '../utils/constants';\n\nconst cacheStatsProxyHandler = {\n\tget(cacheInstance, prop) {\n\t\tif (prop === 'getItem') {\n\t\t\tconst originalMethod = cacheInstance[prop];\n\t\t\treturn new Proxy(originalMethod, {\n\t\t\t\tapply: async function(targetMethod, cacheInstanceProxy, args) {\n\t\t\t\t\tconst {_stats} = cacheInstanceProxy;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst result = await targetMethod.apply(cacheInstanceProxy, args);\n\t\t\t\t\t\tif (result === TTL_EXPIRED_ITEM_KEYWORD) {\n\t\t\t\t\t\t\t_stats.stale++;\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (result) {\n\t\t\t\t\t\t\t_stats.hit++;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t_stats.miss++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t_stats.error++;\n\t\t\t\t\t\tthrow error;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (prop === 'setItem') {\n\t\t\tconst originalMethod = cacheInstance[prop];\n\t\t\treturn new Proxy(originalMethod, {\n\t\t\t\tapply: async function(targetMethod, cacheInstanceProxy, args) {\n\t\t\t\t\tconst {_stats} = cacheInstanceProxy;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst start = performance.now();\n\t\t\t\t\t\tconst result = await targetMethod.apply(cacheInstanceProxy, args);\n\t\t\t\t\t\tconst end = performance.now();\n\t\t\t\t\t\t_stats.buildTime += end - start;\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t_stats.error++;\n\t\t\t\t\t\tthrow error;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\treturn cacheInstance[prop];\n\t}\n};\n\nexport default cacheStatsProxyHandler;\n","const isArray =\n\tArray.isArray ||\n\tfunction(arg) {\n\t\treturn Object.prototype.toString.call(arg) === '[object Array]';\n\t};\n\nexport default isArray;\n","import isArray from './isArray';\n\nexport function extend() {\n\tfor (let i = 1; i < arguments.length; i++) {\n\t\tconst arg = arguments[i];\n\n\t\tif (arg) {\n\t\t\tfor (let key in arg) {\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(arg, key)) {\n\t\t\t\t\tif (isArray(arg[key])) {\n\t\t\t\t\t\targuments[0][key] = arg[key].slice();\n\t\t\t\t\t} else {\n\t\t\t\t\t\targuments[0][key] = arg[key];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn arguments[0];\n}\n\nexport default extend;\n","const sameValue = (x, y) =>\n\tx === y ||\n\t(typeof x === 'number' && typeof y === 'number' && isNaN(x) && isNaN(y));\n\nconst includes = (array, searchElement) => {\n\tconst len = array.length;\n\tlet i = 0;\n\twhile (i < len) {\n\t\tif (sameValue(array[i], searchElement)) {\n\t\t\treturn true;\n\t\t}\n\t\ti++;\n\t}\n\n\treturn false;\n};\n\nexport default includes;\n","function runTwoCallbacks(promise, callback, errorCallback) {\n\tif (typeof callback === 'function') {\n\t\tpromise.then(callback);\n\t}\n\n\tif (typeof errorCallback === 'function') {\n\t\tpromise.catch(errorCallback);\n\t}\n}\n\nexport default runTwoCallbacks;\n","/**\n * @returns The cache version returned from the server.\n */\nexport function getServerCacheVersion() {\n\tif (!window.NOW) {\n\t\treturn;\n\t}\n\n\treturn window.NOW.unifiedCacheVersion;\n}\n\n/**\n * Checks if the cache version matches the current version. If the current version is undefined,\n * then this always returns false. If the provided version is undefined, this always returns true.\n *\n * @param cacheVersion The current version of the cache in the browser\n * @returns true if the cacheVersion matches the cache version defined by the server.\n */\nexport function isCacheVersionOld(cacheVersion) {\n\tconst serverCacheVersion = getServerCacheVersion();\n\treturn (\n\t\t!cacheVersion || (serverCacheVersion && serverCacheVersion !== cacheVersion)\n\t);\n}\n","function buildGlobalCacheStats(getAggregateCacheStats, getAllCacheStats) {\n\treturn Object.freeze({\n\t\tgetAggregateCacheStats,\n\t\tgetAllCacheStats\n\t});\n}\n\nfunction checkIfUxGlobalsExists() {\n\treturn window && window.ux_globals;\n}\n\n/**\n * Adds the cache stats methods that we want to expose globally in window.ux_globals\n *\n * @param {{getAggregateCacheStats: function, getAllCacheStats: function}} globalCacheStats\n */\nfunction setGlobalCacheStats({getAggregateCacheStats, getAllCacheStats}) {\n\tconst cacheStats = buildGlobalCacheStats(\n\t\tgetAggregateCacheStats,\n\t\tgetAllCacheStats\n\t);\n\tif (checkIfUxGlobalsExists()) {\n\t\twindow.ux_globals.__uc__cacheStats = cacheStats;\n\t} else {\n\t\twindow.ux_globals = {__uc__cacheStats: cacheStats};\n\t}\n}\n\nexport default setGlobalCacheStats;\n","/**\n * Returns a new object containing the sum of the values for every key in objects.\n *\n * @param {...object} objects objects with number values\n * @return {object}\n */\nfunction sumObjectsByKey(...objects) {\n\treturn objects.reduce((obj1, obj2) => {\n\t\tfor (let key in obj2) {\n\t\t\tif (Object.prototype.hasOwnProperty.call(obj2, key))\n\t\t\t\tobj1[key] = (obj1[key] || 0) + obj2[key];\n\t\t}\n\t\treturn obj1;\n\t}, {});\n}\n\nexport default sumObjectsByKey;\n","import localStorageAdapter, * as LocalStorage from './adapters/localStorage';\nimport indexedDBAdapter from './adapters/indexedDB';\nimport sessionStorageAdapter, * as SessionStorage from './adapters/sessionStorage';\nimport cacheAPIAdapter from './adapters/cacheAPI';\nimport inMemoryAdapter from './adapters/inMemory';\nimport cacheStatsProxyHandler from './stats/cacheStatsProxyHandler';\nimport extend from './utils/extend';\nimport includes from './utils/includes';\nimport runCallback from './utils/runCallback';\nimport runTwoCallbacks from './utils/runTwoCallbacks';\nimport serializer from './utils/serializer';\nimport {getServerCacheVersion, isCacheVersionOld} from './utils/cacheVersion';\nimport setGlobalCacheStats from './utils/setGlobalCacheStats';\nimport sumObjectsByKey from './utils/sumObjectsByKey';\n\n/**\n * All defined adapters are stored here when `defineAdapter()` is called.\n * These defined adapters are shared across all instances of UnifiedCache.\n *\n * @type {Object} all defined adapters\n */\nconst DefinedAdapters = {};\n\n/**\n * List of supported adapter mappings.\n *\n * @type {Object} mappings of supported adapters\n */\nconst AdapterSupport = {};\n\n/**\n * List of Default adapters.\n *\n * @type {Object} default adapters\n */\nconst DefaultAdapters = {\n\tLOCALSTORAGE: localStorageAdapter,\n\tSESSIONSTORAGE: sessionStorageAdapter,\n\tINDEXEDDB: indexedDBAdapter,\n\tCACHE_API: cacheAPIAdapter,\n\tIN_MEMORY: inMemoryAdapter\n};\n\nconst dropAllInstancesPromises = [];\n\nfunction clearStorageInstances(adapter) {\n\tif (adapter._clearAllInstances) {\n\t\ttry {\n\t\t\t//Only drop adapters that support it\n\t\t\tdropAllInstancesPromises.push(adapter._clearAllInstances());\n\t\t} catch (error) {\n\t\t\tconsole.error(`Failed to clear cache ${adapter._adapter}.`, error); //Errors shouldn't block the cache\n\t\t}\n\t}\n}\n\nconst cacheVersionCheck = new Promise((resolve) => {\n\ttry {\n\t\t//Drop all persistent adapters except sessionstorage\n\t\tconst browserCacheVersion = LocalStorage.getCacheVersion();\n\t\tif (isCacheVersionOld(browserCacheVersion)) {\n\t\t\tclearStorageInstances(localStorageAdapter);\n\t\t\tclearStorageInstances(indexedDBAdapter);\n\t\t\tclearStorageInstances(cacheAPIAdapter);\n\n\t\t\tLocalStorage.setCacheVersion(getServerCacheVersion());\n\t\t}\n\n\t\t//Sessionstorage is a special case because each browser tab is a separate sessionstorage\n\t\t//instance. We keep a version in each session storage to track when it needs to be cleared.\n\t\tconst sessionStorageVersion = SessionStorage.getCacheVersion();\n\t\tif (isCacheVersionOld(sessionStorageVersion)) {\n\t\t\tclearStorageInstances(sessionStorageAdapter);\n\n\t\t\tSessionStorage.setCacheVersion(getServerCacheVersion());\n\t\t}\n\n\t\t//To prevent using the cache before the clear is done, we want all drop operations to\n\t\t//complete.\n\t\tPromise.all(dropAllInstancesPromises)\n\t\t\t.then(() => resolve())\n\t\t\t.catch(() => resolve()); //Errors shouldn't block the cache\n\t} catch (error) {\n\t\tconsole.error('Failed to clear all caches');\n\t\tresolve(); //Errors shouldn't block the cache\n\t}\n});\n\n/**\n * Default adapter order.\n * @type {string[]}  adapter order\n */\nconst DefaultAdapterOrder = [DefaultAdapters.LOCALSTORAGE._adapter];\n\n/**\n * Default adapter configuration.\n * @type {{adapter: string[], name: string, description: string, storeName: string}} adapter configuration\n */\nconst DefaultConfig = {\n\tdescription: 'NextUI web application unified cache',\n\tadapter: DefaultAdapterOrder.slice(),\n\tname: 'UnifiedCache',\n\tstoreName: 'keyvaluepairs'\n\t//\n\t// TODO: should we add more configuration details\n\t//  - size (default DB size _under_ 5MB, as it's the highest size we can use without any prompt),\n\t//  - version (1.0), etc\n};\n\nconst DefaultStats = {\n\thit: 0,\n\tmiss: 0,\n\terror: 0,\n\tstale: 0,\n\tbuildTime: 0\n};\n\n/**\n * List of supported eviction policies.\n * @type {string[]}  eviction policies\n */\nconst EvictionPolicies = ['TTL', 'LRU'];\n\n/**\n * Optional adapter API method.\n * @type {string[]} optional API methods\n */\nconst OptionalAdapterMethods = ['dropInstance'];\n\n/**\n * Adapter API methods for the UnifiedCache library.\n * @type {string[]} api methods\n */\nconst LibraryMethods = [\n\t'clear',\n\t'getItem',\n\t'iterate',\n\t'key',\n\t'keys',\n\t'length',\n\t'removeItem',\n\t'setItem'\n].concat(OptionalAdapterMethods);\n\n/**\n * Calls the unifiedCache instance adapter API methods, once the\n * adapter initialization is done.\n *\n * @param {UnifiedCache} unifiedCacheInstance\n * @param {LibraryMethods} libraryMethod\n */\nfunction callWhenReady(unifiedCacheInstance, libraryMethod) {\n\tunifiedCacheInstance[libraryMethod] = function() {\n\t\tconst _args = arguments;\n\t\t// once the unifiedCache instance is initialized with adapter\n\t\t// and ready, call the adapter API method with parameters\n\t\treturn unifiedCacheInstance.ready().then(function() {\n\t\t\treturn unifiedCacheInstance[libraryMethod].apply(\n\t\t\t\tunifiedCacheInstance,\n\t\t\t\t_args\n\t\t\t);\n\t\t});\n\t};\n}\n\n/**\n * Validate the eviction policy of the user provided configuration options.\n *\n * @param {{adapter: string[], evictionPolicy: string, name: string, description: string, storeName: string}} options\n * @returns {boolean}\n */\nfunction validateEvictionPolicy(options) {\n\tif (!options) return true;\n\n\tif (!Object.prototype.hasOwnProperty.call(options, 'evictionPolicy'))\n\t\treturn true;\n\n\tif (EvictionPolicies.includes(options.evictionPolicy)) return true;\n\n\tconst error = new Error(\n\t\t'Eviction policy ' +\n\t\t\toptions.evictionPolicy +\n\t\t\t' is not supported. No eviction policy will be applied.'\n\t);\n\tconsole.warn(error);\n\treturn false;\n}\n\n/**\n * An unifiedCache object\n * @param {DefaultConfig} _defaultConfig - default adapter configuration\n * @param {Object} _config - merged adapter configuration\n * @param {Promise<*>} _adapterSet - promise indicating adapter initialization\n * @param {function} _initAdapter - function that initialized the adapter\n * @param {Promise<*>} _ready - promise indicating adapter is ready to use\n * @param {{adapter: string, description: string, keyPrefix: string, name: string, storeName: string, serializer: object}} _dbInfo - adapter store information\n */\nclass UnifiedCache {\n\tstatic cacheInstances = [];\n\n\t/**\n\t * Returns the aggregate stats for all unified cache instances.\n\t *\n\t * @return {object}\n\t */\n\tstatic getAggregateCacheStats() {\n\t\tconst stats = UnifiedCache.cacheInstances.reduce(\n\t\t\t(aggregateStats, cacheInstance) => {\n\t\t\t\treturn Object.entries(cacheInstance._stats).reduce(\n\t\t\t\t\t(accumulator, [attribute, currentValue]) => {\n\t\t\t\t\t\taccumulator[attribute] =\n\t\t\t\t\t\t\t(accumulator[attribute] || 0) + currentValue;\n\t\t\t\t\t\treturn accumulator;\n\t\t\t\t\t},\n\t\t\t\t\taggregateStats\n\t\t\t\t);\n\t\t\t},\n\t\t\t{}\n\t\t);\n\n\t\tconst {hit, miss} = stats;\n\t\treturn {\n\t\t\t...stats,\n\t\t\thitRate: hit / (hit + miss) || 0\n\t\t};\n\t}\n\n\t/**\n\t * Returns an object containing the stats for every unified cache namespace.\n\t *\n\t * @return {object}\n\t */\n\tstatic getAllCacheStats() {\n\t\treturn UnifiedCache.cacheInstances.reduce(\n\t\t\t(allCacheStats, cacheInstance) => {\n\t\t\t\tif (cacheInstance._dbInfo) {\n\t\t\t\t\tconst {adapter, keyPrefix} = cacheInstance._dbInfo;\n\t\t\t\t\tconst key = `${adapter}${keyPrefix}`;\n\t\t\t\t\tallCacheStats[key] = sumObjectsByKey(\n\t\t\t\t\t\tallCacheStats[key] || {},\n\t\t\t\t\t\tcacheInstance._stats\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn allCacheStats;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t}\n\n\tconstructor(options) {\n\t\t// loop through the default adapters to define the\n\t\t// adapters in synchronous manner\n\t\tfor (let adapterTypeKey in DefaultAdapters) {\n\t\t\tif (\n\t\t\t\tObject.prototype.hasOwnProperty.call(DefaultAdapters, adapterTypeKey)\n\t\t\t) {\n\t\t\t\tconst adapter = DefaultAdapters[adapterTypeKey];\n\t\t\t\tconst adapterName = adapter._adapter;\n\t\t\t\tthis[adapterTypeKey] = adapterName;\n\n\t\t\t\tif (!DefinedAdapters[adapterName]) {\n\t\t\t\t\t// we don't need to wait for the promise,\n\t\t\t\t\t// since the default adapters can be defined\n\t\t\t\t\t// in a blocking manner\n\t\t\t\t\tthis.defineAdapter(adapter);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tvalidateEvictionPolicy(options);\n\n\t\tthis._defaultConfig = extend({}, DefaultConfig);\n\t\tthis._stats = extend({}, DefaultStats);\n\t\tthis._config = extend({}, this._defaultConfig, options);\n\t\tthis._adapterSet = null;\n\t\tthis._initAdapter = null;\n\t\tthis._ready = false;\n\t\tthis._dbInfo = null;\n\n\t\tthis._wrapLibraryMethodsWithReady();\n\t\tthis.setAdapter(this._config.adapter).catch(() => {});\n\n\t\tconst unifiedCacheProxy = new Proxy(this, cacheStatsProxyHandler);\n\t\tUnifiedCache.cacheInstances.push(unifiedCacheProxy);\n\t\treturn unifiedCacheProxy;\n\t}\n\n\t/**\n\t * Set any config values for UnifiedCache; can be called anytime before\n\t * the first API call (e.g. `getItem`, `setItem`).\n\t * We loop through options so we don't overwrite existing config values.\n\t * @param {{adapter: string[], evictionPolicy: string, name: string, description: string, storeName: string}} options\n\t * @returns {Error|boolean|Promise<never>|*|null}\n\t */\n\tconfig(options) {\n\t\tvalidateEvictionPolicy(options);\n\t\t// If the options argument is an object, we use it to set values.\n\t\t// Otherwise, we return either a specified config value or all\n\t\t// config values.\n\t\tif (typeof options === 'object') {\n\t\t\t// If UnifiedCache is ready and fully initialized, we can't set\n\t\t\t// any new configuration values. Instead, we return an error.\n\t\t\tif (this._ready) {\n\t\t\t\treturn new Error(\n\t\t\t\t\t\"Can't call config() after UnifiedCache \" + 'has been used.'\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tfor (let i in options) {\n\t\t\t\t// TODO: set additional configuration options like storeName, version etc.\n\t\t\t\tthis._config[i] = options[i];\n\t\t\t}\n\n\t\t\t// after all config options are set and\n\t\t\t// the adapter option is used, try setting it\n\t\t\tif ('adapter' in options && options.adapter) {\n\t\t\t\treturn this.setAdapter(this._config.adapter);\n\t\t\t}\n\n\t\t\treturn true;\n\t\t} else if (typeof options === 'string') {\n\t\t\treturn this._config[options];\n\t\t} else {\n\t\t\treturn this._config;\n\t\t}\n\t}\n\n\t/**\n\t * Returns the adapter in use.\n\t * @returns {string|null} adapter name in use or null during initialization\n\t * process or when unable to find adapter.\n\t */\n\tadapter() {\n\t\treturn this._adapter || null;\n\t}\n\n\t/**\n\t * Sets the adapter to the unifiedCache.\n\t * @param {string[]} adapters - list of adapter names\n\t * @param {function} callback - success callback\n\t * @param {function} errorCallback - error callback\n\t * @returns {null|Promise<never>|*}\n\t */\n\tsetAdapter(adapters, callback, errorCallback) {\n\t\tconst self = this;\n\t\tconst supportedAdapters = this._getSupportedAdapters(adapters);\n\n\t\tfunction setAdapterToConfig() {\n\t\t\tself._config.adapter = self.adapter();\n\t\t}\n\n\t\tfunction extendSelfWithAdapter(adapter) {\n\t\t\tself._extend(adapter);\n\t\t\tsetAdapterToConfig();\n\t\t\t// TODO initialize the indexedDB adapter when no adapter\n\t\t\t//  is passed to config\n\t\t\tself._ready = self._initStorage(self._config);\n\t\t\treturn self._ready;\n\t\t}\n\n\t\tfunction initAdapter(supportedAdapters) {\n\t\t\tlet currentAdapterIndex = 0;\n\t\t\treturn () => {\n\t\t\t\tfunction adapterPromiseLoop() {\n\t\t\t\t\twhile (currentAdapterIndex < supportedAdapters.length) {\n\t\t\t\t\t\tlet adapterName = supportedAdapters[currentAdapterIndex];\n\n\t\t\t\t\t\tself._dbInfo = null;\n\t\t\t\t\t\tself._ready = null;\n\n\t\t\t\t\t\tcurrentAdapterIndex++;\n\t\t\t\t\t\treturn self\n\t\t\t\t\t\t\t.getAdapter(adapterName)\n\t\t\t\t\t\t\t.then((adapter) => extendSelfWithAdapter(adapter))\n\t\t\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\t\t\tconsole.warn(error);\n\t\t\t\t\t\t\t\tthrow error;\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.catch(adapterPromiseLoop);\n\t\t\t\t\t}\n\n\t\t\t\t\tsetAdapterToConfig();\n\t\t\t\t\tconst error = new Error('No available storage method found.');\n\t\t\t\t\tself._adapterSet = Promise.reject(error);\n\t\t\t\t\treturn self._adapterSet;\n\t\t\t\t}\n\n\t\t\t\treturn adapterPromiseLoop();\n\t\t\t};\n\t\t}\n\n\t\t// There might be a adapter initialization in progress\n\t\t// so wait for it to finish in order to avoid a possible\n\t\t// race condition to set _dbInfo\n\t\tconst oldAdapterSetDone =\n\t\t\tthis._adapterSet !== null\n\t\t\t\t? this._adapterSet.catch(() => Promise.resolve())\n\t\t\t\t: Promise.resolve();\n\n\t\tthis._adapterSet = oldAdapterSetDone\n\t\t\t.then(() => {\n\t\t\t\tconst adapterName = supportedAdapters[0];\n\t\t\t\tif (adapterName) {\n\t\t\t\t\tself._dbInfo = null;\n\t\t\t\t\tself._ready = null;\n\n\t\t\t\t\treturn self.getAdapter(adapterName).then((adapter) => {\n\t\t\t\t\t\tself._adapter = adapter._adapter;\n\t\t\t\t\t\tsetAdapterToConfig();\n\t\t\t\t\t\tself._wrapLibraryMethodsWithReady();\n\t\t\t\t\t\tself._initAdapter = initAdapter(supportedAdapters);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\tsetAdapterToConfig();\n\t\t\t\tconst error = new Error('No available storage method found.');\n\t\t\t\tself._adapterSet = Promise.reject(error);\n\t\t\t\treturn self._adapterSet;\n\t\t\t});\n\n\t\trunTwoCallbacks(this._adapterSet, callback, errorCallback);\n\t\treturn this._adapterSet;\n\t}\n\n\t/**\n\t * Returns the name of the adapter being used, null during the\n\t * asynchronous adapter initialization process, or\n\t * null if the asynchronous adapter initialization process failed\n\t * to find a usable adapter.\n\t * @param {string} adapterName - adapter name\n\t * @param {function} callback - success callback\n\t * @param {function} errorCallback - error callback\n\t * @returns {Promise<unknown> | Promise<never>} promise for the defined adapter\n\t */\n\tgetAdapter(adapterName, callback, errorCallback) {\n\t\tconst getAdapterPromise = DefinedAdapters[adapterName]\n\t\t\t? Promise.resolve(DefinedAdapters[adapterName])\n\t\t\t: Promise.reject(new Error('Adapter not found.'));\n\n\t\trunTwoCallbacks(getAdapterPromise, callback, errorCallback);\n\n\t\treturn getAdapterPromise;\n\t}\n\n\t/**\n\t * Returns the serializer object containing the serialization\n\t * & deserialization methods.\n\t * @param {function} callback\n\t * @returns {Promise<{serialize: function, deserialize: function}>} a promise for serializer object\n\t */\n\tgetSerializer(callback) {\n\t\tconst serializerPromise = Promise.resolve(serializer);\n\t\trunTwoCallbacks(serializerPromise, callback);\n\t\treturn serializerPromise;\n\t}\n\n\t/**\n\t * Defines adapter for the {@link UnifiedCache} and ensures adapter in compliance\n\t * with the API methods contract.\n\t * @param {object} adapterObject - Adapter object with library methods and properties\n\t * @param {function} callback - success callback\n\t * @param {function} errorCallback - error callback\n\t * @returns {Promise<*>}\n\t */\n\tdefineAdapter(adapterObject, callback, errorCallback) {\n\t\tconst promise = new Promise(function(resolve, reject) {\n\t\t\ttry {\n\t\t\t\tconst adapterName = adapterObject._adapter;\n\t\t\t\tconst complianceError = new Error('Custom adapter not compliant');\n\n\t\t\t\t// Adapter name should be defined and not overlap with the\n\t\t\t\t// library-defined, default adapters.\n\t\t\t\tif (!adapterObject._adapter) {\n\t\t\t\t\treject(complianceError);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst adapterMethods = LibraryMethods.concat('_initStorage');\n\t\t\t\tfor (let i = 0, len = adapterMethods.length; i < len; i++) {\n\t\t\t\t\tconst adapterMethodName = adapterMethods[i];\n\n\t\t\t\t\t// when the property is there,\n\t\t\t\t\t// it should be a method even when optional\n\t\t\t\t\tconst isRequired = !includes(\n\t\t\t\t\t\tOptionalAdapterMethods,\n\t\t\t\t\t\tadapterMethodName\n\t\t\t\t\t);\n\t\t\t\t\tif (\n\t\t\t\t\t\t(isRequired || adapterObject[adapterMethodName]) &&\n\t\t\t\t\t\ttypeof adapterObject[adapterMethodName] !== 'function'\n\t\t\t\t\t) {\n\t\t\t\t\t\treject(complianceError);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst configureMissingMethods = function() {\n\t\t\t\t\tconst methodNotImplementedFactory = function(methodName) {\n\t\t\t\t\t\treturn function() {\n\t\t\t\t\t\t\tconst error = new Error(\n\t\t\t\t\t\t\t\t`Method ${methodName} is not implemented by the current adapter`\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tconst promise = Promise.reject(error);\n\n\t\t\t\t\t\t\trunCallback(promise, arguments[arguments.length - 1]);\n\n\t\t\t\t\t\t\treturn promise;\n\t\t\t\t\t\t};\n\t\t\t\t\t};\n\n\t\t\t\t\tfor (let i = 0, len = OptionalAdapterMethods.length; i < len; i++) {\n\t\t\t\t\t\tconst optionalAdapterMethod = OptionalAdapterMethods[i];\n\t\t\t\t\t\tif (!adapterObject[optionalAdapterMethod]) {\n\t\t\t\t\t\t\tadapterObject[\n\t\t\t\t\t\t\t\toptionalAdapterMethod\n\t\t\t\t\t\t\t] = methodNotImplementedFactory(optionalAdapterMethod);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tconfigureMissingMethods();\n\n\t\t\t\tconst setAdapterSupport = function(support) {\n\t\t\t\t\tif (DefinedAdapters[adapterName]) {\n\t\t\t\t\t\tconsole.info(`Redefining UnifiedCache adapter: ${adapterName}`);\n\t\t\t\t\t}\n\t\t\t\t\tDefinedAdapters[adapterName] = adapterObject;\n\t\t\t\t\tAdapterSupport[adapterName] = support;\n\t\t\t\t\t// don't use a then, so that we can define\n\t\t\t\t\t// adapters that have simple _support methods\n\t\t\t\t\t// in a blocking manner\n\t\t\t\t\tresolve();\n\t\t\t\t};\n\n\t\t\t\tif ('_support' in adapterObject) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tadapterObject._support &&\n\t\t\t\t\t\ttypeof adapterObject._support === 'function'\n\t\t\t\t\t) {\n\t\t\t\t\t\tadapterObject._support().then(setAdapterSupport, reject);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetAdapterSupport(!!adapterObject._support);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tsetAdapterSupport(true);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treject(e);\n\t\t\t}\n\t\t});\n\n\t\trunTwoCallbacks(promise, callback, errorCallback);\n\t\treturn promise;\n\t}\n\n\t/**\n\t * checks for adapter support and returns true if supported, otherwise false\n\t * @param {string} adapterName\n\t * @returns {boolean}\n\t */\n\tsupports(adapterName) {\n\t\treturn !!AdapterSupport[adapterName];\n\t}\n\n\t/**\n\t * ready determine whether the asynchronous adapter\n\t * initialization process has finished.\n\t * @param {function} callback\n\t * @returns {Promise<*>} a promise indicating adapter initialization\n\t */\n\tready(callback) {\n\t\tconst self = this;\n\n\t\t//When cache version check is done, then we can initialize the adapter.\n\t\tconst promise = cacheVersionCheck.then(() => {\n\t\t\treturn self._adapterSet.then(() => {\n\t\t\t\tif (self._ready === null) {\n\t\t\t\t\tself._ready = self._initAdapter();\n\t\t\t\t}\n\n\t\t\t\treturn self._ready;\n\t\t\t});\n\t\t});\n\n\t\trunTwoCallbacks(promise, callback, callback);\n\t\treturn promise;\n\t}\n\n\t/**\n\t * List of supported adapters\n\t * @param {string[]} adapters - list of available adapter names\n\t * @returns {string[]} list of supported adapter names\n\t * @private\n\t */\n\t_getSupportedAdapters(adapters) {\n\t\tconst supportedAdapters = [];\n\t\tfor (let i = 0, len = adapters.length; i < len; i++) {\n\t\t\tconst adapterName = adapters[i];\n\t\t\tif (this.supports(adapterName)) {\n\t\t\t\tsupportedAdapters.push(adapterName);\n\t\t\t}\n\t\t}\n\t\treturn supportedAdapters;\n\t}\n\n\t/**\n\t * extends the instance of unifiedCache with initialized\n\t * adapter API methods and properties\n\t * @param {object} libraryMethodsAndProperties\n\t * @private\n\t */\n\t_extend(libraryMethodsAndProperties) {\n\t\textend(this, libraryMethodsAndProperties);\n\t}\n\n\t/**\n\t * Includes adapter API methods to the UnifiedCache object and replaced\n\t * by the adapter API methods once initialized successfully.\n\t * @private\n\t */\n\t_wrapLibraryMethodsWithReady() {\n\t\t// Add a stub for each adapter API method that delays the call to the\n\t\t// corresponding adapter method until UnifiedCache is ready. These stubs\n\t\t// will be replaced by the adapter methods as soon as the adapter is\n\t\t// loaded, so there is no performance impact.\n\t\tfor (let i = 0, len = LibraryMethods.length; i < len; i++) {\n\t\t\tcallWhenReady(this, LibraryMethods[i]);\n\t\t}\n\t}\n\n\t/**\n\t * creates an instance of {@link UnifiedCache} and returns it.\n\t * @param {{adapter: string[], name: string, description: string, storeName: string}} options - configuration options\n\t * @returns {UnifiedCache} an instance of {@link UnifiedCache}\n\t */\n\tcreateInstance(options) {\n\t\treturn new UnifiedCache(options);\n\t}\n}\n\n/**\n * The actual UnifiedCache object that we expose as a module or via a global.\n * It's extended by pulling in one of our other libraries.\n * @type {UnifiedCache} unifiedCache object\n */\nconst unifiedCache = new UnifiedCache();\n\n// Add cache stats to window.ux_globals\nsetGlobalCacheStats({\n\tgetAggregateCacheStats: UnifiedCache.getAggregateCacheStats,\n\tgetAllCacheStats: UnifiedCache.getAllCacheStats\n});\n\nexport default unifiedCache;\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {actionTypes, modifierTypes} from '@servicenow/ui-core';\nimport {layerEvents} from '@servicenow/library-enhanced-utils';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport modalBehavior from '@servicenow/behavior-modal';\nimport resizeBehavior from '@servicenow/behavior-resize';\nimport resizableBehavior from '@servicenow/behavior-resizable';\nimport styles from './_now-modeless-dialog.scss';\nimport {t} from 'sn-translate';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-button';\nimport '@servicenow/now-icon';\n\nimport {\n\tDRAG_BUTTON_DEFAULT_TOOLTIP_MSG,\n\tVALID_DRAG_DIRECTIONS,\n\tDRAG_ENABLED_TOOLTIP_MSG,\n} from './utils/constants';\nimport {getKeyToDirection, getPanelCurrentPosition} from './utils/helper';\nimport {\n\tannounceDirectionalDrag,\n\tannounceOriginalPosition,\n\tdragMovementTooltip,\n\tannounceDragEnd,\n\tannounceDragEnabled,\n\tannounceDragFocus,\n\tannouncePosition,\n} from './utils/voiceover';\n\nconst {\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_DOM_TREE_READY,\n} = actionTypes;\n\nconst DEFAULT_MOVE_STEP = 1;\nconst SHIFT_MOVE_STEP = 10;\nlet VIEWPORT_WIDTH, VIEWPORT_HEIGHT;\n\nconst COMPONENT_RESIZED = 'NOW_RESIZE#ELEMENT_RESIZED';\n\nconst getMoveDistance = (isShiftKeyPressed) => {\n\treturn isShiftKeyPressed ? SHIFT_MOVE_STEP : DEFAULT_MOVE_STEP;\n};\nconst movePanel = (\n\tkey,\n\tisShiftKeyPressed,\n\tpanel,\n\tdispatch,\n\tstate,\n\tupdateState,\n) => {\n\tif (!panel) return;\n\n\tconst elementRect = panel?.getBoundingClientRect();\n\tconst moveDistance = getMoveDistance(isShiftKeyPressed);\n\tconst {panelPositionAtDragStart} = state;\n\n\tlet newTop = elementRect?.top;\n\tlet newLeft = elementRect?.left;\n\tconst elementWidth = elementRect?.width;\n\tconst elementHeight = elementRect?.height;\n\n\tlet directionalBoundary = '';\n\tif (key === 'ArrowUp' && newTop - moveDistance > 0) {\n\t\tnewTop -= moveDistance;\n\t} else if (\n\t\tkey === 'ArrowDown' &&\n\t\tnewTop + elementHeight + moveDistance < VIEWPORT_HEIGHT\n\t) {\n\t\tnewTop += moveDistance;\n\t} else if (key === 'ArrowLeft' && newLeft - moveDistance > 0) {\n\t\tnewLeft -= moveDistance;\n\t} else if (\n\t\tkey === 'ArrowRight' &&\n\t\tnewLeft + elementWidth + moveDistance < VIEWPORT_WIDTH\n\t) {\n\t\tnewLeft += moveDistance;\n\t} else if (key === 'PageUp') {\n\t\tnewTop = 0;\n\t} else if (key === 'PageDown') {\n\t\tnewTop = VIEWPORT_HEIGHT - elementHeight;\n\t} else if (key === 'Home') {\n\t\tnewLeft = 0;\n\t} else if (key === 'End') {\n\t\tnewLeft = VIEWPORT_WIDTH - elementWidth;\n\t} else {\n\t\tdirectionalBoundary = getKeyToDirection(key);\n\t}\n\n\tconst xOffset = Math.floor(newLeft - panelPositionAtDragStart.left);\n\tconst yOffset = Math.floor(panelPositionAtDragStart.top - newTop);\n\tconst dragMovementMessage = dragMovementTooltip(xOffset, yOffset);\n\tconst dragButtonTooltipMessage = `(${dragMovementMessage})`;\n\n\tlet pixels;\n\tlet direction = key.replace(/(Page|Arrow)/, '').toLowerCase();\n\n\t// handle direction determination for meta / function keys that component care\n\tif (key === 'Home') {\n\t\tdirection = 'left';\n\t} else if (key === 'End') {\n\t\tdirection = 'right';\n\t}\n\n\tpixels = direction === 'up' || direction === 'down' ? yOffset : xOffset;\n\n\t// key pressed is one of the valid direction key\n\tif (VALID_DRAG_DIRECTIONS.includes(direction)) {\n\t\t// ensuring there is offset for position announcement\n\t\tif (xOffset !== 0 || yOffset !== 0) {\n\t\t\tannounceDirectionalDrag(dispatch, pixels, direction, directionalBoundary);\n\t\t\tannouncePosition(dispatch, dragMovementMessage);\n\t\t} else {\n\t\t\tannounceOriginalPosition(dispatch);\n\t\t}\n\t}\n\n\tupdateState({\n\t\tpath: 'dragButtonTooltipMessage',\n\t\tvalue: dragButtonTooltipMessage,\n\t\toperation: 'set',\n\t\tshouldRender: true,\n\t});\n\t// update panel styles only if panel has not reached any edge / boundary of viewport\n\tif (directionalBoundary === '') {\n\t\tpanel.style.left = `${newLeft}px`;\n\t\tpanel.style.top = `${newTop}px`;\n\t\tpanel.style.position = 'fixed';\n\t\tpanel.style.zIndex = '4000';\n\t\tpanel.style.margin = '0';\n\t}\n};\nconst getComputedDimension = (styles, property) => {\n\treturn Math.floor(\n\t\tparseFloat(styles.getPropertyValue(property).replace('px', '')),\n\t);\n};\n\nconst getMaximizedButtonConfigAria = (fullscreen) => {\n\tif (fullscreen) {\n\t\treturn {\n\t\t\tbutton: {\n\t\t\t\t'aria-label': t('Maximize dialog'),\n\t\t\t\t'aria-pressed': 'true',\n\t\t\t},\n\t\t};\n\t}\n\treturn {\n\t\tbutton: {\n\t\t\t'aria-label': t('Maximize dialog'),\n\t\t\t'aria-pressed': 'false',\n\t\t},\n\t};\n};\n\nconst getPanelPayload = ({event, styles, panel}) => {\n\tconst {left, top, x: clientX, y: clientY} = panel.getBoundingClientRect();\n\n\treturn {\n\t\tpositions: {\n\t\t\tmouse: {\n\t\t\t\tX: Math.floor(event?.clientX ?? clientX),\n\t\t\t\tY: Math.floor(event?.clientY ?? clientY),\n\t\t\t},\n\t\t\toffset: {\n\t\t\t\tleft: Math.floor(left),\n\t\t\t\ttop: Math.floor(top),\n\t\t\t},\n\t\t},\n\t\tdimensions: {\n\t\t\twidth: getComputedDimension(styles, 'width'),\n\t\t\theight: getComputedDimension(styles, 'height'),\n\t\t},\n\t};\n};\n\nconst setHeaderSlotsState = (host, updateState) => {\n\tconst hasHeaderSlots =\n\t\tBoolean(host.querySelector(\":scope > [slot='heading']\")) ||\n\t\tBoolean(host.querySelector(\":scope > [slot='actions']\"));\n\tupdateState({hasHeaderSlots});\n};\n\nconst generatePayload = (fullscreen, panelPayload, panel) => {\n\tconst styles = getComputedStyle(panel);\n\tconst payload = panelPayload ?? getPanelPayload({styles, panel});\n\treturn {...payload, fullscreen};\n};\n\nconst addDialogToStack = (\n\tid,\n\tdispatch,\n\tfullscreen,\n\tpanelPayload,\n\tpanel,\n\thost,\n) => {\n\tlayerEvents.add({\n\t\tid,\n\t\tevents: ['keydown'],\n\t\tcallback: (event) => {\n\t\t\tif (event.key !== 'Escape') return;\n\t\t\tpanel = panel ?? host?.shadowRoot?.querySelector('.now-modeless-dialog');\n\t\t\tif (panel) {\n\t\t\t\tdispatch(\n\t\t\t\t\t'NOW_MODELESS_DIALOG#CLOSE',\n\t\t\t\t\tgeneratePayload(fullscreen, panelPayload, panel),\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tdispatch(() => {\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'NOW_MODELESS_DIALOG#OPENED_SET',\n\t\t\t\t\tpayload: {value: false},\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\t});\n};\n\nconst getPositionOffsetStyles = (offset, position) => {\n\tif (\n\t\t!Array.isArray(offset) ||\n\t\toffset.length != 2 ||\n\t\ttypeof offset?.[0] != 'number' ||\n\t\ttypeof offset?.[1] != 'number' ||\n\t\toffset?.[0] < 0 ||\n\t\toffset?.[1] < 0\n\t)\n\t\t//offset must be an array with length 2, each value must be a number >= 0\n\t\toffset = [0, 0]; //reset to default if offset is invalid\n\tswitch (position) {\n\t\tcase 'top-left':\n\t\t\treturn {\n\t\t\t\tposition: 'fixed',\n\t\t\t\tinsetInlineStart: `${offset[0]}px`,\n\t\t\t\tinsetBlockStart: `${offset[1]}px`,\n\t\t\t};\n\t\tcase 'top-right':\n\t\t\treturn {\n\t\t\t\tposition: 'fixed',\n\t\t\t\tinsetInlineEnd: `${offset[0]}px`,\n\t\t\t\tinsetBlockStart: `${offset[1]}px`,\n\t\t\t};\n\t\tcase 'centered':\n\t\t\treturn {\n\t\t\t\tposition: 'fixed',\n\t\t\t\tinset: '0',\n\t\t\t\tmargin: 'auto',\n\t\t\t};\n\t\tcase 'bottom-left':\n\t\t\treturn {\n\t\t\t\tposition: 'fixed',\n\t\t\t\tinsetInlineStart: `${offset[0]}px`,\n\t\t\t\tinsetBlockEnd: `${offset[1]}px`,\n\t\t\t};\n\t\tcase 'bottom-right':\n\t\t\treturn {\n\t\t\t\tposition: 'fixed',\n\t\t\t\tinsetInlineEnd: `${offset[0]}px`,\n\t\t\t\tinsetBlockEnd: `${offset[1]}px`,\n\t\t\t};\n\t\tdefault: //unset\n\t\t\treturn undefined;\n\t}\n};\n\nconst getSizeStyles = (height, width) => {\n\treturn {height: `${height}px`, width: `${width}px`};\n};\nconst mouseDrag = (args) => {\n\tconst {panel, payload, enableDrag, dispatch} = args;\n\tlet raf;\n\tif (!enableDrag) return;\n\tconst handleMouseMove = (event) => {\n\t\tevent.preventDefault();\n\n\t\tif (raf) cancelAnimationFrame(raf);\n\t\traf = requestAnimationFrame(() => {\n\t\t\tconst {\n\t\t\t\tpositions: {offset, mouse},\n\t\t\t\tdimensions,\n\t\t\t} = payload;\n\t\t\tconst xPosition = mouse.X - offset.left;\n\t\t\tconst yPosition = mouse.Y - offset.top;\n\n\t\t\t// Calculate the new position of the dialog based on the mouse movement\n\t\t\tconst offsetX = event.clientX - xPosition;\n\t\t\tconst offsetY = event.clientY - yPosition;\n\n\t\t\t// Ensure the element stays within the viewport boundaries\n\n\t\t\tpanel.style.left = `${Math.min(\n\t\t\t\tMath.max(offsetX, 0),\n\t\t\t\tVIEWPORT_WIDTH - dimensions.width,\n\t\t\t)}px`;\n\t\t\tpanel.style.top = `${Math.min(\n\t\t\t\tMath.max(offsetY, 0),\n\t\t\t\tVIEWPORT_HEIGHT - dimensions.height,\n\t\t\t)}px`;\n\t\t\tpanel.style.position = 'fixed';\n\t\t\tpanel.style.zIndex = '4000';\n\t\t\tpanel.style.margin = '0';\n\t\t});\n\t};\n\tconst unregisterMouseMove = (event) => {\n\t\tconst styles = getComputedStyle(panel);\n\t\tconst updatedPayload = getPanelPayload({event, styles, panel});\n\t\tif (!raf) dispatch('NOW_MODELESS_DIALOG#MOUSEUP', updatedPayload);\n\t\tdocument.removeEventListener('mousemove', handleMouseMove);\n\n\t\t// breaking mouse move can happen 2 different ways, so try to clean up both\n\t\tswitch (event.type) {\n\t\t\tcase 'mouseup':\n\t\t\t\tdispatch('NOW_MODELESS_DIALOG#MOUSEUP', updatedPayload);\n\t\t\t\treturn document.removeEventListener('mouseup', unregisterMouseMove);\n\t\t\tcase 'contextmenu':\n\t\t\t\treturn document.removeEventListener('contextmenu', unregisterMouseMove);\n\t\t}\n\t};\n\tdocument.addEventListener('mousemove', handleMouseMove);\n\tdocument.addEventListener('mouseup', unregisterMouseMove, {once: true});\n\tdocument.addEventListener('contextmenu', unregisterMouseMove, {once: true});\n};\n\nconst renderHeading = (headingLabel, headingIcon, size) => {\n\tconst iconSize = {sm: 'md', md: 'lg'};\n\tconst {icon, variant} = headingIcon;\n\tif (icon) {\n\t\treturn (\n\t\t\t<div className=\"now-modeless-dialog-heading-container\">\n\t\t\t\t<now-icon\n\t\t\t\t\ticon={icon}\n\t\t\t\t\tsize={iconSize[size]}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'now-modeless-dialog-heading-icon': true,\n\t\t\t\t\t\t['-' + variant]: variant,\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t<h2 className=\"now-modeless-dialog-heading\">{headingLabel}</h2>\n\t\t\t</div>\n\t\t);\n\t} else {\n\t\treturn <h2 className=\"now-modeless-dialog-heading\">{headingLabel}</h2>;\n\t}\n};\n\nconst view = (state, {dispatch}) => {\n\tconst {\n\t\topened,\n\t\tcanDrag,\n\t\tenableDrag,\n\t\tposition,\n\t\toffset,\n\t\theight,\n\t\twidth,\n\t\theadingLabel,\n\t\theadingIcon,\n\t\tcanMaximize,\n\t\tcanMinimize,\n\t\tcanClose,\n\t\tvariant,\n\t\tsize,\n\t} = state.properties;\n\n\tconst {\n\t\thasHeaderSlots,\n\t\tfullscreen,\n\t\tstartKeyboardDrag,\n\t\tdragButtonTooltipMessage,\n\t} = state;\n\n\tconst hasConfiguredContent =\n\t\tcanClose || canMaximize || canMinimize || headingLabel || enableDrag;\n\n\tconst buttonSize = {sm: 'md', md: 'lg'};\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'now-modeless-dialog': true,\n\t\t\t\t'is-open': opened,\n\t\t\t\t'is-fullscreen': fullscreen,\n\t\t\t\t'can-drag': enableDrag,\n\t\t\t}}\n\t\t\trole=\"dialog\"\n\t\t\ttabindex=\"-1\"\n\t\t\tdraggable={enableDrag ? 'true' : 'false'}\n\t\t\taria-hidden={opened ? 'false' : 'true'}\n\t\t\taria-labelledby={\n\t\t\t\thasHeaderSlots ? 'now-modeless-dialog-heading' : undefined\n\t\t\t}\n\t\t\tstyle={{\n\t\t\t\t...getPositionOffsetStyles(offset, position),\n\t\t\t\t...getSizeStyles(height, width),\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'now-modeless-dialog-header': true,\n\t\t\t\t\t'can-drag': canDrag || enableDrag,\n\t\t\t\t\t'-border-block-end': hasHeaderSlots || hasConfiguredContent,\n\t\t\t\t\t['-' + variant]: variant,\n\t\t\t\t\t['-' + size]: size,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{hasConfiguredContent ? (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'now-modeless-dialog-header-container': true,\n\t\t\t\t\t\t\t['-' + size]: size,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{renderHeading(headingLabel, headingIcon, size)}\n\t\t\t\t\t\t<div className=\"now-modeless-dialog-header-actions\">\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\tname=\"actions\"\n\t\t\t\t\t\t\t\tclassName=\"now-modeless-dialog-action-slot\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{canMinimize && (\n\t\t\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\t\t\tclassName=\"now-modeless-dialog-action-button-iconic\"\n\t\t\t\t\t\t\t\t\ticon=\"minimize-fill\"\n\t\t\t\t\t\t\t\t\tsize={buttonSize[size]}\n\t\t\t\t\t\t\t\t\thide-padding\n\t\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\ttooltip-content={t('Minimize dialog')}\n\t\t\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t\t\t\t\t'aria-label': t('Minimize dialog'),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tappend-to-meta={{minimize: true}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{canMaximize && (\n\t\t\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\t\t\tclassName=\"now-modeless-dialog-action-button-iconic\"\n\t\t\t\t\t\t\t\t\ticon={fullscreen ? 'collapse-fill' : 'expand-fill'}\n\t\t\t\t\t\t\t\t\tsize={buttonSize[size]}\n\t\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\t\thide-padding\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\ttooltip-content={\n\t\t\t\t\t\t\t\t\t\tfullscreen ? t('Exit Maximize') : t('Maximize dialog')\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tconfig-aria={getMaximizedButtonConfigAria(fullscreen)}\n\t\t\t\t\t\t\t\t\tappend-to-meta={{maximize: true}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{canClose && (\n\t\t\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\t\t\tclassName=\"now-modeless-dialog-action-button-iconic\"\n\t\t\t\t\t\t\t\t\ticon=\"close-fill\"\n\t\t\t\t\t\t\t\t\tsize={buttonSize[size]}\n\t\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\t\thide-padding\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\ttooltip-content={t('Close dialog')}\n\t\t\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t\t\t\t\t'aria-label': t('Close dialog'),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tappend-to-meta={{close: true}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<slot name=\"heading\" id=\"now-modeless-dialog-heading\" />\n\t\t\t\t\t\t<slot name=\"actions\" className=\"now-modeless-dialog-action-slot\" />\n\t\t\t\t\t</Fragment>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t<div className=\"now-modeless-dialog-content\">\n\t\t\t\t<slot name=\"content\" />\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'now-modeless-dialog-footer': true,\n\t\t\t\t\t'can-drag': canDrag || enableDrag,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<slot name=\"footer\" />\n\t\t\t</div>\n\t\t\t{hasConfiguredContent && enableDrag && (\n\t\t\t\t<now-button-stateful\n\t\t\t\t\tclass={{'now-modeless-dialog-drag-button': true, ['-' + size]: size}}\n\t\t\t\t\ticon=\"grid-vertical-outline\"\n\t\t\t\t\tsize={buttonSize[size]}\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\thide-padding\n\t\t\t\t\tbare\n\t\t\t\t\tmanage-selected\n\t\t\t\t\thighlighted={startKeyboardDrag}\n\t\t\t\t\tselected={startKeyboardDrag}\n\t\t\t\t\ttooltip-content={dragButtonTooltipMessage}\n\t\t\t\t\tappend-to-meta={{drag: true}}\n\t\t\t\t\ton-focus={() => headingLabel && dispatch('PRIVATE#DRAG_FOCUS')}\n\t\t\t\t\ton-blur={() => dispatch('PRIVATE#DRAG_BLUR')}\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t'aria-label': t('Dialog drag'),\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\n/**\n * A modeless dialog element to be placed fixed on a page.\n * It has several slots to provide a wide range of customization\n * of its header, actions, content and footer.\n *\n * To fully utilize this component, you will need:\n * 1. A way to track the `opened` state of the dialog. E.g., an enclosing component.\n * 2. DIVs around the trigger and `now-modeless-dialog` element for fixed positioning.\n * 3. Styles to position the dialog within the wrapping DIVs.\n *\n * Example view, with wrappers and state:\n *\n * ```jsx\n * // sn-modeless-dialog.js\n *\n * <div className=\"sn-modeless-dialog-overlay\">\n * \t<div className=\"sn-modeless-dialog-position-container\">\n * \t\t<now-button-circular\n *\t\t\tclassName=\"sn-modeless-dialog-trigger\"\n *\t\t\tconfig-aria={{'aria-label': \"Open dialog\"}}\n *\t\t\ticon=\"chat-fill\"\n *\t\t\ttooltip-content=\"Open dialog\"\n *\t\t\taria-expanded={state.opened ? 'true' : 'false'}\n *\t\t\ton-click={() => updateState({open: !state.opened})}\n *\t\t/>\n * \t\t<now-modeless-dialog can-drag opened={state.opened}>\n * \t\t\t<h3 slot=\"heading\">\n *\t\t\t\t<!-- heading content -->\n *\t\t\t</h3>\n *\t\t\t<div slot=\"actions\">\n *\t\t\t\t<!-- buttons handle close, minimize, make full screen, etc -->\n *\t\t\t</div>\n *\t\t\t<div slot=\"content\">\n *\t\t\t\t<!-- body content -->\n *\t\t\t</div>\n *\t\t\t<div slot=\"footer\">\n *\t\t\t\t<!-- footer for actions, metadata, etc -->\n *\t\t\t</div>\n * \t\t</now-modeless-dialog>\n * \t</div>\n * </div>\n * ```\n *\n * Example styles for positioning:\n *\n * ```scss\n * .sn-modeless-dialog-overlay {\n * \tposition: fixed;\n * \ttop: 0;\n * \tright: 0;\n * \tbottom: 0;\n * \tleft: 0;\n * \tz-index: $now-global-layer--notify;\n * \tpointer-events: none;\n * }\n *\n * .sn-modeless-dialog-position-container {\n * \tposition: absolute;\n * \ttop: 0;\n * \tright: 0;\n * \twidth: 380px;\n * \theight: auto;\n * \tmargin: 20px;\n * \tpointer-events: none;\n * }\n * ```\n *\n * Additionally, you can add `overflow-y: auto;` to the content slot\n * element to allow its content to be scrollable.\n *\n * @seismicElement now-modeless-dialog\n * @summary A non-modal dialog element.\n * @uib.label Modeless Dialog\n * @uib.icon modeless-dialog\n * @uib.description A non-modal dialog element.\n * @uib.category modeless_dialog\n * @uib.associatedTypes global.core\n * @uib.properties variant, size, width, height, position, offset, opened, enableDrag, canClose, canMinimize, canMaximize, headingLabel, headingIcon, resizableConfig\n * @uib.actions NOW_MODELESS_DIALOG#OPENED_SET, NOW_MODELESS_DIALOG#MOUSEDOWN, NOW_MODELESS_DIALOG#CLOSE, NOW_MODELESS_DIALOG#MINIMIZE, NOW_MODELESS_DIALOG#MAXIMIZE, NOW_MODELESS_DIALOG#MOUSEUP\n */\ncreateEnhancedElement('now-modeless-dialog', {\n\tproperties: {\n\t\t/**\n\t\t * Deprecated, use `enableDrag`. If enabled, mousedown events\n\t\t * on the header and/or footer (if slots are given) will dispatch the\n\t\t * `NOW_MODELESS_DIALOG#MOUSEDOWN` action.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tcanDrag: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * Indicates if the component is currently opened. Use `manage-opened` to override\n\t\t * the default behavior and handle the `NOW_MODELESS_DIALOG#OPENED_SET` action manually.\n\t\t * @type {boolean}\n\t\t * @uib.description If true, the dialog is opened.\n\t\t * @uib.label Opened\n\t\t */\n\t\topened: {\n\t\t\tdefault: false,\n\t\t\tmanageable: true,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * Initial height in pixels of the dialog window\n\t\t * @type {number}\n\t\t * @uib.label Height\n\t\t * @uib.description Initial height of the dialog window\n\t\t */\n\t\theight: {\n\t\t\tdefault: 600,\n\t\t\tschema: {type: 'number'},\n\t\t},\n\t\t/**\n\t\t * Initial width in pixels of the dialog window\n\t\t * @type {number}\n\t\t * @uib.label Width\n\t\t * @uib.description Initial width of the dialog window\n\t\t */\n\t\twidth: {\n\t\t\tdefault: 380,\n\t\t\tschema: {type: 'number'},\n\t\t},\n\t\t/**\n\t\t * Indicates if both the `opened` property and `state.fullscreen`\n\t\t * both true.\n\t\t * @private\n\t\t */\n\t\tsmallModalOpened: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tisSmallModal: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * An object representing the configuration for the resizable behavior.\n\t\t * Accepted values:\n\t\t * - enableResizable : @type {boolean} When true, resize handles will be shown on the borders of the modal to support resizing.\n\t\t * - resizableMaxHeight : @type {number} Maximum height in pixels that the target element can be resized to. Default value is window's height.\n\t\t * - resizableMaxWidth : @type {number} Maximum width in pixels that the target element can be resized to. Default value is window's width\n\t\t * - resizableMinHeight : @type {number} Minimum height in pixels that the modal can be resized to. Default value is 600px.\n\t\t * - resizableMinWidth : @type {number} Minimum width in pixels that the modal can be resized to. Default value is 380px.\n\t\t * - context: @type {string} Defines how the resizable element exists on the page and within the document flow.\n\t\t *\n\t\t * Context defines how the elements exists on the document.\n\t\t * Accepted values:\n\t\t * - normal, standard document flow. The element resides in the normal normal block or inline context and effects the surrounding elements.\n\t\t * - fixed, detached from the document flow. The element resides on top of the document, but its position over the document is maintained. (IE modal)\n\t\t * - float, detached from the document flow. The element resides on top of the document, but its position changes based off the resize directions (IE modeless-dialog)\n\t\t *\n\t\t * @type {{ enableResizable: boolean, resizableMinWidth: integer, resizableMinHeight: integer, resizableMaxWidth: integer, resizableMaxHeight: integer, context: ('normal' | 'fixed' | 'float') }}\n\t\t * @uib.label Resizable Config\n\t\t * @uib.description A. An object representing the configuration for the resizable behavior.\n\t\t * @uib.defaultValue {\"enableResizable\":true,\"resizableMinWidth\":380,\"resizableMinHeight\":600,\"resizableMaxWidth\":null,\"resizableMaxHeight\":null,\"context\":\"normal\"}\n\t\t */\n\t\tresizableConfig: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tenableResizable: {type: 'boolean'},\n\t\t\t\t\tresizableMinWidth: {type: 'number'},\n\t\t\t\t\tresizableMinHeight: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t},\n\t\t\t\t\tresizableMaxWidth: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t},\n\t\t\t\t\tresizableMaxHeight: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t},\n\t\t\t\t\tcontext: {\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tenum: ['normal', 'fixed', 'float'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * A string representing the position of the modeless dialog.\n\t\t * Accepted values:\n\t\t * - top-left : @type {string} Top left position that the dialog will be positioned to.\n\t\t * - top-right : @type {string} Top right position that the dialog will be positioned to.\n\t\t * - centered : @type {string} Centered position that the dialog will be positioned to.\n\t\t * - bottom-right : @type {string} Bottom right position that the dialog will be positioned to.\n\t\t * - bottom-left: @type {string} Bottom left position that the dialog will be positioned to.\n\t\t * @type {( 'top-left'|'top-right'|'centered'|'bottom-right'|'bottom-left' )}\n\t\t * @uib.label Position\n\t\t * @uib.description A string representing the position of the modeless dialog.\n\t\t * @uib.defaultValue unset\n\t\t * @uib.fieldType choice\n\t\t */\n\t\tposition: {\n\t\t\tdefault: 'unset',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'unset',\n\t\t\t\t\t'top-left',\n\t\t\t\t\t'top-right',\n\t\t\t\t\t'centered',\n\t\t\t\t\t'bottom-right',\n\t\t\t\t\t'bottom-left',\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Number of pixels to shift the modeless dialog.\n\t\t * The first value is the horizontal offset and the second value is the vertical offset.\n\t\t * The offset values must be greater than or equal to 0.\n\t\t * The offset is relative to the position of the dialog and moves the dialog towards the center of the screen.\n\t\t * The offset property is only used when the position property is set to top-left, top-right, bottom-left, or bottom-right.\n\t\t * @type {Array<number>}\n\t\t * @uib.label Offset\n\t\t * @uib.description Array or number of pixels to shift the modeless dialog.\n\t\t * @uib.defaultValue [0,0]\n\t\t * @uib.fieldType array\n\t\t *\n\t\t */\n\t\toffset: {\n\t\t\tdefault: [0, 0],\n\t\t\tschema: {type: 'array', items: {type: 'integer'}},\n\t\t},\n\t\t/** When true, enables the dragging of the dialog by clicking on the header or footer (if slots are given). Dispatches the NOW_MODELESS_DIALOG#MOUSEDOWN and NOW_MODELESS_DIALOG#MOUSEUP actions.\n\t\t * @type {boolean}\n\t\t * @uib.label Enable Drag\n\t\t * @uib.description When true, enables the dragging of the dialog by clicking on the header or footer (if slots are given). Dispatches the NOW_MODELESS_DIALOG#MOUSEDOWN and NOW_MODELESS_DIALOG#MOUSEUP actions.\n\t\t * @uib.defaultValue false\n\t\t */\n\t\tenableDrag: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/** Heading for the modeless dialog. If provided, it will overwrite the heading slot.\n\t\t * @type {string}\n\t\t * @uib.label Heading\n\t\t * @uib.description Heading for the modeless dialog. If provided, it will overwrite the heading slot.\n\t\t */\n\t\theadingLabel: {\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\t/** Icon which will appear next to the modeless dialog `headingLabel`. Can also have a variant applied.\n\t\t * @type {{ icon: string, variant: ('initial' | 'primary' | 'secondary') }}\n\t\t * @uib.label Heading Icon\n\t\t * @uib.description Icon which will appear next to the Heading Label for the modeless dialog.\n\t\t */\n\t\theadingIcon: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\ticon: {\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t},\n\t\t\t\t\tvariant: {\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tenum: ['initial', 'primary', 'secondary'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/** When true, enables the maximize button. Dispatches NOW_MODELESS_DIALOG#MAXIMIZE.\n\t\t * @type {boolean}\n\t\t * @uib.label Show Maximize\n\t\t * @uib.description When true, enables the maximize button. Dispatches NOW_MODELESS_DIALOG#MAXIMIZE.\n\t\t * @uib.defaultValue false\n\t\t */\n\t\tcanMaximize: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/** When true, enables the minimize button. Dispatches NOW_MODELESS_DIALOG#MINIMIZE.\n\t\t * @type {boolean}\n\t\t * @uib.label Show Minimize\n\t\t * @uib.description When true, enables the minimize button. Dispatches NOW_MODELESS_DIALOG#MINIMIZE.\n\t\t * @uib.defaultValue false\n\t\t */\n\t\tcanMinimize: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/** When true, enables the close button. Dispatches NOW_MODELESS_DIALOG#CLOSE.\n\t\t * @type {boolean}\n\t\t * @uib.label Show Close\n\t\t * @uib.description When true, enables the close button. Dispatches NOW_MODELESS_DIALOG#CLOSE.\n\t\t * @uib.defaultValue false\n\t\t */\n\t\tcanClose: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * Sets the header content styles.\n\t\t * @type {('initial'|'primary'|'secondary')}\n\t\t * @uib.label Variant\n\t\t * @uib.description Sets the header content styles.\n\t\t */\n\t\tvariant: {\n\t\t\tdefault: 'initial',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['initial', 'primary', 'secondary'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Sets the header content size.\n\t\t * @type {('sm'|'md')}\n\t\t * @uib.label Size\n\t\t * @uib.description Sets the header content size.\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['sm', 'md'],\n\t\t\t},\n\t\t},\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot to add heading content to the top of the dialog.\n\t\t * Use padding utility classes to add spacing.\n\t\t */\n\t\theading: {},\n\t\t/**\n\t\t * Slot to add dialog controls to close, minimize, or expand.\n\t\t * Use padding utility classes to add spacing.\n\t\t */\n\t\tactions: {},\n\t\t/**\n\t\t * Slot to add body content to the dialog.\n\t\t * Use padding utility classes to add spacing.\n\t\t */\n\t\tcontent: {},\n\t\t/**\n\t\t * Slot to add footer content, such as a toolbar or text input, to the dialog.\n\t\t * Use padding utility classes to add spacing.\n\t\t */\n\t\tfooter: {},\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the header or footer areas are clicked (assuming slots are\n\t\t * present) while the `can-drag` or `enable-drag` property is present.\n\t\t * @type {{positions: {mouse: {X: number, Y: number}, offset: {left: number, top: number}}, dimensions: {width: number, height: number}}}\n\t\t * @uib.description Dispatched when the header or footer areas are clicked (assuimng slots are presents) while the can-drag or enable-drag property is present.\n\t\t */\n\t\t'NOW_MODELESS_DIALOG#MOUSEDOWN': {},\n\t\t/**\n\t\t * Dispatched when the mouse key is released in header or footer areas (assuming slots are\n\t\t * present) while the `enable-drag` property is present.\n\t\t * @type {{positions: {mouse: {X: number, Y: number}, offset: {left: number, top: number}}, dimensions: {width: number, height: number}}}\n\t\t * @uib.description Dispatched when the mouse key is released in header or footer areas (assuimng slots are presents) while the enable-drag property is present.\n\t\t */\n\n\t\t'NOW_MODELESS_DIALOG#MOUSEUP': {},\n\t\t/**\n\t\t * Dispatched when the modal is dismissed by the user pressing the `Escape`\n\t\t * key while the modal is opened. Set the `manage-opened` property to\n\t\t * override the default behavior and handle this action manually.\n\t\t * @type {{value: boolean}}\n\t\t * @uib.description Dispatched when the modal is dismissed by the user pressing the Escape\n\t\t */\n\t\t'NOW_MODELESS_DIALOG#OPENED_SET': {},\n\t\t/**\n\t\t * Dispatched when close button is clicked (assuming `can-close` property is present). Sets the opened property of modeless dialog to false. Set the `manage-opened` property to\n\t\t * override the default behavior.\n\t\t * @type {{positions: {mouse: {X: number, Y: number}, offset: {left: number, top: number}}, dimensions: {width: number, height: number},fullscreen:boolean}}\n\t\t * @uib.description Dispatched when close button is clicked (assuming can-close property is present). Sets the opened property of modeless dialog to false. Set the manage-opened property to\n\t\t * override the default behavior.\n\t\t */\n\t\t'NOW_MODELESS_DIALOG#CLOSE': {},\n\t\t/**\n\t\t * Dispatched when maximized button is clicked (assuming `can-maximize` property is present). Sets modeless dialog to fullscreen mode\n\t\t * @type {{positions: {mouse: {X: number, Y: number}, offset: {left: number, top: number}}, dimensions: {width: number, height: number},fullscreen:boolean}}\n\t\t * @uib.description Dispatched when maximized button is clicked (assuming can-maximize property is present). Sets modeless dialog to fullscreen mode\n\t\t */\n\t\t'NOW_MODELESS_DIALOG#MAXIMIZE': {},\n\t\t/**\n\t\t * Dispatched when minimize button is clicked (assuming `can-minimize` property is present). Sets the opened property of modeless dialog to false. Set the `manage-opened` property to\n\t\t * override the default behavior.\n\t\t * @type {{positions: {mouse: {X: number, Y: number}, offset: {left: number, top: number}}, dimensions: {width: number, height: number},fullscreen:boolean}}\n\t\t * @uib.description Dispatched when minimize button is clicked (assuming can-minimize property is present). Sets the opened property of modeless dialog to false. Set the manage-opened property to\n\t\t * override the default behavior.\n\t\t */\n\t\t'NOW_MODELESS_DIALOG#MINIMIZE': {},\n\t},\n\tinitialState: {\n\t\ttriggerEl: null,\n\t\thasHeaderSlots: false,\n\t\tfullscreen: false,\n\t\tdragButtonTooltipMessage: DRAG_BUTTON_DEFAULT_TOOLTIP_MSG,\n\t\tpanelPositionAtDragStart: {top: 0, left: 0},\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t},\n\t\t{\n\t\t\tbehavior: modalBehavior,\n\t\t\toptions: {\n\t\t\t\tlimit: 'now-modeless-dialog',\n\t\t\t\twatchPropertyName: 'smallModalOpened',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbehavior: resizeBehavior,\n\t\t\toptions: {timer: {type: 'debounce', wait: 200}},\n\t\t},\n\t\t{\n\t\t\tbehavior: resizableBehavior,\n\t\t\toptions: {\n\t\t\t\tresizeTarget: '.now-modeless-dialog',\n\t\t\t\tgetResizableConfig: ({properties}) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tresizableMinWidth: properties.width,\n\t\t\t\t\t\tresizableMinHeight: properties.height,\n\t\t\t\t\t\tcontext: 'normal',\n\t\t\t\t\t\t...properties.resizableConfig,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t],\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['resize'],\n\t\t\teffect({dispatch}) {\n\t\t\t\tVIEWPORT_WIDTH = document.documentElement.clientWidth;\n\t\t\t\tVIEWPORT_HEIGHT = document.documentElement.clientHeight;\n\t\t\t\tdispatch('PRIVATE#CHECK_FIT');\n\t\t\t},\n\t\t\ttarget: window,\n\t\t},\n\t\t{\n\t\t\tevents: ['mousedown'],\n\t\t\teffect({\n\t\t\t\thost,\n\t\t\t\tdispatch,\n\t\t\t\tproperties: {canDrag, enableDrag},\n\t\t\t\taction,\n\t\t\t\tupdateState,\n\t\t\t}) {\n\t\t\t\tif (!canDrag && !enableDrag) return;\n\n\t\t\t\tconst {event} = action.payload;\n\n\t\t\t\tconst header = host.nowRootNode.querySelector(\n\t\t\t\t\t'.now-modeless-dialog-header',\n\t\t\t\t);\n\t\t\t\tconst footer = host.nowRootNode.querySelector(\n\t\t\t\t\t'.now-modeless-dialog-footer',\n\t\t\t\t);\n\t\t\t\tconst path = event.composedPath();\n\t\t\t\tconst isHeaderFooterInPath =\n\t\t\t\t\tpath.includes(header) || path.includes(footer);\n\n\t\t\t\t/**\n\t\t\t\t * Provide initial position calculations up front so consuming\n\t\t\t\t * applications can run their own `mousemove` event and\n\t\t\t\t * calculate new positions relative to these:\n\t\t\t\t *\n\t\t\t\t * 1) Container top left corner's X and Y coordinates\n\t\t\t\t * 2) Container left and top offsets\n\t\t\t\t * 3) Mouse X and Y coordinates\n\t\t\t\t */\n\n\t\t\t\tconst panel = host.nowRootNode.querySelector('.now-modeless-dialog');\n\t\t\t\tconst styles = getComputedStyle(panel);\n\t\t\t\tconst rect = panel.getBoundingClientRect();\n\n\t\t\t\tconst payload = {\n\t\t\t\t\tpositions: {\n\t\t\t\t\t\tmouse: {\n\t\t\t\t\t\t\tX: Math.floor(event.pageX - pageXOffset),\n\t\t\t\t\t\t\tY: Math.floor(event.pageY - pageYOffset),\n\t\t\t\t\t\t},\n\t\t\t\t\t\toffset: {\n\t\t\t\t\t\t\tleft: Math.floor(rect.left),\n\t\t\t\t\t\t\ttop: Math.floor(rect.top),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tdimensions: {\n\t\t\t\t\t\twidth: getComputedDimension(styles, 'width'),\n\t\t\t\t\t\theight: getComputedDimension(styles, 'height'),\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t\tif (isHeaderFooterInPath) {\n\t\t\t\t\tmouseDrag({\n\t\t\t\t\t\tpanel,\n\t\t\t\t\t\tpayload,\n\t\t\t\t\t\tenableDrag,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t});\n\t\t\t\t\tupdateState([\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: 'panel',\n\t\t\t\t\t\t\tvalue: panel,\n\t\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\t\tshouldRender: false,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: 'panelPayload',\n\t\t\t\t\t\t\tvalue: payload,\n\t\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\t\tshouldRender: false,\n\t\t\t\t\t\t},\n\t\t\t\t\t]);\n\t\t\t\t}\n\t\t\t\tdispatch(() => ({type: 'NOW_MODELESS_DIALOG#MOUSEDOWN', payload}));\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tevents: ['dragstart'],\n\t\t\teffect({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {event},\n\t\t\t\t},\n\t\t\t}) {\n\t\t\t\tif (event.target.tagName === 'NOW-MODELESS-DIALOG') {\n\t\t\t\t\t//Don't show the ghost image if we detect dragstart. We handle dragging using mousemove event.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tevents: ['keydown'],\n\t\t\teffect({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {event},\n\t\t\t\t},\n\t\t\t\thost,\n\t\t\t\tstate,\n\t\t\t\tupdateState,\n\t\t\t\tdispatch,\n\t\t\t}) {\n\t\t\t\tconst {\n\t\t\t\t\tproperties: {enableDrag},\n\t\t\t\t\tstartKeyboardDrag,\n\t\t\t\t} = state;\n\t\t\t\tif (!enableDrag) return;\n\t\t\t\tconst {key} = event;\n\t\t\t\tconst dragButtonElement = host.shadowRoot.querySelector(\n\t\t\t\t\t'.now-modeless-dialog-drag-button',\n\t\t\t\t);\n\t\t\t\tconst dragButtonExistsInEvent = Boolean(\n\t\t\t\t\tdragButtonElement && event.composedPath().includes(dragButtonElement),\n\t\t\t\t);\n\n\t\t\t\tif (dragButtonExistsInEvent && (key === 'Enter' || key === ' ')) {\n\t\t\t\t\tif (startKeyboardDrag) {\n\t\t\t\t\t\t// deactivate drag\n\t\t\t\t\t\tdispatch('PRIVATE#KEYBOARD_DRAG_END');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdispatch('PRIVATE#KEYBOARD_DRAG_START');\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// if drag is active & user tab's ignore\n\t\t\t\tif (dragButtonExistsInEvent && key === 'Tab' && startKeyboardDrag) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst isShiftKeyPressed = event.shiftKey;\n\t\t\t\tif (startKeyboardDrag) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tconst panel =\n\t\t\t\t\t\tstate?.panel ??\n\t\t\t\t\t\thost?.shadowRoot?.querySelector('.now-modeless-dialog');\n\t\t\t\t\tmovePanel(\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tisShiftKeyPressed,\n\t\t\t\t\t\tpanel,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tevents: ['click'],\n\t\t\teffect({state, updateState}) {\n\t\t\t\tconst {startKeyboardDrag} = state;\n\t\t\t\tif (startKeyboardDrag) {\n\t\t\t\t\tupdateState([\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: 'startKeyboardDrag',\n\t\t\t\t\t\t\tvalue: false,\n\t\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\t\tshouldRender: false,\n\t\t\t\t\t\t},\n\t\t\t\t\t]);\n\t\t\t\t}\n\t\t\t},\n\t\t\ttarget: window,\n\t\t},\n\t],\n\tactionHandlers: {\n\t\t[COMPONENT_CONNECTED]: ({\n\t\t\thost,\n\t\t\tproperties,\n\t\t\tdispatch,\n\t\t\taction,\n\t\t\tupdateState,\n\t\t\tstate,\n\t\t}) => {\n\t\t\tconst {id} = action.meta;\n\t\t\tconst {fullscreen, panelPayload, panel} = state;\n\t\t\tif (properties.opened)\n\t\t\t\taddDialogToStack(id, dispatch, fullscreen, panelPayload, panel, host);\n\t\t\t// There should only be a bottom border on the heading/actions\n\t\t\t// slots wrapper when either is present. We detect them in the light\n\t\t\t// dom, set state, and add a class to the wrapper. This is necessary\n\t\t\t// because there's no way to add a style to a parent from a child\n\t\t\t// selector in CSS.\n\t\t\tsetHeaderSlotsState(host, updateState);\n\t\t\tdispatch('PRIVATE#CHECK_FIT');\n\t\t},\n\t\t[COMPONENT_DOM_TREE_READY]: ({action}) => {\n\t\t\tconst {firstRenderOnConnect} = action.meta;\n\t\t\tif (!firstRenderOnConnect) return;\n\t\t\tVIEWPORT_HEIGHT = document.documentElement.clientHeight;\n\t\t\tVIEWPORT_WIDTH = document.documentElement.clientWidth;\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\t\tdispatch,\n\t\t\taction: {meta, payload},\n\t\t\tstate: {\n\t\t\t\tproperties: {opened},\n\t\t\t\tfullscreen,\n\t\t\t\tpanelPayload,\n\t\t\t\tpanel,\n\t\t\t},\n\t\t\tupdateProperties,\n\t\t\thost,\n\t\t}) => {\n\t\t\tif (payload.name === 'isSmallModal') {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tsmallModalOpened: opened && payload.value,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (payload.name === 'opened') {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tsmallModalOpened: fullscreen && payload.value,\n\t\t\t\t});\n\t\t\t\tif (payload.value) {\n\t\t\t\t\taddDialogToStack(\n\t\t\t\t\t\tmeta.id,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tfullscreen,\n\t\t\t\t\t\tpanelPayload,\n\t\t\t\t\t\tpanel,\n\t\t\t\t\t\thost,\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tlayerEvents.remove(meta.id);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: ({properties}) => {\n\t\t\tif (properties.opened) layerEvents.remove(properties.nowId);\n\t\t},\n\t\t['PRIVATE#KEYBOARD_DRAG_END']: ({host, state, updateState, dispatch}) => {\n\t\t\tconst panel =\n\t\t\t\tstate?.panel ?? host?.shadowRoot?.querySelector('.now-modeless-dialog');\n\t\t\tconst panelPosition = getPanelCurrentPosition(panel);\n\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: 'dragButtonTooltipMessage',\n\t\t\t\t\tvalue: DRAG_BUTTON_DEFAULT_TOOLTIP_MSG,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: true,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'startKeyboardDrag',\n\t\t\t\t\tvalue: false,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: true,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'panelPositionAtDragStart',\n\t\t\t\t\tvalue: panelPosition,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: true,\n\t\t\t\t},\n\t\t\t]);\n\t\t\tannounceDragEnd(dispatch);\n\t\t},\n\t\t['PRIVATE#KEYBOARD_DRAG_START']: ({host, updateState, dispatch}) => {\n\t\t\tconst panel = host?.shadowRoot?.querySelector('.now-modeless-dialog');\n\t\t\tif (!panel) return;\n\n\t\t\tconst panelPosition = getPanelCurrentPosition(panel);\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: 'dragButtonTooltipMessage',\n\t\t\t\t\tvalue: DRAG_ENABLED_TOOLTIP_MSG,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: true,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'startKeyboardDrag',\n\t\t\t\t\tvalue: true,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: true,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'panelPositionAtDragStart',\n\t\t\t\t\tvalue: panelPosition,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: true,\n\t\t\t\t},\n\t\t\t]);\n\t\t\tannounceDragEnabled(dispatch);\n\t\t},\n\t\t['PRIVATE#DRAG_FOCUS']: ({host, dispatch, properties}) => {\n\t\t\tconst headingIcon = properties.headingIcon.icon;\n\t\t\tlet heading;\n\t\t\tif (headingIcon) {\n\t\t\t\theading = host.shadowRoot.querySelector(\n\t\t\t\t\t'.now-modeless-dialog-heading-container',\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\theading = host.shadowRoot.querySelector('.now-modeless-dialog-heading');\n\t\t\t}\n\t\t\tif (!heading) return;\n\t\t\theading.classList.add('drag-button-has-focus');\n\t\t\tannounceDragFocus(dispatch);\n\t\t},\n\t\t['PRIVATE#DRAG_BLUR']: ({host, properties}) => {\n\t\t\tconst headingIcon = properties.headingIcon.icon;\n\t\t\tlet heading;\n\t\t\tif (headingIcon) {\n\t\t\t\theading = host.shadowRoot.querySelector(\n\t\t\t\t\t'.now-modeless-dialog-heading-container',\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\theading = host.shadowRoot.querySelector('.now-modeless-dialog-heading');\n\t\t\t}\n\t\t\tif (!heading) return;\n\t\t\theading.classList.remove('drag-button-has-focus');\n\t\t},\n\t\t[COMPONENT_RESIZED]: ({updateProperties, state: {fullscreen}}) => {\n\t\t\tupdateProperties({isSmallModal: fullscreen});\n\t\t},\n\t\t'PRIVATE#CHECK_FIT': {\n\t\t\tmodifier: {\n\t\t\t\tname: modifierTypes.DEBOUNCE,\n\t\t\t\tdelay: 25,\n\t\t\t\tmaxWait: 100,\n\t\t\t\tcollate: false,\n\t\t\t},\n\t\t\teffect({updateState}) {\n\t\t\t\tupdateState(({properties, state: {fullscreen}}) => {\n\t\t\t\t\tconst {innerHeight: height, innerWidth: width} = window;\n\t\t\t\t\tconst {\n\t\t\t\t\t\tresizableConfig: {\n\t\t\t\t\t\t\tresizableMinWidth = properties.width,\n\t\t\t\t\t\t\tresizableMinHeight = properties.height,\n\t\t\t\t\t\t} = {},\n\t\t\t\t\t} = properties;\n\n\t\t\t\t\tconst value =\n\t\t\t\t\t\twidth < resizableMinWidth || height < resizableMinHeight;\n\t\t\t\t\treturn {\n\t\t\t\t\t\tpath: 'fullscreen',\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: value !== fullscreen,\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\t['NOW_BUTTON_ICONIC#CLICKED']: ({\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\tstate,\n\t\t\thost,\n\t\t}) => {\n\t\t\tconst {\n\t\t\t\tmeta: {appended},\n\t\t\t} = action;\n\n\t\t\tconst panel =\n\t\t\t\tstate?.panel ?? host?.shadowRoot?.querySelector('.now-modeless-dialog');\n\t\t\tif (!panel) return;\n\t\t\tconst {fullscreen, panelPayload} = state;\n\t\t\tconst payload = generatePayload(fullscreen, panelPayload, panel);\n\t\t\tif (appended?.minimize) {\n\t\t\t\tdispatch('NOW_MODELESS_DIALOG#MINIMIZE', payload);\n\t\t\t\tdispatch('NOW_MODELESS_DIALOG#OPENED_SET', {value: false});\n\t\t\t} else if (appended?.maximize) {\n\t\t\t\tdispatch('NOW_MODELESS_DIALOG#MAXIMIZE', payload);\n\t\t\t\tupdateState({fullscreen: !fullscreen});\n\t\t\t} else if (appended?.close) {\n\t\t\t\tdispatch('NOW_MODELESS_DIALOG#CLOSE', payload);\n\t\t\t\tdispatch('NOW_MODELESS_DIALOG#OPENED_SET', {value: false});\n\t\t\t}\n\t\t},\n\t},\n\tstyles,\n\tview,\n});\n","import {t} from 'sn-translate';\n\nexport const DRAG_BUTTON_DEFAULT_TOOLTIP_MSG = t(\n\t'Press SPACE to enable dragging.',\n);\n\nexport const DRAG_ENABLED_ANNOUNCEMENT_MSG = t(\n\t'Drag enabled. Press arrows to move by 1 pixel. Hold SHIFT and press arrows to move by 10 pixels. Press SPACE to place or cancel.',\n);\n\nexport const DRAG_PLACEMENT_MSG = t('Press SPACE to place or cancel.');\n\nexport const DRAG_ENABLED_TOOLTIP_MSG = t(\n\t'Use arrow keys to move by 1 px. Hold SHIFT to move by 10 px.',\n);\n\nexport const ORIGINAL_POSITION_MSG = t('Original Position');\n\nexport const DEFAULT_DIALOG_TITLE = t('Dialog');\n\nexport const VALID_DRAG_DIRECTIONS = ['up', 'down', 'left', 'right'];\n\nexport const VERTICAL_MOVEMENT_KEYS = [\n\t'ArrowUp',\n\t'ArrowDown',\n\t'PageUp',\n\t'PageDown',\n];\n\nexport const LOCALIZED_DIRECTIONS = {\n\tleft: t('Left'),\n\tright: t('Right'),\n\ttop: t('Top'),\n\tbottom: t('Bottom'),\n\tup: t('Up'),\n\tdown: t('Down'),\n};\n","import {t} from 'sn-translate';\n\nimport {LOCALIZED_DIRECTIONS} from './constants';\n\n// deteremine direction of drag movement based on event key. Return empty string if key is not supporting for dialog movement\nexport const getKeyToDirection = (key) => {\n\tlet direction = '';\n\tswitch (key) {\n\t\tcase 'ArrowRight':\n\t\t\tdirection = LOCALIZED_DIRECTIONS.right;\n\t\t\tbreak;\n\t\tcase 'ArrowLeft':\n\t\tcase 'Home':\n\t\t\tdirection = LOCALIZED_DIRECTIONS.left;\n\t\t\tbreak;\n\t\tcase 'PageUp':\n\t\tcase 'ArrowUp':\n\t\t\tdirection = LOCALIZED_DIRECTIONS.top;\n\t\t\tbreak;\n\t\tcase 'PageDown':\n\t\tcase 'ArrowDown':\n\t\tcase 'End':\n\t\t\tdirection = LOCALIZED_DIRECTIONS.bottom;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tdirection = '';\n\t}\n\treturn direction;\n};\n\nexport const getPanelCurrentPosition = (panel) => {\n\tconst elementRect = panel?.getBoundingClientRect();\n\n\treturn {\n\t\ttop: Math.floor(elementRect.top),\n\t\tleft: Math.floor(elementRect.left),\n\t};\n};\n\nexport const getDistanceAndDirectionMessage = (distanceInPixels, direction) => {\n\treturn t(\n\t\t{\n\t\t\tcode: 'now-modeless-dialog-directional-drag-messasge',\n\t\t\tmessage: '{distanceInPixels} pixels {direction}',\n\t\t\tcomment:\n\t\t\t\t'Describes the distance & direction dialog is located from the original position',\n\t\t},\n\t\t{distanceInPixels, direction},\n\t);\n};\n\nexport const getViewportEdgeMessage = (viewportEdge) => {\n\treturn t(\n\t\t{\n\t\t\tcode: 'now-modeless-dialog-viewport-edge-messasge',\n\t\t\tmessage: '{viewportEdge} boundary',\n\t\t\tcomment:\n\t\t\t\t'Describes the viewport edge during drag of dialog. Edge could be one of top, left, bottom, right',\n\t\t},\n\t\t{viewportEdge},\n\t);\n};\n","import {t} from 'sn-translate';\nimport {actionTypes} from '@servicenow/ui-core';\nimport debounce from 'lodash/debounce';\nimport {\n\tORIGINAL_POSITION_MSG,\n\tVALID_DRAG_DIRECTIONS,\n\tDRAG_ENABLED_ANNOUNCEMENT_MSG,\n\tLOCALIZED_DIRECTIONS,\n\tDRAG_PLACEMENT_MSG,\n} from './constants';\nimport {getDistanceAndDirectionMessage, getViewportEdgeMessage} from './helper';\n\nconst {ARIA_LIVE_REGION_UPDATE_REQUESTED} = actionTypes;\n\n// wait timer value to detect idle movement for announcement of modal position\nconst DRAG_POSITION_ANNOUNCEMENT_DELAY = 5000;\nlet debounceDispatch = debounce((fn) => fn(), DRAG_POSITION_ANNOUNCEMENT_DELAY);\n\n// VO announcement when drag button gets focused\nexport const announceDragFocus = (dispatch) => {\n\tlet message = t({\n\t\tcode: 'now-modeless-dialog-drag-focus',\n\t\tmessage: 'Dialog drag, button. Press SPACE to enable dragging.',\n\t\tcomment: 'Announcement message when drag button is focused.',\n\t});\n\n\treturn dispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\tmessage,\n\t\ttype: 'polite',\n\t});\n};\n\n// VO announcement when button is toggled ON i.e drag function is activated\nexport const announceDragEnabled = (dispatch) => {\n\treturn dispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\tmessage: DRAG_ENABLED_ANNOUNCEMENT_MSG,\n\t\ttype: 'polite',\n\t});\n};\n\n// VO announcement when dialog is moved back at original position.\nexport const announceOriginalPosition = (dispatch) => {\n\treturn dispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\tmessage: ORIGINAL_POSITION_MSG,\n\t\ttype: 'assertive',\n\t});\n};\n\n// VO announcement when dialog moved in any direction by any amount of pixels, includes taking consideration of 4 sides of viewport boundary\nexport const announceDirectionalDrag = (\n\tdispatch,\n\tpixels,\n\tdirection,\n\tdirectionalBoundary,\n) => {\n\tlet message = getDistanceAndDirectionMessage(Math.abs(pixels), direction);\n\tlet viewportEdgeMessage = '';\n\tif (directionalBoundary !== '') {\n\t\tviewportEdgeMessage = getViewportEdgeMessage(directionalBoundary);\n\t\tviewportEdgeMessage += '. ';\n\t}\n\n\tmessage = `${viewportEdgeMessage}${message}`;\n\n\t// VALID_DRAG_DIRECTIONS check filters any other key that does not trigger any movement\n\tif (pixels !== 0 && VALID_DRAG_DIRECTIONS.includes(direction)) {\n\t\treturn dispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\tmessage,\n\t\t\ttype: 'assertive',\n\t\t});\n\t}\n};\n\n// VO announcement when drag is over.\nexport const announceDragEnd = (dispatch) => {\n\tlet message = t({\n\t\tcode: 'now-modeless-dialog-drag-end',\n\t\tmessage: 'Dialog placed. Press SPACE to enable dragging.',\n\t\tcomment: 'Announcement message when keyboard drag is finished.',\n\t});\n\n\treturn dispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\tmessage,\n\t\ttype: 'polite',\n\t});\n};\n\n// add delay to announce position when drag is active\nexport const announcePosition = (dispatch, dialogPositionMessage) => {\n\tlet finalMessage = t(\n\t\t{\n\t\t\tcode: 'now-modeless-dialog-drag-idle-position',\n\t\t\tmessage: '{dialogPositionMessage}. {DRAG_PLACEMENT_MSG}',\n\t\t\tcomment: 'Announcement message when drag movement is idle.',\n\t\t},\n\t\t{dialogPositionMessage, DRAG_PLACEMENT_MSG},\n\t);\n\n\tdebounceDispatch(() => {\n\t\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\tmessage: finalMessage,\n\t\t\ttype: 'polite',\n\t\t});\n\t});\n};\n\n// drag button tooltip message when dialog is moved in any direction\n// x and y offset help determine movement left-right and up-down distance from original position when drag started\nexport const dragMovementTooltip = (xOffset, yOffset) => {\n\tconst leftOrRight =\n\t\txOffset > 0 ? LOCALIZED_DIRECTIONS.right : LOCALIZED_DIRECTIONS.left;\n\tconst upOrDown =\n\t\tyOffset > 0 ? LOCALIZED_DIRECTIONS.up : LOCALIZED_DIRECTIONS.down;\n\n\t// when there is no offset return original position\n\tif (xOffset === 0 && yOffset === 0) {\n\t\treturn ORIGINAL_POSITION_MSG;\n\t}\n\n\tlet leftOrRightOffsetMessage = '';\n\tlet upOrDownOffsetMessage = '';\n\tlet messageSeperator = '';\n\n\tif (xOffset !== 0) {\n\t\tleftOrRightOffsetMessage = getDistanceAndDirectionMessage(\n\t\t\tMath.abs(xOffset),\n\t\t\tleftOrRight,\n\t\t);\n\t}\n\n\tif (yOffset !== 0) {\n\t\tupOrDownOffsetMessage = getDistanceAndDirectionMessage(\n\t\t\tMath.abs(yOffset),\n\t\t\tupOrDown,\n\t\t);\n\t}\n\n\tif (leftOrRightOffsetMessage !== '' && upOrDownOffsetMessage !== '') {\n\t\tmessageSeperator = ', ';\n\t}\n\tconst finalMessage =\n\t\tleftOrRightOffsetMessage + messageSeperator + upOrDownOffsetMessage;\n\treturn finalMessage;\n};\n","import './now-modeless-dialog';\nimport * as info from '../package.json';\n\nconst {name, version} = info;\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n","\nimport {t} from 'sn-translate';\n\nexport const FEEDBACK_LABELS = Object.freeze({\n\tTHUMBSUP_LABEL: t({code: 'sn_feedback', message: 'Helpful'}),\n\tTHUMBSDOWN_LABEL: t({code: 'sn_feedback', message: 'Not helpful'}),\n\tSUBMIT_LABEL: t({code: 'sn_feedback', message: 'Submit'}),\n\tTOOLTIP_CONFIRMATION_LABEL: t({code: 'sn_feedback', message: 'Thanks for your feedback!'}),\n\tTEXT_AREA_PLACEHOLDER_LABEL: t({code: 'sn_feedback', message: 'Add comments or suggestions. (optional)'}),\n\tPOPOVER_ARIA_LABEL: t({code: 'sn_feedback', message: 'Detailed feedback form'}),\n\tERROR_STATE_LABEL: t({code: 'sn_feedback', message: 'There was a problem submitting your feedback. Try again.'}),\n\tCLOSE_BUTTON_ARIA_LABEL: t({code: 'sn_feedback', message: 'Close'})\n});\n\nexport const FEEDBACK_BUTTON = Object.freeze({\n\tTHUMBSUP: 'THUMBS_UP',\n\tTHUMBSDOWN: 'THUMBS_DOWN',\n\tSUBMIT: 'SUBMIT_FEEDBACK',\n\tNONE: 'NONE'\n});\n\nexport const REGION_TYPE = Object.freeze({\n\tCHECKLIST: 'checklist',\n\tRADIO: 'radio',\n\tTEXTAREA: 'textarea'\n});\n\nexport const EXTERNAL_ACTIONS = Object.freeze({\n\tNOW_BUTTON_STATEFUL_SELECTED_SET: 'NOW_BUTTON_STATEFUL#SELECTED_SET',\n\tNOW_BUTTON_ICONIC_CLICKED: 'NOW_BUTTON_ICONIC#CLICKED',\n\tNOW_BUTTON_CLICKED: 'NOW_BUTTON#CLICKED',\n\tNOW_POPOVER_OPENED_SET: 'NOW_POPOVER#OPENED_SET',\n\tNOW_CHECKLIST_ITEM_CLICKED: 'NOW_CHECKLIST#ITEM_CLICKED',\n\tNOW_RADIO_BUTTONS_VALUE_SET: 'NOW_RADIO_BUTTONS#VALUE_SET',\n\tNOW_TEXTAREA_VALUE_SET: 'NOW_TEXTAREA#VALUE_SET'\n});\n\nexport const INTERNAL_ACTIONS = Object.freeze({\n\tSN_FEEDBACK_MANAGE_TOOLTIP_OPENED: 'SN_FEEDBACK#MANAGE_TOOLTIP_OPENED'\n});\n\nexport const ACTIONS = Object.freeze({\n\tFEEDBACK_CLICKED: 'SN_FEEDBACK#FEEDBACK_CLICKED',\n\tGRANULAR_FEEDBACK_SUBMIT_CLICKED: 'SN_FEEDBACK#GRANULAR_FEEDBACK_SUBMIT_CLICKED'\n});\n\nexport const METRIC_ACTIONS = {\n\tMETRIC_TRACKED: 'SN_FEEDBACK#METRIC_TRACKED',\n\tSN_FEEDBACK_INTIAL_LOAD: 'Initial Feedback View',\n\tFEEDBACK_BUTTON_CLICKED: 'Feedback Button Clicked',\n\tGRANULAR_FEEDBACK_SUBMIT_BUTTON_CLICKED: 'Granular Feedback Submit Button Clicked',\n};\n","import {REGION_TYPE} from './constant';\n\n/**\n * Get the type='checklist'|'radio' object that is displayed in the granular feedback\n * @param {GranularFeedbackDetails.items} items\n * @returns {item: Array<GranularFeedbackDetails.item>, index: number}\n */\nexport function findListItem(items) {\n\treturn {\n\t\titem: items.find(item => item.type === REGION_TYPE.CHECKLIST || item.type === REGION_TYPE.RADIO),\n\t\tindex: items.findIndex(item => item.type === REGION_TYPE.CHECKLIST || item.type === REGION_TYPE.RADIO)\n\t};\n}\n\n/**\n * Get the type='textarea' object that is displayed in the granular feedback\n * @param {GranularFeedbackDetails.items} items\n * @returns {item: Array<GranularFeedbackDetails.item>, index: number}\n */\nexport function findTextAreaItem(items) {\n\treturn {\n\t\titem: items.find(item => item.type === REGION_TYPE.TEXTAREA),\n\t\tindex: items.findIndex(item => item.type === REGION_TYPE.TEXTAREA)\n\t};\n}\n\n/**\n * Function to verify if the necessary details are available to show granular feedback\n * @param {GranularFeedbackDetails} granularFeedbackDetails\n * @returns {boolean}\n */\nexport function validateDetails(granularFeedbackDetails) {\n\treturn (\n\t\tgranularFeedbackDetails &&\n\t\tgranularFeedbackDetails.heading &&\n\t\tgranularFeedbackDetails.items?.length > 0\n\t);\n}\n\nfunction getOnlyOneOfEach(modifiedItems) {\n\t//Pick out only one checklist/radio and one textarea\n\tconst cleanList = [];\n\tconst {item: list} = findListItem(modifiedItems);\n\tif (list)\n\t\tcleanList.push(list);\n\tconst {item: textArea} = findTextAreaItem(modifiedItems);\n\tif (textArea)\n\t\tcleanList.push(textArea);\n\treturn cleanList;\n}\n\n/**\n * Function to verify and update the list of options passed in the properties with additional info\n * @param {GranularFeedbackDetails} granularFeedbackDetails\n * @returns {Array<object>}\n */\nexport function refactorListOptions(items) {\n\tif (!Array.isArray(items) || !items.length)\n\t\treturn [];\n\tconst modifiedItems = items.reduce((intermediateValue, item) => {\n\t\tswitch (item?.type) {\n\t\t\tcase REGION_TYPE.CHECKLIST: {\n\t\t\t\tif (Array.isArray(item?.value) && item?.value.length > 0) {\n\t\t\t\t\tconst modifiedValue = item?.value.map((elm, index) => ({\n\t\t\t\t\t\titemId: elm.id,\n\t\t\t\t\t\torder: index,\n\t\t\t\t\t\tchecked: elm.checked ?? false,\n\t\t\t\t\t\tlabel: elm.label,\n\t\t\t\t\t\thasLink: false\n\t\t\t\t\t}));\n\t\t\t\t\tintermediateValue.push({type: item.type, value: modifiedValue});\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase REGION_TYPE.RADIO: {\n\t\t\t\tif (Array.isArray(item?.value) && item?.value.length > 0) {\n\t\t\t\t\tconst modifiedValue = item?.value.reduce((result, item) => {\n\t\t\t\t\t\tlet {hasChecked} = result;\n\t\t\t\t\t\tconst {options} = result;\n\t\t\t\t\t\tconst {id, checked, label} = item;\n\t\t\t\t\t\tif (checked && !hasChecked) {\n\t\t\t\t\t\t\thasChecked = true; //only for the first checked item\n\t\t\t\t\t\t\toptions.push({id, checked, label});\n\t\t\t\t\t\t} else\n\t\t\t\t\t\t\toptions.push({id, checked: false, label});\n\t\t\t\t\t\treturn {options, hasChecked};\n\t\t\t\t\t}, {options: [], hasChecked: false});\n\t\t\t\t\tintermediateValue.push({type: item.type, value: modifiedValue.options});\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase REGION_TYPE.TEXTAREA: {\n\t\t\t\tif (item?.value && typeof item?.value === 'string' || item?.value instanceof String)\n\t\t\t\t\tintermediateValue.push(item);\n\t\t\t\telse\n\t\t\t\t\tintermediateValue.push({type: item.type, value: ''});\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdefault: break;\n\t\t}\n\t\treturn intermediateValue;\n\t}, []);\n\n\treturn [...getOnlyOneOfEach(modifiedItems)];\n}\n","import {actionTypes, declarativeOperations} from '@servicenow/ui-core';\nimport {FEEDBACK_BUTTON, EXTERNAL_ACTIONS, INTERNAL_ACTIONS, ACTIONS, METRIC_ACTIONS, REGION_TYPE} from './constant';\nimport {findListItem, findTextAreaItem, validateDetails, refactorListOptions} from './utils';\nimport track from '@devsnc/ux-metrics';\n\nconst {COMPONENT_PROPERTY_CHANGED, COMPONENT_BOOTSTRAPPED} = actionTypes;\n\nfunction resetPositiveContent(state) {\n\tconst positiveFeedbackRaw = {\n\t\theading: !state.properties.positiveFeedback?.heading ? '' : state.properties.positiveFeedback?.heading,\n\t\titems: refactorListOptions(state.properties.positiveFeedback?.items)\n\t};\n\tconst positiveFeedback = validateDetails(positiveFeedbackRaw) ? positiveFeedbackRaw : null;\n\treturn positiveFeedback;\n}\n\nfunction resetNegativeContent(state) {\n\tconst negativeFeedbackRaw = {\n\t\theading: !state.properties.negativeFeedback?.heading ? '' : state.properties.negativeFeedback?.heading,\n\t\titems: refactorListOptions(state.properties.negativeFeedback?.items)\n\t};\n\tconst negativeFeedback = validateDetails(negativeFeedbackRaw) ? negativeFeedbackRaw : null;\n\treturn negativeFeedback;\n}\n\nfunction onComponentBootstrapped(coeffects) {\n\tconst {state, dispatch, updateState} = coeffects;\n\n\tlet clickedButtonState = '';\n\tswitch (state.properties?.loadState) {\n\t\tcase FEEDBACK_BUTTON.THUMBSUP:\n\t\t\tclickedButtonState = FEEDBACK_BUTTON.THUMBSUP;\n\t\t\tbreak;\n\t\tcase FEEDBACK_BUTTON.THUMBSDOWN:\n\t\t\tclickedButtonState = FEEDBACK_BUTTON.THUMBSDOWN;\n\t\t\tbreak;\n\t\tcase FEEDBACK_BUTTON.NONE:\n\t\tdefault:\n\t\t\tclickedButtonState = '';\n\t\t\tbreak;\n\t}\n\tconst positiveFeedback = resetPositiveContent(state);\n\tconst negativeFeedback = resetNegativeContent(state);\n\n\tconst error = (\n\t\tstate.properties?.error &&\n\t\tObject.prototype.hasOwnProperty.call(state.properties?.error, 'isError')\n\t) ?\n\t\tstate.properties?.error :\n\t\t{isError: false, timestamp: Date.now()};\n\n\tupdateState({clickedButtonState, positiveFeedback, negativeFeedback, error});\n\tdispatch(METRIC_ACTIONS.METRIC_TRACKED, {eventName: METRIC_ACTIONS.SN_FEEDBACK_INTIAL_LOAD});\n}\n\nfunction onComponentPropertyChanged(coeffects) {\n\tconst {state, updateState, dispatch, action} = coeffects;\n\tconst {name, value} = action.payload;\n\tlet positiveFeedback;\n\tlet negativeFeedback;\n\tswitch (name) {\n\t\tcase 'positiveFeedback':\n\t\t\tpositiveFeedback = resetPositiveContent(state);\n\t\t\tupdateState({positiveFeedback});\n\t\t\tbreak;\n\t\tcase 'negativeFeedback':\n\t\t\tnegativeFeedback = resetNegativeContent(state);\n\t\t\tupdateState({negativeFeedback});\n\t\t\tbreak;\n\t\tcase 'error': {\n\t\t\tif (!state.properties.manageSubmit) { //manageSubmit: false -> Update error property to show/hide error message.\n\t\t\t\tupdateState({error: {...value}});\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t//If manageSubmit: true && currently button is not disabled, just ignore property updates\n\t\t\tif (!state.disableSubmitButton)\n\t\t\t\tbreak;\n\n\t\t\tif (!value?.isError) { // manageSubmit: true, disableSubmitButton: true, isError: false -> Close popover\n\t\t\t\tupdateState({\n\t\t\t\t\terror: {...value},\n\t\t\t\t\tisPopoverOpen: false,\n\t\t\t\t\tpopoverTargetRef: null,\n\t\t\t\t\tisTooltipOpen: true,\n\t\t\t\t\tpositiveFeedback: resetPositiveContent(state),\n\t\t\t\t\tnegativeFeedback: resetNegativeContent(state),\n\t\t\t\t\tdisableSubmitButton: false\n\t\t\t\t});\n\t\t\t\tdispatch(INTERNAL_ACTIONS.SN_FEEDBACK_MANAGE_TOOLTIP_OPENED);\n\t\t\t} else // manageSubmit: true, disableSubmitButton: true, isError: true -> Keep popover open. Enable Submit button\n\t\t\t\tupdateState({error: {...value}, disableSubmitButton: false});\n\t\t\tbreak;\n\t\t}\n\t\tdefault: break;\n\t}\n}\n\nfunction onNowButtonStatefulSelectedSet(coeffects) {\n\tconst {state, updateState, dispatch, action: {payload}} = coeffects;\n\tif (!payload.value) {\n\t\tupdateState({clickedButtonState: '', isPopoverOpen: false, popoverTargetRef: null});\n\t\tdispatch(ACTIONS.FEEDBACK_CLICKED, {button: payload.button, isSelected: false});\n\t\tdispatch(METRIC_ACTIONS.METRIC_TRACKED, {eventName: METRIC_ACTIONS.FEEDBACK_BUTTON_CLICKED, metadata: {button: payload.button, isSelected: false}});\n\t\treturn;\n\t}\n\n\tconst {\n\t\tthumbsDownTargetRef,\n\t\tthumbsUpTargetRef,\n\t} = state;\n\n\tlet isPopoverOpen;\n\tlet popoverTargetRef;\n\tif (payload.button === FEEDBACK_BUTTON.THUMBSUP) {\n\t\tisPopoverOpen = true;\n\t\tpopoverTargetRef = thumbsUpTargetRef;\n\t} else if (payload.button === FEEDBACK_BUTTON.THUMBSDOWN) {\n\t\tisPopoverOpen = true;\n\t\tpopoverTargetRef = thumbsDownTargetRef;\n\t}\n\tupdateState({clickedButtonState: payload.button, isPopoverOpen, popoverTargetRef});\n\n\tdispatch(ACTIONS.FEEDBACK_CLICKED, {button: payload.button, isSelected: true});\n\tdispatch(METRIC_ACTIONS.METRIC_TRACKED, {eventName: METRIC_ACTIONS.FEEDBACK_BUTTON_CLICKED, metadata: {button: payload.button, isSelected: true}});\n}\n\nfunction onNowButtonIconicClicked(coeffects) {\n\tconst {updateState} = coeffects;\n\tupdateState({isPopoverOpen: false, popoverTargetRef: null});\n}\n\nfunction onNowButtonClicked(coeffects) {\n\tconst {state, updateState, dispatch, action: {payload}} = coeffects;\n\tif (payload.button === FEEDBACK_BUTTON.SUBMIT) {\n\n\t\tconst items = state.clickedButtonState === FEEDBACK_BUTTON.THUMBSUP ?\n\t\t\tstate.positiveFeedback.items :\n\t\t\tstate.clickedButtonState === FEEDBACK_BUTTON.THUMBSDOWN ?\n\t\t\t\tstate.negativeFeedback.items : [];\n\t\tconst {item: listObj} = findListItem(items);\n\t\tconst {item: textAreaObj} = findTextAreaItem(items);\n\t\tconst payload = {};\n\t\tpayload.items = [\n\t\t\t{\n\t\t\t\t...listObj,\n\t\t\t\tvalue: listObj.value.map(elm => ({\n\t\t\t\t\tid: listObj.type === REGION_TYPE.CHECKLIST ? elm.itemId : elm.id,\n\t\t\t\t\tlabel: elm.label,\n\t\t\t\t\tchecked: elm.checked\n\t\t\t\t}))\n\t\t\t},\n\t\t\t{\n\t\t\t\t...textAreaObj\n\t\t\t}\n\t\t];\n\t\tdispatch(ACTIONS.GRANULAR_FEEDBACK_SUBMIT_CLICKED, payload);\n\t\tdispatch(METRIC_ACTIONS.METRIC_TRACKED, {\n\t\t\teventName: METRIC_ACTIONS.GRANULAR_FEEDBACK_SUBMIT_BUTTON_CLICKED,\n\t\t\tmetadata: {payload, manageSubmit: state.properties.manageSubmit, error: state.error}\n\t\t});\n\t\tif (state.properties.manageSubmit)\n\t\t\tupdateState({disableSubmitButton: true});\n\t\telse {\n\t\t\tif (!state.error?.isError) {\n\t\t\t\tupdateState({\n\t\t\t\t\tisPopoverOpen: false,\n\t\t\t\t\tpopoverTargetRef: null,\n\t\t\t\t\tisTooltipOpen: true,\n\t\t\t\t\tpositiveFeedback: resetPositiveContent(state),\n\t\t\t\t\tnegativeFeedback: resetNegativeContent(state)\n\t\t\t\t});\n\t\t\t\tdispatch(INTERNAL_ACTIONS.SN_FEEDBACK_MANAGE_TOOLTIP_OPENED);\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction onNowPopoverOpenedSet(coeffects) {\n\tconst {updateState, action: {payload}} = coeffects;\n\tif (!payload.value)\n\t\tupdateState({isPopoverOpen: false, popoverTargetRef: null});\n}\n\nfunction onNowChecklistItemClicked(coeffects) {\n\tconst {state, updateState, action: {payload}} = coeffects;\n\n\tif (state.clickedButtonState === FEEDBACK_BUTTON.THUMBSUP) {\n\t\tconst {item: listObj, index: listObjIndex} = findListItem(state.positiveFeedback.items);\n\t\tconst listOptions = [...listObj.value];\n\t\tlistOptions.map((item, i) => {\n\t\t\tif (item.itemId === payload.itemId) {\n\t\t\t\tlistOptions[i] = {...listOptions[i], checked: payload.checked};\n\t\t\t\treturn true;\n\t\t\t}\n\t\t});\n\n\t\tupdateState({\n\t\t\tpath: `positiveFeedback.items[${listObjIndex}]`,\n\t\t\tvalue: {value: listOptions},\n\t\t\toperation: declarativeOperations.ASSIGN\n\t\t});\n\t} else if (state.clickedButtonState === FEEDBACK_BUTTON.THUMBSDOWN) {\n\t\tconst {item: listObj, index: listObjIndex} = findListItem(state.negativeFeedback.items);\n\t\tconst listOptions = [...listObj.value];\n\t\tlistOptions.map((item, i) => {\n\t\t\tif (item.itemId === payload.itemId) {\n\t\t\t\tlistOptions[i] = {...listOptions[i], checked: payload.checked};\n\t\t\t\treturn true;\n\t\t\t}\n\t\t});\n\n\t\tupdateState({\n\t\t\tpath: `negativeFeedback.items[${listObjIndex}]`,\n\t\t\tvalue: {value: listOptions},\n\t\t\toperation: declarativeOperations.ASSIGN\n\t\t});\n\t}\n}\n\nfunction onNowRadioButtonValueSet(coeffects) {\n\tconst {state, updateState, action: {payload}} = coeffects;\n\n\tif (state.clickedButtonState === FEEDBACK_BUTTON.THUMBSUP) {\n\t\tconst {item: listObj, index: listObjIndex} = findListItem(state.positiveFeedback.items);\n\t\tconst listOptions = [...listObj.value];\n\t\tlistOptions.forEach((item, i) => {\n\t\t\tif (item.id === payload.value)\n\t\t\t\tlistOptions[i] = {...listOptions[i], checked: true};\n\t\t\telse if (listOptions[i])\n\t\t\t\tlistOptions[i] = {...listOptions[i], checked: false};\n\t\t});\n\n\t\tupdateState({\n\t\t\tpath: `positiveFeedback.items[${listObjIndex}]`,\n\t\t\tvalue: {value: listOptions},\n\t\t\toperation: declarativeOperations.ASSIGN\n\t\t});\n\t} else if (state.clickedButtonState === FEEDBACK_BUTTON.THUMBSDOWN) {\n\t\tconst {item: listObj, index: listObjIndex} = findListItem(state.negativeFeedback.items);\n\t\tconst listOptions = [...listObj.value];\n\t\tlistOptions.forEach((item, i) => {\n\t\t\tif (item.id === payload.value)\n\t\t\t\tlistOptions[i] = {...listOptions[i], checked: true};\n\t\t\telse if (listOptions[i])\n\t\t\t\tlistOptions[i] = {...listOptions[i], checked: false};\n\t\t});\n\n\t\tupdateState({\n\t\t\tpath: `negativeFeedback.items[${listObjIndex}]`,\n\t\t\tvalue: {value: listOptions},\n\t\t\toperation: declarativeOperations.ASSIGN\n\t\t});\n\t}\n}\n\nfunction onNowTextAreaValueSet(coeffects) {\n\tconst {state, updateState, action: {payload}} = coeffects;\n\tif (state.clickedButtonState === FEEDBACK_BUTTON.THUMBSUP) {\n\t\tconst {index: textAreaObjIndex} = findTextAreaItem(state.positiveFeedback.items);\n\t\tupdateState({\n\t\t\tpath: `positiveFeedback.items[${textAreaObjIndex}]`,\n\t\t\tvalue: {value: payload.value},\n\t\t\toperation: declarativeOperations.ASSIGN\n\t\t});\n\t} else if (state.clickedButtonState === FEEDBACK_BUTTON.THUMBSDOWN) {\n\t\tconst {index: textAreaObjIndex} = findTextAreaItem(state.negativeFeedback.items);\n\t\tupdateState({\n\t\t\tpath: `negativeFeedback.items[${textAreaObjIndex}]`,\n\t\t\tvalue: {value: payload.value},\n\t\t\toperation: declarativeOperations.ASSIGN\n\t\t});\n\t}\n}\n\nconst onSnFeedbackManageTooltipOpened = {\n\tmodifier: {name: 'debounce', delay: 1000},\n\teffect({updateState}) {\n\t\tupdateState({isTooltipOpen: false});\n\t},\n\tstopPropagation: true\n};\n\nconst actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: onComponentBootstrapped,\n\t[COMPONENT_PROPERTY_CHANGED]: onComponentPropertyChanged,\n\t[EXTERNAL_ACTIONS.NOW_BUTTON_STATEFUL_SELECTED_SET]: onNowButtonStatefulSelectedSet,\n\t[EXTERNAL_ACTIONS.NOW_BUTTON_ICONIC_CLICKED]: onNowButtonIconicClicked,\n\t[EXTERNAL_ACTIONS.NOW_BUTTON_CLICKED]: onNowButtonClicked,\n\t[EXTERNAL_ACTIONS.NOW_POPOVER_OPENED_SET]: onNowPopoverOpenedSet,\n\t[EXTERNAL_ACTIONS.NOW_CHECKLIST_ITEM_CLICKED]: onNowChecklistItemClicked,\n\t[EXTERNAL_ACTIONS.NOW_RADIO_BUTTONS_VALUE_SET]: onNowRadioButtonValueSet,\n\t[EXTERNAL_ACTIONS.NOW_TEXTAREA_VALUE_SET]: onNowTextAreaValueSet,\n\t[INTERNAL_ACTIONS.SN_FEEDBACK_MANAGE_TOOLTIP_OPENED]: onSnFeedbackManageTooltipOpened,\n\t[METRIC_ACTIONS.METRIC_TRACKED]: {\n\t\teffect(coeffects) {\n\t\t\tconst {action: {payload: {eventName, metadata}}} = coeffects;\n\t\t\ttrack(coeffects, eventName, metadata);\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n\nexport default {\n\tactions: {\n\t\t[INTERNAL_ACTIONS.SN_FEEDBACK_MANAGE_TOOLTIP_OPENED]: {\n\t\t\tprivate: true\n\t\t},\n\t},\n\tactionHandlers\n};\n","import {REGION_TYPE} from './constant';\n\nconst ItemSchema = {\n\ttype: 'object',\n\tproperties: {\n\t\tid: {\n\t\t\ttype: 'string'\n\t\t},\n\t\tlabel: {\n\t\t\ttype: 'string',\n\t\t\ttranslatable: true\n\t\t},\n\t\tchecked: {\n\t\t\ttype: 'boolean'\n\t\t}\n\t},\n\trequired: ['id', 'label']\n};\n\nconst ListItemSchema = {\n\tname: 'List',\n\ttype: 'object',\n\tproperties: {\n\t\ttype: {\n\t\t\ttype: 'string',\n\t\t\tenum: [REGION_TYPE.CHECKLIST, REGION_TYPE.RADIO]\n\t\t},\n\t\tvalue: {\n\t\t\ttype: 'array',\n\t\t\titems: ItemSchema,\n\t\t\tminItems: 2,\n\t\t\tmaxItems: 6\n\t\t}\n\t}\n};\n\nconst TextAreaItemSchema = {\n\tname: 'Textarea',\n\ttype: 'object',\n\tproperties: {\n\t\ttype: {\n\t\t\ttype: 'string',\n\t\t\tdefault: REGION_TYPE.TEXTAREA,\n\t\t\tenum: [REGION_TYPE.TEXTAREA]\n\t\t},\n\t\tvalue: {\n\t\t\ttype: 'string'\n\t\t}\n\t}\n};\n\nexport const GranularFeedbackDetails = {\n\ttype: 'object',\n\tproperties: {\n\t\theading: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\ttranslatable: true\n\t\t\t}\n\t\t},\n\t\titems: {\n\t\t\tdefault: null,\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\tanyOf: [\n\t\t\t\t\t\tListItemSchema,\n\t\t\t\t\t\tTextAreaItemSchema\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n","const {v4: uuidv4} = require('uuid');\nimport {t} from 'sn-translate';\n/**\n * This method generates unique id. Which will be used as itemId\n * @returns a unique UUID.\n */\nexport function createUUID() {\n\treturn uuidv4().replace(/-/g, '');\n}\n\n\nexport const generateSerialLabel = (mode, index) => {\n\tlet ind = index;\n\t/**\n\t * util function to generate labels for each checklist element\n\t * mode = none -> For no label\n\t * mode = numeric -> For 1,2, 3 etc\n\t * mode = alphabetic -> For A, B, C\n\t */\n\tif ('numeric'.localeCompare(mode) === 0)\n\t\treturn (`${ind + 1 }.`);\n\telse if ('alphabetic'.localeCompare(mode) === 0) {\n\t\tlet letters = '';\n\t\twhile (ind >= 0) {\n\t\t\tconst i = ind % 26;\n\t\t\tconst j = ind / 26;\n\t\t\tletters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'[i] + letters;\n\t\t\tconst k = Math.floor(j);\n\t\t\tind = k - 1;\n\t\t}\n\t\treturn `${letters }.`;\n\t}\n\n\treturn '';\n\n};\n/**\n * Generates a new empty checklist item for adding it to checklist\n * @returns empty checklist item\n */\nexport const createEmptyChecklistItem = () => {\n\tconst id = createUUID();\n\tconst emptyItem = {\n\t\torder: 1,\n\t\tchecked: false,\n\t\titemId: id,\n\t\tlabel: '',\n\t\tnewLabel: '',\n\t\thasLink: false,\n\t\taddingLink: false,\n\t\terrorMsgForLabel: '',\n\t\tlink : {\n\t\t\ttext: '',\n\t\t\turl: '',\n\t\t\tisLinkEditMode: false,\n\t\t\tnewText: '',\n\t\t\tnewUrl: '',\n\t\t\terrorMsgForLink : ''\n\t\t}\n\t};\n\treturn {...emptyItem};\n};\n/**\n * This method adds extra attributes to passed in checklist data for internal manipulation\n * @param checklistData passed in checklist data\n * @returns updated checklistData\n */\nexport const addInternalProperties = checklistData => {\n\tif (checklistData.length === 0)\n\t\treturn [];\n\tconst s = [];\n\tfor (var i = 0; i < checklistData.length; i++) {\n\t\tconst ss = {...checklistData[i]};\n\t\tss.newLabel = (typeof checklistData[i].label === 'undefined') ? '' : checklistData[i].label;\n\t\tss.addingLink = false;\n\t\tif (ss && typeof ss.link === 'undefined') {\n\t\t\tconst linkObject = {text : '', url: ''};\n\t\t\tss.link = linkObject;\n\t\t}\n\t\tif (ss && ss.link) {\n\t\t\tss.link.isLinkEditMode = (typeof ss.link.errorMsgForLink === 'undefined' || ss.link.errorMsgForLink === '') ? false : true;\n\t\t\tss.link.newText = checklistData[i].link?.text || '';\n\t\t\tss.link.newUrl = checklistData[i].link?.url || '';\n\t\t}\n\t\ts.push(ss);\n\t}\n\treturn s;\n};\n/**\n * This method checks whether given string is a valid URL or not\n * @param urlString passed in urlString\n * @returns boolean value\n */\nexport const isValidUrl = urlString => {\n\tlet formattedUrl;\n\ttry {\n\t\tformattedUrl = new URL(urlString);\n\t} catch (e) {\n\t\treturn false;\n\t}\n\treturn formattedUrl.protocol === 'http:' || formattedUrl.protocol === 'https:';\n};\n/**\n * This method checks whether given URL is external or not\n * @param urlString passed in urlString\n * @returns boolean value\n */\nexport const isExternalUrl = urlString => {\n\tif (isValidUrl(urlString))\n\t\treturn urlString.indexOf(location.hostname) === -1;\n\n\t//incase not a valid url, it could be a href of relative url without base or file or page section or a script - so consider it as internal\n\treturn false;\n\n};\n/** This method creates the json object for error scenarios.\n * @param payload passed in payload data which has item details\n * @returns error object\n */\nexport const getErrorObject = payload => {\n\tconst s = {};\n\ts.itemId = payload.item.itemId;\n\ts.fieldName = payload.name;\n\tif (payload.name === 'url')\n\t\ts.errorMsg = t('Enter a valid link address.');\n\telse if (payload.name === 'label')\n\t\ts.errorMsg = t('Enter a description.');\n\ts.index = payload.index;\n\n\treturn s;\n};\n\n/**\n * This method is use to generate the metadata for usages tracking\n * @param checklistChanges changes done in checklist\n * @param initialCheckListData passed values (props)\n * @param itemsReordered item reordered or not\n * @returns track metrics metadata\n */\nexport const getMetricsDataOnSave = (checklistChanges, initialCheckListData, itemsReordered) => {\n\tlet itemsAddedCount = 0;\n\tlet itemsRemovedCount = 0;\n\tlet\titemsLabelUpdateCount = 0;\n\tlet\titemsLinkTextUpdateCount = 0;\n\tlet\titemsLinkUpdateCount = 0;\n\tlet\titemsLinkAddedCount = 0;\n\tlet\titemsLinkRemovedCount = 0;\n\tlet\titemCustomErrorShown = false;\n\tlet\tlinkCustomErrorShown = false;\n\tlet changes = checklistChanges;\n\n\t/**\n\t * Special case if the list item got reodered\n\t */\n\tif (checklistChanges.actionType === 'editedList' )\n\t\tchanges = checklistChanges.data;\n\n\n\tchanges.map(change => {\n\t\tlet item = change.data;\n\t\tif (checklistChanges.actionType === 'editedList')\n\t\t\titem = change;\n\n\n\t\tif (change.actionType === 'editedItem' || checklistChanges.actionType === 'editedList' ) {\n\t\t\tconst initialCheckListItem = initialCheckListData.filter(data => data.itemId === item.itemId)[0];\n\t\t\tif (initialCheckListItem) {\n\t\t\t\tif (initialCheckListItem.label !== item.label)\n\t\t\t\t\titemsLabelUpdateCount += 1;\n\t\t\t\tif (initialCheckListItem.link && initialCheckListItem.link.text !== item.link.text)\n\t\t\t\t\titemsLinkTextUpdateCount += 1;\n\t\t\t\tif (initialCheckListItem.link && initialCheckListItem.link.url !== item.link.url)\n\t\t\t\t\titemsLinkUpdateCount += 1;\n\t\t\t\tif (initialCheckListItem.hasLink !== item.hasLink) {\n\t\t\t\t\tif (initialCheckListItem.hasLink && !item.hasLink)\n\t\t\t\t\t\titemsLinkRemovedCount += 1;\n\t\t\t\t\tif (!initialCheckListItem.hasLink && item.hasLink)\n\t\t\t\t\t\titemsLinkAddedCount += 1;\n\t\t\t\t}\n\t\t\t\tif (initialCheckListItem.link && initialCheckListItem.errorMsgForLabel !== '')\n\t\t\t\t\titemCustomErrorShown = true;\n\t\t\t\tif (initialCheckListItem.link && initialCheckListItem.link.errorMsgForLink !== '')\n\t\t\t\t\tlinkCustomErrorShown = true;\n\t\t\t} else\n\t\t\t\titemsAddedCount += 1;\n\t\t}\n\t\tif (change.actionType === 'addedItem')\n\t\t\titemsAddedCount += 1;\n\n\t\tif (change.actionType === 'removedItem')\n\t\t\titemsRemovedCount += 1;\n\t});\n\n\t// Special casee for reordered list\n\tif (checklistChanges.actionType === 'editedList') {\n\t\tconst changesLengh = changes.length;\n\t\tconst initialCheckListLengh = initialCheckListData.length;\n\t\titemsRemovedCount = initialCheckListLengh - changesLengh + itemsAddedCount;\n\t}\n\n\tconst metadata = {\n\t\titemsAddedCount,\n\t\titemsRemovedCount,\n\t\titemsLabelUpdateCount,\n\t\titemsLinkTextUpdateCount,\n\t\titemsLinkUpdateCount,\n\t\titemsLinkAddedCount,\n\t\titemsLinkRemovedCount,\n\t\titemsReordered,\n\t\titemCustomErrorShown,\n\t\tlinkCustomErrorShown\n\t};\n\treturn metadata;\n};\n","import '@servicenow/now-checkbox';\nimport '@servicenow/now-text-link';\nimport {generateSerialLabel} from '../../../utils/utils';\n\nconst renderLink = (item, opensWindow) => {\n\tif (item.link && item.link.url) {\n\t\tconst itemLabel = (typeof item.link.text !== 'undefined' && item.link.text !== '') ? item.link.text : item.link.url;\n\t\treturn (<now-text-link label={itemLabel} href={item.link.url} variant=\"primary\" append-to-payload={{item}} underlined={true} opens-window={opensWindow}/> );\n\t}\n};\nconst renderNoPrefix = (item, opensWindow) => (\n\t<div>\n\t\t<div className=\"now-checklist-items-nopref\">\n\t\t\t<div> \n\t\t\t\t<now-checkbox label={item.label} append-to-payload={{item}} checked={item.checked}/>\n\t\t\t\t<div className=\"now-checklist-link-readmode\">{renderLink(item, opensWindow)} </div>\n\t\t\t</div>\n\t\t</div>\n\t</div>);\n\nconst renderWithPrefix = (item, index, prefixType, opensWindow) => (<div>\n\t<div className=\"now-checklist-index\">\n\t\t{generateSerialLabel(prefixType, index)}\n\t</div>\n\t<div className=\"now-checklist-items\">\n\t\t<div> \n\t\t\t<now-checkbox label={item.label} append-to-payload={{item}} checked={item.checked}/>\n\t\t\t<div className=\"now-checklist-link-readmode\">{renderLink(item, opensWindow)} </div>\n\t\t</div>\n\t</div>\n</div>);\nconst readModeView = (item, index, prefixType, opensWindow) => {\n\tconst isNonePrefix = ('none'.localeCompare(prefixType) === 0);\n\treturn (\n\t\t(isNonePrefix) ? renderNoPrefix(item, opensWindow) : renderWithPrefix(item, index, prefixType, opensWindow)\n\t);\n};\n\nexport default readModeView;\n","export const LINK_CLICKED = 'NOW_TEXT_LINK#CLICKED';\nexport const CHECKBOX_ITEM_CLICKED = 'NOW_CHECKBOX#CHECKED_SET';\nexport const LINK_EDIT_BUTTON_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\nexport const LINK_BUTTON_CLICKED = 'NOW_BUTTON_BARE#CLICKED';\nexport const NOW_BUTTON_CLICKED = 'NOW_BUTTON#CLICKED';\nexport const GRIPPER_BUTTON_SELECTED = 'NOW_BUTTON_STATEFUL#SELECTED_SET';\nexport const GRIPPER_FOCUS_OUT = 'NOW_CHECKLIST#GRIPPER_FOCUS_OUT';\nexport const REORDER_ARROW_UP = 'NOW_CHECKLIST#REORDER_ARROW_UP';\nexport const REORDER_ARROW_DOWN = 'NOW_CHECKLIST#REORDER_ARROW_DOWN';\nexport const REORDER_DISCARD = 'NOW_CHECKLIST#REORDER_DISCARD';\nexport const DELETE_BUTTON_CLICKED = 'NOW_CHECKLIST#DELETE_BUTTON_CLICKED';\nexport const DELETE_ITEM_LINK = 'NOW_CHECKLIST#DELETE_ITEM_LINK';\nexport const EDIT_LINK_CLICKED = 'NOW_CHECKLIST#EDIT_LINK_CLICKED';\nexport const SAVE_LINK_EDIT_CLICKED = 'NOW_CHECKLIST#SAVE_LINK_EDIT_CLICKED';\nexport const CANCEL_LINK_EDIT_CLICKED = 'NOW_CHECKLIST#CANCEL_LINK_EDIT_CLICKED';\nexport const TEXTAREAS_EDITED = 'NOW_TEXTAREA#VALUE_SET';\nexport const UPDATE_EDITED_TEXT = 'NOW_CHECKLIST#UPDATE_EDITED_TEXT';\nexport const NOW_CHECKLIST_EDIT_MODE = 'NOW_CHECKLIST#EDIT_MODE';\nexport const NOW_CHECKLIST_ADD_LINK = 'NOW_CHECKLIST#ADD_LINK';\nexport const ADD_CHECKLIST_ITEM = 'NOW_CHECKLIST#ADD_CHECKLIST_ITEM';\nexport const SAVE_EDITTED_CHECKLIST = 'NOW_CHECKLIST#SAVE_EDITTED_CHECKLIST';\nexport const CANCEL_EDITTED_CHECKLIST = 'NOW_CHECKLIST#CANCEL_EDITTED_CHECKLIST';\nexport const NOW_CHECKLIST_ITEMS_REORDERED = 'NOW_CHECKLIST#ITEMS_REORDERED';\nexport const NOW_CHECKLIST_SAVE_CLICKED = 'NOW_CHECKLIST#SAVE_CLICKED';\nexport const TEXT_AREAS_INVALID_SET = 'NOW_TEXTAREA#INVALID_SET';\nexport const NOW_CHECKLIST_ITEM_CLICKED = 'NOW_CHECKLIST#ITEM_CLICKED';\nexport const NOW_CHECKLIST_ITEM_LINK_CLICKED = 'NOW_CHECKLIST#ITEM_LINK_CLICKED';\nexport const NOW_CHECKLIST_EDIT_CLICKED = 'NOW_CHECKLIST#EDIT_CLICKED';\nexport const NOW_CHECKLIST_EDIT_CANCELLED = 'NOW_CHECKLIST#EDIT_CANCELLED';\nexport const UPDATE_VALIDATION_HELPER = 'NOW_CHECKLIST#UPDATE_VALIDATION_HELPER';\nexport const NOW_CHECKLIST_HANDLE_DRAG = 'NOW_CHECKLIST#HANDLE_DRAG';\nexport const INPUT_AREAS_VALID_SET = 'NOW_INPUT#VALUE_SET';\nexport const INPUT_AREAS_INVALID_SET = 'NOW_INPUT#INVALID_SET';\n\n//App usage metric event names\nexport const METRIC_TRACKED = 'NOW_CHECKLIST#METRIC_TRACKED';\nexport const CHECKLIST_INITIAL_LOAD = 'Initial Checklist View';\nexport const CHECKLIST_ITEM_CLICKED = 'Click Checklist Item';\nexport const CHECKLIST_ITEM_LINK_CLICKED = 'Click Checklist Item Link';\nexport const CHECKLIST_EDIT_CLICKED = 'Edit Checklist';\nexport const CHECKLIST_SAVE_CLICKED = 'Save Checklist Edit';\nexport const CHECKLIST_CANCEL_CLICKED = 'Cancel Checklist Edit';\n","import '@servicenow/now-checkbox';\nimport '@servicenow/now-text-link';\nimport {generateSerialLabel} from '../../../utils/utils';\nimport {GRIPPER_FOCUS_OUT} from '../../../globalActions';\n\nimport '@servicenow/now-textarea';\nimport '@servicenow/now-button';\nimport {t} from 'sn-translate';\nimport '@servicenow/now-input';\n\nconst REORDER = t('Reorder');\n\nconst renderLink = (item, index, opensWindow, errMessageLink, isInvalidLink) => {\n\tif (item.link.url) {\n\t\tconst linkLabel = (typeof item.link.text !== 'undefined' && item.link.text !== '') ? item.link.text : item.link.url;\n\t\treturn (\n\t\t\t<div className=\"now-checklist-link-section\">\n\t\t\t\t<now-text-link label={linkLabel} href={item.link.url} variant=\"primary\" append-to-payload={{item}} underlined={true} opens-window={opensWindow} />\n\t\t\t\t<now-button-iconic className=\"now-checklist-edit-link\" icon=\"pencil-outline\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tbare={true}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tconfig-aria={{button: {'aria-label': t('Edit link')}}}\n\t\t\t\t\tappend-to-payload={{id: 'editlink', item}}\n\t\t\t\t\ttooltip-content={t('Edit link')}>\n\t\t\t\t</now-button-iconic>\n\t\t\t\t<now-button-iconic className=\"now-checklist-cancel-link\" icon=\"close-fill\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tbare={true}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tconfig-aria={{button: {'aria-label': t('Remove link')}}}\n\t\t\t\t\tappend-to-payload={{id: 'deletelink', item}}\n\t\t\t\t\ttooltip-content={t('Remove link')}>\n\t\t\t\t</now-button-iconic>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif (typeof item.hasLink !== 'undefined' && !item.hasLink && !item.addingLink) {\n\t\treturn (\n\t\t\t<div className=\"now-checklist-add-link\">\n\t\t\t\t<now-button-bare label={t('Add link')} size=\"sm\" variant=\"secondary\" append-to-payload={{id: 'addLink', index}}>\n\t\t\t\t</now-button-bare>\n\t\t\t</div>);\n\t} else if (item.addingLink) {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<div>\n\t\t\t\t\t<now-input label={t('Link text')} className=\"now-checklist-input-width\" required={false} value={item.link.text} name={'linkText'} append-to-payload={{index, item}}></now-input>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<now-input label={t('Link')} className=\"now-checklist-input-width\" required={true} value={item.link.url} name={'url'} append-to-payload={{index, item}} messages={errMessageLink} invalid={isInvalidLink} manageInvalid={true}></now-input>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"now-checklist-link-buttons\">\n\t\t\t\t\t<now-button-bare className=\"now-checklist-link-cancel-button\" label={t('Cancel')} variant=\"secondary\" size=\"sm\" append-to-payload={{id: 'cancelEditLink'}}></now-button-bare>\n\t\t\t\t\t<now-button label={t('Apply')} variant=\"secondary\" size=\"sm\" append-to-payload={{id: 'saveEditLink'}}></now-button>\n\t\t\t\t</div>\n\n\t\t\t</div>\n\t\t);\n\t}\n\n\n};\n\nconst renderLinkInEditMode = (item, index, errMessageLink, isInvalidLink) => {\n\tif (item.link && item.link.isLinkEditMode) {\n\t\tif (item.link.url) {\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<div><now-input label={t('Link text')} className=\"now-checklist-input-width\" required={false} value={item.link.text} name={'linkText'} append-to-payload={{index, item}}></now-input></div>\n\t\t\t\t\t<div><now-input label={t('Link')} className=\"now-checklist-input-width\" required={true} value={item.link.url} name={'url'} append-to-payload={{index, item}} messages={errMessageLink} invalid={isInvalidLink} manageInvalid={true}></now-input></div>\n\t\t\t\t\t<div className=\"now-checklist-link-buttons\">\n\t\t\t\t\t\t<now-button-bare className=\"now-checklist-link-cancel-button\" label={t('Cancel')} variant=\"secondary\" size=\"sm\" append-to-payload={{id: 'cancelEditLink'}}></now-button-bare>\n\t\t\t\t\t\t<now-button label={t('Apply')} variant=\"secondary\" size=\"sm\" append-to-payload={{id: 'saveEditLink'}}></now-button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t}\n\n};\n\nconst focusOutFromGripper = (event, dispatch ) => {\n\tevent.preventDefault();\n\tdispatch(GRIPPER_FOCUS_OUT);\n};\n\nconst renderNoPrefix = (item, opensWindow, index, errMessageLink, errMessageLabel, isInvalidLabel, isInvalidLink, isReorderGripperSelected, totalItems, dispatch) => {\n\tconst ariaLabelForReorderButton = `${REORDER}, ${item.label} ${isReorderGripperSelected ? '' : `, ${index + 1} of ${totalItems}`}`;\n\treturn (\n\t\t<div className=\"now-checklist-edit-item\">\n\t\t\t<div className=\"now-checklist-draggable-item\">\n\t\t\t\t<now-button-stateful className=\"now-checklist-drag-icon\" icon=\"grid-vertical-fill\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tconfig-aria={{button: {'aria-label': ariaLabelForReorderButton}}}\n\t\t\t\t\ttooltip-content={t('Reorder item')}\n\t\t\t\t\thighlighted\n\t\t\t\t\tmanageSelected\n\t\t\t\t\tselected={isReorderGripperSelected}\n\t\t\t\t\tappend-to-payload={{index}}\n\t\t\t\t\ton-focusout={ event => focusOutFromGripper(event, dispatch)}>\n\t\t\t\t</now-button-stateful>\n\t\t\t</div>\n\t\t\t<div className=\"now-checklist-items-nopref\">\n\t\t\t\t<div> \n\t\t\t\t\t<now-textarea className=\"now-checklist-edit-label\" label={t('Checkbox text')} autoresize={true} resize=\"none\" show-borders={true} value={item.label} required={true} name={'label'} append-to-payload={{index, item}} messages={errMessageLabel} invalid={isInvalidLabel} manageInvalid={true}></now-textarea>\n\t\t\t\t</div>\n\t\t\t\t{(item.link && !item.link.isLinkEditMode) ? renderLink(item, index, opensWindow, errMessageLink, isInvalidLink) :\n\t\t\t\t\trenderLinkInEditMode(item, index, errMessageLink, isInvalidLink)}\n\t\t\t</div>\n\t\t\t<div className=\"now-checklist-remove-item\">\n\t\t\t\t<now-button-iconic icon=\"trash-outline\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tbare={true}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tconfig-aria={{button: {'aria-label': t('Remove item')}}}\n\t\t\t\t\tappend-to-payload={{id: 'deleteitem', item}}\n\t\t\t\t\ttooltip-content={t('Remove item')}>\n\t\t\t\t</now-button-iconic>\n\t\t\t</div>\n\t\t</div>);\n};\nconst renderWithPrefix = (item, index, prefixType, opensWindow, errMessageLink\n\t, errMessageLabel, isInvalidLabel, isInvalidLink, isReorderGripperSelected, totalItems, dispatch) => {\n\tconst ariaLabelForReorderButton = `${REORDER}, ${item.label} ${isReorderGripperSelected ? '' : `, ${index + 1} of ${totalItems}`}`;\n\treturn (\n\t\t<div className=\"now-checklist-edit-item-prefix\">\n\t\t\t<div className=\"now-checklist-draggable-item\">\n\t\t\t\t<now-button-stateful className=\"now-checklist-drag-icon\" icon=\"grid-vertical-fill\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tconfig-aria={{button: {'aria-label': ariaLabelForReorderButton}}}\n\t\t\t\t\ttooltip-content={t('Reorder item')}\n\t\t\t\t\thighlighted\n\t\t\t\t\tmanageSelected\n\t\t\t\t\tselected={isReorderGripperSelected}\n\t\t\t\t\tappend-to-payload={{index}}\n\t\t\t\t\ton-focusout={ event => focusOutFromGripper(event, dispatch)}>\n\t\t\t\t</now-button-stateful>\n\t\t\t</div>\n\t\t\t<div className=\"now-checklist-edit-item-index-edit\">\n\t\t\t\t{generateSerialLabel(prefixType, index)}\n\t\t\t</div>\n\t\t\t<div className=\"now-checklist-items-nopref\">\n\t\t\t\t<div>\n\t\t\t\t\t<now-textarea className=\"now-checklist-edit-label\" label={t('Checkbox text')} autoresize={true} resize=\"none\" show-borders={true} value={item.label} required={true} name={'label'} append-to-payload={{index, item}} messages={errMessageLabel} invalid={isInvalidLabel} manageInvalid={true}></now-textarea>\n\t\t\t\t</div>\n\t\t\t\t{(item.link && !item.link.isLinkEditMode) ? renderLink(item, index, opensWindow, errMessageLink, isInvalidLink) :\n\t\t\t\t\trenderLinkInEditMode(item, index, errMessageLink, isInvalidLink)}\n\t\t\t</div>\n\t\t\t<div className=\"now-checklist-remove-item\">\n\t\t\t\t<now-button-iconic icon=\"trash-outline\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tbare={true}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tconfig-aria={{button: {'aria-label': t('Remove item')}}}\n\t\t\t\t\tappend-to-payload={{id: 'deleteitem', item}}\n\t\t\t\t\ttooltip-content={t('Remove item')}>\n\t\t\t\t</now-button-iconic>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\nconst editModeView = (item, index, prefixType, opensWindow, errMessageLabel,\n\terrMessageLink, isInvalidLabel, isInvalidLink, isReorderGripperSelected, totalItems, dispatch) => {\n\tconst isNonePrefix = ('none'.localeCompare(prefixType) === 0);\n\treturn (\n\n\t\t<div>\n\t\t\t{(isNonePrefix) ? renderNoPrefix(item, opensWindow, index, errMessageLink,\n\t\t\t\terrMessageLabel, isInvalidLabel, isInvalidLink, isReorderGripperSelected, totalItems, dispatch) : renderWithPrefix(item, index, prefixType, opensWindow\n\t\t\t\t, errMessageLink, errMessageLabel, isInvalidLabel, isInvalidLink, isReorderGripperSelected, totalItems, dispatch)}\n\t\t</div>\n\n\t);\n};\n\nexport default editModeView;\n","import readModeView from './views/readModeView';\nimport '@servicenow/now-template-message';\nimport '@servicenow/now-text-link';\nimport editModeView from './views/editModeView';\n\nconst view = (state, {dispatch}) => {\n\tconst {properties} = state;\n\tconst {opensWindow, prefixType, isEditMode, item, index, showDivider, showDividerLineBefore, isReorderGripperSelected, totalItems} = properties;\n\tconst isInvalidLabel = (typeof item.errorMsgForLabel === 'undefined' || item.errorMsgForLabel === '') ? false : true;\n\tconst isInvalidLink = (typeof item.link === 'undefined') ? false : (typeof item.link.errorMsgForLink === 'undefined' || item.link.errorMsgForLink === '') ? false : true;\n\tconst errMsgLabel = (typeof item.errorMsgForLabel === 'undefined' || item.errorMsgForLabel === '') ? [] : [{status: 'critical', icon: 'circle-info-outline', content: item.errorMsgForLabel}];\n\tconst errMsgLink = (typeof item.link === 'undefined') ? false : (typeof item.link.errorMsgForLink === 'undefined' || item.link.errorMsgForLink === '') ? [] : [{status: 'critical', icon: 'circle-info-outline', content: item.link.errorMsgForLink}];\n\treturn (\n\t\t<div className=\"now-checklist-item\" draggable={isEditMode ? 'true' : 'false'}>\n\t\t\t{ showDivider && showDividerLineBefore ? <hr className=\"now-checklist-item-divider\"/> : null }\n\t\t\t{(isEditMode) ? editModeView(item, index, prefixType, opensWindow, errMsgLabel,\n\t\t\t\terrMsgLink, isInvalidLabel, isInvalidLink, isReorderGripperSelected, totalItems, dispatch) : readModeView(item, index, prefixType, opensWindow)}\n\t\t\t{ showDivider && !showDividerLineBefore ? <hr className=\"now-checklist-item-divider\"/> : null }\n\t\t</div>\n\t);\n};\n\nexport default view;\n","import {LINK_EDIT_BUTTON_CLICKED, LINK_BUTTON_CLICKED, DELETE_BUTTON_CLICKED, DELETE_ITEM_LINK, EDIT_LINK_CLICKED, CANCEL_LINK_EDIT_CLICKED, SAVE_LINK_EDIT_CLICKED, TEXTAREAS_EDITED, UPDATE_EDITED_TEXT, NOW_CHECKLIST_ADD_LINK, TEXT_AREAS_INVALID_SET, UPDATE_VALIDATION_HELPER, NOW_BUTTON_CLICKED, INPUT_AREAS_VALID_SET, INPUT_AREAS_INVALID_SET} from '../../globalActions';\nimport {getErrorObject} from './../../utils/utils';\n\n/**\n * Dispatches EDIT_LINK_CLICKED when user clicks on edit link button\n * Dispatches DELETE_ITEM_LINK when user clicks on X icon on the checklist item link\n *   Dispatched DELETE_BUTTON_CLICKED when user clicks on delete icon on the checklist item\n */\nconst linkEditOrDeleteClicked = coeffects => {\n\tconst {action, state, dispatch} = coeffects;\n\tswitch (action.payload.id) {\n\t\tcase 'editlink' : dispatch(EDIT_LINK_CLICKED, {index : state.properties.index});\n\t\t\tbreak;\n\t\tcase 'deletelink' : dispatch(DELETE_ITEM_LINK, {index : state.properties.index});\n\t\t\tbreak;\n\t\tcase 'deleteitem' : dispatch(DELETE_BUTTON_CLICKED, {item : state.properties.item});\n\t\t\tbreak;\n\t\tdefault : break;\n\t}\n};\n/**\n * Dispatches CANCEL_LINK_EDIT_CLICKED when user cancels editing the checklist item link\n * Dispatches SAVE_LINK_EDIT_CLICKED when user clicks on Apply button to save changes on the checklist item link\n */\nconst cancelOrAddLinkEdit = coeffects => {\n\tconst {action, state, dispatch} = coeffects;\n\tswitch (action.payload.id) {\n\t\tcase 'cancelEditLink' : dispatch(CANCEL_LINK_EDIT_CLICKED, {index : state.properties.index});\n\t\t\tbreak;\n\t\tcase 'addLink' : dispatch(NOW_CHECKLIST_ADD_LINK, action.payload);\n\t\t\tbreak;\n\t\tdefault : break;\n\t}\n};\n/**\n * Dispatches CANCEL_LINK_EDIT_CLICKED when user cancels editing the checklist item link\n * Dispatches SAVE_LINK_EDIT_CLICKED when user clicks on Apply button to save changes on the checklist item link\n */\nconst saveLinkEdit = coeffects => {\n\tconst {action, state, dispatch} = coeffects;\n\tif (action.payload.id === 'saveEditLink')\n\t\tdispatch(SAVE_LINK_EDIT_CLICKED, {index : state.properties.index});\n};\n/**\n * Dispatches UPDATE_EDITED_TEXT when user edits checklist item label or link text or link url\n *\n */\nconst textAreasEdited = coeffects => {\n\tconst {action, dispatch} = coeffects;\n\tconst updatedItem = action.payload.item;\n\tvar dispatchRequired = true;\n\tswitch (action.payload.name) {\n\t\tcase 'linkText' : updatedItem.link.newText = action.payload.value;\n\t\t\tif (updatedItem.link.text === action.payload.value)\n\t\t\t\tdispatchRequired = false;\n\t\t\tbreak;\n\t\tcase 'url' : updatedItem.link.newUrl = action.payload.value;\n\t\t\tif (updatedItem.link.url === action.payload.value)\n\t\t\t\tdispatchRequired = false;\n\t\t\tif (action.payload.value === '')\n\t\t\t\tupdatedItem.hasLink = false;\n\t\t\tbreak;\n\t\tcase 'label' :\tupdatedItem.link.newText = updatedItem.link.text;\n\t\t\tupdatedItem.link.newUrl = updatedItem.link.url;\n\t\t\tif (updatedItem.label === action.payload.value)\n\t\t\t\tdispatchRequired = false;\n\t\t\tif ( updatedItem.label === '') {\n\t\t\t\tupdatedItem.label = action.payload.value;\n\t\t\t\tupdatedItem.newLabel = action.payload.value;\n\t\t\t} else {\n\t\t\t\tupdatedItem.label = action.payload.value;\n\t\t\t\tupdatedItem.newLabel = action.payload.value;\n\t\t\t}\n\t\t\tbreak;\n\t\tdefault : break;\n\t}\n\tif (dispatchRequired)\n\t\tdispatch(UPDATE_EDITED_TEXT, {item: updatedItem, index: action.payload.index, actionType: action.payload.name});\n};\n/**\n * This method helps in handling the invalid textareas.\n * Dispatched UPDATE_VALIDATION_HELPER for updating the internal helpers for errors validation on Save/Apply\n * Dispatches UPDATE_EDITED_TEXT to let user update the data\n */\nconst handleInvalidSetOnTextArea = coeffects => {\n\tconst {action, dispatch} = coeffects;\n\tif (action.payload.fieldValue === '') {\n\t\tconst errorObject = getErrorObject(action.payload);\n\t\tdispatch(UPDATE_VALIDATION_HELPER, {validationHelperItem: errorObject, actionType: 'showError'});\n\t\tconst updatedItem = JSON.parse(JSON.stringify(action.payload.item));\n\t\tswitch (action.payload.name) {\n\t\t\tcase 'linkText' : updatedItem.link.newText = action.payload.fieldValue;\n\t\t\t\tbreak;\n\t\t\tcase 'url' : updatedItem.link.newUrl = action.payload.fieldValue;\n\t\t\t\tupdatedItem.link.errorMsgForLink = '';\n\t\t\t\tif (action.payload.value === '')\n\t\t\t\t\tupdatedItem.hasLink = false;\n\t\t\t\tbreak;\n\t\t\tcase 'label' : updatedItem.newLabel = action.payload.fieldValue;\n\t\t\t\tupdatedItem.label = action.payload.fieldValue;\n\t\t\t\tupdatedItem.errorMsgForLabel = '';\n\t\t\t\tbreak;\n\t\t\tdefault : break;\n\t\t}\n\t\tdispatch(UPDATE_EDITED_TEXT, {item: updatedItem, index: action.payload.index, actionType: action.payload.name});\n\t} else {\n\t\tdispatch(UPDATE_VALIDATION_HELPER, {payload: action.payload, actionType: 'removeError'});\n\t\tconst updatedItem = JSON.parse(JSON.stringify(action.payload.item));\n\t\tvar dispatchRequired = true;\n\t\tswitch (action.payload.name) {\n\t\t\tcase 'linkText' : updatedItem.link.newText = action.payload.fieldValue;\n\t\t\t\tif (updatedItem.link.text === action.payload.fieldValue)\n\t\t\t\t\tdispatchRequired = false;\n\t\t\t\tbreak;\n\t\t\tcase 'url' : updatedItem.link.newUrl = action.payload.fieldValue;\n\t\t\t\tupdatedItem.link.errorMsgForLink = '';\n\t\t\t\tif (updatedItem.link.url === action.payload.fieldValue)\n\t\t\t\t\tdispatchRequired = false;\n\t\t\t\tif (action.payload.value === '')\n\t\t\t\t\tupdatedItem.hasLink = false;\n\t\t\t\telse\n\t\t\t\t\tupdatedItem.hasLink = true;\n\t\t\t\tbreak;\n\t\t\tcase 'label' : if (updatedItem.label === action.payload.fieldValue)\n\t\t\t\tdispatchRequired = false;\n\t\t\t\tupdatedItem.newLabel = action.payload.fieldValue;\n\t\t\t\tupdatedItem.label = action.payload.fieldValue;\n\t\t\t\tupdatedItem.errorMsgForLabel = '';\n\t\t\t\tbreak;\n\t\t\tdefault : break;\n\t\t}\n\t\tif (dispatchRequired)\n\t\t\tdispatch(UPDATE_EDITED_TEXT, {item: updatedItem, index: action.payload.index, actionType: action.payload.name});\n\t}\n};\n\nexport const nowChecklistItemActionHandlers = {\n\t[LINK_EDIT_BUTTON_CLICKED] : {\n\t\teffect : linkEditOrDeleteClicked,\n\t\tstopPropagation: true\n\t},\n\t[LINK_BUTTON_CLICKED] : {\n\t\teffect: cancelOrAddLinkEdit,\n\t\tstopPropagation: true\n\t},\n\t[TEXTAREAS_EDITED] : {\n\t\teffect: textAreasEdited,\n\t\tstopPropagation: true\n\t},\n\t[TEXT_AREAS_INVALID_SET] : {\n\t\teffect: handleInvalidSetOnTextArea,\n\t\tstopPropagation: true\n\t},\n\t[NOW_BUTTON_CLICKED] : {\n\t\teffect : saveLinkEdit,\n\t\tstopPropagation : true\n\t},\n\t[INPUT_AREAS_VALID_SET] : {\n\t\teffect : textAreasEdited,\n\t\tstopPropagation: true\n\t},\n\t[INPUT_AREAS_INVALID_SET] : {\n\t\teffect: handleInvalidSetOnTextArea,\n\t\tstopPropagation: true\n\t}\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-checkbox';\nimport view from './view';\nimport {nowChecklistItemActionHandlers} from './nowChecklistItemActionHandlers';\nimport styles from '../styles.scss';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport {NOW_CHECKLIST_ITEMS_REORDERED, NOW_CHECKLIST_HANDLE_DRAG, REORDER_ARROW_UP, REORDER_ARROW_DOWN, REORDER_DISCARD} from '../../globalActions';\n\n/**\n * Checklist is a group of checkboxes used to select or deselect any number of independent options from a list.\n *\n * @seismicElement now-checklist\n * @summary Displays all the input items in a form of checklist.\n * These items can be independently marked as checked/unchecked by the user.\n *\n * @uib.label Checklist\n * @uib.icon tile-uib-now-checklist-1-sm\n * @uib.description A group of checkboxes used to select or deselect any number of independent options from a list..\n * @uib.category component\n * @uib.associatedTypes global.core\n * @uib.properties prefixType, checklistData, opensWindow, emptyStateTitle, emptyStateMsg\n * @uib.actions NOW_CHECKLIST#ITEM_CLICKED, NOW_CHECKLIST#ITEM_LINK_CLICKED\n *\n */\ncreateCustomElement('now-checklist-item', {\n\trenderer: {type: snabbdom},\n\tview,\n\tstyles,\n\tproperties: {\n\t\t/**\n\t\t * Prefix for checklist item.\n\t\t *\n\t\t * @type {string}\n\t\t *\n\t\t * @uib.label Prefixes\n\t\t * @uib.defaultValue none\n\t\t * @uib.description Determines if checkboxes will be ordered, and\n\t\t * provides options for numeric or alphabetic prefixes\n\t\t */\n\t\tprefixType : {\n\t\t\tschema: {type: 'string'},\n\t\t\tdefault : 'none'\n\t\t},\n\t\t/**\n\t\t * Specifies where should the checklist item link opens on click.\n\t\t * @type {boolean}\n\t\t * @uib.label Open links in a new window\n\t\t * @uib.defaultValue false\n\t\t * @uib.description Opens link in a new window or tab (depending on user's browser configuration).\n\t\t * \\\"Link opens in new window\\\" is announced to assistive technology users\n\t\t */\n\t\topensWindow : {\n\t\t\tschema: {type: 'boolean'},\n\t\t\tdefault : false\n\t\t},\n\t\t/**\n\t\t * Specifies 'heading' property for <now-template-message-empty-state>\n\t\t * component when no data is available in checklist\n\t\t * @type {string}\n\t\t * @uib.label Empty state title\n\t\t * @uib.defaultValue No items in checklist\n\t\t * @uib.description Primary text to display in the empty state message.\n\t\t */\n\t\temptyStateTitle : {\n\t\t\tschema: {type: 'string'},\n\t\t\tdefault : 'No items in checklist'\n\t\t},\n\t\t/**\n\t\t * Specifies 'content' property for <now-template-message-empty-state>\n\t\t * component when no data is available in checklist\n\t\t * @type {string}\n\t\t * @uib.label Empty state message\n\t\t * @uib.defaultValue \"\"\n\t\t * @uib.description Secondary text to display in the empty state message.\n\t\t */\n\t\temptyStateMsg : {\n\t\t\tschema: {type: 'string'},\n\t\t\tdefault : ''\n\t\t},\n\t\t/**\n\t\t * Specifies whether user can edit the checklist items.\n\t\t * @type {boolean}\n\t\t * @uib.label Allow editing\n\t\t * @uib.defaultValue false\n\t\t * @uib.description Specifies whether user can edit the checklist items\n\t\t */\n\t\tallowEditing : {\n\t\t\tschema : {type: 'boolean'},\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Specifies whether checklist is in edit mode. Used internally\n\t\t * @type {boolean}\n\t\t */\n\t\tisEditMode: {\n\t\t\tschema : {type: 'boolean'},\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Specifies an individual checklist item. Used internally\n\t\t * @type {object}\n\t\t */\n\t\titem : {\n\t\t\tschema : {type: 'object'},\n\t\t\tdefault: {}\n\t\t},\n\t\t/**\n\t\t * Specifies the index of an individual checklist item. Used internally\n\t\t * @type {number}\n\t\t */\n\t\tindex : {\n\t\t\tschema : {type: 'number'},\n\t\t\tdefault: 0\n\t\t},\n\t\t/**\n\t\t * Specifies whether to show divider line with checklist item in edit mode\n\t\t * @type {boolean}\n\t\t */\n\t\tshowDivider: {\n\t\t\tschema : {type: 'boolean'},\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Specifies whether to show divider line before checklist item in edit mode\n\t\t * @type {boolean}\n\t\t */\n\t\tshowDividerLineBefore: {\n\t\t\tschema : {type: 'boolean'},\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Specifies whether the reorder gripper buttom is selected for the checklist item in edit mode\n\t\t * @type {boolean}\n\t\t */\n\t\tisReorderGripperSelected: {\n\t\t\tschema : {type: 'boolean'},\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Specifies the total number of checklist items, used internally for aria accessibiltiy\n\t\t * @type {boolean}\n\t\t */\n\t\ttotalItems: {\n\t\t\tschema: {type: 'number'},\n\t\t\tdefault: 0\n\t\t}\n\t},\n\tactionHandlers: nowChecklistItemActionHandlers,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when any checklist item is checked/unchecked.\n\t\t *  Payload:  `{`\"checked\": true/false, \"itemId\": \"xxxx\"`}`\n\t\t */\n\t\tITEM_CLICKED: {},\n\n\t\t/**\n\t\t * Dispatched everytime a link is clicked for any checklist item\n\t\t * Payload: `{` \"itemId\": \"xxxx\", \"link\" : `{`\"text\": \"sample link1\", \"url\": \"abcd.com\"`}``}`\n\t\t */\n\t\tITEM_LINK_CLICKED: {}\n\t},\n\tbehaviors: [{behavior: rtlBehavior}],\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['dragstart'],\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\tstate: {properties}\n\t\t\t\t} = coeffects;\n\t\t\t\tcoeffects.action.payload.event.dataTransfer.setData(\n\t\t\t\t\t'application/json',\n\t\t\t\t\tJSON.stringify(properties)\n\t\t\t\t);\n\t\t\t\tcoeffects.dispatch(NOW_CHECKLIST_HANDLE_DRAG, {\n\t\t\t\t\tstartIndex: properties.index\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tevents: ['drop'],\n\t\t\teffect(coeffects) {\n\t\t\t\tconst properties = JSON.parse(\n\t\t\t\t\tcoeffects.action.payload.event.dataTransfer.getData(\n\t\t\t\t\t\t'application/json'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tcoeffects.dispatch(NOW_CHECKLIST_ITEMS_REORDERED, {\n\t\t\t\t\tdraggedElementData: properties.item,\n\t\t\t\t\thostElementData: coeffects.properties.item\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tevents: ['dragenter'],\n\t\t\teffect(coeffects) {\n\t\t\t\tconst intVal = coeffects.action.payload.event.target.dataset.checklistid ? parseInt(coeffects.action.payload.event.target.dataset.checklistid) : 0;\n\t\t\t\tcoeffects.dispatch(NOW_CHECKLIST_HANDLE_DRAG, {\n\t\t\t\t\tdividerPosition : intVal,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tevents: ['dragend'],\n\t\t\teffect(coeffects) {\n\t\t\t\tcoeffects.dispatch(NOW_CHECKLIST_HANDLE_DRAG, {\n\t\t\t\t\tdividerPosition : -1,\n\t\t\t\t\tstartIndex: -1\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tevents: ['keydown'],\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {properties, dispatch, action: {\n\t\t\t\t\tpayload: {event: event}\n\t\t\t\t}} = coeffects;\n\t\t\t\tif (properties.isReorderGripperSelected) {\n\t\t\t\t\tif (event.key === 'ArrowUp') {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tdispatch(REORDER_ARROW_UP);\n\t\t\t\t\t}\n\t\t\t\t\tif (event.key === 'ArrowDown') {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tdispatch(REORDER_ARROW_DOWN);\n\t\t\t\t\t}\n\t\t\t\t\tif (event.key === 'Escape') {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tdispatch(REORDER_DISCARD);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t]\n});\n","import '@servicenow/now-template-message';\nimport '@servicenow/now-text-link';\nimport {t} from 'sn-translate';\nimport './now-checklist-item';\nimport '@servicenow/now-loader';\nimport '@servicenow/now-button';\n\nconst renderItemView = state => {\n\tconst {properties, checklistData, dividerPosition, showDividerLineBefore, selectedGripperIndex, ariaLiveMessage} = state;\n\tconst {opensWindow, prefixType, allowEditing, showLoadingSpinner, isEditMode} = properties;\n\tconst totalItems = checklistData.length;\n\treturn (\n\t\t<div>\n\t\t\t{\n\t\t\t\tchecklistData.map((item, index) => {\n\t\t\t\t\tconst showDivider = dividerPosition === index ? true : false;\n\t\t\t\t\tconst isReorderGripperSelected = selectedGripperIndex === index ? true : false;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<now-checklist-item isEditMode={isEditMode} item={item} prefixType={prefixType}\n\t\t\t\t\t\t\topensWindow={opensWindow} index={index} data-checklistid={index} showDivider={showDivider}\n\t\t\t\t\t\t\tshowDividerLineBefore={showDividerLineBefore} isReorderGripperSelected={isReorderGripperSelected}\n\t\t\t\t\t\t\tariaLiveMessage={ariaLiveMessage} totalItems={totalItems}/>\n\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t}\n\t\t\t{(!showLoadingSpinner && isEditMode) ? (<div>\n\t\t\t\t<div>\n\t\t\t\t\t<now-button-bare label={t('Add item')} variant=\"secondary\" size=\"md\" append-to-payload={{id: 'addItem'}}></now-button-bare>\n\t\t\t\t\t<div className=\"now-checklist-save-cancel\">\n\t\t\t\t\t\t<div className=\"now-checklist-cancel-edit\">\n\t\t\t\t\t\t\t<now-button label={t('Cancel')} variant=\"secondary\" size=\"md\" append-to-payload={{id: 'cancelEditing'}}></now-button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"now-checklist-save-edit\">\n\t\t\t\t\t\t\t<now-button label={t('Save')} variant=\"primary\" size=\"md\" append-to-payload={{id: 'saveEditing'}}></now-button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"now-checklist-sr-only\" role=\"region\" id=\"record\" aria-live=\"assertive\">{ariaLiveMessage}</div>\n\t\t\t\t</div>\n\t\t\t</div>) : (null)}\n\t\t\t{(allowEditing && !isEditMode) ? (<div><now-button-bare label={t('Edit')} variant=\"secondary\" size=\"md\" append-to-payload={{id: 'Edit'}}/></div>) : null}\n\t\t</div>\n\t);\n};\nconst emptyStateWithEditMode = state => {\n\tconst {properties} = state;\n\tconst {emptyStateTitle, emptyStateMsg} = properties;\n\tconst emptyTitle = {label: emptyStateTitle, level: '4'};\n\treturn (\n\t\t<div className='now-cl-emptylist-iseditmode'>\n\t\t\t<div>\n\t\t\t\t<now-template-message-empty-state\n\t\t\t\t\talignment=\"vertical-centered\"\n\t\t\t\t\tcontent={emptyStateMsg}\n\t\t\t\t\theading={emptyTitle}\n\t\t\t\t\tillustration=\"no-data\" />\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<now-button-bare label={t('Add item')} variant=\"primary\" size=\"md\" append-to-payload={{id: 'Add item'}}></now-button-bare>\n\t\t\t\t<div className=\"now-checklist-save-cancel\">\n\t\t\t\t\t<div className=\"now-checklist-cancel-edit\">\n\t\t\t\t\t\t<now-button label={t('Cancel')} variant=\"secondary\" size=\"md\" append-to-payload={{id: 'cancelEditing'}}></now-button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"now-checklist-save-edit\">\n\t\t\t\t\t\t<now-button label={t('Save')} variant=\"secondary\" size=\"md\" append-to-payload={{id: 'saveEditing'}}></now-button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nconst emptyStateWithAllowEdit = state => {\n\tconst {properties} = state;\n\tconst {emptyStateTitle, emptyStateMsg, allowEditing} = properties;\n\tconst emptyTitle = {label: emptyStateTitle, level: '4'};\n\treturn (\n\t\t<div className='now-cl-emptylist-iseditmode'>\n\t\t\t<div>\n\t\t\t\t<now-template-message-empty-state\n\t\t\t\t\talignment=\"vertical-centered\"\n\t\t\t\t\tcontent={emptyStateMsg}\n\t\t\t\t\theading={emptyTitle}\n\t\t\t\t\tillustration=\"no-data\" />\n\t\t\t</div>\n\t\t\t{(allowEditing) ? (<div>\n\t\t\t\t<now-button-bare label={t('Add item')} variant=\"primary\" size=\"md\" append-to-payload={{id: 'Add item'}}></now-button-bare>\n\t\t\t</div>) : null}\n\t\t</div>\n\t);\n};\nconst view = state => {\n\tconst {properties, checklistData} = state;\n\tconst {showLoadingSpinner, isEditMode} = properties;\n\n\tlet isEmpty = false;\n\tif (typeof checklistData === 'undefined')\n\t\tisEmpty = true;\n\n\telse if (!checklistData.length)\n\t\tisEmpty = true;\n\treturn (\n\t\t<div className=\"now-checklist\" on-dragover={event => event.preventDefault()}>\n\t\t\t{\n\t\t\t\t(isEmpty) ? ( (isEditMode) ?\n\t\t\t\t\t(emptyStateWithEditMode(state)) : (emptyStateWithAllowEdit(state))) : ((showLoadingSpinner) ? (<now-loader size=\"lg\"></now-loader>) : (renderItemView(state)))\n\t\t\t}\n\t\t</div>\n\t);\n};\n\nexport default view;\n","import {DELETE_BUTTON_CLICKED, LINK_CLICKED, NOW_CHECKLIST_ITEM_LINK_CLICKED, CHECKLIST_ITEM_LINK_CLICKED, CHECKLIST_ITEM_CLICKED, CHECKBOX_ITEM_CLICKED, DELETE_ITEM_LINK, EDIT_LINK_CLICKED, CANCEL_LINK_EDIT_CLICKED, SAVE_LINK_EDIT_CLICKED, UPDATE_EDITED_TEXT, NOW_CHECKLIST_ADD_LINK, LINK_BUTTON_CLICKED, NOW_CHECKLIST_ITEMS_REORDERED, METRIC_TRACKED, CHECKLIST_INITIAL_LOAD, NOW_CHECKLIST_SAVE_CLICKED, NOW_CHECKLIST_EDIT_CLICKED, NOW_CHECKLIST_EDIT_CANCELLED, UPDATE_VALIDATION_HELPER, NOW_BUTTON_CLICKED, NOW_CHECKLIST_HANDLE_DRAG, GRIPPER_BUTTON_SELECTED, GRIPPER_FOCUS_OUT, REORDER_ARROW_DOWN, REORDER_ARROW_UP, REORDER_DISCARD, CHECKLIST_EDIT_CLICKED, CHECKLIST_SAVE_CLICKED, CHECKLIST_CANCEL_CLICKED, NOW_CHECKLIST_ITEM_CLICKED} from '../globalActions';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {createEmptyChecklistItem, addInternalProperties, isExternalUrl, getMetricsDataOnSave} from '../utils/utils';\nimport track from '@devsnc/ux-metrics';\nimport {t} from 'sn-translate';\n\n\nconst {COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED} = actionTypes;\n\n/**\n * Updates the state of checlist component when the edit button is clicked\n */\nconst globalEditClicked = coeffects => {\n\tconst {dispatch} = coeffects;\n\tdispatch(NOW_CHECKLIST_EDIT_CLICKED);\n\tdispatch(METRIC_TRACKED, {eventName: CHECKLIST_EDIT_CLICKED});\n};\n/**\n *\n * Helper method for refactoring the payload in cases other than reordering\n */\nfunction refactorDeltaPayload (checklistChanges) {\n\tif (checklistChanges.length === 0)\n\t\treturn [];\n\tconst s = [];\n\tfor (var i = 0; i < checklistChanges.length; i++) {\n\t\tconst obj = {...checklistChanges[i]};\n\t\tif (obj.data.link.text !== obj.data.link.newText)\n\t\t\tobj.data.link.text = obj.data.link.newText;\n\t\tif (obj.data.link.url !== obj.data.link.newUrl)\n\t\t\tobj.data.link.url = obj.data.link.newUrl;\n\t\tdelete obj.data.newLabel;\n\t\tdelete obj.data.addingLink;\n\t\tdelete obj.data.link.isLinkEditMode;\n\t\tdelete obj.data.link.newText;\n\t\tdelete obj.data.link.newUrl;\n\t\tdelete obj.itemId;\n\t\ts.push(obj);\n\t}\n\treturn s;\n}\n/**\n *\n * Helper method for refactoring the payload in case of reordering\n */\nfunction refactorStatePayload (checklistData, checklistChanges) {\n\tif (checklistData.length === 0)\n\t\treturn [];\n\tconst s = [];\n\tlet index = -1;\n\tfor (var i = 0; i < checklistData.length; i++) {\n\t\tindex = checklistChanges.findIndex((obj => obj.itemId === checklistData[i].itemId));\n\t\tconst obj = (index !== -1) ? {...checklistChanges[index].data} : {...checklistData[i]};\n\t\tif (obj.link.text !== obj.link.newText)\n\t\t\tobj.link.text = obj.link.newText;\n\t\tif (obj.link.url !== obj.link.newUrl)\n\t\t\tobj.link.url = obj.link.newUrl;\n\t\tobj.order = 10 * (i + 1);\n\t\tdelete obj.newLabel;\n\t\tdelete obj.addingLink;\n\t\tdelete obj.link.isLinkEditMode;\n\t\tdelete obj.link.newText;\n\t\tdelete obj.link.newUrl;\n\t\ts.push(obj);\n\t\tindex = -1;\n\t}\n\n\tconst payloadObj = {actionType: 'editedList', data: s};\n\treturn payloadObj;\n}\n\n/**\n *\n * Helper method for finding if an item is edited\n */\nfunction isItemEdited (isItemEditedItemId, checklistChanges) {\n\treturn checklistChanges.some(el => el.itemId === isItemEditedItemId);\n}\n/**\n *\n * Helper method for updating the changes to the edited item.\n */\nfunction getUpdateChanges(checklistItem, checklistChanges) {\n\tconst checklistChangesNew = [...checklistChanges];\n\tconst objIndex = checklistChangesNew.findIndex((obj => obj.itemId === checklistItem.itemId));\n\tchecklistChangesNew[objIndex].data = {...checklistItem};\n\treturn checklistChangesNew;\n}\n/**\n * This is a helper method which removes the deleted checklist item\n * @param checklistData Original checklist data\n * @param idToRemove id of the item to be removed\n * @returns\n */\nconst removeItemFromList = (checklistData, idToRemove) => checklistData.filter(item => item.itemId !== idToRemove);\n/**\n * Updated the state of checklist when an item is removed\n *\n */\nconst deleteButtonClicked = coeffects => {\n\tconst {state, action, updateState} = coeffects;\n\tconst newchecklistChanges = state.checklistChanges;\n\t//Adding the changes to the other object\n\tconst changesObject = {actionType: 'removedItem', itemId: action.payload.item.itemId, data: action.payload.item};\n\tnewchecklistChanges.push(changesObject);\n\tconst newChecklistData = removeItemFromList(state.checklistData, action.payload.item.itemId);\n\tupdateState({\n\t\t...state.properties,\n\t\tchecklistData : newChecklistData,\n\t\tchecklistChanges: newchecklistChanges,\n\t\tcurrentItemCount: state.currentItemCount - 1\n\t});\n};\n\n/**\n *\n * Updates the state of the checklist when an item link is deleted\n */\nconst deleteItemLink = coeffects => {\n\tconst {state, action, updateState} = coeffects;\n\tconst newChecklistData = JSON.parse(JSON.stringify(state.checklistData));\n\tconst newchecklistChanges = JSON.parse(JSON.stringify(state.checklistChanges));\n\tconst {index} = action.payload;\n\tnewChecklistData[index].link.text = '';\n\tnewChecklistData[index].link.url = '';\n\tnewChecklistData[index].link.newText = '';\n\tnewChecklistData[index].link.newUrl = '';\n\tnewChecklistData[index].link.isLinkEditMode = false;\n\tnewChecklistData[index].hasLink = false;\n\tnewChecklistData[index].addingLink = false;\n\t//Adding the changes to the other object\n\n\tif (isItemEdited(newChecklistData[index].itemId, newchecklistChanges)) {\n\t\tconst updatedChecklistChanges = getUpdateChanges(newChecklistData[index], newchecklistChanges);\n\t\tupdateState({\n\t\t\t...state,\n\t\t\tchecklistData : newChecklistData,\n\t\t\tchecklistChanges: updatedChecklistChanges\n\t\t});\n\t} else {\n\t\t//Adding the changes to the other object\n\t\tconst changesObject = {actionType: 'editedItem', itemId: newChecklistData[index].itemId, data: newChecklistData[index]};\n\t\tnewchecklistChanges.push(changesObject);\n\t\tupdateState({\n\t\t\t...state,\n\t\t\tchecklistData : newChecklistData,\n\t\t\tchecklistChanges: newchecklistChanges\n\t\t});\n\t}\n};\n/**\n *\n * Updates the state of the checklist when an item link is edited\n */\nconst editLinkClicked = coeffects => {\n\tconst {state, action, updateState} = coeffects;\n\tconst newChecklistData = JSON.parse(JSON.stringify(state.checklistData));\n\tconst {index} = action.payload;\n\tnewChecklistData[index].link.isLinkEditMode = true;\n\tupdateState({\n\t\t...state,\n\t\tchecklistData : newChecklistData\n\t});\n};\n/**\n *\n * Updates the state of the checklist when user cancel the editing of an item link\n */\nconst cancelLinkEditClicked = coeffects => {\n\tconst {state, action, updateState} = coeffects;\n\tconst newChecklistData = [...state.checklistData];\n\tconst newchecklistChanges = [...state.checklistChanges];\n\tconst {index} = action.payload;\n\tconst item = {...newChecklistData[index]};\n\titem.link.isLinkEditMode = false;\n\titem.link.newText = (item.link.text === '') ? '' : item.link.text;\n\titem.link.newUrl = (item.link.url === '') ? '' : item.link.url;\n\titem.addingLink = false;\n\tif (item.link.url === '')\n\t\titem.hasLink = false;\n\t//updating changes\n\tif (isItemEdited(item.itemId, newchecklistChanges)) {\n\t\tnewchecklistChanges.splice(newchecklistChanges.findIndex(a => (a.itemId === newChecklistData[index].itemId && a.data.label === newChecklistData[index].label)), 1);\n\t\tnewChecklistData[index] = {...item};\n\t\tupdateState({\n\t\t\t...state,\n\t\t\tchecklistData : newChecklistData,\n\t\t\tchecklistChanges: newchecklistChanges\n\t\t});\n\t} else {\n\t\tnewChecklistData[index] = {...item};\n\t\tupdateState({\n\t\t\t...state,\n\t\t\tchecklistData : newChecklistData\n\t\t});\n\t}\n\n};\n/**\n *\n * Updates the state of the checklist when user saves the changes to checklist item link\n */\nconst saveLinkEditClicked = coeffects => {\n\tconst {state, action, updateState} = coeffects;\n\tconst newChecklistData = [...state.checklistData];\n\tconst checklistChanges = [...state.checklistChanges];\n\tconst validationHelper = [...state.validationHelper];\n\tconst {index} = action.payload;\n\tconst item = {...newChecklistData[index]};\n\tif (item.link.newUrl === '') {\n\t\tif (item.link.url === '' && item.link.newText !== '') {\n\t\t\titem.link.errorMsgForLink = t('Enter a valid link address.');\n\t\t\tnewChecklistData[index] = {...item};\n\t\t\tupdateState({\n\t\t\t\t...state,\n\t\t\t\tchecklistData : newChecklistData\n\t\t\t});\n\t\t\treturn; // Do not let apply changes to link when blank\n\t\t} else if (item.link.url === '' && item.link.text === '')\n\t\t\titem.link.isLinkEditMode = false;\n\t\telse {\n\t\t\t//Updating state here for link error\n\t\t\tfor (var i = 0; i < validationHelper.length; ++i) {\n\t\t\t\tif (validationHelper[i].itemId === item.itemId) {\n\t\t\t\t\tif (validationHelper[i].fieldName === 'url')\n\t\t\t\t\t\titem.link.errorMsgForLink = validationHelper[i].errorMsg;\n\n\t\t\t\t}\n\t\t\t}\n\t\t\tnewChecklistData[index] = {...item};\n\t\t\tupdateState({\n\t\t\t\t...state,\n\t\t\t\tchecklistData : newChecklistData\n\t\t\t});\n\t\t\treturn; // Do not let apply changes to link when blank\n\t\t}\n\n\t}\n\titem.link.isLinkEditMode = false;\n\titem.link.text = item.link.newText;\n\titem.link.url = item.link.newUrl;\n\titem.addingLink = false;\n\titem.hasLink = (item.link.url === '') ? false : true;\n\n\t//updating changes\n\tif (isItemEdited(item.itemId, checklistChanges)) {\n\t\tconst updatedChecklistChanges = getUpdateChanges(item, checklistChanges);\n\t\tnewChecklistData[index] = {...item};\n\t\tupdateState({\n\t\t\t...state,\n\t\t\tchecklistData : newChecklistData,\n\t\t\tchecklistChanges: updatedChecklistChanges\n\t\t});\n\t} else {\n\t\tnewChecklistData[index] = {...item};\n\t\tupdateState({\n\t\t\t...state,\n\t\t\tchecklistData : newChecklistData\n\t\t});\n\t}\n};\n/**\n *\n * Updates the state of the checklist when checklist item label or link text or link url is updated\n */\nconst updateEditedTexts = coeffects => {\n\tconst {state, action, updateState} = coeffects;\n\tconst updatedItem = action.payload.item;\n\tconst {index} = action.payload;\n\tconst newChecklistData = [...state.checklistData];\n\tconst newchecklistChanges = [...state.checklistChanges];\n\tnewChecklistData[index] = {...updatedItem};\n\t//updating changes\n\tif (isItemEdited(newChecklistData[index].itemId, newchecklistChanges)) {\n\t\tconst updatedChecklistChanges = getUpdateChanges(newChecklistData[index], newchecklistChanges);\n\t\tupdateState({\n\t\t\t...state,\n\t\t\tchecklistData : newChecklistData,\n\t\t\tchecklistChanges: updatedChecklistChanges\n\t\t});\n\t} else {\n\t\t//Adding the changes to the other object\n\t\tconst changesObject = {actionType: 'editedItem', itemId: newChecklistData[index].itemId, data: newChecklistData[index]};\n\t\tnewchecklistChanges.push(changesObject);\n\t\tupdateState({\n\t\t\t...state,\n\t\t\tchecklistData : newChecklistData,\n\t\t\tchecklistChanges: newchecklistChanges\n\t\t});\n\t}\n};\n/**\n *\n * Updates the state of the checklist when user adds a link to a checklist item\n */\nconst addLinkToItem = coeffects => {\n\tconst {state, action, updateState} = coeffects;\n\tconst {index} = action.payload;\n\tconst newChecklistData = JSON.parse(JSON.stringify(state.checklistData));\n\tnewChecklistData[index].addingLink = true;\n\tupdateState({\n\t\t...state,\n\t\tchecklistData : newChecklistData\n\t});\n};\n/**\n *\n * Updates the state of the checklist when user reorders the checklist items\n */\nconst reorderListItems = coeffects => {\n\tconst receivedData = coeffects.action.payload;\n\tconst existingChoices = JSON.parse(JSON.stringify(coeffects.state.checklistData));\n\tconst draggedElementIndex = existingChoices.findIndex(\n\t\t(obj => obj.itemId === receivedData.draggedElementData.itemId));\n\tconst dropElementIndex = existingChoices.findIndex(\n\t\t(obj => obj.itemId === receivedData.hostElementData.itemId));\n\tlet iteratorIndex = draggedElementIndex;\n\tconst endingIndex = dropElementIndex;\n\tconst temporaryElement = existingChoices[iteratorIndex];\n\tif (draggedElementIndex < dropElementIndex) {\n\t\tfor (iteratorIndex; iteratorIndex < endingIndex; iteratorIndex++)\n\t\t\texistingChoices[iteratorIndex] = existingChoices[iteratorIndex + 1];\n\n\t} else if (draggedElementIndex > dropElementIndex) {\n\t\tfor (iteratorIndex; iteratorIndex > endingIndex; iteratorIndex--)\n\t\t\texistingChoices[iteratorIndex] = existingChoices[iteratorIndex - 1];\n\n\t}\n\texistingChoices[endingIndex] = temporaryElement;\n\tif (draggedElementIndex !== dropElementIndex) {\n\t\tcoeffects.updateState({\n\t\t\t...coeffects.state,\n\t\t\tchecklistData: existingChoices,\n\t\t\tisReordered: true,\n\t\t\tdividerPosition: -1,\n\t\t\tselectedGripperIndex: -1\n\t\t});\n\t}\n};\n/**\n *\n * Helper method to find count of links in checklistData\n */\nconst getChecklistItemLinkCount = function (checkListItems, onlyExternalLinks) {\n\tconst filterCondition = item => {\n\t\tconst url = (item.link && item.link.url) ? item.link.url : '';\n\t\treturn (onlyExternalLinks ? isExternalUrl(url) : url);\n\t};\n\tconst itemLinkCount = checkListItems.reduce((count, currItem) => {\n\t\tif (filterCondition(currItem))\n\t\t\tcount += 1; // eslint-disable-line no-param-reassign\n\n\t\treturn count;\n\t}, 0);\n\treturn itemLinkCount;\n};\n/**\n *\n * Adds extra required attributes for internal manipulation and\n * does the sorting of the checklist items based on the order\n */\nconst handleComponentBootstrapped = coeffects => {\n\tconst {dispatch, state, updateState, properties} = coeffects;\n\tconst propChecklistData = JSON.parse(JSON.stringify(properties.checklistData));\n\tconst modifiedChecklistData = addInternalProperties(propChecklistData);\n\tmodifiedChecklistData.sort((a, b) => {\n\t\tconst x = a.order;\n\t\tconst y = b.order;\n\t\treturn x === y ? 0 : x > y ? 1 : -1;\n\t});\n\tupdateState( {\n\t\t...state,\n\t\tchecklistData: modifiedChecklistData,\n\t\tcurrentItemCount: modifiedChecklistData.length\n\t});\n\tconst metadata = {\n\t\titemCount : properties.checklistData.length,\n\t\titemLinkCount : getChecklistItemLinkCount(properties.checklistData),\n\t\titemLinkExternalCount : getChecklistItemLinkCount(properties.checklistData, true),\n\t\tprefix : properties.prefixType,\n\t\tallowEditing: properties.allowEditing,\n\t\tshowEditMode: properties.isEditMode\n\t};\n\tdispatch(METRIC_TRACKED, {eventName: CHECKLIST_INITIAL_LOAD, metadata});\n};\n/**\n *\n * Adds extra required attributes for internal manipulation and\n * does the sorting of the checklist items based on the order\n */\nconst handleComponentPropChanged = coeffects => {\n\tconst {state, updateState, properties} = coeffects;\n\tconst propChecklistData = JSON.parse(JSON.stringify(properties.checklistData));\n\tconst modifiedChecklistData = addInternalProperties(propChecklistData);\n\tmodifiedChecklistData.sort((a, b) => {\n\t\tconst x = a.order;\n\t\tconst y = b.order;\n\t\treturn x === y ? 0 : x > y ? 1 : -1;\n\t});\n\tif (!state.properties.internalPropChange) {\n\t\tupdateState( {\n\t\t\t...state,\n\t\t\tchecklistData: modifiedChecklistData,\n\t\t\tchecklistChanges: [],\n\t\t\tisEditMode: properties.isEditMode,\n\t\t\tallowEditing: properties.allowEditing\n\t\t});\n\t}\n};\n/**\n * Handles the adding of the empty item on click of Add Item button\n *\n */\nconst handleAddItemInEmpty = coeffects => {\n\tconst {state, updateState, updateProperties} = coeffects;\n\tconst newChecklistData = [...state.checklistData];\n\tconst newchecklistChanges = [...state.checklistChanges];\n\tconst emptyItem = createEmptyChecklistItem();\n\temptyItem.order = state.checklistData.length;\n\tnewChecklistData.push(emptyItem);\n\t//Adding the changes to the other object\n\tconst changesObject = {actionType: 'addedItem', itemId: emptyItem.itemId, data: emptyItem};\n\tnewchecklistChanges.push(changesObject);\n\tupdateState({\n\t\t...state,\n\t\tchecklistData: newChecklistData,\n\t\tchecklistChanges: newchecklistChanges\n\t});\n\t//conditonal update when allowEditing is true and isEditMode is false\n\tif (state.properties.allowEditing && !state.properties.isEditMode) {\n\t\tupdateProperties({\n\t\t\tisEditMode : true,\n\t\t\tinternalPropChange: true\n\t\t});\n\t\tupdateState({\n\t\t\thandleCancel : true\n\t\t});\n\t}\n\n};\n/**\n *\n * Updates the state of the checklist\n * - when an item is added to the list\n */\nconst handleAddItemInChecklist = coeffects => {\n\tconst {state, action, updateState} = coeffects;\n\tconst newChecklistData = JSON.parse(JSON.stringify(state.checklistData));\n\tconst newchecklistChanges = JSON.parse(JSON.stringify(state.checklistChanges));\n\tif (action.payload.id === 'Edit')\n\t\tglobalEditClicked(coeffects);\n\tif (action.payload.id === 'Add item')\n\t\thandleAddItemInEmpty(coeffects);\n\tif (action.payload.id === 'addItem') {\n\t\tconst emptyItem = createEmptyChecklistItem();\n\t\temptyItem.order = state.checklistData.length;\n\t\tnewChecklistData.push(emptyItem);\n\n\t\t//Adding the changes to the other object\n\t\tconst changesObject = {actionType: 'addedItem', itemId: emptyItem.itemId, data: emptyItem};\n\t\tnewchecklistChanges.push(changesObject);\n\t\tupdateState({\n\t\t\t...state,\n\t\t\tchecklistData : newChecklistData,\n\t\t\tchecklistChanges: newchecklistChanges\n\t\t});\n\t}\n};\n/**\n * Handler for showing and removing the error validations\n *\n */\nconst updateValidationHelper = coeffects => {\n\tconst {state, action, updateState} = coeffects;\n\tconst newValidationHelper = [...state.validationHelper];\n\tif (action.payload.actionType === 'showError') {\n\t\tnewValidationHelper.push(action.payload.validationHelperItem);\n\t\tupdateState({\n\t\t\t...state,\n\t\t\tvalidationHelper : newValidationHelper\n\t\t});\n\t} else if (action.payload.actionType === 'removeError') {\n\t\tconst valHelper = removeItemFromList(newValidationHelper, action.payload.payload.item.itemId);\n\t\tconst {index} = action.payload.payload;\n\t\tconst newChecklistData = JSON.parse(JSON.stringify(state.checklistData));\n\t\tif (action.payload.payload.name === 'url')\n\t\t\tnewChecklistData[index].link.errorMsgForLink = '';\n\n\t\telse if (action.payload.payload.name === 'label')\n\t\t\tnewChecklistData[index].errorMsgForLabel = '';\n\n\t\tupdateState({\n\t\t\t...state,\n\t\t\tchecklistData: newChecklistData,\n\t\t\tvalidationHelper : valHelper\n\t\t});\n\t}\n};\n\nconst handleCancelAndSave = coeffects => {\n\tconst {state, action, updateState, dispatch, updateProperties} = coeffects;\n\tconst newChecklistData = [...state.checklistData];\n\tif (action.payload.id === 'saveEditing') {\n\t\tlet hasError = false;\n\t\tfor (var i = 0; i < newChecklistData.length; ++i) {\n\t\t\tconst item = {...newChecklistData[i]};\n\t\t\tif (item.newLabel === '') {\n\t\t\t\tif (item.label || item.label !== item.newLabel || (item.label === '' && item.link.url || item.link.url === '' && item.link.text || item.link.text === '')) {\n\t\t\t\t\thasError = true;\n\t\t\t\t\titem.errorMsgForLabel = t('Enter a description.');\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (item.link.url !== item.link.newUrl && item.link.newUrl === '') {\n\t\t\t\thasError = true;\n\t\t\t\titem.link.errorMsgForLink = t('Enter a valid link address.');\n\t\t\t\titem.link.isLinkEditMode = true;\n\t\t\t}\n\t\t\tnewChecklistData[i] = {...item};\n\t\t}\n\t\tif (hasError) {\n\t\t\tupdateState({\n\t\t\t\t...state,\n\t\t\t\tchecklistData : newChecklistData\n\t\t\t});\n\t\t\treturn; // stop from emitting event when error\n\t\t}\n\t\tconst payload = (state.isReordered && state.currentItemCount !== 0) ? refactorStatePayload(state.checklistData, state.checklistChanges) : refactorDeltaPayload([...state.checklistChanges]);\n\t\tif (state.handleCancel) {\n\t\t\tupdateProperties({\n\t\t\t\tisEditMode : false,\n\t\t\t\tinternalPropChange: false\n\t\t\t});\n\t\t}\n\t\tupdateState({\n\t\t\tchecklistData : JSON.parse(JSON.stringify(state.properties.checklistData)),\n\t\t\tchecklistChanges: []\n\t\t});\n\t\tdispatch(NOW_CHECKLIST_SAVE_CLICKED, payload);\n\n\t\tconst metadata = getMetricsDataOnSave(payload, state.properties.checklistData, state.isReordered);\n\t\tdispatch(METRIC_TRACKED, {eventName: CHECKLIST_SAVE_CLICKED, metadata});\n\n\t} else if (action.payload.id === 'cancelEditing') {\n\t\tif (state.handleCancel) {\n\n\t\t\tupdateProperties({\n\t\t\t\tisEditMode : false,\n\t\t\t\tinternalPropChange: false\n\t\t\t});\n\t\t}\n\t\tupdateState({\n\t\t\tchecklistData : JSON.parse(JSON.stringify(state.properties.checklistData)),\n\t\t\tchecklistChanges: [],\n\t\t\thandleCancel : false\n\t\t});\n\t\tdispatch(NOW_CHECKLIST_EDIT_CANCELLED);\n\n\t\tconst payload = (state.isReordered) ? refactorStatePayload(state.checklistData, state.checklistChanges)\n\t\t\t: refactorDeltaPayload(state.checklistChanges);\n\t\tconst metadata = getMetricsDataOnSave(payload, state.properties.checklistData, state.isReordered);\n\n\t\tdispatch(METRIC_TRACKED, {eventName: CHECKLIST_CANCEL_CLICKED, metadata});\n\t}\n};\n\n/**\n * Update the divider position while checklist item is being drag.\n */\nconst handleDrag = coeffects => {\n\tconst {state, action, updateState} = coeffects;\n\tconst {dragStartIndex, dividerPosition, showDividerLineBefore} = state;\n\tconst newDividerPosition = action.payload.dividerPosition;\n\tlet startingIndex = dragStartIndex;\n\n\tif ( typeof action.payload.startIndex !== 'undefined')\n\t\tstartingIndex = action.payload.startIndex;\n\n\n\tlet dividerBefore = showDividerLineBefore;\n\tconst isDraggingUp = newDividerPosition < dividerPosition ? true : false;\n\tif (isDraggingUp) {\n\t\tif (startingIndex === dividerPosition)\n\t\t\tdividerBefore = true;\n\n\t} else {\n\t\tif (startingIndex === dividerPosition + 1)\n\t\t\tdividerBefore = false;\n\n\t}\n\n\tupdateState({\n\t\tdividerPosition: newDividerPosition,\n\t\tdragStartIndex: startingIndex,\n\t\tshowDividerLineBefore: dividerBefore\n\t});\n};\n\n/**\n * Handler item gripper select and unselect operation\n */\nconst gripperSelectUnselect = coeffects => {\n\tconst {state, action, updateState, dispatch, host} = coeffects;\n\tconst {reorderStartIndex, reorderEndIndex, checklistData} = state;\n\tconst {value, index} = action.payload;\n\n\tconst ariaLiveMessage = value ?\n\t\tt('Grabbed, position of {0} of {1}, Press up and down arrow keys to change position, Spacebar to drop, Escape key to cancel', index + 1, 4)\n\t\t: checklistData[reorderStartIndex].label + t(' dropped, Final position {0} of {1}', reorderEndIndex + 1, checklistData.length);\n\tif (!value) {\n\t\tdispatch(NOW_CHECKLIST_ITEMS_REORDERED, {\n\t\t\tdraggedElementData: checklistData[reorderStartIndex],\n\t\t\thostElementData: checklistData[reorderEndIndex]\n\t\t});\n\t\thost.shadowRoot.childNodes[1].getElementsByTagName('now-checklist-item')[reorderEndIndex].shadowRoot.childNodes[1].getElementsByTagName('now-button-stateful')[0].focus();\n\t}\n\tupdateState({\n\t\tselectedGripperIndex: value ? index : -1,\n\t\treorderStartIndex: value ? index : -1,\n\t\treorderEndIndex: value ? index : -1,\n\t\tdividerPosition: value ? index : -1,\n\t\tshowDividerLineBefore: false,\n\t\tariaLiveMessage\n\t});\n};\n\n/**\n * Handler item gripper focus out operation\n */\nconst gripperFocusOut = coeffects => {\n\tconst {updateState} = coeffects;\n\tupdateState({\n\t\tselectedGripperIndex: -1,\n\t\treorderStartIndex: -1,\n\t\treorderEndIndex: -1,\n\t\tdividerPosition: -1,\n\t\tshowDividerLineBefore: false\n\t});\n};\n\n/**\n * Handler arrow up key when gripper button is selected\n */\nconst reorderArrowUp = coeffects => {\n\tconst {state, updateState} = coeffects;\n\tconst {reorderEndIndex, dividerPosition, showDividerLineBefore, selectedGripperIndex} = state;\n\tconst itemsCount = state.checklistData.length;\n\tif (reorderEndIndex - 1 >= 0) {\n\t\tconst ariaLiveMessage = t('Position {0} of {1}', reorderEndIndex, itemsCount);\n\n\t\tlet dividerBefore = showDividerLineBefore;\n\t\tif (selectedGripperIndex === dividerPosition)\n\t\t\tdividerBefore = true;\n\n\n\t\tupdateState({\n\t\t\treorderEndIndex: reorderEndIndex - 1,\n\t\t\tdividerPosition: dividerPosition - 1,\n\t\t\tshowDividerLineBefore: dividerBefore,\n\t\t\tariaLiveMessage\n\t\t});\n\t}\n};\n\n/**\n * Handler arrow down key when gripper button is selected\n */\nconst reorderArrowDown = coeffects => {\n\tconst {state, updateState} = coeffects;\n\tconst {reorderEndIndex, dividerPosition, showDividerLineBefore, selectedGripperIndex} = state;\n\tconst itemsCount = state.checklistData.length;\n\tif (reorderEndIndex + 1 < itemsCount) {\n\t\tconst ariaLiveMessage = t('Position {0} of {1}', reorderEndIndex + 2, itemsCount);\n\n\t\tlet dividerBefore = showDividerLineBefore;\n\t\tif (selectedGripperIndex === dividerPosition + 1)\n\t\t\tdividerBefore = false;\n\n\n\t\tupdateState({\n\t\t\treorderEndIndex: reorderEndIndex + 1,\n\t\t\tdividerPosition: dividerPosition + 1,\n\t\t\tshowDividerLineBefore:dividerBefore,\n\t\t\tariaLiveMessage\n\t\t});\n\t}\n};\n\n/**\n * Handler escape key when gripper button is selected\n */\nconst reorderDiscard = coeffects => {\n\tconst {updateState} = coeffects;\n\tconst ariaLiveMessage = t('Reorder canceled');\n\tupdateState({\n\t\tselectedGripperIndex: -1,\n\t\treorderStartIndex: -1,\n\t\treorderEndIndex: -1,\n\t\tdividerPosition: -1,\n\t\tariaLiveMessage\n\t});\n};\n/**\n * Dispatches NOW_CHECKLIST#ITEM_CLICKED when any checklist item\n *  is marked checked/unchecked.\n *  Payload: { checked : true, itemId: 'xxxx'}\n */\nconst handleCheckboxItemClicked = coeffects => {\n\tconst {action, dispatch} = coeffects;\n\tconst bubbleUpPayload = {};\n\tbubbleUpPayload.checked = action.payload.value;\n\tbubbleUpPayload.itemId = action.payload.item.itemId;\n\tdispatch(NOW_CHECKLIST_ITEM_CLICKED, bubbleUpPayload);\n\tconst metadata = {\n\t\tupdatedState : action.payload.value ? 'checked' : 'unchecked'\n\t};\n\tdispatch(METRIC_TRACKED, {eventName: CHECKLIST_ITEM_CLICKED, metadata});\n};\n/**\n * Dispatches NOW_CHECKLIST#ITEM_LINK_CLICKED when any link from the checklist item\n *   is clicked.\n *   Payload: { itemId: 'xxxx', link: {'text': 'link name', url: 'url of the link'}}\n */\nconst handleLinkClicked = coeffects => {\n\tconst {action, dispatch} = coeffects;\n\tconst {payload: {item: {itemId, link}}} = action;\n\tdispatch(NOW_CHECKLIST_ITEM_LINK_CLICKED, {itemId, link});\n\tconst metadata = {\n\t\texternalLink : isExternalUrl(action.payload.item.link.url) ? 'yes' : 'no'\n\t};\n\tdispatch(METRIC_TRACKED, {eventName: CHECKLIST_ITEM_LINK_CLICKED, metadata});\n};\n\nexport const nowChecklistActionHandlers = {\n\t[DELETE_BUTTON_CLICKED] : {\n\t\teffect : deleteButtonClicked,\n\t\tstopPropagation : true\n\t},\n\t[DELETE_ITEM_LINK] : {\n\t\teffect: deleteItemLink,\n\t\tstopPropagation: true\n\t},\n\t[EDIT_LINK_CLICKED] : {\n\t\teffect: editLinkClicked,\n\t\tstopPropagation: true\n\t},\n\t[CANCEL_LINK_EDIT_CLICKED] : {\n\t\teffect: cancelLinkEditClicked,\n\t\tstopPropagation: true\n\t},\n\t[SAVE_LINK_EDIT_CLICKED] : {\n\t\teffect: saveLinkEditClicked,\n\t\tstopPropagation: true\n\t},\n\t[UPDATE_EDITED_TEXT] : {\n\t\teffect: updateEditedTexts,\n\t\tstopPropagation: true\n\t},\n\t[NOW_CHECKLIST_ADD_LINK] : {\n\t\teffect: addLinkToItem,\n\t\tstopPropagation: true\n\t},\n\t[NOW_CHECKLIST_ITEMS_REORDERED] : {\n\t\teffect: reorderListItems,\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: handleComponentBootstrapped,\n\t\tstopPropagation: true\n\t},\n\t[LINK_BUTTON_CLICKED] : {\n\t\teffect : handleAddItemInChecklist,\n\t\tstopPropagation: true\n\t},\n\t[UPDATE_VALIDATION_HELPER] : {\n\t\teffect : updateValidationHelper,\n\t\tstopPropagation: true\n\t},\n\t[METRIC_TRACKED]: {\n\t\tstopPropagation: true,\n\t\teffect(coeffects) {\n\t\t\tconst {\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {metadata, eventName}\n\t\t\t\t}\n\t\t\t} = coeffects;\n\t\t\ttrack(coeffects, eventName, metadata);\n\t\t}\n\t},\n\t[NOW_CHECKLIST_HANDLE_DRAG] : {\n\t\tstopPropagation: true,\n\t\teffect: handleDrag\n\t},\n\t[NOW_BUTTON_CLICKED] : {\n\t\teffect : handleCancelAndSave,\n\t\tstopPropagation: true\n\t},\n\t[GRIPPER_BUTTON_SELECTED] : {\n\t\teffect: gripperSelectUnselect,\n\t\tstopPropagation : true\n\t},\n\t[GRIPPER_FOCUS_OUT] : {\n\t\teffect: gripperFocusOut,\n\t\tstopPropagation : true\n\t},\n\t[REORDER_ARROW_DOWN] : {\n\t\teffect: reorderArrowDown,\n\t\tstopPropagation : true\n\t},\n\t[REORDER_ARROW_UP] : {\n\t\teffect: reorderArrowUp,\n\t\tstopPropagation : true\n\t},\n\t[REORDER_DISCARD]: {\n\t\teffect: reorderDiscard,\n\t\tstopPropagation : true\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: handleComponentPropChanged,\n\t\tstopPropagation: true\n\t},\n\t[CHECKBOX_ITEM_CLICKED] : {\n\t\teffect: handleCheckboxItemClicked,\n\t\tstopPropagation: true\n\t},\n\t[LINK_CLICKED] : {\n\t\teffect: handleLinkClicked,\n\t\tstopPropagation: true\n\t},\n};\n\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-checkbox';\nimport view from './view';\nimport {nowChecklistActionHandlers} from './nowChecklistActionHandlers';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport styles from './styles.scss';\n\n\n/**\n * A group of checkboxes used to select or deselect any number of independent options from a list.\n *\n * @seismicElement now-checklist\n * @summary Displays all the input items as a checklist. These items can be independently\n * selected or deselected by the user.\n *\n * @uib.label Checklist\n * @uib.icon tile-uib-now-checklist-1-sm\n * @uib.description A group of checkboxes used to select or deselect any number of independent options from a list.\n * @uib.category component\n * @uib.associatedTypes global.core\n * @uib.properties prefixType, checklistData, opensWindow, emptyStateTitle, emptyStateMsg\n * @uib.actions NOW_CHECKLIST#ITEM_CLICKED, NOW_CHECKLIST#ITEM_LINK_CLICKED\n *\n */\ncreateCustomElement('now-checklist', {\n\trenderer: {type: snabbdom},\n\tview,\n\tstyles,\n\tinitialState: {\n\t\tchecklistData: [],\n\t\tchecklistChanges: [],\n\t\tvalidationHelper : [],\n\t\tisReordered: false,\n\t\thandleCancel : false,\n\t\tdividerPosition: -1,\n\t\tshowDividerLineBefore: false,\n\t\tdragStartIndex: -1,\n\t\tselectedGripperIndex: -1,\n\t\treorderStartIndex: -1,\n\t\treorderEndIndex: -1,\n\t\tariaLiveMessage: '',\n\t\tcurrentItemCount: 0\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Prefix that indicates the order of the checklist item.\n\t\t *\n\t\t * @type {string}\n\t\t *\n\t\t * @uib.label Prefixes\n\t\t * @uib.defaultValue none\n\t\t * @uib.description Determines whether checkboxes are ordered, and provides options for\n\t\t * numeric or alphabetic prefixes.\n\t\t */\n\t\tprefixType : {\n\t\t\tschema: {type: 'string'},\n\t\t\tdefault : 'none'\n\t\t},\n\t\t/**\n\t\t * Checklist item data.\n\t\t *\n\t\t * @type {array}\n\t\t * @uib.label Checkbox items\n\t\t * @uib.defaultValue\n\t\t * [`{` \\\"order\\\": 0, \\\"checked\\\": false, \\\"itemId\\\": \\\"checkbox_0\\\", \\\"errorMsgForLabel\\\" : \\\"\\\",\n\t\t * \\\"label\\\": \\\"this is item 0\\\", \\\"link\\\":`{` \\\"text\\\": \\\"sample link 0\\\",\n\t\t * \\\"url\\\": \\\"https:\\/\\/www.servicenow.com\\\", \\\"errorMsgForLink\\\" : \\\"\\\" `}``}``]\n\t\t * @uib.description Contains objects for configuring checklist items.\n\t\t */\n\t\tchecklistData : {\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titem: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tchecked: {type: 'boolean'},\n\t\t\t\t\t\torder: {type: 'number'},\n\t\t\t\t\t\titemId: {type: 'string'},\n\t\t\t\t\t\tlabel: {type: 'string'},\n\t\t\t\t\t\thasLink : {type: 'boolean'},\n\t\t\t\t\t\terrorMsgForLabel : {type : 'string'},\n\t\t\t\t\t\tlink: {\n\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\tproperties : {\n\t\t\t\t\t\t\t\turl: {type : 'string'},\n\t\t\t\t\t\t\t\ttext: {type : 'string'},\n\t\t\t\t\t\t\t\terrorMsgForLink : {type : 'string'}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\trequired: ['checked', 'itemId']\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefault : []\n\t\t},\n\t\t/**\n\t\t * Specifies whether the checklist item link opens in a new window.\n\t\t * @type {boolean}\n\t\t * @uib.label Open links in a new window\n\t\t * @uib.defaultValue false\n\t\t * @uib.description When true, opens the checklist item link in a new window.\n\t\t * \\\"Link opens in new window\\\" is announced to assistive technology users.\n\t\t */\n\t\topensWindow : {\n\t\t\tschema: {type: 'boolean'},\n\t\t\tdefault : false\n\t\t},\n\t\t/**\n\t\t * Specifies 'heading' property for <now-template-message-empty-state> component\n\t\t * when no data is available in checklist.\n\t\t * @type {string}\n\t\t * @uib.label Empty state title\n\t\t * @uib.defaultValue No items in checklist\n\t\t * @uib.description Primary text to display in the empty state message.\n\t\t */\n\t\temptyStateTitle : {\n\t\t\tschema: {type: 'string'},\n\t\t\tdefault : 'No items in checklist'\n\t\t},\n\t\t/**\n\t\t * Specifies 'content' property for <now-template-message-empty-state> component\n\t\t * when no data is available in checklist.\n\t\t * @type {string}\n\t\t * @uib.label Empty state message\n\t\t * @uib.defaultValue \"\"\n\t\t * @uib.description Secondary text to display in the empty state message.\n\t\t */\n\t\temptyStateMsg : {\n\t\t\tschema: {type: 'string'},\n\t\t\tdefault : ''\n\t\t},\n\t\t/**\n\t\t * Specifies whether editing is allowed for the checklist.\n\t\t * @type {boolean}\n\t\t * @uib.label Allow editing\n\t\t * @uib.defaultValue false\n\t\t * @uib.description When true, the user can edit the checklist.\n\t\t */\n\t\tallowEditing : {\n\t\t\tschema : {type: 'boolean'},\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Specifies whether to show a loading spinner.\n\t\t * @type {boolean}\n\t\t * @uib.label Show loading spinner\n\t\t * @uib.defaultValue false\n\t\t * @uib.description When true, a loading spinner is displayed while the checklist is saving.\n\t\t */\n\t\tshowLoadingSpinner : {\n\t\t\tschema : {type: 'boolean'},\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Specifies whether the checklist loads in edit mode.\n\t\t * @type {boolean}\n\t\t * @uib.label Show edit mode\n\t\t * @uib.defaultValue false\n\t\t * @uib.description When true, the checklist loads in edit mode.\n\t\t */\n\t\tisEditMode : {\n\t\t\tschema : {type: 'boolean'},\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Specifies whether isEditMode is changed internally. Used internally.\n\t\t * @type {boolean}\n\t\t */\n\t\tinternalPropChange: {\n\t\t\tschema : {type: 'boolean'},\n\t\t\tdefault: false\n\t\t}\n\t},\n\tactionHandlers: nowChecklistActionHandlers,\n\tdispatches: {\n\t\t/**\n\t\t * @uib.description Event raised when an item is checked/unchecked.\n\t\t * Dispatched when any checklist item is checked/unchecked.\n\t\t * Payload:  `{`\"checked\": true/false, \"itemId\": \"xxxx\"`}`\n\t\t */\n\t\tITEM_CLICKED: {},\n\n\t\t/**\n\t\t * @uib.description Event raised when an item link is clicked.\n\t\t * Dispatched every time a link is clicked for any checklist item.\n\t\t * Payload: `{` \"itemId\": \"xxxx\", \"link\" :\n\t\t * `{`\"text\": \"sample link1\", \"url\": \"abcd.com\"`}``}`\n\t\t */\n\t\tITEM_LINK_CLICKED: {}\n\t},\n\tbehaviors: [{behavior: rtlBehavior}]\n});\n","import '@servicenow/now-button';\nimport '@servicenow/now-popover';\nimport '@servicenow/now-heading';\nimport '@servicenow/now-textarea';\nimport '@servicenow/now-tooltip';\nimport '@servicenow/now-checklist';\nimport '@servicenow/now-radio-buttons';\nimport '@servicenow/now-uxf-page';\nimport {FEEDBACK_BUTTON, FEEDBACK_LABELS, REGION_TYPE} from './constant';\nimport {findListItem, findTextAreaItem} from './utils';\n\nconst view = (state, {updateState}) => {\n\tconst {\n\t\tclickedButtonState,\n\t\tisPopoverOpen,\n\t\tisTooltipOpen,\n\t\tpopoverTargetRef,\n\t\tpositiveFeedback,\n\t\tnegativeFeedback,\n\t\terror,\n\t\tdisableSubmitButton\n\t} = state;\n\n\tfunction RenderGranularFeedback() {\n\t\tlet granularFeedbackContent = null;\n\t\tif (clickedButtonState === FEEDBACK_BUTTON.THUMBSUP && positiveFeedback)\n\t\t\tgranularFeedbackContent = positiveFeedback;\n\t\telse if (clickedButtonState === FEEDBACK_BUTTON.THUMBSDOWN && negativeFeedback)\n\t\t\tgranularFeedbackContent = negativeFeedback;\n\n\t\tif (!granularFeedbackContent)\n\t\t\treturn;\n\n\t\tconst {heading} = granularFeedbackContent;\n\t\tconst {item: listObj} = findListItem(granularFeedbackContent.items);\n\t\tconst {item: textAreaObj} = findTextAreaItem(granularFeedbackContent.items);\n\n\t\tconst popoverContainerStyle = {display: 'flex', 'box-sizing': 'border-box', padding: '16px', 'flex-direction': 'column', 'align-items': 'flex-start', width: '320px', 'max-height': '544px'};\n\t\tconst popoverHeaderStyle = {width: '100%', 'padding-bottom': listObj?.type === REGION_TYPE.CHECKLIST ? '12px' : '0px', display: 'flex', 'justify-content': 'space-between', gap: '8px'};\n\t\tconst popoverDetailsStyle = {width: '100%', overflow: 'auto', 'min-height': '64px'};\n\t\tconst popoverDetailsTextAreaStyle = {width: '100%', height: '106px', 'margin-block': '0px'};\n\t\tconst popoverFooterStyle = {width: '100%', color: 'RGB(var(--now-alert--critical--color))', 'padding-top': textAreaObj ? '12px' : '0px'};\n\t\tconst popoverFooterErrorStyle = {display: 'flex', gap: '4px', 'padding-bottom': '8px'};\n\t\tconst popoverFooterErrorLabelStyle = {'font-size': '12px'};\n\t\tconst popoverFooterButtonStyle = {width: '100%', display: 'flex', 'justify-content': 'flex-end', 'align-items': 'flex-end'};\n\n\t\treturn <now-popover\n\t\t\tmanage-opened\n\t\t\topened={isPopoverOpen}\n\t\t\tposition-target={popoverTargetRef}\n\t\t\tpositions={[\n\t\t\t\t{target: 'top-start', content: 'bottom-start'},\n\t\t\t\t{target: 'bottom-start', content: 'top-start'},\n\t\t\t\t{target: 'center-start', content: 'center-end'},\n\t\t\t\t{target: 'center-start', content: 'bottom-end'}\n\t\t\t]}\n\t\t\tconfig-aria= {{'aria-label': FEEDBACK_LABELS.POPOVER_ARIA_LABEL}}>\n\t\t\t<now-uxf-page-simple-container slot=\"content\" role='group'>\n\t\t\t\t<div className=\"sn-feedback-popover-container\"\n\t\t\t\t\tstyle={popoverContainerStyle}>\n\t\t\t\t\t<div className='sn-feedback-content header' style={popoverHeaderStyle}>\n\t\t\t\t\t\t<now-heading label={heading} hasNoMargin={true} variant=\"header-tertiary\"/>\n\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\tclassName=\"close-popover\"\n\t\t\t\t\t\t\ticon=\"close-outline\"\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\t\thide-padding={true}\n\t\t\t\t\t\t\tconfig-aria={{button: {'aria-label': FEEDBACK_LABELS.CLOSE_BUTTON_ARIA_LABEL}}}\n\t\t\t\t\t\t\ttooltip-content={popoverTargetRef ? FEEDBACK_LABELS.CLOSE_BUTTON_ARIA_LABEL : ''}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className='sn-feedback-content details' style={popoverDetailsStyle}>\n\t\t\t\t\t\t{listObj ? <div className='details-list'>\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlistObj.type === REGION_TYPE.CHECKLIST ?\n\t\t\t\t\t\t\t\t\t<now-checklist checklistData={listObj.value} /> :\n\t\t\t\t\t\t\t\t\t<now-radio-buttons options={listObj.value}/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</div> : ''}\n\t\t\t\t\t\t{textAreaObj ? <now-textarea\n\t\t\t\t\t\t\tclassName=\"textarea\"\n\t\t\t\t\t\t\tplaceholder={FEEDBACK_LABELS.TEXT_AREA_PLACEHOLDER_LABEL}\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tautofocus={false}\n\t\t\t\t\t\t\tinvalid={false}\n\t\t\t\t\t\t\tvalue={textAreaObj.value}\n\t\t\t\t\t\t\tmaxlength={300}\n\t\t\t\t\t\t\tshow-counter={true}\n\t\t\t\t\t\t\tresize=\"none\"\n\t\t\t\t\t\t\trows={5}\n\t\t\t\t\t\t\tstyle={popoverDetailsTextAreaStyle}\n\t\t\t\t\t\t\tconfig-aria={{}}\n\t\t\t\t\t\t/> : ''}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className='sn-feedback-content footer' style={popoverFooterStyle}>\n\t\t\t\t\t\t{error?.isError ?\n\t\t\t\t\t\t\t<div className='error-text' style={popoverFooterErrorStyle}>\n\t\t\t\t\t\t\t\t<now-icon icon=\"triangle-exclamation-outline\" size=\"sm\"/>\n\t\t\t\t\t\t\t\t<div style={popoverFooterErrorLabelStyle}>{FEEDBACK_LABELS.ERROR_STATE_LABEL}</div>\n\t\t\t\t\t\t\t</div> :\n\t\t\t\t\t\t\t''}\n\t\t\t\t\t\t<div className='submit-feedback-button' style={popoverFooterButtonStyle}>\n\t\t\t\t\t\t\t<now-button label={FEEDBACK_LABELS.SUBMIT_LABEL} variant=\"primary\" size=\"md\" disabled={disableSubmitButton} append-to-payload={{button: FEEDBACK_BUTTON.SUBMIT}}/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</now-uxf-page-simple-container>\n\t\t</now-popover>;\n\t}\n\n\treturn (\n\t\t<div className='sn-feedback-container'>\n\t\t\t<div className='sn-feedback-thumb-buttons'>\n\t\t\t\t<now-button-stateful\n\t\t\t\t\tclassName='sn-feedback-thumbs-up'\n\t\t\t\t\ticon={'thumbs-up-outline'}\n\t\t\t\t\tselected={clickedButtonState === FEEDBACK_BUTTON.THUMBSUP}\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tbare=\"true\"\n\t\t\t\t\ttooltip-content={FEEDBACK_LABELS.THUMBSUP_LABEL}\n\t\t\t\t\tappend-to-payload={{button: FEEDBACK_BUTTON.THUMBSUP}}\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\tbutton: {'aria-label': FEEDBACK_LABELS.THUMBSUP_LABEL},\n\t\t\t\t\t}}\n\t\t\t\t\thook-insert={({elm}) => updateState({thumbsUpTargetRef: elm})}\n\t\t\t\t\thook-destroy={() => updateState({thumbsUpTargetRef: null})}\n\t\t\t\t/>\n\t\t\t\t<now-button-stateful\n\t\t\t\t\tclassName='sn-feedback-thumbs-down'\n\t\t\t\t\ticon={'thumbs-down-outline'}\n\t\t\t\t\tselected={clickedButtonState === FEEDBACK_BUTTON.THUMBSDOWN}\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tbare=\"true\"\n\t\t\t\t\ttooltip-content={FEEDBACK_LABELS.THUMBSDOWN_LABEL}\n\t\t\t\t\tappend-to-payload={{button: FEEDBACK_BUTTON.THUMBSDOWN}}\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\tbutton: {'aria-label': FEEDBACK_LABELS.THUMBSDOWN_LABEL},\n\t\t\t\t\t}}\n\t\t\t\t\thook-insert={({elm}) => updateState({thumbsDownTargetRef: elm})}\n\t\t\t\t\thook-destroy={() => updateState({thumbsDownTargetRef: null})}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<RenderGranularFeedback />\n\t\t\t<now-tooltip\n\t\t\t\tmanage-opened\n\t\t\t\topened={isTooltipOpen}\n\t\t\t\tcontent={FEEDBACK_LABELS.TOOLTIP_CONFIRMATION_LABEL}\n\t\t\t\ttarget-ref={popoverTargetRef}\n\t\t\t\tposition={['bottom-center top-center', 'top-center bottom-center']}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nexport default view;\n","\nimport {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport actionHandlers from './action-handlers';\nimport {GranularFeedbackDetails} from './schema';\nimport view from './view';\nimport {FEEDBACK_BUTTON} from './constant';\n\ncreateCustomElement('sn-feedback', {\n\trenderer: {type: snabbdom},\n\tview,\n\tproperties: {\n\t\t/**\n\t\t * Load state\n\t\t * Specify if either of the feedback buttons is pre selected on load\n\t\t * @type {string} enum: ['NONE', 'THUMBS_UP', 'THUMBS_DOWN']\n\t\t */\n\t\tloadState: {\n\t\t\tdefault: FEEDBACK_BUTTON.NONE,\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [FEEDBACK_BUTTON.NONE, FEEDBACK_BUTTON.THUMBSUP, FEEDBACK_BUTTON.THUMBSDOWN]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Positive feedback\n\t\t * - Array of objects each representing a functional block of checklist, radio list, textarea to be shown in a popover that opens after clicking on thumbs up button.\n\t\t * @type {GranularFeedbackDetails}\n\t\t */\n\t\tpositiveFeedback: {\n\t\t\tdefault: {\n\t\t\t\theader: '',\n\t\t\t\titems: []\n\t\t\t},\n\t\t\tschema: GranularFeedbackDetails\n\t\t},\n\t\t/**\n\t\t * Positive feedback\n\t\t * - Array of objects each representing a functional block of checklist, radio list, textarea to be shown in a popover that opens after clicking on thumbs down button.\n\t\t * @type {GranularFeedbackDetails}\n\t\t */\n\t\tnegativeFeedback: {\n\t\t\tdefault: {\n\t\t\t\theader: '',\n\t\t\t\titems: []\n\t\t\t},\n\t\t\tschema: GranularFeedbackDetails\n\t\t},\n\t\t/**\n\t\t * Manage submit\n\t\t * Override the default functionality of submit button.\n\t\t * If true, after user clicks on the \"Submit\" button, the button grays out for BU to update \"error\" property to show a error message or close popover\n\t\t * @type {boolean}\n\t\t */\n\t\tmanageSubmit: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Error\n\t\t * - Allows user to handle the closing of granular feedback once user clicks on 'Submit'.\n\t\t * Object has following attributes\n\t\t * - `isError - boolean` - Sould show the error state.\n\t \t * - `timestamp - number` - Timestame of the update. Used internally to distinguish between tow update in isError.\n\t\t * @type {{isError: boolean, timestamp: number}}\n\t\t */\n\t\terror: {\n\t\t\tdefault: {isError: false, timestamp: -1},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tisError: {\n\t\t\t\t\t\ttype: 'boolean'\n\t\t\t\t\t},\n\t\t\t\t\ttimestamp: {\n\t\t\t\t\t\ttype: 'number'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\trequired: ['isError', 'timestamp']\n\t\t\t}\n\t\t}\n\t},\n\tinitialState: {\n\t\tclickedButtonState: '',\n\t\tisPopoverOpen: false,\n\t\tpopoverTargetRef: null,\n\t\tisTooltipOpen: false,\n\t\tthumbsUpTargetRef: null,\n\t\tthumbsDownTargetRef: null,\n\t\tpositiveFeedback: null,\n\t\tnegativeFeedback: null,\n\t\tdisableSubmitButton: false,\n\t\terror: false\n\t},\n\t...actionHandlers,\n\tdispatches: {\n\t\t/**\n\t\t* Dispatched when the user click on thumbs up or thumbs down button.\n\t\t*\n\t\t* Payload contains these key-value pairs:\n\t\t*\n\t\t* - `button`: String. 'THUMBS_UP' or 'THUMBS_DOWN' based on which button is clicked.\n\t\t* - `isSelected`: Boolean. True if the button is 'selected' or false if 'unselected'.\n\t\t*\n\t\t* @type {{button: string, isSelected: boolean}}\n\t\t*/\n\t\t'SN_FEEDBACK#FEEDBACK_CLICKED' : {},\n\t\t/**\n\t\t* Dispatched when the user clicks on 'Submit' button on granular feedback popover form.\n\t\t*\n\t\t* Payload contains these key-value pairs:\n\t\t*\n\t\t* - `items`: Array<{type: string, value: [string | Array<{id: string, label: string: checked: boolean}>]}>\n\t\t*\n\t\t* @type {{listOptions: Array<{type: string, value: [string | Array<{id: string, label: string: checked: boolean}>]}>\n\t\t*/\n\t\t'SN_FEEDBACK#GRANULAR_FEEDBACK_SUBMIT_CLICKED' : {},\n\t}\n});\n","import { t } from \"sn-translate\";\nimport { createCustomElement } from \"@servicenow/ui-core\";\nimport snabbdom from \"@servicenow/ui-renderer-snabbdom\";\nimport styles from \"./styles.scss\";\nimport \"@servicenow/now-dropdown\";\nimport \"@servicenow/now-icon\";\n\ncreateCustomElement(\"sn-preset-menu-content\", {\n\trenderer: { type: snabbdom },\n\tview: (state) => {\n\t\treturn (\n\t\t\t<div slot=\"content\" className=\"preset-dropdown-container\">\n\t\t\t\t<div className=\"preset-dropdown-container__heading\">\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\tclassName=\"preset-dropdown-container__icon\"\n\t\t\t\t\t\tconfig-aria={{}}\n\t\t\t\t\t\ticon=\"ai-sparkle-outline\"\n\t\t\t\t\t/>\n\t\t\t\t\t{state.properties.presetHeaderLabel}\n\t\t\t\t</div>\n\n\t\t\t\t<now-dropdown-list\n\t\t\t\t\tconfig-aria={{}}\n\t\t\t\t\tclassName=\"preset-dropdown-container__dropdown\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tselect=\"none\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\titems={state.properties.items}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n\tproperties: {\n\t\titems: { default: [] },\n\t\tpresetHeaderLabel: { default: \"\" },\n\t},\n\tstyles,\n});\n","import { t } from \"sn-translate\";\n\nexport const MIN_MODAL_HEIGHT = 160;\nexport const MIN_MODAL_WIDTH = 320;\nexport const DEFAULT_MODAL_HEIGHT = 240;\nexport const DEFAULT_MODAL_WIDTH = 540;\n\nexport const DEFAULT_COMMON_ACTIONS_TABLE = 'sys_one_extend_capability';\nexport const WWNA_CAPABILITY_ID = 'f8fdd6ca43520210fbb28b11afb8f226';\n\nexport const PRESET_ACTION_TYPE = 'preset';\nexport const REFINE_ACTION_TYPE = 'refine';\nexport const COMMON_ACTION_TYPE = 'common';\n\nexport const DEFAULT_PRESET_CLICKED = 'DEFAULT_PRESET_CLICKED';\nexport const WWNA_POPOVER = 'WWNA_POPOVER';\n\nexport const NOW_BUTTON_PREVIOUS_PAGE = \"WWNA_NOW_BUTTON_PREVIOUS_PAGE\";\nexport const NOW_BUTTON_NEXT_PAGE = \"WWNA_NOW_BUTTON_NEXT_PAGE\";\n\nexport const NOW_MODELESS_DIALOG_OPENED_SET = 'NOW_MODELESS_DIALOG#OPENED_SET';\nexport const NOW_BUTTON_ICONIC_CLICKED = \"NOW_BUTTON_ICONIC#CLICKED\";\nexport const NOW_BUTTON_CLICKED = 'NOW_BUTTON#CLICKED';\nexport const NOW_DROPDOWN_CUSTOM_ITEM_CLICKED = 'NOW_DROPDOWN_CUSTOM_TARGET#ITEM_CLICKED';\nexport const NOW_DROPDOWN_LIST_ITEM_CLICKED = 'NOW_DROPDOWN_LIST#ITEM_CLICKED';\n\nexport const SN_FEEDBACK_FEEDBACK_CLICKED = \"SN_FEEDBACK#FEEDBACK_CLICKED\";\nexport const FEEDBACK_SUBMITTED = \"SN_WWNA#FEEDBACK_SUBMITTED\";\nexport const INTERNAL_FEEDBACK_SUBMITTED = \"INTERNAL_FEEDBACK_SUBMITTED\";\n\nexport const RECOMMENDATION_DIALOG_CLOSED = 'SN_WWNA#RECOMMENDATION_DIALOG_CLOSED';\nexport const INTERNAL_RECOMMENDATION_DIALOG_CLOSED = 'INTERNAL_RECOMMENDATION_DIALOG_CLOSED';\n\nexport const INSERT_RECOMMENDATION_CLICKED = 'SN_WWNA#INSERT_RECOMMENDATION_CLICKED';\nexport const INTERNAL_INSERT_RECOMMENDATION_CLICKED = 'INTERNAL_INSERT_RECOMMENDATION_CLICKED';\n\nexport const AMB_MESSAGE_RECEIVED = `AMB_MESSAGE_RECEIVED`;\nexport const SUBSCRIBE_AMB_CHANNEL = `SUBSCRIBE_AMB_CHANNEL`;\n\nexport const FETCH_QUICK_ACTIONS = 'FETCH_QUICK_ACTIONS';\nexport const FETCH_QUICK_ACTIONS_COMPLETE = 'FETCH_QUICK_ACTIONS_COMPLETE';\nexport const FETCH_QUICK_ACTIONS_FAILED = 'FETCH_QUICK_ACTIONS_FAILED';\n\nexport const INVOKE_REFINE_ACTION = 'INVOKE_REFINE_ACTION';\nexport const INVOKE_REFINE_ACTION_COMPLETE = 'INVOKE_REFINE_ACTION_COMPLETE';\nexport const INVOKE_REFINE_ACTION_FAILED = 'INVOKE_REFINE_ACTION_FAILED';\n\nexport const REFINE_ACTION_CLICKED = 'SN_WWNA#REFINE_ACTION_CLICKED';\nexport const INTERNAL_REFINE_ACTION_CLICKED = 'INTERNAL_REFINE_ACTION_CLICKED';\n\nexport const PRESET_ACTION_CLICKED = 'SN_WWNA#PRESET_ACTION_CLICKED';\nexport const INTERNAL_PRESET_ACTION_CLICKED = 'INTERNAL_PRESET_ACTION_CLICKED';\n\nexport const INVOKE_PRESET_ACTION_COMPLETE = 'INVOKE_PRESET_ACTION_COMPLETE';\nexport const INVOKE_PRESET_ACTION_FAILED = 'INVOKE_PRESET_ACTION_FAILED';\nexport const INVOKE_PRESET_ACTION = 'INVOKE_PRESET_ACTION';\n\nexport const OPEN_POPOVER = 'OPEN_POPOVER';\nexport const NOW_POPOVER_OPENED_SET = \"NOW_POPOVER#OPENED_SET\";\n\nexport const FETCH_SKILL_CONFIGURATIONS = 'FETCH_SKILL_CONFIGURATIONS';\nexport const FETCH_SKILL_CONFIGURATIONS_COMPLETE = 'FETCH_SKILL_CONFIGURATIONS_COMPLETE';\nexport const FETCH_SKILL_CONFIGURATIONS_FAILED = 'FETCH_SKILL_CONFIGURATIONS_FAILED';\n\nexport const SUBMIT_FEEDBACK = 'WWNA_SUBMIT_FEEDBACK';\nexport const SUBMIT_FEEDBACK_SUCCESS_HANDLER = 'WWNA_SUBMIT_FEEDBACK_SUCCESS_HANDLER';\nexport const SUBMIT_FEEDBACK_FAILURE_HANDLER = 'WWNA_SUBMIT_FEEDBACK_FAILURE_HANDLER';\n\nexport const FEEDBACK_BUTTON_STATE = {\n\tNONE: \"NONE\",\n\tTHUMBS_UP: \"THUMBS_UP\",\n\tTHUMBS_DOWN: \"THUMBS_DOWN\",\n};\n\nexport const FEEDBACK_STATES = {\n\tAccepted: \"Accepted\",\n\tRejected: \"Rejected\",\n\tIgnored: \"Ignored\",\n};\n\nexport const IMPLICIT_FEEDBACK = {\n\tINSERTED: \"INSERTED\",\n\tCLOSED: \"CLOSED\",\n};\n\nexport const WWNA_TRIGGER_SOURCE = {\n\tPRESET: \"WWNA: Preset\",\n\tREFINE: \"WWNA: Refine\",\n\tDEFAULT: \"WWNA: Default\",\n};\n\nexport const WWNA_TRIGGER_EXPERIENCE = {\n\tUI16: \"UI16\",\n\tNEXT_EXPERIENCE: \"NEXT_EXPERIENCE\"\n};\n\nexport const ONE_EXTEND_STATUS = {\n\tSUCCESS: \"success\",\n\tERROR: \"error\",\n\tCANCELLED: \"cancelled\",\n};\n\nexport const DEFAULT_GENERIC_ERROR_MESSAGE = t(\n\t\"There was a problem generating content. Try again later.\"\n);\n\nexport const COPY_RECOMMENDATION_CLICKED = \"SN_WWNA#COPY_RECOMMENDATION_CLICKED\";","import { createGraphQLEffect } from \"@servicenow/ui-effect-graphql\";\nimport {\n\tINVOKE_PRESET_ACTION_COMPLETE,\n\tINVOKE_PRESET_ACTION_FAILED,\n\tINVOKE_PRESET_ACTION,\n\tOPEN_POPOVER,\n\tINTERNAL_PRESET_ACTION_CLICKED,\n\tCOMMON_ACTION_TYPE,\n\tDEFAULT_COMMON_ACTIONS_TABLE,\n\tWWNA_CAPABILITY_ID,\n\tDEFAULT_PRESET_CLICKED,\n\tWWNA_TRIGGER_SOURCE,\n\tWWNA_POPOVER,\n\tWWNA_TRIGGER_EXPERIENCE,\n} from \"../constants\";\n\nexport const componentPropertyChanged = ({\n\tupdateState,\n\taction: {\n\t\tpayload: { name },\n\t},\n}) => {\n\tif (name === \"selectedText\") {\n\t\tupdateState({ isOpened: false });\n\t}\n};\n\nexport const dropDownListClickHandler = ({\n\taction,\n\tdispatch,\n\tupdateState,\n\tstate,\n}) => {\n\tupdateState({ isOpened: false });\n\tdispatch(INTERNAL_PRESET_ACTION_CLICKED, {\n\t\tselectedItem: action.payload.item,\n\t\twwnaComponentId: state.properties.wwnaComponentId,\n\t});\n\tconst selectedText = state.properties.selectedText\n\t\t? state.properties.selectedText\n\t\t: state.properties.draftedText;\n\n\tconst jsonPayload = {\n\t\tambChannel: `/wwna/${state.properties.ambChannelName}`,\n\t\tpayload: {\n\t\t\t...state.properties.payload,\n\t\t\tselected_text: selectedText,\n\t\t\tdrafted_text: state.properties.draftedText,\n\t\t\tskill_name: state.properties.skillName,\n\t\t\tskill_description: state.properties.skillDescription,\n\t\t\tdocument_table_name: state.properties.tableName,\n\t\t\tdocument_sys_id: state.properties.sysId,\n\t\t\tskill_id: state.properties.skillId,\n\t\t\ttrigger_source: WWNA_TRIGGER_SOURCE.PRESET,\n\t\t\tskill_config_id: state.properties.skillConfigId,\n\t\t\tcaller: state.properties.isUI16Caller\n\t\t\t\t? WWNA_TRIGGER_EXPERIENCE.UI16\n\t\t\t\t: WWNA_TRIGGER_EXPERIENCE.NEXT_EXPERIENCE,\n\t\t\tcontext: \"\",\n\t\t\tskillConfiguration: state.properties.skillConfiguration,\n\t\t},\n\t};\n\tconst isDefaultCommonAction =\n\t\taction.payload.item.actionType === COMMON_ACTION_TYPE &&\n\t\taction.payload.item.tableName === DEFAULT_COMMON_ACTIONS_TABLE;\n\n\tconst recordSysId = isDefaultCommonAction\n\t\t? WWNA_CAPABILITY_ID\n\t\t: state.properties.sysId;\n\n\tdispatch(INVOKE_PRESET_ACTION, {\n\t\ttable: action.payload.item.tableName,\n\t\tsysId: recordSysId,\n\t\tmessage: `/${action.payload.item.commandName} ${JSON.stringify(\n\t\t\tjsonPayload\n\t\t)}`,\n\t\tcontext: \"public\",\n\t});\n};\n\nexport const invokePresetActionGraphql = createGraphQLEffect(\n\t`\nmutation($table: String!, $sysId: String!, $message: String!, $context: String!) {\n\tnow {\n\t\tquickActions {\n\t\t\twwnaInvokeAction(table: $table, sysId: $sysId, message: $message, context: $context) {\n\t\t\t\tmessage\n\t\t\t\tsuccess\n\t\t\t\tdispatchAction {\n\t\t\t\t\ttype\n\t\t\t\t\tpayload\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}`,\n\t{\n\t\tvariableList: [\"table\", \"sysId\", \"message\", \"context\"],\n\t\tsuccessActionType: INVOKE_PRESET_ACTION_COMPLETE,\n\t\terrorActionType: INVOKE_PRESET_ACTION_FAILED,\n\t}\n);\n\nexport const nowPopupOpenedSetHander = ({ action, updateState, state }) => {\n\tconst { payload } = action;\n\n\tswitch (payload.command) {\n\t\tcase WWNA_POPOVER:\n\t\t\tif ([\"outside-click\", \"escape-press\"].includes(payload.actionSource)) {\n\t\t\t\tupdateState({ isOpened: false });\n\t\t\t}\n\t\t\tif (payload.actionSource === \"trigger-click\") {\n\t\t\t\tif (state.isOpened) {\n\t\t\t\t\tupdateState({ isOpened: false });\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t}\n};\n\nexport const nowButtonClickHandler = ({\n\taction,\n\tupdateState,\n\tdispatch,\n\tstate,\n}) => {\n\tconst { command } = action.payload;\n\tswitch (command) {\n\t\tcase OPEN_POPOVER:\n\t\t\tif (!state.properties.isQuickActionsLoading) {\n\t\t\t\tupdateState({ isOpened: true });\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase DEFAULT_PRESET_CLICKED:\n\t\t\tdispatch(INTERNAL_PRESET_ACTION_CLICKED, {\n\t\t\t\tselectedItem: state.properties.defaultPresetAction,\n\t\t\t\twwnaComponentId: state.properties.wwnaComponentId,\n\t\t\t});\n\n\t\t\tconst selectedText = state.properties.selectedText\n\t\t\t\t? state.properties.selectedText\n\t\t\t\t: state.properties.draftedText;\n\n\t\t\tconst jsonPayload = {\n\t\t\t\tambChannel: `/wwna/${state.properties.ambChannelName}`,\n\t\t\t\tpayload: {\n\t\t\t\t\t...state.properties.payload,\n\t\t\t\t\tselected_text: selectedText,\n\t\t\t\t\tdrafted_text: state.properties.draftedText,\n\t\t\t\t\tskill_name: state.properties.skillName,\n\t\t\t\t\tskill_description: state.properties.skillDescription,\n\t\t\t\t\tdocument_table_name: state.properties.tableName,\n\t\t\t\t\tdocument_sys_id: state.properties.sysId,\n\t\t\t\t\tskill_id: state.properties.skillId,\n\t\t\t\t\ttrigger_source: WWNA_TRIGGER_SOURCE.DEFAULT,\n\t\t\t\t\tskill_config_id: state.properties.skillConfigId,\n\t\t\t\t\tcaller: state.properties.isUI16Caller\n\t\t\t\t\t\t? WWNA_TRIGGER_EXPERIENCE.UI16\n\t\t\t\t\t\t: WWNA_TRIGGER_EXPERIENCE.NEXT_EXPERIENCE,\n\t\t\t\t\tcontext: \"\",\n\t\t\t\t\tskillConfiguration: state.properties.skillConfiguration,\n\t\t\t\t},\n\t\t\t};\n\t\t\tconst isDefaultCommonAction =\n\t\t\t\tstate.properties.defaultPresetAction.actionType ===\n\t\t\t\t\tCOMMON_ACTION_TYPE &&\n\t\t\t\tstate.properties.defaultPresetAction.tableName ===\n\t\t\t\t\tDEFAULT_COMMON_ACTIONS_TABLE;\n\n\t\t\tconst recordSysId = isDefaultCommonAction\n\t\t\t\t? WWNA_CAPABILITY_ID\n\t\t\t\t: state.properties.sysId;\n\n\t\t\tdispatch(INVOKE_PRESET_ACTION, {\n\t\t\t\ttable: state.properties.defaultPresetAction.tableName,\n\t\t\t\tsysId: recordSysId,\n\t\t\t\tmessage: `/${\n\t\t\t\t\tstate.properties.defaultPresetAction.commandName\n\t\t\t\t} ${JSON.stringify(jsonPayload)}`,\n\t\t\t\tcontext: \"public\",\n\t\t\t});\n\t}\n};\n","import { createCustomElement, actionTypes } from \"@servicenow/ui-core\";\nimport snabbdom from \"@servicenow/ui-renderer-snabbdom\";\nimport { view } from \"./view\";\nimport {\n\tdropDownListClickHandler,\n\tinvokePresetActionGraphql,\n\tnowButtonClickHandler,\n\tnowPopupOpenedSetHander,\n\tcomponentPropertyChanged,\n} from \"./actionHandlers\";\nimport {\n\tINVOKE_PRESET_ACTION,\n\tNOW_DROPDOWN_LIST_ITEM_CLICKED,\n\tNOW_BUTTON_CLICKED,\n\tINVOKE_PRESET_ACTION_FAILED,\n\tINVOKE_PRESET_ACTION_COMPLETE,\n\tNOW_POPOVER_OPENED_SET,\n} from \"../constants\";\nimport styles from \"./styles.scss\";\n\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\ncreateCustomElement(\"sn-gen-ai-preset-menu\", {\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles,\n\tproperties: {\n\t\ttableName: { default: \"\" },\n\t\tsysId: { default: \"\" },\n\t\tdropDownItems: { default: [] },\n\t\twwnaComponentId: { default: \"\" },\n\t\tbuttonProps: { default: {} },\n\t\tisQuickActionsLoading: { default: true },\n\t\tpayload: { default: {} },\n\t\tselectedText: { default: \"\" },\n\t\tdraftedText: { default: \"\" },\n\t\tdefaultPresetAction: { default: {} },\n\t\tisDefaultAction: { default: false },\n\t\tisDialogVisible: { default: false },\n\t\tskillName: { default: \"\" },\n\t\tskillDescription: { default: \"\" },\n\t\tskillId: { default: \"\" },\n\t\tskillConfigId: { default: \"\" },\n\t\tskillConfiguration: { default: {} },\n\t\tuserSysId: { default: \"\" },\n\t\tambChannelName: { default: \"\" },\n\t\tisUI16Caller: {default: false },\n\t\tadditionalAnalyticsAttributes: {default: {}}\n\t},\n\tinitialState: {\n\t\tisOpened: false,\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: componentPropertyChanged,\n\t\t[INVOKE_PRESET_ACTION]: invokePresetActionGraphql,\n\t\t[INVOKE_PRESET_ACTION_COMPLETE]: () => {},\n\t\t[INVOKE_PRESET_ACTION_FAILED]: () => {},\n\t\t[NOW_DROPDOWN_LIST_ITEM_CLICKED]: dropDownListClickHandler,\n\t\t[NOW_BUTTON_CLICKED]: nowButtonClickHandler,\n\t\t[NOW_POPOVER_OPENED_SET]: nowPopupOpenedSetHander,\n\t},\n\tdispatches: {\n\t\tINTERNAL_PRESET_ACTION_CLICKED: {},\n\t},\n});\n","import \"@servicenow/now-button\";\nimport \"@servicenow/now-popover\";\nimport \"./../sn-preset-menu-content\";\nimport { isEmpty } from \"lodash\";\nimport { OPEN_POPOVER } from \"../constants\";\nimport { Fragment } from \"@servicenow/ui-renderer-snabbdom\";\nimport { DEFAULT_PRESET_CLICKED, WWNA_POPOVER } from \"./../constants\";\n\nexport const view = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tdropDownItems,\n\t\t\tbuttonProps: {\n\t\t\t\ticon,\n\t\t\t\tsize,\n\t\t\t\tvariant,\n\t\t\t\tlabel,\n\t\t\t\ttooltipContent,\n\t\t\t\tisCaretForDropdown,\n\t\t\t\thideButtonOnDialog,\n\t\t\t\tpresetHeaderLabel,\n\t\t\t},\n\t\t\tisQuickActionsLoading,\n\t\t\tdefaultPresetAction,\n\t\t\tisDefaultAction,\n\t\t\tisDialogVisible,\n\t\t},\n\t\tisOpened,\n\t} = state;\n\n\tconst isHidePreset = hideButtonOnDialog && isDialogVisible;\n\n\tif (isHidePreset) return;\n\treturn (\n\t\t<Fragment>\n\t\t\t{!isEmpty(defaultPresetAction) && isDefaultAction ? (\n\t\t\t\t<now-button\n\t\t\t\t\tclassName={`${variant === \"secondary\" && \"custom-background-color\"}`}\n\t\t\t\t\tconfigAria={{ button: { \"aria-label\": tooltipContent } }}\n\t\t\t\t\tvariant={variant}\n\t\t\t\t\tsize={size}\n\t\t\t\t\tdisabled={isQuickActionsLoading || isDialogVisible}\n\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\tcommand: DEFAULT_PRESET_CLICKED,\n\t\t\t\t\t}}\n\t\t\t\t\ttooltipContent={tooltipContent}\n\t\t\t\t\ticon={icon}\n\t\t\t\t\tlabel={label}\n\t\t\t\t>\n\t\t\t\t\t{icon && (\n\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\tclassName={`${label && \"preset-button__prefix-icon\"}`}\n\t\t\t\t\t\t\ticon={icon}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{label}\n\t\t\t\t\t{isCaretForDropdown && (\n\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\tclassName={`${label && \"preset-button__suffix-icon\"}`}\n\t\t\t\t\t\t\tsize={size}\n\t\t\t\t\t\t\ticon=\"caret-down-fill\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</now-button>\n\t\t\t) : (\n\t\t\t\t<now-popover\n\t\t\t\t\tconfig-aria={{}}\n\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\tcommand: WWNA_POPOVER,\n\t\t\t\t\t}}\n\t\t\t\t\topened={isOpened}\n\t\t\t\t\tmanageOpened\n\t\t\t\t\tbare\n\t\t\t\t>\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tclassName={`${\n\t\t\t\t\t\t\tvariant === \"secondary\" && \"custom-background-color\"\n\t\t\t\t\t\t}`}\n\t\t\t\t\t\tconfigAria={{ button: { \"aria-label\": tooltipContent } }}\n\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\tcommand: OPEN_POPOVER,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdisabled={isQuickActionsLoading || isDialogVisible}\n\t\t\t\t\t\tvariant={variant}\n\t\t\t\t\t\tsize={size}\n\t\t\t\t\t\ticon={icon}\n\t\t\t\t\t\tlabel={label}\n\t\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\t\ttooltipContent={tooltipContent}\n\t\t\t\t\t>\n\t\t\t\t\t\t{icon && (\n\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\tclassName={`${label && \"preset-button__prefix-icon\"}`}\n\t\t\t\t\t\t\t\ticon={icon}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{label}\n\t\t\t\t\t\t{isCaretForDropdown && (\n\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\tclassName={`${label && \"preset-button__suffix-icon\"}`}\n\t\t\t\t\t\t\t\tsize={size}\n\t\t\t\t\t\t\t\ticon=\"caret-down-fill\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</now-button>\n\t\t\t\t\t<sn-preset-menu-content\n\t\t\t\t\t\tslot=\"content\"\n\t\t\t\t\t\titems={dropDownItems}\n\t\t\t\t\t\tpresetHeaderLabel={presetHeaderLabel}\n\t\t\t\t\t/>\n\t\t\t\t</now-popover>\n\t\t\t)}\n\t\t</Fragment>\n\t);\n};\n","import {\n\tdangerouslyCreateElementFromString,\n\tFragment,\n} from \"@servicenow/ui-renderer-snabbdom\";\nimport { createCustomElement } from \"@servicenow/ui-core\";\nimport { t } from \"sn-translate\";\nimport \"@servicenow/now-modeless-dialog\";\nimport \"@servicenow/now-dropdown\";\nimport \"@servicenow/now-button\";\nimport \"@servicenow/now-loader\";\nimport \"@servicenow/now-icon\";\nimport \"@servicenow/now-popover\";\nimport \"@devsnc/sn-feedback\";\nimport {\n\tMIN_MODAL_HEIGHT,\n\tMIN_MODAL_WIDTH,\n\tINTERNAL_INSERT_RECOMMENDATION_CLICKED,\n\tINTERNAL_RECOMMENDATION_DIALOG_CLOSED,\n\tNOW_BUTTON_NEXT_PAGE,\n\tNOW_BUTTON_PREVIOUS_PAGE,\n\tCOPY_RECOMMENDATION_CLICKED,\n} from \"../constants\";\nimport styles from \"./styles.scss\";\n\ncreateCustomElement(\"sn-content\", {\n\tview: (state) => (\n\t\t<div className=\"popover_content\">{state.properties.content}</div>\n\t),\n\tproperties: {\n\t\tcontent: {},\n\t},\n\tstyles,\n});\n\nexport const view = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tdialogHeaderLabel,\n\t\t\tdialogFooterLabel,\n\t\t\tisOpened,\n\t\t\tdropDownItems,\n\t\t\toffsetTop,\n\t\t\toffsetLeft,\n\t\t\tadditionalInfoTooltip,\n\t\t\tinsertButtonLabel,\n\t\t\trefineButtonLabel,\n\t\t\theight,\n\t\t\twidth,\n\t\t},\n\t\tcurrentResponseIndex,\n\t\tisLoading,\n\t\tallResponses,\n\t\tisCopyClicked,\n\t} = state;\n\tconst dialogHeight = height > MIN_MODAL_HEIGHT ? height : MIN_MODAL_HEIGHT;\n\tconst dialogWidth = width > MIN_MODAL_WIDTH ? width : MIN_MODAL_WIDTH;\n\treturn (\n\t\t<div className=\"recommendation-dialog-overlay\">\n\t\t\t<div\n\t\t\t\tstyle={{ top: `${offsetTop}%`, left: `${offsetLeft}%` }}\n\t\t\t\tclassName=\"recommendation-dialog-overlay__container\"\n\t\t\t>\n\t\t\t\t<now-modeless-dialog\n\t\t\t\t\theight={dialogHeight}\n\t\t\t\t\twidth={dialogWidth}\n\t\t\t\t\tenableDrag\n\t\t\t\t\topened={isOpened}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\theadingIcon={{\n\t\t\t\t\t\ticon: \"ai-sparkle-outline\",\n\t\t\t\t\t\tvariant: \"primary\",\n\t\t\t\t\t}}\n\t\t\t\t\theadingLabel={isLoading ? t(\"Generating\") : dialogHeaderLabel}\n\t\t\t\t\tresizable-config={{\n\t\t\t\t\t\tenableResizable: true,\n\t\t\t\t\t\tcontext: \"fixed\",\n\t\t\t\t\t\tresizableMinWidth: MIN_MODAL_WIDTH,\n\t\t\t\t\t\tresizableMinHeight: MIN_MODAL_HEIGHT,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div slot=\"actions\">\n\t\t\t\t\t\t<now-popover\n\t\t\t\t\t\t\tinteraction-type=\"none\"\n\t\t\t\t\t\t\tpositions={[{ target: \"top-end\", content: \"bottom-end\" }]}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\t\tclassName=\"recommendation-header-content__info-button\"\n\t\t\t\t\t\t\t\tconfigAria={{ button: { \"aria-label\": t(\"More Info\") } }}\n\t\t\t\t\t\t\t\ticon=\"circle-info-outline\"\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\thidePadding\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\ttooltip-content={t(\"More Info\")}\n\t\t\t\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<sn-content slot=\"content\" content={additionalInfoTooltip} />\n\t\t\t\t\t\t</now-popover>\n\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\tconfigAria={{ button: { \"aria-label\": t(\"Close\") } }}\n\t\t\t\t\t\t\ticon=\"close-outline\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\thidePadding\n\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\tcommand: INTERNAL_RECOMMENDATION_DIALOG_CLOSED,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\ttooltip-content={t(\"Close\")}\n\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div\n\t\t\t\t\t\tslot=\"content\"\n\t\t\t\t\t\tclassName={`content-container ${\n\t\t\t\t\t\t\tallResponses[currentResponseIndex]?.logId === -1 &&\n\t\t\t\t\t\t\t\"content-container--error\"\n\t\t\t\t\t\t}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t{isLoading ? (\n\t\t\t\t\t\t\t<div className=\"content-container--loader\">\n\t\t\t\t\t\t\t\t<now-loader config-aria={{}} size=\"lg\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={`content-container__content ${\n\t\t\t\t\t\t\t\t\t\tallResponses[currentResponseIndex]?.logId === -1 &&\n\t\t\t\t\t\t\t\t\t\t\"content-container__content--error\"\n\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{allResponses[currentResponseIndex]?.icon && (\n\t\t\t\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"content-container__content-icon\"\n\t\t\t\t\t\t\t\t\t\t\ticon={allResponses[currentResponseIndex].icon}\n\t\t\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{dangerouslyCreateElementFromString(\n\t\t\t\t\t\t\t\t\t\t`<Fragment>${allResponses[currentResponseIndex].response}</Fragment>`\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={`content-container__action-items flex-space-between no-bottom-padding ${\n\t\t\t\t\t\t\t\t\t\tdropDownItems.length > 0 ? \"\" : \"flex-end-align\"\n\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t{dropDownItems.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t\t<now-dropdown-custom-target\n\t\t\t\t\t\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\t\t\t\t\t\tbutton: { \"aria-label\": refineButtonLabel },\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\t\t\t\tselect=\"none\"\n\t\t\t\t\t\t\t\t\t\t\t\titems={dropDownItems}\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tallResponses[currentResponseIndex].logId === -1\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbutton: { \"aria-label\": refineButtonLabel },\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\ttooltip-content={refineButtonLabel || t(\"Refine\")}\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"custom-dropdown__prefix-icon\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ticon=\"sliders-outline\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t></now-icon>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{refineButtonLabel}\n\t\t\t\t\t\t\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"custom-dropdown__suffix-icon\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ticon=\"caret-down-fill\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t></now-icon>\n\t\t\t\t\t\t\t\t\t\t\t\t</now-button>\n\t\t\t\t\t\t\t\t\t\t\t</now-dropdown-custom-target>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"content-container__action-items--right\">\n\t\t\t\t\t\t\t\t\t\t{allResponses.length > 1 && (\n\t\t\t\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"content-container__pagination-contorl\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{`${currentResponseIndex + 1}/${allResponses.length}`}\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\t\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbutton: { \"aria-label\": t(\"Previous Page\") },\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\ticon=\"chevron-start-outline\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={currentResponseIndex < 1}\n\t\t\t\t\t\t\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcommand: NOW_BUTTON_PREVIOUS_PAGE,\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\ttooltip-content={t(\"Previous Page\")}\n\t\t\t\t\t\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\t\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbutton: { \"aria-label\": t(\"Next Page\") },\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\ticon=\"chevron-end-outline\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentResponseIndex >= allResponses.length - 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcommand: NOW_BUTTON_NEXT_PAGE,\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\ttooltip-content={t(\"Next Page\")}\n\t\t\t\t\t\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"padding-left-md\"\n\t\t\t\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\t\t\t\tconfig-role=\"button\"\n\t\t\t\t\t\t\t\t\t\t\ticon={isCopyClicked ? \"clone-fill\" : \"clone-outline\"}\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\tdisabled={allResponses[currentResponseIndex].logId === -1}\n\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\t\t\t\t\tcommand: COPY_RECOMMENDATION_CLICKED,\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\ttooltip-content={\n\t\t\t\t\t\t\t\t\t\t\t\tisCopyClicked ? t(\"Copied!\") : t(\"Copy to clipboard\")\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"padding-left-md\"\n\t\t\t\t\t\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t\t\t\t\t\tbutton: { \"aria-label\": insertButtonLabel },\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\t\t\t\t\tcommand: INTERNAL_INSERT_RECOMMENDATION_CLICKED,\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tdisabled={allResponses[currentResponseIndex].logId === -1}\n\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\ttooltip-content={insertButtonLabel || t(\"Insert\")}\n\t\t\t\t\t\t\t\t\t\t\tlabel={insertButtonLabel}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t{!isLoading && allResponses[currentResponseIndex].logId !== -1 && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tslot=\"footer\"\n\t\t\t\t\t\t\tclassName=\"content-container__footer flex-space-between\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"content-container__footer-text\">\n\t\t\t\t\t\t\t\t{t(dialogFooterLabel)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<sn-feedback\n\t\t\t\t\t\t\t\tkey={currentResponseIndex}\n\t\t\t\t\t\t\t\tloadState={allResponses[currentResponseIndex].feedback}\n\t\t\t\t\t\t\t\tconfigAria={{}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</now-modeless-dialog>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n","import { createAmbSubscriptionEffect } from \"@servicenow/ui-effect-amb\";\nimport { createGraphQLEffect } from \"@servicenow/ui-effect-graphql\";\nimport { t } from \"sn-translate\";\nimport { createHttpEffect } from \"@servicenow/ui-effect-http\";\nimport {\n\tINVOKE_REFINE_ACTION,\n\tSUBSCRIBE_AMB_CHANNEL,\n\tINTERNAL_RECOMMENDATION_DIALOG_CLOSED,\n\tINTERNAL_INSERT_RECOMMENDATION_CLICKED,\n\tINTERNAL_FEEDBACK_SUBMITTED,\n\tINTERNAL_REFINE_ACTION_CLICKED,\n\tAMB_MESSAGE_RECEIVED,\n\tINVOKE_REFINE_ACTION_COMPLETE,\n\tINVOKE_REFINE_ACTION_FAILED,\n\tCOMMON_ACTION_TYPE,\n\tDEFAULT_COMMON_ACTIONS_TABLE,\n\tWWNA_CAPABILITY_ID,\n\tSUBMIT_FEEDBACK,\n\tSUBMIT_FEEDBACK_SUCCESS_HANDLER,\n\tSUBMIT_FEEDBACK_FAILURE_HANDLER,\n\tFEEDBACK_BUTTON_STATE,\n\tFEEDBACK_STATES,\n\tWWNA_TRIGGER_SOURCE,\n\tDEFAULT_GENERIC_ERROR_MESSAGE,\n\tIMPLICIT_FEEDBACK,\n\tONE_EXTEND_STATUS,\n\tNOW_BUTTON_PREVIOUS_PAGE,\n\tNOW_BUTTON_NEXT_PAGE,\n\tWWNA_TRIGGER_EXPERIENCE,\n\tCOPY_RECOMMENDATION_CLICKED,\n} from \"../constants\";\n\nexport const componentBootstrappedHandler = ({ dispatch, state }) => {\n\tdispatch(SUBSCRIBE_AMB_CHANNEL, {\n\t\tambChannelName: state.properties.ambChannelName,\n\t\tsubscribe: true,\n\t});\n};\n\nexport const componentDisconnectedHandler = ({ dispatch }) => {\n\tdispatch(SUBSCRIBE_AMB_CHANNEL, {\n\t\tsubscribe: false,\n\t});\n};\n\nexport const dropDownItemClickedHandler = ({\n\taction,\n\tdispatch,\n\tupdateState,\n\tstate,\n}) => {\n\tupdateState({ isLoading: true });\n\tdispatch(INTERNAL_REFINE_ACTION_CLICKED, {\n\t\tselectedItem: action.payload.item,\n\t\twwnaComponentId: state.properties.wwnaComponentId,\n\t});\n\n\tconst jsonPayload = {\n\t\tambChannel: `/wwna/${state.properties.ambChannelName}`,\n\t\tpayload: {\n\t\t\t...state.properties.payload,\n\t\t\tselected_text: state.allResponses[state.currentResponseIndex].response,\n\t\t\tdrafted_text: state.allResponses[state.currentResponseIndex].response,\n\t\t\tskill_name: state.properties.skillName,\n\t\t\tskill_description: state.properties.skillDescription,\n\t\t\tdocument_table_name: state.properties.tableName,\n\t\t\tdocument_sys_id: state.properties.sysId,\n\t\t\tskill_id: state.properties.skillId,\n\t\t\ttrigger_source: WWNA_TRIGGER_SOURCE.REFINE,\n\t\t\tskill_config_id: state.properties.skillConfigId,\n\t\t\tcaller: state.properties.isUI16Caller\n\t\t\t\t? WWNA_TRIGGER_EXPERIENCE.UI16\n\t\t\t\t: WWNA_TRIGGER_EXPERIENCE.NEXT_EXPERIENCE,\n\t\t\tcontext: state.context,\n\t\t\tskillConfiguration: state.properties.skillConfiguration,\n\t\t},\n\t};\n\tconst isDefaultCommonAction =\n\t\taction.payload.item.actionType === COMMON_ACTION_TYPE &&\n\t\taction.payload.item.tableName === DEFAULT_COMMON_ACTIONS_TABLE;\n\n\tconst recordSysId = isDefaultCommonAction\n\t\t? WWNA_CAPABILITY_ID\n\t\t: state.properties.sysId;\n\n\tdispatch(INVOKE_REFINE_ACTION, {\n\t\ttable: action.payload.item.tableName,\n\t\tsysId: recordSysId,\n\t\tmessage: `/${action.payload.item.commandName} ${JSON.stringify(\n\t\t\tjsonPayload\n\t\t)}`,\n\t\tcontext: \"public\",\n\t});\n};\n\nexport const feedbackClickedHandler = ({\n\tdispatch,\n\tstate,\n\taction: { payload },\n}) => {\n\tlet feedback = \"\";\n\tif (payload.button === FEEDBACK_BUTTON_STATE.THUMBS_UP) {\n\t\tfeedback = payload.isSelected\n\t\t\t? FEEDBACK_STATES.Accepted\n\t\t\t: FEEDBACK_STATES.Ignored;\n\t} else if (payload.button === FEEDBACK_BUTTON_STATE.THUMBS_DOWN) {\n\t\tfeedback = payload.isSelected\n\t\t\t? FEEDBACK_STATES.Rejected\n\t\t\t: FEEDBACK_STATES.Ignored;\n\t}\n\tdispatch(SUBMIT_FEEDBACK, {\n\t\tdata: {\n\t\t\tlogId: state.allResponses[state.currentResponseIndex].logId,\n\t\t\tfeedback,\n\t\t},\n\t});\n};\n\nexport const buttonClickHandler = (coeffects) => {\n\tconst { action, updateState, dispatch, state } = coeffects;\n\tconst { command } = action.payload;\n\tswitch (command) {\n\t\tcase INTERNAL_INSERT_RECOMMENDATION_CLICKED:\n\t\t\tconst payload = {\n\t\t\t\tvalue: state.allResponses[state.currentResponseIndex].response,\n\t\t\t\twwnaComponentId: state.properties.wwnaComponentId,\n\t\t\t};\n\n\t\t\tdispatch(INTERNAL_INSERT_RECOMMENDATION_CLICKED, {\n\t\t\t\t...payload,\n\t\t\t});\n\t\t\t// Capture feedback in gen ai log table\n\t\t\ttry {\n\t\t\t\tconst allResponses = state.allResponses;\n\t\t\t\tconst currentResponseIndex = state.currentResponseIndex;\n\n\t\t\t\tfor (let i = 0; i < allResponses.length; ++i) {\n\t\t\t\t\tif (allResponses[i].logId !== -1) {\n\t\t\t\t\t\tdispatch(SUBMIT_FEEDBACK, {\n\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\tlogId: allResponses[i].logId,\n\t\t\t\t\t\t\t\tadditionalData:\n\t\t\t\t\t\t\t\t\tcurrentResponseIndex === i\n\t\t\t\t\t\t\t\t\t\t? IMPLICIT_FEEDBACK.INSERTED\n\t\t\t\t\t\t\t\t\t\t: IMPLICIT_FEEDBACK.CLOSED,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (ex) {\n\t\t\t\tconsole.error(\"Error occured while giving feedback in insert handler\" + ex);\n\t\t\t}\n\n\t\t\tupdateState({\n\t\t\t\tisLoading: true,\n\t\t\t\tallResponses: [],\n\t\t\t\tcurrentResponseIndex: -1,\n\t\t\t\tcontext: \"\",\n\t\t\t});\n\t}\n};\n\nexport const buttonIconicClickHandler = (coeffects) => {\n\tconst { action, updateState, dispatch, state } = coeffects;\n\tconst { command } = action.payload;\n\tswitch (command) {\n\t\tcase INTERNAL_RECOMMENDATION_DIALOG_CLOSED:\n\t\t\t// Capture feedback in gen ai log table\n\t\t\ttry {\n\t\t\t\tconst allResponses = state.allResponses;\n\n\t\t\t\tfor (let i = 0; i < allResponses.length; ++i) {\n\t\t\t\t\tif (allResponses[i].logId !== -1) {\n\t\t\t\t\t\tdispatch(SUBMIT_FEEDBACK, {\n\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\tlogId: allResponses[i].logId,\n\t\t\t\t\t\t\t\tadditionalData: IMPLICIT_FEEDBACK.CLOSED,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (ex) {\n\t\t\t\tconsole.error(\"Exception while giving feedback in close handler\" + ex);\n\t\t\t}\n\n\t\t\tupdateState({\n\t\t\t\tisLoading: true,\n\t\t\t\tallResponses: [],\n\t\t\t\tcurrentResponseIndex: -1,\n\t\t\t\tcontext: \"\",\n\t\t\t});\n\t\t\tdispatch(INTERNAL_RECOMMENDATION_DIALOG_CLOSED);\n\t\t\tbreak;\n\t\tcase NOW_BUTTON_PREVIOUS_PAGE:\n\t\t\tupdateState({ currentResponseIndex: state.currentResponseIndex - 1 });\n\t\t\tbreak;\n\t\tcase NOW_BUTTON_NEXT_PAGE:\n\t\t\tupdateState({ currentResponseIndex: state.currentResponseIndex + 1 });\n\t\t\tbreak;\n\t\tcase COPY_RECOMMENDATION_CLICKED:\n\t\t\tconst HTMLString =\n\t\t\t\tstate.allResponses[state.currentResponseIndex].response;\n\t\t\tconst div = document.createElement(\"div\");\n\t\t\tdiv.innerHTML = HTMLString;\n\t\t\tconst HTMLText = div.textContent || div.innerText || \"\";\n\n\t\t\tif (typeof ClipboardItem === \"undefined\") {\n\t\t\t\tnavigator.clipboard.writeText(HTMLText);\n\t\t\t} else {\n\t\t\t\tconst blobHtml = new Blob([HTMLString], { type: \"text/html\" });\n\t\t\t\tconst blobText = new Blob([HTMLText], { type: \"text/plain\" });\n\t\t\t\tconst data = [\n\t\t\t\t\tnew ClipboardItem({\n\t\t\t\t\t\t[\"text/plain\"]: blobText,\n\t\t\t\t\t\t[\"text/html\"]: blobHtml,\n\t\t\t\t\t}),\n\t\t\t\t];\n\t\t\t\tnavigator.clipboard.write(data);\n\t\t\t}\n\n\t\t\tdiv.remove();\n\t\t\tupdateState({ isCopyClicked: true });\n\t\t\tsetTimeout(() => {\n\t\t\t\tupdateState({ isCopyClicked: false });\n\t\t\t}, 1000);\n\t\t\tbreak;\n\t}\n};\n\nexport const modelessDialogOpenedSetHandler = ({\n\tdispatch,\n\tupdateState,\n\taction: { payload },\n}) => {\n\tif (payload.value === false) {\n\t\t// close dialog\n\t\tupdateState({\n\t\t\tisLoading: true,\n\t\t\tallResponses: [],\n\t\t\tcurrentResponseIndex: -1,\n\t\t});\n\t\tdispatch(INTERNAL_RECOMMENDATION_DIALOG_CLOSED);\n\t}\n};\n\nexport const subscribeToChannel = createAmbSubscriptionEffect(\n\t\"/wwna/:ambChannelName\",\n\t{\n\t\tmessageReceivedActionType: AMB_MESSAGE_RECEIVED,\n\t}\n);\n\nexport const subscribeToChannelChanged = ({ updateState, state, action }) => {\n\tif (state.properties.isOpened) {\n\t\tconst { data } = action.payload;\n\t\t// Early fail error\n\t\tif (data.status === ONE_EXTEND_STATUS.ERROR) {\n\t\t\tconst type = data.errorType || \"warning\";\n\t\t\tconst allResponses = [\n\t\t\t\t...state.allResponses,\n\t\t\t\t{\n\t\t\t\t\tlogId: -1,\n\t\t\t\t\tresponse: data.errorMessage || \"\",\n\t\t\t\t\tfeedback: FEEDBACK_BUTTON_STATE.NONE,\n\t\t\t\t\ticon: type === \"warning\" ? \"circle-exclamation-outline\" : \"triangle-exclamation-outline\",\n\t\t\t\t},\n\t\t\t];\n\t\t\tupdateState({\n\t\t\t\tisLoading: false,\n\t\t\t\tallResponses,\n\t\t\t\tcurrentResponseIndex: allResponses.length - 1,\n\t\t\t});\n\t\t} else {\n\t\t\tconst [, value] = Object.entries(data.features)[0];\n\n\t\t\t// Success from LLM\n\t\t\tif (value.status === ONE_EXTEND_STATUS.SUCCESS) {\n\t\t\t\tlet allResponses = [];\n\t\t\t\tif (value.result.status === ONE_EXTEND_STATUS.SUCCESS) {\n\t\t\t\t\tallResponses = [\n\t\t\t\t\t\t...state.allResponses,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlogId: value.result.logId,\n\t\t\t\t\t\t\tresponse: value.result.response || DEFAULT_GENERIC_ERROR_MESSAGE,\n\t\t\t\t\t\t\tfeedback: FEEDBACK_BUTTON_STATE.NONE,\n\t\t\t\t\t\t},\n\t\t\t\t\t];\n\t\t\t\t} else if (value.result.status === ONE_EXTEND_STATUS.ERROR) {\n\t\t\t\t\tallResponses = [\n\t\t\t\t\t\t...state.allResponses,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlogId: -1,\n\t\t\t\t\t\t\tresponse: value.result.response || DEFAULT_GENERIC_ERROR_MESSAGE,\n\t\t\t\t\t\t\tfeedback: FEEDBACK_BUTTON_STATE.NONE,\n\t\t\t\t\t\t\ticon: \"triangle-exclamation-outline\",\n\t\t\t\t\t\t},\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\tupdateState({\n\t\t\t\t\tisLoading: false,\n\t\t\t\t\tallResponses,\n\t\t\t\t\tcurrentResponseIndex: allResponses.length - 1,\n\t\t\t\t\tcontext: value?.requestPayload?.context || state.context || \"\",\n\t\t\t\t});\n\t\t\t} else if (value.status === ONE_EXTEND_STATUS.ERROR) {\n\t\t\t\t// Error from LLM\n\t\t\t\tconst allResponses = [\n\t\t\t\t\t...state.allResponses,\n\t\t\t\t\t{\n\t\t\t\t\t\tlogId: -1,\n\t\t\t\t\t\tresponse: value.result.response || DEFAULT_GENERIC_ERROR_MESSAGE,\n\t\t\t\t\t\tfeedback: FEEDBACK_BUTTON_STATE.NONE,\n\t\t\t\t\t\ticon: \"triangle-exclamation-outline\",\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t\tupdateState({\n\t\t\t\t\tisLoading: false,\n\t\t\t\t\tallResponses,\n\t\t\t\t\tcurrentResponseIndex: allResponses.length - 1,\n\t\t\t\t\tcontext: value?.requestPayload?.context || state.context || \"\",\n\t\t\t\t});\n\t\t\t} else if (value.status === ONE_EXTEND_STATUS.CANCELLED) {\n\t\t\t\t// Cancelled due to Timeout\n\t\t\t\tconst allResponses = [\n\t\t\t\t\t...state.allResponses,\n\t\t\t\t\t{\n\t\t\t\t\t\tlogId: -1,\n\t\t\t\t\t\tresponse: state.properties.timeoutErrorMessage,\n\t\t\t\t\t\tfeedback: FEEDBACK_BUTTON_STATE.NONE,\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t\tupdateState({\n\t\t\t\t\tisLoading: false,\n\t\t\t\t\tallResponses,\n\t\t\t\t\tcurrentResponseIndex: allResponses.length - 1,\n\t\t\t\t\tcontext: value?.requestPayload?.context || state.context || \"\",\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport const invokeRefineActionGraphql = createGraphQLEffect(\n\t`\nmutation($table: String!, $sysId: String!, $message: String!, $context: String!) {\n\tnow {\n\t\tquickActions {\n\t\t\twwnaInvokeAction(table: $table, sysId: $sysId, message: $message, context: $context) {\n\t\t\t\tmessage\n\t\t\t\tsuccess\n\t\t\t\tdispatchAction {\n\t\t\t\t\ttype\n\t\t\t\t\tpayload\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}`,\n\t{\n\t\tvariableList: [\"table\", \"sysId\", \"message\", \"context\"],\n\t\tsuccessActionType: INVOKE_REFINE_ACTION_COMPLETE,\n\t\terrorActionType: INVOKE_REFINE_ACTION_FAILED,\n\t}\n);\n\nexport const sendFeedback = createHttpEffect(\"/api/now/v1/feedback\", {\n\tmethod: \"POST\",\n\tdataParam: \"data\",\n\tsuccessActionType: SUBMIT_FEEDBACK_SUCCESS_HANDLER,\n\terrorActionType: SUBMIT_FEEDBACK_FAILURE_HANDLER,\n});\n\nexport const sendFeedbackSuccessHandler = ({\n\taction,\n\tdispatch,\n\tstate,\n\tupdateState,\n}) => {\n\tconst logId = action.meta.request.data.logId;\n\tconst isRecordFeedback = !action.meta.request.data.additionalData;\n\tconst feedback = action.meta.request.data.feedback;\n\n\tif (isRecordFeedback) {\n\t\tconst updatedResponses = state.allResponses.map((wwnaResponse) => {\n\t\t\tif (wwnaResponse.logId === logId) {\n\t\t\t\tif (feedback === FEEDBACK_STATES.Accepted) {\n\t\t\t\t\twwnaResponse.feedback = FEEDBACK_BUTTON_STATE.THUMBS_UP;\n\t\t\t\t} else if (feedback === FEEDBACK_STATES.Rejected) {\n\t\t\t\t\twwnaResponse.feedback = FEEDBACK_BUTTON_STATE.THUMBS_DOWN;\n\t\t\t\t} else {\n\t\t\t\t\twwnaResponse.feedback = FEEDBACK_BUTTON_STATE.NONE;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn wwnaResponse;\n\t\t});\n\n\t\tupdateState({ allResponses: updatedResponses });\n\n\t\tdispatch(INTERNAL_FEEDBACK_SUBMITTED, {\n\t\t\t...action.meta.request.data,\n\t\t\twwnaComponentId: state.properties.wwnaComponentId,\n\t\t});\n\t}\n};\n\nexport const sendFeedbackFailureHandler = ({ dispatch }) => {\n\tdispatch(INTERNAL_FEEDBACK_SUBMITTED, {\n\t\t...action.meta.request.data,\n\t\twwnaComponentId: state.properties.wwnaComponentId,\n\t});\n};\n","import { createCustomElement, actionTypes } from \"@servicenow/ui-core\";\nimport snabbdom from \"@servicenow/ui-renderer-snabbdom\";\nimport styles from \"./styles.scss\";\nimport { view } from \"./view\";\nimport {\n\tINVOKE_REFINE_ACTION_COMPLETE,\n\tINVOKE_REFINE_ACTION_FAILED,\n\tINVOKE_REFINE_ACTION,\n\tNOW_DROPDOWN_CUSTOM_ITEM_CLICKED,\n\tSUBSCRIBE_AMB_CHANNEL,\n\tAMB_MESSAGE_RECEIVED,\n\tSN_FEEDBACK_FEEDBACK_CLICKED,\n\tNOW_MODELESS_DIALOG_OPENED_SET,\n\tNOW_BUTTON_CLICKED,\n\tNOW_BUTTON_ICONIC_CLICKED,\n\tSUBMIT_FEEDBACK,\n\tSUBMIT_FEEDBACK_SUCCESS_HANDLER,\n\tSUBMIT_FEEDBACK_FAILURE_HANDLER,\n\tDEFAULT_MODAL_HEIGHT,\n\tDEFAULT_MODAL_WIDTH,\n} from \"../constants\";\nimport {\n\tcomponentBootstrappedHandler,\n\tcomponentDisconnectedHandler,\n\tdropDownItemClickedHandler,\n\tfeedbackClickedHandler,\n\tbuttonClickHandler,\n\tbuttonIconicClickHandler,\n\tmodelessDialogOpenedSetHandler,\n\tsendFeedback,\n\tsendFeedbackSuccessHandler,\n\tsendFeedbackFailureHandler,\n\tinvokeRefineActionGraphql,\n\tsubscribeToChannel,\n\tsubscribeToChannelChanged,\n} from \"./actionHandlers\";\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_DISCONNECTED } = actionTypes;\n\ncreateCustomElement(\"sn-gen-ai-recommendation\", {\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles,\n\tproperties: {\n\t\tdialogHeaderLabel: { default: \"\" },\n\t\tdialogFooterLabel: { default: \"\" },\n\t\tisOpened: { default: false },\n\t\tdropDownItems: { default: [] },\n\t\ttableName: { default: \"\" },\n\t\tsysId: { default: \"\" },\n\t\twwnaComponentId: { default: \"\" },\n\t\tpayload: { default: {} },\n\t\tselectedText: { default: \"\" },\n\t\tdraftedText: { default: \"\" },\n\t\toffsetTop: { default: 0 },\n\t\toffsetLeft: { default: 0 },\n\t\theight: { default: DEFAULT_MODAL_HEIGHT },\n\t\twidth: { default: DEFAULT_MODAL_WIDTH },\n\t\tadditionalInfoTooltip: { default: \"\" },\n\t\tinsertButtonLabel: { default: \"\" },\n\t\trefineButtonLabel: { default: \"\" },\n\t\tskillName: { default: \"\" },\n\t\tskillDescription: { default: \"\" },\n\t\tskillId: { default: \"\" },\n\t\tskillConfigId: { default: \"\" },\n\t\tskillConfiguration: { default: {} },\n\t\tuserSysId: { default: \"\" },\n\t\tambChannelName: { default: \"\" },\n\t\tisUI16Caller: { default: false },\n\t\tadditionalAnalyticsAttributes: { default: {} },\n\t},\n\tinitialState: {\n\t\tcurrentResponseIndex: -1,\n\t\tisLoading: true,\n\t\tallResponses: [],\n\t\tisCopyClicked: false,\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: componentBootstrappedHandler,\n\t\t[COMPONENT_DISCONNECTED]: componentDisconnectedHandler,\n\t\t[INVOKE_REFINE_ACTION_COMPLETE]: () => {},\n\t\t[INVOKE_REFINE_ACTION_FAILED]: () => {},\n\t\t[INVOKE_REFINE_ACTION]: invokeRefineActionGraphql,\n\t\t[NOW_DROPDOWN_CUSTOM_ITEM_CLICKED]: dropDownItemClickedHandler,\n\t\t[SUBSCRIBE_AMB_CHANNEL]: subscribeToChannel,\n\t\t[AMB_MESSAGE_RECEIVED]: subscribeToChannelChanged,\n\t\t[SN_FEEDBACK_FEEDBACK_CLICKED]: feedbackClickedHandler,\n\t\t[NOW_BUTTON_CLICKED]: buttonClickHandler,\n\t\t[NOW_BUTTON_ICONIC_CLICKED]: buttonIconicClickHandler,\n\t\t[NOW_MODELESS_DIALOG_OPENED_SET]: modelessDialogOpenedSetHandler,\n\t\t[SUBMIT_FEEDBACK]: sendFeedback,\n\t\t[SUBMIT_FEEDBACK_SUCCESS_HANDLER]: sendFeedbackSuccessHandler,\n\t\t[SUBMIT_FEEDBACK_FAILURE_HANDLER]: sendFeedbackFailureHandler,\n\t},\n\tdispatches: {\n\t\tINTERNAL_RECOMMENDATION_DIALOG_CLOSED: {},\n\t\tINTERNAL_INSERT_RECOMMENDATION_CLICKED: {},\n\t\tINTERNAL_REFINE_ACTION_CLICKED: {},\n\t\tINTERNAL_FEEDBACK_SUBMITTED: {},\n\t},\n});\n","import \"@servicenow/now-modeless-dialog\";\nimport \"@servicenow/now-dropdown\";\nimport \"@servicenow/now-button\";\nimport \"@servicenow/now-loader\";\nimport \"@servicenow/now-icon\";\nimport \"@devsnc/sn-feedback\";\nimport \"../sn-preset-menu\";\nimport \"../sn-recommendation-dialog\";\nimport { Fragment } from \"@servicenow/ui-renderer-snabbdom\";\n\nexport const view = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tdocumentSysId,\n\t\t\tdocumentTableName,\n\t\t\twwnaComponentId,\n\t\t\tpayload,\n\t\t\tselectedText,\n\t\t\tdraftedText,\n\t\t\tisUI16Caller,\n\t\t\tadditionalAnalyticsAttributes\n\t\t},\n\t\tdefaultPresetAction,\n\t\trecommendationDialogProps,\n\t\tbuttonProps,\n\t\tisDefaultAction,\n\t\trefineActions,\n\t\tpresetActions,\n\t\tisDialogVisible,\n\t\tisQuickActionsLoading,\n\t\tisSkillEnabled,\n\t\tskillName,\n\t\tskillDescription,\n\t\tskillConfigId,\n\t\ttimeoutErrorMessage,\n\t\tskillConfiguration,\n\t\tuserSysId,\n\t\tchannelName,\n\t\tskillIdStateParam\n\t} = state;\n\treturn (\n\t\t<Fragment>\n\t\t\t{isSkillEnabled && (\n\t\t\t\t<div>\n\t\t\t\t\t<sn-gen-ai-preset-menu\n\t\t\t\t\t\tkey={wwnaComponentId}\n\t\t\t\t\t\ttableName={documentTableName}\n\t\t\t\t\t\tpayload={payload}\n\t\t\t\t\t\tselectedText={selectedText}\n\t\t\t\t\t\tdraftedText={draftedText}\n\t\t\t\t\t\tsysId={documentSysId}\n\t\t\t\t\t\tisQuickActionsLoading={isQuickActionsLoading}\n\t\t\t\t\t\tisDefaultAction={isDefaultAction}\n\t\t\t\t\t\tbuttonProps={buttonProps}\n\t\t\t\t\t\tisDialogVisible={isDialogVisible}\n\t\t\t\t\t\tdefaultPresetAction={defaultPresetAction}\n\t\t\t\t\t\twwnaComponentId={wwnaComponentId}\n\t\t\t\t\t\tdropDownItems={[...presetActions]}\n\t\t\t\t\t\tskillName={skillName}\n\t\t\t\t\t\tskillDescription={skillDescription}\n\t\t\t\t\t\tskillId={skillIdStateParam}\n\t\t\t\t\t\tskillConfigId={skillConfigId}\n\t\t\t\t\t\tskillConfiguration={skillConfiguration}\n\t\t\t\t\t\tuserSysId={userSysId}\n\t\t\t\t\t\tambChannelName={channelName}\n\t\t\t\t\t\tisUI16Caller={isUI16Caller}\n\t\t\t\t\t\tadditionalAnalyticsAttributes={additionalAnalyticsAttributes}\n\t\t\t\t\t/>\n\t\t\t\t\t<sn-gen-ai-recommendation\n\t\t\t\t\t\tnow-hoist\n\t\t\t\t\t\tdialogHeaderLabel={recommendationDialogProps.headerLabel}\n\t\t\t\t\t\tdialogFooterLabel={recommendationDialogProps.footerLabel}\n\t\t\t\t\t\toffsetTop={recommendationDialogProps.offsetTop}\n\t\t\t\t\t\toffsetLeft={recommendationDialogProps.offsetLeft}\n\t\t\t\t\t\theight={recommendationDialogProps.height}\n\t\t\t\t\t\twidth={recommendationDialogProps.width}\n\t\t\t\t\t\tadditionalInfoTooltip={\n\t\t\t\t\t\t\trecommendationDialogProps.additionalInfoTooltip\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinsertButtonLabel={recommendationDialogProps.insertButtonLabel}\n\t\t\t\t\t\trefineButtonLabel={recommendationDialogProps.refineButtonLabel}\n\t\t\t\t\t\tpayload={payload}\n\t\t\t\t\t\tselectedText={selectedText}\n\t\t\t\t\t\tdraftedText={draftedText}\n\t\t\t\t\t\tisOpened={isDialogVisible}\n\t\t\t\t\t\tdropDownItems={[...refineActions]}\n\t\t\t\t\t\ttableName={documentTableName}\n\t\t\t\t\t\tsysId={documentSysId}\n\t\t\t\t\t\twwnaComponentId={wwnaComponentId}\n\t\t\t\t\t\tskillName={skillName}\n\t\t\t\t\t\tskillDescription={skillDescription}\n\t\t\t\t\t\tskillId={skillIdStateParam}\n\t\t\t\t\t\tskillConfigId={skillConfigId}\n\t\t\t\t\t\ttimeoutErrorMessage={timeoutErrorMessage}\n\t\t\t\t\t\tskillConfiguration={skillConfiguration}\n\t\t\t\t\t\tuserSysId={userSysId}\n\t\t\t\t\t\tambChannelName={channelName}\n\t\t\t\t\t\tisUI16Caller={isUI16Caller}\n\t\t\t\t\t\tadditionalAnalyticsAttributes={additionalAnalyticsAttributes}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</Fragment>\n\t);\n};\n","import { merge, isEmpty } from \"lodash\";\nimport { createGraphQLEffect } from \"@servicenow/ui-effect-graphql\";\nimport { createHttpEffect } from \"@servicenow/ui-effect-http\";\nimport {\n\tFETCH_QUICK_ACTIONS_COMPLETE,\n\tFETCH_QUICK_ACTIONS_FAILED,\n\tFETCH_QUICK_ACTIONS,\n\tPRESET_ACTION_CLICKED,\n\tRECOMMENDATION_DIALOG_CLOSED,\n\tINSERT_RECOMMENDATION_CLICKED,\n\tFEEDBACK_SUBMITTED,\n\tREFINE_ACTION_CLICKED,\n\tPRESET_ACTION_TYPE,\n\tREFINE_ACTION_TYPE,\n\tFETCH_SKILL_CONFIGURATIONS,\n\tFETCH_SKILL_CONFIGURATIONS_COMPLETE,\n\tFETCH_SKILL_CONFIGURATIONS_FAILED,\n\tCOMMON_ACTION_TYPE,\n} from \"../constants\";\n\nexport const fetchActionGraphql = createGraphQLEffect(\n\t`query snWWNA($table: String!, $sysId: String!) {\n\t\tnow {\n\t\t\tquickActions {\n\t\t\t\twwnaActions(table: $table, sysId: $sysId) {\n\t\t\t\t\tcommandName\n\t\t\t\t\tsysId\n\t\t\t\t\tname\n\t\t\t\t\tactionType\n\t\t\t\t\ttableName\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}`,\n\t{\n\t\tvariableList: [\"table\", \"sysId\"],\n\t\tsuccessActionType: FETCH_QUICK_ACTIONS_COMPLETE,\n\t\terrorActionType: FETCH_QUICK_ACTIONS_FAILED,\n\t}\n);\n\nexport const componentBootstrappedHandler = ({\n\tdispatch,\n\tstate,\n\tupdateState,\n}) => {\n\tif (!isEmpty(state.properties.skillConfig)) {\n\t\tskillConfigReducer(\n\t\t\tstate.properties.skillConfig,\n\t\t\tstate,\n\t\t\tupdateState,\n\t\t\tdispatch\n\t\t);\n\t} else if (!isEmpty(state.properties.skillId)) {\n\t\tdispatch(FETCH_SKILL_CONFIGURATIONS, {\n\t\t\trecord_table_name: state.properties.documentTableName,\n\t\t\trecord_sys_id: state.properties.documentSysId,\n\t\t\tskill_id: state.properties.skillId,\n\t\t\tskill_table_name: state.properties.skillTableName,\n\t\t});\n\t}\n};\n\nexport const componentPropertyChanged = ({\n\tdispatch,\n\tstate,\n\tupdateState,\n\taction: {\n\t\tpayload: { name, value },\n\t},\n}) => {\n\tif (name === \"skillId\" && !isEmpty(value)) {\n\t\tdispatch(FETCH_SKILL_CONFIGURATIONS, {\n\t\t\trecord_table_name: state.properties.documentTableName,\n\t\t\trecord_sys_id: state.properties.documentSysId,\n\t\t\tskill_id: state.properties.skillId,\n\t\t});\n\t} else if (name === \"documentSysId\" && !isEmpty(value)) {\n\t\tdispatch(FETCH_QUICK_ACTIONS, {\n\t\t\ttable: state.properties.documentTableName,\n\t\t\tsysId: state.properties.documentSysId,\n\t\t});\n\t} else if ((name = \"skillConfig\" & !isEmpty(value))) {\n\t\tskillConfigReducer(value, state, updateState, dispatch);\n\t}\n\n\tif (name === \"selectedText\") {\n\t\tif (!state.properties.buttonProps.strictlyUseDefaultPresetAction) {\n\t\t\tif (value === \"\") {\n\t\t\t\tupdateState({ isDefaultAction: true });\n\t\t\t} else {\n\t\t\t\tupdateState({ isDefaultAction: false });\n\t\t\t}\n\t\t}\n\t}\n\n\tif (name === \"recommendationDialogProps\") {\n\t\tupdateState({\n\t\t\trecommendationDialogProps: merge(\n\t\t\t\tvalue,\n\t\t\t\tstate.skilllConfigRecommendationDialogProps\n\t\t\t),\n\t\t});\n\t}\n\n\tif (name === \"buttonProps\") {\n\t\tupdateState({\n\t\t\tbuttonProps: merge(value, state.skilllConfigButtonProps),\n\t\t});\n\t}\n};\n\nexport const fetchWWNAActionSuccessHandler = ({\n\taction,\n\tupdateState,\n\tstate,\n}) => {\n\tif (action.payload.errors?.length) {\n\t\tupdateState({\n\t\t\tbuttonProps: merge(\n\t\t\t\tstate.properties.buttonProps,\n\t\t\t\tstate.skilllConfigButtonProps\n\t\t\t),\n\t\t\ttimeoutErrorMessage: state.skilllConfigTimeoutErrorMessage\n\t\t\t\t? state.skilllConfigTimeoutErrorMessage\n\t\t\t\t: state.properties.timeoutErrorMessage,\n\t\t\tisQuickActionsLoading: false,\n\t\t});\n\t} else {\n\t\tconst actions = action.payload.data.now.quickActions.wwnaActions;\n\t\tconst formattedActions = actions.map((action) => ({\n\t\t\tid: action.sysId,\n\t\t\tlabel: action.name,\n\t\t\tsysId: action.sysId,\n\t\t\tcommandName: `${action.commandName}`,\n\t\t\tactionType: action.actionType,\n\t\t\ttableName: action.tableName,\n\t\t}));\n\n\t\tlet presetActions = [];\n\t\tconst presetActionsToHonor = state.skilllConfigPresetActions\n\t\t\t? state.skilllConfigPresetActions\n\t\t\t: state.properties.presetActions;\n\t\tif (presetActionsToHonor?.length) {\n\t\t\t// if property -> has value -> pick the one to one mapping of those entries only.\n\t\t\tpresetActions = formattedActions.filter(\n\t\t\t\t(action) =>\n\t\t\t\t\tpresetActionsToHonor.includes(action.commandName) ||\n\t\t\t\t\tpresetActionsToHonor.includes(action.id)\n\t\t\t);\n\t\t} else {\n\t\t\t// if property -> is null/undefined -> pick common + preset for table + common from oneextend\n\t\t\tpresetActions = formattedActions.filter(\n\t\t\t\t(action) =>\n\t\t\t\t\taction.actionType === PRESET_ACTION_TYPE ||\n\t\t\t\t\taction.actionType === COMMON_ACTION_TYPE\n\t\t\t);\n\t\t}\n\n\t\tlet refineActions = [];\n\t\tconst refineActionsToHonor = state.skilllConfigRefineActions\n\t\t\t? state.skilllConfigRefineActions\n\t\t\t: state.properties.refineActions;\n\t\tif (refineActionsToHonor?.length) {\n\t\t\t// if property -> has value -> pick the one to one mapping of those entries only.\n\t\t\trefineActions = formattedActions.filter(\n\t\t\t\t(action) =>\n\t\t\t\t\trefineActionsToHonor.includes(action.commandName) ||\n\t\t\t\t\trefineActionsToHonor.includes(action.id)\n\t\t\t);\n\t\t} else {\n\t\t\t// if property -> is null/undefined -> pick common + refine for table + common from oneextend\n\t\t\trefineActions = formattedActions.filter(\n\t\t\t\t(action) =>\n\t\t\t\t\taction.actionType === REFINE_ACTION_TYPE ||\n\t\t\t\t\taction.actionType === COMMON_ACTION_TYPE\n\t\t\t);\n\t\t}\n\n\t\tconst defaultPresetToHonor = state.skilllConfigDefaultPresetAction\n\t\t\t? state.skilllConfigDefaultPresetAction\n\t\t\t: state.properties.defaultPresetAction;\n\n\t\tupdateState({\n\t\t\tbuttonProps: merge(\n\t\t\t\tstate.properties.buttonProps,\n\t\t\t\tstate.skilllConfigButtonProps\n\t\t\t),\n\t\t\trecommendationDialogProps: merge(\n\t\t\t\tstate.properties.recommendationDialogProps,\n\t\t\t\tstate.skilllConfigRecommendationDialogProps\n\t\t\t),\n\t\t\tdefaultPresetAction: formattedActions.find(\n\t\t\t\t(action) =>\n\t\t\t\t\taction.commandName === defaultPresetToHonor ||\n\t\t\t\t\taction.id === defaultPresetToHonor\n\t\t\t),\n\t\t\ttimeoutErrorMessage: state.skilllConfigTimeoutErrorMessage\n\t\t\t\t? state.skilllConfigTimeoutErrorMessage\n\t\t\t\t: state.properties.timeoutErrorMessage,\n\t\t\tpresetActions: presetActions,\n\t\t\trefineActions: refineActions,\n\t\t\tisQuickActionsLoading: false,\n\t\t});\n\t}\n};\n\nexport const fetchWWNAActionFailureHandler = ({ updateState }) => {\n\tupdateState({ isQuickActionsLoading: false });\n};\n\nexport const presetMenuItemSelectedHandler = ({\n\tdispatch,\n\tupdateState,\n\taction,\n}) => {\n\tdispatch(PRESET_ACTION_CLICKED, { ...action.payload });\n\tupdateState({ isDialogVisible: true });\n};\n\nexport const internalFeedbackSubmittedHandler = ({ dispatch, action }) => {\n\tdispatch(FEEDBACK_SUBMITTED, { ...action.payload });\n};\n\nexport const internalModelessDialogClosedHandler = ({\n\tdispatch,\n\tupdateState,\n}) => {\n\tupdateState({ isDialogVisible: false });\n\tdispatch(RECOMMENDATION_DIALOG_CLOSED);\n};\n\nexport const InsertRecommendationClickHandler = ({\n\tdispatch,\n\tupdateState,\n\taction,\n}) => {\n\tupdateState({ isDialogVisible: false });\n\tdispatch(INSERT_RECOMMENDATION_CLICKED, { ...action.payload });\n};\n\nexport const internalRefineActionClickHandler = ({ dispatch, action }) => {\n\tdispatch(REFINE_ACTION_CLICKED, { ...action.payload });\n};\n\nexport const fetchSkillConfigs = createHttpEffect(\n\t\"/api/sn_wwna/wwna/skill_config\",\n\t{\n\t\tmethod: \"GET\",\n\t\tqueryParams: [\n\t\t\t\"skill_id\",\n\t\t\t\"skill_table_name\",\n\t\t\t\"record_table_name\",\n\t\t\t\"record_sys_id\",\n\t\t],\n\t\tsuccessActionType: FETCH_SKILL_CONFIGURATIONS_COMPLETE,\n\t\terrorActionType: FETCH_SKILL_CONFIGURATIONS_FAILED,\n\t}\n);\n\nexport const skillConfigReducer = (\n\tskillConfigRecord,\n\tstate,\n\tupdateState,\n\tdispatch\n) => {\n\tskillConfigRecord = Object.freeze(skillConfigRecord);\n\tconst skillName = skillConfigRecord?.skill_name || \"\";\n\tconst skillDescription = skillConfigRecord?.skill_description || \"\";\n\tconst skillConfigId = skillConfigRecord?.sys_id;\n\tconst skillConfigs = {};\n\tconst configObjectWithExactMatch = skillConfigRecord?.variable_sets.find(\n\t\t(set) => set.props.wwna_component_id === state.properties.wwnaComponentId\n\t)?.props;\n\n\tconst configObjectForForm = skillConfigRecord?.variable_sets.find(\n\t\t(set) =>\n\t\t\tset.props.wwna_component_id === state.properties.documentTableName &&\n\t\t\tset.props.configured_columns.includes(state.properties.wwnaComponentId)\n\t)?.props;\n\n\tconst configObject = configObjectWithExactMatch || configObjectForForm;\n\tconst isSkillEnabled = !!(\n\t\tskillConfigRecord?.in_product_active &&\n\t\t!isEmpty(configObject) &&\n\t\tskillConfigRecord?.is_wwna_active &&\n\t\tconfigObject.is_active === \"true\"\n\t);\n\n\tif (configObject?.button_props) {\n\t\tskillConfigs.buttonProps = JSON.parse(configObject.button_props);\n\t}\n\n\tif (configObject?.recommendation_dialog_props) {\n\t\tskillConfigs.recommendationDialogProps = JSON.parse(\n\t\t\tconfigObject.recommendation_dialog_props\n\t\t);\n\t}\n\n\tif (configObject?.default_preset_action) {\n\t\tskillConfigs.defaultPresetAction = configObject.default_preset_action;\n\t}\n\n\tif (configObject?.preset_actions) {\n\t\tskillConfigs.presetActions = configObject.preset_actions.split(\",\");\n\t}\n\n\tif (configObject?.refine_actions) {\n\t\tskillConfigs.refineActions = configObject.refine_actions.split(\",\");\n\t}\n\n\tif (configObject?.timeout_error_message) {\n\t\tskillConfigs.timeoutErrorMessage = configObject.timeout_error_message;\n\t}\n\tconst channelName =\n\t\tstate.properties.ambChannelName ||\n\t\t`${state.properties.documentTableName}-${state.properties.documentSysId}-${state.properties.wwnaComponentId}-${skillConfigRecord?.user_sys_id}`;\n\n\t// Update the skillConfig State variables\n\tupdateState({\n\t\tskillName: skillName,\n\t\tskillDescription: skillDescription,\n\t\tisSkillEnabled: isSkillEnabled,\n\t\tskilllConfigButtonProps: skillConfigs.buttonProps,\n\t\tskilllConfigRecommendationDialogProps:\n\t\t\tskillConfigs.recommendationDialogProps,\n\t\tskilllConfigDefaultPresetAction: skillConfigs.defaultPresetAction,\n\t\tskilllConfigPresetActions: skillConfigs.presetActions,\n\t\tskilllConfigRefineActions: skillConfigs.refineActions,\n\t\tskilllConfigTimeoutErrorMessage: skillConfigs.timeoutErrorMessage,\n\t\tskillConfigId: skillConfigId,\n\t\tskillConfiguration: skillConfigRecord,\n\t\tuserSysId: skillConfigRecord?.user_sys_id || \"user_sys_id\",\n\t\tchannelName,\n\t\tskillIdStateParam: skillConfigRecord?.skill_id || state.properties.skillId,\n\t});\n\n\tif (isSkillEnabled) {\n\t\tdispatch(FETCH_QUICK_ACTIONS, {\n\t\t\ttable: state.properties.documentTableName,\n\t\t\tsysId: state.properties.documentSysId,\n\t\t});\n\t}\n};\n\nexport const fetchSkillConfigsSuccessHandler = ({\n\tstate,\n\tdispatch,\n\tupdateState,\n\taction: { payload },\n}) => {\n\tskillConfigReducer(payload.result.data, state, updateState, dispatch);\n};\n\nexport const fetchSkillConfigsFailureHandler = () => {\n\tconsole.error(\"Error Fetching Skill Configurations\");\n};\n","import { createCustomElement, actionTypes } from \"@servicenow/ui-core\";\nimport snabbdom from \"@servicenow/ui-renderer-snabbdom\";\nimport { view } from \"./view\";\nimport { t } from \"sn-translate\";\nimport {\n\tFETCH_QUICK_ACTIONS_COMPLETE,\n\tFETCH_QUICK_ACTIONS_FAILED,\n\tFETCH_QUICK_ACTIONS,\n\tINTERNAL_PRESET_ACTION_CLICKED,\n\tINTERNAL_FEEDBACK_SUBMITTED,\n\tINTERNAL_RECOMMENDATION_DIALOG_CLOSED,\n\tINTERNAL_INSERT_RECOMMENDATION_CLICKED,\n\tINTERNAL_REFINE_ACTION_CLICKED,\n\tFETCH_SKILL_CONFIGURATIONS,\n\tFETCH_SKILL_CONFIGURATIONS_COMPLETE,\n\tFETCH_SKILL_CONFIGURATIONS_FAILED,\n\tDEFAULT_GENERIC_ERROR_MESSAGE,\n\tDEFAULT_MODAL_HEIGHT,\n\tDEFAULT_MODAL_WIDTH,\n} from \"../constants\";\nimport {\n\tcomponentBootstrappedHandler,\n\tcomponentPropertyChanged,\n\tfetchWWNAActionSuccessHandler,\n\tfetchWWNAActionFailureHandler,\n\tpresetMenuItemSelectedHandler,\n\tfetchActionGraphql,\n\tinternalFeedbackSubmittedHandler,\n\tinternalModelessDialogClosedHandler,\n\tInsertRecommendationClickHandler,\n\tinternalRefineActionClickHandler,\n\tfetchSkillConfigs,\n\tfetchSkillConfigsSuccessHandler,\n\tfetchSkillConfigsFailureHandler,\n} from \"./actionHandlers\";\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\ncreateCustomElement(\"sn-wwna\", {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\tdocumentSysId: { default: \"\" },\n\t\tdocumentTableName: { default: \"\" },\n\t\twwnaComponentId: { default: \"\" },\n\t\tskillId: { default: \"\" },\n\t\tskillTableName: { default: \"\" },\n\t\tpayload: { default: {} },\n\t\tselectedText: { default: \"\" },\n\t\tdraftedText: { default: \"\" },\n\t\tpresetActions: { default: [] },\n\t\trefineActions: { default: [] },\n\t\tdefaultPresetAction: { default: \"\" },\n\t\tbuttonProps: {\n\t\t\tdefault: {\n\t\t\t\tsize: \"sm\",\n\t\t\t\tvariant: \"secondary\",\n\t\t\t\tlabel: \"\",\n\t\t\t\ticon: \"ai-sparkle-outline\",\n\t\t\t\ttooltipContent: \"\",\n\t\t\t\tisCaretForDropdown: false,\n\t\t\t\tstrictlyUseDefaultPresetAction: false,\n\t\t\t\thideButtonOnDialog: true,\n\t\t\t\tpresetHeaderLabel: t(\"Now Assist context menu\"),\n\t\t\t},\n\t\t},\n\t\trecommendationDialogProps: {\n\t\t\tdefault: {\n\t\t\t\theaderLabel: t(\"Now Assist context menu\"),\n\t\t\t\tfooterLabel: t(\"Check AI-generated content for accuracy.\"),\n\t\t\t\toffsetLeft: 40,\n\t\t\t\toffsetTop: 60,\n\t\t\t\theight: DEFAULT_MODAL_HEIGHT,\n\t\t\t\twidth: DEFAULT_MODAL_WIDTH,\n\t\t\t\tadditionalInfoTooltip: t(\n\t\t\t\t\t\"AI created this answer. Check it for accuracy.\"\n\t\t\t\t),\n\t\t\t\tinsertButtonLabel: t(\"Insert\"),\n\t\t\t\trefineButtonLabel: t(\"Refine\"),\n\t\t\t},\n\t\t},\n\t\ttimeoutErrorMessage: { default: DEFAULT_GENERIC_ERROR_MESSAGE },\n\t\tambChannelName: { default: \"\" },\n\t\tskillConfig: { default: {} },\n\t\tisUI16Caller: {default: false },\n\t\tadditionalAnalyticsAttributes: {default: {}}\n\t},\n\tinitialState: {\n\t\tbuttonProps: {},\n\t\trecommendationDialogProps: {},\n\t\tdefaultPresetAction: \"\",\n\t\tpresetActions: [],\n\t\trefineActions: [],\n\t\ttimeoutErrorMessage: \"\",\n\t\tisDialogVisible: false,\n\t\tisQuickActionsLoading: true,\n\t\tisDefaultAction: true,\n\t\tisSkillEnabled: false,\n\t\tskilllConfigButtonProps: {},\n\t\tskilllConfigRecommendationDialogProps: {},\n\t\tskilllConfigDefaultPresetAction: \"\",\n\t\tskilllConfigPresetActions: [],\n\t\tskilllConfigRefineActions: [],\n\t\tskilllConfigTimeoutErrorMessage: \"\",\n\t\tskillName: \"\",\n\t\tskillDescription: \"\",\n\t\tskillConfigId: \"\",\n\t\tskillConfiguration: {},\n\t\tuserSysId: \"\",\n\t\tchannelName: \"\",\n\t\tskillIdStateParam: \"\",\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: componentBootstrappedHandler,\n\t\t[COMPONENT_PROPERTY_CHANGED]: componentPropertyChanged,\n\t\t[FETCH_QUICK_ACTIONS_COMPLETE]: fetchWWNAActionSuccessHandler,\n\t\t[FETCH_QUICK_ACTIONS_FAILED]: () => fetchWWNAActionFailureHandler,\n\t\t[INTERNAL_PRESET_ACTION_CLICKED]: presetMenuItemSelectedHandler,\n\t\t[FETCH_QUICK_ACTIONS]: fetchActionGraphql,\n\t\t[INTERNAL_FEEDBACK_SUBMITTED]: internalFeedbackSubmittedHandler,\n\t\t[INTERNAL_RECOMMENDATION_DIALOG_CLOSED]:\n\t\t\tinternalModelessDialogClosedHandler,\n\t\t[INTERNAL_INSERT_RECOMMENDATION_CLICKED]: InsertRecommendationClickHandler,\n\t\t[INTERNAL_REFINE_ACTION_CLICKED]: internalRefineActionClickHandler,\n\t\t[FETCH_SKILL_CONFIGURATIONS]: fetchSkillConfigs,\n\t\t[FETCH_SKILL_CONFIGURATIONS_COMPLETE]: fetchSkillConfigsSuccessHandler,\n\t\t[FETCH_SKILL_CONFIGURATIONS_FAILED]: fetchSkillConfigsFailureHandler,\n\t},\n\tdispatches: {\n\t\tPRESET_ACTION_CLICKED: {},\n\t\tFEEDBACK_SUBMITTED: {},\n\t\tINSERT_RECOMMENDATION_CLICKED: {},\n\t\tRECOMMENDATION_DIALOG_CLOSED: {},\n\t\tREFINE_ACTION_CLICKED: {},\n\t},\n});\n","function getUxfSysProp(name, defaultValue) {\n\treturn window?.ux_globals?.libuxf?.sysprops?.[name] ?? defaultValue;\n}\n\nconst MIN_THRESHOLD_FOR_PAGE_LOAD_SCREEN_MACROPONENT_IDLE_MAX_WAIT_MS =\n\tparseInt(\n\t\tgetUxfSysProp(\n\t\t\t'glide.uxf.lib.timeout.screen_macroponent_page_load_min_threshold_ms',\n\t\t\t4000\n\t\t)\n\t);\n\nconst QUEUED_PROMISE_RESOLVERS = [];\n\nlet SCREEN_MACROPONENT_IDLE = false;\n\nexport function signalPageLoadComplete() {\n\tif (SCREEN_MACROPONENT_IDLE) return;\n\n\tfor (const promiseResolver of QUEUED_PROMISE_RESOLVERS) {\n\t\tpromiseResolver();\n\t}\n\n\tQUEUED_PROMISE_RESOLVERS.length = 0;\n\tSCREEN_MACROPONENT_IDLE = true;\n}\n\ndocument.addEventListener(\n\t'__DO_NOT_USE__UXF_INTERNAL#SCREEN_MACROPONENT_IDLE_TIMESTAMP_MARKED',\n\tsignalPageLoadComplete,\n\t{once: true}\n);\n\nexport function whenScreenMacroponentIdleDuringPageLoad({maxWait = 0} = {}) {\n\tif (SCREEN_MACROPONENT_IDLE) return Promise.resolve();\n\n\tmaxWait =\n\t\tmaxWait > MIN_THRESHOLD_FOR_PAGE_LOAD_SCREEN_MACROPONENT_IDLE_MAX_WAIT_MS\n\t\t\t? maxWait\n\t\t\t: MIN_THRESHOLD_FOR_PAGE_LOAD_SCREEN_MACROPONENT_IDLE_MAX_WAIT_MS;\n\n\treturn new Promise((resolve) => {\n\t\tlet timedOut = false;\n\n\t\tconst timeoutId = setTimeout(() => {\n\t\t\ttimedOut = true;\n\t\t\tresolve();\n\t\t}, maxWait);\n\n\t\tQUEUED_PROMISE_RESOLVERS.push(() => {\n\t\t\tif (timedOut) return;\n\n\t\t\tclearTimeout(timeoutId);\n\t\t\tresolve();\n\t\t});\n\t});\n}\n","function getUxfSysProp(name, defaultValue) {\n\treturn window?.ux_globals?.libuxf?.sysprops?.[name] ?? defaultValue;\n}\n\nconst MIN_THRESHOLD_FOR_PAGE_LOAD_SCREEN_MACROPONENT_IDLE_MAX_WAIT_MS =\n\tparseInt(\n\t\tgetUxfSysProp(\n\t\t\t'glide.uxf.lib.timeout.screen_macroponent_page_load_min_threshold_ms',\n\t\t\t4000\n\t\t)\n\t);\n\nconst QUEUED_PROMISE_RESOLVERS = [];\n\nlet SCREEN_MACROPONENT_IDLE_ON_EACH_PAGE_LOAD = false;\n\nexport function signalScreenLoadComplete() {\n\t// if (SCREEN_MACROPONENT_IDLE_ON_EACH_PAGE_LOAD) return;\n\n\tfor (const promiseResolver of QUEUED_PROMISE_RESOLVERS) {\n\t\tpromiseResolver();\n\t}\n\t//start observing only when a new screen load initiated and ignore screen switch.\n\tdocument.addEventListener('CANVAS_SCREEN_LOAD_INITIATED', startObserving);\n\tdocument.addEventListener('NOW_EXPERIENCE_LOAD_INITIATED', startObserving);\n\n\tdocument.removeEventListener(\n\t\t'__DO_NOT_USE__UXF_INTERNAL#SCREEN_MACROPONENT_IDLE_ON_SCREEN_LOAD_MARKED',\n\t\tsignalScreenLoadComplete\n\t);\n\n\tQUEUED_PROMISE_RESOLVERS.length = 0;\n\tSCREEN_MACROPONENT_IDLE_ON_EACH_PAGE_LOAD = true;\n}\n\nfunction startObserving() {\n\tif (!SCREEN_MACROPONENT_IDLE_ON_EACH_PAGE_LOAD) return;\n\tSCREEN_MACROPONENT_IDLE_ON_EACH_PAGE_LOAD = false;\n\tdocument.addEventListener(\n\t\t'__DO_NOT_USE__UXF_INTERNAL#SCREEN_MACROPONENT_IDLE_ON_SCREEN_LOAD_MARKED',\n\t\tsignalScreenLoadComplete,\n\t\t{once: true}\n\t);\n}\n\ndocument.addEventListener(\n\t'__DO_NOT_USE__UXF_INTERNAL#SCREEN_MACROPONENT_IDLE_ON_SCREEN_LOAD_MARKED',\n\tsignalScreenLoadComplete,\n\t{once: true}\n);\n\nexport function whenScreenMacroponentIdleOnEachPageLoad({maxWait = 0} = {}) {\n\tif (SCREEN_MACROPONENT_IDLE_ON_EACH_PAGE_LOAD) return Promise.resolve();\n\n\tmaxWait =\n\t\tmaxWait > MIN_THRESHOLD_FOR_PAGE_LOAD_SCREEN_MACROPONENT_IDLE_MAX_WAIT_MS\n\t\t\t? maxWait\n\t\t\t: MIN_THRESHOLD_FOR_PAGE_LOAD_SCREEN_MACROPONENT_IDLE_MAX_WAIT_MS;\n\n\treturn new Promise((resolve) => {\n\t\tlet timedOut = false;\n\n\t\tconst timeoutId = setTimeout(() => {\n\t\t\ttimedOut = true;\n\t\t\tresolve();\n\t\t}, maxWait);\n\n\t\tQUEUED_PROMISE_RESOLVERS.push(() => {\n\t\t\tif (timedOut) return;\n\n\t\t\tclearTimeout(timeoutId);\n\t\t\tresolve();\n\t\t});\n\t});\n}\n","// Only Node.JS has a process variable that is of [[Class]] process\nexport default Object.prototype.toString.call(typeof process !== 'undefined' ? process : 0) === '[object process]';\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n","var core = module.exports = { version: '2.6.9' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","module.exports = true;\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: require('./_library') ? 'pure' : 'global',\n  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n","module.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n","module.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n","module.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n  return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n","module.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n","require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;\n","module.exports = require(\"core-js/library/fn/object/keys\");","module.exports = require('./_hide');\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","exports.f = require('./_wks');\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","exports.f = Object.getOwnPropertySymbols;\n","exports.f = {}.propertyIsEnumerable;\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = require('./_dom-create')('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  require('./_html').appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n  require('./_object-pie').f = $propertyIsEnumerable;\n  $GOPS.f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !require('./_library')) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n  getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n    return $GOPS.f(toObject(it));\n  }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n","require('../../modules/es6.symbol');\nmodule.exports = require('../../modules/_core').Object.getOwnPropertySymbols;\n","module.exports = require(\"core-js/library/fn/object/get-own-property-symbols\");","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject');\nvar $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function () {\n  return function getOwnPropertyDescriptor(it, key) {\n    return $getOwnPropertyDescriptor(toIObject(it), key);\n  };\n});\n","require('../../modules/es6.object.get-own-property-descriptor');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function getOwnPropertyDescriptor(it, key) {\n  return $Object.getOwnPropertyDescriptor(it, key);\n};\n","module.exports = require(\"core-js/library/fn/object/get-own-property-descriptor\");","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn');\nvar gOPS = require('./_object-gops');\nvar anObject = require('./_an-object');\nvar Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n  var keys = gOPN.f(anObject(it));\n  var getSymbols = gOPS.f;\n  return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n  if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n  else object[index] = value;\n};\n","// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = require('./_export');\nvar ownKeys = require('./_own-keys');\nvar toIObject = require('./_to-iobject');\nvar gOPD = require('./_object-gopd');\nvar createProperty = require('./_create-property');\n\n$export($export.S, 'Object', {\n  getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n    var O = toIObject(object);\n    var getDesc = gOPD.f;\n    var keys = ownKeys(O);\n    var result = {};\n    var i = 0;\n    var key, desc;\n    while (keys.length > i) {\n      desc = getDesc(O, key = keys[i++]);\n      if (desc !== undefined) createProperty(result, key, desc);\n    }\n    return result;\n  }\n});\n","require('../../modules/es7.object.get-own-property-descriptors');\nmodule.exports = require('../../modules/_core').Object.getOwnPropertyDescriptors;\n","module.exports = require(\"core-js/library/fn/object/get-own-property-descriptors\");","var $export = require('./_export');\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperties: require('./_object-dps') });\n","require('../../modules/es6.object.define-properties');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperties(T, D) {\n  return $Object.defineProperties(T, D);\n};\n","module.exports = require(\"core-js/library/fn/object/define-properties\");","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n  return $Object.defineProperty(it, key, desc);\n};\n","module.exports = require(\"core-js/library/fn/object/define-property\");","var _Object$defineProperty = require(\"@babel/runtime-corejs2/core-js/object/define-property\");\n\nfunction _defineProperty(obj, key, value) {\n  if (key in obj) {\n    _Object$defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n}\n\nmodule.exports = _defineProperty;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","require('./_wks-define')('asyncIterator');\n","require('./_wks-define')('observable');\n","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n","module.exports = require(\"core-js/library/fn/symbol\");","module.exports = {};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n","module.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n  'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n  var NAME = DOMIterables[i];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n    // builtinTag case\n    : ARG ? cof(O)\n    // ES3 arguments fallback\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n  var id = +this;\n  // eslint-disable-next-line no-prototype-builtins\n  if (queue.hasOwnProperty(id)) {\n    var fn = queue[id];\n    delete queue[id];\n    fn();\n  }\n};\nvar listener = function (event) {\n  run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n  setTask = function setImmediate(fn) {\n    var args = [];\n    var i = 1;\n    while (arguments.length > i) args.push(arguments[i++]);\n    queue[++counter] = function () {\n      // eslint-disable-next-line no-new-func\n      invoke(typeof fn == 'function' ? fn : Function(fn), args);\n    };\n    defer(counter);\n    return counter;\n  };\n  clearTask = function clearImmediate(id) {\n    delete queue[id];\n  };\n  // Node.js 0.8-\n  if (require('./_cof')(process) == 'process') {\n    defer = function (id) {\n      process.nextTick(ctx(run, id, 1));\n    };\n  // Sphere (JS game engine) Dispatch API\n  } else if (Dispatch && Dispatch.now) {\n    defer = function (id) {\n      Dispatch.now(ctx(run, id, 1));\n    };\n  // Browsers with MessageChannel, includes WebWorkers\n  } else if (MessageChannel) {\n    channel = new MessageChannel();\n    port = channel.port2;\n    channel.port1.onmessage = listener;\n    defer = ctx(port.postMessage, port, 1);\n  // Browsers with postMessage, skip WebWorkers\n  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n  } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n    defer = function (id) {\n      global.postMessage(id + '', '*');\n    };\n    global.addEventListener('message', listener, false);\n  // IE8-\n  } else if (ONREADYSTATECHANGE in cel('script')) {\n    defer = function (id) {\n      html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n        html.removeChild(this);\n        run.call(id);\n      };\n    };\n  // Rest old browsers\n  } else {\n    defer = function (id) {\n      setTimeout(ctx(run, id, 1), 0);\n    };\n  }\n}\nmodule.exports = {\n  set: setTask,\n  clear: clearTask\n};\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n  try {\n    return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n  // 7.4.6 IteratorClose(iterator, completion)\n  } catch (e) {\n    var ret = iterator['return'];\n    if (ret !== undefined) anObject(ret.call(iterator));\n    throw e;\n  }\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n  if (it != undefined) return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n  var f = ctx(fn, that, entries ? 2 : 1);\n  var index = 0;\n  var length, step, iterator, result;\n  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n  // fast case for arrays with default iterator\n  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n    if (result === BREAK || result === RETURN) return result;\n  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n    result = call(iterator, f, step.value, entries);\n    if (result === BREAK || result === RETURN) return result;\n  }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n  var C = anObject(O).constructor;\n  var S;\n  return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n  var un = that === undefined;\n  switch (args.length) {\n    case 0: return un ? fn()\n                      : fn.call(that);\n    case 1: return un ? fn(args[0])\n                      : fn.call(that, args[0]);\n    case 2: return un ? fn(args[0], args[1])\n                      : fn.call(that, args[0], args[1]);\n    case 3: return un ? fn(args[0], args[1], args[2])\n                      : fn.call(that, args[0], args[1], args[2]);\n    case 4: return un ? fn(args[0], args[1], args[2], args[3])\n                      : fn.call(that, args[0], args[1], args[2], args[3]);\n  } return fn.apply(that, args);\n};\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n  var head, last, notify;\n\n  var flush = function () {\n    var parent, fn;\n    if (isNode && (parent = process.domain)) parent.exit();\n    while (head) {\n      fn = head.fn;\n      head = head.next;\n      try {\n        fn();\n      } catch (e) {\n        if (head) notify();\n        else last = undefined;\n        throw e;\n      }\n    } last = undefined;\n    if (parent) parent.enter();\n  };\n\n  // Node.js\n  if (isNode) {\n    notify = function () {\n      process.nextTick(flush);\n    };\n  // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n  } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n    var toggle = true;\n    var node = document.createTextNode('');\n    new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n    notify = function () {\n      node.data = toggle = !toggle;\n    };\n  // environments with maybe non-completely correct, but existent Promise\n  } else if (Promise && Promise.resolve) {\n    // Promise.resolve without an argument throws an error in LG WebOS 2\n    var promise = Promise.resolve(undefined);\n    notify = function () {\n      promise.then(flush);\n    };\n  // for other environments - macrotask based on:\n  // - setImmediate\n  // - MessageChannel\n  // - window.postMessag\n  // - onreadystatechange\n  // - setTimeout\n  } else {\n    notify = function () {\n      // strange IE + webpack dev server bug - use .call(global)\n      macrotask.call(global, flush);\n    };\n  }\n\n  return function (fn) {\n    var task = { fn: fn, next: undefined };\n    if (last) last.next = task;\n    if (!head) {\n      head = task;\n      notify();\n    } last = task;\n  };\n};\n","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n  var resolve, reject;\n  this.promise = new C(function ($$resolve, $$reject) {\n    if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n    resolve = $$resolve;\n    reject = $$reject;\n  });\n  this.resolve = aFunction(resolve);\n  this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n  return new PromiseCapability(C);\n};\n","module.exports = function (exec) {\n  try {\n    return { e: false, v: exec() };\n  } catch (e) {\n    return { e: true, v: e };\n  }\n};\n","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n  anObject(C);\n  if (isObject(x) && x.constructor === C) return x;\n  var promiseCapability = newPromiseCapability.f(C);\n  var resolve = promiseCapability.resolve;\n  resolve(x);\n  return promiseCapability.promise;\n};\n","'use strict';\nvar global = require('./_global');\nvar core = require('./_core');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n  var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n    configurable: true,\n    get: function () { return this; }\n  });\n};\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var riter = [7][ITERATOR]();\n  riter['return'] = function () { SAFE_CLOSING = true; };\n  // eslint-disable-next-line no-throw-literal\n  Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n  if (!skipClosing && !SAFE_CLOSING) return false;\n  var safe = false;\n  try {\n    var arr = [7];\n    var iter = arr[ITERATOR]();\n    iter.next = function () { return { done: safe = true }; };\n    arr[ITERATOR] = function () { return iter; };\n    exec(arr);\n  } catch (e) { /* empty */ }\n  return safe;\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n  try {\n    // correct subclassing with @@species support\n    var promise = $Promise.resolve(1);\n    var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n      exec(empty, empty);\n    };\n    // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n    return (isNode || typeof PromiseRejectionEvent == 'function')\n      && promise.then(empty) instanceof FakePromise\n      // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n      // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n      // we can't detect it synchronously, so just check versions\n      && v8.indexOf('6.6') !== 0\n      && userAgent.indexOf('Chrome/66') === -1;\n  } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n  var then;\n  return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n  if (promise._n) return;\n  promise._n = true;\n  var chain = promise._c;\n  microtask(function () {\n    var value = promise._v;\n    var ok = promise._s == 1;\n    var i = 0;\n    var run = function (reaction) {\n      var handler = ok ? reaction.ok : reaction.fail;\n      var resolve = reaction.resolve;\n      var reject = reaction.reject;\n      var domain = reaction.domain;\n      var result, then, exited;\n      try {\n        if (handler) {\n          if (!ok) {\n            if (promise._h == 2) onHandleUnhandled(promise);\n            promise._h = 1;\n          }\n          if (handler === true) result = value;\n          else {\n            if (domain) domain.enter();\n            result = handler(value); // may throw\n            if (domain) {\n              domain.exit();\n              exited = true;\n            }\n          }\n          if (result === reaction.promise) {\n            reject(TypeError('Promise-chain cycle'));\n          } else if (then = isThenable(result)) {\n            then.call(result, resolve, reject);\n          } else resolve(result);\n        } else reject(value);\n      } catch (e) {\n        if (domain && !exited) domain.exit();\n        reject(e);\n      }\n    };\n    while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n    promise._c = [];\n    promise._n = false;\n    if (isReject && !promise._h) onUnhandled(promise);\n  });\n};\nvar onUnhandled = function (promise) {\n  task.call(global, function () {\n    var value = promise._v;\n    var unhandled = isUnhandled(promise);\n    var result, handler, console;\n    if (unhandled) {\n      result = perform(function () {\n        if (isNode) {\n          process.emit('unhandledRejection', value, promise);\n        } else if (handler = global.onunhandledrejection) {\n          handler({ promise: promise, reason: value });\n        } else if ((console = global.console) && console.error) {\n          console.error('Unhandled promise rejection', value);\n        }\n      });\n      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n      promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n    } promise._a = undefined;\n    if (unhandled && result.e) throw result.v;\n  });\n};\nvar isUnhandled = function (promise) {\n  return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n  task.call(global, function () {\n    var handler;\n    if (isNode) {\n      process.emit('rejectionHandled', promise);\n    } else if (handler = global.onrejectionhandled) {\n      handler({ promise: promise, reason: promise._v });\n    }\n  });\n};\nvar $reject = function (value) {\n  var promise = this;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise; // unwrap\n  promise._v = value;\n  promise._s = 2;\n  if (!promise._a) promise._a = promise._c.slice();\n  notify(promise, true);\n};\nvar $resolve = function (value) {\n  var promise = this;\n  var then;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise; // unwrap\n  try {\n    if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n    if (then = isThenable(value)) {\n      microtask(function () {\n        var wrapper = { _w: promise, _d: false }; // wrap\n        try {\n          then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n        } catch (e) {\n          $reject.call(wrapper, e);\n        }\n      });\n    } else {\n      promise._v = value;\n      promise._s = 1;\n      notify(promise, false);\n    }\n  } catch (e) {\n    $reject.call({ _w: promise, _d: false }, e); // wrap\n  }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n  // 25.4.3.1 Promise(executor)\n  $Promise = function Promise(executor) {\n    anInstance(this, $Promise, PROMISE, '_h');\n    aFunction(executor);\n    Internal.call(this);\n    try {\n      executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n    } catch (err) {\n      $reject.call(this, err);\n    }\n  };\n  // eslint-disable-next-line no-unused-vars\n  Internal = function Promise(executor) {\n    this._c = [];             // <- awaiting reactions\n    this._a = undefined;      // <- checked in isUnhandled reactions\n    this._s = 0;              // <- state\n    this._d = false;          // <- done\n    this._v = undefined;      // <- value\n    this._h = 0;              // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n    this._n = false;          // <- notify\n  };\n  Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n    // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n    then: function then(onFulfilled, onRejected) {\n      var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n      reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n      reaction.fail = typeof onRejected == 'function' && onRejected;\n      reaction.domain = isNode ? process.domain : undefined;\n      this._c.push(reaction);\n      if (this._a) this._a.push(reaction);\n      if (this._s) notify(this, false);\n      return reaction.promise;\n    },\n    // 25.4.5.1 Promise.prototype.catch(onRejected)\n    'catch': function (onRejected) {\n      return this.then(undefined, onRejected);\n    }\n  });\n  OwnPromiseCapability = function () {\n    var promise = new Internal();\n    this.promise = promise;\n    this.resolve = ctx($resolve, promise, 1);\n    this.reject = ctx($reject, promise, 1);\n  };\n  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n    return C === $Promise || C === Wrapper\n      ? new OwnPromiseCapability(C)\n      : newGenericPromiseCapability(C);\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n  // 25.4.4.5 Promise.reject(r)\n  reject: function reject(r) {\n    var capability = newPromiseCapability(this);\n    var $$reject = capability.reject;\n    $$reject(r);\n    return capability.promise;\n  }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n  // 25.4.4.6 Promise.resolve(x)\n  resolve: function resolve(x) {\n    return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n  }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n  $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n  // 25.4.4.1 Promise.all(iterable)\n  all: function all(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var resolve = capability.resolve;\n    var reject = capability.reject;\n    var result = perform(function () {\n      var values = [];\n      var index = 0;\n      var remaining = 1;\n      forOf(iterable, false, function (promise) {\n        var $index = index++;\n        var alreadyCalled = false;\n        values.push(undefined);\n        remaining++;\n        C.resolve(promise).then(function (value) {\n          if (alreadyCalled) return;\n          alreadyCalled = true;\n          values[$index] = value;\n          --remaining || resolve(values);\n        }, reject);\n      });\n      --remaining || resolve(values);\n    });\n    if (result.e) reject(result.v);\n    return capability.promise;\n  },\n  // 25.4.4.4 Promise.race(iterable)\n  race: function race(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var reject = capability.reject;\n    var result = perform(function () {\n      forOf(iterable, false, function (promise) {\n        C.resolve(promise).then(capability.resolve, reject);\n      });\n    });\n    if (result.e) reject(result.v);\n    return capability.promise;\n  }\n});\n","module.exports = function (it, Constructor, name, forbiddenField) {\n  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n    throw TypeError(name + ': incorrect invocation!');\n  } return it;\n};\n","var hide = require('./_hide');\nmodule.exports = function (target, src, safe) {\n  for (var key in src) {\n    if (safe && target[key]) target[key] = src[key];\n    else hide(target, key, src[key]);\n  } return target;\n};\n","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n  var C = speciesConstructor(this, core.Promise || global.Promise);\n  var isFunction = typeof onFinally == 'function';\n  return this.then(\n    isFunction ? function (x) {\n      return promiseResolve(C, onFinally()).then(function () { return x; });\n    } : onFinally,\n    isFunction ? function (e) {\n      return promiseResolve(C, onFinally()).then(function () { throw e; });\n    } : onFinally\n  );\n} });\n","'use strict';\n// https://github.com/tc39/proposal-promise-try\nvar $export = require('./_export');\nvar newPromiseCapability = require('./_new-promise-capability');\nvar perform = require('./_perform');\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n  var promiseCapability = newPromiseCapability.f(this);\n  var result = perform(callbackfn);\n  (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n  return promiseCapability.promise;\n} });\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n  lookup[i] = code[i]\n  revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n  var len = b64.length\n\n  if (len % 4 > 0) {\n    throw new Error('Invalid string. Length must be a multiple of 4')\n  }\n\n  // Trim off extra bytes after placeholder bytes are found\n  // See: https://github.com/beatgammit/base64-js/issues/42\n  var validLen = b64.indexOf('=')\n  if (validLen === -1) validLen = len\n\n  var placeHoldersLen = validLen === len\n    ? 0\n    : 4 - (validLen % 4)\n\n  return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n  var lens = getLens(b64)\n  var validLen = lens[0]\n  var placeHoldersLen = lens[1]\n  return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n  return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n  var tmp\n  var lens = getLens(b64)\n  var validLen = lens[0]\n  var placeHoldersLen = lens[1]\n\n  var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n  var curByte = 0\n\n  // if there are placeholders, only get up to the last complete 4 chars\n  var len = placeHoldersLen > 0\n    ? validLen - 4\n    : validLen\n\n  for (var i = 0; i < len; i += 4) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 18) |\n      (revLookup[b64.charCodeAt(i + 1)] << 12) |\n      (revLookup[b64.charCodeAt(i + 2)] << 6) |\n      revLookup[b64.charCodeAt(i + 3)]\n    arr[curByte++] = (tmp >> 16) & 0xFF\n    arr[curByte++] = (tmp >> 8) & 0xFF\n    arr[curByte++] = tmp & 0xFF\n  }\n\n  if (placeHoldersLen === 2) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 2) |\n      (revLookup[b64.charCodeAt(i + 1)] >> 4)\n    arr[curByte++] = tmp & 0xFF\n  }\n\n  if (placeHoldersLen === 1) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 10) |\n      (revLookup[b64.charCodeAt(i + 1)] << 4) |\n      (revLookup[b64.charCodeAt(i + 2)] >> 2)\n    arr[curByte++] = (tmp >> 8) & 0xFF\n    arr[curByte++] = tmp & 0xFF\n  }\n\n  return arr\n}\n\nfunction tripletToBase64 (num) {\n  return lookup[num >> 18 & 0x3F] +\n    lookup[num >> 12 & 0x3F] +\n    lookup[num >> 6 & 0x3F] +\n    lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n  var tmp\n  var output = []\n  for (var i = start; i < end; i += 3) {\n    tmp =\n      ((uint8[i] << 16) & 0xFF0000) +\n      ((uint8[i + 1] << 8) & 0xFF00) +\n      (uint8[i + 2] & 0xFF)\n    output.push(tripletToBase64(tmp))\n  }\n  return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n  var tmp\n  var len = uint8.length\n  var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n  var parts = []\n  var maxChunkLength = 16383 // must be multiple of 3\n\n  // go through the array every three bytes, we'll deal with trailing stuff later\n  for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n    parts.push(encodeChunk(\n      uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n    ))\n  }\n\n  // pad the end with zeros, but make sure to not forget the extra bytes\n  if (extraBytes === 1) {\n    tmp = uint8[len - 1]\n    parts.push(\n      lookup[tmp >> 2] +\n      lookup[(tmp << 4) & 0x3F] +\n      '=='\n    )\n  } else if (extraBytes === 2) {\n    tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n    parts.push(\n      lookup[tmp >> 10] +\n      lookup[(tmp >> 4) & 0x3F] +\n      lookup[(tmp << 2) & 0x3F] +\n      '='\n    )\n  }\n\n  return parts.join('')\n}\n","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.promise');\nrequire('../modules/es7.promise.finally');\nrequire('../modules/es7.promise.try');\nmodule.exports = require('../modules/_core').Promise;\n","module.exports = require(\"core-js/library/fn/promise\");","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n  var e, m\n  var eLen = (nBytes * 8) - mLen - 1\n  var eMax = (1 << eLen) - 1\n  var eBias = eMax >> 1\n  var nBits = -7\n  var i = isLE ? (nBytes - 1) : 0\n  var d = isLE ? -1 : 1\n  var s = buffer[offset + i]\n\n  i += d\n\n  e = s & ((1 << (-nBits)) - 1)\n  s >>= (-nBits)\n  nBits += eLen\n  for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n  m = e & ((1 << (-nBits)) - 1)\n  e >>= (-nBits)\n  nBits += mLen\n  for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n  if (e === 0) {\n    e = 1 - eBias\n  } else if (e === eMax) {\n    return m ? NaN : ((s ? -1 : 1) * Infinity)\n  } else {\n    m = m + Math.pow(2, mLen)\n    e = e - eBias\n  }\n  return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n  var e, m, c\n  var eLen = (nBytes * 8) - mLen - 1\n  var eMax = (1 << eLen) - 1\n  var eBias = eMax >> 1\n  var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n  var i = isLE ? 0 : (nBytes - 1)\n  var d = isLE ? 1 : -1\n  var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n  value = Math.abs(value)\n\n  if (isNaN(value) || value === Infinity) {\n    m = isNaN(value) ? 1 : 0\n    e = eMax\n  } else {\n    e = Math.floor(Math.log(value) / Math.LN2)\n    if (value * (c = Math.pow(2, -e)) < 1) {\n      e--\n      c *= 2\n    }\n    if (e + eBias >= 1) {\n      value += rt / c\n    } else {\n      value += rt * Math.pow(2, 1 - eBias)\n    }\n    if (value * c >= 2) {\n      e++\n      c /= 2\n    }\n\n    if (e + eBias >= eMax) {\n      m = 0\n      e = eMax\n    } else if (e + eBias >= 1) {\n      m = ((value * c) - 1) * Math.pow(2, mLen)\n      e = e + eBias\n    } else {\n      m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n      e = 0\n    }\n  }\n\n  for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n  e = (e << mLen) | m\n  eLen += mLen\n  for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n  buffer[offset + i - d] |= s * 128\n}\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n  return toString.call(arr) == '[object Array]';\n};\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n * @license  MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n *   === true    Use Uint8Array implementation (fastest)\n *   === false   Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n *   - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n *     See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n *   - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n *   - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n *     incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n  ? global.TYPED_ARRAY_SUPPORT\n  : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n  try {\n    var arr = new Uint8Array(1)\n    arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n    return arr.foo() === 42 && // typed array instances can be augmented\n        typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n        arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n  } catch (e) {\n    return false\n  }\n}\n\nfunction kMaxLength () {\n  return Buffer.TYPED_ARRAY_SUPPORT\n    ? 0x7fffffff\n    : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n  if (kMaxLength() < length) {\n    throw new RangeError('Invalid typed array length')\n  }\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    // Return an augmented `Uint8Array` instance, for best performance\n    that = new Uint8Array(length)\n    that.__proto__ = Buffer.prototype\n  } else {\n    // Fallback: Return an object instance of the Buffer class\n    if (that === null) {\n      that = new Buffer(length)\n    }\n    that.length = length\n  }\n\n  return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n  if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n    return new Buffer(arg, encodingOrOffset, length)\n  }\n\n  // Common case.\n  if (typeof arg === 'number') {\n    if (typeof encodingOrOffset === 'string') {\n      throw new Error(\n        'If encoding is specified then the first argument must be a string'\n      )\n    }\n    return allocUnsafe(this, arg)\n  }\n  return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n  arr.__proto__ = Buffer.prototype\n  return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n  if (typeof value === 'number') {\n    throw new TypeError('\"value\" argument must not be a number')\n  }\n\n  if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n    return fromArrayBuffer(that, value, encodingOrOffset, length)\n  }\n\n  if (typeof value === 'string') {\n    return fromString(that, value, encodingOrOffset)\n  }\n\n  return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n  return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n  Buffer.prototype.__proto__ = Uint8Array.prototype\n  Buffer.__proto__ = Uint8Array\n  if (typeof Symbol !== 'undefined' && Symbol.species &&\n      Buffer[Symbol.species] === Buffer) {\n    // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n    Object.defineProperty(Buffer, Symbol.species, {\n      value: null,\n      configurable: true\n    })\n  }\n}\n\nfunction assertSize (size) {\n  if (typeof size !== 'number') {\n    throw new TypeError('\"size\" argument must be a number')\n  } else if (size < 0) {\n    throw new RangeError('\"size\" argument must not be negative')\n  }\n}\n\nfunction alloc (that, size, fill, encoding) {\n  assertSize(size)\n  if (size <= 0) {\n    return createBuffer(that, size)\n  }\n  if (fill !== undefined) {\n    // Only pay attention to encoding if it's a string. This\n    // prevents accidentally sending in a number that would\n    // be interpretted as a start offset.\n    return typeof encoding === 'string'\n      ? createBuffer(that, size).fill(fill, encoding)\n      : createBuffer(that, size).fill(fill)\n  }\n  return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n  return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n  assertSize(size)\n  that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n  if (!Buffer.TYPED_ARRAY_SUPPORT) {\n    for (var i = 0; i < size; ++i) {\n      that[i] = 0\n    }\n  }\n  return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n  return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n  return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n  if (typeof encoding !== 'string' || encoding === '') {\n    encoding = 'utf8'\n  }\n\n  if (!Buffer.isEncoding(encoding)) {\n    throw new TypeError('\"encoding\" must be a valid string encoding')\n  }\n\n  var length = byteLength(string, encoding) | 0\n  that = createBuffer(that, length)\n\n  var actual = that.write(string, encoding)\n\n  if (actual !== length) {\n    // Writing a hex string, for example, that contains invalid characters will\n    // cause everything after the first invalid character to be ignored. (e.g.\n    // 'abxxcd' will be treated as 'ab')\n    that = that.slice(0, actual)\n  }\n\n  return that\n}\n\nfunction fromArrayLike (that, array) {\n  var length = array.length < 0 ? 0 : checked(array.length) | 0\n  that = createBuffer(that, length)\n  for (var i = 0; i < length; i += 1) {\n    that[i] = array[i] & 255\n  }\n  return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n  array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n  if (byteOffset < 0 || array.byteLength < byteOffset) {\n    throw new RangeError('\\'offset\\' is out of bounds')\n  }\n\n  if (array.byteLength < byteOffset + (length || 0)) {\n    throw new RangeError('\\'length\\' is out of bounds')\n  }\n\n  if (byteOffset === undefined && length === undefined) {\n    array = new Uint8Array(array)\n  } else if (length === undefined) {\n    array = new Uint8Array(array, byteOffset)\n  } else {\n    array = new Uint8Array(array, byteOffset, length)\n  }\n\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    // Return an augmented `Uint8Array` instance, for best performance\n    that = array\n    that.__proto__ = Buffer.prototype\n  } else {\n    // Fallback: Return an object instance of the Buffer class\n    that = fromArrayLike(that, array)\n  }\n  return that\n}\n\nfunction fromObject (that, obj) {\n  if (Buffer.isBuffer(obj)) {\n    var len = checked(obj.length) | 0\n    that = createBuffer(that, len)\n\n    if (that.length === 0) {\n      return that\n    }\n\n    obj.copy(that, 0, 0, len)\n    return that\n  }\n\n  if (obj) {\n    if ((typeof ArrayBuffer !== 'undefined' &&\n        obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n      if (typeof obj.length !== 'number' || isnan(obj.length)) {\n        return createBuffer(that, 0)\n      }\n      return fromArrayLike(that, obj)\n    }\n\n    if (obj.type === 'Buffer' && isArray(obj.data)) {\n      return fromArrayLike(that, obj.data)\n    }\n  }\n\n  throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n  // Note: cannot use `length < kMaxLength()` here because that fails when\n  // length is NaN (which is otherwise coerced to zero.)\n  if (length >= kMaxLength()) {\n    throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n                         'size: 0x' + kMaxLength().toString(16) + ' bytes')\n  }\n  return length | 0\n}\n\nfunction SlowBuffer (length) {\n  if (+length != length) { // eslint-disable-line eqeqeq\n    length = 0\n  }\n  return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n  return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n  if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n    throw new TypeError('Arguments must be Buffers')\n  }\n\n  if (a === b) return 0\n\n  var x = a.length\n  var y = b.length\n\n  for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n    if (a[i] !== b[i]) {\n      x = a[i]\n      y = b[i]\n      break\n    }\n  }\n\n  if (x < y) return -1\n  if (y < x) return 1\n  return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n  switch (String(encoding).toLowerCase()) {\n    case 'hex':\n    case 'utf8':\n    case 'utf-8':\n    case 'ascii':\n    case 'latin1':\n    case 'binary':\n    case 'base64':\n    case 'ucs2':\n    case 'ucs-2':\n    case 'utf16le':\n    case 'utf-16le':\n      return true\n    default:\n      return false\n  }\n}\n\nBuffer.concat = function concat (list, length) {\n  if (!isArray(list)) {\n    throw new TypeError('\"list\" argument must be an Array of Buffers')\n  }\n\n  if (list.length === 0) {\n    return Buffer.alloc(0)\n  }\n\n  var i\n  if (length === undefined) {\n    length = 0\n    for (i = 0; i < list.length; ++i) {\n      length += list[i].length\n    }\n  }\n\n  var buffer = Buffer.allocUnsafe(length)\n  var pos = 0\n  for (i = 0; i < list.length; ++i) {\n    var buf = list[i]\n    if (!Buffer.isBuffer(buf)) {\n      throw new TypeError('\"list\" argument must be an Array of Buffers')\n    }\n    buf.copy(buffer, pos)\n    pos += buf.length\n  }\n  return buffer\n}\n\nfunction byteLength (string, encoding) {\n  if (Buffer.isBuffer(string)) {\n    return string.length\n  }\n  if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n      (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n    return string.byteLength\n  }\n  if (typeof string !== 'string') {\n    string = '' + string\n  }\n\n  var len = string.length\n  if (len === 0) return 0\n\n  // Use a for loop to avoid recursion\n  var loweredCase = false\n  for (;;) {\n    switch (encoding) {\n      case 'ascii':\n      case 'latin1':\n      case 'binary':\n        return len\n      case 'utf8':\n      case 'utf-8':\n      case undefined:\n        return utf8ToBytes(string).length\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return len * 2\n      case 'hex':\n        return len >>> 1\n      case 'base64':\n        return base64ToBytes(string).length\n      default:\n        if (loweredCase) return utf8ToBytes(string).length // assume utf8\n        encoding = ('' + encoding).toLowerCase()\n        loweredCase = true\n    }\n  }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n  var loweredCase = false\n\n  // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n  // property of a typed array.\n\n  // This behaves neither like String nor Uint8Array in that we set start/end\n  // to their upper/lower bounds if the value passed is out of range.\n  // undefined is handled specially as per ECMA-262 6th Edition,\n  // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n  if (start === undefined || start < 0) {\n    start = 0\n  }\n  // Return early if start > this.length. Done here to prevent potential uint32\n  // coercion fail below.\n  if (start > this.length) {\n    return ''\n  }\n\n  if (end === undefined || end > this.length) {\n    end = this.length\n  }\n\n  if (end <= 0) {\n    return ''\n  }\n\n  // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n  end >>>= 0\n  start >>>= 0\n\n  if (end <= start) {\n    return ''\n  }\n\n  if (!encoding) encoding = 'utf8'\n\n  while (true) {\n    switch (encoding) {\n      case 'hex':\n        return hexSlice(this, start, end)\n\n      case 'utf8':\n      case 'utf-8':\n        return utf8Slice(this, start, end)\n\n      case 'ascii':\n        return asciiSlice(this, start, end)\n\n      case 'latin1':\n      case 'binary':\n        return latin1Slice(this, start, end)\n\n      case 'base64':\n        return base64Slice(this, start, end)\n\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return utf16leSlice(this, start, end)\n\n      default:\n        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n        encoding = (encoding + '').toLowerCase()\n        loweredCase = true\n    }\n  }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n  var i = b[n]\n  b[n] = b[m]\n  b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n  var len = this.length\n  if (len % 2 !== 0) {\n    throw new RangeError('Buffer size must be a multiple of 16-bits')\n  }\n  for (var i = 0; i < len; i += 2) {\n    swap(this, i, i + 1)\n  }\n  return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n  var len = this.length\n  if (len % 4 !== 0) {\n    throw new RangeError('Buffer size must be a multiple of 32-bits')\n  }\n  for (var i = 0; i < len; i += 4) {\n    swap(this, i, i + 3)\n    swap(this, i + 1, i + 2)\n  }\n  return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n  var len = this.length\n  if (len % 8 !== 0) {\n    throw new RangeError('Buffer size must be a multiple of 64-bits')\n  }\n  for (var i = 0; i < len; i += 8) {\n    swap(this, i, i + 7)\n    swap(this, i + 1, i + 6)\n    swap(this, i + 2, i + 5)\n    swap(this, i + 3, i + 4)\n  }\n  return this\n}\n\nBuffer.prototype.toString = function toString () {\n  var length = this.length | 0\n  if (length === 0) return ''\n  if (arguments.length === 0) return utf8Slice(this, 0, length)\n  return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n  if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n  if (this === b) return true\n  return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n  var str = ''\n  var max = exports.INSPECT_MAX_BYTES\n  if (this.length > 0) {\n    str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n    if (this.length > max) str += ' ... '\n  }\n  return '<Buffer ' + str + '>'\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n  if (!Buffer.isBuffer(target)) {\n    throw new TypeError('Argument must be a Buffer')\n  }\n\n  if (start === undefined) {\n    start = 0\n  }\n  if (end === undefined) {\n    end = target ? target.length : 0\n  }\n  if (thisStart === undefined) {\n    thisStart = 0\n  }\n  if (thisEnd === undefined) {\n    thisEnd = this.length\n  }\n\n  if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n    throw new RangeError('out of range index')\n  }\n\n  if (thisStart >= thisEnd && start >= end) {\n    return 0\n  }\n  if (thisStart >= thisEnd) {\n    return -1\n  }\n  if (start >= end) {\n    return 1\n  }\n\n  start >>>= 0\n  end >>>= 0\n  thisStart >>>= 0\n  thisEnd >>>= 0\n\n  if (this === target) return 0\n\n  var x = thisEnd - thisStart\n  var y = end - start\n  var len = Math.min(x, y)\n\n  var thisCopy = this.slice(thisStart, thisEnd)\n  var targetCopy = target.slice(start, end)\n\n  for (var i = 0; i < len; ++i) {\n    if (thisCopy[i] !== targetCopy[i]) {\n      x = thisCopy[i]\n      y = targetCopy[i]\n      break\n    }\n  }\n\n  if (x < y) return -1\n  if (y < x) return 1\n  return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n  // Empty buffer means no match\n  if (buffer.length === 0) return -1\n\n  // Normalize byteOffset\n  if (typeof byteOffset === 'string') {\n    encoding = byteOffset\n    byteOffset = 0\n  } else if (byteOffset > 0x7fffffff) {\n    byteOffset = 0x7fffffff\n  } else if (byteOffset < -0x80000000) {\n    byteOffset = -0x80000000\n  }\n  byteOffset = +byteOffset  // Coerce to Number.\n  if (isNaN(byteOffset)) {\n    // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n    byteOffset = dir ? 0 : (buffer.length - 1)\n  }\n\n  // Normalize byteOffset: negative offsets start from the end of the buffer\n  if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n  if (byteOffset >= buffer.length) {\n    if (dir) return -1\n    else byteOffset = buffer.length - 1\n  } else if (byteOffset < 0) {\n    if (dir) byteOffset = 0\n    else return -1\n  }\n\n  // Normalize val\n  if (typeof val === 'string') {\n    val = Buffer.from(val, encoding)\n  }\n\n  // Finally, search either indexOf (if dir is true) or lastIndexOf\n  if (Buffer.isBuffer(val)) {\n    // Special case: looking for empty string/buffer always fails\n    if (val.length === 0) {\n      return -1\n    }\n    return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n  } else if (typeof val === 'number') {\n    val = val & 0xFF // Search for a byte value [0-255]\n    if (Buffer.TYPED_ARRAY_SUPPORT &&\n        typeof Uint8Array.prototype.indexOf === 'function') {\n      if (dir) {\n        return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n      } else {\n        return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n      }\n    }\n    return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n  }\n\n  throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n  var indexSize = 1\n  var arrLength = arr.length\n  var valLength = val.length\n\n  if (encoding !== undefined) {\n    encoding = String(encoding).toLowerCase()\n    if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n        encoding === 'utf16le' || encoding === 'utf-16le') {\n      if (arr.length < 2 || val.length < 2) {\n        return -1\n      }\n      indexSize = 2\n      arrLength /= 2\n      valLength /= 2\n      byteOffset /= 2\n    }\n  }\n\n  function read (buf, i) {\n    if (indexSize === 1) {\n      return buf[i]\n    } else {\n      return buf.readUInt16BE(i * indexSize)\n    }\n  }\n\n  var i\n  if (dir) {\n    var foundIndex = -1\n    for (i = byteOffset; i < arrLength; i++) {\n      if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n        if (foundIndex === -1) foundIndex = i\n        if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n      } else {\n        if (foundIndex !== -1) i -= i - foundIndex\n        foundIndex = -1\n      }\n    }\n  } else {\n    if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n    for (i = byteOffset; i >= 0; i--) {\n      var found = true\n      for (var j = 0; j < valLength; j++) {\n        if (read(arr, i + j) !== read(val, j)) {\n          found = false\n          break\n        }\n      }\n      if (found) return i\n    }\n  }\n\n  return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n  return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n  return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n  return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n  offset = Number(offset) || 0\n  var remaining = buf.length - offset\n  if (!length) {\n    length = remaining\n  } else {\n    length = Number(length)\n    if (length > remaining) {\n      length = remaining\n    }\n  }\n\n  // must be an even number of digits\n  var strLen = string.length\n  if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n  if (length > strLen / 2) {\n    length = strLen / 2\n  }\n  for (var i = 0; i < length; ++i) {\n    var parsed = parseInt(string.substr(i * 2, 2), 16)\n    if (isNaN(parsed)) return i\n    buf[offset + i] = parsed\n  }\n  return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n  return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n  return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n  return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n  return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n  return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n  // Buffer#write(string)\n  if (offset === undefined) {\n    encoding = 'utf8'\n    length = this.length\n    offset = 0\n  // Buffer#write(string, encoding)\n  } else if (length === undefined && typeof offset === 'string') {\n    encoding = offset\n    length = this.length\n    offset = 0\n  // Buffer#write(string, offset[, length][, encoding])\n  } else if (isFinite(offset)) {\n    offset = offset | 0\n    if (isFinite(length)) {\n      length = length | 0\n      if (encoding === undefined) encoding = 'utf8'\n    } else {\n      encoding = length\n      length = undefined\n    }\n  // legacy write(string, encoding, offset, length) - remove in v0.13\n  } else {\n    throw new Error(\n      'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n    )\n  }\n\n  var remaining = this.length - offset\n  if (length === undefined || length > remaining) length = remaining\n\n  if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n    throw new RangeError('Attempt to write outside buffer bounds')\n  }\n\n  if (!encoding) encoding = 'utf8'\n\n  var loweredCase = false\n  for (;;) {\n    switch (encoding) {\n      case 'hex':\n        return hexWrite(this, string, offset, length)\n\n      case 'utf8':\n      case 'utf-8':\n        return utf8Write(this, string, offset, length)\n\n      case 'ascii':\n        return asciiWrite(this, string, offset, length)\n\n      case 'latin1':\n      case 'binary':\n        return latin1Write(this, string, offset, length)\n\n      case 'base64':\n        // Warning: maxLength not taken into account in base64Write\n        return base64Write(this, string, offset, length)\n\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return ucs2Write(this, string, offset, length)\n\n      default:\n        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n        encoding = ('' + encoding).toLowerCase()\n        loweredCase = true\n    }\n  }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n  return {\n    type: 'Buffer',\n    data: Array.prototype.slice.call(this._arr || this, 0)\n  }\n}\n\nfunction base64Slice (buf, start, end) {\n  if (start === 0 && end === buf.length) {\n    return base64.fromByteArray(buf)\n  } else {\n    return base64.fromByteArray(buf.slice(start, end))\n  }\n}\n\nfunction utf8Slice (buf, start, end) {\n  end = Math.min(buf.length, end)\n  var res = []\n\n  var i = start\n  while (i < end) {\n    var firstByte = buf[i]\n    var codePoint = null\n    var bytesPerSequence = (firstByte > 0xEF) ? 4\n      : (firstByte > 0xDF) ? 3\n      : (firstByte > 0xBF) ? 2\n      : 1\n\n    if (i + bytesPerSequence <= end) {\n      var secondByte, thirdByte, fourthByte, tempCodePoint\n\n      switch (bytesPerSequence) {\n        case 1:\n          if (firstByte < 0x80) {\n            codePoint = firstByte\n          }\n          break\n        case 2:\n          secondByte = buf[i + 1]\n          if ((secondByte & 0xC0) === 0x80) {\n            tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n            if (tempCodePoint > 0x7F) {\n              codePoint = tempCodePoint\n            }\n          }\n          break\n        case 3:\n          secondByte = buf[i + 1]\n          thirdByte = buf[i + 2]\n          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n            tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n            if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n              codePoint = tempCodePoint\n            }\n          }\n          break\n        case 4:\n          secondByte = buf[i + 1]\n          thirdByte = buf[i + 2]\n          fourthByte = buf[i + 3]\n          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n            tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n            if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n              codePoint = tempCodePoint\n            }\n          }\n      }\n    }\n\n    if (codePoint === null) {\n      // we did not generate a valid codePoint so insert a\n      // replacement char (U+FFFD) and advance only 1 byte\n      codePoint = 0xFFFD\n      bytesPerSequence = 1\n    } else if (codePoint > 0xFFFF) {\n      // encode to utf16 (surrogate pair dance)\n      codePoint -= 0x10000\n      res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n      codePoint = 0xDC00 | codePoint & 0x3FF\n    }\n\n    res.push(codePoint)\n    i += bytesPerSequence\n  }\n\n  return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n  var len = codePoints.length\n  if (len <= MAX_ARGUMENTS_LENGTH) {\n    return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n  }\n\n  // Decode in chunks to avoid \"call stack size exceeded\".\n  var res = ''\n  var i = 0\n  while (i < len) {\n    res += String.fromCharCode.apply(\n      String,\n      codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n    )\n  }\n  return res\n}\n\nfunction asciiSlice (buf, start, end) {\n  var ret = ''\n  end = Math.min(buf.length, end)\n\n  for (var i = start; i < end; ++i) {\n    ret += String.fromCharCode(buf[i] & 0x7F)\n  }\n  return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n  var ret = ''\n  end = Math.min(buf.length, end)\n\n  for (var i = start; i < end; ++i) {\n    ret += String.fromCharCode(buf[i])\n  }\n  return ret\n}\n\nfunction hexSlice (buf, start, end) {\n  var len = buf.length\n\n  if (!start || start < 0) start = 0\n  if (!end || end < 0 || end > len) end = len\n\n  var out = ''\n  for (var i = start; i < end; ++i) {\n    out += toHex(buf[i])\n  }\n  return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n  var bytes = buf.slice(start, end)\n  var res = ''\n  for (var i = 0; i < bytes.length; i += 2) {\n    res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n  }\n  return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n  var len = this.length\n  start = ~~start\n  end = end === undefined ? len : ~~end\n\n  if (start < 0) {\n    start += len\n    if (start < 0) start = 0\n  } else if (start > len) {\n    start = len\n  }\n\n  if (end < 0) {\n    end += len\n    if (end < 0) end = 0\n  } else if (end > len) {\n    end = len\n  }\n\n  if (end < start) end = start\n\n  var newBuf\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    newBuf = this.subarray(start, end)\n    newBuf.__proto__ = Buffer.prototype\n  } else {\n    var sliceLen = end - start\n    newBuf = new Buffer(sliceLen, undefined)\n    for (var i = 0; i < sliceLen; ++i) {\n      newBuf[i] = this[i + start]\n    }\n  }\n\n  return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n  if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n  if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n  var val = this[offset]\n  var mul = 1\n  var i = 0\n  while (++i < byteLength && (mul *= 0x100)) {\n    val += this[offset + i] * mul\n  }\n\n  return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) {\n    checkOffset(offset, byteLength, this.length)\n  }\n\n  var val = this[offset + --byteLength]\n  var mul = 1\n  while (byteLength > 0 && (mul *= 0x100)) {\n    val += this[offset + --byteLength] * mul\n  }\n\n  return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 1, this.length)\n  return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return ((this[offset]) |\n      (this[offset + 1] << 8) |\n      (this[offset + 2] << 16)) +\n      (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return (this[offset] * 0x1000000) +\n    ((this[offset + 1] << 16) |\n    (this[offset + 2] << 8) |\n    this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n  var val = this[offset]\n  var mul = 1\n  var i = 0\n  while (++i < byteLength && (mul *= 0x100)) {\n    val += this[offset + i] * mul\n  }\n  mul *= 0x80\n\n  if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n  return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n  var i = byteLength\n  var mul = 1\n  var val = this[offset + --i]\n  while (i > 0 && (mul *= 0x100)) {\n    val += this[offset + --i] * mul\n  }\n  mul *= 0x80\n\n  if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n  return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 1, this.length)\n  if (!(this[offset] & 0x80)) return (this[offset])\n  return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  var val = this[offset] | (this[offset + 1] << 8)\n  return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  var val = this[offset + 1] | (this[offset] << 8)\n  return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return (this[offset]) |\n    (this[offset + 1] << 8) |\n    (this[offset + 2] << 16) |\n    (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return (this[offset] << 24) |\n    (this[offset + 1] << 16) |\n    (this[offset + 2] << 8) |\n    (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n  return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n  return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 8, this.length)\n  return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 8, this.length)\n  return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n  if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n  if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n  if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) {\n    var maxBytes = Math.pow(2, 8 * byteLength) - 1\n    checkInt(this, value, offset, byteLength, maxBytes, 0)\n  }\n\n  var mul = 1\n  var i = 0\n  this[offset] = value & 0xFF\n  while (++i < byteLength && (mul *= 0x100)) {\n    this[offset + i] = (value / mul) & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) {\n    var maxBytes = Math.pow(2, 8 * byteLength) - 1\n    checkInt(this, value, offset, byteLength, maxBytes, 0)\n  }\n\n  var i = byteLength - 1\n  var mul = 1\n  this[offset + i] = value & 0xFF\n  while (--i >= 0 && (mul *= 0x100)) {\n    this[offset + i] = (value / mul) & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n  if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n  this[offset] = (value & 0xff)\n  return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n  if (value < 0) value = 0xffff + value + 1\n  for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n    buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n      (littleEndian ? i : 1 - i) * 8\n  }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value & 0xff)\n    this[offset + 1] = (value >>> 8)\n  } else {\n    objectWriteUInt16(this, value, offset, true)\n  }\n  return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value >>> 8)\n    this[offset + 1] = (value & 0xff)\n  } else {\n    objectWriteUInt16(this, value, offset, false)\n  }\n  return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n  if (value < 0) value = 0xffffffff + value + 1\n  for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n    buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n  }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset + 3] = (value >>> 24)\n    this[offset + 2] = (value >>> 16)\n    this[offset + 1] = (value >>> 8)\n    this[offset] = (value & 0xff)\n  } else {\n    objectWriteUInt32(this, value, offset, true)\n  }\n  return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value >>> 24)\n    this[offset + 1] = (value >>> 16)\n    this[offset + 2] = (value >>> 8)\n    this[offset + 3] = (value & 0xff)\n  } else {\n    objectWriteUInt32(this, value, offset, false)\n  }\n  return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) {\n    var limit = Math.pow(2, 8 * byteLength - 1)\n\n    checkInt(this, value, offset, byteLength, limit - 1, -limit)\n  }\n\n  var i = 0\n  var mul = 1\n  var sub = 0\n  this[offset] = value & 0xFF\n  while (++i < byteLength && (mul *= 0x100)) {\n    if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n      sub = 1\n    }\n    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) {\n    var limit = Math.pow(2, 8 * byteLength - 1)\n\n    checkInt(this, value, offset, byteLength, limit - 1, -limit)\n  }\n\n  var i = byteLength - 1\n  var mul = 1\n  var sub = 0\n  this[offset + i] = value & 0xFF\n  while (--i >= 0 && (mul *= 0x100)) {\n    if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n      sub = 1\n    }\n    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n  if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n  if (value < 0) value = 0xff + value + 1\n  this[offset] = (value & 0xff)\n  return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value & 0xff)\n    this[offset + 1] = (value >>> 8)\n  } else {\n    objectWriteUInt16(this, value, offset, true)\n  }\n  return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value >>> 8)\n    this[offset + 1] = (value & 0xff)\n  } else {\n    objectWriteUInt16(this, value, offset, false)\n  }\n  return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value & 0xff)\n    this[offset + 1] = (value >>> 8)\n    this[offset + 2] = (value >>> 16)\n    this[offset + 3] = (value >>> 24)\n  } else {\n    objectWriteUInt32(this, value, offset, true)\n  }\n  return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n  if (value < 0) value = 0xffffffff + value + 1\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value >>> 24)\n    this[offset + 1] = (value >>> 16)\n    this[offset + 2] = (value >>> 8)\n    this[offset + 3] = (value & 0xff)\n  } else {\n    objectWriteUInt32(this, value, offset, false)\n  }\n  return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n  if (offset + ext > buf.length) throw new RangeError('Index out of range')\n  if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n  if (!noAssert) {\n    checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n  }\n  ieee754.write(buf, value, offset, littleEndian, 23, 4)\n  return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n  return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n  return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n  if (!noAssert) {\n    checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n  }\n  ieee754.write(buf, value, offset, littleEndian, 52, 8)\n  return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n  return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n  return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n  if (!start) start = 0\n  if (!end && end !== 0) end = this.length\n  if (targetStart >= target.length) targetStart = target.length\n  if (!targetStart) targetStart = 0\n  if (end > 0 && end < start) end = start\n\n  // Copy 0 bytes; we're done\n  if (end === start) return 0\n  if (target.length === 0 || this.length === 0) return 0\n\n  // Fatal error conditions\n  if (targetStart < 0) {\n    throw new RangeError('targetStart out of bounds')\n  }\n  if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n  if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n  // Are we oob?\n  if (end > this.length) end = this.length\n  if (target.length - targetStart < end - start) {\n    end = target.length - targetStart + start\n  }\n\n  var len = end - start\n  var i\n\n  if (this === target && start < targetStart && targetStart < end) {\n    // descending copy from end\n    for (i = len - 1; i >= 0; --i) {\n      target[i + targetStart] = this[i + start]\n    }\n  } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n    // ascending copy from start\n    for (i = 0; i < len; ++i) {\n      target[i + targetStart] = this[i + start]\n    }\n  } else {\n    Uint8Array.prototype.set.call(\n      target,\n      this.subarray(start, start + len),\n      targetStart\n    )\n  }\n\n  return len\n}\n\n// Usage:\n//    buffer.fill(number[, offset[, end]])\n//    buffer.fill(buffer[, offset[, end]])\n//    buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n  // Handle string cases:\n  if (typeof val === 'string') {\n    if (typeof start === 'string') {\n      encoding = start\n      start = 0\n      end = this.length\n    } else if (typeof end === 'string') {\n      encoding = end\n      end = this.length\n    }\n    if (val.length === 1) {\n      var code = val.charCodeAt(0)\n      if (code < 256) {\n        val = code\n      }\n    }\n    if (encoding !== undefined && typeof encoding !== 'string') {\n      throw new TypeError('encoding must be a string')\n    }\n    if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n      throw new TypeError('Unknown encoding: ' + encoding)\n    }\n  } else if (typeof val === 'number') {\n    val = val & 255\n  }\n\n  // Invalid ranges are not set to a default, so can range check early.\n  if (start < 0 || this.length < start || this.length < end) {\n    throw new RangeError('Out of range index')\n  }\n\n  if (end <= start) {\n    return this\n  }\n\n  start = start >>> 0\n  end = end === undefined ? this.length : end >>> 0\n\n  if (!val) val = 0\n\n  var i\n  if (typeof val === 'number') {\n    for (i = start; i < end; ++i) {\n      this[i] = val\n    }\n  } else {\n    var bytes = Buffer.isBuffer(val)\n      ? val\n      : utf8ToBytes(new Buffer(val, encoding).toString())\n    var len = bytes.length\n    for (i = 0; i < end - start; ++i) {\n      this[i + start] = bytes[i % len]\n    }\n  }\n\n  return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n  // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n  str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n  // Node converts strings with length < 2 to ''\n  if (str.length < 2) return ''\n  // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n  while (str.length % 4 !== 0) {\n    str = str + '='\n  }\n  return str\n}\n\nfunction stringtrim (str) {\n  if (str.trim) return str.trim()\n  return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n  if (n < 16) return '0' + n.toString(16)\n  return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n  units = units || Infinity\n  var codePoint\n  var length = string.length\n  var leadSurrogate = null\n  var bytes = []\n\n  for (var i = 0; i < length; ++i) {\n    codePoint = string.charCodeAt(i)\n\n    // is surrogate component\n    if (codePoint > 0xD7FF && codePoint < 0xE000) {\n      // last char was a lead\n      if (!leadSurrogate) {\n        // no lead yet\n        if (codePoint > 0xDBFF) {\n          // unexpected trail\n          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n          continue\n        } else if (i + 1 === length) {\n          // unpaired lead\n          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n          continue\n        }\n\n        // valid lead\n        leadSurrogate = codePoint\n\n        continue\n      }\n\n      // 2 leads in a row\n      if (codePoint < 0xDC00) {\n        if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n        leadSurrogate = codePoint\n        continue\n      }\n\n      // valid surrogate pair\n      codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n    } else if (leadSurrogate) {\n      // valid bmp char, but last char was a lead\n      if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n    }\n\n    leadSurrogate = null\n\n    // encode utf8\n    if (codePoint < 0x80) {\n      if ((units -= 1) < 0) break\n      bytes.push(codePoint)\n    } else if (codePoint < 0x800) {\n      if ((units -= 2) < 0) break\n      bytes.push(\n        codePoint >> 0x6 | 0xC0,\n        codePoint & 0x3F | 0x80\n      )\n    } else if (codePoint < 0x10000) {\n      if ((units -= 3) < 0) break\n      bytes.push(\n        codePoint >> 0xC | 0xE0,\n        codePoint >> 0x6 & 0x3F | 0x80,\n        codePoint & 0x3F | 0x80\n      )\n    } else if (codePoint < 0x110000) {\n      if ((units -= 4) < 0) break\n      bytes.push(\n        codePoint >> 0x12 | 0xF0,\n        codePoint >> 0xC & 0x3F | 0x80,\n        codePoint >> 0x6 & 0x3F | 0x80,\n        codePoint & 0x3F | 0x80\n      )\n    } else {\n      throw new Error('Invalid code point')\n    }\n  }\n\n  return bytes\n}\n\nfunction asciiToBytes (str) {\n  var byteArray = []\n  for (var i = 0; i < str.length; ++i) {\n    // Node's code seems to be doing this and not & 0x7F..\n    byteArray.push(str.charCodeAt(i) & 0xFF)\n  }\n  return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n  var c, hi, lo\n  var byteArray = []\n  for (var i = 0; i < str.length; ++i) {\n    if ((units -= 2) < 0) break\n\n    c = str.charCodeAt(i)\n    hi = c >> 8\n    lo = c % 256\n    byteArray.push(lo)\n    byteArray.push(hi)\n  }\n\n  return byteArray\n}\n\nfunction base64ToBytes (str) {\n  return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n  for (var i = 0; i < length; ++i) {\n    if ((i + offset >= dst.length) || (i >= src.length)) break\n    dst[i + offset] = src[i]\n  }\n  return i\n}\n\nfunction isnan (val) {\n  return val !== val // eslint-disable-line no-self-compare\n}\n","/**\n * Serialize a Headers instance into a pojo since it cannot be stringified.\n * @param {*} headers\n */\nexport default function serializeHeaders(headers) {\n  if (headers && typeof headers.forEach === 'function') {\n    const serializedHeaders = {};\n\n    headers.forEach((value, key) => (serializedHeaders[key] = value));\n\n    return serializedHeaders;\n  }\n\n  return headers || {};\n}\n","import Adapter from '@pollyjs/adapter';\nimport { cloneArrayBuffer, isBufferUtf8Representable } from '@pollyjs/utils';\nimport isNode from 'detect-node';\nimport { Buffer } from 'buffer/';\nimport bufferToArrayBuffer from 'to-arraybuffer';\n\nimport serializeHeaders from './utils/serializer-headers';\n\nconst { defineProperty } = Object;\nconst IS_STUBBED = Symbol();\nconst ABORT_HANDLER = Symbol();\nconst REQUEST_ARGUMENTS = Symbol();\n\nexport default class FetchAdapter extends Adapter {\n  static get id() {\n    return 'fetch';\n  }\n\n  get defaultOptions() {\n    return {\n      context: global\n    };\n  }\n\n  onConnect() {\n    const { context } = this.options;\n\n    if (isNode) {\n      this.polly.logger.log.warn(\n        '[Polly] [adapter:fetch] Using the fetch adapter in Node has been deprecated. Please use the node-http adapter instead.'\n      );\n    }\n\n    ['fetch', 'Request', 'Response', 'Headers'].forEach((key) =>\n      this.assert(`${key} global not found.`, !!(context && context[key]))\n    );\n    this.assert(\n      'Running concurrent fetch adapters is unsupported, stop any running Polly instances.',\n      !context.fetch[IS_STUBBED] && !context.Request[IS_STUBBED]\n    );\n\n    this.nativeFetch = context.fetch;\n    this.NativeRequest = context.Request;\n\n    const NativeRequest = this.NativeRequest;\n\n    /*\n      Patch the Request constructor so we can store all the passed in options.\n      This allows us to access the `body` directly instead of having to do\n      `await req.blob()` as well as not having to hard code each option we want\n      to extract from the Request instance.\n    */\n    context.Request = function Request(url, options) {\n      const request = new NativeRequest(url, options);\n      let args;\n\n      options = options || {};\n\n      /*\n        The Request constructor can receive another Request instance as\n        the first argument so we use its arguments and merge it with the\n        new options.\n     */\n      if (typeof url === 'object' && url[REQUEST_ARGUMENTS]) {\n        const reqArgs = url[REQUEST_ARGUMENTS];\n\n        args = { ...reqArgs, options: { ...reqArgs.options, ...options } };\n      } else {\n        args = { url, options };\n      }\n\n      defineProperty(request, REQUEST_ARGUMENTS, { value: args });\n\n      // Override the clone method to use our overridden constructor\n      request.clone = function clone() {\n        return new context.Request(request);\n      };\n\n      return request;\n    };\n\n    defineProperty(context.Request, IS_STUBBED, { value: true });\n\n    context.fetch = (url, options = {}) => {\n      let respond;\n\n      // Support Request object\n      if (typeof url === 'object' && url[REQUEST_ARGUMENTS]) {\n        const req = url;\n        const reqArgs = req[REQUEST_ARGUMENTS];\n\n        url = reqArgs.url;\n        options = { ...reqArgs.options, ...options };\n\n        // If a body exists in the Request instance, mimic reading the body\n        if ('body' in reqArgs.options) {\n          defineProperty(req, 'bodyUsed', { value: true });\n        }\n      }\n\n      const promise = new Promise((resolve, reject) => {\n        respond = ({ response, error }) => {\n          if (error) {\n            reject(error);\n          } else {\n            resolve(response);\n          }\n        };\n      });\n\n      this.handleRequest({\n        url,\n        method: options.method || 'GET',\n        headers: serializeHeaders(new context.Headers(options.headers)),\n        body: options.body,\n        requestArguments: { options, respond }\n      });\n\n      return promise;\n    };\n\n    defineProperty(context.fetch, IS_STUBBED, { value: true });\n  }\n\n  onDisconnect() {\n    const { context } = this.options;\n\n    context.fetch = this.nativeFetch;\n    context.Request = this.NativeRequest;\n\n    this.nativeFetch = null;\n    this.NativeRequest = null;\n  }\n\n  onRequest(pollyRequest) {\n    const {\n      options: { signal }\n    } = pollyRequest.requestArguments;\n\n    if (signal) {\n      if (signal.aborted) {\n        pollyRequest.abort();\n      } else {\n        pollyRequest[ABORT_HANDLER] = () => pollyRequest.abort();\n        signal.addEventListener('abort', pollyRequest[ABORT_HANDLER]);\n      }\n    }\n  }\n\n  async onFetchResponse(pollyRequest) {\n    const { context } = this.options;\n    const { options } = pollyRequest.requestArguments;\n\n    const response = await this.nativeFetch.apply(context, [\n      pollyRequest.url,\n      {\n        ...options,\n        method: pollyRequest.method,\n        headers: pollyRequest.headers,\n        body: pollyRequest.body\n      }\n    ]);\n\n    let arrayBuffer = await response.arrayBuffer();\n\n    /*\n      If the returned array buffer is not an instance of the global ArrayBuffer,\n      clone it in order to pass Buffer.from's instanceof check. This can happen\n      when using this adapter with a different context.\n\n      https://github.com/feross/buffer/issues/289\n    */\n    if (\n      arrayBuffer &&\n      !(arrayBuffer instanceof ArrayBuffer) &&\n      'byteLength' in arrayBuffer\n    ) {\n      arrayBuffer = cloneArrayBuffer(arrayBuffer);\n    }\n\n    const buffer = Buffer.from(arrayBuffer);\n    const isBinaryBuffer = !isBufferUtf8Representable(buffer);\n\n    return {\n      statusCode: response.status,\n      headers: serializeHeaders(response.headers),\n      body: buffer.toString(isBinaryBuffer ? 'base64' : 'utf8'),\n      encoding: isBinaryBuffer ? 'base64' : undefined\n    };\n  }\n\n  onRespond(pollyRequest, error) {\n    const {\n      context: { Response }\n    } = this.options;\n    const {\n      respond,\n      options: { signal }\n    } = pollyRequest.requestArguments;\n\n    if (signal && pollyRequest[ABORT_HANDLER]) {\n      signal.removeEventListener('abort', pollyRequest[ABORT_HANDLER]);\n    }\n\n    if (pollyRequest.aborted) {\n      respond({\n        error: new DOMException('The user aborted a request.', 'AbortError')\n      });\n\n      return;\n    }\n\n    if (error) {\n      respond({ error });\n\n      return;\n    }\n\n    const { absoluteUrl, response: pollyResponse } = pollyRequest;\n    const { statusCode, body, encoding } = pollyResponse;\n\n    let responseBody = body;\n\n    if (statusCode === 204 && responseBody === '') {\n      responseBody = null;\n    } else if (encoding) {\n      responseBody = bufferToArrayBuffer(Buffer.from(body, encoding));\n    }\n\n    const response = new Response(responseBody, {\n      status: statusCode,\n      statusText: pollyResponse.statusText,\n      headers: pollyResponse.headers\n    });\n\n    /*\n      Response does not allow `url` to be set manually (either via the\n      constructor or assignment) so force the url property via `defineProperty`.\n    */\n    defineProperty(response, 'url', { value: absoluteUrl });\n\n    respond({ response });\n  }\n}\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n  var C;\n  if (isArray(original)) {\n    C = original.constructor;\n    // cross-realm fallback\n    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n    if (isObject(C)) {\n      C = C[SPECIES];\n      if (C === null) C = undefined;\n    }\n  } return C === undefined ? Array : C;\n};\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n  return new (speciesConstructor(original))(length);\n};\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n  var IS_MAP = TYPE == 1;\n  var IS_FILTER = TYPE == 2;\n  var IS_SOME = TYPE == 3;\n  var IS_EVERY = TYPE == 4;\n  var IS_FIND_INDEX = TYPE == 6;\n  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n  var create = $create || asc;\n  return function ($this, callbackfn, that) {\n    var O = toObject($this);\n    var self = IObject(O);\n    var f = ctx(callbackfn, that, 3);\n    var length = toLength(self.length);\n    var index = 0;\n    var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n    var val, res;\n    for (;length > index; index++) if (NO_HOLES || index in self) {\n      val = self[index];\n      res = f(val, index, O);\n      if (TYPE) {\n        if (IS_MAP) result[index] = res;   // map\n        else if (res) switch (TYPE) {\n          case 3: return true;             // some\n          case 5: return val;              // find\n          case 6: return index;            // findIndex\n          case 2: result.push(val);        // filter\n        } else if (IS_EVERY) return false; // every\n      }\n    }\n    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n  };\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n  if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n  return it;\n};\n","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n  return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n  this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n  return arrayFind(store.a, function (it) {\n    return it[0] === key;\n  });\n};\nUncaughtFrozenStore.prototype = {\n  get: function (key) {\n    var entry = findUncaughtFrozen(this, key);\n    if (entry) return entry[1];\n  },\n  has: function (key) {\n    return !!findUncaughtFrozen(this, key);\n  },\n  set: function (key, value) {\n    var entry = findUncaughtFrozen(this, key);\n    if (entry) entry[1] = value;\n    else this.a.push([key, value]);\n  },\n  'delete': function (key) {\n    var index = arrayFindIndex(this.a, function (it) {\n      return it[0] === key;\n    });\n    if (~index) this.a.splice(index, 1);\n    return !!~index;\n  }\n};\n\nmodule.exports = {\n  getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n    var C = wrapper(function (that, iterable) {\n      anInstance(that, C, NAME, '_i');\n      that._t = NAME;      // collection type\n      that._i = id++;      // collection id\n      that._l = undefined; // leak store for uncaught frozen objects\n      if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n    });\n    redefineAll(C.prototype, {\n      // 23.3.3.2 WeakMap.prototype.delete(key)\n      // 23.4.3.3 WeakSet.prototype.delete(value)\n      'delete': function (key) {\n        if (!isObject(key)) return false;\n        var data = getWeak(key);\n        if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n        return data && $has(data, this._i) && delete data[this._i];\n      },\n      // 23.3.3.4 WeakMap.prototype.has(key)\n      // 23.4.3.4 WeakSet.prototype.has(value)\n      has: function has(key) {\n        if (!isObject(key)) return false;\n        var data = getWeak(key);\n        if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n        return data && $has(data, this._i);\n      }\n    });\n    return C;\n  },\n  def: function (that, key, value) {\n    var data = getWeak(anObject(key), true);\n    if (data === true) uncaughtFrozenStore(that).set(key, value);\n    else data[that._i] = value;\n    return that;\n  },\n  ufstore: uncaughtFrozenStore\n};\n","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar meta = require('./_meta');\nvar fails = require('./_fails');\nvar hide = require('./_hide');\nvar redefineAll = require('./_redefine-all');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar setToStringTag = require('./_set-to-string-tag');\nvar dP = require('./_object-dp').f;\nvar each = require('./_array-methods')(0);\nvar DESCRIPTORS = require('./_descriptors');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n  var Base = global[NAME];\n  var C = Base;\n  var ADDER = IS_MAP ? 'set' : 'add';\n  var proto = C && C.prototype;\n  var O = {};\n  if (!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n    new C().entries().next();\n  }))) {\n    // create collection constructor\n    C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n    redefineAll(C.prototype, methods);\n    meta.NEED = true;\n  } else {\n    C = wrapper(function (target, iterable) {\n      anInstance(target, C, NAME, '_c');\n      target._c = new Base();\n      if (iterable != undefined) forOf(iterable, IS_MAP, target[ADDER], target);\n    });\n    each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','), function (KEY) {\n      var IS_ADDER = KEY == 'add' || KEY == 'set';\n      if (KEY in proto && !(IS_WEAK && KEY == 'clear')) hide(C.prototype, KEY, function (a, b) {\n        anInstance(this, C, KEY);\n        if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false;\n        var result = this._c[KEY](a === 0 ? 0 : a, b);\n        return IS_ADDER ? this : result;\n      });\n    });\n    IS_WEAK || dP(C.prototype, 'size', {\n      get: function () {\n        return this._c.size;\n      }\n    });\n  }\n\n  setToStringTag(C, NAME);\n\n  O[NAME] = C;\n  $export($export.G + $export.W + $export.F, O);\n\n  if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n  return C;\n};\n","'use strict';\nvar weak = require('./_collection-weak');\nvar validate = require('./_validate-collection');\nvar WEAK_SET = 'WeakSet';\n\n// 23.4 WeakSet Objects\nrequire('./_collection')(WEAK_SET, function (get) {\n  return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n  // 23.4.3.1 WeakSet.prototype.add(value)\n  add: function add(value) {\n    return weak.def(validate(this, WEAK_SET), value, true);\n  }\n}, weak, false, true);\n","'use strict';\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = require('./_export');\n\nmodule.exports = function (COLLECTION) {\n  $export($export.S, COLLECTION, { of: function of() {\n    var length = arguments.length;\n    var A = new Array(length);\n    while (length--) A[length] = arguments[length];\n    return new this(A);\n  } });\n};\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of\nrequire('./_set-collection-of')('WeakSet');\n","'use strict';\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar ctx = require('./_ctx');\nvar forOf = require('./_for-of');\n\nmodule.exports = function (COLLECTION) {\n  $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {\n    var mapFn = arguments[1];\n    var mapping, A, n, cb;\n    aFunction(this);\n    mapping = mapFn !== undefined;\n    if (mapping) aFunction(mapFn);\n    if (source == undefined) return new this();\n    A = [];\n    if (mapping) {\n      n = 0;\n      cb = ctx(mapFn, arguments[2], 2);\n      forOf(source, false, function (nextItem) {\n        A.push(cb(nextItem, n++));\n      });\n    } else {\n      forOf(source, false, A.push, A);\n    }\n    return new this(A);\n  } });\n};\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from\nrequire('./_set-collection-from')('WeakSet');\n","require('../modules/es6.object.to-string');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.weak-set');\nrequire('../modules/es7.weak-set.of');\nrequire('../modules/es7.weak-set.from');\nmodule.exports = require('../modules/_core').WeakSet;\n","module.exports = require(\"core-js/library/fn/weak-set\");","(function(global) {\n  'use strict';\n\n  if (typeof module !== \"undefined\" && module.exports) {\n    module.exports = global;\n  }\n\n  global[\"encoding-indexes\"] =\n{\n  \"big5\":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,17392,19506,17923,17830,17784,160359,19831,17843,162993,19682,163013,15253,18230,18244,19527,19520,148159,144919,160594,159371,159954,19543,172881,18255,17882,19589,162924,19719,19108,18081,158499,29221,154196,137827,146950,147297,26189,22267,null,32149,22813,166841,15860,38708,162799,23515,138590,23204,13861,171696,23249,23479,23804,26478,34195,170309,29793,29853,14453,138579,145054,155681,16108,153822,15093,31484,40855,147809,166157,143850,133770,143966,17162,33924,40854,37935,18736,34323,22678,38730,37400,31184,31282,26208,27177,34973,29772,31685,26498,31276,21071,36934,13542,29636,155065,29894,40903,22451,18735,21580,16689,145038,22552,31346,162661,35727,18094,159368,16769,155033,31662,140476,40904,140481,140489,140492,40905,34052,144827,16564,40906,17633,175615,25281,28782,40907,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,12736,12737,12738,12739,12740,131340,12741,131281,131277,12742,12743,131275,139240,12744,131274,12745,12746,12747,12748,131342,12749,12750,256,193,461,192,274,201,282,200,332,211,465,210,null,7870,null,7872,202,257,225,462,224,593,275,233,283,232,299,237,464,236,333,243,466,242,363,250,468,249,470,472,474,476,252,null,7871,null,7873,234,609,9178,9179,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,172969,135493,null,25866,null,null,20029,28381,40270,37343,null,null,161589,25745,20250,20264,20392,20822,20852,20892,20964,21153,21160,21307,21326,21457,21464,22242,22768,22788,22791,22834,22836,23398,23454,23455,23706,24198,24635,25993,26622,26628,26725,27982,28860,30005,32420,32428,32442,32455,32463,32479,32518,32567,33402,33487,33647,35270,35774,35810,36710,36711,36718,29713,31996,32205,26950,31433,21031,null,null,null,null,37260,30904,37214,32956,null,36107,33014,133607,null,null,32927,40647,19661,40393,40460,19518,171510,159758,40458,172339,13761,null,28314,33342,29977,null,18705,39532,39567,40857,31111,164972,138698,132560,142054,20004,20097,20096,20103,20159,20203,20279,13388,20413,15944,20483,20616,13437,13459,13477,20870,22789,20955,20988,20997,20105,21113,21136,21287,13767,21417,13649,21424,13651,21442,21539,13677,13682,13953,21651,21667,21684,21689,21712,21743,21784,21795,21800,13720,21823,13733,13759,21975,13765,163204,21797,null,134210,134421,151851,21904,142534,14828,131905,36422,150968,169189,16467,164030,30586,142392,14900,18389,164189,158194,151018,25821,134524,135092,134357,135412,25741,36478,134806,134155,135012,142505,164438,148691,null,134470,170573,164073,18420,151207,142530,39602,14951,169460,16365,13574,152263,169940,161992,142660,40302,38933,null,17369,155813,25780,21731,142668,142282,135287,14843,135279,157402,157462,162208,25834,151634,134211,36456,139681,166732,132913,null,18443,131497,16378,22643,142733,null,148936,132348,155799,134988,134550,21881,16571,17338,null,19124,141926,135325,33194,39157,134556,25465,14846,141173,36288,22177,25724,15939,null,173569,134665,142031,142537,null,135368,145858,14738,14854,164507,13688,155209,139463,22098,134961,142514,169760,13500,27709,151099,null,null,161140,142987,139784,173659,167117,134778,134196,157724,32659,135375,141315,141625,13819,152035,134796,135053,134826,16275,134960,134471,135503,134732,null,134827,134057,134472,135360,135485,16377,140950,25650,135085,144372,161337,142286,134526,134527,142417,142421,14872,134808,135367,134958,173618,158544,167122,167321,167114,38314,21708,33476,21945,null,171715,39974,39606,161630,142830,28992,33133,33004,23580,157042,33076,14231,21343,164029,37302,134906,134671,134775,134907,13789,151019,13833,134358,22191,141237,135369,134672,134776,135288,135496,164359,136277,134777,151120,142756,23124,135197,135198,135413,135414,22428,134673,161428,164557,135093,134779,151934,14083,135094,135552,152280,172733,149978,137274,147831,164476,22681,21096,13850,153405,31666,23400,18432,19244,40743,18919,39967,39821,154484,143677,22011,13810,22153,20008,22786,138177,194680,38737,131206,20059,20155,13630,23587,24401,24516,14586,25164,25909,27514,27701,27706,28780,29227,20012,29357,149737,32594,31035,31993,32595,156266,13505,null,156491,32770,32896,157202,158033,21341,34916,35265,161970,35744,36125,38021,38264,38271,38376,167439,38886,39029,39118,39134,39267,170000,40060,40479,40644,27503,63751,20023,131207,38429,25143,38050,null,20539,28158,171123,40870,15817,34959,147790,28791,23797,19232,152013,13657,154928,24866,166450,36775,37366,29073,26393,29626,144001,172295,15499,137600,19216,30948,29698,20910,165647,16393,27235,172730,16931,34319,133743,31274,170311,166634,38741,28749,21284,139390,37876,30425,166371,40871,30685,20131,20464,20668,20015,20247,40872,21556,32139,22674,22736,138678,24210,24217,24514,141074,25995,144377,26905,27203,146531,27903,null,29184,148741,29580,16091,150035,23317,29881,35715,154788,153237,31379,31724,31939,32364,33528,34199,40873,34960,40874,36537,40875,36815,34143,39392,37409,40876,167353,136255,16497,17058,23066,null,null,null,39016,26475,17014,22333,null,34262,149883,33471,160013,19585,159092,23931,158485,159678,40877,40878,23446,40879,26343,32347,28247,31178,15752,17603,143958,141206,17306,17718,null,23765,146202,35577,23672,15634,144721,23928,40882,29015,17752,147692,138787,19575,14712,13386,131492,158785,35532,20404,131641,22975,33132,38998,170234,24379,134047,null,139713,166253,16642,18107,168057,16135,40883,172469,16632,14294,18167,158790,16764,165554,160767,17773,14548,152730,17761,17691,19849,19579,19830,17898,16328,150287,13921,17630,17597,16877,23870,23880,23894,15868,14351,23972,23993,14368,14392,24130,24253,24357,24451,14600,14612,14655,14669,24791,24893,23781,14729,25015,25017,25039,14776,25132,25232,25317,25368,14840,22193,14851,25570,25595,25607,25690,14923,25792,23829,22049,40863,14999,25990,15037,26111,26195,15090,26258,15138,26390,15170,26532,26624,15192,26698,26756,15218,15217,15227,26889,26947,29276,26980,27039,27013,15292,27094,15325,27237,27252,27249,27266,15340,27289,15346,27307,27317,27348,27382,27521,27585,27626,27765,27818,15563,27906,27910,27942,28033,15599,28068,28081,28181,28184,28201,28294,166336,28347,28386,28378,40831,28392,28393,28452,28468,15686,147265,28545,28606,15722,15733,29111,23705,15754,28716,15761,28752,28756,28783,28799,28809,131877,17345,13809,134872,147159,22462,159443,28990,153568,13902,27042,166889,23412,31305,153825,169177,31333,31357,154028,31419,31408,31426,31427,29137,156813,16842,31450,31453,31466,16879,21682,154625,31499,31573,31529,152334,154878,31650,31599,33692,154548,158847,31696,33825,31634,31672,154912,15789,154725,33938,31738,31750,31797,154817,31812,31875,149634,31910,26237,148856,31945,31943,31974,31860,31987,31989,31950,32359,17693,159300,32093,159446,29837,32137,32171,28981,32179,32210,147543,155689,32228,15635,32245,137209,32229,164717,32285,155937,155994,32366,32402,17195,37996,32295,32576,32577,32583,31030,156368,39393,32663,156497,32675,136801,131176,17756,145254,17667,164666,32762,156809,32773,32776,32797,32808,32815,172167,158915,32827,32828,32865,141076,18825,157222,146915,157416,26405,32935,166472,33031,33050,22704,141046,27775,156824,151480,25831,136330,33304,137310,27219,150117,150165,17530,33321,133901,158290,146814,20473,136445,34018,33634,158474,149927,144688,137075,146936,33450,26907,194964,16859,34123,33488,33562,134678,137140,14017,143741,144730,33403,33506,33560,147083,159139,158469,158615,144846,15807,33565,21996,33669,17675,159141,33708,33729,33747,13438,159444,27223,34138,13462,159298,143087,33880,154596,33905,15827,17636,27303,33866,146613,31064,33960,158614,159351,159299,34014,33807,33681,17568,33939,34020,154769,16960,154816,17731,34100,23282,159385,17703,34163,17686,26559,34326,165413,165435,34241,159880,34306,136578,159949,194994,17770,34344,13896,137378,21495,160666,34430,34673,172280,34798,142375,34737,34778,34831,22113,34412,26710,17935,34885,34886,161248,146873,161252,34910,34972,18011,34996,34997,25537,35013,30583,161551,35207,35210,35238,35241,35239,35260,166437,35303,162084,162493,35484,30611,37374,35472,162393,31465,162618,147343,18195,162616,29052,35596,35615,152624,152933,35647,35660,35661,35497,150138,35728,35739,35503,136927,17941,34895,35995,163156,163215,195028,14117,163155,36054,163224,163261,36114,36099,137488,36059,28764,36113,150729,16080,36215,36265,163842,135188,149898,15228,164284,160012,31463,36525,36534,36547,37588,36633,36653,164709,164882,36773,37635,172703,133712,36787,18730,166366,165181,146875,24312,143970,36857,172052,165564,165121,140069,14720,159447,36919,165180,162494,36961,165228,165387,37032,165651,37060,165606,37038,37117,37223,15088,37289,37316,31916,166195,138889,37390,27807,37441,37474,153017,37561,166598,146587,166668,153051,134449,37676,37739,166625,166891,28815,23235,166626,166629,18789,37444,166892,166969,166911,37747,37979,36540,38277,38310,37926,38304,28662,17081,140922,165592,135804,146990,18911,27676,38523,38550,16748,38563,159445,25050,38582,30965,166624,38589,21452,18849,158904,131700,156688,168111,168165,150225,137493,144138,38705,34370,38710,18959,17725,17797,150249,28789,23361,38683,38748,168405,38743,23370,168427,38751,37925,20688,143543,143548,38793,38815,38833,38846,38848,38866,38880,152684,38894,29724,169011,38911,38901,168989,162170,19153,38964,38963,38987,39014,15118,160117,15697,132656,147804,153350,39114,39095,39112,39111,19199,159015,136915,21936,39137,39142,39148,37752,39225,150057,19314,170071,170245,39413,39436,39483,39440,39512,153381,14020,168113,170965,39648,39650,170757,39668,19470,39700,39725,165376,20532,39732,158120,14531,143485,39760,39744,171326,23109,137315,39822,148043,39938,39935,39948,171624,40404,171959,172434,172459,172257,172323,172511,40318,40323,172340,40462,26760,40388,139611,172435,172576,137531,172595,40249,172217,172724,40592,40597,40606,40610,19764,40618,40623,148324,40641,15200,14821,15645,20274,14270,166955,40706,40712,19350,37924,159138,40727,40726,40761,22175,22154,40773,39352,168075,38898,33919,40802,40809,31452,40846,29206,19390,149877,149947,29047,150008,148296,150097,29598,166874,137466,31135,166270,167478,37737,37875,166468,37612,37761,37835,166252,148665,29207,16107,30578,31299,28880,148595,148472,29054,137199,28835,137406,144793,16071,137349,152623,137208,14114,136955,137273,14049,137076,137425,155467,14115,136896,22363,150053,136190,135848,136134,136374,34051,145062,34051,33877,149908,160101,146993,152924,147195,159826,17652,145134,170397,159526,26617,14131,15381,15847,22636,137506,26640,16471,145215,147681,147595,147727,158753,21707,22174,157361,22162,135135,134056,134669,37830,166675,37788,20216,20779,14361,148534,20156,132197,131967,20299,20362,153169,23144,131499,132043,14745,131850,132116,13365,20265,131776,167603,131701,35546,131596,20120,20685,20749,20386,20227,150030,147082,20290,20526,20588,20609,20428,20453,20568,20732,20825,20827,20829,20830,28278,144789,147001,147135,28018,137348,147081,20904,20931,132576,17629,132259,132242,132241,36218,166556,132878,21081,21156,133235,21217,37742,18042,29068,148364,134176,149932,135396,27089,134685,29817,16094,29849,29716,29782,29592,19342,150204,147597,21456,13700,29199,147657,21940,131909,21709,134086,22301,37469,38644,37734,22493,22413,22399,13886,22731,23193,166470,136954,137071,136976,23084,22968,37519,23166,23247,23058,153926,137715,137313,148117,14069,27909,29763,23073,155267,23169,166871,132115,37856,29836,135939,28933,18802,37896,166395,37821,14240,23582,23710,24158,24136,137622,137596,146158,24269,23375,137475,137476,14081,137376,14045,136958,14035,33066,166471,138682,144498,166312,24332,24334,137511,137131,23147,137019,23364,34324,161277,34912,24702,141408,140843,24539,16056,140719,140734,168072,159603,25024,131134,131142,140827,24985,24984,24693,142491,142599,149204,168269,25713,149093,142186,14889,142114,144464,170218,142968,25399,173147,25782,25393,25553,149987,142695,25252,142497,25659,25963,26994,15348,143502,144045,149897,144043,21773,144096,137433,169023,26318,144009,143795,15072,16784,152964,166690,152975,136956,152923,152613,30958,143619,137258,143924,13412,143887,143746,148169,26254,159012,26219,19347,26160,161904,138731,26211,144082,144097,26142,153714,14545,145466,145340,15257,145314,144382,29904,15254,26511,149034,26806,26654,15300,27326,14435,145365,148615,27187,27218,27337,27397,137490,25873,26776,27212,15319,27258,27479,147392,146586,37792,37618,166890,166603,37513,163870,166364,37991,28069,28427,149996,28007,147327,15759,28164,147516,23101,28170,22599,27940,30786,28987,148250,148086,28913,29264,29319,29332,149391,149285,20857,150180,132587,29818,147192,144991,150090,149783,155617,16134,16049,150239,166947,147253,24743,16115,29900,29756,37767,29751,17567,159210,17745,30083,16227,150745,150790,16216,30037,30323,173510,15129,29800,166604,149931,149902,15099,15821,150094,16127,149957,149747,37370,22322,37698,166627,137316,20703,152097,152039,30584,143922,30478,30479,30587,149143,145281,14942,149744,29752,29851,16063,150202,150215,16584,150166,156078,37639,152961,30750,30861,30856,30930,29648,31065,161601,153315,16654,31131,33942,31141,27181,147194,31290,31220,16750,136934,16690,37429,31217,134476,149900,131737,146874,137070,13719,21867,13680,13994,131540,134157,31458,23129,141045,154287,154268,23053,131675,30960,23082,154566,31486,16889,31837,31853,16913,154547,155324,155302,31949,150009,137136,31886,31868,31918,27314,32220,32263,32211,32590,156257,155996,162632,32151,155266,17002,158581,133398,26582,131150,144847,22468,156690,156664,149858,32733,31527,133164,154345,154947,31500,155150,39398,34373,39523,27164,144447,14818,150007,157101,39455,157088,33920,160039,158929,17642,33079,17410,32966,33033,33090,157620,39107,158274,33378,33381,158289,33875,159143,34320,160283,23174,16767,137280,23339,137377,23268,137432,34464,195004,146831,34861,160802,23042,34926,20293,34951,35007,35046,35173,35149,153219,35156,161669,161668,166901,166873,166812,166393,16045,33955,18165,18127,14322,35389,35356,169032,24397,37419,148100,26068,28969,28868,137285,40301,35999,36073,163292,22938,30659,23024,17262,14036,36394,36519,150537,36656,36682,17140,27736,28603,140065,18587,28537,28299,137178,39913,14005,149807,37051,37015,21873,18694,37307,37892,166475,16482,166652,37927,166941,166971,34021,35371,38297,38311,38295,38294,167220,29765,16066,149759,150082,148458,16103,143909,38543,167655,167526,167525,16076,149997,150136,147438,29714,29803,16124,38721,168112,26695,18973,168083,153567,38749,37736,166281,166950,166703,156606,37562,23313,35689,18748,29689,147995,38811,38769,39224,134950,24001,166853,150194,38943,169178,37622,169431,37349,17600,166736,150119,166756,39132,166469,16128,37418,18725,33812,39227,39245,162566,15869,39323,19311,39338,39516,166757,153800,27279,39457,23294,39471,170225,19344,170312,39356,19389,19351,37757,22642,135938,22562,149944,136424,30788,141087,146872,26821,15741,37976,14631,24912,141185,141675,24839,40015,40019,40059,39989,39952,39807,39887,171565,39839,172533,172286,40225,19630,147716,40472,19632,40204,172468,172269,172275,170287,40357,33981,159250,159711,158594,34300,17715,159140,159364,159216,33824,34286,159232,145367,155748,31202,144796,144960,18733,149982,15714,37851,37566,37704,131775,30905,37495,37965,20452,13376,36964,152925,30781,30804,30902,30795,137047,143817,149825,13978,20338,28634,28633,28702,28702,21524,147893,22459,22771,22410,40214,22487,28980,13487,147884,29163,158784,151447,23336,137141,166473,24844,23246,23051,17084,148616,14124,19323,166396,37819,37816,137430,134941,33906,158912,136211,148218,142374,148417,22932,146871,157505,32168,155995,155812,149945,149899,166394,37605,29666,16105,29876,166755,137375,16097,150195,27352,29683,29691,16086,150078,150164,137177,150118,132007,136228,149989,29768,149782,28837,149878,37508,29670,37727,132350,37681,166606,166422,37766,166887,153045,18741,166530,29035,149827,134399,22180,132634,134123,134328,21762,31172,137210,32254,136898,150096,137298,17710,37889,14090,166592,149933,22960,137407,137347,160900,23201,14050,146779,14000,37471,23161,166529,137314,37748,15565,133812,19094,14730,20724,15721,15692,136092,29045,17147,164376,28175,168164,17643,27991,163407,28775,27823,15574,147437,146989,28162,28428,15727,132085,30033,14012,13512,18048,16090,18545,22980,37486,18750,36673,166940,158656,22546,22472,14038,136274,28926,148322,150129,143331,135856,140221,26809,26983,136088,144613,162804,145119,166531,145366,144378,150687,27162,145069,158903,33854,17631,17614,159014,159057,158850,159710,28439,160009,33597,137018,33773,158848,159827,137179,22921,23170,137139,23137,23153,137477,147964,14125,23023,137020,14023,29070,37776,26266,148133,23150,23083,148115,27179,147193,161590,148571,148170,28957,148057,166369,20400,159016,23746,148686,163405,148413,27148,148054,135940,28838,28979,148457,15781,27871,194597,150095,32357,23019,23855,15859,24412,150109,137183,32164,33830,21637,146170,144128,131604,22398,133333,132633,16357,139166,172726,28675,168283,23920,29583,31955,166489,168992,20424,32743,29389,29456,162548,29496,29497,153334,29505,29512,16041,162584,36972,29173,149746,29665,33270,16074,30476,16081,27810,22269,29721,29726,29727,16098,16112,16116,16122,29907,16142,16211,30018,30061,30066,30093,16252,30152,30172,16320,30285,16343,30324,16348,30330,151388,29064,22051,35200,22633,16413,30531,16441,26465,16453,13787,30616,16490,16495,23646,30654,30667,22770,30744,28857,30748,16552,30777,30791,30801,30822,33864,152885,31027,26627,31026,16643,16649,31121,31129,36795,31238,36796,16743,31377,16818,31420,33401,16836,31439,31451,16847,20001,31586,31596,31611,31762,31771,16992,17018,31867,31900,17036,31928,17044,31981,36755,28864,134351,32207,32212,32208,32253,32686,32692,29343,17303,32800,32805,31545,32814,32817,32852,15820,22452,28832,32951,33001,17389,33036,29482,33038,33042,30048,33044,17409,15161,33110,33113,33114,17427,22586,33148,33156,17445,33171,17453,33189,22511,33217,33252,33364,17551,33446,33398,33482,33496,33535,17584,33623,38505,27018,33797,28917,33892,24803,33928,17668,33982,34017,34040,34064,34104,34130,17723,34159,34160,34272,17783,34418,34450,34482,34543,38469,34699,17926,17943,34990,35071,35108,35143,35217,162151,35369,35384,35476,35508,35921,36052,36082,36124,18328,22623,36291,18413,20206,36410,21976,22356,36465,22005,36528,18487,36558,36578,36580,36589,36594,36791,36801,36810,36812,36915,39364,18605,39136,37395,18718,37416,37464,37483,37553,37550,37567,37603,37611,37619,37620,37629,37699,37764,37805,18757,18769,40639,37911,21249,37917,37933,37950,18794,37972,38009,38189,38306,18855,38388,38451,18917,26528,18980,38720,18997,38834,38850,22100,19172,24808,39097,19225,39153,22596,39182,39193,20916,39196,39223,39234,39261,39266,19312,39365,19357,39484,39695,31363,39785,39809,39901,39921,39924,19565,39968,14191,138178,40265,39994,40702,22096,40339,40381,40384,40444,38134,36790,40571,40620,40625,40637,40646,38108,40674,40689,40696,31432,40772,131220,131767,132000,26906,38083,22956,132311,22592,38081,14265,132565,132629,132726,136890,22359,29043,133826,133837,134079,21610,194619,134091,21662,134139,134203,134227,134245,134268,24807,134285,22138,134325,134365,134381,134511,134578,134600,26965,39983,34725,134660,134670,134871,135056,134957,134771,23584,135100,24075,135260,135247,135286,26398,135291,135304,135318,13895,135359,135379,135471,135483,21348,33965,135907,136053,135990,35713,136567,136729,137155,137159,20088,28859,137261,137578,137773,137797,138282,138352,138412,138952,25283,138965,139029,29080,26709,139333,27113,14024,139900,140247,140282,141098,141425,141647,33533,141671,141715,142037,35237,142056,36768,142094,38840,142143,38983,39613,142412,null,142472,142519,154600,142600,142610,142775,142741,142914,143220,143308,143411,143462,144159,144350,24497,26184,26303,162425,144743,144883,29185,149946,30679,144922,145174,32391,131910,22709,26382,26904,146087,161367,155618,146961,147129,161278,139418,18640,19128,147737,166554,148206,148237,147515,148276,148374,150085,132554,20946,132625,22943,138920,15294,146687,148484,148694,22408,149108,14747,149295,165352,170441,14178,139715,35678,166734,39382,149522,149755,150037,29193,150208,134264,22885,151205,151430,132985,36570,151596,21135,22335,29041,152217,152601,147274,150183,21948,152646,152686,158546,37332,13427,152895,161330,152926,18200,152930,152934,153543,149823,153693,20582,13563,144332,24798,153859,18300,166216,154286,154505,154630,138640,22433,29009,28598,155906,162834,36950,156082,151450,35682,156674,156746,23899,158711,36662,156804,137500,35562,150006,156808,147439,156946,19392,157119,157365,141083,37989,153569,24981,23079,194765,20411,22201,148769,157436,20074,149812,38486,28047,158909,13848,35191,157593,157806,156689,157790,29151,157895,31554,168128,133649,157990,37124,158009,31301,40432,158202,39462,158253,13919,156777,131105,31107,158260,158555,23852,144665,33743,158621,18128,158884,30011,34917,159150,22710,14108,140685,159819,160205,15444,160384,160389,37505,139642,160395,37680,160486,149968,27705,38047,160848,134904,34855,35061,141606,164979,137137,28344,150058,137248,14756,14009,23568,31203,17727,26294,171181,170148,35139,161740,161880,22230,16607,136714,14753,145199,164072,136133,29101,33638,162269,168360,23143,19639,159919,166315,162301,162314,162571,163174,147834,31555,31102,163849,28597,172767,27139,164632,21410,159239,37823,26678,38749,164207,163875,158133,136173,143919,163912,23941,166960,163971,22293,38947,166217,23979,149896,26046,27093,21458,150181,147329,15377,26422,163984,164084,164142,139169,164175,164233,164271,164378,164614,164655,164746,13770,164968,165546,18682,25574,166230,30728,37461,166328,17394,166375,17375,166376,166726,166868,23032,166921,36619,167877,168172,31569,168208,168252,15863,168286,150218,36816,29327,22155,169191,169449,169392,169400,169778,170193,170313,170346,170435,170536,170766,171354,171419,32415,171768,171811,19620,38215,172691,29090,172799,19857,36882,173515,19868,134300,36798,21953,36794,140464,36793,150163,17673,32383,28502,27313,20202,13540,166700,161949,14138,36480,137205,163876,166764,166809,162366,157359,15851,161365,146615,153141,153942,20122,155265,156248,22207,134765,36366,23405,147080,150686,25566,25296,137206,137339,25904,22061,154698,21530,152337,15814,171416,19581,22050,22046,32585,155352,22901,146752,34672,19996,135146,134473,145082,33047,40286,36120,30267,40005,30286,30649,37701,21554,33096,33527,22053,33074,33816,32957,21994,31074,22083,21526,134813,13774,22021,22001,26353,164578,13869,30004,22000,21946,21655,21874,134209,134294,24272,151880,134774,142434,134818,40619,32090,21982,135285,25245,38765,21652,36045,29174,37238,25596,25529,25598,21865,142147,40050,143027,20890,13535,134567,20903,21581,21790,21779,30310,36397,157834,30129,32950,34820,34694,35015,33206,33820,135361,17644,29444,149254,23440,33547,157843,22139,141044,163119,147875,163187,159440,160438,37232,135641,37384,146684,173737,134828,134905,29286,138402,18254,151490,163833,135147,16634,40029,25887,142752,18675,149472,171388,135148,134666,24674,161187,135149,null,155720,135559,29091,32398,40272,19994,19972,13687,23309,27826,21351,13996,14812,21373,13989,149016,22682,150382,33325,21579,22442,154261,133497,null,14930,140389,29556,171692,19721,39917,146686,171824,19547,151465,169374,171998,33884,146870,160434,157619,145184,25390,32037,147191,146988,14890,36872,21196,15988,13946,17897,132238,30272,23280,134838,30842,163630,22695,16575,22140,39819,23924,30292,173108,40581,19681,30201,14331,24857,143578,148466,null,22109,135849,22439,149859,171526,21044,159918,13741,27722,40316,31830,39737,22494,137068,23635,25811,169168,156469,160100,34477,134440,159010,150242,134513,null,20990,139023,23950,38659,138705,40577,36940,31519,39682,23761,31651,25192,25397,39679,31695,39722,31870,39726,31810,31878,39957,31740,39689,40727,39963,149822,40794,21875,23491,20477,40600,20466,21088,15878,21201,22375,20566,22967,24082,38856,40363,36700,21609,38836,39232,38842,21292,24880,26924,21466,39946,40194,19515,38465,27008,20646,30022,137069,39386,21107,null,37209,38529,37212,null,37201,167575,25471,159011,27338,22033,37262,30074,25221,132092,29519,31856,154657,146685,null,149785,30422,39837,20010,134356,33726,34882,null,23626,27072,20717,22394,21023,24053,20174,27697,131570,20281,21660,21722,21146,36226,13822,24332,13811,null,27474,37244,40869,39831,38958,39092,39610,40616,40580,29050,31508,null,27642,34840,32632,null,22048,173642,36471,40787,null,36308,36431,40476,36353,25218,164733,36392,36469,31443,150135,31294,30936,27882,35431,30215,166490,40742,27854,34774,30147,172722,30803,194624,36108,29410,29553,35629,29442,29937,36075,150203,34351,24506,34976,17591,null,137275,159237,null,35454,140571,null,24829,30311,39639,40260,37742,39823,34805,null,34831,36087,29484,38689,39856,13782,29362,19463,31825,39242,155993,24921,19460,40598,24957,null,22367,24943,25254,25145,25294,14940,25058,21418,144373,25444,26626,13778,23895,166850,36826,167481,null,20697,138566,30982,21298,38456,134971,16485,null,30718,null,31938,155418,31962,31277,32870,32867,32077,29957,29938,35220,33306,26380,32866,160902,32859,29936,33027,30500,35209,157644,30035,159441,34729,34766,33224,34700,35401,36013,35651,30507,29944,34010,13877,27058,36262,null,35241,29800,28089,34753,147473,29927,15835,29046,24740,24988,15569,29026,24695,null,32625,166701,29264,24809,19326,21024,15384,146631,155351,161366,152881,137540,135934,170243,159196,159917,23745,156077,166415,145015,131310,157766,151310,17762,23327,156492,40784,40614,156267,12288,65292,12289,12290,65294,8231,65307,65306,65311,65281,65072,8230,8229,65104,65105,65106,183,65108,65109,65110,65111,65372,8211,65073,8212,65075,9588,65076,65103,65288,65289,65077,65078,65371,65373,65079,65080,12308,12309,65081,65082,12304,12305,65083,65084,12298,12299,65085,65086,12296,12297,65087,65088,12300,12301,65089,65090,12302,12303,65091,65092,65113,65114,65115,65116,65117,65118,8216,8217,8220,8221,12317,12318,8245,8242,65283,65286,65290,8251,167,12291,9675,9679,9651,9650,9678,9734,9733,9671,9670,9633,9632,9661,9660,12963,8453,175,65507,65343,717,65097,65098,65101,65102,65099,65100,65119,65120,65121,65291,65293,215,247,177,8730,65308,65310,65309,8806,8807,8800,8734,8786,8801,65122,65123,65124,65125,65126,65374,8745,8746,8869,8736,8735,8895,13266,13265,8747,8750,8757,8756,9792,9794,8853,8857,8593,8595,8592,8594,8598,8599,8601,8600,8741,8739,65295,65340,8725,65128,65284,65509,12306,65504,65505,65285,65312,8451,8457,65129,65130,65131,13269,13212,13213,13214,13262,13217,13198,13199,13252,176,20825,20827,20830,20829,20833,20835,21991,29929,31950,9601,9602,9603,9604,9605,9606,9607,9608,9615,9614,9613,9612,9611,9610,9609,9532,9524,9516,9508,9500,9620,9472,9474,9621,9484,9488,9492,9496,9581,9582,9584,9583,9552,9566,9578,9569,9698,9699,9701,9700,9585,9586,9587,65296,65297,65298,65299,65300,65301,65302,65303,65304,65305,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,12321,12322,12323,12324,12325,12326,12327,12328,12329,21313,21316,21317,65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,65345,65346,65347,65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,963,964,965,966,967,968,969,12549,12550,12551,12552,12553,12554,12555,12556,12557,12558,12559,12560,12561,12562,12563,12564,12565,12566,12567,12568,12569,12570,12571,12572,12573,12574,12575,12576,12577,12578,12579,12580,12581,12582,12583,12584,12585,729,713,714,711,715,9216,9217,9218,9219,9220,9221,9222,9223,9224,9225,9226,9227,9228,9229,9230,9231,9232,9233,9234,9235,9236,9237,9238,9239,9240,9241,9242,9243,9244,9245,9246,9247,9249,8364,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,19968,20057,19969,19971,20035,20061,20102,20108,20154,20799,20837,20843,20960,20992,20993,21147,21269,21313,21340,21448,19977,19979,19976,19978,20011,20024,20961,20037,20040,20063,20062,20110,20129,20800,20995,21242,21315,21449,21475,22303,22763,22805,22823,22899,23376,23377,23379,23544,23567,23586,23608,23665,24029,24037,24049,24050,24051,24062,24178,24318,24331,24339,25165,19985,19984,19981,20013,20016,20025,20043,23609,20104,20113,20117,20114,20116,20130,20161,20160,20163,20166,20167,20173,20170,20171,20164,20803,20801,20839,20845,20846,20844,20887,20982,20998,20999,21000,21243,21246,21247,21270,21305,21320,21319,21317,21342,21380,21451,21450,21453,22764,22825,22827,22826,22829,23380,23569,23588,23610,23663,24052,24187,24319,24340,24341,24515,25096,25142,25163,25166,25903,25991,26007,26020,26041,26085,26352,26376,26408,27424,27490,27513,27595,27604,27611,27663,27700,28779,29226,29238,29243,29255,29273,29275,29356,29579,19993,19990,19989,19988,19992,20027,20045,20047,20046,20197,20184,20180,20181,20182,20183,20195,20196,20185,20190,20805,20804,20873,20874,20908,20985,20986,20984,21002,21152,21151,21253,21254,21271,21277,20191,21322,21321,21345,21344,21359,21358,21435,21487,21476,21491,21484,21486,21481,21480,21500,21496,21493,21483,21478,21482,21490,21489,21488,21477,21485,21499,22235,22234,22806,22830,22833,22900,22902,23381,23427,23612,24040,24039,24038,24066,24067,24179,24188,24321,24344,24343,24517,25098,25171,25172,25170,25169,26021,26086,26414,26412,26410,26411,26413,27491,27597,27665,27664,27704,27713,27712,27710,29359,29572,29577,29916,29926,29976,29983,29992,29993,30000,30001,30002,30003,30091,30333,30382,30399,30446,30683,30690,30707,31034,31166,31348,31435,19998,19999,20050,20051,20073,20121,20132,20134,20133,20223,20233,20249,20234,20245,20237,20240,20241,20239,20210,20214,20219,20208,20211,20221,20225,20235,20809,20807,20806,20808,20840,20849,20877,20912,21015,21009,21010,21006,21014,21155,21256,21281,21280,21360,21361,21513,21519,21516,21514,21520,21505,21515,21508,21521,21517,21512,21507,21518,21510,21522,22240,22238,22237,22323,22320,22312,22317,22316,22319,22313,22809,22810,22839,22840,22916,22904,22915,22909,22905,22914,22913,23383,23384,23431,23432,23429,23433,23546,23574,23673,24030,24070,24182,24180,24335,24347,24537,24534,25102,25100,25101,25104,25187,25179,25176,25910,26089,26088,26092,26093,26354,26355,26377,26429,26420,26417,26421,27425,27492,27515,27670,27741,27735,27737,27743,27744,27728,27733,27745,27739,27725,27726,28784,29279,29277,30334,31481,31859,31992,32566,32650,32701,32769,32771,32780,32786,32819,32895,32905,32907,32908,33251,33258,33267,33276,33292,33307,33311,33390,33394,33406,34411,34880,34892,34915,35199,38433,20018,20136,20301,20303,20295,20311,20318,20276,20315,20309,20272,20304,20305,20285,20282,20280,20291,20308,20284,20294,20323,20316,20320,20271,20302,20278,20313,20317,20296,20314,20812,20811,20813,20853,20918,20919,21029,21028,21033,21034,21032,21163,21161,21162,21164,21283,21363,21365,21533,21549,21534,21566,21542,21582,21543,21574,21571,21555,21576,21570,21531,21545,21578,21561,21563,21560,21550,21557,21558,21536,21564,21568,21553,21547,21535,21548,22250,22256,22244,22251,22346,22353,22336,22349,22343,22350,22334,22352,22351,22331,22767,22846,22941,22930,22952,22942,22947,22937,22934,22925,22948,22931,22922,22949,23389,23388,23386,23387,23436,23435,23439,23596,23616,23617,23615,23614,23696,23697,23700,23692,24043,24076,24207,24199,24202,24311,24324,24351,24420,24418,24439,24441,24536,24524,24535,24525,24561,24555,24568,24554,25106,25105,25220,25239,25238,25216,25206,25225,25197,25226,25212,25214,25209,25203,25234,25199,25240,25198,25237,25235,25233,25222,25913,25915,25912,26097,26356,26463,26446,26447,26448,26449,26460,26454,26462,26441,26438,26464,26451,26455,27493,27599,27714,27742,27801,27777,27784,27785,27781,27803,27754,27770,27792,27760,27788,27752,27798,27794,27773,27779,27762,27774,27764,27782,27766,27789,27796,27800,27778,28790,28796,28797,28792,29282,29281,29280,29380,29378,29590,29996,29995,30007,30008,30338,30447,30691,31169,31168,31167,31350,31995,32597,32918,32915,32925,32920,32923,32922,32946,33391,33426,33419,33421,35211,35282,35328,35895,35910,35925,35997,36196,36208,36275,36523,36554,36763,36784,36802,36806,36805,36804,24033,37009,37026,37034,37030,37027,37193,37318,37324,38450,38446,38449,38442,38444,20006,20054,20083,20107,20123,20126,20139,20140,20335,20381,20365,20339,20351,20332,20379,20363,20358,20355,20336,20341,20360,20329,20347,20374,20350,20367,20369,20346,20820,20818,20821,20841,20855,20854,20856,20925,20989,21051,21048,21047,21050,21040,21038,21046,21057,21182,21179,21330,21332,21331,21329,21350,21367,21368,21369,21462,21460,21463,21619,21621,21654,21624,21653,21632,21627,21623,21636,21650,21638,21628,21648,21617,21622,21644,21658,21602,21608,21643,21629,21646,22266,22403,22391,22378,22377,22369,22374,22372,22396,22812,22857,22855,22856,22852,22868,22974,22971,22996,22969,22958,22993,22982,22992,22989,22987,22995,22986,22959,22963,22994,22981,23391,23396,23395,23447,23450,23448,23452,23449,23451,23578,23624,23621,23622,23735,23713,23736,23721,23723,23729,23731,24088,24090,24086,24085,24091,24081,24184,24218,24215,24220,24213,24214,24310,24358,24359,24361,24448,24449,24447,24444,24541,24544,24573,24565,24575,24591,24596,24623,24629,24598,24618,24597,24609,24615,24617,24619,24603,25110,25109,25151,25150,25152,25215,25289,25292,25284,25279,25282,25273,25298,25307,25259,25299,25300,25291,25288,25256,25277,25276,25296,25305,25287,25293,25269,25306,25265,25304,25302,25303,25286,25260,25294,25918,26023,26044,26106,26132,26131,26124,26118,26114,26126,26112,26127,26133,26122,26119,26381,26379,26477,26507,26517,26481,26524,26483,26487,26503,26525,26519,26479,26480,26495,26505,26494,26512,26485,26522,26515,26492,26474,26482,27427,27494,27495,27519,27667,27675,27875,27880,27891,27825,27852,27877,27827,27837,27838,27836,27874,27819,27861,27859,27832,27844,27833,27841,27822,27863,27845,27889,27839,27835,27873,27867,27850,27820,27887,27868,27862,27872,28821,28814,28818,28810,28825,29228,29229,29240,29256,29287,29289,29376,29390,29401,29399,29392,29609,29608,29599,29611,29605,30013,30109,30105,30106,30340,30402,30450,30452,30693,30717,31038,31040,31041,31177,31176,31354,31353,31482,31998,32596,32652,32651,32773,32954,32933,32930,32945,32929,32939,32937,32948,32938,32943,33253,33278,33293,33459,33437,33433,33453,33469,33439,33465,33457,33452,33445,33455,33464,33443,33456,33470,33463,34382,34417,21021,34920,36555,36814,36820,36817,37045,37048,37041,37046,37319,37329,38263,38272,38428,38464,38463,38459,38468,38466,38585,38632,38738,38750,20127,20141,20142,20449,20405,20399,20415,20448,20433,20431,20445,20419,20406,20440,20447,20426,20439,20398,20432,20420,20418,20442,20430,20446,20407,20823,20882,20881,20896,21070,21059,21066,21069,21068,21067,21063,21191,21193,21187,21185,21261,21335,21371,21402,21467,21676,21696,21672,21710,21705,21688,21670,21683,21703,21698,21693,21674,21697,21700,21704,21679,21675,21681,21691,21673,21671,21695,22271,22402,22411,22432,22435,22434,22478,22446,22419,22869,22865,22863,22862,22864,23004,23000,23039,23011,23016,23043,23013,23018,23002,23014,23041,23035,23401,23459,23462,23460,23458,23461,23553,23630,23631,23629,23627,23769,23762,24055,24093,24101,24095,24189,24224,24230,24314,24328,24365,24421,24456,24453,24458,24459,24455,24460,24457,24594,24605,24608,24613,24590,24616,24653,24688,24680,24674,24646,24643,24684,24683,24682,24676,25153,25308,25366,25353,25340,25325,25345,25326,25341,25351,25329,25335,25327,25324,25342,25332,25361,25346,25919,25925,26027,26045,26082,26149,26157,26144,26151,26159,26143,26152,26161,26148,26359,26623,26579,26609,26580,26576,26604,26550,26543,26613,26601,26607,26564,26577,26548,26586,26597,26552,26575,26590,26611,26544,26585,26594,26589,26578,27498,27523,27526,27573,27602,27607,27679,27849,27915,27954,27946,27969,27941,27916,27953,27934,27927,27963,27965,27966,27958,27931,27893,27961,27943,27960,27945,27950,27957,27918,27947,28843,28858,28851,28844,28847,28845,28856,28846,28836,29232,29298,29295,29300,29417,29408,29409,29623,29642,29627,29618,29645,29632,29619,29978,29997,30031,30028,30030,30027,30123,30116,30117,30114,30115,30328,30342,30343,30344,30408,30406,30403,30405,30465,30457,30456,30473,30475,30462,30460,30471,30684,30722,30740,30732,30733,31046,31049,31048,31047,31161,31162,31185,31186,31179,31359,31361,31487,31485,31869,32002,32005,32000,32009,32007,32004,32006,32568,32654,32703,32772,32784,32781,32785,32822,32982,32997,32986,32963,32964,32972,32993,32987,32974,32990,32996,32989,33268,33314,33511,33539,33541,33507,33499,33510,33540,33509,33538,33545,33490,33495,33521,33537,33500,33492,33489,33502,33491,33503,33519,33542,34384,34425,34427,34426,34893,34923,35201,35284,35336,35330,35331,35998,36000,36212,36211,36276,36557,36556,36848,36838,36834,36842,36837,36845,36843,36836,36840,37066,37070,37057,37059,37195,37194,37325,38274,38480,38475,38476,38477,38754,38761,38859,38893,38899,38913,39080,39131,39135,39318,39321,20056,20147,20492,20493,20515,20463,20518,20517,20472,20521,20502,20486,20540,20511,20506,20498,20497,20474,20480,20500,20520,20465,20513,20491,20505,20504,20467,20462,20525,20522,20478,20523,20489,20860,20900,20901,20898,20941,20940,20934,20939,21078,21084,21076,21083,21085,21290,21375,21407,21405,21471,21736,21776,21761,21815,21756,21733,21746,21766,21754,21780,21737,21741,21729,21769,21742,21738,21734,21799,21767,21757,21775,22275,22276,22466,22484,22475,22467,22537,22799,22871,22872,22874,23057,23064,23068,23071,23067,23059,23020,23072,23075,23081,23077,23052,23049,23403,23640,23472,23475,23478,23476,23470,23477,23481,23480,23556,23633,23637,23632,23789,23805,23803,23786,23784,23792,23798,23809,23796,24046,24109,24107,24235,24237,24231,24369,24466,24465,24464,24665,24675,24677,24656,24661,24685,24681,24687,24708,24735,24730,24717,24724,24716,24709,24726,25159,25331,25352,25343,25422,25406,25391,25429,25410,25414,25423,25417,25402,25424,25405,25386,25387,25384,25421,25420,25928,25929,26009,26049,26053,26178,26185,26191,26179,26194,26188,26181,26177,26360,26388,26389,26391,26657,26680,26696,26694,26707,26681,26690,26708,26665,26803,26647,26700,26705,26685,26612,26704,26688,26684,26691,26666,26693,26643,26648,26689,27530,27529,27575,27683,27687,27688,27686,27684,27888,28010,28053,28040,28039,28006,28024,28023,27993,28051,28012,28041,28014,27994,28020,28009,28044,28042,28025,28037,28005,28052,28874,28888,28900,28889,28872,28879,29241,29305,29436,29433,29437,29432,29431,29574,29677,29705,29678,29664,29674,29662,30036,30045,30044,30042,30041,30142,30149,30151,30130,30131,30141,30140,30137,30146,30136,30347,30384,30410,30413,30414,30505,30495,30496,30504,30697,30768,30759,30776,30749,30772,30775,30757,30765,30752,30751,30770,31061,31056,31072,31071,31062,31070,31069,31063,31066,31204,31203,31207,31199,31206,31209,31192,31364,31368,31449,31494,31505,31881,32033,32023,32011,32010,32032,32034,32020,32016,32021,32026,32028,32013,32025,32027,32570,32607,32660,32709,32705,32774,32792,32789,32793,32791,32829,32831,33009,33026,33008,33029,33005,33012,33030,33016,33011,33032,33021,33034,33020,33007,33261,33260,33280,33296,33322,33323,33320,33324,33467,33579,33618,33620,33610,33592,33616,33609,33589,33588,33615,33586,33593,33590,33559,33600,33585,33576,33603,34388,34442,34474,34451,34468,34473,34444,34467,34460,34928,34935,34945,34946,34941,34937,35352,35344,35342,35340,35349,35338,35351,35347,35350,35343,35345,35912,35962,35961,36001,36002,36215,36524,36562,36564,36559,36785,36865,36870,36855,36864,36858,36852,36867,36861,36869,36856,37013,37089,37085,37090,37202,37197,37196,37336,37341,37335,37340,37337,38275,38498,38499,38497,38491,38493,38500,38488,38494,38587,39138,39340,39592,39640,39717,39730,39740,20094,20602,20605,20572,20551,20547,20556,20570,20553,20581,20598,20558,20565,20597,20596,20599,20559,20495,20591,20589,20828,20885,20976,21098,21103,21202,21209,21208,21205,21264,21263,21273,21311,21312,21310,21443,26364,21830,21866,21862,21828,21854,21857,21827,21834,21809,21846,21839,21845,21807,21860,21816,21806,21852,21804,21859,21811,21825,21847,22280,22283,22281,22495,22533,22538,22534,22496,22500,22522,22530,22581,22519,22521,22816,22882,23094,23105,23113,23142,23146,23104,23100,23138,23130,23110,23114,23408,23495,23493,23492,23490,23487,23494,23561,23560,23559,23648,23644,23645,23815,23814,23822,23835,23830,23842,23825,23849,23828,23833,23844,23847,23831,24034,24120,24118,24115,24119,24247,24248,24246,24245,24254,24373,24375,24407,24428,24425,24427,24471,24473,24478,24472,24481,24480,24476,24703,24739,24713,24736,24744,24779,24756,24806,24765,24773,24763,24757,24796,24764,24792,24789,24774,24799,24760,24794,24775,25114,25115,25160,25504,25511,25458,25494,25506,25509,25463,25447,25496,25514,25457,25513,25481,25475,25499,25451,25512,25476,25480,25497,25505,25516,25490,25487,25472,25467,25449,25448,25466,25949,25942,25937,25945,25943,21855,25935,25944,25941,25940,26012,26011,26028,26063,26059,26060,26062,26205,26202,26212,26216,26214,26206,26361,21207,26395,26753,26799,26786,26771,26805,26751,26742,26801,26791,26775,26800,26755,26820,26797,26758,26757,26772,26781,26792,26783,26785,26754,27442,27578,27627,27628,27691,28046,28092,28147,28121,28082,28129,28108,28132,28155,28154,28165,28103,28107,28079,28113,28078,28126,28153,28088,28151,28149,28101,28114,28186,28085,28122,28139,28120,28138,28145,28142,28136,28102,28100,28074,28140,28095,28134,28921,28937,28938,28925,28911,29245,29309,29313,29468,29467,29462,29459,29465,29575,29701,29706,29699,29702,29694,29709,29920,29942,29943,29980,29986,30053,30054,30050,30064,30095,30164,30165,30133,30154,30157,30350,30420,30418,30427,30519,30526,30524,30518,30520,30522,30827,30787,30798,31077,31080,31085,31227,31378,31381,31520,31528,31515,31532,31526,31513,31518,31534,31890,31895,31893,32070,32067,32113,32046,32057,32060,32064,32048,32051,32068,32047,32066,32050,32049,32573,32670,32666,32716,32718,32722,32796,32842,32838,33071,33046,33059,33067,33065,33072,33060,33282,33333,33335,33334,33337,33678,33694,33688,33656,33698,33686,33725,33707,33682,33674,33683,33673,33696,33655,33659,33660,33670,33703,34389,24426,34503,34496,34486,34500,34485,34502,34507,34481,34479,34505,34899,34974,34952,34987,34962,34966,34957,34955,35219,35215,35370,35357,35363,35365,35377,35373,35359,35355,35362,35913,35930,36009,36012,36011,36008,36010,36007,36199,36198,36286,36282,36571,36575,36889,36877,36890,36887,36899,36895,36893,36880,36885,36894,36896,36879,36898,36886,36891,36884,37096,37101,37117,37207,37326,37365,37350,37347,37351,37357,37353,38281,38506,38517,38515,38520,38512,38516,38518,38519,38508,38592,38634,38633,31456,31455,38914,38915,39770,40165,40565,40575,40613,40635,20642,20621,20613,20633,20625,20608,20630,20632,20634,26368,20977,21106,21108,21109,21097,21214,21213,21211,21338,21413,21883,21888,21927,21884,21898,21917,21912,21890,21916,21930,21908,21895,21899,21891,21939,21934,21919,21822,21938,21914,21947,21932,21937,21886,21897,21931,21913,22285,22575,22570,22580,22564,22576,22577,22561,22557,22560,22777,22778,22880,23159,23194,23167,23186,23195,23207,23411,23409,23506,23500,23507,23504,23562,23563,23601,23884,23888,23860,23879,24061,24133,24125,24128,24131,24190,24266,24257,24258,24260,24380,24429,24489,24490,24488,24785,24801,24754,24758,24800,24860,24867,24826,24853,24816,24827,24820,24936,24817,24846,24822,24841,24832,24850,25119,25161,25507,25484,25551,25536,25577,25545,25542,25549,25554,25571,25552,25569,25558,25581,25582,25462,25588,25578,25563,25682,25562,25593,25950,25958,25954,25955,26001,26000,26031,26222,26224,26228,26230,26223,26257,26234,26238,26231,26366,26367,26399,26397,26874,26837,26848,26840,26839,26885,26847,26869,26862,26855,26873,26834,26866,26851,26827,26829,26893,26898,26894,26825,26842,26990,26875,27454,27450,27453,27544,27542,27580,27631,27694,27695,27692,28207,28216,28244,28193,28210,28263,28234,28192,28197,28195,28187,28251,28248,28196,28246,28270,28205,28198,28271,28212,28237,28218,28204,28227,28189,28222,28363,28297,28185,28238,28259,28228,28274,28265,28255,28953,28954,28966,28976,28961,28982,29038,28956,29260,29316,29312,29494,29477,29492,29481,29754,29738,29747,29730,29733,29749,29750,29748,29743,29723,29734,29736,29989,29990,30059,30058,30178,30171,30179,30169,30168,30174,30176,30331,30332,30358,30355,30388,30428,30543,30701,30813,30828,30831,31245,31240,31243,31237,31232,31384,31383,31382,31461,31459,31561,31574,31558,31568,31570,31572,31565,31563,31567,31569,31903,31909,32094,32080,32104,32085,32043,32110,32114,32097,32102,32098,32112,32115,21892,32724,32725,32779,32850,32901,33109,33108,33099,33105,33102,33081,33094,33086,33100,33107,33140,33298,33308,33769,33795,33784,33805,33760,33733,33803,33729,33775,33777,33780,33879,33802,33776,33804,33740,33789,33778,33738,33848,33806,33796,33756,33799,33748,33759,34395,34527,34521,34541,34516,34523,34532,34512,34526,34903,35009,35010,34993,35203,35222,35387,35424,35413,35422,35388,35393,35412,35419,35408,35398,35380,35386,35382,35414,35937,35970,36015,36028,36019,36029,36033,36027,36032,36020,36023,36022,36031,36024,36234,36229,36225,36302,36317,36299,36314,36305,36300,36315,36294,36603,36600,36604,36764,36910,36917,36913,36920,36914,36918,37122,37109,37129,37118,37219,37221,37327,37396,37397,37411,37385,37406,37389,37392,37383,37393,38292,38287,38283,38289,38291,38290,38286,38538,38542,38539,38525,38533,38534,38541,38514,38532,38593,38597,38596,38598,38599,38639,38642,38860,38917,38918,38920,39143,39146,39151,39145,39154,39149,39342,39341,40643,40653,40657,20098,20653,20661,20658,20659,20677,20670,20652,20663,20667,20655,20679,21119,21111,21117,21215,21222,21220,21218,21219,21295,21983,21992,21971,21990,21966,21980,21959,21969,21987,21988,21999,21978,21985,21957,21958,21989,21961,22290,22291,22622,22609,22616,22615,22618,22612,22635,22604,22637,22602,22626,22610,22603,22887,23233,23241,23244,23230,23229,23228,23219,23234,23218,23913,23919,24140,24185,24265,24264,24338,24409,24492,24494,24858,24847,24904,24863,24819,24859,24825,24833,24840,24910,24908,24900,24909,24894,24884,24871,24845,24838,24887,25121,25122,25619,25662,25630,25642,25645,25661,25644,25615,25628,25620,25613,25654,25622,25623,25606,25964,26015,26032,26263,26249,26247,26248,26262,26244,26264,26253,26371,27028,26989,26970,26999,26976,26964,26997,26928,27010,26954,26984,26987,26974,26963,27001,27014,26973,26979,26971,27463,27506,27584,27583,27603,27645,28322,28335,28371,28342,28354,28304,28317,28359,28357,28325,28312,28348,28346,28331,28369,28310,28316,28356,28372,28330,28327,28340,29006,29017,29033,29028,29001,29031,29020,29036,29030,29004,29029,29022,28998,29032,29014,29242,29266,29495,29509,29503,29502,29807,29786,29781,29791,29790,29761,29759,29785,29787,29788,30070,30072,30208,30192,30209,30194,30193,30202,30207,30196,30195,30430,30431,30555,30571,30566,30558,30563,30585,30570,30572,30556,30565,30568,30562,30702,30862,30896,30871,30872,30860,30857,30844,30865,30867,30847,31098,31103,31105,33836,31165,31260,31258,31264,31252,31263,31262,31391,31392,31607,31680,31584,31598,31591,31921,31923,31925,32147,32121,32145,32129,32143,32091,32622,32617,32618,32626,32681,32680,32676,32854,32856,32902,32900,33137,33136,33144,33125,33134,33139,33131,33145,33146,33126,33285,33351,33922,33911,33853,33841,33909,33894,33899,33865,33900,33883,33852,33845,33889,33891,33897,33901,33862,34398,34396,34399,34553,34579,34568,34567,34560,34558,34555,34562,34563,34566,34570,34905,35039,35028,35033,35036,35032,35037,35041,35018,35029,35026,35228,35299,35435,35442,35443,35430,35433,35440,35463,35452,35427,35488,35441,35461,35437,35426,35438,35436,35449,35451,35390,35432,35938,35978,35977,36042,36039,36040,36036,36018,36035,36034,36037,36321,36319,36328,36335,36339,36346,36330,36324,36326,36530,36611,36617,36606,36618,36767,36786,36939,36938,36947,36930,36948,36924,36949,36944,36935,36943,36942,36941,36945,36926,36929,37138,37143,37228,37226,37225,37321,37431,37463,37432,37437,37440,37438,37467,37451,37476,37457,37428,37449,37453,37445,37433,37439,37466,38296,38552,38548,38549,38605,38603,38601,38602,38647,38651,38649,38646,38742,38772,38774,38928,38929,38931,38922,38930,38924,39164,39156,39165,39166,39347,39345,39348,39649,40169,40578,40718,40723,40736,20711,20718,20709,20694,20717,20698,20693,20687,20689,20721,20686,20713,20834,20979,21123,21122,21297,21421,22014,22016,22043,22039,22013,22036,22022,22025,22029,22030,22007,22038,22047,22024,22032,22006,22296,22294,22645,22654,22659,22675,22666,22649,22661,22653,22781,22821,22818,22820,22890,22889,23265,23270,23273,23255,23254,23256,23267,23413,23518,23527,23521,23525,23526,23528,23522,23524,23519,23565,23650,23940,23943,24155,24163,24149,24151,24148,24275,24278,24330,24390,24432,24505,24903,24895,24907,24951,24930,24931,24927,24922,24920,24949,25130,25735,25688,25684,25764,25720,25695,25722,25681,25703,25652,25709,25723,25970,26017,26071,26070,26274,26280,26269,27036,27048,27029,27073,27054,27091,27083,27035,27063,27067,27051,27060,27088,27085,27053,27084,27046,27075,27043,27465,27468,27699,28467,28436,28414,28435,28404,28457,28478,28448,28460,28431,28418,28450,28415,28399,28422,28465,28472,28466,28451,28437,28459,28463,28552,28458,28396,28417,28402,28364,28407,29076,29081,29053,29066,29060,29074,29246,29330,29334,29508,29520,29796,29795,29802,29808,29805,29956,30097,30247,30221,30219,30217,30227,30433,30435,30596,30589,30591,30561,30913,30879,30887,30899,30889,30883,31118,31119,31117,31278,31281,31402,31401,31469,31471,31649,31637,31627,31605,31639,31645,31636,31631,31672,31623,31620,31929,31933,31934,32187,32176,32156,32189,32190,32160,32202,32180,32178,32177,32186,32162,32191,32181,32184,32173,32210,32199,32172,32624,32736,32737,32735,32862,32858,32903,33104,33152,33167,33160,33162,33151,33154,33255,33274,33287,33300,33310,33355,33993,33983,33990,33988,33945,33950,33970,33948,33995,33976,33984,34003,33936,33980,34001,33994,34623,34588,34619,34594,34597,34612,34584,34645,34615,34601,35059,35074,35060,35065,35064,35069,35048,35098,35055,35494,35468,35486,35491,35469,35489,35475,35492,35498,35493,35496,35480,35473,35482,35495,35946,35981,35980,36051,36049,36050,36203,36249,36245,36348,36628,36626,36629,36627,36771,36960,36952,36956,36963,36953,36958,36962,36957,36955,37145,37144,37150,37237,37240,37239,37236,37496,37504,37509,37528,37526,37499,37523,37532,37544,37500,37521,38305,38312,38313,38307,38309,38308,38553,38556,38555,38604,38610,38656,38780,38789,38902,38935,38936,39087,39089,39171,39173,39180,39177,39361,39599,39600,39654,39745,39746,40180,40182,40179,40636,40763,40778,20740,20736,20731,20725,20729,20738,20744,20745,20741,20956,21127,21128,21129,21133,21130,21232,21426,22062,22075,22073,22066,22079,22068,22057,22099,22094,22103,22132,22070,22063,22064,22656,22687,22686,22707,22684,22702,22697,22694,22893,23305,23291,23307,23285,23308,23304,23534,23532,23529,23531,23652,23653,23965,23956,24162,24159,24161,24290,24282,24287,24285,24291,24288,24392,24433,24503,24501,24950,24935,24942,24925,24917,24962,24956,24944,24939,24958,24999,24976,25003,24974,25004,24986,24996,24980,25006,25134,25705,25711,25721,25758,25778,25736,25744,25776,25765,25747,25749,25769,25746,25774,25773,25771,25754,25772,25753,25762,25779,25973,25975,25976,26286,26283,26292,26289,27171,27167,27112,27137,27166,27161,27133,27169,27155,27146,27123,27138,27141,27117,27153,27472,27470,27556,27589,27590,28479,28540,28548,28497,28518,28500,28550,28525,28507,28536,28526,28558,28538,28528,28516,28567,28504,28373,28527,28512,28511,29087,29100,29105,29096,29270,29339,29518,29527,29801,29835,29827,29822,29824,30079,30240,30249,30239,30244,30246,30241,30242,30362,30394,30436,30606,30599,30604,30609,30603,30923,30917,30906,30922,30910,30933,30908,30928,31295,31292,31296,31293,31287,31291,31407,31406,31661,31665,31684,31668,31686,31687,31681,31648,31692,31946,32224,32244,32239,32251,32216,32236,32221,32232,32227,32218,32222,32233,32158,32217,32242,32249,32629,32631,32687,32745,32806,33179,33180,33181,33184,33178,33176,34071,34109,34074,34030,34092,34093,34067,34065,34083,34081,34068,34028,34085,34047,34054,34690,34676,34678,34656,34662,34680,34664,34649,34647,34636,34643,34907,34909,35088,35079,35090,35091,35093,35082,35516,35538,35527,35524,35477,35531,35576,35506,35529,35522,35519,35504,35542,35533,35510,35513,35547,35916,35918,35948,36064,36062,36070,36068,36076,36077,36066,36067,36060,36074,36065,36205,36255,36259,36395,36368,36381,36386,36367,36393,36383,36385,36382,36538,36637,36635,36639,36649,36646,36650,36636,36638,36645,36969,36974,36968,36973,36983,37168,37165,37159,37169,37255,37257,37259,37251,37573,37563,37559,37610,37548,37604,37569,37555,37564,37586,37575,37616,37554,38317,38321,38660,38662,38663,38665,38752,38797,38795,38799,38945,38955,38940,39091,39178,39187,39186,39192,39389,39376,39391,39387,39377,39381,39378,39385,39607,39662,39663,39719,39749,39748,39799,39791,40198,40201,40195,40617,40638,40654,22696,40786,20754,20760,20756,20752,20757,20864,20906,20957,21137,21139,21235,22105,22123,22137,22121,22116,22136,22122,22120,22117,22129,22127,22124,22114,22134,22721,22718,22727,22725,22894,23325,23348,23416,23536,23566,24394,25010,24977,25001,24970,25037,25014,25022,25034,25032,25136,25797,25793,25803,25787,25788,25818,25796,25799,25794,25805,25791,25810,25812,25790,25972,26310,26313,26297,26308,26311,26296,27197,27192,27194,27225,27243,27224,27193,27204,27234,27233,27211,27207,27189,27231,27208,27481,27511,27653,28610,28593,28577,28611,28580,28609,28583,28595,28608,28601,28598,28582,28576,28596,29118,29129,29136,29138,29128,29141,29113,29134,29145,29148,29123,29124,29544,29852,29859,29848,29855,29854,29922,29964,29965,30260,30264,30266,30439,30437,30624,30622,30623,30629,30952,30938,30956,30951,31142,31309,31310,31302,31308,31307,31418,31705,31761,31689,31716,31707,31713,31721,31718,31957,31958,32266,32273,32264,32283,32291,32286,32285,32265,32272,32633,32690,32752,32753,32750,32808,33203,33193,33192,33275,33288,33368,33369,34122,34137,34120,34152,34153,34115,34121,34157,34154,34142,34691,34719,34718,34722,34701,34913,35114,35122,35109,35115,35105,35242,35238,35558,35578,35563,35569,35584,35548,35559,35566,35582,35585,35586,35575,35565,35571,35574,35580,35947,35949,35987,36084,36420,36401,36404,36418,36409,36405,36667,36655,36664,36659,36776,36774,36981,36980,36984,36978,36988,36986,37172,37266,37664,37686,37624,37683,37679,37666,37628,37675,37636,37658,37648,37670,37665,37653,37678,37657,38331,38567,38568,38570,38613,38670,38673,38678,38669,38675,38671,38747,38748,38758,38808,38960,38968,38971,38967,38957,38969,38948,39184,39208,39198,39195,39201,39194,39405,39394,39409,39608,39612,39675,39661,39720,39825,40213,40227,40230,40232,40210,40219,40664,40660,40845,40860,20778,20767,20769,20786,21237,22158,22144,22160,22149,22151,22159,22741,22739,22737,22734,23344,23338,23332,23418,23607,23656,23996,23994,23997,23992,24171,24396,24509,25033,25026,25031,25062,25035,25138,25140,25806,25802,25816,25824,25840,25830,25836,25841,25826,25837,25986,25987,26329,26326,27264,27284,27268,27298,27292,27355,27299,27262,27287,27280,27296,27484,27566,27610,27656,28632,28657,28639,28640,28635,28644,28651,28655,28544,28652,28641,28649,28629,28654,28656,29159,29151,29166,29158,29157,29165,29164,29172,29152,29237,29254,29552,29554,29865,29872,29862,29864,30278,30274,30284,30442,30643,30634,30640,30636,30631,30637,30703,30967,30970,30964,30959,30977,31143,31146,31319,31423,31751,31757,31742,31735,31756,31712,31968,31964,31966,31970,31967,31961,31965,32302,32318,32326,32311,32306,32323,32299,32317,32305,32325,32321,32308,32313,32328,32309,32319,32303,32580,32755,32764,32881,32882,32880,32879,32883,33222,33219,33210,33218,33216,33215,33213,33225,33214,33256,33289,33393,34218,34180,34174,34204,34193,34196,34223,34203,34183,34216,34186,34407,34752,34769,34739,34770,34758,34731,34747,34746,34760,34763,35131,35126,35140,35128,35133,35244,35598,35607,35609,35611,35594,35616,35613,35588,35600,35905,35903,35955,36090,36093,36092,36088,36091,36264,36425,36427,36424,36426,36676,36670,36674,36677,36671,36991,36989,36996,36993,36994,36992,37177,37283,37278,37276,37709,37762,37672,37749,37706,37733,37707,37656,37758,37740,37723,37744,37722,37716,38346,38347,38348,38344,38342,38577,38584,38614,38684,38686,38816,38867,38982,39094,39221,39425,39423,39854,39851,39850,39853,40251,40255,40587,40655,40670,40668,40669,40667,40766,40779,21474,22165,22190,22745,22744,23352,24413,25059,25139,25844,25842,25854,25862,25850,25851,25847,26039,26332,26406,27315,27308,27331,27323,27320,27330,27310,27311,27487,27512,27567,28681,28683,28670,28678,28666,28689,28687,29179,29180,29182,29176,29559,29557,29863,29887,29973,30294,30296,30290,30653,30655,30651,30652,30990,31150,31329,31330,31328,31428,31429,31787,31783,31786,31774,31779,31777,31975,32340,32341,32350,32346,32353,32338,32345,32584,32761,32763,32887,32886,33229,33231,33290,34255,34217,34253,34256,34249,34224,34234,34233,34214,34799,34796,34802,34784,35206,35250,35316,35624,35641,35628,35627,35920,36101,36441,36451,36454,36452,36447,36437,36544,36681,36685,36999,36995,37000,37291,37292,37328,37780,37770,37782,37794,37811,37806,37804,37808,37784,37786,37783,38356,38358,38352,38357,38626,38620,38617,38619,38622,38692,38819,38822,38829,38905,38989,38991,38988,38990,38995,39098,39230,39231,39229,39214,39333,39438,39617,39683,39686,39759,39758,39757,39882,39881,39933,39880,39872,40273,40285,40288,40672,40725,40748,20787,22181,22750,22751,22754,23541,40848,24300,25074,25079,25078,25077,25856,25871,26336,26333,27365,27357,27354,27347,28699,28703,28712,28698,28701,28693,28696,29190,29197,29272,29346,29560,29562,29885,29898,29923,30087,30086,30303,30305,30663,31001,31153,31339,31337,31806,31807,31800,31805,31799,31808,32363,32365,32377,32361,32362,32645,32371,32694,32697,32696,33240,34281,34269,34282,34261,34276,34277,34295,34811,34821,34829,34809,34814,35168,35167,35158,35166,35649,35676,35672,35657,35674,35662,35663,35654,35673,36104,36106,36476,36466,36487,36470,36460,36474,36468,36692,36686,36781,37002,37003,37297,37294,37857,37841,37855,37827,37832,37852,37853,37846,37858,37837,37848,37860,37847,37864,38364,38580,38627,38698,38695,38753,38876,38907,39006,39000,39003,39100,39237,39241,39446,39449,39693,39912,39911,39894,39899,40329,40289,40306,40298,40300,40594,40599,40595,40628,21240,22184,22199,22198,22196,22204,22756,23360,23363,23421,23542,24009,25080,25082,25880,25876,25881,26342,26407,27372,28734,28720,28722,29200,29563,29903,30306,30309,31014,31018,31020,31019,31431,31478,31820,31811,31821,31983,31984,36782,32381,32380,32386,32588,32768,33242,33382,34299,34297,34321,34298,34310,34315,34311,34314,34836,34837,35172,35258,35320,35696,35692,35686,35695,35679,35691,36111,36109,36489,36481,36485,36482,37300,37323,37912,37891,37885,38369,38704,39108,39250,39249,39336,39467,39472,39479,39477,39955,39949,40569,40629,40680,40751,40799,40803,40801,20791,20792,22209,22208,22210,22804,23660,24013,25084,25086,25885,25884,26005,26345,27387,27396,27386,27570,28748,29211,29351,29910,29908,30313,30675,31824,32399,32396,32700,34327,34349,34330,34851,34850,34849,34847,35178,35180,35261,35700,35703,35709,36115,36490,36493,36491,36703,36783,37306,37934,37939,37941,37946,37944,37938,37931,38370,38712,38713,38706,38911,39015,39013,39255,39493,39491,39488,39486,39631,39764,39761,39981,39973,40367,40372,40386,40376,40605,40687,40729,40796,40806,40807,20796,20795,22216,22218,22217,23423,24020,24018,24398,25087,25892,27402,27489,28753,28760,29568,29924,30090,30318,30316,31155,31840,31839,32894,32893,33247,35186,35183,35324,35712,36118,36119,36497,36499,36705,37192,37956,37969,37970,38717,38718,38851,38849,39019,39253,39509,39501,39634,39706,40009,39985,39998,39995,40403,40407,40756,40812,40810,40852,22220,24022,25088,25891,25899,25898,26348,27408,29914,31434,31844,31843,31845,32403,32406,32404,33250,34360,34367,34865,35722,37008,37007,37987,37984,37988,38760,39023,39260,39514,39515,39511,39635,39636,39633,40020,40023,40022,40421,40607,40692,22225,22761,25900,28766,30321,30322,30679,32592,32648,34870,34873,34914,35731,35730,35734,33399,36123,37312,37994,38722,38728,38724,38854,39024,39519,39714,39768,40031,40441,40442,40572,40573,40711,40823,40818,24307,27414,28771,31852,31854,34875,35264,36513,37313,38002,38000,39025,39262,39638,39715,40652,28772,30682,35738,38007,38857,39522,39525,32412,35740,36522,37317,38013,38014,38012,40055,40056,40695,35924,38015,40474,29224,39530,39729,40475,40478,31858,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,9332,9333,9334,9335,9336,9337,9338,9339,9340,9341,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,20022,20031,20101,20128,20866,20886,20907,21241,21304,21353,21430,22794,23424,24027,12083,24191,24308,24400,24417,25908,26080,30098,30326,36789,38582,168,710,12541,12542,12445,12446,12291,20189,12293,12294,12295,12540,65339,65341,10045,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,12435,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,12484,12485,12486,12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523,12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,8679,8632,8633,12751,131276,20058,131210,20994,17553,40880,20872,40881,161287,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,65506,65508,65287,65282,12849,8470,8481,12443,12444,11904,11908,11910,11911,11912,11914,11916,11917,11925,11932,11933,11941,11943,11946,11948,11950,11958,11964,11966,11974,11978,11980,11981,11983,11990,11991,11998,12003,null,null,null,643,592,603,596,629,339,248,331,650,618,20034,20060,20981,21274,21378,19975,19980,20039,20109,22231,64012,23662,24435,19983,20871,19982,20014,20115,20162,20169,20168,20888,21244,21356,21433,22304,22787,22828,23568,24063,26081,27571,27596,27668,29247,20017,20028,20200,20188,20201,20193,20189,20186,21004,21276,21324,22306,22307,22807,22831,23425,23428,23570,23611,23668,23667,24068,24192,24194,24521,25097,25168,27669,27702,27715,27711,27707,29358,29360,29578,31160,32906,38430,20238,20248,20268,20213,20244,20209,20224,20215,20232,20253,20226,20229,20258,20243,20228,20212,20242,20913,21011,21001,21008,21158,21282,21279,21325,21386,21511,22241,22239,22318,22314,22324,22844,22912,22908,22917,22907,22910,22903,22911,23382,23573,23589,23676,23674,23675,23678,24031,24181,24196,24322,24346,24436,24533,24532,24527,25180,25182,25188,25185,25190,25186,25177,25184,25178,25189,26095,26094,26430,26425,26424,26427,26426,26431,26428,26419,27672,27718,27730,27740,27727,27722,27732,27723,27724,28785,29278,29364,29365,29582,29994,30335,31349,32593,33400,33404,33408,33405,33407,34381,35198,37017,37015,37016,37019,37012,38434,38436,38432,38435,20310,20283,20322,20297,20307,20324,20286,20327,20306,20319,20289,20312,20269,20275,20287,20321,20879,20921,21020,21022,21025,21165,21166,21257,21347,21362,21390,21391,21552,21559,21546,21588,21573,21529,21532,21541,21528,21565,21583,21569,21544,21540,21575,22254,22247,22245,22337,22341,22348,22345,22347,22354,22790,22848,22950,22936,22944,22935,22926,22946,22928,22927,22951,22945,23438,23442,23592,23594,23693,23695,23688,23691,23689,23698,23690,23686,23699,23701,24032,24074,24078,24203,24201,24204,24200,24205,24325,24349,24440,24438,24530,24529,24528,24557,24552,24558,24563,24545,24548,24547,24570,24559,24567,24571,24576,24564,25146,25219,25228,25230,25231,25236,25223,25201,25211,25210,25200,25217,25224,25207,25213,25202,25204,25911,26096,26100,26099,26098,26101,26437,26439,26457,26453,26444,26440,26461,26445,26458,26443,27600,27673,27674,27768,27751,27755,27780,27787,27791,27761,27759,27753,27802,27757,27783,27797,27804,27750,27763,27749,27771,27790,28788,28794,29283,29375,29373,29379,29382,29377,29370,29381,29589,29591,29587,29588,29586,30010,30009,30100,30101,30337,31037,32820,32917,32921,32912,32914,32924,33424,33423,33413,33422,33425,33427,33418,33411,33412,35960,36809,36799,37023,37025,37029,37022,37031,37024,38448,38440,38447,38445,20019,20376,20348,20357,20349,20352,20359,20342,20340,20361,20356,20343,20300,20375,20330,20378,20345,20353,20344,20368,20380,20372,20382,20370,20354,20373,20331,20334,20894,20924,20926,21045,21042,21043,21062,21041,21180,21258,21259,21308,21394,21396,21639,21631,21633,21649,21634,21640,21611,21626,21630,21605,21612,21620,21606,21645,21615,21601,21600,21656,21603,21607,21604,22263,22265,22383,22386,22381,22379,22385,22384,22390,22400,22389,22395,22387,22388,22370,22376,22397,22796,22853,22965,22970,22991,22990,22962,22988,22977,22966,22972,22979,22998,22961,22973,22976,22984,22964,22983,23394,23397,23443,23445,23620,23623,23726,23716,23712,23733,23727,23720,23724,23711,23715,23725,23714,23722,23719,23709,23717,23734,23728,23718,24087,24084,24089,24360,24354,24355,24356,24404,24450,24446,24445,24542,24549,24621,24614,24601,24626,24587,24628,24586,24599,24627,24602,24606,24620,24610,24589,24592,24622,24595,24593,24588,24585,24604,25108,25149,25261,25268,25297,25278,25258,25270,25290,25262,25267,25263,25275,25257,25264,25272,25917,26024,26043,26121,26108,26116,26130,26120,26107,26115,26123,26125,26117,26109,26129,26128,26358,26378,26501,26476,26510,26514,26486,26491,26520,26502,26500,26484,26509,26508,26490,26527,26513,26521,26499,26493,26497,26488,26489,26516,27429,27520,27518,27614,27677,27795,27884,27883,27886,27865,27830,27860,27821,27879,27831,27856,27842,27834,27843,27846,27885,27890,27858,27869,27828,27786,27805,27776,27870,27840,27952,27853,27847,27824,27897,27855,27881,27857,28820,28824,28805,28819,28806,28804,28817,28822,28802,28826,28803,29290,29398,29387,29400,29385,29404,29394,29396,29402,29388,29393,29604,29601,29613,29606,29602,29600,29612,29597,29917,29928,30015,30016,30014,30092,30104,30383,30451,30449,30448,30453,30712,30716,30713,30715,30714,30711,31042,31039,31173,31352,31355,31483,31861,31997,32821,32911,32942,32931,32952,32949,32941,33312,33440,33472,33451,33434,33432,33435,33461,33447,33454,33468,33438,33466,33460,33448,33441,33449,33474,33444,33475,33462,33442,34416,34415,34413,34414,35926,36818,36811,36819,36813,36822,36821,36823,37042,37044,37039,37043,37040,38457,38461,38460,38458,38467,20429,20421,20435,20402,20425,20427,20417,20436,20444,20441,20411,20403,20443,20423,20438,20410,20416,20409,20460,21060,21065,21184,21186,21309,21372,21399,21398,21401,21400,21690,21665,21677,21669,21711,21699,33549,21687,21678,21718,21686,21701,21702,21664,21616,21692,21666,21694,21618,21726,21680,22453,22430,22431,22436,22412,22423,22429,22427,22420,22424,22415,22425,22437,22426,22421,22772,22797,22867,23009,23006,23022,23040,23025,23005,23034,23037,23036,23030,23012,23026,23031,23003,23017,23027,23029,23008,23038,23028,23021,23464,23628,23760,23768,23756,23767,23755,23771,23774,23770,23753,23751,23754,23766,23763,23764,23759,23752,23750,23758,23775,23800,24057,24097,24098,24099,24096,24100,24240,24228,24226,24219,24227,24229,24327,24366,24406,24454,24631,24633,24660,24690,24670,24645,24659,24647,24649,24667,24652,24640,24642,24671,24612,24644,24664,24678,24686,25154,25155,25295,25357,25355,25333,25358,25347,25323,25337,25359,25356,25336,25334,25344,25363,25364,25338,25365,25339,25328,25921,25923,26026,26047,26166,26145,26162,26165,26140,26150,26146,26163,26155,26170,26141,26164,26169,26158,26383,26384,26561,26610,26568,26554,26588,26555,26616,26584,26560,26551,26565,26603,26596,26591,26549,26573,26547,26615,26614,26606,26595,26562,26553,26574,26599,26608,26546,26620,26566,26605,26572,26542,26598,26587,26618,26569,26570,26563,26602,26571,27432,27522,27524,27574,27606,27608,27616,27680,27681,27944,27956,27949,27935,27964,27967,27922,27914,27866,27955,27908,27929,27962,27930,27921,27904,27933,27970,27905,27928,27959,27907,27919,27968,27911,27936,27948,27912,27938,27913,27920,28855,28831,28862,28849,28848,28833,28852,28853,28841,29249,29257,29258,29292,29296,29299,29294,29386,29412,29416,29419,29407,29418,29414,29411,29573,29644,29634,29640,29637,29625,29622,29621,29620,29675,29631,29639,29630,29635,29638,29624,29643,29932,29934,29998,30023,30024,30119,30122,30329,30404,30472,30467,30468,30469,30474,30455,30459,30458,30695,30696,30726,30737,30738,30725,30736,30735,30734,30729,30723,30739,31050,31052,31051,31045,31044,31189,31181,31183,31190,31182,31360,31358,31441,31488,31489,31866,31864,31865,31871,31872,31873,32003,32008,32001,32600,32657,32653,32702,32775,32782,32783,32788,32823,32984,32967,32992,32977,32968,32962,32976,32965,32995,32985,32988,32970,32981,32969,32975,32983,32998,32973,33279,33313,33428,33497,33534,33529,33543,33512,33536,33493,33594,33515,33494,33524,33516,33505,33522,33525,33548,33531,33526,33520,33514,33508,33504,33530,33523,33517,34423,34420,34428,34419,34881,34894,34919,34922,34921,35283,35332,35335,36210,36835,36833,36846,36832,37105,37053,37055,37077,37061,37054,37063,37067,37064,37332,37331,38484,38479,38481,38483,38474,38478,20510,20485,20487,20499,20514,20528,20507,20469,20468,20531,20535,20524,20470,20471,20503,20508,20512,20519,20533,20527,20529,20494,20826,20884,20883,20938,20932,20933,20936,20942,21089,21082,21074,21086,21087,21077,21090,21197,21262,21406,21798,21730,21783,21778,21735,21747,21732,21786,21759,21764,21768,21739,21777,21765,21745,21770,21755,21751,21752,21728,21774,21763,21771,22273,22274,22476,22578,22485,22482,22458,22470,22461,22460,22456,22454,22463,22471,22480,22457,22465,22798,22858,23065,23062,23085,23086,23061,23055,23063,23050,23070,23091,23404,23463,23469,23468,23555,23638,23636,23788,23807,23790,23793,23799,23808,23801,24105,24104,24232,24238,24234,24236,24371,24368,24423,24669,24666,24679,24641,24738,24712,24704,24722,24705,24733,24707,24725,24731,24727,24711,24732,24718,25113,25158,25330,25360,25430,25388,25412,25413,25398,25411,25572,25401,25419,25418,25404,25385,25409,25396,25432,25428,25433,25389,25415,25395,25434,25425,25400,25431,25408,25416,25930,25926,26054,26051,26052,26050,26186,26207,26183,26193,26386,26387,26655,26650,26697,26674,26675,26683,26699,26703,26646,26673,26652,26677,26667,26669,26671,26702,26692,26676,26653,26642,26644,26662,26664,26670,26701,26682,26661,26656,27436,27439,27437,27441,27444,27501,32898,27528,27622,27620,27624,27619,27618,27623,27685,28026,28003,28004,28022,27917,28001,28050,27992,28002,28013,28015,28049,28045,28143,28031,28038,27998,28007,28000,28055,28016,28028,27999,28034,28056,27951,28008,28043,28030,28032,28036,27926,28035,28027,28029,28021,28048,28892,28883,28881,28893,28875,32569,28898,28887,28882,28894,28896,28884,28877,28869,28870,28871,28890,28878,28897,29250,29304,29303,29302,29440,29434,29428,29438,29430,29427,29435,29441,29651,29657,29669,29654,29628,29671,29667,29673,29660,29650,29659,29652,29661,29658,29655,29656,29672,29918,29919,29940,29941,29985,30043,30047,30128,30145,30139,30148,30144,30143,30134,30138,30346,30409,30493,30491,30480,30483,30482,30499,30481,30485,30489,30490,30498,30503,30755,30764,30754,30773,30767,30760,30766,30763,30753,30761,30771,30762,30769,31060,31067,31055,31068,31059,31058,31057,31211,31212,31200,31214,31213,31210,31196,31198,31197,31366,31369,31365,31371,31372,31370,31367,31448,31504,31492,31507,31493,31503,31496,31498,31502,31497,31506,31876,31889,31882,31884,31880,31885,31877,32030,32029,32017,32014,32024,32022,32019,32031,32018,32015,32012,32604,32609,32606,32608,32605,32603,32662,32658,32707,32706,32704,32790,32830,32825,33018,33010,33017,33013,33025,33019,33024,33281,33327,33317,33587,33581,33604,33561,33617,33573,33622,33599,33601,33574,33564,33570,33602,33614,33563,33578,33544,33596,33613,33558,33572,33568,33591,33583,33577,33607,33605,33612,33619,33566,33580,33611,33575,33608,34387,34386,34466,34472,34454,34445,34449,34462,34439,34455,34438,34443,34458,34437,34469,34457,34465,34471,34453,34456,34446,34461,34448,34452,34883,34884,34925,34933,34934,34930,34944,34929,34943,34927,34947,34942,34932,34940,35346,35911,35927,35963,36004,36003,36214,36216,36277,36279,36278,36561,36563,36862,36853,36866,36863,36859,36868,36860,36854,37078,37088,37081,37082,37091,37087,37093,37080,37083,37079,37084,37092,37200,37198,37199,37333,37346,37338,38492,38495,38588,39139,39647,39727,20095,20592,20586,20577,20574,20576,20563,20555,20573,20594,20552,20557,20545,20571,20554,20578,20501,20549,20575,20585,20587,20579,20580,20550,20544,20590,20595,20567,20561,20944,21099,21101,21100,21102,21206,21203,21293,21404,21877,21878,21820,21837,21840,21812,21802,21841,21858,21814,21813,21808,21842,21829,21772,21810,21861,21838,21817,21832,21805,21819,21824,21835,22282,22279,22523,22548,22498,22518,22492,22516,22528,22509,22525,22536,22520,22539,22515,22479,22535,22510,22499,22514,22501,22508,22497,22542,22524,22544,22503,22529,22540,22513,22505,22512,22541,22532,22876,23136,23128,23125,23143,23134,23096,23093,23149,23120,23135,23141,23148,23123,23140,23127,23107,23133,23122,23108,23131,23112,23182,23102,23117,23097,23116,23152,23145,23111,23121,23126,23106,23132,23410,23406,23489,23488,23641,23838,23819,23837,23834,23840,23820,23848,23821,23846,23845,23823,23856,23826,23843,23839,23854,24126,24116,24241,24244,24249,24242,24243,24374,24376,24475,24470,24479,24714,24720,24710,24766,24752,24762,24787,24788,24783,24804,24793,24797,24776,24753,24795,24759,24778,24767,24771,24781,24768,25394,25445,25482,25474,25469,25533,25502,25517,25501,25495,25515,25486,25455,25479,25488,25454,25519,25461,25500,25453,25518,25468,25508,25403,25503,25464,25477,25473,25489,25485,25456,25939,26061,26213,26209,26203,26201,26204,26210,26392,26745,26759,26768,26780,26733,26734,26798,26795,26966,26735,26787,26796,26793,26741,26740,26802,26767,26743,26770,26748,26731,26738,26794,26752,26737,26750,26779,26774,26763,26784,26761,26788,26744,26747,26769,26764,26762,26749,27446,27443,27447,27448,27537,27535,27533,27534,27532,27690,28096,28075,28084,28083,28276,28076,28137,28130,28087,28150,28116,28160,28104,28128,28127,28118,28094,28133,28124,28125,28123,28148,28106,28093,28141,28144,28090,28117,28098,28111,28105,28112,28146,28115,28157,28119,28109,28131,28091,28922,28941,28919,28951,28916,28940,28912,28932,28915,28944,28924,28927,28934,28947,28928,28920,28918,28939,28930,28942,29310,29307,29308,29311,29469,29463,29447,29457,29464,29450,29448,29439,29455,29470,29576,29686,29688,29685,29700,29697,29693,29703,29696,29690,29692,29695,29708,29707,29684,29704,30052,30051,30158,30162,30159,30155,30156,30161,30160,30351,30345,30419,30521,30511,30509,30513,30514,30516,30515,30525,30501,30523,30517,30792,30802,30793,30797,30794,30796,30758,30789,30800,31076,31079,31081,31082,31075,31083,31073,31163,31226,31224,31222,31223,31375,31380,31376,31541,31559,31540,31525,31536,31522,31524,31539,31512,31530,31517,31537,31531,31533,31535,31538,31544,31514,31523,31892,31896,31894,31907,32053,32061,32056,32054,32058,32069,32044,32041,32065,32071,32062,32063,32074,32059,32040,32611,32661,32668,32669,32667,32714,32715,32717,32720,32721,32711,32719,32713,32799,32798,32795,32839,32835,32840,33048,33061,33049,33051,33069,33055,33068,33054,33057,33045,33063,33053,33058,33297,33336,33331,33338,33332,33330,33396,33680,33699,33704,33677,33658,33651,33700,33652,33679,33665,33685,33689,33653,33684,33705,33661,33667,33676,33693,33691,33706,33675,33662,33701,33711,33672,33687,33712,33663,33702,33671,33710,33654,33690,34393,34390,34495,34487,34498,34497,34501,34490,34480,34504,34489,34483,34488,34508,34484,34491,34492,34499,34493,34494,34898,34953,34965,34984,34978,34986,34970,34961,34977,34975,34968,34983,34969,34971,34967,34980,34988,34956,34963,34958,35202,35286,35289,35285,35376,35367,35372,35358,35897,35899,35932,35933,35965,36005,36221,36219,36217,36284,36290,36281,36287,36289,36568,36574,36573,36572,36567,36576,36577,36900,36875,36881,36892,36876,36897,37103,37098,37104,37108,37106,37107,37076,37099,37100,37097,37206,37208,37210,37203,37205,37356,37364,37361,37363,37368,37348,37369,37354,37355,37367,37352,37358,38266,38278,38280,38524,38509,38507,38513,38511,38591,38762,38916,39141,39319,20635,20629,20628,20638,20619,20643,20611,20620,20622,20637,20584,20636,20626,20610,20615,20831,20948,21266,21265,21412,21415,21905,21928,21925,21933,21879,22085,21922,21907,21896,21903,21941,21889,21923,21906,21924,21885,21900,21926,21887,21909,21921,21902,22284,22569,22583,22553,22558,22567,22563,22568,22517,22600,22565,22556,22555,22579,22591,22582,22574,22585,22584,22573,22572,22587,22881,23215,23188,23199,23162,23202,23198,23160,23206,23164,23205,23212,23189,23214,23095,23172,23178,23191,23171,23179,23209,23163,23165,23180,23196,23183,23187,23197,23530,23501,23499,23508,23505,23498,23502,23564,23600,23863,23875,23915,23873,23883,23871,23861,23889,23886,23893,23859,23866,23890,23869,23857,23897,23874,23865,23881,23864,23868,23858,23862,23872,23877,24132,24129,24408,24486,24485,24491,24777,24761,24780,24802,24782,24772,24852,24818,24842,24854,24837,24821,24851,24824,24828,24830,24769,24835,24856,24861,24848,24831,24836,24843,25162,25492,25521,25520,25550,25573,25576,25583,25539,25757,25587,25546,25568,25590,25557,25586,25589,25697,25567,25534,25565,25564,25540,25560,25555,25538,25543,25548,25547,25544,25584,25559,25561,25906,25959,25962,25956,25948,25960,25957,25996,26013,26014,26030,26064,26066,26236,26220,26235,26240,26225,26233,26218,26226,26369,26892,26835,26884,26844,26922,26860,26858,26865,26895,26838,26871,26859,26852,26870,26899,26896,26867,26849,26887,26828,26888,26992,26804,26897,26863,26822,26900,26872,26832,26877,26876,26856,26891,26890,26903,26830,26824,26845,26846,26854,26868,26833,26886,26836,26857,26901,26917,26823,27449,27451,27455,27452,27540,27543,27545,27541,27581,27632,27634,27635,27696,28156,28230,28231,28191,28233,28296,28220,28221,28229,28258,28203,28223,28225,28253,28275,28188,28211,28235,28224,28241,28219,28163,28206,28254,28264,28252,28257,28209,28200,28256,28273,28267,28217,28194,28208,28243,28261,28199,28280,28260,28279,28245,28281,28242,28262,28213,28214,28250,28960,28958,28975,28923,28974,28977,28963,28965,28962,28978,28959,28968,28986,28955,29259,29274,29320,29321,29318,29317,29323,29458,29451,29488,29474,29489,29491,29479,29490,29485,29478,29475,29493,29452,29742,29740,29744,29739,29718,29722,29729,29741,29745,29732,29731,29725,29737,29728,29746,29947,29999,30063,30060,30183,30170,30177,30182,30173,30175,30180,30167,30357,30354,30426,30534,30535,30532,30541,30533,30538,30542,30539,30540,30686,30700,30816,30820,30821,30812,30829,30833,30826,30830,30832,30825,30824,30814,30818,31092,31091,31090,31088,31234,31242,31235,31244,31236,31385,31462,31460,31562,31547,31556,31560,31564,31566,31552,31576,31557,31906,31902,31912,31905,32088,32111,32099,32083,32086,32103,32106,32079,32109,32092,32107,32082,32084,32105,32081,32095,32078,32574,32575,32613,32614,32674,32672,32673,32727,32849,32847,32848,33022,32980,33091,33098,33106,33103,33095,33085,33101,33082,33254,33262,33271,33272,33273,33284,33340,33341,33343,33397,33595,33743,33785,33827,33728,33768,33810,33767,33764,33788,33782,33808,33734,33736,33771,33763,33727,33793,33757,33765,33752,33791,33761,33739,33742,33750,33781,33737,33801,33807,33758,33809,33798,33730,33779,33749,33786,33735,33745,33770,33811,33731,33772,33774,33732,33787,33751,33762,33819,33755,33790,34520,34530,34534,34515,34531,34522,34538,34525,34539,34524,34540,34537,34519,34536,34513,34888,34902,34901,35002,35031,35001,35000,35008,35006,34998,35004,34999,35005,34994,35073,35017,35221,35224,35223,35293,35290,35291,35406,35405,35385,35417,35392,35415,35416,35396,35397,35410,35400,35409,35402,35404,35407,35935,35969,35968,36026,36030,36016,36025,36021,36228,36224,36233,36312,36307,36301,36295,36310,36316,36303,36309,36313,36296,36311,36293,36591,36599,36602,36601,36582,36590,36581,36597,36583,36584,36598,36587,36593,36588,36596,36585,36909,36916,36911,37126,37164,37124,37119,37116,37128,37113,37115,37121,37120,37127,37125,37123,37217,37220,37215,37218,37216,37377,37386,37413,37379,37402,37414,37391,37388,37376,37394,37375,37373,37382,37380,37415,37378,37404,37412,37401,37399,37381,37398,38267,38285,38284,38288,38535,38526,38536,38537,38531,38528,38594,38600,38595,38641,38640,38764,38768,38766,38919,39081,39147,40166,40697,20099,20100,20150,20669,20671,20678,20654,20676,20682,20660,20680,20674,20656,20673,20666,20657,20683,20681,20662,20664,20951,21114,21112,21115,21116,21955,21979,21964,21968,21963,21962,21981,21952,21972,21956,21993,21951,21970,21901,21967,21973,21986,21974,21960,22002,21965,21977,21954,22292,22611,22632,22628,22607,22605,22601,22639,22613,22606,22621,22617,22629,22619,22589,22627,22641,22780,23239,23236,23243,23226,23224,23217,23221,23216,23231,23240,23227,23238,23223,23232,23242,23220,23222,23245,23225,23184,23510,23512,23513,23583,23603,23921,23907,23882,23909,23922,23916,23902,23912,23911,23906,24048,24143,24142,24138,24141,24139,24261,24268,24262,24267,24263,24384,24495,24493,24823,24905,24906,24875,24901,24886,24882,24878,24902,24879,24911,24873,24896,25120,37224,25123,25125,25124,25541,25585,25579,25616,25618,25609,25632,25636,25651,25667,25631,25621,25624,25657,25655,25634,25635,25612,25638,25648,25640,25665,25653,25647,25610,25626,25664,25637,25639,25611,25575,25627,25646,25633,25614,25967,26002,26067,26246,26252,26261,26256,26251,26250,26265,26260,26232,26400,26982,26975,26936,26958,26978,26993,26943,26949,26986,26937,26946,26967,26969,27002,26952,26953,26933,26988,26931,26941,26981,26864,27000,26932,26985,26944,26991,26948,26998,26968,26945,26996,26956,26939,26955,26935,26972,26959,26961,26930,26962,26927,27003,26940,27462,27461,27459,27458,27464,27457,27547,64013,27643,27644,27641,27639,27640,28315,28374,28360,28303,28352,28319,28307,28308,28320,28337,28345,28358,28370,28349,28353,28318,28361,28343,28336,28365,28326,28367,28338,28350,28355,28380,28376,28313,28306,28302,28301,28324,28321,28351,28339,28368,28362,28311,28334,28323,28999,29012,29010,29027,29024,28993,29021,29026,29042,29048,29034,29025,28994,29016,28995,29003,29040,29023,29008,29011,28996,29005,29018,29263,29325,29324,29329,29328,29326,29500,29506,29499,29498,29504,29514,29513,29764,29770,29771,29778,29777,29783,29760,29775,29776,29774,29762,29766,29773,29780,29921,29951,29950,29949,29981,30073,30071,27011,30191,30223,30211,30199,30206,30204,30201,30200,30224,30203,30198,30189,30197,30205,30361,30389,30429,30549,30559,30560,30546,30550,30554,30569,30567,30548,30553,30573,30688,30855,30874,30868,30863,30852,30869,30853,30854,30881,30851,30841,30873,30848,30870,30843,31100,31106,31101,31097,31249,31256,31257,31250,31255,31253,31266,31251,31259,31248,31395,31394,31390,31467,31590,31588,31597,31604,31593,31602,31589,31603,31601,31600,31585,31608,31606,31587,31922,31924,31919,32136,32134,32128,32141,32127,32133,32122,32142,32123,32131,32124,32140,32148,32132,32125,32146,32621,32619,32615,32616,32620,32678,32677,32679,32731,32732,32801,33124,33120,33143,33116,33129,33115,33122,33138,26401,33118,33142,33127,33135,33092,33121,33309,33353,33348,33344,33346,33349,34033,33855,33878,33910,33913,33935,33933,33893,33873,33856,33926,33895,33840,33869,33917,33882,33881,33908,33907,33885,34055,33886,33847,33850,33844,33914,33859,33912,33842,33861,33833,33753,33867,33839,33858,33837,33887,33904,33849,33870,33868,33874,33903,33989,33934,33851,33863,33846,33843,33896,33918,33860,33835,33888,33876,33902,33872,34571,34564,34551,34572,34554,34518,34549,34637,34552,34574,34569,34561,34550,34573,34565,35030,35019,35021,35022,35038,35035,35034,35020,35024,35205,35227,35295,35301,35300,35297,35296,35298,35292,35302,35446,35462,35455,35425,35391,35447,35458,35460,35445,35459,35457,35444,35450,35900,35915,35914,35941,35940,35942,35974,35972,35973,36044,36200,36201,36241,36236,36238,36239,36237,36243,36244,36240,36242,36336,36320,36332,36337,36334,36304,36329,36323,36322,36327,36338,36331,36340,36614,36607,36609,36608,36613,36615,36616,36610,36619,36946,36927,36932,36937,36925,37136,37133,37135,37137,37142,37140,37131,37134,37230,37231,37448,37458,37424,37434,37478,37427,37477,37470,37507,37422,37450,37446,37485,37484,37455,37472,37479,37487,37430,37473,37488,37425,37460,37475,37456,37490,37454,37459,37452,37462,37426,38303,38300,38302,38299,38546,38547,38545,38551,38606,38650,38653,38648,38645,38771,38775,38776,38770,38927,38925,38926,39084,39158,39161,39343,39346,39344,39349,39597,39595,39771,40170,40173,40167,40576,40701,20710,20692,20695,20712,20723,20699,20714,20701,20708,20691,20716,20720,20719,20707,20704,20952,21120,21121,21225,21227,21296,21420,22055,22037,22028,22034,22012,22031,22044,22017,22035,22018,22010,22045,22020,22015,22009,22665,22652,22672,22680,22662,22657,22655,22644,22667,22650,22663,22673,22670,22646,22658,22664,22651,22676,22671,22782,22891,23260,23278,23269,23253,23274,23258,23277,23275,23283,23266,23264,23259,23276,23262,23261,23257,23272,23263,23415,23520,23523,23651,23938,23936,23933,23942,23930,23937,23927,23946,23945,23944,23934,23932,23949,23929,23935,24152,24153,24147,24280,24273,24279,24270,24284,24277,24281,24274,24276,24388,24387,24431,24502,24876,24872,24897,24926,24945,24947,24914,24915,24946,24940,24960,24948,24916,24954,24923,24933,24891,24938,24929,24918,25129,25127,25131,25643,25677,25691,25693,25716,25718,25714,25715,25725,25717,25702,25766,25678,25730,25694,25692,25675,25683,25696,25680,25727,25663,25708,25707,25689,25701,25719,25971,26016,26273,26272,26271,26373,26372,26402,27057,27062,27081,27040,27086,27030,27056,27052,27068,27025,27033,27022,27047,27021,27049,27070,27055,27071,27076,27069,27044,27092,27065,27082,27034,27087,27059,27027,27050,27041,27038,27097,27031,27024,27074,27061,27045,27078,27466,27469,27467,27550,27551,27552,27587,27588,27646,28366,28405,28401,28419,28453,28408,28471,28411,28462,28425,28494,28441,28442,28455,28440,28475,28434,28397,28426,28470,28531,28409,28398,28461,28480,28464,28476,28469,28395,28423,28430,28483,28421,28413,28406,28473,28444,28412,28474,28447,28429,28446,28424,28449,29063,29072,29065,29056,29061,29058,29071,29051,29062,29057,29079,29252,29267,29335,29333,29331,29507,29517,29521,29516,29794,29811,29809,29813,29810,29799,29806,29952,29954,29955,30077,30096,30230,30216,30220,30229,30225,30218,30228,30392,30593,30588,30597,30594,30574,30592,30575,30590,30595,30898,30890,30900,30893,30888,30846,30891,30878,30885,30880,30892,30882,30884,31128,31114,31115,31126,31125,31124,31123,31127,31112,31122,31120,31275,31306,31280,31279,31272,31270,31400,31403,31404,31470,31624,31644,31626,31633,31632,31638,31629,31628,31643,31630,31621,31640,21124,31641,31652,31618,31931,31935,31932,31930,32167,32183,32194,32163,32170,32193,32192,32197,32157,32206,32196,32198,32203,32204,32175,32185,32150,32188,32159,32166,32174,32169,32161,32201,32627,32738,32739,32741,32734,32804,32861,32860,33161,33158,33155,33159,33165,33164,33163,33301,33943,33956,33953,33951,33978,33998,33986,33964,33966,33963,33977,33972,33985,33997,33962,33946,33969,34000,33949,33959,33979,33954,33940,33991,33996,33947,33961,33967,33960,34006,33944,33974,33999,33952,34007,34004,34002,34011,33968,33937,34401,34611,34595,34600,34667,34624,34606,34590,34593,34585,34587,34627,34604,34625,34622,34630,34592,34610,34602,34605,34620,34578,34618,34609,34613,34626,34598,34599,34616,34596,34586,34608,34577,35063,35047,35057,35058,35066,35070,35054,35068,35062,35067,35056,35052,35051,35229,35233,35231,35230,35305,35307,35304,35499,35481,35467,35474,35471,35478,35901,35944,35945,36053,36047,36055,36246,36361,36354,36351,36365,36349,36362,36355,36359,36358,36357,36350,36352,36356,36624,36625,36622,36621,37155,37148,37152,37154,37151,37149,37146,37156,37153,37147,37242,37234,37241,37235,37541,37540,37494,37531,37498,37536,37524,37546,37517,37542,37530,37547,37497,37527,37503,37539,37614,37518,37506,37525,37538,37501,37512,37537,37514,37510,37516,37529,37543,37502,37511,37545,37533,37515,37421,38558,38561,38655,38744,38781,38778,38782,38787,38784,38786,38779,38788,38785,38783,38862,38861,38934,39085,39086,39170,39168,39175,39325,39324,39363,39353,39355,39354,39362,39357,39367,39601,39651,39655,39742,39743,39776,39777,39775,40177,40178,40181,40615,20735,20739,20784,20728,20742,20743,20726,20734,20747,20748,20733,20746,21131,21132,21233,21231,22088,22082,22092,22069,22081,22090,22089,22086,22104,22106,22080,22067,22077,22060,22078,22072,22058,22074,22298,22699,22685,22705,22688,22691,22703,22700,22693,22689,22783,23295,23284,23293,23287,23286,23299,23288,23298,23289,23297,23303,23301,23311,23655,23961,23959,23967,23954,23970,23955,23957,23968,23964,23969,23962,23966,24169,24157,24160,24156,32243,24283,24286,24289,24393,24498,24971,24963,24953,25009,25008,24994,24969,24987,24979,25007,25005,24991,24978,25002,24993,24973,24934,25011,25133,25710,25712,25750,25760,25733,25751,25756,25743,25739,25738,25740,25763,25759,25704,25777,25752,25974,25978,25977,25979,26034,26035,26293,26288,26281,26290,26295,26282,26287,27136,27142,27159,27109,27128,27157,27121,27108,27168,27135,27116,27106,27163,27165,27134,27175,27122,27118,27156,27127,27111,27200,27144,27110,27131,27149,27132,27115,27145,27140,27160,27173,27151,27126,27174,27143,27124,27158,27473,27557,27555,27554,27558,27649,27648,27647,27650,28481,28454,28542,28551,28614,28562,28557,28553,28556,28514,28495,28549,28506,28566,28534,28524,28546,28501,28530,28498,28496,28503,28564,28563,28509,28416,28513,28523,28541,28519,28560,28499,28555,28521,28543,28565,28515,28535,28522,28539,29106,29103,29083,29104,29088,29082,29097,29109,29085,29093,29086,29092,29089,29098,29084,29095,29107,29336,29338,29528,29522,29534,29535,29536,29533,29531,29537,29530,29529,29538,29831,29833,29834,29830,29825,29821,29829,29832,29820,29817,29960,29959,30078,30245,30238,30233,30237,30236,30243,30234,30248,30235,30364,30365,30366,30363,30605,30607,30601,30600,30925,30907,30927,30924,30929,30926,30932,30920,30915,30916,30921,31130,31137,31136,31132,31138,31131,27510,31289,31410,31412,31411,31671,31691,31678,31660,31694,31663,31673,31690,31669,31941,31944,31948,31947,32247,32219,32234,32231,32215,32225,32259,32250,32230,32246,32241,32240,32238,32223,32630,32684,32688,32685,32749,32747,32746,32748,32742,32744,32868,32871,33187,33183,33182,33173,33186,33177,33175,33302,33359,33363,33362,33360,33358,33361,34084,34107,34063,34048,34089,34062,34057,34061,34079,34058,34087,34076,34043,34091,34042,34056,34060,34036,34090,34034,34069,34039,34027,34035,34044,34066,34026,34025,34070,34046,34088,34077,34094,34050,34045,34078,34038,34097,34086,34023,34024,34032,34031,34041,34072,34080,34096,34059,34073,34095,34402,34646,34659,34660,34679,34785,34675,34648,34644,34651,34642,34657,34650,34641,34654,34669,34666,34640,34638,34655,34653,34671,34668,34682,34670,34652,34661,34639,34683,34677,34658,34663,34665,34906,35077,35084,35092,35083,35095,35096,35097,35078,35094,35089,35086,35081,35234,35236,35235,35309,35312,35308,35535,35526,35512,35539,35537,35540,35541,35515,35543,35518,35520,35525,35544,35523,35514,35517,35545,35902,35917,35983,36069,36063,36057,36072,36058,36061,36071,36256,36252,36257,36251,36384,36387,36389,36388,36398,36373,36379,36374,36369,36377,36390,36391,36372,36370,36376,36371,36380,36375,36378,36652,36644,36632,36634,36640,36643,36630,36631,36979,36976,36975,36967,36971,37167,37163,37161,37162,37170,37158,37166,37253,37254,37258,37249,37250,37252,37248,37584,37571,37572,37568,37593,37558,37583,37617,37599,37592,37609,37591,37597,37580,37615,37570,37608,37578,37576,37582,37606,37581,37589,37577,37600,37598,37607,37585,37587,37557,37601,37574,37556,38268,38316,38315,38318,38320,38564,38562,38611,38661,38664,38658,38746,38794,38798,38792,38864,38863,38942,38941,38950,38953,38952,38944,38939,38951,39090,39176,39162,39185,39188,39190,39191,39189,39388,39373,39375,39379,39380,39374,39369,39382,39384,39371,39383,39372,39603,39660,39659,39667,39666,39665,39750,39747,39783,39796,39793,39782,39798,39797,39792,39784,39780,39788,40188,40186,40189,40191,40183,40199,40192,40185,40187,40200,40197,40196,40579,40659,40719,40720,20764,20755,20759,20762,20753,20958,21300,21473,22128,22112,22126,22131,22118,22115,22125,22130,22110,22135,22300,22299,22728,22717,22729,22719,22714,22722,22716,22726,23319,23321,23323,23329,23316,23315,23312,23318,23336,23322,23328,23326,23535,23980,23985,23977,23975,23989,23984,23982,23978,23976,23986,23981,23983,23988,24167,24168,24166,24175,24297,24295,24294,24296,24293,24395,24508,24989,25000,24982,25029,25012,25030,25025,25036,25018,25023,25016,24972,25815,25814,25808,25807,25801,25789,25737,25795,25819,25843,25817,25907,25983,25980,26018,26312,26302,26304,26314,26315,26319,26301,26299,26298,26316,26403,27188,27238,27209,27239,27186,27240,27198,27229,27245,27254,27227,27217,27176,27226,27195,27199,27201,27242,27236,27216,27215,27220,27247,27241,27232,27196,27230,27222,27221,27213,27214,27206,27477,27476,27478,27559,27562,27563,27592,27591,27652,27651,27654,28589,28619,28579,28615,28604,28622,28616,28510,28612,28605,28574,28618,28584,28676,28581,28590,28602,28588,28586,28623,28607,28600,28578,28617,28587,28621,28591,28594,28592,29125,29122,29119,29112,29142,29120,29121,29131,29140,29130,29127,29135,29117,29144,29116,29126,29146,29147,29341,29342,29545,29542,29543,29548,29541,29547,29546,29823,29850,29856,29844,29842,29845,29857,29963,30080,30255,30253,30257,30269,30259,30268,30261,30258,30256,30395,30438,30618,30621,30625,30620,30619,30626,30627,30613,30617,30615,30941,30953,30949,30954,30942,30947,30939,30945,30946,30957,30943,30944,31140,31300,31304,31303,31414,31416,31413,31409,31415,31710,31715,31719,31709,31701,31717,31706,31720,31737,31700,31722,31714,31708,31723,31704,31711,31954,31956,31959,31952,31953,32274,32289,32279,32268,32287,32288,32275,32270,32284,32277,32282,32290,32267,32271,32278,32269,32276,32293,32292,32579,32635,32636,32634,32689,32751,32810,32809,32876,33201,33190,33198,33209,33205,33195,33200,33196,33204,33202,33207,33191,33266,33365,33366,33367,34134,34117,34155,34125,34131,34145,34136,34112,34118,34148,34113,34146,34116,34129,34119,34147,34110,34139,34161,34126,34158,34165,34133,34151,34144,34188,34150,34141,34132,34149,34156,34403,34405,34404,34715,34703,34711,34707,34706,34696,34689,34710,34712,34681,34695,34723,34693,34704,34705,34717,34692,34708,34716,34714,34697,35102,35110,35120,35117,35118,35111,35121,35106,35113,35107,35119,35116,35103,35313,35552,35554,35570,35572,35573,35549,35604,35556,35551,35568,35528,35550,35553,35560,35583,35567,35579,35985,35986,35984,36085,36078,36081,36080,36083,36204,36206,36261,36263,36403,36414,36408,36416,36421,36406,36412,36413,36417,36400,36415,36541,36662,36654,36661,36658,36665,36663,36660,36982,36985,36987,36998,37114,37171,37173,37174,37267,37264,37265,37261,37263,37671,37662,37640,37663,37638,37647,37754,37688,37692,37659,37667,37650,37633,37702,37677,37646,37645,37579,37661,37626,37669,37651,37625,37623,37684,37634,37668,37631,37673,37689,37685,37674,37652,37644,37643,37630,37641,37632,37627,37654,38332,38349,38334,38329,38330,38326,38335,38325,38333,38569,38612,38667,38674,38672,38809,38807,38804,38896,38904,38965,38959,38962,39204,39199,39207,39209,39326,39406,39404,39397,39396,39408,39395,39402,39401,39399,39609,39615,39604,39611,39670,39674,39673,39671,39731,39808,39813,39815,39804,39806,39803,39810,39827,39826,39824,39802,39829,39805,39816,40229,40215,40224,40222,40212,40233,40221,40216,40226,40208,40217,40223,40584,40582,40583,40622,40621,40661,40662,40698,40722,40765,20774,20773,20770,20772,20768,20777,21236,22163,22156,22157,22150,22148,22147,22142,22146,22143,22145,22742,22740,22735,22738,23341,23333,23346,23331,23340,23335,23334,23343,23342,23419,23537,23538,23991,24172,24170,24510,24507,25027,25013,25020,25063,25056,25061,25060,25064,25054,25839,25833,25827,25835,25828,25832,25985,25984,26038,26074,26322,27277,27286,27265,27301,27273,27295,27291,27297,27294,27271,27283,27278,27285,27267,27304,27300,27281,27263,27302,27290,27269,27276,27282,27483,27565,27657,28620,28585,28660,28628,28643,28636,28653,28647,28646,28638,28658,28637,28642,28648,29153,29169,29160,29170,29156,29168,29154,29555,29550,29551,29847,29874,29867,29840,29866,29869,29873,29861,29871,29968,29969,29970,29967,30084,30275,30280,30281,30279,30372,30441,30645,30635,30642,30647,30646,30644,30641,30632,30704,30963,30973,30978,30971,30972,30962,30981,30969,30974,30980,31147,31144,31324,31323,31318,31320,31316,31322,31422,31424,31425,31749,31759,31730,31744,31743,31739,31758,31732,31755,31731,31746,31753,31747,31745,31736,31741,31750,31728,31729,31760,31754,31976,32301,32316,32322,32307,38984,32312,32298,32329,32320,32327,32297,32332,32304,32315,32310,32324,32314,32581,32639,32638,32637,32756,32754,32812,33211,33220,33228,33226,33221,33223,33212,33257,33371,33370,33372,34179,34176,34191,34215,34197,34208,34187,34211,34171,34212,34202,34206,34167,34172,34185,34209,34170,34168,34135,34190,34198,34182,34189,34201,34205,34177,34210,34178,34184,34181,34169,34166,34200,34192,34207,34408,34750,34730,34733,34757,34736,34732,34745,34741,34748,34734,34761,34755,34754,34764,34743,34735,34756,34762,34740,34742,34751,34744,34749,34782,34738,35125,35123,35132,35134,35137,35154,35127,35138,35245,35247,35246,35314,35315,35614,35608,35606,35601,35589,35595,35618,35599,35602,35605,35591,35597,35592,35590,35612,35603,35610,35919,35952,35954,35953,35951,35989,35988,36089,36207,36430,36429,36435,36432,36428,36423,36675,36672,36997,36990,37176,37274,37282,37275,37273,37279,37281,37277,37280,37793,37763,37807,37732,37718,37703,37756,37720,37724,37750,37705,37712,37713,37728,37741,37775,37708,37738,37753,37719,37717,37714,37711,37745,37751,37755,37729,37726,37731,37735,37760,37710,37721,38343,38336,38345,38339,38341,38327,38574,38576,38572,38688,38687,38680,38685,38681,38810,38817,38812,38814,38813,38869,38868,38897,38977,38980,38986,38985,38981,38979,39205,39211,39212,39210,39219,39218,39215,39213,39217,39216,39320,39331,39329,39426,39418,39412,39415,39417,39416,39414,39419,39421,39422,39420,39427,39614,39678,39677,39681,39676,39752,39834,39848,39838,39835,39846,39841,39845,39844,39814,39842,39840,39855,40243,40257,40295,40246,40238,40239,40241,40248,40240,40261,40258,40259,40254,40247,40256,40253,32757,40237,40586,40585,40589,40624,40648,40666,40699,40703,40740,40739,40738,40788,40864,20785,20781,20782,22168,22172,22167,22170,22173,22169,22896,23356,23657,23658,24000,24173,24174,25048,25055,25069,25070,25073,25066,25072,25067,25046,25065,25855,25860,25853,25848,25857,25859,25852,26004,26075,26330,26331,26328,27333,27321,27325,27361,27334,27322,27318,27319,27335,27316,27309,27486,27593,27659,28679,28684,28685,28673,28677,28692,28686,28671,28672,28667,28710,28668,28663,28682,29185,29183,29177,29187,29181,29558,29880,29888,29877,29889,29886,29878,29883,29890,29972,29971,30300,30308,30297,30288,30291,30295,30298,30374,30397,30444,30658,30650,30975,30988,30995,30996,30985,30992,30994,30993,31149,31148,31327,31772,31785,31769,31776,31775,31789,31773,31782,31784,31778,31781,31792,32348,32336,32342,32355,32344,32354,32351,32337,32352,32343,32339,32693,32691,32759,32760,32885,33233,33234,33232,33375,33374,34228,34246,34240,34243,34242,34227,34229,34237,34247,34244,34239,34251,34254,34248,34245,34225,34230,34258,34340,34232,34231,34238,34409,34791,34790,34786,34779,34795,34794,34789,34783,34803,34788,34772,34780,34771,34797,34776,34787,34724,34775,34777,34817,34804,34792,34781,35155,35147,35151,35148,35142,35152,35153,35145,35626,35623,35619,35635,35632,35637,35655,35631,35644,35646,35633,35621,35639,35622,35638,35630,35620,35643,35645,35642,35906,35957,35993,35992,35991,36094,36100,36098,36096,36444,36450,36448,36439,36438,36446,36453,36455,36443,36442,36449,36445,36457,36436,36678,36679,36680,36683,37160,37178,37179,37182,37288,37285,37287,37295,37290,37813,37772,37778,37815,37787,37789,37769,37799,37774,37802,37790,37798,37781,37768,37785,37791,37773,37809,37777,37810,37796,37800,37812,37795,37797,38354,38355,38353,38579,38615,38618,24002,38623,38616,38621,38691,38690,38693,38828,38830,38824,38827,38820,38826,38818,38821,38871,38873,38870,38872,38906,38992,38993,38994,39096,39233,39228,39226,39439,39435,39433,39437,39428,39441,39434,39429,39431,39430,39616,39644,39688,39684,39685,39721,39733,39754,39756,39755,39879,39878,39875,39871,39873,39861,39864,39891,39862,39876,39865,39869,40284,40275,40271,40266,40283,40267,40281,40278,40268,40279,40274,40276,40287,40280,40282,40590,40588,40671,40705,40704,40726,40741,40747,40746,40745,40744,40780,40789,20788,20789,21142,21239,21428,22187,22189,22182,22183,22186,22188,22746,22749,22747,22802,23357,23358,23359,24003,24176,24511,25083,25863,25872,25869,25865,25868,25870,25988,26078,26077,26334,27367,27360,27340,27345,27353,27339,27359,27356,27344,27371,27343,27341,27358,27488,27568,27660,28697,28711,28704,28694,28715,28705,28706,28707,28713,28695,28708,28700,28714,29196,29194,29191,29186,29189,29349,29350,29348,29347,29345,29899,29893,29879,29891,29974,30304,30665,30666,30660,30705,31005,31003,31009,31004,30999,31006,31152,31335,31336,31795,31804,31801,31788,31803,31980,31978,32374,32373,32376,32368,32375,32367,32378,32370,32372,32360,32587,32586,32643,32646,32695,32765,32766,32888,33239,33237,33380,33377,33379,34283,34289,34285,34265,34273,34280,34266,34263,34284,34290,34296,34264,34271,34275,34268,34257,34288,34278,34287,34270,34274,34816,34810,34819,34806,34807,34825,34828,34827,34822,34812,34824,34815,34826,34818,35170,35162,35163,35159,35169,35164,35160,35165,35161,35208,35255,35254,35318,35664,35656,35658,35648,35667,35670,35668,35659,35669,35665,35650,35666,35671,35907,35959,35958,35994,36102,36103,36105,36268,36266,36269,36267,36461,36472,36467,36458,36463,36475,36546,36690,36689,36687,36688,36691,36788,37184,37183,37296,37293,37854,37831,37839,37826,37850,37840,37881,37868,37836,37849,37801,37862,37834,37844,37870,37859,37845,37828,37838,37824,37842,37863,38269,38362,38363,38625,38697,38699,38700,38696,38694,38835,38839,38838,38877,38878,38879,39004,39001,39005,38999,39103,39101,39099,39102,39240,39239,39235,39334,39335,39450,39445,39461,39453,39460,39451,39458,39456,39463,39459,39454,39452,39444,39618,39691,39690,39694,39692,39735,39914,39915,39904,39902,39908,39910,39906,39920,39892,39895,39916,39900,39897,39909,39893,39905,39898,40311,40321,40330,40324,40328,40305,40320,40312,40326,40331,40332,40317,40299,40308,40309,40304,40297,40325,40307,40315,40322,40303,40313,40319,40327,40296,40596,40593,40640,40700,40749,40768,40769,40781,40790,40791,40792,21303,22194,22197,22195,22755,23365,24006,24007,24302,24303,24512,24513,25081,25879,25878,25877,25875,26079,26344,26339,26340,27379,27376,27370,27368,27385,27377,27374,27375,28732,28725,28719,28727,28724,28721,28738,28728,28735,28730,28729,28736,28731,28723,28737,29203,29204,29352,29565,29564,29882,30379,30378,30398,30445,30668,30670,30671,30669,30706,31013,31011,31015,31016,31012,31017,31154,31342,31340,31341,31479,31817,31816,31818,31815,31813,31982,32379,32382,32385,32384,32698,32767,32889,33243,33241,33291,33384,33385,34338,34303,34305,34302,34331,34304,34294,34308,34313,34309,34316,34301,34841,34832,34833,34839,34835,34838,35171,35174,35257,35319,35680,35690,35677,35688,35683,35685,35687,35693,36270,36486,36488,36484,36697,36694,36695,36693,36696,36698,37005,37187,37185,37303,37301,37298,37299,37899,37907,37883,37920,37903,37908,37886,37909,37904,37928,37913,37901,37877,37888,37879,37895,37902,37910,37906,37882,37897,37880,37898,37887,37884,37900,37878,37905,37894,38366,38368,38367,38702,38703,38841,38843,38909,38910,39008,39010,39011,39007,39105,39106,39248,39246,39257,39244,39243,39251,39474,39476,39473,39468,39466,39478,39465,39470,39480,39469,39623,39626,39622,39696,39698,39697,39947,39944,39927,39941,39954,39928,40000,39943,39950,39942,39959,39956,39945,40351,40345,40356,40349,40338,40344,40336,40347,40352,40340,40348,40362,40343,40353,40346,40354,40360,40350,40355,40383,40361,40342,40358,40359,40601,40603,40602,40677,40676,40679,40678,40752,40750,40795,40800,40798,40797,40793,40849,20794,20793,21144,21143,22211,22205,22206,23368,23367,24011,24015,24305,25085,25883,27394,27388,27395,27384,27392,28739,28740,28746,28744,28745,28741,28742,29213,29210,29209,29566,29975,30314,30672,31021,31025,31023,31828,31827,31986,32394,32391,32392,32395,32390,32397,32589,32699,32816,33245,34328,34346,34342,34335,34339,34332,34329,34343,34350,34337,34336,34345,34334,34341,34857,34845,34843,34848,34852,34844,34859,34890,35181,35177,35182,35179,35322,35705,35704,35653,35706,35707,36112,36116,36271,36494,36492,36702,36699,36701,37190,37188,37189,37305,37951,37947,37942,37929,37949,37948,37936,37945,37930,37943,37932,37952,37937,38373,38372,38371,38709,38714,38847,38881,39012,39113,39110,39104,39256,39254,39481,39485,39494,39492,39490,39489,39482,39487,39629,39701,39703,39704,39702,39738,39762,39979,39965,39964,39980,39971,39976,39977,39972,39969,40375,40374,40380,40385,40391,40394,40399,40382,40389,40387,40379,40373,40398,40377,40378,40364,40392,40369,40365,40396,40371,40397,40370,40570,40604,40683,40686,40685,40731,40728,40730,40753,40782,40805,40804,40850,20153,22214,22213,22219,22897,23371,23372,24021,24017,24306,25889,25888,25894,25890,27403,27400,27401,27661,28757,28758,28759,28754,29214,29215,29353,29567,29912,29909,29913,29911,30317,30381,31029,31156,31344,31345,31831,31836,31833,31835,31834,31988,31985,32401,32591,32647,33246,33387,34356,34357,34355,34348,34354,34358,34860,34856,34854,34858,34853,35185,35263,35262,35323,35710,35716,35714,35718,35717,35711,36117,36501,36500,36506,36498,36496,36502,36503,36704,36706,37191,37964,37968,37962,37963,37967,37959,37957,37960,37961,37958,38719,38883,39018,39017,39115,39252,39259,39502,39507,39508,39500,39503,39496,39498,39497,39506,39504,39632,39705,39723,39739,39766,39765,40006,40008,39999,40004,39993,39987,40001,39996,39991,39988,39986,39997,39990,40411,40402,40414,40410,40395,40400,40412,40401,40415,40425,40409,40408,40406,40437,40405,40413,40630,40688,40757,40755,40754,40770,40811,40853,40866,20797,21145,22760,22759,22898,23373,24024,34863,24399,25089,25091,25092,25897,25893,26006,26347,27409,27410,27407,27594,28763,28762,29218,29570,29569,29571,30320,30676,31847,31846,32405,33388,34362,34368,34361,34364,34353,34363,34366,34864,34866,34862,34867,35190,35188,35187,35326,35724,35726,35723,35720,35909,36121,36504,36708,36707,37308,37986,37973,37981,37975,37982,38852,38853,38912,39510,39513,39710,39711,39712,40018,40024,40016,40010,40013,40011,40021,40025,40012,40014,40443,40439,40431,40419,40427,40440,40420,40438,40417,40430,40422,40434,40432,40418,40428,40436,40435,40424,40429,40642,40656,40690,40691,40710,40732,40760,40759,40758,40771,40783,40817,40816,40814,40815,22227,22221,23374,23661,25901,26349,26350,27411,28767,28769,28765,28768,29219,29915,29925,30677,31032,31159,31158,31850,32407,32649,33389,34371,34872,34871,34869,34891,35732,35733,36510,36511,36512,36509,37310,37309,37314,37995,37992,37993,38629,38726,38723,38727,38855,38885,39518,39637,39769,40035,40039,40038,40034,40030,40032,40450,40446,40455,40451,40454,40453,40448,40449,40457,40447,40445,40452,40608,40734,40774,40820,40821,40822,22228,25902,26040,27416,27417,27415,27418,28770,29222,29354,30680,30681,31033,31849,31851,31990,32410,32408,32411,32409,33248,33249,34374,34375,34376,35193,35194,35196,35195,35327,35736,35737,36517,36516,36515,37998,37997,37999,38001,38003,38729,39026,39263,40040,40046,40045,40459,40461,40464,40463,40466,40465,40609,40693,40713,40775,40824,40827,40826,40825,22302,28774,31855,34876,36274,36518,37315,38004,38008,38006,38005,39520,40052,40051,40049,40053,40468,40467,40694,40714,40868,28776,28773,31991,34410,34878,34877,34879,35742,35996,36521,36553,38731,39027,39028,39116,39265,39339,39524,39526,39527,39716,40469,40471,40776,25095,27422,29223,34380,36520,38018,38016,38017,39529,39528,39726,40473,29225,34379,35743,38019,40057,40631,30325,39531,40058,40477,28777,28778,40612,40830,40777,40856,30849,37561,35023,22715,24658,31911,23290,9556,9574,9559,9568,9580,9571,9562,9577,9565,9554,9572,9557,9566,9578,9569,9560,9575,9563,9555,9573,9558,9567,9579,9570,9561,9576,9564,9553,9552,9581,9582,9584,9583,65517,132423,37595,132575,147397,34124,17077,29679,20917,13897,149826,166372,37700,137691,33518,146632,30780,26436,25311,149811,166314,131744,158643,135941,20395,140525,20488,159017,162436,144896,150193,140563,20521,131966,24484,131968,131911,28379,132127,20605,20737,13434,20750,39020,14147,33814,149924,132231,20832,144308,20842,134143,139516,131813,140592,132494,143923,137603,23426,34685,132531,146585,20914,20920,40244,20937,20943,20945,15580,20947,150182,20915,20962,21314,20973,33741,26942,145197,24443,21003,21030,21052,21173,21079,21140,21177,21189,31765,34114,21216,34317,158483,21253,166622,21833,28377,147328,133460,147436,21299,21316,134114,27851,136998,26651,29653,24650,16042,14540,136936,29149,17570,21357,21364,165547,21374,21375,136598,136723,30694,21395,166555,21408,21419,21422,29607,153458,16217,29596,21441,21445,27721,20041,22526,21465,15019,134031,21472,147435,142755,21494,134263,21523,28793,21803,26199,27995,21613,158547,134516,21853,21647,21668,18342,136973,134877,15796,134477,166332,140952,21831,19693,21551,29719,21894,21929,22021,137431,147514,17746,148533,26291,135348,22071,26317,144010,26276,26285,22093,22095,30961,22257,38791,21502,22272,22255,22253,166758,13859,135759,22342,147877,27758,28811,22338,14001,158846,22502,136214,22531,136276,148323,22566,150517,22620,22698,13665,22752,22748,135740,22779,23551,22339,172368,148088,37843,13729,22815,26790,14019,28249,136766,23076,21843,136850,34053,22985,134478,158849,159018,137180,23001,137211,137138,159142,28017,137256,136917,23033,159301,23211,23139,14054,149929,23159,14088,23190,29797,23251,159649,140628,15749,137489,14130,136888,24195,21200,23414,25992,23420,162318,16388,18525,131588,23509,24928,137780,154060,132517,23539,23453,19728,23557,138052,23571,29646,23572,138405,158504,23625,18653,23685,23785,23791,23947,138745,138807,23824,23832,23878,138916,23738,24023,33532,14381,149761,139337,139635,33415,14390,15298,24110,27274,24181,24186,148668,134355,21414,20151,24272,21416,137073,24073,24308,164994,24313,24315,14496,24316,26686,37915,24333,131521,194708,15070,18606,135994,24378,157832,140240,24408,140401,24419,38845,159342,24434,37696,166454,24487,23990,15711,152144,139114,159992,140904,37334,131742,166441,24625,26245,137335,14691,15815,13881,22416,141236,31089,15936,24734,24740,24755,149890,149903,162387,29860,20705,23200,24932,33828,24898,194726,159442,24961,20980,132694,24967,23466,147383,141407,25043,166813,170333,25040,14642,141696,141505,24611,24924,25886,25483,131352,25285,137072,25301,142861,25452,149983,14871,25656,25592,136078,137212,25744,28554,142902,38932,147596,153373,25825,25829,38011,14950,25658,14935,25933,28438,150056,150051,25989,25965,25951,143486,26037,149824,19255,26065,16600,137257,26080,26083,24543,144384,26136,143863,143864,26180,143780,143781,26187,134773,26215,152038,26227,26228,138813,143921,165364,143816,152339,30661,141559,39332,26370,148380,150049,15147,27130,145346,26462,26471,26466,147917,168173,26583,17641,26658,28240,37436,26625,144358,159136,26717,144495,27105,27147,166623,26995,26819,144845,26881,26880,15666,14849,144956,15232,26540,26977,166474,17148,26934,27032,15265,132041,33635,20624,27129,144985,139562,27205,145155,27293,15347,26545,27336,168348,15373,27421,133411,24798,27445,27508,141261,28341,146139,132021,137560,14144,21537,146266,27617,147196,27612,27703,140427,149745,158545,27738,33318,27769,146876,17605,146877,147876,149772,149760,146633,14053,15595,134450,39811,143865,140433,32655,26679,159013,159137,159211,28054,27996,28284,28420,149887,147589,159346,34099,159604,20935,27804,28189,33838,166689,28207,146991,29779,147330,31180,28239,23185,143435,28664,14093,28573,146992,28410,136343,147517,17749,37872,28484,28508,15694,28532,168304,15675,28575,147780,28627,147601,147797,147513,147440,147380,147775,20959,147798,147799,147776,156125,28747,28798,28839,28801,28876,28885,28886,28895,16644,15848,29108,29078,148087,28971,28997,23176,29002,29038,23708,148325,29007,37730,148161,28972,148570,150055,150050,29114,166888,28861,29198,37954,29205,22801,37955,29220,37697,153093,29230,29248,149876,26813,29269,29271,15957,143428,26637,28477,29314,29482,29483,149539,165931,18669,165892,29480,29486,29647,29610,134202,158254,29641,29769,147938,136935,150052,26147,14021,149943,149901,150011,29687,29717,26883,150054,29753,132547,16087,29788,141485,29792,167602,29767,29668,29814,33721,29804,14128,29812,37873,27180,29826,18771,150156,147807,150137,166799,23366,166915,137374,29896,137608,29966,29929,29982,167641,137803,23511,167596,37765,30029,30026,30055,30062,151426,16132,150803,30094,29789,30110,30132,30210,30252,30289,30287,30319,30326,156661,30352,33263,14328,157969,157966,30369,30373,30391,30412,159647,33890,151709,151933,138780,30494,30502,30528,25775,152096,30552,144044,30639,166244,166248,136897,30708,30729,136054,150034,26826,30895,30919,30931,38565,31022,153056,30935,31028,30897,161292,36792,34948,166699,155779,140828,31110,35072,26882,31104,153687,31133,162617,31036,31145,28202,160038,16040,31174,168205,31188],\n  \"euc-kr\":[44034,44035,44037,44038,44043,44044,44045,44046,44047,44056,44062,44063,44065,44066,44067,44069,44070,44071,44072,44073,44074,44075,44078,44082,44083,44084,null,null,null,null,null,null,44085,44086,44087,44090,44091,44093,44094,44095,44097,44098,44099,44100,44101,44102,44103,44104,44105,44106,44108,44110,44111,44112,44113,44114,44115,44117,null,null,null,null,null,null,44118,44119,44121,44122,44123,44125,44126,44127,44128,44129,44130,44131,44132,44133,44134,44135,44136,44137,44138,44139,44140,44141,44142,44143,44146,44147,44149,44150,44153,44155,44156,44157,44158,44159,44162,44167,44168,44173,44174,44175,44177,44178,44179,44181,44182,44183,44184,44185,44186,44187,44190,44194,44195,44196,44197,44198,44199,44203,44205,44206,44209,44210,44211,44212,44213,44214,44215,44218,44222,44223,44224,44226,44227,44229,44230,44231,44233,44234,44235,44237,44238,44239,44240,44241,44242,44243,44244,44246,44248,44249,44250,44251,44252,44253,44254,44255,44258,44259,44261,44262,44265,44267,44269,44270,44274,44276,44279,44280,44281,44282,44283,44286,44287,44289,44290,44291,44293,44295,44296,44297,44298,44299,44302,44304,44306,44307,44308,44309,44310,44311,44313,44314,44315,44317,44318,44319,44321,44322,44323,44324,44325,44326,44327,44328,44330,44331,44334,44335,44336,44337,44338,44339,null,null,null,null,null,null,44342,44343,44345,44346,44347,44349,44350,44351,44352,44353,44354,44355,44358,44360,44362,44363,44364,44365,44366,44367,44369,44370,44371,44373,44374,44375,null,null,null,null,null,null,44377,44378,44379,44380,44381,44382,44383,44384,44386,44388,44389,44390,44391,44392,44393,44394,44395,44398,44399,44401,44402,44407,44408,44409,44410,44414,44416,44419,44420,44421,44422,44423,44426,44427,44429,44430,44431,44433,44434,44435,44436,44437,44438,44439,44440,44441,44442,44443,44446,44447,44448,44449,44450,44451,44453,44454,44455,44456,44457,44458,44459,44460,44461,44462,44463,44464,44465,44466,44467,44468,44469,44470,44472,44473,44474,44475,44476,44477,44478,44479,44482,44483,44485,44486,44487,44489,44490,44491,44492,44493,44494,44495,44498,44500,44501,44502,44503,44504,44505,44506,44507,44509,44510,44511,44513,44514,44515,44517,44518,44519,44520,44521,44522,44523,44524,44525,44526,44527,44528,44529,44530,44531,44532,44533,44534,44535,44538,44539,44541,44542,44546,44547,44548,44549,44550,44551,44554,44556,44558,44559,44560,44561,44562,44563,44565,44566,44567,44568,44569,44570,44571,44572,null,null,null,null,null,null,44573,44574,44575,44576,44577,44578,44579,44580,44581,44582,44583,44584,44585,44586,44587,44588,44589,44590,44591,44594,44595,44597,44598,44601,44603,44604,null,null,null,null,null,null,44605,44606,44607,44610,44612,44615,44616,44617,44619,44623,44625,44626,44627,44629,44631,44632,44633,44634,44635,44638,44642,44643,44644,44646,44647,44650,44651,44653,44654,44655,44657,44658,44659,44660,44661,44662,44663,44666,44670,44671,44672,44673,44674,44675,44678,44679,44680,44681,44682,44683,44685,44686,44687,44688,44689,44690,44691,44692,44693,44694,44695,44696,44697,44698,44699,44700,44701,44702,44703,44704,44705,44706,44707,44708,44709,44710,44711,44712,44713,44714,44715,44716,44717,44718,44719,44720,44721,44722,44723,44724,44725,44726,44727,44728,44729,44730,44731,44735,44737,44738,44739,44741,44742,44743,44744,44745,44746,44747,44750,44754,44755,44756,44757,44758,44759,44762,44763,44765,44766,44767,44768,44769,44770,44771,44772,44773,44774,44775,44777,44778,44780,44782,44783,44784,44785,44786,44787,44789,44790,44791,44793,44794,44795,44797,44798,44799,44800,44801,44802,44803,44804,44805,null,null,null,null,null,null,44806,44809,44810,44811,44812,44814,44815,44817,44818,44819,44820,44821,44822,44823,44824,44825,44826,44827,44828,44829,44830,44831,44832,44833,44834,44835,null,null,null,null,null,null,44836,44837,44838,44839,44840,44841,44842,44843,44846,44847,44849,44851,44853,44854,44855,44856,44857,44858,44859,44862,44864,44868,44869,44870,44871,44874,44875,44876,44877,44878,44879,44881,44882,44883,44884,44885,44886,44887,44888,44889,44890,44891,44894,44895,44896,44897,44898,44899,44902,44903,44904,44905,44906,44907,44908,44909,44910,44911,44912,44913,44914,44915,44916,44917,44918,44919,44920,44922,44923,44924,44925,44926,44927,44929,44930,44931,44933,44934,44935,44937,44938,44939,44940,44941,44942,44943,44946,44947,44948,44950,44951,44952,44953,44954,44955,44957,44958,44959,44960,44961,44962,44963,44964,44965,44966,44967,44968,44969,44970,44971,44972,44973,44974,44975,44976,44977,44978,44979,44980,44981,44982,44983,44986,44987,44989,44990,44991,44993,44994,44995,44996,44997,44998,45002,45004,45007,45008,45009,45010,45011,45013,45014,45015,45016,45017,45018,45019,45021,45022,45023,45024,45025,null,null,null,null,null,null,45026,45027,45028,45029,45030,45031,45034,45035,45036,45037,45038,45039,45042,45043,45045,45046,45047,45049,45050,45051,45052,45053,45054,45055,45058,45059,null,null,null,null,null,null,45061,45062,45063,45064,45065,45066,45067,45069,45070,45071,45073,45074,45075,45077,45078,45079,45080,45081,45082,45083,45086,45087,45088,45089,45090,45091,45092,45093,45094,45095,45097,45098,45099,45100,45101,45102,45103,45104,45105,45106,45107,45108,45109,45110,45111,45112,45113,45114,45115,45116,45117,45118,45119,45120,45121,45122,45123,45126,45127,45129,45131,45133,45135,45136,45137,45138,45142,45144,45146,45147,45148,45150,45151,45152,45153,45154,45155,45156,45157,45158,45159,45160,45161,45162,45163,45164,45165,45166,45167,45168,45169,45170,45171,45172,45173,45174,45175,45176,45177,45178,45179,45182,45183,45185,45186,45187,45189,45190,45191,45192,45193,45194,45195,45198,45200,45202,45203,45204,45205,45206,45207,45211,45213,45214,45219,45220,45221,45222,45223,45226,45232,45234,45238,45239,45241,45242,45243,45245,45246,45247,45248,45249,45250,45251,45254,45258,45259,45260,45261,45262,45263,45266,null,null,null,null,null,null,45267,45269,45270,45271,45273,45274,45275,45276,45277,45278,45279,45281,45282,45283,45284,45286,45287,45288,45289,45290,45291,45292,45293,45294,45295,45296,null,null,null,null,null,null,45297,45298,45299,45300,45301,45302,45303,45304,45305,45306,45307,45308,45309,45310,45311,45312,45313,45314,45315,45316,45317,45318,45319,45322,45325,45326,45327,45329,45332,45333,45334,45335,45338,45342,45343,45344,45345,45346,45350,45351,45353,45354,45355,45357,45358,45359,45360,45361,45362,45363,45366,45370,45371,45372,45373,45374,45375,45378,45379,45381,45382,45383,45385,45386,45387,45388,45389,45390,45391,45394,45395,45398,45399,45401,45402,45403,45405,45406,45407,45409,45410,45411,45412,45413,45414,45415,45416,45417,45418,45419,45420,45421,45422,45423,45424,45425,45426,45427,45428,45429,45430,45431,45434,45435,45437,45438,45439,45441,45443,45444,45445,45446,45447,45450,45452,45454,45455,45456,45457,45461,45462,45463,45465,45466,45467,45469,45470,45471,45472,45473,45474,45475,45476,45477,45478,45479,45481,45482,45483,45484,45485,45486,45487,45488,45489,45490,45491,45492,45493,45494,45495,45496,null,null,null,null,null,null,45497,45498,45499,45500,45501,45502,45503,45504,45505,45506,45507,45508,45509,45510,45511,45512,45513,45514,45515,45517,45518,45519,45521,45522,45523,45525,null,null,null,null,null,null,45526,45527,45528,45529,45530,45531,45534,45536,45537,45538,45539,45540,45541,45542,45543,45546,45547,45549,45550,45551,45553,45554,45555,45556,45557,45558,45559,45560,45562,45564,45566,45567,45568,45569,45570,45571,45574,45575,45577,45578,45581,45582,45583,45584,45585,45586,45587,45590,45592,45594,45595,45596,45597,45598,45599,45601,45602,45603,45604,45605,45606,45607,45608,45609,45610,45611,45612,45613,45614,45615,45616,45617,45618,45619,45621,45622,45623,45624,45625,45626,45627,45629,45630,45631,45632,45633,45634,45635,45636,45637,45638,45639,45640,45641,45642,45643,45644,45645,45646,45647,45648,45649,45650,45651,45652,45653,45654,45655,45657,45658,45659,45661,45662,45663,45665,45666,45667,45668,45669,45670,45671,45674,45675,45676,45677,45678,45679,45680,45681,45682,45683,45686,45687,45688,45689,45690,45691,45693,45694,45695,45696,45697,45698,45699,45702,45703,45704,45706,45707,45708,45709,45710,null,null,null,null,null,null,45711,45714,45715,45717,45718,45719,45723,45724,45725,45726,45727,45730,45732,45735,45736,45737,45739,45741,45742,45743,45745,45746,45747,45749,45750,45751,null,null,null,null,null,null,45752,45753,45754,45755,45756,45757,45758,45759,45760,45761,45762,45763,45764,45765,45766,45767,45770,45771,45773,45774,45775,45777,45779,45780,45781,45782,45783,45786,45788,45790,45791,45792,45793,45795,45799,45801,45802,45808,45809,45810,45814,45820,45821,45822,45826,45827,45829,45830,45831,45833,45834,45835,45836,45837,45838,45839,45842,45846,45847,45848,45849,45850,45851,45853,45854,45855,45856,45857,45858,45859,45860,45861,45862,45863,45864,45865,45866,45867,45868,45869,45870,45871,45872,45873,45874,45875,45876,45877,45878,45879,45880,45881,45882,45883,45884,45885,45886,45887,45888,45889,45890,45891,45892,45893,45894,45895,45896,45897,45898,45899,45900,45901,45902,45903,45904,45905,45906,45907,45911,45913,45914,45917,45920,45921,45922,45923,45926,45928,45930,45932,45933,45935,45938,45939,45941,45942,45943,45945,45946,45947,45948,45949,45950,45951,45954,45958,45959,45960,45961,45962,45963,45965,null,null,null,null,null,null,45966,45967,45969,45970,45971,45973,45974,45975,45976,45977,45978,45979,45980,45981,45982,45983,45986,45987,45988,45989,45990,45991,45993,45994,45995,45997,null,null,null,null,null,null,45998,45999,46000,46001,46002,46003,46004,46005,46006,46007,46008,46009,46010,46011,46012,46013,46014,46015,46016,46017,46018,46019,46022,46023,46025,46026,46029,46031,46033,46034,46035,46038,46040,46042,46044,46046,46047,46049,46050,46051,46053,46054,46055,46057,46058,46059,46060,46061,46062,46063,46064,46065,46066,46067,46068,46069,46070,46071,46072,46073,46074,46075,46077,46078,46079,46080,46081,46082,46083,46084,46085,46086,46087,46088,46089,46090,46091,46092,46093,46094,46095,46097,46098,46099,46100,46101,46102,46103,46105,46106,46107,46109,46110,46111,46113,46114,46115,46116,46117,46118,46119,46122,46124,46125,46126,46127,46128,46129,46130,46131,46133,46134,46135,46136,46137,46138,46139,46140,46141,46142,46143,46144,46145,46146,46147,46148,46149,46150,46151,46152,46153,46154,46155,46156,46157,46158,46159,46162,46163,46165,46166,46167,46169,46170,46171,46172,46173,46174,46175,46178,46180,46182,null,null,null,null,null,null,46183,46184,46185,46186,46187,46189,46190,46191,46192,46193,46194,46195,46196,46197,46198,46199,46200,46201,46202,46203,46204,46205,46206,46207,46209,46210,null,null,null,null,null,null,46211,46212,46213,46214,46215,46217,46218,46219,46220,46221,46222,46223,46224,46225,46226,46227,46228,46229,46230,46231,46232,46233,46234,46235,46236,46238,46239,46240,46241,46242,46243,46245,46246,46247,46249,46250,46251,46253,46254,46255,46256,46257,46258,46259,46260,46262,46264,46266,46267,46268,46269,46270,46271,46273,46274,46275,46277,46278,46279,46281,46282,46283,46284,46285,46286,46287,46289,46290,46291,46292,46294,46295,46296,46297,46298,46299,46302,46303,46305,46306,46309,46311,46312,46313,46314,46315,46318,46320,46322,46323,46324,46325,46326,46327,46329,46330,46331,46332,46333,46334,46335,46336,46337,46338,46339,46340,46341,46342,46343,46344,46345,46346,46347,46348,46349,46350,46351,46352,46353,46354,46355,46358,46359,46361,46362,46365,46366,46367,46368,46369,46370,46371,46374,46379,46380,46381,46382,46383,46386,46387,46389,46390,46391,46393,46394,46395,46396,46397,46398,46399,46402,46406,null,null,null,null,null,null,46407,46408,46409,46410,46414,46415,46417,46418,46419,46421,46422,46423,46424,46425,46426,46427,46430,46434,46435,46436,46437,46438,46439,46440,46441,46442,null,null,null,null,null,null,46443,46444,46445,46446,46447,46448,46449,46450,46451,46452,46453,46454,46455,46456,46457,46458,46459,46460,46461,46462,46463,46464,46465,46466,46467,46468,46469,46470,46471,46472,46473,46474,46475,46476,46477,46478,46479,46480,46481,46482,46483,46484,46485,46486,46487,46488,46489,46490,46491,46492,46493,46494,46495,46498,46499,46501,46502,46503,46505,46508,46509,46510,46511,46514,46518,46519,46520,46521,46522,46526,46527,46529,46530,46531,46533,46534,46535,46536,46537,46538,46539,46542,46546,46547,46548,46549,46550,46551,46553,46554,46555,46556,46557,46558,46559,46560,46561,46562,46563,46564,46565,46566,46567,46568,46569,46570,46571,46573,46574,46575,46576,46577,46578,46579,46580,46581,46582,46583,46584,46585,46586,46587,46588,46589,46590,46591,46592,46593,46594,46595,46596,46597,46598,46599,46600,46601,46602,46603,46604,46605,46606,46607,46610,46611,46613,46614,46615,46617,46618,46619,46620,46621,null,null,null,null,null,null,46622,46623,46624,46625,46626,46627,46628,46630,46631,46632,46633,46634,46635,46637,46638,46639,46640,46641,46642,46643,46645,46646,46647,46648,46649,46650,null,null,null,null,null,null,46651,46652,46653,46654,46655,46656,46657,46658,46659,46660,46661,46662,46663,46665,46666,46667,46668,46669,46670,46671,46672,46673,46674,46675,46676,46677,46678,46679,46680,46681,46682,46683,46684,46685,46686,46687,46688,46689,46690,46691,46693,46694,46695,46697,46698,46699,46700,46701,46702,46703,46704,46705,46706,46707,46708,46709,46710,46711,46712,46713,46714,46715,46716,46717,46718,46719,46720,46721,46722,46723,46724,46725,46726,46727,46728,46729,46730,46731,46732,46733,46734,46735,46736,46737,46738,46739,46740,46741,46742,46743,46744,46745,46746,46747,46750,46751,46753,46754,46755,46757,46758,46759,46760,46761,46762,46765,46766,46767,46768,46770,46771,46772,46773,46774,46775,46776,46777,46778,46779,46780,46781,46782,46783,46784,46785,46786,46787,46788,46789,46790,46791,46792,46793,46794,46795,46796,46797,46798,46799,46800,46801,46802,46803,46805,46806,46807,46808,46809,46810,46811,46812,46813,null,null,null,null,null,null,46814,46815,46816,46817,46818,46819,46820,46821,46822,46823,46824,46825,46826,46827,46828,46829,46830,46831,46833,46834,46835,46837,46838,46839,46841,46842,null,null,null,null,null,null,46843,46844,46845,46846,46847,46850,46851,46852,46854,46855,46856,46857,46858,46859,46860,46861,46862,46863,46864,46865,46866,46867,46868,46869,46870,46871,46872,46873,46874,46875,46876,46877,46878,46879,46880,46881,46882,46883,46884,46885,46886,46887,46890,46891,46893,46894,46897,46898,46899,46900,46901,46902,46903,46906,46908,46909,46910,46911,46912,46913,46914,46915,46917,46918,46919,46921,46922,46923,46925,46926,46927,46928,46929,46930,46931,46934,46935,46936,46937,46938,46939,46940,46941,46942,46943,46945,46946,46947,46949,46950,46951,46953,46954,46955,46956,46957,46958,46959,46962,46964,46966,46967,46968,46969,46970,46971,46974,46975,46977,46978,46979,46981,46982,46983,46984,46985,46986,46987,46990,46995,46996,46997,47002,47003,47005,47006,47007,47009,47010,47011,47012,47013,47014,47015,47018,47022,47023,47024,47025,47026,47027,47030,47031,47033,47034,47035,47036,47037,47038,47039,47040,47041,null,null,null,null,null,null,47042,47043,47044,47045,47046,47048,47050,47051,47052,47053,47054,47055,47056,47057,47058,47059,47060,47061,47062,47063,47064,47065,47066,47067,47068,47069,null,null,null,null,null,null,47070,47071,47072,47073,47074,47075,47076,47077,47078,47079,47080,47081,47082,47083,47086,47087,47089,47090,47091,47093,47094,47095,47096,47097,47098,47099,47102,47106,47107,47108,47109,47110,47114,47115,47117,47118,47119,47121,47122,47123,47124,47125,47126,47127,47130,47132,47134,47135,47136,47137,47138,47139,47142,47143,47145,47146,47147,47149,47150,47151,47152,47153,47154,47155,47158,47162,47163,47164,47165,47166,47167,47169,47170,47171,47173,47174,47175,47176,47177,47178,47179,47180,47181,47182,47183,47184,47186,47188,47189,47190,47191,47192,47193,47194,47195,47198,47199,47201,47202,47203,47205,47206,47207,47208,47209,47210,47211,47214,47216,47218,47219,47220,47221,47222,47223,47225,47226,47227,47229,47230,47231,47232,47233,47234,47235,47236,47237,47238,47239,47240,47241,47242,47243,47244,47246,47247,47248,47249,47250,47251,47252,47253,47254,47255,47256,47257,47258,47259,47260,47261,47262,47263,null,null,null,null,null,null,47264,47265,47266,47267,47268,47269,47270,47271,47273,47274,47275,47276,47277,47278,47279,47281,47282,47283,47285,47286,47287,47289,47290,47291,47292,47293,null,null,null,null,null,null,47294,47295,47298,47300,47302,47303,47304,47305,47306,47307,47309,47310,47311,47313,47314,47315,47317,47318,47319,47320,47321,47322,47323,47324,47326,47328,47330,47331,47332,47333,47334,47335,47338,47339,47341,47342,47343,47345,47346,47347,47348,47349,47350,47351,47354,47356,47358,47359,47360,47361,47362,47363,47365,47366,47367,47368,47369,47370,47371,47372,47373,47374,47375,47376,47377,47378,47379,47380,47381,47382,47383,47385,47386,47387,47388,47389,47390,47391,47393,47394,47395,47396,47397,47398,47399,47400,47401,47402,47403,47404,47405,47406,47407,47408,47409,47410,47411,47412,47413,47414,47415,47416,47417,47418,47419,47422,47423,47425,47426,47427,47429,47430,47431,47432,47433,47434,47435,47437,47438,47440,47442,47443,47444,47445,47446,47447,47450,47451,47453,47454,47455,47457,47458,47459,47460,47461,47462,47463,47466,47468,47470,47471,47472,47473,47474,47475,47478,47479,47481,47482,47483,47485,null,null,null,null,null,null,47486,47487,47488,47489,47490,47491,47494,47496,47499,47500,47503,47504,47505,47506,47507,47508,47509,47510,47511,47512,47513,47514,47515,47516,47517,47518,null,null,null,null,null,null,47519,47520,47521,47522,47523,47524,47525,47526,47527,47528,47529,47530,47531,47534,47535,47537,47538,47539,47541,47542,47543,47544,47545,47546,47547,47550,47552,47554,47555,47556,47557,47558,47559,47562,47563,47565,47571,47572,47573,47574,47575,47578,47580,47583,47584,47586,47590,47591,47593,47594,47595,47597,47598,47599,47600,47601,47602,47603,47606,47611,47612,47613,47614,47615,47618,47619,47620,47621,47622,47623,47625,47626,47627,47628,47629,47630,47631,47632,47633,47634,47635,47636,47638,47639,47640,47641,47642,47643,47644,47645,47646,47647,47648,47649,47650,47651,47652,47653,47654,47655,47656,47657,47658,47659,47660,47661,47662,47663,47664,47665,47666,47667,47668,47669,47670,47671,47674,47675,47677,47678,47679,47681,47683,47684,47685,47686,47687,47690,47692,47695,47696,47697,47698,47702,47703,47705,47706,47707,47709,47710,47711,47712,47713,47714,47715,47718,47722,47723,47724,47725,47726,47727,null,null,null,null,null,null,47730,47731,47733,47734,47735,47737,47738,47739,47740,47741,47742,47743,47744,47745,47746,47750,47752,47753,47754,47755,47757,47758,47759,47760,47761,47762,null,null,null,null,null,null,47763,47764,47765,47766,47767,47768,47769,47770,47771,47772,47773,47774,47775,47776,47777,47778,47779,47780,47781,47782,47783,47786,47789,47790,47791,47793,47795,47796,47797,47798,47799,47802,47804,47806,47807,47808,47809,47810,47811,47813,47814,47815,47817,47818,47819,47820,47821,47822,47823,47824,47825,47826,47827,47828,47829,47830,47831,47834,47835,47836,47837,47838,47839,47840,47841,47842,47843,47844,47845,47846,47847,47848,47849,47850,47851,47852,47853,47854,47855,47856,47857,47858,47859,47860,47861,47862,47863,47864,47865,47866,47867,47869,47870,47871,47873,47874,47875,47877,47878,47879,47880,47881,47882,47883,47884,47886,47888,47890,47891,47892,47893,47894,47895,47897,47898,47899,47901,47902,47903,47905,47906,47907,47908,47909,47910,47911,47912,47914,47916,47917,47918,47919,47920,47921,47922,47923,47927,47929,47930,47935,47936,47937,47938,47939,47942,47944,47946,47947,47948,47950,47953,47954,null,null,null,null,null,null,47955,47957,47958,47959,47961,47962,47963,47964,47965,47966,47967,47968,47970,47972,47973,47974,47975,47976,47977,47978,47979,47981,47982,47983,47984,47985,null,null,null,null,null,null,47986,47987,47988,47989,47990,47991,47992,47993,47994,47995,47996,47997,47998,47999,48000,48001,48002,48003,48004,48005,48006,48007,48009,48010,48011,48013,48014,48015,48017,48018,48019,48020,48021,48022,48023,48024,48025,48026,48027,48028,48029,48030,48031,48032,48033,48034,48035,48037,48038,48039,48041,48042,48043,48045,48046,48047,48048,48049,48050,48051,48053,48054,48056,48057,48058,48059,48060,48061,48062,48063,48065,48066,48067,48069,48070,48071,48073,48074,48075,48076,48077,48078,48079,48081,48082,48084,48085,48086,48087,48088,48089,48090,48091,48092,48093,48094,48095,48096,48097,48098,48099,48100,48101,48102,48103,48104,48105,48106,48107,48108,48109,48110,48111,48112,48113,48114,48115,48116,48117,48118,48119,48122,48123,48125,48126,48129,48131,48132,48133,48134,48135,48138,48142,48144,48146,48147,48153,48154,48160,48161,48162,48163,48166,48168,48170,48171,48172,48174,48175,48178,48179,48181,null,null,null,null,null,null,48182,48183,48185,48186,48187,48188,48189,48190,48191,48194,48198,48199,48200,48202,48203,48206,48207,48209,48210,48211,48212,48213,48214,48215,48216,48217,null,null,null,null,null,null,48218,48219,48220,48222,48223,48224,48225,48226,48227,48228,48229,48230,48231,48232,48233,48234,48235,48236,48237,48238,48239,48240,48241,48242,48243,48244,48245,48246,48247,48248,48249,48250,48251,48252,48253,48254,48255,48256,48257,48258,48259,48262,48263,48265,48266,48269,48271,48272,48273,48274,48275,48278,48280,48283,48284,48285,48286,48287,48290,48291,48293,48294,48297,48298,48299,48300,48301,48302,48303,48306,48310,48311,48312,48313,48314,48315,48318,48319,48321,48322,48323,48325,48326,48327,48328,48329,48330,48331,48332,48334,48338,48339,48340,48342,48343,48345,48346,48347,48349,48350,48351,48352,48353,48354,48355,48356,48357,48358,48359,48360,48361,48362,48363,48364,48365,48366,48367,48368,48369,48370,48371,48375,48377,48378,48379,48381,48382,48383,48384,48385,48386,48387,48390,48392,48394,48395,48396,48397,48398,48399,48401,48402,48403,48405,48406,48407,48408,48409,48410,48411,48412,48413,null,null,null,null,null,null,48414,48415,48416,48417,48418,48419,48421,48422,48423,48424,48425,48426,48427,48429,48430,48431,48432,48433,48434,48435,48436,48437,48438,48439,48440,48441,null,null,null,null,null,null,48442,48443,48444,48445,48446,48447,48449,48450,48451,48452,48453,48454,48455,48458,48459,48461,48462,48463,48465,48466,48467,48468,48469,48470,48471,48474,48475,48476,48477,48478,48479,48480,48481,48482,48483,48485,48486,48487,48489,48490,48491,48492,48493,48494,48495,48496,48497,48498,48499,48500,48501,48502,48503,48504,48505,48506,48507,48508,48509,48510,48511,48514,48515,48517,48518,48523,48524,48525,48526,48527,48530,48532,48534,48535,48536,48539,48541,48542,48543,48544,48545,48546,48547,48549,48550,48551,48552,48553,48554,48555,48556,48557,48558,48559,48561,48562,48563,48564,48565,48566,48567,48569,48570,48571,48572,48573,48574,48575,48576,48577,48578,48579,48580,48581,48582,48583,48584,48585,48586,48587,48588,48589,48590,48591,48592,48593,48594,48595,48598,48599,48601,48602,48603,48605,48606,48607,48608,48609,48610,48611,48612,48613,48614,48615,48616,48618,48619,48620,48621,48622,48623,48625,null,null,null,null,null,null,48626,48627,48629,48630,48631,48633,48634,48635,48636,48637,48638,48639,48641,48642,48644,48646,48647,48648,48649,48650,48651,48654,48655,48657,48658,48659,null,null,null,null,null,null,48661,48662,48663,48664,48665,48666,48667,48670,48672,48673,48674,48675,48676,48677,48678,48679,48680,48681,48682,48683,48684,48685,48686,48687,48688,48689,48690,48691,48692,48693,48694,48695,48696,48697,48698,48699,48700,48701,48702,48703,48704,48705,48706,48707,48710,48711,48713,48714,48715,48717,48719,48720,48721,48722,48723,48726,48728,48732,48733,48734,48735,48738,48739,48741,48742,48743,48745,48747,48748,48749,48750,48751,48754,48758,48759,48760,48761,48762,48766,48767,48769,48770,48771,48773,48774,48775,48776,48777,48778,48779,48782,48786,48787,48788,48789,48790,48791,48794,48795,48796,48797,48798,48799,48800,48801,48802,48803,48804,48805,48806,48807,48809,48810,48811,48812,48813,48814,48815,48816,48817,48818,48819,48820,48821,48822,48823,48824,48825,48826,48827,48828,48829,48830,48831,48832,48833,48834,48835,48836,48837,48838,48839,48840,48841,48842,48843,48844,48845,48846,48847,48850,48851,null,null,null,null,null,null,48853,48854,48857,48858,48859,48860,48861,48862,48863,48865,48866,48870,48871,48872,48873,48874,48875,48877,48878,48879,48880,48881,48882,48883,48884,48885,null,null,null,null,null,null,48886,48887,48888,48889,48890,48891,48892,48893,48894,48895,48896,48898,48899,48900,48901,48902,48903,48906,48907,48908,48909,48910,48911,48912,48913,48914,48915,48916,48917,48918,48919,48922,48926,48927,48928,48929,48930,48931,48932,48933,48934,48935,48936,48937,48938,48939,48940,48941,48942,48943,48944,48945,48946,48947,48948,48949,48950,48951,48952,48953,48954,48955,48956,48957,48958,48959,48962,48963,48965,48966,48967,48969,48970,48971,48972,48973,48974,48975,48978,48979,48980,48982,48983,48984,48985,48986,48987,48988,48989,48990,48991,48992,48993,48994,48995,48996,48997,48998,48999,49000,49001,49002,49003,49004,49005,49006,49007,49008,49009,49010,49011,49012,49013,49014,49015,49016,49017,49018,49019,49020,49021,49022,49023,49024,49025,49026,49027,49028,49029,49030,49031,49032,49033,49034,49035,49036,49037,49038,49039,49040,49041,49042,49043,49045,49046,49047,49048,49049,49050,49051,49052,49053,null,null,null,null,null,null,49054,49055,49056,49057,49058,49059,49060,49061,49062,49063,49064,49065,49066,49067,49068,49069,49070,49071,49073,49074,49075,49076,49077,49078,49079,49080,null,null,null,null,null,null,49081,49082,49083,49084,49085,49086,49087,49088,49089,49090,49091,49092,49094,49095,49096,49097,49098,49099,49102,49103,49105,49106,49107,49109,49110,49111,49112,49113,49114,49115,49117,49118,49120,49122,49123,49124,49125,49126,49127,49128,49129,49130,49131,49132,49133,49134,49135,49136,49137,49138,49139,49140,49141,49142,49143,49144,49145,49146,49147,49148,49149,49150,49151,49152,49153,49154,49155,49156,49157,49158,49159,49160,49161,49162,49163,49164,49165,49166,49167,49168,49169,49170,49171,49172,49173,49174,49175,49176,49177,49178,49179,49180,49181,49182,49183,49184,49185,49186,49187,49188,49189,49190,49191,49192,49193,49194,49195,49196,49197,49198,49199,49200,49201,49202,49203,49204,49205,49206,49207,49208,49209,49210,49211,49213,49214,49215,49216,49217,49218,49219,49220,49221,49222,49223,49224,49225,49226,49227,49228,49229,49230,49231,49232,49234,49235,49236,49237,49238,49239,49241,49242,49243,null,null,null,null,null,null,49245,49246,49247,49249,49250,49251,49252,49253,49254,49255,49258,49259,49260,49261,49262,49263,49264,49265,49266,49267,49268,49269,49270,49271,49272,49273,null,null,null,null,null,null,49274,49275,49276,49277,49278,49279,49280,49281,49282,49283,49284,49285,49286,49287,49288,49289,49290,49291,49292,49293,49294,49295,49298,49299,49301,49302,49303,49305,49306,49307,49308,49309,49310,49311,49314,49316,49318,49319,49320,49321,49322,49323,49326,49329,49330,49335,49336,49337,49338,49339,49342,49346,49347,49348,49350,49351,49354,49355,49357,49358,49359,49361,49362,49363,49364,49365,49366,49367,49370,49374,49375,49376,49377,49378,49379,49382,49383,49385,49386,49387,49389,49390,49391,49392,49393,49394,49395,49398,49400,49402,49403,49404,49405,49406,49407,49409,49410,49411,49413,49414,49415,49417,49418,49419,49420,49421,49422,49423,49425,49426,49427,49428,49430,49431,49432,49433,49434,49435,49441,49442,49445,49448,49449,49450,49451,49454,49458,49459,49460,49461,49463,49466,49467,49469,49470,49471,49473,49474,49475,49476,49477,49478,49479,49482,49486,49487,49488,49489,49490,49491,49494,49495,null,null,null,null,null,null,49497,49498,49499,49501,49502,49503,49504,49505,49506,49507,49510,49514,49515,49516,49517,49518,49519,49521,49522,49523,49525,49526,49527,49529,49530,49531,null,null,null,null,null,null,49532,49533,49534,49535,49536,49537,49538,49539,49540,49542,49543,49544,49545,49546,49547,49551,49553,49554,49555,49557,49559,49560,49561,49562,49563,49566,49568,49570,49571,49572,49574,49575,49578,49579,49581,49582,49583,49585,49586,49587,49588,49589,49590,49591,49592,49593,49594,49595,49596,49598,49599,49600,49601,49602,49603,49605,49606,49607,49609,49610,49611,49613,49614,49615,49616,49617,49618,49619,49621,49622,49625,49626,49627,49628,49629,49630,49631,49633,49634,49635,49637,49638,49639,49641,49642,49643,49644,49645,49646,49647,49650,49652,49653,49654,49655,49656,49657,49658,49659,49662,49663,49665,49666,49667,49669,49670,49671,49672,49673,49674,49675,49678,49680,49682,49683,49684,49685,49686,49687,49690,49691,49693,49694,49697,49698,49699,49700,49701,49702,49703,49706,49708,49710,49712,49715,49717,49718,49719,49720,49721,49722,49723,49724,49725,49726,49727,49728,49729,49730,49731,49732,49733,null,null,null,null,null,null,49734,49735,49737,49738,49739,49740,49741,49742,49743,49746,49747,49749,49750,49751,49753,49754,49755,49756,49757,49758,49759,49761,49762,49763,49764,49766,null,null,null,null,null,null,49767,49768,49769,49770,49771,49774,49775,49777,49778,49779,49781,49782,49783,49784,49785,49786,49787,49790,49792,49794,49795,49796,49797,49798,49799,49802,49803,49804,49805,49806,49807,49809,49810,49811,49812,49813,49814,49815,49817,49818,49820,49822,49823,49824,49825,49826,49827,49830,49831,49833,49834,49835,49838,49839,49840,49841,49842,49843,49846,49848,49850,49851,49852,49853,49854,49855,49856,49857,49858,49859,49860,49861,49862,49863,49864,49865,49866,49867,49868,49869,49870,49871,49872,49873,49874,49875,49876,49877,49878,49879,49880,49881,49882,49883,49886,49887,49889,49890,49893,49894,49895,49896,49897,49898,49902,49904,49906,49907,49908,49909,49911,49914,49917,49918,49919,49921,49922,49923,49924,49925,49926,49927,49930,49931,49934,49935,49936,49937,49938,49942,49943,49945,49946,49947,49949,49950,49951,49952,49953,49954,49955,49958,49959,49962,49963,49964,49965,49966,49967,49968,49969,49970,null,null,null,null,null,null,49971,49972,49973,49974,49975,49976,49977,49978,49979,49980,49981,49982,49983,49984,49985,49986,49987,49988,49990,49991,49992,49993,49994,49995,49996,49997,null,null,null,null,null,null,49998,49999,50000,50001,50002,50003,50004,50005,50006,50007,50008,50009,50010,50011,50012,50013,50014,50015,50016,50017,50018,50019,50020,50021,50022,50023,50026,50027,50029,50030,50031,50033,50035,50036,50037,50038,50039,50042,50043,50046,50047,50048,50049,50050,50051,50053,50054,50055,50057,50058,50059,50061,50062,50063,50064,50065,50066,50067,50068,50069,50070,50071,50072,50073,50074,50075,50076,50077,50078,50079,50080,50081,50082,50083,50084,50085,50086,50087,50088,50089,50090,50091,50092,50093,50094,50095,50096,50097,50098,50099,50100,50101,50102,50103,50104,50105,50106,50107,50108,50109,50110,50111,50113,50114,50115,50116,50117,50118,50119,50120,50121,50122,50123,50124,50125,50126,50127,50128,50129,50130,50131,50132,50133,50134,50135,50138,50139,50141,50142,50145,50147,50148,50149,50150,50151,50154,50155,50156,50158,50159,50160,50161,50162,50163,50166,50167,50169,50170,50171,50172,50173,50174,null,null,null,null,null,null,50175,50176,50177,50178,50179,50180,50181,50182,50183,50185,50186,50187,50188,50189,50190,50191,50193,50194,50195,50196,50197,50198,50199,50200,50201,50202,null,null,null,null,null,null,50203,50204,50205,50206,50207,50208,50209,50210,50211,50213,50214,50215,50216,50217,50218,50219,50221,50222,50223,50225,50226,50227,50229,50230,50231,50232,50233,50234,50235,50238,50239,50240,50241,50242,50243,50244,50245,50246,50247,50249,50250,50251,50252,50253,50254,50255,50256,50257,50258,50259,50260,50261,50262,50263,50264,50265,50266,50267,50268,50269,50270,50271,50272,50273,50274,50275,50278,50279,50281,50282,50283,50285,50286,50287,50288,50289,50290,50291,50294,50295,50296,50298,50299,50300,50301,50302,50303,50305,50306,50307,50308,50309,50310,50311,50312,50313,50314,50315,50316,50317,50318,50319,50320,50321,50322,50323,50325,50326,50327,50328,50329,50330,50331,50333,50334,50335,50336,50337,50338,50339,50340,50341,50342,50343,50344,50345,50346,50347,50348,50349,50350,50351,50352,50353,50354,50355,50356,50357,50358,50359,50361,50362,50363,50365,50366,50367,50368,50369,50370,50371,50372,50373,null,null,null,null,null,null,50374,50375,50376,50377,50378,50379,50380,50381,50382,50383,50384,50385,50386,50387,50388,50389,50390,50391,50392,50393,50394,50395,50396,50397,50398,50399,null,null,null,null,null,null,50400,50401,50402,50403,50404,50405,50406,50407,50408,50410,50411,50412,50413,50414,50415,50418,50419,50421,50422,50423,50425,50427,50428,50429,50430,50434,50435,50436,50437,50438,50439,50440,50441,50442,50443,50445,50446,50447,50449,50450,50451,50453,50454,50455,50456,50457,50458,50459,50461,50462,50463,50464,50465,50466,50467,50468,50469,50470,50471,50474,50475,50477,50478,50479,50481,50482,50483,50484,50485,50486,50487,50490,50492,50494,50495,50496,50497,50498,50499,50502,50503,50507,50511,50512,50513,50514,50518,50522,50523,50524,50527,50530,50531,50533,50534,50535,50537,50538,50539,50540,50541,50542,50543,50546,50550,50551,50552,50553,50554,50555,50558,50559,50561,50562,50563,50565,50566,50568,50569,50570,50571,50574,50576,50578,50579,50580,50582,50585,50586,50587,50589,50590,50591,50593,50594,50595,50596,50597,50598,50599,50600,50602,50603,50604,50605,50606,50607,50608,50609,50610,50611,50614,null,null,null,null,null,null,50615,50618,50623,50624,50625,50626,50627,50635,50637,50639,50642,50643,50645,50646,50647,50649,50650,50651,50652,50653,50654,50655,50658,50660,50662,50663,null,null,null,null,null,null,50664,50665,50666,50667,50671,50673,50674,50675,50677,50680,50681,50682,50683,50690,50691,50692,50697,50698,50699,50701,50702,50703,50705,50706,50707,50708,50709,50710,50711,50714,50717,50718,50719,50720,50721,50722,50723,50726,50727,50729,50730,50731,50735,50737,50738,50742,50744,50746,50748,50749,50750,50751,50754,50755,50757,50758,50759,50761,50762,50763,50764,50765,50766,50767,50770,50774,50775,50776,50777,50778,50779,50782,50783,50785,50786,50787,50788,50789,50790,50791,50792,50793,50794,50795,50797,50798,50800,50802,50803,50804,50805,50806,50807,50810,50811,50813,50814,50815,50817,50818,50819,50820,50821,50822,50823,50826,50828,50830,50831,50832,50833,50834,50835,50838,50839,50841,50842,50843,50845,50846,50847,50848,50849,50850,50851,50854,50856,50858,50859,50860,50861,50862,50863,50866,50867,50869,50870,50871,50875,50876,50877,50878,50879,50882,50884,50886,50887,50888,50889,50890,50891,50894,null,null,null,null,null,null,50895,50897,50898,50899,50901,50902,50903,50904,50905,50906,50907,50910,50911,50914,50915,50916,50917,50918,50919,50922,50923,50925,50926,50927,50929,50930,null,null,null,null,null,null,50931,50932,50933,50934,50935,50938,50939,50940,50942,50943,50944,50945,50946,50947,50950,50951,50953,50954,50955,50957,50958,50959,50960,50961,50962,50963,50966,50968,50970,50971,50972,50973,50974,50975,50978,50979,50981,50982,50983,50985,50986,50987,50988,50989,50990,50991,50994,50996,50998,51000,51001,51002,51003,51006,51007,51009,51010,51011,51013,51014,51015,51016,51017,51019,51022,51024,51033,51034,51035,51037,51038,51039,51041,51042,51043,51044,51045,51046,51047,51049,51050,51052,51053,51054,51055,51056,51057,51058,51059,51062,51063,51065,51066,51067,51071,51072,51073,51074,51078,51083,51084,51085,51087,51090,51091,51093,51097,51099,51100,51101,51102,51103,51106,51111,51112,51113,51114,51115,51118,51119,51121,51122,51123,51125,51126,51127,51128,51129,51130,51131,51134,51138,51139,51140,51141,51142,51143,51146,51147,51149,51151,51153,51154,51155,51156,51157,51158,51159,51161,51162,51163,51164,null,null,null,null,null,null,51166,51167,51168,51169,51170,51171,51173,51174,51175,51177,51178,51179,51181,51182,51183,51184,51185,51186,51187,51188,51189,51190,51191,51192,51193,51194,null,null,null,null,null,null,51195,51196,51197,51198,51199,51202,51203,51205,51206,51207,51209,51211,51212,51213,51214,51215,51218,51220,51223,51224,51225,51226,51227,51230,51231,51233,51234,51235,51237,51238,51239,51240,51241,51242,51243,51246,51248,51250,51251,51252,51253,51254,51255,51257,51258,51259,51261,51262,51263,51265,51266,51267,51268,51269,51270,51271,51274,51275,51278,51279,51280,51281,51282,51283,51285,51286,51287,51288,51289,51290,51291,51292,51293,51294,51295,51296,51297,51298,51299,51300,51301,51302,51303,51304,51305,51306,51307,51308,51309,51310,51311,51314,51315,51317,51318,51319,51321,51323,51324,51325,51326,51327,51330,51332,51336,51337,51338,51342,51343,51344,51345,51346,51347,51349,51350,51351,51352,51353,51354,51355,51356,51358,51360,51362,51363,51364,51365,51366,51367,51369,51370,51371,51372,51373,51374,51375,51376,51377,51378,51379,51380,51381,51382,51383,51384,51385,51386,51387,51390,51391,51392,51393,null,null,null,null,null,null,51394,51395,51397,51398,51399,51401,51402,51403,51405,51406,51407,51408,51409,51410,51411,51414,51416,51418,51419,51420,51421,51422,51423,51426,51427,51429,null,null,null,null,null,null,51430,51431,51432,51433,51434,51435,51436,51437,51438,51439,51440,51441,51442,51443,51444,51446,51447,51448,51449,51450,51451,51454,51455,51457,51458,51459,51463,51464,51465,51466,51467,51470,12288,12289,12290,183,8229,8230,168,12291,173,8213,8741,65340,8764,8216,8217,8220,8221,12308,12309,12296,12297,12298,12299,12300,12301,12302,12303,12304,12305,177,215,247,8800,8804,8805,8734,8756,176,8242,8243,8451,8491,65504,65505,65509,9794,9792,8736,8869,8978,8706,8711,8801,8786,167,8251,9734,9733,9675,9679,9678,9671,9670,9633,9632,9651,9650,9661,9660,8594,8592,8593,8595,8596,12307,8810,8811,8730,8765,8733,8757,8747,8748,8712,8715,8838,8839,8834,8835,8746,8745,8743,8744,65506,51472,51474,51475,51476,51477,51478,51479,51481,51482,51483,51484,51485,51486,51487,51488,51489,51490,51491,51492,51493,51494,51495,51496,51497,51498,51499,null,null,null,null,null,null,51501,51502,51503,51504,51505,51506,51507,51509,51510,51511,51512,51513,51514,51515,51516,51517,51518,51519,51520,51521,51522,51523,51524,51525,51526,51527,null,null,null,null,null,null,51528,51529,51530,51531,51532,51533,51534,51535,51538,51539,51541,51542,51543,51545,51546,51547,51548,51549,51550,51551,51554,51556,51557,51558,51559,51560,51561,51562,51563,51565,51566,51567,8658,8660,8704,8707,180,65374,711,728,733,730,729,184,731,161,191,720,8750,8721,8719,164,8457,8240,9665,9664,9655,9654,9828,9824,9825,9829,9831,9827,8857,9672,9635,9680,9681,9618,9636,9637,9640,9639,9638,9641,9832,9743,9742,9756,9758,182,8224,8225,8597,8599,8601,8598,8600,9837,9833,9834,9836,12927,12828,8470,13255,8482,13250,13272,8481,8364,174,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,51569,51570,51571,51573,51574,51575,51576,51577,51578,51579,51581,51582,51583,51584,51585,51586,51587,51588,51589,51590,51591,51594,51595,51597,51598,51599,null,null,null,null,null,null,51601,51602,51603,51604,51605,51606,51607,51610,51612,51614,51615,51616,51617,51618,51619,51620,51621,51622,51623,51624,51625,51626,51627,51628,51629,51630,null,null,null,null,null,null,51631,51632,51633,51634,51635,51636,51637,51638,51639,51640,51641,51642,51643,51644,51645,51646,51647,51650,51651,51653,51654,51657,51659,51660,51661,51662,51663,51666,51668,51671,51672,51675,65281,65282,65283,65284,65285,65286,65287,65288,65289,65290,65291,65292,65293,65294,65295,65296,65297,65298,65299,65300,65301,65302,65303,65304,65305,65306,65307,65308,65309,65310,65311,65312,65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,65339,65510,65341,65342,65343,65344,65345,65346,65347,65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,65371,65372,65373,65507,51678,51679,51681,51683,51685,51686,51688,51689,51690,51691,51694,51698,51699,51700,51701,51702,51703,51706,51707,51709,51710,51711,51713,51714,51715,51716,null,null,null,null,null,null,51717,51718,51719,51722,51726,51727,51728,51729,51730,51731,51733,51734,51735,51737,51738,51739,51740,51741,51742,51743,51744,51745,51746,51747,51748,51749,null,null,null,null,null,null,51750,51751,51752,51754,51755,51756,51757,51758,51759,51760,51761,51762,51763,51764,51765,51766,51767,51768,51769,51770,51771,51772,51773,51774,51775,51776,51777,51778,51779,51780,51781,51782,12593,12594,12595,12596,12597,12598,12599,12600,12601,12602,12603,12604,12605,12606,12607,12608,12609,12610,12611,12612,12613,12614,12615,12616,12617,12618,12619,12620,12621,12622,12623,12624,12625,12626,12627,12628,12629,12630,12631,12632,12633,12634,12635,12636,12637,12638,12639,12640,12641,12642,12643,12644,12645,12646,12647,12648,12649,12650,12651,12652,12653,12654,12655,12656,12657,12658,12659,12660,12661,12662,12663,12664,12665,12666,12667,12668,12669,12670,12671,12672,12673,12674,12675,12676,12677,12678,12679,12680,12681,12682,12683,12684,12685,12686,51783,51784,51785,51786,51787,51790,51791,51793,51794,51795,51797,51798,51799,51800,51801,51802,51803,51806,51810,51811,51812,51813,51814,51815,51817,51818,null,null,null,null,null,null,51819,51820,51821,51822,51823,51824,51825,51826,51827,51828,51829,51830,51831,51832,51833,51834,51835,51836,51838,51839,51840,51841,51842,51843,51845,51846,null,null,null,null,null,null,51847,51848,51849,51850,51851,51852,51853,51854,51855,51856,51857,51858,51859,51860,51861,51862,51863,51865,51866,51867,51868,51869,51870,51871,51872,51873,51874,51875,51876,51877,51878,51879,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,null,null,null,null,null,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,null,null,null,null,null,null,null,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,null,null,null,null,null,null,null,null,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,963,964,965,966,967,968,969,null,null,null,null,null,null,51880,51881,51882,51883,51884,51885,51886,51887,51888,51889,51890,51891,51892,51893,51894,51895,51896,51897,51898,51899,51902,51903,51905,51906,51907,51909,null,null,null,null,null,null,51910,51911,51912,51913,51914,51915,51918,51920,51922,51924,51925,51926,51927,51930,51931,51932,51933,51934,51935,51937,51938,51939,51940,51941,51942,51943,null,null,null,null,null,null,51944,51945,51946,51947,51949,51950,51951,51952,51953,51954,51955,51957,51958,51959,51960,51961,51962,51963,51964,51965,51966,51967,51968,51969,51970,51971,51972,51973,51974,51975,51977,51978,9472,9474,9484,9488,9496,9492,9500,9516,9508,9524,9532,9473,9475,9487,9491,9499,9495,9507,9523,9515,9531,9547,9504,9519,9512,9527,9535,9501,9520,9509,9528,9538,9490,9489,9498,9497,9494,9493,9486,9485,9502,9503,9505,9506,9510,9511,9513,9514,9517,9518,9521,9522,9525,9526,9529,9530,9533,9534,9536,9537,9539,9540,9541,9542,9543,9544,9545,9546,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,51979,51980,51981,51982,51983,51985,51986,51987,51989,51990,51991,51993,51994,51995,51996,51997,51998,51999,52002,52003,52004,52005,52006,52007,52008,52009,null,null,null,null,null,null,52010,52011,52012,52013,52014,52015,52016,52017,52018,52019,52020,52021,52022,52023,52024,52025,52026,52027,52028,52029,52030,52031,52032,52034,52035,52036,null,null,null,null,null,null,52037,52038,52039,52042,52043,52045,52046,52047,52049,52050,52051,52052,52053,52054,52055,52058,52059,52060,52062,52063,52064,52065,52066,52067,52069,52070,52071,52072,52073,52074,52075,52076,13205,13206,13207,8467,13208,13252,13219,13220,13221,13222,13209,13210,13211,13212,13213,13214,13215,13216,13217,13218,13258,13197,13198,13199,13263,13192,13193,13256,13223,13224,13232,13233,13234,13235,13236,13237,13238,13239,13240,13241,13184,13185,13186,13187,13188,13242,13243,13244,13245,13246,13247,13200,13201,13202,13203,13204,8486,13248,13249,13194,13195,13196,13270,13253,13229,13230,13231,13275,13225,13226,13227,13228,13277,13264,13267,13251,13257,13276,13254,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,52077,52078,52079,52080,52081,52082,52083,52084,52085,52086,52087,52090,52091,52092,52093,52094,52095,52096,52097,52098,52099,52100,52101,52102,52103,52104,null,null,null,null,null,null,52105,52106,52107,52108,52109,52110,52111,52112,52113,52114,52115,52116,52117,52118,52119,52120,52121,52122,52123,52125,52126,52127,52128,52129,52130,52131,null,null,null,null,null,null,52132,52133,52134,52135,52136,52137,52138,52139,52140,52141,52142,52143,52144,52145,52146,52147,52148,52149,52150,52151,52153,52154,52155,52156,52157,52158,52159,52160,52161,52162,52163,52164,198,208,170,294,null,306,null,319,321,216,338,186,222,358,330,null,12896,12897,12898,12899,12900,12901,12902,12903,12904,12905,12906,12907,12908,12909,12910,12911,12912,12913,12914,12915,12916,12917,12918,12919,12920,12921,12922,12923,9424,9425,9426,9427,9428,9429,9430,9431,9432,9433,9434,9435,9436,9437,9438,9439,9440,9441,9442,9443,9444,9445,9446,9447,9448,9449,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,9322,9323,9324,9325,9326,189,8531,8532,188,190,8539,8540,8541,8542,52165,52166,52167,52168,52169,52170,52171,52172,52173,52174,52175,52176,52177,52178,52179,52181,52182,52183,52184,52185,52186,52187,52188,52189,52190,52191,null,null,null,null,null,null,52192,52193,52194,52195,52197,52198,52200,52202,52203,52204,52205,52206,52207,52208,52209,52210,52211,52212,52213,52214,52215,52216,52217,52218,52219,52220,null,null,null,null,null,null,52221,52222,52223,52224,52225,52226,52227,52228,52229,52230,52231,52232,52233,52234,52235,52238,52239,52241,52242,52243,52245,52246,52247,52248,52249,52250,52251,52254,52255,52256,52259,52260,230,273,240,295,305,307,312,320,322,248,339,223,254,359,331,329,12800,12801,12802,12803,12804,12805,12806,12807,12808,12809,12810,12811,12812,12813,12814,12815,12816,12817,12818,12819,12820,12821,12822,12823,12824,12825,12826,12827,9372,9373,9374,9375,9376,9377,9378,9379,9380,9381,9382,9383,9384,9385,9386,9387,9388,9389,9390,9391,9392,9393,9394,9395,9396,9397,9332,9333,9334,9335,9336,9337,9338,9339,9340,9341,9342,9343,9344,9345,9346,185,178,179,8308,8319,8321,8322,8323,8324,52261,52262,52266,52267,52269,52271,52273,52274,52275,52276,52277,52278,52279,52282,52287,52288,52289,52290,52291,52294,52295,52297,52298,52299,52301,52302,null,null,null,null,null,null,52303,52304,52305,52306,52307,52310,52314,52315,52316,52317,52318,52319,52321,52322,52323,52325,52327,52329,52330,52331,52332,52333,52334,52335,52337,52338,null,null,null,null,null,null,52339,52340,52342,52343,52344,52345,52346,52347,52348,52349,52350,52351,52352,52353,52354,52355,52356,52357,52358,52359,52360,52361,52362,52363,52364,52365,52366,52367,52368,52369,52370,52371,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,12435,null,null,null,null,null,null,null,null,null,null,null,52372,52373,52374,52375,52378,52379,52381,52382,52383,52385,52386,52387,52388,52389,52390,52391,52394,52398,52399,52400,52401,52402,52403,52406,52407,52409,null,null,null,null,null,null,52410,52411,52413,52414,52415,52416,52417,52418,52419,52422,52424,52426,52427,52428,52429,52430,52431,52433,52434,52435,52437,52438,52439,52440,52441,52442,null,null,null,null,null,null,52443,52444,52445,52446,52447,52448,52449,52450,52451,52453,52454,52455,52456,52457,52458,52459,52461,52462,52463,52465,52466,52467,52468,52469,52470,52471,52472,52473,52474,52475,52476,52477,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,12484,12485,12486,12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523,12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,null,null,null,null,null,null,null,null,52478,52479,52480,52482,52483,52484,52485,52486,52487,52490,52491,52493,52494,52495,52497,52498,52499,52500,52501,52502,52503,52506,52508,52510,52511,52512,null,null,null,null,null,null,52513,52514,52515,52517,52518,52519,52521,52522,52523,52525,52526,52527,52528,52529,52530,52531,52532,52533,52534,52535,52536,52538,52539,52540,52541,52542,null,null,null,null,null,null,52543,52544,52545,52546,52547,52548,52549,52550,52551,52552,52553,52554,52555,52556,52557,52558,52559,52560,52561,52562,52563,52564,52565,52566,52567,52568,52569,52570,52571,52573,52574,52575,1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,null,null,null,null,null,null,null,null,null,null,null,null,null,52577,52578,52579,52581,52582,52583,52584,52585,52586,52587,52590,52592,52594,52595,52596,52597,52598,52599,52601,52602,52603,52604,52605,52606,52607,52608,null,null,null,null,null,null,52609,52610,52611,52612,52613,52614,52615,52617,52618,52619,52620,52621,52622,52623,52624,52625,52626,52627,52630,52631,52633,52634,52635,52637,52638,52639,null,null,null,null,null,null,52640,52641,52642,52643,52646,52648,52650,52651,52652,52653,52654,52655,52657,52658,52659,52660,52661,52662,52663,52664,52665,52666,52667,52668,52669,52670,52671,52672,52673,52674,52675,52677,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,52678,52679,52680,52681,52682,52683,52685,52686,52687,52689,52690,52691,52692,52693,52694,52695,52696,52697,52698,52699,52700,52701,52702,52703,52704,52705,null,null,null,null,null,null,52706,52707,52708,52709,52710,52711,52713,52714,52715,52717,52718,52719,52721,52722,52723,52724,52725,52726,52727,52730,52732,52734,52735,52736,52737,52738,null,null,null,null,null,null,52739,52741,52742,52743,52745,52746,52747,52749,52750,52751,52752,52753,52754,52755,52757,52758,52759,52760,52762,52763,52764,52765,52766,52767,52770,52771,52773,52774,52775,52777,52778,52779,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,52780,52781,52782,52783,52786,52788,52790,52791,52792,52793,52794,52795,52796,52797,52798,52799,52800,52801,52802,52803,52804,52805,52806,52807,52808,52809,null,null,null,null,null,null,52810,52811,52812,52813,52814,52815,52816,52817,52818,52819,52820,52821,52822,52823,52826,52827,52829,52830,52834,52835,52836,52837,52838,52839,52842,52844,null,null,null,null,null,null,52846,52847,52848,52849,52850,52851,52854,52855,52857,52858,52859,52861,52862,52863,52864,52865,52866,52867,52870,52872,52874,52875,52876,52877,52878,52879,52882,52883,52885,52886,52887,52889,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,52890,52891,52892,52893,52894,52895,52898,52902,52903,52904,52905,52906,52907,52910,52911,52912,52913,52914,52915,52916,52917,52918,52919,52920,52921,52922,null,null,null,null,null,null,52923,52924,52925,52926,52927,52928,52930,52931,52932,52933,52934,52935,52936,52937,52938,52939,52940,52941,52942,52943,52944,52945,52946,52947,52948,52949,null,null,null,null,null,null,52950,52951,52952,52953,52954,52955,52956,52957,52958,52959,52960,52961,52962,52963,52966,52967,52969,52970,52973,52974,52975,52976,52977,52978,52979,52982,52986,52987,52988,52989,52990,52991,44032,44033,44036,44039,44040,44041,44042,44048,44049,44050,44051,44052,44053,44054,44055,44057,44058,44059,44060,44061,44064,44068,44076,44077,44079,44080,44081,44088,44089,44092,44096,44107,44109,44116,44120,44124,44144,44145,44148,44151,44152,44154,44160,44161,44163,44164,44165,44166,44169,44170,44171,44172,44176,44180,44188,44189,44191,44192,44193,44200,44201,44202,44204,44207,44208,44216,44217,44219,44220,44221,44225,44228,44232,44236,44245,44247,44256,44257,44260,44263,44264,44266,44268,44271,44272,44273,44275,44277,44278,44284,44285,44288,44292,44294,52994,52995,52997,52998,52999,53001,53002,53003,53004,53005,53006,53007,53010,53012,53014,53015,53016,53017,53018,53019,53021,53022,53023,53025,53026,53027,null,null,null,null,null,null,53029,53030,53031,53032,53033,53034,53035,53038,53042,53043,53044,53045,53046,53047,53049,53050,53051,53052,53053,53054,53055,53056,53057,53058,53059,53060,null,null,null,null,null,null,53061,53062,53063,53064,53065,53066,53067,53068,53069,53070,53071,53072,53073,53074,53075,53078,53079,53081,53082,53083,53085,53086,53087,53088,53089,53090,53091,53094,53096,53098,53099,53100,44300,44301,44303,44305,44312,44316,44320,44329,44332,44333,44340,44341,44344,44348,44356,44357,44359,44361,44368,44372,44376,44385,44387,44396,44397,44400,44403,44404,44405,44406,44411,44412,44413,44415,44417,44418,44424,44425,44428,44432,44444,44445,44452,44471,44480,44481,44484,44488,44496,44497,44499,44508,44512,44516,44536,44537,44540,44543,44544,44545,44552,44553,44555,44557,44564,44592,44593,44596,44599,44600,44602,44608,44609,44611,44613,44614,44618,44620,44621,44622,44624,44628,44630,44636,44637,44639,44640,44641,44645,44648,44649,44652,44656,44664,53101,53102,53103,53106,53107,53109,53110,53111,53113,53114,53115,53116,53117,53118,53119,53121,53122,53123,53124,53126,53127,53128,53129,53130,53131,53133,null,null,null,null,null,null,53134,53135,53136,53137,53138,53139,53140,53141,53142,53143,53144,53145,53146,53147,53148,53149,53150,53151,53152,53154,53155,53156,53157,53158,53159,53161,null,null,null,null,null,null,53162,53163,53164,53165,53166,53167,53169,53170,53171,53172,53173,53174,53175,53176,53177,53178,53179,53180,53181,53182,53183,53184,53185,53186,53187,53189,53190,53191,53192,53193,53194,53195,44665,44667,44668,44669,44676,44677,44684,44732,44733,44734,44736,44740,44748,44749,44751,44752,44753,44760,44761,44764,44776,44779,44781,44788,44792,44796,44807,44808,44813,44816,44844,44845,44848,44850,44852,44860,44861,44863,44865,44866,44867,44872,44873,44880,44892,44893,44900,44901,44921,44928,44932,44936,44944,44945,44949,44956,44984,44985,44988,44992,44999,45000,45001,45003,45005,45006,45012,45020,45032,45033,45040,45041,45044,45048,45056,45057,45060,45068,45072,45076,45084,45085,45096,45124,45125,45128,45130,45132,45134,45139,45140,45141,45143,45145,53196,53197,53198,53199,53200,53201,53202,53203,53204,53205,53206,53207,53208,53209,53210,53211,53212,53213,53214,53215,53218,53219,53221,53222,53223,53225,null,null,null,null,null,null,53226,53227,53228,53229,53230,53231,53234,53236,53238,53239,53240,53241,53242,53243,53245,53246,53247,53249,53250,53251,53253,53254,53255,53256,53257,53258,null,null,null,null,null,null,53259,53260,53261,53262,53263,53264,53266,53267,53268,53269,53270,53271,53273,53274,53275,53276,53277,53278,53279,53280,53281,53282,53283,53284,53285,53286,53287,53288,53289,53290,53291,53292,45149,45180,45181,45184,45188,45196,45197,45199,45201,45208,45209,45210,45212,45215,45216,45217,45218,45224,45225,45227,45228,45229,45230,45231,45233,45235,45236,45237,45240,45244,45252,45253,45255,45256,45257,45264,45265,45268,45272,45280,45285,45320,45321,45323,45324,45328,45330,45331,45336,45337,45339,45340,45341,45347,45348,45349,45352,45356,45364,45365,45367,45368,45369,45376,45377,45380,45384,45392,45393,45396,45397,45400,45404,45408,45432,45433,45436,45440,45442,45448,45449,45451,45453,45458,45459,45460,45464,45468,45480,45516,45520,45524,45532,45533,53294,53295,53296,53297,53298,53299,53302,53303,53305,53306,53307,53309,53310,53311,53312,53313,53314,53315,53318,53320,53322,53323,53324,53325,53326,53327,null,null,null,null,null,null,53329,53330,53331,53333,53334,53335,53337,53338,53339,53340,53341,53342,53343,53345,53346,53347,53348,53349,53350,53351,53352,53353,53354,53355,53358,53359,null,null,null,null,null,null,53361,53362,53363,53365,53366,53367,53368,53369,53370,53371,53374,53375,53376,53378,53379,53380,53381,53382,53383,53384,53385,53386,53387,53388,53389,53390,53391,53392,53393,53394,53395,53396,45535,45544,45545,45548,45552,45561,45563,45565,45572,45573,45576,45579,45580,45588,45589,45591,45593,45600,45620,45628,45656,45660,45664,45672,45673,45684,45685,45692,45700,45701,45705,45712,45713,45716,45720,45721,45722,45728,45729,45731,45733,45734,45738,45740,45744,45748,45768,45769,45772,45776,45778,45784,45785,45787,45789,45794,45796,45797,45798,45800,45803,45804,45805,45806,45807,45811,45812,45813,45815,45816,45817,45818,45819,45823,45824,45825,45828,45832,45840,45841,45843,45844,45845,45852,45908,45909,45910,45912,45915,45916,45918,45919,45924,45925,53397,53398,53399,53400,53401,53402,53403,53404,53405,53406,53407,53408,53409,53410,53411,53414,53415,53417,53418,53419,53421,53422,53423,53424,53425,53426,null,null,null,null,null,null,53427,53430,53432,53434,53435,53436,53437,53438,53439,53442,53443,53445,53446,53447,53450,53451,53452,53453,53454,53455,53458,53462,53463,53464,53465,53466,null,null,null,null,null,null,53467,53470,53471,53473,53474,53475,53477,53478,53479,53480,53481,53482,53483,53486,53490,53491,53492,53493,53494,53495,53497,53498,53499,53500,53501,53502,53503,53504,53505,53506,53507,53508,45927,45929,45931,45934,45936,45937,45940,45944,45952,45953,45955,45956,45957,45964,45968,45972,45984,45985,45992,45996,46020,46021,46024,46027,46028,46030,46032,46036,46037,46039,46041,46043,46045,46048,46052,46056,46076,46096,46104,46108,46112,46120,46121,46123,46132,46160,46161,46164,46168,46176,46177,46179,46181,46188,46208,46216,46237,46244,46248,46252,46261,46263,46265,46272,46276,46280,46288,46293,46300,46301,46304,46307,46308,46310,46316,46317,46319,46321,46328,46356,46357,46360,46363,46364,46372,46373,46375,46376,46377,46378,46384,46385,46388,46392,53509,53510,53511,53512,53513,53514,53515,53516,53518,53519,53520,53521,53522,53523,53524,53525,53526,53527,53528,53529,53530,53531,53532,53533,53534,53535,null,null,null,null,null,null,53536,53537,53538,53539,53540,53541,53542,53543,53544,53545,53546,53547,53548,53549,53550,53551,53554,53555,53557,53558,53559,53561,53563,53564,53565,53566,null,null,null,null,null,null,53567,53570,53574,53575,53576,53577,53578,53579,53582,53583,53585,53586,53587,53589,53590,53591,53592,53593,53594,53595,53598,53600,53602,53603,53604,53605,53606,53607,53609,53610,53611,53613,46400,46401,46403,46404,46405,46411,46412,46413,46416,46420,46428,46429,46431,46432,46433,46496,46497,46500,46504,46506,46507,46512,46513,46515,46516,46517,46523,46524,46525,46528,46532,46540,46541,46543,46544,46545,46552,46572,46608,46609,46612,46616,46629,46636,46644,46664,46692,46696,46748,46749,46752,46756,46763,46764,46769,46804,46832,46836,46840,46848,46849,46853,46888,46889,46892,46895,46896,46904,46905,46907,46916,46920,46924,46932,46933,46944,46948,46952,46960,46961,46963,46965,46972,46973,46976,46980,46988,46989,46991,46992,46993,46994,46998,46999,53614,53615,53616,53617,53618,53619,53620,53621,53622,53623,53624,53625,53626,53627,53629,53630,53631,53632,53633,53634,53635,53637,53638,53639,53641,53642,null,null,null,null,null,null,53643,53644,53645,53646,53647,53648,53649,53650,53651,53652,53653,53654,53655,53656,53657,53658,53659,53660,53661,53662,53663,53666,53667,53669,53670,53671,null,null,null,null,null,null,53673,53674,53675,53676,53677,53678,53679,53682,53684,53686,53687,53688,53689,53691,53693,53694,53695,53697,53698,53699,53700,53701,53702,53703,53704,53705,53706,53707,53708,53709,53710,53711,47000,47001,47004,47008,47016,47017,47019,47020,47021,47028,47029,47032,47047,47049,47084,47085,47088,47092,47100,47101,47103,47104,47105,47111,47112,47113,47116,47120,47128,47129,47131,47133,47140,47141,47144,47148,47156,47157,47159,47160,47161,47168,47172,47185,47187,47196,47197,47200,47204,47212,47213,47215,47217,47224,47228,47245,47272,47280,47284,47288,47296,47297,47299,47301,47308,47312,47316,47325,47327,47329,47336,47337,47340,47344,47352,47353,47355,47357,47364,47384,47392,47420,47421,47424,47428,47436,47439,47441,47448,47449,47452,47456,47464,47465,53712,53713,53714,53715,53716,53717,53718,53719,53721,53722,53723,53724,53725,53726,53727,53728,53729,53730,53731,53732,53733,53734,53735,53736,53737,53738,null,null,null,null,null,null,53739,53740,53741,53742,53743,53744,53745,53746,53747,53749,53750,53751,53753,53754,53755,53756,53757,53758,53759,53760,53761,53762,53763,53764,53765,53766,null,null,null,null,null,null,53768,53770,53771,53772,53773,53774,53775,53777,53778,53779,53780,53781,53782,53783,53784,53785,53786,53787,53788,53789,53790,53791,53792,53793,53794,53795,53796,53797,53798,53799,53800,53801,47467,47469,47476,47477,47480,47484,47492,47493,47495,47497,47498,47501,47502,47532,47533,47536,47540,47548,47549,47551,47553,47560,47561,47564,47566,47567,47568,47569,47570,47576,47577,47579,47581,47582,47585,47587,47588,47589,47592,47596,47604,47605,47607,47608,47609,47610,47616,47617,47624,47637,47672,47673,47676,47680,47682,47688,47689,47691,47693,47694,47699,47700,47701,47704,47708,47716,47717,47719,47720,47721,47728,47729,47732,47736,47747,47748,47749,47751,47756,47784,47785,47787,47788,47792,47794,47800,47801,47803,47805,47812,47816,47832,47833,47868,53802,53803,53806,53807,53809,53810,53811,53813,53814,53815,53816,53817,53818,53819,53822,53824,53826,53827,53828,53829,53830,53831,53833,53834,53835,53836,null,null,null,null,null,null,53837,53838,53839,53840,53841,53842,53843,53844,53845,53846,53847,53848,53849,53850,53851,53853,53854,53855,53856,53857,53858,53859,53861,53862,53863,53864,null,null,null,null,null,null,53865,53866,53867,53868,53869,53870,53871,53872,53873,53874,53875,53876,53877,53878,53879,53880,53881,53882,53883,53884,53885,53886,53887,53890,53891,53893,53894,53895,53897,53898,53899,53900,47872,47876,47885,47887,47889,47896,47900,47904,47913,47915,47924,47925,47926,47928,47931,47932,47933,47934,47940,47941,47943,47945,47949,47951,47952,47956,47960,47969,47971,47980,48008,48012,48016,48036,48040,48044,48052,48055,48064,48068,48072,48080,48083,48120,48121,48124,48127,48128,48130,48136,48137,48139,48140,48141,48143,48145,48148,48149,48150,48151,48152,48155,48156,48157,48158,48159,48164,48165,48167,48169,48173,48176,48177,48180,48184,48192,48193,48195,48196,48197,48201,48204,48205,48208,48221,48260,48261,48264,48267,48268,48270,48276,48277,48279,53901,53902,53903,53906,53907,53908,53910,53911,53912,53913,53914,53915,53917,53918,53919,53921,53922,53923,53925,53926,53927,53928,53929,53930,53931,53933,null,null,null,null,null,null,53934,53935,53936,53938,53939,53940,53941,53942,53943,53946,53947,53949,53950,53953,53955,53956,53957,53958,53959,53962,53964,53965,53966,53967,53968,53969,null,null,null,null,null,null,53970,53971,53973,53974,53975,53977,53978,53979,53981,53982,53983,53984,53985,53986,53987,53990,53991,53992,53993,53994,53995,53996,53997,53998,53999,54002,54003,54005,54006,54007,54009,54010,48281,48282,48288,48289,48292,48295,48296,48304,48305,48307,48308,48309,48316,48317,48320,48324,48333,48335,48336,48337,48341,48344,48348,48372,48373,48374,48376,48380,48388,48389,48391,48393,48400,48404,48420,48428,48448,48456,48457,48460,48464,48472,48473,48484,48488,48512,48513,48516,48519,48520,48521,48522,48528,48529,48531,48533,48537,48538,48540,48548,48560,48568,48596,48597,48600,48604,48617,48624,48628,48632,48640,48643,48645,48652,48653,48656,48660,48668,48669,48671,48708,48709,48712,48716,48718,48724,48725,48727,48729,48730,48731,48736,48737,48740,54011,54012,54013,54014,54015,54018,54020,54022,54023,54024,54025,54026,54027,54031,54033,54034,54035,54037,54039,54040,54041,54042,54043,54046,54050,54051,null,null,null,null,null,null,54052,54054,54055,54058,54059,54061,54062,54063,54065,54066,54067,54068,54069,54070,54071,54074,54078,54079,54080,54081,54082,54083,54086,54087,54088,54089,null,null,null,null,null,null,54090,54091,54092,54093,54094,54095,54096,54097,54098,54099,54100,54101,54102,54103,54104,54105,54106,54107,54108,54109,54110,54111,54112,54113,54114,54115,54116,54117,54118,54119,54120,54121,48744,48746,48752,48753,48755,48756,48757,48763,48764,48765,48768,48772,48780,48781,48783,48784,48785,48792,48793,48808,48848,48849,48852,48855,48856,48864,48867,48868,48869,48876,48897,48904,48905,48920,48921,48923,48924,48925,48960,48961,48964,48968,48976,48977,48981,49044,49072,49093,49100,49101,49104,49108,49116,49119,49121,49212,49233,49240,49244,49248,49256,49257,49296,49297,49300,49304,49312,49313,49315,49317,49324,49325,49327,49328,49331,49332,49333,49334,49340,49341,49343,49344,49345,49349,49352,49353,49356,49360,49368,49369,49371,49372,49373,49380,54122,54123,54124,54125,54126,54127,54128,54129,54130,54131,54132,54133,54134,54135,54136,54137,54138,54139,54142,54143,54145,54146,54147,54149,54150,54151,null,null,null,null,null,null,54152,54153,54154,54155,54158,54162,54163,54164,54165,54166,54167,54170,54171,54173,54174,54175,54177,54178,54179,54180,54181,54182,54183,54186,54188,54190,null,null,null,null,null,null,54191,54192,54193,54194,54195,54197,54198,54199,54201,54202,54203,54205,54206,54207,54208,54209,54210,54211,54214,54215,54218,54219,54220,54221,54222,54223,54225,54226,54227,54228,54229,54230,49381,49384,49388,49396,49397,49399,49401,49408,49412,49416,49424,49429,49436,49437,49438,49439,49440,49443,49444,49446,49447,49452,49453,49455,49456,49457,49462,49464,49465,49468,49472,49480,49481,49483,49484,49485,49492,49493,49496,49500,49508,49509,49511,49512,49513,49520,49524,49528,49541,49548,49549,49550,49552,49556,49558,49564,49565,49567,49569,49573,49576,49577,49580,49584,49597,49604,49608,49612,49620,49623,49624,49632,49636,49640,49648,49649,49651,49660,49661,49664,49668,49676,49677,49679,49681,49688,49689,49692,49695,49696,49704,49705,49707,49709,54231,54233,54234,54235,54236,54237,54238,54239,54240,54242,54244,54245,54246,54247,54248,54249,54250,54251,54254,54255,54257,54258,54259,54261,54262,54263,null,null,null,null,null,null,54264,54265,54266,54267,54270,54272,54274,54275,54276,54277,54278,54279,54281,54282,54283,54284,54285,54286,54287,54288,54289,54290,54291,54292,54293,54294,null,null,null,null,null,null,54295,54296,54297,54298,54299,54300,54302,54303,54304,54305,54306,54307,54308,54309,54310,54311,54312,54313,54314,54315,54316,54317,54318,54319,54320,54321,54322,54323,54324,54325,54326,54327,49711,49713,49714,49716,49736,49744,49745,49748,49752,49760,49765,49772,49773,49776,49780,49788,49789,49791,49793,49800,49801,49808,49816,49819,49821,49828,49829,49832,49836,49837,49844,49845,49847,49849,49884,49885,49888,49891,49892,49899,49900,49901,49903,49905,49910,49912,49913,49915,49916,49920,49928,49929,49932,49933,49939,49940,49941,49944,49948,49956,49957,49960,49961,49989,50024,50025,50028,50032,50034,50040,50041,50044,50045,50052,50056,50060,50112,50136,50137,50140,50143,50144,50146,50152,50153,50157,50164,50165,50168,50184,50192,50212,50220,50224,54328,54329,54330,54331,54332,54333,54334,54335,54337,54338,54339,54341,54342,54343,54344,54345,54346,54347,54348,54349,54350,54351,54352,54353,54354,54355,null,null,null,null,null,null,54356,54357,54358,54359,54360,54361,54362,54363,54365,54366,54367,54369,54370,54371,54373,54374,54375,54376,54377,54378,54379,54380,54382,54384,54385,54386,null,null,null,null,null,null,54387,54388,54389,54390,54391,54394,54395,54397,54398,54401,54403,54404,54405,54406,54407,54410,54412,54414,54415,54416,54417,54418,54419,54421,54422,54423,54424,54425,54426,54427,54428,54429,50228,50236,50237,50248,50276,50277,50280,50284,50292,50293,50297,50304,50324,50332,50360,50364,50409,50416,50417,50420,50424,50426,50431,50432,50433,50444,50448,50452,50460,50472,50473,50476,50480,50488,50489,50491,50493,50500,50501,50504,50505,50506,50508,50509,50510,50515,50516,50517,50519,50520,50521,50525,50526,50528,50529,50532,50536,50544,50545,50547,50548,50549,50556,50557,50560,50564,50567,50572,50573,50575,50577,50581,50583,50584,50588,50592,50601,50612,50613,50616,50617,50619,50620,50621,50622,50628,50629,50630,50631,50632,50633,50634,50636,50638,54430,54431,54432,54433,54434,54435,54436,54437,54438,54439,54440,54442,54443,54444,54445,54446,54447,54448,54449,54450,54451,54452,54453,54454,54455,54456,null,null,null,null,null,null,54457,54458,54459,54460,54461,54462,54463,54464,54465,54466,54467,54468,54469,54470,54471,54472,54473,54474,54475,54477,54478,54479,54481,54482,54483,54485,null,null,null,null,null,null,54486,54487,54488,54489,54490,54491,54493,54494,54496,54497,54498,54499,54500,54501,54502,54503,54505,54506,54507,54509,54510,54511,54513,54514,54515,54516,54517,54518,54519,54521,54522,54524,50640,50641,50644,50648,50656,50657,50659,50661,50668,50669,50670,50672,50676,50678,50679,50684,50685,50686,50687,50688,50689,50693,50694,50695,50696,50700,50704,50712,50713,50715,50716,50724,50725,50728,50732,50733,50734,50736,50739,50740,50741,50743,50745,50747,50752,50753,50756,50760,50768,50769,50771,50772,50773,50780,50781,50784,50796,50799,50801,50808,50809,50812,50816,50824,50825,50827,50829,50836,50837,50840,50844,50852,50853,50855,50857,50864,50865,50868,50872,50873,50874,50880,50881,50883,50885,50892,50893,50896,50900,50908,50909,50912,50913,50920,54526,54527,54528,54529,54530,54531,54533,54534,54535,54537,54538,54539,54541,54542,54543,54544,54545,54546,54547,54550,54552,54553,54554,54555,54556,54557,null,null,null,null,null,null,54558,54559,54560,54561,54562,54563,54564,54565,54566,54567,54568,54569,54570,54571,54572,54573,54574,54575,54576,54577,54578,54579,54580,54581,54582,54583,null,null,null,null,null,null,54584,54585,54586,54587,54590,54591,54593,54594,54595,54597,54598,54599,54600,54601,54602,54603,54606,54608,54610,54611,54612,54613,54614,54615,54618,54619,54621,54622,54623,54625,54626,54627,50921,50924,50928,50936,50937,50941,50948,50949,50952,50956,50964,50965,50967,50969,50976,50977,50980,50984,50992,50993,50995,50997,50999,51004,51005,51008,51012,51018,51020,51021,51023,51025,51026,51027,51028,51029,51030,51031,51032,51036,51040,51048,51051,51060,51061,51064,51068,51069,51070,51075,51076,51077,51079,51080,51081,51082,51086,51088,51089,51092,51094,51095,51096,51098,51104,51105,51107,51108,51109,51110,51116,51117,51120,51124,51132,51133,51135,51136,51137,51144,51145,51148,51150,51152,51160,51165,51172,51176,51180,51200,51201,51204,51208,51210,54628,54630,54631,54634,54636,54638,54639,54640,54641,54642,54643,54646,54647,54649,54650,54651,54653,54654,54655,54656,54657,54658,54659,54662,54666,54667,null,null,null,null,null,null,54668,54669,54670,54671,54673,54674,54675,54676,54677,54678,54679,54680,54681,54682,54683,54684,54685,54686,54687,54688,54689,54690,54691,54692,54694,54695,null,null,null,null,null,null,54696,54697,54698,54699,54700,54701,54702,54703,54704,54705,54706,54707,54708,54709,54710,54711,54712,54713,54714,54715,54716,54717,54718,54719,54720,54721,54722,54723,54724,54725,54726,54727,51216,51217,51219,51221,51222,51228,51229,51232,51236,51244,51245,51247,51249,51256,51260,51264,51272,51273,51276,51277,51284,51312,51313,51316,51320,51322,51328,51329,51331,51333,51334,51335,51339,51340,51341,51348,51357,51359,51361,51368,51388,51389,51396,51400,51404,51412,51413,51415,51417,51424,51425,51428,51445,51452,51453,51456,51460,51461,51462,51468,51469,51471,51473,51480,51500,51508,51536,51537,51540,51544,51552,51553,51555,51564,51568,51572,51580,51592,51593,51596,51600,51608,51609,51611,51613,51648,51649,51652,51655,51656,51658,51664,51665,51667,54730,54731,54733,54734,54735,54737,54739,54740,54741,54742,54743,54746,54748,54750,54751,54752,54753,54754,54755,54758,54759,54761,54762,54763,54765,54766,null,null,null,null,null,null,54767,54768,54769,54770,54771,54774,54776,54778,54779,54780,54781,54782,54783,54786,54787,54789,54790,54791,54793,54794,54795,54796,54797,54798,54799,54802,null,null,null,null,null,null,54806,54807,54808,54809,54810,54811,54813,54814,54815,54817,54818,54819,54821,54822,54823,54824,54825,54826,54827,54828,54830,54831,54832,54833,54834,54835,54836,54837,54838,54839,54842,54843,51669,51670,51673,51674,51676,51677,51680,51682,51684,51687,51692,51693,51695,51696,51697,51704,51705,51708,51712,51720,51721,51723,51724,51725,51732,51736,51753,51788,51789,51792,51796,51804,51805,51807,51808,51809,51816,51837,51844,51864,51900,51901,51904,51908,51916,51917,51919,51921,51923,51928,51929,51936,51948,51956,51976,51984,51988,51992,52000,52001,52033,52040,52041,52044,52048,52056,52057,52061,52068,52088,52089,52124,52152,52180,52196,52199,52201,52236,52237,52240,52244,52252,52253,52257,52258,52263,52264,52265,52268,52270,52272,52280,52281,52283,54845,54846,54847,54849,54850,54851,54852,54854,54855,54858,54860,54862,54863,54864,54866,54867,54870,54871,54873,54874,54875,54877,54878,54879,54880,54881,null,null,null,null,null,null,54882,54883,54884,54885,54886,54888,54890,54891,54892,54893,54894,54895,54898,54899,54901,54902,54903,54904,54905,54906,54907,54908,54909,54910,54911,54912,null,null,null,null,null,null,54913,54914,54916,54918,54919,54920,54921,54922,54923,54926,54927,54929,54930,54931,54933,54934,54935,54936,54937,54938,54939,54940,54942,54944,54946,54947,54948,54949,54950,54951,54953,54954,52284,52285,52286,52292,52293,52296,52300,52308,52309,52311,52312,52313,52320,52324,52326,52328,52336,52341,52376,52377,52380,52384,52392,52393,52395,52396,52397,52404,52405,52408,52412,52420,52421,52423,52425,52432,52436,52452,52460,52464,52481,52488,52489,52492,52496,52504,52505,52507,52509,52516,52520,52524,52537,52572,52576,52580,52588,52589,52591,52593,52600,52616,52628,52629,52632,52636,52644,52645,52647,52649,52656,52676,52684,52688,52712,52716,52720,52728,52729,52731,52733,52740,52744,52748,52756,52761,52768,52769,52772,52776,52784,52785,52787,52789,54955,54957,54958,54959,54961,54962,54963,54964,54965,54966,54967,54968,54970,54972,54973,54974,54975,54976,54977,54978,54979,54982,54983,54985,54986,54987,null,null,null,null,null,null,54989,54990,54991,54992,54994,54995,54997,54998,55000,55002,55003,55004,55005,55006,55007,55009,55010,55011,55013,55014,55015,55017,55018,55019,55020,55021,null,null,null,null,null,null,55022,55023,55025,55026,55027,55028,55030,55031,55032,55033,55034,55035,55038,55039,55041,55042,55043,55045,55046,55047,55048,55049,55050,55051,55052,55053,55054,55055,55056,55058,55059,55060,52824,52825,52828,52831,52832,52833,52840,52841,52843,52845,52852,52853,52856,52860,52868,52869,52871,52873,52880,52881,52884,52888,52896,52897,52899,52900,52901,52908,52909,52929,52964,52965,52968,52971,52972,52980,52981,52983,52984,52985,52992,52993,52996,53000,53008,53009,53011,53013,53020,53024,53028,53036,53037,53039,53040,53041,53048,53076,53077,53080,53084,53092,53093,53095,53097,53104,53105,53108,53112,53120,53125,53132,53153,53160,53168,53188,53216,53217,53220,53224,53232,53233,53235,53237,53244,53248,53252,53265,53272,53293,53300,53301,53304,53308,55061,55062,55063,55066,55067,55069,55070,55071,55073,55074,55075,55076,55077,55078,55079,55082,55084,55086,55087,55088,55089,55090,55091,55094,55095,55097,null,null,null,null,null,null,55098,55099,55101,55102,55103,55104,55105,55106,55107,55109,55110,55112,55114,55115,55116,55117,55118,55119,55122,55123,55125,55130,55131,55132,55133,55134,null,null,null,null,null,null,55135,55138,55140,55142,55143,55144,55146,55147,55149,55150,55151,55153,55154,55155,55157,55158,55159,55160,55161,55162,55163,55166,55167,55168,55170,55171,55172,55173,55174,55175,55178,55179,53316,53317,53319,53321,53328,53332,53336,53344,53356,53357,53360,53364,53372,53373,53377,53412,53413,53416,53420,53428,53429,53431,53433,53440,53441,53444,53448,53449,53456,53457,53459,53460,53461,53468,53469,53472,53476,53484,53485,53487,53488,53489,53496,53517,53552,53553,53556,53560,53562,53568,53569,53571,53572,53573,53580,53581,53584,53588,53596,53597,53599,53601,53608,53612,53628,53636,53640,53664,53665,53668,53672,53680,53681,53683,53685,53690,53692,53696,53720,53748,53752,53767,53769,53776,53804,53805,53808,53812,53820,53821,53823,53825,53832,53852,55181,55182,55183,55185,55186,55187,55188,55189,55190,55191,55194,55196,55198,55199,55200,55201,55202,55203,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,53860,53888,53889,53892,53896,53904,53905,53909,53916,53920,53924,53932,53937,53944,53945,53948,53951,53952,53954,53960,53961,53963,53972,53976,53980,53988,53989,54000,54001,54004,54008,54016,54017,54019,54021,54028,54029,54030,54032,54036,54038,54044,54045,54047,54048,54049,54053,54056,54057,54060,54064,54072,54073,54075,54076,54077,54084,54085,54140,54141,54144,54148,54156,54157,54159,54160,54161,54168,54169,54172,54176,54184,54185,54187,54189,54196,54200,54204,54212,54213,54216,54217,54224,54232,54241,54243,54252,54253,54256,54260,54268,54269,54271,54273,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,54280,54301,54336,54340,54364,54368,54372,54381,54383,54392,54393,54396,54399,54400,54402,54408,54409,54411,54413,54420,54441,54476,54480,54484,54492,54495,54504,54508,54512,54520,54523,54525,54532,54536,54540,54548,54549,54551,54588,54589,54592,54596,54604,54605,54607,54609,54616,54617,54620,54624,54629,54632,54633,54635,54637,54644,54645,54648,54652,54660,54661,54663,54664,54665,54672,54693,54728,54729,54732,54736,54738,54744,54745,54747,54749,54756,54757,54760,54764,54772,54773,54775,54777,54784,54785,54788,54792,54800,54801,54803,54804,54805,54812,54816,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,54820,54829,54840,54841,54844,54848,54853,54856,54857,54859,54861,54865,54868,54869,54872,54876,54887,54889,54896,54897,54900,54915,54917,54924,54925,54928,54932,54941,54943,54945,54952,54956,54960,54969,54971,54980,54981,54984,54988,54993,54996,54999,55001,55008,55012,55016,55024,55029,55036,55037,55040,55044,55057,55064,55065,55068,55072,55080,55081,55083,55085,55092,55093,55096,55100,55108,55111,55113,55120,55121,55124,55126,55127,55128,55129,55136,55137,55139,55141,55145,55148,55152,55156,55164,55165,55169,55176,55177,55180,55184,55192,55193,55195,55197,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,20285,20339,20551,20729,21152,21487,21621,21733,22025,23233,23478,26247,26550,26551,26607,27468,29634,30146,31292,33499,33540,34903,34952,35382,36040,36303,36603,36838,39381,21051,21364,21508,24682,24932,27580,29647,33050,35258,35282,38307,20355,21002,22718,22904,23014,24178,24185,25031,25536,26438,26604,26751,28567,30286,30475,30965,31240,31487,31777,32925,33390,33393,35563,38291,20075,21917,26359,28212,30883,31469,33883,35088,34638,38824,21208,22350,22570,23884,24863,25022,25121,25954,26577,27204,28187,29976,30131,30435,30640,32058,37039,37969,37970,40853,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,21283,23724,30002,32987,37440,38296,21083,22536,23004,23713,23831,24247,24378,24394,24951,27743,30074,30086,31968,32115,32177,32652,33108,33313,34193,35137,35611,37628,38477,40007,20171,20215,20491,20977,22607,24887,24894,24936,25913,27114,28433,30117,30342,30422,31623,33445,33995,63744,37799,38283,21888,23458,22353,63745,31923,32697,37301,20520,21435,23621,24040,25298,25454,25818,25831,28192,28844,31067,36317,36382,63746,36989,37445,37624,20094,20214,20581,24062,24314,24838,26967,33137,34388,36423,37749,39467,20062,20625,26480,26688,20745,21133,21138,27298,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,30652,37392,40660,21163,24623,36850,20552,25001,25581,25802,26684,27268,28608,33160,35233,38548,22533,29309,29356,29956,32121,32365,32937,35211,35700,36963,40273,25225,27770,28500,32080,32570,35363,20860,24906,31645,35609,37463,37772,20140,20435,20510,20670,20742,21185,21197,21375,22384,22659,24218,24465,24950,25004,25806,25964,26223,26299,26356,26775,28039,28805,28913,29855,29861,29898,30169,30828,30956,31455,31478,32069,32147,32789,32831,33051,33686,35686,36629,36885,37857,38915,38968,39514,39912,20418,21843,22586,22865,23395,23622,24760,25106,26690,26800,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,26856,28330,30028,30328,30926,31293,31995,32363,32380,35336,35489,35903,38542,40388,21476,21481,21578,21617,22266,22993,23396,23611,24235,25335,25911,25925,25970,26272,26543,27073,27837,30204,30352,30590,31295,32660,32771,32929,33167,33510,33533,33776,34241,34865,34996,35493,63747,36764,37678,38599,39015,39640,40723,21741,26011,26354,26767,31296,35895,40288,22256,22372,23825,26118,26801,26829,28414,29736,34974,39908,27752,63748,39592,20379,20844,20849,21151,23380,24037,24656,24685,25329,25511,25915,29657,31354,34467,36002,38799,20018,23521,25096,26524,29916,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,31185,33747,35463,35506,36328,36942,37707,38982,24275,27112,34303,37101,63749,20896,23448,23532,24931,26874,27454,28748,29743,29912,31649,32592,33733,35264,36011,38364,39208,21038,24669,25324,36866,20362,20809,21281,22745,24291,26336,27960,28826,29378,29654,31568,33009,37979,21350,25499,32619,20054,20608,22602,22750,24618,24871,25296,27088,39745,23439,32024,32945,36703,20132,20689,21676,21932,23308,23968,24039,25898,25934,26657,27211,29409,30350,30703,32094,32761,33184,34126,34527,36611,36686,37066,39171,39509,39851,19992,20037,20061,20167,20465,20855,21246,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,21312,21475,21477,21646,22036,22389,22434,23495,23943,24272,25084,25304,25937,26552,26601,27083,27472,27590,27628,27714,28317,28792,29399,29590,29699,30655,30697,31350,32127,32777,33276,33285,33290,33503,34914,35635,36092,36544,36881,37041,37476,37558,39378,39493,40169,40407,40860,22283,23616,33738,38816,38827,40628,21531,31384,32676,35033,36557,37089,22528,23624,25496,31391,23470,24339,31353,31406,33422,36524,20518,21048,21240,21367,22280,25331,25458,27402,28099,30519,21413,29527,34152,36470,38357,26426,27331,28528,35437,36556,39243,63750,26231,27512,36020,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,39740,63751,21483,22317,22862,25542,27131,29674,30789,31418,31429,31998,33909,35215,36211,36917,38312,21243,22343,30023,31584,33740,37406,63752,27224,20811,21067,21127,25119,26840,26997,38553,20677,21156,21220,25027,26020,26681,27135,29822,31563,33465,33771,35250,35641,36817,39241,63753,20170,22935,25810,26129,27278,29748,31105,31165,33449,34942,34943,35167,63754,37670,20235,21450,24613,25201,27762,32026,32102,20120,20834,30684,32943,20225,20238,20854,20864,21980,22120,22331,22522,22524,22804,22855,22931,23492,23696,23822,24049,24190,24524,25216,26071,26083,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,26398,26399,26462,26827,26820,27231,27450,27683,27773,27778,28103,29592,29734,29738,29826,29859,30072,30079,30849,30959,31041,31047,31048,31098,31637,32000,32186,32648,32774,32813,32908,35352,35663,35912,36215,37665,37668,39138,39249,39438,39439,39525,40594,32202,20342,21513,25326,26708,37329,21931,20794,63755,63756,23068,25062,63757,25295,25343,63758,63759,63760,63761,63762,63763,37027,63764,63765,63766,63767,63768,35582,63769,63770,63771,63772,26262,63773,29014,63774,63775,38627,63776,25423,25466,21335,63777,26511,26976,28275,63778,30007,63779,63780,63781,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,32013,63782,63783,34930,22218,23064,63784,63785,63786,63787,63788,20035,63789,20839,22856,26608,32784,63790,22899,24180,25754,31178,24565,24684,25288,25467,23527,23511,21162,63791,22900,24361,24594,63792,63793,63794,29785,63795,63796,63797,63798,63799,63800,39377,63801,63802,63803,63804,63805,63806,63807,63808,63809,63810,63811,28611,63812,63813,33215,36786,24817,63814,63815,33126,63816,63817,23615,63818,63819,63820,63821,63822,63823,63824,63825,23273,35365,26491,32016,63826,63827,63828,63829,63830,63831,33021,63832,63833,23612,27877,21311,28346,22810,33590,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,20025,20150,20294,21934,22296,22727,24406,26039,26086,27264,27573,28237,30701,31471,31774,32222,34507,34962,37170,37723,25787,28606,29562,30136,36948,21846,22349,25018,25812,26311,28129,28251,28525,28601,30192,32835,33213,34113,35203,35527,35674,37663,27795,30035,31572,36367,36957,21776,22530,22616,24162,25095,25758,26848,30070,31958,34739,40680,20195,22408,22382,22823,23565,23729,24118,24453,25140,25825,29619,33274,34955,36024,38538,40667,23429,24503,24755,20498,20992,21040,22294,22581,22615,23566,23648,23798,23947,24230,24466,24764,25361,25481,25623,26691,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,26873,27330,28120,28193,28372,28644,29182,30428,30585,31153,31291,33796,35241,36077,36339,36424,36867,36884,36947,37117,37709,38518,38876,27602,28678,29272,29346,29544,30563,31167,31716,32411,35712,22697,24775,25958,26109,26302,27788,28958,29129,35930,38931,20077,31361,20189,20908,20941,21205,21516,24999,26481,26704,26847,27934,28540,30140,30643,31461,33012,33891,37509,20828,26007,26460,26515,30168,31431,33651,63834,35910,36887,38957,23663,33216,33434,36929,36975,37389,24471,23965,27225,29128,30331,31561,34276,35588,37159,39472,21895,25078,63835,30313,32645,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,34367,34746,35064,37007,63836,27931,28889,29662,32097,33853,63837,37226,39409,63838,20098,21365,27396,27410,28734,29211,34349,40478,21068,36771,23888,25829,25900,27414,28651,31811,32412,34253,35172,35261,25289,33240,34847,24266,26391,28010,29436,29701,29807,34690,37086,20358,23821,24480,33802,20919,25504,30053,20142,20486,20841,20937,26753,27153,31918,31921,31975,33391,35538,36635,37327,20406,20791,21237,21570,24300,24942,25150,26053,27354,28670,31018,34268,34851,38317,39522,39530,40599,40654,21147,26310,27511,28701,31019,36706,38722,24976,25088,25891,28451,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,29001,29833,32244,32879,34030,36646,36899,37706,20925,21015,21155,27916,28872,35010,24265,25986,27566,28610,31806,29557,20196,20278,22265,63839,23738,23994,24604,29618,31533,32666,32718,32838,36894,37428,38646,38728,38936,40801,20363,28583,31150,37300,38583,21214,63840,25736,25796,27347,28510,28696,29200,30439,32769,34310,34396,36335,36613,38706,39791,40442,40565,30860,31103,32160,33737,37636,40575,40595,35542,22751,24324,26407,28711,29903,31840,32894,20769,28712,29282,30922,36034,36058,36084,38647,20102,20698,23534,24278,26009,29134,30274,30637,32842,34044,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36988,39719,40845,22744,23105,23650,27155,28122,28431,30267,32047,32311,34078,35128,37860,38475,21129,26066,26611,27060,27969,28316,28687,29705,29792,30041,30244,30827,35628,39006,20845,25134,38520,20374,20523,23833,28138,32184,36650,24459,24900,26647,63841,38534,21202,32907,20956,20940,26974,31260,32190,33777,38517,20442,21033,21400,21519,21774,23653,24743,26446,26792,28012,29313,29432,29702,29827,63842,30178,31852,32633,32696,33673,35023,35041,37324,37328,38626,39881,21533,28542,29136,29848,34298,36522,38563,40023,40607,26519,28107,29747,33256,38678,30764,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,31435,31520,31890,25705,29802,30194,30908,30952,39340,39764,40635,23518,24149,28448,33180,33707,37000,19975,21325,23081,24018,24398,24930,25405,26217,26364,28415,28459,28771,30622,33836,34067,34875,36627,39237,39995,21788,25273,26411,27819,33545,35178,38778,20129,22916,24536,24537,26395,32178,32596,33426,33579,33725,36638,37017,22475,22969,23186,23504,26151,26522,26757,27599,29028,32629,36023,36067,36993,39749,33032,35978,38476,39488,40613,23391,27667,29467,30450,30431,33804,20906,35219,20813,20885,21193,26825,27796,30468,30496,32191,32236,38754,40629,28357,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,34065,20901,21517,21629,26126,26269,26919,28319,30399,30609,33559,33986,34719,37225,37528,40180,34946,20398,20882,21215,22982,24125,24917,25720,25721,26286,26576,27169,27597,27611,29279,29281,29761,30520,30683,32791,33468,33541,35584,35624,35980,26408,27792,29287,30446,30566,31302,40361,27519,27794,22818,26406,33945,21359,22675,22937,24287,25551,26164,26483,28218,29483,31447,33495,37672,21209,24043,25006,25035,25098,25287,25771,26080,26969,27494,27595,28961,29687,30045,32326,33310,33538,34154,35491,36031,38695,40289,22696,40664,20497,21006,21563,21839,25991,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,27766,32010,32011,32862,34442,38272,38639,21247,27797,29289,21619,23194,23614,23883,24396,24494,26410,26806,26979,28220,28228,30473,31859,32654,34183,35598,36855,38753,40692,23735,24758,24845,25003,25935,26107,26108,27665,27887,29599,29641,32225,38292,23494,34588,35600,21085,21338,25293,25615,25778,26420,27192,27850,29632,29854,31636,31893,32283,33162,33334,34180,36843,38649,39361,20276,21322,21453,21467,25292,25644,25856,26001,27075,27886,28504,29677,30036,30242,30436,30460,30928,30971,31020,32070,33324,34784,36820,38930,39151,21187,25300,25765,28196,28497,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,30332,36299,37297,37474,39662,39747,20515,20621,22346,22952,23592,24135,24439,25151,25918,26041,26049,26121,26507,27036,28354,30917,32033,32938,33152,33323,33459,33953,34444,35370,35607,37030,38450,40848,20493,20467,63843,22521,24472,25308,25490,26479,28227,28953,30403,32972,32986,35060,35061,35097,36064,36649,37197,38506,20271,20336,24091,26575,26658,30333,30334,39748,24161,27146,29033,29140,30058,63844,32321,34115,34281,39132,20240,31567,32624,38309,20961,24070,26805,27710,27726,27867,29359,31684,33539,27861,29754,20731,21128,22721,25816,27287,29863,30294,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,30887,34327,38370,38713,63845,21342,24321,35722,36776,36783,37002,21029,30629,40009,40712,19993,20482,20853,23643,24183,26142,26170,26564,26821,28851,29953,30149,31177,31453,36647,39200,39432,20445,22561,22577,23542,26222,27493,27921,28282,28541,29668,29995,33769,35036,35091,35676,36628,20239,20693,21264,21340,23443,24489,26381,31119,33145,33583,34068,35079,35206,36665,36667,39333,39954,26412,20086,20472,22857,23553,23791,23792,25447,26834,28925,29090,29739,32299,34028,34562,36898,37586,40179,19981,20184,20463,20613,21078,21103,21542,21648,22496,22827,23142,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,23386,23413,23500,24220,63846,25206,25975,26023,28014,28325,29238,31526,31807,32566,33104,33105,33178,33344,33433,33705,35331,36000,36070,36091,36212,36282,37096,37340,38428,38468,39385,40167,21271,20998,21545,22132,22707,22868,22894,24575,24996,25198,26128,27774,28954,30406,31881,31966,32027,33452,36033,38640,63847,20315,24343,24447,25282,23849,26379,26842,30844,32323,40300,19989,20633,21269,21290,21329,22915,23138,24199,24754,24970,25161,25209,26000,26503,27047,27604,27606,27607,27608,27832,63848,29749,30202,30738,30865,31189,31192,31875,32203,32737,32933,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,33086,33218,33778,34586,35048,35513,35692,36027,37145,38750,39131,40763,22188,23338,24428,25996,27315,27567,27996,28657,28693,29277,29613,36007,36051,38971,24977,27703,32856,39425,20045,20107,20123,20181,20282,20284,20351,20447,20735,21490,21496,21766,21987,22235,22763,22882,23057,23531,23546,23556,24051,24107,24473,24605,25448,26012,26031,26614,26619,26797,27515,27801,27863,28195,28681,29509,30722,31038,31040,31072,31169,31721,32023,32114,32902,33293,33678,34001,34503,35039,35408,35422,35613,36060,36198,36781,37034,39164,39391,40605,21066,63849,26388,63850,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,20632,21034,23665,25955,27733,29642,29987,30109,31639,33948,37240,38704,20087,25746,27578,29022,34217,19977,63851,26441,26862,28183,33439,34072,34923,25591,28545,37394,39087,19978,20663,20687,20767,21830,21930,22039,23360,23577,23776,24120,24202,24224,24258,24819,26705,27233,28248,29245,29248,29376,30456,31077,31665,32724,35059,35316,35443,35937,36062,38684,22622,29885,36093,21959,63852,31329,32034,33394,29298,29983,29989,63853,31513,22661,22779,23996,24207,24246,24464,24661,25234,25471,25933,26257,26329,26360,26646,26866,29312,29790,31598,32110,32214,32626,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,32997,33298,34223,35199,35475,36893,37604,40653,40736,22805,22893,24109,24796,26132,26227,26512,27728,28101,28511,30707,30889,33990,37323,37675,20185,20682,20808,21892,23307,23459,25159,25982,26059,28210,29053,29697,29764,29831,29887,30316,31146,32218,32341,32680,33146,33203,33337,34330,34796,35445,36323,36984,37521,37925,39245,39854,21352,23633,26964,27844,27945,28203,33292,34203,35131,35373,35498,38634,40807,21089,26297,27570,32406,34814,36109,38275,38493,25885,28041,29166,63854,22478,22995,23468,24615,24826,25104,26143,26207,29481,29689,30427,30465,31596,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,32854,32882,33125,35488,37266,19990,21218,27506,27927,31237,31545,32048,63855,36016,21484,22063,22609,23477,23567,23569,24034,25152,25475,25620,26157,26803,27836,28040,28335,28703,28836,29138,29990,30095,30094,30233,31505,31712,31787,32032,32057,34092,34157,34311,35380,36877,36961,37045,37559,38902,39479,20439,23660,26463,28049,31903,32396,35606,36118,36895,23403,24061,25613,33984,36956,39137,29575,23435,24730,26494,28126,35359,35494,36865,38924,21047,63856,28753,30862,37782,34928,37335,20462,21463,22013,22234,22402,22781,23234,23432,23723,23744,24101,24833,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,25101,25163,25480,25628,25910,25976,27193,27530,27700,27929,28465,29159,29417,29560,29703,29874,30246,30561,31168,31319,31466,31929,32143,32172,32353,32670,33065,33585,33936,34010,34282,34966,35504,35728,36664,36930,36995,37228,37526,37561,38539,38567,38568,38614,38656,38920,39318,39635,39706,21460,22654,22809,23408,23487,28113,28506,29087,29729,29881,32901,33789,24033,24455,24490,24642,26092,26642,26991,27219,27529,27957,28147,29667,30462,30636,31565,32020,33059,33308,33600,34036,34147,35426,35524,37255,37662,38918,39348,25100,34899,36848,37477,23815,23847,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,23913,29791,33181,34664,28629,25342,32722,35126,35186,19998,20056,20711,21213,21319,25215,26119,32361,34821,38494,20365,21273,22070,22987,23204,23608,23630,23629,24066,24337,24643,26045,26159,26178,26558,26612,29468,30690,31034,32709,33940,33997,35222,35430,35433,35553,35925,35962,22516,23508,24335,24687,25325,26893,27542,28252,29060,31698,34645,35672,36606,39135,39166,20280,20353,20449,21627,23072,23480,24892,26032,26216,29180,30003,31070,32051,33102,33251,33688,34218,34254,34563,35338,36523,36763,63857,36805,22833,23460,23526,24713,23529,23563,24515,27777,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,63858,28145,28683,29978,33455,35574,20160,21313,63859,38617,27663,20126,20420,20818,21854,23077,23784,25105,29273,33469,33706,34558,34905,35357,38463,38597,39187,40201,40285,22538,23731,23997,24132,24801,24853,25569,27138,28197,37122,37716,38990,39952,40823,23433,23736,25353,26191,26696,30524,38593,38797,38996,39839,26017,35585,36555,38332,21813,23721,24022,24245,26263,30284,33780,38343,22739,25276,29390,40232,20208,22830,24591,26171,27523,31207,40230,21395,21696,22467,23830,24859,26326,28079,30861,33406,38552,38724,21380,25212,25494,28082,32266,33099,38989,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,27387,32588,40367,40474,20063,20539,20918,22812,24825,25590,26928,29242,32822,63860,37326,24369,63861,63862,32004,33509,33903,33979,34277,36493,63863,20335,63864,63865,22756,23363,24665,25562,25880,25965,26264,63866,26954,27171,27915,28673,29036,30162,30221,31155,31344,63867,32650,63868,35140,63869,35731,37312,38525,63870,39178,22276,24481,26044,28417,30208,31142,35486,39341,39770,40812,20740,25014,25233,27277,33222,20547,22576,24422,28937,35328,35578,23420,34326,20474,20796,22196,22852,25513,28153,23978,26989,20870,20104,20313,63871,63872,63873,22914,63874,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,63875,27487,27741,63876,29877,30998,63877,33287,33349,33593,36671,36701,63878,39192,63879,63880,63881,20134,63882,22495,24441,26131,63883,63884,30123,32377,35695,63885,36870,39515,22181,22567,23032,23071,23476,63886,24310,63887,63888,25424,25403,63889,26941,27783,27839,28046,28051,28149,28436,63890,28895,28982,29017,63891,29123,29141,63892,30799,30831,63893,31605,32227,63894,32303,63895,34893,36575,63896,63897,63898,37467,63899,40182,63900,63901,63902,24709,28037,63903,29105,63904,63905,38321,21421,63906,63907,63908,26579,63909,28814,28976,29744,33398,33490,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,63910,38331,39653,40573,26308,63911,29121,33865,63912,63913,22603,63914,63915,23992,24433,63916,26144,26254,27001,27054,27704,27891,28214,28481,28634,28699,28719,29008,29151,29552,63917,29787,63918,29908,30408,31310,32403,63919,63920,33521,35424,36814,63921,37704,63922,38681,63923,63924,20034,20522,63925,21000,21473,26355,27757,28618,29450,30591,31330,33454,34269,34306,63926,35028,35427,35709,35947,63927,37555,63928,38675,38928,20116,20237,20425,20658,21320,21566,21555,21978,22626,22714,22887,23067,23524,24735,63929,25034,25942,26111,26212,26791,27738,28595,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,28879,29100,29522,31613,34568,35492,39986,40711,23627,27779,29508,29577,37434,28331,29797,30239,31337,32277,34314,20800,22725,25793,29934,29973,30320,32705,37013,38605,39252,28198,29926,31401,31402,33253,34521,34680,35355,23113,23436,23451,26785,26880,28003,29609,29715,29740,30871,32233,32747,33048,33109,33694,35916,38446,38929,26352,24448,26106,26505,27754,29579,20525,23043,27498,30702,22806,23916,24013,29477,30031,63930,63931,20709,20985,22575,22829,22934,23002,23525,63932,63933,23970,25303,25622,25747,25854,63934,26332,63935,27208,63936,29183,29796,63937,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,31368,31407,32327,32350,32768,33136,63938,34799,35201,35616,36953,63939,36992,39250,24958,27442,28020,32287,35109,36785,20433,20653,20887,21191,22471,22665,23481,24248,24898,27029,28044,28263,28342,29076,29794,29992,29996,32883,33592,33993,36362,37780,37854,63940,20110,20305,20598,20778,21448,21451,21491,23431,23507,23588,24858,24962,26100,29275,29591,29760,30402,31056,31121,31161,32006,32701,33419,34261,34398,36802,36935,37109,37354,38533,38632,38633,21206,24423,26093,26161,26671,29020,31286,37057,38922,20113,63941,27218,27550,28560,29065,32792,33464,34131,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36939,38549,38642,38907,34074,39729,20112,29066,38596,20803,21407,21729,22291,22290,22435,23195,23236,23491,24616,24895,25588,27781,27961,28274,28304,29232,29503,29783,33489,34945,36677,36960,63942,38498,39000,40219,26376,36234,37470,20301,20553,20702,21361,22285,22996,23041,23561,24944,26256,28205,29234,29771,32239,32963,33806,33894,34111,34655,34907,35096,35586,36949,38859,39759,20083,20369,20754,20842,63943,21807,21929,23418,23461,24188,24189,24254,24736,24799,24840,24841,25540,25912,26377,63944,26580,26586,63945,26977,26978,27833,27943,63946,28216,63947,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,28641,29494,29495,63948,29788,30001,63949,30290,63950,63951,32173,33278,33848,35029,35480,35547,35565,36400,36418,36938,36926,36986,37193,37321,37742,63952,63953,22537,63954,27603,32905,32946,63955,63956,20801,22891,23609,63957,63958,28516,29607,32996,36103,63959,37399,38287,63960,63961,63962,63963,32895,25102,28700,32104,34701,63964,22432,24681,24903,27575,35518,37504,38577,20057,21535,28139,34093,38512,38899,39150,25558,27875,37009,20957,25033,33210,40441,20381,20506,20736,23452,24847,25087,25836,26885,27589,30097,30691,32681,33380,34191,34811,34915,35516,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,35696,37291,20108,20197,20234,63965,63966,22839,23016,63967,24050,24347,24411,24609,63968,63969,63970,63971,29246,29669,63972,30064,30157,63973,31227,63974,32780,32819,32900,33505,33617,63975,63976,36029,36019,36999,63977,63978,39156,39180,63979,63980,28727,30410,32714,32716,32764,35610,20154,20161,20995,21360,63981,21693,22240,23035,23493,24341,24525,28270,63982,63983,32106,33589,63984,34451,35469,63985,38765,38775,63986,63987,19968,20314,20350,22777,26085,28322,36920,37808,39353,20219,22764,22922,23001,24641,63988,63989,31252,63990,33615,36035,20837,21316,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,63991,63992,63993,20173,21097,23381,33471,20180,21050,21672,22985,23039,23376,23383,23388,24675,24904,28363,28825,29038,29574,29943,30133,30913,32043,32773,33258,33576,34071,34249,35566,36039,38604,20316,21242,22204,26027,26152,28796,28856,29237,32189,33421,37196,38592,40306,23409,26855,27544,28538,30430,23697,26283,28507,31668,31786,34870,38620,19976,20183,21280,22580,22715,22767,22892,23559,24115,24196,24373,25484,26290,26454,27167,27299,27404,28479,29254,63994,29520,29835,31456,31911,33144,33247,33255,33674,33900,34083,34196,34255,35037,36115,37292,38263,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,38556,20877,21705,22312,23472,25165,26448,26685,26771,28221,28371,28797,32289,35009,36001,36617,40779,40782,29229,31631,35533,37658,20295,20302,20786,21632,22992,24213,25269,26485,26990,27159,27822,28186,29401,29482,30141,31672,32053,33511,33785,33879,34295,35419,36015,36487,36889,37048,38606,40799,21219,21514,23265,23490,25688,25973,28404,29380,63995,30340,31309,31515,31821,32318,32735,33659,35627,36042,36196,36321,36447,36842,36857,36969,37841,20291,20346,20659,20840,20856,21069,21098,22625,22652,22880,23560,23637,24283,24731,25136,26643,27583,27656,28593,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,29006,29728,30000,30008,30033,30322,31564,31627,31661,31686,32399,35438,36670,36681,37439,37523,37666,37931,38651,39002,39019,39198,20999,25130,25240,27993,30308,31434,31680,32118,21344,23742,24215,28472,28857,31896,38673,39822,40670,25509,25722,34678,19969,20117,20141,20572,20597,21576,22979,23450,24128,24237,24311,24449,24773,25402,25919,25972,26060,26230,26232,26622,26984,27273,27491,27712,28096,28136,28191,28254,28702,28833,29582,29693,30010,30555,30855,31118,31243,31357,31934,32142,33351,35330,35562,35998,37165,37194,37336,37478,37580,37664,38662,38742,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,38748,38914,40718,21046,21137,21884,22564,24093,24351,24716,25552,26799,28639,31085,31532,33229,34234,35069,35576,36420,37261,38500,38555,38717,38988,40778,20430,20806,20939,21161,22066,24340,24427,25514,25805,26089,26177,26362,26361,26397,26781,26839,27133,28437,28526,29031,29157,29226,29866,30522,31062,31066,31199,31264,31381,31895,31967,32068,32368,32903,34299,34468,35412,35519,36249,36481,36896,36973,37347,38459,38613,40165,26063,31751,36275,37827,23384,23562,21330,25305,29469,20519,23447,24478,24752,24939,26837,28121,29742,31278,32066,32156,32305,33131,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36394,36405,37758,37912,20304,22352,24038,24231,25387,32618,20027,20303,20367,20570,23005,32964,21610,21608,22014,22863,23449,24030,24282,26205,26417,26609,26666,27880,27954,28234,28557,28855,29664,30087,31820,32002,32044,32162,33311,34523,35387,35461,36208,36490,36659,36913,37198,37202,37956,39376,31481,31909,20426,20737,20934,22472,23535,23803,26201,27197,27994,28310,28652,28940,30063,31459,34850,36897,36981,38603,39423,33537,20013,20210,34886,37325,21373,27355,26987,27713,33914,22686,24974,26366,25327,28893,29969,30151,32338,33976,35657,36104,20043,21482,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,21675,22320,22336,24535,25345,25351,25711,25903,26088,26234,26525,26547,27490,27744,27802,28460,30693,30757,31049,31063,32025,32930,33026,33267,33437,33463,34584,35468,63996,36100,36286,36978,30452,31257,31287,32340,32887,21767,21972,22645,25391,25634,26185,26187,26733,27035,27524,27941,28337,29645,29800,29857,30043,30137,30433,30494,30603,31206,32265,32285,33275,34095,34967,35386,36049,36587,36784,36914,37805,38499,38515,38663,20356,21489,23018,23241,24089,26702,29894,30142,31209,31378,33187,34541,36074,36300,36845,26015,26389,63997,22519,28503,32221,36655,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,37878,38598,24501,25074,28548,19988,20376,20511,21449,21983,23919,24046,27425,27492,30923,31642,63998,36425,36554,36974,25417,25662,30528,31364,37679,38015,40810,25776,28591,29158,29864,29914,31428,31762,32386,31922,32408,35738,36106,38013,39184,39244,21049,23519,25830,26413,32046,20717,21443,22649,24920,24921,25082,26028,31449,35730,35734,20489,20513,21109,21809,23100,24288,24432,24884,25950,26124,26166,26274,27085,28356,28466,29462,30241,31379,33081,33369,33750,33980,20661,22512,23488,23528,24425,25505,30758,32181,33756,34081,37319,37365,20874,26613,31574,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36012,20932,22971,24765,34389,20508,63999,21076,23610,24957,25114,25299,25842,26021,28364,30240,33034,36448,38495,38587,20191,21315,21912,22825,24029,25797,27849,28154,29588,31359,33307,34214,36068,36368,36983,37351,38369,38433,38854,20984,21746,21894,24505,25764,28552,32180,36639,36685,37941,20681,23574,27838,28155,29979,30651,31805,31844,35449,35522,22558,22974,24086,25463,29266,30090,30571,35548,36028,36626,24307,26228,28152,32893,33729,35531,38737,39894,64000,21059,26367,28053,28399,32224,35558,36910,36958,39636,21021,21119,21736,24980,25220,25307,26786,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,26898,26970,27189,28818,28966,30813,30977,30990,31186,31245,32918,33400,33493,33609,34121,35970,36229,37218,37259,37294,20419,22225,29165,30679,34560,35320,23544,24534,26449,37032,21474,22618,23541,24740,24961,25696,32317,32880,34085,37507,25774,20652,23828,26368,22684,25277,25512,26894,27000,27166,28267,30394,31179,33467,33833,35535,36264,36861,37138,37195,37276,37648,37656,37786,38619,39478,39949,19985,30044,31069,31482,31569,31689,32302,33988,36441,36468,36600,36880,26149,26943,29763,20986,26414,40668,20805,24544,27798,34802,34909,34935,24756,33205,33795,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,36101,21462,21561,22068,23094,23601,28810,32736,32858,33030,33261,36259,37257,39519,40434,20596,20164,21408,24827,28204,23652,20360,20516,21988,23769,24159,24677,26772,27835,28100,29118,30164,30196,30305,31258,31305,32199,32251,32622,33268,34473,36636,38601,39347,40786,21063,21189,39149,35242,19971,26578,28422,20405,23522,26517,27784,28024,29723,30759,37341,37756,34756,31204,31281,24555,20182,21668,21822,22702,22949,24816,25171,25302,26422,26965,33333,38464,39345,39389,20524,21331,21828,22396,64001,25176,64002,25826,26219,26589,28609,28655,29730,29752,35351,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,37944,21585,22022,22374,24392,24986,27470,28760,28845,32187,35477,22890,33067,25506,30472,32829,36010,22612,25645,27067,23445,24081,28271,64003,34153,20812,21488,22826,24608,24907,27526,27760,27888,31518,32974,33492,36294,37040,39089,64004,25799,28580,25745,25860,20814,21520,22303,35342,24927,26742,64005,30171,31570,32113,36890,22534,27084,33151,35114,36864,38969,20600,22871,22956,25237,36879,39722,24925,29305,38358,22369,23110,24052,25226,25773,25850,26487,27874,27966,29228,29750,30772,32631,33453,36315,38935,21028,22338,26495,29256,29923,36009,36774,37393,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,38442,20843,21485,25420,20329,21764,24726,25943,27803,28031,29260,29437,31255,35207,35997,24429,28558,28921,33192,24846,20415,20559,25153,29255,31687,32232,32745,36941,38829,39449,36022,22378,24179,26544,33805,35413,21536,23318,24163,24290,24330,25987,32954,34109,38281,38491,20296,21253,21261,21263,21638,21754,22275,24067,24598,25243,25265,25429,64006,27873,28006,30129,30770,32990,33071,33502,33889,33970,34957,35090,36875,37610,39165,39825,24133,26292,26333,28689,29190,64007,20469,21117,24426,24915,26451,27161,28418,29922,31080,34920,35961,39111,39108,39491,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,21697,31263,26963,35575,35914,39080,39342,24444,25259,30130,30382,34987,36991,38466,21305,24380,24517,27852,29644,30050,30091,31558,33534,39325,20047,36924,19979,20309,21414,22799,24264,26160,27827,29781,33655,34662,36032,36944,38686,39957,22737,23416,34384,35604,40372,23506,24680,24717,26097,27735,28450,28579,28698,32597,32752,38289,38290,38480,38867,21106,36676,20989,21547,21688,21859,21898,27323,28085,32216,33382,37532,38519,40569,21512,21704,30418,34532,38308,38356,38492,20130,20233,23022,23270,24055,24658,25239,26477,26689,27782,28207,32568,32923,33322,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,64008,64009,38917,20133,20565,21683,22419,22874,23401,23475,25032,26999,28023,28707,34809,35299,35442,35559,36994,39405,39608,21182,26680,20502,24184,26447,33607,34892,20139,21521,22190,29670,37141,38911,39177,39255,39321,22099,22687,34395,35377,25010,27382,29563,36562,27463,38570,39511,22869,29184,36203,38761,20436,23796,24358,25080,26203,27883,28843,29572,29625,29694,30505,30541,32067,32098,32291,33335,34898,64010,36066,37449,39023,23377,31348,34880,38913,23244,20448,21332,22846,23805,25406,28025,29433,33029,33031,33698,37583,38960,20136,20804,21009,22411,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,24418,27842,28366,28677,28752,28847,29074,29673,29801,33610,34722,34913,36872,37026,37795,39336,20846,24407,24800,24935,26291,34137,36426,37295,38795,20046,20114,21628,22741,22778,22909,23733,24359,25142,25160,26122,26215,27627,28009,28111,28246,28408,28564,28640,28649,28765,29392,29733,29786,29920,30355,31068,31946,32286,32993,33446,33899,33983,34382,34399,34676,35703,35946,37804,38912,39013,24785,25110,37239,23130,26127,28151,28222,29759,39746,24573,24794,31503,21700,24344,27742,27859,27946,28888,32005,34425,35340,40251,21270,21644,23301,27194,28779,30069,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,31117,31166,33457,33775,35441,35649,36008,38772,64011,25844,25899,30906,30907,31339,20024,21914,22864,23462,24187,24739,25563,27489,26213,26707,28185,29029,29872,32008,36996,39529,39973,27963,28369,29502,35905,38346,20976,24140,24488,24653,24822,24880,24908,26179,26180,27045,27841,28255,28361,28514,29004,29852,30343,31681,31783,33618,34647,36945,38541,40643,21295,22238,24315,24458,24674,24724,25079,26214,26371,27292,28142,28590,28784,29546,32362,33214,33588,34516,35496,36036,21123,29554,23446,27243,37892,21742,22150,23389,25928,25989,26313,26783,28045,28102,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,29243,32948,37237,39501,20399,20505,21402,21518,21564,21897,21957,24127,24460,26429,29030,29661,36869,21211,21235,22628,22734,28932,29071,29179,34224,35347,26248,34216,21927,26244,29002,33841,21321,21913,27585,24409,24509,25582,26249,28999,35569,36637,40638,20241,25658,28875,30054,34407,24676,35662,40440,20807,20982,21256,27958,33016,40657,26133,27427,28824,30165,21507,23673,32007,35350,27424,27453,27462,21560,24688,27965,32725,33288,20694,20958,21916,22123,22221,23020,23305,24076,24985,24984,25137,26206,26342,29081,29113,29114,29351,31143,31232,32690,35440,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],\n  \"gb18030\":[19970,19972,19973,19974,19983,19986,19991,19999,20000,20001,20003,20006,20009,20014,20015,20017,20019,20021,20023,20028,20032,20033,20034,20036,20038,20042,20049,20053,20055,20058,20059,20066,20067,20068,20069,20071,20072,20074,20075,20076,20077,20078,20079,20082,20084,20085,20086,20087,20088,20089,20090,20091,20092,20093,20095,20096,20097,20098,20099,20100,20101,20103,20106,20112,20118,20119,20121,20124,20125,20126,20131,20138,20143,20144,20145,20148,20150,20151,20152,20153,20156,20157,20158,20168,20172,20175,20176,20178,20186,20187,20188,20192,20194,20198,20199,20201,20205,20206,20207,20209,20212,20216,20217,20218,20220,20222,20224,20226,20227,20228,20229,20230,20231,20232,20235,20236,20242,20243,20244,20245,20246,20252,20253,20257,20259,20264,20265,20268,20269,20270,20273,20275,20277,20279,20281,20283,20286,20287,20288,20289,20290,20292,20293,20295,20296,20297,20298,20299,20300,20306,20308,20310,20321,20322,20326,20328,20330,20331,20333,20334,20337,20338,20341,20343,20344,20345,20346,20349,20352,20353,20354,20357,20358,20359,20362,20364,20366,20368,20370,20371,20373,20374,20376,20377,20378,20380,20382,20383,20385,20386,20388,20395,20397,20400,20401,20402,20403,20404,20406,20407,20408,20409,20410,20411,20412,20413,20414,20416,20417,20418,20422,20423,20424,20425,20427,20428,20429,20434,20435,20436,20437,20438,20441,20443,20448,20450,20452,20453,20455,20459,20460,20464,20466,20468,20469,20470,20471,20473,20475,20476,20477,20479,20480,20481,20482,20483,20484,20485,20486,20487,20488,20489,20490,20491,20494,20496,20497,20499,20501,20502,20503,20507,20509,20510,20512,20514,20515,20516,20519,20523,20527,20528,20529,20530,20531,20532,20533,20534,20535,20536,20537,20539,20541,20543,20544,20545,20546,20548,20549,20550,20553,20554,20555,20557,20560,20561,20562,20563,20564,20566,20567,20568,20569,20571,20573,20574,20575,20576,20577,20578,20579,20580,20582,20583,20584,20585,20586,20587,20589,20590,20591,20592,20593,20594,20595,20596,20597,20600,20601,20602,20604,20605,20609,20610,20611,20612,20614,20615,20617,20618,20619,20620,20622,20623,20624,20625,20626,20627,20628,20629,20630,20631,20632,20633,20634,20635,20636,20637,20638,20639,20640,20641,20642,20644,20646,20650,20651,20653,20654,20655,20656,20657,20659,20660,20661,20662,20663,20664,20665,20668,20669,20670,20671,20672,20673,20674,20675,20676,20677,20678,20679,20680,20681,20682,20683,20684,20685,20686,20688,20689,20690,20691,20692,20693,20695,20696,20697,20699,20700,20701,20702,20703,20704,20705,20706,20707,20708,20709,20712,20713,20714,20715,20719,20720,20721,20722,20724,20726,20727,20728,20729,20730,20732,20733,20734,20735,20736,20737,20738,20739,20740,20741,20744,20745,20746,20748,20749,20750,20751,20752,20753,20755,20756,20757,20758,20759,20760,20761,20762,20763,20764,20765,20766,20767,20768,20770,20771,20772,20773,20774,20775,20776,20777,20778,20779,20780,20781,20782,20783,20784,20785,20786,20787,20788,20789,20790,20791,20792,20793,20794,20795,20796,20797,20798,20802,20807,20810,20812,20814,20815,20816,20818,20819,20823,20824,20825,20827,20829,20830,20831,20832,20833,20835,20836,20838,20839,20841,20842,20847,20850,20858,20862,20863,20867,20868,20870,20871,20874,20875,20878,20879,20880,20881,20883,20884,20888,20890,20893,20894,20895,20897,20899,20902,20903,20904,20905,20906,20909,20910,20916,20920,20921,20922,20926,20927,20929,20930,20931,20933,20936,20938,20941,20942,20944,20946,20947,20948,20949,20950,20951,20952,20953,20954,20956,20958,20959,20962,20963,20965,20966,20967,20968,20969,20970,20972,20974,20977,20978,20980,20983,20990,20996,20997,21001,21003,21004,21007,21008,21011,21012,21013,21020,21022,21023,21025,21026,21027,21029,21030,21031,21034,21036,21039,21041,21042,21044,21045,21052,21054,21060,21061,21062,21063,21064,21065,21067,21070,21071,21074,21075,21077,21079,21080,21081,21082,21083,21085,21087,21088,21090,21091,21092,21094,21096,21099,21100,21101,21102,21104,21105,21107,21108,21109,21110,21111,21112,21113,21114,21115,21116,21118,21120,21123,21124,21125,21126,21127,21129,21130,21131,21132,21133,21134,21135,21137,21138,21140,21141,21142,21143,21144,21145,21146,21148,21156,21157,21158,21159,21166,21167,21168,21172,21173,21174,21175,21176,21177,21178,21179,21180,21181,21184,21185,21186,21188,21189,21190,21192,21194,21196,21197,21198,21199,21201,21203,21204,21205,21207,21209,21210,21211,21212,21213,21214,21216,21217,21218,21219,21221,21222,21223,21224,21225,21226,21227,21228,21229,21230,21231,21233,21234,21235,21236,21237,21238,21239,21240,21243,21244,21245,21249,21250,21251,21252,21255,21257,21258,21259,21260,21262,21265,21266,21267,21268,21272,21275,21276,21278,21279,21282,21284,21285,21287,21288,21289,21291,21292,21293,21295,21296,21297,21298,21299,21300,21301,21302,21303,21304,21308,21309,21312,21314,21316,21318,21323,21324,21325,21328,21332,21336,21337,21339,21341,21349,21352,21354,21356,21357,21362,21366,21369,21371,21372,21373,21374,21376,21377,21379,21383,21384,21386,21390,21391,21392,21393,21394,21395,21396,21398,21399,21401,21403,21404,21406,21408,21409,21412,21415,21418,21419,21420,21421,21423,21424,21425,21426,21427,21428,21429,21431,21432,21433,21434,21436,21437,21438,21440,21443,21444,21445,21446,21447,21454,21455,21456,21458,21459,21461,21466,21468,21469,21470,21473,21474,21479,21492,21498,21502,21503,21504,21506,21509,21511,21515,21524,21528,21529,21530,21532,21538,21540,21541,21546,21552,21555,21558,21559,21562,21565,21567,21569,21570,21572,21573,21575,21577,21580,21581,21582,21583,21585,21594,21597,21598,21599,21600,21601,21603,21605,21607,21609,21610,21611,21612,21613,21614,21615,21616,21620,21625,21626,21630,21631,21633,21635,21637,21639,21640,21641,21642,21645,21649,21651,21655,21656,21660,21662,21663,21664,21665,21666,21669,21678,21680,21682,21685,21686,21687,21689,21690,21692,21694,21699,21701,21706,21707,21718,21720,21723,21728,21729,21730,21731,21732,21739,21740,21743,21744,21745,21748,21749,21750,21751,21752,21753,21755,21758,21760,21762,21763,21764,21765,21768,21770,21771,21772,21773,21774,21778,21779,21781,21782,21783,21784,21785,21786,21788,21789,21790,21791,21793,21797,21798,21800,21801,21803,21805,21810,21812,21813,21814,21816,21817,21818,21819,21821,21824,21826,21829,21831,21832,21835,21836,21837,21838,21839,21841,21842,21843,21844,21847,21848,21849,21850,21851,21853,21854,21855,21856,21858,21859,21864,21865,21867,21871,21872,21873,21874,21875,21876,21881,21882,21885,21887,21893,21894,21900,21901,21902,21904,21906,21907,21909,21910,21911,21914,21915,21918,21920,21921,21922,21923,21924,21925,21926,21928,21929,21930,21931,21932,21933,21934,21935,21936,21938,21940,21942,21944,21946,21948,21951,21952,21953,21954,21955,21958,21959,21960,21962,21963,21966,21967,21968,21973,21975,21976,21977,21978,21979,21982,21984,21986,21991,21993,21997,21998,22000,22001,22004,22006,22008,22009,22010,22011,22012,22015,22018,22019,22020,22021,22022,22023,22026,22027,22029,22032,22033,22034,22035,22036,22037,22038,22039,22041,22042,22044,22045,22048,22049,22050,22053,22054,22056,22057,22058,22059,22062,22063,22064,22067,22069,22071,22072,22074,22076,22077,22078,22080,22081,22082,22083,22084,22085,22086,22087,22088,22089,22090,22091,22095,22096,22097,22098,22099,22101,22102,22106,22107,22109,22110,22111,22112,22113,22115,22117,22118,22119,22125,22126,22127,22128,22130,22131,22132,22133,22135,22136,22137,22138,22141,22142,22143,22144,22145,22146,22147,22148,22151,22152,22153,22154,22155,22156,22157,22160,22161,22162,22164,22165,22166,22167,22168,22169,22170,22171,22172,22173,22174,22175,22176,22177,22178,22180,22181,22182,22183,22184,22185,22186,22187,22188,22189,22190,22192,22193,22194,22195,22196,22197,22198,22200,22201,22202,22203,22205,22206,22207,22208,22209,22210,22211,22212,22213,22214,22215,22216,22217,22219,22220,22221,22222,22223,22224,22225,22226,22227,22229,22230,22232,22233,22236,22243,22245,22246,22247,22248,22249,22250,22252,22254,22255,22258,22259,22262,22263,22264,22267,22268,22272,22273,22274,22277,22279,22283,22284,22285,22286,22287,22288,22289,22290,22291,22292,22293,22294,22295,22296,22297,22298,22299,22301,22302,22304,22305,22306,22308,22309,22310,22311,22315,22321,22322,22324,22325,22326,22327,22328,22332,22333,22335,22337,22339,22340,22341,22342,22344,22345,22347,22354,22355,22356,22357,22358,22360,22361,22370,22371,22373,22375,22380,22382,22384,22385,22386,22388,22389,22392,22393,22394,22397,22398,22399,22400,22401,22407,22408,22409,22410,22413,22414,22415,22416,22417,22420,22421,22422,22423,22424,22425,22426,22428,22429,22430,22431,22437,22440,22442,22444,22447,22448,22449,22451,22453,22454,22455,22457,22458,22459,22460,22461,22462,22463,22464,22465,22468,22469,22470,22471,22472,22473,22474,22476,22477,22480,22481,22483,22486,22487,22491,22492,22494,22497,22498,22499,22501,22502,22503,22504,22505,22506,22507,22508,22510,22512,22513,22514,22515,22517,22518,22519,22523,22524,22526,22527,22529,22531,22532,22533,22536,22537,22538,22540,22542,22543,22544,22546,22547,22548,22550,22551,22552,22554,22555,22556,22557,22559,22562,22563,22565,22566,22567,22568,22569,22571,22572,22573,22574,22575,22577,22578,22579,22580,22582,22583,22584,22585,22586,22587,22588,22589,22590,22591,22592,22593,22594,22595,22597,22598,22599,22600,22601,22602,22603,22606,22607,22608,22610,22611,22613,22614,22615,22617,22618,22619,22620,22621,22623,22624,22625,22626,22627,22628,22630,22631,22632,22633,22634,22637,22638,22639,22640,22641,22642,22643,22644,22645,22646,22647,22648,22649,22650,22651,22652,22653,22655,22658,22660,22662,22663,22664,22666,22667,22668,22669,22670,22671,22672,22673,22676,22677,22678,22679,22680,22683,22684,22685,22688,22689,22690,22691,22692,22693,22694,22695,22698,22699,22700,22701,22702,22703,22704,22705,22706,22707,22708,22709,22710,22711,22712,22713,22714,22715,22717,22718,22719,22720,22722,22723,22724,22726,22727,22728,22729,22730,22731,22732,22733,22734,22735,22736,22738,22739,22740,22742,22743,22744,22745,22746,22747,22748,22749,22750,22751,22752,22753,22754,22755,22757,22758,22759,22760,22761,22762,22765,22767,22769,22770,22772,22773,22775,22776,22778,22779,22780,22781,22782,22783,22784,22785,22787,22789,22790,22792,22793,22794,22795,22796,22798,22800,22801,22802,22803,22807,22808,22811,22813,22814,22816,22817,22818,22819,22822,22824,22828,22832,22834,22835,22837,22838,22843,22845,22846,22847,22848,22851,22853,22854,22858,22860,22861,22864,22866,22867,22873,22875,22876,22877,22878,22879,22881,22883,22884,22886,22887,22888,22889,22890,22891,22892,22893,22894,22895,22896,22897,22898,22901,22903,22906,22907,22908,22910,22911,22912,22917,22921,22923,22924,22926,22927,22928,22929,22932,22933,22936,22938,22939,22940,22941,22943,22944,22945,22946,22950,22951,22956,22957,22960,22961,22963,22964,22965,22966,22967,22968,22970,22972,22973,22975,22976,22977,22978,22979,22980,22981,22983,22984,22985,22988,22989,22990,22991,22997,22998,23001,23003,23006,23007,23008,23009,23010,23012,23014,23015,23017,23018,23019,23021,23022,23023,23024,23025,23026,23027,23028,23029,23030,23031,23032,23034,23036,23037,23038,23040,23042,23050,23051,23053,23054,23055,23056,23058,23060,23061,23062,23063,23065,23066,23067,23069,23070,23073,23074,23076,23078,23079,23080,23082,23083,23084,23085,23086,23087,23088,23091,23093,23095,23096,23097,23098,23099,23101,23102,23103,23105,23106,23107,23108,23109,23111,23112,23115,23116,23117,23118,23119,23120,23121,23122,23123,23124,23126,23127,23128,23129,23131,23132,23133,23134,23135,23136,23137,23139,23140,23141,23142,23144,23145,23147,23148,23149,23150,23151,23152,23153,23154,23155,23160,23161,23163,23164,23165,23166,23168,23169,23170,23171,23172,23173,23174,23175,23176,23177,23178,23179,23180,23181,23182,23183,23184,23185,23187,23188,23189,23190,23191,23192,23193,23196,23197,23198,23199,23200,23201,23202,23203,23204,23205,23206,23207,23208,23209,23211,23212,23213,23214,23215,23216,23217,23220,23222,23223,23225,23226,23227,23228,23229,23231,23232,23235,23236,23237,23238,23239,23240,23242,23243,23245,23246,23247,23248,23249,23251,23253,23255,23257,23258,23259,23261,23262,23263,23266,23268,23269,23271,23272,23274,23276,23277,23278,23279,23280,23282,23283,23284,23285,23286,23287,23288,23289,23290,23291,23292,23293,23294,23295,23296,23297,23298,23299,23300,23301,23302,23303,23304,23306,23307,23308,23309,23310,23311,23312,23313,23314,23315,23316,23317,23320,23321,23322,23323,23324,23325,23326,23327,23328,23329,23330,23331,23332,23333,23334,23335,23336,23337,23338,23339,23340,23341,23342,23343,23344,23345,23347,23349,23350,23352,23353,23354,23355,23356,23357,23358,23359,23361,23362,23363,23364,23365,23366,23367,23368,23369,23370,23371,23372,23373,23374,23375,23378,23382,23390,23392,23393,23399,23400,23403,23405,23406,23407,23410,23412,23414,23415,23416,23417,23419,23420,23422,23423,23426,23430,23434,23437,23438,23440,23441,23442,23444,23446,23455,23463,23464,23465,23468,23469,23470,23471,23473,23474,23479,23482,23483,23484,23488,23489,23491,23496,23497,23498,23499,23501,23502,23503,23505,23508,23509,23510,23511,23512,23513,23514,23515,23516,23520,23522,23523,23526,23527,23529,23530,23531,23532,23533,23535,23537,23538,23539,23540,23541,23542,23543,23549,23550,23552,23554,23555,23557,23559,23560,23563,23564,23565,23566,23568,23570,23571,23575,23577,23579,23582,23583,23584,23585,23587,23590,23592,23593,23594,23595,23597,23598,23599,23600,23602,23603,23605,23606,23607,23619,23620,23622,23623,23628,23629,23634,23635,23636,23638,23639,23640,23642,23643,23644,23645,23647,23650,23652,23655,23656,23657,23658,23659,23660,23661,23664,23666,23667,23668,23669,23670,23671,23672,23675,23676,23677,23678,23680,23683,23684,23685,23686,23687,23689,23690,23691,23694,23695,23698,23699,23701,23709,23710,23711,23712,23713,23716,23717,23718,23719,23720,23722,23726,23727,23728,23730,23732,23734,23737,23738,23739,23740,23742,23744,23746,23747,23749,23750,23751,23752,23753,23754,23756,23757,23758,23759,23760,23761,23763,23764,23765,23766,23767,23768,23770,23771,23772,23773,23774,23775,23776,23778,23779,23783,23785,23787,23788,23790,23791,23793,23794,23795,23796,23797,23798,23799,23800,23801,23802,23804,23805,23806,23807,23808,23809,23812,23813,23816,23817,23818,23819,23820,23821,23823,23824,23825,23826,23827,23829,23831,23832,23833,23834,23836,23837,23839,23840,23841,23842,23843,23845,23848,23850,23851,23852,23855,23856,23857,23858,23859,23861,23862,23863,23864,23865,23866,23867,23868,23871,23872,23873,23874,23875,23876,23877,23878,23880,23881,23885,23886,23887,23888,23889,23890,23891,23892,23893,23894,23895,23897,23898,23900,23902,23903,23904,23905,23906,23907,23908,23909,23910,23911,23912,23914,23917,23918,23920,23921,23922,23923,23925,23926,23927,23928,23929,23930,23931,23932,23933,23934,23935,23936,23937,23939,23940,23941,23942,23943,23944,23945,23946,23947,23948,23949,23950,23951,23952,23953,23954,23955,23956,23957,23958,23959,23960,23962,23963,23964,23966,23967,23968,23969,23970,23971,23972,23973,23974,23975,23976,23977,23978,23979,23980,23981,23982,23983,23984,23985,23986,23987,23988,23989,23990,23992,23993,23994,23995,23996,23997,23998,23999,24000,24001,24002,24003,24004,24006,24007,24008,24009,24010,24011,24012,24014,24015,24016,24017,24018,24019,24020,24021,24022,24023,24024,24025,24026,24028,24031,24032,24035,24036,24042,24044,24045,24048,24053,24054,24056,24057,24058,24059,24060,24063,24064,24068,24071,24073,24074,24075,24077,24078,24082,24083,24087,24094,24095,24096,24097,24098,24099,24100,24101,24104,24105,24106,24107,24108,24111,24112,24114,24115,24116,24117,24118,24121,24122,24126,24127,24128,24129,24131,24134,24135,24136,24137,24138,24139,24141,24142,24143,24144,24145,24146,24147,24150,24151,24152,24153,24154,24156,24157,24159,24160,24163,24164,24165,24166,24167,24168,24169,24170,24171,24172,24173,24174,24175,24176,24177,24181,24183,24185,24190,24193,24194,24195,24197,24200,24201,24204,24205,24206,24210,24216,24219,24221,24225,24226,24227,24228,24232,24233,24234,24235,24236,24238,24239,24240,24241,24242,24244,24250,24251,24252,24253,24255,24256,24257,24258,24259,24260,24261,24262,24263,24264,24267,24268,24269,24270,24271,24272,24276,24277,24279,24280,24281,24282,24284,24285,24286,24287,24288,24289,24290,24291,24292,24293,24294,24295,24297,24299,24300,24301,24302,24303,24304,24305,24306,24307,24309,24312,24313,24315,24316,24317,24325,24326,24327,24329,24332,24333,24334,24336,24338,24340,24342,24345,24346,24348,24349,24350,24353,24354,24355,24356,24360,24363,24364,24366,24368,24370,24371,24372,24373,24374,24375,24376,24379,24381,24382,24383,24385,24386,24387,24388,24389,24390,24391,24392,24393,24394,24395,24396,24397,24398,24399,24401,24404,24409,24410,24411,24412,24414,24415,24416,24419,24421,24423,24424,24427,24430,24431,24434,24436,24437,24438,24440,24442,24445,24446,24447,24451,24454,24461,24462,24463,24465,24467,24468,24470,24474,24475,24477,24478,24479,24480,24482,24483,24484,24485,24486,24487,24489,24491,24492,24495,24496,24497,24498,24499,24500,24502,24504,24505,24506,24507,24510,24511,24512,24513,24514,24519,24520,24522,24523,24526,24531,24532,24533,24538,24539,24540,24542,24543,24546,24547,24549,24550,24552,24553,24556,24559,24560,24562,24563,24564,24566,24567,24569,24570,24572,24583,24584,24585,24587,24588,24592,24593,24595,24599,24600,24602,24606,24607,24610,24611,24612,24620,24621,24622,24624,24625,24626,24627,24628,24630,24631,24632,24633,24634,24637,24638,24640,24644,24645,24646,24647,24648,24649,24650,24652,24654,24655,24657,24659,24660,24662,24663,24664,24667,24668,24670,24671,24672,24673,24677,24678,24686,24689,24690,24692,24693,24695,24702,24704,24705,24706,24709,24710,24711,24712,24714,24715,24718,24719,24720,24721,24723,24725,24727,24728,24729,24732,24734,24737,24738,24740,24741,24743,24745,24746,24750,24752,24755,24757,24758,24759,24761,24762,24765,24766,24767,24768,24769,24770,24771,24772,24775,24776,24777,24780,24781,24782,24783,24784,24786,24787,24788,24790,24791,24793,24795,24798,24801,24802,24803,24804,24805,24810,24817,24818,24821,24823,24824,24827,24828,24829,24830,24831,24834,24835,24836,24837,24839,24842,24843,24844,24848,24849,24850,24851,24852,24854,24855,24856,24857,24859,24860,24861,24862,24865,24866,24869,24872,24873,24874,24876,24877,24878,24879,24880,24881,24882,24883,24884,24885,24886,24887,24888,24889,24890,24891,24892,24893,24894,24896,24897,24898,24899,24900,24901,24902,24903,24905,24907,24909,24911,24912,24914,24915,24916,24918,24919,24920,24921,24922,24923,24924,24926,24927,24928,24929,24931,24932,24933,24934,24937,24938,24939,24940,24941,24942,24943,24945,24946,24947,24948,24950,24952,24953,24954,24955,24956,24957,24958,24959,24960,24961,24962,24963,24964,24965,24966,24967,24968,24969,24970,24972,24973,24975,24976,24977,24978,24979,24981,24982,24983,24984,24985,24986,24987,24988,24990,24991,24992,24993,24994,24995,24996,24997,24998,25002,25003,25005,25006,25007,25008,25009,25010,25011,25012,25013,25014,25016,25017,25018,25019,25020,25021,25023,25024,25025,25027,25028,25029,25030,25031,25033,25036,25037,25038,25039,25040,25043,25045,25046,25047,25048,25049,25050,25051,25052,25053,25054,25055,25056,25057,25058,25059,25060,25061,25063,25064,25065,25066,25067,25068,25069,25070,25071,25072,25073,25074,25075,25076,25078,25079,25080,25081,25082,25083,25084,25085,25086,25088,25089,25090,25091,25092,25093,25095,25097,25107,25108,25113,25116,25117,25118,25120,25123,25126,25127,25128,25129,25131,25133,25135,25136,25137,25138,25141,25142,25144,25145,25146,25147,25148,25154,25156,25157,25158,25162,25167,25168,25173,25174,25175,25177,25178,25180,25181,25182,25183,25184,25185,25186,25188,25189,25192,25201,25202,25204,25205,25207,25208,25210,25211,25213,25217,25218,25219,25221,25222,25223,25224,25227,25228,25229,25230,25231,25232,25236,25241,25244,25245,25246,25251,25254,25255,25257,25258,25261,25262,25263,25264,25266,25267,25268,25270,25271,25272,25274,25278,25280,25281,25283,25291,25295,25297,25301,25309,25310,25312,25313,25316,25322,25323,25328,25330,25333,25336,25337,25338,25339,25344,25347,25348,25349,25350,25354,25355,25356,25357,25359,25360,25362,25363,25364,25365,25367,25368,25369,25372,25382,25383,25385,25388,25389,25390,25392,25393,25395,25396,25397,25398,25399,25400,25403,25404,25406,25407,25408,25409,25412,25415,25416,25418,25425,25426,25427,25428,25430,25431,25432,25433,25434,25435,25436,25437,25440,25444,25445,25446,25448,25450,25451,25452,25455,25456,25458,25459,25460,25461,25464,25465,25468,25469,25470,25471,25473,25475,25476,25477,25478,25483,25485,25489,25491,25492,25493,25495,25497,25498,25499,25500,25501,25502,25503,25505,25508,25510,25515,25519,25521,25522,25525,25526,25529,25531,25533,25535,25536,25537,25538,25539,25541,25543,25544,25546,25547,25548,25553,25555,25556,25557,25559,25560,25561,25562,25563,25564,25565,25567,25570,25572,25573,25574,25575,25576,25579,25580,25582,25583,25584,25585,25587,25589,25591,25593,25594,25595,25596,25598,25603,25604,25606,25607,25608,25609,25610,25613,25614,25617,25618,25621,25622,25623,25624,25625,25626,25629,25631,25634,25635,25636,25637,25639,25640,25641,25643,25646,25647,25648,25649,25650,25651,25653,25654,25655,25656,25657,25659,25660,25662,25664,25666,25667,25673,25675,25676,25677,25678,25679,25680,25681,25683,25685,25686,25687,25689,25690,25691,25692,25693,25695,25696,25697,25698,25699,25700,25701,25702,25704,25706,25707,25708,25710,25711,25712,25713,25714,25715,25716,25717,25718,25719,25723,25724,25725,25726,25727,25728,25729,25731,25734,25736,25737,25738,25739,25740,25741,25742,25743,25744,25747,25748,25751,25752,25754,25755,25756,25757,25759,25760,25761,25762,25763,25765,25766,25767,25768,25770,25771,25775,25777,25778,25779,25780,25782,25785,25787,25789,25790,25791,25793,25795,25796,25798,25799,25800,25801,25802,25803,25804,25807,25809,25811,25812,25813,25814,25817,25818,25819,25820,25821,25823,25824,25825,25827,25829,25831,25832,25833,25834,25835,25836,25837,25838,25839,25840,25841,25842,25843,25844,25845,25846,25847,25848,25849,25850,25851,25852,25853,25854,25855,25857,25858,25859,25860,25861,25862,25863,25864,25866,25867,25868,25869,25870,25871,25872,25873,25875,25876,25877,25878,25879,25881,25882,25883,25884,25885,25886,25887,25888,25889,25890,25891,25892,25894,25895,25896,25897,25898,25900,25901,25904,25905,25906,25907,25911,25914,25916,25917,25920,25921,25922,25923,25924,25926,25927,25930,25931,25933,25934,25936,25938,25939,25940,25943,25944,25946,25948,25951,25952,25953,25956,25957,25959,25960,25961,25962,25965,25966,25967,25969,25971,25973,25974,25976,25977,25978,25979,25980,25981,25982,25983,25984,25985,25986,25987,25988,25989,25990,25992,25993,25994,25997,25998,25999,26002,26004,26005,26006,26008,26010,26013,26014,26016,26018,26019,26022,26024,26026,26028,26030,26033,26034,26035,26036,26037,26038,26039,26040,26042,26043,26046,26047,26048,26050,26055,26056,26057,26058,26061,26064,26065,26067,26068,26069,26072,26073,26074,26075,26076,26077,26078,26079,26081,26083,26084,26090,26091,26098,26099,26100,26101,26104,26105,26107,26108,26109,26110,26111,26113,26116,26117,26119,26120,26121,26123,26125,26128,26129,26130,26134,26135,26136,26138,26139,26140,26142,26145,26146,26147,26148,26150,26153,26154,26155,26156,26158,26160,26162,26163,26167,26168,26169,26170,26171,26173,26175,26176,26178,26180,26181,26182,26183,26184,26185,26186,26189,26190,26192,26193,26200,26201,26203,26204,26205,26206,26208,26210,26211,26213,26215,26217,26218,26219,26220,26221,26225,26226,26227,26229,26232,26233,26235,26236,26237,26239,26240,26241,26243,26245,26246,26248,26249,26250,26251,26253,26254,26255,26256,26258,26259,26260,26261,26264,26265,26266,26267,26268,26270,26271,26272,26273,26274,26275,26276,26277,26278,26281,26282,26283,26284,26285,26287,26288,26289,26290,26291,26293,26294,26295,26296,26298,26299,26300,26301,26303,26304,26305,26306,26307,26308,26309,26310,26311,26312,26313,26314,26315,26316,26317,26318,26319,26320,26321,26322,26323,26324,26325,26326,26327,26328,26330,26334,26335,26336,26337,26338,26339,26340,26341,26343,26344,26346,26347,26348,26349,26350,26351,26353,26357,26358,26360,26362,26363,26365,26369,26370,26371,26372,26373,26374,26375,26380,26382,26383,26385,26386,26387,26390,26392,26393,26394,26396,26398,26400,26401,26402,26403,26404,26405,26407,26409,26414,26416,26418,26419,26422,26423,26424,26425,26427,26428,26430,26431,26433,26436,26437,26439,26442,26443,26445,26450,26452,26453,26455,26456,26457,26458,26459,26461,26466,26467,26468,26470,26471,26475,26476,26478,26481,26484,26486,26488,26489,26490,26491,26493,26496,26498,26499,26501,26502,26504,26506,26508,26509,26510,26511,26513,26514,26515,26516,26518,26521,26523,26527,26528,26529,26532,26534,26537,26540,26542,26545,26546,26548,26553,26554,26555,26556,26557,26558,26559,26560,26562,26565,26566,26567,26568,26569,26570,26571,26572,26573,26574,26581,26582,26583,26587,26591,26593,26595,26596,26598,26599,26600,26602,26603,26605,26606,26610,26613,26614,26615,26616,26617,26618,26619,26620,26622,26625,26626,26627,26628,26630,26637,26640,26642,26644,26645,26648,26649,26650,26651,26652,26654,26655,26656,26658,26659,26660,26661,26662,26663,26664,26667,26668,26669,26670,26671,26672,26673,26676,26677,26678,26682,26683,26687,26695,26699,26701,26703,26706,26710,26711,26712,26713,26714,26715,26716,26717,26718,26719,26730,26732,26733,26734,26735,26736,26737,26738,26739,26741,26744,26745,26746,26747,26748,26749,26750,26751,26752,26754,26756,26759,26760,26761,26762,26763,26764,26765,26766,26768,26769,26770,26772,26773,26774,26776,26777,26778,26779,26780,26781,26782,26783,26784,26785,26787,26788,26789,26793,26794,26795,26796,26798,26801,26802,26804,26806,26807,26808,26809,26810,26811,26812,26813,26814,26815,26817,26819,26820,26821,26822,26823,26824,26826,26828,26830,26831,26832,26833,26835,26836,26838,26839,26841,26843,26844,26845,26846,26847,26849,26850,26852,26853,26854,26855,26856,26857,26858,26859,26860,26861,26863,26866,26867,26868,26870,26871,26872,26875,26877,26878,26879,26880,26882,26883,26884,26886,26887,26888,26889,26890,26892,26895,26897,26899,26900,26901,26902,26903,26904,26905,26906,26907,26908,26909,26910,26913,26914,26915,26917,26918,26919,26920,26921,26922,26923,26924,26926,26927,26929,26930,26931,26933,26934,26935,26936,26938,26939,26940,26942,26944,26945,26947,26948,26949,26950,26951,26952,26953,26954,26955,26956,26957,26958,26959,26960,26961,26962,26963,26965,26966,26968,26969,26971,26972,26975,26977,26978,26980,26981,26983,26984,26985,26986,26988,26989,26991,26992,26994,26995,26996,26997,26998,27002,27003,27005,27006,27007,27009,27011,27013,27018,27019,27020,27022,27023,27024,27025,27026,27027,27030,27031,27033,27034,27037,27038,27039,27040,27041,27042,27043,27044,27045,27046,27049,27050,27052,27054,27055,27056,27058,27059,27061,27062,27064,27065,27066,27068,27069,27070,27071,27072,27074,27075,27076,27077,27078,27079,27080,27081,27083,27085,27087,27089,27090,27091,27093,27094,27095,27096,27097,27098,27100,27101,27102,27105,27106,27107,27108,27109,27110,27111,27112,27113,27114,27115,27116,27118,27119,27120,27121,27123,27124,27125,27126,27127,27128,27129,27130,27131,27132,27134,27136,27137,27138,27139,27140,27141,27142,27143,27144,27145,27147,27148,27149,27150,27151,27152,27153,27154,27155,27156,27157,27158,27161,27162,27163,27164,27165,27166,27168,27170,27171,27172,27173,27174,27175,27177,27179,27180,27181,27182,27184,27186,27187,27188,27190,27191,27192,27193,27194,27195,27196,27199,27200,27201,27202,27203,27205,27206,27208,27209,27210,27211,27212,27213,27214,27215,27217,27218,27219,27220,27221,27222,27223,27226,27228,27229,27230,27231,27232,27234,27235,27236,27238,27239,27240,27241,27242,27243,27244,27245,27246,27247,27248,27250,27251,27252,27253,27254,27255,27256,27258,27259,27261,27262,27263,27265,27266,27267,27269,27270,27271,27272,27273,27274,27275,27276,27277,27279,27282,27283,27284,27285,27286,27288,27289,27290,27291,27292,27293,27294,27295,27297,27298,27299,27300,27301,27302,27303,27304,27306,27309,27310,27311,27312,27313,27314,27315,27316,27317,27318,27319,27320,27321,27322,27323,27324,27325,27326,27327,27328,27329,27330,27331,27332,27333,27334,27335,27336,27337,27338,27339,27340,27341,27342,27343,27344,27345,27346,27347,27348,27349,27350,27351,27352,27353,27354,27355,27356,27357,27358,27359,27360,27361,27362,27363,27364,27365,27366,27367,27368,27369,27370,27371,27372,27373,27374,27375,27376,27377,27378,27379,27380,27381,27382,27383,27384,27385,27386,27387,27388,27389,27390,27391,27392,27393,27394,27395,27396,27397,27398,27399,27400,27401,27402,27403,27404,27405,27406,27407,27408,27409,27410,27411,27412,27413,27414,27415,27416,27417,27418,27419,27420,27421,27422,27423,27429,27430,27432,27433,27434,27435,27436,27437,27438,27439,27440,27441,27443,27444,27445,27446,27448,27451,27452,27453,27455,27456,27457,27458,27460,27461,27464,27466,27467,27469,27470,27471,27472,27473,27474,27475,27476,27477,27478,27479,27480,27482,27483,27484,27485,27486,27487,27488,27489,27496,27497,27499,27500,27501,27502,27503,27504,27505,27506,27507,27508,27509,27510,27511,27512,27514,27517,27518,27519,27520,27525,27528,27532,27534,27535,27536,27537,27540,27541,27543,27544,27545,27548,27549,27550,27551,27552,27554,27555,27556,27557,27558,27559,27560,27561,27563,27564,27565,27566,27567,27568,27569,27570,27574,27576,27577,27578,27579,27580,27581,27582,27584,27587,27588,27590,27591,27592,27593,27594,27596,27598,27600,27601,27608,27610,27612,27613,27614,27615,27616,27618,27619,27620,27621,27622,27623,27624,27625,27628,27629,27630,27632,27633,27634,27636,27638,27639,27640,27642,27643,27644,27646,27647,27648,27649,27650,27651,27652,27656,27657,27658,27659,27660,27662,27666,27671,27676,27677,27678,27680,27683,27685,27691,27692,27693,27697,27699,27702,27703,27705,27706,27707,27708,27710,27711,27715,27716,27717,27720,27723,27724,27725,27726,27727,27729,27730,27731,27734,27736,27737,27738,27746,27747,27749,27750,27751,27755,27756,27757,27758,27759,27761,27763,27765,27767,27768,27770,27771,27772,27775,27776,27780,27783,27786,27787,27789,27790,27793,27794,27797,27798,27799,27800,27802,27804,27805,27806,27808,27810,27816,27820,27823,27824,27828,27829,27830,27831,27834,27840,27841,27842,27843,27846,27847,27848,27851,27853,27854,27855,27857,27858,27864,27865,27866,27868,27869,27871,27876,27878,27879,27881,27884,27885,27890,27892,27897,27903,27904,27906,27907,27909,27910,27912,27913,27914,27917,27919,27920,27921,27923,27924,27925,27926,27928,27932,27933,27935,27936,27937,27938,27939,27940,27942,27944,27945,27948,27949,27951,27952,27956,27958,27959,27960,27962,27967,27968,27970,27972,27977,27980,27984,27989,27990,27991,27992,27995,27997,27999,28001,28002,28004,28005,28007,28008,28011,28012,28013,28016,28017,28018,28019,28021,28022,28025,28026,28027,28029,28030,28031,28032,28033,28035,28036,28038,28039,28042,28043,28045,28047,28048,28050,28054,28055,28056,28057,28058,28060,28066,28069,28076,28077,28080,28081,28083,28084,28086,28087,28089,28090,28091,28092,28093,28094,28097,28098,28099,28104,28105,28106,28109,28110,28111,28112,28114,28115,28116,28117,28119,28122,28123,28124,28127,28130,28131,28133,28135,28136,28137,28138,28141,28143,28144,28146,28148,28149,28150,28152,28154,28157,28158,28159,28160,28161,28162,28163,28164,28166,28167,28168,28169,28171,28175,28178,28179,28181,28184,28185,28187,28188,28190,28191,28194,28198,28199,28200,28202,28204,28206,28208,28209,28211,28213,28214,28215,28217,28219,28220,28221,28222,28223,28224,28225,28226,28229,28230,28231,28232,28233,28234,28235,28236,28239,28240,28241,28242,28245,28247,28249,28250,28252,28253,28254,28256,28257,28258,28259,28260,28261,28262,28263,28264,28265,28266,28268,28269,28271,28272,28273,28274,28275,28276,28277,28278,28279,28280,28281,28282,28283,28284,28285,28288,28289,28290,28292,28295,28296,28298,28299,28300,28301,28302,28305,28306,28307,28308,28309,28310,28311,28313,28314,28315,28317,28318,28320,28321,28323,28324,28326,28328,28329,28331,28332,28333,28334,28336,28339,28341,28344,28345,28348,28350,28351,28352,28355,28356,28357,28358,28360,28361,28362,28364,28365,28366,28368,28370,28374,28376,28377,28379,28380,28381,28387,28391,28394,28395,28396,28397,28398,28399,28400,28401,28402,28403,28405,28406,28407,28408,28410,28411,28412,28413,28414,28415,28416,28417,28419,28420,28421,28423,28424,28426,28427,28428,28429,28430,28432,28433,28434,28438,28439,28440,28441,28442,28443,28444,28445,28446,28447,28449,28450,28451,28453,28454,28455,28456,28460,28462,28464,28466,28468,28469,28471,28472,28473,28474,28475,28476,28477,28479,28480,28481,28482,28483,28484,28485,28488,28489,28490,28492,28494,28495,28496,28497,28498,28499,28500,28501,28502,28503,28505,28506,28507,28509,28511,28512,28513,28515,28516,28517,28519,28520,28521,28522,28523,28524,28527,28528,28529,28531,28533,28534,28535,28537,28539,28541,28542,28543,28544,28545,28546,28547,28549,28550,28551,28554,28555,28559,28560,28561,28562,28563,28564,28565,28566,28567,28568,28569,28570,28571,28573,28574,28575,28576,28578,28579,28580,28581,28582,28584,28585,28586,28587,28588,28589,28590,28591,28592,28593,28594,28596,28597,28599,28600,28602,28603,28604,28605,28606,28607,28609,28611,28612,28613,28614,28615,28616,28618,28619,28620,28621,28622,28623,28624,28627,28628,28629,28630,28631,28632,28633,28634,28635,28636,28637,28639,28642,28643,28644,28645,28646,28647,28648,28649,28650,28651,28652,28653,28656,28657,28658,28659,28660,28661,28662,28663,28664,28665,28666,28667,28668,28669,28670,28671,28672,28673,28674,28675,28676,28677,28678,28679,28680,28681,28682,28683,28684,28685,28686,28687,28688,28690,28691,28692,28693,28694,28695,28696,28697,28700,28701,28702,28703,28704,28705,28706,28708,28709,28710,28711,28712,28713,28714,28715,28716,28717,28718,28719,28720,28721,28722,28723,28724,28726,28727,28728,28730,28731,28732,28733,28734,28735,28736,28737,28738,28739,28740,28741,28742,28743,28744,28745,28746,28747,28749,28750,28752,28753,28754,28755,28756,28757,28758,28759,28760,28761,28762,28763,28764,28765,28767,28768,28769,28770,28771,28772,28773,28774,28775,28776,28777,28778,28782,28785,28786,28787,28788,28791,28793,28794,28795,28797,28801,28802,28803,28804,28806,28807,28808,28811,28812,28813,28815,28816,28817,28819,28823,28824,28826,28827,28830,28831,28832,28833,28834,28835,28836,28837,28838,28839,28840,28841,28842,28848,28850,28852,28853,28854,28858,28862,28863,28868,28869,28870,28871,28873,28875,28876,28877,28878,28879,28880,28881,28882,28883,28884,28885,28886,28887,28890,28892,28893,28894,28896,28897,28898,28899,28901,28906,28910,28912,28913,28914,28915,28916,28917,28918,28920,28922,28923,28924,28926,28927,28928,28929,28930,28931,28932,28933,28934,28935,28936,28939,28940,28941,28942,28943,28945,28946,28948,28951,28955,28956,28957,28958,28959,28960,28961,28962,28963,28964,28965,28967,28968,28969,28970,28971,28972,28973,28974,28978,28979,28980,28981,28983,28984,28985,28986,28987,28988,28989,28990,28991,28992,28993,28994,28995,28996,28998,28999,29000,29001,29003,29005,29007,29008,29009,29010,29011,29012,29013,29014,29015,29016,29017,29018,29019,29021,29023,29024,29025,29026,29027,29029,29033,29034,29035,29036,29037,29039,29040,29041,29044,29045,29046,29047,29049,29051,29052,29054,29055,29056,29057,29058,29059,29061,29062,29063,29064,29065,29067,29068,29069,29070,29072,29073,29074,29075,29077,29078,29079,29082,29083,29084,29085,29086,29089,29090,29091,29092,29093,29094,29095,29097,29098,29099,29101,29102,29103,29104,29105,29106,29108,29110,29111,29112,29114,29115,29116,29117,29118,29119,29120,29121,29122,29124,29125,29126,29127,29128,29129,29130,29131,29132,29133,29135,29136,29137,29138,29139,29142,29143,29144,29145,29146,29147,29148,29149,29150,29151,29153,29154,29155,29156,29158,29160,29161,29162,29163,29164,29165,29167,29168,29169,29170,29171,29172,29173,29174,29175,29176,29178,29179,29180,29181,29182,29183,29184,29185,29186,29187,29188,29189,29191,29192,29193,29194,29195,29196,29197,29198,29199,29200,29201,29202,29203,29204,29205,29206,29207,29208,29209,29210,29211,29212,29214,29215,29216,29217,29218,29219,29220,29221,29222,29223,29225,29227,29229,29230,29231,29234,29235,29236,29242,29244,29246,29248,29249,29250,29251,29252,29253,29254,29257,29258,29259,29262,29263,29264,29265,29267,29268,29269,29271,29272,29274,29276,29278,29280,29283,29284,29285,29288,29290,29291,29292,29293,29296,29297,29299,29300,29302,29303,29304,29307,29308,29309,29314,29315,29317,29318,29319,29320,29321,29324,29326,29328,29329,29331,29332,29333,29334,29335,29336,29337,29338,29339,29340,29341,29342,29344,29345,29346,29347,29348,29349,29350,29351,29352,29353,29354,29355,29358,29361,29362,29363,29365,29370,29371,29372,29373,29374,29375,29376,29381,29382,29383,29385,29386,29387,29388,29391,29393,29395,29396,29397,29398,29400,29402,29403,58566,58567,58568,58569,58570,58571,58572,58573,58574,58575,58576,58577,58578,58579,58580,58581,58582,58583,58584,58585,58586,58587,58588,58589,58590,58591,58592,58593,58594,58595,58596,58597,58598,58599,58600,58601,58602,58603,58604,58605,58606,58607,58608,58609,58610,58611,58612,58613,58614,58615,58616,58617,58618,58619,58620,58621,58622,58623,58624,58625,58626,58627,58628,58629,58630,58631,58632,58633,58634,58635,58636,58637,58638,58639,58640,58641,58642,58643,58644,58645,58646,58647,58648,58649,58650,58651,58652,58653,58654,58655,58656,58657,58658,58659,58660,58661,12288,12289,12290,183,713,711,168,12291,12293,8212,65374,8214,8230,8216,8217,8220,8221,12308,12309,12296,12297,12298,12299,12300,12301,12302,12303,12310,12311,12304,12305,177,215,247,8758,8743,8744,8721,8719,8746,8745,8712,8759,8730,8869,8741,8736,8978,8857,8747,8750,8801,8780,8776,8765,8733,8800,8814,8815,8804,8805,8734,8757,8756,9794,9792,176,8242,8243,8451,65284,164,65504,65505,8240,167,8470,9734,9733,9675,9679,9678,9671,9670,9633,9632,9651,9650,8251,8594,8592,8593,8595,12307,58662,58663,58664,58665,58666,58667,58668,58669,58670,58671,58672,58673,58674,58675,58676,58677,58678,58679,58680,58681,58682,58683,58684,58685,58686,58687,58688,58689,58690,58691,58692,58693,58694,58695,58696,58697,58698,58699,58700,58701,58702,58703,58704,58705,58706,58707,58708,58709,58710,58711,58712,58713,58714,58715,58716,58717,58718,58719,58720,58721,58722,58723,58724,58725,58726,58727,58728,58729,58730,58731,58732,58733,58734,58735,58736,58737,58738,58739,58740,58741,58742,58743,58744,58745,58746,58747,58748,58749,58750,58751,58752,58753,58754,58755,58756,58757,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,59238,59239,59240,59241,59242,59243,9352,9353,9354,9355,9356,9357,9358,9359,9360,9361,9362,9363,9364,9365,9366,9367,9368,9369,9370,9371,9332,9333,9334,9335,9336,9337,9338,9339,9340,9341,9342,9343,9344,9345,9346,9347,9348,9349,9350,9351,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,8364,59245,12832,12833,12834,12835,12836,12837,12838,12839,12840,12841,59246,59247,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,8554,8555,59248,59249,58758,58759,58760,58761,58762,58763,58764,58765,58766,58767,58768,58769,58770,58771,58772,58773,58774,58775,58776,58777,58778,58779,58780,58781,58782,58783,58784,58785,58786,58787,58788,58789,58790,58791,58792,58793,58794,58795,58796,58797,58798,58799,58800,58801,58802,58803,58804,58805,58806,58807,58808,58809,58810,58811,58812,58813,58814,58815,58816,58817,58818,58819,58820,58821,58822,58823,58824,58825,58826,58827,58828,58829,58830,58831,58832,58833,58834,58835,58836,58837,58838,58839,58840,58841,58842,58843,58844,58845,58846,58847,58848,58849,58850,58851,58852,12288,65281,65282,65283,65509,65285,65286,65287,65288,65289,65290,65291,65292,65293,65294,65295,65296,65297,65298,65299,65300,65301,65302,65303,65304,65305,65306,65307,65308,65309,65310,65311,65312,65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,65339,65340,65341,65342,65343,65344,65345,65346,65347,65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,65371,65372,65373,65507,58854,58855,58856,58857,58858,58859,58860,58861,58862,58863,58864,58865,58866,58867,58868,58869,58870,58871,58872,58873,58874,58875,58876,58877,58878,58879,58880,58881,58882,58883,58884,58885,58886,58887,58888,58889,58890,58891,58892,58893,58894,58895,58896,58897,58898,58899,58900,58901,58902,58903,58904,58905,58906,58907,58908,58909,58910,58911,58912,58913,58914,58915,58916,58917,58918,58919,58920,58921,58922,58923,58924,58925,58926,58927,58928,58929,58930,58931,58932,58933,58934,58935,58936,58937,58938,58939,58940,58941,58942,58943,58944,58945,58946,58947,58948,58949,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,12435,59250,59251,59252,59253,59254,59255,59256,59257,59258,59259,59260,58950,58951,58952,58953,58954,58955,58956,58957,58958,58959,58960,58961,58962,58963,58964,58965,58966,58967,58968,58969,58970,58971,58972,58973,58974,58975,58976,58977,58978,58979,58980,58981,58982,58983,58984,58985,58986,58987,58988,58989,58990,58991,58992,58993,58994,58995,58996,58997,58998,58999,59000,59001,59002,59003,59004,59005,59006,59007,59008,59009,59010,59011,59012,59013,59014,59015,59016,59017,59018,59019,59020,59021,59022,59023,59024,59025,59026,59027,59028,59029,59030,59031,59032,59033,59034,59035,59036,59037,59038,59039,59040,59041,59042,59043,59044,59045,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,12484,12485,12486,12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523,12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,59261,59262,59263,59264,59265,59266,59267,59268,59046,59047,59048,59049,59050,59051,59052,59053,59054,59055,59056,59057,59058,59059,59060,59061,59062,59063,59064,59065,59066,59067,59068,59069,59070,59071,59072,59073,59074,59075,59076,59077,59078,59079,59080,59081,59082,59083,59084,59085,59086,59087,59088,59089,59090,59091,59092,59093,59094,59095,59096,59097,59098,59099,59100,59101,59102,59103,59104,59105,59106,59107,59108,59109,59110,59111,59112,59113,59114,59115,59116,59117,59118,59119,59120,59121,59122,59123,59124,59125,59126,59127,59128,59129,59130,59131,59132,59133,59134,59135,59136,59137,59138,59139,59140,59141,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,59269,59270,59271,59272,59273,59274,59275,59276,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,963,964,965,966,967,968,969,59277,59278,59279,59280,59281,59282,59283,65077,65078,65081,65082,65087,65088,65085,65086,65089,65090,65091,65092,59284,59285,65083,65084,65079,65080,65073,59286,65075,65076,59287,59288,59289,59290,59291,59292,59293,59294,59295,59142,59143,59144,59145,59146,59147,59148,59149,59150,59151,59152,59153,59154,59155,59156,59157,59158,59159,59160,59161,59162,59163,59164,59165,59166,59167,59168,59169,59170,59171,59172,59173,59174,59175,59176,59177,59178,59179,59180,59181,59182,59183,59184,59185,59186,59187,59188,59189,59190,59191,59192,59193,59194,59195,59196,59197,59198,59199,59200,59201,59202,59203,59204,59205,59206,59207,59208,59209,59210,59211,59212,59213,59214,59215,59216,59217,59218,59219,59220,59221,59222,59223,59224,59225,59226,59227,59228,59229,59230,59231,59232,59233,59234,59235,59236,59237,1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,59296,59297,59298,59299,59300,59301,59302,59303,59304,59305,59306,59307,59308,59309,59310,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,59311,59312,59313,59314,59315,59316,59317,59318,59319,59320,59321,59322,59323,714,715,729,8211,8213,8229,8245,8453,8457,8598,8599,8600,8601,8725,8735,8739,8786,8806,8807,8895,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9581,9582,9583,9584,9585,9586,9587,9601,9602,9603,9604,9605,9606,9607,9608,9609,9610,9611,9612,9613,9614,9615,9619,9620,9621,9660,9661,9698,9699,9700,9701,9737,8853,12306,12317,12318,59324,59325,59326,59327,59328,59329,59330,59331,59332,59333,59334,257,225,462,224,275,233,283,232,299,237,464,236,333,243,466,242,363,250,468,249,470,472,474,476,252,234,593,7743,324,328,505,609,59337,59338,59339,59340,12549,12550,12551,12552,12553,12554,12555,12556,12557,12558,12559,12560,12561,12562,12563,12564,12565,12566,12567,12568,12569,12570,12571,12572,12573,12574,12575,12576,12577,12578,12579,12580,12581,12582,12583,12584,12585,59341,59342,59343,59344,59345,59346,59347,59348,59349,59350,59351,59352,59353,59354,59355,59356,59357,59358,59359,59360,59361,12321,12322,12323,12324,12325,12326,12327,12328,12329,12963,13198,13199,13212,13213,13214,13217,13252,13262,13265,13266,13269,65072,65506,65508,59362,8481,12849,59363,8208,59364,59365,59366,12540,12443,12444,12541,12542,12294,12445,12446,65097,65098,65099,65100,65101,65102,65103,65104,65105,65106,65108,65109,65110,65111,65113,65114,65115,65116,65117,65118,65119,65120,65121,65122,65123,65124,65125,65126,65128,65129,65130,65131,12350,12272,12273,12274,12275,12276,12277,12278,12279,12280,12281,12282,12283,12295,59380,59381,59382,59383,59384,59385,59386,59387,59388,59389,59390,59391,59392,9472,9473,9474,9475,9476,9477,9478,9479,9480,9481,9482,9483,9484,9485,9486,9487,9488,9489,9490,9491,9492,9493,9494,9495,9496,9497,9498,9499,9500,9501,9502,9503,9504,9505,9506,9507,9508,9509,9510,9511,9512,9513,9514,9515,9516,9517,9518,9519,9520,9521,9522,9523,9524,9525,9526,9527,9528,9529,9530,9531,9532,9533,9534,9535,9536,9537,9538,9539,9540,9541,9542,9543,9544,9545,9546,9547,59393,59394,59395,59396,59397,59398,59399,59400,59401,59402,59403,59404,59405,59406,59407,29404,29405,29407,29410,29411,29412,29413,29414,29415,29418,29419,29429,29430,29433,29437,29438,29439,29440,29442,29444,29445,29446,29447,29448,29449,29451,29452,29453,29455,29456,29457,29458,29460,29464,29465,29466,29471,29472,29475,29476,29478,29479,29480,29485,29487,29488,29490,29491,29493,29494,29498,29499,29500,29501,29504,29505,29506,29507,29508,29509,29510,29511,29512,29513,29514,29515,29516,29518,29519,29521,29523,29524,29525,29526,29528,29529,29530,29531,29532,29533,29534,29535,29537,29538,29539,29540,29541,29542,29543,29544,29545,29546,29547,29550,29552,29553,57344,57345,57346,57347,57348,57349,57350,57351,57352,57353,57354,57355,57356,57357,57358,57359,57360,57361,57362,57363,57364,57365,57366,57367,57368,57369,57370,57371,57372,57373,57374,57375,57376,57377,57378,57379,57380,57381,57382,57383,57384,57385,57386,57387,57388,57389,57390,57391,57392,57393,57394,57395,57396,57397,57398,57399,57400,57401,57402,57403,57404,57405,57406,57407,57408,57409,57410,57411,57412,57413,57414,57415,57416,57417,57418,57419,57420,57421,57422,57423,57424,57425,57426,57427,57428,57429,57430,57431,57432,57433,57434,57435,57436,57437,29554,29555,29556,29557,29558,29559,29560,29561,29562,29563,29564,29565,29567,29568,29569,29570,29571,29573,29574,29576,29578,29580,29581,29583,29584,29586,29587,29588,29589,29591,29592,29593,29594,29596,29597,29598,29600,29601,29603,29604,29605,29606,29607,29608,29610,29612,29613,29617,29620,29621,29622,29624,29625,29628,29629,29630,29631,29633,29635,29636,29637,29638,29639,29643,29644,29646,29650,29651,29652,29653,29654,29655,29656,29658,29659,29660,29661,29663,29665,29666,29667,29668,29670,29672,29674,29675,29676,29678,29679,29680,29681,29683,29684,29685,29686,29687,57438,57439,57440,57441,57442,57443,57444,57445,57446,57447,57448,57449,57450,57451,57452,57453,57454,57455,57456,57457,57458,57459,57460,57461,57462,57463,57464,57465,57466,57467,57468,57469,57470,57471,57472,57473,57474,57475,57476,57477,57478,57479,57480,57481,57482,57483,57484,57485,57486,57487,57488,57489,57490,57491,57492,57493,57494,57495,57496,57497,57498,57499,57500,57501,57502,57503,57504,57505,57506,57507,57508,57509,57510,57511,57512,57513,57514,57515,57516,57517,57518,57519,57520,57521,57522,57523,57524,57525,57526,57527,57528,57529,57530,57531,29688,29689,29690,29691,29692,29693,29694,29695,29696,29697,29698,29700,29703,29704,29707,29708,29709,29710,29713,29714,29715,29716,29717,29718,29719,29720,29721,29724,29725,29726,29727,29728,29729,29731,29732,29735,29737,29739,29741,29743,29745,29746,29751,29752,29753,29754,29755,29757,29758,29759,29760,29762,29763,29764,29765,29766,29767,29768,29769,29770,29771,29772,29773,29774,29775,29776,29777,29778,29779,29780,29782,29784,29789,29792,29793,29794,29795,29796,29797,29798,29799,29800,29801,29802,29803,29804,29806,29807,29809,29810,29811,29812,29813,29816,29817,29818,57532,57533,57534,57535,57536,57537,57538,57539,57540,57541,57542,57543,57544,57545,57546,57547,57548,57549,57550,57551,57552,57553,57554,57555,57556,57557,57558,57559,57560,57561,57562,57563,57564,57565,57566,57567,57568,57569,57570,57571,57572,57573,57574,57575,57576,57577,57578,57579,57580,57581,57582,57583,57584,57585,57586,57587,57588,57589,57590,57591,57592,57593,57594,57595,57596,57597,57598,57599,57600,57601,57602,57603,57604,57605,57606,57607,57608,57609,57610,57611,57612,57613,57614,57615,57616,57617,57618,57619,57620,57621,57622,57623,57624,57625,29819,29820,29821,29823,29826,29828,29829,29830,29832,29833,29834,29836,29837,29839,29841,29842,29843,29844,29845,29846,29847,29848,29849,29850,29851,29853,29855,29856,29857,29858,29859,29860,29861,29862,29866,29867,29868,29869,29870,29871,29872,29873,29874,29875,29876,29877,29878,29879,29880,29881,29883,29884,29885,29886,29887,29888,29889,29890,29891,29892,29893,29894,29895,29896,29897,29898,29899,29900,29901,29902,29903,29904,29905,29907,29908,29909,29910,29911,29912,29913,29914,29915,29917,29919,29921,29925,29927,29928,29929,29930,29931,29932,29933,29936,29937,29938,57626,57627,57628,57629,57630,57631,57632,57633,57634,57635,57636,57637,57638,57639,57640,57641,57642,57643,57644,57645,57646,57647,57648,57649,57650,57651,57652,57653,57654,57655,57656,57657,57658,57659,57660,57661,57662,57663,57664,57665,57666,57667,57668,57669,57670,57671,57672,57673,57674,57675,57676,57677,57678,57679,57680,57681,57682,57683,57684,57685,57686,57687,57688,57689,57690,57691,57692,57693,57694,57695,57696,57697,57698,57699,57700,57701,57702,57703,57704,57705,57706,57707,57708,57709,57710,57711,57712,57713,57714,57715,57716,57717,57718,57719,29939,29941,29944,29945,29946,29947,29948,29949,29950,29952,29953,29954,29955,29957,29958,29959,29960,29961,29962,29963,29964,29966,29968,29970,29972,29973,29974,29975,29979,29981,29982,29984,29985,29986,29987,29988,29990,29991,29994,29998,30004,30006,30009,30012,30013,30015,30017,30018,30019,30020,30022,30023,30025,30026,30029,30032,30033,30034,30035,30037,30038,30039,30040,30045,30046,30047,30048,30049,30050,30051,30052,30055,30056,30057,30059,30060,30061,30062,30063,30064,30065,30067,30069,30070,30071,30074,30075,30076,30077,30078,30080,30081,30082,30084,30085,30087,57720,57721,57722,57723,57724,57725,57726,57727,57728,57729,57730,57731,57732,57733,57734,57735,57736,57737,57738,57739,57740,57741,57742,57743,57744,57745,57746,57747,57748,57749,57750,57751,57752,57753,57754,57755,57756,57757,57758,57759,57760,57761,57762,57763,57764,57765,57766,57767,57768,57769,57770,57771,57772,57773,57774,57775,57776,57777,57778,57779,57780,57781,57782,57783,57784,57785,57786,57787,57788,57789,57790,57791,57792,57793,57794,57795,57796,57797,57798,57799,57800,57801,57802,57803,57804,57805,57806,57807,57808,57809,57810,57811,57812,57813,30088,30089,30090,30092,30093,30094,30096,30099,30101,30104,30107,30108,30110,30114,30118,30119,30120,30121,30122,30125,30134,30135,30138,30139,30143,30144,30145,30150,30155,30156,30158,30159,30160,30161,30163,30167,30169,30170,30172,30173,30175,30176,30177,30181,30185,30188,30189,30190,30191,30194,30195,30197,30198,30199,30200,30202,30203,30205,30206,30210,30212,30214,30215,30216,30217,30219,30221,30222,30223,30225,30226,30227,30228,30230,30234,30236,30237,30238,30241,30243,30247,30248,30252,30254,30255,30257,30258,30262,30263,30265,30266,30267,30269,30273,30274,30276,57814,57815,57816,57817,57818,57819,57820,57821,57822,57823,57824,57825,57826,57827,57828,57829,57830,57831,57832,57833,57834,57835,57836,57837,57838,57839,57840,57841,57842,57843,57844,57845,57846,57847,57848,57849,57850,57851,57852,57853,57854,57855,57856,57857,57858,57859,57860,57861,57862,57863,57864,57865,57866,57867,57868,57869,57870,57871,57872,57873,57874,57875,57876,57877,57878,57879,57880,57881,57882,57883,57884,57885,57886,57887,57888,57889,57890,57891,57892,57893,57894,57895,57896,57897,57898,57899,57900,57901,57902,57903,57904,57905,57906,57907,30277,30278,30279,30280,30281,30282,30283,30286,30287,30288,30289,30290,30291,30293,30295,30296,30297,30298,30299,30301,30303,30304,30305,30306,30308,30309,30310,30311,30312,30313,30314,30316,30317,30318,30320,30321,30322,30323,30324,30325,30326,30327,30329,30330,30332,30335,30336,30337,30339,30341,30345,30346,30348,30349,30351,30352,30354,30356,30357,30359,30360,30362,30363,30364,30365,30366,30367,30368,30369,30370,30371,30373,30374,30375,30376,30377,30378,30379,30380,30381,30383,30384,30387,30389,30390,30391,30392,30393,30394,30395,30396,30397,30398,30400,30401,30403,21834,38463,22467,25384,21710,21769,21696,30353,30284,34108,30702,33406,30861,29233,38552,38797,27688,23433,20474,25353,26263,23736,33018,26696,32942,26114,30414,20985,25942,29100,32753,34948,20658,22885,25034,28595,33453,25420,25170,21485,21543,31494,20843,30116,24052,25300,36299,38774,25226,32793,22365,38712,32610,29240,30333,26575,30334,25670,20336,36133,25308,31255,26001,29677,25644,25203,33324,39041,26495,29256,25198,25292,20276,29923,21322,21150,32458,37030,24110,26758,27036,33152,32465,26834,30917,34444,38225,20621,35876,33502,32990,21253,35090,21093,30404,30407,30409,30411,30412,30419,30421,30425,30426,30428,30429,30430,30432,30433,30434,30435,30436,30438,30439,30440,30441,30442,30443,30444,30445,30448,30451,30453,30454,30455,30458,30459,30461,30463,30464,30466,30467,30469,30470,30474,30476,30478,30479,30480,30481,30482,30483,30484,30485,30486,30487,30488,30491,30492,30493,30494,30497,30499,30500,30501,30503,30506,30507,30508,30510,30512,30513,30514,30515,30516,30521,30523,30525,30526,30527,30530,30532,30533,30534,30536,30537,30538,30539,30540,30541,30542,30543,30546,30547,30548,30549,30550,30551,30552,30553,30556,34180,38649,20445,22561,39281,23453,25265,25253,26292,35961,40077,29190,26479,30865,24754,21329,21271,36744,32972,36125,38049,20493,29384,22791,24811,28953,34987,22868,33519,26412,31528,23849,32503,29997,27893,36454,36856,36924,40763,27604,37145,31508,24444,30887,34006,34109,27605,27609,27606,24065,24199,30201,38381,25949,24330,24517,36767,22721,33218,36991,38491,38829,36793,32534,36140,25153,20415,21464,21342,36776,36777,36779,36941,26631,24426,33176,34920,40150,24971,21035,30250,24428,25996,28626,28392,23486,25672,20853,20912,26564,19993,31177,39292,28851,30557,30558,30559,30560,30564,30567,30569,30570,30573,30574,30575,30576,30577,30578,30579,30580,30581,30582,30583,30584,30586,30587,30588,30593,30594,30595,30598,30599,30600,30601,30602,30603,30607,30608,30611,30612,30613,30614,30615,30616,30617,30618,30619,30620,30621,30622,30625,30627,30628,30630,30632,30635,30637,30638,30639,30641,30642,30644,30646,30647,30648,30649,30650,30652,30654,30656,30657,30658,30659,30660,30661,30662,30663,30664,30665,30666,30667,30668,30670,30671,30672,30673,30674,30675,30676,30677,30678,30680,30681,30682,30685,30686,30687,30688,30689,30692,30149,24182,29627,33760,25773,25320,38069,27874,21338,21187,25615,38082,31636,20271,24091,33334,33046,33162,28196,27850,39539,25429,21340,21754,34917,22496,19981,24067,27493,31807,37096,24598,25830,29468,35009,26448,25165,36130,30572,36393,37319,24425,33756,34081,39184,21442,34453,27531,24813,24808,28799,33485,33329,20179,27815,34255,25805,31961,27133,26361,33609,21397,31574,20391,20876,27979,23618,36461,25554,21449,33580,33590,26597,30900,25661,23519,23700,24046,35815,25286,26612,35962,25600,25530,34633,39307,35863,32544,38130,20135,38416,39076,26124,29462,30694,30696,30698,30703,30704,30705,30706,30708,30709,30711,30713,30714,30715,30716,30723,30724,30725,30726,30727,30728,30730,30731,30734,30735,30736,30739,30741,30745,30747,30750,30752,30753,30754,30756,30760,30762,30763,30766,30767,30769,30770,30771,30773,30774,30781,30783,30785,30786,30787,30788,30790,30792,30793,30794,30795,30797,30799,30801,30803,30804,30808,30809,30810,30811,30812,30814,30815,30816,30817,30818,30819,30820,30821,30822,30823,30824,30825,30831,30832,30833,30834,30835,30836,30837,30838,30840,30841,30842,30843,30845,30846,30847,30848,30849,30850,30851,22330,23581,24120,38271,20607,32928,21378,25950,30021,21809,20513,36229,25220,38046,26397,22066,28526,24034,21557,28818,36710,25199,25764,25507,24443,28552,37108,33251,36784,23576,26216,24561,27785,38472,36225,34924,25745,31216,22478,27225,25104,21576,20056,31243,24809,28548,35802,25215,36894,39563,31204,21507,30196,25345,21273,27744,36831,24347,39536,32827,40831,20360,23610,36196,32709,26021,28861,20805,20914,34411,23815,23456,25277,37228,30068,36364,31264,24833,31609,20167,32504,30597,19985,33261,21021,20986,27249,21416,36487,38148,38607,28353,38500,26970,30852,30853,30854,30856,30858,30859,30863,30864,30866,30868,30869,30870,30873,30877,30878,30880,30882,30884,30886,30888,30889,30890,30891,30892,30893,30894,30895,30901,30902,30903,30904,30906,30907,30908,30909,30911,30912,30914,30915,30916,30918,30919,30920,30924,30925,30926,30927,30929,30930,30931,30934,30935,30936,30938,30939,30940,30941,30942,30943,30944,30945,30946,30947,30948,30949,30950,30951,30953,30954,30955,30957,30958,30959,30960,30961,30963,30965,30966,30968,30969,30971,30972,30973,30974,30975,30976,30978,30979,30980,30982,30983,30984,30985,30986,30987,30988,30784,20648,30679,25616,35302,22788,25571,24029,31359,26941,20256,33337,21912,20018,30126,31383,24162,24202,38383,21019,21561,28810,25462,38180,22402,26149,26943,37255,21767,28147,32431,34850,25139,32496,30133,33576,30913,38604,36766,24904,29943,35789,27492,21050,36176,27425,32874,33905,22257,21254,20174,19995,20945,31895,37259,31751,20419,36479,31713,31388,25703,23828,20652,33030,30209,31929,28140,32736,26449,23384,23544,30923,25774,25619,25514,25387,38169,25645,36798,31572,30249,25171,22823,21574,27513,20643,25140,24102,27526,20195,36151,34955,24453,36910,30989,30990,30991,30992,30993,30994,30996,30997,30998,30999,31000,31001,31002,31003,31004,31005,31007,31008,31009,31010,31011,31013,31014,31015,31016,31017,31018,31019,31020,31021,31022,31023,31024,31025,31026,31027,31029,31030,31031,31032,31033,31037,31039,31042,31043,31044,31045,31047,31050,31051,31052,31053,31054,31055,31056,31057,31058,31060,31061,31064,31065,31073,31075,31076,31078,31081,31082,31083,31084,31086,31088,31089,31090,31091,31092,31093,31094,31097,31099,31100,31101,31102,31103,31106,31107,31110,31111,31112,31113,31115,31116,31117,31118,31120,31121,31122,24608,32829,25285,20025,21333,37112,25528,32966,26086,27694,20294,24814,28129,35806,24377,34507,24403,25377,20826,33633,26723,20992,25443,36424,20498,23707,31095,23548,21040,31291,24764,36947,30423,24503,24471,30340,36460,28783,30331,31561,30634,20979,37011,22564,20302,28404,36842,25932,31515,29380,28068,32735,23265,25269,24213,22320,33922,31532,24093,24351,36882,32532,39072,25474,28359,30872,28857,20856,38747,22443,30005,20291,30008,24215,24806,22880,28096,27583,30857,21500,38613,20939,20993,25481,21514,38035,35843,36300,29241,30879,34678,36845,35853,21472,31123,31124,31125,31126,31127,31128,31129,31131,31132,31133,31134,31135,31136,31137,31138,31139,31140,31141,31142,31144,31145,31146,31147,31148,31149,31150,31151,31152,31153,31154,31156,31157,31158,31159,31160,31164,31167,31170,31172,31173,31175,31176,31178,31180,31182,31183,31184,31187,31188,31190,31191,31193,31194,31195,31196,31197,31198,31200,31201,31202,31205,31208,31210,31212,31214,31217,31218,31219,31220,31221,31222,31223,31225,31226,31228,31230,31231,31233,31236,31237,31239,31240,31241,31242,31244,31247,31248,31249,31250,31251,31253,31254,31256,31257,31259,31260,19969,30447,21486,38025,39030,40718,38189,23450,35746,20002,19996,20908,33891,25026,21160,26635,20375,24683,20923,27934,20828,25238,26007,38497,35910,36887,30168,37117,30563,27602,29322,29420,35835,22581,30585,36172,26460,38208,32922,24230,28193,22930,31471,30701,38203,27573,26029,32526,22534,20817,38431,23545,22697,21544,36466,25958,39039,22244,38045,30462,36929,25479,21702,22810,22842,22427,36530,26421,36346,33333,21057,24816,22549,34558,23784,40517,20420,39069,35769,23077,24694,21380,25212,36943,37122,39295,24681,32780,20799,32819,23572,39285,27953,20108,31261,31263,31265,31266,31268,31269,31270,31271,31272,31273,31274,31275,31276,31277,31278,31279,31280,31281,31282,31284,31285,31286,31288,31290,31294,31296,31297,31298,31299,31300,31301,31303,31304,31305,31306,31307,31308,31309,31310,31311,31312,31314,31315,31316,31317,31318,31320,31321,31322,31323,31324,31325,31326,31327,31328,31329,31330,31331,31332,31333,31334,31335,31336,31337,31338,31339,31340,31341,31342,31343,31345,31346,31347,31349,31355,31356,31357,31358,31362,31365,31367,31369,31370,31371,31372,31374,31375,31376,31379,31380,31385,31386,31387,31390,31393,31394,36144,21457,32602,31567,20240,20047,38400,27861,29648,34281,24070,30058,32763,27146,30718,38034,32321,20961,28902,21453,36820,33539,36137,29359,39277,27867,22346,33459,26041,32938,25151,38450,22952,20223,35775,32442,25918,33778,38750,21857,39134,32933,21290,35837,21536,32954,24223,27832,36153,33452,37210,21545,27675,20998,32439,22367,28954,27774,31881,22859,20221,24575,24868,31914,20016,23553,26539,34562,23792,38155,39118,30127,28925,36898,20911,32541,35773,22857,20964,20315,21542,22827,25975,32932,23413,25206,25282,36752,24133,27679,31526,20239,20440,26381,31395,31396,31399,31401,31402,31403,31406,31407,31408,31409,31410,31412,31413,31414,31415,31416,31417,31418,31419,31420,31421,31422,31424,31425,31426,31427,31428,31429,31430,31431,31432,31433,31434,31436,31437,31438,31439,31440,31441,31442,31443,31444,31445,31447,31448,31450,31451,31452,31453,31457,31458,31460,31463,31464,31465,31466,31467,31468,31470,31472,31473,31474,31475,31476,31477,31478,31479,31480,31483,31484,31486,31488,31489,31490,31493,31495,31497,31500,31501,31502,31504,31506,31507,31510,31511,31512,31514,31516,31517,31519,31521,31522,31523,31527,31529,31533,28014,28074,31119,34993,24343,29995,25242,36741,20463,37340,26023,33071,33105,24220,33104,36212,21103,35206,36171,22797,20613,20184,38428,29238,33145,36127,23500,35747,38468,22919,32538,21648,22134,22030,35813,25913,27010,38041,30422,28297,24178,29976,26438,26577,31487,32925,36214,24863,31174,25954,36195,20872,21018,38050,32568,32923,32434,23703,28207,26464,31705,30347,39640,33167,32660,31957,25630,38224,31295,21578,21733,27468,25601,25096,40509,33011,30105,21106,38761,33883,26684,34532,38401,38548,38124,20010,21508,32473,26681,36319,32789,26356,24218,32697,31535,31536,31538,31540,31541,31542,31543,31545,31547,31549,31551,31552,31553,31554,31555,31556,31558,31560,31562,31565,31566,31571,31573,31575,31577,31580,31582,31583,31585,31587,31588,31589,31590,31591,31592,31593,31594,31595,31596,31597,31599,31600,31603,31604,31606,31608,31610,31612,31613,31615,31617,31618,31619,31620,31622,31623,31624,31625,31626,31627,31628,31630,31631,31633,31634,31635,31638,31640,31641,31642,31643,31646,31647,31648,31651,31652,31653,31662,31663,31664,31666,31667,31669,31670,31671,31673,31674,31675,31676,31677,31678,31679,31680,31682,31683,31684,22466,32831,26775,24037,25915,21151,24685,40858,20379,36524,20844,23467,24339,24041,27742,25329,36129,20849,38057,21246,27807,33503,29399,22434,26500,36141,22815,36764,33735,21653,31629,20272,27837,23396,22993,40723,21476,34506,39592,35895,32929,25925,39038,22266,38599,21038,29916,21072,23521,25346,35074,20054,25296,24618,26874,20851,23448,20896,35266,31649,39302,32592,24815,28748,36143,20809,24191,36891,29808,35268,22317,30789,24402,40863,38394,36712,39740,35809,30328,26690,26588,36330,36149,21053,36746,28378,26829,38149,37101,22269,26524,35065,36807,21704,31685,31688,31689,31690,31691,31693,31694,31695,31696,31698,31700,31701,31702,31703,31704,31707,31708,31710,31711,31712,31714,31715,31716,31719,31720,31721,31723,31724,31725,31727,31728,31730,31731,31732,31733,31734,31736,31737,31738,31739,31741,31743,31744,31745,31746,31747,31748,31749,31750,31752,31753,31754,31757,31758,31760,31761,31762,31763,31764,31765,31767,31768,31769,31770,31771,31772,31773,31774,31776,31777,31778,31779,31780,31781,31784,31785,31787,31788,31789,31790,31791,31792,31793,31794,31795,31796,31797,31798,31799,31801,31802,31803,31804,31805,31806,31810,39608,23401,28023,27686,20133,23475,39559,37219,25000,37039,38889,21547,28085,23506,20989,21898,32597,32752,25788,25421,26097,25022,24717,28938,27735,27721,22831,26477,33322,22741,22158,35946,27627,37085,22909,32791,21495,28009,21621,21917,33655,33743,26680,31166,21644,20309,21512,30418,35977,38402,27827,28088,36203,35088,40548,36154,22079,40657,30165,24456,29408,24680,21756,20136,27178,34913,24658,36720,21700,28888,34425,40511,27946,23439,24344,32418,21897,20399,29492,21564,21402,20505,21518,21628,20046,24573,29786,22774,33899,32993,34676,29392,31946,28246,31811,31812,31813,31814,31815,31816,31817,31818,31819,31820,31822,31823,31824,31825,31826,31827,31828,31829,31830,31831,31832,31833,31834,31835,31836,31837,31838,31839,31840,31841,31842,31843,31844,31845,31846,31847,31848,31849,31850,31851,31852,31853,31854,31855,31856,31857,31858,31861,31862,31863,31864,31865,31866,31870,31871,31872,31873,31874,31875,31876,31877,31878,31879,31880,31882,31883,31884,31885,31886,31887,31888,31891,31892,31894,31897,31898,31899,31904,31905,31907,31910,31911,31912,31913,31915,31916,31917,31919,31920,31924,31925,31926,31927,31928,31930,31931,24359,34382,21804,25252,20114,27818,25143,33457,21719,21326,29502,28369,30011,21010,21270,35805,27088,24458,24576,28142,22351,27426,29615,26707,36824,32531,25442,24739,21796,30186,35938,28949,28067,23462,24187,33618,24908,40644,30970,34647,31783,30343,20976,24822,29004,26179,24140,24653,35854,28784,25381,36745,24509,24674,34516,22238,27585,24724,24935,21321,24800,26214,36159,31229,20250,28905,27719,35763,35826,32472,33636,26127,23130,39746,27985,28151,35905,27963,20249,28779,33719,25110,24785,38669,36135,31096,20987,22334,22522,26426,30072,31293,31215,31637,31935,31936,31938,31939,31940,31942,31945,31947,31950,31951,31952,31953,31954,31955,31956,31960,31962,31963,31965,31966,31969,31970,31971,31972,31973,31974,31975,31977,31978,31979,31980,31981,31982,31984,31985,31986,31987,31988,31989,31990,31991,31993,31994,31996,31997,31998,31999,32000,32001,32002,32003,32004,32005,32006,32007,32008,32009,32011,32012,32013,32014,32015,32016,32017,32018,32019,32020,32021,32022,32023,32024,32025,32026,32027,32028,32029,32030,32031,32033,32035,32036,32037,32038,32040,32041,32042,32044,32045,32046,32048,32049,32050,32051,32052,32053,32054,32908,39269,36857,28608,35749,40481,23020,32489,32521,21513,26497,26840,36753,31821,38598,21450,24613,30142,27762,21363,23241,32423,25380,20960,33034,24049,34015,25216,20864,23395,20238,31085,21058,24760,27982,23492,23490,35745,35760,26082,24524,38469,22931,32487,32426,22025,26551,22841,20339,23478,21152,33626,39050,36158,30002,38078,20551,31292,20215,26550,39550,23233,27516,30417,22362,23574,31546,38388,29006,20860,32937,33392,22904,32516,33575,26816,26604,30897,30839,25315,25441,31616,20461,21098,20943,33616,27099,37492,36341,36145,35265,38190,31661,20214,32055,32056,32057,32058,32059,32060,32061,32062,32063,32064,32065,32066,32067,32068,32069,32070,32071,32072,32073,32074,32075,32076,32077,32078,32079,32080,32081,32082,32083,32084,32085,32086,32087,32088,32089,32090,32091,32092,32093,32094,32095,32096,32097,32098,32099,32100,32101,32102,32103,32104,32105,32106,32107,32108,32109,32111,32112,32113,32114,32115,32116,32117,32118,32120,32121,32122,32123,32124,32125,32126,32127,32128,32129,32130,32131,32132,32133,32134,32135,32136,32137,32138,32139,32140,32141,32142,32143,32144,32145,32146,32147,32148,32149,32150,32151,32152,20581,33328,21073,39279,28176,28293,28071,24314,20725,23004,23558,27974,27743,30086,33931,26728,22870,35762,21280,37233,38477,34121,26898,30977,28966,33014,20132,37066,27975,39556,23047,22204,25605,38128,30699,20389,33050,29409,35282,39290,32564,32478,21119,25945,37237,36735,36739,21483,31382,25581,25509,30342,31224,34903,38454,25130,21163,33410,26708,26480,25463,30571,31469,27905,32467,35299,22992,25106,34249,33445,30028,20511,20171,30117,35819,23626,24062,31563,26020,37329,20170,27941,35167,32039,38182,20165,35880,36827,38771,26187,31105,36817,28908,28024,32153,32154,32155,32156,32157,32158,32159,32160,32161,32162,32163,32164,32165,32167,32168,32169,32170,32171,32172,32173,32175,32176,32177,32178,32179,32180,32181,32182,32183,32184,32185,32186,32187,32188,32189,32190,32191,32192,32193,32194,32195,32196,32197,32198,32199,32200,32201,32202,32203,32204,32205,32206,32207,32208,32209,32210,32211,32212,32213,32214,32215,32216,32217,32218,32219,32220,32221,32222,32223,32224,32225,32226,32227,32228,32229,32230,32231,32232,32233,32234,32235,32236,32237,32238,32239,32240,32241,32242,32243,32244,32245,32246,32247,32248,32249,32250,23613,21170,33606,20834,33550,30555,26230,40120,20140,24778,31934,31923,32463,20117,35686,26223,39048,38745,22659,25964,38236,24452,30153,38742,31455,31454,20928,28847,31384,25578,31350,32416,29590,38893,20037,28792,20061,37202,21417,25937,26087,33276,33285,21646,23601,30106,38816,25304,29401,30141,23621,39545,33738,23616,21632,30697,20030,27822,32858,25298,25454,24040,20855,36317,36382,38191,20465,21477,24807,28844,21095,25424,40515,23071,20518,30519,21367,32482,25733,25899,25225,25496,20500,29237,35273,20915,35776,32477,22343,33740,38055,20891,21531,23803,32251,32252,32253,32254,32255,32256,32257,32258,32259,32260,32261,32262,32263,32264,32265,32266,32267,32268,32269,32270,32271,32272,32273,32274,32275,32276,32277,32278,32279,32280,32281,32282,32283,32284,32285,32286,32287,32288,32289,32290,32291,32292,32293,32294,32295,32296,32297,32298,32299,32300,32301,32302,32303,32304,32305,32306,32307,32308,32309,32310,32311,32312,32313,32314,32316,32317,32318,32319,32320,32322,32323,32324,32325,32326,32328,32329,32330,32331,32332,32333,32334,32335,32336,32337,32338,32339,32340,32341,32342,32343,32344,32345,32346,32347,32348,32349,20426,31459,27994,37089,39567,21888,21654,21345,21679,24320,25577,26999,20975,24936,21002,22570,21208,22350,30733,30475,24247,24951,31968,25179,25239,20130,28821,32771,25335,28900,38752,22391,33499,26607,26869,30933,39063,31185,22771,21683,21487,28212,20811,21051,23458,35838,32943,21827,22438,24691,22353,21549,31354,24656,23380,25511,25248,21475,25187,23495,26543,21741,31391,33510,37239,24211,35044,22840,22446,25358,36328,33007,22359,31607,20393,24555,23485,27454,21281,31568,29378,26694,30719,30518,26103,20917,20111,30420,23743,31397,33909,22862,39745,20608,32350,32351,32352,32353,32354,32355,32356,32357,32358,32359,32360,32361,32362,32363,32364,32365,32366,32367,32368,32369,32370,32371,32372,32373,32374,32375,32376,32377,32378,32379,32380,32381,32382,32383,32384,32385,32387,32388,32389,32390,32391,32392,32393,32394,32395,32396,32397,32398,32399,32400,32401,32402,32403,32404,32405,32406,32407,32408,32409,32410,32412,32413,32414,32430,32436,32443,32444,32470,32484,32492,32505,32522,32528,32542,32567,32569,32571,32572,32573,32574,32575,32576,32577,32579,32582,32583,32584,32585,32586,32587,32588,32589,32590,32591,32594,32595,39304,24871,28291,22372,26118,25414,22256,25324,25193,24275,38420,22403,25289,21895,34593,33098,36771,21862,33713,26469,36182,34013,23146,26639,25318,31726,38417,20848,28572,35888,25597,35272,25042,32518,28866,28389,29701,27028,29436,24266,37070,26391,28010,25438,21171,29282,32769,20332,23013,37226,28889,28061,21202,20048,38647,38253,34174,30922,32047,20769,22418,25794,32907,31867,27882,26865,26974,20919,21400,26792,29313,40654,31729,29432,31163,28435,29702,26446,37324,40100,31036,33673,33620,21519,26647,20029,21385,21169,30782,21382,21033,20616,20363,20432,32598,32601,32603,32604,32605,32606,32608,32611,32612,32613,32614,32615,32619,32620,32621,32623,32624,32627,32629,32630,32631,32632,32634,32635,32636,32637,32639,32640,32642,32643,32644,32645,32646,32647,32648,32649,32651,32653,32655,32656,32657,32658,32659,32661,32662,32663,32664,32665,32667,32668,32672,32674,32675,32677,32678,32680,32681,32682,32683,32684,32685,32686,32689,32691,32692,32693,32694,32695,32698,32699,32702,32704,32706,32707,32708,32710,32711,32712,32713,32715,32717,32719,32720,32721,32722,32723,32726,32727,32729,32730,32731,32732,32733,32734,32738,32739,30178,31435,31890,27813,38582,21147,29827,21737,20457,32852,33714,36830,38256,24265,24604,28063,24088,25947,33080,38142,24651,28860,32451,31918,20937,26753,31921,33391,20004,36742,37327,26238,20142,35845,25769,32842,20698,30103,29134,23525,36797,28518,20102,25730,38243,24278,26009,21015,35010,28872,21155,29454,29747,26519,30967,38678,20020,37051,40158,28107,20955,36161,21533,25294,29618,33777,38646,40836,38083,20278,32666,20940,28789,38517,23725,39046,21478,20196,28316,29705,27060,30827,39311,30041,21016,30244,27969,26611,20845,40857,32843,21657,31548,31423,32740,32743,32744,32746,32747,32748,32749,32751,32754,32756,32757,32758,32759,32760,32761,32762,32765,32766,32767,32770,32775,32776,32777,32778,32782,32783,32785,32787,32794,32795,32797,32798,32799,32801,32803,32804,32811,32812,32813,32814,32815,32816,32818,32820,32825,32826,32828,32830,32832,32833,32836,32837,32839,32840,32841,32846,32847,32848,32849,32851,32853,32854,32855,32857,32859,32860,32861,32862,32863,32864,32865,32866,32867,32868,32869,32870,32871,32872,32875,32876,32877,32878,32879,32880,32882,32883,32884,32885,32886,32887,32888,32889,32890,32891,32892,32893,38534,22404,25314,38471,27004,23044,25602,31699,28431,38475,33446,21346,39045,24208,28809,25523,21348,34383,40065,40595,30860,38706,36335,36162,40575,28510,31108,24405,38470,25134,39540,21525,38109,20387,26053,23653,23649,32533,34385,27695,24459,29575,28388,32511,23782,25371,23402,28390,21365,20081,25504,30053,25249,36718,20262,20177,27814,32438,35770,33821,34746,32599,36923,38179,31657,39585,35064,33853,27931,39558,32476,22920,40635,29595,30721,34434,39532,39554,22043,21527,22475,20080,40614,21334,36808,33033,30610,39314,34542,28385,34067,26364,24930,28459,32894,32897,32898,32901,32904,32906,32909,32910,32911,32912,32913,32914,32916,32917,32919,32921,32926,32931,32934,32935,32936,32940,32944,32947,32949,32950,32952,32953,32955,32965,32967,32968,32969,32970,32971,32975,32976,32977,32978,32979,32980,32981,32984,32991,32992,32994,32995,32998,33006,33013,33015,33017,33019,33022,33023,33024,33025,33027,33028,33029,33031,33032,33035,33036,33045,33047,33049,33051,33052,33053,33055,33056,33057,33058,33059,33060,33061,33062,33063,33064,33065,33066,33067,33069,33070,33072,33075,33076,33077,33079,33081,33082,33083,33084,33085,33087,35881,33426,33579,30450,27667,24537,33725,29483,33541,38170,27611,30683,38086,21359,33538,20882,24125,35980,36152,20040,29611,26522,26757,37238,38665,29028,27809,30473,23186,38209,27599,32654,26151,23504,22969,23194,38376,38391,20204,33804,33945,27308,30431,38192,29467,26790,23391,30511,37274,38753,31964,36855,35868,24357,31859,31192,35269,27852,34588,23494,24130,26825,30496,32501,20885,20813,21193,23081,32517,38754,33495,25551,30596,34256,31186,28218,24217,22937,34065,28781,27665,25279,30399,25935,24751,38397,26126,34719,40483,38125,21517,21629,35884,25720,33088,33089,33090,33091,33092,33093,33095,33097,33101,33102,33103,33106,33110,33111,33112,33115,33116,33117,33118,33119,33121,33122,33123,33124,33126,33128,33130,33131,33132,33135,33138,33139,33141,33142,33143,33144,33153,33155,33156,33157,33158,33159,33161,33163,33164,33165,33166,33168,33170,33171,33172,33173,33174,33175,33177,33178,33182,33183,33184,33185,33186,33188,33189,33191,33193,33195,33196,33197,33198,33199,33200,33201,33202,33204,33205,33206,33207,33208,33209,33212,33213,33214,33215,33220,33221,33223,33224,33225,33227,33229,33230,33231,33232,33233,33234,33235,25721,34321,27169,33180,30952,25705,39764,25273,26411,33707,22696,40664,27819,28448,23518,38476,35851,29279,26576,25287,29281,20137,22982,27597,22675,26286,24149,21215,24917,26408,30446,30566,29287,31302,25343,21738,21584,38048,37027,23068,32435,27670,20035,22902,32784,22856,21335,30007,38590,22218,25376,33041,24700,38393,28118,21602,39297,20869,23273,33021,22958,38675,20522,27877,23612,25311,20320,21311,33147,36870,28346,34091,25288,24180,30910,25781,25467,24565,23064,37247,40479,23615,25423,32834,23421,21870,38218,38221,28037,24744,26592,29406,20957,23425,33236,33237,33238,33239,33240,33241,33242,33243,33244,33245,33246,33247,33248,33249,33250,33252,33253,33254,33256,33257,33259,33262,33263,33264,33265,33266,33269,33270,33271,33272,33273,33274,33277,33279,33283,33287,33288,33289,33290,33291,33294,33295,33297,33299,33301,33302,33303,33304,33305,33306,33309,33312,33316,33317,33318,33319,33321,33326,33330,33338,33340,33341,33343,33344,33345,33346,33347,33349,33350,33352,33354,33356,33357,33358,33360,33361,33362,33363,33364,33365,33366,33367,33369,33371,33372,33373,33374,33376,33377,33378,33379,33380,33381,33382,33383,33385,25319,27870,29275,25197,38062,32445,33043,27987,20892,24324,22900,21162,24594,22899,26262,34384,30111,25386,25062,31983,35834,21734,27431,40485,27572,34261,21589,20598,27812,21866,36276,29228,24085,24597,29750,25293,25490,29260,24472,28227,27966,25856,28504,30424,30928,30460,30036,21028,21467,20051,24222,26049,32810,32982,25243,21638,21032,28846,34957,36305,27873,21624,32986,22521,35060,36180,38506,37197,20329,27803,21943,30406,30768,25256,28921,28558,24429,34028,26842,30844,31735,33192,26379,40527,25447,30896,22383,30738,38713,25209,25259,21128,29749,27607,33386,33387,33388,33389,33393,33397,33398,33399,33400,33403,33404,33408,33409,33411,33413,33414,33415,33417,33420,33424,33427,33428,33429,33430,33434,33435,33438,33440,33442,33443,33447,33458,33461,33462,33466,33467,33468,33471,33472,33474,33475,33477,33478,33481,33488,33494,33497,33498,33501,33506,33511,33512,33513,33514,33516,33517,33518,33520,33522,33523,33525,33526,33528,33530,33532,33533,33534,33535,33536,33546,33547,33549,33552,33554,33555,33558,33560,33561,33565,33566,33567,33568,33569,33570,33571,33572,33573,33574,33577,33578,33582,33584,33586,33591,33595,33597,21860,33086,30130,30382,21305,30174,20731,23617,35692,31687,20559,29255,39575,39128,28418,29922,31080,25735,30629,25340,39057,36139,21697,32856,20050,22378,33529,33805,24179,20973,29942,35780,23631,22369,27900,39047,23110,30772,39748,36843,31893,21078,25169,38138,20166,33670,33889,33769,33970,22484,26420,22275,26222,28006,35889,26333,28689,26399,27450,26646,25114,22971,19971,20932,28422,26578,27791,20854,26827,22855,27495,30054,23822,33040,40784,26071,31048,31041,39569,36215,23682,20062,20225,21551,22865,30732,22120,27668,36804,24323,27773,27875,35755,25488,33598,33599,33601,33602,33604,33605,33608,33610,33611,33612,33613,33614,33619,33621,33622,33623,33624,33625,33629,33634,33648,33649,33650,33651,33652,33653,33654,33657,33658,33662,33663,33664,33665,33666,33667,33668,33671,33672,33674,33675,33676,33677,33679,33680,33681,33684,33685,33686,33687,33689,33690,33693,33695,33697,33698,33699,33700,33701,33702,33703,33708,33709,33710,33711,33717,33723,33726,33727,33730,33731,33732,33734,33736,33737,33739,33741,33742,33744,33745,33746,33747,33749,33751,33753,33754,33755,33758,33762,33763,33764,33766,33767,33768,33771,33772,33773,24688,27965,29301,25190,38030,38085,21315,36801,31614,20191,35878,20094,40660,38065,38067,21069,28508,36963,27973,35892,22545,23884,27424,27465,26538,21595,33108,32652,22681,34103,24378,25250,27207,38201,25970,24708,26725,30631,20052,20392,24039,38808,25772,32728,23789,20431,31373,20999,33540,19988,24623,31363,38054,20405,20146,31206,29748,21220,33465,25810,31165,23517,27777,38738,36731,27682,20542,21375,28165,25806,26228,27696,24773,39031,35831,24198,29756,31351,31179,19992,37041,29699,27714,22234,37195,27845,36235,21306,34502,26354,36527,23624,39537,28192,33774,33775,33779,33780,33781,33782,33783,33786,33787,33788,33790,33791,33792,33794,33797,33799,33800,33801,33802,33808,33810,33811,33812,33813,33814,33815,33817,33818,33819,33822,33823,33824,33825,33826,33827,33833,33834,33835,33836,33837,33838,33839,33840,33842,33843,33844,33845,33846,33847,33849,33850,33851,33854,33855,33856,33857,33858,33859,33860,33861,33863,33864,33865,33866,33867,33868,33869,33870,33871,33872,33874,33875,33876,33877,33878,33880,33885,33886,33887,33888,33890,33892,33893,33894,33895,33896,33898,33902,33903,33904,33906,33908,33911,33913,33915,33916,21462,23094,40843,36259,21435,22280,39079,26435,37275,27849,20840,30154,25331,29356,21048,21149,32570,28820,30264,21364,40522,27063,30830,38592,35033,32676,28982,29123,20873,26579,29924,22756,25880,22199,35753,39286,25200,32469,24825,28909,22764,20161,20154,24525,38887,20219,35748,20995,22922,32427,25172,20173,26085,25102,33592,33993,33635,34701,29076,28342,23481,32466,20887,25545,26580,32905,33593,34837,20754,23418,22914,36785,20083,27741,20837,35109,36719,38446,34122,29790,38160,38384,28070,33509,24369,25746,27922,33832,33134,40131,22622,36187,19977,21441,33917,33918,33919,33920,33921,33923,33924,33925,33926,33930,33933,33935,33936,33937,33938,33939,33940,33941,33942,33944,33946,33947,33949,33950,33951,33952,33954,33955,33956,33957,33958,33959,33960,33961,33962,33963,33964,33965,33966,33968,33969,33971,33973,33974,33975,33979,33980,33982,33984,33986,33987,33989,33990,33991,33992,33995,33996,33998,33999,34002,34004,34005,34007,34008,34009,34010,34011,34012,34014,34017,34018,34020,34023,34024,34025,34026,34027,34029,34030,34031,34033,34034,34035,34036,34037,34038,34039,34040,34041,34042,34043,34045,34046,34048,34049,34050,20254,25955,26705,21971,20007,25620,39578,25195,23234,29791,33394,28073,26862,20711,33678,30722,26432,21049,27801,32433,20667,21861,29022,31579,26194,29642,33515,26441,23665,21024,29053,34923,38378,38485,25797,36193,33203,21892,27733,25159,32558,22674,20260,21830,36175,26188,19978,23578,35059,26786,25422,31245,28903,33421,21242,38902,23569,21736,37045,32461,22882,36170,34503,33292,33293,36198,25668,23556,24913,28041,31038,35774,30775,30003,21627,20280,36523,28145,23072,32453,31070,27784,23457,23158,29978,32958,24910,28183,22768,29983,29989,29298,21319,32499,34051,34052,34053,34054,34055,34056,34057,34058,34059,34061,34062,34063,34064,34066,34068,34069,34070,34072,34073,34075,34076,34077,34078,34080,34082,34083,34084,34085,34086,34087,34088,34089,34090,34093,34094,34095,34096,34097,34098,34099,34100,34101,34102,34110,34111,34112,34113,34114,34116,34117,34118,34119,34123,34124,34125,34126,34127,34128,34129,34130,34131,34132,34133,34135,34136,34138,34139,34140,34141,34143,34144,34145,34146,34147,34149,34150,34151,34153,34154,34155,34156,34157,34158,34159,34160,34161,34163,34165,34166,34167,34168,34172,34173,34175,34176,34177,30465,30427,21097,32988,22307,24072,22833,29422,26045,28287,35799,23608,34417,21313,30707,25342,26102,20160,39135,34432,23454,35782,21490,30690,20351,23630,39542,22987,24335,31034,22763,19990,26623,20107,25325,35475,36893,21183,26159,21980,22124,36866,20181,20365,37322,39280,27663,24066,24643,23460,35270,35797,25910,25163,39318,23432,23551,25480,21806,21463,30246,20861,34092,26530,26803,27530,25234,36755,21460,33298,28113,30095,20070,36174,23408,29087,34223,26257,26329,32626,34560,40653,40736,23646,26415,36848,26641,26463,25101,31446,22661,24246,25968,28465,34178,34179,34182,34184,34185,34186,34187,34188,34189,34190,34192,34193,34194,34195,34196,34197,34198,34199,34200,34201,34202,34205,34206,34207,34208,34209,34210,34211,34213,34214,34215,34217,34219,34220,34221,34225,34226,34227,34228,34229,34230,34232,34234,34235,34236,34237,34238,34239,34240,34242,34243,34244,34245,34246,34247,34248,34250,34251,34252,34253,34254,34257,34258,34260,34262,34263,34264,34265,34266,34267,34269,34270,34271,34272,34273,34274,34275,34277,34278,34279,34280,34282,34283,34284,34285,34286,34287,34288,34289,34290,34291,34292,34293,34294,34295,34296,24661,21047,32781,25684,34928,29993,24069,26643,25332,38684,21452,29245,35841,27700,30561,31246,21550,30636,39034,33308,35828,30805,26388,28865,26031,25749,22070,24605,31169,21496,19997,27515,32902,23546,21987,22235,20282,20284,39282,24051,26494,32824,24578,39042,36865,23435,35772,35829,25628,33368,25822,22013,33487,37221,20439,32032,36895,31903,20723,22609,28335,23487,35785,32899,37240,33948,31639,34429,38539,38543,32485,39635,30862,23681,31319,36930,38567,31071,23385,25439,31499,34001,26797,21766,32553,29712,32034,38145,25152,22604,20182,23427,22905,22612,34297,34298,34300,34301,34302,34304,34305,34306,34307,34308,34310,34311,34312,34313,34314,34315,34316,34317,34318,34319,34320,34322,34323,34324,34325,34327,34328,34329,34330,34331,34332,34333,34334,34335,34336,34337,34338,34339,34340,34341,34342,34344,34346,34347,34348,34349,34350,34351,34352,34353,34354,34355,34356,34357,34358,34359,34361,34362,34363,34365,34366,34367,34368,34369,34370,34371,34372,34373,34374,34375,34376,34377,34378,34379,34380,34386,34387,34389,34390,34391,34392,34393,34395,34396,34397,34399,34400,34401,34403,34404,34405,34406,34407,34408,34409,34410,29549,25374,36427,36367,32974,33492,25260,21488,27888,37214,22826,24577,27760,22349,25674,36138,30251,28393,22363,27264,30192,28525,35885,35848,22374,27631,34962,30899,25506,21497,28845,27748,22616,25642,22530,26848,33179,21776,31958,20504,36538,28108,36255,28907,25487,28059,28372,32486,33796,26691,36867,28120,38518,35752,22871,29305,34276,33150,30140,35466,26799,21076,36386,38161,25552,39064,36420,21884,20307,26367,22159,24789,28053,21059,23625,22825,28155,22635,30000,29980,24684,33300,33094,25361,26465,36834,30522,36339,36148,38081,24086,21381,21548,28867,34413,34415,34416,34418,34419,34420,34421,34422,34423,34424,34435,34436,34437,34438,34439,34440,34441,34446,34447,34448,34449,34450,34452,34454,34455,34456,34457,34458,34459,34462,34463,34464,34465,34466,34469,34470,34475,34477,34478,34482,34483,34487,34488,34489,34491,34492,34493,34494,34495,34497,34498,34499,34501,34504,34508,34509,34514,34515,34517,34518,34519,34522,34524,34525,34528,34529,34530,34531,34533,34534,34535,34536,34538,34539,34540,34543,34549,34550,34551,34554,34555,34556,34557,34559,34561,34564,34565,34566,34571,34572,34574,34575,34576,34577,34580,34582,27712,24311,20572,20141,24237,25402,33351,36890,26704,37230,30643,21516,38108,24420,31461,26742,25413,31570,32479,30171,20599,25237,22836,36879,20984,31171,31361,22270,24466,36884,28034,23648,22303,21520,20820,28237,22242,25512,39059,33151,34581,35114,36864,21534,23663,33216,25302,25176,33073,40501,38464,39534,39548,26925,22949,25299,21822,25366,21703,34521,27964,23043,29926,34972,27498,22806,35916,24367,28286,29609,39037,20024,28919,23436,30871,25405,26202,30358,24779,23451,23113,19975,33109,27754,29579,20129,26505,32593,24448,26106,26395,24536,22916,23041,34585,34587,34589,34591,34592,34596,34598,34599,34600,34602,34603,34604,34605,34607,34608,34610,34611,34613,34614,34616,34617,34618,34620,34621,34624,34625,34626,34627,34628,34629,34630,34634,34635,34637,34639,34640,34641,34642,34644,34645,34646,34648,34650,34651,34652,34653,34654,34655,34657,34658,34662,34663,34664,34665,34666,34667,34668,34669,34671,34673,34674,34675,34677,34679,34680,34681,34682,34687,34688,34689,34692,34694,34695,34697,34698,34700,34702,34703,34704,34705,34706,34708,34709,34710,34712,34713,34714,34715,34716,34717,34718,34720,34721,34722,34723,34724,24013,24494,21361,38886,36829,26693,22260,21807,24799,20026,28493,32500,33479,33806,22996,20255,20266,23614,32428,26410,34074,21619,30031,32963,21890,39759,20301,28205,35859,23561,24944,21355,30239,28201,34442,25991,38395,32441,21563,31283,32010,38382,21985,32705,29934,25373,34583,28065,31389,25105,26017,21351,25569,27779,24043,21596,38056,20044,27745,35820,23627,26080,33436,26791,21566,21556,27595,27494,20116,25410,21320,33310,20237,20398,22366,25098,38654,26212,29289,21247,21153,24735,35823,26132,29081,26512,35199,30802,30717,26224,22075,21560,38177,29306,34725,34726,34727,34729,34730,34734,34736,34737,34738,34740,34742,34743,34744,34745,34747,34748,34750,34751,34753,34754,34755,34756,34757,34759,34760,34761,34764,34765,34766,34767,34768,34772,34773,34774,34775,34776,34777,34778,34780,34781,34782,34783,34785,34786,34787,34788,34790,34791,34792,34793,34795,34796,34797,34799,34800,34801,34802,34803,34804,34805,34806,34807,34808,34810,34811,34812,34813,34815,34816,34817,34818,34820,34821,34822,34823,34824,34825,34827,34828,34829,34830,34831,34832,34833,34834,34836,34839,34840,34841,34842,34844,34845,34846,34847,34848,34851,31232,24687,24076,24713,33181,22805,24796,29060,28911,28330,27728,29312,27268,34989,24109,20064,23219,21916,38115,27927,31995,38553,25103,32454,30606,34430,21283,38686,36758,26247,23777,20384,29421,19979,21414,22799,21523,25472,38184,20808,20185,40092,32420,21688,36132,34900,33335,38386,28046,24358,23244,26174,38505,29616,29486,21439,33146,39301,32673,23466,38519,38480,32447,30456,21410,38262,39321,31665,35140,28248,20065,32724,31077,35814,24819,21709,20139,39033,24055,27233,20687,21521,35937,33831,30813,38660,21066,21742,22179,38144,28040,23477,28102,26195,34852,34853,34854,34855,34856,34857,34858,34859,34860,34861,34862,34863,34864,34865,34867,34868,34869,34870,34871,34872,34874,34875,34877,34878,34879,34881,34882,34883,34886,34887,34888,34889,34890,34891,34894,34895,34896,34897,34898,34899,34901,34902,34904,34906,34907,34908,34909,34910,34911,34912,34918,34919,34922,34925,34927,34929,34931,34932,34933,34934,34936,34937,34938,34939,34940,34944,34947,34950,34951,34953,34954,34956,34958,34959,34960,34961,34963,34964,34965,34967,34968,34969,34970,34971,34973,34974,34975,34976,34977,34979,34981,34982,34983,34984,34985,34986,23567,23389,26657,32918,21880,31505,25928,26964,20123,27463,34638,38795,21327,25375,25658,37034,26012,32961,35856,20889,26800,21368,34809,25032,27844,27899,35874,23633,34218,33455,38156,27427,36763,26032,24571,24515,20449,34885,26143,33125,29481,24826,20852,21009,22411,24418,37026,34892,37266,24184,26447,24615,22995,20804,20982,33016,21256,27769,38596,29066,20241,20462,32670,26429,21957,38152,31168,34966,32483,22687,25100,38656,34394,22040,39035,24464,35768,33988,37207,21465,26093,24207,30044,24676,32110,23167,32490,32493,36713,21927,23459,24748,26059,29572,34988,34990,34991,34992,34994,34995,34996,34997,34998,35000,35001,35002,35003,35005,35006,35007,35008,35011,35012,35015,35016,35018,35019,35020,35021,35023,35024,35025,35027,35030,35031,35034,35035,35036,35037,35038,35040,35041,35046,35047,35049,35050,35051,35052,35053,35054,35055,35058,35061,35062,35063,35066,35067,35069,35071,35072,35073,35075,35076,35077,35078,35079,35080,35081,35083,35084,35085,35086,35087,35089,35092,35093,35094,35095,35096,35100,35101,35102,35103,35104,35106,35107,35108,35110,35111,35112,35113,35116,35117,35118,35119,35121,35122,35123,35125,35127,36873,30307,30505,32474,38772,34203,23398,31348,38634,34880,21195,29071,24490,26092,35810,23547,39535,24033,27529,27739,35757,35759,36874,36805,21387,25276,40486,40493,21568,20011,33469,29273,34460,23830,34905,28079,38597,21713,20122,35766,28937,21693,38409,28895,28153,30416,20005,30740,34578,23721,24310,35328,39068,38414,28814,27839,22852,25513,30524,34893,28436,33395,22576,29141,21388,30746,38593,21761,24422,28976,23476,35866,39564,27523,22830,40495,31207,26472,25196,20335,30113,32650,27915,38451,27687,20208,30162,20859,26679,28478,36992,33136,22934,29814,35128,35129,35130,35131,35132,35133,35134,35135,35136,35138,35139,35141,35142,35143,35144,35145,35146,35147,35148,35149,35150,35151,35152,35153,35154,35155,35156,35157,35158,35159,35160,35161,35162,35163,35164,35165,35168,35169,35170,35171,35172,35173,35175,35176,35177,35178,35179,35180,35181,35182,35183,35184,35185,35186,35187,35188,35189,35190,35191,35192,35193,35194,35196,35197,35198,35200,35202,35204,35205,35207,35208,35209,35210,35211,35212,35213,35214,35215,35216,35217,35218,35219,35220,35221,35222,35223,35224,35225,35226,35227,35228,35229,35230,35231,35232,35233,25671,23591,36965,31377,35875,23002,21676,33280,33647,35201,32768,26928,22094,32822,29239,37326,20918,20063,39029,25494,19994,21494,26355,33099,22812,28082,19968,22777,21307,25558,38129,20381,20234,34915,39056,22839,36951,31227,20202,33008,30097,27778,23452,23016,24413,26885,34433,20506,24050,20057,30691,20197,33402,25233,26131,37009,23673,20159,24441,33222,36920,32900,30123,20134,35028,24847,27589,24518,20041,30410,28322,35811,35758,35850,35793,24322,32764,32716,32462,33589,33643,22240,27575,38899,38452,23035,21535,38134,28139,23493,39278,23609,24341,38544,35234,35235,35236,35237,35238,35239,35240,35241,35242,35243,35244,35245,35246,35247,35248,35249,35250,35251,35252,35253,35254,35255,35256,35257,35258,35259,35260,35261,35262,35263,35264,35267,35277,35283,35284,35285,35287,35288,35289,35291,35293,35295,35296,35297,35298,35300,35303,35304,35305,35306,35308,35309,35310,35312,35313,35314,35316,35317,35318,35319,35320,35321,35322,35323,35324,35325,35326,35327,35329,35330,35331,35332,35333,35334,35336,35337,35338,35339,35340,35341,35342,35343,35344,35345,35346,35347,35348,35349,35350,35351,35352,35353,35354,35355,35356,35357,21360,33521,27185,23156,40560,24212,32552,33721,33828,33829,33639,34631,36814,36194,30408,24433,39062,30828,26144,21727,25317,20323,33219,30152,24248,38605,36362,34553,21647,27891,28044,27704,24703,21191,29992,24189,20248,24736,24551,23588,30001,37038,38080,29369,27833,28216,37193,26377,21451,21491,20305,37321,35825,21448,24188,36802,28132,20110,30402,27014,34398,24858,33286,20313,20446,36926,40060,24841,28189,28180,38533,20104,23089,38632,19982,23679,31161,23431,35821,32701,29577,22495,33419,37057,21505,36935,21947,23786,24481,24840,27442,29425,32946,35465,35358,35359,35360,35361,35362,35363,35364,35365,35366,35367,35368,35369,35370,35371,35372,35373,35374,35375,35376,35377,35378,35379,35380,35381,35382,35383,35384,35385,35386,35387,35388,35389,35391,35392,35393,35394,35395,35396,35397,35398,35399,35401,35402,35403,35404,35405,35406,35407,35408,35409,35410,35411,35412,35413,35414,35415,35416,35417,35418,35419,35420,35421,35422,35423,35424,35425,35426,35427,35428,35429,35430,35431,35432,35433,35434,35435,35436,35437,35438,35439,35440,35441,35442,35443,35444,35445,35446,35447,35448,35450,35451,35452,35453,35454,35455,35456,28020,23507,35029,39044,35947,39533,40499,28170,20900,20803,22435,34945,21407,25588,36757,22253,21592,22278,29503,28304,32536,36828,33489,24895,24616,38498,26352,32422,36234,36291,38053,23731,31908,26376,24742,38405,32792,20113,37095,21248,38504,20801,36816,34164,37213,26197,38901,23381,21277,30776,26434,26685,21705,28798,23472,36733,20877,22312,21681,25874,26242,36190,36163,33039,33900,36973,31967,20991,34299,26531,26089,28577,34468,36481,22122,36896,30338,28790,29157,36131,25321,21017,27901,36156,24590,22686,24974,26366,36192,25166,21939,28195,26413,36711,35457,35458,35459,35460,35461,35462,35463,35464,35467,35468,35469,35470,35471,35472,35473,35474,35476,35477,35478,35479,35480,35481,35482,35483,35484,35485,35486,35487,35488,35489,35490,35491,35492,35493,35494,35495,35496,35497,35498,35499,35500,35501,35502,35503,35504,35505,35506,35507,35508,35509,35510,35511,35512,35513,35514,35515,35516,35517,35518,35519,35520,35521,35522,35523,35524,35525,35526,35527,35528,35529,35530,35531,35532,35533,35534,35535,35536,35537,35538,35539,35540,35541,35542,35543,35544,35545,35546,35547,35548,35549,35550,35551,35552,35553,35554,35555,38113,38392,30504,26629,27048,21643,20045,28856,35784,25688,25995,23429,31364,20538,23528,30651,27617,35449,31896,27838,30415,26025,36759,23853,23637,34360,26632,21344,25112,31449,28251,32509,27167,31456,24432,28467,24352,25484,28072,26454,19976,24080,36134,20183,32960,30260,38556,25307,26157,25214,27836,36213,29031,32617,20806,32903,21484,36974,25240,21746,34544,36761,32773,38167,34071,36825,27993,29645,26015,30495,29956,30759,33275,36126,38024,20390,26517,30137,35786,38663,25391,38215,38453,33976,25379,30529,24449,29424,20105,24596,25972,25327,27491,25919,35556,35557,35558,35559,35560,35561,35562,35563,35564,35565,35566,35567,35568,35569,35570,35571,35572,35573,35574,35575,35576,35577,35578,35579,35580,35581,35582,35583,35584,35585,35586,35587,35588,35589,35590,35592,35593,35594,35595,35596,35597,35598,35599,35600,35601,35602,35603,35604,35605,35606,35607,35608,35609,35610,35611,35612,35613,35614,35615,35616,35617,35618,35619,35620,35621,35623,35624,35625,35626,35627,35628,35629,35630,35631,35632,35633,35634,35635,35636,35637,35638,35639,35640,35641,35642,35643,35644,35645,35646,35647,35648,35649,35650,35651,35652,35653,24103,30151,37073,35777,33437,26525,25903,21553,34584,30693,32930,33026,27713,20043,32455,32844,30452,26893,27542,25191,20540,20356,22336,25351,27490,36286,21482,26088,32440,24535,25370,25527,33267,33268,32622,24092,23769,21046,26234,31209,31258,36136,28825,30164,28382,27835,31378,20013,30405,24544,38047,34935,32456,31181,32959,37325,20210,20247,33311,21608,24030,27954,35788,31909,36724,32920,24090,21650,30385,23449,26172,39588,29664,26666,34523,26417,29482,35832,35803,36880,31481,28891,29038,25284,30633,22065,20027,33879,26609,21161,34496,36142,38136,31569,35654,35655,35656,35657,35658,35659,35660,35661,35662,35663,35664,35665,35666,35667,35668,35669,35670,35671,35672,35673,35674,35675,35676,35677,35678,35679,35680,35681,35682,35683,35684,35685,35687,35688,35689,35690,35691,35693,35694,35695,35696,35697,35698,35699,35700,35701,35702,35703,35704,35705,35706,35707,35708,35709,35710,35711,35712,35713,35714,35715,35716,35717,35718,35719,35720,35721,35722,35723,35724,35725,35726,35727,35728,35729,35730,35731,35732,35733,35734,35735,35736,35737,35738,35739,35740,35741,35742,35743,35756,35761,35771,35783,35792,35818,35849,35870,20303,27880,31069,39547,25235,29226,25341,19987,30742,36716,25776,36186,31686,26729,24196,35013,22918,25758,22766,29366,26894,38181,36861,36184,22368,32512,35846,20934,25417,25305,21331,26700,29730,33537,37196,21828,30528,28796,27978,20857,21672,36164,23039,28363,28100,23388,32043,20180,31869,28371,23376,33258,28173,23383,39683,26837,36394,23447,32508,24635,32437,37049,36208,22863,25549,31199,36275,21330,26063,31062,35781,38459,32452,38075,32386,22068,37257,26368,32618,23562,36981,26152,24038,20304,26590,20570,20316,22352,24231,59408,59409,59410,59411,59412,35896,35897,35898,35899,35900,35901,35902,35903,35904,35906,35907,35908,35909,35912,35914,35915,35917,35918,35919,35920,35921,35922,35923,35924,35926,35927,35928,35929,35931,35932,35933,35934,35935,35936,35939,35940,35941,35942,35943,35944,35945,35948,35949,35950,35951,35952,35953,35954,35956,35957,35958,35959,35963,35964,35965,35966,35967,35968,35969,35971,35972,35974,35975,35976,35979,35981,35982,35983,35984,35985,35986,35987,35989,35990,35991,35993,35994,35995,35996,35997,35998,35999,36000,36001,36002,36003,36004,36005,36006,36007,36008,36009,36010,36011,36012,36013,20109,19980,20800,19984,24319,21317,19989,20120,19998,39730,23404,22121,20008,31162,20031,21269,20039,22829,29243,21358,27664,22239,32996,39319,27603,30590,40727,20022,20127,40720,20060,20073,20115,33416,23387,21868,22031,20164,21389,21405,21411,21413,21422,38757,36189,21274,21493,21286,21294,21310,36188,21350,21347,20994,21000,21006,21037,21043,21055,21056,21068,21086,21089,21084,33967,21117,21122,21121,21136,21139,20866,32596,20155,20163,20169,20162,20200,20193,20203,20190,20251,20211,20258,20324,20213,20261,20263,20233,20267,20318,20327,25912,20314,20317,36014,36015,36016,36017,36018,36019,36020,36021,36022,36023,36024,36025,36026,36027,36028,36029,36030,36031,36032,36033,36034,36035,36036,36037,36038,36039,36040,36041,36042,36043,36044,36045,36046,36047,36048,36049,36050,36051,36052,36053,36054,36055,36056,36057,36058,36059,36060,36061,36062,36063,36064,36065,36066,36067,36068,36069,36070,36071,36072,36073,36074,36075,36076,36077,36078,36079,36080,36081,36082,36083,36084,36085,36086,36087,36088,36089,36090,36091,36092,36093,36094,36095,36096,36097,36098,36099,36100,36101,36102,36103,36104,36105,36106,36107,36108,36109,20319,20311,20274,20285,20342,20340,20369,20361,20355,20367,20350,20347,20394,20348,20396,20372,20454,20456,20458,20421,20442,20451,20444,20433,20447,20472,20521,20556,20467,20524,20495,20526,20525,20478,20508,20492,20517,20520,20606,20547,20565,20552,20558,20588,20603,20645,20647,20649,20666,20694,20742,20717,20716,20710,20718,20743,20747,20189,27709,20312,20325,20430,40864,27718,31860,20846,24061,40649,39320,20865,22804,21241,21261,35335,21264,20971,22809,20821,20128,20822,20147,34926,34980,20149,33044,35026,31104,23348,34819,32696,20907,20913,20925,20924,36110,36111,36112,36113,36114,36115,36116,36117,36118,36119,36120,36121,36122,36123,36124,36128,36177,36178,36183,36191,36197,36200,36201,36202,36204,36206,36207,36209,36210,36216,36217,36218,36219,36220,36221,36222,36223,36224,36226,36227,36230,36231,36232,36233,36236,36237,36238,36239,36240,36242,36243,36245,36246,36247,36248,36249,36250,36251,36252,36253,36254,36256,36257,36258,36260,36261,36262,36263,36264,36265,36266,36267,36268,36269,36270,36271,36272,36274,36278,36279,36281,36283,36285,36288,36289,36290,36293,36295,36296,36297,36298,36301,36304,36306,36307,36308,20935,20886,20898,20901,35744,35750,35751,35754,35764,35765,35767,35778,35779,35787,35791,35790,35794,35795,35796,35798,35800,35801,35804,35807,35808,35812,35816,35817,35822,35824,35827,35830,35833,35836,35839,35840,35842,35844,35847,35852,35855,35857,35858,35860,35861,35862,35865,35867,35864,35869,35871,35872,35873,35877,35879,35882,35883,35886,35887,35890,35891,35893,35894,21353,21370,38429,38434,38433,38449,38442,38461,38460,38466,38473,38484,38495,38503,38508,38514,38516,38536,38541,38551,38576,37015,37019,37021,37017,37036,37025,37044,37043,37046,37050,36309,36312,36313,36316,36320,36321,36322,36325,36326,36327,36329,36333,36334,36336,36337,36338,36340,36342,36348,36350,36351,36352,36353,36354,36355,36356,36358,36359,36360,36363,36365,36366,36368,36369,36370,36371,36373,36374,36375,36376,36377,36378,36379,36380,36384,36385,36388,36389,36390,36391,36392,36395,36397,36400,36402,36403,36404,36406,36407,36408,36411,36412,36414,36415,36419,36421,36422,36428,36429,36430,36431,36432,36435,36436,36437,36438,36439,36440,36442,36443,36444,36445,36446,36447,36448,36449,36450,36451,36452,36453,36455,36456,36458,36459,36462,36465,37048,37040,37071,37061,37054,37072,37060,37063,37075,37094,37090,37084,37079,37083,37099,37103,37118,37124,37154,37150,37155,37169,37167,37177,37187,37190,21005,22850,21154,21164,21165,21182,21759,21200,21206,21232,21471,29166,30669,24308,20981,20988,39727,21430,24321,30042,24047,22348,22441,22433,22654,22716,22725,22737,22313,22316,22314,22323,22329,22318,22319,22364,22331,22338,22377,22405,22379,22406,22396,22395,22376,22381,22390,22387,22445,22436,22412,22450,22479,22439,22452,22419,22432,22485,22488,22490,22489,22482,22456,22516,22511,22520,22500,22493,36467,36469,36471,36472,36473,36474,36475,36477,36478,36480,36482,36483,36484,36486,36488,36489,36490,36491,36492,36493,36494,36497,36498,36499,36501,36502,36503,36504,36505,36506,36507,36509,36511,36512,36513,36514,36515,36516,36517,36518,36519,36520,36521,36522,36525,36526,36528,36529,36531,36532,36533,36534,36535,36536,36537,36539,36540,36541,36542,36543,36544,36545,36546,36547,36548,36549,36550,36551,36552,36553,36554,36555,36556,36557,36559,36560,36561,36562,36563,36564,36565,36566,36567,36568,36569,36570,36571,36572,36573,36574,36575,36576,36577,36578,36579,36580,22539,22541,22525,22509,22528,22558,22553,22596,22560,22629,22636,22657,22665,22682,22656,39336,40729,25087,33401,33405,33407,33423,33418,33448,33412,33422,33425,33431,33433,33451,33464,33470,33456,33480,33482,33507,33432,33463,33454,33483,33484,33473,33449,33460,33441,33450,33439,33476,33486,33444,33505,33545,33527,33508,33551,33543,33500,33524,33490,33496,33548,33531,33491,33553,33562,33542,33556,33557,33504,33493,33564,33617,33627,33628,33544,33682,33596,33588,33585,33691,33630,33583,33615,33607,33603,33631,33600,33559,33632,33581,33594,33587,33638,33637,36581,36582,36583,36584,36585,36586,36587,36588,36589,36590,36591,36592,36593,36594,36595,36596,36597,36598,36599,36600,36601,36602,36603,36604,36605,36606,36607,36608,36609,36610,36611,36612,36613,36614,36615,36616,36617,36618,36619,36620,36621,36622,36623,36624,36625,36626,36627,36628,36629,36630,36631,36632,36633,36634,36635,36636,36637,36638,36639,36640,36641,36642,36643,36644,36645,36646,36647,36648,36649,36650,36651,36652,36653,36654,36655,36656,36657,36658,36659,36660,36661,36662,36663,36664,36665,36666,36667,36668,36669,36670,36671,36672,36673,36674,36675,36676,33640,33563,33641,33644,33642,33645,33646,33712,33656,33715,33716,33696,33706,33683,33692,33669,33660,33718,33705,33661,33720,33659,33688,33694,33704,33722,33724,33729,33793,33765,33752,22535,33816,33803,33757,33789,33750,33820,33848,33809,33798,33748,33759,33807,33795,33784,33785,33770,33733,33728,33830,33776,33761,33884,33873,33882,33881,33907,33927,33928,33914,33929,33912,33852,33862,33897,33910,33932,33934,33841,33901,33985,33997,34000,34022,33981,34003,33994,33983,33978,34016,33953,33977,33972,33943,34021,34019,34060,29965,34104,34032,34105,34079,34106,36677,36678,36679,36680,36681,36682,36683,36684,36685,36686,36687,36688,36689,36690,36691,36692,36693,36694,36695,36696,36697,36698,36699,36700,36701,36702,36703,36704,36705,36706,36707,36708,36709,36714,36736,36748,36754,36765,36768,36769,36770,36772,36773,36774,36775,36778,36780,36781,36782,36783,36786,36787,36788,36789,36791,36792,36794,36795,36796,36799,36800,36803,36806,36809,36810,36811,36812,36813,36815,36818,36822,36823,36826,36832,36833,36835,36839,36844,36847,36849,36850,36852,36853,36854,36858,36859,36860,36862,36863,36871,36872,36876,36878,36883,36885,36888,34134,34107,34047,34044,34137,34120,34152,34148,34142,34170,30626,34115,34162,34171,34212,34216,34183,34191,34169,34222,34204,34181,34233,34231,34224,34259,34241,34268,34303,34343,34309,34345,34326,34364,24318,24328,22844,22849,32823,22869,22874,22872,21263,23586,23589,23596,23604,25164,25194,25247,25275,25290,25306,25303,25326,25378,25334,25401,25419,25411,25517,25590,25457,25466,25486,25524,25453,25516,25482,25449,25518,25532,25586,25592,25568,25599,25540,25566,25550,25682,25542,25534,25669,25665,25611,25627,25632,25612,25638,25633,25694,25732,25709,25750,36889,36892,36899,36900,36901,36903,36904,36905,36906,36907,36908,36912,36913,36914,36915,36916,36919,36921,36922,36925,36927,36928,36931,36933,36934,36936,36937,36938,36939,36940,36942,36948,36949,36950,36953,36954,36956,36957,36958,36959,36960,36961,36964,36966,36967,36969,36970,36971,36972,36975,36976,36977,36978,36979,36982,36983,36984,36985,36986,36987,36988,36990,36993,36996,36997,36998,36999,37001,37002,37004,37005,37006,37007,37008,37010,37012,37014,37016,37018,37020,37022,37023,37024,37028,37029,37031,37032,37033,37035,37037,37042,37047,37052,37053,37055,37056,25722,25783,25784,25753,25786,25792,25808,25815,25828,25826,25865,25893,25902,24331,24530,29977,24337,21343,21489,21501,21481,21480,21499,21522,21526,21510,21579,21586,21587,21588,21590,21571,21537,21591,21593,21539,21554,21634,21652,21623,21617,21604,21658,21659,21636,21622,21606,21661,21712,21677,21698,21684,21714,21671,21670,21715,21716,21618,21667,21717,21691,21695,21708,21721,21722,21724,21673,21674,21668,21725,21711,21726,21787,21735,21792,21757,21780,21747,21794,21795,21775,21777,21799,21802,21863,21903,21941,21833,21869,21825,21845,21823,21840,21820,37058,37059,37062,37064,37065,37067,37068,37069,37074,37076,37077,37078,37080,37081,37082,37086,37087,37088,37091,37092,37093,37097,37098,37100,37102,37104,37105,37106,37107,37109,37110,37111,37113,37114,37115,37116,37119,37120,37121,37123,37125,37126,37127,37128,37129,37130,37131,37132,37133,37134,37135,37136,37137,37138,37139,37140,37141,37142,37143,37144,37146,37147,37148,37149,37151,37152,37153,37156,37157,37158,37159,37160,37161,37162,37163,37164,37165,37166,37168,37170,37171,37172,37173,37174,37175,37176,37178,37179,37180,37181,37182,37183,37184,37185,37186,37188,21815,21846,21877,21878,21879,21811,21808,21852,21899,21970,21891,21937,21945,21896,21889,21919,21886,21974,21905,21883,21983,21949,21950,21908,21913,21994,22007,21961,22047,21969,21995,21996,21972,21990,21981,21956,21999,21989,22002,22003,21964,21965,21992,22005,21988,36756,22046,22024,22028,22017,22052,22051,22014,22016,22055,22061,22104,22073,22103,22060,22093,22114,22105,22108,22092,22100,22150,22116,22129,22123,22139,22140,22149,22163,22191,22228,22231,22237,22241,22261,22251,22265,22271,22276,22282,22281,22300,24079,24089,24084,24081,24113,24123,24124,37189,37191,37192,37201,37203,37204,37205,37206,37208,37209,37211,37212,37215,37216,37222,37223,37224,37227,37229,37235,37242,37243,37244,37248,37249,37250,37251,37252,37254,37256,37258,37262,37263,37267,37268,37269,37270,37271,37272,37273,37276,37277,37278,37279,37280,37281,37284,37285,37286,37287,37288,37289,37291,37292,37296,37297,37298,37299,37302,37303,37304,37305,37307,37308,37309,37310,37311,37312,37313,37314,37315,37316,37317,37318,37320,37323,37328,37330,37331,37332,37333,37334,37335,37336,37337,37338,37339,37341,37342,37343,37344,37345,37346,37347,37348,37349,24119,24132,24148,24155,24158,24161,23692,23674,23693,23696,23702,23688,23704,23705,23697,23706,23708,23733,23714,23741,23724,23723,23729,23715,23745,23735,23748,23762,23780,23755,23781,23810,23811,23847,23846,23854,23844,23838,23814,23835,23896,23870,23860,23869,23916,23899,23919,23901,23915,23883,23882,23913,23924,23938,23961,23965,35955,23991,24005,24435,24439,24450,24455,24457,24460,24469,24473,24476,24488,24493,24501,24508,34914,24417,29357,29360,29364,29367,29368,29379,29377,29390,29389,29394,29416,29423,29417,29426,29428,29431,29441,29427,29443,29434,37350,37351,37352,37353,37354,37355,37356,37357,37358,37359,37360,37361,37362,37363,37364,37365,37366,37367,37368,37369,37370,37371,37372,37373,37374,37375,37376,37377,37378,37379,37380,37381,37382,37383,37384,37385,37386,37387,37388,37389,37390,37391,37392,37393,37394,37395,37396,37397,37398,37399,37400,37401,37402,37403,37404,37405,37406,37407,37408,37409,37410,37411,37412,37413,37414,37415,37416,37417,37418,37419,37420,37421,37422,37423,37424,37425,37426,37427,37428,37429,37430,37431,37432,37433,37434,37435,37436,37437,37438,37439,37440,37441,37442,37443,37444,37445,29435,29463,29459,29473,29450,29470,29469,29461,29474,29497,29477,29484,29496,29489,29520,29517,29527,29536,29548,29551,29566,33307,22821,39143,22820,22786,39267,39271,39272,39273,39274,39275,39276,39284,39287,39293,39296,39300,39303,39306,39309,39312,39313,39315,39316,39317,24192,24209,24203,24214,24229,24224,24249,24245,24254,24243,36179,24274,24273,24283,24296,24298,33210,24516,24521,24534,24527,24579,24558,24580,24545,24548,24574,24581,24582,24554,24557,24568,24601,24629,24614,24603,24591,24589,24617,24619,24586,24639,24609,24696,24697,24699,24698,24642,37446,37447,37448,37449,37450,37451,37452,37453,37454,37455,37456,37457,37458,37459,37460,37461,37462,37463,37464,37465,37466,37467,37468,37469,37470,37471,37472,37473,37474,37475,37476,37477,37478,37479,37480,37481,37482,37483,37484,37485,37486,37487,37488,37489,37490,37491,37493,37494,37495,37496,37497,37498,37499,37500,37501,37502,37503,37504,37505,37506,37507,37508,37509,37510,37511,37512,37513,37514,37515,37516,37517,37519,37520,37521,37522,37523,37524,37525,37526,37527,37528,37529,37530,37531,37532,37533,37534,37535,37536,37537,37538,37539,37540,37541,37542,37543,24682,24701,24726,24730,24749,24733,24707,24722,24716,24731,24812,24763,24753,24797,24792,24774,24794,24756,24864,24870,24853,24867,24820,24832,24846,24875,24906,24949,25004,24980,24999,25015,25044,25077,24541,38579,38377,38379,38385,38387,38389,38390,38396,38398,38403,38404,38406,38408,38410,38411,38412,38413,38415,38418,38421,38422,38423,38425,38426,20012,29247,25109,27701,27732,27740,27722,27811,27781,27792,27796,27788,27752,27753,27764,27766,27782,27817,27856,27860,27821,27895,27896,27889,27863,27826,27872,27862,27898,27883,27886,27825,27859,27887,27902,37544,37545,37546,37547,37548,37549,37551,37552,37553,37554,37555,37556,37557,37558,37559,37560,37561,37562,37563,37564,37565,37566,37567,37568,37569,37570,37571,37572,37573,37574,37575,37577,37578,37579,37580,37581,37582,37583,37584,37585,37586,37587,37588,37589,37590,37591,37592,37593,37594,37595,37596,37597,37598,37599,37600,37601,37602,37603,37604,37605,37606,37607,37608,37609,37610,37611,37612,37613,37614,37615,37616,37617,37618,37619,37620,37621,37622,37623,37624,37625,37626,37627,37628,37629,37630,37631,37632,37633,37634,37635,37636,37637,37638,37639,37640,37641,27961,27943,27916,27971,27976,27911,27908,27929,27918,27947,27981,27950,27957,27930,27983,27986,27988,27955,28049,28015,28062,28064,27998,28051,28052,27996,28000,28028,28003,28186,28103,28101,28126,28174,28095,28128,28177,28134,28125,28121,28182,28075,28172,28078,28203,28270,28238,28267,28338,28255,28294,28243,28244,28210,28197,28228,28383,28337,28312,28384,28461,28386,28325,28327,28349,28347,28343,28375,28340,28367,28303,28354,28319,28514,28486,28487,28452,28437,28409,28463,28470,28491,28532,28458,28425,28457,28553,28557,28556,28536,28530,28540,28538,28625,37642,37643,37644,37645,37646,37647,37648,37649,37650,37651,37652,37653,37654,37655,37656,37657,37658,37659,37660,37661,37662,37663,37664,37665,37666,37667,37668,37669,37670,37671,37672,37673,37674,37675,37676,37677,37678,37679,37680,37681,37682,37683,37684,37685,37686,37687,37688,37689,37690,37691,37692,37693,37695,37696,37697,37698,37699,37700,37701,37702,37703,37704,37705,37706,37707,37708,37709,37710,37711,37712,37713,37714,37715,37716,37717,37718,37719,37720,37721,37722,37723,37724,37725,37726,37727,37728,37729,37730,37731,37732,37733,37734,37735,37736,37737,37739,28617,28583,28601,28598,28610,28641,28654,28638,28640,28655,28698,28707,28699,28729,28725,28751,28766,23424,23428,23445,23443,23461,23480,29999,39582,25652,23524,23534,35120,23536,36423,35591,36790,36819,36821,36837,36846,36836,36841,36838,36851,36840,36869,36868,36875,36902,36881,36877,36886,36897,36917,36918,36909,36911,36932,36945,36946,36944,36968,36952,36962,36955,26297,36980,36989,36994,37000,36995,37003,24400,24407,24406,24408,23611,21675,23632,23641,23409,23651,23654,32700,24362,24361,24365,33396,24380,39739,23662,22913,22915,22925,22953,22954,22947,37740,37741,37742,37743,37744,37745,37746,37747,37748,37749,37750,37751,37752,37753,37754,37755,37756,37757,37758,37759,37760,37761,37762,37763,37764,37765,37766,37767,37768,37769,37770,37771,37772,37773,37774,37776,37777,37778,37779,37780,37781,37782,37783,37784,37785,37786,37787,37788,37789,37790,37791,37792,37793,37794,37795,37796,37797,37798,37799,37800,37801,37802,37803,37804,37805,37806,37807,37808,37809,37810,37811,37812,37813,37814,37815,37816,37817,37818,37819,37820,37821,37822,37823,37824,37825,37826,37827,37828,37829,37830,37831,37832,37833,37835,37836,37837,22935,22986,22955,22942,22948,22994,22962,22959,22999,22974,23045,23046,23005,23048,23011,23000,23033,23052,23049,23090,23092,23057,23075,23059,23104,23143,23114,23125,23100,23138,23157,33004,23210,23195,23159,23162,23230,23275,23218,23250,23252,23224,23264,23267,23281,23254,23270,23256,23260,23305,23319,23318,23346,23351,23360,23573,23580,23386,23397,23411,23377,23379,23394,39541,39543,39544,39546,39551,39549,39552,39553,39557,39560,39562,39568,39570,39571,39574,39576,39579,39580,39581,39583,39584,39586,39587,39589,39591,32415,32417,32419,32421,32424,32425,37838,37839,37840,37841,37842,37843,37844,37845,37847,37848,37849,37850,37851,37852,37853,37854,37855,37856,37857,37858,37859,37860,37861,37862,37863,37864,37865,37866,37867,37868,37869,37870,37871,37872,37873,37874,37875,37876,37877,37878,37879,37880,37881,37882,37883,37884,37885,37886,37887,37888,37889,37890,37891,37892,37893,37894,37895,37896,37897,37898,37899,37900,37901,37902,37903,37904,37905,37906,37907,37908,37909,37910,37911,37912,37913,37914,37915,37916,37917,37918,37919,37920,37921,37922,37923,37924,37925,37926,37927,37928,37929,37930,37931,37932,37933,37934,32429,32432,32446,32448,32449,32450,32457,32459,32460,32464,32468,32471,32475,32480,32481,32488,32491,32494,32495,32497,32498,32525,32502,32506,32507,32510,32513,32514,32515,32519,32520,32523,32524,32527,32529,32530,32535,32537,32540,32539,32543,32545,32546,32547,32548,32549,32550,32551,32554,32555,32556,32557,32559,32560,32561,32562,32563,32565,24186,30079,24027,30014,37013,29582,29585,29614,29602,29599,29647,29634,29649,29623,29619,29632,29641,29640,29669,29657,39036,29706,29673,29671,29662,29626,29682,29711,29738,29787,29734,29733,29736,29744,29742,29740,37935,37936,37937,37938,37939,37940,37941,37942,37943,37944,37945,37946,37947,37948,37949,37951,37952,37953,37954,37955,37956,37957,37958,37959,37960,37961,37962,37963,37964,37965,37966,37967,37968,37969,37970,37971,37972,37973,37974,37975,37976,37977,37978,37979,37980,37981,37982,37983,37984,37985,37986,37987,37988,37989,37990,37991,37992,37993,37994,37996,37997,37998,37999,38000,38001,38002,38003,38004,38005,38006,38007,38008,38009,38010,38011,38012,38013,38014,38015,38016,38017,38018,38019,38020,38033,38038,38040,38087,38095,38099,38100,38106,38118,38139,38172,38176,29723,29722,29761,29788,29783,29781,29785,29815,29805,29822,29852,29838,29824,29825,29831,29835,29854,29864,29865,29840,29863,29906,29882,38890,38891,38892,26444,26451,26462,26440,26473,26533,26503,26474,26483,26520,26535,26485,26536,26526,26541,26507,26487,26492,26608,26633,26584,26634,26601,26544,26636,26585,26549,26586,26547,26589,26624,26563,26552,26594,26638,26561,26621,26674,26675,26720,26721,26702,26722,26692,26724,26755,26653,26709,26726,26689,26727,26688,26686,26698,26697,26665,26805,26767,26740,26743,26771,26731,26818,26990,26876,26911,26912,26873,38183,38195,38205,38211,38216,38219,38229,38234,38240,38254,38260,38261,38263,38264,38265,38266,38267,38268,38269,38270,38272,38273,38274,38275,38276,38277,38278,38279,38280,38281,38282,38283,38284,38285,38286,38287,38288,38289,38290,38291,38292,38293,38294,38295,38296,38297,38298,38299,38300,38301,38302,38303,38304,38305,38306,38307,38308,38309,38310,38311,38312,38313,38314,38315,38316,38317,38318,38319,38320,38321,38322,38323,38324,38325,38326,38327,38328,38329,38330,38331,38332,38333,38334,38335,38336,38337,38338,38339,38340,38341,38342,38343,38344,38345,38346,38347,26916,26864,26891,26881,26967,26851,26896,26993,26937,26976,26946,26973,27012,26987,27008,27032,27000,26932,27084,27015,27016,27086,27017,26982,26979,27001,27035,27047,27067,27051,27053,27092,27057,27073,27082,27103,27029,27104,27021,27135,27183,27117,27159,27160,27237,27122,27204,27198,27296,27216,27227,27189,27278,27257,27197,27176,27224,27260,27281,27280,27305,27287,27307,29495,29522,27521,27522,27527,27524,27538,27539,27533,27546,27547,27553,27562,36715,36717,36721,36722,36723,36725,36726,36728,36727,36729,36730,36732,36734,36737,36738,36740,36743,36747,38348,38349,38350,38351,38352,38353,38354,38355,38356,38357,38358,38359,38360,38361,38362,38363,38364,38365,38366,38367,38368,38369,38370,38371,38372,38373,38374,38375,38380,38399,38407,38419,38424,38427,38430,38432,38435,38436,38437,38438,38439,38440,38441,38443,38444,38445,38447,38448,38455,38456,38457,38458,38462,38465,38467,38474,38478,38479,38481,38482,38483,38486,38487,38488,38489,38490,38492,38493,38494,38496,38499,38501,38502,38507,38509,38510,38511,38512,38513,38515,38520,38521,38522,38523,38524,38525,38526,38527,38528,38529,38530,38531,38532,38535,38537,38538,36749,36750,36751,36760,36762,36558,25099,25111,25115,25119,25122,25121,25125,25124,25132,33255,29935,29940,29951,29967,29969,29971,25908,26094,26095,26096,26122,26137,26482,26115,26133,26112,28805,26359,26141,26164,26161,26166,26165,32774,26207,26196,26177,26191,26198,26209,26199,26231,26244,26252,26279,26269,26302,26331,26332,26342,26345,36146,36147,36150,36155,36157,36160,36165,36166,36168,36169,36167,36173,36181,36185,35271,35274,35275,35276,35278,35279,35280,35281,29294,29343,29277,29286,29295,29310,29311,29316,29323,29325,29327,29330,25352,25394,25520,38540,38542,38545,38546,38547,38549,38550,38554,38555,38557,38558,38559,38560,38561,38562,38563,38564,38565,38566,38568,38569,38570,38571,38572,38573,38574,38575,38577,38578,38580,38581,38583,38584,38586,38587,38591,38594,38595,38600,38602,38603,38608,38609,38611,38612,38614,38615,38616,38617,38618,38619,38620,38621,38622,38623,38625,38626,38627,38628,38629,38630,38631,38635,38636,38637,38638,38640,38641,38642,38644,38645,38648,38650,38651,38652,38653,38655,38658,38659,38661,38666,38667,38668,38672,38673,38674,38676,38677,38679,38680,38681,38682,38683,38685,38687,38688,25663,25816,32772,27626,27635,27645,27637,27641,27653,27655,27654,27661,27669,27672,27673,27674,27681,27689,27684,27690,27698,25909,25941,25963,29261,29266,29270,29232,34402,21014,32927,32924,32915,32956,26378,32957,32945,32939,32941,32948,32951,32999,33000,33001,33002,32987,32962,32964,32985,32973,32983,26384,32989,33003,33009,33012,33005,33037,33038,33010,33020,26389,33042,35930,33078,33054,33068,33048,33074,33096,33100,33107,33140,33113,33114,33137,33120,33129,33148,33149,33133,33127,22605,23221,33160,33154,33169,28373,33187,33194,33228,26406,33226,33211,38689,38690,38691,38692,38693,38694,38695,38696,38697,38699,38700,38702,38703,38705,38707,38708,38709,38710,38711,38714,38715,38716,38717,38719,38720,38721,38722,38723,38724,38725,38726,38727,38728,38729,38730,38731,38732,38733,38734,38735,38736,38737,38740,38741,38743,38744,38746,38748,38749,38751,38755,38756,38758,38759,38760,38762,38763,38764,38765,38766,38767,38768,38769,38770,38773,38775,38776,38777,38778,38779,38781,38782,38783,38784,38785,38786,38787,38788,38790,38791,38792,38793,38794,38796,38798,38799,38800,38803,38805,38806,38807,38809,38810,38811,38812,38813,33217,33190,27428,27447,27449,27459,27462,27481,39121,39122,39123,39125,39129,39130,27571,24384,27586,35315,26000,40785,26003,26044,26054,26052,26051,26060,26062,26066,26070,28800,28828,28822,28829,28859,28864,28855,28843,28849,28904,28874,28944,28947,28950,28975,28977,29043,29020,29032,28997,29042,29002,29048,29050,29080,29107,29109,29096,29088,29152,29140,29159,29177,29213,29224,28780,28952,29030,29113,25150,25149,25155,25160,25161,31035,31040,31046,31049,31067,31068,31059,31066,31074,31063,31072,31087,31079,31098,31109,31114,31130,31143,31155,24529,24528,38814,38815,38817,38818,38820,38821,38822,38823,38824,38825,38826,38828,38830,38832,38833,38835,38837,38838,38839,38840,38841,38842,38843,38844,38845,38846,38847,38848,38849,38850,38851,38852,38853,38854,38855,38856,38857,38858,38859,38860,38861,38862,38863,38864,38865,38866,38867,38868,38869,38870,38871,38872,38873,38874,38875,38876,38877,38878,38879,38880,38881,38882,38883,38884,38885,38888,38894,38895,38896,38897,38898,38900,38903,38904,38905,38906,38907,38908,38909,38910,38911,38912,38913,38914,38915,38916,38917,38918,38919,38920,38921,38922,38923,38924,38925,38926,24636,24669,24666,24679,24641,24665,24675,24747,24838,24845,24925,25001,24989,25035,25041,25094,32896,32895,27795,27894,28156,30710,30712,30720,30729,30743,30744,30737,26027,30765,30748,30749,30777,30778,30779,30751,30780,30757,30764,30755,30761,30798,30829,30806,30807,30758,30800,30791,30796,30826,30875,30867,30874,30855,30876,30881,30883,30898,30905,30885,30932,30937,30921,30956,30962,30981,30964,30995,31012,31006,31028,40859,40697,40699,40700,30449,30468,30477,30457,30471,30472,30490,30498,30489,30509,30502,30517,30520,30544,30545,30535,30531,30554,30568,38927,38928,38929,38930,38931,38932,38933,38934,38935,38936,38937,38938,38939,38940,38941,38942,38943,38944,38945,38946,38947,38948,38949,38950,38951,38952,38953,38954,38955,38956,38957,38958,38959,38960,38961,38962,38963,38964,38965,38966,38967,38968,38969,38970,38971,38972,38973,38974,38975,38976,38977,38978,38979,38980,38981,38982,38983,38984,38985,38986,38987,38988,38989,38990,38991,38992,38993,38994,38995,38996,38997,38998,38999,39000,39001,39002,39003,39004,39005,39006,39007,39008,39009,39010,39011,39012,39013,39014,39015,39016,39017,39018,39019,39020,39021,39022,30562,30565,30591,30605,30589,30592,30604,30609,30623,30624,30640,30645,30653,30010,30016,30030,30027,30024,30043,30066,30073,30083,32600,32609,32607,35400,32616,32628,32625,32633,32641,32638,30413,30437,34866,38021,38022,38023,38027,38026,38028,38029,38031,38032,38036,38039,38037,38042,38043,38044,38051,38052,38059,38058,38061,38060,38063,38064,38066,38068,38070,38071,38072,38073,38074,38076,38077,38079,38084,38088,38089,38090,38091,38092,38093,38094,38096,38097,38098,38101,38102,38103,38105,38104,38107,38110,38111,38112,38114,38116,38117,38119,38120,38122,39023,39024,39025,39026,39027,39028,39051,39054,39058,39061,39065,39075,39080,39081,39082,39083,39084,39085,39086,39087,39088,39089,39090,39091,39092,39093,39094,39095,39096,39097,39098,39099,39100,39101,39102,39103,39104,39105,39106,39107,39108,39109,39110,39111,39112,39113,39114,39115,39116,39117,39119,39120,39124,39126,39127,39131,39132,39133,39136,39137,39138,39139,39140,39141,39142,39145,39146,39147,39148,39149,39150,39151,39152,39153,39154,39155,39156,39157,39158,39159,39160,39161,39162,39163,39164,39165,39166,39167,39168,39169,39170,39171,39172,39173,39174,39175,38121,38123,38126,38127,38131,38132,38133,38135,38137,38140,38141,38143,38147,38146,38150,38151,38153,38154,38157,38158,38159,38162,38163,38164,38165,38166,38168,38171,38173,38174,38175,38178,38186,38187,38185,38188,38193,38194,38196,38198,38199,38200,38204,38206,38207,38210,38197,38212,38213,38214,38217,38220,38222,38223,38226,38227,38228,38230,38231,38232,38233,38235,38238,38239,38237,38241,38242,38244,38245,38246,38247,38248,38249,38250,38251,38252,38255,38257,38258,38259,38202,30695,30700,38601,31189,31213,31203,31211,31238,23879,31235,31234,31262,31252,39176,39177,39178,39179,39180,39182,39183,39185,39186,39187,39188,39189,39190,39191,39192,39193,39194,39195,39196,39197,39198,39199,39200,39201,39202,39203,39204,39205,39206,39207,39208,39209,39210,39211,39212,39213,39215,39216,39217,39218,39219,39220,39221,39222,39223,39224,39225,39226,39227,39228,39229,39230,39231,39232,39233,39234,39235,39236,39237,39238,39239,39240,39241,39242,39243,39244,39245,39246,39247,39248,39249,39250,39251,39254,39255,39256,39257,39258,39259,39260,39261,39262,39263,39264,39265,39266,39268,39270,39283,39288,39289,39291,39294,39298,39299,39305,31289,31287,31313,40655,39333,31344,30344,30350,30355,30361,30372,29918,29920,29996,40480,40482,40488,40489,40490,40491,40492,40498,40497,40502,40504,40503,40505,40506,40510,40513,40514,40516,40518,40519,40520,40521,40523,40524,40526,40529,40533,40535,40538,40539,40540,40542,40547,40550,40551,40552,40553,40554,40555,40556,40561,40557,40563,30098,30100,30102,30112,30109,30124,30115,30131,30132,30136,30148,30129,30128,30147,30146,30166,30157,30179,30184,30182,30180,30187,30183,30211,30193,30204,30207,30224,30208,30213,30220,30231,30218,30245,30232,30229,30233,39308,39310,39322,39323,39324,39325,39326,39327,39328,39329,39330,39331,39332,39334,39335,39337,39338,39339,39340,39341,39342,39343,39344,39345,39346,39347,39348,39349,39350,39351,39352,39353,39354,39355,39356,39357,39358,39359,39360,39361,39362,39363,39364,39365,39366,39367,39368,39369,39370,39371,39372,39373,39374,39375,39376,39377,39378,39379,39380,39381,39382,39383,39384,39385,39386,39387,39388,39389,39390,39391,39392,39393,39394,39395,39396,39397,39398,39399,39400,39401,39402,39403,39404,39405,39406,39407,39408,39409,39410,39411,39412,39413,39414,39415,39416,39417,30235,30268,30242,30240,30272,30253,30256,30271,30261,30275,30270,30259,30285,30302,30292,30300,30294,30315,30319,32714,31462,31352,31353,31360,31366,31368,31381,31398,31392,31404,31400,31405,31411,34916,34921,34930,34941,34943,34946,34978,35014,34999,35004,35017,35042,35022,35043,35045,35057,35098,35068,35048,35070,35056,35105,35097,35091,35099,35082,35124,35115,35126,35137,35174,35195,30091,32997,30386,30388,30684,32786,32788,32790,32796,32800,32802,32805,32806,32807,32809,32808,32817,32779,32821,32835,32838,32845,32850,32873,32881,35203,39032,39040,39043,39418,39419,39420,39421,39422,39423,39424,39425,39426,39427,39428,39429,39430,39431,39432,39433,39434,39435,39436,39437,39438,39439,39440,39441,39442,39443,39444,39445,39446,39447,39448,39449,39450,39451,39452,39453,39454,39455,39456,39457,39458,39459,39460,39461,39462,39463,39464,39465,39466,39467,39468,39469,39470,39471,39472,39473,39474,39475,39476,39477,39478,39479,39480,39481,39482,39483,39484,39485,39486,39487,39488,39489,39490,39491,39492,39493,39494,39495,39496,39497,39498,39499,39500,39501,39502,39503,39504,39505,39506,39507,39508,39509,39510,39511,39512,39513,39049,39052,39053,39055,39060,39066,39067,39070,39071,39073,39074,39077,39078,34381,34388,34412,34414,34431,34426,34428,34427,34472,34445,34443,34476,34461,34471,34467,34474,34451,34473,34486,34500,34485,34510,34480,34490,34481,34479,34505,34511,34484,34537,34545,34546,34541,34547,34512,34579,34526,34548,34527,34520,34513,34563,34567,34552,34568,34570,34573,34569,34595,34619,34590,34597,34606,34586,34622,34632,34612,34609,34601,34615,34623,34690,34594,34685,34686,34683,34656,34672,34636,34670,34699,34643,34659,34684,34660,34649,34661,34707,34735,34728,34770,39514,39515,39516,39517,39518,39519,39520,39521,39522,39523,39524,39525,39526,39527,39528,39529,39530,39531,39538,39555,39561,39565,39566,39572,39573,39577,39590,39593,39594,39595,39596,39597,39598,39599,39602,39603,39604,39605,39609,39611,39613,39614,39615,39619,39620,39622,39623,39624,39625,39626,39629,39630,39631,39632,39634,39636,39637,39638,39639,39641,39642,39643,39644,39645,39646,39648,39650,39651,39652,39653,39655,39656,39657,39658,39660,39662,39664,39665,39666,39667,39668,39669,39670,39671,39672,39674,39676,39677,39678,39679,39680,39681,39682,39684,39685,39686,34758,34696,34693,34733,34711,34691,34731,34789,34732,34741,34739,34763,34771,34749,34769,34752,34762,34779,34794,34784,34798,34838,34835,34814,34826,34843,34849,34873,34876,32566,32578,32580,32581,33296,31482,31485,31496,31491,31492,31509,31498,31531,31503,31559,31544,31530,31513,31534,31537,31520,31525,31524,31539,31550,31518,31576,31578,31557,31605,31564,31581,31584,31598,31611,31586,31602,31601,31632,31654,31655,31672,31660,31645,31656,31621,31658,31644,31650,31659,31668,31697,31681,31692,31709,31706,31717,31718,31722,31756,31742,31740,31759,31766,31755,39687,39689,39690,39691,39692,39693,39694,39696,39697,39698,39700,39701,39702,39703,39704,39705,39706,39707,39708,39709,39710,39712,39713,39714,39716,39717,39718,39719,39720,39721,39722,39723,39724,39725,39726,39728,39729,39731,39732,39733,39734,39735,39736,39737,39738,39741,39742,39743,39744,39750,39754,39755,39756,39758,39760,39762,39763,39765,39766,39767,39768,39769,39770,39771,39772,39773,39774,39775,39776,39777,39778,39779,39780,39781,39782,39783,39784,39785,39786,39787,39788,39789,39790,39791,39792,39793,39794,39795,39796,39797,39798,39799,39800,39801,39802,39803,31775,31786,31782,31800,31809,31808,33278,33281,33282,33284,33260,34884,33313,33314,33315,33325,33327,33320,33323,33336,33339,33331,33332,33342,33348,33353,33355,33359,33370,33375,33384,34942,34949,34952,35032,35039,35166,32669,32671,32679,32687,32688,32690,31868,25929,31889,31901,31900,31902,31906,31922,31932,31933,31937,31943,31948,31949,31944,31941,31959,31976,33390,26280,32703,32718,32725,32741,32737,32742,32745,32750,32755,31992,32119,32166,32174,32327,32411,40632,40628,36211,36228,36244,36241,36273,36199,36205,35911,35913,37194,37200,37198,37199,37220,39804,39805,39806,39807,39808,39809,39810,39811,39812,39813,39814,39815,39816,39817,39818,39819,39820,39821,39822,39823,39824,39825,39826,39827,39828,39829,39830,39831,39832,39833,39834,39835,39836,39837,39838,39839,39840,39841,39842,39843,39844,39845,39846,39847,39848,39849,39850,39851,39852,39853,39854,39855,39856,39857,39858,39859,39860,39861,39862,39863,39864,39865,39866,39867,39868,39869,39870,39871,39872,39873,39874,39875,39876,39877,39878,39879,39880,39881,39882,39883,39884,39885,39886,39887,39888,39889,39890,39891,39892,39893,39894,39895,39896,39897,39898,39899,37218,37217,37232,37225,37231,37245,37246,37234,37236,37241,37260,37253,37264,37261,37265,37282,37283,37290,37293,37294,37295,37301,37300,37306,35925,40574,36280,36331,36357,36441,36457,36277,36287,36284,36282,36292,36310,36311,36314,36318,36302,36303,36315,36294,36332,36343,36344,36323,36345,36347,36324,36361,36349,36372,36381,36383,36396,36398,36387,36399,36410,36416,36409,36405,36413,36401,36425,36417,36418,36433,36434,36426,36464,36470,36476,36463,36468,36485,36495,36500,36496,36508,36510,35960,35970,35978,35973,35992,35988,26011,35286,35294,35290,35292,39900,39901,39902,39903,39904,39905,39906,39907,39908,39909,39910,39911,39912,39913,39914,39915,39916,39917,39918,39919,39920,39921,39922,39923,39924,39925,39926,39927,39928,39929,39930,39931,39932,39933,39934,39935,39936,39937,39938,39939,39940,39941,39942,39943,39944,39945,39946,39947,39948,39949,39950,39951,39952,39953,39954,39955,39956,39957,39958,39959,39960,39961,39962,39963,39964,39965,39966,39967,39968,39969,39970,39971,39972,39973,39974,39975,39976,39977,39978,39979,39980,39981,39982,39983,39984,39985,39986,39987,39988,39989,39990,39991,39992,39993,39994,39995,35301,35307,35311,35390,35622,38739,38633,38643,38639,38662,38657,38664,38671,38670,38698,38701,38704,38718,40832,40835,40837,40838,40839,40840,40841,40842,40844,40702,40715,40717,38585,38588,38589,38606,38610,30655,38624,37518,37550,37576,37694,37738,37834,37775,37950,37995,40063,40066,40069,40070,40071,40072,31267,40075,40078,40080,40081,40082,40084,40085,40090,40091,40094,40095,40096,40097,40098,40099,40101,40102,40103,40104,40105,40107,40109,40110,40112,40113,40114,40115,40116,40117,40118,40119,40122,40123,40124,40125,40132,40133,40134,40135,40138,40139,39996,39997,39998,39999,40000,40001,40002,40003,40004,40005,40006,40007,40008,40009,40010,40011,40012,40013,40014,40015,40016,40017,40018,40019,40020,40021,40022,40023,40024,40025,40026,40027,40028,40029,40030,40031,40032,40033,40034,40035,40036,40037,40038,40039,40040,40041,40042,40043,40044,40045,40046,40047,40048,40049,40050,40051,40052,40053,40054,40055,40056,40057,40058,40059,40061,40062,40064,40067,40068,40073,40074,40076,40079,40083,40086,40087,40088,40089,40093,40106,40108,40111,40121,40126,40127,40128,40129,40130,40136,40137,40145,40146,40154,40155,40160,40161,40140,40141,40142,40143,40144,40147,40148,40149,40151,40152,40153,40156,40157,40159,40162,38780,38789,38801,38802,38804,38831,38827,38819,38834,38836,39601,39600,39607,40536,39606,39610,39612,39617,39616,39621,39618,39627,39628,39633,39749,39747,39751,39753,39752,39757,39761,39144,39181,39214,39253,39252,39647,39649,39654,39663,39659,39675,39661,39673,39688,39695,39699,39711,39715,40637,40638,32315,40578,40583,40584,40587,40594,37846,40605,40607,40667,40668,40669,40672,40671,40674,40681,40679,40677,40682,40687,40738,40748,40751,40761,40759,40765,40766,40772,40163,40164,40165,40166,40167,40168,40169,40170,40171,40172,40173,40174,40175,40176,40177,40178,40179,40180,40181,40182,40183,40184,40185,40186,40187,40188,40189,40190,40191,40192,40193,40194,40195,40196,40197,40198,40199,40200,40201,40202,40203,40204,40205,40206,40207,40208,40209,40210,40211,40212,40213,40214,40215,40216,40217,40218,40219,40220,40221,40222,40223,40224,40225,40226,40227,40228,40229,40230,40231,40232,40233,40234,40235,40236,40237,40238,40239,40240,40241,40242,40243,40244,40245,40246,40247,40248,40249,40250,40251,40252,40253,40254,40255,40256,40257,40258,57908,57909,57910,57911,57912,57913,57914,57915,57916,57917,57918,57919,57920,57921,57922,57923,57924,57925,57926,57927,57928,57929,57930,57931,57932,57933,57934,57935,57936,57937,57938,57939,57940,57941,57942,57943,57944,57945,57946,57947,57948,57949,57950,57951,57952,57953,57954,57955,57956,57957,57958,57959,57960,57961,57962,57963,57964,57965,57966,57967,57968,57969,57970,57971,57972,57973,57974,57975,57976,57977,57978,57979,57980,57981,57982,57983,57984,57985,57986,57987,57988,57989,57990,57991,57992,57993,57994,57995,57996,57997,57998,57999,58000,58001,40259,40260,40261,40262,40263,40264,40265,40266,40267,40268,40269,40270,40271,40272,40273,40274,40275,40276,40277,40278,40279,40280,40281,40282,40283,40284,40285,40286,40287,40288,40289,40290,40291,40292,40293,40294,40295,40296,40297,40298,40299,40300,40301,40302,40303,40304,40305,40306,40307,40308,40309,40310,40311,40312,40313,40314,40315,40316,40317,40318,40319,40320,40321,40322,40323,40324,40325,40326,40327,40328,40329,40330,40331,40332,40333,40334,40335,40336,40337,40338,40339,40340,40341,40342,40343,40344,40345,40346,40347,40348,40349,40350,40351,40352,40353,40354,58002,58003,58004,58005,58006,58007,58008,58009,58010,58011,58012,58013,58014,58015,58016,58017,58018,58019,58020,58021,58022,58023,58024,58025,58026,58027,58028,58029,58030,58031,58032,58033,58034,58035,58036,58037,58038,58039,58040,58041,58042,58043,58044,58045,58046,58047,58048,58049,58050,58051,58052,58053,58054,58055,58056,58057,58058,58059,58060,58061,58062,58063,58064,58065,58066,58067,58068,58069,58070,58071,58072,58073,58074,58075,58076,58077,58078,58079,58080,58081,58082,58083,58084,58085,58086,58087,58088,58089,58090,58091,58092,58093,58094,58095,40355,40356,40357,40358,40359,40360,40361,40362,40363,40364,40365,40366,40367,40368,40369,40370,40371,40372,40373,40374,40375,40376,40377,40378,40379,40380,40381,40382,40383,40384,40385,40386,40387,40388,40389,40390,40391,40392,40393,40394,40395,40396,40397,40398,40399,40400,40401,40402,40403,40404,40405,40406,40407,40408,40409,40410,40411,40412,40413,40414,40415,40416,40417,40418,40419,40420,40421,40422,40423,40424,40425,40426,40427,40428,40429,40430,40431,40432,40433,40434,40435,40436,40437,40438,40439,40440,40441,40442,40443,40444,40445,40446,40447,40448,40449,40450,58096,58097,58098,58099,58100,58101,58102,58103,58104,58105,58106,58107,58108,58109,58110,58111,58112,58113,58114,58115,58116,58117,58118,58119,58120,58121,58122,58123,58124,58125,58126,58127,58128,58129,58130,58131,58132,58133,58134,58135,58136,58137,58138,58139,58140,58141,58142,58143,58144,58145,58146,58147,58148,58149,58150,58151,58152,58153,58154,58155,58156,58157,58158,58159,58160,58161,58162,58163,58164,58165,58166,58167,58168,58169,58170,58171,58172,58173,58174,58175,58176,58177,58178,58179,58180,58181,58182,58183,58184,58185,58186,58187,58188,58189,40451,40452,40453,40454,40455,40456,40457,40458,40459,40460,40461,40462,40463,40464,40465,40466,40467,40468,40469,40470,40471,40472,40473,40474,40475,40476,40477,40478,40484,40487,40494,40496,40500,40507,40508,40512,40525,40528,40530,40531,40532,40534,40537,40541,40543,40544,40545,40546,40549,40558,40559,40562,40564,40565,40566,40567,40568,40569,40570,40571,40572,40573,40576,40577,40579,40580,40581,40582,40585,40586,40588,40589,40590,40591,40592,40593,40596,40597,40598,40599,40600,40601,40602,40603,40604,40606,40608,40609,40610,40611,40612,40613,40615,40616,40617,40618,58190,58191,58192,58193,58194,58195,58196,58197,58198,58199,58200,58201,58202,58203,58204,58205,58206,58207,58208,58209,58210,58211,58212,58213,58214,58215,58216,58217,58218,58219,58220,58221,58222,58223,58224,58225,58226,58227,58228,58229,58230,58231,58232,58233,58234,58235,58236,58237,58238,58239,58240,58241,58242,58243,58244,58245,58246,58247,58248,58249,58250,58251,58252,58253,58254,58255,58256,58257,58258,58259,58260,58261,58262,58263,58264,58265,58266,58267,58268,58269,58270,58271,58272,58273,58274,58275,58276,58277,58278,58279,58280,58281,58282,58283,40619,40620,40621,40622,40623,40624,40625,40626,40627,40629,40630,40631,40633,40634,40636,40639,40640,40641,40642,40643,40645,40646,40647,40648,40650,40651,40652,40656,40658,40659,40661,40662,40663,40665,40666,40670,40673,40675,40676,40678,40680,40683,40684,40685,40686,40688,40689,40690,40691,40692,40693,40694,40695,40696,40698,40701,40703,40704,40705,40706,40707,40708,40709,40710,40711,40712,40713,40714,40716,40719,40721,40722,40724,40725,40726,40728,40730,40731,40732,40733,40734,40735,40737,40739,40740,40741,40742,40743,40744,40745,40746,40747,40749,40750,40752,40753,58284,58285,58286,58287,58288,58289,58290,58291,58292,58293,58294,58295,58296,58297,58298,58299,58300,58301,58302,58303,58304,58305,58306,58307,58308,58309,58310,58311,58312,58313,58314,58315,58316,58317,58318,58319,58320,58321,58322,58323,58324,58325,58326,58327,58328,58329,58330,58331,58332,58333,58334,58335,58336,58337,58338,58339,58340,58341,58342,58343,58344,58345,58346,58347,58348,58349,58350,58351,58352,58353,58354,58355,58356,58357,58358,58359,58360,58361,58362,58363,58364,58365,58366,58367,58368,58369,58370,58371,58372,58373,58374,58375,58376,58377,40754,40755,40756,40757,40758,40760,40762,40764,40767,40768,40769,40770,40771,40773,40774,40775,40776,40777,40778,40779,40780,40781,40782,40783,40786,40787,40788,40789,40790,40791,40792,40793,40794,40795,40796,40797,40798,40799,40800,40801,40802,40803,40804,40805,40806,40807,40808,40809,40810,40811,40812,40813,40814,40815,40816,40817,40818,40819,40820,40821,40822,40823,40824,40825,40826,40827,40828,40829,40830,40833,40834,40845,40846,40847,40848,40849,40850,40851,40852,40853,40854,40855,40856,40860,40861,40862,40865,40866,40867,40868,40869,63788,63865,63893,63975,63985,58378,58379,58380,58381,58382,58383,58384,58385,58386,58387,58388,58389,58390,58391,58392,58393,58394,58395,58396,58397,58398,58399,58400,58401,58402,58403,58404,58405,58406,58407,58408,58409,58410,58411,58412,58413,58414,58415,58416,58417,58418,58419,58420,58421,58422,58423,58424,58425,58426,58427,58428,58429,58430,58431,58432,58433,58434,58435,58436,58437,58438,58439,58440,58441,58442,58443,58444,58445,58446,58447,58448,58449,58450,58451,58452,58453,58454,58455,58456,58457,58458,58459,58460,58461,58462,58463,58464,58465,58466,58467,58468,58469,58470,58471,64012,64013,64014,64015,64017,64019,64020,64024,64031,64032,64033,64035,64036,64039,64040,64041,11905,59414,59415,59416,11908,13427,13383,11912,11915,59422,13726,13850,13838,11916,11927,14702,14616,59430,14799,14815,14963,14800,59435,59436,15182,15470,15584,11943,59441,59442,11946,16470,16735,11950,17207,11955,11958,11959,59451,17329,17324,11963,17373,17622,18017,17996,59459,18211,18217,18300,18317,11978,18759,18810,18813,18818,18819,18821,18822,18847,18843,18871,18870,59476,59477,19619,19615,19616,19617,19575,19618,19731,19732,19733,19734,19735,19736,19737,19886,59492,58472,58473,58474,58475,58476,58477,58478,58479,58480,58481,58482,58483,58484,58485,58486,58487,58488,58489,58490,58491,58492,58493,58494,58495,58496,58497,58498,58499,58500,58501,58502,58503,58504,58505,58506,58507,58508,58509,58510,58511,58512,58513,58514,58515,58516,58517,58518,58519,58520,58521,58522,58523,58524,58525,58526,58527,58528,58529,58530,58531,58532,58533,58534,58535,58536,58537,58538,58539,58540,58541,58542,58543,58544,58545,58546,58547,58548,58549,58550,58551,58552,58553,58554,58555,58556,58557,58558,58559,58560,58561,58562,58563,58564,58565],\n  \"gb18030-ranges\":[[0,128],[36,165],[38,169],[45,178],[50,184],[81,216],[89,226],[95,235],[96,238],[100,244],[103,248],[104,251],[105,253],[109,258],[126,276],[133,284],[148,300],[172,325],[175,329],[179,334],[208,364],[306,463],[307,465],[308,467],[309,469],[310,471],[311,473],[312,475],[313,477],[341,506],[428,594],[443,610],[544,712],[545,716],[558,730],[741,930],[742,938],[749,962],[750,970],[805,1026],[819,1104],[820,1106],[7922,8209],[7924,8215],[7925,8218],[7927,8222],[7934,8231],[7943,8241],[7944,8244],[7945,8246],[7950,8252],[8062,8365],[8148,8452],[8149,8454],[8152,8458],[8164,8471],[8174,8482],[8236,8556],[8240,8570],[8262,8596],[8264,8602],[8374,8713],[8380,8720],[8381,8722],[8384,8726],[8388,8731],[8390,8737],[8392,8740],[8393,8742],[8394,8748],[8396,8751],[8401,8760],[8406,8766],[8416,8777],[8419,8781],[8424,8787],[8437,8802],[8439,8808],[8445,8816],[8482,8854],[8485,8858],[8496,8870],[8521,8896],[8603,8979],[8936,9322],[8946,9372],[9046,9548],[9050,9588],[9063,9616],[9066,9622],[9076,9634],[9092,9652],[9100,9662],[9108,9672],[9111,9676],[9113,9680],[9131,9702],[9162,9735],[9164,9738],[9218,9793],[9219,9795],[11329,11906],[11331,11909],[11334,11913],[11336,11917],[11346,11928],[11361,11944],[11363,11947],[11366,11951],[11370,11956],[11372,11960],[11375,11964],[11389,11979],[11682,12284],[11686,12292],[11687,12312],[11692,12319],[11694,12330],[11714,12351],[11716,12436],[11723,12447],[11725,12535],[11730,12543],[11736,12586],[11982,12842],[11989,12850],[12102,12964],[12336,13200],[12348,13215],[12350,13218],[12384,13253],[12393,13263],[12395,13267],[12397,13270],[12510,13384],[12553,13428],[12851,13727],[12962,13839],[12973,13851],[13738,14617],[13823,14703],[13919,14801],[13933,14816],[14080,14964],[14298,15183],[14585,15471],[14698,15585],[15583,16471],[15847,16736],[16318,17208],[16434,17325],[16438,17330],[16481,17374],[16729,17623],[17102,17997],[17122,18018],[17315,18212],[17320,18218],[17402,18301],[17418,18318],[17859,18760],[17909,18811],[17911,18814],[17915,18820],[17916,18823],[17936,18844],[17939,18848],[17961,18872],[18664,19576],[18703,19620],[18814,19738],[18962,19887],[19043,40870],[33469,59244],[33470,59336],[33471,59367],[33484,59413],[33485,59417],[33490,59423],[33497,59431],[33501,59437],[33505,59443],[33513,59452],[33520,59460],[33536,59478],[33550,59493],[37845,63789],[37921,63866],[37948,63894],[38029,63976],[38038,63986],[38064,64016],[38065,64018],[38066,64021],[38069,64025],[38075,64034],[38076,64037],[38078,64042],[39108,65074],[39109,65093],[39113,65107],[39114,65112],[39115,65127],[39116,65132],[39265,65375],[39394,65510],[189000,65536]],\n  \"jis0208\":[12288,12289,12290,65292,65294,12539,65306,65307,65311,65281,12443,12444,180,65344,168,65342,65507,65343,12541,12542,12445,12446,12291,20189,12293,12294,12295,12540,8213,8208,65295,65340,65374,8741,65372,8230,8229,8216,8217,8220,8221,65288,65289,12308,12309,65339,65341,65371,65373,12296,12297,12298,12299,12300,12301,12302,12303,12304,12305,65291,65293,177,215,247,65309,8800,65308,65310,8806,8807,8734,8756,9794,9792,176,8242,8243,8451,65509,65284,65504,65505,65285,65283,65286,65290,65312,167,9734,9733,9675,9679,9678,9671,9670,9633,9632,9651,9650,9661,9660,8251,12306,8594,8592,8593,8595,12307,null,null,null,null,null,null,null,null,null,null,null,8712,8715,8838,8839,8834,8835,8746,8745,null,null,null,null,null,null,null,null,8743,8744,65506,8658,8660,8704,8707,null,null,null,null,null,null,null,null,null,null,null,8736,8869,8978,8706,8711,8801,8786,8810,8811,8730,8765,8733,8757,8747,8748,null,null,null,null,null,null,null,8491,8240,9839,9837,9834,8224,8225,182,null,null,null,null,9711,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,65296,65297,65298,65299,65300,65301,65302,65303,65304,65305,null,null,null,null,null,null,null,65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,null,null,null,null,null,null,65345,65346,65347,65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,null,null,null,null,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,12435,null,null,null,null,null,null,null,null,null,null,null,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,12484,12485,12486,12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523,12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,null,null,null,null,null,null,null,null,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,null,null,null,null,null,null,null,null,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,963,964,965,966,967,968,969,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,null,null,null,null,null,null,null,null,null,null,null,null,null,9472,9474,9484,9488,9496,9492,9500,9516,9508,9524,9532,9473,9475,9487,9491,9499,9495,9507,9523,9515,9531,9547,9504,9519,9512,9527,9535,9501,9520,9509,9528,9538,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,9322,9323,9324,9325,9326,9327,9328,9329,9330,9331,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,null,13129,13076,13090,13133,13080,13095,13059,13110,13137,13143,13069,13094,13091,13099,13130,13115,13212,13213,13214,13198,13199,13252,13217,null,null,null,null,null,null,null,null,13179,12317,12319,8470,13261,8481,12964,12965,12966,12967,12968,12849,12850,12857,13182,13181,13180,8786,8801,8747,8750,8721,8730,8869,8736,8735,8895,8757,8745,8746,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,20124,21782,23043,38463,21696,24859,25384,23030,36898,33909,33564,31312,24746,25569,28197,26093,33894,33446,39925,26771,22311,26017,25201,23451,22992,34427,39156,32098,32190,39822,25110,31903,34999,23433,24245,25353,26263,26696,38343,38797,26447,20197,20234,20301,20381,20553,22258,22839,22996,23041,23561,24799,24847,24944,26131,26885,28858,30031,30064,31227,32173,32239,32963,33806,34915,35586,36949,36986,21307,20117,20133,22495,32946,37057,30959,19968,22769,28322,36920,31282,33576,33419,39983,20801,21360,21693,21729,22240,23035,24341,39154,28139,32996,34093,38498,38512,38560,38907,21515,21491,23431,28879,32701,36802,38632,21359,40284,31418,19985,30867,33276,28198,22040,21764,27421,34074,39995,23013,21417,28006,29916,38287,22082,20113,36939,38642,33615,39180,21473,21942,23344,24433,26144,26355,26628,27704,27891,27945,29787,30408,31310,38964,33521,34907,35424,37613,28082,30123,30410,39365,24742,35585,36234,38322,27022,21421,20870,22290,22576,22852,23476,24310,24616,25513,25588,27839,28436,28814,28948,29017,29141,29503,32257,33398,33489,34199,36960,37467,40219,22633,26044,27738,29989,20985,22830,22885,24448,24540,25276,26106,27178,27431,27572,29579,32705,35158,40236,40206,40644,23713,27798,33659,20740,23627,25014,33222,26742,29281,20057,20474,21368,24681,28201,31311,38899,19979,21270,20206,20309,20285,20385,20339,21152,21487,22025,22799,23233,23478,23521,31185,26247,26524,26550,27468,27827,28779,29634,31117,31166,31292,31623,33457,33499,33540,33655,33775,33747,34662,35506,22057,36008,36838,36942,38686,34442,20420,23784,25105,29273,30011,33253,33469,34558,36032,38597,39187,39381,20171,20250,35299,22238,22602,22730,24315,24555,24618,24724,24674,25040,25106,25296,25913,39745,26214,26800,28023,28784,30028,30342,32117,33445,34809,38283,38542,35997,20977,21182,22806,21683,23475,23830,24936,27010,28079,30861,33995,34903,35442,37799,39608,28012,39336,34521,22435,26623,34510,37390,21123,22151,21508,24275,25313,25785,26684,26680,27579,29554,30906,31339,35226,35282,36203,36611,37101,38307,38548,38761,23398,23731,27005,38989,38990,25499,31520,27179,27263,26806,39949,28511,21106,21917,24688,25324,27963,28167,28369,33883,35088,36676,19988,39993,21494,26907,27194,38788,26666,20828,31427,33970,37340,37772,22107,40232,26658,33541,33841,31909,21000,33477,29926,20094,20355,20896,23506,21002,21208,21223,24059,21914,22570,23014,23436,23448,23515,24178,24185,24739,24863,24931,25022,25563,25954,26577,26707,26874,27454,27475,27735,28450,28567,28485,29872,29976,30435,30475,31487,31649,31777,32233,32566,32752,32925,33382,33694,35251,35532,36011,36996,37969,38291,38289,38306,38501,38867,39208,33304,20024,21547,23736,24012,29609,30284,30524,23721,32747,36107,38593,38929,38996,39000,20225,20238,21361,21916,22120,22522,22855,23305,23492,23696,24076,24190,24524,25582,26426,26071,26082,26399,26827,26820,27231,24112,27589,27671,27773,30079,31048,23395,31232,32000,24509,35215,35352,36020,36215,36556,36637,39138,39438,39740,20096,20605,20736,22931,23452,25135,25216,25836,27450,29344,30097,31047,32681,34811,35516,35696,25516,33738,38816,21513,21507,21931,26708,27224,35440,30759,26485,40653,21364,23458,33050,34384,36870,19992,20037,20167,20241,21450,21560,23470,24339,24613,25937,26429,27714,27762,27875,28792,29699,31350,31406,31496,32026,31998,32102,26087,29275,21435,23621,24040,25298,25312,25369,28192,34394,35377,36317,37624,28417,31142,39770,20136,20139,20140,20379,20384,20689,20807,31478,20849,20982,21332,21281,21375,21483,21932,22659,23777,24375,24394,24623,24656,24685,25375,25945,27211,27841,29378,29421,30703,33016,33029,33288,34126,37111,37857,38911,39255,39514,20208,20957,23597,26241,26989,23616,26354,26997,29577,26704,31873,20677,21220,22343,24062,37670,26020,27427,27453,29748,31105,31165,31563,32202,33465,33740,34943,35167,35641,36817,37329,21535,37504,20061,20534,21477,21306,29399,29590,30697,33510,36527,39366,39368,39378,20855,24858,34398,21936,31354,20598,23507,36935,38533,20018,27355,37351,23633,23624,25496,31391,27795,38772,36705,31402,29066,38536,31874,26647,32368,26705,37740,21234,21531,34219,35347,32676,36557,37089,21350,34952,31041,20418,20670,21009,20804,21843,22317,29674,22411,22865,24418,24452,24693,24950,24935,25001,25522,25658,25964,26223,26690,28179,30054,31293,31995,32076,32153,32331,32619,33550,33610,34509,35336,35427,35686,36605,38938,40335,33464,36814,39912,21127,25119,25731,28608,38553,26689,20625,27424,27770,28500,31348,32080,34880,35363,26376,20214,20537,20518,20581,20860,21048,21091,21927,22287,22533,23244,24314,25010,25080,25331,25458,26908,27177,29309,29356,29486,30740,30831,32121,30476,32937,35211,35609,36066,36562,36963,37749,38522,38997,39443,40568,20803,21407,21427,24187,24358,28187,28304,29572,29694,32067,33335,35328,35578,38480,20046,20491,21476,21628,22266,22993,23396,24049,24235,24359,25144,25925,26543,28246,29392,31946,34996,32929,32993,33776,34382,35463,36328,37431,38599,39015,40723,20116,20114,20237,21320,21577,21566,23087,24460,24481,24735,26791,27278,29786,30849,35486,35492,35703,37264,20062,39881,20132,20348,20399,20505,20502,20809,20844,21151,21177,21246,21402,21475,21521,21518,21897,22353,22434,22909,23380,23389,23439,24037,24039,24055,24184,24195,24218,24247,24344,24658,24908,25239,25304,25511,25915,26114,26179,26356,26477,26657,26775,27083,27743,27946,28009,28207,28317,30002,30343,30828,31295,31968,32005,32024,32094,32177,32789,32771,32943,32945,33108,33167,33322,33618,34892,34913,35611,36002,36092,37066,37237,37489,30783,37628,38308,38477,38917,39321,39640,40251,21083,21163,21495,21512,22741,25335,28640,35946,36703,40633,20811,21051,21578,22269,31296,37239,40288,40658,29508,28425,33136,29969,24573,24794,39592,29403,36796,27492,38915,20170,22256,22372,22718,23130,24680,25031,26127,26118,26681,26801,28151,30165,32058,33390,39746,20123,20304,21449,21766,23919,24038,24046,26619,27801,29811,30722,35408,37782,35039,22352,24231,25387,20661,20652,20877,26368,21705,22622,22971,23472,24425,25165,25505,26685,27507,28168,28797,37319,29312,30741,30758,31085,25998,32048,33756,35009,36617,38555,21092,22312,26448,32618,36001,20916,22338,38442,22586,27018,32948,21682,23822,22524,30869,40442,20316,21066,21643,25662,26152,26388,26613,31364,31574,32034,37679,26716,39853,31545,21273,20874,21047,23519,25334,25774,25830,26413,27578,34217,38609,30352,39894,25420,37638,39851,30399,26194,19977,20632,21442,23665,24808,25746,25955,26719,29158,29642,29987,31639,32386,34453,35715,36059,37240,39184,26028,26283,27531,20181,20180,20282,20351,21050,21496,21490,21987,22235,22763,22987,22985,23039,23376,23629,24066,24107,24535,24605,25351,25903,23388,26031,26045,26088,26525,27490,27515,27663,29509,31049,31169,31992,32025,32043,32930,33026,33267,35222,35422,35433,35430,35468,35566,36039,36060,38604,39164,27503,20107,20284,20365,20816,23383,23546,24904,25345,26178,27425,28363,27835,29246,29885,30164,30913,31034,32780,32819,33258,33940,36766,27728,40575,24335,35672,40235,31482,36600,23437,38635,19971,21489,22519,22833,23241,23460,24713,28287,28422,30142,36074,23455,34048,31712,20594,26612,33437,23649,34122,32286,33294,20889,23556,25448,36198,26012,29038,31038,32023,32773,35613,36554,36974,34503,37034,20511,21242,23610,26451,28796,29237,37196,37320,37675,33509,23490,24369,24825,20027,21462,23432,25163,26417,27530,29417,29664,31278,33131,36259,37202,39318,20754,21463,21610,23551,25480,27193,32172,38656,22234,21454,21608,23447,23601,24030,20462,24833,25342,27954,31168,31179,32066,32333,32722,33261,33311,33936,34886,35186,35728,36468,36655,36913,37195,37228,38598,37276,20160,20303,20805,21313,24467,25102,26580,27713,28171,29539,32294,37325,37507,21460,22809,23487,28113,31069,32302,31899,22654,29087,20986,34899,36848,20426,23803,26149,30636,31459,33308,39423,20934,24490,26092,26991,27529,28147,28310,28516,30462,32020,24033,36981,37255,38918,20966,21021,25152,26257,26329,28186,24246,32210,32626,26360,34223,34295,35576,21161,21465,22899,24207,24464,24661,37604,38500,20663,20767,21213,21280,21319,21484,21736,21830,21809,22039,22888,22974,23100,23477,23558,23567,23569,23578,24196,24202,24288,24432,25215,25220,25307,25484,25463,26119,26124,26157,26230,26494,26786,27167,27189,27836,28040,28169,28248,28988,28966,29031,30151,30465,30813,30977,31077,31216,31456,31505,31911,32057,32918,33750,33931,34121,34909,35059,35359,35388,35412,35443,35937,36062,37284,37478,37758,37912,38556,38808,19978,19976,19998,20055,20887,21104,22478,22580,22732,23330,24120,24773,25854,26465,26454,27972,29366,30067,31331,33976,35698,37304,37664,22065,22516,39166,25325,26893,27542,29165,32340,32887,33394,35302,39135,34645,36785,23611,20280,20449,20405,21767,23072,23517,23529,24515,24910,25391,26032,26187,26862,27035,28024,28145,30003,30137,30495,31070,31206,32051,33251,33455,34218,35242,35386,36523,36763,36914,37341,38663,20154,20161,20995,22645,22764,23563,29978,23613,33102,35338,36805,38499,38765,31525,35535,38920,37218,22259,21416,36887,21561,22402,24101,25512,27700,28810,30561,31883,32736,34928,36930,37204,37648,37656,38543,29790,39620,23815,23913,25968,26530,36264,38619,25454,26441,26905,33733,38935,38592,35070,28548,25722,23544,19990,28716,30045,26159,20932,21046,21218,22995,24449,24615,25104,25919,25972,26143,26228,26866,26646,27491,28165,29298,29983,30427,31934,32854,22768,35069,35199,35488,35475,35531,36893,37266,38738,38745,25993,31246,33030,38587,24109,24796,25114,26021,26132,26512,30707,31309,31821,32318,33034,36012,36196,36321,36447,30889,20999,25305,25509,25666,25240,35373,31363,31680,35500,38634,32118,33292,34633,20185,20808,21315,21344,23459,23554,23574,24029,25126,25159,25776,26643,26676,27849,27973,27927,26579,28508,29006,29053,26059,31359,31661,32218,32330,32680,33146,33307,33337,34214,35438,36046,36341,36984,36983,37549,37521,38275,39854,21069,21892,28472,28982,20840,31109,32341,33203,31950,22092,22609,23720,25514,26366,26365,26970,29401,30095,30094,30990,31062,31199,31895,32032,32068,34311,35380,38459,36961,40736,20711,21109,21452,21474,20489,21930,22766,22863,29245,23435,23652,21277,24803,24819,25436,25475,25407,25531,25805,26089,26361,24035,27085,27133,28437,29157,20105,30185,30456,31379,31967,32207,32156,32865,33609,33624,33900,33980,34299,35013,36208,36865,36973,37783,38684,39442,20687,22679,24974,33235,34101,36104,36896,20419,20596,21063,21363,24687,25417,26463,28204,36275,36895,20439,23646,36042,26063,32154,21330,34966,20854,25539,23384,23403,23562,25613,26449,36956,20182,22810,22826,27760,35409,21822,22549,22949,24816,25171,26561,33333,26965,38464,39364,39464,20307,22534,23550,32784,23729,24111,24453,24608,24907,25140,26367,27888,28382,32974,33151,33492,34955,36024,36864,36910,38538,40667,39899,20195,21488,22823,31532,37261,38988,40441,28381,28711,21331,21828,23429,25176,25246,25299,27810,28655,29730,35351,37944,28609,35582,33592,20967,34552,21482,21481,20294,36948,36784,22890,33073,24061,31466,36799,26842,35895,29432,40008,27197,35504,20025,21336,22022,22374,25285,25506,26086,27470,28129,28251,28845,30701,31471,31658,32187,32829,32966,34507,35477,37723,22243,22727,24382,26029,26262,27264,27573,30007,35527,20516,30693,22320,24347,24677,26234,27744,30196,31258,32622,33268,34584,36933,39347,31689,30044,31481,31569,33988,36880,31209,31378,33590,23265,30528,20013,20210,23449,24544,25277,26172,26609,27880,34411,34935,35387,37198,37619,39376,27159,28710,29482,33511,33879,36015,19969,20806,20939,21899,23541,24086,24115,24193,24340,24373,24427,24500,25074,25361,26274,26397,28526,29266,30010,30522,32884,33081,33144,34678,35519,35548,36229,36339,37530,38263,38914,40165,21189,25431,30452,26389,27784,29645,36035,37806,38515,27941,22684,26894,27084,36861,37786,30171,36890,22618,26626,25524,27131,20291,28460,26584,36795,34086,32180,37716,26943,28528,22378,22775,23340,32044,29226,21514,37347,40372,20141,20302,20572,20597,21059,35998,21576,22564,23450,24093,24213,24237,24311,24351,24716,25269,25402,25552,26799,27712,30855,31118,31243,32224,33351,35330,35558,36420,36883,37048,37165,37336,40718,27877,25688,25826,25973,28404,30340,31515,36969,37841,28346,21746,24505,25764,36685,36845,37444,20856,22635,22825,23637,24215,28155,32399,29980,36028,36578,39003,28857,20253,27583,28593,30000,38651,20814,21520,22581,22615,22956,23648,24466,26007,26460,28193,30331,33759,36077,36884,37117,37709,30757,30778,21162,24230,22303,22900,24594,20498,20826,20908,20941,20992,21776,22612,22616,22871,23445,23798,23947,24764,25237,25645,26481,26691,26812,26847,30423,28120,28271,28059,28783,29128,24403,30168,31095,31561,31572,31570,31958,32113,21040,33891,34153,34276,35342,35588,35910,36367,36867,36879,37913,38518,38957,39472,38360,20685,21205,21516,22530,23566,24999,25758,27934,30643,31461,33012,33796,36947,37509,23776,40199,21311,24471,24499,28060,29305,30563,31167,31716,27602,29420,35501,26627,27233,20984,31361,26932,23626,40182,33515,23493,37193,28702,22136,23663,24775,25958,27788,35930,36929,38931,21585,26311,37389,22856,37027,20869,20045,20970,34201,35598,28760,25466,37707,26978,39348,32260,30071,21335,26976,36575,38627,27741,20108,23612,24336,36841,21250,36049,32905,34425,24319,26085,20083,20837,22914,23615,38894,20219,22922,24525,35469,28641,31152,31074,23527,33905,29483,29105,24180,24565,25467,25754,29123,31896,20035,24316,20043,22492,22178,24745,28611,32013,33021,33075,33215,36786,35223,34468,24052,25226,25773,35207,26487,27874,27966,29750,30772,23110,32629,33453,39340,20467,24259,25309,25490,25943,26479,30403,29260,32972,32954,36649,37197,20493,22521,23186,26757,26995,29028,29437,36023,22770,36064,38506,36889,34687,31204,30695,33833,20271,21093,21338,25293,26575,27850,30333,31636,31893,33334,34180,36843,26333,28448,29190,32283,33707,39361,40614,20989,31665,30834,31672,32903,31560,27368,24161,32908,30033,30048,20843,37474,28300,30330,37271,39658,20240,32624,25244,31567,38309,40169,22138,22617,34532,38588,20276,21028,21322,21453,21467,24070,25644,26001,26495,27710,27726,29256,29359,29677,30036,32321,33324,34281,36009,31684,37318,29033,38930,39151,25405,26217,30058,30436,30928,34115,34542,21290,21329,21542,22915,24199,24444,24754,25161,25209,25259,26000,27604,27852,30130,30382,30865,31192,32203,32631,32933,34987,35513,36027,36991,38750,39131,27147,31800,20633,23614,24494,26503,27608,29749,30473,32654,40763,26570,31255,21305,30091,39661,24422,33181,33777,32920,24380,24517,30050,31558,36924,26727,23019,23195,32016,30334,35628,20469,24426,27161,27703,28418,29922,31080,34920,35413,35961,24287,25551,30149,31186,33495,37672,37618,33948,34541,39981,21697,24428,25996,27996,28693,36007,36051,38971,25935,29942,19981,20184,22496,22827,23142,23500,20904,24067,24220,24598,25206,25975,26023,26222,28014,29238,31526,33104,33178,33433,35676,36000,36070,36212,38428,38468,20398,25771,27494,33310,33889,34154,37096,23553,26963,39080,33914,34135,20239,21103,24489,24133,26381,31119,33145,35079,35206,28149,24343,25173,27832,20175,29289,39826,20998,21563,22132,22707,24996,25198,28954,22894,31881,31966,32027,38640,25991,32862,19993,20341,20853,22592,24163,24179,24330,26564,20006,34109,38281,38491,31859,38913,20731,22721,30294,30887,21029,30629,34065,31622,20559,22793,29255,31687,32232,36794,36820,36941,20415,21193,23081,24321,38829,20445,33303,37610,22275,25429,27497,29995,35036,36628,31298,21215,22675,24917,25098,26286,27597,31807,33769,20515,20472,21253,21574,22577,22857,23453,23792,23791,23849,24214,25265,25447,25918,26041,26379,27861,27873,28921,30770,32299,32990,33459,33804,34028,34562,35090,35370,35914,37030,37586,39165,40179,40300,20047,20129,20621,21078,22346,22952,24125,24536,24537,25151,26292,26395,26576,26834,20882,32033,32938,33192,35584,35980,36031,37502,38450,21536,38956,21271,20693,21340,22696,25778,26420,29287,30566,31302,37350,21187,27809,27526,22528,24140,22868,26412,32763,20961,30406,25705,30952,39764,40635,22475,22969,26151,26522,27598,21737,27097,24149,33180,26517,39850,26622,40018,26717,20134,20451,21448,25273,26411,27819,36804,20397,32365,40639,19975,24930,28288,28459,34067,21619,26410,39749,24051,31637,23724,23494,34588,28234,34001,31252,33032,22937,31885,27665,30496,21209,22818,28961,29279,30683,38695,40289,26891,23167,23064,20901,21517,21629,26126,30431,36855,37528,40180,23018,29277,28357,20813,26825,32191,32236,38754,40634,25720,27169,33538,22916,23391,27611,29467,30450,32178,32791,33945,20786,26408,40665,30446,26466,21247,39173,23588,25147,31870,36016,21839,24758,32011,38272,21249,20063,20918,22812,29242,32822,37326,24357,30690,21380,24441,32004,34220,35379,36493,38742,26611,34222,37971,24841,24840,27833,30290,35565,36664,21807,20305,20778,21191,21451,23461,24189,24736,24962,25558,26377,26586,28263,28044,29494,29495,30001,31056,35029,35480,36938,37009,37109,38596,34701,22805,20104,20313,19982,35465,36671,38928,20653,24188,22934,23481,24248,25562,25594,25793,26332,26954,27096,27915,28342,29076,29992,31407,32650,32768,33865,33993,35201,35617,36362,36965,38525,39178,24958,25233,27442,27779,28020,32716,32764,28096,32645,34746,35064,26469,33713,38972,38647,27931,32097,33853,37226,20081,21365,23888,27396,28651,34253,34349,35239,21033,21519,23653,26446,26792,29702,29827,30178,35023,35041,37324,38626,38520,24459,29575,31435,33870,25504,30053,21129,27969,28316,29705,30041,30827,31890,38534,31452,40845,20406,24942,26053,34396,20102,20142,20698,20001,20940,23534,26009,26753,28092,29471,30274,30637,31260,31975,33391,35538,36988,37327,38517,38936,21147,32209,20523,21400,26519,28107,29136,29747,33256,36650,38563,40023,40607,29792,22593,28057,32047,39006,20196,20278,20363,20919,21169,23994,24604,29618,31036,33491,37428,38583,38646,38666,40599,40802,26278,27508,21015,21155,28872,35010,24265,24651,24976,28451,29001,31806,32244,32879,34030,36899,37676,21570,39791,27347,28809,36034,36335,38706,21172,23105,24266,24324,26391,27004,27028,28010,28431,29282,29436,31725,32769,32894,34635,37070,20845,40595,31108,32907,37682,35542,20525,21644,35441,27498,36036,33031,24785,26528,40434,20121,20120,39952,35435,34241,34152,26880,28286,30871,33109,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,24332,19984,19989,20010,20017,20022,20028,20031,20034,20054,20056,20098,20101,35947,20106,33298,24333,20110,20126,20127,20128,20130,20144,20147,20150,20174,20173,20164,20166,20162,20183,20190,20205,20191,20215,20233,20314,20272,20315,20317,20311,20295,20342,20360,20367,20376,20347,20329,20336,20369,20335,20358,20374,20760,20436,20447,20430,20440,20443,20433,20442,20432,20452,20453,20506,20520,20500,20522,20517,20485,20252,20470,20513,20521,20524,20478,20463,20497,20486,20547,20551,26371,20565,20560,20552,20570,20566,20588,20600,20608,20634,20613,20660,20658,20681,20682,20659,20674,20694,20702,20709,20717,20707,20718,20729,20725,20745,20737,20738,20758,20757,20756,20762,20769,20794,20791,20796,20795,20799,20800,20818,20812,20820,20834,31480,20841,20842,20846,20864,20866,22232,20876,20873,20879,20881,20883,20885,20886,20900,20902,20898,20905,20906,20907,20915,20913,20914,20912,20917,20925,20933,20937,20955,20960,34389,20969,20973,20976,20981,20990,20996,21003,21012,21006,21031,21034,21038,21043,21049,21071,21060,21067,21068,21086,21076,21098,21108,21097,21107,21119,21117,21133,21140,21138,21105,21128,21137,36776,36775,21164,21165,21180,21173,21185,21197,21207,21214,21219,21222,39149,21216,21235,21237,21240,21241,21254,21256,30008,21261,21264,21263,21269,21274,21283,21295,21297,21299,21304,21312,21318,21317,19991,21321,21325,20950,21342,21353,21358,22808,21371,21367,21378,21398,21408,21414,21413,21422,21424,21430,21443,31762,38617,21471,26364,29166,21486,21480,21485,21498,21505,21565,21568,21548,21549,21564,21550,21558,21545,21533,21582,21647,21621,21646,21599,21617,21623,21616,21650,21627,21632,21622,21636,21648,21638,21703,21666,21688,21669,21676,21700,21704,21672,21675,21698,21668,21694,21692,21720,21733,21734,21775,21780,21757,21742,21741,21754,21730,21817,21824,21859,21836,21806,21852,21829,21846,21847,21816,21811,21853,21913,21888,21679,21898,21919,21883,21886,21912,21918,21934,21884,21891,21929,21895,21928,21978,21957,21983,21956,21980,21988,21972,22036,22007,22038,22014,22013,22043,22009,22094,22096,29151,22068,22070,22066,22072,22123,22116,22063,22124,22122,22150,22144,22154,22176,22164,22159,22181,22190,22198,22196,22210,22204,22209,22211,22208,22216,22222,22225,22227,22231,22254,22265,22272,22271,22276,22281,22280,22283,22285,22291,22296,22294,21959,22300,22310,22327,22328,22350,22331,22336,22351,22377,22464,22408,22369,22399,22409,22419,22432,22451,22436,22442,22448,22467,22470,22484,22482,22483,22538,22486,22499,22539,22553,22557,22642,22561,22626,22603,22640,27584,22610,22589,22649,22661,22713,22687,22699,22714,22750,22715,22712,22702,22725,22739,22737,22743,22745,22744,22757,22748,22756,22751,22767,22778,22777,22779,22780,22781,22786,22794,22800,22811,26790,22821,22828,22829,22834,22840,22846,31442,22869,22864,22862,22874,22872,22882,22880,22887,22892,22889,22904,22913,22941,20318,20395,22947,22962,22982,23016,23004,22925,23001,23002,23077,23071,23057,23068,23049,23066,23104,23148,23113,23093,23094,23138,23146,23194,23228,23230,23243,23234,23229,23267,23255,23270,23273,23254,23290,23291,23308,23307,23318,23346,23248,23338,23350,23358,23363,23365,23360,23377,23381,23386,23387,23397,23401,23408,23411,23413,23416,25992,23418,23424,23427,23462,23480,23491,23495,23497,23508,23504,23524,23526,23522,23518,23525,23531,23536,23542,23539,23557,23559,23560,23565,23571,23584,23586,23592,23608,23609,23617,23622,23630,23635,23632,23631,23409,23660,23662,20066,23670,23673,23692,23697,23700,22939,23723,23739,23734,23740,23735,23749,23742,23751,23769,23785,23805,23802,23789,23948,23786,23819,23829,23831,23900,23839,23835,23825,23828,23842,23834,23833,23832,23884,23890,23886,23883,23916,23923,23926,23943,23940,23938,23970,23965,23980,23982,23997,23952,23991,23996,24009,24013,24019,24018,24022,24027,24043,24050,24053,24075,24090,24089,24081,24091,24118,24119,24132,24131,24128,24142,24151,24148,24159,24162,24164,24135,24181,24182,24186,40636,24191,24224,24257,24258,24264,24272,24271,24278,24291,24285,24282,24283,24290,24289,24296,24297,24300,24305,24307,24304,24308,24312,24318,24323,24329,24413,24412,24331,24337,24342,24361,24365,24376,24385,24392,24396,24398,24367,24401,24406,24407,24409,24417,24429,24435,24439,24451,24450,24447,24458,24456,24465,24455,24478,24473,24472,24480,24488,24493,24508,24534,24571,24548,24568,24561,24541,24755,24575,24609,24672,24601,24592,24617,24590,24625,24603,24597,24619,24614,24591,24634,24666,24641,24682,24695,24671,24650,24646,24653,24675,24643,24676,24642,24684,24683,24665,24705,24717,24807,24707,24730,24708,24731,24726,24727,24722,24743,24715,24801,24760,24800,24787,24756,24560,24765,24774,24757,24792,24909,24853,24838,24822,24823,24832,24820,24826,24835,24865,24827,24817,24845,24846,24903,24894,24872,24871,24906,24895,24892,24876,24884,24893,24898,24900,24947,24951,24920,24921,24922,24939,24948,24943,24933,24945,24927,24925,24915,24949,24985,24982,24967,25004,24980,24986,24970,24977,25003,25006,25036,25034,25033,25079,25032,25027,25030,25018,25035,32633,25037,25062,25059,25078,25082,25076,25087,25085,25084,25086,25088,25096,25097,25101,25100,25108,25115,25118,25121,25130,25134,25136,25138,25139,25153,25166,25182,25187,25179,25184,25192,25212,25218,25225,25214,25234,25235,25238,25300,25219,25236,25303,25297,25275,25295,25343,25286,25812,25288,25308,25292,25290,25282,25287,25243,25289,25356,25326,25329,25383,25346,25352,25327,25333,25424,25406,25421,25628,25423,25494,25486,25472,25515,25462,25507,25487,25481,25503,25525,25451,25449,25534,25577,25536,25542,25571,25545,25554,25590,25540,25622,25652,25606,25619,25638,25654,25885,25623,25640,25615,25703,25711,25718,25678,25898,25749,25747,25765,25769,25736,25788,25818,25810,25797,25799,25787,25816,25794,25841,25831,33289,25824,25825,25260,25827,25839,25900,25846,25844,25842,25850,25856,25853,25880,25884,25861,25892,25891,25899,25908,25909,25911,25910,25912,30027,25928,25942,25941,25933,25944,25950,25949,25970,25976,25986,25987,35722,26011,26015,26027,26039,26051,26054,26049,26052,26060,26066,26075,26073,26080,26081,26097,26482,26122,26115,26107,26483,26165,26166,26164,26140,26191,26180,26185,26177,26206,26205,26212,26215,26216,26207,26210,26224,26243,26248,26254,26249,26244,26264,26269,26305,26297,26313,26302,26300,26308,26296,26326,26330,26336,26175,26342,26345,26352,26357,26359,26383,26390,26398,26406,26407,38712,26414,26431,26422,26433,26424,26423,26438,26462,26464,26457,26467,26468,26505,26480,26537,26492,26474,26508,26507,26534,26529,26501,26551,26607,26548,26604,26547,26601,26552,26596,26590,26589,26594,26606,26553,26574,26566,26599,27292,26654,26694,26665,26688,26701,26674,26702,26803,26667,26713,26723,26743,26751,26783,26767,26797,26772,26781,26779,26755,27310,26809,26740,26805,26784,26810,26895,26765,26750,26881,26826,26888,26840,26914,26918,26849,26892,26829,26836,26855,26837,26934,26898,26884,26839,26851,26917,26873,26848,26863,26920,26922,26906,26915,26913,26822,27001,26999,26972,27000,26987,26964,27006,26990,26937,26996,26941,26969,26928,26977,26974,26973,27009,26986,27058,27054,27088,27071,27073,27091,27070,27086,23528,27082,27101,27067,27075,27047,27182,27025,27040,27036,27029,27060,27102,27112,27138,27163,27135,27402,27129,27122,27111,27141,27057,27166,27117,27156,27115,27146,27154,27329,27171,27155,27204,27148,27250,27190,27256,27207,27234,27225,27238,27208,27192,27170,27280,27277,27296,27268,27298,27299,27287,34327,27323,27331,27330,27320,27315,27308,27358,27345,27359,27306,27354,27370,27387,27397,34326,27386,27410,27414,39729,27423,27448,27447,30428,27449,39150,27463,27459,27465,27472,27481,27476,27483,27487,27489,27512,27513,27519,27520,27524,27523,27533,27544,27541,27550,27556,27562,27563,27567,27570,27569,27571,27575,27580,27590,27595,27603,27615,27628,27627,27635,27631,40638,27656,27667,27668,27675,27684,27683,27742,27733,27746,27754,27778,27789,27802,27777,27803,27774,27752,27763,27794,27792,27844,27889,27859,27837,27863,27845,27869,27822,27825,27838,27834,27867,27887,27865,27882,27935,34893,27958,27947,27965,27960,27929,27957,27955,27922,27916,28003,28051,28004,27994,28025,27993,28046,28053,28644,28037,28153,28181,28170,28085,28103,28134,28088,28102,28140,28126,28108,28136,28114,28101,28154,28121,28132,28117,28138,28142,28205,28270,28206,28185,28274,28255,28222,28195,28267,28203,28278,28237,28191,28227,28218,28238,28196,28415,28189,28216,28290,28330,28312,28361,28343,28371,28349,28335,28356,28338,28372,28373,28303,28325,28354,28319,28481,28433,28748,28396,28408,28414,28479,28402,28465,28399,28466,28364,28478,28435,28407,28550,28538,28536,28545,28544,28527,28507,28659,28525,28546,28540,28504,28558,28561,28610,28518,28595,28579,28577,28580,28601,28614,28586,28639,28629,28652,28628,28632,28657,28654,28635,28681,28683,28666,28689,28673,28687,28670,28699,28698,28532,28701,28696,28703,28720,28734,28722,28753,28771,28825,28818,28847,28913,28844,28856,28851,28846,28895,28875,28893,28889,28937,28925,28956,28953,29029,29013,29064,29030,29026,29004,29014,29036,29071,29179,29060,29077,29096,29100,29143,29113,29118,29138,29129,29140,29134,29152,29164,29159,29173,29180,29177,29183,29197,29200,29211,29224,29229,29228,29232,29234,29243,29244,29247,29248,29254,29259,29272,29300,29310,29314,29313,29319,29330,29334,29346,29351,29369,29362,29379,29382,29380,29390,29394,29410,29408,29409,29433,29431,20495,29463,29450,29468,29462,29469,29492,29487,29481,29477,29502,29518,29519,40664,29527,29546,29544,29552,29560,29557,29563,29562,29640,29619,29646,29627,29632,29669,29678,29662,29858,29701,29807,29733,29688,29746,29754,29781,29759,29791,29785,29761,29788,29801,29808,29795,29802,29814,29822,29835,29854,29863,29898,29903,29908,29681,29920,29923,29927,29929,29934,29938,29936,29937,29944,29943,29956,29955,29957,29964,29966,29965,29973,29971,29982,29990,29996,30012,30020,30029,30026,30025,30043,30022,30042,30057,30052,30055,30059,30061,30072,30070,30086,30087,30068,30090,30089,30082,30100,30106,30109,30117,30115,30146,30131,30147,30133,30141,30136,30140,30129,30157,30154,30162,30169,30179,30174,30206,30207,30204,30209,30192,30202,30194,30195,30219,30221,30217,30239,30247,30240,30241,30242,30244,30260,30256,30267,30279,30280,30278,30300,30296,30305,30306,30312,30313,30314,30311,30316,30320,30322,30326,30328,30332,30336,30339,30344,30347,30350,30358,30355,30361,30362,30384,30388,30392,30393,30394,30402,30413,30422,30418,30430,30433,30437,30439,30442,34351,30459,30472,30471,30468,30505,30500,30494,30501,30502,30491,30519,30520,30535,30554,30568,30571,30555,30565,30591,30590,30585,30606,30603,30609,30624,30622,30640,30646,30649,30655,30652,30653,30651,30663,30669,30679,30682,30684,30691,30702,30716,30732,30738,31014,30752,31018,30789,30862,30836,30854,30844,30874,30860,30883,30901,30890,30895,30929,30918,30923,30932,30910,30908,30917,30922,30956,30951,30938,30973,30964,30983,30994,30993,31001,31020,31019,31040,31072,31063,31071,31066,31061,31059,31098,31103,31114,31133,31143,40779,31146,31150,31155,31161,31162,31177,31189,31207,31212,31201,31203,31240,31245,31256,31257,31264,31263,31104,31281,31291,31294,31287,31299,31319,31305,31329,31330,31337,40861,31344,31353,31357,31368,31383,31381,31384,31382,31401,31432,31408,31414,31429,31428,31423,36995,31431,31434,31437,31439,31445,31443,31449,31450,31453,31457,31458,31462,31469,31472,31490,31503,31498,31494,31539,31512,31513,31518,31541,31528,31542,31568,31610,31492,31565,31499,31564,31557,31605,31589,31604,31591,31600,31601,31596,31598,31645,31640,31647,31629,31644,31642,31627,31634,31631,31581,31641,31691,31681,31692,31695,31668,31686,31709,31721,31761,31764,31718,31717,31840,31744,31751,31763,31731,31735,31767,31757,31734,31779,31783,31786,31775,31799,31787,31805,31820,31811,31828,31823,31808,31824,31832,31839,31844,31830,31845,31852,31861,31875,31888,31908,31917,31906,31915,31905,31912,31923,31922,31921,31918,31929,31933,31936,31941,31938,31960,31954,31964,31970,39739,31983,31986,31988,31990,31994,32006,32002,32028,32021,32010,32069,32075,32046,32050,32063,32053,32070,32115,32086,32078,32114,32104,32110,32079,32099,32147,32137,32091,32143,32125,32155,32186,32174,32163,32181,32199,32189,32171,32317,32162,32175,32220,32184,32159,32176,32216,32221,32228,32222,32251,32242,32225,32261,32266,32291,32289,32274,32305,32287,32265,32267,32290,32326,32358,32315,32309,32313,32323,32311,32306,32314,32359,32349,32342,32350,32345,32346,32377,32362,32361,32380,32379,32387,32213,32381,36782,32383,32392,32393,32396,32402,32400,32403,32404,32406,32398,32411,32412,32568,32570,32581,32588,32589,32590,32592,32593,32597,32596,32600,32607,32608,32616,32617,32615,32632,32642,32646,32643,32648,32647,32652,32660,32670,32669,32666,32675,32687,32690,32697,32686,32694,32696,35697,32709,32710,32714,32725,32724,32737,32742,32745,32755,32761,39132,32774,32772,32779,32786,32792,32793,32796,32801,32808,32831,32827,32842,32838,32850,32856,32858,32863,32866,32872,32883,32882,32880,32886,32889,32893,32895,32900,32902,32901,32923,32915,32922,32941,20880,32940,32987,32997,32985,32989,32964,32986,32982,33033,33007,33009,33051,33065,33059,33071,33099,38539,33094,33086,33107,33105,33020,33137,33134,33125,33126,33140,33155,33160,33162,33152,33154,33184,33173,33188,33187,33119,33171,33193,33200,33205,33214,33208,33213,33216,33218,33210,33225,33229,33233,33241,33240,33224,33242,33247,33248,33255,33274,33275,33278,33281,33282,33285,33287,33290,33293,33296,33302,33321,33323,33336,33331,33344,33369,33368,33373,33370,33375,33380,33378,33384,33386,33387,33326,33393,33399,33400,33406,33421,33426,33451,33439,33467,33452,33505,33507,33503,33490,33524,33523,33530,33683,33539,33531,33529,33502,33542,33500,33545,33497,33589,33588,33558,33586,33585,33600,33593,33616,33605,33583,33579,33559,33560,33669,33690,33706,33695,33698,33686,33571,33678,33671,33674,33660,33717,33651,33653,33696,33673,33704,33780,33811,33771,33742,33789,33795,33752,33803,33729,33783,33799,33760,33778,33805,33826,33824,33725,33848,34054,33787,33901,33834,33852,34138,33924,33911,33899,33965,33902,33922,33897,33862,33836,33903,33913,33845,33994,33890,33977,33983,33951,34009,33997,33979,34010,34000,33985,33990,34006,33953,34081,34047,34036,34071,34072,34092,34079,34069,34068,34044,34112,34147,34136,34120,34113,34306,34123,34133,34176,34212,34184,34193,34186,34216,34157,34196,34203,34282,34183,34204,34167,34174,34192,34249,34234,34255,34233,34256,34261,34269,34277,34268,34297,34314,34323,34315,34302,34298,34310,34338,34330,34352,34367,34381,20053,34388,34399,34407,34417,34451,34467,34473,34474,34443,34444,34486,34479,34500,34502,34480,34505,34851,34475,34516,34526,34537,34540,34527,34523,34543,34578,34566,34568,34560,34563,34555,34577,34569,34573,34553,34570,34612,34623,34615,34619,34597,34601,34586,34656,34655,34680,34636,34638,34676,34647,34664,34670,34649,34643,34659,34666,34821,34722,34719,34690,34735,34763,34749,34752,34768,38614,34731,34756,34739,34759,34758,34747,34799,34802,34784,34831,34829,34814,34806,34807,34830,34770,34833,34838,34837,34850,34849,34865,34870,34873,34855,34875,34884,34882,34898,34905,34910,34914,34923,34945,34942,34974,34933,34941,34997,34930,34946,34967,34962,34990,34969,34978,34957,34980,34992,35007,34993,35011,35012,35028,35032,35033,35037,35065,35074,35068,35060,35048,35058,35076,35084,35082,35091,35139,35102,35109,35114,35115,35137,35140,35131,35126,35128,35148,35101,35168,35166,35174,35172,35181,35178,35183,35188,35191,35198,35203,35208,35210,35219,35224,35233,35241,35238,35244,35247,35250,35258,35261,35263,35264,35290,35292,35293,35303,35316,35320,35331,35350,35344,35340,35355,35357,35365,35382,35393,35419,35410,35398,35400,35452,35437,35436,35426,35461,35458,35460,35496,35489,35473,35493,35494,35482,35491,35524,35533,35522,35546,35563,35571,35559,35556,35569,35604,35552,35554,35575,35550,35547,35596,35591,35610,35553,35606,35600,35607,35616,35635,38827,35622,35627,35646,35624,35649,35660,35663,35662,35657,35670,35675,35674,35691,35679,35692,35695,35700,35709,35712,35724,35726,35730,35731,35734,35737,35738,35898,35905,35903,35912,35916,35918,35920,35925,35938,35948,35960,35962,35970,35977,35973,35978,35981,35982,35988,35964,35992,25117,36013,36010,36029,36018,36019,36014,36022,36040,36033,36068,36067,36058,36093,36090,36091,36100,36101,36106,36103,36111,36109,36112,40782,36115,36045,36116,36118,36199,36205,36209,36211,36225,36249,36290,36286,36282,36303,36314,36310,36300,36315,36299,36330,36331,36319,36323,36348,36360,36361,36351,36381,36382,36368,36383,36418,36405,36400,36404,36426,36423,36425,36428,36432,36424,36441,36452,36448,36394,36451,36437,36470,36466,36476,36481,36487,36485,36484,36491,36490,36499,36497,36500,36505,36522,36513,36524,36528,36550,36529,36542,36549,36552,36555,36571,36579,36604,36603,36587,36606,36618,36613,36629,36626,36633,36627,36636,36639,36635,36620,36646,36659,36667,36665,36677,36674,36670,36684,36681,36678,36686,36695,36700,36706,36707,36708,36764,36767,36771,36781,36783,36791,36826,36837,36834,36842,36847,36999,36852,36869,36857,36858,36881,36885,36897,36877,36894,36886,36875,36903,36918,36917,36921,36856,36943,36944,36945,36946,36878,36937,36926,36950,36952,36958,36968,36975,36982,38568,36978,36994,36989,36993,36992,37002,37001,37007,37032,37039,37041,37045,37090,37092,25160,37083,37122,37138,37145,37170,37168,37194,37206,37208,37219,37221,37225,37235,37234,37259,37257,37250,37282,37291,37295,37290,37301,37300,37306,37312,37313,37321,37323,37328,37334,37343,37345,37339,37372,37365,37366,37406,37375,37396,37420,37397,37393,37470,37463,37445,37449,37476,37448,37525,37439,37451,37456,37532,37526,37523,37531,37466,37583,37561,37559,37609,37647,37626,37700,37678,37657,37666,37658,37667,37690,37685,37691,37724,37728,37756,37742,37718,37808,37804,37805,37780,37817,37846,37847,37864,37861,37848,37827,37853,37840,37832,37860,37914,37908,37907,37891,37895,37904,37942,37931,37941,37921,37946,37953,37970,37956,37979,37984,37986,37982,37994,37417,38000,38005,38007,38013,37978,38012,38014,38017,38015,38274,38279,38282,38292,38294,38296,38297,38304,38312,38311,38317,38332,38331,38329,38334,38346,28662,38339,38349,38348,38357,38356,38358,38364,38369,38373,38370,38433,38440,38446,38447,38466,38476,38479,38475,38519,38492,38494,38493,38495,38502,38514,38508,38541,38552,38549,38551,38570,38567,38577,38578,38576,38580,38582,38584,38585,38606,38603,38601,38605,35149,38620,38669,38613,38649,38660,38662,38664,38675,38670,38673,38671,38678,38681,38692,38698,38704,38713,38717,38718,38724,38726,38728,38722,38729,38748,38752,38756,38758,38760,21202,38763,38769,38777,38789,38780,38785,38778,38790,38795,38799,38800,38812,38824,38822,38819,38835,38836,38851,38854,38856,38859,38876,38893,40783,38898,31455,38902,38901,38927,38924,38968,38948,38945,38967,38973,38982,38991,38987,39019,39023,39024,39025,39028,39027,39082,39087,39089,39094,39108,39107,39110,39145,39147,39171,39177,39186,39188,39192,39201,39197,39198,39204,39200,39212,39214,39229,39230,39234,39241,39237,39248,39243,39249,39250,39244,39253,39319,39320,39333,39341,39342,39356,39391,39387,39389,39384,39377,39405,39406,39409,39410,39419,39416,39425,39439,39429,39394,39449,39467,39479,39493,39490,39488,39491,39486,39509,39501,39515,39511,39519,39522,39525,39524,39529,39531,39530,39597,39600,39612,39616,39631,39633,39635,39636,39646,39647,39650,39651,39654,39663,39659,39662,39668,39665,39671,39675,39686,39704,39706,39711,39714,39715,39717,39719,39720,39721,39722,39726,39727,39730,39748,39747,39759,39757,39758,39761,39768,39796,39827,39811,39825,39830,39831,39839,39840,39848,39860,39872,39882,39865,39878,39887,39889,39890,39907,39906,39908,39892,39905,39994,39922,39921,39920,39957,39956,39945,39955,39948,39942,39944,39954,39946,39940,39982,39963,39973,39972,39969,39984,40007,39986,40006,39998,40026,40032,40039,40054,40056,40167,40172,40176,40201,40200,40171,40195,40198,40234,40230,40367,40227,40223,40260,40213,40210,40257,40255,40254,40262,40264,40285,40286,40292,40273,40272,40281,40306,40329,40327,40363,40303,40314,40346,40356,40361,40370,40388,40385,40379,40376,40378,40390,40399,40386,40409,40403,40440,40422,40429,40431,40445,40474,40475,40478,40565,40569,40573,40577,40584,40587,40588,40594,40597,40593,40605,40613,40617,40632,40618,40621,38753,40652,40654,40655,40656,40660,40668,40670,40669,40672,40677,40680,40687,40692,40694,40695,40697,40699,40700,40701,40711,40712,30391,40725,40737,40748,40766,40778,40786,40788,40803,40799,40800,40801,40806,40807,40812,40810,40823,40818,40822,40853,40860,40864,22575,27079,36953,29796,20956,29081,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,32394,35100,37704,37512,34012,20425,28859,26161,26824,37625,26363,24389,20008,20193,20220,20224,20227,20281,20310,20370,20362,20378,20372,20429,20544,20514,20479,20510,20550,20592,20546,20628,20724,20696,20810,20836,20893,20926,20972,21013,21148,21158,21184,21211,21248,21255,21284,21362,21395,21426,21469,64014,21660,21642,21673,21759,21894,22361,22373,22444,22472,22471,64015,64016,22686,22706,22795,22867,22875,22877,22883,22948,22970,23382,23488,29999,23512,23532,23582,23718,23738,23797,23847,23891,64017,23874,23917,23992,23993,24016,24353,24372,24423,24503,24542,24669,24709,24714,24798,24789,24864,24818,24849,24887,24880,24984,25107,25254,25589,25696,25757,25806,25934,26112,26133,26171,26121,26158,26142,26148,26213,26199,26201,64018,26227,26265,26272,26290,26303,26362,26382,63785,26470,26555,26706,26560,26625,26692,26831,64019,26984,64020,27032,27106,27184,27243,27206,27251,27262,27362,27364,27606,27711,27740,27782,27759,27866,27908,28039,28015,28054,28076,28111,28152,28146,28156,28217,28252,28199,28220,28351,28552,28597,28661,28677,28679,28712,28805,28843,28943,28932,29020,28998,28999,64021,29121,29182,29361,29374,29476,64022,29559,29629,29641,29654,29667,29650,29703,29685,29734,29738,29737,29742,29794,29833,29855,29953,30063,30338,30364,30366,30363,30374,64023,30534,21167,30753,30798,30820,30842,31024,64024,64025,64026,31124,64027,31131,31441,31463,64028,31467,31646,64029,32072,32092,32183,32160,32214,32338,32583,32673,64030,33537,33634,33663,33735,33782,33864,33972,34131,34137,34155,64031,34224,64032,64033,34823,35061,35346,35383,35449,35495,35518,35551,64034,35574,35667,35711,36080,36084,36114,36214,64035,36559,64036,64037,36967,37086,64038,37141,37159,37338,37335,37342,37357,37358,37348,37349,37382,37392,37386,37434,37440,37436,37454,37465,37457,37433,37479,37543,37495,37496,37607,37591,37593,37584,64039,37589,37600,37587,37669,37665,37627,64040,37662,37631,37661,37634,37744,37719,37796,37830,37854,37880,37937,37957,37960,38290,63964,64041,38557,38575,38707,38715,38723,38733,38735,38737,38741,38999,39013,64042,64043,39207,64044,39326,39502,39641,39644,39797,39794,39823,39857,39867,39936,40304,40299,64045,40473,40657,null,null,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,65506,65508,65287,65282,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,65506,65508,65287,65282,12849,8470,8481,8757,32394,35100,37704,37512,34012,20425,28859,26161,26824,37625,26363,24389,20008,20193,20220,20224,20227,20281,20310,20370,20362,20378,20372,20429,20544,20514,20479,20510,20550,20592,20546,20628,20724,20696,20810,20836,20893,20926,20972,21013,21148,21158,21184,21211,21248,21255,21284,21362,21395,21426,21469,64014,21660,21642,21673,21759,21894,22361,22373,22444,22472,22471,64015,64016,22686,22706,22795,22867,22875,22877,22883,22948,22970,23382,23488,29999,23512,23532,23582,23718,23738,23797,23847,23891,64017,23874,23917,23992,23993,24016,24353,24372,24423,24503,24542,24669,24709,24714,24798,24789,24864,24818,24849,24887,24880,24984,25107,25254,25589,25696,25757,25806,25934,26112,26133,26171,26121,26158,26142,26148,26213,26199,26201,64018,26227,26265,26272,26290,26303,26362,26382,63785,26470,26555,26706,26560,26625,26692,26831,64019,26984,64020,27032,27106,27184,27243,27206,27251,27262,27362,27364,27606,27711,27740,27782,27759,27866,27908,28039,28015,28054,28076,28111,28152,28146,28156,28217,28252,28199,28220,28351,28552,28597,28661,28677,28679,28712,28805,28843,28943,28932,29020,28998,28999,64021,29121,29182,29361,29374,29476,64022,29559,29629,29641,29654,29667,29650,29703,29685,29734,29738,29737,29742,29794,29833,29855,29953,30063,30338,30364,30366,30363,30374,64023,30534,21167,30753,30798,30820,30842,31024,64024,64025,64026,31124,64027,31131,31441,31463,64028,31467,31646,64029,32072,32092,32183,32160,32214,32338,32583,32673,64030,33537,33634,33663,33735,33782,33864,33972,34131,34137,34155,64031,34224,64032,64033,34823,35061,35346,35383,35449,35495,35518,35551,64034,35574,35667,35711,36080,36084,36114,36214,64035,36559,64036,64037,36967,37086,64038,37141,37159,37338,37335,37342,37357,37358,37348,37349,37382,37392,37386,37434,37440,37436,37454,37465,37457,37433,37479,37543,37495,37496,37607,37591,37593,37584,64039,37589,37600,37587,37669,37665,37627,64040,37662,37631,37661,37634,37744,37719,37796,37830,37854,37880,37937,37957,37960,38290,63964,64041,38557,38575,38707,38715,38723,38733,38735,38737,38741,38999,39013,64042,64043,39207,64044,39326,39502,39641,39644,39797,39794,39823,39857,39867,39936,40304,40299,64045,40473,40657,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],\n  \"jis0212\":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,728,711,184,729,733,175,731,730,65374,900,901,null,null,null,null,null,null,null,null,161,166,191,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,186,170,169,174,8482,164,8470,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,902,904,905,906,938,null,908,null,910,939,null,911,null,null,null,null,940,941,942,943,970,912,972,962,973,971,944,974,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1038,1039,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1118,1119,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,198,272,null,294,null,306,null,321,319,null,330,216,338,null,358,222,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,230,273,240,295,305,307,312,322,320,329,331,248,339,223,359,254,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,193,192,196,194,258,461,256,260,197,195,262,264,268,199,266,270,201,200,203,202,282,278,274,280,null,284,286,290,288,292,205,204,207,206,463,304,298,302,296,308,310,313,317,315,323,327,325,209,211,210,214,212,465,336,332,213,340,344,342,346,348,352,350,356,354,218,217,220,219,364,467,368,362,370,366,360,471,475,473,469,372,221,376,374,377,381,379,null,null,null,null,null,null,null,225,224,228,226,259,462,257,261,229,227,263,265,269,231,267,271,233,232,235,234,283,279,275,281,501,285,287,null,289,293,237,236,239,238,464,null,299,303,297,309,311,314,318,316,324,328,326,241,243,242,246,244,466,337,333,245,341,345,343,347,349,353,351,357,355,250,249,252,251,365,468,369,363,371,367,361,472,476,474,470,373,253,255,375,378,382,380,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,19970,19972,19973,19980,19986,19999,20003,20004,20008,20011,20014,20015,20016,20021,20032,20033,20036,20039,20049,20058,20060,20067,20072,20073,20084,20085,20089,20095,20109,20118,20119,20125,20143,20153,20163,20176,20186,20187,20192,20193,20194,20200,20207,20209,20211,20213,20221,20222,20223,20224,20226,20227,20232,20235,20236,20242,20245,20246,20247,20249,20270,20273,20320,20275,20277,20279,20281,20283,20286,20288,20290,20296,20297,20299,20300,20306,20308,20310,20312,20319,20323,20330,20332,20334,20337,20343,20344,20345,20346,20349,20350,20353,20354,20356,20357,20361,20362,20364,20366,20368,20370,20371,20372,20375,20377,20378,20382,20383,20402,20407,20409,20411,20412,20413,20414,20416,20417,20421,20422,20424,20425,20427,20428,20429,20431,20434,20444,20448,20450,20464,20466,20476,20477,20479,20480,20481,20484,20487,20490,20492,20494,20496,20499,20503,20504,20507,20508,20509,20510,20514,20519,20526,20528,20530,20531,20533,20544,20545,20546,20549,20550,20554,20556,20558,20561,20562,20563,20567,20569,20575,20576,20578,20579,20582,20583,20586,20589,20592,20593,20539,20609,20611,20612,20614,20618,20622,20623,20624,20626,20627,20628,20630,20635,20636,20638,20639,20640,20641,20642,20650,20655,20656,20665,20666,20669,20672,20675,20676,20679,20684,20686,20688,20691,20692,20696,20700,20701,20703,20706,20708,20710,20712,20713,20719,20721,20726,20730,20734,20739,20742,20743,20744,20747,20748,20749,20750,20722,20752,20759,20761,20763,20764,20765,20766,20771,20775,20776,20780,20781,20783,20785,20787,20788,20789,20792,20793,20802,20810,20815,20819,20821,20823,20824,20831,20836,20838,20862,20867,20868,20875,20878,20888,20893,20897,20899,20909,20920,20922,20924,20926,20927,20930,20936,20943,20945,20946,20947,20949,20952,20958,20962,20965,20974,20978,20979,20980,20983,20993,20994,20997,21010,21011,21013,21014,21016,21026,21032,21041,21042,21045,21052,21061,21065,21077,21079,21080,21082,21084,21087,21088,21089,21094,21102,21111,21112,21113,21120,21122,21125,21130,21132,21139,21141,21142,21143,21144,21146,21148,21156,21157,21158,21159,21167,21168,21174,21175,21176,21178,21179,21181,21184,21188,21190,21192,21196,21199,21201,21204,21206,21211,21212,21217,21221,21224,21225,21226,21228,21232,21233,21236,21238,21239,21248,21251,21258,21259,21260,21265,21267,21272,21275,21276,21278,21279,21285,21287,21288,21289,21291,21292,21293,21296,21298,21301,21308,21309,21310,21314,21324,21323,21337,21339,21345,21347,21349,21356,21357,21362,21369,21374,21379,21383,21384,21390,21395,21396,21401,21405,21409,21412,21418,21419,21423,21426,21428,21429,21431,21432,21434,21437,21440,21445,21455,21458,21459,21461,21466,21469,21470,21472,21478,21479,21493,21506,21523,21530,21537,21543,21544,21546,21551,21553,21556,21557,21571,21572,21575,21581,21583,21598,21602,21604,21606,21607,21609,21611,21613,21614,21620,21631,21633,21635,21637,21640,21641,21645,21649,21653,21654,21660,21663,21665,21670,21671,21673,21674,21677,21678,21681,21687,21689,21690,21691,21695,21702,21706,21709,21710,21728,21738,21740,21743,21750,21756,21758,21759,21760,21761,21765,21768,21769,21772,21773,21774,21781,21802,21803,21810,21813,21814,21819,21820,21821,21825,21831,21833,21834,21837,21840,21841,21848,21850,21851,21854,21856,21857,21860,21862,21887,21889,21890,21894,21896,21902,21903,21905,21906,21907,21908,21911,21923,21924,21933,21938,21951,21953,21955,21958,21961,21963,21964,21966,21969,21970,21971,21975,21976,21979,21982,21986,21993,22006,22015,22021,22024,22026,22029,22030,22031,22032,22033,22034,22041,22060,22064,22067,22069,22071,22073,22075,22076,22077,22079,22080,22081,22083,22084,22086,22089,22091,22093,22095,22100,22110,22112,22113,22114,22115,22118,22121,22125,22127,22129,22130,22133,22148,22149,22152,22155,22156,22165,22169,22170,22173,22174,22175,22182,22183,22184,22185,22187,22188,22189,22193,22195,22199,22206,22213,22217,22218,22219,22223,22224,22220,22221,22233,22236,22237,22239,22241,22244,22245,22246,22247,22248,22257,22251,22253,22262,22263,22273,22274,22279,22282,22284,22289,22293,22298,22299,22301,22304,22306,22307,22308,22309,22313,22314,22316,22318,22319,22323,22324,22333,22334,22335,22341,22342,22348,22349,22354,22370,22373,22375,22376,22379,22381,22382,22383,22384,22385,22387,22388,22389,22391,22393,22394,22395,22396,22398,22401,22403,22412,22420,22423,22425,22426,22428,22429,22430,22431,22433,22421,22439,22440,22441,22444,22456,22461,22471,22472,22476,22479,22485,22493,22494,22500,22502,22503,22505,22509,22512,22517,22518,22520,22525,22526,22527,22531,22532,22536,22537,22497,22540,22541,22555,22558,22559,22560,22566,22567,22573,22578,22585,22591,22601,22604,22605,22607,22608,22613,22623,22625,22628,22631,22632,22648,22652,22655,22656,22657,22663,22664,22665,22666,22668,22669,22671,22672,22676,22678,22685,22688,22689,22690,22694,22697,22705,22706,22724,22716,22722,22728,22733,22734,22736,22738,22740,22742,22746,22749,22753,22754,22761,22771,22789,22790,22795,22796,22802,22803,22804,34369,22813,22817,22819,22820,22824,22831,22832,22835,22837,22838,22847,22851,22854,22866,22867,22873,22875,22877,22878,22879,22881,22883,22891,22893,22895,22898,22901,22902,22905,22907,22908,22923,22924,22926,22930,22933,22935,22943,22948,22951,22957,22958,22959,22960,22963,22967,22970,22972,22977,22979,22980,22984,22986,22989,22994,23005,23006,23007,23011,23012,23015,23022,23023,23025,23026,23028,23031,23040,23044,23052,23053,23054,23058,23059,23070,23075,23076,23079,23080,23082,23085,23088,23108,23109,23111,23112,23116,23120,23125,23134,23139,23141,23143,23149,23159,23162,23163,23166,23179,23184,23187,23190,23193,23196,23198,23199,23200,23202,23207,23212,23217,23218,23219,23221,23224,23226,23227,23231,23236,23238,23240,23247,23258,23260,23264,23269,23274,23278,23285,23286,23293,23296,23297,23304,23319,23348,23321,23323,23325,23329,23333,23341,23352,23361,23371,23372,23378,23382,23390,23400,23406,23407,23420,23421,23422,23423,23425,23428,23430,23434,23438,23440,23441,23443,23444,23446,23464,23465,23468,23469,23471,23473,23474,23479,23482,23484,23488,23489,23501,23503,23510,23511,23512,23513,23514,23520,23535,23537,23540,23549,23564,23575,23582,23583,23587,23590,23593,23595,23596,23598,23600,23602,23605,23606,23641,23642,23644,23650,23651,23655,23656,23657,23661,23664,23668,23669,23674,23675,23676,23677,23687,23688,23690,23695,23698,23709,23711,23712,23714,23715,23718,23722,23730,23732,23733,23738,23753,23755,23762,23773,23767,23790,23793,23794,23796,23809,23814,23821,23826,23851,23843,23844,23846,23847,23857,23860,23865,23869,23871,23874,23875,23878,23880,23893,23889,23897,23882,23903,23904,23905,23906,23908,23914,23917,23920,23929,23930,23934,23935,23937,23939,23944,23946,23954,23955,23956,23957,23961,23963,23967,23968,23975,23979,23984,23988,23992,23993,24003,24007,24011,24016,24014,24024,24025,24032,24036,24041,24056,24057,24064,24071,24077,24082,24084,24085,24088,24095,24096,24110,24104,24114,24117,24126,24139,24144,24137,24145,24150,24152,24155,24156,24158,24168,24170,24171,24172,24173,24174,24176,24192,24203,24206,24226,24228,24229,24232,24234,24236,24241,24243,24253,24254,24255,24262,24268,24267,24270,24273,24274,24276,24277,24284,24286,24293,24299,24322,24326,24327,24328,24334,24345,24348,24349,24353,24354,24355,24356,24360,24363,24364,24366,24368,24372,24374,24379,24381,24383,24384,24388,24389,24391,24397,24400,24404,24408,24411,24416,24419,24420,24423,24431,24434,24436,24437,24440,24442,24445,24446,24457,24461,24463,24470,24476,24477,24482,24487,24491,24484,24492,24495,24496,24497,24504,24516,24519,24520,24521,24523,24528,24529,24530,24531,24532,24542,24545,24546,24552,24553,24554,24556,24557,24558,24559,24562,24563,24566,24570,24572,24583,24586,24589,24595,24596,24599,24600,24602,24607,24612,24621,24627,24629,24640,24647,24648,24649,24652,24657,24660,24662,24663,24669,24673,24679,24689,24702,24703,24706,24710,24712,24714,24718,24721,24723,24725,24728,24733,24734,24738,24740,24741,24744,24752,24753,24759,24763,24766,24770,24772,24776,24777,24778,24779,24782,24783,24788,24789,24793,24795,24797,24798,24802,24805,24818,24821,24824,24828,24829,24834,24839,24842,24844,24848,24849,24850,24851,24852,24854,24855,24857,24860,24862,24866,24874,24875,24880,24881,24885,24886,24887,24889,24897,24901,24902,24905,24926,24928,24940,24946,24952,24955,24956,24959,24960,24961,24963,24964,24971,24973,24978,24979,24983,24984,24988,24989,24991,24992,24997,25000,25002,25005,25016,25017,25020,25024,25025,25026,25038,25039,25045,25052,25053,25054,25055,25057,25058,25063,25065,25061,25068,25069,25071,25089,25091,25092,25095,25107,25109,25116,25120,25122,25123,25127,25129,25131,25145,25149,25154,25155,25156,25158,25164,25168,25169,25170,25172,25174,25178,25180,25188,25197,25199,25203,25210,25213,25229,25230,25231,25232,25254,25256,25267,25270,25271,25274,25278,25279,25284,25294,25301,25302,25306,25322,25330,25332,25340,25341,25347,25348,25354,25355,25357,25360,25363,25366,25368,25385,25386,25389,25397,25398,25401,25404,25409,25410,25411,25412,25414,25418,25419,25422,25426,25427,25428,25432,25435,25445,25446,25452,25453,25457,25460,25461,25464,25468,25469,25471,25474,25476,25479,25482,25488,25492,25493,25497,25498,25502,25508,25510,25517,25518,25519,25533,25537,25541,25544,25550,25553,25555,25556,25557,25564,25568,25573,25578,25580,25586,25587,25589,25592,25593,25609,25610,25616,25618,25620,25624,25630,25632,25634,25636,25637,25641,25642,25647,25648,25653,25661,25663,25675,25679,25681,25682,25683,25684,25690,25691,25692,25693,25695,25696,25697,25699,25709,25715,25716,25723,25725,25733,25735,25743,25744,25745,25752,25753,25755,25757,25759,25761,25763,25766,25768,25772,25779,25789,25790,25791,25796,25801,25802,25803,25804,25806,25808,25809,25813,25815,25828,25829,25833,25834,25837,25840,25845,25847,25851,25855,25857,25860,25864,25865,25866,25871,25875,25876,25878,25881,25883,25886,25887,25890,25894,25897,25902,25905,25914,25916,25917,25923,25927,25929,25936,25938,25940,25951,25952,25959,25963,25978,25981,25985,25989,25994,26002,26005,26008,26013,26016,26019,26022,26030,26034,26035,26036,26047,26050,26056,26057,26062,26064,26068,26070,26072,26079,26096,26098,26100,26101,26105,26110,26111,26112,26116,26120,26121,26125,26129,26130,26133,26134,26141,26142,26145,26146,26147,26148,26150,26153,26154,26155,26156,26158,26160,26161,26163,26169,26167,26176,26181,26182,26186,26188,26193,26190,26199,26200,26201,26203,26204,26208,26209,26363,26218,26219,26220,26238,26227,26229,26239,26231,26232,26233,26235,26240,26236,26251,26252,26253,26256,26258,26265,26266,26267,26268,26271,26272,26276,26285,26289,26290,26293,26299,26303,26304,26306,26307,26312,26316,26318,26319,26324,26331,26335,26344,26347,26348,26350,26362,26373,26375,26382,26387,26393,26396,26400,26402,26419,26430,26437,26439,26440,26444,26452,26453,26461,26470,26476,26478,26484,26486,26491,26497,26500,26510,26511,26513,26515,26518,26520,26521,26523,26544,26545,26546,26549,26555,26556,26557,26617,26560,26562,26563,26565,26568,26569,26578,26583,26585,26588,26593,26598,26608,26610,26614,26615,26706,26644,26649,26653,26655,26664,26663,26668,26669,26671,26672,26673,26675,26683,26687,26692,26693,26698,26700,26709,26711,26712,26715,26731,26734,26735,26736,26737,26738,26741,26745,26746,26747,26748,26754,26756,26758,26760,26774,26776,26778,26780,26785,26787,26789,26793,26794,26798,26802,26811,26821,26824,26828,26831,26832,26833,26835,26838,26841,26844,26845,26853,26856,26858,26859,26860,26861,26864,26865,26869,26870,26875,26876,26877,26886,26889,26890,26896,26897,26899,26902,26903,26929,26931,26933,26936,26939,26946,26949,26953,26958,26967,26971,26979,26980,26981,26982,26984,26985,26988,26992,26993,26994,27002,27003,27007,27008,27021,27026,27030,27032,27041,27045,27046,27048,27051,27053,27055,27063,27064,27066,27068,27077,27080,27089,27094,27095,27106,27109,27118,27119,27121,27123,27125,27134,27136,27137,27139,27151,27153,27157,27162,27165,27168,27172,27176,27184,27186,27188,27191,27195,27198,27199,27205,27206,27209,27210,27214,27216,27217,27218,27221,27222,27227,27236,27239,27242,27249,27251,27262,27265,27267,27270,27271,27273,27275,27281,27291,27293,27294,27295,27301,27307,27311,27312,27313,27316,27325,27326,27327,27334,27337,27336,27340,27344,27348,27349,27350,27356,27357,27364,27367,27372,27376,27377,27378,27388,27389,27394,27395,27398,27399,27401,27407,27408,27409,27415,27419,27422,27428,27432,27435,27436,27439,27445,27446,27451,27455,27462,27466,27469,27474,27478,27480,27485,27488,27495,27499,27502,27504,27509,27517,27518,27522,27525,27543,27547,27551,27552,27554,27555,27560,27561,27564,27565,27566,27568,27576,27577,27581,27582,27587,27588,27593,27596,27606,27610,27617,27619,27622,27623,27630,27633,27639,27641,27647,27650,27652,27653,27657,27661,27662,27664,27666,27673,27679,27686,27687,27688,27692,27694,27699,27701,27702,27706,27707,27711,27722,27723,27725,27727,27730,27732,27737,27739,27740,27755,27757,27759,27764,27766,27768,27769,27771,27781,27782,27783,27785,27796,27797,27799,27800,27804,27807,27824,27826,27828,27842,27846,27853,27855,27856,27857,27858,27860,27862,27866,27868,27872,27879,27881,27883,27884,27886,27890,27892,27908,27911,27914,27918,27919,27921,27923,27930,27942,27943,27944,27751,27950,27951,27953,27961,27964,27967,27991,27998,27999,28001,28005,28007,28015,28016,28028,28034,28039,28049,28050,28052,28054,28055,28056,28074,28076,28084,28087,28089,28093,28095,28100,28104,28106,28110,28111,28118,28123,28125,28127,28128,28130,28133,28137,28143,28144,28148,28150,28156,28160,28164,28190,28194,28199,28210,28214,28217,28219,28220,28228,28229,28232,28233,28235,28239,28241,28242,28243,28244,28247,28252,28253,28254,28258,28259,28264,28275,28283,28285,28301,28307,28313,28320,28327,28333,28334,28337,28339,28347,28351,28352,28353,28355,28359,28360,28362,28365,28366,28367,28395,28397,28398,28409,28411,28413,28420,28424,28426,28428,28429,28438,28440,28442,28443,28454,28457,28458,28463,28464,28467,28470,28475,28476,28461,28495,28497,28498,28499,28503,28505,28506,28509,28510,28513,28514,28520,28524,28541,28542,28547,28551,28552,28555,28556,28557,28560,28562,28563,28564,28566,28570,28575,28576,28581,28582,28583,28584,28590,28591,28592,28597,28598,28604,28613,28615,28616,28618,28634,28638,28648,28649,28656,28661,28665,28668,28669,28672,28677,28678,28679,28685,28695,28704,28707,28719,28724,28727,28729,28732,28739,28740,28744,28745,28746,28747,28756,28757,28765,28766,28750,28772,28773,28780,28782,28789,28790,28798,28801,28805,28806,28820,28821,28822,28823,28824,28827,28836,28843,28848,28849,28852,28855,28874,28881,28883,28884,28885,28886,28888,28892,28900,28922,28931,28932,28933,28934,28935,28939,28940,28943,28958,28960,28971,28973,28975,28976,28977,28984,28993,28997,28998,28999,29002,29003,29008,29010,29015,29018,29020,29022,29024,29032,29049,29056,29061,29063,29068,29074,29082,29083,29088,29090,29103,29104,29106,29107,29114,29119,29120,29121,29124,29131,29132,29139,29142,29145,29146,29148,29176,29182,29184,29191,29192,29193,29203,29207,29210,29213,29215,29220,29227,29231,29236,29240,29241,29249,29250,29251,29253,29262,29263,29264,29267,29269,29270,29274,29276,29278,29280,29283,29288,29291,29294,29295,29297,29303,29304,29307,29308,29311,29316,29321,29325,29326,29331,29339,29352,29357,29358,29361,29364,29374,29377,29383,29385,29388,29397,29398,29400,29407,29413,29427,29428,29434,29435,29438,29442,29444,29445,29447,29451,29453,29458,29459,29464,29465,29470,29474,29476,29479,29480,29484,29489,29490,29493,29498,29499,29501,29507,29517,29520,29522,29526,29528,29533,29534,29535,29536,29542,29543,29545,29547,29548,29550,29551,29553,29559,29561,29564,29568,29569,29571,29573,29574,29582,29584,29587,29589,29591,29592,29596,29598,29599,29600,29602,29605,29606,29610,29611,29613,29621,29623,29625,29628,29629,29631,29637,29638,29641,29643,29644,29647,29650,29651,29654,29657,29661,29665,29667,29670,29671,29673,29684,29685,29687,29689,29690,29691,29693,29695,29696,29697,29700,29703,29706,29713,29722,29723,29732,29734,29736,29737,29738,29739,29740,29741,29742,29743,29744,29745,29753,29760,29763,29764,29766,29767,29771,29773,29777,29778,29783,29789,29794,29798,29799,29800,29803,29805,29806,29809,29810,29824,29825,29829,29830,29831,29833,29839,29840,29841,29842,29848,29849,29850,29852,29855,29856,29857,29859,29862,29864,29865,29866,29867,29870,29871,29873,29874,29877,29881,29883,29887,29896,29897,29900,29904,29907,29912,29914,29915,29918,29919,29924,29928,29930,29931,29935,29940,29946,29947,29948,29951,29958,29970,29974,29975,29984,29985,29988,29991,29993,29994,29999,30006,30009,30013,30014,30015,30016,30019,30023,30024,30030,30032,30034,30039,30046,30047,30049,30063,30065,30073,30074,30075,30076,30077,30078,30081,30085,30096,30098,30099,30101,30105,30108,30114,30116,30132,30138,30143,30144,30145,30148,30150,30156,30158,30159,30167,30172,30175,30176,30177,30180,30183,30188,30190,30191,30193,30201,30208,30210,30211,30212,30215,30216,30218,30220,30223,30226,30227,30229,30230,30233,30235,30236,30237,30238,30243,30245,30246,30249,30253,30258,30259,30261,30264,30265,30266,30268,30282,30272,30273,30275,30276,30277,30281,30283,30293,30297,30303,30308,30309,30317,30318,30319,30321,30324,30337,30341,30348,30349,30357,30363,30364,30365,30367,30368,30370,30371,30372,30373,30374,30375,30376,30378,30381,30397,30401,30405,30409,30411,30412,30414,30420,30425,30432,30438,30440,30444,30448,30449,30454,30457,30460,30464,30470,30474,30478,30482,30484,30485,30487,30489,30490,30492,30498,30504,30509,30510,30511,30516,30517,30518,30521,30525,30526,30530,30533,30534,30538,30541,30542,30543,30546,30550,30551,30556,30558,30559,30560,30562,30564,30567,30570,30572,30576,30578,30579,30580,30586,30589,30592,30596,30604,30605,30612,30613,30614,30618,30623,30626,30631,30634,30638,30639,30641,30645,30654,30659,30665,30673,30674,30677,30681,30686,30687,30688,30692,30694,30698,30700,30704,30705,30708,30712,30715,30725,30726,30729,30733,30734,30737,30749,30753,30754,30755,30765,30766,30768,30773,30775,30787,30788,30791,30792,30796,30798,30802,30812,30814,30816,30817,30819,30820,30824,30826,30830,30842,30846,30858,30863,30868,30872,30881,30877,30878,30879,30884,30888,30892,30893,30896,30897,30898,30899,30907,30909,30911,30919,30920,30921,30924,30926,30930,30931,30933,30934,30948,30939,30943,30944,30945,30950,30954,30962,30963,30976,30966,30967,30970,30971,30975,30982,30988,30992,31002,31004,31006,31007,31008,31013,31015,31017,31021,31025,31028,31029,31035,31037,31039,31044,31045,31046,31050,31051,31055,31057,31060,31064,31067,31068,31079,31081,31083,31090,31097,31099,31100,31102,31115,31116,31121,31123,31124,31125,31126,31128,31131,31132,31137,31144,31145,31147,31151,31153,31156,31160,31163,31170,31172,31175,31176,31178,31183,31188,31190,31194,31197,31198,31200,31202,31205,31210,31211,31213,31217,31224,31228,31234,31235,31239,31241,31242,31244,31249,31253,31259,31262,31265,31271,31275,31277,31279,31280,31284,31285,31288,31289,31290,31300,31301,31303,31304,31308,31317,31318,31321,31324,31325,31327,31328,31333,31335,31338,31341,31349,31352,31358,31360,31362,31365,31366,31370,31371,31376,31377,31380,31390,31392,31395,31404,31411,31413,31417,31419,31420,31430,31433,31436,31438,31441,31451,31464,31465,31467,31468,31473,31476,31483,31485,31486,31495,31508,31519,31523,31527,31529,31530,31531,31533,31534,31535,31536,31537,31540,31549,31551,31552,31553,31559,31566,31573,31584,31588,31590,31593,31594,31597,31599,31602,31603,31607,31620,31625,31630,31632,31633,31638,31643,31646,31648,31653,31660,31663,31664,31666,31669,31670,31674,31675,31676,31677,31682,31685,31688,31690,31700,31702,31703,31705,31706,31707,31720,31722,31730,31732,31733,31736,31737,31738,31740,31742,31745,31746,31747,31748,31750,31753,31755,31756,31758,31759,31769,31771,31776,31781,31782,31784,31788,31793,31795,31796,31798,31801,31802,31814,31818,31829,31825,31826,31827,31833,31834,31835,31836,31837,31838,31841,31843,31847,31849,31853,31854,31856,31858,31865,31868,31869,31878,31879,31887,31892,31902,31904,31910,31920,31926,31927,31930,31931,31932,31935,31940,31943,31944,31945,31949,31951,31955,31956,31957,31959,31961,31962,31965,31974,31977,31979,31989,32003,32007,32008,32009,32015,32017,32018,32019,32022,32029,32030,32035,32038,32042,32045,32049,32060,32061,32062,32064,32065,32071,32072,32077,32081,32083,32087,32089,32090,32092,32093,32101,32103,32106,32112,32120,32122,32123,32127,32129,32130,32131,32133,32134,32136,32139,32140,32141,32145,32150,32151,32157,32158,32166,32167,32170,32179,32182,32183,32185,32194,32195,32196,32197,32198,32204,32205,32206,32215,32217,32256,32226,32229,32230,32234,32235,32237,32241,32245,32246,32249,32250,32264,32272,32273,32277,32279,32284,32285,32288,32295,32296,32300,32301,32303,32307,32310,32319,32324,32325,32327,32334,32336,32338,32344,32351,32353,32354,32357,32363,32366,32367,32371,32376,32382,32385,32390,32391,32394,32397,32401,32405,32408,32410,32413,32414,32572,32571,32573,32574,32575,32579,32580,32583,32591,32594,32595,32603,32604,32605,32609,32611,32612,32613,32614,32621,32625,32637,32638,32639,32640,32651,32653,32655,32656,32657,32662,32663,32668,32673,32674,32678,32682,32685,32692,32700,32703,32704,32707,32712,32718,32719,32731,32735,32739,32741,32744,32748,32750,32751,32754,32762,32765,32766,32767,32775,32776,32778,32781,32782,32783,32785,32787,32788,32790,32797,32798,32799,32800,32804,32806,32812,32814,32816,32820,32821,32823,32825,32826,32828,32830,32832,32836,32864,32868,32870,32877,32881,32885,32897,32904,32910,32924,32926,32934,32935,32939,32952,32953,32968,32973,32975,32978,32980,32981,32983,32984,32992,33005,33006,33008,33010,33011,33014,33017,33018,33022,33027,33035,33046,33047,33048,33052,33054,33056,33060,33063,33068,33072,33077,33082,33084,33093,33095,33098,33100,33106,33111,33120,33121,33127,33128,33129,33133,33135,33143,33153,33168,33156,33157,33158,33163,33166,33174,33176,33179,33182,33186,33198,33202,33204,33211,33227,33219,33221,33226,33230,33231,33237,33239,33243,33245,33246,33249,33252,33259,33260,33264,33265,33266,33269,33270,33272,33273,33277,33279,33280,33283,33295,33299,33300,33305,33306,33309,33313,33314,33320,33330,33332,33338,33347,33348,33349,33350,33355,33358,33359,33361,33366,33372,33376,33379,33383,33389,33396,33403,33405,33407,33408,33409,33411,33412,33415,33417,33418,33422,33425,33428,33430,33432,33434,33435,33440,33441,33443,33444,33447,33448,33449,33450,33454,33456,33458,33460,33463,33466,33468,33470,33471,33478,33488,33493,33498,33504,33506,33508,33512,33514,33517,33519,33526,33527,33533,33534,33536,33537,33543,33544,33546,33547,33620,33563,33565,33566,33567,33569,33570,33580,33581,33582,33584,33587,33591,33594,33596,33597,33602,33603,33604,33607,33613,33614,33617,33621,33622,33623,33648,33656,33661,33663,33664,33666,33668,33670,33677,33682,33684,33685,33688,33689,33691,33692,33693,33702,33703,33705,33708,33726,33727,33728,33735,33737,33743,33744,33745,33748,33757,33619,33768,33770,33782,33784,33785,33788,33793,33798,33802,33807,33809,33813,33817,33709,33839,33849,33861,33863,33864,33866,33869,33871,33873,33874,33878,33880,33881,33882,33884,33888,33892,33893,33895,33898,33904,33907,33908,33910,33912,33916,33917,33921,33925,33938,33939,33941,33950,33958,33960,33961,33962,33967,33969,33972,33978,33981,33982,33984,33986,33991,33992,33996,33999,34003,34012,34023,34026,34031,34032,34033,34034,34039,34098,34042,34043,34045,34050,34051,34055,34060,34062,34064,34076,34078,34082,34083,34084,34085,34087,34090,34091,34095,34099,34100,34102,34111,34118,34127,34128,34129,34130,34131,34134,34137,34140,34141,34142,34143,34144,34145,34146,34148,34155,34159,34169,34170,34171,34173,34175,34177,34181,34182,34185,34187,34188,34191,34195,34200,34205,34207,34208,34210,34213,34215,34228,34230,34231,34232,34236,34237,34238,34239,34242,34247,34250,34251,34254,34221,34264,34266,34271,34272,34278,34280,34285,34291,34294,34300,34303,34304,34308,34309,34317,34318,34320,34321,34322,34328,34329,34331,34334,34337,34343,34345,34358,34360,34362,34364,34365,34368,34370,34374,34386,34387,34390,34391,34392,34393,34397,34400,34401,34402,34403,34404,34409,34412,34415,34421,34422,34423,34426,34445,34449,34454,34456,34458,34460,34465,34470,34471,34472,34477,34481,34483,34484,34485,34487,34488,34489,34495,34496,34497,34499,34501,34513,34514,34517,34519,34522,34524,34528,34531,34533,34535,34440,34554,34556,34557,34564,34565,34567,34571,34574,34575,34576,34579,34580,34585,34590,34591,34593,34595,34600,34606,34607,34609,34610,34617,34618,34620,34621,34622,34624,34627,34629,34637,34648,34653,34657,34660,34661,34671,34673,34674,34683,34691,34692,34693,34694,34695,34696,34697,34699,34700,34704,34707,34709,34711,34712,34713,34718,34720,34723,34727,34732,34733,34734,34737,34741,34750,34751,34753,34760,34761,34762,34766,34773,34774,34777,34778,34780,34783,34786,34787,34788,34794,34795,34797,34801,34803,34808,34810,34815,34817,34819,34822,34825,34826,34827,34832,34841,34834,34835,34836,34840,34842,34843,34844,34846,34847,34856,34861,34862,34864,34866,34869,34874,34876,34881,34883,34885,34888,34889,34890,34891,34894,34897,34901,34902,34904,34906,34908,34911,34912,34916,34921,34929,34937,34939,34944,34968,34970,34971,34972,34975,34976,34984,34986,35002,35005,35006,35008,35018,35019,35020,35021,35022,35025,35026,35027,35035,35038,35047,35055,35056,35057,35061,35063,35073,35078,35085,35086,35087,35093,35094,35096,35097,35098,35100,35104,35110,35111,35112,35120,35121,35122,35125,35129,35130,35134,35136,35138,35141,35142,35145,35151,35154,35159,35162,35163,35164,35169,35170,35171,35179,35182,35184,35187,35189,35194,35195,35196,35197,35209,35213,35216,35220,35221,35227,35228,35231,35232,35237,35248,35252,35253,35254,35255,35260,35284,35285,35286,35287,35288,35301,35305,35307,35309,35313,35315,35318,35321,35325,35327,35332,35333,35335,35343,35345,35346,35348,35349,35358,35360,35362,35364,35366,35371,35372,35375,35381,35383,35389,35390,35392,35395,35397,35399,35401,35405,35406,35411,35414,35415,35416,35420,35421,35425,35429,35431,35445,35446,35447,35449,35450,35451,35454,35455,35456,35459,35462,35467,35471,35472,35474,35478,35479,35481,35487,35495,35497,35502,35503,35507,35510,35511,35515,35518,35523,35526,35528,35529,35530,35537,35539,35540,35541,35543,35549,35551,35564,35568,35572,35573,35574,35580,35583,35589,35590,35595,35601,35612,35614,35615,35594,35629,35632,35639,35644,35650,35651,35652,35653,35654,35656,35666,35667,35668,35673,35661,35678,35683,35693,35702,35704,35705,35708,35710,35713,35716,35717,35723,35725,35727,35732,35733,35740,35742,35743,35896,35897,35901,35902,35909,35911,35913,35915,35919,35921,35923,35924,35927,35928,35931,35933,35929,35939,35940,35942,35944,35945,35949,35955,35957,35958,35963,35966,35974,35975,35979,35984,35986,35987,35993,35995,35996,36004,36025,36026,36037,36038,36041,36043,36047,36054,36053,36057,36061,36065,36072,36076,36079,36080,36082,36085,36087,36088,36094,36095,36097,36099,36105,36114,36119,36123,36197,36201,36204,36206,36223,36226,36228,36232,36237,36240,36241,36245,36254,36255,36256,36262,36267,36268,36271,36274,36277,36279,36281,36283,36288,36293,36294,36295,36296,36298,36302,36305,36308,36309,36311,36313,36324,36325,36327,36332,36336,36284,36337,36338,36340,36349,36353,36356,36357,36358,36363,36369,36372,36374,36384,36385,36386,36387,36390,36391,36401,36403,36406,36407,36408,36409,36413,36416,36417,36427,36429,36430,36431,36436,36443,36444,36445,36446,36449,36450,36457,36460,36461,36463,36464,36465,36473,36474,36475,36482,36483,36489,36496,36498,36501,36506,36507,36509,36510,36514,36519,36521,36525,36526,36531,36533,36538,36539,36544,36545,36547,36548,36551,36559,36561,36564,36572,36584,36590,36592,36593,36599,36601,36602,36589,36608,36610,36615,36616,36623,36624,36630,36631,36632,36638,36640,36641,36643,36645,36647,36648,36652,36653,36654,36660,36661,36662,36663,36666,36672,36673,36675,36679,36687,36689,36690,36691,36692,36693,36696,36701,36702,36709,36765,36768,36769,36772,36773,36774,36789,36790,36792,36798,36800,36801,36806,36810,36811,36813,36816,36818,36819,36821,36832,36835,36836,36840,36846,36849,36853,36854,36859,36862,36866,36868,36872,36876,36888,36891,36904,36905,36911,36906,36908,36909,36915,36916,36919,36927,36931,36932,36940,36955,36957,36962,36966,36967,36972,36976,36980,36985,36997,37000,37003,37004,37006,37008,37013,37015,37016,37017,37019,37024,37025,37026,37029,37040,37042,37043,37044,37046,37053,37068,37054,37059,37060,37061,37063,37064,37077,37079,37080,37081,37084,37085,37087,37093,37074,37110,37099,37103,37104,37108,37118,37119,37120,37124,37125,37126,37128,37133,37136,37140,37142,37143,37144,37146,37148,37150,37152,37157,37154,37155,37159,37161,37166,37167,37169,37172,37174,37175,37177,37178,37180,37181,37187,37191,37192,37199,37203,37207,37209,37210,37211,37217,37220,37223,37229,37236,37241,37242,37243,37249,37251,37253,37254,37258,37262,37265,37267,37268,37269,37272,37278,37281,37286,37288,37292,37293,37294,37296,37297,37298,37299,37302,37307,37308,37309,37311,37314,37315,37317,37331,37332,37335,37337,37338,37342,37348,37349,37353,37354,37356,37357,37358,37359,37360,37361,37367,37369,37371,37373,37376,37377,37380,37381,37382,37383,37385,37386,37388,37392,37394,37395,37398,37400,37404,37405,37411,37412,37413,37414,37416,37422,37423,37424,37427,37429,37430,37432,37433,37434,37436,37438,37440,37442,37443,37446,37447,37450,37453,37454,37455,37457,37464,37465,37468,37469,37472,37473,37477,37479,37480,37481,37486,37487,37488,37493,37494,37495,37496,37497,37499,37500,37501,37503,37512,37513,37514,37517,37518,37522,37527,37529,37535,37536,37540,37541,37543,37544,37547,37551,37554,37558,37560,37562,37563,37564,37565,37567,37568,37569,37570,37571,37573,37574,37575,37576,37579,37580,37581,37582,37584,37587,37589,37591,37592,37593,37596,37597,37599,37600,37601,37603,37605,37607,37608,37612,37614,37616,37625,37627,37631,37632,37634,37640,37645,37649,37652,37653,37660,37661,37662,37663,37665,37668,37669,37671,37673,37674,37683,37684,37686,37687,37703,37704,37705,37712,37713,37714,37717,37719,37720,37722,37726,37732,37733,37735,37737,37738,37741,37743,37744,37745,37747,37748,37750,37754,37757,37759,37760,37761,37762,37768,37770,37771,37773,37775,37778,37781,37784,37787,37790,37793,37795,37796,37798,37800,37803,37812,37813,37814,37818,37801,37825,37828,37829,37830,37831,37833,37834,37835,37836,37837,37843,37849,37852,37854,37855,37858,37862,37863,37881,37879,37880,37882,37883,37885,37889,37890,37892,37896,37897,37901,37902,37903,37909,37910,37911,37919,37934,37935,37937,37938,37939,37940,37947,37951,37949,37955,37957,37960,37962,37964,37973,37977,37980,37983,37985,37987,37992,37995,37997,37998,37999,38001,38002,38020,38019,38264,38265,38270,38276,38280,38284,38285,38286,38301,38302,38303,38305,38310,38313,38315,38316,38324,38326,38330,38333,38335,38342,38344,38345,38347,38352,38353,38354,38355,38361,38362,38365,38366,38367,38368,38372,38374,38429,38430,38434,38436,38437,38438,38444,38449,38451,38455,38456,38457,38458,38460,38461,38465,38482,38484,38486,38487,38488,38497,38510,38516,38523,38524,38526,38527,38529,38530,38531,38532,38537,38545,38550,38554,38557,38559,38564,38565,38566,38569,38574,38575,38579,38586,38602,38610,23986,38616,38618,38621,38622,38623,38633,38639,38641,38650,38658,38659,38661,38665,38682,38683,38685,38689,38690,38691,38696,38705,38707,38721,38723,38730,38734,38735,38741,38743,38744,38746,38747,38755,38759,38762,38766,38771,38774,38775,38776,38779,38781,38783,38784,38793,38805,38806,38807,38809,38810,38814,38815,38818,38828,38830,38833,38834,38837,38838,38840,38841,38842,38844,38846,38847,38849,38852,38853,38855,38857,38858,38860,38861,38862,38864,38865,38868,38871,38872,38873,38877,38878,38880,38875,38881,38884,38895,38897,38900,38903,38904,38906,38919,38922,38937,38925,38926,38932,38934,38940,38942,38944,38947,38950,38955,38958,38959,38960,38962,38963,38965,38949,38974,38980,38983,38986,38993,38994,38995,38998,38999,39001,39002,39010,39011,39013,39014,39018,39020,39083,39085,39086,39088,39092,39095,39096,39098,39099,39103,39106,39109,39112,39116,39137,39139,39141,39142,39143,39146,39155,39158,39170,39175,39176,39185,39189,39190,39191,39194,39195,39196,39199,39202,39206,39207,39211,39217,39218,39219,39220,39221,39225,39226,39227,39228,39232,39233,39238,39239,39240,39245,39246,39252,39256,39257,39259,39260,39262,39263,39264,39323,39325,39327,39334,39344,39345,39346,39349,39353,39354,39357,39359,39363,39369,39379,39380,39385,39386,39388,39390,39399,39402,39403,39404,39408,39412,39413,39417,39421,39422,39426,39427,39428,39435,39436,39440,39441,39446,39454,39456,39458,39459,39460,39463,39469,39470,39475,39477,39478,39480,39495,39489,39492,39498,39499,39500,39502,39505,39508,39510,39517,39594,39596,39598,39599,39602,39604,39605,39606,39609,39611,39614,39615,39617,39619,39622,39624,39630,39632,39634,39637,39638,39639,39643,39644,39648,39652,39653,39655,39657,39660,39666,39667,39669,39673,39674,39677,39679,39680,39681,39682,39683,39684,39685,39688,39689,39691,39692,39693,39694,39696,39698,39702,39705,39707,39708,39712,39718,39723,39725,39731,39732,39733,39735,39737,39738,39741,39752,39755,39756,39765,39766,39767,39771,39774,39777,39779,39781,39782,39784,39786,39787,39788,39789,39790,39795,39797,39799,39800,39801,39807,39808,39812,39813,39814,39815,39817,39818,39819,39821,39823,39824,39828,39834,39837,39838,39846,39847,39849,39852,39856,39857,39858,39863,39864,39867,39868,39870,39871,39873,39879,39880,39886,39888,39895,39896,39901,39903,39909,39911,39914,39915,39919,39923,39927,39928,39929,39930,39933,39935,39936,39938,39947,39951,39953,39958,39960,39961,39962,39964,39966,39970,39971,39974,39975,39976,39977,39978,39985,39989,39990,39991,39997,40001,40003,40004,40005,40009,40010,40014,40015,40016,40019,40020,40022,40024,40027,40029,40030,40031,40035,40041,40042,40028,40043,40040,40046,40048,40050,40053,40055,40059,40166,40178,40183,40185,40203,40194,40209,40215,40216,40220,40221,40222,40239,40240,40242,40243,40244,40250,40252,40261,40253,40258,40259,40263,40266,40275,40276,40287,40291,40290,40293,40297,40298,40299,40304,40310,40311,40315,40316,40318,40323,40324,40326,40330,40333,40334,40338,40339,40341,40342,40343,40344,40353,40362,40364,40366,40369,40373,40377,40380,40383,40387,40391,40393,40394,40404,40405,40406,40407,40410,40414,40415,40416,40421,40423,40425,40427,40430,40432,40435,40436,40446,40458,40450,40455,40462,40464,40465,40466,40469,40470,40473,40476,40477,40570,40571,40572,40576,40578,40579,40580,40581,40583,40590,40591,40598,40600,40603,40606,40612,40616,40620,40622,40623,40624,40627,40628,40629,40646,40648,40651,40661,40671,40676,40679,40684,40685,40686,40688,40689,40690,40693,40696,40703,40706,40707,40713,40719,40720,40721,40722,40724,40726,40727,40729,40730,40731,40735,40738,40742,40746,40747,40751,40753,40754,40756,40759,40761,40762,40764,40765,40767,40769,40771,40772,40773,40774,40775,40787,40789,40790,40791,40792,40794,40797,40798,40808,40809,40813,40814,40815,40816,40817,40819,40821,40826,40829,40847,40848,40849,40850,40852,40854,40855,40862,40865,40866,40867,40869,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],\n  \"ibm866\":[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488,9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575,9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1025,1105,1028,1108,1031,1111,1038,1118,176,8729,183,8730,8470,164,9632,160],\n  \"iso-8859-2\":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,728,321,164,317,346,167,168,352,350,356,377,173,381,379,176,261,731,322,180,318,347,711,184,353,351,357,378,733,382,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],\n  \"iso-8859-3\":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,294,728,163,164,null,292,167,168,304,350,286,308,173,null,379,176,295,178,179,180,181,293,183,184,305,351,287,309,189,null,380,192,193,194,null,196,266,264,199,200,201,202,203,204,205,206,207,null,209,210,211,212,288,214,215,284,217,218,219,220,364,348,223,224,225,226,null,228,267,265,231,232,233,234,235,236,237,238,239,null,241,242,243,244,289,246,247,285,249,250,251,252,365,349,729],\n  \"iso-8859-4\":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,312,342,164,296,315,167,168,352,274,290,358,173,381,175,176,261,731,343,180,297,316,711,184,353,275,291,359,330,382,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,298,272,325,332,310,212,213,214,215,216,370,218,219,220,360,362,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,299,273,326,333,311,244,245,246,247,248,371,250,251,252,361,363,729],\n  \"iso-8859-5\":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,173,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,8470,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,167,1118,1119],\n  \"iso-8859-6\":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,null,null,164,null,null,null,null,null,null,null,1548,173,null,null,null,null,null,null,null,null,null,null,null,null,null,1563,null,null,null,1567,null,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,null,null,null,null,null,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,null,null,null,null,null,null,null,null,null,null,null,null,null],\n  \"iso-8859-7\":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8216,8217,163,8364,8367,166,167,168,169,890,171,172,173,null,8213,176,177,178,179,900,901,902,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],\n  \"iso-8859-8\":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,162,163,164,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,8215,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],\n  \"iso-8859-10\":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,274,290,298,296,310,167,315,272,352,358,381,173,362,330,176,261,275,291,299,297,311,183,316,273,353,359,382,8213,363,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,207,208,325,332,211,212,213,214,360,216,370,218,219,220,221,222,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,239,240,326,333,243,244,245,246,361,248,371,250,251,252,253,254,312],\n  \"iso-8859-13\":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8221,162,163,164,8222,166,167,216,169,342,171,172,173,174,198,176,177,178,179,8220,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,8217],\n  \"iso-8859-14\":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,7682,7683,163,266,267,7690,167,7808,169,7810,7691,7922,173,174,376,7710,7711,288,289,7744,7745,182,7766,7809,7767,7811,7776,7923,7812,7813,7777,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,372,209,210,211,212,213,214,7786,216,217,218,219,220,221,374,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,373,241,242,243,244,245,246,7787,248,249,250,251,252,253,375,255],\n  \"iso-8859-15\":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,8364,165,352,167,353,169,170,171,172,173,174,175,176,177,178,179,381,181,182,183,382,185,186,187,338,339,376,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],\n  \"iso-8859-16\":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,261,321,8364,8222,352,167,353,169,536,171,377,173,378,379,176,177,268,322,381,8221,182,183,382,269,537,187,338,339,376,380,192,193,194,258,196,262,198,199,200,201,202,203,204,205,206,207,272,323,210,211,212,336,214,346,368,217,218,219,220,280,538,223,224,225,226,259,228,263,230,231,232,233,234,235,236,237,238,239,273,324,242,243,244,337,246,347,369,249,250,251,252,281,539,255],\n  \"koi8-r\":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,1025,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],\n  \"koi8-u\":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,1108,9556,1110,1111,9559,9560,9561,9562,9563,1169,1118,9566,9567,9568,9569,1025,1028,9571,1030,1031,9574,9575,9576,9577,9578,1168,1038,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],\n  \"macintosh\":[196,197,199,201,209,214,220,225,224,226,228,227,229,231,233,232,234,235,237,236,238,239,241,243,242,244,246,245,250,249,251,252,8224,176,162,163,167,8226,182,223,174,169,8482,180,168,8800,198,216,8734,177,8804,8805,165,181,8706,8721,8719,960,8747,170,186,937,230,248,191,161,172,8730,402,8776,8710,171,187,8230,160,192,195,213,338,339,8211,8212,8220,8221,8216,8217,247,9674,255,376,8260,8364,8249,8250,64257,64258,8225,183,8218,8222,8240,194,202,193,203,200,205,206,207,204,211,212,63743,210,218,219,217,305,710,732,175,728,729,730,184,733,731,711],\n  \"windows-874\":[8364,129,130,131,132,8230,134,135,136,137,138,139,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,153,154,155,156,157,158,159,160,3585,3586,3587,3588,3589,3590,3591,3592,3593,3594,3595,3596,3597,3598,3599,3600,3601,3602,3603,3604,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3617,3618,3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,3630,3631,3632,3633,3634,3635,3636,3637,3638,3639,3640,3641,3642,null,null,null,null,3647,3648,3649,3650,3651,3652,3653,3654,3655,3656,3657,3658,3659,3660,3661,3662,3663,3664,3665,3666,3667,3668,3669,3670,3671,3672,3673,3674,3675,null,null,null,null],\n  \"windows-1250\":[8364,129,8218,131,8222,8230,8224,8225,136,8240,352,8249,346,356,381,377,144,8216,8217,8220,8221,8226,8211,8212,152,8482,353,8250,347,357,382,378,160,711,728,321,164,260,166,167,168,169,350,171,172,173,174,379,176,177,731,322,180,181,182,183,184,261,351,187,317,733,318,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],\n  \"windows-1251\":[1026,1027,8218,1107,8222,8230,8224,8225,8364,8240,1033,8249,1034,1036,1035,1039,1106,8216,8217,8220,8221,8226,8211,8212,152,8482,1113,8250,1114,1116,1115,1119,160,1038,1118,1032,164,1168,166,167,1025,169,1028,171,172,173,174,1031,176,177,1030,1110,1169,181,182,183,1105,8470,1108,187,1112,1029,1109,1111,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103],\n  \"windows-1252\":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],\n  \"windows-1253\":[8364,129,8218,402,8222,8230,8224,8225,136,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,157,158,159,160,901,902,163,164,165,166,167,168,169,null,171,172,173,174,8213,176,177,178,179,900,181,182,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],\n  \"windows-1254\":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,286,209,210,211,212,213,214,215,216,217,218,219,220,304,350,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,287,241,242,243,244,245,246,247,248,249,250,251,252,305,351,255],\n  \"windows-1255\":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,156,157,158,159,160,161,162,163,8362,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,191,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1520,1521,1522,1523,1524,null,null,null,null,null,null,null,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],\n  \"windows-1256\":[8364,1662,8218,402,8222,8230,8224,8225,710,8240,1657,8249,338,1670,1688,1672,1711,8216,8217,8220,8221,8226,8211,8212,1705,8482,1681,8250,339,8204,8205,1722,160,1548,162,163,164,165,166,167,168,169,1726,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,1563,187,188,189,190,1567,1729,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,215,1591,1592,1593,1594,1600,1601,1602,1603,224,1604,226,1605,1606,1607,1608,231,232,233,234,235,1609,1610,238,239,1611,1612,1613,1614,244,1615,1616,247,1617,249,1618,251,252,8206,8207,1746],\n  \"windows-1257\":[8364,129,8218,131,8222,8230,8224,8225,136,8240,138,8249,140,168,711,184,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,175,731,159,160,null,162,163,164,null,166,167,216,169,342,171,172,173,174,198,176,177,178,179,180,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,729],\n  \"windows-1258\":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,258,196,197,198,199,200,201,202,203,768,205,206,207,272,209,777,211,212,416,214,215,216,217,218,219,220,431,771,223,224,225,226,259,228,229,230,231,232,233,234,235,769,237,238,239,273,241,803,243,244,417,246,247,248,249,250,251,252,432,8363,255],\n  \"x-mac-cyrillic\":[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,8224,176,1168,163,167,8226,182,1030,174,169,8482,1026,1106,8800,1027,1107,8734,177,8804,8805,1110,181,1169,1032,1028,1108,1031,1111,1033,1113,1034,1114,1112,1029,172,8730,402,8776,8710,171,187,8230,160,1035,1115,1036,1116,1109,8211,8212,8220,8221,8216,8217,247,8222,1038,1118,1039,1119,8470,1025,1105,1103,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,8364]\n};\n\n// For strict environments where `this` inside the global scope\n// is `undefined`, take a pure object instead\n}(this || {}));","// This is free and unencumbered software released into the public domain.\n// See LICENSE.md for more information.\n\n/**\n * @fileoverview Global |this| required for resolving indexes in node.\n * @suppress {globalThis}\n */\n(function(global) {\n  'use strict';\n\n  // If we're in node require encoding-indexes and attach it to the global.\n  if (typeof module !== \"undefined\" && module.exports &&\n    !global[\"encoding-indexes\"]) {\n    global[\"encoding-indexes\"] =\n      require(\"./encoding-indexes.js\")[\"encoding-indexes\"];\n  }\n\n  //\n  // Utilities\n  //\n\n  /**\n   * @param {number} a The number to test.\n   * @param {number} min The minimum value in the range, inclusive.\n   * @param {number} max The maximum value in the range, inclusive.\n   * @return {boolean} True if a >= min and a <= max.\n   */\n  function inRange(a, min, max) {\n    return min <= a && a <= max;\n  }\n\n  /**\n   * @param {!Array.<*>} array The array to check.\n   * @param {*} item The item to look for in the array.\n   * @return {boolean} True if the item appears in the array.\n   */\n  function includes(array, item) {\n    return array.indexOf(item) !== -1;\n  }\n\n  var floor = Math.floor;\n\n  /**\n   * @param {*} o\n   * @return {Object}\n   */\n  function ToDictionary(o) {\n    if (o === undefined) return {};\n    if (o === Object(o)) return o;\n    throw TypeError('Could not convert argument to dictionary');\n  }\n\n  /**\n   * @param {string} string Input string of UTF-16 code units.\n   * @return {!Array.<number>} Code points.\n   */\n  function stringToCodePoints(string) {\n    // https://heycam.github.io/webidl/#dfn-obtain-unicode\n\n    // 1. Let S be the DOMString value.\n    var s = String(string);\n\n    // 2. Let n be the length of S.\n    var n = s.length;\n\n    // 3. Initialize i to 0.\n    var i = 0;\n\n    // 4. Initialize U to be an empty sequence of Unicode characters.\n    var u = [];\n\n    // 5. While i < n:\n    while (i < n) {\n\n      // 1. Let c be the code unit in S at index i.\n      var c = s.charCodeAt(i);\n\n      // 2. Depending on the value of c:\n\n      // c < 0xD800 or c > 0xDFFF\n      if (c < 0xD800 || c > 0xDFFF) {\n        // Append to U the Unicode character with code point c.\n        u.push(c);\n      }\n\n      // 0xDC00 ≤ c ≤ 0xDFFF\n      else if (0xDC00 <= c && c <= 0xDFFF) {\n        // Append to U a U+FFFD REPLACEMENT CHARACTER.\n        u.push(0xFFFD);\n      }\n\n      // 0xD800 ≤ c ≤ 0xDBFF\n      else if (0xD800 <= c && c <= 0xDBFF) {\n        // 1. If i = n−1, then append to U a U+FFFD REPLACEMENT\n        // CHARACTER.\n        if (i === n - 1) {\n          u.push(0xFFFD);\n        }\n        // 2. Otherwise, i < n−1:\n        else {\n          // 1. Let d be the code unit in S at index i+1.\n          var d = s.charCodeAt(i + 1);\n\n          // 2. If 0xDC00 ≤ d ≤ 0xDFFF, then:\n          if (0xDC00 <= d && d <= 0xDFFF) {\n            // 1. Let a be c & 0x3FF.\n            var a = c & 0x3FF;\n\n            // 2. Let b be d & 0x3FF.\n            var b = d & 0x3FF;\n\n            // 3. Append to U the Unicode character with code point\n            // 2^16+2^10*a+b.\n            u.push(0x10000 + (a << 10) + b);\n\n            // 4. Set i to i+1.\n            i += 1;\n          }\n\n          // 3. Otherwise, d < 0xDC00 or d > 0xDFFF. Append to U a\n          // U+FFFD REPLACEMENT CHARACTER.\n          else  {\n            u.push(0xFFFD);\n          }\n        }\n      }\n\n      // 3. Set i to i+1.\n      i += 1;\n    }\n\n    // 6. Return U.\n    return u;\n  }\n\n  /**\n   * @param {!Array.<number>} code_points Array of code points.\n   * @return {string} string String of UTF-16 code units.\n   */\n  function codePointsToString(code_points) {\n    var s = '';\n    for (var i = 0; i < code_points.length; ++i) {\n      var cp = code_points[i];\n      if (cp <= 0xFFFF) {\n        s += String.fromCharCode(cp);\n      } else {\n        cp -= 0x10000;\n        s += String.fromCharCode((cp >> 10) + 0xD800,\n                                 (cp & 0x3FF) + 0xDC00);\n      }\n    }\n    return s;\n  }\n\n\n  //\n  // Implementation of Encoding specification\n  // https://encoding.spec.whatwg.org/\n  //\n\n  //\n  // 4. Terminology\n  //\n\n  /**\n   * An ASCII byte is a byte in the range 0x00 to 0x7F, inclusive.\n   * @param {number} a The number to test.\n   * @return {boolean} True if a is in the range 0x00 to 0x7F, inclusive.\n   */\n  function isASCIIByte(a) {\n    return 0x00 <= a && a <= 0x7F;\n  }\n\n  /**\n   * An ASCII code point is a code point in the range U+0000 to\n   * U+007F, inclusive.\n   */\n  var isASCIICodePoint = isASCIIByte;\n\n\n  /**\n   * End-of-stream is a special token that signifies no more tokens\n   * are in the stream.\n   * @const\n   */ var end_of_stream = -1;\n\n  /**\n   * A stream represents an ordered sequence of tokens.\n   *\n   * @constructor\n   * @param {!(Array.<number>|Uint8Array)} tokens Array of tokens that provide\n   * the stream.\n   */\n  function Stream(tokens) {\n    /** @type {!Array.<number>} */\n    this.tokens = [].slice.call(tokens);\n    // Reversed as push/pop is more efficient than shift/unshift.\n    this.tokens.reverse();\n  }\n\n  Stream.prototype = {\n    /**\n     * @return {boolean} True if end-of-stream has been hit.\n     */\n    endOfStream: function() {\n      return !this.tokens.length;\n    },\n\n    /**\n     * When a token is read from a stream, the first token in the\n     * stream must be returned and subsequently removed, and\n     * end-of-stream must be returned otherwise.\n     *\n     * @return {number} Get the next token from the stream, or\n     * end_of_stream.\n     */\n     read: function() {\n      if (!this.tokens.length)\n        return end_of_stream;\n       return this.tokens.pop();\n     },\n\n    /**\n     * When one or more tokens are prepended to a stream, those tokens\n     * must be inserted, in given order, before the first token in the\n     * stream.\n     *\n     * @param {(number|!Array.<number>)} token The token(s) to prepend to the\n     * stream.\n     */\n    prepend: function(token) {\n      if (Array.isArray(token)) {\n        var tokens = /**@type {!Array.<number>}*/(token);\n        while (tokens.length)\n          this.tokens.push(tokens.pop());\n      } else {\n        this.tokens.push(token);\n      }\n    },\n\n    /**\n     * When one or more tokens are pushed to a stream, those tokens\n     * must be inserted, in given order, after the last token in the\n     * stream.\n     *\n     * @param {(number|!Array.<number>)} token The tokens(s) to push to the\n     * stream.\n     */\n    push: function(token) {\n      if (Array.isArray(token)) {\n        var tokens = /**@type {!Array.<number>}*/(token);\n        while (tokens.length)\n          this.tokens.unshift(tokens.shift());\n      } else {\n        this.tokens.unshift(token);\n      }\n    }\n  };\n\n  //\n  // 5. Encodings\n  //\n\n  // 5.1 Encoders and decoders\n\n  /** @const */\n  var finished = -1;\n\n  /**\n   * @param {boolean} fatal If true, decoding errors raise an exception.\n   * @param {number=} opt_code_point Override the standard fallback code point.\n   * @return {number} The code point to insert on a decoding error.\n   */\n  function decoderError(fatal, opt_code_point) {\n    if (fatal)\n      throw TypeError('Decoder error');\n    return opt_code_point || 0xFFFD;\n  }\n\n  /**\n   * @param {number} code_point The code point that could not be encoded.\n   * @return {number} Always throws, no value is actually returned.\n   */\n  function encoderError(code_point) {\n    throw TypeError('The code point ' + code_point + ' could not be encoded.');\n  }\n\n  /** @interface */\n  function Decoder() {}\n  Decoder.prototype = {\n    /**\n     * @param {Stream} stream The stream of bytes being decoded.\n     * @param {number} bite The next byte read from the stream.\n     * @return {?(number|!Array.<number>)} The next code point(s)\n     *     decoded, or null if not enough data exists in the input\n     *     stream to decode a complete code point, or |finished|.\n     */\n    handler: function(stream, bite) {}\n  };\n\n  /** @interface */\n  function Encoder() {}\n  Encoder.prototype = {\n    /**\n     * @param {Stream} stream The stream of code points being encoded.\n     * @param {number} code_point Next code point read from the stream.\n     * @return {(number|!Array.<number>)} Byte(s) to emit, or |finished|.\n     */\n    handler: function(stream, code_point) {}\n  };\n\n  // 5.2 Names and labels\n\n  // TODO: Define @typedef for Encoding: {name:string,labels:Array.<string>}\n  // https://github.com/google/closure-compiler/issues/247\n\n  /**\n   * @param {string} label The encoding label.\n   * @return {?{name:string,labels:Array.<string>}}\n   */\n  function getEncoding(label) {\n    // 1. Remove any leading and trailing ASCII whitespace from label.\n    label = String(label).trim().toLowerCase();\n\n    // 2. If label is an ASCII case-insensitive match for any of the\n    // labels listed in the table below, return the corresponding\n    // encoding, and failure otherwise.\n    if (Object.prototype.hasOwnProperty.call(label_to_encoding, label)) {\n      return label_to_encoding[label];\n    }\n    return null;\n  }\n\n  /**\n   * Encodings table: https://encoding.spec.whatwg.org/encodings.json\n   * @const\n   * @type {!Array.<{\n   *          heading: string,\n   *          encodings: Array.<{name:string,labels:Array.<string>}>\n   *        }>}\n   */\n  var encodings = [\n    {\n      \"encodings\": [\n        {\n          \"labels\": [\n            \"unicode-1-1-utf-8\",\n            \"utf-8\",\n            \"utf8\"\n          ],\n          \"name\": \"UTF-8\"\n        }\n      ],\n      \"heading\": \"The Encoding\"\n    },\n    {\n      \"encodings\": [\n        {\n          \"labels\": [\n            \"866\",\n            \"cp866\",\n            \"csibm866\",\n            \"ibm866\"\n          ],\n          \"name\": \"IBM866\"\n        },\n        {\n          \"labels\": [\n            \"csisolatin2\",\n            \"iso-8859-2\",\n            \"iso-ir-101\",\n            \"iso8859-2\",\n            \"iso88592\",\n            \"iso_8859-2\",\n            \"iso_8859-2:1987\",\n            \"l2\",\n            \"latin2\"\n          ],\n          \"name\": \"ISO-8859-2\"\n        },\n        {\n          \"labels\": [\n            \"csisolatin3\",\n            \"iso-8859-3\",\n            \"iso-ir-109\",\n            \"iso8859-3\",\n            \"iso88593\",\n            \"iso_8859-3\",\n            \"iso_8859-3:1988\",\n            \"l3\",\n            \"latin3\"\n          ],\n          \"name\": \"ISO-8859-3\"\n        },\n        {\n          \"labels\": [\n            \"csisolatin4\",\n            \"iso-8859-4\",\n            \"iso-ir-110\",\n            \"iso8859-4\",\n            \"iso88594\",\n            \"iso_8859-4\",\n            \"iso_8859-4:1988\",\n            \"l4\",\n            \"latin4\"\n          ],\n          \"name\": \"ISO-8859-4\"\n        },\n        {\n          \"labels\": [\n            \"csisolatincyrillic\",\n            \"cyrillic\",\n            \"iso-8859-5\",\n            \"iso-ir-144\",\n            \"iso8859-5\",\n            \"iso88595\",\n            \"iso_8859-5\",\n            \"iso_8859-5:1988\"\n          ],\n          \"name\": \"ISO-8859-5\"\n        },\n        {\n          \"labels\": [\n            \"arabic\",\n            \"asmo-708\",\n            \"csiso88596e\",\n            \"csiso88596i\",\n            \"csisolatinarabic\",\n            \"ecma-114\",\n            \"iso-8859-6\",\n            \"iso-8859-6-e\",\n            \"iso-8859-6-i\",\n            \"iso-ir-127\",\n            \"iso8859-6\",\n            \"iso88596\",\n            \"iso_8859-6\",\n            \"iso_8859-6:1987\"\n          ],\n          \"name\": \"ISO-8859-6\"\n        },\n        {\n          \"labels\": [\n            \"csisolatingreek\",\n            \"ecma-118\",\n            \"elot_928\",\n            \"greek\",\n            \"greek8\",\n            \"iso-8859-7\",\n            \"iso-ir-126\",\n            \"iso8859-7\",\n            \"iso88597\",\n            \"iso_8859-7\",\n            \"iso_8859-7:1987\",\n            \"sun_eu_greek\"\n          ],\n          \"name\": \"ISO-8859-7\"\n        },\n        {\n          \"labels\": [\n            \"csiso88598e\",\n            \"csisolatinhebrew\",\n            \"hebrew\",\n            \"iso-8859-8\",\n            \"iso-8859-8-e\",\n            \"iso-ir-138\",\n            \"iso8859-8\",\n            \"iso88598\",\n            \"iso_8859-8\",\n            \"iso_8859-8:1988\",\n            \"visual\"\n          ],\n          \"name\": \"ISO-8859-8\"\n        },\n        {\n          \"labels\": [\n            \"csiso88598i\",\n            \"iso-8859-8-i\",\n            \"logical\"\n          ],\n          \"name\": \"ISO-8859-8-I\"\n        },\n        {\n          \"labels\": [\n            \"csisolatin6\",\n            \"iso-8859-10\",\n            \"iso-ir-157\",\n            \"iso8859-10\",\n            \"iso885910\",\n            \"l6\",\n            \"latin6\"\n          ],\n          \"name\": \"ISO-8859-10\"\n        },\n        {\n          \"labels\": [\n            \"iso-8859-13\",\n            \"iso8859-13\",\n            \"iso885913\"\n          ],\n          \"name\": \"ISO-8859-13\"\n        },\n        {\n          \"labels\": [\n            \"iso-8859-14\",\n            \"iso8859-14\",\n            \"iso885914\"\n          ],\n          \"name\": \"ISO-8859-14\"\n        },\n        {\n          \"labels\": [\n            \"csisolatin9\",\n            \"iso-8859-15\",\n            \"iso8859-15\",\n            \"iso885915\",\n            \"iso_8859-15\",\n            \"l9\"\n          ],\n          \"name\": \"ISO-8859-15\"\n        },\n        {\n          \"labels\": [\n            \"iso-8859-16\"\n          ],\n          \"name\": \"ISO-8859-16\"\n        },\n        {\n          \"labels\": [\n            \"cskoi8r\",\n            \"koi\",\n            \"koi8\",\n            \"koi8-r\",\n            \"koi8_r\"\n          ],\n          \"name\": \"KOI8-R\"\n        },\n        {\n          \"labels\": [\n            \"koi8-ru\",\n            \"koi8-u\"\n          ],\n          \"name\": \"KOI8-U\"\n        },\n        {\n          \"labels\": [\n            \"csmacintosh\",\n            \"mac\",\n            \"macintosh\",\n            \"x-mac-roman\"\n          ],\n          \"name\": \"macintosh\"\n        },\n        {\n          \"labels\": [\n            \"dos-874\",\n            \"iso-8859-11\",\n            \"iso8859-11\",\n            \"iso885911\",\n            \"tis-620\",\n            \"windows-874\"\n          ],\n          \"name\": \"windows-874\"\n        },\n        {\n          \"labels\": [\n            \"cp1250\",\n            \"windows-1250\",\n            \"x-cp1250\"\n          ],\n          \"name\": \"windows-1250\"\n        },\n        {\n          \"labels\": [\n            \"cp1251\",\n            \"windows-1251\",\n            \"x-cp1251\"\n          ],\n          \"name\": \"windows-1251\"\n        },\n        {\n          \"labels\": [\n            \"ansi_x3.4-1968\",\n            \"ascii\",\n            \"cp1252\",\n            \"cp819\",\n            \"csisolatin1\",\n            \"ibm819\",\n            \"iso-8859-1\",\n            \"iso-ir-100\",\n            \"iso8859-1\",\n            \"iso88591\",\n            \"iso_8859-1\",\n            \"iso_8859-1:1987\",\n            \"l1\",\n            \"latin1\",\n            \"us-ascii\",\n            \"windows-1252\",\n            \"x-cp1252\"\n          ],\n          \"name\": \"windows-1252\"\n        },\n        {\n          \"labels\": [\n            \"cp1253\",\n            \"windows-1253\",\n            \"x-cp1253\"\n          ],\n          \"name\": \"windows-1253\"\n        },\n        {\n          \"labels\": [\n            \"cp1254\",\n            \"csisolatin5\",\n            \"iso-8859-9\",\n            \"iso-ir-148\",\n            \"iso8859-9\",\n            \"iso88599\",\n            \"iso_8859-9\",\n            \"iso_8859-9:1989\",\n            \"l5\",\n            \"latin5\",\n            \"windows-1254\",\n            \"x-cp1254\"\n          ],\n          \"name\": \"windows-1254\"\n        },\n        {\n          \"labels\": [\n            \"cp1255\",\n            \"windows-1255\",\n            \"x-cp1255\"\n          ],\n          \"name\": \"windows-1255\"\n        },\n        {\n          \"labels\": [\n            \"cp1256\",\n            \"windows-1256\",\n            \"x-cp1256\"\n          ],\n          \"name\": \"windows-1256\"\n        },\n        {\n          \"labels\": [\n            \"cp1257\",\n            \"windows-1257\",\n            \"x-cp1257\"\n          ],\n          \"name\": \"windows-1257\"\n        },\n        {\n          \"labels\": [\n            \"cp1258\",\n            \"windows-1258\",\n            \"x-cp1258\"\n          ],\n          \"name\": \"windows-1258\"\n        },\n        {\n          \"labels\": [\n            \"x-mac-cyrillic\",\n            \"x-mac-ukrainian\"\n          ],\n          \"name\": \"x-mac-cyrillic\"\n        }\n      ],\n      \"heading\": \"Legacy single-byte encodings\"\n    },\n    {\n      \"encodings\": [\n        {\n          \"labels\": [\n            \"chinese\",\n            \"csgb2312\",\n            \"csiso58gb231280\",\n            \"gb2312\",\n            \"gb_2312\",\n            \"gb_2312-80\",\n            \"gbk\",\n            \"iso-ir-58\",\n            \"x-gbk\"\n          ],\n          \"name\": \"GBK\"\n        },\n        {\n          \"labels\": [\n            \"gb18030\"\n          ],\n          \"name\": \"gb18030\"\n        }\n      ],\n      \"heading\": \"Legacy multi-byte Chinese (simplified) encodings\"\n    },\n    {\n      \"encodings\": [\n        {\n          \"labels\": [\n            \"big5\",\n            \"big5-hkscs\",\n            \"cn-big5\",\n            \"csbig5\",\n            \"x-x-big5\"\n          ],\n          \"name\": \"Big5\"\n        }\n      ],\n      \"heading\": \"Legacy multi-byte Chinese (traditional) encodings\"\n    },\n    {\n      \"encodings\": [\n        {\n          \"labels\": [\n            \"cseucpkdfmtjapanese\",\n            \"euc-jp\",\n            \"x-euc-jp\"\n          ],\n          \"name\": \"EUC-JP\"\n        },\n        {\n          \"labels\": [\n            \"csiso2022jp\",\n            \"iso-2022-jp\"\n          ],\n          \"name\": \"ISO-2022-JP\"\n        },\n        {\n          \"labels\": [\n            \"csshiftjis\",\n            \"ms932\",\n            \"ms_kanji\",\n            \"shift-jis\",\n            \"shift_jis\",\n            \"sjis\",\n            \"windows-31j\",\n            \"x-sjis\"\n          ],\n          \"name\": \"Shift_JIS\"\n        }\n      ],\n      \"heading\": \"Legacy multi-byte Japanese encodings\"\n    },\n    {\n      \"encodings\": [\n        {\n          \"labels\": [\n            \"cseuckr\",\n            \"csksc56011987\",\n            \"euc-kr\",\n            \"iso-ir-149\",\n            \"korean\",\n            \"ks_c_5601-1987\",\n            \"ks_c_5601-1989\",\n            \"ksc5601\",\n            \"ksc_5601\",\n            \"windows-949\"\n          ],\n          \"name\": \"EUC-KR\"\n        }\n      ],\n      \"heading\": \"Legacy multi-byte Korean encodings\"\n    },\n    {\n      \"encodings\": [\n        {\n          \"labels\": [\n            \"csiso2022kr\",\n            \"hz-gb-2312\",\n            \"iso-2022-cn\",\n            \"iso-2022-cn-ext\",\n            \"iso-2022-kr\"\n          ],\n          \"name\": \"replacement\"\n        },\n        {\n          \"labels\": [\n            \"utf-16be\"\n          ],\n          \"name\": \"UTF-16BE\"\n        },\n        {\n          \"labels\": [\n            \"utf-16\",\n            \"utf-16le\"\n          ],\n          \"name\": \"UTF-16LE\"\n        },\n        {\n          \"labels\": [\n            \"x-user-defined\"\n          ],\n          \"name\": \"x-user-defined\"\n        }\n      ],\n      \"heading\": \"Legacy miscellaneous encodings\"\n    }\n  ];\n\n  // Label to encoding registry.\n  /** @type {Object.<string,{name:string,labels:Array.<string>}>} */\n  var label_to_encoding = {};\n  encodings.forEach(function(category) {\n    category.encodings.forEach(function(encoding) {\n      encoding.labels.forEach(function(label) {\n        label_to_encoding[label] = encoding;\n      });\n    });\n  });\n\n  // Registry of of encoder/decoder factories, by encoding name.\n  /** @type {Object.<string, function({fatal:boolean}): Encoder>} */\n  var encoders = {};\n  /** @type {Object.<string, function({fatal:boolean}): Decoder>} */\n  var decoders = {};\n\n  //\n  // 6. Indexes\n  //\n\n  /**\n   * @param {number} pointer The |pointer| to search for.\n   * @param {(!Array.<?number>|undefined)} index The |index| to search within.\n   * @return {?number} The code point corresponding to |pointer| in |index|,\n   *     or null if |code point| is not in |index|.\n   */\n  function indexCodePointFor(pointer, index) {\n    if (!index) return null;\n    return index[pointer] || null;\n  }\n\n  /**\n   * @param {number} code_point The |code point| to search for.\n   * @param {!Array.<?number>} index The |index| to search within.\n   * @return {?number} The first pointer corresponding to |code point| in\n   *     |index|, or null if |code point| is not in |index|.\n   */\n  function indexPointerFor(code_point, index) {\n    var pointer = index.indexOf(code_point);\n    return pointer === -1 ? null : pointer;\n  }\n\n  /**\n   * @param {string} name Name of the index.\n   * @return {(!Array.<number>|!Array.<Array.<number>>)}\n   *  */\n  function index(name) {\n    if (!('encoding-indexes' in global)) {\n      throw Error(\"Indexes missing.\" +\n                  \" Did you forget to include encoding-indexes.js first?\");\n    }\n    return global['encoding-indexes'][name];\n  }\n\n  /**\n   * @param {number} pointer The |pointer| to search for in the gb18030 index.\n   * @return {?number} The code point corresponding to |pointer| in |index|,\n   *     or null if |code point| is not in the gb18030 index.\n   */\n  function indexGB18030RangesCodePointFor(pointer) {\n    // 1. If pointer is greater than 39419 and less than 189000, or\n    // pointer is greater than 1237575, return null.\n    if ((pointer > 39419 && pointer < 189000) || (pointer > 1237575))\n      return null;\n\n    // 2. If pointer is 7457, return code point U+E7C7.\n    if (pointer === 7457) return 0xE7C7;\n\n    // 3. Let offset be the last pointer in index gb18030 ranges that\n    // is equal to or less than pointer and let code point offset be\n    // its corresponding code point.\n    var offset = 0;\n    var code_point_offset = 0;\n    var idx = index('gb18030-ranges');\n    var i;\n    for (i = 0; i < idx.length; ++i) {\n      /** @type {!Array.<number>} */\n      var entry = idx[i];\n      if (entry[0] <= pointer) {\n        offset = entry[0];\n        code_point_offset = entry[1];\n      } else {\n        break;\n      }\n    }\n\n    // 4. Return a code point whose value is code point offset +\n    // pointer − offset.\n    return code_point_offset + pointer - offset;\n  }\n\n  /**\n   * @param {number} code_point The |code point| to locate in the gb18030 index.\n   * @return {number} The first pointer corresponding to |code point| in the\n   *     gb18030 index.\n   */\n  function indexGB18030RangesPointerFor(code_point) {\n    // 1. If code point is U+E7C7, return pointer 7457.\n    if (code_point === 0xE7C7) return 7457;\n\n    // 2. Let offset be the last code point in index gb18030 ranges\n    // that is equal to or less than code point and let pointer offset\n    // be its corresponding pointer.\n    var offset = 0;\n    var pointer_offset = 0;\n    var idx = index('gb18030-ranges');\n    var i;\n    for (i = 0; i < idx.length; ++i) {\n      /** @type {!Array.<number>} */\n      var entry = idx[i];\n      if (entry[1] <= code_point) {\n        offset = entry[1];\n        pointer_offset = entry[0];\n      } else {\n        break;\n      }\n    }\n\n    // 3. Return a pointer whose value is pointer offset + code point\n    // − offset.\n    return pointer_offset + code_point - offset;\n  }\n\n  /**\n   * @param {number} code_point The |code_point| to search for in the Shift_JIS\n   *     index.\n   * @return {?number} The code point corresponding to |pointer| in |index|,\n   *     or null if |code point| is not in the Shift_JIS index.\n   */\n  function indexShiftJISPointerFor(code_point) {\n    // 1. Let index be index jis0208 excluding all entries whose\n    // pointer is in the range 8272 to 8835, inclusive.\n    shift_jis_index = shift_jis_index ||\n      index('jis0208').map(function(code_point, pointer) {\n        return inRange(pointer, 8272, 8835) ? null : code_point;\n      });\n    var index_ = shift_jis_index;\n\n    // 2. Return the index pointer for code point in index.\n    return index_.indexOf(code_point);\n  }\n  var shift_jis_index;\n\n  /**\n   * @param {number} code_point The |code_point| to search for in the big5\n   *     index.\n   * @return {?number} The code point corresponding to |pointer| in |index|,\n   *     or null if |code point| is not in the big5 index.\n   */\n  function indexBig5PointerFor(code_point) {\n    // 1. Let index be index Big5 excluding all entries whose pointer\n    big5_index_no_hkscs = big5_index_no_hkscs ||\n      index('big5').map(function(code_point, pointer) {\n        return (pointer < (0xA1 - 0x81) * 157) ? null : code_point;\n      });\n    var index_ = big5_index_no_hkscs;\n\n    // 2. If code point is U+2550, U+255E, U+2561, U+256A, U+5341, or\n    // U+5345, return the last pointer corresponding to code point in\n    // index.\n    if (code_point === 0x2550 || code_point === 0x255E ||\n        code_point === 0x2561 || code_point === 0x256A ||\n        code_point === 0x5341 || code_point === 0x5345) {\n      return index_.lastIndexOf(code_point);\n    }\n\n    // 3. Return the index pointer for code point in index.\n    return indexPointerFor(code_point, index_);\n  }\n  var big5_index_no_hkscs;\n\n  //\n  // 8. API\n  //\n\n  /** @const */ var DEFAULT_ENCODING = 'utf-8';\n\n  // 8.1 Interface TextDecoder\n\n  /**\n   * @constructor\n   * @param {string=} label The label of the encoding;\n   *     defaults to 'utf-8'.\n   * @param {Object=} options\n   */\n  function TextDecoder(label, options) {\n    // Web IDL conventions\n    if (!(this instanceof TextDecoder))\n      throw TypeError('Called as a function. Did you forget \\'new\\'?');\n    label = label !== undefined ? String(label) : DEFAULT_ENCODING;\n    options = ToDictionary(options);\n\n    // A TextDecoder object has an associated encoding, decoder,\n    // stream, ignore BOM flag (initially unset), BOM seen flag\n    // (initially unset), error mode (initially replacement), and do\n    // not flush flag (initially unset).\n\n    /** @private */\n    this._encoding = null;\n    /** @private @type {?Decoder} */\n    this._decoder = null;\n    /** @private @type {boolean} */\n    this._ignoreBOM = false;\n    /** @private @type {boolean} */\n    this._BOMseen = false;\n    /** @private @type {string} */\n    this._error_mode = 'replacement';\n    /** @private @type {boolean} */\n    this._do_not_flush = false;\n\n\n    // 1. Let encoding be the result of getting an encoding from\n    // label.\n    var encoding = getEncoding(label);\n\n    // 2. If encoding is failure or replacement, throw a RangeError.\n    if (encoding === null || encoding.name === 'replacement')\n      throw RangeError('Unknown encoding: ' + label);\n    if (!decoders[encoding.name]) {\n      throw Error('Decoder not present.' +\n                  ' Did you forget to include encoding-indexes.js first?');\n    }\n\n    // 3. Let dec be a new TextDecoder object.\n    var dec = this;\n\n    // 4. Set dec's encoding to encoding.\n    dec._encoding = encoding;\n\n    // 5. If options's fatal member is true, set dec's error mode to\n    // fatal.\n    if (Boolean(options['fatal']))\n      dec._error_mode = 'fatal';\n\n    // 6. If options's ignoreBOM member is true, set dec's ignore BOM\n    // flag.\n    if (Boolean(options['ignoreBOM']))\n      dec._ignoreBOM = true;\n\n    // For pre-ES5 runtimes:\n    if (!Object.defineProperty) {\n      this.encoding = dec._encoding.name.toLowerCase();\n      this.fatal = dec._error_mode === 'fatal';\n      this.ignoreBOM = dec._ignoreBOM;\n    }\n\n    // 7. Return dec.\n    return dec;\n  }\n\n  if (Object.defineProperty) {\n    // The encoding attribute's getter must return encoding's name.\n    Object.defineProperty(TextDecoder.prototype, 'encoding', {\n      /** @this {TextDecoder} */\n      get: function() { return this._encoding.name.toLowerCase(); }\n    });\n\n    // The fatal attribute's getter must return true if error mode\n    // is fatal, and false otherwise.\n    Object.defineProperty(TextDecoder.prototype, 'fatal', {\n      /** @this {TextDecoder} */\n      get: function() { return this._error_mode === 'fatal'; }\n    });\n\n    // The ignoreBOM attribute's getter must return true if ignore\n    // BOM flag is set, and false otherwise.\n    Object.defineProperty(TextDecoder.prototype, 'ignoreBOM', {\n      /** @this {TextDecoder} */\n      get: function() { return this._ignoreBOM; }\n    });\n  }\n\n  /**\n   * @param {BufferSource=} input The buffer of bytes to decode.\n   * @param {Object=} options\n   * @return {string} The decoded string.\n   */\n  TextDecoder.prototype.decode = function decode(input, options) {\n    var bytes;\n    if (typeof input === 'object' && input instanceof ArrayBuffer) {\n      bytes = new Uint8Array(input);\n    } else if (typeof input === 'object' && 'buffer' in input &&\n               input.buffer instanceof ArrayBuffer) {\n      bytes = new Uint8Array(input.buffer,\n                             input.byteOffset,\n                             input.byteLength);\n    } else {\n      bytes = new Uint8Array(0);\n    }\n\n    options = ToDictionary(options);\n\n    // 1. If the do not flush flag is unset, set decoder to a new\n    // encoding's decoder, set stream to a new stream, and unset the\n    // BOM seen flag.\n    if (!this._do_not_flush) {\n      this._decoder = decoders[this._encoding.name]({\n        fatal: this._error_mode === 'fatal'});\n      this._BOMseen = false;\n    }\n\n    // 2. If options's stream is true, set the do not flush flag, and\n    // unset the do not flush flag otherwise.\n    this._do_not_flush = Boolean(options['stream']);\n\n    // 3. If input is given, push a copy of input to stream.\n    // TODO: Align with spec algorithm - maintain stream on instance.\n    var input_stream = new Stream(bytes);\n\n    // 4. Let output be a new stream.\n    var output = [];\n\n    /** @type {?(number|!Array.<number>)} */\n    var result;\n\n    // 5. While true:\n    while (true) {\n      // 1. Let token be the result of reading from stream.\n      var token = input_stream.read();\n\n      // 2. If token is end-of-stream and the do not flush flag is\n      // set, return output, serialized.\n      // TODO: Align with spec algorithm.\n      if (token === end_of_stream)\n        break;\n\n      // 3. Otherwise, run these subsubsteps:\n\n      // 1. Let result be the result of processing token for decoder,\n      // stream, output, and error mode.\n      result = this._decoder.handler(input_stream, token);\n\n      // 2. If result is finished, return output, serialized.\n      if (result === finished)\n        break;\n\n      if (result !== null) {\n        if (Array.isArray(result))\n          output.push.apply(output, /**@type {!Array.<number>}*/(result));\n        else\n          output.push(result);\n      }\n\n      // 3. Otherwise, if result is error, throw a TypeError.\n      // (Thrown in handler)\n\n      // 4. Otherwise, do nothing.\n    }\n    // TODO: Align with spec algorithm.\n    if (!this._do_not_flush) {\n      do {\n        result = this._decoder.handler(input_stream, input_stream.read());\n        if (result === finished)\n          break;\n        if (result === null)\n          continue;\n        if (Array.isArray(result))\n          output.push.apply(output, /**@type {!Array.<number>}*/(result));\n        else\n          output.push(result);\n      } while (!input_stream.endOfStream());\n      this._decoder = null;\n    }\n\n    // A TextDecoder object also has an associated serialize stream\n    // algorithm...\n    /**\n     * @param {!Array.<number>} stream\n     * @return {string}\n     * @this {TextDecoder}\n     */\n    function serializeStream(stream) {\n      // 1. Let token be the result of reading from stream.\n      // (Done in-place on array, rather than as a stream)\n\n      // 2. If encoding is UTF-8, UTF-16BE, or UTF-16LE, and ignore\n      // BOM flag and BOM seen flag are unset, run these subsubsteps:\n      if (includes(['UTF-8', 'UTF-16LE', 'UTF-16BE'], this._encoding.name) &&\n          !this._ignoreBOM && !this._BOMseen) {\n        if (stream.length > 0 && stream[0] === 0xFEFF) {\n          // 1. If token is U+FEFF, set BOM seen flag.\n          this._BOMseen = true;\n          stream.shift();\n        } else if (stream.length > 0) {\n          // 2. Otherwise, if token is not end-of-stream, set BOM seen\n          // flag and append token to stream.\n          this._BOMseen = true;\n        } else {\n          // 3. Otherwise, if token is not end-of-stream, append token\n          // to output.\n          // (no-op)\n        }\n      }\n      // 4. Otherwise, return output.\n      return codePointsToString(stream);\n    }\n\n    return serializeStream.call(this, output);\n  };\n\n  // 8.2 Interface TextEncoder\n\n  /**\n   * @constructor\n   * @param {string=} label The label of the encoding. NONSTANDARD.\n   * @param {Object=} options NONSTANDARD.\n   */\n  function TextEncoder(label, options) {\n    // Web IDL conventions\n    if (!(this instanceof TextEncoder))\n      throw TypeError('Called as a function. Did you forget \\'new\\'?');\n    options = ToDictionary(options);\n\n    // A TextEncoder object has an associated encoding and encoder.\n\n    /** @private */\n    this._encoding = null;\n    /** @private @type {?Encoder} */\n    this._encoder = null;\n\n    // Non-standard\n    /** @private @type {boolean} */\n    this._do_not_flush = false;\n    /** @private @type {string} */\n    this._fatal = Boolean(options['fatal']) ? 'fatal' : 'replacement';\n\n    // 1. Let enc be a new TextEncoder object.\n    var enc = this;\n\n    // 2. Set enc's encoding to UTF-8's encoder.\n    if (Boolean(options['NONSTANDARD_allowLegacyEncoding'])) {\n      // NONSTANDARD behavior.\n      label = label !== undefined ? String(label) : DEFAULT_ENCODING;\n      var encoding = getEncoding(label);\n      if (encoding === null || encoding.name === 'replacement')\n        throw RangeError('Unknown encoding: ' + label);\n      if (!encoders[encoding.name]) {\n        throw Error('Encoder not present.' +\n                    ' Did you forget to include encoding-indexes.js first?');\n      }\n      enc._encoding = encoding;\n    } else {\n      // Standard behavior.\n      enc._encoding = getEncoding('utf-8');\n\n      if (label !== undefined && 'console' in global) {\n        console.warn('TextEncoder constructor called with encoding label, '\n                     + 'which is ignored.');\n      }\n    }\n\n    // For pre-ES5 runtimes:\n    if (!Object.defineProperty)\n      this.encoding = enc._encoding.name.toLowerCase();\n\n    // 3. Return enc.\n    return enc;\n  }\n\n  if (Object.defineProperty) {\n    // The encoding attribute's getter must return encoding's name.\n    Object.defineProperty(TextEncoder.prototype, 'encoding', {\n      /** @this {TextEncoder} */\n      get: function() { return this._encoding.name.toLowerCase(); }\n    });\n  }\n\n  /**\n   * @param {string=} opt_string The string to encode.\n   * @param {Object=} options\n   * @return {!Uint8Array} Encoded bytes, as a Uint8Array.\n   */\n  TextEncoder.prototype.encode = function encode(opt_string, options) {\n    opt_string = opt_string === undefined ? '' : String(opt_string);\n    options = ToDictionary(options);\n\n    // NOTE: This option is nonstandard. None of the encodings\n    // permitted for encoding (i.e. UTF-8, UTF-16) are stateful when\n    // the input is a USVString so streaming is not necessary.\n    if (!this._do_not_flush)\n      this._encoder = encoders[this._encoding.name]({\n        fatal: this._fatal === 'fatal'});\n    this._do_not_flush = Boolean(options['stream']);\n\n    // 1. Convert input to a stream.\n    var input = new Stream(stringToCodePoints(opt_string));\n\n    // 2. Let output be a new stream\n    var output = [];\n\n    /** @type {?(number|!Array.<number>)} */\n    var result;\n    // 3. While true, run these substeps:\n    while (true) {\n      // 1. Let token be the result of reading from input.\n      var token = input.read();\n      if (token === end_of_stream)\n        break;\n      // 2. Let result be the result of processing token for encoder,\n      // input, output.\n      result = this._encoder.handler(input, token);\n      if (result === finished)\n        break;\n      if (Array.isArray(result))\n        output.push.apply(output, /**@type {!Array.<number>}*/(result));\n      else\n        output.push(result);\n    }\n    // TODO: Align with spec algorithm.\n    if (!this._do_not_flush) {\n      while (true) {\n        result = this._encoder.handler(input, input.read());\n        if (result === finished)\n          break;\n        if (Array.isArray(result))\n          output.push.apply(output, /**@type {!Array.<number>}*/(result));\n        else\n          output.push(result);\n      }\n      this._encoder = null;\n    }\n    // 3. If result is finished, convert output into a byte sequence,\n    // and then return a Uint8Array object wrapping an ArrayBuffer\n    // containing output.\n    return new Uint8Array(output);\n  };\n\n\n  //\n  // 9. The encoding\n  //\n\n  // 9.1 utf-8\n\n  // 9.1.1 utf-8 decoder\n  /**\n   * @constructor\n   * @implements {Decoder}\n   * @param {{fatal: boolean}} options\n   */\n  function UTF8Decoder(options) {\n    var fatal = options.fatal;\n\n    // utf-8's decoder's has an associated utf-8 code point, utf-8\n    // bytes seen, and utf-8 bytes needed (all initially 0), a utf-8\n    // lower boundary (initially 0x80), and a utf-8 upper boundary\n    // (initially 0xBF).\n    var /** @type {number} */ utf8_code_point = 0,\n        /** @type {number} */ utf8_bytes_seen = 0,\n        /** @type {number} */ utf8_bytes_needed = 0,\n        /** @type {number} */ utf8_lower_boundary = 0x80,\n        /** @type {number} */ utf8_upper_boundary = 0xBF;\n\n    /**\n     * @param {Stream} stream The stream of bytes being decoded.\n     * @param {number} bite The next byte read from the stream.\n     * @return {?(number|!Array.<number>)} The next code point(s)\n     *     decoded, or null if not enough data exists in the input\n     *     stream to decode a complete code point.\n     */\n    this.handler = function(stream, bite) {\n      // 1. If byte is end-of-stream and utf-8 bytes needed is not 0,\n      // set utf-8 bytes needed to 0 and return error.\n      if (bite === end_of_stream && utf8_bytes_needed !== 0) {\n        utf8_bytes_needed = 0;\n        return decoderError(fatal);\n      }\n\n      // 2. If byte is end-of-stream, return finished.\n      if (bite === end_of_stream)\n        return finished;\n\n      // 3. If utf-8 bytes needed is 0, based on byte:\n      if (utf8_bytes_needed === 0) {\n\n        // 0x00 to 0x7F\n        if (inRange(bite, 0x00, 0x7F)) {\n          // Return a code point whose value is byte.\n          return bite;\n        }\n\n        // 0xC2 to 0xDF\n        else if (inRange(bite, 0xC2, 0xDF)) {\n          // 1. Set utf-8 bytes needed to 1.\n          utf8_bytes_needed = 1;\n\n          // 2. Set UTF-8 code point to byte & 0x1F.\n          utf8_code_point = bite & 0x1F;\n        }\n\n        // 0xE0 to 0xEF\n        else if (inRange(bite, 0xE0, 0xEF)) {\n          // 1. If byte is 0xE0, set utf-8 lower boundary to 0xA0.\n          if (bite === 0xE0)\n            utf8_lower_boundary = 0xA0;\n          // 2. If byte is 0xED, set utf-8 upper boundary to 0x9F.\n          if (bite === 0xED)\n            utf8_upper_boundary = 0x9F;\n          // 3. Set utf-8 bytes needed to 2.\n          utf8_bytes_needed = 2;\n          // 4. Set UTF-8 code point to byte & 0xF.\n          utf8_code_point = bite & 0xF;\n        }\n\n        // 0xF0 to 0xF4\n        else if (inRange(bite, 0xF0, 0xF4)) {\n          // 1. If byte is 0xF0, set utf-8 lower boundary to 0x90.\n          if (bite === 0xF0)\n            utf8_lower_boundary = 0x90;\n          // 2. If byte is 0xF4, set utf-8 upper boundary to 0x8F.\n          if (bite === 0xF4)\n            utf8_upper_boundary = 0x8F;\n          // 3. Set utf-8 bytes needed to 3.\n          utf8_bytes_needed = 3;\n          // 4. Set UTF-8 code point to byte & 0x7.\n          utf8_code_point = bite & 0x7;\n        }\n\n        // Otherwise\n        else {\n          // Return error.\n          return decoderError(fatal);\n        }\n\n        // Return continue.\n        return null;\n      }\n\n      // 4. If byte is not in the range utf-8 lower boundary to utf-8\n      // upper boundary, inclusive, run these substeps:\n      if (!inRange(bite, utf8_lower_boundary, utf8_upper_boundary)) {\n\n        // 1. Set utf-8 code point, utf-8 bytes needed, and utf-8\n        // bytes seen to 0, set utf-8 lower boundary to 0x80, and set\n        // utf-8 upper boundary to 0xBF.\n        utf8_code_point = utf8_bytes_needed = utf8_bytes_seen = 0;\n        utf8_lower_boundary = 0x80;\n        utf8_upper_boundary = 0xBF;\n\n        // 2. Prepend byte to stream.\n        stream.prepend(bite);\n\n        // 3. Return error.\n        return decoderError(fatal);\n      }\n\n      // 5. Set utf-8 lower boundary to 0x80 and utf-8 upper boundary\n      // to 0xBF.\n      utf8_lower_boundary = 0x80;\n      utf8_upper_boundary = 0xBF;\n\n      // 6. Set UTF-8 code point to (UTF-8 code point << 6) | (byte &\n      // 0x3F)\n      utf8_code_point = (utf8_code_point << 6) | (bite & 0x3F);\n\n      // 7. Increase utf-8 bytes seen by one.\n      utf8_bytes_seen += 1;\n\n      // 8. If utf-8 bytes seen is not equal to utf-8 bytes needed,\n      // continue.\n      if (utf8_bytes_seen !== utf8_bytes_needed)\n        return null;\n\n      // 9. Let code point be utf-8 code point.\n      var code_point = utf8_code_point;\n\n      // 10. Set utf-8 code point, utf-8 bytes needed, and utf-8 bytes\n      // seen to 0.\n      utf8_code_point = utf8_bytes_needed = utf8_bytes_seen = 0;\n\n      // 11. Return a code point whose value is code point.\n      return code_point;\n    };\n  }\n\n  // 9.1.2 utf-8 encoder\n  /**\n   * @constructor\n   * @implements {Encoder}\n   * @param {{fatal: boolean}} options\n   */\n  function UTF8Encoder(options) {\n    var fatal = options.fatal;\n    /**\n     * @param {Stream} stream Input stream.\n     * @param {number} code_point Next code point read from the stream.\n     * @return {(number|!Array.<number>)} Byte(s) to emit.\n     */\n    this.handler = function(stream, code_point) {\n      // 1. If code point is end-of-stream, return finished.\n      if (code_point === end_of_stream)\n        return finished;\n\n      // 2. If code point is an ASCII code point, return a byte whose\n      // value is code point.\n      if (isASCIICodePoint(code_point))\n        return code_point;\n\n      // 3. Set count and offset based on the range code point is in:\n      var count, offset;\n      // U+0080 to U+07FF, inclusive:\n      if (inRange(code_point, 0x0080, 0x07FF)) {\n        // 1 and 0xC0\n        count = 1;\n        offset = 0xC0;\n      }\n      // U+0800 to U+FFFF, inclusive:\n      else if (inRange(code_point, 0x0800, 0xFFFF)) {\n        // 2 and 0xE0\n        count = 2;\n        offset = 0xE0;\n      }\n      // U+10000 to U+10FFFF, inclusive:\n      else if (inRange(code_point, 0x10000, 0x10FFFF)) {\n        // 3 and 0xF0\n        count = 3;\n        offset = 0xF0;\n      }\n\n      // 4. Let bytes be a byte sequence whose first byte is (code\n      // point >> (6 × count)) + offset.\n      var bytes = [(code_point >> (6 * count)) + offset];\n\n      // 5. Run these substeps while count is greater than 0:\n      while (count > 0) {\n\n        // 1. Set temp to code point >> (6 × (count − 1)).\n        var temp = code_point >> (6 * (count - 1));\n\n        // 2. Append to bytes 0x80 | (temp & 0x3F).\n        bytes.push(0x80 | (temp & 0x3F));\n\n        // 3. Decrease count by one.\n        count -= 1;\n      }\n\n      // 6. Return bytes bytes, in order.\n      return bytes;\n    };\n  }\n\n  /** @param {{fatal: boolean}} options */\n  encoders['UTF-8'] = function(options) {\n    return new UTF8Encoder(options);\n  };\n  /** @param {{fatal: boolean}} options */\n  decoders['UTF-8'] = function(options) {\n    return new UTF8Decoder(options);\n  };\n\n  //\n  // 10. Legacy single-byte encodings\n  //\n\n  // 10.1 single-byte decoder\n  /**\n   * @constructor\n   * @implements {Decoder}\n   * @param {!Array.<number>} index The encoding index.\n   * @param {{fatal: boolean}} options\n   */\n  function SingleByteDecoder(index, options) {\n    var fatal = options.fatal;\n    /**\n     * @param {Stream} stream The stream of bytes being decoded.\n     * @param {number} bite The next byte read from the stream.\n     * @return {?(number|!Array.<number>)} The next code point(s)\n     *     decoded, or null if not enough data exists in the input\n     *     stream to decode a complete code point.\n     */\n    this.handler = function(stream, bite) {\n      // 1. If byte is end-of-stream, return finished.\n      if (bite === end_of_stream)\n        return finished;\n\n      // 2. If byte is an ASCII byte, return a code point whose value\n      // is byte.\n      if (isASCIIByte(bite))\n        return bite;\n\n      // 3. Let code point be the index code point for byte − 0x80 in\n      // index single-byte.\n      var code_point = index[bite - 0x80];\n\n      // 4. If code point is null, return error.\n      if (code_point === null)\n        return decoderError(fatal);\n\n      // 5. Return a code point whose value is code point.\n      return code_point;\n    };\n  }\n\n  // 10.2 single-byte encoder\n  /**\n   * @constructor\n   * @implements {Encoder}\n   * @param {!Array.<?number>} index The encoding index.\n   * @param {{fatal: boolean}} options\n   */\n  function SingleByteEncoder(index, options) {\n    var fatal = options.fatal;\n    /**\n     * @param {Stream} stream Input stream.\n     * @param {number} code_point Next code point read from the stream.\n     * @return {(number|!Array.<number>)} Byte(s) to emit.\n     */\n    this.handler = function(stream, code_point) {\n      // 1. If code point is end-of-stream, return finished.\n      if (code_point === end_of_stream)\n        return finished;\n\n      // 2. If code point is an ASCII code point, return a byte whose\n      // value is code point.\n      if (isASCIICodePoint(code_point))\n        return code_point;\n\n      // 3. Let pointer be the index pointer for code point in index\n      // single-byte.\n      var pointer = indexPointerFor(code_point, index);\n\n      // 4. If pointer is null, return error with code point.\n      if (pointer === null)\n        encoderError(code_point);\n\n      // 5. Return a byte whose value is pointer + 0x80.\n      return pointer + 0x80;\n    };\n  }\n\n  (function() {\n    if (!('encoding-indexes' in global))\n      return;\n    encodings.forEach(function(category) {\n      if (category.heading !== 'Legacy single-byte encodings')\n        return;\n      category.encodings.forEach(function(encoding) {\n        var name = encoding.name;\n        var idx = index(name.toLowerCase());\n        /** @param {{fatal: boolean}} options */\n        decoders[name] = function(options) {\n          return new SingleByteDecoder(idx, options);\n        };\n        /** @param {{fatal: boolean}} options */\n        encoders[name] = function(options) {\n          return new SingleByteEncoder(idx, options);\n        };\n      });\n    });\n  }());\n\n  //\n  // 11. Legacy multi-byte Chinese (simplified) encodings\n  //\n\n  // 11.1 gbk\n\n  // 11.1.1 gbk decoder\n  // gbk's decoder is gb18030's decoder.\n  /** @param {{fatal: boolean}} options */\n  decoders['GBK'] = function(options) {\n    return new GB18030Decoder(options);\n  };\n\n  // 11.1.2 gbk encoder\n  // gbk's encoder is gb18030's encoder with its gbk flag set.\n  /** @param {{fatal: boolean}} options */\n  encoders['GBK'] = function(options) {\n    return new GB18030Encoder(options, true);\n  };\n\n  // 11.2 gb18030\n\n  // 11.2.1 gb18030 decoder\n  /**\n   * @constructor\n   * @implements {Decoder}\n   * @param {{fatal: boolean}} options\n   */\n  function GB18030Decoder(options) {\n    var fatal = options.fatal;\n    // gb18030's decoder has an associated gb18030 first, gb18030\n    // second, and gb18030 third (all initially 0x00).\n    var /** @type {number} */ gb18030_first = 0x00,\n        /** @type {number} */ gb18030_second = 0x00,\n        /** @type {number} */ gb18030_third = 0x00;\n    /**\n     * @param {Stream} stream The stream of bytes being decoded.\n     * @param {number} bite The next byte read from the stream.\n     * @return {?(number|!Array.<number>)} The next code point(s)\n     *     decoded, or null if not enough data exists in the input\n     *     stream to decode a complete code point.\n     */\n    this.handler = function(stream, bite) {\n      // 1. If byte is end-of-stream and gb18030 first, gb18030\n      // second, and gb18030 third are 0x00, return finished.\n      if (bite === end_of_stream && gb18030_first === 0x00 &&\n          gb18030_second === 0x00 && gb18030_third === 0x00) {\n        return finished;\n      }\n      // 2. If byte is end-of-stream, and gb18030 first, gb18030\n      // second, or gb18030 third is not 0x00, set gb18030 first,\n      // gb18030 second, and gb18030 third to 0x00, and return error.\n      if (bite === end_of_stream &&\n          (gb18030_first !== 0x00 || gb18030_second !== 0x00 ||\n           gb18030_third !== 0x00)) {\n        gb18030_first = 0x00;\n        gb18030_second = 0x00;\n        gb18030_third = 0x00;\n        decoderError(fatal);\n      }\n      var code_point;\n      // 3. If gb18030 third is not 0x00, run these substeps:\n      if (gb18030_third !== 0x00) {\n        // 1. Let code point be null.\n        code_point = null;\n        // 2. If byte is in the range 0x30 to 0x39, inclusive, set\n        // code point to the index gb18030 ranges code point for\n        // (((gb18030 first − 0x81) × 10 + gb18030 second − 0x30) ×\n        // 126 + gb18030 third − 0x81) × 10 + byte − 0x30.\n        if (inRange(bite, 0x30, 0x39)) {\n          code_point = indexGB18030RangesCodePointFor(\n              (((gb18030_first - 0x81) * 10 + gb18030_second - 0x30) * 126 +\n               gb18030_third - 0x81) * 10 + bite - 0x30);\n        }\n\n        // 3. Let buffer be a byte sequence consisting of gb18030\n        // second, gb18030 third, and byte, in order.\n        var buffer = [gb18030_second, gb18030_third, bite];\n\n        // 4. Set gb18030 first, gb18030 second, and gb18030 third to\n        // 0x00.\n        gb18030_first = 0x00;\n        gb18030_second = 0x00;\n        gb18030_third = 0x00;\n\n        // 5. If code point is null, prepend buffer to stream and\n        // return error.\n        if (code_point === null) {\n          stream.prepend(buffer);\n          return decoderError(fatal);\n        }\n\n        // 6. Return a code point whose value is code point.\n        return code_point;\n      }\n\n      // 4. If gb18030 second is not 0x00, run these substeps:\n      if (gb18030_second !== 0x00) {\n\n        // 1. If byte is in the range 0x81 to 0xFE, inclusive, set\n        // gb18030 third to byte and return continue.\n        if (inRange(bite, 0x81, 0xFE)) {\n          gb18030_third = bite;\n          return null;\n        }\n\n        // 2. Prepend gb18030 second followed by byte to stream, set\n        // gb18030 first and gb18030 second to 0x00, and return error.\n        stream.prepend([gb18030_second, bite]);\n        gb18030_first = 0x00;\n        gb18030_second = 0x00;\n        return decoderError(fatal);\n      }\n\n      // 5. If gb18030 first is not 0x00, run these substeps:\n      if (gb18030_first !== 0x00) {\n\n        // 1. If byte is in the range 0x30 to 0x39, inclusive, set\n        // gb18030 second to byte and return continue.\n        if (inRange(bite, 0x30, 0x39)) {\n          gb18030_second = bite;\n          return null;\n        }\n\n        // 2. Let lead be gb18030 first, let pointer be null, and set\n        // gb18030 first to 0x00.\n        var lead = gb18030_first;\n        var pointer = null;\n        gb18030_first = 0x00;\n\n        // 3. Let offset be 0x40 if byte is less than 0x7F and 0x41\n        // otherwise.\n        var offset = bite < 0x7F ? 0x40 : 0x41;\n\n        // 4. If byte is in the range 0x40 to 0x7E, inclusive, or 0x80\n        // to 0xFE, inclusive, set pointer to (lead − 0x81) × 190 +\n        // (byte − offset).\n        if (inRange(bite, 0x40, 0x7E) || inRange(bite, 0x80, 0xFE))\n          pointer = (lead - 0x81) * 190 + (bite - offset);\n\n        // 5. Let code point be null if pointer is null and the index\n        // code point for pointer in index gb18030 otherwise.\n        code_point = pointer === null ? null :\n            indexCodePointFor(pointer, index('gb18030'));\n\n        // 6. If code point is null and byte is an ASCII byte, prepend\n        // byte to stream.\n        if (code_point === null && isASCIIByte(bite))\n          stream.prepend(bite);\n\n        // 7. If code point is null, return error.\n        if (code_point === null)\n          return decoderError(fatal);\n\n        // 8. Return a code point whose value is code point.\n        return code_point;\n      }\n\n      // 6. If byte is an ASCII byte, return a code point whose value\n      // is byte.\n      if (isASCIIByte(bite))\n        return bite;\n\n      // 7. If byte is 0x80, return code point U+20AC.\n      if (bite === 0x80)\n        return 0x20AC;\n\n      // 8. If byte is in the range 0x81 to 0xFE, inclusive, set\n      // gb18030 first to byte and return continue.\n      if (inRange(bite, 0x81, 0xFE)) {\n        gb18030_first = bite;\n        return null;\n      }\n\n      // 9. Return error.\n      return decoderError(fatal);\n    };\n  }\n\n  // 11.2.2 gb18030 encoder\n  /**\n   * @constructor\n   * @implements {Encoder}\n   * @param {{fatal: boolean}} options\n   * @param {boolean=} gbk_flag\n   */\n  function GB18030Encoder(options, gbk_flag) {\n    var fatal = options.fatal;\n    // gb18030's decoder has an associated gbk flag (initially unset).\n    /**\n     * @param {Stream} stream Input stream.\n     * @param {number} code_point Next code point read from the stream.\n     * @return {(number|!Array.<number>)} Byte(s) to emit.\n     */\n    this.handler = function(stream, code_point) {\n      // 1. If code point is end-of-stream, return finished.\n      if (code_point === end_of_stream)\n        return finished;\n\n      // 2. If code point is an ASCII code point, return a byte whose\n      // value is code point.\n      if (isASCIICodePoint(code_point))\n        return code_point;\n\n      // 3. If code point is U+E5E5, return error with code point.\n      if (code_point === 0xE5E5)\n        return encoderError(code_point);\n\n      // 4. If the gbk flag is set and code point is U+20AC, return\n      // byte 0x80.\n      if (gbk_flag && code_point === 0x20AC)\n        return 0x80;\n\n      // 5. Let pointer be the index pointer for code point in index\n      // gb18030.\n      var pointer = indexPointerFor(code_point, index('gb18030'));\n\n      // 6. If pointer is not null, run these substeps:\n      if (pointer !== null) {\n\n        // 1. Let lead be floor(pointer / 190) + 0x81.\n        var lead = floor(pointer / 190) + 0x81;\n\n        // 2. Let trail be pointer % 190.\n        var trail = pointer % 190;\n\n        // 3. Let offset be 0x40 if trail is less than 0x3F and 0x41 otherwise.\n        var offset = trail < 0x3F ? 0x40 : 0x41;\n\n        // 4. Return two bytes whose values are lead and trail + offset.\n        return [lead, trail + offset];\n      }\n\n      // 7. If gbk flag is set, return error with code point.\n      if (gbk_flag)\n        return encoderError(code_point);\n\n      // 8. Set pointer to the index gb18030 ranges pointer for code\n      // point.\n      pointer = indexGB18030RangesPointerFor(code_point);\n\n      // 9. Let byte1 be floor(pointer / 10 / 126 / 10).\n      var byte1 = floor(pointer / 10 / 126 / 10);\n\n      // 10. Set pointer to pointer − byte1 × 10 × 126 × 10.\n      pointer = pointer - byte1 * 10 * 126 * 10;\n\n      // 11. Let byte2 be floor(pointer / 10 / 126).\n      var byte2 = floor(pointer / 10 / 126);\n\n      // 12. Set pointer to pointer − byte2 × 10 × 126.\n      pointer = pointer - byte2 * 10 * 126;\n\n      // 13. Let byte3 be floor(pointer / 10).\n      var byte3 = floor(pointer / 10);\n\n      // 14. Let byte4 be pointer − byte3 × 10.\n      var byte4 = pointer - byte3 * 10;\n\n      // 15. Return four bytes whose values are byte1 + 0x81, byte2 +\n      // 0x30, byte3 + 0x81, byte4 + 0x30.\n      return [byte1 + 0x81,\n              byte2 + 0x30,\n              byte3 + 0x81,\n              byte4 + 0x30];\n    };\n  }\n\n  /** @param {{fatal: boolean}} options */\n  encoders['gb18030'] = function(options) {\n    return new GB18030Encoder(options);\n  };\n  /** @param {{fatal: boolean}} options */\n  decoders['gb18030'] = function(options) {\n    return new GB18030Decoder(options);\n  };\n\n\n  //\n  // 12. Legacy multi-byte Chinese (traditional) encodings\n  //\n\n  // 12.1 Big5\n\n  // 12.1.1 Big5 decoder\n  /**\n   * @constructor\n   * @implements {Decoder}\n   * @param {{fatal: boolean}} options\n   */\n  function Big5Decoder(options) {\n    var fatal = options.fatal;\n    // Big5's decoder has an associated Big5 lead (initially 0x00).\n    var /** @type {number} */ Big5_lead = 0x00;\n\n    /**\n     * @param {Stream} stream The stream of bytes being decoded.\n     * @param {number} bite The next byte read from the stream.\n     * @return {?(number|!Array.<number>)} The next code point(s)\n     *     decoded, or null if not enough data exists in the input\n     *     stream to decode a complete code point.\n     */\n    this.handler = function(stream, bite) {\n      // 1. If byte is end-of-stream and Big5 lead is not 0x00, set\n      // Big5 lead to 0x00 and return error.\n      if (bite === end_of_stream && Big5_lead !== 0x00) {\n        Big5_lead = 0x00;\n        return decoderError(fatal);\n      }\n\n      // 2. If byte is end-of-stream and Big5 lead is 0x00, return\n      // finished.\n      if (bite === end_of_stream && Big5_lead === 0x00)\n        return finished;\n\n      // 3. If Big5 lead is not 0x00, let lead be Big5 lead, let\n      // pointer be null, set Big5 lead to 0x00, and then run these\n      // substeps:\n      if (Big5_lead !== 0x00) {\n        var lead = Big5_lead;\n        var pointer = null;\n        Big5_lead = 0x00;\n\n        // 1. Let offset be 0x40 if byte is less than 0x7F and 0x62\n        // otherwise.\n        var offset = bite < 0x7F ? 0x40 : 0x62;\n\n        // 2. If byte is in the range 0x40 to 0x7E, inclusive, or 0xA1\n        // to 0xFE, inclusive, set pointer to (lead − 0x81) × 157 +\n        // (byte − offset).\n        if (inRange(bite, 0x40, 0x7E) || inRange(bite, 0xA1, 0xFE))\n          pointer = (lead - 0x81) * 157 + (bite - offset);\n\n        // 3. If there is a row in the table below whose first column\n        // is pointer, return the two code points listed in its second\n        // column\n        // Pointer | Code points\n        // --------+--------------\n        // 1133    | U+00CA U+0304\n        // 1135    | U+00CA U+030C\n        // 1164    | U+00EA U+0304\n        // 1166    | U+00EA U+030C\n        switch (pointer) {\n          case 1133: return [0x00CA, 0x0304];\n          case 1135: return [0x00CA, 0x030C];\n          case 1164: return [0x00EA, 0x0304];\n          case 1166: return [0x00EA, 0x030C];\n        }\n\n        // 4. Let code point be null if pointer is null and the index\n        // code point for pointer in index Big5 otherwise.\n        var code_point = (pointer === null) ? null :\n            indexCodePointFor(pointer, index('big5'));\n\n        // 5. If code point is null and byte is an ASCII byte, prepend\n        // byte to stream.\n        if (code_point === null && isASCIIByte(bite))\n          stream.prepend(bite);\n\n        // 6. If code point is null, return error.\n        if (code_point === null)\n          return decoderError(fatal);\n\n        // 7. Return a code point whose value is code point.\n        return code_point;\n      }\n\n      // 4. If byte is an ASCII byte, return a code point whose value\n      // is byte.\n      if (isASCIIByte(bite))\n        return bite;\n\n      // 5. If byte is in the range 0x81 to 0xFE, inclusive, set Big5\n      // lead to byte and return continue.\n      if (inRange(bite, 0x81, 0xFE)) {\n        Big5_lead = bite;\n        return null;\n      }\n\n      // 6. Return error.\n      return decoderError(fatal);\n    };\n  }\n\n  // 12.1.2 Big5 encoder\n  /**\n   * @constructor\n   * @implements {Encoder}\n   * @param {{fatal: boolean}} options\n   */\n  function Big5Encoder(options) {\n    var fatal = options.fatal;\n    /**\n     * @param {Stream} stream Input stream.\n     * @param {number} code_point Next code point read from the stream.\n     * @return {(number|!Array.<number>)} Byte(s) to emit.\n     */\n    this.handler = function(stream, code_point) {\n      // 1. If code point is end-of-stream, return finished.\n      if (code_point === end_of_stream)\n        return finished;\n\n      // 2. If code point is an ASCII code point, return a byte whose\n      // value is code point.\n      if (isASCIICodePoint(code_point))\n        return code_point;\n\n      // 3. Let pointer be the index Big5 pointer for code point.\n      var pointer = indexBig5PointerFor(code_point);\n\n      // 4. If pointer is null, return error with code point.\n      if (pointer === null)\n        return encoderError(code_point);\n\n      // 5. Let lead be floor(pointer / 157) + 0x81.\n      var lead = floor(pointer / 157) + 0x81;\n\n      // 6. If lead is less than 0xA1, return error with code point.\n      if (lead < 0xA1)\n        return encoderError(code_point);\n\n      // 7. Let trail be pointer % 157.\n      var trail = pointer % 157;\n\n      // 8. Let offset be 0x40 if trail is less than 0x3F and 0x62\n      // otherwise.\n      var offset = trail < 0x3F ? 0x40 : 0x62;\n\n      // Return two bytes whose values are lead and trail + offset.\n      return [lead, trail + offset];\n    };\n  }\n\n  /** @param {{fatal: boolean}} options */\n  encoders['Big5'] = function(options) {\n    return new Big5Encoder(options);\n  };\n  /** @param {{fatal: boolean}} options */\n  decoders['Big5'] = function(options) {\n    return new Big5Decoder(options);\n  };\n\n\n  //\n  // 13. Legacy multi-byte Japanese encodings\n  //\n\n  // 13.1 euc-jp\n\n  // 13.1.1 euc-jp decoder\n  /**\n   * @constructor\n   * @implements {Decoder}\n   * @param {{fatal: boolean}} options\n   */\n  function EUCJPDecoder(options) {\n    var fatal = options.fatal;\n\n    // euc-jp's decoder has an associated euc-jp jis0212 flag\n    // (initially unset) and euc-jp lead (initially 0x00).\n    var /** @type {boolean} */ eucjp_jis0212_flag = false,\n        /** @type {number} */ eucjp_lead = 0x00;\n\n    /**\n     * @param {Stream} stream The stream of bytes being decoded.\n     * @param {number} bite The next byte read from the stream.\n     * @return {?(number|!Array.<number>)} The next code point(s)\n     *     decoded, or null if not enough data exists in the input\n     *     stream to decode a complete code point.\n     */\n    this.handler = function(stream, bite) {\n      // 1. If byte is end-of-stream and euc-jp lead is not 0x00, set\n      // euc-jp lead to 0x00, and return error.\n      if (bite === end_of_stream && eucjp_lead !== 0x00) {\n        eucjp_lead = 0x00;\n        return decoderError(fatal);\n      }\n\n      // 2. If byte is end-of-stream and euc-jp lead is 0x00, return\n      // finished.\n      if (bite === end_of_stream && eucjp_lead === 0x00)\n        return finished;\n\n      // 3. If euc-jp lead is 0x8E and byte is in the range 0xA1 to\n      // 0xDF, inclusive, set euc-jp lead to 0x00 and return a code\n      // point whose value is 0xFF61 − 0xA1 + byte.\n      if (eucjp_lead === 0x8E && inRange(bite, 0xA1, 0xDF)) {\n        eucjp_lead = 0x00;\n        return 0xFF61 - 0xA1 + bite;\n      }\n\n      // 4. If euc-jp lead is 0x8F and byte is in the range 0xA1 to\n      // 0xFE, inclusive, set the euc-jp jis0212 flag, set euc-jp lead\n      // to byte, and return continue.\n      if (eucjp_lead === 0x8F && inRange(bite, 0xA1, 0xFE)) {\n        eucjp_jis0212_flag = true;\n        eucjp_lead = bite;\n        return null;\n      }\n\n      // 5. If euc-jp lead is not 0x00, let lead be euc-jp lead, set\n      // euc-jp lead to 0x00, and run these substeps:\n      if (eucjp_lead !== 0x00) {\n        var lead = eucjp_lead;\n        eucjp_lead = 0x00;\n\n        // 1. Let code point be null.\n        var code_point = null;\n\n        // 2. If lead and byte are both in the range 0xA1 to 0xFE,\n        // inclusive, set code point to the index code point for (lead\n        // − 0xA1) × 94 + byte − 0xA1 in index jis0208 if the euc-jp\n        // jis0212 flag is unset and in index jis0212 otherwise.\n        if (inRange(lead, 0xA1, 0xFE) && inRange(bite, 0xA1, 0xFE)) {\n          code_point = indexCodePointFor(\n            (lead - 0xA1) * 94 + (bite - 0xA1),\n            index(!eucjp_jis0212_flag ? 'jis0208' : 'jis0212'));\n        }\n\n        // 3. Unset the euc-jp jis0212 flag.\n        eucjp_jis0212_flag = false;\n\n        // 4. If byte is not in the range 0xA1 to 0xFE, inclusive,\n        // prepend byte to stream.\n        if (!inRange(bite, 0xA1, 0xFE))\n          stream.prepend(bite);\n\n        // 5. If code point is null, return error.\n        if (code_point === null)\n          return decoderError(fatal);\n\n        // 6. Return a code point whose value is code point.\n        return code_point;\n      }\n\n      // 6. If byte is an ASCII byte, return a code point whose value\n      // is byte.\n      if (isASCIIByte(bite))\n        return bite;\n\n      // 7. If byte is 0x8E, 0x8F, or in the range 0xA1 to 0xFE,\n      // inclusive, set euc-jp lead to byte and return continue.\n      if (bite === 0x8E || bite === 0x8F || inRange(bite, 0xA1, 0xFE)) {\n        eucjp_lead = bite;\n        return null;\n      }\n\n      // 8. Return error.\n      return decoderError(fatal);\n    };\n  }\n\n  // 13.1.2 euc-jp encoder\n  /**\n   * @constructor\n   * @implements {Encoder}\n   * @param {{fatal: boolean}} options\n   */\n  function EUCJPEncoder(options) {\n    var fatal = options.fatal;\n    /**\n     * @param {Stream} stream Input stream.\n     * @param {number} code_point Next code point read from the stream.\n     * @return {(number|!Array.<number>)} Byte(s) to emit.\n     */\n    this.handler = function(stream, code_point) {\n      // 1. If code point is end-of-stream, return finished.\n      if (code_point === end_of_stream)\n        return finished;\n\n      // 2. If code point is an ASCII code point, return a byte whose\n      // value is code point.\n      if (isASCIICodePoint(code_point))\n        return code_point;\n\n      // 3. If code point is U+00A5, return byte 0x5C.\n      if (code_point === 0x00A5)\n        return 0x5C;\n\n      // 4. If code point is U+203E, return byte 0x7E.\n      if (code_point === 0x203E)\n        return 0x7E;\n\n      // 5. If code point is in the range U+FF61 to U+FF9F, inclusive,\n      // return two bytes whose values are 0x8E and code point −\n      // 0xFF61 + 0xA1.\n      if (inRange(code_point, 0xFF61, 0xFF9F))\n        return [0x8E, code_point - 0xFF61 + 0xA1];\n\n      // 6. If code point is U+2212, set it to U+FF0D.\n      if (code_point === 0x2212)\n        code_point = 0xFF0D;\n\n      // 7. Let pointer be the index pointer for code point in index\n      // jis0208.\n      var pointer = indexPointerFor(code_point, index('jis0208'));\n\n      // 8. If pointer is null, return error with code point.\n      if (pointer === null)\n        return encoderError(code_point);\n\n      // 9. Let lead be floor(pointer / 94) + 0xA1.\n      var lead = floor(pointer / 94) + 0xA1;\n\n      // 10. Let trail be pointer % 94 + 0xA1.\n      var trail = pointer % 94 + 0xA1;\n\n      // 11. Return two bytes whose values are lead and trail.\n      return [lead, trail];\n    };\n  }\n\n  /** @param {{fatal: boolean}} options */\n  encoders['EUC-JP'] = function(options) {\n    return new EUCJPEncoder(options);\n  };\n  /** @param {{fatal: boolean}} options */\n  decoders['EUC-JP'] = function(options) {\n    return new EUCJPDecoder(options);\n  };\n\n  // 13.2 iso-2022-jp\n\n  // 13.2.1 iso-2022-jp decoder\n  /**\n   * @constructor\n   * @implements {Decoder}\n   * @param {{fatal: boolean}} options\n   */\n  function ISO2022JPDecoder(options) {\n    var fatal = options.fatal;\n    /** @enum */\n    var states = {\n      ASCII: 0,\n      Roman: 1,\n      Katakana: 2,\n      LeadByte: 3,\n      TrailByte: 4,\n      EscapeStart: 5,\n      Escape: 6\n    };\n    // iso-2022-jp's decoder has an associated iso-2022-jp decoder\n    // state (initially ASCII), iso-2022-jp decoder output state\n    // (initially ASCII), iso-2022-jp lead (initially 0x00), and\n    // iso-2022-jp output flag (initially unset).\n    var /** @type {number} */ iso2022jp_decoder_state = states.ASCII,\n        /** @type {number} */ iso2022jp_decoder_output_state = states.ASCII,\n        /** @type {number} */ iso2022jp_lead = 0x00,\n        /** @type {boolean} */ iso2022jp_output_flag = false;\n    /**\n     * @param {Stream} stream The stream of bytes being decoded.\n     * @param {number} bite The next byte read from the stream.\n     * @return {?(number|!Array.<number>)} The next code point(s)\n     *     decoded, or null if not enough data exists in the input\n     *     stream to decode a complete code point.\n     */\n    this.handler = function(stream, bite) {\n      // switching on iso-2022-jp decoder state:\n      switch (iso2022jp_decoder_state) {\n      default:\n      case states.ASCII:\n        // ASCII\n        // Based on byte:\n\n        // 0x1B\n        if (bite === 0x1B) {\n          // Set iso-2022-jp decoder state to escape start and return\n          // continue.\n          iso2022jp_decoder_state = states.EscapeStart;\n          return null;\n        }\n\n        // 0x00 to 0x7F, excluding 0x0E, 0x0F, and 0x1B\n        if (inRange(bite, 0x00, 0x7F) && bite !== 0x0E\n            && bite !== 0x0F && bite !== 0x1B) {\n          // Unset the iso-2022-jp output flag and return a code point\n          // whose value is byte.\n          iso2022jp_output_flag = false;\n          return bite;\n        }\n\n        // end-of-stream\n        if (bite === end_of_stream) {\n          // Return finished.\n          return finished;\n        }\n\n        // Otherwise\n        // Unset the iso-2022-jp output flag and return error.\n        iso2022jp_output_flag = false;\n        return decoderError(fatal);\n\n      case states.Roman:\n        // Roman\n        // Based on byte:\n\n        // 0x1B\n        if (bite === 0x1B) {\n          // Set iso-2022-jp decoder state to escape start and return\n          // continue.\n          iso2022jp_decoder_state = states.EscapeStart;\n          return null;\n        }\n\n        // 0x5C\n        if (bite === 0x5C) {\n          // Unset the iso-2022-jp output flag and return code point\n          // U+00A5.\n          iso2022jp_output_flag = false;\n          return 0x00A5;\n        }\n\n        // 0x7E\n        if (bite === 0x7E) {\n          // Unset the iso-2022-jp output flag and return code point\n          // U+203E.\n          iso2022jp_output_flag = false;\n          return 0x203E;\n        }\n\n        // 0x00 to 0x7F, excluding 0x0E, 0x0F, 0x1B, 0x5C, and 0x7E\n        if (inRange(bite, 0x00, 0x7F) && bite !== 0x0E && bite !== 0x0F\n            && bite !== 0x1B && bite !== 0x5C && bite !== 0x7E) {\n          // Unset the iso-2022-jp output flag and return a code point\n          // whose value is byte.\n          iso2022jp_output_flag = false;\n          return bite;\n        }\n\n        // end-of-stream\n        if (bite === end_of_stream) {\n          // Return finished.\n          return finished;\n        }\n\n        // Otherwise\n        // Unset the iso-2022-jp output flag and return error.\n        iso2022jp_output_flag = false;\n        return decoderError(fatal);\n\n      case states.Katakana:\n        // Katakana\n        // Based on byte:\n\n        // 0x1B\n        if (bite === 0x1B) {\n          // Set iso-2022-jp decoder state to escape start and return\n          // continue.\n          iso2022jp_decoder_state = states.EscapeStart;\n          return null;\n        }\n\n        // 0x21 to 0x5F\n        if (inRange(bite, 0x21, 0x5F)) {\n          // Unset the iso-2022-jp output flag and return a code point\n          // whose value is 0xFF61 − 0x21 + byte.\n          iso2022jp_output_flag = false;\n          return 0xFF61 - 0x21 + bite;\n        }\n\n        // end-of-stream\n        if (bite === end_of_stream) {\n          // Return finished.\n          return finished;\n        }\n\n        // Otherwise\n        // Unset the iso-2022-jp output flag and return error.\n        iso2022jp_output_flag = false;\n        return decoderError(fatal);\n\n      case states.LeadByte:\n        // Lead byte\n        // Based on byte:\n\n        // 0x1B\n        if (bite === 0x1B) {\n          // Set iso-2022-jp decoder state to escape start and return\n          // continue.\n          iso2022jp_decoder_state = states.EscapeStart;\n          return null;\n        }\n\n        // 0x21 to 0x7E\n        if (inRange(bite, 0x21, 0x7E)) {\n          // Unset the iso-2022-jp output flag, set iso-2022-jp lead\n          // to byte, iso-2022-jp decoder state to trail byte, and\n          // return continue.\n          iso2022jp_output_flag = false;\n          iso2022jp_lead = bite;\n          iso2022jp_decoder_state = states.TrailByte;\n          return null;\n        }\n\n        // end-of-stream\n        if (bite === end_of_stream) {\n          // Return finished.\n          return finished;\n        }\n\n        // Otherwise\n        // Unset the iso-2022-jp output flag and return error.\n        iso2022jp_output_flag = false;\n        return decoderError(fatal);\n\n      case states.TrailByte:\n        // Trail byte\n        // Based on byte:\n\n        // 0x1B\n        if (bite === 0x1B) {\n          // Set iso-2022-jp decoder state to escape start and return\n          // continue.\n          iso2022jp_decoder_state = states.EscapeStart;\n          return decoderError(fatal);\n        }\n\n        // 0x21 to 0x7E\n        if (inRange(bite, 0x21, 0x7E)) {\n          // 1. Set the iso-2022-jp decoder state to lead byte.\n          iso2022jp_decoder_state = states.LeadByte;\n\n          // 2. Let pointer be (iso-2022-jp lead − 0x21) × 94 + byte − 0x21.\n          var pointer = (iso2022jp_lead - 0x21) * 94 + bite - 0x21;\n\n          // 3. Let code point be the index code point for pointer in\n          // index jis0208.\n          var code_point = indexCodePointFor(pointer, index('jis0208'));\n\n          // 4. If code point is null, return error.\n          if (code_point === null)\n            return decoderError(fatal);\n\n          // 5. Return a code point whose value is code point.\n          return code_point;\n        }\n\n        // end-of-stream\n        if (bite === end_of_stream) {\n          // Set the iso-2022-jp decoder state to lead byte, prepend\n          // byte to stream, and return error.\n          iso2022jp_decoder_state = states.LeadByte;\n          stream.prepend(bite);\n          return decoderError(fatal);\n        }\n\n        // Otherwise\n        // Set iso-2022-jp decoder state to lead byte and return\n        // error.\n        iso2022jp_decoder_state = states.LeadByte;\n        return decoderError(fatal);\n\n      case states.EscapeStart:\n        // Escape start\n\n        // 1. If byte is either 0x24 or 0x28, set iso-2022-jp lead to\n        // byte, iso-2022-jp decoder state to escape, and return\n        // continue.\n        if (bite === 0x24 || bite === 0x28) {\n          iso2022jp_lead = bite;\n          iso2022jp_decoder_state = states.Escape;\n          return null;\n        }\n\n        // 2. Prepend byte to stream.\n        stream.prepend(bite);\n\n        // 3. Unset the iso-2022-jp output flag, set iso-2022-jp\n        // decoder state to iso-2022-jp decoder output state, and\n        // return error.\n        iso2022jp_output_flag = false;\n        iso2022jp_decoder_state = iso2022jp_decoder_output_state;\n        return decoderError(fatal);\n\n      case states.Escape:\n        // Escape\n\n        // 1. Let lead be iso-2022-jp lead and set iso-2022-jp lead to\n        // 0x00.\n        var lead = iso2022jp_lead;\n        iso2022jp_lead = 0x00;\n\n        // 2. Let state be null.\n        var state = null;\n\n        // 3. If lead is 0x28 and byte is 0x42, set state to ASCII.\n        if (lead === 0x28 && bite === 0x42)\n          state = states.ASCII;\n\n        // 4. If lead is 0x28 and byte is 0x4A, set state to Roman.\n        if (lead === 0x28 && bite === 0x4A)\n          state = states.Roman;\n\n        // 5. If lead is 0x28 and byte is 0x49, set state to Katakana.\n        if (lead === 0x28 && bite === 0x49)\n          state = states.Katakana;\n\n        // 6. If lead is 0x24 and byte is either 0x40 or 0x42, set\n        // state to lead byte.\n        if (lead === 0x24 && (bite === 0x40 || bite === 0x42))\n          state = states.LeadByte;\n\n        // 7. If state is non-null, run these substeps:\n        if (state !== null) {\n          // 1. Set iso-2022-jp decoder state and iso-2022-jp decoder\n          // output state to states.\n          iso2022jp_decoder_state = iso2022jp_decoder_state = state;\n\n          // 2. Let output flag be the iso-2022-jp output flag.\n          var output_flag = iso2022jp_output_flag;\n\n          // 3. Set the iso-2022-jp output flag.\n          iso2022jp_output_flag = true;\n\n          // 4. Return continue, if output flag is unset, and error\n          // otherwise.\n          return !output_flag ? null : decoderError(fatal);\n        }\n\n        // 8. Prepend lead and byte to stream.\n        stream.prepend([lead, bite]);\n\n        // 9. Unset the iso-2022-jp output flag, set iso-2022-jp\n        // decoder state to iso-2022-jp decoder output state and\n        // return error.\n        iso2022jp_output_flag = false;\n        iso2022jp_decoder_state = iso2022jp_decoder_output_state;\n        return decoderError(fatal);\n      }\n    };\n  }\n\n  // 13.2.2 iso-2022-jp encoder\n  /**\n   * @constructor\n   * @implements {Encoder}\n   * @param {{fatal: boolean}} options\n   */\n  function ISO2022JPEncoder(options) {\n    var fatal = options.fatal;\n    // iso-2022-jp's encoder has an associated iso-2022-jp encoder\n    // state which is one of ASCII, Roman, and jis0208 (initially\n    // ASCII).\n    /** @enum */\n    var states = {\n      ASCII: 0,\n      Roman: 1,\n      jis0208: 2\n    };\n    var /** @type {number} */ iso2022jp_state = states.ASCII;\n    /**\n     * @param {Stream} stream Input stream.\n     * @param {number} code_point Next code point read from the stream.\n     * @return {(number|!Array.<number>)} Byte(s) to emit.\n     */\n    this.handler = function(stream, code_point) {\n      // 1. If code point is end-of-stream and iso-2022-jp encoder\n      // state is not ASCII, prepend code point to stream, set\n      // iso-2022-jp encoder state to ASCII, and return three bytes\n      // 0x1B 0x28 0x42.\n      if (code_point === end_of_stream &&\n          iso2022jp_state !== states.ASCII) {\n        stream.prepend(code_point);\n        iso2022jp_state = states.ASCII;\n        return [0x1B, 0x28, 0x42];\n      }\n\n      // 2. If code point is end-of-stream and iso-2022-jp encoder\n      // state is ASCII, return finished.\n      if (code_point === end_of_stream && iso2022jp_state === states.ASCII)\n        return finished;\n\n      // 3. If ISO-2022-JP encoder state is ASCII or Roman, and code\n      // point is U+000E, U+000F, or U+001B, return error with U+FFFD.\n      if ((iso2022jp_state === states.ASCII ||\n           iso2022jp_state === states.Roman) &&\n          (code_point === 0x000E || code_point === 0x000F ||\n           code_point === 0x001B)) {\n        return encoderError(0xFFFD);\n      }\n\n      // 4. If iso-2022-jp encoder state is ASCII and code point is an\n      // ASCII code point, return a byte whose value is code point.\n      if (iso2022jp_state === states.ASCII &&\n          isASCIICodePoint(code_point))\n        return code_point;\n\n      // 5. If iso-2022-jp encoder state is Roman and code point is an\n      // ASCII code point, excluding U+005C and U+007E, or is U+00A5\n      // or U+203E, run these substeps:\n      if (iso2022jp_state === states.Roman &&\n          ((isASCIICodePoint(code_point) &&\n           code_point !== 0x005C && code_point !== 0x007E) ||\n          (code_point == 0x00A5 || code_point == 0x203E))) {\n\n        // 1. If code point is an ASCII code point, return a byte\n        // whose value is code point.\n        if (isASCIICodePoint(code_point))\n          return code_point;\n\n        // 2. If code point is U+00A5, return byte 0x5C.\n        if (code_point === 0x00A5)\n          return 0x5C;\n\n        // 3. If code point is U+203E, return byte 0x7E.\n        if (code_point === 0x203E)\n          return 0x7E;\n      }\n\n      // 6. If code point is an ASCII code point, and iso-2022-jp\n      // encoder state is not ASCII, prepend code point to stream, set\n      // iso-2022-jp encoder state to ASCII, and return three bytes\n      // 0x1B 0x28 0x42.\n      if (isASCIICodePoint(code_point) &&\n          iso2022jp_state !== states.ASCII) {\n        stream.prepend(code_point);\n        iso2022jp_state = states.ASCII;\n        return [0x1B, 0x28, 0x42];\n      }\n\n      // 7. If code point is either U+00A5 or U+203E, and iso-2022-jp\n      // encoder state is not Roman, prepend code point to stream, set\n      // iso-2022-jp encoder state to Roman, and return three bytes\n      // 0x1B 0x28 0x4A.\n      if ((code_point === 0x00A5 || code_point === 0x203E) &&\n          iso2022jp_state !== states.Roman) {\n        stream.prepend(code_point);\n        iso2022jp_state = states.Roman;\n        return [0x1B, 0x28, 0x4A];\n      }\n\n      // 8. If code point is U+2212, set it to U+FF0D.\n      if (code_point === 0x2212)\n        code_point = 0xFF0D;\n\n      // 9. Let pointer be the index pointer for code point in index\n      // jis0208.\n      var pointer = indexPointerFor(code_point, index('jis0208'));\n\n      // 10. If pointer is null, return error with code point.\n      if (pointer === null)\n        return encoderError(code_point);\n\n      // 11. If iso-2022-jp encoder state is not jis0208, prepend code\n      // point to stream, set iso-2022-jp encoder state to jis0208,\n      // and return three bytes 0x1B 0x24 0x42.\n      if (iso2022jp_state !== states.jis0208) {\n        stream.prepend(code_point);\n        iso2022jp_state = states.jis0208;\n        return [0x1B, 0x24, 0x42];\n      }\n\n      // 12. Let lead be floor(pointer / 94) + 0x21.\n      var lead = floor(pointer / 94) + 0x21;\n\n      // 13. Let trail be pointer % 94 + 0x21.\n      var trail = pointer % 94 + 0x21;\n\n      // 14. Return two bytes whose values are lead and trail.\n      return [lead, trail];\n    };\n  }\n\n  /** @param {{fatal: boolean}} options */\n  encoders['ISO-2022-JP'] = function(options) {\n    return new ISO2022JPEncoder(options);\n  };\n  /** @param {{fatal: boolean}} options */\n  decoders['ISO-2022-JP'] = function(options) {\n    return new ISO2022JPDecoder(options);\n  };\n\n  // 13.3 Shift_JIS\n\n  // 13.3.1 Shift_JIS decoder\n  /**\n   * @constructor\n   * @implements {Decoder}\n   * @param {{fatal: boolean}} options\n   */\n  function ShiftJISDecoder(options) {\n    var fatal = options.fatal;\n    // Shift_JIS's decoder has an associated Shift_JIS lead (initially\n    // 0x00).\n    var /** @type {number} */ Shift_JIS_lead = 0x00;\n    /**\n     * @param {Stream} stream The stream of bytes being decoded.\n     * @param {number} bite The next byte read from the stream.\n     * @return {?(number|!Array.<number>)} The next code point(s)\n     *     decoded, or null if not enough data exists in the input\n     *     stream to decode a complete code point.\n     */\n    this.handler = function(stream, bite) {\n      // 1. If byte is end-of-stream and Shift_JIS lead is not 0x00,\n      // set Shift_JIS lead to 0x00 and return error.\n      if (bite === end_of_stream && Shift_JIS_lead !== 0x00) {\n        Shift_JIS_lead = 0x00;\n        return decoderError(fatal);\n      }\n\n      // 2. If byte is end-of-stream and Shift_JIS lead is 0x00,\n      // return finished.\n      if (bite === end_of_stream && Shift_JIS_lead === 0x00)\n        return finished;\n\n      // 3. If Shift_JIS lead is not 0x00, let lead be Shift_JIS lead,\n      // let pointer be null, set Shift_JIS lead to 0x00, and then run\n      // these substeps:\n      if (Shift_JIS_lead !== 0x00) {\n        var lead = Shift_JIS_lead;\n        var pointer = null;\n        Shift_JIS_lead = 0x00;\n\n        // 1. Let offset be 0x40, if byte is less than 0x7F, and 0x41\n        // otherwise.\n        var offset = (bite < 0x7F) ? 0x40 : 0x41;\n\n        // 2. Let lead offset be 0x81, if lead is less than 0xA0, and\n        // 0xC1 otherwise.\n        var lead_offset = (lead < 0xA0) ? 0x81 : 0xC1;\n\n        // 3. If byte is in the range 0x40 to 0x7E, inclusive, or 0x80\n        // to 0xFC, inclusive, set pointer to (lead − lead offset) ×\n        // 188 + byte − offset.\n        if (inRange(bite, 0x40, 0x7E) || inRange(bite, 0x80, 0xFC))\n          pointer = (lead - lead_offset) * 188 + bite - offset;\n\n        // 4. If pointer is in the range 8836 to 10715, inclusive,\n        // return a code point whose value is 0xE000 − 8836 + pointer.\n        if (inRange(pointer, 8836, 10715))\n          return 0xE000 - 8836 + pointer;\n\n        // 5. Let code point be null, if pointer is null, and the\n        // index code point for pointer in index jis0208 otherwise.\n        var code_point = (pointer === null) ? null :\n              indexCodePointFor(pointer, index('jis0208'));\n\n        // 6. If code point is null and byte is an ASCII byte, prepend\n        // byte to stream.\n        if (code_point === null && isASCIIByte(bite))\n          stream.prepend(bite);\n\n        // 7. If code point is null, return error.\n        if (code_point === null)\n          return decoderError(fatal);\n\n        // 8. Return a code point whose value is code point.\n        return code_point;\n      }\n\n      // 4. If byte is an ASCII byte or 0x80, return a code point\n      // whose value is byte.\n      if (isASCIIByte(bite) || bite === 0x80)\n        return bite;\n\n      // 5. If byte is in the range 0xA1 to 0xDF, inclusive, return a\n      // code point whose value is 0xFF61 − 0xA1 + byte.\n      if (inRange(bite, 0xA1, 0xDF))\n        return 0xFF61 - 0xA1 + bite;\n\n      // 6. If byte is in the range 0x81 to 0x9F, inclusive, or 0xE0\n      // to 0xFC, inclusive, set Shift_JIS lead to byte and return\n      // continue.\n      if (inRange(bite, 0x81, 0x9F) || inRange(bite, 0xE0, 0xFC)) {\n        Shift_JIS_lead = bite;\n        return null;\n      }\n\n      // 7. Return error.\n      return decoderError(fatal);\n    };\n  }\n\n  // 13.3.2 Shift_JIS encoder\n  /**\n   * @constructor\n   * @implements {Encoder}\n   * @param {{fatal: boolean}} options\n   */\n  function ShiftJISEncoder(options) {\n    var fatal = options.fatal;\n    /**\n     * @param {Stream} stream Input stream.\n     * @param {number} code_point Next code point read from the stream.\n     * @return {(number|!Array.<number>)} Byte(s) to emit.\n     */\n    this.handler = function(stream, code_point) {\n      // 1. If code point is end-of-stream, return finished.\n      if (code_point === end_of_stream)\n        return finished;\n\n      // 2. If code point is an ASCII code point or U+0080, return a\n      // byte whose value is code point.\n      if (isASCIICodePoint(code_point) || code_point === 0x0080)\n        return code_point;\n\n      // 3. If code point is U+00A5, return byte 0x5C.\n      if (code_point === 0x00A5)\n        return 0x5C;\n\n      // 4. If code point is U+203E, return byte 0x7E.\n      if (code_point === 0x203E)\n        return 0x7E;\n\n      // 5. If code point is in the range U+FF61 to U+FF9F, inclusive,\n      // return a byte whose value is code point − 0xFF61 + 0xA1.\n      if (inRange(code_point, 0xFF61, 0xFF9F))\n        return code_point - 0xFF61 + 0xA1;\n\n      // 6. If code point is U+2212, set it to U+FF0D.\n      if (code_point === 0x2212)\n        code_point = 0xFF0D;\n\n      // 7. Let pointer be the index Shift_JIS pointer for code point.\n      var pointer = indexShiftJISPointerFor(code_point);\n\n      // 8. If pointer is null, return error with code point.\n      if (pointer === null)\n        return encoderError(code_point);\n\n      // 9. Let lead be floor(pointer / 188).\n      var lead = floor(pointer / 188);\n\n      // 10. Let lead offset be 0x81, if lead is less than 0x1F, and\n      // 0xC1 otherwise.\n      var lead_offset = (lead < 0x1F) ? 0x81 : 0xC1;\n\n      // 11. Let trail be pointer % 188.\n      var trail = pointer % 188;\n\n      // 12. Let offset be 0x40, if trail is less than 0x3F, and 0x41\n      // otherwise.\n      var offset = (trail < 0x3F) ? 0x40 : 0x41;\n\n      // 13. Return two bytes whose values are lead + lead offset and\n      // trail + offset.\n      return [lead + lead_offset, trail + offset];\n    };\n  }\n\n  /** @param {{fatal: boolean}} options */\n  encoders['Shift_JIS'] = function(options) {\n    return new ShiftJISEncoder(options);\n  };\n  /** @param {{fatal: boolean}} options */\n  decoders['Shift_JIS'] = function(options) {\n    return new ShiftJISDecoder(options);\n  };\n\n  //\n  // 14. Legacy multi-byte Korean encodings\n  //\n\n  // 14.1 euc-kr\n\n  // 14.1.1 euc-kr decoder\n  /**\n   * @constructor\n   * @implements {Decoder}\n   * @param {{fatal: boolean}} options\n   */\n  function EUCKRDecoder(options) {\n    var fatal = options.fatal;\n\n    // euc-kr's decoder has an associated euc-kr lead (initially 0x00).\n    var /** @type {number} */ euckr_lead = 0x00;\n    /**\n     * @param {Stream} stream The stream of bytes being decoded.\n     * @param {number} bite The next byte read from the stream.\n     * @return {?(number|!Array.<number>)} The next code point(s)\n     *     decoded, or null if not enough data exists in the input\n     *     stream to decode a complete code point.\n     */\n    this.handler = function(stream, bite) {\n      // 1. If byte is end-of-stream and euc-kr lead is not 0x00, set\n      // euc-kr lead to 0x00 and return error.\n      if (bite === end_of_stream && euckr_lead !== 0) {\n        euckr_lead = 0x00;\n        return decoderError(fatal);\n      }\n\n      // 2. If byte is end-of-stream and euc-kr lead is 0x00, return\n      // finished.\n      if (bite === end_of_stream && euckr_lead === 0)\n        return finished;\n\n      // 3. If euc-kr lead is not 0x00, let lead be euc-kr lead, let\n      // pointer be null, set euc-kr lead to 0x00, and then run these\n      // substeps:\n      if (euckr_lead !== 0x00) {\n        var lead = euckr_lead;\n        var pointer = null;\n        euckr_lead = 0x00;\n\n        // 1. If byte is in the range 0x41 to 0xFE, inclusive, set\n        // pointer to (lead − 0x81) × 190 + (byte − 0x41).\n        if (inRange(bite, 0x41, 0xFE))\n          pointer = (lead - 0x81) * 190 + (bite - 0x41);\n\n        // 2. Let code point be null, if pointer is null, and the\n        // index code point for pointer in index euc-kr otherwise.\n        var code_point = (pointer === null)\n              ? null : indexCodePointFor(pointer, index('euc-kr'));\n\n        // 3. If code point is null and byte is an ASCII byte, prepend\n        // byte to stream.\n        if (pointer === null && isASCIIByte(bite))\n          stream.prepend(bite);\n\n        // 4. If code point is null, return error.\n        if (code_point === null)\n          return decoderError(fatal);\n\n        // 5. Return a code point whose value is code point.\n        return code_point;\n      }\n\n      // 4. If byte is an ASCII byte, return a code point whose value\n      // is byte.\n      if (isASCIIByte(bite))\n        return bite;\n\n      // 5. If byte is in the range 0x81 to 0xFE, inclusive, set\n      // euc-kr lead to byte and return continue.\n      if (inRange(bite, 0x81, 0xFE)) {\n        euckr_lead = bite;\n        return null;\n      }\n\n      // 6. Return error.\n      return decoderError(fatal);\n    };\n  }\n\n  // 14.1.2 euc-kr encoder\n  /**\n   * @constructor\n   * @implements {Encoder}\n   * @param {{fatal: boolean}} options\n   */\n  function EUCKREncoder(options) {\n    var fatal = options.fatal;\n    /**\n     * @param {Stream} stream Input stream.\n     * @param {number} code_point Next code point read from the stream.\n     * @return {(number|!Array.<number>)} Byte(s) to emit.\n     */\n    this.handler = function(stream, code_point) {\n      // 1. If code point is end-of-stream, return finished.\n      if (code_point === end_of_stream)\n        return finished;\n\n      // 2. If code point is an ASCII code point, return a byte whose\n      // value is code point.\n      if (isASCIICodePoint(code_point))\n        return code_point;\n\n      // 3. Let pointer be the index pointer for code point in index\n      // euc-kr.\n      var pointer = indexPointerFor(code_point, index('euc-kr'));\n\n      // 4. If pointer is null, return error with code point.\n      if (pointer === null)\n        return encoderError(code_point);\n\n      // 5. Let lead be floor(pointer / 190) + 0x81.\n      var lead = floor(pointer / 190) + 0x81;\n\n      // 6. Let trail be pointer % 190 + 0x41.\n      var trail = (pointer % 190) + 0x41;\n\n      // 7. Return two bytes whose values are lead and trail.\n      return [lead, trail];\n    };\n  }\n\n  /** @param {{fatal: boolean}} options */\n  encoders['EUC-KR'] = function(options) {\n    return new EUCKREncoder(options);\n  };\n  /** @param {{fatal: boolean}} options */\n  decoders['EUC-KR'] = function(options) {\n    return new EUCKRDecoder(options);\n  };\n\n\n  //\n  // 15. Legacy miscellaneous encodings\n  //\n\n  // 15.1 replacement\n\n  // Not needed - API throws RangeError\n\n  // 15.2 Common infrastructure for utf-16be and utf-16le\n\n  /**\n   * @param {number} code_unit\n   * @param {boolean} utf16be\n   * @return {!Array.<number>} bytes\n   */\n  function convertCodeUnitToBytes(code_unit, utf16be) {\n    // 1. Let byte1 be code unit >> 8.\n    var byte1 = code_unit >> 8;\n\n    // 2. Let byte2 be code unit & 0x00FF.\n    var byte2 = code_unit & 0x00FF;\n\n    // 3. Then return the bytes in order:\n        // utf-16be flag is set: byte1, then byte2.\n    if (utf16be)\n      return [byte1, byte2];\n    // utf-16be flag is unset: byte2, then byte1.\n    return [byte2, byte1];\n  }\n\n  // 15.2.1 shared utf-16 decoder\n  /**\n   * @constructor\n   * @implements {Decoder}\n   * @param {boolean} utf16_be True if big-endian, false if little-endian.\n   * @param {{fatal: boolean}} options\n   */\n  function UTF16Decoder(utf16_be, options) {\n    var fatal = options.fatal;\n    var /** @type {?number} */ utf16_lead_byte = null,\n        /** @type {?number} */ utf16_lead_surrogate = null;\n    /**\n     * @param {Stream} stream The stream of bytes being decoded.\n     * @param {number} bite The next byte read from the stream.\n     * @return {?(number|!Array.<number>)} The next code point(s)\n     *     decoded, or null if not enough data exists in the input\n     *     stream to decode a complete code point.\n     */\n    this.handler = function(stream, bite) {\n      // 1. If byte is end-of-stream and either utf-16 lead byte or\n      // utf-16 lead surrogate is not null, set utf-16 lead byte and\n      // utf-16 lead surrogate to null, and return error.\n      if (bite === end_of_stream && (utf16_lead_byte !== null ||\n                                utf16_lead_surrogate !== null)) {\n        return decoderError(fatal);\n      }\n\n      // 2. If byte is end-of-stream and utf-16 lead byte and utf-16\n      // lead surrogate are null, return finished.\n      if (bite === end_of_stream && utf16_lead_byte === null &&\n          utf16_lead_surrogate === null) {\n        return finished;\n      }\n\n      // 3. If utf-16 lead byte is null, set utf-16 lead byte to byte\n      // and return continue.\n      if (utf16_lead_byte === null) {\n        utf16_lead_byte = bite;\n        return null;\n      }\n\n      // 4. Let code unit be the result of:\n      var code_unit;\n      if (utf16_be) {\n        // utf-16be decoder flag is set\n        //   (utf-16 lead byte << 8) + byte.\n        code_unit = (utf16_lead_byte << 8) + bite;\n      } else {\n        // utf-16be decoder flag is unset\n        //   (byte << 8) + utf-16 lead byte.\n        code_unit = (bite << 8) + utf16_lead_byte;\n      }\n      // Then set utf-16 lead byte to null.\n      utf16_lead_byte = null;\n\n      // 5. If utf-16 lead surrogate is not null, let lead surrogate\n      // be utf-16 lead surrogate, set utf-16 lead surrogate to null,\n      // and then run these substeps:\n      if (utf16_lead_surrogate !== null) {\n        var lead_surrogate = utf16_lead_surrogate;\n        utf16_lead_surrogate = null;\n\n        // 1. If code unit is in the range U+DC00 to U+DFFF,\n        // inclusive, return a code point whose value is 0x10000 +\n        // ((lead surrogate − 0xD800) << 10) + (code unit − 0xDC00).\n        if (inRange(code_unit, 0xDC00, 0xDFFF)) {\n          return 0x10000 + (lead_surrogate - 0xD800) * 0x400 +\n              (code_unit - 0xDC00);\n        }\n\n        // 2. Prepend the sequence resulting of converting code unit\n        // to bytes using utf-16be decoder flag to stream and return\n        // error.\n        stream.prepend(convertCodeUnitToBytes(code_unit, utf16_be));\n        return decoderError(fatal);\n      }\n\n      // 6. If code unit is in the range U+D800 to U+DBFF, inclusive,\n      // set utf-16 lead surrogate to code unit and return continue.\n      if (inRange(code_unit, 0xD800, 0xDBFF)) {\n        utf16_lead_surrogate = code_unit;\n        return null;\n      }\n\n      // 7. If code unit is in the range U+DC00 to U+DFFF, inclusive,\n      // return error.\n      if (inRange(code_unit, 0xDC00, 0xDFFF))\n        return decoderError(fatal);\n\n      // 8. Return code point code unit.\n      return code_unit;\n    };\n  }\n\n  // 15.2.2 shared utf-16 encoder\n  /**\n   * @constructor\n   * @implements {Encoder}\n   * @param {boolean} utf16_be True if big-endian, false if little-endian.\n   * @param {{fatal: boolean}} options\n   */\n  function UTF16Encoder(utf16_be, options) {\n    var fatal = options.fatal;\n    /**\n     * @param {Stream} stream Input stream.\n     * @param {number} code_point Next code point read from the stream.\n     * @return {(number|!Array.<number>)} Byte(s) to emit.\n     */\n    this.handler = function(stream, code_point) {\n      // 1. If code point is end-of-stream, return finished.\n      if (code_point === end_of_stream)\n        return finished;\n\n      // 2. If code point is in the range U+0000 to U+FFFF, inclusive,\n      // return the sequence resulting of converting code point to\n      // bytes using utf-16be encoder flag.\n      if (inRange(code_point, 0x0000, 0xFFFF))\n        return convertCodeUnitToBytes(code_point, utf16_be);\n\n      // 3. Let lead be ((code point − 0x10000) >> 10) + 0xD800,\n      // converted to bytes using utf-16be encoder flag.\n      var lead = convertCodeUnitToBytes(\n        ((code_point - 0x10000) >> 10) + 0xD800, utf16_be);\n\n      // 4. Let trail be ((code point − 0x10000) & 0x3FF) + 0xDC00,\n      // converted to bytes using utf-16be encoder flag.\n      var trail = convertCodeUnitToBytes(\n        ((code_point - 0x10000) & 0x3FF) + 0xDC00, utf16_be);\n\n      // 5. Return a byte sequence of lead followed by trail.\n      return lead.concat(trail);\n    };\n  }\n\n  // 15.3 utf-16be\n  // 15.3.1 utf-16be decoder\n  /** @param {{fatal: boolean}} options */\n  encoders['UTF-16BE'] = function(options) {\n    return new UTF16Encoder(true, options);\n  };\n  // 15.3.2 utf-16be encoder\n  /** @param {{fatal: boolean}} options */\n  decoders['UTF-16BE'] = function(options) {\n    return new UTF16Decoder(true, options);\n  };\n\n  // 15.4 utf-16le\n  // 15.4.1 utf-16le decoder\n  /** @param {{fatal: boolean}} options */\n  encoders['UTF-16LE'] = function(options) {\n    return new UTF16Encoder(false, options);\n  };\n  // 15.4.2 utf-16le encoder\n  /** @param {{fatal: boolean}} options */\n  decoders['UTF-16LE'] = function(options) {\n    return new UTF16Decoder(false, options);\n  };\n\n  // 15.5 x-user-defined\n\n  // 15.5.1 x-user-defined decoder\n  /**\n   * @constructor\n   * @implements {Decoder}\n   * @param {{fatal: boolean}} options\n   */\n  function XUserDefinedDecoder(options) {\n    var fatal = options.fatal;\n    /**\n     * @param {Stream} stream The stream of bytes being decoded.\n     * @param {number} bite The next byte read from the stream.\n     * @return {?(number|!Array.<number>)} The next code point(s)\n     *     decoded, or null if not enough data exists in the input\n     *     stream to decode a complete code point.\n     */\n    this.handler = function(stream, bite) {\n      // 1. If byte is end-of-stream, return finished.\n      if (bite === end_of_stream)\n        return finished;\n\n      // 2. If byte is an ASCII byte, return a code point whose value\n      // is byte.\n      if (isASCIIByte(bite))\n        return bite;\n\n      // 3. Return a code point whose value is 0xF780 + byte − 0x80.\n      return 0xF780 + bite - 0x80;\n    };\n  }\n\n  // 15.5.2 x-user-defined encoder\n  /**\n   * @constructor\n   * @implements {Encoder}\n   * @param {{fatal: boolean}} options\n   */\n  function XUserDefinedEncoder(options) {\n    var fatal = options.fatal;\n    /**\n     * @param {Stream} stream Input stream.\n     * @param {number} code_point Next code point read from the stream.\n     * @return {(number|!Array.<number>)} Byte(s) to emit.\n     */\n    this.handler = function(stream, code_point) {\n      // 1.If code point is end-of-stream, return finished.\n      if (code_point === end_of_stream)\n        return finished;\n\n      // 2. If code point is an ASCII code point, return a byte whose\n      // value is code point.\n      if (isASCIICodePoint(code_point))\n        return code_point;\n\n      // 3. If code point is in the range U+F780 to U+F7FF, inclusive,\n      // return a byte whose value is code point − 0xF780 + 0x80.\n      if (inRange(code_point, 0xF780, 0xF7FF))\n        return code_point - 0xF780 + 0x80;\n\n      // 4. Return error with code point.\n      return encoderError(code_point);\n    };\n  }\n\n  /** @param {{fatal: boolean}} options */\n  encoders['x-user-defined'] = function(options) {\n    return new XUserDefinedEncoder(options);\n  };\n  /** @param {{fatal: boolean}} options */\n  decoders['x-user-defined'] = function(options) {\n    return new XUserDefinedDecoder(options);\n  };\n\n  if (!global['TextEncoder'])\n    global['TextEncoder'] = TextEncoder;\n  if (!global['TextDecoder'])\n    global['TextDecoder'] = TextDecoder;\n\n  if (typeof module !== \"undefined\" && module.exports) {\n    module.exports = {\n      TextEncoder: global['TextEncoder'],\n      TextDecoder: global['TextDecoder'],\n      EncodingIndexes: global[\"encoding-indexes\"]\n    };\n  }\n\n// For strict environments where `this` inside the global scope\n// is `undefined`, take a pure object instead\n}(this || {}));","// This is free and unencumbered software released into the public domain.\n// See LICENSE.md for more information.\n\nvar encoding = require(\"./lib/encoding.js\");\n\nmodule.exports = {\n  TextEncoder: encoding.TextEncoder,\n  TextDecoder: encoding.TextDecoder,\n};\n","\"use strict\";\n\n/**\n * A reference to the global object\n *\n * @type {object} globalObject\n */\nvar globalObject;\n\n/* istanbul ignore else */\nif (typeof global !== \"undefined\") {\n    // Node\n    globalObject = global;\n} else if (typeof window !== \"undefined\") {\n    // Browser\n    globalObject = window;\n} else {\n    // WebWorker\n    globalObject = self;\n}\n\nmodule.exports = globalObject;\n","\"use strict\";\n\nvar call = Function.call;\n\nmodule.exports = function copyPrototypeMethods(prototype) {\n    /* eslint-disable local-rules/no-prototype-methods */\n    return Object.getOwnPropertyNames(prototype).reduce(function(result, name) {\n        // ignore size because it throws from Map\n        if (\n            name !== \"size\" &&\n            name !== \"caller\" &&\n            name !== \"callee\" &&\n            name !== \"arguments\" &&\n            typeof prototype[name] === \"function\"\n        ) {\n            result[name] = call.bind(prototype[name]);\n        }\n\n        return result;\n    }, Object.create(null));\n};\n","\"use strict\";\n\nvar copyPrototype = require(\"./copy-prototype\");\n\nmodule.exports = copyPrototype(Array.prototype);\n","\"use strict\";\n\nvar every = require(\"./prototypes/array\").every;\n\n/**\n * @private\n */\nfunction hasCallsLeft(callMap, spy) {\n    if (callMap[spy.id] === undefined) {\n        callMap[spy.id] = 0;\n    }\n\n    return callMap[spy.id] < spy.callCount;\n}\n\n/**\n * @private\n */\nfunction checkAdjacentCalls(callMap, spy, index, spies) {\n    var calledBeforeNext = true;\n\n    if (index !== spies.length - 1) {\n        calledBeforeNext = spy.calledBefore(spies[index + 1]);\n    }\n\n    if (hasCallsLeft(callMap, spy) && calledBeforeNext) {\n        callMap[spy.id] += 1;\n        return true;\n    }\n\n    return false;\n}\n\n/**\n * A Sinon proxy object (fake, spy, stub)\n *\n * @typedef {object} SinonProxy\n * @property {Function} calledBefore - A method that determines if this proxy was called before another one\n * @property {string} id - Some id\n * @property {number} callCount - Number of times this proxy has been called\n */\n\n/**\n * Returns true when the spies have been called in the order they were supplied in\n *\n * @param  {SinonProxy[] | SinonProxy} spies An array of proxies, or several proxies as arguments\n * @returns {boolean} true when spies are called in order, false otherwise\n */\nfunction calledInOrder(spies) {\n    var callMap = {};\n    // eslint-disable-next-line no-underscore-dangle\n    var _spies = arguments.length > 1 ? arguments : spies;\n\n    return every(_spies, checkAdjacentCalls.bind(null, callMap));\n}\n\nmodule.exports = calledInOrder;\n","\"use strict\";\n\n/**\n * Returns a display name for a function\n *\n * @param  {Function} func\n * @returns {string}\n */\nmodule.exports = function functionName(func) {\n    if (!func) {\n        return \"\";\n    }\n\n    try {\n        return (\n            func.displayName ||\n            func.name ||\n            // Use function decomposition as a last resort to get function\n            // name. Does not rely on function decomposition to work - if it\n            // doesn't debugging will be slightly less informative\n            // (i.e. toString will say 'spy' rather than 'myFunc').\n            (String(func).match(/function ([^\\s(]+)/) || [])[1]\n        );\n    } catch (e) {\n        // Stringify may fail and we might get an exception, as a last-last\n        // resort fall back to empty string.\n        return \"\";\n    }\n};\n","\"use strict\";\n\nvar functionName = require(\"./function-name\");\n\n/**\n * Returns a display name for a value from a constructor\n *\n * @param  {object} value A value to examine\n * @returns {(string|null)} A string or null\n */\nfunction className(value) {\n    return (\n        (value.constructor && value.constructor.name) ||\n        // The next branch is for IE11 support only:\n        // Because the name property is not set on the prototype\n        // of the Function object, we finally try to grab the\n        // name from its definition. This will never be reached\n        // in node, so we are not able to test this properly.\n        // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name\n        (typeof value.constructor === \"function\" &&\n            /* istanbul ignore next */\n            functionName(value.constructor)) ||\n        null\n    );\n}\n\nmodule.exports = className;\n","/* eslint-disable no-console */\n\"use strict\";\n\n/**\n * Returns a function that will invoke the supplied function and print a\n * deprecation warning to the console each time it is called.\n *\n * @param  {Function} func\n * @param  {string} msg\n * @returns {Function}\n */\nexports.wrap = function(func, msg) {\n    var wrapped = function() {\n        exports.printWarning(msg);\n        return func.apply(this, arguments);\n    };\n    if (func.prototype) {\n        wrapped.prototype = func.prototype;\n    }\n    return wrapped;\n};\n\n/**\n * Returns a string which can be supplied to `wrap()` to notify the user that a\n * particular part of the sinon API has been deprecated.\n *\n * @param  {string} packageName\n * @param  {string} funcName\n * @returns {string}\n */\nexports.defaultMsg = function(packageName, funcName) {\n    return (\n        packageName +\n        \".\" +\n        funcName +\n        \" is deprecated and will be removed from the public API in a future version of \" +\n        packageName +\n        \".\"\n    );\n};\n\n/**\n * Prints a warning on the console, when it exists\n *\n * @param  {string} msg\n * @returns {undefined}\n */\nexports.printWarning = function(msg) {\n    // Watch out for IE7 and below! :(\n    /* istanbul ignore next */\n    if (typeof console !== \"undefined\") {\n        if (console.info) {\n            console.info(msg);\n        } else {\n            console.log(msg);\n        }\n    }\n};\n","\"use strict\";\n\nvar sort = require(\"./prototypes/array\").sort;\nvar slice = require(\"./prototypes/array\").slice;\n\n/**\n * @private\n */\nfunction comparator(a, b) {\n    // uuid, won't ever be equal\n    var aCall = a.getCall(0);\n    var bCall = b.getCall(0);\n    var aId = (aCall && aCall.callId) || -1;\n    var bId = (bCall && bCall.callId) || -1;\n\n    return aId < bId ? -1 : 1;\n}\n\n/**\n * A Sinon proxy object (fake, spy, stub)\n *\n * @typedef {object} SinonProxy\n * @property {Function} getCall - A method that can return the first call\n */\n\n/**\n * Sorts an array of SinonProxy instances (fake, spy, stub) by their first call\n *\n * @param  {SinonProxy[] | SinonProxy} spies\n * @returns {SinonProxy[]}\n */\nfunction orderByFirstCall(spies) {\n    return sort(slice(spies), comparator);\n}\n\nmodule.exports = orderByFirstCall;\n","\"use strict\";\n\nmodule.exports = {\n    array: require(\"./array\"),\n    function: require(\"./function\"),\n    map: require(\"./map\"),\n    object: require(\"./object\"),\n    set: require(\"./set\"),\n    string: require(\"./string\")\n};\n","\"use strict\";\n\nvar copyPrototype = require(\"./copy-prototype\");\n\nmodule.exports = copyPrototype(Function.prototype);\n","\"use strict\";\n\nvar copyPrototype = require(\"./copy-prototype\");\n\nmodule.exports = copyPrototype(Map.prototype);\n","\"use strict\";\n\nvar copyPrototype = require(\"./copy-prototype\");\n\nmodule.exports = copyPrototype(Object.prototype);\n","\"use strict\";\n\nvar copyPrototype = require(\"./copy-prototype\");\n\nmodule.exports = copyPrototype(Set.prototype);\n","\"use strict\";\n\nvar copyPrototype = require(\"./copy-prototype\");\n\nmodule.exports = copyPrototype(String.prototype);\n","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.typeDetect = factory());\n}(this, (function () { 'use strict';\n\n/* !\n * type-detect\n * Copyright(c) 2013 jake luer <jake@alogicalparadox.com>\n * MIT Licensed\n */\nvar promiseExists = typeof Promise === 'function';\n\n/* eslint-disable no-undef */\nvar globalObject = typeof self === 'object' ? self : global; // eslint-disable-line id-blacklist\n\nvar symbolExists = typeof Symbol !== 'undefined';\nvar mapExists = typeof Map !== 'undefined';\nvar setExists = typeof Set !== 'undefined';\nvar weakMapExists = typeof WeakMap !== 'undefined';\nvar weakSetExists = typeof WeakSet !== 'undefined';\nvar dataViewExists = typeof DataView !== 'undefined';\nvar symbolIteratorExists = symbolExists && typeof Symbol.iterator !== 'undefined';\nvar symbolToStringTagExists = symbolExists && typeof Symbol.toStringTag !== 'undefined';\nvar setEntriesExists = setExists && typeof Set.prototype.entries === 'function';\nvar mapEntriesExists = mapExists && typeof Map.prototype.entries === 'function';\nvar setIteratorPrototype = setEntriesExists && Object.getPrototypeOf(new Set().entries());\nvar mapIteratorPrototype = mapEntriesExists && Object.getPrototypeOf(new Map().entries());\nvar arrayIteratorExists = symbolIteratorExists && typeof Array.prototype[Symbol.iterator] === 'function';\nvar arrayIteratorPrototype = arrayIteratorExists && Object.getPrototypeOf([][Symbol.iterator]());\nvar stringIteratorExists = symbolIteratorExists && typeof String.prototype[Symbol.iterator] === 'function';\nvar stringIteratorPrototype = stringIteratorExists && Object.getPrototypeOf(''[Symbol.iterator]());\nvar toStringLeftSliceLength = 8;\nvar toStringRightSliceLength = -1;\n/**\n * ### typeOf (obj)\n *\n * Uses `Object.prototype.toString` to determine the type of an object,\n * normalising behaviour across engine versions & well optimised.\n *\n * @param {Mixed} object\n * @return {String} object type\n * @api public\n */\nfunction typeDetect(obj) {\n  /* ! Speed optimisation\n   * Pre:\n   *   string literal     x 3,039,035 ops/sec ±1.62% (78 runs sampled)\n   *   boolean literal    x 1,424,138 ops/sec ±4.54% (75 runs sampled)\n   *   number literal     x 1,653,153 ops/sec ±1.91% (82 runs sampled)\n   *   undefined          x 9,978,660 ops/sec ±1.92% (75 runs sampled)\n   *   function           x 2,556,769 ops/sec ±1.73% (77 runs sampled)\n   * Post:\n   *   string literal     x 38,564,796 ops/sec ±1.15% (79 runs sampled)\n   *   boolean literal    x 31,148,940 ops/sec ±1.10% (79 runs sampled)\n   *   number literal     x 32,679,330 ops/sec ±1.90% (78 runs sampled)\n   *   undefined          x 32,363,368 ops/sec ±1.07% (82 runs sampled)\n   *   function           x 31,296,870 ops/sec ±0.96% (83 runs sampled)\n   */\n  var typeofObj = typeof obj;\n  if (typeofObj !== 'object') {\n    return typeofObj;\n  }\n\n  /* ! Speed optimisation\n   * Pre:\n   *   null               x 28,645,765 ops/sec ±1.17% (82 runs sampled)\n   * Post:\n   *   null               x 36,428,962 ops/sec ±1.37% (84 runs sampled)\n   */\n  if (obj === null) {\n    return 'null';\n  }\n\n  /* ! Spec Conformance\n   * Test: `Object.prototype.toString.call(window)``\n   *  - Node === \"[object global]\"\n   *  - Chrome === \"[object global]\"\n   *  - Firefox === \"[object Window]\"\n   *  - PhantomJS === \"[object Window]\"\n   *  - Safari === \"[object Window]\"\n   *  - IE 11 === \"[object Window]\"\n   *  - IE Edge === \"[object Window]\"\n   * Test: `Object.prototype.toString.call(this)``\n   *  - Chrome Worker === \"[object global]\"\n   *  - Firefox Worker === \"[object DedicatedWorkerGlobalScope]\"\n   *  - Safari Worker === \"[object DedicatedWorkerGlobalScope]\"\n   *  - IE 11 Worker === \"[object WorkerGlobalScope]\"\n   *  - IE Edge Worker === \"[object WorkerGlobalScope]\"\n   */\n  if (obj === globalObject) {\n    return 'global';\n  }\n\n  /* ! Speed optimisation\n   * Pre:\n   *   array literal      x 2,888,352 ops/sec ±0.67% (82 runs sampled)\n   * Post:\n   *   array literal      x 22,479,650 ops/sec ±0.96% (81 runs sampled)\n   */\n  if (\n    Array.isArray(obj) &&\n    (symbolToStringTagExists === false || !(Symbol.toStringTag in obj))\n  ) {\n    return 'Array';\n  }\n\n  // Not caching existence of `window` and related properties due to potential\n  // for `window` to be unset before tests in quasi-browser environments.\n  if (typeof window === 'object' && window !== null) {\n    /* ! Spec Conformance\n     * (https://html.spec.whatwg.org/multipage/browsers.html#location)\n     * WhatWG HTML$7.7.3 - The `Location` interface\n     * Test: `Object.prototype.toString.call(window.location)``\n     *  - IE <=11 === \"[object Object]\"\n     *  - IE Edge <=13 === \"[object Object]\"\n     */\n    if (typeof window.location === 'object' && obj === window.location) {\n      return 'Location';\n    }\n\n    /* ! Spec Conformance\n     * (https://html.spec.whatwg.org/#document)\n     * WhatWG HTML$3.1.1 - The `Document` object\n     * Note: Most browsers currently adher to the W3C DOM Level 2 spec\n     *       (https://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-26809268)\n     *       which suggests that browsers should use HTMLTableCellElement for\n     *       both TD and TH elements. WhatWG separates these.\n     *       WhatWG HTML states:\n     *         > For historical reasons, Window objects must also have a\n     *         > writable, configurable, non-enumerable property named\n     *         > HTMLDocument whose value is the Document interface object.\n     * Test: `Object.prototype.toString.call(document)``\n     *  - Chrome === \"[object HTMLDocument]\"\n     *  - Firefox === \"[object HTMLDocument]\"\n     *  - Safari === \"[object HTMLDocument]\"\n     *  - IE <=10 === \"[object Document]\"\n     *  - IE 11 === \"[object HTMLDocument]\"\n     *  - IE Edge <=13 === \"[object HTMLDocument]\"\n     */\n    if (typeof window.document === 'object' && obj === window.document) {\n      return 'Document';\n    }\n\n    if (typeof window.navigator === 'object') {\n      /* ! Spec Conformance\n       * (https://html.spec.whatwg.org/multipage/webappapis.html#mimetypearray)\n       * WhatWG HTML$8.6.1.5 - Plugins - Interface MimeTypeArray\n       * Test: `Object.prototype.toString.call(navigator.mimeTypes)``\n       *  - IE <=10 === \"[object MSMimeTypesCollection]\"\n       */\n      if (typeof window.navigator.mimeTypes === 'object' &&\n          obj === window.navigator.mimeTypes) {\n        return 'MimeTypeArray';\n      }\n\n      /* ! Spec Conformance\n       * (https://html.spec.whatwg.org/multipage/webappapis.html#pluginarray)\n       * WhatWG HTML$8.6.1.5 - Plugins - Interface PluginArray\n       * Test: `Object.prototype.toString.call(navigator.plugins)``\n       *  - IE <=10 === \"[object MSPluginsCollection]\"\n       */\n      if (typeof window.navigator.plugins === 'object' &&\n          obj === window.navigator.plugins) {\n        return 'PluginArray';\n      }\n    }\n\n    if ((typeof window.HTMLElement === 'function' ||\n        typeof window.HTMLElement === 'object') &&\n        obj instanceof window.HTMLElement) {\n      /* ! Spec Conformance\n      * (https://html.spec.whatwg.org/multipage/webappapis.html#pluginarray)\n      * WhatWG HTML$4.4.4 - The `blockquote` element - Interface `HTMLQuoteElement`\n      * Test: `Object.prototype.toString.call(document.createElement('blockquote'))``\n      *  - IE <=10 === \"[object HTMLBlockElement]\"\n      */\n      if (obj.tagName === 'BLOCKQUOTE') {\n        return 'HTMLQuoteElement';\n      }\n\n      /* ! Spec Conformance\n       * (https://html.spec.whatwg.org/#htmltabledatacellelement)\n       * WhatWG HTML$4.9.9 - The `td` element - Interface `HTMLTableDataCellElement`\n       * Note: Most browsers currently adher to the W3C DOM Level 2 spec\n       *       (https://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-82915075)\n       *       which suggests that browsers should use HTMLTableCellElement for\n       *       both TD and TH elements. WhatWG separates these.\n       * Test: Object.prototype.toString.call(document.createElement('td'))\n       *  - Chrome === \"[object HTMLTableCellElement]\"\n       *  - Firefox === \"[object HTMLTableCellElement]\"\n       *  - Safari === \"[object HTMLTableCellElement]\"\n       */\n      if (obj.tagName === 'TD') {\n        return 'HTMLTableDataCellElement';\n      }\n\n      /* ! Spec Conformance\n       * (https://html.spec.whatwg.org/#htmltableheadercellelement)\n       * WhatWG HTML$4.9.9 - The `td` element - Interface `HTMLTableHeaderCellElement`\n       * Note: Most browsers currently adher to the W3C DOM Level 2 spec\n       *       (https://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-82915075)\n       *       which suggests that browsers should use HTMLTableCellElement for\n       *       both TD and TH elements. WhatWG separates these.\n       * Test: Object.prototype.toString.call(document.createElement('th'))\n       *  - Chrome === \"[object HTMLTableCellElement]\"\n       *  - Firefox === \"[object HTMLTableCellElement]\"\n       *  - Safari === \"[object HTMLTableCellElement]\"\n       */\n      if (obj.tagName === 'TH') {\n        return 'HTMLTableHeaderCellElement';\n      }\n    }\n  }\n\n  /* ! Speed optimisation\n  * Pre:\n  *   Float64Array       x 625,644 ops/sec ±1.58% (80 runs sampled)\n  *   Float32Array       x 1,279,852 ops/sec ±2.91% (77 runs sampled)\n  *   Uint32Array        x 1,178,185 ops/sec ±1.95% (83 runs sampled)\n  *   Uint16Array        x 1,008,380 ops/sec ±2.25% (80 runs sampled)\n  *   Uint8Array         x 1,128,040 ops/sec ±2.11% (81 runs sampled)\n  *   Int32Array         x 1,170,119 ops/sec ±2.88% (80 runs sampled)\n  *   Int16Array         x 1,176,348 ops/sec ±5.79% (86 runs sampled)\n  *   Int8Array          x 1,058,707 ops/sec ±4.94% (77 runs sampled)\n  *   Uint8ClampedArray  x 1,110,633 ops/sec ±4.20% (80 runs sampled)\n  * Post:\n  *   Float64Array       x 7,105,671 ops/sec ±13.47% (64 runs sampled)\n  *   Float32Array       x 5,887,912 ops/sec ±1.46% (82 runs sampled)\n  *   Uint32Array        x 6,491,661 ops/sec ±1.76% (79 runs sampled)\n  *   Uint16Array        x 6,559,795 ops/sec ±1.67% (82 runs sampled)\n  *   Uint8Array         x 6,463,966 ops/sec ±1.43% (85 runs sampled)\n  *   Int32Array         x 5,641,841 ops/sec ±3.49% (81 runs sampled)\n  *   Int16Array         x 6,583,511 ops/sec ±1.98% (80 runs sampled)\n  *   Int8Array          x 6,606,078 ops/sec ±1.74% (81 runs sampled)\n  *   Uint8ClampedArray  x 6,602,224 ops/sec ±1.77% (83 runs sampled)\n  */\n  var stringTag = (symbolToStringTagExists && obj[Symbol.toStringTag]);\n  if (typeof stringTag === 'string') {\n    return stringTag;\n  }\n\n  var objPrototype = Object.getPrototypeOf(obj);\n  /* ! Speed optimisation\n  * Pre:\n  *   regex literal      x 1,772,385 ops/sec ±1.85% (77 runs sampled)\n  *   regex constructor  x 2,143,634 ops/sec ±2.46% (78 runs sampled)\n  * Post:\n  *   regex literal      x 3,928,009 ops/sec ±0.65% (78 runs sampled)\n  *   regex constructor  x 3,931,108 ops/sec ±0.58% (84 runs sampled)\n  */\n  if (objPrototype === RegExp.prototype) {\n    return 'RegExp';\n  }\n\n  /* ! Speed optimisation\n  * Pre:\n  *   date               x 2,130,074 ops/sec ±4.42% (68 runs sampled)\n  * Post:\n  *   date               x 3,953,779 ops/sec ±1.35% (77 runs sampled)\n  */\n  if (objPrototype === Date.prototype) {\n    return 'Date';\n  }\n\n  /* ! Spec Conformance\n   * (http://www.ecma-international.org/ecma-262/6.0/index.html#sec-promise.prototype-@@tostringtag)\n   * ES6$25.4.5.4 - Promise.prototype[@@toStringTag] should be \"Promise\":\n   * Test: `Object.prototype.toString.call(Promise.resolve())``\n   *  - Chrome <=47 === \"[object Object]\"\n   *  - Edge <=20 === \"[object Object]\"\n   *  - Firefox 29-Latest === \"[object Promise]\"\n   *  - Safari 7.1-Latest === \"[object Promise]\"\n   */\n  if (promiseExists && objPrototype === Promise.prototype) {\n    return 'Promise';\n  }\n\n  /* ! Speed optimisation\n  * Pre:\n  *   set                x 2,222,186 ops/sec ±1.31% (82 runs sampled)\n  * Post:\n  *   set                x 4,545,879 ops/sec ±1.13% (83 runs sampled)\n  */\n  if (setExists && objPrototype === Set.prototype) {\n    return 'Set';\n  }\n\n  /* ! Speed optimisation\n  * Pre:\n  *   map                x 2,396,842 ops/sec ±1.59% (81 runs sampled)\n  * Post:\n  *   map                x 4,183,945 ops/sec ±6.59% (82 runs sampled)\n  */\n  if (mapExists && objPrototype === Map.prototype) {\n    return 'Map';\n  }\n\n  /* ! Speed optimisation\n  * Pre:\n  *   weakset            x 1,323,220 ops/sec ±2.17% (76 runs sampled)\n  * Post:\n  *   weakset            x 4,237,510 ops/sec ±2.01% (77 runs sampled)\n  */\n  if (weakSetExists && objPrototype === WeakSet.prototype) {\n    return 'WeakSet';\n  }\n\n  /* ! Speed optimisation\n  * Pre:\n  *   weakmap            x 1,500,260 ops/sec ±2.02% (78 runs sampled)\n  * Post:\n  *   weakmap            x 3,881,384 ops/sec ±1.45% (82 runs sampled)\n  */\n  if (weakMapExists && objPrototype === WeakMap.prototype) {\n    return 'WeakMap';\n  }\n\n  /* ! Spec Conformance\n   * (http://www.ecma-international.org/ecma-262/6.0/index.html#sec-dataview.prototype-@@tostringtag)\n   * ES6$24.2.4.21 - DataView.prototype[@@toStringTag] should be \"DataView\":\n   * Test: `Object.prototype.toString.call(new DataView(new ArrayBuffer(1)))``\n   *  - Edge <=13 === \"[object Object]\"\n   */\n  if (dataViewExists && objPrototype === DataView.prototype) {\n    return 'DataView';\n  }\n\n  /* ! Spec Conformance\n   * (http://www.ecma-international.org/ecma-262/6.0/index.html#sec-%mapiteratorprototype%-@@tostringtag)\n   * ES6$23.1.5.2.2 - %MapIteratorPrototype%[@@toStringTag] should be \"Map Iterator\":\n   * Test: `Object.prototype.toString.call(new Map().entries())``\n   *  - Edge <=13 === \"[object Object]\"\n   */\n  if (mapExists && objPrototype === mapIteratorPrototype) {\n    return 'Map Iterator';\n  }\n\n  /* ! Spec Conformance\n   * (http://www.ecma-international.org/ecma-262/6.0/index.html#sec-%setiteratorprototype%-@@tostringtag)\n   * ES6$23.2.5.2.2 - %SetIteratorPrototype%[@@toStringTag] should be \"Set Iterator\":\n   * Test: `Object.prototype.toString.call(new Set().entries())``\n   *  - Edge <=13 === \"[object Object]\"\n   */\n  if (setExists && objPrototype === setIteratorPrototype) {\n    return 'Set Iterator';\n  }\n\n  /* ! Spec Conformance\n   * (http://www.ecma-international.org/ecma-262/6.0/index.html#sec-%arrayiteratorprototype%-@@tostringtag)\n   * ES6$22.1.5.2.2 - %ArrayIteratorPrototype%[@@toStringTag] should be \"Array Iterator\":\n   * Test: `Object.prototype.toString.call([][Symbol.iterator]())``\n   *  - Edge <=13 === \"[object Object]\"\n   */\n  if (arrayIteratorExists && objPrototype === arrayIteratorPrototype) {\n    return 'Array Iterator';\n  }\n\n  /* ! Spec Conformance\n   * (http://www.ecma-international.org/ecma-262/6.0/index.html#sec-%stringiteratorprototype%-@@tostringtag)\n   * ES6$21.1.5.2.2 - %StringIteratorPrototype%[@@toStringTag] should be \"String Iterator\":\n   * Test: `Object.prototype.toString.call(''[Symbol.iterator]())``\n   *  - Edge <=13 === \"[object Object]\"\n   */\n  if (stringIteratorExists && objPrototype === stringIteratorPrototype) {\n    return 'String Iterator';\n  }\n\n  /* ! Speed optimisation\n  * Pre:\n  *   object from null   x 2,424,320 ops/sec ±1.67% (76 runs sampled)\n  * Post:\n  *   object from null   x 5,838,000 ops/sec ±0.99% (84 runs sampled)\n  */\n  if (objPrototype === null) {\n    return 'Object';\n  }\n\n  return Object\n    .prototype\n    .toString\n    .call(obj)\n    .slice(toStringLeftSliceLength, toStringRightSliceLength);\n}\n\nreturn typeDetect;\n\n})));\n","\"use strict\";\n\n/**\n * Returns a string representation of the value\n *\n * @param  {*} value\n * @returns {string}\n */\nfunction valueToString(value) {\n    if (value && value.toString) {\n        /* eslint-disable-next-line local-rules/no-prototype-methods */\n        return value.toString();\n    }\n    return String(value);\n}\n\nmodule.exports = valueToString;\n","\"use strict\";\n\nmodule.exports = {\n    global: require(\"./global\"),\n    calledInOrder: require(\"./called-in-order\"),\n    className: require(\"./class-name\"),\n    deprecated: require(\"./deprecated\"),\n    every: require(\"./every\"),\n    functionName: require(\"./function-name\"),\n    orderByFirstCall: require(\"./order-by-first-call\"),\n    prototypes: require(\"./prototypes\"),\n    typeOf: require(\"./type-of\"),\n    valueToString: require(\"./value-to-string\")\n};\n","\"use strict\";\n\n/**\n * Returns true when fn returns true for all members of obj.\n * This is an every implementation that works for all iterables\n *\n * @param  {object}   obj\n * @param  {Function} fn\n * @returns {boolean}\n */\nmodule.exports = function every(obj, fn) {\n    var pass = true;\n\n    try {\n        /* eslint-disable-next-line local-rules/no-prototype-methods */\n        obj.forEach(function() {\n            if (!fn.apply(this, arguments)) {\n                // Throwing an error is the only way to break `forEach`\n                throw new Error();\n            }\n        });\n    } catch (e) {\n        pass = false;\n    }\n\n    return pass;\n};\n","\"use strict\";\n\nvar type = require(\"type-detect\");\n\n/**\n * Returns the lower-case result of running type from type-detect on the value\n *\n * @param  {*} value\n * @returns {string}\n */\nmodule.exports = function typeOf(value) {\n    return type(value).toLowerCase();\n};\n","\"use strict\";\n\n// cache a reference to setTimeout, so that our reference won't be stubbed out\n// when using fake timers and errors will still get logged\n// https://github.com/cjohansen/Sinon.JS/issues/381\nvar realSetTimeout = setTimeout;\n\nfunction configureLogger(config) {\n    // eslint-disable-next-line no-param-reassign\n    config = config || {};\n    // Function which prints errors.\n    if (!config.hasOwnProperty(\"logger\")) {\n        // eslint-disable-next-line no-empty-function\n        config.logger = function() {};\n    }\n    // When set to true, any errors logged will be thrown immediately;\n    // If set to false, the errors will be thrown in separate execution frame.\n    if (!config.hasOwnProperty(\"useImmediateExceptions\")) {\n        config.useImmediateExceptions = true;\n    }\n    // wrap realSetTimeout with something we can stub in tests\n    if (!config.hasOwnProperty(\"setTimeout\")) {\n        config.setTimeout = realSetTimeout;\n    }\n\n    return function logError(label, e) {\n        var msg = label + \" threw exception: \";\n        var err = {\n            name: e.name || label,\n            message: e.message || e.toString(),\n            stack: e.stack\n        };\n\n        function throwLoggedError() {\n            err.message = msg + err.message;\n            throw err;\n        }\n\n        config.logger(msg + \"[\" + err.name + \"] \" + err.message);\n\n        if (err.stack) {\n            config.logger(err.stack);\n        }\n\n        if (config.useImmediateExceptions) {\n            throwLoggedError();\n        } else {\n            config.setTimeout(throwLoggedError, 0);\n        }\n    };\n}\n\nmodule.exports = configureLogger;\n","\"use strict\";\n\nfunction Event(type, bubbles, cancelable, target) {\n    this.initEvent(type, bubbles, cancelable, target);\n}\n\nEvent.prototype = {\n    initEvent: function(type, bubbles, cancelable, target) {\n        this.type = type;\n        this.bubbles = bubbles;\n        this.cancelable = cancelable;\n        this.target = target;\n        this.currentTarget = target;\n    },\n\n    // eslint-disable-next-line no-empty-function\n    stopPropagation: function() {},\n\n    preventDefault: function() {\n        this.defaultPrevented = true;\n    }\n};\n\nmodule.exports = Event;\n","\"use strict\";\n\nvar Event = require(\"./event\");\n\nfunction ProgressEvent(type, progressEventRaw, target) {\n    this.initEvent(type, false, false, target);\n    this.loaded =\n        typeof progressEventRaw.loaded === \"number\"\n            ? progressEventRaw.loaded\n            : null;\n    this.total =\n        typeof progressEventRaw.total === \"number\"\n            ? progressEventRaw.total\n            : null;\n    this.lengthComputable = Boolean(progressEventRaw.total);\n}\n\nProgressEvent.prototype = new Event();\n\nProgressEvent.prototype.constructor = ProgressEvent;\n\nmodule.exports = ProgressEvent;\n","\"use strict\";\n\nvar Event = require(\"./event\");\n\nfunction CustomEvent(type, customData, target) {\n    this.initEvent(type, false, false, target);\n    this.detail = customData.detail || null;\n}\n\nCustomEvent.prototype = new Event();\n\nCustomEvent.prototype.constructor = CustomEvent;\n\nmodule.exports = CustomEvent;\n","\"use strict\";\n\nfunction flattenOptions(options) {\n    if (options !== Object(options)) {\n        return {\n            capture: Boolean(options),\n            once: false,\n            passive: false\n        };\n    }\n    return {\n        capture: Boolean(options.capture),\n        once: Boolean(options.once),\n        passive: Boolean(options.passive)\n    };\n}\nfunction not(fn) {\n    return function() {\n        return !fn.apply(this, arguments);\n    };\n}\nfunction hasListenerFilter(listener, capture) {\n    return function(listenerSpec) {\n        return (\n            listenerSpec.capture === capture &&\n            listenerSpec.listener === listener\n        );\n    };\n}\n\nvar EventTarget = {\n    // https://dom.spec.whatwg.org/#dom-eventtarget-addeventlistener\n    addEventListener: function addEventListener(\n        event,\n        listener,\n        providedOptions\n    ) {\n        // 3. Let capture, passive, and once be the result of flattening more options.\n        // Flatten property before executing step 2,\n        // feture detection is usually based on registering handler with options object,\n        // that has getter defined\n        // addEventListener(\"load\", () => {}, {\n        //    get once() { supportsOnce = true; }\n        // });\n        var options = flattenOptions(providedOptions);\n\n        // 2. If callback is null, then return.\n        if (listener === null || listener === undefined) {\n            return;\n        }\n\n        this.eventListeners = this.eventListeners || {};\n        this.eventListeners[event] = this.eventListeners[event] || [];\n\n        // 4. If context object’s associated list of event listener\n        //    does not contain an event listener whose type is type,\n        //    callback is callback, and capture is capture, then append\n        //    a new event listener to it, whose type is type, callback is\n        //    callback, capture is capture, passive is passive, and once is once.\n        if (\n            !this.eventListeners[event].some(\n                hasListenerFilter(listener, options.capture)\n            )\n        ) {\n            this.eventListeners[event].push({\n                listener: listener,\n                capture: options.capture,\n                once: options.once\n            });\n        }\n    },\n\n    // https://dom.spec.whatwg.org/#dom-eventtarget-removeeventlistener\n    removeEventListener: function removeEventListener(\n        event,\n        listener,\n        providedOptions\n    ) {\n        if (!this.eventListeners || !this.eventListeners[event]) {\n            return;\n        }\n\n        // 2. Let capture be the result of flattening options.\n        var options = flattenOptions(providedOptions);\n\n        // 3. If there is an event listener in the associated list of\n        //    event listeners whose type is type, callback is callback,\n        //    and capture is capture, then set that event listener’s\n        //    removed to true and remove it from the associated list of event listeners.\n        this.eventListeners[event] = this.eventListeners[event].filter(\n            not(hasListenerFilter(listener, options.capture))\n        );\n    },\n\n    dispatchEvent: function dispatchEvent(event) {\n        if (!this.eventListeners || !this.eventListeners[event.type]) {\n            return Boolean(event.defaultPrevented);\n        }\n\n        var self = this;\n        var type = event.type;\n        var listeners = self.eventListeners[type];\n\n        // Remove listeners, that should be dispatched once\n        // before running dispatch loop to avoid nested dispatch issues\n        self.eventListeners[type] = listeners.filter(function(listenerSpec) {\n            return !listenerSpec.once;\n        });\n        listeners.forEach(function(listenerSpec) {\n            var listener = listenerSpec.listener;\n            if (typeof listener === \"function\") {\n                listener.call(self, event);\n            } else {\n                listener.handleEvent(event);\n            }\n        });\n\n        return Boolean(event.defaultPrevented);\n    }\n};\n\nmodule.exports = EventTarget;\n","\"use strict\";\n\nmodule.exports = {\n    Event: require(\"./event\"),\n    ProgressEvent: require(\"./progress-event\"),\n    CustomEvent: require(\"./custom-event\"),\n    EventTarget: require(\"./event-target\")\n};\n","module.exports = extend;\n\n/*\n  var obj = {a: 3, b: 5};\n  extend(obj, {a: 4, c: 8}); // {a: 4, b: 5, c: 8}\n  obj; // {a: 4, b: 5, c: 8}\n\n  var obj = {a: 3, b: 5};\n  extend({}, obj, {a: 4, c: 8}); // {a: 4, b: 5, c: 8}\n  obj; // {a: 3, b: 5}\n\n  var arr = [1, 2, 3];\n  var obj = {a: 3, b: 5};\n  extend(obj, {c: arr}); // {a: 3, b: 5, c: [1, 2, 3]}\n  arr.push(4);\n  obj; // {a: 3, b: 5, c: [1, 2, 3, 4]}\n\n  var arr = [1, 2, 3];\n  var obj = {a: 3, b: 5};\n  extend(true, obj, {c: arr}); // {a: 3, b: 5, c: [1, 2, 3]}\n  arr.push(4);\n  obj; // {a: 3, b: 5, c: [1, 2, 3]}\n\n  extend({a: 4, b: 5}); // {a: 4, b: 5}\n  extend({a: 4, b: 5}, 3); {a: 4, b: 5}\n  extend({a: 4, b: 5}, true); {a: 4, b: 5}\n  extend('hello', {a: 4, b: 5}); // throws\n  extend(3, {a: 4, b: 5}); // throws\n*/\n\nfunction extend(/* [deep], obj1, obj2, [objn] */) {\n  var args = [].slice.call(arguments);\n  var deep = false;\n  if (typeof args[0] == 'boolean') {\n    deep = args.shift();\n  }\n  var result = args[0];\n  if (!result || (typeof result != 'object' && typeof result != 'function')) {\n    throw new Error('extendee must be an object');\n  }\n  var extenders = args.slice(1);\n  var len = extenders.length;\n  for (var i = 0; i < len; i++) {\n    var extender = extenders[i];\n    for (var key in extender) {\n      if (extender.hasOwnProperty(key)) {\n        var value = extender[key];\n        if (deep && isCloneable(value)) {\n          var base = Array.isArray(value) ? [] : {};\n          result[key] = extend(true, result.hasOwnProperty(key) ? result[key] : base, value);\n        } else {\n          result[key] = value;\n        }\n      }\n    }\n  }\n  return result;\n}\n\nfunction isCloneable(obj) {\n  return Array.isArray(obj) || {}.toString.call(obj) == '[object Object]';\n}\n","\"use strict\";\n\nexports.isSupported = (function() {\n    try {\n        return Boolean(new Blob());\n    } catch (e) {\n        return false;\n    }\n})();\n","\"use strict\";\n\nvar GlobalTextEncoder =\n    typeof TextEncoder !== \"undefined\"\n        ? TextEncoder\n        : require(\"@sinonjs/text-encoding\").TextEncoder;\nvar globalObject = require(\"@sinonjs/commons\").global;\nvar configureLogError = require(\"../configure-logger\");\nvar sinonEvent = require(\"../event\");\nvar extend = require(\"just-extend\");\n\nvar supportsProgress = typeof ProgressEvent !== \"undefined\";\nvar supportsCustomEvent = typeof CustomEvent !== \"undefined\";\nvar supportsFormData = typeof FormData !== \"undefined\";\nvar supportsArrayBuffer = typeof ArrayBuffer !== \"undefined\";\nvar supportsBlob = require(\"./blob\").isSupported;\n\nfunction getWorkingXHR(globalScope) {\n    var supportsXHR = typeof globalScope.XMLHttpRequest !== \"undefined\";\n    if (supportsXHR) {\n        return globalScope.XMLHttpRequest;\n    }\n\n    var supportsActiveX = typeof globalScope.ActiveXObject !== \"undefined\";\n    if (supportsActiveX) {\n        return function() {\n            return new globalScope.ActiveXObject(\"MSXML2.XMLHTTP.3.0\");\n        };\n    }\n\n    return false;\n}\n\n// Ref: https://fetch.spec.whatwg.org/#forbidden-header-name\nvar unsafeHeaders = {\n    \"Accept-Charset\": true,\n    \"Access-Control-Request-Headers\": true,\n    \"Access-Control-Request-Method\": true,\n    \"Accept-Encoding\": true,\n    Connection: true,\n    \"Content-Length\": true,\n    Cookie: true,\n    Cookie2: true,\n    \"Content-Transfer-Encoding\": true,\n    Date: true,\n    DNT: true,\n    Expect: true,\n    Host: true,\n    \"Keep-Alive\": true,\n    Origin: true,\n    Referer: true,\n    TE: true,\n    Trailer: true,\n    \"Transfer-Encoding\": true,\n    Upgrade: true,\n    \"User-Agent\": true,\n    Via: true\n};\n\nfunction EventTargetHandler() {\n    var self = this;\n    var events = [\n        \"loadstart\",\n        \"progress\",\n        \"abort\",\n        \"error\",\n        \"load\",\n        \"timeout\",\n        \"loadend\"\n    ];\n\n    function addEventListener(eventName) {\n        self.addEventListener(eventName, function(event) {\n            var listener = self[\"on\" + eventName];\n\n            if (listener && typeof listener === \"function\") {\n                listener.call(this, event);\n            }\n        });\n    }\n\n    events.forEach(addEventListener);\n}\n\nEventTargetHandler.prototype = sinonEvent.EventTarget;\n\nfunction normalizeHeaderValue(value) {\n    // Ref: https://fetch.spec.whatwg.org/#http-whitespace-bytes\n    /*eslint no-control-regex: \"off\"*/\n    return value.replace(/^[\\x09\\x0A\\x0D\\x20]+|[\\x09\\x0A\\x0D\\x20]+$/g, \"\");\n}\n\nfunction getHeader(headers, header) {\n    var foundHeader = Object.keys(headers).filter(function(h) {\n        return h.toLowerCase() === header.toLowerCase();\n    });\n\n    return foundHeader[0] || null;\n}\n\nfunction excludeSetCookie2Header(header) {\n    return !/^Set-Cookie2?$/i.test(header);\n}\n\nfunction verifyResponseBodyType(body, responseType) {\n    var error = null;\n    var isString = typeof body === \"string\";\n\n    if (responseType === \"arraybuffer\") {\n        if (!isString && !(body instanceof ArrayBuffer)) {\n            error = new Error(\n                \"Attempted to respond to fake XMLHttpRequest with \" +\n                    body +\n                    \", which is not a string or ArrayBuffer.\"\n            );\n            error.name = \"InvalidBodyException\";\n        }\n    } else if (responseType === \"blob\") {\n        if (\n            !isString &&\n            !(body instanceof ArrayBuffer) &&\n            supportsBlob &&\n            !(body instanceof Blob)\n        ) {\n            error = new Error(\n                \"Attempted to respond to fake XMLHttpRequest with \" +\n                    body +\n                    \", which is not a string, ArrayBuffer, or Blob.\"\n            );\n            error.name = \"InvalidBodyException\";\n        }\n    } else if (!isString) {\n        error = new Error(\n            \"Attempted to respond to fake XMLHttpRequest with \" +\n                body +\n                \", which is not a string.\"\n        );\n        error.name = \"InvalidBodyException\";\n    }\n\n    if (error) {\n        throw error;\n    }\n}\n\nfunction convertToArrayBuffer(body, encoding) {\n    if (body instanceof ArrayBuffer) {\n        return body;\n    }\n\n    return new GlobalTextEncoder(encoding || \"utf-8\").encode(body).buffer;\n}\n\nfunction isXmlContentType(contentType) {\n    return (\n        !contentType ||\n        /(text\\/xml)|(application\\/xml)|(\\+xml)/.test(contentType)\n    );\n}\n\nfunction clearResponse(xhr) {\n    if (xhr.responseType === \"\" || xhr.responseType === \"text\") {\n        xhr.response = xhr.responseText = \"\";\n    } else {\n        xhr.response = xhr.responseText = null;\n    }\n    xhr.responseXML = null;\n}\n\nfunction fakeXMLHttpRequestFor(globalScope) {\n    var isReactNative =\n        globalScope.navigator &&\n        globalScope.navigator.product === \"ReactNative\";\n    var sinonXhr = { XMLHttpRequest: globalScope.XMLHttpRequest };\n    sinonXhr.GlobalXMLHttpRequest = globalScope.XMLHttpRequest;\n    sinonXhr.GlobalActiveXObject = globalScope.ActiveXObject;\n    sinonXhr.supportsActiveX =\n        typeof sinonXhr.GlobalActiveXObject !== \"undefined\";\n    sinonXhr.supportsXHR = typeof sinonXhr.GlobalXMLHttpRequest !== \"undefined\";\n    sinonXhr.workingXHR = getWorkingXHR(globalScope);\n    sinonXhr.supportsTimeout =\n        sinonXhr.supportsXHR &&\n        \"timeout\" in new sinonXhr.GlobalXMLHttpRequest();\n    sinonXhr.supportsCORS =\n        isReactNative ||\n        (sinonXhr.supportsXHR &&\n            \"withCredentials\" in new sinonXhr.GlobalXMLHttpRequest());\n\n    // Note that for FakeXMLHttpRequest to work pre ES5\n    // we lose some of the alignment with the spec.\n    // To ensure as close a match as possible,\n    // set responseType before calling open, send or respond;\n    function FakeXMLHttpRequest(config) {\n        EventTargetHandler.call(this);\n        this.readyState = FakeXMLHttpRequest.UNSENT;\n        this.requestHeaders = {};\n        this.requestBody = null;\n        this.status = 0;\n        this.statusText = \"\";\n        this.upload = new EventTargetHandler();\n        this.responseType = \"\";\n        this.response = \"\";\n        this.logError = configureLogError(config);\n\n        if (sinonXhr.supportsTimeout) {\n            this.timeout = 0;\n        }\n\n        if (sinonXhr.supportsCORS) {\n            this.withCredentials = false;\n        }\n\n        if (typeof FakeXMLHttpRequest.onCreate === \"function\") {\n            FakeXMLHttpRequest.onCreate(this);\n        }\n    }\n\n    function verifyState(xhr) {\n        if (xhr.readyState !== FakeXMLHttpRequest.OPENED) {\n            throw new Error(\"INVALID_STATE_ERR\");\n        }\n\n        if (xhr.sendFlag) {\n            throw new Error(\"INVALID_STATE_ERR\");\n        }\n    }\n\n    // largest arity in XHR is 5 - XHR#open\n    var apply = function(obj, method, args) {\n        switch (args.length) {\n            case 0:\n                return obj[method]();\n            case 1:\n                return obj[method](args[0]);\n            case 2:\n                return obj[method](args[0], args[1]);\n            case 3:\n                return obj[method](args[0], args[1], args[2]);\n            case 4:\n                return obj[method](args[0], args[1], args[2], args[3]);\n            case 5:\n                return obj[method](args[0], args[1], args[2], args[3], args[4]);\n            default:\n                throw new Error(\"Unhandled case\");\n        }\n    };\n\n    FakeXMLHttpRequest.filters = [];\n    FakeXMLHttpRequest.addFilter = function addFilter(fn) {\n        this.filters.push(fn);\n    };\n    FakeXMLHttpRequest.defake = function defake(fakeXhr, xhrArgs) {\n        var xhr = new sinonXhr.workingXHR(); // eslint-disable-line new-cap\n\n        [\n            \"open\",\n            \"setRequestHeader\",\n            \"abort\",\n            \"getResponseHeader\",\n            \"getAllResponseHeaders\",\n            \"addEventListener\",\n            \"overrideMimeType\",\n            \"removeEventListener\"\n        ].forEach(function(method) {\n            fakeXhr[method] = function() {\n                return apply(xhr, method, arguments);\n            };\n        });\n\n        fakeXhr.send = function() {\n            // Ref: https://xhr.spec.whatwg.org/#the-responsetype-attribute\n            if (xhr.responseType !== fakeXhr.responseType) {\n                xhr.responseType = fakeXhr.responseType;\n            }\n            return apply(xhr, \"send\", arguments);\n        };\n\n        var copyAttrs = function(args) {\n            args.forEach(function(attr) {\n                fakeXhr[attr] = xhr[attr];\n            });\n        };\n\n        var stateChangeStart = function() {\n            fakeXhr.readyState = xhr.readyState;\n            if (xhr.readyState >= FakeXMLHttpRequest.HEADERS_RECEIVED) {\n                copyAttrs([\"status\", \"statusText\"]);\n            }\n            if (xhr.readyState >= FakeXMLHttpRequest.LOADING) {\n                copyAttrs([\"response\"]);\n                if (xhr.responseType === \"\" || xhr.responseType === \"text\") {\n                    copyAttrs([\"responseText\"]);\n                }\n            }\n            if (\n                xhr.readyState === FakeXMLHttpRequest.DONE &&\n                (xhr.responseType === \"\" || xhr.responseType === \"document\")\n            ) {\n                copyAttrs([\"responseXML\"]);\n            }\n        };\n\n        var stateChangeEnd = function() {\n            if (fakeXhr.onreadystatechange) {\n                // eslint-disable-next-line no-useless-call\n                fakeXhr.onreadystatechange.call(fakeXhr, {\n                    target: fakeXhr,\n                    currentTarget: fakeXhr\n                });\n            }\n        };\n\n        var stateChange = function stateChange() {\n            stateChangeStart();\n            stateChangeEnd();\n        };\n\n        if (xhr.addEventListener) {\n            xhr.addEventListener(\"readystatechange\", stateChangeStart);\n\n            Object.keys(fakeXhr.eventListeners).forEach(function(event) {\n                /*eslint-disable no-loop-func*/\n                fakeXhr.eventListeners[event].forEach(function(handler) {\n                    xhr.addEventListener(event, handler.listener, {\n                        capture: handler.capture,\n                        once: handler.once\n                    });\n                });\n                /*eslint-enable no-loop-func*/\n            });\n\n            xhr.addEventListener(\"readystatechange\", stateChangeEnd);\n        } else {\n            xhr.onreadystatechange = stateChange;\n        }\n        apply(xhr, \"open\", xhrArgs);\n    };\n    FakeXMLHttpRequest.useFilters = false;\n\n    function verifyRequestOpened(xhr) {\n        if (xhr.readyState !== FakeXMLHttpRequest.OPENED) {\n            throw new Error(\"INVALID_STATE_ERR - \" + xhr.readyState);\n        }\n    }\n\n    function verifyRequestSent(xhr) {\n        if (xhr.readyState === FakeXMLHttpRequest.DONE) {\n            throw new Error(\"Request done\");\n        }\n    }\n\n    function verifyHeadersReceived(xhr) {\n        if (\n            xhr.async &&\n            xhr.readyState !== FakeXMLHttpRequest.HEADERS_RECEIVED\n        ) {\n            throw new Error(\"No headers received\");\n        }\n    }\n\n    function convertResponseBody(responseType, contentType, body) {\n        if (responseType === \"\" || responseType === \"text\") {\n            return body;\n        } else if (supportsArrayBuffer && responseType === \"arraybuffer\") {\n            return convertToArrayBuffer(body);\n        } else if (responseType === \"json\") {\n            try {\n                return JSON.parse(body);\n            } catch (e) {\n                // Return parsing failure as null\n                return null;\n            }\n        } else if (supportsBlob && responseType === \"blob\") {\n            if (body instanceof Blob) {\n                return body;\n            }\n\n            var blobOptions = {};\n            if (contentType) {\n                blobOptions.type = contentType;\n            }\n            return new Blob([convertToArrayBuffer(body)], blobOptions);\n        } else if (responseType === \"document\") {\n            if (isXmlContentType(contentType)) {\n                return FakeXMLHttpRequest.parseXML(body);\n            }\n            return null;\n        }\n        throw new Error(\"Invalid responseType \" + responseType);\n    }\n\n    /**\n     * Steps to follow when there is an error, according to:\n     * https://xhr.spec.whatwg.org/#request-error-steps\n     */\n    function requestErrorSteps(xhr) {\n        clearResponse(xhr);\n        xhr.errorFlag = true;\n        xhr.requestHeaders = {};\n        xhr.responseHeaders = {};\n\n        if (\n            xhr.readyState !== FakeXMLHttpRequest.UNSENT &&\n            xhr.sendFlag &&\n            xhr.readyState !== FakeXMLHttpRequest.DONE\n        ) {\n            xhr.readyStateChange(FakeXMLHttpRequest.DONE);\n            xhr.sendFlag = false;\n        }\n    }\n\n    FakeXMLHttpRequest.parseXML = function parseXML(text) {\n        // Treat empty string as parsing failure\n        if (text !== \"\") {\n            try {\n                if (typeof DOMParser !== \"undefined\") {\n                    var parser = new DOMParser();\n                    var parsererrorNS = \"\";\n\n                    try {\n                        var parsererrors = parser\n                            .parseFromString(\"INVALID\", \"text/xml\")\n                            .getElementsByTagName(\"parsererror\");\n                        if (parsererrors.length) {\n                            parsererrorNS = parsererrors[0].namespaceURI;\n                        }\n                    } catch (e) {\n                        // passing invalid XML makes IE11 throw\n                        // so no namespace needs to be determined\n                    }\n\n                    var result;\n                    try {\n                        result = parser.parseFromString(text, \"text/xml\");\n                    } catch (err) {\n                        return null;\n                    }\n\n                    return result.getElementsByTagNameNS(\n                        parsererrorNS,\n                        \"parsererror\"\n                    ).length\n                        ? null\n                        : result;\n                }\n                var xmlDoc = new window.ActiveXObject(\"Microsoft.XMLDOM\");\n                xmlDoc.async = \"false\";\n                xmlDoc.loadXML(text);\n                return xmlDoc.parseError.errorCode !== 0 ? null : xmlDoc;\n            } catch (e) {\n                // Unable to parse XML - no biggie\n            }\n        }\n\n        return null;\n    };\n\n    FakeXMLHttpRequest.statusCodes = {\n        100: \"Continue\",\n        101: \"Switching Protocols\",\n        200: \"OK\",\n        201: \"Created\",\n        202: \"Accepted\",\n        203: \"Non-Authoritative Information\",\n        204: \"No Content\",\n        205: \"Reset Content\",\n        206: \"Partial Content\",\n        207: \"Multi-Status\",\n        300: \"Multiple Choice\",\n        301: \"Moved Permanently\",\n        302: \"Found\",\n        303: \"See Other\",\n        304: \"Not Modified\",\n        305: \"Use Proxy\",\n        307: \"Temporary Redirect\",\n        400: \"Bad Request\",\n        401: \"Unauthorized\",\n        402: \"Payment Required\",\n        403: \"Forbidden\",\n        404: \"Not Found\",\n        405: \"Method Not Allowed\",\n        406: \"Not Acceptable\",\n        407: \"Proxy Authentication Required\",\n        408: \"Request Timeout\",\n        409: \"Conflict\",\n        410: \"Gone\",\n        411: \"Length Required\",\n        412: \"Precondition Failed\",\n        413: \"Request Entity Too Large\",\n        414: \"Request-URI Too Long\",\n        415: \"Unsupported Media Type\",\n        416: \"Requested Range Not Satisfiable\",\n        417: \"Expectation Failed\",\n        422: \"Unprocessable Entity\",\n        500: \"Internal Server Error\",\n        501: \"Not Implemented\",\n        502: \"Bad Gateway\",\n        503: \"Service Unavailable\",\n        504: \"Gateway Timeout\",\n        505: \"HTTP Version Not Supported\"\n    };\n\n    extend(FakeXMLHttpRequest.prototype, sinonEvent.EventTarget, {\n        async: true,\n\n        open: function open(method, url, async, username, password) {\n            this.method = method;\n            this.url = url;\n            this.async = typeof async === \"boolean\" ? async : true;\n            this.username = username;\n            this.password = password;\n            clearResponse(this);\n            this.requestHeaders = {};\n            this.sendFlag = false;\n\n            if (FakeXMLHttpRequest.useFilters === true) {\n                var xhrArgs = arguments;\n                var defake = FakeXMLHttpRequest.filters.some(function(filter) {\n                    return filter.apply(this, xhrArgs);\n                });\n                if (defake) {\n                    FakeXMLHttpRequest.defake(this, arguments);\n                    return;\n                }\n            }\n            this.readyStateChange(FakeXMLHttpRequest.OPENED);\n        },\n\n        readyStateChange: function readyStateChange(state) {\n            this.readyState = state;\n\n            var readyStateChangeEvent = new sinonEvent.Event(\n                \"readystatechange\",\n                false,\n                false,\n                this\n            );\n            var event, progress;\n\n            if (typeof this.onreadystatechange === \"function\") {\n                try {\n                    this.onreadystatechange(readyStateChangeEvent);\n                } catch (e) {\n                    this.logError(\"Fake XHR onreadystatechange handler\", e);\n                }\n            }\n\n            if (this.readyState === FakeXMLHttpRequest.DONE) {\n                if (this.timedOut || this.aborted || this.status === 0) {\n                    progress = { loaded: 0, total: 0 };\n                    event =\n                        (this.timedOut && \"timeout\") ||\n                        (this.aborted && \"abort\") ||\n                        \"error\";\n                } else {\n                    progress = { loaded: 100, total: 100 };\n                    event = \"load\";\n                }\n\n                if (supportsProgress) {\n                    this.upload.dispatchEvent(\n                        new sinonEvent.ProgressEvent(\"progress\", progress, this)\n                    );\n                    this.upload.dispatchEvent(\n                        new sinonEvent.ProgressEvent(event, progress, this)\n                    );\n                    this.upload.dispatchEvent(\n                        new sinonEvent.ProgressEvent(\"loadend\", progress, this)\n                    );\n                }\n\n                this.dispatchEvent(\n                    new sinonEvent.ProgressEvent(\"progress\", progress, this)\n                );\n                this.dispatchEvent(\n                    new sinonEvent.ProgressEvent(event, progress, this)\n                );\n                this.dispatchEvent(\n                    new sinonEvent.ProgressEvent(\"loadend\", progress, this)\n                );\n            }\n\n            this.dispatchEvent(readyStateChangeEvent);\n        },\n\n        // Ref https://xhr.spec.whatwg.org/#the-setrequestheader()-method\n        setRequestHeader: function setRequestHeader(header, value) {\n            if (typeof value !== \"string\") {\n                throw new TypeError(\n                    \"By RFC7230, section 3.2.4, header values should be strings. Got \" +\n                        typeof value\n                );\n            }\n            verifyState(this);\n\n            var checkUnsafeHeaders = true;\n            if (typeof this.unsafeHeadersEnabled === \"function\") {\n                checkUnsafeHeaders = this.unsafeHeadersEnabled();\n            }\n\n            if (\n                checkUnsafeHeaders &&\n                (getHeader(unsafeHeaders, header) !== null ||\n                    /^(Sec-|Proxy-)/i.test(header))\n            ) {\n                throw new Error(\n                    // eslint-disable-next-line quotes\n                    'Refused to set unsafe header \"' + header + '\"'\n                );\n            }\n\n            // eslint-disable-next-line no-param-reassign\n            value = normalizeHeaderValue(value);\n\n            var existingHeader = getHeader(this.requestHeaders, header);\n            if (existingHeader) {\n                this.requestHeaders[existingHeader] += \", \" + value;\n            } else {\n                this.requestHeaders[header] = value;\n            }\n        },\n\n        setStatus: function setStatus(status) {\n            var sanitizedStatus = typeof status === \"number\" ? status : 200;\n\n            verifyRequestOpened(this);\n            this.status = sanitizedStatus;\n            this.statusText = FakeXMLHttpRequest.statusCodes[sanitizedStatus];\n        },\n\n        // Helps testing\n        setResponseHeaders: function setResponseHeaders(headers) {\n            verifyRequestOpened(this);\n\n            var responseHeaders = (this.responseHeaders = {});\n\n            Object.keys(headers).forEach(function(header) {\n                responseHeaders[header] = headers[header];\n            });\n\n            if (this.async) {\n                this.readyStateChange(FakeXMLHttpRequest.HEADERS_RECEIVED);\n            } else {\n                this.readyState = FakeXMLHttpRequest.HEADERS_RECEIVED;\n            }\n        },\n\n        // Currently treats ALL data as a DOMString (i.e. no Document)\n        send: function send(data) {\n            verifyState(this);\n\n            if (!/^(head)$/i.test(this.method)) {\n                var contentType = getHeader(\n                    this.requestHeaders,\n                    \"Content-Type\"\n                );\n                if (this.requestHeaders[contentType]) {\n                    var value = this.requestHeaders[contentType].split(\";\");\n                    this.requestHeaders[contentType] =\n                        value[0] + \";charset=utf-8\";\n                } else if (supportsFormData && !(data instanceof FormData)) {\n                    this.requestHeaders[\"Content-Type\"] =\n                        \"text/plain;charset=utf-8\";\n                }\n\n                this.requestBody = data;\n            }\n\n            this.errorFlag = false;\n            this.sendFlag = this.async;\n            clearResponse(this);\n\n            if (typeof this.onSend === \"function\") {\n                this.onSend(this);\n            }\n\n            // Only listen if setInterval and Date are a stubbed.\n            if (\n                sinonXhr.supportsTimeout &&\n                typeof setInterval.clock === \"object\" &&\n                typeof Date.clock === \"object\"\n            ) {\n                var initiatedTime = Date.now();\n                var self = this;\n\n                // Listen to any possible tick by fake timers and check to see if timeout has\n                // been exceeded. It's important to note that timeout can be changed while a request\n                // is in flight, so we must check anytime the end user forces a clock tick to make\n                // sure timeout hasn't changed.\n                // https://xhr.spec.whatwg.org/#dfnReturnLink-2\n                var clearIntervalId = setInterval(function() {\n                    // Check if the readyState has been reset or is done. If this is the case, there\n                    // should be no timeout. This will also prevent aborted requests and\n                    // fakeServerWithClock from triggering unnecessary responses.\n                    if (\n                        self.readyState === FakeXMLHttpRequest.UNSENT ||\n                        self.readyState === FakeXMLHttpRequest.DONE\n                    ) {\n                        clearInterval(clearIntervalId);\n                    } else if (\n                        typeof self.timeout === \"number\" &&\n                        self.timeout > 0\n                    ) {\n                        if (Date.now() >= initiatedTime + self.timeout) {\n                            self.triggerTimeout();\n                            clearInterval(clearIntervalId);\n                        }\n                    }\n                }, 1);\n            }\n\n            this.dispatchEvent(\n                new sinonEvent.Event(\"loadstart\", false, false, this)\n            );\n        },\n\n        abort: function abort() {\n            this.aborted = true;\n            requestErrorSteps(this);\n            this.readyState = FakeXMLHttpRequest.UNSENT;\n        },\n\n        error: function() {\n            clearResponse(this);\n            this.errorFlag = true;\n            this.requestHeaders = {};\n            this.responseHeaders = {};\n\n            this.readyStateChange(FakeXMLHttpRequest.DONE);\n        },\n\n        triggerTimeout: function triggerTimeout() {\n            if (sinonXhr.supportsTimeout) {\n                this.timedOut = true;\n                requestErrorSteps(this);\n            }\n        },\n\n        getResponseHeader: function getResponseHeader(header) {\n            if (this.readyState < FakeXMLHttpRequest.HEADERS_RECEIVED) {\n                return null;\n            }\n\n            if (/^Set-Cookie2?$/i.test(header)) {\n                return null;\n            }\n\n            // eslint-disable-next-line no-param-reassign\n            header = getHeader(this.responseHeaders, header);\n\n            return this.responseHeaders[header] || null;\n        },\n\n        getAllResponseHeaders: function getAllResponseHeaders() {\n            if (this.readyState < FakeXMLHttpRequest.HEADERS_RECEIVED) {\n                return \"\";\n            }\n\n            var responseHeaders = this.responseHeaders;\n            var headers = Object.keys(responseHeaders)\n                .filter(excludeSetCookie2Header)\n                .reduce(function(prev, header) {\n                    var value = responseHeaders[header];\n\n                    return prev + (header + \": \" + value + \"\\r\\n\");\n                }, \"\");\n\n            return headers;\n        },\n\n        setResponseBody: function setResponseBody(body) {\n            verifyRequestSent(this);\n            verifyHeadersReceived(this);\n            verifyResponseBodyType(body, this.responseType);\n            var contentType =\n                this.overriddenMimeType ||\n                this.getResponseHeader(\"Content-Type\");\n\n            var isTextResponse =\n                this.responseType === \"\" || this.responseType === \"text\";\n            clearResponse(this);\n            if (this.async) {\n                var chunkSize = this.chunkSize || 10;\n                var index = 0;\n\n                do {\n                    this.readyStateChange(FakeXMLHttpRequest.LOADING);\n\n                    if (isTextResponse) {\n                        this.responseText = this.response += body.substring(\n                            index,\n                            index + chunkSize\n                        );\n                    }\n                    index += chunkSize;\n                } while (index < body.length);\n            }\n\n            this.response = convertResponseBody(\n                this.responseType,\n                contentType,\n                body\n            );\n            if (isTextResponse) {\n                this.responseText = this.response;\n            }\n\n            if (this.responseType === \"document\") {\n                this.responseXML = this.response;\n            } else if (\n                this.responseType === \"\" &&\n                isXmlContentType(contentType)\n            ) {\n                this.responseXML = FakeXMLHttpRequest.parseXML(\n                    this.responseText\n                );\n            }\n            this.readyStateChange(FakeXMLHttpRequest.DONE);\n        },\n\n        respond: function respond(status, headers, body) {\n            this.setStatus(status);\n            this.setResponseHeaders(headers || {});\n            this.setResponseBody(body || \"\");\n        },\n\n        uploadProgress: function uploadProgress(progressEventRaw) {\n            if (supportsProgress) {\n                this.upload.dispatchEvent(\n                    new sinonEvent.ProgressEvent(\n                        \"progress\",\n                        progressEventRaw,\n                        this.upload\n                    )\n                );\n            }\n        },\n\n        downloadProgress: function downloadProgress(progressEventRaw) {\n            if (supportsProgress) {\n                this.dispatchEvent(\n                    new sinonEvent.ProgressEvent(\n                        \"progress\",\n                        progressEventRaw,\n                        this\n                    )\n                );\n            }\n        },\n\n        uploadError: function uploadError(error) {\n            if (supportsCustomEvent) {\n                this.upload.dispatchEvent(\n                    new sinonEvent.CustomEvent(\"error\", { detail: error })\n                );\n            }\n        },\n\n        overrideMimeType: function overrideMimeType(type) {\n            if (this.readyState >= FakeXMLHttpRequest.LOADING) {\n                throw new Error(\"INVALID_STATE_ERR\");\n            }\n            this.overriddenMimeType = type;\n        }\n    });\n\n    var states = {\n        UNSENT: 0,\n        OPENED: 1,\n        HEADERS_RECEIVED: 2,\n        LOADING: 3,\n        DONE: 4\n    };\n\n    extend(FakeXMLHttpRequest, states);\n    extend(FakeXMLHttpRequest.prototype, states);\n\n    function useFakeXMLHttpRequest() {\n        FakeXMLHttpRequest.restore = function restore(keepOnCreate) {\n            if (sinonXhr.supportsXHR) {\n                globalScope.XMLHttpRequest = sinonXhr.GlobalXMLHttpRequest;\n            }\n\n            if (sinonXhr.supportsActiveX) {\n                globalScope.ActiveXObject = sinonXhr.GlobalActiveXObject;\n            }\n\n            delete FakeXMLHttpRequest.restore;\n\n            if (keepOnCreate !== true) {\n                delete FakeXMLHttpRequest.onCreate;\n            }\n        };\n        if (sinonXhr.supportsXHR) {\n            globalScope.XMLHttpRequest = FakeXMLHttpRequest;\n        }\n\n        if (sinonXhr.supportsActiveX) {\n            globalScope.ActiveXObject = function ActiveXObject(objId) {\n                if (\n                    objId === \"Microsoft.XMLHTTP\" ||\n                    /^Msxml2\\.XMLHTTP/i.test(objId)\n                ) {\n                    return new FakeXMLHttpRequest();\n                }\n\n                return new sinonXhr.GlobalActiveXObject(objId);\n            };\n        }\n\n        return FakeXMLHttpRequest;\n    }\n\n    return {\n        xhr: sinonXhr,\n        FakeXMLHttpRequest: FakeXMLHttpRequest,\n        useFakeXMLHttpRequest: useFakeXMLHttpRequest\n    };\n}\n\nmodule.exports = extend(fakeXMLHttpRequestFor(globalObject), {\n    fakeXMLHttpRequestFor: fakeXMLHttpRequestFor\n});\n","export default function resolveXhr(xhr, body) {\n  return new Promise((resolve) => {\n    xhr.send(body);\n\n    if (xhr.async) {\n      const { onreadystatechange } = xhr;\n\n      xhr.onreadystatechange = (...args) => {\n        onreadystatechange && onreadystatechange.apply(xhr, ...args);\n        xhr.readyState === XMLHttpRequest.DONE && resolve();\n      };\n    } else {\n      resolve();\n    }\n  });\n}\n","/**\n * Serialize response headers which is received as a string, into a pojo\n *\n * @param {String} responseHeaders\n */\nexport default function serializeResponseHeaders(responseHeaders) {\n  if (typeof responseHeaders !== 'string') {\n    return responseHeaders;\n  }\n\n  return responseHeaders.split('\\n').reduce((headers, header) => {\n    const [key, value] = header.split(':');\n\n    if (key) {\n      headers[key] = value.replace(/(\\r|\\n|^\\s+)/g, '');\n    }\n\n    return headers;\n  }, {});\n}\n","var core = require('../../modules/_core');\nvar $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify });\nmodule.exports = function stringify(it) { // eslint-disable-line no-unused-vars\n  return $JSON.stringify.apply($JSON, arguments);\n};\n","module.exports = require(\"core-js/library/fn/json/stringify\");","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n  '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var $export = require('./_export');\nvar defined = require('./_defined');\nvar fails = require('./_fails');\nvar spaces = require('./_string-ws');\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n  var exp = {};\n  var FORCE = fails(function () {\n    return !!spaces[KEY]() || non[KEY]() != non;\n  });\n  var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n  if (ALIAS) exp[ALIAS] = fn;\n  $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n  string = String(defined(string));\n  if (TYPE & 1) string = string.replace(ltrim, '');\n  if (TYPE & 2) string = string.replace(rtrim, '');\n  return string;\n};\n\nmodule.exports = exporter;\n","var $parseFloat = require('./_global').parseFloat;\nvar $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str) {\n  var string = $trim(String(str), 3);\n  var result = $parseFloat(string);\n  return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });\n","require('../modules/es6.parse-float');\nmodule.exports = require('../modules/_core').parseFloat;\n","module.exports = require(\"core-js/library/fn/parse-float\");","const ALPHA_NUMERIC_DOT = /([0-9.]+)([a-zA-Z]+)/g;\nconst TIMES = {\n  ms: 1,\n  millisecond: 1,\n  milliseconds: 1,\n  s: 1000,\n  sec: 1000,\n  secs: 1000,\n  second: 1000,\n  seconds: 1000,\n  m: 60000,\n  min: 60000,\n  mins: 60000,\n  minute: 60000,\n  minutes: 60000,\n  h: 3600000,\n  hr: 3600000,\n  hrs: 3600000,\n  hour: 3600000,\n  hours: 3600000,\n  d: 86400000,\n  day: 86400000,\n  days: 86400000,\n  w: 604800000,\n  wk: 604800000,\n  wks: 604800000,\n  week: 604800000,\n  weeks: 604800000,\n  y: 31536000000,\n  yr: 31536000000,\n  yrs: 31536000000,\n  year: 31536000000,\n  years: 31536000000\n};\n\nexport default function dehumanizeTime(input) {\n  if (typeof input !== 'string') {\n    return NaN;\n  }\n\n  const parts = input.replace(/ /g, '').match(ALPHA_NUMERIC_DOT);\n  const sets = parts.map((part) =>\n    part.split(ALPHA_NUMERIC_DOT).filter((o) => o)\n  );\n\n  return sets.reduce((accum, [number, unit]) => {\n    return accum + parseFloat(number) * TIMES[unit];\n  }, 0);\n}\n","import dehumanizeTime from './dehumanize-time';\n\nexport default function isExpired(recordedOn, expiresIn) {\n  if (recordedOn && expiresIn) {\n    return (\n      new Date() >\n      new Date(new Date(recordedOn).getTime() + dehumanizeTime(expiresIn))\n    );\n  }\n\n  return false;\n}\n","export default function stringifyRequest(req, ...args) {\n  const config = { ...req.config };\n\n  // Remove all adapter & persister config options as they can cause a circular\n  // structure to the final JSON\n  ['adapter', 'adapterOptions', 'persister', 'persisterOptions'].forEach(\n    (k) => delete config[k]\n  );\n\n  return JSON.stringify(\n    {\n      url: req.url,\n      method: req.method,\n      headers: req.headers,\n      body: req.body,\n      recordingName: req.recordingName,\n      id: req.id,\n      order: req.order,\n      identifiers: req.identifiers,\n      config\n    },\n    ...args\n  );\n}\n","const { isArray } = Array;\n\nexport default function normalizeRecordedResponse(response) {\n  const { status, statusText, headers, content } = response;\n\n  return {\n    statusText,\n    statusCode: status,\n    headers: normalizeHeaders(headers),\n    body: content && content.text,\n    encoding: content && content.encoding\n  };\n}\n\nfunction normalizeHeaders(headers) {\n  return (headers || []).reduce((accum, { name, value, _fromType }) => {\n    const existingValue = accum[name];\n\n    if (existingValue) {\n      if (!isArray(existingValue)) {\n        accum[name] = [existingValue];\n      }\n\n      accum[name].push(value);\n    } else {\n      accum[name] = _fromType === 'array' ? [value] : value;\n    }\n\n    return accum;\n  }, {});\n}\n","const createObject = Object.create;\nexport function createMap<T>() {\n  const map: { [key: string]: T | undefined } = createObject(null);\n  map[\"__\"] = undefined;\n  delete map[\"__\"];\n  return map;\n}\n","import { createMap } from \"./util\";\n\nexport interface Delegate {\n  contextEntered?(context: string, route: MatchDSL): void;\n  willAddRoute?(context: string | undefined, route: string): string;\n}\n\nexport type Opaque = {} | void | null | undefined;\n\nexport interface Route {\n  path: string;\n  handler: Opaque;\n  queryParams?: string[];\n}\n\nexport interface RouteRecognizer {\n  delegate: Delegate | undefined;\n  add(routes: Route[]): void;\n}\n\nexport interface MatchCallback {\n  (match: MatchDSL): void;\n}\n\nexport interface MatchDSL {\n  (path: string): ToDSL;\n  (path: string, callback: MatchCallback): void;\n}\n\nexport interface ToDSL {\n  to(name: string, callback?: MatchCallback): void;\n}\n\nclass Target implements ToDSL {\n  path: string;\n  matcher: Matcher;\n  delegate: Delegate | undefined;\n\n  constructor(path: string, matcher: Matcher, delegate: Delegate | undefined) {\n    this.path = path;\n    this.matcher = matcher;\n    this.delegate = delegate;\n  }\n\n  to(target: string, callback: MatchCallback) {\n    let delegate = this.delegate;\n\n    if (delegate && delegate.willAddRoute) {\n      target = delegate.willAddRoute(this.matcher.target, target);\n    }\n\n    this.matcher.add(this.path, target);\n\n    if (callback) {\n      if (callback.length === 0) { throw new Error(\"You must have an argument in the function passed to `to`\"); }\n      this.matcher.addChild(this.path, target, callback, this.delegate);\n    }\n  }\n}\n\nexport class Matcher {\n  routes: {\n    [path: string]: string | undefined;\n  };\n  children: {\n    [path: string]: Matcher | undefined;\n  };\n  target: string | undefined;\n\n  constructor(target?: string) {\n    this.routes = createMap<string>();\n    this.children = createMap<Matcher>();\n    this.target = target;\n  }\n\n  add(path: string, target: string) {\n    this.routes[path] = target;\n  }\n\n  addChild(path: string, target: string, callback: MatchCallback, delegate: Delegate | undefined) {\n    let matcher = new Matcher(target);\n    this.children[path] = matcher;\n\n    let match = generateMatch(path, matcher, delegate);\n\n    if (delegate && delegate.contextEntered) {\n      delegate.contextEntered(target, match);\n    }\n\n    callback(match);\n  }\n}\n\nfunction generateMatch(startingPath: string, matcher: Matcher, delegate: Delegate | undefined): MatchDSL {\n  function match(path: string): ToDSL;\n  function match(path: string, callback: MatchCallback): void;\n  function match(path: string, callback?: MatchCallback): ToDSL | void {\n    let fullPath = startingPath + path;\n    if (callback) {\n      callback(generateMatch(fullPath, matcher, delegate));\n    } else {\n      return new Target(fullPath, matcher, delegate);\n    }\n  };\n  return match;\n}\n\nfunction addRoute(routeArray: Route[], path: string, handler: any) {\n  let len = 0;\n  for (let i = 0; i < routeArray.length; i++) {\n    len += routeArray[i].path.length;\n  }\n\n  path = path.substr(len);\n  let route = { path: path, handler: handler };\n  routeArray.push(route);\n}\n\nfunction eachRoute<T>(baseRoute: Route[], matcher: Matcher, callback: (this: T, routes: Route[]) => void, binding: T) {\n  let routes = matcher.routes;\n  let paths = Object.keys(routes);\n  for (let i = 0; i < paths.length; i++) {\n    let path = paths[i];\n    let routeArray = baseRoute.slice();\n    addRoute(routeArray, path, routes[path]);\n    let nested = matcher.children[path];\n    if (nested) {\n      eachRoute(routeArray, nested, callback, binding);\n    } else {\n      callback.call(binding, routeArray);\n    }\n  }\n}\n\nexport default function <T extends RouteRecognizer>(this: T, callback: MatchCallback, addRouteCallback?: (routeRecognizer: T, routes: Route[]) => void) {\n  let matcher = new Matcher();\n\n  callback(generateMatch(\"\", matcher, this.delegate));\n\n  eachRoute([], matcher, function(routes: Route[]) {\n    if (addRouteCallback) { addRouteCallback(this, routes); }\n    else { this.add(routes); }\n  }, this);\n}\n","// Normalizes percent-encoded values in `path` to upper-case and decodes percent-encoded\n// values that are not reserved (i.e., unicode characters, emoji, etc). The reserved\n// chars are \"/\" and \"%\".\n// Safe to call multiple times on the same path.\nexport function normalizePath(path: string): string {\n  return path.split(\"/\")\n             .map(normalizeSegment)\n             .join(\"/\");\n}\n\n// We want to ensure the characters \"%\" and \"/\" remain in percent-encoded\n// form when normalizing paths, so replace them with their encoded form after\n// decoding the rest of the path\nconst SEGMENT_RESERVED_CHARS = /%|\\//g;\nexport function normalizeSegment(segment: string) {\n  if (segment.length < 3 || segment.indexOf(\"%\") === -1) return segment;\n  return decodeURIComponent(segment).replace(SEGMENT_RESERVED_CHARS, encodeURIComponent);\n}\n\n// We do not want to encode these characters when generating dynamic path segments\n// See https://tools.ietf.org/html/rfc3986#section-3.3\n// sub-delims: \"!\", \"$\", \"&\", \"'\", \"(\", \")\", \"*\", \"+\", \",\", \";\", \"=\"\n// others allowed by RFC 3986: \":\", \"@\"\n//\n// First encode the entire path segment, then decode any of the encoded special chars.\n//\n// The chars \"!\", \"'\", \"(\", \")\", \"*\" do not get changed by `encodeURIComponent`,\n// so the possible encoded chars are:\n// ['%24', '%26', '%2B', '%2C', '%3B', '%3D', '%3A', '%40'].\nconst PATH_SEGMENT_ENCODINGS = /%(?:2(?:4|6|B|C)|3(?:B|D|A)|40)/g;\n\nexport function encodePathSegment(str: string) {\n  return encodeURIComponent(str).replace(PATH_SEGMENT_ENCODINGS, decodeURIComponent);\n}\n","import { createMap } from \"./route-recognizer/util\";\nimport map, { Delegate, Route, Opaque, MatchCallback } from \"./route-recognizer/dsl\";\nimport { normalizePath, normalizeSegment, encodePathSegment } from \"./route-recognizer/normalizer\";\nexport { Delegate, MatchCallback } from './route-recognizer/dsl';\n\nconst enum CHARS {\n  ANY = -1,\n  STAR = 42,\n  SLASH = 47,\n  COLON = 58\n}\n\nconst escapeRegex = /(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\)/g;\n\nconst isArray = Array.isArray;\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction getParam(params: Params | null | undefined, key: string): string {\n  if (typeof params !== \"object\" || params === null) {\n    throw new Error(\"You must pass an object as the second argument to `generate`.\");\n  }\n\n  if (!hasOwnProperty.call(params, key)) {\n    throw new Error(\"You must provide param `\" + key + \"` to `generate`.\");\n  }\n\n  let value = params[key];\n  let str = typeof value === \"string\" ? value : \"\" + value;\n  if (str.length === 0) {\n    throw new Error(\"You must provide a param `\" + key + \"`.\");\n  }\n  return str;\n}\n\nconst enum SegmentType {\n  Static  = 0,\n  Dynamic = 1,\n  Star    = 2,\n  Epsilon = 4\n}\n\nconst enum SegmentFlags {\n  Static  = 2 << SegmentType.Static,\n  Dynamic = 2 << SegmentType.Dynamic,\n  Star    = 2 << SegmentType.Star,\n  Epsilon = 2 << SegmentType.Epsilon,\n  Named = Dynamic | Star,\n  Decoded = Dynamic,\n  Counted = Static | Dynamic | Star\n}\n\nconst eachChar: ((segment: Segment, currentState: State) => State)[] = [];\neachChar[SegmentType.Static] = function (segment: Segment, currentState: State) {\n  let state = currentState;\n  let value = segment.value;\n  for (let i = 0; i < value.length; i++) {\n    let ch = value.charCodeAt(i);\n    state = state.put(ch, false, false);\n  }\n  return state;\n};\neachChar[SegmentType.Dynamic] = function (_: Segment, currentState: State) {\n  return currentState.put(CHARS.SLASH, true, true);\n};\neachChar[SegmentType.Star] = function (_: Segment, currentState: State) {\n  return currentState.put(CHARS.ANY, false, true);\n};\neachChar[SegmentType.Epsilon] = function (_: Segment, currentState: State) {\n  return currentState;\n};\n\nconst regex: ((segment: Segment) => string)[] = [];\nregex[SegmentType.Static] = function (segment: Segment) {\n  return segment.value.replace(escapeRegex, \"\\\\$1\");\n};\nregex[SegmentType.Dynamic] = function () {\n  return \"([^/]+)\";\n};\nregex[SegmentType.Star] = function () {\n  return \"(.+)\";\n};\nregex[SegmentType.Epsilon] = function () {\n  return \"\";\n};\n\nconst generate: ((segment: Segment, params?: Params | null) => string)[] = [];\ngenerate[SegmentType.Static] = function (segment: Segment) {\n  return segment.value;\n};\ngenerate[SegmentType.Dynamic] = function (segment: Segment, params?: Params) {\n  let value = getParam(params, segment.value);\n  if (RouteRecognizer.ENCODE_AND_DECODE_PATH_SEGMENTS) {\n    return encodePathSegment(value);\n  } else {\n    return value;\n  }\n};\ngenerate[SegmentType.Star] = function (segment: Segment, params?: Params) {\n  return getParam(params, segment.value);\n};\ngenerate[SegmentType.Epsilon] = function () {\n  return \"\";\n};\n\n// A Segment represents a segment in the original route description.\n// Each Segment type provides an `eachChar` and `regex` method.\n//\n// The `eachChar` method invokes the callback with one or more character\n// specifications. A character specification consumes one or more input\n// characters.\n//\n// The `regex` method returns a regex fragment for the segment. If the\n// segment is a dynamic of star segment, the regex fragment also includes\n// a capture.\n//\n// A character specification contains:\n//\n// * `validChars`: a String with a list of all valid characters, or\n// * `invalidChars`: a String with a list of all invalid characters\n// * `repeat`: true if the character specification can repeat\ninterface Segment {\n  type: SegmentType;\n  value: string;\n}\n\nexport interface Params {\n  [key: string]: Opaque;\n  [key: number]: Opaque;\n  queryParams?: QueryParams | null;\n}\n\ninterface PopulatedParsedHandlers {\n  names: string[];\n  shouldDecodes: any[];\n}\n\nconst EmptyObject = Object.freeze({});\ntype EmptyObject = Readonly<{}>\n\nconst EmptyArray = Object.freeze([]) as ReadonlyArray<any>;\ntype EmptyArray = ReadonlyArray<any>;\n\ninterface EmptyParsedHandlers {\n  names: EmptyArray;\n  shouldDecodes: EmptyArray;\n}\n\ntype ParsedHandler = PopulatedParsedHandlers | EmptyParsedHandlers;\n\n// The `names` will be populated with the paramter name for each dynamic/star\n// segment. `shouldDecodes` will be populated with a boolean for each dyanamic/star\n// segment, indicating whether it should be decoded during recognition.\nfunction parse(segments: Segment[], route: string, types: [number, number, number]) {\n  // normalize route as not starting with a \"/\". Recognition will\n  // also normalize.\n  if (route.length > 0 && route.charCodeAt(0) === CHARS.SLASH) { route = route.substr(1); }\n\n  let parts = route.split(\"/\");\n  let names: void | string[] = undefined;\n  let shouldDecodes: void | any[] = undefined;\n\n  for (let i = 0; i < parts.length; i++) {\n    let part = parts[i];\n    let flags: SegmentFlags = 0;\n    let type: SegmentType = 0;\n\n    if (part === \"\") {\n      type = SegmentType.Epsilon;\n    } else if (part.charCodeAt(0) === CHARS.COLON) {\n      type = SegmentType.Dynamic;\n    } else if (part.charCodeAt(0) === CHARS.STAR) {\n      type = SegmentType.Star;\n    }  else {\n      type = SegmentType.Static;\n    }\n\n    flags = 2 << type;\n\n    if (flags & SegmentFlags.Named) {\n      part = part.slice(1);\n      names = names || [];\n      names.push(part);\n\n      shouldDecodes = shouldDecodes || [];\n      shouldDecodes.push((flags & SegmentFlags.Decoded) !== 0);\n    }\n\n    if (flags & SegmentFlags.Counted) {\n      types[type]++;\n    }\n\n    segments.push({\n      type,\n      value: normalizeSegment(part)\n    });\n  }\n\n  return {\n    names: names || EmptyArray,\n    shouldDecodes: shouldDecodes || EmptyArray,\n  } as ParsedHandler;\n}\n\nfunction isEqualCharSpec(spec: CharSpec, char: number, negate: boolean) {\n  return spec.char === char && spec.negate === negate;\n}\n\ninterface EmptyHandler {\n  handler: Opaque;\n  names: EmptyArray;\n  shouldDecodes: EmptyArray;\n}\n\ninterface PopulatedHandler {\n  handler: Opaque;\n  names: string [];\n  shouldDecodes: boolean[];\n}\n\ntype Handler = EmptyHandler | PopulatedHandler;\n\n// A State has a character specification and (`charSpec`) and a list of possible\n// subsequent states (`nextStates`).\n//\n// If a State is an accepting state, it will also have several additional\n// properties:\n//\n// * `regex`: A regular expression that is used to extract parameters from paths\n//   that reached this accepting state.\n// * `handlers`: Information on how to convert the list of captures into calls\n//   to registered handlers with the specified parameters\n// * `types`: How many static, dynamic or star segments in this route. Used to\n//   decide which route to use if multiple registered routes match a path.\n//\n// Currently, State is implemented naively by looping over `nextStates` and\n// comparing a character specification against a character. A more efficient\n// implementation would use a hash of keys pointing at one or more next states.\nclass State implements CharSpec {\n  states: State[];\n  id: number;\n  negate: boolean;\n  char: number;\n  nextStates: number[] | number | null;\n  pattern: string;\n  _regex: RegExp | undefined;\n  handlers: Handler[] | undefined;\n  types: [number, number, number] | undefined;\n\n  constructor(states: State[], id: number, char: number, negate: boolean, repeat: boolean) {\n    this.states = states;\n    this.id = id;\n    this.char = char;\n    this.negate = negate;\n    this.nextStates = repeat ? id : null;\n    this.pattern = \"\";\n    this._regex = undefined;\n    this.handlers = undefined;\n    this.types = undefined;\n  }\n\n  regex(): RegExp {\n    if (!this._regex) {\n      this._regex = new RegExp(this.pattern);\n    }\n    return this._regex;\n  }\n\n  get(char: number, negate: boolean): State | void {\n    let nextStates = this.nextStates;\n    if (nextStates === null) return;\n    if (isArray(nextStates)) {\n      for (let i = 0; i < nextStates.length; i++) {\n        let child = this.states[nextStates[i]];\n        if (isEqualCharSpec(child, char, negate)) {\n          return child;\n        }\n      }\n    } else {\n      let child = this.states[nextStates];\n      if (isEqualCharSpec(child, char, negate)) {\n        return child;\n      }\n    }\n  }\n\n  put(char: number, negate: boolean, repeat: boolean) {\n    let state: State | void;\n\n    // If the character specification already exists in a child of the current\n    // state, just return that state.\n    if (state = this.get(char, negate)) { return state; }\n\n    // Make a new state for the character spec\n    let states = this.states;\n    state = new State(states, states.length, char, negate, repeat);\n    states[states.length] = state;\n\n    // Insert the new state as a child of the current state\n    if (this.nextStates == null) {\n      this.nextStates = state.id;\n    } else if (isArray(this.nextStates)) {\n      this.nextStates.push(state.id);\n    } else {\n      this.nextStates = [this.nextStates, state.id];\n    }\n\n    // Return the new state\n    return state;\n  }\n\n  // Find a list of child states matching the next character\n  match(ch: number): State[] {\n    let nextStates = this.nextStates;\n    if (!nextStates) return [];\n\n    let returned: State[] = [];\n    if (isArray(nextStates)) {\n      for (let i = 0; i < nextStates.length; i++) {\n        let child = this.states[nextStates[i]];\n\n        if (isMatch(child, ch)) {\n          returned.push(child);\n        }\n      }\n    } else {\n      let child = this.states[nextStates];\n      if (isMatch(child, ch)) {\n        returned.push(child);\n      }\n    }\n    return returned;\n  }\n}\n\nfunction isMatch(spec: CharSpec, char: number) {\n  return spec.negate ? spec.char !== char && spec.char !== CHARS.ANY : spec.char === char || spec.char === CHARS.ANY;\n}\n\n// This is a somewhat naive strategy, but should work in a lot of cases\n// A better strategy would properly resolve /posts/:id/new and /posts/edit/:id.\n//\n// This strategy generally prefers more static and less dynamic matching.\n// Specifically, it\n//\n//  * prefers fewer stars to more, then\n//  * prefers using stars for less of the match to more, then\n//  * prefers fewer dynamic segments to more, then\n//  * prefers more static segments to more\nfunction sortSolutions(states: State[]) {\n  return states.sort(function(a, b) {\n    let [ astatics, adynamics, astars ] = a.types || [0, 0, 0];\n    let [ bstatics, bdynamics, bstars ] = b.types || [0, 0, 0];\n    if (astars !== bstars) { return astars - bstars; }\n\n    if (astars) {\n      if (astatics !== bstatics) { return bstatics - astatics; }\n      if (adynamics !== bdynamics) { return bdynamics - adynamics; }\n    }\n\n    if (adynamics !== bdynamics) { return adynamics - bdynamics; }\n    if (astatics !== bstatics) { return bstatics - astatics; }\n\n    return 0;\n  });\n}\n\nfunction recognizeChar(states: State[], ch: number) {\n  let nextStates: State[] = [];\n\n  for (let i = 0, l = states.length; i < l; i++) {\n    let state = states[i];\n\n    nextStates = nextStates.concat(state.match(ch));\n  }\n\n  return nextStates;\n}\n\n\nexport interface QueryParams {\n  [param: string]: any[] | any | null | undefined;\n}\n\nexport interface Result {\n  handler: Opaque;\n  params: Params;\n  isDynamic: boolean;\n}\n\nexport interface Results extends ArrayLike<Result | undefined> {\n  queryParams: QueryParams;\n  slice(start?: number, end?: number): Result[];\n  splice(start: number, deleteCount: number, ...items: Result[]): Result[];\n  push(...results: Result[]): number;\n}\n\nclass RecognizeResults implements Results {\n  queryParams: QueryParams;\n  length = 0;\n  [index: number]: Result | undefined;\n  splice: (start: number, deleteCount: number, ...items: Result[]) => Result[];\n  slice: (start?: number, end?: number) => Result[];\n  push: (...results: Result[]) => number;\n\n  constructor(queryParams?: QueryParams) {\n    this.queryParams = queryParams || {};\n  }\n};\n\nRecognizeResults.prototype.splice = Array.prototype.splice;\nRecognizeResults.prototype.slice =  Array.prototype.slice;\nRecognizeResults.prototype.push = Array.prototype.push;\n\nfunction findHandler(state: State, originalPath: string, queryParams: QueryParams): Results {\n  let handlers = state.handlers;\n  let regex: RegExp = state.regex();\n  if (!regex || !handlers) throw new Error(\"state not initialized\");\n  let captures: RegExpMatchArray | null = originalPath.match(regex);\n  let currentCapture = 1;\n  let result = new RecognizeResults(queryParams);\n\n  result.length = handlers.length;\n\n  for (let i = 0; i < handlers.length; i++) {\n    let handler = handlers[i];\n    let names = handler.names;\n    let shouldDecodes = handler.shouldDecodes;\n    let params: EmptyObject | Params = EmptyObject;\n\n    let isDynamic = false;\n\n    if (names !== EmptyArray && shouldDecodes !== EmptyArray) {\n      for (let j = 0; j < names.length; j++) {\n        isDynamic = true;\n        let name = names[j];\n        let capture = captures && captures[currentCapture++];\n\n        if (params === EmptyObject) {\n          params = {};\n        }\n\n        if (RouteRecognizer.ENCODE_AND_DECODE_PATH_SEGMENTS && shouldDecodes[j]) {\n          (<Params>params)[name] = capture && decodeURIComponent(capture);\n        } else {\n          (<Params>params)[name] = capture;\n        }\n      }\n    }\n\n    result[i] = {\n      handler: handler.handler,\n      params,\n      isDynamic\n    };\n  }\n\n  return result;\n}\n\nfunction decodeQueryParamPart(part: string): string {\n  // http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1\n  part = part.replace(/\\+/gm, \"%20\");\n  let result;\n  try {\n    result = decodeURIComponent(part);\n  } catch (error) {result = \"\"; }\n  return result;\n}\n\ninterface NamedRoute {\n  segments: Segment[];\n  handlers: Handler[];\n}\n\nclass RouteRecognizer {\n  private states: State[];\n  private rootState: State;\n  private names: {\n    [name: string]: NamedRoute | undefined;\n  } = createMap<NamedRoute>();\n  map: (context: MatchCallback, addCallback?: (router: this, routes: Route[]) => void) => void;\n  delegate: Delegate | undefined;\n\n  constructor() {\n    let states: State[] = [];\n    let state = new State(states, 0, CHARS.ANY, true, false);\n    states[0] = state;\n    this.states = states;\n    this.rootState = state;\n  }\n\n  static VERSION = \"0.3.4\";\n  // Set to false to opt-out of encoding and decoding path segments.\n  // See https://github.com/tildeio/route-recognizer/pull/55\n  static ENCODE_AND_DECODE_PATH_SEGMENTS = true;\n  static Normalizer = {\n    normalizeSegment, normalizePath, encodePathSegment\n  };\n\n  add(routes: Route[], options?: { as: string }) {\n    let currentState = this.rootState;\n    let pattern = \"^\";\n    let types: [number, number, number] = [0, 0, 0];\n    let handlers: Handler[] = new Array(routes.length);\n    let allSegments: Segment[] = [];\n\n    let isEmpty = true;\n    let j = 0;\n    for (let i = 0; i < routes.length; i++) {\n      let route = routes[i];\n      let { names, shouldDecodes } = parse(allSegments, route.path, types);\n\n      // preserve j so it points to the start of newly added segments\n      for (; j < allSegments.length; j++) {\n        let segment = allSegments[j];\n\n        if (segment.type === SegmentType.Epsilon) { continue; }\n\n        isEmpty = false;\n\n        // Add a \"/\" for the new segment\n        currentState = currentState.put(CHARS.SLASH, false, false);\n        pattern += \"/\";\n\n        // Add a representation of the segment to the NFA and regex\n        currentState = eachChar[segment.type](segment, currentState);\n        pattern += regex[segment.type](segment);\n      }\n      handlers[i] = {\n        handler: route.handler,\n        names,\n        shouldDecodes\n      };\n    }\n\n    if (isEmpty) {\n        currentState = currentState.put(CHARS.SLASH, false, false);\n      pattern += \"/\";\n    }\n\n    currentState.handlers = handlers;\n    currentState.pattern = pattern + \"$\";\n    currentState.types = types;\n\n    let name: string | undefined;\n    if (typeof options === \"object\" && options !== null && options.as) {\n      name = options.as;\n    }\n\n    if (name) {\n      // if (this.names[name]) {\n      //   throw new Error(\"You may not add a duplicate route named `\" + name + \"`.\");\n      // }\n\n      this.names[name] = {\n        segments: allSegments,\n        handlers\n      };\n    }\n  }\n\n  handlersFor(name: string) {\n    let route = this.names[name];\n\n    if (!route) { throw new Error(\"There is no route named \" + name); }\n\n    let result = new Array(route.handlers.length);\n\n    for (let i = 0; i < route.handlers.length; i++) {\n      let handler = route.handlers[i];\n      result[i] = handler;\n    }\n\n    return result;\n  }\n\n  hasRoute(name: string) {\n    return !!this.names[name];\n  }\n\n  generate(name: string, params?: Params | null) {\n    let route = this.names[name];\n    let output = \"\";\n    if (!route) { throw new Error(\"There is no route named \" + name); }\n\n    let segments: Segment[] = route.segments;\n\n    for (let i = 0; i < segments.length; i++) {\n      let segment: Segment = segments[i];\n\n      if (segment.type === SegmentType.Epsilon) {\n        continue;\n      }\n\n      output += \"/\";\n      output += generate[segment.type](segment, params);\n    }\n\n    if (output.charAt(0) !== \"/\") { output = \"/\" + output; }\n\n    if (params && params.queryParams) {\n      output += this.generateQueryString(params.queryParams);\n    }\n\n    return output;\n  }\n\n  generateQueryString(params: QueryParams) {\n    let pairs: string[] = [];\n    let keys: string[] = Object.keys(params);\n    keys.sort();\n    for (let i = 0; i < keys.length; i++) {\n      let key = keys[i];\n      let value = params[key];\n      if (value == null) {\n        continue;\n      }\n      let pair = encodeURIComponent(key);\n      if (isArray(value)) {\n        for (let j = 0; j < value.length; j++) {\n          let arrayPair = key + \"[]\" + \"=\" + encodeURIComponent(value[j]);\n          pairs.push(arrayPair);\n        }\n      } else {\n        pair += \"=\" + encodeURIComponent(value);\n        pairs.push(pair);\n      }\n    }\n\n    if (pairs.length === 0) { return \"\"; }\n\n    return \"?\" + pairs.join(\"&\");\n  }\n\n  parseQueryString(queryString: string): QueryParams {\n    let pairs = queryString.split(\"&\");\n    let queryParams: QueryParams = {};\n    for (let i = 0; i < pairs.length; i++) {\n      let pair      = pairs[i].split(\"=\"),\n          key       = decodeQueryParamPart(pair[0]),\n          keyLength = key.length,\n          isArray = false,\n          value;\n      if (pair.length === 1) {\n        value = \"true\";\n      } else {\n        // Handle arrays\n        if (keyLength > 2 && key.slice(keyLength - 2) === \"[]\") {\n          isArray = true;\n          key = key.slice(0, keyLength - 2);\n          if (!queryParams[key]) {\n            queryParams[key] = [];\n          }\n        }\n        value = pair[1] ? decodeQueryParamPart(pair[1]) : \"\";\n      }\n      if (isArray) {\n        (<string[]>queryParams[key]).push(value);\n      } else {\n        queryParams[key] = value;\n      }\n    }\n    return queryParams;\n  }\n\n  recognize(path: string): Results | undefined {\n    let results: Results | undefined;\n    let states: State[] = [ this.rootState ];\n    let queryParams = {};\n    let isSlashDropped = false;\n    let hashStart = path.indexOf(\"#\");\n    if (hashStart !== -1) {\n      path = path.substr(0, hashStart);\n    }\n\n    let queryStart = path.indexOf(\"?\");\n    if (queryStart !== -1) {\n      let queryString = path.substr(queryStart + 1, path.length);\n      path = path.substr(0, queryStart);\n      queryParams = this.parseQueryString(queryString);\n    }\n\n    if (path.charAt(0) !== \"/\") { path = \"/\" + path; }\n    let originalPath = path;\n\n    if (RouteRecognizer.ENCODE_AND_DECODE_PATH_SEGMENTS) {\n      path = normalizePath(path);\n    } else {\n      path = decodeURI(path);\n      originalPath = decodeURI(originalPath);\n    }\n\n    let pathLen = path.length;\n    if (pathLen > 1 && path.charAt(pathLen - 1) === \"/\") {\n      path = path.substr(0, pathLen - 1);\n      originalPath = originalPath.substr(0, originalPath.length - 1);\n      isSlashDropped = true;\n    }\n\n    for (let i = 0; i < path.length; i++) {\n      states = recognizeChar(states, path.charCodeAt(i));\n      if (!states.length) { break; }\n    }\n\n    let solutions: State[] = [];\n    for (let i = 0; i < states.length; i++) {\n      if (states[i].handlers) { solutions.push(states[i]); }\n    }\n\n    states = sortSolutions(solutions);\n\n    let state = solutions[0];\n\n    if (state && state.handlers) {\n      // if a trailing slash was dropped and a star segment is the last segment\n      // specified, put the trailing slash back\n      if (isSlashDropped && state.pattern && state.pattern.slice(-5) === \"(.+)$\") {\n        originalPath = originalPath + \"/\";\n      }\n      results = findHandler(state, originalPath, queryParams);\n    }\n\n    return results;\n  }\n}\n\nRouteRecognizer.prototype.map = map;\n\nexport default RouteRecognizer;\n\ninterface CharSpec {\n  negate: boolean;\n  char: number;\n}\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line no-undef\n  var S = Symbol();\n  var K = 'abcdefghijklmnopqrst';\n  A[S] = 7;\n  K.split('').forEach(function (k) { B[k] = k; });\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n  var T = toObject(target);\n  var aLen = arguments.length;\n  var index = 1;\n  var getSymbols = gOPS.f;\n  var isEnum = pIE.f;\n  while (aLen > index) {\n    var S = IObject(arguments[index++]);\n    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) {\n      key = keys[j++];\n      if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n    }\n  } return T;\n} : $assign;\n","'use strict';\nvar global = require('./_global');\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar validate = require('./_validate-collection');\nvar NATIVE_WEAK_MAP = require('./_validate-collection');\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar InternalMap;\n\nvar wrapper = function (get) {\n  return function WeakMap() {\n    return get(this, arguments.length > 0 ? arguments[0] : undefined);\n  };\n};\n\nvar methods = {\n  // 23.3.3.3 WeakMap.prototype.get(key)\n  get: function get(key) {\n    if (isObject(key)) {\n      var data = getWeak(key);\n      if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n      return data ? data[this._i] : undefined;\n    }\n  },\n  // 23.3.3.5 WeakMap.prototype.set(key, value)\n  set: function set(key, value) {\n    return weak.def(validate(this, WEAK_MAP), key, value);\n  }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (NATIVE_WEAK_MAP && IS_IE11) {\n  InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n  assign(InternalMap.prototype, methods);\n  meta.NEED = true;\n  each(['delete', 'has', 'get', 'set'], function (key) {\n    var proto = $WeakMap.prototype;\n    var method = proto[key];\n    redefine(proto, key, function (a, b) {\n      // store frozen objects on internal weakmap shim\n      if (isObject(a) && !isExtensible(a)) {\n        if (!this._f) this._f = new InternalMap();\n        var result = this._f[key](a, b);\n        return key == 'set' ? this : result;\n      // store all the rest on native weakmap\n      } return method.call(this, a, b);\n    });\n  });\n}\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of\nrequire('./_set-collection-of')('WeakMap');\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from\nrequire('./_set-collection-from')('WeakMap');\n","require('../modules/es6.object.to-string');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.weak-map');\nrequire('../modules/es7.weak-map.of');\nrequire('../modules/es7.weak-map.from');\nmodule.exports = require('../modules/_core').WeakMap;\n","module.exports = require(\"core-js/library/fn/weak-map\");","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n  // fast case\n  var index = fastKey(key);\n  var entry;\n  if (index !== 'F') return that._i[index];\n  // frozen object case\n  for (entry = that._f; entry; entry = entry.n) {\n    if (entry.k == key) return entry;\n  }\n};\n\nmodule.exports = {\n  getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n    var C = wrapper(function (that, iterable) {\n      anInstance(that, C, NAME, '_i');\n      that._t = NAME;         // collection type\n      that._i = create(null); // index\n      that._f = undefined;    // first entry\n      that._l = undefined;    // last entry\n      that[SIZE] = 0;         // size\n      if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n    });\n    redefineAll(C.prototype, {\n      // 23.1.3.1 Map.prototype.clear()\n      // 23.2.3.2 Set.prototype.clear()\n      clear: function clear() {\n        for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n          entry.r = true;\n          if (entry.p) entry.p = entry.p.n = undefined;\n          delete data[entry.i];\n        }\n        that._f = that._l = undefined;\n        that[SIZE] = 0;\n      },\n      // 23.1.3.3 Map.prototype.delete(key)\n      // 23.2.3.4 Set.prototype.delete(value)\n      'delete': function (key) {\n        var that = validate(this, NAME);\n        var entry = getEntry(that, key);\n        if (entry) {\n          var next = entry.n;\n          var prev = entry.p;\n          delete that._i[entry.i];\n          entry.r = true;\n          if (prev) prev.n = next;\n          if (next) next.p = prev;\n          if (that._f == entry) that._f = next;\n          if (that._l == entry) that._l = prev;\n          that[SIZE]--;\n        } return !!entry;\n      },\n      // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n      // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n      forEach: function forEach(callbackfn /* , that = undefined */) {\n        validate(this, NAME);\n        var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n        var entry;\n        while (entry = entry ? entry.n : this._f) {\n          f(entry.v, entry.k, this);\n          // revert to the last existing entry\n          while (entry && entry.r) entry = entry.p;\n        }\n      },\n      // 23.1.3.7 Map.prototype.has(key)\n      // 23.2.3.7 Set.prototype.has(value)\n      has: function has(key) {\n        return !!getEntry(validate(this, NAME), key);\n      }\n    });\n    if (DESCRIPTORS) dP(C.prototype, 'size', {\n      get: function () {\n        return validate(this, NAME)[SIZE];\n      }\n    });\n    return C;\n  },\n  def: function (that, key, value) {\n    var entry = getEntry(that, key);\n    var prev, index;\n    // change existing entry\n    if (entry) {\n      entry.v = value;\n    // create new entry\n    } else {\n      that._l = entry = {\n        i: index = fastKey(key, true), // <- index\n        k: key,                        // <- key\n        v: value,                      // <- value\n        p: prev = that._l,             // <- previous entry\n        n: undefined,                  // <- next entry\n        r: false                       // <- removed\n      };\n      if (!that._f) that._f = entry;\n      if (prev) prev.n = entry;\n      that[SIZE]++;\n      // add to index\n      if (index !== 'F') that._i[index] = entry;\n    } return that;\n  },\n  getEntry: getEntry,\n  setStrong: function (C, NAME, IS_MAP) {\n    // add .keys, .values, .entries, [@@iterator]\n    // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n    $iterDefine(C, NAME, function (iterated, kind) {\n      this._t = validate(iterated, NAME); // target\n      this._k = kind;                     // kind\n      this._l = undefined;                // previous\n    }, function () {\n      var that = this;\n      var kind = that._k;\n      var entry = that._l;\n      // revert to the last existing entry\n      while (entry && entry.r) entry = entry.p;\n      // get next entry\n      if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n        // or finish the iteration\n        that._t = undefined;\n        return step(1);\n      }\n      // return step by kind\n      if (kind == 'keys') return step(0, entry.k);\n      if (kind == 'values') return step(0, entry.v);\n      return step(0, [entry.k, entry.v]);\n    }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n    // add [@@species], 23.1.2.2, 23.2.2.2\n    setSpecies(NAME);\n  }\n};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n  return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n  // 23.1.3.6 Map.prototype.get(key)\n  get: function get(key) {\n    var entry = strong.getEntry(validate(this, MAP), key);\n    return entry && entry.v;\n  },\n  // 23.1.3.9 Map.prototype.set(key, value)\n  set: function set(key, value) {\n    return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n  }\n}, strong, true);\n","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar classof = require('./_classof');\nvar from = require('./_array-from-iterable');\nmodule.exports = function (NAME) {\n  return function toJSON() {\n    if (classof(this) != NAME) throw TypeError(NAME + \"#toJSON isn't generic\");\n    return from(this);\n  };\n};\n","var forOf = require('./_for-of');\n\nmodule.exports = function (iter, ITERATOR) {\n  var result = [];\n  forOf(iter, false, result.push, result, ITERATOR);\n  return result;\n};\n","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Map', { toJSON: require('./_collection-to-json')('Map') });\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of\nrequire('./_set-collection-of')('Map');\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from\nrequire('./_set-collection-from')('Map');\n","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.map');\nrequire('../modules/es7.map.to-json');\nrequire('../modules/es7.map.of');\nrequire('../modules/es7.map.from');\nmodule.exports = require('../modules/_core').Map;\n","var DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar toIObject = require('./_to-iobject');\nvar isEnum = require('./_object-pie').f;\nmodule.exports = function (isEntries) {\n  return function (it) {\n    var O = toIObject(it);\n    var keys = getKeys(O);\n    var length = keys.length;\n    var i = 0;\n    var result = [];\n    var key;\n    while (length > i) {\n      key = keys[i++];\n      if (!DESCRIPTORS || isEnum.call(O, key)) {\n        result.push(isEntries ? [key, O[key]] : O[key]);\n      }\n    }\n    return result;\n  };\n};\n","module.exports = require(\"core-js/library/fn/map\");","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n  values: function values(it) {\n    return $values(it);\n  }\n});\n","require('../../modules/es7.object.values');\nmodule.exports = require('../../modules/_core').Object.values;\n","module.exports = require(\"core-js/library/fn/object/values\");","import { ACTIONS } from '@pollyjs/utils';\nimport logLevel from 'loglevel';\n\nconst FORMATTED_ACTIONS = {\n  [ACTIONS.RECORD]: 'Recorded',\n  [ACTIONS.REPLAY]: 'Replayed',\n  [ACTIONS.INTERCEPT]: 'Intercepted',\n  [ACTIONS.PASSTHROUGH]: 'Passthrough'\n};\n\nexport default class Logger {\n  constructor(polly) {\n    this.polly = polly;\n    this.log = logLevel.getLogger(`@pollyjs/core:${this.polly.recordingName}`);\n\n    this.log.setLevel(polly.config.logLevel);\n  }\n\n  connect() {\n    this._middleware = this.polly.server\n      .any()\n      .on('error', (...args) => this.logRequestError(...args))\n      .on('request', (...args) => this.logRequest(...args))\n      .on('response', (...args) => this.logRequestResponse(...args));\n  }\n\n  disconnect() {\n    this._middleware.off('error');\n    this._middleware.off('response');\n  }\n\n  logRequest(request) {\n    const { log } = request;\n    const debug = log.getLevel() <= log.levels.DEBUG;\n\n    log.info(\n      `Request: ${request.method} ${request.url}`,\n      ...(debug ? [{ request }] : [])\n    );\n  }\n\n  logRequestResponse(request, response) {\n    const { log } = request;\n    const debug = log.getLevel() <= log.levels.DEBUG;\n\n    log.info(\n      `Response: ${FORMATTED_ACTIONS[request.action]} ➞ ${request.method} ${\n        request.url\n      } ${response.statusCode} • ${request.responseTime}ms`,\n      ...(debug ? [{ request, response }] : [])\n    );\n  }\n\n  logRequestError(request, error) {\n    const { log } = request;\n    const debug = log.getLevel() <= log.levels.DEBUG;\n\n    log.error(\n      `Errored ➞ ${request.method} ${request.url}`,\n      error,\n      ...(debug ? [{ request }] : [])\n    );\n  }\n}\n","import { assert } from '@pollyjs/utils';\n\nfunction keyFor(Factory) {\n  return `${Factory.type}:${Factory.id}`;\n}\n\nexport class Container {\n  constructor() {\n    this._registry = new Map();\n  }\n\n  /**\n   * Register a factory onto the container.\n   *\n   * @param {Function} Factory\n   */\n  register(Factory) {\n    assert(\n      `Attempted to register ${Factory} but invalid factory provided. Expected function, received: \"${typeof Factory}\"`,\n      typeof Factory === 'function'\n    );\n\n    const { type } = Factory;\n    const name = Factory.id;\n\n    assert(\n      `Invalid registration id provided. Expected string, received: \"${typeof name}\"`,\n      typeof name === 'string'\n    );\n\n    assert(\n      `Invalid registration type provided. Expected string, received: \"${typeof type}\"`,\n      typeof type === 'string'\n    );\n\n    this._registry.set(keyFor(Factory), Factory);\n  }\n\n  /**\n   * Unregister a factory from the container via a key (e.g. `adapter:fetch`)\n   * or Factory class.\n   *\n   * @param {String|Function} keyOrFactory\n   */\n  unregister(keyOrFactory) {\n    const { _registry: registry } = this;\n    const key =\n      typeof keyOrFactory === 'function' ? keyFor(keyOrFactory) : keyOrFactory;\n\n    registry.delete(key);\n  }\n\n  /**\n   * Lookup a factory by the given key (e.g. `adapter:fetch`)\n   *\n   * @param {String} key\n   * @returns {Function}\n   */\n  lookup(key) {\n    return this._registry.get(key) || null;\n  }\n\n  /**\n   * Check if a factory has been registered via a key (e.g. `adapter:fetch`)\n   * or Factory class.\n   *\n   * @param {String|Function} keyOrFactory\n   * @returns {Boolean}\n   */\n  has(keyOrFactory) {\n    const { _registry: registry } = this;\n    const key =\n      typeof keyOrFactory === 'function' ? keyFor(keyOrFactory) : keyOrFactory;\n\n    return registry.has(key);\n  }\n}\n","import { timeout } from '@pollyjs/utils';\n\nexport default {\n  fixed(ms) {\n    return () => timeout(ms);\n  },\n\n  relative(ratio) {\n    return (ms) => timeout(ratio * ms);\n  }\n};\n","import { MODES, EXPIRY_STRATEGIES } from '@pollyjs/utils';\nimport logLevel from 'loglevel';\n\nimport Timing from '../utils/timing';\n\nexport default {\n  mode: MODES.REPLAY,\n\n  adapters: [],\n  adapterOptions: {},\n\n  persister: null,\n  persisterOptions: {\n    keepUnusedRequests: false,\n    disableSortingHarEntries: false\n  },\n\n  logLevel: logLevel.levels.WARN,\n  flushRequestsOnStop: false,\n\n  recordIfMissing: true,\n  recordFailedRequests: false,\n\n  expiresIn: null,\n  expiryStrategy: EXPIRY_STRATEGIES.WARN,\n  timing: Timing.fixed(0),\n\n  matchRequestsBy: {\n    method: true,\n    headers: true,\n    body: true,\n    order: true,\n\n    url: {\n      protocol: true,\n      username: true,\n      password: true,\n      hostname: true,\n      port: true,\n      pathname: true,\n      query: true,\n      hash: false\n    }\n  }\n};\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n  return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import isAbsoluteUrl from 'is-absolute-url';\nimport { URL } from '@pollyjs/utils';\n\nimport removeHostFromUrl from './remove-host-from-url';\n\n/**\n * Creates an exact representation of the passed url string with url-parse.\n *\n * @param {String} url\n * @param {...args} args Arguments to pass through to the URL constructor\n * @returns {URL} A url-parse URL instance\n */\nexport default function parseUrl(url, ...args) {\n  const parsedUrl = new URL(url, ...args);\n\n  if (!isAbsoluteUrl(url)) {\n    if (url.startsWith('//')) {\n      /*\n        If the url is protocol-relative, strip out the protocol\n      */\n      parsedUrl.set('protocol', '');\n    } else {\n      /*\n        If the url is relative, setup the parsed url to reflect just that\n        by removing the host. By default URL sets the host via window.location if\n        it does not exist.\n      */\n      removeHostFromUrl(parsedUrl);\n    }\n  }\n\n  return parsedUrl;\n}\n","/**\n * Remove the host, protocol, and slashes from a URL instance.\n *\n * @param {URL} url\n */\nexport default function removeHostFromUrl(url) {\n  url.set('protocol', '');\n  url.set('host', '');\n  url.set('slashes', false);\n\n  return url;\n}\n","import isObjectLike from 'lodash-es/isObjectLike';\n\nconst { keys } = Object;\n\nconst HANDLER = {\n  get(obj, prop) {\n    // `prop` can be a Symbol so only lower-case string based props.\n    return obj[typeof prop === 'string' ? prop.toLowerCase() : prop];\n  },\n\n  set(obj, prop, value) {\n    if (typeof prop !== 'string') {\n      return false;\n    }\n\n    if (value === null || typeof value === 'undefined') {\n      delete obj[prop.toLowerCase()];\n    } else {\n      obj[prop.toLowerCase()] = value;\n    }\n\n    return true;\n  },\n\n  deleteProperty(obj, prop) {\n    if (typeof prop !== 'string') {\n      return false;\n    }\n\n    delete obj[prop.toLowerCase()];\n\n    return true;\n  }\n};\n\nexport default function HTTPHeaders(headers) {\n  const proxy = new Proxy({}, HANDLER);\n\n  if (isObjectLike(headers)) {\n    keys(headers).forEach((h) => (proxy[h] = headers[h]));\n  }\n\n  return proxy;\n}\n","import isObjectLike from 'lodash-es/isObjectLike';\nimport stringify from 'fast-json-stable-stringify';\n\nimport parseUrl from './parse-url';\nimport HTTPHeaders from './http-headers';\n\nconst { keys } = Object;\nconst { isArray } = Array;\nconst { parse } = JSON;\n\nfunction isFunction(fn) {\n  return typeof fn === 'function';\n}\n\nexport function method(method, config, req) {\n  return isFunction(config) ? config(method, req) : method.toUpperCase();\n}\n\nexport function url(url, config, req) {\n  let parsedUrl = parseUrl(url, true);\n\n  if (isFunction(config)) {\n    parsedUrl = parseUrl(config(url, req), true);\n  } else {\n    // Remove any url properties that have been disabled via the config\n    keys(config || {}).forEach((key) => {\n      if (isFunction(config[key])) {\n        parsedUrl.set(key, config[key](parsedUrl[key], req));\n      } else if (!config[key]) {\n        parsedUrl.set(key, '');\n      }\n    });\n  }\n\n  // Sort Query Params\n  if (isObjectLike(parsedUrl.query)) {\n    parsedUrl.set('query', parse(stringify(parsedUrl.query)));\n  }\n\n  return parsedUrl.href;\n}\n\nexport function headers(headers, config, req) {\n  const normalizedHeaders = new HTTPHeaders(headers);\n\n  if (isFunction(config)) {\n    return config(normalizedHeaders, req);\n  }\n\n  if (isObjectLike(config) && isArray(config.exclude)) {\n    config.exclude.forEach((header) => delete normalizedHeaders[header]);\n  }\n\n  return normalizedHeaders;\n}\n\nexport function body(body, config, req) {\n  return isFunction(config) ? config(body, req) : body;\n}\n\nexport default {\n  headers,\n  method,\n  body,\n  url\n};\n","import fnv1a from '@sindresorhus/fnv1a';\nimport slugify from 'slugify';\n\nfunction sanitize(str) {\n  // Strip non-alphanumeric chars (\\W is the equivalent of [^0-9a-zA-Z_])\n  return str.replace(/\\W/g, '-');\n}\n\nfunction guidFor(str) {\n  const hash = fnv1a(str).toString();\n  let slug = slugify(sanitize(str));\n\n  // Max the slug at 100 char\n  slug = slug.substring(0, 100 - hash.length - 1);\n\n  return `${slug}_${hash}`;\n}\n\nexport default function guidForRecording(recording) {\n  return (recording || '').split('/').map(guidFor).join('/');\n}\n","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', { isArray: require('./_is-array') });\n","require('../../modules/es6.array.is-array');\nmodule.exports = require('../../modules/_core').Array.isArray;\n","module.exports = require(\"core-js/library/fn/array/is-array\");","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n  return value === other || (value !== value && other !== other);\n}\n\nexport default eq;\n","import eq from './eq.js';\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n  var length = array.length;\n  while (length--) {\n    if (eq(array[length][0], key)) {\n      return length;\n    }\n  }\n  return -1;\n}\n\nexport default assocIndexOf;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  if (index < 0) {\n    return false;\n  }\n  var lastIndex = data.length - 1;\n  if (index == lastIndex) {\n    data.pop();\n  } else {\n    splice.call(data, index, 1);\n  }\n  --this.size;\n  return true;\n}\n\nexport default listCacheDelete;\n","import listCacheClear from './_listCacheClear.js';\nimport listCacheDelete from './_listCacheDelete.js';\nimport listCacheGet from './_listCacheGet.js';\nimport listCacheHas from './_listCacheHas.js';\nimport listCacheSet from './_listCacheSet.js';\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n  var index = -1,\n      length = entries == null ? 0 : entries.length;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nexport default ListCache;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n  this.__data__ = [];\n  this.size = 0;\n}\n\nexport default listCacheClear;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  return index < 0 ? undefined : data[index][1];\n}\n\nexport default listCacheGet;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n  return assocIndexOf(this.__data__, key) > -1;\n}\n\nexport default listCacheHas;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  if (index < 0) {\n    ++this.size;\n    data.push([key, value]);\n  } else {\n    data[index][1] = value;\n  }\n  return this;\n}\n\nexport default listCacheSet;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n  var isOwn = hasOwnProperty.call(value, symToStringTag),\n      tag = value[symToStringTag];\n\n  try {\n    value[symToStringTag] = undefined;\n    var unmasked = true;\n  } catch (e) {}\n\n  var result = nativeObjectToString.call(value);\n  if (unmasked) {\n    if (isOwn) {\n      value[symToStringTag] = tag;\n    } else {\n      delete value[symToStringTag];\n    }\n  }\n  return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n  return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n    undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n  if (value == null) {\n    return value === undefined ? undefinedTag : nullTag;\n  }\n  return (symToStringTag && symToStringTag in Object(value))\n    ? getRawTag(value)\n    : objectToString(value);\n}\n\nexport default baseGetTag;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n  var type = typeof value;\n  return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","import baseGetTag from './_baseGetTag.js';\nimport isObject from './isObject.js';\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n    funcTag = '[object Function]',\n    genTag = '[object GeneratorFunction]',\n    proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n  if (!isObject(value)) {\n    return false;\n  }\n  // The use of `Object#toString` avoids issues with the `typeof` operator\n  // in Safari 9 which returns 'object' for typed arrays and other constructors.\n  var tag = baseGetTag(value);\n  return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nexport default isFunction;\n","import root from './_root.js';\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nexport default coreJsData;\n","import coreJsData from './_coreJsData.js';\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n  var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n  return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n  return !!maskSrcKey && (maskSrcKey in func);\n}\n\nexport default isMasked;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n  if (func != null) {\n    try {\n      return funcToString.call(func);\n    } catch (e) {}\n    try {\n      return (func + '');\n    } catch (e) {}\n  }\n  return '';\n}\n\nexport default toSource;\n","import isFunction from './isFunction.js';\nimport isMasked from './_isMasked.js';\nimport isObject from './isObject.js';\nimport toSource from './_toSource.js';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n    objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n  funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n  .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n *  else `false`.\n */\nfunction baseIsNative(value) {\n  if (!isObject(value) || isMasked(value)) {\n    return false;\n  }\n  var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n  return pattern.test(toSource(value));\n}\n\nexport default baseIsNative;\n","import baseIsNative from './_baseIsNative.js';\nimport getValue from './_getValue.js';\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n  var value = getValue(object, key);\n  return baseIsNative(value) ? value : undefined;\n}\n\nexport default getNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n  return object == null ? undefined : object[key];\n}\n\nexport default getValue;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nexport default Map;\n","import getNative from './_getNative.js';\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nexport default nativeCreate;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n  var data = this.__data__;\n  if (nativeCreate) {\n    var result = data[key];\n    return result === HASH_UNDEFINED ? undefined : result;\n  }\n  return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nexport default hashGet;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n  var data = this.__data__;\n  return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nexport default hashHas;\n","import hashClear from './_hashClear.js';\nimport hashDelete from './_hashDelete.js';\nimport hashGet from './_hashGet.js';\nimport hashHas from './_hashHas.js';\nimport hashSet from './_hashSet.js';\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n  var index = -1,\n      length = entries == null ? 0 : entries.length;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nexport default Hash;\n","import isKeyable from './_isKeyable.js';\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n  var data = map.__data__;\n  return isKeyable(key)\n    ? data[typeof key == 'string' ? 'string' : 'hash']\n    : data.map;\n}\n\nexport default getMapData;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n  var type = typeof value;\n  return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n    ? (value !== '__proto__')\n    : (value === null);\n}\n\nexport default isKeyable;\n","import mapCacheClear from './_mapCacheClear.js';\nimport mapCacheDelete from './_mapCacheDelete.js';\nimport mapCacheGet from './_mapCacheGet.js';\nimport mapCacheHas from './_mapCacheHas.js';\nimport mapCacheSet from './_mapCacheSet.js';\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n  var index = -1,\n      length = entries == null ? 0 : entries.length;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nexport default MapCache;\n","import nativeCreate from './_nativeCreate.js';\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n  this.__data__ = nativeCreate ? nativeCreate(null) : {};\n  this.size = 0;\n}\n\nexport default hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n  var result = this.has(key) && delete this.__data__[key];\n  this.size -= result ? 1 : 0;\n  return result;\n}\n\nexport default hashDelete;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n  var data = this.__data__;\n  this.size += this.has(key) ? 0 : 1;\n  data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n  return this;\n}\n\nexport default hashSet;\n","import Hash from './_Hash.js';\nimport ListCache from './_ListCache.js';\nimport Map from './_Map.js';\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n  this.size = 0;\n  this.__data__ = {\n    'hash': new Hash,\n    'map': new (Map || ListCache),\n    'string': new Hash\n  };\n}\n\nexport default mapCacheClear;\n","import getMapData from './_getMapData.js';\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n  var result = getMapData(this, key)['delete'](key);\n  this.size -= result ? 1 : 0;\n  return result;\n}\n\nexport default mapCacheDelete;\n","import getMapData from './_getMapData.js';\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n  return getMapData(this, key).get(key);\n}\n\nexport default mapCacheGet;\n","import getMapData from './_getMapData.js';\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n  return getMapData(this, key).has(key);\n}\n\nexport default mapCacheHas;\n","import getMapData from './_getMapData.js';\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n  var data = getMapData(this, key),\n      size = data.size;\n\n  data.set(key, value);\n  this.size += data.size == size ? 0 : 1;\n  return this;\n}\n\nexport default mapCacheSet;\n","import ListCache from './_ListCache.js';\nimport stackClear from './_stackClear.js';\nimport stackDelete from './_stackDelete.js';\nimport stackGet from './_stackGet.js';\nimport stackHas from './_stackHas.js';\nimport stackSet from './_stackSet.js';\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n  var data = this.__data__ = new ListCache(entries);\n  this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nexport default Stack;\n","import ListCache from './_ListCache.js';\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n  this.__data__ = new ListCache;\n  this.size = 0;\n}\n\nexport default stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n  var data = this.__data__,\n      result = data['delete'](key);\n\n  this.size = data.size;\n  return result;\n}\n\nexport default stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n  return this.__data__.get(key);\n}\n\nexport default stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n  return this.__data__.has(key);\n}\n\nexport default stackHas;\n","import ListCache from './_ListCache.js';\nimport Map from './_Map.js';\nimport MapCache from './_MapCache.js';\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n  var data = this.__data__;\n  if (data instanceof ListCache) {\n    var pairs = data.__data__;\n    if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n      pairs.push([key, value]);\n      this.size = ++data.size;\n      return this;\n    }\n    data = this.__data__ = new MapCache(pairs);\n  }\n  data.set(key, value);\n  this.size = data.size;\n  return this;\n}\n\nexport default stackSet;\n","import getNative from './_getNative.js';\n\nvar defineProperty = (function() {\n  try {\n    var func = getNative(Object, 'defineProperty');\n    func({}, '', {});\n    return func;\n  } catch (e) {}\n}());\n\nexport default defineProperty;\n","import defineProperty from './_defineProperty.js';\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n  if (key == '__proto__' && defineProperty) {\n    defineProperty(object, key, {\n      'configurable': true,\n      'enumerable': true,\n      'value': value,\n      'writable': true\n    });\n  } else {\n    object[key] = value;\n  }\n}\n\nexport default baseAssignValue;\n","import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n  if ((value !== undefined && !eq(object[key], value)) ||\n      (value === undefined && !(key in object))) {\n    baseAssignValue(object, key, value);\n  }\n}\n\nexport default assignMergeValue;\n","import createBaseFor from './_createBaseFor.js';\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nexport default baseFor;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n  return function(object, iteratee, keysFunc) {\n    var index = -1,\n        iterable = Object(object),\n        props = keysFunc(object),\n        length = props.length;\n\n    while (length--) {\n      var key = props[fromRight ? length : ++index];\n      if (iteratee(iterable[key], key, iterable) === false) {\n        break;\n      }\n    }\n    return object;\n  };\n}\n\nexport default createBaseFor;\n","import root from './_root.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n    allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of  `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n  if (isDeep) {\n    return buffer.slice();\n  }\n  var length = buffer.length,\n      result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n  buffer.copy(result);\n  return result;\n}\n\nexport default cloneBuffer;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nexport default Uint8Array;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n  var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n  return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nexport default cloneTypedArray;\n","import Uint8Array from './_Uint8Array.js';\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n  var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n  new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n  return result;\n}\n\nexport default cloneArrayBuffer;\n","import isObject from './isObject.js';\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n  function object() {}\n  return function(proto) {\n    if (!isObject(proto)) {\n      return {};\n    }\n    if (objectCreate) {\n      return objectCreate(proto);\n    }\n    object.prototype = proto;\n    var result = new object;\n    object.prototype = undefined;\n    return result;\n  };\n}());\n\nexport default baseCreate;\n","import overArg from './_overArg.js';\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nexport default getPrototype;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n  return function(arg) {\n    return func(transform(arg));\n  };\n}\n\nexport default overArg;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n  var Ctor = value && value.constructor,\n      proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n  return value === proto;\n}\n\nexport default isPrototype;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n  return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nexport default baseIsArguments;\n","import baseIsArguments from './_baseIsArguments.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n *  else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n  return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n    !propertyIsEnumerable.call(value, 'callee');\n};\n\nexport default isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nexport default isArray;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n  return typeof value == 'number' &&\n    value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nexport default isLength;\n","import isFunction from './isFunction.js';\nimport isLength from './isLength.js';\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n  return value != null && isLength(value.length) && !isFunction(value);\n}\n\nexport default isArrayLike;\n","import root from './_root.js';\nimport stubFalse from './stubFalse.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nexport default isBuffer;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n  return false;\n}\n\nexport default stubFalse;\n","import baseGetTag from './_baseGetTag.js';\nimport getPrototype from './_getPrototype.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n    objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n *   this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n  if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n    return false;\n  }\n  var proto = getPrototype(value);\n  if (proto === null) {\n    return true;\n  }\n  var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n  return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n    funcToString.call(Ctor) == objectCtorString;\n}\n\nexport default isPlainObject;\n","import baseGetTag from './_baseGetTag.js';\nimport isLength from './isLength.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n    arrayTag = '[object Array]',\n    boolTag = '[object Boolean]',\n    dateTag = '[object Date]',\n    errorTag = '[object Error]',\n    funcTag = '[object Function]',\n    mapTag = '[object Map]',\n    numberTag = '[object Number]',\n    objectTag = '[object Object]',\n    regexpTag = '[object RegExp]',\n    setTag = '[object Set]',\n    stringTag = '[object String]',\n    weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n    dataViewTag = '[object DataView]',\n    float32Tag = '[object Float32Array]',\n    float64Tag = '[object Float64Array]',\n    int8Tag = '[object Int8Array]',\n    int16Tag = '[object Int16Array]',\n    int32Tag = '[object Int32Array]',\n    uint8Tag = '[object Uint8Array]',\n    uint8ClampedTag = '[object Uint8ClampedArray]',\n    uint16Tag = '[object Uint16Array]',\n    uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n  return isObjectLike(value) &&\n    isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nexport default baseIsTypedArray;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n  try {\n    // Use `util.types` for Node.js 10+.\n    var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n    if (types) {\n      return types;\n    }\n\n    // Legacy `process.binding('util')` for Node.js < 10.\n    return freeProcess && freeProcess.binding && freeProcess.binding('util');\n  } catch (e) {}\n}());\n\nexport default nodeUtil;\n","import baseIsTypedArray from './_baseIsTypedArray.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nexport default isTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n  return function(value) {\n    return func(value);\n  };\n}\n\nexport default baseUnary;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n  if (key === 'constructor' && typeof object[key] === 'function') {\n    return;\n  }\n\n  if (key == '__proto__') {\n    return;\n  }\n\n  return object[key];\n}\n\nexport default safeGet;\n","import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n  var objValue = object[key];\n  if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n      (value === undefined && !(key in object))) {\n    baseAssignValue(object, key, value);\n  }\n}\n\nexport default assignValue;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n  var type = typeof value;\n  length = length == null ? MAX_SAFE_INTEGER : length;\n\n  return !!length &&\n    (type == 'number' ||\n      (type != 'symbol' && reIsUint.test(value))) &&\n        (value > -1 && value % 1 == 0 && value < length);\n}\n\nexport default isIndex;\n","import baseTimes from './_baseTimes.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isIndex from './_isIndex.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n  var isArr = isArray(value),\n      isArg = !isArr && isArguments(value),\n      isBuff = !isArr && !isArg && isBuffer(value),\n      isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n      skipIndexes = isArr || isArg || isBuff || isType,\n      result = skipIndexes ? baseTimes(value.length, String) : [],\n      length = result.length;\n\n  for (var key in value) {\n    if ((inherited || hasOwnProperty.call(value, key)) &&\n        !(skipIndexes && (\n           // Safari 9 has enumerable `arguments.length` in strict mode.\n           key == 'length' ||\n           // Node.js 0.10 has enumerable non-index properties on buffers.\n           (isBuff && (key == 'offset' || key == 'parent')) ||\n           // PhantomJS 2 has enumerable non-index properties on typed arrays.\n           (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n           // Skip index properties.\n           isIndex(key, length)\n        ))) {\n      result.push(key);\n    }\n  }\n  return result;\n}\n\nexport default arrayLikeKeys;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n  var index = -1,\n      result = Array(n);\n\n  while (++index < n) {\n    result[index] = iteratee(index);\n  }\n  return result;\n}\n\nexport default baseTimes;\n","import isObject from './isObject.js';\nimport isPrototype from './_isPrototype.js';\nimport nativeKeysIn from './_nativeKeysIn.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n  if (!isObject(object)) {\n    return nativeKeysIn(object);\n  }\n  var isProto = isPrototype(object),\n      result = [];\n\n  for (var key in object) {\n    if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n      result.push(key);\n    }\n  }\n  return result;\n}\n\nexport default baseKeysIn;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n  var result = [];\n  if (object != null) {\n    for (var key in Object(object)) {\n      result.push(key);\n    }\n  }\n  return result;\n}\n\nexport default nativeKeysIn;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeysIn from './_baseKeysIn.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n *   this.a = 1;\n *   this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n  return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nexport default keysIn;\n","import copyObject from './_copyObject.js';\nimport keysIn from './keysIn.js';\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n *   this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n  return copyObject(value, keysIn(value));\n}\n\nexport default toPlainObject;\n","import assignValue from './_assignValue.js';\nimport baseAssignValue from './_baseAssignValue.js';\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n  var isNew = !object;\n  object || (object = {});\n\n  var index = -1,\n      length = props.length;\n\n  while (++index < length) {\n    var key = props[index];\n\n    var newValue = customizer\n      ? customizer(object[key], source[key], key, object, source)\n      : undefined;\n\n    if (newValue === undefined) {\n      newValue = source[key];\n    }\n    if (isNew) {\n      baseAssignValue(object, key, newValue);\n    } else {\n      assignValue(object, key, newValue);\n    }\n  }\n  return object;\n}\n\nexport default copyObject;\n","import assignMergeValue from './_assignMergeValue.js';\nimport cloneBuffer from './_cloneBuffer.js';\nimport cloneTypedArray from './_cloneTypedArray.js';\nimport copyArray from './_copyArray.js';\nimport initCloneObject from './_initCloneObject.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isArrayLikeObject from './isArrayLikeObject.js';\nimport isBuffer from './isBuffer.js';\nimport isFunction from './isFunction.js';\nimport isObject from './isObject.js';\nimport isPlainObject from './isPlainObject.js';\nimport isTypedArray from './isTypedArray.js';\nimport safeGet from './_safeGet.js';\nimport toPlainObject from './toPlainObject.js';\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n *  counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n  var objValue = safeGet(object, key),\n      srcValue = safeGet(source, key),\n      stacked = stack.get(srcValue);\n\n  if (stacked) {\n    assignMergeValue(object, key, stacked);\n    return;\n  }\n  var newValue = customizer\n    ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n    : undefined;\n\n  var isCommon = newValue === undefined;\n\n  if (isCommon) {\n    var isArr = isArray(srcValue),\n        isBuff = !isArr && isBuffer(srcValue),\n        isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n    newValue = srcValue;\n    if (isArr || isBuff || isTyped) {\n      if (isArray(objValue)) {\n        newValue = objValue;\n      }\n      else if (isArrayLikeObject(objValue)) {\n        newValue = copyArray(objValue);\n      }\n      else if (isBuff) {\n        isCommon = false;\n        newValue = cloneBuffer(srcValue, true);\n      }\n      else if (isTyped) {\n        isCommon = false;\n        newValue = cloneTypedArray(srcValue, true);\n      }\n      else {\n        newValue = [];\n      }\n    }\n    else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n      newValue = objValue;\n      if (isArguments(objValue)) {\n        newValue = toPlainObject(objValue);\n      }\n      else if (!isObject(objValue) || isFunction(objValue)) {\n        newValue = initCloneObject(srcValue);\n      }\n    }\n    else {\n      isCommon = false;\n    }\n  }\n  if (isCommon) {\n    // Recursively merge objects and arrays (susceptible to call stack limits).\n    stack.set(srcValue, newValue);\n    mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n    stack['delete'](srcValue);\n  }\n  assignMergeValue(object, key, newValue);\n}\n\nexport default baseMergeDeep;\n","import isArrayLike from './isArrayLike.js';\nimport isObjectLike from './isObjectLike.js';\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n *  else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n  return isObjectLike(value) && isArrayLike(value);\n}\n\nexport default isArrayLikeObject;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n  var index = -1,\n      length = source.length;\n\n  array || (array = Array(length));\n  while (++index < length) {\n    array[index] = source[index];\n  }\n  return array;\n}\n\nexport default copyArray;\n","import baseCreate from './_baseCreate.js';\nimport getPrototype from './_getPrototype.js';\nimport isPrototype from './_isPrototype.js';\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n  return (typeof object.constructor == 'function' && !isPrototype(object))\n    ? baseCreate(getPrototype(object))\n    : {};\n}\n\nexport default initCloneObject;\n","import Stack from './_Stack.js';\nimport assignMergeValue from './_assignMergeValue.js';\nimport baseFor from './_baseFor.js';\nimport baseMergeDeep from './_baseMergeDeep.js';\nimport isObject from './isObject.js';\nimport keysIn from './keysIn.js';\nimport safeGet from './_safeGet.js';\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n *  counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n  if (object === source) {\n    return;\n  }\n  baseFor(source, function(srcValue, key) {\n    stack || (stack = new Stack);\n    if (isObject(srcValue)) {\n      baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n    }\n    else {\n      var newValue = customizer\n        ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n        : undefined;\n\n      if (newValue === undefined) {\n        newValue = srcValue;\n      }\n      assignMergeValue(object, key, newValue);\n    }\n  }, keysIn);\n}\n\nexport default baseMerge;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n  return value;\n}\n\nexport default identity;\n","import apply from './_apply.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n  start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n  return function() {\n    var args = arguments,\n        index = -1,\n        length = nativeMax(args.length - start, 0),\n        array = Array(length);\n\n    while (++index < length) {\n      array[index] = args[start + index];\n    }\n    index = -1;\n    var otherArgs = Array(start + 1);\n    while (++index < start) {\n      otherArgs[index] = args[index];\n    }\n    otherArgs[start] = transform(array);\n    return apply(func, this, otherArgs);\n  };\n}\n\nexport default overRest;\n","import constant from './constant.js';\nimport defineProperty from './_defineProperty.js';\nimport identity from './identity.js';\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n  return defineProperty(func, 'toString', {\n    'configurable': true,\n    'enumerable': false,\n    'value': constant(string),\n    'writable': true\n  });\n};\n\nexport default baseSetToString;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n  return function() {\n    return value;\n  };\n}\n\nexport default constant;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n    HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n  var count = 0,\n      lastCalled = 0;\n\n  return function() {\n    var stamp = nativeNow(),\n        remaining = HOT_SPAN - (stamp - lastCalled);\n\n    lastCalled = stamp;\n    if (remaining > 0) {\n      if (++count >= HOT_COUNT) {\n        return arguments[0];\n      }\n    } else {\n      count = 0;\n    }\n    return func.apply(undefined, arguments);\n  };\n}\n\nexport default shortOut;\n","import baseSetToString from './_baseSetToString.js';\nimport shortOut from './_shortOut.js';\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nexport default setToString;\n","import identity from './identity.js';\nimport overRest from './_overRest.js';\nimport setToString from './_setToString.js';\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n  return setToString(overRest(func, start, identity), func + '');\n}\n\nexport default baseRest;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n  switch (args.length) {\n    case 0: return func.call(thisArg);\n    case 1: return func.call(thisArg, args[0]);\n    case 2: return func.call(thisArg, args[0], args[1]);\n    case 3: return func.call(thisArg, args[0], args[1], args[2]);\n  }\n  return func.apply(thisArg, args);\n}\n\nexport default apply;\n","import baseMerge from './_baseMerge.js';\nimport createAssigner from './_createAssigner.js';\n\n/**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n *   if (_.isArray(objValue)) {\n *     return objValue.concat(srcValue);\n *   }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\nvar mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n  baseMerge(object, source, srcIndex, customizer);\n});\n\nexport default mergeWith;\n","import baseRest from './_baseRest.js';\nimport isIterateeCall from './_isIterateeCall.js';\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n  return baseRest(function(object, sources) {\n    var index = -1,\n        length = sources.length,\n        customizer = length > 1 ? sources[length - 1] : undefined,\n        guard = length > 2 ? sources[2] : undefined;\n\n    customizer = (assigner.length > 3 && typeof customizer == 'function')\n      ? (length--, customizer)\n      : undefined;\n\n    if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n      customizer = length < 3 ? undefined : customizer;\n      length = 1;\n    }\n    object = Object(object);\n    while (++index < length) {\n      var source = sources[index];\n      if (source) {\n        assigner(object, source, index, customizer);\n      }\n    }\n    return object;\n  });\n}\n\nexport default createAssigner;\n","import eq from './eq.js';\nimport isArrayLike from './isArrayLike.js';\nimport isIndex from './_isIndex.js';\nimport isObject from './isObject.js';\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n *  else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n  if (!isObject(object)) {\n    return false;\n  }\n  var type = typeof index;\n  if (type == 'number'\n        ? (isArrayLike(object) && isIndex(index, object.length))\n        : (type == 'string' && index in object)\n      ) {\n    return eq(object[index], value);\n  }\n  return false;\n}\n\nexport default isIterateeCall;\n","import mergeWith from 'lodash-es/mergeWith';\n\nfunction customizer(objValue, srcValue, key) {\n  // Arrays and `context` options should just replace the existing value\n  // and not be deep merged.\n  if (Array.isArray(objValue) || ['context'].includes(key)) {\n    return srcValue;\n  }\n}\n\nexport default function mergeConfigs(...configs) {\n  return mergeWith({}, ...configs, customizer);\n}\n","import isObjectLike from 'lodash-es/isObjectLike';\nimport { assert } from '@pollyjs/utils';\n\nexport function validateRecordingName(name) {\n  assert(\n    `Invalid recording name provided. Expected string, received: \"${typeof name}\".`,\n    typeof name === 'string'\n  );\n\n  assert(\n    `Invalid recording name provided. Received An empty or blank string.`,\n    name.trim().length > 0\n  );\n}\n\nexport function validateRequestConfig(config) {\n  assert(\n    `Invalid config provided. Expected object, received: \"${typeof config}\".`,\n    isObjectLike(config) && !Array.isArray(config)\n  );\n\n  // The following options cannot be overridden on a per request basis\n  [\n    'mode',\n    'adapters',\n    'adapterOptions',\n    'persister',\n    'persisterOptions'\n  ].forEach((key) =>\n    assert(\n      `Invalid configuration option provided. The \"${key}\" option cannot be overridden using the server configuration API.`,\n      !(key in config)\n    )\n  );\n}\n\nexport function validateTimesOption(times) {\n  assert(\n    `Invalid number provided. Expected number, received: \"${typeof times}\".`,\n    typeof times === 'number'\n  );\n\n  assert(\n    `Invalid number provided. The number must be greater than 0, received \"${typeof times}\".`,\n    times > 0\n  );\n}\n","import stringify from 'fast-json-stable-stringify';\n\nimport HTTPHeaders from '../utils/http-headers';\n\nconst { freeze } = Object;\nconst { parse } = JSON;\n\nexport default class HTTPBase {\n  constructor() {\n    this.headers = new HTTPHeaders();\n  }\n\n  getHeader(name) {\n    return this.headers[name];\n  }\n\n  setHeader(name, value) {\n    this.headers[name] = value;\n\n    return this;\n  }\n\n  setHeaders(headers = {}) {\n    for (const name in headers) {\n      this.setHeader(name, headers[name]);\n    }\n\n    return this;\n  }\n\n  removeHeader(name) {\n    this.setHeader(name, null);\n\n    return this;\n  }\n\n  removeHeaders(headers = []) {\n    for (const name of headers) {\n      this.removeHeader(name);\n    }\n\n    return this;\n  }\n\n  hasHeader(name) {\n    return !!this.getHeader(name);\n  }\n\n  type(type) {\n    return this.setHeader('Content-Type', type);\n  }\n\n  send(data) {\n    let body = data;\n\n    switch (typeof body) {\n      case 'string':\n        // String defaulting to html\n        if (!this.hasHeader('Content-Type')) {\n          this.type('text/html');\n        }\n\n        break;\n      case 'boolean':\n      case 'number':\n      case 'object':\n        if (body === null) {\n          body = '';\n        } else {\n          return this.json(body);\n        }\n\n        break;\n    }\n\n    if (typeof body === 'string') {\n      const contentType = this.getHeader('Content-Type');\n\n      // Write strings in utf-8\n      if (contentType && !contentType.includes('charset')) {\n        this.type(`${contentType}; charset=utf-8`);\n      }\n    }\n\n    this.body = body;\n\n    return this;\n  }\n\n  json(obj) {\n    if (!this.hasHeader('Content-Type')) {\n      this.type('application/json');\n    }\n\n    return this.send(stringify(obj));\n  }\n\n  jsonBody() {\n    return parse(this.body);\n  }\n\n  end() {\n    freeze(this);\n    freeze(this.headers);\n\n    return this;\n  }\n}\n","var $parseInt = require('./_global').parseInt;\nvar $trim = require('./_string-trim').trim;\nvar ws = require('./_string-ws');\nvar hex = /^[-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {\n  var string = $trim(String(str), 3);\n  return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;\n","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });\n","require('../modules/es6.parse-int');\nmodule.exports = require('../modules/_core').parseInt;\n","module.exports = require(\"core-js/library/fn/parse-int\");","import { assert, HTTP_STATUS_CODES } from '@pollyjs/utils';\n\nimport HTTPBase from './http-base';\n\nconst DEFAULT_STATUS_CODE = 200;\n\nexport default class PollyResponse extends HTTPBase {\n  constructor(statusCode, headers, body, encoding) {\n    super();\n    this.status(statusCode || DEFAULT_STATUS_CODE);\n    this.setHeaders(headers);\n    this.body = body;\n    this.encoding = encoding;\n  }\n\n  get ok() {\n    return this.statusCode && this.statusCode >= 200 && this.statusCode < 300;\n  }\n\n  get statusText() {\n    return (\n      HTTP_STATUS_CODES[this.statusCode] ||\n      HTTP_STATUS_CODES[DEFAULT_STATUS_CODE]\n    );\n  }\n\n  status(statusCode) {\n    const status = parseInt(statusCode, 10);\n\n    assert(\n      `[Response] Invalid status code: ${status}`,\n      status >= 100 && status < 600\n    );\n\n    this.statusCode = status;\n\n    return this;\n  }\n\n  sendStatus(status) {\n    this.status(status);\n    this.type('text/plain');\n\n    return this.send(this.statusText);\n  }\n}\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n  return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n  // 23.2.3.1 Set.prototype.add(value)\n  add: function add(value) {\n    return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n  }\n}, strong);\n","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Set', { toJSON: require('./_collection-to-json')('Set') });\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-set.of\nrequire('./_set-collection-of')('Set');\n","// https://tc39.github.io/proposal-setmap-offrom/#sec-set.from\nrequire('./_set-collection-from')('Set');\n","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.set');\nrequire('../modules/es7.set.to-json');\nrequire('../modules/es7.set.of');\nrequire('../modules/es7.set.from');\nmodule.exports = require('../modules/_core').Set;\n","module.exports = require(\"core-js/library/fn/set\");","/**\n * Create a function that will execute the given fn and call the cancel\n * callback after being called n times.\n *\n * @export\n * @param {Function} fn\n * @param {Number} nTimes\n * @param {Function} cancel\n * @returns\n */\nexport default function cancelFnAfterNTimes(fn, nTimes, cancel) {\n  let callCount = 0;\n\n  return function (...args) {\n    if (++callCount >= nTimes) {\n      cancel();\n    }\n\n    return fn(...args);\n  };\n}\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n","module.exports = require(\"core-js/library/fn/object/assign\");","import { assert } from '@pollyjs/utils';\n\nconst STOP_PROPAGATION = Symbol();\n\nexport default class Event {\n  constructor(type, props) {\n    assert(\n      `Invalid type provided. Expected a non-empty string, received: \"${typeof type}\".`,\n      type && typeof type === 'string'\n    );\n\n    Object.defineProperty(this, 'type', { value: type });\n    // eslint-disable-next-line no-restricted-properties\n    Object.assign(this, props || {});\n\n    this[STOP_PROPAGATION] = false;\n  }\n\n  stopPropagation() {\n    this[STOP_PROPAGATION] = true;\n  }\n\n  get shouldStopPropagating() {\n    return this[STOP_PROPAGATION];\n  }\n}\n","import { assert } from '@pollyjs/utils';\nimport isObjectLike from 'lodash-es/isObjectLike';\n\nimport cancelFnAfterNTimes from '../utils/cancel-fn-after-n-times';\nimport { validateTimesOption } from '../utils/validators';\n\nimport Event from './event';\n\nconst EVENTS = Symbol();\nconst EVENT_NAMES = Symbol();\n\nfunction assertEventName(eventName, eventNames) {\n  assert(\n    `Invalid event name provided. Expected string, received: \"${typeof eventName}\".`,\n    typeof eventName === 'string'\n  );\n\n  assert(\n    `Invalid event name provided: \"${eventName}\". Possible events: ${[\n      ...eventNames\n    ].join(', ')}.`,\n    eventNames.has(eventName)\n  );\n}\n\nfunction assertListener(listener) {\n  assert(\n    `Invalid listener provided. Expected function, received: \"${typeof listener}\".`,\n    typeof listener === 'function'\n  );\n}\n\nexport default class EventEmitter {\n  /**\n   * @constructor\n   * @param {Object} options\n   * @param {String[]} options.eventNames - Supported events\n   */\n  constructor(options = {}) {\n    const { eventNames } = options;\n\n    assert(\n      'An array of supported events must be provided via the `eventNames` option.',\n      Array.isArray(eventNames) && eventNames.length > 0\n    );\n\n    this[EVENTS] = new Map();\n    this[EVENT_NAMES] = new Set(eventNames);\n  }\n\n  /**\n   * Returns an array listing the events for which the emitter has\n   * registered listeners\n   *\n   * @returns {String[]}\n   */\n  eventNames() {\n    const eventNames = [];\n\n    this[EVENTS].forEach(\n      (_, eventName) =>\n        this.hasListeners(eventName) && eventNames.push(eventName)\n    );\n\n    return eventNames;\n  }\n\n  /**\n   * Adds the `listener` function to the end of the listeners array for the\n   * event named `eventName`\n   *\n   * @param {String} eventName - The name of the event\n   * @param {Function} listener - The callback function\n   * @param {Object} [options={}]\n   * @param {Number} options.times - listener will be cancelled after this many times\n   * @returns {EventEmitter}\n   */\n  on(eventName, listener, options = {}) {\n    assertEventName(eventName, this[EVENT_NAMES]);\n    assertListener(listener);\n\n    const events = this[EVENTS];\n    const { times } = options;\n\n    if (!events.has(eventName)) {\n      events.set(eventName, new Set());\n    }\n\n    if (times) {\n      validateTimesOption(times);\n\n      const tempListener = cancelFnAfterNTimes(listener, times, () =>\n        this.off(eventName, tempListener)\n      );\n\n      /*\n        Remove any existing listener or tempListener that match this one.\n\n        For example, if the following would get called:\n          this.on('request', listener);\n          this.on('request', listener, { times: 1 });\n\n        We want to make sure that there is only one instance of the given\n        listener for the given event.\n      */\n      this.off(eventName, listener);\n\n      // Save the original listener on the temp one so we can easily match it\n      // given the original.\n      tempListener.listener = listener;\n      listener = tempListener;\n    }\n\n    events.get(eventName).add(listener);\n\n    return this;\n  }\n\n  /**\n   * Adds a one-time `listener` function for the event named `eventName`.\n   * The next time `eventName` is triggered, this listener is removed and\n   * then invoked.\n   *\n   * @param {String} eventName - The name of the event\n   * @param {Function} listener - The callback function\n   * @param {Object} [options={}]\n   * @returns {EventEmitter}\n   */\n  once(eventName, listener, options = {}) {\n    this.on(eventName, listener, { ...options, times: 1 });\n\n    return this;\n  }\n\n  /**\n   * Removes the specified `listener` from the listener array for\n   * the event named `eventName`. If `listener` is not provided then it removes\n   * all listeners, or those of the specified `eventName`.\n   *\n   * @param {String} eventName - The name of the event\n   * @param {Function} [listener] - The callback function\n   * @returns {EventEmitter}\n   */\n  off(eventName, listener) {\n    assertEventName(eventName, this[EVENT_NAMES]);\n\n    const events = this[EVENTS];\n\n    if (this.hasListeners(eventName)) {\n      if (typeof listener === 'function') {\n        events.get(eventName).delete(listener);\n\n        // Remove any temp listeners that use the provided listener\n        this.listeners(eventName).forEach((l) => {\n          if (l.listener === listener) {\n            events.get(eventName).delete(l);\n          }\n        });\n      } else {\n        events.get(eventName).clear(eventName);\n      }\n    }\n\n    return this;\n  }\n\n  /**\n   * Returns a copy of the array of listeners for the event named `eventName`.\n   *\n   * @param {String} eventName - The name of the event\n   * @returns {Function[]}\n   */\n  listeners(eventName) {\n    assertEventName(eventName, this[EVENT_NAMES]);\n\n    return this.hasListeners(eventName) ? [...this[EVENTS].get(eventName)] : [];\n  }\n\n  /**\n   * Returns `true` if there are any listeners for the event named `eventName`\n   * or `false` otherwise.\n   *\n   * @param {String} eventName - The name of the event\n   * @returns {Boolean}\n   */\n  hasListeners(eventName) {\n    assertEventName(eventName, this[EVENT_NAMES]);\n\n    const events = this[EVENTS];\n\n    return events.has(eventName) && events.get(eventName).size > 0;\n  }\n\n  /**\n   * Asynchronously calls each of the `listeners` registered for the event named\n   * `eventName`, in the order they were registered, passing the supplied\n   * arguments to each.\n   *\n   * Returns a promise that will resolve to `false` if a listener stopped\n   * propagation, `true` otherwise.\n   *\n   * @async\n   * @param {String} eventName - The name of the event\n   * @param {any} ...args - The arguments to pass to the listeners\n   * @returns {Promise<Boolean>}\n   */\n  async emit(eventName, ...args) {\n    assertEventName(eventName, this[EVENT_NAMES]);\n\n    const event = new Event(eventName);\n\n    for (const listener of this.listeners(eventName)) {\n      await listener(...args, event);\n\n      if (event.shouldStopPropagating) {\n        return false;\n      }\n    }\n\n    return true;\n  }\n\n  /**\n   * Asynchronously and concurrently calls each of the `listeners` registered\n   * for the event named `eventName`, in the order they were registered,\n   * passing the supplied arguments to each.\n   *\n   * Returns a promise that will resolve to `false` if a listener stopped\n   * propagation, `true` otherwise.\n   *\n   * @async\n   * @param {String} eventName - The name of the event\n   * @param {any} ...args - The arguments to pass to the listeners\n   * @returns {Promise<Boolean>}\n   */\n  async emitParallel(eventName, ...args) {\n    assertEventName(eventName, this[EVENT_NAMES]);\n\n    const event = new Event(eventName);\n\n    await Promise.all(\n      this.listeners(eventName).map((listener) => listener(...args, event))\n    );\n\n    if (event.shouldStopPropagating) {\n      return false;\n    }\n\n    return true;\n  }\n\n  /**\n   * Synchronously calls each of the `listeners` registered for the event named\n   * `eventName`, in the order they were registered, passing the supplied\n   * arguments to each.\n   *\n   * Throws if a listener's return value is promise-like.\n   *\n   * Returns`false` if a listener stopped propagation, `true` otherwise.\n   *\n   * @param {String} eventName - The name of the event\n   * @param {any} ...args - The arguments to pass to the listeners\n   * @returns {Boolean}\n   */\n  emitSync(eventName, ...args) {\n    assertEventName(eventName, this[EVENT_NAMES]);\n\n    const event = new Event(eventName);\n\n    for (const listener of this.listeners(eventName)) {\n      const returnValue = listener(...args, event);\n\n      assert(\n        `Attempted to emit a synchronous event \"${eventName}\" but an asynchronous listener was called.`,\n        !(isObjectLike(returnValue) && typeof returnValue.then === 'function')\n      );\n\n      if (event.shouldStopPropagating) {\n        return false;\n      }\n    }\n\n    return true;\n  }\n}\n","import Event from './event';\n\nconst ABORT = Symbol();\nconst PASSTHROUGH = Symbol();\n\nfunction setDefaults(interceptor) {\n  interceptor[ABORT] = false;\n  interceptor[PASSTHROUGH] = false;\n}\n\nexport default class Interceptor extends Event {\n  constructor() {\n    super('intercept');\n    setDefaults(this);\n  }\n\n  abort() {\n    setDefaults(this);\n    this[ABORT] = true;\n  }\n\n  passthrough() {\n    setDefaults(this);\n    this[PASSTHROUGH] = true;\n  }\n\n  get shouldAbort() {\n    return this[ABORT];\n  }\n\n  get shouldPassthrough() {\n    return this[PASSTHROUGH];\n  }\n\n  get shouldIntercept() {\n    return !this.shouldAbort && !this.shouldPassthrough;\n  }\n}\n","import md5 from 'blueimp-md5';\nimport stringify from 'fast-json-stable-stringify';\nimport isAbsoluteUrl from 'is-absolute-url';\nimport { URL, assert, timestamp } from '@pollyjs/utils';\nimport logLevel from 'loglevel';\n\nimport NormalizeRequest from '../utils/normalize-request';\nimport parseUrl from '../utils/parse-url';\nimport guidForRecording from '../utils/guid-for-recording';\nimport mergeConfigs from '../utils/merge-configs';\nimport defer from '../utils/deferred-promise';\nimport {\n  validateRecordingName,\n  validateRequestConfig\n} from '../utils/validators';\n\nimport HTTPBase from './http-base';\nimport PollyResponse from './response';\nimport EventEmitter from './event-emitter';\nimport Interceptor from './interceptor';\n\nconst { keys, freeze } = Object;\n\nconst ROUTE = Symbol();\nconst POLLY = Symbol();\nconst PARSED_URL = Symbol();\nconst EVENT_EMITTER = Symbol();\n\nconst SUPPORTED_EVENTS = ['identify'];\n\nexport default class PollyRequest extends HTTPBase {\n  constructor(polly, request) {\n    super();\n\n    assert('Url is required.', request.url);\n    assert(\n      'Method is required.',\n      request.method && typeof request.method === 'string'\n    );\n\n    this.didRespond = false;\n    this.aborted = false;\n    this.url = request.url;\n    this.method = request.method.toUpperCase();\n    this.body = request.body;\n    this.setHeaders(request.headers);\n    this.recordingName = polly.recordingName;\n    this.recordingId = polly.recordingId;\n    this.requestArguments = freeze(request.requestArguments);\n    this.promise = defer();\n    this[POLLY] = polly;\n    this[EVENT_EMITTER] = new EventEmitter({ eventNames: SUPPORTED_EVENTS });\n\n    /*\n      The action taken with this request (e.g. record, replay, intercept, or passthrough)\n      This will be set by the adapter.\n    */\n    this.action = null;\n\n    // Interceptor instance to be passed to each of the intercept handlers\n    this._interceptor = new Interceptor();\n\n    // Lookup the associated route for this request\n    this[ROUTE] = polly.server.lookup(this.method, this.url);\n\n    // Filter all matched route handlers by this request\n    this[ROUTE].applyFiltersWithArgs(this);\n\n    // Handle config overrides defined by the route\n    this.configure(this[ROUTE].config());\n\n    // Handle recording name override defined by the route\n    const recordingName = this[ROUTE].recordingName();\n\n    if (recordingName) {\n      this.overrideRecordingName(recordingName);\n    }\n  }\n\n  get url() {\n    // Use .toString() to force a rebuild of the url. This guarantees that\n    // Any changes to the query object get propagated.\n    return this[PARSED_URL].toString();\n  }\n\n  set url(value) {\n    // Make sure to coerce the value into a string as the passed value could be\n    // a WHATWG's URL object.\n    this[PARSED_URL] = parseUrl(`${value}`, true);\n  }\n\n  get absoluteUrl() {\n    const { url } = this;\n\n    return isAbsoluteUrl(url) ? url : new URL(url).href;\n  }\n\n  get protocol() {\n    return this[PARSED_URL].protocol;\n  }\n\n  get hostname() {\n    return this[PARSED_URL].hostname;\n  }\n\n  get port() {\n    return this[PARSED_URL].port;\n  }\n\n  get origin() {\n    return this[PARSED_URL].origin;\n  }\n\n  get pathname() {\n    return this[PARSED_URL].pathname;\n  }\n\n  get query() {\n    return this[PARSED_URL].query;\n  }\n\n  set query(value) {\n    this[PARSED_URL].set('query', value);\n  }\n\n  get hash() {\n    return this[PARSED_URL].hash;\n  }\n\n  set hash(value) {\n    this[PARSED_URL].set('hash', value);\n  }\n\n  get shouldPassthrough() {\n    return this[ROUTE].shouldPassthrough();\n  }\n\n  get shouldIntercept() {\n    return this[ROUTE].shouldIntercept();\n  }\n\n  get log() {\n    if (this.id) {\n      const log = logLevel.getLogger(\n        `@pollyjs/core:${this.recordingName}:${this.id}`\n      );\n\n      log.setLevel(this.config.logLevel);\n\n      return log;\n    } else {\n      return this[POLLY].logger.log;\n    }\n  }\n\n  on(eventName, listener) {\n    this[EVENT_EMITTER].on(eventName, listener);\n\n    return this;\n  }\n\n  once(eventName, listener) {\n    this[EVENT_EMITTER].once(eventName, listener);\n\n    return this;\n  }\n\n  off(eventName, listener) {\n    this[EVENT_EMITTER].off(eventName, listener);\n\n    return this;\n  }\n\n  async init() {\n    // Trigger the `request` event\n    await this._emit('request');\n\n    // Setup the response\n    this.response = new PollyResponse();\n    this.didRespond = false;\n\n    // Setup this request's identifiers, id, and order\n    await this._identify();\n\n    // Timestamp the request\n    this.timestamp = timestamp();\n  }\n\n  async respond(response) {\n    const { statusCode, headers, body, encoding } = response || {};\n\n    assert(\n      'Cannot respond to a request that already has a response.',\n      !this.didRespond\n    );\n\n    if (this.aborted) {\n      return;\n    }\n\n    // Timestamp the response\n    this.response.timestamp = timestamp();\n\n    // Set the status code\n    this.response.status(statusCode);\n\n    // Se the headers\n    this.response.setHeaders(headers);\n\n    // Set the body without modifying any headers (instead of using .send())\n    this.response.body = body;\n\n    this.response.encoding = encoding;\n\n    // Trigger the `beforeResponse` event\n    await this._emit('beforeResponse', this.response);\n\n    // End the response so it can no longer be modified\n    this.response.end();\n\n    this.responseTime =\n      new Date(this.response.timestamp).getTime() -\n      new Date(this.timestamp).getTime();\n\n    this.didRespond = true;\n\n    this.end();\n\n    // Trigger the `response` event\n    await this._emit('response', this.response);\n  }\n\n  abort() {\n    this.aborted = true;\n  }\n\n  overrideRecordingName(recordingName) {\n    validateRecordingName(recordingName);\n    this.recordingName = recordingName;\n    this.recordingId = guidForRecording(recordingName);\n  }\n\n  configure(config) {\n    validateRequestConfig(config);\n    this.config = mergeConfigs(this[POLLY].config, this.config || {}, config);\n  }\n\n  _intercept() {\n    return this[ROUTE].intercept(this, this.response, ...arguments);\n  }\n\n  _emit(eventName, ...args) {\n    return this[ROUTE].emit(eventName, this, ...args);\n  }\n\n  async _identify() {\n    const polly = this[POLLY];\n    const { _requests: requests } = polly;\n    const { matchRequestsBy } = this.config;\n\n    this.identifiers = {};\n\n    // Iterate through each normalizer\n    keys(NormalizeRequest).forEach((key) => {\n      if (this[key] && matchRequestsBy[key]) {\n        this.identifiers[key] = NormalizeRequest[key](\n          this[key],\n          matchRequestsBy[key],\n          this\n        );\n      }\n    });\n\n    // Emit the `identify` event which adapters can use to serialize the request body\n    await this[EVENT_EMITTER].emit('identify', this);\n\n    // Freeze the identifiers so they can no longer be modified\n    freeze(this.identifiers);\n\n    // Guid is a string representation of the identifiers\n    this.id = md5(stringify(this.identifiers));\n\n    // Order is calculated on other requests with the same id and recording id\n    // Only requests before this current one are taken into account.\n    this.order =\n      matchRequestsBy.order && !this.shouldPassthrough && !this.shouldIntercept\n        ? requests\n            .slice(0, requests.indexOf(this))\n            .filter(\n              (r) => r.id === this.id && r.recordingId === this.recordingId\n            ).length\n        : 0;\n\n    this.log.debug('Request Identified:', {\n      id: this.id,\n      order: this.order,\n      identifiers: this.identifiers,\n      request: this\n    });\n  }\n}\n","/**\n * Create a deferred promise with `resolve` and `reject` methods.\n */\nexport default function defer() {\n  let _resolve;\n  let _reject;\n\n  const promise = new Promise((resolve, reject) => {\n    _resolve = resolve;\n    _reject = reject;\n  });\n\n  // Prevent unhandled rejection warnings\n  promise.catch(() => {});\n\n  promise.resolve = _resolve;\n  promise.reject = _reject;\n\n  return promise;\n}\n","import isArray from './isArray.js';\n\n/**\n * Casts `value` as an array if it's not one.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Lang\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast array.\n * @example\n *\n * _.castArray(1);\n * // => [1]\n *\n * _.castArray({ 'a': 1 });\n * // => [{ 'a': 1 }]\n *\n * _.castArray('abc');\n * // => ['abc']\n *\n * _.castArray(null);\n * // => [null]\n *\n * _.castArray(undefined);\n * // => [undefined]\n *\n * _.castArray();\n * // => []\n *\n * var array = [1, 2, 3];\n * console.log(_.castArray(array) === array);\n * // => true\n */\nfunction castArray() {\n  if (!arguments.length) {\n    return [];\n  }\n  var value = arguments[0];\n  return isArray(value) ? value : [value];\n}\n\nexport default castArray;\n","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\n\nfunction get(target, propertyKey /* , receiver */) {\n  var receiver = arguments.length < 3 ? target : arguments[2];\n  var desc, proto;\n  if (anObject(target) === receiver) return target[propertyKey];\n  if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')\n    ? desc.value\n    : desc.get !== undefined\n      ? desc.get.call(receiver)\n      : undefined;\n  if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', { get: get });\n","require('../../modules/es6.reflect.get');\nmodule.exports = require('../../modules/_core').Reflect.get;\n","module.exports = require(\"core-js/library/fn/reflect/get\");","import mergeConfigs from '../utils/merge-configs';\n\nconst HANDLERS = Symbol();\n\nfunction requestWithParams(req, { params }) {\n  return new Proxy(req, {\n    set(source, prop, value) {\n      /* NOTE: IE's `Reflect.set` swallows the read-only assignment error */\n      /* see: https://codepen.io/jasonmit/pen/LrmLaz */\n      source[prop] = value;\n\n      return true;\n    },\n    get(source, prop) {\n      if (prop === 'params') {\n        // Set the request's params to given route's matched params\n        return { ...params };\n      }\n\n      return Reflect.get(source, prop);\n    }\n  });\n}\n\nexport default class Route {\n  /**\n   *\n   * @param {RecognizeResults} recognizeResults\n   * @param {Array<Route>} middleware\n   */\n  constructor(recognizeResults, middleware) {\n    const result = recognizeResults && recognizeResults[0];\n\n    this.params = {};\n    this.queryParams = {};\n    this.handlers = [];\n    this.middleware = middleware || [];\n\n    if (result) {\n      this.handlers = result.handler;\n      this.params = { ...result.params };\n      this.queryParams = recognizeResults.queryParams;\n    }\n\n    this[HANDLERS] = this._orderedHandlers();\n  }\n\n  shouldPassthrough() {\n    return Boolean(this._valueFor('passthrough'));\n  }\n\n  shouldIntercept() {\n    return Boolean(this._valueFor('intercept'));\n  }\n\n  recordingName() {\n    return this._valueFor('recordingName') || null;\n  }\n\n  config() {\n    return mergeConfigs(\n      ...this[HANDLERS].map(({ handler }) => handler.get('config'))\n    );\n  }\n\n  applyFiltersWithArgs(req, ...args) {\n    this[HANDLERS] = this[HANDLERS].filter(({ route, handler }) =>\n      [...handler.get('filters')].every((fn) =>\n        fn(requestWithParams(req, route), ...args)\n      )\n    );\n  }\n\n  /**\n   * Invokes the intercept handlers defined on the routes + middleware.\n   * @param {PollyRequest} req\n   * @param {PollyResponse} res\n   * @param {Interceptor} interceptor\n   */\n  async intercept(req, res, interceptor) {\n    for (const { route, handler } of this[HANDLERS]) {\n      if (!interceptor.shouldIntercept || interceptor.shouldStopPropagating) {\n        return;\n      }\n\n      if (handler.has('intercept')) {\n        await handler.get('intercept')(\n          requestWithParams(req, route),\n          res,\n          interceptor\n        );\n      }\n    }\n  }\n\n  /**\n   * Emit an event registered on the handler + all middleware handler events\n   * @param {String} eventName\n   * @param {PollyRequest} req\n   * @param {...args} ...args\n   */\n  async emit(eventName, req, ...args) {\n    for (const { route, handler } of this[HANDLERS]) {\n      const shouldContinue = await handler._eventEmitter.emit(\n        eventName,\n        requestWithParams(req, route),\n        ...args\n      );\n\n      if (!shouldContinue) {\n        return;\n      }\n    }\n  }\n\n  _orderedHandlers() {\n    return [...this.middleware, this].reduce((handlers, route) => {\n      handlers.push(...route.handlers.map((handler) => ({ route, handler })));\n\n      return handlers;\n    }, []);\n  }\n\n  _valueFor(key) {\n    let value;\n\n    for (const { handler } of this[HANDLERS]) {\n      if (handler.has(key)) {\n        value = handler.get(key);\n      }\n    }\n\n    return value;\n  }\n}\n","import { assert } from '@pollyjs/utils';\n\nimport EventEmitter from '../-private/event-emitter';\nimport cancelFnAfterNTimes from '../utils/cancel-fn-after-n-times';\nimport {\n  validateTimesOption,\n  validateRecordingName,\n  validateRequestConfig\n} from '../utils/validators';\n\nexport default class Handler extends Map {\n  constructor() {\n    super();\n\n    this.set('config', {});\n    this.set('defaultOptions', {});\n    this.set('filters', new Set());\n\n    this._eventEmitter = new EventEmitter({\n      eventNames: [\n        'error',\n        'abort',\n        'request',\n        'beforeReplay',\n        'beforePersist',\n        'beforeResponse',\n        'response'\n      ]\n    });\n  }\n\n  on(eventName, listener, options = {}) {\n    this._eventEmitter.on(eventName, listener, {\n      ...this.get('defaultOptions'),\n      ...options\n    });\n\n    return this;\n  }\n\n  once(eventName, listener) {\n    this._eventEmitter.once(eventName, listener);\n\n    return this;\n  }\n\n  off(eventName, listener) {\n    this._eventEmitter.off(eventName, listener);\n\n    return this;\n  }\n\n  passthrough(value = true) {\n    this.set('passthrough', Boolean(value));\n\n    if (this.get('passthrough')) {\n      this.delete('intercept');\n    }\n\n    return this;\n  }\n\n  intercept(fn, options = {}) {\n    assert(\n      `Invalid intercept handler provided. Expected function, received: \"${typeof fn}\".`,\n      typeof fn === 'function'\n    );\n\n    options = { ...this.get('defaultOptions'), ...options };\n\n    if ('times' in options) {\n      validateTimesOption(options.times);\n      fn = cancelFnAfterNTimes(fn, options.times, () =>\n        this.delete('intercept')\n      );\n    }\n\n    this.set('intercept', fn);\n    this.passthrough(false);\n\n    return this;\n  }\n\n  recordingName(recordingName) {\n    if (recordingName) {\n      validateRecordingName(recordingName);\n    }\n\n    this.set('recordingName', recordingName);\n\n    return this;\n  }\n\n  configure(config) {\n    validateRequestConfig(config);\n    this.set('config', config);\n\n    return this;\n  }\n\n  filter(fn) {\n    assert(\n      `Invalid filter callback provided. Expected function, received: \"${typeof fn}\".`,\n      typeof fn === 'function'\n    );\n\n    this.get('filters').add(fn);\n\n    return this;\n  }\n\n  times(n) {\n    if (!n && typeof n !== 'number') {\n      delete this.get('defaultOptions').times;\n    } else {\n      validateTimesOption(n);\n      this.get('defaultOptions').times = n;\n    }\n\n    return this;\n  }\n}\n","import RouteRecognizer from 'route-recognizer';\n\nimport Route from './route';\n\nconst GLOBAL = '__GLOBAL__';\n\nexport default class Middleware {\n  constructor({ host, paths, global, handler }) {\n    this.global = Boolean(global);\n    this.handler = handler;\n    this.host = host;\n    this.paths = this.global ? [GLOBAL] : paths;\n    this._routeRecognizer = new RouteRecognizer();\n\n    this.paths.forEach((path) =>\n      this._routeRecognizer.add([{ path, handler: [handler] }])\n    );\n  }\n\n  match(host, path) {\n    if (this.global) {\n      return new Route(this._routeRecognizer.recognize(GLOBAL));\n    }\n\n    if (this.host === host) {\n      const recognizeResult = this._routeRecognizer.recognize(path);\n\n      return recognizeResult && new Route(recognizeResult);\n    }\n  }\n}\n","import RouteRecognizer from 'route-recognizer';\nimport castArray from 'lodash-es/castArray';\nimport { HTTP_METHODS, URL, assert, timeout, buildUrl } from '@pollyjs/utils';\n\nimport Route from './route';\nimport Handler from './handler';\nimport Middleware from './middleware';\n\nconst HOST = Symbol();\nconst NAMESPACES = Symbol();\nconst REGISTRY = Symbol();\nconst MIDDLEWARE = Symbol();\nconst HANDLERS = Symbol();\n\nconst CHARS = {\n  SLASH: '/',\n  STAR: '*',\n  COLON: ':'\n};\n\nconst { keys } = Object;\n\nfunction parseUrl(url) {\n  const parsedUrl = new URL(url);\n  /*\n    Use the full origin (http://hostname:port) if the host exists. If there\n    is no host, URL.origin returns \"null\" (null as a string) so set host to '/'\n  */\n  const host = parsedUrl.host ? parsedUrl.origin : CHARS.SLASH;\n  const path = parsedUrl.pathname || CHARS.SLASH;\n\n  return { host, path };\n}\n\nexport default class Server {\n  constructor() {\n    this[HOST] = '';\n    this[REGISTRY] = {};\n    this[NAMESPACES] = [];\n    this[MIDDLEWARE] = [];\n  }\n\n  host(path, callback) {\n    const host = this[HOST];\n\n    assert(`[Server] A host cannot be specified within another host.`, !host);\n\n    this[HOST] = path;\n    callback(this);\n    this[HOST] = host;\n  }\n\n  namespace(path, callback) {\n    const namespaces = this[NAMESPACES];\n\n    this[NAMESPACES] = [...namespaces, path];\n    callback(this);\n    this[NAMESPACES] = namespaces;\n  }\n\n  timeout() {\n    return timeout(...arguments);\n  }\n\n  get() {\n    return this._register('GET', ...arguments);\n  }\n\n  put() {\n    return this._register('PUT', ...arguments);\n  }\n\n  post() {\n    return this._register('POST', ...arguments);\n  }\n\n  delete() {\n    return this._register('DELETE', ...arguments);\n  }\n\n  patch() {\n    return this._register('PATCH', ...arguments);\n  }\n\n  merge() {\n    return this._register('MERGE', ...arguments);\n  }\n\n  head() {\n    return this._register('HEAD', ...arguments);\n  }\n\n  options() {\n    return this._register('OPTIONS', ...arguments);\n  }\n\n  any() {\n    return this._registerMiddleware(...arguments);\n  }\n\n  lookup(method, url) {\n    return new Route(this._recognize(method, url), this._lookupMiddleware(url));\n  }\n\n  _lookupMiddleware(url) {\n    const { host, path } = parseUrl(url);\n\n    return this[MIDDLEWARE].map((m) => m.match(host, path)).filter(Boolean);\n  }\n\n  _register(method, routes) {\n    const handler = new Handler();\n\n    castArray(routes).forEach((route) => {\n      const { host, path } = parseUrl(this._buildUrl(route));\n      const registry = this._registryForHost(host);\n      const name = this._nameForPath(path);\n      const router = registry[method.toUpperCase()];\n\n      if (router[HANDLERS].has(name)) {\n        router[HANDLERS].get(name).push(handler);\n      } else {\n        router[HANDLERS].set(name, [handler]);\n        router.add([{ path, handler: router[HANDLERS].get(name) }]);\n      }\n    });\n\n    return handler;\n  }\n\n  _registerMiddleware(routes) {\n    const handler = new Handler();\n    const pathsByHost = {};\n\n    castArray(routes).forEach((route) => {\n      /*\n        If the route is a '*' or '' and there is no host or namespace\n        specified, treat the middleware as global so it will match all routes.\n      */\n      if (\n        (!route || route === CHARS.STAR) &&\n        !this[HOST] &&\n        this[NAMESPACES].length === 0\n      ) {\n        this[MIDDLEWARE].push(new Middleware({ global: true, handler }));\n      } else {\n        const { host, path } = parseUrl(this._buildUrl(route));\n\n        pathsByHost[host] = pathsByHost[host] || [];\n        pathsByHost[host].push(path);\n      }\n    });\n\n    keys(pathsByHost).forEach((host) => {\n      this[MIDDLEWARE].push(\n        new Middleware({ host, paths: pathsByHost[host], handler })\n      );\n    });\n\n    return handler;\n  }\n\n  _recognize(method, url) {\n    const { host, path } = parseUrl(url);\n    const registry = this._registryForHost(host);\n\n    return registry[method.toUpperCase()].recognize(path);\n  }\n\n  _buildUrl(path) {\n    return buildUrl(this[HOST], ...this[NAMESPACES], path);\n  }\n\n  /**\n   * Converts a url path into a name used to combine route handlers by\n   * normalizing dynamic and star segments\n   * @param {String} path\n   * @returns {String}\n   */\n  _nameForPath(path = '') {\n    const name = path\n      .split(CHARS.SLASH)\n      .map((segment) => {\n        switch (segment.charAt(0)) {\n          // If this is a dynamic segment (e.g. :id), then just return `:`\n          // since /path/:id is the same as /path/:uuid\n          case CHARS.COLON:\n            return CHARS.COLON;\n          // If this is a star segment (e.g. *path), then just return `*`\n          // since /path/*path is the same as /path/*all\n          case CHARS.STAR:\n            return CHARS.STAR;\n          default:\n            return segment;\n        }\n      })\n      .join(CHARS.SLASH);\n\n    // Remove trailing slash, if we result with an empty string, return a slash\n    return name.replace(/\\/$/, '') || CHARS.SLASH;\n  }\n\n  _registryForHost(host) {\n    if (!this[REGISTRY][host]) {\n      this[REGISTRY][host] = HTTP_METHODS.reduce((acc, method) => {\n        acc[method] = new RouteRecognizer();\n        acc[method][HANDLERS] = new Map();\n\n        return acc;\n      }, {});\n    }\n\n    return this[REGISTRY][host];\n  }\n}\n","import { MODES, assert } from '@pollyjs/utils';\n\nimport { version } from '../package.json';\n\nimport Logger from './-private/logger';\nimport { Container } from './-private/container';\nimport DefaultConfig from './defaults/config';\nimport PollyRequest from './-private/request';\nimport guidForRecording from './utils/guid-for-recording';\nimport mergeConfigs from './utils/merge-configs';\nimport EventEmitter from './-private/event-emitter';\nimport Server from './server';\nimport { validateRecordingName } from './utils/validators';\n\nconst RECORDING_NAME = Symbol();\nconst RECORDING_ID = Symbol();\nconst PAUSED_ADAPTERS = Symbol();\n\nconst FACTORY_REGISTRATION = new WeakMap();\nconst EVENT_EMITTER = new EventEmitter({\n  eventNames: ['register', 'create', 'stop']\n});\n\n/**\n * @export\n * @class Polly\n */\nexport default class Polly {\n  constructor(recordingName, config) {\n    this.recordingName = recordingName;\n    this.server = new Server();\n    this.config = {};\n    this.container = new Container();\n\n    EVENT_EMITTER.emitSync('register', this.container);\n\n    /* running adapter instances */\n    this.adapters = new Map();\n\n    /* running persister instance */\n    this.persister = null;\n\n    /* requests over the lifetime of the polly instance */\n    this._requests = [];\n\n    EVENT_EMITTER.emitSync('create', this);\n    this.configure(config);\n  }\n\n  /**\n   * Package version.\n   *\n   * @readonly\n   * @public\n   * @memberof Polly\n   */\n  static get VERSION() {\n    return version;\n  }\n\n  /**\n   * @public\n   * @memberof Polly\n   */\n  get recordingName() {\n    return this[RECORDING_NAME];\n  }\n\n  set recordingName(name) {\n    validateRecordingName(name);\n\n    this[RECORDING_NAME] = name;\n    this[RECORDING_ID] = guidForRecording(name);\n  }\n\n  /**\n   * @readonly\n   * @public\n   * @memberof Polly\n   */\n  get recordingId() {\n    return this[RECORDING_ID];\n  }\n\n  get mode() {\n    return this.config.mode;\n  }\n\n  set mode(mode) {\n    const possibleModes = Object.values(MODES);\n\n    assert(\n      `Invalid mode provided: \"${mode}\". Possible modes: ${possibleModes.join(\n        ', '\n      )}.`,\n      possibleModes.includes(mode)\n    );\n\n    this.config.mode = mode;\n  }\n\n  static on(eventName, listener) {\n    EVENT_EMITTER.on(eventName, listener);\n\n    return this;\n  }\n\n  static once(eventName, listener) {\n    EVENT_EMITTER.once(eventName, listener);\n\n    return this;\n  }\n\n  static off(eventName, listener) {\n    EVENT_EMITTER.off(eventName, listener);\n\n    return this;\n  }\n\n  static register(Factory) {\n    if (!FACTORY_REGISTRATION.has(Factory)) {\n      FACTORY_REGISTRATION.set(Factory, (container) =>\n        container.register(Factory)\n      );\n    }\n\n    this.on('register', FACTORY_REGISTRATION.get(Factory));\n\n    return this;\n  }\n\n  static unregister(Factory) {\n    if (FACTORY_REGISTRATION.has(Factory)) {\n      this.off('register', FACTORY_REGISTRATION.get(Factory));\n    }\n\n    return this;\n  }\n\n  /**\n   * @param {Object} [config={}]\n   * @public\n   * @memberof Polly\n   */\n  configure(config = {}) {\n    const { container } = this;\n\n    assert(\n      'Cannot call `configure` once requests have been handled.',\n      this._requests.length === 0\n    );\n    assert(\n      'Cannot call `configure` on an instance of Polly that is not running.',\n      this.mode !== MODES.STOPPED\n    );\n\n    // Disconnect from all current adapters before updating the config\n    this.disconnect();\n\n    if (this.logger) {\n      this.logger.disconnect();\n    }\n\n    // Update the config\n    this.config = mergeConfigs(DefaultConfig, this.config, config);\n\n    // Create a new logger\n    this.logger = new Logger(this);\n    this.logger.connect();\n\n    // Register and connect to all specified adapters\n    this.config.adapters.forEach((adapter) => this.connectTo(adapter));\n\n    /* Handle Persister */\n    let { persister } = this.config;\n\n    if (persister) {\n      if (typeof persister === 'function') {\n        container.register(persister);\n        persister = persister.id;\n      }\n\n      assert(\n        `Persister matching the name \\`${persister}\\` was not registered.`,\n        container.has(`persister:${persister}`)\n      );\n\n      this.persister = new (container.lookup(`persister:${persister}`))(this);\n    }\n\n    this.logger.log.debug('Polly instance configured.', {\n      config: this.config\n    });\n  }\n\n  /**\n   * @public\n   * @memberof Polly\n   */\n  record() {\n    this.mode = MODES.RECORD;\n  }\n\n  /**\n   * @public\n   * @memberof Polly\n   */\n  replay() {\n    this.mode = MODES.REPLAY;\n  }\n\n  /**\n   * @public\n   * @memberof Polly\n   */\n  passthrough() {\n    this.mode = MODES.PASSTHROUGH;\n  }\n\n  /**\n   * @public\n   * @memberof Polly\n   */\n  pause() {\n    this[PAUSED_ADAPTERS] = [...this.adapters.keys()];\n    this.disconnect();\n  }\n\n  /**\n   * @public\n   * @memberof Polly\n   */\n  play() {\n    if (this[PAUSED_ADAPTERS]) {\n      this[PAUSED_ADAPTERS].forEach((adapterId) => this.connectTo(adapterId));\n      delete this[PAUSED_ADAPTERS];\n    }\n  }\n\n  /**\n   * @public\n   * @memberof Polly\n   */\n  async stop() {\n    if (this.mode !== MODES.STOPPED) {\n      if (this.config.flushRequestsOnStop) {\n        await this.flush();\n      }\n\n      this.disconnect();\n\n      await (this.persister && this.persister.persist());\n      this.mode = MODES.STOPPED;\n\n      await EVENT_EMITTER.emit('stop', this);\n\n      this.logger.log.debug('Polly instance stopped.', {\n        recordingName: this.recordingName\n      });\n      this.logger.disconnect();\n    }\n  }\n\n  async flush() {\n    const NOOP = () => {};\n\n    await Promise.all(\n      // The NOOP is there to handle both a resolved and rejected promise\n      // to ensure the promise resolves regardless of the outcome.\n      this._requests.map((r) => Promise.resolve(r.promise).then(NOOP, NOOP))\n    );\n  }\n\n  /**\n   * @param {String|Function} idOrFactory\n   * @public\n   * @memberof Polly\n   */\n  connectTo(idOrAdapter) {\n    const { container, adapters } = this;\n    let adapterId = idOrAdapter;\n\n    if (typeof idOrAdapter === 'function') {\n      container.register(idOrAdapter);\n      adapterId = idOrAdapter.id;\n    }\n\n    assert(\n      `Adapter matching the name \\`${adapterId}\\` was not registered.`,\n      container.has(`adapter:${adapterId}`)\n    );\n\n    this.disconnectFrom(adapterId);\n\n    const adapter = new (container.lookup(`adapter:${adapterId}`))(this);\n\n    adapter.connect();\n    adapters.set(adapterId, adapter);\n  }\n\n  /**\n   * @param {String|Function} idOrAdapter\n   * @public\n   * @memberof Polly\n   */\n  disconnectFrom(idOrAdapter) {\n    const { adapters } = this;\n    let adapterId = idOrAdapter;\n\n    if (typeof idOrAdapter === 'function') {\n      adapterId = idOrAdapter.id;\n    }\n\n    if (adapters.has(adapterId)) {\n      adapters.get(adapterId).disconnect();\n      adapters.delete(adapterId);\n    }\n  }\n\n  /**\n   * @public\n   * @memberof Polly\n   */\n  disconnect() {\n    for (const adapterId of this.adapters.keys()) {\n      this.disconnectFrom(adapterId);\n    }\n  }\n\n  /**\n   * @param {Object} [request={}]\n   * @returns {PollyRequest}\n   * @private\n   * @memberof Polly\n   */\n  registerRequest(request = {}) {\n    const pollyRequest = new PollyRequest(this, request);\n\n    this._requests.push(pollyRequest);\n\n    return pollyRequest;\n  }\n}\n","import { PollyError } from '@pollyjs/utils';\n\nimport Polly from '../polly';\n\nconst { defineProperty } = Object;\n\nexport function beforeEach(context, recordingName, defaults) {\n  defineProperty(context, 'polly', {\n    writable: true,\n    enumerable: true,\n    configurable: true,\n    value: new Polly(recordingName, defaults)\n  });\n}\n\nexport async function afterEach(context, framework) {\n  await context.polly.stop();\n\n  defineProperty(context, 'polly', {\n    enumerable: true,\n    configurable: true,\n    get() {\n      throw new PollyError(\n        `You are trying to access an instance of Polly that is no longer available.\\n` +\n          `See: https://netflix.github.io/pollyjs/#/test-frameworks/${framework}?id=test-hook-ordering`\n      );\n    }\n  });\n}\n","import { afterEach, beforeEach } from './lib';\n\nfunction generateRecordingName(assert) {\n  return assert.test.testReport.fullName.join('/');\n}\n\nexport default function setupQunit(hooks, defaults = {}) {\n  setupQunit.beforeEach(hooks, defaults);\n  setupQunit.afterEach(hooks);\n}\n\nsetupQunit.beforeEach = function setupQunitBeforeEach(hooks, defaults = {}) {\n  hooks.beforeEach(function () {\n    return beforeEach(this, generateRecordingName(...arguments), defaults);\n  });\n};\n\nsetupQunit.afterEach = function setupQunitAfterEach(hooks) {\n  hooks.afterEach(function () {\n    return afterEach(this, 'qunit');\n  });\n};\n","import { afterEach, beforeEach } from './lib';\n\nfunction generateRecordingName(context) {\n  const { currentTest } = context;\n  const parts = [currentTest.title];\n  let parent = currentTest.parent;\n\n  while (parent && parent.title) {\n    parts.push(parent.title);\n    parent = parent.parent;\n  }\n\n  return parts.reverse().join('/');\n}\n\nexport default function setupMocha(defaults = {}, ctx = global) {\n  setupMocha.beforeEach(defaults, ctx);\n  setupMocha.afterEach(ctx);\n}\n\nsetupMocha.beforeEach = function setupMochaBeforeEach(defaults, ctx = global) {\n  ctx.beforeEach(function () {\n    return beforeEach(this, generateRecordingName(this), defaults);\n  });\n};\n\nsetupMocha.afterEach = function setupMochaAfterEach(ctx = global) {\n  ctx.afterEach(function () {\n    return afterEach(this, 'mocha');\n  });\n};\n","// NOTE: this list must be up-to-date with browsers listed in\n// test/acceptance/useragentstrings.yml\nexport const BROWSER_ALIASES_MAP = {\n  AmazonBot: 'amazonbot',\n  'Amazon Silk': 'amazon_silk',\n  'Android Browser': 'android',\n  BaiduSpider: 'baiduspider',\n  Bada: 'bada',\n  BingCrawler: 'bingcrawler',\n  Brave: 'brave',\n  BlackBerry: 'blackberry',\n  'ChatGPT-User': 'chatgpt_user',\n  Chrome: 'chrome',\n  ClaudeBot: 'claudebot',\n  Chromium: 'chromium',\n  Diffbot: 'diffbot',\n  DuckDuckBot: 'duckduckbot',\n  DuckDuckGo: 'duckduckgo',\n  Electron: 'electron',\n  Epiphany: 'epiphany',\n  FacebookExternalHit: 'facebookexternalhit',\n  Firefox: 'firefox',\n  Focus: 'focus',\n  Generic: 'generic',\n  'Google Search': 'google_search',\n  Googlebot: 'googlebot',\n  GPTBot: 'gptbot',\n  'Internet Explorer': 'ie',\n  InternetArchiveCrawler: 'internetarchivecrawler',\n  'K-Meleon': 'k_meleon',\n  LibreWolf: 'librewolf',\n  Linespider: 'linespider',\n  Maxthon: 'maxthon',\n  'Meta-ExternalAds': 'meta_externalads',\n  'Meta-ExternalAgent': 'meta_externalagent',\n  'Meta-ExternalFetcher': 'meta_externalfetcher',\n  'Meta-WebIndexer': 'meta_webindexer',\n  'Microsoft Edge': 'edge',\n  'MZ Browser': 'mz',\n  'NAVER Whale Browser': 'naver',\n  'OAI-SearchBot': 'oai_searchbot',\n  Omgilibot: 'omgilibot',\n  Opera: 'opera',\n  'Opera Coast': 'opera_coast',\n  'Pale Moon': 'pale_moon',\n  PerplexityBot: 'perplexitybot',\n  'Perplexity-User': 'perplexity_user',\n  PhantomJS: 'phantomjs',\n  PingdomBot: 'pingdombot',\n  Puffin: 'puffin',\n  QQ: 'qq',\n  QQLite: 'qqlite',\n  QupZilla: 'qupzilla',\n  Roku: 'roku',\n  Safari: 'safari',\n  Sailfish: 'sailfish',\n  'Samsung Internet for Android': 'samsung_internet',\n  SlackBot: 'slackbot',\n  SeaMonkey: 'seamonkey',\n  Sleipnir: 'sleipnir',\n  'Sogou Browser': 'sogou',\n  Swing: 'swing',\n  Tizen: 'tizen',\n  'UC Browser': 'uc',\n  Vivaldi: 'vivaldi',\n  'WebOS Browser': 'webos',\n  WeChat: 'wechat',\n  YahooSlurp: 'yahooslurp',\n  'Yandex Browser': 'yandex',\n  YandexBot: 'yandexbot',\n  YouBot: 'youbot',\n};\n\nexport const BROWSER_MAP = {\n  amazonbot: 'AmazonBot',\n  amazon_silk: 'Amazon Silk',\n  android: 'Android Browser',\n  baiduspider: 'BaiduSpider',\n  bada: 'Bada',\n  bingcrawler: 'BingCrawler',\n  blackberry: 'BlackBerry',\n  brave: 'Brave',\n  chatgpt_user: 'ChatGPT-User',\n  chrome: 'Chrome',\n  claudebot: 'ClaudeBot',\n  chromium: 'Chromium',\n  diffbot: 'Diffbot',\n  duckduckbot: 'DuckDuckBot',\n  duckduckgo: 'DuckDuckGo',\n  edge: 'Microsoft Edge',\n  electron: 'Electron',\n  epiphany: 'Epiphany',\n  facebookexternalhit: 'FacebookExternalHit',\n  firefox: 'Firefox',\n  focus: 'Focus',\n  generic: 'Generic',\n  google_search: 'Google Search',\n  googlebot: 'Googlebot',\n  gptbot: 'GPTBot',\n  ie: 'Internet Explorer',\n  internetarchivecrawler: 'InternetArchiveCrawler',\n  k_meleon: 'K-Meleon',\n  librewolf: 'LibreWolf',\n  linespider: 'Linespider',\n  maxthon: 'Maxthon',\n  meta_externalads: 'Meta-ExternalAds',\n  meta_externalagent: 'Meta-ExternalAgent',\n  meta_externalfetcher: 'Meta-ExternalFetcher',\n  meta_webindexer: 'Meta-WebIndexer',\n  mz: 'MZ Browser',\n  naver: 'NAVER Whale Browser',\n  oai_searchbot: 'OAI-SearchBot',\n  omgilibot: 'Omgilibot',\n  opera: 'Opera',\n  opera_coast: 'Opera Coast',\n  pale_moon: 'Pale Moon',\n  perplexitybot: 'PerplexityBot',\n  perplexity_user: 'Perplexity-User',\n  phantomjs: 'PhantomJS',\n  pingdombot: 'PingdomBot',\n  puffin: 'Puffin',\n  qq: 'QQ Browser',\n  qqlite: 'QQ Browser Lite',\n  qupzilla: 'QupZilla',\n  roku: 'Roku',\n  safari: 'Safari',\n  sailfish: 'Sailfish',\n  samsung_internet: 'Samsung Internet for Android',\n  seamonkey: 'SeaMonkey',\n  slackbot: 'SlackBot',\n  sleipnir: 'Sleipnir',\n  sogou: 'Sogou Browser',\n  swing: 'Swing',\n  tizen: 'Tizen',\n  uc: 'UC Browser',\n  vivaldi: 'Vivaldi',\n  webos: 'WebOS Browser',\n  wechat: 'WeChat',\n  yahooslurp: 'YahooSlurp',\n  yandex: 'Yandex Browser',\n  yandexbot: 'YandexBot',\n  youbot: 'YouBot',\n};\n\nexport const PLATFORMS_MAP = {\n  bot: 'bot',\n  desktop: 'desktop',\n  mobile: 'mobile',\n  tablet: 'tablet',\n  tv: 'tv',\n};\n\nexport const OS_MAP = {\n  Android: 'Android',\n  Bada: 'Bada',\n  BlackBerry: 'BlackBerry',\n  ChromeOS: 'Chrome OS',\n  HarmonyOS: 'HarmonyOS',\n  iOS: 'iOS',\n  Linux: 'Linux',\n  MacOS: 'macOS',\n  PlayStation4: 'PlayStation 4',\n  Roku: 'Roku',\n  Tizen: 'Tizen',\n  WebOS: 'WebOS',\n  Windows: 'Windows',\n  WindowsPhone: 'Windows Phone',\n};\n\nexport const ENGINE_MAP = {\n  Blink: 'Blink',\n  EdgeHTML: 'EdgeHTML',\n  Gecko: 'Gecko',\n  Presto: 'Presto',\n  Trident: 'Trident',\n  WebKit: 'WebKit',\n};\n","import { BROWSER_MAP, BROWSER_ALIASES_MAP } from './constants.js';\n\nexport default class Utils {\n  /**\n   * Get first matched item for a string\n   * @param {RegExp} regexp\n   * @param {String} ua\n   * @return {Array|{index: number, input: string}|*|boolean|string}\n   */\n  static getFirstMatch(regexp, ua) {\n    const match = ua.match(regexp);\n    return (match && match.length > 0 && match[1]) || '';\n  }\n\n  /**\n   * Get second matched item for a string\n   * @param regexp\n   * @param {String} ua\n   * @return {Array|{index: number, input: string}|*|boolean|string}\n   */\n  static getSecondMatch(regexp, ua) {\n    const match = ua.match(regexp);\n    return (match && match.length > 1 && match[2]) || '';\n  }\n\n  /**\n   * Match a regexp and return a constant or undefined\n   * @param {RegExp} regexp\n   * @param {String} ua\n   * @param {*} _const Any const that will be returned if regexp matches the string\n   * @return {*}\n   */\n  static matchAndReturnConst(regexp, ua, _const) {\n    if (regexp.test(ua)) {\n      return _const;\n    }\n    return void (0);\n  }\n\n  static getWindowsVersionName(version) {\n    switch (version) {\n      case 'NT': return 'NT';\n      case 'XP': return 'XP';\n      case 'NT 5.0': return '2000';\n      case 'NT 5.1': return 'XP';\n      case 'NT 5.2': return '2003';\n      case 'NT 6.0': return 'Vista';\n      case 'NT 6.1': return '7';\n      case 'NT 6.2': return '8';\n      case 'NT 6.3': return '8.1';\n      case 'NT 10.0': return '10';\n      default: return undefined;\n    }\n  }\n\n  /**\n   * Get macOS version name\n   *    10.5 - Leopard\n   *    10.6 - Snow Leopard\n   *    10.7 - Lion\n   *    10.8 - Mountain Lion\n   *    10.9 - Mavericks\n   *    10.10 - Yosemite\n   *    10.11 - El Capitan\n   *    10.12 - Sierra\n   *    10.13 - High Sierra\n   *    10.14 - Mojave\n   *    10.15 - Catalina\n   *    11 - Big Sur\n   *    12 - Monterey\n   *    13 - Ventura\n   *    14 - Sonoma\n   *    15 - Sequoia\n   *\n   * @example\n   *   getMacOSVersionName(\"10.14\") // 'Mojave'\n   *\n   * @param  {string} version\n   * @return {string} versionName\n   */\n  static getMacOSVersionName(version) {\n    const v = version.split('.').splice(0, 2).map(s => parseInt(s, 10) || 0);\n    v.push(0);\n    const major = v[0];\n    const minor = v[1];\n\n    if (major === 10) {\n      switch (minor) {\n        case 5: return 'Leopard';\n        case 6: return 'Snow Leopard';\n        case 7: return 'Lion';\n        case 8: return 'Mountain Lion';\n        case 9: return 'Mavericks';\n        case 10: return 'Yosemite';\n        case 11: return 'El Capitan';\n        case 12: return 'Sierra';\n        case 13: return 'High Sierra';\n        case 14: return 'Mojave';\n        case 15: return 'Catalina';\n        default: return undefined;\n      }\n    }\n\n    switch (major) {\n      case 11: return 'Big Sur';\n      case 12: return 'Monterey';\n      case 13: return 'Ventura';\n      case 14: return 'Sonoma';\n      case 15: return 'Sequoia';\n      default: return undefined;\n    }\n  }\n\n  /**\n   * Get Android version name\n   *    1.5 - Cupcake\n   *    1.6 - Donut\n   *    2.0 - Eclair\n   *    2.1 - Eclair\n   *    2.2 - Froyo\n   *    2.x - Gingerbread\n   *    3.x - Honeycomb\n   *    4.0 - Ice Cream Sandwich\n   *    4.1 - Jelly Bean\n   *    4.4 - KitKat\n   *    5.x - Lollipop\n   *    6.x - Marshmallow\n   *    7.x - Nougat\n   *    8.x - Oreo\n   *    9.x - Pie\n   *\n   * @example\n   *   getAndroidVersionName(\"7.0\") // 'Nougat'\n   *\n   * @param  {string} version\n   * @return {string} versionName\n   */\n  static getAndroidVersionName(version) {\n    const v = version.split('.').splice(0, 2).map(s => parseInt(s, 10) || 0);\n    v.push(0);\n    if (v[0] === 1 && v[1] < 5) return undefined;\n    if (v[0] === 1 && v[1] < 6) return 'Cupcake';\n    if (v[0] === 1 && v[1] >= 6) return 'Donut';\n    if (v[0] === 2 && v[1] < 2) return 'Eclair';\n    if (v[0] === 2 && v[1] === 2) return 'Froyo';\n    if (v[0] === 2 && v[1] > 2) return 'Gingerbread';\n    if (v[0] === 3) return 'Honeycomb';\n    if (v[0] === 4 && v[1] < 1) return 'Ice Cream Sandwich';\n    if (v[0] === 4 && v[1] < 4) return 'Jelly Bean';\n    if (v[0] === 4 && v[1] >= 4) return 'KitKat';\n    if (v[0] === 5) return 'Lollipop';\n    if (v[0] === 6) return 'Marshmallow';\n    if (v[0] === 7) return 'Nougat';\n    if (v[0] === 8) return 'Oreo';\n    if (v[0] === 9) return 'Pie';\n    return undefined;\n  }\n\n  /**\n   * Get version precisions count\n   *\n   * @example\n   *   getVersionPrecision(\"1.10.3\") // 3\n   *\n   * @param  {string} version\n   * @return {number}\n   */\n  static getVersionPrecision(version) {\n    return version.split('.').length;\n  }\n\n  /**\n   * Calculate browser version weight\n   *\n   * @example\n   *   compareVersions('1.10.2.1',  '1.8.2.1.90')    // 1\n   *   compareVersions('1.010.2.1', '1.09.2.1.90');  // 1\n   *   compareVersions('1.10.2.1',  '1.10.2.1');     // 0\n   *   compareVersions('1.10.2.1',  '1.0800.2');     // -1\n   *   compareVersions('1.10.2.1',  '1.10',  true);  // 0\n   *\n   * @param {String} versionA versions versions to compare\n   * @param {String} versionB versions versions to compare\n   * @param {boolean} [isLoose] enable loose comparison\n   * @return {Number} comparison result: -1 when versionA is lower,\n   * 1 when versionA is bigger, 0 when both equal\n   */\n  /* eslint consistent-return: 1 */\n  static compareVersions(versionA, versionB, isLoose = false) {\n    // 1) get common precision for both versions, for example for \"10.0\" and \"9\" it should be 2\n    const versionAPrecision = Utils.getVersionPrecision(versionA);\n    const versionBPrecision = Utils.getVersionPrecision(versionB);\n\n    let precision = Math.max(versionAPrecision, versionBPrecision);\n    let lastPrecision = 0;\n\n    const chunks = Utils.map([versionA, versionB], (version) => {\n      const delta = precision - Utils.getVersionPrecision(version);\n\n      // 2) \"9\" -> \"9.0\" (for precision = 2)\n      const _version = version + new Array(delta + 1).join('.0');\n\n      // 3) \"9.0\" -> [\"000000000\"\", \"000000009\"]\n      return Utils.map(_version.split('.'), chunk => new Array(20 - chunk.length).join('0') + chunk).reverse();\n    });\n\n    // adjust precision for loose comparison\n    if (isLoose) {\n      lastPrecision = precision - Math.min(versionAPrecision, versionBPrecision);\n    }\n\n    // iterate in reverse order by reversed chunks array\n    precision -= 1;\n    while (precision >= lastPrecision) {\n      // 4) compare: \"000000009\" > \"000000010\" = false (but \"9\" > \"10\" = true)\n      if (chunks[0][precision] > chunks[1][precision]) {\n        return 1;\n      }\n\n      if (chunks[0][precision] === chunks[1][precision]) {\n        if (precision === lastPrecision) {\n          // all version chunks are same\n          return 0;\n        }\n\n        precision -= 1;\n      } else if (chunks[0][precision] < chunks[1][precision]) {\n        return -1;\n      }\n    }\n\n    return undefined;\n  }\n\n  /**\n   * Array::map polyfill\n   *\n   * @param  {Array} arr\n   * @param  {Function} iterator\n   * @return {Array}\n   */\n  static map(arr, iterator) {\n    const result = [];\n    let i;\n    if (Array.prototype.map) {\n      return Array.prototype.map.call(arr, iterator);\n    }\n    for (i = 0; i < arr.length; i += 1) {\n      result.push(iterator(arr[i]));\n    }\n    return result;\n  }\n\n  /**\n   * Array::find polyfill\n   *\n   * @param  {Array} arr\n   * @param  {Function} predicate\n   * @return {Array}\n   */\n  static find(arr, predicate) {\n    let i;\n    let l;\n    if (Array.prototype.find) {\n      return Array.prototype.find.call(arr, predicate);\n    }\n    for (i = 0, l = arr.length; i < l; i += 1) {\n      const value = arr[i];\n      if (predicate(value, i)) {\n        return value;\n      }\n    }\n    return undefined;\n  }\n\n  /**\n   * Object::assign polyfill\n   *\n   * @param  {Object} obj\n   * @param  {Object} ...objs\n   * @return {Object}\n   */\n  static assign(obj, ...assigners) {\n    const result = obj;\n    let i;\n    let l;\n    if (Object.assign) {\n      return Object.assign(obj, ...assigners);\n    }\n    for (i = 0, l = assigners.length; i < l; i += 1) {\n      const assigner = assigners[i];\n      if (typeof assigner === 'object' && assigner !== null) {\n        const keys = Object.keys(assigner);\n        keys.forEach((key) => {\n          result[key] = assigner[key];\n        });\n      }\n    }\n    return obj;\n  }\n\n  /**\n   * Get short version/alias for a browser name\n   *\n   * @example\n   *   getBrowserAlias('Microsoft Edge') // edge\n   *\n   * @param  {string} browserName\n   * @return {string}\n   */\n  static getBrowserAlias(browserName) {\n    return BROWSER_ALIASES_MAP[browserName];\n  }\n\n  /**\n   * Get browser name for a short version/alias\n   *\n   * @example\n   *   getBrowserTypeByAlias('edge') // Microsoft Edge\n   *\n   * @param  {string} browserAlias\n   * @return {string}\n   */\n  static getBrowserTypeByAlias(browserAlias) {\n    return BROWSER_MAP[browserAlias] || '';\n  }\n}\n","/**\n * Browsers' descriptors\n *\n * The idea of descriptors is simple. You should know about them two simple things:\n * 1. Every descriptor has a method or property called `test` and a `describe` method.\n * 2. Order of descriptors is important.\n *\n * More details:\n * 1. Method or property `test` serves as a way to detect whether the UA string\n * matches some certain browser or not. The `describe` method helps to make a result\n * object with params that show some browser-specific things: name, version, etc.\n * 2. Order of descriptors is important because a Parser goes through them one by one\n * in course. For example, if you insert Chrome's descriptor as the first one,\n * more then a half of browsers will be described as Chrome, because they will pass\n * the Chrome descriptor's test.\n *\n * Descriptor's `test` could be a property with an array of RegExps, where every RegExp\n * will be applied to a UA string to test it whether it matches or not.\n * If a descriptor has two or more regexps in the `test` array it tests them one by one\n * with a logical sum operation. Parser stops if it has found any RegExp that matches the UA.\n *\n * Or `test` could be a method. In that case it gets a Parser instance and should\n * return true/false to get the Parser know if this browser descriptor matches the UA or not.\n */\n\nimport Utils from './utils.js';\n\nconst commonVersionIdentifier = /version\\/(\\d+(\\.?_?\\d+)+)/i;\n\nconst browsersList = [\n  /* GPTBot */\n  {\n    test: [/gptbot/i],\n    describe(ua) {\n      const browser = {\n        name: 'GPTBot',\n      };\n      const version = Utils.getFirstMatch(/gptbot\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n\n  /* ChatGPT-User */\n  {\n    test: [/chatgpt-user/i],\n    describe(ua) {\n      const browser = {\n        name: 'ChatGPT-User',\n      };\n      const version = Utils.getFirstMatch(/chatgpt-user\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n\n  /* OAI-SearchBot */\n  {\n    test: [/oai-searchbot/i],\n    describe(ua) {\n      const browser = {\n        name: 'OAI-SearchBot',\n      };\n      const version = Utils.getFirstMatch(/oai-searchbot\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n\n  /* ClaudeBot */\n  {\n    test: [/claudebot/i, /claude-web/i, /claude-user/i, /claude-searchbot/i],\n    describe(ua) {\n      const browser = {\n        name: 'ClaudeBot',\n      };\n      const version = Utils.getFirstMatch(/(?:claudebot|claude-web|claude-user|claude-searchbot)\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n\n  /* Omgilibot */\n  {\n    test: [/omgilibot/i, /webzio-extended/i],\n    describe(ua) {\n      const browser = {\n        name: 'Omgilibot',\n      };\n      const version = Utils.getFirstMatch(/(?:omgilibot|webzio-extended)\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n\n  /* Diffbot */\n  {\n    test: [/diffbot/i],\n    describe(ua) {\n      const browser = {\n        name: 'Diffbot',\n      };\n      const version = Utils.getFirstMatch(/diffbot\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n\n  /* PerplexityBot */\n  {\n    test: [/perplexitybot/i],\n    describe(ua) {\n      const browser = {\n        name: 'PerplexityBot',\n      };\n      const version = Utils.getFirstMatch(/perplexitybot\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n\n  /* Perplexity-User */\n  {\n    test: [/perplexity-user/i],\n    describe(ua) {\n      const browser = {\n        name: 'Perplexity-User',\n      };\n      const version = Utils.getFirstMatch(/perplexity-user\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n\n  /* YouBot */\n  {\n    test: [/youbot/i],\n    describe(ua) {\n      const browser = {\n        name: 'YouBot',\n      };\n      const version = Utils.getFirstMatch(/youbot\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n\n  /* Meta-WebIndexer */\n  {\n    test: [/meta-webindexer/i],\n    describe(ua) {\n      const browser = {\n        name: 'Meta-WebIndexer',\n      };\n      const version = Utils.getFirstMatch(/meta-webindexer\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n\n  /* Meta-ExternalAds */\n  {\n    test: [/meta-externalads/i],\n    describe(ua) {\n      const browser = {\n        name: 'Meta-ExternalAds',\n      };\n      const version = Utils.getFirstMatch(/meta-externalads\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n\n  /* Meta-ExternalAgent */\n  {\n    test: [/meta-externalagent/i],\n    describe(ua) {\n      const browser = {\n        name: 'Meta-ExternalAgent',\n      };\n      const version = Utils.getFirstMatch(/meta-externalagent\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n\n  /* Meta-ExternalFetcher */\n  {\n    test: [/meta-externalfetcher/i],\n    describe(ua) {\n      const browser = {\n        name: 'Meta-ExternalFetcher',\n      };\n      const version = Utils.getFirstMatch(/meta-externalfetcher\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n\n  /* Googlebot */\n  {\n    test: [/googlebot/i],\n    describe(ua) {\n      const browser = {\n        name: 'Googlebot',\n      };\n      const version = Utils.getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n\n  /* Linespider */\n  {\n    test: [/linespider/i],\n    describe(ua) {\n      const browser = {\n        name: 'Linespider',\n      };\n      const version = Utils.getFirstMatch(/(?:linespider)(?:-[-\\w]+)?[\\s/](\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n\n  /* AmazonBot */\n  {\n    test: [/amazonbot/i],\n    describe(ua) {\n      const browser = {\n        name: 'AmazonBot',\n      };\n      const version = Utils.getFirstMatch(/amazonbot\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n\n  /* BingCrawler */\n  {\n    test: [/bingbot/i],\n    describe(ua) {\n      const browser = {\n        name: 'BingCrawler',\n      };\n      const version = Utils.getFirstMatch(/bingbot\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n\n  /* BaiduSpider */\n  {\n    test: [/baiduspider/i],\n    describe(ua) {\n      const browser = {\n        name: 'BaiduSpider',\n      };\n      const version = Utils.getFirstMatch(/baiduspider\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n\n  /* DuckDuckBot */\n  {\n    test: [/duckduckbot/i],\n    describe(ua) {\n      const browser = {\n        name: 'DuckDuckBot',\n      };\n      const version = Utils.getFirstMatch(/duckduckbot\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n\n  /* InternetArchiveCrawler */\n  {\n    test: [/ia_archiver/i],\n    describe(ua) {\n      const browser = {\n        name: 'InternetArchiveCrawler',\n      };\n      const version = Utils.getFirstMatch(/ia_archiver\\/(\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n\n  /* FacebookExternalHit */\n  {\n    test: [/facebookexternalhit/i, /facebookcatalog/i],\n    describe() {\n      return {\n        name: 'FacebookExternalHit',\n      };\n    },\n  },\n\n  /* SlackBot */\n  {\n    test: [/slackbot/i, /slack-imgProxy/i],\n    describe(ua) {\n      const browser = {\n        name: 'SlackBot',\n      };\n      const version = Utils.getFirstMatch(/(?:slackbot|slack-imgproxy)(?:-[-\\w]+)?[\\s/](\\d+(\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n\n  /* YahooSlurp */\n  {\n    test: [/yahoo!?[\\s/]*slurp/i],\n    describe() {\n      return {\n        name: 'YahooSlurp',\n      };\n    },\n  },\n\n  /* YandexBot */\n  {\n    test: [/yandexbot/i, /yandexmobilebot/i],\n    describe() {\n      return {\n        name: 'YandexBot',\n      };\n    },\n  },\n\n  /* PingdomBot */\n  {\n    test: [/pingdom/i],\n    describe() {\n      return {\n        name: 'PingdomBot',\n      };\n    },\n  },\n\n  /* Opera < 13.0 */\n  {\n    test: [/opera/i],\n    describe(ua) {\n      const browser = {\n        name: 'Opera',\n      };\n      const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:opera)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n\n  /* Opera > 13.0 */\n  {\n    test: [/opr\\/|opios/i],\n    describe(ua) {\n      const browser = {\n        name: 'Opera',\n      };\n      const version = Utils.getFirstMatch(/(?:opr|opios)[\\s/](\\S+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/SamsungBrowser/i],\n    describe(ua) {\n      const browser = {\n        name: 'Samsung Internet for Android',\n      };\n      const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:SamsungBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/Whale/i],\n    describe(ua) {\n      const browser = {\n        name: 'NAVER Whale Browser',\n      };\n      const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:whale)[\\s/](\\d+(?:\\.\\d+)+)/i, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/PaleMoon/i],\n    describe(ua) {\n      const browser = {\n        name: 'Pale Moon',\n      };\n      const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:PaleMoon)[\\s/](\\d+(?:\\.\\d+)+)/i, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/MZBrowser/i],\n    describe(ua) {\n      const browser = {\n        name: 'MZ Browser',\n      };\n      const version = Utils.getFirstMatch(/(?:MZBrowser)[\\s/](\\d+(?:\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/focus/i],\n    describe(ua) {\n      const browser = {\n        name: 'Focus',\n      };\n      const version = Utils.getFirstMatch(/(?:focus)[\\s/](\\d+(?:\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/swing/i],\n    describe(ua) {\n      const browser = {\n        name: 'Swing',\n      };\n      const version = Utils.getFirstMatch(/(?:swing)[\\s/](\\d+(?:\\.\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/coast/i],\n    describe(ua) {\n      const browser = {\n        name: 'Opera Coast',\n      };\n      const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:coast)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/opt\\/\\d+(?:.?_?\\d+)+/i],\n    describe(ua) {\n      const browser = {\n        name: 'Opera Touch',\n      };\n      const version = Utils.getFirstMatch(/(?:opt)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/yabrowser/i],\n    describe(ua) {\n      const browser = {\n        name: 'Yandex Browser',\n      };\n      const version = Utils.getFirstMatch(/(?:yabrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/ucbrowser/i],\n    describe(ua) {\n      const browser = {\n        name: 'UC Browser',\n      };\n      const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:ucbrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/Maxthon|mxios/i],\n    describe(ua) {\n      const browser = {\n        name: 'Maxthon',\n      };\n      const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:Maxthon|mxios)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/epiphany/i],\n    describe(ua) {\n      const browser = {\n        name: 'Epiphany',\n      };\n      const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:epiphany)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/puffin/i],\n    describe(ua) {\n      const browser = {\n        name: 'Puffin',\n      };\n      const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:puffin)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/sleipnir/i],\n    describe(ua) {\n      const browser = {\n        name: 'Sleipnir',\n      };\n      const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:sleipnir)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/k-meleon/i],\n    describe(ua) {\n      const browser = {\n        name: 'K-Meleon',\n      };\n      const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:k-meleon)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/micromessenger/i],\n    describe(ua) {\n      const browser = {\n        name: 'WeChat',\n      };\n      const version = Utils.getFirstMatch(/(?:micromessenger)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/qqbrowser/i],\n    describe(ua) {\n      const browser = {\n        name: (/qqbrowserlite/i).test(ua) ? 'QQ Browser Lite' : 'QQ Browser',\n      };\n      const version = Utils.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\\d+(\\.?_?\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/msie|trident/i],\n    describe(ua) {\n      const browser = {\n        name: 'Internet Explorer',\n      };\n      const version = Utils.getFirstMatch(/(?:msie |rv:)(\\d+(\\.?_?\\d+)+)/i, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/\\sedg\\//i],\n    describe(ua) {\n      const browser = {\n        name: 'Microsoft Edge',\n      };\n\n      const version = Utils.getFirstMatch(/\\sedg\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/edg([ea]|ios)/i],\n    describe(ua) {\n      const browser = {\n        name: 'Microsoft Edge',\n      };\n\n      const version = Utils.getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/vivaldi/i],\n    describe(ua) {\n      const browser = {\n        name: 'Vivaldi',\n      };\n      const version = Utils.getFirstMatch(/vivaldi\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/seamonkey/i],\n    describe(ua) {\n      const browser = {\n        name: 'SeaMonkey',\n      };\n      const version = Utils.getFirstMatch(/seamonkey\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/sailfish/i],\n    describe(ua) {\n      const browser = {\n        name: 'Sailfish',\n      };\n\n      const version = Utils.getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/silk/i],\n    describe(ua) {\n      const browser = {\n        name: 'Amazon Silk',\n      };\n      const version = Utils.getFirstMatch(/silk\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/phantom/i],\n    describe(ua) {\n      const browser = {\n        name: 'PhantomJS',\n      };\n      const version = Utils.getFirstMatch(/phantomjs\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/slimerjs/i],\n    describe(ua) {\n      const browser = {\n        name: 'SlimerJS',\n      };\n      const version = Utils.getFirstMatch(/slimerjs\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/blackberry|\\bbb\\d+/i, /rim\\stablet/i],\n    describe(ua) {\n      const browser = {\n        name: 'BlackBerry',\n      };\n      const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/(web|hpw)[o0]s/i],\n    describe(ua) {\n      const browser = {\n        name: 'WebOS Browser',\n      };\n      const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/w(?:eb)?[o0]sbrowser\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/bada/i],\n    describe(ua) {\n      const browser = {\n        name: 'Bada',\n      };\n      const version = Utils.getFirstMatch(/dolfin\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/tizen/i],\n    describe(ua) {\n      const browser = {\n        name: 'Tizen',\n      };\n      const version = Utils.getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.?_?\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/qupzilla/i],\n    describe(ua) {\n      const browser = {\n        name: 'QupZilla',\n      };\n      const version = Utils.getFirstMatch(/(?:qupzilla)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/librewolf/i],\n    describe(ua) {\n      const browser = {\n        name: 'LibreWolf',\n      };\n      const version = Utils.getFirstMatch(/(?:librewolf)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/firefox|iceweasel|fxios/i],\n    describe(ua) {\n      const browser = {\n        name: 'Firefox',\n      };\n      const version = Utils.getFirstMatch(/(?:firefox|iceweasel|fxios)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/electron/i],\n    describe(ua) {\n      const browser = {\n        name: 'Electron',\n      };\n      const version = Utils.getFirstMatch(/(?:electron)\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/sogoumobilebrowser/i, /metasr/i, /se 2\\.[x]/i],\n    describe(ua) {\n      const browser = {\n        name: 'Sogou Browser',\n      };\n      const sogouMobileVersion = Utils.getFirstMatch(/(?:sogoumobilebrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n      const chromiumVersion = Utils.getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n      const seVersion = Utils.getFirstMatch(/se ([\\d.]+)x/i, ua);\n      const version = sogouMobileVersion || chromiumVersion || seVersion;\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/MiuiBrowser/i],\n    describe(ua) {\n      const browser = {\n        name: 'Miui',\n      };\n      const version = Utils.getFirstMatch(/(?:MiuiBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  /* DuckDuckGo Browser */\n  {\n    test(parser) {\n      // Chromium platforms (Android, Windows): check Client Hints brands first\n      if (parser.hasBrand('DuckDuckGo')) {\n        return true;\n      }\n      // WebKit platforms (iOS, macOS): check UA string for Ddg/version suffix\n      return parser.test(/\\sDdg\\/[\\d.]+$/i);\n    },\n    describe(ua, parser) {\n      const browser = {\n        name: 'DuckDuckGo',\n      };\n\n      // Try Client Hints brand version first\n      if (parser) {\n        const hintsVersion = parser.getBrandVersion('DuckDuckGo');\n        if (hintsVersion) {\n          browser.version = hintsVersion;\n          return browser;\n        }\n      }\n\n      // Fall back to WebKit UA pattern\n      const uaVersion = Utils.getFirstMatch(/\\sDdg\\/([\\d.]+)$/i, ua);\n      if (uaVersion) {\n        browser.version = uaVersion;\n      }\n\n      return browser;\n    },\n  },\n  /* Brave Browser */\n  {\n    test(parser) {\n      // Check Client Hints brands for Brave\n      return parser.hasBrand('Brave');\n    },\n    describe(ua, parser) {\n      const browser = {\n        name: 'Brave',\n      };\n\n      if (parser) {\n        const hintsVersion = parser.getBrandVersion('Brave');\n        if (hintsVersion) {\n          browser.version = hintsVersion;\n          return browser;\n        }\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/chromium/i],\n    describe(ua) {\n      const browser = {\n        name: 'Chromium',\n      };\n      const version = Utils.getFirstMatch(/(?:chromium)[\\s/](\\d+(\\.?_?\\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/chrome|crios|crmo/i],\n    describe(ua) {\n      const browser = {\n        name: 'Chrome',\n      };\n      const version = Utils.getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n  {\n    test: [/GSA/i],\n    describe(ua) {\n      const browser = {\n        name: 'Google Search',\n      };\n      const version = Utils.getFirstMatch(/(?:GSA)\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n\n  /* Android Browser */\n  {\n    test(parser) {\n      const notLikeAndroid = !parser.test(/like android/i);\n      const butAndroid = parser.test(/android/i);\n      return notLikeAndroid && butAndroid;\n    },\n    describe(ua) {\n      const browser = {\n        name: 'Android Browser',\n      };\n      const version = Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n\n  /* PlayStation 4 */\n  {\n    test: [/playstation 4/i],\n    describe(ua) {\n      const browser = {\n        name: 'PlayStation 4',\n      };\n      const version = Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n\n  /* Safari */\n  {\n    test: [/safari|applewebkit/i],\n    describe(ua) {\n      const browser = {\n        name: 'Safari',\n      };\n      const version = Utils.getFirstMatch(commonVersionIdentifier, ua);\n\n      if (version) {\n        browser.version = version;\n      }\n\n      return browser;\n    },\n  },\n\n  /* Something else */\n  {\n    test: [/.*/i],\n    describe(ua) {\n      /* Here we try to make sure that there are explicit details about the device\n       * in order to decide what regexp exactly we want to apply\n       * (as there is a specific decision based on that conclusion)\n       */\n      const regexpWithoutDeviceSpec = /^(.*)\\/(.*) /;\n      const regexpWithDeviceSpec = /^(.*)\\/(.*)[ \\t]\\((.*)/;\n      const hasDeviceSpec = ua.search('\\\\(') !== -1;\n      const regexp = hasDeviceSpec ? regexpWithDeviceSpec : regexpWithoutDeviceSpec;\n      return {\n        name: Utils.getFirstMatch(regexp, ua),\n        version: Utils.getSecondMatch(regexp, ua),\n      };\n    },\n  },\n];\n\nexport default browsersList;\n","import Utils from './utils.js';\nimport { OS_MAP } from './constants.js';\n\nexport default [\n  /* Roku */\n  {\n    test: [/Roku\\/DVP/],\n    describe(ua) {\n      const version = Utils.getFirstMatch(/Roku\\/DVP-(\\d+\\.\\d+)/i, ua);\n      return {\n        name: OS_MAP.Roku,\n        version,\n      };\n    },\n  },\n\n  /* Windows Phone */\n  {\n    test: [/windows phone/i],\n    describe(ua) {\n      const version = Utils.getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i, ua);\n      return {\n        name: OS_MAP.WindowsPhone,\n        version,\n      };\n    },\n  },\n\n  /* Windows */\n  {\n    test: [/windows /i],\n    describe(ua) {\n      const version = Utils.getFirstMatch(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i, ua);\n      const versionName = Utils.getWindowsVersionName(version);\n\n      return {\n        name: OS_MAP.Windows,\n        version,\n        versionName,\n      };\n    },\n  },\n\n  /* Firefox on iPad */\n  {\n    test: [/Macintosh(.*?) FxiOS(.*?)\\//],\n    describe(ua) {\n      const result = {\n        name: OS_MAP.iOS,\n      };\n      const version = Utils.getSecondMatch(/(Version\\/)(\\d[\\d.]+)/, ua);\n      if (version) {\n        result.version = version;\n      }\n      return result;\n    },\n  },\n\n  /* macOS */\n  {\n    test: [/macintosh/i],\n    describe(ua) {\n      const version = Utils.getFirstMatch(/mac os x (\\d+(\\.?_?\\d+)+)/i, ua).replace(/[_\\s]/g, '.');\n      const versionName = Utils.getMacOSVersionName(version);\n\n      const os = {\n        name: OS_MAP.MacOS,\n        version,\n      };\n      if (versionName) {\n        os.versionName = versionName;\n      }\n      return os;\n    },\n  },\n\n  /* iOS */\n  {\n    test: [/(ipod|iphone|ipad)/i],\n    describe(ua) {\n      const version = Utils.getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i, ua).replace(/[_\\s]/g, '.');\n\n      return {\n        name: OS_MAP.iOS,\n        version,\n      };\n    },\n  },\n\n  /* HarmonyOS */\n  {\n    test: [/OpenHarmony/i],\n    describe(ua) {\n      const version = Utils.getFirstMatch(/OpenHarmony\\s+(\\d+(\\.\\d+)*)/i, ua);\n      return {\n        name: OS_MAP.HarmonyOS,\n        version,\n      };\n    },\n  },\n\n  /* Android */\n  {\n    test(parser) {\n      const notLikeAndroid = !parser.test(/like android/i);\n      const butAndroid = parser.test(/android/i);\n      return notLikeAndroid && butAndroid;\n    },\n    describe(ua) {\n      const version = Utils.getFirstMatch(/android[\\s/-](\\d+(\\.\\d+)*)/i, ua);\n      const versionName = Utils.getAndroidVersionName(version);\n      const os = {\n        name: OS_MAP.Android,\n        version,\n      };\n      if (versionName) {\n        os.versionName = versionName;\n      }\n      return os;\n    },\n  },\n\n  /* WebOS */\n  {\n    test: [/(web|hpw)[o0]s/i],\n    describe(ua) {\n      const version = Utils.getFirstMatch(/(?:web|hpw)[o0]s\\/(\\d+(\\.\\d+)*)/i, ua);\n      const os = {\n        name: OS_MAP.WebOS,\n      };\n\n      if (version && version.length) {\n        os.version = version;\n      }\n      return os;\n    },\n  },\n\n  /* BlackBerry */\n  {\n    test: [/blackberry|\\bbb\\d+/i, /rim\\stablet/i],\n    describe(ua) {\n      const version = Utils.getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i, ua)\n        || Utils.getFirstMatch(/blackberry\\d+\\/(\\d+([_\\s]\\d+)*)/i, ua)\n        || Utils.getFirstMatch(/\\bbb(\\d+)/i, ua);\n\n      return {\n        name: OS_MAP.BlackBerry,\n        version,\n      };\n    },\n  },\n\n  /* Bada */\n  {\n    test: [/bada/i],\n    describe(ua) {\n      const version = Utils.getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i, ua);\n\n      return {\n        name: OS_MAP.Bada,\n        version,\n      };\n    },\n  },\n\n  /* Tizen */\n  {\n    test: [/tizen/i],\n    describe(ua) {\n      const version = Utils.getFirstMatch(/tizen[/\\s](\\d+(\\.\\d+)*)/i, ua);\n\n      return {\n        name: OS_MAP.Tizen,\n        version,\n      };\n    },\n  },\n\n  /* Linux */\n  {\n    test: [/linux/i],\n    describe() {\n      return {\n        name: OS_MAP.Linux,\n      };\n    },\n  },\n\n  /* Chrome OS */\n  {\n    test: [/CrOS/],\n    describe() {\n      return {\n        name: OS_MAP.ChromeOS,\n      };\n    },\n  },\n\n  /* Playstation 4 */\n  {\n    test: [/PlayStation 4/],\n    describe(ua) {\n      const version = Utils.getFirstMatch(/PlayStation 4[/\\s](\\d+(\\.\\d+)*)/i, ua);\n      return {\n        name: OS_MAP.PlayStation4,\n        version,\n      };\n    },\n  },\n];\n","import Utils from './utils.js';\nimport { PLATFORMS_MAP } from './constants.js';\n\n/*\n * Tablets go first since usually they have more specific\n * signs to detect.\n */\n\nexport default [\n  /* Googlebot */\n  {\n    test: [/googlebot/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.bot,\n        vendor: 'Google',\n      };\n    },\n  },\n\n  /* LineSpider */\n  {\n    test: [/linespider/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.bot,\n        vendor: 'Line',\n      };\n    },\n  },\n\n  /* AmazonBot */\n  {\n    test: [/amazonbot/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.bot,\n        vendor: 'Amazon',\n      };\n    },\n  },\n\n  /* GPTBot */\n  {\n    test: [/gptbot/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.bot,\n        vendor: 'OpenAI',\n      };\n    },\n  },\n\n  /* ChatGPT-User */\n  {\n    test: [/chatgpt-user/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.bot,\n        vendor: 'OpenAI',\n      };\n    },\n  },\n\n  /* OAI-SearchBot */\n  {\n    test: [/oai-searchbot/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.bot,\n        vendor: 'OpenAI',\n      };\n    },\n  },\n\n  /* Baidu */\n  {\n    test: [/baiduspider/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.bot,\n        vendor: 'Baidu',\n      };\n    },\n  },\n\n  /* Bingbot */\n  {\n    test: [/bingbot/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.bot,\n        vendor: 'Bing',\n      };\n    },\n  },\n\n  /* DuckDuckBot */\n  {\n    test: [/duckduckbot/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.bot,\n        vendor: 'DuckDuckGo',\n      };\n    },\n  },\n\n  /* ClaudeBot */\n  {\n    test: [/claudebot/i, /claude-web/i, /claude-user/i, /claude-searchbot/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.bot,\n        vendor: 'Anthropic',\n      };\n    },\n  },\n\n  /* Omgilibot */\n  {\n    test: [/omgilibot/i, /webzio-extended/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.bot,\n        vendor: 'Webz.io',\n      };\n    },\n  },\n\n  /* Diffbot */\n  {\n    test: [/diffbot/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.bot,\n        vendor: 'Diffbot',\n      };\n    },\n  },\n\n  /* PerplexityBot */\n  {\n    test: [/perplexitybot/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.bot,\n        vendor: 'Perplexity AI',\n      };\n    },\n  },\n\n  /* Perplexity-User */\n  {\n    test: [/perplexity-user/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.bot,\n        vendor: 'Perplexity AI',\n      };\n    },\n  },\n\n  /* YouBot */\n  {\n    test: [/youbot/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.bot,\n        vendor: 'You.com',\n      };\n    },\n  },\n\n  /* Internet Archive Crawler */\n  {\n    test: [/ia_archiver/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.bot,\n        vendor: 'Internet Archive',\n      };\n    },\n  },\n\n  /* Meta-WebIndexer */\n  {\n    test: [/meta-webindexer/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.bot,\n        vendor: 'Meta',\n      };\n    },\n  },\n\n  /* Meta-ExternalAds */\n  {\n    test: [/meta-externalads/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.bot,\n        vendor: 'Meta',\n      };\n    },\n  },\n\n  /* Meta-ExternalAgent */\n  {\n    test: [/meta-externalagent/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.bot,\n        vendor: 'Meta',\n      };\n    },\n  },\n\n  /* Meta-ExternalFetcher */\n  {\n    test: [/meta-externalfetcher/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.bot,\n        vendor: 'Meta',\n      };\n    },\n  },\n\n  /* Meta Web Crawler */\n  {\n    test: [/facebookexternalhit/i, /facebookcatalog/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.bot,\n        vendor: 'Meta',\n      };\n    },\n  },\n\n  /* SlackBot */\n  {\n    test: [/slackbot/i, /slack-imgProxy/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.bot,\n        vendor: 'Slack',\n      };\n    },\n  },\n\n  /* Yahoo! Slurp */\n  {\n    test: [/yahoo/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.bot,\n        vendor: 'Yahoo',\n      };\n    },\n  },\n\n  /* Yandex */\n  {\n    test: [/yandexbot/i, /yandexmobilebot/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.bot,\n        vendor: 'Yandex',\n      };\n    },\n  },\n\n  /* Pingdom */\n  {\n    test: [/pingdom/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.bot,\n        vendor: 'Pingdom',\n      };\n    },\n  },\n\n  /* Huawei */\n  {\n    test: [/huawei/i],\n    describe(ua) {\n      const model = Utils.getFirstMatch(/(can-l01)/i, ua) && 'Nova';\n      const platform = {\n        type: PLATFORMS_MAP.mobile,\n        vendor: 'Huawei',\n      };\n      if (model) {\n        platform.model = model;\n      }\n      return platform;\n    },\n  },\n\n  /* Nexus Tablet */\n  {\n    test: [/nexus\\s*(?:7|8|9|10).*/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.tablet,\n        vendor: 'Nexus',\n      };\n    },\n  },\n\n  /* iPad */\n  {\n    test: [/ipad/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.tablet,\n        vendor: 'Apple',\n        model: 'iPad',\n      };\n    },\n  },\n\n  /* Firefox on iPad */\n  {\n    test: [/Macintosh(.*?) FxiOS(.*?)\\//],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.tablet,\n        vendor: 'Apple',\n        model: 'iPad',\n      };\n    },\n  },\n\n  /* Amazon Kindle Fire */\n  {\n    test: [/kftt build/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.tablet,\n        vendor: 'Amazon',\n        model: 'Kindle Fire HD 7',\n      };\n    },\n  },\n\n  /* Another Amazon Tablet with Silk */\n  {\n    test: [/silk/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.tablet,\n        vendor: 'Amazon',\n      };\n    },\n  },\n\n  /* Tablet */\n  {\n    test: [/tablet(?! pc)/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.tablet,\n      };\n    },\n  },\n\n  /* iPod/iPhone */\n  {\n    test(parser) {\n      const iDevice = parser.test(/ipod|iphone/i);\n      const likeIDevice = parser.test(/like (ipod|iphone)/i);\n      return iDevice && !likeIDevice;\n    },\n    describe(ua) {\n      const model = Utils.getFirstMatch(/(ipod|iphone)/i, ua);\n      return {\n        type: PLATFORMS_MAP.mobile,\n        vendor: 'Apple',\n        model,\n      };\n    },\n  },\n\n  /* Nexus Mobile */\n  {\n    test: [/nexus\\s*[0-6].*/i, /galaxy nexus/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.mobile,\n        vendor: 'Nexus',\n      };\n    },\n  },\n\n  /* Nokia */\n  {\n    test: [/Nokia/i],\n    describe(ua) {\n      const model = Utils.getFirstMatch(/Nokia\\s+([0-9]+(\\.[0-9]+)?)/i, ua);\n      const platform = {\n        type: PLATFORMS_MAP.mobile,\n        vendor: 'Nokia',\n      };\n      if (model) {\n        platform.model = model;\n      }\n      return platform;\n    },\n  },\n\n  /* Mobile */\n  {\n    test: [/[^-]mobi/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.mobile,\n      };\n    },\n  },\n\n  /* BlackBerry */\n  {\n    test(parser) {\n      return parser.getBrowserName(true) === 'blackberry';\n    },\n    describe() {\n      return {\n        type: PLATFORMS_MAP.mobile,\n        vendor: 'BlackBerry',\n      };\n    },\n  },\n\n  /* Bada */\n  {\n    test(parser) {\n      return parser.getBrowserName(true) === 'bada';\n    },\n    describe() {\n      return {\n        type: PLATFORMS_MAP.mobile,\n      };\n    },\n  },\n\n  /* Windows Phone */\n  {\n    test(parser) {\n      return parser.getBrowserName() === 'windows phone';\n    },\n    describe() {\n      return {\n        type: PLATFORMS_MAP.mobile,\n        vendor: 'Microsoft',\n      };\n    },\n  },\n\n  /* Android Tablet */\n  {\n    test(parser) {\n      const osMajorVersion = Number(String(parser.getOSVersion()).split('.')[0]);\n      return parser.getOSName(true) === 'android' && (osMajorVersion >= 3);\n    },\n    describe() {\n      return {\n        type: PLATFORMS_MAP.tablet,\n      };\n    },\n  },\n\n  /* Android Mobile */\n  {\n    test(parser) {\n      return parser.getOSName(true) === 'android';\n    },\n    describe() {\n      return {\n        type: PLATFORMS_MAP.mobile,\n      };\n    },\n  },\n\n  /* Smart TV */\n  {\n    test: [/smart-?tv|smarttv/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.tv,\n      };\n    },\n  },\n\n  /* NetCast (LG Smart TV) */\n  {\n    test: [/netcast/i],\n    describe() {\n      return {\n        type: PLATFORMS_MAP.tv,\n      };\n    },\n  },\n\n  /* desktop */\n  {\n    test(parser) {\n      return parser.getOSName(true) === 'macos';\n    },\n    describe() {\n      return {\n        type: PLATFORMS_MAP.desktop,\n        vendor: 'Apple',\n      };\n    },\n  },\n\n  /* Windows */\n  {\n    test(parser) {\n      return parser.getOSName(true) === 'windows';\n    },\n    describe() {\n      return {\n        type: PLATFORMS_MAP.desktop,\n      };\n    },\n  },\n\n  /* Linux */\n  {\n    test(parser) {\n      return parser.getOSName(true) === 'linux';\n    },\n    describe() {\n      return {\n        type: PLATFORMS_MAP.desktop,\n      };\n    },\n  },\n\n  /* PlayStation 4 */\n  {\n    test(parser) {\n      return parser.getOSName(true) === 'playstation 4';\n    },\n    describe() {\n      return {\n        type: PLATFORMS_MAP.tv,\n      };\n    },\n  },\n\n  /* Roku */\n  {\n    test(parser) {\n      return parser.getOSName(true) === 'roku';\n    },\n    describe() {\n      return {\n        type: PLATFORMS_MAP.tv,\n      };\n    },\n  },\n];\n","import Utils from './utils.js';\nimport { ENGINE_MAP } from './constants.js';\n\n/*\n * More specific goes first\n */\nexport default [\n  /* EdgeHTML */\n  {\n    test(parser) {\n      return parser.getBrowserName(true) === 'microsoft edge';\n    },\n    describe(ua) {\n      const isBlinkBased = /\\sedg\\//i.test(ua);\n\n      // return blink if it's blink-based one\n      if (isBlinkBased) {\n        return {\n          name: ENGINE_MAP.Blink,\n        };\n      }\n\n      // otherwise match the version and return EdgeHTML\n      const version = Utils.getFirstMatch(/edge\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n      return {\n        name: ENGINE_MAP.EdgeHTML,\n        version,\n      };\n    },\n  },\n\n  /* Trident */\n  {\n    test: [/trident/i],\n    describe(ua) {\n      const engine = {\n        name: ENGINE_MAP.Trident,\n      };\n\n      const version = Utils.getFirstMatch(/trident\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n      if (version) {\n        engine.version = version;\n      }\n\n      return engine;\n    },\n  },\n\n  /* Presto */\n  {\n    test(parser) {\n      return parser.test(/presto/i);\n    },\n    describe(ua) {\n      const engine = {\n        name: ENGINE_MAP.Presto,\n      };\n\n      const version = Utils.getFirstMatch(/presto\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n      if (version) {\n        engine.version = version;\n      }\n\n      return engine;\n    },\n  },\n\n  /* Gecko */\n  {\n    test(parser) {\n      const isGecko = parser.test(/gecko/i);\n      const likeGecko = parser.test(/like gecko/i);\n      return isGecko && !likeGecko;\n    },\n    describe(ua) {\n      const engine = {\n        name: ENGINE_MAP.Gecko,\n      };\n\n      const version = Utils.getFirstMatch(/gecko\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n      if (version) {\n        engine.version = version;\n      }\n\n      return engine;\n    },\n  },\n\n  /* Blink */\n  {\n    test: [/(apple)?webkit\\/537\\.36/i],\n    describe() {\n      return {\n        name: ENGINE_MAP.Blink,\n      };\n    },\n  },\n\n  /* WebKit */\n  {\n    test: [/(apple)?webkit/i],\n    describe(ua) {\n      const engine = {\n        name: ENGINE_MAP.WebKit,\n      };\n\n      const version = Utils.getFirstMatch(/webkit\\/(\\d+(\\.?_?\\d+)+)/i, ua);\n\n      if (version) {\n        engine.version = version;\n      }\n\n      return engine;\n    },\n  },\n];\n","import browserParsersList from './parser-browsers.js';\nimport osParsersList from './parser-os.js';\nimport platformParsersList from './parser-platforms.js';\nimport enginesParsersList from './parser-engines.js';\nimport Utils from './utils.js';\n\n/**\n * @typedef {Object} ClientHints\n * @property {Array<{brand: string, version: string}>} [brands] Array of brand objects\n * @property {boolean} [mobile] Whether the device is mobile\n * @property {string} [platform] Platform name (e.g., \"Windows\", \"macOS\")\n * @property {string} [platformVersion] Platform version\n * @property {string} [architecture] CPU architecture\n * @property {string} [model] Device model\n * @property {boolean} [wow64] Whether running under WoW64\n */\n\n/**\n * The main class that arranges the whole parsing process.\n */\nclass Parser {\n  /**\n   * Create instance of Parser\n   *\n   * @param {String} UA User-Agent string\n   * @param {Boolean|ClientHints} [skipParsingOrHints=false] Either a boolean to skip parsing,\n   * or a ClientHints object containing User-Agent Client Hints data\n   * @param {ClientHints} [clientHints] User-Agent Client Hints data (navigator.userAgentData)\n   *\n   * @throw {Error} in case of empty UA String\n   *\n   * @constructor\n   */\n  constructor(UA, skipParsingOrHints = false, clientHints = null) {\n    if (UA === void (0) || UA === null || UA === '') {\n      throw new Error(\"UserAgent parameter can't be empty\");\n    }\n\n    this._ua = UA;\n\n    // Handle overloaded constructor: (UA, clientHints) or (UA, skipParsing, clientHints)\n    let skipParsing = false;\n    if (typeof skipParsingOrHints === 'boolean') {\n      skipParsing = skipParsingOrHints;\n      this._hints = clientHints;\n    } else if (skipParsingOrHints != null && typeof skipParsingOrHints === 'object') {\n      this._hints = skipParsingOrHints;\n    } else {\n      this._hints = null;\n    }\n\n    /**\n     * @typedef ParsedResult\n     * @property {Object} browser\n     * @property {String|undefined} [browser.name]\n     * Browser name, like `\"Chrome\"` or `\"Internet Explorer\"`\n     * @property {String|undefined} [browser.version] Browser version as a String `\"12.01.45334.10\"`\n     * @property {Object} os\n     * @property {String|undefined} [os.name] OS name, like `\"Windows\"` or `\"macOS\"`\n     * @property {String|undefined} [os.version] OS version, like `\"NT 5.1\"` or `\"10.11.1\"`\n     * @property {String|undefined} [os.versionName] OS name, like `\"XP\"` or `\"High Sierra\"`\n     * @property {Object} platform\n     * @property {String|undefined} [platform.type]\n     * platform type, can be either `\"desktop\"`, `\"tablet\"` or `\"mobile\"`\n     * @property {String|undefined} [platform.vendor] Vendor of the device,\n     * like `\"Apple\"` or `\"Samsung\"`\n     * @property {String|undefined} [platform.model] Device model,\n     * like `\"iPhone\"` or `\"Kindle Fire HD 7\"`\n     * @property {Object} engine\n     * @property {String|undefined} [engine.name]\n     * Can be any of this: `WebKit`, `Blink`, `Gecko`, `Trident`, `Presto`, `EdgeHTML`\n     * @property {String|undefined} [engine.version] String version of the engine\n     */\n    this.parsedResult = {};\n\n    if (skipParsing !== true) {\n      this.parse();\n    }\n  }\n\n  /**\n   * Get Client Hints data\n   * @return {ClientHints|null}\n   *\n   * @public\n   * @example\n   * const parser = Bowser.getParser(UA, clientHints);\n   * const hints = parser.getHints();\n   * console.log(hints.platform); // 'Windows'\n   * console.log(hints.mobile); // false\n   */\n  getHints() {\n    return this._hints;\n  }\n\n  /**\n   * Check if a brand exists in Client Hints brands array\n   * @param {string} brandName The brand name to check for\n   * @return {boolean}\n   *\n   * @public\n   * @example\n   * const parser = Bowser.getParser(UA, clientHints);\n   * if (parser.hasBrand('Google Chrome')) {\n   *   console.log('Chrome detected!');\n   * }\n   */\n  hasBrand(brandName) {\n    if (!this._hints || !Array.isArray(this._hints.brands)) {\n      return false;\n    }\n    const brandLower = brandName.toLowerCase();\n    return this._hints.brands.some(\n      b => b.brand && b.brand.toLowerCase() === brandLower,\n    );\n  }\n\n  /**\n   * Get brand version from Client Hints\n   * @param {string} brandName The brand name to get version for\n   * @return {string|undefined}\n   *\n   * @public\n   * @example\n   * const parser = Bowser.getParser(UA, clientHints);\n   * const version = parser.getBrandVersion('Google Chrome');\n   * console.log(version); // '131'\n   */\n  getBrandVersion(brandName) {\n    if (!this._hints || !Array.isArray(this._hints.brands)) {\n      return undefined;\n    }\n    const brandLower = brandName.toLowerCase();\n    const brand = this._hints.brands.find(\n      b => b.brand && b.brand.toLowerCase() === brandLower,\n    );\n    return brand ? brand.version : undefined;\n  }\n\n  /**\n   * Get UserAgent string of current Parser instance\n   * @return {String} User-Agent String of the current <Parser> object\n   *\n   * @public\n   */\n  getUA() {\n    return this._ua;\n  }\n\n  /**\n   * Test a UA string for a regexp\n   * @param {RegExp} regex\n   * @return {Boolean}\n   */\n  test(regex) {\n    return regex.test(this._ua);\n  }\n\n  /**\n   * Get parsed browser object\n   * @return {Object}\n   */\n  parseBrowser() {\n    this.parsedResult.browser = {};\n\n    const browserDescriptor = Utils.find(browserParsersList, (_browser) => {\n      if (typeof _browser.test === 'function') {\n        return _browser.test(this);\n      }\n\n      if (Array.isArray(_browser.test)) {\n        return _browser.test.some(condition => this.test(condition));\n      }\n\n      throw new Error(\"Browser's test function is not valid\");\n    });\n\n    if (browserDescriptor) {\n      this.parsedResult.browser = browserDescriptor.describe(this.getUA(), this);\n    }\n\n    return this.parsedResult.browser;\n  }\n\n  /**\n   * Get parsed browser object\n   * @return {Object}\n   *\n   * @public\n   */\n  getBrowser() {\n    if (this.parsedResult.browser) {\n      return this.parsedResult.browser;\n    }\n\n    return this.parseBrowser();\n  }\n\n  /**\n   * Get browser's name\n   * @return {String} Browser's name or an empty string\n   *\n   * @public\n   */\n  getBrowserName(toLowerCase) {\n    if (toLowerCase) {\n      return String(this.getBrowser().name).toLowerCase() || '';\n    }\n    return this.getBrowser().name || '';\n  }\n\n\n  /**\n   * Get browser's version\n   * @return {String} version of browser\n   *\n   * @public\n   */\n  getBrowserVersion() {\n    return this.getBrowser().version;\n  }\n\n  /**\n   * Get OS\n   * @return {Object}\n   *\n   * @example\n   * this.getOS();\n   * {\n   *   name: 'macOS',\n   *   version: '10.11.12'\n   * }\n   */\n  getOS() {\n    if (this.parsedResult.os) {\n      return this.parsedResult.os;\n    }\n\n    return this.parseOS();\n  }\n\n  /**\n   * Parse OS and save it to this.parsedResult.os\n   * @return {*|{}}\n   */\n  parseOS() {\n    this.parsedResult.os = {};\n\n    const os = Utils.find(osParsersList, (_os) => {\n      if (typeof _os.test === 'function') {\n        return _os.test(this);\n      }\n\n      if (Array.isArray(_os.test)) {\n        return _os.test.some(condition => this.test(condition));\n      }\n\n      throw new Error(\"Browser's test function is not valid\");\n    });\n\n    if (os) {\n      this.parsedResult.os = os.describe(this.getUA());\n    }\n\n    return this.parsedResult.os;\n  }\n\n  /**\n   * Get OS name\n   * @param {Boolean} [toLowerCase] return lower-cased value\n   * @return {String} name of the OS — macOS, Windows, Linux, etc.\n   */\n  getOSName(toLowerCase) {\n    const { name } = this.getOS();\n\n    if (toLowerCase) {\n      return String(name).toLowerCase() || '';\n    }\n\n    return name || '';\n  }\n\n  /**\n   * Get OS version\n   * @return {String} full version with dots ('10.11.12', '5.6', etc)\n   */\n  getOSVersion() {\n    return this.getOS().version;\n  }\n\n  /**\n   * Get parsed platform\n   * @return {{}}\n   */\n  getPlatform() {\n    if (this.parsedResult.platform) {\n      return this.parsedResult.platform;\n    }\n\n    return this.parsePlatform();\n  }\n\n  /**\n   * Get platform name\n   * @param {Boolean} [toLowerCase=false]\n   * @return {*}\n   */\n  getPlatformType(toLowerCase = false) {\n    const { type } = this.getPlatform();\n\n    if (toLowerCase) {\n      return String(type).toLowerCase() || '';\n    }\n\n    return type || '';\n  }\n\n  /**\n   * Get parsed platform\n   * @return {{}}\n   */\n  parsePlatform() {\n    this.parsedResult.platform = {};\n\n    const platform = Utils.find(platformParsersList, (_platform) => {\n      if (typeof _platform.test === 'function') {\n        return _platform.test(this);\n      }\n\n      if (Array.isArray(_platform.test)) {\n        return _platform.test.some(condition => this.test(condition));\n      }\n\n      throw new Error(\"Browser's test function is not valid\");\n    });\n\n    if (platform) {\n      this.parsedResult.platform = platform.describe(this.getUA());\n    }\n\n    return this.parsedResult.platform;\n  }\n\n  /**\n   * Get parsed engine\n   * @return {{}}\n   */\n  getEngine() {\n    if (this.parsedResult.engine) {\n      return this.parsedResult.engine;\n    }\n\n    return this.parseEngine();\n  }\n\n  /**\n   * Get engines's name\n   * @return {String} Engines's name or an empty string\n   *\n   * @public\n   */\n  getEngineName(toLowerCase) {\n    if (toLowerCase) {\n      return String(this.getEngine().name).toLowerCase() || '';\n    }\n    return this.getEngine().name || '';\n  }\n\n  /**\n   * Get parsed platform\n   * @return {{}}\n   */\n  parseEngine() {\n    this.parsedResult.engine = {};\n\n    const engine = Utils.find(enginesParsersList, (_engine) => {\n      if (typeof _engine.test === 'function') {\n        return _engine.test(this);\n      }\n\n      if (Array.isArray(_engine.test)) {\n        return _engine.test.some(condition => this.test(condition));\n      }\n\n      throw new Error(\"Browser's test function is not valid\");\n    });\n\n    if (engine) {\n      this.parsedResult.engine = engine.describe(this.getUA());\n    }\n\n    return this.parsedResult.engine;\n  }\n\n  /**\n   * Parse full information about the browser\n   * @returns {Parser}\n   */\n  parse() {\n    this.parseBrowser();\n    this.parseOS();\n    this.parsePlatform();\n    this.parseEngine();\n\n    return this;\n  }\n\n  /**\n   * Get parsed result\n   * @return {ParsedResult}\n   */\n  getResult() {\n    return Utils.assign({}, this.parsedResult);\n  }\n\n  /**\n   * Check if parsed browser matches certain conditions\n   *\n   * @param {Object} checkTree It's one or two layered object,\n   * which can include a platform or an OS on the first layer\n   * and should have browsers specs on the bottom-laying layer\n   *\n   * @returns {Boolean|undefined} Whether the browser satisfies the set conditions or not.\n   * Returns `undefined` when the browser is no described in the checkTree object.\n   *\n   * @example\n   * const browser = Bowser.getParser(window.navigator.userAgent);\n   * if (browser.satisfies({chrome: '>118.01.1322' }))\n   * // or with os\n   * if (browser.satisfies({windows: { chrome: '>118.01.1322' } }))\n   * // or with platforms\n   * if (browser.satisfies({desktop: { chrome: '>118.01.1322' } }))\n   */\n  satisfies(checkTree) {\n    const platformsAndOSes = {};\n    let platformsAndOSCounter = 0;\n    const browsers = {};\n    let browsersCounter = 0;\n\n    const allDefinitions = Object.keys(checkTree);\n\n    allDefinitions.forEach((key) => {\n      const currentDefinition = checkTree[key];\n      if (typeof currentDefinition === 'string') {\n        browsers[key] = currentDefinition;\n        browsersCounter += 1;\n      } else if (typeof currentDefinition === 'object') {\n        platformsAndOSes[key] = currentDefinition;\n        platformsAndOSCounter += 1;\n      }\n    });\n\n    if (platformsAndOSCounter > 0) {\n      const platformsAndOSNames = Object.keys(platformsAndOSes);\n      const OSMatchingDefinition = Utils.find(platformsAndOSNames, name => (this.isOS(name)));\n\n      if (OSMatchingDefinition) {\n        const osResult = this.satisfies(platformsAndOSes[OSMatchingDefinition]);\n\n        if (osResult !== void 0) {\n          return osResult;\n        }\n      }\n\n      const platformMatchingDefinition = Utils.find(\n        platformsAndOSNames,\n        name => (this.isPlatform(name)),\n      );\n      if (platformMatchingDefinition) {\n        const platformResult = this.satisfies(platformsAndOSes[platformMatchingDefinition]);\n\n        if (platformResult !== void 0) {\n          return platformResult;\n        }\n      }\n    }\n\n    if (browsersCounter > 0) {\n      const browserNames = Object.keys(browsers);\n      const matchingDefinition = Utils.find(browserNames, name => (this.isBrowser(name, true)));\n\n      if (matchingDefinition !== void 0) {\n        return this.compareVersion(browsers[matchingDefinition]);\n      }\n    }\n\n    return undefined;\n  }\n\n  /**\n   * Check if the browser name equals the passed string\n   * @param {string} browserName The string to compare with the browser name\n   * @param [includingAlias=false] The flag showing whether alias will be included into comparison\n   * @returns {boolean}\n   */\n  isBrowser(browserName, includingAlias = false) {\n    const defaultBrowserName = this.getBrowserName().toLowerCase();\n    let browserNameLower = browserName.toLowerCase();\n    const alias = Utils.getBrowserTypeByAlias(browserNameLower);\n\n    if (includingAlias && alias) {\n      browserNameLower = alias.toLowerCase();\n    }\n    return browserNameLower === defaultBrowserName;\n  }\n\n  compareVersion(version) {\n    let expectedResults = [0];\n    let comparableVersion = version;\n    let isLoose = false;\n\n    const currentBrowserVersion = this.getBrowserVersion();\n\n    if (typeof currentBrowserVersion !== 'string') {\n      return void 0;\n    }\n\n    if (version[0] === '>' || version[0] === '<') {\n      comparableVersion = version.substr(1);\n      if (version[1] === '=') {\n        isLoose = true;\n        comparableVersion = version.substr(2);\n      } else {\n        expectedResults = [];\n      }\n      if (version[0] === '>') {\n        expectedResults.push(1);\n      } else {\n        expectedResults.push(-1);\n      }\n    } else if (version[0] === '=') {\n      comparableVersion = version.substr(1);\n    } else if (version[0] === '~') {\n      isLoose = true;\n      comparableVersion = version.substr(1);\n    }\n\n    return expectedResults.indexOf(\n      Utils.compareVersions(currentBrowserVersion, comparableVersion, isLoose),\n    ) > -1;\n  }\n\n  /**\n   * Check if the OS name equals the passed string\n   * @param {string} osName The string to compare with the OS name\n   * @returns {boolean}\n   */\n  isOS(osName) {\n    return this.getOSName(true) === String(osName).toLowerCase();\n  }\n\n  /**\n   * Check if the platform type equals the passed string\n   * @param {string} platformType The string to compare with the platform type\n   * @returns {boolean}\n   */\n  isPlatform(platformType) {\n    return this.getPlatformType(true) === String(platformType).toLowerCase();\n  }\n\n  /**\n   * Check if the engine name equals the passed string\n   * @param {string} engineName The string to compare with the engine name\n   * @returns {boolean}\n   */\n  isEngine(engineName) {\n    return this.getEngineName(true) === String(engineName).toLowerCase();\n  }\n\n  /**\n   * Is anything? Check if the browser is called \"anything\",\n   * the OS called \"anything\" or the platform called \"anything\"\n   * @param {String} anything\n   * @param [includingAlias=false] The flag showing whether alias will be included into comparison\n   * @returns {Boolean}\n   */\n  is(anything, includingAlias = false) {\n    return this.isBrowser(anything, includingAlias) || this.isOS(anything)\n      || this.isPlatform(anything);\n  }\n\n  /**\n   * Check if any of the given values satisfies this.is(anything)\n   * @param {String[]} anythings\n   * @returns {Boolean}\n   */\n  some(anythings = []) {\n    return anythings.some(anything => this.is(anything));\n  }\n}\n\nexport default Parser;\n","/*!\n * Bowser - a browser detector\n * https://github.com/bowser-js/bowser\n * MIT License | (c) Dustin Diaz 2012-2015\n * MIT License | (c) Denis Demchenko 2015-2019\n */\nimport Parser from './parser.js';\nimport {\n  BROWSER_MAP,\n  ENGINE_MAP,\n  OS_MAP,\n  PLATFORMS_MAP,\n} from './constants.js';\n\n/**\n * Bowser class.\n * Keep it simple as much as it can be.\n * It's supposed to work with collections of {@link Parser} instances\n * rather then solve one-instance problems.\n * All the one-instance stuff is located in Parser class.\n *\n * @class\n * @classdesc Bowser is a static object, that provides an API to the Parsers\n * @hideconstructor\n */\nclass Bowser {\n  /**\n   * Creates a {@link Parser} instance\n   *\n   * @param {String} UA UserAgent string\n   * @param {Boolean|Object} [skipParsingOrHints=false] Either a boolean to skip parsing,\n   * or a ClientHints object (navigator.userAgentData)\n   * @param {Object} [clientHints] User-Agent Client Hints data (navigator.userAgentData)\n   * @returns {Parser}\n   * @throws {Error} when UA is not a String\n   *\n   * @example\n   * const parser = Bowser.getParser(window.navigator.userAgent);\n   * const result = parser.getResult();\n   *\n   * @example\n   * // With User-Agent Client Hints\n   * const parser = Bowser.getParser(\n   *   window.navigator.userAgent,\n   *   window.navigator.userAgentData\n   * );\n   */\n  static getParser(UA, skipParsingOrHints = false, clientHints = null) {\n    if (typeof UA !== 'string') {\n      throw new Error('UserAgent should be a string');\n    }\n    return new Parser(UA, skipParsingOrHints, clientHints);\n  }\n\n  /**\n   * Creates a {@link Parser} instance and runs {@link Parser.getResult} immediately\n   *\n   * @param {String} UA UserAgent string\n   * @param {Object} [clientHints] User-Agent Client Hints data (navigator.userAgentData)\n   * @return {ParsedResult}\n   *\n   * @example\n   * const result = Bowser.parse(window.navigator.userAgent);\n   *\n   * @example\n   * // With User-Agent Client Hints\n   * const result = Bowser.parse(\n   *   window.navigator.userAgent,\n   *   window.navigator.userAgentData\n   * );\n   */\n  static parse(UA, clientHints = null) {\n    return (new Parser(UA, clientHints)).getResult();\n  }\n\n  static get BROWSER_MAP() {\n    return BROWSER_MAP;\n  }\n\n  static get ENGINE_MAP() {\n    return ENGINE_MAP;\n  }\n\n  static get OS_MAP() {\n    return OS_MAP;\n  }\n\n  static get PLATFORMS_MAP() {\n    return PLATFORMS_MAP;\n  }\n}\n\nexport default Bowser;\n","import MapCache from './_MapCache.js';\nimport setCacheAdd from './_setCacheAdd.js';\nimport setCacheHas from './_setCacheHas.js';\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n  var index = -1,\n      length = values == null ? 0 : values.length;\n\n  this.__data__ = new MapCache;\n  while (++index < length) {\n    this.add(values[index]);\n  }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nexport default SetCache;\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n  return value !== value;\n}\n\nexport default baseIsNaN;\n","import baseIndexOf from './_baseIndexOf.js';\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n  var length = array == null ? 0 : array.length;\n  return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nexport default arrayIncludes;\n","import baseFindIndex from './_baseFindIndex.js';\nimport baseIsNaN from './_baseIsNaN.js';\nimport strictIndexOf from './_strictIndexOf.js';\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n  return value === value\n    ? strictIndexOf(array, value, fromIndex)\n    : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nexport default baseIndexOf;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n  var index = fromIndex - 1,\n      length = array.length;\n\n  while (++index < length) {\n    if (array[index] === value) {\n      return index;\n    }\n  }\n  return -1;\n}\n\nexport default strictIndexOf;\n","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n  var length = array.length,\n      index = fromIndex + (fromRight ? 1 : -1);\n\n  while ((fromRight ? index-- : ++index < length)) {\n    if (predicate(array[index], index, array)) {\n      return index;\n    }\n  }\n  return -1;\n}\n\nexport default baseFindIndex;\n","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n  var index = -1,\n      length = array == null ? 0 : array.length;\n\n  while (++index < length) {\n    if (comparator(value, array[index])) {\n      return true;\n    }\n  }\n  return false;\n}\n\nexport default arrayIncludesWith;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n  return cache.has(key);\n}\n\nexport default cacheHas;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n  this.__data__.set(value, HASH_UNDEFINED);\n  return this;\n}\n\nexport default setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n  return this.__data__.has(value);\n}\n\nexport default setCacheHas;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nexport default Set;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n  var index = -1,\n      result = Array(set.size);\n\n  set.forEach(function(value) {\n    result[++index] = value;\n  });\n  return result;\n}\n\nexport default setToArray;\n","import Set from './_Set.js';\nimport noop from './noop.js';\nimport setToArray from './_setToArray.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n  return new Set(values);\n};\n\nexport default createSet;\n","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n  // No operation performed.\n}\n\nexport default noop;\n","import baseUniq from './_baseUniq.js';\n\n/**\n * This method is like `_.uniq` except that it accepts `comparator` which\n * is invoked to compare elements of `array`. The order of result values is\n * determined by the order they occur in the array.The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.uniqWith(objects, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]\n */\nfunction uniqWith(array, comparator) {\n  comparator = typeof comparator == 'function' ? comparator : undefined;\n  return (array && array.length) ? baseUniq(array, undefined, comparator) : [];\n}\n\nexport default uniqWith;\n","import SetCache from './_SetCache.js';\nimport arrayIncludes from './_arrayIncludes.js';\nimport arrayIncludesWith from './_arrayIncludesWith.js';\nimport cacheHas from './_cacheHas.js';\nimport createSet from './_createSet.js';\nimport setToArray from './_setToArray.js';\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n  var index = -1,\n      includes = arrayIncludes,\n      length = array.length,\n      isCommon = true,\n      result = [],\n      seen = result;\n\n  if (comparator) {\n    isCommon = false;\n    includes = arrayIncludesWith;\n  }\n  else if (length >= LARGE_ARRAY_SIZE) {\n    var set = iteratee ? null : createSet(array);\n    if (set) {\n      return setToArray(set);\n    }\n    isCommon = false;\n    includes = cacheHas;\n    seen = new SetCache;\n  }\n  else {\n    seen = iteratee ? [] : result;\n  }\n  outer:\n  while (++index < length) {\n    var value = array[index],\n        computed = iteratee ? iteratee(value) : value;\n\n    value = (comparator || value !== 0) ? value : 0;\n    if (isCommon && computed === computed) {\n      var seenIndex = seen.length;\n      while (seenIndex--) {\n        if (seen[seenIndex] === computed) {\n          continue outer;\n        }\n      }\n      if (iteratee) {\n        seen.push(computed);\n      }\n      result.push(value);\n    }\n    else if (!includes(seen, computed, comparator)) {\n      if (seen !== result) {\n        seen.push(computed);\n      }\n      result.push(value);\n    }\n  }\n  return result;\n}\n\nexport default baseUniq;\n","import uniqWith from 'lodash-es/uniqWith';\nimport Bowser from 'bowser';\n\nconst bowser =\n  global.navigator && global.navigator.userAgent\n    ? Bowser.getParser(global.navigator.userAgent).getBrowser()\n    : null;\nconst browser =\n  bowser && bowser.name && bowser.version\n    ? { name: bowser.name, version: bowser.version }\n    : null;\n\nexport default class Log {\n  constructor(opts = {}) {\n    // eslint-disable-next-line no-restricted-properties\n    Object.assign(\n      this,\n      {\n        version: '1.2',\n        entries: [],\n        pages: []\n      },\n      opts\n    );\n\n    if (!this.browser && browser) {\n      this.browser = browser;\n    }\n  }\n\n  addEntries(entries = []) {\n    this.entries = uniqWith(\n      // Add the new entries to the front so they take priority\n      [...entries, ...this.entries],\n      (a, b) => a._id === b._id && a._order === b._order\n    );\n  }\n\n  sortEntries() {\n    this.entries = this.entries.sort(\n      (a, b) => new Date(a.startedDateTime) - new Date(b.startedDateTime)\n    );\n  }\n}\n","import Log from './log';\n\nexport default class HAR {\n  constructor(opts = {}) {\n    this.log = new Log(opts.log);\n  }\n}\n","const { keys } = Object;\nconst { isArray } = Array;\n\nexport default function toNVPairs(o) {\n  return keys(o || {}).reduce((pairs, name) => {\n    const value = o[name];\n\n    if (isArray(value)) {\n      // _fromType is used to convert the stored header back into the\n      // type it originally was. Take the following example:\n      //   { 'content-type': ['text/htm'] }\n      //     => { name: 'content-type', value: 'text/html', _fromType: 'array }\n      //     => { 'content-type': ['text/htm'] }\n      pairs.push(...value.map((v) => ({ name, value: v, _fromType: 'array' })));\n    } else {\n      pairs.push({ name, value });\n    }\n\n    return pairs;\n  }, []);\n}\n","const { isArray } = Array;\n\n/**\n * Get the value of the given header name. If the value is an array,\n * get the first value.\n *\n * @export\n * @param {PollyRequest | PollyResponse} r\n * @param {string} name\n * @returns {string | undefined}\n */\nexport default function getFirstHeader(r, name) {\n  const value = r.getHeader(name);\n\n  if (isArray(value)) {\n    return value.length > 0 ? value[0] : '';\n  }\n\n  return value;\n}\n","import getByteLength from 'utf8-byte-length';\nimport setCookies from 'set-cookie-parser';\n\nimport toNVPairs from './utils/to-nv-pairs';\nimport getFirstHeader from './utils/get-first-header';\n\nfunction headersSize(request) {\n  const keys = [];\n  const values = [];\n\n  request.headers.forEach(({ name, value }) => {\n    keys.push(name);\n    values.push(value);\n  });\n\n  const headersString =\n    request.method + request.url + keys.join() + values.join();\n\n  // startline: [method] [url] HTTP/1.1\\r\\n = 12\n  // endline: \\r\\n = 2\n  // every header + \\r\\n = * 2\n  // add 2 for each combined header\n  return getByteLength(headersString) + keys.length * 2 + 2 + 12 + 2;\n}\n\nexport default class Request {\n  constructor(request) {\n    this.httpVersion = 'HTTP/1.1';\n    this.url = request.absoluteUrl;\n    this.method = request.method;\n    this.headers = toNVPairs(request.headers);\n    this.headersSize = headersSize(this);\n    this.queryString = toNVPairs(request.query);\n    this.cookies = setCookies.parse(request.getHeader('Set-Cookie'));\n\n    if (request.body) {\n      this.postData = {\n        mimeType: getFirstHeader(request, 'Content-Type') || 'text/plain',\n        params: []\n      };\n\n      if (typeof request.body === 'string') {\n        this.postData.text = request.body;\n      }\n    }\n\n    const contentLength = getFirstHeader(request, 'Content-Length');\n\n    if (contentLength) {\n      this.bodySize = parseInt(contentLength, 10);\n    } else {\n      this.bodySize =\n        this.postData && this.postData.text\n          ? getByteLength(this.postData.text)\n          : 0;\n    }\n  }\n}\n","import getByteLength from 'utf8-byte-length';\nimport setCookies from 'set-cookie-parser';\n\nimport toNVPairs from './utils/to-nv-pairs';\nimport getFirstHeader from './utils/get-first-header';\n\nfunction headersSize(response) {\n  const keys = [];\n  const values = [];\n\n  response.headers.forEach(({ name, value }) => {\n    keys.push(name);\n    values.push(value);\n  });\n\n  const headersString = keys.join() + values.join();\n\n  // endline: \\r\\n = 2\n  // every header + \\r\\n = * 2\n  // add 2 for each combined header\n  return getByteLength(headersString) + keys.length * 2 + 2 + 2;\n}\n\nexport default class Response {\n  constructor(response) {\n    this.httpVersion = 'HTTP/1.1';\n    this.status = response.statusCode;\n    this.statusText = response.statusText;\n    this.headers = toNVPairs(response.headers);\n    this.headersSize = headersSize(this);\n    this.cookies = setCookies.parse(response.getHeader('Set-Cookie'));\n    this.redirectURL = getFirstHeader(response, 'Location') || '';\n\n    this.content = {\n      mimeType: getFirstHeader(response, 'Content-Type') || 'text/plain'\n    };\n\n    if (response.body && typeof response.body === 'string') {\n      this.content.text = response.body;\n\n      if (response.encoding) {\n        this.content.encoding = response.encoding;\n      }\n    }\n\n    const contentLength = getFirstHeader(response, 'Content-Length');\n\n    if (contentLength) {\n      this.content.size = parseInt(contentLength, 10);\n    } else {\n      this.content.size = this.content.text\n        ? getByteLength(this.content.text)\n        : 0;\n    }\n\n    this.bodySize = this.content.size;\n  }\n}\n","import Request from './request';\nimport Response from './response';\n\nconst { keys } = Object;\n\nfunction totalTime(timings = {}) {\n  return keys(timings).reduce(\n    (total, k) => (timings[k] > 0 ? (total += timings[k]) : total),\n    0\n  );\n}\n\nexport default class Entry {\n  constructor(request) {\n    this._id = request.id;\n    this._order = request.order;\n    this.startedDateTime = request.timestamp;\n    this.request = new Request(request);\n    this.response = new Response(request.response);\n    this.cache = {};\n    this.timings = {\n      blocked: -1,\n      dns: -1,\n      connect: -1,\n      send: 0,\n      wait: request.responseTime,\n      receive: 0,\n      ssl: -1\n    };\n    this.time = totalTime(this.timings);\n  }\n}\n","const { keys } = Object;\nconst REQUEST_ASYNC =\n  !('navigator' in global) || !/PhantomJS/.test(global.navigator.userAgent);\nconst NativeXMLHttpRequest = global.XMLHttpRequest;\n\nexport default function ajax(url, options = {}) {\n  return new Promise((resolve, reject) => {\n    const xhr = new NativeXMLHttpRequest();\n\n    xhr.open(options.method || 'GET', url, REQUEST_ASYNC);\n\n    keys(options.headers || {}).forEach((k) =>\n      xhr.setRequestHeader(k, options.headers[k])\n    );\n\n    xhr.send(options.body);\n\n    if (REQUEST_ASYNC) {\n      xhr.onreadystatechange = () => {\n        if (xhr.readyState === NativeXMLHttpRequest.DONE) {\n          handleResponse(xhr, resolve, reject);\n        }\n      };\n\n      xhr.onerror = () => reject(xhr);\n    } else {\n      handleResponse(xhr, resolve, reject);\n    }\n  });\n}\n\nfunction handleResponse(xhr, resolve, reject) {\n  let body = xhr.response || xhr.responseText;\n\n  if (body && typeof body === 'string') {\n    try {\n      body = JSON.parse(body);\n    } catch (e) {\n      if (!(e instanceof SyntaxError)) {\n        console.error(e);\n      }\n    }\n  }\n\n  return xhr.status >= 200 && xhr.status < 300\n    ? resolve({ body, xhr })\n    : reject(xhr);\n}\n","export default {\n  RECORD: 'record',\n  REPLAY: 'replay',\n  PASSTHROUGH: 'passthrough',\n  STOPPED: 'stopped'\n};\n","export default {\n  RECORD: 'record',\n  REPLAY: 'replay',\n  INTERCEPT: 'intercept',\n  PASSTHROUGH: 'passthrough'\n};\n","export default [\n  'GET',\n  'PUT',\n  'POST',\n  'DELETE',\n  'PATCH',\n  'MERGE',\n  'HEAD',\n  'OPTIONS'\n];\n","export default {\n  100: 'Continue',\n  101: 'Switching Protocols',\n  200: 'OK',\n  201: 'Created',\n  202: 'Accepted',\n  203: 'Non-Authoritative Information',\n  204: 'No Content',\n  205: 'Reset Content',\n  206: 'Partial Content',\n  207: 'Multi-Status',\n  300: 'Multiple Choice',\n  301: 'Moved Permanently',\n  302: 'Found',\n  303: 'See Other',\n  304: 'Not Modified',\n  305: 'Use Proxy',\n  307: 'Temporary Redirect',\n  400: 'Bad Request',\n  401: 'Unauthorized',\n  402: 'Payment Required',\n  403: 'Forbidden',\n  404: 'Not Found',\n  405: 'Method Not Allowed',\n  406: 'Not Acceptable',\n  407: 'Proxy Authentication Required',\n  408: 'Request Timeout',\n  409: 'Conflict',\n  410: 'Gone',\n  411: 'Length Required',\n  412: 'Precondition Failed',\n  413: 'Request Entity Too Large',\n  414: 'Request-URI Too Long',\n  415: 'Unsupported Media Type',\n  416: 'Requested Range Not Satisfiable',\n  417: 'Expectation Failed',\n  422: 'Unprocessable Entity',\n  500: 'Internal Server Error',\n  501: 'Not Implemented',\n  502: 'Bad Gateway',\n  503: 'Service Unavailable',\n  504: 'Gateway Timeout',\n  505: 'HTTP Version Not Supported'\n};\n","export default {\n  RECORD: 'record',\n  WARN: 'warn',\n  ERROR: 'error'\n};\n","export default class PollyError extends Error {\n  constructor(message, ...args) {\n    super(`[Polly] ${message}`, ...args);\n\n    // Maintains proper stack trace for where our error was thrown (only available on V8)\n    if (Error.captureStackTrace) {\n      Error.captureStackTrace(this, PollyError);\n    }\n\n    this.name = 'PollyError';\n  }\n}\n","import PollyError from './polly-error';\n\nexport default function (msg, condition) {\n  if (!condition) {\n    throw new PollyError(msg);\n  }\n}\n","export default function timeout(time) {\n  const ms = parseInt(time, 10);\n\n  return new Promise((resolve) =>\n    ms > 0 ? setTimeout(resolve, ms) : resolve()\n  );\n}\n","export default function timestamp() {\n  return new Date().toISOString();\n}\n","import URLParse from 'url-parse';\nimport qs from 'qs';\n\nconst ARRAY_FORMAT = Symbol();\nconst INDICES_REGEX = /\\[\\d+\\]$/;\nconst BRACKETS_REGEX = /\\[\\]$/;\n\nfunction parseQuery(query, options) {\n  return qs.parse(query, {\n    plainObjects: true,\n    ignoreQueryPrefix: true,\n    strictNullHandling: true,\n    ...options\n  });\n}\n\nfunction stringifyQuery(obj, options = {}) {\n  return qs.stringify(obj, {\n    addQueryPrefix: true,\n    strictNullHandling: true,\n    ...options\n  });\n}\n\n/**\n * Given a query string, determine the array format used. Returns `undefined`\n * if one cannot be determined.\n *\n * @param {String} query\n * @returns {String | undefined}\n */\nfunction arrayFormat(query) {\n  const keys = (query || '')\n    .replace('?', '')\n    .split('&')\n    .map((str) => decodeURIComponent(str.split('=')[0]));\n\n  for (const key of keys) {\n    if (INDICES_REGEX.test(key)) {\n      // a[0]=b&a[1]=c\n      return 'indices';\n    } else if (BRACKETS_REGEX.test(key)) {\n      // a[]=b&a[]=c\n      return 'brackets';\n    }\n  }\n\n  // Look to see if any key has a duplicate\n  const hasDuplicate = keys.some((key, index) => keys.indexOf(key) !== index);\n\n  if (hasDuplicate) {\n    // 'a=b&a=c'\n    return 'repeat';\n  }\n}\n\n/**\n * An extended url-parse class that uses `qs` instead of the default\n * `querystringify` to support array and nested object query param strings.\n */\nexport default class URL extends URLParse {\n  constructor(url, parse) {\n    // Construct the url with an un-parsed querystring\n    super(url);\n\n    if (parse) {\n      // If we want the querystring to be parsed, use this.set('query', query)\n      // as it will always parse the string. If there is no initial querystring\n      // pass an object which will act as the parsed query.\n      this.set('query', this.query || {});\n    }\n  }\n\n  /**\n   * Override set for `query` so we can pass it our custom parser.\n   * https://github.com/unshiftio/url-parse/blob/1.4.4/index.js#L314-L316\n   *\n   * @override\n   */\n  set(part, value, fn) {\n    if (part === 'query') {\n      if (value && typeof value === 'string') {\n        // Save the array format used so when we stringify it,\n        // we can use the correct format.\n        this[ARRAY_FORMAT] = arrayFormat(value) || this[ARRAY_FORMAT];\n      }\n\n      return super.set(part, value, parseQuery);\n    }\n\n    return super.set(part, value, fn);\n  }\n\n  /**\n   * Override toString so we can pass it our custom query stringify method.\n   * https://github.com/unshiftio/url-parse/blob/1.4.4/index.js#L414\n   *\n   * @override\n   */\n  toString() {\n    return super.toString((obj) =>\n      stringifyQuery(obj, { arrayFormat: this[ARRAY_FORMAT] })\n    );\n  }\n}\n","import URL from './url';\n\nexport default function buildUrl(...paths) {\n  const url = new URL(\n    paths\n      .map((p) => p && (p + '').trim()) // Trim each string\n      .filter(Boolean) // Remove empty strings or other falsy paths\n      .join('/')\n  );\n\n  // Replace 2+ consecutive slashes with 1. (e.g. `///` --> `/`)\n  url.set('pathname', url.pathname.replace(/\\/{2,}/g, '/'));\n\n  return url.href;\n}\n","export const supportsBlob = (() => {\n  try {\n    return !!new Blob();\n  } catch (e) {\n    return false;\n  }\n})();\n\nexport function readBlob(blob) {\n  return new Promise((resolve, reject) => {\n    const reader = new FileReader();\n\n    reader.onend = reject;\n    reader.onabort = reject;\n    reader.onload = () => resolve(reader.result);\n    reader.readAsDataURL(new Blob([blob], { type: blob.type }));\n  });\n}\n\nexport async function serialize(body) {\n  if (supportsBlob && body instanceof Blob) {\n    return await readBlob(body);\n  }\n\n  return body;\n}\n","import { supportsBlob, readBlob } from './blob';\n\nexport const supportsFormData = typeof FormData !== 'undefined';\n\nexport async function serialize(body) {\n  if (supportsFormData && body instanceof FormData) {\n    const data = [];\n\n    for (const [key, value] of body.entries()) {\n      if (supportsBlob && value instanceof Blob) {\n        const blobContent = await readBlob(value);\n\n        data.push(`${key}=${blobContent}`);\n      } else {\n        data.push(`${key}=${value}`);\n      }\n    }\n\n    return data.join('\\r\\n');\n  }\n\n  return body;\n}\n","/* eslint-env node */\n\nexport const supportsBuffer = typeof Buffer !== 'undefined';\nexport const supportsArrayBuffer = typeof ArrayBuffer !== 'undefined';\n\nexport function serialize(body) {\n  if (supportsBuffer && body) {\n    let buffer;\n\n    if (Buffer.isBuffer(body)) {\n      buffer = body;\n    } else if (Array.isArray(body) && body.some((c) => Buffer.isBuffer(c))) {\n      // Body is a chunked array\n      const chunks = body.map((c) => Buffer.from(c));\n\n      buffer = Buffer.concat(chunks);\n    } else if (`${body}` === '[object ArrayBuffer]') {\n      buffer = Buffer.from(body);\n    } else if (supportsArrayBuffer && ArrayBuffer.isView(body)) {\n      buffer = Buffer.from(body.buffer, body.byteOffset, body.byteLength);\n    }\n\n    if (Buffer.isBuffer(buffer)) {\n      return buffer.toString('base64');\n    }\n  }\n\n  return body;\n}\n","import { serialize as blob } from './blob';\nimport { serialize as formData } from './form-data';\nimport { serialize as buffer } from './buffer';\n\nexport default { blob, formData, buffer };\n","import { Buffer } from 'buffer';\n\n/**\n * Determine if the given buffer is utf8.\n * @param {Buffer} buffer\n */\nexport default function isBufferUtf8Representable(buffer) {\n  const utfEncodedBuffer = buffer.toString('utf8');\n  const reconstructedBuffer = Buffer.from(utfEncodedBuffer, 'utf8');\n\n  return reconstructedBuffer.equals(buffer);\n}\n","/**\n * Clone an array buffer\n *\n * @param {ArrayBuffer} arrayBuffer\n */\nexport default function cloneArrayBuffer(arrayBuffer) {\n  const clonedArrayBuffer = new ArrayBuffer(arrayBuffer.byteLength);\n\n  new Uint8Array(clonedArrayBuffer).set(new Uint8Array(arrayBuffer));\n\n  return clonedArrayBuffer;\n}\n","import {actionTypes} from '@servicenow/ui-core';\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_TREE_RENDERED,\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_RENDER_REQUESTED,\n} = actionTypes;\nconst BEHAVIOR_NAME = 'defer';\n\n/**\n * This behavior defers rendering of the 'target' component and specifies a trigger and event which will undefer and render the target.\n *\n * **Register behavior**\n *\n * After installation import the behavior at the top of your component JS file\n * and instantiate a new instance by passing required options object.\n *\n * See the **Getting Started** section below for configuration details.\n *\n * Finally register the deferBehavior in your component and add the 'defer' attribute to the 'target' element\n *\n * ```js\n * import deferBehavior from '@servicenow/behavior-defer';\n * ...\n *\n * createCustomElement('sn-example', {\n *   renderer: {\n *     type: snabbdom,\n *     view: (state) => {\n *     ...\n *     }\n *   },\n *   behaviors: [{behavior:deferBehavior, options: {\n *    events:[{type: 'onmouseenter', trigger: 'now-popover`, target:'now-dropdown-list'}]\n *   }]\n * });\n * ```\n *\n * See `example/sn-defer-example.js` for an example.\n *\n * **Configuration options**\n *\n * events (required): An array of objects that specify the event type, trigger and target\n * shouldUndefer (optional): A function that will be used to determine if the target should be undeferred.\n *\n * Configuration example:\n *\n * ```js\n * import deferBehavior from '@servicenow/behavior-defer';\n *\n * createCustomElement('sn-foo', {\n *   ...\n *   behaviors: [{\n *     behavior: deferBehavior,\n *     options: {\n *     \tevents: [{type: 'mouseenter', trigger: 'now-popover', target: 'now-dropdown-list'}],\n *     \tshouldUndefer: (target, {state, properties, meta, event}) => {\n *     \t\t//custom logic to determine if target should be undeferred\n *     \t\treturn meta.foo === 'foo';\n *    \t}\n *    }\n *   }]\n * });\n * ```\n *\n * **How it works**\n * When the event type is delevered to the trigger element the listener function which contains the `shouldUndefer` check is called. The target is undeferred when `shouldUndefer` returns true.\n *\n * **Component requirements**\n * Target must be a seismic component.\n *\n *\n * @seismicBehavior deferBehavior\n * @summary Defer rendering of configured target component.\n */\n\nconst shouldUndeferDefault = (target, {state, properties, event}) => {\n\t//deferEffect call\n\tif (!event.type) return state.opened || properties.opened;\n\n\t//mouse event triggered call\n\treturn !properties.disabled;\n};\n\nconst deferFn = (\n\thost,\n\tupdateState,\n\tstate,\n\tproperties,\n\tmeta,\n\tevent,\n\tshouldUndefer = shouldUndeferDefault,\n) => {\n\tconst updatedTargets = [];\n\tconst undeferred = [];\n\tconst targets = state.behaviors[BEHAVIOR_NAME].targets;\n\ttargets.forEach((target) => {\n\t\tif (shouldUndefer(target, {host, state, properties, meta, event})) {\n\t\t\tconst el = host.shadowRoot.querySelector(target);\n\t\t\tif (el) {\n\t\t\t\tel.removeAttribute('defer');\n\t\t\t\tundeferred.push({target, el});\n\t\t\t} else {\n\t\t\t\t//eslint-disable-next-line no-console\n\t\t\t\tconsole.warn('no selector found');\n\t\t\t}\n\t\t} else {\n\t\t\tupdatedTargets.push(target);\n\t\t}\n\t});\n\tupdateState({\n\t\tpath: `behaviors.${BEHAVIOR_NAME}.targets`,\n\t\tvalue: updatedTargets,\n\t\toperation: 'set',\n\t\tshouldRender: false,\n\t});\n\tupdateState({\n\t\tpath: `behaviors.${BEHAVIOR_NAME}.undeferred`,\n\t\tvalue: undeferred,\n\t\toperation: 'set',\n\t\tshouldRender: false,\n\t});\n};\n\nconst deferEffect = ({\n\tstate,\n\tupdateState,\n\thost,\n\tproperties,\n\taction: {payload, meta},\n}) => {\n\tconst {\n\t\toptions: {shouldUndefer},\n\t} = payload;\n\tdeferFn(host, updateState, state, properties, meta, {}, shouldUndefer);\n};\n\nexport default {\n\tname: BEHAVIOR_NAME,\n\tinitialState: {\n\t\tundeferred: [],\n\t\ttargets: [],\n\t\tlisteners: {},\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_RENDER_REQUESTED]: ({\n\t\t\tupdateState,\n\t\t\taction: {\n\t\t\t\tpayload: {\n\t\t\t\t\toptions: {events},\n\t\t\t\t},\n\t\t\t},\n\t\t}) => {\n\t\t\tconst targets = [];\n\t\t\tevents.forEach((event) => {\n\t\t\t\ttargets.push(event.target);\n\t\t\t});\n\t\t\tupdateState({\n\t\t\t\tpath: `behaviors.${BEHAVIOR_NAME}.targets`,\n\t\t\t\tvalue: targets,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false,\n\t\t\t});\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: deferEffect,\n\t\t[COMPONENT_TREE_RENDERED]: deferEffect,\n\t\t[COMPONENT_DISCONNECTED]: ({\n\t\t\tstate: {\n\t\t\t\tbehaviors: {[BEHAVIOR_NAME]: listeners = []},\n\t\t\t},\n\t\t}) => {\n\t\t\tfor (const k in listeners) {\n\t\t\t\tconst {listenerEl, listener} = listeners[k];\n\t\t\t\tif (listenerEl) listenerEl.removeEventListener(k, listener, false);\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_CONNECTED]: ({\n\t\t\tstate,\n\t\t\tupdateState,\n\t\t\thost,\n\t\t\taction: {\n\t\t\t\tpayload: {\n\t\t\t\t\toptions: {events, shouldUndefer},\n\t\t\t\t},\n\t\t\t\tmeta,\n\t\t\t},\n\t\t}) => {\n\t\t\tconst listeners = {};\n\t\t\tconst {properties} = state;\n\t\t\tevents.forEach(({type, trigger}) => {\n\t\t\t\tconst listenerEl = host.shadowRoot.querySelector(trigger);\n\t\t\t\tif (listenerEl) {\n\t\t\t\t\tconst listener = (e) => {\n\t\t\t\t\t\tdeferFn(\n\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\tproperties,\n\t\t\t\t\t\t\tmeta,\n\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\tshouldUndefer,\n\t\t\t\t\t\t);\n\t\t\t\t\t};\n\t\t\t\t\tlistenerEl.addEventListener(type, listener, false);\n\t\t\t\t\tlisteners[`${trigger}_${type}`] = {listenerEl, listener};\n\n\t\t\t\t\tlistenerEl.addEventListener('keydown', listener, false);\n\t\t\t\t\tlisteners[`${trigger}_${type}_keydown`] = {listenerEl, listener};\n\t\t\t\t}\n\t\t\t});\n\t\t\tupdateState({\n\t\t\t\tpath: `behaviors.${BEHAVIOR_NAME}.listeners`,\n\t\t\t\tvalue: listeners,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false,\n\t\t\t});\n\t\t},\n\t},\n};\n","import {findTabbableNodes} from '@servicenow/library-enhanced-utils';\nimport {getFocusableNodes} from './get-focusable-nodes';\n\n/**\n * Synchronously focus the first node inside a host element.\n * @param {HTMLElement} host\n */\nexport const handleFocusFirstNode = (host) => {\n\tlet focusableNodes = findTabbableNodes(host);\n\n\t// Some components, like modeless dialog, don't have any built-in\n\t// nodes, so we shouldn't do anything if none are found.\n\tif (focusableNodes.length) {\n\t\treturn focusableNodes[0].focus();\n\t}\n};\n\nexport const handleFocusTrap = (event, host) => {\n\tconst path = event.composedPath();\n\tconst {firstFocusableElement, lastFocusableElement} = getFocusableNodes(host);\n\n\tif (path[0] !== firstFocusableElement && path[0] !== lastFocusableElement)\n\t\treturn;\n\n\tif (event.shiftKey) {\n\t\tif (path[0] === firstFocusableElement) {\n\t\t\tif (lastFocusableElement instanceof HTMLInputElement) {\n\t\t\t\tlastFocusableElement.select();\n\t\t\t} else {\n\t\t\t\tlastFocusableElement.focus();\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t} else {\n\t\tif (path[0] === lastFocusableElement) {\n\t\t\tif (firstFocusableElement instanceof HTMLInputElement) {\n\t\t\t\tfirstFocusableElement.select();\n\t\t\t} else {\n\t\t\t\tfirstFocusableElement.focus();\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n};\n","import {findTabbableNodes} from '@servicenow/library-enhanced-utils';\n\n/**\n * Returns an object whose properties include relevant focusable elements.\n * @param {HTMLElement} host\n * @returns {{tabbableNodes: HTMLElement[], firstFocusableElement: HTMLElement, lastFocusableElement: HTMLElement}}\n */\nexport const getFocusableNodes = (host) => {\n\tconst tabbableNodes = findTabbableNodes(host);\n\tconst firstFocusableElement = tabbableNodes[0];\n\tconst lastFocusableElement = tabbableNodes[tabbableNodes.length - 1];\n\n\treturn {\n\t\ttabbableNodes,\n\t\tfirstFocusableElement,\n\t\tlastFocusableElement,\n\t};\n};\n","import isFunction from 'lodash/isFunction';\nimport {getActiveElement} from '@servicenow/library-enhanced-utils';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {handleFocusFirstNode} from './utils/handle-focus';\nimport {handleTabKeydown} from './utils/handle-tab-keydown';\n\nconst BEHAVIOR_NAME = 'focus';\nconst {\n\tCOMPONENT_TREE_RENDERED,\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_DISCONNECTED,\n} = actionTypes;\n\nconst handleOpened = (host, updateState) => {\n\tconst triggerEl = getActiveElement();\n\tupdateState({\n\t\toperation: 'set',\n\t\tpath: 'triggerEl',\n\t\tvalue: triggerEl,\n\t\tshouldRender: false,\n\t});\n\n\thandleFocusFirstNode(host);\n};\n\nconst handleClosed = (triggerEl) => {\n\tif (!triggerEl) return;\n\ttriggerEl.focus();\n};\n\n/**\n * This behavior replaces the native `.focus()` method for the web component's\n * host element in order to allow delegation of focus to internal nodes.\n * By default, `.focus()` will delegate the event to the component's first\n * focusable node.\n *\n * Optionally, you can pass an object to the `options` key for the behavior to\n * further configure focus. See the README for more details. The accepted keys\n * are `focus` and `trap`.\n *\n * After installation, import the behavior at the top of your component JS file\n * and register it in your component behaviors list:\n *\n * ```js\n * import focusBehavior from '@servicenow/behavior-focus';\n *\n * createCustomElement('sn-example', {\n *   // ...\n *   behaviors: [{\n *     behavior: focusBehavior,\n *     options: {\n *       focus: function(host, dispatch) {\n *         // do something when .focus() is called on this component\n *       },\n *       // optionally add focus trapping\n *       trap: true\n *     }\n *   }]\n * });\n * ```\n *\n * @seismicBehavior focusBehavior\n * @summary Manages focus delegation for a web component\n */\nexport default {\n\tname: BEHAVIOR_NAME,\n\teventHandlers: [{events: ['keydown'], effect: handleTabKeydown}],\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_TREE_READY]: ({action, dispatch, host}) => {\n\t\t\tconst {options} = action.payload;\n\n\t\t\thost.focus = (focusOptions = {}) => {\n\t\t\t\treturn isFunction(options.focus)\n\t\t\t\t\t? options.focus(host, dispatch, focusOptions)\n\t\t\t\t\t: handleFocusFirstNode(host);\n\t\t\t};\n\t\t},\n\t\t[COMPONENT_TREE_RENDERED]: ({\n\t\t\taction,\n\t\t\tproperties,\n\t\t\thost,\n\t\t\tstate,\n\t\t\tupdateState,\n\t\t}) => {\n\t\t\tconst {previousRenderProperties, options} = action.payload;\n\t\t\tif (!options.trap) return;\n\n\t\t\tconst {opened} = properties;\n\t\t\tif (opened !== previousRenderProperties.opened) {\n\t\t\t\treturn opened\n\t\t\t\t\t? handleOpened(host, updateState)\n\t\t\t\t\t: handleClosed(state.triggerEl);\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: ({action, state, properties: {opened}}) => {\n\t\t\tconst {options} = action.payload;\n\t\t\tif (options.trap && opened) {\n\t\t\t\thandleClosed(state.triggerEl);\n\t\t\t}\n\t\t},\n\t},\n};\n","import {handleFocusTrap} from './handle-focus';\n\n/**\n * Effect callback in a `keydown` event handler.\n *\n * Needs to be used in `eventHandlers`:\n *\n * ```js\n * createCustomElement('my-tag', {\n * \teventHandlers: [\n * \t\t{\n * \t\t\tevents: 'keydown',\n * \t\t\teffect: handleTabKeyDown\n * \t\t}\n * \t],\n * \t// ...rest of config\n * });\n * ```\n *\n * @param {Object} coeffects - Callback in a `keydown` event handler.\n */\nexport const handleTabKeydown = ({action, host, properties}) => {\n\tconst {\n\t\tpayload: {event, options},\n\t} = action;\n\n\tif (!options.trap || event.key !== 'Tab' || !properties.opened) return;\n\n\tconst didFocus = handleFocusTrap(event, host);\n\tif (didFocus) action.preventDefault();\n};\n","export const AncestorMap = new Map();\nexport const ActionTypes = {SHOW: 'show', HIDE: 'hide'};\n","import {ActionTypes, AncestorMap} from './constants';\n\nconst BODY_TAG = 'BODY';\nconst ARIA_HIDDEN_ATTR = 'aria-hidden';\nconst HIDDEN_ATTR = 'hidden';\nconst INVISIBLE_TAGNAMES = ['SCRIPT', 'LINK', 'STYLE', 'TEMPLATE'];\nconst LANDMARK_TAGNAMES = [\n\t'ARTICLE',\n\t'ASIDE',\n\t'MAIN',\n\t'NAV',\n\t'SECTION',\n\t'FORM',\n];\nconst LANDMARK_ROLES = [\n\t'complementary',\n\t'contentinfo',\n\t'form',\n\t'banner',\n\t'main',\n\t'navigation',\n\t'region',\n];\n\nconst isInvisibleNode = (tagName) => INVISIBLE_TAGNAMES.indexOf(tagName) > -1;\n\nconst isLandmark = (element) => {\n\treturn (\n\t\tLANDMARK_TAGNAMES.indexOf(element.tagName) > -1 ||\n\t\tLANDMARK_ROLES.indexOf(element.role) > -1\n\t);\n};\n\nconst isAriaLiveRegion = (element) => element.hasAttribute('aria-live');\n\n/**\n * Sets a given element with `aria-hidden='true'`. If it\n * already has this attribute/value pair or has the `hidden`\n * attribute, a data attribute is set to ignore it when\n * the node needs to be unhidden later.\n * @param {HTMLElement} element\n */\nconst hideElement = (element) => {\n\tif (element.getAttribute(ARIA_HIDDEN_ATTR) === 'true') {\n\t\telement.dataset.behaviorModalIgnore = true;\n\t} else if (!element.hasAttribute(HIDDEN_ATTR)) {\n\t\telement.setAttribute(ARIA_HIDDEN_ATTR, 'true');\n\t}\n};\n\n/**\n * Removes a given element's `aria-hidden` attribute. If\n * a `data.behaviorModalIgnore` was added previously, it's removed.\n * @param {HTMLElement} element\n */\nconst showElement = (element) => {\n\tif (element.dataset.behaviorModalIgnore) {\n\t\tdelete element.dataset.behaviorModalIgnore;\n\t} else if (element.getAttribute(ARIA_HIDDEN_ATTR) === 'true') {\n\t\telement.removeAttribute(ARIA_HIDDEN_ATTR);\n\t}\n};\n\n/**\n * If true, the given `siblingNode` is a sibling to `node`.\n * It filters out invisible nodes. e.g. script, style, template\n * It also filters out ARIA live regions, which need to be visible to screen readers.\n * @param {Node} node\n * @param {Node} siblingNode\n * @returns {boolean}\n */\nconst isValidSibling = (node, siblingNode) => {\n\tif (\n\t\tsiblingNode.nodeType !== Node.ELEMENT_NODE ||\n\t\tsiblingNode === node ||\n\t\tisInvisibleNode(siblingNode.tagName) ||\n\t\tisAriaLiveRegion(siblingNode)\n\t) {\n\t\treturn false;\n\t}\n\n\treturn true;\n};\n\n/**\n * Returns an array of HTMLElement node siblings in the\n * given element's tree context, excluding the element.\n * @param {(HTMLElement|DocumentFragment)} element\n * @returns {HTMLElement[]}\n */\nconst getElementSiblings = (prevNode, node) => {\n\treturn Array.from(node.childNodes).filter((siblingNode) =>\n\t\tisValidSibling(prevNode, siblingNode),\n\t);\n};\n\n/**\n * If the node's parent has a shadow root, then the\n * current node is slotted. Traverse its corresponding\n * shadow root and hide or show its sibling shadow nodes.\n * @param {string} action - one of 'show' or 'hide'\n * @param {HTMLElement} node\n * @param {string} id - id of the origin host element\n */\nconst updateShadowRootElements = (node, action, id, slottedNodes) => {\n\tif (!node) return;\n\n\tconst parent = node.parentNode;\n\n\tif (parent && parent.shadowRoot) {\n\t\tconst shadowRoot = parent.shadowRoot;\n\t\tconst slot = node.assignedSlot;\n\n\t\tupdateElements(action, null, slot, id, shadowRoot, true, slottedNodes);\n\t}\n};\n\n/**\n * If an ancestor of the modal is a landmark element, we\n * need to set its role to 'none' to prevent focus from\n * reaching the landmark.\n * If the element has a `role` defined, we'll store it\n * in a data attribute.\n * @param {HTMLElement} element\n */\nconst unsetAncestorLandmark = (element) => {\n\tif (element.nodeType !== Node.ELEMENT_NODE || !isLandmark(element)) return;\n\n\tconst currentRole = element.getAttribute('role');\n\tif (currentRole) {\n\t\telement.dataset.behaviorModalAncestorRole = currentRole;\n\t} else {\n\t\telement.dataset.behaviorModalAncestorRole = true;\n\t}\n\n\telement.setAttribute('role', 'none');\n};\n\n/**\n * If an ancestor was flagged with a data attribute, add its\n * value back to the element role and remove the data attribute.\n * Otherwise,\n * @param {HTMLElement} element\n */\nconst restoreAncestorLandmark = (element) => {\n\tif (element.nodeType !== Node.ELEMENT_NODE) return;\n\n\tconst role = element.dataset.behaviorModalAncestorRole;\n\tif (role) {\n\t\tif (role !== 'true') {\n\t\t\telement.setAttribute('role', role);\n\t\t} else {\n\t\t\telement.removeAttribute('role');\n\t\t}\n\t\tdelete element.dataset.behaviorModalAncestorRole;\n\t}\n};\n\n/**\n * Returns a boolean indicating if a given ancestor node\n * matches the domLimit.\n * @param {Node} node\n * @param {(Node|string)} domLimit\n * @returns {boolean}\n */\nconst isDomLimit = (node, domLimit) => {\n\tconst limitReached =\n\t\ttypeof domLimit === 'string' && node.nodeType === Node.ELEMENT_NODE\n\t\t\t? node.matches(domLimit)\n\t\t\t: node === domLimit;\n\n\treturn limitReached || node.tagName === BODY_TAG;\n};\n\n/**\n * Uses the starting node to walk upwards through the tree, showing\n * or hiding all sibling nodes (including those in shadow roots).\n * @param {string} action - one of 'show' or 'hide'\n * @param {(HTMLElement|ShadowRoot)} prevNode\n * @param {(HTMLElement|ShadowRoot)} node\n * @param {string} id - id of the origin host element\n * @param {(Node|string)} domLimit\n * @param {boolean} isTreeOrigin - flag given if the current node is the originating host\n */\nexport const updateElements = (\n\taction,\n\tprevNode,\n\tnode,\n\tid,\n\tdomLimit,\n\tisTreeOrigin,\n\tslottedNodes,\n) => {\n\tconst parentNode = node.parentNode || node.host;\n\tlet limitReached = false;\n\n\t// There's no prevNode which means we're at the host or\n\t// at an element slot.\n\tif (isTreeOrigin) {\n\t\t// Move on to the next parent element\n\t\treturn updateElements(\n\t\t\taction,\n\t\t\tnode,\n\t\t\tparentNode,\n\t\t\tid,\n\t\t\tdomLimit,\n\t\t\tfalse,\n\t\t\tslottedNodes,\n\t\t);\n\t}\n\n\t// If a domLimit was given OR we are at the body element, we shouldn't\n\t// update any further.\n\tif (isDomLimit(node, domLimit)) {\n\t\tlimitReached = true;\n\t}\n\n\t// Get all sibling elements, excluding `node`\n\tconst elementSiblings = getElementSiblings(prevNode, node);\n\n\t// It's possible the current node is in a slotted context,\n\t// e.g. a modal slotted into a modal, or something similar.\n\t//\n\t// As a result we need to traverse its corresponding shadow root\n\t// and hide siblings up through the shadow root itself.\n\tupdateShadowRootElements(\n\t\tprevNode || elementSiblings[0],\n\t\taction,\n\t\tid,\n\t\tslottedNodes,\n\t);\n\n\t// Loop through all the siblings and hide them from screen readers.\n\tlet length = elementSiblings.length;\n\tif (action === ActionTypes.HIDE) {\n\t\tunsetAncestorLandmark(node);\n\t\tAncestorMap.get(id).push(node);\n\t\twhile (--length >= 0) {\n\t\t\tconst element = elementSiblings[length];\n\t\t\tconst scid = element.getAttribute('slot-content-id') || '-';\n\t\t\tif (!slottedNodes || !slottedNodes.has(scid)) hideElement(element);\n\t\t}\n\t} else if (action === ActionTypes.SHOW) {\n\t\trestoreAncestorLandmark(node);\n\t\twhile (--length >= 0) {\n\t\t\tshowElement(elementSiblings[length]);\n\t\t}\n\t}\n\n\t// Recursively update all siblings to our direct ancestor nodes.\n\t// Stops at the body element or the defined domLimit\n\tif (!limitReached) {\n\t\tupdateElements(action, node, parentNode, id, domLimit, false, slottedNodes);\n\t}\n};\n","import {AncestorMap} from './constants';\n\n/**\n * Creates a origin ref node alongside the host, so\n * in case the host is removed from the DOM while `opened`\n * is set, we can undo the DOM changes caused by this behavior.\n * @param {HTMLElement} hostEl\n * @param {Function} updateState\n */\nconst addTreeOriginNode = (hostEl, updateState) => {\n\tconst treeOriginRef = document.createElement('div');\n\ttreeOriginRef.id = 'modal-origin-' + hostEl.nowId;\n\thostEl.parentNode.insertBefore(treeOriginRef, hostEl);\n\tupdateState({\n\t\toperation: 'set',\n\t\tpath: 'treeOriginRef',\n\t\tvalue: treeOriginRef,\n\t\tshouldRender: false,\n\t});\n\treturn treeOriginRef;\n};\n\n/**\n * Removes the backup node and removes the ref from state.\n * @param {HTMLElement} treeOriginRef\n * @param {Function} updateState\n */\nconst removeTreeOriginNode = (treeOriginRef, updateState) => {\n\t// The dummy node may have already been removed\n\t// if a direct parent element was removed\n\tif (treeOriginRef.isConnected) {\n\t\ttreeOriginRef.parentNode.removeChild(treeOriginRef);\n\t}\n\n\tupdateState({\n\t\toperation: 'set',\n\t\tpath: 'treeOriginRef',\n\t\tvalue: null,\n\t\tshouldRender: false,\n\t});\n};\n\nconst removeArtifacts = (treeOriginRef, updateState, nowId) => {\n\tremoveTreeOriginNode(treeOriginRef, updateState);\n\tAncestorMap.delete(nowId);\n};\n\nexport {addTreeOriginNode, removeArtifacts};\n","import {actionTypes} from '@servicenow/ui-core';\nimport {updateElements} from './utils/update-elements';\nimport {AncestorMap, ActionTypes} from './utils/constants';\nimport {addTreeOriginNode, removeArtifacts} from './utils/tree-origin-node';\n\nconst {\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_DOM_READY,\n\tCOMPONENT_PROPERTY_CHANGED,\n} = actionTypes;\nconst BEHAVIOR_NAME = 'modal';\nconst WATCH_PROPERTY_NAME_DEFAULT = 'opened';\n\n// Debug in development:\n// window.ancestors = AncestorMap;\n\n/**\n * Checks for the nearest DOM-connected ancestor\n * to the host if it happened to be removed from the\n * DOM while opened. This way we can restore the DOM\n * to its original state even if one of its direct\n * ancestors has been removed.\n * NOTE: This will never reach the document body.\n * @param {string} id - id of the origin host element\n * @returns {HTMLElement}\n */\nconst getNearestConnectedAncestor = (id) => {\n\tconst ancestors = AncestorMap.get(id);\n\n\tif (ancestors) {\n\t\tfor (const node of ancestors) {\n\t\t\tif (node.isConnected) return node;\n\t\t}\n\t}\n\n\treturn null;\n};\nlet slottedNodes = {};\n\nconst setSlotId = (compId, el) => {\n\tconst uid = Math.round(Math.random() * 100000);\n\tel.setAttribute('slot-content-id', uid);\n\tslottedNodes[compId].add(uid.toString());\n};\n\nconst setNodes = (compId, slots) => {\n\tif (!slottedNodes[compId]) slottedNodes[compId] = new Set();\n\tif (slots) {\n\t\tslots.forEach((slot) => {\n\t\t\tconst nodes = slot.assignedNodes({flatten: true});\n\t\t\tfor (let n in nodes) {\n\t\t\t\tif (!nodes[n].getAttribute('slot-content-id')) {\n\t\t\t\t\tsetSlotId(compId, nodes[n]);\n\t\t\t\t}\n\t\t\t\tconst children = nodes[n].childNodes;\n\t\t\t\tfor (let i = 0; i < children.length; i++) {\n\t\t\t\t\tif (children[i].nodeName === 'SLOT') {\n\t\t\t\t\t\tconst n = children[i].assignedNodes({flatten: true});\n\t\t\t\t\t\tsetSlotId(compId, n[0]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n\nconst initSlots = (hostEl) => {\n\tconst cid = hostEl.getAttribute('component-id');\n\tconst slots = hostEl.shadowRoot.querySelectorAll('slot');\n\tsetNodes(cid, slots);\n};\n\n/**\n * Kicks off hiding page elements from screen readers.\n * @param {HTMLElement} hostEl\n * @param {string} id - id of the origin host element\n */\nconst hidePageContent = (hostEl, id, updateState, limit) => {\n\tconst treeOriginRef = addTreeOriginNode(hostEl, updateState);\n\tconst cid = hostEl.getAttribute('component-id');\n\tif (!AncestorMap.has(id)) {\n\t\tAncestorMap.set(id, [treeOriginRef]);\n\t}\n\tupdateElements(\n\t\tActionTypes.HIDE,\n\t\tnull,\n\t\thostEl,\n\t\tid,\n\t\tlimit,\n\t\ttrue,\n\t\tslottedNodes[cid],\n\t);\n};\n\nexport default {\n\tname: BEHAVIOR_NAME,\n\tinitialState: {treeOriginRef: null},\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_READY]: ({host, action, properties, updateState}) => {\n\t\t\tconst hostEl = action.meta.hoistHost || host;\n\t\t\tconst cid = hostEl.getAttribute('component-id');\n\t\t\tconst {options} = action.payload;\n\t\t\tconst watchPropertyName =\n\t\t\t\toptions.watchPropertyName || WATCH_PROPERTY_NAME_DEFAULT;\n\t\t\tif (properties[watchPropertyName]) {\n\t\t\t\tconst slots = hostEl.shadowRoot.querySelectorAll('slot');\n\t\t\t\tif (slots.length > 0) setNodes(cid, slots);\n\t\t\t\tconst {nowId} = properties;\n\t\t\t\thidePageContent(hostEl, nowId, updateState, options.limit);\n\t\t\t} else {\n\t\t\t\tinitSlots(hostEl);\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\t\tupdateState,\n\t\t\taction,\n\t\t\thost,\n\t\t\tproperties: {nowId},\n\t\t\tstate: {treeOriginRef},\n\t\t}) => {\n\t\t\tconst {name, value, options} = action.payload;\n\t\t\tconst hostEl = action.meta.hoistHost || host;\n\t\t\tconst cid = hostEl.getAttribute('component-id');\n\t\t\tconst watchPropertyName =\n\t\t\t\toptions.watchPropertyName || WATCH_PROPERTY_NAME_DEFAULT;\n\t\t\tif (name === watchPropertyName) {\n\t\t\t\t//scenarios when UIB dynamically hoists content to modal slot when opened\n\t\t\t\tsetNodes(cid, hostEl.shadowRoot.querySelectorAll('slot'));\n\t\t\t\tif (value) {\n\t\t\t\t\thidePageContent(\n\t\t\t\t\t\thostEl,\n\t\t\t\t\t\tnowId,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\toptions.limit,\n\t\t\t\t\t\tslottedNodes[cid],\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tupdateElements(\n\t\t\t\t\t\tActionTypes.SHOW,\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\thostEl,\n\t\t\t\t\t\tnowId,\n\t\t\t\t\t\toptions.limit,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t\tslottedNodes[cid],\n\t\t\t\t\t);\n\t\t\t\t\tremoveArtifacts(treeOriginRef, updateState, nowId);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: ({\n\t\t\taction: {\n\t\t\t\tpayload: {options},\n\t\t\t},\n\t\t\thost,\n\t\t\tupdateState,\n\t\t\tproperties,\n\t\t\tstate: {treeOriginRef},\n\t\t}) => {\n\t\t\tconst cid = host.getAttribute('component-id');\n\t\t\tif (slottedNodes[cid]) delete slottedNodes[cid];\n\t\t\tconst {nowId} = properties;\n\t\t\tconst nearestConnectedAncestor = getNearestConnectedAncestor(nowId);\n\t\t\tconst watchPropertyName =\n\t\t\t\toptions.watchPropertyName || WATCH_PROPERTY_NAME_DEFAULT;\n\n\t\t\tif (properties[watchPropertyName] && nearestConnectedAncestor) {\n\t\t\t\t// host has been removed at this point,\n\t\t\t\t// so we need to use nearestConnectedAncestor\n\t\t\t\t// instead.\n\t\t\t\tupdateElements(\n\t\t\t\t\tActionTypes.SHOW,\n\t\t\t\t\tnull,\n\t\t\t\t\tnearestConnectedAncestor,\n\t\t\t\t\tnowId,\n\t\t\t\t\toptions.limit,\n\t\t\t\t\tnearestConnectedAncestor !== treeOriginRef ? false : true,\n\t\t\t\t);\n\t\t\t\tremoveArtifacts(treeOriginRef, updateState, nowId);\n\t\t\t}\n\t\t},\n\t},\n};\n","export const BEHAVIOR_NAME = 'reduce-motion';\nexport const REDUCE_MOTION_KEY = 'glide.polaris.animation_disabled';\nexport const REDUCE_MOTION_MATCH_MEDIA = '(prefers-reduced-motion: reduce)';\n","import {\n\tBEHAVIOR_NAME,\n\tREDUCE_MOTION_KEY,\n\tREDUCE_MOTION_MATCH_MEDIA,\n} from './utils/constants';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {getUserPrefContext} from 'sn-ux-core';\nconst {COMPONENT_CONNECTED} = actionTypes;\n\nexport function detectHeadlessBrowser() {\n\tlet headlessBrowser = false;\n\tif (\n\t\tnavigator.userAgent.includes('HeadlessChrome') ||\n\t\tnavigator.userAgent.includes('PhantomJS')\n\t) {\n\t\t// Headless browser detected via User Agent.\n\t\theadlessBrowser = true;\n\t} else if (window.__playwright__binding__ || window.__pwInitScripts) {\n\t\t// Playwright-controlled headless browser detected.\n\t\theadlessBrowser = true;\n\t} else if (navigator.webdriver) {\n\t\t// Headless browser detected via navigator.webdriver.\n\t\theadlessBrowser = true;\n\t}\n\n\treturn headlessBrowser;\n}\n\nexport function getReduceMotionValue(context) {\n\tlet reduceMotionValue = false;\n\tconst reduceMotionKey = getUserPrefContext(REDUCE_MOTION_KEY);\n\tif (window.matchMedia(REDUCE_MOTION_MATCH_MEDIA).matches) {\n\t\treduceMotionValue = true;\n\t} else if (reduceMotionKey) {\n\t\treduceMotionValue = context?.[reduceMotionKey]?.toLowerCase() === 'true';\n\t} else if (detectHeadlessBrowser()) {\n\t\treduceMotionValue = true;\n\t} else if (window.vertRun) {\n\t\t// Reduce motion if we are running VERT tests\n\t\treduceMotionValue = true;\n\t}\n\n\treturn reduceMotionValue;\n}\n\nexport default {\n\tname: BEHAVIOR_NAME,\n\tinitialState: false,\n\n\tactionHandlers: {\n\t\t[COMPONENT_CONNECTED]: {\n\t\t\teffect: async (coeffects) => {\n\t\t\t\tconst {context, updateState} = coeffects;\n\t\t\t\tconst reduceMotionValue = getReduceMotionValue(context);\n\n\t\t\t\tif (reduceMotionValue) {\n\t\t\t\t\tupdateState(() => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\t\tpath: `behaviors.${BEHAVIOR_NAME}`,\n\t\t\t\t\t\t\tvalue: reduceMotionValue,\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n};\n","import {default as reduceMotionBehavior} from './reduce-motion';\nexport {getReduceMotionValue} from './reduce-motion';\nexport default reduceMotionBehavior;\n","// normal flow restricts the directions that we can resize\nconst FLOW_NORMAL_EDGES = ['-bottom', '-right', '-bottom-right'];\n//flipped for RTL mode\nconst FLOW_NORMAL_EDGES_RTL = ['-bottom', '-left', '-bottom-left'];\n\n/**\n * Applies the calculated width, height, top, left position during a resize cycle\n * @param {Element} elm - target element to apply styles\n * @param {Object} param - this is the object param\n * @param {number|null} param.width - width to set the element\n * @param {number|null} param.height - height to set the element\n * @param {number|null} param.top - top position to set the element\n * @param {number|null} param.left - left position to set the element\n **/\nconst resize = (\n\telm,\n\t{width = null, height = null, top = null, left = null} = {},\n) => {\n\tif (width !== null) {\n\t\telm.style['max-width'] = '100%';\n\t\telm.style.width = `${width}px`;\n\t}\n\n\tif (height !== null) {\n\t\telm.style['max-height'] = '100%';\n\t\telm.style.height = `${height}px`;\n\t}\n\n\tif (top !== null || left !== null) {\n\t\telm.style['position'] = 'fixed';\n\t\tif (left !== null) elm.style.left = `${Math.max(left, 0)}px`;\n\t\tif (top !== null) elm.style.top = `${Math.max(top, 0)}px`;\n\t}\n};\n\n/**\n * Calculates the required size and position changes based on configuration\n * @param {Object} param - this is the object param\n * @param {String} param.source - the source edge of the container that is to be evaluated\n * @param {number} param.sourceWidth - the original width of the container\n * @param {number} param.sourceHeight - the original height of the container\n * @param {number} param.sourceTop - the original top position of the container\n * @param {number} param.sourceLeft - the original left position of the container\n * @param {Node}   param.resizeTarget - the resize target DOM element\n * @param {number} param.resizableMinHeight - the min height of the container\n * @param {number} param.resizableMinWidth - the min width of the container\n * @param {number} param.resizableMaxHeight - the min height of the container\n * @param {number} param.resizableMaxWidth - the max width of the container\n * @param {String} param.context - how the container flows within the page document\n * @param {number} param.deltaX - the distance moved in the X direction\n * @param {number} param.deltaY - the distance moved in the Y direction\n * @param {String} param.dir - the direction of the page\n */\nconst update = ({\n\tsource,\n\tsourceWidth,\n\tsourceHeight,\n\tsourceTop,\n\tsourceLeft,\n\tresizeTarget,\n\tresizableMaxWidth,\n\tresizableMinWidth,\n\tresizableMaxHeight,\n\tresizableMinHeight,\n\tcontext,\n\tdeltaX,\n\tdeltaY,\n\tdir,\n}) => {\n\tlet width = null;\n\tlet height = null;\n\tlet top = null;\n\tlet left = null;\n\tlet scale = 1;\n\n\t// normal document flow can only resize in the directions of standard to layout; down and to the right\n\tif (\n\t\tdir === 'ltr' &&\n\t\tcontext === 'normal' &&\n\t\t!FLOW_NORMAL_EDGES.includes(source)\n\t) {\n\t\treturn;\n\t}\n\t// this is flipped if in RTL mode\n\tif (\n\t\tdir === 'rtl' &&\n\t\tcontext === 'normal' &&\n\t\t!FLOW_NORMAL_EDGES_RTL.includes(source)\n\t) {\n\t\treturn;\n\t}\n\t// we need increase the scale if the conatiner is maintaing its position\n\t// relative to an area (IE: modal that is centered) versus a normal position or floating position\n\tif (context === 'fixed') scale = 2;\n\n\tconst currentLeft = parseInt(resizeTarget?.style?.left || sourceLeft, 10);\n\tconst currentTop = parseInt(resizeTarget?.style?.top || sourceTop, 10);\n\tconst currentWidth = parseInt(resizeTarget?.style?.width || sourceWidth, 10);\n\tconst currentHeight = parseInt(\n\t\tresizeTarget?.style?.height || sourceHeight,\n\t\t10,\n\t);\n\n\tswitch (source) {\n\t\tcase '-bottom':\n\t\t\theight = sourceHeight + scale * deltaY;\n\t\t\ttop = currentTop;\n\t\t\tleft = currentLeft;\n\t\t\tbreak;\n\t\tcase '-top':\n\t\t\theight = sourceHeight - scale * deltaY;\n\t\t\ttop = sourceTop + deltaY;\n\t\t\tleft = currentLeft;\n\t\t\tbreak;\n\t\tcase '-left':\n\t\t\twidth = sourceWidth - scale * deltaX;\n\t\t\tleft = sourceLeft + deltaX;\n\t\t\ttop = currentTop;\n\t\t\tbreak;\n\t\tcase '-right':\n\t\t\twidth = sourceWidth + scale * deltaX;\n\t\t\ttop = currentTop;\n\t\t\tleft = currentLeft;\n\t\t\tbreak;\n\t\tcase '-bottom-left':\n\t\t\theight = sourceHeight + scale * deltaY;\n\t\t\twidth = sourceWidth - scale * deltaX;\n\t\t\tleft = sourceLeft + deltaX;\n\t\t\ttop = currentTop;\n\t\t\tbreak;\n\t\tcase '-top-left':\n\t\t\theight = sourceHeight - scale * deltaY;\n\t\t\twidth = sourceWidth - scale * deltaX;\n\t\t\ttop = sourceTop + deltaY;\n\t\t\tleft = sourceLeft + deltaX;\n\t\t\tbreak;\n\t\tcase '-bottom-right':\n\t\t\theight = sourceHeight + scale * deltaY;\n\t\t\twidth = sourceWidth + scale * deltaX;\n\t\t\ttop = currentTop;\n\t\t\tleft = currentLeft;\n\t\t\tbreak;\n\t\tcase '-top-right':\n\t\t\theight = sourceHeight - scale * deltaY;\n\t\t\twidth = sourceWidth + scale * deltaX;\n\t\t\ttop = sourceTop + deltaY;\n\t\t\tleft = currentLeft;\n\t\t\tbreak;\n\t}\n\n\tconst maxWidth = resizableMaxWidth ?? document.documentElement.clientWidth;\n\tconst maxHeight =\n\t\tresizableMaxHeight ??\n\t\t(context === 'document'\n\t\t\t? Number.MAX_SAFE_INTEGER\n\t\t\t: document.documentElement.clientHeight);\n\n\tif (width !== null) {\n\t\t// ensure width does not go beyond bounds of viewport\n\t\tif (\n\t\t\tcontext === 'float' &&\n\t\t\twidth + left > document.documentElement.clientWidth\n\t\t) {\n\t\t\twidth = document.documentElement.clientWidth - left;\n\t\t}\n\n\t\t// ensure width is confined to min and max ranges\n\t\tif (width < resizableMinWidth || width > maxWidth) {\n\t\t\twidth = Math.max(Math.min(width, maxWidth), resizableMinWidth);\n\n\t\t\t// only adjust left when sizing from left\n\t\t\tif (source.includes('left')) {\n\t\t\t\tleft = currentLeft + (currentWidth - width);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (height !== null) {\n\t\t// ensure height does not go beyond bounds of viewport\n\t\tif (height + top > document.documentElement.clientHeight) {\n\t\t\theight = document.documentElement.clientHeight - top;\n\t\t}\n\n\t\t// ensure height is confined to min and max ranges\n\t\tif (height < resizableMinHeight || height > maxHeight) {\n\t\t\theight = Math.max(Math.min(height, maxHeight), resizableMinHeight);\n\n\t\t\t// only adjust top when resizing from top\n\t\t\tif (source.includes('top')) {\n\t\t\t\ttop = currentTop + (currentHeight - height);\n\t\t\t}\n\t\t}\n\t}\n\n\t// zero out left/top if we're not floating\n\tif (context !== 'float') {\n\t\tleft = null;\n\t\ttop = null;\n\t}\n\n\tresize(resizeTarget, {width, height, top, left});\n};\n\nexport const emitEnd = (dispatch, {resizeTarget, updateState, tooltip}) => {\n\tconst {width, height, top, left} =\n\t\tresizeTarget?.getBoundingClientRect() ?? {};\n\tdispatch('PRIVATE#RESIZABLE_END', {width, height, top, left});\n\n\tupdateState({tooltip});\n};\n\n/**\n * Event handler for when mousedown occurs\n * @param {Event} e - mouse down event\n * @param {Object} args - configuration of the behavior\n */\nconst mouseResize = (e, args) => {\n\tconst {clientX: startX, clientY: startY} = e;\n\tconst {dispatch} = args;\n\tlet last = false;\n\n\tlet raf;\n\tconst handleMouseMove = (event) => {\n\t\tevent.preventDefault();\n\n\t\tif (raf) cancelAnimationFrame(raf);\n\n\t\traf = requestAnimationFrame(() => {\n\t\t\tconst {clientX, clientY} = event;\n\n\t\t\tupdate({\n\t\t\t\t...args,\n\t\t\t\tdeltaX: clientX - startX,\n\t\t\t\tdeltaY: clientY - startY,\n\t\t\t});\n\t\t\traf = null;\n\n\t\t\t// if last is true, then the requestAnimationFrame fired after the mouseup / contextmenu event\n\t\t\t// so we need to find our bounds and dispatch out\n\t\t\tif (last) {\n\t\t\t\temitEnd(dispatch, args);\n\t\t\t}\n\t\t});\n\t};\n\n\tconst unregisterMouseMove = (event) => {\n\t\t// if there is no pending requestAnimationFrame, we can dispatch the end event\n\t\tif (!raf) {\n\t\t\temitEnd(dispatch, args);\n\t\t}\n\t\tlast = true;\n\t\tdocument.removeEventListener('mousemove', handleMouseMove);\n\n\t\t// breaking mouse move can happen 2 different ways, so try to clean up both\n\t\tswitch (event.type) {\n\t\t\tcase 'mouseup':\n\t\t\t\treturn document.removeEventListener('contextmenu', unregisterMouseMove);\n\t\t\tcase 'contextmenu':\n\t\t\t\treturn document.removeEventListener('mouseup', unregisterMouseMove);\n\t\t}\n\t};\n\n\tdocument.addEventListener('mousemove', handleMouseMove);\n\tdocument.addEventListener('mouseup', unregisterMouseMove, {once: true});\n\tdocument.addEventListener('contextmenu', unregisterMouseMove, {once: true});\n};\n\n/**\n * Event handler for when keydown or mousedown occurs\n * @param {Event} e - mouse down event\n * @param {Object} args - configuration of the behavior\n */\nexport const startResize = (e, args) => {\n\tconst {resizeTarget, updateState} = args;\n\tconst {\n\t\twidth: sourceWidth,\n\t\theight: sourceHeight,\n\t\ttop: sourceTop,\n\t\tleft: sourceLeft,\n\t} = resizeTarget?.getBoundingClientRect() ?? {};\n\tlet source;\n\n\tupdateState({tooltip: ''});\n\n\tif (e.type === 'keydown') {\n\t\tlet deltaX = 20;\n\t\tlet deltaY = 20;\n\n\t\tswitch (e.key) {\n\t\t\tcase 'ArrowLeft':\n\t\t\t\tsource = e.shiftKey ? '-right' : '-left';\n\t\t\t\tdeltaX *= -1;\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowRight':\n\t\t\t\tsource = e.shiftKey ? '-left' : '-right';\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowUp':\n\t\t\t\tsource = e.shiftKey ? '-bottom' : '-top';\n\t\t\t\tdeltaY *= -1;\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowDown':\n\t\t\t\tsource = e.shiftKey ? '-top' : '-bottom';\n\t\t\t\tbreak;\n\t\t}\n\n\t\tconst modifier = parseFloat(args?.resizeTarget?.dataset?.modifier ?? 1);\n\t\tdeltaX = deltaX * (e.repeat ? modifier : 1);\n\t\tdeltaY = deltaY * (e.repeat ? modifier : 1);\n\n\t\tif (args.resizeTarget) {\n\t\t\targs.resizeTarget.dataset.modifier = e.repeat ? modifier + 1 : 1;\n\t\t}\n\n\t\treturn update({\n\t\t\t...args,\n\t\t\tsource,\n\t\t\tsourceWidth,\n\t\t\tsourceHeight,\n\t\t\tsourceTop,\n\t\t\tsourceLeft,\n\t\t\tdeltaX,\n\t\t\tdeltaY,\n\t\t});\n\t}\n\n\tsource = e\n\t\t.composedPath()\n\t\t.find((e) => e?.classList?.contains('now-resizable-target'))\n\t\t?.classList?.[2];\n\n\treturn mouseResize(e, {\n\t\t...args,\n\t\tsource,\n\t\tsourceWidth,\n\t\tsourceHeight,\n\t\tsourceTop,\n\t\tsourceLeft,\n\t\ttooltip: '',\n\t});\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_resizable-target.scss';\nimport {t} from 'sn-translate';\nimport {emitEnd, startResize} from './utils';\nimport tooltipBehavior, {\n\tTOOLTIP_ADD_TARGET,\n\tTOOLTIP_REMOVE_TARGET,\n} from '@servicenow/behavior-tooltip';\nimport '@servicenow/now-tooltip';\n\nconst TOOLTIP = t('Space or enter to resize.');\nconst ACTIVE_TOOLTIP = t(\n\t'Arrow keys increase size. Shift + Arrow keys decrease.',\n);\n\nconst view = ({active, tooltip, properties: {dir}}, {dispatch}) => {\n\treturn (\n\t\t<div class={{'now-resizable': true, 'is-active': active}}>\n\t\t\t<div className=\"now-resizable-target -inline -right\" />\n\t\t\t<div className=\"now-resizable-target -inline -left\" />\n\t\t\t<div className=\"now-resizable-target -block -top\" />\n\t\t\t<div className=\"now-resizable-target -block -bottom\" />\n\t\t\t<div className=\"now-resizable-target -corner -top-left\" />\n\t\t\t<div className=\"now-resizable-target -corner -top-right\" />\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'now-resizable-target': true,\n\t\t\t\t\t'-corner': true,\n\t\t\t\t\t'-bottom-left': dir === 'ltr',\n\t\t\t\t\t'-bottom-right': dir === 'rtl',\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'now-resizable-target': true,\n\t\t\t\t\t'-corner': true,\n\t\t\t\t\t'-bottom-right': dir === 'ltr',\n\t\t\t\t\t'-bottom-left': dir === 'rtl',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'now-resizable-target-button': true,\n\t\t\t\t\t\t'is-selected': active,\n\t\t\t\t\t}}\n\t\t\t\t\tdata-tooltip={tooltip}\n\t\t\t\t\thook-insert={({elm: target}) => {\n\t\t\t\t\t\tdispatch(TOOLTIP_ADD_TARGET, {target});\n\t\t\t\t\t}}\n\t\t\t\t\thook-destroy={({elm: target}) => {\n\t\t\t\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, {target});\n\t\t\t\t\t}}\n\t\t\t\t\taria-label={tooltip}\n\t\t\t\t\taria-pressed={active ? 'true' : 'false'}\n\t\t\t\t>\n\t\t\t\t\t<svg\n\t\t\t\t\t\tattr-width=\"12\"\n\t\t\t\t\t\tattr-height=\"12\"\n\t\t\t\t\t\tattr-viewBox=\"0 0 12 12\"\n\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<path\n\t\t\t\t\t\t\tfill-rule=\"evenodd\"\n\t\t\t\t\t\t\tclip-rule=\"evenodd\"\n\t\t\t\t\t\t\tattr-d=\"M10.8536 1.14645C11.0488 1.34171 11.0488 1.65829 10.8536 1.85355L1.85355 10.8536C1.65829 11.0488 1.34171 11.0488 1.14645 10.8536C0.951184 10.6583 0.951184 10.3417 1.14645 10.1464L10.1464 1.14645C10.3417 0.951184 10.6583 0.951184 10.8536 1.14645ZM10.8536 6.14645C11.0488 6.34171 11.0488 6.65829 10.8536 6.85355L6.85355 10.8536C6.65829 11.0488 6.34171 11.0488 6.14645 10.8536C5.95118 10.6583 5.95118 10.3417 6.14645 10.1464L10.1464 6.14645C10.3417 5.95118 10.6583 5.95118 10.8536 6.14645Z\"\n\t\t\t\t\t\t\tfill=\"black\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</svg>\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\ncreateCustomElement('now-resizable-target', {\n\trenderer: {type: snabbdom},\n\tproperties: {\n\t\tdir: {\n\t\t\tget default() {\n\t\t\t\treturn document.dir || 'ltr';\n\t\t\t},\n\t\t\treflect: true,\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\tcontext: {\n\t\t\tdefault: 'normal',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['normal', 'float', 'fixed'],\n\t\t\t},\n\t\t},\n\t\tresizeTarget: {default: null},\n\t\tresizableMaxWidth: {\n\t\t\tdefault: null,\n\t\t\tschema: {\n\t\t\t\ttype: ['integer', 'null'],\n\t\t\t},\n\t\t},\n\t\tresizableMaxHeight: {\n\t\t\tdefault: null,\n\t\t\tschema: {\n\t\t\t\ttype: ['integer', 'null'],\n\t\t\t},\n\t\t},\n\t\tresizableMinWidth: {\n\t\t\tdefault: null,\n\t\t\tschema: {\n\t\t\t\ttype: ['integer', 'null'],\n\t\t\t},\n\t\t},\n\t\tresizableMinHeight: {\n\t\t\tdefault: null,\n\t\t\tschema: {\n\t\t\t\ttype: ['integer', 'null'],\n\t\t\t},\n\t\t},\n\t},\n\tsetInitialState() {\n\t\treturn {\n\t\t\tactive: false,\n\t\t\ttooltip: TOOLTIP,\n\t\t};\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['mousedown'],\n\t\t\teffect({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {event},\n\t\t\t\t},\n\t\t\t\tdispatch,\n\t\t\t\tproperties,\n\t\t\t\tupdateState,\n\t\t\t}) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst {\n\t\t\t\t\tcontext,\n\t\t\t\t\tresizableMaxHeight,\n\t\t\t\t\tresizableMaxWidth,\n\t\t\t\t\tresizableMinHeight,\n\t\t\t\t\tresizableMinWidth,\n\t\t\t\t\tresizeTarget,\n\t\t\t\t\tdir,\n\t\t\t\t} = properties;\n\n\t\t\t\tstartResize(event, {\n\t\t\t\t\tcontext,\n\t\t\t\t\tdispatch,\n\t\t\t\t\tresizableMaxHeight,\n\t\t\t\t\tresizableMaxWidth,\n\t\t\t\t\tresizableMinHeight,\n\t\t\t\t\tresizableMinWidth,\n\t\t\t\t\tresizeTarget,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tdir,\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tevents: ['keydown', 'keyup'],\n\t\t\teffect({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {event},\n\t\t\t\t},\n\t\t\t\tdispatch,\n\t\t\t\tproperties,\n\t\t\t\tstate,\n\t\t\t\tupdateState,\n\t\t\t}) {\n\t\t\t\tconst {key} = event;\n\t\t\t\tconst {active} = state;\n\n\t\t\t\t// actuate the resizable beahvior\n\t\t\t\tif (['Enter', ' '].includes(key) && event.type === 'keydown') {\n\t\t\t\t\treturn updateState({\n\t\t\t\t\t\tactive: !active,\n\t\t\t\t\t\ttooltip: active ? TOOLTIP : ACTIVE_TOOLTIP,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// disable active state if they tab away or using escape\n\t\t\t\tif (active && ['Tab', 'Escape'].includes(key)) {\n\t\t\t\t\t// do not prevent default in this case as we want tab and escape to work\n\t\t\t\t\treturn updateState({\n\t\t\t\t\t\tactive: !active,\n\t\t\t\t\t\ttooltip: TOOLTIP,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t!active ||\n\t\t\t\t\t!['ArrowDown', 'ArrowUp', 'ArrowLeft', 'ArrowRight'].includes(key)\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst {\n\t\t\t\t\tcontext,\n\t\t\t\t\tresizableMaxHeight,\n\t\t\t\t\tresizableMaxWidth,\n\t\t\t\t\tresizableMinHeight,\n\t\t\t\t\tresizableMinWidth,\n\t\t\t\t\tresizeTarget,\n\t\t\t\t} = properties;\n\n\t\t\t\tif (event.type === 'keyup') {\n\t\t\t\t\treturn emitEnd(dispatch, {\n\t\t\t\t\t\tresizeTarget,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\ttooltip: ACTIVE_TOOLTIP,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tevent.preventDefault(); // prevent scroll effects when we are trying to resize\n\t\t\t\tstartResize(event, {\n\t\t\t\t\tcontext,\n\t\t\t\t\tresizableMaxHeight,\n\t\t\t\t\tresizableMaxWidth,\n\t\t\t\t\tresizableMinHeight,\n\t\t\t\t\tresizableMinWidth,\n\t\t\t\t\tresizeTarget,\n\t\t\t\t\tupdateState,\n\t\t\t\t\ttooltip: ACTIVE_TOOLTIP,\n\t\t\t\t});\n\n\t\t\t\t// TODO port over aria logic - probably should use new seismic aria live feature\n\t\t\t\t// @ui-core -> actionTypes -> ARIA_LIVE_REGION_UPDATE_REQUESTED -> disaptch({message, type})\n\t\t\t},\n\t\t},\n\t],\n\tview,\n\tstyles,\n\tbehaviors: [tooltipBehavior],\n});\n","import {actionTypes} from '@servicenow/ui-core';\nimport './components/resizable-target';\nconst {COMPONENT_DOM_TREE_READY, COMPONENT_PROPERTY_CHANGED} = actionTypes;\n\nconst DEFAULT_ENBALED = false;\nconst DEFAULT_MIN_WIDTH = 0;\nconst DEFAULT_MAX_WIDTH = null; // null means it will honor the viewport at the time of calc\nconst DEFAULT_MIN_HEIGHT = 0;\nconst DEFAULT_MAX_HEIGHT = null; // null means it will honor the viewport at the time of calc\nconst DEFAULT_CONTEXT = 'normal';\nlet RESIZABLE_TARGET_NODE = null;\nlet resizableDialog = null;\n\nexport default {\n\tname: 'resizableBehavior',\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_TREE_READY]: (coeffects) => {\n\t\t\tconst {action, host} = coeffects;\n\t\t\tconst {resizeTarget: target, getResizableConfig} = action.payload.options;\n\n\t\t\tconst config = getResizableConfig ? getResizableConfig(coeffects) : null;\n\n\t\t\tlet {\n\t\t\t\tenableResizable = DEFAULT_ENBALED,\n\t\t\t\tcontext = DEFAULT_CONTEXT,\n\t\t\t\tresizableMaxWidth = DEFAULT_MAX_WIDTH,\n\t\t\t\tresizableMinWidth = DEFAULT_MIN_WIDTH,\n\t\t\t\tresizableMaxHeight = DEFAULT_MAX_HEIGHT,\n\t\t\t\tresizableMinHeight = DEFAULT_MIN_HEIGHT,\n\t\t\t} = config ?? {};\n\n\t\t\tif (!enableResizable) return;\n\n\t\t\tconst resizeTarget = host?.shadowRoot?.querySelector(target) ?? host;\n\n\t\t\tif (!resizeTarget) return;\n\n\t\t\tRESIZABLE_TARGET_NODE = Object.assign(\n\t\t\t\tdocument.createElement('now-resizable-target'),\n\t\t\t\t{\n\t\t\t\t\tcontext,\n\t\t\t\t\tresizeTarget,\n\t\t\t\t\tresizableMaxWidth,\n\t\t\t\t\tresizableMaxHeight,\n\t\t\t\t\tresizableMinHeight,\n\t\t\t\t\tresizableMinWidth,\n\t\t\t\t},\n\t\t\t);\n\t\t\tresizeTarget.appendChild(RESIZABLE_TARGET_NODE);\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: (coeffects) => {\n\t\t\tconst {action, host} = coeffects;\n\t\t\tconst {resizeTarget: target} = action.payload.options;\n\n\t\t\tif (target !== '.now-modeless-dialog') return;\n\n\t\t\tconst resizeTarget = host?.shadowRoot?.querySelector(target) ?? host;\n\t\t\tconst isFullscreen = resizeTarget?.classList?.contains('is-fullscreen');\n\t\t\tconst canResize = resizeTarget.lastChild === RESIZABLE_TARGET_NODE;\n\n\t\t\tif (canResize && isFullscreen) {\n\t\t\t\tresizeTarget.removeChild(RESIZABLE_TARGET_NODE);\n\t\t\t\tresizableDialog = false;\n\t\t\t} else if (!isFullscreen && !resizableDialog) {\n\t\t\t\tresizeTarget.appendChild(RESIZABLE_TARGET_NODE);\n\t\t\t\tresizableDialog = true;\n\t\t\t}\n\t\t},\n\t\t'PRIVATE#RESIZABLE_END': {\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the resize of the component has ended.\n\t\t * Payload contains a reference to the targets size and position.\n\t\t * @type {{width: number, height: number, left: number, top: number}}\n\t\t * @uib.description Dispatched when resize of the component has ended.\n\t\t */\n\t\t'PRIVATE#RESIZABLE_END': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\twidth: {type: 'number'},\n\t\t\t\t\theight: {type: 'number'},\n\t\t\t\t\tleft: {type: 'number'},\n\t\t\t\t\ttop: {type: 'number'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n};\n","const BEHAVIOR_NAME = 'rtl';\n\n/**\n * This behavior helps style Now Design System components in right-to-left (RTL) layouts.\n * It sets the component host's `dir` attribute based on the `document.dir` of\n * its parent application. If `document.dir` is not explicitly defined, it will\n * set the component host's `dir` attribute to `'ltr'` by default.\n *\n * After installation import the behavior at the top of your component JS file\n * and register it in your component behaviors list:\n *\n * ```js\n * import rtlBehavior from '@servicenow/behavior-rtl';\n *\n * createCustomElement('sn-example', {\n *   // ...\n *   behaviors: [{behavior: rtlBehavior}]\n * });\n * ```\n *\n * For more information about styling RTL components, see the\n * [Design System internationalization guide](https://emotive.servicenow.com/develop/resources/i18n).\n *\n * @seismicBehavior rtlBehavior\n * @summary Sets the component host's `dir` attribute to support right-to-left layouts\n */\nexport default {\n\tname: BEHAVIOR_NAME,\n\tproperties: {\n\t\tdir: {\n\t\t\tget default() {\n\t\t\t\treturn document.dir || 'ltr';\n\t\t\t},\n\t\t\treflect: true,\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t},\n};\n","const JSON_LITERAL = 'JSON_LITERAL';\nconst SHORTHAND = 'SHORTHAND';\nconst CONTEXT_BINDING = 'CONTEXT_BINDING';\nconst STATE_BINDING = 'STATE_BINDING';\nconst ELEMENT_BINDING = 'ELEMENT_BINDING';\nconst DATA_CHAIN_BINDING = 'DATA_CHAIN_BINDING';\nconst DATA_OUTPUT_BINDING = 'DATA_OUTPUT_BINDING';\nconst EVENT_PAYLOAD_BINDING = 'EVENT_PAYLOAD_BINDING';\nconst VIEWPORT_BINDING = 'VIEWPORT_BINDING';\nconst REPEATER_ITEM_BINDING = 'REPEATER_ITEM_BINDING';\nconst ENV_BINDING = 'ENV_BINDING';\nconst CLIENT_TRANSFORM = 'CLIENT_TRANSFORM';\nexport const CLIENT_TRANSFORM_SCRIPT = 'CLIENT_TRANSFORM_SCRIPT';\nconst BINARY = 'BINARY';\nconst UNARY = 'UNARY';\nconst RUNTIME_INLINE_SCRIPT = 'RUNTIME_INLINE_SCRIPT';\nconst MAP_CONTAINER = 'MAP_CONTAINER';\nconst LIST_CONTAINER = 'LIST_CONTAINER';\nconst TRANSLATION_LITERAL = 'TRANSLATION_LITERAL';\nconst RT_CLIENT_RESPONSIVE_QUERY = 'RT_CLIENT_RESPONSIVE_QUERY';\nconst UXF_VIEWPORT_RENDER = 'UXF_VIEWPORT#RENDER';\nconst UXF_VIEWPORT_RENDER_BY_ID = 'UXF_VIEWPORT#RENDER_BY_ID';\nconst UXF_VIEWPORT_DISMISS = 'UXF_VIEWPORT#DISMISS';\nconst UXF_VIEWPORT_SCRIPTED_CONDITIONS_EVALUATION_REQUESTED =\n\t'UXF_VIEWPORT#SCRIPTED_CONDITIONS_EVALUATION_REQUESTED';\nconst UXF_VIEWPORT_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED =\n\t'UXF_VIEWPORT#SCRIPTED_CONDITIONS_EVALUATION_COMPLETED';\nconst UXF_VIEWPORT_CALCULATE_ROUTES = 'UXF_VIEWPORT#CALCULATE_ROUTES';\nconst UXF_VIEWPORT_ROUTE_INITIALIZATION_COMPLETED =\n\t'UXF_VIEWPORT#ROUTE_INITIALIZATION_COMPLETED';\nconst UXF_VIEWPORT_ROUTE_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED =\n\t'UXF_VIEWPORT#ROUTE_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED';\nconst UXF_VIEWPORT_ROUTE_SCRIPTED_CONDITIONS_EVALUATION_REQUESTED =\n\t'UXF_VIEWPORT#ROUTE_SCRIPTED_CONDITIONS_EVALUATION_REQUESTED';\nconst VIEWPORT_ROUTE_REQUESTED = 'VIEWPORT_ROUTE_REQUESTED';\nexport const SCREEN_INTERACTION_ID_UPDATE_REQUESTED =\n\t'UXR_INTERNAL#SCREEN_INTERACTION_ID_UPDATE_REQUESTED';\nexport const NOW_UX_INTERACTION = 'NOW-UX-INTERACTION';\n\nexport const propertyTypes = {\n\tCONTEXT_BINDING,\n\tSTATE_BINDING,\n\tELEMENT_BINDING,\n\tJSON_LITERAL,\n\tSHORTHAND,\n\tDATA_CHAIN_BINDING,\n\tDATA_OUTPUT_BINDING,\n\tEVENT_PAYLOAD_BINDING,\n\tVIEWPORT_BINDING,\n\tREPEATER_ITEM_BINDING,\n\tCLIENT_TRANSFORM,\n\tCLIENT_TRANSFORM_SCRIPT,\n\tBINARY,\n\tUNARY,\n\tRUNTIME_INLINE_SCRIPT,\n\tMAP_CONTAINER,\n\tLIST_CONTAINER,\n\tTRANSLATION_LITERAL,\n\tRT_CLIENT_RESPONSIVE_QUERY,\n\tENV_BINDING\n};\n\nexport const MACROPONENT_CATEGORY = {\n\tMODELESS_DIALOG: 'modeless_dialog',\n\tCOMPONENT: 'component',\n\tMODAL: 'modal',\n\tUI_CONTROLLER: 'ui_controller',\n\tMODELESS_DIALOG_BUNDLE: 'modeless_dialog_bundle',\n\tPAGE: 'page',\n\tPOPOVER: 'popover',\n\tPRIMITIVE: 'primitives',\n\tDATA_BROKER_PROXY: 'client_state_data_broker',\n\tVIEWPORT: 'viewport',\n\tSUB_PAGE: 'sub_page',\n\tAPP_SHELL_UI: 'chrome',\n\tCONTROLLER: 'controller',\n\tBUNDLE: 'bundle'\n};\n\nconst SCRIPT_EXEC_REQUESTED = 'UXF_INTERNAL#SCRIPT_EXEC_REQUESTED';\nconst MACROPONENT_STATE_UPDATED = 'UXF_INTERNAL#MACROPONENT_STATE_UPDATED';\nconst WRAPPED_EVENT_REDISPATCH = 'UXF_INTERNAL#WRAPPED_EVENT_REDISPATCH';\nconst UPDATE_CONTEXT_REQUESTED_BY_CONTROLLER_PROP_RESOLVED =\n\t'UXF_INTERNAL#UPDATE_CONTEXT_REQUESTED_BY_CONTROLLER_PROP_RESOLVED';\nconst UPDATE_CONTEXT_REQUESTED_BY_CONTROLLER_PROP_CHANGE =\n\t'UXF_INTERNAL#UPDATE_CONTEXT_REQUESTED_BY_CONTROLLER_PROP_CHANGE';\nconst SAVE_CONTROLLER_NODE_TO_TRANSLATOR =\n\t'UXF_INTERNAL#SAVE_CONTROLLER_NODE_TO_TRANSLATOR';\nexport const UXF_INTERNAL_SCREEN_MACROPONENT_IDLE =\n\t'UXF_INTERNAL#SCREEN_MACROPONENT_IDLE';\n\n// emitted by a Controller that has a dependency, handled internally, sends relay to parent\nexport const UXF_INTERNAL_DEPENDENCY_OP_REQUESTED =\n\t'UXF_INTERNAL#DEPENDENCY_OP_REQUESTED';\n// emitted by Parent (from child Controller), via parentDispatch, invokes dependency Controller's DB OP\nexport const UXF_INTERNAL_DEPENDENCY_OP_REQUEST_RELAYED =\n\t'UXF_INTERNAL#DEPENDENCY_OP_REQUEST_RELAYED';\nexport const DEPENDENCY_RELAY_EVENTS_ALLOWED_FROM_SCRIPT = {\n\tUXF_INTERNAL_DEPENDENCY_OP_REQUESTED,\n\tUXF_INTERNAL_DEPENDENCY_OP_REQUEST_RELAYED\n};\n\nconst MACROPONENT_READY = 'MACROPONENT_READY';\nconst MACROPONENT_PROPERTY_CHANGED = 'MACROPONENT_PROPERTY_CHANGED';\nconst MACROPONENT_VIEWPORT_LOAD_REQUESTED =\n\t'MACROPONENT_VIEWPORT_LOAD_REQUESTED';\nconst MACROPONENT_VIEWPORT_LOAD_COMPLETED =\n\t'MACROPONENT_VIEWPORT_LOAD_COMPLETED';\nconst MACROPONENT_STATE_UPDATE_REQUESTED = 'MACROPONENT_STATE_UPDATE_REQUESTED';\nconst MACROPONENT_VIEWPORT_ROUTE_INITIALIZATION_COMPLETED =\n\t'MACROPONENT_VIEWPORT_ROUTE_INITIALIZATION_COMPLETED';\nconst HTTP_ERROR_OCCURRED = 'HTTP_ERROR_OCCURRED';\nconst MACROPONENT_PAGE_ERROR_OCCURRED = 'MACROPONENT_PAGE_ERROR_OCCURRED';\nconst TRACK_USAGE_REQUESTED = 'MACROPONENT_TRACK_USAGE_REQUESTED';\nconst MACROPONENT_POPOVER_OPEN_REQUESTED = 'MACROPONENT_POPOVER_OPEN_REQUESTED';\nconst MACROPONENT_POPOVER_ERROR_OCCURRED = 'MACROPONENT_POPOVER_ERROR_OCCURRED';\nconst MACROPONENT_POPOVER_ERROR_OCCURRED_DEPRECATED =\n\t'MACROPONENT_POPOVER_ERROR_OCCURRRED';\nconst OPEN_MODELESS_DIALOG = 'UXF#OPEN_DIALOG';\nconst CLOSE_MODELESS_DIALOG = 'UXF#CLOSE_DIALOG_ON_STAGE';\n\nconst MACROPONENT_FOCUSED = 'MACROPONENT_FOCUSED';\nconst MACROPONENT_FOCUS_ELEMENT_REQUESTED =\n\t'MACROPONENT_FOCUS_ELEMENT_REQUESTED';\nconst MACROPONENT_FOCUS_PARENT_REQUESTED = 'MACROPONENT_FOCUS_PARENT_REQUESTED';\n\nexport const UXF_TABSET_NON_VIEWPORT_CONTAINER_RENDER_REQUESTED =\n\t'UXF_TABSET_NON_VIEWPORT_CONTAINER_RENDER_REQUESTED';\n\nexport const UXF_MACROPONENT_OUTPUT_PROPERTY_UPDATED =\n\t'UXF_MACROPONENT#OUTPUT_PROPERTY_UPDATED';\n\nexport const MACROPONENT_DOMAIN_UPDATE_REQUESTED =\n\t'MACROPONENT_DOMAIN_UPDATE_REQUESTED';\n/**\n * actions handled by seismic - these are part of their public actions API\n * @see https://code.devsnc.com/dev/sn-seismic/blob/master/packages/core/src/utils/config/index.js\n * @see https://code.devsnc.com/dev/sn-seismic/blob/master/packages/core/src/accessibility/ariaLiveRegion.js\n */\nexport const SEISMIC_ARIA_LIVE_REGION_UPDATE_REQUESTED =\n\t'SEISMIC_ARIA_LIVE_REGION_UPDATE_REQUESTED';\nexport const publicSeismicActions = [SEISMIC_ARIA_LIVE_REGION_UPDATE_REQUESTED];\n\nexport const viewportActions = {\n\tUXF_VIEWPORT_RENDER,\n\tUXF_VIEWPORT_RENDER_BY_ID,\n\tUXF_VIEWPORT_DISMISS,\n\tUXF_VIEWPORT_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED,\n\tUXF_VIEWPORT_SCRIPTED_CONDITIONS_EVALUATION_REQUESTED,\n\tUXF_VIEWPORT_CALCULATE_ROUTES,\n\tUXF_VIEWPORT_ROUTE_INITIALIZATION_COMPLETED,\n\tUXF_VIEWPORT_ROUTE_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED,\n\tUXF_VIEWPORT_ROUTE_SCRIPTED_CONDITIONS_EVALUATION_REQUESTED\n};\n\nexport const HEADLESS_VIEWPORT_COMPONENT_TAG = 'now-uxf-viewport';\nexport const HEADLESS_VIEWPORT_COMPONENT_PROP_VALUES = {\n\theadless: true\n};\n\nexport const internalActions = {\n\tSCRIPT_EXEC_REQUESTED,\n\tMACROPONENT_STATE_UPDATED,\n\tWRAPPED_EVENT_REDISPATCH,\n\tUPDATE_CONTEXT_REQUESTED_BY_CONTROLLER_PROP_RESOLVED,\n\tUPDATE_CONTEXT_REQUESTED_BY_CONTROLLER_PROP_CHANGE,\n\tSAVE_CONTROLLER_NODE_TO_TRANSLATOR,\n\t...viewportActions\n};\n\nexport const componentViewportInternalActions = {\n\tVIEWPORT_ROUTE_REQUESTED\n};\n\nexport const MACROPONENT_FEATURES = {\n\tDATA_BROKERS: 'DATA_BROKERS',\n\tVIEWPORTS: 'VIEWPORTS',\n\tEVENT_MAPPING: 'EVENT_MAPPING',\n\tEXT_CONTROLLER_DEPENDENCY_PROPS: 'EXT_CONTROLLER_DEPENDENCY_PROPS'\n};\n\nexport const MACROPONENT_NODE_PROPERTIES = {\n\tDATA_BROKERS: 'dataBrokers',\n\tEVENT_MAPPINGS: 'eventMappings',\n\tIS_HEADLESS: 'isHeadless',\n\tIS_HERO: 'isHero',\n\tIS_HIDDEN: 'isHidden',\n\tIS_NON_DESTRUCTIVE: 'isNonDestructive',\n\tLAYOUT_JSON: 'layoutJson',\n\tNODE_ID: 'nodeId',\n\tPROPERTIES: 'properties',\n\tPROPERTY_VALUES: 'propertyValues',\n\tSHELL: 'shell',\n\tSLOT: 'slot',\n\tSLOT_META: 'slotMeta',\n\tSTATE_PROPERTIES: 'stateProperties',\n\tSTYLES: 'styles',\n\tTAG_NAME: 'tagName',\n\tTYPE: 'type'\n};\n\nexport const TABS_TYPE = {\n\tTEMPLATE: 'template'\n};\n\nexport const SLOT_TYPES = {\n\tTABS: 'tabs'\n};\n\nexport const UXF_META_PROP_NAME_PREFIX = 'now-uxf';\nexport const SELECTABLE_PROP_RESOLVER_PROP_NAME_PREFIX =\n\tUXF_META_PROP_NAME_PREFIX + '-spp';\n\nexport const DBK_NAMESPACE_PROP_NAME_PREFIX = UXF_META_PROP_NAME_PREFIX + '-db';\nexport const DBK_LIFECYCLE_FETCHING_KEY = 'fetching';\nexport const DBK_LIFECYCLE_FETCH_SUCCESS_KEY = 'fetch-success';\nexport const MODAL_SELECTED = 'MODAL_SELECTED';\nexport const MODAL_SELECTED_RELAY = 'MODAL_SELECTED_RELAY';\nexport const DA_WRAPPED_CLICKED = 'DA_WRAPPED_CLICKED';\nexport const MACROPONENT_PERSISTED_STATE_ON_EXTERNAL_CHANGE =\n\t'MACROPONENT_PERSISTED_STATE_ON_EXTERNAL_CHANGE';\n\n/**\n * Actions that the macroponent dispatches. Part of UXF's public API.\n * These don't bubble up and so far are limited to lifecycle-type actions.\n */\nexport const publicDispatchedActionNames = {\n\tMACROPONENT_READY,\n\tMACROPONENT_PROPERTY_CHANGED,\n\tMACROPONENT_VIEWPORT_LOAD_COMPLETED,\n\tMACROPONENT_VIEWPORT_ROUTE_INITIALIZATION_COMPLETED,\n\tMACROPONENT_PAGE_ERROR_OCCURRED,\n\tMACROPONENT_POPOVER_ERROR_OCCURRED,\n\tMACROPONENT_POPOVER_ERROR_OCCURRED_DEPRECATED,\n\tMACROPONENT_FOCUSED,\n\tMACROPONENT_DOMAIN_UPDATE_REQUESTED,\n\tMACROPONENT_PERSISTED_STATE_ON_EXTERNAL_CHANGE\n};\n\n/**\n * Actions that the macroponent handles. Part of UXF's public API.\n */\nexport const publicActionHandlerNames = {\n\tMACROPONENT_STATE_UPDATE_REQUESTED,\n\tMACROPONENT_VIEWPORT_LOAD_REQUESTED,\n\tHTTP_ERROR_OCCURRED,\n\tTRACK_USAGE_REQUESTED,\n\tOPEN_MODELESS_DIALOG,\n\tCLOSE_MODELESS_DIALOG,\n\tMACROPONENT_POPOVER_OPEN_REQUESTED,\n\tMACROPONENT_FOCUS_ELEMENT_REQUESTED,\n\tMACROPONENT_FOCUS_PARENT_REQUESTED\n};\n\nexport const IS_INTERNAL_ACTION = Symbol('isUxfInternalAction');\n\nexport const IS_MACROPONENT_READY = Symbol('isReady');\n\nexport const MACROPONENT_INTERNAL_RESPONSIVE_STATE = Symbol(\n\t'nowUxfMacroponentResponsiveState'\n);\n\nexport const IS_SOURCED_FROM_SET_STATE = Symbol('isSourcedFromSetState');\nexport const IS_SOURCED_FROM_PERSISTED_STATE_CHANGE = Symbol(\n\t'isSourcedFromPersistedStateChange'\n);\n\nexport const SEISMIC_STATE_KEY_BEHAVIORS = 'behaviors';\n\nexport const CONTAINING_MACROPONENT_SYS_ID = Symbol(\n\t'DO_NOT_USE__uxfContainingMacropopnentSysId'\n);\n\nexport const COMPOSITION_ELEMENT_ID = Symbol('DO_NOT_USE__uxfCompositionElId');\n\nexport const REPEATER_ITEM = Symbol('repeaterItem');\n\nexport const SIGNAL_VIEWPORT_LOAD_COMPLETION = Symbol(\n\t'DO_NOT_USE__signalViewportLoadCompletion'\n);\n\nexport const SIGNAL_VIEWPORT_ROUTE_INITIALIZATION_COMPLETION = Symbol(\n\t'DO_NOT_USE__signalViewportRouteInitializationCompletion'\n);\n\nexport const SIGNAL_MACROPONENT_READY_STATE_UPDATED = Symbol(\n\t'DO_NOT_USE__signalMacroponentReadyStateUpdated'\n);\n\nexport const SIGNAL_MACROPONENT_READY_DISPATCHED = Symbol(\n\t'DO_NOT_USE__signalMacroponentReadyDispatched'\n);\n\nexport const SYMBOL_EVENT_MAPPING_SOURCE_IS_SCREEN_ACTION_TRANSFORMER = Symbol(\n\t'DO_NOT_USE__eventMappingSourceIsScreenActionTransformer'\n);\n\nexport const SYMBOL_EVENT_MAPPING_SOURCE_IS_FROM_SUB_PAGE = Symbol(\n\t'DO_NOT_USE__eventMappingSourceIsFromSubPage'\n);\nexport const SYMBOL_ORIGINATING_ELEMENT_ID_FOR_CONTROLLER_OP = Symbol(\n\t'DO_NOT_USE__originatingElementIdThatTriggeredControllerOp'\n);\n\nexport const CONTROLLER = 'CONTROLLER';\n\nexport const DATA_ELEMENT_ID = 'dataElemId';\n\nexport const MACROPONENT_ROOT_COMPONENT_ID = 'root';\n\nexport const CONTEXT_PROPS_IDENTIFIER = 'props';\n\nexport const APP_PROPS_IDENTIFIER = 'app';\n\nexport const STATE_IDENTIFIER = 'state';\n\nexport const SYS_PROPS_IDENTIFIER = 'sysprop';\n\nexport const DBK_OUTPUT_IDENTIFIER = 'output';\n\nexport const ELEMENTS_IDENTIFIER = 'elements';\n\nexport const DBK_LIFECYCLE_IDENTIFIER = 'lifecycle';\n\nexport const DBK_LIFECYCLE_FETCHING_IDENTIFIER = 'fetchInProgress';\n\nexport const DBK_LIFECYCLE_FETCH_SUCCESS_IDENTIFIER = 'lastFetchSucceeded';\n\nexport const SESSION = 'session';\n\nexport const UXF_VIEWPORT_SCREEN_TAG = 'sn-uxf-viewport-screen';\n\nexport const UXF_INTERNAL_EVENT_META = '__uxfMetaInternalOnlyDoNotUse';\n\n/** Source action path for Dirty State Management on `action.payload.meta.uxfMeta` */\nexport const UXF_DIRTY_STATE_MANAGEMENT_SOURCE_ACTION_PATH =\n\t'UXF_DIRTY_STATE_MANAGEMENT_SOURCE_ACTION_PATH';\n\n/** Experience Data for Dirty State Management on `action.payload.meta.uxfMeta` */\nexport const UXF_DIRTY_STATE_MANAGEMENT_EXPERIENCE_DATA =\n\t'UXF_DIRTY_STATE_MANAGEMENT_EXPERIENCE_DATA';\n\n/** Dirty State Management action trail for actions that are handled and augmented in library-uxf */\nexport const UXF_DIRTY_STATE_MANAGEMENT_DISPATCHED_ACTION_TRAILS =\n\t'UXF_DIRTY_STATE_MANAGEMENT_DISPATCHED_ACTION_TRAILS';\n\nexport const UXF_DIRTY_STATE_MANAGER_LAST_CLIENT_SCRIPT_SOURCE_COMPONENT_ID =\n\t'UXF_DIRTY_STATE_MANAGER_LAST_CLIENT_SCRIPT_SOURCE_COMPONENT_ID';\n\nexport const FORM_CONTROLLER_MCP_SYS_ID = '67ee2538534501108135ddeeff7b121b';\n\nexport const UXF_THEME_UPDATED = '__DO_NOT_USE__UXF_INTERNAL#THEME_UPDATED';\n\nexport const LAYOUT_VERSION_3_0_0 = '3.0.0';\nexport const LAYOUT_VERSION_3_1_0 = '3.1.0';\n\nexport const META_PROP_NAME_APP_CONFIG_SYS_ID = 'nowUxfAppConfigSysId';\nexport const META_PROP_NAME_PF_PROP_OVERRIDES =\n\t'__DO_NOT_USE__nowUxfPfPropOverrides';\n\nexport const META_PROP_NAME_HYDRATION_KEY = 'nowUxfHydrationKey';\n\nexport const UXF_TYPE_VIEWPORT = 'VIEWPORT';\n\nexport const NOW_UXF_MODAL_VIEWPORT = 'now-uxf-modal-viewport';\n\nexport const NOW_UXF_TABSET = 'now-uxf-tab-set';\n\nexport const NOW_CONTEXTUAL_SIDEBAR = 'now-contextual-sidebar';\n\n// a collection of compontent tags that, when they are of\n// type \"VIEWPORT\", should not dispatch the UXF_VIEWPORT#RENDER_BY_ID\n// action when rendered. this is due to a race condition when attempting\n// to render a viewport that has not yet been initialized.\nexport const NOW_UXF_VIEWPORT_BLACKLIST = [\n\tNOW_UXF_MODAL_VIEWPORT,\n\tNOW_UXF_TABSET\n];\n\nexport const PRESET = 'preset';\n\nexport const HANDLING_SCOPE = '__uxfInternalHandlingScope__DO_NOT_USE';\nexport const UXF_INTERNAL_HANDLING_SCOPE_SAFETY = Symbol(HANDLING_SCOPE);\n\nexport const UXF_INTERNAL_RELAY_BY_SCREEN_ACTION_TRANSFORMER = Symbol(\n\t'__uxfInternalRelayByScreenActionTransformer__DO_NOT_USE'\n);\n\nexport const UXF_INTERNAL_ACTION_ORIGINATE = Symbol(\n\t'__uxfInternalActionOriginate__DO_NOT_USE'\n);\n\nexport const GLIDE_FORM_DATABROKER = 'dc6e87a5232200100e4bc50947bf654b';\n\nexport const META_PROP_NAME_STYLE_QUERIES = 'nowUxfStyleQueries';\n\nexport const META_PROP_NAME_PARENT_PAGE_COMPONENT_ID =\n\t'nowUxfParentPageComponentId';\nexport const META_PROP_NAME_PARENT_PAGE_MACROPONENT_SYS_ID =\n\t'nowUxfParentPageMacroponentSysId';\n\nexport const META_PROP_NAME_CONTROLLER_MAP = 'nowUxfControllerDependencyMap';\nexport const META_PROP_NAME_PARENT_CONTROLLER_DEPENDENCY_MAP =\n\t'nowUxfParentControllerDependencyMap';\nexport const META_PROP_NAME_SCREEN_CONTROLLER_MAP = 'nowUxfscreenControllerMap';\nexport const UXF_EXTENSION_POINT_SINGLE_CONTROLLER_DEPENDENCY_KEY =\n\t'controller';\n\nexport const INPUTS = 'inputs';\n\nexport const MACROPONENT_VALUE_UPDATED = 'SN_UXF#MACROPONENT_VALUE_UPDATED';\n\nexport const DEFAULT_LANG_CODE = 'en';\nexport const USER_PREF_LANG_HEADER = 'Now-User-Pref-Lang-Code';\n\nexport const MACROPONENT_TIME_TO_IDLE_MEASUREMENT_REQUESTED =\n\t'MACROPONENT_TIME_TO_IDLE_MEASUREMENT_REQUESTED';\nexport const MAX_WIDTH = 'max-width';\nexport const REFERENCE = 'reference';\n\nexport const PERSIST_STATE_CONSTANTS = {\n\tACTION_PERSIST_STATE: 'PERSIST_STATE',\n\tSINK_URL: 'URL',\n\tPERSIST_STATE_KEY: '_'\n};\nexport const META_PROP_NAME_PERSISTED_STATE = 'nowUxfPersistedState';\n\nexport const ATTR_PARENT_TAG = 'parent-tag';\nexport const ATTR_LAYOUT_TAG = 'layout-tag';\nexport const NOW_UXF_PAGE = 'now-uxf-page';\n\nexport const SCREEN_ACTION_TRANSFORMER = 'screen-action-transformer';\n\nexport const ELEMENT_TYPES = {\n\tVIEWPORT: 'VIEWPORT',\n\tREPEATER: 'REPEATER'\n};\n\nconst PRIORITY = 'priority';\nconst LAZY = 'lazy';\n\nexport const renderStrategy = {\n\tPRIORITY,\n\tLAZY\n};\n\nexport const INJECTION_POINT_TARGET = 'INJECTION_POINT_TARGET';\nexport const INJECTION_POINT_SOURCE = 'INJECTION_POINT_SOURCE';\nexport const UTILITY_PANEL = 'utilityPanel';\nexport const HOISTED_CONTENT_SOURCE_RENDERED =\n\t'UXF_INTERNAL#HOISTED_CONTENT_SOURCE_RENDERED';\n","import {get} from '@devsnc/snowdash';\nimport {noop} from '@devsnc/snowdash';\n\nconst TEST_MODE = process.env.NODE_ENV === 'test';\n\nconst LOGGING_ENABLED = get(\n\twindow,\n\t['nowUiFramework', 'loggingEnabled'],\n\tTEST_MODE\n);\n\nconst DEV_MODE = !!process.env.DEV_MODE;\n\nexport default new Proxy(console, {\n\tget(target, property, receiver) {\n\t\tif (property !== 'info' && LOGGING_ENABLED)\n\t\t\treturn Reflect.get(target, property, receiver);\n\n\t\tif (property === 'info' && DEV_MODE)\n\t\t\treturn Reflect.get(target, property, receiver);\n\n\t\treturn noop;\n\t}\n});\n","import md5 from 'crypto-js/md5';\nimport Base64 from 'crypto-js/enc-base64';\n// Some browsers don't support using self.caches outside of secure contexts.\n// The only use case for using ServiceNow in a non-secure context are internal developers working locally.\n// Use browser flags to make localhost:8080 act like a secure context.\n// Note that this doesn't mean there is NO client caching. HTTP cache still works here.\nexport async function isCacheStorageAPISupported(cacheName) {\n\t// Only doing \"'caches' in self\" is not enough for Firefox v78 ESR, we actually need to try to open the cache to see if it could be used\n\tif ('caches' in self) {\n\t\ttry {\n\t\t\tconst {caches} = self;\n\t\t\tawait caches.open(cacheName);\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn false;\n}\n\nexport const computeHash = (data) =>\n\tBase64.stringify(md5(JSON.stringify(data)));\n\nexport const DB_ENGINE_EXEC_REST_URL = '/exec';\nexport const DB_CACHENAME = 'DATABROKER_CACHE';\n\nexport async function getDBCacheHandle() {\n\tif ('caches' in self) return await caches.open(DB_CACHENAME);\n}\n\nexport const getCacheKey = (pipelineId, hash) => {\n\tconst headers = new Headers();\n\theaders.set('Accept', 'application/json');\n\tconst cacheUrl = new URL(DB_ENGINE_EXEC_REST_URL, window.location.origin);\n\tcacheUrl.pathname = cacheUrl.pathname + '/' + pipelineId + '/' + hash;\n\treturn new Request(cacheUrl.toString(), {\n\t\theaders,\n\t\tmethod: 'GET'\n\t});\n};\n\nexport const IS_CACHE_STORAGE_API_AVAILABLE_PROMISE =\n\tisCacheStorageAPISupported(DB_CACHENAME);\n","import {getActiveLibraryUxfVersion, getUxGlobal} from './utils.js';\nimport {isCacheStorageAPISupported} from '../utils/clientCacheUtils';\nimport {modifiedEmbeddableUrl, sysPropEmbeddablesEnabled} from './utils.js';\nimport {getEmbeddableBaseUrl} from '@servicenow/ui-config';\nexport const PAGE_FRAGMENT_PARTIAL_CONTENT_CACHE_ENABLED = getUxGlobal(\n\t'pageFragmentPartialContentCacheEnabled',\n\tfalse\n);\n\n// This must never change since we use it to delete stale caches\n// If we ever need to change it, make sure to add additional code that deletes stale caches based on the outdated name\nconst CACHE_NAME_PREFIX = '__uxf_pagefragment_partials';\nconst PAGE_FRAGMENT_PARTIAL_CONTENT_CACHE_NAME =\n\tCACHE_NAME_PREFIX + ':v' + getActiveLibraryUxfVersion();\n\nasync function removeStaleCaches() {\n\tif (\n\t\t!(await isCacheStorageAPISupported(\n\t\t\tPAGE_FRAGMENT_PARTIAL_CONTENT_CACHE_NAME\n\t\t))\n\t) {\n\t\tconsole.warn(\n\t\t\t`Partial content cache is skipping the cache storage API; window.isSecureContext = ${window.isSecureContext}`\n\t\t);\n\t\treturn;\n\t}\n\t(await caches.keys())\n\t\t.filter((cacheName) => cacheName.startsWith(CACHE_NAME_PREFIX))\n\t\t.filter(\n\t\t\t(cacheName) => cacheName !== PAGE_FRAGMENT_PARTIAL_CONTENT_CACHE_NAME\n\t\t)\n\t\t.map((cacheName) => caches.delete(cacheName));\n}\n\nremoveStaleCaches();\n\nexport async function getOpenedCache() {\n\tif (\n\t\t!(await isCacheStorageAPISupported(\n\t\t\tPAGE_FRAGMENT_PARTIAL_CONTENT_CACHE_NAME\n\t\t))\n\t)\n\t\treturn;\n\n\tconst {caches} = self;\n\treturn await caches.open(PAGE_FRAGMENT_PARTIAL_CONTENT_CACHE_NAME);\n}\n\nexport async function getClientCacheableContentFromCache(request) {\n\tconst cache = await getOpenedCache();\n\tconst response = await cache.match(request);\n\tif (typeof response === 'undefined') {\n\t\tawait cache.add(request);\n\t\treturn await cache.match(request);\n\t} else {\n\t\treturn response;\n\t}\n}\n\nexport async function getMostRecentClientCacheableContentFromCache(\n\tmacroponentSysId\n) {\n\tconst cache = await getOpenedCache();\n\tconst headers = new Headers();\n\theaders.set('Accept', 'application/json');\n\n\tconst requests = await cache.keys();\n\tconst matchedRequests = requests.filter((request) =>\n\t\trequest?.url.includes(`&sysparm_macroponent_sys_id=${macroponentSysId}`)\n\t);\n\n\tlet clientCacheableContent = [];\n\tif (matchedRequests.length > 0) {\n\t\tconst url = matchedRequests[matchedRequests.length - 1].url;\n\t\tconst request = new Request(url, {headers});\n\t\tconst response = await cache.match(request);\n\t\tclientCacheableContent = await response.json();\n\t}\n\n\treturn clientCacheableContent;\n}\n\nexport async function fetchClientCacheableContent(url) {\n\tconst headers = new Headers();\n\theaders.set('Accept', 'application/json');\n\tconst options = {\n\t\theaders\n\t};\n\tif (sysPropEmbeddablesEnabled()) {\n\t\turl = modifiedEmbeddableUrl(url);\n\t\tif (getEmbeddableBaseUrl()) options.credentials = 'include';\n\t}\n\tconst request = new Request(url, options);\n\tconst response = (await isCacheStorageAPISupported(\n\t\tPAGE_FRAGMENT_PARTIAL_CONTENT_CACHE_NAME\n\t))\n\t\t? await getClientCacheableContentFromCache(request)\n\t\t: await fetch(request);\n\tconst clientCacheableContent = await response.json();\n\treturn clientCacheableContent || [];\n}\n\nexport function getClientCacheableComponentDriverRequestUrl(\n\tcomponentIdOrTagName,\n\tcacheBuster\n) {\n\treturn `/$uxappimmutables.do?sysparm_request_type=component_driver_partial&sysparm_component_id_or_tagname=${componentIdOrTagName}&uxpcb=${cacheBuster}`;\n}\n\nconst UX_GLOBAL_CLIENT_CACHE_BUSTER =\n\twindow?.ux_globals?.uxGlobalsClientCacheBuster || '';\n\nexport async function fetchExperienceForUxGlobals(pageRegistryId) {\n\tconst requestUrl = getClientCacheableUxGlobalExperienceRequestUrl(\n\t\tpageRegistryId,\n\t\tUX_GLOBAL_CLIENT_CACHE_BUSTER\n\t);\n\tconst headers = new Headers();\n\theaders.set('Accept', 'application/json');\n\tconst response = await fetch(new Request(requestUrl, {headers}));\n\tconst experienceContent = await response.json();\n\tObject.assign(window?.ux_globals?.experienceConfigs, experienceContent);\n\treturn experienceContent;\n}\n\nexport function getClientCacheableUxGlobalExperienceRequestUrl(\n\tpageRegistryId,\n\tcacheBuster\n) {\n\treturn `/$uxappimmutables.do?sysparm_request_type=ux_globals_experience&sysparm_page_registry=${pageRegistryId}&uxpcb=${cacheBuster}`;\n}\n","import {has} from '@devsnc/snowdash';\nimport {get} from '@devsnc/snowdash';\nimport {union} from '@devsnc/snowdash';\nimport {default as console} from '../utils/getLogger.js';\nimport {propertyTypes, DEFAULT_LANG_CODE} from '../factory/constants';\nimport {isNil} from '@devsnc/snowdash';\nimport {filter} from '@devsnc/snowdash';\nimport {fetchExperienceForUxGlobals} from './getClientCacheableContent.js';\nimport {getEmbeddableBaseUrl} from '@servicenow/ui-config';\nimport getUxfSysProp from '../utils/getUxfSysProp.js';\n\nconst {JSON_LITERAL} = propertyTypes;\n\nconst lazyLoadedExperienceConfigProperties = [\n\t'appRouteConfiguration',\n\t'appShellId',\n\t'basePath',\n\t'experienceName',\n\t'loginRedirectURL',\n\t'pageSettings',\n\t'parentAppShellId',\n\t'primaryExperience',\n\t'theme',\n\t'vendorSitePrefix'\n];\n\nexport function getAuthToken() {\n\treturn window.g_ck;\n}\n\nexport function getPageContextId() {\n\treturn window.pageMeta && window.pageMeta.pageRegistryId;\n}\n\nexport function getPageMacroponentId() {\n\treturn window.pageMeta && window.pageMeta.pageMacroponentId;\n}\n\n// this technique only works as long as template-loader is loaded with \"defer\" attribute on the script tag\nexport function getUxGlobal(key, defaultValue = {}) {\n\tif (!isNil(key)) {\n\t\tconst UX_GLOBALS = window.ux_globals || (window.ux_globals = {});\n\n\t\tif (!has(UX_GLOBALS, [key])) UX_GLOBALS[key] = defaultValue;\n\n\t\treturn UX_GLOBALS[key];\n\t}\n\n\tconsole.error('Must provide a key to retrieve off ux_globals variable');\n}\n\nexport async function getDataFromUxGlobalsExperienceConfig(\n\texperienceId,\n\tproperty\n) {\n\tconst experienceConfigs = getUxGlobal('experienceConfigs') || {};\n\n\tlet experienceObject = filter(\n\t\tObject.values(experienceConfigs),\n\t\t(value) => get(value, 'experienceId') === experienceId\n\t)[0];\n\n\tif (!experienceObject) return;\n\n\tif (has(experienceObject, [property])) return experienceObject[property];\n\n\t// if we are here, we didn't find the property in the experience object\n\t// first check if the property is one of the lazy loaded experience config property before sending off an expensive network request\n\tif (lazyLoadedExperienceConfigProperties.includes(property)) {\n\t\tconst experienceContent = await fetchExperienceForUxGlobals(experienceId);\n\t\texperienceObject = Object.values(experienceContent)[0];\n\t\treturn experienceObject[property];\n\t}\n}\n\nexport function getActiveLibraryUxfVersion() {\n\treturn getUxGlobal('libuxf', {version: '0.0.0'}).version;\n}\n\nexport function getPagePropertiesForApp(key) {\n\t// Optimization has been done on server side to only return current workspace config\n\t// for other experience config, only experienceId, urlPath and appConfigId will be returned in direct load,\n\t// the rest of the information for the requested experience and its interoperable routes' experience configs will be delivered by ux_globals_experience\n\t// those experience configs will be updated in ux_globals on demand\n\t// Please refer to sn-canvas-common/src/experienceConfigs/get-experience-config.js for more details\n\t// As a result, we need to always read from latest ux_globals for source of truth\n\n\tconst experienceConfigs = getUxGlobal('experienceConfigs', {});\n\tconst matchingExpConfig = Object.values(experienceConfigs).find(\n\t\t(config) => config.experienceId === key\n\t);\n\n\treturn matchingExpConfig?.pageProperties ?? getUxGlobal('pageProperties', {});\n}\n\nfunction getAppConfigToPageRegistrySysIdMap(experienceConfigs) {\n\treturn Object.values(experienceConfigs)\n\t\t.map(({experienceId, pageSettings, appConfigId}) => [\n\t\t\tpageSettings?.sysId || appConfigId,\n\t\t\texperienceId\n\t\t])\n\t\t.reduce((acc, [key, value]) => {\n\t\t\tacc[key] = value;\n\t\t\treturn acc;\n\t\t}, {});\n}\n\nexport const EXPERIENCE_IDS_BY_APP_CONFIG_SYS_IDS =\n\tgetAppConfigToPageRegistrySysIdMap(getUxGlobal('experienceConfigs', {}));\n\nexport function deepFreeze(object) {\n\t// Retrieve the property names defined on object\n\tvar propNames = Object.getOwnPropertyNames(object);\n\n\t// Freeze properties before freezing self\n\tfor (let name of propNames) {\n\t\tlet value = object[name];\n\n\t\tif (value && typeof value === 'object') {\n\t\t\tdeepFreeze(value);\n\t\t}\n\t}\n\n\treturn Object.freeze(object);\n}\n\nconst PAGE_FRAGMENTS_LOADED_BY_PAGE_PROCESSOR = '__uxfLoadedPageFragments';\n\nconst macroponentsLoadedByPageProcessor = get(\n\twindow,\n\t[PAGE_FRAGMENTS_LOADED_BY_PAGE_PROCESSOR],\n\t[]\n).map(([sysId]) => sysId);\n\nexport function getMacroponentSkipSet(customSkipSet) {\n\treturn union(macroponentsLoadedByPageProcessor, Array.from(customSkipSet));\n}\n\nexport const PAGE_PROCESSOR_LOADED_TEMPLATES = get(\n\twindow,\n\t[PAGE_FRAGMENTS_LOADED_BY_PAGE_PROCESSOR],\n\t[]\n).reduce((acc, [sysId, template]) => {\n\tif (template.length > 0) acc[sysId] = template;\n\treturn acc;\n}, {});\n\n/**\n * Remove once Tectonic is able to polyfill this correctly.\n * Stolen from https://github.com/es-shims/Promise.allSettled/blob/master/implementation.js#L16\n */\nexport const polyfilledPromiseDotAllSettled = (promises) => {\n\tif (typeof Promise.allSettled === 'function')\n\t\treturn Promise.allSettled(promises);\n\telse {\n\t\treturn Promise.all(\n\t\t\tpromises.map((item) => {\n\t\t\t\tconst promise = Promise.resolve(item);\n\t\t\t\ttry {\n\t\t\t\t\treturn promise.then(\n\t\t\t\t\t\tfunction onFulfill(value) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tstatus: 'fulfilled',\n\t\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfunction onReject(reason) {\n\t\t\t\t\t\t\treturn {status: 'rejected', reason};\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} catch (e) {\n\t\t\t\t\treturn Promise.reject(e);\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\t}\n};\n\nexport const getJsonLiteral = (literal) => ({\n\ttype: JSON_LITERAL,\n\tvalue: literal\n});\n\nexport function getUserPrefLangCode() {\n\tconst userSession = getUxGlobal('session');\n\tconst langCode = userSession?.output?.user?.language;\n\tif (langCode) return langCode;\n\treturn DEFAULT_LANG_CODE;\n}\n\nexport const getFilteredObj = (incomingObj, func) => {\n\tif (!incomingObj) return incomingObj;\n\n\treturn Object.keys(incomingObj).reduce((obj, key) => {\n\t\tif (func(key)) {\n\t\t\tobj[key] = incomingObj[key];\n\t\t}\n\t\treturn obj;\n\t}, {});\n};\n\nexport const getObjectWithoutUxfProps = (incomingObj) =>\n\tgetFilteredObj(incomingObj, (key) => !key.startsWith('nowUxf'));\n\nexport function modifiedEmbeddableUrl(url) {\n\treturn getEmbeddableBaseUrl() + url;\n}\n\n//lazy fetching\nlet sysPropEmbeddablesEnabledValue;\nexport function sysPropEmbeddablesEnabled() {\n\tif (sysPropEmbeddablesEnabledValue === undefined) {\n\t\tsysPropEmbeddablesEnabledValue =\n\t\t\tgetUxfSysProp('glide.uxf.lib.embeddables.enabled', 'false') === 'true';\n\t\treturn sysPropEmbeddablesEnabledValue;\n\t}\n\treturn sysPropEmbeddablesEnabledValue;\n}\n\nexport function getSeededFragments(\n\tmacroponentSysIdsToLookup,\n\tseededPageFragments\n) {\n\t// When MCPs are fetched via macroponent_driver, their dependencies are also retrieved.\n\t// For the top levels screens dependencies are resolved using the AppliedPageFragment.\n\t// With subscreens like viewports getting seeded in HTML Doc, we also need to return their dependency MCPs.\n\tconst seededFragmentsSysIds = new Set();\n\tconst resolveDependencies = (macroponentSysId) => {\n\t\tif (seededFragmentsSysIds.has(macroponentSysId)) return;\n\t\tseededFragmentsSysIds.add(macroponentSysId);\n\t\tconst dependentMCPIds =\n\t\t\tseededPageFragments.get(macroponentSysId).dependentMCPIds ?? [];\n\t\tdependentMCPIds.forEach((depId) => resolveDependencies(depId));\n\t};\n\tmacroponentSysIdsToLookup.forEach((macroponentSysId) =>\n\t\tresolveDependencies(macroponentSysId)\n\t);\n\tconst seededFragments = [...seededFragmentsSysIds].map((macroponentSysId) =>\n\t\tseededPageFragments.get(macroponentSysId)\n\t);\n\treturn seededFragments;\n}\n\nexport const buildClientCacheableContentUrl = (\n\tmacroponentSysId,\n\tclientCacheableContentCacheBuster\n) =>\n\tclientCacheableContentCacheBuster\n\t\t? `/$uxappimmutables.do?sysparm_request_type=page_fragment_partial&sysparm_macroponent_sys_id=${macroponentSysId}&uxpcb=${clientCacheableContentCacheBuster}`\n\t\t: '';\n\nexport const buildStaticContentUrl = (\n\tlanguageCode,\n\tmacroponentSysId,\n\tstaticContentCacheBuster\n) =>\n\t`/uxpf/${languageCode}/${macroponentSysId}.jsdbx?uxpcb=${staticContentCacheBuster}`;\n\nexport const shouldIncludeCrossOrigin = () => {\n\t// When embeddables are enabled, we need to include the cross-origin attribute\n\treturn sysPropEmbeddablesEnabled() && getEmbeddableBaseUrl();\n};\n","import {get} from '@devsnc/snowdash';\n\nexport default function getUxfSysProp(name, defaultValue) {\n\treturn get(window, ['ux_globals', 'libuxf', 'sysprops', name], defaultValue);\n}\n","import {escape} from '@devsnc/snowdash';\nimport {getEmbeddableBaseUrl} from '@servicenow/ui-config';\nimport {\n\tgetUxGlobal,\n\tsysPropEmbeddablesEnabled\n} from '../templateLoader/utils.js';\nimport {has} from '@devsnc/snowdash';\nimport {default as console} from '../utils/getLogger.js';\nimport {UXF_THEME_UPDATED} from './constants.js';\n\nexport function normalizePropertyName(name) {\n\t// 1. assume unprefixed properties should be prefixed with \"--now-\"\n\t// 2. if values already have a \"--\" prefix, leave them alone\n\tif (!name.startsWith('--')) {\n\t\treturn '--now-' + name;\n\t}\n\treturn name;\n}\n\nfunction resolve(properties, value, visited = []) {\n\tif (visited.indexOf(value) !== -1) {\n\t\tconst path = [...visited, value].join(' --> ');\n\t\tconsole.error(`Unable to resolve circular theme reference: ${path}`);\n\t\treturn value;\n\t}\n\tif (has(properties, [value])) {\n\t\treturn resolve(properties, properties[value], [...visited, value]);\n\t}\n\treturn value;\n}\n\nexport function resolveProperties(properties) {\n\tconst normalized = {};\n\tfor (const [name, value] of Object.entries(properties)) {\n\t\tnormalized[normalizePropertyName(name)] = value;\n\t}\n\tconst result = {};\n\tfor (const [name, value] of Object.entries(normalized)) {\n\t\tresult[name] = resolve(normalized, value);\n\t}\n\treturn result;\n}\n\nexport function printProperties(properties) {\n\tlet result = '';\n\tfor (const k of Object.keys(properties)) {\n\t\tconst propName = normalizePropertyName(k);\n\t\tresult += `\\n${propName}:${properties[k]};`;\n\t}\n\treturn result;\n}\n\nconst BGCOLOR = '--now-color_background--primary';\nconst COLOR = '--now-color_text--primary';\nconst bodyStyles = `html, body {\n\tbackground-color: RGB(var(${BGCOLOR}, 255, 255, 255));\n\tcolor: RGB(var(${COLOR}, 22, 27, 28));\n}`;\nexport function printCssText(\n\tproperties,\n\tcssSelector = ':root',\n\tskipBodyStyles = false\n) {\n\treturn `\n${cssSelector} { ${printProperties(resolveProperties(properties))} \\n}\n${!skipBodyStyles ? bodyStyles : ''}\n`.trim();\n}\n\nfunction installFonts(fonts) {\n\tif (!(Array.isArray(fonts) && fonts.length > 0)) {\n\t\treturn;\n\t}\n\tconst cssFontFaceDefinitions = fonts.reduce((acc, font) => {\n\t\treturn acc.concat(getCssFontFaceDef(font));\n\t}, '');\n\n\tconst styleEl = document.createElement('STYLE');\n\tstyleEl.id = 'font-definitions';\n\tstyleEl.textContent = cssFontFaceDefinitions;\n\tdocument.head.appendChild(styleEl);\n\n\tfunction getCssFontFaceDef({name, uri, properties}) {\n\t\tconst fontDef = `\n@font-face {\n\tfont-family: \"${escape(name)}\";\n\tsrc: url('${uri}');\n`;\n\n\t\tif (properties) {\n\t\t\treturn Object.entries(properties)\n\t\t\t\t.reduce((fontDef, [property, value]) => {\n\t\t\t\t\treturn fontDef.concat(`\t${escape(property)} : ${escape(value)};\\n`);\n\t\t\t\t}, fontDef)\n\t\t\t\t.concat('}');\n\t\t} else {\n\t\t\treturn fontDef.concat('}');\n\t\t}\n\t}\n}\n\nfunction installImages(images, skipAddingFavicon = false) {\n\tconst UxGlobalTheme = getUxGlobal('theme');\n\tif (UxGlobalTheme.assets) {\n\t\tUxGlobalTheme.assets.images = images;\n\t}\n\n\tif (images['favicon'] && !skipAddingFavicon) {\n\t\tconst head = document.querySelector('head');\n\t\tconst link = document.createElement('link');\n\t\tlink.setAttribute('rel', 'shortcut icon');\n\t\tlink.setAttribute('href', images.favicon.uri);\n\t\thead.appendChild(link);\n\t}\n}\n\nfunction getImageAssetsCssVars(imageAssets) {\n\tconst cssVars = {};\n\tObject.entries(imageAssets).map(([name, {uri}]) => {\n\t\tcssVars[`--now-theme-image-${name}`] = `url('${uri}')`;\n\t});\n\treturn cssVars;\n}\n\nexport function triageAssets(assets) {\n\tconst baseUrl = sysPropEmbeddablesEnabled() ? getEmbeddableBaseUrl() : '';\n\treturn assets.reduce(\n\t\t(triagedAssets, asset) => {\n\t\t\tif (asset.category == 'font') {\n\t\t\t\ttriagedAssets.fonts.push({...asset, uri: `${baseUrl}${asset.uri}`});\n\t\t\t} else if (asset.category == 'image') {\n\t\t\t\tif (asset.properties && asset.properties.position) {\n\t\t\t\t\ttriagedAssets.images[asset.properties.position] = {\n\t\t\t\t\t\t...asset,\n\t\t\t\t\t\turi: `${baseUrl}${asset.uri}`\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn triagedAssets;\n\t\t},\n\t\t{\n\t\t\timages: {},\n\t\t\tfonts: []\n\t\t}\n\t);\n}\n\n// @TODO(david.leonard): These are old system theme properties that were\n// renamed by NDS in Quebec, but some of them are still in the code for\n// components that haven't rebuilt with a newer version of NDS SCSS. We can\n// remove this in Rome when all internal component authors rebuild.\n// Removing this should have no impact on external customers because we\n// didn't ship theming to the public\n// NOTE: This is the only place we should make theme values var(--foo) statements,\n// normally this is an antipattern and they should be --foo statements to\n// allow for resolving via JS without having to trigger a restyle by reading\n// computed styles from the DOM.\nconst COMPAT_THEME_PROPS = getUxGlobal('compatThemeProps');\n\n//These are the properties that UIB exposes via dropdowns to users.\n//They are static and defined by NDS. They are not overridable.\n// DEF0368896 - defined in glide/glide-ux-builder/src/main/java/com/glide/ux/runtime/page_processing/doc_gen/UxAppHTMLDocGenerator.java\nconst STATIC_THEME_PROPS = getUxGlobal('staticThemeProps');\n\nfunction buildTheme({\n\tcoreStyles = [],\n\tlegacyTheme: {assets: legacyAssets = [], theme: legacyProperties = {}} = {},\n\tinfoDensities = {},\n\tvariants = {},\n\tuserPreferenceInfoDensity = '',\n\tuserPreferenceVariant = ''\n}) {\n\tconst allProperties = {};\n\tconst allAssets = [];\n\tfor (const {properties = {}, assets = []} of coreStyles) {\n\t\tObject.assign(allProperties, properties);\n\t\tallAssets.push(...assets);\n\t}\n\n\tObject.assign(allProperties, legacyProperties);\n\tallAssets.push(...legacyAssets);\n\n\tif (!infoDensities[userPreferenceInfoDensity]) {\n\t\tuserPreferenceInfoDensity = 'default';\n\t}\n\n\tif (infoDensities[userPreferenceInfoDensity]) {\n\t\tconst {properties: infoDensityProps = {}, assets: infoDensityAssets = []} =\n\t\t\tinfoDensities[userPreferenceInfoDensity];\n\n\t\tObject.assign(allProperties, infoDensityProps);\n\t\tallAssets.push(...infoDensityAssets);\n\t}\n\n\tif (variants[userPreferenceVariant]) {\n\t\tconst {properties: variantProps = {}, assets: variantAssets = []} =\n\t\t\tvariants[userPreferenceVariant];\n\n\t\tObject.assign(allProperties, variantProps);\n\t\tallAssets.push(...variantAssets);\n\t}\n\n\treturn {theme: allProperties, assets: allAssets};\n}\n\nfunction signalThemeUpdated() {\n\tdocument.dispatchEvent(new Event(UXF_THEME_UPDATED));\n}\n\nexport function installTheme(\n\t//Default value cannot be provided for themeOptions as we check for\n\t//undefined in order to use legacy code paths.\n\t{theme = {}, assets = [], themeOptions} = {},\n\ttargetNode = document.head,\n\tstyleTagId = 'global-theme',\n\tcssSelector = ':root',\n\tkeepDocumentTheme = false,\n\t// pagespecificstyles refers to html,body styles & favicon.\n\t// for Embeddables usecase, dont add favicon, html,body styles to third party page.\n\tskipPageSpecificStyles = false\n) {\n\tif (themeOptions) {\n\t\tconst themeOptionsResult = buildTheme(themeOptions);\n\t\ttheme = themeOptionsResult.theme;\n\t\tassets = themeOptionsResult.assets;\n\t}\n\n\tconst {fonts, images} = triageAssets(assets);\n\tinstallFonts(fonts);\n\tinstallImages(images, skipPageSpecificStyles);\n\n\t// @TODO(david.leonard): See comment above, this can be removed in Rome when\n\t// we pull out compatible theme props.\n\ttheme = {...theme, ...COMPAT_THEME_PROPS};\n\n\ttheme = {...theme, ...getImageAssetsCssVars(images)};\n\ttheme = {...theme, ...STATIC_THEME_PROPS};\n\tvar style = document.getElementById(styleTagId);\n\n\tconst stylesheet = getDocumentLoadedThemeStylesheet();\n\n\t// May not want to remove original theme, such as in the case of UIB that uses 2 themes simultaneously (UIB & stage)\n\tif (stylesheet !== null && !keepDocumentTheme) {\n\t\tstylesheet.remove();\n\t}\n\n\tif (style) {\n\t\tstyle.textContent = printCssText(\n\t\t\ttheme,\n\t\t\tcssSelector,\n\t\t\tskipPageSpecificStyles\n\t\t);\n\t} else {\n\t\tstyle = document.createElement('STYLE');\n\t\tstyle.id = styleTagId;\n\t\tstyle.textContent = printCssText(\n\t\t\ttheme,\n\t\t\tcssSelector,\n\t\t\tskipPageSpecificStyles\n\t\t);\n\t\ttargetNode.appendChild(style);\n\t}\n\n\t//Need to publish the resulting theme to the UX Global to keep contract with datavis and print usecases\n\t//Only do this if the style tag being updated is the global one.\n\tif (styleTagId === 'global-theme') {\n\t\tconst UxGlobalTheme = getUxGlobal('theme');\n\t\tUxGlobalTheme.theme = theme;\n\t\tUxGlobalTheme.assets = assets;\n\t\tUxGlobalTheme.assets.images = images;\n\t\tUxGlobalTheme.images = convertImagesObjToArray(images);\n\t\tUxGlobalTheme.themeOptions = themeOptions;\n\t}\n\n\tsignalThemeUpdated();\n\treturn {theme, assets, images, themeOptions};\n}\n\nfunction convertImagesObjToArray(imagesObj) {\n\tlet imagesArr = [];\n\tObject.keys(imagesObj).forEach((key) => imagesArr.push(imagesObj[key]));\n\treturn imagesArr;\n}\n\nfunction getDocumentLoadedThemeStylesheet() {\n\treturn document.head.querySelector(\"link[data-source-id='glide-theme']\");\n}\n\nexport function loadTheme() {\n\tconst stylesheet = getDocumentLoadedThemeStylesheet();\n\tif (stylesheet === null) {\n\t\tconst theme = getUxGlobal('theme');\n\t\tif (theme) {\n\t\t\tinstallTheme(theme);\n\t\t}\n\t} else {\n\t\tsignalThemeUpdated();\n\t}\n}\n","const CONTEXT_BINDING = 'CONTEXT_BINDING';\nconst ELEMENT_BINDING = 'ELEMENT_BINDING';\nconst JSON_LITERAL = 'JSON_LITERAL';\nconst DATA_CHAIN_BINDING = 'DATA_CHAIN_BINDING';\n\nconst UXF_DB_DATA_REQUESTED = 'UXF_DB_DATA_REQUESTED';\nconst UXF_DB_REFRESH_REQUESTED = 'UXF_DB_REFRESH_REQUESTED';\nconst UXF_DB_REFRESH_RELATED_REQUESTED = 'UXF_DB_REFRESH_RELATED_REQUESTED';\nconst UXF_DB_OP_TRIGGER_REQUESTED = 'UXF_DB_OP_TRIGGER_REQUESTED';\nconst UXF_DB_OP_EXEC_REQUESTED = 'UXF_DB_OP_EXEC_REQUESTED';\nconst UXF_DB_DATA_RECEIVED = 'UXF_DB_DATA_RECEIVED';\nconst UXF_DB_BOOTSTRAPPED = 'UXF_DB_BOOTSTRAPPED';\nconst UXF_DB_INPUT_CHANGED = 'UXF_DB_INPUT_CHANGED';\nconst UXF_DB_REFRESH_REQUESTED_INITIAL_VALUE =\n\t'UXF_DB_REFRESH_REQUESTED_INITIAL_VALUE';\n\n// Standard Metadata-driven Broker Lifecycle events, that UIB can\n// hang Event Mappings off of -- these cannot change since they are\n// part of a public convention/contract\nconst DATA_FETCH_INITIATED = 'DATA_FETCH_INITIATED';\nconst DATA_FETCH_SUCCEEDED = 'DATA_FETCH_SUCCEEDED';\nconst DATA_FETCH_FAILED = 'DATA_FETCH_FAILED';\nconst DATA_OP_INITIATED = 'DATA_OP_INITIATED';\nconst DATA_OP_SUCCEEDED = 'DATA_OP_SUCCEEDED';\nconst DATA_OP_FAILED = 'DATA_OP_FAILED';\n\nconst DB_ENGINE_EXEC_REQUESTED = 'UXF_DB_ENGINE_EXEC_REQUESTED';\nconst DB_ENGINE_EXEC_REQUESTED_WITH_RECORDING =\n\t'UXF_DB_ENGINE_EXEC_REQUESTED_WITH_RECORDING';\nconst DB_ENGINE_EXEC_SUCCEEDED = 'UXF_DB_ENGINE_EXEC_SUCCEEDED';\nconst DB_ENGINE_EXEC_STARTED = 'UXF_DB_ENGINE_EXEC_STARTED';\nconst DB_ENGINE_EXEC_FAILED = 'UXF_DB_ENGINE_EXEC_FAILED';\nconst DB_ENGINE_EXEC_PROGRESSED = 'UXF_DB_ENGINE_EXEC_PROGRESSED';\n\nexport const DB_TYPE_CLIENT_STATE = 'CLIENT_STATE';\nexport const DB_GQL_TRANSPORT_PROPERTY =\n\t'glide.uxf.lib.enable_dbk_graphql_transport';\n\nexport const propertyTypes = {\n\tCONTEXT_BINDING,\n\tELEMENT_BINDING,\n\tJSON_LITERAL,\n\tDATA_CHAIN_BINDING\n};\n\nexport const actionTypesAllowedFromScript = [UXF_DB_OP_TRIGGER_REQUESTED];\n\nexport const actionTypes = {\n\tUXF_DB_DATA_REQUESTED,\n\tUXF_DB_REFRESH_REQUESTED,\n\tUXF_DB_REFRESH_REQUESTED_INITIAL_VALUE,\n\tUXF_DB_REFRESH_RELATED_REQUESTED,\n\tUXF_DB_OP_EXEC_REQUESTED,\n\tUXF_DB_OP_TRIGGER_REQUESTED,\n\tUXF_DB_DATA_RECEIVED,\n\tUXF_DB_BOOTSTRAPPED,\n\tUXF_DB_INPUT_CHANGED,\n\tDB_ENGINE_EXEC_REQUESTED,\n\tDB_ENGINE_EXEC_REQUESTED_WITH_RECORDING,\n\tDB_ENGINE_EXEC_SUCCEEDED,\n\tDB_ENGINE_EXEC_STARTED,\n\tDB_ENGINE_EXEC_FAILED,\n\tDB_ENGINE_EXEC_PROGRESSED,\n\tDATA_FETCH_INITIATED,\n\tDATA_FETCH_SUCCEEDED,\n\tDATA_FETCH_FAILED,\n\tDATA_OP_INITIATED,\n\tDATA_OP_SUCCEEDED,\n\tDATA_OP_FAILED\n};\n","const NEWER = Symbol('newer');\nconst OLDER = Symbol('older');\n\n/**\n * A doubly linked list-based most recently used cache. It will keep most\n * recently used items while discarding least recently used items when its limit\n * is reached.\n */\nexport class Cache {\n\t/**\n\t * Construct a new cache object which will hold up to limit entries.\n\t * When the size == limit, a `put` operation will evict the oldest entry.\n\t * If `entries` is provided, all entries are added to the new map.\n\t *\n\t * `entries` should be an Array or other iterable object whose elements are\n\t *   key-value pairs (2-element Arrays). Each key-value pair is added to the new Map.\n\t *   null is treated as undefined.\n\t *\n\t * @param limit\n\t * @param entries\n\t */\n\tconstructor(limit, entries) {\n\t\tif (typeof limit !== 'number') {\n\t\t\tentries = limit;\n\t\t\tlimit = 0;\n\t\t}\n\n\t\t/**\n\t\t * Current number of items\n\t\t * @type {number}\n\t\t */\n\t\tthis.size = 0;\n\n\t\t/**\n\t\t * Maximum number of items this map can hold\n\t\t * @type {number}\n\t\t */\n\t\tthis.limit = limit;\n\n\t\t/**\n\t\t * Least recently-used entry. Invalidated when map is modified.\n\t\t * @type {undefined}\n\t\t */\n\t\tthis.oldest = this.newest = undefined;\n\n\t\t/**\n\t\t * Most recently-used entry. Invalidated when map is modified.\n\t\t * @type {Map<any, any>}\n\t\t * @private\n\t\t */\n\t\tthis._keymap = new Map();\n\n\t\tif (entries) {\n\t\t\tthis.assign(entries);\n\t\t\tif (limit < 1) {\n\t\t\t\tthis.limit = this.size;\n\t\t\t}\n\t\t}\n\t}\n\n\t_registerEntryAsUsed(entry) {\n\t\tif (entry === this.newest) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (entry[NEWER]) {\n\t\t\tif (entry === this.oldest) {\n\t\t\t\tthis.oldest = entry[NEWER];\n\t\t\t}\n\t\t\tentry[NEWER][OLDER] = entry[OLDER];\n\t\t}\n\t\tif (entry[OLDER]) {\n\t\t\tentry[OLDER][NEWER] = entry[NEWER];\n\t\t}\n\t\tentry[NEWER] = undefined;\n\t\tentry[OLDER] = this.newest;\n\t\tif (this.newest) {\n\t\t\tthis.newest[NEWER] = entry;\n\t\t}\n\t\tthis.newest = entry;\n\t}\n\n\t/**\n\t * Replace all values in this map with key-value pairs (2-element Arrays) from\n\t * provided iterable.\n\t *\n\t * @param entries\n\t */\n\tassign(entries) {\n\t\tlet entry,\n\t\t\tlimit = this.limit || 10;\n\t\tthis._keymap.clear();\n\t\tlet it = entries[Symbol.iterator]();\n\n\t\tfor (let itv = it.next(); !itv.done; itv = it.next()) {\n\t\t\tlet e = new Entry(itv.value[0], itv.value[1]);\n\t\t\tthis._keymap.set(e.key, e);\n\n\t\t\tif (!entry) {\n\t\t\t\tthis.oldest = e;\n\t\t\t} else {\n\t\t\t\tentry[NEWER] = e;\n\t\t\t\te[OLDER] = entry;\n\t\t\t}\n\t\t\tentry = e;\n\n\t\t\tif (limit-- == 0) {\n\t\t\t\tthrow new Error('overflow');\n\t\t\t}\n\t\t}\n\n\t\tthis.newest = entry;\n\t\tthis.size = this._keymap.size;\n\t}\n\n\t/**\n\t * Get and register recent use of <key>. Returns the value\n\t * associated with <key> or undefined if not in cache.\n\t *\n\t * @param key\n\t * @returns {*}\n\t */\n\tget(key) {\n\t\t// Find our cache entry\n\t\tconst entry = this._keymap.get(key);\n\n\t\t// Not cached. Sorry.\n\t\tif (!entry) return;\n\n\t\t// As <key> was found in the cache, register it as being requested recently\n\t\tthis._registerEntryAsUsed(entry);\n\n\t\treturn entry.value;\n\t}\n\n\t/**\n\t * Put <value> into the cache associated with <key>. Replaces any existing\n\t * entry with the same key. Returns `this`.\n\t *\n\t * @param key\n\t * @param value\n\t * @returns {Cache}\n\t */\n\tset(key, value) {\n\t\tlet entry = this._keymap.get(key);\n\n\t\tif (entry) {\n\t\t\t// update existing\n\t\t\tentry.value = value;\n\t\t\tthis._registerEntryAsUsed(entry);\n\t\t\treturn this;\n\t\t}\n\n\t\t// new entry\n\t\tthis._keymap.set(key, (entry = new Entry(key, value)));\n\n\t\tif (this.newest) {\n\t\t\t// link previous tail to the new tail (entry)\n\t\t\tthis.newest[NEWER] = entry;\n\t\t\tentry[OLDER] = this.newest;\n\t\t} else {\n\t\t\t// first entry\n\t\t\tthis.oldest = entry;\n\t\t}\n\n\t\t// add new entry to the end of the linked list -- newest entry.\n\t\tthis.newest = entry;\n\t\t++this.size;\n\n\t\tif (this.size > this.limit) {\n\t\t\t// limit reached -- remove the head\n\t\t\tthis.shift();\n\t\t}\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Purge the least recently used (oldest) entry from the cache. Returns the removed\n\t * entry or undefined if the cache was empty.\n\t *\n\t * @returns {*[]}\n\t */\n\tshift() {\n\t\tconst entry = this.oldest;\n\n\t\tif (entry) {\n\t\t\tif (this.oldest[NEWER]) {\n\t\t\t\t// advance the list\n\t\t\t\tthis.oldest = this.oldest[NEWER];\n\t\t\t\tthis.oldest[OLDER] = undefined;\n\t\t\t} else {\n\t\t\t\t// the cache is exhausted\n\t\t\t\tthis.oldest = undefined;\n\t\t\t\tthis.newest = undefined;\n\t\t\t}\n\n\t\t\t// Removing last reference to <entry> and remove links from the purged\n\t\t\t// entry being returned:\n\t\t\tentry[NEWER] = entry[OLDER] = undefined;\n\t\t\tthis._keymap.delete(entry.key);\n\t\t\t--this.size;\n\t\t\treturn [entry.key, entry.value];\n\t\t}\n\t}\n\n\t/**\n\t * Access value for <key> without registering recent use. Useful if you do not want to\n\t * change the state of the map, but only \"peek\" at it.\n\t * Returns the value associated with <key> if found, or undefined if not found.\n\t *\n\t * @param key\n\t * @returns {*|undefined}\n\t */\n\tfind(key) {\n\t\tlet e = this._keymap.get(key);\n\t\treturn e ? e.value : undefined;\n\t}\n\n\t/**\n\t * Check if there's a value for key in the cache without registering recent use.\n\t * @param key\n\t * @returns {boolean}\n\t */\n\thas(key) {\n\t\treturn this._keymap.has(key);\n\t}\n\n\t/**\n\t * Remove entry <key> from cache and return its value. Returns the\n\t * removed value, or undefined if not found.\n\t *\n\t * @param key\n\t * @returns {*}\n\t */\n\tdelete(key) {\n\t\tconst entry = this._keymap.get(key);\n\n\t\tif (!entry) return;\n\t\tthis._keymap.delete(entry.key);\n\n\t\tif (entry[NEWER] && entry[OLDER]) {\n\t\t\t// relink the older entry with the newer entry\n\t\t\tentry[OLDER][NEWER] = entry[NEWER];\n\t\t\tentry[NEWER][OLDER] = entry[OLDER];\n\t\t} else if (entry[NEWER]) {\n\t\t\t// remove the link to us\n\t\t\tentry[NEWER][OLDER] = undefined;\n\t\t\t// link the newer entry to head\n\t\t\tthis.oldest = entry[NEWER];\n\t\t} else if (entry[OLDER]) {\n\t\t\t// remove the link to us\n\t\t\tentry[OLDER][NEWER] = undefined;\n\t\t\t// link the newer entry to head\n\t\t\tthis.newest = entry[OLDER];\n\t\t} else {\n\t\t\t// if(entry[OLDER] === undefined && entry.newer === undefined) {\n\t\t\tthis.oldest = this.newest = undefined;\n\t\t}\n\n\t\tthis.size--;\n\t\treturn entry.value;\n\t}\n\n\t/**\n\t * Removes all entries\n\t */\n\tclear() {\n\t\tthis.oldest = this.newest = undefined;\n\t\tthis.size = 0;\n\t\tthis._keymap.clear();\n\t}\n\n\t/**\n\t * Returns an iterator over all keys, starting with the oldest.\n\t * @returns {KeyIterator}\n\t */\n\tkeys() {\n\t\treturn new KeyIterator(this.oldest);\n\t}\n\n\t/**\n\t * Returns an iterator over all values, starting with the oldest.\n\t * @returns {ValueIterator}\n\t */\n\tvalues() {\n\t\treturn new ValueIterator(this.oldest);\n\t}\n\n\t/**\n\t * Returns an iterator over all entries, starting with the oldest.\n\t * @returns {Cache}\n\t */\n\tentries() {\n\t\treturn this;\n\t}\n\n\t/**\n\t * Returns an iterator over all entries, starting with the oldest.\n\t *\n\t * @returns {EntryIterator}\n\t */\n\t[Symbol.iterator]() {\n\t\treturn new EntryIterator(this.oldest);\n\t}\n\n\t/**\n\t * Call `fun` for each entry, starting with the oldest entry.\n\t *\n\t * @param fun\n\t * @param thisObj\n\t */\n\tforEach(fun, thisObj) {\n\t\tif (typeof thisObj !== 'object') {\n\t\t\tthisObj = this;\n\t\t}\n\t\tlet entry = this.oldest;\n\t\twhile (entry) {\n\t\t\tfun.call(thisObj, entry.value, entry.key, this);\n\t\t\tentry = entry[NEWER];\n\t\t}\n\t}\n\n\t/**\n\t * Returns a JSON (array) representation\n\t *\n\t * @returns {any[]}\n\t */\n\ttoJSON() {\n\t\tlet s = new Array(this.size),\n\t\t\ti = 0,\n\t\t\tentry = this.oldest;\n\t\twhile (entry) {\n\t\t\ts[i++] = {key: entry.key, value: entry.value};\n\t\t\tentry = entry[NEWER];\n\t\t}\n\t\treturn s;\n\t}\n\n\t/**\n\t * Returns a String representation\n\t *\n\t * @returns {string}\n\t */\n\ttoString() {\n\t\tlet s = '',\n\t\t\tentry = this.oldest;\n\t\twhile (entry) {\n\t\t\ts += String(entry.key) + ':' + entry.value;\n\t\t\tentry = entry[NEWER];\n\t\t\tif (entry) {\n\t\t\t\ts += ' < ';\n\t\t\t}\n\t\t}\n\t\treturn s;\n\t}\n}\n\n/**\n * An entry holds the key and value, and pointers to any older and newer entries.\n * Entries might hold references to adjacent entries in the internal linked-list.\n * Therefore you should never store or modify Entry objects. Instead, reference the\n * key and value of an entry when needed.\n *\n * @param key\n * @param value\n * @constructor\n */\nfunction Entry(key, value) {\n\tthis.key = key;\n\tthis.value = value;\n\tthis[NEWER] = undefined;\n\tthis[OLDER] = undefined;\n}\n\nfunction EntryIterator(oldestEntry) {\n\tthis.entry = oldestEntry;\n}\n\nEntryIterator.prototype[Symbol.iterator] = function() {\n\treturn this;\n};\nEntryIterator.prototype.next = function() {\n\tlet ent = this.entry;\n\tif (ent) {\n\t\tthis.entry = ent[NEWER];\n\t\treturn {done: false, value: [ent.key, ent.value]};\n\t} else {\n\t\treturn {done: true, value: undefined};\n\t}\n};\n\nfunction KeyIterator(oldestEntry) {\n\tthis.entry = oldestEntry;\n}\n\nKeyIterator.prototype[Symbol.iterator] = function() {\n\treturn this;\n};\nKeyIterator.prototype.next = function() {\n\tlet ent = this.entry;\n\tif (ent) {\n\t\tthis.entry = ent[NEWER];\n\t\treturn {done: false, value: ent.key};\n\t} else {\n\t\treturn {done: true, value: undefined};\n\t}\n};\n\nfunction ValueIterator(oldestEntry) {\n\tthis.entry = oldestEntry;\n}\n\nValueIterator.prototype[Symbol.iterator] = function() {\n\treturn this;\n};\nValueIterator.prototype.next = function() {\n\tlet ent = this.entry;\n\tif (ent) {\n\t\tthis.entry = ent[NEWER];\n\t\treturn {done: false, value: ent.value};\n\t} else {\n\t\treturn {done: true, value: undefined};\n\t}\n};\n","import {Cache} from './cache';\nimport {isEmpty} from '@devsnc/snowdash';\nimport {get} from '@devsnc/snowdash';\nimport {isNumber} from '@devsnc/snowdash';\nimport {map} from '@devsnc/snowdash';\n\nconst DEFAULT_CACHE_LIMIT = 10;\n\nconst getCacheLimit = () => {\n\tconst chromeMainPageProperty = get(\n\t\twindow,\n\t\t['ux_globals', 'pageProperties', 'chrome_main'],\n\t\t{}\n\t);\n\tlet cacheLimit = DEFAULT_CACHE_LIMIT;\n\n\ttry {\n\t\tif (!isEmpty(chromeMainPageProperty)) {\n\t\t\tconst {maxCachedPageCount} = JSON.parse(chromeMainPageProperty);\n\t\t\tcacheLimit =\n\t\t\t\tisNumber(maxCachedPageCount) && maxCachedPageCount > 0\n\t\t\t\t\t? maxCachedPageCount\n\t\t\t\t\t: DEFAULT_CACHE_LIMIT;\n\t\t}\n\t} catch (e) {\n\t\tconsole.warn(\n\t\t\t'Skipped invalid JSON content in chrome_main page property evaluation.'\n\t\t);\n\t}\n\n\treturn cacheLimit;\n};\n\n/**\n * cachedScreens instances are per Macroponent having sn-uxf-viewport-screen and not shared across other MCPs.\n * This is fine because there will only ever be ONE instance of `sn-uxf-viewport-screen` ever on a page. Currently,\n * this is being used for `sn-uxf-viewport-screen` but this Cache mechanism could be re-used in future for any\n * other non-destructive viewports [tab-set, sidebar or headless] to limit the growing\n * number of `<screen-action-transformer-*>` nodes.\n *\n * @type {Cache}\n */\n// @ts-ignore\nlet cachedScreens = new Cache(getCacheLimit());\n\nconst getMostRecentlyUsedScreens = (viewportContent) => {\n\tlet usedScreens = {};\n\tconst {screens} = viewportContent;\n\n\tif (!isEmpty(screens)) {\n\t\tconst screenKey = get(viewportContent, ['currentScreen', 'screenKey']);\n\n\t\tcachedScreens.has(screenKey)\n\t\t\t? cachedScreens.get(screenKey)\n\t\t\t: cachedScreens.set(screenKey, screens[screenKey]);\n\t}\n\n\tif (cachedScreens.size) {\n\t\tmap(screens, (screen) => {\n\t\t\tconst {screenKey} = screen;\n\t\t\tconst screenFromCache = cachedScreens.find(screenKey);\n\t\t\tusedScreens[screenKey] = screenFromCache;\n\t\t});\n\t}\n\n\treturn usedScreens;\n};\n\nexport default getMostRecentlyUsedScreens;\n","import {get} from '@devsnc/snowdash';\nimport {FORM_CONTROLLER_MCP_SYS_ID} from '../constants';\n/**\n * Recursively searches for an element with a specific component ID within a host element, its children,\n * shadow DOM, and assigned slot elements.\n *\n * This function works by:\n * 1. Checking if the host element has the target `component-id`.\n * 2. Searching through the host's direct children.\n * 3. Searching through the shadow DOM (if present).\n * 4. Searching through any assigned slot elements (if the host is an `HTMLSlotElement`).\n * 5. Returning the first element with the specified `component-id` or `null` if none is found.\n *\n * @param {Node} root - The root element to start the search from.\n * @param {string} componentId - The `component-id` to search for in the host's elements.\n * @param {number} maxDepth - The maximum depth to search through the DOM tree.\n * @returns {Element|null} The first element matching the `component-id`, or `null` if not found.\n */\nexport const findDescendantByComponentId = (\n\troot = document,\n\tcomponentId,\n\tmaxDepth = Infinity\n) => {\n\tif (!root || !componentId) {\n\t\treturn null;\n\t}\n\n\tconst selector = `[component-id=\"${componentId}\"]`;\n\tconst seen = new Set(); // Prevent infinite loops and redundant checks\n\n\tconst queue = [{node: root, depth: 0}];\n\tlet index = 0; // Pointer to track the next node in the queue\n\n\twhile (index < queue.length) {\n\t\tconst {node, depth} = queue[index++];\n\n\t\t// If we've exceeded the max depth, stop searching further\n\t\tif (depth > maxDepth || !node || seen.has(node)) continue;\n\t\tseen.add(node);\n\n\t\tconst currentRoot = node.shadowRoot || node;\n\n\t\t// Check if the current node matches the selector\n\t\tif (currentRoot.matches?.(selector)) {\n\t\t\treturn currentRoot;\n\t\t}\n\n\t\t// Add children and shadow roots to the queue\n\t\tfor (const child of currentRoot.children || []) {\n\t\t\tif (child.matches?.(selector)) return child;\n\n\t\t\tif (child.shadowRoot) {\n\t\t\t\tqueue.push({node: child.shadowRoot, depth: depth + 1});\n\t\t\t}\n\n\t\t\tqueue.push({node: child, depth: depth + 1});\n\n\t\t\tif (child instanceof HTMLSlotElement) {\n\t\t\t\tconst assigned = child.assignedElements({flatten: true});\n\t\t\t\tfor (const assignedEl of assigned) {\n\t\t\t\t\tif (assignedEl.matches?.(selector)) return assignedEl;\n\t\t\t\t\tqueue.push({node: assignedEl, depth: depth + 1});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn null;\n};\n\n/**\n * Retreives the sliced action chain before the provided component ID.\n *\n * @param {string[]} actionChain - The action chain to search through.\n * @param {string} componentId - The component ID to find the children for.\n * @returns {string[]} The action chain before the provided component ID.\n */\nexport const getChildComponentIds = (actionChain, componentId) => {\n\tconst currentComponentIndex = actionChain.indexOf(componentId);\n\treturn currentComponentIndex !== -1\n\t\t? actionChain.slice(0, currentComponentIndex)\n\t\t: [];\n};\n\nexport const isEmptySet = (set) => !set || set.size === 0;\n\n/**\n * Returns the value of `confirmPopStateNavigationWhenDirty` page property\n * for the provided experience path.\n *\n * @param {Object} experienceData { @see DirtyStateExperienceData }\n * @returns {boolean} Returns the value of `confirmPopStateNavigationWhenDirty` page property\n *  for the provided experience path.\n */\nexport const getConfirmPopStateNavigationOnDirtyScreen = (experienceData) => {\n\tconst activeExperiencePath = get(experienceData, 'path', '');\n\tconst CONFIRM_POP_STATE_NAVIGATION_WHEN_DIRTY =\n\t\t'pageProperties.confirmPopStateNavigationWhenDirty';\n\n\treturn get(\n\t\twindow?.ux_globals?.experienceConfigs[activeExperiencePath],\n\t\tCONFIRM_POP_STATE_NAVIGATION_WHEN_DIRTY,\n\t\tfalse\n\t);\n};\n\n/**\n * Finds the index of the first component ID in the action chain\n * that is a default macroponent subscriber and does not match the\n * specific macroponent system ID (FORM_CONTROLLER_MCP_SYS_ID).\n *\n * @param {string[]} componentIdsInActionChain - Array of component IDs representing the action chain.\n * @param {Map<string, Object>} registeredComponents -\n *        A Map where each key is a component ID and the value contains component metadata.\n * @returns {number} The index of the matching component in the action chain, or -1 if no match is found.\n */\nexport const getPageMacroponentComponentIndex = (\n\tcomponentIdsInActionChain = [],\n\tregisteredComponents\n) => {\n\treturn componentIdsInActionChain.findIndex((id) => {\n\t\tif (!registeredComponents.has(id)) {\n\t\t\treturn false;\n\t\t}\n\t\tconst {isDefaultMacroponentSubscriber = false, macroponentSysId = ''} =\n\t\t\tregisteredComponents.get(id);\n\t\treturn (\n\t\t\tmacroponentSysId !== FORM_CONTROLLER_MCP_SYS_ID &&\n\t\t\tisDefaultMacroponentSubscriber\n\t\t);\n\t});\n};\n\n/**\n * Refines the action chain for a modeless dialog case explicitly by creating a new array\n * starting with the source component ID (modeless_controller_component_id), followed by component IDs from\n * the action chain starting at the first default macroponent subscriber other than form controller.\n *\n * @param {string[]} componentIdsInActionChain - Array of component IDs representing the action chain.\n * @param {Map<string, Object>} registeredComponents -\n *        A Map where each key is a component ID and the value contains component metadata.\n * @param {string} sourceComponentId - The ID of the source component to prepend to the refined action chain.\n * @returns {string[]} A new array with the source component ID followed by a sliced subset of the original action chain.\n */\nexport const refineActionChainForModelessDialog = (\n\tcomponentIdsInActionChain,\n\tregisteredComponents,\n\tsourceComponentId\n) => {\n\tconst pageMacroponentIndex = getPageMacroponentComponentIndex(\n\t\tcomponentIdsInActionChain,\n\t\tregisteredComponents\n\t);\n\treturn [\n\t\tsourceComponentId,\n\t\t...componentIdsInActionChain.slice(pageMacroponentIndex)\n\t];\n};\n","import {isNil, isEmpty, get} from '@devsnc/snowdash';\nimport {\n\tfindDescendantByComponentId,\n\tgetChildComponentIds,\n\tisEmptySet,\n\tgetConfirmPopStateNavigationOnDirtyScreen,\n\trefineActionChainForModelessDialog,\n\tgetPageMacroponentComponentIndex\n} from './utils';\nimport {\n\tUXF_DIRTY_STATE_MANAGEMENT_SOURCE_ACTION_PATH,\n\tUXF_DIRTY_STATE_MANAGEMENT_EXPERIENCE_DATA,\n\tUXF_DIRTY_STATE_MANAGEMENT_DISPATCHED_ACTION_TRAILS,\n\tUXF_DIRTY_STATE_MANAGER_LAST_CLIENT_SCRIPT_SOURCE_COMPONENT_ID,\n\tFORM_CONTROLLER_MCP_SYS_ID\n} from '../constants';\n\n/**\n * Experience data augmented to SCREEN_STATUS_CHANGED action medatada at Experience Shell level.\n *\n * @typedef {Object} DirtyStateExperienceData\n *\n * @property {string} path - Experience path.\n * @property {string} name - Experience name.\n */\n\n/**\n * The argument that is passed to the Subscriber callback function.\n *\n * @typedef {Object} DirtyStateSubscriberCallbackParams\n *\n * @property {boolean} isDirty - Dirty state calculated for the subscriber component.\n * @property {Array<string>} childActionChain - The slice of the action chain up until current element.\n * @property {DirtyStateExperienceData} experienceData - Experience data.\n * @property {Object} screenStatusChangedActionPayload - The payload of SCREEN_STATUS_CHANGED action which triggered current dirty state update.\n * @property {string} subscriberComponentId - Subscriber component ID (\"component-id\" attribute).\n * @property {Object} subscriberDispatchFn - Seismic coeffects.dispatch function reference of the subscriber component.\n * @property {Object} subscriberUpdateContextFn - Seismic coeffects.updateContext function reference of the subscriber component.\n * @property {Object} subscriberUpdatePropertiesFn - Seismic coeffects.updateProperties function reference of the subscriber component.\n * @property {Object} subscriberUpdateStateFn - Seismic coeffects.updateState function reference of the subscriber component.\n */\n\n/**\n * Parameters retrieved upon component registration and stored per registered component.\n *\n * @typedef {Object} DirtyStateSubscriberParams\n *\n * @property {(params: DirtyStateSubscriberCallbackParams) => any} callbackFn - Callback function to be executed upon dirty state update.\n * @property {boolean} [isDefaultMacroponentSubscriber] - Indicates whether the component is a macroponent fallback.\n * @property {string} [macroponentSysId] - SysID of a macroponent subscriber.\n * @property {boolean} [isScreenSubscriber] - Indicates whether the component is a screen.\n * @property {string} [screenKey] - Screen key of the sn-canvas-screen that register with DSM.\n * @property {Object} subscriberDispatchFn - Seismic coeffects.dispatch function reference.\n * @property {Object} subscriberUpdateContextFn - Seismic coeffects.updateContext function reference.\n * @property {Object} subscriberUpdatePropertiesFn - Seismic coeffects.updateProperties function reference.\n * @property {Object} subscriberUpdateStateFn - Seismic coeffects.updateState function reference.\n */\n\n/**\n * DirtyStateManager class to manage the dirty state of components.\n * @note This class is a singleton and should be used as such.\n * @note This class instance is intended to be available through Proxy API, thus the methods and\n * properties are all public to simplify testing.\n */\nexport class DirtyStateManager {\n\tconstructor() {\n\t\t/**\n\t\t * Registry to store the callback functions for registered components.\n\t\t * @type {Map.<string, DirtyStateSubscriberParams>}\n\t\t */\n\t\tthis.registeredComponentsById = new Map();\n\n\t\t/**\n\t\t * Stores dirty descendant component IDs for each registered component.\n\t\t * @type {Map.<string, Set<string>>}\n\t\t */\n\t\tthis.dirtyChildrenIdsByComponentId = new Map();\n\n\t\t/**\n\t\t * Map to store the parents component IDs where the particular component is a dirty child\n\t\t * @type {Map.<string, Set<string>>}\n\t\t */\n\t\tthis.parentComponentIdsByDirtyChildId = new Map();\n\n\t\t/**\n\t\t * Array to store the form controller component IDs.\n\t\t * @type {Array<string>}\n\t\t * */\n\t\tthis.formControllerComponentIds = [];\n\t}\n\n\t/**\n\t * Registers the caller component, stores a callback function that is being called with a dirty state\n\t * update.\n\t *\n\t * @param {Object} coeffects - Seismic coeffects\n\t * @returns {void}\n\t */\n\tregisterComponent(coeffects) {\n\t\tconst fallbackComponentId = coeffects.host.getAttribute('component-id');\n\t\tconst {\n\t\t\taction: {\n\t\t\t\tpayload: {options}\n\t\t\t},\n\t\t\thost,\n\t\t\tdispatch,\n\t\t\tupdateContext,\n\t\t\tupdateProperties,\n\t\t\tupdateState\n\t\t} = coeffects;\n\n\t\tconst {componentId = fallbackComponentId} = host;\n\n\t\tconst {\n\t\t\tcallbackFn,\n\t\t\tisDefaultMacroponentSubscriber = false,\n\t\t\tmacroponentSysId,\n\t\t\tisScreenSubscriber = false\n\t\t} = options;\n\n\t\tif (\n\t\t\t!isDefaultMacroponentSubscriber &&\n\t\t\t(isNil(componentId) || isNil(callbackFn))\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Get all the form controller component IDs\n\t\tif (macroponentSysId === FORM_CONTROLLER_MCP_SYS_ID) {\n\t\t\tthis.formControllerComponentIds.push(componentId);\n\t\t}\n\n\t\tthis.registeredComponentsById.set(componentId, {\n\t\t\tcallbackFn: !isDefaultMacroponentSubscriber ? callbackFn : null,\n\t\t\tisDefaultMacroponentSubscriber,\n\t\t\tmacroponentSysId,\n\t\t\tscreenKey: isScreenSubscriber ? host?.screenData?.screenKey : undefined,\n\t\t\tsubscriberDispatchFn: dispatch,\n\t\t\tsubscriberUpdateContextFn: updateContext,\n\t\t\tsubscriberUpdatePropertiesFn: updateProperties,\n\t\t\tsubscriberUpdateStateFn: updateState\n\t\t});\n\t\tthis.dirtyChildrenIdsByComponentId.set(componentId, new Set());\n\t\tthis.parentComponentIdsByDirtyChildId.set(componentId, new Set());\n\t}\n\n\t/**\n\t * Unregisters a component from the Dirty State Manager.\n\t * Removes the component from the registery and updates the dirty state of related components\n\t * in the registry.\n\t *\n\t * @param {Object} coeffects - Seismic coeffects\n\t * @returns {void}\n\t */\n\tunregisterComponent(coeffects) {\n\t\tconst {\n\t\t\thost: {componentId = coeffects.host.getAttribute('component-id')}\n\t\t} = coeffects;\n\n\t\tconst experiencePath = get(window?.ux_globals, 'siteName', '');\n\t\tconst experienceConfig = get(window?.ux_globals, 'experienceConfigs', {});\n\n\t\tconst experienceData = {\n\t\t\tpath: experiencePath ?? '',\n\t\t\tname: experienceConfig?.[experiencePath]?.experienceName ?? ''\n\t\t};\n\n\t\tif (this.parentComponentIdsByDirtyChildId.has(componentId)) {\n\t\t\tconst parentComponentIds =\n\t\t\t\tthis.parentComponentIdsByDirtyChildId.get(componentId);\n\t\t\tfor (const parentComponentId of parentComponentIds) {\n\t\t\t\tconst subscriber = this.registeredComponentsById.get(parentComponentId);\n\t\t\t\tconst {\n\t\t\t\t\tcallbackFn,\n\t\t\t\t\tisDefaultMacroponentSubscriber,\n\t\t\t\t\tsubscriberUpdateStateFn,\n\t\t\t\t\tsubscriberUpdatePropertiesFn,\n\t\t\t\t\tsubscriberUpdateContextFn,\n\t\t\t\t\tsubscriberDispatchFn\n\t\t\t\t} = subscriber ?? {};\n\t\t\t\tthis.dirtyChildrenIdsByComponentId\n\t\t\t\t\t.get(parentComponentId)\n\t\t\t\t\t?.delete(componentId);\n\t\t\t\tif (!isDefaultMacroponentSubscriber && callbackFn) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tcallbackFn({\n\t\t\t\t\t\t\tisDirty: !isEmptySet(\n\t\t\t\t\t\t\t\tthis.dirtyChildrenIdsByComponentId.get(parentComponentId)\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tchildActionChain: [],\n\t\t\t\t\t\t\tscreenStatusChangedActionPayload: {},\n\t\t\t\t\t\t\tsubscriberComponentId: parentComponentId,\n\t\t\t\t\t\t\tsubscriberDispatchFn,\n\t\t\t\t\t\t\tsubscriberUpdateContextFn,\n\t\t\t\t\t\t\tsubscriberUpdatePropertiesFn,\n\t\t\t\t\t\t\tsubscriberUpdateStateFn,\n\t\t\t\t\t\t\texperienceData\n\t\t\t\t\t\t});\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t\t`[dirtyStateManager] Callback execution failed for \n\t\t\t\t\t\t\tcomponent while unregistering ${componentId}:`,\n\t\t\t\t\t\t\terror\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.parentComponentIdsByDirtyChildId.delete(componentId);\n\t\t}\n\t\tthis.registeredComponentsById.delete(componentId);\n\t\tthis.dirtyChildrenIdsByComponentId.delete(componentId);\n\t}\n\n\t/**\n\t * Handles SCREEN_STATUS_CHANGED action (via DirtyStateHandlerBehavior - part of\n\t * uxf-monorepo/uxf-shared-behaviors and available in NPM package @devsnc/uxf-shared-behaviors).\n\t *\n\t * DirtyStateHandlerBehavior is implemented at sn-canvas-appshell-root level.\n\t *\n\t * If the `isDirty` field is not present in the payload of SCREEN_STATUS_CHANGED, the action is ignored.\n\t * If there are registered components in the action chain, the dirty state callback is executed accordingly.\n\t *\n\t * @param {Object} coeffects - Seismic coeffects\n\t * @returns {void}\n\t */\n\thandleScreenStatusChangedAction(coeffects) {\n\t\tconst {\n\t\t\taction: {\n\t\t\t\tmeta: {\n\t\t\t\t\tuxfMeta: {\n\t\t\t\t\t\t[UXF_DIRTY_STATE_MANAGEMENT_SOURCE_ACTION_PATH]:\n\t\t\t\t\t\t\tcomponentIdsInActionChain = [],\n\t\t\t\t\t\t[UXF_DIRTY_STATE_MANAGEMENT_EXPERIENCE_DATA]: experienceData = {},\n\t\t\t\t\t\t[UXF_DIRTY_STATE_MANAGEMENT_DISPATCHED_ACTION_TRAILS]:\n\t\t\t\t\t\t\tallComponentIdsInDispatchedActionTrail = [],\n\t\t\t\t\t\t[UXF_DIRTY_STATE_MANAGER_LAST_CLIENT_SCRIPT_SOURCE_COMPONENT_ID]:\n\t\t\t\t\t\t\tsourceComponentId = ''\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tpayload\n\t\t\t},\n\t\t\thost,\n\t\t\tupdateState\n\t\t} = coeffects;\n\n\t\tconst {uxfInternalIsModelessDialog, isDirty} = payload;\n\n\t\tif (isNil(isDirty)) return;\n\n\t\tlet refinedComponentIdsInActionChain = componentIdsInActionChain;\n\n\t\t// If the action is triggered from a modeless dialog, we need to refine the action chain\n\t\t// to include the source component ID as the component id of the modeless_controller.\n\t\tif (!isNil(uxfInternalIsModelessDialog)) {\n\t\t\trefinedComponentIdsInActionChain = refineActionChainForModelessDialog(\n\t\t\t\tcomponentIdsInActionChain,\n\t\t\t\tthis.registeredComponentsById,\n\t\t\t\tsourceComponentId\n\t\t\t);\n\t\t}\n\n\t\t// When the SCREEN_STATUS_CHANGED action is dispatched with isDirty: false\n\t\t// We may need to clean the form controller and page macroponent dirty state explicitly to cater to the case\n\t\t// where the form controller is rendered as a sibling of the page content.\n\t\tif (!isDirty && isNil(uxfInternalIsModelessDialog)) {\n\t\t\tconst currentFormControllerComponentId = !isEmpty(\n\t\t\t\tthis.formControllerComponentIds\n\t\t\t)\n\t\t\t\t? this.formControllerComponentIds.find(\n\t\t\t\t\t\t(id) =>\n\t\t\t\t\t\t\tcomponentIdsInActionChain.includes(id) ||\n\t\t\t\t\t\t\tallComponentIdsInDispatchedActionTrail.flat().includes(id)\n\t\t\t\t  )\n\t\t\t\t: undefined;\n\n\t\t\tthis.cleanFormAndPageMacroponent(\n\t\t\t\tcoeffects,\n\t\t\t\tcurrentFormControllerComponentId\n\t\t\t);\n\t\t}\n\n\t\tif (!isEmpty(refinedComponentIdsInActionChain)) {\n\t\t\tthis.executeDirtyStateCallback({\n\t\t\t\tcomponentIdsInActionChain: refinedComponentIdsInActionChain,\n\t\t\t\tscreenStatusChangedActionPayload: payload,\n\t\t\t\thost,\n\t\t\t\texperienceData\n\t\t\t});\n\t\t}\n\n\t\t// Updating sn-canvas-appshell-root state only when page property is 'true'.\n\t\tif (getConfirmPopStateNavigationOnDirtyScreen(experienceData)) {\n\t\t\t/**\n\t\t\t * Update the \"confirmPopStateNavigation\" state of sn-canvas-appshell-root\n\t\t\t * based on the current screen's dirtiness.\n\t\t\t *\n\t\t\t * If the page author has set `confirmPopStateNavigationWhenDirty` to true\n\t\t\t * in the page properties and the active screen is dirty, the back\n\t\t\t * button navigation will be blocked using confirm window popup.\n\t\t\t */\n\t\t\tupdateState(({state}) => {\n\t\t\t\tconst {confirmPopStateNavigationContext} = state;\n\n\t\t\t\tconst activeScreenKey =\n\t\t\t\t\tconfirmPopStateNavigationContext?.activeScreenKey ||\n\t\t\t\t\tget(window?.ux_globals, 'snCanvasScreen.screenData.screenKey', '');\n\n\t\t\t\tconst isActiveScreenDirty = this.isScreenDirty(activeScreenKey);\n\t\t\t\tif (isNil(isActiveScreenDirty)) return state;\n\n\t\t\t\treturn {\n\t\t\t\t\tpath: 'confirmPopStateNavigationContext',\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\tactiveScreenKey,\n\t\t\t\t\t\tconfirmPopStateNavigation: isActiveScreenDirty\n\t\t\t\t\t},\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: true\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the given component ID corresponds to a registered macroponent.\n\t *\n\t * @param {string} componentId - The ID of the component to check.\n\t * @returns {boolean} - Returns `true` if the component is a default macroponent subscriber, otherwise `false`.\n\t */\n\tisRegisteredMacroponent(componentId) {\n\t\treturn (\n\t\t\tthis.registeredComponentsById.get(componentId)\n\t\t\t\t?.isDefaultMacroponentSubscriber || false\n\t\t);\n\t}\n\n\t/**\n\t * Checks if the given component is registered as a subscriber and is dirty.\n\t *\n\t * @param {string} componentId - The ID of the component to check.\n\t * @returns {boolean|null} - `null` if not registered, otherwise boolean dirty state.\n\t */\n\tisComponentDirty(componentId) {\n\t\treturn this.dirtyChildrenIdsByComponentId.has(componentId)\n\t\t\t? !isEmptySet(this.dirtyChildrenIdsByComponentId.get(componentId))\n\t\t\t: null;\n\t}\n\n\t/**\n\t * Checks if the given screen key is registered and is dirty.\n\t *\n\t * @param {string} screenKey - The screen key to check for dirty state.\n\t * @returns {boolean|null} - `null` if not registered, otherwise boolean dirty state.\n\t */\n\tisScreenDirty(screenKey) {\n\t\tfor (let [\n\t\t\tcomponentId,\n\t\t\tsubscriberParams\n\t\t] of this.registeredComponentsById.entries()) {\n\t\t\tif (\n\t\t\t\tsubscriberParams?.screenKey &&\n\t\t\t\tsubscriberParams?.screenKey === screenKey\n\t\t\t) {\n\t\t\t\treturn (\n\t\t\t\t\tthis.dirtyChildrenIdsByComponentId.has(componentId) &&\n\t\t\t\t\t!isEmptySet(this.dirtyChildrenIdsByComponentId.get(componentId))\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\t/**\n\t * Checks if the given macroponent is registered as a subscriber and is dirty.\n\t *\n\t * @param {string} macroponentSysId - The SysID of the macroponent to check.\n\t * @returns {null|boolean} - `null` if not registered, otherwise boolean dirty state.\n\t */\n\tisMacroponentDirty(macroponentSysId) {\n\t\tfor (let [\n\t\t\tcomponentId,\n\t\t\tsubscriberParams\n\t\t] of this.registeredComponentsById.entries()) {\n\t\t\tif (\n\t\t\t\tsubscriberParams.isDefaultMacroponentSubscriber &&\n\t\t\t\tsubscriberParams.macroponentSysId === macroponentSysId\n\t\t\t) {\n\t\t\t\treturn (\n\t\t\t\t\tthis.dirtyChildrenIdsByComponentId.has(componentId) &&\n\t\t\t\t\t!isEmptySet(this.dirtyChildrenIdsByComponentId.get(componentId))\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\t/*\n\t * Retrieves the dirty descendant component IDs for a given component.\n\t *\n\t * @param {string} componentId - The ID of the component whose dirty descendants are to be retrieved.\n\t * @returns {string[]} An array of dirty descendant component IDs. Returns an empty array if no dirty descendants exist.\n\t */\n\tgetDirtyDescendantComponentIds(componentId) {\n\t\treturn this.dirtyChildrenIdsByComponentId.has(componentId)\n\t\t\t? Array.from(this.dirtyChildrenIdsByComponentId.get(componentId))\n\t\t\t: [];\n\t}\n\n\t/**\n\t * Updates the obsolete screen key of the registered screen component.\n\t *\n\t * @param {string} oldScreenKey Old screen key to be replaced.\n\t * @param {string} newScreenKey New screen key to be set.\n\t */\n\tupdateScreenKey(oldScreenKey, newScreenKey) {\n\t\tfor (let [\n\t\t\tcomponentId,\n\t\t\tsubscriberParams\n\t\t] of this.registeredComponentsById.entries()) {\n\t\t\tif (subscriberParams?.screenKey === oldScreenKey) {\n\t\t\t\tthis.registeredComponentsById.set(componentId, {\n\t\t\t\t\t...subscriberParams,\n\t\t\t\t\tscreenKey: newScreenKey\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Cleans the dirty state of a form controller and its associated page macroponent.\n\t *\n\t * This function performs a two-level cleanup:\n\t * 1. It checks whether the form controller has any dirty child components and purges them.\n\t * 2. If the macroponent is rendered as a sibling, it retrieves the page macroponent and purges one of its dirty children,\n\t *    excluding default macroponent subscribers and the form controller itself.\n\t *\n\t * @param {Object} coeffects - The object containing contextual data for the action being handled.\n\t * @param {string} currentFormControllerComponentId - The component ID of the current form controller whose dirty state needs to be evaluated and potentially purged.\n\t *\n\t * @returns {void}\n\t *\n\t * @example\n\t * cleanFormAndPageMacroponent(coeffects, 'formController123');\n\t *\n\t * @remarks\n\t * - The function will exit early if the form controller ID is not present.\n\t * - Dirty child components are retrieved from `this.dirtyChildrenIdsByComponentId`.\n\t * - The macroponent render mode is determined from `this.macroponentRenderAsSiblingBySysId`.\n\t * - The component to start purging from within the page macroponent is selected only if it is not a default macroponent subscriber.\n\t */\n\tcleanFormAndPageMacroponent(coeffects, currentFormControllerComponentId) {\n\t\t// Exit early if there's no form controller\n\t\tif (!currentFormControllerComponentId) return;\n\n\t\tconst {\n\t\t\taction: {\n\t\t\t\tmeta: {\n\t\t\t\t\tuxfMeta: {\n\t\t\t\t\t\t[UXF_DIRTY_STATE_MANAGEMENT_SOURCE_ACTION_PATH]:\n\t\t\t\t\t\t\tcomponentIdsInActionChain = [],\n\t\t\t\t\t\t[UXF_DIRTY_STATE_MANAGEMENT_EXPERIENCE_DATA]: experienceData = {}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tpayload\n\t\t\t}\n\t\t} = coeffects;\n\n\t\tconst dirtyChildrenOfFormController =\n\t\t\tthis.dirtyChildrenIdsByComponentId.get(currentFormControllerComponentId);\n\n\t\t// Purge if the form controller has dirty children\n\t\tif (!isEmptySet(dirtyChildrenOfFormController)) {\n\t\t\tthis._purgeDirtyStateOfComponent({\n\t\t\t\tcomponentId: currentFormControllerComponentId,\n\t\t\t\tisDirty: false,\n\t\t\t\tcomponentIdsInActionChain,\n\t\t\t\tscreenStatusChangedActionPayload: payload,\n\t\t\t\texperienceData\n\t\t\t});\n\t\t}\n\n\t\tconst pageMacroponentComponentId =\n\t\t\tcomponentIdsInActionChain[\n\t\t\t\tgetPageMacroponentComponentIndex(\n\t\t\t\t\tcomponentIdsInActionChain,\n\t\t\t\t\tthis.registeredComponentsById\n\t\t\t\t)\n\t\t\t];\n\n\t\tif (!pageMacroponentComponentId) return;\n\n\t\tconst pageMacroponentDirtyChildren = this.dirtyChildrenIdsByComponentId.get(\n\t\t\tpageMacroponentComponentId\n\t\t);\n\n\t\tif (isEmptySet(pageMacroponentDirtyChildren)) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Remove form controller from page macroponent's dirty children\n\t\tpageMacroponentDirtyChildren.delete(currentFormControllerComponentId);\n\n\t\tArray.from(pageMacroponentDirtyChildren).forEach((componentId) => {\n\t\t\tconst component = this.registeredComponentsById.get(componentId);\n\t\t\tif (isNil(component)) {\n\t\t\t\tpageMacroponentDirtyChildren.delete(componentId);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!component?.isDefaultMacroponentSubscriber) {\n\t\t\t\tpageMacroponentDirtyChildren.delete(componentId);\n\t\t\t\tthis._purgeDirtyStateOfComponent({\n\t\t\t\t\tcomponentId,\n\t\t\t\t\tisDirty: false,\n\t\t\t\t\tcomponentIdsInActionChain,\n\t\t\t\t\tscreenStatusChangedActionPayload: payload,\n\t\t\t\t\texperienceData\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Recursively purges the dirty state of a component and its dependent components.\n\t * It removes the component's dirty state, propagates the change to its dependents,\n\t * and triggers the registered callback if applicable.\n\t *\n\t * @param {Object} componentPurgeContext - Context for purging the dirty state.\n\t * @param {string} componentPurgeContext.componentId - The ID of the component being purged.\n\t * @param {boolean} componentPurgeContext.isDirty - The new dirty state to be set.\n\t * @param {string[]} componentPurgeContext.componentIdsInActionChain - The action chain tracking affected components.\n\t * @param {Object} [componentPurgeContext.screenStatusChangedActionPayload] - Optional payload for screen status change actions.\n\t * @param {Object} componentPurgeContext.experienceData - Experience data to be passed to the callback function of a subscriber.\n\t * @returns {void}\n\t */\n\t_purgeDirtyStateOfComponent(componentPurgeContext) {\n\t\tconst {\n\t\t\tcomponentId,\n\t\t\tisDirty,\n\t\t\tcomponentIdsInActionChain,\n\t\t\tscreenStatusChangedActionPayload,\n\t\t\texperienceData\n\t\t} = componentPurgeContext;\n\t\tconst dirtyChildrenComponentIds =\n\t\t\tthis.dirtyChildrenIdsByComponentId.get(componentId);\n\n\t\tif (isEmptySet(dirtyChildrenComponentIds)) {\n\t\t\treturn;\n\t\t}\n\n\t\t// recursively clean all the dependent dirty components of the component.\n\t\tdirtyChildrenComponentIds.forEach((childComponentId) => {\n\t\t\tthis._purgeDirtyStateOfComponent({\n\t\t\t\tcomponentId: childComponentId,\n\t\t\t\tisDirty,\n\t\t\t\tcomponentIdsInActionChain,\n\t\t\t\tscreenStatusChangedActionPayload,\n\t\t\t\texperienceData\n\t\t\t});\n\t\t\tthis.dirtyChildrenIdsByComponentId\n\t\t\t\t.get(componentId)\n\t\t\t\t?.delete(childComponentId);\n\t\t\tthis.parentComponentIdsByDirtyChildId\n\t\t\t\t.get(childComponentId)\n\t\t\t\t?.delete(componentId);\n\t\t});\n\n\t\tif (this.registeredComponentsById.has(componentId)) {\n\t\t\tconst {\n\t\t\t\tcallbackFn,\n\t\t\t\tisDefaultMacroponentSubscriber,\n\t\t\t\tsubscriberUpdateStateFn,\n\t\t\t\tsubscriberUpdatePropertiesFn,\n\t\t\t\tsubscriberUpdateContextFn,\n\t\t\t\tsubscriberDispatchFn\n\t\t\t} = this.registeredComponentsById.get(componentId);\n\n\t\t\t// If the component is a macroponent, we need to skip the callbackFn execution\n\t\t\t// because the macroponent is not explicitly registered with the DirtyStateManager.\n\t\t\tif (isDefaultMacroponentSubscriber) return;\n\n\t\t\tcallbackFn({\n\t\t\t\tisDirty,\n\t\t\t\tchildActionChain: getChildComponentIds(\n\t\t\t\t\tcomponentIdsInActionChain,\n\t\t\t\t\tcomponentId\n\t\t\t\t),\n\t\t\t\tscreenStatusChangedActionPayload,\n\t\t\t\tsubscriberComponentId: componentId,\n\t\t\t\tsubscriberDispatchFn,\n\t\t\t\tsubscriberUpdateContextFn,\n\t\t\t\tsubscriberUpdatePropertiesFn,\n\t\t\t\tsubscriberUpdateStateFn,\n\t\t\t\texperienceData\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Purge the dirty state of the components when the SCREEN_STATUS_CHANGED action is dispatched with isDirty: false.\n\t *\n\t * Purging the dirty state involves three cases:\n\t * 1. The component emitting the SCREEN_STATUS_CHANGED is registered with DirtyStateManager and\n\t * \t\tis the origin of the action chain and has no dependent dirty components.\n\t * 2. The component emitting the SCREEN_STATUS_CHANGED is registered with DirtyStateManager and\n\t * \t\tis the origin of the action chain and has dependent dirty components.\n\t * 3. The component is not registered with DirtyStateManager or is not the origin of the action chain but has dependent dirty components.\n\t *\n\t * In the first case, we do not need to purge any state as the component is the origin of the action chain and is clean by itself.\n\t * In the second case, we need to purge the dirty state of the component and its dirty dependent components recursively.\n\t * The third case is when some component which is not registered in the dirtyStateManager but has emitted the SCREEN_STATUS_CHANGED action.\n\t * Purging in the third case involves the following steps:\n\t * \t\t1. Find the component in the action chain which is registered in the dirtyStateManager Let's call it purgeRootComponent.\n\t * \t\t2. Find the component in the action chain which is the origin of the action chain. Let's call it actionOriginComponent.\n\t * \t\t3. Get the dirty dependent components of the purgeRootComponent.\n\t * \t\t4. For each dirty dependent component, find if the dirty dependent component is child of the actionOriginComponent.\n\t * \t\t5. If the dirty dependent component is a child of the actionOriginComponent, purge the dirty state of the dirty dependent component.\n\t * \t\t6. We just need to do this for the first registered component with DirtyStateManager in the action chain.\n\t *\n\t * @param {Object} purgeParams - Parameters required for purging dirty state.\n\t * @param {string[]} purgeParams.componentIdsInActionChain - An array of component IDs representing the chain of action propagation.\n\t * @param {boolean} purgeParams.isDirty - The isDirty flag from the SCREEN_STATUS_CHANGED action payload.\n\t * @param {HTMLElement} purgeParams.host - The host element from the SCREEN_STATUS_CHANGED.\n\t * @param {Object} [purgeParams.screenStatusChangedActionPayload] - Payload of SCREEN_STATUS_CHANGED.\n\t * @param {Object} purgeParams.experienceData - Experience data to be passed to the callback function of a subscriber.\n\t * @returns {void}\n\t */\n\tcleanDirtyState(purgeParams) {\n\t\tconst {\n\t\t\tcomponentIdsInActionChain,\n\t\t\tisDirty,\n\t\t\thost,\n\t\t\tscreenStatusChangedActionPayload,\n\t\t\texperienceData\n\t\t} = purgeParams;\n\n\t\tlet isPurgeCompleted = false;\n\n\t\tfor (const [index, componentId] of componentIdsInActionChain.entries()) {\n\t\t\tif (!this.dirtyChildrenIdsByComponentId.has(componentId)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tisPurgeCompleted = true;\n\n\t\t\tconst dirtyChildrenComponentIds =\n\t\t\t\tthis.dirtyChildrenIdsByComponentId.get(componentId);\n\t\t\t// Case 1: If the component is the origin of the action chain and has no dependent dirty components,\n\t\t\t// the first component that is registered with DirtyStateManager and has no dependent dirty dependencies so\n\t\t\t// we can return without purging.\n\t\t\tif (isEmptySet(dirtyChildrenComponentIds)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Case 2: If the component is the origin of the action chain and has dependent dirty components,\n\t\t\t// component that is registered with DirtyStateManager and is the origin of the action chain,\n\t\t\t// then we need to clean itself and its dirty dependencies.\n\t\t\tif (index === 0) {\n\t\t\t\tthis._purgeDirtyStateOfComponent({\n\t\t\t\t\tcomponentId,\n\t\t\t\t\tisDirty,\n\t\t\t\t\tcomponentIdsInActionChain,\n\t\t\t\t\tscreenStatusChangedActionPayload,\n\t\t\t\t\texperienceData\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Case 3: If the component is not the origin of the action chain but has dependent dirty components,\n\t\t\t// The closest registered ancestor of the source component that triggered SCREEN_STATUS_CHANGED\n\t\t\tconst purgeRootComponent = findDescendantByComponentId(host, componentId);\n\t\t\t// Component that is emitting the SCREEN_STATUS_CHANGED action but not registered with DirtyStateManager.\n\t\t\tconst actionOriginComponent = findDescendantByComponentId(\n\t\t\t\tpurgeRootComponent,\n\t\t\t\tcomponentIdsInActionChain[0]\n\t\t\t);\n\n\t\t\tfor (const dirtyChildId of dirtyChildrenComponentIds) {\n\t\t\t\t// The component(HTMLElement) -- dirty child of the purgeRootComponent which is also the child of the actionOriginComponent.\n\t\t\t\tconst purgeChildComponent = findDescendantByComponentId(\n\t\t\t\t\tactionOriginComponent,\n\t\t\t\t\tdirtyChildId\n\t\t\t\t);\n\n\t\t\t\t// If the purgeChildComponent is not null then it is a child of the actionOriginComponent\n\t\t\t\t// since the actionOriginComponent became clean (isDirty: false), we need to mark all the children\n\t\t\t\t// of the actionOriginComponent that are registered with DirtyStateManager as clean.\n\t\t\t\tif (!isNil(purgeChildComponent)) {\n\t\t\t\t\tthis._purgeDirtyStateOfComponent({\n\t\t\t\t\t\tcomponentId: dirtyChildId,\n\t\t\t\t\t\tisDirty,\n\t\t\t\t\t\tcomponentIdsInActionChain,\n\t\t\t\t\t\tscreenStatusChangedActionPayload,\n\t\t\t\t\t\texperienceData\n\t\t\t\t\t});\n\t\t\t\t\tthis.removeParentChildRef(componentId, dirtyChildId);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (isPurgeCompleted) return;\n\t\t}\n\t}\n\t/**\n\t * Computes and updates the dirty state of the current component by traversing\n\t * the action chain and evaluating dependencies in the {@see dirtyChildrenIdsByComponentId}.\n\t *\n\t * @param {Object} dirtyStateContext - Context object containing details for computing the dirty state.\n\t * @param {number} dirtyStateContext.index - Index of the current component in the action chain.\n\t * @param {string[]} dirtyStateContext.componentIdsInActionChain - Ordered list of component IDs in the action chain.\n\t * @param {boolean} dirtyStateContext.isDirty - Indicates whether the origin component is dirty.\n\t * @returns {boolean} - Returns `true` if the current component has any dirty dependencies, otherwise `false`.\n\t */\n\tgetComputedDirtyStateOfComponent(dirtyStateContext) {\n\t\t// TODO: change this implementation to use previously processed element instead of\n\t\t// traversing through all the previous components in action chain\n\t\tconst {\n\t\t\tindex: currComponentIndex,\n\t\t\tcomponentIdsInActionChain,\n\t\t\tisDirty: originComponentIsDirty\n\t\t} = dirtyStateContext;\n\n\t\tconst currComponentId = componentIdsInActionChain[currComponentIndex];\n\t\tfor (\n\t\t\tlet componentIndex = currComponentIndex - 1;\n\t\t\tcomponentIndex >= 0;\n\t\t\tcomponentIndex--\n\t\t) {\n\t\t\tconst prevComponentId = componentIdsInActionChain[componentIndex];\n\n\t\t\t// If it's the origin component of action chain\n\t\t\tif (componentIndex === 0) {\n\t\t\t\tif (originComponentIsDirty) {\n\t\t\t\t\tthis.addParentChildRef(currComponentId, prevComponentId);\n\t\t\t\t} else {\n\t\t\t\t\tthis.removeParentChildRef(currComponentId, prevComponentId);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t/* If the prevComponent is absent in the dirtyStateMap, continue iterating through\n\t\t\t\tpreceding components in the action chain to assess their dirty state dependencies. */\n\t\t\t\tif (!this.dirtyChildrenIdsByComponentId.has(prevComponentId)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\t/** \n\t\t\t\tIf the previous component has active dirty dependencies, record it in the\n\t\t\t\t{@see dirtyChildrenIdsByComponentId} for the current component to propagate the\n\t\t\t\tdirty state. \n\t\t\t\t*/\n\t\t\t\tif (\n\t\t\t\t\t!isEmptySet(this.dirtyChildrenIdsByComponentId.get(prevComponentId))\n\t\t\t\t) {\n\t\t\t\t\tthis.addParentChildRef(currComponentId, prevComponentId);\n\t\t\t\t} else {\n\t\t\t\t\t// If the previous component has no remaining dirty dependencies, remove its\n\t\t\t\t\t// reference\n\t\t\t\t\tthis.removeParentChildRef(currComponentId, prevComponentId);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn !isEmptySet(\n\t\t\t\tthis.dirtyChildrenIdsByComponentId.get(currComponentId)\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Iterates over the provided chain of components, calculates the dirty state and executes\n\t * callback functions of registered components in the chain.\n\t *\n\t * @param {Object} params - Context object containing details for executing the dirty state callback.\n\t * @param {Array<string>} params.componentIdsInActionChain - Array of component IDs in the action chain.\n\t * @param {Object} params.screenStatusChangedActionPayload - The SCREEN_STATUS_CHANGED action payload\n\t * @param {HTMLElement} params.host - The host element (handler) of the SCREEN_STATUS_CHANGED action.\n\t * @param {DirtyStateExperienceData} params.experienceData - Experience data.\n\t * @returns {void}\n\t */\n\texecuteDirtyStateCallback(params) {\n\t\tconst {\n\t\t\tcomponentIdsInActionChain,\n\t\t\tscreenStatusChangedActionPayload,\n\t\t\thost,\n\t\t\texperienceData\n\t\t} = params;\n\n\t\tconst {isDirty: isDirtyOfSourceElement} = screenStatusChangedActionPayload;\n\n\t\tif (\n\t\t\tthis.registeredComponentsById.size === 0 ||\n\t\t\tisEmpty(componentIdsInActionChain)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!isDirtyOfSourceElement) {\n\t\t\tthis.cleanDirtyState({\n\t\t\t\tcomponentIdsInActionChain,\n\t\t\t\tisDirty: isDirtyOfSourceElement,\n\t\t\t\thost,\n\t\t\t\texperienceData\n\t\t\t});\n\t\t}\n\t\tcomponentIdsInActionChain.forEach((componentId, index) => {\n\t\t\tif (!this.registeredComponentsById.has(componentId)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst {\n\t\t\t\tcallbackFn,\n\t\t\t\tisDefaultMacroponentSubscriber,\n\t\t\t\tsubscriberUpdateStateFn,\n\t\t\t\tsubscriberUpdatePropertiesFn,\n\t\t\t\tsubscriberUpdateContextFn,\n\t\t\t\tsubscriberDispatchFn\n\t\t\t} = this.registeredComponentsById.get(componentId);\n\n\t\t\tlet isCurrComponentDirty = isDirtyOfSourceElement;\n\n\t\t\tif (index !== 0) {\n\t\t\t\t// calculate the dirty state for other components apart from first component in action chain\n\t\t\t\tisCurrComponentDirty = this.getComputedDirtyStateOfComponent({\n\t\t\t\t\tindex,\n\t\t\t\t\tcomponentIdsInActionChain,\n\t\t\t\t\tisDirty: isDirtyOfSourceElement\n\t\t\t\t});\n\t\t\t}\n\t\t\t/**\n\t\t\t * Note: Do not move this above the loop as we still need to\n\t\t\t * compute the dirtiness and update the dirty state map.\n\t\t\t * */\n\t\t\tif (isDefaultMacroponentSubscriber) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tcallbackFn({\n\t\t\t\t\tisDirty: isCurrComponentDirty,\n\t\t\t\t\tchildActionChain: getChildComponentIds(\n\t\t\t\t\t\tcomponentIdsInActionChain,\n\t\t\t\t\t\tcomponentId\n\t\t\t\t\t),\n\t\t\t\t\tscreenStatusChangedActionPayload,\n\t\t\t\t\tsubscriberComponentId: componentId,\n\t\t\t\t\tsubscriberDispatchFn,\n\t\t\t\t\tsubscriberUpdateContextFn,\n\t\t\t\t\tsubscriberUpdatePropertiesFn,\n\t\t\t\t\tsubscriberUpdateStateFn,\n\t\t\t\t\texperienceData\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(\n\t\t\t\t\t`[dirtyStateManager] Callback execution failed for component ${componentId}:`,\n\t\t\t\t\terror\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t}\n\t/**\n\t * Adds a parent-child reference to the dirty state maps.\n\t *\n\t * @param {string} parentComponentId - The ID of the parent component.\n\t * @param {string} childComponentId - The ID of the child component.\n\t * @returns {void}\n\t */\n\taddParentChildRef(parentComponentId, childComponentId) {\n\t\tthis.dirtyChildrenIdsByComponentId\n\t\t\t.get(parentComponentId)\n\t\t\t?.add(childComponentId);\n\t\tthis.parentComponentIdsByDirtyChildId\n\t\t\t.get(childComponentId)\n\t\t\t?.add(parentComponentId);\n\t}\n\n\t/**\n\t * Removes the parent-child reference from the dirty state maps.\n\t *\n\t * @param {string} parentComponentId - The ID of the parent component.\n\t * @param {string} childComponentId - The ID of the child component.\n\t * @returns {void}\n\t */\n\tremoveParentChildRef(parentComponentId, childComponentId) {\n\t\tthis.dirtyChildrenIdsByComponentId\n\t\t\t.get(parentComponentId)\n\t\t\t?.delete(childComponentId);\n\t\tthis.parentComponentIdsByDirtyChildId\n\t\t\t.get(childComponentId)\n\t\t\t?.delete(parentComponentId);\n\t}\n}\n","import {DirtyStateManager} from './dirtyStateManager';\n\n/** Singleton instance of the Dirty State Manager. */\nconst dirtyStateManager = new DirtyStateManager();\n\n/**\n * Provides a proxy for the Dirty State Manager API, allowing controlled access to its methods\n * while preventing modifications. This proxy is used to expose the API to the global scope.\n *\n * @note: see {@link DirtyStateManager} for the implementation details.\n *\n * @typedef {Object} DirtyStateManagerApi\n *\n * @property {(coeffects: Object) => void} registerComponent\n * Registers a component with the dirtyStateManager. {@link DirtyStateManager#registerComponent}\n *\n * @property {(coeffects: Object) => void} unregisterComponent\n * Unregisters a component with the dirtyStateManager. {@link DirtyStateManager#unregisterComponent}\n *\n * @property {(coeffects: Object) => void} handleScreenStatusChangedAction\n * Handles the SCREEN_STATUS_CHANGED action. {@link DirtyStateManager#handleScreenStatusChangedAction}\n *\n * @property {(componentId: string) => boolean|null} isRegisteredMacroponent\n * Checks if a component is a macroponent and is registerd with Dirty State Management. {@link DirtyStateManager#isRegisteredMacroponent}\n *\n * @property {(componentId: string) => boolean|null} isComponentDirty\n * Checks if the given component is dirty. {@link DirtyStateManager#isComponentDirty}\n *\n * @property {(screenKey: string) => boolean} isScreenDirty\n * Returns whether a screen is dirty or not. {@link DirtyStateManager#isScreenDirty}\n *\n * @property {(macroponentSysId: string) => boolean|null} isMacroponentDirty\n * Returns whether a macroponent is dirty or not. {@link DirtyStateManager#isMacroponentDirty}\n *\n * @property {(componentId: string) => Array<string>} getDirtyDescendantComponentIds\n * Returns the dirty descendants of a registered component. {@link DirtyStateManager#getDirtyDescendantComponentIds}\n *\n * @property {(oldScreenKey: string, newScreenKey: string) => void} updateScreenKey\n * Updates the screen key of the registered screen component. {@link DirtyStateManager#updateScreenKey}\n *\n * @private\n * @property {() => Object} _getInternalStateSnapshot\n * UXF internal function for debugging purposes.\n * UXF does not guarantee the future support of it, thus API users should not use nor rely on it.\n * Returns an object with copies of internal state.\n */\n\n/**\n * @type {DirtyStateManagerApi}\n */\nconst dirtyStateManagerApiProxy = new Proxy(\n\t{\n\t\tregisterComponent:\n\t\t\tdirtyStateManager.registerComponent.bind(dirtyStateManager),\n\t\tunregisterComponent:\n\t\t\tdirtyStateManager.unregisterComponent.bind(dirtyStateManager),\n\t\thandleScreenStatusChangedAction:\n\t\t\tdirtyStateManager.handleScreenStatusChangedAction.bind(dirtyStateManager),\n\t\tisRegisteredMacroponent:\n\t\t\tdirtyStateManager.isRegisteredMacroponent.bind(dirtyStateManager),\n\t\tisComponentDirty:\n\t\t\tdirtyStateManager.isComponentDirty.bind(dirtyStateManager),\n\t\tisScreenDirty: dirtyStateManager.isScreenDirty.bind(dirtyStateManager),\n\t\tisMacroponentDirty:\n\t\t\tdirtyStateManager.isMacroponentDirty.bind(dirtyStateManager),\n\t\tgetDirtyDescendantComponentIds:\n\t\t\tdirtyStateManager.getDirtyDescendantComponentIds.bind(dirtyStateManager),\n\t\tupdateScreenKey: dirtyStateManager.updateScreenKey.bind(dirtyStateManager),\n\t\t_getInternalStateSnapshot: () => {\n\t\t\treturn {\n\t\t\t\tregisteredComponentsById: new Map(\n\t\t\t\t\tdirtyStateManager.registeredComponentsById\n\t\t\t\t),\n\t\t\t\tdirtyChildrenIdsByComponentId: new Map(\n\t\t\t\t\tdirtyStateManager.dirtyChildrenIdsByComponentId\n\t\t\t\t),\n\t\t\t\tparentComponentIdsByDirtyChildId: new Map(\n\t\t\t\t\tdirtyStateManager.parentComponentIdsByDirtyChildId\n\t\t\t\t)\n\t\t\t};\n\t\t}\n\t},\n\t{\n\t\tget(target, prop) {\n\t\t\tif (prop in target) {\n\t\t\t\treturn target[prop];\n\t\t\t}\n\t\t\tconsole.warn(\n\t\t\t\t`[dirtyStateManager] Attempted to access undefined property: ${String(\n\t\t\t\t\tprop\n\t\t\t\t)}`\n\t\t\t);\n\t\t\treturn undefined;\n\t\t},\n\t\tset() {\n\t\t\t// Prevent modification of methods in the API\n\t\t\tconsole.warn(\n\t\t\t\t'[dirtyStateManager] Modification of API properties is not allowed.'\n\t\t\t);\n\t\t\treturn false;\n\t\t}\n\t}\n);\n\n/**\n * Returns a singleton instance of proxied API for Dirty State Manager,\n * allowing controlled access to its methods while preventing modifications.\n * Available on window.uxf.dirtyStateManager via ux_globals.\n *\n * @returns {DirtyStateManagerApi} - Returns a proxied object providing controlled access to the Dirty State Manager API.\n */\nexport const dirtyStateManagerApi = () => dirtyStateManagerApiProxy;\n","import {isNil} from '@devsnc/snowdash';\n\nexport const getMacroponentTagName = (id, suffix) => {\n\tconst suffixToAppend = !isNil(suffix) ? `-${suffix}` : '';\n\treturn `macroponent-${id}${suffixToAppend}`;\n};\n\nexport const getMacroponentNodes = () => {\n\tlet mcpNode = null,\n\t\tmacroponentNodes = [];\n\ttry {\n\t\tconst mcpNodesResult = document.evaluate(\n\t\t\t'//*[starts-with(name(), \"macroponent-\")]',\n\t\t\tdocument,\n\t\t\tnull,\n\t\t\tXPathResult.UNORDERED_NODE_ITERATOR_TYPE,\n\t\t\tnull\n\t\t);\n\t\tmcpNode = mcpNodesResult.iterateNext();\n\t\twhile (mcpNode) {\n\t\t\tmacroponentNodes.push(mcpNode);\n\t\t\tmcpNode = mcpNodesResult.iterateNext();\n\t\t}\n\t\treturn macroponentNodes;\n\t} catch (e) {\n\t\tconsole.error('Error: Document tree modified during iteration ' + e);\n\t}\n};\n","import {isEmpty} from '@devsnc/snowdash';\nimport {has} from '@devsnc/snowdash';\nimport {get} from '@devsnc/snowdash';\nimport {includes} from '@devsnc/snowdash';\nimport {snakeCase as snakeCaseLodash} from '@devsnc/snowdash';\nimport {kebabCase as kebabCaseLodash} from '@devsnc/snowdash';\nimport {camelCase as camelCaseLodash} from '@devsnc/snowdash';\nimport {map} from '@devsnc/snowdash';\nimport {memoize} from '@servicenow/ui-utils';\nimport {\n\tDBK_LIFECYCLE_FETCH_SUCCESS_KEY,\n\tDBK_LIFECYCLE_FETCHING_KEY,\n\tDBK_LIFECYCLE_IDENTIFIER,\n\tDBK_NAMESPACE_PROP_NAME_PREFIX,\n\tUXF_META_PROP_NAME_PREFIX,\n\tDBK_OUTPUT_IDENTIFIER,\n\tinternalActions,\n\tMACROPONENT_FEATURES,\n\tGLIDE_FORM_DATABROKER,\n\tUXF_TYPE_VIEWPORT,\n\tNOW_UXF_VIEWPORT_BLACKLIST,\n\trenderStrategy,\n\tUXF_DIRTY_STATE_MANAGEMENT_SOURCE_ACTION_PATH\n} from './constants';\n\nimport getMostRecentlyUsedScreens from './getMostRecentlyUsedScreens';\nimport {getUxGlobal} from '../templateLoader/utils';\nimport {isNil} from '@devsnc/snowdash';\n\nimport {mapValues} from '@devsnc/snowdash';\nimport getUxfSysProp from '../utils/getUxfSysProp';\n\nimport {dirtyStateManagerApi} from './dirtyStateManager/api';\n\nexport {getMacroponentTagName} from '../utils/macroponent.js';\n\nexport const getActionTransformerTagName = (id) =>\n\t`macroponent-action-transformer-${id}`;\n\nexport const getScreenActionTransformerTagName = (id) =>\n\t`screen-action-transformer-${id}`;\n\nexport const getNamespacedComponentId = (\n\tnamespace,\n\tnodeId,\n\trepeaterItem = null\n) => {\n\tif (isNil(get(repeaterItem, 'index', null))) {\n\t\treturn !isNil(nodeId) ? `${namespace}-${nodeId}` : null;\n\t}\n\treturn `${namespace}-${getRepeatedNodeId(nodeId, repeaterItem)}${nodeId}`;\n};\n\nconst getRepeatedNodeId = (nodeId, repeaterItem) => {\n\tif (isEmpty(repeaterItem)) {\n\t\treturn '';\n\t}\n\treturn `${getRepeatedNodeId(nodeId, repeaterItem.parent)}${\n\t\trepeaterItem.repeaterNodeId\n\t}_${repeaterItem.index}_`;\n};\n\nexport const camelCase = memoize((input) => camelCaseLodash(input));\nexport const kebabCase = memoize((input) => kebabCaseLodash(input));\nexport const snakeCase = memoize((input) => snakeCaseLodash(input));\n\nexport const getNodeId = (node) => get(node, ['nodeId']);\n\nexport const getNodeIds = (nodes) =>\n\tmap(nodes, (node) => get(node, ['nodeId']));\n\nexport const isActionBlacklisted = (actionName, blacklist = []) =>\n\tincludes(internalActions, actionName) || includes(blacklist, actionName);\n\nexport const getNamepsacedPropName = (tokens = []) =>\n\ttokens.map(kebabCase).join('-');\n\nexport const getKebabCasedDbOutputProp = memoize((dbId) =>\n\tgetNamepsacedPropName([\n\t\tDBK_NAMESPACE_PROP_NAME_PREFIX,\n\t\tDBK_OUTPUT_IDENTIFIER,\n\t\tdbId\n\t])\n);\n\nexport const getKebabCasedControllerDependencyProp = memoize(\n\t(dependencyName, outputPropName) =>\n\t\tgetNamepsacedPropName([\n\t\t\t'dep-',\n\t\t\tUXF_META_PROP_NAME_PREFIX,\n\t\t\tdependencyName,\n\t\t\toutputPropName\n\t\t]),\n\t(dependencyName, outputPropName) => dependencyName + outputPropName\n);\n\nexport const getKebabCaseDbLifecycleFetchingProp = memoize((dbId) =>\n\tgetNamepsacedPropName([\n\t\tDBK_NAMESPACE_PROP_NAME_PREFIX,\n\t\tDBK_LIFECYCLE_IDENTIFIER,\n\t\tDBK_LIFECYCLE_FETCHING_KEY,\n\t\tdbId\n\t])\n);\n\nexport const getKebabCaseDbLifecycleFetchSuccessProp = memoize((dbId) =>\n\tgetNamepsacedPropName([\n\t\tDBK_NAMESPACE_PROP_NAME_PREFIX,\n\t\tDBK_LIFECYCLE_IDENTIFIER,\n\t\tDBK_LIFECYCLE_FETCH_SUCCESS_KEY,\n\t\tdbId\n\t])\n);\n\nexport const getControllerDependencyProp = memoize(\n\t(dependencyName, outputPropName) =>\n\t\tcamelCase(\n\t\t\tgetKebabCasedControllerDependencyProp(dependencyName, outputPropName)\n\t\t),\n\t(dependencyName, outputPropName) => dependencyName + outputPropName\n);\n\nexport const getDbOutputProp = memoize((dbId) =>\n\tcamelCase(getKebabCasedDbOutputProp(dbId))\n);\n\nexport const getDbLifecycleFetchingProp = memoize((dbId) =>\n\tcamelCase(getKebabCaseDbLifecycleFetchingProp(dbId))\n);\n\nexport const getDbLifecycleFetchSuccessProp = memoize((dbId) =>\n\tcamelCase(getKebabCaseDbLifecycleFetchSuccessProp(dbId))\n);\n\nexport function getMacroponentFeatures(disabledFeatures = []) {\n\treturn mapValues(\n\t\tMACROPONENT_FEATURES,\n\t\t(feature) => !disabledFeatures.includes(feature)\n\t);\n}\n\nexport function mapSubRoutesParentCompositionElementId(subroutes) {\n\treturn map(subroutes, (s) =>\n\t\tisEmpty(s.parentCompositionElementId)\n\t\t\t? {...s, parentCompositionElementId: 'uxf-viewport-screen'}\n\t\t\t: s\n\t);\n}\n\nexport function isValidElementEventMapping(\n\tforScreenActionTransformer,\n\tmacroponentSysId,\n\tsourceNodeId,\n\tnodeId,\n\tcontainingMacroponentSysId,\n\teventMetaSourceCorrelationId,\n\tmappingSourceCorrelationId\n) {\n\tconst isValidEventMapping =\n\t\tsourceNodeId === nodeId &&\n\t\t(forScreenActionTransformer ||\n\t\t\tcontainingMacroponentSysId === macroponentSysId);\n\n\tif (eventMetaSourceCorrelationId && mappingSourceCorrelationId)\n\t\treturn (\n\t\t\tisValidEventMapping &&\n\t\t\teventMetaSourceCorrelationId == mappingSourceCorrelationId\n\t\t);\n\n\treturn isValidEventMapping;\n}\n\nexport function getRenderedScreens(\n\tisNonDestructive,\n\tisUxfViewportScreen,\n\tviewportContent,\n\tisTabSet\n) {\n\tlet renderedScreens = undefined;\n\n\tif (\n\t\thas(viewportContent, 'screens') ||\n\t\thas(viewportContent, 'currentScreen')\n\t) {\n\t\tif (isNonDestructive && isUxfViewportScreen) {\n\t\t\t// For MCPs having viewport screen, get the recently used screens from cache\n\t\t\trenderedScreens = getMostRecentlyUsedScreens(viewportContent);\n\t\t} else if (isNonDestructive) {\n\t\t\trenderedScreens = viewportContent.screens;\n\t\t} else {\n\t\t\trenderedScreens = [viewportContent.currentScreen];\n\t\t\tif (isTabSet) {\n\t\t\t\t// Combine the current screen and all other screens that are dirty in the original\n\t\t\t\t// screens order.\n\t\t\t\trenderedScreens = [];\n\t\t\t\tfor (let [screenId, screen] of Object.entries(\n\t\t\t\t\tviewportContent.screens ?? {}\n\t\t\t\t)) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tscreenId === viewportContent.currentScreen?.screenId ||\n\t\t\t\t\t\tdirtyStateManagerApi().isMacroponentDirty(screen?.macroponentSysId)\n\t\t\t\t\t) {\n\t\t\t\t\t\trenderedScreens.push(screen);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn renderedScreens;\n}\n\nexport const getPrefetchLimits = memoize(() => {\n\treturn get(\n\t\twindow,\n\t\t['ux_globals', 'routeConfiguration', 'prefetchLimits'],\n\t\t{}\n\t);\n});\n\nexport function getControllerNodeIdsWithGlideForm(proxyDataBrokerNodes) {\n\tconst controllerProxyNodes = proxyDataBrokerNodes.filter(\n\t\t(e) => e.type === 'CONTROLLER'\n\t);\n\n\tconst databrokerNodes = controllerProxyNodes.filter(\n\t\t(e) =>\n\t\t\te.dataBrokers.find(\n\t\t\t\t(el) => el.definitionSysId === GLIDE_FORM_DATABROKER\n\t\t\t) !== undefined\n\t);\n\treturn databrokerNodes.map((db) => db.nodeId);\n}\n\nexport function getShouldHaveWrappedEventDispatch(\n\tdescendants,\n\tclientStateDataBrokerNode\n) {\n\tconst hasDecendants = Object.keys(descendants).length !== 0;\n\tconst hasClientStateDB = clientStateDataBrokerNode != null;\n\n\tif (!hasDecendants && hasClientStateDB) return false;\n\n\treturn true;\n}\n\nexport function getControllerAliasMapDetails(\n\tincomingUxControllerNodes,\n\tincomingControllerAliasMap\n) {\n\tconst controllerAliasMapDetails = {};\n\tincomingUxControllerNodes.forEach((node) => {\n\t\tif (incomingControllerAliasMap[node.nodeId]) {\n\t\t\tlet elementId = incomingControllerAliasMap[node.nodeId];\n\t\t\tcontrollerAliasMapDetails[node.nodeId] = {\n\t\t\t\telementId: elementId,\n\t\t\t\tnode: {...node, nodeId: elementId},\n\t\t\t\talias: Object.keys(node.dependencies)\n\t\t\t};\n\t\t}\n\t});\n\treturn controllerAliasMapDetails;\n}\n\nexport function getUnifiedCacheStats() {\n\treturn getUxGlobal('__uc__cacheStats')?.getAggregateCacheStats?.() || {};\n}\n\n/**\n * Macroponent object from window.ux_globals.routeConfiguration.routes\n * @typedef {Object} MacroponentObject\n * @param {boolean} applicable\n * @param {string} condition\n * @param {boolean} disableAutoReflow\n * @param {Array} eventMappings\n * @param {object} macroponentConfiguration\n * @param {string} macroponentSysId\n * @param {string} viewportConfigurationId\n */\n\n/**\n * Get all macroponents from window.ux_globals.routeConfiguration.routes\n * @returns {MacroponentObject[]} - array of macroponents objects\n */\nexport const getGlobalMacroponents = () => {\n\tconst routesObject = get(window, 'ux_globals.routeConfiguration.routes', {});\n\treturn Object.values(routesObject)\n\t\t.reduce((acc, routes) => {\n\t\t\tconst macroponents = routes.map((route) =>\n\t\t\t\tget(route, 'macroponents', [])\n\t\t\t);\n\t\t\treturn [...acc, ...macroponents];\n\t\t}, [])\n\t\t.flat();\n};\n\n/**\n * Get macroponent object by sysId\n * @param {string} sysId\n * @returns {MacroponentObject|null}\n */\nexport const getMacroponentObjectBySysId = (sysId) => {\n\tconst macroponents = getGlobalMacroponents();\n\treturn (\n\t\tmacroponents.find(\n\t\t\t(macroponent) => macroponent.macroponentSysId === sysId\n\t\t) ?? null\n\t);\n};\n\n/**\n * Determine if reflow is disabled for an element\n * @param {HTMLElement} element\n * @returns {boolean}\n */\nexport const getNowUxfReflowDisabled = (element) => {\n\ttry {\n\t\tif (!element) {\n\t\t\tconsole.warn('Element is undefined or null.');\n\t\t\treturn false;\n\t\t}\n\t\t// @ts-ignore\n\t\tconst host = element?.getRootNode()?.host;\n\t\tconst nowUxfReflowDisabled =\n\t\t\thost?.nowUxfReflowDisabled ??\n\t\t\thost?.getRootNode()?.host?.nowUxfReflowDisabled;\n\t\tconst output =\n\t\t\tnowUxfReflowDisabled?.nowUxfReflowDisabledAppConfig ||\n\t\t\tnowUxfReflowDisabled?.nowUxfReflowDisabledScreen;\n\t\t// if reflow disable value is set, return it\n\t\tif (output !== undefined) {\n\t\t\treturn output;\n\t\t}\n\n\t\t// if reflow disable value is not set, check if the element is a macroponent\n\t\t// and return the disableAutoReflow value from window.ux_globals.routeConfiguration.routes\n\t\tconst tagName = host?.tagName.toLowerCase();\n\t\tif (tagName.startsWith('macroponent-')) {\n\t\t\tconst sysId = tagName.split('-')[1];\n\t\t\tconst macroponent = getMacroponentObjectBySysId(sysId);\n\t\t\t// we only want to return the disableAutoReflow if the macroponent is found\n\t\t\tif (macroponent) {\n\t\t\t\treturn macroponent.disableAutoReflow;\n\t\t\t}\n\t\t}\n\t} catch (e) {\n\t\tconsole.warn('Unable to determine autoreflow disable rule:', e);\n\t}\n\treturn false;\n};\n\n/**\n * determine if the viewport dispatch should be ignored\n * @param {Object} entry - object representing a macroponent descendant\n * @param {string} entry.tagName - tag name of the component\n * @param {string} entry.type - the type of descendant (e.g. 'ELEMENT', 'VIEWPORT', 'CONDITIONAL', etc.)\n * @returns {boolean}\n */\nexport const shouldIgnoreViewportDispatch = (entry) => {\n\treturn (\n\t\tentry?.type === UXF_TYPE_VIEWPORT &&\n\t\tNOW_UXF_VIEWPORT_BLACKLIST.includes(entry?.tagName)\n\t);\n};\n\nexport function isTransactionCancellationEnabled() {\n\treturn (\n\t\tgetUxfSysProp('glide.uxf.lib.enable_transaction_cancellation', 'false') ===\n\t\t'true'\n\t);\n}\n\n/**\n * Returns the shadow root of an element.\n * @param {*} el\n * @returns any\n */\nexport const getShadowRoot = (el) => {\n\treturn el.shadowRoot;\n};\n\nexport const shouldRenderOnPriority = (node) => {\n\tconst priorityRenderingEnabled =\n\t\tgetUxfSysProp('glide.uxf.lib.priority_rendering_enabled', 'false') ===\n\t\t'true';\n\treturn (\n\t\tpriorityRenderingEnabled && node.renderStrategy === renderStrategy.PRIORITY\n\t);\n};\n\n/**\n * Retrieves the source action path from the provided coeffects object.\n *\n * @param {Object} coeffects - The coeffects object containing action metadata.\n * @returns {Object} Current augmented action along with previous and current action path.\n *\n * @description\n * This function extracts the `source action path` from the `meta` field of the `action`\n * object inside the `coeffects`. If the source action path exists in the\n * UXF internal event metadata under `UXF_DIRTY_STATE_MANAGEMENT_SOURCE_ACTION_PATH`,\n * it returns that value along with previous and current action path. Otherwise, it falls back to `meta.path`.\n */\nexport const getSourceActionPath = (coeffects) => {\n\tconst currentMeta = coeffects?.action?.meta;\n\tconst previousEventSource = get(\n\t\tcurrentMeta,\n\t\t`uxfMeta.${UXF_DIRTY_STATE_MANAGEMENT_SOURCE_ACTION_PATH}`,\n\t\tnull\n\t);\n\treturn {\n\t\tcurrentAugmentedActionPath: previousEventSource ?? currentMeta?.path,\n\t\tprevAndCurrentActionPath: [\n\t\t\tpreviousEventSource ?? [],\n\t\t\tcurrentMeta?.path ?? []\n\t\t]\n\t};\n};\n\n/**\n * Merges two objects with preference for specific keys from the second object.\n *\n * For each key:\n * - If the key is listed in `preferKeys` and exists in `obj2`, the value from `obj2` is used.\n * - If the key is not in `preferKeys`, the value from `obj1` is used if it exists; otherwise, the value from `obj2` is used.\n *\n * @param {Object} [obj1={}] - The base object. Its values are used unless overridden.\n * @param {Object} [obj2={}] - The object whose values are preferred for the keys listed in `preferKeys`.\n * @param {string[]} [preferKeys=[]] - Array of keys for which values from `obj2` should take precedence.\n * @returns {Object} - A new merged object with resolved key precedence.\n */\nexport const mergeObjectsWithPreferredKeys = (\n\tobj1 = {},\n\tobj2 = {},\n\tpreferKeys = []\n) => ({\n\t...obj1,\n\t...Object.fromEntries(\n\t\tObject.entries(obj2).map(([key, value]) =>\n\t\t\tpreferKeys.includes(key) ? [key, value] : [key, obj1[key] ?? value]\n\t\t)\n\t)\n});\n","import {\n\tgetDbLifecycleFetchingProp,\n\tgetDbLifecycleFetchSuccessProp,\n\tgetDbOutputProp\n} from '../../../utils';\nimport {DB_TYPE_CLIENT_STATE} from './constants';\n\nconst getPropertiesForDataBroker = (dataBroker) => {\n\tconst {id = ''} = dataBroker;\n\n\tconst outputProps = {\n\t\t[getDbOutputProp(id)]: {\n\t\t\tselectable: true\n\t\t},\n\t\t[getDbLifecycleFetchingProp(id)]: {\n\t\t\tselectable: true\n\t\t},\n\t\t[getDbLifecycleFetchSuccessProp(id)]: {\n\t\t\tselectable: true\n\t\t}\n\t};\n\n\treturn {\n\t\t...outputProps\n\t};\n};\n\nexport default (dataBrokers = []) => {\n\treturn dataBrokers\n\t\t.filter(({type}) => type !== DB_TYPE_CLIENT_STATE)\n\t\t.reduce((acc, dataBroker) => {\n\t\t\treturn {\n\t\t\t\t...acc,\n\t\t\t\t...getPropertiesForDataBroker(dataBroker)\n\t\t\t};\n\t\t}, {});\n};\n","import {partial} from '@devsnc/snowdash';\nimport {IS_INTERNAL_ACTION} from './constants';\n\nexport const isValidInternalAction = ({action: {meta}}) =>\n\tmeta[IS_INTERNAL_ACTION] || false;\n\nfunction handleInternalAction(effectFn, coeffects) {\n\tif (isValidInternalAction(coeffects)) {\n\t\teffectFn(coeffects);\n\t}\n\t// fixme: error / warn the user that this is not allowed\n}\n\nexport function getInternalEffect({\n\teffect,\n\tstopPropagation = true,\n\tinterceptors = []\n}) {\n\treturn {\n\t\tstopPropagation,\n\t\teffect: partial(handleInternalAction, effect),\n\t\tinterceptors\n\t};\n}\n\n/**\n * Stops propagation if not UXF internal action.\n * Cannot prevent effect at current host.\n *\n * @param {*} context\n * @returns\n */\nexport function internalActionGateInterceptor(context) {\n\tconst {\n\t\tcoeffects,\n\t\tcoeffects: {action}\n\t} = context;\n\n\tif (!isValidInternalAction(coeffects)) {\n\t\taction.stopPropagation();\n\t}\n\treturn context;\n}\n\nexport function getModifiedMetaForInternalActionDispatch(meta = {}) {\n\treturn {\n\t\t...meta,\n\t\t[IS_INTERNAL_ACTION]: true\n\t};\n}\n\n/**\n * Use for any actions that are limited to intra-macroponent communication.\n * Handle these actions with getInternalEffect above\n *\n * It is meant to distinguish action source (actions that bubble up from seismic components vs from a behavior on the macroponent).\n */\nexport function dispatchInternalAction(dispatchFn, action, payload, meta) {\n\tdispatchFn(action, payload, getModifiedMetaForInternalActionDispatch(meta));\n}\n\nexport default getInternalEffect;\n","const resolveLiteral = ({value}) => value;\n\nexport default resolveLiteral;\n","import {propertyTypes} from '../constants';\nimport getResolvedJsonLiteral from './getResolvedJsonLiteral';\nimport {isNull} from '@devsnc/snowdash';\n\nconst {\n\tCONTEXT_BINDING,\n\tSTATE_BINDING,\n\tELEMENT_BINDING,\n\tSHORTHAND,\n\tJSON_LITERAL,\n\tDATA_OUTPUT_BINDING,\n\tDATA_CHAIN_BINDING,\n\tEVENT_PAYLOAD_BINDING,\n\tVIEWPORT_BINDING,\n\tREPEATER_ITEM_BINDING,\n\tLIST_CONTAINER,\n\tMAP_CONTAINER,\n\tCLIENT_TRANSFORM,\n\tBINARY,\n\tUNARY,\n\tRUNTIME_INLINE_SCRIPT,\n\tTRANSLATION_LITERAL,\n\tENV_BINDING,\n\tRT_CLIENT_RESPONSIVE_QUERY\n} = propertyTypes;\n\nconst resolveWith = (resolvers, uxValue, repeaterItem = null) => {\n\tif (isNull(uxValue)) return uxValue;\n\tconst noopResolver = () => uxValue;\n\tconst {\n\t\t[JSON_LITERAL]: literal = getResolvedJsonLiteral,\n\t\t[CLIENT_TRANSFORM]: clientTransform = noopResolver,\n\t\t[BINARY]: binary = noopResolver,\n\t\t[UNARY]: unary = noopResolver,\n\t\tbinding = noopResolver,\n\t\t[CONTEXT_BINDING]: contextBinding = binding,\n\t\t[EVENT_PAYLOAD_BINDING]: eventPayloadBinding = noopResolver,\n\t\t[RUNTIME_INLINE_SCRIPT]: clientTransformScript = noopResolver,\n\t\t[TRANSLATION_LITERAL]: translationLiteral = noopResolver,\n\t\tcontainer: reduceContainer = noopResolver,\n\t\t[ENV_BINDING]: envBinding = noopResolver,\n\t\t[RT_CLIENT_RESPONSIVE_QUERY]: clientResponsiveQuery = noopResolver\n\t} = resolvers;\n\tconst {type = SHORTHAND, ...rest} = uxValue;\n\tswitch (type) {\n\t\tcase JSON_LITERAL:\n\t\t\treturn literal(rest);\n\t\tcase MAP_CONTAINER:\n\t\tcase LIST_CONTAINER:\n\t\t\treturn reduceContainer(resolvers, type, rest.container, repeaterItem);\n\t\tcase CONTEXT_BINDING:\n\t\t\treturn contextBinding(type, rest.binding, rest.binding.category);\n\t\tcase ELEMENT_BINDING:\n\t\tcase STATE_BINDING:\n\t\tcase DATA_OUTPUT_BINDING:\n\t\tcase VIEWPORT_BINDING:\n\t\t\treturn binding(type, rest.binding);\n\t\tcase REPEATER_ITEM_BINDING:\n\t\t\treturn binding(type, rest.binding, rest.binding.category, repeaterItem);\n\t\tcase EVENT_PAYLOAD_BINDING:\n\t\t\treturn eventPayloadBinding(type, rest.binding);\n\t\tcase ENV_BINDING:\n\t\t\treturn envBinding(uxValue);\n\t\tcase DATA_CHAIN_BINDING:\n\t\t\treturn noopResolver();\n\t\tcase CLIENT_TRANSFORM:\n\t\t\treturn clientTransform(resolvers, rest.transform, repeaterItem);\n\t\tcase BINARY:\n\t\t\treturn binary(resolvers, rest.operation, repeaterItem);\n\t\tcase UNARY:\n\t\t\treturn unary(resolvers, rest.operation, repeaterItem);\n\t\tcase RUNTIME_INLINE_SCRIPT:\n\t\t\treturn clientTransformScript(\n\t\t\t\trest.path,\n\t\t\t\trepeaterItem,\n\t\t\t\trest.target,\n\t\t\t\trest.controllerElementId\n\t\t\t);\n\t\tcase SHORTHAND:\n\t\t\treturn noopResolver();\n\t\tcase TRANSLATION_LITERAL:\n\t\t\treturn translationLiteral(rest);\n\t\tcase RT_CLIENT_RESPONSIVE_QUERY:\n\t\t\treturn clientResponsiveQuery(resolvers, rest.value, repeaterItem);\n\t}\n};\n\nexport default resolveWith;\n","export function klona(x) {\n\tif (typeof x !== 'object') return x;\n\n\tvar k, tmp, str=Object.prototype.toString.call(x);\n\n\tif (str === '[object Object]') {\n\t\tif (x.constructor !== Object && typeof x.constructor === 'function') {\n\t\t\ttmp = new x.constructor();\n\t\t\tfor (k in x) {\n\t\t\t\tif (x.hasOwnProperty(k) && tmp[k] !== x[k]) {\n\t\t\t\t\ttmp[k] = klona(x[k]);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\ttmp = {}; // null\n\t\t\tfor (k in x) {\n\t\t\t\tif (k === '__proto__') {\n\t\t\t\t\tObject.defineProperty(tmp, k, {\n\t\t\t\t\t\tvalue: klona(x[k]),\n\t\t\t\t\t\tconfigurable: true,\n\t\t\t\t\t\tenumerable: true,\n\t\t\t\t\t\twritable: true,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\ttmp[k] = klona(x[k]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn tmp;\n\t}\n\n\tif (str === '[object Array]') {\n\t\tk = x.length;\n\t\tfor (tmp=Array(k); k--;) {\n\t\t\ttmp[k] = klona(x[k]);\n\t\t}\n\t\treturn tmp;\n\t}\n\n\tif (str === '[object Set]') {\n\t\ttmp = new Set;\n\t\tx.forEach(function (val) {\n\t\t\ttmp.add(klona(val));\n\t\t});\n\t\treturn tmp;\n\t}\n\n\tif (str === '[object Map]') {\n\t\ttmp = new Map;\n\t\tx.forEach(function (val, key) {\n\t\t\ttmp.set(klona(key), klona(val));\n\t\t});\n\t\treturn tmp;\n\t}\n\n\tif (str === '[object Date]') {\n\t\treturn new Date(+x);\n\t}\n\n\tif (str === '[object RegExp]') {\n\t\ttmp = new RegExp(x.source, x.flags);\n\t\ttmp.lastIndex = x.lastIndex;\n\t\treturn tmp;\n\t}\n\n\tif (str === '[object DataView]') {\n\t\treturn new x.constructor( klona(x.buffer) );\n\t}\n\n\tif (str === '[object ArrayBuffer]') {\n\t\treturn x.slice(0);\n\t}\n\n\t// ArrayBuffer.isView(x)\n\t// ~> `new` bcuz `Buffer.slice` => ref\n\tif (str.slice(-6) === 'Array]') {\n\t\treturn new x.constructor(x);\n\t}\n\n\treturn x;\n}\n","import {klona} from 'klona';\nimport {get} from '@devsnc/snowdash';\n\nconst createRoute = ({name, icon, order, fields, optionalParameters}) => {\n\treturn {\n\t\tname,\n\t\ticon,\n\t\torder,\n\t\tfields,\n\t\toptionalParameters,\n\t\tmetadata: {}\n\t};\n};\n\nexport const buildViewportApi = (viewports, isRouteInitializationCompleted) => {\n\tconst viewportApi = Object.entries(viewports).reduce(\n\t\t(viewports, [currentViewportId, currentViewport]) => {\n\t\t\tconst viewportRoutes = get(currentViewport, 'viewportRoutes', []).reduce(\n\t\t\t\t(routes, currentRoute) => {\n\t\t\t\t\troutes[currentRoute.routeType] = createRoute(currentRoute);\n\t\t\t\t\treturn routes;\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\n\t\t\tviewports[currentViewportId] = new Proxy(\n\t\t\t\t{\n\t\t\t\t\tactiveRoute: get(currentViewport, 'currentScreen.activeRoute', {}),\n\t\t\t\t\trouteDefinitions: viewportRoutes,\n\t\t\t\t\thasRoutes: Object.entries(viewportRoutes).length > 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tset() {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\n\t\t\treturn viewports;\n\t\t},\n\t\t{isRouteInitializationCompleted}\n\t);\n\n\treturn new Proxy(viewportApi, {\n\t\tget(obj, prop) {\n\t\t\t// If a viewport has no routes it isn't exposed in the api\n\t\t\t// in that case we return an obj with hasRoutes=false\n\t\t\treturn prop in obj ? obj[prop] : {hasRoutes: false};\n\t\t},\n\n\t\tset() {\n\t\t\treturn false;\n\t\t}\n\t});\n};\n\nconst getViewportApi = (seismicState) => {\n\t// We're deep cloning to prevent nested mutations by users affecting the viewportRuntime behavior\n\t// Using cloneDeep instead of a recursive freeze or object proxying is faster\n\tconst viewports = klona(\n\t\tget(seismicState, 'behaviors.viewportRuntime.viewports', {})\n\t);\n\tconst isRouteInitializationCompleted = get(\n\t\tseismicState,\n\t\t'behaviors.viewportRuntime.isRouteInitializationCompleted',\n\t\tfalse\n\t);\n\treturn buildViewportApi(viewports, isRouteInitializationCompleted);\n};\n\nconst getLazyViewportApi = (seismicState) => {\n\tlet viewportApi = null;\n\n\treturn new Proxy(\n\t\t{},\n\t\t{\n\t\t\tget(target, prop) {\n\t\t\t\tif (viewportApi == null) {\n\t\t\t\t\tviewportApi = getViewportApi(seismicState);\n\t\t\t\t}\n\n\t\t\t\treturn Reflect.get(viewportApi, prop);\n\t\t\t},\n\t\t\tset() {\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\tdeleteProperty() {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t);\n};\n\nexport default getLazyViewportApi;\n","import {isEmpty} from '@devsnc/snowdash';\n\nconst getParentDataStore = () => {\n\tlet parentDataByPage = new Map();\n\tlet dataByPage = new Map();\n\treturn {\n\t\tgetDerivedData(macroponentSysId) {\n\t\t\tif (!parentDataByPage.has(macroponentSysId))\n\t\t\t\treturn {\n\t\t\t\t\tcontrollerAliasMap: {},\n\t\t\t\t\tproxyDataBrokerNodes: [],\n\t\t\t\t\tdataShell: {\n\t\t\t\t\t\tdataBrokers: {},\n\t\t\t\t\t\tdataElements: {}\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\tconst parentData = parentDataByPage.get(macroponentSysId);\n\t\t\tparentDataByPage.delete(macroponentSysId);\n\t\t\treturn parentData;\n\t\t},\n\t\tsetDerivedData(macroponentSysId, data) {\n\t\t\tif (isEmpty(data)) return;\n\n\t\t\tif (!data.proxyDataBrokerNodes || !data.dataShell) return;\n\n\t\t\tparentDataByPage.set(macroponentSysId, {\n\t\t\t\t...data,\n\t\t\t\tproxyDataBrokerNodes: [\n\t\t\t\t\t...data.proxyDataBrokerNodes.map((brokerNode) => ({\n\t\t\t\t\t\t...brokerNode,\n\t\t\t\t\t\tderived: true\n\t\t\t\t\t}))\n\t\t\t\t]\n\t\t\t});\n\t\t},\n\t\tget(macroponentSysId) {\n\t\t\tif (!dataByPage.has(macroponentSysId)) return {};\n\n\t\t\tconst data = dataByPage.get(macroponentSysId);\n\t\t\treturn data;\n\t\t},\n\t\tset(macroponentSysId, data) {\n\t\t\tif (isEmpty(data)) return;\n\t\t\tdataByPage.set(macroponentSysId, data);\n\t\t},\n\t\tunset(macroponentSysId) {\n\t\t\tdataByPage.delete(macroponentSysId);\n\t\t}\n\t};\n};\n\nexport default getParentDataStore();\n","import {get} from '@devsnc/snowdash';\nexport const resolveSelectableProperty = (properties, propName, path = []) => {\n\treturn get(properties, [propName, ...path]);\n};\n","import {camelCase} from '../utils';\n\nexport const getSelectableProp = (element, prop, path = []) => {\n\treturn `@${element}/${camelCase(prop)}${\n\t\tpath.length > 0 ? '.' + path.join('.') : ''\n\t}`;\n};\n","import {getNamespacedComponentId} from '../utils';\nimport {getSelectableProp} from './getSelectableProp';\nimport {unstableResolvePropertySelectorValue} from '@servicenow/ui-core';\n\nexport const unstableResolveSelectableProperty = (\n\tnodeId,\n\ttargetElementId,\n\tpropName,\n\tpath = []\n) => {\n\treturn unstableResolvePropertySelectorValue(\n\t\tgetSelectableProp(\n\t\t\tgetNamespacedComponentId(nodeId, targetElementId),\n\t\t\tpropName,\n\t\t\tpath\n\t\t)\n\t);\n};\n","import {compact} from '@devsnc/snowdash';\nimport {camelCase} from '../utils';\nimport {memoize} from '@servicenow/ui-utils';\nimport {\n\tgetDbLifecycleFetchingProp,\n\tgetDbLifecycleFetchSuccessProp,\n\tgetDbOutputProp,\n\tgetNamepsacedPropName,\n\tgetControllerDependencyProp\n} from '../utils';\nimport {default as console} from '../../utils/getLogger.js';\nimport {get} from '@devsnc/snowdash';\nimport {\n\tpropertyTypes,\n\tCONTEXT_PROPS_IDENTIFIER,\n\tAPP_PROPS_IDENTIFIER,\n\tSYS_PROPS_IDENTIFIER,\n\tSESSION,\n\tSEISMIC_STATE_KEY_BEHAVIORS,\n\tSELECTABLE_PROP_RESOLVER_PROP_NAME_PREFIX,\n\tDBK_LIFECYCLE_IDENTIFIER,\n\tDBK_LIFECYCLE_FETCHING_IDENTIFIER,\n\tDBK_LIFECYCLE_FETCH_SUCCESS_IDENTIFIER,\n\tMETA_PROP_NAME_PARENT_PAGE_COMPONENT_ID,\n\tMETA_PROP_NAME_PARENT_PAGE_MACROPONENT_SYS_ID,\n\tMETA_PROP_NAME_CONTROLLER_MAP,\n\tMETA_PROP_NAME_PARENT_CONTROLLER_DEPENDENCY_MAP,\n\tINPUTS\n} from '../constants';\nimport getViewportApi from '../behaviorFactories/viewportRuntime/getViewportApi';\nimport {isNil} from '@devsnc/snowdash';\nimport {isArray} from '@devsnc/snowdash';\nimport parentDataStore from '../getParentDataStore';\nimport {resolveSelectableProperty} from './resolveSelectableProperty';\nimport {unstableResolveSelectableProperty} from './unstableResolveSelectableProperty';\n\nconst {\n\tCONTEXT_BINDING,\n\tELEMENT_BINDING,\n\tDATA_OUTPUT_BINDING,\n\tSTATE_BINDING,\n\tVIEWPORT_BINDING,\n\tREPEATER_ITEM_BINDING\n} = propertyTypes;\n\nexport const getSelectableProp = (element, prop, path = []) => {\n\treturn `@${element}/${camelCase(prop)}${\n\t\tpath.length > 0 ? '.' + path.join('.') : ''\n\t}`;\n};\n\nexport const getPlaceholderPropName = memoize(\n\t(nodeId, propName) =>\n\t\tcamelCase(\n\t\t\tgetNamepsacedPropName([\n\t\t\t\tSELECTABLE_PROP_RESOLVER_PROP_NAME_PREFIX,\n\t\t\t\tnodeId,\n\t\t\t\tpropName\n\t\t\t])\n\t\t),\n\t(nodeId, propName) => nodeId + propName\n);\n\nconst resolveDerivedSelectableProperty = (\n\tproperties,\n\tcontrollerAliasMap,\n\ttargetElementId,\n\tpropName,\n\tpath = []\n) => {\n\tconst parentComponentId = properties[META_PROP_NAME_PARENT_PAGE_COMPONENT_ID];\n\tconst controllerDependencyMap =\n\t\tproperties[META_PROP_NAME_CONTROLLER_MAP] || {};\n\tconst parentControllerDependencyMap =\n\t\tproperties[META_PROP_NAME_PARENT_CONTROLLER_DEPENDENCY_MAP] || {};\n\tconst realTargetgetElementId = controllerDependencyMap[targetElementId];\n\n\t// check if the binding is bound to the controller's dependencies\n\tif (parentControllerDependencyMap[realTargetgetElementId]) {\n\t\tif (parentControllerDependencyMap[realTargetgetElementId][propName]) {\n\t\t\tif (\n\t\t\t\tpath[0] === INPUTS ||\n\t\t\t\tcontrollerAliasMap[targetElementId]?.alias.indexOf(propName) >= 0\n\t\t\t)\n\t\t\t\tpath.shift();\n\n\t\t\tconst [prop, ...newPath] = path;\n\t\t\treturn unstableResolveSelectableProperty(\n\t\t\t\tparentComponentId,\n\t\t\t\tparentControllerDependencyMap[realTargetgetElementId][propName],\n\t\t\t\tprop,\n\t\t\t\tnewPath\n\t\t\t);\n\t\t}\n\t}\n\n\treturn unstableResolveSelectableProperty(\n\t\tparentComponentId,\n\t\tcontrollerAliasMap[realTargetgetElementId]?.elementId ||\n\t\t\trealTargetgetElementId,\n\t\tpropName,\n\t\tpath\n\t);\n};\n\nconst resolveControllerSelectableProperty = (\n\tproperties,\n\tcontrollerAliasMap,\n\ttargetElementId,\n\tpropName,\n\tpath = []\n) => {\n\tconst controllerDependencyMap = properties[META_PROP_NAME_CONTROLLER_MAP];\n\tconst parentControllerDependencyMap =\n\t\tproperties[META_PROP_NAME_PARENT_CONTROLLER_DEPENDENCY_MAP] || {};\n\tconst realTargetgetElementId = controllerDependencyMap?.[targetElementId];\n\n\tif (\n\t\tpropName === INPUTS ||\n\t\tcontrollerAliasMap[targetElementId]?.alias.indexOf(propName) >= 0\n\t) {\n\t\tpropName = path.shift();\n\t}\n\n\ttargetElementId =\n\t\tcontrollerAliasMap[targetElementId]?.elementId || targetElementId;\n\n\t// main page case or the internal data brokers of the subpage case\n\t//TODO: resolve to local controller in a suppage first\n\tif (\n\t\t!controllerDependencyMap ||\n\t\t(!controllerDependencyMap[targetElementId] &&\n\t\t\t!parentControllerDependencyMap?.[realTargetgetElementId] &&\n\t\t\t!controllerAliasMap[realTargetgetElementId]?.elementId &&\n\t\t\t!controllerAliasMap[targetElementId]?.elementId)\n\t)\n\t\treturn unstableResolveSelectableProperty(\n\t\t\tproperties.nowId,\n\t\t\ttargetElementId,\n\t\t\tpropName,\n\t\t\tpath\n\t\t);\n\n\treturn resolveDerivedSelectableProperty(\n\t\tproperties,\n\t\tcontrollerAliasMap,\n\t\ttargetElementId,\n\t\tpropName,\n\t\tpath\n\t);\n};\n\nexport const resolveContextBinding = (properties, category, address) => {\n\tconst [targetElementId, targetPropName, ...targetPath] = address;\n\tswitch (category) {\n\t\tcase SESSION:\n\t\t\treturn resolveSelectableProperty(properties, 'userSessionInfo', [\n\t\t\t\t'output',\n\t\t\t\t...address\n\t\t\t]);\n\t\tcase APP_PROPS_IDENTIFIER:\n\t\t\treturn resolveSelectableProperty(properties, 'nowAppProps', address);\n\t\tcase SYS_PROPS_IDENTIFIER:\n\t\t\treturn resolveSelectableProperty(properties, 'nowSysProps', [\n\t\t\t\taddress.join('.')\n\t\t\t]);\n\t\tcase CONTEXT_PROPS_IDENTIFIER: {\n\t\t\t//With the category field on context bindings, each field is essentially shifted\n\t\t\t//Redefining constants to make more sense.\n\t\t\tconst propName = targetElementId;\n\t\t\tconst propPath = compact([targetPropName, ...targetPath]);\n\n\t\t\treturn resolveSelectableProperty(properties, propName, propPath);\n\t\t}\n\t\tdefault:\n\t\t\t//This can be removed once we stop supporting backwards compatible context bindings without category\n\t\t\treturn resolveSelectableProperty(properties, targetPropName, targetPath);\n\t}\n};\n\nconst isSelectablePropertyResolvable = (\n\ttargetElementId,\n\tpdbNodeIds,\n\tcontrollerAliasMap,\n\tproperties\n) => {\n\tconst parentMacroponentSysId =\n\t\tproperties[META_PROP_NAME_PARENT_PAGE_MACROPONENT_SYS_ID];\n\tconst {pdbNodeIds: parentPdbNodeId = []} = parentDataStore.get(\n\t\tparentMacroponentSysId\n\t);\n\n\tconst checkingPdbNodeIds = [...parentPdbNodeId, ...pdbNodeIds];\n\tconst controllerDependencyMap =\n\t\tproperties[META_PROP_NAME_CONTROLLER_MAP] || {};\n\n\treturn (\n\t\tcheckingPdbNodeIds.includes(targetElementId) ||\n\t\tcontrollerAliasMap[targetElementId] ||\n\t\t(controllerDependencyMap &&\n\t\t\t(checkingPdbNodeIds.includes(controllerDependencyMap[targetElementId]) ||\n\t\t\t\tcheckingPdbNodeIds.includes(\n\t\t\t\t\tcontrollerAliasMap[controllerDependencyMap[targetElementId]]\n\t\t\t\t)))\n\t);\n};\n\n// fixme: add validation layer for selectable prop ... this is probably not the right place any more, but add it somewhere\nexport default (\n\tcsdbNodeId,\n\tpdbNodeIds,\n\texternalControllerDependencies,\n\tcontrollerAliasMap = {},\n\tproperties,\n\tstate,\n\ttype,\n\t{address},\n\tcategory,\n\trepeaterItem\n) => {\n\tconst [targetElementId, targetPropName, ...targetPath] = address;\n\n\tswitch (type) {\n\t\tcase STATE_BINDING:\n\t\t\t//fixme: add protections so people are only getting defined state properties\n\t\t\tif (targetElementId === SEISMIC_STATE_KEY_BEHAVIORS) return;\n\t\t\treturn resolveSelectableProperty(\n\t\t\t\tstate,\n\t\t\t\ttargetElementId,\n\t\t\t\tcompact([targetPropName, ...targetPath])\n\t\t\t);\n\t\tcase CONTEXT_BINDING:\n\t\t\treturn resolveContextBinding(properties, category, address);\n\t\tcase ELEMENT_BINDING:\n\t\t\treturn unstableResolveSelectableProperty(\n\t\t\t\tproperties.nowId,\n\t\t\t\ttargetElementId,\n\t\t\t\ttargetPropName,\n\t\t\t\ttargetPath\n\t\t\t);\n\t\tcase VIEWPORT_BINDING:\n\t\t\treturn get(getViewportApi(state), address);\n\t\tcase REPEATER_ITEM_BINDING:\n\t\t\tif (['value', 'index', 'parent'].includes(category)) {\n\t\t\t\t// repeaters can support an array of simple types such as\n\t\t\t\t// an array of strings, booleans etc as well\n\t\t\t\tif (isArray(address) && address.length) {\n\t\t\t\t\treturn get(repeaterItem, [category, ...address], null);\n\t\t\t\t}\n\t\t\t\t// address may not exist for children components\n\t\t\t\t// bound to simple types: @item.value\n\t\t\t\treturn get(repeaterItem, category, null);\n\t\t\t} else {\n\t\t\t\tconsole.warn(`@item.${category} is not a supported repeater binding.`);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase DATA_OUTPUT_BINDING:\n\t\t\t// For CSDB:\n\t\t\tif (!isNil(csdbNodeId) && csdbNodeId === targetElementId) {\n\t\t\t\treturn unstableResolveSelectableProperty(\n\t\t\t\t\tproperties.nowId,\n\t\t\t\t\ttargetElementId,\n\t\t\t\t\ttargetPropName,\n\t\t\t\t\ttargetPath\n\t\t\t\t);\n\t\t\t} else if (\n\t\t\t\tisSelectablePropertyResolvable(\n\t\t\t\t\ttargetElementId,\n\t\t\t\t\tpdbNodeIds,\n\t\t\t\t\tcontrollerAliasMap,\n\t\t\t\t\tproperties\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn resolveControllerSelectableProperty(\n\t\t\t\t\tproperties,\n\t\t\t\t\tcontrollerAliasMap,\n\t\t\t\t\ttargetElementId,\n\t\t\t\t\ttargetPropName,\n\t\t\t\t\ttargetPath\n\t\t\t\t);\n\t\t\t} else if (externalControllerDependencies.includes(targetElementId)) {\n\t\t\t\tlet propName = targetPropName;\n\t\t\t\tif (targetPropName === INPUTS) propName = targetPath.shift();\n\n\t\t\t\treturn resolveSelectableProperty(\n\t\t\t\t\tproperties,\n\t\t\t\t\tgetControllerDependencyProp(targetElementId, propName),\n\t\t\t\t\ttargetPath\n\t\t\t\t);\n\t\t\t}\n\t\t\t// For Standard DBK lifecycle state:\n\t\t\telse if (targetPropName === DBK_LIFECYCLE_IDENTIFIER) {\n\t\t\t\tconst [pathHead, ...pathTail] = targetPath;\n\t\t\t\tif (pathHead === DBK_LIFECYCLE_FETCHING_IDENTIFIER)\n\t\t\t\t\treturn resolveSelectableProperty(\n\t\t\t\t\t\tproperties,\n\t\t\t\t\t\tgetDbLifecycleFetchingProp(targetElementId),\n\t\t\t\t\t\tpathTail\n\t\t\t\t\t);\n\t\t\t\tif (pathHead === DBK_LIFECYCLE_FETCH_SUCCESS_IDENTIFIER)\n\t\t\t\t\treturn resolveSelectableProperty(\n\t\t\t\t\t\tproperties,\n\t\t\t\t\t\tgetDbLifecycleFetchSuccessProp(targetElementId),\n\t\t\t\t\t\tpathTail\n\t\t\t\t\t);\n\t\t\t}\n\t\t\t// For Standard DBK output state:\n\t\t\telse\n\t\t\t\treturn resolveSelectableProperty(\n\t\t\t\t\tproperties,\n\t\t\t\t\tgetDbOutputProp(targetElementId),\n\t\t\t\t\t[targetPropName, ...targetPath]\n\t\t\t\t);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tconsole.warn('Unsupported binding encountered');\n\t\t\treturn;\n\t}\n};\n\nexport const __testing =\n\tprocess.env.NODE_ENV === 'test'\n\t\t? {\n\t\t\t\tisSelectablePropertyResolvable,\n\t\t\t\tresolveControllerSelectableProperty,\n\t\t\t\tresolveDerivedSelectableProperty\n\t\t  }\n\t\t: void 0;\n","import {get} from '@devsnc/snowdash';\n\nexport const isEmpty = (val) => val === undefined || val === null;\n\nexport const pick = (item, path) => get(item, path, null);\n\nexport const ops = {\n\tEQ: 'EQ',\n\tNEQ: 'NEQ',\n\tGT: 'GT',\n\tGTE: 'GTE',\n\tLT: 'LT',\n\tLTE: 'LTE',\n\tEMPTY: 'EMPTY',\n\tNOTEMPTY: 'NOTEMPTY',\n\tONEOF: 'ONEOF',\n\tNOTONEOF: 'NOTONEOF'\n};\n\nexport const isValidOp = (operator) => Object.values(ops).includes(operator);\n\nexport const correctArgLengthForOp = (operator, length) => {\n\tswitch (operator) {\n\t\tcase ops.EQ:\n\t\tcase ops.NEQ:\n\t\tcase ops.GT:\n\t\tcase ops.GTE:\n\t\tcase ops.LT:\n\t\tcase ops.LTE:\n\t\tcase ops.ONEOF:\n\t\tcase ops.NOTONEOF:\n\t\t\treturn length === 3;\n\t\tcase ops.EMPTY:\n\t\tcase ops.NOTEMPTY:\n\t\t\treturn length === 2;\n\t}\n};\n\nexport const runOperator = (operator, left, right) => {\n\tswitch (operator) {\n\t\tcase ops.EQ:\n\t\t\treturn left === right;\n\t\tcase ops.NEQ:\n\t\t\treturn left !== right;\n\t\tcase ops.GT:\n\t\t\treturn left > right;\n\t\tcase ops.GTE:\n\t\t\treturn left >= right;\n\t\tcase ops.LT:\n\t\t\treturn left < right;\n\t\tcase ops.LTE:\n\t\t\treturn left <= right;\n\t\tcase ops.EMPTY:\n\t\t\treturn isEmpty(left);\n\t\tcase ops.NOTEMPTY:\n\t\t\treturn !isEmpty(left);\n\t\tcase ops.ONEOF:\n\t\t\treturn right.includes(left);\n\t\tcase ops.NOTONEOF:\n\t\t\treturn !right.includes(left);\n\t}\n};\n","import {isEmpty} from './utils';\n\nexport default (operands) => {\n\tif (operands.length < 1) {\n\t\treturn true;\n\t}\n\n\treturn isEmpty(operands[0]);\n};\n","import {runOperator, pick, isValidOp, correctArgLengthForOp} from './utils';\n\nexport default (operator, operands) => {\n\tconst arr = operands[0];\n\tif (\n\t\t!isValidOp(operator) ||\n\t\t!correctArgLengthForOp(operator, operands.length)\n\t) {\n\t\treturn false;\n\t}\n\tconst path = operands[1];\n\n\tif (!path) {\n\t\treturn false;\n\t}\n\n\tconst value = operands[2];\n\n\tif (!Array.isArray(arr)) {\n\t\treturn null;\n\t}\n\n\treturn arr.some((item) => runOperator(operator, pick(item, path), value));\n};\n","import {runOperator, pick, isValidOp, correctArgLengthForOp} from './utils';\n\nexport default (operator, operands) => {\n\tconst arr = operands[0];\n\tif (\n\t\t!isValidOp(operator) ||\n\t\t!correctArgLengthForOp(operator, operands.length)\n\t) {\n\t\treturn false;\n\t}\n\tif (operands.length < 2) {\n\t\treturn arr;\n\t}\n\tconst path = operands[1];\n\tconst value = operands[2];\n\n\tif (!Array.isArray(arr)) {\n\t\treturn null;\n\t}\n\n\treturn arr.every((item) => runOperator(operator, pick(item, path), value));\n};\n","import {runOperator, pick, correctArgLengthForOp, isValidOp} from './utils';\n\nexport default (operator, operands) => {\n\tconst arr = operands[0];\n\tif (\n\t\t!isValidOp(operator) ||\n\t\t!correctArgLengthForOp(operator, operands.length)\n\t) {\n\t\treturn arr;\n\t}\n\tconst path = operands[1];\n\tconst value = operands[2];\n\n\tif (!Array.isArray(arr)) {\n\t\treturn null;\n\t}\n\n\treturn arr.filter((item) => runOperator(operator, pick(item, path), value));\n};\n","export const replace = (operands) => {\n\tif (operands.length < 3) {\n\t\treturn null;\n\t}\n\n\tconst [val, pattern, replaceWith] = operands;\n\n\tif (\n\t\ttypeof val !== 'string' ||\n\t\ttypeof replaceWith !== 'string' ||\n\t\ttypeof pattern !== 'string'\n\t) {\n\t\treturn null;\n\t}\n\n\treturn val.replace(new RegExp(pattern), replaceWith);\n};\n\nconst _replaceAll = (str, pattern, replacement) => {\n\tlet result = str;\n\tlet index = result.indexOf(pattern);\n\twhile (index > -1) {\n\t\tresult = result.replace(pattern, replacement);\n\t\tindex = result.indexOf(pattern);\n\t}\n\treturn result;\n};\n\nexport const replaceAll = (operands) => {\n\tif (operands.length < 3) {\n\t\treturn null;\n\t}\n\n\tconst [val, pattern, replaceWith] = operands;\n\n\tif (\n\t\ttypeof val !== 'string' ||\n\t\ttypeof replaceWith !== 'string' ||\n\t\ttypeof pattern !== 'string'\n\t) {\n\t\treturn null;\n\t}\n\n\treturn _replaceAll(val, pattern, replaceWith);\n};\n\nconst fallback = () => null;\n\nexport const trim = (mode, operands) => {\n\tif (operands.length < 1 || typeof operands[0] !== 'string') {\n\t\treturn null;\n\t}\n\n\tconst [val] = operands;\n\n\tswitch (mode) {\n\t\tcase 'both':\n\t\t\treturn val.trim();\n\t\tcase 'end':\n\t\t\treturn val.trimEnd();\n\t\tcase 'start':\n\t\t\treturn val.trimStart();\n\t\tdefault:\n\t\t\treturn fallback();\n\t}\n};\n\nexport const uppercase = (operands) => {\n\tif (operands.length < 1 || typeof operands[0] !== 'string') {\n\t\treturn null;\n\t}\n\n\tconst [val] = operands;\n\treturn val.toUpperCase();\n};\n\nexport const lowercase = (operands) => {\n\tif (operands.length < 1 || typeof operands[0] !== 'string') {\n\t\treturn null;\n\t}\n\n\tconst [val] = operands;\n\treturn val.toLowerCase();\n};\n","import {pick} from './utils';\n\nexport default (operands) => {\n\tif (\n\t\t!Array.isArray(operands) ||\n\t\toperands.length < 1 ||\n\t\ttypeof operands[0] !== 'object'\n\t) {\n\t\treturn null;\n\t}\n\n\tconst [obj, ...rest] = operands;\n\n\tif (rest.some((s) => typeof s !== 'string' && typeof s !== 'number')) {\n\t\treturn null;\n\t}\n\tif (rest.length === 0) {\n\t\treturn obj;\n\t}\n\treturn pick(obj, rest);\n};\n","import resolveConcat from './concat';\nimport resolveIf from './if';\nimport resolveEmpty from './empty';\nimport resolveLen from './len';\nimport resolvePick from './pick';\nimport resolveRange from './range';\nimport resolveSum from './sum';\nimport resolveAny from './any';\nimport resolveAll from './all';\nimport resolveWhere from './where';\nimport indexof from './indexof';\nimport lastindexof from './lastindexof';\nimport slice from './slice';\nimport {stringify, parse} from './json';\nimport includes from './includes';\nimport {replace, replaceAll, trim, uppercase, lowercase} from './strings';\nimport {keys, values, entries, withCT} from './objects';\nimport {debug} from './debug';\nimport get from './get';\n\nexport default (operator, operands) => {\n\tif (!Array.isArray(operands)) {\n\t\treturn null;\n\t}\n\tswitch (operator) {\n\t\tcase 'CONCAT':\n\t\t\treturn resolveConcat(operands);\n\t\tcase 'IF':\n\t\t\treturn resolveIf(operands);\n\t\tcase 'EMPTY':\n\t\t\treturn resolveEmpty(operands);\n\t\tcase 'LEN':\n\t\t\treturn resolveLen(operands);\n\t\tcase 'PICK':\n\t\t\treturn resolvePick(operands);\n\t\tcase 'RANGE':\n\t\t\treturn resolveRange(operands);\n\t\tcase 'SUM':\n\t\t\treturn resolveSum(operands);\n\t\tcase 'ANY_EQ':\n\t\t\treturn resolveAny('EQ', operands);\n\t\tcase 'ANY_NEQ':\n\t\t\treturn resolveAny('NEQ', operands);\n\t\tcase 'ANY_GT':\n\t\t\treturn resolveAny('GT', operands);\n\t\tcase 'ANY_GTE':\n\t\t\treturn resolveAny('GTE', operands);\n\t\tcase 'ANY_LT':\n\t\t\treturn resolveAny('LT', operands);\n\t\tcase 'ANY_LTE':\n\t\t\treturn resolveAny('LTE', operands);\n\t\tcase 'ANY_EMPTY':\n\t\t\treturn resolveAny('EMPTY', operands);\n\t\tcase 'ANY_NOTEMPTY':\n\t\t\treturn resolveAny('NOTEMPTY', operands);\n\t\tcase 'ANY_ONEOF':\n\t\t\treturn resolveAny('ONEOF', operands);\n\t\tcase 'ANY_NOTONEOF':\n\t\t\treturn resolveAny('NOTONEOF', operands);\n\t\tcase 'ALL_EQ':\n\t\t\treturn resolveAll('EQ', operands);\n\t\tcase 'ALL_NEQ':\n\t\t\treturn resolveAll('NEQ', operands);\n\t\tcase 'ALL_GT':\n\t\t\treturn resolveAll('GT', operands);\n\t\tcase 'ALL_GTE':\n\t\t\treturn resolveAll('GTE', operands);\n\t\tcase 'ALL_LT':\n\t\t\treturn resolveAll('LT', operands);\n\t\tcase 'ALL_LTE':\n\t\t\treturn resolveAll('LTE', operands);\n\t\tcase 'ALL_EMPTY':\n\t\t\treturn resolveAll('EMPTY', operands);\n\t\tcase 'ALL_NOTEMPTY':\n\t\t\treturn resolveAll('NOTEMPTY', operands);\n\t\tcase 'ALL_ONEOF':\n\t\t\treturn resolveAll('ONEOF', operands);\n\t\tcase 'ALL_NOTONEOF':\n\t\t\treturn resolveAll('NOTONEOF', operands);\n\t\tcase 'WHERE_EQ':\n\t\t\treturn resolveWhere('EQ', operands);\n\t\tcase 'WHERE_NEQ':\n\t\t\treturn resolveWhere('NEQ', operands);\n\t\tcase 'WHERE_GT':\n\t\t\treturn resolveWhere('GT', operands);\n\t\tcase 'WHERE_GTE':\n\t\t\treturn resolveWhere('GTE', operands);\n\t\tcase 'WHERE_LT':\n\t\t\treturn resolveWhere('LT', operands);\n\t\tcase 'WHERE_LTE':\n\t\t\treturn resolveWhere('LTE', operands);\n\t\tcase 'WHERE_EMPTY':\n\t\t\treturn resolveWhere('EMPTY', operands);\n\t\tcase 'WHERE_NOTEMPTY':\n\t\t\treturn resolveWhere('NOTEMPTY', operands);\n\t\tcase 'WHERE_ONEOF':\n\t\t\treturn resolveWhere('ONEOF', operands);\n\t\tcase 'WHERE_NOTONEOF':\n\t\t\treturn resolveWhere('NOTONEOF', operands);\n\t\tcase 'INDEXOF':\n\t\t\treturn indexof(operands);\n\t\tcase 'LASTINDEXOF':\n\t\t\treturn lastindexof(operands);\n\t\tcase 'SLICE':\n\t\t\treturn slice(operands);\n\t\tcase 'STRING':\n\t\t\treturn stringify(operands);\n\t\tcase 'PARSE':\n\t\t\treturn parse(operands);\n\t\tcase 'INCLUDES':\n\t\t\treturn includes(operands);\n\t\tcase 'REPLACE':\n\t\t\treturn replace(operands);\n\t\tcase 'REPLACEALL':\n\t\t\treturn replaceAll(operands);\n\t\tcase 'TRIM':\n\t\t\treturn trim('both', operands);\n\t\tcase 'TRIMSTART':\n\t\t\treturn trim('start', operands);\n\t\tcase 'TRIMEND':\n\t\t\treturn trim('end', operands);\n\t\tcase 'UPPERCASE':\n\t\t\treturn uppercase(operands);\n\t\tcase 'LOWERCASE':\n\t\t\treturn lowercase(operands);\n\t\tcase 'KEYS':\n\t\t\treturn keys(operands);\n\t\tcase 'VALUES':\n\t\t\treturn values(operands);\n\t\tcase 'ENTRIES':\n\t\t\treturn entries(operands);\n\t\tcase 'WITH':\n\t\t\treturn withCT(operands);\n\t\tcase 'DEBUG':\n\t\t\treturn debug(operands);\n\t\tcase 'GET':\n\t\t\treturn get(operands);\n\t\tdefault:\n\t\t\treturn null;\n\t}\n};\n","import {isArray} from '@devsnc/snowdash';\n\nexport default (operands) => (isArray(operands) ? operands.join('') : '');\n","import {isArray} from '@devsnc/snowdash';\n\nexport default (operands) => {\n\tif (isArray(operands) && operands.length === 3) {\n\t\tif (operands[0]) {\n\t\t\treturn operands[1] ?? null;\n\t\t} else {\n\t\t\treturn operands[2] ?? null;\n\t\t}\n\t} else {\n\t\treturn null;\n\t}\n};\n","import {isArray} from '@devsnc/snowdash';\n\nexport default (operands) =>\n\tisArray(operands) && isArray(operands[0]) && operands.length > 0\n\t\t? operands[0].length\n\t\t: 0;\n","import {pick} from './utils';\n\nexport default (operands) => {\n\tif (operands.length < 1) {\n\t\treturn null;\n\t}\n\n\tconst arr = operands[0] ?? null;\n\n\tif (operands.length < 2) {\n\t\treturn arr;\n\t}\n\n\tif (!Array.isArray(arr)) {\n\t\treturn null;\n\t}\n\n\treturn arr.map((item) => pick(item, operands[1]));\n};\n","export default (operands) => {\n\tif (operands.length < 2) {\n\t\treturn [];\n\t}\n\n\tconst arr = [];\n\tconst start = operands[0] ?? 0;\n\tconst end = operands[1] ?? 0;\n\n\tif (typeof start !== 'number' || typeof end !== 'number' || start === end) {\n\t\treturn [];\n\t}\n\n\tif (end < start) {\n\t\tfor (let x = start; x >= end; x = x - 1) {\n\t\t\tarr.push(x);\n\t\t}\n\t} else {\n\t\tfor (let x = start; x <= end; x = x + 1) {\n\t\t\tarr.push(x);\n\t\t}\n\t}\n\n\treturn arr;\n};\n","export default (operands) => {\n\tconst arr = operands[0];\n\n\tif (!Array.isArray(arr)) {\n\t\treturn null;\n\t}\n\n\treturn arr.reduce((acc, item) => {\n\t\treturn Number.isFinite(item) ? acc + item : acc;\n\t}, 0);\n};\n","export default (operands) => {\n\tif (\n\t\t!Array.isArray(operands) ||\n\t\toperands.length < 2 ||\n\t\t(typeof operands[0] !== 'string' && !Array.isArray(operands[0]))\n\t) {\n\t\treturn null;\n\t}\n\n\tconst [val, valueToFind] = operands;\n\n\treturn val.indexOf(valueToFind);\n};\n","export default (operands) => {\n\tif (\n\t\t!Array.isArray(operands) ||\n\t\toperands.length < 2 ||\n\t\t(typeof operands[0] !== 'string' && !Array.isArray(operands[0]))\n\t) {\n\t\treturn null;\n\t}\n\n\tconst [val, valueToFind] = operands;\n\n\treturn val.lastIndexOf(valueToFind);\n};\n","export default (operands) => {\n\tif (\n\t\t!Array.isArray(operands) ||\n\t\toperands.length < 2 ||\n\t\t(typeof operands[0] !== 'string' && !Array.isArray(operands[0])) ||\n\t\ttypeof operands[1] !== 'number'\n\t) {\n\t\treturn null;\n\t}\n\n\tconst [val, start, end] = operands;\n\n\treturn val.slice(start, typeof end === 'number' ? end : undefined);\n};\n","export const stringify = (operands) => {\n\ttry {\n\t\treturn JSON.stringify(operands[0]);\n\t} catch (e) {\n\t\treturn null;\n\t}\n};\n\nexport const parse = (operands) => {\n\tif (typeof operands[0] !== 'string') {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn JSON.parse(operands[0]);\n\t} catch (e) {\n\t\treturn null;\n\t}\n};\n","export default (operands) => {\n\tif (\n\t\t!Array.isArray(operands) ||\n\t\toperands.length < 2 ||\n\t\t(typeof operands[0] !== 'string' && !Array.isArray(operands[0]))\n\t) {\n\t\treturn null;\n\t}\n\n\tconst [val, valueToFind] = operands;\n\n\treturn val.includes(valueToFind);\n};\n","export const keys = (operands) => {\n\tif (operands.length < 1 || typeof operands[0] !== 'object' || !operands[0]) {\n\t\treturn null;\n\t}\n\n\tconst [obj] = operands;\n\n\treturn Object.keys(obj);\n};\n\nexport const values = (operands) => {\n\tif (operands.length < 1 || typeof operands[0] !== 'object' || !operands[0]) {\n\t\treturn null;\n\t}\n\n\tconst [obj] = operands;\n\n\treturn Object.values(obj);\n};\n\nexport const entries = (operands) => {\n\tif (operands.length < 1 || typeof operands[0] !== 'object' || !operands[0]) {\n\t\treturn null;\n\t}\n\n\tconst [obj] = operands;\n\n\treturn Object.entries(obj);\n};\n\nexport const withCT = (operands) => {\n\tif (\n\t\toperands.length < 3 ||\n\t\ttypeof operands[0] !== 'object' ||\n\t\t!operands[0] ||\n\t\ttypeof operands[1] !== 'string'\n\t) {\n\t\treturn null;\n\t}\n\n\tconst [obj, key, value] = operands;\n\n\treturn {\n\t\t...obj,\n\t\t[key]: value\n\t};\n};\n","/* eslint no-console: 0 */\n\nexport const debug = (operands) => {\n\tif (operands.length < 2) {\n\t\treturn null;\n\t}\n\tlet message;\n\tif (typeof operands[0] === 'object' && operands[0].value) {\n\t\tmessage = operands[0].value;\n\t}\n\tif (typeof operands[0] === 'string') {\n\t\tmessage = operands[0];\n\t}\n\tconsole.group('[UXValue Resolver]');\n\tconsole.log(`Message: ${message}`);\n\tconsole.log('Value', operands[1]);\n\tconsole.groupEnd();\n\n\treturn operands[1];\n};\n","import {get} from '@devsnc/snowdash';\nimport {propertyTypes} from '../constants';\nconst {ENV_BINDING} = propertyTypes;\n\nfunction createEnv(env = {}, prev = null) {\n\treturn function (uxValue) {\n\t\tif (uxValue.type !== ENV_BINDING) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst [name, ...path] = uxValue.binding.address;\n\n\t\tif (!(name in env) && prev) {\n\t\t\treturn prev(uxValue);\n\t\t}\n\n\t\tif (name in env) {\n\t\t\tconst val = env[name];\n\t\t\treturn path?.length > 0 ? get(val, path) : val;\n\t\t}\n\n\t\treturn null;\n\t};\n}\n\nexport default createEnv;\n\nexport const withEnv = (resolvers, env) => {\n\treturn createEnv(env, resolvers[ENV_BINDING]);\n};\n","import {withEnv} from '../env';\nimport resolveWith from '../resolveWith';\nimport {propertyTypes} from '../../constants';\n\nconst {ENV_BINDING} = propertyTypes;\n\n// eslint-disable-file no-console\nexport default (operands, resolvers, repeaterItem) => {\n\tif (\n\t\toperands.length < 1 ||\n\t\toperands[0].type !== 'JSON_LITERAL' ||\n\t\ttypeof operands[0].value !== 'string'\n\t) {\n\t\treturn null;\n\t}\n\tif (operands.length < 3) {\n\t\treturn null;\n\t}\n\n\tconst val = resolveWith(resolvers, operands[1], repeaterItem);\n\tconst newEnv = {[operands[0].value]: val};\n\treturn resolveWith(\n\t\t{\n\t\t\t...resolvers,\n\t\t\t[ENV_BINDING]: withEnv(resolvers, newEnv)\n\t\t},\n\t\toperands[2],\n\t\trepeaterItem\n\t);\n};\n","import resolveWith from '../resolveWith';\nimport {withEnv} from '../env';\nimport {propertyTypes} from '../../constants';\n\nconst {ENV_BINDING} = propertyTypes;\n\nexport default (operands, resolvers, repeaterItem) => {\n\tif (operands.length < 2) {\n\t\treturn operands[0] ?? null;\n\t}\n\n\tconst [arr, expr] = operands;\n\n\tconst resolvedArr = resolveWith(resolvers, arr, repeaterItem);\n\n\tif (!Array.isArray(resolvedArr)) {\n\t\treturn null;\n\t}\n\treturn resolvedArr.find((item) => {\n\t\treturn resolveWith(\n\t\t\t{\n\t\t\t\t...resolvers,\n\t\t\t\t[ENV_BINDING]: withEnv(resolvers, {it: item})\n\t\t\t},\n\t\t\texpr,\n\t\t\trepeaterItem\n\t\t);\n\t});\n};\n","import resolveWith from '../resolveWith';\nimport {withEnv} from '../env';\nimport {propertyTypes} from '../../constants';\n\nconst {ENV_BINDING} = propertyTypes;\n\nexport default (operands, resolvers, repeaterItem) => {\n\tif (operands.length < 2) {\n\t\treturn operands[0] ?? null;\n\t}\n\n\tconst [arr, expr] = operands;\n\n\tconst resolvedArr = resolveWith(resolvers, arr, repeaterItem);\n\n\tif (!Array.isArray(resolvedArr)) {\n\t\treturn null;\n\t}\n\treturn resolvedArr.map((item) => {\n\t\treturn resolveWith(\n\t\t\t{\n\t\t\t\t...resolvers,\n\t\t\t\t[ENV_BINDING]: withEnv(resolvers, {it: item})\n\t\t\t},\n\t\t\texpr,\n\t\t\trepeaterItem\n\t\t);\n\t});\n};\n","import resolveWith from '../resolveWith';\nimport {withEnv} from '../env';\nimport {propertyTypes} from '../../constants';\n\nconst {ENV_BINDING} = propertyTypes;\n\nexport default (operands, resolvers, repeaterItem) => {\n\tif (operands.length < 3) {\n\t\treturn operands[0] ?? null;\n\t}\n\n\tconst [arr, state, expr] = operands;\n\n\tconst resolvedArr = resolveWith(resolvers, arr, repeaterItem);\n\tif (!Array.isArray(resolvedArr)) {\n\t\treturn null;\n\t}\n\tconst resolvedState = resolveWith(resolvers, state, repeaterItem);\n\n\treturn resolvedArr.reduce((acc, it) => {\n\t\treturn resolveWith(\n\t\t\t{\n\t\t\t\t...resolvers,\n\t\t\t\t[ENV_BINDING]: withEnv(resolvers, {it: it, acc})\n\t\t\t},\n\t\t\texpr,\n\t\t\trepeaterItem\n\t\t);\n\t}, resolvedState);\n};\n","import runTransformFn from './transforms';\nimport resolveWith from './resolveWith';\nimport {propertyTypes} from '../constants';\nimport {identity} from '@devsnc/snowdash';\nimport _let from './transforms/let';\nimport find from './transforms/find';\nimport map from './transforms/map';\nimport reduce from './transforms/reduce';\n\nconst {RUNTIME_INLINE_SCRIPT, LIST_CONTAINER} = propertyTypes;\n\nconst resolveForClientTransform = (resolvers, uxValue, repeaterItem = null) => {\n\treturn resolveWith(\n\t\t{\n\t\t\t...resolvers,\n\t\t\t[RUNTIME_INLINE_SCRIPT]: identity // using script as one of operands is not allowed\n\t\t},\n\t\tuxValue,\n\t\trepeaterItem\n\t);\n};\n\nconst isEnvTransformOperator = (operator) => {\n\treturn ['MAP', 'FIND', 'REDUCE', 'LET'].includes(operator);\n};\n\nexport default (resolvers, transform, repeaterItem = null) => {\n\tconst {operator, operands: operandsUxValue} = transform;\n\tif (isEnvTransformOperator(operator)) {\n\t\treturn resolveEnvTransformFn(\n\t\t\toperator,\n\t\t\toperandsUxValue,\n\t\t\tresolvers,\n\t\t\trepeaterItem\n\t\t);\n\t}\n\tconst operands = resolveForClientTransform(\n\t\tresolvers,\n\t\toperandsUxValue,\n\t\trepeaterItem\n\t);\n\treturn runTransformFn(operator, operands);\n};\n\nconst resolveEnvTransformFn = (operator, operands, resolvers, repeaterItem) => {\n\tif (operands?.type !== LIST_CONTAINER) {\n\t\treturn null;\n\t}\n\tconst ops = operands.container;\n\tswitch (operator) {\n\t\tcase 'LET':\n\t\t\treturn _let(ops, resolvers, repeaterItem);\n\t\tcase 'FIND':\n\t\t\treturn find(ops, resolvers, repeaterItem);\n\t\tcase 'MAP':\n\t\t\treturn map(ops, resolvers, repeaterItem);\n\t\tcase 'REDUCE':\n\t\t\treturn reduce(ops, resolvers, repeaterItem);\n\t}\n};\n","import runBinaryFn from './binary';\nimport resolveWith from './resolveWith';\nimport {propertyTypes} from '../constants';\nimport {identity} from '@devsnc/snowdash';\n\nconst {RUNTIME_INLINE_SCRIPT} = propertyTypes;\n\nconst resolveForBinary = (resolvers, uxValue, repeaterItem) => {\n\treturn resolveWith(\n\t\t{\n\t\t\t...resolvers,\n\t\t\t[RUNTIME_INLINE_SCRIPT]: identity\n\t\t},\n\t\tuxValue,\n\t\trepeaterItem\n\t);\n};\n\nexport default (resolvers, operation, repeaterItem) => {\n\tconst {operator, left: leftUxValue, right: rightUxValue} = operation;\n\tconst left = resolveForBinary(resolvers, leftUxValue, repeaterItem);\n\t// Short circuit\n\tif (operator === 'AND' && !left) {\n\t\treturn false;\n\t}\n\tif (operator === 'OR' && left == true) {\n\t\treturn true;\n\t}\n\n\tconst right = resolveForBinary(resolvers, rightUxValue, repeaterItem);\n\treturn runBinaryFn(operator, left, right);\n};\n","import runUnaryFn from './unary';\nimport resolveWith from './resolveWith';\nimport {propertyTypes} from '../constants';\nimport {identity} from '@devsnc/snowdash';\n\nconst {RUNTIME_INLINE_SCRIPT} = propertyTypes;\n\nconst resolveForUnary = (resolvers, uxValue, repeaterItem) => {\n\treturn resolveWith(\n\t\t{\n\t\t\t...resolvers,\n\t\t\t[RUNTIME_INLINE_SCRIPT]: identity\n\t\t},\n\t\tuxValue,\n\t\trepeaterItem\n\t);\n};\n\nexport default (resolvers, operation, repeaterItem) => {\n\tconst {operator, operand} = operation;\n\tconst value = resolveForUnary(resolvers, operand, repeaterItem);\n\treturn runUnaryFn(operator, value);\n};\n","import {t} from 'sn-translate';\n\nconst resolveTranslationLiteral = ({value}) => {\n\t// this is here for backward compatibility\n\t// t() function doesn't work correctly when code is null\n\t// if t() function is fixed we can pass object every time\n\tif (value.code) {\n\t\treturn t({\n\t\t\tcode: value.code,\n\t\t\tmessage: value.message\n\t\t});\n\t}\n\treturn t(value.message);\n};\n\nexport default resolveTranslationLiteral;\n","import {mapValues} from '@devsnc/snowdash';\nimport {propertyTypes} from '../../constants';\nimport resolveWith from '../resolveWith';\n\nconst {MAP_CONTAINER, LIST_CONTAINER} = propertyTypes;\n\nexport default (resolvers, type, container, repeaterItem) => {\n\tconst resolve = (resolvers, repeaterItem) => (uxValue) =>\n\t\tresolveWith(resolvers, uxValue, repeaterItem);\n\tswitch (type) {\n\t\tcase MAP_CONTAINER:\n\t\t\treturn mapValues(container, resolve(resolvers, repeaterItem));\n\t\tcase LIST_CONTAINER:\n\t\t\treturn container.map(resolve(resolvers, repeaterItem));\n\t\tdefault:\n\t\t\treturn null;\n\t}\n};\n","import getResolvedClientTransform from './getResolvedClientTransform.js';\nimport getResolvedBinary from './getResolvedBinary';\nimport getResolvedUnary from './getResolvedUnary';\nimport getResolvedTranslationLiteral from './getResolvedTranslationLiteral';\nimport getResolvedContainer from './containers';\nimport {propertyTypes} from '../constants.js';\n\nconst {CLIENT_TRANSFORM, BINARY, UNARY, TRANSLATION_LITERAL} = propertyTypes;\n\nexport default {\n\t[CLIENT_TRANSFORM]: getResolvedClientTransform,\n\t[BINARY]: getResolvedBinary,\n\t[UNARY]: getResolvedUnary,\n\t[TRANSLATION_LITERAL]: getResolvedTranslationLiteral,\n\tcontainer: getResolvedContainer\n};\n","export default (operator, left, right) => {\n\tswitch (operator) {\n\t\tcase 'ADD':\n\t\t\treturn left + right;\n\t\tcase 'SUB':\n\t\t\treturn left - right;\n\t\tcase 'MULTIPLY':\n\t\t\treturn left * right;\n\t\tcase 'DIVIDE':\n\t\t\treturn left / right;\n\t\tcase 'MOD':\n\t\t\treturn left % right;\n\t\tcase '>':\n\t\t\treturn left > right;\n\t\tcase '<':\n\t\t\treturn left < right;\n\t\tcase '>=':\n\t\t\treturn left >= right;\n\t\tcase '<=':\n\t\t\treturn left <= right;\n\t\tcase 'EQUAL':\n\t\t\treturn left == right;\n\t\tcase 'NOT_EQUAL':\n\t\t\treturn left != right;\n\t\tcase 'AND':\n\t\t\treturn left && right;\n\t\tcase 'OR':\n\t\t\treturn left || right;\n\t\tcase '??':\n\t\t\treturn left ?? right;\n\t}\n};\n","export default (operator, value) => {\n\tswitch (operator) {\n\t\tcase 'NOT':\n\t\t\treturn !value;\n\t}\n};\n","import {get} from '@devsnc/snowdash';\nimport {partial} from '@devsnc/snowdash';\nimport {propertyTypes} from '../constants';\n\nimport resolveWith from './resolveWith';\nimport getResolvedBindingWithState from './getResolvedBindingWithState';\nimport {mapValues} from '@devsnc/snowdash';\nimport basicResolvers from './basicResolvers';\n\nconst {JSON_LITERAL, DATA_CHAIN_BINDING} = propertyTypes;\n\nconst getJsonLiteral = (literal) => ({\n\ttype: JSON_LITERAL,\n\tvalue: literal\n});\n\nexport default (\n\tseismicProperties,\n\tseismicState,\n\tinputValues,\n\tcsdbNodeId,\n\tpdbNodeIds,\n\texternalControllerDependencies = []\n) => {\n\tconst resolver = partial(resolveWith, {\n\t\t...basicResolvers,\n\t\tbinding: partial(\n\t\t\tgetResolvedBindingWithState,\n\t\t\tcsdbNodeId,\n\t\t\tpdbNodeIds,\n\t\t\texternalControllerDependencies,\n\t\t\t{},\n\t\t\tseismicProperties,\n\t\t\tseismicState\n\t\t)\n\t});\n\n\treturn mapValues(inputValues, (inputValue) => {\n\t\tconst resolvedInputValue = resolver(inputValue);\n\t\t// everything except DATA_CHAIN_BINDING needs to be wrapped in JSON_LITERAL for DB exec engine\n\t\treturn get(resolvedInputValue, ['type']) === DATA_CHAIN_BINDING\n\t\t\t? resolvedInputValue\n\t\t\t: getJsonLiteral(resolvedInputValue);\n\t});\n};\n","import resolveForDbExecEngine from '../../../UxValueResolver/resolveForDbExecEngine';\n\nexport default (\n\tpipeline,\n\tseismicProperties,\n\tseismicState,\n\tcsdbNodeId,\n\tpdbNodeIds,\n\texternalControllerDependencies = []\n) => {\n\treturn pipeline.map((db) => {\n\t\t// todo: look at the input schema of this DB and validate args object before sending out the request\n\t\tconst {\n\t\t\ttype,\n\t\t\tdefinitionSysId,\n\t\t\tdefinitionAttributes,\n\t\t\tinputValues,\n\t\t\theaders = null,\n\t\t\tcachePolicy = null\n\t\t} = db;\n\t\treturn {\n\t\t\ttype,\n\t\t\tdefinitionSysId,\n\t\t\t...(definitionAttributes ? {definitionAttributes} : {}),\n\t\t\tinputValues: resolveForDbExecEngine(\n\t\t\t\tseismicProperties,\n\t\t\t\tseismicState,\n\t\t\t\tinputValues,\n\t\t\t\tcsdbNodeId,\n\t\t\t\tpdbNodeIds,\n\t\t\t\texternalControllerDependencies\n\t\t\t),\n\t\t\t...(type === 'REST_EXTERNAL' ? {headers, cachePolicy} : {})\n\t\t};\n\t});\n};\n","import {mark, getInteractionId, getMetricTypes} from '@servicenow/ui-metrics';\nimport getUxfSysProp from './getUxfSysProp';\nimport {get} from '@devsnc/snowdash';\n\nexport const SYS_PROP_PERF_ENABLED =\n\tgetUxfSysProp('glide.uxf.lib.performance.monitoring.enabled', 'false') ===\n\t'true';\nexport const isMetricDefined = (event) => getMetricTypes()[event];\n\nexport const markDBExecEffect = (eventName, coeffects) => {\n\tif (!(SYS_PROP_PERF_ENABLED || eventName || coeffects)) return;\n\tconst {\n\t\thost,\n\t\taction: {\n\t\t\tmeta: {pipelineId, request = {}},\n\t\t\tpayload\n\t\t}\n\t} = coeffects;\n\n\tconst interactionId = getInteractionId(get(coeffects, 'action.meta'));\n\tconst result = get(payload, 'result', []);\n\tif (Array.isArray(result)) {\n\t\tconst executions = result.map((element, index) => ({\n\t\t\tsysId: get(request, `data[${index}].definitionSysId`),\n\t\t\texecutionTime: get(element, 'executionTime')\n\t\t}));\n\t\tmark(host, interactionId, eventName, {pipelineId, payload, executions});\n\t}\n};\n","export default (inputValues) => {\n\tconst newInputValues = [];\n\tconst names = Object.getOwnPropertyNames(inputValues);\n\tfor (const name of names) {\n\t\tconst inputValue = inputValues[name];\n\t\tconst {type, binding, value} = inputValue;\n\t\tnewInputValues.push({\n\t\t\tname,\n\t\t\ttype,\n\t\t\tvalue,\n\t\t\tbinding\n\t\t});\n\t}\n\n\treturn newInputValues;\n};\n","import getUxfSysProp from '../../../../utils/getUxfSysProp';\nimport {DB_GQL_TRANSPORT_PROPERTY} from './constants';\n\nexport default () => {\n\treturn getUxfSysProp(DB_GQL_TRANSPORT_PROPERTY, 'false') === 'true';\n};\n","import {noop} from '@devsnc/snowdash';\nimport getUxfSysProp from './getUxfSysProp';\n\nconst LOGGING_ENABLED =\n\tgetUxfSysProp('glide.uxf.lib.enable_puppeteer_metrics', 'false') === 'true';\n\nconst api = LOGGING_ENABLED\n\t? {\n\t\t\tmark: (name) => performance.mark(name),\n\t\t\tmeasure: (name, start) => performance.measure(name, start)\n\t  }\n\t: {\n\t\t\tmark: noop,\n\t\t\tmeasure: noop\n\t  };\n\nexport default api;\n","import resolveWith from './resolveWith.js';\nimport {propertyTypes} from '../constants.js';\nimport performanceLogger from '../../utils/puppeteerMetricLogger';\n\nexport default (\n\tresolversForView,\n\tseismicProperties,\n\tseismicState,\n\tuxValue,\n\trepeaterItem\n) => {\n\tperformanceLogger.mark('resolve_ux_value');\n\tconst resolvedUxValue = resolveWith(\n\t\t{\n\t\t\t...resolversForView,\n\t\t\tbinding: (...args) =>\n\t\t\t\tresolversForView.binding(seismicProperties, seismicState, ...args),\n\t\t\t[propertyTypes.RUNTIME_INLINE_SCRIPT]: (...args) =>\n\t\t\t\tresolversForView[propertyTypes.RUNTIME_INLINE_SCRIPT](\n\t\t\t\t\tseismicProperties,\n\t\t\t\t\tseismicState,\n\t\t\t\t\t...args\n\t\t\t\t),\n\t\t\t[propertyTypes.RT_CLIENT_RESPONSIVE_QUERY]: (...args) =>\n\t\t\t\tresolversForView[propertyTypes.RT_CLIENT_RESPONSIVE_QUERY](\n\t\t\t\t\tseismicState,\n\t\t\t\t\t...args\n\t\t\t\t)\n\t\t},\n\t\tuxValue,\n\t\trepeaterItem\n\t);\n\tperformanceLogger.measure('UX Value Resolution', 'resolve_ux_value');\n\treturn resolvedUxValue;\n};\n","import resolveForView from '../../../../UxValueResolver/resolveForView';\n\n/**\n * Replaces placeholders with corresponding resolved input values.\n *\n * @param {string} attribute - Attribute string with placeholders.\n * @param {object} parameters - Parameters mapped to placeholders.\n * @param {object} resolvedInputValues - Values to replace placeholders.\n * @returns {string} - Attribute string with placeholders replaced by input values.\n */\nexport const buildAttributes = (attribute, parameters, resolvedInputValues) => {\n\tconst regex = /\\{\\{\\w+\\}\\}/g;\n\treturn attribute.replace(regex, (match) => {\n\t\tconst parameterName = match.substring(2, match.length - 2);\n\t\treturn resolvedInputValues[parameterName];\n\t});\n};\n\n/**\n * Resolves attributes' UX values.\n *\n * @param {object} attributes - Attributes with UX values.\n * @param {object} resolversForInputValue - Resolvers for input values.\n * @param {object} properties - Macroponent's properties.\n * @param {object} state - Macroponent's state.\n * @returns {object} - Attributes with resolved UX values.\n */\nexport const resolveAttributesUxValue = (\n\tattributes,\n\tresolversForInputValue,\n\tproperties,\n\tstate\n) => {\n\treturn Object.entries(attributes).reduce(\n\t\t(acc, [attributeKey, attributeUxValue]) => {\n\t\t\tacc[attributeKey] = resolveForView(\n\t\t\t\tresolversForInputValue,\n\t\t\t\tproperties,\n\t\t\t\tstate,\n\t\t\t\tattributeUxValue\n\t\t\t);\n\t\t\treturn acc;\n\t\t},\n\t\t{}\n\t);\n};\n","/**\n * Constructs the output result object based on the provided parameters.\n *\n * @param {string} pipelineSysId - Data broker SysId.\n * @param {Array} [errors=[]] - Array of error objects.\n * @param {Array} [result=[]] - Array of result objects.\n * @param {number} [status=200] - HTTP status code (optional, default is 200).\n * @param {number} [executionTime=0] - Execution time in milliseconds.\n * @returns {Array} - Array containing the constructed output result object.\n */\nexport const buildOutputResult = (\n\tpipelineSysId,\n\terrors = [],\n\tresult = [],\n\tstatus = 200,\n\texecutionTime = 0\n) => [\n\t{\n\t\terrors,\n\t\texecutionResult: {output: result},\n\t\texecutionTime,\n\t\tparentResourceId: null,\n\t\tstatus: status,\n\t\tsysId: pipelineSysId\n\t}\n];\n","/**\n * Extends the built-in Error class to provide additional functionality\n * for handling external Data broker API-related errors.\n */\nexport default class ApiError extends Error {\n\t/**\n\t * Create a new ApiError.\n\t * @param {string} message - The error message.\n\t * @param {number} [code=500] - The HTTP status code.\n\t * @param {object|null} [errors=null] - Any additional error details.\n\t * @param {Response|null} [response=null] - The fetch API Response object.\n\t */\n\tconstructor(message, code = 500, errors = null, response = null) {\n\t\tsuper(message);\n\t\tthis.code = code;\n\t\tthis.errors = errors;\n\t\tthis.response = response;\n\t}\n}\n","import {buildOutputResult} from './outputResultBuilder';\nimport ApiError from './apiError';\n\n/**\n * Attempts to extract and return JSON from a response object.\n * @async\n * @param {Response} response - The external data broker API Response object.\n * @returns {Promise<object|null>} - Returns the extracted JSON or null.\n */\nexport async function extractAdditionalInfo(response) {\n\tlet additionalInfo = null;\n\tif (response) {\n\t\ttry {\n\t\t\tadditionalInfo = await response.json();\n\t\t} catch (jsonError) {\n\t\t\tconsole.error('Error parsing JSON from response:', jsonError);\n\t\t}\n\t}\n\treturn additionalInfo;\n}\n\n/**\n * Handles an API error by extracting information from the API response,\n * constructing an error message, and throwing a custom ApiError.\n *\n * @param {Object} response - The API response object.\n * @param {string} pipelineId - The element ID of the data broker.\n * @param {string} resolvedEndpoint - The API endpoint that was called.\n * @param {string} pipelineSysId - Data broker sysId.\n * @param {number} executionTime - The execution time.\n */\nexport async function handleApiError(\n\tresponse,\n\tpipelineId,\n\tresolvedEndpoint,\n\tpipelineSysId,\n\texecutionTime\n) {\n\tconst errorMsg = `Failed to fetch data for pipelineId: ${pipelineId} with endpoint: ${resolvedEndpoint}`;\n\tlet additionalInfo = await extractAdditionalInfo(response);\n\n\tconst errorOutputResult = buildOutputResult(\n\t\tpipelineSysId,\n\t\t[\n\t\t\t{\n\t\t\t\tstatus: response.status,\n\t\t\t\tsuccess: response.ok,\n\t\t\t\tstatusText: response.statusText,\n\t\t\t\tadditionalInfo\n\t\t\t}\n\t\t],\n\t\t[],\n\t\tresponse.status,\n\t\texecutionTime\n\t);\n\n\tthrow new ApiError(errorMsg, response.status, errorOutputResult, response);\n}\n","import md5 from 'crypto-js/md5';\nimport Base64 from 'crypto-js/enc-base64';\n\n/**\n * Cache name for the external REST Data broker\n * @type {string}\n */\nconst EXTERNAL_REST_DATABROKER_CACHE = 'EXTERNAL_REST_DATABROKER_CACHE';\n/**\n * Computes the hash for the data.\n *\n * @param data\n */\nexport const computeHash = (data) =>\n\tBase64.stringify(md5(JSON.stringify(data)));\n\n/**\n * Fetches the API response from the cache, if available.\n *\n * @param key\n * @param ttl\n * @returns {Promise<null|*>}\n */\nexport const fetchFromCache = async (key, ttl) => {\n\tconst cache = await caches.open(EXTERNAL_REST_DATABROKER_CACHE);\n\tconst cachedData = await cache.match(key);\n\tif (cachedData) {\n\t\tconst data = await cachedData.json();\n\t\tif (Date.now() < data.timestamp + ttl) {\n\t\t\treturn data.executionResult;\n\t\t} else {\n\t\t\tawait cache.delete(key);\n\t\t\treturn null;\n\t\t}\n\t}\n\treturn null;\n};\n\n/**\n * Stores the API response in the cache.\n *\n * @param key\n * @param pipelineSysId\n * @param executionResult\n * @param ttl\n * @param hash\n * @returns {Promise<void>}\n */\nexport const storeInCache = async (\n\tkey,\n\tpipelineSysId,\n\texecutionResult,\n\tttl,\n\thash\n) => {\n\tconst cache = await caches.open(EXTERNAL_REST_DATABROKER_CACHE);\n\tconst entry = {\n\t\tpipelineSysId,\n\t\texecutionResult,\n\t\ttimestamp: Date.now(),\n\t\tttl,\n\t\thash\n\t};\n\tawait cache.put(key, new Response(JSON.stringify(entry)));\n};\n","import {buildAttributes} from './attributeResolver';\nimport {buildOutputResult} from './outputResultBuilder';\nimport {dispatchInternalAction} from '../../../../getInternalEffect';\nimport {handleApiError} from './apiErrorHandler';\nimport {computeHash, fetchFromCache, storeInCache} from './apiCache';\n\n/**\n * Makes an API request and dispatches actions based on the request's outcome.\n *\n * @async\n * @param {object} externalRESTDataBroker - Data broker for external REST API.\n * @param {object} resolvedHeaders - Resolved headers for the API request.\n * @param {object} resolvedInputValues - Resolved input values for endpoint and body.\n * @param {Function} dispatch - Dispatch function for Redux actions.\n * @param {string} startActionType - Action type for start of API call.\n * @param {string} successActionType - Action type for successful API call.\n * @param {string} errorActionType - Action type for failed API call.\n * @param {string} pipelineSysId - Data broker SysId.\n * @param {string} pipelineId - Element Id of the data broker.\n * @param {string} origin - Origin of the API request.\n * @returns {Promise<void>} - Promise representing the API request.\n */\nexport const makeApiRequest = async (\n\texternalRESTDataBroker,\n\tresolvedHeaders,\n\tresolvedInputValues,\n\tdispatch,\n\tstartActionType,\n\tsuccessActionType,\n\terrorActionType,\n\tpipelineSysId,\n\tpipelineId,\n\torigin\n) => {\n\tconst {\n\t\tdefinitionAttributes: {\n\t\t\thttpmethod: method,\n\t\t\tendpoint,\n\t\t\trequestBody,\n\t\t\tparameters\n\t\t},\n\t\tcachePolicy\n\t} = externalRESTDataBroker;\n\n\t// Default values in absence of cachePolicy\n\tconst isCacheActive = cachePolicy?.active || false;\n\tconst policy = cachePolicy?.policy || null;\n\tconst ttl = cachePolicy?.ttl || null;\n\n\tconst resolvedEndpoint = buildAttributes(\n\t\tendpoint,\n\t\tparameters,\n\t\tresolvedInputValues\n\t);\n\tconst resolvedRequestBody = buildAttributes(\n\t\trequestBody,\n\t\tparameters,\n\t\tresolvedInputValues\n\t);\n\n\tconst configOptions = {\n\t\tmethod: method,\n\t\t...(Object.keys(resolvedHeaders || {}).length > 0 && {\n\t\t\theaders: resolvedHeaders\n\t\t}),\n\t\t...(method !== 'GET' && resolvedRequestBody && {body: resolvedRequestBody})\n\t};\n\n\tconst startTime = performance.now();\n\tdispatchInternalAction(dispatch, startActionType);\n\n\t// Concatenate resolvedEndpoint and computed hash to generate a unique cache key.\n\tconst cacheKey = `${resolvedEndpoint}:${computeHash(externalRESTDataBroker)}`;\n\n\ttry {\n\t\tlet executionResult = null;\n\n\t\t// Fetch from cache if the cache policy is active and set to CACHE_ONLY.\n\t\tif (isCacheActive && policy === 'CACHE_ONLY') {\n\t\t\texecutionResult = await fetchFromCache(cacheKey, ttl);\n\t\t}\n\n\t\tif (!executionResult) {\n\t\t\tconst response = await fetch(resolvedEndpoint, configOptions);\n\t\t\tconst endTime = performance.now();\n\t\t\tconst executionTime = endTime - startTime;\n\n\t\t\tif (response.ok) {\n\t\t\t\texecutionResult = await response.json();\n\t\t\t\tdispatchInternalAction(\n\t\t\t\t\tdispatch,\n\t\t\t\t\tsuccessActionType,\n\t\t\t\t\t{\n\t\t\t\t\t\tresult: buildOutputResult(\n\t\t\t\t\t\t\tpipelineSysId,\n\t\t\t\t\t\t\t[],\n\t\t\t\t\t\t\texecutionResult,\n\t\t\t\t\t\t\tresponse.status,\n\t\t\t\t\t\t\texecutionTime\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\t{pipelineId, origin}\n\t\t\t\t);\n\n\t\t\t\t// Store in cache if the cache policy is active.\n\t\t\t\tif (isCacheActive) {\n\t\t\t\t\tawait storeInCache(\n\t\t\t\t\t\tcacheKey,\n\t\t\t\t\t\tpipelineSysId,\n\t\t\t\t\t\texecutionResult,\n\t\t\t\t\t\tttl,\n\t\t\t\t\t\tcacheKey\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tawait handleApiError(\n\t\t\t\t\tresponse,\n\t\t\t\t\tpipelineId,\n\t\t\t\t\tresolvedEndpoint,\n\t\t\t\t\tpipelineSysId,\n\t\t\t\t\texecutionTime\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t} catch (e) {\n\t\tdispatchInternalAction(\n\t\t\tdispatch,\n\t\t\terrorActionType,\n\t\t\t{pipelineResults: e.errors},\n\t\t\t{pipelineId, origin}\n\t\t);\n\t}\n};\n","import {default as console} from '../utils/getLogger.js';\n\nfunction lazyParser(parser) {\n\treturn (src, name = '(anonymous)', inlineScriptId = '') => {\n\t\tlet fn;\n\t\treturn (...args) => {\n\t\t\ttry {\n\t\t\t\tfn = fn || parser(src);\n\t\t\t\treturn fn.apply(null, args);\n\t\t\t} catch (e) {\n\t\t\t\tconst errorMessage = inlineScriptId\n\t\t\t\t\t? `Could not evaluate function in client script id='${inlineScriptId}' for macroponent with sysId='${name}'`\n\t\t\t\t\t: `Could not evaluate function '${name}'`;\n\t\t\t\tconsole.error(errorMessage, e);\n\t\t\t}\n\t\t};\n\t};\n}\n\n/**\n * Creates an evaluator to run arbitrary code in a sandbox environment. All\n * global variables are set to `undefined` except those that are explicitly\n * allowed.\n */\nexport const createSandboxedEvaluator = (allowedGlobals) => {\n\tallowedGlobals = new Set(allowedGlobals);\n\tconst proxy = new Proxy(\n\t\t{},\n\t\t{\n\t\t\t// prohibit variable access that is not part of `allowedGlobals`\n\t\t\thas: (target, key) => !allowedGlobals.has(key),\n\n\t\t\t// prohibit assignment to the proxy object itself\n\t\t\tset: () => false\n\t\t}\n\t);\n\n\treturn lazyParser((src) => {\n\t\tconst strictWrapper = `with(proxy){ return (function(){\"use strict\";\\nreturn (${src});})() }`;\n\t\treturn new Function('proxy', strictWrapper)(proxy);\n\t});\n};\n\n/**\n * Unlike the sandbox variant, this creates an evaluator that runs in\n * compatibility mode: all globals are allowed other than the few that are\n * explicitly blocked. This is necessary becuase we have some client\n * scripts/includes that were written before the sandbox feature was\n * implemented and are relying on these globals.\n *\n * Note that we intentionally don't try to stop scripts from walking up to\n * access a blocked variable. `setTimeout` may be blocked, but\n * `global.setTimeout` is all good.\n */\nexport const createCompatibilityEvaluator = (denylist) => {\n\treturn lazyParser((src) => {\n\t\tconst allNulls = Array(denylist.length).fill(null);\n\t\tconst strictWrapper = `\"use strict\";\\nreturn (${src});`;\n\t\treturn new Function(...denylist, strictWrapper).apply(globalThis, allNulls);\n\t});\n};\n\nexport const defaultAllowedGlobals = () => [\n\t// Types\n\t'Array',\n\t'BigInt',\n\t'BigInt64Array',\n\t'BigUint64Array',\n\t'Boolean',\n\t'Date',\n\t'Float32Array',\n\t'Float64Array',\n\t'Generator',\n\t'GeneratorFunction',\n\t'Infinity',\n\t'Int16Array',\n\t'Int32Array',\n\t'Int8Array',\n\t'Math',\n\t'Number',\n\t'Object',\n\t'Promise',\n\t'RegExp',\n\t'String',\n\t'Symbol',\n\t'Uint16Array',\n\t'Uint32Array',\n\t'Uint8Array',\n\t'Uint8ClampedArray',\n\t'Map',\n\t'Proxy',\n\t'Reflect',\n\t'Set',\n\t'WeakMap',\n\t'WeakSet',\n\t'undefined',\n\n\t// Errors\n\t'Error',\n\t'EvalError',\n\t'InternalError',\n\t'RangeError',\n\t'ReferenceError',\n\t'SyntaxError',\n\t'TypeError',\n\t'URIError',\n\n\t// Utils\n\t'Intl',\n\t'JSON',\n\t'console',\n\t'decodeURI',\n\t'decodeURIComponent',\n\t'encodeURI',\n\t'encodeURIComponent',\n\t'isFinite',\n\t'isNaN',\n\t'parseFloat',\n\t'parseInt',\n\t'DOMParser',\n\t'structuredClone'\n];\n\nexport const sandboxEvaluator = createSandboxedEvaluator(\n\tdefaultAllowedGlobals()\n);\n\nexport const compatibilityEvaluator = createCompatibilityEvaluator([\n\t'window',\n\t'document',\n\t'setTimeout',\n\t'setInterval'\n]);\n","import {sandboxEvaluator, compatibilityEvaluator} from './evaluator.js';\nimport {ALLOW_COMPAT_MODE} from './registry.js';\n\nconst V1 = '1.0.0';\nconst scriptIncludesCompatibilityModeAllowlist = [\n\t'sn_cwf_wrkspc.appRoutesMapping',\n\t'global.mergePARFilters',\n\t'sn_component_filte.mergePARFilters',\n\t'sn_vtb.notificationHandler',\n\t'sn_fsm_wrkspc.moment-timezone@v0.5.5',\n\t'sn_km_uib.Article actions include',\n\t'global.replaceWithTranslationBlock'\n];\n\nexport function getEvaluator(apiVersion) {\n\tif (ALLOW_COMPAT_MODE)\n\t\treturn apiVersion === V1 ? compatibilityEvaluator : sandboxEvaluator;\n\treturn sandboxEvaluator;\n}\n\nexport function getMacroponentInlineScript(sysId, lookupPath) {\n\treturn `${sysId}_${lookupPath}`;\n}\n\nexport function getEvaluatorForScriptInclude(apiVersion, apiName) {\n\treturn apiVersion === V1 &&\n\t\tscriptIncludesCompatibilityModeAllowlist.includes(apiName)\n\t\t? compatibilityEvaluator\n\t\t: sandboxEvaluator;\n}\n","import getUxfSysProp from '../utils/getUxfSysProp.js';\nimport {\n\tgetEvaluator,\n\tgetMacroponentInlineScript,\n\tgetEvaluatorForScriptInclude\n} from './utils.js';\n\nconst Registry = new Map();\nconst IncludesRegistry = new Map();\nconst InlineScriptRegistry = new Map();\nexport const ALLOW_COMPAT_MODE =\n\tgetUxfSysProp(\n\t\t'glide.uxf.lib._restricted_.ux_scripts.allow_compat_mode',\n\t\t'false'\n\t) !== 'false';\n\nexport function registerClientScript(\n\tapiVersion,\n\tscriptSysId,\n\tscriptIncludesApiNames,\n\tsrc\n) {\n\tconst evaluator = getEvaluator(apiVersion);\n\tRegistry.set(scriptSysId, {\n\t\tfn: evaluator(src, scriptSysId),\n\t\tincludes: scriptIncludesApiNames\n\t});\n}\n\nexport function getClientScript(scriptSysId) {\n\treturn Registry.get(scriptSysId);\n}\n\nexport function registerClientScriptInclude(\n\tapiVersion,\n\tapiName,\n\tscriptIncludesApiNames,\n\tsrc\n) {\n\tconst evaluator = ALLOW_COMPAT_MODE\n\t\t? getEvaluator(apiVersion)\n\t\t: getEvaluatorForScriptInclude(apiVersion, apiName);\n\tIncludesRegistry.set(apiName, {\n\t\tfn: evaluator(src, apiName),\n\t\tincludes: scriptIncludesApiNames\n\t});\n}\n\nexport function getClientScriptInclude(apiName) {\n\treturn IncludesRegistry.get(apiName);\n}\n\nexport function registerInlineScript(\n\tapiVersion,\n\tmacroponentSysId,\n\tlookupPath,\n\tsrc,\n\tscriptId\n) {\n\tconst evaluator = getEvaluator(apiVersion);\n\tInlineScriptRegistry.set(\n\t\tgetMacroponentInlineScript(macroponentSysId, lookupPath),\n\t\tevaluator(src, macroponentSysId, scriptId)\n\t);\n}\n\nexport function getInlineScript(macroponentSysId, lookupPath) {\n\treturn InlineScriptRegistry.get(\n\t\tgetMacroponentInlineScript(macroponentSysId, lookupPath)\n\t);\n}\n","import {get} from '@devsnc/snowdash';\nimport {has} from '@devsnc/snowdash';\nimport {default as console} from '../../utils/getLogger.js';\n\nexport const getAppWrapper = (stateProperties) => {\n\treturn get(stateProperties, ['nowAppProps']);\n};\n\nexport const getPropsWrapper = (stateProperties, macroponentProperties) =>\n\tnew Proxy(macroponentProperties, {\n\t\tget(target, property) {\n\t\t\tif (has(target, [property])) return get(stateProperties, [property]);\n\t\t\tconsole.warn(`Invalid property access for ${property}`);\n\t\t}\n\t});\n\nexport const getSessionWrapper = (stateProperties) =>\n\tget(stateProperties, ['userSessionInfo', 'output']);\n","import {getAppWrapper, getPropsWrapper, getSessionWrapper} from './helpers.js';\n\nexport default function getContextWrapper(\n\tstateProperties,\n\tmacroponentProperties\n) {\n\treturn {\n\t\tprops: getPropsWrapper(stateProperties, macroponentProperties),\n\t\tapp: getAppWrapper(stateProperties),\n\t\tsession: getSessionWrapper(stateProperties)\n\t};\n}\n","import {isObject} from '@devsnc/snowdash';\nimport {UXF_INTERNAL_DEPENDENCY_OP_REQUESTED} from '../constants';\nimport {snakeCase} from '../utils';\n\nfunction getPayloadFromArguments(args = []) {\n\tif (args.length === 1 && isObject(args[0])) {\n\t\treturn args[0];\n\t}\n}\n\nexport default function controllerDependencyOpFnGetterFactory(\n\tdependencyAlias,\n\texternalControllerDependencies,\n\tuxfEmitFn,\n\tfallbackGetter\n) {\n\tconst matchingControllerDependency = externalControllerDependencies?.find(\n\t\t(dep) => dep.name === dependencyAlias\n\t);\n\tconst dependencyHandledEvents =\n\t\tmatchingControllerDependency?.dependencyHandledEvents;\n\tif (dependencyHandledEvents?.length)\n\t\treturn (operationApiName) => {\n\t\t\tconst operationEventName = snakeCase(operationApiName).toUpperCase();\n\t\t\tif (dependencyHandledEvents.includes(operationEventName)) {\n\t\t\t\treturn (...fnArguments) => {\n\t\t\t\t\tuxfEmitFn(null, UXF_INTERNAL_DEPENDENCY_OP_REQUESTED, {\n\t\t\t\t\t\tdependencyAlias,\n\t\t\t\t\t\tdependencyOp: operationEventName,\n\t\t\t\t\t\twrappedPayload: getPayloadFromArguments(fnArguments)\n\t\t\t\t\t});\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn fallbackGetter(operationApiName);\n\t\t};\n\telse return fallbackGetter;\n}\n","import parentDataStore from '../getParentDataStore';\nimport {META_PROP_NAME_PARENT_PAGE_MACROPONENT_SYS_ID} from '../constants';\nexport const getDatabrokerDefinitionWrapper = (\n\tseismicProperties,\n\tdataBrokerDefinitionIdByElementId\n) => {\n\treturn new Proxy(\n\t\t{},\n\t\t{\n\t\t\tget(_, elementId) {\n\t\t\t\tif (\n\t\t\t\t\tdataBrokerDefinitionIdByElementId &&\n\t\t\t\t\tdataBrokerDefinitionIdByElementId[elementId]\n\t\t\t\t)\n\t\t\t\t\treturn dataBrokerDefinitionIdByElementId[elementId];\n\n\t\t\t\tconst parentMacroponentSysId =\n\t\t\t\t\tseismicProperties?.[META_PROP_NAME_PARENT_PAGE_MACROPONENT_SYS_ID];\n\t\t\t\tif (!parentMacroponentSysId) return;\n\n\t\t\t\tconst {dataShell: parentDataShell} = parentDataStore.get(\n\t\t\t\t\tparentMacroponentSysId\n\t\t\t\t);\n\t\t\t\tif (!parentDataShell) return;\n\n\t\t\t\treturn parentDataShell?.dataElements?.[elementId]?.definitionSysId;\n\t\t\t}\n\t\t}\n\t);\n};\n","import {get} from '@devsnc/snowdash';\nimport {isFunction} from '@devsnc/snowdash';\nimport getResolvedBindingWithState from '../UxValueResolver/getResolvedBindingWithState.js';\nimport {\n\tpropertyTypes,\n\tDBK_LIFECYCLE_IDENTIFIER,\n\tDBK_LIFECYCLE_FETCHING_IDENTIFIER,\n\tDBK_LIFECYCLE_FETCH_SUCCESS_IDENTIFIER,\n\tMETA_PROP_NAME_CONTROLLER_MAP,\n\tMETA_PROP_NAME_PARENT_CONTROLLER_DEPENDENCY_MAP,\n\tINPUTS,\n\tSYMBOL_EVENT_MAPPING_SOURCE_IS_FROM_SUB_PAGE\n} from '../constants.js';\nimport controllerDependencyOpFnGetterFactory from './controllerDependencyOpFnGetterFactory';\nimport {getDatabrokerDefinitionWrapper} from './getDataBrokerDefinitionWrapper.js';\n\nimport {mapValues} from '@devsnc/snowdash';\n\nconst {DATA_OUTPUT_BINDING} = propertyTypes;\n\nfunction getOperationsForElementId(\n\tuxfEmitFn,\n\telementId,\n\tdataBrokerDefinitionIdByElementId,\n\tdataBrokerOperationFunctions,\n\tmeta\n) {\n\tconst definitionId = get(dataBrokerDefinitionIdByElementId, [elementId]);\n\treturn mapValues(\n\t\tget(dataBrokerOperationFunctions, [definitionId], {}),\n\t\t(fn) => fn(uxfEmitFn, elementId, meta)\n\t);\n}\n\nfunction getCSDBOperationsWrapper(elementsWrapper, csdbNodeId, dbOperations) {\n\treturn new Proxy(elementsWrapper[csdbNodeId], {\n\t\tget(csdbElementsWrapper, targetProperty) {\n\t\t\t// elementsWrapperProxy will take care of enforcing selectable props\n\t\t\tconst csdbOperationFn = get(dbOperations, [targetProperty]);\n\t\t\tif (isFunction(csdbOperationFn)) return csdbOperationFn;\n\t\t\t// if not a function, forward to the underlying wrapper for handling\n\t\t\treturn Reflect.get(csdbElementsWrapper, targetProperty);\n\t\t}\n\t});\n}\nconst getControllerOfParentControllerDependency = (\n\tdataElementId,\n\tseismicProperties,\n\tkey\n) => {\n\tconst controllerDependencyMap =\n\t\tseismicProperties[META_PROP_NAME_CONTROLLER_MAP];\n\tconst parentControllerDepencies =\n\t\tseismicProperties[META_PROP_NAME_PARENT_CONTROLLER_DEPENDENCY_MAP];\n\tif (!controllerDependencyMap || !parentControllerDepencies) return '';\n\n\tconst originalController = controllerDependencyMap[dataElementId];\n\tif (!parentControllerDepencies[originalController]) return '';\n\treturn parentControllerDepencies[originalController][key];\n};\n\nconst getRealDataElementId = (\n\tdataElementId,\n\tcontrollerAliasMap,\n\tseismicProperties,\n\tdataBrokerDefinitionIdByElementId\n) => {\n\tif (\n\t\tdataBrokerDefinitionIdByElementId &&\n\t\tdataBrokerDefinitionIdByElementId[dataElementId]\n\t)\n\t\treturn dataElementId;\n\n\tconst controllerDependencyMap =\n\t\tseismicProperties[META_PROP_NAME_CONTROLLER_MAP];\n\n\tif (controllerDependencyMap && controllerDependencyMap[dataElementId])\n\t\tdataElementId = controllerDependencyMap[dataElementId];\n\n\tif (controllerAliasMap && controllerAliasMap[dataElementId])\n\t\treturn controllerAliasMap[dataElementId].elementId;\n\n\treturn dataElementId;\n};\n\nconst isDependencyController = (dataElementId) =>\n\tdataElementId.indexOf('.') > 0;\n\nfunction getDataBrokerWrapper(\n\tcsdbNodeId,\n\tpdbNodeIds,\n\texternalControllerDependencies,\n\tuxfEmitFn,\n\tdataBrokerDefinitionIdByElementId,\n\tdataBrokerOperationFunctions,\n\tgetControllerDepOpFn,\n\tdbOperations,\n\tcontrollerAliasMap,\n\tseismicProperties,\n\tdataElementId\n) {\n\treturn new Proxy(\n\t\t{},\n\t\t{\n\t\t\tget(_, propName, receiver) {\n\t\t\t\tif (\n\t\t\t\t\tpropName === INPUTS ||\n\t\t\t\t\tcontrollerAliasMap[dataElementId]?.alias.indexOf(propName) >= 0\n\t\t\t\t)\n\t\t\t\t\treturn receiver;\n\n\t\t\t\tif (!isDependencyController(dataElementId)) {\n\t\t\t\t\tconst dependencyController =\n\t\t\t\t\t\tgetControllerOfParentControllerDependency(\n\t\t\t\t\t\t\tdataElementId,\n\t\t\t\t\t\t\tseismicProperties,\n\t\t\t\t\t\t\tpropName\n\t\t\t\t\t\t);\n\t\t\t\t\tif (dependencyController) {\n\t\t\t\t\t\tconst operations = dbOperations\n\t\t\t\t\t\t\t? getOperationsForElementId(\n\t\t\t\t\t\t\t\t\tuxfEmitFn,\n\t\t\t\t\t\t\t\t\tdependencyController,\n\t\t\t\t\t\t\t\t\tdataBrokerDefinitionIdByElementId,\n\t\t\t\t\t\t\t\t\tdataBrokerOperationFunctions,\n\t\t\t\t\t\t\t\t\tdependencyController\n\t\t\t\t\t\t\t\t\t\t? {[SYMBOL_EVENT_MAPPING_SOURCE_IS_FROM_SUB_PAGE]: true}\n\t\t\t\t\t\t\t\t\t\t: {}\n\t\t\t\t\t\t\t  )\n\t\t\t\t\t\t\t: null;\n\n\t\t\t\t\t\treturn getDataBrokerWrapper(\n\t\t\t\t\t\t\tcsdbNodeId,\n\t\t\t\t\t\t\tpdbNodeIds,\n\t\t\t\t\t\t\texternalControllerDependencies,\n\t\t\t\t\t\t\tuxfEmitFn,\n\t\t\t\t\t\t\tdataBrokerDefinitionIdByElementId,\n\t\t\t\t\t\t\tdataBrokerOperationFunctions,\n\t\t\t\t\t\t\tgetControllerDepOpFn,\n\t\t\t\t\t\t\toperations,\n\t\t\t\t\t\t\tcontrollerAliasMap,\n\t\t\t\t\t\t\tseismicProperties,\n\t\t\t\t\t\t\t`${dataElementId}.${String(propName)}`\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// fixme: add validator for dataElementId / propName\n\t\t\t\tif (dbOperations != null) {\n\t\t\t\t\tconst csdbOperationFn = get(dbOperations, [propName]);\n\t\t\t\t\tif (isFunction(csdbOperationFn)) return csdbOperationFn;\n\t\t\t\t}\n\n\t\t\t\tconst dataElementAddresses = dataElementId.split('.');\n\t\t\t\tif (propName === DBK_LIFECYCLE_IDENTIFIER) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t[DBK_LIFECYCLE_FETCHING_IDENTIFIER]: getResolvedBindingWithState(\n\t\t\t\t\t\t\tcsdbNodeId,\n\t\t\t\t\t\t\tpdbNodeIds,\n\t\t\t\t\t\t\texternalControllerDependencies,\n\t\t\t\t\t\t\tcontrollerAliasMap,\n\t\t\t\t\t\t\tseismicProperties,\n\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\tDATA_OUTPUT_BINDING,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\taddress: [\n\t\t\t\t\t\t\t\t\t...dataElementAddresses,\n\t\t\t\t\t\t\t\t\tpropName,\n\t\t\t\t\t\t\t\t\tDBK_LIFECYCLE_FETCHING_IDENTIFIER\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t),\n\t\t\t\t\t\t[DBK_LIFECYCLE_FETCH_SUCCESS_IDENTIFIER]:\n\t\t\t\t\t\t\tgetResolvedBindingWithState(\n\t\t\t\t\t\t\t\tcsdbNodeId,\n\t\t\t\t\t\t\t\tpdbNodeIds,\n\t\t\t\t\t\t\t\texternalControllerDependencies,\n\t\t\t\t\t\t\t\tcontrollerAliasMap,\n\t\t\t\t\t\t\t\tseismicProperties,\n\t\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\t\tDATA_OUTPUT_BINDING,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\taddress: [\n\t\t\t\t\t\t\t\t\t\t...dataElementAddresses,\n\t\t\t\t\t\t\t\t\t\tpropName,\n\t\t\t\t\t\t\t\t\t\tDBK_LIFECYCLE_FETCH_SUCCESS_IDENTIFIER\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t)\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tconst resolvedBindingValue = getResolvedBindingWithState(\n\t\t\t\t\tcsdbNodeId,\n\t\t\t\t\tpdbNodeIds,\n\t\t\t\t\texternalControllerDependencies,\n\t\t\t\t\tcontrollerAliasMap,\n\t\t\t\t\tseismicProperties,\n\t\t\t\t\tundefined,\n\t\t\t\t\tDATA_OUTPUT_BINDING,\n\t\t\t\t\t{address: [...dataElementAddresses, propName]}\n\t\t\t\t);\n\n\t\t\t\treturn resolvedBindingValue === undefined && !!getControllerDepOpFn\n\t\t\t\t\t? getControllerDepOpFn(propName)\n\t\t\t\t\t: resolvedBindingValue;\n\t\t\t}\n\t\t}\n\t);\n}\n\nconst notFoundProvider = () => undefined;\n\nexport default function getDataWrapper(\n\twithOperations = false,\n\tcsdbNodeId,\n\tpdbNodeIds,\n\texternalControllerDependencyNames,\n\texternalControllerDependencies,\n\tcontrollerAliasMap,\n\tseismicProperties,\n\telementsWrapper,\n\tuxfEmitFn,\n\tdataBrokerDefinitionIdByElementId,\n\tdataBrokerOperationFunctions,\n\tuxfMeta\n) {\n\tconst dataBrokerDefById = getDatabrokerDefinitionWrapper(\n\t\tseismicProperties,\n\t\tdataBrokerDefinitionIdByElementId\n\t);\n\n\treturn new Proxy(\n\t\t{},\n\t\t{\n\t\t\tget(_, dataElementId) {\n\t\t\t\tconst meta = {\n\t\t\t\t\tuxfMeta,\n\t\t\t\t\t...(seismicProperties?.[META_PROP_NAME_CONTROLLER_MAP]?.[\n\t\t\t\t\t\tdataElementId\n\t\t\t\t\t] && {\n\t\t\t\t\t\t[SYMBOL_EVENT_MAPPING_SOURCE_IS_FROM_SUB_PAGE]: true\n\t\t\t\t\t})\n\t\t\t\t};\n\n\t\t\t\tconst realDataElementId = getRealDataElementId(\n\t\t\t\t\tdataElementId,\n\t\t\t\t\tcontrollerAliasMap,\n\t\t\t\t\tseismicProperties,\n\t\t\t\t\tdataBrokerDefById\n\t\t\t\t);\n\n\t\t\t\tconst operations = withOperations\n\t\t\t\t\t? getOperationsForElementId(\n\t\t\t\t\t\t\tuxfEmitFn,\n\t\t\t\t\t\t\trealDataElementId,\n\t\t\t\t\t\t\tdataBrokerDefById,\n\t\t\t\t\t\t\tdataBrokerOperationFunctions,\n\t\t\t\t\t\t\tmeta\n\t\t\t\t\t  )\n\t\t\t\t\t: null;\n\n\t\t\t\tconst getControllerDepOpFn = controllerDependencyOpFnGetterFactory(\n\t\t\t\t\tdataElementId,\n\t\t\t\t\texternalControllerDependencies,\n\t\t\t\t\tuxfEmitFn,\n\t\t\t\t\tnotFoundProvider\n\t\t\t\t);\n\n\t\t\t\tif (dataElementId === csdbNodeId) {\n\t\t\t\t\treturn withOperations\n\t\t\t\t\t\t? getCSDBOperationsWrapper(elementsWrapper, csdbNodeId, operations)\n\t\t\t\t\t\t: elementsWrapper[dataElementId];\n\t\t\t\t}\n\n\t\t\t\treturn getDataBrokerWrapper(\n\t\t\t\t\tcsdbNodeId,\n\t\t\t\t\tpdbNodeIds,\n\t\t\t\t\texternalControllerDependencyNames,\n\t\t\t\t\tuxfEmitFn,\n\t\t\t\t\tdataBrokerDefById,\n\t\t\t\t\tdataBrokerOperationFunctions,\n\t\t\t\t\tgetControllerDepOpFn,\n\t\t\t\t\toperations,\n\t\t\t\t\tcontrollerAliasMap,\n\t\t\t\t\tseismicProperties,\n\t\t\t\t\tdataElementId\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t);\n}\n\n/**\n * @description Not intended for use in production code. Only for testing purposes.\n */\nexport const exportOnlyForTesting = {\n\tgetOperationsForElementId,\n\tgetCSDBOperationsWrapper,\n\tgetControllerOfParentControllerDependency,\n\tgetRealDataElementId,\n\tisDependencyController\n};\n","export default function getStateWrapper(seismicState) {\n\t// eslint-disable-next-line no-unused-vars\n\tconst {behaviors, properties, ...macroponentState} = seismicState;\n\treturn new Proxy(macroponentState, {\n\t\tget(target, statePropertyName) {\n\t\t\t// todo: only allow defined statePropertyNames to be retrieved\n\t\t\treturn Reflect.get(target, statePropertyName);\n\t\t},\n\t\tset() {\n\t\t\tconsole.warn('Use setState for state updates. Operation was ignored.');\n\t\t}\n\t});\n}\n","import getResolvedBindingWithState from '../UxValueResolver/getResolvedBindingWithState.js';\nimport {propertyTypes} from '../constants.js';\n\nconst {ELEMENT_BINDING} = propertyTypes;\n\nfunction getElementSelectablePropsWrapper(stateProperties, elementId) {\n\treturn new Proxy(\n\t\t{},\n\t\t{\n\t\t\tget(_, propName) {\n\t\t\t\t// fixme: add validator for elementId / propName\n\t\t\t\treturn getResolvedBindingWithState(\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t[],\n\t\t\t\t\t{},\n\t\t\t\t\tstateProperties,\n\t\t\t\t\tundefined,\n\t\t\t\t\tELEMENT_BINDING,\n\t\t\t\t\t{address: [elementId, propName]}\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t);\n}\n\nexport default function getElementsWrapper(stateProperties) {\n\treturn new Proxy(\n\t\t{},\n\t\t{\n\t\t\tget(_, elementId) {\n\t\t\t\treturn getElementSelectablePropsWrapper(stateProperties, elementId);\n\t\t\t}\n\t\t}\n\t);\n}\n","import getContextWrapper from './getContextWrapper';\nimport getDataWrapper from './getDataWrapper';\nimport getStateWrapper from './getStateWrapper';\nimport getElementsWrapper from './getElementsWrapper';\n\nimport {mapValues} from '@devsnc/snowdash';\n\nexport default function getMacroponentAccessApi(\n\twithOperations,\n\tcsdbNodeId,\n\tpdbNodeIds,\n\texternalControllerDependencyNames,\n\texternalControllerDependencies,\n\tmacroponentPropertyDefinitions,\n\tcontrollerAliasMap,\n\tseismicProperties,\n\tseismicState,\n\tdataBrokerDefinitionIdByElementId,\n\tdataBrokerOperationFunctions,\n\tuxfEmitFn,\n\tuxfMeta\n) {\n\tconst macroponentProperties = mapValues(\n\t\tmacroponentPropertyDefinitions,\n\t\t() => undefined\n\t);\n\tconst elementsWrapper = getElementsWrapper(seismicProperties);\n\treturn {\n\t\tcontext: getContextWrapper(seismicProperties, macroponentProperties),\n\t\telements: elementsWrapper,\n\t\tdata: getDataWrapper(\n\t\t\twithOperations,\n\t\t\tcsdbNodeId,\n\t\t\tpdbNodeIds,\n\t\t\texternalControllerDependencyNames,\n\t\t\texternalControllerDependencies,\n\t\t\tcontrollerAliasMap,\n\t\t\tseismicProperties,\n\t\t\telementsWrapper,\n\t\t\tuxfEmitFn,\n\t\t\tdataBrokerDefinitionIdByElementId,\n\t\t\tdataBrokerOperationFunctions,\n\t\t\tuxfMeta\n\t\t),\n\t\tstate: getStateWrapper(seismicState)\n\t};\n}\n","import getResolvedBindingWithState from '../UxValueResolver/getResolvedBindingWithState';\nimport {default as console} from '../../utils/getLogger';\nimport {propertyTypes} from '../constants.js';\n\nconst {DATA_OUTPUT_BINDING} = propertyTypes;\n\nconst validJSON = (json) => {\n\ttry {\n\t\treturn JSON.parse(json);\n\t} catch {\n\t\treturn false;\n\t}\n};\n\nexport const getControllerDataWrapper = (\n\tpdbNodeIds,\n\texternalControllerDependencies,\n\tseismicProperties,\n\tcontrollerElementId,\n\tproxydbNodes,\n\tcontrollerAliasMap\n) => {\n\treturn new Proxy(\n\t\t{},\n\t\t{\n\t\t\tget(_, dataOutputProp) {\n\t\t\t\tif (!controllerElementId) {\n\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t`Prop 'api.data.${dataOutputProp}' in client transform script cannot be resolved because the controllerElementId prop ` +\n\t\t\t\t\t\t\t'is missing from the preset in the page definition composition.'\n\t\t\t\t\t);\n\t\t\t\t\treturn {};\n\t\t\t\t}\n\n\t\t\t\tconst presetControllerDependencies = validJSON(controllerElementId);\n\n\t\t\t\t// Multi Controller Preset - Characterized by the \"Controller Dependencies\" field in a preset definition\n\t\t\t\tif (presetControllerDependencies) {\n\t\t\t\t\t// If author is attempting to use an invalid depKey or not using a depKey, we must let them know\n\t\t\t\t\tif (\n\t\t\t\t\t\t!Object.prototype.hasOwnProperty.call(\n\t\t\t\t\t\t\tpresetControllerDependencies,\n\t\t\t\t\t\t\tdataOutputProp\n\t\t\t\t\t\t)\n\t\t\t\t\t) {\n\t\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t\t`${dataOutputProp} is not a valid depKey. Please use the syntax api.data.depKey.outputProp for multi controller preset client data transforms, if it is already in the correct format, check the spelling of ${dataOutputProp}`\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn {};\n\t\t\t\t\t}\n\t\t\t\t\t// Retrieving next level proxy if depKey exists and is valid\n\t\t\t\t\telse\n\t\t\t\t\t\treturn getControllerDataWrapper(\n\t\t\t\t\t\t\tpdbNodeIds,\n\t\t\t\t\t\t\texternalControllerDependencies,\n\t\t\t\t\t\t\tseismicProperties,\n\t\t\t\t\t\t\tpresetControllerDependencies[dataOutputProp],\n\t\t\t\t\t\t\tproxydbNodes,\n\t\t\t\t\t\t\tcontrollerAliasMap\n\t\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\t// Single Controller Preset - Characterized by the \"Controller\" field in a preset definition\n\t\t\t\telse {\n\t\t\t\t\t//check for dependency controller\n\t\t\t\t\tconst dependencyElementId = proxydbNodes?.filter(\n\t\t\t\t\t\t(db) => db.nodeId === controllerElementId\n\t\t\t\t\t)?.[0]?.dependencies?.[dataOutputProp]?.controllerElementId;\n\t\t\t\t\tif (dependencyElementId) {\n\t\t\t\t\t\treturn getControllerDataWrapper(\n\t\t\t\t\t\t\tpdbNodeIds,\n\t\t\t\t\t\t\texternalControllerDependencies,\n\t\t\t\t\t\t\tseismicProperties,\n\t\t\t\t\t\t\tdependencyElementId,\n\t\t\t\t\t\t\t[] //only support one level dependency\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn getResolvedBindingWithState(\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\tpdbNodeIds,\n\t\t\t\t\t\texternalControllerDependencies,\n\t\t\t\t\t\tcontrollerAliasMap,\n\t\t\t\t\t\tseismicProperties,\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\tDATA_OUTPUT_BINDING,\n\t\t\t\t\t\t{address: [controllerElementId, dataOutputProp]}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t);\n};\n","export let snHttpRef;\n\nconst snHttp = async () => {\n\tif (snHttpRef) return snHttpRef;\n\n\tconst {snHttpInstance} = await import('sn-http-request');\n\tsnHttpRef = snHttpInstance;\n\treturn snHttpInstance;\n};\n\nexport default snHttp;\n","import {getControllerDataWrapper} from './getControllerDataWrapper';\nimport {getSessionWrapper} from './helpers';\nimport {default as console} from '../../utils/getLogger';\n\nimport {\n\tCONTEXT_PROPS_IDENTIFIER,\n\tAPP_PROPS_IDENTIFIER,\n\tELEMENTS_IDENTIFIER,\n\tSTATE_IDENTIFIER\n} from '../constants';\n\nconst unsupportedApiMessage = (fieldName) => {\n\treturn new Proxy(\n\t\t{},\n\t\t{\n\t\t\tget(_, propName) {\n\t\t\t\tconst prop =\n\t\t\t\t\ttypeof propName === 'string' ? ` '${String(propName)}' ` : ' ';\n\t\t\t\tconsole.warn(\n\t\t\t\t\t`Prop${prop}will not resolve as 'api.${fieldName}' is not supported in component preset client transform scripts`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t);\n};\n\nexport default function getControllerAccessApi(\n\tpdbNodeIds,\n\texternalControllerDependencies,\n\tcontrollerAliasMap,\n\tseismicProperties,\n\tcontrollerElementId,\n\tproxydbNodes\n) {\n\treturn {\n\t\tcontext: {\n\t\t\tprops: unsupportedApiMessage(CONTEXT_PROPS_IDENTIFIER),\n\t\t\tapp: unsupportedApiMessage(APP_PROPS_IDENTIFIER),\n\t\t\tsession: getSessionWrapper(seismicProperties)\n\t\t},\n\t\telements: unsupportedApiMessage(ELEMENTS_IDENTIFIER),\n\t\tdata: getControllerDataWrapper(\n\t\t\tpdbNodeIds,\n\t\t\texternalControllerDependencies,\n\t\t\tseismicProperties,\n\t\t\tcontrollerElementId,\n\t\t\tproxydbNodes,\n\t\t\tcontrollerAliasMap\n\t\t),\n\t\tstate: unsupportedApiMessage(STATE_IDENTIFIER)\n\t};\n}\n","const DEFAULT_MAX_WAIT = 5000;\n\n/**\n * A generic utility function which provides a way to wait for a set of tasks\n * to be completed before performing any other action.\n * For eq. Waiting a for a bunch of network calls to be completed before proceeding\n * with any other computation.\n *\n * So on starting of new network request we increment the counter.\n * And on completion of the network request we decrement the counter.\n *\n * When the counter reaches to 0 or the wait is timed out\n * we resolve the pending promises waiting for the\n * idle state to be reached.\n **/\n\nexport default function createTaskTracker() {\n\tlet PENDING_COUNT = 0;\n\tlet IDLE_QUEUE = [];\n\n\tfunction signalIdle() {\n\t\tfor (const cb of IDLE_QUEUE) cb();\n\t\tIDLE_QUEUE.length = 0;\n\t}\n\treturn {\n\t\tincrementPendingTaskCount: (taskCount = 1) => (PENDING_COUNT += taskCount),\n\t\tdecrementPendingTaskCount: (taskCount = 1) => {\n\t\t\tPENDING_COUNT -= taskCount;\n\t\t\tif (PENDING_COUNT === 0) signalIdle();\n\t\t},\n\t\twhenIdle: ({maxWait = DEFAULT_MAX_WAIT} = {}) => {\n\t\t\tif (PENDING_COUNT === 0)\n\t\t\t\treturn Promise.resolve({didPause: false, timedOut: false});\n\t\t\treturn new Promise((resolve) => {\n\t\t\t\tlet timedOut = false;\n\t\t\t\tlet timeOutId = setTimeout(() => {\n\t\t\t\t\ttimedOut = true;\n\t\t\t\t\tresolve({didPause: true, timedOut});\n\t\t\t\t}, maxWait);\n\t\t\t\tIDLE_QUEUE.push(() => {\n\t\t\t\t\tif (timedOut) return;\n\t\t\t\t\tclearTimeout(timeOutId);\n\t\t\t\t\tresolve({didPause: true, timedOut});\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t};\n}\n","import {getAncestorNode} from '@servicenow/ui-core';\nimport {get} from '@devsnc/snowdash';\nimport createTaskTracker from './taskTracker';\n\nconst screenMap = new WeakMap();\n\nexport function getCanvasScreen(host) {\n\tif (screenMap.has(host) || host?.tagName === 'SN-CANVAS-SCREEN')\n\t\treturn screenMap.get(host) || host;\n\n\tlet ancestor = host;\n\n\twhile (ancestor?.tagName !== 'SN-CANVAS-SCREEN') {\n\t\t// return current active screen, if screen not found in ancestors\n\t\tif (!ancestor) return get(window, 'ux_globals.snCanvasScreen');\n\t\tancestor = getAncestorNode(ancestor);\n\t}\n\n\tscreenMap.set(host, ancestor);\n\n\treturn ancestor;\n}\n\nexport function getUxrInteractionIdByHost(host) {\n\treturn (\n\t\tgetCanvasScreen(host)?.screenData?.uxrInteractionId ||\n\t\twindow?.nowUiFramework?.uxrInteractionId\n\t);\n}\n\n// Task tracker to track earlyEvaluation, hydration and page fragment seeding tasks.\n// Used for performance measurement for direct load and click through scenarios.\nexport const ScreenEngineTaskTracker = createTaskTracker();\n","import snHttpProm from '../../snHttpInstance';\nimport {\n\taddPendingNetworkActionForHost,\n\tremovePendingNetworkActionForHost\n} from '@servicenow/ui-internal';\nimport {getUxrInteractionIdByHost} from '../../utils/screenUtils';\n/**\n * Usage:\n *\n * now.http(url, options, onProgress, onStart) // api is like createHttpEffect\n *  .then((response) => {...})\n *  .catch((error) => {...})\n **/\nexport default function (host) {\n\treturn function (url, options, onProgress = () => {}, onStart = () => {}) {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst {\n\t\t\t\tmethod = 'GET',\n\t\t\t\theaders = {},\n\t\t\t\tparams = {},\n\t\t\t\tbody = {},\n\t\t\t\tbatch = true\n\t\t\t} = options;\n\n\t\t\tconst uxrInteractionId = getUxrInteractionIdByHost(host);\n\t\t\tif (uxrInteractionId) headers['NOW-UX-INTERACTION'] = uxrInteractionId;\n\n\t\t\tonStart();\n\n\t\t\tsnHttpProm().then((snHttp) => {\n\t\t\t\t//Added to measure network calls for client interaction metrics\n\t\t\t\tconst dummyAction = new Object();\n\t\t\t\taddPendingNetworkActionForHost(dummyAction, host);\n\n\t\t\t\tsnHttp\n\t\t\t\t\t.request(url, method, {\n\t\t\t\t\t\theaders,\n\t\t\t\t\t\tparams,\n\t\t\t\t\t\tdata: body,\n\t\t\t\t\t\tonUploadProgress: onProgress,\n\t\t\t\t\t\tbatch\n\t\t\t\t\t})\n\t\t\t\t\t.then((response) => {\n\t\t\t\t\t\tresolve({\n\t\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\t\t...response.data\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t})\n\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\tresponse: {data, status, statusText, headers: responseHeaders},\n\t\t\t\t\t\t\tmessage\n\t\t\t\t\t\t} = error;\n\t\t\t\t\t\treject({\n\t\t\t\t\t\t\terror: {\n\t\t\t\t\t\t\t\tdata,\n\t\t\t\t\t\t\t\tstatus,\n\t\t\t\t\t\t\t\tstatusText,\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\t...(headers && {headers}),\n\t\t\t\t\t\t\t\t\t...(responseHeaders && {responseHeaders}),\n\t\t\t\t\t\t\t\t\t...(params && {params}),\n\t\t\t\t\t\t\t\t\t...(data && {data})\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t...(message && {message})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t})\n\t\t\t\t\t.finally(() => removePendingNetworkActionForHost(dummyAction, host));\n\t\t\t});\n\t\t});\n\t};\n}\n","import {has} from '@devsnc/snowdash';\nimport {t, appendTranslations} from 'sn-translate';\nimport getHttpApi from './http';\nimport {default as console} from '../../utils/getLogger';\n\n/**\n * Usage:\n *\n * helpers.translate(string)\n *  .then((translatedText) => {...})\n *\n * or\n *\n * helpers.translate(stringTemplate, tempateArg1, templateArg2)\n *  .then((translatedText => {...}))\n *\n * Alternatively can be used with await:\n *\n * const translatedText = await helpers.translate(string);\n */\n\nconst sanitizeKey = (key) => key.replace(/\\\\([\\s\\S])|(\")/g, '\\\\$1$2');\n\nexport const singleTranslationGQL = (key) => [\n\t{\n\t\tquery: `{\n\tGlideDomain_Query {\n\t\tgetMessage(key: \"${sanitizeKey(key)}\") {\n\t\t\tkey\n\t\t\tmessage\n\t\t}\n\t}\n}`\n\t}\n];\n\nexport const hasTranslation = (str) => {\n\treturn has(window, ['__TECTONIC_TRANSLATIONS__', str]);\n};\n\nexport const getWarnMessage = (str) => {\n\treturn `Translation '${str}' is missing from window.__TECTONIC_TRANSLATIONS__ - Check KB0552358 for details`;\n};\n\nexport default function (host) {\n\tconst http = getHttpApi(host);\n\n\treturn async function (str, ...rest) {\n\t\tif (!hasTranslation(str)) {\n\t\t\tconsole.warn(getWarnMessage(str));\n\t\t\treturn http('/api/now/graphql', {\n\t\t\t\tmethod: 'POST',\n\t\t\t\tbody: singleTranslationGQL(str),\n\t\t\t\tbatch: false\n\t\t\t}).then(({response = []}) => {\n\t\t\t\tconst {\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tGlideDomain_Query: {\n\t\t\t\t\t\t\tgetMessage: {key = str, message = str} = {}\n\t\t\t\t\t\t} = {}\n\t\t\t\t\t} = {}\n\t\t\t\t} = response[0] || {};\n\t\t\t\tappendTranslations({[key]: message});\n\t\t\t\treturn t(str, ...rest);\n\t\t\t});\n\t\t}\n\t\treturn t(str, ...rest);\n\t};\n}\n","import {isFunction} from '@devsnc/snowdash';\nimport {getInlineScript} from '../../scriptLoader/registry.js';\nimport {isNull} from '@devsnc/snowdash';\nimport {t} from 'sn-translate';\nimport {default as console} from '../../utils/getLogger';\nimport getMacroponentAccessApi from '../macroponentAccessApi/getMacroponentAccessApi';\nimport getControllerAccessApi from '../macroponentAccessApi/getControllerAccessApi';\nimport getViewportApi from '../behaviorFactories/viewportRuntime/getViewportApi';\nimport {PRESET} from '../constants';\nimport {\n\thasTranslation,\n\tgetWarnMessage\n} from '../../scriptedHandlerApi/apis/translate';\n\nconst runTransformFn = (macroponentSysId, lookupPath, input) => {\n\tconst transformFn = getInlineScript(macroponentSysId, lookupPath);\n\tif (isFunction(transformFn)) return transformFn(input);\n};\n\nexport const getHelpers = () => {\n\treturn {\n\t\ttranslateSync: (str, ...rest) => {\n\t\t\tif (!hasTranslation(str)) {\n\t\t\t\tconsole.warn(getWarnMessage(str));\n\t\t\t}\n\n\t\t\treturn t(str, ...rest);\n\t\t}\n\t};\n};\n\nexport const getAccessApi = (\n\tmacroponentPropertyDefinitions,\n\tcsdbNodeId,\n\tpdbNodeIds,\n\texternalControllerDependencies,\n\tcontrollerAliasMap,\n\tseismicProperties,\n\tseismicState,\n\trepeaterItem = null,\n\ttarget = '',\n\tcontrollerElementId = '',\n\tproxydbNodes\n) => {\n\tlet api;\n\tlet additionalProps = {};\n\n\tif (target === PRESET) {\n\t\tapi = getControllerAccessApi(\n\t\t\tpdbNodeIds,\n\t\t\texternalControllerDependencies,\n\t\t\tcontrollerAliasMap,\n\t\t\tseismicProperties,\n\t\t\tcontrollerElementId,\n\t\t\tproxydbNodes\n\t\t);\n\t} else {\n\t\tapi = getMacroponentAccessApi(\n\t\t\tfalse,\n\t\t\tcsdbNodeId,\n\t\t\tpdbNodeIds,\n\t\t\texternalControllerDependencies,\n\t\t\t[],\n\t\t\tmacroponentPropertyDefinitions,\n\t\t\tcontrollerAliasMap,\n\t\t\tseismicProperties,\n\t\t\tseismicState\n\t\t);\n\n\t\tadditionalProps.viewports = getViewportApi(seismicState);\n\n\t\tif (!isNull(repeaterItem)) {\n\t\t\tadditionalProps.item = repeaterItem;\n\t\t}\n\t}\n\n\treturn {\n\t\t...api,\n\t\t...additionalProps\n\t};\n};\n\nexport default function getEvaluatedInlineScript(\n\tmacroponentSysId,\n\tevent,\n\tmacroponentPropertyDefinitions,\n\tcsdbNodeId,\n\tpdbNodeIds,\n\texternalControllerDependencies,\n\tproxydbNodes,\n\tcontrollerAliasMap,\n\tseismicProperties,\n\tseismicState,\n\tlookupPath,\n\trepeaterItem = null,\n\ttarget = '',\n\tcontrollerElementId = ''\n) {\n\ttry {\n\t\tconst api = getAccessApi(\n\t\t\tmacroponentPropertyDefinitions,\n\t\t\tcsdbNodeId,\n\t\t\tpdbNodeIds,\n\t\t\texternalControllerDependencies,\n\t\t\tcontrollerAliasMap,\n\t\t\tseismicProperties,\n\t\t\tseismicState,\n\t\t\trepeaterItem,\n\t\t\ttarget,\n\t\t\tcontrollerElementId,\n\t\t\tproxydbNodes\n\t\t);\n\n\t\tconst helpers = getHelpers();\n\n\t\tconst transformedScript = runTransformFn(macroponentSysId, lookupPath, {\n\t\t\tapi,\n\t\t\tevent,\n\t\t\thelpers\n\t\t});\n\n\t\treturn transformedScript;\n\t} catch (e) {\n\t\tconsole.error(e);\n\t}\n}\n","export const CONTAINER_ELEMENT = 'CONTAINER_ELEMENT';\nexport const CHILD_ELEMENT = 'CHILD_ELEMENT';\nexport const SN_UXF_ELEMENT_MOUNT = 'sn-ui-builder-element-mount';\nexport const UIB_DEFAULT_SLOTTED_WRAPPER =\n\t'sn-ui-builder-default-slotted-wrapper';\nexport const ATTR_PARENT_TAG = 'attr-parent-tag';\nexport const KEY = 'key';\nexport const NOW_MODE_ACTIVE = 'active';\nexport const NOW_MODE_SUSPEND = 'suspend';\nexport const FLEX = 'flex';\nexport const INLINE_FLEX = 'inline-flex';\nexport const GRID = 'grid';\nexport const INLINE_GRID = 'inline-grid';\nexport const REPEATER = 'repeater';\nexport const REFLOW_PROP = 'uxfInternalUseOnlyReflowPropValues';\nexport const REFERENCE_ELEMENT = 'element';\nexport const REFERENCE_CONTAINER = 'container';\nexport const REFERENCE_PAGE = 'page';\nexport const REFERENCE_MACROPONENT = 'macroponent';\nexport const CONDITIONAL = 'conditional';\n","import {\n\tcreateInteractionId,\n\tdefineMetric,\n\tmark,\n\tgetMetricTypes\n} from '@servicenow/ui-metrics';\nimport {get} from '@devsnc/snowdash';\nimport {SYS_PROP_PERF_ENABLED} from '../../utils/markUtil';\n\nconst isMetricDefined = (event) => getMetricTypes()[event];\nexport const EVENT_METRIC = 'Reflow Usage';\nexport const USAGE_METRIC_LEVEL = 5;\nexport const METRIC_TYPE = 'usage';\n\nexport const initCustomReflowMetric = () => {\n\tif (!window.nowUiFramework) {\n\t\twindow.nowUiFramework = {};\n\t}\n\n\twindow.nowUiFramework.uxfReflowInteractionId = createInteractionId();\n\tdefineMetric(EVENT_METRIC, USAGE_METRIC_LEVEL);\n};\n\nexport const getUiReflowInteractionId = () => {\n\treturn get(\n\t\twindow,\n\t\t'nowUiFramework.uxfReflowInteractionId',\n\t\tcreateInteractionId()\n\t);\n};\n\nexport const getExperienceConfig = () => {\n\tconst macroponentTitle = get(\n\t\twindow,\n\t\t'ux_globals.snCanvasScreen.screenData.defaultTitle',\n\t\t''\n\t);\n\tconst macroponentSysId = get(\n\t\twindow,\n\t\t'ux_globals.snCanvasScreen.screenData.macroponentSysId'\n\t);\n\treturn {\n\t\tmacroponentTitle,\n\t\tmacroponentSysId\n\t};\n};\n\nexport const markReflow = (context, options = {}) => {\n\t// don't log marks if usage tracking is disabled\n\tif (!SYS_PROP_PERF_ENABLED) return;\n\n\t// make sure custom metric is defined\n\tif (!isMetricDefined(EVENT_METRIC)) {\n\t\tinitCustomReflowMetric();\n\t}\n\n\tconst screenMacroponent = getExperienceConfig();\n\tconst pathname = get(window, 'location.pathname', '');\n\tconst screenSize = {\n\t\theight: get(window, 'innerHeight', 0),\n\t\twidth: get(window, 'innerWidth', 0)\n\t};\n\tconst interactionId = getUiReflowInteractionId();\n\tconst markOptions = {\n\t\t...options,\n\t\t...screenMacroponent,\n\t\tpathname,\n\t\tscreenSize\n\t};\n\n\tmark(context, interactionId, EVENT_METRIC, markOptions, METRIC_TYPE);\n};\n","import {get, isNil, isEqual} from '@devsnc/snowdash';\nimport {getUxGlobal} from '../../templateLoader/utils';\nimport {\n\tLAYOUT_VERSION_3_0_0,\n\tLAYOUT_VERSION_3_1_0,\n\tMETA_PROP_NAME_APP_CONFIG_SYS_ID\n} from '../../factory/constants';\n\n// object keys\nconst EXPERIENCE_CONFIGS_KEY = 'experienceConfigs';\nconst PAGE_PROPERTIES_KEY = 'pageProperties';\n\n/**\n * Get app props from a viewport for a given experience ID\n *\n * @param {string} experienceId\n * @returns {object}\n */\nexport const getNowAppPropsForViewportRenderer = (experienceId) => {\n\tconst experienceConfigs = getUxGlobal(EXPERIENCE_CONFIGS_KEY, {});\n\tconst experienceConfigsObject = Object.keys(experienceConfigs).reduce(\n\t\t(acc, path) => {\n\t\t\tconst configKey = experienceConfigs[path].experienceId;\n\t\t\tacc[configKey] = {\n\t\t\t\t...experienceConfigs[path][PAGE_PROPERTIES_KEY],\n\t\t\t\tappId: configKey\n\t\t\t};\n\t\t\treturn acc;\n\t\t},\n\t\t{}\n\t);\n\tconst pagePropertiesForApp = Object.freeze(experienceConfigsObject);\n\treturn (\n\t\tpagePropertiesForApp[experienceId] ?? getUxGlobal(PAGE_PROPERTIES_KEY, {})\n\t);\n};\n\nexport const getExperienceName = (properties) => {\n\tconst nowUxfAppConfigSysId = properties[META_PROP_NAME_APP_CONFIG_SYS_ID];\n\tconst experienceConfigs = getUxGlobal(EXPERIENCE_CONFIGS_KEY) || {};\n\tconst experienceObject = Object.values(experienceConfigs).filter(\n\t\t(config) =>\n\t\t\tconfig.pageSettings?.sysId === nowUxfAppConfigSysId ||\n\t\t\tconfig.appConfigId === nowUxfAppConfigSysId\n\t)[0];\n\n\treturn experienceObject?.experienceName || '';\n};\n\nexport const getStylesDefaultAndQueries = (node) => {\n\tlet responsiveStylesValue = get(node, ['responsiveStyles']);\n\n\tif (isNil(responsiveStylesValue)) {\n\t\treturn [get(node, ['styles'])];\n\t}\n\n\treturn [\n\t\tget(responsiveStylesValue, ['default']),\n\t\tget(responsiveStylesValue, ['queries'])\n\t];\n};\n\nexport const isLayoutV3 = (layoutModel) => {\n\tconst version = get(layoutModel, ['version']);\n\treturn (\n\t\tisEqual(version, LAYOUT_VERSION_3_0_0) ||\n\t\tisEqual(version, LAYOUT_VERSION_3_1_0)\n\t);\n};\n\nexport const shouldRenderRecordControllerAsSibling = (\n\tcontrollerNodeIdsWithGlideForm,\n\tdataShell\n) => {\n\tconst firstNodeId = dataShell?.dataElements\n\t\t? Object.keys(dataShell?.dataElements).find((nodeId) =>\n\t\t\t\tcontrollerNodeIdsWithGlideForm?.includes(nodeId)\n\t\t  )\n\t\t: undefined;\n\tconst requireExplicitEventMapping =\n\t\tdataShell?.dataElements?.[firstNodeId]?.requireExplicitEventMapping;\n\tconst shouldRenderNodesAsSibling =\n\t\t!controllerNodeIdsWithGlideForm?.length || !!requireExplicitEventMapping;\n\treturn shouldRenderNodesAsSibling;\n};\n\nexport const isExplicitEventMappingRequired = (\n\tnodeId,\n\tcontrollerNodeIdsWithGlideForm,\n\tdataShell\n) => {\n\tconst included = controllerNodeIdsWithGlideForm?.includes(nodeId);\n\treturn (\n\t\t!included ||\n\t\t(included &&\n\t\t\tshouldRenderRecordControllerAsSibling(\n\t\t\t\tcontrollerNodeIdsWithGlideForm,\n\t\t\t\tdataShell\n\t\t\t))\n\t);\n};\n","import {\n\tfilter,\n\tget,\n\tfind,\n\tsome,\n\tisEmpty,\n\tcompact,\n\tincludes,\n\tisEqual,\n\tisNil,\n\tisArray,\n\tforOwn,\n\tforEach,\n\thasIn\n} from '@devsnc/snowdash';\nimport {memoize} from '@servicenow/ui-utils';\nimport {\n\tFLEX,\n\tINLINE_FLEX,\n\tGRID,\n\tINLINE_GRID,\n\tCONTAINER_ELEMENT,\n\tCHILD_ELEMENT,\n\tSN_UXF_ELEMENT_MOUNT,\n\tUIB_DEFAULT_SLOTTED_WRAPPER,\n\tREPEATER,\n\tNOW_MODE_ACTIVE,\n\tREFERENCE_ELEMENT,\n\tREFERENCE_CONTAINER,\n\tREFERENCE_PAGE,\n\tREFERENCE_MACROPONENT,\n\tCONDITIONAL\n} from './constants';\n\nimport {stylesCache} from './styler';\nimport {markReflow} from './trackUsageReflowHandler';\nimport {getNowUxfReflowDisabled, getShadowRoot} from '../../factory/utils';\nimport {isLayoutV3} from '../nodeRenderers/helpers';\n\n/**\n * defaultItemStyles provides the overrides to flex & grid item minimum\n *  size.\n *\n * @see https://www.w3.org/TR/css3-grid-layout/#min-size-auto\n * @see https://www.w3.org/TR/css-flexbox-1/#min-size-auto\n *\n * @returns {{\"min-height\": string, \"min-width\": string}}\n */\nexport const defaultItemStyles = () => {\n\t// styles to override the default Automatic Minimum Size of Flex  & GridItems\n\treturn {\n\t\t'min-height': '0',\n\t\t'min-width': '0'\n\t};\n};\n\n/**\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries#media_features\n * @param queries\n * @param mediaFeature\n */\nexport const getMatchingQueryStyles = (queries, mediaFeature) => {\n\t// determine matched queries based on feature - max-width, min-width etc.\n\t//  - implementing only for max-width for POC\n\treturn filter(queries, (q) => hasIn(q, ['query', mediaFeature]));\n};\n\n/**\n * getContainerQueryStyles\n * @param {*} query\n * @returns {{}}\n */\nconst getContainerQueryStyles = (query) => {\n\tconst type = get(query, ['layout', 'type']);\n\tconst isInline = get(query, ['layout', 'isInline']);\n\tconst styles = get(query, ['layout', 'styles']);\n\treturn getContainerLayoutStyles(type, styles, isInline);\n};\n\n/**\n * getChildQueryStyles\n * @param {*} query\n * @param {*} elementId\n * @returns {{}}\n */\nconst getChildQueryStyles = (query, elementId) => {\n\tconst items = get(query, ['layout', 'items']);\n\tconst item = find(\n\t\titems,\n\t\t(i) => generateChildElementId(i['element_id']) === elementId\n\t);\n\treturn {...get(item, ['rules']), ...get(item, ['styles'])};\n};\n\n/**\n * hasQueryStyles\n * @param query\n * @param elementId\n * @param elementType\n * @returns {boolean}\n */\nexport const hasQueryStyles = (query, elementId, elementType) => {\n\tlet queryStyles = {};\n\n\tif (elementType === CONTAINER_ELEMENT) {\n\t\tqueryStyles = getContainerQueryStyles(query);\n\t} else if (elementType === CHILD_ELEMENT) {\n\t\tqueryStyles = getChildQueryStyles(query, elementId);\n\t}\n\n\treturn !isEmpty(queryStyles);\n};\n\n/**\n * clearStyles\n * @param element\n * @param styles\n */\nexport const clearStyles = (element) => {\n\telement.removeAttribute('style');\n};\n\n/**\n * Sets the styles to the element\n * @param element\n * @param styles\n */\nexport const setStyles = (element, styles) => {\n\t// reset the styles\n\tclearStyles(element);\n\n\t// set element styles\n\tforOwn(styles, (value, key) => {\n\t\telement.style.setProperty(key, value);\n\t});\n};\n\n/**\n * Merge the defaultStyles and queryStyles to enable singular update on the element\n * @param defaultStyles\n * @param queryStyles\n */\nexport const mergeStyles = (defaultStyles, queryStyles) => {\n\treturn {...defaultStyles, ...queryStyles};\n};\n\n/**\n * Sets query styles the for container/parent elements as well as any existing child elements\n * @param {*} query\n * @param {*} element\n * @param {*} defaultStyles\n * @param {*} elementType\n */\nexport const setQueryStyles = (\n\tquery,\n\telement,\n\tdefaultStyles,\n\telementType = CONTAINER_ELEMENT\n) => {\n\tif (elementType === CONTAINER_ELEMENT) {\n\t\t// set merged styles for container/parent element\n\t\tconst mergedStyles = mergeStyles(\n\t\t\tdefaultStyles,\n\t\t\tgetContainerQueryStyles(query)\n\t\t);\n\t\tsetStyles(element, mergedStyles);\n\t\tif (element.children.length != 0) {\n\t\t\tconst items = get(query, ['layout', 'items']);\n\n\t\t\titems.forEach((item) => {\n\t\t\t\tconst child = element.children.namedItem(\n\t\t\t\t\tgenerateChildElementId(item?.element_id)\n\t\t\t\t);\n\n\t\t\t\tif (child) {\n\t\t\t\t\tlet childStyles = child['defaultStyles'];\n\n\t\t\t\t\tlet itemQueryStyles = {\n\t\t\t\t\t\t...get(item, ['rules']),\n\t\t\t\t\t\t...get(item, ['styles'])\n\t\t\t\t\t};\n\t\t\t\t\t// set merged styles for child elements\n\t\t\t\t\tsetStyles(child, mergeStyles(childStyles, itemQueryStyles));\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n};\n\n/**\n * shouldOverrideMinWidth\n * @param element\n * @param breakpoints Pass breakpoints in descending order\n * @param elementWidth\n * */\nexport const shouldOverrideMinWidth = (element, breakpoints, elementWidth) => {\n\tif (breakpoints == null || breakpoints.length == 0) return false;\n\tconst minWidthInStyle = element.style['min-width']\n\t\t? parseInt(element.style['min-width'])\n\t\t: 0;\n\treturn minWidthInStyle > 0 && elementWidth <= breakpoints[0];\n};\n\n/**\n * applyStylesByMediaFeature\n * @param element\n * @param matchedQueryStyles\n * @param elementWidth\n * @param mediaFeature\n * @returns {boolean}\n */\nexport const applyStylesByMediaFeature = (\n\telement,\n\telementType,\n\tmatchedQueryStyles,\n\telementWidth,\n\tmediaFeature,\n\tinitialEntryWidth,\n\tdefaultStyles,\n\tmediaFeatureStylesApplied\n) => {\n\tlet applyMatchingQueryStyles = false;\n\n\t// revisit this when we need to add support for other mediaFeature beyond 'max-width' in the future\n\tconst breakpoints = [\n\t\t...new Set(\n\t\t\tmatchedQueryStyles.map((mqs) => get(mqs, ['query', mediaFeature], 0))\n\t\t)\n\t].sort((a, b) => b - a);\n\tconst effectiveBreakpoint = getEffectiveBreakpoint(breakpoints, elementWidth);\n\n\t// Previous code was applying styles for all breakpoints that the elementWidth is less than, which is not accurate\n\t// This fix takes care of applying the appropriate breakpoint styles only\n\tif (effectiveBreakpoint) {\n\t\tconst matchedQueryStyle = matchedQueryStyles.find(\n\t\t\t(mqs) => get(mqs, ['query', mediaFeature]) === effectiveBreakpoint\n\t\t);\n\n\t\tconst autoReflowQuery = matchedQueryStyle?.query?.isAutoReflow;\n\t\tif (autoReflowQuery && getNowUxfReflowDisabled(element)) return false;\n\n\t\tif (\n\t\t\telementWidth <=\n\t\t\t\tparseInt(get(matchedQueryStyle, ['query', mediaFeature])) && // This condition might be redundant now. Revisit on next pass.\n\t\t\t!applyMatchingQueryStyles\n\t\t) {\n\t\t\tapplyMatchingQueryStyles = true;\n\t\t\tsetQueryStyles(matchedQueryStyle, element, defaultStyles, elementType);\n\n\t\t\tmarkReflow(element, {\n\t\t\t\tinitialRes: initialEntryWidth,\n\t\t\t\tbreakpoint: effectiveBreakpoint\n\t\t\t});\n\n\t\t\treturn true;\n\t\t}\n\t} else {\n\t\tif (!mediaFeatureStylesApplied) {\n\t\t\t// set the default styles\n\t\t\tsetStyles(element, defaultStyles);\n\t\t\t// override any min width settings the element has, when we have upcoming breakpoints\n\t\t\tconst overrideMinWidth = shouldOverrideMinWidth(\n\t\t\t\telement,\n\t\t\t\tbreakpoints,\n\t\t\t\telementWidth\n\t\t\t);\n\t\t\tif (overrideMinWidth) {\n\t\t\t\telement.style['min-width'] = null;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n};\n\n/**\n * getEffectiveBreakpoint\n * @param breakpoints Pass breakpoints in descending order\n * @param elementWidth\n * */\nexport const getEffectiveBreakpoint = (breakpoints, elementWidth) => {\n\tlet lowerBreakpoint = 0;\n\tlet upperBreakpoint;\n\tlet effectiveBreakpoint;\n\n\tif (!breakpoints || breakpoints.length == 0) return effectiveBreakpoint;\n\n\t// revisit this when we need to add support for other mediaFeature beyond 'max-width' in the future\n\tfor (let i = 0; i < breakpoints.length; i++) {\n\t\tupperBreakpoint = breakpoints[i];\n\t\tlowerBreakpoint = i + 1 < breakpoints.length ? breakpoints[i + 1] : 0;\n\t\tif (elementWidth <= upperBreakpoint && elementWidth > lowerBreakpoint) {\n\t\t\teffectiveBreakpoint = upperBreakpoint;\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn effectiveBreakpoint;\n};\n\n/**\n * Builds container layout styles\n * @param type\n * @param styles\n * @param isInline\n * @returns {{}}\n */\nexport const getContainerLayoutStyles = (type, styles, isInline) => {\n\tlet containerStyles = {};\n\n\tif (type === 'flex') {\n\t\tif (isInline) {\n\t\t\tcontainerStyles = {...styles, display: INLINE_FLEX};\n\t\t} else {\n\t\t\tcontainerStyles = {...styles, display: FLEX};\n\t\t}\n\t} else if (type === 'grid') {\n\t\tif (isInline) {\n\t\t\tcontainerStyles = {...styles, display: INLINE_GRID};\n\t\t} else {\n\t\t\tcontainerStyles = {...styles, display: GRID};\n\t\t}\n\t}\n\n\treturn containerStyles;\n};\n\n/**\n * generateContainerElementId\n *\n * @param parentComponentId\n * @returns {`container-${string}`}\n */\nexport const generateContainerElementId = (parentComponentId) => {\n\treturn `container-${parentComponentId}`;\n};\n\n/**\n * generateChildElementId\n * @param elementId\n * @returns {string}\n */\nexport const generateChildElementId = (elementId) => {\n\treturn `item-${elementId}`;\n};\n\n/**\n * isElementNotInLayout\n * @param child\n * @param model\n * @param isDesignTime\n * @returns {boolean}\n */\nexport const isElementNotInLayout = (child, model, isDesignTime) => {\n\tconst {default: layoutDefault} = model;\n\tconst {items} = layoutDefault;\n\tconst elementsInLayoutModel = items.map((item) =>\n\t\tremoveNamespaceFromComponentId(item.element_id)\n\t);\n\tconst childElementId = getElementIdFromChild(child, isDesignTime);\n\n\treturn (\n\t\t!isEmpty(childElementId) && !includes(elementsInLayoutModel, childElementId)\n\t);\n};\n\n/**!\n * isValidModelAndChildren\n * @param model\n * @param children\n * @returns {boolean}\n */\nexport const isValidModelAndChildren = (model, children) => {\n\tconst compactedChildren = compact(children);\n\treturn !isEmpty(model) && !isEmpty(compactedChildren);\n};\n\n/**\n * hasNonLayoutElements\n * @param children\n * @param model\n * @returns {boolean}\n */\nexport const hasNonLayoutElements = (children, model) => {\n\tlet hasNonLayoutElements = false;\n\tconst designTime = isDesignTime(children);\n\n\tforEach(children, (child) => {\n\t\tif (!isEmpty(child) && isElementNotInLayout(child, model, designTime)) {\n\t\t\t//  we set hasNonLayoutElements to truthy only when in composition but not likely\n\t\t\t//  be part of the layout model\n\t\t\thasNonLayoutElements = true;\n\t\t\treturn false;\n\t\t}\n\t});\n\n\treturn hasNonLayoutElements;\n};\n\n/**\n * isNowModeActive\n * @param child\n */\nexport const isNowModeActive = (child) => {\n\tif (isRepeater(child)) {\n\t\t// For repeater node, tag is empty and we create a\n\t\t// DIV#repeater_1 element that will not have nowMode\n\t\treturn true;\n\t} else {\n\t\treturn get(child, ['data', 'props', 'nowMode'], '') === NOW_MODE_ACTIVE;\n\t}\n};\n\n/**\n * isRepeater\n * @param child\n * @returns {boolean}\n */\nexport const isRepeater = (child) => {\n\tconst repeaterElType = get(child, 'data.dataset.type', '');\n\treturn isEqual(repeaterElType, REPEATER);\n};\n\n/**\n * isConditional\n * @param child\n * @returns {boolean}\n */\nexport const isConditional = (child) => {\n\tconst conditionalElType = get(child, 'data.dataset.type', '');\n\treturn isEqual(conditionalElType, CONDITIONAL);\n};\n\n/**\n * getElementIdFromChild\n * @param child\n * @param isDesignTime\n * @returns {*}\n */\nexport const getElementIdFromChild = (child, isDesignTime) => {\n\tlet childElementId;\n\n\t/**\n\t * In UIB elements uses \"sn-uxf-element-mount\" node. We use the layout model to\n\t * render sn-uxf-element-mount nodes in the stage.\n\t *\n\t * Structure of the\n\t * sn-uxf-element-mount {\n\t * \tdata: { attrs: { element-id: 'heading_1' } }\n\t *  sel: 'sn-uxf-element-mount'\n\t * }\n\t *\n\t * In runtime, we use generated componentId (rb36e2zb647-97-heading_1 - guid+elementId)\n\t *\n\t */\n\n\tif (isDesignTime) {\n\t\t// For UI Builder or when your passed in child doesn't actually have that component ID.\n\t\t// IE with wrapping elements or html partials.\n\t\tchildElementId = get(child, 'data.attrs.element-id', '');\n\t} else {\n\t\t// The componentIds are being prepended with a cuid.\n\t\t// Need to strip it to match the component id in the item.\n\t\t// /[^-]+$/ - match everything after the last occurrence of \"-\"\n\t\tconst childElId = get(child, 'data.props.componentId', '');\n\n\t\tif (childElId) {\n\t\t\t// for element type nodes, componentId is auto generated item\n\t\t\tchildElementId = removeNamespaceFromComponentId(childElId);\n\t\t} else if (isRepeater(child)) {\n\t\t\t// special node type repeater doesn't have generated componentId\n\t\t\tchildElementId = removeNamespaceFromComponentId(\n\t\t\t\tget(child, 'data.props.id')\n\t\t\t);\n\t\t}\n\t}\n\n\treturn childElementId;\n};\n\n/**\n * findChildByElementId\n * @param children\n * @param elementId\n * @param isDesignTime\n * @returns {*}\n */\nexport const findChildByElementId = (children, elementId, isDesignTime) => {\n\treturn find(\n\t\tchildren,\n\t\t(child) => elementId === getElementIdFromChild(child, isDesignTime)\n\t);\n};\n\n/**\n * itemsExistsInModel\n * @param model\n * @returns {boolean}\n */\nexport const itemsExistsInModel = (model) => {\n\treturn !!get(model, ['default', 'items'], []).length;\n};\n\n/**\n * isDesignTime\n * @param children\n * @returns {*}\n */\nexport const isDesignTime = (children) => {\n\tconst isUIBElements = (child, sel) => isEqual(sel, get(child, ['sel']));\n\n\treturn some(\n\t\tchildren,\n\t\t(child) =>\n\t\t\tisUIBElements(child, SN_UXF_ELEMENT_MOUNT) ||\n\t\t\tisUIBElements(child, UIB_DEFAULT_SLOTTED_WRAPPER)\n\t);\n};\n\n/**\n * findElement\n * @param el\n * @param elSelector\n * @param startElement\n * @returns {null|{shadowRoot}|*}\n */\nexport const findElement = (el, elSelector, startElement) => {\n\tif (!startElement) return null;\n\n\tlet queue = [startElement];\n\twhile (queue.length > 0) {\n\t\tconst top = queue.shift();\n\t\tconst ele = top.querySelector(el);\n\t\tif (ele && !elSelector) return ele;\n\n\t\tif (ele && ele.shadowRoot && ele.shadowRoot.querySelector(elSelector))\n\t\t\treturn ele;\n\n\t\tconst topShadow = top.shadowRoot;\n\t\tif (topShadow) queue.push(topShadow);\n\n\t\tconst allSearched = top.querySelectorAll('*');\n\t\tfor (let i = 0; i < allSearched.length; i++) {\n\t\t\tif (allSearched[i].shadowRoot) queue.push(allSearched[i].shadowRoot);\n\t\t}\n\t}\n};\n\n/**\n * getElementWidth\n * @param el\n * @returns {number}\n */\nexport const getElementWidth = (el) => {\n\tif (el === window) return window.innerWidth;\n\tconst element = el?.style?.display === 'contents' ? el.firstElementChild : el;\n\tconst style = getComputedStyle(element);\n\n\t/**\n\t * compute the width including the padding, border & margin\n\t *   offsetWidth - width that include padding and border\n\t */\n\treturn (\n\t\t(element.offsetWidth ||\n\t\t\telement.getBoundingClientRect().width ||\n\t\t\tgetShadowRoot(element)\n\t\t\t\t?.querySelector('now-uxf-page')\n\t\t\t\t?.getBoundingClientRect()?.width) +\n\t\tparseInt(style.marginLeft) +\n\t\tparseInt(style.marginRight)\n\t);\n};\n\n/**\n * Forces layout recalculation and returns offset width\n * @param el\n * @returns {number}\n */\nexport const getOffsetWidth = (el) => {\n\t// Set the display to block to force layout calculation\n\tconst display = el.style.display;\n\tel.style.display = 'block';\n\tconst offsetWidth = el.offsetWidth;\n\tel.style.display = display;\n\treturn offsetWidth;\n};\n\n/**\n * getLayoutType\n * @param styles\n * @returns {string}\n */\nexport const getLayoutType = (styles) => {\n\tconst cssDisplay = get(styles, ['display']);\n\tconst isLayoutFlex = cssDisplay === FLEX || cssDisplay === INLINE_FLEX;\n\tconst isLayoutGrid = cssDisplay === GRID || cssDisplay === INLINE_GRID;\n\n\tlet type;\n\n\tif (isLayoutFlex) type = 'flex';\n\n\tif (isLayoutGrid) type = 'grid';\n\n\treturn type;\n};\n\n/**!\n * ignoreCachedStyles: Ignore the cache when the incoming layout type is\n * different from the cached styles for the element id\n * @param id\n * @param type\n * @returns {boolean}\n */\nexport const ignoreCachedStyles = (id, type) => {\n\tconst cachedStyles = stylesCache.get(id);\n\tconst cachedLayoutType = getLayoutType(cachedStyles);\n\n\treturn !isEmpty(id) && !isEqual(type, cachedLayoutType);\n};\n\n/**\n * Generates the Id for the elemnets that gets registered to the Resize Observer pool\n * @param element\n * @returns {*}\n */\nexport const getROElementId = (element) => {\n\treturn element\n\t\t? element.getAttribute('parent-component-id') ||\n\t\t\t\telement.getAttribute('id') ||\n\t\t\t\telement.id\n\t\t: null;\n};\n\n/*\n * childHasDefinedSlot\n * @param {Node} child\n * @returns {boolean}\n */\nexport const childHasDefinedSlot = (child) =>\n\tBoolean(get(child, 'data.attrs.slot', false));\n\n/**\n * arrangeChildrenByIfPredefinedSlot\n *\n * This function takes in an array of nodes and arranges them into two groups.\n * childrenWithPredefinedSlot are those that have a defined slot attribute\n * and otherChildren are those that do not.\n *\n * @param {Array<Node>} children\n * @returns {object}\n */\nexport const arrangeChildrenByIfPredefinedSlot = (children) => {\n\tconst childrenWithPredefinedSlot = [];\n\tconst otherChildren = [];\n\tchildren.forEach((child) => {\n\t\tif (childHasDefinedSlot(child)) {\n\t\t\tchildrenWithPredefinedSlot.push(child);\n\t\t} else {\n\t\t\totherChildren.push(child);\n\t\t}\n\t});\n\treturn {childrenWithPredefinedSlot, otherChildren};\n};\n\n/**\n * generateElStylesCacheKey - Generate cache key for the element to cache it's styles.\n * @param isContainer\n * @param element\n * @returns {*}\n */\nexport const generateElStylesCacheKey = (isContainer, element) => {\n\tconst parentComponentId = element.getAttribute('parent-component-id');\n\n\treturn isContainer\n\t\t? `${get(element, 'parentElement.localName')}--${parentComponentId}`\n\t\t: get(element, ['id']);\n};\n\n/**\n * layoutModelForRepeatersWithLayout\n * @param nodeId\n * @param repeatWith\n * @param layoutModel\n * @param rendererDependencies\n * @param parentRepeaterItem\n * @returns {null|(*&{default: (*&{items: *[]})})|*}\n */\nexport const layoutModelForRepeatersWithLayout = (\n\tnode,\n\trepeatWith,\n\tlayoutModel,\n\trendererDependencies,\n\tparentRepeaterItem\n) => {\n\tconst {getComponentIdFn: getComponentId} = rendererDependencies;\n\n\tif (isEmpty(layoutModel)) {\n\t\treturn layoutModel;\n\t}\n\tif (isArray(repeatWith) && !isEmpty(repeatWith) && !isEmpty(layoutModel)) {\n\t\t// build the layout model to account the items in the\n\t\t// layout definition based on the repeatWith items\n\t\tconst {\n\t\t\tdefault: {items}\n\t\t} = layoutModel;\n\t\tlet updatedItems = [];\n\t\tforEach(repeatWith, (repeatedItem, index) => {\n\t\t\t// build the prefix for item's elementId e.g. repeater_1\n\t\t\tconst prefix = `${removeNamespaceFromComponentId(\n\t\t\t\tgetComponentId(node.nodeId, parentRepeaterItem)\n\t\t\t)}_${index}`;\n\t\t\tforEach(items, (item) => {\n\t\t\t\tconst {element_id: elementId} = item;\n\t\t\t\tlet updatedElementId = `${prefix}_${elementId}`;\n\t\t\t\tconst newItem = {...item, element_id: updatedElementId};\n\t\t\t\tupdatedItems.push(newItem);\n\t\t\t});\n\t\t});\n\t\t// re-construct the layout model with updated items\n\t\treturn {\n\t\t\t...layoutModel,\n\t\t\tdefault: {\n\t\t\t\t...layoutModel.default,\n\t\t\t\titems: [...updatedItems]\n\t\t\t}\n\t\t};\n\t}\n\treturn null;\n};\n\nexport const removeNamespaceFromComponentId = memoize((componentId) => {\n\tconst match = componentId.match(/[^-]+$/);\n\treturn match ? match[0] : componentId;\n});\n\nexport const groupReflowPropsByReference = (props) => {\n\tconst result = {};\n\tfor (const [key, value] of Object.entries(props)) {\n\t\ttry {\n\t\t\tconst valueObj = JSON.parse(value);\n\t\t\tconst {reference = REFERENCE_ELEMENT, propertyValues} = valueObj; //default reference is element.\n\t\t\tif (!result[reference]) result[reference] = {};\n\t\t\tresult[reference][key] = propertyValues;\n\t\t} catch (err) {\n\t\t\tconsole.error('Props can not be parsed!!! ', err);\n\t\t}\n\t}\n\treturn result;\n};\n\nexport const groupQueriesByReference = (queries) => {\n\tconst result = {};\n\tfor (const queryObj of queries) {\n\t\tconst {\n\t\t\tquery: {reference = REFERENCE_ELEMENT}\n\t\t} = queryObj; //default reference is element.\n\t\tif (!result[reference]) result[reference] = [];\n\t\tresult[reference].push(queryObj);\n\t}\n\treturn result;\n};\n\nexport const getReferenceTargetElement = (element, reference) => {\n\tif (!element || !reference) return;\n\tlet refElement;\n\tswitch (reference) {\n\t\tcase REFERENCE_ELEMENT:\n\t\t\trefElement = element;\n\t\t\tbreak;\n\t\tcase REFERENCE_CONTAINER:\n\t\t\trefElement = element.parentElement;\n\t\t\tbreak;\n\t\tcase REFERENCE_MACROPONENT:\n\t\t\trefElement = element.getRootNode()?.host;\n\t\t\tbreak;\n\t\tcase REFERENCE_PAGE:\n\t\t\trefElement = window;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\trefElement = element;\n\t\t\tbreak;\n\t}\n\treturn refElement || element;\n};\n\nexport const reflowApplyOrderByRef = () => [\n\tREFERENCE_PAGE,\n\tREFERENCE_MACROPONENT,\n\tREFERENCE_CONTAINER,\n\tREFERENCE_ELEMENT\n]; //element ref has high priority and overrides any other props\n\nexport const getMatchingStylesForReference = (\n\tpreviousExternalStyles,\n\tpreviousInternalStyles,\n\tqueries,\n\treference,\n\telement,\n\telementType,\n\tchildren\n) => {\n\tconst sortedQueries = queries.sort(\n\t\t(q1, q2) =>\n\t\t\tget(q2, ['query', 'max-width'], 0) - get(q1, ['query', 'max-width'], 0)\n\t); // sort largest to smallest\n\n\tconst refWidth = getElementWidth(\n\t\tgetReferenceTargetElement(element, reference)\n\t);\n\n\tlet externalStyles = previousExternalStyles;\n\tlet internalStyles = previousInternalStyles;\n\tforEach(sortedQueries, (query) => {\n\t\tconst autoReflowQuery = query?.query?.isAutoReflow;\n\t\tif (autoReflowQuery && getNowUxfReflowDisabled(element)) return; // always skip autoReflow queries if autoReflow is disabled.\n\n\t\tconst queryWidth = parseInt(get(query, ['query', 'max-width']));\n\t\tif (refWidth <= queryWidth) {\n\t\t\tif (!autoReflowQuery) {\n\t\t\t\t// This is a Layout 3.1 flow. skip autoReflow queries for external styles\n\t\t\t\texternalStyles = getExternalStyles(\n\t\t\t\t\texternalStyles,\n\t\t\t\t\tquery,\n\t\t\t\t\telement,\n\t\t\t\t\telementType,\n\t\t\t\t\tchildren\n\t\t\t\t);\n\t\t\t}\n\t\t\tinternalStyles = getInternalStyles(internalStyles, query, elementType);\n\t\t}\n\t});\n\treturn [internalStyles, externalStyles];\n};\n\nconst getExternalStyles = (\n\tpreviousStyles,\n\tquery,\n\telement,\n\telementType,\n\tchildren\n) => {\n\tlet externalStyles = previousStyles;\n\tconst items = get(query, ['layout', 'items']);\n\tif (elementType === CONTAINER_ELEMENT) {\n\t\t// this is a container resize. Calculate layout item styles of all children.\n\t\tforEach(items, (item) => {\n\t\t\tconst child = find(\n\t\t\t\tchildren,\n\t\t\t\t(c) => c?.elm?.id === generateChildElementId(item?.element_id)\n\t\t\t);\n\t\t\tif (isNil(child)) return;\n\n\t\t\tconst itemQueryStyles = {\n\t\t\t\t...get(item, ['rules']),\n\t\t\t\t...get(item, ['styles'])\n\t\t\t};\n\t\t\tif (isNil(itemQueryStyles)) return;\n\n\t\t\texternalStyles = {\n\t\t\t\t...externalStyles,\n\t\t\t\t...{\n\t\t\t\t\t[child.elm.id]: {\n\t\t\t\t\t\t...externalStyles[child?.elm?.id],\n\t\t\t\t\t\t...itemQueryStyles\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t});\n\t} else if (elementType === CHILD_ELEMENT) {\n\t\t// this is a child resize. Calculate layout item styles of this child.\n\t\tconst item = find(\n\t\t\titems,\n\t\t\t(item) => element.id === generateChildElementId(item?.element_id)\n\t\t);\n\n\t\tconst itemQueryStyles = {\n\t\t\t...get(item, ['rules']),\n\t\t\t...get(item, ['styles'])\n\t\t};\n\t\tif (!isNil(itemQueryStyles)) {\n\t\t\texternalStyles = {\n\t\t\t\t...externalStyles,\n\t\t\t\t...{[element.id]: {...externalStyles[element.id], ...itemQueryStyles}}\n\t\t\t};\n\t\t}\n\t}\n\treturn externalStyles;\n};\n\nconst getInternalStyles = (previousStyles, query, elementType) => {\n\tif (elementType != CONTAINER_ELEMENT) return previousStyles;\n\treturn {...previousStyles, ...getContainerQueryStyles(query)};\n};\n\nconst isUIBElement = (node) => {\n\treturn (\n\t\tnode.tagName === SN_UXF_ELEMENT_MOUNT ||\n\t\tnode.tagName === UIB_DEFAULT_SLOTTED_WRAPPER\n\t);\n};\n\nexport const willRenderNodeInDOM = (node, mode, model) => {\n\tconst items = model?.default?.items ?? [];\n\treturn !(\n\t\tmode === 'suspend' &&\n\t\titems.some((item) => item.element_id === node.nodeId) &&\n\t\t!isEmpty(model) &&\n\t\tisLayoutV3(model) &&\n\t\t!isUIBElement(node) &&\n\t\tnode.type !== REPEATER &&\n\t\tnode.type !== CONDITIONAL\n\t);\n};\n","import {\n\tCHILD_ELEMENT,\n\tCONTAINER_ELEMENT,\n\tFLEX,\n\tGRID,\n\tINLINE_FLEX,\n\tINLINE_GRID\n} from './constants';\nimport {\n\tapplyStylesByMediaFeature,\n\tdefaultItemStyles,\n\tgetMatchingQueryStyles,\n\thasQueryStyles,\n\tsetStyles,\n\tgetElementWidth,\n\tclearStyles,\n\tgenerateElStylesCacheKey,\n\tgetEffectiveBreakpoint,\n\tgroupReflowPropsByReference,\n\tgroupQueriesByReference,\n\tgetReferenceTargetElement,\n\treflowApplyOrderByRef,\n\tgetMatchingStylesForReference\n} from './helpers';\nimport {getNowUxfReflowDisabled} from '../../factory/utils';\nimport {isEmpty, isNil, forEach} from '@devsnc/snowdash';\nimport {isEqual} from '@devsnc/snowdash';\nimport {markReflow} from './trackUsageReflowHandler';\nimport {META_PROP_NAME_STYLE_QUERIES} from '../constants';\n\nexport const stylesCache = new Map();\nexport const propertyCache = new Map();\n\n/**\n * baseStyles\n * @param isContainer\n * @param layoutModel\n * @param elStyles\n * @returns {(*)|(*&{\"min-height\": string, \"min-width\": string})}\n */\nconst baseStyles = (isContainer, item, layoutModel, elStyles) => {\n\tconst {default: layoutDefault} = layoutModel;\n\n\tif (isContainer) {\n\t\tconst {rules, styles} = layoutDefault;\n\n\t\treturn {\n\t\t\t...rules,\n\t\t\t...styles,\n\t\t\t...elStyles\n\t\t};\n\t} else {\n\t\tconst {styles, rules} = item;\n\n\t\treturn {\n\t\t\t...defaultItemStyles(),\n\t\t\t...rules,\n\t\t\t...styles,\n\t\t\t...elStyles\n\t\t};\n\t}\n};\n\nexport const getStyles = (\n\titem,\n\tlayoutModel,\n\tisContainer = false,\n\telStyles = {}\n) => {\n\tconst {default: layoutDefault} = layoutModel;\n\tconst {type, isInline} = layoutDefault;\n\tlet styles = {};\n\tlet defaultStyles = baseStyles(isContainer, item, layoutModel, elStyles);\n\n\tif (isContainer) {\n\t\t// process styles for the container\n\t\tif (type === 'flex') {\n\t\t\tif (isInline) {\n\t\t\t\tstyles = {...defaultStyles, display: INLINE_FLEX};\n\t\t\t} else {\n\t\t\t\tstyles = {...defaultStyles, display: FLEX};\n\t\t\t}\n\t\t} else if (type === 'grid') {\n\t\t\tif (isInline) {\n\t\t\t\tstyles = {...defaultStyles, display: INLINE_GRID};\n\t\t\t} else {\n\t\t\t\tstyles = {...defaultStyles, display: GRID};\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// process styles for the items inside the container\n\t\tstyles = {...defaultStyles};\n\t}\n\n\treturn styles;\n};\n\n/**\n * This is similar to Layout3.0.0's applyQueryStyles.\n * Except, unlike 3.0, this 3.1 implementation merges styles from all breakpoints that are met.\n * During merge if two matching queries specify values for the same style property,\n *  - Smaller max-widths win over largest max-widths.\n *  - Element queries win over container queries, which in turn win over page queries.\n * For externalStyles, autoReflow queries are ignored in Layout 3.1\n *\n * Desired styles are only calculated here. Writing to DOM happens later, after merging with composition queries.\n */\nexport const getMergedLayoutQueryStyles = (\n\telement,\n\tqueries,\n\telementType,\n\tchildren\n) => {\n\tlet mergedExternalStyles = {}; // applied to the element\n\tlet mergedInternalStyles = {}; // applied to the layout div inside the container-like element where layout model is defined\n\n\tif (isEmpty(queries)) return [mergedInternalStyles, mergedExternalStyles];\n\n\tconst mqs = getMatchingQueryStyles(queries, 'max-width');\n\n\tconst querySettingOrder = reflowApplyOrderByRef();\n\tconst groupedMQS = groupQueriesByReference(mqs);\n\tforEach(querySettingOrder, (reference) => {\n\t\tconst queriesForReference = groupedMQS[reference];\n\t\tif (isEmpty(queriesForReference)) return;\n\n\t\t[mergedInternalStyles, mergedExternalStyles] =\n\t\t\tgetMatchingStylesForReference(\n\t\t\t\tmergedExternalStyles,\n\t\t\t\tmergedInternalStyles,\n\t\t\t\tqueriesForReference,\n\t\t\t\treference,\n\t\t\t\telement,\n\t\t\t\telementType,\n\t\t\t\tchildren\n\t\t\t);\n\t});\n\treturn [mergedInternalStyles, mergedExternalStyles];\n};\n\n/**\n * applyQueryStyles\n * @param element\n * @param defaultStyles\n * @param queries\n * @param elementType\n */\nexport const applyQueryStyles = (\n\telement,\n\tdefaultStyles,\n\tqueries,\n\telementType,\n\tinitialEntryWidth\n) => {\n\tconst elementId = element.id;\n\n\t// determine matched queries based on feature - max-width, min-width etc.\n\t//  - implementing only for max-width for POC\n\tconst mqs = getMatchingQueryStyles(queries, 'max-width');\n\n\tconst querySettingOrder = reflowApplyOrderByRef();\n\tconst groupedMQS = groupQueriesByReference(mqs);\n\n\tlet mediaFeatureStylesApplied = false;\n\n\tfor (let i = 0; i < querySettingOrder.length; i++) {\n\t\tconst key = querySettingOrder[i];\n\t\tconst refMQS = groupedMQS[key];\n\n\t\tif (!isEmpty(refMQS) && hasQueryStyles(refMQS[0], elementId, elementType)) {\n\t\t\tconst refElement = getReferenceTargetElement(element, key);\n\t\t\tlet widthToConsider = getElementWidth(refElement);\n\n\t\t\t// set the query styles\n\n\t\t\tconst stylesApplied = applyStylesByMediaFeature(\n\t\t\t\telement,\n\t\t\t\telementType,\n\t\t\t\trefMQS,\n\t\t\t\twidthToConsider,\n\t\t\t\t'max-width',\n\t\t\t\tinitialEntryWidth,\n\t\t\t\tdefaultStyles,\n\t\t\t\tmediaFeatureStylesApplied\n\t\t\t);\n\n\t\t\t// This boolean remains true only when query styles are actually applied in applyStylesByMediaFeature.  It prevents\n\t\t\t// scenarios where query styles are stripped due to the presence of a higher priority query that is not currently effective.\n\t\t\t// Previously, default styles were reset on the element in such cases.  Now, default styles are only reset when a query is\n\t\t\t// ineffective and no other query styles have been applied. (ref DEF0488716)\n\t\t\tmediaFeatureStylesApplied = mediaFeatureStylesApplied || stylesApplied;\n\t\t}\n\t}\n};\n\n/**\n * applyStyles\n * @param element\n * @param layoutModel\n * @param isContainer\n * @param elStyles\n */\nexport const applyStyles = (\n\telement,\n\titem,\n\tlayoutModel,\n\tisContainer = false,\n\telStyles = {},\n\tignoreCache = false\n) => {\n\tconst styles = getStyles(item, layoutModel, isContainer, elStyles);\n\tconst elStylesCacheKey = generateElStylesCacheKey(isContainer, element);\n\n\tif (isEmpty(elStylesCacheKey)) return;\n\tconst elStylesFromCache = stylesCache.get(elStylesCacheKey);\n\n\tif (ignoreCache) {\n\t\t// clear element's cached styles before applying the incoming styles\n\t\tclearStyles(element);\n\n\t\t// apply the incoming styles and update the cache\n\t\tsetStyles(element, styles);\n\t\tstylesCache.set(elStylesCacheKey, styles);\n\t} else {\n\t\tif (isEmpty(elStylesFromCache)) {\n\t\t\t// not in the stylesCache, set the element styles\n\t\t\t// and update the stylesCache\n\t\t\tsetStyles(element, styles);\n\t\t\tstylesCache.set(elStylesCacheKey, styles);\n\t\t} else if (!isEqual(elStylesFromCache, styles)) {\n\t\t\t// clear element's cached styles before applying the incoming styles\n\t\t\tclearStyles(element);\n\n\t\t\t// Apply the styles for the element when incoming styles\n\t\t\t// are different from the stylesCache for teh element\n\t\t\t// and update the stylesCache\n\t\t\tsetStyles(element, styles);\n\t\t\tstylesCache.set(elStylesCacheKey, styles);\n\t\t} else {\n\t\t\t// element's style in cache and incoming styles are same\n\t\t\t// just apply the styles & don't update to the cache\n\t\t\tsetStyles(element, styles);\n\t\t}\n\t}\n};\n\nconst applyPropertyValuesByReference = (\n\ttargetElement,\n\trefElement,\n\tpropertyValues,\n\tinitialEntryWidth\n) => {\n\tconst breakPoints = Object.keys(propertyValues).map(Number).sort().reverse();\n\n\tlet refElementWidth = getElementWidth(refElement);\n\n\tconst effectiveBreakpoint = getEffectiveBreakpoint(\n\t\tbreakPoints,\n\t\trefElementWidth\n\t);\n\n\tif (effectiveBreakpoint) {\n\t\tsetProperties(\n\t\t\ttargetElement,\n\t\t\tpropertyValues[effectiveBreakpoint],\n\t\t\tpropertyValues,\n\t\t\ttrue\n\t\t);\n\t\tmarkReflow(targetElement, {\n\t\t\tinitialRes: initialEntryWidth,\n\t\t\tbreakpoint: effectiveBreakpoint\n\t\t});\n\t\treturn effectiveBreakpoint;\n\t}\n};\n\nconst setPropertyCache = (element, props) => {\n\tconst elemId = element.componentId;\n\tpropertyCache.set(elemId, props);\n};\n\nconst getPropertyCache = (element) => {\n\tconst elemId = element.componentId;\n\treturn propertyCache.get(elemId);\n};\n\n/**\n * applyPropertyValues\n * @param element\n * @param propertyValues Property values with breakpoint as key\n * @param initialEntryWidth\n */\nexport const applyPropertyValues = (\n\telement,\n\tpropertyValues,\n\tinitialEntryWidth\n) => {\n\tif (getNowUxfReflowDisabled(element)) return;\n\n\tconst reflowPropRefMap = groupReflowPropsByReference(propertyValues);\n\tconst propSettingOrder = reflowApplyOrderByRef();\n\n\tlet effectiveBreakpoint = false;\n\n\tfor (let i = 0; i < propSettingOrder.length; i++) {\n\t\tconst key = propSettingOrder[i];\n\t\tif (reflowPropRefMap[key]) {\n\t\t\tconst breakpoint = applyPropertyValuesByReference(\n\t\t\t\telement,\n\t\t\t\tgetReferenceTargetElement(element, key),\n\t\t\t\treflowPropRefMap[key],\n\t\t\t\tinitialEntryWidth\n\t\t\t);\n\t\t\tif (breakpoint) effectiveBreakpoint = breakpoint;\n\t\t}\n\t}\n\n\tif (!effectiveBreakpoint)\n\t\tsetProperties(element, getPropertyCache(element), propertyValues); //set default properties\n};\n\n/**\n * Merges two dictionaries, ignoring the values of the \"current\" argument by substituting them with the \"base\".\n *\n * This is necessary for handling race conditions for properties that are resolved while reflow is active.\n * Since matching breakpoints for reflow always supply a property to update, this will also set the property cache\n * which may include stale/unresolved data. This function will handle asynchronous resolution, while maintaining\n * the integrity of the cache.\n * @param base {Object} Base object to substitute ignored values from\n * @param current {Object} Latest object to override with base values\n * @param ignored {Object} Map of properties to ignore\n * @returns {Object}\n */\nconst mergeAndIgnoreProperties = (base, current, ignored) => {\n\tfor (const key of Object.keys(ignored)) {\n\t\tif (key in current) {\n\t\t\tcurrent[key] = base[key];\n\t\t}\n\t}\n\treturn current;\n};\n\n/**\n * filterReflowProperties - only cache HTML element property and values based on the\n * properties that are present in the autoreflow rules.\n * @param element\n * @param propertyValues Properties to Update - from autoreflow rules\n * @returns {Object} - the current element's properties filtered out by the properties in propertyValues\n */\nexport const filterReflowProperties = (elementProps, propertyValues) => {\n\tlet allPropNamesFromRules = [];\n\tObject.values(propertyValues).forEach((value) => {\n\t\tallPropNamesFromRules = allPropNamesFromRules.concat(Object.keys(value));\n\t});\n\n\tconst deduppedPropNamesFromRules = new Set(allPropNamesFromRules);\n\n\tlet elementReflowProperties = {};\n\tfor (let propName of deduppedPropNamesFromRules) {\n\t\tif (propName in elementProps) {\n\t\t\telementReflowProperties[propName] = elementProps[propName];\n\t\t}\n\t}\n\treturn elementReflowProperties;\n};\n\n/**\n * setProperties\n * @param element\n * @param properties Properties to Update\n * @param propertyValues the set Properties per breakpoint in the autoreflow rule/record\n * @param overrideCache Override the cached properties, ignoring the supplied properties on the current element\n */\nexport const setProperties = (\n\telement,\n\tproperties,\n\tpropertyValues,\n\toverrideCache = false\n) => {\n\tif (isEmpty(properties)) return;\n\n\tif (element.helpers && element.helpers.updateProperties) {\n\t\tlet propsToUpdate = {};\n\t\tconst currentProps = filterReflowProperties(\n\t\t\telement.getProperties(),\n\t\t\tpropertyValues\n\t\t);\n\n\t\tfor (const [key, value] of Object.entries(properties)) {\n\t\t\tif (!isEqual(currentProps[key], value)) {\n\t\t\t\tpropsToUpdate[key] = value;\n\t\t\t}\n\t\t}\n\t\tif (!isEmpty(propsToUpdate) || overrideCache) {\n\t\t\tconst cachedProperties = getPropertyCache(element);\n\t\t\tif (!cachedProperties) {\n\t\t\t\tsetPropertyCache(element, currentProps);\n\t\t\t} else if (overrideCache) {\n\t\t\t\tsetPropertyCache(\n\t\t\t\t\telement,\n\t\t\t\t\tmergeAndIgnoreProperties(cachedProperties, currentProps, properties)\n\t\t\t\t);\n\t\t\t}\n\t\t\telement.helpers.updateProperties(propsToUpdate);\n\t\t}\n\t}\n};\n\nexport const applyMergedQueryStyles = (\n\telement,\n\telementType,\n\tchildren,\n\tmergedDefaultLayoutStylesByItem = {},\n\tinternalStyles = {}\n) => {\n\tif (elementType === CHILD_ELEMENT) {\n\t\tapplyCompositionalStylesForElement(\n\t\t\telement,\n\t\t\tmergedDefaultLayoutStylesByItem[element.id]\n\t\t);\n\t} else if (elementType === CONTAINER_ELEMENT) {\n\t\tapplyCompositionalStylesForElement(element, {\n\t\t\t...element.defaultStyles,\n\t\t\t...internalStyles\n\t\t});\n\t\tforEach(children, (child) => {\n\t\t\tapplyCompositionalStylesForElement(\n\t\t\t\tchild?.elm,\n\t\t\t\tmergedDefaultLayoutStylesByItem[child?.elm?.id]\n\t\t\t);\n\t\t});\n\t}\n};\n\nconst applyCompositionalStylesForElement = (element, mergedStyles = {}) => {\n\tif (isNil(element)) return;\n\n\tconst queries = element[META_PROP_NAME_STYLE_QUERIES];\n\tif (isEmpty(queries) && isEmpty(mergedStyles)) return;\n\n\tif (!isEmpty(queries)) {\n\t\t// calculate compositionalStyles to apply\n\t\tconst queryReferenceOrder = reflowApplyOrderByRef();\n\t\tforEach(queryReferenceOrder, (reference) => {\n\t\t\tconst queriesForReference = queries[reference];\n\t\t\tif (isEmpty(queriesForReference)) return;\n\n\t\t\tconst referenceElement = getReferenceTargetElement(element, reference);\n\t\t\tconst referenceWidth = getElementWidth(referenceElement);\n\n\t\t\tmergedStyles = queriesForReference.reduce(\n\t\t\t\t(mergedStyles, {query, value: queryStyles}) => {\n\t\t\t\t\tif (referenceWidth > query['max-width']) return mergedStyles;\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...mergedStyles,\n\t\t\t\t\t\t...queryStyles\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\tmergedStyles\n\t\t\t);\n\t\t});\n\t}\n\n\telement.removeAttribute('style'); // because clearStyles inside setStyles doesn't actually clear styles\n\tsetStyles(element, {...element.defaultStyles, ...mergedStyles});\n};\n","import {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {isNil, isEmpty, get, set} from '@devsnc/snowdash';\nimport {debounce} from '@devsnc/snowdash';\nimport {MAX_WIDTH, REFERENCE, META_PROP_NAME_STYLE_QUERIES} from '../constants';\nimport {applyMergedQueryStyles} from '../layout/styler';\nimport {\n\tCHILD_ELEMENT,\n\tCONTAINER_ELEMENT,\n\tREFERENCE_CONTAINER,\n\tREFERENCE_ELEMENT,\n\tREFERENCE_MACROPONENT,\n\tREFERENCE_PAGE\n} from '../layout/constants';\n\n// only max-width support for now\nexport const MediaQueryRegistry = new Map();\n/**\n * Calls window.matchMedia on the mediaQuery breakpoint.\n * Resulting MediaQueryList (https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList) is stored in the MediaQueryRegistry.\n *\n * Why a registry for media queries?\n * If multiple macroponents register the same media query, this registry ensures only one MediaQueryList is created.\n *\n * @param {object} mediaQuery - A media query to be registered, an object like { \"max-width\": 768, \"reference\": \"page\" }\n */\nexport function registerMediaQuery(mediaQuery) {\n\tconst mediaQueryPath = getMediaQueryPath(mediaQuery);\n\tif (MediaQueryRegistry.has(mediaQueryPath)) return;\n\tconst mediaQueryListTarget = window.matchMedia(\n\t\t`(${MAX_WIDTH}: ${mediaQuery[MAX_WIDTH]}px)`\n\t);\n\tMediaQueryRegistry.set(mediaQueryPath, mediaQueryListTarget);\n}\n\nexport function getMediaQueryPath(mediaQuery) {\n\tconst {reference} = mediaQuery;\n\tif (reference === REFERENCE_MACROPONENT) {\n\t\treturn `${MAX_WIDTH}_${mediaQuery[MAX_WIDTH]}_${mediaQuery[REFERENCE]}`;\n\t}\n\treturn `${MAX_WIDTH}_${mediaQuery[MAX_WIDTH]}`;\n}\n\nexport function getMediaQuery(mediaQueryPath) {\n\treturn MediaQueryRegistry.get(mediaQueryPath);\n}\n\nlet compositionQueryRO;\n/**\n *\n * @returns {ResizeObserver}\n */\nexport function getResizeObserver() {\n\tif (!isNil(compositionQueryRO)) return compositionQueryRO;\n\n\treturn (compositionQueryRO = new ResizeObserver(\n\t\tdebounce((entries) => {\n\t\t\tmediaQueryResizeObserverCallback(entries);\n\t\t}, 60)\n\t));\n}\n\nconst mediaQueryResizeObserverCallback = (entries) => {\n\tentries.forEach((entry) => {\n\t\tconst element = entry.target;\n\t\tconst queries = element[META_PROP_NAME_STYLE_QUERIES];\n\t\tconst componentId = getComponentId(element);\n\t\tif (!isEmpty(queries) && !containerQueryRegistry.has(componentId)) {\n\t\t\tapplyMergedQueryStyles(element, CHILD_ELEMENT);\n\t\t}\n\n\t\tif (containerQueryRegistry.has(componentId)) {\n\t\t\tapplyMergedQueryStyles(\n\t\t\t\telement,\n\t\t\t\tCONTAINER_ELEMENT,\n\t\t\t\tcontainerQueryRegistry.get(componentId)\n\t\t\t);\n\t\t}\n\t});\n};\n\nexport const getComponentId = (element) => {\n\t// if componentId exists, return that.\n\t// if not, return the parent-component-id attribute set by layout on the layout3 div.\n\treturn element?.componentId\n\t\t? element.componentId\n\t\t: element?.getAttribute('parent-component-id');\n};\n\nexport const containerQueryRegistry = new Map(); // todo: can this be repurposed to avoid setting META_PROP_NAME_STYLE_QUERIES prop?\nexport const registerCompositionStyleQueries = (element) => {\n\tconst queries = element[META_PROP_NAME_STYLE_QUERIES];\n\tif (queries[REFERENCE_ELEMENT]) {\n\t\tgetResizeObserver().observe(element);\n\t}\n\n\tif (\n\t\tqueries[REFERENCE_CONTAINER] ||\n\t\tqueries[REFERENCE_PAGE] ||\n\t\tqueries[REFERENCE_MACROPONENT]\n\t) {\n\t\tconst parentElement = element.parentElement;\n\t\tconst parentElementComponentId = getComponentId(parentElement);\n\t\tif (isEmpty(parentElementComponentId)) {\n\t\t\tconsole.warn(\n\t\t\t\t`Composition style queries not registered for element ${getComponentId(\n\t\t\t\t\telement\n\t\t\t\t)}`\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tlet childrenWithQueries =\n\t\t\tcontainerQueryRegistry.get(parentElementComponentId) || [];\n\t\tchildrenWithQueries.push({elm: element});\n\t\tcontainerQueryRegistry.set(parentElementComponentId, childrenWithQueries);\n\n\t\tif (childrenWithQueries.length === 1) {\n\t\t\t// observe only once\n\t\t\tgetResizeObserver().observe(parentElement);\n\t\t}\n\t}\n};\n\nexport const deregisterCompositionStyleQueries = (element) => {\n\tgetResizeObserver().unobserve(element);\n\n\tconst parentElement = element.parentElement;\n\tif (isNil(parentElement)) return;\n\n\tconst parentComponentId = getComponentId(parentElement);\n\tif (containerQueryRegistry.has(parentComponentId)) {\n\t\tlet parentElementChildrenWithQueries =\n\t\t\tcontainerQueryRegistry.get(parentComponentId);\n\t\tparentElementChildrenWithQueries = parentElementChildrenWithQueries?.filter(\n\t\t\t(child) => child.elm && child.elm !== element\n\t\t);\n\t\tif (isEmpty(parentElementChildrenWithQueries)) {\n\t\t\tcontainerQueryRegistry.delete(parentComponentId);\n\t\t\tgetResizeObserver().unobserve(parentElement);\n\t\t} else {\n\t\t\tcontainerQueryRegistry.set(\n\t\t\t\tparentComponentId,\n\t\t\t\tparentElementChildrenWithQueries\n\t\t\t);\n\t\t}\n\t}\n};\n\nexport const styleQueriesWrapper = (vNode) => {\n\tconst hasQueries = !isEmpty(\n\t\tget(vNode, ['data', 'props', META_PROP_NAME_STYLE_QUERIES])\n\t);\n\tif (hasQueries) {\n\t\tconst createHook = vNode?.data?.hook?.create;\n\t\tconst hook = {\n\t\t\tcreate: createHook,\n\t\t\tinsert: ({elm}) => {\n\t\t\t\tconst defaultStyles = get(vNode, ['data', 'style'], {});\n\t\t\t\telm.defaultStyles = elm.lazyLoadingStyles\n\t\t\t\t\t? {...defaultStyles, ...elm.lazyLoadingStyles}\n\t\t\t\t\t: defaultStyles;\n\t\t\t\tregisterCompositionStyleQueries(elm);\n\t\t\t},\n\t\t\tdestroy: ({elm}) => {\n\t\t\t\tderegisterCompositionStyleQueries(elm);\n\t\t\t}\n\t\t};\n\t\tset(vNode, 'data.hook', hook);\n\t}\n\treturn vNode;\n};\n\nexport const WithStyleQueriesIfPresent = (_, children) => {\n\treturn (\n\t\t<Fragment>\n\t\t\t{children.map((child) => {\n\t\t\t\treturn styleQueriesWrapper(child);\n\t\t\t})}\n\t\t</Fragment>\n\t);\n};\n\nexport const __testing =\n\tprocess.env.NODE_ENV === 'test'\n\t\t? {\n\t\t\t\tmediaQueryResizeObserverCallback\n\t\t  }\n\t\t: void 0;\n","import {isNil} from '@devsnc/snowdash';\nimport resolveWith from './resolveWith';\nimport {REFERENCE_PAGE, REFERENCE_MACROPONENT} from '../layout/constants';\nimport {MACROPONENT_INTERNAL_RESPONSIVE_STATE} from '../constants';\nimport {getMediaQueryPath} from '../registry/mediaQueryRegistry';\n\nconst responsiveReferenceOrder = [REFERENCE_PAGE, REFERENCE_MACROPONENT];\n\nexport default (seismicState, resolvers, responsiveUxValue, repeaterItem) => {\n\tconst {default: defaultUxValue, queries} = responsiveUxValue;\n\n\tconst {[MACROPONENT_INTERNAL_RESPONSIVE_STATE]: responsiveState} =\n\t\tseismicState;\n\n\tlet effectiveValue = defaultUxValue;\n\tresponsiveReferenceOrder.forEach((referenceType) => {\n\t\tconst queriesForReference = queries[referenceType];\n\n\t\tif (!queriesForReference) return;\n\n\t\t/**\n\t\t * responsiveState has the mediaquery match information: { \"max-width_768\": true, \"max-width_300\": false, \"max-width_420\": true }.\n\t\t *\n\t\t * sortedQueries are in the increasing order of their max-widths:\n\t\t * \t[{\"query\": {\"max-width\": 420}, \"value\": {}}, {\"query\": {\"max-width\": 768}, \"value\": {}}]\n\t\t *\n\t\t * We find the first entry in sortedQueries where responsiveState[queryPath] = true.\n\t\t */\n\t\tconst smallestMaxWidthMatch = queriesForReference.find(\n\t\t\t(q) => responsiveState[getMediaQueryPath(q.query)]\n\t\t);\n\t\tif (!isNil(smallestMaxWidthMatch))\n\t\t\teffectiveValue = smallestMaxWidthMatch.value;\n\t});\n\treturn resolveWith(resolvers, effectiveValue, repeaterItem);\n};\n","import {partial} from '@devsnc/snowdash';\nimport getResolvedBindingWithState from './getResolvedBindingWithState.js';\nimport getEvaluatedInlineScript from './getEvaluatedInlineScript.js';\nimport {propertyTypes} from '../constants.js';\nimport getResolvedClientResponsiveQuery from './getResolvedClientResponsiveQuery.js';\nimport basicResolvers from './basicResolvers.js';\n\nconst {RUNTIME_INLINE_SCRIPT, RT_CLIENT_RESPONSIVE_QUERY} = propertyTypes;\n\nexport default function getResolvers(\n\tmacroponentSysId,\n\tmacroponentPropertyDefinitions,\n\tcsdbNodeId,\n\tpdbNodeIds,\n\texternalControllerDependencies = [],\n\tproxydbNodes,\n\tcontrollerAliasMap\n) {\n\treturn {\n\t\t...basicResolvers,\n\t\t[RUNTIME_INLINE_SCRIPT]: partial(\n\t\t\tgetEvaluatedInlineScript,\n\t\t\tmacroponentSysId,\n\t\t\tnull,\n\t\t\tmacroponentPropertyDefinitions,\n\t\t\tcsdbNodeId,\n\t\t\tpdbNodeIds,\n\t\t\t[], //TODO: Get external controller dependencies here\n\t\t\tproxydbNodes,\n\t\t\tcontrollerAliasMap\n\t\t),\n\t\t[RT_CLIENT_RESPONSIVE_QUERY]: getResolvedClientResponsiveQuery,\n\t\tbinding: partial(\n\t\t\tgetResolvedBindingWithState,\n\t\t\tcsdbNodeId,\n\t\t\tpdbNodeIds,\n\t\t\texternalControllerDependencies,\n\t\t\tcontrollerAliasMap\n\t\t)\n\t};\n}\n","import {resolveAttributesUxValue} from './attributeResolver';\nimport {makeApiRequest} from './apiRequestHandler';\nimport getResolversForView from '../../../../UxValueResolver/getResolversForView';\n\n/**\n * Calls the external API based on the given options and coeffects.\n *\n * @param {object} options - Options for controlling the API call's flow.\n * @param {object} coeffects - Coeffects for managing state, properties, action, and dispatch.\n * @async\n * @function\n */\nasync function callExternalApiEffect(options, coeffects) {\n\tconst {startActionType, successActionType, errorActionType} = options;\n\tconst {\n\t\tstate,\n\t\tproperties,\n\t\taction: {payload, meta},\n\t\tdispatch\n\t} = coeffects;\n\tconst {\n\t\tpipelineId,\n\t\torigin,\n\t\tpipelineSysId,\n\t\tpipelineResolverDependencies: {\n\t\t\tmcpSysId,\n\t\t\tcsdbNodeId,\n\t\t\tpdbNodeIds,\n\t\t\tproxyDataBrokerNodes,\n\t\t\texternalControllerDependencies,\n\t\t\tcontrollerAliasMap\n\t\t}\n\t} = meta;\n\n\tconst externalRESTDataBroker = payload.data.find(\n\t\t(data) => data.definitionSysId === pipelineSysId\n\t);\n\tconst {inputValues = {}, headers = {}} = externalRESTDataBroker;\n\n\tconst resolversForExternalRESTAttributes = getResolversForView(\n\t\tmcpSysId,\n\t\tproperties,\n\t\tcsdbNodeId,\n\t\tpdbNodeIds,\n\t\texternalControllerDependencies,\n\t\tproxyDataBrokerNodes,\n\t\tcontrollerAliasMap\n\t);\n\n\tconst resolvedInputValues = resolveAttributesUxValue(\n\t\t{...inputValues},\n\t\tresolversForExternalRESTAttributes,\n\t\tproperties,\n\t\tstate\n\t);\n\tconst resolvedHeaders = resolveAttributesUxValue(\n\t\t{headers},\n\t\tresolversForExternalRESTAttributes,\n\t\tproperties,\n\t\tstate\n\t);\n\n\tawait makeApiRequest(\n\t\texternalRESTDataBroker,\n\t\t{...resolvedHeaders['headers']},\n\t\t{...resolvedInputValues},\n\t\tdispatch,\n\t\tstartActionType,\n\t\tsuccessActionType,\n\t\terrorActionType,\n\t\tpipelineSysId,\n\t\tpipelineId,\n\t\torigin\n\t);\n}\n\nexport const exportForTesting = {callExternalApiEffect};\n/**\n * Function with effect and args based on options.\n *\n * @param {object} options - Options for controlling the API call's flow.\n * @returns {object} - Object with effect function and args array.\n */\nexport default function externalRESTDBEffect(options) {\n\treturn {\n\t\teffect: callExternalApiEffect,\n\t\targs: [options]\n\t};\n}\n","import {createHttpEffect} from '@servicenow/ui-effect-http';\nimport {createGraphQLEffect} from '@servicenow/ui-effect-graphql';\nimport {actionTypes} from './constants';\nimport {dispatchInternalAction} from '../../../getInternalEffect.js';\nimport {get, set} from '@devsnc/snowdash';\nimport {default as console} from '../../../../utils/getLogger.js';\nimport {markDBExecEffect} from '../../../../utils/markUtil';\n\nimport formatPayloadForDBExec from './formatPayloadForDBExec';\nimport getDBExecPipelineResults from './getDBExecPipelineResults';\nimport isGraphQLTransportEnabled from './isGraphQLTransportEnabled';\nimport externalRESTDBEffect from './external-rest/externalRESTDBEffect';\n\nimport {resolveAttributesUxValue} from './external-rest/attributeResolver';\nimport getResolversForView from '../../../UxValueResolver/getResolversForView';\nimport resolveForDbExecEngine from '../../../UxValueResolver/resolveForDbExecEngine';\nimport {klona} from 'klona';\n\nconst {\n\tDB_ENGINE_EXEC_REQUESTED,\n\tDB_ENGINE_EXEC_REQUESTED_WITH_RECORDING,\n\tDB_ENGINE_EXEC_SUCCEEDED,\n\tDB_ENGINE_EXEC_STARTED,\n\tDB_ENGINE_EXEC_FAILED,\n\tDB_ENGINE_EXEC_PROGRESSED,\n\tUXF_DB_REFRESH_REQUESTED,\n\tUXF_DB_OP_EXEC_REQUESTED,\n\tUXF_DB_DATA_RECEIVED,\n\tDATA_FETCH_INITIATED,\n\tDATA_FETCH_SUCCEEDED,\n\tDATA_FETCH_FAILED,\n\tDATA_OP_INITIATED,\n\tDATA_OP_SUCCEEDED,\n\tDATA_OP_FAILED\n} = actionTypes;\n\nconst isDevMode = !!process.env.DEV_MODE;\n\nconst DB_ENGINE_EXEC_REST_URL = '/api/now/uxf/databroker/exec';\n\nconst dataResourceQuery = `query ($data: [global_DataResource_ExecutionRequestNode]!) {\n  global {\n    DataResource {\n      DataResourceDataSet(data: $data) {\n        sysId\n        status\n        executionTime\n        executionResult\n        errors {\n          message\n          errorType\n          locations\n          validationErrorType\n        }\n      }\n    }\n  }\n}\n`;\n\nconst dbExecGQLEffect = createGraphQLEffect(dataResourceQuery, {\n\tvariableList: ['data'],\n\tsuccessActionType: DB_ENGINE_EXEC_SUCCEEDED,\n\tstartActionType: DB_ENGINE_EXEC_STARTED,\n\terrorActionType: DB_ENGINE_EXEC_FAILED\n});\n\nconst dbExecGQLEffectRecordHeader = createGraphQLEffect(dataResourceQuery, {\n\tvariableList: ['data'],\n\tsuccessActionType: DB_ENGINE_EXEC_SUCCEEDED,\n\tstartActionType: DB_ENGINE_EXEC_STARTED,\n\terrorActionType: DB_ENGINE_EXEC_FAILED,\n\theaderList: {\n\t\t'X-NOW-API-PREFETCH-ALLOWED': 'true'\n\t}\n});\n\nconst dbExecRESTEffect = createHttpEffect(DB_ENGINE_EXEC_REST_URL, {\n\tmethod: 'POST', // because GET can't handle json request bodies,\n\tbatch: isDevMode === false,\n\tsuccessActionType: DB_ENGINE_EXEC_SUCCEEDED,\n\tstartActionType: DB_ENGINE_EXEC_STARTED,\n\terrorActionType: DB_ENGINE_EXEC_FAILED,\n\tprogressActionType: DB_ENGINE_EXEC_PROGRESSED\n});\n\nconst unbatchedDbExecRESTEffect = createHttpEffect(DB_ENGINE_EXEC_REST_URL, {\n\tmethod: 'POST',\n\tbatch: false,\n\tsuccessActionType: DB_ENGINE_EXEC_SUCCEEDED,\n\tstartActionType: DB_ENGINE_EXEC_STARTED,\n\terrorActionType: DB_ENGINE_EXEC_FAILED,\n\tprogressActionType: DB_ENGINE_EXEC_PROGRESSED\n});\n\nconst dbExecRESTExternalEffect = externalRESTDBEffect({\n\tsuccessActionType: DB_ENGINE_EXEC_SUCCEEDED,\n\tstartActionType: DB_ENGINE_EXEC_STARTED,\n\terrorActionType: DB_ENGINE_EXEC_FAILED,\n\tprogressActionType: DB_ENGINE_EXEC_PROGRESSED\n});\n\nconst dbExecRESTEffectRecordHeader = createHttpEffect(DB_ENGINE_EXEC_REST_URL, {\n\tmethod: 'POST', // because GET can't handle json request bodies,\n\tbatch: isDevMode === false,\n\tsuccessActionType: DB_ENGINE_EXEC_SUCCEEDED,\n\tstartActionType: DB_ENGINE_EXEC_STARTED,\n\terrorActionType: DB_ENGINE_EXEC_FAILED,\n\tprogressActionType: DB_ENGINE_EXEC_PROGRESSED,\n\theaders: {\n\t\t'X-NOW-API-PREFETCH-ALLOWED': 'true'\n\t}\n});\n\nconst createDbExecSuccessEffect = (pipelineDefinitions) => ({\n\teffect: (coeffects) => {\n\t\tconst {\n\t\t\taction: {\n\t\t\t\tmeta: {pipelineId, origin}\n\t\t\t},\n\t\t\tdispatch\n\t\t} = coeffects;\n\n\t\tconst payload = get(coeffects, 'action.payload');\n\t\tconst pipelineResults = getDBExecPipelineResults(payload);\n\t\tmarkDBExecEffect(DB_ENGINE_EXEC_SUCCEEDED, coeffects);\n\n\t\tdispatchInternalAction(\n\t\t\tdispatch,\n\t\t\tUXF_DB_DATA_RECEIVED,\n\t\t\t{\n\t\t\t\tid: pipelineId,\n\t\t\t\toutput: pipelineResults,\n\t\t\t\torigin: origin\n\t\t\t},\n\t\t\t{pipelineDefinition: get(pipelineDefinitions, pipelineId)}\n\t\t);\n\t},\n\tstopPropagation: true\n});\n\nconst dbExecFailureEffect = (pipelineDefinitions) => ({\n\teffect: (coeffects) => {\n\t\tconst {\n\t\t\taction: {\n\t\t\t\tpayload,\n\t\t\t\tmeta: {pipelineId, origin}\n\t\t\t},\n\t\t\tdispatch\n\t\t} = coeffects;\n\t\tconst {pipelineResults = []} = payload;\n\t\tconst pipelineDefinition = get(pipelineDefinitions, pipelineId);\n\n\t\tmarkDBExecEffect(DB_ENGINE_EXEC_FAILED, coeffects);\n\n\t\tconsole.error(\n\t\t\t`DB exec engine call failed for pipelineId: ${pipelineId}`,\n\t\t\tpayload\n\t\t);\n\t\tsignalDBExecCompleteLifecycle(\n\t\t\tdispatch,\n\t\t\torigin,\n\t\t\tpipelineResults,\n\t\t\tfalse,\n\t\t\tpipelineDefinition\n\t\t);\n\t},\n\tstopPropagation: true\n});\n\nexport const signalDBExecInitiatedLifecycle = (dispatch, origin) => {\n\tconst type = get(origin, 'requestType');\n\tconst requestId = get(origin, 'requestId');\n\tif (!requestId) return;\n\tswitch (type) {\n\t\tcase UXF_DB_OP_EXEC_REQUESTED:\n\t\t\tdispatch(DATA_OP_INITIATED, makeOpIdPayload(requestId));\n\t\t\tbreak;\n\t\tcase UXF_DB_REFRESH_REQUESTED:\n\t\t\tmakeFetchIdPayloads(requestId).forEach((fetchPayload) => {\n\t\t\t\tdispatch(DATA_FETCH_INITIATED, fetchPayload);\n\t\t\t});\n\t\t\tbreak;\n\t}\n};\n\nconst makeFetchIdPayloads = (requestId) => {\n\treturn requestId.split('->').map((dataElemId) => ({dataElemId}));\n};\n\nconst makeOpIdPayload = (requestId) => {\n\tconst operationKey = requestId.split('#');\n\treturn {\n\t\tdataElemId: operationKey[0],\n\t\toperation: operationKey[1]\n\t};\n};\n\nconst filterIdsByResult = (dbElements, pipelineResults, pipelineDefinition) => {\n\treturn dbElements.filter((db) => {\n\t\tconst definitionId = pipelineDefinition?.filter(\n\t\t\t(definition) => definition.id == db.dataElemId\n\t\t)?.[0]?.definitionSysId;\n\t\tif (!definitionId) return false;\n\t\treturn (\n\t\t\tpipelineResults.filter((result) => result.sysId === definitionId).length >\n\t\t\t0\n\t\t);\n\t});\n};\n\nexport const signalDBExecCompleteLifecycle = (\n\tdispatch,\n\torigin,\n\tpipelineResults,\n\tsuccess,\n\tpipelineDefinition\n) => {\n\tconst type = get(origin, 'requestType');\n\tconst requestId = get(origin, 'requestId');\n\tif (!requestId) return;\n\tswitch (type) {\n\t\tcase UXF_DB_OP_EXEC_REQUESTED:\n\t\t\tif (success && isSuccessfulOpResult(pipelineResults)) {\n\t\t\t\tdispatch(DATA_OP_SUCCEEDED, {\n\t\t\t\t\t...makeOpIdPayload(requestId),\n\t\t\t\t\tdata: makeSuccessfulOpResultPayload(pipelineResults)\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tdispatch(DATA_OP_FAILED, {\n\t\t\t\t\t...makeOpIdPayload(requestId),\n\t\t\t\t\terrors: makeFailedOpResultPayload(pipelineResults)\n\t\t\t\t});\n\t\t\t}\n\t\t\tbreak;\n\t\tcase UXF_DB_REFRESH_REQUESTED: {\n\t\t\tconst ids = filterIdsByResult(\n\t\t\t\tmakeFetchIdPayloads(requestId),\n\t\t\t\tpipelineResults,\n\t\t\t\tpipelineDefinition\n\t\t\t);\n\t\t\tids.forEach((fetchIdPayload, resultIndex) => {\n\t\t\t\tif (\n\t\t\t\t\tsuccess &&\n\t\t\t\t\tisSuccessfulFetchResultItem(pipelineResults[resultIndex])\n\t\t\t\t) {\n\t\t\t\t\tdispatch(DATA_FETCH_SUCCEEDED, fetchIdPayload);\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(DATA_FETCH_FAILED, {\n\t\t\t\t\t\t...fetchIdPayload,\n\t\t\t\t\t\terrors: makeFailedFetchErrorPayload(pipelineResults[resultIndex])\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t}\n};\n\nconst isSuccessfulOpResult = (pipelineResults) => {\n\tconst status = get(pipelineResults, '[0].status', 500);\n\treturn status < 400 && status > 199;\n};\nconst makeSuccessfulOpResultPayload = (pipelineResults) => {\n\treturn get(pipelineResults, '[0].executionResult', {});\n};\nconst makeFailedOpResultPayload = (pipelineResults) => {\n\treturn get(pipelineResults, '[0].errors', []);\n};\n\nconst isSuccessfulFetchResultItem = (resultItem) => {\n\tconst status = get(resultItem, 'status', 500);\n\treturn status < 400 && status > 199;\n};\nconst makeFailedFetchErrorPayload = (resultItem) =>\n\tget(resultItem, 'errors', []);\n\nconst dbExecInterceptor = (datashell) => ({\n\tbefore: (context) => {\n\t\tconst {coeffects, effects} = context;\n\t\tconst origin = get(coeffects, 'action.meta.origin');\n\t\tconst payload = get(coeffects, 'action.payload');\n\t\tconst meta = get(coeffects, 'action.meta');\n\t\tmeta.batchExcluded = false;\n\n\t\tpayload.data.map((node) => {\n\t\t\tif (!datashell || meta.batchExcluded || !node.definitionSysId) return;\n\n\t\t\tconst batchExclude = get(\n\t\t\t\tdatashell,\n\t\t\t\t`dataBrokers[${node.definitionSysId}].batchExclude`,\n\t\t\t\tfalse\n\t\t\t);\n\n\t\t\tmeta.batchExcluded = meta.batchExcluded || batchExclude;\n\t\t});\n\n\t\tset(context, 'coeffects.action.payload', formatPayloadForDBExec(payload));\n\t\treturn !origin\n\t\t\t? context\n\t\t\t: {\n\t\t\t\t\t...context,\n\t\t\t\t\teffects: [\n\t\t\t\t\t\t...effects,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\teffect: signalDBExecInitiatedLifecycle,\n\t\t\t\t\t\t\targs: [coeffects.dispatch, get(coeffects, 'action.meta.origin')]\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t  };\n\t}\n});\n\nexport const resolveHeaders = (coeffects) => {\n\tconst {\n\t\tstate,\n\t\tproperties,\n\t\taction: {meta}\n\t} = coeffects;\n\tconst {\n\t\tpipelineResolverDependencies: {\n\t\t\tmcpSysId,\n\t\t\tcsdbNodeId,\n\t\t\tpdbNodeIds,\n\t\t\tproxyDataBrokerNodes,\n\t\t\texternalControllerDependencies,\n\t\t\tcontrollerAliasMap\n\t\t},\n\t\tpipelineDefinition\n\t} = meta;\n\tconst resolversForAttributes = getResolversForView(\n\t\tmcpSysId,\n\t\tproperties,\n\t\tcsdbNodeId,\n\t\tpdbNodeIds,\n\t\texternalControllerDependencies,\n\t\tproxyDataBrokerNodes,\n\t\tcontrollerAliasMap\n\t);\n\treturn resolveAttributesUxValue(\n\t\tresolveForDbExecEngine(\n\t\t\tproperties,\n\t\t\tstate,\n\t\t\tpipelineDefinition?.[0]?.headers?.value,\n\t\t\tcsdbNodeId,\n\t\t\tpdbNodeIds,\n\t\t\texternalControllerDependencies\n\t\t),\n\t\tresolversForAttributes,\n\t\tproperties,\n\t\tstate\n\t);\n};\n\nexport const getEffectWithArgs = (effectConfig, coeffects, meta) => {\n\tlet effectConfigToUse = effectConfig;\n\n\tif (\n\t\tmeta?.pipelineDefinition?.length === 1 &&\n\t\t!!meta.pipelineDefinition[0]?.headers?.value\n\t) {\n\t\tconst headers = {\n\t\t\t...effectConfig?.args[1]?.headers,\n\t\t\t...resolveHeaders(coeffects)\n\t\t};\n\t\tconst config = klona(effectConfig);\n\t\tconfig.args[1].headers = headers;\n\t\tconfig.args[1].batch = false;\n\t\teffectConfigToUse = config;\n\t}\n\n\treturn {\n\t\teffect: get(effectConfigToUse, ['effect']),\n\t\targs: [...get(effectConfigToUse, ['args']), coeffects]\n\t};\n};\n\nconst buildEffect = (\n\tcontext,\n\trestExternalEffectConfig,\n\tgqlEffectConfig,\n\trestEffectConfig\n) => {\n\tconst {coeffects, effects} = context;\n\tconst meta = get(coeffects, 'action.meta');\n\n\tlet chosenEffectConfig;\n\tif (meta.pipelineType === 'REST_EXTERNAL') {\n\t\tchosenEffectConfig = restExternalEffectConfig;\n\t} else {\n\t\tif (isGraphQLTransportEnabled()) {\n\t\t\tchosenEffectConfig = gqlEffectConfig;\n\t\t} else {\n\t\t\tif (meta?.pipelineId)\n\t\t\t\tcoeffects.action.payload.data.forEach((node) => {\n\t\t\t\t\tnode.pipelineId = meta.pipelineId;\n\t\t\t\t});\n\t\t\tif (\n\t\t\t\tcoeffects.action.payload.data.some(\n\t\t\t\t\t({definitionSysId}) =>\n\t\t\t\t\t\tdefinitionSysId === '115cd314a3110210be942a56041e6171'\n\t\t\t\t) ||\n\t\t\t\tmeta.batchExcluded\n\t\t\t) {\n\t\t\t\tchosenEffectConfig = unbatchedDbExecRESTEffect;\n\t\t\t} else {\n\t\t\t\tchosenEffectConfig = restEffectConfig;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn {\n\t\t...context,\n\t\teffects: [\n\t\t\t...effects,\n\t\t\tgetEffectWithArgs(chosenEffectConfig, coeffects, meta)\n\t\t]\n\t};\n};\n\nconst buildDBExecEffectInterceptor = (context) =>\n\tbuildEffect(\n\t\tcontext,\n\t\tdbExecRESTExternalEffect,\n\t\tdbExecGQLEffect,\n\t\tdbExecRESTEffect\n\t);\n\nconst buildDBExecEffectWithRecordingInterceptor = (context) =>\n\tbuildEffect(\n\t\tcontext,\n\t\tdbExecRESTExternalEffect,\n\t\tdbExecGQLEffectRecordHeader,\n\t\tdbExecRESTEffectRecordHeader\n\t);\n\nexport default (pipelineDefinitions, dataShell) => ({\n\t[DB_ENGINE_EXEC_REQUESTED]: {\n\t\tinterceptors: [\n\t\t\tdbExecInterceptor(dataShell),\n\t\t\t{\n\t\t\t\tbefore: buildDBExecEffectInterceptor\n\t\t\t}\n\t\t],\n\t\tstopPropagation: true\n\t},\n\t[DB_ENGINE_EXEC_REQUESTED_WITH_RECORDING]: {\n\t\tinterceptors: [\n\t\t\tdbExecInterceptor(dataShell),\n\t\t\t{\n\t\t\t\tbefore: buildDBExecEffectWithRecordingInterceptor\n\t\t\t}\n\t\t],\n\t\tstopPropagation: true\n\t},\n\t[DB_ENGINE_EXEC_SUCCEEDED]: createDbExecSuccessEffect(pipelineDefinitions),\n\t[DB_ENGINE_EXEC_FAILED]: dbExecFailureEffect(pipelineDefinitions)\n});\n\nexport const handleDBLifecyleForPrefetch = (\n\tdispatch,\n\torigin,\n\tpipelineId,\n\tpipelineResults,\n\tpipelineDefinition\n) => {\n\tsignalDBExecInitiatedLifecycle(dispatch, origin);\n\n\tif (pipelineResults && pipelineResults.length > 0) {\n\t\tdispatchInternalAction(\n\t\t\tdispatch,\n\t\t\tUXF_DB_DATA_RECEIVED,\n\t\t\t{\n\t\t\t\tid: pipelineId,\n\t\t\t\toutput: pipelineResults,\n\t\t\t\torigin\n\t\t\t},\n\t\t\t{pipelineDefinition}\n\t\t);\n\t} else {\n\t\tsignalDBExecCompleteLifecycle(dispatch, origin, [], false);\n\t}\n};\n","import isGraphQLTransportEnabled from './isGraphQLTransportEnabled';\n\nexport default (payload) => {\n\tif (!isGraphQLTransportEnabled()) return payload.result;\n\n\tif (!payload.data) return payload.errors;\n\n\tconst resultNodes = payload.data.global.DataResource.DataResourceDataSet;\n\tresultNodes.forEach((node) => {\n\t\tif (typeof node.executionResult === 'string')\n\t\t\tnode.executionResult = JSON.parse(node.executionResult);\n\n\t\tif (typeof node.errors === 'string') node.errors = JSON.parse(node.errors);\n\t});\n\n\treturn resultNodes;\n};\n","import reformatInputValues from './reformatInputValues';\nimport isGraphQLTransportEnabled from './isGraphQLTransportEnabled';\n\nexport default (payload) => {\n\tif (!isGraphQLTransportEnabled()) return payload;\n\n\tif (!payload.data)\n\t\tthrow new Error(\n\t\t\t'Databroker payload formatted incorrectly: \\n ${JSON.stringify(payload)}'\n\t\t);\n\n\tconst data = payload.data.map((node) => {\n\t\tconst {type, priority, instanceId, parentResourceId} = node;\n\t\treturn {\n\t\t\tsysId: node.definitionSysId,\n\t\t\ttype,\n\t\t\tpriority,\n\t\t\tinstanceId,\n\t\t\tparentResourceId,\n\t\t\tinputValues: reformatInputValues(node.inputValues)\n\t\t};\n\t});\n\n\treturn {data};\n};\n","import {get} from '@devsnc/snowdash';\n\nimport {propertyTypes} from '../constants';\n\nconst {EVENT_PAYLOAD_BINDING} = propertyTypes;\n\nexport default (payload, type, {address}) => {\n\tswitch (type) {\n\t\tcase EVENT_PAYLOAD_BINDING:\n\t\t\treturn get(payload, address);\n\t}\n};\n","import {has} from '@devsnc/snowdash';\nimport {partial} from '@devsnc/snowdash';\nimport {propertyTypes} from '../constants';\n\nimport resolveWith from './resolveWith';\nimport getResolvedPayloadBinding from './getResolvedPayloadBinding';\nimport basicResolvers from './basicResolvers';\n\nimport {mapValues} from '@devsnc/snowdash';\n\nconst {JSON_LITERAL, EVENT_PAYLOAD_BINDING} = propertyTypes;\n\nconst getJsonLiteral = (literal) => ({\n\ttype: JSON_LITERAL,\n\tvalue: literal\n});\n\nexport default (dryTargetInputValues, hydratedOperationPayload) => {\n\tconst resolver = partial(resolveWith, {\n\t\t...basicResolvers,\n\t\t[EVENT_PAYLOAD_BINDING]: partial(\n\t\t\tgetResolvedPayloadBinding,\n\t\t\thydratedOperationPayload\n\t\t)\n\t});\n\n\treturn mapValues(dryTargetInputValues, (inputValue) => {\n\t\tconst resolvedInputValue = resolver(inputValue);\n\t\t// DB exec engine doesn't like SHORTHAND values, so we wrap any such in JSON_LITERAL\n\t\treturn !has(resolvedInputValue, ['type'])\n\t\t\t? getJsonLiteral(resolvedInputValue)\n\t\t\t: resolvedInputValue;\n\t});\n};\n","const MacroponentInstanceRegistry = new WeakMap();\nconst MultiInstanceProxyMcpRegistry = new WeakMap();\n\nexport const createInstanceObject = () => ({\n\tgetApi: null,\n\tcsdbDispatchFn: null,\n\trootDispatchFn: null,\n\tdataBrokerDebouncedPipelineRefreshFns: null,\n\tparentDispatchFn: null\n});\n\nexport function getMacroponentInstance(host) {\n\tif (!MacroponentInstanceRegistry.has(host))\n\t\tMacroponentInstanceRegistry.set(host, createInstanceObject());\n\treturn MacroponentInstanceRegistry.get(host);\n}\n\nexport function getProxyMcpInstance(host) {\n\tif (!MultiInstanceProxyMcpRegistry.has(host))\n\t\tMultiInstanceProxyMcpRegistry.set(host, new Map());\n\treturn MultiInstanceProxyMcpRegistry.get(host);\n}\n\nexport function getProxyInstanceValue(host, keyName, orSetDefaultWith) {\n\tconst pdbMap = getProxyMcpInstance(host);\n\tif (!pdbMap.has(keyName)) pdbMap.set(keyName, orSetDefaultWith());\n\treturn pdbMap.get(keyName);\n}\n\nexport function removeMacroponentInstance(host) {\n\tif (MacroponentInstanceRegistry.has(host)) {\n\t\tMacroponentInstanceRegistry.delete(host);\n\t}\n\tif (MultiInstanceProxyMcpRegistry.has(host)) {\n\t\tMultiInstanceProxyMcpRegistry.delete(host);\n\t}\n}\n\nexport const allowlist = Object.keys(createInstanceObject());\n\nexport function getInstanceValue(host, keyName, orSetDefaultWith) {\n\tif (!allowlist.includes(keyName)) return;\n\tconst instanceObject = getMacroponentInstance(host);\n\tif (instanceObject[keyName] === null)\n\t\tinstanceObject[keyName] = orSetDefaultWith();\n\treturn instanceObject[keyName];\n}\n\nexport function setInstanceValue(host, key, value) {\n\tif (!allowlist.includes(key)) return;\n\tconst instanceObject = getMacroponentInstance(host);\n\tinstanceObject[key] = value;\n}\n","import {get} from '@devsnc/snowdash';\nimport {first} from '@devsnc/snowdash';\n\nconst SEISMIC_SYMBOL_HELPERS_DESCRIPTION = '__helpers_defer__';\nconst SEISMIC_SYMBOL_VARIABLES_DESCRIPTION = '__variables__';\nconst SEISMIC_SYMBOL_ANCESTOR_ROOT_NODE_DESCRIPTION = '__ancestor_root_node__';\nconst SEISMIC_DISPATCH_FN_NAME = 'dispatch';\nimport {MACROPONENT_ROOT_COMPONENT_ID} from '../constants';\n\nimport {\n\tgetInstanceValue,\n\tgetProxyInstanceValue\n} from './macroponentInstanceRegistry';\nimport {default as console} from '../../utils/getLogger';\nimport {isNil} from '@devsnc/snowdash';\n\nexport function getSeismicDispatchFn(hostEl, nodeId) {\n\tif (isNil(hostEl.shadowRoot)) {\n\t\tconsole.warn('Host does not contain any applicable children');\n\t\treturn;\n\t}\n\n\tconst nowId = hostEl.getAttribute('component-id');\n\tconst domNode = hostEl.shadowRoot.querySelector(\n\t\t`[component-id=\"${nowId}-${nodeId}\"]`\n\t);\n\tif (isNil(domNode)) {\n\t\tconsole.warn('Host does not contain the target node');\n\t\treturn;\n\t}\n\n\treturn getDispatchForDomNode(domNode);\n}\n\nexport function getDispatchForDomNode(domNode) {\n\treturn get(getSeismicVariable(domNode, SEISMIC_SYMBOL_HELPERS_DESCRIPTION), [\n\t\tSEISMIC_DISPATCH_FN_NAME\n\t]);\n}\n\nexport function getSeismicVariable(domNode, symbolDescription) {\n\tconst elementVariables = first(\n\t\tObject.getOwnPropertySymbols(domNode)\n\t\t\t.filter(\n\t\t\t\t(symbol) => SEISMIC_SYMBOL_VARIABLES_DESCRIPTION === symbol.description\n\t\t\t)\n\t\t\t.map((symbol) => domNode[symbol])\n\t);\n\n\t// Seismic >= 21.1.0 nests symbols in a __variables__ symbol\n\t// Seismic < 21.1.0 keeps the symbols on the host element\n\tconst containingObject = elementVariables || domNode;\n\treturn first(\n\t\tObject.getOwnPropertySymbols(containingObject)\n\t\t\t.filter((symbol) => symbolDescription === symbol.description)\n\t\t\t.map((symbol) => containingObject[symbol])\n\t);\n}\n\nexport function getCsdbDispatchFn(hostEl, nodeId, macroponentDispatch) {\n\tconst csdbDispatchFn = getInstanceValue(hostEl, 'csdbDispatchFn', () =>\n\t\tgetSeismicDispatchFn(hostEl, nodeId)\n\t);\n\treturn isNil(csdbDispatchFn) ? macroponentDispatch : csdbDispatchFn;\n}\n\nexport function getMiPdbDispatchFn(hostEl, nodeId, macroponentDispatch) {\n\tconst miPdbDispatchFn = getProxyInstanceValue(hostEl, nodeId, () =>\n\t\tgetSeismicDispatchFn(hostEl, nodeId)\n\t);\n\treturn isNil(miPdbDispatchFn) ? macroponentDispatch : miPdbDispatchFn;\n}\n\nexport function getRootDispatchFn(hostEl, macroponentDispatch) {\n\tconst rootDispatchFn = getInstanceValue(hostEl, 'rootDispatchFn', () => {\n\t\treturn getSeismicDispatchFn(hostEl, MACROPONENT_ROOT_COMPONENT_ID);\n\t});\n\treturn isNil(rootDispatchFn) ? macroponentDispatch : rootDispatchFn;\n}\n\n/**\n * Why get Parent Dispatch Function?\n *\n * This is introduced in support of Controller-cross-dependency Event Mapping\n * and hopefully will not be abused in the future for trivial use-cases.\n *\n * For the most part we want the framework to follow Seismic eventing paradigms,\n * as well, keep individual Macroponent Eventing encapsulated, not leaking\n * all over the DOM hierarchy.\n *\n * This is a special case, where we want to empower UIB users and App developers\n * to modularize their logic in such a way where they can be very expressive\n * with re-usable, composable building blocks (Controllers and Controller Dependencies)\n *\n * Because we normally don't let \"Internal Framework\" events bubble up to\n * the parent, we needed a way to \"quantum tunnel\" out to the parent, where\n * these cross-Dependency Event Handlers live\n * @param child\n * @param fallbackDispatch\n * @returns {*}\n */\nexport function getParentDispatchFn(child, fallbackDispatch) {\n\tconst parentDispatchFn = getInstanceValue(child, 'parentDispatchFn', () => {\n\t\tconst shadowHost = getAncestorRoot(child);\n\t\t// eslint-disable-next-line no-extra-boolean-cast\n\t\treturn !!shadowHost ? getDispatchForDomNode(shadowHost) : null;\n\t});\n\treturn isNil(parentDispatchFn) ? fallbackDispatch : parentDispatchFn;\n}\n\nexport function getAncestorRoot(child) {\n\treturn getSeismicVariable(\n\t\tchild,\n\t\tSEISMIC_SYMBOL_ANCESTOR_ROOT_NODE_DESCRIPTION\n\t);\n}\n","import {\n\tUXF_DIRTY_STATE_MANAGEMENT_SOURCE_ACTION_PATH,\n\tUXF_DIRTY_STATE_MANAGEMENT_DISPATCHED_ACTION_TRAILS\n} from '../constants';\n\nimport {getSourceActionPath} from '../utils';\n\nimport {mergeWith} from '@devsnc/snowdash';\n\n/**\n * The mergeWith function from @devsnc/snowdash takes a customizer function to handle merging\n * The custom merge function to handle deep merging of nested objects.\n * If both values are objects, it recursively merges them using `mergeWith`.\n * Otherwise, it returns `undefined` to let `mergeWith` handle the merging.\n *\n * @param {*} objValue - The value from the destination object.\n * @param {*} srcValue - The value from the source object.\n * @returns {*} - The merged value if both are objects, otherwise `undefined`.\n */\nfunction handleNestedMerge(objValue, srcValue) {\n\tif (typeof objValue === 'object' && typeof srcValue === 'object') {\n\t\treturn mergeWith(objValue, srcValue, handleNestedMerge);\n\t}\n\treturn undefined; // Let mergeWith handle non-object values\n}\n\n/**\n * Enhances the given context by augmenting the `coeffects` object with\n * an internal event metadata path for dirty state management.\n *\n * @param {Object} context - The context object containing coeffects.\n * @returns {Object} - Returns a new context object with updated coeffects.\n */\nexport const actionChainAugmentationInterceptor = (context) => {\n\tconst {currentAugmentedActionPath = [], prevAndCurrentActionPath = []} =\n\t\tgetSourceActionPath(context.coeffects);\n\tconst augmentedMeta = {\n\t\tcoeffects: {\n\t\t\taction: {\n\t\t\t\tmeta: {\n\t\t\t\t\tuxfMeta: {\n\t\t\t\t\t\t[UXF_DIRTY_STATE_MANAGEMENT_SOURCE_ACTION_PATH]:\n\t\t\t\t\t\t\tcurrentAugmentedActionPath,\n\t\t\t\t\t\t[UXF_DIRTY_STATE_MANAGEMENT_DISPATCHED_ACTION_TRAILS]: [\n\t\t\t\t\t\t\t...prevAndCurrentActionPath\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\treturn mergeWith(context, augmentedMeta, handleNestedMerge);\n};\n","const CHARS = 'abcdefghijklmnopqrstuvwxyz0123456789';\n\n/**\n * generateId generates an alpha-numeric ID of length 25,\n * so that it's compatible the vulnerable \"cuid\" NPM package used for ID generation before.\n *\n * The function uses the `crypto.randomUUID` method if it is available,\n * otherwise it generates a pseudo-random ID using the `Math.random` method.\n *\n * @returns {string}\n */\nexport default function generateId() {\n\t// Use `randomUUID` if supported\n\t// https://developer.mozilla.org/en-US/docs/Web/API/Crypto/randomUUID#browser_compatibility\n\tif (typeof crypto === 'object' && typeof crypto.randomUUID === 'function') {\n\t\treturn crypto.randomUUID().replace(/-/g, '').substring(0, 25);\n\t}\n\t// Fallback to pseudo-random ID generation\n\tlet result = '';\n\tfor (let i = 0; i < 25; i++) {\n\t\tresult += CHARS.charAt(Math.floor(Math.random() * 25));\n\t}\n\treturn result;\n}\n","import {identity} from '@devsnc/snowdash';\n\nimport generateId from '../utils/generateId';\n\nexport default function createFragmentGenerator(\n\ttemplateStr,\n\tmodifierFn = identity\n) {\n\treturn (properties) => {\n\t\tconst template = document.createElement('template');\n\t\tconst rootElementComponentId = generateId();\n\t\tconst modifiedTemplate = modifierFn(\n\t\t\ttemplateStr\n\t\t\t\t.trim()\n\t\t\t\t.replace(/@@CONTEXT-INJECTOR@@/g, `${rootElementComponentId}`)\n\t\t);\n\t\ttemplate.innerHTML = modifiedTemplate;\n\n\t\tconst fragment = template.content;\n\t\tconst rootElement = fragment.firstChild;\n\t\trootElement.setAttribute('component-id', rootElementComponentId);\n\t\tfor (const k in properties) rootElement[k] = properties[k];\n\n\t\treturn fragment;\n\t};\n}\n","import {appendTranslations as append} from 'sn-translate';\n\nexport default function appendTranslations(translations) {\n\tappend(translations);\n}\n","import {getUxGlobal} from './utils';\n\nconst SYS_PROPS = getUxGlobal('sysprops', {});\n\nexport default function appendSysProps(sysprops) {\n\tfor (const k in sysprops) SYS_PROPS[k] = sysprops[k];\n}\n","import {getUxGlobal} from './utils';\n\nconst USER_PREFS = getUxGlobal('userPrefs', {});\n\nexport default function appendUserPrefs(userPrefs) {\n\tfor (const k in userPrefs) USER_PREFS[k] = userPrefs[k];\n}\n","import {getUxGlobal} from './utils';\nimport snHttp from '../snHttpInstance';\nimport unifiedCache from '@devsnc/library-unified-cache';\nimport getUxfSysProp from '../utils/getUxfSysProp';\nimport {NOW_UX_INTERACTION} from '../factory/constants';\n\nconst PRESOURCES = getUxGlobal('presource', {});\nconst PRESOURCES_CACHING_ALLOW_LIST = (() => {\n\t// default value of caching is only Par presources\n\tconst allowList = getUxfSysProp(\n\t\t'glide.uxf.lib.presources.caching_allow_list',\n\t\t'sn-par-visualization-base:AppParConfig_Query,sn-par-visualization-base:GlideRecord_Query,sn-par-visualization-base:UserInfo_Query'\n\t);\n\tif (typeof allowList === 'string') return allowList.split(',');\n\treturn [];\n})();\n\nexport default function appendPresources(presources) {\n\tfor (const k in presources) PRESOURCES[k] = presources[k].responseBody;\n}\n\nfunction safeParseJson(stringifiedJson, defaultValue = {}) {\n\ttry {\n\t\treturn JSON.parse(stringifiedJson);\n\t} catch (e) {\n\t\tconsole.warn(`Unable to parse JSON in presource response body`);\n\t\treturn defaultValue;\n\t}\n}\n\nconst IN_FLIGHT_PRESOURCE_KEYS = new Set();\n\nexport async function loadPresources(\n\tmacroponentSysId,\n\tpresourceKeys,\n\tuxrInteractionId\n) {\n\tif (!presourceKeys || presourceKeys.length == 0) return;\n\tconsole.warn(\n\t\t`Components within macroponent [sysId=${macroponentSysId}] rely on presources. Loading this macroponent requires additional network request.`\n\t);\n\n\tlet shouldQuery = false;\n\tfor (const presourceKey of presourceKeys) {\n\t\tif (\n\t\t\t!(presourceKey in PRESOURCES) &&\n\t\t\t!IN_FLIGHT_PRESOURCE_KEYS.has(presourceKey)\n\t\t) {\n\t\t\tconst cachedPresource = await loadPresourcesFromCache(presourceKey);\n\t\t\tif (cachedPresource) {\n\t\t\t\tPRESOURCES[presourceKey] = cachedPresource;\n\t\t\t} else {\n\t\t\t\tshouldQuery = true;\n\t\t\t\tIN_FLIGHT_PRESOURCE_KEYS.add(presourceKey);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (!shouldQuery) return;\n\tawait fetchPresources(macroponentSysId, presourceKeys, uxrInteractionId);\n}\n\nasync function fetchPresources(\n\tmacroponentSysId,\n\tpresourceKeys,\n\tuxrInteractionId\n) {\n\tconst snHttpInstance = await snHttp();\n\ttry {\n\t\tconst {status, data} = await snHttpInstance.request(\n\t\t\t'/api/now/uxframework/legacy_presources',\n\t\t\t'GET',\n\t\t\t{\n\t\t\t\tbatch: false,\n\t\t\t\tparams: {sysparm_macroponent_sys_id: macroponentSysId},\n\t\t\t\theaders: {\n\t\t\t\t\t[NOW_UX_INTERACTION]:\n\t\t\t\t\t\tuxrInteractionId || window.nowUiFramework?.uxrInteractionId\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t\tif (status === 200) {\n\t\t\tconst responseBodyByKey = data?.result ?? {};\n\t\t\tfor (const key in responseBodyByKey) {\n\t\t\t\tconst responseBody = responseBodyByKey[key];\n\t\t\t\tconst parsedJson = safeParseJson(responseBody);\n\t\t\t\tPRESOURCES[key] = parsedJson;\n\t\t\t\tawait savePresourcesToCache(key, parsedJson);\n\t\t\t}\n\t\t}\n\t} catch (e) {\n\t\tconsole.warn(\n\t\t\t`Failed to load presources for macroponent [sysId=${macroponentSysId}]`,\n\t\t\te\n\t\t);\n\t}\n\n\tfor (const presourceKey of presourceKeys) {\n\t\tIN_FLIGHT_PRESOURCE_KEYS.delete(presourceKey);\n\t}\n}\n\nconst PRESOURCE_CACHE_CONFIG = {\n\tdescription: 'macroponent presources',\n\tadapter: ['localStorage'],\n\tevictionPolicy: 'TTL',\n\tname: 'macroponent_presources_ttl',\n\tstoreName: 'macroponent_presources_store'\n};\n\nconst cacheInstance = unifiedCache.createInstance(PRESOURCE_CACHE_CONFIG);\n\nasync function loadPresourcesFromCache(presourceKey) {\n\ttry {\n\t\tconst cachedPresources = await cacheInstance.getItem(presourceKey);\n\t\treturn cachedPresources || null;\n\t} catch (e) {\n\t\tconsole.error('Error while reading presource from cache', e);\n\t\treturn null;\n\t}\n}\n\nasync function savePresourcesToCache(presourceKey, presourceData) {\n\ttry {\n\t\tif (PRESOURCES_CACHING_ALLOW_LIST.includes(presourceKey))\n\t\t\tawait cacheInstance.setItem(presourceKey, presourceData);\n\t} catch (e) {\n\t\tconsole.error('Error while saving presource to cache', e);\n\t}\n}\n","import snHttp from '../snHttpInstance';\nimport {\n\tgetPageFragments,\n\tseedPageFragment,\n\tloadSeededPageFragment\n} from '../templateLoader/getTemplates';\nimport createMacroponentFragmentGenerator from '../templateLoader/createMacroponentFragmentGenerator';\nimport {isEmpty, set} from '@devsnc/snowdash';\nimport {klona} from 'klona';\n\nconst embeddableCache = new Map();\nconst embeddableMacroponentsLoaded = new Set();\nconst macroponentsLoaded = new Set();\n\n/*\nreturn: \n[\n\t\"embeddables\": [\n\t\t{\n        \ttagName: 'sn-em-list-page',\n        \tdefaultPropertyValues: {\n            \ttable: 'incident'\n        \t},\n        \tmacroponentSysId: '8aa46605437b7110a97aff53e9b8f2dc',\n        \ttemplete: '<sn-em-list-page></sn-em-list-page>'\n    \t}\n\t],\n\t\"pageFragments\": [\n\t\t{\n\t\t\t\"sys_id\": \"sys_id\",\n\t\t\t\"pageFragment\": <pagefragment>\n\t\t}\n\t]\n]\n*/\nasync function fetchEmbeddables(embeddableTagNames) {\n\ttry {\n\t\tconst snHttpRef = await snHttp();\n\t\tconst {data: {result: fetchedEmbeddables = []} = {}} =\n\t\t\tawait snHttpRef.request(\n\t\t\t\t'/api/now/uxframework/embeddable_macroponents',\n\t\t\t\t'POST',\n\t\t\t\t{\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tembeddableTagNames: embeddableTagNames,\n\t\t\t\t\t\tmacroponentSkipSet: new Set([\n\t\t\t\t\t\t\t...macroponentsLoaded,\n\t\t\t\t\t\t\t...embeddableMacroponentsLoaded\n\t\t\t\t\t\t])\n\t\t\t\t\t},\n\t\t\t\t\tbatch: false\n\t\t\t\t}\n\t\t\t);\n\t\treturn fetchedEmbeddables;\n\t} catch (e) {\n\t\tconsole.warn(\n\t\t\t'Failed to retrieve Embeddables for these tag names:',\n\t\t\tembeddableTagNames\n\t\t);\n\t\treturn {};\n\t}\n}\n\nexport function isEmbeddableMacroponent(customTagName) {\n\tif (isEmpty(customTagName)) return false;\n\n\treturn embeddableCache.has(customTagName);\n}\n\nexport function isEmbeddableMacroponentLoaded(customTagName, macroponentSysId) {\n\tif (isEmpty(customTagName)) return false;\n\n\treturn (\n\t\tembeddableCache.has(customTagName) &&\n\t\tembeddableMacroponentsLoaded.has(macroponentSysId)\n\t);\n}\n\nexport default async function getEmbeddables(embeddableTagNames = []) {\n\t// return for empty list\n\tif (embeddableTagNames.length === 0) return;\n\n\tconst embeddablesMcpIds = new Set();\n\n\t// filter based on already available embeddablesList\n\tconst embeddableTagNamesToFetch = embeddableTagNames.filter(\n\t\t(embeddableTagName) => {\n\t\t\tif (!embeddableCache.has(embeddableTagName)) {\n\t\t\t\treturn embeddableTagName;\n\t\t\t} else {\n\t\t\t\tconst mcpSysId =\n\t\t\t\t\tembeddableCache.get(embeddableTagName).macroponentSysId;\n\t\t\t\tembeddablesMcpIds.add(mcpSysId);\n\t\t\t}\n\t\t}\n\t);\n\n\tconst fetchedEmbeddablesAndFragments =\n\t\tembeddableTagNamesToFetch.length > 0\n\t\t\t? await fetchEmbeddables(embeddableTagNamesToFetch)\n\t\t\t: [];\n\n\tconst {\n\t\tembeddables: fetchedEmbeddables = [],\n\t\tpageFragments: fetchedPageFragments = []\n\t} = fetchedEmbeddablesAndFragments;\n\n\tfetchedEmbeddables.forEach((fetchedEmbeddable) => {\n\t\tconst {tagName, macroponentSysId} = fetchedEmbeddable;\n\t\tembeddableCache.set(tagName, fetchedEmbeddable);\n\t\tembeddablesMcpIds.add(macroponentSysId);\n\t});\n\n\tfor (const fetchedPageFragment of fetchedPageFragments) {\n\t\tconst {sys_id: sysId, pageFragment: serializedPageFragment} =\n\t\t\tfetchedPageFragment;\n\t\tconst pageFragment = JSON.parse(serializedPageFragment);\n\t\tseedPageFragment(pageFragment);\n\t\tif (!embeddablesMcpIds.has(sysId)) {\n\t\t\tawait loadSeededPageFragment(sysId);\n\t\t\tmacroponentsLoaded.add(sysId);\n\t\t}\n\t}\n\n\tconst embeddablesPageFragments =\n\t\tembeddablesMcpIds.size > 0\n\t\t\t? await getPageFragments(Array.from(embeddablesMcpIds.values()))\n\t\t\t: {};\n\n\tfor (const embeddableTag of embeddableTagNamesToFetch) {\n\t\tif (embeddableCache.has(embeddableTag)) {\n\t\t\tconst {macroponentSysId, defaultPropertyValues, tagName, template} =\n\t\t\t\tembeddableCache.get(embeddableTag);\n\t\t\tconst pageFragment = klona(embeddablesPageFragments[macroponentSysId]);\n\t\t\tif (pageFragment) {\n\t\t\t\tconst {macroponentInstanceJson = {}, dependentMCPIds = []} =\n\t\t\t\t\tpageFragment;\n\t\t\t\tfor (const dependentMCPId of dependentMCPIds) {\n\t\t\t\t\tif (!macroponentsLoaded.has(dependentMCPId)) {\n\t\t\t\t\t\tawait loadSeededPageFragment(dependentMCPId);\n\t\t\t\t\t\tmacroponentsLoaded.add(dependentMCPId);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tset(macroponentInstanceJson, ['rootNode', 'defaultValues'], {\n\t\t\t\t\t...defaultPropertyValues\n\t\t\t\t});\n\t\t\t\tmacroponentInstanceJson.customTagName = tagName;\n\t\t\t\tpageFragment.template = template;\n\t\t\t\tawait createMacroponentFragmentGenerator(\n\t\t\t\t\tpageFragment,\n\t\t\t\t\tundefined,\n\t\t\t\t\ttrue,\n\t\t\t\t\tfalse\n\t\t\t\t);\n\t\t\t\tembeddableMacroponentsLoaded.add(macroponentSysId);\n\t\t\t}\n\t\t}\n\t}\n}\n","import {modifiedEmbeddableUrl, sysPropEmbeddablesEnabled} from './utils';\nimport {getUxGlobal} from '../templateLoader/utils.js';\n\nconst assetBundleInUse = getUxGlobal('assetBundleInUse', false);\n\nexport function importESModule(url) {\n\tif (sysPropEmbeddablesEnabled()) {\n\t\turl = modifiedEmbeddableUrl(url);\n\t}\n\tconst tempUrl = url.replace(/\\.js()dbx$/, '');\n\t// inject replace_imports QSP when asset bundling is enabled\n\tconst rebuiltUrl = `${tempUrl}.jsdbx${\n\t\tassetBundleInUse ? '?sysparm_replace_imports=true' : ''\n\t}`;\n\n\treturn import(/* webpackIgnore: true */ rebuiltUrl).catch((error) => {\n\t\tconsole.error(error);\n\t});\n}\n\nexport function importNonModuleScript(scriptUrl, options = {}) {\n\tconst {isAsync = null, includeCrossOrigin = false} = options;\n\t// This check prevents the same script tag in <body> from being appended again in <head>\n\tif (isScriptAlreadyLoadedInDocumentBody(scriptUrl)) return false;\n\treturn new Promise((resolve, reject) => {\n\t\tfunction cleanupEventListeners() {\n\t\t\tscriptEl.removeEventListener('load', cleanUpAndResolve);\n\t\t\tscriptEl.removeEventListener('error', cleanUpAndReject);\n\t\t}\n\n\t\tfunction cleanUpAndResolve() {\n\t\t\tcleanupEventListeners();\n\t\t\tresolve();\n\t\t}\n\n\t\tfunction cleanUpAndReject() {\n\t\t\tcleanupEventListeners();\n\t\t\treject();\n\t\t}\n\n\t\tconst scriptEl = document.createElement('script');\n\t\tscriptEl.type = 'text/javascript';\n\n\t\tif (sysPropEmbeddablesEnabled())\n\t\t\tscriptUrl = modifiedEmbeddableUrl(scriptUrl);\n\n\t\tif (includeCrossOrigin) scriptEl.crossOrigin = 'use-credentials';\n\n\t\tscriptEl.src = scriptUrl;\n\t\tif (isAsync === false) scriptEl.async = isAsync;\n\t\tscriptEl.addEventListener('load', cleanUpAndResolve);\n\t\tscriptEl.addEventListener('error', cleanUpAndReject);\n\t\tdocument.head.appendChild(scriptEl);\n\t});\n}\n\nfunction isScriptAlreadyLoadedInDocumentBody(scriptUrl) {\n\tconst scripts = document.querySelectorAll('body > script[src]');\n\tfor (let i = 0; i < scripts.length; i++) {\n\t\tif (scripts[i]?.src?.includes(scriptUrl)) return true;\n\t}\n\treturn false;\n}\n\nexport default function importESModules(esmImports) {\n\treturn esmImports\n\t\t.map(({moduleSpecifier}) => moduleSpecifier)\n\t\t.map(importESModule);\n}\n","import {isCacheStorageAPISupported} from '../utils/clientCacheUtils';\nimport {getUxGlobal} from './utils.js';\n\n/**\n * Service worker maintains the JS asset cache, which is grouped by the asset buster.\n * When a new cache buster is generated (due to server cache flush), service worker\n * will create a new cache bucket and remove the old one.\n */\nconst ASSET_CACHE_NAME = `POLARIS_STATIC_ASSET_CACHE@${getUxGlobal(\n\t'assetCacheBuster',\n\t''\n)}`;\n\nexport const loadedAssets = new Set();\nexport const loadedAssetBundles = new Set();\nexport const assetBundlesInCacheStorage = new Set();\n\nexport async function seedAssetBundlesFromCacheStorage() {\n\tif (await isCacheStorageAPISupported(ASSET_CACHE_NAME)) {\n\t\tconst cache = await self.caches.open(ASSET_CACHE_NAME);\n\t\tconst cachedAssets = await cache.keys();\n\t\tcachedAssets.forEach((cachedAsset) => {\n\t\t\tif (\n\t\t\t\tcachedAsset.url.includes('/uxab/') &&\n\t\t\t\t!cachedAsset.url.includes('sysparm_asset_names')\n\t\t\t) {\n\t\t\t\tconst matches = cachedAsset.url.match(/\\/uxab\\/(.*)\\.jsdbx/);\n\t\t\t\tif (matches) {\n\t\t\t\t\tassetBundlesInCacheStorage.add(matches[1]);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n}\n\nexport function resetStore() {\n\tloadedAssets.clear();\n\tloadedAssetBundles.clear();\n\tassetBundlesInCacheStorage.clear();\n}\n","import importESModules, {importNonModuleScript} from './importESModules.js';\nimport {isNil, isEmpty} from '@devsnc/snowdash';\nimport {\n\tpolyfilledPromiseDotAllSettled,\n\tgetUxGlobal,\n\tshouldIncludeCrossOrigin\n} from './utils.js';\nimport {\n\tloadedAssets,\n\tloadedAssetBundles,\n\tassetBundlesInCacheStorage,\n\tseedAssetBundlesFromCacheStorage\n} from './assetStore.js';\nimport getUxfSysProp from '../utils/getUxfSysProp.js';\n\nfunction useAssetBundle() {\n\treturn getUxGlobal('assetBundleInUse', false);\n}\n\nfunction isEmbeddableFlow() {\n\treturn getUxGlobal('isEmbeddableFlow', false);\n}\n\nfunction getStaticAssetCacheBuster() {\n\treturn getUxGlobal('assetCacheBuster', '');\n}\n\n/**\n * Constructs the bundle URL for the incoming macroponent sys id or core bundle name.\n *\n * A bundle cache buster is comprised of the global asset cache buster (returned in uxGlobals)\n * and an optional bundle-specific cache buster. In practical terms, a core bundle (like ui-core-bundle)\n * will only depend on the global asset cache buster, while macroponent bundles will depend on\n * a combination of the global asset cache buster and another cache buster derived from the page\n * fragment.\n *\n * It is critical to note that we must ensure cache busters built on the client will pair with\n * server-side cache flushing, resulting in fresh data end-to-end. Ideally cache busters would\n * be managed on the server and returned to the client, however the following are some examples\n * of why that currently does not work:\n *\n * 1. In click-through scenarios we are building a macroponent bundle URL on the client based on a\n * macroponent sys id.\n * 2. A macroponent can have a dependency on an \"optional\" bundle (one that is not eagerly fetched\n * during all page load scenarios) like the list-form-bundle. In this case we build the dependent bundle\n * URL on the client.\n * 3. We do not have a 1-to-1 mapping between bundles and server-side caches. Some server-side caches that\n * are backed by data required to build bundles are macroponent definition-based while others are asset-based.\n */\nconst buildAssetBundleUrl = (\n\tsysIdOrBundleName,\n\tbundleCacheBuster,\n\trequiredAssets = []\n) => {\n\tconst staticAssetCacheBuster = getStaticAssetCacheBuster();\n\tif (requiredAssets.length > 0) {\n\t\treturn `/uxab/runtime-bundle.jsdbx?uxpcb=${staticAssetCacheBuster}&sysparm_use_cache_buster=true&sysparm_asset_names=${requiredAssets.join(\n\t\t\t','\n\t\t)}`;\n\t}\n\n\tconst fullCacheBuster = encodeURIComponent(\n\t\tisEmpty(bundleCacheBuster)\n\t\t\t? staticAssetCacheBuster\n\t\t\t: staticAssetCacheBuster + bundleCacheBuster\n\t);\n\n\tconst requestTypeToInclude = isEmbeddableFlow()\n\t\t? '&request_type=embeddables'\n\t\t: '';\n\n\treturn `/uxab/${sysIdOrBundleName}.jsdbx?uxpcb=${fullCacheBuster}&sysparm_use_cache_buster=true${requestTypeToInclude}`;\n};\n\n/**\n * This is the thresold of the ratio (assets that need to be loaded / all assets) to\n * determine whether to load the entire bundle or just the assets that need to be loaded.\n * If most of the assets in the bundle are missing, it will be more efficient to load\n * the entire bundle which helps with the reusability of the bundle in the future.\n */\nconst LOAD_ENTIRE_BUNDLE_THRESHOLD = 0.8;\n\n/**\n * There is a limit of the http header size (maxHttpHeaderSize) in Tomcat.\n * The default value is 8192 bytes, which includes the URL + other request headers.\n * For /uxab requests, the length of the headers is around 1200 bytes, so the URL\n * shouldn't take more than around 7000 bytes. To be safe, we limit the URL length\n * to 5000 with a sys_prop to override this value if needed.\n */\nconst RUNTIME_BUNDLE_MAX_URL_LENGTH_DEFAULT = 5000;\nexport const SYS_PROP_RUNTIME_BUNDLE_MAX_URL_LENGTH =\n\t'glide.uxf.lib.asset_bundle.runtime_bundle_max_url_length';\nfunction getRuntimeBundleMaxUrlLength() {\n\treturn parseInt(\n\t\tgetUxfSysProp(\n\t\t\tSYS_PROP_RUNTIME_BUNDLE_MAX_URL_LENGTH,\n\t\t\tRUNTIME_BUNDLE_MAX_URL_LENGTH_DEFAULT\n\t\t),\n\t\t10\n\t);\n}\n\nconst seedAssetBundlesFromCacheStoragePromise = useAssetBundle()\n\t? seedAssetBundlesFromCacheStorage()\n\t: Promise.resolve();\n\nconst seedLoadedAssetBundlesFromScriptTags = (() => {\n\tlet loadedAssetBundleSetFromScriptTags = null;\n\treturn () => {\n\t\tif (loadedAssetBundleSetFromScriptTags)\n\t\t\treturn loadedAssetBundleSetFromScriptTags;\n\n\t\tconst loadedAssetBundlesFromScriptTags = Array.from(\n\t\t\tdocument.querySelectorAll('body > script')\n\t\t)\n\t\t\t.filter((scriptEl) => scriptEl?.src?.includes('/uxab/'))\n\t\t\t.map((scriptEl) => {\n\t\t\t\tconst matches = scriptEl.src.match(/\\/uxab\\/(.*)\\.jsdbx/);\n\t\t\t\treturn matches && matches[1];\n\t\t\t});\n\t\tloadedAssetBundlesFromScriptTags.forEach(\n\t\t\t(bundleName) => bundleName && loadedAssetBundles.add(bundleName)\n\t\t);\n\t\tloadedAssetBundleSetFromScriptTags = new Set(\n\t\t\tloadedAssetBundlesFromScriptTags\n\t\t);\n\t\treturn loadedAssetBundleSetFromScriptTags;\n\t};\n})();\n\nexport default async function loadAssetDependencies(\n\tassetsToLoad,\n\tawaitAssetLoading = true\n) {\n\tconst {\n\t\tesmImports = [],\n\t\tclientScriptEsm = null,\n\t\tsysId,\n\t\tassetsInBundle,\n\t\tdependentAssetBundles,\n\t\tbundleCacheBuster,\n\t\tinline = false\n\t} = assetsToLoad;\n\tif (!isNil(clientScriptEsm)) {\n\t\tconst {moduleSpecifier} = clientScriptEsm;\n\t\ttry {\n\t\t\tawait importNonModuleScript(moduleSpecifier); // must block registerMacroponent until this finishes\n\t\t} catch (e) {\n\t\t\tconsole.warn(\n\t\t\t\t`Failed to load UX Client Scripts for macroponent with sysId = ${sysId}`\n\t\t\t);\n\t\t}\n\t}\n\n\t// Load esm imports if it is inline macroponent. This is to support UIB staged preview.\n\tif (!inline && useAssetBundle()) {\n\t\tconst loadedAssetBundlesFromScriptTags =\n\t\t\tseedLoadedAssetBundlesFromScriptTags();\n\n\t\tconst options = {\n\t\t\tincludeCrossOrigin: shouldIncludeCrossOrigin(),\n\t\t\tisAsync: false\n\t\t};\n\n\t\tfor (const dependentAssetBundle of dependentAssetBundles) {\n\t\t\tif (loadedAssetBundles.has(dependentAssetBundle)) continue;\n\t\t\tloadedAssetBundles.add(dependentAssetBundle);\n\t\t\tawait importNonModuleScript(\n\t\t\t\tbuildAssetBundleUrl(dependentAssetBundle),\n\t\t\t\toptions\n\t\t\t);\n\t\t}\n\n\t\tif (loadedAssetBundles.has(sysId) || assetsInBundle.length === 0) {\n\t\t\tloadedAssetBundles.add(sysId);\n\t\t\tif (loadedAssetBundlesFromScriptTags.has(sysId)) {\n\t\t\t\tassetsInBundle.forEach((asset) => loadedAssets.add(asset));\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tloadedAssetBundles.add(sysId);\n\t\tconst assetsNeedToLoad = assetsInBundle.filter(\n\t\t\t(asset) => !loadedAssets.has(asset)\n\t\t);\n\t\t// if all assets in this bundle have been loaded on the page, we can safely skip loading the asset bundle\n\t\tif (assetsNeedToLoad.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tassetsNeedToLoad.forEach((asset) => loadedAssets.add(asset));\n\n\t\tawait seedAssetBundlesFromCacheStoragePromise;\n\n\t\t/**\n\t\t * In the following two cases, we want to load the entire bundle instead of the runtime bundle with missed assets:\n\t\t * 1. the bundle is already cached in cache storage\n\t\t * 2. there are too many missed assets so it would be more efficient to load the entire bundle to favor the cache hit in the future\n\t\t */\n\t\tif (\n\t\t\tassetBundlesInCacheStorage.has(sysId) ||\n\t\t\tassetsNeedToLoad.length / assetsInBundle.length >=\n\t\t\t\tLOAD_ENTIRE_BUNDLE_THRESHOLD\n\t\t) {\n\t\t\tawait importNonModuleScript(\n\t\t\t\tbuildAssetBundleUrl(sysId, bundleCacheBuster),\n\t\t\t\toptions\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst assetBundleUrl = buildAssetBundleUrl(sysId, null, assetsNeedToLoad);\n\t\t// safeguard against the URL length exceeding the limit\n\t\tif (assetBundleUrl.length >= getRuntimeBundleMaxUrlLength()) {\n\t\t\tawait importNonModuleScript(\n\t\t\t\tbuildAssetBundleUrl(sysId, bundleCacheBuster),\n\t\t\t\toptions\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\t// dynamically load the assets that are missing from the bundle\n\t\tawait importNonModuleScript(\n\t\t\tbuildAssetBundleUrl(sysId, null, assetsNeedToLoad),\n\t\t\toptions\n\t\t);\n\t\treturn;\n\t}\n\tconst promisedESModules = importESModules(esmImports);\n\t// this is needed because components in the polaris app shell macroponent are timing-sensitive (bad components!)\n\tif (awaitAssetLoading) {\n\t\tawait polyfilledPromiseDotAllSettled(promisedESModules);\n\t}\n}\n","import snHttp from '../../../snHttpInstance';\nimport unifiedCache from '@devsnc/library-unified-cache';\nimport {debounce, isEmpty, isNil, set} from '@devsnc/snowdash';\nimport {COMPOSITION_ELEMENT_ID} from '../../constants';\nimport {getUxGlobal} from '../../../templateLoader/utils';\n\n/**\n *  Structure of layoutBoundsRegistry\n * {\n *     [mcp_id]: {\n *        [screen_id-width-height]: {\n *           [component_id]: {\n *             width: number,\n *             height: number,\n *             isBTF: boolean\n *           }\n *        }\n *     }\n * }\n */\n\nconst layoutBoundsRegistry = {};\nconst layoutBoundsSavedRegistry = {};\n\nconst LAYOUT_BOUNDS_CACHE_CONFIG = {\n\tdescription: 'macoponent layout bounds',\n\tadapter: ['indexedDB'],\n\tevictionPolicy: 'LRU',\n\tname: 'mcp_layout_bounds_lru',\n\tstoreName: 'mcp_layout_bounds_store'\n};\n\nconst cacheInstance = unifiedCache.createInstance(LAYOUT_BOUNDS_CACHE_CONFIG);\n\nconst widthRanges = [320, 680, 1280, 1920];\nconst windowDimensions = {};\nlet elementRO;\nconst cacheBusterkey = 'uxLazyLoadingClientCacheBuster';\nconst uxLazyLoadingClientCacheBuster = getUxGlobal(cacheBusterkey, '');\nlet isCacheBusterValidated = false;\n\nconst isNodeInVisibleFold = (bounds) => {\n\t// elements with display: none is considered not visible\n\tif (bounds.width === 0 || bounds.height === 0) {\n\t\treturn false;\n\t}\n\n\treturn (\n\t\tbounds.top >= 0 &&\n\t\tbounds.left >= 0 &&\n\t\tbounds.top <= windowDimensions.innerHeight &&\n\t\tbounds.left <= windowDimensions.innerWidth\n\t);\n};\n\nconst getWindowDimensions = () => {\n\tif (isEmpty(windowDimensions)) {\n\t\tupdateDimentions();\n\t\taddResizeObserver(document.body);\n\t}\n\tconst width =\n\t\twidthRanges.find((width) => windowDimensions.innerWidth <= width) ||\n\t\t'width_max';\n\treturn `${width}-${windowDimensions.innerHeight}`;\n};\n\nconst updateDimentions = () => {\n\twindowDimensions.innerWidth = window.innerWidth;\n\twindowDimensions.innerHeight = window.innerHeight;\n};\n\nconst getResizeObserver = () => {\n\tif (!isNil(elementRO)) return elementRO;\n\telementRO = new ResizeObserver(\n\t\tdebounce((entries) => {\n\t\t\tfor (let entry of entries) {\n\t\t\t\tif (entry.target === document.body) {\n\t\t\t\t\tupdateDimentions();\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}, 60)\n\t);\n\treturn elementRO;\n};\n\nconst addResizeObserver = (elm) => {\n\tgetResizeObserver().observe(elm);\n};\n\nconst getLayoutBoundsKey = (screenId) => {\n\tconst dimensions = getWindowDimensions();\n\treturn `${screenId}-${dimensions}`;\n};\n\nexport const isLayoutBoundsAvailable = (mcpId, screenId) => {\n\tconst layoutBoundKey = getLayoutBoundsKey(screenId);\n\treturn (\n\t\tObject.hasOwn(layoutBoundsSavedRegistry[mcpId] || {}, layoutBoundKey) ||\n\t\t!isEmpty(layoutBoundsRegistry[mcpId]?.[layoutBoundKey])\n\t);\n};\n\nconst addLayoutBoundsToLocalRegistry = (mcpId, layoutBoundKey, bounds) => {\n\tif (isEmpty(bounds)) {\n\t\treturn;\n\t}\n\tif (isEmpty(layoutBoundsRegistry[mcpId])) {\n\t\tlayoutBoundsRegistry[mcpId] = {};\n\t}\n\tset(layoutBoundsRegistry, [mcpId, layoutBoundKey], bounds);\n};\n\nexport const calcualteAndSaveLatestLayoutBounds = async (\n\thost,\n\tmcpId,\n\tscreenId\n) => {\n\tconst layoutBoundKey = getLayoutBoundsKey(screenId);\n\tconst layoutBounds = await calculateBoundsInRaf(host);\n\n\tif (isEmpty(layoutBounds)) {\n\t\t// Adding to server registry as it should not be sent to server\n\t\tlayoutBoundsSavedRegistry[mcpId] = {\n\t\t\t...(layoutBoundsSavedRegistry[mcpId] || {}),\n\t\t\t[layoutBoundKey]: layoutBounds\n\t\t};\n\n\t\tawait saveLayoutBoundsToCache(mcpId, layoutBoundsSavedRegistry[mcpId]);\n\t\treturn;\n\t}\n\n\t// Save to local registry\n\taddLayoutBoundsToLocalRegistry(mcpId, layoutBoundKey, layoutBounds);\n\n\t//TODO: offload this to webworker\n\t// Save to IndexedDB cache{\n\tawait saveLayoutBoundsToCache(mcpId, {\n\t\t...layoutBoundsSavedRegistry[mcpId],\n\t\t...layoutBoundsRegistry[mcpId]\n\t});\n\n\t// Save to server\n\tdebouncedSaveLayoutBoundsToServer();\n};\n\nconst getElmRect = (elm) => {\n\tvar computedStyle = window.getComputedStyle(elm);\n\tconst isContentBox = computedStyle['box-sizing'] === 'content-box';\n\n\tif (isContentBox) {\n\t\tvar elementHeight = elm.clientHeight;\n\t\tvar elementWidth = elm.clientWidth;\n\n\t\telementHeight -=\n\t\t\tparseFloat(computedStyle.paddingTop) +\n\t\t\tparseFloat(computedStyle.paddingBottom);\n\t\telementWidth -=\n\t\t\tparseFloat(computedStyle.paddingLeft) +\n\t\t\tparseFloat(computedStyle.paddingRight);\n\n\t\treturn {\n\t\t\theight: elementHeight,\n\t\t\twidth: elementWidth\n\t\t};\n\t}\n\treturn {};\n};\n\nconst calculateBoundsInRaf = (host) => {\n\treturn new Promise((resolve) => {\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tconst layoutBounds = calculateLayoutBounds(host);\n\t\t\tresolve(layoutBounds);\n\t\t});\n\t});\n};\n\nconst calculateLayoutBounds = (host) => {\n\tconst layoutBounds = {};\n\tconst nodeQueue = [];\n\tif (host.shadowRoot?.childNodes) {\n\t\tnodeQueue.push(...host.shadowRoot.childNodes);\n\t}\n\twhile (nodeQueue.length !== 0) {\n\t\tconst parent = nodeQueue[0];\n\t\tnodeQueue.shift();\n\t\tconst isSlot = parent.tagName === 'SLOT';\n\t\tlet children = [];\n\t\tif (isSlot) {\n\t\t\tchildren = parent.assignedNodes();\n\t\t} else if (parent.tagName !== 'NOW-UXF-VIEWPORT') {\n\t\t\t// Skip viewport\n\t\t\tchildren.push(...parent.childNodes);\n\t\t}\n\t\tif (parent.appendToMeta) {\n\t\t\tconst parentBoundingRect = parent.getBoundingClientRect();\n\t\t\tif (parentBoundingRect.height != 0 && parentBoundingRect.width != 0) {\n\t\t\t\tconst isBTF = !isNodeInVisibleFold(parentBoundingRect);\n\t\t\t\tif (isBTF) {\n\t\t\t\t\tconst elmRest = getElmRect(parent);\n\t\t\t\t\tlayoutBounds[parent.appendToMeta[COMPOSITION_ELEMENT_ID]] = {\n\t\t\t\t\t\theight: elmRest.height || parentBoundingRect.height,\n\t\t\t\t\t\twidth: elmRest.width || parentBoundingRect.width\n\t\t\t\t\t};\n\t\t\t\t\tif (parent.firstChild?.hasAttribute('layout-tag')) {\n\t\t\t\t\t\tlayoutBounds[\n\t\t\t\t\t\t\tparent.appendToMeta[COMPOSITION_ELEMENT_ID]\n\t\t\t\t\t\t].isLayoutElm = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tchildren.forEach((child) => nodeQueue.push(child));\n\t}\n\treturn layoutBounds;\n};\n\nexport const getLayoutBounds = (mcpId, screenId) => {\n\tconst layoutBoundKey = getLayoutBoundsKey(screenId);\n\treturn (\n\t\tlayoutBoundsSavedRegistry[mcpId]?.[layoutBoundKey] ||\n\t\tlayoutBoundsRegistry[mcpId]?.[layoutBoundKey]\n\t);\n};\n\n// Cache related functions\nconst saveLayoutBoundsToCache = async (key, value) => {\n\ttry {\n\t\tawait cacheInstance.setItem(key, value);\n\t} catch (e) {\n\t\tconsole.error('Error while saving Layout Bounds Information', e);\n\t}\n};\n\nexport const loadLayoutBoundsFromCache = async (mcpId) => {\n\tconst {\n\t\t// @ts-ignore\n\t\t__UXF_layoutBoundsRegistry: layoutBoundsRegistryServer\n\t} = window;\n\tconst layoutBoundsFromServer =\n\t\tlayoutBoundsRegistryServer && layoutBoundsRegistryServer.get(mcpId);\n\tif (layoutBoundsFromServer) {\n\t\tlayoutBoundsFromServer.bounds &&\n\t\t\t(layoutBoundsSavedRegistry[mcpId] = layoutBoundsFromServer.bounds);\n\t\tlayoutBoundsRegistryServer.delete(mcpId);\n\t}\n\n\ttry {\n\t\tconst isValid = !isCacheBusterValidated ? await isCacheBusterValid() : true;\n\t\tif (!isValid) {\n\t\t\treturn;\n\t\t}\n\t\tconst layoutBoundsCache = await cacheInstance.getItem(mcpId);\n\t\tlayoutBoundsCache &&\n\t\t\t(layoutBoundsSavedRegistry[mcpId] = {\n\t\t\t\t...(layoutBoundsSavedRegistry[mcpId] || {}),\n\t\t\t\t...layoutBoundsCache\n\t\t\t});\n\t} catch (e) {\n\t\tconsole.error('Error while reading stored Layout Bounds Information', e);\n\t}\n};\n\nconst clearLayoutBoundsFromCache = async () => {\n\ttry {\n\t\tawait cacheInstance.clear();\n\t} catch (e) {\n\t\tconsole.error('Error while clearing Layout Bounds information', e);\n\t}\n};\n\nconst isCacheBusterValid = async () => {\n\tconst cacheBusterStoredValue = await cacheInstance.getItem(cacheBusterkey);\n\tif (cacheBusterStoredValue != uxLazyLoadingClientCacheBuster) {\n\t\tawait clearLayoutBoundsFromCache();\n\t\ttry {\n\t\t\tawait cacheInstance.setItem(\n\t\t\t\tcacheBusterkey,\n\t\t\t\tuxLazyLoadingClientCacheBuster\n\t\t\t);\n\t\t\tisCacheBusterValidated = true;\n\t\t} catch (e) {\n\t\t\tconsole.error('Error while saving cacheBuster information', e);\n\t\t}\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nconst saveLayoutBoundsToServer = async () => {\n\tconst data = [];\n\tconst mcpIds = Object.keys(layoutBoundsRegistry);\n\tmcpIds.forEach((mcpId) => {\n\t\tconst bounds = layoutBoundsRegistry[mcpId];\n\t\tif (!isEmpty(bounds)) {\n\t\t\tdata.push({\n\t\t\t\tmacroponentSysId: mcpId,\n\t\t\t\tbounds: bounds\n\t\t\t});\n\t\t}\n\t});\n\tif (isEmpty(data)) {\n\t\treturn;\n\t}\n\ttry {\n\t\tconst snHttpRef = await snHttp();\n\t\tawait snHttpRef\n\t\t\t.request('/api/now/uxframework/layout_bounds', 'POST', {\n\t\t\t\tdata,\n\t\t\t\tbatch: false,\n\t\t\t\theaders: {\n\t\t\t\t\t'Content-Type': 'application/json'\n\t\t\t\t}\n\t\t\t})\n\t\t\t.then(() => {\n\t\t\t\tmcpIds.forEach((mcpId) => {\n\t\t\t\t\tlayoutBoundsSavedRegistry[mcpId] = {\n\t\t\t\t\t\t...(layoutBoundsSavedRegistry[mcpId] || {}),\n\t\t\t\t\t\t...layoutBoundsRegistry[mcpId]\n\t\t\t\t\t};\n\t\t\t\t\tdelete layoutBoundsRegistry[mcpId];\n\t\t\t\t});\n\t\t\t});\n\t} catch (e) {\n\t\tconsole.log('Failed to save to server', e);\n\t}\n};\n\nconst debouncedSaveLayoutBoundsToServer = debounce(\n\tsaveLayoutBoundsToServer,\n\t200\n);\n","import {getAncestorNode} from '@servicenow/ui-core';\nimport {\n\tgetValueFromLazyLoadingRegistry,\n\treapplyDefaultStyles\n} from './lazyLoadingUtils';\n\nfunction intersectionCallback(entries) {\n\tentries.forEach((entry) => {\n\t\tif (entry.isIntersecting) {\n\t\t\tentry.target.removeAttribute('defer');\n\t\t\t// Cleanup\n\t\t\ttry {\n\t\t\t\t// Remove defer\n\t\t\t\tconst host = getAncestorNode(entry.target);\n\t\t\t\tconst deferredNodes = getValueFromLazyLoadingRegistry(\n\t\t\t\t\thost,\n\t\t\t\t\t'deferredNodes'\n\t\t\t\t);\n\t\t\t\tif (deferredNodes) {\n\t\t\t\t\tdeferredNodes.delete(entry.target);\n\t\t\t\t}\n\n\t\t\t\t// reapply default styles\n\t\t\t\tconst defaultNodeStyles = getValueFromLazyLoadingRegistry(\n\t\t\t\t\thost,\n\t\t\t\t\t'defaultNodeStyles'\n\t\t\t\t);\n\t\t\t\tconst savedStyles = defaultNodeStyles.get(entry.target);\n\t\t\t\tif (savedStyles) {\n\t\t\t\t\treapplyDefaultStyles(entry.target, savedStyles);\n\t\t\t\t\tdefaultNodeStyles.delete(entry.target);\n\t\t\t\t}\n\t\t\t\tintersectionObserver.unobserve(entry.target);\n\t\t\t} catch (e) {\n\t\t\t\t// Failed to get host since element is not regsistered with seismic yet.\n\t\t\t\t// clearing lazyLoadingStyles, so re-renders will use default styles\n\t\t\t\tdelete entry.target.lazyLoadingStyles;\n\t\t\t}\n\t\t}\n\t});\n}\n\nconst options = {rootMargin: '80px'};\n\nlet intersectionObserver;\nif (!window.IntersectionObserver) {\n\tintersectionObserver = {observe() {}, unobserve() {}};\n} else {\n\tintersectionObserver = new IntersectionObserver(\n\t\tintersectionCallback,\n\t\toptions\n\t);\n}\n\nexport default intersectionObserver;\n","import {isNil, get, isEmpty} from '@devsnc/snowdash';\nimport {getComponentById} from '@servicenow/ui-core';\nimport {getLayoutBounds} from './layoutBounds';\nimport intersectionObserver from './intersectionObserver';\nimport {getCanvasScreen} from '../../../utils/screenUtils';\nimport getUxfSysProp from '../../../utils/getUxfSysProp';\nimport {COMPOSITION_ELEMENT_ID} from '../../constants';\n\nconst SCREEN_ACTION_TRANSFORMER_DELIMITER = 'screen-action-transformer-';\nconst SYS_PROP_LAZY_LOADING_ENABLED =\n\tgetUxfSysProp('glide.uxf.lib.lazy_loading.enabled', 'true') === 'true';\nconst USER_PREFERENCE_LAZY_LOADING_ENABLED =\n\tget(\n\t\twindow,\n\t\t['ux_globals', 'userPrefs', 'workspace.lazyLoading.enabled'],\n\t\t'true'\n\t) === 'true';\n\nconst lazyLoadingRegistry = new WeakMap();\nconst defaultRegistryContents = {\n\tdeferredNodes: null,\n\tdefaultNodeStyles: null,\n\tisLazyLoadingEnabledAtScreen: null\n};\n\nconst getLazyLoadingMap = (host) => {\n\tif (!lazyLoadingRegistry.has(host))\n\t\tlazyLoadingRegistry.set(host, Object.assign({}, defaultRegistryContents));\n\treturn lazyLoadingRegistry.get(host);\n};\n\nexport const getValueFromLazyLoadingRegistry = (\n\thost,\n\tkeyName,\n\tdefaultValue\n) => {\n\tconst instanceObject = getLazyLoadingMap(host);\n\tif (instanceObject[keyName] == null) instanceObject[keyName] = defaultValue;\n\treturn instanceObject[keyName];\n};\n\nconst getScreenId = (host) => {\n\tconst parentTagName = host?.parentNode?.tagName?.toLowerCase();\n\tconst screenId =\n\t\tparentTagName &&\n\t\tparentTagName.startsWith(SCREEN_ACTION_TRANSFORMER_DELIMITER)\n\t\t\t? parentTagName.slice(SCREEN_ACTION_TRANSFORMER_DELIMITER.length)\n\t\t\t: undefined;\n\treturn screenId;\n};\n\nconst getRelevantStyles = (elmStyles) => {\n\tconst styles = {};\n\tif (elmStyles) {\n\t\tstyles['min-height'] = elmStyles['min-height'];\n\t\tstyles['min-width'] = elmStyles['min-width'];\n\t\tstyles['height'] = elmStyles['height'];\n\t\tstyles['width'] = elmStyles['width'];\n\t}\n\treturn styles;\n};\n\nconst setStylesWithBounds = (\n\telm,\n\tbounds,\n\trelevantStyles,\n\tdefaultElmStyles,\n\ttransformFn\n) => {\n\tconst lazyLoadingStyles = {};\n\tObject.keys(relevantStyles).forEach((attr) => {\n\t\tconst boundsKey = attr.includes('height') ? 'height' : 'width';\n\t\tconst style = transformFn\n\t\t\t? transformFn(bounds[boundsKey])\n\t\t\t: bounds[boundsKey];\n\t\tlazyLoadingStyles[attr] = style;\n\t\telm.style.setProperty(attr, style);\n\t});\n\telm.defaultStyles = {...defaultElmStyles, ...lazyLoadingStyles};\n\telm.lazyLoadingStyles = {...lazyLoadingStyles};\n};\n\nexport const reapplyDefaultStyles = (elm, savedStyles) => {\n\tconst defaultStyles = {...elm.defaultStyles};\n\tObject.keys(savedStyles).forEach((attr) => {\n\t\tif (!isNil(savedStyles[attr])) {\n\t\t\telm.style.setProperty(attr, savedStyles[attr]);\n\t\t\tdefaultStyles[attr] = savedStyles[attr];\n\t\t} else {\n\t\t\telm.style.removeProperty(attr);\n\t\t\tdelete defaultStyles[attr];\n\t\t}\n\t});\n\telm.defaultStyles = defaultStyles;\n\tdelete elm.lazyLoadingStyles;\n};\n\nexport const getHooksForLazyLoading = (mcpId, shellComponentId) => {\n\tif (!isLazyLoadingEnabled()) {\n\t\treturn {};\n\t}\n\tconst host = getComponentById(shellComponentId);\n\tconst screenId = getScreenId(host);\n\tif (!screenId || !isLazyLoadingEnabledAtScreen(host)) {\n\t\treturn {};\n\t}\n\tconst deferredNodes = getValueFromLazyLoadingRegistry(\n\t\thost,\n\t\t'deferredNodes',\n\t\tnew Set()\n\t);\n\tconst defaultNodeStyles = getValueFromLazyLoadingRegistry(\n\t\thost,\n\t\t'defaultNodeStyles',\n\t\tnew Map()\n\t);\n\treturn {\n\t\tcreate: (_, vnode) => {\n\t\t\tconst {elm} = vnode;\n\t\t\t// This is to skip elements that are already deferred, like modals\n\t\t\tif (!isNil(elm.getAttribute('defer'))) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst nodeId = elm.appendToMeta[COMPOSITION_ELEMENT_ID];\n\t\t\tconst layoutBounds = getLayoutBounds(mcpId, screenId);\n\t\t\tconst elementBounds = layoutBounds && layoutBounds[nodeId];\n\t\t\tif (elementBounds) {\n\t\t\t\t// Adding defer attribute & bounds to the below the fold element\n\t\t\t\tif (!elementBounds.isLayoutElm) {\n\t\t\t\t\telm.setAttribute('defer', '');\n\t\t\t\t\tdeferredNodes.add(elm);\n\t\t\t\t}\n\t\t\t\tintersectionObserver.observe(elm);\n\n\t\t\t\t// Adding bounds\n\t\t\t\tconst defaultStyles = get(vnode, 'data.style', {});\n\t\t\t\tconst relevantStyles = getRelevantStyles(defaultStyles);\n\t\t\t\tif (!isEmpty(relevantStyles)) {\n\t\t\t\t\tdefaultNodeStyles.set(elm, relevantStyles);\n\t\t\t\t\tsetStylesWithBounds(\n\t\t\t\t\t\telm,\n\t\t\t\t\t\telementBounds,\n\t\t\t\t\t\trelevantStyles,\n\t\t\t\t\t\tdefaultStyles,\n\t\t\t\t\t\t(value) => `${value}px`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n};\n\nexport const isLazyLoadingEnabled = () => {\n\treturn SYS_PROP_LAZY_LOADING_ENABLED && USER_PREFERENCE_LAZY_LOADING_ENABLED;\n};\n\nexport const isLazyLoadingEnabledAtScreen = (host) => {\n    const registry = getLazyLoadingMap(host);\n    if (registry.isLazyLoadingEnabledAtScreen != null) {\n        return registry.isLazyLoadingEnabledAtScreen;\n    }\n    const screenData = getCanvasScreen(host)?.screenData || {};\n    const { lazyLoading } = screenData.advancedPerformanceSettings || {};\n    registry.isLazyLoadingEnabledAtScreen = !!(({ enabled: true, ...lazyLoading}).enabled);\n    return registry.isLazyLoadingEnabledAtScreen;\n};\n","import {createMacroponent} from '../factory/createMacroponent';\nimport createFragmentGenerator from './createFragmentGenerator';\nimport appendTranslations from './appendTranslations';\nimport appendSysProps from './appendSysProps';\nimport appendUserPrefs from './appendUserPrefs';\nimport {loadPresources} from './appendPresources';\nimport {getMacroponentTagName} from '../utils/macroponent.js';\nimport {default as console} from '../utils/getLogger.js';\nimport {isNil} from '@devsnc/snowdash';\n\nimport {isEmbeddableMacroponentLoaded} from '../embeddables/getEmbeddables';\nimport loadAssetDependencies from './loadAssets';\nimport {loadLayoutBoundsFromCache} from '../factory/behaviorFactories/lazyLoading/layoutBounds';\nimport {isLazyLoadingEnabled} from '../factory/behaviorFactories/lazyLoading/lazyLoadingUtils';\n\nexport async function loadPageFragmentMetadata(pageFragment, uxrInteractionId) {\n\tconst {\n\t\ttranslations,\n\t\tsysProps,\n\t\tuserPrefs,\n\t\tpresourceKeys = [],\n\t\tsysId: macroponentSysId\n\t} = pageFragment;\n\tappendTranslations(translations);\n\tappendSysProps(sysProps);\n\tappendUserPrefs(userPrefs);\n\tif (presourceKeys.length > 0) {\n\t\tawait loadPresources(macroponentSysId, presourceKeys, uxrInteractionId);\n\t}\n}\n\nexport default async function createMacroponentFragmentGenerator(\n\tpageFragment,\n\ttagNameSuffix,\n\tawaitAssetLoading,\n\twithAppConfigAgnosticSubRoutes,\n\tuxrInteractionId\n) {\n\tconst {\n\t\ttemplate,\n\t\tmacroponentInstanceJson = {},\n\t\tsysId,\n\t\tsubroutes,\n\t\toffRowEventMappings,\n\t\tesmImports,\n\t\tclientScriptEsm,\n\t\tconsolidatedConfig: serverProducedConsolidatedConfig,\n\t\tassetsInBundle = [],\n\t\tdependentAssetBundles = [],\n\t\tbundleCacheBuster,\n\t\tinline\n\t} = pageFragment;\n\n\tconst {customTagName} = macroponentInstanceJson;\n\tlet prefetchDatabrokerPromises = {};\n\n\tconst forcedRedefine = !isNil(tagNameSuffix);\n\tconst tagName = getMacroponentTagName(sysId, tagNameSuffix);\n\tif (\n\t\t!isEmbeddableMacroponentLoaded(customTagName, sysId) &&\n\t\t!customElements.get(tagName)\n\t) {\n\t\tawait loadPageFragmentMetadata(pageFragment, uxrInteractionId);\n\t\tawait loadAssetDependencies(\n\t\t\t{\n\t\t\t\tesmImports,\n\t\t\t\tclientScriptEsm,\n\t\t\t\tsysId,\n\t\t\t\tassetsInBundle,\n\t\t\t\tdependentAssetBundles,\n\t\t\t\tbundleCacheBuster,\n\t\t\t\tinline\n\t\t\t},\n\t\t\tawaitAssetLoading\n\t\t);\n\t} else {\n\t\tconsole.info(`Skipped loading JS assets for ${tagName}`);\n\t}\n\tif (isLazyLoadingEnabled()) await loadLayoutBoundsFromCache(sysId);\n\tcreateMacroponent(\n\t\tmacroponentInstanceJson,\n\t\tundefined,\n\t\t{subroutes, offRowEventMappings},\n\t\ttagNameSuffix,\n\t\twithAppConfigAgnosticSubRoutes,\n\t\tprefetchDatabrokerPromises,\n\t\tserverProducedConsolidatedConfig,\n\t\tpageFragment?.inline,\n\t\tpageFragment?.tabSetSlotMap\n\t);\n\tconst modifier = forcedRedefine\n\t\t? (template) =>\n\t\t\t\ttemplate.replace(new RegExp(getMacroponentTagName(sysId), 'g'), tagName)\n\t\t: undefined;\n\treturn createFragmentGenerator(template, modifier);\n}\n","import {debounce} from '@devsnc/snowdash';\nimport {PAGE_FRAGMENT_PARTIAL_CONTENT_CACHE_ENABLED} from './getClientCacheableContent.js';\nimport getUxfSysProp from '../utils/getUxfSysProp.js';\nimport createTaskTracker from '../utils/taskTracker.js';\n\nconst DEFAULT_MAX_WAIT_TIME_MS = PAGE_FRAGMENT_PARTIAL_CONTENT_CACHE_ENABLED\n\t? 50\n\t: 300;\nconst DEFAULT_MAX_ITEM_COUNT = PAGE_FRAGMENT_PARTIAL_CONTENT_CACHE_ENABLED\n\t? 20\n\t: 10;\n\nexport default function createBatchingQueue(\n\tbatchConsumerFn,\n\tmaxWaitTimeMs = parseInt(\n\t\tgetUxfSysProp(\n\t\t\t'glide.uxf.lib.template_loader.batch.max_wait_time_ms',\n\t\t\tDEFAULT_MAX_WAIT_TIME_MS\n\t\t)\n\t),\n\tmaxBatchItemCount = parseInt(\n\t\tgetUxfSysProp(\n\t\t\t'glide.uxf.lib.template_loader.batch.max_item_count',\n\t\t\tDEFAULT_MAX_ITEM_COUNT\n\t\t)\n\t)\n) {\n\tconst TaskTracker = createTaskTracker();\n\tconst QUEUE = [];\n\n\tlet IS_CONSUMING_QUEUE = false;\n\n\tfunction consumeQueueInABatch() {\n\t\tif (IS_CONSUMING_QUEUE) return;\n\t\telse {\n\t\t\tconst requestBatch = QUEUE.splice(0, maxBatchItemCount);\n\t\t\tif (requestBatch.length > 0) {\n\t\t\t\tIS_CONSUMING_QUEUE = true;\n\t\t\t\tbatchConsumerFn(requestBatch)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tIS_CONSUMING_QUEUE = false;\n\t\t\t\t\t})\n\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\tTaskTracker.decrementPendingTaskCount(requestBatch.length);\n\t\t\t\t\t\tflushQueueImmediately();\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tconst scheduleFlushQueue = debounce(consumeQueueInABatch, maxWaitTimeMs, {\n\t\tmaxWait: maxWaitTimeMs\n\t});\n\n\tconst {flush: flushQueue} = scheduleFlushQueue;\n\n\t// :( why this is needed: https://github.com/lodash/lodash/issues/4185#issuecomment-462388355\n\tfunction flushQueueImmediately() {\n\t\tscheduleFlushQueue();\n\t\tflushQueue();\n\t}\n\n\tfunction enqueue(...item) {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tTaskTracker.incrementPendingTaskCount(1);\n\t\t\tQUEUE.push([resolve, reject, ...item]);\n\t\t\tif (QUEUE.length >= maxBatchItemCount) flushQueueImmediately();\n\t\t\telse scheduleFlushQueue();\n\t\t});\n\t}\n\n\treturn {\n\t\tenqueue,\n\t\twhenIdle: TaskTracker.whenIdle\n\t};\n}\n","export default async function () {\n\tif (window.appliedPageFragmentsPromise)\n\t\treturn await window.appliedPageFragmentsPromise;\n\n\treturn [];\n}\n","import getPreloadedAppliedPageFragments from './getPreloadedAppliedPageFragments';\n\nconst emptyArray = [];\nexport const getPrefetchableRequests = async (pageFragmentSysId) => {\n\tif (!pageFragmentSysId) return emptyArray;\n\tconst appliedPageFragment = (await getPreloadedAppliedPageFragments()).find(\n\t\t(apf) => apf.pageFragmentSysId === pageFragmentSysId\n\t);\n\tif (!appliedPageFragment) return emptyArray;\n\treturn appliedPageFragment.prefetchableRequests || emptyArray;\n};\n","import {\n\tfetchClientCacheableContent,\n\tPAGE_FRAGMENT_PARTIAL_CONTENT_CACHE_ENABLED\n} from './getClientCacheableContent.js';\nimport {importNonModuleScript} from './importESModules.js';\n\nfunction getLoadedStaticPageFragmentsSysIds() {\n\treturn Array.from(document.head.getElementsByTagName('script'))\n\t\t.map((scriptEl) => scriptEl.getAttribute('data-uxpf-sys-id'))\n\t\t.filter((macroponentSysId) => (macroponentSysId?.length ?? 0) > 0);\n}\n\nconst LOADED_STATIC_PAGE_FRAGMENT_SYS_IDS = new Set(\n\tgetLoadedStaticPageFragmentsSysIds()\n);\n\nfunction shouldSkipClientScriptRegistrations(pageFragment) {\n\tconst {inline = false} = pageFragment;\n\treturn inline;\n}\n\nexport function getStaticPageFragment(pageFragment) {\n\tconst {\n\t\t__UXF_staticPageFragmentGetterRegistry: staticPageFragmentGetterRegistry\n\t} = window;\n\n\tif (!staticPageFragmentGetterRegistry) return pageFragment;\n\n\tconst {sysId: macroponentSysId} = pageFragment;\n\n\tif (staticPageFragmentGetterRegistry.has(macroponentSysId)) {\n\t\tconst staticPageFragmentGetterFn =\n\t\t\tstaticPageFragmentGetterRegistry.get(macroponentSysId);\n\t\tstaticPageFragmentGetterRegistry.delete(macroponentSysId);\n\t\tLOADED_STATIC_PAGE_FRAGMENT_SYS_IDS.delete(macroponentSysId);\n\n\t\tconst skipClientScriptRegistrations =\n\t\t\tshouldSkipClientScriptRegistrations(pageFragment);\n\t\tconst staticPageFragment = staticPageFragmentGetterFn(\n\t\t\tskipClientScriptRegistrations\n\t\t);\n\n\t\tstaticPageFragment.clientScriptEsm = null; // since we load the client script inline\n\n\t\treturn {...staticPageFragment, ...pageFragment};\n\t} else {\n\t\treturn pageFragment;\n\t}\n}\n\nasync function loadStaticPageFragmentScript(staticContentUrl) {\n\ttry {\n\t\tawait importNonModuleScript(staticContentUrl);\n\t} catch (e) {\n\t\tconsole.warn(`Failed to load static page fragment script`);\n\t}\n}\n\nexport default async function getReconstructedPageFragment(pageFragment) {\n\tconst {\n\t\tsysId: macroponentSysId,\n\t\tstaticContentUrl = '',\n\t\tclientCacheableContentUrl = ''\n\t} = pageFragment;\n\tif (\n\t\t!LOADED_STATIC_PAGE_FRAGMENT_SYS_IDS.has(macroponentSysId) &&\n\t\tstaticContentUrl?.length > 0\n\t) {\n\t\tawait loadStaticPageFragmentScript(staticContentUrl);\n\t}\n\n\tconst pageFragmentWithStaticFields = getStaticPageFragment(pageFragment);\n\n\tif (\n\t\t!PAGE_FRAGMENT_PARTIAL_CONTENT_CACHE_ENABLED ||\n\t\tclientCacheableContentUrl.length === 0\n\t)\n\t\treturn pageFragmentWithStaticFields;\n\n\tconst [clientCacheableContent] = await fetchClientCacheableContent(\n\t\tclientCacheableContentUrl\n\t);\n\n\treturn {...clientCacheableContent, ...pageFragmentWithStaticFields};\n}\n","import snHttp from '../snHttpInstance';\nimport {\n\tgetPageContextId,\n\tPAGE_PROCESSOR_LOADED_TEMPLATES,\n\tpolyfilledPromiseDotAllSettled,\n\tgetMacroponentSkipSet,\n\tgetUxGlobal,\n\tgetUserPrefLangCode,\n\tgetSeededFragments,\n\tbuildClientCacheableContentUrl,\n\tbuildStaticContentUrl\n} from './utils';\nimport getUxfSysProp from '../utils/getUxfSysProp.js';\nimport createMacroponentFragmentGenerator from './createMacroponentFragmentGenerator.js';\nimport createFragmentGenerator from './createFragmentGenerator';\nimport {has} from '@devsnc/snowdash';\nimport {get} from '@devsnc/snowdash';\nimport {partition} from '@devsnc/snowdash';\nimport {union} from '@devsnc/snowdash';\nimport createBatchingQueue from './createBatchingQueue.js';\nimport {PAGE_FRAGMENT_PARTIAL_CONTENT_CACHE_ENABLED} from './getClientCacheableContent.js';\nimport {getPrefetchableRequests} from './getPrefetchableRequests.js';\nimport loadAssetDependencies from './loadAssets';\nimport {isNil} from '@devsnc/snowdash';\nimport {isEmpty} from '@devsnc/snowdash';\n\nimport getReconstructedPageFragment from './getReconstructedPageFragment.js';\nimport {memoize} from '@servicenow/ui-utils';\n\nimport {USER_PREF_LANG_HEADER, NOW_UX_INTERACTION} from '../factory/constants';\n\nexport function createTemplateLoader({\n\taddTimestamp = false,\n\tawaitSeedingComplete = false,\n\twithAppConfigAgnosticSubRoutes = false\n} = {}) {\n\tlet resolveSeedingCompletePromise = () => {\n\t\tconsole.warn('Seeding complete called prematurely.');\n\t};\n\n\tconst seedingComplete = new Promise((resolve) => {\n\t\tresolveSeedingCompletePromise = resolve;\n\t});\n\n\tconst SeededPageFragments = new Map();\n\tconst PageFragmentGeneratorCache = new Map();\n\tconst SeededPageFragmentLoaderPromises = new Map();\n\tconst PageFragmentCache = new Map();\n\n\tfunction getSkipSet(useCachePageFragment = false) {\n\t\tif (useCachePageFragment) {\n\t\t\treturn Array.from(PageFragmentCache.keys());\n\t\t}\n\t\treturn getMacroponentSkipSet(\n\t\t\tunion(\n\t\t\t\tArray.from(SeededPageFragments.keys()),\n\t\t\t\tArray.from(PageFragmentGeneratorCache.keys())\n\t\t\t)\n\t\t);\n\t}\n\n\tasync function reconstructFragment(\n\t\tpageFragment,\n\t\tcachePageFragment = false,\n\t\tloadAssetBundle = false\n\t) {\n\t\tconst {sysId: macroponentSysId} = pageFragment;\n\n\t\tif (PageFragmentCache.has(macroponentSysId))\n\t\t\treturn PageFragmentCache.get(macroponentSysId);\n\n\t\tconst reconstructedPageFragment = await getReconstructedPageFragment(\n\t\t\tpageFragment\n\t\t);\n\n\t\tif (cachePageFragment) {\n\t\t\tPageFragmentCache.set(macroponentSysId, reconstructedPageFragment);\n\t\t}\n\n\t\tif (loadAssetBundle) {\n\t\t\tconst {\n\t\t\t\tesmImports,\n\t\t\t\tclientScriptEsm,\n\t\t\t\tsysId,\n\t\t\t\tassetsInBundle,\n\t\t\t\tdependentAssetBundles,\n\t\t\t\tbundleCacheBuster,\n\t\t\t\tinline\n\t\t\t} = reconstructedPageFragment;\n\n\t\t\tloadAssetDependencies(\n\t\t\t\t{\n\t\t\t\t\tesmImports,\n\t\t\t\t\tclientScriptEsm,\n\t\t\t\t\tsysId,\n\t\t\t\t\tassetsInBundle,\n\t\t\t\t\tdependentAssetBundles,\n\t\t\t\t\tbundleCacheBuster,\n\t\t\t\t\tinline\n\t\t\t\t},\n\t\t\t\tfalse\n\t\t\t);\n\t\t}\n\n\t\treturn reconstructedPageFragment;\n\t}\n\n\tasync function getFragmentGenerator(\n\t\tpageFragment,\n\t\tawaitAssetLoading,\n\t\tuxrInteractionId\n\t) {\n\t\tconst {sysId: macroponentSysId} = pageFragment;\n\n\t\t// check if the page fragment generator has been cached, if so, no need to create it again.\n\t\t// this check is added because the uxf-rest MSW does not reserve the skip set in the\n\t\t// request payload when it relays the `/macroponent_driver` request. Given that we will probably\n\t\t// deprecate the uxf-rest MSW which doesn't give too much value (most of the macroponent\n\t\t// metadata are not sent over `/macroponent_driver`), it is better to add the check here to\n\t\t// avoid recreating the fragment generator if it's already cached.\n\t\tconst cachedFragmentGenerator =\n\t\t\tPageFragmentGeneratorCache.get(macroponentSysId);\n\t\tif (cachedFragmentGenerator) return cachedFragmentGenerator;\n\n\t\tconst reconstructedPageFragment = await reconstructFragment(pageFragment);\n\t\tconst prefetchableRequests = getPrefetchableRequests(macroponentSysId);\n\t\tif (prefetchableRequests.length > 0) {\n\t\t\tsendPrefetchRequest(prefetchableRequests, macroponentSysId);\n\t\t}\n\n\t\tconst fragmentGeneratorFn = await createMacroponentFragmentGenerator(\n\t\t\treconstructedPageFragment,\n\t\t\taddTimestamp ? Date.now() : undefined,\n\t\t\tawaitAssetLoading,\n\t\t\twithAppConfigAgnosticSubRoutes,\n\t\t\tuxrInteractionId\n\t\t);\n\t\tPageFragmentGeneratorCache.set(macroponentSysId, fragmentGeneratorFn);\n\t\treturn fragmentGeneratorFn;\n\t}\n\n\tasync function fetchPageFragments(\n\t\tmacroponentSysIds,\n\t\tcachePageFragment = false,\n\t\tuxrInteractionId\n\t) {\n\t\ttry {\n\t\t\tconst snHttpRef = await snHttp();\n\t\t\tconst {data: {result: fetchedFragments = []} = {}} =\n\t\t\t\tawait snHttpRef.request(\n\t\t\t\t\t'/api/now/uxframework/macroponent_drivers',\n\t\t\t\t\t'POST',\n\t\t\t\t\t{\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\texcludeStaticContent: true,\n\t\t\t\t\t\t\texcludeClientCacheableContent:\n\t\t\t\t\t\t\t\tPAGE_FRAGMENT_PARTIAL_CONTENT_CACHE_ENABLED,\n\t\t\t\t\t\t\tmacroponentSysIds,\n\t\t\t\t\t\t\tmacroponentSkipSet: getSkipSet(cachePageFragment),\n\t\t\t\t\t\t\tpageContextId: getPageContextId(),\n\t\t\t\t\t\t\twithAppConfigAgnosticSubRoutes\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbatch: false,\n\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t[USER_PREF_LANG_HEADER]: getUserPrefLangCode(),\n\t\t\t\t\t\t\t[NOW_UX_INTERACTION]:\n\t\t\t\t\t\t\t\tuxrInteractionId || window.nowUiFramework?.uxrInteractionId\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\treturn fetchedFragments;\n\t\t} catch (e) {\n\t\t\tconsole.warn(\n\t\t\t\t'Failed to retrieve page fragments for these sys ids:',\n\t\t\t\tmacroponentSysIds\n\t\t\t);\n\t\t\treturn [];\n\t\t}\n\t}\n\tconst isSeededPageFragment = (macroponentSysId) =>\n\t\tSeededPageFragments.has(macroponentSysId);\n\n\tasync function fetchConsolidatedPageFragments(\n\t\tmacroponentSysIds,\n\t\tcachePageFragment = false,\n\t\tuxrInteractionId\n\t) {\n\t\tconst [macroponentSysIdsToLookup, macroponentSysIdsToFetch] = partition(\n\t\t\tmacroponentSysIds,\n\t\t\t(macroponentSysId) => SeededPageFragments.has(macroponentSysId)\n\t\t);\n\t\tconst fetchedFragments =\n\t\t\tmacroponentSysIdsToFetch.length > 0\n\t\t\t\t? await fetchPageFragments(\n\t\t\t\t\t\tmacroponentSysIdsToFetch,\n\t\t\t\t\t\tcachePageFragment,\n\t\t\t\t\t\tuxrInteractionId\n\t\t\t\t  )\n\t\t\t\t: [];\n\n\t\t// Seeded fragments are skipped by fetchPageFragments\n\t\t// So adding the Seeded dependentMCPIds to lookup\n\t\tif (!cachePageFragment)\n\t\t\tfetchedFragments\n\t\t\t\t.flatMap((pf) => pf.dependentMCPIds ?? [])\n\t\t\t\t.filter(isSeededPageFragment)\n\t\t\t\t.forEach((macroponentSysId) =>\n\t\t\t\t\tmacroponentSysIdsToLookup.push(macroponentSysId)\n\t\t\t\t);\n\n\t\tconst seededFragments = getSeededFragments(\n\t\t\tmacroponentSysIdsToLookup,\n\t\t\tSeededPageFragments\n\t\t);\n\n\t\tconst fragments = [...seededFragments, ...fetchedFragments];\n\t\treturn fragments;\n\t}\n\n\tfunction excludeDeferredFragments(fragments, macroponentSysIds) {\n\t\t// track which dependencies can be skipped (those deferred by all fragments that depend on them)\n\t\t// map dependent mcp sys_id -> boolean (true means can be skipped)\n\t\tconst canDefer = new Map();\n\n\t\t// first, initialize canDefer\n\t\tfragments.forEach(fragment => {\n\t\t\tconst dependentIds = fragment.dependentMCPIds || [];\n\t\t\tdependentIds.forEach(id => {\n\t\t\t\tif (!canDefer.has(id)) {\n\t\t\t\t\t// initially assume all can be skipped\n\t\t\t\t\tcanDefer.set(id, true);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\t// then, mark dependencies that CANNOT be skipped\n\t\tfragments.forEach(fragment => {\n\t\t\tconst dependentIds = fragment.dependentMCPIds || [];\n\t\t\tconst deferredIds = fragment.deferredDependentMCPIds || [];\n\n\t\t\tdependentIds.forEach(id => {\n\t\t\t\t// if any fragment requires this dependency immediately (not deferred), then it cannot be skipped\n\t\t\t\tif (!deferredIds.includes(id)) {\n\t\t\t\t\tcanDefer.set(id, false);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\t// 1. always process root fragments\n\t\t// 2. process dependencies only if they cannot be skipped\n\t\treturn fragments.filter(fragment => {\n\t\t\t// root fragments are always processed\n\t\t\tif (macroponentSysIds.includes(fragment.sysId))\n\t\t\t\treturn true;\n\n\t\t\t// for dependencies, only process if they can't be skipped\n\t\t\treturn canDefer.has(fragment.sysId) && !canDefer.get(fragment.sysId);\n\t\t});\n\t}\n\n\tasync function fetchAndLoadFragmentGenerators(\n\t\tmacroponentSysIds,\n\t\tuxrInteractionId\n\t) {\n\t\tconst fragments = await fetchConsolidatedPageFragments(\n\t\t\tmacroponentSysIds,\n\t\t\tfalse,\n\t\t\tuxrInteractionId\n\t\t);\n\n\t\tconst nonDeferredFragments = excludeDeferredFragments(\n\t\t\tfragments,\n\t\t\tmacroponentSysIds\n\t\t);\n\n\t\tawait polyfilledPromiseDotAllSettled(\n\t\t\tnonDeferredFragments.map((fragment) =>\n\t\t\t\tgetFragmentGenerator(fragment, false, uxrInteractionId)\n\t\t\t)\n\t\t);\n\t}\n\n\tconst {\n\t\tenqueue: enqueueFetchPageFragmentGenerator,\n\t\twhenIdle: whenGetTemplatesIdle\n\t} = createBatchingQueue(async (batch) => {\n\t\tlet candidateUxrInteractionId = '';\n\t\tlet count = 0;\n\n\t\tconst macroponentSysIds = batch.map(\n\t\t\t([_, __, macroponentSysId, currentUxrInteractionId]) => {\n\t\t\t\t// Finding the majority uxrInteractionId using moore's voting algorithm\n\t\t\t\tif (candidateUxrInteractionId === currentUxrInteractionId) {\n\t\t\t\t\tcount += 1;\n\t\t\t\t} else if (count === 0) {\n\t\t\t\t\tcandidateUxrInteractionId = currentUxrInteractionId;\n\t\t\t\t\tcount = 1;\n\t\t\t\t} else {\n\t\t\t\t\tcount -= 1;\n\t\t\t\t}\n\n\t\t\t\treturn macroponentSysId;\n\t\t\t}\n\t\t);\n\n\t\t// Check if any of the macroponentSysIds could be skipped (because they were resolved in an earlier batch response)\n\t\tconst macroponentSysIdsToFetch = macroponentSysIds.filter(\n\t\t\t(macroponentSysId) => !PageFragmentGeneratorCache.has(macroponentSysId)\n\t\t);\n\t\tawait fetchAndLoadFragmentGenerators(\n\t\t\tmacroponentSysIdsToFetch,\n\t\t\tcandidateUxrInteractionId\n\t\t);\n\t\t// we don't know when a particular macroponent request has failed from the REST service yet, so always resolve\n\t\tbatch.forEach(([resolve]) => resolve());\n\t});\n\n\tfunction getTemplateGeneratorPromise(\n\t\tmacroponentSysId,\n\t\tcurrentUxrInteractionId\n\t) {\n\t\tif (isNil(macroponentSysId)) return;\n\n\t\tif (PageFragmentGeneratorCache.has(macroponentSysId)) {\n\t\t\treturn Promise.resolve();\n\t\t} else if (has(PAGE_PROCESSOR_LOADED_TEMPLATES, [macroponentSysId])) {\n\t\t\tconst fragmentGeneratorFn = createFragmentGenerator(\n\t\t\t\tget(PAGE_PROCESSOR_LOADED_TEMPLATES, [macroponentSysId])\n\t\t\t);\n\t\t\tPageFragmentGeneratorCache.set(macroponentSysId, fragmentGeneratorFn);\n\t\t\treturn Promise.resolve();\n\t\t} else if (SeededPageFragmentLoaderPromises.has(macroponentSysId)) {\n\t\t\treturn SeededPageFragmentLoaderPromises.get(macroponentSysId);\n\t\t} else {\n\t\t\treturn enqueueFetchPageFragmentGenerator(\n\t\t\t\tmacroponentSysId,\n\t\t\t\tcurrentUxrInteractionId\n\t\t\t);\n\t\t}\n\t}\n\n\tconst memoizedGetTemplateGeneratorPromise = memoize(\n\t\t(sysId, currentUxrInteractionId) =>\n\t\t\tgetTemplateGeneratorPromise(sysId, currentUxrInteractionId)\n\t);\n\n\tasync function getTemplates(\n\t\tmacroponentSysIds = [],\n\t\t_withConsolidatedScripts,\n\t\tuxrInteractionId\n\t) {\n\t\tif (macroponentSysIds.length === 0) return;\n\t\t// Wait for the HTML document to signal that it has finished seeding everything it has\n\t\tif (awaitSeedingComplete) await seedingComplete;\n\t\t// Kick off requests for all the macroponents\n\t\tawait polyfilledPromiseDotAllSettled(\n\t\t\tmacroponentSysIds.map((sysId) =>\n\t\t\t\tmemoizedGetTemplateGeneratorPromise(sysId, uxrInteractionId)\n\t\t\t)\n\t\t);\n\n\t\t// Once all the requests are finished, look them up in the cache\n\t\treturn macroponentSysIds.reduce((acc, macroponentSysId) => {\n\t\t\tacc[macroponentSysId] = PageFragmentGeneratorCache.get(macroponentSysId);\n\t\t\treturn acc;\n\t\t}, {});\n\t}\n\n\tasync function fetchAndConstructPageFragment(\n\t\tmacroponentSysIds,\n\t\tcachePageFragment,\n\t\tloadAssetBundle\n\t) {\n\t\tconst fragments = await fetchConsolidatedPageFragments(\n\t\t\tmacroponentSysIds,\n\t\t\tcachePageFragment\n\t\t);\n\t\t// Check if any of the macroponentSysIds could be skipped as they could already be loaded\n\t\tconst fragmentsToFetch = fragments.filter(\n\t\t\t(fragment) => !PageFragmentGeneratorCache.has(fragment.sysId)\n\t\t);\n\t\tfor (const fragment of fragmentsToFetch)\n\t\t\tawait reconstructFragment(fragment, cachePageFragment, loadAssetBundle);\n\t}\n\n\tasync function getPageFragmentPromise(macroponentSysId, loadAssetBundle) {\n\t\tif (isNil(macroponentSysId)) return;\n\n\t\tif (PageFragmentCache.has(macroponentSysId)) {\n\t\t\treturn Promise.resolve();\n\t\t} else {\n\t\t\treturn enqueueFetchPageFragment(macroponentSysId, loadAssetBundle);\n\t\t}\n\t}\n\n\tconst memoizedGetPageFramentPromise = memoize(getPageFragmentPromise);\n\n\tasync function getPageFragments(\n\t\tmacroponentSysIds = [],\n\t\tloadAssetBundle = false\n\t) {\n\t\tif (macroponentSysIds.length === 0) return;\n\n\t\t// Kick off requests for all the macroponents\n\t\tawait polyfilledPromiseDotAllSettled(\n\t\t\tmacroponentSysIds.map((macroponentSysId) =>\n\t\t\t\tmemoizedGetPageFramentPromise(macroponentSysId, loadAssetBundle)\n\t\t\t)\n\t\t);\n\n\t\t// Once all the requests are finished, look them up in the cache\n\t\tconst pageFragments = macroponentSysIds.reduce((acc, macroponentSysId) => {\n\t\t\tconst fragment = PageFragmentCache.get(macroponentSysId);\n\t\t\tacc[macroponentSysId] = fragment;\n\t\t\treturn acc;\n\t\t}, {});\n\n\t\treturn pageFragments;\n\t}\n\n\tconst {enqueue: enqueueFetchPageFragment} = createBatchingQueue(\n\t\tasync (batch) => {\n\t\t\tconst macroponentSysIds = batch.map(\n\t\t\t\t([_, __, macroponentSysId]) => macroponentSysId\n\t\t\t);\n\n\t\t\t/* eslint-disable no-unused-vars */\n\t\t\tconst _loadAssetBundle = batch\n\t\t\t\t.map(([_, __, macroponentSysId, loadAssetBundle]) => loadAssetBundle)\n\t\t\t\t.every((load) => load == true);\n\t\t\t/* eslint-enable no-unused-vars */\n\n\t\t\t// Check if any of the macroponentSysIds could be skipped (because they were resolved in an earlier batch response)\n\t\t\tconst macroponentSysIdsToFetch = macroponentSysIds.filter(\n\t\t\t\t(macroponentSysId) => !PageFragmentCache.has(macroponentSysId)\n\t\t\t);\n\n\t\t\tawait fetchAndConstructPageFragment(\n\t\t\t\tmacroponentSysIdsToFetch,\n\t\t\t\ttrue,\n\t\t\t\t_loadAssetBundle\n\t\t\t);\n\t\t\t// we don't know when a particular macroponent request has failed from the REST service yet, so always resolve\n\t\t\tbatch.forEach(([resolve]) => resolve());\n\t\t}\n\t);\n\n\tfunction deleteCache(macroponentSysIds = []) {\n\t\tmacroponentSysIds.forEach((macroponentSysId) => {\n\t\t\tmemoizedGetTemplateGeneratorPromise.cache.delete(macroponentSysId);\n\t\t\tPageFragmentGeneratorCache.delete(macroponentSysId);\n\t\t});\n\t}\n\n\tfunction seedPageFragment(rawPageFragment) {\n\t\tconst {sysId} = rawPageFragment;\n\t\tSeededPageFragments.set(sysId, rawPageFragment);\n\t}\n\n\tfunction loadSeededPageFragment(sysId, uxrInteractionId) {\n\t\tconst fragmentGeneratorPromise = getFragmentGenerator(\n\t\t\tSeededPageFragments.get(sysId),\n\t\t\ttrue,\n\t\t\tuxrInteractionId\n\t\t);\n\t\tSeededPageFragmentLoaderPromises.set(sysId, fragmentGeneratorPromise);\n\t\treturn fragmentGeneratorPromise;\n\t}\n\n\tfunction signalSeedingComplete() {\n\t\tresolveSeedingCompletePromise();\n\t}\n\n\tfunction sendPrefetchRequest(requests, macroponentSysId) {\n\t\tconst prefetchEnabled = getUxfSysProp(\n\t\t\t'glide.uxf.lib.api_prefetch.known_queries.enabled',\n\t\t\tfalse\n\t\t);\n\t\tif (prefetchEnabled) {\n\t\t\t//TODO: evaluate, may be need to fire n request ?\n\t\t\tconst {data, url, method = 'POST'} = requests[0] || {};\n\t\t\tif (!data || !url) return;\n\t\t\tsnHttp().then((snHttpInstance) =>\n\t\t\t\tsnHttpInstance\n\t\t\t\t\t.request(url, method, {\n\t\t\t\t\t\tdata: [data],\n\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t'X-Now-Requested-As-Prefetch': true\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.catch(() =>\n\t\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t\t`Error occured while prefetching ${data.operationName} for ${macroponentSysId}`\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}\n\n\tfunction readBundleAndSeed(bundle) {\n\t\tif (isEmpty(bundle)) return;\n\t\tconst {\n\t\t\tdependenciesByMacroponentSysId = {},\n\t\t\tdeferredDependenciesByMacroponentSysId = {},\n\t\t\tmacroponentSysIdByClientCacheableContentCacheBuster = {},\n\t\t\tstaticContentCacheBuster = '',\n\t\t\tlanguageCode = ''\n\t\t} = bundle;\n\n\t\tconst macroponentSysIds = Object.keys(dependenciesByMacroponentSysId);\n\n\t\tconst clientCacheableContentCacheBusters = {};\n\n\t\tObject.entries(macroponentSysIdByClientCacheableContentCacheBuster).forEach(\n\t\t\t([cacheBuster, sysIds]) => {\n\t\t\t\tsysIds.forEach((sysId) => {\n\t\t\t\t\tclientCacheableContentCacheBusters[sysId] = cacheBuster;\n\t\t\t\t});\n\t\t\t}\n\t\t);\n\n\t\tfor (const macroponentSysId of macroponentSysIds) {\n\t\t\tconst clientCacheableContentCacheBuster =\n\t\t\t\tclientCacheableContentCacheBusters[macroponentSysId];\n\n\t\t\tconst pageFragment = {\n\t\t\t\tclientCacheableContentUrl: buildClientCacheableContentUrl(\n\t\t\t\t\tmacroponentSysId,\n\t\t\t\t\tclientCacheableContentCacheBuster\n\t\t\t\t),\n\t\t\t\tstaticContentUrl: buildStaticContentUrl(\n\t\t\t\t\tlanguageCode,\n\t\t\t\t\tmacroponentSysId,\n\t\t\t\t\tstaticContentCacheBuster\n\t\t\t\t),\n\t\t\t\tsysId: macroponentSysId,\n\t\t\t\tdependentMCPIds: dependenciesByMacroponentSysId[macroponentSysId],\n\t\t\t\tdeferredDependentMCPIds: deferredDependenciesByMacroponentSysId[macroponentSysId],\n\t\t\t};\n\n\t\t\tinstance.seedPageFragment(pageFragment);\n\t\t}\n\t}\n\n\tconst instance = {\n\t\tgetTemplates,\n\t\tseedPageFragment,\n\t\tloadSeededPageFragment,\n\t\tsignalSeedingComplete,\n\t\tdeleteCache,\n\t\twhenGetTemplatesIdle,\n\t\tgetPageFragments,\n\t\treadBundleAndSeed,\n\t\tseedingComplete\n\t};\n\treturn instance;\n}\n\n// This is set to `true` by the page processor\nconst SERVED_BY_GLIDE = getUxGlobal('documentServedByGlide', false);\n\nconst SUPPORTS_MULTIPLE_EXPERIENCES = getUxGlobal(\n\t'documentSupportsMultipleExperiences',\n\tfalse\n);\n\n// Only await seeding complete when served in the glide environment\n// to keep backwards compatibility for non-glide environments like\n// tectonic dev server, jest, karma functional test runner, etc.\nconst instance = createTemplateLoader({\n\tawaitSeedingComplete: SERVED_BY_GLIDE,\n\twithAppConfigAgnosticSubRoutes: SUPPORTS_MULTIPLE_EXPERIENCES\n});\n\nexport const seedPageFragment = instance.seedPageFragment;\nexport const signalSeedingComplete = instance.signalSeedingComplete;\nexport const loadSeededPageFragment = instance.loadSeededPageFragment;\nexport const getTemplates = instance.getTemplates;\nexport const whenGetTemplatesIdle = instance.whenGetTemplatesIdle;\nexport const getPageFragments = instance.getPageFragments;\nexport const seedingComplete = instance.seedingComplete;\nexport const readBundleAndSeed = instance.readBundleAndSeed;\nexport default getTemplates;\n","import {get} from '@devsnc/snowdash';\nimport {actionTypes} from './constants';\nimport {\n\tSYMBOL_EVENT_MAPPING_SOURCE_IS_SCREEN_ACTION_TRANSFORMER,\n\tSYMBOL_EVENT_MAPPING_SOURCE_IS_FROM_SUB_PAGE,\n\tSYMBOL_ORIGINATING_ELEMENT_ID_FOR_CONTROLLER_OP,\n\tCONTROLLER\n} from '../../../constants.js';\nimport getResolvedInputsForDbOpExec from '../../../UxValueResolver/getResolvedInputsForDbOpExec';\nimport {\n\tgetInternalEffect,\n\tdispatchInternalAction\n} from '../../../getInternalEffect.js';\nimport {getNamespacedComponentId} from '../../../utils';\nconst UXF_CSDB_ID = Symbol.for(\n\t'__DO_NOT_USE_THS_IS_NOT_A_PUBLIC_API__uxfCsdbId'\n);\nconst {\n\tUXF_DB_OP_EXEC_REQUESTED,\n\tUXF_DB_REFRESH_RELATED_REQUESTED,\n\tUXF_DB_OP_TRIGGER_REQUESTED\n} = actionTypes;\nimport {getCsdbDispatchFn, getMiPdbDispatchFn} from '../../../registry';\nimport {default as console} from '../../../../utils/getLogger.js';\nimport {isNil} from '@devsnc/snowdash';\nimport {actionChainAugmentationInterceptor} from '../../../interceptors/actionChainAugmentationInterceptor';\nimport getTemplates from '../../../../templateLoader/getTemplates';\n\nexport default function getDataBrokerOperationHandlers(\n\tcsdbNode,\n\tdataShell,\n\thasPdbNode,\n\ttargetExclusions = [],\n\tisControllerMacroponent,\n\tproxyDataBrokerNodes = []\n) {\n\tconst hasCsdbNode = !isNil(csdbNode);\n\n\treturn {\n\t\t[UXF_DB_OP_TRIGGER_REQUESTED]: getInternalEffect({\n\t\t\tstopPropagation: false,\n\t\t\teffect: async ({action, dispatch, host, properties}) => {\n\t\t\t\tconst {\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\toperation: {dataElementId, operationName},\n\t\t\t\t\t\toperationPayload\n\t\t\t\t\t},\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\t[SYMBOL_EVENT_MAPPING_SOURCE_IS_SCREEN_ACTION_TRANSFORMER]:\n\t\t\t\t\t\t\tsourceIsScreenActionTransformer,\n\t\t\t\t\t\t[SYMBOL_EVENT_MAPPING_SOURCE_IS_FROM_SUB_PAGE]: sourceIsFromSubPage,\n\t\t\t\t\t\t[SYMBOL_ORIGINATING_ELEMENT_ID_FOR_CONTROLLER_OP]:\n\t\t\t\t\t\t\toriginatingElementIdForControllerOp,\n\t\t\t\t\t\tuxfMeta,\n\t\t\t\t\t\tid: actionSourceElementId\n\t\t\t\t\t}\n\t\t\t\t} = action;\n\t\t\t\tconst {nowId} = properties;\n\t\t\t\t// When the source is a screenActionTransformer or sourceIsFromSubPage and the incoming\n\t\t\t\t// targeted host is a controller macroponent we need to allow propagation so that\n\t\t\t\t// the action bubbles up to the page definition macroponent. In any other case, we\n\t\t\t\t// want to fallback to the previous behavior and stop propagation\n\t\t\t\tif (\n\t\t\t\t\tisControllerMacroponent &&\n\t\t\t\t\t(sourceIsScreenActionTransformer || sourceIsFromSubPage)\n\t\t\t\t)\n\t\t\t\t\treturn;\n\n\t\t\t\t// when action is dispatched from subpage intending for parent controller, it should bypass handling the event so it'll be handled on the parent page.\n\t\t\t\t// this is the case when subpage also has its own controller.\n\t\t\t\tif (sourceIsFromSubPage && nowId === actionSourceElementId) return;\n\n\t\t\t\taction.stopPropagation();\n\n\t\t\t\tif (targetExclusions.includes(dataElementId)) return;\n\n\t\t\t\tconst dataBrokerId = get(dataShell, [\n\t\t\t\t\t'dataElements',\n\t\t\t\t\tdataElementId,\n\t\t\t\t\t'definitionSysId'\n\t\t\t\t]);\n\n\t\t\t\tconst dataBrokerType = get(dataShell, [\n\t\t\t\t\t'dataElements',\n\t\t\t\t\tdataElementId,\n\t\t\t\t\t'type'\n\t\t\t\t]);\n\n\t\t\t\t// if data broker is a controller, we need to get the controller macroponent sys_id\n\t\t\t\t// if the controller macroponenent is not initialized, we need to initialize it here.\n\t\t\t\tif (dataBrokerType === CONTROLLER) {\n\t\t\t\t\tconst mcpSysId = proxyDataBrokerNodes.find(\n\t\t\t\t\t\t(node) => node.nodeId === dataElementId\n\t\t\t\t\t)?.definitionSysId;\n\t\t\t\t\tif (\n\t\t\t\t\t\tmcpSysId &&\n\t\t\t\t\t\tisNil(window.customElements.get('macroponent-' + mcpSysId))\n\t\t\t\t\t) {\n\t\t\t\t\t\tawait getTemplates([mcpSysId]);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst operationDefinition = get(dataShell, [\n\t\t\t\t\t'dataBrokers',\n\t\t\t\t\tdataBrokerId,\n\t\t\t\t\t'operations',\n\t\t\t\t\toperationName\n\t\t\t\t]);\n\n\t\t\t\tif (isNil(operationDefinition)) {\n\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t`Unable to locate data broker with id = ${dataElementId}, operation name = ${operationName}`\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tswitch (operationDefinition.type) {\n\t\t\t\t\tcase 'refresh':\n\t\t\t\t\t\tif (!isNil(dataElementId))\n\t\t\t\t\t\t\tdispatchInternalAction(\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tUXF_DB_REFRESH_RELATED_REQUESTED,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: dataElementId\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tuxfMeta\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'broker':\n\t\t\t\t\t\t//for data broker, the source element have to be the same as the actionSourceElementId because only a macroponent that has a data broker will be able to execute/refresh.\n\t\t\t\t\t\tif (nowId !== actionSourceElementId) return;\n\n\t\t\t\t\t\tdispatchInternalAction(\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tUXF_DB_OP_EXEC_REQUESTED,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdata: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\ttype: operationDefinition.targetActionType, // fixme: derive from broker def\n\t\t\t\t\t\t\t\t\t\tdefinitionSysId: operationDefinition.targetActionId,\n\t\t\t\t\t\t\t\t\t\tparentResourceId: dataElementId,\n\t\t\t\t\t\t\t\t\t\tinputValues: getResolvedInputsForDbOpExec(\n\t\t\t\t\t\t\t\t\t\t\toperationDefinition.targetActionInputValues,\n\t\t\t\t\t\t\t\t\t\t\toperationPayload\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{operationName: operationDefinition.name, uxfMeta}\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'delegate':\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvar dbDispatch;\n\t\t\t\t\t\t\tif (dataBrokerType === CONTROLLER || (hasPdbNode && !hasCsdbNode))\n\t\t\t\t\t\t\t\tdbDispatch = getMiPdbDispatchFn(host, dataElementId, dispatch);\n\t\t\t\t\t\t\telse if (hasCsdbNode)\n\t\t\t\t\t\t\t\tdbDispatch = getCsdbDispatchFn(host, csdbNode.nodeId, dispatch);\n\t\t\t\t\t\t\telse dbDispatch = dispatch;\n\n\t\t\t\t\t\t\tlet operationMeta = {\n\t\t\t\t\t\t\t\tuxfMeta,\n\t\t\t\t\t\t\t\t[UXF_CSDB_ID]: getNamespacedComponentId(\n\t\t\t\t\t\t\t\t\tnowId,\n\t\t\t\t\t\t\t\t\thasCsdbNode ? csdbNode.nodeId : dataElementId\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\tif (dataBrokerType === CONTROLLER) {\n\t\t\t\t\t\t\t\toperationMeta = {\n\t\t\t\t\t\t\t\t\t...operationMeta,\n\t\t\t\t\t\t\t\t\t[SYMBOL_ORIGINATING_ELEMENT_ID_FOR_CONTROLLER_OP]:\n\t\t\t\t\t\t\t\t\t\toriginatingElementIdForControllerOp\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tdbDispatch(\n\t\t\t\t\t\t\t\toperationDefinition.targetEventName,\n\t\t\t\t\t\t\t\toperationPayload,\n\t\t\t\t\t\t\t\toperationMeta\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t},\n\t\t\tinterceptors: [actionChainAugmentationInterceptor]\n\t\t})\n\t};\n}\n","import {debounce} from '@devsnc/snowdash';\nimport {actionTypes} from './constants.js';\nimport {dispatchInternalAction} from '../../../getInternalEffect.js';\nimport {getInstanceValue} from '../../../registry/macroponentInstanceRegistry.js';\n\nconst {UXF_DB_REFRESH_REQUESTED} = actionTypes;\n\nconst REFRESH_PIPELINE_DEBOUNCE_DURATION_IN_MS = 100; // ms\n\nexport function refreshPipeline(dispatch, pipeline) {\n\tconsole.log('Dispatching refresh pipeline');\n\tdispatchInternalAction(dispatch, UXF_DB_REFRESH_REQUESTED, pipeline);\n}\n\nfunction getDebouncedRefreshPipelineFn(host, pipelineId) {\n\tconst debouncedFnsByPipelineId = getInstanceValue(\n\t\thost,\n\t\t'dataBrokerDebouncedPipelineRefreshFns',\n\t\t() => new Map()\n\t);\n\n\tif (!debouncedFnsByPipelineId.has(pipelineId)) {\n\t\tconst debouncedRefreshPipelineFn = debounce(\n\t\t\trefreshPipeline,\n\t\t\tREFRESH_PIPELINE_DEBOUNCE_DURATION_IN_MS,\n\t\t\t{\n\t\t\t\tleading: true,\n\t\t\t\ttrailing: false,\n\t\t\t\tmaxWait: REFRESH_PIPELINE_DEBOUNCE_DURATION_IN_MS\n\t\t\t}\n\t\t);\n\t\tdebouncedFnsByPipelineId.set(pipelineId, debouncedRefreshPipelineFn);\n\t}\n\n\treturn debouncedFnsByPipelineId.get(pipelineId);\n}\n\nexport function debouncedRefreshPipeline(host, dispatch, pipeline) {\n\tconst {id: pipelineId} = pipeline;\n\tconst debouncedFn = getDebouncedRefreshPipelineFn(host, pipelineId);\n\tif (debouncedFn) {\n\t\tdebouncedFn(dispatch, pipeline);\n\t} else {\n\t\trefreshPipeline(dispatch, pipeline);\n\t}\n}\n","import {isEqual, isEmpty} from '@devsnc/snowdash';\n// used to read data supplied by the HTML doc\nconst DATA_HYDRATION_REGISTRY = {\n\trequests: {},\n\tresponses: {}\n};\nfunction getRegistry() {\n\treturn DATA_HYDRATION_REGISTRY;\n}\n\nfunction setupRegistry(requests = {}, responses = {}) {\n\tDATA_HYDRATION_REGISTRY.requests = requests;\n\tDATA_HYDRATION_REGISTRY.responses = responses;\n}\nexport const exportForTesting = {getRegistry, setupRegistry};\nconst POLARIS_APP_SHELL_MACROPONENT_SYS_ID = 'f51912f4c700201072b211d4d8c26010';\nconst POLARIS_EVALUATIONS_KEY = 'polarisEvaluations';\nconst EVALUATIONS_USED_REGISTRY = new Set();\n\nexport function initializeDataHydrationRegistryResponses(requests) {\n\tif (isEmpty(DATA_HYDRATION_REGISTRY.requests))\n\t\tDATA_HYDRATION_REGISTRY.requests = requests;\n\telse\n\t\tDATA_HYDRATION_REGISTRY.requests = {\n\t\t\t...DATA_HYDRATION_REGISTRY.requests,\n\t\t\t...requests\n\t\t};\n\n\tconst {responses} = getRegistry();\n\tconst polarisAppShellResponses = {evaluationByPipelineId: {}};\n\tObject.entries(requests).forEach(([evaluationId, request]) => {\n\t\tconst {qualifyingPipelineId} = request;\n\t\trequest.requestPipelineResolvePromise = {};\n\t\trequest.requestPipelineRejectPromise = {};\n\t\tconst evaluationByPipelineId = {};\n\t\tevaluationByPipelineId[qualifyingPipelineId] = new Promise(\n\t\t\t(resolve, reject) => {\n\t\t\t\trequest.requestPipelineResolvePromise[qualifyingPipelineId] = resolve;\n\t\t\t\trequest.requestPipelineRejectPromise[qualifyingPipelineId] = reject;\n\t\t\t}\n\t\t);\n\t\tresponses[evaluationId] = {\n\t\t\tevaluationId: evaluationId,\n\t\t\tmacroponentSysId: request.macroponentSysId,\n\t\t\tevaluationByPipelineId: evaluationByPipelineId\n\t\t};\n\n\t\t//specific case for polaris-app-shell\n\t\tif (request.macroponentSysId === POLARIS_APP_SHELL_MACROPONENT_SYS_ID) {\n\t\t\t// Massage the split up requests back into a single object for polaris-app-shell to parse\n\t\t\t// They do not care about an evaluation-id.\n\t\t\tconst pipeline = request.qualifyingPipelineId;\n\t\t\tpolarisAppShellResponses['macroponentSysId'] =\n\t\t\t\tresponses[evaluationId]['macroponentSysId'];\n\t\t\tpolarisAppShellResponses.evaluationByPipelineId[pipeline] =\n\t\t\t\tresponses[evaluationId]['evaluationByPipelineId'][pipeline];\n\t\t}\n\t});\n\twindow.__uxf_data_hydration_registry = {\n\t\tresponses: {[POLARIS_EVALUATIONS_KEY]: polarisAppShellResponses}\n\t};\n}\n\nexport function resolveEarlyEvaluationPipeline(\n\tevaluationId,\n\tpipelineId,\n\tevaluationResult\n) {\n\tconst {requests = {}} = getRegistry();\n\tresolveRequestPipelinePromise(\n\t\trequests,\n\t\tevaluationId,\n\t\tpipelineId,\n\t\tevaluationResult\n\t);\n}\n\nexport function resolveRequestPipelinePromise(\n\trequests,\n\tevaluationId,\n\tpipelineId,\n\tevaluationResult\n) {\n\tconst matchingRequest = (\n\t\tArray.isArray(requests) ? requests : Object.values(requests)\n\t).find(\n\t\t({evaluationId: requestEvaluationId}) =>\n\t\t\tevaluationId === requestEvaluationId\n\t);\n\tif (!matchingRequest) return;\n\tif (!matchingRequest.requestPipelineResolvePromise[pipelineId]) return;\n\n\tmatchingRequest.requestPipelineResolvePromise[pipelineId](evaluationResult);\n}\n\nfunction isEarlyEvaluationUsed(macroponentSysId, evaluationId) {\n\tconst key = `${macroponentSysId}-${evaluationId}`;\n\treturn EVALUATIONS_USED_REGISTRY.has(key);\n}\n\nfunction markEarlyEvaluationAsUsed(macroponentSysId, evaluationId) {\n\tconst key = `${macroponentSysId}-${evaluationId}`;\n\tEVALUATIONS_USED_REGISTRY.add(key);\n}\n\nexport function getRequestSizeInRegistry() {\n\tconst {requests = {}} = getRegistry();\n\treturn Object.keys(requests).length;\n}\n\nexport function getOffDocumentEvaluationRequests() {\n\tconst {requests = {}} = getRegistry();\n\treturn Object.values(requests).filter(\n\t\t(request) => request.forOffDocumentEvaluation\n\t);\n}\n\nexport function macroponentHasEarlyEvaluation(macroponentSysId) {\n\tconst {requests = {}} = getRegistry();\n\tconst macroponentSysIdsWithRequests = Object.values(requests).map(\n\t\t(request) => request.macroponentSysId\n\t);\n\treturn macroponentSysIdsWithRequests.includes(macroponentSysId);\n}\n\nfunction evaluationIdPartOfRequests(evaluationId) {\n\tconst {requests = {}} = getRegistry();\n\tconst evaluationIdsInRequests = Object.keys(requests).map(\n\t\t(evaluationId) => evaluationId\n\t);\n\treturn evaluationIdsInRequests.includes(evaluationId);\n}\n\nexport function getMacroponentEarlyEvaluationRequest(macroponentSysId) {\n\tconst {requests = {}} = getRegistry();\n\treturn Object.values(requests).find(\n\t\t(request) => request.macroponentSysId === macroponentSysId\n\t);\n}\n\n/**\n * Returns the early evaluation ID if there is a match based on the parameters being passed in.\n * If there is no match, returns undefined.\n */\nexport function getEvaluationIds(\n\tmacroponentSysId,\n\tdataPipelines,\n\tnowId,\n\tpropValues\n) {\n\tconst {requests = {}} = getRegistry();\n\n\tif (!macroponentHasEarlyEvaluation(macroponentSysId)) {\n\t\treturn;\n\t}\n\n\tconst matchingRequests = Object.values(requests).filter(\n\t\t({macroponentSysId: requestMacroponentSysId, evaluationId}) =>\n\t\t\trequestMacroponentSysId === macroponentSysId &&\n\t\t\t!isEarlyEvaluationUsed(macroponentSysId, evaluationId)\n\t);\n\n\tif (matchingRequests.length === 0) {\n\t\treturn;\n\t}\n\n\tconst {inputDependencies} = dataPipelines;\n\n\tconst pipelineIdsByContextPropNames = Object.keys(\n\t\tinputDependencies['context--props'] ?? {}\n\t);\n\n\tconst filteredMatchingRequests = matchingRequests.filter(\n\t\t({propValues: requestPropValues}) => {\n\t\t\tlet inputValuesMatch = true;\n\t\t\tfor (const propName of pipelineIdsByContextPropNames) {\n\t\t\t\tif (\n\t\t\t\t\t(propValues[propName] === null &&\n\t\t\t\t\t\trequestPropValues[propName] === undefined) ||\n\t\t\t\t\t(propValues[propName] === undefined &&\n\t\t\t\t\t\trequestPropValues[propName] === null)\n\t\t\t\t)\n\t\t\t\t\tcontinue;\n\n\t\t\t\t// for backward compatibility\n\t\t\t\tif (propValues[propName] === undefined || propValues[propName] === null)\n\t\t\t\t\tcontinue;\n\n\t\t\t\tif (!isEqual(propValues[propName], requestPropValues[propName])) {\n\t\t\t\t\tinputValuesMatch = false;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn inputValuesMatch;\n\t\t}\n\t);\n\n\tconst evaluationIds = {};\n\tfilteredMatchingRequests.map(\n\t\t({macroponentSysId, evaluationId, qualifyingPipelineId}) => {\n\t\t\tmarkEarlyEvaluationAsUsed(macroponentSysId, evaluationId);\n\t\t\tevaluationIds[qualifyingPipelineId] = evaluationId;\n\t\t}\n\t);\n\treturn evaluationIds;\n}\n\nconst EARLY_EVALUATION_USED = Symbol('__UXF__EARLY_EVALUATION_USED');\n\nexport async function getEarlyEvaluation(evaluationId, pipelineId) {\n\tconst {responses = {}} = getRegistry();\n\n\tconst {evaluationByPipelineId = {}, macroponentSysId} =\n\t\tObject.values(responses).find(\n\t\t\t({evaluationId: responseEvaluationId}) =>\n\t\t\t\tevaluationId === responseEvaluationId\n\t\t) ?? {};\n\n\tconst evaluation = evaluationByPipelineId[pipelineId];\n\n\tif (evaluation === EARLY_EVALUATION_USED) {\n\t\treturn Promise.reject('Early evaluation already used');\n\t}\n\n\tif (macroponentSysId !== POLARIS_APP_SHELL_MACROPONENT_SYS_ID) {\n\t\t// Clear out reference to the promise to allow it to be GC-ed\n\t\t// Do not do this for polaris-app-shell as that component depends on UXF providing this data\n\t\tevaluationByPipelineId[pipelineId] = EARLY_EVALUATION_USED;\n\t}\n\n\treturn evaluation;\n}\n\nexport function markEarlyEvaluationInProgress(\n\tmacroponentSysId,\n\tevaluationId,\n\tnowId,\n\tqualifyingPipelineId,\n\tpropValues,\n\tforOffDocumentEvaluation\n) {\n\tconst {requests = {}, responses = {}} = getRegistry();\n\n\tconst request = {\n\t\tmacroponentSysId: macroponentSysId,\n\t\tevaluationId: evaluationId,\n\t\tpropValues: propValues,\n\t\tqualifyingPipelineId: qualifyingPipelineId,\n\t\tforOffDocumentEvaluation: forOffDocumentEvaluation,\n\t\trequestPipelineResolvePromise: {},\n\t\trequestPipelineRejectPromise: {}\n\t};\n\tconst evaluationByPipelineId = {};\n\tevaluationByPipelineId[qualifyingPipelineId] = new Promise(\n\t\t(resolve, reject) => {\n\t\t\trequest.requestPipelineResolvePromise[qualifyingPipelineId] = resolve;\n\t\t\trequest.requestPipelineRejectPromise[qualifyingPipelineId] = reject;\n\t\t}\n\t);\n\trequests[evaluationId] = request;\n\tresponses[evaluationId] = {\n\t\tevaluationId: evaluationId,\n\t\tmacroponentSysId: request.macroponentSysId,\n\t\tevaluationByPipelineId: evaluationByPipelineId\n\t};\n}\n\nexport function setEarlyEvaluationResponse(\n\tmacroponentSysId,\n\tevaluationId,\n\tnowId,\n\tpipelineId,\n\tevaluatedDataBrokersPromise\n) {\n\tif (!macroponentHasEarlyEvaluation(macroponentSysId)) return;\n\tif (!evaluationIdPartOfRequests(evaluationId)) return;\n\n\tconst {responses = {}} = getRegistry();\n\tresponses[evaluationId] = {\n\t\tmacroponentSysId: macroponentSysId,\n\t\tevaluationId: evaluationId,\n\t\tevaluationByPipelineId: {[pipelineId]: evaluatedDataBrokersPromise}\n\t};\n}\n\nexport function updateResponsesOnError(\n\toffDocumentRequests = [],\n\tcompletedPipelineIdSet = new Set()\n) {\n\tif (offDocumentRequests.length === 0) return;\n\n\toffDocumentRequests.forEach((request) => {\n\t\tconst {qualifyingPipelineId = ''} = request;\n\t\tif (completedPipelineIdSet.has(qualifyingPipelineId)) return;\n\t\trequest.requestPipelineRejectPromise[qualifyingPipelineId](\n\t\t\tnew Error(\n\t\t\t\t`Databroker Early Evaluation failed for pipelineId: ${qualifyingPipelineId}`\n\t\t\t)\n\t\t);\n\t});\n}\n","import {actionTypes, propertyTypes} from './constants';\nimport {isEmpty} from '@devsnc/snowdash';\nimport {get} from '@devsnc/snowdash';\nimport {has} from '@devsnc/snowdash';\nimport {negate} from '@devsnc/snowdash';\nimport {partial} from '@devsnc/snowdash';\nimport {uniqBy} from '@devsnc/snowdash';\nimport {filter} from '@devsnc/snowdash';\nimport {values} from '@devsnc/snowdash';\nimport {forEach} from '@devsnc/snowdash';\nimport {isEqual} from '@devsnc/snowdash';\n\nimport getProperties from './getProperties';\nimport {\n\tgetDbLifecycleFetchingProp,\n\tgetDbLifecycleFetchSuccessProp,\n\tgetDbOutputProp,\n\tgetControllerDependencyProp\n} from '../../../utils';\nimport {\n\tinternalActions as macroponentInternalActions,\n\tpublicDispatchedActionNames as macroponentDispatchedActionNames,\n\tSTATE_IDENTIFIER,\n\tMACROPONENT_VALUE_UPDATED\n} from '../../../constants';\nimport {\n\tgetInternalEffect,\n\tdispatchInternalAction\n} from '../../../getInternalEffect';\n\nimport getHydratedPipeline from './getHydratedPipeline';\nimport {\n\tdefault as createDataBrokerExecHandlers,\n\tsignalDBExecCompleteLifecycle,\n\thandleDBLifecyleForPrefetch,\n\tsignalDBExecInitiatedLifecycle\n} from './dataBrokerExecHandlers';\nimport getDataBrokerOperationHandlers from './getDataBrokerOperationHandlers';\nimport {default as console} from '../../../../utils/getLogger.js';\n\nimport {\n\trefreshPipeline,\n\tdebouncedRefreshPipeline\n} from './getRefreshPipelineFn.js';\nimport {\n\tcomputeHash,\n\tgetCacheKey,\n\tgetDBCacheHandle,\n\tIS_CACHE_STORAGE_API_AVAILABLE_PROMISE\n} from '../../../../utils/clientCacheUtils';\nimport {getEarlyEvaluation, getEvaluationIds} from './earlyEvaluationRegistry';\n\nconst {\n\tDB_ENGINE_EXEC_REQUESTED,\n\tDB_ENGINE_EXEC_REQUESTED_WITH_RECORDING,\n\tUXF_DB_REFRESH_REQUESTED,\n\tUXF_DB_REFRESH_REQUESTED_INITIAL_VALUE,\n\tUXF_DB_REFRESH_RELATED_REQUESTED,\n\tUXF_DB_OP_EXEC_REQUESTED,\n\tUXF_DB_DATA_RECEIVED,\n\tUXF_DB_INPUT_CHANGED,\n\tDATA_FETCH_INITIATED,\n\tDATA_FETCH_SUCCEEDED,\n\tDATA_FETCH_FAILED,\n\tDATA_OP_INITIATED,\n\tDATA_OP_SUCCEEDED,\n\tDATA_OP_FAILED\n} = actionTypes;\n\nconst {JSON_LITERAL, DATA_CHAIN_BINDING} = propertyTypes;\n\nconst {MACROPONENT_STATE_UPDATED} = macroponentInternalActions;\n\nconst {MACROPONENT_READY, MACROPONENT_PROPERTY_CHANGED} =\n\tmacroponentDispatchedActionNames;\n\nconst BEHAVIOR_NAME = 'dataBrokerRuntime';\n\nconst MEM_DBCACHE = {};\nconst isCachePrimed = (id) => get(MEM_DBCACHE, id);\n\nconst primeDatabrokerCache = (pipelineId, hydratedPipeline, ttl) => {\n\tMEM_DBCACHE[pipelineId] = {\n\t\tpipelineId,\n\t\thydratedPipeline,\n\t\thash: computeHash(hydratedPipeline),\n\t\tttl\n\t};\n};\n\nconst getCachePolicy = (pipelineDefinitions) => {\n\tif (isEmpty(pipelineDefinitions) || pipelineDefinitions.length === 0) return;\n\n\tif (pipelineDefinitions.length === 1) {\n\t\tconst {active, policy, ttl} = pipelineDefinitions[0].cachePolicy || {};\n\t\treturn {active, policy, ttl};\n\t}\n\tconst active =\n\t\tpipelineDefinitions.filter((pd) => pd?.cachePolicy?.active === true)\n\t\t\t.length === pipelineDefinitions.length;\n\tconst policy =\n\t\tnew Set(pipelineDefinitions.map((pd) => pd?.cachePolicy?.policy)).size === 1\n\t\t\t? pipelineDefinitions[0]?.cachePolicy?.policy\n\t\t\t: undefined;\n\tconst ttl = pipelineDefinitions\n\t\t.map((pd) => pd?.cachePolicy?.ttl)\n\t\t.reduce((acc, val) => (acc < val ? acc : val));\n\treturn {active, policy, ttl};\n};\n\nasync function saveToCacheWithTTL(pipelineId, result, ttl) {\n\tconst cacheKey = getCacheKey(pipelineId, result.hash);\n\tconst dbCache = await getDBCacheHandle();\n\tawait dbCache.put(\n\t\tcacheKey,\n\t\tnew Response(JSON.stringify(result), {\n\t\t\theaders: {\n\t\t\t\t'content-type': 'application/json'\n\t\t\t}\n\t\t})\n\t);\n\tsetTimeout(() => dbCache.delete(cacheKey), ttl);\n}\n\nconst getDataOutputPropsToUpdate = (\n\tpipelineDefinitions,\n\tpipelineId,\n\tpipelineOutput\n) => {\n\treturn get(pipelineDefinitions, pipelineId, [])\n\t\t.filter((definition) =>\n\t\t\tpipelineOutput.some(\n\t\t\t\t(output) => output.sysId === definition.definitionSysId\n\t\t\t)\n\t\t)\n\t\t.filter((_, index) => has(pipelineOutput, [index, 'executionResult']))\n\t\t.map((dbDef) => get(dbDef, 'id'))\n\t\t.filter(negate(isEmpty))\n\t\t.map(getDbOutputProp)\n\t\t.map((propName, index) => {\n\t\t\tconst output = get(pipelineOutput, [index, 'executionResult']);\n\t\t\treturn {\n\t\t\t\t[propName]: output\n\t\t\t};\n\t\t})\n\t\t.reduce(\n\t\t\t(acc, propToUpdate) => ({\n\t\t\t\t...acc,\n\t\t\t\t...propToUpdate\n\t\t\t}),\n\t\t\t{}\n\t\t);\n};\n\nconst getPipelinesToRefresh = (\n\tinputDependencies,\n\tchangedInput,\n\tmcpSysId,\n\tpipelineDefinitions\n) => {\n\tconst {namespace, propNames = []} = changedInput;\n\n\t// Helper function to filter pipelines, optionally excluding a specific pipeline ID\n\tconst filterPipelines = (pipelineIds, specificPipelineToExclude = null) =>\n\t\tpipelineIds.filter(\n\t\t\t(pipelineId) =>\n\t\t\t\tpipelineId !== specificPipelineToExclude &&\n\t\t\t\t!pipelineDefinitions[pipelineId].some(\n\t\t\t\t\t(entry) => entry.readEvaluationMode === 'ON_DEMAND'\n\t\t\t\t)\n\t\t);\n\n\tif (mcpSysId === '67ee2538534501108135ddeeff7b121b')\n\t\treturn filterPipelines(\n\t\t\tget(inputDependencies, [namespace, propNames[0]], []),\n\t\t\t'transformFormDataBrokerInputs->form_GQL_data_broker_output'\n\t\t);\n\tif (propNames.length === 1) {\n\t\t// short circuit for when only one prop is changed (state updates via client script, property updates)\n\t\treturn filterPipelines(\n\t\t\tget(inputDependencies, [namespace, propNames[0]], [])\n\t\t);\n\t}\n\n\t// propNames are more than one for udpates from persistedState\n\tconst pipelines = propNames.reduce((acc, propName) => {\n\t\tconst dependentPipelines = get(\n\t\t\tinputDependencies,\n\t\t\t[namespace, propName],\n\t\t\t[]\n\t\t);\n\t\tif (!isEmpty(dependentPipelines)) {\n\t\t\tforEach(dependentPipelines, (pipeline) => {\n\t\t\t\tif (\n\t\t\t\t\tpipelineDefinitions[pipeline][0].readEvaluationMode !== 'ON_DEMAND'\n\t\t\t\t) {\n\t\t\t\t\tacc.add(pipeline);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn acc;\n\t}, new Set());\n\treturn Array.from(pipelines);\n};\n\nconst getPipelinesFromDefListContainingId = (pipelineDefs, brokerElemId) => {\n\treturn !brokerElemId\n\t\t? []\n\t\t: Object.entries(pipelineDefs)\n\t\t\t\t.filter(([id]) => `->${id}->`.indexOf(`->${brokerElemId}->`) > -1)\n\t\t\t\t.map(([id, definition]) => ({id, definition}));\n};\n\nconst getOpExecRequestOrigin = (coeffects) => {\n\tif (!has(coeffects, 'action.payload.data[0]')) return;\n\tconst {\n\t\taction: {\n\t\t\tpayload: {data},\n\t\t\tmeta\n\t\t}\n\t} = coeffects;\n\treturn {\n\t\trequestType: UXF_DB_OP_EXEC_REQUESTED,\n\t\trequestId: data[0].parentResourceId + '#' + meta.operationName\n\t};\n};\n\nconst getRefreshRequestOrigin = (pipelineId) => {\n\treturn {\n\t\trequestType: UXF_DB_REFRESH_REQUESTED,\n\t\trequestId: pipelineId\n\t};\n};\n\nconst getLifecycleUpdatePayload = (dataElemId, fetching, prevSuccess) => {\n\tconst fetchingProp = getDbLifecycleFetchingProp(dataElemId);\n\tconst prevSuccessProp = getDbLifecycleFetchSuccessProp(dataElemId);\n\tlet updatePayload = {};\n\tif (prevSuccess !== undefined) updatePayload[prevSuccessProp] = !!prevSuccess;\n\tif (fetching !== undefined) updatePayload[fetchingProp] = !!fetching;\n\treturn updatePayload;\n};\n\nconst getInputDependencies = (\n\tdataPipelines,\n\tdataShell,\n\texternalControllers\n) => {\n\t// This function augments the incoming inputDependencies with the list of data resources\n\t// that are dependent on things like external controller dependencies, so that the client can\n\t// re-trigger dependent data resources as dependent controller outputs update.\n\tconst dependency = externalControllers.reduce(\n\t\t(dependencyAcc, externalController) => {\n\t\t\tconst outputProps = externalController.dependencyProps.reduce(\n\t\t\t\t(outputPropsAcc, outputProp) => {\n\t\t\t\t\t//Find data resources that depend on this\n\t\t\t\t\tconst matchingDataResources = Object.keys(\n\t\t\t\t\t\tdataShell.dataElements\n\t\t\t\t\t).filter((dataElementId) => {\n\t\t\t\t\t\tconst dataElement = dataShell.dataElements[dataElementId];\n\t\t\t\t\t\t// eslint-disable-next-line no-unused-vars\n\t\t\t\t\t\tfor (const [_, uxValue] of Object.entries(\n\t\t\t\t\t\t\tdataElement.inputValues\n\t\t\t\t\t\t)) {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tuxValue.type === 'DATA_OUTPUT_BINDING' &&\n\t\t\t\t\t\t\t\tuxValue.binding.address.length >= 2 &&\n\t\t\t\t\t\t\t\tuxValue.binding.address[0] === externalController.name &&\n\t\t\t\t\t\t\t\tuxValue.binding.address[1] === outputProp\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t});\n\n\t\t\t\t\tif (matchingDataResources.length === 0) {\n\t\t\t\t\t\treturn outputPropsAcc;\n\t\t\t\t\t}\n\n\t\t\t\t\t//If we found at least 1, put it in the accumulator\n\t\t\t\t\tconst dependencyName = getControllerDependencyProp(\n\t\t\t\t\t\texternalController.name,\n\t\t\t\t\t\toutputProp\n\t\t\t\t\t);\n\t\t\t\t\toutputPropsAcc[dependencyName] = matchingDataResources;\n\t\t\t\t\treturn outputPropsAcc;\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\t...dependencyAcc,\n\t\t\t\t...outputProps\n\t\t\t};\n\t\t},\n\t\t{}\n\t);\n\n\treturn {\n\t\t...dataPipelines.inputDependencies,\n\t\tdependency\n\t};\n};\n\nconst hasInputDependencies = (inputDependencies, path) =>\n\tget(inputDependencies, path, []).length > 0;\n\nconst isNotExternalRESTDataBroker = (pipelineId, pipelineDefinition) =>\n\tpipelineDefinition.filter(\n\t\t(definition) =>\n\t\t\tdefinition.id === pipelineId && definition.type !== 'REST_EXTERNAL'\n\t).length;\n\nconst getPipelineMeta = (\n\tpipelineId,\n\tpipelineDefinition,\n\tpipelineResolverDependencies\n) =>\n\tpipelineDefinition.reduce((acc, definition) => {\n\t\tif (definition.id === pipelineId) {\n\t\t\tacc = {\n\t\t\t\tpipelineType: definition.type,\n\t\t\t\tpipelineSysId: definition.definitionSysId,\n\t\t\t\tpipelineResolverDependencies\n\t\t\t};\n\t\t}\n\t\treturn acc;\n\t}, {});\n\nexport const exportForTesting = {primeDatabrokerCache, getPipelinesToRefresh};\n\nexport default (\n\tclientStateDataBrokerNode,\n\tdataShell,\n\tdataPipelines,\n\tcsdbNodeId,\n\tpdbNodeIds,\n\texternalControllerDependencyNames,\n\texternalControllerDependencies,\n\tisControllerMacroponent,\n\ttrackDBLifecycleFn,\n\tprefetchDatabrokerPromises = {},\n\tmcpSysId,\n\tproxyDataBrokerNodes,\n\tcontrollerAliasMap,\n\tdispatchMcpUpdates = false\n) => {\n\tconst hasPdbNode = pdbNodeIds?.length > 0;\n\n\tconst {pipelineDefinitions} = dataPipelines;\n\tconst getDataOutputPropsToUpdateFn = partial(\n\t\tgetDataOutputPropsToUpdate,\n\t\tpipelineDefinitions\n\t);\n\tconst getPipelinesContaining = partial(\n\t\tgetPipelinesFromDefListContainingId,\n\t\tpipelineDefinitions\n\t);\n\n\tconst inputDependencies = getInputDependencies(\n\t\tdataPipelines,\n\t\tdataShell,\n\t\texternalControllerDependencies\n\t);\n\n\tconst {dataElements} = dataShell;\n\n\treturn {\n\t\tname: BEHAVIOR_NAME,\n\t\tproperties: {\n\t\t\tevaluatedDataBrokers: {\n\t\t\t\tdefault: '{}'\n\t\t\t},\n\t\t\t...getProperties(values(dataElements))\n\t\t},\n\t\tactionHandlers: {\n\t\t\t...createDataBrokerExecHandlers(pipelineDefinitions, dataShell),\n\t\t\t...getDataBrokerOperationHandlers(\n\t\t\t\tclientStateDataBrokerNode,\n\t\t\t\tdataShell,\n\t\t\t\thasPdbNode,\n\t\t\t\texternalControllerDependencyNames,\n\t\t\t\tisControllerMacroponent,\n\t\t\t\tproxyDataBrokerNodes\n\t\t\t),\n\t\t\t[MACROPONENT_PROPERTY_CHANGED]: getInternalEffect({\n\t\t\t\teffect(coeffects) {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\tpayload: {name, previousValue, value}\n\t\t\t\t\t\t}\n\t\t\t\t\t} = coeffects;\n\n\t\t\t\t\tconst namespace = name.startsWith('depNowUxf')\n\t\t\t\t\t\t? 'dependency'\n\t\t\t\t\t\t: 'context--props';\n\n\t\t\t\t\tif (!hasInputDependencies(inputDependencies, [namespace, name]))\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\tdispatchInternalAction(dispatch, UXF_DB_INPUT_CHANGED, {\n\t\t\t\t\t\tnamespace,\n\t\t\t\t\t\tpropNames: [name],\n\t\t\t\t\t\tpreviousValue: previousValue,\n\t\t\t\t\t\tvalue: value\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}),\n\t\t\t[MACROPONENT_STATE_UPDATED]: getInternalEffect({\n\t\t\t\teffect(coeffects) {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\tpayload: {statePropertyNames = []}\n\t\t\t\t\t\t}\n\t\t\t\t\t} = coeffects;\n\n\t\t\t\t\tconst statesWithDependencies = statePropertyNames.filter(\n\t\t\t\t\t\t(statePropertyName) =>\n\t\t\t\t\t\t\thasInputDependencies(inputDependencies, [\n\t\t\t\t\t\t\t\tSTATE_IDENTIFIER,\n\t\t\t\t\t\t\t\tstatePropertyName\n\t\t\t\t\t\t\t])\n\t\t\t\t\t);\n\n\t\t\t\t\tif (isEmpty(statesWithDependencies)) return;\n\n\t\t\t\t\tdispatchInternalAction(dispatch, UXF_DB_INPUT_CHANGED, {\n\t\t\t\t\t\tnamespace: STATE_IDENTIFIER,\n\t\t\t\t\t\tpropNames: statesWithDependencies\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}),\n\t\t\t[MACROPONENT_READY]: getInternalEffect({\n\t\t\t\tasync effect({dispatch, state}) {\n\t\t\t\t\tconst {nowId} = state.properties;\n\n\t\t\t\t\t// check if the macroponent + nowId + propValues combination has an early evaluation\n\t\t\t\t\t// and if so, mark it as \"used\"\n\t\t\t\t\tconst hydrationKey = state.properties?.nowUxfHydrationKey;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait window?.__uxf_get_evaluation_requests?.[hydrationKey];\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t}\n\t\t\t\t\tconst evaluationIds = getEvaluationIds(\n\t\t\t\t\t\tmcpSysId,\n\t\t\t\t\t\tdataPipelines,\n\t\t\t\t\t\tnowId,\n\t\t\t\t\t\tstate.properties\n\t\t\t\t\t);\n\n\t\t\t\t\tfor (const [pipelineId, definition] of Object.entries(\n\t\t\t\t\t\tpipelineDefinitions\n\t\t\t\t\t)) {\n\t\t\t\t\t\tconst evaluationId = evaluationIds\n\t\t\t\t\t\t\t? evaluationIds[pipelineId]\n\t\t\t\t\t\t\t: null;\n\t\t\t\t\t\t// check if the available early evaluation could be used for this particular pipelineId\n\t\t\t\t\t\tif (evaluationId) {\n\t\t\t\t\t\t\tconst origin = getRefreshRequestOrigin(pipelineId);\n\t\t\t\t\t\t\tsignalDBExecInitiatedLifecycle(dispatch, origin);\n\t\t\t\t\t\t\tgetEarlyEvaluation(evaluationId, pipelineId)\n\t\t\t\t\t\t\t\t.then((result) => {\n\t\t\t\t\t\t\t\t\tif (!result) {\n\t\t\t\t\t\t\t\t\t\tdispatchInternalAction(dispatch, UXF_DB_REFRESH_REQUESTED, {\n\t\t\t\t\t\t\t\t\t\t\tid: pipelineId,\n\t\t\t\t\t\t\t\t\t\t\tdefinition\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tdispatchInternalAction(\n\t\t\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t\t\tUXF_DB_DATA_RECEIVED,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: pipelineId,\n\t\t\t\t\t\t\t\t\t\t\t\toutput: result,\n\t\t\t\t\t\t\t\t\t\t\t\torigin\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tpipelineDefinition: definition\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\t\t\t\tdispatchInternalAction(dispatch, UXF_DB_REFRESH_REQUESTED, {\n\t\t\t\t\t\t\t\t\t\tid: pipelineId,\n\t\t\t\t\t\t\t\t\t\tdefinition\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\tdefinition.some(\n\t\t\t\t\t\t\t\t(def) =>\n\t\t\t\t\t\t\t\t\tdef.readEvaluationMode !== 'EXPLICIT' &&\n\t\t\t\t\t\t\t\t\tdef.readEvaluationMode !== 'ON_DEMAND'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tif (definition.length === 1) {\n\t\t\t\t\t\t\t\tconst {active, policy, initialValue, delay} =\n\t\t\t\t\t\t\t\t\tdefinition[0]?.cachePolicy || {};\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\tactive === true &&\n\t\t\t\t\t\t\t\t\tpolicy === 'NETWORK_ONLY' &&\n\t\t\t\t\t\t\t\t\t!isEmpty(initialValue)\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tconsole.info('[db] Using initialValue: ', initialValue);\n\t\t\t\t\t\t\t\t\tconst origin = {\n\t\t\t\t\t\t\t\t\t\trequestType: UXF_DB_REFRESH_REQUESTED_INITIAL_VALUE,\n\t\t\t\t\t\t\t\t\t\trequestId: pipelineId\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\tdispatchInternalAction(\n\t\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t\tUXF_DB_DATA_RECEIVED,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tid: pipelineId,\n\t\t\t\t\t\t\t\t\t\t\toutput: initialValue,\n\t\t\t\t\t\t\t\t\t\t\torigin\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{pipelineDefinition: definition}\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tif (delay > 0) {\n\t\t\t\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(\n\t\t\t\t\t\t\t\t\t\t\t\t`[db] Firing UXF_DB_REFRESH_REQUESTED for id: ${pipelineId} after delay: ${delay}`\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\tdispatchInternalAction(\n\t\t\t\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t\t\t\tUXF_DB_REFRESH_REQUESTED,\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\tid: pipelineId,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdefinition\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}, delay);\n\t\t\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdispatchInternalAction(\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tUXF_DB_REFRESH_REQUESTED,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: pipelineId,\n\t\t\t\t\t\t\t\t\tdefinition\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{sourceEvent: MACROPONENT_READY}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}),\n\t\t\t[UXF_DB_INPUT_CHANGED]: getInternalEffect({\n\t\t\t\teffect(coeffects) {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\taction: {payload},\n\t\t\t\t\t\thost\n\t\t\t\t\t} = coeffects;\n\n\t\t\t\t\tgetPipelinesToRefresh(\n\t\t\t\t\t\tinputDependencies,\n\t\t\t\t\t\tpayload,\n\t\t\t\t\t\tmcpSysId,\n\t\t\t\t\t\tpipelineDefinitions\n\t\t\t\t\t)\n\t\t\t\t\t\t.map((pipelineId) => ({\n\t\t\t\t\t\t\tid: pipelineId,\n\t\t\t\t\t\t\tdefinition: pipelineDefinitions[pipelineId]\n\t\t\t\t\t\t}))\n\t\t\t\t\t\t.map(partial(debouncedRefreshPipeline, host, dispatch));\n\t\t\t\t}\n\t\t\t}),\n\t\t\t[UXF_DB_REFRESH_RELATED_REQUESTED]: getInternalEffect({\n\t\t\t\teffect(coeffects) {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\tpayload: {id}\n\t\t\t\t\t\t}\n\t\t\t\t\t} = coeffects;\n\n\t\t\t\t\tconst pipelinesToRefresh = getPipelinesContaining(id);\n\t\t\t\t\tpipelinesToRefresh.forEach((pipeline) => {\n\t\t\t\t\t\trefreshPipeline(dispatch, pipeline);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}),\n\t\t\t[UXF_DB_REFRESH_REQUESTED]: getInternalEffect({\n\t\t\t\teffect: async (coeffects) => {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\tpayload: {id: pipelineId, definition: pipelineDefinition},\n\t\t\t\t\t\t\tmeta: {sourceEvent}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tproperties: seismicProperties,\n\t\t\t\t\t\tstate: seismicState\n\t\t\t\t\t} = coeffects;\n\t\t\t\t\tconst hydratedPipeline = getHydratedPipeline(\n\t\t\t\t\t\tpipelineDefinition,\n\t\t\t\t\t\tseismicProperties,\n\t\t\t\t\t\tseismicState,\n\t\t\t\t\t\tcsdbNodeId,\n\t\t\t\t\t\tpdbNodeIds,\n\t\t\t\t\t\texternalControllerDependencyNames\n\t\t\t\t\t);\n\t\t\t\t\tconsole.info('[db] data requested:', hydratedPipeline);\n\t\t\t\t\tconst origin = getRefreshRequestOrigin(pipelineId);\n\t\t\t\t\tconst {active, policy, ttl} = getCachePolicy(pipelineDefinition);\n\t\t\t\t\tif (\n\t\t\t\t\t\tprefetchDatabrokerPromises[pipelineId] &&\n\t\t\t\t\t\tisEqual(\n\t\t\t\t\t\t\thydratedPipeline,\n\t\t\t\t\t\t\tprefetchDatabrokerPromises[pipelineId].hydratedPipeline\n\t\t\t\t\t\t)\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst prefetchPromise =\n\t\t\t\t\t\t\tprefetchDatabrokerPromises[pipelineId].prefetchPromise;\n\t\t\t\t\t\tprefetchPromise\n\t\t\t\t\t\t\t.then(async (prefetchResponse) => {\n\t\t\t\t\t\t\t\tconsole.info(\n\t\t\t\t\t\t\t\t\t`Using databroker prefetch response for pipeline ${pipelineId}: `,\n\t\t\t\t\t\t\t\t\tprefetchResponse\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\tactive === true &&\n\t\t\t\t\t\t\t\t\tpolicy === 'CACHE_ONLY' &&\n\t\t\t\t\t\t\t\t\tttl > 0 &&\n\t\t\t\t\t\t\t\t\t(await IS_CACHE_STORAGE_API_AVAILABLE_PROMISE)\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tprimeDatabrokerCache(pipelineId, hydratedPipeline, ttl);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\t\tdata: {result}\n\t\t\t\t\t\t\t\t} = prefetchResponse;\n\t\t\t\t\t\t\t\thandleDBLifecyleForPrefetch(\n\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\torigin,\n\t\t\t\t\t\t\t\t\tpipelineId,\n\t\t\t\t\t\t\t\t\tresult,\n\t\t\t\t\t\t\t\t\tpipelineDefinition\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t\t\t\t`Databroker exec prefetch call failed for pipelineId: ${pipelineId}`,\n\t\t\t\t\t\t\t\t\terror\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\thandleDBLifecyleForPrefetch(\n\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\torigin,\n\t\t\t\t\t\t\t\t\tpipelineId,\n\t\t\t\t\t\t\t\t\t[],\n\t\t\t\t\t\t\t\t\tpipelineDefinition\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\tdelete prefetchDatabrokerPromises[pipelineId];\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// prefetchDatabrokerPromises is shared, Updating it here will\n\t\t\t\t\t// skip prefetching for the same pipelineId.\n\t\t\t\t\tif (sourceEvent === MACROPONENT_READY) {\n\t\t\t\t\t\tprefetchDatabrokerPromises[pipelineId] = {\n\t\t\t\t\t\t\tisProcessed: true\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\tif (\n\t\t\t\t\t\tactive === true &&\n\t\t\t\t\t\tpolicy === 'CACHE_ONLY' &&\n\t\t\t\t\t\tttl > 0 &&\n\t\t\t\t\t\t(await IS_CACHE_STORAGE_API_AVAILABLE_PROMISE) &&\n\t\t\t\t\t\tisNotExternalRESTDataBroker(pipelineId, pipelineDefinition)\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst cacheKey = getCacheKey(\n\t\t\t\t\t\t\tpipelineId,\n\t\t\t\t\t\t\tcomputeHash(hydratedPipeline)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst dbCache = await getDBCacheHandle();\n\t\t\t\t\t\tlet response = await dbCache.match(cacheKey);\n\t\t\t\t\t\tif (response) {\n\t\t\t\t\t\t\tconst responseJson = await response.json();\n\t\t\t\t\t\t\tconst {executionResult, timestamp} = responseJson;\n\t\t\t\t\t\t\tif (Date.now() - timestamp < ttl) {\n\t\t\t\t\t\t\t\tdispatchInternalAction(\n\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\tUXF_DB_DATA_RECEIVED,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: pipelineId,\n\t\t\t\t\t\t\t\t\t\toutput: executionResult,\n\t\t\t\t\t\t\t\t\t\torigin\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{pipelineDefinition}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tprimeDatabrokerCache(pipelineId, hydratedPipeline, ttl);\n\t\t\t\t\t}\n\n\t\t\t\t\tconst shouldRecord =\n\t\t\t\t\t\tfilter(pipelineDefinition, (broker) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\tfilter(broker.inputValues, (inputValue) => {\n\t\t\t\t\t\t\t\t\tconst inputType = get(inputValue, 'type');\n\t\t\t\t\t\t\t\t\treturn !(\n\t\t\t\t\t\t\t\t\t\tinputType == JSON_LITERAL || inputType == DATA_CHAIN_BINDING\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}).length > 0\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}).length == 0;\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\t// fixme: dispatch this through dispatchInternalAction\n\t\t\t\t\t\tshouldRecord\n\t\t\t\t\t\t\t? DB_ENGINE_EXEC_REQUESTED_WITH_RECORDING\n\t\t\t\t\t\t\t: DB_ENGINE_EXEC_REQUESTED,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdata: hydratedPipeline\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpipelineId,\n\t\t\t\t\t\t\torigin,\n\t\t\t\t\t\t\tpipelineDefinition,\n\t\t\t\t\t\t\t...getPipelineMeta(pipelineId, pipelineDefinition, {\n\t\t\t\t\t\t\t\tmcpSysId,\n\t\t\t\t\t\t\t\tcsdbNodeId,\n\t\t\t\t\t\t\t\tpdbNodeIds,\n\t\t\t\t\t\t\t\texternalControllerDependencies,\n\t\t\t\t\t\t\t\tproxyDataBrokerNodes,\n\t\t\t\t\t\t\t\tcontrollerAliasMap\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}),\n\t\t\t[UXF_DB_OP_EXEC_REQUESTED]: getInternalEffect({\n\t\t\t\teffect(coeffects) {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\tpayload: {data}\n\t\t\t\t\t\t}\n\t\t\t\t\t} = coeffects;\n\t\t\t\t\tconsole.info('[db] op exec requested:', data);\n\t\t\t\t\tconst origin = getOpExecRequestOrigin(coeffects);\n\t\t\t\t\tlet meta = origin ? {origin} : {};\n\t\t\t\t\tdispatch(DB_ENGINE_EXEC_REQUESTED, {data}, meta); // fixme: dispatch this through dispatchInternalAction\n\t\t\t\t}\n\t\t\t}),\n\t\t\t[UXF_DB_DATA_RECEIVED]: getInternalEffect({\n\t\t\t\teffect: async ({dispatch, updateProperties, action}) => {\n\t\t\t\t\tconst {id, output, origin} = action.payload;\n\t\t\t\t\tconst {pipelineDefinition} = action.meta;\n\n\t\t\t\t\tconsole.info('[db] data received:', action.payload);\n\t\t\t\t\tif (\n\t\t\t\t\t\tget(origin, 'requestType') ===\n\t\t\t\t\t\tUXF_DB_REFRESH_REQUESTED_INITIAL_VALUE\n\t\t\t\t\t) {\n\t\t\t\t\t\tupdateProperties({[getDbOutputProp(id)]: output});\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// save to database\n\t\t\t\t\tif (\n\t\t\t\t\t\tisCachePrimed(id) &&\n\t\t\t\t\t\tisNotExternalRESTDataBroker(id, pipelineDefinition)\n\t\t\t\t\t) {\n\t\t\t\t\t\tMEM_DBCACHE[id].executionResult = output;\n\t\t\t\t\t\tMEM_DBCACHE[id].timestamp = Date.now();\n\t\t\t\t\t\tawait saveToCacheWithTTL(id, MEM_DBCACHE[id], MEM_DBCACHE[id].ttl);\n\t\t\t\t\t\tdelete MEM_DBCACHE[id];\n\t\t\t\t\t}\n\n\t\t\t\t\tconst outputPropsToUpdateRes = getDataOutputPropsToUpdateFn(\n\t\t\t\t\t\tid,\n\t\t\t\t\t\toutput\n\t\t\t\t\t);\n\t\t\t\t\tupdateProperties(outputPropsToUpdateRes);\n\n\t\t\t\t\t// dispatch an action for UIB WYSIWYG state to notify them of the updated data broker output\n\t\t\t\t\tif (dispatchMcpUpdates) {\n\t\t\t\t\t\tdispatch(MACROPONENT_VALUE_UPDATED, {\n\t\t\t\t\t\t\tmacroponentSysId: mcpSysId,\n\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t[id]: Object.values(outputPropsToUpdateRes)[0]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\t// trigger refresh, for parent resource, if applicable\n\t\t\t\t\tconst parentResourceIds = output\n\t\t\t\t\t\t.filter((singleResult) => has(singleResult, 'parentResourceId'))\n\t\t\t\t\t\t.map((singleResult) => singleResult.parentResourceId);\n\t\t\t\t\tconst pipelinesToRefresh = uniqBy(\n\t\t\t\t\t\tparentResourceIds\n\t\t\t\t\t\t\t.map(getPipelinesContaining)\n\t\t\t\t\t\t\t.reduce((acc, pipelineSet) => [...acc, ...pipelineSet], []),\n\t\t\t\t\t\t'id'\n\t\t\t\t\t);\n\n\t\t\t\t\tpipelinesToRefresh.forEach((pipeline) => {\n\t\t\t\t\t\trefreshPipeline(dispatch, pipeline);\n\t\t\t\t\t});\n\t\t\t\t\tsignalDBExecCompleteLifecycle(\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\torigin,\n\t\t\t\t\t\toutput,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t\tpipelineDefinition\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}),\n\t\t\t[DATA_FETCH_INITIATED]: {\n\t\t\t\t// databroker lifecycle tracking effect:\n\t\t\t\teffect({updateProperties, action}) {\n\t\t\t\t\tconst {dataElemId} = action.payload;\n\t\t\t\t\ttrackDBLifecycleFn(dataElemId)\n\t\t\t\t\t\t? updateProperties(getLifecycleUpdatePayload(dataElemId, true))\n\t\t\t\t\t\t: null;\n\t\t\t\t},\n\t\t\t\tstopPropagation: true\n\t\t\t},\n\t\t\t[DATA_FETCH_SUCCEEDED]: {\n\t\t\t\t// databroker lifecycle tracking effect:\n\t\t\t\teffect({updateProperties, action}) {\n\t\t\t\t\tconst {dataElemId} = action.payload;\n\t\t\t\t\ttrackDBLifecycleFn(dataElemId)\n\t\t\t\t\t\t? updateProperties(\n\t\t\t\t\t\t\t\tgetLifecycleUpdatePayload(dataElemId, false, true)\n\t\t\t\t\t\t  )\n\t\t\t\t\t\t: null;\n\t\t\t\t},\n\t\t\t\tstopPropagation: true\n\t\t\t},\n\t\t\t[DATA_FETCH_FAILED]: {\n\t\t\t\t// databroker lifecycle tracking effect:\n\t\t\t\teffect({updateProperties, action}) {\n\t\t\t\t\tconst {dataElemId} = action.payload;\n\t\t\t\t\ttrackDBLifecycleFn(dataElemId)\n\t\t\t\t\t\t? updateProperties(\n\t\t\t\t\t\t\t\tgetLifecycleUpdatePayload(dataElemId, false, false)\n\t\t\t\t\t\t  )\n\t\t\t\t\t\t: null;\n\t\t\t\t},\n\t\t\t\tstopPropagation: true\n\t\t\t},\n\t\t\t[DATA_OP_INITIATED]: {\n\t\t\t\tstopPropagation: true\n\t\t\t},\n\t\t\t[DATA_OP_SUCCEEDED]: {\n\t\t\t\tstopPropagation: true\n\t\t\t},\n\t\t\t[DATA_OP_FAILED]: {\n\t\t\t\tstopPropagation: true\n\t\t\t}\n\t\t}\n\t};\n};\n","import {partial} from '@devsnc/snowdash';\nimport getResolvedBindingWithState from './getResolvedBindingWithState.js';\nimport getEvaluatedInlineScript from './getEvaluatedInlineScript.js';\nimport getResolvedPayloadBinding from './getResolvedPayloadBinding.js';\nimport {propertyTypes} from '../constants.js';\nimport {isObject} from '@devsnc/snowdash';\nimport basicResolvers from './basicResolvers.js';\n\nconst {EVENT_PAYLOAD_BINDING, RUNTIME_INLINE_SCRIPT} = propertyTypes;\n\nexport default function getResolvers(\n\tmacroponentSysId,\n\tmacroponentPropertyDefinitions,\n\tcsdbNodeId,\n\tpdbNodeIds,\n\texternalControllerDependencies,\n\tproxydbNodes,\n\tcontrollerAliasMap,\n\tseismicProperties,\n\tseismicState,\n\tsourceAction\n) {\n\treturn {\n\t\t...basicResolvers,\n\t\t[RUNTIME_INLINE_SCRIPT]: partial(\n\t\t\tgetEvaluatedInlineScript,\n\t\t\tmacroponentSysId,\n\t\t\tsourceAction,\n\t\t\tmacroponentPropertyDefinitions,\n\t\t\tcsdbNodeId,\n\t\t\tpdbNodeIds,\n\t\t\texternalControllerDependencies,\n\t\t\tproxydbNodes,\n\t\t\tcontrollerAliasMap,\n\t\t\tseismicProperties,\n\t\t\tseismicState\n\t\t),\n\t\tbinding: partial(\n\t\t\tgetResolvedBindingWithState,\n\t\t\tcsdbNodeId,\n\t\t\tpdbNodeIds,\n\t\t\texternalControllerDependencies,\n\t\t\tcontrollerAliasMap,\n\t\t\tseismicProperties,\n\t\t\tseismicState\n\t\t),\n\t\t...(isObject(sourceAction)\n\t\t\t? {\n\t\t\t\t\t[EVENT_PAYLOAD_BINDING]: partial(\n\t\t\t\t\t\tgetResolvedPayloadBinding,\n\t\t\t\t\t\tsourceAction.payload\n\t\t\t\t\t)\n\t\t\t  }\n\t\t\t: {})\n\t};\n}\n","import resolveWith from './resolveWith.js';\nimport getResolvers from './getResolvers.js';\n\nexport default function resolveForActionPayload(\n\tmacroponentSysId,\n\tmacroponentPropertyDefinitions,\n\tcsdbNodeId,\n\tpdbNodeIds,\n\texternalControllerDependencies,\n\tproxydbNodes,\n\tcontrollerAliasMap,\n\tseismicProperties,\n\tseismicState,\n\tsourceAction,\n\tuxValue,\n\trepeaterItem\n) {\n\treturn resolveWith(\n\t\tgetResolvers(\n\t\t\tmacroponentSysId,\n\t\t\tmacroponentPropertyDefinitions,\n\t\t\tcsdbNodeId,\n\t\t\tpdbNodeIds,\n\t\t\texternalControllerDependencies,\n\t\t\tproxydbNodes,\n\t\t\tcontrollerAliasMap,\n\t\t\tseismicProperties,\n\t\t\tseismicState,\n\t\t\tsourceAction\n\t\t),\n\t\tuxValue,\n\t\trepeaterItem\n\t);\n}\n","import resolveWith from './resolveWith.js';\nimport getResolvers from './getResolvers.js';\n\nexport default function resolveForConditional(\n\tmacroponentSysId,\n\tmacroponentPropertyDefinitions,\n\tcsdbNodeId,\n\tpdbNodeIds,\n\texternalControllerDependencies,\n\tproxydbNodes,\n\tcontrollerAliasMap,\n\tseismicProperties,\n\tseismicState,\n\tsourceAction,\n\tuxValue,\n\trepeaterItem = null\n) {\n\treturn resolveWith(\n\t\tgetResolvers(\n\t\t\tmacroponentSysId,\n\t\t\tmacroponentPropertyDefinitions,\n\t\t\tcsdbNodeId,\n\t\t\tpdbNodeIds,\n\t\t\texternalControllerDependencies,\n\t\t\tproxydbNodes,\n\t\t\tcontrollerAliasMap,\n\t\t\tseismicProperties,\n\t\t\tseismicState,\n\t\t\tsourceAction\n\t\t),\n\t\tuxValue,\n\t\trepeaterItem\n\t);\n}\n","function isLegacySelector(str) {\n\tconst match =\n\t\tstr && str.match(/^\\[\\s*component-id\\s*\\$=\\s*(['\"]?)([\\w- ]+)\\1\\s*\\]$/);\n\tif (!match) {\n\t\treturn false;\n\t}\n\n\treturn match[2];\n}\n\nexport function getTargetElement(el, selector, isRecursing = false) {\n\tconst elShadowRoot = el.shadowRoot;\n\n\tif (elShadowRoot) {\n\t\tconst targetEl = elShadowRoot.querySelector(selector);\n\t\tif (targetEl) {\n\t\t\treturn targetEl;\n\t\t}\n\n\t\tfor (const child of elShadowRoot.children) {\n\t\t\tconst shadowChildEl = getTargetElement(child, selector, true);\n\t\t\tif (shadowChildEl) {\n\t\t\t\treturn shadowChildEl;\n\t\t\t}\n\t\t}\n\t}\n\n\tif (!elShadowRoot || !isRecursing) {\n\t\tfor (const child of el.children) {\n\t\t\tconst childEl = getTargetElement(child, selector, true);\n\t\t\tif (childEl) {\n\t\t\t\treturn childEl;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn null;\n}\n\nexport default function getElement(host, idOrSelector, checkHoisted = false) {\n\tif (!host) {\n\t\treturn null;\n\t}\n\n\tconst selector = isLegacySelector(idOrSelector)\n\t\t? idOrSelector\n\t\t: `[component-id$='${idOrSelector}']`;\n\ttry {\n\t\tconst childElement = host?.shadowRoot.querySelector(selector);\n\t\tif (childElement) {\n\t\t\treturn childElement;\n\t\t}\n\n\t\tif (checkHoisted) {\n\t\t\t// this is a very specific scenario where the target element for the popover has been hoisted\n\t\t\t// in to a modal.  Since modal's are hoisted to the top of the dom tree, starting at the top of\n\t\t\t// the dom (the body element) will speed up the required dom traversal to find the target element\n\t\t\t// in question.\n\t\t\treturn getTargetElement(document.querySelector('body'), selector);\n\t\t}\n\t\t// If we don't find the element in the current macroponent composition, we\n\t\t// walk up 1 parent macroponent and check there. This is done for\n\t\t// backwards-compatibility, but is hacky because there can be ID collisions\n\t\t// between elements in the parent and child macroponents.\n\t\tconst parentMcp = host.getRootNode().host;\n\t\treturn parentMcp?.shadowRoot.querySelector(selector);\n\t} catch (e) {\n\t\t// invalid query selector syntax, which we don't support\n\t\treturn null;\n\t}\n}\n\nexport const exportForTesting = {\n\tisLegacySelector\n};\n","import {searchQuerySchema} from './prefetchQueries';\nimport {get} from '@devsnc/snowdash';\nimport {\n\tgetPageContextId,\n\tgetPagePropertiesForApp\n} from '../../templateLoader/utils';\n\nconst GRAPHQL_ENDPOINT = '/api/now/graphql';\n\nlet snHttpRef;\nconst snHttp = async () => {\n\tif (snHttpRef) return snHttpRef;\n\n\tconst {snHttpFactory} = await import('sn-http-request');\n\n\tconst snHttpInstance = snHttpFactory({\n\t\txsrfToken: get(window, 'g_ck') || 'default'\n\t});\n\tsnHttpRef = snHttpInstance;\n\n\treturn snHttpInstance;\n};\n\nconst UXF_TAB_SELECTED = 'UXF_TAB_SET#TAB_SELECTED';\nexport const LIST_ROW_CLICKED = 'NOW_RECORD_LIST_CONNECTED#ROW_CLICKED';\nexport const RECORD_SIDEBAR_ROUTE_CHANGED =\n\t'NOW_RECORD_COMMON_SIDEBAR#ROUTE_CHANGED';\nconst prefetchActions = [\n\tLIST_ROW_CLICKED,\n\tRECORD_SIDEBAR_ROUTE_CHANGED,\n\tUXF_TAB_SELECTED\n];\n\n//This is specific for clicking into a pre-Voltron page\nconst IN_FLIGHT_PREFETCH_REQUEST = {};\nwindow.__uxf_prefetch_in_flight_registry = new Proxy(\n\tIN_FLIGHT_PREFETCH_REQUEST,\n\t{\n\t\tget(target, prop) {\n\t\t\tif (Reflect.has(target, prop)) {\n\t\t\t\tconst result = Reflect.get(target, prop);\n\t\t\t\tReflect.deleteProperty(target, prop);\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t}\n);\n\nexport const addToPrefetchRequestInFlight = (key, value) => {\n\tIN_FLIGHT_PREFETCH_REQUEST[key] = value;\n};\n\nfunction formFieldsNotAvailable(seismicProperties) {\n\tlet formFieldsNotAvailable = true;\n\tif (seismicProperties && seismicProperties.nowUxfSppRecordForm) {\n\t\tformFieldsNotAvailable = !(\n\t\t\tseismicProperties &&\n\t\t\tseismicProperties.nowUxfSppRecordForm &&\n\t\t\tseismicProperties.nowUxfSppRecordForm.fields\n\t\t);\n\t}\n\n\treturn formFieldsNotAvailable;\n}\n\nfunction getFormFields(seismicProperties) {\n\tlet table, sysId;\n\n\tif (seismicProperties.nowUxfSppRecordForm) {\n\t\ttable = seismicProperties.nowUxfSppRecordTable;\n\t\tsysId = seismicProperties.nowUxfSppRecordSysId;\n\t}\n\treturn {table, sysId};\n}\n\nexport async function prefetch(\n\tsourceActionName,\n\tsourceActionPayload,\n\tseismicProperties\n) {\n\tif (prefetchActions.includes(sourceActionName)) {\n\t\tconst pageProperties = getPagePropertiesForApp(getPageContextId());\n\t\tif (\n\t\t\tpageProperties.hasFormPrefetchEnabled &&\n\t\t\tsourceActionName === RECORD_SIDEBAR_ROUTE_CHANGED &&\n\t\t\tsourceActionPayload &&\n\t\t\tsourceActionPayload.name === 'agentassisttab'\n\t\t) {\n\t\t\ttry {\n\t\t\t\tconst {agentAssistPrefetchConfigSysId: tableConfigSysId} =\n\t\t\t\t\tpageProperties;\n\n\t\t\t\t// This logic applies to San Diego\n\t\t\t\tif (\n\t\t\t\t\tsourceActionName === UXF_TAB_SELECTED &&\n\t\t\t\t\tformFieldsNotAvailable(seismicProperties)\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// In SD upgrade path these won't be filled in\n\t\t\t\tlet {table, sysId} = getFormFields(seismicProperties);\n\n\t\t\t\t// For SD Upgrade try and read table and sysId from context\n\t\t\t\tif (!table) {\n\t\t\t\t\ttable = seismicProperties.table;\n\t\t\t\t}\n\t\t\t\tif (!sysId) {\n\t\t\t\t\tsysId = seismicProperties.sysId;\n\t\t\t\t}\n\n\t\t\t\tif (tableConfigSysId && table && sysId) {\n\t\t\t\t\texecuteSearchQuery(tableConfigSysId, table, sysId);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error);\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction executeSearchQuery(tableConfigSysId, table, sysId) {\n\tconst searchQuery = {\n\t\toperationName: 'nowAgentAssist',\n\t\tcacheable: false,\n\t\tvariables: {\n\t\t\ttableConfig: tableConfigSysId,\n\t\t\tformSysID: sysId,\n\t\t\tformTable: table,\n\t\t\tcontext: '',\n\t\t\tquery: '',\n\t\t\thints: '{\"prefetch\": null}'\n\t\t},\n\t\tquery: searchQuerySchema\n\t};\n\n\tsnHttp().then((snHttpInstance) =>\n\t\tsnHttpInstance\n\t\t\t.request(GRAPHQL_ENDPOINT, 'POST', {\n\t\t\t\tdata: [searchQuery],\n\t\t\t\tbatch: false,\n\t\t\t\theaders: {\n\t\t\t\t\t'X-NOW-REQUESTED-PREFETCH': `nowAgentAssistSearch ${sysId}`\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch(() => console.warn(`Error occured while prefetching form query`))\n\t);\n}\n","export const searchQuerySchema = `query nowAgentAssist(\n  $tableConfig: String!\n  $formTable: String\n  $formSysID: String\n  $context: String!\n  $query: String!\n  $hints: String\n) {\n  GlideContextualSearch_Query(\n    tableConfig: $tableConfig\n    formTable: $formTable\n    formSysID: $formSysID\n    context: $context\n    query: $query\n    hints: $hints\n  ) {\n    request {\n      query {\n        freetext\n      }\n      meta {\n        window {\n          start\n          end\n        }\n      }\n      context\n      id\n    }\n    results {\n      id\n      title\n      link\n      linkTarget\n      snippet\n      relatedLinks {\n        link\n        title\n        spLink\n      }\n      ... on GlideContextualSearch_CatalogItemType {\n        image {\n          link\n          thumbnail {\n            link\n          }\n        }\n      }\n      meta {\n        score\n        source\n        interleaved\n        card_icon\n        card_label\n        card_title\n        additional_fields\n        card_snippet\n        card_show_footer\n        detail_component_name\n        detail_title\n        detail_link\n        detail_additional_fields\n        detail_show_work_note\n        ... on GlideContextualSearch_CatalogItemMetaType {\n          description\n        }\n        ... on GlideContextualSearch_KnowledgeArticleMetaType {\n          author\n          link\n          number\n          published\n          modified\n          modified_display\n          viewCount\n        }\n        ... on GlideContextualSearch_PinnedArticleMetaType {\n          pinned\n          author\n          link\n          number\n          published\n          modified\n          modified_display\n          viewCount\n        }\n        ... on GlideContextualSearch_SocialQAMetaType {\n          author\n          published\n          modified\n          modified_display\n          viewCount\n          answerCount\n          votes\n        }\n        ... on GlideContextualSearch_CommunityBlogMetaType {\n          forum\n          views\n          upvotes\n          helpful\n          likes\n          rating\n          modified\n          modified_display\n          full_view_url\n          comments\n        }\n        ... on GlideContextualSearch_CommunityQuestionMetaType {\n          forum\n          views\n          upvotes\n          helpful\n          likes\n          rating\n          modified\n          modified_display\n          full_view_url\n          comments\n        }\n        ... on GlideContextualSearch_CommunityAnswerMetaType {\n          forum\n          views\n          upvotes\n          helpful\n          likes\n          rating\n          modified\n          modified_display\n          full_view_url\n          comments\n        }\n        ... on GlideContextualSearch_GlideResourceSearchMetaType {\n          table_name\n          resource_details\n          description\n        }\n        ... on GlideContextualSearch_ScriptResourceSearchMetaType {\n          confidence\n          resource_details\n          table_name\n          recommendation_type\n          recommendation_title\n          recommendation_message\n          recommendation_action\n          recommendation_result\n          recommendation_common_field\n        }\n      }\n    }\n    meta {\n      has_more_results\n      returned_results\n      recorded_actions {\n        relevance\n        search_term\n        relevant_doc_table\n        relevant_doc\n      }\n    }\n  }\n}`;\n","import {isEmpty} from '@devsnc/snowdash';\nimport {get} from '@devsnc/snowdash';\nimport {includes} from '@devsnc/snowdash';\nimport {reduce} from '@devsnc/snowdash';\nimport resolveForActionPayload from './UxValueResolver/resolveForActionPayload';\nimport resolveForConditional from './UxValueResolver/resolveForConditional';\nimport {actionChainAugmentationInterceptor} from './interceptors/actionChainAugmentationInterceptor';\n\nimport {\n\tCOMPOSITION_ELEMENT_ID,\n\tCONTAINING_MACROPONENT_SYS_ID,\n\tDATA_ELEMENT_ID,\n\tREPEATER_ITEM,\n\tMODAL_SELECTED,\n\tMODAL_SELECTED_RELAY,\n\tinternalActions,\n\tUXF_INTERNAL_EVENT_META,\n\tHANDLING_SCOPE,\n\tUXF_INTERNAL_HANDLING_SCOPE_SAFETY,\n\tUXF_INTERNAL_RELAY_BY_SCREEN_ACTION_TRANSFORMER,\n\tSYMBOL_EVENT_MAPPING_SOURCE_IS_SCREEN_ACTION_TRANSFORMER,\n\tSYMBOL_EVENT_MAPPING_SOURCE_IS_FROM_SUB_PAGE,\n\tSYMBOL_ORIGINATING_ELEMENT_ID_FOR_CONTROLLER_OP,\n\tMETA_PROP_NAME_CONTROLLER_MAP,\n\tMETA_PROP_NAME_PARENT_CONTROLLER_DEPENDENCY_MAP,\n\tMETA_PROP_NAME_SCREEN_CONTROLLER_MAP,\n\tpublicActionHandlerNames,\n\tUXF_INTERNAL_ACTION_ORIGINATE,\n\tUXF_DIRTY_STATE_MANAGEMENT_SOURCE_ACTION_PATH\n} from './constants';\nimport {\n\tisActionBlacklisted,\n\tisValidElementEventMapping,\n\tmergeObjectsWithPreferredKeys\n} from './utils';\nimport {actionTypes as dbActionTypes} from './databrokers/behaviors/data-broker-runtime/constants';\nimport {\n\tisValidInternalAction,\n\tdispatchInternalAction\n} from './getInternalEffect';\nimport {getRootDispatchFn} from '../factory/registry/index.js';\nimport {getMiPdbDispatchFn} from './registry/getDispatchFn.js';\nimport getElement from '../utils/dom';\nimport {isBoolean} from '@devsnc/snowdash';\nimport {prefetch} from './prefetch/prefetchAction';\nimport {isNil} from '@devsnc/snowdash';\n\nconst {\n\tSCRIPT_EXEC_REQUESTED,\n\tWRAPPED_EVENT_REDISPATCH,\n\tUXF_VIEWPORT_RENDER_BY_ID\n} = internalActions;\n\nconst {MACROPONENT_POPOVER_OPEN_REQUESTED} = publicActionHandlerNames;\n\nconst {UXF_DB_OP_TRIGGER_REQUESTED} = dbActionTypes;\n\nconst getParentPageElementIdForSubPage = (\n\tdataElementId,\n\tcsdbNodeId,\n\tpdbNodeIds,\n\tcontrollerDependencyMap,\n\tparentControllerDependencyMap,\n\tcheckInheritedDBNodeFn\n) => {\n\tif (!controllerDependencyMap) return undefined;\n\n\tif (\n\t\t!(checkInheritedDBNodeFn && checkInheritedDBNodeFn(dataElementId)) &&\n\t\t(dataElementId === csdbNodeId ||\n\t\t\t(pdbNodeIds && pdbNodeIds.includes(dataElementId)))\n\t)\n\t\treturn undefined;\n\n\t//dependency controller case\n\tif (parentControllerDependencyMap) {\n\t\tif (dataElementId.includes('.')) {\n\t\t\tconst [depKey, dependencyId] = dataElementId.split('.', 2);\n\t\t\treturn get(\n\t\t\t\tparentControllerDependencyMap,\n\t\t\t\t`${controllerDependencyMap[depKey]}.${dependencyId}`\n\t\t\t);\n\t\t}\n\t}\n\treturn controllerDependencyMap[dataElementId];\n};\n\nconst dispatchEvent = (\n\tdispatchFn,\n\tactionName,\n\tpayload,\n\tmeta,\n\tresolvedConditional\n) => {\n\tif (!isBoolean(resolvedConditional)) {\n\t\tconsole.error(\n\t\t\t'Event mapping conditional must be nil or resolve to a Boolean. Event mapping was ignored.'\n\t\t);\n\t\tresolvedConditional = false;\n\t}\n\tif (!resolvedConditional) {\n\t\treturn;\n\t}\n\tdispatchFn(actionName, payload, meta);\n\tprocess.env.DEV_MODE ? console.log(actionName, payload, meta) : null;\n};\n\nfunction isValidDataElementEventMapping(sourceDataElementId, dataElementId) {\n\treturn !!sourceDataElementId && sourceDataElementId === dataElementId;\n}\n\nfunction isValidReverseDependencyEventMapping(mappingNodeId, handlingScope) {\n\treturn !!handlingScope && mappingNodeId === handlingScope;\n}\n\nfunction isValidScreenToExperienceShellEventRelay(coeffects) {\n\tconst {\n\t\taction: {\n\t\t\tmeta: {\n\t\t\t\t[UXF_INTERNAL_RELAY_BY_SCREEN_ACTION_TRANSFORMER]:\n\t\t\t\t\teventMetaRelayByScreenActionTransformer = false\n\t\t\t}\n\t\t},\n\t\thost: {isCanvasExperienceShell: isMcpElAnExperienceShell = false}\n\t} = coeffects;\n\n\treturn eventMetaRelayByScreenActionTransformer && isMcpElAnExperienceShell;\n}\n\nfunction isValidSelfDispatchedAction(coeffects, handledEventNames) {\n\tconst {action} = coeffects;\n\n\tconst {type: sourceActionName} = action;\n\n\tif (isValidInternalAction(coeffects)) {\n\t\treturn true;\n\t} else if (handledEventNames.includes(sourceActionName)) {\n\t\tif (action.meta.id === coeffects.properties.nowId) {\n\t\t\t// We are handling an action that was dispatched by the same instance of the macroponent.\n\t\t\t// This happens when\n\t\t\t//  - an event mapping's target event is a handled event on the macroponent\n\t\t\t//  - a screen action transformer does a (delegated) event dispatch to a parent's handled event\n\t\t\t//  - a client script calls api.emit for an event that is handled by the macroponent\n\t\t\treturn true;\n\t\t}\n\t\t// DEF0502752\n\t\t// This happens when:\n\t\t//  - a screen action transformer does a (relay) event dispatch to an experience-shell macroponent handled event\n\t\treturn isValidScreenToExperienceShellEventRelay(coeffects);\n\t} else {\n\t\treturn false;\n\t}\n}\n\nfunction getModalSelectedMeta(mcpEl, modalId) {\n\treturn {\n\t\telementRef: getElement(mcpEl, modalId)\n\t};\n}\n\nfunction getUxfInternalEventMetaOnly(coeffects) {\n\tconst {\n\t\taction: {\n\t\t\tmeta: {[UXF_INTERNAL_EVENT_META]: __uxfEventMeta = {}}\n\t\t}\n\t} = coeffects;\n\n\treturn {\n\t\t[UXF_INTERNAL_EVENT_META]: __uxfEventMeta\n\t};\n}\n\nconst getActionHandlerFn = (\n\tforScreenActionTransformer,\n\tparentDataElements,\n\tmacroponentSysId,\n\tmacroponentPropertyDefinitions,\n\thandledEventNames = [],\n\trootNodeHandledEventNames = [],\n\tcsdbNodeId,\n\tpdbNodeIds,\n\texternalControllerDependencyNames,\n\tcontrollerAliasMap,\n\teventMappings,\n\tcheckControllerElementFn,\n\tcheckInheritedDBNodeFn\n) => {\n\treturn (coeffects) => {\n\t\tconst {\n\t\t\tdispatch: macroponentDispatch,\n\t\t\taction: {\n\t\t\t\tpayload: sourceActionPayload,\n\t\t\t\ttype: sourceActionName,\n\t\t\t\tmeta: {\n\t\t\t\t\tappended: appendedSourceActionMeta = {},\n\t\t\t\t\t[UXF_INTERNAL_EVENT_META]: {\n\t\t\t\t\t\tsourceCorrelationId: eventMetaSourceCorrelationId = '',\n\t\t\t\t\t\tpermitCorrelationIdMismatch:\n\t\t\t\t\t\t\teventMetaPermitCorrelationIdMismatch = false\n\t\t\t\t\t} = {},\n\t\t\t\t\t[SYMBOL_ORIGINATING_ELEMENT_ID_FOR_CONTROLLER_OP]:\n\t\t\t\t\t\toriginatingElementIdForControllerOp = ''\n\t\t\t\t}\n\t\t\t},\n\t\t\tstate: seismicState,\n\t\t\tproperties: seismicProperties,\n\t\t\thost: mcpEl\n\t\t} = coeffects;\n\n\t\tlet {\n\t\t\taction: {\n\t\t\t\tmeta: {uxfMeta = {}}\n\t\t\t},\n\t\t\thost: {hostElementMeta = {}}\n\t\t} = coeffects;\n\n\t\tuxfMeta = mergeObjectsWithPreferredKeys(\n\t\t\tuxfMeta,\n\t\t\thostElementMeta?.uxfMeta ?? {},\n\t\t\t[UXF_DIRTY_STATE_MANAGEMENT_SOURCE_ACTION_PATH]\n\t\t);\n\n\t\tprefetch(sourceActionName, sourceActionPayload, seismicProperties);\n\t\tconst uxfInternalEventMetaOriginal = getUxfInternalEventMetaOnly(coeffects);\n\n\t\tlet {\n\t\t\t[COMPOSITION_ELEMENT_ID]: sourceNodeId,\n\t\t\t[CONTAINING_MACROPONENT_SYS_ID]: containingMacroponentSysId,\n\t\t\t[REPEATER_ITEM]: repeaterItem\n\t\t} = appendedSourceActionMeta;\n\t\t// fixme: canvas still uses appendToPayload on the root\n\t\t// screen-action-transformer, which we need to keep make root-level relay\n\t\t// events working. a better fix would be to have canvas call some factory\n\t\t// function to set up the screen + mcp with the right data. Remove this\n\t\t// once that function exists + canvas is using it.\n\t\tif (forScreenActionTransformer && !sourceNodeId) {\n\t\t\tsourceNodeId = sourceActionPayload.__uxfCompositionElId;\n\t\t}\n\n\t\tconst sourceDataElementId = get(sourceActionPayload, [DATA_ELEMENT_ID]);\n\n\t\tconst sourceId = sourceDataElementId ? sourceDataElementId : sourceNodeId;\n\n\t\tconst sourceAction = {\n\t\t\telementId: sourceId,\n\t\t\tname: sourceActionName,\n\t\t\tpayload: sourceActionPayload,\n\t\t\tcontext: {}\n\t\t};\n\n\t\t/**\n\t\t * If any event mappings have a matching correlation ID, the correct behavior\n\t\t * of only executing mappings with a matching ID should be followed. Otherwise,\n\t\t * the mismatchedCorrelationIdEventMappings should be executed, which prevents\n\t\t * breaking declarative actions that are missing an addon event mapping.\n\t\t * Remove in Xanadu.\n\t\t */\n\t\tlet hasEventWithMatchingCorrelationId = false;\n\t\tconst mismatchedCorrelationIdEventMappings = [];\n\n\t\tconst filteredEventMappings = eventMappings.filter((em) => {\n\t\t\tconst conditional = get(em, ['conditional'], null);\n\t\t\tconst passesConditional = isNil(conditional)\n\t\t\t\t? true\n\t\t\t\t: resolveForConditional(\n\t\t\t\t\t\tmacroponentSysId,\n\t\t\t\t\t\tmacroponentPropertyDefinitions,\n\t\t\t\t\t\tcsdbNodeId,\n\t\t\t\t\t\tpdbNodeIds,\n\t\t\t\t\t\texternalControllerDependencyNames,\n\t\t\t\t\t\t[],\n\t\t\t\t\t\tcontrollerAliasMap,\n\t\t\t\t\t\tseismicProperties,\n\t\t\t\t\t\tseismicState,\n\t\t\t\t\t\tsourceAction,\n\t\t\t\t\t\tconditional,\n\t\t\t\t\t\trepeaterItem\n\t\t\t\t  );\n\t\t\tif (!passesConditional) return false;\n\n\t\t\tconst {\n\t\t\t\tnodeId,\n\t\t\t\tdataElementId,\n\t\t\t\tsourceCorrelationId: mappingSourceCorrelationId,\n\t\t\t\t[HANDLING_SCOPE]: handlingScopeContainer\n\t\t\t} = em;\n\t\t\tconst handlingScope =\n\t\t\t\thandlingScopeContainer?.[UXF_INTERNAL_HANDLING_SCOPE_SAFETY];\n\n\t\t\tconst validElementEventMapping = isValidElementEventMapping(\n\t\t\t\tforScreenActionTransformer,\n\t\t\t\tmacroponentSysId,\n\t\t\t\tsourceNodeId,\n\t\t\t\tnodeId,\n\t\t\t\tcontainingMacroponentSysId,\n\t\t\t\teventMetaSourceCorrelationId,\n\t\t\t\tmappingSourceCorrelationId\n\t\t\t);\n\n\t\t\t/**\n\t\t\t * Temporary workaround to address misconfigured list + related list declarative actions.\n\t\t\t * Remove in Xanadu.\n\t\t\t */\n\t\t\tif (eventMetaPermitCorrelationIdMismatch) {\n\t\t\t\t/**\n\t\t\t\t * If a valid event mapping exists, all mismatched event mappings will be ignored.\n\t\t\t\t * If the event mapping becomes valid via bypassing the correlation ID check,\n\t\t\t\t * it should be stored as a mismatched event mapping.\n\t\t\t\t */\n\t\t\t\tif (validElementEventMapping) {\n\t\t\t\t\thasEventWithMatchingCorrelationId = true;\n\t\t\t\t} else if (\n\t\t\t\t\tisValidElementEventMapping(\n\t\t\t\t\t\tforScreenActionTransformer,\n\t\t\t\t\t\tmacroponentSysId,\n\t\t\t\t\t\tsourceNodeId,\n\t\t\t\t\t\tnodeId,\n\t\t\t\t\t\tcontainingMacroponentSysId,\n\t\t\t\t\t\t'',\n\t\t\t\t\t\tmappingSourceCorrelationId\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tmismatchedCorrelationIdEventMappings.push(em);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\tvalidElementEventMapping ||\n\t\t\t\tisValidDataElementEventMapping(sourceDataElementId, dataElementId) ||\n\t\t\t\tisValidReverseDependencyEventMapping(nodeId, handlingScope) ||\n\t\t\t\t(nodeId === 'root' &&\n\t\t\t\t\tisValidSelfDispatchedAction(coeffects, handledEventNames))\n\t\t\t);\n\t\t});\n\n\t\tlet newFilteredEventMappings;\n\n\t\t/**\n\t\t * If mismatch is not permitted, a matching event is found, or no mismatched event mappings are found, keep the existing filtered event mappings.\n\t\t * Remove in Xanadu. Otherwise, warn the user and include the mismatched event mappings.\n\t\t */\n\t\tif (\n\t\t\t!eventMetaPermitCorrelationIdMismatch ||\n\t\t\thasEventWithMatchingCorrelationId ||\n\t\t\tisEmpty(mismatchedCorrelationIdEventMappings)\n\t\t) {\n\t\t\tnewFilteredEventMappings = filteredEventMappings;\n\t\t} else {\n\t\t\tconsole.error(\n\t\t\t\t`No matching event mapping found for action with ID ${eventMetaSourceCorrelationId}. A new event mapping must be created. This fallback will no longer occur in the next release.`\n\t\t\t);\n\t\t\tnewFilteredEventMappings = filteredEventMappings.concat(\n\t\t\t\tmismatchedCorrelationIdEventMappings\n\t\t\t);\n\t\t}\n\n\t\tconst elementIdSet = new Set(\n\t\t\tnewFilteredEventMappings\n\t\t\t\t.map((em) => em.dataElementId)\n\t\t\t\t.filter((dataElementId) => dataElementId !== undefined)\n\t\t);\n\n\t\tfor (const eventMapping of newFilteredEventMappings) {\n\t\t\tconst {\n\t\t\t\tnodeId,\n\t\t\t\tpayload: definedPayload,\n\t\t\t\tconditional,\n\t\t\t\ttargetEventName,\n\t\t\t\tscriptSysId,\n\t\t\t\toperation,\n\t\t\t\t[HANDLING_SCOPE]: handlingScopeContainer,\n\t\t\t\tstopPropagation\n\t\t\t} = eventMapping;\n\t\t\tconst uxfInternalEventMeta = {...uxfInternalEventMetaOriginal};\n\n\t\t\t// Remove duplicate data resource defined in the controller but added to the page\n\t\t\t// to avoid script being executed twice\n\t\t\tif (\n\t\t\t\teventMapping.dataElementId !== undefined &&\n\t\t\t\telementIdSet.has(eventMapping.dataElementId) &&\n\t\t\t\teventMapping.elementType == 'CONTROLLER'\n\t\t\t) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (stopPropagation) coeffects.action.stopPropagation();\n\n\t\t\tconst handlingScope =\n\t\t\t\thandlingScopeContainer?.[UXF_INTERNAL_HANDLING_SCOPE_SAFETY];\n\t\t\tconst handlerDispatch = isNil(handlingScope)\n\t\t\t\t? macroponentDispatch\n\t\t\t\t: getMiPdbDispatchFn(mcpEl, handlingScope, macroponentDispatch);\n\n\t\t\tconst sourceId = sourceDataElementId ? sourceDataElementId : sourceNodeId;\n\n\t\t\tconst sourceAction = {\n\t\t\t\telementId: sourceId,\n\t\t\t\tname: sourceActionName,\n\t\t\t\tpayload: sourceActionPayload,\n\t\t\t\tcontext: {}\n\t\t\t};\n\n\t\t\tif (!isNil(repeaterItem)) {\n\t\t\t\tsourceAction.context.item = repeaterItem;\n\t\t\t}\n\n\t\t\tif (!isNil(scriptSysId)) {\n\t\t\t\t/**!\n\t\t\t\t * Preserves the originating elementId of event object in client scripting API.\n\t\t\t\t * currentElementId has been introduced in the event object to access the controller instance.\n\t\t\t\t **/\n\t\t\t\tif (!isEmpty(originatingElementIdForControllerOp)) {\n\t\t\t\t\tsourceAction.elementId = originatingElementIdForControllerOp;\n\t\t\t\t\tsourceAction.currentElementId = sourceId;\n\t\t\t\t}\n\n\t\t\t\tdispatchInternalAction(\n\t\t\t\t\thandlerDispatch,\n\t\t\t\t\tSCRIPT_EXEC_REQUESTED,\n\t\t\t\t\t{\n\t\t\t\t\t\tscriptSysId,\n\t\t\t\t\t\tsourceAction\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tuxfMeta\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} else if (!isNil(operation)) {\n\t\t\t\tlet resolvedOperation = operation;\n\t\t\t\tlet meta = {\n\t\t\t\t\t[SYMBOL_EVENT_MAPPING_SOURCE_IS_SCREEN_ACTION_TRANSFORMER]:\n\t\t\t\t\t\tforScreenActionTransformer,\n\t\t\t\t\tuxfMeta\n\t\t\t\t};\n\t\t\t\tif (forScreenActionTransformer) {\n\t\t\t\t\tconst previousDataElementSysId =\n\t\t\t\t\t\tparentDataElements[resolvedOperation.dataElementId];\n\t\t\t\t\tif (previousDataElementSysId) {\n\t\t\t\t\t\tconst screenControllerMap =\n\t\t\t\t\t\t\tseismicProperties[META_PROP_NAME_SCREEN_CONTROLLER_MAP];\n\t\t\t\t\t\tconst currentDataElementId =\n\t\t\t\t\t\t\tscreenControllerMap[previousDataElementSysId];\n\t\t\t\t\t\tif (currentDataElementId)\n\t\t\t\t\t\t\tresolvedOperation = {\n\t\t\t\t\t\t\t\t...resolvedOperation,\n\t\t\t\t\t\t\t\tdataElementId: currentDataElementId\n\t\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tconst parentElementId = getParentPageElementIdForSubPage(\n\t\t\t\t\t\toperation.dataElementId,\n\t\t\t\t\t\tcsdbNodeId,\n\t\t\t\t\t\tpdbNodeIds,\n\t\t\t\t\t\tseismicProperties[META_PROP_NAME_CONTROLLER_MAP],\n\t\t\t\t\t\tseismicProperties[META_PROP_NAME_PARENT_CONTROLLER_DEPENDENCY_MAP],\n\t\t\t\t\t\tcheckInheritedDBNodeFn\n\t\t\t\t\t);\n\t\t\t\t\tif (parentElementId) {\n\t\t\t\t\t\tmeta = {\n\t\t\t\t\t\t\t...meta,\n\t\t\t\t\t\t\t[SYMBOL_EVENT_MAPPING_SOURCE_IS_FROM_SUB_PAGE]: true\n\t\t\t\t\t\t};\n\t\t\t\t\t\tresolvedOperation = {\n\t\t\t\t\t\t\t...resolvedOperation,\n\t\t\t\t\t\t\tdataElementId: parentElementId\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// append meta only for controller operation\n\t\t\t\tif (\n\t\t\t\t\tcheckControllerElementFn &&\n\t\t\t\t\tcheckControllerElementFn(operation.dataElementId)\n\t\t\t\t) {\n\t\t\t\t\tmeta = {\n\t\t\t\t\t\t...meta,\n\t\t\t\t\t\t[SYMBOL_ORIGINATING_ELEMENT_ID_FOR_CONTROLLER_OP]: nodeId\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tconst resolvedPayload = resolveForActionPayload(\n\t\t\t\t\tmacroponentSysId,\n\t\t\t\t\tmacroponentPropertyDefinitions,\n\t\t\t\t\tcsdbNodeId,\n\t\t\t\t\tpdbNodeIds,\n\t\t\t\t\texternalControllerDependencyNames,\n\t\t\t\t\t[],\n\t\t\t\t\tcontrollerAliasMap,\n\t\t\t\t\tseismicProperties,\n\t\t\t\t\tseismicState,\n\t\t\t\t\tsourceAction,\n\t\t\t\t\tdefinedPayload,\n\t\t\t\t\trepeaterItem\n\t\t\t\t);\n\n\t\t\t\tdispatchInternalAction(\n\t\t\t\t\thandlerDispatch,\n\t\t\t\t\tUXF_DB_OP_TRIGGER_REQUESTED,\n\t\t\t\t\t{\n\t\t\t\t\t\toperation: resolvedOperation,\n\t\t\t\t\t\toperationPayload: resolvedPayload\n\t\t\t\t\t},\n\t\t\t\t\t{...meta}\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tif (isNil(targetEventName)) {\n\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t`Event mapping target action is undefined (for elementId = ${sourceId})`\n\t\t\t\t\t);\n\t\t\t\t} else if (isActionBlacklisted(targetEventName)) {\n\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t`Refusing to dispatch internal action: ${targetEventName}`\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tconst payload = resolveForActionPayload(\n\t\t\t\t\t\tmacroponentSysId,\n\t\t\t\t\t\tmacroponentPropertyDefinitions,\n\t\t\t\t\t\tcsdbNodeId,\n\t\t\t\t\t\tpdbNodeIds,\n\t\t\t\t\t\texternalControllerDependencyNames,\n\t\t\t\t\t\t[],\n\t\t\t\t\t\tcontrollerAliasMap,\n\t\t\t\t\t\tseismicProperties,\n\t\t\t\t\t\tseismicState,\n\t\t\t\t\t\tsourceAction,\n\t\t\t\t\t\tdefinedPayload,\n\t\t\t\t\t\trepeaterItem\n\t\t\t\t\t);\n\t\t\t\t\tconst resolvedConditional = isNil(conditional)\n\t\t\t\t\t\t? true\n\t\t\t\t\t\t: resolveForConditional(\n\t\t\t\t\t\t\t\tmacroponentSysId,\n\t\t\t\t\t\t\t\tmacroponentPropertyDefinitions,\n\t\t\t\t\t\t\t\tcsdbNodeId,\n\t\t\t\t\t\t\t\tpdbNodeIds,\n\t\t\t\t\t\t\t\texternalControllerDependencyNames,\n\t\t\t\t\t\t\t\t[],\n\t\t\t\t\t\t\t\tcontrollerAliasMap,\n\t\t\t\t\t\t\t\tseismicProperties,\n\t\t\t\t\t\t\t\tseismicState,\n\t\t\t\t\t\t\t\tsourceAction,\n\t\t\t\t\t\t\t\tconditional,\n\t\t\t\t\t\t\t\trepeaterItem\n\t\t\t\t\t\t  );\n\n\t\t\t\t\tconst meta = {\n\t\t\t\t\t\t...uxfInternalEventMeta,\n\t\t\t\t\t\tuxfMeta\n\t\t\t\t\t};\n\t\t\t\t\t// For Open close modal event with viewport modal,\n\t\t\t\t\t//   - load the viewport\n\t\t\t\t\t//   - hoist the modal to canvas-modal-hoist (dispatch MODAL_SELECTED)\n\t\t\t\t\tif (\n\t\t\t\t\t\tincludes(targetEventName, MODAL_SELECTED_RELAY) &&\n\t\t\t\t\t\t!isEmpty(get(payload, ['viewportElementId'])) &&\n\t\t\t\t\t\t!isEmpty(get(payload, ['viewportRoute']))\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst viewportPayload = {\n\t\t\t\t\t\t\troute: get(payload, ['viewportRoute']),\n\t\t\t\t\t\t\tfields: get(payload, ['viewportFields']),\n\t\t\t\t\t\t\tparams: get(payload, ['viewportParams']),\n\t\t\t\t\t\t\tviewportElementId: get(payload, ['viewportElementId'])\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tconst modalPayload = {\n\t\t\t\t\t\t\tmodalId: get(payload, ['modalId']),\n\t\t\t\t\t\t\tshowModal: get(payload, ['showModal']),\n\t\t\t\t\t\t\tdisplayOptions: get(payload, ['displayOptions']),\n\t\t\t\t\t\t\tbare: get(payload, ['bare']),\n\t\t\t\t\t\t\theaderLabel: get(payload, ['headerLabel'])\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tdispatchEvent(\n\t\t\t\t\t\t\thandlerDispatch,\n\t\t\t\t\t\t\tUXF_VIEWPORT_RENDER_BY_ID,\n\t\t\t\t\t\t\tviewportPayload,\n\t\t\t\t\t\t\tmeta,\n\t\t\t\t\t\t\tresolvedConditional\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tdispatchEvent(\n\t\t\t\t\t\t\thandlerDispatch,\n\t\t\t\t\t\t\tMODAL_SELECTED,\n\t\t\t\t\t\t\tmodalPayload,\n\t\t\t\t\t\t\tmeta,\n\t\t\t\t\t\t\tresolvedConditional\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if (rootNodeHandledEventNames.includes(targetEventName)) {\n\t\t\t\t\t\tconst dispatchFn = getRootDispatchFn(mcpEl, handlerDispatch);\n\t\t\t\t\t\tdispatchEvent(\n\t\t\t\t\t\t\tdispatchFn,\n\t\t\t\t\t\t\ttargetEventName,\n\t\t\t\t\t\t\tpayload,\n\t\t\t\t\t\t\tmeta,\n\t\t\t\t\t\t\tresolvedConditional\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if (targetEventName === MODAL_SELECTED) {\n\t\t\t\t\t\tdispatchEvent(\n\t\t\t\t\t\t\thandlerDispatch,\n\t\t\t\t\t\t\ttargetEventName,\n\t\t\t\t\t\t\tpayload,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t...meta,\n\t\t\t\t\t\t\t\t...getModalSelectedMeta(\n\t\t\t\t\t\t\t\t\tmcpEl.firstElementChild,\n\t\t\t\t\t\t\t\t\tpayload.modalId\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tresolvedConditional\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if (targetEventName === MACROPONENT_POPOVER_OPEN_REQUESTED) {\n\t\t\t\t\t\tdispatchEvent(\n\t\t\t\t\t\t\thandlerDispatch,\n\t\t\t\t\t\t\ttargetEventName,\n\t\t\t\t\t\t\tpayload,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t...meta,\n\t\t\t\t\t\t\t\tsourceAction\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tresolvedConditional\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if (\n\t\t\t\t\t\tforScreenActionTransformer &&\n\t\t\t\t\t\tseismicProperties.nowUxfDelegateDispatch\n\t\t\t\t\t) {\n\t\t\t\t\t\t// For event mappings to other dispatchedEvents of the macroponent,\n\t\t\t\t\t\t// we want the macroponent itself to do the dispatching so that\n\t\t\t\t\t\t// emitter information is captured correctly. This way, we propogate the\n\t\t\t\t\t\t// event up the chain to the macroponent, and let that unwrap our action\n\t\t\t\t\t\t// and redispatch up like normal. Otherwise, the event looks like it comes\n\t\t\t\t\t\t// from the screen action transformer (not good)\n\t\t\t\t\t\tdispatchInternalAction(\n\t\t\t\t\t\t\thandlerDispatch,\n\t\t\t\t\t\t\tWRAPPED_EVENT_REDISPATCH,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttargetEventName,\n\t\t\t\t\t\t\t\twrappedPayload: payload\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmeta\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst originate =\n\t\t\t\t\t\t\tuxfInternalEventMeta?.[UXF_INTERNAL_EVENT_META]?.[\n\t\t\t\t\t\t\t\tUXF_INTERNAL_ACTION_ORIGINATE\n\t\t\t\t\t\t\t] || containingMacroponentSysId;\n\t\t\t\t\t\tif (originate)\n\t\t\t\t\t\t\tuxfInternalEventMeta[UXF_INTERNAL_EVENT_META] = {\n\t\t\t\t\t\t\t\t...uxfInternalEventMeta[UXF_INTERNAL_EVENT_META],\n\t\t\t\t\t\t\t\t[UXF_INTERNAL_ACTION_ORIGINATE]: originate\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t// DEF0502752\n\t\t\t\t\t\tconst updatedMeta = forScreenActionTransformer\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t[UXF_INTERNAL_RELAY_BY_SCREEN_ACTION_TRANSFORMER]: true,\n\t\t\t\t\t\t\t\t\t...meta\n\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t: meta;\n\n\t\t\t\t\t\tdispatchEvent(\n\t\t\t\t\t\t\thandlerDispatch,\n\t\t\t\t\t\t\ttargetEventName,\n\t\t\t\t\t\t\tpayload,\n\t\t\t\t\t\t\tupdatedMeta,\n\t\t\t\t\t\t\tresolvedConditional\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n};\n\nexport const getActionHandlers = (\n\tconsolidatedEventMappings,\n\tforScreenActionTransformer,\n\tparentDataElements,\n\tmacroponentSysId,\n\thandledEventNames,\n\trootNodeHandledEventNames,\n\tmacroponentPropertyDefinitions,\n\tcsdbNodeId,\n\tpdbNodeIds,\n\texternalControllerDependencyNames,\n\tcontrollerAliasMap,\n\tcheckControllerElementFn,\n\tcheckInheritedDBNodeFn\n) => {\n\treturn reduce(\n\t\tconsolidatedEventMappings,\n\t\t(acc, eventMappings, actionName) => {\n\t\t\tacc[actionName] = {\n\t\t\t\teffect: getActionHandlerFn(\n\t\t\t\t\tforScreenActionTransformer,\n\t\t\t\t\tparentDataElements,\n\t\t\t\t\tmacroponentSysId,\n\t\t\t\t\tmacroponentPropertyDefinitions,\n\t\t\t\t\thandledEventNames,\n\t\t\t\t\trootNodeHandledEventNames,\n\t\t\t\t\tcsdbNodeId,\n\t\t\t\t\tpdbNodeIds,\n\t\t\t\t\texternalControllerDependencyNames,\n\t\t\t\t\tcontrollerAliasMap,\n\t\t\t\t\teventMappings,\n\t\t\t\t\tcheckControllerElementFn,\n\t\t\t\t\tcheckInheritedDBNodeFn\n\t\t\t\t),\n\t\t\t\tinterceptors: [actionChainAugmentationInterceptor]\n\t\t\t};\n\t\t\treturn acc;\n\t\t},\n\t\t{}\n\t);\n};\n","import {get} from '@devsnc/snowdash';\nimport {\n\tUXF_INTERNAL_HANDLING_SCOPE_SAFETY,\n\tUXF_VIEWPORT_SCREEN_TAG\n} from './constants';\nimport {isNil} from '@devsnc/snowdash';\nimport {isArray} from '@devsnc/snowdash';\n\nimport {mergeWith} from '@devsnc/snowdash';\n\nconst mergeActions = (objValue, srcValue) => {\n\t// IMPORTANT: we get handlingScope behind a \"safety\" to prevent handlingScope injection from metadata\n\tif (isHandlingScopeContainer(srcValue)) return {...srcValue};\n\treturn isArray(objValue) ? objValue.concat(srcValue) : undefined;\n};\n\nfunction isHandlingScopeContainer(container) {\n\treturn typeof container?.[UXF_INTERNAL_HANDLING_SCOPE_SAFETY] === 'string';\n}\n\n// fixme: all these functions are candidates to be moved into the java layer\nconst getConsolidatedConfig = (\n\tdescendants,\n\tnode,\n\toffRowEventMappingsByNodeId = {},\n\telementTypeMapping = {}\n) => {\n\tconst {\n\t\tnodeId,\n\t\teventMappings = [],\n\t\tproperties = [],\n\t\tdataBrokers,\n\t\tdependencies,\n\t\ttagName,\n\t\tdefinitionSysId,\n\t\tderived = false,\n\t\ttype\n\t} = node;\n\n\telementTypeMapping[nodeId] = type;\n\n\tconst children = descendants[nodeId] || [];\n\tconst childrenConfigs = children.map((child) =>\n\t\tgetConsolidatedConfig(\n\t\t\tdescendants,\n\t\t\tchild,\n\t\t\toffRowEventMappingsByNodeId,\n\t\t\telementTypeMapping\n\t\t)\n\t);\n\n\tconst dataElemEventMappings = (dataBrokers ? dataBrokers : [])\n\t\t.reduce((acc, dataElem) => {\n\t\t\tconst eventMappings = (\n\t\t\t\tdataElem.eventMappings ? dataElem.eventMappings : []\n\t\t\t).map((em) => ({\n\t\t\t\t...em,\n\t\t\t\tdataElementId: dataElem.id,\n\t\t\t\telementType: type\n\t\t\t}));\n\t\t\treturn [...acc, ...eventMappings];\n\t\t}, [])\n\t\t.reduce((acc, mapping) => {\n\t\t\tconst {sourceEventName} = mapping;\n\t\t\tacc[sourceEventName] = [\n\t\t\t\t...(acc[sourceEventName] ? acc[sourceEventName] : []),\n\t\t\t\tmapping\n\t\t\t];\n\t\t\treturn acc;\n\t\t}, {});\n\n\tconst offRowEventMappings = get(offRowEventMappingsByNodeId, [nodeId], []);\n\n\tconst dependentControllerMappings = (\n\t\tdependencies ? Object.values(dependencies) : []\n\t).reduce((acc, dep) => [...acc, ...(dep.eventMappings || [])], []);\n\n\tconst compElemEventMappings = getConsolidatedEventMappings(nodeId, [\n\t\t...eventMappings,\n\t\t...offRowEventMappings,\n\t\t...dependentControllerMappings\n\t]);\n\n\tconst selectableProperties = properties\n\t\t.filter(({selectable}) => selectable)\n\t\t.map(({name: propName}) => ({nodeId, propName, derived, definitionSysId}));\n\n\treturn mergeConfigs(\n\t\t[\n\t\t\t{\n\t\t\t\teventMappings: {...compElemEventMappings, ...dataElemEventMappings},\n\t\t\t\tselectableProperties,\n\t\t\t\thasViewportScreenNode: tagName === UXF_VIEWPORT_SCREEN_TAG,\n\t\t\t\telementTypeMapping\n\t\t\t}\n\t\t].concat(childrenConfigs)\n\t);\n};\n\nconst mergeConfigs = (configs) => {\n\treturn configs.reduce(\n\t\t(acc, config) => {\n\t\t\tconst {\n\t\t\t\teventMappings,\n\t\t\t\tselectableProperties,\n\t\t\t\thasViewportScreenNode,\n\t\t\t\telementTypeMapping\n\t\t\t} = config;\n\t\t\treturn {\n\t\t\t\teventMappings: {\n\t\t\t\t\t...mergeWith(acc.eventMappings, eventMappings, mergeActions)\n\t\t\t\t},\n\t\t\t\tselectableProperties:\n\t\t\t\t\tacc.selectableProperties.concat(selectableProperties),\n\t\t\t\thasViewportScreenNode:\n\t\t\t\t\thasViewportScreenNode || acc.hasViewportScreenNode,\n\t\t\t\telementTypeMapping: {...elementTypeMapping, ...acc.elementTypeMapping}\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\teventMappings: {},\n\t\t\tselectableProperties: [],\n\t\t\thasViewportScreenNode: false,\n\t\t\telementTypeMapping: {}\n\t\t}\n\t);\n};\n\n// fixme: this is a candidate function for move to the Java layer\nexport const getConsolidatedEventMappings = (nodeId, eventMappings = []) => {\n\treturn eventMappings.reduce((acc, eventMapping) => {\n\t\tconst {sourceEventName} = eventMapping;\n\t\tacc[sourceEventName] = [\n\t\t\t...(acc[sourceEventName] ? acc[sourceEventName] : []),\n\t\t\t{\n\t\t\t\tnodeId,\n\t\t\t\t...eventMapping\n\t\t\t}\n\t\t];\n\t\treturn acc;\n\t}, {});\n};\n\nexport default (\n\tdescendants,\n\trootNode,\n\tcsdbNode,\n\tpdbNodes,\n\toffRowEventMappingsByNodeId,\n\tserverProducedConsolidatedConfig\n) => {\n\tconst consolidatedConfig = serverProducedConsolidatedConfig\n\t\t? serverProducedConsolidatedConfig\n\t\t: getConsolidatedConfig(descendants, rootNode, offRowEventMappingsByNodeId);\n\tconst hasPdbNode = isArray(pdbNodes) && pdbNodes.length > 0;\n\tif (isNil(csdbNode) && !hasPdbNode) return consolidatedConfig;\n\telse {\n\t\tconst configs = [consolidatedConfig];\n\t\tif (!isNil(csdbNode)) configs.push(getConsolidatedConfig([], csdbNode));\n\t\tif (hasPdbNode) {\n\t\t\tfor (const pdbNode of pdbNodes) {\n\t\t\t\tconfigs.push(getConsolidatedConfig([], pdbNode));\n\t\t\t}\n\t\t}\n\t\treturn mergeConfigs(configs);\n\t}\n};\n","import {isEmpty} from '@devsnc/snowdash';\nimport {get} from '@devsnc/snowdash';\nimport {debounce} from '@devsnc/snowdash';\nimport {\n\tstylesCache,\n\tapplyQueryStyles,\n\tapplyPropertyValues,\n\tapplyMergedQueryStyles,\n\tgetMergedLayoutQueryStyles\n} from './styler';\nimport {getROElementId} from './helpers';\nimport {REFLOW_PROP} from './constants';\nimport {LAYOUT_VERSION_3_1_0} from '../constants';\n\n/**\n * Pool of resize listeners\n * @type {{}}\n */\nexport const ResizeObserverPool = new Map();\n\nlet initialEntryWidth = null;\n\n/**\n * onElementResize\n * @param element\n * @param queries\n * @param elementType\n */\nexport const registerResizeObserver = (\n\telement,\n\tqueries,\n\telementType,\n\tmodel,\n\tchildren\n) => {\n\tlet resizeObserver;\n\tconst roElementId = getROElementId(element);\n\n\tif (isEmpty(ResizeObserverPool.get(roElementId))) {\n\t\tresizeObserver = new ResizeObserver(\n\t\t\tdebounce((entries) => {\n\t\t\t\tresizeObserverCallBack(\n\t\t\t\t\telement,\n\t\t\t\t\tqueries,\n\t\t\t\t\tmodel,\n\t\t\t\t\telementType,\n\t\t\t\t\tchildren,\n\t\t\t\t\tentries\n\t\t\t\t);\n\t\t\t}, 60)\n\t\t);\n\t\tResizeObserverPool.set(roElementId, resizeObserver);\n\t\tresizeObserver.observe(element);\n\t}\n};\n\n/**\n * removeResizeObserver\n * @param element\n */\nexport const removeResizeObserver = (element) => {\n\tconst roElementId = getROElementId(element);\n\n\tif (roElementId) {\n\t\t/**\n\t\t * On element deletion, let's do some clean up\n\t\t *  - unobserve the resize observer\n\t\t *  - remove from the ResizeObserverPool and\n\t\t *  - remove stylesCache associated to the element\n\t\t */\n\n\t\tconst resizeObserver = ResizeObserverPool.get(roElementId);\n\n\t\tif (resizeObserver) {\n\t\t\t// Unobserve the resizeObserver and\n\t\t\t// remove from the resize observer pool\n\t\t\tresizeObserver.unobserve(element);\n\t\t\tResizeObserverPool.delete(roElementId);\n\t\t}\n\n\t\t// Remove the stylesCache associated to the element\n\t\tstylesCache.delete(roElementId);\n\t}\n};\n\nconst resizeObserverCallBack = (\n\telement,\n\tqueries,\n\tmodel,\n\telementType,\n\tchildren,\n\tentries\n) => {\n\tconst version = get(model, ['version']);\n\tconst entry = entries[0];\n\n\t/* No point in going beyond this point, if the element width is 0 - Currently we are\n\t\t\t\tapplying styles unnecessarily when the page loads initially and element widths are 0 */\n\tif (entry.contentRect.width === 0) return;\n\n\tinitialEntryWidth = initialEntryWidth || entry.contentRect.width;\n\n\tif (version === LAYOUT_VERSION_3_1_0) {\n\t\tconst [internalStyles, mergedExternalStylesByElementId] =\n\t\t\tgetMergedLayoutQueryStyles(entry.target, queries, elementType, children);\n\t\tapplyMergedQueryStyles(\n\t\t\tentry.target,\n\t\t\telementType,\n\t\t\tchildren,\n\t\t\tmergedExternalStylesByElementId,\n\t\t\tinternalStyles\n\t\t);\n\t} else {\n\t\t// determine matched queries based on feature - max-width, min-width etc.\n\t\tif (!isEmpty(queries))\n\t\t\tapplyQueryStyles(\n\t\t\t\tentry.target,\n\t\t\t\telement.defaultStyles || {},\n\t\t\t\tqueries,\n\t\t\t\telementType,\n\t\t\t\tinitialEntryWidth\n\t\t\t);\n\t}\n\tconst propertyValues = get(entry.target, [REFLOW_PROP], null);\n\tif (!isEmpty(propertyValues))\n\t\tapplyPropertyValues(entry.target, propertyValues, initialEntryWidth);\n\n\t// Handle reflow property updates for non-layout parent and child case\n\tif (entry?.target?.children?.length > 0 && elementType === 'CHILD_ELEMENT') {\n\t\t[...entry.target.children].forEach((child) => {\n\t\t\tconst childPropertyValues = get(child, [REFLOW_PROP], null);\n\t\t\tif (!isEmpty(childPropertyValues))\n\t\t\t\tapplyPropertyValues(child, childPropertyValues, initialEntryWidth);\n\t\t});\n\t}\n};\n\nexport const __testing =\n\tprocess.env.NODE_ENV === 'test'\n\t\t? {\n\t\t\t\tresizeObserverCallBack\n\t\t  }\n\t\t: void 0;\n","import {isEmpty} from '@devsnc/snowdash';\nimport {isObject} from '@devsnc/snowdash';\nimport {get} from '@devsnc/snowdash';\n\nvar nodeStore = (function() {\n\tlet dataByNode = new Map();\n\n\treturn {\n\t\tget: function(nodeId, path) {\n\t\t\tif (!dataByNode.get(nodeId)) return undefined;\n\t\t\ttry {\n\t\t\t\tconst data = dataByNode.get(nodeId);\n\t\t\t\treturn path ? get(data, path) : data;\n\t\t\t} catch (e) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t},\n\t\tset: function(nodeId, dataOrKeyPath, value) {\n\t\t\tif (isEmpty(dataOrKeyPath)) return;\n\n\t\t\tif (isObject(dataOrKeyPath)) {\n\t\t\t\tdataByNode.set(nodeId, dataOrKeyPath);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst paths = dataOrKeyPath.split('.', 2); //only allow 2 levels\n\t\t\tlet data = dataByNode.get(nodeId) || {};\n\t\t\tif (paths.length > 1)\n\t\t\t\tdata[paths[0]] = {\n\t\t\t\t\t...data[paths[0]],\n\t\t\t\t\t[paths[1]]: value\n\t\t\t\t};\n\t\t\telse data[paths[0]] = value;\n\t\t\tdataByNode.set(nodeId, data);\n\t\t},\n\t\tclear: function(nodeId) {\n\t\t\tdataByNode.delete(nodeId);\n\t\t}\n\t};\n})();\n\nexport default nodeStore;\n","import {isEqual} from '@devsnc/snowdash';\nimport {isEmpty} from '@devsnc/snowdash';\nimport {get} from '@devsnc/snowdash';\nimport {set} from '@devsnc/snowdash';\nimport {\n\tgenerateChildElementId,\n\tgenerateContainerElementId,\n\titemsExistsInModel,\n\tisElementNotInLayout,\n\thasNonLayoutElements,\n\tfindChildByElementId,\n\tisDesignTime,\n\tisRepeater,\n\tisNowModeActive,\n\tisValidModelAndChildren,\n\tarrangeChildrenByIfPredefinedSlot,\n\tignoreCachedStyles,\n\tisConditional\n} from './helpers';\nimport {getStyles, applyStyles, applyQueryStyles} from './styler';\nimport {registerResizeObserver, removeResizeObserver} from './resizeObserver';\nimport {\n\tCONTAINER_ELEMENT,\n\tCHILD_ELEMENT,\n\tATTR_PARENT_TAG,\n\tKEY\n} from './constants';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {WithStyleQueriesIfPresent} from '../registry/mediaQueryRegistry';\n\n/**\n * ChildElement\n * @param model\n * @param item\n * @param child\n * @returns {*|null}\n * @constructor\n */\nconst ChildElement = ({model, item, child}) => {\n\tconst {queries} = model;\n\n\tconst {element_id: elementId} = item;\n\tconst id = generateChildElementId(elementId);\n\tlet hook = {};\n\n\t// handle the runtime, styles for the item.\n\tconst elStyles = get(child, 'data.style', {});\n\tconst defaultStyles = getStyles(item, model, false, elStyles);\n\tconst createHook = child?.data?.hook?.create;\n\n\thook = {\n\t\tcreate: createHook,\n\t\tinsert: ({elm}) => {\n\t\t\telm.defaultStyles = elm.lazyLoadingStyles\n\t\t\t\t? {...defaultStyles, ...elm.lazyLoadingStyles}\n\t\t\t\t: defaultStyles;\n\t\t\tregisterResizeObserver(elm, queries, CHILD_ELEMENT, model);\n\t\t},\n\t\tupdate: ({elm}) => {\n\t\t\tconst previousStyles = elm.defaultStyles;\n\t\t\tif (!isEqual(previousStyles, defaultStyles)) {\n\t\t\t\telm.defaultStyles = elm.lazyLoadingStyles\n\t\t\t\t\t? {...defaultStyles, ...elm.lazyLoadingStyles}\n\t\t\t\t\t: defaultStyles;\n\t\t\t}\n\t\t},\n\t\tdestroy: ({elm}) => removeResizeObserver(elm)\n\t};\n\tset(child, 'data.attrs.id', id);\n\tset(child, 'data.style', defaultStyles);\n\n\tset(child, 'data.hook', hook);\n\n\treturn !isEmpty(elementId) && !isEmpty(child) ? child : null;\n};\n\nconst buildNonLayoutItemsForRuntime = (children, model) => {\n\tconst {childrenWithPredefinedSlot, otherChildren} =\n\t\tarrangeChildrenByIfPredefinedSlot(children);\n\treturn (\n\t\t<Fragment>\n\t\t\t{otherChildren.length ? (\n\t\t\t\t<slot>{renderModalItems(otherChildren, model)}</slot>\n\t\t\t) : null}\n\t\t\t{childrenWithPredefinedSlot.length\n\t\t\t\t? renderModalItems(childrenWithPredefinedSlot, model)\n\t\t\t\t: null}\n\t\t</Fragment>\n\t);\n};\n\n/**\n * buildNonLayoutItems\n * @param children\n * @param model\n * @returns {JSX.Element|null}\n */\nconst buildNonLayoutItems = (children, model) => {\n\tif (hasNonLayoutElements(children, model)) {\n\t\tif (isDesignTime(children)) {\n\t\t\treturn <slot>{renderModalItems(children, model)}</slot>;\n\t\t}\n\t\treturn buildNonLayoutItemsForRuntime(children, model);\n\t}\n\treturn null;\n};\n\n/**\n * renderChildren\n * @param children\n * @param model\n * @returns {*}\n */\nconst renderChildren = (children, model) => {\n\tconst {\n\t\tdefault: {items}\n\t} = model;\n\tconst isStage = isDesignTime(children);\n\treturn items.map((item) => {\n\t\tconst {element_id: elementId} = item;\n\t\tconst child = findChildByElementId(children, elementId, isStage);\n\t\tif (!isEmpty(child) && isDesignTime([child])) {\n\t\t\treturn <ChildElement model={model} item={item} child={child} />;\n\t\t} else if (\n\t\t\t!isEmpty(child) &&\n\t\t\t(isNowModeActive(child) || isRepeater(child))\n\t\t) {\n\t\t\treturn <ChildElement model={model} item={item} child={child} />;\n\t\t} else if (!isEmpty(child) && isConditional(child)) {\n\t\t\treturn <ChildElement model={model} item={item} child={child} />;\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t});\n};\n\n/**\n * buildLayout\n * @param children\n * @param model\n * @param tag\n * @param parentComponentId\n * @param ignoreCache\n * @param includeKey\n * @returns {JSX.Element|null}\n */\nexport const buildLayout = (\n\tchildren,\n\tmodel,\n\ttag,\n\tparentComponentId,\n\tignoreCache = false,\n\tincludeKey = false,\n\tstyleClass\n) => {\n\tconst {queries} = model;\n\tconst id = generateContainerElementId(parentComponentId);\n\tconst keyProp = includeKey ? {key: id} : null;\n\n\t/**\n\t * we want to have the div for empty items to allow users style the page\n\t * body even before they add components to the stage in UI Builder. However,\n\t * we do not need the wrapper \"div\" for empty items (components) to render\n\t * the layout.\n\t */\n\treturn itemsExistsInModel(model) || isDesignTime(children) ? (\n\t\t<div\n\t\t\tid={id}\n\t\t\t{...keyProp}\n\t\t\thook={{\n\t\t\t\tinsert: ({elm}) => {\n\t\t\t\t\tconst defaultStyles = getStyles(null, model, true);\n\t\t\t\t\telm.defaultStyles = defaultStyles;\n\t\t\t\t\tregisterResizeObserver(\n\t\t\t\t\t\telm,\n\t\t\t\t\t\tqueries,\n\t\t\t\t\t\tCONTAINER_ELEMENT,\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\tchildren\n\t\t\t\t\t);\n\t\t\t\t\tapplyStyles(elm, null, model, true, {}, ignoreCache);\n\t\t\t\t},\n\t\t\t\tupdate: ({elm}) => {\n\t\t\t\t\tconst currentStyle = getStyles(null, model, true);\n\t\t\t\t\tconst previousStyle = elm.defaultStyles;\n\t\t\t\t\tif (!isEqual(currentStyle, previousStyle)) {\n\t\t\t\t\t\telm.defaultStyles = currentStyle;\n\t\t\t\t\t}\n\t\t\t\t\tapplyStyles(elm, null, model, true, {}, ignoreCache);\n\t\t\t\t\tapplyQueryStyles(elm, currentStyle, queries, CONTAINER_ELEMENT);\n\t\t\t\t},\n\t\t\t\tdestroy: ({elm}) => removeResizeObserver(elm)\n\t\t\t}}\n\t\t\t{...(styleClass ? {className: styleClass} : {})}\n\t\t\tattr-parent-tag={tag}\n\t\t\tattr-parent-component-id={parentComponentId}\n\t\t\tattr-layout-tag={true}>\n\t\t\t{!isEmpty(children) ? renderChildren(children, model) : null}\n\t\t</div>\n\t) : null;\n};\n\n/**!\n * renderModalItems\n * @param children\n * @param model\n * @returns {*}\n */\nconst renderModalItems = (children, model) => {\n\tconst designTime = isDesignTime(children);\n\n\treturn (\n\t\t<WithStyleQueriesIfPresent>\n\t\t\t{children.map((child) => {\n\t\t\t\t// we return all such elements those are in composition but not likely\n\t\t\t\t//  be part of the layout model\n\t\t\t\tif (isElementNotInLayout(child, model, designTime)) {\n\t\t\t\t\treturn child;\n\t\t\t\t}\n\t\t\t})}\n\t\t</WithStyleQueriesIfPresent>\n\t);\n};\n\n/**\n * GenerateLayout\n * @param model\n * @param tag\n * @param children\n * @returns {JSX.Element}\n * @constructor\n */\nexport const GenerateLayout = ({model, ...restAttributes}, children) => {\n\tconst tag = restAttributes[ATTR_PARENT_TAG];\n\tconst parentComponentId = restAttributes['attr-parent-component-id'];\n\tconst includeKey = restAttributes[KEY];\n\tconst {\n\t\tdefault: {type}\n\t} = model;\n\tconst ignoreCache = ignoreCachedStyles(parentComponentId, type);\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{/* Render child items that are part of the layout to the containing DIV wrapper */}\n\t\t\t{isValidModelAndChildren(model, children) &&\n\t\t\t\tbuildLayout(\n\t\t\t\t\tchildren,\n\t\t\t\t\tmodel,\n\t\t\t\t\ttag,\n\t\t\t\t\tparentComponentId,\n\t\t\t\t\tignoreCache,\n\t\t\t\t\tincludeKey,\n\t\t\t\t\trestAttributes['style-class']\n\t\t\t\t)}\n\n\t\t\t{/* wrapping all elements that aren't a part of the layout to anonymous slot */}\n\t\t\t{isValidModelAndChildren(model, children) &&\n\t\t\t\tbuildNonLayoutItems(children, model)}\n\t\t</Fragment>\n\t);\n};\n","import {get} from '@devsnc/snowdash';\nimport {getNodeId} from '../utils';\nimport {isEmpty} from '@devsnc/snowdash';\nimport {MACROPONENT_VALUE_UPDATED} from '../constants';\nimport {GenerateLayout} from '../layout';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {layoutModelForRepeatersWithLayout} from '../layout/helpers';\nimport {isArray} from '@devsnc/snowdash';\nimport {getStylesDefaultAndQueries, isLayoutV3} from './helpers';\nimport {META_PROP_NAME_STYLE_QUERIES} from '../constants';\nimport {WithStyleQueriesIfPresent} from '../registry/mediaQueryRegistry';\n\nconst WithLayoutIfPresent = ({model, tag, componentId, slot}, ...children) => {\n\tif (!isEmpty(model)) {\n\t\tif (isLayoutV3(model)) {\n\t\t\treturn (\n\t\t\t\t<GenerateLayout\n\t\t\t\t\tmodel={model}\n\t\t\t\t\tattr-parent-tag={tag}\n\t\t\t\t\tattr-parent-component-id={componentId}\n\t\t\t\t\tkey={true}>\n\t\t\t\t\t{children}\n\t\t\t\t</GenerateLayout>\n\t\t\t);\n\t\t} else {\n\t\t\tconst slotProps = slot ? {slot: slot} : null;\n\t\t\treturn (\n\t\t\t\t<sn-layout\n\t\t\t\t\tmodel={model}\n\t\t\t\t\tattr-parent-tag={tag}\n\t\t\t\t\tattr-layout-tag={true}\n\t\t\t\t\t{...slotProps}>\n\t\t\t\t\t{children}\n\t\t\t\t</sn-layout>\n\t\t\t);\n\t\t}\n\t} else {\n\t\treturn <WithStyleQueriesIfPresent>{children}</WithStyleQueriesIfPresent>;\n\t}\n};\n\nconst getRepeaterItemSlots = (repeatWith, repeaterSlotMeta) => {\n\tlet itemSlots = [];\n\trepeatWith.map((item, index) => {\n\t\titemSlots.push(`${repeaterSlotMeta.slug}-${index}`);\n\t});\n\treturn itemSlots;\n};\n\nconst slotExistsInNonViewportSlots = (\n\trepeaterSlotMeta,\n\trepeatWith,\n\tnonViewportSlots\n) => {\n\tconst repeaterItemSlots = getRepeaterItemSlots(repeatWith, repeaterSlotMeta);\n\treturn !isEmpty(repeaterItemSlots.filter((s) => nonViewportSlots.has(s)));\n};\n\nconst buildRepeaterItems = (\n\tnode,\n\trepeaterSlot,\n\trepeatWith,\n\tparentRepeaterItem,\n\tgetChildren,\n\tlayoutModel,\n\tRenderer,\n\trendererDependencies\n) => {\n\tconst nodeId = getNodeId(node);\n\tconst tag = get(node, ['tagName']);\n\tconst {getComponentIdFn: getComponentId} = rendererDependencies;\n\tconst slotProps = repeaterSlot ? {slot: repeaterSlot} : null;\n\tconst componentId = getComponentId(nodeId, parentRepeaterItem);\n\tconst isLayoutDefined = !isEmpty(layoutModel);\n\tconst isLayoutModern = isLayoutV3(layoutModel);\n\tlet updatedLayoutModel = {};\n\tif (isLayoutDefined && isLayoutModern) {\n\t\tupdatedLayoutModel = layoutModelForRepeatersWithLayout(\n\t\t\tnode,\n\t\t\trepeatWith,\n\t\t\tlayoutModel,\n\t\t\trendererDependencies,\n\t\t\tparentRepeaterItem\n\t\t);\n\t}\n\n\tconst slotMeta = get(node, ['slotMeta']);\n\tconst nonViewportSlots = get(node, ['nonViewportSlots']);\n\n\tlet repeaterItems, repeaterItemSlots;\n\tif (slotMeta) {\n\t\trepeaterItemSlots = [\n\t\t\t...getRepeaterItemSlots(repeatWith, slotMeta).filter((s) =>\n\t\t\t\tnonViewportSlots.has(s)\n\t\t\t)\n\t\t];\n\t\trepeaterItems = [\n\t\t\t...repeatWith.filter((item, index) =>\n\t\t\t\tnonViewportSlots.has(`${slotMeta.slug}-${index}`)\n\t\t\t)\n\t\t];\n\t} else {\n\t\trepeaterItems = [...repeatWith];\n\t}\n\n\treturn (\n\t\t<WithLayoutIfPresent\n\t\t\tmodel={isLayoutModern ? updatedLayoutModel : layoutModel}\n\t\t\ttag={tag}\n\t\t\tcomponentId={componentId}\n\t\t\t{...slotProps}>\n\t\t\t{repeaterItems.map((item, index) => {\n\t\t\t\treturn getChildren(nodeId).map((childNode) => {\n\t\t\t\t\tif (slotMeta) {\n\t\t\t\t\t\tchildNode.slot = repeaterItemSlots[index];\n\t\t\t\t\t} else if (\n\t\t\t\t\t\t(!childNode.slot && !isLayoutModern) ||\n\t\t\t\t\t\t(childNode.slot && childNode.slot !== repeaterSlot)\n\t\t\t\t\t) {\n\t\t\t\t\t\tchildNode.slot = repeaterSlot;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst repeaterItem = {\n\t\t\t\t\t\tvalue: item,\n\t\t\t\t\t\tindex: item?.instanceId?.toString() || index,\n\t\t\t\t\t\tparent: parentRepeaterItem,\n\t\t\t\t\t\trepeaterNodeId: nodeId\n\t\t\t\t\t};\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Renderer\n\t\t\t\t\t\t\trenderer={Renderer}\n\t\t\t\t\t\t\tnode={childNode}\n\t\t\t\t\t\t\trepeaterItem={repeaterItem}\n\t\t\t\t\t\t\tparentNode={node}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t})}\n\t\t</WithLayoutIfPresent>\n\t);\n};\n\nconst slotMetaNotInNonViewportSlots = (\n\tslotMeta,\n\tnonViewportSlots,\n\trepeatWith\n) =>\n\tslotMeta &&\n\t(!nonViewportSlots ||\n\t\t!slotExistsInNonViewportSlots(slotMeta, repeatWith, nonViewportSlots));\n\nexport const __testing =\n\tprocess.env.NODE_ENV === 'test'\n\t\t? {\n\t\t\t\tWithLayoutIfPresent,\n\t\t\t\tgetRepeaterItemSlots,\n\t\t\t\tslotExistsInNonViewportSlots\n\t\t  }\n\t\t: void 0;\n\nexport const renderRepeaterNode = (\n\trendererDependencies,\n\t{node, renderer: Renderer, repeaterItem: parentRepeaterItem = null}\n) => {\n\tconst {\n\t\tgetChildrenFn: getChildren,\n\t\tgetResolvedPropValueFn,\n\t\tgetComponentIdFn: getComponentId\n\t} = rendererDependencies;\n\n\tconst [styles, queries] = getStylesDefaultAndQueries(node);\n\tconst hiddenStyles = {...styles, display: 'none'};\n\tconst isHiddenUxValue = get(node, ['isHidden']);\n\tconst isHidden = getResolvedPropValueFn(isHiddenUxValue, parentRepeaterItem);\n\tconst repeatWith = getResolvedPropValueFn(\n\t\tget(node, ['repeatWith']),\n\t\tparentRepeaterItem\n\t);\n\n\tconst styleClassUxValue = get(node, ['styleClass']);\n\tconst styleClass = styleClassUxValue\n\t\t? getResolvedPropValueFn(styleClassUxValue, parentRepeaterItem)\n\t\t: undefined;\n\n\tconst repeaterSlotMeta = get(node, ['slotMeta']);\n\tconst nonViewportSlots = get(node, ['nonViewportSlots']);\n\tconst repeaterSlot = get(node, ['slot']);\n\n\tconst slotProps = repeaterSlot ? {slot: repeaterSlot} : null;\n\tconst layoutModel = get(node, ['layoutJson']);\n\tconst isLayoutModern = isLayoutV3(layoutModel);\n\n\tif (\n\t\t!isArray(repeatWith) ||\n\t\tslotMetaNotInNonViewportSlots(\n\t\t\trepeaterSlotMeta,\n\t\t\tnonViewportSlots,\n\t\t\trepeatWith\n\t\t)\n\t) {\n\t\treturn null;\n\t}\n\n\tconst componentId = getComponentId(node.nodeId, parentRepeaterItem);\n\n\t/*\n\t * Dispatch information on the repeater for UIB's WYSIWYG stage.\n\t * No impact on normal runtime.\n\t */\n\tif (rendererDependencies.dispatchMcpUpdates) {\n\t\trendererDependencies.dispatch(MACROPONENT_VALUE_UPDATED, {\n\t\t\tmacroponentSysId: rendererDependencies.sysId,\n\t\t\trepeaters: {\n\t\t\t\t[node.nodeId]: repeatWith\n\t\t\t}\n\t\t});\n\t}\n\n\treturn (!isEmpty(repeaterSlot) || !isEmpty(repeaterSlotMeta)) &&\n\t\t!isLayoutModern ? (\n\t\t<Fragment>\n\t\t\t{buildRepeaterItems(\n\t\t\t\tnode,\n\t\t\t\trepeaterSlot,\n\t\t\t\trepeatWith,\n\t\t\t\tparentRepeaterItem,\n\t\t\t\tgetChildren,\n\t\t\t\tlayoutModel,\n\t\t\t\tRenderer,\n\t\t\t\trendererDependencies\n\t\t\t)}\n\t\t</Fragment>\n\t) : (\n\t\t<div\n\t\t\tcomponent-id={componentId}\n\t\t\tid={componentId}\n\t\t\t{...(styleClass ? {className: styleClass} : {})}\n\t\t\tstyle={isHidden ? hiddenStyles : styles}\n\t\t\t{...(isEmpty(queries) ? {} : {[META_PROP_NAME_STYLE_QUERIES]: queries})}\n\t\t\tdata-type={node.type.toLowerCase()}\n\t\t\t{...slotProps}>\n\t\t\t{buildRepeaterItems(\n\t\t\t\tnode,\n\t\t\t\trepeaterSlot,\n\t\t\t\trepeatWith,\n\t\t\t\tparentRepeaterItem,\n\t\t\t\tgetChildren,\n\t\t\t\tlayoutModel,\n\t\t\t\tRenderer,\n\t\t\t\trendererDependencies\n\t\t\t)}\n\t\t</div>\n\t);\n};\n","let actionBarsByTranslatorId = {};\n\nexport const addActionBarForTranslator = (translatorId, actionBarId, props) => {\n\tif (!props.actionNodes) return;\n\tif (!actionBarsByTranslatorId[translatorId])\n\t\tactionBarsByTranslatorId[translatorId] = {};\n\tactionBarsByTranslatorId[translatorId][actionBarId] = props.daModel;\n};\n\nexport const getActionbarsForTranslator = (translatorId, context) => {\n\tconst bars = actionBarsByTranslatorId[translatorId] || {};\n\tlet comparingContext = {...context};\n\tif (context.sysId === '-1') {\n\t\tdelete comparingContext.sysId;\n\t\tcomparingContext.isNewRecord = true;\n\t}\n\treturn Object.keys(bars).filter((nowId) => {\n\t\tconst barContext = bars[nowId];\n\t\treturn Object.keys(comparingContext).every(\n\t\t\t(key) => comparingContext[key] === barContext[key]\n\t\t);\n\t});\n};\n\nexport const deleteActionBarsForTranslator = (translatorId) =>\n\tdelete actionBarsByTranslatorId[translatorId];\n","export const intentType = {\n\tDATA_OPERATION: 'data_operation',\n\tDB_OPERATION: 'db_operation'\n};\n\nexport const intentTarget = {\n\tFORM: 'form'\n};\n\nexport const dataOperations = {\n\tGET_FIELD: 'GET_FIELD',\n\tSET_FIELD_VALUE: 'SET_FIELD_VALUE',\n\tEXECUTE_ACTION: 'EXECUTE_ACTION',\n\tEXECUTE_UI_ACTION: 'EXECUTE_UI_ACTION',\n\tSAVE_FORM: 'SAVE_FORM',\n\tCLOSE_OPENED_MODAL: 'CLOSE_OPENED_MODAL',\n\tGET_ACTION_STATE: 'GET_ACTION_STATE'\n};\n\nexport const recordControllerOperations = {\n\t[dataOperations.SET_FIELD_VALUE]: 'CTRL_RECORD#SET_FIELD_VALUE',\n\t[dataOperations.EXECUTE_UI_ACTION]: 'CTRL_RECORD#EXECUTE_UI_ACTION',\n\t[dataOperations.SAVE_FORM]: 'CTRL_RECORD#SAVE_FORM',\n\t[dataOperations.CLOSE_OPENED_MODAL]: 'CTRL_RECORD#CLOSE_OPENED_MODAL'\n};\n\nexport const gFormOperations = {\n\t[dataOperations.SET_FIELD_VALUE]: 'SET_VALUE',\n\t[dataOperations.EXECUTE_UI_ACTION]: 'EXECUTE_UI_ACTION',\n\t[dataOperations.SAVE_FORM]: 'SAVE',\n\t[dataOperations.CLOSE_OPENED_MODAL]: 'CLOSE_OPENED_MODAL'\n};\n\nexport const recordControllerActions = {\n\tFORM_SUBMIT_COMPLETED: 'CTRL_RECORD#FORM_SUBMIT_COMPLETED'\n};\n\nexport const gFormDataBrokerActions = {\n\tFORM_SUBMIT_COMPLETED: 'SN_FORM_DATA_CONNECTED#FORM_SUBMIT_COMPLETED'\n};\n\nexport const feedbackStatus = {\n\tSUCCESS: 'success',\n\tERROR: 'error',\n\tWARN: 'warn'\n};\n\nexport const ACTION_BAR_TRIGGER_ACTION_KEY = 'TRIGGER_ACTION';\nexport const ACTION_BAR_GET_ACTION_STATE_KEY = 'GET_ACTION_STATE';\n\nexport const ACTION_BAR_TAG_NAME = 'now-record-common-uiactionbar';\n","export const deepSearchElement = (selector, root = document.body) => {\n\tlet queue = [root];\n\twhile (queue.length > 0) {\n\t\tconst top = queue.shift();\n\t\tconst ele = top.querySelector(selector);\n\t\tif (ele) return ele;\n\n\t\tconst topShadow = top.shadowRoot;\n\t\tif (topShadow) queue.push(topShadow);\n\t\tconst allSearched = top.querySelectorAll('*');\n\t\tfor (let i = 0; i < allSearched.length; i++) {\n\t\t\tif (allSearched[i].shadowRoot) queue.push(allSearched[i].shadowRoot);\n\t\t}\n\t}\n};\n","import {\n\tINJECTION_POINT_TARGET,\n\tINJECTION_POINT_SOURCE,\n\tUTILITY_PANEL\n} from '../../../constants';\n\nimport {has, isEmpty} from '@devsnc/snowdash';\nimport {deepSearchElement} from '../../../../overridesApiForWysiwyg/utils';\nimport {memoizedFindParentByTagName} from './DomTraversalForUtilityPanel';\n\n/**\n * @description getHoistedContentSourceInfo returns isHoistedContentSource and hoistedPosition in a tuple.\n * @param hoistedContent {Object} - the hoisted content object that has a type, id, and position.\n * This hoisted content object is read from the node's metadata\n */\nexport const getHoistedContentSourceInfo = (hoistedContent) => {\n\tif (isEmpty(hoistedContent)) {\n\t\treturn [false, null];\n\t}\n\tif (\n\t\thoistedContent?.['type'] === INJECTION_POINT_SOURCE &&\n\t\thoistedContent?.['id'] === UTILITY_PANEL\n\t) {\n\t\tconst isHoistedContentSource = true;\n\t\tconst hoistedPosition = hoistedContent['position'];\n\n\t\treturn [isHoistedContentSource, hoistedPosition];\n\t}\n\n\treturn [false, null];\n};\n\n/**\n * @description setHoistedContentMap sets the target element in the hoistedContentElementMap.\n * @param experienceId {string} - ID of the experience that the component is in.\n * @param hoistedContent {Object} - the hoisted content object that has a type, id, and position.\n * This hoisted content object is read from the node's metadata\n * @param hoistedContentElementMap {Object} - initialized to an empty object; this function builds it up\n * This function stores the target element in the hoistedContentElementMap.\n * @param targetElem {HTMLElement} - the target element that the hoisted content source will be injected into.\n */\nexport const setHoistedContentMap = (\n\texperienceId,\n\thoistedContent,\n\thoistedContentElementMap,\n\ttargetElem\n) => {\n\tif (\n\t\thoistedContent?.['type'] === INJECTION_POINT_TARGET &&\n\t\thoistedContent?.['id'] === UTILITY_PANEL &&\n\t\texperienceId !== undefined &&\n\t\thoistedContentElementMap !== null &&\n\t\ttypeof hoistedContentElementMap === 'object'\n\t) {\n\t\tconst hoistedPosition = hoistedContent['position'];\n\t\tif (\n\t\t\thoistedContentElementMap[experienceId] === undefined ||\n\t\t\thoistedContentElementMap[experienceId] === null\n\t\t) {\n\t\t\thoistedContentElementMap[experienceId] = {};\n\t\t}\n\t\tif (\n\t\t\thoistedContentElementMap[experienceId][UTILITY_PANEL] === undefined ||\n\t\t\thoistedContentElementMap[experienceId][UTILITY_PANEL] === null\n\t\t) {\n\t\t\thoistedContentElementMap[experienceId][UTILITY_PANEL] = {};\n\t\t}\n\t\thoistedContentElementMap[experienceId][UTILITY_PANEL][hoistedPosition] =\n\t\t\ttargetElem;\n\t}\n};\n\n/**\n * Builds the hoist attributes to stamp on the element.\n * @param {HTMLElement} hoistedContentTargetElm - The target element for the hoisted content.\n * @param {boolean} isHoistedContentSource - Indicates if the hoisted content is of type source.\n * @param {string} activeHoistedContent - The active hoisted content identifier.\n * @returns {Object} - An object containing the hoist attributes.\n */\nexport const buildHoistAttributes = (\n\thoistedContentTargetElm,\n\tisHoistedContentSource,\n\tactiveHoistedContent\n) => {\n\tconst hoistAttributes = {};\n\n\tconst hasTarget =\n\t\thoistedContentTargetElm !== null && hoistedContentTargetElm !== undefined;\n\tconst shouldStampWithHoistAttrs = isHoistedContentSource && hasTarget;\n\n\tif (shouldStampWithHoistAttrs) {\n\t\thoistAttributes['now-hoist'] = true;\n\t\thoistAttributes['now-hoist-append-to'] = hoistedContentTargetElm;\n\t\tif (activeHoistedContent) {\n\t\t\thoistAttributes['activeHoistedContent'] = activeHoistedContent;\n\t\t}\n\t}\n\treturn hoistAttributes;\n};\n\n/**\n * Function to check if the hoisted content is populated\n * @param {object} hoistedContent - the hoisted content object that has a type, id, and position.\n * @returns {boolean}\n */\nexport const isHoistedContentPopulated = (hoistedContent) => {\n\treturn !!(\n\t\thas(hoistedContent, 'id') &&\n\t\thas(hoistedContent, 'position') &&\n\t\thas(hoistedContent, 'type')\n\t);\n};\n\n/**\n * Function to retrieve the current MCP node by traversing the DOM when the element is a source\n * @param {object} rendererDependencies the current mcp node render dependencies\n * @param {object} screenElementReferencesMap the map of component-ids to their respective screen element references\n * @returns {*} screenElement for the given componentId\n */\nexport const getScreenElement = (\n\trendererDependencies,\n\tscreenElementReferencesMap\n) => {\n\tconst componentId = rendererDependencies?.seismicState?.componentId;\n\tif (!componentId) {\n\t\treturn null;\n\t}\n\n\tif (screenElementReferencesMap[componentId]) {\n\t\treturn screenElementReferencesMap[componentId];\n\t}\n\n\tconst mcpElement = deepSearchElement(`[component-id=\"${componentId}\"]`);\n\tconst screenElement = memoizedFindParentByTagName(\n\t\tmcpElement,\n\t\t'sn-canvas-screen'\n\t);\n\tscreenElementReferencesMap[componentId] = screenElement;\n\treturn screenElement;\n};\n","const findInShadowDomParent = (element, tagName) => {\n\twhile (element) {\n\t\tif (element.tagName === tagName.toUpperCase()) {\n\t\t\treturn element;\n\t\t}\n\t\tif (element.parentElement) {\n\t\t\telement = element.parentElement;\n\t\t} else if (element.getRootNode && element.getRootNode().host) {\n\t\t\telement = element.getRootNode().host;\n\t\t} else {\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn null;\n};\n\nexport const memoizedFindParentByTagName = (element, tagName) => {\n\tconst cache = new Map();\n\n\tconst cacheKey = `${element}-${tagName}`;\n\tif (cache.has(cacheKey)) {\n\t\treturn cache.get(cacheKey);\n\t}\n\n\tconst foundElement = findInShadowDomParent(element, tagName);\n\tcache.set(cacheKey, foundElement);\n\treturn foundElement;\n};\n","import {\n\tMETA_PROP_NAME_APP_CONFIG_SYS_ID,\n\tMETA_PROP_NAME_STYLE_QUERIES,\n\tUTILITY_PANEL,\n\tINJECTION_POINT_SOURCE,\n\tINJECTION_POINT_TARGET,\n\tHOISTED_CONTENT_SOURCE_RENDERED\n} from '../../constants';\nimport {\n\tsetHoistedContentMap,\n\tgetScreenElement,\n\tbuildHoistAttributes\n} from './utils/utilityPanelUtils';\nimport {get, isEmpty} from '@devsnc/snowdash';\nimport {\n\tEXPERIENCE_IDS_BY_APP_CONFIG_SYS_IDS,\n\tgetPagePropertiesForApp\n} from '../../../templateLoader/utils';\n\nconst hoistedContentElementMap = {}; //Given an experience ID stores the hoistedContent Target's Element reference\nconst screenElementReferencesMap = {}; //Maps component ids to respective screen element references\n\nexport const renderHoistedContentMCPNode = ({\n\tnode,\n\thoistedContent,\n\tisShellElement,\n\tcomponentId,\n\tprops,\n\tisLandmark,\n\tgetAppendToMetaObject,\n\tnodeId,\n\trepeaterItem,\n\tslot,\n\tstyleClass,\n\tisHidden,\n\thiddenStyles,\n\tstyles,\n\tmode,\n\thooks,\n\tqueries,\n\tisViewportElement,\n\tskipTabsetRender,\n\tisUxfViewportScreen,\n\textensionPoints,\n\tparentControllerDependencies,\n\trebuildNodeLayoutModel,\n\tlayoutModel,\n\tlayoutStyleClass,\n\tchildrenContent,\n\tElementTagName,\n\tWithLayoutIfPresent,\n\tViewportRenderer,\n\trendererDependencies\n}) => {\n\tconst {\n\t\tsysId,\n\t\tgetResolvedPropValueFn,\n\t\tviewportContents,\n\t\tgetPersistedStateForNodeFn,\n\t\tdispatch,\n\t\tcontextualAppConfigSysId,\n\t\tshellComponentId\n\t} = rendererDependencies;\n\n\ttry {\n\t\tconst {position: hoistedContentPosition, type: hoistedContentType} =\n\t\t\thoistedContent;\n\n\t\tconst experienceId =\n\t\t\tEXPERIENCE_IDS_BY_APP_CONFIG_SYS_IDS[contextualAppConfigSysId];\n\t\tif (isShellElement(node)) {\n\t\t\tprops.nowAppProps = {\n\t\t\t\t...getPagePropertiesForApp(experienceId),\n\t\t\t\tappId: experienceId\n\t\t\t};\n\t\t\tprops[META_PROP_NAME_APP_CONFIG_SYS_ID] = contextualAppConfigSysId;\n\t\t}\n\n\t\tconst isHoistedContentSource =\n\t\t\thoistedContentType === INJECTION_POINT_SOURCE;\n\n\t\tconst hoistedContentTargetElm =\n\t\t\thoistedContentElementMap[experienceId]?.[UTILITY_PANEL]?.[\n\t\t\t\thoistedContentPosition\n\t\t\t]?.elm;\n\n\t\tlet activeHoistedContent;\n\t\tlet isSessionTab = false;\n\t\tlet screenElement;\n\n\t\tif (hoistedContentType === INJECTION_POINT_SOURCE) {\n\t\t\tscreenElement = getScreenElement(\n\t\t\t\trendererDependencies,\n\t\t\t\tscreenElementReferencesMap\n\t\t\t);\n\n\t\t\tif (screenElement.screenData) {\n\t\t\t\tconst screenData = screenElement.screenData;\n\t\t\t\tisSessionTab = !screenData.parent;\n\t\t\t}\n\n\t\t\tif (Object.prototype.hasOwnProperty.call(screenElement, 'screenId')) {\n\t\t\t\tactiveHoistedContent = screenElement['screenId'];\n\t\t\t}\n\t\t}\n\n\t\tisHidden =\n\t\t\ttypeof isHidden === 'string'\n\t\t\t\t? isHidden.toLowerCase() === 'true'\n\t\t\t\t: !!isHidden;\n\n\t\tconst hoistAttributes = buildHoistAttributes(\n\t\t\thoistedContentTargetElm,\n\t\t\tisHoistedContentSource,\n\t\t\tactiveHoistedContent\n\t\t);\n\n\t\tconst elem = (\n\t\t\t<ElementTagName\n\t\t\t\t{...props}\n\t\t\t\tcomponent-id={componentId}\n\t\t\t\t{...(isLandmark ? {['data-landmarkfocus']: isLandmark} : {})}\n\t\t\t\tappend-to-meta={getAppendToMetaObject(nodeId, sysId, repeaterItem)}\n\t\t\t\tslot={slot === 'viewport' ? '' : slot}\n\t\t\t\t{...(styleClass ? {className: styleClass} : {})}\n\t\t\t\tstyle={isHidden ? hiddenStyles : styles}\n\t\t\t\tnow-mode={mode}\n\t\t\t\thook={{...hooks}}\n\t\t\t\t{...hoistAttributes}\n\t\t\t\t{...(isEmpty(queries)\n\t\t\t\t\t? {}\n\t\t\t\t\t: {[META_PROP_NAME_STYLE_QUERIES]: queries})}>\n\t\t\t\t{isViewportElement(node) && !skipTabsetRender(node) ? (\n\t\t\t\t\t<ViewportRenderer\n\t\t\t\t\t\tviewportContent={viewportContents[nodeId]}\n\t\t\t\t\t\tisNonDestructive={get(node, ['isNonDestructive'])}\n\t\t\t\t\t\tgetResolvedPropValueFn={getResolvedPropValueFn}\n\t\t\t\t\t\tgetPersistedStateForNodeFn={getPersistedStateForNodeFn}\n\t\t\t\t\t\tisUxfViewportScreen={isUxfViewportScreen}\n\t\t\t\t\t\tcontextualAppConfigSysId={contextualAppConfigSysId}\n\t\t\t\t\t\tparentComponentId={shellComponentId}\n\t\t\t\t\t\tparentMacroponentSysId={sysId}\n\t\t\t\t\t\textensionPoints={extensionPoints}\n\t\t\t\t\t\tparentControllerDependencies={parentControllerDependencies}\n\t\t\t\t\t\trendererDependencies={rendererDependencies}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t<WithLayoutIfPresent\n\t\t\t\t\tmodel={rebuildNodeLayoutModel(layoutModel)}\n\t\t\t\t\tstyleClass={layoutStyleClass}\n\t\t\t\t\ttag={node.tagName}\n\t\t\t\t\tcomponentId={componentId}>\n\t\t\t\t\t{childrenContent}\n\t\t\t\t</WithLayoutIfPresent>\n\t\t\t</ElementTagName>\n\t\t);\n\n\t\tif (hoistedContentType === INJECTION_POINT_TARGET) {\n\t\t\tsetHoistedContentMap(\n\t\t\t\texperienceId,\n\t\t\t\thoistedContent,\n\t\t\t\thoistedContentElementMap,\n\t\t\t\telem\n\t\t\t);\n\t\t}\n\n\t\tif (hoistedContentType === INJECTION_POINT_SOURCE) {\n\t\t\t//Check ux_globals first to see if the object already exists, only need to do this on first stamping of the source content.\n\t\t\tconst hoistedContentConfiguration =\n\t\t\t\twindow?.ux_globals?.__hoistedContentConfiguration || {};\n\t\t\tconst currentHoistedContent =\n\t\t\t\thoistedContentConfiguration[componentId] || {};\n\t\t\tconst {\n\t\t\t\tactiveHoistedContent: currentActiveHoistedContent,\n\t\t\t\tisHidden: currentIsHidden\n\t\t\t} = currentHoistedContent;\n\n\t\t\tif (\n\t\t\t\tcurrentActiveHoistedContent !== activeHoistedContent ||\n\t\t\t\tcurrentIsHidden !== !!isHidden\n\t\t\t) {\n\t\t\t\twindow.ux_globals.__hoistedContentConfiguration = {\n\t\t\t\t\t...hoistedContentConfiguration,\n\t\t\t\t\t[componentId]: {\n\t\t\t\t\t\tactiveHoistedContent,\n\t\t\t\t\t\tisHidden: !!isHidden\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tif (isSessionTab) {\n\t\t\t\t\tdispatch(HOISTED_CONTENT_SOURCE_RENDERED, {\n\t\t\t\t\t\tcomponentId: componentId,\n\t\t\t\t\t\tactiveHoistedContent,\n\t\t\t\t\t\tisHoistedContentHidden: !!isHidden,\n\t\t\t\t\t\tscreenData: screenElement.screenData\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn elem;\n\t} catch (e) {\n\t\treturn <div attr-error-tag-name={ElementTagName}>{childrenContent}</div>;\n\t}\n};\n","// eslint-disable-next-line no-unused-vars\nimport {createElement, Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {setActionStateForShortcut} from '@servicenow/now-trigger-library';\nimport {nowPriorityLevels} from '@servicenow/ui-core';\n\nimport {has} from '@devsnc/snowdash';\nimport {get, set, isNil} from '@devsnc/snowdash';\nimport {some} from '@devsnc/snowdash';\nimport {klona} from 'klona';\nimport nodeStore from '../macroponentInMemoryStore';\nimport {map} from '@devsnc/snowdash';\nimport {isEmpty} from '@devsnc/snowdash';\nimport {forEach} from '@devsnc/snowdash';\nimport {addActionBarForTranslator} from '../behaviorFactories/translatorBehavior/translatorDAHelpers';\nimport {ACTION_BAR_TAG_NAME} from '../behaviorFactories/translatorBehavior/constants';\nimport {MACROPONENT_CATEGORY} from '../constants';\n\nimport {\n\tSLOT_TYPES,\n\tNOW_UXF_TABSET,\n\tNOW_CONTEXTUAL_SIDEBAR,\n\tUXF_TYPE_VIEWPORT,\n\tinternalActions,\n\tMETA_PROP_NAME_STYLE_QUERIES,\n\tCOMPOSITION_ELEMENT_ID,\n\tCONTAINING_MACROPONENT_SYS_ID,\n\tUXF_VIEWPORT_SCREEN_TAG,\n\tREPEATER_ITEM,\n\tHEADLESS_VIEWPORT_COMPONENT_TAG,\n\tHEADLESS_VIEWPORT_COMPONENT_PROP_VALUES,\n\tMETA_PROP_NAME_APP_CONFIG_SYS_ID,\n\tMETA_PROP_NAME_PARENT_PAGE_COMPONENT_ID,\n\tMETA_PROP_NAME_PARENT_PAGE_MACROPONENT_SYS_ID,\n\tMETA_PROP_NAME_CONTROLLER_MAP,\n\tMETA_PROP_NAME_PARENT_CONTROLLER_DEPENDENCY_MAP,\n\tUXF_EXTENSION_POINT_SINGLE_CONTROLLER_DEPENDENCY_KEY,\n\tMETA_PROP_NAME_SCREEN_CONTROLLER_MAP,\n\tTABS_TYPE\n} from '../constants';\nconst {\n\tUPDATE_CONTEXT_REQUESTED_BY_CONTROLLER_PROP_RESOLVED,\n\tSAVE_CONTROLLER_NODE_TO_TRANSLATOR\n} = internalActions;\n\nimport {\n\tgetMacroponentTagName,\n\tgetScreenActionTransformerTagName,\n\tgetNodeId,\n\tgetRenderedScreens,\n\tisTransactionCancellationEnabled,\n\tshouldRenderOnPriority\n} from '../utils';\n\nimport {GenerateLayout} from '../layout';\nimport {\n\tremoveNamespaceFromComponentId,\n\tgenerateChildElementId,\n\twillRenderNodeInDOM\n} from '../layout/helpers';\nimport {\n\tEXPERIENCE_IDS_BY_APP_CONFIG_SYS_IDS,\n\tgetPagePropertiesForApp\n} from '../../templateLoader/utils';\nimport {\n\tgetStylesDefaultAndQueries,\n\tgetNowAppPropsForViewportRenderer,\n\tisLayoutV3\n} from './helpers';\nimport {isObject} from '@devsnc/snowdash';\nimport {mapValues} from '@devsnc/snowdash';\nimport {WithStyleQueriesIfPresent} from '../registry/mediaQueryRegistry';\nimport {renderHoistedContentMCPNode} from './hoistedContent/renderHoistedContentMCPNode';\nimport {isHoistedContentPopulated} from './hoistedContent/utils/utilityPanelUtils';\n\nconst WithLayoutIfPresent = (\n\t{model, tag, componentId, styleClass},\n\t...children\n) => {\n\tif (!isEmpty(model)) {\n\t\tif (isLayoutV3(model)) {\n\t\t\treturn (\n\t\t\t\t<GenerateLayout\n\t\t\t\t\tmodel={model}\n\t\t\t\t\tattr-parent-tag={tag}\n\t\t\t\t\tstyle-class={styleClass}\n\t\t\t\t\tattr-parent-component-id={componentId}>\n\t\t\t\t\t{children}\n\t\t\t\t</GenerateLayout>\n\t\t\t);\n\t\t} else {\n\t\t\treturn (\n\t\t\t\t<sn-layout model={model} attr-parent-tag={tag} attr-layout-tag={true}>\n\t\t\t\t\t{children}\n\t\t\t\t</sn-layout>\n\t\t\t);\n\t\t}\n\t} else {\n\t\treturn <WithStyleQueriesIfPresent>{children}</WithStyleQueriesIfPresent>;\n\t}\n};\n\nconst getAppendToMetaObject = (\n\tnodeId,\n\tcontainingMacroponentSysId,\n\trepeaterItem\n) => {\n\treturn {\n\t\t[COMPOSITION_ELEMENT_ID]: nodeId,\n\t\t[CONTAINING_MACROPONENT_SYS_ID]: containingMacroponentSysId,\n\t\t[REPEATER_ITEM]: repeaterItem\n\t};\n};\n\nconst skipTabsetRender = (node) => {\n\tconst tabsetNode = tabsetRenderMap.get(node.nodeId);\n\n\treturn (\n\t\tisViewportElement(node) &&\n\t\tnode?.tagName === NOW_UXF_TABSET &&\n\t\ttabsetNode?.skipRender === true\n\t);\n};\n\nconst isViewportElement = (node) => {\n\tconst type = get(node, ['type']);\n\treturn type === 'VIEWPORT';\n};\n\nconst isShellElement = (node) => {\n\treturn node.type === 'SHELL';\n};\n\nconst getAppendToMetaObjectForViewportRenderer = (screenId) => ({\n\t[COMPOSITION_ELEMENT_ID]: screenId\n});\n\nconst getHiddenMode = (isHidden, nodeId, rootNodeId) => {\n\tconst previousMode = nodeStore.get(rootNodeId, `elementsNowMode.${nodeId}`);\n\tconst mode = previousMode !== 'active' && isHidden ? 'suspend' : 'active';\n\tif (previousMode !== mode)\n\t\tnodeStore.set(rootNodeId, `elementsNowMode.${nodeId}`, mode);\n\treturn mode;\n};\n\n/**\n * @param {{\n *\tviewportContent?: ViewportContent,\n *\tisNonDestructive: boolean,\n *\tgetResolvedPropValueFn: function,\n *  getPersistedStateForNodeFn: function,\n *  isUxfViewportScreen: boolean,\n *  contextualAppConfigSysId: String,\n *  parentComponentId: String\n * parentMacroponentSysId: String\n *  extensionPoints: Array\n *  parentControllerDependencies: Object\n * \trendererDependencies: Object\n *  isTabSet: boolean\n * }} props\n */\nconst ViewportRenderer = ({\n\tviewportContent,\n\tisNonDestructive,\n\tgetResolvedPropValueFn,\n\tgetPersistedStateForNodeFn,\n\tisUxfViewportScreen,\n\tcontextualAppConfigSysId,\n\tparentComponentId,\n\tparentMacroponentSysId,\n\textensionPoints,\n\tparentControllerDependencies,\n\trendererDependencies,\n\tisTabSet\n}) => {\n\tif (!viewportContent) return null;\n\t// For destructive viewports, in general, we can render only the current route and throw\n\t// away the rest.\n\t// For destructive TabSet viewports, we additionally keep the screens with dirty macroponents.\n\t// For non-destructive viewports, we need to render all known routes and hide the inactive ones.\n\tconst renderedScreens = getRenderedScreens(\n\t\tisNonDestructive,\n\t\tisUxfViewportScreen,\n\t\tviewportContent,\n\t\tisTabSet\n\t);\n\n\tconst initialMetaPropValuesForMacroponent = {\n\t\t[META_PROP_NAME_APP_CONFIG_SYS_ID]: contextualAppConfigSysId,\n\t\t[META_PROP_NAME_PARENT_PAGE_COMPONENT_ID]: parentComponentId,\n\t\t[META_PROP_NAME_PARENT_PAGE_MACROPONENT_SYS_ID]: parentMacroponentSysId\n\t};\n\n\treturn map(renderedScreens, (content) => {\n\t\tif (!content) return null;\n\n\t\tconst {\n\t\t\tmacroponentSysId,\n\t\t\tmacroponentConfiguration,\n\t\t\tscreenId,\n\t\t\trequestTime,\n\t\t\tscreenKey,\n\t\t\tactiveRoute: {extensionPoint}\n\t\t} = content;\n\t\tconst isActive = isUxfViewportScreen\n\t\t\t? screenKey === get(viewportContent, ['currentScreen', 'screenKey'])\n\t\t\t: screenId === get(viewportContent, ['currentScreen', 'screenId']);\n\n\t\tconst MacroponentTag = getMacroponentTagName(macroponentSysId);\n\t\tconst ScreenActionTransformerTag =\n\t\t\tgetScreenActionTransformerTagName(screenId);\n\t\tconst matchedExtensionPoint = extensionPoints?.find(\n\t\t\t(ep) => ep.sysId === extensionPoint\n\t\t);\n\t\tlet controllerDependencyMap =\n\t\t\tmatchedExtensionPoint?.controllerDependencyMap;\n\t\tlet parentControllerDependencyMap = {};\n\t\t//backward compatibility: allow ep to bind to single extension point without dep key like @data.propname\n\t\tif (matchedExtensionPoint?.controllerElementId)\n\t\t\tcontrollerDependencyMap = {\n\t\t\t\t[UXF_EXTENSION_POINT_SINGLE_CONTROLLER_DEPENDENCY_KEY]:\n\t\t\t\t\tmatchedExtensionPoint.controllerElementId\n\t\t\t};\n\n\t\tconst {dataShell, controllerAliasMap, nowUxfHydrationKey} =\n\t\t\trendererDependencies;\n\t\tconst screenControllerMap = Object.values(\n\t\t\tcontrollerDependencyMap ?? {}\n\t\t).reduce((acc, dataElementId) => {\n\t\t\tconst sysId = dataShell?.dataElements?.[dataElementId]?.definitionSysId;\n\t\t\tlet elementId = dataElementId;\n\t\t\tif (controllerAliasMap && controllerAliasMap[dataElementId])\n\t\t\t\telementId = controllerAliasMap[dataElementId].elementId;\n\n\t\t\tif (sysId) acc[sysId] = elementId;\n\t\t\treturn acc;\n\t\t}, {});\n\n\t\tif (controllerDependencyMap && parentControllerDependencies) {\n\t\t\tconst controllerDepKeys = Object.values(controllerDependencyMap);\n\t\t\tconst controllerDependencies = Object.keys(parentControllerDependencies)\n\t\t\t\t.filter((controllerName) => controllerDepKeys.includes(controllerName))\n\t\t\t\t.reduce(\n\t\t\t\t\t(acc, name) => ({\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t[name]: parentControllerDependencies[name]\n\t\t\t\t\t}),\n\t\t\t\t\t{}\n\t\t\t\t);\n\n\t\t\tif (!isEmpty(controllerDependencies))\n\t\t\t\tparentControllerDependencyMap = {\n\t\t\t\t\t[META_PROP_NAME_PARENT_CONTROLLER_DEPENDENCY_MAP]:\n\t\t\t\t\t\tcontrollerDependencies\n\t\t\t\t};\n\t\t}\n\n\t\tconst metaPropValuesForMacroponent = {\n\t\t\t...initialMetaPropValuesForMacroponent,\n\t\t\t[META_PROP_NAME_CONTROLLER_MAP]: controllerDependencyMap,\n\t\t\t...parentControllerDependencyMap,\n\t\t\t...getPersistedStateForNodeFn(screenId, null)\n\t\t};\n\t\tconst screenProps = {\n\t\t\t[META_PROP_NAME_SCREEN_CONTROLLER_MAP]: screenControllerMap\n\t\t};\n\t\tconst props = mapValues(macroponentConfiguration, (maybeUxValue) => {\n\t\t\tif (isObject(maybeUxValue) && has(maybeUxValue, ['type']))\n\t\t\t\treturn getResolvedPropValueFn(maybeUxValue);\n\t\t\treturn maybeUxValue;\n\t\t});\n\n\t\tif (isTransactionCancellationEnabled()) {\n\t\t\tif (isActive) {\n\t\t\t\tprops['now-mode'] = 'active'; // We must revert the suspend mode we set in Property Change action handler\n\t\t\t}\n\t\t\tif (rendererDependencies.isComponentInView) {\n\t\t\t\tprops.isComponentInView = isActive;\n\t\t\t} else {\n\t\t\t\tprops.isComponentInView = false;\n\t\t\t}\n\t\t} else {\n\t\t\tprops['now-mode'] = isActive ? 'active' : 'suspend';\n\t\t}\n\n\t\tconst nowUxfAppConfigSysId =\n\t\t\tmetaPropValuesForMacroponent.nowUxfAppConfigSysId;\n\t\tconst experienceId =\n\t\t\tEXPERIENCE_IDS_BY_APP_CONFIG_SYS_IDS[nowUxfAppConfigSysId];\n\t\tprops.nowAppProps = getNowAppPropsForViewportRenderer(experienceId);\n\t\tprops.nowUxfHydrationKey = nowUxfHydrationKey;\n\n\t\tlet screenActionTransformerKey = isNonDestructive ? screenId : requestTime;\n\t\t// We always use \"screenId\" for the TabSet as it may have a dirty state macroponent,\n\t\t// which would require to persist the screen. Destructive non-dirty viewports are filtered\n\t\t// by `getRenderedScreens()` function above.\n\t\tif (isTabSet) {\n\t\t\tscreenActionTransformerKey = screenId;\n\t\t}\n\n\t\treturn (\n\t\t\t<ScreenActionTransformerTag\n\t\t\t\tkey={screenActionTransformerKey}\n\t\t\t\tslot={isActive ? 'viewport' : 'inactive'}\n\t\t\t\tnow-mode={isActive ? 'active' : 'suspend'}\n\t\t\t\tnowUxfDelegateDispatch={!isUxfViewportScreen}\n\t\t\t\t{...screenProps}>\n\t\t\t\t<MacroponentTag\n\t\t\t\t\tappend-to-meta={getAppendToMetaObjectForViewportRenderer(screenId)}\n\t\t\t\t\t{...props}\n\t\t\t\t\t{...metaPropValuesForMacroponent}\n\t\t\t\t/>\n\t\t\t</ScreenActionTransformerTag>\n\t\t);\n\t});\n};\n\nconst getTabsSlugForSlot = (id = '') => ({\n\ttype: SLOT_TYPES.TABS,\n\tslug: id\n});\nconst tabsetRenderMap = new Map();\n\n// skip rendering now-uxf-tab-set only when the tabset has viewport routes and route initialization is not complete\nconst skipViewportElementRender = (node, rendererDependencies = {}) =>\n\t(node.tagName === NOW_CONTEXTUAL_SIDEBAR &&\n\t\t!rendererDependencies?.isRouteInitializationCompleted) ||\n\t(node.tagName === NOW_UXF_TABSET &&\n\t\t!!rendererDependencies?.viewportContents?.[node.nodeId] &&\n\t\t!rendererDependencies?.isRouteInitializationCompleted);\n\nexport const __testing =\n\tprocess.env.NODE_ENV === 'test'\n\t\t? {\n\t\t\t\ttabsetRenderMap,\n\t\t\t\tskipTabsetRender,\n\t\t\t\tskipViewportElementRender,\n\t\t\t\tViewportRenderer,\n\t\t\t\tgetAppendToMetaObject\n\t\t  }\n\t\t: void 0;\n\nexport const renderMacroponentNode = (\n\trendererDependencies,\n\t{\n\t\tnode,\n\t\trenderer: Renderer,\n\t\toverriddenComponentId,\n\t\tignoreNodeChildren = false,\n\t\trepeaterItem = null,\n\t\tparentModel = null\n\t},\n\tchildren\n) => {\n\tconst {\n\t\tsysId,\n\t\tcontextualAppConfigSysId,\n\t\tviewportContents,\n\t\ttabsetNonViewportContents,\n\t\tgetChildrenFn: getChildren,\n\t\tgetResolvedPropValueFn,\n\t\tgetPersistedStateForNodeFn,\n\t\tgetComponentIdFn: getComponentId,\n\t\tdescendants,\n\t\tshellComponentId,\n\t\tproxydbNodes,\n\t\tcsdbNode,\n\t\tdispatch,\n\t\tisComponentInView,\n\t\tshouldSetNowPriority,\n\t\tshouldUpdateIntentContext,\n\t\tshouldSaveControllerNode\n\t} = rendererDependencies;\n\tconst ElementTagName =\n\t\tisViewportElement(node) && node.isHeadless\n\t\t\t? HEADLESS_VIEWPORT_COMPONENT_TAG\n\t\t\t: get(node, ['tagName']);\n\tconst [styles, queries] = getStylesDefaultAndQueries(node);\n\tconst nodeId = getNodeId(node);\n\tconst nonViewportSlots = get(\n\t\ttabsetNonViewportContents,\n\t\t`${nodeId}.nonViewportSlots`\n\t);\n\tconst isHiddenUxValue = get(node, ['isHidden']);\n\tconst isHidden = getResolvedPropValueFn(isHiddenUxValue, repeaterItem);\n\tconst mode = getHiddenMode(isHidden, nodeId, shellComponentId);\n\tconst componentId = isEmpty(overriddenComponentId)\n\t\t? getComponentId(nodeId, repeaterItem)\n\t\t: overriddenComponentId;\n\n\t// check if the current node will be placed in the DOM. If not,\n\t// don't bother to even build the full vdom node and its descendant vdom nodes.\n\tif (!willRenderNodeInDOM(node, mode, parentModel)) {\n\t\treturn <ElementTagName component-id={componentId}></ElementTagName>;\n\t}\n\n\tconst styleClassUxValue = get(node, ['styleClass']);\n\tconst styleClass = styleClassUxValue\n\t\t? getResolvedPropValueFn(styleClassUxValue, repeaterItem)\n\t\t: undefined;\n\n\tconst suspendOnViewChange = get(node, 'suspendOnViewChange', false);\n\n\tconst isUxfViewportScreen =\n\t\tget(node, ['tagName']) === UXF_VIEWPORT_SCREEN_TAG;\n\n\tlet props = mapValues(get(node, ['propertyValues'], {}), (propUxValue) => {\n\t\treturn getResolvedPropValueFn(propUxValue, repeaterItem);\n\t});\n\n\tif (shouldSetNowPriority)\n\t\tprops['now-priority'] = shouldRenderOnPriority(node)\n\t\t\t? nowPriorityLevels.MEDIUM\n\t\t\t: nowPriorityLevels.LOW;\n\n\tconst persistedStateForNode = getPersistedStateForNodeFn(\n\t\tnodeId,\n\t\trepeaterItem\n\t);\n\tif (persistedStateForNode) {\n\t\tObject.assign(props, persistedStateForNode);\n\t}\n\tlet resolvedTabItems = [];\n\n\tif (\n\t\tnode?.tagName === NOW_UXF_TABSET &&\n\t\tnode?.type === UXF_TYPE_VIEWPORT &&\n\t\tget(node, 'items', []).length\n\t) {\n\t\tconst resolvableItemAttrs = [\n\t\t\t'label',\n\t\t\t'count',\n\t\t\t'disabled',\n\t\t\t'icon',\n\t\t\t'conditional'\n\t\t];\n\t\t// Node level items isn't a UxValue, but it's members are UxValue\n\t\t//  cloning deep will allow us to avoid any mutations\n\t\tresolvedTabItems = klona(get(node, 'items'));\n\t\tresolvedTabItems.forEach((item, i) => {\n\t\t\tif (item.type === TABS_TYPE.TEMPLATE) {\n\t\t\t\tconst correspondingViewportId = node.nodeId;\n\t\t\t\t// * If the corresponding viewport tabs component/element is a repeater then we consider it as a data driven tab\n\t\t\t\tconst isDataDrivenTab =\n\t\t\t\t\tget(descendants, `[${correspondingViewportId}][${i}].type`, '') ===\n\t\t\t\t\t'REPEATER';\n\t\t\t\tif (isDataDrivenTab) {\n\t\t\t\t\titem.repeatWith = getResolvedPropValueFn(\n\t\t\t\t\t\tdescendants[correspondingViewportId][i]?.repeatWith\n\t\t\t\t\t);\n\t\t\t\t\t// * We need this to map the slots correctly based on the different repeated tab ids.\n\t\t\t\t\tdescendants[correspondingViewportId][i].slotMeta = getTabsSlugForSlot(\n\t\t\t\t\t\titem?.id\n\t\t\t\t\t);\n\n\t\t\t\t\t// attach nonViewportSlots (maintains the set of visited slots) to the Repeater node.\n\t\t\t\t\tdescendants[correspondingViewportId][i].nonViewportSlots =\n\t\t\t\t\t\tnonViewportSlots;\n\t\t\t\t}\n\t\t\t}\n\t\t\tresolvableItemAttrs.forEach((attr) => {\n\t\t\t\tif (has(item, attr)) {\n\t\t\t\t\titem[attr] = getResolvedPropValueFn(item[attr]);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\tprops.items = resolvedTabItems;\n\t}\n\n\tlet extensionPoints = undefined;\n\tlet parentControllerDependencies = undefined;\n\tif (isViewportElement(node)) {\n\t\t// todo - for template tabs, we need to handle the same logic with repeatWith\n\t\t// to defer rendering of tab set\n\t\ttabsetRenderMap.set(nodeId, {\n\t\t\tskipRender: some(resolvedTabItems, ['conditional', undefined])\n\t\t});\n\n\t\textensionPoints = Object.values(descendants)\n\t\t\t.flatMap((child) => child)\n\t\t\t.filter((child) => child.nodeId === node.nodeId)\n\t\t\t.flatMap((node) => node.extensionPoints || []);\n\t\tparentControllerDependencies = proxydbNodes\n\t\t\t? proxydbNodes.reduce((acc, db) => {\n\t\t\t\t\tif (!db.dependencies || isEmpty(db.dependencies)) return acc;\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t[db.nodeId]: Object.keys(db.dependencies).reduce(\n\t\t\t\t\t\t\t(dependencies, dep) => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t...dependencies,\n\t\t\t\t\t\t\t\t\t[dep]: db.dependencies[dep].controllerElementId\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t)\n\t\t\t\t\t};\n\t\t\t  }, {})\n\t\t\t: {};\n\n\t\tif (!node.isHeadless) {\n\t\t\tif (skipViewportElementRender(node, rendererDependencies)) return;\n\t\t\tconst macroponentSubroutes = get(\n\t\t\t\tviewportContents,\n\t\t\t\t[nodeId, 'viewportRoutes'],\n\t\t\t\t[]\n\t\t\t);\n\n\t\t\tconst viewportRoutes = macroponentSubroutes.reduce(\n\t\t\t\t(\n\t\t\t\t\tacc,\n\t\t\t\t\t{\n\t\t\t\t\t\trouteType,\n\t\t\t\t\t\textensionPoint,\n\t\t\t\t\t\torder,\n\t\t\t\t\t\tname,\n\t\t\t\t\t\ticon,\n\t\t\t\t\t\tfields,\n\t\t\t\t\t\toptionalParameters\n\t\t\t\t\t}\n\t\t\t\t) => {\n\t\t\t\t\tconst routeObj = {\n\t\t\t\t\t\trouteType,\n\t\t\t\t\t\textensionPoint,\n\t\t\t\t\t\torder,\n\t\t\t\t\t\tname,\n\t\t\t\t\t\ticon,\n\t\t\t\t\t\tfields,\n\t\t\t\t\t\toptionalParameters,\n\t\t\t\t\t\tcontrollerDependencyMap: extensionPoints?.find(\n\t\t\t\t\t\t\t(ep) => ep.sysId === extensionPoint\n\t\t\t\t\t\t)?.controllerDependencyMap\n\t\t\t\t\t};\n\n\t\t\t\t\tif (acc[routeType]) {\n\t\t\t\t\t\tacc[routeType].push(routeObj);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tacc[routeType] = [routeObj];\n\t\t\t\t\t}\n\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\n\t\t\t// Update viewport props only if route initialization is complete or if the component is a tabset\n\t\t\t// This is to to ensure incorrect tab focus issue does not occur for contextual sidebar component\n\t\t\tif (\n\t\t\t\trendererDependencies?.isRouteInitializationCompleted ||\n\t\t\t\tnode.tagName === NOW_UXF_TABSET\n\t\t\t) {\n\t\t\t\tprops = {\n\t\t\t\t\t...props,\n\t\t\t\t\tviewportRoutes,\n\t\t\t\t\tactiveRoute: get(viewportContents, [\n\t\t\t\t\t\tnodeId,\n\t\t\t\t\t\t'currentScreen',\n\t\t\t\t\t\t'activeRoute'\n\t\t\t\t\t]),\n\t\t\t\t\textensionPoints\n\t\t\t\t};\n\t\t\t}\n\t\t} else {\n\t\t\tprops = {\n\t\t\t\t...props,\n\t\t\t\t...HEADLESS_VIEWPORT_COMPONENT_PROP_VALUES,\n\t\t\t\textensionPoints\n\t\t\t};\n\t\t}\n\t}\n\n\tif (\n\t\tproxydbNodes?.length > 0 &&\n\t\tnode.category === MACROPONENT_CATEGORY.COMPONENT &&\n\t\tObject.keys(node.controllerDependencyMap).length > 0\n\t) {\n\t\tconst controllerDepKeys = Object.values(node.controllerDependencyMap);\n\t\tconst controllerDependencies = proxydbNodes.filter((controller) =>\n\t\t\tcontrollerDepKeys.includes(controller.nodeId)\n\t\t);\n\n\t\tif (!isEmpty(controllerDependencies)) {\n\t\t\tprops[META_PROP_NAME_CONTROLLER_MAP] = node.controllerDependencyMap;\n\t\t\tprops[META_PROP_NAME_PARENT_PAGE_MACROPONENT_SYS_ID] = sysId;\n\t\t\tprops[META_PROP_NAME_PARENT_PAGE_COMPONENT_ID] = shellComponentId;\n\t\t\tprops[META_PROP_NAME_PARENT_CONTROLLER_DEPENDENCY_MAP] =\n\t\t\t\tcontrollerDependencies;\n\t\t}\n\t}\n\n\tconst slot = get(node, ['slot']);\n\tconst layoutModel = get(node, ['layoutJson']);\n\n\tlet layoutStyleClass = (() => {\n\t\tconst styleClassUxValue = !isEmpty(layoutModel)\n\t\t\t? get(layoutModel, ['styleClass'])\n\t\t\t: null;\n\t\treturn styleClassUxValue\n\t\t\t? getResolvedPropValueFn(styleClassUxValue, repeaterItem)\n\t\t\t: undefined;\n\t})();\n\n\tif (ElementTagName === ACTION_BAR_TAG_NAME)\n\t\taddActionBarForTranslator(shellComponentId, componentId, props);\n\n\tconst getNodeChildren = (node) => {\n\t\t// for tab-set, return only the active/previously visited tab contents\n\t\t// otherwise, return children for non tab-set\n\t\treturn node.tagName === NOW_UXF_TABSET\n\t\t\t? getChildren(node.nodeId).filter(\n\t\t\t\t\t(c) =>\n\t\t\t\t\t\t(nonViewportSlots && nonViewportSlots.has(c.slot)) ||\n\t\t\t\t\t\tc.type === 'REPEATER'\n\t\t\t  )\n\t\t\t: getChildren(node.nodeId);\n\t};\n\n\tconst addIdToSlottedContent = (childVnode, childNode) => {\n\t\tif (\n\t\t\tisEmpty(childNode?.slot) ||\n\t\t\t!childVnode ||\n\t\t\tget(childVnode, 'data.attrs.id', null)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tconst childComponentId = get(\n\t\t\tchildVnode,\n\t\t\t['data', 'attrs', 'component-id'],\n\t\t\tnull\n\t\t);\n\t\tconst childId = childComponentId\n\t\t\t? removeNamespaceFromComponentId(childComponentId)\n\t\t\t: childNode?.nodeId;\n\t\tif (childId) {\n\t\t\tset(childVnode, 'data.attrs.id', generateChildElementId(childId));\n\t\t}\n\t};\n\n\tlet childrenContent;\n\ttry {\n\t\tconst isNodeRepeaterDescendentWithLayout =\n\t\t\t!isEmpty(layoutModel) && !isEmpty(repeaterItem);\n\n\t\tconst rebuildNodeLayoutModel = (layoutModel) => {\n\t\t\t// For repeater's descendant that contains layout definition\n\t\t\t// should include the dynamic element_id in context of the\n\t\t\t// repeater as a parent (or grand parent) node.\n\t\t\tif (isNodeRepeaterDescendentWithLayout) {\n\t\t\t\tconst {\n\t\t\t\t\tdefault: {items}\n\t\t\t\t} = layoutModel;\n\t\t\t\tlet updatedItems = [];\n\t\t\t\tforEach(items, (item) => {\n\t\t\t\t\tconst {element_id: elementId} = item;\n\t\t\t\t\tlet updatedElementId = removeNamespaceFromComponentId(\n\t\t\t\t\t\tgetComponentId(elementId, repeaterItem)\n\t\t\t\t\t);\n\t\t\t\t\tconst newItem = {...item, element_id: updatedElementId};\n\t\t\t\t\tupdatedItems.push(newItem);\n\t\t\t\t});\n\t\t\t\treturn {\n\t\t\t\t\t...layoutModel,\n\t\t\t\t\tdefault: {\n\t\t\t\t\t\t...layoutModel.default,\n\t\t\t\t\t\titems: [...updatedItems]\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\t// return the layout model as is for nodes not having\n\t\t\t\t// any overrides with layout model.\n\t\t\t\treturn layoutModel;\n\t\t\t}\n\t\t};\n\n\t\tconst rebuiltLayoutModel = rebuildNodeLayoutModel(layoutModel);\n\n\t\tchildrenContent = ignoreNodeChildren\n\t\t\t? children\n\t\t\t: getNodeChildren(node)\n\t\t\t\t\t.map((childNode) => {\n\t\t\t\t\t\t// include children for now-uxf-tab-set those are either active or previously visited.\n\t\t\t\t\t\t// tabsetContainerRenderRuntime generated the nonViewportSlots containing the set of\n\t\t\t\t\t\t// active/previously visited tab slots.\n\t\t\t\t\t\tif (has(tabsetNonViewportContents, nodeId)) {\n\t\t\t\t\t\t\tfor (const tabContentSlot of nonViewportSlots) {\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t!isEmpty(childNode.slot) &&\n\t\t\t\t\t\t\t\t\ttabContentSlot.indexOf(childNode.slot) > -1\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tconst childVnode = (\n\t\t\t\t\t\t\t\t\t\t<Renderer\n\t\t\t\t\t\t\t\t\t\t\trenderer={Renderer}\n\t\t\t\t\t\t\t\t\t\t\tnode={childNode}\n\t\t\t\t\t\t\t\t\t\t\trepeaterItem={repeaterItem}\n\t\t\t\t\t\t\t\t\t\t\tparentNode={node}\n\t\t\t\t\t\t\t\t\t\t\tparentModel={rebuiltLayoutModel}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\taddIdToSlottedContent(childVnode, childNode);\n\t\t\t\t\t\t\t\t\treturn childVnode;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst childVnode = (\n\t\t\t\t\t\t\t\t<Renderer\n\t\t\t\t\t\t\t\t\trenderer={Renderer}\n\t\t\t\t\t\t\t\t\tnode={childNode}\n\t\t\t\t\t\t\t\t\trepeaterItem={repeaterItem}\n\t\t\t\t\t\t\t\t\tparentNode={node}\n\t\t\t\t\t\t\t\t\tparentModel={rebuiltLayoutModel}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\taddIdToSlottedContent(childVnode, childNode);\n\t\t\t\t\t\t\treturn childVnode;\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.filter((childVnode) => !isNil(childVnode)); // remove any null/undefined children\n\n\t\tconst hiddenStyles = {...styles, display: 'none'};\n\t\tif (slot === 'viewport') {\n\t\t\tconsole.error(\n\t\t\t\t\"Conflict in macroponent composition overrides: 'viewport' slotName is a reserved keyword.\"\n\t\t\t);\n\t\t}\n\n\t\t// Skip rendering viewport elements, when viewportRoutes aren't available\n\t\t//   - contextual sidebar,\n\t\t//   - viewport,\n\t\t//   - exclude tab (as tab configured as viewport are handled in ViewportRenderer)\n\t\tif (isViewportElement(node) && node?.tagName !== NOW_UXF_TABSET) {\n\t\t\tconst viewportRoutes = get(\n\t\t\t\tviewportContents,\n\t\t\t\t[nodeId, 'viewportRoutes'],\n\t\t\t\t[]\n\t\t\t);\n\n\t\t\tif (viewportRoutes.length === 0) return null;\n\t\t}\n\n\t\tlet hooks = rendererDependencies.hooksForLazyLoading;\n\t\tif (\n\t\t\tcsdbNode &&\n\t\t\tnode.nodeId === csdbNode.nodeId &&\n\t\t\tnode.definitionSysId === csdbNode.definitionSysId\n\t\t) {\n\t\t\tconst updateIntentContextPayload = {\n\t\t\t\tproperties: props,\n\t\t\t\tnodeId,\n\t\t\t\tcontainerSysId: sysId,\n\t\t\t\tdefinitionSysId: node.definitionSysId\n\t\t\t};\n\t\t\tif (shouldUpdateIntentContext(updateIntentContextPayload)) {\n\t\t\t\tdispatch(\n\t\t\t\t\tUPDATE_CONTEXT_REQUESTED_BY_CONTROLLER_PROP_RESOLVED,\n\t\t\t\t\tupdateIntentContextPayload\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst insertNode = ({elm}) => {\n\t\t\t\tconst saveControllerNodeToTranslatorPayload = {\n\t\t\t\t\tnode: elm,\n\t\t\t\t\tnodeId,\n\t\t\t\t\tcontainerSysId: sysId,\n\t\t\t\t\tdefinitionSysId: node.definitionSysId\n\t\t\t\t};\n\t\t\t\tif (shouldSaveControllerNode(saveControllerNodeToTranslatorPayload)) {\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tSAVE_CONTROLLER_NODE_TO_TRANSLATOR,\n\t\t\t\t\t\tsaveControllerNodeToTranslatorPayload\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t};\n\t\t\thooks = {\n\t\t\t\tinsert: insertNode\n\t\t\t};\n\t\t}\n\n\t\t// set trigger state to true if the node has triggers\n\t\tif (node?.triggers?.length) {\n\t\t\tnode.triggers.forEach((trigger) => {\n\t\t\t\tsetActionStateForShortcut(componentId, true, {\n\t\t\t\t\tshortcutDefinitionSysId: trigger.id\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\tconst isLandmark = get(props, 'landmark', false);\n\n\t\tif (isTransactionCancellationEnabled() && suspendOnViewChange)\n\t\t\tprops.isComponentInView = isComponentInView;\n\n\t\tif (isShellElement(node)) {\n\t\t\tconst experienceId =\n\t\t\t\tEXPERIENCE_IDS_BY_APP_CONFIG_SYS_IDS[contextualAppConfigSysId];\n\t\t\tprops.nowAppProps = {\n\t\t\t\t...getPagePropertiesForApp(experienceId),\n\t\t\t\tappId: experienceId\n\t\t\t};\n\t\t\tprops[META_PROP_NAME_APP_CONFIG_SYS_ID] = contextualAppConfigSysId;\n\t\t}\n\n\t\t//determine if the current node contains hoistedContent and is populated then call the renderHoistedContentMCPNode function\n\t\tconst hoistedContent = get(node, ['hoistedContent'], {});\n\t\tif (isHoistedContentPopulated(hoistedContent)) {\n\t\t\treturn renderHoistedContentMCPNode({\n\t\t\t\tnode,\n\t\t\t\thoistedContent,\n\t\t\t\tisShellElement,\n\t\t\t\tcomponentId,\n\t\t\t\tprops,\n\t\t\t\tisLandmark,\n\t\t\t\tgetAppendToMetaObject,\n\t\t\t\tnodeId,\n\t\t\t\trepeaterItem,\n\t\t\t\tslot,\n\t\t\t\tstyleClass,\n\t\t\t\tisHidden,\n\t\t\t\thiddenStyles,\n\t\t\t\tstyles,\n\t\t\t\tmode,\n\t\t\t\thooks,\n\t\t\t\tqueries,\n\t\t\t\tisViewportElement,\n\t\t\t\tskipTabsetRender,\n\t\t\t\tisUxfViewportScreen,\n\t\t\t\textensionPoints,\n\t\t\t\tparentControllerDependencies,\n\t\t\t\trebuildNodeLayoutModel,\n\t\t\t\tlayoutModel,\n\t\t\t\tlayoutStyleClass,\n\t\t\t\tchildrenContent,\n\t\t\t\tElementTagName,\n\t\t\t\tWithLayoutIfPresent,\n\t\t\t\tViewportRenderer,\n\t\t\t\trendererDependencies\n\t\t\t});\n\t\t}\n\n\t\tconst elem =\n\t\t\tElementTagName == null ? (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<WithLayoutIfPresent\n\t\t\t\t\t\tmodel={rebuiltLayoutModel}\n\t\t\t\t\t\tstyleClass={layoutStyleClass}\n\t\t\t\t\t\ttag={node.tagName}\n\t\t\t\t\t\tcomponentId={componentId}>\n\t\t\t\t\t\t{childrenContent}\n\t\t\t\t\t</WithLayoutIfPresent>\n\t\t\t\t</Fragment>\n\t\t\t) : (\n\t\t\t\t<ElementTagName\n\t\t\t\t\t{...props}\n\t\t\t\t\tcomponent-id={componentId}\n\t\t\t\t\t{...(isLandmark ? {['data-landmarkfocus']: isLandmark} : {})}\n\t\t\t\t\tappend-to-meta={getAppendToMetaObject(nodeId, sysId, repeaterItem)}\n\t\t\t\t\tslot={slot === 'viewport' ? '' : slot}\n\t\t\t\t\t{...(styleClass ? {className: styleClass} : {})}\n\t\t\t\t\tstyle={isHidden ? hiddenStyles : styles}\n\t\t\t\t\tnow-mode={mode}\n\t\t\t\t\thook={{...hooks}}\n\t\t\t\t\t{...(isEmpty(queries)\n\t\t\t\t\t\t? {}\n\t\t\t\t\t\t: {[META_PROP_NAME_STYLE_QUERIES]: queries})}>\n\t\t\t\t\t{isViewportElement(node) && !skipTabsetRender(node) ? (\n\t\t\t\t\t\t<ViewportRenderer\n\t\t\t\t\t\t\tviewportContent={viewportContents[nodeId]}\n\t\t\t\t\t\t\tisNonDestructive={get(node, ['isNonDestructive'])}\n\t\t\t\t\t\t\tgetResolvedPropValueFn={getResolvedPropValueFn}\n\t\t\t\t\t\t\tgetPersistedStateForNodeFn={getPersistedStateForNodeFn}\n\t\t\t\t\t\t\tisUxfViewportScreen={isUxfViewportScreen}\n\t\t\t\t\t\t\tcontextualAppConfigSysId={contextualAppConfigSysId}\n\t\t\t\t\t\t\tparentComponentId={shellComponentId}\n\t\t\t\t\t\t\tparentMacroponentSysId={sysId}\n\t\t\t\t\t\t\textensionPoints={extensionPoints}\n\t\t\t\t\t\t\tparentControllerDependencies={parentControllerDependencies}\n\t\t\t\t\t\t\trendererDependencies={rendererDependencies}\n\t\t\t\t\t\t\tisTabSet={node.tagName === NOW_UXF_TABSET}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t\t<WithLayoutIfPresent\n\t\t\t\t\t\tmodel={rebuiltLayoutModel}\n\t\t\t\t\t\tstyleClass={layoutStyleClass}\n\t\t\t\t\t\ttag={node.tagName}\n\t\t\t\t\t\tcomponentId={componentId}>\n\t\t\t\t\t\t{childrenContent}\n\t\t\t\t\t</WithLayoutIfPresent>\n\t\t\t\t</ElementTagName>\n\t\t\t);\n\t\treturn elem;\n\t} catch (e) {\n\t\treturn <div attr-error-tag-name={ElementTagName}>{childrenContent}</div>;\n\t}\n};\n\nexport const exportForTesting = {getTabsSlugForSlot};\n","import {get, isEmpty} from '@devsnc/snowdash';\nimport {getNodeId} from '../utils';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {isLayoutV3} from './helpers';\nimport {WithStyleQueriesIfPresent} from '../registry/mediaQueryRegistry';\nimport {GenerateLayout} from '../layout';\n\nconst WithLayoutIfPresent = ({model, tag, componentId, slot}, ...children) => {\n\tif (!isEmpty(model)) {\n\t\tif (isLayoutV3(model)) {\n\t\t\treturn (\n\t\t\t\t<GenerateLayout\n\t\t\t\t\tmodel={model}\n\t\t\t\t\tattr-parent-tag={tag}\n\t\t\t\t\tattr-parent-component-id={componentId}\n\t\t\t\t\tkey={true}>\n\t\t\t\t\t{children}\n\t\t\t\t</GenerateLayout>\n\t\t\t);\n\t\t} else {\n\t\t\tconst slotProps = slot ? {slot: slot} : null;\n\t\t\treturn (\n\t\t\t\t<sn-layout model={model} attr-parent-tag={tag} {...slotProps}>\n\t\t\t\t\t{children}\n\t\t\t\t</sn-layout>\n\t\t\t);\n\t\t}\n\t} else {\n\t\treturn <WithStyleQueriesIfPresent>{children}</WithStyleQueriesIfPresent>;\n\t}\n};\n\nexport const buildConditionalNode = (\n\tRenderer,\n\tconditionalNode,\n\trepeaterItem,\n\tnode\n) => {\n\treturn (\n\t\t<Renderer\n\t\t\trenderer={Renderer}\n\t\t\tnode={conditionalNode}\n\t\t\trepeaterItem={repeaterItem}\n\t\t\tparentNode={node}\n\t\t/>\n\t);\n};\n\nexport const renderConditionalNode = (\n\trendererDependencies,\n\t{node, renderer: Renderer, repeaterItem = null, parentNode = null}\n) => {\n\tconst {\n\t\tgetChildrenFn: getChildren,\n\t\tgetComponentIdFn: getComponentId,\n\t\tgetResolvedPropValueFn\n\t} = rendererDependencies;\n\n\tconst nodeId = getNodeId(node);\n\tconst conditionalSlot = get(node, ['slot']);\n\tconst componentId = getComponentId(node.nodeId, repeaterItem);\n\tconst slotProps = conditionalSlot ? {slot: conditionalSlot} : null;\n\tconst tag = get(node, ['tagName']);\n\tconst parentNodeLayout = get(parentNode, ['layoutJson']);\n\n\tconst children = getChildren(nodeId);\n\tfor (let i = 0; i < children.length; i++) {\n\t\tconst conditionalNode = children[i];\n\t\tconst evaluatedCondition = conditionalNode.conditional\n\t\t\t? getResolvedPropValueFn(conditionalNode.conditional, repeaterItem)\n\t\t\t: true;\n\t\tif (evaluatedCondition) {\n\t\t\tconst shouldRenderInsideDiv =\n\t\t\t\tparentNodeLayout?.default?.items?.some(\n\t\t\t\t\t(singleItem) => singleItem.element_id === nodeId\n\t\t\t\t) ?? false;\n\n\t\t\tif (shouldRenderInsideDiv) {\n\t\t\t\treturn (\n\t\t\t\t\t<div\n\t\t\t\t\t\tcomponent-id={componentId}\n\t\t\t\t\t\tid={componentId}\n\t\t\t\t\t\tdata-type={node.type.toLowerCase()}\n\t\t\t\t\t\tstyle={{display: 'contents'}}\n\t\t\t\t\t\t{...slotProps}>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t<WithLayoutIfPresent\n\t\t\t\t\t\t\t\tmodel={null}\n\t\t\t\t\t\t\t\ttag={tag}\n\t\t\t\t\t\t\t\tcomponentId={componentId}\n\t\t\t\t\t\t\t\tslot={null}>\n\t\t\t\t\t\t\t\t{buildConditionalNode(\n\t\t\t\t\t\t\t\t\tRenderer,\n\t\t\t\t\t\t\t\t\tconditionalNode,\n\t\t\t\t\t\t\t\t\trepeaterItem,\n\t\t\t\t\t\t\t\t\tnode\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</WithLayoutIfPresent>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tconditionalNode.slot = conditionalSlot;\n\t\t\t\treturn (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{buildConditionalNode(\n\t\t\t\t\t\t\tRenderer,\n\t\t\t\t\t\t\tconditionalNode,\n\t\t\t\t\t\t\trepeaterItem,\n\t\t\t\t\t\t\tnode\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\treturn null;\n};\n","import {\n\tCOMPOSITION_ELEMENT_ID,\n\tCONTAINING_MACROPONENT_SYS_ID,\n\tinternalActions\n} from '../constants';\nimport {getControllerDependencyProp} from '../utils';\nimport {isArray} from '@devsnc/snowdash';\nimport {map} from '@devsnc/snowdash';\nimport {isExplicitEventMappingRequired} from './helpers';\nimport {mapValues} from '@devsnc/snowdash';\n\nconst {\n\tUPDATE_CONTEXT_REQUESTED_BY_CONTROLLER_PROP_RESOLVED,\n\tSAVE_CONTROLLER_NODE_TO_TRANSLATOR\n} = internalActions;\n\nconst getAppendToMetaObject = (nodeId, containingMacroponentSysId) => {\n\treturn {\n\t\t[COMPOSITION_ELEMENT_ID]: nodeId,\n\t\t[CONTAINING_MACROPONENT_SYS_ID]: containingMacroponentSysId\n\t};\n};\n\nexport const renderProxyDataResourceMultiInstanceNodes = (\n\tcontrollerNodeIdsWithGlideForm,\n\tdispatch,\n\trenderDependencies,\n\tchildren\n) => {\n\tconst {\n\t\tsysId,\n\t\tgetResolvedPropValueFn,\n\t\tgetPersistedStateForNodeFn,\n\t\tgetComponentIdFn,\n\t\tproxydbNodes,\n\t\tnowAppProps,\n\t\tdataShell,\n\t\tnowUxfHydrationKey,\n\t\tshouldUpdateIntentContext,\n\t\tshouldSaveControllerNode\n\t} = renderDependencies;\n\n\tif (!isArray(proxydbNodes)) return null;\n\n\treturn map(proxydbNodes, (proxydbNode) => {\n\t\tconst {\n\t\t\tpropertyValues,\n\t\t\tnodeId,\n\t\t\ttagName: ElementTagName,\n\t\t\tderived,\n\t\t\tdefinitionSysId\n\t\t} = proxydbNode;\n\n\t\tif (derived) return null;\n\n\t\tconst props = mapValues(propertyValues, (propertyUxValue) =>\n\t\t\tgetResolvedPropValueFn(propertyUxValue)\n\t\t);\n\t\tconst persistedStateForNode = getPersistedStateForNodeFn(nodeId);\n\t\tif (persistedStateForNode) {\n\t\t\tObject.assign(props, persistedStateForNode);\n\t\t}\n\n\t\tconst componentId = getComponentIdFn(nodeId);\n\n\t\tconst dependencyProps = {};\n\t\tObject.entries(proxydbNode.dependencies).map(([_, depObj]) => {\n\t\t\tdepObj.dependencyProps.map((dataProp) => {\n\t\t\t\tconst dataBindingUxValue = {\n\t\t\t\t\ttype: 'DATA_OUTPUT_BINDING',\n\t\t\t\t\tbinding: {\n\t\t\t\t\t\taddress: [depObj.controllerElementId, dataProp]\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tconst evaluated = getResolvedPropValueFn(dataBindingUxValue);\n\t\t\t\tconst dependencyPropName = getControllerDependencyProp(\n\t\t\t\t\tdepObj.name,\n\t\t\t\t\tdataProp\n\t\t\t\t);\n\t\t\t\tdependencyProps[dependencyPropName] = evaluated;\n\t\t\t});\n\t\t});\n\t\tconst updateIntentContextPayload = {\n\t\t\tproperties: props,\n\t\t\tnodeId,\n\t\t\tcontainerSysId: sysId,\n\t\t\tdefinitionSysId\n\t\t};\n\t\tif (shouldUpdateIntentContext(updateIntentContextPayload)) {\n\t\t\tdispatch(\n\t\t\t\tUPDATE_CONTEXT_REQUESTED_BY_CONTROLLER_PROP_RESOLVED,\n\t\t\t\tupdateIntentContextPayload\n\t\t\t);\n\t\t}\n\n\t\tconst insertNode = ({elm}) => {\n\t\t\tconst saveControllerNodeToTranslatorPayload = {\n\t\t\t\tnode: elm,\n\t\t\t\tnodeId,\n\t\t\t\tcontainerSysId: sysId,\n\t\t\t\tdefinitionSysId\n\t\t\t};\n\t\t\tif (shouldSaveControllerNode(saveControllerNodeToTranslatorPayload)) {\n\t\t\t\tdispatch(\n\t\t\t\t\tSAVE_CONTROLLER_NODE_TO_TRANSLATOR,\n\t\t\t\t\tsaveControllerNodeToTranslatorPayload\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\t\tconst hooks = {\n\t\t\tinsert: insertNode\n\t\t};\n\n\t\tconst requireExplicitEventMapping = isExplicitEventMappingRequired(\n\t\t\tnodeId,\n\t\t\tcontrollerNodeIdsWithGlideForm,\n\t\t\tdataShell\n\t\t);\n\t\tconst extraProps = requireExplicitEventMapping\n\t\t\t? {requireExplicitEventMapping}\n\t\t\t: {};\n\n\t\treturn (\n\t\t\t<ElementTagName\n\t\t\t\t{...{...props, nowAppProps, ...extraProps, nowUxfHydrationKey}}\n\t\t\t\t{...dependencyProps}\n\t\t\t\tcomponent-id={componentId}\n\t\t\t\thook={{...hooks}}\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: controllerNodeIdsWithGlideForm?.includes(nodeId)\n\t\t\t\t\t\t? 'initial'\n\t\t\t\t\t\t: 'none'\n\t\t\t\t}}\n\t\t\t\tappend-to-meta={getAppendToMetaObject(nodeId, sysId)}>\n\t\t\t\t{!requireExplicitEventMapping && children}\n\t\t\t</ElementTagName>\n\t\t);\n\t});\n};\n","import {isNil, isUndefined} from '@devsnc/snowdash';\nimport {META_PROP_NAME_PERSISTED_STATE} from './constants';\n\nexport const getPersistedStateForNode = (\n\tpersistedStateInContext,\n\tnodeId,\n\trepeaterItem\n) => {\n\tif (isUndefined(persistedStateInContext)) return;\n\n\tlet nodeIdInPersistedState = nodeId;\n\tif (!isNil(repeaterItem?.index)) {\n\t\tnodeIdInPersistedState = `${nodeId}->${repeaterItem.index}`;\n\t}\n\n\tconst persistedStateForNode =\n\t\tpersistedStateInContext?.[nodeIdInPersistedState];\n\n\treturn {\n\t\t[META_PROP_NAME_PERSISTED_STATE]: persistedStateForNode ?? null\n\t};\n};\n","// This import is required for tectonic magic to work\n// eslint-disable-next-line no-unused-vars\nimport {createElement, Fragment} from '@servicenow/ui-renderer-snabbdom';\n\nimport {get} from '@devsnc/snowdash';\nimport {partial} from '@devsnc/snowdash';\nimport resolveForView from './UxValueResolver/resolveForView';\nimport {\n\tIS_MACROPONENT_READY,\n\tMETA_PROP_NAME_APP_CONFIG_SYS_ID,\n\tMETA_PROP_NAME_HYDRATION_KEY,\n\tMETA_PROP_NAME_PERSISTED_STATE\n} from './constants';\nimport {noop} from '@devsnc/snowdash';\nimport {\n\tgetActionTransformerTagName,\n\tgetNamespacedComponentId,\n\tgetNodeId,\n\tgetNodeIds,\n\tshouldRenderOnPriority\n} from './utils';\nimport {\n\trenderMacroponentNode,\n\trenderRepeaterNode,\n\trenderConditionalNode,\n\trenderProxyDataResourceMultiInstanceNodes\n} from './nodeRenderers';\nimport getResolversForView from '../factory/UxValueResolver/getResolversForView';\nimport performanceLogger from '../utils/puppeteerMetricLogger';\nimport {isObject} from '@devsnc/snowdash';\nimport {getPersistedStateForNode} from './getPersistedStateForNode';\nimport {shouldRenderRecordControllerAsSibling} from './nodeRenderers/helpers';\nimport {getHooksForLazyLoading} from './behaviorFactories/lazyLoading/lazyLoadingUtils';\n\n/**\n * @typedef {import(\"../types/internals/ViewportRuntime\").ViewportContent} ViewportContent\n */\n\nconst getChildren = (descendants, nodeId) => {\n\treturn get(descendants, nodeId, []);\n};\n\nconst WhenMacroponentIsReady = ({isReady = true}, children) => {\n\treturn <div style={{display: isReady ? 'contents' : 'none'}}>{children}</div>;\n};\n\nconst WithCSDBIfPresent = (\n\t{renderer: Renderer, csdbNode, csdbComponentId},\n\tchildren\n) => {\n\treturn isObject(csdbNode) ? (\n\t\t<Renderer\n\t\t\toverriddenComponentId={csdbComponentId}\n\t\t\trenderer={noop}\n\t\t\tnode={csdbNode}\n\t\t\tignoreNodeChildren={true}>\n\t\t\t{children}\n\t\t\t<slot />\n\t\t</Renderer>\n\t) : (\n\t\tchildren\n\t);\n};\n\nconst renderNode = (\n\trendererDependencies,\n\t{\n\t\tnode,\n\t\trenderer,\n\t\toverriddenComponentId,\n\t\tignoreNodeChildren = false,\n\t\trepeaterItem = null,\n\t\tparentNode = null,\n\t\tparentModel = null\n\t},\n\tchildren\n) => {\n\tif (node.type === 'REPEATER') {\n\t\treturn renderRepeaterNode(rendererDependencies, {\n\t\t\tnode,\n\t\t\trenderer,\n\t\t\trepeaterItem\n\t\t});\n\t} else if (node.type === 'CONDITIONAL') {\n\t\treturn renderConditionalNode(rendererDependencies, {\n\t\t\tnode,\n\t\t\trenderer,\n\t\t\trepeaterItem,\n\t\t\tparentNode\n\t\t});\n\t} else {\n\t\treturn renderMacroponentNode(\n\t\t\trendererDependencies,\n\t\t\t{\n\t\t\t\tnode,\n\t\t\t\trenderer,\n\t\t\t\toverriddenComponentId,\n\t\t\t\tignoreNodeChildren,\n\t\t\t\trepeaterItem,\n\t\t\t\tparentModel\n\t\t\t},\n\t\t\tchildren\n\t\t);\n\t}\n};\n\nexport const getMacroponentView = (\n\ttree,\n\tmacroponentPropertyDefinitions,\n\tcontrollerNodeIdsWithGlideForm,\n\tdispatchMcpUpdates = false\n) => {\n\tconst {\n\t\tid,\n\t\trootNode,\n\t\tdescendants,\n\t\tclientStateDataBrokerNode: csdbNode,\n\t\tproxyDataBrokerNodes: proxydbNodes,\n\t\texternalControllerDependencies,\n\t\tcontrollerAliasMap,\n\t\tdataShell\n\t} = tree;\n\tconst getChildrenFn = partial(getChildren, descendants);\n\tconst csdbNodeId = getNodeId(csdbNode);\n\tconst pdbNodeIds = getNodeIds(proxydbNodes);\n\n\tconst resolversForView = getResolversForView(\n\t\tid,\n\t\tmacroponentPropertyDefinitions,\n\t\tcsdbNodeId,\n\t\tpdbNodeIds,\n\t\texternalControllerDependencies,\n\t\tproxydbNodes,\n\t\tcontrollerAliasMap\n\t);\n\n\tconst shouldSetNowPriority = shouldRenderOnPriority(rootNode);\n\n\treturn (seismicState, seismicHelper) => {\n\t\tperformanceLogger.mark('view_render');\n\n\t\tconst {\n\t\t\tcomponentId: shellComponentId,\n\t\t\tproperties: seismicProperties,\n\t\t\tbehaviors,\n\t\t\t[IS_MACROPONENT_READY]: isMacroponentReady\n\t\t} = seismicState;\n\n\t\tconst {updateState, dispatch} = seismicHelper;\n\n\t\tconst viewportContents = get(\n\t\t\tbehaviors,\n\t\t\t['viewportRuntime', 'viewports'],\n\t\t\t{}\n\t\t);\n\n\t\tconst isRouteInitializationCompleted = get(\n\t\t\tbehaviors,\n\t\t\t['viewportRuntime', 'isRouteInitializationCompleted'],\n\t\t\tfalse\n\t\t);\n\n\t\tconst getComponentIdFn = partial(\n\t\t\tgetNamespacedComponentId,\n\t\t\tshellComponentId\n\t\t);\n\n\t\tconst tabsetNonViewportContents = get(\n\t\t\tbehaviors,\n\t\t\t['tabsetRuntime', 'elements'],\n\t\t\t{}\n\t\t);\n\n\t\tconst shouldUpdateIntentContext = get(\n\t\t\tbehaviors,\n\t\t\t['translatorBehavior', 'shouldUpdateIntentContext'],\n\t\t\t() => false\n\t\t);\n\n\t\tconst shouldSaveControllerNode = get(\n\t\t\tbehaviors,\n\t\t\t['translatorBehavior', 'shouldSaveControllerNode'],\n\t\t\t() => false\n\t\t);\n\n\t\tconst nowUxfHydrationKey = seismicProperties[META_PROP_NAME_HYDRATION_KEY];\n\n\t\tconst csdbComponentId = getComponentIdFn(csdbNodeId);\n\t\tconst {\n\t\t\t[META_PROP_NAME_APP_CONFIG_SYS_ID]: contextualAppConfigSysId,\n\t\t\tnowAppProps,\n\t\t\t[META_PROP_NAME_PERSISTED_STATE]: persistedState,\n\t\t\tisComponentInView\n\t\t} = seismicProperties;\n\n\t\tconst getResolvedPropValueFn = partial(\n\t\t\tresolveForView,\n\t\t\tresolversForView,\n\t\t\tseismicProperties,\n\t\t\tseismicState\n\t\t);\n\n\t\tconst getPersistedStateForNodeFn = partial(\n\t\t\tgetPersistedStateForNode,\n\t\t\tpersistedState\n\t\t);\n\n\t\tconst hooksForLazyLoading = getHooksForLazyLoading(id, shellComponentId);\n\n\t\tconst MacroponentNodeRenderer = partial(renderNode, {\n\t\t\tsysId: id, // sysId of the enclosing macroponent\n\t\t\tviewportContents,\n\t\t\ttabsetNonViewportContents,\n\t\t\tisRouteInitializationCompleted,\n\t\t\tgetChildrenFn,\n\t\t\tgetResolvedPropValueFn,\n\t\t\tgetPersistedStateForNodeFn,\n\t\t\tgetComponentIdFn,\n\t\t\tcontextualAppConfigSysId,\n\t\t\tdescendants,\n\t\t\tshellComponentId,\n\t\t\trootNode,\n\t\t\tproxydbNodes,\n\t\t\tseismicState,\n\t\t\tupdateState,\n\t\t\tcsdbNode,\n\t\t\tdispatch,\n\t\t\tdispatchMcpUpdates,\n\t\t\tdataShell,\n\t\t\tcontrollerAliasMap,\n\t\t\tisComponentInView,\n\t\t\tshouldSetNowPriority,\n\t\t\thooksForLazyLoading,\n\t\t\tnowUxfHydrationKey,\n\t\t\tshouldUpdateIntentContext,\n\t\t\tshouldSaveControllerNode\n\t\t});\n\t\tconst actionTransformerTagName = getActionTransformerTagName(id);\n\n\t\tconst ProxyDataResourceMultiInstanceNodes = partial(\n\t\t\trenderProxyDataResourceMultiInstanceNodes,\n\t\t\tcontrollerNodeIdsWithGlideForm,\n\t\t\tdispatch\n\t\t);\n\n\t\tconst macroponentViewContent = shouldRenderRecordControllerAsSibling(\n\t\t\tcontrollerNodeIdsWithGlideForm,\n\t\t\tdataShell\n\t\t) ? (\n\t\t\t<WhenMacroponentIsReady isReady={isMacroponentReady}>\n\t\t\t\t<ProxyDataResourceMultiInstanceNodes\n\t\t\t\t\t{...{\n\t\t\t\t\t\tsysId: id,\n\t\t\t\t\t\tgetResolvedPropValueFn,\n\t\t\t\t\t\tgetPersistedStateForNodeFn,\n\t\t\t\t\t\tgetComponentIdFn,\n\t\t\t\t\t\tproxydbNodes,\n\t\t\t\t\t\tnowAppProps,\n\t\t\t\t\t\tdataShell,\n\t\t\t\t\t\tnowUxfHydrationKey,\n\t\t\t\t\t\tshouldUpdateIntentContext,\n\t\t\t\t\t\tshouldSaveControllerNode\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t<WithCSDBIfPresent\n\t\t\t\t\trenderer={MacroponentNodeRenderer}\n\t\t\t\t\tcsdbComponentId={csdbComponentId}\n\t\t\t\t\tcsdbNode={csdbNode}\n\t\t\t\t\tactionTransformerTagName={actionTransformerTagName}>\n\t\t\t\t\t<MacroponentNodeRenderer\n\t\t\t\t\t\trenderer={MacroponentNodeRenderer}\n\t\t\t\t\t\tnode={rootNode}\n\t\t\t\t\t/>\n\t\t\t\t</WithCSDBIfPresent>\n\t\t\t</WhenMacroponentIsReady>\n\t\t) : (\n\t\t\t<WhenMacroponentIsReady isReady={isMacroponentReady}>\n\t\t\t\t<ProxyDataResourceMultiInstanceNodes\n\t\t\t\t\t{...{\n\t\t\t\t\t\tsysId: id,\n\t\t\t\t\t\tgetResolvedPropValueFn,\n\t\t\t\t\t\tgetPersistedStateForNodeFn,\n\t\t\t\t\t\tgetComponentIdFn,\n\t\t\t\t\t\tproxydbNodes,\n\t\t\t\t\t\tnowAppProps,\n\t\t\t\t\t\tdataShell,\n\t\t\t\t\t\tnowUxfHydrationKey,\n\t\t\t\t\t\tshouldUpdateIntentContext,\n\t\t\t\t\t\tshouldSaveControllerNode\n\t\t\t\t\t}}>\n\t\t\t\t\t<MacroponentNodeRenderer\n\t\t\t\t\t\trenderer={MacroponentNodeRenderer}\n\t\t\t\t\t\tnode={rootNode}\n\t\t\t\t\t/>\n\t\t\t\t</ProxyDataResourceMultiInstanceNodes>\n\t\t\t</WhenMacroponentIsReady>\n\t\t);\n\n\t\tperformanceLogger.measure('View Rendering Time', {\n\t\t\tstart: 'view_render',\n\t\t\tdetail: `mcp ${id}`\n\t\t});\n\n\t\treturn macroponentViewContent;\n\t};\n};\n\nexport default getMacroponentView;\n","/*\n * View Adapter connecting UI Builder stage to UX Framework renderer\n */\nconst macroponenViewAdapters = new Map();\n\n/**\n * sets the adapterMap with UXF macroponent's view renderer\n * @param {string} macroponentId : sys_id of macroponent record\n * @param {Function} viewAdapterFn : adapter function connecting to macroponent view\n * @return void\n */\nexport const setMacroponentViewAdapter = (macroponentId, viewAdapterFn) => {\n\tmacroponenViewAdapters.set(macroponentId, viewAdapterFn);\n};\n\n/**\n * gets the view adapter function for a given macroponent to the other party (e.g. UI Builder)\n * @param {string} macroponentId : sys_id of macroponent record\n * @return {Function} adapter function connecting to macroponent view. The function takes in following arguments\n * @argument rootNode { import(\"../types/generatedTypescript/UxFrameworkTypes\").RTMacroponent }\n * @argument descendants { {[index: string]: import(\"../types/generatedTypescript/UxFrameworkTypes\").RTMacroponent[]} }\n *\n */\nexport const getMacroponentViewAdapter = (macroponentId) =>\n\tmacroponenViewAdapters.get(macroponentId);\n","export const allowedDayjsAPIs = [\n\t'utc',\n\t'tz',\n\t'format',\n\t'isSame',\n\t'isSameOrBefore',\n\t'isSameOrAfter',\n\t'isBefore',\n\t'isAfter',\n\t'valueOf',\n\t'clone',\n\t'add',\n\t'subtract',\n\t'startOf',\n\t'endOf',\n\t'hours',\n\t'minutes',\n\t'diff',\n\t'fromNow',\n\t'toNow',\n\t'isDate',\n\t'utcOffset',\n\t'locale'\n];\n","import {includes} from '@devsnc/snowdash';\nimport dayjs from 'dayjs';\nimport {registerPlugins} from './plugins';\nimport {allowedDayjsAPIs} from './allowedDayjsAPIs';\n\nexport const getNowDateTimeAPIs = () => {\n\tregisterPlugins(dayjs);\n\treturn new Proxy(dayjs, {\n\t\tget: (target, prop) => {\n\t\t\tif (/^$/.test(prop)) {\n\t\t\t\tthrow new Error(`Access to member ${prop} is not allowed`);\n\t\t\t}\n\t\t\treturn target[prop];\n\t\t},\n\t\tapply: (targetFn, ctx, args) => {\n\t\t\treturn new Proxy(targetFn(...args), {\n\t\t\t\tget(target, prop) {\n\t\t\t\t\tif (!includes(allowedDayjsAPIs, prop))\n\t\t\t\t\t\tthrow new Error(`Access to ${prop} is not allowed`);\n\n\t\t\t\t\tconst val = target[prop];\n\t\t\t\t\tif (val instanceof Function) {\n\t\t\t\t\t\treturn (...methodArgs) => {\n\t\t\t\t\t\t\treturn val.apply(target, methodArgs);\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\treturn val;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n};\n","import utc from 'dayjs/plugin/utc';\nimport relativeTime from 'dayjs/plugin/relativeTime';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\nimport advanceFormat from 'dayjs/plugin/advancedFormat';\nimport timezone from 'dayjs/plugin/timezone';\nimport localizedFormat from 'dayjs/plugin/localizedFormat';\n\nexport const registerPlugins = (dayjs) => {\n\t/**\n\t * Register plugin modules to add new features\n\t * Complete list of dayjs plugins:  https://day.js.org/docs/en/plugin/plugin\n\t */\n\tdayjs.extend(utc);\n\tdayjs.extend(timezone);\n\tdayjs.extend(relativeTime);\n\tdayjs.extend(advanceFormat);\n\tdayjs.extend(customParseFormat);\n\tdayjs.extend(localizedFormat);\n};\n","import {getNowDateTimeAPIs} from './dayjs/getNowDateTimeAPIs';\n\n/**\n * getThirdPartyAPIs\n * @returns {{NowDateTime: *}}\n */\nexport const getThirdPartyAPIs = () => {\n\t/**\n\t *  Return all third party libraries to client scripts\n\t */\n\treturn {\n\t\t// NowDateTime library\n\t\tNowDateTime: getNowDateTimeAPIs()\n\n\t\t// Add more to expose lodash array or collection utility methods\n\t\t// get, set, includes etc.\n\t};\n};\n","/**\n * Global key for attaching intent library runtime to the window object\n */\nconst GLOBAL_KEY = 'uxfIntentLibrary';\n\n/**\n * Global singleton runtime instance attached to `window`.\n * Contains initialized translator and generator chains.\n * Ensures messaging chains and event listeners are registered only once.\n */\nexport const intentLibraryGlobals = (() => {\n\ttry {\n\t\t// Try to access window.top\n\t\treturn (window.top[GLOBAL_KEY] ||= {});\n\t} catch (e) {\n\t\t// If accessing window.top fails (due to cross-origin restrictions),\n\t\t// fall back to using the current window\n\t\treturn (window[GLOBAL_KEY] ||= {});\n\t}\n})();\n","import {intentLibraryGlobals} from '../intentLibraryGlobals.js';\n\nconst GENERATOR_MAP = 'generators';\n\nif (!intentLibraryGlobals[GENERATOR_MAP]) {\n\tintentLibraryGlobals[GENERATOR_MAP] = {};\n}\n\n/**\n * Retrieves the default generator on the page, for fallback when generatorIds are not passed through meta.\n * @returns {GeneratorObject | undefined}\n */\nexport const getDefaultGenerator = () => {\n\tconst generators = Object.values(intentLibraryGlobals[GENERATOR_MAP]);\n\tif (generators.length === 0) {\n\t\tconsole.warn('No registered generators found.');\n\t\treturn;\n\t}\n\n\treturn Object.values(generators).find((generator) => generator.isDefault);\n};\n\nexport const registerDefaultGenerator = (id, value) => {\n\tif (!id) {\n\t\tconsole.error('id param is required to set the default generator.');\n\t\treturn;\n\t}\n\tif (!value) {\n\t\tconsole.error('value param is required to set the default generator.');\n\t\treturn;\n\t}\n\tif (getDefaultGenerator() !== undefined) {\n\t\tconst currentDefaultGenerator = Object.entries(\n\t\t\tintentLibraryGlobals[GENERATOR_MAP]\n\t\t).find(([, generator]) => generator.isDefault);\n\n\t\tconst defaultGeneratorId = currentDefaultGenerator?.[0];\n\n\t\tconsole.error(\n\t\t\t`Generator Registration Rejected - Default generator already set to \"${defaultGeneratorId}\". Cannot override with \"${id}\".` +\n\t\t\t\t`Check if \"${defaultGeneratorId}\" was registered as the default generator intentionally, or use the generatorVersion.V2 option on your behavior to bypass default assignment.`\n\t\t);\n\t\treturn;\n\t}\n\tintentLibraryGlobals[GENERATOR_MAP][id] = {\n\t\t...value,\n\t\tisDefault: true\n\t};\n};\n\n/**\n * Retrieves a generator by ID.\n * @param {string} id\n * @returns {GeneratorObject | undefined}\n */\nexport const getGeneratorById = (id) => {\n\tif (!id) {\n\t\t// TODO - Remove this warning once all generators are updated to use the new generator registry.\n\t\tconsole.warn(\n\t\t\t'No generator ID provided to getGeneratorById(); falling back to default generator.'\n\t\t);\n\t\treturn getDefaultGenerator();\n\t}\n\treturn intentLibraryGlobals[GENERATOR_MAP][id];\n};\n\n/**\n * Returns the full map of registered generators.\n * @returns {Record<string, GeneratorObject>}\n */\nexport const getGenerators = () => intentLibraryGlobals[GENERATOR_MAP];\n\n/**\n * Registers a generator by ID.\n * @param {string} id\n * @param {GeneratorObject} value\n */\nexport const registerGeneratorById = (id, value) => {\n\tif (!id) {\n\t\tconsole.error('id param is required to register the generator.');\n\t\treturn;\n\t}\n\tif (!value) {\n\t\tconsole.error('value param is required to register the generator.');\n\t\treturn;\n\t}\n\tintentLibraryGlobals[GENERATOR_MAP][id] = value;\n};\n\n/**\n * Removes a generator by ID.\n * @param {string} id\n */\nexport const deleteGeneratorById = (id) => {\n\tif (!id) {\n\t\tconsole.error('id param is required to delete the generator.');\n\t\treturn;\n\t}\n\tdelete intentLibraryGlobals[GENERATOR_MAP][id];\n};\n","/**\n * @file constants.js\n * @description Contains all shared constants and action strings used throughout the library-intent-channel runtime.\n */\n\n/**\n * @public\n *\n * Enum of intent-related action types dispatched between generator and translator components.\n */\nexport const intentActions = {\n\tINTENT_RECEIVED: 'LIBRARY-INTENT-CHANNEL#INTENT_RECEIVED',\n\tUPDATE_CONTEXT: 'LIBRARY-INTENT-CHANNEL#UPDATE_CONTEXT',\n\tCONTEXT_RECEIVED: 'LIBRARY-INTENT-CHANNEL#CONTEXT_RECEIVED',\n\tREGISTER_TRANSLATOR: 'LIBRARY-INTENT-CHANNEL#REGISTER_TRANSLATOR',\n\tREMOVE_TRANSLATOR: 'LIBRARY-INTENT-CHANNEL#REMOVE_TRANSLATOR',\n\tSEND_INTENT: 'LIBRARY-INTENT-CHANNEL#SEND_INTENT',\n\tSEND_INTENT_BY_TRANSLATOR_CONTEXT_ID:\n\t\t'LIBRARY-INTENT-CHANNEL#SEND_INTENT_BY_TRANSLATOR_CONTEXT_ID',\n\tSET_ACTIVE_CONTEXT: 'LIBRARY-INTENT-CHANNEL#SET_ACTIVE_CONTEXT',\n\tUNSET_ACTIVE_CONTEXT: 'LIBRARY-INTENT-CHANNEL#UNSET_ACTIVE_CONTEXT',\n\tSEND_INTENT_FEEDBACK: 'LIBRARY-INTENT-CHANNEL#SEND_INTENT_FEEDBACK',\n\tCREATE_CONVERSATION_WITH_SKILL:\n\t\t'LIBRARY-INTENT-CHANNEL#CREATE_CONVERSATION_WITH_SKILL',\n\tSEND_SYSTEM_MESSAGE: 'LIBRARY-INTENT-CHANNEL#SEND_SYSTEM_MESSAGE',\n\tINTENT_FEEDBACK_RECEIVED: 'LIBRARY-INTENT-CHANNEL#INTENT_FEEDBACK_RECEIVED',\n\tCONVERSATION_WITH_SKILL_REQUESTED:\n\t\t'LIBRARY-INTENT-CHANNEL#CONVERSATION_WITH_SKILL_REQUESTED',\n\tSYSTEM_MESSAGE_RECEIVED: 'LIBRARY-INTENT-CHANNEL#SYSTEM_MESSAGE_RECEIVED',\n\tBROADCAST_TOPIC_REQUESTED: 'LIBRARY-INTENT-CHANNEL#BROADCAST_TOPIC_REQUESTED',\n\tBROADCAST_TOPIC_RECEIVED: 'LIBRARY-INTENT-CHANNEL#BROADCAST_TOPIC_RECEIVED',\n\tSUBSCRIBE_TO_TOPIC: 'LIBRARY-INTENT-CHANNEL#SUBSCRIBE_TO_TOPIC',\n\tUNSUBSCRIBE_FROM_TOPIC: 'LIBRARY-INTENT-CHANNEL#UNSUBSCRIBE_FROM_TOPIC'\n};\n\n/**\n * @module systemMessageTypes\n *\n * Message types used in system messages.\n */\nexport const systemMessageTypes = {\n\tTRANSLATOR_REMOVED: 'TRANSLATOR_REMOVED'\n};\n\n/**\n * @module intentLocalStorageKeys\n *\n * Keys used to read/write intent-related messages via sessionStorage or localStorage.\n *\n * @type {Object<string, string>}\n */\nexport const intentLocalStorageKeys = {\n\tsendIntent: 'sn_library_intent.send_intent',\n\tupdateContext: 'sn_library_intent.update_context',\n\tactiveTranslatorKey: 'sn_library_intent.active_translator',\n\tsendIntentFeedback: 'sn_library_intent.send_intent_feedback',\n\trequestConversationWithSkill:\n\t\t'sn_library_intent.request_conversation_with_skill',\n\tsendSystemMessage: 'sn_library_intent.send_system_message'\n};\n\n/**\n * Message types used when processing translator-side messaging chains.\n */\nexport const TranslatorMessageType = {\n\tsendIntent: 'sendIntent'\n};\n\n/**\n * Message types used when processing generator-side messaging chains.\n */\nexport const GeneratorMessageType = {\n\tsendContext: 'sendContext',\n\tsendSystemMessage: 'sendSystemMessage',\n\tsendIntentFeedback: 'sendIntentFeedback',\n\trequestConversationWithSkill: 'requestConversationWithSkill'\n};\n\n/**\n * Special delimiter used to separate translator types in compound strings.\n * For example, this is used to encode multiple translator identifiers.\n */\nexport const TRANSLATOR_TYPE_INTENT_DELIMITER = '!#!#!';\n\n/**\n * Generator version identifiers used to manage coexistence between the original singleton-generator architecture\n * and the modern multi-generator model.\n *\n * - `LEGACY` (1): Applies when no `generatorVersion` is provided.\n *   Reflects the original architecture where generator behavior assumed a single generator per page.\n *   When the originating generator cannot be determined (e.g., due to missing metadata in manual dispatch),\n *   the system falls back to a `defaultGenerator` to preserve routing behavior through COR handlers.\n *\n * - `V2` (2): Required for all new generators.\n *   Indicates that the generator is designed to safely coexist with legacy singleton generators\n *   in multi-generator environments without interfering with their expected behavior.\n */\nexport const generatorVersions = {\n\tLEGACY: 1,\n\tV2: 2\n};\n\nexport const targetTypes = {\n\tTRANSLATOR: 'translator',\n\tGENERATOR: 'generator'\n};\n","/**\n * @file registryUtils.js\n * @description Shared utility methods and keys for accessing the mediator registry on the global window context.\n */\n\n/**\n * Keys used to store the mediator registry on the global window object.\n * @type {Object}\n */\nexport const WindowKey = {\n\tmediatorRegistry: '__LIBRARY_INTENT_CHANNEL__mediatorRegistry'\n};\n\n/**\n * Keys used internally within the registry object to store mediator metadata.\n * @typedef {Object} RegistryKeyMap\n * @property {'mediatorKey'} mediatorKey - Key used for storing the mediator identifier.\n * @property {'mediatorHandler'} mediatorHandler - Key used for storing the mediator dispatch handler.\n */\n\n/**\n * @type {RegistryKeyMap}\n */\nexport const RegistryKey = {\n\tmediatorKey: 'mediatorKey',\n\tmediatorHandler: 'mediatorHandler'\n};\n\n/**\n * Enum representing how a mediator handler should affect message flow.\n *\n * - `continue`: Let the message proceed to the next handler in the chain.\n * - `terminate`: Stop further processing.\n * - `undefined`: Fallback/no-op (treated as `continue` by default).\n *\n * @readonly\n * @type {{ default: undefined, continue: 'continue', terminate: 'terminate' }}\n */\nexport const MediatorResultHandlerAction = /** @type {const} */ ({\n\tdefault: undefined,\n\tcontinue: 'continue',\n\tterminate: 'terminate'\n});\n\n/**\n * Determines whether the current window is the top-level window.\n * Used to ensure mediators are only registered at the root context.\n *\n * @returns {boolean} True if running in the top window; false otherwise.\n */\nexport function isTopWindow() {\n\treturn window.self === window.top;\n}\n\n/**\n * Safely returns the top-level window if accessible, or the current window if access is restricted (e.g. cross-origin).\n * Used to access the shared mediator registry across iframes or windows.\n *\n * @param {Window} [win=window] - Optional window context to resolve from.\n * @returns {Window} A safe reference to the appropriate window context.\n */\nexport function getRegistryWindow(win = window) {\n\ttry {\n\t\tconst topWin = win.top;\n\t\tvoid topWin[WindowKey.mediatorRegistry]; // access test for security\n\t\treturn topWin;\n\t} catch {\n\t\treturn win.self;\n\t}\n}\n","/**\n * @file registry.js\n * @description Singleton registry for storing mediator keys and handlers across window contexts.\n */\n\nimport {\n\tWindowKey,\n\tRegistryKey,\n\tisTopWindow,\n\tgetRegistryWindow\n} from './mediatorUtils';\n\nlet _instance = null;\n\n/**\n * MediatorRegistry stores a single mediator key/handler and supports global access via window.\n */\nexport class MediatorRegistry {\n\t#registry = {\n\t\t[RegistryKey.mediatorKey]: null,\n\t\t[RegistryKey.mediatorHandler]: null\n\t};\n\n\t/**\n\t * Returns a global instance of the MediatorRegistry.\n\t * Ensures only one mediator is allowed per top-level window context.\n\t * @returns {MediatorRegistry}\n\t */\n\tstatic getInstance() {\n\t\tconst registryWindow = getRegistryWindow();\n\t\tif (!_instance) {\n\t\t\t_instance = registryWindow[WindowKey.mediatorRegistry] ||=\n\t\t\t\tnew MediatorRegistry();\n\t\t}\n\t\treturn _instance;\n\t}\n\n\t/** @returns {string|null} */\n\tget mediatorKey() {\n\t\treturn this.#registry[RegistryKey.mediatorKey];\n\t}\n\n\t/** @returns {Function|null} */\n\tget mediatorHandler() {\n\t\treturn this.#registry[RegistryKey.mediatorHandler];\n\t}\n\n\t/** @returns {boolean} */\n\thasMediator() {\n\t\treturn !!this.mediatorKey;\n\t}\n\n\t/**\n\t * Registers a mediator handler.\n\t * @param {string} key\n\t * @param {Function} handler\n\t */\n\tsetMediator(key, handler) {\n\t\tif (this.hasMediator()) {\n\t\t\tthrow new Error('Another mediator is already registered');\n\t\t}\n\t\tif (!key) throw new Error('Mediator key is required');\n\t\tif (typeof handler !== 'function')\n\t\t\tthrow new Error('Mediator handler must be a function');\n\t\tif (!isTopWindow())\n\t\t\tthrow new Error('Mediators can only be registered in window.top');\n\n\t\tif (handler.constructor.name === 'AsyncFunction') {\n\t\t\tconsole.warn('Mediator handler should be synchronous');\n\t\t}\n\n\t\tthis.#registry[RegistryKey.mediatorKey] = key;\n\t\tthis.#registry[RegistryKey.mediatorHandler] = handler;\n\t}\n\n\t/**\n\t * Unsets the mediator by key.\n\t * @param {string} key\n\t */\n\tunsetMediator(key) {\n\t\tif (this.mediatorKey !== key) {\n\t\t\tthrow new Error('Mediator is not registered');\n\t\t}\n\t\tthis.#registry[RegistryKey.mediatorKey] = null;\n\t\tthis.#registry[RegistryKey.mediatorHandler] = null;\n\t}\n\n\t/**\n\t * Invokes the mediator handler if registered.\n\t * @param {string} action\n\t * @param {any} args\n\t * @returns {any}\n\t */\n\tinvoke(action, args) {\n\t\treturn this.hasMediator()\n\t\t\t? this.mediatorHandler(action, args) ?? args\n\t\t\t: args;\n\t}\n}\n\nexport const __testing = {\n\t...(process.env.NODE_ENV === 'test' && {\n\t\tresetMediatorRegistry() {\n\t\t\tconst registryWindow = getRegistryWindow();\n\t\t\tdelete registryWindow[WindowKey.mediatorRegistry];\n\t\t\t_instance = null;\n\t\t}\n\t})\n};\n","/**\n * @file mediatorResult.js\n * @description Utility for controlling whether mediator-based message processing should continue or terminate.\n */\n\n/**\n * @public\n *\n * Wrapper for controlling mediator result flow in a messaging chain.\n */\nexport class MediatorResult {\n\t/**\n\t * Determines whether the message processing should continue.\n\t * @param {*} result\n\t * @returns {boolean}\n\t */\n\tstatic isContinue(result) {\n\t\treturn !MediatorResult.isTerminate(result);\n\t}\n\n\t/**\n\t * Determines whether the message processing should terminate early.\n\t * @param {*} result\n\t * @returns {boolean}\n\t */\n\tstatic isTerminate(result) {\n\t\treturn result?.handlerAction === 'terminate';\n\t}\n\n\t/**\n\t * Signals the message chain to continue with optional updated metadata.\n\t * @param {object} [meta]\n\t * @returns {{ handlerAction: 'continue', meta: object }} Result directive\n\t */\n\tstatic continue(meta) {\n\t\treturn {\n\t\t\thandlerAction: 'continue',\n\t\t\tmeta\n\t\t};\n\t}\n\n\t/**\n\t * Signals the message chain to terminate and skip further handlers.\n\t * @returns {{ handlerAction: 'terminate' }} Result directive\n\t */\n\tstatic terminate() {\n\t\treturn {\n\t\t\thandlerAction: 'terminate'\n\t\t};\n\t}\n}\n","/**\n * @file messageProcessor.js\n * @description Implements a generic chain-of-responsibility processor for translator and generator message pipelines.\n * Each handler is invoked in order until one terminates the chain or all complete.\n */\n\n/**\n * Result object for message processing. Used by handler functions to control flow.\n */\nexport class MessageProcessorResult {\n\t/**\n\t * Returns `true` if the result indicates continuation of the message chain.\n\t * @param {any} result\n\t * @returns {boolean}\n\t */\n\tstatic isContinue(result) {\n\t\treturn typeof result === 'object';\n\t}\n\n\t/**\n\t * Returns `true` if the result indicates termination of the message chain.\n\t * @param {any} result\n\t * @returns {boolean}\n\t */\n\tstatic isTerminate(result) {\n\t\treturn !MessageProcessorResult.isContinue(result);\n\t}\n\n\t/**\n\t * Creates a result object indicating the chain should continue.\n\t * Optionally augments the meta object passed to subsequent handlers.\n\t *\n\t * @param {Object} [meta={}] - Updated metadata to pass forward.\n\t * @returns {{ meta: Object }}\n\t */\n\tstatic continue(meta = {}) {\n\t\treturn {meta};\n\t}\n\n\t/**\n\t * Creates a result indicating the message chain should terminate immediately.\n\t *\n\t * @returns {undefined}\n\t */\n\tstatic terminate() {\n\t\treturn;\n\t}\n}\n\n/**\n * Creates a message processor function that runs a chain of handlers for a given message type.\n *\n * Each handler is responsible for one message type (e.g., `sendIntent`) and must return either:\n * - `MessageProcessorResult.continue(meta)` to pass updated metadata to the next handler.\n * - `undefined` (or anything else) to terminate the chain early.\n *\n * @param {Array<Object<string, Function>>} processorHandlers - Array of message handler maps (e.g., from local/session/mediator).\n * @returns {Function} A function that takes the following parameters:\n *   - `type` (`string`): The type of the action.\n *   - `payload` (`Object`): The data payload.\n *   - `meta` (`Object`): Metadata related to the action.\n */\nexport const createMessageProcessor =\n\t(processorHandlers) => (type, payload, meta) => {\n\t\tlet handlerMeta = {...meta};\n\n\t\tfor (const processorHandler of processorHandlers) {\n\t\t\tconst typeHandler = processorHandler[type];\n\t\t\tif (!typeHandler) {\n\t\t\t\tthrow new Error(`MessageProcessor::No handler found for type: ${type}`);\n\t\t\t}\n\n\t\t\t// Prevent mutation of original payload\n\t\t\tconst handlerPayload = {...payload};\n\t\t\tconst result = typeHandler(handlerPayload, handlerMeta);\n\n\t\t\tif (MessageProcessorResult.isContinue(result)) {\n\t\t\t\thandlerMeta = {\n\t\t\t\t\t...handlerMeta,\n\t\t\t\t\t...result?.meta\n\t\t\t\t};\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Terminate chain\n\t\t\tbreak;\n\t\t}\n\t};\n","/**\n * @file createHandler.js\n * @description Factory to create mediator-aware message handlers for message chains.\n */\n\nimport {MediatorRegistry} from './registry';\nimport {MediatorResult} from './mediatorResult';\nimport {MessageProcessorResult} from '../messageProcessor';\n\n/**\n * Creates a handler that checks for a mediator override.\n * Used as a message chain handler in generator/translator chains.\n *\n * @param {string} type - Action or message type to route through the mediator.\n * @returns {Function}\n */\nexport function createMessageTypeMediatorHandler(type) {\n\treturn (payload, meta) => {\n\t\tconst result = MediatorRegistry.getInstance().invoke(type, payload, meta);\n\t\treturn MediatorResult.isTerminate(result)\n\t\t\t? MessageProcessorResult.terminate()\n\t\t\t: MessageProcessorResult.continue(result?.meta);\n\t};\n}\n","/**\n * @file routingMediatorHandler.js\n * @description Forwards actions to the registered mediator.\n */\n\nimport {GeneratorMessageType} from '../../constants';\nimport {createMessageTypeMediatorHandler} from '../../mediator/createHandler';\n\nexport const routingMediatorHandler = {\n\t/**\n\t * Forwards CONTEXT_RECEIVED through the mediator.\n\t */\n\t[GeneratorMessageType.sendContext]: createMessageTypeMediatorHandler(\n\t\tGeneratorMessageType.sendContext\n\t),\n\n\t/**\n\t * Forwards SYSTEM_MESSAGE_RECEIVED through the mediator.\n\t */\n\t[GeneratorMessageType.sendSystemMessage]: createMessageTypeMediatorHandler(\n\t\tGeneratorMessageType.sendSystemMessage\n\t),\n\n\t/**\n\t * Forwards INTENT_FEEDBACK_RECEIVED through the mediator.\n\t */\n\t[GeneratorMessageType.sendIntentFeedback]: createMessageTypeMediatorHandler(\n\t\tGeneratorMessageType.sendIntentFeedback\n\t),\n\n\t/**\n\t * Forwards CONVERSATION_WITH_SKILL_REQUESTED through the mediator.\n\t */\n\t[GeneratorMessageType.requestConversationWithSkill]:\n\t\tcreateMessageTypeMediatorHandler(\n\t\t\tGeneratorMessageType.requestConversationWithSkill\n\t\t)\n};\n","/**\n * @file localHandler.js\n * @description Handles local delivery of messages directly to the generator component.\n */\n\nimport {GeneratorMessageType, intentActions} from '../../constants';\nimport {MessageProcessorResult} from '../../messageProcessor';\n\nconst {\n\tCONTEXT_RECEIVED,\n\tSYSTEM_MESSAGE_RECEIVED,\n\tINTENT_FEEDBACK_RECEIVED,\n\tCONVERSATION_WITH_SKILL_REQUESTED\n} = intentActions;\n\nconst canHandle = (generator) => !!generator;\n\nexport const localHandler = {\n\t/**\n\t * Dispatches a CONTEXT_RECEIVED action to the specified generator.\n\t *\n\t * @param {SendContextDispatchPayload} payload - Contains the generator instance as well as translator id and context info.\n\t * @param {GeneratorDispatchMeta} meta - Additional metadata used during dispatch.\n\t */\n\t[GeneratorMessageType.sendContext](payload, meta) {\n\t\tconst {translatorId, context, generator} = payload;\n\t\tconst {activeTranslatorId, applyActiveTranslatorCheck = true} = meta;\n\n\t\tif (\n\t\t\t!translatorId ||\n\t\t\t(applyActiveTranslatorCheck && activeTranslatorId !== translatorId)\n\t\t) {\n\t\t\tconsole.warn(\n\t\t\t\t'Generator Local Handler: sendContext message processing terminated.'\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tif (!canHandle(generator)) return MessageProcessorResult.continue();\n\n\t\tgenerator.dispatch(CONTEXT_RECEIVED, {\n\t\t\tcontext,\n\t\t\ttranslatorId\n\t\t});\n\t},\n\n\t/**\n\t * Dispatches a `SYSTEM_MESSAGE_RECEIVED` action to the specified generator.\n\t *\n\t * @param {SendSystemMessageDispatchPayload} payload - Contains the generator instance as well as translator id and message info.\n\t * @param {GeneratorDispatchMeta} meta - Additional metadata used during dispatch.\n\t */\n\t[GeneratorMessageType.sendSystemMessage](payload, meta) {\n\t\tconst {translatorId, generator, message} = payload;\n\t\tconst {activeTranslatorId, applyActiveTranslatorCheck = true} = meta;\n\n\t\tif (applyActiveTranslatorCheck && translatorId !== activeTranslatorId) {\n\t\t\treturn;\n\t\t}\n\t\tif (!canHandle(generator)) return MessageProcessorResult.continue();\n\n\t\tgenerator.dispatch(SYSTEM_MESSAGE_RECEIVED, {\n\t\t\tmessage,\n\t\t\ttranslatorId\n\t\t});\n\t},\n\n\t/**\n\t * Dispatches an `INTENT_FEEDBACK_RECEIVED` action to the specified generator.\n\t *\n\t * @param {SendIntentFeedbackDispatchPayload} payload - Contains the generator instance, translator id, original intent, and intent feedback status and message.\n\t */\n\t[GeneratorMessageType.sendIntentFeedback](payload) {\n\t\tconst {translatorId, generator, originalIntent, status, message} = payload;\n\n\t\tif (!canHandle(generator)) return MessageProcessorResult.continue();\n\n\t\tgenerator.dispatch(INTENT_FEEDBACK_RECEIVED, {\n\t\t\toriginalIntent,\n\t\t\tstatus,\n\t\t\tmessage,\n\t\t\ttranslatorId\n\t\t});\n\t},\n\n\t/**\n\t * Dispatches a `CONVERSATION_WITH_SKILL_REQUESTED` action to the specified generator.\n\t *\n\t * @param {RequestConversationWithSkillPayload} payload - Contains the generator instance, translator id, and skill request details.\n\t * @param {GeneratorDispatchMeta} meta - Additional metadata used during dispatch.\n\t */\n\t[GeneratorMessageType.requestConversationWithSkill](payload, meta) {\n\t\tconst {translatorId, generator, skillId, params} = payload;\n\t\tconst {activeTranslatorId, applyActiveTranslatorCheck = true} = meta;\n\n\t\tif (applyActiveTranslatorCheck && translatorId !== activeTranslatorId) {\n\t\t\treturn;\n\t\t}\n\t\tif (!canHandle(generator)) return MessageProcessorResult.continue();\n\n\t\tgenerator.dispatch(CONVERSATION_WITH_SKILL_REQUESTED, {\n\t\t\tskillId,\n\t\t\ttranslatorId,\n\t\t\tparams\n\t\t});\n\t}\n};\n","/**\n * @file sessionStorageHandler.js\n * @description Persists messages into sessionStorage for cross-context messaging.\n */\n\nimport {GeneratorMessageType, intentLocalStorageKeys} from '../../constants';\nimport {appendToSessionStorage} from '../../sessionStorage/sessionStorageUtils';\n\n/**\n * Handles messages by persisting them to sessionStorage.\n *\n * @type {Record<string, function(Object, Object): void>}\n */\nexport const sessionStorageHandler = {\n\t/**\n\t * Persists updateContext data to sessionStorage.\n\t *\n\t * @param {SendContextPayload} payload\n\t * @param {GeneratorDispatchMeta} meta\n\t */\n\t[GeneratorMessageType.sendContext](payload, meta) {\n\t\tconst {translatorId, context} = payload;\n\t\tconst {fromSessionStorage} = meta;\n\n\t\tif (fromSessionStorage) {\n\t\t\t// do not persist messages from session storage\n\t\t\treturn;\n\t\t}\n\n\t\tsessionStorage.setItem(\n\t\t\tintentLocalStorageKeys.updateContext,\n\t\t\tJSON.stringify({\n\t\t\t\ttranslatorId,\n\t\t\t\tcontext,\n\t\t\t\tmeta\n\t\t\t})\n\t\t);\n\t},\n\n\t/**\n\t * Persists sendSystemMessage data to sessionStorage.\n\t *\n\t * @param {SendSystemMessagePayload} payload\n\t * @param {GeneratorDispatchMeta} meta\n\t */\n\t[GeneratorMessageType.sendSystemMessage](payload, meta) {\n\t\tconst {translatorId, message} = payload;\n\t\tconst {fromSessionStorage} = meta;\n\n\t\tif (fromSessionStorage) {\n\t\t\t// do not persist messages from session storage\n\t\t\treturn;\n\t\t}\n\n\t\tsessionStorage.setItem(\n\t\t\tintentLocalStorageKeys.sendSystemMessage,\n\t\t\tJSON.stringify({\n\t\t\t\ttranslatorId,\n\t\t\t\tmessage,\n\t\t\t\tmeta\n\t\t\t})\n\t\t);\n\t},\n\n\t/**\n\t * Appends sendIntentFeedback to existing sendIntentFeedback data in sessionStorage.\n\t *\n\t * @param {SendIntentFeedbackPayload} payload\n\t * @param {GeneratorDispatchMeta} meta\n\t */\n\t[GeneratorMessageType.sendIntentFeedback](payload, meta) {\n\t\tconst {translatorId, originalIntent, status, message} = payload;\n\t\tconst {fromSessionStorage} = meta;\n\n\t\tif (fromSessionStorage) {\n\t\t\t// do not persist messages from session storage\n\t\t\treturn;\n\t\t}\n\n\t\tconst values = appendToSessionStorage(\n\t\t\tintentLocalStorageKeys.sendIntentFeedback,\n\t\t\t{\n\t\t\t\ttranslatorId,\n\t\t\t\toriginalIntent,\n\t\t\t\tstatus,\n\t\t\t\tmessage,\n\t\t\t\tmeta\n\t\t\t}\n\t\t);\n\n\t\tsessionStorage.setItem(intentLocalStorageKeys.sendIntentFeedback, values);\n\t},\n\n\t/**\n\t * Persists requestConversationWithSkill data to sessionStorage.\n\t *\n\t * @param {RequestConversationWithSkillPayload} payload\n\t * @param {GeneratorDispatchMeta} meta\n\t */\n\t[GeneratorMessageType.requestConversationWithSkill](payload, meta) {\n\t\tconst {translatorId, skillId, params} = payload;\n\t\tconst {fromSessionStorage} = meta;\n\n\t\tif (fromSessionStorage) {\n\t\t\t// do not persist messages from session storage\n\t\t\treturn;\n\t\t}\n\n\t\tsessionStorage.setItem(\n\t\t\tintentLocalStorageKeys.requestConversationWithSkill,\n\t\t\tJSON.stringify({\n\t\t\t\ttranslatorId,\n\t\t\t\tskillId,\n\t\t\t\tparams,\n\t\t\t\tmeta\n\t\t\t})\n\t\t);\n\t}\n};\n","import {intentLibraryGlobals} from '../intentLibraryGlobals.js';\n\nconst TRANSLATOR_MAP = 'translators';\n\n// Initialize global translator registry if not already set\nif (!intentLibraryGlobals[TRANSLATOR_MAP]) {\n\tintentLibraryGlobals[TRANSLATOR_MAP] = {};\n}\n\n/**\n * Retrieves a registered translator by its id.\n *\n * @param {string} id - The translator id.\n * @returns {TranslatorObject | undefined}\n */\nexport const getTranslatorById = (id) =>\n\tintentLibraryGlobals[TRANSLATOR_MAP][id];\n\n/**\n * Retrieves the full map of all registered translators.\n *\n * @returns {Record<string, TranslatorObject>}\n */\nexport const getTranslators = () => intentLibraryGlobals[TRANSLATOR_MAP];\n\n/**\n * Registers or updates a translator in the global registry.\n *\n * @param {string} id - The translator id.\n * @param {TranslatorObject} value - The translator object to store.\n */\nexport const registerTranslatorById = (id, value) => {\n\tintentLibraryGlobals[TRANSLATOR_MAP][id] = value;\n};\n\n/**\n * Removes a translator from the global registry by id.\n *\n * @param {string} id - The translator id to delete.\n */\nexport const deleteTranslatorById = (id) => {\n\tdelete intentLibraryGlobals[TRANSLATOR_MAP][id];\n};\n","/**\n * @file generatorChain.js\n * @description Initializes the generator message processing chain using the chain-of-responsibility pattern.\n */\n\nimport {routingMediatorHandler} from './handlers/routingMediatorHandler';\nimport {localHandler} from './handlers/localHandler';\nimport {sessionStorageHandler} from './handlers/sessionStorageHandler';\nimport {GeneratorMessageType} from '../constants';\nimport {createMessageProcessor} from '../messageProcessor';\nimport {intentLibraryGlobals} from '../intentLibraryGlobals';\nimport {getTranslators} from '../translator/translatorRegistry';\n\n/**\n * Creates a chain processor for generator-side messages.\n * Uses the Chain-of-Responsibility pattern to process messages through different handlers.\n *\n * @param {TranslatorRegistry} translators - A registry of all translators.\n * @returns {GeneratorChain} The created generator chain with message processing methods.\n */\nconst createGeneratorChain = (translators) => {\n\tconst processMessage = createMessageProcessor([\n\t\troutingMediatorHandler,\n\t\tlocalHandler,\n\t\tsessionStorageHandler\n\t]);\n\n\treturn {\n\t\t/**\n\t\t * Delegates a `sendContext` generator message to the chain of handlers for processing.\n\t\t *\n\t\t * @param {string} translatorId - The id of the translator sending the context.\n\t\t * @param {GeneratorObject} generator - The generator instance associated with the translator.\n\t\t * @param {string} activeTranslatorId - The id of the currently active translator.\n\t\t * @param {TranslatorContext} [context] - Optional explicit context to send; if omitted, falls back to the translator's existing context.\n\t\t * @param {GeneratorDispatchMeta} [meta={}] - Optional metadata to send with the message, such as the source of the dispatch.\n\t\t */\n\t\tprocessSendContext(\n\t\t\ttranslatorId,\n\t\t\tgenerator,\n\t\t\tactiveTranslatorId,\n\t\t\tcontext,\n\t\t\tmeta = {}\n\t\t) {\n\t\t\tconst messageContext =\n\t\t\t\tcontext ?? translators[translatorId]?.context ?? null;\n\n\t\t\tprocessMessage(\n\t\t\t\tGeneratorMessageType.sendContext,\n\t\t\t\t{\n\t\t\t\t\ttranslatorId,\n\t\t\t\t\tcontext: messageContext,\n\t\t\t\t\tgenerator,\n\t\t\t\t\ttranslators\n\t\t\t\t},\n\t\t\t\t{...meta, activeTranslatorId}\n\t\t\t);\n\t\t},\n\n\t\t/**\n\t\t * Delegates a `sendSystemMessage` generator message to the chain of handlers for processing.\n\t\t *\n\t\t * @param {string} translatorId - The id of the translator.\n\t\t * @param {GeneratorObject} generator - The generator to send the system message to.\n\t\t * @param {*} message - The system message to send.\n\t\t * @param {string} activeTranslatorId - The active translator id.\n\t\t * @param {GeneratorDispatchMeta} [meta] - Optional metadata for the system message.\n\t\t */\n\t\tprocessSendSystemMessage(\n\t\t\ttranslatorId,\n\t\t\tgenerator,\n\t\t\tmessage,\n\t\t\tactiveTranslatorId,\n\t\t\tmeta = {}\n\t\t) {\n\t\t\tprocessMessage(\n\t\t\t\tGeneratorMessageType.sendSystemMessage,\n\t\t\t\t{translatorId, generator, message},\n\t\t\t\t{...meta, activeTranslatorId}\n\t\t\t);\n\t\t},\n\n\t\t/**\n\t\t * Delegates a `sendIntentFeedback` generator message to the chain of handlers for processing.\n\t\t *\n\t\t * @param {string} translatorId - The id of the translator.\n\t\t * @param {GeneratorObject} generator - The generator to send the intent feedback to.\n\t\t * @param {*} originalIntent - The original intent message.\n\t\t * @param {*} status - The status of the intent.\n\t\t * @param {*} message - The feedback message.\n\t\t * @param {GeneratorDispatchMeta} [meta] - Optional metadata for the feedback.\n\t\t */\n\t\tprocessSendIntentFeedback(\n\t\t\ttranslatorId,\n\t\t\tgenerator,\n\t\t\toriginalIntent,\n\t\t\tstatus,\n\t\t\tmessage,\n\t\t\tmeta = {}\n\t\t) {\n\t\t\tprocessMessage(\n\t\t\t\tGeneratorMessageType.sendIntentFeedback,\n\t\t\t\t{\n\t\t\t\t\ttranslatorId,\n\t\t\t\t\tgenerator,\n\t\t\t\t\toriginalIntent,\n\t\t\t\t\tstatus,\n\t\t\t\t\tmessage\n\t\t\t\t},\n\t\t\t\t{...meta}\n\t\t\t);\n\t\t},\n\n\t\t/**\n\t\t * Delegates a `requestConversationWithSkill` generator message to the chain of handlers for processing.\n\t\t *\n\t\t * @param {string} translatorId - The id of the translator.\n\t\t * @param {GeneratorObject} generator - The generator to send the conversation request to.\n\t\t * @param {string} skillId - The skill ID to request a conversation with.\n\t\t * @param {object} params - The parameters for the skill conversation.\n\t\t * @param {string} activeTranslatorId - The active translator id.\n\t\t * @param {GeneratorDispatchMeta} [meta] - Optional metadata for the conversation request.\n\t\t */\n\t\tprocessRequestConversationWithSkill(\n\t\t\ttranslatorId,\n\t\t\tgenerator,\n\t\t\tskillId,\n\t\t\tparams,\n\t\t\tactiveTranslatorId,\n\t\t\tmeta = {}\n\t\t) {\n\t\t\tprocessMessage(\n\t\t\t\tGeneratorMessageType.requestConversationWithSkill,\n\t\t\t\t{translatorId, generator, skillId, params},\n\t\t\t\t{...meta, activeTranslatorId}\n\t\t\t);\n\t\t}\n\t};\n};\n\nif (!intentLibraryGlobals?.generatorChain) {\n\tintentLibraryGlobals.generatorChain = createGeneratorChain(getTranslators());\n}\n\n/**\n * Global generator messaging chain.\n * Routes feedback, context, and system messages to the appropriate generator handlers.\n * @type {GeneratorChain}\n */\nexport const {generatorChain} = intentLibraryGlobals;\n","/**\n * @file routingMediatorHandler.js\n * @description Forwards actions to a registered mediator.\n */\n\nimport {createMessageTypeMediatorHandler} from '../../mediator/createHandler';\nimport {TranslatorMessageType} from '../../constants';\n\nexport const routingMediatorHandler = {\n\t/**\n\t * Forwards SEND_INTENT to the mediator if one is registered.\n\t */\n\t[TranslatorMessageType.sendIntent]: createMessageTypeMediatorHandler(\n\t\tTranslatorMessageType.sendIntent\n\t)\n};\n","/**\n * @file localHandler.js\n * @description Handles local delivery of messages directly to the translator component.\n */\n\nimport {intentActions, TranslatorMessageType} from '../../constants';\nimport {MessageProcessorResult} from '../../messageProcessor';\n\nconst {INTENT_RECEIVED} = intentActions;\n\nconst canHandle = (translatorId, translators) =>\n\ttranslatorId && translators[translatorId];\n\nexport const localHandler = {\n\t/**\n\t * Dispatches a INTENT_RECEIVED to the specified translator if conditions are met.\n\t *\n\t * @param {SendIntentPayload} payload\n\t * @param {TranslatorDispatchMeta} meta\n\t * @returns {object|undefined}\n\t */\n\t[TranslatorMessageType.sendIntent](payload, meta) {\n\t\tconst {translatorId, intentPayload, translators, generatorForFeedback} =\n\t\t\tpayload;\n\n\t\tconst {activeTranslatorId, applyActiveTranslatorCheck = true} = meta;\n\n\t\tif (!canHandle(translatorId, translators)) {\n\t\t\treturn MessageProcessorResult.continue();\n\t\t}\n\n\t\tif (applyActiveTranslatorCheck && activeTranslatorId !== translatorId) {\n\t\t\treturn;\n\t\t}\n\n\t\ttranslators[translatorId].dispatch(\n\t\t\tINTENT_RECEIVED,\n\t\t\t{\n\t\t\t\tintent: intentPayload\n\t\t\t},\n\t\t\t{\n\t\t\t\t...meta,\n\t\t\t\tgeneratorForFeedback\n\t\t\t}\n\t\t);\n\t}\n};\n","/**\n * @file sessionStorageHandler.js\n * @description Persists messages into sessionStorage for cross-context delivery to translators.\n */\n\nimport {TranslatorMessageType, intentLocalStorageKeys} from '../../constants';\n\nimport {appendToSessionStorage} from '../../sessionStorage/sessionStorageUtils';\n\nconst canHandle = (translatorId) => !!translatorId;\n\nexport const sessionStorageHandler = {\n\t/**\n\t * Stores the intent in sessionStorage.\n\t *\n\t * @param {SendIntentPayload} payload\n\t * @param {TranslatorDispatchMeta} meta\n\t */\n\t[TranslatorMessageType.sendIntent](payload, meta) {\n\t\tconst {translatorId, intentPayload} = payload;\n\t\tconst {fromSessionStorage} = meta;\n\n\t\tif (!canHandle(translatorId)) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(\n\t\t\t\t'Unable to send intent to translator because translatorId is undefined.'\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tif (fromSessionStorage) {\n\t\t\t// Don't re-persist messages already dispatched from sessionStorage\n\t\t\treturn;\n\t\t}\n\n\t\tconst key = `${intentLocalStorageKeys.sendIntent}/${translatorId}`;\n\t\tconst values = appendToSessionStorage(key, {\n\t\t\ttranslatorId,\n\t\t\tintentPayload,\n\t\t\tmeta\n\t\t});\n\n\t\tsessionStorage.setItem(key, values);\n\t}\n};\n","/**\n * @file translatorChain.js\n * @description Defines the TranslatorChain, responsible for processing messages using a chain-of-responsibility pattern.\n */\n\nimport {routingMediatorHandler} from './handlers/routingMediatorHandler';\nimport {localHandler} from './handlers/localHandler';\nimport {sessionStorageHandler} from './handlers/sessionStorageHandler';\nimport {TranslatorMessageType} from '../constants';\nimport {createMessageProcessor} from '../messageProcessor';\nimport {intentLibraryGlobals} from '../intentLibraryGlobals.js';\nimport {getTranslators} from './translatorRegistry.js';\n\n/**\n * Creates a chain processor for translator-side messages.\n * Uses the Chain-of-Responsibility pattern to process messages through different handlers.\n *\n * @param {Record<string, TranslatorObject>} translators - A registry of all registered translators.\n * @returns {TranslatorChain} The created translator chain with message processing methods.\n */\nconst createTranslatorChain = (translators) => {\n\tconst processMessage = createMessageProcessor([\n\t\troutingMediatorHandler,\n\t\tlocalHandler,\n\t\tsessionStorageHandler\n\t]);\n\n\treturn {\n\t\t/**\n\t\t * Delegates a `sendIntent` translator message to the chain of handlers for processing.\n\t\t *\n\t\t * @param {string} translatorId - The id of the translator to use.\n\t\t * @param {Object} intentPayload - The payload to send with the intent.\n\t\t * @param {string} activeTranslatorId - The id of the active translator.\n\t\t * @param {GeneratorObject} generatorForFeedback - The generator instance which sent the intent.\n\t\t * @param {object} [meta={}] - Optional metadata to include with the message.\n\t\t */\n\t\tprocessSendIntent(\n\t\t\ttranslatorId,\n\t\t\tintentPayload,\n\t\t\tactiveTranslatorId,\n\t\t\tgeneratorForFeedback,\n\t\t\tmeta = {}\n\t\t) {\n\t\t\tprocessMessage(\n\t\t\t\tTranslatorMessageType.sendIntent,\n\t\t\t\t{translatorId, intentPayload, translators, generatorForFeedback},\n\t\t\t\t{...meta, activeTranslatorId}\n\t\t\t);\n\t\t}\n\t};\n};\n\nif (!intentLibraryGlobals.translatorChain) {\n\tintentLibraryGlobals.translatorChain = createTranslatorChain(\n\t\tgetTranslators()\n\t);\n}\n\n/**\n * Global translator messaging chain.\n * Routes intent messages to the appropriate translator handlers.\n * @type {TranslatorChain}\n */\nexport const {translatorChain} = intentLibraryGlobals;\n","import {intentLocalStorageKeys} from '../constants';\n\n/**\n * Retrieves the currently active translator Id from sessionStorage.\n * @returns {string|null}\n */\nexport const getCurrentActiveTranslatorId = () =>\n\tsessionStorage.getItem(intentLocalStorageKeys.activeTranslatorKey);\n\n/**\n * Removes the active translator Id from session storage.\n */\nexport const clearActiveTranslatorId = () =>\n\tsessionStorage.removeItem(intentLocalStorageKeys.activeTranslatorKey);\n\n/**\n * Sets the active translator id in sessionStorage.\n * @param {string} translatorId\n */\nexport const setCurrentActiveTranslatorId = (translatorId) =>\n\tsessionStorage.setItem(\n\t\tintentLocalStorageKeys.activeTranslatorKey,\n\t\ttranslatorId\n\t);\n\n/**\n * Unsets the active translator id if it matches the given value.\n * @param {string} translatorId\n * @returns {boolean}\n */\nexport const unsetCurrentActiveTranslatorId = (translatorId) => {\n\tif (getCurrentActiveTranslatorId() === translatorId) {\n\t\tclearActiveTranslatorId();\n\t\treturn true;\n\t}\n\treturn false;\n};\n","import {getGeneratorById} from '../generator/generatorRegistry';\n\nimport {generatorChain} from '../generator/generatorChain';\nimport {translatorChain} from '../translator/translatorChain';\nimport {intentLocalStorageKeys} from '../constants';\nimport {getCurrentActiveTranslatorId} from './activeTranslatorService';\n\n/**\n * Generic processor for sessionStorage keys and message dispatchers.\n *\n * @param {string} storageKey The key in sessionStorage to retrieve the data from.\n * @param {Function} handler A function that processes the payload and metadata.\n * The handler takes two arguments:\n *   - `payload` (`Object`): The data object to be processed.\n *   - `meta` (`Object`): The metadata related to the payload, including `fromSessionStorage: true`.\n */\nconst sendDataFromStorage = (storageKey, generatorId, handler) => {\n\tif (!getGeneratorById(generatorId)) return;\n\n\tconst jsonString = sessionStorage.getItem(storageKey);\n\tif (!jsonString) return;\n\n\ttry {\n\t\tlet values = JSON.parse(jsonString);\n\t\tif (!Array.isArray(values)) values = [values];\n\n\t\tvalues.forEach((value) => {\n\t\t\tconst {meta, ...payload} = value;\n\t\t\tconst sessionMeta = {\n\t\t\t\t...meta,\n\t\t\t\tfromSessionStorage: true\n\t\t\t};\n\t\t\thandler(payload, sessionMeta);\n\t\t});\n\t} catch {\n\t\tconsole.warn('sessionStorageDispatcher: Failed to parse JSON.');\n\t}\n\n\tsessionStorage.removeItem(storageKey);\n};\n\n/**\n * Routes SEND_INTENT_FEEDBACK to the generator chain.\n * @param {string} generatorId - The ID of the generator to send the feedback to.\n */\nexport const sendIntentFeedbackFromStorage = (generatorId) => {\n\tsendDataFromStorage(\n\t\tintentLocalStorageKeys.sendIntentFeedback,\n\t\tgeneratorId,\n\t\t(payload, meta) => {\n\t\t\tgeneratorChain.processSendIntentFeedback(\n\t\t\t\tpayload.translatorId,\n\t\t\t\tgetGeneratorById(generatorId),\n\t\t\t\tpayload.originalIntent,\n\t\t\t\tpayload.status,\n\t\t\t\tpayload.message,\n\t\t\t\tmeta\n\t\t\t);\n\t\t}\n\t);\n};\n\n/**\n * Routes SEND_CONTEXT to the generator chain.\n * @param {string} generatorId - The ID of the generator to send the context to.\n */\nexport const updateContextFromStorage = (generatorId) => {\n\tsendDataFromStorage(\n\t\tintentLocalStorageKeys.updateContext,\n\t\tgeneratorId,\n\t\t(payload, meta) => {\n\t\t\tgeneratorChain.processSendContext(\n\t\t\t\tpayload.translatorId,\n\t\t\t\tgetGeneratorById(generatorId),\n\t\t\t\tgetCurrentActiveTranslatorId(),\n\t\t\t\tpayload.context,\n\t\t\t\tmeta\n\t\t\t);\n\t\t}\n\t);\n};\n\n/**\n * Routes SEND_SYSTEM_MESSAGE to the generator chain.\n */\nexport const sendSystemMessageFromStorage = (generatorId) => {\n\tsendDataFromStorage(\n\t\tintentLocalStorageKeys.sendSystemMessage,\n\t\tgeneratorId,\n\t\t(payload, meta) => {\n\t\t\tgeneratorChain.processSendSystemMessage(\n\t\t\t\tpayload.translatorId,\n\t\t\t\tgetGeneratorById(generatorId),\n\t\t\t\tpayload.message,\n\t\t\t\tgetCurrentActiveTranslatorId(),\n\t\t\t\tmeta\n\t\t\t);\n\t\t}\n\t);\n};\n\n/**\n * Routes REQUEST_CONVERSATION_WITH_SKILL to the generator chain.\n * @param {string} generatorId - The ID of the generator to send the request to.\n */\nexport const requestConversationWithSkillFromStorage = (generatorId) => {\n\tsendDataFromStorage(\n\t\tintentLocalStorageKeys.requestConversationWithSkill,\n\t\tgeneratorId,\n\t\t(payload, meta) => {\n\t\t\tgeneratorChain.processRequestConversationWithSkill(\n\t\t\t\tpayload.translatorId,\n\t\t\t\tgetGeneratorById(generatorId),\n\t\t\t\tpayload.skillId,\n\t\t\t\tpayload.params,\n\t\t\t\tgetCurrentActiveTranslatorId(),\n\t\t\t\tmeta\n\t\t\t);\n\t\t}\n\t);\n};\n\n/**\n * Processes stored intents from the sessionStorage `sendIntent/*` keys.\n * @param {string} translatorId\n * @param {*} intentPayload\n * @param {string} originatingGeneratorId\n * @param {*} meta\n */\nexport const sendIntentFromStorage = (\n\ttranslatorId,\n\tintentPayload,\n\toriginatingGeneratorId,\n\tmeta\n) => {\n\tif (!meta?.fromSessionStorage) {\n\t\tthrow new Error('Message must be tagged as fromSessionStorage');\n\t}\n\n\ttranslatorChain.processSendIntent(\n\t\ttranslatorId,\n\t\tintentPayload,\n\t\tgetCurrentActiveTranslatorId(),\n\t\toriginatingGeneratorId,\n\t\tmeta\n\t);\n};\n","import {\n\tupdateContextFromStorage,\n\tsendSystemMessageFromStorage,\n\tsendIntentFeedbackFromStorage,\n\trequestConversationWithSkillFromStorage,\n\tsendIntentFromStorage\n} from './sessionStorageDispatcher';\n\nimport {getTranslatorById} from '../translator/translatorRegistry';\nimport {intentLocalStorageKeys} from '../constants';\nimport {getGeneratorById} from '../generator/generatorRegistry';\n\n/**\n * Appends a new value to an array stored in sessionStorage under the given key.\n * Automatically recovers from corrupt or missing data.\n *\n * @param {string} key\n * @param {*} value\n * @returns {string} - The updated JSON string\n */\nexport const appendToSessionStorage = (key, value) => {\n\tconst prevValue = sessionStorage.getItem(key);\n\tlet values = [];\n\n\tif (prevValue) {\n\t\ttry {\n\t\t\tvalues = JSON.parse(prevValue);\n\t\t} catch {\n\t\t\tvalues = [];\n\t\t}\n\t}\n\n\tif (!Array.isArray(values)) values = [values];\n\n\tvalues.push(value);\n\treturn JSON.stringify(values);\n};\n\n/**\n * Global window event listener for storage events.\n * Routes messages from other browser contexts (e.g., iframes, tabs) to the runtime dispatcher.\n *\n * @param {StorageEvent} e\n */\nexport const handleStorageEvent = (e) => {\n\tconst {key} = e;\n\n\tif (key === intentLocalStorageKeys.updateContext) {\n\t\tupdateContextFromStorage();\n\t} else if (key === intentLocalStorageKeys.sendSystemMessage) {\n\t\tsendSystemMessageFromStorage();\n\t} else if (key === intentLocalStorageKeys.sendIntentFeedback) {\n\t\tsendIntentFeedbackFromStorage();\n\t} else if (key === intentLocalStorageKeys.requestConversationWithSkill) {\n\t\trequestConversationWithSkillFromStorage();\n\t} else if (key?.startsWith(`${intentLocalStorageKeys.sendIntent}/`)) {\n\t\tconst translatorId = key.replace(\n\t\t\t`${intentLocalStorageKeys.sendIntent}/`,\n\t\t\t''\n\t\t);\n\t\tif (translatorId && getTranslatorById(translatorId)) {\n\t\t\ttry {\n\t\t\t\tlet values = JSON.parse(sessionStorage.getItem(key));\n\t\t\t\tif (!Array.isArray(values)) values = [values];\n\n\t\t\t\tvalues.forEach((value) => {\n\t\t\t\t\tconst meta = {\n\t\t\t\t\t\t...value.meta,\n\t\t\t\t\t\tfromSessionStorage: true\n\t\t\t\t\t};\n\t\t\t\t\tsendIntentFromStorage(\n\t\t\t\t\t\ttranslatorId,\n\t\t\t\t\t\tvalue.intentPayload,\n\t\t\t\t\t\tgetGeneratorById(value.originatingGeneratorId),\n\t\t\t\t\t\tmeta\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t} catch {\n\t\t\t\tconsole.warn('Storage event: Skipped malformed sendIntent data');\n\t\t\t}\n\t\t\tsessionStorage.removeItem(key);\n\t\t}\n\t}\n};\n","import {intentLibraryGlobals} from '../intentLibraryGlobals';\nimport {intentActions, targetTypes} from '../constants';\n\nconst {BROADCAST_TOPIC_RECEIVED} = intentActions;\n\nif (!intentLibraryGlobals?.topicSubscribers) {\n\tintentLibraryGlobals.topicSubscribers = {\n\t\tgenerator: new Map(),\n\t\ttranslator: new Map()\n\t};\n}\n\nconst {topicSubscribers} = intentLibraryGlobals;\n\n/**\n * Subscribe to a broadcast topic for a specific target type.\n *\n * @param {string} nowId - The unique identifier for the target.\n * @param {string} targetType - The type of the target (e.g., 'generator', 'translator').\n * @param {string} topic - The topic to subscribe to.\n * @param {function} dispatch - The function to call when the topic is broadcasted.\n */\nexport function subscribeToTopic(nowId, targetType, topic, dispatch) {\n\tif (!nowId) {\n\t\tconsole.error('nowId is required to subscribe to a topic');\n\t\treturn;\n\t}\n\tif (!targetType || !Object.values(targetTypes).includes(targetType)) {\n\t\tconsole.error(\n\t\t\t'targetType is required and must be either \"generator\" or \"translator\"'\n\t\t);\n\t\treturn;\n\t}\n\tif (!topic) {\n\t\tconsole.error('topic is required to subscribe to a topic');\n\t\treturn;\n\t}\n\tif (!dispatch || typeof dispatch !== 'function') {\n\t\tconsole.error('dispatch is required and must be a function');\n\t\treturn;\n\t}\n\n\tconst targetMap = topicSubscribers[targetType];\n\n\tif (!targetMap.has(topic)) {\n\t\ttargetMap.set(topic, new Map());\n\t}\n\n\ttargetMap.get(topic).set(nowId, dispatch);\n}\n\n/**\n * Subscribe to multiple broadcast topics for a specific target type.\n *\n * @param {string} nowId - The unique identifier for the target.\n * @param {TargetType} targetType - The type of the target (e.g., 'generator', 'translator').\n * @param {Array<String>} topics - An array of topics to subscribe to.\n * @param {Function} dispatch - The function to call when the topic is broadcasted.\n */\nexport function subscribeToTopics(nowId, targetType, topics, dispatch) {\n\tif (!topics || topics.length === 0 || !Array.isArray(topics)) {\n\t\tconsole.error('topics is required and must be a non-empty array');\n\t\treturn;\n\t}\n\n\ttopics.forEach(({topic}) => {\n\t\tsubscribeToTopic(nowId, targetType, topic, dispatch);\n\t});\n}\n\n/**\n * Unsubscribe from a broadcast topic.\n */\nexport function unsubscribeFromTopic(nowId, targetType, topic) {\n\tconst targetMap = topicSubscribers[targetType];\n\tconst topicMap = targetMap.get(topic);\n\n\tif (!topicMap) {\n\t\treturn;\n\t}\n\n\ttopicMap.delete(nowId);\n\n\tif (topicMap.size === 0) {\n\t\ttargetMap.delete(topic);\n\t}\n}\n\nexport function unsubscribeFromAllTopics(nowId, targetType) {\n\tconst targetMap = topicSubscribers[targetType];\n\n\tfor (const [topic, topicMap] of targetMap.entries()) {\n\t\ttopicMap.delete(nowId);\n\n\t\tif (topicMap.size === 0) {\n\t\t\ttargetMap.delete(topic);\n\t\t}\n\t}\n}\n\nexport function broadcastTopic(targetType, topic, data) {\n\tconst targets = topicSubscribers[targetType].get(topic) || [];\n\tif (targets.size === 0) {\n\t\tconsole.warn(`No subscribers for topic: ${topic}`);\n\t\treturn;\n\t}\n\n\ttargets.forEach((dispatch) => {\n\t\tif (typeof dispatch === 'function') {\n\t\t\tdispatch(BROADCAST_TOPIC_RECEIVED, {targetType, topic, data});\n\t\t}\n\t});\n}\n","/**\n * @file generatorService.js\n * @description Generator-side service responsible for routing messages to the generator chain.\n */\n\nimport {generatorVersions, targetTypes} from '../constants';\n\nimport {\n\tgetGeneratorById,\n\tregisterGeneratorById,\n\tregisterDefaultGenerator,\n\tdeleteGeneratorById,\n\tgetDefaultGenerator\n} from './generatorRegistry';\n\nimport {getCurrentActiveTranslatorId} from '../sessionStorage/activeTranslatorService';\nimport {\n\tupdateContextFromStorage,\n\trequestConversationWithSkillFromStorage,\n\tsendSystemMessageFromStorage\n} from '../sessionStorage/sessionStorageDispatcher';\n\nimport {generatorChain} from './generatorChain';\n\nimport {\n\tunsubscribeFromAllTopics,\n\tsubscribeToTopics\n} from '../pubsub/pubsubService';\n\n/**\n * Sends a system message to the generator.\n *\n * @param {string} translatorId - The translator sending the message.\n * @param {*} message - The system message to deliver.\n * @param {string} generatorId - The ID of the generator to send the message to.\n */\nexport const sendSystemMessage = (translatorId, message, generatorId) => {\n\tgeneratorChain.processSendSystemMessage(\n\t\ttranslatorId,\n\t\tgetGeneratorById(generatorId),\n\t\tmessage,\n\t\tgetCurrentActiveTranslatorId()\n\t);\n};\n\n/**\n * Requests a conversation with a skill via the generator.\n *\n * @param {string} translatorId - The id of the translator initiating the request.\n * @param {string} skillId - The skill identifier.\n * @param {Object} params - Additional parameters for the request.\n * @param {string} generatorId - The ID of the generator to send the request to.\n */\nexport const requestConversationWithSkill = (\n\ttranslatorId,\n\tskillId,\n\tparams,\n\tgeneratorId\n) => {\n\tgeneratorChain.processRequestConversationWithSkill(\n\t\ttranslatorId,\n\t\tgetGeneratorById(generatorId),\n\t\tskillId,\n\t\tparams,\n\t\tgetCurrentActiveTranslatorId()\n\t);\n};\n\n/**\n * @public\n *\n * Removes the currently registered generator instance.\n */\nexport const removeGenerator = (id) => {\n\tif (!id) {\n\t\tconsole.error('id param is required to remove the generator.');\n\t\treturn;\n\t}\n\n\tdeleteGeneratorById(id);\n\tunsubscribeFromAllTopics(id, targetTypes.GENERATOR);\n};\n\n/**\n * Sends a translator's context to the generator.\n *\n * @param {string} translatorId - The id of the translator whose context should be sent.\n * @param {string} generatorId - The ID of the generator to send the context to.\n */\nexport const sendContextToGenerator = (translatorId, generatorId) => {\n\tgeneratorChain.processSendContext(\n\t\ttranslatorId,\n\t\tgetGeneratorById(generatorId),\n\t\tgetCurrentActiveTranslatorId()\n\t);\n};\n\n/**\n * @public\n *\n * Registers a generator with the runtime.\n *\n * @param {string} id - The unique generator ID.\n * @param {Function} dispatch - Function to handle generator-side dispatches.\n * @param {GeneratorRegistrationPayload} payload - Registration payload used to provide optional metadata.\n */\nexport const registerGenerator = (id, dispatch, payload) => {\n\tif (payload?.options?.generatorVersion === generatorVersions.V2) {\n\t\tregisterGeneratorById(id, {dispatch});\n\t} else {\n\t\tregisterDefaultGenerator(id, {dispatch});\n\t}\n\n\tif (window !== window.top) {\n\t\twindow.addEventListener('unload', () => {\n\t\t\tremoveGenerator(id);\n\t\t});\n\t}\n\n\t// Subscribe to topics if provided in payload options\n\tconst subscribedTopics = payload?.options?.subscribedTopics;\n\n\tif (subscribedTopics) {\n\t\tsubscribeToTopics(id, targetTypes.GENERATOR, subscribedTopics, dispatch);\n\t}\n\n\tconst activeTranslatorId = getCurrentActiveTranslatorId();\n\n\tif (!activeTranslatorId) {\n\t\treturn;\n\t}\n\n\tsendContextToGenerator(activeTranslatorId, id);\n\tupdateContextFromStorage(id);\n\trequestConversationWithSkillFromStorage(id);\n\tsendSystemMessageFromStorage(id);\n};\n\n/**\n * Sends intent feedback to the generator.\n *\n * @param {string} translatorId - The id of the translator that sent the intent feedback.\n * @param {*} intentPayload - The original intent.\n * @param {*} status - Status of the response.\n * @param {*} message - Response message.\n * @param {GeneratorObject} generator - The generator to send the intent feedback to.\n */\nexport const sendIntentFeedback = (\n\ttranslatorId,\n\tintentPayload,\n\tstatus,\n\tmessage,\n\tgenerator\n) => {\n\tgenerator = generator ?? getDefaultGenerator();\n\n\tgeneratorChain.processSendIntentFeedback(\n\t\ttranslatorId,\n\t\tgenerator,\n\t\tintentPayload,\n\t\tstatus,\n\t\tmessage\n\t);\n};\n","/**\n * @file translatorService.js\n * @description Translator-side service responsible for routing messages to the translator chain.\n */\n\nimport {\n\tgetTranslatorById,\n\tgetTranslators,\n\tregisterTranslatorById,\n\tdeleteTranslatorById\n} from './translatorRegistry';\n\nimport {\n\tgetCurrentActiveTranslatorId,\n\tsetCurrentActiveTranslatorId,\n\tclearActiveTranslatorId\n} from '../sessionStorage/activeTranslatorService';\n\nimport {\n\tsendContextToGenerator,\n\tsendSystemMessage\n} from '../generator/generatorService';\nimport {\n\tgetGeneratorById,\n\tgetDefaultGenerator\n} from '../generator/generatorRegistry';\nimport {translatorChain} from './translatorChain';\nimport {intentActions, targetTypes, systemMessageTypes} from '../constants';\nimport {\n\tunsubscribeFromAllTopics,\n\tsubscribeToTopics\n} from '../pubsub/pubsubService';\n\nconst {INTENT_RECEIVED} = intentActions;\n\n/**\n * @public\n *\n * Sends an intent to a specific translator via the messaging chain.\n *\n * @param {string} translatorId - The id of the translator to send to.\n * @param {*} intentPayload - The intent object to send.\n * @param {string} originatingGeneratorId - The ID of the generator sending the intent.\n */\nexport const sendIntent = (\n\ttranslatorId,\n\tintentPayload,\n\toriginatingGeneratorId\n) => {\n\tconst generatorForFeedback = originatingGeneratorId\n\t\t? getGeneratorById(originatingGeneratorId)\n\t\t: getDefaultGenerator();\n\n\tif (!generatorForFeedback) {\n\t\tconsole.warn(\n\t\t\t'No originating generator ID provided to sendIntent(), and no default generator found.'\n\t\t);\n\t\treturn;\n\t}\n\n\ttranslatorChain.processSendIntent(\n\t\ttranslatorId,\n\t\tintentPayload,\n\t\tgetCurrentActiveTranslatorId(),\n\t\tgeneratorForFeedback\n\t);\n};\n\n/**\n * @public\n *\n * Sends an intent to a translator whose context ID matches the one provided in the payload.\n *\n * @param {SendIntentByContextPayload} payload\n */\nexport const sendIntentByTranslatorContextId = (payload) => {\n\tif (!payload?.translatorContextId) {\n\t\tconsole.error(\n\t\t\t'translatorContextId is required to send intent to a translator.'\n\t\t);\n\t\treturn;\n\t}\n\n\t// TODO - Move this into the translatorChain & update the handlers. It needs to support iframes!\n\n\tconst translators = getTranslators();\n\tfor (const translator in translators) {\n\t\tif (\n\t\t\ttranslators[translator]?.translatorContextId ===\n\t\t\tpayload.translatorContextId\n\t\t) {\n\t\t\ttranslators[translator].dispatch(INTENT_RECEIVED, {\n\t\t\t\tintent: payload.intent\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t}\n};\n\n/**\n * @public\n *\n * Updates the context for the given translator and notifies a generator.\n *\n * @param {string} translatorId\n * @param {TranslatorContext} context\n * @param {string} targetGeneratorId - The ID of the generator to send the context to.\n */\nexport const updateContext = (translatorId, context, targetGeneratorId) => {\n\tif (getTranslatorById(translatorId)) {\n\t\tregisterTranslatorById(translatorId, {\n\t\t\t...getTranslatorById(translatorId),\n\t\t\tcontext\n\t\t});\n\t\tsendContextToGenerator(translatorId, targetGeneratorId);\n\t}\n};\n\n/**\n * @public\n *\n * Removes the given translator and clears the active translator id if it was active.\n *\n * @param {string} translatorId\n */\nexport const removeTranslator = (translatorId) => {\n\tsendSystemMessage(translatorId, {\n\t\ttype: systemMessageTypes.TRANSLATOR_REMOVED\n\t});\n\tif (getCurrentActiveTranslatorId() === translatorId) {\n\t\tclearActiveTranslatorId();\n\t}\n\tdeleteTranslatorById(translatorId);\n\tunsubscribeFromAllTopics(translatorId, targetTypes.TRANSLATOR);\n};\n\n/**\n * @public\n *\n * Registers a translator in memory and optionally sets it as active.\n *\n * @param {string} translatorId - Unique id for the translator.\n * @param {Function} callback - Dispatch function to handle actions.\n * @param {TranslatorContext|null} context - Optional translator context.\n * @param {TranslatorRegistrationPayload} payload - Registration payload used to provide optional metadata.\n */\nexport const registerTranslator = (\n\ttranslatorId,\n\tcallback,\n\tcontext = null,\n\tpayload\n) => {\n\tif (window !== window.top) {\n\t\twindow.addEventListener('unload', () => {\n\t\t\tremoveTranslator(translatorId);\n\t\t});\n\t}\n\n\tconst value = payload?.options?.translatorContextId\n\t\t? {\n\t\t\t\tdispatch: callback,\n\t\t\t\ttranslatorContextId: payload.options.translatorContextId\n\t\t  }\n\t\t: {dispatch: callback};\n\n\tregisterTranslatorById(translatorId, value);\n\n\tif (!getCurrentActiveTranslatorId()) {\n\t\tsetCurrentActiveTranslatorId(translatorId);\n\t\tupdateContext(translatorId, context);\n\t}\n\n\t// Subscribe to topics if provided in payload options\n\tconst subscribedTopics = payload?.options?.subscribedTopics;\n\n\tif (subscribedTopics) {\n\t\tsubscribeToTopics(\n\t\t\ttranslatorId,\n\t\t\ttargetTypes.TRANSLATOR,\n\t\t\tsubscribedTopics,\n\t\t\tcallback\n\t\t);\n\t}\n};\n","import {\n\tsubscribeToTopic,\n\tunsubscribeFromTopic,\n\tbroadcastTopic\n} from './pubsubService';\n\nimport {intentActions} from '../constants';\n\nconst {SUBSCRIBE_TO_TOPIC, UNSUBSCRIBE_FROM_TOPIC, BROADCAST_TOPIC_REQUESTED} =\n\tintentActions;\n\nexport const getPubsubActionHandlers = (targetType) => {\n\tif (!targetType) {\n\t\tthrow new Error('Target type is required for pubsub action handlers');\n\t}\n\tif (targetType !== 'generator' && targetType !== 'translator') {\n\t\tthrow new Error(\n\t\t\t'Invalid target type. Must be \"generator\" or \"translator\".'\n\t\t);\n\t}\n\n\treturn {\n\t\t[SUBSCRIBE_TO_TOPIC]: {\n\t\t\teffect({host, action, dispatch}) {\n\t\t\t\tconst {nowId} = host;\n\n\t\t\t\tif (!action.payload?.topic) {\n\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t`Missing 'topic' in ${SUBSCRIBE_TO_TOPIC} action payload. nowId: ${nowId}`\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsubscribeToTopic(nowId, targetType, action.payload.topic, dispatch);\n\t\t\t}\n\t\t},\n\n\t\t[UNSUBSCRIBE_FROM_TOPIC]: {\n\t\t\teffect({host, action}) {\n\t\t\t\tconst {nowId} = host;\n\n\t\t\t\tif (!action.payload?.topic) {\n\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t`Missing 'topic' in ${UNSUBSCRIBE_FROM_TOPIC} action payload. nowId: ${nowId}`\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tunsubscribeFromTopic(nowId, targetType, action.payload.topic);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Broadcasts a topic to all targets of a given type.\n\t\t * @param {{ action: { payload: { targetType: string, topic: string, data: any }}}} context\n\t\t */\n\t\t[BROADCAST_TOPIC_REQUESTED]: {\n\t\t\teffect({host, action}) {\n\t\t\t\tconst {nowId} = host;\n\n\t\t\t\tif (!action.payload?.topic) {\n\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t`Missing 'topic' in ${BROADCAST_TOPIC_REQUESTED} action payload. nowId: ${nowId}`\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (!action.payload?.targetType) {\n\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t`Missing 'targetType' in ${BROADCAST_TOPIC_REQUESTED} action payload. nowId: ${nowId}`\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tbroadcastTopic(\n\t\t\t\t\t\taction.payload.targetType,\n\t\t\t\t\t\taction.payload.topic,\n\t\t\t\t\t\taction.payload?.data\n\t\t\t\t\t);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.error(`Error broadcasting topic. nowId: ${nowId}`, error);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t};\n};\n","/**\n * @file intent-generator-behavior.js\n * @description Behavior module for generator components. Handles generator registration\n * and sending intents.\n */\n\nimport {registerGenerator, removeGenerator} from './generatorService';\nimport {\n\tsendIntent,\n\tsendIntentByTranslatorContextId\n} from '../translator/translatorService';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {intentActions, targetTypes} from '../constants';\nimport {getPubsubActionHandlers} from '../pubsub/getPubsubActionHandlers';\n\nconst {COMPONENT_CONNECTED, COMPONENT_DISCONNECTED} = actionTypes;\n\nconst {SEND_INTENT, SEND_INTENT_BY_TRANSLATOR_CONTEXT_ID} = intentActions;\n\n/**\n * @public\n *\n * Behavior definition for generator components.\n * Handles lifecycle registration and sending intents.\n *\n * @type {Object}\n */\nexport const intentGeneratorBehavior = {\n\tname: 'intentGenerator',\n\n\tactionHandlers: {\n\t\t...getPubsubActionHandlers(targetTypes.GENERATOR),\n\n\t\t/**\n\t\t * Registers the generator when the component is connected.\n\t\t *\n\t\t * @param {{ host: { nowId: string }, dispatch: Function }} context\n\t\t */\n\t\t[COMPONENT_CONNECTED]({host, action, dispatch}) {\n\t\t\tconst {nowId} = host;\n\n\t\t\tregisterGenerator(nowId, dispatch, action.payload);\n\t\t},\n\n\t\t/**\n\t\t * Removes the generator when the component is disconnected.\n\t\t */\n\t\t[COMPONENT_DISCONNECTED]({host}) {\n\t\t\tconst {nowId} = host;\n\n\t\t\tremoveGenerator(nowId);\n\t\t},\n\n\t\t/**\n\t\t * Forwards a SEND_INTENT action to the translator service.\n\t\t *\n\t\t * @param {{ action: { payload: { translatorId: string, intent: * } } }} context\n\t\t */\n\t\t[SEND_INTENT]: {\n\t\t\teffect({host, action}) {\n\t\t\t\tconst {nowId} = host;\n\n\t\t\t\tif (!action.payload?.translatorId) {\n\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t`IntentGeneratorBehavior: ${SEND_INTENT} action is missing translatorId.`\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (!action.payload?.intent) {\n\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t`IntentGeneratorBehavior: ${SEND_INTENT} action is missing intent.`\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsendIntent(action.payload?.translatorId, action.payload?.intent, nowId);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\n\t\t/**\n\t\t * Forwards an intent to the appropriate translator using contextId routing.\n\t\t *\n\t\t * @param {{ action: { payload: SendIntentByContextPayload } }} context\n\t\t */\n\t\t[SEND_INTENT_BY_TRANSLATOR_CONTEXT_ID]: {\n\t\t\teffect({action}) {\n\t\t\t\tsendIntentByTranslatorContextId(action.payload);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","/**\n * @file mediatorService.js\n * @description Service for managing the mediator registry and active translator routing logic.\n */\n\nimport {getTranslatorById} from '../translator/translatorRegistry';\nimport {sendContextToGenerator} from '../generator/generatorService';\nimport {\n\tsetCurrentActiveTranslatorId,\n\tunsetCurrentActiveTranslatorId\n} from '../sessionStorage/activeTranslatorService';\nimport {MediatorRegistry} from './registry';\n\n/**\n * @public\n *\n * Registers a new mediator handler using the given id.\n *\n * @param {string} id - The identifier for the mediator.\n * @param {Function} handler - Function responsible for handling routed actions.\n * @throws {Error} If a mediator is already registered or arguments are invalid.\n */\nexport const registerMediator = (id, handler) => {\n\tMediatorRegistry.getInstance().setMediator(id, handler);\n};\n\n/**\n * @public\n *\n * Unregisters an existing mediator by its id.\n *\n * @param {string} id - The identifier of the mediator to remove.\n * @throws {Error} If no matching mediator is registered.\n */\nexport const removeMediator = (id) => {\n\tMediatorRegistry.getInstance().unsetMediator(id);\n};\n\n/**\n * @public\n *\n * Sets the provided translator as the active translator for the current session.\n * Also forwards the associated context to the generator.\n *\n * @param {string} translatorId - Translator to activate.\n */\nexport const setActiveTranslator = (translatorId) => {\n\tif (getTranslatorById(translatorId)) {\n\t\tsetCurrentActiveTranslatorId(translatorId);\n\t\tsendContextToGenerator(translatorId);\n\t}\n};\n\n/**\n * @public\n *\n * Unsets the currently active translator if the id matches.\n * Clears and forwards an empty context to the generator.\n *\n * @param {string} translatorId - Translator to deactivate.\n */\nexport const unsetActiveTranslator = (translatorId) => {\n\tif (getTranslatorById(translatorId)) {\n\t\tif (unsetCurrentActiveTranslatorId(translatorId)) {\n\t\t\tsendContextToGenerator('');\n\t\t}\n\t}\n};\n","/**\n * @file intent-mediator-behavior.js\n * @description Behavior for managing active translator context within the mediator.\n */\nimport {setActiveTranslator, unsetActiveTranslator} from '../mediatorService';\nimport {intentActions} from '../../constants';\n\nconst {SET_ACTIVE_CONTEXT, UNSET_ACTIVE_CONTEXT} = intentActions;\n\n/**\n * @public\n *\n * UI Core behavior for intent mediator components.\n * Provides handlers for setting/unsetting the active translator context.\n */\nexport const intentMediatorBehavior = {\n\tname: 'intentMediator',\n\n\t/**\n\t * @type {ActionHandlers}\n\t */\n\tactionHandlers: {\n\t\t/**\n\t\t * Sets the given translator as the active one.\n\t\t * @param {ActiveContextActionPayload} param0\n\t\t */\n\t\t[SET_ACTIVE_CONTEXT]: {\n\t\t\teffect({action}) {\n\t\t\t\tsetActiveTranslator(action.payload.translatorId);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\n\t\t/**\n\t\t * Unsets the active translator if the translator id matches.\n\t\t * @param {ActiveContextActionPayload} param0\n\t\t */\n\t\t[UNSET_ACTIVE_CONTEXT]: {\n\t\t\teffect({action}) {\n\t\t\t\tunsetActiveTranslator(action.payload.translatorId);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","/**\n * @file translatorBehavior.js\n * @description Behavior module for translator components. Handles translator registration,\n * context updates, intent feedback, skill-based conversations, and system message forwarding.\n */\n\nimport {\n\tupdateContext,\n\tregisterTranslator,\n\tremoveTranslator\n} from './translatorService';\n\nimport {\n\tsendIntentFeedback,\n\tsendSystemMessage,\n\trequestConversationWithSkill\n} from '../generator/generatorService';\n\nimport {actionTypes} from '@servicenow/ui-core';\nimport {intentActions, targetTypes} from '../constants';\n\nimport {getPubsubActionHandlers} from '../pubsub/getPubsubActionHandlers';\n\nconst {COMPONENT_CONNECTED, COMPONENT_DISCONNECTED} = actionTypes;\nconst {\n\tUPDATE_CONTEXT,\n\tREGISTER_TRANSLATOR,\n\tREMOVE_TRANSLATOR,\n\tSEND_INTENT_FEEDBACK,\n\tCREATE_CONVERSATION_WITH_SKILL,\n\tSEND_SYSTEM_MESSAGE\n} = intentActions;\n\n/**\n * @public\n *\n * Behavior definition that enables a component to act as an intent translator.\n * Handles lifecycle registration, context updates, intent feedback, system messages,\n * and requests to initiate skill-based conversations.\n */\nexport const intentTranslatorBehavior = {\n\tname: 'intentTranslator',\n\n\tactionHandlers: {\n\t\t...getPubsubActionHandlers(targetTypes.TRANSLATOR),\n\n\t\t/**\n\t\t * Automatically registers the translator when the component is connected.\n\t\t * Skips registration if `disableAutomaticallyRegistering` is true in the options.\n\t\t *\n\t\t * @param {{ host: any, dispatch: Function, action: { payload: { options: { disableAutomaticallyRegistering: boolean } } } }} context\n\t\t */\n\t\t[COMPONENT_CONNECTED]({host, dispatch, action}) {\n\t\t\tif (action.payload.options?.disableAutomaticallyRegistering) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tregisterTranslator(host.nowId, dispatch, null, action.payload);\n\t\t},\n\n\t\t/**\n\t\t * Automatically removes the translator when the component disconnects.\n\t\t *\n\t\t * @param {{ host: any }} context\n\t\t */\n\t\t[COMPONENT_DISCONNECTED]({host}) {\n\t\t\tconst {nowId} = host;\n\n\t\t\tremoveTranslator(nowId);\n\t\t},\n\n\t\t/**\n\t\t * Updates the context associated with the current translator.\n\t\t *\n\t\t * @param {{ host: any, action: { payload: { context: any } } }} context\n\t\t */\n\t\t[UPDATE_CONTEXT]: {\n\t\t\teffect({host, action}) {\n\t\t\t\tconst {nowId} = host;\n\t\t\t\tconst {payload} = action;\n\n\t\t\t\tupdateContext(nowId, payload.context, payload.targetGeneratorId);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\n\t\t/**\n\t\t * Manually registers the translator with optional context and configuration payload.\n\t\t *\n\t\t * @param {{ host: any, dispatch: Function, action: { payload: any } }} context\n\t\t */\n\t\t[REGISTER_TRANSLATOR]: {\n\t\t\teffect({host, dispatch, action}) {\n\t\t\t\tregisterTranslator(\n\t\t\t\t\thost.nowId,\n\t\t\t\t\tdispatch,\n\t\t\t\t\taction.payload.context,\n\t\t\t\t\taction.payload\n\t\t\t\t);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\n\t\t/**\n\t\t * Unregisters the translator from the system.\n\t\t *\n\t\t * @param {{ host: any }} context\n\t\t */\n\t\t[REMOVE_TRANSLATOR]: {\n\t\t\teffect({host}) {\n\t\t\t\tremoveTranslator(host.nowId);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\n\t\t/**\n\t\t * Sends intent feedback (status, message, originalIntent) from the translator to the generator.\n\t\t *\n\t\t * @param {{ host: any, action: { payload: { originalIntent: any, status: any, message: any } } }} context\n\t\t */\n\t\t[SEND_INTENT_FEEDBACK]: {\n\t\t\teffect({host, action}) {\n\t\t\t\tconst {payload, meta} = action;\n\t\t\t\tconst {originalIntent, status, message} = payload;\n\n\t\t\t\tsendIntentFeedback(\n\t\t\t\t\thost.nowId,\n\t\t\t\t\toriginalIntent,\n\t\t\t\t\tstatus,\n\t\t\t\t\tmessage,\n\t\t\t\t\tmeta.generatorForFeedback\n\t\t\t\t);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\n\t\t/**\n\t\t * Initiates a conversation with a specific skill on behalf of the translator.\n\t\t *\n\t\t * @param {{ host: any, action: { payload: { skillId: string, params: Object } } }} context\n\t\t */\n\t\t[CREATE_CONVERSATION_WITH_SKILL]: {\n\t\t\teffect({host, action}) {\n\t\t\t\trequestConversationWithSkill(\n\t\t\t\t\thost.nowId,\n\t\t\t\t\taction.payload.skillId,\n\t\t\t\t\taction.payload.params\n\t\t\t\t);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\n\t\t/**\n\t\t * Sends a system message from the translator to the generator.\n\t\t *\n\t\t * @param {{ host: any, action: { payload: { message: any } } }} context\n\t\t */\n\t\t[SEND_SYSTEM_MESSAGE]: {\n\t\t\teffect({host, action}) {\n\t\t\t\tsendSystemMessage(host.nowId, action.payload.message);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n","/**\n * @file intent-routing-mediator-behavior.js\n * @description Behavior that registers and unregisters mediator handlers\n * for routing intents based on component lifecycle and dispatched actions.\n */\n\nimport {actionTypes} from '@servicenow/ui-core';\nconst {COMPONENT_DISCONNECTED} = actionTypes;\n\nimport {registerMediator, removeMediator} from '../mediatorService';\n\n/**\n * Action type dispatched to register a mediator handler.\n * @type {string}\n */\nexport const REGISTER_MEDIATOR = 'REGISTER_MEDIATOR';\n\n/**\n * Action type dispatched to unregister a mediator handler.\n * @type {string}\n */\nexport const UNREGISTER_MEDIATOR = 'UNREGISTER_MEDIATOR';\n\n/**\n * @public\n *\n * A behavior that handles intent mediator registration and lifecycle cleanup.\n * @type {object}\n */\nexport const intentRoutingMediatorBehavior = {\n\tname: 'intentRoutingMediatorBehavior',\n\n\t/**\n\t * Action handlers for registering and removing mediators.\n\t */\n\tactionHandlers: {\n\t\t/**\n\t\t * Registers a mediator handler for the given component.\n\t\t * Expects an action payload containing `{ mediatorHandler }`.\n\t\t */\n\t\t[REGISTER_MEDIATOR]: {\n\t\t\teffect({host, action}) {\n\t\t\t\tconst {mediatorHandler} = action.payload;\n\t\t\t\tif (!mediatorHandler) {\n\t\t\t\t\tthrow new Error('Mediator handler is required');\n\t\t\t\t}\n\t\t\t\tregisterMediator(host.nowId, mediatorHandler);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\n\t\t/**\n\t\t * Unregisters the mediator for the given component.\n\t\t */\n\t\t[UNREGISTER_MEDIATOR]: {\n\t\t\teffect({host}) {\n\t\t\t\tremoveMediator(host.nowId);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\n\t\t/**\n\t\t * Automatically unregisters the mediator when the component is disconnected.\n\t\t */\n\t\t[COMPONENT_DISCONNECTED]: {\n\t\t\teffect({host}) {\n\t\t\t\ttry {\n\t\t\t\t\tremoveMediator(host.nowId);\n\t\t\t\t} catch (e) {\n\t\t\t\t\t// Swallowing the exception to avoid disrupting disconnection flow\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n","/**\n * @file getNowAssistApiWrapper.js\n * @description Exposes runtime-safe APIs for Now Assist interactions scoped to the current translator component.\n */\n\nimport {requestConversationWithSkill} from '../generator/generatorService';\n\n/**\n * Creates a proxy-based API wrapper for Now Assist functionality.\n * Currently supports:\n *   - `requestConversationWithSkill(skillId, params)`\n *\n * This wrapper ensures the `translatorId` (nowId) is bound automatically based on the hosting macroponent.\n *\n * @param {{ nowId: string }} macroponentProperties - The macroponent properties object (e.g., host).\n * @returns {object} A proxy object exposing supported Now Assist APIs.\n *\n * @example\n * const nowAssistApi = getNowAssistApiWrapper({ nowId: 'translator1' });\n * nowAssistApi.requestConversationWithSkill('mySkillId', { topic: 'Reset password' });\n */\nexport const getNowAssistApiWrapper = (macroponentProperties) =>\n\tnew Proxy(\n\t\t{},\n\t\t{\n\t\t\tget(_, apiName) {\n\t\t\t\tif (apiName === 'requestConversationWithSkill') {\n\t\t\t\t\treturn (...fnArguments) => {\n\t\t\t\t\t\tconst {nowId} = macroponentProperties;\n\t\t\t\t\t\tif (!nowId) throw new Error(`Unable to find translator id`);\n\t\t\t\t\t\trequestConversationWithSkill.apply(null, [nowId, ...fnArguments]);\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t);\n","/**\n * @file getIntentChannelClientScriptApi.js\n * @description Exposes the public client script API for the intent channel, used in macroponents.\n */\n\nimport {getNowAssistApiWrapper} from './getNowAssistApiWrapper';\n\n/**\n * @public\n *\n * The name of the intent channel package.\n * @type {string}\n */\nexport const LIBRARY_INTENT_CHANNEL_PACKAGE_NAME = 'sn_uxf.uiIntentLib';\n\n/**\n * @public\n *\n * Returns a function that exposes the public client script API for intent-related capabilities.\n *\n * @param {object} macroponentProperties - The properties passed to the macroponent.\n * @returns {function(): { nowAssist: object }} A factory function that returns the client script API.\n */\nexport function getIntentChannelClientScriptApi(macroponentProperties) {\n\treturn () => ({\n\t\tnowAssist: getNowAssistApiWrapper(macroponentProperties)\n\t});\n}\n","import {getClientScriptInclude} from '../../../scriptLoader/registry';\nimport {default as console} from '../../../utils/getLogger';\nimport {partial} from '@devsnc/snowdash';\nimport {getThirdPartyAPIs} from '../../thirdpartyLibs';\nimport {\n\tLIBRARY_INTENT_CHANNEL_PACKAGE_NAME,\n\tgetIntentChannelClientScriptApi\n} from '@devsnc/library-intent-channel';\n\nexport const createImportsProxyHandlers = (macroponentProperties) => ({\n\tget(includesObj, apiName) {\n\t\tif (apiName === 'sn_uxf.core_libraries') return getThirdPartyAPIs;\n\t\telse if (apiName === LIBRARY_INTENT_CHANNEL_PACKAGE_NAME)\n\t\t\treturn getIntentChannelClientScriptApi(macroponentProperties);\n\t\tif (!(apiName in includesObj))\n\t\t\tthrow Error(\n\t\t\t\t`Attempted to import undeclared client script include: ${apiName}`\n\t\t\t);\n\n\t\tconst scriptInclude = getClientScriptInclude(apiName);\n\t\tif (!scriptInclude)\n\t\t\tthrow Error(`Unable to load client script include: ${apiName}`);\n\n\t\tconst {fn, includes: includeApiNames} = scriptInclude;\n\n\t\tconst scriptIncludeApi = {\n\t\t\timports: getImports(macroponentProperties, includeApiNames)\n\t\t};\n\n\t\treturn partial(fn, scriptIncludeApi);\n\t},\n\n\tset() {\n\t\tconsole.error('Operation not allowed');\n\t}\n});\n\nexport default function getImports(macroponentProperties, includes) {\n\tconst includesObj = includes.reduce(\n\t\t(obj, include) => {\n\t\t\tobj[include] = true;\n\t\t\treturn obj;\n\t\t},\n\t\t{'sn_uxf.core_libraries': true},\n\t\t{[LIBRARY_INTENT_CHANNEL_PACKAGE_NAME]: true}\n\t);\n\n\treturn new Proxy(\n\t\tincludesObj,\n\t\tcreateImportsProxyHandlers(macroponentProperties)\n\t);\n}\n","import * as snLodash from '@devsnc/snowdash';\nimport {filter, mapValues, mapKeys, isObject} from '@devsnc/snowdash';\nimport {actionTypes as dbActionTypes} from '../../databrokers/behaviors/data-broker-runtime/constants';\n\nconst {UXF_DB_OP_TRIGGER_REQUESTED} = dbActionTypes;\n\nconst isValidString = (p) => p && snLodash.isString(p);\n\nexport function getPayloadFromArguments(args = []) {\n\tif (args.length === 1 && isObject(args[0])) {\n\t\treturn args[0];\n\t}\n}\n\n// keeping eventProperties around so that, in future, we can validate the payload being sent\nexport function getFunctionFactoryForOperation({\n\tname: operationName,\n\t// eslint-disable-next-line no-unused-vars\n\teventProperties = []\n}) {\n\treturn (uxfEmitFn, dataElementId, meta) => {\n\t\treturn (...fnArguments) => {\n\t\t\tuxfEmitFn(meta, UXF_DB_OP_TRIGGER_REQUESTED, {\n\t\t\t\toperation: {\n\t\t\t\t\toperationName,\n\t\t\t\t\tdataElementId\n\t\t\t\t},\n\t\t\t\toperationPayload: getPayloadFromArguments(fnArguments)\n\t\t\t});\n\t\t};\n\t};\n}\n\nconst OP_KEY_API_FN_NAME = 'apiFunctionName';\n\nexport default function (dataBrokerDefinition) {\n\tconst {operations} = dataBrokerDefinition;\n\treturn mapValues(\n\t\tmapKeys(\n\t\t\tfilter(\n\t\t\t\toperations,\n\t\t\t\t({exposedToScriptingApi, [OP_KEY_API_FN_NAME]: apiFunctionName}) =>\n\t\t\t\t\texposedToScriptingApi && isValidString(apiFunctionName)\n\t\t\t),\n\t\t\tOP_KEY_API_FN_NAME\n\t\t),\n\t\tgetFunctionFactoryForOperation\n\t);\n}\n","import {isFunction} from '@devsnc/snowdash';\nimport {includes} from '@devsnc/snowdash';\nimport {difference} from '@devsnc/snowdash';\nimport {values} from '@devsnc/snowdash';\n\nimport {\n\tinternalActions,\n\tpublicActionHandlerNames,\n\tcomponentViewportInternalActions,\n\tDEPENDENCY_RELAY_EVENTS_ALLOWED_FROM_SCRIPT,\n\tpublicSeismicActions\n} from '../../constants';\nimport {\n\tactionTypes as dataBrokerActionTypes,\n\tactionTypesAllowedFromScript\n} from '../../databrokers/behaviors/data-broker-runtime/constants';\nimport {actionTypes as seismicActionTypes} from '@servicenow/ui-core';\nimport {dispatchInternalAction} from '../../getInternalEffect.js';\nimport {default as console} from '../../../utils/getLogger.js';\n\nexport const getPrivateSeismicActions = (actionTypes = []) => {\n\treturn actionTypes.filter((action) => !publicSeismicActions.includes(action));\n};\n\nexport const sandboxedActions = [\n\t...values(internalActions),\n\t...difference(values(dataBrokerActionTypes), actionTypesAllowedFromScript),\n\t...getPrivateSeismicActions(values(seismicActionTypes))\n];\n\nconst allowedComponentViewportInternalActions = [\n\t...values(componentViewportInternalActions)\n];\n\nconst macroponentPublicActions = values(publicActionHandlerNames);\nconst allowedDependencyRelayEvents = values(\n\tDEPENDENCY_RELAY_EVENTS_ALLOWED_FROM_SCRIPT\n);\n\nexport function isActionEmissionAllowed(\n\tblocklist = [],\n\tallowlist = [],\n\tactionName\n) {\n\treturn includes(\n\t\tdifference(allowlist, blocklist, sandboxedActions),\n\t\tactionName\n\t);\n}\n\nfunction includeComponentViewportActionMeta(name) {\n\treturn allowedComponentViewportInternalActions.includes(name)\n\t\t? {\n\t\t\t\tuxfComponentViewportMeta: {\n\t\t\t\t\tallowComponentViewportActionInEmitFn: true\n\t\t\t\t}\n\t\t  }\n\t\t: null;\n}\n\nexport default function getUxfEmitFn(\n\tmacroponentSeismicDispatchFn,\n\trootSeismicDispatchFn,\n\trootHandledEventNames = [],\n\tactionBlocklist,\n\tpublicEventNames\n) {\n\tconst actionAllowList = [\n\t\t...publicEventNames,\n\t\t...actionTypesAllowedFromScript,\n\t\t...macroponentPublicActions,\n\t\t...allowedDependencyRelayEvents,\n\t\t...publicSeismicActions\n\t];\n\n\treturn function emitWithMeta(meta, name, payload) {\n\t\tif (!isActionEmissionAllowed(actionBlocklist, actionAllowList, name)) {\n\t\t\tconsole.error(\n\t\t\t\t`emit was ignored: ${name} is not a declared dispatched event of macroponent`\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\t// sandbox access to seismic's dispatch(() => {});\n\t\tif (isFunction(name)) {\n\t\t\tconsole.error(`emit was ignored: ${name} cannot be a function`);\n\t\t\treturn;\n\t\t}\n\n\t\tif (rootHandledEventNames.includes(name))\n\t\t\trootSeismicDispatchFn(name, payload, meta);\n\t\telse if (\n\t\t\tactionTypesAllowedFromScript.includes(name) ||\n\t\t\tallowedDependencyRelayEvents.includes(name)\n\t\t)\n\t\t\tdispatchInternalAction(macroponentSeismicDispatchFn, name, payload, meta);\n\t\telse\n\t\t\tmacroponentSeismicDispatchFn(name, payload, {\n\t\t\t\t...meta,\n\t\t\t\t...includeComponentViewportActionMeta(name)\n\t\t\t});\n\t};\n}\n","import {isFunction} from '@devsnc/snowdash';\nimport {get} from '@devsnc/snowdash';\nimport {\n\tIS_SOURCED_FROM_SET_STATE,\n\tMACROPONENT_VALUE_UPDATED,\n\tIS_SOURCED_FROM_PERSISTED_STATE_CHANGE\n} from '../../constants';\n\nconst BEHAVIOR_OBJ_KEY = 'behaviors';\n\nfunction getUpdatedState(\n\tinstance,\n\tcurrentValue,\n\tfn,\n\tseismicState,\n\tseismicProperties\n) {\n\treturn fn({\n\t\tcurrentValue,\n\t\tapi: instance.getApi(seismicProperties, seismicState).api\n\t});\n}\n\n/**\n * Process a single state update\n * @private\n */\nfunction processStateUpdate(\n\tinstance,\n\tseismicDispatch,\n\tmcpSysId,\n\tdispatchMcpUpdates,\n\tpath,\n\tvalue,\n\tseismicState,\n\tseismicProperties,\n\tshouldRender,\n\toperation\n) {\n\tconst currentValue = get(seismicState, [path]);\n\tconst updatedState = isFunction(value)\n\t\t? getUpdatedState(\n\t\t\t\tinstance,\n\t\t\t\tcurrentValue,\n\t\t\t\tvalue,\n\t\t\t\tseismicState,\n\t\t\t\tseismicProperties\n\t\t  )\n\t\t: value;\n\n\t// dispatch an action for UIB WYSIWYG state if needed\n\tif (dispatchMcpUpdates) {\n\t\tseismicDispatch(MACROPONENT_VALUE_UPDATED, {\n\t\t\tmacroponentSysId: mcpSysId,\n\t\t\tstate: {[path]: updatedState}\n\t\t});\n\t}\n\n\tconst update = {\n\t\tpath,\n\t\tvalue: updatedState,\n\t\tshouldRender\n\t};\n\n\tif (operation) {\n\t\tupdate.operation = operation;\n\t}\n\n\treturn update;\n}\n\n/**\n * Updates a single state property\n */\nexport default function setState(\n\tinstance,\n\tseismicDispatch,\n\tseismicUpdateState,\n\tmcpSysId,\n\tdispatchMcpUpdates,\n\tstatePropertyName,\n\tfnOrNewState,\n\tshouldRender = true\n) {\n\t// this to prevent setState from updating the default seismic \"behaviors\" object\n\tif (statePropertyName === BEHAVIOR_OBJ_KEY) {\n\t\tconsole.warn(\n\t\t\t'Warning: Attempted to modify the default Seismic behaviors object using the setState function. This operation is not permitted and ignored'\n\t\t);\n\t\treturn;\n\t}\n\n\tconst update = ({state: seismicState, properties: seismicProperties}) => {\n\t\tconst {value: updatedState} = processStateUpdate(\n\t\t\tinstance,\n\t\t\tseismicDispatch,\n\t\t\tmcpSysId,\n\t\t\tdispatchMcpUpdates,\n\t\t\tstatePropertyName,\n\t\t\tfnOrNewState,\n\t\t\tseismicState,\n\t\t\tseismicProperties,\n\t\t\tshouldRender\n\t\t);\n\n\t\tif (shouldRender) {\n\t\t\treturn {\n\t\t\t\t[statePropertyName]: updatedState\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\t[statePropertyName]: updatedState,\n\t\t\tshouldRender\n\t\t};\n\t};\n\n\tupdate[IS_SOURCED_FROM_SET_STATE] = true;\n\tupdate.statePropertyNames = [statePropertyName];\n\n\tseismicUpdateState(update);\n}\n\n/**\n * Updates multiple state properties in a single call\n * @param {Object} instance - The component instance\n * @param {Function} seismicDispatch - Dispatch function for Seismic\n * @param {Function} seismicUpdateState - State update function for Seismic\n * @param {string} mcpSysId - Macroponent system ID\n * @param {boolean} dispatchMcpUpdates - Whether to dispatch MCP updates\n * @param {Array<{path: string, value: *, operation: string, shouldRender?: boolean}>} stateUpdates - Array of state updates\n */\nexport function setStates(\n\tinstance,\n\tseismicDispatch,\n\tseismicUpdateState,\n\tmcpSysId,\n\tdispatchMcpUpdates,\n\tstateUpdates,\n\toptions = {}\n) {\n\tif (!Array.isArray(stateUpdates) || stateUpdates.length === 0) {\n\t\tconsole.warn('setStates requires a non-empty array of state updates');\n\t\treturn;\n\t}\n\n\t// Filter out any attempts to modify the behaviors object\n\tconst validStateUpdates = stateUpdates.filter((update) => {\n\t\tif (update.path === BEHAVIOR_OBJ_KEY) {\n\t\t\tconsole.warn(\n\t\t\t\t'Warning: Attempted to modify the default Seismic behaviors object using the setStates function. This operation is not permitted and ignored'\n\t\t\t);\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t});\n\n\tif (validStateUpdates.length === 0) return;\n\n\tconst update = ({state: seismicState, properties: seismicProperties}) => {\n\t\tconst processedUpdates = validStateUpdates.map(\n\t\t\t({path, value, operation, shouldRender = true}) =>\n\t\t\t\tprocessStateUpdate(\n\t\t\t\t\tinstance,\n\t\t\t\t\tseismicDispatch,\n\t\t\t\t\tmcpSysId,\n\t\t\t\t\tdispatchMcpUpdates,\n\t\t\t\t\tpath,\n\t\t\t\t\tvalue,\n\t\t\t\t\tseismicState,\n\t\t\t\t\tseismicProperties,\n\t\t\t\t\tshouldRender,\n\t\t\t\t\toperation\n\t\t\t\t)\n\t\t);\n\n\t\treturn processedUpdates;\n\t};\n\n\tif (options.flagForBatchUpdates === IS_SOURCED_FROM_PERSISTED_STATE_CHANGE) {\n\t\tupdate[IS_SOURCED_FROM_PERSISTED_STATE_CHANGE] = true;\n\t} else {\n\t\tupdate[IS_SOURCED_FROM_SET_STATE] = true;\n\t}\n\tupdate.statePropertyNames = validStateUpdates.map((update) => update.path);\n\n\tseismicUpdateState(update);\n}\n","import getElement from '../../utils/dom';\n\nexport const DISPATCHED_EVENTS = ['MODAL_SELECTED'];\n\nexport default function (uxfDispatch, host) {\n\treturn {\n\t\topen: (id, options) => {\n\t\t\tconst elementRef = getElement(host, id);\n\t\t\tconst {\n\t\t\t\tbare = false,\n\t\t\t\tpreserveState = false,\n\t\t\t\theaderLabel = ''\n\t\t\t} = options || {};\n\t\t\tuxfDispatch(\n\t\t\t\t'MODAL_SELECTED',\n\t\t\t\t{\n\t\t\t\t\tmodalId: id,\n\t\t\t\t\tshowModal: true,\n\t\t\t\t\tbare,\n\t\t\t\t\tpreserveState,\n\t\t\t\t\theaderLabel,\n\t\t\t\t\tdisplayOptions: options\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\telementRef\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\t\tclose: (id) => {\n\t\t\tconst elementRef = getElement(host, id);\n\t\t\tuxfDispatch(\n\t\t\t\t'MODAL_SELECTED',\n\t\t\t\t{\n\t\t\t\t\tmodalId: id,\n\t\t\t\t\tshowModal: false\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\telementRef\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t};\n}\n","export const DISPATCHED_EVENTS = ['SCREEN_STATUS_CHANGED'];\n\nexport default function(uxfDispatch) {\n\treturn {\n\t\tupdateStatus: (statusObj) => {\n\t\t\tconst {\n\t\t\t\ttitle,\n\t\t\t\ticon,\n\t\t\t\tmessage,\n\t\t\t\tisDirty,\n\t\t\t\tdirtyModalId,\n\t\t\t\thasError,\n\t\t\t\thasUpdate,\n\t\t\t\ttooltipPreview,\n\t\t\t\tscreenKey,\n\t\t\t\tstatus,\n\t\t\t\tskipNextScreenActivation,\n\t\t\t\tscreenParams\n\t\t\t} = statusObj;\n\t\t\tuxfDispatch('SCREEN_STATUS_CHANGED', {\n\t\t\t\ttitle,\n\t\t\t\ticon,\n\t\t\t\tmessage,\n\t\t\t\tisDirty,\n\t\t\t\tdirtyModalId,\n\t\t\t\thasError,\n\t\t\t\thasUpdate,\n\t\t\t\ttooltipPreview,\n\t\t\t\tscreenKey,\n\t\t\t\tstatus,\n\t\t\t\tskipNextScreenActivation,\n\t\t\t\tscreenParams\n\t\t\t});\n\t\t}\n\t};\n}\n","// helpers expose the browser APIs for now, but may get swapped out for\n// something that uses Seismic queues instead\nimport {isFunction} from '@devsnc/snowdash';\n\n// native setTimeout/setInterval accept a code string that gets evaluated, but\n// we don't want to allow this.\nconst ensureFunctionArg = (name) => (...args) => {\n\tif (isFunction(args[0])) {\n\t\tconst timeoutFn = globalThis[name];\n\t\treturn timeoutFn.apply(globalThis, args);\n\t} else {\n\t\tthrow new TypeError(\n\t\t\t`${name} must be called with a function as the first argument`\n\t\t);\n\t}\n};\n\nexport default {\n\tsetTimeout: ensureFunctionArg('setTimeout'),\n\tsetInterval: ensureFunctionArg('setInterval'),\n\tclearTimeout: (...args) => clearTimeout.apply(globalThis, args),\n\tclearInterval: (...args) => clearInterval.apply(globalThis, args)\n};\n","import {publicActionHandlerNames} from '../../factory/constants';\nconst {MACROPONENT_FOCUS_ELEMENT_REQUESTED} = publicActionHandlerNames;\n\nexport default function (dispatch, elementId, restParams = []) {\n\tdispatch(MACROPONENT_FOCUS_ELEMENT_REQUESTED, {elementId, restParams});\n}\n","export async function writeText(input) {\n\treturn navigator.clipboard.writeText(input);\n}\n","export function getBaseUrl() {\n\treturn `${window.origin}`;\n}\n","import {writeText} from './write';\n\nexport async function copyUrlToClipboard() {\n\tawait writeText(window.location.href);\n}\n","import {getBaseUrl} from './getBaseUrl';\n\nexport const getCurrentExperienceUrl = () => {\n\tconst baseUrl = new URL(getBaseUrl());\n\tbaseUrl.pathname = window?.ux_globals?.siteName || '';\n\treturn baseUrl.toString();\n};\n","import getNavigateApi, {\n\tDISPATCHED_EVENTS as navigationDispatchedEvents\n} from './apis/navigate';\nimport getHttpApi from './apis/http';\nimport getModalApi, {\n\tDISPATCHED_EVENTS as modalDispatchedEvents\n} from './apis/modal';\nimport getScreenApi, {\n\tDISPATCHED_EVENTS as screenDispatchedEvents\n} from './apis/screen';\nimport getTranslateApi from './apis/translate';\nimport timing from './apis/timing';\nimport focus from './apis/focus';\nimport {writeText} from './apis/write';\nimport {getBaseUrl} from './apis/getBaseUrl';\nimport {copyUrlToClipboard} from './apis/copyUrlToClipboard';\nimport {getCurrentExperienceUrl} from './apis/getCurrentExperienceUrl';\nexport const dispatchedEvents = [\n\t...navigationDispatchedEvents,\n\t...modalDispatchedEvents,\n\t...screenDispatchedEvents\n];\n\nexport default function getEventHandlerHelpers(host, emit, dispatch) {\n\treturn {\n\t\tsnHttp: getHttpApi(host),\n\t\tnavigate: getNavigateApi(emit),\n\t\tmodal: getModalApi(dispatch, host),\n\t\tscreen: getScreenApi(emit),\n\t\ttiming,\n\t\tfocus: (elementId, ...args) => focus(dispatch, elementId, args),\n\t\ttranslate: getTranslateApi(host),\n\t\twriteText,\n\t\tgetBaseUrl,\n\t\tcopyUrlToClipboard,\n\t\tgetCurrentExperienceUrl\n\t};\n}\n","export const DISPATCHED_EVENTS = ['NAV_ITEM_SELECTED', 'CONTENT_UPDATED'];\n\nexport default function(uxfDispatch) {\n\treturn {\n\t\tto: (\n\t\t\troute,\n\t\t\tfields,\n\t\t\tparams = {},\n\t\t\tredirect = false,\n\t\t\tpassiveNavigation = false,\n\t\t\ttargetRoute = null,\n\t\t\texternal,\n\t\t\ttitle\n\t\t) => {\n\t\t\tuxfDispatch('NAV_ITEM_SELECTED', {\n\t\t\t\troute,\n\t\t\t\tfields,\n\t\t\t\tparams,\n\t\t\t\tredirect,\n\t\t\t\tpassiveNavigation,\n\t\t\t\ttargetRoute,\n\t\t\t\texternal,\n\t\t\t\ttitle\n\t\t\t});\n\t\t},\n\t\tsetRouteParams: (params) => uxfDispatch('CONTENT_UPDATED', params)\n\t};\n}\n","import {get} from '@devsnc/snowdash';\nimport {partial} from '@devsnc/snowdash';\nimport {isFunction} from '@devsnc/snowdash';\nimport {getClientScript} from '../../../scriptLoader/registry';\nimport {\n\tinternalActions,\n\tUXF_INTERNAL_EVENT_META,\n\tUXF_DIRTY_STATE_MANAGER_LAST_CLIENT_SCRIPT_SOURCE_COMPONENT_ID\n} from '../../constants';\nimport getImports from './getImports';\nimport getDataBrokerOperationFunctions from './getDataBrokerOperationFunctions';\nimport getApiFactory from './getApiFactory';\nimport getMacroponentAccessApi from '../../macroponentAccessApi';\nimport getInternalEffect from '../../getInternalEffect';\nimport {default as console} from '../../../utils/getLogger';\nimport {mark, getInteractionId} from '@servicenow/ui-metrics';\nimport {getMacroponentInstance} from '../../registry/macroponentInstanceRegistry';\nimport resolveForConditional from '../../UxValueResolver/resolveForConditional';\nimport {isNil} from '@devsnc/snowdash';\nimport {isBoolean} from '@devsnc/snowdash';\n\nimport {mapValues} from '@devsnc/snowdash';\nimport {actionChainAugmentationInterceptor} from '../../interceptors/actionChainAugmentationInterceptor';\n\n/**\n * @typedef { import('../../../types/MacroponentApi').ApiEvent } MacroponentEventApi\n */\n\nconst {SCRIPT_EXEC_REQUESTED} = internalActions;\n\nexport const getResolvedConditional = (\n\tconsolidatedEventMappings,\n\taction,\n\tmacroponentPropertyDefinitions,\n\tcsdbNodeId,\n\tpdbNodeIds,\n\texternalControllerDependencies,\n\tcontrollerAliasMap,\n\tseismicProperties,\n\tseismicState,\n\tsourceAction\n) => {\n\tconst {\n\t\tpayload: {\n\t\t\tscriptSysId: actionScriptSysId,\n\t\t\tsourceAction: {elementId: actionNodeId, name: actionEventName, context}\n\t\t},\n\t\tmeta: {id: macroponentSysId}\n\t} = action;\n\tconst {[actionEventName]: actionEventMappings} = consolidatedEventMappings;\n\tconst actionEventMapping = (actionEventMappings || []).find(\n\t\t({nodeId, scriptSysId}) => {\n\t\t\treturn nodeId === actionNodeId && scriptSysId === actionScriptSysId;\n\t\t}\n\t);\n\tconst conditional = get(actionEventMapping, 'conditional', null);\n\tconst resolvedConditional = isNil(conditional)\n\t\t? true\n\t\t: resolveForConditional(\n\t\t\t\tmacroponentSysId,\n\t\t\t\tmacroponentPropertyDefinitions,\n\t\t\t\tcsdbNodeId,\n\t\t\t\tpdbNodeIds,\n\t\t\t\texternalControllerDependencies,\n\t\t\t\t[],\n\t\t\t\tcontrollerAliasMap,\n\t\t\t\tseismicProperties,\n\t\t\t\tseismicState,\n\t\t\t\tsourceAction,\n\t\t\t\tconditional,\n\t\t\t\tcontext?.item\n\t\t  );\n\n\treturn resolvedConditional;\n};\n\nexport default (\n\tcsdbNodeId,\n\tpdbNodeIds,\n\texternalControllerDependencyNames,\n\texternalControllerDependencies,\n\tcontrollerAliasMap,\n\t{dataBrokers, dataElements},\n\tmacroponentPropertyDefinitions,\n\tdispatchedEventNames = [],\n\thandledEventNames = [],\n\trootHandledEventNames,\n\tconsolidatedEventMappings,\n\tdispatchMcpUpdates = false\n) => {\n\tconst dataBrokerOperationFunctions = mapValues(\n\t\tdataBrokers,\n\t\tgetDataBrokerOperationFunctions\n\t);\n\tconst dataBrokerDefByElementId = mapValues(dataElements, 'definitionSysId');\n\n\tconst getMacroponentAccessApiFn = partial(\n\t\tgetMacroponentAccessApi,\n\t\ttrue,\n\t\tcsdbNodeId,\n\t\tpdbNodeIds,\n\t\texternalControllerDependencyNames,\n\t\texternalControllerDependencies,\n\t\tmacroponentPropertyDefinitions,\n\t\tcontrollerAliasMap,\n\t\tpartial.placeholder,\n\t\tpartial.placeholder,\n\t\tdataBrokerDefByElementId,\n\t\tdataBrokerOperationFunctions\n\t);\n\n\treturn {\n\t\tname: 'execScript',\n\t\tactionHandlers: {\n\t\t\t[SCRIPT_EXEC_REQUESTED]: getInternalEffect({\n\t\t\t\teffect(coeffects) {\n\t\t\t\t\tconst {action, host} = coeffects;\n\t\t\t\t\tconst startTime = performance.now();\n\t\t\t\t\tconst {\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tproperties: seismicProperties,\n\t\t\t\t\t\tstate: seismicState,\n\t\t\t\t\t\tupdateState\n\t\t\t\t\t} = coeffects;\n\t\t\t\t\tconst {nowId} = seismicProperties;\n\n\t\t\t\t\tconst {\n\t\t\t\t\t\tpayload: {scriptSysId, sourceAction},\n\t\t\t\t\t\tmeta: {id: sourceComponentId, uxfMeta}\n\t\t\t\t\t} = action;\n\n\t\t\t\t\tif (nowId !== sourceComponentId) {\n\t\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t\t`${SCRIPT_EXEC_REQUESTED} is an internal API and not available to component authors. Event mapping was ignored.`\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst clientScript = getClientScript(scriptSysId);\n\n\t\t\t\t\tconst fnToExec = get(clientScript, ['fn']);\n\t\t\t\t\tconst includeApiNames = get(clientScript, ['includes']);\n\n\t\t\t\t\tif (isFunction(fnToExec)) {\n\t\t\t\t\t\tconst instance = getMacroponentInstance(host);\n\t\t\t\t\t\tinstance.getApi = getApiFactory(\n\t\t\t\t\t\t\tdispatchedEventNames,\n\t\t\t\t\t\t\thandledEventNames,\n\t\t\t\t\t\t\trootHandledEventNames,\n\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\tinstance,\n\t\t\t\t\t\t\tgetMacroponentAccessApiFn,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\tdispatchMcpUpdates\n\t\t\t\t\t\t);\n\t\t\t\t\t\tuxfMeta[\n\t\t\t\t\t\t\tUXF_DIRTY_STATE_MANAGER_LAST_CLIENT_SCRIPT_SOURCE_COMPONENT_ID\n\t\t\t\t\t\t] = sourceComponentId;\n\t\t\t\t\t\tconst api = instance.getApi(seismicProperties, seismicState, {\n\t\t\t\t\t\t\t[UXF_INTERNAL_EVENT_META]: uxfMeta\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * @type MacroponentEventApi\n\t\t\t\t\t\t */\n\t\t\t\t\t\t// fixme: add a proxy that prevents set\n\t\t\t\t\t\tconst eventHandlerApi = {\n\t\t\t\t\t\t\t...api,\n\t\t\t\t\t\t\tevent: {\n\t\t\t\t\t\t\t\t...sourceAction,\n\t\t\t\t\t\t\t\teventInfo: {sourceElementId: sourceComponentId},\n\t\t\t\t\t\t\t\tmeta: {\n\t\t\t\t\t\t\t\t\tuxfMeta\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\timports: getImports(seismicProperties, includeApiNames)\n\t\t\t\t\t\t};\n\t\t\t\t\t\tlet resolvedConditional = getResolvedConditional(\n\t\t\t\t\t\t\tconsolidatedEventMappings,\n\t\t\t\t\t\t\taction,\n\t\t\t\t\t\t\tmacroponentPropertyDefinitions,\n\t\t\t\t\t\t\tcsdbNodeId,\n\t\t\t\t\t\t\tpdbNodeIds,\n\t\t\t\t\t\t\texternalControllerDependencyNames,\n\t\t\t\t\t\t\tcontrollerAliasMap,\n\t\t\t\t\t\t\tseismicProperties,\n\t\t\t\t\t\t\tseismicState,\n\t\t\t\t\t\t\tsourceAction\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tif (!isBoolean(resolvedConditional)) {\n\t\t\t\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t\t\t\t'Event mapping conditional must be nil or resolve to a Boolean. Event mapping was ignored.'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tresolvedConditional = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (resolvedConditional) {\n\t\t\t\t\t\t\t\tfnToExec(eventHandlerApi);\n\t\t\t\t\t\t\t\tmark(host, getInteractionId(action.meta), 'CLIENT_SCRIPT', {\n\t\t\t\t\t\t\t\t\tstartTime,\n\t\t\t\t\t\t\t\t\tname: 'EXEC_SCRIPT',\n\t\t\t\t\t\t\t\t\tsysId: scriptSysId\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\tconsole.trace(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconsole.error(`Unable to locate script (sys_id = ${scriptSysId})`);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tinterceptors: [actionChainAugmentationInterceptor]\n\t\t\t})\n\t\t}\n\t};\n};\n","import {partial} from '@devsnc/snowdash';\nimport getUxfEmitFn from './getUxfEmitFn';\nimport {default as setState, setStates} from './setState';\n// import setState from './setState';\nimport getHelpers, {\n\tdispatchedEvents as helperDispatchedEvents\n} from '../../../scriptedHandlerApi';\nimport {getRootDispatchFn} from '../../registry/index.js';\nimport {UXF_INTERNAL_EVENT_META} from '../../constants';\nimport getViewportApi from '../viewportRuntime/getViewportApi';\n\nexport default function getApiFactory(\n\tdispatchedEventNames,\n\thandledEventNames,\n\trootHandledEventNames,\n\thost,\n\tinstance,\n\tgetMacroponentAccessApi,\n\tdispatch,\n\tupdateState,\n\tdispatchMcpUpdates = false\n) {\n\tconst rootDispatchFn = getRootDispatchFn(host, dispatch);\n\tconst emitWithMeta = getUxfEmitFn(\n\t\tdispatch,\n\t\trootDispatchFn,\n\t\trootHandledEventNames,\n\t\t[],\n\t\t[...dispatchedEventNames, ...handledEventNames, ...helperDispatchedEvents]\n\t);\n\tconst eventHandlerApiAddendum = {\n\t\tsetState: partial(\n\t\t\tsetState,\n\t\t\tinstance,\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\tnull, // unneeded here since this isn't dispatching to UIB WYSIWYG stage\n\t\t\tdispatchMcpUpdates\n\t\t),\n\t\tsetStates: partial(\n\t\t\tsetStates,\n\t\t\tinstance,\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\tnull, // unneeded here since this isn't dispatching to UIB WYSIWYG stage\n\t\t\tdispatchMcpUpdates\n\t\t)\n\t};\n\n\treturn (\n\t\tseismicProperties,\n\t\tseismicState,\n\t\t{[UXF_INTERNAL_EVENT_META]: uxfMeta = {}} = {}\n\t) => {\n\t\tconst emit = partial(emitWithMeta, {uxfMeta});\n\t\tconst helpers = getHelpers(host, emit, dispatch);\n\t\tconst macroponentAccessApi = getMacroponentAccessApi(\n\t\t\tseismicProperties,\n\t\t\tseismicState,\n\t\t\temitWithMeta,\n\t\t\tuxfMeta\n\t\t);\n\t\tconst viewports = getViewportApi(seismicState);\n\t\treturn {\n\t\t\thelpers,\n\t\t\tapi: {\n\t\t\t\temit,\n\t\t\t\tviewports,\n\t\t\t\t...eventHandlerApiAddendum,\n\t\t\t\t...macroponentAccessApi\n\t\t\t}\n\t\t};\n\t};\n}\n","import {find, filter} from '@devsnc/snowdash';\nimport {\n\tactionTypes,\n\tunstableAddRenderOnPropertySelectorValueChange,\n\tunstableRemoveRenderOnPropertySelectorValueChange\n} from '@servicenow/ui-core';\nimport parentDataStore from '../../getParentDataStore';\nimport {META_PROP_NAME_PARENT_PAGE_MACROPONENT_SYS_ID} from '../../constants';\nimport {getNamespacedComponentId} from '../../utils';\nimport {getSelectableProp} from '../../UxValueResolver/getResolvedBindingWithState';\nimport {\n\tMETA_PROP_NAME_PARENT_PAGE_COMPONENT_ID,\n\tMETA_PROP_NAME_CONTROLLER_MAP,\n\tMACROPONENT_VALUE_UPDATED\n} from '../../constants';\n\nconst {COMPONENT_DISCONNECTED, COMPONENT_DOM_READY} = actionTypes;\n\n// This function returns array of functions that will be executed on each properties on Seismic's life cycel.\n// The reason is that at that time, we'll able to retrieve nodeId that is need to resolve the selectable prop.\nconst getPlaceholderProperties = (\n\tselectableProperties = [],\n\tseismicProperties\n) => {\n\tlet getDerivedSelectableNames = [];\n\tlet getSelectableNames = [];\n\tselectableProperties.forEach(\n\t\t({nodeId, propName, derived, definitionSysId}) => {\n\t\t\tif (derived) {\n\t\t\t\tgetDerivedSelectableNames.push(\n\t\t\t\t\t(parentComponentId, definedControllers) => {\n\t\t\t\t\t\tif (definedControllers.includes(nodeId))\n\t\t\t\t\t\t\treturn getSelectableProp(\n\t\t\t\t\t\t\t\tgetNamespacedComponentId(parentComponentId, nodeId),\n\t\t\t\t\t\t\t\tpropName\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\tconst {dataShell: parentDataShell} = parentDataStore.get(\n\t\t\t\t\t\t\tseismicProperties[META_PROP_NAME_PARENT_PAGE_MACROPONENT_SYS_ID]\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (!parentDataShell) return '';\n\n\t\t\t\t\t\t//TODO: This is only resolved for the first match. It's possible that there are multiple data brokers with the same definitionSysId, we'll need to find a better to resolve this.\n\t\t\t\t\t\tconst matchedParentDataBroker = filter(\n\t\t\t\t\t\t\tparentDataShell.dataBrokers,\n\t\t\t\t\t\t\t(dataBroker) =>\n\t\t\t\t\t\t\t\tdataBroker.proxiedComponentTagName ===\n\t\t\t\t\t\t\t\t`macroponent-${definitionSysId}`\n\t\t\t\t\t\t).map((dataBroker) => dataBroker.sysId);\n\t\t\t\t\t\tif (matchedParentDataBroker.length === 0) return '';\n\n\t\t\t\t\t\tconst parentDataBrokerElement = find(\n\t\t\t\t\t\t\tparentDataShell.dataElements,\n\t\t\t\t\t\t\t(dataElement) =>\n\t\t\t\t\t\t\t\tdataElement.definitionSysId === matchedParentDataBroker[0]\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (!parentDataBrokerElement) return '';\n\t\t\t\t\t\tconst newNodeId = parentDataBrokerElement.id;\n\t\t\t\t\t\treturn definedControllers.includes(newNodeId)\n\t\t\t\t\t\t\t? getSelectableProp(\n\t\t\t\t\t\t\t\t\tgetNamespacedComponentId(parentComponentId, newNodeId),\n\t\t\t\t\t\t\t\t\tpropName\n\t\t\t\t\t\t\t  )\n\t\t\t\t\t\t\t: '';\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tgetSelectableNames.push((shellComponentId) => {\n\t\t\t\t\treturn getSelectableProp(\n\t\t\t\t\t\tgetNamespacedComponentId(shellComponentId, nodeId),\n\t\t\t\t\t\tpropName\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t);\n\n\treturn {\n\t\tgetSelectableNames,\n\t\tgetDerivedSelectableNames\n\t};\n};\n\nconst propChangeRenderRequestOnDerivedProps = (\n\tgetDerivedSelectableNames,\n\t{host, properties}\n) => {\n\tif (!getDerivedSelectableNames || getDerivedSelectableNames.length === 0)\n\t\treturn;\n\n\tconst parentComponentId = properties[META_PROP_NAME_PARENT_PAGE_COMPONENT_ID];\n\tif (!parentComponentId) return;\n\n\tconst controllerMap = properties[META_PROP_NAME_CONTROLLER_MAP];\n\tif (!controllerMap) return;\n\n\tgetDerivedSelectableNames.forEach((getDerivedSelectableName) => {\n\t\tconst selectablePropName = getDerivedSelectableName(\n\t\t\tparentComponentId,\n\t\t\tObject.values(controllerMap)\n\t\t);\n\t\tif (!selectablePropName) return;\n\n\t\tunstableAddRenderOnPropertySelectorValueChange(host, selectablePropName);\n\t});\n};\n\nconst propChangeRenderRequest = (getSelectableNames, {host, properties}) => {\n\tif (!getSelectableNames || getSelectableNames.length === 0) return;\n\n\tgetSelectableNames.forEach((getSelectableName) => {\n\t\tconst selectablePropName = getSelectableName(properties.nowId);\n\t\tif (!selectablePropName) return;\n\n\t\tunstableAddRenderOnPropertySelectorValueChange(host, selectablePropName);\n\t});\n};\n\nconst propChangeRenderRequestWithdraw = (\n\tgetSelectableNames,\n\tgetDerivedSelectableNames,\n\t{host, properties}\n) => {\n\tif (getSelectableNames)\n\t\tgetSelectableNames.forEach((getSelectableName) => {\n\t\t\tconst selectablePropName = getSelectableName(properties.nowId);\n\t\t\tif (!selectablePropName) return;\n\n\t\t\tunstableRemoveRenderOnPropertySelectorValueChange(\n\t\t\t\thost,\n\t\t\t\tselectablePropName\n\t\t\t);\n\t\t});\n\n\tif (!getDerivedSelectableNames) return;\n\n\tconst parentComponentId = properties[META_PROP_NAME_PARENT_PAGE_COMPONENT_ID];\n\tconst controllerMap = properties[META_PROP_NAME_CONTROLLER_MAP] || {};\n\n\tgetDerivedSelectableNames.forEach((getDerivedSelectableName) => {\n\t\tconst selectablePropName = getDerivedSelectableName(\n\t\t\tparentComponentId,\n\t\t\tObject.values(controllerMap)\n\t\t);\n\t\tif (!selectablePropName) return;\n\n\t\tunstableRemoveRenderOnPropertySelectorValueChange(host, selectablePropName);\n\t});\n};\n\nexport default (\n\tselectableProperties,\n\tmcpSysId = '',\n\tdispatchMcpUpdates = false\n) => {\n\tlet placeholderProps = {};\n\treturn {\n\t\tname: 'selectablePropertyResolver',\n\t\tactionHandlers: {\n\t\t\t[COMPONENT_DOM_READY]: (coeffects) => {\n\t\t\t\tconst {state, dispatch, properties} = coeffects;\n\t\t\t\tconst {nowId} = properties;\n\t\t\t\t/*\n\t\t\t\t * The component lifecycle methods are called multiple times on a page. Using\n\t\t\t\t * COMPONENT_CONNECTED to get the state of the component, this code checks\n\t\t\t\t * for variables other than the always-included keys. If other key(s) exist,\n\t\t\t\t * then the component is including its state variable(s), which can be collected\n\t\t\t\t * and re-broadcast to UIB for the WYSIWYG state.\n\t\t\t\t *\n\t\t\t\t * The theoretical optimal dispatch of the page's state would be\n\t\t\t\t * during the creation of the macroponent, but since there's no\n\t\t\t\t * access to Seismic's `dispatch` action there, this is making do.\n\t\t\t\t */\n\t\t\t\tif (dispatchMcpUpdates) {\n\t\t\t\t\tlet resolvedPayload = {};\n\t\t\t\t\tif (Object.keys(state).length > 2) {\n\t\t\t\t\t\tconst stateCopy = Object.fromEntries(Object.entries(state));\n\t\t\t\t\t\tdelete stateCopy['behaviors'];\n\t\t\t\t\t\tdelete stateCopy['properties'];\n\t\t\t\t\t\tresolvedPayload = {state: stateCopy};\n\t\t\t\t\t}\n\t\t\t\t\tconst contextObject = Object.fromEntries(\n\t\t\t\t\t\tObject.entries(properties).filter(\n\t\t\t\t\t\t\t([key]) => !key.startsWith('nowUxf')\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\n\t\t\t\t\tconst selectablePropMap = {};\n\t\t\t\t\tfor (const selectableProperty of selectableProperties) {\n\t\t\t\t\t\tif (!(selectableProperty.nodeId in selectablePropMap)) {\n\t\t\t\t\t\t\tselectablePropMap[selectableProperty.nodeId] = {};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tselectablePropMap[selectableProperty.nodeId][\n\t\t\t\t\t\t\tselectableProperty.propName\n\t\t\t\t\t\t] = null;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst payload = {\n\t\t\t\t\t\t...resolvedPayload,\n\t\t\t\t\t\tmacroponentSysId: mcpSysId,\n\t\t\t\t\t\telements: selectablePropMap,\n\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\tprops: contextObject\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\tdispatch(MACROPONENT_VALUE_UPDATED, payload);\n\t\t\t\t}\n\t\t\t\tif (!placeholderProps[nowId])\n\t\t\t\t\tplaceholderProps[nowId] = getPlaceholderProperties(\n\t\t\t\t\t\tselectableProperties,\n\t\t\t\t\t\tproperties\n\t\t\t\t\t);\n\t\t\t\tpropChangeRenderRequest(\n\t\t\t\t\tplaceholderProps[nowId].getSelectableNames,\n\t\t\t\t\tcoeffects\n\t\t\t\t);\n\n\t\t\t\tpropChangeRenderRequestOnDerivedProps(\n\t\t\t\t\tplaceholderProps[nowId].getDerivedSelectableNames,\n\t\t\t\t\tcoeffects\n\t\t\t\t);\n\t\t\t},\n\t\t\t[COMPONENT_DISCONNECTED]: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\tproperties: {nowId}\n\t\t\t\t} = coeffects;\n\t\t\t\tif (placeholderProps[nowId]) {\n\t\t\t\t\tpropChangeRenderRequestWithdraw(\n\t\t\t\t\t\tplaceholderProps[nowId].getSelectableNames,\n\t\t\t\t\t\tplaceholderProps[nowId].getDerivedSelectableNames,\n\t\t\t\t\t\tcoeffects\n\t\t\t\t\t);\n\t\t\t\t\tdelete placeholderProps[nowId];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n};\n\nexport const exportsForTesting = {\n\tgetPlaceholderProperties\n};\n","import {actionTypes} from '@servicenow/ui-core';\nimport {isEmpty} from '@devsnc/snowdash';\nimport {isEqual} from '@devsnc/snowdash';\nimport {camelCase} from '../../../factory/utils';\nimport {memoize} from '@servicenow/ui-utils';\n\nimport getResolversForView from '../../../factory/UxValueResolver/getResolversForView';\nimport resolveForView from '../../../factory/UxValueResolver/resolveForView';\nimport {getNodeId, getNodeIds} from '../../../factory/utils';\nimport {\n\tUXF_MACROPONENT_OUTPUT_PROPERTY_UPDATED,\n\tpropertyTypes,\n\tINPUTS,\n\tMACROPONENT_VALUE_UPDATED\n} from '../../constants';\n\nconst {COMPONENT_RENDER_REQUESTED} = actionTypes;\n\nconst buildOutputPropsMetadata = memoize(\n\t(\n\t\tsysId,\n\t\toutputPropMappings,\n\t\tcsdbNode,\n\t\tproxydbNodes,\n\t\tmacroponentPropertyDefinitions,\n\t\texternalControllerDependencies,\n\t\tcontrollerAliasMap,\n\t\tcontrollerRenderSkipEnabled\n\t) => {\n\t\tconst csdbNodeId = getNodeId(csdbNode);\n\t\tconst pdbNodeIds = getNodeIds(proxydbNodes);\n\n\t\tconst resolversForOutputProperties = getResolversForView(\n\t\t\tsysId,\n\t\t\tmacroponentPropertyDefinitions,\n\t\t\tcsdbNodeId,\n\t\t\tpdbNodeIds,\n\t\t\texternalControllerDependencies,\n\t\t\tproxydbNodes,\n\t\t\tcontrollerAliasMap\n\t\t);\n\n\t\tconst selectableProperties = {};\n\t\tfor (const [outputPropName] of Object.entries(outputPropMappings)) {\n\t\t\tselectableProperties[camelCase(outputPropName)] = {\n\t\t\t\tselectable: true,\n\t\t\t\tshouldRenderWhenSet: !controllerRenderSkipEnabled\n\t\t\t};\n\t\t}\n\n\t\treturn {resolversForOutputProperties, selectableProperties};\n\t}\n);\n\nconst getOutputPropertyValues = (\n\toutputPropMappings,\n\tresolversForOutputProperties,\n\tseismicProperties,\n\tstate\n) => {\n\tconst {CLIENT_TRANSFORM_SCRIPT} = propertyTypes;\n\tconst EXCLUDED_TYPES = [CLIENT_TRANSFORM_SCRIPT];\n\tconst newOutputPropertyValues = {};\n\n\tfor (const [outputPropName, uxValue] of Object.entries(outputPropMappings)) {\n\t\tconst {type} = uxValue;\n\n\t\tif (EXCLUDED_TYPES.includes(type)) continue;\n\n\t\tconst selectablePropName = camelCase(outputPropName);\n\t\tconst newPropValue = resolveForView(\n\t\t\tresolversForOutputProperties,\n\t\t\tseismicProperties,\n\t\t\tstate,\n\t\t\tuxValue\n\t\t);\n\n\t\tif (!isEqual(seismicProperties[selectablePropName], newPropValue)) {\n\t\t\tnewOutputPropertyValues[selectablePropName] = newPropValue;\n\t\t}\n\t}\n\treturn newOutputPropertyValues;\n};\n\nconst updateOutputProps = (\n\tnewOutputPropertyValues,\n\tinputPropMatchings,\n\tupdateProperties,\n\tdispatch,\n\tstate,\n\tmcpSysId,\n\tdispatchMcpUpdates\n) => {\n\tif (!isEmpty(newOutputPropertyValues)) {\n\t\tif (dispatchMcpUpdates) {\n\t\t\t// Dispatching the new props for UIB's WYSIWYG stage\n\t\t\tdispatch(MACROPONENT_VALUE_UPDATED, {\n\t\t\t\tmacroponentSysId: mcpSysId,\n\t\t\t\tdata: newOutputPropertyValues\n\t\t\t});\n\t\t}\n\n\t\t// UXF runtime expects that selectable properties will be exposed containing\n\t\t// the output data\n\t\tupdateProperties(newOutputPropertyValues);\n\t\t// UI Builder designtime expects that an event will be dispatched notifying\n\t\t// that output data has been updated.\n\t\t// TODO: Only dispatch this when used in a UIB context (will require public API change)\n\t\tconst inputProps = getInputProps(state.properties, inputPropMatchings);\n\t\tnewOutputPropertyValues[INPUTS] = inputProps;\n\t\tdispatch(UXF_MACROPONENT_OUTPUT_PROPERTY_UPDATED, newOutputPropertyValues);\n\t}\n};\n\nconst getInputProps = (properties, inputPropMatchings) => {\n\tconst inputPropVals = {};\n\tinputPropMatchings.forEach((key) => {\n\t\tif (properties[key.name]) inputPropVals[key.name] = properties[key.name];\n\t});\n\treturn inputPropVals;\n};\n\nexport default (\n\toutputPropMappings,\n\tinputPropMatchings,\n\ttree,\n\tmacroponentPropertyDefinitions,\n\texternalControllerDependencies,\n\tcontrollerAliasMap,\n\tcontrollerRenderSkipEnabled,\n\tdispatchMcpUpdates = false\n) => {\n\tconst {\n\t\tid,\n\t\tclientStateDataBrokerNode: csdbNode,\n\t\tproxyDataBrokerNodes: proxydbNodes\n\t} = tree;\n\n\tconst {resolversForOutputProperties, selectableProperties} =\n\t\tbuildOutputPropsMetadata(\n\t\t\tid,\n\t\t\toutputPropMappings,\n\t\t\tcsdbNode,\n\t\t\tproxydbNodes,\n\t\t\tmacroponentPropertyDefinitions,\n\t\t\texternalControllerDependencies,\n\t\t\tcontrollerAliasMap,\n\t\t\tcontrollerRenderSkipEnabled\n\t\t);\n\n\treturn {\n\t\tname: 'outputPropertyResolver',\n\t\tactionHandlers: {\n\t\t\t[COMPONENT_RENDER_REQUESTED]: {\n\t\t\t\teffect: ({\n\t\t\t\t\tproperties: seismicProperties,\n\t\t\t\t\tstate,\n\t\t\t\t\tupdateProperties,\n\t\t\t\t\tdispatch\n\t\t\t\t}) => {\n\t\t\t\t\tconst newOutputPropertyValues = getOutputPropertyValues(\n\t\t\t\t\t\toutputPropMappings,\n\t\t\t\t\t\tresolversForOutputProperties,\n\t\t\t\t\t\tseismicProperties,\n\t\t\t\t\t\tstate\n\t\t\t\t\t);\n\n\t\t\t\t\tupdateOutputProps(\n\t\t\t\t\t\tnewOutputPropertyValues,\n\t\t\t\t\t\tinputPropMatchings,\n\t\t\t\t\t\tupdateProperties,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tdispatchMcpUpdates\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tproperties: selectableProperties\n\t};\n};\n","import {createHttpEffect} from '@servicenow/ui-effect-http';\n\nimport {viewportActions} from '../../../factory/constants';\n\nconst {\n\tUXF_VIEWPORT_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED,\n\tUXF_VIEWPORT_ROUTE_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED\n} = viewportActions;\n\nexport const evaluateScriptedConditionsEffect = createHttpEffect(\n\t'/api/now/uxframework/scripted_conditions',\n\t{\n\t\tmethod: 'POST',\n\t\tbatch: true,\n\t\tsuccessActionType: UXF_VIEWPORT_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED,\n\t\terrorActionType: UXF_VIEWPORT_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED,\n\t\tdataParam: 'data'\n\t}\n);\n\nexport const evaluateRouteScriptedConditions = createHttpEffect(\n\t'/api/now/uxframework/scripted_route_conditions',\n\t{\n\t\tmethod: 'POST',\n\t\tbatch: true,\n\t\tsuccessActionType:\n\t\t\tUXF_VIEWPORT_ROUTE_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED,\n\t\terrorActionType:\n\t\t\tUXF_VIEWPORT_ROUTE_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED,\n\t\tdataParam: 'data'\n\t}\n);\n","import {uniq} from '@devsnc/snowdash';\nimport {isNumber} from '@devsnc/snowdash';\n\nexport const getConditionProperties = (macroponentProperties, properties) => {\n\treturn Object.keys(macroponentProperties).reduce((acc, cur) => {\n\t\tacc[cur] = properties[cur];\n\t\treturn acc;\n\t}, {});\n};\n\nexport const getBasePath = (viewportElementId) => {\n\treturn `behaviors.viewportRuntime.viewports.${viewportElementId}`;\n};\n\nexport const getViewportElementIds = (subroutes) => {\n\treturn uniq(subroutes.map((subroute) => subroute.parentCompositionElementId));\n};\n\nexport const uniqueScreenKey = (fields, route) => {\n\treturn Object.keys(fields).reduce((route, key) => {\n\t\treturn typeof fields[key] === 'string'\n\t\t\t? `${route}~${key}~${fields[key]}`\n\t\t\t: `${route}~${key}~${JSON.stringify(fields[key])}`;\n\t}, route);\n};\n\nexport const includeScreenKey = (useScreenKey, screenKey) =>\n\tuseScreenKey ? {screenKey} : {};\n\nexport const isValidPrefetchLimits = (prefetchLimits) => {\n\tconst {routes: routesCount, screens: screensCount} = prefetchLimits;\n\treturn (\n\t\tisNumber(routesCount) &&\n\t\troutesCount &&\n\t\tisNumber(screensCount) &&\n\t\tscreensCount\n\t);\n};\n","import {isEmpty} from '@devsnc/snowdash';\nimport {isValidPrefetchLimits} from './utils';\nimport {flatMap} from '@devsnc/snowdash';\nimport getTemplates from '../../../templateLoader/getTemplates';\nimport {union} from '@devsnc/snowdash';\nimport {whenScreenMacroponentIdleDuringPageLoad} from '@devsnc/uxf-runtime-utils';\n\n// Arbitrary value of 10 chosen for whether we try to pre load the macroponents of the viewports for\n// this macroponent. Pre loading macroponents speeds up the experience of tab switching, for example, but\n// pre loading too many macroponents drastically increases time to initial page load. This is an attempt at a balance.\nconst MAXIMUM_MACROPONENTS_FOR_PRELOAD = 10;\n// TODO: How can we more intelligently determine which macroponents to pre load, without being forced to\n// load either all of them or none of them?\n\n// Amount of time we wait on the screen macroponent to be idle before giving up.\n// This only gets used in case the logic to determine idle-ness fails for whatever reason.\n// The value is set arbitrarily and can be revised if there is a more suitable number that works better.\nconst TEMPLATE_PRIMING_MAX_WAIT_MS = 10000;\n\n/**\n * cacheTopLevelTemplates: Prefetch the screen macroponents for the app shell MCP based on the prefetch_limits\n *     configured in ux app configuration record.\n *\n * @param subroutes\n * @param prefetchLimits\n * @returns {boolean}\n */\nconst cacheTopLevelTemplates = (subroutes, prefetchLimits) => {\n\tif (\n\t\t!isEmpty(prefetchLimits) &&\n\t\t!isEmpty(subroutes) &&\n\t\tisValidPrefetchLimits(prefetchLimits)\n\t) {\n\t\tconst {routes: routeCount, screens: screenCount} = prefetchLimits;\n\t\tconst viewportSubroutes = subroutes\n\t\t\t.sort((r1, r2) =>\n\t\t\t\tr1.order > r2.order ? 1 : r2.order > r1.order ? -1 : 0\n\t\t\t)\n\t\t\t.filter(\n\t\t\t\t(subroute, index) =>\n\t\t\t\t\tsubroute.parentCompositionElementId && index < routeCount\n\t\t\t);\n\n\t\tconst macroponentSysIds = flatMap(\n\t\t\tviewportSubroutes,\n\t\t\t(subroute) =>\n\t\t\t\tsubroute.macroponents.filter((mcp, index) => index < screenCount) || []\n\t\t).reduce((acc, cur) => {\n\t\t\tacc.push(cur.macroponentSysId);\n\t\t\treturn acc;\n\t\t}, []);\n\n\t\tconst scheme = window.requestIdleCallback || window.requestAnimationFrame;\n\t\tconst cancelScheme =\n\t\t\twindow.cancelIdleCallback || window.cancelAnimationFrame;\n\t\tconst id = scheme(() => {\n\t\t\tgetTemplates(union(macroponentSysIds));\n\t\t\tcancelScheme(id);\n\t\t});\n\t}\n\n\treturn true;\n};\n\n/**\n * cacheTemplates: Prefetch the screen macroponents for the viewports (uxf-tab-set, contextual-sidebar,\n *    headless viewports) based on the MAXIMUM_MACROPONENTS_FOR_PRELOAD.\n *\n *    TODO: Once we have the viewport prefetch_limits defined at metadata, \"cacheTopLevelTemplates\" could\n *          be re-used.\n *\n * @param subroutes\n * @returns {boolean}\n */\nconst cacheTemplates = (subroutes, uxrInteractionId) => {\n\t// Getting only the subroutes that have a parent composition element ID\n\t// If this isn't present, it can't be rendered by this runtime anyway.\n\tconst viewportSubroutes = subroutes.filter(\n\t\t(subroute) => subroute.parentCompositionElementId\n\t);\n\n\tconst macroponentSysIds = flatMap(\n\t\tviewportSubroutes,\n\t\t(subroute) => subroute.macroponents || []\n\t).reduce((acc, cur) => {\n\t\tacc.push(cur.macroponentSysId);\n\t\treturn acc;\n\t}, []);\n\n\tif (macroponentSysIds.length > MAXIMUM_MACROPONENTS_FOR_PRELOAD) {\n\t\treturn false;\n\t}\n\n\tgetTemplates(union(macroponentSysIds), false, uxrInteractionId);\n\treturn true;\n};\n\n/**\n * primeTemplateCache\n *\n * @param subroutes\n * @param prefetchLimits\n * @param hasViewportScreen\n * @returns {boolean}\n */\nexport const primeTemplateCache = async (\n\tsubroutes,\n\tprefetchLimits,\n\thasViewportScreen,\n\tuxrInteractionId\n) => {\n\tlet cached = false;\n\n\tif (hasViewportScreen) {\n\t\t// Cache the screen macroponents for the top-level MCP based on\n\t\t// the configured prefetch_limits\n\t\tcached = cacheTopLevelTemplates(subroutes, prefetchLimits);\n\t} else {\n\t\tawait whenScreenMacroponentIdleDuringPageLoad({\n\t\t\tmaxWait: TEMPLATE_PRIMING_MAX_WAIT_MS\n\t\t});\n\t\t// continue to cache the MCP arbitrarily value of 10 chosen to pre load the macroponents\n\t\t// of the viewports for other descendant macroponents.\n\t\tcached = cacheTemplates(subroutes, uxrInteractionId);\n\t}\n\n\treturn cached;\n};\n","import {get} from '@devsnc/snowdash';\n\nimport {getBasePath, getViewportElementIds} from './utils';\nimport {\n\tviewportActions,\n\tSIGNAL_VIEWPORT_ROUTE_INITIALIZATION_COMPLETION\n} from '../../../factory/constants';\n\nconst {UXF_VIEWPORT_RENDER_BY_ID} = viewportActions;\n\nconst addNewAndRemoveStaleRoutes = (\n\tstate,\n\tpath,\n\trouteCollection = [],\n\tinvalidRoutes = {}\n) => {\n\t// Since we are preserving state, we need to filter out routes that are\n\t// already in state and are being updated again. Otherwise we pollute with\n\t// duplicate entries.\n\tconst newRoutes = routeCollection.map((route) => {\n\t\treturn route.id;\n\t});\n\t// Only persist routes in state that:\n\t// \t1. Are not in the updated routeCollection\n\t// \t2. Are not invalid routes\n\tconst stateResults = get(state, path, []).filter((route) => {\n\t\treturn newRoutes.indexOf(route.id) === -1 && !invalidRoutes[route.id];\n\t});\n\treturn [...stateResults, ...routeCollection];\n};\n\nexport const updateRouteCollectionState = ({\n\tsubroutesByViewportElementId,\n\tupdateState,\n\tsubroutes,\n\tdispatch,\n\tstate,\n\tshouldCompleteRouteInitialization = true,\n\tinvalidRoutes = {}\n}) => {\n\tlet stateOperations = [];\n\tif (shouldCompleteRouteInitialization) {\n\t\tstateOperations.push({\n\t\t\tpath: 'behaviors.viewportRuntime.isRouteInitializationCompleted',\n\t\t\toperation: 'set',\n\t\t\tvalue: true\n\t\t});\n\t}\n\n\tfor (const viewportElementId in subroutesByViewportElementId) {\n\t\tconst path = `${getBasePath(viewportElementId)}.viewportRoutes`;\n\t\tstateOperations.push({\n\t\t\tpath,\n\t\t\toperation: 'set',\n\t\t\tvalue: addNewAndRemoveStaleRoutes(\n\t\t\t\tstate,\n\t\t\t\tpath,\n\t\t\t\tsubroutesByViewportElementId[viewportElementId],\n\t\t\t\tinvalidRoutes\n\t\t\t)\n\t\t});\n\t}\n\n\tif (shouldCompleteRouteInitialization)\n\t\tstateOperations[SIGNAL_VIEWPORT_ROUTE_INITIALIZATION_COMPLETION] = true;\n\n\tupdateState(stateOperations);\n\n\tconst viewportElementIds = getViewportElementIds(subroutes);\n\n\tviewportElementIds.forEach((id) => {\n\t\tconst activeRoute = get(\n\t\t\tstate,\n\t\t\t`${getBasePath(id)}.currentScreen.activeRoute`,\n\t\t\tnull\n\t\t);\n\n\t\tconst path = `${getBasePath(id)}.viewportRoutes`;\n\t\tconst mergedSubroutes = addNewAndRemoveStaleRoutes(\n\t\t\tstate,\n\t\t\tpath,\n\t\t\tsubroutesByViewportElementId[id],\n\t\t\tinvalidRoutes\n\t\t);\n\t\tif (\n\t\t\tactiveRoute &&\n\t\t\t(mergedSubroutes || []).filter(\n\t\t\t\t(subroute) => subroute.routeType === activeRoute.routeType\n\t\t\t).length === 0\n\t\t) {\n\t\t\tconst routeListByOrder = mergedSubroutes.sort(\n\t\t\t\t(a, b) => (a.order || 0) - (b.order || 0)\n\t\t\t);\n\t\t\tif (routeListByOrder[0]) {\n\t\t\t\tdispatch(UXF_VIEWPORT_RENDER_BY_ID, {\n\t\t\t\t\troute: routeListByOrder[0].routeType,\n\t\t\t\t\tviewportElementId: id\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n};\n","const screenEventMappingsOverrides = new Map();\n/**\n * loads the overridden rtEventMappings of screen corresponding to inline macroponent\n * @param {string} screenId : sys_id of screen record\n * @param {Array} eventMappings : list consisting overridden rtEventMappings\n * @return void\n */\nexport const loadOverriddenScreenEventMappings = (screenId, eventMappings) => {\n\tscreenEventMappingsOverrides.set(screenId, eventMappings);\n};\n\nexport const getEventMappingOverrides = (screenId) =>\n\tscreenEventMappingsOverrides.get(screenId) || [];\n","let openedModals = {};\n\nconst MODAL_TYPE = {\n\tALERT: 'alert',\n\tCONFIRM: 'confirm',\n\tCONFIRM_DESTROY: 'confirm-destroy',\n\tIFRAME: 'iframe',\n\tVIEWPORT: 'viewport',\n\tUNKNOWN: 'unknown'\n};\n\nconst getModalType = (element) => {\n\tif (!element) return MODAL_TYPE.UNKNOWN;\n\tif (element.tagName === 'MACROPONENT-05D8B1515B230010B913CBD59B81C71A')\n\t\treturn MODAL_TYPE.ALERT;\n\telse if (element.tagName === 'MACROPONENT-13ECFE155B630010B913CBD59B81C7D6')\n\t\treturn MODAL_TYPE.CONFIRM;\n\telse if (element.tagName === 'MACROPONENT-637FC6A75B230010B913CBD59B81C779')\n\t\treturn MODAL_TYPE.CONFIRM_DESTROY;\n\telse if (element.tagName === 'MACROPONENT-E80108425B101010B913CBD59B81C771')\n\t\treturn MODAL_TYPE.IFRAME;\n\telse if (element.tagName.indexOf('SCREEN-ACTION-TRANSFORMER-') === 0)\n\t\treturn MODAL_TYPE.VIEWPORT;\n\telse return MODAL_TYPE.UNKNOWN;\n};\n\nconst getModalId = (modalIdStr) => {\n\tconst match = modalIdStr.match(/\\[component-id\\$='(.*)']/);\n\tif (match) return match[1];\n\treturn modalIdStr;\n};\n\nexport const addOpenedModalInfo = (action, host) => {\n\tif (action.payload.showModal) {\n\t\tconst elementRef = action.meta?.elementRef;\n\t\tconst modalType = getModalType(elementRef);\n\t\tconst modalId = getModalId(action.payload.modalId);\n\t\topenedModals[host.nowId] = {\n\t\t\ttype: modalType,\n\t\t\tmodalId\n\t\t};\n\t} else {\n\t\tdelete openedModals[host.nowId];\n\t}\n};\n\nexport const getOpenedModal = (id) => openedModals[id];\n\nexport const removeOpenedModalInfo = (host) => {\n\tdelete openedModals[host.nowId];\n};\n\nexport const getModalConfirmAction = (modalType) => {\n\tif (modalType === MODAL_TYPE.CONFIRM)\n\t\treturn 'NOW_CONFIRM_MODAL#POSITIVE_BUTTON_CLICKED';\n\telse if (modalType === MODAL_TYPE.CONFIRM_DESTROY)\n\t\treturn 'NOW_CONFIRM_DESTROY_MODAL#CONFIRM_CLICKED';\n\telse return '';\n};\n\nexport const getModalCancelAction = (modalType) => {\n\tif (modalType === MODAL_TYPE.CONFIRM)\n\t\treturn 'NOW_CONFIRM_MODAL#NEGATIVE_BUTTON_CLICKED';\n\telse if (modalType === MODAL_TYPE.CONFIRM_DESTROY)\n\t\treturn 'NOW_CONFIRM_DESTROY_MODAL#CANCEL_CLICKED';\n\telse return '';\n};\n","import {createCustomElement, actionTypes} from '@servicenow/ui-core';\nimport snabbdom, {createElement} from '@servicenow/ui-renderer-snabbdom';\nimport {noop, set, partial} from '@devsnc/snowdash';\nimport {getActionHandlers} from '../../getActionHandlers';\n\nimport {getConsolidatedEventMappings} from '../../getConsolidatedConfig.js';\nimport {getScreenActionTransformerTagName} from '../../utils';\n\nimport {getEventMappingOverrides} from '../../../screenContentOverridesApi/screenEventMappings';\nimport {\n\tMODAL_SELECTED,\n\tMETA_PROP_NAME_SCREEN_CONTROLLER_MAP,\n\tPERSIST_STATE_CONSTANTS\n} from '../../constants';\nimport {\n\taddOpenedModalInfo,\n\tremoveOpenedModalInfo\n} from '../../behaviorFactories/translatorBehavior/translatorModalHelper';\n\nconst {COMPONENT_DISCONNECTED, COMPONENT_DOM_TREE_READY} = actionTypes;\n\nconst {ACTION_PERSIST_STATE} = PERSIST_STATE_CONSTANTS;\n\nconst actionInterceptorComponentCache = new Map();\n\nconst screenActionTransformerActionHandlerMetaMap = new Map();\n\nconst getParentDataElements = (parentDataShell) =>\n\tObject.keys(parentDataShell?.dataElements ?? {}).reduce((acc, key) => {\n\t\tacc[key] = parentDataShell.dataElements[key].definitionSysId;\n\t\treturn acc;\n\t}, {});\n\nexport default (\n\tscreenId,\n\teventMappings,\n\tparentDataShell,\n\tactionHandlerMetaData = {}\n) => {\n\tconst screenActionTransformerTagName =\n\t\tgetScreenActionTransformerTagName(screenId);\n\n\tscreenActionTransformerActionHandlerMetaMap.set(\n\t\tscreenActionTransformerTagName,\n\t\tactionHandlerMetaData\n\t);\n\n\tconst eventMappingOverrides = getEventMappingOverrides(screenId);\n\n\tif (!actionInterceptorComponentCache.has(screenId)) {\n\t\tconst consolidatedEventMappings = getConsolidatedEventMappings(\n\t\t\tscreenId,\n\t\t\teventMappingOverrides.length > 0 ? eventMappingOverrides : eventMappings\n\t\t);\n\t\tconst parentDataElements = getParentDataElements(parentDataShell);\n\n\t\tconst actionHandlers = getActionHandlers(\n\t\t\tconsolidatedEventMappings,\n\t\t\ttrue,\n\t\t\tparentDataElements\n\t\t);\n\t\tconst persistStateInterceptor = partial(\n\t\t\tpersistStateSatInterceptorFn,\n\t\t\tscreenId\n\t\t);\n\t\tcreateCustomElement(screenActionTransformerTagName, {\n\t\t\trenderer: {\n\t\t\t\ttype: snabbdom,\n\t\t\t\tview: () => createElement('slot')\n\t\t\t},\n\t\t\tproperties: {\n\t\t\t\tnowUxfDelegateDispatch: {\n\t\t\t\t\tdefault: false\n\t\t\t\t},\n\t\t\t\t[META_PROP_NAME_SCREEN_CONTROLLER_MAP]: {}\n\t\t\t},\n\t\t\tactionHandlers: {\n\t\t\t\t...actionHandlers,\n\t\t\t\t[COMPONENT_DOM_TREE_READY](coeffects) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tscreenActionTransformerActionHandlerMetaMap.has(\n\t\t\t\t\t\t\tscreenActionTransformerTagName\n\t\t\t\t\t\t)\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst {host} = coeffects;\n\t\t\t\t\t\thost['hostElementMeta'] =\n\t\t\t\t\t\t\tscreenActionTransformerActionHandlerMetaMap.get(\n\t\t\t\t\t\t\t\tscreenActionTransformerTagName\n\t\t\t\t\t\t\t) ?? {};\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t[MODAL_SELECTED](coeffects) {\n\t\t\t\t\tconst {action, host} = coeffects;\n\n\t\t\t\t\taddOpenedModalInfo(action, host);\n\t\t\t\t\tif (actionHandlers[MODAL_SELECTED])\n\t\t\t\t\t\tactionHandlers[MODAL_SELECTED](coeffects);\n\t\t\t\t},\n\t\t\t\t[ACTION_PERSIST_STATE]: {\n\t\t\t\t\teffect: noop,\n\t\t\t\t\tinterceptors: [persistStateInterceptor]\n\t\t\t\t},\n\t\t\t\t[COMPONENT_DISCONNECTED]({host}) {\n\t\t\t\t\tremoveOpenedModalInfo(host);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tactionInterceptorComponentCache.set(screenId, true);\n\t}\n\treturn screenActionTransformerTagName;\n};\n\nconst persistStateSatInterceptorFn = (screenId, context) => {\n\tconst {\n\t\tcoeffects: {\n\t\t\taction,\n\t\t\taction: {\n\t\t\t\tpayload: {path}\n\t\t\t}\n\t\t}\n\t} = context;\n\tset(action, 'payload.path', [screenId, ...path]);\n\treturn context;\n};\n","import {isEmpty} from '@devsnc/snowdash';\nimport {get} from '@devsnc/snowdash';\nimport {getConditionProperties} from './utils';\n\n/*\n\tThis code has been \"borrowed\" from sn-canvas-core - this should be the home for screen\n\tcondition evaluation in the future, but until sn-canvas-core is refactored to use the viewport\n\truntime, this code will live in both places.\n*/\nconst EVALUATORS = {\n\t//logical\n\tAND: {\n\t\top: 'AND',\n\t\tsymbol: '^',\n\t\tevaluator: (a, b) => a && b\n\t},\n\tOR: {\n\t\top: 'OR',\n\t\tsymbol: '^OR',\n\t\tevaluator: (a, b) => a || b\n\t},\n\t//comparision\n\tEQUALS: {\n\t\top: 'EQUALS',\n\t\tsymbol: '=',\n\t\tevaluator: (a, b) => a === b\n\t},\n\tNOTEQUALS: {\n\t\top: 'NOTEQUALS',\n\t\tsymbol: '!=',\n\t\tevaluator: (a, b) => a !== b\n\t},\n\tSTARTSWITH: {\n\t\top: 'STARTSWITH',\n\t\tsymbol: 'STARTSWITH',\n\t\tevaluator: (a, b) => a.startsWith(b)\n\t}\n};\n\nconst ALLOWED_TYPES = ['number', 'boolean', 'string'];\n\nexport const parseCondition = (\n\tconditionStr,\n\tdataElementId,\n\tcontrollerDependencyMap,\n\tgetControllerDataOutputBindingFn\n) => {\n\tif (!conditionStr) {\n\t\treturn [];\n\t}\n\n\tlet i = 0;\n\tlet r = '';\n\n\tconst conditionArr = [];\n\n\tfunction addCondition(conditionObj) {\n\t\tconst {leftHandValue = ''} = conditionObj;\n\t\tif (\n\t\t\t(leftHandValue.startsWith('controller.') ||\n\t\t\t\tleftHandValue.startsWith('data.')) &&\n\t\t\t(dataElementId || controllerDependencyMap)\n\t\t) {\n\t\t\tconst address = leftHandValue.split('.').slice(1);\n\t\t\tconst transformedUxValue = getControllerDataOutputBindingFn(\n\t\t\t\tdataElementId,\n\t\t\t\t{\n\t\t\t\t\ttype: 'DATA_OUTPUT_BINDING',\n\t\t\t\t\tbinding: {address}\n\t\t\t\t},\n\t\t\t\tcontrollerDependencyMap\n\t\t\t);\n\t\t\tif (transformedUxValue) conditionObj.leftHandValue = transformedUxValue;\n\t\t\tconditionArr.push(conditionObj);\n\t\t} else {\n\t\t\tconditionArr.push(conditionObj);\n\t\t}\n\t}\n\n\tlet conditionObj = {};\n\twhile (i < conditionStr.length) {\n\t\tconst c = conditionStr[i];\n\t\tif (c == '^' || i == conditionStr.length - 1) {\n\t\t\tconditionObj['rightHandValue'] = i == conditionStr.length - 1 ? r + c : r;\n\t\t\tconst logicalOperator =\n\t\t\t\ti + 3 < conditionStr.length && conditionStr.substring(i, i + 3) == '^OR'\n\t\t\t\t\t? 'OR'\n\t\t\t\t\t: 'AND';\n\n\t\t\tconditionObj['logicalOperation'] =\n\t\t\t\ti == conditionStr.length - 1 ? '' : logicalOperator;\n\n\t\t\tif (logicalOperator == 'OR') {\n\t\t\t\ti = i + 2;\n\t\t\t}\n\t\t\taddCondition({...conditionObj});\n\t\t\tconditionObj = {};\n\t\t\tr = '';\n\t\t} else if (c == '=') {\n\t\t\tconditionObj['leftHandValue'] = r;\n\t\t\tconditionObj['operation'] = 'EQUALS';\n\t\t\tr = '';\n\t\t} else if (\n\t\t\tc == '!' &&\n\t\t\ti + 1 < conditionStr.length &&\n\t\t\tconditionStr[i + 1] == '='\n\t\t) {\n\t\t\tconditionObj['leftHandValue'] = r;\n\t\t\tconditionObj['operation'] = 'NOTEQUALS';\n\t\t\ti++;\n\t\t\tr = '';\n\t\t} else if (\n\t\t\tc == 'S' &&\n\t\t\tconditionStr.substring(\n\t\t\t\ti,\n\t\t\t\ti + Math.min('STARTSWITH'.length, conditionStr.length - i)\n\t\t\t) == 'STARTSWITH'\n\t\t) {\n\t\t\tconditionObj['leftHandValue'] = r;\n\t\t\tconditionObj['operation'] = 'STARTSWITH';\n\t\t\ti += 'STARTSWITH'.length - 1;\n\t\t\tr = '';\n\t\t} else {\n\t\t\tr = r + c;\n\t\t}\n\n\t\ti++;\n\t}\n\n\treturn conditionArr;\n};\n\nconst sanitizeInputValues = (\n\tinputObj,\n\tallowDeepObjects = false,\n\tallowedKeysForSanitization\n) => {\n\tif (!inputObj || typeof inputObj !== 'object') {\n\t\treturn {};\n\t}\n\n\tconst sanitizedValues = {};\n\tallowedKeysForSanitization.forEach((key) => {\n\t\tconst value = inputObj[key];\n\t\tif (ALLOWED_TYPES.includes(typeof value)) {\n\t\t\tsanitizedValues[key] = value.toString();\n\t\t} else if (\n\t\t\tallowDeepObjects &&\n\t\t\t!isEmpty(value) &&\n\t\t\ttypeof value === 'object'\n\t\t) {\n\t\t\tsanitizedValues[key] = sanitizeInputValues(\n\t\t\t\tvalue,\n\t\t\t\ttrue,\n\t\t\t\tallowedKeysForSanitization\n\t\t\t);\n\t\t}\n\t});\n\n\treturn sanitizedValues;\n};\n\nfunction getTermEvaluationResult(term, valueResolverFn) {\n\tconst {leftHandValue, operation, rightHandValue} = term;\n\n\tconst value = valueResolverFn(leftHandValue);\n\n\t//When evaluating condiditions for viewport routes, dynamic routing conditions are not in place\n\t//So assume the condition will result to true rather than potentially denying access\n\tif (value === IGNORE_VALUE_AND_EVALUTE_TO_TRUE) return true;\n\n\treturn EVALUATORS[operation].evaluator(value, rightHandValue);\n}\n\nfunction evaluateConditions(inputCondition, valueResolverFn) {\n\t// If our condition is an array of condition strings, all the condition strings must individually pass\n\t// Basically, we wrap each condition string in an implicit AND operation.\n\tif (Array.isArray(inputCondition)) {\n\t\tfor (let condition of inputCondition) {\n\t\t\tif (!evaluateCondition(condition, valueResolverFn)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t} else {\n\t\treturn evaluateCondition(inputCondition, valueResolverFn);\n\t}\n}\n\nconst evaluateCondition = (parsedCondition, valueResolverFn) => {\n\tif (isEmpty(parsedCondition)) {\n\t\treturn false;\n\t}\n\n\tlet result = false;\n\tlet logicalOperation;\n\n\tfor (let i = 0; i < parsedCondition.length; i++) {\n\t\tconst term = parsedCondition[i];\n\n\t\tconst _result = getTermEvaluationResult(term, valueResolverFn);\n\n\t\tif (logicalOperation == null) {\n\t\t\tresult = _result;\n\t\t} else {\n\t\t\tresult = EVALUATORS[logicalOperation].evaluator(result, _result);\n\t\t}\n\n\t\tlogicalOperation = term['logicalOperation'];\n\n\t\tif (logicalOperation == '') {\n\t\t\treturn result;\n\t\t}\n\t}\n\n\treturn result;\n};\n\nexport const IGNORE_VALUE_AND_EVALUTE_TO_TRUE = Symbol(\n\t'IGNORE_VALUE_AND_EVALUATE_TO_TRUE'\n);\n\nconst PARENT_PREFIX = 'parent.';\n\nconst PAYLOAD_PREFIX = 'payload.';\n\nexport function getValueResolverFunction(\n\tmacroponentProperties,\n\tsubroute,\n\tseismicProperties,\n\t_fieldValues,\n\tgetResolvedDataBindingFn\n) {\n\tconst {extensionPoint, fields = [], optionalParameters = []} = subroute;\n\n\tconst candidateKeysForEvaluation = [...fields, ...optionalParameters];\n\n\t// fixme: \"sanitize\" lazily\n\tconst fieldValues =\n\t\t_fieldValues !== null\n\t\t\t? sanitizeInputValues(_fieldValues, false, candidateKeysForEvaluation)\n\t\t\t: null;\n\n\tif (extensionPoint) {\n\t\t/*\n\t\t\tShape of the object that extension point screen conditions are written against:\n\t\t\t(the shape must always remain backwards compatible since this is a public API)\n\t\t\t\t\t\n\t\t\t{\n\t\t\t\tcontroller: {\n\t\t\t\t\t...controllerOutputPropObject,\n\t\t\t\t\t...dependencyControllersObjects\n\t\t\t\t},\n\t\t\t\tpayload // filled with incoming field values (excludes optional parameters)\n\t\t\t}\n\n\t\t\tAn extension point's controller can have other dependency controllers that it exposes data from.\n\t\t\tFor every dependency, the object is contructed like this\n\t\t\tdependencyControllersObject = {\n\t\t\t\t[nameOfTheDependency]: {\n\t\t\t\t\t...dependencyControllerOutputPropObject\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tThis implementation doesn't actually construct this object. Instead, we lazily lookup the values.\n\t\t */\n\t\treturn (leftHandValue) => {\n\t\t\tif (typeof leftHandValue === 'object') {\n\t\t\t\tconst value = getResolvedDataBindingFn(\n\t\t\t\t\tleftHandValue,\n\t\t\t\t\tseismicProperties\n\t\t\t\t);\n\t\t\t\tif (ALLOWED_TYPES.includes(typeof value)) {\n\t\t\t\t\treturn value.toString();\n\t\t\t\t}\n\t\t\t} else if (fieldValues === null) {\n\t\t\t\treturn IGNORE_VALUE_AND_EVALUTE_TO_TRUE;\n\t\t\t} else if (leftHandValue.startsWith(PAYLOAD_PREFIX)) {\n\t\t\t\tconst fieldName = leftHandValue.substring(PAYLOAD_PREFIX.length);\n\t\t\t\treturn fieldValues[fieldName];\n\t\t\t}\n\t\t\treturn '';\n\t\t};\n\t} else {\n\t\t/**\n\t\t * parent.* bindings on screen conditions within legacy viewport content are resolved\n\t\t * by looking at the parent macroponent's context properties\n\t\t */\n\t\tconst hostPropertyValues = getConditionProperties(\n\t\t\tmacroponentProperties,\n\t\t\tseismicProperties\n\t\t);\n\n\t\t// fixme: \"sanitize\" lazily\n\t\tconst parentProperties = sanitizeInputValues(hostPropertyValues, true, [\n\t\t\tcandidateKeysForEvaluation,\n\t\t\t...Object.keys(hostPropertyValues)\n\t\t]);\n\n\t\treturn (leftHandValue) => {\n\t\t\tif (typeof leftHandValue !== 'string') return;\n\n\t\t\tif (leftHandValue.startsWith(PARENT_PREFIX)) {\n\t\t\t\treturn get(\n\t\t\t\t\tparentProperties,\n\t\t\t\t\tleftHandValue.substr(PARENT_PREFIX.length),\n\t\t\t\t\t''\n\t\t\t\t);\n\t\t\t} else if (fieldValues === null) {\n\t\t\t\treturn IGNORE_VALUE_AND_EVALUTE_TO_TRUE;\n\t\t\t} else {\n\t\t\t\treturn fieldValues[leftHandValue];\n\t\t\t}\n\t\t};\n\t}\n}\n\nexport function getScreenQualifierFunction(\n\tmacroponentPropertyDefs,\n\tsubroute,\n\tseismicProperties,\n\t_fieldValues,\n\tgetResolvedDataBindingFn\n) {\n\tconst valueResolverFn = getValueResolverFunction(\n\t\tmacroponentPropertyDefs,\n\t\tsubroute,\n\t\tseismicProperties,\n\t\t_fieldValues,\n\t\tgetResolvedDataBindingFn\n\t);\n\treturn (screen) => {\n\t\tconst {parsedConditions} = screen;\n\n\t\treturn evaluateConditions(parsedConditions, valueResolverFn);\n\t};\n}\n\nexport const exportForTesting = {\n\tsanitizeInputValues,\n\tevaluateConditions,\n\tgetTermEvaluationResult,\n\tevaluateCondition\n};\n","import {getPlaceholderPropName} from '../../UxValueResolver/getResolvedBindingWithState';\n\nfunction getDataOutputPropName(bindingAddress) {\n\tconst [dataElementId, propName] = bindingAddress;\n\tconst dataPropName = getPlaceholderPropName(dataElementId, propName);\n\treturn dataPropName;\n}\n\nfunction getViewportToScreenMapping(\n\tparentCompositionElementId,\n\tscreen,\n\tcurrentViewportMap = {}\n) {\n\tconst updatedViewportMap = {...currentViewportMap};\n\tif (!updatedViewportMap[parentCompositionElementId]) {\n\t\tupdatedViewportMap[parentCompositionElementId] = [screen.id];\n\t} else if (\n\t\t!updatedViewportMap[parentCompositionElementId].includes(screen.id)\n\t) {\n\t\tupdatedViewportMap[parentCompositionElementId] = [\n\t\t\t...updatedViewportMap[parentCompositionElementId],\n\t\t\tscreen.id\n\t\t];\n\t}\n\treturn updatedViewportMap;\n}\n\nexport default function getViewportElementsAffectedByDataOutputProp(subroutes) {\n\tconst dependencies = subroutes.reduce((acc, subroute) => {\n\t\tconst {\n\t\t\tparentCompositionElementId,\n\t\t\textensionPoint,\n\t\t\tfields = [],\n\t\t\tmacroponents: screens\n\t\t} = subroute;\n\t\tif (parentCompositionElementId && extensionPoint && fields.length === 0) {\n\t\t\tfor (const screen of screens) {\n\t\t\t\tconst {watchedProperties, parsedConditions} = screen;\n\n\t\t\t\tfor (const watchedPropertyUxValue of Object.values(watchedProperties)) {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tbinding: {address = []}\n\t\t\t\t\t} = watchedPropertyUxValue;\n\n\t\t\t\t\tif (address.length > 0) {\n\t\t\t\t\t\tconst dataPropName = getDataOutputPropName(address);\n\t\t\t\t\t\tacc[dataPropName] = getViewportToScreenMapping(\n\t\t\t\t\t\t\tparentCompositionElementId,\n\t\t\t\t\t\t\tscreen,\n\t\t\t\t\t\t\tacc[dataPropName]\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tfor (const parsedCondition of parsedConditions) {\n\t\t\t\t\tfor (const expression of parsedCondition) {\n\t\t\t\t\t\tconst {leftHandValue} = expression;\n\n\t\t\t\t\t\tif (typeof leftHandValue === 'object') {\n\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\tbinding: {address = []}\n\t\t\t\t\t\t\t} = leftHandValue;\n\n\t\t\t\t\t\t\tconst dataPropName = getDataOutputPropName(address);\n\t\t\t\t\t\t\tacc[dataPropName] = getViewportToScreenMapping(\n\t\t\t\t\t\t\t\tparentCompositionElementId,\n\t\t\t\t\t\t\t\tscreen,\n\t\t\t\t\t\t\t\tacc[dataPropName]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn acc;\n\t}, {});\n\n\treturn dependencies;\n}\n","import {memoize} from '@servicenow/ui-utils';\n\nexport class ScriptedRequestsCache {\n\tconstructor() {\n\t\tthis.__cache = {};\n\n\t\t// memoize the stringify method so we don't have to\n\t\t// keep running JSON.stringify over and over\n\t\tthis.stringify = memoize((input) => {\n\t\t\tif (typeof input === 'string') return input;\n\n\t\t\ttry {\n\t\t\t\treturn JSON.stringify(input);\n\t\t\t} catch (error) {\n\t\t\t\tconsole.warn(error);\n\t\t\t}\n\t\t\treturn null;\n\t\t});\n\t}\n\n\tadd(scriptedRoutes) {\n\t\tconst key = this.stringify(scriptedRoutes);\n\t\tif (key) {\n\t\t\tlet _resolve;\n\t\t\tthis.__cache[key] = {\n\t\t\t\tpromise: new Promise((resolve) => {\n\t\t\t\t\t_resolve = resolve;\n\t\t\t\t})\n\t\t\t};\n\t\t\tthis.__cache[key].resolve = _resolve;\n\t\t}\n\t}\n\n\tremove(scriptedRoutes) {\n\t\tconst key = this.stringify(scriptedRoutes);\n\t\tif (key) delete this.__cache[key];\n\t}\n\n\tgetResolve(scriptedRoutes) {\n\t\treturn this.__cache[this.stringify(scriptedRoutes)]?.resolve;\n\t}\n\n\tget(scriptedRoutes) {\n\t\treturn this.__cache[this.stringify(scriptedRoutes)]?.promise;\n\t}\n\n\thas(scriptedRoutes) {\n\t\tconst key = this.stringify(scriptedRoutes);\n\t\tif (!key) return false;\n\t\treturn Object.prototype.hasOwnProperty.call(this.__cache, key);\n\t}\n\n\tclear() {\n\t\tthis.__cache = {};\n\t}\n}\n","import {actionTypes} from '@servicenow/ui-core';\nimport {mark, getInteractionId} from '@servicenow/ui-metrics';\n\nimport generateId from '../../../utils/generateId';\nimport {getUxrInteractionIdByHost} from '../../../utils/screenUtils';\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_DISCONNECTED\n} = actionTypes;\n\nimport {getTemplates} from '../../../templateLoader/getTemplates';\nimport {\n\tisEmpty,\n\tassign,\n\tget,\n\tset,\n\tdefaultTo,\n\thas,\n\tisEqual,\n\tfindKey,\n\tisMap,\n\tomit,\n\tisNil\n} from '@devsnc/snowdash';\n\nimport {\n\tevaluateScriptedConditionsEffect,\n\tevaluateRouteScriptedConditions\n} from './viewportRuntimeEffects';\nimport {\n\tgetConditionProperties,\n\tgetBasePath,\n\tgetViewportElementIds,\n\tincludeScreenKey,\n\tuniqueScreenKey\n} from './utils';\nimport {primeTemplateCache} from './primeTemplateCache';\nimport {updateRouteCollectionState} from './updateRouteCollectionState';\nimport registerScreenActionTransformer from './registerScreenActionTransformer';\nimport {getScreenQualifierFunction} from './evaluateScreenCondition';\nimport {default as console} from '../../../utils/getLogger.js';\nimport {dispatchInternalAction} from '../../getInternalEffect.js';\nimport {\n\tviewportActions,\n\tpublicDispatchedActionNames,\n\tSIGNAL_VIEWPORT_LOAD_COMPLETION,\n\tCOMPOSITION_ELEMENT_ID,\n\tCONTAINING_MACROPONENT_SYS_ID,\n\tMETA_PROP_NAME_APP_CONFIG_SYS_ID,\n\tUXF_MACROPONENT_OUTPUT_PROPERTY_UPDATED\n} from '../../../factory/constants';\nimport getViewportElementsAffectedByDataOutputProp from './getViewportElementsAffectedByDataOutputProp';\nimport {getPlaceholderPropName} from '../../UxValueResolver/getResolvedBindingWithState';\nimport {ScriptedRequestsCache} from './caches';\nimport {resolveSelectableProperty} from '../../UxValueResolver/resolveSelectableProperty';\n\nconst {\n\tMACROPONENT_VIEWPORT_LOAD_COMPLETED,\n\tMACROPONENT_VIEWPORT_ROUTE_INITIALIZATION_COMPLETED\n} = publicDispatchedActionNames;\n\nconst {\n\tUXF_VIEWPORT_RENDER,\n\tUXF_VIEWPORT_RENDER_BY_ID,\n\tUXF_VIEWPORT_DISMISS,\n\tUXF_VIEWPORT_SCRIPTED_CONDITIONS_EVALUATION_REQUESTED,\n\tUXF_VIEWPORT_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED,\n\tUXF_VIEWPORT_ROUTE_SCRIPTED_CONDITIONS_EVALUATION_REQUESTED,\n\tUXF_VIEWPORT_ROUTE_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED,\n\tUXF_VIEWPORT_CALCULATE_ROUTES,\n\tUXF_VIEWPORT_ROUTE_INITIALIZATION_COMPLETED\n} = viewportActions;\n\nconst threshold = 250; // ms\nconst scriptedConditonsLastRequestCache = new Map();\nconst SCRIPTED_ROUTE_CACHE_KEY = 'behaviors.viewportRuntime.scriptedRouteCache';\nconst SCRIPTED_CONDITIONS_CACHE_KEY =\n\t'behaviors.viewportRuntime.scriptedConditionsCache';\n\nexport function getScriptedScreenCondtionRequestObject(\n\tmacroponentPropertyDefs,\n\textensionPoint,\n\tgetResolvedDataBindingFn,\n\t{\n\t\twatchedProperties = {},\n\t\tid: screenId,\n\t\tscriptedConditionParameterFilters = {},\n\t\tisResultMemoizable: canBeMemoized = true\n\t},\n\tseismicProperties,\n\tfieldsInPayload,\n\tparamsInPayload\n) {\n\tif (extensionPoint) {\n\t\tconst resolvedWatchedProperties = Object.entries(watchedProperties).reduce(\n\t\t\t(acc, [key, uxValue]) => {\n\t\t\t\tconst value = getResolvedDataBindingFn(uxValue, seismicProperties);\n\t\t\t\tacc[key] = value;\n\t\t\t\treturn acc;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t\tconst isAtleastOnePropPresent = Object.values(\n\t\t\tresolvedWatchedProperties\n\t\t).some((val) => !isNil(val));\n\n\t\t// Short circuit return - If all input properties are null/undefined, there is no point in sending it in an evaluation request.\n\t\tif (!isAtleastOnePropPresent && !isEmpty(watchedProperties)) return;\n\n\t\treturn {\n\t\t\tversion: '2',\n\t\t\tinputProperties: {\n\t\t\t\tdata: resolvedWatchedProperties,\n\t\t\t\tpayload: fieldsInPayload\n\t\t\t},\n\t\t\tscreenId,\n\t\t\tcanBeMemoized\n\t\t};\n\t} else {\n\t\tconst inputParams = {\n\t\t\t...getConditionProperties(macroponentPropertyDefs, seismicProperties),\n\t\t\t...fieldsInPayload,\n\t\t\t...paramsInPayload\n\t\t};\n\n\t\tconst processedInputParams = filterConditionParameters(\n\t\t\tinputParams,\n\t\t\tscriptedConditionParameterFilters\n\t\t);\n\t\tif (!isEmpty(watchedProperties)) {\n\t\t\tconst filteredProcessedInputParams =\n\t\t\t\tfilterInputParamsWithWatchedProperties(\n\t\t\t\t\tprocessedInputParams,\n\t\t\t\t\twatchedProperties\n\t\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tversion: '1.1',\n\t\t\t\tinputProperties: filteredProcessedInputParams,\n\t\t\t\tscreenId,\n\t\t\t\tcanBeMemoized\n\t\t\t};\n\t\t} else\n\t\t\treturn {\n\t\t\t\tversion: '1',\n\t\t\t\tinputProperties: processedInputParams,\n\t\t\t\tscreenId,\n\t\t\t\tcanBeMemoized\n\t\t\t};\n\t}\n}\n\nfunction filterInputParamsWithWatchedProperties(\n\tprocessedInputParams,\n\twatchedProperties\n) {\n\tconst filteredProcessedInputParams = Object.entries(watchedProperties).reduce(\n\t\t(acc, [key, value]) => {\n\t\t\tconst keySplit = key.split('.');\n\t\t\tconst keyPropName = keySplit?.[1]; // exclude @params\n\t\t\tif (keyPropName && value?.type === 'PARAM_BINDING') {\n\t\t\t\tconst [propNameToResolve, ...propAddress] =\n\t\t\t\t\tvalue?.binding?.address || [];\n\t\t\t\tconst resolvedPropertyValue = resolveSelectableProperty(\n\t\t\t\t\tprocessedInputParams,\n\t\t\t\t\tpropNameToResolve,\n\t\t\t\t\tpropAddress\n\t\t\t\t);\n\t\t\t\tacc[keyPropName] = resolvedPropertyValue;\n\t\t\t}\n\t\t\treturn acc;\n\t\t},\n\t\t{}\n\t);\n\treturn filteredProcessedInputParams;\n}\n\nfunction filterConditionParameters(params, paramFilters) {\n\t//DEF0301790 - removing userPrefs from scripted condition payload due to large size\n\tconst paramsWithoutUserPrefs = omit(params, 'userPrefs');\n\tconst conditionParamFilters = Object.values(paramFilters);\n\tif (conditionParamFilters.length > 0) {\n\t\treturn conditionParamFilters.reduce((acc, paramFilters) => {\n\t\t\tparamFilters.forEach((jsonPath) => {\n\t\t\t\tacc = set(acc, jsonPath, get(paramsWithoutUserPrefs, jsonPath));\n\t\t\t});\n\t\t\treturn acc;\n\t\t}, {});\n\t}\n\treturn paramsWithoutUserPrefs;\n}\n\nexport function filterInputProperties(inputProps) {\n\ttry {\n\t\tconst inputPropsFieldsKeys = inputProps?.detailsProps?.fields\n\t\t\t? Object.keys(inputProps?.detailsProps?.fields)\n\t\t\t: [];\n\t\tconst inputPropsFieldsKeysArray = inputPropsFieldsKeys?.map(\n\t\t\t(fieldName) => `detailsProps.fields.${fieldName}.declarativeUiActions`\n\t\t);\n\t\tconst propsToOmit = [\n\t\t\t'tabRoutes',\n\t\t\t'activityLogs',\n\t\t\t'detailsProps.activityStream',\n\t\t\t...inputPropsFieldsKeysArray\n\t\t];\n\t\treturn omit(inputProps, propsToOmit);\n\t} catch (e) {\n\t\treturn inputProps;\n\t}\n}\n\nexport function areExtPointScriptResultsConsumed(\n\textPointScriptResults,\n\tmacroponentSysId\n) {\n\treturn !isNil(macroponentSysId) &&\n\t\t!isEmpty(extPointScriptResults) &&\n\t\textPointScriptResults[macroponentSysId]\n\t\t? !!extPointScriptResults[macroponentSysId]\n\t\t\t\t?.areExtPointScriptResultsConsumed\n\t\t: true;\n}\n\nexport function getSysIdFromTagName(tagName) {\n\tlet macroponentSysId = '';\n\tif (tagName) {\n\t\tconst match = tagName.toLowerCase().match(/macroponent-(\\w+)/);\n\t\tif (match) macroponentSysId = match[1];\n\t}\n\treturn macroponentSysId;\n}\n\nexport function shouldProcessPrefetch(prefetchSSRCMap, macroponentSysId) {\n\treturn Boolean(\n\t\t!isEmpty(prefetchSSRCMap) &&\n\t\t\tprefetchSSRCMap[macroponentSysId] &&\n\t\t\t!prefetchSSRCMap[macroponentSysId]?.areExtPointScriptResultsConsumed\n\t);\n}\n\n/**\n * @typedef {import(\"../../../types/internals/ViewportRuntime\").ViewportContent} ViewportContent\n * @typedef {import(\"../../../types/internals/ViewportRuntime\").Screen} Screen\n */\n\n/*\n * FixMe:\n * Viewport runtime behavior makes use of \"useScreenKey\" based on the presence of\n * sn-uxf-viewport-screen node in macroponent. In future we will enable the\n * configuration through the metadata.\n */\nexport default (\n\tdefinitionSubroutes = [],\n\tmacroponentProperties = {},\n\tuseScreenKey = false,\n\tprefetchLimits = {},\n\twithAppConfigAgnosticSubRoutes,\n\tuxfViewportDispatchBlacklist,\n\tgetResolvedDataBindingFn,\n\tdescendants = {},\n\tdataShell\n) => {\n\tlet viewportTransactions = new WeakMap();\n\tconst ScreenLastRequestTimestampMap = new Map();\n\n\t// This is tracked per-macroponent definition, but we attempt priming the cache (lazily) when the first instance is bootstrapped.\n\tlet isTemplateCachePrimingAttempted = false;\n\n\t// This is identical to what we do in glide, and must not be changed without a corresponding change there\n\tfunction getInstanceSubroutes(instanceAppConfigSysId) {\n\t\tif (!withAppConfigAgnosticSubRoutes) return definitionSubroutes;\n\n\t\tif (isEmpty(instanceAppConfigSysId)) return definitionSubroutes;\n\n\t\treturn definitionSubroutes.filter(({appConfigSysId = null}) => {\n\t\t\tif (!isEmpty(appConfigSysId) && instanceAppConfigSysId !== appConfigSysId)\n\t\t\t\treturn false;\n\t\t\treturn true;\n\t\t});\n\t}\n\n\tfunction isDuplicateScriptedConditionRequest(scriptedRoutes, nowId) {\n\t\tconst scriptedConditonsLastRequestData =\n\t\t\tscriptedConditonsLastRequestCache.get(nowId);\n\t\tif (scriptedConditonsLastRequestData) {\n\t\t\tconst withinThreshold =\n\t\t\t\tDate.now() - scriptedConditonsLastRequestData.timestamp < threshold;\n\t\t\tconst areFilteredObjectsEqual = isEqual(\n\t\t\t\tscriptedRoutes,\n\t\t\t\tscriptedConditonsLastRequestData.scriptedRoutes\n\t\t\t);\n\t\t\treturn areFilteredObjectsEqual && withinThreshold;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tfunction sysPropInputPropsTrimmingDisabled() {\n\t\treturn (\n\t\t\tget(\n\t\t\t\twindow,\n\t\t\t\t[\n\t\t\t\t\t'ux_globals',\n\t\t\t\t\t'libuxf',\n\t\t\t\t\t'sysprops',\n\t\t\t\t\t'glide.uxf.lib.scriptedcondition.inputprops.trimming.disable'\n\t\t\t\t],\n\t\t\t\t'false'\n\t\t\t) === 'true'\n\t\t);\n\t}\n\n\tfunction getScriptedRouteConditionRequest(\n\t\tscriptedRoutes,\n\t\tnonExtensionPointRoutesExist\n\t) {\n\t\tif (nonExtensionPointRoutesExist) {\n\t\t\tlet firstInputPropertiesEncountered = false;\n\n\t\t\tfor (const route in scriptedRoutes) {\n\t\t\t\tif (route in scriptedRoutes) {\n\t\t\t\t\tscriptedRoutes[route] = scriptedRoutes[route].map((screen) => {\n\t\t\t\t\t\tif (screen.version === '1') {\n\t\t\t\t\t\t\t// Replace inputProperties with an empty object if it's not the first instance\n\t\t\t\t\t\t\tif (firstInputPropertiesEncountered) {\n\t\t\t\t\t\t\t\tscreen.inputProperties = {};\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tif (!sysPropInputPropsTrimmingDisabled()) {\n\t\t\t\t\t\t\t\t\tscreen.inputProperties = filterInputProperties(\n\t\t\t\t\t\t\t\t\t\tscreen.inputProperties\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tfirstInputPropertiesEncountered = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn screen;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn scriptedRoutes;\n\t}\n\n\tconst descendantElementIds = [\n\t\t...new Set(\n\t\t\tObject.entries(descendants).flatMap(([key, children]) => [\n\t\t\t\tkey,\n\t\t\t\t...children.map((child) => child?.nodeId)\n\t\t\t])\n\t\t)\n\t];\n\n\tconst viewportElementsAffectedByDataOutputProp =\n\t\tgetViewportElementsAffectedByDataOutputProp(\n\t\t\tdefinitionSubroutes.filter((subroute) =>\n\t\t\t\tdescendantElementIds.includes(subroute.parentCompositionElementId)\n\t\t\t)\n\t\t);\n\n\tconst inFlightScriptedScreenConditions = new Map();\n\n\t/**\n\t *ckiiwfdnffoaaaabbbbddghhdamgvmbbbba: [{route: \"overview\"}, {route: \"active-work\"}]\n\t *\n\t */\n\tconst addInFlightScriptedScreenConditionEvaluation = (\n\t\tviewportElementId,\n\t\troute\n\t) => {\n\t\tif (inFlightScriptedScreenConditions.has(viewportElementId)) {\n\t\t\tconst existingInFlightSSCRoutes =\n\t\t\t\tinFlightScriptedScreenConditions.get(viewportElementId);\n\t\t\texistingInFlightSSCRoutes.push({route});\n\t\t\tinFlightScriptedScreenConditions.set(\n\t\t\t\tviewportElementId,\n\t\t\t\texistingInFlightSSCRoutes\n\t\t\t);\n\t\t} else {\n\t\t\tinFlightScriptedScreenConditions.set(\n\t\t\t\tviewportElementId,\n\t\t\t\tnew Array({route})\n\t\t\t);\n\t\t}\n\t};\n\n\tconst markInFlightScriptedScreenConditionEvaluation = (\n\t\tviewportElementId,\n\t\troute\n\t) => {\n\t\tconst scriptedScreenConditionRoutes =\n\t\t\tinFlightScriptedScreenConditions.get(viewportElementId);\n\n\t\tif (!isEmpty(scriptedScreenConditionRoutes)) {\n\t\t\tconst inFlightSSCRoutes = scriptedScreenConditionRoutes.filter(\n\t\t\t\t(r) => r.route !== route\n\t\t\t);\n\n\t\t\tif (isEmpty(inFlightSSCRoutes)) {\n\t\t\t\tinFlightScriptedScreenConditions.delete(viewportElementId);\n\t\t\t} else {\n\t\t\t\tinFlightScriptedScreenConditions.set(\n\t\t\t\t\tviewportElementId,\n\t\t\t\t\tinFlightSSCRoutes\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t};\n\n\treturn {\n\t\tname: 'viewportRuntime',\n\t\tsetInitialState({properties}) {\n\t\t\tconst subroutes = getInstanceSubroutes(\n\t\t\t\tproperties[META_PROP_NAME_APP_CONFIG_SYS_ID]\n\t\t\t).filter((s) => !isEmpty(s.parentCompositionElementId));\n\n\t\t\tif (!isEmpty(subroutes)) {\n\t\t\t\treturn {\n\t\t\t\t\t/** @type {Object.<string, ViewportContent>} */\n\t\t\t\t\tviewports: {},\n\t\t\t\t\t/** @type {Object} */\n\t\t\t\t\tscriptedRouteCache: new ScriptedRequestsCache(),\n\t\t\t\t\t/** @type {Object} */\n\t\t\t\t\tscriptedConditionsCache: new ScriptedRequestsCache()\n\t\t\t\t\t/** @type {Object} */\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\t\tactionHandlers: {\n\t\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\t\teffect: ({properties, host}) => {\n\t\t\t\t\tlet uxrInteractionId = getUxrInteractionIdByHost(host);\n\t\t\t\t\tif (!isTemplateCachePrimingAttempted) {\n\t\t\t\t\t\tisTemplateCachePrimingAttempted = true;\n\t\t\t\t\t\tprimeTemplateCache(\n\t\t\t\t\t\t\tgetInstanceSubroutes(\n\t\t\t\t\t\t\t\tproperties[META_PROP_NAME_APP_CONFIG_SYS_ID]\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tprefetchLimits,\n\t\t\t\t\t\t\tuseScreenKey,\n\t\t\t\t\t\t\tuxrInteractionId\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tstopPropagation: true\n\t\t\t},\n\t\t\t[COMPONENT_CONNECTED]: {\n\t\t\t\teffect: ({dispatch, properties}) => {\n\t\t\t\t\tconst subroutes = getInstanceSubroutes(\n\t\t\t\t\t\tproperties[META_PROP_NAME_APP_CONFIG_SYS_ID]\n\t\t\t\t\t).filter((s) => !isEmpty(s.parentCompositionElementId));\n\n\t\t\t\t\tif (!isEmpty(subroutes)) {\n\t\t\t\t\t\tdispatch(UXF_VIEWPORT_CALCULATE_ROUTES, {\n\t\t\t\t\t\t\tsourceActionName: COMPONENT_CONNECTED,\n\t\t\t\t\t\t\tsourceActionPayload: {properties}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tstopPropagation: true\n\t\t\t},\n\t\t\t[COMPONENT_DISCONNECTED]: {\n\t\t\t\teffect: ({state, host}) => {\n\t\t\t\t\tconst clearCache = (cacheName) => {\n\t\t\t\t\t\tconst cacheMap = get(state, [\n\t\t\t\t\t\t\t'behaviors',\n\t\t\t\t\t\t\t'viewportRuntime',\n\t\t\t\t\t\t\tcacheName\n\t\t\t\t\t\t]);\n\t\t\t\t\t\tif (isMap(cacheMap)) {\n\t\t\t\t\t\t\tcacheMap.clear();\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t['scriptedRouteCache', 'scriptedConditionsCache'].map(clearCache);\n\t\t\t\t\tScreenLastRequestTimestampMap.clear();\n\t\t\t\t\tviewportTransactions.delete(host);\n\t\t\t\t}\n\t\t\t},\n\t\t\t[UXF_MACROPONENT_OUTPUT_PROPERTY_UPDATED]: {\n\t\t\t\teffect: ({action, host, dispatch}) => {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tpayload,\n\t\t\t\t\t\tmeta: {\n\t\t\t\t\t\t\tappended: {\n\t\t\t\t\t\t\t\t[COMPOSITION_ELEMENT_ID]: elementId,\n\t\t\t\t\t\t\t\t[CONTAINING_MACROPONENT_SYS_ID]: containingSysId = ''\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} = action;\n\t\t\t\t\tconst tag = `MACROPONENT-${containingSysId.toUpperCase()}`;\n\t\t\t\t\tif (tag !== host.tagName) return;\n\n\t\t\t\t\tconst affectedViewportElementIds = {};\n\t\t\t\t\tObject.keys(payload).forEach((name) => {\n\t\t\t\t\t\tconst dataPropName = getPlaceholderPropName(elementId, name);\n\t\t\t\t\t\tif (viewportElementsAffectedByDataOutputProp[dataPropName]) {\n\t\t\t\t\t\t\tfor (const [viewportElementId, affectedScreens] of Object.entries(\n\t\t\t\t\t\t\t\tviewportElementsAffectedByDataOutputProp[dataPropName]\n\t\t\t\t\t\t\t)) {\n\t\t\t\t\t\t\t\taffectedViewportElementIds[viewportElementId] = [\n\t\t\t\t\t\t\t\t\t...(affectedViewportElementIds[viewportElementId] ?? []),\n\t\t\t\t\t\t\t\t\t...affectedScreens\n\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tif (Object.keys(affectedViewportElementIds).length > 0)\n\t\t\t\t\t\tdispatch(UXF_VIEWPORT_CALCULATE_ROUTES, {\n\t\t\t\t\t\t\tsourceActionName: UXF_MACROPONENT_OUTPUT_PROPERTY_UPDATED,\n\t\t\t\t\t\t\tsourceActionPayload: {affectedViewportElementIds}\n\t\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\t[UXF_VIEWPORT_CALCULATE_ROUTES]: {\n\t\t\t\teffect: async (coeffects) => {\n\t\t\t\t\tconst {\n\t\t\t\t\t\thost,\n\t\t\t\t\t\tproperties,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\taction: {payload}\n\t\t\t\t\t} = coeffects;\n\n\t\t\t\t\tconst scriptedRoutes = {};\n\t\t\t\t\tlet nonPassingClientConditions = {};\n\t\t\t\t\tlet isResultMemoizable = true;\n\t\t\t\t\tconst memoizationFlags = {};\n\n\t\t\t\t\tlet subroutes = getInstanceSubroutes(\n\t\t\t\t\t\tproperties[META_PROP_NAME_APP_CONFIG_SYS_ID]\n\t\t\t\t\t).filter((s) => !isEmpty(s.parentCompositionElementId));\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tpayload?.sourceActionName ===\n\t\t\t\t\t\t\tUXF_MACROPONENT_OUTPUT_PROPERTY_UPDATED &&\n\t\t\t\t\t\tpayload?.sourceActionPayload?.affectedViewportElementIds &&\n\t\t\t\t\t\tsubroutes?.length > 0\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst filteredSubroutes = subroutes.filter((subroute) => {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tpayload.sourceActionPayload.affectedViewportElementIds[\n\t\t\t\t\t\t\t\t\tsubroute.parentCompositionElementId\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tconst screenIds = subroute.macroponents.filter((m) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\tpayload.sourceActionPayload.affectedViewportElementIds[\n\t\t\t\t\t\t\t\t\t\t\tsubroute.parentCompositionElementId\n\t\t\t\t\t\t\t\t\t\t].indexOf(m.id) > -1\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\treturn screenIds.length > 0;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\tsubroutes = filteredSubroutes;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst extPointScriptResults =\n\t\t\t\t\t\twindow?.ux_globals?.extPointScriptResults || {};\n\t\t\t\t\tconst macroponentSysId = getSysIdFromTagName(host?.tagName);\n\t\t\t\t\tlet shouldCheckForServerSRCs =\n\t\t\t\t\t\t!areExtPointScriptResultsConsumed(\n\t\t\t\t\t\t\textPointScriptResults,\n\t\t\t\t\t\t\tmacroponentSysId\n\t\t\t\t\t\t) && payload?.sourceActionName === COMPONENT_CONNECTED;\n\n\t\t\t\t\tconst extPointRouteToScreenMap = new Map();\n\t\t\t\t\tlet scriptedSubroutesFromServer = [];\n\t\t\t\t\tlet epScriptResults = {};\n\n\t\t\t\t\tif (subroutes && subroutes.length > 0) {\n\t\t\t\t\t\tif (shouldCheckForServerSRCs) {\n\t\t\t\t\t\t\twindow.ux_globals.extPointScriptResults[\n\t\t\t\t\t\t\t\tmacroponentSysId\n\t\t\t\t\t\t\t].areExtPointScriptResultsConsumed = true;\n\t\t\t\t\t\t\tepScriptResults =\n\t\t\t\t\t\t\t\textPointScriptResults[macroponentSysId]?.epScriptResults;\n\n\t\t\t\t\t\t\tinitializeCacheWithScriptedConditions({\n\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\tsubroutes,\n\t\t\t\t\t\t\t\tepScriptResults,\n\t\t\t\t\t\t\t\tisDirectPageLoad: true,\n\t\t\t\t\t\t\t\teffectiveSubscreens: new Set(\n\t\t\t\t\t\t\t\t\twindow?.__uxf_get_direct_load_effective_subscreens ?? []\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// clickthrough prefetch case\n\t\t\t\t\t\t\tconst hydrationKey = state.properties?.nowUxfHydrationKey;\n\t\t\t\t\t\t\tconst prefetchSSRCMap =\n\t\t\t\t\t\t\t\twindow?.ux_globals?.prefetchSSRCMap?.[hydrationKey];\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tshouldProcessPrefetch(prefetchSSRCMap, macroponentSysId) &&\n\t\t\t\t\t\t\t\tsubroutes.some(\n\t\t\t\t\t\t\t\t\t(subroute) =>\n\t\t\t\t\t\t\t\t\t\tsubroute?.extensionPoint &&\n\t\t\t\t\t\t\t\t\t\tsubroute?.macroponents.some(\n\t\t\t\t\t\t\t\t\t\t\t(macroponent) =>\n\t\t\t\t\t\t\t\t\t\t\t\tmacroponent.hasScriptedCondition &&\n\t\t\t\t\t\t\t\t\t\t\t\tgetScreenQualifierFunction(\n\t\t\t\t\t\t\t\t\t\t\t\t\tmacroponentProperties,\n\t\t\t\t\t\t\t\t\t\t\t\t\tsubroute,\n\t\t\t\t\t\t\t\t\t\t\t\t\tproperties,\n\t\t\t\t\t\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t\t\t\t\t\tgetResolvedDataBindingFn\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t// Let's update route collection before await\n\t\t\t\t\t\t\t\tif (payload?.sourceActionName === COMPONENT_CONNECTED) {\n\t\t\t\t\t\t\t\t\tconst subroutesByViewportElementId = subroutes.reduce(\n\t\t\t\t\t\t\t\t\t\t(acc, subroute) => {\n\t\t\t\t\t\t\t\t\t\t\tconst {parentCompositionElementId, macroponents} =\n\t\t\t\t\t\t\t\t\t\t\t\tsubroute;\n\t\t\t\t\t\t\t\t\t\t\tconst noScriptedMacroponents = macroponents.filter(\n\t\t\t\t\t\t\t\t\t\t\t\t(macroponent) => !macroponent.hasScriptedCondition\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\tconst screensWithPassingClientConditions =\n\t\t\t\t\t\t\t\t\t\t\t\tnoScriptedMacroponents.filter(\n\t\t\t\t\t\t\t\t\t\t\t\t\tgetScreenQualifierFunction(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmacroponentProperties,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsubroute,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tproperties,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tgetResolvedDataBindingFn\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\tif (screensWithPassingClientConditions.length === 0) {\n\t\t\t\t\t\t\t\t\t\t\t\tnonPassingClientConditions[subroute.id] = true;\n\t\t\t\t\t\t\t\t\t\t\t\treturn acc;\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tif (!has(acc, [parentCompositionElementId]))\n\t\t\t\t\t\t\t\t\t\t\t\tacc[parentCompositionElementId] = [];\n\t\t\t\t\t\t\t\t\t\t\tacc[parentCompositionElementId].push(subroute);\n\t\t\t\t\t\t\t\t\t\t\treturn acc;\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tupdateRouteCollectionState({\n\t\t\t\t\t\t\t\t\t\tsubroutesByViewportElementId,\n\t\t\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t\t\t\tsubroutes,\n\t\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\t\t\tshouldCompleteRouteInitialization: false,\n\t\t\t\t\t\t\t\t\t\tinvalidRoutes: nonPassingClientConditions\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tconst prefetchResponse = (\n\t\t\t\t\t\t\t\t\tawait window.__uxf_get_extension_point_script_results?.[\n\t\t\t\t\t\t\t\t\t\thydrationKey\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t)?.[macroponentSysId];\n\n\t\t\t\t\t\t\t\t//Process effectiveSubscreens\n\t\t\t\t\t\t\t\tconst effectiveSubscreens = new Set(\n\t\t\t\t\t\t\t\t\t(await window.__uxf_get_effective_subscreens?.[\n\t\t\t\t\t\t\t\t\t\thydrationKey\n\t\t\t\t\t\t\t\t\t]) ?? []\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\tprefetchSSRCMap[\n\t\t\t\t\t\t\t\t\tmacroponentSysId\n\t\t\t\t\t\t\t\t].areExtPointScriptResultsConsumed = true;\n\t\t\t\t\t\t\t\tshouldCheckForServerSRCs = true;\n\t\t\t\t\t\t\t\tepScriptResults = prefetchResponse?.epScriptResults;\n\n\t\t\t\t\t\t\t\tinitializeCacheWithScriptedConditions({\n\t\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\t\tsubroutes,\n\t\t\t\t\t\t\t\t\tepScriptResults,\n\t\t\t\t\t\t\t\t\teffectiveSubscreens\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tscriptedSubroutesFromServer = Object.keys(\n\t\t\t\t\t\t\tepScriptResults ?? {}\n\t\t\t\t\t\t).filter((key) => {\n\t\t\t\t\t\t\tconst scriptResults = epScriptResults[key]?.scriptResults || [];\n\t\t\t\t\t\t\treturn scriptResults.some(\n\t\t\t\t\t\t\t\t(result) => result.conditionResult === true\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t});\n\t\t\t\t\t\tObject.keys(epScriptResults ?? {}).map((key) => {\n\t\t\t\t\t\t\tconst screenIds =\n\t\t\t\t\t\t\t\tepScriptResults[key]?.scriptResults.map(\n\t\t\t\t\t\t\t\t\t(result) => result.screenId\n\t\t\t\t\t\t\t\t) ?? [];\n\t\t\t\t\t\t\textPointRouteToScreenMap.set(key, screenIds);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tlet nonExtensionPointRoutesExist = false;\n\n\t\t\t\t\t// We need to check if there are any subscreens with scripted conditions\n\t\t\t\t\tconst subroutesByViewportElementId = subroutes.reduce(\n\t\t\t\t\t\t(acc, subroute) => {\n\t\t\t\t\t\t\tconst {parentCompositionElementId, macroponents, extensionPoint} =\n\t\t\t\t\t\t\t\tsubroute;\n\n\t\t\t\t\t\t\tlet screensWithPassingClientConditions = macroponents.filter(\n\t\t\t\t\t\t\t\tgetScreenQualifierFunction(\n\t\t\t\t\t\t\t\t\tmacroponentProperties,\n\t\t\t\t\t\t\t\t\tsubroute,\n\t\t\t\t\t\t\t\t\tproperties,\n\t\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t\tgetResolvedDataBindingFn\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t// if none of our screens has a client condition that passes, the route should not be shown\n\t\t\t\t\t\t\tif (screensWithPassingClientConditions.length === 0) {\n\t\t\t\t\t\t\t\tnonPassingClientConditions[subroute.id] = true;\n\t\t\t\t\t\t\t\treturn acc;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst shouldUseServerEvaluatedSRCResult =\n\t\t\t\t\t\t\t\tshouldCheckForServerSRCs &&\n\t\t\t\t\t\t\t\tscriptedSubroutesFromServer.includes(subroute.id);\n\n\t\t\t\t\t\t\t// if at least one of our screens at this point doesnt require any server script, we know we can show the route\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tscreensWithPassingClientConditions.some(\n\t\t\t\t\t\t\t\t\t(screen) =>\n\t\t\t\t\t\t\t\t\t\t!screen.hasScriptedCondition ||\n\t\t\t\t\t\t\t\t\t\tshouldUseServerEvaluatedSRCResult\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tif (!has(acc, [parentCompositionElementId])) {\n\t\t\t\t\t\t\t\t\tacc[parentCompositionElementId] = [];\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tacc[parentCompositionElementId].push(subroute);\n\t\t\t\t\t\t\t\treturn acc;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\tshouldCheckForServerSRCs &&\n\t\t\t\t\t\t\t\t\textPointRouteToScreenMap.has(subroute.id)\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tscreensWithPassingClientConditions =\n\t\t\t\t\t\t\t\t\t\tscreensWithPassingClientConditions.filter(\n\t\t\t\t\t\t\t\t\t\t\t(screen) =>\n\t\t\t\t\t\t\t\t\t\t\t\t!extPointRouteToScreenMap\n\t\t\t\t\t\t\t\t\t\t\t\t\t.get(subroute.id)\n\t\t\t\t\t\t\t\t\t\t\t\t\t.includes(screen.id)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// At this point, we don't know if this route has passing screens or not.\n\t\t\t\t\t\t\t\t// We have to hit the server and assess if the scripted conditions for any\n\t\t\t\t\t\t\t\t// screen in a given route passes.\n\t\t\t\t\t\t\t\tconst validScreens = screensWithPassingClientConditions\n\t\t\t\t\t\t\t\t\t.map((screen) => {\n\t\t\t\t\t\t\t\t\t\tmemoizationFlags[screen.id] = screen?.isResultMemoizable;\n\t\t\t\t\t\t\t\t\t\treturn getScriptedScreenCondtionRequestObject(\n\t\t\t\t\t\t\t\t\t\t\tmacroponentProperties,\n\t\t\t\t\t\t\t\t\t\t\textensionPoint,\n\t\t\t\t\t\t\t\t\t\t\tgetResolvedDataBindingFn,\n\t\t\t\t\t\t\t\t\t\t\tscreen,\n\t\t\t\t\t\t\t\t\t\t\tproperties,\n\t\t\t\t\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t.filter((screen) => !isEmpty(screen));\n\n\t\t\t\t\t\t\t\tif (validScreens.length > 0) {\n\t\t\t\t\t\t\t\t\tif (!extensionPoint) {\n\t\t\t\t\t\t\t\t\t\tnonExtensionPointRoutesExist = true;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tscriptedRoutes[subroute.id] = validScreens;\n\t\t\t\t\t\t\t\t\tisResultMemoizable &&= validScreens.every(\n\t\t\t\t\t\t\t\t\t\t(screen) => memoizationFlags[screen.screenId]\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn acc;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{}\n\t\t\t\t\t);\n\n\t\t\t\t\tconst viewportElementIds = getViewportElementIds(subroutes);\n\n\t\t\t\t\tviewportElementIds.forEach((viewportElementId) => {\n\t\t\t\t\t\tif (!subroutesByViewportElementId[viewportElementId]) {\n\t\t\t\t\t\t\tsubroutesByViewportElementId[viewportElementId] = [];\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tif (!isEmpty(scriptedRoutes)) {\n\t\t\t\t\t\t// do not dispatch scripted conditions for inactive screen content\n\t\t\t\t\t\tconst {sourceActionName, sourceActionPayload} = payload;\n\t\t\t\t\t\tif (sourceActionName === COMPONENT_PROPERTY_CHANGED) {\n\t\t\t\t\t\t\tconst {name, value} = sourceActionPayload;\n\t\t\t\t\t\t\tif (name === 'screen' && value?.isActive === false) return;\n\t\t\t\t\t\t} else if (sourceActionName === COMPONENT_CONNECTED) {\n\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\tproperties: {screen}\n\t\t\t\t\t\t\t} = sourceActionPayload;\n\t\t\t\t\t\t\tif (screen?.isActive === false) return;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst scriptedRoutesRequest = getScriptedRouteConditionRequest(\n\t\t\t\t\t\t\tscriptedRoutes,\n\t\t\t\t\t\t\tnonExtensionPointRoutesExist\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tconst currentTime = Date.now();\n\t\t\t\t\t\t// clean up stale entries\n\t\t\t\t\t\t[...scriptedConditonsLastRequestCache.values()].forEach((obj) => {\n\t\t\t\t\t\t\tif (currentTime - obj.timestamp > threshold)\n\t\t\t\t\t\t\t\tscriptedConditonsLastRequestCache.delete(obj.nowId);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tconst nowId = properties.nowId;\n\t\t\t\t\t\tconst shouldDispatch =\n\t\t\t\t\t\t\t!scriptedConditonsLastRequestCache.has(nowId) ||\n\t\t\t\t\t\t\t(scriptedConditonsLastRequestCache.has(nowId) &&\n\t\t\t\t\t\t\t\t!isDuplicateScriptedConditionRequest(\n\t\t\t\t\t\t\t\t\tscriptedRoutesRequest,\n\t\t\t\t\t\t\t\t\tnowId\n\t\t\t\t\t\t\t\t));\n\t\t\t\t\t\tscriptedConditonsLastRequestCache.set(nowId, {\n\t\t\t\t\t\t\tscriptedRoutesRequest,\n\t\t\t\t\t\t\tnowId,\n\t\t\t\t\t\t\ttimestamp: Date.now()\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\t// check for:\n\t\t\t\t\t\t//   - if there is a current inflight request\n\t\t\t\t\t\t//   - if we should dispatch based on cached responses\n\t\t\t\t\t\t//   - if the request has already been made\n\t\t\t\t\t\tif (!shouldDispatch) return;\n\n\t\t\t\t\t\t// get scripted route cache\n\t\t\t\t\t\tconst scriptedRouteCache = get(\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\tSCRIPTED_ROUTE_CACHE_KEY,\n\t\t\t\t\t\t\tnew Map()\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tconst startTime = performance.now();\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t!isResultMemoizable ||\n\t\t\t\t\t\t\t(isResultMemoizable &&\n\t\t\t\t\t\t\t\t!scriptedRouteCache.has(scriptedRoutesRequest))\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t// add scripted routes to a \"cache\"\n\t\t\t\t\t\t\tscriptedRouteCache.add(scriptedRoutesRequest);\n\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\tUXF_VIEWPORT_ROUTE_SCRIPTED_CONDITIONS_EVALUATION_REQUESTED,\n\t\t\t\t\t\t\t\t{data: scriptedRoutesRequest},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tstartTime,\n\t\t\t\t\t\t\t\t\tsubroutesByViewportElementId,\n\t\t\t\t\t\t\t\t\tsubroutes,\n\t\t\t\t\t\t\t\t\tscriptedCacheKey: scriptedRoutesRequest\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tscriptedRouteCache.get(scriptedRoutesRequest)?.then((result) => {\n\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\tUXF_VIEWPORT_ROUTE_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED,\n\t\t\t\t\t\t\t\t\tresult,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tstartTime,\n\t\t\t\t\t\t\t\t\t\tsubroutesByViewportElementId,\n\t\t\t\t\t\t\t\t\t\tsubroutes\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (sourceActionName === COMPONENT_CONNECTED) {\n\t\t\t\t\t\t\t// update preliminary routes\n\t\t\t\t\t\t\tconst filteredSubroutesByViewportElementId = Object.fromEntries(\n\t\t\t\t\t\t\t\tObject.entries(subroutesByViewportElementId).map(\n\t\t\t\t\t\t\t\t\t([key, subroutes]) => [\n\t\t\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\t\t\tsubroutes.filter(\n\t\t\t\t\t\t\t\t\t\t\t(subroute) =>\n\t\t\t\t\t\t\t\t\t\t\t\t!subroute.macroponents.some(\n\t\t\t\t\t\t\t\t\t\t\t\t\t(macroponent) => macroponent.hasScriptedCondition\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tupdateRouteCollectionState({\n\t\t\t\t\t\t\t\tsubroutesByViewportElementId:\n\t\t\t\t\t\t\t\t\tfilteredSubroutesByViewportElementId,\n\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t\tsubroutes,\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\tshouldCompleteRouteInitialization: false\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tupdateRouteCollectionState({\n\t\t\t\t\t\t\tsubroutesByViewportElementId,\n\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\tsubroutes,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\tinvalidRoutes: nonPassingClientConditions\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tstopPropagation: true\n\t\t\t},\n\t\t\t[UXF_VIEWPORT_ROUTE_SCRIPTED_CONDITIONS_EVALUATION_REQUESTED]: {\n\t\t\t\t...evaluateRouteScriptedConditions,\n\t\t\t\tstopPropagation: true\n\t\t\t},\n\t\t\t[UXF_VIEWPORT_SCRIPTED_CONDITIONS_EVALUATION_REQUESTED]: {\n\t\t\t\t...evaluateScriptedConditionsEffect,\n\t\t\t\tstopPropagation: true\n\t\t\t},\n\t\t\t[UXF_VIEWPORT_ROUTE_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED]: {\n\t\t\t\teffect: (coeffects) => {\n\t\t\t\t\tconst {\n\t\t\t\t\t\thost,\n\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\tpayload: {result = {}},\n\t\t\t\t\t\t\tmeta: {\n\t\t\t\t\t\t\t\tsubroutesByViewportElementId = {},\n\t\t\t\t\t\t\t\tsubroutes,\n\t\t\t\t\t\t\t\tscriptedCacheKey,\n\t\t\t\t\t\t\t\tstartTime\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\tdispatch\n\t\t\t\t\t} = coeffects;\n\t\t\t\t\tconst scriptedRouteCache = get(\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\tSCRIPTED_ROUTE_CACHE_KEY,\n\t\t\t\t\t\tnew Map()\n\t\t\t\t\t);\n\t\t\t\t\tif (scriptedCacheKey) {\n\t\t\t\t\t\tconst resolve = scriptedRouteCache.getResolve(scriptedCacheKey);\n\t\t\t\t\t\tif (resolve) resolve(coeffects.action.payload);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (isEmpty(result)) {\n\t\t\t\t\t\tupdateRouteCollectionState({\n\t\t\t\t\t\t\tsubroutesByViewportElementId,\n\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\tsubroutes,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tstate\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t//metrics\n\t\t\t\t\tmark(\n\t\t\t\t\t\thost,\n\t\t\t\t\t\tgetInteractionId(get(coeffects, 'action.meta')),\n\t\t\t\t\t\tUXF_VIEWPORT_ROUTE_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED,\n\t\t\t\t\t\t{routeResults: result}\n\t\t\t\t\t);\n\n\t\t\t\t\t// Iterate across the response of all the routes we sent for evaluation -\n\t\t\t\t\t// if a route had a screen that passed its scripted check, we'll add the route to\n\t\t\t\t\t// the viewportRoutes\n\t\t\t\t\tconst invalidRoutes = {};\n\t\t\t\t\tsubroutes.forEach((subroute) => {\n\t\t\t\t\t\tif (!result[subroute.id]) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t!has(subroutesByViewportElementId, [\n\t\t\t\t\t\t\t\tsubroute.parentCompositionElementId\n\t\t\t\t\t\t\t])\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tsubroutesByViewportElementId[\n\t\t\t\t\t\t\t\tsubroute.parentCompositionElementId\n\t\t\t\t\t\t\t] = [];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Since now we only send conditions for evaluation when a property changes\n\t\t\t\t\t\t// the result contains only routes that experienced a property change.\n\t\t\t\t\t\t// This means routes must be preserved if they were previously in state,\n\t\t\t\t\t\t// as they may still be valid, but have not had a property change.\n\t\t\t\t\t\t// Therefore we must provide the full set of scripted route evaluations\n\t\t\t\t\t\t// to the updateRouteCollectionState function, as it is needed to\n\t\t\t\t\t\t// differentiate between:\n\t\t\t\t\t\t//\t1. Routes with conditions that are now false\n\t\t\t\t\t\t// \t2. Routes that are already in state and have not been re-evaluated\n\t\t\t\t\t\t// Previously we only sent routes that had a passing condition, trapping\n\t\t\t\t\t\t// existing values in state.\n\t\t\t\t\t\tconst scriptResults = get(\n\t\t\t\t\t\t\tresult,\n\t\t\t\t\t\t\t`${subroute.id}.scriptResults`,\n\t\t\t\t\t\t\t[]\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tconst nonExpiredScriptResults = scriptResults.filter((item) => {\n\t\t\t\t\t\t\tconst screenId = item.screenId;\n\t\t\t\t\t\t\tif (startTime) {\n\t\t\t\t\t\t\t\tconst requestStartTime =\n\t\t\t\t\t\t\t\t\tScreenLastRequestTimestampMap.get(screenId);\n\t\t\t\t\t\t\t\tif (requestStartTime && startTime < requestStartTime)\n\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\tScreenLastRequestTimestampMap.set(screenId, startTime);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tif (nonExpiredScriptResults.length > 0) {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tnonExpiredScriptResults.some(\n\t\t\t\t\t\t\t\t\t(scriptResult) => scriptResult.conditionResult === true\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tsubroutesByViewportElementId[\n\t\t\t\t\t\t\t\t\tsubroute.parentCompositionElementId\n\t\t\t\t\t\t\t\t].push(subroute);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// Map the evaluation result to the subroute id\n\t\t\t\t\t\t\t\tinvalidRoutes[subroute.id] = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {});\n\n\t\t\t\t\tupdateRouteCollectionState({\n\t\t\t\t\t\tsubroutesByViewportElementId,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tsubroutes,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\tinvalidRoutes\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tstopPropagation: true\n\t\t\t},\n\t\t\t[UXF_VIEWPORT_ROUTE_INITIALIZATION_COMPLETED]: {\n\t\t\t\teffect: ({dispatch}) => {\n\t\t\t\t\tdispatchInternalAction(\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tMACROPONENT_VIEWPORT_ROUTE_INITIALIZATION_COMPLETED\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tstopPropagation: true\n\t\t\t},\n\t\t\t// Since viewport content screens can vary based on the values in a macroponent context\n\t\t\t// property, we need to reevaluate selected viewport contents when macroponent properties\n\t\t\t// change.\n\t\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\t\teffect: (coeffects) => {\n\t\t\t\t\tconst {\n\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\tpayload: {name, value, previousValue}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstate: {\n\t\t\t\t\t\t\tbehaviors: {\n\t\t\t\t\t\t\t\tviewportRuntime: {viewports = {}}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tproperties,\n\t\t\t\t\t\tdispatch\n\t\t\t\t\t} = coeffects;\n\n\t\t\t\t\tconst subroutes = getInstanceSubroutes(\n\t\t\t\t\t\tproperties[META_PROP_NAME_APP_CONFIG_SYS_ID]\n\t\t\t\t\t).filter((s) => !isEmpty(s.parentCompositionElementId));\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tmacroponentProperties[name] ||\n\t\t\t\t\t\tname === META_PROP_NAME_APP_CONFIG_SYS_ID\n\t\t\t\t\t) {\n\t\t\t\t\t\t// DEF0178338 - Often, the value of a property that changed is an object whose value didn't ACTUALLY change.\n\t\t\t\t\t\t// To defend against kicking off an expensive operation to re-evaluate routes that we don't have to, we are\n\t\t\t\t\t\t// explicity checking here that the new property value is actually different than the previous one.\n\t\t\t\t\t\tif (!isEqual(value, previousValue)) {\n\t\t\t\t\t\t\t// don't dispatch to calculate viewport routes for\n\t\t\t\t\t\t\t// the macroponents in absence of viewport elements\n\t\t\t\t\t\t\tif (!isEmpty(subroutes)) {\n\t\t\t\t\t\t\t\tdispatch(UXF_VIEWPORT_CALCULATE_ROUTES, {\n\t\t\t\t\t\t\t\t\tsourceActionName: COMPONENT_PROPERTY_CHANGED,\n\t\t\t\t\t\t\t\t\tsourceActionPayload: {name, value, previousValue}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tObject.keys(viewports).forEach((viewportElementId) => {\n\t\t\t\t\t\t\t\tconst currentScreen = get(viewports, [\n\t\t\t\t\t\t\t\t\tviewportElementId,\n\t\t\t\t\t\t\t\t\t'currentScreen'\n\t\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t\t\tif (isNil(currentScreen)) return;\n\t\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\t\tactiveRoute: {routeType, fields, optionalParameters: params}\n\t\t\t\t\t\t\t\t} = currentScreen;\n\n\t\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t\t * todo: if this element is rendering an extension point, as a perf optimization,\n\t\t\t\t\t\t\t\t * we could look at the viewportDependencies map to figure out if the property change\n\t\t\t\t\t\t\t\t * will affect this viewport\n\t\t\t\t\t\t\t\t */\n\n\t\t\t\t\t\t\t\t//DEF0260780: UXFModalViewport opens unexpectedly due to race conditions during UXFModalViewport dismissal\n\t\t\t\t\t\t\t\t//Checking if this is a isUXFModalViewport to not render the UXFModalViewport\n\t\t\t\t\t\t\t\t//The UXFModalViewport Modals are always exclusively launched using MACROPONENT_VIEWPORT_LOAD_REQUESTED\n\t\t\t\t\t\t\t\t//and dismissed like regular modals, to notify uxf, it uses via a MutationObserver to dispatch VIEWPORT_ROUTE_DISMISSED and update the route\n\t\t\t\t\t\t\t\tif (uxfViewportDispatchBlacklist.includes(viewportElementId))\n\t\t\t\t\t\t\t\t\treturn;\n\n\t\t\t\t\t\t\t\t// dispatch the UXF_VIEWPORT_RENDER_BY_ID event only when\n\t\t\t\t\t\t\t\t// viewportElementId doesn't exists in inFlightScriptedScreenConditions\n\t\t\t\t\t\t\t\tif (!inFlightScriptedScreenConditions.has(viewportElementId)) {\n\t\t\t\t\t\t\t\t\tdispatch(UXF_VIEWPORT_RENDER_BY_ID, {\n\t\t\t\t\t\t\t\t\t\troute: routeType,\n\t\t\t\t\t\t\t\t\t\tfields,\n\t\t\t\t\t\t\t\t\t\tparams,\n\t\t\t\t\t\t\t\t\t\tviewportElementId\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t[UXF_VIEWPORT_RENDER]: {\n\t\t\t\teffect: (coeffects) => {\n\t\t\t\t\tconst {\n\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\tpayload,\n\t\t\t\t\t\t\tmeta: {appended: appendedSourceActionMeta = {}, uxfMeta = {}}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdispatch\n\t\t\t\t\t} = coeffects;\n\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tUXF_VIEWPORT_RENDER_BY_ID,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...payload,\n\t\t\t\t\t\t\tviewportElementId:\n\t\t\t\t\t\t\t\tappendedSourceActionMeta[COMPOSITION_ELEMENT_ID]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tuxfMeta\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tstopPropagation: true\n\t\t\t},\n\t\t\t[UXF_VIEWPORT_DISMISS]: {\n\t\t\t\teffect: (coeffects) => {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\tpayload: {route, fields},\n\t\t\t\t\t\t\tmeta: {appended: appendedSourceActionMeta = {}}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstate\n\t\t\t\t\t} = coeffects;\n\t\t\t\t\tconst viewportElementId =\n\t\t\t\t\t\tappendedSourceActionMeta[COMPOSITION_ELEMENT_ID];\n\t\t\t\t\tconst basePath = getBasePath(viewportElementId);\n\t\t\t\t\tconst viewportData = get(state, basePath, {});\n\t\t\t\t\tconst screenId = findKey(viewportData.screens, ({activeRoute}) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tactiveRoute.routeType === route &&\n\t\t\t\t\t\t\tObject.keys(activeRoute.fields).length ===\n\t\t\t\t\t\t\t\tObject.keys(fields).length\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t\tconst isScreenActive =\n\t\t\t\t\t\tscreenId === get(viewportData, ['currentScreen', 'screenId']);\n\n\t\t\t\t\tupdateState([\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\t\tpath: `${basePath}.screens`,\n\t\t\t\t\t\t\tvalue: omit(viewportData.screens, screenId),\n\t\t\t\t\t\t\tshouldUpdate: Boolean(screenId)\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\t\tpath: `${basePath}.currentScreen`,\n\t\t\t\t\t\t\tvalue: undefined,\n\t\t\t\t\t\t\tshouldUpdate: Boolean(isScreenActive)\n\t\t\t\t\t\t}\n\t\t\t\t\t]);\n\t\t\t\t},\n\t\t\t\tstopPropagation: true\n\t\t\t},\n\t\t\t[UXF_VIEWPORT_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED]: {\n\t\t\t\teffect: async (coeffects) => {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\thost,\n\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\tmeta: {\n\t\t\t\t\t\t\t\trequestedRoute,\n\t\t\t\t\t\t\t\tincomingFields,\n\t\t\t\t\t\t\t\tincomingParameters,\n\t\t\t\t\t\t\t\tresolvedPropertyValues,\n\t\t\t\t\t\t\t\tviewportElementId,\n\t\t\t\t\t\t\t\tmatchingMacroponent,\n\t\t\t\t\t\t\t\tmacroponentList,\n\t\t\t\t\t\t\t\tproperties,\n\t\t\t\t\t\t\t\ttransactionId,\n\t\t\t\t\t\t\t\t[SIGNAL_VIEWPORT_LOAD_COMPLETION]: signalViewportLoadCompletion,\n\t\t\t\t\t\t\t\tscriptedCacheKey = [],\n\t\t\t\t\t\t\t\tuxfMeta = {}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tdispatch\n\t\t\t\t\t} = coeffects;\n\n\t\t\t\t\t// DEF0171851\n\t\t\t\t\t// Checking that we are only respecting the most recent call to RENDER_BY_ID, to ensure that\n\t\t\t\t\t// no race conditions occur. Because some renders wait for a network call, and some do not,\n\t\t\t\t\t// there is a possibility that two renders occur (one for a scripted screen, one for a non scripted screen),\n\t\t\t\t\t// and although the request for the non scripted screen happened most recently, the scripted screen resolution\n\t\t\t\t\t// would happen afterward and would win. This is a safeguard against that.\n\t\t\t\t\tlet currentTransactionId = null;\n\t\t\t\t\tif (viewportTransactions.has(host)) {\n\t\t\t\t\t\tconst viewports = viewportTransactions.get(host);\n\t\t\t\t\t\tcurrentTransactionId = viewports.get(viewportElementId);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (currentTransactionId && transactionId !== currentTransactionId) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst {routeType, order, name, icon, extensionPoint} = requestedRoute;\n\t\t\t\t\tlet uxrInteractionId = getUxrInteractionIdByHost(host);\n\n\t\t\t\t\tconst scriptResults = get(\n\t\t\t\t\t\tcoeffects,\n\t\t\t\t\t\t'action.payload.result.scriptResults',\n\t\t\t\t\t\t[]\n\t\t\t\t\t);\n\n\t\t\t\t\tconst scriptedConditionsCache = get(\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\tSCRIPTED_CONDITIONS_CACHE_KEY,\n\t\t\t\t\t\tnew Map()\n\t\t\t\t\t);\n\n\t\t\t\t\tscriptedCacheKey.forEach((cacheKey) => {\n\t\t\t\t\t\t//Remove cacheKey if it can't be memoized\n\t\t\t\t\t\tif (!scriptedConditionsCache.has(cacheKey)) return;\n\n\t\t\t\t\t\tif (!cacheKey.canBeMemoized) {\n\t\t\t\t\t\t\tscriptedConditionsCache.remove(cacheKey);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst resolve = scriptedConditionsCache.getResolve(cacheKey);\n\t\t\t\t\t\tif (resolve) {\n\t\t\t\t\t\t\tconst result =\n\t\t\t\t\t\t\t\tcoeffects.action.payload?.result?.scriptResults?.find(\n\t\t\t\t\t\t\t\t\t(res) => res.screenId == cacheKey?.screenId\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tresolve(result);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\t//check if there's evaluated condition response and find a matching macroponent\n\t\t\t\t\tlet chosenMacroponent = matchingMacroponent;\n\n\t\t\t\t\t//if scriptResults filter macroponents that failed out\n\t\t\t\t\tif (scriptResults.length > 0) {\n\t\t\t\t\t\tconst failedMacroponentids = scriptResults\n\t\t\t\t\t\t\t.filter((scriptRes) => {\n\t\t\t\t\t\t\t\treturn scriptRes.conditionResult === false;\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.map((failedRes) => {\n\t\t\t\t\t\t\t\treturn failedRes.screenId;\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\tconst candidateMacroponents = macroponentList.filter((mcp) => {\n\t\t\t\t\t\t\treturn !failedMacroponentids.includes(mcp.id);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tchosenMacroponent = candidateMacroponents.find(\n\t\t\t\t\t\t\tgetScreenQualifierFunction(\n\t\t\t\t\t\t\t\tmacroponentProperties,\n\t\t\t\t\t\t\t\trequestedRoute,\n\t\t\t\t\t\t\t\tproperties,\n\t\t\t\t\t\t\t\tincomingFields,\n\t\t\t\t\t\t\t\tgetResolvedDataBindingFn\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t//only add a mark if we evaluated scripted conditions\n\t\t\t\t\t\tmark(\n\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\tgetInteractionId(get(coeffects, 'action.meta')),\n\t\t\t\t\t\t\tUXF_VIEWPORT_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tscriptResults: scriptResults\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t//couldn't find a macroponent that satisfies conditions\n\t\t\t\t\tif (!chosenMacroponent) {\n\t\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t\t'Failed to find a matching macroponent. Please check screen conditions. If using scripted conditons make sure to have a default tab variant.'\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst {\n\t\t\t\t\t\tmacroponentSysId,\n\t\t\t\t\t\tmacroponentConfiguration,\n\t\t\t\t\t\tid: screenId,\n\t\t\t\t\t\teventMappings = []\n\t\t\t\t\t} = chosenMacroponent;\n\n\t\t\t\t\tconst promisedTemplate = getTemplates(\n\t\t\t\t\t\t[macroponentSysId],\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\tuxrInteractionId\n\t\t\t\t\t);\n\n\t\t\t\t\tconst basePath = getBasePath(viewportElementId);\n\t\t\t\t\tconst currentScreen = get(state, `${basePath}.currentScreen`, {});\n\t\t\t\t\tconst screenChanged = screenId !== currentScreen.screenId;\n\t\t\t\t\tconst screenKey = useScreenKey\n\t\t\t\t\t\t? uniqueScreenKey(incomingFields, routeType)\n\t\t\t\t\t\t: null;\n\n\t\t\t\t\t/** @type {Screen} */\n\t\t\t\t\tconst screen = {\n\t\t\t\t\t\tactiveRoute: {\n\t\t\t\t\t\t\trouteType,\n\t\t\t\t\t\t\textensionPoint,\n\t\t\t\t\t\t\torder,\n\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\ticon,\n\t\t\t\t\t\t\tfields: incomingFields,\n\t\t\t\t\t\t\toptionalParameters: incomingParameters\n\t\t\t\t\t\t},\n\t\t\t\t\t\trequestTime: screenChanged ? Date.now() : currentScreen.requestTime,\n\t\t\t\t\t\tscreenId,\n\t\t\t\t\t\tmacroponentSysId,\n\t\t\t\t\t\tmacroponentConfiguration: {\n\t\t\t\t\t\t\t...macroponentConfiguration,\n\t\t\t\t\t\t\t...resolvedPropertyValues\n\t\t\t\t\t\t},\n\t\t\t\t\t\t...includeScreenKey(useScreenKey, screenKey)\n\t\t\t\t\t};\n\n\t\t\t\t\tconst screenRef = useScreenKey ? screenKey : screenId;\n\t\t\t\t\tmarkInFlightScriptedScreenConditionEvaluation(\n\t\t\t\t\t\tviewportElementId,\n\t\t\t\t\t\trouteType\n\t\t\t\t\t);\n\t\t\t\t\tupdateState([\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: `${basePath}.screens.${screenRef}`,\n\t\t\t\t\t\t\tvalue: screen,\n\t\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: `${basePath}.currentScreen`,\n\t\t\t\t\t\t\tvalue: screen,\n\t\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t\t}\n\t\t\t\t\t]);\n\t\t\t\t\tregisterScreenActionTransformer(screenId, eventMappings, dataShell, {\n\t\t\t\t\t\tuxfMeta\n\t\t\t\t\t});\n\n\t\t\t\t\tawait promisedTemplate;\n\n\t\t\t\t\tif (signalViewportLoadCompletion) {\n\t\t\t\t\t\tdispatchInternalAction(\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tMACROPONENT_VIEWPORT_LOAD_COMPLETED,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tviewportElementId,\n\t\t\t\t\t\t\t\troute: routeType\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tuxfMeta\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tstopPropagation: true\n\t\t\t},\n\t\t\t[UXF_VIEWPORT_RENDER_BY_ID]: {\n\t\t\t\teffect: async (coeffects) => {\n\t\t\t\t\tconst {\n\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\tpayload: {route, viewportElementId},\n\t\t\t\t\t\t\tmeta: {\n\t\t\t\t\t\t\t\t[SIGNAL_VIEWPORT_LOAD_COMPLETION]:\n\t\t\t\t\t\t\t\t\tsignalViewportLoadCompletion = false,\n\t\t\t\t\t\t\t\tuxfMeta = {}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tproperties,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\thost\n\t\t\t\t\t} = coeffects;\n\n\t\t\t\t\t// DEF0206347: There isn't an easy way to fallback default values in destructuring with renaming\n\t\t\t\t\t// syntax. Setting a fallback values to empty object for the case of null.\n\t\t\t\t\tconst incomingFields = defaultTo(\n\t\t\t\t\t\tget(coeffects, 'action.payload.fields'),\n\t\t\t\t\t\t{}\n\t\t\t\t\t);\n\t\t\t\t\tconst incomingParameters = defaultTo(\n\t\t\t\t\t\tget(coeffects, 'action.payload.params'),\n\t\t\t\t\t\t{}\n\t\t\t\t\t);\n\n\t\t\t\t\tconst subroutes = getInstanceSubroutes(\n\t\t\t\t\t\tproperties[META_PROP_NAME_APP_CONFIG_SYS_ID]\n\t\t\t\t\t);\n\n\t\t\t\t\tconst requestedRoute = subroutes\n\t\t\t\t\t\t.filter(\n\t\t\t\t\t\t\t(subroute) =>\n\t\t\t\t\t\t\t\tsubroute.parentCompositionElementId === viewportElementId\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.filter(\n\t\t\t\t\t\t\t(subroute) =>\n\t\t\t\t\t\t\t\tsubroute.fields.length === Object.keys(incomingFields).length\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.find((subroute) => subroute.routeType === route);\n\n\t\t\t\t\tif (!requestedRoute) {\n\t\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t\t`Requested route ${route} with requested fields could not be found in composition element ${viewportElementId}`\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst {fields, optionalParameters, extensionPoint} = requestedRoute;\n\n\t\t\t\t\tconst resolvedPropertyValues = assign(\n\t\t\t\t\t\t{},\n\t\t\t\t\t\tfields.reduce((acc, cur) => {\n\t\t\t\t\t\t\tacc[cur] = incomingFields[cur];\n\t\t\t\t\t\t\treturn acc;\n\t\t\t\t\t\t}, {}),\n\t\t\t\t\t\t!isEmpty(incomingParameters)\n\t\t\t\t\t\t\t? optionalParameters.reduce((acc, cur) => {\n\t\t\t\t\t\t\t\t\tacc[cur] = incomingParameters[cur];\n\t\t\t\t\t\t\t\t\treturn acc;\n\t\t\t\t\t\t\t  }, {})\n\t\t\t\t\t\t\t: {}\n\t\t\t\t\t);\n\n\t\t\t\t\tlet matchingMacroponent;\n\t\t\t\t\tlet macroponentList = get(requestedRoute, 'macroponents', []);\n\n\t\t\t\t\tlet evalData = {\n\t\t\t\t\t\trequestedRoute: requestedRoute,\n\t\t\t\t\t\tincomingFields: incomingFields,\n\t\t\t\t\t\tincomingParameters: incomingParameters,\n\t\t\t\t\t\tresolvedPropertyValues: resolvedPropertyValues,\n\t\t\t\t\t\tviewportElementId: viewportElementId,\n\t\t\t\t\t\tmacroponentList: macroponentList,\n\t\t\t\t\t\tproperties: properties\n\t\t\t\t\t};\n\n\t\t\t\t\tlet evaluatingScriptedConditions = false;\n\t\t\t\t\t//check non-scripted conditions first and filter out any macroponents that fail their evaluation\n\t\t\t\t\tmacroponentList = macroponentList.filter(\n\t\t\t\t\t\tgetScreenQualifierFunction(\n\t\t\t\t\t\t\tmacroponentProperties,\n\t\t\t\t\t\t\trequestedRoute,\n\t\t\t\t\t\t\tproperties,\n\t\t\t\t\t\t\tincomingFields,\n\t\t\t\t\t\t\tgetResolvedDataBindingFn\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\n\t\t\t\t\tif (!viewportTransactions.has(host)) {\n\t\t\t\t\t\tviewportTransactions.set(host, new Map());\n\t\t\t\t\t}\n\n\t\t\t\t\t//make array of screenId:params for request\n\t\t\t\t\tconst requestData = macroponentList\n\t\t\t\t\t\t.filter((screen) => screen.hasScriptedCondition)\n\t\t\t\t\t\t.map((screen) =>\n\t\t\t\t\t\t\tgetScriptedScreenCondtionRequestObject(\n\t\t\t\t\t\t\t\tmacroponentProperties,\n\t\t\t\t\t\t\t\textensionPoint,\n\t\t\t\t\t\t\t\tgetResolvedDataBindingFn,\n\t\t\t\t\t\t\t\tscreen,\n\t\t\t\t\t\t\t\tproperties,\n\t\t\t\t\t\t\t\tincomingFields,\n\t\t\t\t\t\t\t\tincomingParameters\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.filter((screen) => !isEmpty(screen));\n\n\t\t\t\t\tfor (let i = 0; i < macroponentList.length; i++) {\n\t\t\t\t\t\tconst mcp = macroponentList[i];\n\t\t\t\t\t\tif (mcp.hasScriptedCondition) {\n\t\t\t\t\t\t\t//stop and evaluate all scripted conditions at once for all macroponents with scripted conditions\n\n\t\t\t\t\t\t\t// prevent dispatching request if requestData is empty\n\t\t\t\t\t\t\tif (isEmpty(requestData)) {\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tevaluatingScriptedConditions = true;\n\t\t\t\t\t\t\taddInFlightScriptedScreenConditionEvaluation(\n\t\t\t\t\t\t\t\tviewportElementId,\n\t\t\t\t\t\t\t\troute\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t// check if request has already been made - prevent dispatching request if so\n\t\t\t\t\t\t\tconst scriptedConditionsCache = get(\n\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\tSCRIPTED_CONDITIONS_CACHE_KEY,\n\t\t\t\t\t\t\t\tnew Map()\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tconst isCached = isScriptedConditionsRequestCachedOrHydrated(\n\t\t\t\t\t\t\t\tscriptedConditionsCache,\n\t\t\t\t\t\t\t\trequestData\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tif (!isCached) {\n\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\tUXF_VIEWPORT_SCRIPTED_CONDITIONS_EVALUATION_REQUESTED,\n\t\t\t\t\t\t\t\t\t{data: requestData},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t...evalData,\n\t\t\t\t\t\t\t\t\t\ttransactionId: generateTransactionId(\n\t\t\t\t\t\t\t\t\t\t\tviewportTransactions,\n\t\t\t\t\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\t\t\t\t\tviewportElementId\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\tstartTime: performance.now(),\n\t\t\t\t\t\t\t\t\t\t[SIGNAL_VIEWPORT_LOAD_COMPLETION]:\n\t\t\t\t\t\t\t\t\t\t\tsignalViewportLoadCompletion,\n\t\t\t\t\t\t\t\t\t\tscriptedCacheKey: requestData,\n\t\t\t\t\t\t\t\t\t\tuxfMeta\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tconst promises = requestData.map((request) => {\n\t\t\t\t\t\t\t\t\treturn scriptedConditionsCache.get(request);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tconst result = {\n\t\t\t\t\t\t\t\t\tresult: {\n\t\t\t\t\t\t\t\t\t\tscriptResults: await Promise.all(promises)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\tUXF_VIEWPORT_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED,\n\t\t\t\t\t\t\t\t\tresult,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t...evalData,\n\t\t\t\t\t\t\t\t\t\tmatchingMacroponent: matchingMacroponent,\n\t\t\t\t\t\t\t\t\t\ttransactionId: generateTransactionId(\n\t\t\t\t\t\t\t\t\t\t\tviewportTransactions,\n\t\t\t\t\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\t\t\t\t\tviewportElementId\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t[SIGNAL_VIEWPORT_LOAD_COMPLETION]:\n\t\t\t\t\t\t\t\t\t\t\tsignalViewportLoadCompletion,\n\t\t\t\t\t\t\t\t\t\tscriptedCacheKey: requestData,\n\t\t\t\t\t\t\t\t\t\tuxfMeta\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t//if we didn't find a scripted condition this mcp is a match\n\t\t\t\t\t\tmatchingMacroponent = mcp;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\t//if didn't have any scripted conditions and we found a matching macroponent continue\n\t\t\t\t\tif (!evaluatingScriptedConditions) {\n\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\tUXF_VIEWPORT_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED,\n\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t...evalData,\n\t\t\t\t\t\t\t\tmatchingMacroponent: matchingMacroponent,\n\t\t\t\t\t\t\t\ttransactionId: generateTransactionId(\n\t\t\t\t\t\t\t\t\tviewportTransactions,\n\t\t\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\t\t\tviewportElementId\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t[SIGNAL_VIEWPORT_LOAD_COMPLETION]: signalViewportLoadCompletion,\n\t\t\t\t\t\t\t\tuxfMeta\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tconst scriptedConditionsCache = get(\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\tSCRIPTED_CONDITIONS_CACHE_KEY,\n\t\t\t\t\t\t\tnew Map()\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// We will invalidate the non memoizable cache here\n\t\t\t\t\t\trequestData.forEach((cacheKey) => {\n\t\t\t\t\t\t\tif (!scriptedConditionsCache.has(cacheKey)) return;\n\n\t\t\t\t\t\t\t//Remove cacheKey if it can't be memoized\n\t\t\t\t\t\t\tif (!cacheKey.canBeMemoized) {\n\t\t\t\t\t\t\t\tscriptedConditionsCache.remove(cacheKey);\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tstopPropagation: true\n\t\t\t}\n\t\t}\n\t};\n};\n\n/**\n * Checks if the given scripted conditions requests have already been served.\n *\n * Verifies whether each request in `requestData` exists in the cache. If a request is not cached,\n * it is added and checked against `epScriptResults` to determine if it was hydrated as part of the\n * initial document request.\n *\n * @param {Object} scriptedConditionsCache - Cache object that stores processed/in-flight requests.\n * @param {Array<Object>} requestData - Array of request objects to check.\n * @returns {boolean} - Returns `true` if all requests are cached or hydrated, otherwise `false`.\n */\nexport function isScriptedConditionsRequestCachedOrHydrated(\n\tscriptedConditionsCache,\n\trequestData\n) {\n\tfor (const request of requestData)\n\t\tif (!scriptedConditionsCache.has(request)) return false;\n\n\treturn true;\n}\n\nexport const initializeCacheWithScriptedConditions = (options) => {\n\tconst {\n\t\tstate,\n\t\tsubroutes,\n\t\tepScriptResults = {},\n\t\tisDirectPageLoad = false,\n\t\teffectiveSubscreens = new Set()\n\t} = options;\n\n\ttry {\n\t\tconst subRouteMacroponentMap = subroutes.reduce((acc, subroute) => {\n\t\t\tconst {id: subrouteId, macroponents = []} = subroute;\n\t\t\tacc.set(subrouteId, macroponents);\n\t\t\treturn acc;\n\t\t}, new Map());\n\n\t\tconst scriptedConditionsCache = get(\n\t\t\tstate,\n\t\t\tSCRIPTED_CONDITIONS_CACHE_KEY,\n\t\t\tnew Map()\n\t\t);\n\n\t\tObject.entries(epScriptResults).forEach(([key, value]) => {\n\t\t\tvalue?.scriptResults?.forEach((result) => {\n\t\t\t\tlet canBeMemoized = true;\n\t\t\t\tlet toBeCached = true;\n\t\t\t\tlet resolveClickThrough = false;\n\t\t\t\tif (subRouteMacroponentMap.has(key) && result?.screenId) {\n\t\t\t\t\tconst screenMacroponent = subRouteMacroponentMap\n\t\t\t\t\t\t.get(key)\n\t\t\t\t\t\t.filter((val) => val?.id === result?.screenId);\n\t\t\t\t\tif (screenMacroponent.length > 0) {\n\t\t\t\t\t\tcanBeMemoized = screenMacroponent[0]?.isResultMemoizable;\n\t\t\t\t\t\t// handling Click Through scenario initial load, check if screen is part of effectiveSubscreens\n\t\t\t\t\t\tif (!isDirectPageLoad) {\n\t\t\t\t\t\t\tresolveClickThrough = effectiveSubscreens.has(result?.screenId);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Check if the screen is part of effectiveSubscreens\n\t\t\t\t\t\t\ttoBeCached = effectiveSubscreens.has(result?.screenId);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst requestData = {\n\t\t\t\t\tversion: '2',\n\t\t\t\t\tinputProperties: {\n\t\t\t\t\t\tdata: {...result?.inputParams?.data},\n\t\t\t\t\t\tpayload: {...result?.inputParams?.payload}\n\t\t\t\t\t},\n\t\t\t\t\tscreenId: result?.screenId,\n\t\t\t\t\tcanBeMemoized\n\t\t\t\t};\n\n\t\t\t\t/* Only hold caches, \n\t\t\t\t\t1) when scripted cond. is memoizable\n\t\t\t\t\t2) when macroponent of non-memoizable scripted cond. is loaded on initial page load, suggesting that we can consume pre evaluated scripted cond. \n\t\t\t\t\t3) when macroponent of non-memoizable scripted cond. is part of effective route, suggesting that we can consume pre evaluated scripted cond. */\n\t\t\t\tif (\n\t\t\t\t\tcanBeMemoized ||\n\t\t\t\t\t(isDirectPageLoad && toBeCached) ||\n\t\t\t\t\tresolveClickThrough\n\t\t\t\t) {\n\t\t\t\t\tif (!scriptedConditionsCache.has(requestData))\n\t\t\t\t\t\tscriptedConditionsCache.add(requestData);\n\n\t\t\t\t\tconst resolve = scriptedConditionsCache.getResolve(requestData);\n\t\t\t\t\tif (resolve) resolve(result);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t} catch (e) {\n\t\tconsole.log(e);\n\t}\n};\n\nfunction generateTransactionId(viewportTransactions, host, viewportElementId) {\n\tconst viewports = viewportTransactions.get(host);\n\tconst transactionId = generateId();\n\tviewports.set(viewportElementId, transactionId);\n\treturn transactionId;\n}\n","import {get} from '@devsnc/snowdash';\nimport {isEmpty} from '@devsnc/snowdash';\nimport {\n\tCOMPOSITION_ELEMENT_ID,\n\tUXF_TABSET_NON_VIEWPORT_CONTAINER_RENDER_REQUESTED\n} from '../../constants';\n\nimport getTemplates from '../../../templateLoader/getTemplates';\n\n/**\n * getTabsetContainerRenderBehavior: This behavior optimize the rendering of tab set active contents. The tab set\n *  containers are loaded on-demand corresponding to the active tab item.\n * @returns {{\n * \tinitialState: {elements: {}},\n * \tactionHandlers: {[p: string]: {effect: function(*): void, stopPropagation: boolean},\n * \t\"[UXF_TABSET_NON_VIEWPORT_CONTAINER_RENDER_REQUESTED]\": {effect: effect, stopPropagation: boolean}},\n * \tname: string\n * }}\n */\nexport default (tabSetSlotMap) => {\n\treturn {\n\t\tname: 'tabsetRuntime',\n\t\tinitialState: {\n\t\t\telements: {}\n\t\t},\n\t\tactionHandlers: {\n\t\t\t[UXF_TABSET_NON_VIEWPORT_CONTAINER_RENDER_REQUESTED]: {\n\t\t\t\teffect: async (coeffects) => {\n\t\t\t\t\tconst {\n\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\tpayload: {activeSlot},\n\t\t\t\t\t\t\tmeta: {appended: appendedSourceActionMeta = {}}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\tupdateState\n\t\t\t\t\t} = coeffects;\n\n\t\t\t\t\tconst elementId = appendedSourceActionMeta[COMPOSITION_ELEMENT_ID];\n\t\t\t\t\tconst tabsetRuntimeElementsBasePath = `behaviors.tabsetRuntime.elements.${elementId}`;\n\t\t\t\t\tconst activeSlotPath = `${tabsetRuntimeElementsBasePath}.activeSlot`;\n\t\t\t\t\tconst nonViewportSlotsPath = `${tabsetRuntimeElementsBasePath}.nonViewportSlots`;\n\t\t\t\t\tconst nonViewportSlots = get(state, nonViewportSlotsPath, new Set());\n\n\t\t\t\t\tconst slotToSysIdMap = get(tabSetSlotMap, elementId, {});\n\t\t\t\t\tif (!isEmpty(slotToSysIdMap)) {\n\t\t\t\t\t\tconst sysIds = get(slotToSysIdMap, activeSlot, []);\n\t\t\t\t\t\tif (sysIds.length > 0) await getTemplates(sysIds);\n\t\t\t\t\t}\n\n\t\t\t\t\tupdateState([\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: nonViewportSlotsPath,\n\t\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\t\tvalue: nonViewportSlots.add(activeSlot)\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: activeSlotPath,\n\t\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\t\tvalue: activeSlot\n\t\t\t\t\t\t}\n\t\t\t\t\t]);\n\t\t\t\t},\n\t\t\t\tstopPropagation: true\n\t\t\t}\n\t\t}\n\t};\n};\n","import {partial} from '@devsnc/snowdash';\nimport resolveWith from './resolveWith';\nimport getResolvedBindingWithState from './getResolvedBindingWithState';\n\nimport {propertyTypes} from '../constants';\nimport basicResolvers from './basicResolvers';\n\nconst {CONTEXT_BINDING} = propertyTypes;\n\nexport default (seismicProperties, uxValue) => {\n\treturn resolveWith(\n\t\t{\n\t\t\t...basicResolvers,\n\t\t\t[CONTEXT_BINDING]: partial(\n\t\t\t\tgetResolvedBindingWithState,\n\t\t\t\tundefined,\n\t\t\t\t[],\n\t\t\t\t[],\n\t\t\t\t{},\n\t\t\t\tseismicProperties,\n\t\t\t\tundefined\n\t\t\t)\n\t\t},\n\t\tuxValue\n\t);\n};\n","import {get, isEmpty} from '@devsnc/snowdash';\nimport {\n\tIS_MACROPONENT_READY,\n\tMACROPONENT_INTERNAL_RESPONSIVE_STATE,\n\tpropertyTypes,\n\tREFERENCE,\n\tAPP_PROPS_IDENTIFIER,\n\tSYS_PROPS_IDENTIFIER,\n\tSESSION\n} from './constants';\nimport {REFERENCE_MACROPONENT} from './layout/constants';\nimport resolveForInitialStateValues from './UxValueResolver/resolveForInitialStateValues';\nimport {getMediaQuery, getMediaQueryPath} from './registry/mediaQueryRegistry';\nimport {partition} from '@devsnc/snowdash';\n\nconst {CONTEXT_BINDING, JSON_LITERAL, CLIENT_TRANSFORM, LIST_CONTAINER} =\n\tpropertyTypes;\n\nfunction getOperandsList(initialValue) {\n\tif (get(initialValue, ['transform', 'operands', 'type']) === LIST_CONTAINER) {\n\t\treturn get(initialValue, ['transform', 'operands', 'container']);\n\t} else {\n\t\tconst map = get(initialValue, ['transform', 'operands', 'container']);\n\t\tconst values = Object.keys(map).map(function (key) {\n\t\t\treturn map[key];\n\t\t});\n\t\treturn Array.from(values);\n\t}\n}\n\nfunction getInternalResponsiveState(breakpoints) {\n\t// this state represents whether mediaQueries are met or not.\n\t// eg: { \"max-width_768\": true, \"max-width_640\": false }\n\tconst state = Object.create(null);\n\tif (!isEmpty(breakpoints)) {\n\t\tbreakpoints.forEach((bp) => {\n\t\t\tconst path = getMediaQueryPath(bp);\n\t\t\tstate[path] =\n\t\t\t\tbp[REFERENCE] === REFERENCE_MACROPONENT\n\t\t\t\t\t? false\n\t\t\t\t\t: getMediaQuery(path).matches;\n\t\t});\n\t}\n\treturn state;\n}\n\nconst getResolvableCategories = () => {\n\treturn new Set([APP_PROPS_IDENTIFIER, SYS_PROPS_IDENTIFIER, SESSION]);\n};\n\nexport const getAvailableContextProperties = () => {\n\treturn {\n\t\tuserSessionInfo: get(window, ['ux_globals', 'session']),\n\t\tnowAppProps: get(window, ['ux_globals', 'pageProperties']),\n\t\tnowSysProps: get(window, ['ux_globals', 'sysprops'])\n\t};\n};\n\nconst isContextPropAppId = (initialValue) => {\n\treturn (\n\t\tinitialValue?.binding?.category === APP_PROPS_IDENTIFIER &&\n\t\tinitialValue?.binding?.address?.[0] === 'appId'\n\t);\n};\n\nexport default (stateProperties, statePersistenceConfig, breakpoints) => {\n\tconst responsiveState = getInternalResponsiveState(breakpoints);\n\tif (stateProperties.length === 0) {\n\t\treturn {\n\t\t\tinitialState: {\n\t\t\t\t[IS_MACROPONENT_READY]: true,\n\t\t\t\t[MACROPONENT_INTERNAL_RESPONSIVE_STATE]: responsiveState\n\t\t\t},\n\t\t\tunresolvedInitialState: {}\n\t\t};\n\t}\n\n\tconst statePropertiesWithLiteralInitialValues = stateProperties.filter(\n\t\t({initialValue}) => get(initialValue, ['type']) === JSON_LITERAL\n\t);\n\tconst statePropertiesWithContextPropInitialValues = stateProperties.filter(\n\t\t({initialValue}) => get(initialValue, ['type']) === CONTEXT_BINDING\n\t);\n\tconst statePropertiesWithClientTransformInitialValues =\n\t\tstateProperties.filter(\n\t\t\t({initialValue}) => get(initialValue, ['type']) === CLIENT_TRANSFORM\n\t\t);\n\n\tconst resolvableClientTransforms =\n\t\tstatePropertiesWithClientTransformInitialValues.filter(\n\t\t\t({initialValue}) =>\n\t\t\t\tgetOperandsList(initialValue).filter(({type}) => type === JSON_LITERAL)\n\t\t\t\t\t.length == getOperandsList(initialValue).length\n\t\t);\n\tconst unresolvableClientTransforms =\n\t\tstatePropertiesWithClientTransformInitialValues.filter(\n\t\t\t({initialValue}) =>\n\t\t\t\tgetOperandsList(initialValue).filter(({type}) => type === JSON_LITERAL)\n\t\t\t\t\t.length != getOperandsList(initialValue).length\n\t\t);\n\n\tconst [\n\t\tstatePropertiesWithAvailableContextPropInitialValues,\n\t\tstatePropertiesWithUnavailableContextPropInitialValues\n\t] = partition(\n\t\tstatePropertiesWithContextPropInitialValues,\n\t\t({initialValue}) =>\n\t\t\tgetResolvableCategories().has(initialValue?.binding?.category) &&\n\t\t\t!isContextPropAppId(initialValue)\n\t);\n\n\tconst availableSeismicProperties = getAvailableContextProperties();\n\tconst resolvedStatePropsWithAvailableContextProps =\n\t\tstatePropertiesWithAvailableContextPropInitialValues.reduce(\n\t\t\t(acc, stateProperty) => {\n\t\t\t\tconst {name, initialValue: value} = stateProperty;\n\t\t\t\tconst resolvedInitialValue = resolveForInitialStateValues(\n\t\t\t\t\tavailableSeismicProperties,\n\t\t\t\t\tvalue\n\t\t\t\t);\n\t\t\t\t// if value resolves to null or undefined, add it back to unresolved state\n\t\t\t\tif (resolvedInitialValue == null)\n\t\t\t\t\tstatePropertiesWithUnavailableContextPropInitialValues.push(\n\t\t\t\t\t\tstateProperty\n\t\t\t\t\t);\n\t\t\t\telse acc[name] = resolvedInitialValue;\n\t\t\t\treturn acc;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\n\tconst initialState = [\n\t\t...statePropertiesWithLiteralInitialValues,\n\t\t...resolvableClientTransforms\n\t].reduce(\n\t\t(acc, stateProperty) => {\n\t\t\tconst {name, initialValue: value} = stateProperty;\n\t\t\tacc[name] = resolveForInitialStateValues({}, value);\n\t\t\treturn acc;\n\t\t},\n\t\t{\n\t\t\t[IS_MACROPONENT_READY]:\n\t\t\t\tstatePropertiesWithUnavailableContextPropInitialValues.length === 0 &&\n\t\t\t\tstatePersistenceConfig.length === 0,\n\t\t\t[MACROPONENT_INTERNAL_RESPONSIVE_STATE]: responsiveState\n\t\t}\n\t);\n\n\t// Merge the resolved properties into the initial state\n\tObject.assign(initialState, resolvedStatePropsWithAvailableContextProps);\n\n\tconst unresolvedInitialState = [\n\t\t...statePropertiesWithUnavailableContextPropInitialValues,\n\t\t...unresolvableClientTransforms\n\t].reduce((acc, stateProperty) => {\n\t\tconst {name, initialValue: value} = stateProperty;\n\t\tacc[name] = value;\n\t\treturn acc;\n\t}, {});\n\n\treturn {\n\t\tinitialState,\n\t\tunresolvedInitialState\n\t};\n};\n","import {get} from '@devsnc/snowdash';\nimport {dispatchInternalAction} from '../factory/getInternalEffect';\nimport {isNil} from '@devsnc/snowdash';\n\nexport function httpErrorOccurredEffect(\n\tconsolidatedEventMappings,\n\tpageEvent,\n\tcoeffects\n) {\n\tconst {action, dispatch} = coeffects;\n\tif (!isNil(get(consolidatedEventMappings, pageEvent))) {\n\t\tdispatchInternalAction(dispatch, pageEvent, action.payload);\n\t}\n}\n","import {isPlainObject} from '@devsnc/snowdash';\nimport {\n\tmark,\n\tdefineMetric,\n\tgetMetricTypes,\n\tgetInteractionId\n} from '@servicenow/ui-metrics';\n\nconst isMetricDefined = (event) => getMetricTypes()[event];\nconst USAGE_METRIC_LEVEL = 5;\nconst USAGE_MARK_TYPE = 'usage';\n\nexport default function trackUsageActionHandler({\n\taction: {\n\t\tpayload: {event, value},\n\t\tmeta\n\t},\n\thost\n}) {\n\tif (!event || !isPlainObject(value)) return;\n\n\tif (!isMetricDefined(event)) defineMetric(event, USAGE_METRIC_LEVEL);\n\n\tmark(host, getInteractionId(meta), event, value, USAGE_MARK_TYPE);\n}\n","import {actionTypes} from '@servicenow/ui-core';\nimport {memoize} from '@servicenow/ui-utils';\nimport {isEmpty} from '@devsnc/snowdash';\nimport {intentActions} from '@devsnc/library-intent-channel';\nimport {\n\tSYMBOL_ORIGINATING_ELEMENT_ID_FOR_CONTROLLER_OP,\n\tinternalActions,\n\tCOMPOSITION_ELEMENT_ID,\n\tMODAL_SELECTED\n} from '../../constants';\nimport {actionTypes as dbActionTypes} from '../../databrokers/behaviors/data-broker-runtime/constants';\nimport {dispatchInternalAction} from '../../getInternalEffect';\nimport {getExperienceName} from '../../nodeRenderers/helpers';\nimport {isEqual, get, omit} from '@devsnc/snowdash';\nimport {\n\tgetActionbarsForTranslator,\n\tdeleteActionBarsForTranslator\n} from './translatorDAHelpers';\nimport {triggerAction} from '@servicenow/now-trigger-library';\nimport {\n\tintentType,\n\tintentTarget,\n\tdataOperations,\n\trecordControllerOperations,\n\tgFormOperations,\n\tfeedbackStatus,\n\tACTION_BAR_TRIGGER_ACTION_KEY,\n\tACTION_BAR_GET_ACTION_STATE_KEY,\n\trecordControllerActions,\n\tgFormDataBrokerActions\n} from './constants';\nimport {\n\tgetOpenedModal,\n\tgetModalConfirmAction,\n\tgetModalCancelAction\n} from './translatorModalHelper';\n\nconst {UXF_DB_OP_TRIGGER_REQUESTED} = dbActionTypes;\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_DISCONNECTED\n} = actionTypes;\nconst {\n\tUPDATE_CONTEXT_REQUESTED_BY_CONTROLLER_PROP_RESOLVED,\n\tUPDATE_CONTEXT_REQUESTED_BY_CONTROLLER_PROP_CHANGE,\n\tSAVE_CONTROLLER_NODE_TO_TRANSLATOR\n} = internalActions;\n\nconst contextProps = {\n\ttable: ['table', 'inputTable'],\n\tsysId: ['sysId', 'inputSysId']\n};\n\nconst {\n\tUPDATE_CONTEXT,\n\tSET_ACTIVE_CONTEXT,\n\tUNSET_ACTIVE_CONTEXT,\n\tINTENT_RECEIVED,\n\tSEND_INTENT_FEEDBACK,\n\tSEND_SYSTEM_MESSAGE\n} = intentActions;\n\nconst hasContextChanged = (name, previousValue, value) => {\n\tconst isContextProp = Object.values(contextProps).some((props) =>\n\t\tprops.includes(name)\n\t);\n\treturn isContextProp && value !== previousValue;\n};\n\nconst hasActiveChanged = (name, previousValue, value) => {\n\tconst isScreen = name === 'screen';\n\treturn isScreen && value.isActive !== previousValue.isActive;\n};\n\nconst getContext = (properties, experienceName) => {\n\tconst context = Object.keys(contextProps).reduce((acc, key) => {\n\t\tconst propName = contextProps[key].find((prop) =>\n\t\t\tObject.prototype.hasOwnProperty.call(properties, prop)\n\t\t);\n\t\tacc[key] = properties[propName];\n\t\treturn acc;\n\t}, {});\n\treturn {\n\t\t...context,\n\t\texperienceName\n\t};\n};\n\nconst shouldUpdateContext = (nodeId, context, pageContexts) =>\n\t!isEqual(context, pageContexts[nodeId]);\n\nconst isActiveScreen = (properties) => properties.screen?.isActive;\n\nconst getSupportedOperations = (dataShell, nodeId) => {\n\tconst dataElements = dataShell?.dataElements || {};\n\tconst dataBrokerSysId = dataElements[nodeId]?.definitionSysId;\n\tconst dataBroker = dataShell?.dataBrokers?.[dataBrokerSysId];\n\treturn Object.keys(dataBroker.operations);\n};\n\nexport const getField = (fieldName, nodes, dbNodeId, path) => {\n\tlet value = get(nodes, `${dbNodeId}.${path}.${fieldName}`);\n\n\tif (value === undefined) {\n\t\tconst pathParts = path.split('.');\n\t\tvalue = get(nodes, [dbNodeId, ...pathParts, fieldName]);\n\t}\n\n\treturn value;\n};\n\nconst sendFeedback = (dispatch, originalIntent, status, message) => {\n\tdispatch(SEND_INTENT_FEEDBACK, {\n\t\toriginalIntent,\n\t\tstatus,\n\t\tmessage\n\t});\n};\n\nexport const isTranslatorContextProp = memoize((name) => {\n\treturn Object.values(contextProps).some((props) => props.includes(name));\n});\n\nexport const shouldAddTranslatorBehavior = (\n\tuxControllerNodes,\n\tclientStateDataBrokerNode,\n\tproperties\n) => {\n\treturn (\n\t\t!isEmpty(getDbNodeId(uxControllerNodes, clientStateDataBrokerNode)) ||\n\t\tObject.prototype.hasOwnProperty.call(properties, 'screen')\n\t);\n};\n\nconst getRecordController = (uxControllerNodes) => {\n\treturn uxControllerNodes?.filter(\n\t\t(ctrlNode) =>\n\t\t\tctrlNode.definitionSysId === '67ee2538534501108135ddeeff7b121b'\n\t)[0];\n};\n\nconst isFormCsdb = (clientStateDataBrokerNode) => {\n\treturn (\n\t\tclientStateDataBrokerNode?.definitionSysId ===\n\t\t'd8df214579298b9e2b995730cb53b9e3'\n\t);\n};\n\nconst resolveDbNodeId = (\n\trecordController,\n\thasFormDataBroker,\n\tclientStateDataBrokerNode\n) => {\n\treturn recordController\n\t\t? recordController.nodeId\n\t\t: hasFormDataBroker\n\t\t? clientStateDataBrokerNode.nodeId\n\t\t: '';\n};\n\nconst getDbNodeId = (uxControllerNodes, clientStateDataBrokerNode) => {\n\tconst recordController = getRecordController(uxControllerNodes);\n\tconst hasFormDataBroker = isFormCsdb(clientStateDataBrokerNode);\n\treturn resolveDbNodeId(\n\t\trecordController,\n\t\thasFormDataBroker,\n\t\tclientStateDataBrokerNode\n\t);\n};\n\nexport default function getTranslatorBehavior({\n\tuxControllerNodes,\n\tclientStateDataBrokerNode,\n\tnodeId,\n\tmacroponentSysId,\n\tdataShell\n}) {\n\tconst recordController = getRecordController(uxControllerNodes);\n\tconst hasFormDataBroker = isFormCsdb(clientStateDataBrokerNode);\n\n\t//TODO: support multiple record controllers\n\tconst dbNodeId = resolveDbNodeId(\n\t\trecordController,\n\t\thasFormDataBroker,\n\t\tclientStateDataBrokerNode\n\t);\n\tconst dataOperationsAdapter = recordController\n\t\t? recordControllerOperations\n\t\t: hasFormDataBroker\n\t\t? gFormOperations\n\t\t: {};\n\n\tconst fieldsPath = recordController\n\t\t? `form.fields`\n\t\t: hasFormDataBroker\n\t\t? `nowRecordFormBlob.fields`\n\t\t: '';\n\tconst matchedContext = (identifier, pageContexts) => {\n\t\tconst currentContext = pageContexts?.[dbNodeId];\n\t\tif (!currentContext) return false;\n\t\tif (\n\t\t\tObject.keys(identifier).some(\n\t\t\t\t(key) => currentContext[key] !== identifier[key]\n\t\t\t)\n\t\t)\n\t\t\treturn false;\n\n\t\treturn true;\n\t};\n\n\tconst getLookupContext = (pageContexts) =>\n\t\tomit(pageContexts?.[dbNodeId], 'experienceName');\n\n\tconst isValidNode = (nowId = '') => {\n\t\tconst nodeId = nowId.split('-').pop();\n\t\treturn nodeId && nodeId === dbNodeId;\n\t};\n\n\tconst handleFormSubmit = (action, host, dispatch) => {\n\t\tconst {status, messages, ...rest} = action.payload;\n\t\tdispatch(SEND_SYSTEM_MESSAGE, {\n\t\t\tmessage: {\n\t\t\t\tstatus,\n\t\t\t\tmessages,\n\t\t\t\t...rest\n\t\t\t}\n\t\t});\n\t};\n\n\t//let experienceName;\n\tlet translatorData = {};\n\n\tconst initTranslatorDataIfNeeded = (host) => {\n\t\tif (dbNodeId && !translatorData[host.nowId]) {\n\t\t\ttranslatorData[host.nowId] = {\n\t\t\t\tcontexts: {},\n\t\t\t\tnodes: {}\n\t\t\t};\n\t\t}\n\t};\n\n\tconst shouldUpdateIntentContext = ({\n\t\tnodeId,\n\t\tdefinitionSysId,\n\t\tcontainerSysId\n\t}) => {\n\t\tif (dbNodeId === '') return false;\n\t\tif (macroponentSysId !== containerSysId) return false;\n\t\tif (!nodeId || !definitionSysId) return false;\n\t\tif (!recordController && !clientStateDataBrokerNode) return false;\n\t\treturn (\n\t\t\t(recordController?.nodeId === nodeId &&\n\t\t\t\trecordController?.definitionSysId === definitionSysId) ||\n\t\t\t(clientStateDataBrokerNode?.nodeId === nodeId &&\n\t\t\t\tclientStateDataBrokerNode?.definitionSysId === definitionSysId)\n\t\t);\n\t};\n\n\tconst shouldSaveControllerNode = shouldUpdateIntentContext;\n\n\treturn {\n\t\tname: 'translatorBehavior',\n\t\tsetInitialState({properties}) {\n\t\t\tconst experienceName = getExperienceName(properties);\n\t\t\treturn {\n\t\t\t\texperienceName,\n\t\t\t\tshouldUpdateIntentContext,\n\t\t\t\tshouldSaveControllerNode\n\t\t\t};\n\t\t},\n\t\tactionHandlers: {\n\t\t\t[COMPONENT_CONNECTED]({dispatch, properties, host}) {\n\t\t\t\tinitTranslatorDataIfNeeded(host);\n\n\t\t\t\tif (isActiveScreen(properties))\n\t\t\t\t\tdispatch(SET_ACTIVE_CONTEXT, {translatorId: host.nowId});\n\t\t\t},\n\t\t\t[INTENT_RECEIVED]: {\n\t\t\t\teffect: ({action, dispatch, host}) => {\n\t\t\t\t\tconst intent = action.payload.intent;\n\t\t\t\t\tconst {\n\t\t\t\t\t\tidentifier = {},\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\ttarget,\n\t\t\t\t\t\toperation,\n\t\t\t\t\t\toperationPayload\n\t\t\t\t\t} = intent;\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t!translatorData[host.nowId] ||\n\t\t\t\t\t\t!matchedContext(identifier, translatorData[host.nowId].contexts)\n\t\t\t\t\t)\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\tif (type === intentType.DATA_OPERATION) {\n\t\t\t\t\t\tif (target !== intentTarget.FORM) return;\n\n\t\t\t\t\t\tif (operation === dataOperations.GET_FIELD) {\n\t\t\t\t\t\t\tconst {fieldName} = operationPayload;\n\t\t\t\t\t\t\tconst field = getField(\n\t\t\t\t\t\t\t\tfieldName,\n\t\t\t\t\t\t\t\ttranslatorData[host.nowId].nodes,\n\t\t\t\t\t\t\t\tdbNodeId,\n\t\t\t\t\t\t\t\tfieldsPath\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tconst status = field\n\t\t\t\t\t\t\t\t? feedbackStatus.SUCCESS\n\t\t\t\t\t\t\t\t: feedbackStatus.ERROR;\n\t\t\t\t\t\t\tsendFeedback(dispatch, intent, status, {\n\t\t\t\t\t\t\t\tfield\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else if (operation === dataOperations.GET_ACTION_STATE) {\n\t\t\t\t\t\t\tconst actionBars = getActionbarsForTranslator(\n\t\t\t\t\t\t\t\thost.nowId,\n\t\t\t\t\t\t\t\tgetLookupContext(translatorData[host.nowId].contexts)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tactionBars.forEach((actionBar) =>\n\t\t\t\t\t\t\t\ttriggerAction(\n\t\t\t\t\t\t\t\t\tactionBar,\n\t\t\t\t\t\t\t\t\tACTION_BAR_GET_ACTION_STATE_KEY,\n\t\t\t\t\t\t\t\t\toperationPayload\n\t\t\t\t\t\t\t\t).then(\n\t\t\t\t\t\t\t\t\t(result) => {\n\t\t\t\t\t\t\t\t\t\tsendFeedback(dispatch, intent, feedbackStatus.SUCCESS, {\n\t\t\t\t\t\t\t\t\t\t\t...result\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t(error) => {\n\t\t\t\t\t\t\t\t\t\tsendFeedback(dispatch, intent, feedbackStatus.ERROR, {\n\t\t\t\t\t\t\t\t\t\t\terror\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if (operation === dataOperations.EXECUTE_ACTION) {\n\t\t\t\t\t\t\tconst actionBars = getActionbarsForTranslator(\n\t\t\t\t\t\t\t\thost.nowId,\n\t\t\t\t\t\t\t\tgetLookupContext(translatorData[host.nowId].contexts)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tactionBars.some((actionBar) => {\n\t\t\t\t\t\t\t\ttriggerAction(\n\t\t\t\t\t\t\t\t\tactionBar,\n\t\t\t\t\t\t\t\t\tACTION_BAR_TRIGGER_ACTION_KEY,\n\t\t\t\t\t\t\t\t\toperationPayload\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else if (operation === dataOperations.CLOSE_OPENED_MODAL) {\n\t\t\t\t\t\t\tconst {type, buttonAction} = operationPayload;\n\t\t\t\t\t\t\tif (type !== 'close')\n\t\t\t\t\t\t\t\t//only support close for now\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\tconst key = host.parentNode?.nowId;\n\t\t\t\t\t\t\tconst openedModalInfo = key ? getOpenedModal(key) : undefined;\n\n\t\t\t\t\t\t\tif (!openedModalInfo) {\n\t\t\t\t\t\t\t\tdispatchInternalAction(\n\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\tUXF_DB_OP_TRIGGER_REQUESTED,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\toperation: {\n\t\t\t\t\t\t\t\t\t\t\tdataElementId: dbNodeId,\n\t\t\t\t\t\t\t\t\t\t\toperationName: dataOperationsAdapter[operation]\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\toperationPayload\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{[SYMBOL_ORIGINATING_ELEMENT_ID_FOR_CONTROLLER_OP]: nodeId}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (buttonAction === 'confirm') {\n\t\t\t\t\t\t\t\tconst confirmActionType = getModalConfirmAction(\n\t\t\t\t\t\t\t\t\topenedModalInfo.type\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif (confirmActionType) dispatch(confirmActionType);\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tsendFeedback(dispatch, intent, feedbackStatus.WARN, {\n\t\t\t\t\t\t\t\t\t\terror: `Unable to execute button action '${buttonAction}'`\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if (buttonAction === 'cancel') {\n\t\t\t\t\t\t\t\tconst cancelActionType = getModalCancelAction(\n\t\t\t\t\t\t\t\t\topenedModalInfo.type\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif (cancelActionType) dispatch(cancelActionType);\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tsendFeedback(dispatch, intent, feedbackStatus.WARN, {\n\t\t\t\t\t\t\t\t\t\terror: `Unable to execute button action '${buttonAction}'`\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\tMODAL_SELECTED,\n\t\t\t\t\t\t\t\t{showModal: false},\n\t\t\t\t\t\t\t\t{appended: {[COMPOSITION_ELEMENT_ID]: openedModalInfo.modalId}}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if (dataOperationsAdapter[operation]) {\n\t\t\t\t\t\t\tdispatchInternalAction(\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tUXF_DB_OP_TRIGGER_REQUESTED,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\toperation: {\n\t\t\t\t\t\t\t\t\t\tdataElementId: dbNodeId,\n\t\t\t\t\t\t\t\t\t\toperationName: dataOperationsAdapter[operation]\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\toperationPayload\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{[SYMBOL_ORIGINATING_ELEMENT_ID_FOR_CONTROLLER_OP]: nodeId}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (type === intentType.DB_OPERATION) {\n\t\t\t\t\t\tconst dbOperations = getSupportedOperations(dataShell, dbNodeId);\n\n\t\t\t\t\t\tif (dbOperations.includes(operation)) {\n\t\t\t\t\t\t\tdispatchInternalAction(\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tUXF_DB_OP_TRIGGER_REQUESTED,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\toperation: {\n\t\t\t\t\t\t\t\t\t\tdataElementId: dbNodeId,\n\t\t\t\t\t\t\t\t\t\toperationName: operation\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\toperationPayload\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{[SYMBOL_ORIGINATING_ELEMENT_ID_FOR_CONTROLLER_OP]: nodeId}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tstopPropagation: true\n\t\t\t},\n\t\t\t[UPDATE_CONTEXT_REQUESTED_BY_CONTROLLER_PROP_RESOLVED]({\n\t\t\t\taction,\n\t\t\t\tdispatch,\n\t\t\t\thost,\n\t\t\t\tstate\n\t\t\t}) {\n\t\t\t\tconst {properties, nodeId} = action.payload;\n\n\t\t\t\tif (!shouldUpdateIntentContext(action.payload)) return;\n\n\t\t\t\tinitTranslatorDataIfNeeded(host);\n\t\t\t\tconst context = getContext(\n\t\t\t\t\tproperties,\n\t\t\t\t\tstate.experienceNameshouldUpdateContext\n\t\t\t\t);\n\t\t\t\tif (\n\t\t\t\t\t!shouldUpdateContext(\n\t\t\t\t\t\tnodeId,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\ttranslatorData[host.nowId].contexts\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t\treturn;\n\t\t\t\ttranslatorData[host.nowId].contexts[nodeId] = context;\n\t\t\t\tdispatch(UPDATE_CONTEXT, {context});\n\t\t\t},\n\t\t\t[UPDATE_CONTEXT_REQUESTED_BY_CONTROLLER_PROP_CHANGE]({\n\t\t\t\taction,\n\t\t\t\tdispatch,\n\t\t\t\thost,\n\t\t\t\tstate\n\t\t\t}) {\n\t\t\t\tconst {\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tpreviousValue,\n\t\t\t\t\t\tisOutputProp,\n\t\t\t\t\t\tproperties: props,\n\t\t\t\t\t\tnowId\n\t\t\t\t\t}\n\t\t\t\t} = action;\n\t\t\t\tif (!translatorData[host.nowId]) return;\n\t\t\t\tif (isOutputProp) return;\n\t\t\t\tif (!isValidNode(nowId)) return;\n\t\t\t\tif (hasContextChanged(name, previousValue, value)) {\n\t\t\t\t\tconst context = {\n\t\t\t\t\t\t...getContext(props, state.experienceName),\n\t\t\t\t\t\t[name]: value\n\t\t\t\t\t};\n\t\t\t\t\tif (\n\t\t\t\t\t\t!shouldUpdateContext(\n\t\t\t\t\t\t\tnodeId,\n\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\ttranslatorData[host.nowId].contexts\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t\t\treturn;\n\t\t\t\t\ttranslatorData[host.nowId].contexts[nodeId] = context;\n\t\t\t\t\tdispatch(UPDATE_CONTEXT, {\n\t\t\t\t\t\tcontext\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\t[COMPONENT_PROPERTY_CHANGED]({action, dispatch, host}) {\n\t\t\t\tconst {\n\t\t\t\t\tpayload: {name, value, previousValue}\n\t\t\t\t} = action;\n\n\t\t\t\tif (hasActiveChanged(name, previousValue, value)) {\n\t\t\t\t\tif (value?.isActive)\n\t\t\t\t\t\tdispatch(SET_ACTIVE_CONTEXT, {translatorId: host.nowId});\n\t\t\t\t\telse dispatch(UNSET_ACTIVE_CONTEXT, {translatorId: host.nowId});\n\t\t\t\t}\n\t\t\t},\n\t\t\t[SAVE_CONTROLLER_NODE_TO_TRANSLATOR]({action, host}) {\n\t\t\t\tif (!shouldSaveControllerNode(action.payload)) return;\n\n\t\t\t\tconst {nodeId, node} = action.payload;\n\t\t\t\ttranslatorData[host.nowId].nodes[nodeId] = node;\n\t\t\t},\n\t\t\t[COMPONENT_DISCONNECTED]({host}) {\n\t\t\t\tdelete translatorData[host.nowId];\n\t\t\t\tdeleteActionBarsForTranslator(host.nowId);\n\t\t\t},\n\t\t\t[recordControllerActions.FORM_SUBMIT_COMPLETED]: {\n\t\t\t\teffect: ({action, host, dispatch}) => {\n\t\t\t\t\tif (!recordController) return;\n\t\t\t\t\thandleFormSubmit(action, host, dispatch);\n\t\t\t\t},\n\t\t\t\tstopPropagation: true\n\t\t\t},\n\t\t\t[gFormDataBrokerActions.FORM_SUBMIT_COMPLETED]: {\n\t\t\t\teffect: ({action, host, dispatch}) => {\n\t\t\t\t\tif (recordController || !clientStateDataBrokerNode) return;\n\t\t\t\t\thandleFormSubmit(action, host, dispatch);\n\t\t\t\t},\n\t\t\t\tstopPropagation: true\n\t\t\t}\n\t\t}\n\t};\n}\n","import {partial} from '@devsnc/snowdash';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {camelCase, isTransactionCancellationEnabled} from '../utils.js';\nimport nodeStore from '../macroponentInMemoryStore.js';\nimport {isEmpty} from '@devsnc/snowdash';\nimport {get} from '@devsnc/snowdash';\nimport {isEqual} from '@devsnc/snowdash';\nimport {some} from '@devsnc/snowdash';\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_DISCONNECTED\n} = actionTypes;\nconst COMPONENT_STATE_UPDATED = 'SEISMIC_COMPONENT_STATE_UPDATED';\nimport {\n\tviewportActions,\n\tpublicActionHandlerNames,\n\tpublicDispatchedActionNames,\n\tIS_MACROPONENT_READY,\n\tIS_SOURCED_FROM_SET_STATE,\n\tUXF_META_PROP_NAME_PREFIX,\n\tSIGNAL_VIEWPORT_LOAD_COMPLETION,\n\tSIGNAL_VIEWPORT_ROUTE_INITIALIZATION_COMPLETION,\n\tSIGNAL_MACROPONENT_READY_STATE_UPDATED,\n\tSIGNAL_MACROPONENT_READY_DISPATCHED,\n\tinternalActions,\n\tMACROPONENT_VALUE_UPDATED,\n\tPERSIST_STATE_CONSTANTS,\n\tMETA_PROP_NAME_PERSISTED_STATE,\n\tIS_SOURCED_FROM_PERSISTED_STATE_CHANGE,\n\tUXF_INTERNAL_EVENT_META,\n\tUXF_INTERNAL_ACTION_ORIGINATE\n} from '../constants.js';\nimport resolveForInitialStateValues from '../UxValueResolver/resolveForInitialStateValues';\nimport getInternalEffect, {dispatchInternalAction} from '../getInternalEffect';\n\nimport stateUpdateRequestedActionHandler from './primitiveOperations/stateUpdateRequestedActionHandler';\nimport {removeMacroponentInstance} from '../registry/macroponentInstanceRegistry.js';\nimport {httpErrorOccurredEffect} from '../../effects/httpErrorOccurredEffect';\nimport trackUsageActionHandler from './trackUsage/trackUsageActionHandler';\nimport getResolversForView from '../UxValueResolver/getResolversForView';\nimport resolveForView from '../UxValueResolver/resolveForView';\nimport {mapValues, has, isNil} from '@devsnc/snowdash';\nimport {NOW_MODE_ACTIVE, NOW_MODE_SUSPEND} from '../layout/constants.js';\nimport {isTranslatorContextProp} from './translatorBehavior/getTranslatorBehavior';\n\nconst {\n\tMACROPONENT_READY,\n\tMACROPONENT_PROPERTY_CHANGED,\n\tMACROPONENT_VIEWPORT_ROUTE_INITIALIZATION_COMPLETED,\n\tMACROPONENT_PAGE_ERROR_OCCURRED,\n\tMACROPONENT_FOCUSED,\n\tMACROPONENT_DOMAIN_UPDATE_REQUESTED,\n\tMACROPONENT_PERSISTED_STATE_ON_EXTERNAL_CHANGE\n} = publicDispatchedActionNames;\nconst {\n\tMACROPONENT_STATE_UPDATE_REQUESTED,\n\tMACROPONENT_VIEWPORT_LOAD_REQUESTED,\n\tMACROPONENT_VIEWPORT_LOAD_COMPLETED,\n\tHTTP_ERROR_OCCURRED,\n\tTRACK_USAGE_REQUESTED\n} = publicActionHandlerNames;\nconst {UXF_VIEWPORT_RENDER_BY_ID, UXF_VIEWPORT_ROUTE_INITIALIZATION_COMPLETED} =\n\tviewportActions;\n\nconst {\n\tMACROPONENT_STATE_UPDATED,\n\tWRAPPED_EVENT_REDISPATCH,\n\tUPDATE_CONTEXT_REQUESTED_BY_CONTROLLER_PROP_CHANGE\n} = internalActions;\n\nconst {PERSIST_STATE_KEY} = PERSIST_STATE_CONSTANTS;\n\nconst metaPropNamePrefixCamelCased = camelCase(UXF_META_PROP_NAME_PREFIX);\n\nconst isControllerNode = (node) => !node.tagName;\n\n// see if any of the outputProp's member isn't available yet\nconst isPropMemberUnresolved = (prop) =>\n\ttypeof prop === 'object'\n\t\t? some(Object.keys(prop), (m) => prop[m] === undefined)\n\t\t: !isEmpty(prop);\n\nconst checkForControllerOutputProps = (\n\tname,\n\toutputPropMappings,\n\tproperties,\n\tcsdbNodeId,\n\tpdbNodeIds,\n\texternalControllerDependencies,\n\tproxyDataBrokerNodes,\n\tid,\n\tstate,\n\tcontrollerAliasMap\n) => {\n\t// For the non controller macroponent props, return true\n\t// otherwise evaluate outputProps for controller are resolved\n\tif (!outputPropMappings[name]) {return true;}\n\n\t// Check for outputProp availability for the controller macroponent\n\tif (outputPropMappings[name]) {\n\t\tconst resolversForOutputProperties = getResolversForView(\n\t\t\tid,\n\t\t\tproperties,\n\t\t\tcsdbNodeId,\n\t\t\tpdbNodeIds,\n\t\t\texternalControllerDependencies,\n\t\t\tproxyDataBrokerNodes,\n\t\t\tcontrollerAliasMap\n\t\t);\n\n\t\t// resolve the outputProp\n\t\tconst resolvedPropValue = resolveForView(\n\t\t\tresolversForOutputProperties,\n\t\t\tproperties,\n\t\t\tstate,\n\t\t\toutputPropMappings[name]\n\t\t);\n\n\t\treturn (\n\t\t\t!isEmpty(resolvedPropValue) && !isPropMemberUnresolved(resolvedPropValue)\n\t\t);\n\t}\n};\n\nconst getPersistedState = (\n\tstatePersistenceConfigs,\n\t{[META_PROP_NAME_PERSISTED_STATE]: persistedState},\n\tresolver\n) => {\n\tif (isEmpty(statePersistenceConfigs) || isEmpty(persistedState)) {\n\t\treturn;\n\t}\n\n\tconst resolvedPersistedState = statePersistenceConfigs.reduce(\n\t\t(acc, persistConfig) => {\n\t\t\tconst {name, stateMapping, persistTo} = persistConfig;\n\t\t\tconst resolvedPersistTo = resolver(persistTo);\n\n\t\t\tconst isPersistedStatePresent = has(persistedState, [\n\t\t\t\tPERSIST_STATE_KEY,\n\t\t\t\tname\n\t\t\t]);\n\n\t\t\t// If the persisted state is not present, we don't need to resolve it\n\t\t\tif (!isEmpty(resolvedPersistTo) && isPersistedStatePresent)\n\t\t\t{acc[stateMapping] = get(persistedState, [PERSIST_STATE_KEY, name]);}\n\n\t\t\treturn acc;\n\t\t},\n\t\t{}\n\t);\n\n\treturn resolvedPersistedState;\n};\n\nconst actionOriginateFromRecordController = (action) => {\n\tconst {\n\t\t[UXF_INTERNAL_EVENT_META]: {[UXF_INTERNAL_ACTION_ORIGINATE]: originate} = {}\n\t} = action.meta || {};\n\treturn originate === '67ee2538534501108135ddeeff7b121b';\n};\n\nexport const getLifecyleEventsBehavior = (\n\tunresolvedInitialState,\n\tstatePersistenceConfigs,\n\tstateProperties = [],\n\tconsolidatedEventMappings,\n\tshouldHaveWrappedEventDispatch,\n\tcsdbNodeId,\n\tpdbNodeIds,\n\toutputPropMappings,\n\texternalControllerDependencies,\n\tproxyDataBrokerNodes,\n\tid,\n\trootNode,\n\tcontrollerAliasMap,\n\tdispatchMcpUpdates = false\n) => {\n\tconst requiresInitialStateResolution =\n\t\t!isEmpty(unresolvedInitialState) || !isEmpty(statePersistenceConfigs);\n\tconst statePropertyNames = stateProperties.map(({name}) => name);\n\tconst isOutputProp = (name) => !!outputPropMappings[name];\n\tconst shouldDispatchControllerPropChanged = (name) =>\n\t\tisControllerNode(rootNode) &&\n\t\t!isOutputProp(name) &&\n\t\tisTranslatorContextProp(name);\n\n\treturn {\n\t\tname: 'macroponentInternalEvents',\n\t\tactionHandlers: {\n\t\t\t[COMPONENT_DOM_TREE_READY]({\n\t\t\t\tupdateState,\n\t\t\t\tproperties: seismicProperties,\n\t\t\t\tdispatch,\n\t\t\t\thost\n\t\t\t}) {\n\t\t\t\tif (host[SIGNAL_MACROPONENT_READY_DISPATCHED]) {return;}\n\n\t\t\t\tif (requiresInitialStateResolution) {\n\t\t\t\t\tconst resolver = partial(\n\t\t\t\t\t\tresolveForInitialStateValues,\n\t\t\t\t\t\tseismicProperties\n\t\t\t\t\t);\n\t\t\t\t\tconst resolvedInitialState = mapValues(\n\t\t\t\t\t\tunresolvedInitialState,\n\t\t\t\t\t\tresolver\n\t\t\t\t\t);\n\t\t\t\t\tconst resolvedPersistedState = getPersistedState(\n\t\t\t\t\t\tstatePersistenceConfigs,\n\t\t\t\t\t\tseismicProperties,\n\t\t\t\t\t\tresolver\n\t\t\t\t\t);\n\t\t\t\t\tconst updaterFn = () => ({\n\t\t\t\t\t\t...resolvedInitialState,\n\t\t\t\t\t\t...resolvedPersistedState,\n\t\t\t\t\t\t[IS_MACROPONENT_READY]: true\n\t\t\t\t\t});\n\t\t\t\t\tupdaterFn[SIGNAL_MACROPONENT_READY_STATE_UPDATED] = true;\n\t\t\t\t\tupdateState(updaterFn);\n\t\t\t\t} else {\n\t\t\t\t\thost[SIGNAL_MACROPONENT_READY_DISPATCHED] = true;\n\t\t\t\t\tdispatchInternalAction(dispatch, MACROPONENT_READY);\n\t\t\t\t}\n\t\t\t},\n\t\t\t[COMPONENT_PROPERTY_CHANGED]({\n\t\t\t\taction,\n\t\t\t\tdispatch,\n\t\t\t\tproperties,\n\t\t\t\tstate,\n\t\t\t\thost,\n\t\t\t\tupdateProperties\n\t\t\t}) {\n\t\t\t\tconst {\n\t\t\t\t\tpayload: {name, previousValue, value}\n\t\t\t\t} = action;\n\n\t\t\t\tif (\n\t\t\t\t\tname === 'isComponentInView' &&\n\t\t\t\t\tisTransactionCancellationEnabled()\n\t\t\t\t) {\n\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\tnowMode: properties.isComponentInView\n\t\t\t\t\t\t\t? NOW_MODE_ACTIVE\n\t\t\t\t\t\t\t: NOW_MODE_SUSPEND\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tconst outputPropsAvailable = checkForControllerOutputProps(\n\t\t\t\t\tname,\n\t\t\t\t\toutputPropMappings,\n\t\t\t\t\tproperties,\n\t\t\t\t\tcsdbNodeId,\n\t\t\t\t\tpdbNodeIds,\n\t\t\t\t\texternalControllerDependencies,\n\t\t\t\t\tproxyDataBrokerNodes,\n\t\t\t\t\tid,\n\t\t\t\t\tstate,\n\t\t\t\t\tcontrollerAliasMap\n\t\t\t\t);\n\n\t\t\t\tif (shouldDispatchControllerPropChanged(name)) {\n\t\t\t\t\tdispatchInternalAction(\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tUPDATE_CONTEXT_REQUESTED_BY_CONTROLLER_PROP_CHANGE,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...action.payload,\n\t\t\t\t\t\t\tisOutputProp: isOutputProp(name),\n\t\t\t\t\t\t\tproperties,\n\t\t\t\t\t\t\tnowId: host.nowId\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tconst depPropsAvailable = (name, value) => {\n\t\t\t\t\t// if prop isn't dep-* return true\n\t\t\t\t\t// otherwise check for at-least one prop's member isn't available\n\t\t\t\t\tif (!name.startsWith('dep')) {return true;}\n\n\t\t\t\t\t// Check for dependency name for modelesslist and is Array\n\t\t\t\t\tif (\n\t\t\t\t\t\tname.toLowerCase().indexOf('modelesslist') !== -1 &&\n\t\t\t\t\t\tArray.isArray(value)\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Check availability for dep-* Props. e.g. depNowUxfGformAcl\n\t\t\t\t\tif (!isEmpty(value) && typeof value === 'object') {\n\t\t\t\t\t\tconst isPropMemberUndefined = some(\n\t\t\t\t\t\t\tObject.keys(value),\n\t\t\t\t\t\t\t(m) => value[m] === undefined\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn !isPropMemberUndefined;\n\t\t\t\t\t} \n\t\t\t\t\treturn !isEmpty(value);\n\t\t\t\t\t\n\t\t\t\t};\n\n\t\t\t\tif (\n\t\t\t\t\t!name.startsWith(metaPropNamePrefixCamelCased) &&\n\t\t\t\t\t!isEqual(previousValue, value) &&\n\t\t\t\t\tdepPropsAvailable(name, value) &&\n\t\t\t\t\toutputPropsAvailable\n\t\t\t\t) {\n\t\t\t\t\tconst payload = {\n\t\t\t\t\t\tname: action.payload.name,\n\t\t\t\t\t\tvalue: action.payload.value,\n\t\t\t\t\t\tpreviousValue: action.payload.previousValue\n\t\t\t\t\t};\n\t\t\t\t\tdispatchInternalAction(\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tMACROPONENT_PROPERTY_CHANGED,\n\t\t\t\t\t\tpayload\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t\t[COMPONENT_DISCONNECTED]({host, properties}) {\n\t\t\t\tconst {nodeId} = properties;\n\t\t\t\tremoveMacroponentInstance(host);\n\t\t\t\tnodeStore.clear(nodeId);\n\t\t\t},\n\t\t\t[COMPONENT_STATE_UPDATED]({action, dispatch, state, host}) {\n\t\t\t\tconst {\n\t\t\t\t\tpayload: {previousState, update}\n\t\t\t\t} = action;\n\n\t\t\t\t// We are only interested in state updates that are done from client scripts (or macroponent declarative state updates)\n\t\t\t\tif (update[IS_SOURCED_FROM_SET_STATE]) {\n\t\t\t\t\tconst {statePropertyNames: statePropertyNamesFromUpdate = []} =\n\t\t\t\t\t\tupdate;\n\t\t\t\t\tstatePropertyNamesFromUpdate.forEach((statePropertyName) => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tstatePropertyNames.includes(statePropertyName) &&\n\t\t\t\t\t\t\tpreviousState[statePropertyName] !== state[statePropertyName]\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tdispatchInternalAction(dispatch, MACROPONENT_STATE_UPDATED, {\n\t\t\t\t\t\t\t\tstatePropertyNames: [statePropertyName]\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else if (update[IS_SOURCED_FROM_PERSISTED_STATE_CHANGE]) {\n\t\t\t\t\tconst {statePropertyNames: statePropertyNamesFromUpdate = []} =\n\t\t\t\t\t\tupdate;\n\t\t\t\t\tconst changedStatePropertyNames = statePropertyNamesFromUpdate.filter(\n\t\t\t\t\t\t(statePropertyName) =>\n\t\t\t\t\t\t\tstatePropertyNames.includes(statePropertyName) &&\n\t\t\t\t\t\t\tpreviousState[statePropertyName] !== state[statePropertyName]\n\t\t\t\t\t);\n\n\t\t\t\t\tif (!isEmpty(changedStatePropertyNames)) {\n\t\t\t\t\t\tdispatchInternalAction(\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tMACROPONENT_STATE_UPDATED,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tstatePropertyNames: changedStatePropertyNames\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t[IS_SOURCED_FROM_PERSISTED_STATE_CHANGE]: true\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} else if (update[SIGNAL_VIEWPORT_ROUTE_INITIALIZATION_COMPLETION]) {\n\t\t\t\t\t// We are making sure that the state has already been updated wih the viewport routes\n\t\t\t\t\t// when we are dispatching UXF_VIEWPORT_ROUTE_INITIALIZATION_COMPLETED\n\t\t\t\t\tdispatch(UXF_VIEWPORT_ROUTE_INITIALIZATION_COMPLETED);\n\t\t\t\t} else if (\n\t\t\t\t\tupdate[SIGNAL_MACROPONENT_READY_STATE_UPDATED] &&\n\t\t\t\t\t!host[SIGNAL_MACROPONENT_READY_DISPATCHED]\n\t\t\t\t) {\n\t\t\t\t\thost[SIGNAL_MACROPONENT_READY_DISPATCHED] = true;\n\t\t\t\t\tdispatchInternalAction(dispatch, MACROPONENT_READY);\n\t\t\t\t}\n\t\t\t},\n\t\t\t[MACROPONENT_VIEWPORT_LOAD_REQUESTED]: {\n\t\t\t\teffect({dispatch, action}) {\n\t\t\t\t\tdispatchInternalAction(\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tUXF_VIEWPORT_RENDER_BY_ID,\n\t\t\t\t\t\taction.payload,\n\t\t\t\t\t\t{[SIGNAL_VIEWPORT_LOAD_COMPLETION]: true}\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tstopPropagation: true\n\t\t\t},\n\t\t\t[MACROPONENT_VIEWPORT_LOAD_COMPLETED]: {\n\t\t\t\tstopPropagation: true\n\t\t\t},\n\t\t\t[HTTP_ERROR_OCCURRED]: {\n\t\t\t\teffect: httpErrorOccurredEffect,\n\t\t\t\targs: [consolidatedEventMappings, MACROPONENT_PAGE_ERROR_OCCURRED],\n\t\t\t\tstopPropagation: !isNil(\n\t\t\t\t\tget(consolidatedEventMappings, MACROPONENT_PAGE_ERROR_OCCURRED)\n\t\t\t\t)\n\t\t\t},\n\t\t\t[MACROPONENT_PAGE_ERROR_OCCURRED]: {\n\t\t\t\tstopPropagation: true\n\t\t\t},\n\t\t\t[MACROPONENT_READY]: {\n\t\t\t\tstopPropagation: true\n\t\t\t},\n\t\t\t[MACROPONENT_FOCUSED]: {\n\t\t\t\tstopPropagation: true\n\t\t\t},\n\n\t\t\t[MACROPONENT_PROPERTY_CHANGED]: {\n\t\t\t\tstopPropagation: true,\n\t\t\t\teffect(coeffects) {\n\t\t\t\t\tif (!dispatchMcpUpdates) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst {dispatch, action} = coeffects;\n\t\t\t\t\tconst {name: propertyName, value: updatedValue} = action.payload;\n\n\t\t\t\t\tdispatch(MACROPONENT_VALUE_UPDATED, {\n\t\t\t\t\t\tmacroponentSysId: id,\n\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\t[propertyName]: updatedValue\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\t[MACROPONENT_PERSISTED_STATE_ON_EXTERNAL_CHANGE]: {\n\t\t\t\tstopPropagation: true\n\t\t\t},\n\t\t\t[MACROPONENT_STATE_UPDATE_REQUESTED]: {\n\t\t\t\teffect(coeffects) {\n\t\t\t\t\tstateUpdateRequestedActionHandler(coeffects, id, dispatchMcpUpdates);\n\t\t\t\t},\n\t\t\t\tstopPropagation: true\n\t\t\t},\n\t\t\t[TRACK_USAGE_REQUESTED]: {\n\t\t\t\teffect: trackUsageActionHandler,\n\t\t\t\tstopPropagation: true\n\t\t\t},\n\t\t\t[MACROPONENT_VIEWPORT_ROUTE_INITIALIZATION_COMPLETED]: {\n\t\t\t\tstopPropagation: true\n\t\t\t},\n\t\t\t...(shouldHaveWrappedEventDispatch\n\t\t\t\t? {\n\t\t\t\t\t[WRAPPED_EVENT_REDISPATCH]: getInternalEffect({\n\t\t\t\t\t\teffect({dispatch, action}) {\n\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\tpayload: {wrappedPayload, targetEventName},\n\t\t\t\t\t\t\t\tmeta: {uxfMeta}\n\t\t\t\t\t\t\t} = action;\n\t\t\t\t\t\t\t\t// Passing only the uxfMeta for Dirty State Management, otherwise\n\t\t\t\t\t\t\t\t// Passing the complete meta object leads to IT failures, as it retains data from the previous action context.\n\t\t\t\t\t\t\tdispatch(targetEventName, wrappedPayload, {uxfMeta});\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t  }\n\t\t\t\t: {}),\n\t\t\t[MACROPONENT_DOMAIN_UPDATE_REQUESTED]: {\n\t\t\t\teffect({action, updateProperties}) {\n\t\t\t\t\t// Restrict the action to be originated from the record controller macroponent\n\t\t\t\t\tif (!actionOriginateFromRecordController(action)) {return;}\n\n\t\t\t\t\tconst {\n\t\t\t\t\t\tnowDsDomainId,\n\t\t\t\t\t\tnowDsDomainScope,\n\t\t\t\t\t\tnowDsRecordId,\n\t\t\t\t\t\tnowDsRecordTable\n\t\t\t\t\t} = action.payload;\n\n\t\t\t\t\tconst domainInfo = {\n\t\t\t\t\t\t...(nowDsDomainId ? {nowDsDomainId} : {}),\n\t\t\t\t\t\t...(nowDsDomainScope ? {nowDsDomainScope} : {}),\n\t\t\t\t\t\t...(nowDsRecordId ? {nowDsRecordId} : {}),\n\t\t\t\t\t\t...(nowDsRecordTable ? {nowDsRecordTable} : {})\n\t\t\t\t\t};\n\t\t\t\t\tif (!isEmpty(domainInfo)) {updateProperties(domainInfo);}\n\t\t\t\t},\n\t\t\t\tstopPropagation: true\n\t\t\t}\n\t\t}\n\t};\n};\n","import setState from '../execScript/setState';\nimport {getMacroponentInstance} from '../../registry/macroponentInstanceRegistry';\n\n/**\n * Macroponent primitive action handler for MACROPONENT_STATE_UPDATE_REQUESTED.\n * Simply delegates to execScript/setState().\n * @param {object} coeffects coeffects object.\n * @param {string} mcpSysId\n * @param {boolean} dispatchMcpUpdates\n */\nexport default function stateUpdateRequestedActionHandler(\n\tcoeffects,\n\tmcpSysId,\n\tdispatchMcpUpdates\n) {\n\t// Unwrap necessary parameters to pass to setState.\n\tconst {\n\t\tdispatch: seismicDispatch,\n\t\taction,\n\t\tupdateState: seismicUpdateState,\n\t\thost\n\t} = coeffects;\n\n\tconst instance = getMacroponentInstance(host);\n\tconst payload = action.payload;\n\tconst namespace = payload.propName;\n\tconst fnOrNewState = payload.value;\n\n\t// Delegate to setState().\n\tsetState(\n\t\tinstance,\n\t\tseismicDispatch,\n\t\tseismicUpdateState,\n\t\tmcpSysId,\n\t\tdispatchMcpUpdates,\n\t\tnamespace,\n\t\tfnOrNewState\n\t);\n}\n","import {\n\tmark,\n\tgetInteractionId,\n\tcreateInteractionId\n} from '@servicenow/ui-metrics';\nimport {getAncestorNode} from '@servicenow/ui-core';\nimport {get} from '@devsnc/snowdash';\n\nexport const UI_BUILDER_EXPERIENCE_ID = 'fb978e92c349d11047538b5b2840dd6a';\n\n/**\n * interactive marks.\n */\nexport const markInteractive = (\n\thost,\n\taction,\n\tmetric,\n\tvalue,\n\tmarkType = 'all'\n) => {\n\tconst interactiveId = getInteractionId(action.meta);\n\tmark(host, interactiveId, metric, value, markType);\n};\n\n/**\n * Checks if screen is in preview mode or not.\n * @returns\n */\nexport const getIsScreenPreviewFromURL = () => {\n\tconst {searchParams} = new URL(decodeURIComponent(window.location.href));\n\treturn (\n\t\tsearchParams.has('sysparm_live_preview') ||\n\t\tsearchParams.get('mode') === 'preview'\n\t);\n};\n\nexport const pause = (duration) =>\n\tnew Promise((resolve) => {\n\t\tsetTimeout(() => resolve(), duration);\n\t});\n\nexport function isUIBuilderExperience() {\n\treturn get(window, 'pageMeta.pageRegistryId') === UI_BUILDER_EXPERIENCE_ID;\n}\n\nexport function setInteractionId() {\n\tconst interactionId = createInteractionId();\n\t// In sn-uxr-base/sn-canvas-screen.effects.js, the mainSelectedContentChangedEffect method is triggered for MAIN_SELECTED_CONTENT_CHANGED.\n\t// In the event of non-passive navigation, we reset the value of screenData.uxrInteractionId to match window.nowUiFramework.uxrInteractionId.\n\twindow.nowUiFramework.uxrInteractionId = interactionId;\n\treturn interactionId;\n}\n\nexport const appliedTemplateMarkerForScreen = new Map();\n\nexport const isTopLevelScreen = (host) => {\n\tconst ancestor = getAncestorNode(host);\n\treturn (\n\t\tancestor?.tagName === 'SN-CANVAS-SCREEN' &&\n\t\thost?.assignedSlot?.assignedNodes()[0] === host\n\t);\n};\n","export const UXF_COMPONENT_INTERACTIVE = 'UXF_COMPONENT_INTERACTIVE';\n","import {\n\tactionTypes,\n\twhenComponentIsIdle,\n\twhenAllComponentsIdle,\n\tgetAncestorNode,\n\tgetComponentById\n} from '@servicenow/ui-core';\nimport {getMetricTypes, defineMetric} from '@servicenow/ui-metrics';\nimport {dispatchInternalAction} from '../../getInternalEffect.js';\n\nimport {\n\tmarkInteractive,\n\tgetIsScreenPreviewFromURL,\n\tpause,\n\tisUIBuilderExperience,\n\tappliedTemplateMarkerForScreen,\n\tisTopLevelScreen\n} from './utils.js';\n\nimport {get, uniq, set} from '@devsnc/snowdash';\nimport getUxfSysProp from '../../../utils/getUxfSysProp';\nimport {getUnifiedCacheStats} from '../../utils';\nimport {\n\tCOMPOSITION_ELEMENT_ID,\n\tMACROPONENT_TIME_TO_IDLE_MEASUREMENT_REQUESTED,\n\tSCREEN_ACTION_TRANSFORMER,\n\tUXF_INTERNAL_SCREEN_MACROPONENT_IDLE,\n\tSCREEN_INTERACTION_ID_UPDATE_REQUESTED\n} from '../../constants';\nimport {whenGetTemplatesIdle} from '../../../templateLoader/getTemplates.js';\nimport {\n\tgetCanvasScreen,\n\tScreenEngineTaskTracker\n} from '../../../utils/screenUtils.js';\nimport {UXF_COMPONENT_INTERACTIVE} from '../../../behaviors/constants.js';\n\nconst UXF_PERF_MONITORING_ENABLED =\n\tgetUxfSysProp('glide.uxf.lib.performance.monitoring.enabled', 'false') ===\n\t'true';\n\nconst {COMPONENT_DOM_TREE_READY} = actionTypes;\n\nconst metrics = Object.freeze({\n\tUXF_DIRECT_LOAD_COMPLETE: 'UXF_DIRECT_LOAD_COMPLETE',\n\tUXF_USER_NAV_LOAD_COMPLETE: 'UXF_USER_NAV_LOAD_COMPLETE',\n\tUXF_MACROPONENT_MEASURE_CLIENT_INTERACTION_START:\n\t\t'UXF_MACROPONENT_MEASURE_CLIENT_INTERACTION_START',\n\tUXF_MACROPONENT_MEASURE_CLIENT_INTERACTION_END:\n\t\t'UXF_MACROPONENT_MEASURE_CLIENT_INTERACTION_END',\n\tUXF_COMPONENT_INTERACTIVE: 'UXF_COMPONENT_INTERACTIVE'\n});\n\nconst metricTypes = getMetricTypes();\n\nObject.keys(metrics).forEach((metric) => {\n\tif (!metricTypes[metrics[metric]]) defineMetric(metrics[metric], 5);\n});\n\nconst isScreenPreview = getIsScreenPreviewFromURL();\n\nlet hasDirectLoadMeasurementStarted = false;\n\n/**\n * Only mark total UI time if performance monitoring is enabled\n * and screen is not in preview.\n */\nconst shouldMarkTotalUITime = UXF_PERF_MONITORING_ENABLED && !isScreenPreview;\n\n\nexport const computeBeforeAfterLoad = (screen, start, end) => {\n\tconst screenMapKey = `${screen.experienceId}~${screen.screenKey}`;\n\tif (!appliedTemplateMarkerForScreen.has(screenMapKey))\n\t\treturn {beforeLoad: 0, afterLoad: 0};\n\n\tconst getAppliedTemplateTime =\n\t\tappliedTemplateMarkerForScreen.get(screenMapKey);\n\tappliedTemplateMarkerForScreen.delete(screenMapKey);\n\tconst beforeLoad = getAppliedTemplateTime - start;\n\tconst afterLoad = end - getAppliedTemplateTime;\n\treturn {beforeLoad, afterLoad};\n};\n\nconst getDependencyComponents = (shellComponentId, allNodeIds) => {\n\tconst nodeIds = uniq(allNodeIds);\n\tconst components = [];\n\tfor (const nodeId of nodeIds) {\n\t\tconst component = getComponentById(`${shellComponentId}-${nodeId}`);\n\t\tif (component) {\n\t\t\tcomponents.push(component);\n\t\t}\n\t}\n\treturn components;\n};\n\nexport const getScreenData = (screen) => {\n\tif (!screen) {\n\t\t/**\n\t\t * Screen can be null for:\n\t\t *  1. Experiences that do not use sn-canvas-main, like UI Builder.\n\t\t *  2. Macroponents inside modal viewport containers, as they are hoisted in sn-canvas-modal-hoist at the experience level.\n\t\t *\n\t\t * When screen is null, this function returns an empty object and ux-metrics will handle adding default values.\n\t\t */\n\t\treturn {};\n\t}\n\tconst screenRoute = get(screen, ['screenData', 'route']);\n\tconst screenFields = get(screen, ['screenData', 'fields']);\n\tconst screenParams = get(screen, ['screenData', 'params']);\n\tconst screenParent = get(screen, ['screenData', 'parent']);\n\tconst experiencePath = get(screen, ['screenData', 'context', 'path']);\n\tconst screenKey = get(screen, ['screenData', 'screenKey']);\n\tconst experienceName = get(screen, [\n\t\t'screenData',\n\t\t'context',\n\t\t'experienceName'\n\t]);\n\tconst experienceId = get(screen, ['experienceId']);\n\tconst macroponentSysId = get(screen, ['screenData', 'macroponentSysId']);\n\tconst variantSysId = get(screen, ['screenData', 'viewportConfigurationId']);\n\tconst uxrInteractionId = get(screen, ['screenData', 'uxrInteractionId']);\n\tconst navStartTime = get(\n\t\tscreen,\n\t\t['screenData', 'lastNavigationTimestamp'],\n\t\t-1\n\t);\n\tconst screenTitle = get(\n\t\tscreen,\n\t\t['screenData', 'title'],\n\t\tget(screen, ['screenData', 'defaultTitle'])\n\t);\n\n\treturn {\n\t\tscreenRoute,\n\t\tscreenFields,\n\t\tscreenParams,\n\t\tscreenParent,\n\t\texperienceName,\n\t\texperienceId,\n\t\tmacroponentSysId,\n\t\tscreenTitle,\n\t\texperiencePath,\n\t\tuxrInteractionId,\n\t\tscreenKey,\n\t\tnavStartTime,\n\t\tvariantSysId\n\t};\n};\n\nconst markNavTotalUiTime = (\n\ttimestamp,\n\thost,\n\taction,\n\tscreenData,\n\ttotalUiTimeMeasurementTimedOut,\n\tisDocumentHidden\n) => {\n\tif (!shouldMarkTotalUITime) return;\n\tconst navStartTime = screenData.navStartTime;\n\n\tif (navStartTime < 0) return;\n\n\tconst {beforeLoad, afterLoad} = computeBeforeAfterLoad(\n\t\tscreenData,\n\t\tnavStartTime,\n\t\ttimestamp\n\t);\n\tconst totalUiTime = timestamp - navStartTime;\n\tset(window, ['uxf_timing', 'last_total_ui_time'], totalUiTime);\n\n\tset(window, ['uxf_timing', 'total_ui_time_user_nav'], totalUiTime);\n\tset(window, ['uxf_timing', 'user_nav_screen_data'], screenData);\n\tset(window, ['uxf_timing', 'after_load_user_nav'], afterLoad);\n\tset(window, ['uxf_timing', 'before_load_user_nav'], beforeLoad);\n\n\tconst unifiedCacheStats = getUnifiedCacheStats();\n\n\tmarkInteractive(host, action, metrics.UXF_USER_NAV_LOAD_COMPLETE, {\n\t\thostId: host.nowId,\n\t\ttotalUiTimeMeasurementTimedOut,\n\t\ttotalUiTime,\n\t\tafterLoad,\n\t\tbeforeLoad,\n\t\t...screenData,\n\t\t...unifiedCacheStats,\n\t\turl: window.location.href,\n\t\tisDocumentHidden\n\t});\n};\n\nconst markDirectLoadTotalUiTime = (\n\ttimestamp,\n\thost,\n\taction,\n\tscreenData,\n\ttotalUiTimeMeasurementTimedOut,\n\tisDocumentHidden\n) => {\n\tif (!shouldMarkTotalUITime) return;\n\n\tconst navEnteries = window.performance.getEntriesByType('navigation');\n\n\tif (navEnteries.length < 1) return;\n\n\tconst requestStartTime = navEnteries[0].startTime;\n\tconst {beforeLoad, afterLoad} = computeBeforeAfterLoad(\n\t\tscreenData,\n\t\trequestStartTime,\n\t\ttimestamp\n\t);\n\n\tconst totalUiTime = timestamp - requestStartTime;\n\tset(window, ['uxf_timing', 'last_total_ui_time'], totalUiTime);\n\n\tset(window, ['uxf_timing', 'total_ui_time_direct_load'], totalUiTime);\n\n\t// This is done to faciliate WPT testing.\n\tset(window, ['uxf_timing', 'direct_load_screen_data'], screenData);\n\tset(window, ['uxf_timing', 'after_load_direct_load'], afterLoad);\n\tset(window, ['uxf_timing', 'before_load_direct_load'], beforeLoad);\n\n\tconst unifiedCacheStats = getUnifiedCacheStats();\n\n\tmarkInteractive(host, action, metrics.UXF_DIRECT_LOAD_COMPLETE, {\n\t\thostId: host.nowId,\n\t\ttotalUiTimeMeasurementTimedOut,\n\t\ttotalUiTime,\n\t\tbeforeLoad,\n\t\tafterLoad,\n\t\t...screenData,\n\t\t...unifiedCacheStats,\n\t\turl: navEnteries[0].name || window.location.href,\n\t\tisDocumentHidden\n\t});\n};\n\nconst OBSERVERS_BY_MACROPONENT_DOM_NODE = new WeakMap();\nconst IDLE_MACROPONENT_DOM_NODES = new WeakSet();\n\nfunction markMacroponentIdle(domNode) {\n\tconst observers = OBSERVERS_BY_MACROPONENT_DOM_NODE.get(domNode) ?? [];\n\tfor (const observer of observers) {\n\t\tif (typeof observer === 'function') observer();\n\t}\n\tOBSERVERS_BY_MACROPONENT_DOM_NODE.set(domNode, []);\n\n\tIDLE_MACROPONENT_DOM_NODES.add(domNode);\n}\n\nfunction whenMacroponentIsIdle(domNode) {\n\treturn new Promise((resolve) => {\n\t\tif (IDLE_MACROPONENT_DOM_NODES.has(domNode)) {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tconst observers = OBSERVERS_BY_MACROPONENT_DOM_NODE.get(domNode) ?? [];\n\t\t\tobservers.push(resolve);\n\t\t\tOBSERVERS_BY_MACROPONENT_DOM_NODE.set(domNode, observers);\n\t\t}\n\t});\n}\n\nasync function checkForPageIdleness() {\n\tconst [getTemplateIdleResult, getAllComponentIdleResult] =\n\t\tawait Promise.allSettled([\n\t\t\twhenGetTemplatesIdle(),\n\t\t\twhenAllComponentsIdle({withTimeOutInfo: true})\n\t\t]);\n\tconst {didPause: didTemplateIdlePause, timedOut: didTemplateIdleTimedOut} =\n\t\tgetTemplateIdleResult.value;\n\tconst {\n\t\tdidPause: didAllComponentIdlePause,\n\t\ttimedOut: didAllComponentIdleTimedOut\n\t} = getAllComponentIdleResult.value;\n\n\treturn {\n\t\tdidPause: didTemplateIdlePause || didAllComponentIdlePause,\n\t\ttimedOut: didTemplateIdleTimedOut || didAllComponentIdleTimedOut\n\t};\n}\n\nasync function getAllComponentsIdleTimestamp() {\n\tlet timestamp = performance.now();\n\n\tawait pause(100);\n\tconst {didPause: didPause1} = await checkForPageIdleness();\n\tif (didPause1) {\n\t\ttimestamp = performance.now();\n\t}\n\n\tawait pause(50);\n\tconst {didPause: didPause2} = await checkForPageIdleness();\n\tif (didPause2) {\n\t\ttimestamp = performance.now();\n\t}\n\n\tawait pause(25);\n\tconst {didPause: didPause3, timedOut} = await checkForPageIdleness();\n\tif (didPause3) {\n\t\ttimestamp = performance.now();\n\t}\n\n\treturn {\n\t\ttimestamp,\n\t\ttimedOut\n\t};\n}\n\nconst SCREEN_MACROPONENT_IDLE_TIMESTAMP_MARKED =\n\t'__DO_NOT_USE__UXF_INTERNAL#SCREEN_MACROPONENT_IDLE_TIMESTAMP_MARKED';\n\nconst SCREEN_MACROPONENT_IDLE_ON_SCREEN_LOAD_MARKED =\n\t'__DO_NOT_USE__UXF_INTERNAL#SCREEN_MACROPONENT_IDLE_ON_SCREEN_LOAD_MARKED';\n\n// used by whenScreenMacroponentIdleDuringPageLoad in @devsnc/uxf-runtime-utils\nfunction signalScreenMacroponentIdle() {\n\tdocument.dispatchEvent(new Event(SCREEN_MACROPONENT_IDLE_TIMESTAMP_MARKED));\n}\n\nfunction signalScreenMacroponentIdleOnScreenLoad() {\n\tdocument.dispatchEvent(\n\t\tnew Event(SCREEN_MACROPONENT_IDLE_ON_SCREEN_LOAD_MARKED)\n\t);\n}\n\nconst whenDependencyComponentsAreIdle = async (\n\thost,\n\tshellComponentId,\n\tallNodeIds\n) => {\n\tconst dependencyComponents = getDependencyComponents(\n\t\tshellComponentId,\n\t\tallNodeIds\n\t);\n\n\tconst promises = [\n\t\twhenComponentIsIdle(host),\n\t\t...dependencyComponents.map((domNode) => {\n\t\t\treturn domNode?.tagName.startsWith('MACROPONENT-')\n\t\t\t\t? whenMacroponentIsIdle(domNode)\n\t\t\t\t: whenComponentIsIdle(domNode);\n\t\t})\n\t];\n\n\tawait Promise.all(promises);\n};\n\nexport const measureMacroponentTimeToIdle = (allNodeIds) => {\n\treturn async (coeffects) => {\n\t\tconst {\n\t\t\thost,\n\t\t\taction,\n\t\t\tproperties: {nowId: shellComponentId},\n\t\t\tdispatch\n\t\t} = coeffects;\n\n\t\tconst {\n\t\t\tpayload: {name = '', data = {}, clientInteractionStartTime}\n\t\t} = action;\n\n\t\tconst startInteractiveTimestamp =\n\t\t\tclientInteractionStartTime || performance.now();\n\n\t\t// Name is required. Provided by consumer.\n\t\tif (!name) {\n\t\t\tconsole.warn('measureMacroponentTimeToIdle: name is required. Skipping.');\n\t\t\treturn {\n\t\t\t\tstartInteractiveTimestamp: 0,\n\t\t\t\tendInteractiveTimestamp: 0\n\t\t\t};\n\t\t}\n\n\t\tif (isUIBuilderExperience()) {\n\t\t\tconsole.warn('measureMacroponentTimeToIdle: Skipping for UIBuilder.');\n\t\t\treturn {\n\t\t\t\tstartInteractiveTimestamp: 0,\n\t\t\t\tendInteractiveTimestamp: 0\n\t\t\t};\n\t\t}\n\n\t\tconst canvasScreen = getCanvasScreen(host);\n\t\tconst screenData = getScreenData(canvasScreen);\n\n\t\t// New Interaction is initiated here so we will create new interaction id for the screen\n\t\tdispatch(SCREEN_INTERACTION_ID_UPDATE_REQUESTED, {\n\t\t\tscreenKey: screenData.screenKey,\n\t\t\tcreateNew: true\n\t\t});\n\n\t\tmarkInteractive(\n\t\t\thost,\n\t\t\taction,\n\t\t\tmetrics.UXF_MACROPONENT_MEASURE_CLIENT_INTERACTION_START,\n\t\t\t{\n\t\t\t\ttime: startInteractiveTimestamp\n\t\t\t},\n\t\t\t'performance'\n\t\t);\n\n\t\tif (allNodeIds.length !== 0)\n\t\t\tawait whenDependencyComponentsAreIdle(host, shellComponentId, allNodeIds);\n\t\telse await whenComponentIsIdle(host);\n\n\t\tconst {timedOut: getTemplatesIdleTimedOut} = await whenGetTemplatesIdle();\n\n\t\tconst {timedOut: timedOutAllComponentIdle, timestamp} =\n\t\t\tawait getAllComponentsIdleTimestamp();\n\n\t\tconst endInteractiveTimestamp = timestamp;\n\n\t\t// This is done to faciliate WPT testing.\n\t\tset(\n\t\t\twindow,\n\t\t\t['uxf_timing', 'total_ui_time_interactive'],\n\t\t\tendInteractiveTimestamp - startInteractiveTimestamp\n\t\t);\n\n\t\tset(\n\t\t\twindow,\n\t\t\t['uxf_timing', 'last_total_ui_time'],\n\t\t\tendInteractiveTimestamp - startInteractiveTimestamp\n\t\t);\n\n\t\tconst url = window.location.href;\n\n\t\tmarkInteractive(\n\t\t\thost,\n\t\t\taction,\n\t\t\tmetrics.UXF_MACROPONENT_MEASURE_CLIENT_INTERACTION_END,\n\t\t\t{\n\t\t\t\tstartTime: startInteractiveTimestamp,\n\t\t\t\ttotalUiTime: endInteractiveTimestamp - startInteractiveTimestamp,\n\t\t\t\tname,\n\t\t\t\tdata,\n\t\t\t\ttotalUiTimeMeasurementTimedOut:\n\t\t\t\t\tgetTemplatesIdleTimedOut || timedOutAllComponentIdle,\n\t\t\t\turl,\n\t\t\t\t...screenData,\n\t\t\t\tuxrInteractionId: window.nowUiFramework.uxrInteractionId\n\t\t\t},\n\t\t\t'performance'\n\t\t);\n\n\t\t// Interaction got completed we will make the current interaction id of the screen to idle.\n\t\tdispatch(SCREEN_INTERACTION_ID_UPDATE_REQUESTED, {\n\t\t\tscreenKey: screenData.screenKey,\n\t\t\tcreateNew: false\n\t\t});\n\n\t\t// To faciliate unit testing.\n\t\treturn {\n\t\t\tstartInteractiveTimestamp,\n\t\t\tendInteractiveTimestamp\n\t\t};\n\t};\n};\n\n/**\n * Component Interactive Behavior\n *\n * This behavior is responsible for gathering the total UI time for a\n * direct load.\n *\n * Total UI time, is the time from when the first byte is received by the\n * browser up until when the screen macroponent is considered idle.\n *\n * To determine when the screen macroponent is idle, we use Seismic's whenComponentIsIdle utility function.\n *\n * Each time a macroponent's DOM_TREE_READY lifecyle method is handled, we check\n * if the macroponent is held within a screen, if this is true and a total UI\n * time has not been recorded, then we know this is the first screen the user is\n * seeing since landing on the page.\n *\n * MACROPONENT_TIME_TO_IDLE_MEASUREMENT_REQUESTED\n * This action is dispatched by the components/macroponents present on dom to calculate custom client interaction.\n * This handler will measure closest ancestors' time to ideal and will mark.\n *\n */\nexport const getComponentInteractiveBehavior = (\n\tallNodeIds,\n\tallNodeTagNames,\n\theroComponents = [],\n\tisControllerMacroponent\n) => {\n\treturn {\n\t\tname: 'componentInteractionBehavior',\n\t\tactionHandlers: {\n\t\t\tasync [COMPONENT_DOM_TREE_READY]({\n\t\t\t\thost,\n\t\t\t\taction,\n\t\t\t\tdispatch,\n\t\t\t\tproperties: {nowId: shellComponentId}\n\t\t\t}) {\n\t\t\t\tconst ancestor = getAncestorNode(host);\n\t\t\t\tlet isTopLevelScreen =\n\t\t\t\t\tancestor?.tagName === 'SN-CANVAS-SCREEN' &&\n\t\t\t\t\thost?.assignedSlot?.assignedNodes()[0] === host;\n\n\t\t\t\tif (isTopLevelScreen) {\n\t\t\t\t\tawait ScreenEngineTaskTracker.whenIdle();\n\t\t\t\t}\n\n\t\t\t\tawait whenDependencyComponentsAreIdle(\n\t\t\t\t\thost,\n\t\t\t\t\tshellComponentId,\n\t\t\t\t\tallNodeIds\n\t\t\t\t);\n\n\t\t\t\tmarkMacroponentIdle(host);\n\n\t\t\t\tlet screenData = isTopLevelScreen ? getScreenData(ancestor) : undefined;\n\n\t\t\t\tlet totalUiTimestamp, timedOutAllComponentIdle;\n\n\t\t\t\tconst parentTagName = host.parentNode?.tagName?.toLowerCase();\n\t\t\t\tif (\n\t\t\t\t\tparentTagName &&\n\t\t\t\t\tparentTagName.startsWith(SCREEN_ACTION_TRANSFORMER)\n\t\t\t\t) {\n\t\t\t\t\tconst allComponentIdleResult = await getAllComponentsIdleTimestamp();\n\t\t\t\t\ttotalUiTimestamp = allComponentIdleResult.timestamp;\n\t\t\t\t\ttimedOutAllComponentIdle = allComponentIdleResult.timedOut;\n\n\t\t\t\t\t// Signal when any macroponent that is part of a screen is idle like\n\t\t\t\t\t// top level mcp's or viewport mcp's\n\t\t\t\t\tdispatchInternalAction(\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tUXF_INTERNAL_SCREEN_MACROPONENT_IDLE\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t//We only care about macroponents that represent a screen\n\t\t\t\tif (isTopLevelScreen) {\n\t\t\t\t\tconst isDirectLoad = !hasDirectLoadMeasurementStarted;\n\t\t\t\t\t// This is to ensure that we only measure direct load total UI time for the first screen the user sees.\n\t\t\t\t\t// Other screens will be measured as navigation.\n\t\t\t\t\thasDirectLoadMeasurementStarted = true;\n\n\t\t\t\t\tconst isDocumentHidden = document.visibilityState === 'hidden';\n\t\t\t\t\tsignalScreenMacroponentIdleOnScreenLoad();\n\n\t\t\t\t\t/**\n\t\t\t\t\t * We are waiting for totalUITime for direct load to be measured.\n\t\t\t\t\t * If it ain't, Navigation total UI time will not be measured.\n\t\t\t\t\t */\n\t\t\t\t\tif (!isDirectLoad) {\n\t\t\t\t\t\t//total_ui_time for direct load has already been measured\n\t\t\t\t\t\tmarkNavTotalUiTime(\n\t\t\t\t\t\t\ttotalUiTimestamp,\n\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\taction,\n\t\t\t\t\t\t\tscreenData,\n\t\t\t\t\t\t\ttimedOutAllComponentIdle,\n\t\t\t\t\t\t\tisDocumentHidden\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsignalScreenMacroponentIdle();\n\t\t\t\t\t\tmarkDirectLoadTotalUiTime(\n\t\t\t\t\t\t\ttotalUiTimestamp,\n\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\taction,\n\t\t\t\t\t\t\tscreenData,\n\t\t\t\t\t\t\ttimedOutAllComponentIdle,\n\t\t\t\t\t\t\tisDocumentHidden\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\t// For Classic Pages Iframe will load the Page UI and not sn-canvas-screen\n\t\t\t\t\t// No need to update the interaction id here\n\t\t\t\t\t// Global interaction id will be updated in polaris app shell where IFRAME_LOAD_COMPLETE is marked\n\t\t\t\t\tif (screenData?.screenRoute !== 'classic') {\n\t\t\t\t\t\tdispatch(SCREEN_INTERACTION_ID_UPDATE_REQUESTED, {\n\t\t\t\t\t\t\tscreenKey: screenData.screenKey,\n\t\t\t\t\t\t\tcreateNew: false\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t// Stop propagation is used to prevent the action from being handled by parent macroponents.\n\t\t\t[MACROPONENT_TIME_TO_IDLE_MEASUREMENT_REQUESTED]: {\n\t\t\t\tstopPropagation: true,\n\t\t\t\teffect: measureMacroponentTimeToIdle(allNodeIds)\n\t\t\t},\n\t\t\t[UXF_INTERNAL_SCREEN_MACROPONENT_IDLE]: {\n\t\t\t\tstopPropagation: true\n\t\t\t},\n\t\t\t[UXF_COMPONENT_INTERACTIVE]: {\n\t\t\t\teffect: ({host, action}) => {\n\t\t\t\t\tconst componentId = get(action, ['meta', 'id']);\n\t\t\t\t\tconst sourceNodeId = get(action, [\n\t\t\t\t\t\t'meta',\n\t\t\t\t\t\t'appended',\n\t\t\t\t\t\tCOMPOSITION_ELEMENT_ID\n\t\t\t\t\t]);\n\n\t\t\t\t\t// This needs to be handled at the nearest macroponent and the propagation should be stopped\n\t\t\t\t\t// But if it is a controller macroponent it needs to be handled by UI macroponent above this controller.\n\t\t\t\t\tif (!isControllerMacroponent) action.stopPropagation();\n\n\t\t\t\t\tif (!(componentId && sourceNodeId && isTopLevelScreen(host))) return;\n\n\t\t\t\t\tconst component = getComponentById(componentId);\n\t\t\t\t\tif (!component) return;\n\n\t\t\t\t\tmarkInteractive(\n\t\t\t\t\t\thost,\n\t\t\t\t\t\taction,\n\t\t\t\t\t\tmetrics.UXF_COMPONENT_INTERACTIVE,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\thostId: host.nowId,\n\t\t\t\t\t\t\tnodeId: sourceNodeId,\n\t\t\t\t\t\t\ttagName: component.localName,\n\t\t\t\t\t\t\tisHero: heroComponents.includes(sourceNodeId)\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'performance'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n};\n\nexport const exportForTesting = {\n\tgetDependencyComponents,\n\tgetScreenData,\n\tmarkDirectLoadTotalUiTime\n};\n","import getInternalEffect, {\n\tdispatchInternalAction,\n\tgetModifiedMetaForInternalActionDispatch\n} from '../../getInternalEffect';\nimport {actionTypes as dbActionTypes} from '../../databrokers/behaviors/data-broker-runtime/constants';\nimport {default as console} from '../../../utils/getLogger';\nimport {\n\tCOMPOSITION_ELEMENT_ID,\n\tUXF_INTERNAL_DEPENDENCY_OP_REQUEST_RELAYED,\n\tUXF_INTERNAL_DEPENDENCY_OP_REQUESTED\n} from '../../constants';\nimport {getParentDispatchFn} from '../../registry/getDispatchFn';\n\nconst {UXF_DB_OP_TRIGGER_REQUESTED} = dbActionTypes;\n\nexport default (controllerNodes, externalDependencies) => {\n\tconst hasTargetableDependency = !!externalDependencies?.length;\n\tconst hasChildrenToMediate = !!controllerNodes?.length;\n\treturn {\n\t\tname: 'dependencyEventTargeting',\n\t\tactionHandlers: {\n\t\t\t[UXF_INTERNAL_DEPENDENCY_OP_REQUESTED]: getInternalEffect({\n\t\t\t\teffect(coeffects) {\n\t\t\t\t\tif (!hasTargetableDependency) return;\n\t\t\t\t\tconst {\n\t\t\t\t\t\taction: {payload, meta},\n\t\t\t\t\t\tdispatch: localDispatch,\n\t\t\t\t\t\thost\n\t\t\t\t\t} = coeffects;\n\t\t\t\t\tconst {\n\t\t\t\t\t\tappendToMeta: {[COMPOSITION_ELEMENT_ID]: dependencyMappingSourceId}\n\t\t\t\t\t} = host;\n\t\t\t\t\t// IMPORTANT: Avoid using anywhere else! See important note in this functions src file!\n\t\t\t\t\tconst dispatch = getParentDispatchFn(host, localDispatch);\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tUXF_INTERNAL_DEPENDENCY_OP_REQUEST_RELAYED,\n\t\t\t\t\t\tpayload,\n\t\t\t\t\t\tgetModifiedMetaForInternalActionDispatch({\n\t\t\t\t\t\t\t...meta,\n\t\t\t\t\t\t\tdependencyMappingSourceId\n\t\t\t\t\t\t})\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}),\n\t\t\t[UXF_INTERNAL_DEPENDENCY_OP_REQUEST_RELAYED]: getInternalEffect({\n\t\t\t\teffect(coeffects) {\n\t\t\t\t\tif (!hasChildrenToMediate) return;\n\t\t\t\t\tconst {\n\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\tpayload: {dependencyAlias, dependencyOp, wrappedPayload},\n\t\t\t\t\t\t\tmeta\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdispatch\n\t\t\t\t\t} = coeffects;\n\t\t\t\t\tconst {dependencyMappingSourceId} = meta;\n\n\t\t\t\t\tconst sourceController = controllerNodes.find(\n\t\t\t\t\t\t(node) => node.nodeId === dependencyMappingSourceId\n\t\t\t\t\t);\n\t\t\t\t\tif (!sourceController) {\n\t\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t\t`${UXF_INTERNAL_DEPENDENCY_OP_REQUEST_RELAYED} is an internal API and not available to component authors. Event mapping was ignored.`\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst targetController =\n\t\t\t\t\t\tsourceController.dependencies[dependencyAlias];\n\t\t\t\t\tif (\n\t\t\t\t\t\t!targetController ||\n\t\t\t\t\t\t!targetController.controllerElementId ||\n\t\t\t\t\t\ttargetController.controllerElementId === ''\n\t\t\t\t\t) {\n\t\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t\t`Could not find Controller Dependency Event Mapping Target for ${dependencyAlias}.${dependencyOp}. Event mapping was ignored.`\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tdispatchInternalAction(\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tUXF_DB_OP_TRIGGER_REQUESTED,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\toperation: {\n\t\t\t\t\t\t\t\toperationName: dependencyOp,\n\t\t\t\t\t\t\t\tdataElementId: targetController.controllerElementId\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\toperationPayload: wrappedPayload\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmeta\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}),\n\t\t\t[UXF_DB_OP_TRIGGER_REQUESTED]: getInternalEffect({\n\t\t\t\tstopPropagation: false, // This needs to be false (instead, we'll call action.stopPropataion to keep this same behavior here), so it won't override the behavior we want in getDataBrokerOperationHandlers.\n\t\t\t\teffect: ({action, dispatch}) => {\n\t\t\t\t\taction.stopPropagation();\n\n\t\t\t\t\tif (!hasTargetableDependency) return;\n\t\t\t\t\tconst {\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\toperation: {dataElementId, operationName},\n\t\t\t\t\t\t\toperationPayload\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmeta\n\t\t\t\t\t} = action;\n\n\t\t\t\t\tif (!externalDependencies.some((dep) => dep.name === dataElementId))\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\tdispatchInternalAction(\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tUXF_INTERNAL_DEPENDENCY_OP_REQUESTED,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdependencyAlias: dataElementId,\n\t\t\t\t\t\t\tdependencyOp: operationName,\n\t\t\t\t\t\t\twrappedPayload: operationPayload\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmeta\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t};\n};\n","import getResolvedBindingWithState from './getResolvedBindingWithState.js';\nimport {propertyTypes} from '../constants.js';\n\nconst {DATA_OUTPUT_BINDING} = propertyTypes;\n\nexport default function getScreenConditionResolver(\n\tcsdbNodeId,\n\tpdbNodeIds,\n\texternalControllerDependencies,\n\tcontrollerAliasMap\n) {\n\treturn (uxValue, seismicProperties) => {\n\t\tconst {\n\t\t\tbinding: {address = []}\n\t\t} = uxValue;\n\n\t\treturn getResolvedBindingWithState(\n\t\t\tcsdbNodeId,\n\t\t\tpdbNodeIds,\n\t\t\texternalControllerDependencies,\n\t\t\tcontrollerAliasMap,\n\t\t\tseismicProperties,\n\t\t\tundefined,\n\t\t\tDATA_OUTPUT_BINDING,\n\t\t\t{address}\n\t\t);\n\t};\n}\n","import {find} from '@devsnc/snowdash';\nimport {get} from '@devsnc/snowdash';\n\nimport {forOwn} from '@devsnc/snowdash';\n\nimport {forEach} from '@devsnc/snowdash';\n\nconst checkForDBLifecycleBindings = (descendants, dataElementId) => {\n\tlet foundDBLifecycleBinding = false;\n\n\tconst dbLifecycleBAs = [\n\t\t`${dataElementId},lifecycle,fetchInProgress`,\n\t\t`${dataElementId},lifecycle,lastFetchSucceeded`\n\t];\n\n\tconst findDBLifeCycleBinding = (value, bindingPath) => {\n\t\tconst ba = get(value, bindingPath, null);\n\t\tif (ba) {\n\t\t\treturn find(\n\t\t\t\tdbLifecycleBAs,\n\t\t\t\t(dbLifecycleBA) => dbLifecycleBA === ba.join(',')\n\t\t\t);\n\t\t}\n\t\treturn false;\n\t};\n\n\tforOwn(descendants, (nodes) => {\n\t\tif (foundDBLifecycleBinding) return;\n\t\tforEach(nodes, (node) => {\n\t\t\tif (foundDBLifecycleBinding) return;\n\t\t\tif (findDBLifeCycleBinding(node, 'isHidden.binding.address')) {\n\t\t\t\tfoundDBLifecycleBinding = true;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst propValues = node.propertyValues || {};\n\t\t\tObject.values(propValues).forEach((value) => {\n\t\t\t\tif (foundDBLifecycleBinding) return;\n\t\t\t\tif (findDBLifeCycleBinding(value, 'binding.address')) {\n\t\t\t\t\tfoundDBLifecycleBinding = true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t});\n\n\treturn foundDBLifecycleBinding;\n};\n\nexport default (descendants, dataElementId) =>\n\tcheckForDBLifecycleBindings(descendants, dataElementId);\n","import {default as console} from '../../../utils/getLogger';\nimport {INPUTS} from '../../constants';\n\nexport const CONTROLLER_SELF_OUTPUT_PROPS = Symbol(\n\t'_INTERNAL_CONTROLLER_SELF_OUTPUT_PROPS_'\n);\n\nexport function getControllerDataOutputBindingMap(uxControllerNodes) {\n\treturn uxControllerNodes.reduce((acc, uxControllerNode) => {\n\t\tif (uxControllerNode.dependencies) {\n\t\t\tconst initialObject = uxControllerNode.dependencies\n\t\t\t\t? {\n\t\t\t\t\t\t[CONTROLLER_SELF_OUTPUT_PROPS]: [\n\t\t\t\t\t\t\t...uxControllerNode.properties.map((prop) => prop.name)\n\t\t\t\t\t\t]\n\t\t\t\t  }\n\t\t\t\t: {};\n\n\t\t\tacc[uxControllerNode.nodeId] = Object.values(\n\t\t\t\tuxControllerNode.dependencies\n\t\t\t).reduce((acc, controllerDependencies) => {\n\t\t\t\tacc[controllerDependencies.name] = {\n\t\t\t\t\tnodeId: controllerDependencies.controllerElementId,\n\t\t\t\t\tdependencyProps: [...controllerDependencies.dependencyProps]\n\t\t\t\t};\n\t\t\t\treturn acc;\n\t\t\t}, initialObject);\n\t\t}\n\n\t\treturn acc;\n\t}, {});\n}\n\nexport function getDataBinding(address) {\n\treturn {\n\t\ttype: 'DATA_OUTPUT_BINDING',\n\t\tbinding: {\n\t\t\taddress\n\t\t}\n\t};\n}\n\nexport function getResolvedAddress(controllerDependencyMap, uxValue) {\n\tconst {\n\t\tbinding: {address = []}\n\t} = uxValue;\n\n\t// if controllerDependencyMap is undefined/empty, continue legacy single controller flow\n\tif (\n\t\t!controllerDependencyMap ||\n\t\tObject.keys(controllerDependencyMap).length == 0\n\t) {\n\t\treturn address;\n\t}\n\n\tconst [dependencyKey, ...newAddress] = address;\n\n\tif (\n\t\t!dependencyKey ||\n\t\tObject.keys(controllerDependencyMap).length === 0 ||\n\t\t!controllerDependencyMap[dependencyKey]\n\t) {\n\t\tconsole.error('Dependency key not found in controller map!');\n\t\treturn address;\n\t}\n\n\t// The first element of the array is the depKey which is not needed for subsequent data binding resolution\n\treturn newAddress;\n}\n\nexport function getDataElementIdFromControllerDependencyMap(\n\tuxValue,\n\tcontrollerDependencyMap\n) {\n\tconst {\n\t\tbinding: {address = []}\n\t} = uxValue;\n\tconst [dependencyKey] = address;\n\tconst dataElementId = controllerDependencyMap?.[dependencyKey];\n\n\tif (!dataElementId) {\n\t\tconsole.warn('No dataElementId found in controllerDependencyMap!!!');\n\t}\n\n\treturn dataElementId;\n}\n\nexport function getOverrideControllerAlias(\n\tcontrollerAliasMap,\n\tresolvedDataElementId\n) {\n\tlet alias = [];\n\tObject.keys(controllerAliasMap).forEach((ctrlOverrideElementId) => {\n\t\tif (\n\t\t\tcontrollerAliasMap[ctrlOverrideElementId]?.elementId ==\n\t\t\tresolvedDataElementId\n\t\t)\n\t\t\talias = controllerAliasMap[ctrlOverrideElementId].alias;\n\t});\n\treturn alias;\n}\n\nexport default function getControllerDataOutputBindingFactory(\n\tuxControllerNodes,\n\tcontrollerAliasMap\n) {\n\tconst outputBindingMapByElementId =\n\t\tgetControllerDataOutputBindingMap(uxControllerNodes);\n\treturn (dataElementId, uxValue, controllerDependencyMap) => {\n\t\tconst resolvedDataElementId =\n\t\t\tdataElementId ||\n\t\t\tgetDataElementIdFromControllerDependencyMap(\n\t\t\t\tuxValue,\n\t\t\t\tcontrollerDependencyMap\n\t\t\t);\n\t\tconst outputBindingMap =\n\t\t\toutputBindingMapByElementId?.[resolvedDataElementId];\n\n\t\tif (!outputBindingMap) return;\n\n\t\tconst address = getResolvedAddress(controllerDependencyMap, uxValue);\n\n\t\tif (outputBindingMap?.[address[0]]) {\n\t\t\tlet [dependencyName, propName, ...dotWalkPath] = address;\n\n\t\t\tif (propName === INPUTS) propName = dotWalkPath.shift();\n\n\t\t\tconst {dependencyProps = [], nodeId} =\n\t\t\t\toutputBindingMap?.[dependencyName] ?? {};\n\n\t\t\tconst dependencyHasProp = dependencyProps.indexOf(propName) !== -1;\n\n\t\t\tif (dependencyHasProp) {\n\t\t\t\treturn getDataBinding([nodeId, propName, ...dotWalkPath]);\n\t\t\t}\n\t\t} else {\n\t\t\tif (\n\t\t\t\taddress[0] === INPUTS ||\n\t\t\t\tgetOverrideControllerAlias(\n\t\t\t\t\tcontrollerAliasMap,\n\t\t\t\t\tresolvedDataElementId\n\t\t\t\t)?.indexOf(address[0]) >= 0\n\t\t\t)\n\t\t\t\taddress.shift();\n\n\t\t\tif (\n\t\t\t\toutputBindingMap[CONTROLLER_SELF_OUTPUT_PROPS].indexOf(address[0]) !==\n\t\t\t\t-1\n\t\t\t) {\n\t\t\t\treturn getDataBinding([resolvedDataElementId, ...address]);\n\t\t\t} else {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t};\n}\n","import getControllerDataOutputBindingFactory from '../controllerDependency/getControllerDataOutputBindingFactory.js';\nimport {parseCondition} from './evaluateScreenCondition.js';\n\nexport default function getSubroutesWithParsedClientConditions(\n\tsubroutes = [],\n\tuxControllerNodes,\n\tcontrollerAliasMap\n) {\n\tconst getControllerDataOutputBindingFn =\n\t\tgetControllerDataOutputBindingFactory(\n\t\t\tuxControllerNodes,\n\t\t\tcontrollerAliasMap\n\t\t);\n\treturn subroutes.map((subroute) => {\n\t\tconst {controllerDependencyMap, controllerElementId} = subroute;\n\n\t\t// this should be renamed to \"screens\" instead of \"macroponents\"\n\t\tsubroute.macroponents = subroute.macroponents.map((screen) => {\n\t\t\tconst {condition, additionalConditions, watchedProperties = {}} = screen;\n\t\t\tconst conditions = [condition, ...(additionalConditions || [])].filter(\n\t\t\t\tBoolean\n\t\t\t); // removes falsy elements e.g. null, \"\", NaN, undefined etc.\n\n\t\t\tscreen.parsedConditions = conditions.map((condition) =>\n\t\t\t\tparseCondition(\n\t\t\t\t\tcondition,\n\t\t\t\t\tcontrollerElementId,\n\t\t\t\t\tcontrollerDependencyMap,\n\t\t\t\t\tgetControllerDataOutputBindingFn\n\t\t\t\t)\n\t\t\t);\n\n\t\t\tif (\n\t\t\t\tObject.values(watchedProperties).some(\n\t\t\t\t\t(watchedPropVal) => watchedPropVal?.type !== 'DATA_OUTPUT_BINDING'\n\t\t\t\t)\n\t\t\t)\n\t\t\t\tscreen.watchedProperties = watchedProperties;\n\t\t\telse\n\t\t\t\tscreen.watchedProperties = Object.entries(watchedProperties).reduce(\n\t\t\t\t\t(acc, [key, value]) => {\n\t\t\t\t\t\tconst transformedUxValue = getControllerDataOutputBindingFn(\n\t\t\t\t\t\t\tcontrollerElementId,\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\tcontrollerDependencyMap\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif (transformedUxValue) acc[key] = transformedUxValue;\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t},\n\t\t\t\t\t{}\n\t\t\t\t);\n\n\t\t\treturn screen;\n\t\t});\n\t\treturn subroute;\n\t});\n}\n","import {t} from 'sn-translate';\nimport getElement from '../../../utils/dom';\nimport {getNamespacedComponentId} from '../../utils';\nimport {\n\tpublicActionHandlerNames,\n\tpublicDispatchedActionNames\n} from '../../constants';\nimport {dispatchInternalAction} from '../../getInternalEffect';\n\nconst {MACROPONENT_POPOVER_OPEN_REQUESTED} = publicActionHandlerNames;\nconst {\n\tMACROPONENT_POPOVER_ERROR_OCCURRED,\n\tMACROPONENT_POPOVER_ERROR_OCCURRED_DEPRECATED\n} = publicDispatchedActionNames;\n\nexport default () => {\n\treturn {\n\t\tname: 'popoverOpenRequested',\n\t\tactionHandlers: {\n\t\t\t[MACROPONENT_POPOVER_OPEN_REQUESTED]: {\n\t\t\t\teffect: ({\n\t\t\t\t\taction: {\n\t\t\t\t\t\ttype: name,\n\t\t\t\t\t\tpayload,\n\t\t\t\t\t\tmeta: {sourceAction}\n\t\t\t\t\t},\n\t\t\t\t\thost,\n\t\t\t\t\tdispatch\n\t\t\t\t}) => {\n\t\t\t\t\tconst handleError = (fieldName) => {\n\t\t\t\t\t\tdispatchInternalAction(\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tMACROPONENT_POPOVER_ERROR_OCCURRED,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tmessage: t('{0} element not found', fieldName),\n\t\t\t\t\t\t\t\tsourceAction: {name, payload}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Deprecated: Remove in future release\n\t\t\t\t\t\tdispatchInternalAction(\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tMACROPONENT_POPOVER_ERROR_OCCURRED_DEPRECATED,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tmessage: t('{0} element not found', fieldName),\n\t\t\t\t\t\t\t\tsourceAction: {name, payload}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t};\n\n\t\t\t\t\tconst {\n\t\t\t\t\t\tpopoverElementId,\n\t\t\t\t\t\tpopoverTargetElementId,\n\t\t\t\t\t\tpopoverTriggerElement: triggerEl\n\t\t\t\t\t} = payload;\n\t\t\t\t\tconst getTargetEl = () => {\n\t\t\t\t\t\tconst targetElementId = popoverTargetElementId\n\t\t\t\t\t\t\t? popoverTargetElementId\n\t\t\t\t\t\t\t: getNamespacedComponentId(\n\t\t\t\t\t\t\t\t\thost?.nowId,\n\t\t\t\t\t\t\t\t\tsourceAction?.elementId,\n\t\t\t\t\t\t\t\t\tsourceAction?.context?.item\n\t\t\t\t\t\t\t  );\n\t\t\t\t\t\treturn targetElementId && getElement(host, targetElementId, true);\n\t\t\t\t\t};\n\t\t\t\t\tconst popoverEl =\n\t\t\t\t\t\tpopoverElementId && getElement(host, popoverElementId);\n\t\t\t\t\tif (popoverEl) {\n\t\t\t\t\t\tconst targetEl = getTargetEl() || triggerEl;\n\t\t\t\t\t\tif (targetEl) {\n\t\t\t\t\t\t\tpopoverEl.positionTarget = targetEl;\n\t\t\t\t\t\t\tpopoverEl.opened = true;\n\t\t\t\t\t\t\tif (triggerEl) {\n\t\t\t\t\t\t\t\tconst handler = (event) => {\n\t\t\t\t\t\t\t\t\tpopoverEl.removeEventListener(\n\t\t\t\t\t\t\t\t\t\t'NOW_POPOVER#OPENED_SET',\n\t\t\t\t\t\t\t\t\t\thandler\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tconst {actionSource, value} = event?.detail?.payload || {};\n\t\t\t\t\t\t\t\t\tif (!value && actionSource === 'escape-press')\n\t\t\t\t\t\t\t\t\t\ttriggerEl.focus();\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tpopoverEl.addEventListener('NOW_POPOVER#OPENED_SET', handler);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else handleError('popoverTargetElementId');\n\t\t\t\t\t} else handleError('popoverElementId');\n\t\t\t\t},\n\t\t\t\tstopPropagation: true\n\t\t\t}\n\t\t}\n\t};\n};\n","import {isNil, isEmpty} from '@devsnc/snowdash';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {debounce} from '@devsnc/snowdash';\nimport {\n\tMACROPONENT_INTERNAL_RESPONSIVE_STATE,\n\tMAX_WIDTH,\n\tATTR_PARENT_TAG,\n\tATTR_LAYOUT_TAG,\n\tNOW_UXF_PAGE\n} from '../../constants';\nimport {\n\tgetMediaQuery,\n\tgetMediaQueryPath\n} from '../../registry/mediaQueryRegistry';\nconst MACROPONENT_RESIZED = 'MACROPONENT_RESIZED';\n\nexport default (breakPoints) => {\n\tconst eventHandlers = [];\n\tfor (const bp of breakPoints) {\n\t\tconst path = getMediaQueryPath(bp);\n\t\tconst target = getMediaQuery(path);\n\t\teventHandlers.push({\n\t\t\tevents: ['change'],\n\t\t\teffect({\n\t\t\t\tupdateState,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {event}\n\t\t\t\t}\n\t\t\t}) {\n\t\t\t\tupdateState(({state}) => {\n\t\t\t\t\tconst nextResponsiveState = {\n\t\t\t\t\t\t...state[MACROPONENT_INTERNAL_RESPONSIVE_STATE],\n\t\t\t\t\t\t...{[path]: event.matches}\n\t\t\t\t\t};\n\t\t\t\t\treturn {\n\t\t\t\t\t\t[MACROPONENT_INTERNAL_RESPONSIVE_STATE]: nextResponsiveState\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t},\n\t\t\ttarget\n\t\t});\n\t}\n\treturn {\n\t\tname: 'mediaQueryHandler',\n\t\teventHandlers\n\t};\n};\n\nexport const MacroponentBreakpointMap = new Map();\n\nlet macroponentRO;\n// Buffer for ResizeObserver entries\nconst entryBuffer = new Map();\n\nexport const applyResponsivenessOnResize = (\n\tbreakpoints,\n\tupdateState,\n\twidth\n) => {\n\tlet nextResponsiveState = {};\n\tbreakpoints.forEach((breakpoint) => {\n\t\tconst matched = breakpoint[MAX_WIDTH] >= width;\n\t\tconst key = getMediaQueryPath(breakpoint);\n\t\tnextResponsiveState[key] = matched;\n\t});\n\tupdateState((state) => {\n\t\tconst {state: seismicState} = state;\n\t\tconst {[MACROPONENT_INTERNAL_RESPONSIVE_STATE]: responsiveState} =\n\t\t\tseismicState;\n\t\tconst checked =\n\t\t\tisEmpty(responsiveState) ||\n\t\t\tObject.entries(nextResponsiveState).some(\n\t\t\t\t([key]) => responsiveState[key] !== nextResponsiveState[key]\n\t\t\t);\n\t\tif (checked) {\n\t\t\tnextResponsiveState = {\n\t\t\t\t...responsiveState,\n\t\t\t\t...nextResponsiveState\n\t\t\t};\n\t\t\treturn {\n\t\t\t\t[MACROPONENT_INTERNAL_RESPONSIVE_STATE]: nextResponsiveState\n\t\t\t};\n\t\t} else {\n\t\t\treturn {};\n\t\t}\n\t});\n};\nexport const resizeObserverCallBack = (entries) => {\n\tentries.forEach((entry) => {\n\t\tif (entry?.contentRect?.width === 0) return;\n\n\t\tlet target, detail;\n\t\tconst targetElem = entry?.target;\n\t\tconst targetHostElem = targetElem?.getRootNode?.()?.host;\n\n\t\tif (targetElem?.getAttribute(ATTR_PARENT_TAG) === NOW_UXF_PAGE) {\n\t\t\t// isPageMacroponent - use the div node inside the now-uxf-page as the target\n\t\t\ttarget = targetHostElem;\n\t\t\t// For inline mcp's in safari, targetHostElem?.offsetWidth would be zero. In such cases, we fallback to the now-uxf-page's width.\n\t\t\tconst width =\n\t\t\t\ttargetHostElem?.offsetWidth > 0\n\t\t\t\t\t? targetHostElem?.offsetWidth\n\t\t\t\t\t: targetElem?.parentElement.getBoundingClientRect()?.width;\n\t\t\tdetail = {\n\t\t\t\tbreakpoints: MacroponentBreakpointMap?.get(targetHostElem?.tagName),\n\t\t\t\twidth\n\t\t\t};\n\t\t} else if (targetElem?.hasAttribute(ATTR_LAYOUT_TAG)) {\n\t\t\t// isLayoutDiv - use host element as the target\n\t\t\ttarget = targetHostElem;\n\t\t\t// For inline mcp's in safari, targetHostElem.offsetWidth would be zero, so targetHostElem?.getBoundingClientRect()?.width is considered, which includes margin+padding+border of children and padding+border of mcp.\n\t\t\t// Usually, we don't find both of them to be 0. But just in case to handle any other edge case, we fallback to the width of div with layout-tag, which only includes padding+border of children.\n\t\t\tconst width =\n\t\t\t\ttargetHostElem?.offsetWidth > 0\n\t\t\t\t\t? targetHostElem.offsetWidth\n\t\t\t\t\t: targetHostElem?.getBoundingClientRect()?.width ||\n\t\t\t\t\t  targetElem?.getBoundingClientRect()?.width;\n\t\t\tdetail = {\n\t\t\t\tbreakpoints: MacroponentBreakpointMap.get(targetHostElem?.tagName),\n\t\t\t\twidth\n\t\t\t};\n\t\t} else {\n\t\t\t// isHostMcp - use the element itself as the target\n\t\t\ttarget = targetElem;\n\t\t\tdetail = {\n\t\t\t\tbreakpoints: MacroponentBreakpointMap.get(targetElem?.tagName),\n\t\t\t\twidth: entry?.contentRect?.width // Use contentRect width of the host, which includes margin, border, padding of children & excludes margin applied to the host itself.\n\t\t\t};\n\t\t}\n\t\ttarget?.dispatchEvent(\n\t\t\tnew CustomEvent(MACROPONENT_RESIZED, {\n\t\t\t\tdetail\n\t\t\t})\n\t\t);\n\t});\n};\n\nconst processEntryBuffer = (entryBuffer) => {\n\t// This is a debounced function, which would collect the entries to be processed in the entryBuffer.\n\t// Then, we clear the buffer, and process the entries.\n\ttry {\n\t\tif (!entryBuffer || entryBuffer.size === 0) return;\n\t\tconst entriesToProcess = Array.from(entryBuffer.values());\n\t\tentryBuffer.clear();\n\t\tresizeObserverCallBack(entriesToProcess);\n\t} catch (err) {\n\t\tconsole.error('Error processing ResizeObserver entry buffer:', err);\n\t\tentryBuffer && entryBuffer.clear();\n\t}\n};\n\nconst debouncedProcessEntryBuffer = debounce(processEntryBuffer, 60);\n\nconst makeProcessCallbackEntries = (entryBuffer, processEntryBuffer) => {\n\treturn function processCallbackEntries(entries) {\n\t\t// This method is called when Resize observer gets triggered on any element observed by it.\n\t\t// We aggregate the entries in a map and call a debounced function to process them.\n\t\t// While aggregating the entries, we do it by id or the dom node. This way we only consider the latest resize entry for an element.\n\t\tfor (const entry of entries) {\n\t\t\tconst target = entry?.target;\n\t\t\tif (!target) continue;\n\t\t\tentryBuffer.set(target, entry);\n\t\t}\n\t\tprocessEntryBuffer(entryBuffer);\n\t};\n};\n\n// Create RO handler that buffers entries and processes after debounce\nconst handleResizeObserverEntries = makeProcessCallbackEntries(\n\tentryBuffer,\n\tdebouncedProcessEntryBuffer\n);\n\nexport const getObserverForMacroponent = () => {\n\tif (!isNil(macroponentRO)) return macroponentRO;\n\tmacroponentRO = new ResizeObserver(handleResizeObserverEntries);\n\treturn macroponentRO;\n};\n\nconst getNodeToObserve = (host) => {\n\t// Using a union selector to find elements in a single DOM query:\n\t// - div[parent-tag='now-uxf-page']: Alternative selector for page macroponents\n\t// - [layout-tag]: Primary selector as all root divs have this attribute\n\tconst nodeToObserve = host?.shadowRoot?.querySelector(\n\t\t\"div[parent-tag='now-uxf-page'], [layout-tag]\"\n\t);\n\treturn nodeToObserve || host; // Fallback to the host if no suitable element exists\n};\n\nconst registerObserverForMacroponent = (breakpoints, node, tagName) => {\n\tif (breakpoints.length <= 0) return;\n\n\tgetObserverForMacroponent().observe(node);\n\tif (!MacroponentBreakpointMap.has(tagName)) {\n\t\tMacroponentBreakpointMap.set(tagName, breakpoints);\n\t}\n};\n\nconst deregisterObserverForMacroponent = (breakpoints, node) => {\n\tif (breakpoints.length <= 0) return;\n\n\tgetObserverForMacroponent().unobserve(node);\n};\n\nexport const getMacroponentResponsiveHandlers = (breakpoints, tagName) => {\n\treturn {\n\t\tname: 'macroponentResponsiveBehavior',\n\t\tactionHandlers: {\n\t\t\t[actionTypes.COMPONENT_DOM_READY]: {\n\t\t\t\tstopPropagation: true,\n\t\t\t\teffect({action}) {\n\t\t\t\t\tconst {payload = {}} = action;\n\t\t\t\t\tconst node = getNodeToObserve(payload?.host);\n\t\t\t\t\tregisterObserverForMacroponent(breakpoints, node, tagName);\n\t\t\t\t}\n\t\t\t},\n\t\t\t[actionTypes.COMPONENT_DISCONNECTED]: {\n\t\t\t\teffect({action}) {\n\t\t\t\t\tconst {payload = {}} = action;\n\t\t\t\t\tconst node = getNodeToObserve(payload?.host);\n\t\t\t\t\tderegisterObserverForMacroponent(breakpoints, node);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n};\n\nexport const getResizeEventHandler = () => {\n\tconst eventHandlers = [\n\t\t{\n\t\t\tevents: [MACROPONENT_RESIZED],\n\t\t\tstopPropagation: true,\n\t\t\teffect({\n\t\t\t\tupdateState,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tevent: {\n\t\t\t\t\t\t\tdetail: {breakpoints, width}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}) {\n\t\t\t\tapplyResponsivenessOnResize(breakpoints, updateState, width);\n\t\t\t}\n\t\t}\n\t];\n\treturn {\n\t\tname: 'resizeEventHandler',\n\t\teventHandlers\n\t};\n};\n\nexport const __export_for_testing__ =\n\tprocess.env.NODE_ENV === 'test'\n\t\t? {\n\t\t\t\tgetNodeToObserve,\n\t\t\t\tregisterObserverForMacroponent,\n\t\t\t\tderegisterObserverForMacroponent,\n\t\t\t\tprocessEntryBuffer,\n\t\t\t\tmakeProcessCallbackEntries\n\t\t  }\n\t\t: void 0;\n","import {\n\tnoop,\n\tisNil,\n\tisEmpty,\n\tset,\n\tpartial,\n\tget,\n\tisUndefined\n} from '@devsnc/snowdash';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {declarativeOperations} from '@servicenow/ui-core';\nimport {\n\tinternalActions,\n\tCOMPOSITION_ELEMENT_ID,\n\tCONTAINING_MACROPONENT_SYS_ID,\n\tPERSIST_STATE_CONSTANTS,\n\tREPEATER_ITEM,\n\tMETA_PROP_NAME_PERSISTED_STATE,\n\tIS_SOURCED_FROM_PERSISTED_STATE_CHANGE,\n\tMACROPONENT_PERSISTED_STATE_ON_EXTERNAL_CHANGE\n} from '../../constants';\nimport getInternalEffect, {\n\tdispatchInternalAction,\n\tinternalActionGateInterceptor\n} from '../../getInternalEffect';\nimport resolveForInitialStateValues from '../../UxValueResolver/resolveForInitialStateValues';\n\nconst {MACROPONENT_STATE_UPDATED} = internalActions;\nconst {COMPONENT_PROPERTY_CHANGED} = actionTypes;\n\nconst BEHAVIOR_NAME = 'statePersistence';\n\nconst {ACTION_PERSIST_STATE, SINK_URL, PERSIST_STATE_KEY} =\n\tPERSIST_STATE_CONSTANTS;\nconst supportedPersistenceSinks = [SINK_URL];\n\nexport default (statePersistenceConfigs, stateProperties) => {\n\tconst hasStatePersistenceConfig = !isEmpty(statePersistenceConfigs);\n\treturn {\n\t\tname: BEHAVIOR_NAME,\n\t\tactionHandlers: {\n\t\t\t[ACTION_PERSIST_STATE]: {\n\t\t\t\teffect: noop,\n\t\t\t\tinterceptors: [internalActionGateInterceptor, pathInterceptor]\n\t\t\t},\n\t\t\t...(hasStatePersistenceConfig\n\t\t\t\t? getStateUpdateHandlerForPersistState(statePersistenceConfigs)\n\t\t\t\t: {}),\n\t\t\t...(hasStatePersistenceConfig\n\t\t\t\t? getComponentPropertyUpdatedHandlerForPersistState(\n\t\t\t\t\t\tstatePersistenceConfigs,\n\t\t\t\t\t\tstateProperties\n\t\t\t\t  )\n\t\t\t\t: {})\n\t\t}\n\t};\n};\n\nconst getComponentPropertyUpdatedHandlerForPersistState = (\n\tstatePersistenceConfigs,\n\tstateProperties = []\n) => ({\n\t[COMPONENT_PROPERTY_CHANGED]: (coeffects) => {\n\t\t// nowUxfPersistedState changes when user clicks on back button to/from a url-state-persisted-page.\n\t\tconst {action, updateState, properties: seismicProperties, dispatch} = coeffects;\n\t\tconst {\n\t\t\tpayload: {\n\t\t\t\tname,\n\t\t\t\tvalue: persistedState,\n\t\t\t\tpreviousValue: previousPersistedState\n\t\t\t}\n\t\t} = action;\n\n\t\tif (\n\t\t\tname !== META_PROP_NAME_PERSISTED_STATE ||\n\t\t\tisEmpty(statePersistenceConfigs)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst resolver = partial(resolveForInitialStateValues, seismicProperties);\n\n\t\tconst declarativeStateUpdates = statePersistenceConfigs.reduce(\n\t\t\t(acc, persistConfig) => {\n\t\t\t\tconst {\n\t\t\t\t\tname,\n\t\t\t\t\tstateMapping,\n\t\t\t\t\tpersistTo,\n\t\t\t\t\tdelegateToComponent = false\n\t\t\t\t} = persistConfig;\n\t\t\t\tif (\n\t\t\t\t\t!isNil(previousPersistedState) &&\n\t\t\t\t\tisEmpty(get(previousPersistedState, [PERSIST_STATE_KEY, name])) &&\n\t\t\t\t\tisEmpty(get(persistedState, [PERSIST_STATE_KEY, name]))\n\t\t\t\t)\n\t\t\t\t\treturn acc; // this state was not persisted\n\n\t\t\t\tconst resolvedPersistTo = resolver(persistTo);\n\t\t\t\tif (isEmpty(resolvedPersistTo)) return acc;\n\n\t\t\t\tconst stateDefinition = stateProperties.find(\n\t\t\t\t\t(stateProperty) => stateProperty.name === stateMapping\n\t\t\t\t);\n\t\t\t\tif (isEmpty(stateDefinition)) return acc;\n\n\t\t\t\tconst persistedStateValue = get(persistedState, [\n\t\t\t\t\tPERSIST_STATE_KEY,\n\t\t\t\t\tname\n\t\t\t\t]);\n\t\t\t\tconst previousPersistedStateValue = get(previousPersistedState, [\n\t\t\t\t\tPERSIST_STATE_KEY,\n\t\t\t\t\tname\n\t\t\t\t]);\n\t\t\t\t// Going from url-with-persistedState to url-without-persistedState - resolve to initialValues\n\n\t\t\t\t// fixme: if the state's initialValue is bound to a prop,\n\t\t\t\t// That prop might have changed between when the mcp was initialized and now.\n\t\t\t\tconst value = !isUndefined(persistedStateValue)\n\t\t\t\t\t? persistedStateValue\n\t\t\t\t\t: resolver(stateDefinition.initialValue);\n\n\t\t\t\tconst newState = {\n\t\t\t\t\tpath: stateMapping,\n\t\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\t\tvalue\n\t\t\t\t};\n\n\t\t\t\tif (delegateToComponent) {\n\t\t\t\t\tacc['delegatedUpdates'].push({\n\t\t\t\t\t\t...newState,\n\t\t\t\t\t\tpreviousValue: previousPersistedStateValue\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tacc['immediateUpdates'].push(newState);\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t},\n\t\t\t{ immediateUpdates: [], delegatedUpdates: [] }\n\t\t);\n\t\tconst {immediateUpdates, delegatedUpdates} = declarativeStateUpdates;\n\t\tif (!isEmpty(immediateUpdates)) {\n\t\t\tconst updaterFn = () => immediateUpdates;\n\n\t\t\tupdaterFn[IS_SOURCED_FROM_PERSISTED_STATE_CHANGE] = true;\n\t\t\tupdaterFn.statePropertyNames = immediateUpdates.map(\n\t\t\t\t(update) => update.path\n\t\t\t);\n\t\t\tupdateState(updaterFn);\n\t\t}\n\n\t\tif (!isEmpty(delegatedUpdates)) {\n\t\t\tdispatchInternalAction(\n\t\t\t\tdispatch,\n\t\t\t\tMACROPONENT_PERSISTED_STATE_ON_EXTERNAL_CHANGE,\n\t\t\t\t{\n\t\t\t\t\tupdates: delegatedUpdates,\n\t\t\t\t\tpreviousEncodedPersistedState: previousPersistedState,\n\t\t\t\t\tencodedPersistedState: persistedState,\n\t\t\t\t\tflagForBatchUpdates: IS_SOURCED_FROM_PERSISTED_STATE_CHANGE\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n});\n\nconst getStateUpdateHandlerForPersistState = (statePersistenceConfigs) => ({\n\t[MACROPONENT_STATE_UPDATED]: getInternalEffect({\n\t\teffect(coeffects) {\n\t\t\tconst {\n\t\t\t\tdispatch,\n\t\t\t\taction: {\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tappended,\n\t\t\t\t\t\t[IS_SOURCED_FROM_PERSISTED_STATE_CHANGE]:\n\t\t\t\t\t\t\tisSourcedFromPersistedStateChange\n\t\t\t\t\t},\n\t\t\t\t\tpayload: {statePropertyNames = []}\n\t\t\t\t},\n\t\t\t\tstate: seismicState,\n\t\t\t\tproperties: seismicProperties\n\t\t\t} = coeffects;\n\n\t\t\tif (isSourcedFromPersistedStateChange) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// We are interested in updates that happen via api.setState.\n\t\t\t// For these, MACROPONENT_STATE_UPDATED is dispatched for ONE state property\n\t\t\tconst statePropertyName = statePropertyNames[0];\n\n\t\t\t// when more persistenceSinks are supported, same stateName might map to multiple sinks. use filter instead of find.\n\t\t\tconst persistenceConfig = statePersistenceConfigs.find(\n\t\t\t\t({stateMapping}) => stateMapping === statePropertyName\n\t\t\t);\n\t\t\tif (isNil(persistenceConfig)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst resolver = partial(resolveForInitialStateValues, seismicProperties);\n\t\t\tconst persistTo = resolver(persistenceConfig.persistTo);\n\t\t\tif (!supportedPersistenceSinks.includes(persistTo)) {\n\t\t\t\tconsole.warn(`Unsupported persistence sink: ${persistTo}`);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst pathToPrepend = getPathToPrepend(appended);\n\t\t\tconst path = isNil(pathToPrepend) ? [] : [pathToPrepend];\n\t\t\tpath.push(PERSIST_STATE_KEY, persistenceConfig.name);\n\t\t\tconst value = seismicState[statePropertyName];\n\t\t\tdispatchInternalAction(dispatch, ACTION_PERSIST_STATE, {\n\t\t\t\tpath,\n\t\t\t\tvalue,\n\t\t\t\tpersistTo\n\t\t\t});\n\t\t}\n\t})\n});\n\nfunction pathInterceptor(context) {\n\tconst {\n\t\tcoeffects: {\n\t\t\taction,\n\t\t\taction: {\n\t\t\t\tpayload: {path},\n\t\t\t\tmeta: {appended}\n\t\t\t},\n\t\t\thost\n\t\t}\n\t} = context;\n\n\tconst interceptorCompositionId = host.appendToMeta?.[COMPOSITION_ELEMENT_ID];\n\tconst interceptorContainingMcpId =\n\t\thost.appendToMeta?.[CONTAINING_MACROPONENT_SYS_ID];\n\n\tconst originCompositionId = appended?.[COMPOSITION_ELEMENT_ID];\n\tconst originContainingMcpId = appended?.[CONTAINING_MACROPONENT_SYS_ID];\n\tif (\n\t\t// this check should be sufficient for most cases. comparing originHost and coeffectHost is more complete.\n\t\toriginCompositionId === interceptorCompositionId &&\n\t\toriginContainingMcpId === interceptorContainingMcpId\n\t) {\n\t\t// PERSIST_STATE was dispatched by this mcp. But its handler/interceptor is called only at the end. DO NOTHING.\n\t\t// Seismic's action bubble up is... unusual:\n\t\t// \"action handler for the originating component is called after the action has finished propagating.\"\n\t\treturn context;\n\t}\n\n\tif (isNil(interceptorContainingMcpId)) {\n\t\t// This mcp is not contained in any other Mcp. DO NOTHING.\n\t\t// There is likely an SAT that holds this mcp. SAT will prepend screenId to the path.\n\t\treturn context;\n\t}\n\n\tconst pathToPrepend = getPathToPrepend(host.appendToMeta);\n\tif (pathToPrepend) set(action, 'payload.path', [pathToPrepend, ...path]);\n\n\treturn context;\n}\n\nconst getPathToPrepend = (appendedMeta) => {\n\tconst compositionId = appendedMeta?.[COMPOSITION_ELEMENT_ID];\n\tif (isNil(compositionId)) return;\n\n\tconst repeaterItem = appendedMeta[REPEATER_ITEM];\n\tlet compositionIdForPath = compositionId;\n\tif (!isNil(repeaterItem?.index)) {\n\t\t// in case this mcp is a repeater item\n\t\tcompositionIdForPath = `${compositionId}->${repeaterItem.index}`;\n\t}\n\treturn compositionIdForPath;\n};\n","import {UXF_INTERNAL_SCREEN_MACROPONENT_IDLE} from '../../constants';\nimport {\n\tcalcualteAndSaveLatestLayoutBounds,\n\tisLayoutBoundsAvailable\n} from './layoutBounds';\nimport getInternalEffect from '../../getInternalEffect';\nimport getUxfSysProp from '../../../utils/getUxfSysProp';\nimport {\n\tgetValueFromLazyLoadingRegistry,\n\tisLazyLoadingEnabledAtScreen\n} from './lazyLoadingUtils';\n\nconst SYS_PROP_LAZY_LOADING_RENDER_ON_MCP_IDLE = getUxfSysProp(\n\t'glide.uxf.lib.lazy_loading.render_on_macroponent_idle',\n\t'true'\n);\n\nconst BEHAVIOR_NAME = 'lazyLoading';\nexport default (mcpId) => {\n\treturn {\n\t\tname: BEHAVIOR_NAME,\n\t\tactionHandlers: {\n\t\t\t[UXF_INTERNAL_SCREEN_MACROPONENT_IDLE]: getInternalEffect({\n\t\t\t\teffect: async ({host}) => {\n\t\t\t\t\tconst parentTagName = host.parentNode?.tagName?.toLowerCase();\n\t\t\t\t\tconst screenId = parentTagName.split('screen-action-transformer-')[1];\n\t\t\t\t\tif (!screenId || !isLazyLoadingEnabledAtScreen(host)) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (!isLayoutBoundsAvailable(mcpId, screenId)) {\n\t\t\t\t\t\tawait calcualteAndSaveLatestLayoutBounds(host, mcpId, screenId);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (SYS_PROP_LAZY_LOADING_RENDER_ON_MCP_IDLE === 'true') {\n\t\t\t\t\t\t\tconst deferredNodes = getValueFromLazyLoadingRegistry(\n\t\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\t\t'deferredNodes'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif (deferredNodes) {\n\t\t\t\t\t\t\t\tdeferredNodes.forEach((elm) => {\n\t\t\t\t\t\t\t\t\telm.removeAttribute('defer');\n\t\t\t\t\t\t\t\t\tdeferredNodes.delete(elm);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t};\n};\n","import {getComponentById, getAncestorNode} from '@servicenow/ui-core';\nimport {getNamespacedComponentId} from '../../utils';\nimport {getTargetElement} from '../../../utils/dom';\nimport {generateChildElementId} from '../../layout/helpers';\n\nimport {\n\tpublicDispatchedActionNames,\n\tpublicActionHandlerNames,\n\tELEMENT_TYPES\n} from '../../constants';\nimport {dispatchInternalAction} from '../../getInternalEffect';\n\nconst {\n\tMACROPONENT_FOCUS_ELEMENT_REQUESTED,\n\tMACROPONENT_FOCUS_PARENT_REQUESTED\n} = publicActionHandlerNames;\nconst {MACROPONENT_FOCUSED, MACROPONENT_READY} = publicDispatchedActionNames;\n\nexport default function (elementTypeMapping = {}) {\n\treturn {\n\t\tname: 'focusBehavior',\n\t\tactionHandlers: {\n\t\t\t[MACROPONENT_READY]: {\n\t\t\t\teffect: ({dispatch, host}) => {\n\t\t\t\t\t// attaching focus method on the host | macroponent\n\t\t\t\t\thost.focus = () => {\n\t\t\t\t\t\tdispatchInternalAction(dispatch, MACROPONENT_FOCUSED);\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t[MACROPONENT_FOCUS_ELEMENT_REQUESTED]: {\n\t\t\t\tstopPropagation: true,\n\t\t\t\teffect: ({action, host}) => {\n\t\t\t\t\tlet {payload: {elementId, restParams = []} = {}} = action || {};\n\n\t\t\t\t\tif (elementId) {\n\t\t\t\t\t\tlet hostNowId = host.nowId;\n\t\t\t\t\t\tlet component;\n\t\t\t\t\t\tconst elementType = elementTypeMapping[elementId];\n\n\t\t\t\t\t\t// return back if element no more exits in the dom\n\t\t\t\t\t\tif (!elementType) return;\n\n\t\t\t\t\t\t// focus on specific element within a repeater component\n\t\t\t\t\t\tif (elementType === ELEMENT_TYPES.REPEATER && restParams.length) {\n\t\t\t\t\t\t\telementId += `_${restParams.join('_')}`;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// focus within or parent to child\n\t\t\t\t\t\tconst namespacedComponentId =\n\t\t\t\t\t\t\thostNowId && getNamespacedComponentId(hostNowId, elementId);\n\n\t\t\t\t\t\t// fetch the component using nds method\n\t\t\t\t\t\tcomponent =\n\t\t\t\t\t\t\tnamespacedComponentId && getComponentById(namespacedComponentId);\n\n\t\t\t\t\t\t// commenting this code for now. We need to check if we have no other element other than repeater for this case\n\t\t\t\t\t\t// fetching the element if its not now component (ex: repeater )\n\t\t\t\t\t\t// if (isEmpty(component)) {\n\t\t\t\t\t\t// \tconst childElementId = generateChildElementId(elementId); // generating elementId for dom elements\n\t\t\t\t\t\t// \tcomponent = getTargetElement(host, `#${childElementId}`);\n\t\t\t\t\t\t// }\n\n\t\t\t\t\t\t// default the focus on first element in case of repeater component if restParams are not defined\n\t\t\t\t\t\tif (elementType === ELEMENT_TYPES.REPEATER && !restParams?.length) {\n\t\t\t\t\t\t\tconst childElementId = generateChildElementId(elementId); // generating elementId for dom elements\n\t\t\t\t\t\t\tcomponent = getTargetElement(host, `#${childElementId}`); // this will only work for 3.0 layout in other cases we will get null\n\t\t\t\t\t\t\tcomponent = component?.firstChild; // setting default focus on first element inside repeater\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// checking for viewport component\n\t\t\t\t\t\tif (elementType === ELEMENT_TYPES.VIEWPORT) {\n\t\t\t\t\t\t\thostNowId =\n\t\t\t\t\t\t\t\tcomponent?.querySelector(\"[slot='viewport']\")?.firstChild\n\t\t\t\t\t\t\t\t\t?.nowId || hostNowId;\n\n\t\t\t\t\t\t\t// fetch the viewport hosted macroponent\n\t\t\t\t\t\t\tcomponent = hostNowId && getComponentById(hostNowId);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// calling focus on the retrieved component\n\t\t\t\t\t\tif (component) component.focus();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t[MACROPONENT_FOCUS_PARENT_REQUESTED]: {\n\t\t\t\tstopPropagation: true,\n\t\t\t\teffect: ({host}) => {\n\t\t\t\t\tconst parentComponent = getAncestorNode(host);\n\n\t\t\t\t\tif (parentComponent) parentComponent.focus();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n","import getInternalEffect from '../../getInternalEffect';\nimport {publicDispatchedActionNames} from '../../constants';\n\nconst {MACROPONENT_READY} = publicDispatchedActionNames;\nimport {\n\tmark,\n\tgetMetricTypes,\n\tdefineMetric,\n\tgetInteractionId\n} from '@servicenow/ui-metrics';\n\nconst EMBEDDABLE_MACROPONENT_LOADED = 'EMBEDDABLE_MACROPONENT_LOADED';\n\nconst metrics = Object.freeze({\n\t[EMBEDDABLE_MACROPONENT_LOADED]: 5\n});\n\nconst metricTypes = getMetricTypes();\nObject.entries(metrics).forEach(([metricType, level]) => {\n\tif (!metricTypes[metricType]) defineMetric(metricType, level);\n});\n\nconst BEHAVIOR_NAME = 'embeddableMacroponentBehavior';\n\nexport default function getEmbeddableMacroponentBehavior(tagName, sysId) {\n\treturn {\n\t\tname: BEHAVIOR_NAME,\n\t\tactionHandlers: {\n\t\t\t[MACROPONENT_READY]: getInternalEffect({\n\t\t\t\teffect: ({host, action}) => {\n\t\t\t\t\tmark(\n\t\t\t\t\t\thost,\n\t\t\t\t\t\tgetInteractionId(action.meta),\n\t\t\t\t\t\tEMBEDDABLE_MACROPONENT_LOADED,\n\t\t\t\t\t\t{tagName, sysId},\n\t\t\t\t\t\t'all'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t};\n}\n","import {createCustomElement} from '@servicenow/ui-core';\nimport getDataBrokerRuntimeBehavior from './databrokers/behaviors/data-broker-runtime';\nimport {getActionHandlers} from './getActionHandlers';\nimport getConsolidatedConfig from './getConsolidatedConfig';\nimport {get} from '@devsnc/snowdash';\nimport {isEmpty} from '@devsnc/snowdash';\nimport {compact} from '@devsnc/snowdash';\nimport {partial} from '@devsnc/snowdash';\nimport {getMacroponentView} from './getView';\nimport getProperties from './getProperties';\nimport {setMacroponentViewAdapter} from '../macroponentAdaptersApi/macroponentView';\nimport {\n\tgetMacroponentTagName,\n\tgetNodeId,\n\tgetNodeIds,\n\tgetMacroponentFeatures,\n\tmapSubRoutesParentCompositionElementId,\n\tgetPrefetchLimits,\n\tgetControllerDependencyProp,\n\tgetControllerNodeIdsWithGlideForm,\n\tgetShouldHaveWrappedEventDispatch,\n\tgetControllerAliasMapDetails,\n\tshouldIgnoreViewportDispatch\n} from './utils';\nimport getExecScriptBehavior from './behaviorFactories/execScript/getExecScriptBehavior';\nimport getSelectablePropResolverBehavior from './behaviorFactories/selectablePropResolver/getSelectablePropResolverBehavior';\nimport getOutputPropResolverBehavior from './behaviorFactories/outputPropResolver/getOutputPropResolverBehavior';\nimport getViewportRuntimeBehavior from './behaviorFactories/viewportRuntime/getViewportRuntimeBehavior';\nimport getTabsetContainerRenderBehavior from './behaviorFactories/tabsetContainerRuntime/getTabsetContainerRenderBehavior';\nimport getInitialState from './getInitialState';\nimport {getLifecyleEventsBehavior} from './behaviorFactories/getLifecyleEventsBehavior';\nimport {getComponentInteractiveBehavior} from './behaviorFactories/componentInteractive/getComponentInteractiveBehavior';\nimport getControllerDependencyEventTargetBehavior from './behaviorFactories/controllerDependency/getControllerDependencyEventTargetBehavior.js';\nimport getScreenConditionDataBindingResolver from './UxValueResolver/resolveForScreenConditionEvaluator.js';\nimport shouldTrackDBExecutionLifecycle from './databrokers/behaviors/data-broker-runtime/shouldTrackDBExecutionLifecycle';\nimport {\n\tMACROPONENT_FEATURES as FEATURES,\n\tMETA_PROP_NAME_APP_CONFIG_SYS_ID,\n\tMETA_PROP_NAME_PARENT_PAGE_COMPONENT_ID,\n\tMETA_PROP_NAME_PARENT_PAGE_MACROPONENT_SYS_ID,\n\tMETA_PROP_NAME_CONTROLLER_MAP,\n\tMETA_PROP_NAME_PARENT_CONTROLLER_DEPENDENCY_MAP,\n\tCONTROLLER,\n\tMETA_PROP_NAME_PERSISTED_STATE,\n\tMETA_PROP_NAME_HYDRATION_KEY\n} from './constants.js';\nimport {default as console} from '../utils/getLogger.js';\nimport {HANDLING_SCOPE, UXF_INTERNAL_HANDLING_SCOPE_SAFETY} from './constants';\nimport getSubroutesWithParsedClientConditions from './behaviorFactories/viewportRuntime/getSubroutesWithParsedClientConditions.js';\nimport parentDataStore from './getParentDataStore';\nimport getPopoverOpenRequestedBehavior from './behaviorFactories/popoverOpenRequested/getPopoverOpenRequestedBehavior';\nimport {isNil} from '@devsnc/snowdash';\nimport getUxfSysProp from '../utils/getUxfSysProp';\nimport {\n\tintentTranslatorBehavior,\n\tintentMediatorBehavior\n} from '@devsnc/library-intent-channel';\nimport getTranslatorBehavior, {\n\tshouldAddTranslatorBehavior\n} from './behaviorFactories/translatorBehavior/getTranslatorBehavior';\nimport getResponsivePropResolverBehavior, {\n\tgetMacroponentResponsiveHandlers,\n\tgetResizeEventHandler\n} from './behaviorFactories/responsiveProps/getResponsivePropResolverBehavior';\nimport {registerMediaQuery} from './registry/mediaQueryRegistry';\nimport {REFERENCE_MACROPONENT} from './layout/constants';\nimport getStatePersistenceBehavior from './behaviorFactories/statePersistence/getStatePersistenceBehavior';\nimport getLazyLoadingBehavior from './behaviorFactories/lazyLoading/lazyLoadingBehavior';\nimport {isLazyLoadingEnabled} from './behaviorFactories/lazyLoading/lazyLoadingUtils';\nimport getFocusBehavior from './behaviorFactories/focus/getFocusBehavior';\nimport {isEmbeddableMacroponent} from '../embeddables/getEmbeddables';\nimport getEmbeddableMacroponentBehavior from './behaviorFactories/embeddables/embeddableMacroponentBehavior';\nimport {dirtyStateSubscriberBehavior} from '@devsnc/uxf-shared-behaviors';\n\nconst SYS_PROP_CONTROLLER_RENDER_SKIP_ENABLED =\n\tgetUxfSysProp(\n\t\t'glide.uxf.lib.__temp__.controller_render_skip.enabled',\n\t\t'true'\n\t) === 'true';\n\n/**\n * @param input { import(\"../types/generatedTypescript/UxFrameworkTypes\").RTMacroponentShell }\n */\nexport const createMacroponent = (\n\tinput,\n\t_,\n\taddonMetadata = {},\n\ttagNameSuffix,\n\twithAppConfigAgnosticSubRoutes,\n\tprefetchDatabrokerPromises = {},\n\tserverProducedConsolidatedConfig,\n\tdispatchMcpUpdates = false,\n\ttabSetSlotMap = {}\n) => {\n\tconst {\n\t\tid,\n\t\trootNode,\n\t\tdescendants,\n\t\tdataPipelines,\n\t\tclientStateDataBrokerNode,\n\t\tproxyDataBrokerNodes: incomingProxyDataBrokerNodes = [],\n\t\tdispatchedEventNames,\n\t\thandledEventNames,\n\t\trootHandledEventNames: rootNodeHandledEventNames,\n\t\tdataShell: incomingDataShell,\n\t\tdisabledFeatures,\n\t\toutputPropMappings = {},\n\t\tuxControllerNodes: incomingUxControllerNodes = [],\n\t\texternalControllerDependencies = [],\n\t\tcontrollerAliasMapping: incomingControllerAliasMap = {},\n\t\tcustomTagName,\n\t\tbreakpoints = [],\n\t\tstatePersistenceConfig = [],\n\t\tstylesheet\n\t} = input;\n\n\tconst externalControllerDependencyNames = externalControllerDependencies.map(\n\t\t(dependency) => dependency.name\n\t);\n\n\tconst controllerAliasMapDetails = getControllerAliasMapDetails(\n\t\tincomingUxControllerNodes,\n\t\tincomingControllerAliasMap\n\t);\n\t// Here, we are massaging controller metadata to a form that our proxy data broker processor can handle\n\tconst uxControllerNodes = incomingUxControllerNodes\n\t\t.filter((node) => !incomingControllerAliasMap[node.nodeId])\n\t\t.map((node) => {\n\t\t\tnode.tagName = `macroponent-${node.definitionSysId}`;\n\t\t\tconst inputProperties = node.properties.map((prop) => {\n\t\t\t\treturn {\n\t\t\t\t\tname: prop.name,\n\t\t\t\t\tselectable: true\n\t\t\t\t};\n\t\t\t});\n\t\t\tconst outputProperties = Object.keys(node.outputPropMappings).map(\n\t\t\t\t(outputPropMapping) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tname: outputPropMapping,\n\t\t\t\t\t\tselectable: true\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t);\n\t\t\tnode.properties = [...inputProperties, ...outputProperties];\n\n\t\t\tnode.type = 'CONTROLLER';\n\t\t\t(node.dependencies ? Object.values(node.dependencies) : []).forEach(\n\t\t\t\t(dep) => {\n\t\t\t\t\t(dep.eventMappings || []).forEach((em) => {\n\t\t\t\t\t\tem.dataElementId = em.dataElementId || node.controllerElementId;\n\t\t\t\t\t\t// IMPORTANT: this is the only legal place t o set this -- helps prevent abuse from the metadata\n\t\t\t\t\t\tem[HANDLING_SCOPE] = {\n\t\t\t\t\t\t\t[UXF_INTERNAL_HANDLING_SCOPE_SAFETY]: node.nodeId\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t);\n\t\t\treturn node;\n\t\t});\n\n\tconst dataStore = parentDataStore.getDerivedData(id);\n\tconst proxyDataBrokerNodes = [\n\t\t...dataStore.proxyDataBrokerNodes,\n\t\t...incomingProxyDataBrokerNodes,\n\t\t...uxControllerNodes\n\t];\n\n\tconst dataShell = {\n\t\tdataElements: {\n\t\t\t...dataStore.dataShell.dataElements,\n\t\t\t...incomingDataShell.dataElements\n\t\t},\n\t\tdataBrokers: {\n\t\t\t...dataStore.dataShell.dataBrokers,\n\t\t\t...incomingDataShell.dataBrokers\n\t\t}\n\t};\n\n\tconst controllerAliasMap = {\n\t\t...controllerAliasMapDetails,\n\t\t...dataStore.controllerAliasMap\n\t};\n\n\tconst macroponentFeatures = getMacroponentFeatures(disabledFeatures);\n\n\tconst {offRowEventMappings} = addonMetadata;\n\tconst {\n\t\teventMappings: consolidatedEventMappings,\n\t\tselectableProperties = [],\n\t\thasViewportScreenNode,\n\t\telementTypeMapping\n\t} = getConsolidatedConfig(\n\t\tdescendants,\n\t\trootNode,\n\t\tclientStateDataBrokerNode,\n\t\t[\n\t\t\t...proxyDataBrokerNodes,\n\t\t\t...Object.values(controllerAliasMapDetails).map((alias) => alias.node)\n\t\t],\n\t\toffRowEventMappings,\n\t\tserverProducedConsolidatedConfig\n\t);\n\n\t// MCP has viewportScreen, map subroutes with viewport element Id to support compatibility\n\t// otherwise continue to use subroutes.\n\tconst subroutes = hasViewportScreenNode\n\t\t? mapSubRoutesParentCompositionElementId(addonMetadata.subroutes)\n\t\t: addonMetadata.subroutes;\n\n\tconst extensionPointSubroutes =\n\t\tsubroutes?.filter(({extensionPoint}) => !!extensionPoint) || [];\n\textensionPointSubroutes\n\t\t.reduce((acc, {macroponents}) => [...acc, ...macroponents], [])\n\t\t.forEach(({macroponentSysId}) => {\n\t\t\tparentDataStore.setDerivedData(macroponentSysId, {\n\t\t\t\tproxyDataBrokerNodes,\n\t\t\t\tdataShell,\n\t\t\t\tcontrollerAliasMap\n\t\t\t});\n\t\t});\n\n\tlet uxfViewportDispatchBlacklist = [];\n\t// eslint-disable-next-line no-unused-vars\n\tfor (const [key, value] of Object.entries(descendants)) {\n\t\tvalue.forEach((entry) => {\n\t\t\tif (shouldIgnoreViewportDispatch(entry)) {\n\t\t\t\tuxfViewportDispatchBlacklist.push(entry.nodeId);\n\t\t\t}\n\t\t});\n\t}\n\n\tconst properties = {\n\t\t...getProperties(rootNode),\n\t\t[META_PROP_NAME_PARENT_PAGE_COMPONENT_ID]: {},\n\t\t[META_PROP_NAME_PARENT_PAGE_MACROPONENT_SYS_ID]: {},\n\t\t[META_PROP_NAME_CONTROLLER_MAP]: {},\n\t\t[META_PROP_NAME_PARENT_CONTROLLER_DEPENDENCY_MAP]: {},\n\t\t[META_PROP_NAME_PERSISTED_STATE]: {}\n\t};\n\n\t// Controller dependency props for component types are handled via controller selectable props, dynamically injected during COMPONENT_DOM_READY\n\t// Disabling dependency props for mcp component with inherited controller\n\tif (macroponentFeatures[FEATURES.EXT_CONTROLLER_DEPENDENCY_PROPS]) {\n\t\texternalControllerDependencies.forEach((dep) => {\n\t\t\tdep.dependencyProps.forEach((dataProp) => {\n\t\t\t\tproperties[getControllerDependencyProp(dep.name, dataProp)] = {};\n\t\t\t});\n\t\t});\n\t}\n\n\tconst csdbNodeId = getNodeId(clientStateDataBrokerNode);\n\tconst pdbNodeIds = getNodeIds(proxyDataBrokerNodes);\n\tif (extensionPointSubroutes.length > 0) {\n\t\tparentDataStore.set(id, {\n\t\t\tdataShell: incomingDataShell,\n\t\t\tproxyDataBrokerNodes: incomingProxyDataBrokerNodes,\n\t\t\tpdbNodeIds\n\t\t});\n\t}\n\n\tconst allNodeIds = [\n\t\tcsdbNodeId,\n\t\t...pdbNodeIds,\n\t\trootNode?.nodeId,\n\t\t...Object.values(descendants)\n\t\t\t.flatMap((child) => child)\n\t\t\t.map((child) => child?.nodeId)\n\t].flatMap((nodeId) => (nodeId ? [nodeId] : []));\n\tconst allTagNames = [\n\t\tclientStateDataBrokerNode?.tagName,\n\t\t...proxyDataBrokerNodes.map((pdbNode) => pdbNode?.tagName),\n\t\trootNode?.tagName,\n\t\t...Object.values(descendants)\n\t\t\t.flatMap((child) => child)\n\t\t\t.map((child) => child?.tagName)\n\t].flatMap((tagName) => (tagName ? [tagName] : []));\n\n\tconst heroNodeIds = []\n\t\t.concat(...Object.values(descendants))\n\t\t.reduce((accumulator, descendant) => {\n\t\t\tif (descendant.isHero) accumulator.push(descendant.nodeId);\n\t\t\treturn accumulator;\n\t\t}, []);\n\n\tconst pageBreakPoints = breakpoints.filter(\n\t\t(breakpoint) => breakpoint.reference === 'page'\n\t);\n\tconst macroponentBreakPoints = breakpoints.filter(\n\t\t(breakpoint) => breakpoint.reference === REFERENCE_MACROPONENT\n\t);\n\tconst hasMacroponentBreakPoints = !isEmpty(macroponentBreakPoints);\n\n\tconst hasPageMediaQueries = !isEmpty(pageBreakPoints);\n\tif (hasPageMediaQueries) pageBreakPoints.forEach(registerMediaQuery);\n\n\tconst {stateProperties = []} = rootNode;\n\tconst {initialState, unresolvedInitialState} = getInitialState(\n\t\tstateProperties,\n\t\tstatePersistenceConfig,\n\t\tbreakpoints\n\t);\n\n\tif (isNil(id)) {\n\t\tconsole.error('Must provide an id to register macroponent custom elements');\n\t}\n\n\t// This function checks to see if this node has a controller with the glide form databroker by its sysId.\n\t// It is used to determine the dom outcome which is different when we have the controller.\n\t// This change will be reverted once sn-data-connected is refactored to not rely on the dom structure for event handling.\n\tconst controllerNodeIdsWithGlideForm = getControllerNodeIdsWithGlideForm(\n\t\tproxyDataBrokerNodes.filter((node) => !node.derived)\n\t);\n\n\tconst trackDBLifecycleFn = partial(\n\t\tshouldTrackDBExecutionLifecycle,\n\t\tdescendants\n\t);\n\n\tlet macroponentViewFn;\n\n\tconst macroponentViewAdapter = (rootNode, descendants) => {\n\t\tmacroponentViewFn = getMacroponentView(\n\t\t\t{\n\t\t\t\tid,\n\t\t\t\trootNode,\n\t\t\t\tdescendants,\n\t\t\t\tclientStateDataBrokerNode,\n\t\t\t\tproxyDataBrokerNodes,\n\t\t\t\texternalControllerDependencies: externalControllerDependencyNames,\n\t\t\t\tcontrollerAliasMap,\n\t\t\t\tdataShell\n\t\t\t},\n\t\t\tproperties,\n\t\t\tcontrollerNodeIdsWithGlideForm,\n\t\t\tdispatchMcpUpdates\n\t\t);\n\t};\n\n\tmacroponentViewAdapter(rootNode, descendants); // call to get initial view fn\n\tsetMacroponentViewAdapter(id, macroponentViewAdapter);\n\n\tconst view = (...args) => macroponentViewFn(...args);\n\n\t// Logic to determine node has a databroker node and no composition. Used to omit 'WRAPPED_EVENT_REDISPATCH' internal\n\t// action allowing propagation of that event without handling it in the controller or UI controller.\n\t// This change will be reverted once sn-data-connected is refactored to not rely on the dom structure for event handling.\n\tconst shouldHaveWrappedEventDispatch = getShouldHaveWrappedEventDispatch(\n\t\tdescendants,\n\t\tclientStateDataBrokerNode\n\t);\n\n\t/**!\n\t * checkControllerElementFn - checks if a data element is a controller\n\t */\n\tconst checkControllerElementFn = (dataElmId) => {\n\t\tconst type = get(dataShell, ['dataElements', dataElmId, 'type']);\n\t\treturn type === CONTROLLER;\n\t};\n\n\t/**!\n\t * checkInheritedDBNodeFn - checks if a data element is inherited from a parent macroponent\n\t */\n\tconst checkInheritedDBNodeFn = (dataElmId) => {\n\t\tconst node = get(dataStore, ['dataShell', 'dataElements', dataElmId]);\n\t\treturn node != null;\n\t};\n\n\tconst macroponentProperties = {\n\t\t...properties,\n\t\tuserSessionInfo: {\n\t\t\t//Setting default here as not all components are rendered with the template loader\n\t\t\tdefault: get(window, ['ux_globals', 'session'])\n\t\t},\n\t\tnowAppProps: {\n\t\t\tdefault: get(window, ['ux_globals', 'pageProperties'])\n\t\t},\n\t\tnowSysProps: {\n\t\t\tdefault: get(window, ['ux_globals', 'sysprops'])\n\t\t},\n\t\tisComponentInView: {\n\t\t\tdefault: true\n\t\t},\n\t\tnowMacroponentSysId: {\n\t\t\t...properties.nowMacroponentSysId,\n\t\t\tdefault: id\n\t\t},\n\t\t[META_PROP_NAME_APP_CONFIG_SYS_ID]: {},\n\t\t// These properties are used for supporting domain separation\n\t\tnowDsDomainId: {},\n\t\tnowDsDomainScope: {},\n\t\tnowDsRecordId: {},\n\t\tnowDsRecordTable: {},\n\t\t[META_PROP_NAME_HYDRATION_KEY]: {}\n\t};\n\n\tif (\n\t\tSYS_PROP_CONTROLLER_RENDER_SKIP_ENABLED &&\n\t\toutputPropMappings &&\n\t\t!isEmpty(outputPropMappings) &&\n\t\tclientStateDataBrokerNode &&\n\t\tclientStateDataBrokerNode.propertyValues\n\t) {\n\t\tconst clientStateDataBrokerProperties = [];\n\t\tfor (const key of Object.keys(clientStateDataBrokerNode.propertyValues)) {\n\t\t\tconst propValue = clientStateDataBrokerNode.propertyValues[key];\n\t\t\tswitch (propValue.type) {\n\t\t\t\tcase 'CONTEXT_BINDING':\n\t\t\t\t\tif (propValue.binding.category == 'props')\n\t\t\t\t\t\tclientStateDataBrokerProperties.push(...propValue.binding.address);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tfor (const key of Object.keys(macroponentProperties)) {\n\t\t\tif (clientStateDataBrokerProperties.find((prop) => key === prop)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tmacroponentProperties[key] = {\n\t\t\t\t...macroponentProperties[key],\n\t\t\t\tshouldRenderWhenSet: false\n\t\t\t};\n\t\t}\n\t}\n\n\tconst intentsBehaviors =\n\t\trootNode.tagName === 'now-uxf-page'\n\t\t\t? [\n\t\t\t\t\t{\n\t\t\t\t\t\tbehavior: intentTranslatorBehavior\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tbehavior: intentMediatorBehavior\n\t\t\t\t\t}\n\t\t\t  ]\n\t\t\t: [];\n\n\tif (\n\t\trootNode.tagName === 'now-uxf-page' &&\n\t\tshouldAddTranslatorBehavior(\n\t\t\tuxControllerNodes,\n\t\t\tclientStateDataBrokerNode,\n\t\t\tproperties\n\t\t)\n\t) {\n\t\tintentsBehaviors.push({\n\t\t\tbehavior: getTranslatorBehavior({\n\t\t\t\tuxControllerNodes,\n\t\t\t\tclientStateDataBrokerNode,\n\t\t\t\tnodeId: rootNode.nodeId,\n\t\t\t\tmacroponentSysId: id,\n\t\t\t\tdataShell: incomingDataShell\n\t\t\t})\n\t\t});\n\t}\n\n\tconst tagName = customTagName\n\t\t? customTagName\n\t\t: getMacroponentTagName(id, tagNameSuffix);\n\n\tconst dirtyStateBehaviors = [\n\t\t{\n\t\t\tbehavior: dirtyStateSubscriberBehavior,\n\t\t\toptions: {\n\t\t\t\tisDefaultMacroponentSubscriber: true,\n\t\t\t\tmacroponentSysId: id\n\t\t\t}\n\t\t}\n\t];\n\n\tcreateCustomElement(tagName, {\n\t\tview,\n\t\tstyles: stylesheet,\n\t\tbehaviors: compact([\n\t\t\t{\n\t\t\t\tbehavior: getSelectablePropResolverBehavior(\n\t\t\t\t\tselectableProperties,\n\t\t\t\t\tid,\n\t\t\t\t\tdispatchMcpUpdates\n\t\t\t\t)\n\t\t\t},\n\t\t\t{\n\t\t\t\tbehavior: getComponentInteractiveBehavior(\n\t\t\t\t\tallNodeIds,\n\t\t\t\t\tallTagNames,\n\t\t\t\t\theroNodeIds,\n\t\t\t\t\t!shouldHaveWrappedEventDispatch\n\t\t\t\t)\n\t\t\t},\n\t\t\t{\n\t\t\t\tbehavior: getFocusBehavior(elementTypeMapping)\n\t\t\t},\n\t\t\t...intentsBehaviors,\n\t\t\t...dirtyStateBehaviors,\n\t\t\thasPageMediaQueries && {\n\t\t\t\tbehavior: getResponsivePropResolverBehavior(pageBreakPoints)\n\t\t\t},\n\t\t\thasMacroponentBreakPoints && {\n\t\t\t\tbehavior: getMacroponentResponsiveHandlers(\n\t\t\t\t\tmacroponentBreakPoints,\n\t\t\t\t\ttagName?.toUpperCase()\n\t\t\t\t)\n\t\t\t},\n\t\t\thasMacroponentBreakPoints && {\n\t\t\t\tbehavior: getResizeEventHandler()\n\t\t\t},\n\t\t\t{\n\t\t\t\tbehavior: getStatePersistenceBehavior(\n\t\t\t\t\tstatePersistenceConfig,\n\t\t\t\t\tstateProperties\n\t\t\t\t)\n\t\t\t},\n\t\t\toutputPropMappings && !isEmpty(outputPropMappings)\n\t\t\t\t? {\n\t\t\t\t\t\tbehavior: getOutputPropResolverBehavior(\n\t\t\t\t\t\t\toutputPropMappings,\n\t\t\t\t\t\t\trootNode.properties,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\tclientStateDataBrokerNode,\n\t\t\t\t\t\t\t\tproxyDataBrokerNodes\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tproperties,\n\t\t\t\t\t\t\texternalControllerDependencyNames,\n\t\t\t\t\t\t\tcontrollerAliasMap,\n\t\t\t\t\t\t\tSYS_PROP_CONTROLLER_RENDER_SKIP_ENABLED,\n\t\t\t\t\t\t\tdispatchMcpUpdates\n\t\t\t\t\t\t)\n\t\t\t\t  }\n\t\t\t\t: null,\n\t\t\tmacroponentFeatures[FEATURES.EVENT_MAPPING]\n\t\t\t\t? {\n\t\t\t\t\t\tbehavior: getPopoverOpenRequestedBehavior()\n\t\t\t\t  }\n\t\t\t\t: null,\n\t\t\tmacroponentFeatures[FEATURES.EVENT_MAPPING] &&\n\t\t\t((uxControllerNodes && uxControllerNodes.length) ||\n\t\t\t\t(externalControllerDependencies &&\n\t\t\t\t\texternalControllerDependencies.length))\n\t\t\t\t? {\n\t\t\t\t\t\tbehavior: getControllerDependencyEventTargetBehavior(\n\t\t\t\t\t\t\tuxControllerNodes || [],\n\t\t\t\t\t\t\texternalControllerDependencies || []\n\t\t\t\t\t\t)\n\t\t\t\t  }\n\t\t\t\t: null,\n\t\t\tmacroponentFeatures[FEATURES.EVENT_MAPPING]\n\t\t\t\t? {\n\t\t\t\t\t\tbehavior: getExecScriptBehavior(\n\t\t\t\t\t\t\tcsdbNodeId,\n\t\t\t\t\t\t\tpdbNodeIds,\n\t\t\t\t\t\t\texternalControllerDependencyNames,\n\t\t\t\t\t\t\texternalControllerDependencies,\n\t\t\t\t\t\t\tcontrollerAliasMap,\n\t\t\t\t\t\t\tdataShell,\n\t\t\t\t\t\t\tproperties,\n\t\t\t\t\t\t\tdispatchedEventNames,\n\t\t\t\t\t\t\thandledEventNames,\n\t\t\t\t\t\t\trootNodeHandledEventNames,\n\t\t\t\t\t\t\tconsolidatedEventMappings,\n\t\t\t\t\t\t\tdispatchMcpUpdates\n\t\t\t\t\t\t)\n\t\t\t\t  }\n\t\t\t\t: null,\n\t\t\tmacroponentFeatures[FEATURES.EVENT_MAPPING]\n\t\t\t\t? {\n\t\t\t\t\t\tbehavior: getLifecyleEventsBehavior(\n\t\t\t\t\t\t\tunresolvedInitialState,\n\t\t\t\t\t\t\tstatePersistenceConfig,\n\t\t\t\t\t\t\tstateProperties,\n\t\t\t\t\t\t\tconsolidatedEventMappings,\n\t\t\t\t\t\t\tshouldHaveWrappedEventDispatch,\n\t\t\t\t\t\t\tcsdbNodeId,\n\t\t\t\t\t\t\tpdbNodeIds,\n\t\t\t\t\t\t\toutputPropMappings,\n\t\t\t\t\t\t\texternalControllerDependencies,\n\t\t\t\t\t\t\tproxyDataBrokerNodes,\n\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\trootNode,\n\t\t\t\t\t\t\tcontrollerAliasMap,\n\t\t\t\t\t\t\tdispatchMcpUpdates\n\t\t\t\t\t\t)\n\t\t\t\t  }\n\t\t\t\t: null,\n\t\t\tmacroponentFeatures[FEATURES.DATA_BROKERS]\n\t\t\t\t? {\n\t\t\t\t\t\tbehavior: getDataBrokerRuntimeBehavior(\n\t\t\t\t\t\t\tclientStateDataBrokerNode,\n\t\t\t\t\t\t\tdataShell,\n\t\t\t\t\t\t\tdataPipelines,\n\t\t\t\t\t\t\tcsdbNodeId,\n\t\t\t\t\t\t\tpdbNodeIds,\n\t\t\t\t\t\t\texternalControllerDependencyNames,\n\t\t\t\t\t\t\texternalControllerDependencies,\n\t\t\t\t\t\t\t!shouldHaveWrappedEventDispatch,\n\t\t\t\t\t\t\ttrackDBLifecycleFn,\n\t\t\t\t\t\t\tprefetchDatabrokerPromises,\n\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\tproxyDataBrokerNodes,\n\t\t\t\t\t\t\tcontrollerAliasMap,\n\t\t\t\t\t\t\tdispatchMcpUpdates\n\t\t\t\t\t\t)\n\t\t\t\t  }\n\t\t\t\t: null,\n\t\t\t// Viewport components assume that the closest ancestor macroponent node is the viewport host.\n\t\t\t// However, since data controllers require a macroponent node to work and data controllers with\n\t\t\t// glide form CSDB ends up wrapping the page macroponent's composition, we don't want the\n\t\t\t// modal-viewport-component in the composition to think that the data controller macroponent is its host.\n\t\t\tmacroponentFeatures[FEATURES.VIEWPORTS] && shouldHaveWrappedEventDispatch\n\t\t\t\t? {\n\t\t\t\t\t\tbehavior: getViewportRuntimeBehavior(\n\t\t\t\t\t\t\tgetSubroutesWithParsedClientConditions(\n\t\t\t\t\t\t\t\tsubroutes,\n\t\t\t\t\t\t\t\tuxControllerNodes,\n\t\t\t\t\t\t\t\tcontrollerAliasMap\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tproperties,\n\t\t\t\t\t\t\thasViewportScreenNode,\n\t\t\t\t\t\t\tgetPrefetchLimits(),\n\t\t\t\t\t\t\twithAppConfigAgnosticSubRoutes,\n\t\t\t\t\t\t\tuxfViewportDispatchBlacklist,\n\t\t\t\t\t\t\tgetScreenConditionDataBindingResolver(\n\t\t\t\t\t\t\t\tcsdbNodeId,\n\t\t\t\t\t\t\t\tpdbNodeIds,\n\t\t\t\t\t\t\t\texternalControllerDependencies,\n\t\t\t\t\t\t\t\tcontrollerAliasMap\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tdescendants,\n\t\t\t\t\t\t\tdataShell\n\t\t\t\t\t\t)\n\t\t\t\t  }\n\t\t\t\t: null,\n\t\t\tmacroponentFeatures[FEATURES.VIEWPORTS] && shouldHaveWrappedEventDispatch\n\t\t\t\t? {behavior: getTabsetContainerRenderBehavior(tabSetSlotMap)}\n\t\t\t\t: null,\n\t\t\tisLazyLoadingEnabled()\n\t\t\t\t? {\n\t\t\t\t\t\tbehavior: getLazyLoadingBehavior(id)\n\t\t\t\t  }\n\t\t\t\t: null,\n\t\t\tisEmbeddableMacroponent(tagName)\n\t\t\t\t? {\n\t\t\t\t\t\tbehavior: getEmbeddableMacroponentBehavior(tagName, id)\n\t\t\t\t  }\n\t\t\t\t: null\n\t\t]),\n\t\tproperties: macroponentProperties,\n\t\tinitialState,\n\t\tactionHandlers: {\n\t\t\t...(macroponentFeatures[FEATURES.EVENT_MAPPING]\n\t\t\t\t? getActionHandlers(\n\t\t\t\t\t\tconsolidatedEventMappings,\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t{},\n\t\t\t\t\t\tid,\n\t\t\t\t\t\thandledEventNames,\n\t\t\t\t\t\trootNodeHandledEventNames,\n\t\t\t\t\t\tproperties,\n\t\t\t\t\t\tcsdbNodeId,\n\t\t\t\t\t\tpdbNodeIds,\n\t\t\t\t\t\texternalControllerDependencyNames,\n\t\t\t\t\t\tcontrollerAliasMap,\n\t\t\t\t\t\tcheckControllerElementFn,\n\t\t\t\t\t\tcheckInheritedDBNodeFn\n\t\t\t\t  )\n\t\t\t\t: {})\n\t\t}\n\t});\n};\n\nexport default {\n\tregisterMacroponent: createMacroponent,\n\tgetMacroponentTagName\n};\n","import {reduce} from '@devsnc/snowdash';\n\nexport default ({properties = [], defaultValues = {}}) => {\n\treturn reduce(\n\t\tproperties,\n\t\t(acc, property) => {\n\t\t\tconst {name} = property;\n\t\t\tacc[name] = {selectable: true};\n\t\t\tif (Object.prototype.hasOwnProperty.call(defaultValues, name)) {\n\t\t\t\tacc[name].default = defaultValues[name];\n\t\t\t}\n\t\t\treturn acc;\n\t\t},\n\t\t{}\n\t);\n};\n","import {compact} from '@devsnc/snowdash';\nimport {partial} from '@devsnc/snowdash';\nimport {default as console} from '../../utils/getLogger.js';\nimport {getNamespacedComponentId, getKebabCasedDbOutputProp} from '../utils';\nimport {\n\tpropertyTypes,\n\tMACROPONENT_ROOT_COMPONENT_ID,\n\tCONTEXT_PROPS_IDENTIFIER,\n\tAPP_PROPS_IDENTIFIER,\n\tSYS_PROPS_IDENTIFIER,\n\tSESSION\n} from '../constants';\nimport {isNil} from '@devsnc/snowdash';\nimport {getSelectableProp} from './getSelectableProp';\n\nconst {CONTEXT_BINDING, ELEMENT_BINDING, DATA_OUTPUT_BINDING} = propertyTypes;\n\n// fixme: add validation layer for selectable prop\nexport default (\n\tshellComponentId,\n\tcsdbComponentId,\n\ttype,\n\t{address},\n\tcategory = CONTEXT_PROPS_IDENTIFIER\n) => {\n\tconst getComponentId = partial(getNamespacedComponentId, shellComponentId);\n\tconst [targetElementId, targetPropName, ...targetPath] = address;\n\tswitch (type) {\n\t\tcase CONTEXT_BINDING:\n\t\t\tswitch (category) {\n\t\t\t\tcase SESSION:\n\t\t\t\t\treturn getSelectableProp(shellComponentId, 'userSessionInfo', [\n\t\t\t\t\t\t'output',\n\t\t\t\t\t\t...address\n\t\t\t\t\t]);\n\t\t\t\tcase APP_PROPS_IDENTIFIER:\n\t\t\t\t\treturn getSelectableProp(shellComponentId, 'nowAppProps', address);\n\t\t\t\tcase SYS_PROPS_IDENTIFIER:\n\t\t\t\t\treturn getSelectableProp(shellComponentId, 'nowSysProps', address);\n\t\t\t\tcase CONTEXT_PROPS_IDENTIFIER: {\n\t\t\t\t\t//With the category field on context bindings, each field is essentially shifted\n\t\t\t\t\t//Redefining constants to make more sense.\n\t\t\t\t\tconst propName = targetElementId;\n\t\t\t\t\tconst propPath = compact([targetPropName, ...targetPath]);\n\n\t\t\t\t\treturn getSelectableProp(shellComponentId, propName, propPath);\n\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\treturn getSelectableProp(\n\t\t\t\t\t\tshellComponentId,\n\t\t\t\t\t\ttargetPropName,\n\t\t\t\t\t\ttargetPath\n\t\t\t\t\t);\n\t\t\t}\n\t\tcase ELEMENT_BINDING:\n\t\t\tif (targetElementId === MACROPONENT_ROOT_COMPONENT_ID)\n\t\t\t\treturn getSelectableProp(\n\t\t\t\t\tgetComponentId(MACROPONENT_ROOT_COMPONENT_ID),\n\t\t\t\t\ttargetPropName,\n\t\t\t\t\ttargetPath\n\t\t\t\t);\n\t\t\treturn getSelectableProp(\n\t\t\t\tgetComponentId(targetElementId),\n\t\t\t\ttargetPropName,\n\t\t\t\ttargetPath\n\t\t\t);\n\t\tcase DATA_OUTPUT_BINDING:\n\t\t\tif (\n\t\t\t\t!isNil(csdbComponentId) &&\n\t\t\t\tgetComponentId(targetElementId) === csdbComponentId\n\t\t\t)\n\t\t\t\treturn getSelectableProp(csdbComponentId, targetPropName, targetPath);\n\t\t\telse\n\t\t\t\treturn getSelectableProp(\n\t\t\t\t\tshellComponentId,\n\t\t\t\t\tgetKebabCasedDbOutputProp(targetElementId),\n\t\t\t\t\t[targetPropName, ...targetPath]\n\t\t\t\t);\n\t\tdefault:\n\t\t\tconsole.warn('Unsupported binding encountered');\n\t\t\treturn '';\n\t}\n};\n","import {createMacroponent} from './createMacroponent';\nimport {GenerateLayout} from './layout';\nimport _resolveUxValuesForView from './UxValueResolver/resolveForViewWithSelectableProps';\n\nexport const registerMacroponent = createMacroponent;\nexport const resolveUxValuesForView = _resolveUxValuesForView;\n\n// default export exists only for backwards compat. use named export above\nexport default {\n\tGenerateLayout,\n\tregisterMacroponent: createMacroponent,\n\tresolveUxValuesForView: _resolveUxValuesForView\n};\n","import {partial} from '@devsnc/snowdash';\nimport resolveWith from './resolveWith';\nimport getResolvedBindingWithSelectableProps from './getResolvedBindingWithSelectableProps';\nimport basicResolvers from './basicResolvers';\n\nexport default (shellComponentId, csdbComponentId, _, __, uxValue) => {\n\treturn resolveWith(\n\t\t{\n\t\t\t...basicResolvers,\n\t\t\tbinding: partial(\n\t\t\t\tgetResolvedBindingWithSelectableProps,\n\t\t\t\tshellComponentId,\n\t\t\t\tcsdbComponentId\n\t\t\t)\n\t\t},\n\t\tuxValue\n\t);\n};\n","export const components = new Map();\nexport const externals = new Map();\nexport const seenTags = new Set();\nexport const tags = new Map();\nexport const forceEvaledAssets = new Set();\n\nfunction setTag(tag, name) {\n\ttags.set(tag, name);\n}\n\nfunction getTag(name) {\n\treturn tags.get(name);\n}\n\nfunction hasTag(name) {\n\treturn tags.has(name);\n}\n\nfunction hasSeenTag(name) {\n\treturn seenTags.has(name);\n}\n\nfunction addSeenTag(name) {\n\treturn seenTags.add(name);\n}\n\nfunction getSeenTagSize() {\n\treturn seenTags.size;\n}\n\nfunction getSeenTagKeys() {\n\treturn seenTags.keys();\n}\n\nfunction hasExternal(name) {\n\treturn externals.has(name);\n}\n\nfunction setExternal(name, value) {\n\texternals.set(name, value);\n}\n\nfunction getExternal(name) {\n\treturn externals.get(name);\n}\n\nfunction getExternalSize() {\n\treturn externals.size;\n}\n\nfunction getExternalKeys() {\n\treturn [...externals.keys()];\n}\n\nfunction getExternalValues() {\n\treturn [...externals.values()];\n}\n\nfunction hasComponent(name) {\n\treturn components.has(name);\n}\n\nfunction setComponent(name, value) {\n\tcomponents.set(name, value);\n}\n\nfunction getComponent(name) {\n\treturn components.get(name);\n}\n\nfunction getComponentKeys() {\n\treturn [...components.keys()];\n}\n\nfunction getComponentValues() {\n\treturn [...components.values()];\n}\n\nfunction getComponentSize() {\n\treturn components.size;\n}\n\nfunction addIdleForceEvaledAsset(name) {\n\tforceEvaledAssets.add(name);\n}\n\nfunction hasIdleForceEvaledAsset(name) {\n\treturn forceEvaledAssets.has(name);\n}\n\nexport {\n\tsetTag,\n\tgetTag,\n\thasTag,\n\thasSeenTag,\n\taddSeenTag,\n\tgetSeenTagKeys,\n\tgetSeenTagSize,\n\thasExternal,\n\tsetExternal,\n\tgetExternal,\n\tgetExternalKeys,\n\tgetExternalValues,\n\tgetExternalSize,\n\thasComponent,\n\tsetComponent,\n\tgetComponent,\n\tgetComponentKeys,\n\tgetComponentValues,\n\tgetComponentSize,\n\taddIdleForceEvaledAsset,\n\thasIdleForceEvaledAsset\n};\n","import {\n\tgetComponentValues,\n\tgetExternalValues,\n\thasTag,\n\tgetSeenTagKeys,\n\tgetSeenTagSize,\n\tgetExternalSize,\n\tgetComponentSize\n} from './registries';\n\nexport function getLoadTimes(setValues) {\n\treturn setValues.filter((x) => x !== false);\n}\n\nexport function sum(arr) {\n\treturn arr.reduce((x, y) => x + y, 0);\n}\n\nexport default function getLoaderStats() {\n\tconst componentValues = getComponentValues();\n\tconst externalValues = getExternalValues();\n\tconst seenTagKeys = getSeenTagKeys();\n\n\tconst loadedComponents = getLoadTimes(componentValues).length;\n\tconst componentEvalTime = sum(getLoadTimes(componentValues));\n\tconst loadedExternals = getLoadTimes(externalValues).length;\n\tconst externalEvalTime = sum(getLoadTimes(externalValues));\n\n\tconst missingTags = [...seenTagKeys].filter((x) => !hasTag(x)).length;\n\n\tconst externalSize = getExternalSize();\n\tconst componentSize = getComponentSize();\n\n\treturn {\n\t\tcomponents: {\n\t\t\tregistered: componentSize,\n\t\t\tloaded: loadedComponents,\n\t\t\tevalTime: componentEvalTime\n\t\t},\n\t\texternals: {\n\t\t\tregistered: externalSize,\n\t\t\tloaded: loadedExternals,\n\t\t\tevalTime: externalEvalTime\n\t\t},\n\t\ttotal: {\n\t\t\tregistered: componentSize + externalSize,\n\t\t\tloaded: loadedComponents + loadedExternals,\n\t\t\tevalTime: componentEvalTime + externalEvalTime\n\t\t},\n\t\ttags: {\n\t\t\tseen: getSeenTagSize(),\n\t\t\tmissing: missingTags\n\t\t}\n\t};\n}\n","import {isObject} from '@devsnc/snowdash';\n\nexport function memoizeProvider(provider) {\n\tlet memoized = false;\n\tlet obj = null;\n\n\treturn () => {\n\t\tif (!memoized) {\n\t\t\tobj = provider();\n\t\t\tif (!isObject(obj)) obj = {};\n\t\t\tmemoized = true;\n\t\t}\n\t\treturn obj;\n\t};\n}\n\nexport default function getLazyProxy(provider) {\n\tconst target = memoizeProvider(provider);\n\n\treturn new Proxy(function () {}, {\n\t\tapply(_, thisArg, args) {\n\t\t\treturn Reflect.apply(target(), thisArg, args);\n\t\t},\n\n\t\tconstruct(_, args) {\n\t\t\treturn Reflect.construct(target(), args);\n\t\t},\n\n\t\tdefineProperty(_, prop, descriptor) {\n\t\t\treturn Reflect.defineProperty(target(), prop, descriptor);\n\t\t},\n\n\t\tdeleteProperty(_, prop) {\n\t\t\treturn Reflect.deleteProperty(target(), prop);\n\t\t},\n\n\t\tget(_, prop, receiver) {\n\t\t\treturn Reflect.get(target(), prop, receiver);\n\t\t},\n\n\t\tgetOwnPropertyDescriptor(_, prop) {\n\t\t\treturn Reflect.getOwnPropertyDescriptor(target(), prop);\n\t\t},\n\n\t\tgetPrototypeOf(_) {\n\t\t\treturn Reflect.getPrototypeOf(target());\n\t\t},\n\n\t\thas(_, prop) {\n\t\t\treturn Reflect.has(target(), prop);\n\t\t},\n\n\t\tisExtensible(_) {\n\t\t\treturn Reflect.isExtensible(target());\n\t\t},\n\n\t\townKeys(_) {\n\t\t\treturn Reflect.ownKeys(target());\n\t\t},\n\n\t\tpreventExtensions(_) {\n\t\t\treturn Reflect.preventExtensions(target());\n\t\t},\n\n\t\tset(_, prop, value) {\n\t\t\treturn Reflect.set(target(), prop, value);\n\t\t},\n\n\t\tsetPrototypeOf(_, proto) {\n\t\t\treturn Reflect.setPrototypeOf(target(), proto);\n\t\t}\n\t});\n}\n","const evalTimers = [];\n\nexport default class EvalTimer {\n\tconstructor() {\n\t\tthis.start = Date.now();\n\t\tthis.end = undefined;\n\t\tthis.sub = 0;\n\t\tevalTimers.push(this);\n\t}\n\n\taddSubTime(time) {\n\t\tthis.sub += time;\n\t}\n\n\ttotalTime() {\n\t\tif (this.end) {\n\t\t\treturn this.end - this.start;\n\t\t}\n\t\treturn Date.now() - this.start;\n\t}\n\n\tgetTime() {\n\t\treturn this.totalTime() - this.sub;\n\t}\n\n\tstop() {\n\t\tthis.end = Date.now();\n\t\tevalTimers.pop();\n\t\tevalTimers.forEach((timer) => timer.addSubTime(this.getTime()));\n\t}\n}\n","import EvalTimer from './evalTimer';\nimport {default as console} from '../../utils/getLogger';\n\nexport default function makeProvider(name, fn, registrySetFn) {\n\treturn () => {\n\t\tdelete window[name];\n\n\t\tconst timer = new EvalTimer();\n\n\t\ttry {\n\t\t\tfn();\n\t\t} catch (e) {\n\t\t\tconsole.error(`Received error when evaluating asset ${name}: ${e}`);\n\t\t}\n\n\t\ttimer.stop();\n\n\t\tregistrySetFn(name, timer.getTime());\n\n\t\treturn window[name];\n\t};\n}\n","export default function forceEval(name) {\n\tif (typeof window[name] === 'undefined') return; // the component asset hasn't loaded\n\treturn '__FORCE_EVAL__' in window[name];\n}\n","import {getComponent} from './registries';\n\nexport default function wasComponentEvaled(name) {\n\treturn getComponent(name) !== false;\n}\n","import {getExternal} from './registries';\n\nexport default function wasExternalEvaled(name) {\n\treturn getExternal(name) !== false;\n}\n","import {\n\tgetComponentKeys,\n\tgetExternalKeys,\n\taddIdleForceEvaledAsset,\n\thasIdleForceEvaledAsset\n} from './registries';\nimport wasComponentEvaled from './wasComponentEvaled';\nimport wasExternalEvaled from './wasExternalEvaled';\nimport forceEval from './forceEval';\n\nexport let isForceEvalAssetsOnIdle = false;\n\nexport function getAssetToEval(names, fn) {\n\treturn names.find((name) => !fn(name) && !hasIdleForceEvaledAsset(name));\n}\n\nexport function getRequestIdleCallbackShim(initialDelayInMs, delayInMs) {\n\tlet currentDelayInMs = initialDelayInMs;\n\treturn function requestIdleCallbackShim(cb) {\n\t\t/**\n\t\t * Commented out since this is not used by the current implementation.\n\t\t */\n\t\t// var start = Date.now();\n\t\treturn setTimeout(function () {\n\t\t\tcurrentDelayInMs = delayInMs;\n\t\t\tcb({\n\t\t\t\tdidTimeout: false\n\t\t\t\t// timeRemaining: function() {\n\t\t\t\t// \treturn Math.max(0, 50 - (Date.now() - start));\n\t\t\t\t// }\n\t\t\t});\n\t\t}, currentDelayInMs);\n\t};\n}\n\nexport function isIFramed() {\n\ttry {\n\t\treturn window.top !== window.self;\n\t} catch (e) {\n\t\treturn false;\n\t}\n}\n\nexport const runOnIdle =\n\twindow.requestIdleCallback && !isIFramed()\n\t\t? window.requestIdleCallback\n\t\t: getRequestIdleCallbackShim(2000, 1);\n\nexport default function startCallbackLoop() {\n\tif (!isForceEvalAssetsOnIdle) {\n\t\tisForceEvalAssetsOnIdle = true;\n\t\trunOnIdle(() => {\n\t\t\tforceEvalAssetsOnIdle();\n\t\t});\n\t}\n}\n\nexport function forceEvalAssetsOnIdle() {\n\tconst assetToEval =\n\t\tgetAssetToEval(getExternalKeys(), wasExternalEvaled) ||\n\t\tgetAssetToEval(getComponentKeys(), wasComponentEvaled);\n\n\tif (!assetToEval) {\n\t\tisForceEvalAssetsOnIdle = false;\n\t\treturn;\n\t}\n\n\taddIdleForceEvaledAsset(assetToEval);\n\tforceEval(assetToEval);\n\n\trunOnIdle(() => {\n\t\tforceEvalAssetsOnIdle();\n\t});\n}\n","import forceEval from './forceEval';\nimport {getTag, addSeenTag, hasSeenTag} from './registries';\n\nexport const loaderObserver = new MutationObserver((records) => {\n\trecords.forEach((record) => {\n\t\trecord.addedNodes.forEach(observeTree);\n\t});\n});\n\nexport function registerObserver(node) {\n\tloaderObserver.observe(node, {childList: true, subtree: true});\n}\n\nexport function observe(node) {\n\tconst tagName = node.tagName;\n\tif (!tagName || !tagName.includes('-')) return;\n\n\tconst name = tagName.toLowerCase();\n\tif (hasSeenTag(name)) return;\n\n\taddSeenTag(name);\n\n\tconst component = getTag(name);\n\tif (!component) return;\n\n\tPromise.resolve().then(function () {\n\t\tforceEval(component);\n\t});\n}\n\nexport function observeTree(node) {\n\tobserve(node);\n\tnode?.shadowRoot?.childNodes?.forEach(observeTree);\n\tif (node.childNodes) node.childNodes.forEach(observeTree);\n}\n\nexport function observeTopLevel(node) {\n\tobserveTree(node);\n\tregisterObserver(node);\n}\n\nexport const __TEST_USE_ONLY__ = {\n\tobserve,\n\tobserveTree\n};\n\nexport default function addNodeObservers() {\n\tconst nativeAttachShadow = HTMLElement.prototype.attachShadow;\n\n\tHTMLElement.prototype.attachShadow = function (option) {\n\t\tconst shadow = nativeAttachShadow.call(this, option);\n\t\tregisterObserver(shadow);\n\t\treturn shadow;\n\t};\n\n\tdocument.addEventListener(\n\t\t'DOMContentLoaded',\n\t\tfunction () {\n\t\t\tdocument\n\t\t\t\t.querySelectorAll('body > [component-id]')\n\t\t\t\t.forEach(observeTopLevel);\n\t\t},\n\t\tfalse\n\t);\n}\n","import snHttpInstance from '../snHttpInstance';\nimport {getPageContextId} from './utils';\nimport appendTranslations from './appendTranslations';\nimport appendSysProps from './appendSysProps';\nimport appendUserPrefs from './appendUserPrefs';\nimport appendPresources from './appendPresources';\nimport importESModules from './importESModules.js';\nimport {polyfilledPromiseDotAllSettled, getUxGlobal} from './utils';\nimport {isString} from '@devsnc/snowdash';\nimport {default as console} from '../utils/getLogger.js';\nimport {\n\tfetchClientCacheableContent,\n\tgetClientCacheableComponentDriverRequestUrl\n} from './getClientCacheableContent.js';\n\nconst CONSOLIDATION_ENABLED = getUxGlobal('useConsolidatedSource', true);\n\nconst componentCache = new Map();\nconst requestsInFlight = new Map();\n\n/**\n * Tag names without a \"-\" are invalid custom elements per spec.\n * (see https://html.spec.whatwg.org/#valid-custom-element-name)\n */\nfunction isCustomElementTagNameValid(componentTagName) {\n\treturn (\n\t\tisString(componentTagName) &&\n\t\tcomponentTagName.length > 0 &&\n\t\tcomponentTagName.indexOf('-') > -1\n\t);\n}\n\nfunction loadComponent(definition) {\n\tconst {\n\t\ttranslations,\n\t\tpresources,\n\t\tsysProps,\n\t\tuserPrefs,\n\t\tesmImports = [],\n\t\ttag,\n\t\tid\n\t} = definition;\n\n\tif (!customElements.get(tag)) {\n\t\tappendTranslations(translations);\n\t\tappendSysProps(sysProps);\n\t\tappendUserPrefs(userPrefs);\n\t\tappendPresources(presources);\n\t\timportESModules(esmImports);\n\t}\n\n\tcomponentCache.set(id, tag);\n\tcomponentCache.set(tag, tag);\n\treturn tag;\n}\n\nconst COMPONENT_DRIVER_CLIENT_CACHE_BUSTER = getUxGlobal(\n\t'componentDriverClientCacheBuster',\n\t''\n);\n\nasync function fetchAndLoadComponent(componentIdOrTagName) {\n\tconst requestUrl = getClientCacheableComponentDriverRequestUrl(\n\t\tcomponentIdOrTagName,\n\t\tCOMPONENT_DRIVER_CLIENT_CACHE_BUSTER\n\t);\n\tconst clientCacheableContent = await fetchClientCacheableContent(requestUrl);\n\tlet tag;\n\tclientCacheableContent.forEach((ele) => (tag = loadComponent(ele)));\n\treturn tag;\n}\n\nasync function fetchAndLoadComponents(unresolvedIds, unresolvedNames) {\n\tconst resolvedNames = [];\n\tif (unresolvedIds.length || unresolvedNames.length) {\n\t\tif (COMPONENT_DRIVER_CLIENT_CACHE_BUSTER.length > 0) {\n\t\t\tconst promises = [];\n\n\t\t\tfor (const unresolvedIdOrTagName of [\n\t\t\t\t...unresolvedIds,\n\t\t\t\t...unresolvedNames\n\t\t\t]) {\n\t\t\t\tconst fetchComponentPromise = fetchAndLoadComponent(\n\t\t\t\t\tunresolvedIdOrTagName\n\t\t\t\t).then((tagName) => resolvedNames.push(tagName));\n\t\t\t\tpromises.push(fetchComponentPromise);\n\t\t\t}\n\n\t\t\tawait polyfilledPromiseDotAllSettled(promises);\n\t\t} else {\n\t\t\tconst body = {\n\t\t\t\tpageContextId: getPageContextId()\n\t\t\t};\n\n\t\t\tif (unresolvedIds.length) body.componentSysIds = unresolvedIds;\n\t\t\tif (unresolvedNames.length) body.componentTagNames = unresolvedNames;\n\t\t\tconst snHttp = await snHttpInstance();\n\t\t\tconst {data: {result = []} = {}} = await snHttp.request(\n\t\t\t\t'/api/now/uxframework/component_drivers',\n\t\t\t\t'POST',\n\t\t\t\t{\n\t\t\t\t\tdata: body,\n\t\t\t\t\tbatch: false\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tfor (let i = 0; i < result.length; i++) {\n\t\t\t\tconst definition = result[i];\n\t\t\t\tconst tag = loadComponent(definition);\n\t\t\t\tresolvedNames.push(tag);\n\t\t\t}\n\t\t}\n\t}\n\treturn resolvedNames;\n}\n\nasync function getComponents(componentSysIds, componentTagNames) {\n\t// eslint-disable-next-line no-async-promise-executor\n\treturn new Promise(async (resolve) => {\n\t\tconst resolvedNames = [];\n\t\tconst unresolvedNames = [];\n\t\tconst unresolvedIds = [];\n\n\t\tcomponentTagNames.forEach((name) => {\n\t\t\tif (!isCustomElementTagNameValid(name)) {\n\t\t\t\tconsole.trace(`Invalid custom element load requested: ${name}`);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (componentCache.has(name) || requestsInFlight.has(name)) return;\n\t\t\telse unresolvedNames.push(name);\n\t\t});\n\n\t\tcomponentSysIds.forEach((id) => {\n\t\t\tif (componentCache.has(id) || requestsInFlight.has(id)) return;\n\t\t\telse unresolvedIds.push(id);\n\t\t});\n\n\t\tconst promise = fetchAndLoadComponents(unresolvedIds, unresolvedNames);\n\n\t\tunresolvedIds.forEach((id) => {\n\t\t\trequestsInFlight.set(id, promise);\n\t\t});\n\n\t\tunresolvedNames.forEach((name) => {\n\t\t\trequestsInFlight.set(name, promise);\n\t\t});\n\n\t\tawait polyfilledPromiseDotAllSettled(Array.from(requestsInFlight.values()));\n\n\t\tcomponentTagNames.forEach((name) => {\n\t\t\tif (componentCache.has(name))\n\t\t\t\tresolvedNames.push(componentCache.get(name));\n\t\t\telse resolvedNames.push(undefined); // to preserve order\n\t\t});\n\n\t\tcomponentSysIds.forEach((id) => {\n\t\t\tif (componentCache.has(id)) resolvedNames.push(componentCache.get(id));\n\t\t\telse resolvedNames.push(undefined); // to preserve order\n\t\t});\n\n\t\treturn resolve(resolvedNames);\n\t});\n}\n\nexport async function getComponentsBySysIds(\n\tcomponentSysIds = [],\n\t_consolidatedSource = CONSOLIDATION_ENABLED\n) {\n\treturn await getComponents(componentSysIds, []);\n}\n\nexport async function getComponentsByTagNames(\n\tcomponentTagNames = [],\n\t_consolidatedSource = CONSOLIDATION_ENABLED\n) {\n\treturn await getComponents([], componentTagNames);\n}\n","const screenMacroponentConfigOverrides = new Map();\n\n/**\n * loads the overridden macroponentConfiguration of screen and test values corresponding to inline macroponent\n * @param {string} macroponentSysId : sys_id of the macroponent for which macroponentConfiguration need to load\n * @param {object} macroponentConfiguration : object (key/uxValue pair) consisting overridden macroponentConfiguration and UIB test values for url params from inline_macroponent_driver API\n * @return void\n */\nexport const loadOverriddenMacroponentConfiguration = (\n\tmacroponentSysId,\n\tmacroponentConfiguration\n) => {\n\tscreenMacroponentConfigOverrides.set(\n\t\tmacroponentSysId,\n\t\tmacroponentConfiguration\n\t);\n};\n\nexport const getMacroponentConfigurationOverrides = (macroponentSysId) =>\n\tscreenMacroponentConfigOverrides.get(macroponentSysId) || [];\n","import resolveWith from './resolveWith';\nimport performanceLogger from '../../utils/puppeteerMetricLogger';\nimport {resolveContextBinding} from './getResolvedBindingWithState';\nimport {propertyTypes} from '../constants';\nimport getResolvedTranslationLiteral from './getResolvedTranslationLiteral';\n\nexport const UX_VALUE_RESOLUTION_MARK =\n\t'resolve_ux_value_macroponent_registration';\n\nexport const getInputPropsResolvers = (props) => {\n\tconst {TRANSLATION_LITERAL, CONTEXT_BINDING} = propertyTypes;\n\n\treturn {\n\t\t[TRANSLATION_LITERAL]: getResolvedTranslationLiteral,\n\t\t[CONTEXT_BINDING]: (...args) => {\n\t\t\tconst [, {address}, category] = args;\n\t\t\treturn resolveContextBinding(props, category, address);\n\t\t}\n\t};\n};\n\nexport const resolveForMacroponentRegistration = (\n\tknownProps,\n\tpropsToResolve = {}\n) => {\n\tperformanceLogger.mark(UX_VALUE_RESOLUTION_MARK);\n\n\tconst resolvers = getInputPropsResolvers(knownProps);\n\tconst resolvedProps = {...propsToResolve};\n\tconst allowedUxValueTypes = Object.keys(resolvers);\n\n\tfor (const propName in propsToResolve) {\n\t\tconst value = propsToResolve[propName];\n\t\tconst isUxValue =\n\t\t\tvalue?.type && allowedUxValueTypes.includes(value.type);\n\n\t\tif (isUxValue) resolvedProps[propName] = resolveWith(resolvers, value);\n\t}\n\n\tperformanceLogger.measure(\n\t\t'UX Value Resolution Macroponent Registration',\n\t\tUX_VALUE_RESOLUTION_MARK\n\t);\n\n\treturn resolvedProps;\n};\n","import getTemplates from './getTemplates';\nimport {find} from '@devsnc/snowdash';\nimport {isEmpty} from '@devsnc/snowdash';\nimport {\n\tgetUxGlobal,\n\tdeepFreeze,\n\tgetPagePropertiesForApp,\n\tEXPERIENCE_IDS_BY_APP_CONFIG_SYS_IDS\n} from './utils';\nimport {\n\tMETA_PROP_NAME_APP_CONFIG_SYS_ID,\n\tMETA_PROP_NAME_HYDRATION_KEY,\n\tMETA_PROP_NAME_PF_PROP_OVERRIDES\n} from '../factory/constants.js';\nimport {getMacroponentConfigurationOverrides} from '../screenContentOverridesApi/screenMacroponentConfiguration';\nimport getPreloadedAppliedPageFragments from './getPreloadedAppliedPageFragments';\nimport {getMostRecentClientCacheableContentFromCache} from './getClientCacheableContent';\nimport {appliedTemplateMarkerForScreen} from '../factory/behaviorFactories/componentInteractive/utils';\nimport {resolveForMacroponentRegistration} from '../factory/UxValueResolver/resolveForMacroponentRegistration';\n\nconst userSessionInfo = getUxGlobal('session', '{}');\nconst nowSysProps = getUxGlobal('sysprops', '{}');\n\nexport function getPageRegistryToAppConfigSysIdMap(experienceConfigs) {\n\treturn Object.values(experienceConfigs)\n\t\t.map(({experienceId, pageSettings, appConfigId}) => [\n\t\t\texperienceId,\n\t\t\tpageSettings?.sysId || appConfigId\n\t\t])\n\t\t.reduce((acc, [key, value]) => {\n\t\t\tacc[key] = value;\n\t\t\treturn acc;\n\t\t}, {});\n}\n\nconst APP_CONFIG_SYS_IDS_BY_PAGE_REGISTRY_SYS_IDS =\n\tgetPageRegistryToAppConfigSysIdMap(getUxGlobal('experienceConfigs', {}));\n\nexport const shouldDispatchPrefetch = (macroponentSysId, screenData) => {\n\tconst extPointScriptResults = window?.ux_globals?.extPointScriptResults;\n\t// If server provided extpointScriptResults object is consumed at this point,\n\t// let's kick off a prefetch request for scripted conditions\n\tif (\n\t\tscreenData &&\n\t\tmacroponentSysId === screenData?.macroponentSysId &&\n\t\t(isEmpty(extPointScriptResults) ||\n\t\t\t!extPointScriptResults[macroponentSysId] ||\n\t\t\textPointScriptResults[macroponentSysId].areExtPointScriptResultsConsumed) // not direct load\n\t) {\n\t\treturn true;\n\t}\n\treturn false;\n};\n\nexport const areAllWatchedPropertiesInputPropValues = (watchedProperties) => {\n\tif (isEmpty(watchedProperties)) {\n\t\treturn true;\n\t}\n\treturn Object.keys(watchedProperties).every((binding) => {\n\t\tconst bindingParts = binding.split('.');\n\t\treturn (\n\t\t\t(bindingParts?.length > 1 && bindingParts[1] === 'inputs') ||\n\t\t\t(bindingParts?.length > 2 && bindingParts[2] === 'inputs')\n\t\t);\n\t});\n};\n\nexport async function areScriptedSubroutesPresent(macroponentSysId) {\n\tconst [clientCacheableContent] =\n\t\t(await getMostRecentClientCacheableContentFromCache(macroponentSysId).catch(\n\t\t\t(error) => {\n\t\t\t\t// Handle promise exceptions\n\t\t\t\tconsole.error(`Failed to get client cacheable content: ${error}`);\n\t\t\t\treturn [null];\n\t\t\t}\n\t\t)) || [null];\n\treturn (\n\t\tclientCacheableContent?.subroutes?.some(\n\t\t\t(subroute) =>\n\t\t\t\tsubroute?.extensionPoint &&\n\t\t\t\tsubroute?.macroponents?.some(\n\t\t\t\t\t(macroponent) =>\n\t\t\t\t\t\tmacroponent.hasScriptedCondition &&\n\t\t\t\t\t\tareAllWatchedPropertiesInputPropValues(\n\t\t\t\t\t\t\tmacroponent?.watchedProperties\n\t\t\t\t\t\t)\n\t\t\t\t)\n\t\t) ?? false\n\t);\n}\n\nconst getPropValues = (pageRegistrySysId, inputProps) => {\n\t//fixme: ideally do this on the java side to freeze the ux global and not the session object here\n\tdeepFreeze(userSessionInfo);\n\n\tconst {[META_PROP_NAME_PF_PROP_OVERRIDES]: overrides, ...inputPropValues} =\n\t\tinputProps ?? {};\n\n\t// get page registryId from overridden appConfigId if there is one\n\tconst appConfigIdOverride = overrides?.[META_PROP_NAME_APP_CONFIG_SYS_ID];\n\n\tif (appConfigIdOverride)\n\t\tpageRegistrySysId =\n\t\t\tEXPERIENCE_IDS_BY_APP_CONFIG_SYS_IDS[appConfigIdOverride];\n\n\tconst appIdProp = pageRegistrySysId ? {appId: pageRegistrySysId} : null;\n\tconst pageProperties = getPagePropertiesForApp(pageRegistrySysId);\n\tconst propValues = {\n\t\tuserSessionInfo,\n\t\tnowAppProps: {...pageProperties, ...appIdProp},\n\t\tnowSysProps,\n\t\t[META_PROP_NAME_APP_CONFIG_SYS_ID]:\n\t\t\tappConfigIdOverride ||\n\t\t\tAPP_CONFIG_SYS_IDS_BY_PAGE_REGISTRY_SYS_IDS[pageRegistrySysId]\n\t};\n\n\tconst resolvedInputProps = resolveForMacroponentRegistration(\n\t\tpropValues,\n\t\tinputPropValues\n\t);\n\n\treturn {\n\t\t...resolvedInputProps,\n\t\t...propValues\n\t};\n};\n\n/**\n * get the prop values for the applied template, used in the context of server-side rendering,\n * where we don't need to call getAppliedTemplate() but still need to get the prop values for the page fragment\n */\nexport function getAppliedTemplatePropValues(\n\tmacroponentSysId,\n\tinputPropValues,\n\tpageRegistrySysId = ''\n) {\n\tconst inputPropValuesOverrides =\n\t\tgetMacroponentConfigurationOverrides(macroponentSysId);\n\tconst inputPropVals =\n\t\tObject.keys(inputPropValuesOverrides).length > 0\n\t\t\t? inputPropValuesOverrides\n\t\t\t: inputPropValues;\n\n\treturn getPropValues(pageRegistrySysId, inputPropVals);\n}\n\n/**\n * Gets the template macroponent\n * @param {string} macroponentSysId - The id of macroponent being requested\n * @param {Object} inputPropValues - The props key/val pair to be applied to fetched macroponent\n * @param {string} pageRegistrySysId - Optional, sys_ux_page_registry sys_id of the experience , this macroponent being requested belongs to\n * @returns the template macroponent\n */\nexport default async function getAppliedTemplate(\n\tmacroponentSysId,\n\tinputPropValues,\n\tpageRegistrySysId = '',\n\thydrateContext,\n\tuxrInteractionId\n) {\n\tif (window?.ux_globals) {\n\t\tconst prefetchSSRCMap = window.ux_globals.prefetchSSRCMap || {};\n\t\tif (hydrateContext?.hydrationKey) {\n\t\t\tprefetchSSRCMap[hydrateContext.hydrationKey] = {\n\t\t\t\t[macroponentSysId]: {hydrateContext}\n\t\t\t};\n\t\t}\n\t\twindow.ux_globals.prefetchSSRCMap = prefetchSSRCMap;\n\t}\n\n\t// Telemetry marker boundary for beforeLoad and afterLoad.\n\tif (hydrateContext?.screenKey) {\n\t\tconst currTime = window.performance.now();\n\t\tappliedTemplateMarkerForScreen.set(\n\t\t\t`${pageRegistrySysId}~${hydrateContext.screenKey}`,\n\t\t\tcurrTime\n\t\t);\n\t}\n\n\tconst preloadedAppliedPageFragment = find(\n\t\tawait getPreloadedAppliedPageFragments(),\n\t\t['pageFragmentSysId', macroponentSysId]\n\t);\n\tconst propValues = getAppliedTemplatePropValues(\n\t\tmacroponentSysId,\n\t\tinputPropValues,\n\t\tpageRegistrySysId\n\t);\n\n\tpropValues[META_PROP_NAME_HYDRATION_KEY] = hydrateContext?.hydrationKey;\n\n\tif (!isEmpty(preloadedAppliedPageFragment)) {\n\t\tconst {dependentPageFragmentSysIds} = preloadedAppliedPageFragment;\n\n\t\tconst fragmentGenerators = await getTemplates(\n\t\t\t[macroponentSysId, ...dependentPageFragmentSysIds],\n\t\t\tfalse,\n\t\t\tuxrInteractionId\n\t\t);\n\n\t\treturn fragmentGenerators[macroponentSysId]({\n\t\t\t...propValues\n\t\t});\n\t}\n\n\tconst fragmentGenerators = await getTemplates(\n\t\t[macroponentSysId],\n\t\tfalse,\n\t\tuxrInteractionId\n\t);\n\treturn fragmentGenerators[macroponentSysId](propValues);\n}\n\nexport function getAppliedTemplateForFragmentGenerator(\n\tFragmentGeneratorFN,\n\tinputPropValues,\n\tpageRegistrySysId = ''\n) {\n\tconst propValues = getPropValues(pageRegistrySysId, inputPropValues);\n\treturn FragmentGeneratorFN(propValues);\n}\n","import {isEmpty} from '@devsnc/snowdash';\nimport {has} from '@devsnc/snowdash';\n\n/**\n * decodeParam\n * @param value\n * @returns {string|*}\n */\nexport const decodeParam = (value) => {\n\ttry {\n\t\treturn decodeURIComponent(value);\n\t} catch (err) {\n\t\treturn value;\n\t}\n};\n\n/**\n * getLocationPathname\n *\n * @param location\n * @returns {string|*}\n */\nexport const getLocationPathname = (location) => {\n\treturn sanitizePath(location.pathname);\n};\n\n/**\n * Cleans up sloppy URLs on the request object, like /foo////bar/// to /foo/bar.\n *\n * @function sanitizePath\n * @param    {Object} path - a url path to clean up\n * @returns  {String} cleaned path\n */\nexport const sanitizePath = (path) => {\n\tlet cur,\n\t\tnext,\n\t\tstr = '';\n\n\tfor (let i = 0; i < path.length; i++) {\n\t\tcur = path.charAt(i);\n\n\t\tif (i !== path.length - 1) {\n\t\t\tnext = path.charAt(i + 1);\n\t\t}\n\n\t\tif (cur === '/' && (next === '/' || (next === '?' && i > 0))) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tstr += cur;\n\t}\n\n\treturn str;\n};\n\n/**\n * camelToDash\n * @param str\n * @returns {*}\n */\nexport const camelToDash = (str) =>\n\tstr.replace(/([A-Z])/g, ($1) => '-' + $1.toLowerCase());\n\n/**\n * pathnameContainsSub\n *\n * @param path\n * @param subToken\n * @returns {boolean}\n */\nexport const pathnameContainsSub = (path, subToken = '/sub/') => {\n\treturn path.indexOf(subToken) !== -1;\n};\n\n/**\n * paramsExistsInPathname\n * @param pDashed\n * @param path\n * @returns {boolean}\n */\nexport const paramsExistsInPathname = (pDashed, path) => {\n\treturn paramOrderInPathname(pDashed, path) !== -1;\n};\n\nconst paramOrderInPathname = (pDashed, path) => {\n\tconst paramsStart = path.indexOf('/params/') - 1;\n\tconst pathParams = path.slice(paramsStart);\n\treturn pathParams.indexOf(`/${pDashed}/`);\n};\n\n/**\n * atLeastOneParamsExistsInPathname\n * @param params\n * @param path\n * @returns {boolean}\n */\nexport const atLeastOneParamsExistsInPathname = (params, path) => {\n\tlet flag = false;\n\n\tfor (let i = 0; i < params.length; i++) {\n\t\tconst pDashed = camelToDash(params[i]);\n\t\tflag = paramsExistsInPathname(pDashed, path);\n\n\t\tif (flag) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn flag;\n};\n\n/**\n * getUXAppRouteConfig\n *\n * @param window\n * @returns {{\n * \tuxAppRouteConfig: ({\n * \t\troutes: {\n * \t\t  home: [{\n * \t\t\tmacroponentSysId: string,\n * \t\t\tmacroponentConfiguration: {},\n * \t\t\tfields: [string],\n * \t\t\toptionalParameters: [string]\n * \t\t  }],\n * \t\t  record: [{\n * \t\t\tmacroponentSysId: string,\n * \t\t\tmacroponentConfiguration: {},\n * \t\t\tfields: [string, string],\n * \t\t\toptionalParameters: [string, string, string]\n * \t\t  }],\n * \t\t  list: [{\n * \t\t\tmacroponentSysId: string,\n * \t\t\tmacroponentConfiguration: {},\n * \t\t\tfields: [string, string],\n * \t\t\toptionalParameters: [string, string, string]\n * \t\t  }]\n * \t\t},\n * \t\tauthRoutes: {},\n * \t\terrorPages: {},\n * \t\tprefetchLimits: {routes: 0, screens: 0},\n *\t\tqueryString: false,\n * \t\tsiteName: string,\n * \t\tlandingPath: string\n * \t}|string)\n * }}\n */\nexport const getUXAppRouteConfig = (window) => {\n\treturn {uxAppRouteConfig: window.ux_globals.routeConfiguration};\n};\n\n/**\n * isCustom404Available\n *\n * @param authRoutes\n * @param routes\n * @returns {boolean}\n */\nexport const isCustom404Available = (authRoutes, routes) => {\n\treturn (\n\t\t!isEmpty(authRoutes) &&\n\t\thas(authRoutes, 'custom404') &&\n\t\thas(routes, authRoutes['custom404'])\n\t);\n};\n\n/**\n * getCustom404Route\n *\n * @param authRoutes\n * @param routes\n * @returns {{ route?: string, fields?: Array<string>, params?: Array<string> }}\n */\nexport const getCustom404Route = (authRoutes, routes) => {\n\tlet custom404Route = {};\n\tif (has(authRoutes, 'custom404') && has(routes, authRoutes['custom404'])) {\n\t\tconst {fields, optionalParameters: params} = routes[\n\t\t\tauthRoutes['custom404']\n\t\t][0];\n\t\tcustom404Route = {\n\t\t\t...custom404Route,\n\t\t\troute: authRoutes['custom404'],\n\t\t\tfields,\n\t\t\tparams\n\t\t};\n\t}\n\n\treturn custom404Route;\n};\n\n/**\n * getSiteName\n * @param uxAppConfig\n * @returns {string}\n */\nexport const getSiteName = (uxAppConfig) => {\n\tconst {siteName = 'now/cwf/agent'} = uxAppConfig;\n\treturn siteName;\n};\n\n/**\n * pathnameHasSub\n *\n * @param pathname\n * @returns {boolean}\n */\nexport const pathnameHasSub = (pathname) => !!pathname.match('/sub/');\n\n/**\n * capitalizeFirstLetter\n *\n * @param string\n * @returns {string}\n */\nexport const capitalizeFirstLetter = (string) =>\n\tstring.charAt(0).toUpperCase() + string.slice(1);\n\n/**\n * buildNamedFields\n *\n * @param fields\n * @param forParent\n * @returns {string}\n */\nconst buildNamedFields = (fields, forParent = false) => {\n\tlet path = '';\n\n\tif (!isEmpty(fields)) {\n\t\tfields.map((f) => {\n\t\t\tif (forParent) {\n\t\t\t\tpath = path.concat(`/:parent${capitalizeFirstLetter(f)}`);\n\t\t\t} else {\n\t\t\t\tpath = path.concat(`/:${f}`);\n\t\t\t}\n\t\t});\n\t}\n\treturn path;\n};\n\n/**\n * buildNamedParams\n *\n * @param params\n * @param pathname\n * @param forParent\n * @returns {string}\n */\nconst buildNamedParams = (params, pathname, forParent = false) => {\n\tlet path = '';\n\n\tif (!isEmpty(params)) {\n\t\tif (atLeastOneParamsExistsInPathname(params, pathname)) {\n\t\t\tpath = path.concat(`/params`);\n\n\t\t\tparams\n\t\t\t\t.sort(\n\t\t\t\t\t(a, b) =>\n\t\t\t\t\t\tparamOrderInPathname(camelToDash(a), pathname) -\n\t\t\t\t\t\tparamOrderInPathname(camelToDash(b), pathname)\n\t\t\t\t)\n\t\t\t\t.map((p) => {\n\t\t\t\t\tconst pDashed = camelToDash(p);\n\n\t\t\t\t\tif (paramsExistsInPathname(pDashed, pathname)) {\n\t\t\t\t\t\tif (forParent) {\n\t\t\t\t\t\t\tpath = path.concat(\n\t\t\t\t\t\t\t\t`/${pDashed}/:parent${capitalizeFirstLetter(p)}`\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tpath = path.concat(`/${pDashed}/:${p}`);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t}\n\t}\n\treturn path;\n};\n\n/**\n * appendFieldsAndParams\n *\n * @param fields\n * @param params\n * @param pathname\n * @param forParent\n * @returns {string}\n */\nconst appendFieldsAndParams = (fields, params, pathname, forParent = false) => {\n\tlet path = '';\n\n\tif (!isEmpty(fields)) {\n\t\tpath = path.concat(buildNamedFields(fields, forParent));\n\t}\n\tif (!isEmpty(params)) {\n\t\tpath = path.concat(buildNamedParams(params, pathname, forParent));\n\t}\n\treturn path;\n};\n\n/**\n * generateRoutePathForSubURL\n *\n * @param siteName\n * @param routeKey\n * @param route\n * @param pathname\n *\n * @returns {{\n * \tpath: string,\n * \tparentHasFields: boolean,\n * \thasFields: boolean,\n * \tparentHasParams: boolean,\n * \thasParams: boolean\n * }}\n *\n * @example\n *   path: /now/cwf/agent/record/sn_customerservice_case/bc6a8a2ac3302200e7c7d44d81d3ae19/params/selected-tab-index/0/sub/record/csm_consumer/59e788fbdb1b1200b6075200cf9619d2/params/selected-tab-index/2\n *   route: /now/cwf/agent/record/:parentTable/:parentSysId/params/selected-tab-index/:parentSelectedTabIndex/sub/record/:table/:sysId/params/selected-tab-index/:selectedTabIndex\n */\nexport const generateRoutePathForSubURL = (\n\tsiteName,\n\trouteKey,\n\troute,\n\tpathname\n) => {\n\tconst {fields, optionalParameters: params} = route;\n\tlet path = `/${siteName}/${routeKey}`,\n\t\tparentHasFields = false,\n\t\tparentHasParams = false,\n\t\thasFields = false,\n\t\thasParams = false,\n\t\thasSubUrl = pathnameHasSub(pathname);\n\n\tif (hasSubUrl && (!isEmpty(fields) || !isEmpty(params))) {\n\t\tparentHasFields = hasFields = !isEmpty(fields);\n\t\tparentHasParams = hasParams = !isEmpty(params);\n\t\tpath = path.concat(appendFieldsAndParams(fields, params, pathname, true));\n\t\tpath = path.concat(`/sub/${routeKey}`);\n\t\tpath = path.concat(appendFieldsAndParams(fields, params, pathname, false));\n\t}\n\n\treturn {path, parentHasFields, parentHasParams, hasFields, hasParams};\n};\n\n/**\n * generateRoutePath\n *\n * @param siteName\n * @param routeKey\n * @param route\n * @param pathname\n * @returns {{\n *     path: string,\n *     hasFields: boolean,\n *     hasParams: boolean\n * }}\n *\n * @example\n *   path: /now/cwf/agent/record/sn_customerservice_case/bc6a8a2ac3302200e7c7d44d81d3ae19/params/selected-tab-index/3\n *   route: /now/cwf/agent/record/:table/:sysId/params/selected-tab-index/:selectedTabIndex\n */\nexport const generateRoutePath = (siteName, routeKey, route, pathname) => {\n\tconst {fields, optionalParameters: params} = route;\n\tlet path = `/${siteName}/${routeKey}`,\n\t\thasFields = !isEmpty(fields),\n\t\thasParams = !isEmpty(params);\n\n\tpath = path.concat(appendFieldsAndParams(fields, params, pathname, false));\n\n\treturn {path, hasFields, hasParams};\n};\n\n/**\n * parseURLToRoute\n *\n * @param routeKey\n * @param route\n * @param matchedPath\n * @param pathHasFields\n * @param pathHasParams\n * @returns {{route: *, fields: {}, params: {}}}\n */\nexport const parseURLToRoute = (\n\trouteKey,\n\troute,\n\tmatchedPath,\n\tpathHasFields,\n\tpathHasParams\n) => {\n\tconst {keys, params: fieldsAndParams} = matchedPath;\n\tconst {fields, optionalParameters: params} = route;\n\tlet routeObj = {route: routeKey, fields: {}, params: {}};\n\tlet fieldsObj = {},\n\t\tparamsObj = {};\n\n\tif (!isEmpty(keys)) {\n\t\t// when path has fields, process the fields object\n\t\tif (pathHasFields && !isEmpty(fields)) {\n\t\t\tfields.forEach((f) => {\n\t\t\t\tfieldsObj[f] = fieldsAndParams[f];\n\t\t\t});\n\t\t}\n\n\t\t// when path has params, process the params object\n\t\tif (pathHasParams && !isEmpty(params)) {\n\t\t\tparams.forEach((p) => {\n\t\t\t\tif (!isEmpty(fieldsAndParams[p])) {\n\t\t\t\t\tparamsObj[p] = fieldsAndParams[p];\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\trouteObj = {\n\t\t...routeObj,\n\t\tfields: {...fieldsObj},\n\t\tparams: {...paramsObj}\n\t};\n\n\treturn routeObj;\n};\n","import pathToRegexp from 'path-to-regexp';\nimport {decodeParam} from './helpers';\n\nconst {hasOwnProperty} = Object.prototype;\nconst cache = new Map();\n\n// see https://github.com/pillarjs/path-to-regexp/issues/148\ncache.set('|false', {\n\tkeys: [],\n\tpattern: /(?:)/\n});\n\n/**\n * matchPath\n *\n * @param routePath\n * @param pathname\n * @param exact\n * @returns {{path: string, keys: [], params: {}}|*}\n */\nconst matchPath = (routePath, pathname, exact = true) => {\n\tconst cacheKey = `${routePath}|${exact}`;\n\tlet regexp = cache.get(cacheKey);\n\n\tif (!regexp) {\n\t\tconst keys = [];\n\t\tregexp = {\n\t\t\tkeys,\n\t\t\tpattern: pathToRegexp(routePath, keys, {\n\t\t\t\tend: exact,\n\t\t\t\tstrict: true\n\t\t\t})\n\t\t};\n\t\tcache.set(cacheKey, regexp);\n\t}\n\tconst m = regexp.pattern.exec(pathname);\n\n\tif (!m) {\n\t\treturn null;\n\t}\n\n\tconst params = {};\n\n\tfor (let i = 1; i < m.length; i++) {\n\t\tconst key = regexp.keys[i - 1];\n\t\tconst prop = key.name;\n\t\tconst value = m[i];\n\t\tif (value !== undefined || !hasOwnProperty.call(params, prop)) {\n\t\t\tif (key.repeat) {\n\t\t\t\tparams[prop] = value ? value.split(key.delimiter).map(decodeParam) : [];\n\t\t\t} else {\n\t\t\t\tparams[prop] = value ? decodeParam(value) : value;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn {\n\t\tpath: m[0],\n\t\tkeys: regexp.keys,\n\t\tparams\n\t};\n};\n\nexport default matchPath;\n","import {\n\tgenerateRoutePath,\n\tgenerateRoutePathForSubURL,\n\tparseURLToRoute,\n\tisCustom404Available,\n\tgetCustom404Route,\n\tpathnameHasSub\n} from './helpers';\nimport matchPath from './matchPath';\nimport {isEmpty} from '@devsnc/snowdash';\nimport {get} from '@devsnc/snowdash';\n\n/**!\n * findRoute\n *\n * @param routes\n * @param pathname\n * @param siteName\n * @param authRoutes\n * @returns {{found: boolean, currentRoute: {}}}\n */\nconst findRoute = (\n\troutes = {},\n\tpathname = window.location.pathname,\n\tsiteName = 'now/cwf/agent',\n\tauthRoutes = {}\n) => {\n\tconst routeKeys = Object.keys(routes);\n\tlet currentRoute = {},\n\t\tfound = false;\n\n\tfor (let i = 0; i < routeKeys.length; i++) {\n\t\tconst route = routes[routeKeys[i]][0];\n\t\tconst {fields, params} = route;\n\t\tlet routePath = '',\n\t\t\thasFields = false,\n\t\t\thasParams = false,\n\t\t\tmatches = {},\n\t\t\troutePathObj = {};\n\n\t\tif (pathnameHasSub(pathname) && (!isEmpty(fields) || !isEmpty(params))) {\n\t\t\troutePathObj = generateRoutePathForSubURL(\n\t\t\t\tsiteName,\n\t\t\t\trouteKeys[i],\n\t\t\t\troute,\n\t\t\t\tpathname\n\t\t\t);\n\t\t} else {\n\t\t\troutePathObj = generateRoutePath(siteName, routeKeys[i], route, pathname);\n\t\t}\n\n\t\troutePath = get(routePathObj, 'path');\n\t\thasFields = get(routePathObj, 'hasFields');\n\t\thasParams = get(routePathObj, 'hasParams');\n\t\tmatches = matchPath(routePath, pathname);\n\n\t\tif (matches) {\n\t\t\tcurrentRoute = parseURLToRoute(\n\t\t\t\trouteKeys[i],\n\t\t\t\troute,\n\t\t\t\tmatches,\n\t\t\t\thasFields,\n\t\t\t\thasParams\n\t\t\t);\n\t\t\tfound = true;\n\t\t}\n\t}\n\n\tif (!found && isCustom404Available(authRoutes, routes)) {\n\t\tfound = true;\n\t\tcurrentRoute = getCustom404Route(authRoutes, routes);\n\t}\n\n\treturn {found, currentRoute};\n};\n\nexport default findRoute;\n","import {getLocationPathname, getUXAppRouteConfig} from './helpers';\nimport findRoute from './findRoute';\nimport {viewportActions} from './../factory/constants';\nimport {isEmpty} from '@devsnc/snowdash';\n\nconst {UXF_VIEWPORT_RENDER_BY_ID} = viewportActions;\n\n/**\n * setupLocationChangeEvents\n */\nconst setupLocationChangeEvents = () => {\n\tlet pushState = history.pushState;\n\tlet replaceState = history.replaceState;\n\n\thistory.pushState = function () {\n\t\tpushState.apply(history, arguments);\n\t\twindow.dispatchEvent(new Event('pushstate'));\n\t\twindow.dispatchEvent(new Event('locationchange'));\n\t};\n\n\thistory.replaceState = function () {\n\t\treplaceState.apply(history, arguments);\n\t\twindow.dispatchEvent(new Event('replacestate'));\n\t\twindow.dispatchEvent(new Event('locationchange'));\n\t};\n\n\twindow.addEventListener('popstate', function () {\n\t\twindow.dispatchEvent(new Event('locationchange'));\n\t});\n};\n\n/**\n * activateLocationChange\n *\n * @param properties\n * @param dispatch\n */\nconst activateLocationChange = (properties, dispatch, updateState) => {\n\twindow.addEventListener('locationchange', (e) => {\n\t\tonURLChange(e, properties, dispatch, updateState);\n\t});\n};\n\n/**\n * inactivateLocationChange\n *\n * @param properties\n * @param dispatch\n * @param updateState\n */\nconst inactivateLocationChange = (properties, dispatch, updateState) => {\n\twindow.removeEventListener('locationchange', (e) => {\n\t\tonURLChange(e, properties, dispatch, updateState);\n\t});\n};\n\n/**\n * loadViewportContent\n *\n * @param properties\n * @param dispatch\n */\nconst loadViewportContent = (properties, dispatch, updateState) => {\n\tconst {uxAppRouteConfig} = getUXAppRouteConfig(window);\n\tconst {siteName, routes, authRoutes} = uxAppRouteConfig;\n\tconst pathname = getLocationPathname(window.location);\n\tconst {found, currentRoute} = findRoute(\n\t\troutes,\n\t\tpathname,\n\t\tsiteName,\n\t\tauthRoutes\n\t);\n\n\tif (found) {\n\t\t// when route match found, load the screen\n\t\tdispatch(UXF_VIEWPORT_RENDER_BY_ID, {\n\t\t\t...currentRoute,\n\t\t\tviewportElementId: 'uxf-viewport-screen',\n\t\t\treinitialize: true\n\t\t});\n\t} else {\n\t\t// when no matched routes, render default custom 404 message\n\t\tonPageNotFound(currentRoute, dispatch, updateState);\n\t}\n};\n\n/**\n * onURLChange\n *\n * @param event\n * @param properties\n * @param dispatch\n * @param updateState\n */\nconst onURLChange = (event, properties, dispatch, updateState) => {\n\tloadViewportContent(properties, dispatch, updateState);\n};\n\n/**\n * onConnect\n *\n * @param action\n * @param properties\n * @param dispatch\n * @param updateState\n */\nexport const onConnect = ({action, properties, dispatch, updateState}) => {\n\tconst {options} = action.payload;\n\tif (options.canSyncWithURL) {\n\t\tsetupLocationChangeEvents();\n\t\tloadViewportContent(properties, dispatch, updateState);\n\t\tactivateLocationChange(properties, dispatch, updateState);\n\t}\n};\n\n/**!\n * onPageNotFound\n *\n * @param currentRoute\n * @param dispatch\n * @param updateState\n */\nexport const onPageNotFound = (currentRoute, dispatch, updateState) => {\n\tif (isEmpty(currentRoute)) {\n\t\tupdateState([\n\t\t\t{\n\t\t\t\tpath: 'behaviors.uxfViewport.showDefault404',\n\t\t\t\toperation: 'set',\n\t\t\t\tvalue: true\n\t\t\t}\n\t\t]);\n\t} else {\n\t\tdispatch(UXF_VIEWPORT_RENDER_BY_ID, {\n\t\t\t...currentRoute,\n\t\t\tviewportElementId: 'uxf-viewport-screen',\n\t\t\treinitialize: true\n\t\t});\n\t}\n};\n\n/**\n * onDisconnect\n *\n * @param action\n * @param properties\n * @param dispatch\n * @param updateState\n */\nexport const onDisconnect = ({action, properties, dispatch, updateState}) => {\n\tconst {options} = action.payload;\n\tif (options.canSyncWithURL) {\n\t\tinactivateLocationChange(properties, dispatch, updateState);\n\t}\n};\n\nexport const exportForTesting = {\n\tsetupLocationChangeEvents\n};\n","import {actionTypes} from '@servicenow/ui-core';\nimport {viewportActions} from './../factory/constants';\nimport {onConnect, onDisconnect} from './componentViewportEffects';\nimport {get} from '@devsnc/snowdash';\n\nconst {COMPONENT_CONNECTED, COMPONENT_DISCONNECTED} = actionTypes;\nconst {UXF_VIEWPORT_RENDER, UXF_VIEWPORT_DISMISS} = viewportActions;\n\n/**\n * Public behavior that can be used by Seismic components that act as \"viewports\"\n * (Examples include tab sets, contextual side bar, app shell UI viewports, etc.).\n *\n * Using with {..., options: {canSyncWithURL: true}} enables the seismic component\n * to load the screen based on the URL requests.\n */\nexport const uxfViewportBehavior = {\n\tname: 'uxfViewport',\n\tinitialState: {\n\t\tviewportRouteRequestedFromEmitFn: {default: false}\n\t},\n\tproperties: {\n\t\tviewportRoutes: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'},\n\t\t\tdeepCompare: true\n\t\t},\n\t\tactiveRoute: {}\n\t},\n\tactionHandlers: {\n\t\t['VIEWPORT_ROUTE_REQUESTED']: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload, meta},\n\t\t\t\t\tdispatch,\n\t\t\t\t\tupdateState\n\t\t\t\t} = coeffects;\n\n\t\t\t\tconst allowComponentViewportActionInEmitFn = get(\n\t\t\t\t\tmeta,\n\t\t\t\t\t'uxfComponentViewportMeta.allowComponentViewportActionInEmitFn',\n\t\t\t\t\tfalse\n\t\t\t\t);\n\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'viewportRouteRequestedFromEmitFn',\n\t\t\t\t\tvalue: allowComponentViewportActionInEmitFn,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t});\n\n\t\t\t\tdispatch(UXF_VIEWPORT_RENDER, payload, {\n\t\t\t\t\tuxfMeta: get(meta, 'uxfMeta', {})\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['VIEWPORT_ROUTE_DISMISSED']: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\tdispatch,\n\t\t\t\t\taction: {payload}\n\t\t\t\t} = coeffects;\n\t\t\t\tdispatch(UXF_VIEWPORT_DISMISS, payload);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[COMPONENT_CONNECTED]: onConnect,\n\t\t[COMPONENT_DISCONNECTED]: onDisconnect\n\t}\n};\n","import {get} from '@devsnc/snowdash';\nimport {META_PROP_NAME_APP_CONFIG_SYS_ID} from '../factory/constants';\nimport {getMacroponentNodes} from './macroponent';\n\nexport default function setAppConfigToRootMacroponent(path) {\n\tconst rootMacroponent = get(getMacroponentNodes(), [0], null);\n\tif (rootMacroponent) {\n\t\trootMacroponent[META_PROP_NAME_APP_CONFIG_SYS_ID] = get(\n\t\t\twindow,\n\t\t\t`ux_globals.experienceConfigs[${path}].pageSettings.sysId`,\n\t\t\tundefined\n\t\t);\n\t}\n}\n","import {\n\tDA_WRAPPED_CLICKED,\n\tUXF_INTERNAL_EVENT_META\n} from '../factory/constants';\nimport {isFunction} from '@devsnc/snowdash';\n\nexport const daWrappedClickedBehavior = {\n\tactionHandlers: {\n\t\t[DA_WRAPPED_CLICKED]({action, dispatch}) {\n\t\t\tconst {\n\t\t\t\tpayload: {\n\t\t\t\t\twrapped_action_name: actionName = '',\n\t\t\t\t\twrapped_payload: actionPayload = '',\n\t\t\t\t\toptions: {predicate = undefined, aliases = []} = {}\n\t\t\t\t} = {},\n\t\t\t\tmeta: {[UXF_INTERNAL_EVENT_META]: uxfMeta = {}} = {}\n\t\t\t} = action;\n\n\t\t\tif (actionName && (!isFunction(predicate) || predicate(action))) {\n\t\t\t\tdispatch(actionName, actionPayload, {\n\t\t\t\t\t[UXF_INTERNAL_EVENT_META]: uxfMeta\n\t\t\t\t});\n\n\t\t\t\taliases.forEach((alias) => {\n\t\t\t\t\tdispatch(alias, actionPayload, {\n\t\t\t\t\t\t[UXF_INTERNAL_EVENT_META]: uxfMeta\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n};\n","import {isFunction} from '@devsnc/snowdash';\nimport {compact} from '@devsnc/snowdash';\nimport getTemplates from '../templateLoader/getTemplates.js';\nimport {getMacroponentTagName} from '../utils/macroponent.js';\nimport {getUxrInteractionIdByHost} from '../utils/screenUtils';\nimport {isString} from '@devsnc/snowdash';\n\nexport async function effect(options = {}, coeffects) {\n\tconst {successActionType, errorActionType} = options;\n\n\tconst {\n\t\thost,\n\t\taction: {\n\t\t\tpayload: {sysId}\n\t\t},\n\t\tdispatch\n\t} = coeffects;\n\n\tconst sysIds = compact([sysId]);\n\tconst request = {\n\t\tsysId\n\t};\n\n\ttry {\n\t\tlet uxrInteractionId = getUxrInteractionIdByHost(host);\n\n\t\t// @ts-ignore\n\t\tconst fragmentGenerators = await getTemplates(\n\t\t\tsysIds,\n\t\t\tfalse,\n\t\t\tuxrInteractionId\n\t\t);\n\t\tif (isFunction(fragmentGenerators[sysId])) {\n\t\t\tif (isString(successActionType)) {\n\t\t\t\tdispatch(successActionType, {\n\t\t\t\t\trequest,\n\t\t\t\t\tcustomElementTagName: getMacroponentTagName(sysId)\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new Error('Failed to load macroponent');\n\t\t}\n\t} catch (error) {\n\t\tif (isString(errorActionType)) {\n\t\t\tdispatch(errorActionType, {request});\n\t\t}\n\t}\n}\n\nexport default function createMacroponentLoaderEffect(options) {\n\treturn {\n\t\teffect,\n\t\targs: [options],\n\t\tstopPropagation: true\n\t};\n}\n","import {isString} from '@devsnc/snowdash';\nimport {\n\tgetComponentsBySysIds,\n\tgetComponentsByTagNames\n} from '../templateLoader/getComponents.js';\nimport {isUndefined} from '@devsnc/snowdash';\n\nexport async function effect(options = {}, coeffects) {\n\tconst {successActionType, errorActionType} = options;\n\n\tconst {\n\t\taction: {\n\t\t\tpayload: {tagName, sysId}\n\t\t},\n\t\tdispatch\n\t} = coeffects;\n\n\tif (isUndefined(tagName) && isUndefined(sysId)) return;\n\n\t// if both tagName and sysId is sent, tagName takes precendence\n\tconst payloadType = !isUndefined(tagName) ? 'tagName' : 'sysId';\n\tconst payloadValue = !isUndefined(tagName) ? tagName : sysId;\n\n\tconst request = {\n\t\t[payloadType]: payloadValue\n\t};\n\n\tconst promisedComponent =\n\t\tpayloadType === 'tagName'\n\t\t\t? getComponentsByTagNames([tagName])\n\t\t\t: getComponentsBySysIds([sysId]);\n\n\ttry {\n\t\tconst [loadedComponentTagName] = await promisedComponent;\n\t\tif (isUndefined(loadedComponentTagName))\n\t\t\tthrow new Error('Failed to load component');\n\n\t\tif (isString(successActionType))\n\t\t\tdispatch(successActionType, {request, tagName: loadedComponentTagName});\n\t} catch (error) {\n\t\tif (isString(errorActionType)) dispatch(errorActionType, {request});\n\t}\n}\n\nexport default function createComponentLoaderEffect(options) {\n\treturn {\n\t\teffect,\n\t\targs: [options],\n\t\tstopPropagation: true\n\t};\n}\n","import {MACROPONENT_TIME_TO_IDLE_MEASUREMENT_REQUESTED} from '../factory/constants';\n\n/**\n * This effect is used to measure the time it takes for a macroponent to become idle.\n */\nexport function effect(_options = {}, coeffects) {\n\tconst clientInteractionStartTime = performance.now();\n\tconst {action, dispatch} = coeffects;\n\n\tconst {\n\t\tpayload: {name = ''}\n\t} = action;\n\n\t// Name have to be string and not empty\n\tif (typeof name === 'string' && name.length < 1) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn(\n\t\t\t'measureMacroponentTimeToIdle: name should be non-empty string. Skipping.'\n\t\t);\n\t\treturn;\n\t}\n\n\t// This is getting handled by the closest ancester macroponent\n\t// by getComponentInteractiveBehavior.\n\tdispatch(MACROPONENT_TIME_TO_IDLE_MEASUREMENT_REQUESTED, {\n\t\t...action.payload,\n\t\tclientInteractionStartTime\n\t});\n}\n\nexport default function measureMacroponentTimeToIdleEffect(options) {\n\treturn {\n\t\teffect,\n\t\targs: [options],\n\t\tstopPropagation: true\n\t};\n}\n","import {UXF_COMPONENT_INTERACTIVE} from './constants';\nimport {get} from '@devsnc/snowdash';\n\nexport default function createUxfContractBehavior(config) {\n\tconst actionHandlers = {};\n\n\tconst interactiveActionName = get(config, 'interactiveActionName');\n\n\tif (interactiveActionName)\n\t\tactionHandlers[interactiveActionName] = ({dispatch}) => {\n\t\t\tdispatch(UXF_COMPONENT_INTERACTIVE);\n\t\t};\n\n\treturn {\n\t\tactionHandlers\n\t};\n}\n","/* prettier-ignore */\nimport {get} from '@devsnc/snowdash';\nimport {toLower} from '@devsnc/snowdash';\nimport snHttp from '../snHttpInstance/index.js';\n\nconst getDriverAssetByTagName = async (tagName) => {\n\tlet assetName = null;\n\ttry {\n\t\tconst snHttpInstance = await snHttp();\n\t\tconst resp = await snHttpInstance.request(\n\t\t\t'/api/now/uxpage/driver_asset_scripts',\n\t\t\t'POST',\n\t\t\t{\n\t\t\t\tdata: {tagName: tagName},\n\t\t\t\tbatch: false\n\t\t\t}\n\t\t);\n\t\tassetName = get(resp, ['data', 'result', 'name']);\n\t} catch (e) {\n\t\tconsole.warn(\n\t\t\t`Failed to retrieve driver asset name for componentTag ${tagName}`,\n\t\t\te\n\t\t);\n\t}\n\treturn assetName;\n};\n\nexport async function NowUIDriverFactory(nowUIDOMElement) {\n\tlet queryName = get(nowUIDOMElement, 'tagName');\n\n\tif (!(nowUIDOMElement instanceof HTMLElement)) {\n\t\tconsole.warn('Non-HTMLElement input provided to NowUIDriverFactory');\n\t\treturn null;\n\t}\n\n\tqueryName = toLower(queryName);\n\n\t//check if the driver is already loaded\n\tconst driver = get(window, ['__COMPONENT_DRIVERS__', queryName]);\n\tif (driver) {\n\t\treturn await driver(nowUIDOMElement);\n\t}\n\n\t// query the asset name by the tag name\n\tconst driverName = await getDriverAssetByTagName(queryName);\n\n\tif (driverName) {\n\t\t//append bundle script\n\t\tconst url = `/uxasset/externals/${driverName}.jsdbx`;\n\t\ttry {\n\t\t\tawait import(/*webpackIgnore: true*/ url);\n\t\t} catch (e) {\n\t\t\tconsole.warn(`Could not import driver ${url}`);\n\t\t\treturn null;\n\t\t}\n\n\t\t//tectonic's createDriverAPI should trigger if the import succeeds and add the driver to the registry\n\t\tif (!window.__COMPONENT_DRIVERS__) {\n\t\t\tconsole.warn(\n\t\t\t\t\"Component driver registry can't be found after driver import\"\n\t\t\t);\n\t\t\treturn null;\n\t\t}\n\n\t\tconst driverFromReg = get(window, ['__COMPONENT_DRIVERS__', queryName]);\n\t\tif (driverFromReg) {\n\t\t\treturn await driverFromReg(nowUIDOMElement);\n\t\t}\n\t} else {\n\t\tconsole.warn(\n\t\t\t`Driver asset name lookup failed for componentTag ${queryName}`\n\t\t);\n\t\treturn null;\n\t}\n}\n","import {createInteractionId, defineMetric, mark} from '@servicenow/ui-metrics';\nimport {get} from '@devsnc/snowdash';\n\nimport {SYS_PROP_PERF_ENABLED, isMetricDefined} from '../utils/markUtil';\n\nimport {CONTAINING_MACROPONENT_SYS_ID} from '../factory/constants';\n\nconst EVENT_METRIC = 'UXF ATF doAction Usage';\nconst USAGE_METRIC_LEVEL = 5;\nconst METRIC_TYPE = 'usage';\n\nconst initMetric = () => {\n\tif (!window.nowUiFramework) {\n\t\twindow.nowUiFramework = {};\n\t}\n\n\twindow.nowUiFramework.uxfAtfActionDoInteractionId = createInteractionId();\n\tdefineMetric(EVENT_METRIC, USAGE_METRIC_LEVEL);\n};\n\nconst getInteractionId = () =>\n\tget(\n\t\twindow,\n\t\t'nowUiFramework.uxfKeyboardShortcutInteractionId',\n\t\tcreateInteractionId()\n\t);\n\nexport const markAtfDoAction = (element, driverMethod, driverParameters) => {\n\tif (!SYS_PROP_PERF_ENABLED) {\n\t\treturn;\n\t}\n\n\tif (!isMetricDefined(EVENT_METRIC)) {\n\t\tinitMetric();\n\t}\n\n\tconst interactionId = getInteractionId();\n\tconst timestamp = Date.now();\n\tconst pageId = get(\n\t\twindow,\n\t\t'ux_globals.snCanvasScreen.screenData.macroponentSysId'\n\t);\n\tconst pageName = get(\n\t\twindow,\n\t\t'ux_globals.snCanvasScreen.screenData.defaultTitle'\n\t);\n\tconst componentId = element.nowId;\n\tconst parentMacroponentId =\n\t\telement.appendToMeta[CONTAINING_MACROPONENT_SYS_ID];\n\tconst workspaceName = get(\n\t\twindow,\n\t\t'ux_globals.snCanvasScreen.screenData.context.experienceName'\n\t);\n\tconst pageType = get(\n\t\twindow,\n\t\t'ux_globals.snCanvasScreen.screenData.screenKey'\n\t);\n\tconst markOptions = {\n\t\tdriverMethod,\n\t\tdriverParameters,\n\t\ttimestamp,\n\t\tpageId,\n\t\tpageType,\n\t\tpageName,\n\t\tcomponentId,\n\t\tparentMacroponentId,\n\t\tworkspaceName\n\t};\n\tmark(element, interactionId, EVENT_METRIC, markOptions, METRIC_TYPE);\n};\n","import {CONTAINING_MACROPONENT_SYS_ID} from '../factory/constants';\nimport {NowUIDriverFactory} from './atfDriverLoader';\nimport {getComponentInstances} from '@servicenow/ui-core';\nimport {isEmpty} from '@devsnc/snowdash';\nimport {markAtfDoAction} from './trackUsage';\n\n/**\n * doATFAction\n * @param actionName string name of driver action\n * @param actionStringParameter array parameters to pass to the driver action\n * @param cleanElementId string\n * @param parentMacroponentSysId string\n * @param expectedReturn string|null expected return value of the driver\n * @returns {Promise<boolean>}\n */\nexport async function doATFAction(\n\tactionName,\n\tactionStringParameter,\n\tcleanElementId,\n\tparentMacroponentSysId,\n\texpectedReturn\n) {\n\tconst actionableComponent = getActionableComponent(\n\t\tcleanElementId,\n\t\tparentMacroponentSysId\n\t);\n\tif (actionableComponent == null) {\n\t\tconsole.error('Could not find actionable component. Returning.');\n\t\treturn;\n\t}\n\n\tconst element = actionableComponent[1];\n\tconst elementDriver = await NowUIDriverFactory(element);\n\n\tif (elementDriver == null) {\n\t\tconsole.error('Could not find driver for element. Returning.');\n\t\treturn;\n\t}\n\tlet parametersArray = [];\n\tif (!isEmpty(actionStringParameter)) {\n\t\ttry {\n\t\t\tparametersArray = JSON.parse(actionStringParameter);\n\t\t} catch (e) {\n\t\t\tparametersArray.push(actionStringParameter);\n\t\t}\n\t}\n\tif (typeof elementDriver[actionName] === 'function') {\n\t\tmarkAtfDoAction(element, actionName, actionStringParameter);\n\t\tconst result = await elementDriver[actionName].apply(\n\t\t\telementDriver,\n\t\t\tparametersArray\n\t\t);\n\n\t\tif (isEmpty(expectedReturn)) {\n\t\t\t// \"result\" may not necessarily be a boolean. If the driver returns false, we'll fail the step. Sometimes the driver\n\t\t\t// may return true, a string, or an object. In those cases, we'll just return true to pass the step. To avoid this\n\t\t\t// ambiguity, the user is encouraged to explicitly set the expectedReturn value.\n\t\t\treturn result !== false;\n\t\t}\n\t\tif (expectedReturn.toString() === result.toString()) {\n\t\t\t// toString() needed here?\n\t\t\treturn true;\n\t\t}\n\t\tconsole.error(\n\t\t\t`The method ${actionName} did not return the expected value on ${element.tagName} - expectedReturn: ${expectedReturn}, actualReturn: ${result}`\n\t\t);\n\t\treturn false;\n\t} else {\n\t\tconsole.error(\n\t\t\t`The method ${actionName} does not exist on ${element.tagName}`\n\t\t);\n\t\treturn false;\n\t}\n}\n\nfunction getActionableComponent(elementId, parentMacroponentSysId) {\n\tlet components = Object.entries(getComponentInstances());\n\n\treturn components.find(([key, value]) => {\n\t\treturn (\n\t\t\tdeleteUpToLastHyphen(key) === elementId &&\n\t\t\tvalue.appendToMeta[CONTAINING_MACROPONENT_SYS_ID] ===\n\t\t\t\tparentMacroponentSysId\n\t\t);\n\t});\n}\n\nfunction deleteUpToLastHyphen(inputString) {\n\tvar index = inputString.lastIndexOf('-');\n\tif (index !== -1) {\n\t\treturn inputString.substring(index + 1);\n\t}\n\treturn inputString;\n}\n","/**\n * ATF Action Record\n * @typedef {{\n * sysId: String,\n * params: String,\n * returns: String,\n * label: String,\n * actionType: String,\n * actionName: String,\n * description: String,\n * componentTag: String,\n * }} AtfAction\n */\nconst ATF_ACTIONS = new Map();\nconst ATF_ACTIONS_BY_COMPONENT_TAG = new Map();\n\nlet LOADED = false;\n\n/**\n * Get ATF Actions for given component tag name\n * @param {String} tagName\n * @returns {AtfAction[]}\n */\nexport function getAtfActionsByComponent(tagName) {\n\tconst actionList = ATF_ACTIONS_BY_COMPONENT_TAG.get(tagName);\n\treturn actionList\n\t\t? Array.from(actionList).map((actionId) => ATF_ACTIONS.get(actionId))\n\t\t: [];\n}\n\n/**\n * Does component have any atf actions registered\n * @param {String} tagName\n * @returns {boolean}\n */\nexport function componentHasAtfActions(tagName) {\n\treturn ATF_ACTIONS_BY_COMPONENT_TAG.has(tagName);\n}\n\n/**\n * Store list of atf actions\n * @param {AtfAction[]}atfActions\n */\nexport function setAtfActions(atfActions) {\n\tatfActions.forEach((action) => {\n\t\tATF_ACTIONS.set(action.sysId, action);\n\t\tlet componentActions =\n\t\t\tATF_ACTIONS_BY_COMPONENT_TAG.get(action.componentTag) || new Set();\n\t\tcomponentActions.add(action.sysId);\n\t\tATF_ACTIONS_BY_COMPONENT_TAG.set(action.componentTag, componentActions);\n\t});\n\n\tLOADED = true;\n}\n\nexport function areAtfActionsLoaded() {\n\treturn LOADED;\n}\n","import {getComponentInstances} from '@servicenow/ui-core';\nimport {componentHasAtfActions} from './atfActions';\nimport {CONTAINING_MACROPONENT_SYS_ID} from '../factory/constants';\n\nfunction getAllActionableComponents() {\n\treturn Object.values(getComponentInstances())\n\t\t.filter(\n\t\t\t(component) =>\n\t\t\t\tcomponent.tagName &&\n\t\t\t\t!component.tagName.startsWith('macroponent') &&\n\t\t\t\tcomponent.appendToMeta?.[CONTAINING_MACROPONENT_SYS_ID] &&\n\t\t\t\tcomponentHasAtfActions(component.tagName.toLowerCase())\n\t\t)\n\t\t.map((component) => {\n\t\t\tcomponent.parent_macroponent =\n\t\t\t\tcomponent.appendToMeta[CONTAINING_MACROPONENT_SYS_ID];\n\t\t\treturn component;\n\t\t});\n}\n\nexport {getAllActionableComponents};\n","import {CONTAINING_MACROPONENT_SYS_ID} from '../factory/constants';\nimport {getComponentInstances} from '@servicenow/ui-core';\n\nexport default function getFilteredComponentInstances() {\n\tlet components = Object.entries(getComponentInstances());\n\tlet retValues = [];\n\tcomponents.forEach(([key, value]) => {\n\t\tif (value.appendToMeta == null) return false;\n\t\tlet objToAdd = {};\n\t\tobjToAdd.element_id = key;\n\t\tobjToAdd.parent_macroponent =\n\t\t\tvalue.appendToMeta[CONTAINING_MACROPONENT_SYS_ID];\n\t\tif (objToAdd.element_id != null && objToAdd.parent_macroponent != null) {\n\t\t\tobjToAdd.tag_name = value.tagName;\n\t\t\tretValues.push(objToAdd);\n\t\t}\n\t});\n\n\treturn retValues;\n}\n","import snHttp from '../snHttpInstance';\n\nconst ENDPOINT_ATF_ACTIONS = '/api/now/uxframework/atf/actions';\nconst ENDPOINT_ATF_CREATE_TEST_PAGE_STEP =\n\t'/api/now/uxframework/atf/steps/test-page';\n\nexport async function getAtfActions() {\n\ttry {\n\t\tconst snHttpInstance = await snHttp();\n\t\tconst response = await snHttpInstance.request(ENDPOINT_ATF_ACTIONS, 'GET', {\n\t\t\tbatch: false\n\t\t});\n\t\treturn response?.data?.result || [];\n\t} catch (e) {\n\t\tconsole.error(`Error occurred while loading atf actions`);\n\t}\n\n\treturn [];\n}\n/**\n * Persist atf step to the server\n * @param {AtfStep} data\n * @returns {Promise<string>} the test step id that was created\n * @throws {Error}\n */\nexport async function postAtfStep(data) {\n\ttry {\n\t\tconst snHttpInstance = await snHttp();\n\t\tconst response = await snHttpInstance.request(\n\t\t\tENDPOINT_ATF_CREATE_TEST_PAGE_STEP,\n\t\t\t'POST',\n\t\t\t{\n\t\t\t\tbatch: false,\n\t\t\t\tdata\n\t\t\t}\n\t\t);\n\t\tconst sysId = response?.data?.result;\n\t\tif (!sysId) {\n\t\t\tthrow new Error('Failed to save atf step, no sys_id returned');\n\t\t}\n\t\treturn sysId;\n\t} catch (e) {\n\t\tconst errorMessage = e.response?.data?.error?.message || e.message;\n\t\tthrow new Error(errorMessage);\n\t}\n}\n","import {getAtfActions} from './api';\nimport {setAtfActions} from './atfActions';\nconst EVENT_ATF_INITIALIZED = '__DO_NOT_USE__UXF_INTERNAL#ATF_MODE_INITIALIZED';\n\nexport function isAtfMode() {\n\treturn window.location.search.includes('atf=true');\n}\n\nexport async function initializeAtfMode() {\n\tif (!isAtfMode()) {\n\t\treturn;\n\t}\n\tlet actions = await getAtfActions();\n\tsetAtfActions(actions);\n\n\tdocument.dispatchEvent(new Event(EVENT_ATF_INITIALIZED));\n}\n","import {isEmpty} from '@devsnc/snowdash';\n\nfunction getParametersForTestAction(action) {\n\tif (isEmpty(action.params)) return [];\n\treturn JSON.parse(action.params);\n}\n\nexport default getParametersForTestAction;\n","import {postAtfStep} from './api';\nimport {isEmpty} from '@devsnc/snowdash';\n\n/**\n * Persist atf step to the server\n * @param {AtfStep} atfStep\n * @returns {Promise<string>} the test step id that was created\n * @throws {Error}\n */\nexport async function saveAtfStep(atfStep) {\n\tif (isEmpty(atfStep.testId)) {\n\t\tthrow new Error('testId is required to create a new test step');\n\t}\n\tif (isEmpty(atfStep.elementId)) {\n\t\tthrow new Error('elementId is required to create a new test step');\n\t}\n\tif (isEmpty(atfStep.parentMacroponentId)) {\n\t\tthrow new Error(\n\t\t\t'parentMacroponentId is required to create a new test step'\n\t\t);\n\t}\n\tif (isEmpty(atfStep.actionId)) {\n\t\tthrow new Error('actionId is required to create a new test step');\n\t}\n\n\treturn await postAtfStep(atfStep);\n}\n","import unifiedCache from '@devsnc/library-unified-cache';\nimport {isAtfMode} from './initialize';\n\nexport const clearClientCache = async () => {\n\tif (!isAtfMode()) {\n\t\treturn;\n\t}\n\n\ttry {\n\t\tconst local = await unifiedCache.getAdapter('localStorage');\n\t\tlocal._clearAllInstances();\n\t} catch (e) {\n\t\tconsole.warn('Failed to clear localStorage');\n\t\tconsole.warn(e);\n\t}\n\n\ttry {\n\t\tconst session = await unifiedCache.getAdapter('sessionStorage');\n\t\tsession._clearAllInstances();\n\t} catch (e) {\n\t\tconsole.warn('Failed to clear sessionStorage');\n\t\tconsole.warn(e);\n\t}\n};\n","import {getAppliedTemplateForFragmentGenerator} from '../templateLoader/getAppliedTemplate';\nimport createMacroponentFragmentGenerator from '../templateLoader/createMacroponentFragmentGenerator';\nimport {actionTypes} from '@servicenow/ui-core';\n\n/**\n * @param {HTMLElement} currentMCP The current element in the DOM to be replaced\n * @param {object} pageFragment The pageFragment to be defined and applied.\n * This can be found in the response of inline_macroponent_drive (result > inlinePageFragments[0])\n * @param {object} newProperties Any configuration data needed for the template that is not in the pageFragment.\n * @param {string} ackAction Name of an action to be dispatched when the newMCP has been Rendered in the DOM.\n *\n * @returns {Promise}\n */\nexport async function recreateMCP(\n\tcurrentMCP,\n\tpageFragment = {},\n\tnewProperties = {},\n\tackAction = ''\n) {\n\tconst existing_mcp_tagName = currentMCP.tagName.toLowerCase();\n\tconst mcp_tagName_deconstructed = existing_mcp_tagName.split('-');\n\tif (mcp_tagName_deconstructed.length < 2) {\n\t\treturn Promise.reject(new Error('Invalid currentMCP tag Name.'));\n\t}\n\n\tlet existing_mcp_suffix =\n\t\tmcp_tagName_deconstructed.length > 2 ? mcp_tagName_deconstructed[2] : '';\n\tlet suffix = Number(existing_mcp_suffix);\n\tif (isNaN(suffix)) {\n\t\treturn Promise.reject(new Error('Invalid suffix on currentMCP.'));\n\t} else {\n\t\tsuffix++;\n\t}\n\n\tconst pageRegistryName = window?.ux_globals?.routeConfiguration?.siteName;\n\tconst pageRegistrySysId =\n\t\twindow?.ux_globals?.experienceConfigs[pageRegistryName]?.experienceId;\n\n\tconst newTemplateProps = newProperties?.screen?.macroponentConfig || {};\n\tconst resolvednewTemplateProps = Object.fromEntries(\n\t\tObject.entries(newTemplateProps).map(([key, value]) => [key, value?.value])\n\t);\n\n\tconst pageFragmentGeneratorFn = await createMacroponentFragmentGenerator(\n\t\tpageFragment,\n\t\tsuffix,\n\t\tfalse,\n\t\tfalse\n\t);\n\tconst template = getAppliedTemplateForFragmentGenerator(\n\t\tpageFragmentGeneratorFn,\n\t\tresolvednewTemplateProps,\n\t\tpageRegistrySysId\n\t);\n\n\tif (ackAction) {\n\t\ttemplate.children[0].addEventListener(\n\t\t\tactionTypes.COMPONENT_DOM_TREE_READY,\n\t\t\t(event) => {\n\t\t\t\tconst dispatch = event?.detail?.payload?.host?.helpers?.dispatch;\n\t\t\t\tif (dispatch) dispatch(ackAction, {element: template.children[0]});\n\t\t\t}\n\t\t);\n\t}\n\tcurrentMCP.replaceWith(template);\n\treturn template;\n}\n","import {deepSearchElement} from './utils';\nimport {MODAL_SELECTED, publicActionHandlerNames} from '../factory/constants';\n\nexport const toggleModalOverrides = (modalPayload) => {\n\tconst canvasModalHoist = findCanvasModalHoist();\n\n\tif (!canvasModalHoist) {\n\t\tconsole.warn('sn-canvas-modal-hoist is not found or mounted yet');\n\t\treturn;\n\t}\n\n\tcanvasModalHoist.dispatch(MODAL_SELECTED, {\n\t\t...modalPayload,\n\t\tskipBlocking: true\n\t});\n};\n\nexport const findCanvasModalHoist = () => {\n\tconst appShellMacroponent = document.querySelector('[macroponent-namespace]');\n\n\tif (\n\t\t!appShellMacroponent ||\n\t\tappShellMacroponent.tagName.toLowerCase().indexOf('macroponent-') !== 0\n\t) {\n\t\tconsole.warn('appShellMacroponent is not found or mounted yet');\n\t\treturn;\n\t}\n\treturn deepSearchElement('sn-canvas-modal-hoist', appShellMacroponent);\n};\n\nexport const openPopoverOverrides = (macroponentSysId, popoverPayload) => {\n\tconst {MACROPONENT_POPOVER_OPEN_REQUESTED} = publicActionHandlerNames;\n\tconst popoverMacroponent = deepSearchElement(\n\t\t'macroponent-' + macroponentSysId\n\t);\n\n\tif (!popoverMacroponent) {\n\t\tconsole.warn(\n\t\t\t'macroponent-%s is not found or mounted yet',\n\t\t\tmacroponentSysId\n\t\t);\n\t\treturn;\n\t}\n\tpopoverMacroponent.dispatch(MACROPONENT_POPOVER_OPEN_REQUESTED, {\n\t\t...popoverPayload,\n\t\tskipBlocking: true\n\t});\n};\n\nexport const openDialogOverrides = (dialogControllerSysId, modelessPayload) => {\n\tconst {OPEN_MODELESS_DIALOG} = publicActionHandlerNames;\n\tconst dialog_controller = deepSearchElement(\n\t\t'macroponent-' + dialogControllerSysId\n\t);\n\tdialog_controller.dispatch(OPEN_MODELESS_DIALOG, {\n\t\t...modelessPayload,\n\t\tskipBlocking: true\n\t});\n};\n\nexport const closeDialogOverrides = (dialogControllerSysId) => {\n\tconst {CLOSE_MODELESS_DIALOG} = publicActionHandlerNames;\n\tconst dialog_controller = deepSearchElement(\n\t\t'macroponent-' + dialogControllerSysId\n\t);\n\tdialog_controller.dispatch(CLOSE_MODELESS_DIALOG, {\n\t\tskipBlocking: true\n\t});\n};\n","/*\n * Overriding Event Propagation.\n *\n * This functionality as provided with UIB preview as its main use case.\n * When UIB is previewing a page, certain actions may want to be ignored.\n *\n * For this case, UIB can simply call blockEvents, exposed through\n * window.uxf.overrideEventPropagation.blockEvents() with a list of events\n * that will be ignored.\n *\n * When preview is complete, blockEvents() should be called again with either\n * an empty list or no parameter at all to make sure that all events are once again\n * handled at run-time.\n */\n\n/*\n * Events currently blocked/ignored.\n */\nexport const macroponentBlockedEvents = {};\n\n/**\n * Block the events via addEventListener to document with capture.\n * @param {Array} events : List of events to be ignored\n * @return void\n */\nexport const blockEvents = (events = []) => {\n\tremoveEventListeners();\n\n\tfor (const evt of events) {\n\t\tlet action = (e) => {\n\t\t\tif (e?.detail?.payload?.skipBlocking) return;\n\t\t\te.stopPropagation();\n\t\t\te.stopImmediatePropagation();\n\t\t};\n\t\tdocument.addEventListener(evt, action, true);\n\t\tmacroponentBlockedEvents[evt] = action;\n\t}\n};\n\n/**\n * Remove all event listeners from the document that are stored\n * in macroponentBlockedEvents.\n * @return void\n */\nexport const removeEventListeners = () => {\n\tfor (const [evt, action] of Object.entries(macroponentBlockedEvents)) {\n\t\tdocument.removeEventListener(evt, action, true);\n\t\tdelete macroponentBlockedEvents[evt];\n\t}\n};\n","import {\n\timportESModule,\n\timportNonModuleScript\n} from '../../../../templateLoader/importESModules';\nimport {isNil, omit, isEmpty} from '@devsnc/snowdash';\nimport {\n\tseedPageFragment,\n\tloadSeededPageFragment\n} from '../../../../templateLoader/getTemplates';\nimport {\n\tgetOffDocumentEvaluationRequests,\n\tmarkEarlyEvaluationInProgress\n} from './earlyEvaluationRegistry';\nimport {processEarlyEvalWithRequests} from './earlyEvaluationEngine';\nimport {getComponentsByTagNames} from '../../../../templateLoader/getComponents';\n\nexport const LOAD_ASSETS = 'load_assets';\nexport const ADD_TO_WINDOW = 'add_to_window';\nexport const LOAD_MACROPONENTS = 'seed_load_macroponents';\nexport const LOAD_COMPONENTS = 'load_components';\n\nexport default (commands = []) => {\n\tcommands.forEach((command) => {\n\t\tconst payload = command?.payload;\n\t\tswitch (command?.commandType) {\n\t\t\tcase LOAD_ASSETS: {\n\t\t\t\tif (command.bundle) {\n\t\t\t\t\tpayload.forEach((asset) => importNonModuleScript(asset));\n\t\t\t\t} else {\n\t\t\t\t\tpayload.forEach((asset) => importESModule(asset));\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase LOAD_MACROPONENTS: {\n\t\t\t\tif (!isEmpty(payload.requests)) {\n\t\t\t\t\tconst newRequests = Object.values(payload.requests);\n\t\t\t\t\tnewRequests.forEach((request) => {\n\t\t\t\t\t\tmarkEarlyEvaluationInProgress(\n\t\t\t\t\t\t\trequest.macroponentSysId,\n\t\t\t\t\t\t\trequest.evaluationId,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\trequest.qualifyingPipelineId,\n\t\t\t\t\t\t\trequest.propValues,\n\t\t\t\t\t\t\trequest.forOffDocumentEvaluation\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\n\t\t\t\t\tconst existingRequests = getOffDocumentEvaluationRequests();\n\t\t\t\t\tprocessEarlyEvalWithRequests(\n\t\t\t\t\t\texistingRequests,\n\t\t\t\t\t\tnewRequests.map((r) => omit(r, 'forOffDocumentEvaluation'))\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tpayload.pageFragments.forEach((pageFragment) => {\n\t\t\t\t\tseedPageFragment(pageFragment);\n\t\t\t\t\tloadSeededPageFragment(pageFragment.sysId);\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase LOAD_COMPONENTS: {\n\t\t\t\tgetComponentsByTagNames(payload);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase ADD_TO_WINDOW: {\n\t\t\t\tconst {path, value} = payload;\n\t\t\t\tif (!isNil(path) && !isNil(value)) {\n\t\t\t\t\tif (!window.uxapp_extensions) window.uxapp_extensions = {};\n\t\t\t\t\twindow.uxapp_extensions[path] = value;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t});\n};\n","import {\n\tgetOffDocumentEvaluationRequests,\n\tmarkEarlyEvaluationInProgress,\n\tresolveRequestPipelinePromise,\n\tupdateResponsesOnError\n} from './earlyEvaluationRegistry';\nimport snHttp from '../../../../snHttpInstance';\nimport extensionCommandsHandler from './extensionCommandsHandler';\nimport {\n\tseedingComplete,\n\tseedPageFragment,\n\tloadSeededPageFragment\n} from '../../../../templateLoader/getTemplates';\nimport {ScreenEngineTaskTracker} from '../../../../utils/screenUtils';\n\nconst EVALUATION_REQUESTS = 'evaluationRequests';\nconst EXTENSION_RESULT = 'extensionResult';\n\nexport const HYDRATE_SCREEN_END_POINT_FOR_CLICK_THROUGH =\n\t'/api/now/uxf/page/hydrate';\n\nexport const DATA_BROKER_END_POINT_FOR_DIRECT_LOAD =\n\t'/api/now/uxf/databroker/exec/macroponent';\n\nexport function processEarlyEvalForOffDocumentRequests() {\n\tconst requests = getOffDocumentEvaluationRequests();\n\tif (requests.length === 0) {\n\t\treturn;\n\t}\n\n\tconst requestsArray = requests.map(\n\t\t({\n\t\t\tmacroponentSysId,\n\t\t\tpropValues,\n\t\t\tevaluationId,\n\t\t\tpageRegistrySysId,\n\t\t\tqualifyingPipelineId\n\t\t}) => ({\n\t\t\tmacroponentSysId,\n\t\t\tpropValues,\n\t\t\tevaluationId,\n\t\t\tpageRegistrySysId,\n\t\t\tqualifyingPipelineId\n\t\t})\n\t);\n\tprocessEarlyEvalWithRequests(requests, requestsArray);\n}\n\nexport function processEarlyEvalWithRequests(\n\trequestsInRegistry,\n\trequestsArray\n) {\n\tsnHttp().then((snHttpInstance) => {\n\t\tconst completedPipelineIdSet = new Set();\n\t\tconst uxrInteractionId =\n\t\t\twindow?.nowUiFramework?.metrics?.uxfInteractionIdBase ||\n\t\t\twindow?.nowUiFramework?.uxrInteractionId;\n\t\tScreenEngineTaskTracker.incrementPendingTaskCount();\n\t\tsnHttpInstance\n\t\t\t.request(DATA_BROKER_END_POINT_FOR_DIRECT_LOAD, 'POST', {\n\t\t\t\tdata: requestsArray,\n\t\t\t\tmultipartConfig: {\n\t\t\t\t\tparsePartsAsJson: true,\n\t\t\t\t\temitCompletedResponse: false,\n\t\t\t\t\tmultipartConsumer: ({body}) => {\n\t\t\t\t\t\tif (body?.[EXTENSION_RESULT]) {\n\t\t\t\t\t\t\tconst commands = body[EXTENSION_RESULT]?.commands;\n\t\t\t\t\t\t\textensionCommandsHandler(commands);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst {pipelineId, evaluationId, evaluation} = body;\n\t\t\t\t\t\t\tcompletedPipelineIdSet.add(pipelineId);\n\t\t\t\t\t\t\tresolveRequestPipelinePromise(\n\t\t\t\t\t\t\t\trequestsInRegistry,\n\t\t\t\t\t\t\t\tevaluationId,\n\t\t\t\t\t\t\t\tpipelineId,\n\t\t\t\t\t\t\t\tevaluation\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\theaders: {\n\t\t\t\t\t'NOW-UX-INTERACTION': uxrInteractionId\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((e) => {\n\t\t\t\tupdateResponsesOnError(requestsInRegistry, completedPipelineIdSet);\n\t\t\t\tconsole.error(\n\t\t\t\t\t`Data broker execution for direct load failed with error: `,\n\t\t\t\t\te\n\t\t\t\t);\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tScreenEngineTaskTracker.decrementPendingTaskCount();\n\t\t\t});\n\t});\n\t// resolve the promise to start the subscreen loading\n\tif (window.subscreenPromise && window.resolveSubscreenPromise) {\n\t\tseedingComplete.then(() => {\n\t\t\tconsole.info('>>> Resolving subscreen promise');\n\t\t\twindow.resolveSubscreenPromise();\n\t\t});\n\t}\n}\n\nexport function processClickThrough(\n\tbody,\n\thydrationKey,\n\trequestsToBeHydrated,\n\tcompletedPipelineIdSet\n) {\n\tif (body?.[EVALUATION_REQUESTS]) {\n\t\tconst requests = body?.[EVALUATION_REQUESTS];\n\t\trequests.forEach((request) => {\n\t\t\trequestsToBeHydrated.push(request);\n\t\t\tconst {\n\t\t\t\tmacroponentSysId,\n\t\t\t\tevaluationId,\n\t\t\t\tqualifyingPipelineId,\n\t\t\t\tforOffDocumentEvaluation,\n\t\t\t\tpropValues\n\t\t\t} = request;\n\t\t\tmarkEarlyEvaluationInProgress(\n\t\t\t\tmacroponentSysId,\n\t\t\t\tevaluationId,\n\t\t\t\t'',\n\t\t\t\tqualifyingPipelineId,\n\t\t\t\tpropValues,\n\t\t\t\tforOffDocumentEvaluation\n\t\t\t);\n\t\t});\n\t\twindow.__uxf_resolve_evaluation_requests[hydrationKey]();\n\t} else if (body?.[EXTENSION_RESULT]) {\n\t\tconst commands = body[EXTENSION_RESULT]?.commands;\n\t\textensionCommandsHandler(commands);\n\t} else {\n\t\tconst {pipelineId, evaluationId, evaluation} = body;\n\t\tcompletedPipelineIdSet.add(pipelineId);\n\t\tresolveRequestPipelinePromise(\n\t\t\tgetOffDocumentEvaluationRequests(),\n\t\t\tevaluationId,\n\t\t\tpipelineId,\n\t\t\tevaluation\n\t\t);\n\t}\n}\n\nexport function processSubscreenSeedingAndLoading(\n\tsubscreenPageFragments,\n\tuxrInteractionId\n) {\n\tScreenEngineTaskTracker.incrementPendingTaskCount();\n\tfor (const value of Object.values(subscreenPageFragments)) {\n\t\tseedPageFragment(value);\n\t}\n\tlet pendingPageFragmentLoadingPromises = [];\n\tfor (const key of Object.keys(subscreenPageFragments)) {\n\t\tpendingPageFragmentLoadingPromises.push(\n\t\t\tloadSeededPageFragment(key, uxrInteractionId)\n\t\t);\n\t}\n\tPromise.allSettled(pendingPageFragmentLoadingPromises).finally(() => {\n\t\tScreenEngineTaskTracker.decrementPendingTaskCount();\n\t});\n}\n","import snHttp from '../../../../snHttpInstance';\nimport {ScreenEngineTaskTracker} from '../../../../utils/screenUtils';\nimport {\n\tprocessClickThrough,\n\tprocessSubscreenSeedingAndLoading\n} from './earlyEvaluationEngine';\nimport {updateResponsesOnError} from './earlyEvaluationRegistry';\n\nconst RESOLVED_SCREEN_ID = 'resolvedScreenId';\nconst SUBSCREEN_PAGE_FRAGMENTS = 'subscreenPageFragments';\n\nexport const HYDRATE_SCREEN_END_POINT_FOR_CLICK_THROUGH =\n\t'/api/now/uxf/page/hydrate';\nconst EXTENSION_POINT_SCRIPT_RESULTS = 'extPointScriptResults';\nconst HYDRATE_CONTEXT = 'hydrateContext';\nconst EFFECTIVE_SUBSCREENS = 'effectiveSubScreens';\n\nexport async function getHydratedScreen(experienceId, screenTypeId, context) {\n\tlet mcpSysId;\n\tconst {hydrationKey} = context;\n\tinitializePromisesIfNeeded(hydrationKey);\n\n\treturn snHttp().then((snHttpInstance) => {\n\t\tconst requestsToBeHydrated = [];\n\t\tconst completedPipelineIdSet = new Set();\n\t\tconst uxrInteractionId =\n\t\t\tcontext.uxrInteractionId || window.nowUiFramework.uxrInteractionId;\n\n\t\tScreenEngineTaskTracker.incrementPendingTaskCount();\n\t\treturn snHttpInstance\n\t\t\t.request(HYDRATE_SCREEN_END_POINT_FOR_CLICK_THROUGH, 'POST', {\n\t\t\t\tdata: {\n\t\t\t\t\texperienceId: experienceId,\n\t\t\t\t\tscreenTypeId: screenTypeId,\n\t\t\t\t\tfields: {...context?.params, ...context?.fields},\n\t\t\t\t\tinteropCtxt: {\n\t\t\t\t\t\tisInterop: context?.isInterop || false,\n\t\t\t\t\t\tinteroperableRouteSysId: context?.interoperableRouteSysId || ''\n\t\t\t\t\t},\n\t\t\t\t\texcludeEarlyEval: false\n\t\t\t\t},\n\t\t\t\tmultipartConfig: {\n\t\t\t\t\tparsePartsAsJson: true,\n\t\t\t\t\temitCompletedResponse: false,\n\t\t\t\t\tmultipartConsumer: ({body}) => {\n\t\t\t\t\t\tif (Object.hasOwn(body, RESOLVED_SCREEN_ID)) {\n\t\t\t\t\t\t\tmcpSysId = body[RESOLVED_SCREEN_ID];\n\t\t\t\t\t\t\tif (window?.__uxf_resolve_screen_id?.[hydrationKey])\n\t\t\t\t\t\t\t\twindow.__uxf_resolve_screen_id[hydrationKey](mcpSysId);\n\t\t\t\t\t\t} else if (body?.[EXTENSION_POINT_SCRIPT_RESULTS]) {\n\t\t\t\t\t\t\tObject.values(body[EXTENSION_POINT_SCRIPT_RESULTS]).forEach(\n\t\t\t\t\t\t\t\t(result) => {\n\t\t\t\t\t\t\t\t\tresult[HYDRATE_CONTEXT] = context;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\twindow.__uxf_resolve_extension_point_script_results[hydrationKey](\n\t\t\t\t\t\t\t\tbody[EXTENSION_POINT_SCRIPT_RESULTS]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if (body?.[SUBSCREEN_PAGE_FRAGMENTS]) {\n\t\t\t\t\t\t\tconst subscreenPageFragments = body[SUBSCREEN_PAGE_FRAGMENTS];\n\t\t\t\t\t\t\tprocessSubscreenSeedingAndLoading(\n\t\t\t\t\t\t\t\tsubscreenPageFragments,\n\t\t\t\t\t\t\t\tuxrInteractionId\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if (body?.[EFFECTIVE_SUBSCREENS]) {\n\t\t\t\t\t\t\tconst effectiveSubscreens = body[EFFECTIVE_SUBSCREENS];\n\t\t\t\t\t\t\twindow.__uxf_resolve_effective_subscreens?.[hydrationKey](\n\t\t\t\t\t\t\t\teffectiveSubscreens\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tprocessClickThrough(\n\t\t\t\t\t\t\t\tbody,\n\t\t\t\t\t\t\t\thydrationKey,\n\t\t\t\t\t\t\t\trequestsToBeHydrated,\n\t\t\t\t\t\t\t\tcompletedPipelineIdSet\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\theaders: {\n\t\t\t\t\t'NOW-UX-INTERACTION': uxrInteractionId\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((e) => {\n\t\t\t\twindow?.__uxf_reject_evaluation_requests?.[hydrationKey]();\n\t\t\t\twindow?.__uxf_reject_extension_point_script_results?.[hydrationKey]();\n\t\t\t\twindow?.__uxf_reject_screen_id?.[hydrationKey]();\n\t\t\t\twindow?.__uxf_reject_effective_subscreens?.[hydrationKey]();\n\t\t\t\tupdateResponsesOnError(requestsToBeHydrated, completedPipelineIdSet);\n\t\t\t\tconsole.error(\n\t\t\t\t\t`Data broker execution for click through failed with error: `,\n\t\t\t\t\te\n\t\t\t\t);\n\t\t\t\tthrow e;\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tScreenEngineTaskTracker.decrementPendingTaskCount();\n\t\t\t});\n\t});\n}\n\nfunction initializePromisesIfNeeded(hydrationKey) {\n\t// Setup request promises\n\tif (!window.__uxf_get_evaluation_requests)\n\t\twindow.__uxf_get_evaluation_requests = {};\n\tif (!window.__uxf_resolve_evaluation_requests)\n\t\twindow.__uxf_resolve_evaluation_requests = {};\n\tif (!window.__uxf_reject_evaluation_requests)\n\t\twindow.__uxf_reject_evaluation_requests = {};\n\twindow.__uxf_get_evaluation_requests[hydrationKey] = new Promise(\n\t\t(resolve, reject) => {\n\t\t\twindow.__uxf_resolve_evaluation_requests[hydrationKey] = resolve;\n\t\t\twindow.__uxf_reject_evaluation_requests[hydrationKey] = reject;\n\t\t}\n\t);\n\n\t// Setup extension point script result promises\n\tif (!window.__uxf_get_extension_point_script_results)\n\t\twindow.__uxf_get_extension_point_script_results = {};\n\tif (!window.__uxf_resolve_extension_point_script_results)\n\t\twindow.__uxf_resolve_extension_point_script_results = {};\n\tif (!window.__uxf_reject_extension_point_script_results)\n\t\twindow.__uxf_reject_extension_point_script_results = {};\n\twindow.__uxf_get_extension_point_script_results[hydrationKey] = new Promise(\n\t\t(resolve, reject) => {\n\t\t\twindow.__uxf_resolve_extension_point_script_results[hydrationKey] =\n\t\t\t\tresolve;\n\t\t\twindow.__uxf_reject_extension_point_script_results[hydrationKey] = reject;\n\t\t}\n\t);\n\n\t// Setup subscreen page fragment promises\n\tif (!window.__uxf_get_effective_subscreens)\n\t\twindow.__uxf_get_effective_subscreens = {};\n\tif (!window.__uxf_resolve_effective_subscreens)\n\t\twindow.__uxf_resolve_effective_subscreens = {};\n\tif (!window.__uxf_reject_effective_subscreens)\n\t\twindow.__uxf_reject_effective_subscreens = {};\n\twindow.__uxf_get_effective_subscreens[hydrationKey] = new Promise(\n\t\t(resolve, reject) => {\n\t\t\twindow.__uxf_resolve_effective_subscreens[hydrationKey] = resolve;\n\t\t\twindow.__uxf_reject_effective_subscreens[hydrationKey] = reject;\n\t\t}\n\t);\n}\n","import {has} from '@devsnc/snowdash';\nimport {whenScreenMacroponentIdleDuringPageLoad} from '@devsnc/uxf-runtime-utils';\nimport {loadTheme, installTheme} from './factory/themeLoader';\nimport macroponentFactory from './factory';\nimport {\n\tcreateTemplateLoader,\n\tseedPageFragment,\n\tsignalSeedingComplete,\n\tloadSeededPageFragment,\n\tgetTemplates,\n\treadBundleAndSeed,\n\tgetPageFragments\n} from './templateLoader/getTemplates.js';\nimport {\n\tregisterClientScript,\n\tregisterClientScriptInclude,\n\tregisterInlineScript,\n\taddNodeObservers,\n\tgetLoaderStats,\n\tonDemandComponent,\n\tonDemandExternal,\n\twasComponentEvaled,\n\twasForceEvaledOnIdle\n} from './scriptLoader';\nimport {\n\tgetComponentsBySysIds,\n\tgetComponentsByTagNames\n} from './templateLoader/getComponents';\nimport getAppliedTemplate, {\n\tgetAppliedTemplatePropValues\n} from './templateLoader/getAppliedTemplate';\nimport {uxfViewportBehavior} from './behaviors/componentViewportBehavior';\nimport setAppConfigToRootMacroponent from './utils/setAppConfigToRootMacroponent';\nimport {daWrappedClickedBehavior} from './behaviors/daWrappedClickedBehavior';\n\nimport createMacroponentLoaderEffect from './effects/macroponentLoaderEffect.js';\nimport createComponentLoaderEffect from './effects/componentLoaderEffect.js';\nimport measureMacroponentTimeToIdleEffect from './effects/measureMacroponentTimeToIdleEffect.js';\nimport createUxfContractBehavior from './behaviors/getUxfContractBehavior';\n\nimport {\n\tcreateSandboxedEvaluator,\n\tdefaultAllowedGlobals\n} from './scriptLoader/evaluator';\n\nimport {\n\tNowUIDriverFactory,\n\tinitializeAtfMode,\n\tdoATFAction,\n\tgetFilteredComponentInstances,\n\tgetAllActionableComponents,\n\tgetAtfActionsByComponent,\n\tgetParametersForTestAction,\n\tsaveAtfStep,\n\tclearClientCache\n} from './atf';\n\n//TODO: This is a stopgap until we can migrate sn-canvas-core to use the viewport runtime for\n//rendering screens.\nimport registerScreenActionTransformer from './factory/behaviorFactories/viewportRuntime/registerScreenActionTransformer';\n\nimport {loadOverriddenScreenEventMappings} from './screenContentOverridesApi/screenEventMappings';\nimport {loadOverriddenMacroponentConfiguration} from './screenContentOverridesApi/screenMacroponentConfiguration';\n\nimport {\n\tinitializeShortcuts,\n\tinitializeContextListeners\n} from '@servicenow/now-trigger-library';\n\nimport {initializeIntentLibrary} from '@devsnc/library-intent-channel';\n\nimport {getMacroponentViewAdapter} from './macroponentAdaptersApi/macroponentView';\nimport {recreateMCP} from './macroponentAdaptersApi/macroponentRecreation';\nimport {\n\ttoggleModalOverrides,\n\topenPopoverOverrides,\n\topenDialogOverrides,\n\tcloseDialogOverrides\n} from './overridesApiForWysiwyg/designTimeHandlers';\nimport {blockEvents} from './eventBlockingApi/eventBlocking';\nimport {getCanvasScreen, getUxrInteractionIdByHost} from './utils/screenUtils';\nimport {processEarlyEvalForOffDocumentRequests} from './factory/databrokers/behaviors/data-broker-runtime/earlyEvaluationEngine';\nimport {\n\tinitializeDataHydrationRegistryResponses,\n\tresolveEarlyEvaluationPipeline\n} from './factory/databrokers/behaviors/data-broker-runtime/earlyEvaluationRegistry';\n\nimport getEmbeddables from './embeddables/getEmbeddables.js';\nimport {getHydratedScreen} from './factory/databrokers/behaviors/data-broker-runtime/hydrateScreenEngine';\nimport {dirtyStateManagerApi} from './factory/dirtyStateManager';\nimport snHttp from './snHttpInstance';\nimport getUxfSysProp from './utils/getUxfSysProp.js';\n\nconst TEMPLATE_LOADER_EXPOSE_NAME = 'templateLoader';\nconst INITIALIZE_SHORTCUTS_MAX_WAIT_MS = 10000;\nconst EARLY_EVALUATION_API_NAME = 'earlyEval';\n\nconst {resolveUxValuesForView, GenerateLayout} = macroponentFactory;\n\nconst sandboxUtils = {\n\tcreateSandboxedEvaluator,\n\tdefaultAllowedGlobals\n};\n\nconst globalUxfObject = {\n\t[EARLY_EVALUATION_API_NAME]: {\n\t\tinitializeDataHydrationRegistryResponses,\n\t\tresolveEarlyEvaluationPipeline,\n\t\tprocessEarlyEvalForOffDocumentRequests,\n\t\tgetHydratedScreen\n\t},\n\tinstallTheme,\n\tmacroponentFactory,\n\tuxfViewportBehavior,\n\tsetAppConfigToRootMacroponent,\n\tNowUIDriverFactory,\n\tgetFilteredComponentInstances,\n\tdoATFAction,\n\tclearClientCache,\n\tgetAllActionableComponents,\n\tgetAtfActionsByComponent,\n\tgetParametersForTestAction,\n\tsaveAtfStep,\n\t[TEMPLATE_LOADER_EXPOSE_NAME]: {\n\t\tgetTemplates,\n\t\tgetComponentsBySysIds,\n\t\tgetComponentsByTagNames,\n\t\tgetAppliedTemplate,\n\t\tcreateTemplateLoader,\n\t\tseedPageFragment,\n\t\tsignalSeedingComplete,\n\t\treadBundleAndSeed,\n\t\tloadSeededPageFragment\n\t},\n\tdirtyStateManager: dirtyStateManagerApi(),\n\tscriptLoader: {\n\t\tgetLoaderStats,\n\t\tonDemandComponent,\n\t\tonDemandExternal,\n\t\twasComponentEvaled,\n\t\twasForceEvaledOnIdle,\n\t\tregisterClientScript,\n\t\tregisterClientScriptInclude,\n\t\tregisterInlineScript\n\t},\n\tscreenContentOverridesApi: {\n\t\tloadOverriddenScreenEventMappings,\n\t\tloadOverriddenMacroponentConfiguration\n\t},\n\tmacroponentAdapters: {\n\t\tgetMacroponentViewAdapter,\n\t\trecreateMCP\n\t},\n\tdesignTimeApi: {\n\t\ttoggleModalOverrides,\n\t\topenPopoverOverrides,\n\t\topenDialogOverrides,\n\t\tcloseDialogOverrides\n\t},\n\toverrideEventPropagation: {\n\t\tblockEvents\n\t},\n\t// these redundant exports exist for backwards-compat reasons\n\tgetTemplates,\n\tgetComponentsBySysIds,\n\tgetComponentsByTagNames,\n\tgetAppliedTemplate,\n\tgetAppliedTemplatePropValues,\n\tregisterScreenActionTransformer,\n\tresolveUxValuesForView,\n\tdaWrappedClickedBehavior,\n\t__DO_NOT_USE_THIS_WILL_BE_REMOVED__createMacroponentLoaderEffect:\n\t\tcreateMacroponentLoaderEffect, // instead, import from @devsnc/uxf-effect-macroponent-loader\n\t__DO_NOT_USE_THIS_WILL_BE_REMOVED__createComponentLoaderEffect:\n\t\tcreateComponentLoaderEffect, // instead, import from @devsnc/uxf-effect-component-loader\n\t__DO_NOT_USE_THIS_WILL_BE_REMOVED__measureMacroponentTimeToIdleEffect:\n\t\tmeasureMacroponentTimeToIdleEffect, // instead, import from @devsnc/uxf-effects\n\t__DO_NOT_USE_THIS_WILL_BE_REMOVED__createUxfContractBehavior:\n\t\tcreateUxfContractBehavior, // instead, import from @devsnc/uxf-effects\n\tsandboxUtils\n};\n\nif (!has(window, ['uxf'])) {\n\twindow.uxf = globalUxfObject;\n\tif (typeof window.__signal_uxfGlobalDefined === 'function') {\n\t\twindow.__signal_uxfGlobalDefined();\n\t}\n}\n\naddNodeObservers();\nloadTheme();\n\n/**\n * Keyboard Shortcut Initialization\n */\ninitializeContextListeners();\nwhenScreenMacroponentIdleDuringPageLoad({\n\tmaxWait: INITIALIZE_SHORTCUTS_MAX_WAIT_MS\n})\n\t.then(() => {\n\t\tinitializeShortcuts();\n\t\tinitializeAtfMode();\n\t\tinitializeIntentLibrary();\n\t})\n\t.catch(console.error);\n\n/**\n * This default export is mainly used by scripts served by UxPageProcessor\n */\n\nexport default globalUxfObject;\n\n/**\n * These named exports are used by any tectonic library/component that imports library-uxf as an npm package.\n */\n\n// Any changes to this and the named exports MUST be kept in sync\nwindow.__TECTONIC__$devsnc_library_uxf = {\n\tdefault: globalUxfObject,\n\tgetTemplates,\n\tGenerateLayout,\n\tgetComponentsBySysIds,\n\tgetComponentsByTagNames,\n\tgetAppliedTemplate,\n\tgetAppliedTemplatePropValues,\n\tregisterScreenActionTransformer,\n\tuxfViewportBehavior,\n\tsetAppConfigToRootMacroponent,\n\tdaWrappedClickedBehavior,\n\tinstallTheme,\n\tresolveUxValuesForView,\n\tcreateTemplateLoader,\n\t__DO_NOT_USE_THIS_WILL_BE_REMOVED__createMacroponentLoaderEffect:\n\t\tcreateMacroponentLoaderEffect,\n\t__DO_NOT_USE_THIS_WILL_BE_REMOVED__createComponentLoaderEffect:\n\t\tcreateComponentLoaderEffect,\n\t__DO_NOT_USE_THIS_WILL_BE_REMOVED__measureMacroponentTimeToIdleEffect:\n\t\tmeasureMacroponentTimeToIdleEffect,\n\t__DO_NOT_USE_THIS_WILL_BE_REMOVED__createUxfContractBehavior:\n\t\tcreateUxfContractBehavior,\n\tsandboxUtils,\n\tNowUIDriverFactory,\n\tgetEmbeddables,\n\tgetFilteredComponentInstances,\n\tdoATFAction,\n\tclearClientCache,\n\tgetAllActionableComponents,\n\tgetAtfActionsByComponent,\n\tgetParametersForTestAction,\n\tsaveAtfStep,\n\tsnHttp\n};\n\nwindow.nowUiFramework = window.nowUiFramework || {};\nwindow.nowUiFramework.getCanvasScreen = getCanvasScreen;\nwindow.nowUiFramework.getUxrInteractionIdByHost = getUxrInteractionIdByHost;\n\nconst isFutureMcpPrefetchEnabled = getUxfSysProp(\n\t'glide.uxf.lib.future_macroponent_prefetch.enabled',\n\t'true'\n);\n\nif (isFutureMcpPrefetchEnabled === 'true' && window?.requestIdleCallback) {\n\t//call getTemplates for screens other than current when macroponentIdle and browserIdle\n\twhenScreenMacroponentIdleDuringPageLoad().then(() => {\n\t\twindow?.requestIdleCallback(() => {\n\t\t\tconst futureMacroponentSysIds =\n\t\t\t\twindow?.__uxfPfBundle?.dependenciesByMacroponentSysId;\n\t\t\tif (\n\t\t\t\tfutureMacroponentSysIds &&\n\t\t\t\tObject.keys(futureMacroponentSysIds).length !== 0\n\t\t\t) {\n\t\t\t\tgetPageFragments(Object.keys(futureMacroponentSysIds), true);\n\t\t\t}\n\t\t});\n\t});\n}\n\nexport {\n\tgetTemplates,\n\tGenerateLayout,\n\tgetComponentsBySysIds,\n\tgetComponentsByTagNames,\n\tgetAppliedTemplate,\n\tgetAppliedTemplatePropValues,\n\tregisterScreenActionTransformer,\n\tuxfViewportBehavior,\n\tsetAppConfigToRootMacroponent,\n\tdaWrappedClickedBehavior,\n\tinstallTheme,\n\tresolveUxValuesForView,\n\tcreateTemplateLoader,\n\tcreateMacroponentLoaderEffect as __DO_NOT_USE_THIS_WILL_BE_REMOVED__createMacroponentLoaderEffect, // instead, import from @devsnc/uxf-effect-macroponent-loader\n\tcreateComponentLoaderEffect as __DO_NOT_USE_THIS_WILL_BE_REMOVED__createComponentLoaderEffect, // instead, import from @devsnc/uxf-effect-component-loader\n\tmeasureMacroponentTimeToIdleEffect as __DO_NOT_USE_THIS_WILL_BE_REMOVED__measureMacroponentTimeToIdleEffect, // instead, import from @devsnc/uxf-effects\n\tcreateUxfContractBehavior as __DO_NOT_USE_THIS_WILL_BE_REMOVED__createUxfContractBehavior, // instead, import from @devsnc/uxf-effects\n\tsandboxUtils,\n\tNowUIDriverFactory,\n\tgetEmbeddables,\n\tgetFilteredComponentInstances,\n\tdoATFAction,\n\tclearClientCache,\n\tgetAllActionableComponents,\n\tgetAtfActionsByComponent,\n\tgetParametersForTestAction,\n\tsaveAtfStep,\n\tsnHttp\n};\n","import getLazyProxy from './getLazyProxy';\nimport makeProvider from './makeProvider';\nimport forceEval from './forceEval';\nimport {setTag, hasSeenTag, setComponent, hasComponent} from './registries';\nimport startCallbackLoop from './forceEvalAssetsOnIdle';\nimport {default as console} from '../../utils/getLogger';\n\nexport default function onDemandComponent(name, tags, fn, useProxy) {\n\tif (hasComponent(name)) {\n\t\tconsole.warn(`Redefining component: ${name}`);\n\t\treturn;\n\t}\n\n\tsetComponent(name, false);\n\tconst provider = makeProvider(name, fn, setComponent);\n\n\tif (!useProxy) {\n\t\tObject.defineProperty(window, name, {\n\t\t\tget: provider,\n\t\t\tconfigurable: true\n\t\t});\n\t} else {\n\t\tObject.defineProperty(window, name, {\n\t\t\tvalue: getLazyProxy(provider),\n\t\t\tconfigurable: true\n\t\t});\n\t}\n\n\ttags.forEach((tag) => {\n\t\tsetTag(tag, name);\n\t});\n\n\tif (tags.some((tag) => hasSeenTag(tag))) {\n\t\tPromise.resolve().then(function () {\n\t\t\tforceEval(name);\n\t\t});\n\t}\n\n\tstartCallbackLoop();\n}\n","import makeProvider from './makeProvider';\nimport getLazyProxy from './getLazyProxy';\nimport {hasExternal, setExternal} from './registries';\nimport startCallbackLoop from './forceEvalAssetsOnIdle';\nimport {default as console} from '../../utils/getLogger';\n\nexport default function onDemandExternal(name, fn, useProxy) {\n\tif (hasExternal(name)) {\n\t\tconsole.warn(`Redefining external: ${name}`);\n\t\treturn;\n\t}\n\n\tsetExternal(name, false);\n\tconst provider = makeProvider(name, fn, setExternal);\n\n\tif (!useProxy) {\n\t\tObject.defineProperty(window, name, {\n\t\t\tget: provider,\n\t\t\tconfigurable: true\n\t\t});\n\t} else {\n\t\tObject.defineProperty(window, name, {\n\t\t\tvalue: getLazyProxy(provider),\n\t\t\tconfigurable: true\n\t\t});\n\t}\n\n\tstartCallbackLoop();\n}\n","import {hasIdleForceEvaledAsset} from './registries';\n\nexport default function wasForceEvaledOnIdle(name) {\n\treturn hasIdleForceEvaledAsset(name);\n}\n","/**\n * @file runtime.js\n * @description Entry point for the library-intent-channel.\n * Initializes and exports a global singleton runtime, containing the generator and translator chains.\n * Also registers global event listeners for communication across browser contexts.\n */\n\nimport {handleStorageEvent} from './sessionStorage/sessionStorageUtils';\nimport {clearActiveTranslatorId} from './sessionStorage/activeTranslatorService';\nimport {MediatorRegistry} from './mediator/registry';\n\n/**\n * Initializes the messaging runtime globally.\n * Safe to call multiple times (no-op after first call).\n * Registers:\n * - `beforeunload` event for clearing active translator state\n * - `storage` event for sessionStorage message dispatching\n * - Instantiates the mediator registry\n *\n * @internal\n */\nexport function initializeIntentLibrary() {\n\twindow.addEventListener('beforeunload', clearActiveTranslatorId);\n\twindow.addEventListener('storage', handleStorageEvent);\n\n\t// Ensure the mediator registry is initialized\n\tMediatorRegistry.getInstance();\n}\n","export default {\n\t\"--now-font-family\": {\n\t\t\"name\": \"fontFamily\",\n\t\t\"initial\": \"'Source Sans Pro', Arial, sans-serif\"\n\t},\n\t\"--now-font-size--lg\": {\n\t\t\"name\": \"fontSize.lg\",\n\t\t\"initial\": \"20px\"\n\t},\n\t\"--now-font-size--lg1\": {\n\t\t\"name\": \"fontSize.lg1\",\n\t\t\"initial\": \"24px\"\n\t},\n\t\"--now-font-size--lg2\": {\n\t\t\"name\": \"fontSize.lg2\",\n\t\t\"initial\": \"28px\"\n\t},\n\t\"--now-font-size--lg3\": {\n\t\t\"name\": \"fontSize.lg3\",\n\t\t\"initial\": \"32px\"\n\t},\n\t\"--now-font-size--md\": {\n\t\t\"name\": \"fontSize.md\",\n\t\t\"initial\": \"14px\"\n\t},\n\t\"--now-font-size--md1\": {\n\t\t\"name\": \"fontSize.md1\",\n\t\t\"initial\": \"16px\"\n\t},\n\t\"--now-font-size--md2\": {\n\t\t\"name\": \"fontSize.md2\",\n\t\t\"initial\": \"18px\"\n\t},\n\t\"--now-font-size--sm\": {\n\t\t\"name\": \"fontSize.sm\",\n\t\t\"initial\": \"12px\"\n\t},\n\t\"--now-font-size--xl\": {\n\t\t\"name\": \"fontSize.xl\",\n\t\t\"initial\": \"40px\"\n\t},\n\t\"--now-font-size--xl1\": {\n\t\t\"name\": \"fontSize.xl1\",\n\t\t\"initial\": \"48px\"\n\t},\n\t\"--now-font-size--xl2\": {\n\t\t\"name\": \"fontSize.xl2\",\n\t\t\"initial\": \"56px\"\n\t},\n\t\"--now-font-size--xl3\": {\n\t\t\"name\": \"fontSize.xl3\",\n\t\t\"initial\": \"64px\"\n\t},\n\t\"--now-font-size--xs\": {\n\t\t\"name\": \"fontSize.xs\",\n\t\t\"initial\": \"10px\"\n\t},\n\t\"$now-global-border-radius--lg\": {\n\t\t\"name\": \"global.borderRadius.lg\",\n\t\t\"initial\": \"8px\"\n\t},\n\t\"$now-global-border-radius--md\": {\n\t\t\"name\": \"global.borderRadius.md\",\n\t\t\"initial\": \"4px\"\n\t},\n\t\"$now-global-border-radius--sm\": {\n\t\t\"name\": \"global.borderRadius.sm\",\n\t\t\"initial\": \"2px\"\n\t},\n\t\"$now-global-drop-shadow--lg\": {\n\t\t\"name\": \"global.dropShadow.lg\",\n\t\t\"initial\": \"0 8px 12px 0 RGB(56, 56, 56, 0.25)\"\n\t},\n\t\"$now-global-drop-shadow--md\": {\n\t\t\"name\": \"global.dropShadow.md\",\n\t\t\"initial\": \"0 4px 8px 0 RGB(56, 56, 56, 0.25)\"\n\t},\n\t\"$now-global-drop-shadow--sm\": {\n\t\t\"name\": \"global.dropShadow.sm\",\n\t\t\"initial\": \"0 2px 4px 0 RGB(56, 56, 56, 0.25)\"\n\t},\n\t\"$now-global-drop-shadow--xl\": {\n\t\t\"name\": \"global.dropShadow.xl\",\n\t\t\"initial\": \"0 12px 16px 0 RGB(56, 56, 56, 0.25)\"\n\t},\n\t\"$now-global-drop-shadow--xxl\": {\n\t\t\"name\": \"global.dropShadow.xxl\",\n\t\t\"initial\": \"0 16px 24px 0 RGB(56, 56, 56, 0.25)\"\n\t},\n\t\"$now-global-font-size--lg\": {\n\t\t\"name\": \"global.fontSize.lg\",\n\t\t\"initial\": \"20px\"\n\t},\n\t\"$now-global-font-size--md\": {\n\t\t\"name\": \"global.fontSize.md\",\n\t\t\"initial\": \"16px\"\n\t},\n\t\"$now-global-font-size--sm\": {\n\t\t\"name\": \"global.fontSize.sm\",\n\t\t\"initial\": \"12px\"\n\t},\n\t\"$now-global-font-size--xl\": {\n\t\t\"name\": \"global.fontSize.xl\",\n\t\t\"initial\": \"24px\"\n\t},\n\t\"$now-global-font-size--xxl\": {\n\t\t\"name\": \"global.fontSize.xxl\",\n\t\t\"initial\": \"32px\"\n\t},\n\t\"$now-global-layer--modal\": {\n\t\t\"name\": \"global.layer.modal\",\n\t\t\"initial\": \"4000\"\n\t},\n\t\"$now-global-layer--nav\": {\n\t\t\"name\": \"global.layer.nav\",\n\t\t\"initial\": \"2000\"\n\t},\n\t\"$now-global-layer--notify\": {\n\t\t\"name\": \"global.layer.notify\",\n\t\t\"initial\": \"3000\"\n\t},\n\t\"$now-global-layer--temp\": {\n\t\t\"name\": \"global.layer.temp\",\n\t\t\"initial\": \"1000\"\n\t},\n\t\"$now-global-layer--tooltip\": {\n\t\t\"name\": \"global.layer.tooltip\",\n\t\t\"initial\": \"5000\"\n\t},\n\t\"$now-global-line-height\": {\n\t\t\"name\": \"global.lineHeight\",\n\t\t\"initial\": \"1.25\"\n\t},\n\t\"$now-global-line-height--sm\": {\n\t\t\"name\": \"global.lineHeightSm\",\n\t\t\"initial\": \"1.3333\"\n\t},\n\t\"$now-global-line-height-crop--after\": {\n\t\t\"name\": \"global.lineHeightCrop.after\",\n\t\t\"initial\": \"-0.125em\"\n\t},\n\t\"$now-global-line-height-crop--before\": {\n\t\t\"name\": \"global.lineHeightCrop.before\",\n\t\t\"initial\": \"-0.25em\"\n\t},\n\t\"$now-global-opacity--least\": {\n\t\t\"name\": \"global.opacity.least\",\n\t\t\"derived\": \"--now-opacity--least\"\n\t},\n\t\"$now-global-opacity--less\": {\n\t\t\"name\": \"global.opacity.less\",\n\t\t\"derived\": \"--now-opacity--less\"\n\t},\n\t\"$now-global-opacity--mid\": {\n\t\t\"name\": \"global.opacity.mid\",\n\t\t\"derived\": \"--now-opacity--mid\"\n\t},\n\t\"$now-global-opacity--more\": {\n\t\t\"name\": \"global.opacity.more\",\n\t\t\"derived\": \"--now-opacity--more\"\n\t},\n\t\"$now-global-opacity--most\": {\n\t\t\"name\": \"global.opacity.most\",\n\t\t\"derived\": \"--now-opacity--most\"\n\t},\n\t\"$now-global-scrollbar-width\": {\n\t\t\"name\": \"global.scrollbarWidth\",\n\t\t\"initial\": \"17px\"\n\t},\n\t\"$now-global-space--3xl\": {\n\t\t\"name\": \"global.space.3Xl\",\n\t\t\"initial\": \"40px\"\n\t},\n\t\"$now-global-space--lg\": {\n\t\t\"name\": \"global.space.lg\",\n\t\t\"initial\": \"16px\"\n\t},\n\t\"$now-global-space--md\": {\n\t\t\"name\": \"global.space.md\",\n\t\t\"initial\": \"12px\"\n\t},\n\t\"$now-global-space--sm\": {\n\t\t\"name\": \"global.space.sm\",\n\t\t\"initial\": \"8px\"\n\t},\n\t\"$now-global-space--xl\": {\n\t\t\"name\": \"global.space.xl\",\n\t\t\"initial\": \"24px\"\n\t},\n\t\"$now-global-space--xs\": {\n\t\t\"name\": \"global.space.xs\",\n\t\t\"initial\": \"4px\"\n\t},\n\t\"$now-global-space--xxl\": {\n\t\t\"name\": \"global.space.xxl\",\n\t\t\"initial\": \"32px\"\n\t},\n\t\"$now-global-space--xxs\": {\n\t\t\"name\": \"global.space.xxs\",\n\t\t\"initial\": \"2px\"\n\t},\n\t\"--now-line-height-crop--after\": {\n\t\t\"name\": \"lineHeightCrop.after\",\n\t\t\"initial\": \"-0.125em\"\n\t},\n\t\"--now-line-height-crop--before\": {\n\t\t\"name\": \"lineHeightCrop.before\",\n\t\t\"initial\": \"-0.25em\"\n\t},\n\t\"--now-opacity--least\": {\n\t\t\"name\": \"opacity.least\",\n\t\t\"initial\": \"0.1\"\n\t},\n\t\"--now-opacity--less\": {\n\t\t\"name\": \"opacity.less\",\n\t\t\"initial\": \"0.25\"\n\t},\n\t\"--now-opacity--mid\": {\n\t\t\"name\": \"opacity.mid\",\n\t\t\"initial\": \"0.5\"\n\t},\n\t\"--now-opacity--more\": {\n\t\t\"name\": \"opacity.more\",\n\t\t\"initial\": \"0.65\"\n\t},\n\t\"--now-opacity--most\": {\n\t\t\"name\": \"opacity.most\",\n\t\t\"initial\": \"0.8\"\n\t}\n}","/*\n * # AUTO GENERATED\n *\n * The following hook definition files can be auto-generated by running the\n * command `.bin/theme-behavior-json` from the root of the design-system repo:\n *\n * - system.colors.js\n * - datavis.colors.js\n * - categories.js\n * - globals.js\n *\n * # COLOR HOOK SYNTAX\n *\n * Color hooks with initial do not inherit from other color hooks when not\n * defined in the application's theme. In the unlikely case they are not defined\n * in the theme they default to a real value (like #fff). They also don't have\n * different definitions for their light vs. dark theme.\n *\n * Color hooks with derived inherit from one or more other color hooks when\n * not defined in the application's theme. They generally (though not always)\n * have different definitions for light vs. dark theme.\n *\n * Examples:\n * - color.neutral0 --> #fff\n * - color.backgroundPrimary --[light]--> color.neutral0 --> #fff\n * - color.backgroundPrimary --[dark]---> color.neutral18 --> #161b1c\n */\n\nimport globals from './globals.js';\n// @TODO: Need dark derived, not just light derived. Using light for both\n// right now to simplify things. We don't strictly need dark theme in Quebec.\nimport systemColors from './system.colors.js';\nimport datavisColors from './datavis.colors.js';\nimport categories from './categories.js';\n\nexport default {\n\t...globals,\n\t...systemColors,\n\t...datavisColors,\n\t...categories,\n};\n","export default {\n\t\"--now-color_alert--critical-0\": {\n\t\t\"name\": \"color.alert.critical0\",\n\t\t\"initial\": \"241,206,205\"\n\t},\n\t\"--now-color_alert--critical-1\": {\n\t\t\"name\": \"color.alert.critical1\",\n\t\t\"initial\": \"221,133,129\"\n\t},\n\t\"--now-color_alert--critical-2\": {\n\t\t\"name\": \"color.alert.critical2\",\n\t\t\"initial\": \"200,60,54\"\n\t},\n\t\"--now-color_alert--critical-3\": {\n\t\t\"name\": \"color.alert.critical3\",\n\t\t\"initial\": \"160,48,43\"\n\t},\n\t\"--now-color_alert--critical-4\": {\n\t\t\"name\": \"color.alert.critical4\",\n\t\t\"initial\": \"120,36,32\"\n\t},\n\t\"--now-color_alert--critical-5\": {\n\t\t\"name\": \"color.alert.critical5\",\n\t\t\"initial\": \"80,24,22\"\n\t},\n\t\"--now-color_alert--high-0\": {\n\t\t\"name\": \"color.alert.high0\",\n\t\t\"initial\": \"247,228,200\"\n\t},\n\t\"--now-color_alert--high-1\": {\n\t\t\"name\": \"color.alert.high1\",\n\t\t\"initial\": \"234,186,117\"\n\t},\n\t\"--now-color_alert--high-2\": {\n\t\t\"name\": \"color.alert.high2\",\n\t\t\"initial\": \"221,145,34\"\n\t},\n\t\"--now-color_alert--high-3\": {\n\t\t\"name\": \"color.alert.high3\",\n\t\t\"initial\": \"177,116,27\"\n\t},\n\t\"--now-color_alert--high-4\": {\n\t\t\"name\": \"color.alert.high4\",\n\t\t\"initial\": \"133,87,20\"\n\t},\n\t\"--now-color_alert--high-5\": {\n\t\t\"name\": \"color.alert.high5\",\n\t\t\"initial\": \"88,58,14\"\n\t},\n\t\"--now-color_alert--info-0\": {\n\t\t\"name\": \"color.alert.info0\",\n\t\t\"initial\": \"195,221,240\"\n\t},\n\t\"--now-color_alert--info-1\": {\n\t\t\"name\": \"color.alert.info1\",\n\t\t\"initial\": \"104,171,218\"\n\t},\n\t\"--now-color_alert--info-2\": {\n\t\t\"name\": \"color.alert.info2\",\n\t\t\"initial\": \"14,120,196\"\n\t},\n\t\"--now-color_alert--info-3\": {\n\t\t\"name\": \"color.alert.info3\",\n\t\t\"initial\": \"11,96,157\"\n\t},\n\t\"--now-color_alert--info-4\": {\n\t\t\"name\": \"color.alert.info4\",\n\t\t\"initial\": \"8,72,118\"\n\t},\n\t\"--now-color_alert--info-5\": {\n\t\t\"name\": \"color.alert.info5\",\n\t\t\"initial\": \"6,48,78\"\n\t},\n\t\"--now-color_alert--low-0\": {\n\t\t\"name\": \"color.alert.low0\",\n\t\t\"initial\": \"217,217,217\"\n\t},\n\t\"--now-color_alert--low-1\": {\n\t\t\"name\": \"color.alert.low1\",\n\t\t\"initial\": \"159,159,159\"\n\t},\n\t\"--now-color_alert--low-2\": {\n\t\t\"name\": \"color.alert.low2\",\n\t\t\"initial\": \"102,102,102\"\n\t},\n\t\"--now-color_alert--low-3\": {\n\t\t\"name\": \"color.alert.low3\",\n\t\t\"initial\": \"82,82,82\"\n\t},\n\t\"--now-color_alert--low-4\": {\n\t\t\"name\": \"color.alert.low4\",\n\t\t\"initial\": \"61,61,61\"\n\t},\n\t\"--now-color_alert--low-5\": {\n\t\t\"name\": \"color.alert.low5\",\n\t\t\"initial\": \"41,41,41\"\n\t},\n\t\"--now-color_alert--moderate-0\": {\n\t\t\"name\": \"color.alert.moderate0\",\n\t\t\"initial\": \"212,213,243\"\n\t},\n\t\"--now-color_alert--moderate-1\": {\n\t\t\"name\": \"color.alert.moderate1\",\n\t\t\"initial\": \"148,149,225\"\n\t},\n\t\"--now-color_alert--moderate-2\": {\n\t\t\"name\": \"color.alert.moderate2\",\n\t\t\"initial\": \"84,86,207\"\n\t},\n\t\"--now-color_alert--moderate-3\": {\n\t\t\"name\": \"color.alert.moderate3\",\n\t\t\"initial\": \"67,69,166\"\n\t},\n\t\"--now-color_alert--moderate-4\": {\n\t\t\"name\": \"color.alert.moderate4\",\n\t\t\"initial\": \"50,52,124\"\n\t},\n\t\"--now-color_alert--moderate-5\": {\n\t\t\"name\": \"color.alert.moderate5\",\n\t\t\"initial\": \"34,34,83\"\n\t},\n\t\"--now-color_alert--positive-0\": {\n\t\t\"name\": \"color.alert.positive0\",\n\t\t\"initial\": \"201,224,202\"\n\t},\n\t\"--now-color_alert--positive-1\": {\n\t\t\"name\": \"color.alert.positive1\",\n\t\t\"initial\": \"119,178,123\"\n\t},\n\t\"--now-color_alert--positive-2\": {\n\t\t\"name\": \"color.alert.positive2\",\n\t\t\"initial\": \"37,131,43\"\n\t},\n\t\"--now-color_alert--positive-3\": {\n\t\t\"name\": \"color.alert.positive3\",\n\t\t\"initial\": \"30,105,34\"\n\t},\n\t\"--now-color_alert--positive-4\": {\n\t\t\"name\": \"color.alert.positive4\",\n\t\t\"initial\": \"22,79,26\"\n\t},\n\t\"--now-color_alert--positive-5\": {\n\t\t\"name\": \"color.alert.positive5\",\n\t\t\"initial\": \"15,52,17\"\n\t},\n\t\"--now-color_alert--warning-0\": {\n\t\t\"name\": \"color.alert.warning0\",\n\t\t\"initial\": \"244,240,191\"\n\t},\n\t\"--now-color_alert--warning-1\": {\n\t\t\"name\": \"color.alert.warning1\",\n\t\t\"initial\": \"227,218,96\"\n\t},\n\t\"--now-color_alert--warning-2\": {\n\t\t\"name\": \"color.alert.warning2\",\n\t\t\"initial\": \"210,195,0\"\n\t},\n\t\"--now-color_alert--warning-3\": {\n\t\t\"name\": \"color.alert.warning3\",\n\t\t\"initial\": \"198,185,22\"\n\t},\n\t\"--now-color_alert--warning-4\": {\n\t\t\"name\": \"color.alert.warning4\",\n\t\t\"initial\": \"149,139,17\"\n\t},\n\t\"--now-color_alert--warning-5\": {\n\t\t\"name\": \"color.alert.warning5\",\n\t\t\"initial\": \"99,92,11\"\n\t},\n\t\"--now-color_background--primary\": {\n\t\t\"name\": \"color.background.primary\",\n\t\t\"derived\": \"--now-color--neutral-0\"\n\t},\n\t\"--now-color_background--primary-actionable\": {\n\t\t\"name\": \"color.background.primaryActionable\",\n\t\t\"derived\": \"--now-color--neutral-18\"\n\t},\n\t\"--now-color_background--secondary\": {\n\t\t\"name\": \"color.background.secondary\",\n\t\t\"derived\": \"--now-color--neutral-1\"\n\t},\n\t\"--now-color_background--secondary-actionable\": {\n\t\t\"name\": \"color.background.secondaryActionable\",\n\t\t\"derived\": \"--now-color--neutral-15\"\n\t},\n\t\"--now-color_background--tertiary\": {\n\t\t\"name\": \"color.background.tertiary\",\n\t\t\"derived\": \"--now-color--neutral-2\"\n\t},\n\t\"--now-color_background--tertiary-actionable\": {\n\t\t\"name\": \"color.background.tertiaryActionable\",\n\t\t\"derived\": \"--now-color--neutral-12\"\n\t},\n\t\"--now-color_border--primary\": {\n\t\t\"name\": \"color.border.primary\",\n\t\t\"derived\": \"--now-color--neutral-7\"\n\t},\n\t\"--now-color_border--primary-actionable\": {\n\t\t\"name\": \"color.border.primaryActionable\",\n\t\t\"derived\": \"--now-color--neutral-18\"\n\t},\n\t\"--now-color_border--secondary\": {\n\t\t\"name\": \"color.border.secondary\",\n\t\t\"derived\": \"--now-color--neutral-5\"\n\t},\n\t\"--now-color_border--secondary-actionable\": {\n\t\t\"name\": \"color.border.secondaryActionable\",\n\t\t\"derived\": \"--now-color--neutral-15\"\n\t},\n\t\"--now-color_border--tertiary\": {\n\t\t\"name\": \"color.border.tertiary\",\n\t\t\"derived\": \"--now-color--neutral-3\"\n\t},\n\t\"--now-color_border--tertiary-actionable\": {\n\t\t\"name\": \"color.border.tertiaryActionable\",\n\t\t\"derived\": \"--now-color--neutral-12\"\n\t},\n\t\"--now-color_brand--neutral\": {\n\t\t\"name\": \"color.brand.neutral\",\n\t\t\"initial\": \"255,255,255\"\n\t},\n\t\"--now-color_brand--primary\": {\n\t\t\"name\": \"color.brand.primary\",\n\t\t\"initial\": \"41,62,64\"\n\t},\n\t\"--now-color_brand--secondary\": {\n\t\t\"name\": \"color.brand.secondary\",\n\t\t\"initial\": \"129,181,161\"\n\t},\n\t\"--now-color_chrome--brand-0\": {\n\t\t\"name\": \"color.chrome.brand0\",\n\t\t\"initial\": \"223,226,226\"\n\t},\n\t\"--now-color_chrome--brand-1\": {\n\t\t\"name\": \"color.chrome.brand1\",\n\t\t\"initial\": \"187,194,194\"\n\t},\n\t\"--now-color_chrome--brand-10\": {\n\t\t\"name\": \"color.chrome.brand10\",\n\t\t\"initial\": \"21,32,32\"\n\t},\n\t\"--now-color_chrome--brand-2\": {\n\t\t\"name\": \"color.chrome.brand2\",\n\t\t\"initial\": \"150,161,161\"\n\t},\n\t\"--now-color_chrome--brand-3\": {\n\t\t\"name\": \"color.chrome.brand3\",\n\t\t\"initial\": \"114,128,129\"\n\t},\n\t\"--now-color_chrome--brand-4\": {\n\t\t\"name\": \"color.chrome.brand4\",\n\t\t\"initial\": \"77,96,97\"\n\t},\n\t\"--now-color_chrome--brand-5\": {\n\t\t\"name\": \"color.chrome.brand5\",\n\t\t\"initial\": \"41,63,64\"\n\t},\n\t\"--now-color_chrome--brand-6\": {\n\t\t\"name\": \"color.chrome.brand6\",\n\t\t\"initial\": \"37,57,58\"\n\t},\n\t\"--now-color_chrome--brand-7\": {\n\t\t\"name\": \"color.chrome.brand7\",\n\t\t\"initial\": \"33,50,51\"\n\t},\n\t\"--now-color_chrome--brand-8\": {\n\t\t\"name\": \"color.chrome.brand8\",\n\t\t\"initial\": \"29,44,45\"\n\t},\n\t\"--now-color_chrome--brand-9\": {\n\t\t\"name\": \"color.chrome.brand9\",\n\t\t\"initial\": \"25,38,38\"\n\t},\n\t\"--now-color_chrome--divider-0\": {\n\t\t\"name\": \"color.chrome.divider0\",\n\t\t\"initial\": \"169,178,179\"\n\t},\n\t\"--now-color_chrome--divider-1\": {\n\t\t\"name\": \"color.chrome.divider1\",\n\t\t\"initial\": \"144,155,156\"\n\t},\n\t\"--now-color_chrome--divider-10\": {\n\t\t\"name\": \"color.chrome.divider10\",\n\t\t\"initial\": \"8,13,13\"\n\t},\n\t\"--now-color_chrome--divider-2\": {\n\t\t\"name\": \"color.chrome.divider2\",\n\t\t\"initial\": \"118,132,133\"\n\t},\n\t\"--now-color_chrome--divider-3\": {\n\t\t\"name\": \"color.chrome.divider3\",\n\t\t\"initial\": \"92,109,110\"\n\t},\n\t\"--now-color_chrome--divider-4\": {\n\t\t\"name\": \"color.chrome.divider4\",\n\t\t\"initial\": \"67,86,87\"\n\t},\n\t\"--now-color_chrome--divider-5\": {\n\t\t\"name\": \"color.chrome.divider5\",\n\t\t\"initial\": \"36,55,56\"\n\t},\n\t\"--now-color_chrome--divider-6\": {\n\t\t\"name\": \"color.chrome.divider6\",\n\t\t\"initial\": \"30,46,47\"\n\t},\n\t\"--now-color_chrome--divider-7\": {\n\t\t\"name\": \"color.chrome.divider7\",\n\t\t\"initial\": \"25,38,38\"\n\t},\n\t\"--now-color_chrome--divider-8\": {\n\t\t\"name\": \"color.chrome.divider8\",\n\t\t\"initial\": \"19,29,30\"\n\t},\n\t\"--now-color_chrome--divider-9\": {\n\t\t\"name\": \"color.chrome.divider9\",\n\t\t\"initial\": \"14,21,21\"\n\t},\n\t\"--now-color_divider--primary\": {\n\t\t\"name\": \"color.divider.primary\",\n\t\t\"derived\": \"--now-color--neutral-7\"\n\t},\n\t\"--now-color_divider--secondary\": {\n\t\t\"name\": \"color.divider.secondary\",\n\t\t\"derived\": \"--now-color--neutral-5\"\n\t},\n\t\"--now-color_divider--tertiary\": {\n\t\t\"name\": \"color.divider.tertiary\",\n\t\t\"derived\": \"--now-color--neutral-3\"\n\t},\n\t\"--now-color_focus-ring\": {\n\t\t\"name\": \"color.focusRing\",\n\t\t\"derived\": \"--now-color--secondary-1\"\n\t},\n\t\"--now-color_focus-ring_shadow\": {\n\t\t\"name\": \"color.focusRing.shadow\",\n\t\t\"derived\": \"--now-color_background--primary\"\n\t},\n\t\"--now-color_grouped--blue-0\": {\n\t\t\"name\": \"color.grouped.blue0\",\n\t\t\"initial\": \"215,231,240\"\n\t},\n\t\"--now-color_grouped--blue-1\": {\n\t\t\"name\": \"color.grouped.blue1\",\n\t\t\"initial\": \"167,204,222\"\n\t},\n\t\"--now-color_grouped--blue-2\": {\n\t\t\"name\": \"color.grouped.blue2\",\n\t\t\"initial\": \"120,176,204\"\n\t},\n\t\"--now-color_grouped--blue-3\": {\n\t\t\"name\": \"color.grouped.blue3\",\n\t\t\"initial\": \"102,150,173\"\n\t},\n\t\"--now-color_grouped--blue-4\": {\n\t\t\"name\": \"color.grouped.blue4\",\n\t\t\"initial\": \"84,123,143\"\n\t},\n\t\"--now-color_grouped--blue-5\": {\n\t\t\"name\": \"color.grouped.blue5\",\n\t\t\"initial\": \"66,97,112\"\n\t},\n\t\"--now-color_grouped--brown-0\": {\n\t\t\"name\": \"color.grouped.brown0\",\n\t\t\"initial\": \"225,220,214\"\n\t},\n\t\"--now-color_grouped--brown-1\": {\n\t\t\"name\": \"color.grouped.brown1\",\n\t\t\"initial\": \"191,179,167\"\n\t},\n\t\"--now-color_grouped--brown-2\": {\n\t\t\"name\": \"color.grouped.brown2\",\n\t\t\"initial\": \"156,138,119\"\n\t},\n\t\"--now-color_grouped--brown-3\": {\n\t\t\"name\": \"color.grouped.brown3\",\n\t\t\"initial\": \"133,117,101\"\n\t},\n\t\"--now-color_grouped--brown-4\": {\n\t\t\"name\": \"color.grouped.brown4\",\n\t\t\"initial\": \"109,97,83\"\n\t},\n\t\"--now-color_grouped--brown-5\": {\n\t\t\"name\": \"color.grouped.brown5\",\n\t\t\"initial\": \"86,76,66\"\n\t},\n\t\"--now-color_grouped--gray-0\": {\n\t\t\"name\": \"color.grouped.gray0\",\n\t\t\"initial\": \"220,222,224\"\n\t},\n\t\"--now-color_grouped--gray-1\": {\n\t\t\"name\": \"color.grouped.gray1\",\n\t\t\"initial\": \"180,184,187\"\n\t},\n\t\"--now-color_grouped--gray-2\": {\n\t\t\"name\": \"color.grouped.gray2\",\n\t\t\"initial\": \"139,145,150\"\n\t},\n\t\"--now-color_grouped--gray-3\": {\n\t\t\"name\": \"color.grouped.gray3\",\n\t\t\"initial\": \"118,123,128\"\n\t},\n\t\"--now-color_grouped--gray-4\": {\n\t\t\"name\": \"color.grouped.gray4\",\n\t\t\"initial\": \"97,102,105\"\n\t},\n\t\"--now-color_grouped--gray-5\": {\n\t\t\"name\": \"color.grouped.gray5\",\n\t\t\"initial\": \"77,80,83\"\n\t},\n\t\"--now-color_grouped--green-0\": {\n\t\t\"name\": \"color.grouped.green0\",\n\t\t\"initial\": \"223,230,216\"\n\t},\n\t\"--now-color_grouped--green-1\": {\n\t\t\"name\": \"color.grouped.green1\",\n\t\t\"initial\": \"185,200,171\"\n\t},\n\t\"--now-color_grouped--green-2\": {\n\t\t\"name\": \"color.grouped.green2\",\n\t\t\"initial\": \"147,170,125\"\n\t},\n\t\"--now-color_grouped--green-3\": {\n\t\t\"name\": \"color.grouped.green3\",\n\t\t\"initial\": \"125,145,106\"\n\t},\n\t\"--now-color_grouped--green-4\": {\n\t\t\"name\": \"color.grouped.green4\",\n\t\t\"initial\": \"103,119,88\"\n\t},\n\t\"--now-color_grouped--green-5\": {\n\t\t\"name\": \"color.grouped.green5\",\n\t\t\"initial\": \"81,94,69\"\n\t},\n\t\"--now-color_grouped--green-yellow-0\": {\n\t\t\"name\": \"color.grouped.greenYellow0\",\n\t\t\"initial\": \"225,230,207\"\n\t},\n\t\"--now-color_grouped--green-yellow-1\": {\n\t\t\"name\": \"color.grouped.greenYellow1\",\n\t\t\"initial\": \"189,202,150\"\n\t},\n\t\"--now-color_grouped--green-yellow-2\": {\n\t\t\"name\": \"color.grouped.greenYellow2\",\n\t\t\"initial\": \"154,173,94\"\n\t},\n\t\"--now-color_grouped--green-yellow-3\": {\n\t\t\"name\": \"color.grouped.greenYellow3\",\n\t\t\"initial\": \"131,147,80\"\n\t},\n\t\"--now-color_grouped--green-yellow-4\": {\n\t\t\"name\": \"color.grouped.greenYellow4\",\n\t\t\"initial\": \"108,121,66\"\n\t},\n\t\"--now-color_grouped--green-yellow-5\": {\n\t\t\"name\": \"color.grouped.greenYellow5\",\n\t\t\"initial\": \"85,95,52\"\n\t},\n\t\"--now-color_grouped--magenta-0\": {\n\t\t\"name\": \"color.grouped.magenta0\",\n\t\t\"initial\": \"239,215,236\"\n\t},\n\t\"--now-color_grouped--magenta-1\": {\n\t\t\"name\": \"color.grouped.magenta1\",\n\t\t\"initial\": \"221,168,215\"\n\t},\n\t\"--now-color_grouped--magenta-2\": {\n\t\t\"name\": \"color.grouped.magenta2\",\n\t\t\"initial\": \"203,121,193\"\n\t},\n\t\"--now-color_grouped--magenta-3\": {\n\t\t\"name\": \"color.grouped.magenta3\",\n\t\t\"initial\": \"173,103,164\"\n\t},\n\t\"--now-color_grouped--magenta-4\": {\n\t\t\"name\": \"color.grouped.magenta4\",\n\t\t\"initial\": \"142,85,135\"\n\t},\n\t\"--now-color_grouped--magenta-5\": {\n\t\t\"name\": \"color.grouped.magenta5\",\n\t\t\"initial\": \"112,67,106\"\n\t},\n\t\"--now-color_grouped--orange-0\": {\n\t\t\"name\": \"color.grouped.orange0\",\n\t\t\"initial\": \"243,217,210\"\n\t},\n\t\"--now-color_grouped--orange-1\": {\n\t\t\"name\": \"color.grouped.orange1\",\n\t\t\"initial\": \"229,173,158\"\n\t},\n\t\"--now-color_grouped--orange-2\": {\n\t\t\"name\": \"color.grouped.orange2\",\n\t\t\"initial\": \"215,129,106\"\n\t},\n\t\"--now-color_grouped--orange-3\": {\n\t\t\"name\": \"color.grouped.orange3\",\n\t\t\"initial\": \"183,110,90\"\n\t},\n\t\"--now-color_grouped--orange-4\": {\n\t\t\"name\": \"color.grouped.orange4\",\n\t\t\"initial\": \"151,90,74\"\n\t},\n\t\"--now-color_grouped--orange-5\": {\n\t\t\"name\": \"color.grouped.orange5\",\n\t\t\"initial\": \"118,71,58\"\n\t},\n\t\"--now-color_grouped--pink-0\": {\n\t\t\"name\": \"color.grouped.pink0\",\n\t\t\"initial\": \"239,215,221\"\n\t},\n\t\"--now-color_grouped--pink-1\": {\n\t\t\"name\": \"color.grouped.pink1\",\n\t\t\"initial\": \"221,168,182\"\n\t},\n\t\"--now-color_grouped--pink-2\": {\n\t\t\"name\": \"color.grouped.pink2\",\n\t\t\"initial\": \"203,121,143\"\n\t},\n\t\"--now-color_grouped--pink-3\": {\n\t\t\"name\": \"color.grouped.pink3\",\n\t\t\"initial\": \"173,103,122\"\n\t},\n\t\"--now-color_grouped--pink-4\": {\n\t\t\"name\": \"color.grouped.pink4\",\n\t\t\"initial\": \"142,85,100\"\n\t},\n\t\"--now-color_grouped--pink-5\": {\n\t\t\"name\": \"color.grouped.pink5\",\n\t\t\"initial\": \"112,67,79\"\n\t},\n\t\"--now-color_grouped--purple-0\": {\n\t\t\"name\": \"color.grouped.purple0\",\n\t\t\"initial\": \"233,225,241\"\n\t},\n\t\"--now-color_grouped--purple-1\": {\n\t\t\"name\": \"color.grouped.purple1\",\n\t\t\"initial\": \"207,190,225\"\n\t},\n\t\"--now-color_grouped--purple-2\": {\n\t\t\"name\": \"color.grouped.purple2\",\n\t\t\"initial\": \"181,155,209\"\n\t},\n\t\"--now-color_grouped--purple-3\": {\n\t\t\"name\": \"color.grouped.purple3\",\n\t\t\"initial\": \"154,132,178\"\n\t},\n\t\"--now-color_grouped--purple-4\": {\n\t\t\"name\": \"color.grouped.purple4\",\n\t\t\"initial\": \"127,109,146\"\n\t},\n\t\"--now-color_grouped--purple-5\": {\n\t\t\"name\": \"color.grouped.purple5\",\n\t\t\"initial\": \"100,85,115\"\n\t},\n\t\"--now-color_grouped--teal-0\": {\n\t\t\"name\": \"color.grouped.teal0\",\n\t\t\"initial\": \"210,231,227\"\n\t},\n\t\"--now-color_grouped--teal-1\": {\n\t\t\"name\": \"color.grouped.teal1\",\n\t\t\"initial\": \"157,202,195\"\n\t},\n\t\"--now-color_grouped--teal-2\": {\n\t\t\"name\": \"color.grouped.teal2\",\n\t\t\"initial\": \"104,174,163\"\n\t},\n\t\"--now-color_grouped--teal-3\": {\n\t\t\"name\": \"color.grouped.teal3\",\n\t\t\"initial\": \"88,148,139\"\n\t},\n\t\"--now-color_grouped--teal-4\": {\n\t\t\"name\": \"color.grouped.teal4\",\n\t\t\"initial\": \"73,122,114\"\n\t},\n\t\"--now-color_grouped--teal-5\": {\n\t\t\"name\": \"color.grouped.teal5\",\n\t\t\"initial\": \"57,96,90\"\n\t},\n\t\"--now-color_grouped--yellow-0\": {\n\t\t\"name\": \"color.grouped.yellow0\",\n\t\t\"initial\": \"251,241,209\"\n\t},\n\t\"--now-color_grouped--yellow-1\": {\n\t\t\"name\": \"color.grouped.yellow1\",\n\t\t\"initial\": \"245,224,155\"\n\t},\n\t\"--now-color_grouped--yellow-2\": {\n\t\t\"name\": \"color.grouped.yellow2\",\n\t\t\"initial\": \"240,207,101\"\n\t},\n\t\"--now-color_grouped--yellow-3\": {\n\t\t\"name\": \"color.grouped.yellow3\",\n\t\t\"initial\": \"204,176,86\"\n\t},\n\t\"--now-color_grouped--yellow-4\": {\n\t\t\"name\": \"color.grouped.yellow4\",\n\t\t\"initial\": \"168,145,71\"\n\t},\n\t\"--now-color_grouped--yellow-5\": {\n\t\t\"name\": \"color.grouped.yellow5\",\n\t\t\"initial\": \"132,114,56\"\n\t},\n\t\"--now-color_presence--available\": {\n\t\t\"name\": \"color.presence.available\",\n\t\t\"initial\": \"75,166,107\"\n\t},\n\t\"--now-color_presence--away\": {\n\t\t\"name\": \"color.presence.away\",\n\t\t\"initial\": \"226,121,24\"\n\t},\n\t\"--now-color_presence--busy\": {\n\t\t\"name\": \"color.presence.busy\",\n\t\t\"initial\": \"234,60,16\"\n\t},\n\t\"--now-color_presence--offline\": {\n\t\t\"name\": \"color.presence.offline\",\n\t\t\"initial\": \"135,147,148\"\n\t},\n\t\"--now-color_selection--primary-0\": {\n\t\t\"name\": \"color.selection.primary0\",\n\t\t\"initial\": \"221,237,233\"\n\t},\n\t\"--now-color_selection--primary-1\": {\n\t\t\"name\": \"color.selection.primary1\",\n\t\t\"initial\": \"126,185,171\"\n\t},\n\t\"--now-color_selection--primary-2\": {\n\t\t\"name\": \"color.selection.primary2\",\n\t\t\"initial\": \"30,133,109\"\n\t},\n\t\"--now-color_selection--primary-3\": {\n\t\t\"name\": \"color.selection.primary3\",\n\t\t\"initial\": \"23,100,82\"\n\t},\n\t\"--now-color_selection--primary-4\": {\n\t\t\"name\": \"color.selection.primary4\",\n\t\t\"initial\": \"15,67,55\"\n\t},\n\t\"--now-color_selection--secondary-0\": {\n\t\t\"name\": \"color.selection.secondary0\",\n\t\t\"initial\": \"245,248,249\"\n\t},\n\t\"--now-color_selection--secondary-1\": {\n\t\t\"name\": \"color.selection.secondary1\",\n\t\t\"initial\": \"237,243,245\"\n\t},\n\t\"--now-color_selection--secondary-2\": {\n\t\t\"name\": \"color.selection.secondary2\",\n\t\t\"initial\": \"229,238,240\"\n\t},\n\t\"--now-color_selection--secondary-3\": {\n\t\t\"name\": \"color.selection.secondary3\",\n\t\t\"initial\": \"218,226,228\"\n\t},\n\t\"--now-color_selection--secondary-4\": {\n\t\t\"name\": \"color.selection.secondary4\",\n\t\t\"initial\": \"206,214,216\"\n\t},\n\t\"--now-color_surface--brand-1\": {\n\t\t\"name\": \"color.surface.brand1\",\n\t\t\"initial\": \"236,244,241\"\n\t},\n\t\"--now-color_surface--brand-2\": {\n\t\t\"name\": \"color.surface.brand2\",\n\t\t\"initial\": \"218,233,228\"\n\t},\n\t\"--now-color_surface--brand-3\": {\n\t\t\"name\": \"color.surface.brand3\",\n\t\t\"initial\": \"200,223,214\"\n\t},\n\t\"--now-color_surface--brand-4\": {\n\t\t\"name\": \"color.surface.brand4\",\n\t\t\"initial\": \"183,212,201\"\n\t},\n\t\"--now-color_surface--brand-5\": {\n\t\t\"name\": \"color.surface.brand5\",\n\t\t\"initial\": \"165,202,188\"\n\t},\n\t\"--now-color_surface--brand-6\": {\n\t\t\"name\": \"color.surface.brand6\",\n\t\t\"initial\": \"147,192,174\"\n\t},\n\t\"--now-color_surface--divider-1\": {\n\t\t\"name\": \"color.surface.divider1\",\n\t\t\"initial\": \"241,243,243\"\n\t},\n\t\"--now-color_surface--divider-2\": {\n\t\t\"name\": \"color.surface.divider2\",\n\t\t\"initial\": \"221,224,224\"\n\t},\n\t\"--now-color_surface--divider-3\": {\n\t\t\"name\": \"color.surface.divider3\",\n\t\t\"initial\": \"200,205,206\"\n\t},\n\t\"--now-color_surface--divider-4\": {\n\t\t\"name\": \"color.surface.divider4\",\n\t\t\"initial\": \"179,186,187\"\n\t},\n\t\"--now-color_surface--divider-5\": {\n\t\t\"name\": \"color.surface.divider5\",\n\t\t\"initial\": \"158,168,169\"\n\t},\n\t\"--now-color_surface--divider-6\": {\n\t\t\"name\": \"color.surface.divider6\",\n\t\t\"initial\": \"138,149,151\"\n\t},\n\t\"--now-color_surface--neutral-1\": {\n\t\t\"name\": \"color.surface.neutral1\",\n\t\t\"initial\": \"252,252,252\"\n\t},\n\t\"--now-color_surface--neutral-2\": {\n\t\t\"name\": \"color.surface.neutral2\",\n\t\t\"initial\": \"242,243,243\"\n\t},\n\t\"--now-color_surface--neutral-3\": {\n\t\t\"name\": \"color.surface.neutral3\",\n\t\t\"initial\": \"232,234,234\"\n\t},\n\t\"--now-color_surface--neutral-4\": {\n\t\t\"name\": \"color.surface.neutral4\",\n\t\t\"initial\": \"221,225,225\"\n\t},\n\t\"--now-color_surface--neutral-5\": {\n\t\t\"name\": \"color.surface.neutral5\",\n\t\t\"initial\": \"211,215,216\"\n\t},\n\t\"--now-color_surface--neutral-6\": {\n\t\t\"name\": \"color.surface.neutral6\",\n\t\t\"initial\": \"201,206,207\"\n\t},\n\t\"--now-color_text--primary\": {\n\t\t\"name\": \"color.text.primary\",\n\t\t\"derived\": \"--now-color--neutral-18\"\n\t},\n\t\"--now-color_text--primary-actionable\": {\n\t\t\"name\": \"color.text.primaryActionable\",\n\t\t\"derived\": \"--now-color--neutral-0\"\n\t},\n\t\"--now-color_text--secondary\": {\n\t\t\"name\": \"color.text.secondary\",\n\t\t\"derived\": \"--now-color--neutral-15\"\n\t},\n\t\"--now-color_text--secondary-actionable\": {\n\t\t\"name\": \"color.text.secondaryActionable\",\n\t\t\"derived\": \"--now-color--neutral-1\"\n\t},\n\t\"--now-color_text--tertiary\": {\n\t\t\"name\": \"color.text.tertiary\",\n\t\t\"derived\": \"--now-color--neutral-12\"\n\t},\n\t\"--now-color_text--tertiary-actionable\": {\n\t\t\"name\": \"color.text.tertiaryActionable\",\n\t\t\"derived\": \"--now-color--neutral-2\"\n\t},\n\t\"--now-color--focus-1\": {\n\t\t\"name\": \"color.focus1\",\n\t\t\"initial\": \"77,160,176\"\n\t},\n\t\"--now-color--focus-2\": {\n\t\t\"name\": \"color.focus2\",\n\t\t\"initial\": \"1,119,142\"\n\t},\n\t\"--now-color--focus-3\": {\n\t\t\"name\": \"color.focus3\",\n\t\t\"initial\": \"1,89,107\"\n\t},\n\t\"--now-color--interactive-0\": {\n\t\t\"name\": \"color.interactive0\",\n\t\t\"initial\": \"217,235,238\"\n\t},\n\t\"--now-color--interactive-1\": {\n\t\t\"name\": \"color.interactive1\",\n\t\t\"initial\": \"109,177,190\"\n\t},\n\t\"--now-color--interactive-2\": {\n\t\t\"name\": \"color.interactive2\",\n\t\t\"initial\": \"1,119,142\"\n\t},\n\t\"--now-color--interactive-3\": {\n\t\t\"name\": \"color.interactive3\",\n\t\t\"initial\": \"1,89,107\"\n\t},\n\t\"--now-color--interactive-4\": {\n\t\t\"name\": \"color.interactive4\",\n\t\t\"initial\": \"1,60,71\"\n\t},\n\t\"--now-color--link-1\": {\n\t\t\"name\": \"color.link1\",\n\t\t\"initial\": \"77,160,176\"\n\t},\n\t\"--now-color--link-2\": {\n\t\t\"name\": \"color.link2\",\n\t\t\"initial\": \"1,119,142\"\n\t},\n\t\"--now-color--link-3\": {\n\t\t\"name\": \"color.link3\",\n\t\t\"initial\": \"1,104,124\"\n\t},\n\t\"--now-color--link-4\": {\n\t\t\"name\": \"color.link4\",\n\t\t\"initial\": \"1,89,107\"\n\t},\n\t\"--now-color--neutral-0\": {\n\t\t\"name\": \"color.neutral0\",\n\t\t\"initial\": \"255,255,255\"\n\t},\n\t\"--now-color--neutral-1\": {\n\t\t\"name\": \"color.neutral1\",\n\t\t\"initial\": \"246,247,247\"\n\t},\n\t\"--now-color--neutral-10\": {\n\t\t\"name\": \"color.neutral10\",\n\t\t\"initial\": \"80,97,99\"\n\t},\n\t\"--now-color--neutral-11\": {\n\t\t\"name\": \"color.neutral11\",\n\t\t\"initial\": \"73,88,90\"\n\t},\n\t\"--now-color--neutral-12\": {\n\t\t\"name\": \"color.neutral12\",\n\t\t\"initial\": \"66,80,81\"\n\t},\n\t\"--now-color--neutral-13\": {\n\t\t\"name\": \"color.neutral13\",\n\t\t\"initial\": \"58,71,72\"\n\t},\n\t\"--now-color--neutral-14\": {\n\t\t\"name\": \"color.neutral14\",\n\t\t\"initial\": \"51,62,63\"\n\t},\n\t\"--now-color--neutral-15\": {\n\t\t\"name\": \"color.neutral15\",\n\t\t\"initial\": \"44,53,55\"\n\t},\n\t\"--now-color--neutral-16\": {\n\t\t\"name\": \"color.neutral16\",\n\t\t\"initial\": \"37,45,46\"\n\t},\n\t\"--now-color--neutral-17\": {\n\t\t\"name\": \"color.neutral17\",\n\t\t\"initial\": \"30,36,37\"\n\t},\n\t\"--now-color--neutral-18\": {\n\t\t\"name\": \"color.neutral18\",\n\t\t\"initial\": \"22,27,28\"\n\t},\n\t\"--now-color--neutral-19\": {\n\t\t\"name\": \"color.neutral19\",\n\t\t\"initial\": \"15,18,19\"\n\t},\n\t\"--now-color--neutral-2\": {\n\t\t\"name\": \"color.neutral2\",\n\t\t\"initial\": \"228,230,231\"\n\t},\n\t\"--now-color--neutral-20\": {\n\t\t\"name\": \"color.neutral20\",\n\t\t\"initial\": \"8,10,10\"\n\t},\n\t\"--now-color--neutral-21\": {\n\t\t\"name\": \"color.neutral21\",\n\t\t\"initial\": \"0,0,0\"\n\t},\n\t\"--now-color--neutral-3\": {\n\t\t\"name\": \"color.neutral3\",\n\t\t\"initial\": \"209,214,214\"\n\t},\n\t\"--now-color--neutral-4\": {\n\t\t\"name\": \"color.neutral4\",\n\t\t\"initial\": \"191,197,198\"\n\t},\n\t\"--now-color--neutral-5\": {\n\t\t\"name\": \"color.neutral5\",\n\t\t\"initial\": \"172,180,181\"\n\t},\n\t\"--now-color--neutral-6\": {\n\t\t\"name\": \"color.neutral6\",\n\t\t\"initial\": \"154,164,165\"\n\t},\n\t\"--now-color--neutral-7\": {\n\t\t\"name\": \"color.neutral7\",\n\t\t\"initial\": \"135,147,148\"\n\t},\n\t\"--now-color--neutral-8\": {\n\t\t\"name\": \"color.neutral8\",\n\t\t\"initial\": \"117,130,132\"\n\t},\n\t\"--now-color--neutral-9\": {\n\t\t\"name\": \"color.neutral9\",\n\t\t\"initial\": \"99,114,116\"\n\t},\n\t\"--now-color--primary-0\": {\n\t\t\"name\": \"color.primary0\",\n\t\t\"initial\": \"221,237,233\"\n\t},\n\t\"--now-color--primary-1\": {\n\t\t\"name\": \"color.primary1\",\n\t\t\"initial\": \"30,133,109\"\n\t},\n\t\"--now-color--primary-2\": {\n\t\t\"name\": \"color.primary2\",\n\t\t\"initial\": \"23,100,82\"\n\t},\n\t\"--now-color--primary-3\": {\n\t\t\"name\": \"color.primary3\",\n\t\t\"initial\": \"15,67,55\"\n\t},\n\t\"--now-color--primary-brand-0\": {\n\t\t\"name\": \"color.primaryBrand0\",\n\t\t\"initial\": \"230,242,246\"\n\t},\n\t\"--now-color--primary-brand-1\": {\n\t\t\"name\": \"color.primaryBrand1\",\n\t\t\"initial\": \"207,231,238\"\n\t},\n\t\"--now-color--primary-brand-10\": {\n\t\t\"name\": \"color.primaryBrand10\",\n\t\t\"initial\": \"0,128,163\"\n\t},\n\t\"--now-color--primary-brand-11\": {\n\t\t\"name\": \"color.primaryBrand11\",\n\t\t\"initial\": \"0,120,153\"\n\t},\n\t\"--now-color--primary-brand-12\": {\n\t\t\"name\": \"color.primaryBrand12\",\n\t\t\"initial\": \"0,111,142\"\n\t},\n\t\"--now-color--primary-brand-13\": {\n\t\t\"name\": \"color.primaryBrand13\",\n\t\t\"initial\": \"0,104,132\"\n\t},\n\t\"--now-color--primary-brand-14\": {\n\t\t\"name\": \"color.primaryBrand14\",\n\t\t\"initial\": \"0,96,122\"\n\t},\n\t\"--now-color--primary-brand-15\": {\n\t\t\"name\": \"color.primaryBrand15\",\n\t\t\"initial\": \"0,88,112\"\n\t},\n\t\"--now-color--primary-brand-16\": {\n\t\t\"name\": \"color.primaryBrand16\",\n\t\t\"initial\": \"0,79,101\"\n\t},\n\t\"--now-color--primary-brand-17\": {\n\t\t\"name\": \"color.primaryBrand17\",\n\t\t\"initial\": \"0,72,91\"\n\t},\n\t\"--now-color--primary-brand-18\": {\n\t\t\"name\": \"color.primaryBrand18\",\n\t\t\"initial\": \"0,64,82\"\n\t},\n\t\"--now-color--primary-brand-19\": {\n\t\t\"name\": \"color.primaryBrand19\",\n\t\t\"initial\": \"0,55,70\"\n\t},\n\t\"--now-color--primary-brand-2\": {\n\t\t\"name\": \"color.primaryBrand2\",\n\t\t\"initial\": \"184,219,229\"\n\t},\n\t\"--now-color--primary-brand-20\": {\n\t\t\"name\": \"color.primaryBrand20\",\n\t\t\"initial\": \"0,47,60\"\n\t},\n\t\"--now-color--primary-brand-3\": {\n\t\t\"name\": \"color.primaryBrand3\",\n\t\t\"initial\": \"161,208,221\"\n\t},\n\t\"--now-color--primary-brand-4\": {\n\t\t\"name\": \"color.primaryBrand4\",\n\t\t\"initial\": \"138,197,213\"\n\t},\n\t\"--now-color--primary-brand-5\": {\n\t\t\"name\": \"color.primaryBrand5\",\n\t\t\"initial\": \"115,185,204\"\n\t},\n\t\"--now-color--primary-brand-6\": {\n\t\t\"name\": \"color.primaryBrand6\",\n\t\t\"initial\": \"92,174,196\"\n\t},\n\t\"--now-color--primary-brand-7\": {\n\t\t\"name\": \"color.primaryBrand7\",\n\t\t\"initial\": \"69,162,188\"\n\t},\n\t\"--now-color--primary-brand-8\": {\n\t\t\"name\": \"color.primaryBrand8\",\n\t\t\"initial\": \"46,151,180\"\n\t},\n\t\"--now-color--primary-brand-9\": {\n\t\t\"name\": \"color.primaryBrand9\",\n\t\t\"initial\": \"23,139,171\"\n\t},\n\t\"--now-color--secondary-0\": {\n\t\t\"name\": \"color.secondary0\",\n\t\t\"initial\": \"217,235,238\"\n\t},\n\t\"--now-color--secondary-1\": {\n\t\t\"name\": \"color.secondary1\",\n\t\t\"initial\": \"1,119,142\"\n\t},\n\t\"--now-color--secondary-2\": {\n\t\t\"name\": \"color.secondary2\",\n\t\t\"initial\": \"1,89,107\"\n\t},\n\t\"--now-color--secondary-3\": {\n\t\t\"name\": \"color.secondary3\",\n\t\t\"initial\": \"1,60,71\"\n\t},\n\t\"--now-color--secondary-brand-0\": {\n\t\t\"name\": \"color.secondaryBrand0\",\n\t\t\"initial\": \"243,254,241\"\n\t},\n\t\"--now-color--secondary-brand-1\": {\n\t\t\"name\": \"color.secondaryBrand1\",\n\t\t\"initial\": \"232,253,228\"\n\t},\n\t\"--now-color--secondary-brand-10\": {\n\t\t\"name\": \"color.secondaryBrand10\",\n\t\t\"initial\": \"134,246,115\"\n\t},\n\t\"--now-color--secondary-brand-11\": {\n\t\t\"name\": \"color.secondaryBrand11\",\n\t\t\"initial\": \"125,229,107\"\n\t},\n\t\"--now-color--secondary-brand-12\": {\n\t\t\"name\": \"color.secondaryBrand12\",\n\t\t\"initial\": \"114,209,98\"\n\t},\n\t\"--now-color--secondary-brand-13\": {\n\t\t\"name\": \"color.secondaryBrand13\",\n\t\t\"initial\": \"105,192,90\"\n\t},\n\t\"--now-color--secondary-brand-14\": {\n\t\t\"name\": \"color.secondaryBrand14\",\n\t\t\"initial\": \"94,172,81\"\n\t},\n\t\"--now-color--secondary-brand-15\": {\n\t\t\"name\": \"color.secondaryBrand15\",\n\t\t\"initial\": \"84,155,72\"\n\t},\n\t\"--now-color--secondary-brand-16\": {\n\t\t\"name\": \"color.secondaryBrand16\",\n\t\t\"initial\": \"74,135,63\"\n\t},\n\t\"--now-color--secondary-brand-17\": {\n\t\t\"name\": \"color.secondaryBrand17\",\n\t\t\"initial\": \"64,118,55\"\n\t},\n\t\"--now-color--secondary-brand-18\": {\n\t\t\"name\": \"color.secondaryBrand18\",\n\t\t\"initial\": \"54,98,46\"\n\t},\n\t\"--now-color--secondary-brand-19\": {\n\t\t\"name\": \"color.secondaryBrand19\",\n\t\t\"initial\": \"44,81,38\"\n\t},\n\t\"--now-color--secondary-brand-2\": {\n\t\t\"name\": \"color.secondaryBrand2\",\n\t\t\"initial\": \"221,252,216\"\n\t},\n\t\"--now-color--secondary-brand-20\": {\n\t\t\"name\": \"color.secondaryBrand20\",\n\t\t\"initial\": \"34,62,29\"\n\t},\n\t\"--now-color--secondary-brand-3\": {\n\t\t\"name\": \"color.secondaryBrand3\",\n\t\t\"initial\": \"210,252,203\"\n\t},\n\t\"--now-color--secondary-brand-4\": {\n\t\t\"name\": \"color.secondaryBrand4\",\n\t\t\"initial\": \"199,251,191\"\n\t},\n\t\"--now-color--secondary-brand-5\": {\n\t\t\"name\": \"color.secondaryBrand5\",\n\t\t\"initial\": \"188,250,178\"\n\t},\n\t\"--now-color--secondary-brand-6\": {\n\t\t\"name\": \"color.secondaryBrand6\",\n\t\t\"initial\": \"178,249,165\"\n\t},\n\t\"--now-color--secondary-brand-7\": {\n\t\t\"name\": \"color.secondaryBrand7\",\n\t\t\"initial\": \"167,248,153\"\n\t},\n\t\"--now-color--secondary-brand-8\": {\n\t\t\"name\": \"color.secondaryBrand8\",\n\t\t\"initial\": \"156,248,140\"\n\t},\n\t\"--now-color--secondary-brand-9\": {\n\t\t\"name\": \"color.secondaryBrand9\",\n\t\t\"initial\": \"145,247,128\"\n\t},\n\t\"--now-color--supplementary1-brand-0\": {\n\t\t\"name\": \"color.supplementary1Brand0\",\n\t\t\"initial\": \"241,251,255\"\n\t},\n\t\"--now-color--supplementary1-brand-1\": {\n\t\t\"name\": \"color.supplementary1Brand1\",\n\t\t\"initial\": \"228,247,255\"\n\t},\n\t\"--now-color--supplementary1-brand-10\": {\n\t\t\"name\": \"color.supplementary1Brand10\",\n\t\t\"initial\": \"113,213,254\"\n\t},\n\t\"--now-color--supplementary1-brand-11\": {\n\t\t\"name\": \"color.supplementary1Brand11\",\n\t\t\"initial\": \"105,198,236\"\n\t},\n\t\"--now-color--supplementary1-brand-12\": {\n\t\t\"name\": \"color.supplementary1Brand12\",\n\t\t\"initial\": \"96,181,216\"\n\t},\n\t\"--now-color--supplementary1-brand-13\": {\n\t\t\"name\": \"color.supplementary1Brand13\",\n\t\t\"initial\": \"88,166,198\"\n\t},\n\t\"--now-color--supplementary1-brand-14\": {\n\t\t\"name\": \"color.supplementary1Brand14\",\n\t\t\"initial\": \"79,149,178\"\n\t},\n\t\"--now-color--supplementary1-brand-15\": {\n\t\t\"name\": \"color.supplementary1Brand15\",\n\t\t\"initial\": \"71,134,160\"\n\t},\n\t\"--now-color--supplementary1-brand-16\": {\n\t\t\"name\": \"color.supplementary1Brand16\",\n\t\t\"initial\": \"62,117,140\"\n\t},\n\t\"--now-color--supplementary1-brand-17\": {\n\t\t\"name\": \"color.supplementary1Brand17\",\n\t\t\"initial\": \"54,102,122\"\n\t},\n\t\"--now-color--supplementary1-brand-18\": {\n\t\t\"name\": \"color.supplementary1Brand18\",\n\t\t\"initial\": \"45,85,102\"\n\t},\n\t\"--now-color--supplementary1-brand-19\": {\n\t\t\"name\": \"color.supplementary1Brand19\",\n\t\t\"initial\": \"37,70,84\"\n\t},\n\t\"--now-color--supplementary1-brand-2\": {\n\t\t\"name\": \"color.supplementary1Brand2\",\n\t\t\"initial\": \"215,243,255\"\n\t},\n\t\"--now-color--supplementary1-brand-20\": {\n\t\t\"name\": \"color.supplementary1Brand20\",\n\t\t\"initial\": \"28,53,64\"\n\t},\n\t\"--now-color--supplementary1-brand-3\": {\n\t\t\"name\": \"color.supplementary1Brand3\",\n\t\t\"initial\": \"202,239,255\"\n\t},\n\t\"--now-color--supplementary1-brand-4\": {\n\t\t\"name\": \"color.supplementary1Brand4\",\n\t\t\"initial\": \"190,236,255\"\n\t},\n\t\"--now-color--supplementary1-brand-5\": {\n\t\t\"name\": \"color.supplementary1Brand5\",\n\t\t\"initial\": \"177,232,254\"\n\t},\n\t\"--now-color--supplementary1-brand-6\": {\n\t\t\"name\": \"color.supplementary1Brand6\",\n\t\t\"initial\": \"164,228,254\"\n\t},\n\t\"--now-color--supplementary1-brand-7\": {\n\t\t\"name\": \"color.supplementary1Brand7\",\n\t\t\"initial\": \"151,224,254\"\n\t},\n\t\"--now-color--supplementary1-brand-8\": {\n\t\t\"name\": \"color.supplementary1Brand8\",\n\t\t\"initial\": \"139,221,254\"\n\t},\n\t\"--now-color--supplementary1-brand-9\": {\n\t\t\"name\": \"color.supplementary1Brand9\",\n\t\t\"initial\": \"126,217,254\"\n\t}\n}","export default {\n\t\"--now-datavis_color_chart_fill\": {\n\t\t\"name\": \"datavis.color.chart.fill\",\n\t\t\"derived\": \"--now-color_alert--info-1\"\n\t},\n\t\"--now-datavis_color_chart--primary\": {\n\t\t\"name\": \"datavis.color.chart.primary\",\n\t\t\"derived\": \"--now-color--neutral-2\"\n\t},\n\t\"--now-datavis_color_chart--secondary\": {\n\t\t\"name\": \"datavis.color.chart.secondary\",\n\t\t\"derived\": \"--now-color--neutral-4\"\n\t},\n\t\"--now-datavis_color_chart--tertiary\": {\n\t\t\"name\": \"datavis.color.chart.tertiary\",\n\t\t\"derived\": \"--now-color--neutral-7\"\n\t},\n\t\"--now-datavis_color_label--primary\": {\n\t\t\"name\": \"datavis.color.label.primary\",\n\t\t\"derived\": \"--now-color--neutral-18\"\n\t},\n\t\"--now-datavis_color_label--secondary\": {\n\t\t\"name\": \"datavis.color.label.secondary\",\n\t\t\"derived\": \"--now-color--neutral-9\"\n\t},\n\t\"--now-datavis_color_label--tertiary\": {\n\t\t\"name\": \"datavis.color.label.tertiary\",\n\t\t\"derived\": \"--now-color--neutral-5\"\n\t},\n\t\"--now-datavis_color_layer_band--primary\": {\n\t\t\"name\": \"datavis.color.layer.band.primary\",\n\t\t\"derived\": \"--now-color_alert--high-1\"\n\t},\n\t\"--now-datavis_color_layer_band--secondary\": {\n\t\t\"name\": \"datavis.color.layer.band.secondary\",\n\t\t\"derived\": \"--now-color_alert--high-2\"\n\t},\n\t\"--now-datavis_color_layer--primary\": {\n\t\t\"name\": \"datavis.color.layer.primary\",\n\t\t\"derived\": \"--now-color--neutral-2\"\n\t},\n\t\"--now-datavis_color_layer--quad\": {\n\t\t\"name\": \"datavis.color.layer.quad\",\n\t\t\"derived\": \"--now-color--neutral-20\"\n\t},\n\t\"--now-datavis_color_layer--secondary\": {\n\t\t\"name\": \"datavis.color.layer.secondary\",\n\t\t\"derived\": \"--now-color--neutral-4\"\n\t},\n\t\"--now-datavis_color_layer--tertiary\": {\n\t\t\"name\": \"datavis.color.layer.tertiary\",\n\t\t\"derived\": \"--now-color--neutral-5\"\n\t},\n\t\"--now-datavis_color_series_default\": {\n\t\t\"name\": \"datavis.color.series.default\",\n\t\t\"derived\": \"--now-datavis_color--qualitative-0\"\n\t},\n\t\"--now-datavis_color--accessibility-0\": {\n\t\t\"name\": \"datavis.color.accessibility0\",\n\t\t\"derived\": \"--now-color--neutral-0\"\n\t},\n\t\"--now-datavis_color--accessibility-10\": {\n\t\t\"name\": \"datavis.color.accessibility10\",\n\t\t\"derived\": \"--now-color--neutral-20\"\n\t},\n\t\"--now-datavis_color--accessibility-2\": {\n\t\t\"name\": \"datavis.color.accessibility2\",\n\t\t\"derived\": \"--now-color--neutral-4\"\n\t},\n\t\"--now-datavis_color--blue-0\": {\n\t\t\"name\": \"datavis.color.blue0\",\n\t\t\"initial\": \"210,229,244\"\n\t},\n\t\"--now-datavis_color--blue-1\": {\n\t\t\"name\": \"datavis.color.blue1\",\n\t\t\"initial\": \"182,212,237\"\n\t},\n\t\"--now-datavis_color--blue-10\": {\n\t\t\"name\": \"datavis.color.blue10\",\n\t\t\"initial\": \"30,59,82\"\n\t},\n\t\"--now-datavis_color--blue-2\": {\n\t\t\"name\": \"datavis.color.blue2\",\n\t\t\"initial\": \"158,197,230\"\n\t},\n\t\"--now-datavis_color--blue-3\": {\n\t\t\"name\": \"datavis.color.blue3\",\n\t\t\"initial\": \"129,181,223\"\n\t},\n\t\"--now-datavis_color--blue-4\": {\n\t\t\"name\": \"datavis.color.blue4\",\n\t\t\"initial\": \"105,166,216\"\n\t},\n\t\"--now-datavis_color--blue-5\": {\n\t\t\"name\": \"datavis.color.blue5\",\n\t\t\"initial\": \"77,149,209\"\n\t},\n\t\"--now-datavis_color--blue-6\": {\n\t\t\"name\": \"datavis.color.blue6\",\n\t\t\"initial\": \"66,131,184\"\n\t},\n\t\"--now-datavis_color--blue-7\": {\n\t\t\"name\": \"datavis.color.blue7\",\n\t\t\"initial\": \"58,115,161\"\n\t},\n\t\"--now-datavis_color--blue-8\": {\n\t\t\"name\": \"datavis.color.blue8\",\n\t\t\"initial\": \"50,95,134\"\n\t},\n\t\"--now-datavis_color--blue-9\": {\n\t\t\"name\": \"datavis.color.blue9\",\n\t\t\"initial\": \"40,77,108\"\n\t},\n\t\"--now-datavis_color--brown-0\": {\n\t\t\"name\": \"datavis.color.brown0\",\n\t\t\"initial\": \"236,219,213\"\n\t},\n\t\"--now-datavis_color--brown-1\": {\n\t\t\"name\": \"datavis.color.brown1\",\n\t\t\"initial\": \"223,195,185\"\n\t},\n\t\"--now-datavis_color--brown-10\": {\n\t\t\"name\": \"datavis.color.brown10\",\n\t\t\"initial\": \"69,42,33\"\n\t},\n\t\"--now-datavis_color--brown-2\": {\n\t\t\"name\": \"datavis.color.brown2\",\n\t\t\"initial\": \"212,174,161\"\n\t},\n\t\"--now-datavis_color--brown-3\": {\n\t\t\"name\": \"datavis.color.brown3\",\n\t\t\"initial\": \"198,151,134\"\n\t},\n\t\"--now-datavis_color--brown-4\": {\n\t\t\"name\": \"datavis.color.brown4\",\n\t\t\"initial\": \"186,130,109\"\n\t},\n\t\"--now-datavis_color--brown-5\": {\n\t\t\"name\": \"datavis.color.brown5\",\n\t\t\"initial\": \"176,108,84\"\n\t},\n\t\"--now-datavis_color--brown-6\": {\n\t\t\"name\": \"datavis.color.brown6\",\n\t\t\"initial\": \"156,95,73\"\n\t},\n\t\"--now-datavis_color--brown-7\": {\n\t\t\"name\": \"datavis.color.brown7\",\n\t\t\"initial\": \"132,81,62\"\n\t},\n\t\"--now-datavis_color--brown-8\": {\n\t\t\"name\": \"datavis.color.brown8\",\n\t\t\"initial\": \"111,68,52\"\n\t},\n\t\"--now-datavis_color--brown-9\": {\n\t\t\"name\": \"datavis.color.brown9\",\n\t\t\"initial\": \"90,55,42\"\n\t},\n\t\"--now-datavis_color--green-0\": {\n\t\t\"name\": \"datavis.color.green0\",\n\t\t\"initial\": \"208,231,211\"\n\t},\n\t\"--now-datavis_color--green-1\": {\n\t\t\"name\": \"datavis.color.green1\",\n\t\t\"initial\": \"181,217,184\"\n\t},\n\t\"--now-datavis_color--green-10\": {\n\t\t\"name\": \"datavis.color.green10\",\n\t\t\"initial\": \"28,63,31\"\n\t},\n\t\"--now-datavis_color--green-2\": {\n\t\t\"name\": \"datavis.color.green2\",\n\t\t\"initial\": \"154,203,159\"\n\t},\n\t\"--now-datavis_color--green-3\": {\n\t\t\"name\": \"datavis.color.green3\",\n\t\t\"initial\": \"127,189,133\"\n\t},\n\t\"--now-datavis_color--green-4\": {\n\t\t\"name\": \"datavis.color.green4\",\n\t\t\"initial\": \"100,175,108\"\n\t},\n\t\"--now-datavis_color--green-5\": {\n\t\t\"name\": \"datavis.color.green5\",\n\t\t\"initial\": \"73,162,82\"\n\t},\n\t\"--now-datavis_color--green-6\": {\n\t\t\"name\": \"datavis.color.green6\",\n\t\t\"initial\": \"62,142,70\"\n\t},\n\t\"--now-datavis_color--green-7\": {\n\t\t\"name\": \"datavis.color.green7\",\n\t\t\"initial\": \"55,123,62\"\n\t},\n\t\"--now-datavis_color--green-8\": {\n\t\t\"name\": \"datavis.color.green8\",\n\t\t\"initial\": \"46,102,51\"\n\t},\n\t\"--now-datavis_color--green-9\": {\n\t\t\"name\": \"datavis.color.green9\",\n\t\t\"initial\": \"37,85,42\"\n\t},\n\t\"--now-datavis_color--negative\": {\n\t\t\"name\": \"datavis.color.negative\",\n\t\t\"derived\": \"--now-color_alert--critical-3\"\n\t},\n\t\"--now-datavis_color--olive-0\": {\n\t\t\"name\": \"datavis.color.olive0\",\n\t\t\"initial\": \"226,231,208\"\n\t},\n\t\"--now-datavis_color--olive-1\": {\n\t\t\"name\": \"datavis.color.olive1\",\n\t\t\"initial\": \"210,217,181\"\n\t},\n\t\"--now-datavis_color--olive-10\": {\n\t\t\"name\": \"datavis.color.olive10\",\n\t\t\"initial\": \"56,63,28\"\n\t},\n\t\"--now-datavis_color--olive-2\": {\n\t\t\"name\": \"datavis.color.olive2\",\n\t\t\"initial\": \"193,203,154\"\n\t},\n\t\"--now-datavis_color--olive-3\": {\n\t\t\"name\": \"datavis.color.olive3\",\n\t\t\"initial\": \"176,189,127\"\n\t},\n\t\"--now-datavis_color--olive-4\": {\n\t\t\"name\": \"datavis.color.olive4\",\n\t\t\"initial\": \"159,175,100\"\n\t},\n\t\"--now-datavis_color--olive-5\": {\n\t\t\"name\": \"datavis.color.olive5\",\n\t\t\"initial\": \"143,162,73\"\n\t},\n\t\"--now-datavis_color--olive-6\": {\n\t\t\"name\": \"datavis.color.olive6\",\n\t\t\"initial\": \"125,142,62\"\n\t},\n\t\"--now-datavis_color--olive-7\": {\n\t\t\"name\": \"datavis.color.olive7\",\n\t\t\"initial\": \"108,123,55\"\n\t},\n\t\"--now-datavis_color--olive-8\": {\n\t\t\"name\": \"datavis.color.olive8\",\n\t\t\"initial\": \"90,102,46\"\n\t},\n\t\"--now-datavis_color--olive-9\": {\n\t\t\"name\": \"datavis.color.olive9\",\n\t\t\"initial\": \"75,85,37\"\n\t},\n\t\"--now-datavis_color--orange-0\": {\n\t\t\"name\": \"datavis.color.orange0\",\n\t\t\"initial\": \"250,226,209\"\n\t},\n\t\"--now-datavis_color--orange-1\": {\n\t\t\"name\": \"datavis.color.orange1\",\n\t\t\"initial\": \"247,209,182\"\n\t},\n\t\"--now-datavis_color--orange-10\": {\n\t\t\"name\": \"datavis.color.orange10\",\n\t\t\"initial\": \"94,56,28\"\n\t},\n\t\"--now-datavis_color--orange-2\": {\n\t\t\"name\": \"datavis.color.orange2\",\n\t\t\"initial\": \"244,190,153\"\n\t},\n\t\"--now-datavis_color--orange-3\": {\n\t\t\"name\": \"datavis.color.orange3\",\n\t\t\"initial\": \"241,172,126\"\n\t},\n\t\"--now-datavis_color--orange-4\": {\n\t\t\"name\": \"datavis.color.orange4\",\n\t\t\"initial\": \"238,154,99\"\n\t},\n\t\"--now-datavis_color--orange-5\": {\n\t\t\"name\": \"datavis.color.orange5\",\n\t\t\"initial\": \"235,137,71\"\n\t},\n\t\"--now-datavis_color--orange-6\": {\n\t\t\"name\": \"datavis.color.orange6\",\n\t\t\"initial\": \"207,123,63\"\n\t},\n\t\"--now-datavis_color--orange-7\": {\n\t\t\"name\": \"datavis.color.orange7\",\n\t\t\"initial\": \"177,104,53\"\n\t},\n\t\"--now-datavis_color--orange-8\": {\n\t\t\"name\": \"datavis.color.orange8\",\n\t\t\"initial\": \"149,88,45\"\n\t},\n\t\"--now-datavis_color--orange-9\": {\n\t\t\"name\": \"datavis.color.orange9\",\n\t\t\"initial\": \"122,71,36\"\n\t},\n\t\"--now-datavis_color--pink-0\": {\n\t\t\"name\": \"datavis.color.pink0\",\n\t\t\"initial\": \"246,213,246\"\n\t},\n\t\"--now-datavis_color--pink-1\": {\n\t\t\"name\": \"datavis.color.pink1\",\n\t\t\"initial\": \"240,188,240\"\n\t},\n\t\"--now-datavis_color--pink-10\": {\n\t\t\"name\": \"datavis.color.pink10\",\n\t\t\"initial\": \"88,34,88\"\n\t},\n\t\"--now-datavis_color--pink-2\": {\n\t\t\"name\": \"datavis.color.pink2\",\n\t\t\"initial\": \"235,162,235\"\n\t},\n\t\"--now-datavis_color--pink-3\": {\n\t\t\"name\": \"datavis.color.pink3\",\n\t\t\"initial\": \"228,134,228\"\n\t},\n\t\"--now-datavis_color--pink-4\": {\n\t\t\"name\": \"datavis.color.pink4\",\n\t\t\"initial\": \"224,108,224\"\n\t},\n\t\"--now-datavis_color--pink-5\": {\n\t\t\"name\": \"datavis.color.pink5\",\n\t\t\"initial\": \"217,84,217\"\n\t},\n\t\"--now-datavis_color--pink-6\": {\n\t\t\"name\": \"datavis.color.pink6\",\n\t\t\"initial\": \"191,74,191\"\n\t},\n\t\"--now-datavis_color--pink-7\": {\n\t\t\"name\": \"datavis.color.pink7\",\n\t\t\"initial\": \"165,64,165\"\n\t},\n\t\"--now-datavis_color--pink-8\": {\n\t\t\"name\": \"datavis.color.pink8\",\n\t\t\"initial\": \"140,54,140\"\n\t},\n\t\"--now-datavis_color--pink-9\": {\n\t\t\"name\": \"datavis.color.pink9\",\n\t\t\"initial\": \"114,44,114\"\n\t},\n\t\"--now-datavis_color--positive\": {\n\t\t\"name\": \"datavis.color.positive\",\n\t\t\"derived\": \"--now-color_alert--positive-3\"\n\t},\n\t\"--now-datavis_color--primary\": {\n\t\t\"name\": \"datavis.color.primary\",\n\t\t\"derived\": \"--now-color--neutral-0\"\n\t},\n\t\"--now-datavis_color--purple-0\": {\n\t\t\"name\": \"datavis.color.purple0\",\n\t\t\"initial\": \"216,216,238\"\n\t},\n\t\"--now-datavis_color--purple-1\": {\n\t\t\"name\": \"datavis.color.purple1\",\n\t\t\"initial\": \"190,190,228\"\n\t},\n\t\"--now-datavis_color--purple-10\": {\n\t\t\"name\": \"datavis.color.purple10\",\n\t\t\"initial\": \"38,38,75\"\n\t},\n\t\"--now-datavis_color--purple-2\": {\n\t\t\"name\": \"datavis.color.purple2\",\n\t\t\"initial\": \"166,165,217\"\n\t},\n\t\"--now-datavis_color--purple-3\": {\n\t\t\"name\": \"datavis.color.purple3\",\n\t\t\"initial\": \"145,144,208\"\n\t},\n\t\"--now-datavis_color--purple-4\": {\n\t\t\"name\": \"datavis.color.purple4\",\n\t\t\"initial\": \"120,118,198\"\n\t},\n\t\"--now-datavis_color--purple-5\": {\n\t\t\"name\": \"datavis.color.purple5\",\n\t\t\"initial\": \"95,93,187\"\n\t},\n\t\"--now-datavis_color--purple-6\": {\n\t\t\"name\": \"datavis.color.purple6\",\n\t\t\"initial\": \"85,84,166\"\n\t},\n\t\"--now-datavis_color--purple-7\": {\n\t\t\"name\": \"datavis.color.purple7\",\n\t\t\"initial\": \"73,72,142\"\n\t},\n\t\"--now-datavis_color--purple-8\": {\n\t\t\"name\": \"datavis.color.purple8\",\n\t\t\"initial\": \"60,60,119\"\n\t},\n\t\"--now-datavis_color--purple-9\": {\n\t\t\"name\": \"datavis.color.purple9\",\n\t\t\"initial\": \"50,50,98\"\n\t},\n\t\"--now-datavis_color--qualitative-0\": {\n\t\t\"name\": \"datavis.color.qualitative0\",\n\t\t\"derived\": \"--now-datavis_color--blue-5\"\n\t},\n\t\"--now-datavis_color--qualitative-1\": {\n\t\t\"name\": \"datavis.color.qualitative1\",\n\t\t\"derived\": \"--now-datavis_color--orange-3\"\n\t},\n\t\"--now-datavis_color--qualitative-10\": {\n\t\t\"name\": \"datavis.color.qualitative10\",\n\t\t\"derived\": \"--now-datavis_color--teal-5\"\n\t},\n\t\"--now-datavis_color--qualitative-11\": {\n\t\t\"name\": \"datavis.color.qualitative11\",\n\t\t\"derived\": \"--now-datavis_color--blue-4\"\n\t},\n\t\"--now-datavis_color--qualitative-12\": {\n\t\t\"name\": \"datavis.color.qualitative12\",\n\t\t\"derived\": \"--now-datavis_color--orange-2\"\n\t},\n\t\"--now-datavis_color--qualitative-13\": {\n\t\t\"name\": \"datavis.color.qualitative13\",\n\t\t\"derived\": \"--now-datavis_color--green-4\"\n\t},\n\t\"--now-datavis_color--qualitative-14\": {\n\t\t\"name\": \"datavis.color.qualitative14\",\n\t\t\"derived\": \"--now-datavis_color--pink-2\"\n\t},\n\t\"--now-datavis_color--qualitative-15\": {\n\t\t\"name\": \"datavis.color.qualitative15\",\n\t\t\"derived\": \"--now-datavis_color--brown-4\"\n\t},\n\t\"--now-datavis_color--qualitative-16\": {\n\t\t\"name\": \"datavis.color.qualitative16\",\n\t\t\"derived\": \"--now-datavis_color--violet-2\"\n\t},\n\t\"--now-datavis_color--qualitative-17\": {\n\t\t\"name\": \"datavis.color.qualitative17\",\n\t\t\"derived\": \"--now-datavis_color--yellow-green-4\"\n\t},\n\t\"--now-datavis_color--qualitative-18\": {\n\t\t\"name\": \"datavis.color.qualitative18\",\n\t\t\"derived\": \"--now-datavis_color--red-2\"\n\t},\n\t\"--now-datavis_color--qualitative-19\": {\n\t\t\"name\": \"datavis.color.qualitative19\",\n\t\t\"derived\": \"--now-datavis_color--purple-4\"\n\t},\n\t\"--now-datavis_color--qualitative-2\": {\n\t\t\"name\": \"datavis.color.qualitative2\",\n\t\t\"derived\": \"--now-datavis_color--green-5\"\n\t},\n\t\"--now-datavis_color--qualitative-20\": {\n\t\t\"name\": \"datavis.color.qualitative20\",\n\t\t\"derived\": \"--now-datavis_color--olive-2\"\n\t},\n\t\"--now-datavis_color--qualitative-21\": {\n\t\t\"name\": \"datavis.color.qualitative21\",\n\t\t\"derived\": \"--now-datavis_color--teal-4\"\n\t},\n\t\"--now-datavis_color--qualitative-22\": {\n\t\t\"name\": \"datavis.color.qualitative22\",\n\t\t\"derived\": \"--now-datavis_color--blue-8\"\n\t},\n\t\"--now-datavis_color--qualitative-23\": {\n\t\t\"name\": \"datavis.color.qualitative23\",\n\t\t\"derived\": \"--now-datavis_color--orange-6\"\n\t},\n\t\"--now-datavis_color--qualitative-24\": {\n\t\t\"name\": \"datavis.color.qualitative24\",\n\t\t\"derived\": \"--now-datavis_color--green-8\"\n\t},\n\t\"--now-datavis_color--qualitative-25\": {\n\t\t\"name\": \"datavis.color.qualitative25\",\n\t\t\"derived\": \"--now-datavis_color--pink-6\"\n\t},\n\t\"--now-datavis_color--qualitative-26\": {\n\t\t\"name\": \"datavis.color.qualitative26\",\n\t\t\"derived\": \"--now-datavis_color--brown-8\"\n\t},\n\t\"--now-datavis_color--qualitative-27\": {\n\t\t\"name\": \"datavis.color.qualitative27\",\n\t\t\"derived\": \"--now-datavis_color--violet-6\"\n\t},\n\t\"--now-datavis_color--qualitative-28\": {\n\t\t\"name\": \"datavis.color.qualitative28\",\n\t\t\"derived\": \"--now-datavis_color--yellow-green-8\"\n\t},\n\t\"--now-datavis_color--qualitative-29\": {\n\t\t\"name\": \"datavis.color.qualitative29\",\n\t\t\"derived\": \"--now-datavis_color--red-6\"\n\t},\n\t\"--now-datavis_color--qualitative-3\": {\n\t\t\"name\": \"datavis.color.qualitative3\",\n\t\t\"derived\": \"--now-datavis_color--pink-3\"\n\t},\n\t\"--now-datavis_color--qualitative-30\": {\n\t\t\"name\": \"datavis.color.qualitative30\",\n\t\t\"derived\": \"--now-datavis_color--purple-8\"\n\t},\n\t\"--now-datavis_color--qualitative-31\": {\n\t\t\"name\": \"datavis.color.qualitative31\",\n\t\t\"derived\": \"--now-datavis_color--olive-6\"\n\t},\n\t\"--now-datavis_color--qualitative-32\": {\n\t\t\"name\": \"datavis.color.qualitative32\",\n\t\t\"derived\": \"--now-datavis_color--teal-8\"\n\t},\n\t\"--now-datavis_color--qualitative-4\": {\n\t\t\"name\": \"datavis.color.qualitative4\",\n\t\t\"derived\": \"--now-datavis_color--brown-5\"\n\t},\n\t\"--now-datavis_color--qualitative-5\": {\n\t\t\"name\": \"datavis.color.qualitative5\",\n\t\t\"derived\": \"--now-datavis_color--violet-3\"\n\t},\n\t\"--now-datavis_color--qualitative-6\": {\n\t\t\"name\": \"datavis.color.qualitative6\",\n\t\t\"derived\": \"--now-datavis_color--yellow-green-5\"\n\t},\n\t\"--now-datavis_color--qualitative-7\": {\n\t\t\"name\": \"datavis.color.qualitative7\",\n\t\t\"derived\": \"--now-datavis_color--red-3\"\n\t},\n\t\"--now-datavis_color--qualitative-8\": {\n\t\t\"name\": \"datavis.color.qualitative8\",\n\t\t\"derived\": \"--now-datavis_color--purple-5\"\n\t},\n\t\"--now-datavis_color--qualitative-9\": {\n\t\t\"name\": \"datavis.color.qualitative9\",\n\t\t\"derived\": \"--now-datavis_color--olive-3\"\n\t},\n\t\"--now-datavis_color--red-0\": {\n\t\t\"name\": \"datavis.color.red0\",\n\t\t\"initial\": \"246,213,214\"\n\t},\n\t\"--now-datavis_color--red-1\": {\n\t\t\"name\": \"datavis.color.red1\",\n\t\t\"initial\": \"240,188,188\"\n\t},\n\t\"--now-datavis_color--red-10\": {\n\t\t\"name\": \"datavis.color.red10\",\n\t\t\"initial\": \"88,34,34\"\n\t},\n\t\"--now-datavis_color--red-2\": {\n\t\t\"name\": \"datavis.color.red2\",\n\t\t\"initial\": \"235,162,164\"\n\t},\n\t\"--now-datavis_color--red-3\": {\n\t\t\"name\": \"datavis.color.red3\",\n\t\t\"initial\": \"228,134,135\"\n\t},\n\t\"--now-datavis_color--red-4\": {\n\t\t\"name\": \"datavis.color.red4\",\n\t\t\"initial\": \"224,108,110\"\n\t},\n\t\"--now-datavis_color--red-5\": {\n\t\t\"name\": \"datavis.color.red5\",\n\t\t\"initial\": \"217,84,84\"\n\t},\n\t\"--now-datavis_color--red-6\": {\n\t\t\"name\": \"datavis.color.red6\",\n\t\t\"initial\": \"191,74,76\"\n\t},\n\t\"--now-datavis_color--red-7\": {\n\t\t\"name\": \"datavis.color.red7\",\n\t\t\"initial\": \"165,64,66\"\n\t},\n\t\"--now-datavis_color--red-8\": {\n\t\t\"name\": \"datavis.color.red8\",\n\t\t\"initial\": \"140,54,54\"\n\t},\n\t\"--now-datavis_color--red-9\": {\n\t\t\"name\": \"datavis.color.red9\",\n\t\t\"initial\": \"114,44,44\"\n\t},\n\t\"--now-datavis_color--teal-0\": {\n\t\t\"name\": \"datavis.color.teal0\",\n\t\t\"initial\": \"210,244,236\"\n\t},\n\t\"--now-datavis_color--teal-1\": {\n\t\t\"name\": \"datavis.color.teal1\",\n\t\t\"initial\": \"182,237,225\"\n\t},\n\t\"--now-datavis_color--teal-10\": {\n\t\t\"name\": \"datavis.color.teal10\",\n\t\t\"initial\": \"30,82,71\"\n\t},\n\t\"--now-datavis_color--teal-2\": {\n\t\t\"name\": \"datavis.color.teal2\",\n\t\t\"initial\": \"158,230,214\"\n\t},\n\t\"--now-datavis_color--teal-3\": {\n\t\t\"name\": \"datavis.color.teal3\",\n\t\t\"initial\": \"129,223,202\"\n\t},\n\t\"--now-datavis_color--teal-4\": {\n\t\t\"name\": \"datavis.color.teal4\",\n\t\t\"initial\": \"105,216,192\"\n\t},\n\t\"--now-datavis_color--teal-5\": {\n\t\t\"name\": \"datavis.color.teal5\",\n\t\t\"initial\": \"77,209,180\"\n\t},\n\t\"--now-datavis_color--teal-6\": {\n\t\t\"name\": \"datavis.color.teal6\",\n\t\t\"initial\": \"66,184,158\"\n\t},\n\t\"--now-datavis_color--teal-7\": {\n\t\t\"name\": \"datavis.color.teal7\",\n\t\t\"initial\": \"58,161,139\"\n\t},\n\t\"--now-datavis_color--teal-8\": {\n\t\t\"name\": \"datavis.color.teal8\",\n\t\t\"initial\": \"50,134,116\"\n\t},\n\t\"--now-datavis_color--teal-9\": {\n\t\t\"name\": \"datavis.color.teal9\",\n\t\t\"initial\": \"40,108,93\"\n\t},\n\t\"--now-datavis_color--violet-0\": {\n\t\t\"name\": \"datavis.color.violet0\",\n\t\t\"initial\": \"232,216,238\"\n\t},\n\t\"--now-datavis_color--violet-1\": {\n\t\t\"name\": \"datavis.color.violet1\",\n\t\t\"initial\": \"218,190,228\"\n\t},\n\t\"--now-datavis_color--violet-10\": {\n\t\t\"name\": \"datavis.color.violet10\",\n\t\t\"initial\": \"65,38,75\"\n\t},\n\t\"--now-datavis_color--violet-2\": {\n\t\t\"name\": \"datavis.color.violet2\",\n\t\t\"initial\": \"203,165,217\"\n\t},\n\t\"--now-datavis_color--violet-3\": {\n\t\t\"name\": \"datavis.color.violet3\",\n\t\t\"initial\": \"191,144,208\"\n\t},\n\t\"--now-datavis_color--violet-4\": {\n\t\t\"name\": \"datavis.color.violet4\",\n\t\t\"initial\": \"177,118,198\"\n\t},\n\t\"--now-datavis_color--violet-5\": {\n\t\t\"name\": \"datavis.color.violet5\",\n\t\t\"initial\": \"162,93,187\"\n\t},\n\t\"--now-datavis_color--violet-6\": {\n\t\t\"name\": \"datavis.color.violet6\",\n\t\t\"initial\": \"144,84,166\"\n\t},\n\t\"--now-datavis_color--violet-7\": {\n\t\t\"name\": \"datavis.color.violet7\",\n\t\t\"initial\": \"124,72,142\"\n\t},\n\t\"--now-datavis_color--violet-8\": {\n\t\t\"name\": \"datavis.color.violet8\",\n\t\t\"initial\": \"103,60,119\"\n\t},\n\t\"--now-datavis_color--violet-9\": {\n\t\t\"name\": \"datavis.color.violet9\",\n\t\t\"initial\": \"85,50,98\"\n\t},\n\t\"--now-datavis_color--yellow-0\": {\n\t\t\"name\": \"datavis.color.yellow0\",\n\t\t\"initial\": \"255,238,204\"\n\t},\n\t\"--now-datavis_color--yellow-1\": {\n\t\t\"name\": \"datavis.color.yellow1\",\n\t\t\"initial\": \"255,225,163\"\n\t},\n\t\"--now-datavis_color--yellow-10\": {\n\t\t\"name\": \"datavis.color.yellow10\",\n\t\t\"initial\": \"102,69,0\"\n\t},\n\t\"--now-datavis_color--yellow-2\": {\n\t\t\"name\": \"datavis.color.yellow2\",\n\t\t\"initial\": \"255,212,122\"\n\t},\n\t\"--now-datavis_color--yellow-3\": {\n\t\t\"name\": \"datavis.color.yellow3\",\n\t\t\"initial\": \"255,199,82\"\n\t},\n\t\"--now-datavis_color--yellow-4\": {\n\t\t\"name\": \"datavis.color.yellow4\",\n\t\t\"initial\": \"255,185,41\"\n\t},\n\t\"--now-datavis_color--yellow-5\": {\n\t\t\"name\": \"datavis.color.yellow5\",\n\t\t\"initial\": \"255,172,0\"\n\t},\n\t\"--now-datavis_color--yellow-6\": {\n\t\t\"name\": \"datavis.color.yellow6\",\n\t\t\"initial\": \"224,151,0\"\n\t},\n\t\"--now-datavis_color--yellow-7\": {\n\t\t\"name\": \"datavis.color.yellow7\",\n\t\t\"initial\": \"194,131,0\"\n\t},\n\t\"--now-datavis_color--yellow-8\": {\n\t\t\"name\": \"datavis.color.yellow8\",\n\t\t\"initial\": \"163,110,0\"\n\t},\n\t\"--now-datavis_color--yellow-9\": {\n\t\t\"name\": \"datavis.color.yellow9\",\n\t\t\"initial\": \"133,89,0\"\n\t},\n\t\"--now-datavis_color--yellow-green-0\": {\n\t\t\"name\": \"datavis.color.yellowGreen0\",\n\t\t\"initial\": \"238,245,204\"\n\t},\n\t\"--now-datavis_color--yellow-green-1\": {\n\t\t\"name\": \"datavis.color.yellowGreen1\",\n\t\t\"initial\": \"227,238,170\"\n\t},\n\t\"--now-datavis_color--yellow-green-10\": {\n\t\t\"name\": \"datavis.color.yellowGreen10\",\n\t\t\"initial\": \"74,86,16\"\n\t},\n\t\"--now-datavis_color--yellow-green-2\": {\n\t\t\"name\": \"datavis.color.yellowGreen2\",\n\t\t\"initial\": \"214,231,136\"\n\t},\n\t\"--now-datavis_color--yellow-green-3\": {\n\t\t\"name\": \"datavis.color.yellowGreen3\",\n\t\t\"initial\": \"206,226,105\"\n\t},\n\t\"--now-datavis_color--yellow-green-4\": {\n\t\t\"name\": \"datavis.color.yellowGreen4\",\n\t\t\"initial\": \"194,219,72\"\n\t},\n\t\"--now-datavis_color--yellow-green-5\": {\n\t\t\"name\": \"datavis.color.yellowGreen5\",\n\t\t\"initial\": \"185,214,41\"\n\t},\n\t\"--now-datavis_color--yellow-green-6\": {\n\t\t\"name\": \"datavis.color.yellowGreen6\",\n\t\t\"initial\": \"163,188,36\"\n\t},\n\t\"--now-datavis_color--yellow-green-7\": {\n\t\t\"name\": \"datavis.color.yellowGreen7\",\n\t\t\"initial\": \"139,163,31\"\n\t},\n\t\"--now-datavis_color--yellow-green-8\": {\n\t\t\"name\": \"datavis.color.yellowGreen8\",\n\t\t\"initial\": \"119,137,26\"\n\t},\n\t\"--now-datavis_color--yellow-green-9\": {\n\t\t\"name\": \"datavis.color.yellowGreen9\",\n\t\t\"initial\": \"95,111,21\"\n\t},\n\t\"--now-datavis_register_swatch--border-radius\": {\n\t\t\"name\": \"datavis.register.swatch.borderRadius\",\n\t\t\"initial\": \"0\"\n\t}\n}","export default {\n\t\"--now-actionable--border-radius\": {\n\t\t\"name\": \"actionable.borderRadius\",\n\t\t\"initial\": \"0\"\n\t},\n\t\"--now-actionable--border-width\": {\n\t\t\"name\": \"actionable.borderWidth\",\n\t\t\"initial\": \"1px\"\n\t},\n\t\"--now-actionable--font-family\": {\n\t\t\"name\": \"actionable.fontFamily\",\n\t\t\"derived\": \"--now-font-family\"\n\t},\n\t\"--now-actionable--font-size--lg\": {\n\t\t\"name\": \"actionable.fontSize.lg\",\n\t\t\"derived\": \"--now-font-size--lg1\"\n\t},\n\t\"--now-actionable--font-size--md\": {\n\t\t\"name\": \"actionable.fontSize.md\",\n\t\t\"derived\": \"--now-font-size--md1\"\n\t},\n\t\"--now-actionable--font-size--sm\": {\n\t\t\"name\": \"actionable.fontSize.sm\",\n\t\t\"derived\": \"--now-font-size--sm\"\n\t},\n\t\"--now-actionable--font-style\": {\n\t\t\"name\": \"actionable.fontStyle\",\n\t\t\"initial\": \"normal\"\n\t},\n\t\"--now-actionable--font-weight\": {\n\t\t\"name\": \"actionable.fontWeight\",\n\t\t\"initial\": \"normal\"\n\t},\n\t\"--now-actionable--opacity--disabled\": {\n\t\t\"name\": \"actionable.opacity.disabled\",\n\t\t\"derived\": \"--now-opacity--less\"\n\t},\n\t\"--now-actionable--text-transform\": {\n\t\t\"name\": \"actionable.textTransform\",\n\t\t\"initial\": \"none\"\n\t},\n\t\"--now-container_body--font-size--md\": {\n\t\t\"name\": \"container.body.fontSize.md\",\n\t\t\"derived\": \"--now-font-size--md1\"\n\t},\n\t\"--now-container_body--font-size--sm\": {\n\t\t\"name\": \"container.body.fontSize.sm\",\n\t\t\"derived\": \"--now-font-size--sm\"\n\t},\n\t\"--now-container_footer--font-size--md\": {\n\t\t\"name\": \"container.footer.fontSize.md\",\n\t\t\"derived\": \"--now-font-size--md1\"\n\t},\n\t\"--now-container_footer--font-size--sm\": {\n\t\t\"name\": \"container.footer.fontSize.sm\",\n\t\t\"derived\": \"--now-font-size--sm\"\n\t},\n\t\"--now-container_header--font-size--lg\": {\n\t\t\"name\": \"container.header.fontSize.lg\",\n\t\t\"derived\": \"--now-display-type_header--font-size--lg\"\n\t},\n\t\"--now-container_header--font-size--lg1\": {\n\t\t\"name\": \"container.header.fontSize.lg1\",\n\t\t\"derived\": \"--now-display-type_header--font-size--lg1\"\n\t},\n\t\"--now-container_header--font-size--md\": {\n\t\t\"name\": \"container.header.fontSize.md\",\n\t\t\"derived\": \"--now-display-type_header--font-size--md\"\n\t},\n\t\"--now-container_header--font-size--sm\": {\n\t\t\"name\": \"container.header.fontSize.sm\",\n\t\t\"derived\": \"--now-display-type_header--font-size--sm\"\n\t},\n\t\"--now-container_subheader--font-size--md\": {\n\t\t\"name\": \"container.subheader.fontSize.md\",\n\t\t\"derived\": \"--now-display-type_subheader--font-size--md\"\n\t},\n\t\"--now-container_subheader--font-size--sm\": {\n\t\t\"name\": \"container.subheader.fontSize.sm\",\n\t\t\"derived\": \"--now-display-type_subheader--font-size--sm\"\n\t},\n\t\"--now-container--border-color\": {\n\t\t\"name\": \"container.borderColor\",\n\t\t\"derived\": \"--now-color_border--tertiary\"\n\t},\n\t\"--now-container--border-radius\": {\n\t\t\"name\": \"container.borderRadius\",\n\t\t\"initial\": \"0\"\n\t},\n\t\"--now-container--border-width\": {\n\t\t\"name\": \"container.borderWidth\",\n\t\t\"initial\": \"1px\"\n\t},\n\t\"--now-container--color\": {\n\t\t\"name\": \"container.color\",\n\t\t\"derived\": \"--now-color_background--primary\"\n\t},\n\t\"--now-container--font-family\": {\n\t\t\"name\": \"container.fontFamily\",\n\t\t\"derived\": \"--now-font-family\"\n\t},\n\t\"--now-container--font-style\": {\n\t\t\"name\": \"container.fontStyle\",\n\t\t\"initial\": \"normal\"\n\t},\n\t\"--now-container--font-weight\": {\n\t\t\"name\": \"container.fontWeight\",\n\t\t\"initial\": \"normal\"\n\t},\n\t\"--now-container--text-transform\": {\n\t\t\"name\": \"container.textTransform\",\n\t\t\"initial\": \"none\"\n\t},\n\t\"--now-display-type_header--font-size--lg\": {\n\t\t\"name\": \"displayType.header.fontSize.lg\",\n\t\t\"derived\": \"--now-font-size--lg\"\n\t},\n\t\"--now-display-type_header--font-size--lg1\": {\n\t\t\"name\": \"displayType.header.fontSize.lg1\",\n\t\t\"derived\": \"--now-font-size--lg1\"\n\t},\n\t\"--now-display-type_header--font-size--lg2\": {\n\t\t\"name\": \"displayType.header.fontSize.lg2\",\n\t\t\"derived\": \"--now-font-size--lg2\"\n\t},\n\t\"--now-display-type_header--font-size--lg3\": {\n\t\t\"name\": \"displayType.header.fontSize.lg3\",\n\t\t\"derived\": \"--now-font-size--lg3\"\n\t},\n\t\"--now-display-type_header--font-size--md\": {\n\t\t\"name\": \"displayType.header.fontSize.md\",\n\t\t\"derived\": \"--now-font-size--md1\"\n\t},\n\t\"--now-display-type_header--font-size--md1\": {\n\t\t\"name\": \"displayType.header.fontSize.md1\",\n\t\t\"derived\": \"--now-font-size--md2\"\n\t},\n\t\"--now-display-type_header--font-size--sm\": {\n\t\t\"name\": \"displayType.header.fontSize.sm\",\n\t\t\"derived\": \"--now-font-size--sm\"\n\t},\n\t\"--now-display-type_label--color\": {\n\t\t\"name\": \"displayType.label.color\",\n\t\t\"derived\": \"--now-color_text--tertiary\"\n\t},\n\t\"--now-display-type_label--font-family\": {\n\t\t\"name\": \"displayType.label.fontFamily\",\n\t\t\"derived\": \"--now-display-type--font-family\"\n\t},\n\t\"--now-display-type_label--font-size--md\": {\n\t\t\"name\": \"displayType.label.fontSize.md\",\n\t\t\"derived\": \"--now-font-size--md1\"\n\t},\n\t\"--now-display-type_label--font-size--sm\": {\n\t\t\"name\": \"displayType.label.fontSize.sm\",\n\t\t\"derived\": \"--now-font-size--sm\"\n\t},\n\t\"--now-display-type_label--font-style\": {\n\t\t\"name\": \"displayType.label.fontStyle\",\n\t\t\"derived\": \"--now-display-type--font-style\"\n\t},\n\t\"--now-display-type_label--font-weight\": {\n\t\t\"name\": \"displayType.label.fontWeight\",\n\t\t\"derived\": \"--now-display-type--font-weight\"\n\t},\n\t\"--now-display-type_label--text-transform\": {\n\t\t\"name\": \"displayType.label.textTransform\",\n\t\t\"derived\": \"--now-display-type--text-transform\"\n\t},\n\t\"--now-display-type_subheader--font-size--md\": {\n\t\t\"name\": \"displayType.subheader.fontSize.md\",\n\t\t\"derived\": \"--now-font-size--md1\"\n\t},\n\t\"--now-display-type_subheader--font-size--sm\": {\n\t\t\"name\": \"displayType.subheader.fontSize.sm\",\n\t\t\"derived\": \"--now-font-size--sm\"\n\t},\n\t\"--now-display-type_value--color\": {\n\t\t\"name\": \"displayType.value.color\",\n\t\t\"derived\": \"--now-display-type--color\"\n\t},\n\t\"--now-display-type_value--font-family\": {\n\t\t\"name\": \"displayType.value.fontFamily\",\n\t\t\"derived\": \"--now-display-type--font-family\"\n\t},\n\t\"--now-display-type_value--font-size--md\": {\n\t\t\"name\": \"displayType.value.fontSize.md\",\n\t\t\"derived\": \"--now-font-size--md1\"\n\t},\n\t\"--now-display-type_value--font-size--sm\": {\n\t\t\"name\": \"displayType.value.fontSize.sm\",\n\t\t\"derived\": \"--now-font-size--sm\"\n\t},\n\t\"--now-display-type_value--font-style\": {\n\t\t\"name\": \"displayType.value.fontStyle\",\n\t\t\"derived\": \"--now-display-type--font-style\"\n\t},\n\t\"--now-display-type_value--font-weight\": {\n\t\t\"name\": \"displayType.value.fontWeight\",\n\t\t\"derived\": \"--now-display-type--font-weight\"\n\t},\n\t\"--now-display-type_value--text-transform\": {\n\t\t\"name\": \"displayType.value.textTransform\",\n\t\t\"derived\": \"--now-display-type--text-transform\"\n\t},\n\t\"--now-display-type--color\": {\n\t\t\"name\": \"displayType.color\",\n\t\t\"derived\": \"--now-color_text--primary\"\n\t},\n\t\"--now-display-type--font-family\": {\n\t\t\"name\": \"displayType.fontFamily\",\n\t\t\"derived\": \"--now-font-family\"\n\t},\n\t\"--now-display-type--font-style\": {\n\t\t\"name\": \"displayType.fontStyle\",\n\t\t\"initial\": \"normal\"\n\t},\n\t\"--now-display-type--font-weight\": {\n\t\t\"name\": \"displayType.fontWeight\",\n\t\t\"initial\": \"normal\"\n\t},\n\t\"--now-display-type--header-primary--font-family\": {\n\t\t\"name\": \"displayType.headerPrimary.fontFamily\",\n\t\t\"derived\": \"--now-display-type--primary--font-family\"\n\t},\n\t\"--now-display-type--header-primary--font-style\": {\n\t\t\"name\": \"displayType.headerPrimary.fontStyle\",\n\t\t\"derived\": \"--now-display-type--primary--font-style\"\n\t},\n\t\"--now-display-type--header-primary--font-weight\": {\n\t\t\"name\": \"displayType.headerPrimary.fontWeight\",\n\t\t\"derived\": \"--now-display-type--primary--font-weight\"\n\t},\n\t\"--now-display-type--header-primary--text-transform\": {\n\t\t\"name\": \"displayType.headerPrimary.textTransform\",\n\t\t\"derived\": \"--now-display-type--primary--text-transform\"\n\t},\n\t\"--now-display-type--header-secondary--font-family\": {\n\t\t\"name\": \"displayType.headerSecondary.fontFamily\",\n\t\t\"derived\": \"--now-display-type--secondary--font-family\"\n\t},\n\t\"--now-display-type--header-secondary--font-style\": {\n\t\t\"name\": \"displayType.headerSecondary.fontStyle\",\n\t\t\"derived\": \"--now-display-type--secondary--font-style\"\n\t},\n\t\"--now-display-type--header-secondary--font-weight\": {\n\t\t\"name\": \"displayType.headerSecondary.fontWeight\",\n\t\t\"derived\": \"--now-display-type--secondary--font-weight\"\n\t},\n\t\"--now-display-type--header-secondary--text-transform\": {\n\t\t\"name\": \"displayType.headerSecondary.textTransform\",\n\t\t\"derived\": \"--now-display-type--secondary--text-transform\"\n\t},\n\t\"--now-display-type--header-tertiary--font-family\": {\n\t\t\"name\": \"displayType.headerTertiary.fontFamily\",\n\t\t\"derived\": \"--now-display-type--tertiary--font-family\"\n\t},\n\t\"--now-display-type--header-tertiary--font-style\": {\n\t\t\"name\": \"displayType.headerTertiary.fontStyle\",\n\t\t\"derived\": \"--now-display-type--tertiary--font-style\"\n\t},\n\t\"--now-display-type--header-tertiary--font-weight\": {\n\t\t\"name\": \"displayType.headerTertiary.fontWeight\",\n\t\t\"derived\": \"--now-display-type--tertiary--font-weight\"\n\t},\n\t\"--now-display-type--header-tertiary--text-transform\": {\n\t\t\"name\": \"displayType.headerTertiary.textTransform\",\n\t\t\"derived\": \"--now-display-type--tertiary--text-transform\"\n\t},\n\t\"--now-display-type--line-height-crop--after\": {\n\t\t\"name\": \"displayType.lineHeightCrop.after\",\n\t\t\"derived\": \"--now-line-height-crop--after\"\n\t},\n\t\"--now-display-type--line-height-crop--before\": {\n\t\t\"name\": \"displayType.lineHeightCrop.before\",\n\t\t\"derived\": \"--now-line-height-crop--before\"\n\t},\n\t\"--now-display-type--primary--color\": {\n\t\t\"name\": \"displayType.primary.color\",\n\t\t\"derived\": \"--now-display-type--color\"\n\t},\n\t\"--now-display-type--primary--font-family\": {\n\t\t\"name\": \"displayType.primary.fontFamily\",\n\t\t\"derived\": \"--now-display-type--font-family\"\n\t},\n\t\"--now-display-type--primary--font-style\": {\n\t\t\"name\": \"displayType.primary.fontStyle\",\n\t\t\"derived\": \"--now-display-type--font-style\"\n\t},\n\t\"--now-display-type--primary--font-weight\": {\n\t\t\"name\": \"displayType.primary.fontWeight\",\n\t\t\"initial\": \"600\"\n\t},\n\t\"--now-display-type--primary--text-transform\": {\n\t\t\"name\": \"displayType.primary.textTransform\",\n\t\t\"derived\": \"--now-display-type--text-transform\"\n\t},\n\t\"--now-display-type--secondary--color\": {\n\t\t\"name\": \"displayType.secondary.color\",\n\t\t\"derived\": \"--now-color_text--secondary\"\n\t},\n\t\"--now-display-type--secondary--font-family\": {\n\t\t\"name\": \"displayType.secondary.fontFamily\",\n\t\t\"derived\": \"--now-display-type--font-family\"\n\t},\n\t\"--now-display-type--secondary--font-style\": {\n\t\t\"name\": \"displayType.secondary.fontStyle\",\n\t\t\"derived\": \"--now-display-type--font-style\"\n\t},\n\t\"--now-display-type--secondary--font-weight\": {\n\t\t\"name\": \"displayType.secondary.fontWeight\",\n\t\t\"derived\": \"--now-display-type--font-weight\"\n\t},\n\t\"--now-display-type--secondary--text-transform\": {\n\t\t\"name\": \"displayType.secondary.textTransform\",\n\t\t\"derived\": \"--now-display-type--text-transform\"\n\t},\n\t\"--now-display-type--tertiary--color\": {\n\t\t\"name\": \"displayType.tertiary.color\",\n\t\t\"derived\": \"--now-color_text--tertiary\"\n\t},\n\t\"--now-display-type--tertiary--font-family\": {\n\t\t\"name\": \"displayType.tertiary.fontFamily\",\n\t\t\"derived\": \"--now-display-type--font-family\"\n\t},\n\t\"--now-display-type--tertiary--font-style\": {\n\t\t\"name\": \"displayType.tertiary.fontStyle\",\n\t\t\"derived\": \"--now-display-type--font-style\"\n\t},\n\t\"--now-display-type--tertiary--font-weight\": {\n\t\t\"name\": \"displayType.tertiary.fontWeight\",\n\t\t\"derived\": \"--now-display-type--font-weight\"\n\t},\n\t\"--now-display-type--tertiary--text-transform\": {\n\t\t\"name\": \"displayType.tertiary.textTransform\",\n\t\t\"derived\": \"--now-display-type--text-transform\"\n\t},\n\t\"--now-display-type--text-transform\": {\n\t\t\"name\": \"displayType.textTransform\",\n\t\t\"initial\": \"none\"\n\t},\n\t\"--now-display-type--title-primary--font-family\": {\n\t\t\"name\": \"displayType.titlePrimary.fontFamily\",\n\t\t\"derived\": \"--now-display-type--primary--font-family\"\n\t},\n\t\"--now-display-type--title-primary--font-style\": {\n\t\t\"name\": \"displayType.titlePrimary.fontStyle\",\n\t\t\"derived\": \"--now-display-type--primary--font-style\"\n\t},\n\t\"--now-display-type--title-primary--font-weight\": {\n\t\t\"name\": \"displayType.titlePrimary.fontWeight\",\n\t\t\"derived\": \"--now-display-type--primary--font-weight\"\n\t},\n\t\"--now-display-type--title-primary--text-transform\": {\n\t\t\"name\": \"displayType.titlePrimary.textTransform\",\n\t\t\"derived\": \"--now-display-type--primary--text-transform\"\n\t},\n\t\"--now-display-type--title-secondary--font-family\": {\n\t\t\"name\": \"displayType.titleSecondary.fontFamily\",\n\t\t\"derived\": \"--now-display-type--secondary--font-family\"\n\t},\n\t\"--now-display-type--title-secondary--font-style\": {\n\t\t\"name\": \"displayType.titleSecondary.fontStyle\",\n\t\t\"derived\": \"--now-display-type--secondary--font-style\"\n\t},\n\t\"--now-display-type--title-secondary--font-weight\": {\n\t\t\"name\": \"displayType.titleSecondary.fontWeight\",\n\t\t\"derived\": \"--now-display-type--secondary--font-weight\"\n\t},\n\t\"--now-display-type--title-secondary--text-transform\": {\n\t\t\"name\": \"displayType.titleSecondary.textTransform\",\n\t\t\"derived\": \"--now-display-type--secondary--text-transform\"\n\t},\n\t\"--now-display-type--title-tertiary--font-family\": {\n\t\t\"name\": \"displayType.titleTertiary.fontFamily\",\n\t\t\"derived\": \"--now-display-type--tertiary--font-family\"\n\t},\n\t\"--now-display-type--title-tertiary--font-style\": {\n\t\t\"name\": \"displayType.titleTertiary.fontStyle\",\n\t\t\"derived\": \"--now-display-type--tertiary--font-style\"\n\t},\n\t\"--now-display-type--title-tertiary--font-weight\": {\n\t\t\"name\": \"displayType.titleTertiary.fontWeight\",\n\t\t\"derived\": \"--now-display-type--tertiary--font-weight\"\n\t},\n\t\"--now-display-type--title-tertiary--text-transform\": {\n\t\t\"name\": \"displayType.titleTertiary.textTransform\",\n\t\t\"derived\": \"--now-display-type--tertiary--text-transform\"\n\t},\n\t\"--now-form-control_handle--border-radius\": {\n\t\t\"name\": \"formControl.handle.borderRadius\",\n\t\t\"initial\": \"2px\"\n\t},\n\t\"--now-form-control_handle--border-width\": {\n\t\t\"name\": \"formControl.handle.borderWidth\",\n\t\t\"initial\": \"1px\"\n\t},\n\t\"--now-form-control_label--font-size--lg\": {\n\t\t\"name\": \"formControl.label.fontSize.lg\",\n\t\t\"derived\": \"--now-font-size--lg1\"\n\t},\n\t\"--now-form-control_label--font-size--md\": {\n\t\t\"name\": \"formControl.label.fontSize.md\",\n\t\t\"derived\": \"--now-font-size--md1\"\n\t},\n\t\"--now-form-control_label--font-size--sm\": {\n\t\t\"name\": \"formControl.label.fontSize.sm\",\n\t\t\"derived\": \"--now-font-size--sm\"\n\t},\n\t\"--now-form-control_label--font-size--xs\": {\n\t\t\"name\": \"formControl.label.fontSize.xs\",\n\t\t\"derived\": \"--now-font-size--xs\"\n\t},\n\t\"--now-form-control_message--font-size--sm\": {\n\t\t\"name\": \"formControl.message.fontSize.sm\",\n\t\t\"derived\": \"--now-font-size--sm\"\n\t},\n\t\"--now-form-control_track--border-radius\": {\n\t\t\"name\": \"formControl.track.borderRadius\",\n\t\t\"initial\": \"2px\"\n\t},\n\t\"--now-form-control_track--border-width\": {\n\t\t\"name\": \"formControl.track.borderWidth\",\n\t\t\"initial\": \"1px\"\n\t},\n\t\"--now-form-control_value--font-size--lg\": {\n\t\t\"name\": \"formControl.value.fontSize.lg\",\n\t\t\"derived\": \"--now-font-size--lg1\"\n\t},\n\t\"--now-form-control_value--font-size--md\": {\n\t\t\"name\": \"formControl.value.fontSize.md\",\n\t\t\"derived\": \"--now-font-size--md1\"\n\t},\n\t\"--now-form-control_value--font-size--sm\": {\n\t\t\"name\": \"formControl.value.fontSize.sm\",\n\t\t\"derived\": \"--now-font-size--sm\"\n\t},\n\t\"--now-form-control_value--font-size--xs\": {\n\t\t\"name\": \"formControl.value.fontSize.xs\",\n\t\t\"derived\": \"--now-font-size--xs\"\n\t},\n\t\"--now-form-control--border-radius\": {\n\t\t\"name\": \"formControl.borderRadius\",\n\t\t\"initial\": \"0\"\n\t},\n\t\"--now-form-control--border-width\": {\n\t\t\"name\": \"formControl.borderWidth\",\n\t\t\"initial\": \"1px\"\n\t},\n\t\"--now-form-control--font-family\": {\n\t\t\"name\": \"formControl.fontFamily\",\n\t\t\"derived\": \"--now-font-family\"\n\t},\n\t\"--now-form-control--font-style\": {\n\t\t\"name\": \"formControl.fontStyle\",\n\t\t\"initial\": \"normal\"\n\t},\n\t\"--now-form-control--font-weight\": {\n\t\t\"name\": \"formControl.fontWeight\",\n\t\t\"initial\": \"normal\"\n\t},\n\t\"--now-form-control--text-transform\": {\n\t\t\"name\": \"formControl.textTransform\",\n\t\t\"initial\": \"none\"\n\t},\n\t\"--now-identifier_label--font-size--lg\": {\n\t\t\"name\": \"identifier.label.fontSize.lg\",\n\t\t\"derived\": \"--now-font-size--lg\"\n\t},\n\t\"--now-identifier_label--font-size--lg1\": {\n\t\t\"name\": \"identifier.label.fontSize.lg1\",\n\t\t\"derived\": \"--now-font-size--lg1\"\n\t},\n\t\"--now-identifier_label--font-size--lg2\": {\n\t\t\"name\": \"identifier.label.fontSize.lg2\",\n\t\t\"derived\": \"--now-font-size--lg2\"\n\t},\n\t\"--now-identifier_label--font-size--lg3\": {\n\t\t\"name\": \"identifier.label.fontSize.lg3\",\n\t\t\"derived\": \"--now-font-size--lg3\"\n\t},\n\t\"--now-identifier_label--font-size--md\": {\n\t\t\"name\": \"identifier.label.fontSize.md\",\n\t\t\"derived\": \"--now-font-size--md1\"\n\t},\n\t\"--now-identifier_label--font-size--sm\": {\n\t\t\"name\": \"identifier.label.fontSize.sm\",\n\t\t\"derived\": \"--now-font-size--sm\"\n\t},\n\t\"--now-identifier_label--font-size--xl3\": {\n\t\t\"name\": \"identifier.label.fontSize.xl3\",\n\t\t\"derived\": \"--now-font-size--xl3\"\n\t},\n\t\"--now-identifier_label--font-size--xs\": {\n\t\t\"name\": \"identifier.label.fontSize.xs\",\n\t\t\"derived\": \"--now-font-size--xs\"\n\t},\n\t\"--now-identifier--border-radius\": {\n\t\t\"name\": \"identifier.borderRadius\",\n\t\t\"initial\": \"0\"\n\t},\n\t\"--now-identifier--border-width\": {\n\t\t\"name\": \"identifier.borderWidth\",\n\t\t\"initial\": \"1px\"\n\t},\n\t\"--now-identifier--font-family\": {\n\t\t\"name\": \"identifier.fontFamily\",\n\t\t\"derived\": \"--now-font-family\"\n\t},\n\t\"--now-identifier--font-style\": {\n\t\t\"name\": \"identifier.fontStyle\",\n\t\t\"initial\": \"normal\"\n\t},\n\t\"--now-identifier--font-weight\": {\n\t\t\"name\": \"identifier.fontWeight\",\n\t\t\"initial\": \"normal\"\n\t},\n\t\"--now-identifier--text-transform\": {\n\t\t\"name\": \"identifier.textTransform\",\n\t\t\"initial\": \"none\"\n\t},\n\t\"--now-indicator_label--font-size--lg\": {\n\t\t\"name\": \"indicator.label.fontSize.lg\",\n\t\t\"derived\": \"--now-font-size--lg1\"\n\t},\n\t\"--now-indicator_label--font-size--md\": {\n\t\t\"name\": \"indicator.label.fontSize.md\",\n\t\t\"derived\": \"--now-font-size--md1\"\n\t},\n\t\"--now-indicator_label--font-size--sm\": {\n\t\t\"name\": \"indicator.label.fontSize.sm\",\n\t\t\"derived\": \"--now-font-size--sm\"\n\t},\n\t\"--now-indicator--border-radius\": {\n\t\t\"name\": \"indicator.borderRadius\",\n\t\t\"initial\": \"2px\"\n\t},\n\t\"--now-indicator--border-width\": {\n\t\t\"name\": \"indicator.borderWidth\",\n\t\t\"initial\": \"0\"\n\t},\n\t\"--now-indicator--font-family\": {\n\t\t\"name\": \"indicator.fontFamily\",\n\t\t\"derived\": \"--now-font-family\"\n\t},\n\t\"--now-indicator--font-style\": {\n\t\t\"name\": \"indicator.fontStyle\",\n\t\t\"initial\": \"normal\"\n\t},\n\t\"--now-indicator--font-weight\": {\n\t\t\"name\": \"indicator.fontWeight\",\n\t\t\"initial\": \"normal\"\n\t},\n\t\"--now-indicator--text-transform\": {\n\t\t\"name\": \"indicator.textTransform\",\n\t\t\"initial\": \"none\"\n\t},\n\t\"--now-loading_label--font-size--md\": {\n\t\t\"name\": \"loading.label.fontSize.md\",\n\t\t\"derived\": \"--now-font-size--md1\"\n\t},\n\t\"--now-loading_label--font-size--sm\": {\n\t\t\"name\": \"loading.label.fontSize.sm\",\n\t\t\"derived\": \"--now-font-size--sm\"\n\t},\n\t\"--now-loading--border-radius\": {\n\t\t\"name\": \"loading.borderRadius\",\n\t\t\"initial\": \"0\"\n\t},\n\t\"--now-loading--border-width\": {\n\t\t\"name\": \"loading.borderWidth\",\n\t\t\"initial\": \"1px\"\n\t},\n\t\"--now-loading--font-family\": {\n\t\t\"name\": \"loading.fontFamily\",\n\t\t\"derived\": \"--now-font-family\"\n\t},\n\t\"--now-loading--font-style\": {\n\t\t\"name\": \"loading.fontStyle\",\n\t\t\"initial\": \"normal\"\n\t},\n\t\"--now-loading--font-weight\": {\n\t\t\"name\": \"loading.fontWeight\",\n\t\t\"initial\": \"normal\"\n\t},\n\t\"--now-loading--initial--background-color\": {\n\t\t\"name\": \"loading.initial.backgroundColor\",\n\t\t\"derived\": \"--now-color--primary-1\"\n\t},\n\t\"--now-loading--initial--border-color\": {\n\t\t\"name\": \"loading.initial.borderColor\",\n\t\t\"derived\": \"--now-color--primary-2\"\n\t},\n\t\"--now-loading--text-transform\": {\n\t\t\"name\": \"loading.textTransform\",\n\t\t\"initial\": \"none\"\n\t},\n\t\"--now-menu_divider--color\": {\n\t\t\"name\": \"menu.divider.color\",\n\t\t\"derived\": \"--now-color_divider--tertiary\"\n\t},\n\t\"--now-menu_divider--width\": {\n\t\t\"name\": \"menu.divider.width\",\n\t\t\"initial\": \"1px\"\n\t},\n\t\"--now-menu_field--font-size--md\": {\n\t\t\"name\": \"menu.field.fontSize.md\",\n\t\t\"derived\": \"--now-form-control_value--font-size--md\"\n\t},\n\t\"--now-menu_field--font-size--sm\": {\n\t\t\"name\": \"menu.field.fontSize.sm\",\n\t\t\"derived\": \"--now-form-control_value--font-size--sm\"\n\t},\n\t\"--now-menu_header--font-size--md\": {\n\t\t\"name\": \"menu.header.fontSize.md\",\n\t\t\"derived\": \"--now-display-type_header--font-size--md\"\n\t},\n\t\"--now-menu_header--font-size--sm\": {\n\t\t\"name\": \"menu.header.fontSize.sm\",\n\t\t\"derived\": \"--now-display-type_header--font-size--sm\"\n\t},\n\t\"--now-menu_heading--font-family\": {\n\t\t\"name\": \"menu.heading.fontFamily\",\n\t\t\"derived\": \"--now-menu--font-family\"\n\t},\n\t\"--now-menu_heading--font-style\": {\n\t\t\"name\": \"menu.heading.fontStyle\",\n\t\t\"derived\": \"--now-menu--font-style\"\n\t},\n\t\"--now-menu_heading--font-weight\": {\n\t\t\"name\": \"menu.heading.fontWeight\",\n\t\t\"derived\": \"--now-menu--font-weight\"\n\t},\n\t\"--now-menu_heading--text-transform\": {\n\t\t\"name\": \"menu.heading.textTransform\",\n\t\t\"derived\": \"--now-menu--text-transform\"\n\t},\n\t\"--now-menu_label--font-size--md\": {\n\t\t\"name\": \"menu.label.fontSize.md\",\n\t\t\"derived\": \"--now-font-size--md1\"\n\t},\n\t\"--now-menu_label--font-size--sm\": {\n\t\t\"name\": \"menu.label.fontSize.sm\",\n\t\t\"derived\": \"--now-font-size--sm\"\n\t},\n\t\"--now-menu_search--font-family\": {\n\t\t\"name\": \"menu.search.fontFamily\",\n\t\t\"derived\": \"--now-menu--font-family\"\n\t},\n\t\"--now-menu_search--font-style\": {\n\t\t\"name\": \"menu.search.fontStyle\",\n\t\t\"derived\": \"--now-menu--font-style\"\n\t},\n\t\"--now-menu_search--font-weight\": {\n\t\t\"name\": \"menu.search.fontWeight\",\n\t\t\"derived\": \"--now-menu--font-weight\"\n\t},\n\t\"--now-menu_search--text-transform\": {\n\t\t\"name\": \"menu.search.textTransform\",\n\t\t\"derived\": \"--now-menu--text-transform\"\n\t},\n\t\"--now-menu_sublabel--font-family\": {\n\t\t\"name\": \"menu.sublabel.fontFamily\",\n\t\t\"derived\": \"--now-menu--font-family\"\n\t},\n\t\"--now-menu_sublabel--font-size--md\": {\n\t\t\"name\": \"menu.sublabel.fontSize.md\",\n\t\t\"derived\": \"--now-font-size--md1\"\n\t},\n\t\"--now-menu_sublabel--font-size--sm\": {\n\t\t\"name\": \"menu.sublabel.fontSize.sm\",\n\t\t\"derived\": \"--now-font-size--sm\"\n\t},\n\t\"--now-menu_sublabel--font-style\": {\n\t\t\"name\": \"menu.sublabel.fontStyle\",\n\t\t\"derived\": \"--now-menu--font-style\"\n\t},\n\t\"--now-menu_sublabel--font-weight\": {\n\t\t\"name\": \"menu.sublabel.fontWeight\",\n\t\t\"derived\": \"--now-menu--font-weight\"\n\t},\n\t\"--now-menu_sublabel--text-transform\": {\n\t\t\"name\": \"menu.sublabel.textTransform\",\n\t\t\"derived\": \"--now-menu--text-transform\"\n\t},\n\t\"--now-menu--background-color\": {\n\t\t\"name\": \"menu.backgroundColor\",\n\t\t\"derived\": \"--now-color_background--primary\"\n\t},\n\t\"--now-menu--border-color\": {\n\t\t\"name\": \"menu.borderColor\",\n\t\t\"derived\": \"--now-color_border--primary\"\n\t},\n\t\"--now-menu--border-radius\": {\n\t\t\"name\": \"menu.borderRadius\",\n\t\t\"initial\": \"2px\"\n\t},\n\t\"--now-menu--border-width\": {\n\t\t\"name\": \"menu.borderWidth\",\n\t\t\"initial\": \"1px\"\n\t},\n\t\"--now-menu--font-family\": {\n\t\t\"name\": \"menu.fontFamily\",\n\t\t\"derived\": \"--now-font-family\"\n\t},\n\t\"--now-menu--font-style\": {\n\t\t\"name\": \"menu.fontStyle\",\n\t\t\"initial\": \"normal\"\n\t},\n\t\"--now-menu--font-weight\": {\n\t\t\"name\": \"menu.fontWeight\",\n\t\t\"initial\": \"normal\"\n\t},\n\t\"--now-menu--text-transform\": {\n\t\t\"name\": \"menu.textTransform\",\n\t\t\"initial\": \"none\"\n\t},\n\t\"--now-messaging_header--font-size--md\": {\n\t\t\"name\": \"messaging.header.fontSize.md\",\n\t\t\"derived\": \"--now-display-type_header--font-size--md\"\n\t},\n\t\"--now-messaging_message--font-size--md\": {\n\t\t\"name\": \"messaging.message.fontSize.md\",\n\t\t\"derived\": \"--now-font-size--md1\"\n\t},\n\t\"--now-messaging--background-color\": {\n\t\t\"name\": \"messaging.backgroundColor\",\n\t\t\"derived\": \"--now-color_background--primary\"\n\t},\n\t\"--now-messaging--border-color\": {\n\t\t\"name\": \"messaging.borderColor\",\n\t\t\"derived\": \"--now-color_border--secondary\"\n\t},\n\t\"--now-messaging--border-radius\": {\n\t\t\"name\": \"messaging.borderRadius\",\n\t\t\"initial\": \"4px\"\n\t},\n\t\"--now-messaging--border-width\": {\n\t\t\"name\": \"messaging.borderWidth\",\n\t\t\"initial\": \"1px\"\n\t},\n\t\"--now-messaging--font-family\": {\n\t\t\"name\": \"messaging.fontFamily\",\n\t\t\"derived\": \"--now-font-family\"\n\t},\n\t\"--now-messaging--font-style\": {\n\t\t\"name\": \"messaging.fontStyle\",\n\t\t\"initial\": \"normal\"\n\t},\n\t\"--now-messaging--font-weight\": {\n\t\t\"name\": \"messaging.fontWeight\",\n\t\t\"initial\": \"normal\"\n\t},\n\t\"--now-messaging--text-transform\": {\n\t\t\"name\": \"messaging.textTransform\",\n\t\t\"initial\": \"none\"\n\t},\n\t\"--now-navigation_label--font-size--md\": {\n\t\t\"name\": \"navigation.label.fontSize.md\",\n\t\t\"derived\": \"--now-font-size--md1\"\n\t},\n\t\"--now-navigation_label--font-size--sm\": {\n\t\t\"name\": \"navigation.label.fontSize.sm\",\n\t\t\"derived\": \"--now-font-size--sm\"\n\t},\n\t\"--now-navigation_sublabel--font-size--md\": {\n\t\t\"name\": \"navigation.sublabel.fontSize.md\",\n\t\t\"derived\": \"--now-font-size--md1\"\n\t},\n\t\"--now-navigation_sublabel--font-size--sm\": {\n\t\t\"name\": \"navigation.sublabel.fontSize.sm\",\n\t\t\"derived\": \"--now-font-size--sm\"\n\t},\n\t\"--now-navigation--font-family\": {\n\t\t\"name\": \"navigation.fontFamily\",\n\t\t\"derived\": \"--now-font-family\"\n\t},\n\t\"--now-navigation--font-style\": {\n\t\t\"name\": \"navigation.fontStyle\",\n\t\t\"initial\": \"normal\"\n\t},\n\t\"--now-navigation--font-weight\": {\n\t\t\"name\": \"navigation.fontWeight\",\n\t\t\"initial\": \"normal\"\n\t},\n\t\"--now-navigation--text-transform\": {\n\t\t\"name\": \"navigation.textTransform\",\n\t\t\"initial\": \"none\"\n\t},\n\t\"--now-view-control_header--font-size--lg\": {\n\t\t\"name\": \"viewControl.header.fontSize.lg\",\n\t\t\"derived\": \"--now-display-type_header--font-size--lg\"\n\t},\n\t\"--now-view-control_header--font-size--md\": {\n\t\t\"name\": \"viewControl.header.fontSize.md\",\n\t\t\"derived\": \"--now-display-type_header--font-size--md\"\n\t},\n\t\"--now-view-control_header--font-size--sm\": {\n\t\t\"name\": \"viewControl.header.fontSize.sm\",\n\t\t\"derived\": \"--now-display-type_header--font-size--sm\"\n\t},\n\t\"--now-view-control_label--font-size--md\": {\n\t\t\"name\": \"viewControl.label.fontSize.md\",\n\t\t\"derived\": \"--now-font-size--md1\"\n\t},\n\t\"--now-view-control_label--font-size--sm\": {\n\t\t\"name\": \"viewControl.label.fontSize.sm\",\n\t\t\"derived\": \"--now-font-size--sm\"\n\t},\n\t\"--now-view-control_subheader--font-size--sm\": {\n\t\t\"name\": \"viewControl.subheader.fontSize.sm\",\n\t\t\"derived\": \"--now-display-type_subheader--font-size--sm\"\n\t},\n\t\"--now-view-control--border-radius\": {\n\t\t\"name\": \"viewControl.borderRadius\",\n\t\t\"initial\": \"0\"\n\t},\n\t\"--now-view-control--border-width\": {\n\t\t\"name\": \"viewControl.borderWidth\",\n\t\t\"initial\": \"0\"\n\t},\n\t\"--now-view-control--font-family\": {\n\t\t\"name\": \"viewControl.fontFamily\",\n\t\t\"derived\": \"--now-font-family\"\n\t},\n\t\"--now-view-control--font-style\": {\n\t\t\"name\": \"viewControl.fontStyle\",\n\t\t\"initial\": \"normal\"\n\t},\n\t\"--now-view-control--font-weight\": {\n\t\t\"name\": \"viewControl.fontWeight\",\n\t\t\"initial\": \"normal\"\n\t},\n\t\"--now-view-control--text-transform\": {\n\t\t\"name\": \"viewControl.textTransform\",\n\t\t\"initial\": \"none\"\n\t},\n\t\"--now-window_body--font-size--md\": {\n\t\t\"name\": \"window.body.fontSize.md\",\n\t\t\"derived\": \"--now-font-size--md1\"\n\t},\n\t\"--now-window_body--font-size--sm\": {\n\t\t\"name\": \"window.body.fontSize.sm\",\n\t\t\"derived\": \"--now-font-size--sm\"\n\t},\n\t\"--now-window_header--font-size--lg\": {\n\t\t\"name\": \"window.header.fontSize.lg\",\n\t\t\"derived\": \"--now-display-type_header--font-size--lg\"\n\t},\n\t\"--now-window_header--font-size--md\": {\n\t\t\"name\": \"window.header.fontSize.md\",\n\t\t\"derived\": \"--now-display-type_header--font-size--md\"\n\t},\n\t\"--now-window_header--font-size--sm\": {\n\t\t\"name\": \"window.header.fontSize.sm\",\n\t\t\"derived\": \"--now-display-type_header--font-size--sm\"\n\t},\n\t\"--now-window--background-color\": {\n\t\t\"name\": \"window.backgroundColor\",\n\t\t\"derived\": \"--now-color_background--primary\"\n\t},\n\t\"--now-window--border-color\": {\n\t\t\"name\": \"window.borderColor\",\n\t\t\"derived\": \"--now-color_divider--secondary\"\n\t},\n\t\"--now-window--border-radius\": {\n\t\t\"name\": \"window.borderRadius\",\n\t\t\"initial\": \"4px\"\n\t},\n\t\"--now-window--border-width\": {\n\t\t\"name\": \"window.borderWidth\",\n\t\t\"initial\": \"1px\"\n\t},\n\t\"--now-window--font-family\": {\n\t\t\"name\": \"window.fontFamily\",\n\t\t\"derived\": \"--now-font-family\"\n\t},\n\t\"--now-window--font-style\": {\n\t\t\"name\": \"window.fontStyle\",\n\t\t\"initial\": \"normal\"\n\t},\n\t\"--now-window--font-weight\": {\n\t\t\"name\": \"window.fontWeight\",\n\t\t\"initial\": \"normal\"\n\t},\n\t\"--now-window--text-transform\": {\n\t\t\"name\": \"window.textTransform\",\n\t\t\"initial\": \"none\"\n\t}\n}","export default{\n    \"--now-actionable_divider--brand-primary--color\": {\n        \"name\": \"actionable.divider.brandPrimary.color\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_divider--brand-primary--color--active\": {\n        \"name\": \"actionable.divider.brandPrimary.color.active\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_divider--brand-primary--color--hover\": {\n        \"name\": \"actionable.divider.brandPrimary.color.hover\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_divider--brand-secondary--color\": {\n        \"name\": \"actionable.divider.brandSecondary.color\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_divider--brand-secondary--color--active\": {\n        \"name\": \"actionable.divider.brandSecondary.color.active\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_divider--brand-secondary--color--hover\": {\n        \"name\": \"actionable.divider.brandSecondary.color.hover\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_divider--brand-tertiary--color\": {\n        \"name\": \"actionable.divider.brandTertiary.color\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_divider--brand-tertiary--color--active\": {\n        \"name\": \"actionable.divider.brandTertiary.color.active\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_divider--brand-tertiary--color--hover\": {\n        \"name\": \"actionable.divider.brandTertiary.color.hover\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_divider--primary--color\": {\n        \"name\": \"actionable.divider.primary.color\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_divider--primary--color--active\": {\n        \"name\": \"actionable.divider.primary.color.active\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_divider--primary--color--hover\": {\n        \"name\": \"actionable.divider.primary.color.hover\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_divider--primary-negative--color\": {\n        \"name\": \"actionable.divider.primaryNegative.color\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_divider--primary-negative--color--active\": {\n        \"name\": \"actionable.divider.primaryNegative.color.active\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_divider--primary-negative--color--hover\": {\n        \"name\": \"actionable.divider.primaryNegative.color.hover\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_divider--primary-positive--color\": {\n        \"name\": \"actionable.divider.primaryPositive.color\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_divider--primary-positive--color--active\": {\n        \"name\": \"actionable.divider.primaryPositive.color.active\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_divider--primary-positive--color--hover\": {\n        \"name\": \"actionable.divider.primaryPositive.color.hover\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_divider--secondary--color\": {\n        \"name\": \"actionable.divider.secondary.color\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-actionable_divider--secondary--color--active\": {\n        \"name\": \"actionable.divider.secondary.color.active\",\n        \"derived\": \"--now-color--secondary-3\"\n    },\n    \"--now-actionable_divider--secondary--color--hover\": {\n        \"name\": \"actionable.divider.secondary.color.hover\",\n        \"derived\": \"--now-color--secondary-2\"\n    },\n    \"--now-actionable_divider--secondary-negative--color\": {\n        \"name\": \"actionable.divider.secondaryNegative.color\",\n        \"derived\": \"--now-color_alert--critical-3\"\n    },\n    \"--now-actionable_divider--secondary-negative--color--active\": {\n        \"name\": \"actionable.divider.secondaryNegative.color.active\",\n        \"derived\": \"--now-color_alert--critical-5\"\n    },\n    \"--now-actionable_divider--secondary-negative--color--hover\": {\n        \"name\": \"actionable.divider.secondaryNegative.color.hover\",\n        \"derived\": \"--now-color_alert--critical-4\"\n    },\n    \"--now-actionable_divider--secondary-positive--color\": {\n        \"name\": \"actionable.divider.secondaryPositive.color\",\n        \"derived\": \"--now-color_alert--positive-3\"\n    },\n    \"--now-actionable_divider--secondary-positive--color--active\": {\n        \"name\": \"actionable.divider.secondaryPositive.color.active\",\n        \"derived\": \"--now-color_alert--positive-5\"\n    },\n    \"--now-actionable_divider--secondary-positive--color--hover\": {\n        \"name\": \"actionable.divider.secondaryPositive.color.hover\",\n        \"derived\": \"--now-color_alert--positive-4\"\n    },\n    \"--now-actionable_divider--tertiary--color\": {\n        \"name\": \"actionable.divider.tertiary.color\",\n        \"derived\": \"--now-color_border--tertiary-actionable\"\n    },\n    \"--now-actionable_divider--tertiary--color--active\": {\n        \"name\": \"actionable.divider.tertiary.color.active\",\n        \"derived\": \"--now-color_border--primary-actionable\"\n    },\n    \"--now-actionable_divider--tertiary--color--hover\": {\n        \"name\": \"actionable.divider.tertiary.color.hover\",\n        \"derived\": \"--now-color_border--secondary-actionable\"\n    },\n    \"--now-actionable_icon--brand-primary--color\": {\n        \"name\": \"actionable.icon.brandPrimary.color\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_icon--brand-primary--color--active\": {\n        \"name\": \"actionable.icon.brandPrimary.color.active\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_icon--brand-primary--color--hover\": {\n        \"name\": \"actionable.icon.brandPrimary.color.hover\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_icon--brand-secondary--color\": {\n        \"name\": \"actionable.icon.brandSecondary.color\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_icon--brand-secondary--color--active\": {\n        \"name\": \"actionable.icon.brandSecondary.color.active\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_icon--brand-secondary--color--hover\": {\n        \"name\": \"actionable.icon.brandSecondary.color.hover\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_icon--brand-tertiary--color\": {\n        \"name\": \"actionable.icon.brandTertiary.color\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_icon--brand-tertiary--color--active\": {\n        \"name\": \"actionable.icon.brandTertiary.color.active\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_icon--brand-tertiary--color--hover\": {\n        \"name\": \"actionable.icon.brandTertiary.color.hover\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_icon--primary_bare--color\": {\n        \"name\": \"actionable.icon.primary.bare.color\",\n        \"derived\": \"--now-color--primary-2\"\n    },\n    \"--now-actionable_icon--primary_bare--color--active\": {\n        \"name\": \"actionable.icon.primary.bare.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--primary_bare--color--hover\": {\n        \"name\": \"actionable.icon.primary.bare.color.hover\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-actionable_icon--primary_bare--color--selected\": {\n        \"name\": \"actionable.icon.primary.bare.color.selected\",\n        \"derived\": \"--now-color--primary-2\"\n    },\n    \"--now-actionable_icon--primary_bare--color--selected_active\": {\n        \"name\": \"actionable.icon.primary.bare.color.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--primary_bare--color--selected_hover\": {\n        \"name\": \"actionable.icon.primary.bare.color.selected.hover\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-actionable_icon--primary_high-contrast_bare--color\": {\n        \"name\": \"actionable.icon.primary.highContrast.bare.color\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-actionable_icon--primary_high-contrast_bare--color--active\": {\n        \"name\": \"actionable.icon.primary.highContrast.bare.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--primary_high-contrast_bare--color--hover\": {\n        \"name\": \"actionable.icon.primary.highContrast.bare.color.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--primary_high-contrast_bare--color--selected\": {\n        \"name\": \"actionable.icon.primary.highContrast.bare.color.selected\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-actionable_icon--primary_high-contrast_bare--color--selected_active\": {\n        \"name\": \"actionable.icon.primary.highContrast.bare.color.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--primary_high-contrast_bare--color--selected_hover\": {\n        \"name\": \"actionable.icon.primary.highContrast.bare.color.selected.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--primary_highlighted_bare--color--selected\": {\n        \"name\": \"actionable.icon.primary.highlighted.bare.color.selected\",\n        \"derived\": \"--now-color--primary-2\"\n    },\n    \"--now-actionable_icon--primary_highlighted_bare--color--selected_active\": {\n        \"name\": \"actionable.icon.primary.highlighted.bare.color.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--primary_highlighted_bare--color--selected_hover\": {\n        \"name\": \"actionable.icon.primary.highlighted.bare.color.selected.hover\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-actionable_icon--primary_highlighted_high-contrast_bare--color--selected\": {\n        \"name\": \"actionable.icon.primary.highlighted.highContrast.bare.color.selected\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-actionable_icon--primary_highlighted_high-contrast_bare--color--selected_active\": {\n        \"name\": \"actionable.icon.primary.highlighted.highContrast.bare.color.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--primary_highlighted_high-contrast_bare--color--selected_hover\": {\n        \"name\": \"actionable.icon.primary.highlighted.highContrast.bare.color.selected.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--primary--color\": {\n        \"name\": \"actionable.icon.primary.color\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_icon--primary--color--active\": {\n        \"name\": \"actionable.icon.primary.color.active\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_icon--primary--color--hover\": {\n        \"name\": \"actionable.icon.primary.color.hover\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_icon--primary-negative--color\": {\n        \"name\": \"actionable.icon.primaryNegative.color\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_icon--primary-negative--color--active\": {\n        \"name\": \"actionable.icon.primaryNegative.color.active\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_icon--primary-negative--color--hover\": {\n        \"name\": \"actionable.icon.primaryNegative.color.hover\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_icon--primary-positive--color\": {\n        \"name\": \"actionable.icon.primaryPositive.color\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_icon--primary-positive--color--active\": {\n        \"name\": \"actionable.icon.primaryPositive.color.active\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_icon--primary-positive--color--hover\": {\n        \"name\": \"actionable.icon.primaryPositive.color.hover\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_icon--primary-selection_bare--color\": {\n        \"name\": \"actionable.icon.primarySelection.bare.color\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_icon--primary-selection_bare--color--active\": {\n        \"name\": \"actionable.icon.primarySelection.bare.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--primary-selection_bare--color--hover\": {\n        \"name\": \"actionable.icon.primarySelection.bare.color.hover\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_icon--primary-selection_bare--color--selected\": {\n        \"name\": \"actionable.icon.primarySelection.bare.color.selected\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_icon--primary-selection_bare--color--selected_active\": {\n        \"name\": \"actionable.icon.primarySelection.bare.color.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--primary-selection_bare--color--selected_hover\": {\n        \"name\": \"actionable.icon.primarySelection.bare.color.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_icon--primary-selection_high-contrast_bare--color\": {\n        \"name\": \"actionable.icon.primarySelection.highContrast.bare.color\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_icon--primary-selection_high-contrast_bare--color--active\": {\n        \"name\": \"actionable.icon.primarySelection.highContrast.bare.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--primary-selection_high-contrast_bare--color--hover\": {\n        \"name\": \"actionable.icon.primarySelection.highContrast.bare.color.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--primary-selection_high-contrast_bare--color--selected\": {\n        \"name\": \"actionable.icon.primarySelection.highContrast.bare.color.selected\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_icon--primary-selection_high-contrast_bare--color--selected_active\": {\n        \"name\": \"actionable.icon.primarySelection.highContrast.bare.color.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--primary-selection_high-contrast_bare--color--selected_hover\": {\n        \"name\": \"actionable.icon.primarySelection.highContrast.bare.color.selected.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--primary-selection_highlighted_bare--color--selected\": {\n        \"name\": \"actionable.icon.primarySelection.highlighted.bare.color.selected\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_icon--primary-selection_highlighted_bare--color--selected_active\": {\n        \"name\": \"actionable.icon.primarySelection.highlighted.bare.color.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--primary-selection_highlighted_bare--color--selected_hover\": {\n        \"name\": \"actionable.icon.primarySelection.highlighted.bare.color.selected.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--primary-selection_highlighted_high-contrast_bare--color--selected\": {\n        \"name\": \"actionable.icon.primarySelection.highlighted.highContrast.bare.color.selected\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_icon--primary-selection_highlighted_high-contrast_bare--color--selected_active\": {\n        \"name\": \"actionable.icon.primarySelection.highlighted.highContrast.bare.color.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--primary-selection_highlighted_high-contrast_bare--color--selected_hover\": {\n        \"name\": \"actionable.icon.primarySelection.highlighted.highContrast.bare.color.selected.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--primary-selection--color\": {\n        \"name\": \"actionable.icon.primarySelection.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--primary-selection--color--active\": {\n        \"name\": \"actionable.icon.primarySelection.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--primary-selection--color--hover\": {\n        \"name\": \"actionable.icon.primarySelection.color.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--secondary_bare--color\": {\n        \"name\": \"actionable.icon.secondary.bare.color\",\n        \"derived\": \"--now-actionable_icon--secondary--color\"\n    },\n    \"--now-actionable_icon--secondary_bare--color--active\": {\n        \"name\": \"actionable.icon.secondary.bare.color.active\",\n        \"derived\": \"--now-actionable_icon--secondary--color--active\"\n    },\n    \"--now-actionable_icon--secondary_bare--color--hover\": {\n        \"name\": \"actionable.icon.secondary.bare.color.hover\",\n        \"derived\": \"--now-actionable_icon--secondary--color--hover\"\n    },\n    \"--now-actionable_icon--secondary_bare--color--selected\": {\n        \"name\": \"actionable.icon.secondary.bare.color.selected\",\n        \"derived\": \"--now-actionable_icon--secondary_bare--color\"\n    },\n    \"--now-actionable_icon--secondary_bare--color--selected_active\": {\n        \"name\": \"actionable.icon.secondary.bare.color.selected.active\",\n        \"derived\": \"--now-actionable_icon--secondary_bare--color--active\"\n    },\n    \"--now-actionable_icon--secondary_bare--color--selected_hover\": {\n        \"name\": \"actionable.icon.secondary.bare.color.selected.hover\",\n        \"derived\": \"--now-actionable_icon--secondary_bare--color--hover\"\n    },\n    \"--now-actionable_icon--secondary_high-contrast_bare--color\": {\n        \"name\": \"actionable.icon.secondary.highContrast.bare.color\",\n        \"derived\": \"--now-color--secondary-2\"\n    },\n    \"--now-actionable_icon--secondary_high-contrast_bare--color--active\": {\n        \"name\": \"actionable.icon.secondary.highContrast.bare.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--secondary_high-contrast_bare--color--hover\": {\n        \"name\": \"actionable.icon.secondary.highContrast.bare.color.hover\",\n        \"derived\": \"--now-color--secondary-3\"\n    },\n    \"--now-actionable_icon--secondary_high-contrast_bare--color--selected\": {\n        \"name\": \"actionable.icon.secondary.highContrast.bare.color.selected\",\n        \"derived\": \"--now-color--secondary-2\"\n    },\n    \"--now-actionable_icon--secondary_high-contrast_bare--color--selected_active\": {\n        \"name\": \"actionable.icon.secondary.highContrast.bare.color.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--secondary_high-contrast_bare--color--selected_hover\": {\n        \"name\": \"actionable.icon.secondary.highContrast.bare.color.selected.hover\",\n        \"derived\": \"--now-color--secondary-3\"\n    },\n    \"--now-actionable_icon--secondary_highlighted_bare--color--selected\": {\n        \"name\": \"actionable.icon.secondary.highlighted.bare.color.selected\",\n        \"derived\": \"--now-actionable_icon--secondary_bare--color--selected\"\n    },\n    \"--now-actionable_icon--secondary_highlighted_bare--color--selected_active\": {\n        \"name\": \"actionable.icon.secondary.highlighted.bare.color.selected.active\",\n        \"derived\": \"--now-actionable_icon--secondary_bare--color--selected_active\"\n    },\n    \"--now-actionable_icon--secondary_highlighted_bare--color--selected_hover\": {\n        \"name\": \"actionable.icon.secondary.highlighted.bare.color.selected.hover\",\n        \"derived\": \"--now-actionable_icon--secondary_bare--color--selected_hover\"\n    },\n    \"--now-actionable_icon--secondary_highlighted_high-contrast_bare--color--selected\": {\n        \"name\": \"actionable.icon.secondary.highlighted.highContrast.bare.color.selected\",\n        \"derived\": \"--now-color--secondary-2\"\n    },\n    \"--now-actionable_icon--secondary_highlighted_high-contrast_bare--color--selected_active\": {\n        \"name\": \"actionable.icon.secondary.highlighted.highContrast.bare.color.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--secondary_highlighted_high-contrast_bare--color--selected_hover\": {\n        \"name\": \"actionable.icon.secondary.highlighted.highContrast.bare.color.selected.hover\",\n        \"derived\": \"--now-color--secondary-3\"\n    },\n    \"--now-actionable_icon--secondary--color\": {\n        \"name\": \"actionable.icon.secondary.color\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-actionable_icon--secondary--color--active\": {\n        \"name\": \"actionable.icon.secondary.color.active\",\n        \"derived\": \"--now-color--secondary-3\"\n    },\n    \"--now-actionable_icon--secondary--color--hover\": {\n        \"name\": \"actionable.icon.secondary.color.hover\",\n        \"derived\": \"--now-color--secondary-2\"\n    },\n    \"--now-actionable_icon--secondary-negative--color\": {\n        \"name\": \"actionable.icon.secondaryNegative.color\",\n        \"derived\": \"--now-color_alert--critical-3\"\n    },\n    \"--now-actionable_icon--secondary-negative--color--active\": {\n        \"name\": \"actionable.icon.secondaryNegative.color.active\",\n        \"derived\": \"--now-color_alert--critical-5\"\n    },\n    \"--now-actionable_icon--secondary-negative--color--hover\": {\n        \"name\": \"actionable.icon.secondaryNegative.color.hover\",\n        \"derived\": \"--now-color_alert--critical-4\"\n    },\n    \"--now-actionable_icon--secondary-positive--color\": {\n        \"name\": \"actionable.icon.secondaryPositive.color\",\n        \"derived\": \"--now-color_alert--positive-3\"\n    },\n    \"--now-actionable_icon--secondary-positive--color--active\": {\n        \"name\": \"actionable.icon.secondaryPositive.color.active\",\n        \"derived\": \"--now-color_alert--positive-5\"\n    },\n    \"--now-actionable_icon--secondary-positive--color--hover\": {\n        \"name\": \"actionable.icon.secondaryPositive.color.hover\",\n        \"derived\": \"--now-color_alert--positive-4\"\n    },\n    \"--now-actionable_icon--secondary-selection_bare--color\": {\n        \"name\": \"actionable.icon.secondarySelection.bare.color\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable_icon--secondary-selection_bare--color--active\": {\n        \"name\": \"actionable.icon.secondarySelection.bare.color.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_icon--secondary-selection_bare--color--hover\": {\n        \"name\": \"actionable.icon.secondarySelection.bare.color.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_icon--secondary-selection_bare--color--selected\": {\n        \"name\": \"actionable.icon.secondarySelection.bare.color.selected\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable_icon--secondary-selection_bare--color--selected_active\": {\n        \"name\": \"actionable.icon.secondarySelection.bare.color.selected.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_icon--secondary-selection_bare--color--selected_hover\": {\n        \"name\": \"actionable.icon.secondarySelection.bare.color.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_icon--secondary-selection_high-contrast_bare--color\": {\n        \"name\": \"actionable.icon.secondarySelection.highContrast.bare.color\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_icon--secondary-selection_high-contrast_bare--color--active\": {\n        \"name\": \"actionable.icon.secondarySelection.highContrast.bare.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--secondary-selection_high-contrast_bare--color--hover\": {\n        \"name\": \"actionable.icon.secondarySelection.highContrast.bare.color.hover\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_icon--secondary-selection_high-contrast_bare--color--selected\": {\n        \"name\": \"actionable.icon.secondarySelection.highContrast.bare.color.selected\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_icon--secondary-selection_high-contrast_bare--color--selected_active\": {\n        \"name\": \"actionable.icon.secondarySelection.highContrast.bare.color.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--secondary-selection_high-contrast_bare--color--selected_hover\": {\n        \"name\": \"actionable.icon.secondarySelection.highContrast.bare.color.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_icon--secondary-selection_highlighted_bare--color--selected\": {\n        \"name\": \"actionable.icon.secondarySelection.highlighted.bare.color.selected\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable_icon--secondary-selection_highlighted_bare--color--selected_active\": {\n        \"name\": \"actionable.icon.secondarySelection.highlighted.bare.color.selected.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_icon--secondary-selection_highlighted_bare--color--selected_hover\": {\n        \"name\": \"actionable.icon.secondarySelection.highlighted.bare.color.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_icon--secondary-selection_highlighted_high-contrast_bare--color--selected\": {\n        \"name\": \"actionable.icon.secondarySelection.highlighted.highContrast.bare.color.selected\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_icon--secondary-selection_highlighted_high-contrast_bare--color--selected_active\": {\n        \"name\": \"actionable.icon.secondarySelection.highlighted.highContrast.bare.color.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--secondary-selection_highlighted_high-contrast_bare--color--selected_hover\": {\n        \"name\": \"actionable.icon.secondarySelection.highlighted.highContrast.bare.color.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_icon--secondary-selection--color\": {\n        \"name\": \"actionable.icon.secondarySelection.color\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable_icon--secondary-selection--color--active\": {\n        \"name\": \"actionable.icon.secondarySelection.color.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_icon--secondary-selection--color--hover\": {\n        \"name\": \"actionable.icon.secondarySelection.color.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_icon--tertiary_bare--color\": {\n        \"name\": \"actionable.icon.tertiary.bare.color\",\n        \"derived\": \"--now-actionable_icon--tertiary--color\"\n    },\n    \"--now-actionable_icon--tertiary_bare--color--active\": {\n        \"name\": \"actionable.icon.tertiary.bare.color.active\",\n        \"derived\": \"--now-actionable_icon--tertiary--color--active\"\n    },\n    \"--now-actionable_icon--tertiary_bare--color--hover\": {\n        \"name\": \"actionable.icon.tertiary.bare.color.hover\",\n        \"derived\": \"--now-actionable_icon--tertiary--color--hover\"\n    },\n    \"--now-actionable_icon--tertiary_bare--color--selected\": {\n        \"name\": \"actionable.icon.tertiary.bare.color.selected\",\n        \"derived\": \"--now-actionable_icon--tertiary_bare--color\"\n    },\n    \"--now-actionable_icon--tertiary_bare--color--selected_active\": {\n        \"name\": \"actionable.icon.tertiary.bare.color.selected.active\",\n        \"derived\": \"--now-actionable_icon--tertiary_bare--color--active\"\n    },\n    \"--now-actionable_icon--tertiary_bare--color--selected_hover\": {\n        \"name\": \"actionable.icon.tertiary.bare.color.selected.hover\",\n        \"derived\": \"--now-actionable_icon--tertiary_bare--color--hover\"\n    },\n    \"--now-actionable_icon--tertiary_high-contrast_bare--color\": {\n        \"name\": \"actionable.icon.tertiary.highContrast.bare.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--tertiary_high-contrast_bare--color--active\": {\n        \"name\": \"actionable.icon.tertiary.highContrast.bare.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--tertiary_high-contrast_bare--color--hover\": {\n        \"name\": \"actionable.icon.tertiary.highContrast.bare.color.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--tertiary_high-contrast_bare--color--selected\": {\n        \"name\": \"actionable.icon.tertiary.highContrast.bare.color.selected\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--tertiary_high-contrast_bare--color--selected_active\": {\n        \"name\": \"actionable.icon.tertiary.highContrast.bare.color.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--tertiary_high-contrast_bare--color--selected_hover\": {\n        \"name\": \"actionable.icon.tertiary.highContrast.bare.color.selected.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--tertiary_highlighted_bare--color--selected\": {\n        \"name\": \"actionable.icon.tertiary.highlighted.bare.color.selected\",\n        \"derived\": \"--now-actionable_icon--tertiary_bare--color--selected\"\n    },\n    \"--now-actionable_icon--tertiary_highlighted_bare--color--selected_active\": {\n        \"name\": \"actionable.icon.tertiary.highlighted.bare.color.selected.active\",\n        \"derived\": \"--now-actionable_icon--tertiary_bare--color--selected_active\"\n    },\n    \"--now-actionable_icon--tertiary_highlighted_bare--color--selected_hover\": {\n        \"name\": \"actionable.icon.tertiary.highlighted.bare.color.selected.hover\",\n        \"derived\": \"--now-actionable_icon--tertiary_bare--color--selected_hover\"\n    },\n    \"--now-actionable_icon--tertiary_highlighted_high-contrast_bare--color--selected\": {\n        \"name\": \"actionable.icon.tertiary.highlighted.highContrast.bare.color.selected\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--tertiary_highlighted_high-contrast_bare--color--selected_active\": {\n        \"name\": \"actionable.icon.tertiary.highlighted.highContrast.bare.color.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--tertiary_highlighted_high-contrast_bare--color--selected_hover\": {\n        \"name\": \"actionable.icon.tertiary.highlighted.highContrast.bare.color.selected.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--tertiary--color\": {\n        \"name\": \"actionable.icon.tertiary.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-actionable_icon--tertiary--color--active\": {\n        \"name\": \"actionable.icon.tertiary.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--tertiary--color--hover\": {\n        \"name\": \"actionable.icon.tertiary.color.hover\",\n        \"derived\": \"--now-color_text--secondary\"\n    },\n    \"--now-actionable_icon--tertiary-selection_bare--color\": {\n        \"name\": \"actionable.icon.tertiarySelection.bare.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-actionable_icon--tertiary-selection_bare--color--active\": {\n        \"name\": \"actionable.icon.tertiarySelection.bare.color.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_icon--tertiary-selection_bare--color--hover\": {\n        \"name\": \"actionable.icon.tertiarySelection.bare.color.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_icon--tertiary-selection_bare--color--selected\": {\n        \"name\": \"actionable.icon.tertiarySelection.bare.color.selected\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable_icon--tertiary-selection_bare--color--selected_active\": {\n        \"name\": \"actionable.icon.tertiarySelection.bare.color.selected.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_icon--tertiary-selection_bare--color--selected_hover\": {\n        \"name\": \"actionable.icon.tertiarySelection.bare.color.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_icon--tertiary-selection_high-contrast_bare--color\": {\n        \"name\": \"actionable.icon.tertiarySelection.highContrast.bare.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--tertiary-selection_high-contrast_bare--color--active\": {\n        \"name\": \"actionable.icon.tertiarySelection.highContrast.bare.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--tertiary-selection_high-contrast_bare--color--hover\": {\n        \"name\": \"actionable.icon.tertiarySelection.highContrast.bare.color.hover\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_icon--tertiary-selection_high-contrast_bare--color--selected\": {\n        \"name\": \"actionable.icon.tertiarySelection.highContrast.bare.color.selected\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_icon--tertiary-selection_high-contrast_bare--color--selected_active\": {\n        \"name\": \"actionable.icon.tertiarySelection.highContrast.bare.color.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--tertiary-selection_high-contrast_bare--color--selected_hover\": {\n        \"name\": \"actionable.icon.tertiarySelection.highContrast.bare.color.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_icon--tertiary-selection_highlighted_bare--color--selected\": {\n        \"name\": \"actionable.icon.tertiarySelection.highlighted.bare.color.selected\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable_icon--tertiary-selection_highlighted_bare--color--selected_active\": {\n        \"name\": \"actionable.icon.tertiarySelection.highlighted.bare.color.selected.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_icon--tertiary-selection_highlighted_bare--color--selected_hover\": {\n        \"name\": \"actionable.icon.tertiarySelection.highlighted.bare.color.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_icon--tertiary-selection_highlighted_high-contrast_bare--color--selected\": {\n        \"name\": \"actionable.icon.tertiarySelection.highlighted.highContrast.bare.color.selected\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_icon--tertiary-selection_highlighted_high-contrast_bare--color--selected_active\": {\n        \"name\": \"actionable.icon.tertiarySelection.highlighted.highContrast.bare.color.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_icon--tertiary-selection_highlighted_high-contrast_bare--color--selected_hover\": {\n        \"name\": \"actionable.icon.tertiarySelection.highlighted.highContrast.bare.color.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_icon--tertiary-selection--color\": {\n        \"name\": \"actionable.icon.tertiarySelection.color\",\n        \"derived\": \"--now-actionable_icon--tertiary--color\"\n    },\n    \"--now-actionable_icon--tertiary-selection--color--active\": {\n        \"name\": \"actionable.icon.tertiarySelection.color.active\",\n        \"derived\": \"--now-actionable_icon--tertiary--color--active\"\n    },\n    \"--now-actionable_icon--tertiary-selection--color--hover\": {\n        \"name\": \"actionable.icon.tertiarySelection.color.hover\",\n        \"derived\": \"--now-actionable_icon--tertiary--color--hover\"\n    },\n    \"--now-actionable_label--brand-primary--color\": {\n        \"name\": \"actionable.label.brandPrimary.color\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_label--brand-primary--color--active\": {\n        \"name\": \"actionable.label.brandPrimary.color.active\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_label--brand-primary--color--hover\": {\n        \"name\": \"actionable.label.brandPrimary.color.hover\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_label--brand-secondary--color\": {\n        \"name\": \"actionable.label.brandSecondary.color\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_label--brand-secondary--color--active\": {\n        \"name\": \"actionable.label.brandSecondary.color.active\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_label--brand-secondary--color--hover\": {\n        \"name\": \"actionable.label.brandSecondary.color.hover\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_label--brand-tertiary--color\": {\n        \"name\": \"actionable.label.brandTertiary.color\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_label--brand-tertiary--color--active\": {\n        \"name\": \"actionable.label.brandTertiary.color.active\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_label--brand-tertiary--color--hover\": {\n        \"name\": \"actionable.label.brandTertiary.color.hover\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_label--primary_bare--color\": {\n        \"name\": \"actionable.label.primary.bare.color\",\n        \"derived\": \"--now-color--primary-2\"\n    },\n    \"--now-actionable_label--primary_bare--color--active\": {\n        \"name\": \"actionable.label.primary.bare.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--primary_bare--color--hover\": {\n        \"name\": \"actionable.label.primary.bare.color.hover\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-actionable_label--primary_bare--color--selected\": {\n        \"name\": \"actionable.label.primary.bare.color.selected\",\n        \"derived\": \"--now-color--primary-2\"\n    },\n    \"--now-actionable_label--primary_bare--color--selected_active\": {\n        \"name\": \"actionable.label.primary.bare.color.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--primary_bare--color--selected_hover\": {\n        \"name\": \"actionable.label.primary.bare.color.selected.hover\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-actionable_label--primary_high-contrast_bare--color\": {\n        \"name\": \"actionable.label.primary.highContrast.bare.color\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-actionable_label--primary_high-contrast_bare--color--active\": {\n        \"name\": \"actionable.label.primary.highContrast.bare.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--primary_high-contrast_bare--color--hover\": {\n        \"name\": \"actionable.label.primary.highContrast.bare.color.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--primary_high-contrast_bare--color--selected\": {\n        \"name\": \"actionable.label.primary.highContrast.bare.color.selected\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-actionable_label--primary_high-contrast_bare--color--selected_active\": {\n        \"name\": \"actionable.label.primary.highContrast.bare.color.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--primary_high-contrast_bare--color--selected_hover\": {\n        \"name\": \"actionable.label.primary.highContrast.bare.color.selected.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--primary_highlighted_bare--color--selected\": {\n        \"name\": \"actionable.label.primary.highlighted.bare.color.selected\",\n        \"derived\": \"--now-color--primary-2\"\n    },\n    \"--now-actionable_label--primary_highlighted_bare--color--selected_active\": {\n        \"name\": \"actionable.label.primary.highlighted.bare.color.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--primary_highlighted_bare--color--selected_hover\": {\n        \"name\": \"actionable.label.primary.highlighted.bare.color.selected.hover\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-actionable_label--primary_highlighted_high-contrast_bare--color--selected\": {\n        \"name\": \"actionable.label.primary.highlighted.highContrast.bare.color.selected\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-actionable_label--primary_highlighted_high-contrast_bare--color--selected_active\": {\n        \"name\": \"actionable.label.primary.highlighted.highContrast.bare.color.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--primary_highlighted_high-contrast_bare--color--selected_hover\": {\n        \"name\": \"actionable.label.primary.highlighted.highContrast.bare.color.selected.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--primary--color\": {\n        \"name\": \"actionable.label.primary.color\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_label--primary--color--active\": {\n        \"name\": \"actionable.label.primary.color.active\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_label--primary--color--hover\": {\n        \"name\": \"actionable.label.primary.color.hover\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_label--primary-negative--color\": {\n        \"name\": \"actionable.label.primaryNegative.color\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_label--primary-negative--color--active\": {\n        \"name\": \"actionable.label.primaryNegative.color.active\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_label--primary-negative--color--hover\": {\n        \"name\": \"actionable.label.primaryNegative.color.hover\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_label--primary-positive--color\": {\n        \"name\": \"actionable.label.primaryPositive.color\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_label--primary-positive--color--active\": {\n        \"name\": \"actionable.label.primaryPositive.color.active\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_label--primary-positive--color--hover\": {\n        \"name\": \"actionable.label.primaryPositive.color.hover\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_label--primary-selection_bare--color\": {\n        \"name\": \"actionable.label.primarySelection.bare.color\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_label--primary-selection_bare--color--active\": {\n        \"name\": \"actionable.label.primarySelection.bare.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--primary-selection_bare--color--hover\": {\n        \"name\": \"actionable.label.primarySelection.bare.color.hover\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_label--primary-selection_bare--color--selected\": {\n        \"name\": \"actionable.label.primarySelection.bare.color.selected\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_label--primary-selection_bare--color--selected_active\": {\n        \"name\": \"actionable.label.primarySelection.bare.color.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--primary-selection_bare--color--selected_hover\": {\n        \"name\": \"actionable.label.primarySelection.bare.color.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_label--primary-selection_high-contrast_bare--color\": {\n        \"name\": \"actionable.label.primarySelection.highContrast.bare.color\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_label--primary-selection_high-contrast_bare--color--active\": {\n        \"name\": \"actionable.label.primarySelection.highContrast.bare.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--primary-selection_high-contrast_bare--color--hover\": {\n        \"name\": \"actionable.label.primarySelection.highContrast.bare.color.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--primary-selection_high-contrast_bare--color--selected\": {\n        \"name\": \"actionable.label.primarySelection.highContrast.bare.color.selected\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_label--primary-selection_high-contrast_bare--color--selected_active\": {\n        \"name\": \"actionable.label.primarySelection.highContrast.bare.color.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--primary-selection_high-contrast_bare--color--selected_hover\": {\n        \"name\": \"actionable.label.primarySelection.highContrast.bare.color.selected.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--primary-selection_highlighted_bare--color--selected\": {\n        \"name\": \"actionable.label.primarySelection.highlighted.bare.color.selected\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_label--primary-selection_highlighted_bare--color--selected_active\": {\n        \"name\": \"actionable.label.primarySelection.highlighted.bare.color.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--primary-selection_highlighted_bare--color--selected_hover\": {\n        \"name\": \"actionable.label.primarySelection.highlighted.bare.color.selected.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--primary-selection_highlighted_high-contrast_bare--color--selected\": {\n        \"name\": \"actionable.label.primarySelection.highlighted.highContrast.bare.color.selected\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_label--primary-selection_highlighted_high-contrast_bare--color--selected_active\": {\n        \"name\": \"actionable.label.primarySelection.highlighted.highContrast.bare.color.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--primary-selection_highlighted_high-contrast_bare--color--selected_hover\": {\n        \"name\": \"actionable.label.primarySelection.highlighted.highContrast.bare.color.selected.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--primary-selection--color\": {\n        \"name\": \"actionable.label.primarySelection.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--primary-selection--color--active\": {\n        \"name\": \"actionable.label.primarySelection.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--primary-selection--color--hover\": {\n        \"name\": \"actionable.label.primarySelection.color.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--secondary_bare--color\": {\n        \"name\": \"actionable.label.secondary.bare.color\",\n        \"derived\": \"--now-actionable_label--secondary--color\"\n    },\n    \"--now-actionable_label--secondary_bare--color--active\": {\n        \"name\": \"actionable.label.secondary.bare.color.active\",\n        \"derived\": \"--now-actionable_label--secondary--color--active\"\n    },\n    \"--now-actionable_label--secondary_bare--color--hover\": {\n        \"name\": \"actionable.label.secondary.bare.color.hover\",\n        \"derived\": \"--now-actionable_label--secondary--color--hover\"\n    },\n    \"--now-actionable_label--secondary_bare--color--selected\": {\n        \"name\": \"actionable.label.secondary.bare.color.selected\",\n        \"derived\": \"--now-actionable_label--secondary_bare--color\"\n    },\n    \"--now-actionable_label--secondary_bare--color--selected_active\": {\n        \"name\": \"actionable.label.secondary.bare.color.selected.active\",\n        \"derived\": \"--now-actionable_label--secondary_bare--color--active\"\n    },\n    \"--now-actionable_label--secondary_bare--color--selected_hover\": {\n        \"name\": \"actionable.label.secondary.bare.color.selected.hover\",\n        \"derived\": \"--now-actionable_label--secondary_bare--color--hover\"\n    },\n    \"--now-actionable_label--secondary_high-contrast_bare--color\": {\n        \"name\": \"actionable.label.secondary.highContrast.bare.color\",\n        \"derived\": \"--now-color--secondary-2\"\n    },\n    \"--now-actionable_label--secondary_high-contrast_bare--color--active\": {\n        \"name\": \"actionable.label.secondary.highContrast.bare.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--secondary_high-contrast_bare--color--hover\": {\n        \"name\": \"actionable.label.secondary.highContrast.bare.color.hover\",\n        \"derived\": \"--now-color--secondary-3\"\n    },\n    \"--now-actionable_label--secondary_high-contrast_bare--color--selected\": {\n        \"name\": \"actionable.label.secondary.highContrast.bare.color.selected\",\n        \"derived\": \"--now-color--secondary-2\"\n    },\n    \"--now-actionable_label--secondary_high-contrast_bare--color--selected_active\": {\n        \"name\": \"actionable.label.secondary.highContrast.bare.color.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--secondary_high-contrast_bare--color--selected_hover\": {\n        \"name\": \"actionable.label.secondary.highContrast.bare.color.selected.hover\",\n        \"derived\": \"--now-color--secondary-3\"\n    },\n    \"--now-actionable_label--secondary_highlighted_bare--color--selected\": {\n        \"name\": \"actionable.label.secondary.highlighted.bare.color.selected\",\n        \"derived\": \"--now-actionable_label--secondary_bare--color--selected\"\n    },\n    \"--now-actionable_label--secondary_highlighted_bare--color--selected_active\": {\n        \"name\": \"actionable.label.secondary.highlighted.bare.color.selected.active\",\n        \"derived\": \"--now-actionable_label--secondary_bare--color--selected_active\"\n    },\n    \"--now-actionable_label--secondary_highlighted_bare--color--selected_hover\": {\n        \"name\": \"actionable.label.secondary.highlighted.bare.color.selected.hover\",\n        \"derived\": \"--now-actionable_label--secondary_bare--color--selected_hover\"\n    },\n    \"--now-actionable_label--secondary_highlighted_high-contrast_bare--color--selected\": {\n        \"name\": \"actionable.label.secondary.highlighted.highContrast.bare.color.selected\",\n        \"derived\": \"--now-color--secondary-2\"\n    },\n    \"--now-actionable_label--secondary_highlighted_high-contrast_bare--color--selected_active\": {\n        \"name\": \"actionable.label.secondary.highlighted.highContrast.bare.color.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--secondary_highlighted_high-contrast_bare--color--selected_hover\": {\n        \"name\": \"actionable.label.secondary.highlighted.highContrast.bare.color.selected.hover\",\n        \"derived\": \"--now-color--secondary-3\"\n    },\n    \"--now-actionable_label--secondary--color\": {\n        \"name\": \"actionable.label.secondary.color\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-actionable_label--secondary--color--active\": {\n        \"name\": \"actionable.label.secondary.color.active\",\n        \"derived\": \"--now-color--secondary-3\"\n    },\n    \"--now-actionable_label--secondary--color--hover\": {\n        \"name\": \"actionable.label.secondary.color.hover\",\n        \"derived\": \"--now-color--secondary-2\"\n    },\n    \"--now-actionable_label--secondary-negative--color\": {\n        \"name\": \"actionable.label.secondaryNegative.color\",\n        \"derived\": \"--now-color_alert--critical-3\"\n    },\n    \"--now-actionable_label--secondary-negative--color--active\": {\n        \"name\": \"actionable.label.secondaryNegative.color.active\",\n        \"derived\": \"--now-color_alert--critical-5\"\n    },\n    \"--now-actionable_label--secondary-negative--color--hover\": {\n        \"name\": \"actionable.label.secondaryNegative.color.hover\",\n        \"derived\": \"--now-color_alert--critical-4\"\n    },\n    \"--now-actionable_label--secondary-positive--color\": {\n        \"name\": \"actionable.label.secondaryPositive.color\",\n        \"derived\": \"--now-color_alert--positive-3\"\n    },\n    \"--now-actionable_label--secondary-positive--color--active\": {\n        \"name\": \"actionable.label.secondaryPositive.color.active\",\n        \"derived\": \"--now-color_alert--positive-5\"\n    },\n    \"--now-actionable_label--secondary-positive--color--hover\": {\n        \"name\": \"actionable.label.secondaryPositive.color.hover\",\n        \"derived\": \"--now-color_alert--positive-4\"\n    },\n    \"--now-actionable_label--secondary-selection_bare--color\": {\n        \"name\": \"actionable.label.secondarySelection.bare.color\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable_label--secondary-selection_bare--color--active\": {\n        \"name\": \"actionable.label.secondarySelection.bare.color.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_label--secondary-selection_bare--color--hover\": {\n        \"name\": \"actionable.label.secondarySelection.bare.color.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_label--secondary-selection_bare--color--selected\": {\n        \"name\": \"actionable.label.secondarySelection.bare.color.selected\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable_label--secondary-selection_bare--color--selected_active\": {\n        \"name\": \"actionable.label.secondarySelection.bare.color.selected.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_label--secondary-selection_bare--color--selected_hover\": {\n        \"name\": \"actionable.label.secondarySelection.bare.color.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_label--secondary-selection_high-contrast_bare--color\": {\n        \"name\": \"actionable.label.secondarySelection.highContrast.bare.color\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_label--secondary-selection_high-contrast_bare--color--active\": {\n        \"name\": \"actionable.label.secondarySelection.highContrast.bare.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--secondary-selection_high-contrast_bare--color--hover\": {\n        \"name\": \"actionable.label.secondarySelection.highContrast.bare.color.hover\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_label--secondary-selection_high-contrast_bare--color--selected\": {\n        \"name\": \"actionable.label.secondarySelection.highContrast.bare.color.selected\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_label--secondary-selection_high-contrast_bare--color--selected_active\": {\n        \"name\": \"actionable.label.secondarySelection.highContrast.bare.color.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--secondary-selection_high-contrast_bare--color--selected_hover\": {\n        \"name\": \"actionable.label.secondarySelection.highContrast.bare.color.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_label--secondary-selection_highlighted_bare--color--selected\": {\n        \"name\": \"actionable.label.secondarySelection.highlighted.bare.color.selected\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable_label--secondary-selection_highlighted_bare--color--selected_active\": {\n        \"name\": \"actionable.label.secondarySelection.highlighted.bare.color.selected.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_label--secondary-selection_highlighted_bare--color--selected_hover\": {\n        \"name\": \"actionable.label.secondarySelection.highlighted.bare.color.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_label--secondary-selection_highlighted_high-contrast_bare--color--selected\": {\n        \"name\": \"actionable.label.secondarySelection.highlighted.highContrast.bare.color.selected\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_label--secondary-selection_highlighted_high-contrast_bare--color--selected_active\": {\n        \"name\": \"actionable.label.secondarySelection.highlighted.highContrast.bare.color.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--secondary-selection_highlighted_high-contrast_bare--color--selected_hover\": {\n        \"name\": \"actionable.label.secondarySelection.highlighted.highContrast.bare.color.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_label--secondary-selection--color\": {\n        \"name\": \"actionable.label.secondarySelection.color\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable_label--secondary-selection--color--active\": {\n        \"name\": \"actionable.label.secondarySelection.color.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_label--secondary-selection--color--hover\": {\n        \"name\": \"actionable.label.secondarySelection.color.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_label--tertiary_bare--color\": {\n        \"name\": \"actionable.label.tertiary.bare.color\",\n        \"derived\": \"--now-actionable_label--tertiary--color\"\n    },\n    \"--now-actionable_label--tertiary_bare--color--active\": {\n        \"name\": \"actionable.label.tertiary.bare.color.active\",\n        \"derived\": \"--now-actionable_label--tertiary--color--active\"\n    },\n    \"--now-actionable_label--tertiary_bare--color--hover\": {\n        \"name\": \"actionable.label.tertiary.bare.color.hover\",\n        \"derived\": \"--now-actionable_label--tertiary--color--hover\"\n    },\n    \"--now-actionable_label--tertiary_bare--color--selected\": {\n        \"name\": \"actionable.label.tertiary.bare.color.selected\",\n        \"derived\": \"--now-actionable_label--tertiary_bare--color\"\n    },\n    \"--now-actionable_label--tertiary_bare--color--selected_active\": {\n        \"name\": \"actionable.label.tertiary.bare.color.selected.active\",\n        \"derived\": \"--now-actionable_label--tertiary_bare--color--active\"\n    },\n    \"--now-actionable_label--tertiary_bare--color--selected_hover\": {\n        \"name\": \"actionable.label.tertiary.bare.color.selected.hover\",\n        \"derived\": \"--now-actionable_label--tertiary_bare--color--hover\"\n    },\n    \"--now-actionable_label--tertiary_high-contrast_bare--color\": {\n        \"name\": \"actionable.label.tertiary.highContrast.bare.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--tertiary_high-contrast_bare--color--active\": {\n        \"name\": \"actionable.label.tertiary.highContrast.bare.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--tertiary_high-contrast_bare--color--hover\": {\n        \"name\": \"actionable.label.tertiary.highContrast.bare.color.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--tertiary_high-contrast_bare--color--selected\": {\n        \"name\": \"actionable.label.tertiary.highContrast.bare.color.selected\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--tertiary_high-contrast_bare--color--selected_active\": {\n        \"name\": \"actionable.label.tertiary.highContrast.bare.color.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--tertiary_high-contrast_bare--color--selected_hover\": {\n        \"name\": \"actionable.label.tertiary.highContrast.bare.color.selected.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--tertiary_highlighted_bare--color--selected\": {\n        \"name\": \"actionable.label.tertiary.highlighted.bare.color.selected\",\n        \"derived\": \"--now-actionable_label--tertiary_bare--color--selected\"\n    },\n    \"--now-actionable_label--tertiary_highlighted_bare--color--selected_active\": {\n        \"name\": \"actionable.label.tertiary.highlighted.bare.color.selected.active\",\n        \"derived\": \"--now-actionable_label--tertiary_bare--color--selected_active\"\n    },\n    \"--now-actionable_label--tertiary_highlighted_bare--color--selected_hover\": {\n        \"name\": \"actionable.label.tertiary.highlighted.bare.color.selected.hover\",\n        \"derived\": \"--now-actionable_label--tertiary_bare--color--selected_hover\"\n    },\n    \"--now-actionable_label--tertiary_highlighted_high-contrast_bare--color--selected\": {\n        \"name\": \"actionable.label.tertiary.highlighted.highContrast.bare.color.selected\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--tertiary_highlighted_high-contrast_bare--color--selected_active\": {\n        \"name\": \"actionable.label.tertiary.highlighted.highContrast.bare.color.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--tertiary_highlighted_high-contrast_bare--color--selected_hover\": {\n        \"name\": \"actionable.label.tertiary.highlighted.highContrast.bare.color.selected.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--tertiary--color\": {\n        \"name\": \"actionable.label.tertiary.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-actionable_label--tertiary--color--active\": {\n        \"name\": \"actionable.label.tertiary.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--tertiary--color--hover\": {\n        \"name\": \"actionable.label.tertiary.color.hover\",\n        \"derived\": \"--now-color_text--secondary\"\n    },\n    \"--now-actionable_label--tertiary-selection_bare--color\": {\n        \"name\": \"actionable.label.tertiarySelection.bare.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-actionable_label--tertiary-selection_bare--color--active\": {\n        \"name\": \"actionable.label.tertiarySelection.bare.color.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_label--tertiary-selection_bare--color--hover\": {\n        \"name\": \"actionable.label.tertiarySelection.bare.color.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_label--tertiary-selection_bare--color--selected\": {\n        \"name\": \"actionable.label.tertiarySelection.bare.color.selected\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable_label--tertiary-selection_bare--color--selected_active\": {\n        \"name\": \"actionable.label.tertiarySelection.bare.color.selected.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_label--tertiary-selection_bare--color--selected_hover\": {\n        \"name\": \"actionable.label.tertiarySelection.bare.color.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_label--tertiary-selection_high-contrast_bare--color\": {\n        \"name\": \"actionable.label.tertiarySelection.highContrast.bare.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--tertiary-selection_high-contrast_bare--color--active\": {\n        \"name\": \"actionable.label.tertiarySelection.highContrast.bare.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--tertiary-selection_high-contrast_bare--color--hover\": {\n        \"name\": \"actionable.label.tertiarySelection.highContrast.bare.color.hover\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_label--tertiary-selection_high-contrast_bare--color--selected\": {\n        \"name\": \"actionable.label.tertiarySelection.highContrast.bare.color.selected\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_label--tertiary-selection_high-contrast_bare--color--selected_active\": {\n        \"name\": \"actionable.label.tertiarySelection.highContrast.bare.color.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--tertiary-selection_high-contrast_bare--color--selected_hover\": {\n        \"name\": \"actionable.label.tertiarySelection.highContrast.bare.color.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_label--tertiary-selection_highlighted_bare--color--selected\": {\n        \"name\": \"actionable.label.tertiarySelection.highlighted.bare.color.selected\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable_label--tertiary-selection_highlighted_bare--color--selected_active\": {\n        \"name\": \"actionable.label.tertiarySelection.highlighted.bare.color.selected.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_label--tertiary-selection_highlighted_bare--color--selected_hover\": {\n        \"name\": \"actionable.label.tertiarySelection.highlighted.bare.color.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_label--tertiary-selection_highlighted_high-contrast_bare--color--selected\": {\n        \"name\": \"actionable.label.tertiarySelection.highlighted.highContrast.bare.color.selected\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_label--tertiary-selection_highlighted_high-contrast_bare--color--selected_active\": {\n        \"name\": \"actionable.label.tertiarySelection.highlighted.highContrast.bare.color.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_label--tertiary-selection_highlighted_high-contrast_bare--color--selected_hover\": {\n        \"name\": \"actionable.label.tertiarySelection.highlighted.highContrast.bare.color.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_label--tertiary-selection--color\": {\n        \"name\": \"actionable.label.tertiarySelection.color\",\n        \"derived\": \"--now-actionable_label--tertiary--color\"\n    },\n    \"--now-actionable_label--tertiary-selection--color--active\": {\n        \"name\": \"actionable.label.tertiarySelection.color.active\",\n        \"derived\": \"--now-actionable_label--tertiary--color--active\"\n    },\n    \"--now-actionable_label--tertiary-selection--color--hover\": {\n        \"name\": \"actionable.label.tertiarySelection.color.hover\",\n        \"derived\": \"--now-actionable_label--tertiary--color--hover\"\n    },\n    \"--now-actionable_link_icon-end--primary--color\": {\n        \"name\": \"actionable.link.iconEnd.primary.color\",\n        \"derived\": \"--now-color--link-2\"\n    },\n    \"--now-actionable_link_icon-end--primary--color--active\": {\n        \"name\": \"actionable.link.iconEnd.primary.color.active\",\n        \"derived\": \"--now-color--link-4\"\n    },\n    \"--now-actionable_link_icon-end--primary--color--hover\": {\n        \"name\": \"actionable.link.iconEnd.primary.color.hover\",\n        \"derived\": \"--now-color--link-3\"\n    },\n    \"--now-actionable_link_icon-end--secondary--color\": {\n        \"name\": \"actionable.link.iconEnd.secondary.color\",\n        \"derived\": \"--now-color--link-3\"\n    },\n    \"--now-actionable_link_icon-end--secondary--color--active\": {\n        \"name\": \"actionable.link.iconEnd.secondary.color.active\",\n        \"derived\": \"--now-color--neutral-18\"\n    },\n    \"--now-actionable_link_icon-end--secondary--color--hover\": {\n        \"name\": \"actionable.link.iconEnd.secondary.color.hover\",\n        \"derived\": \"--now-color--link-4\"\n    },\n    \"--now-actionable_link_icon-end--tertiary--color\": {\n        \"name\": \"actionable.link.iconEnd.tertiary.color\",\n        \"derived\": \"--now-color--neutral-18\"\n    },\n    \"--now-actionable_link_icon-end--tertiary--color--active\": {\n        \"name\": \"actionable.link.iconEnd.tertiary.color.active\",\n        \"derived\": \"--now-color--link-3\"\n    },\n    \"--now-actionable_link_icon-end--tertiary--color--hover\": {\n        \"name\": \"actionable.link.iconEnd.tertiary.color.hover\",\n        \"derived\": \"--now-color--link-2\"\n    },\n    \"--now-actionable_link_icon-start--primary--color\": {\n        \"name\": \"actionable.link.iconStart.primary.color\",\n        \"derived\": \"--now-color--link-2\"\n    },\n    \"--now-actionable_link_icon-start--primary--color--active\": {\n        \"name\": \"actionable.link.iconStart.primary.color.active\",\n        \"derived\": \"--now-color--link-4\"\n    },\n    \"--now-actionable_link_icon-start--primary--color--hover\": {\n        \"name\": \"actionable.link.iconStart.primary.color.hover\",\n        \"derived\": \"--now-color--link-3\"\n    },\n    \"--now-actionable_link_icon-start--secondary--color\": {\n        \"name\": \"actionable.link.iconStart.secondary.color\",\n        \"derived\": \"--now-color--link-3\"\n    },\n    \"--now-actionable_link_icon-start--secondary--color--active\": {\n        \"name\": \"actionable.link.iconStart.secondary.color.active\",\n        \"derived\": \"--now-color--neutral-18\"\n    },\n    \"--now-actionable_link_icon-start--secondary--color--hover\": {\n        \"name\": \"actionable.link.iconStart.secondary.color.hover\",\n        \"derived\": \"--now-color--link-4\"\n    },\n    \"--now-actionable_link_icon-start--tertiary--color\": {\n        \"name\": \"actionable.link.iconStart.tertiary.color\",\n        \"derived\": \"--now-color--neutral-18\"\n    },\n    \"--now-actionable_link_icon-start--tertiary--color--active\": {\n        \"name\": \"actionable.link.iconStart.tertiary.color.active\",\n        \"derived\": \"--now-color--link-3\"\n    },\n    \"--now-actionable_link_icon-start--tertiary--color--hover\": {\n        \"name\": \"actionable.link.iconStart.tertiary.color.hover\",\n        \"derived\": \"--now-color--link-2\"\n    },\n    \"--now-actionable_link_label--primary--color\": {\n        \"name\": \"actionable.link.label.primary.color\",\n        \"derived\": \"--now-color--link-2\"\n    },\n    \"--now-actionable_link_label--primary--color--active\": {\n        \"name\": \"actionable.link.label.primary.color.active\",\n        \"derived\": \"--now-color--link-4\"\n    },\n    \"--now-actionable_link_label--primary--color--hover\": {\n        \"name\": \"actionable.link.label.primary.color.hover\",\n        \"derived\": \"--now-color--link-3\"\n    },\n    \"--now-actionable_link_label--secondary--color\": {\n        \"name\": \"actionable.link.label.secondary.color\",\n        \"derived\": \"--now-color--link-3\"\n    },\n    \"--now-actionable_link_label--secondary--color--active\": {\n        \"name\": \"actionable.link.label.secondary.color.active\",\n        \"derived\": \"--now-color--neutral-18\"\n    },\n    \"--now-actionable_link_label--secondary--color--hover\": {\n        \"name\": \"actionable.link.label.secondary.color.hover\",\n        \"derived\": \"--now-color--link-4\"\n    },\n    \"--now-actionable_link_label--tertiary--color\": {\n        \"name\": \"actionable.link.label.tertiary.color\",\n        \"derived\": \"--now-color--neutral-18\"\n    },\n    \"--now-actionable_link_label--tertiary--color--active\": {\n        \"name\": \"actionable.link.label.tertiary.color.active\",\n        \"derived\": \"--now-color--link-3\"\n    },\n    \"--now-actionable_link_label--tertiary--color--hover\": {\n        \"name\": \"actionable.link.label.tertiary.color.hover\",\n        \"derived\": \"--now-color--link-2\"\n    },\n    \"--now-actionable_trigger-icon--brand-primary--color\": {\n        \"name\": \"actionable.triggerIcon.brandPrimary.color\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_trigger-icon--brand-primary--color--active\": {\n        \"name\": \"actionable.triggerIcon.brandPrimary.color.active\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_trigger-icon--brand-primary--color--hover\": {\n        \"name\": \"actionable.triggerIcon.brandPrimary.color.hover\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_trigger-icon--brand-secondary--color\": {\n        \"name\": \"actionable.triggerIcon.brandSecondary.color\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_trigger-icon--brand-secondary--color--active\": {\n        \"name\": \"actionable.triggerIcon.brandSecondary.color.active\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_trigger-icon--brand-secondary--color--hover\": {\n        \"name\": \"actionable.triggerIcon.brandSecondary.color.hover\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_trigger-icon--brand-tertiary--color\": {\n        \"name\": \"actionable.triggerIcon.brandTertiary.color\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_trigger-icon--brand-tertiary--color--active\": {\n        \"name\": \"actionable.triggerIcon.brandTertiary.color.active\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_trigger-icon--brand-tertiary--color--hover\": {\n        \"name\": \"actionable.triggerIcon.brandTertiary.color.hover\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_trigger-icon--primary_bare--color\": {\n        \"name\": \"actionable.triggerIcon.primary.bare.color\",\n        \"derived\": \"--now-color--primary-2\"\n    },\n    \"--now-actionable_trigger-icon--primary_bare--color--active\": {\n        \"name\": \"actionable.triggerIcon.primary.bare.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_trigger-icon--primary_bare--color--hover\": {\n        \"name\": \"actionable.triggerIcon.primary.bare.color.hover\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-actionable_trigger-icon--primary_high-contrast_bare--color\": {\n        \"name\": \"actionable.triggerIcon.primary.highContrast.bare.color\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-actionable_trigger-icon--primary_high-contrast_bare--color--active\": {\n        \"name\": \"actionable.triggerIcon.primary.highContrast.bare.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_trigger-icon--primary_high-contrast_bare--color--hover\": {\n        \"name\": \"actionable.triggerIcon.primary.highContrast.bare.color.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_trigger-icon--primary--color\": {\n        \"name\": \"actionable.triggerIcon.primary.color\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_trigger-icon--primary--color--active\": {\n        \"name\": \"actionable.triggerIcon.primary.color.active\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_trigger-icon--primary--color--hover\": {\n        \"name\": \"actionable.triggerIcon.primary.color.hover\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_trigger-icon--primary-negative--color\": {\n        \"name\": \"actionable.triggerIcon.primaryNegative.color\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_trigger-icon--primary-negative--color--active\": {\n        \"name\": \"actionable.triggerIcon.primaryNegative.color.active\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_trigger-icon--primary-negative--color--hover\": {\n        \"name\": \"actionable.triggerIcon.primaryNegative.color.hover\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_trigger-icon--primary-positive--color\": {\n        \"name\": \"actionable.triggerIcon.primaryPositive.color\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_trigger-icon--primary-positive--color--active\": {\n        \"name\": \"actionable.triggerIcon.primaryPositive.color.active\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_trigger-icon--primary-positive--color--hover\": {\n        \"name\": \"actionable.triggerIcon.primaryPositive.color.hover\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-actionable_trigger-icon--primary-selection_bare--color\": {\n        \"name\": \"actionable.triggerIcon.primarySelection.bare.color\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_trigger-icon--primary-selection_bare--color--active\": {\n        \"name\": \"actionable.triggerIcon.primarySelection.bare.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_trigger-icon--primary-selection_bare--color--hover\": {\n        \"name\": \"actionable.triggerIcon.primarySelection.bare.color.hover\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_trigger-icon--primary-selection_high-contrast_bare--color\": {\n        \"name\": \"actionable.triggerIcon.primarySelection.highContrast.bare.color\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_trigger-icon--primary-selection_high-contrast_bare--color--active\": {\n        \"name\": \"actionable.triggerIcon.primarySelection.highContrast.bare.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_trigger-icon--primary-selection_high-contrast_bare--color--hover\": {\n        \"name\": \"actionable.triggerIcon.primarySelection.highContrast.bare.color.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_trigger-icon--primary-selection--color\": {\n        \"name\": \"actionable.triggerIcon.primarySelection.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_trigger-icon--primary-selection--color--active\": {\n        \"name\": \"actionable.triggerIcon.primarySelection.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_trigger-icon--primary-selection--color--hover\": {\n        \"name\": \"actionable.triggerIcon.primarySelection.color.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_trigger-icon--secondary_bare--color\": {\n        \"name\": \"actionable.triggerIcon.secondary.bare.color\",\n        \"derived\": \"--now-actionable_trigger-icon--secondary--color\"\n    },\n    \"--now-actionable_trigger-icon--secondary_bare--color--active\": {\n        \"name\": \"actionable.triggerIcon.secondary.bare.color.active\",\n        \"derived\": \"--now-actionable_trigger-icon--secondary--color--active\"\n    },\n    \"--now-actionable_trigger-icon--secondary_bare--color--hover\": {\n        \"name\": \"actionable.triggerIcon.secondary.bare.color.hover\",\n        \"derived\": \"--now-actionable_trigger-icon--secondary--color--hover\"\n    },\n    \"--now-actionable_trigger-icon--secondary_high-contrast_bare--color\": {\n        \"name\": \"actionable.triggerIcon.secondary.highContrast.bare.color\",\n        \"derived\": \"--now-color--secondary-2\"\n    },\n    \"--now-actionable_trigger-icon--secondary_high-contrast_bare--color--active\": {\n        \"name\": \"actionable.triggerIcon.secondary.highContrast.bare.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_trigger-icon--secondary_high-contrast_bare--color--hover\": {\n        \"name\": \"actionable.triggerIcon.secondary.highContrast.bare.color.hover\",\n        \"derived\": \"--now-color--secondary-3\"\n    },\n    \"--now-actionable_trigger-icon--secondary--color\": {\n        \"name\": \"actionable.triggerIcon.secondary.color\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-actionable_trigger-icon--secondary--color--active\": {\n        \"name\": \"actionable.triggerIcon.secondary.color.active\",\n        \"derived\": \"--now-color--secondary-3\"\n    },\n    \"--now-actionable_trigger-icon--secondary--color--hover\": {\n        \"name\": \"actionable.triggerIcon.secondary.color.hover\",\n        \"derived\": \"--now-color--secondary-2\"\n    },\n    \"--now-actionable_trigger-icon--secondary-negative--color\": {\n        \"name\": \"actionable.triggerIcon.secondaryNegative.color\",\n        \"derived\": \"--now-color_alert--critical-3\"\n    },\n    \"--now-actionable_trigger-icon--secondary-negative--color--active\": {\n        \"name\": \"actionable.triggerIcon.secondaryNegative.color.active\",\n        \"derived\": \"--now-color_alert--critical-5\"\n    },\n    \"--now-actionable_trigger-icon--secondary-negative--color--hover\": {\n        \"name\": \"actionable.triggerIcon.secondaryNegative.color.hover\",\n        \"derived\": \"--now-color_alert--critical-4\"\n    },\n    \"--now-actionable_trigger-icon--secondary-positive--color\": {\n        \"name\": \"actionable.triggerIcon.secondaryPositive.color\",\n        \"derived\": \"--now-color_alert--positive-3\"\n    },\n    \"--now-actionable_trigger-icon--secondary-positive--color--active\": {\n        \"name\": \"actionable.triggerIcon.secondaryPositive.color.active\",\n        \"derived\": \"--now-color_alert--positive-5\"\n    },\n    \"--now-actionable_trigger-icon--secondary-positive--color--hover\": {\n        \"name\": \"actionable.triggerIcon.secondaryPositive.color.hover\",\n        \"derived\": \"--now-color_alert--positive-4\"\n    },\n    \"--now-actionable_trigger-icon--secondary-selection_bare--color\": {\n        \"name\": \"actionable.triggerIcon.secondarySelection.bare.color\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable_trigger-icon--secondary-selection_bare--color--active\": {\n        \"name\": \"actionable.triggerIcon.secondarySelection.bare.color.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_trigger-icon--secondary-selection_bare--color--hover\": {\n        \"name\": \"actionable.triggerIcon.secondarySelection.bare.color.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_trigger-icon--secondary-selection_high-contrast_bare--color\": {\n        \"name\": \"actionable.triggerIcon.secondarySelection.highContrast.bare.color\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_trigger-icon--secondary-selection_high-contrast_bare--color--active\": {\n        \"name\": \"actionable.triggerIcon.secondarySelection.highContrast.bare.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_trigger-icon--secondary-selection_high-contrast_bare--color--hover\": {\n        \"name\": \"actionable.triggerIcon.secondarySelection.highContrast.bare.color.hover\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_trigger-icon--secondary-selection--color\": {\n        \"name\": \"actionable.triggerIcon.secondarySelection.color\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable_trigger-icon--secondary-selection--color--active\": {\n        \"name\": \"actionable.triggerIcon.secondarySelection.color.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_trigger-icon--secondary-selection--color--hover\": {\n        \"name\": \"actionable.triggerIcon.secondarySelection.color.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_trigger-icon--tertiary_bare--color\": {\n        \"name\": \"actionable.triggerIcon.tertiary.bare.color\",\n        \"derived\": \"--now-actionable_trigger-icon--tertiary--color\"\n    },\n    \"--now-actionable_trigger-icon--tertiary_bare--color--active\": {\n        \"name\": \"actionable.triggerIcon.tertiary.bare.color.active\",\n        \"derived\": \"--now-actionable_trigger-icon--tertiary--color--active\"\n    },\n    \"--now-actionable_trigger-icon--tertiary_bare--color--hover\": {\n        \"name\": \"actionable.triggerIcon.tertiary.bare.color.hover\",\n        \"derived\": \"--now-actionable_trigger-icon--tertiary--color--hover\"\n    },\n    \"--now-actionable_trigger-icon--tertiary_high-contrast_bare--color\": {\n        \"name\": \"actionable.triggerIcon.tertiary.highContrast.bare.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_trigger-icon--tertiary_high-contrast_bare--color--active\": {\n        \"name\": \"actionable.triggerIcon.tertiary.highContrast.bare.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_trigger-icon--tertiary_high-contrast_bare--color--hover\": {\n        \"name\": \"actionable.triggerIcon.tertiary.highContrast.bare.color.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_trigger-icon--tertiary--color\": {\n        \"name\": \"actionable.triggerIcon.tertiary.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-actionable_trigger-icon--tertiary--color--active\": {\n        \"name\": \"actionable.triggerIcon.tertiary.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_trigger-icon--tertiary--color--hover\": {\n        \"name\": \"actionable.triggerIcon.tertiary.color.hover\",\n        \"derived\": \"--now-color_text--secondary\"\n    },\n    \"--now-actionable_trigger-icon--tertiary-selection_bare--color\": {\n        \"name\": \"actionable.triggerIcon.tertiarySelection.bare.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-actionable_trigger-icon--tertiary-selection_bare--color--active\": {\n        \"name\": \"actionable.triggerIcon.tertiarySelection.bare.color.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_trigger-icon--tertiary-selection_bare--color--hover\": {\n        \"name\": \"actionable.triggerIcon.tertiarySelection.bare.color.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable_trigger-icon--tertiary-selection_high-contrast_bare--color\": {\n        \"name\": \"actionable.triggerIcon.tertiarySelection.highContrast.bare.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_trigger-icon--tertiary-selection_high-contrast_bare--color--active\": {\n        \"name\": \"actionable.triggerIcon.tertiarySelection.highContrast.bare.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable_trigger-icon--tertiary-selection_high-contrast_bare--color--hover\": {\n        \"name\": \"actionable.triggerIcon.tertiarySelection.highContrast.bare.color.hover\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable_trigger-icon--tertiary-selection--color\": {\n        \"name\": \"actionable.triggerIcon.tertiarySelection.color\",\n        \"derived\": \"--now-actionable_trigger-icon--tertiary--color\"\n    },\n    \"--now-actionable_trigger-icon--tertiary-selection--color--active\": {\n        \"name\": \"actionable.triggerIcon.tertiarySelection.color.active\",\n        \"derived\": \"--now-actionable_trigger-icon--tertiary--color--active\"\n    },\n    \"--now-actionable_trigger-icon--tertiary-selection--color--hover\": {\n        \"name\": \"actionable.triggerIcon.tertiarySelection.color.hover\",\n        \"derived\": \"--now-actionable_trigger-icon--tertiary--color--hover\"\n    },\n    \"--now-actionable--background-color-alpha\": {\n        \"name\": \"actionable.backgroundColorAlpha\",\n        \"initial\": \"0\"\n    },\n    \"--now-actionable--background-color-alpha--active\": {\n        \"name\": \"actionable.backgroundColorAlpha.active\",\n        \"derived\": \"--now-opacity--less\"\n    },\n    \"--now-actionable--background-color-alpha--hover\": {\n        \"name\": \"actionable.backgroundColorAlpha.hover\",\n        \"derived\": \"--now-opacity--least\"\n    },\n    \"--now-actionable--background-color-alpha--selected\": {\n        \"name\": \"actionable.backgroundColorAlpha.selected\",\n        \"derived\": \"--now-opacity--least\"\n    },\n    \"--now-actionable--bare--border-color-alpha\": {\n        \"name\": \"actionable.bare.borderColorAlpha\",\n        \"derived\": \"--now-actionable--border-color-alpha\"\n    },\n    \"--now-actionable--bare--border-radius\": {\n        \"name\": \"actionable.bare.borderRadius\",\n        \"derived\": \"--now-actionable--border-radius\"\n    },\n    \"--now-actionable--bare--border-width\": {\n        \"name\": \"actionable.bare.borderWidth\",\n        \"derived\": \"--now-actionable--border-width\"\n    },\n    \"--now-actionable--bare--font-family\": {\n        \"name\": \"actionable.bare.fontFamily\",\n        \"derived\": \"--now-actionable--font-family\"\n    },\n    \"--now-actionable--bare--font-style\": {\n        \"name\": \"actionable.bare.fontStyle\",\n        \"derived\": \"--now-actionable--font-style\"\n    },\n    \"--now-actionable--bare--font-weight\": {\n        \"name\": \"actionable.bare.fontWeight\",\n        \"derived\": \"--now-actionable--font-weight\"\n    },\n    \"--now-actionable--bare--opacity--disabled\": {\n        \"name\": \"actionable.bare.opacity.disabled\",\n        \"derived\": \"--now-actionable--opacity--disabled\"\n    },\n    \"--now-actionable--bare--text-transform\": {\n        \"name\": \"actionable.bare.textTransform\",\n        \"derived\": \"--now-actionable--text-transform\"\n    },\n    \"--now-actionable--border-color-alpha\": {\n        \"name\": \"actionable.borderColorAlpha\",\n        \"initial\": \"0\"\n    },\n    \"--now-actionable--brand-primary--background-color\": {\n        \"name\": \"actionable.brandPrimary.backgroundColor\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-actionable--brand-primary--background-color--active\": {\n        \"name\": \"actionable.brandPrimary.backgroundColor.active\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-actionable--brand-primary--background-color--hover\": {\n        \"name\": \"actionable.brandPrimary.backgroundColor.hover\",\n        \"derived\": \"--now-color--primary-2\"\n    },\n    \"--now-actionable--brand-primary--border-color\": {\n        \"name\": \"actionable.brandPrimary.borderColor\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-actionable--brand-primary--border-color--active\": {\n        \"name\": \"actionable.brandPrimary.borderColor.active\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-actionable--brand-primary--border-color--hover\": {\n        \"name\": \"actionable.brandPrimary.borderColor.hover\",\n        \"derived\": \"--now-color--primary-2\"\n    },\n    \"--now-actionable--brand-primary--border-radius\": {\n        \"name\": \"actionable.brandPrimary.borderRadius\",\n        \"derived\": \"--now-actionable--contained_brand--border-radius\"\n    },\n    \"--now-actionable--brand-primary--border-width\": {\n        \"name\": \"actionable.brandPrimary.borderWidth\",\n        \"derived\": \"--now-actionable--contained_brand--border-width\"\n    },\n    \"--now-actionable--brand-primary--font-family\": {\n        \"name\": \"actionable.brandPrimary.fontFamily\",\n        \"derived\": \"--now-actionable--contained--font-family\"\n    },\n    \"--now-actionable--brand-primary--font-style\": {\n        \"name\": \"actionable.brandPrimary.fontStyle\",\n        \"derived\": \"--now-actionable--contained--font-style\"\n    },\n    \"--now-actionable--brand-primary--font-weight\": {\n        \"name\": \"actionable.brandPrimary.fontWeight\",\n        \"derived\": \"--now-actionable--contained--font-weight\"\n    },\n    \"--now-actionable--brand-primary--opacity--disabled\": {\n        \"name\": \"actionable.brandPrimary.opacity.disabled\",\n        \"derived\": \"--now-actionable--contained--opacity--disabled\"\n    },\n    \"--now-actionable--brand-primary--text-transform\": {\n        \"name\": \"actionable.brandPrimary.textTransform\",\n        \"derived\": \"--now-actionable--contained--text-transform\"\n    },\n    \"--now-actionable--brand-secondary--background-color\": {\n        \"name\": \"actionable.brandSecondary.backgroundColor\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-actionable--brand-secondary--background-color--active\": {\n        \"name\": \"actionable.brandSecondary.backgroundColor.active\",\n        \"derived\": \"--now-color--secondary-3\"\n    },\n    \"--now-actionable--brand-secondary--background-color--hover\": {\n        \"name\": \"actionable.brandSecondary.backgroundColor.hover\",\n        \"derived\": \"--now-color--secondary-2\"\n    },\n    \"--now-actionable--brand-secondary--border-color\": {\n        \"name\": \"actionable.brandSecondary.borderColor\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-actionable--brand-secondary--border-color--active\": {\n        \"name\": \"actionable.brandSecondary.borderColor.active\",\n        \"derived\": \"--now-color--secondary-3\"\n    },\n    \"--now-actionable--brand-secondary--border-color--hover\": {\n        \"name\": \"actionable.brandSecondary.borderColor.hover\",\n        \"derived\": \"--now-color--secondary-2\"\n    },\n    \"--now-actionable--brand-secondary--border-radius\": {\n        \"name\": \"actionable.brandSecondary.borderRadius\",\n        \"derived\": \"--now-actionable--contained_brand--border-radius\"\n    },\n    \"--now-actionable--brand-secondary--border-width\": {\n        \"name\": \"actionable.brandSecondary.borderWidth\",\n        \"derived\": \"--now-actionable--contained_brand--border-width\"\n    },\n    \"--now-actionable--brand-secondary--font-family\": {\n        \"name\": \"actionable.brandSecondary.fontFamily\",\n        \"derived\": \"--now-actionable--contained--font-family\"\n    },\n    \"--now-actionable--brand-secondary--font-style\": {\n        \"name\": \"actionable.brandSecondary.fontStyle\",\n        \"derived\": \"--now-actionable--contained--font-style\"\n    },\n    \"--now-actionable--brand-secondary--font-weight\": {\n        \"name\": \"actionable.brandSecondary.fontWeight\",\n        \"derived\": \"--now-actionable--contained--font-weight\"\n    },\n    \"--now-actionable--brand-secondary--opacity--disabled\": {\n        \"name\": \"actionable.brandSecondary.opacity.disabled\",\n        \"derived\": \"--now-actionable--contained--opacity--disabled\"\n    },\n    \"--now-actionable--brand-secondary--text-transform\": {\n        \"name\": \"actionable.brandSecondary.textTransform\",\n        \"derived\": \"--now-actionable--contained--text-transform\"\n    },\n    \"--now-actionable--brand-tertiary--background-color\": {\n        \"name\": \"actionable.brandTertiary.backgroundColor\",\n        \"derived\": \"--now-color_background--tertiary-actionable\"\n    },\n    \"--now-actionable--brand-tertiary--background-color--active\": {\n        \"name\": \"actionable.brandTertiary.backgroundColor.active\",\n        \"derived\": \"--now-color_background--primary-actionable\"\n    },\n    \"--now-actionable--brand-tertiary--background-color--hover\": {\n        \"name\": \"actionable.brandTertiary.backgroundColor.hover\",\n        \"derived\": \"--now-color_background--secondary-actionable\"\n    },\n    \"--now-actionable--brand-tertiary--border-color\": {\n        \"name\": \"actionable.brandTertiary.borderColor\",\n        \"derived\": \"--now-color_border--tertiary-actionable\"\n    },\n    \"--now-actionable--brand-tertiary--border-color--active\": {\n        \"name\": \"actionable.brandTertiary.borderColor.active\",\n        \"derived\": \"--now-color_border--primary-actionable\"\n    },\n    \"--now-actionable--brand-tertiary--border-color--hover\": {\n        \"name\": \"actionable.brandTertiary.borderColor.hover\",\n        \"derived\": \"--now-color_border--secondary-actionable\"\n    },\n    \"--now-actionable--brand-tertiary--border-radius\": {\n        \"name\": \"actionable.brandTertiary.borderRadius\",\n        \"derived\": \"--now-actionable--contained_brand--border-radius\"\n    },\n    \"--now-actionable--brand-tertiary--border-width\": {\n        \"name\": \"actionable.brandTertiary.borderWidth\",\n        \"derived\": \"--now-actionable--contained_brand--border-width\"\n    },\n    \"--now-actionable--brand-tertiary--font-family\": {\n        \"name\": \"actionable.brandTertiary.fontFamily\",\n        \"derived\": \"--now-actionable--contained--font-family\"\n    },\n    \"--now-actionable--brand-tertiary--font-style\": {\n        \"name\": \"actionable.brandTertiary.fontStyle\",\n        \"derived\": \"--now-actionable--contained--font-style\"\n    },\n    \"--now-actionable--brand-tertiary--font-weight\": {\n        \"name\": \"actionable.brandTertiary.fontWeight\",\n        \"derived\": \"--now-actionable--contained--font-weight\"\n    },\n    \"--now-actionable--brand-tertiary--opacity--disabled\": {\n        \"name\": \"actionable.brandTertiary.opacity.disabled\",\n        \"derived\": \"--now-actionable--contained--opacity--disabled\"\n    },\n    \"--now-actionable--brand-tertiary--text-transform\": {\n        \"name\": \"actionable.brandTertiary.textTransform\",\n        \"derived\": \"--now-actionable--contained--text-transform\"\n    },\n    \"--now-actionable--color-alpha\": {\n        \"name\": \"actionable.colorAlpha\",\n        \"initial\": \"1\"\n    },\n    \"--now-actionable--contained_brand--border-radius\": {\n        \"name\": \"actionable.contained.brand.borderRadius\",\n        \"derived\": \"--now-actionable--border-radius\"\n    },\n    \"--now-actionable--contained_brand--border-width\": {\n        \"name\": \"actionable.contained.brand.borderWidth\",\n        \"initial\": \"0\"\n    },\n    \"--now-actionable--contained--border-radius\": {\n        \"name\": \"actionable.contained.borderRadius\",\n        \"derived\": \"--now-actionable--border-radius\"\n    },\n    \"--now-actionable--contained--border-width\": {\n        \"name\": \"actionable.contained.borderWidth\",\n        \"derived\": \"--now-actionable--border-width\"\n    },\n    \"--now-actionable--contained--font-family\": {\n        \"name\": \"actionable.contained.fontFamily\",\n        \"derived\": \"--now-actionable--font-family\"\n    },\n    \"--now-actionable--contained--font-style\": {\n        \"name\": \"actionable.contained.fontStyle\",\n        \"derived\": \"--now-actionable--font-style\"\n    },\n    \"--now-actionable--contained--font-weight\": {\n        \"name\": \"actionable.contained.fontWeight\",\n        \"derived\": \"--now-actionable--font-weight\"\n    },\n    \"--now-actionable--contained--opacity--disabled\": {\n        \"name\": \"actionable.contained.opacity.disabled\",\n        \"derived\": \"--now-actionable--opacity--disabled\"\n    },\n    \"--now-actionable--contained--text-transform\": {\n        \"name\": \"actionable.contained.textTransform\",\n        \"derived\": \"--now-actionable--text-transform\"\n    },\n    \"--now-actionable--divider--width\": {\n        \"name\": \"actionable.divider.width\",\n        \"initial\": \"1px\"\n    },\n    \"--now-actionable--high-contrast--color-alpha\": {\n        \"name\": \"actionable.highContrast.colorAlpha\",\n        \"initial\": \"1\"\n    },\n    \"--now-actionable--iconic--border-color-alpha\": {\n        \"name\": \"actionable.iconic.borderColorAlpha\",\n        \"initial\": \"1\"\n    },\n    \"--now-actionable--primary_bare--background-color--active\": {\n        \"name\": \"actionable.primary.bare.backgroundColor.active\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-actionable--primary_bare--background-color--hover\": {\n        \"name\": \"actionable.primary.bare.backgroundColor.hover\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-actionable--primary_bare--background-color--selected\": {\n        \"name\": \"actionable.primary.bare.backgroundColor.selected\",\n        \"derived\": \"--now-color--primary-2\"\n    },\n    \"--now-actionable--primary_bare--background-color--selected_active\": {\n        \"name\": \"actionable.primary.bare.backgroundColor.selected.active\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-actionable--primary_bare--background-color--selected_hover\": {\n        \"name\": \"actionable.primary.bare.backgroundColor.selected.hover\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-actionable--primary_bare--border-color--active\": {\n        \"name\": \"actionable.primary.bare.borderColor.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable--primary_bare--border-color--hover\": {\n        \"name\": \"actionable.primary.bare.borderColor.hover\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-actionable--primary_bare--border-color--selected\": {\n        \"name\": \"actionable.primary.bare.borderColor.selected\",\n        \"derived\": \"--now-color--primary-2\"\n    },\n    \"--now-actionable--primary_bare--border-color--selected_active\": {\n        \"name\": \"actionable.primary.bare.borderColor.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable--primary_bare--border-color--selected_hover\": {\n        \"name\": \"actionable.primary.bare.borderColor.selected.hover\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-actionable--primary_bare--border-radius\": {\n        \"name\": \"actionable.primary.bare.borderRadius\",\n        \"derived\": \"--now-actionable--bare--border-radius\"\n    },\n    \"--now-actionable--primary_bare--border-width\": {\n        \"name\": \"actionable.primary.bare.borderWidth\",\n        \"derived\": \"--now-actionable--bare--border-width\"\n    },\n    \"--now-actionable--primary_bare--font-family\": {\n        \"name\": \"actionable.primary.bare.fontFamily\",\n        \"derived\": \"--now-actionable--bare--font-family\"\n    },\n    \"--now-actionable--primary_bare--font-style\": {\n        \"name\": \"actionable.primary.bare.fontStyle\",\n        \"derived\": \"--now-actionable--bare--font-style\"\n    },\n    \"--now-actionable--primary_bare--font-weight\": {\n        \"name\": \"actionable.primary.bare.fontWeight\",\n        \"derived\": \"--now-actionable--bare--font-weight\"\n    },\n    \"--now-actionable--primary_bare--opacity--disabled\": {\n        \"name\": \"actionable.primary.bare.opacity.disabled\",\n        \"derived\": \"--now-actionable--bare--opacity--disabled\"\n    },\n    \"--now-actionable--primary_bare--text-transform\": {\n        \"name\": \"actionable.primary.bare.textTransform\",\n        \"derived\": \"--now-actionable--bare--text-transform\"\n    },\n    \"--now-actionable--primary_high-contrast_bare--background-color--active\": {\n        \"name\": \"actionable.primary.highContrast.bare.backgroundColor.active\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-actionable--primary_high-contrast_bare--background-color--hover\": {\n        \"name\": \"actionable.primary.highContrast.bare.backgroundColor.hover\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-actionable--primary_high-contrast_bare--background-color--selected\": {\n        \"name\": \"actionable.primary.highContrast.bare.backgroundColor.selected\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-actionable--primary_high-contrast_bare--background-color--selected_active\": {\n        \"name\": \"actionable.primary.highContrast.bare.backgroundColor.selected.active\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-actionable--primary_high-contrast_bare--background-color--selected_hover\": {\n        \"name\": \"actionable.primary.highContrast.bare.backgroundColor.selected.hover\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-actionable--primary_high-contrast_bare--border-color--active\": {\n        \"name\": \"actionable.primary.highContrast.bare.borderColor.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable--primary_high-contrast_bare--border-color--hover\": {\n        \"name\": \"actionable.primary.highContrast.bare.borderColor.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable--primary_high-contrast_bare--border-color--selected\": {\n        \"name\": \"actionable.primary.highContrast.bare.borderColor.selected\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-actionable--primary_high-contrast_bare--border-color--selected_active\": {\n        \"name\": \"actionable.primary.highContrast.bare.borderColor.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable--primary_high-contrast_bare--border-color--selected_hover\": {\n        \"name\": \"actionable.primary.highContrast.bare.borderColor.selected.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable--primary_high-contrast_bare--opacity--disabled\": {\n        \"name\": \"actionable.primary.highContrast.bare.opacity.disabled\",\n        \"derived\": \"--now-actionable--bare--opacity--disabled\"\n    },\n    \"--now-actionable--primary_highlighted_bare--background-color--selected\": {\n        \"name\": \"actionable.primary.highlighted.bare.backgroundColor.selected\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-actionable--primary_highlighted_bare--background-color--selected_active\": {\n        \"name\": \"actionable.primary.highlighted.bare.backgroundColor.selected.active\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-actionable--primary_highlighted_bare--background-color--selected_hover\": {\n        \"name\": \"actionable.primary.highlighted.bare.backgroundColor.selected.hover\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-actionable--primary_highlighted_bare--border-color--selected\": {\n        \"name\": \"actionable.primary.highlighted.bare.borderColor.selected\",\n        \"derived\": \"--now-color--primary-2\"\n    },\n    \"--now-actionable--primary_highlighted_bare--border-color--selected_active\": {\n        \"name\": \"actionable.primary.highlighted.bare.borderColor.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable--primary_highlighted_bare--border-color--selected_hover\": {\n        \"name\": \"actionable.primary.highlighted.bare.borderColor.selected.hover\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-actionable--primary_highlighted_high-contrast_bare--background-color--selected\": {\n        \"name\": \"actionable.primary.highlighted.highContrast.bare.backgroundColor.selected\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-actionable--primary_highlighted_high-contrast_bare--background-color--selected_active\": {\n        \"name\": \"actionable.primary.highlighted.highContrast.bare.backgroundColor.selected.active\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-actionable--primary_highlighted_high-contrast_bare--background-color--selected_hover\": {\n        \"name\": \"actionable.primary.highlighted.highContrast.bare.backgroundColor.selected.hover\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-actionable--primary_highlighted_high-contrast_bare--border-color--selected\": {\n        \"name\": \"actionable.primary.highlighted.highContrast.bare.borderColor.selected\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-actionable--primary_highlighted_high-contrast_bare--border-color--selected_active\": {\n        \"name\": \"actionable.primary.highlighted.highContrast.bare.borderColor.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable--primary_highlighted_high-contrast_bare--border-color--selected_hover\": {\n        \"name\": \"actionable.primary.highlighted.highContrast.bare.borderColor.selected.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable--primary--background-color\": {\n        \"name\": \"actionable.primary.backgroundColor\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-actionable--primary--background-color--active\": {\n        \"name\": \"actionable.primary.backgroundColor.active\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-actionable--primary--background-color--hover\": {\n        \"name\": \"actionable.primary.backgroundColor.hover\",\n        \"derived\": \"--now-color--primary-2\"\n    },\n    \"--now-actionable--primary--border-color\": {\n        \"name\": \"actionable.primary.borderColor\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-actionable--primary--border-color--active\": {\n        \"name\": \"actionable.primary.borderColor.active\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-actionable--primary--border-color--hover\": {\n        \"name\": \"actionable.primary.borderColor.hover\",\n        \"derived\": \"--now-color--primary-2\"\n    },\n    \"--now-actionable--primary--border-radius\": {\n        \"name\": \"actionable.primary.borderRadius\",\n        \"derived\": \"--now-actionable--contained_brand--border-radius\"\n    },\n    \"--now-actionable--primary--border-width\": {\n        \"name\": \"actionable.primary.borderWidth\",\n        \"derived\": \"--now-actionable--contained_brand--border-width\"\n    },\n    \"--now-actionable--primary--font-family\": {\n        \"name\": \"actionable.primary.fontFamily\",\n        \"derived\": \"--now-actionable--contained--font-family\"\n    },\n    \"--now-actionable--primary--font-style\": {\n        \"name\": \"actionable.primary.fontStyle\",\n        \"derived\": \"--now-actionable--contained--font-style\"\n    },\n    \"--now-actionable--primary--font-weight\": {\n        \"name\": \"actionable.primary.fontWeight\",\n        \"derived\": \"--now-actionable--contained--font-weight\"\n    },\n    \"--now-actionable--primary--opacity--disabled\": {\n        \"name\": \"actionable.primary.opacity.disabled\",\n        \"derived\": \"--now-actionable--contained--opacity--disabled\"\n    },\n    \"--now-actionable--primary--text-transform\": {\n        \"name\": \"actionable.primary.textTransform\",\n        \"derived\": \"--now-actionable--contained--text-transform\"\n    },\n    \"--now-actionable--primary-negative--background-color\": {\n        \"name\": \"actionable.primaryNegative.backgroundColor\",\n        \"derived\": \"--now-color_alert--critical-3\"\n    },\n    \"--now-actionable--primary-negative--background-color--active\": {\n        \"name\": \"actionable.primaryNegative.backgroundColor.active\",\n        \"derived\": \"--now-color_alert--critical-5\"\n    },\n    \"--now-actionable--primary-negative--background-color--hover\": {\n        \"name\": \"actionable.primaryNegative.backgroundColor.hover\",\n        \"derived\": \"--now-color_alert--critical-4\"\n    },\n    \"--now-actionable--primary-negative--border-color\": {\n        \"name\": \"actionable.primaryNegative.borderColor\",\n        \"derived\": \"--now-color_alert--critical-3\"\n    },\n    \"--now-actionable--primary-negative--border-color--active\": {\n        \"name\": \"actionable.primaryNegative.borderColor.active\",\n        \"derived\": \"--now-color_alert--critical-5\"\n    },\n    \"--now-actionable--primary-negative--border-color--hover\": {\n        \"name\": \"actionable.primaryNegative.borderColor.hover\",\n        \"derived\": \"--now-color_alert--critical-4\"\n    },\n    \"--now-actionable--primary-negative--border-radius\": {\n        \"name\": \"actionable.primaryNegative.borderRadius\",\n        \"derived\": \"--now-actionable--primary--border-radius\"\n    },\n    \"--now-actionable--primary-negative--border-width\": {\n        \"name\": \"actionable.primaryNegative.borderWidth\",\n        \"derived\": \"--now-actionable--primary--border-width\"\n    },\n    \"--now-actionable--primary-negative--font-family\": {\n        \"name\": \"actionable.primaryNegative.fontFamily\",\n        \"derived\": \"--now-actionable--contained--font-family\"\n    },\n    \"--now-actionable--primary-negative--font-style\": {\n        \"name\": \"actionable.primaryNegative.fontStyle\",\n        \"derived\": \"--now-actionable--contained--font-style\"\n    },\n    \"--now-actionable--primary-negative--font-weight\": {\n        \"name\": \"actionable.primaryNegative.fontWeight\",\n        \"derived\": \"--now-actionable--contained--font-weight\"\n    },\n    \"--now-actionable--primary-negative--opacity--disabled\": {\n        \"name\": \"actionable.primaryNegative.opacity.disabled\",\n        \"derived\": \"--now-actionable--contained--opacity--disabled\"\n    },\n    \"--now-actionable--primary-negative--text-transform\": {\n        \"name\": \"actionable.primaryNegative.textTransform\",\n        \"derived\": \"--now-actionable--contained--text-transform\"\n    },\n    \"--now-actionable--primary-positive--background-color\": {\n        \"name\": \"actionable.primaryPositive.backgroundColor\",\n        \"derived\": \"--now-color_alert--positive-3\"\n    },\n    \"--now-actionable--primary-positive--background-color--active\": {\n        \"name\": \"actionable.primaryPositive.backgroundColor.active\",\n        \"derived\": \"--now-color_alert--positive-5\"\n    },\n    \"--now-actionable--primary-positive--background-color--hover\": {\n        \"name\": \"actionable.primaryPositive.backgroundColor.hover\",\n        \"derived\": \"--now-color_alert--positive-4\"\n    },\n    \"--now-actionable--primary-positive--border-color\": {\n        \"name\": \"actionable.primaryPositive.borderColor\",\n        \"derived\": \"--now-color_alert--positive-3\"\n    },\n    \"--now-actionable--primary-positive--border-color--active\": {\n        \"name\": \"actionable.primaryPositive.borderColor.active\",\n        \"derived\": \"--now-color_alert--positive-5\"\n    },\n    \"--now-actionable--primary-positive--border-color--hover\": {\n        \"name\": \"actionable.primaryPositive.borderColor.hover\",\n        \"derived\": \"--now-color_alert--positive-4\"\n    },\n    \"--now-actionable--primary-positive--border-radius\": {\n        \"name\": \"actionable.primaryPositive.borderRadius\",\n        \"derived\": \"--now-actionable--primary--border-radius\"\n    },\n    \"--now-actionable--primary-positive--border-width\": {\n        \"name\": \"actionable.primaryPositive.borderWidth\",\n        \"derived\": \"--now-actionable--primary--border-width\"\n    },\n    \"--now-actionable--primary-positive--font-family\": {\n        \"name\": \"actionable.primaryPositive.fontFamily\",\n        \"derived\": \"--now-actionable--contained--font-family\"\n    },\n    \"--now-actionable--primary-positive--font-style\": {\n        \"name\": \"actionable.primaryPositive.fontStyle\",\n        \"derived\": \"--now-actionable--contained--font-style\"\n    },\n    \"--now-actionable--primary-positive--font-weight\": {\n        \"name\": \"actionable.primaryPositive.fontWeight\",\n        \"derived\": \"--now-actionable--contained--font-weight\"\n    },\n    \"--now-actionable--primary-positive--opacity--disabled\": {\n        \"name\": \"actionable.primaryPositive.opacity.disabled\",\n        \"derived\": \"--now-actionable--contained--opacity--disabled\"\n    },\n    \"--now-actionable--primary-positive--text-transform\": {\n        \"name\": \"actionable.primaryPositive.textTransform\",\n        \"derived\": \"--now-actionable--contained--text-transform\"\n    },\n    \"--now-actionable--primary-selection_bare--background-color--active\": {\n        \"name\": \"actionable.primarySelection.bare.backgroundColor.active\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--primary-selection_bare--background-color--hover\": {\n        \"name\": \"actionable.primarySelection.bare.backgroundColor.hover\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--primary-selection_bare--background-color--selected\": {\n        \"name\": \"actionable.primarySelection.bare.backgroundColor.selected\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--primary-selection_bare--background-color--selected_active\": {\n        \"name\": \"actionable.primarySelection.bare.backgroundColor.selected.active\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--primary-selection_bare--background-color--selected_hover\": {\n        \"name\": \"actionable.primarySelection.bare.backgroundColor.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--primary-selection_bare--border-color--active\": {\n        \"name\": \"actionable.primarySelection.bare.borderColor.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable--primary-selection_bare--border-color--hover\": {\n        \"name\": \"actionable.primarySelection.bare.borderColor.hover\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable--primary-selection_bare--border-color--selected\": {\n        \"name\": \"actionable.primarySelection.bare.borderColor.selected\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable--primary-selection_bare--border-color--selected_active\": {\n        \"name\": \"actionable.primarySelection.bare.borderColor.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable--primary-selection_bare--border-color--selected_hover\": {\n        \"name\": \"actionable.primarySelection.bare.borderColor.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable--primary-selection_bare--border-radius\": {\n        \"name\": \"actionable.primarySelection.bare.borderRadius\",\n        \"derived\": \"--now-actionable--primary_bare--border-radius\"\n    },\n    \"--now-actionable--primary-selection_bare--border-width\": {\n        \"name\": \"actionable.primarySelection.bare.borderWidth\",\n        \"derived\": \"--now-actionable--primary_bare--border-width\"\n    },\n    \"--now-actionable--primary-selection_bare--font-family\": {\n        \"name\": \"actionable.primarySelection.bare.fontFamily\",\n        \"derived\": \"--now-actionable--bare--font-family\"\n    },\n    \"--now-actionable--primary-selection_bare--font-style\": {\n        \"name\": \"actionable.primarySelection.bare.fontStyle\",\n        \"derived\": \"--now-actionable--bare--font-style\"\n    },\n    \"--now-actionable--primary-selection_bare--font-weight\": {\n        \"name\": \"actionable.primarySelection.bare.fontWeight\",\n        \"derived\": \"--now-actionable--bare--font-weight\"\n    },\n    \"--now-actionable--primary-selection_bare--opacity--disabled\": {\n        \"name\": \"actionable.primarySelection.bare.opacity.disabled\",\n        \"derived\": \"--now-actionable--bare--opacity--disabled\"\n    },\n    \"--now-actionable--primary-selection_bare--text-transform\": {\n        \"name\": \"actionable.primarySelection.bare.textTransform\",\n        \"derived\": \"--now-actionable--bare--text-transform\"\n    },\n    \"--now-actionable--primary-selection_high-contrast_bare--background-color--active\": {\n        \"name\": \"actionable.primarySelection.highContrast.bare.backgroundColor.active\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--primary-selection_high-contrast_bare--background-color--hover\": {\n        \"name\": \"actionable.primarySelection.highContrast.bare.backgroundColor.hover\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--primary-selection_high-contrast_bare--background-color--selected\": {\n        \"name\": \"actionable.primarySelection.highContrast.bare.backgroundColor.selected\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--primary-selection_high-contrast_bare--background-color--selected_active\": {\n        \"name\": \"actionable.primarySelection.highContrast.bare.backgroundColor.selected.active\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--primary-selection_high-contrast_bare--background-color--selected_hover\": {\n        \"name\": \"actionable.primarySelection.highContrast.bare.backgroundColor.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--primary-selection_high-contrast_bare--border-color--active\": {\n        \"name\": \"actionable.primarySelection.highContrast.bare.borderColor.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable--primary-selection_high-contrast_bare--border-color--hover\": {\n        \"name\": \"actionable.primarySelection.highContrast.bare.borderColor.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable--primary-selection_high-contrast_bare--border-color--selected\": {\n        \"name\": \"actionable.primarySelection.highContrast.bare.borderColor.selected\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable--primary-selection_high-contrast_bare--border-color--selected_active\": {\n        \"name\": \"actionable.primarySelection.highContrast.bare.borderColor.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable--primary-selection_high-contrast_bare--border-color--selected_hover\": {\n        \"name\": \"actionable.primarySelection.highContrast.bare.borderColor.selected.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable--primary-selection_high-contrast_bare--opacity--disabled\": {\n        \"name\": \"actionable.primarySelection.highContrast.bare.opacity.disabled\",\n        \"derived\": \"--now-actionable--bare--opacity--disabled\"\n    },\n    \"--now-actionable--primary-selection_highlighted_bare--background-color--selected\": {\n        \"name\": \"actionable.primarySelection.highlighted.bare.backgroundColor.selected\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--primary-selection_highlighted_bare--background-color--selected_active\": {\n        \"name\": \"actionable.primarySelection.highlighted.bare.backgroundColor.selected.active\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--primary-selection_highlighted_bare--background-color--selected_hover\": {\n        \"name\": \"actionable.primarySelection.highlighted.bare.backgroundColor.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--primary-selection_highlighted_bare--border-color--selected\": {\n        \"name\": \"actionable.primarySelection.highlighted.bare.borderColor.selected\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable--primary-selection_highlighted_bare--border-color--selected_active\": {\n        \"name\": \"actionable.primarySelection.highlighted.bare.borderColor.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable--primary-selection_highlighted_bare--border-color--selected_hover\": {\n        \"name\": \"actionable.primarySelection.highlighted.bare.borderColor.selected.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable--primary-selection_highlighted_high-contrast_bare--background-color--selected\": {\n        \"name\": \"actionable.primarySelection.highlighted.highContrast.bare.backgroundColor.selected\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--primary-selection_highlighted_high-contrast_bare--background-color--selected_active\": {\n        \"name\": \"actionable.primarySelection.highlighted.highContrast.bare.backgroundColor.selected.active\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--primary-selection_highlighted_high-contrast_bare--background-color--selected_hover\": {\n        \"name\": \"actionable.primarySelection.highlighted.highContrast.bare.backgroundColor.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--primary-selection_highlighted_high-contrast_bare--border-color--selected\": {\n        \"name\": \"actionable.primarySelection.highlighted.highContrast.bare.borderColor.selected\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable--primary-selection_highlighted_high-contrast_bare--border-color--selected_active\": {\n        \"name\": \"actionable.primarySelection.highlighted.highContrast.bare.borderColor.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable--primary-selection_highlighted_high-contrast_bare--border-color--selected_hover\": {\n        \"name\": \"actionable.primarySelection.highlighted.highContrast.bare.borderColor.selected.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable--primary-selection--background-color\": {\n        \"name\": \"actionable.primarySelection.backgroundColor\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--primary-selection--background-color--active\": {\n        \"name\": \"actionable.primarySelection.backgroundColor.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable--primary-selection--background-color--hover\": {\n        \"name\": \"actionable.primarySelection.backgroundColor.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable--primary-selection--border-color\": {\n        \"name\": \"actionable.primarySelection.borderColor\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable--primary-selection--border-color--active\": {\n        \"name\": \"actionable.primarySelection.borderColor.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable--primary-selection--border-color--hover\": {\n        \"name\": \"actionable.primarySelection.borderColor.hover\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable--primary-selection--border-radius\": {\n        \"name\": \"actionable.primarySelection.borderRadius\",\n        \"derived\": \"--now-actionable--primary--border-radius\"\n    },\n    \"--now-actionable--primary-selection--border-width\": {\n        \"name\": \"actionable.primarySelection.borderWidth\",\n        \"derived\": \"--now-actionable--primary--border-width\"\n    },\n    \"--now-actionable--primary-selection--font-family\": {\n        \"name\": \"actionable.primarySelection.fontFamily\",\n        \"derived\": \"--now-actionable--contained--font-family\"\n    },\n    \"--now-actionable--primary-selection--font-style\": {\n        \"name\": \"actionable.primarySelection.fontStyle\",\n        \"derived\": \"--now-actionable--contained--font-style\"\n    },\n    \"--now-actionable--primary-selection--font-weight\": {\n        \"name\": \"actionable.primarySelection.fontWeight\",\n        \"derived\": \"--now-actionable--contained--font-weight\"\n    },\n    \"--now-actionable--primary-selection--opacity--disabled\": {\n        \"name\": \"actionable.primarySelection.opacity.disabled\",\n        \"derived\": \"--now-actionable--contained--opacity--disabled\"\n    },\n    \"--now-actionable--primary-selection--text-transform\": {\n        \"name\": \"actionable.primarySelection.textTransform\",\n        \"derived\": \"--now-actionable--contained--text-transform\"\n    },\n    \"--now-actionable--secondary_bare--background-color--active\": {\n        \"name\": \"actionable.secondary.bare.backgroundColor.active\",\n        \"derived\": \"--now-actionable--secondary--background-color--active\"\n    },\n    \"--now-actionable--secondary_bare--background-color--hover\": {\n        \"name\": \"actionable.secondary.bare.backgroundColor.hover\",\n        \"derived\": \"--now-actionable--secondary--background-color--hover\"\n    },\n    \"--now-actionable--secondary_bare--background-color--selected\": {\n        \"name\": \"actionable.secondary.bare.backgroundColor.selected\",\n        \"derived\": \"--now-actionable--secondary--background-color\"\n    },\n    \"--now-actionable--secondary_bare--background-color--selected_active\": {\n        \"name\": \"actionable.secondary.bare.backgroundColor.selected.active\",\n        \"derived\": \"--now-actionable--secondary_bare--background-color--active\"\n    },\n    \"--now-actionable--secondary_bare--background-color--selected_hover\": {\n        \"name\": \"actionable.secondary.bare.backgroundColor.selected.hover\",\n        \"derived\": \"--now-actionable--secondary_bare--background-color--hover\"\n    },\n    \"--now-actionable--secondary_bare--border-color--active\": {\n        \"name\": \"actionable.secondary.bare.borderColor.active\",\n        \"derived\": \"--now-actionable--secondary--border-color--active\"\n    },\n    \"--now-actionable--secondary_bare--border-color--hover\": {\n        \"name\": \"actionable.secondary.bare.borderColor.hover\",\n        \"derived\": \"--now-actionable--secondary--border-color--hover\"\n    },\n    \"--now-actionable--secondary_bare--border-color--selected\": {\n        \"name\": \"actionable.secondary.bare.borderColor.selected\",\n        \"derived\": \"--now-actionable--secondary--border-color\"\n    },\n    \"--now-actionable--secondary_bare--border-color--selected_active\": {\n        \"name\": \"actionable.secondary.bare.borderColor.selected.active\",\n        \"derived\": \"--now-actionable--secondary_bare--border-color--active\"\n    },\n    \"--now-actionable--secondary_bare--border-color--selected_hover\": {\n        \"name\": \"actionable.secondary.bare.borderColor.selected.hover\",\n        \"derived\": \"--now-actionable--secondary_bare--border-color--hover\"\n    },\n    \"--now-actionable--secondary_bare--border-radius\": {\n        \"name\": \"actionable.secondary.bare.borderRadius\",\n        \"derived\": \"--now-actionable--bare--border-radius\"\n    },\n    \"--now-actionable--secondary_bare--border-width\": {\n        \"name\": \"actionable.secondary.bare.borderWidth\",\n        \"derived\": \"--now-actionable--bare--border-width\"\n    },\n    \"--now-actionable--secondary_bare--font-family\": {\n        \"name\": \"actionable.secondary.bare.fontFamily\",\n        \"derived\": \"--now-actionable--bare--font-family\"\n    },\n    \"--now-actionable--secondary_bare--font-style\": {\n        \"name\": \"actionable.secondary.bare.fontStyle\",\n        \"derived\": \"--now-actionable--bare--font-style\"\n    },\n    \"--now-actionable--secondary_bare--font-weight\": {\n        \"name\": \"actionable.secondary.bare.fontWeight\",\n        \"derived\": \"--now-actionable--bare--font-weight\"\n    },\n    \"--now-actionable--secondary_bare--opacity--disabled\": {\n        \"name\": \"actionable.secondary.bare.opacity.disabled\",\n        \"derived\": \"--now-actionable--bare--opacity--disabled\"\n    },\n    \"--now-actionable--secondary_bare--text-transform\": {\n        \"name\": \"actionable.secondary.bare.textTransform\",\n        \"derived\": \"--now-actionable--bare--text-transform\"\n    },\n    \"--now-actionable--secondary_high-contrast_bare--background-color--active\": {\n        \"name\": \"actionable.secondary.highContrast.bare.backgroundColor.active\",\n        \"derived\": \"--now-actionable--secondary_bare--background-color--active\"\n    },\n    \"--now-actionable--secondary_high-contrast_bare--background-color--hover\": {\n        \"name\": \"actionable.secondary.highContrast.bare.backgroundColor.hover\",\n        \"derived\": \"--now-actionable--secondary_bare--background-color--hover\"\n    },\n    \"--now-actionable--secondary_high-contrast_bare--background-color--selected\": {\n        \"name\": \"actionable.secondary.highContrast.bare.backgroundColor.selected\",\n        \"derived\": \"--now-actionable--secondary_bare--background-color--selected\"\n    },\n    \"--now-actionable--secondary_high-contrast_bare--background-color--selected_active\": {\n        \"name\": \"actionable.secondary.highContrast.bare.backgroundColor.selected.active\",\n        \"derived\": \"--now-actionable--secondary_bare--background-color--selected_active\"\n    },\n    \"--now-actionable--secondary_high-contrast_bare--background-color--selected_hover\": {\n        \"name\": \"actionable.secondary.highContrast.bare.backgroundColor.selected.hover\",\n        \"derived\": \"--now-actionable--secondary_bare--background-color--selected_hover\"\n    },\n    \"--now-actionable--secondary_high-contrast_bare--border-color--active\": {\n        \"name\": \"actionable.secondary.highContrast.bare.borderColor.active\",\n        \"derived\": \"--now-actionable--secondary_bare--border-color--active\"\n    },\n    \"--now-actionable--secondary_high-contrast_bare--border-color--hover\": {\n        \"name\": \"actionable.secondary.highContrast.bare.borderColor.hover\",\n        \"derived\": \"--now-actionable--secondary_bare--border-color--hover\"\n    },\n    \"--now-actionable--secondary_high-contrast_bare--border-color--selected\": {\n        \"name\": \"actionable.secondary.highContrast.bare.borderColor.selected\",\n        \"derived\": \"--now-actionable--secondary_bare--border-color--selected\"\n    },\n    \"--now-actionable--secondary_high-contrast_bare--border-color--selected_active\": {\n        \"name\": \"actionable.secondary.highContrast.bare.borderColor.selected.active\",\n        \"derived\": \"--now-actionable--secondary_bare--border-color--selected_active\"\n    },\n    \"--now-actionable--secondary_high-contrast_bare--border-color--selected_hover\": {\n        \"name\": \"actionable.secondary.highContrast.bare.borderColor.selected.hover\",\n        \"derived\": \"--now-actionable--secondary_bare--border-color--selected_hover\"\n    },\n    \"--now-actionable--secondary_high-contrast_bare--opacity--disabled\": {\n        \"name\": \"actionable.secondary.highContrast.bare.opacity.disabled\",\n        \"derived\": \"--now-actionable--bare--opacity--disabled\"\n    },\n    \"--now-actionable--secondary_highlighted_bare--background-color--selected\": {\n        \"name\": \"actionable.secondary.highlighted.bare.backgroundColor.selected\",\n        \"derived\": \"--now-actionable--secondary_bare--background-color--selected\"\n    },\n    \"--now-actionable--secondary_highlighted_bare--background-color--selected_active\": {\n        \"name\": \"actionable.secondary.highlighted.bare.backgroundColor.selected.active\",\n        \"derived\": \"--now-actionable--secondary_bare--background-color--selected_active\"\n    },\n    \"--now-actionable--secondary_highlighted_bare--background-color--selected_hover\": {\n        \"name\": \"actionable.secondary.highlighted.bare.backgroundColor.selected.hover\",\n        \"derived\": \"--now-actionable--secondary_bare--background-color--selected_hover\"\n    },\n    \"--now-actionable--secondary_highlighted_bare--border-color--selected\": {\n        \"name\": \"actionable.secondary.highlighted.bare.borderColor.selected\",\n        \"derived\": \"--now-actionable--secondary_bare--border-color--selected\"\n    },\n    \"--now-actionable--secondary_highlighted_bare--border-color--selected_active\": {\n        \"name\": \"actionable.secondary.highlighted.bare.borderColor.selected.active\",\n        \"derived\": \"--now-actionable--secondary_bare--border-color--selected_active\"\n    },\n    \"--now-actionable--secondary_highlighted_bare--border-color--selected_hover\": {\n        \"name\": \"actionable.secondary.highlighted.bare.borderColor.selected.hover\",\n        \"derived\": \"--now-actionable--secondary_bare--border-color--selected_hover\"\n    },\n    \"--now-actionable--secondary_highlighted_high-contrast_bare--background-color--selected\": {\n        \"name\": \"actionable.secondary.highlighted.highContrast.bare.backgroundColor.selected\",\n        \"derived\": \"--now-actionable--secondary_highlighted_bare--background-color--selected\"\n    },\n    \"--now-actionable--secondary_highlighted_high-contrast_bare--background-color--selected_active\": {\n        \"name\": \"actionable.secondary.highlighted.highContrast.bare.backgroundColor.selected.active\",\n        \"derived\": \"--now-actionable--secondary_highlighted_bare--background-color--selected_active\"\n    },\n    \"--now-actionable--secondary_highlighted_high-contrast_bare--background-color--selected_hover\": {\n        \"name\": \"actionable.secondary.highlighted.highContrast.bare.backgroundColor.selected.hover\",\n        \"derived\": \"--now-actionable--secondary_highlighted_bare--background-color--selected_hover\"\n    },\n    \"--now-actionable--secondary_highlighted_high-contrast_bare--border-color--selected\": {\n        \"name\": \"actionable.secondary.highlighted.highContrast.bare.borderColor.selected\",\n        \"derived\": \"--now-actionable--secondary_highlighted_bare--border-color--selected\"\n    },\n    \"--now-actionable--secondary_highlighted_high-contrast_bare--border-color--selected_active\": {\n        \"name\": \"actionable.secondary.highlighted.highContrast.bare.borderColor.selected.active\",\n        \"derived\": \"--now-actionable--secondary_highlighted_bare--border-color--selected_active\"\n    },\n    \"--now-actionable--secondary_highlighted_high-contrast_bare--border-color--selected_hover\": {\n        \"name\": \"actionable.secondary.highlighted.highContrast.bare.borderColor.selected.hover\",\n        \"derived\": \"--now-actionable--secondary_highlighted_bare--border-color--selected_hover\"\n    },\n    \"--now-actionable--secondary--background-color\": {\n        \"name\": \"actionable.secondary.backgroundColor\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-actionable--secondary--background-color--active\": {\n        \"name\": \"actionable.secondary.backgroundColor.active\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-actionable--secondary--background-color--hover\": {\n        \"name\": \"actionable.secondary.backgroundColor.hover\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-actionable--secondary--border-color\": {\n        \"name\": \"actionable.secondary.borderColor\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-actionable--secondary--border-color--active\": {\n        \"name\": \"actionable.secondary.borderColor.active\",\n        \"derived\": \"--now-color--secondary-3\"\n    },\n    \"--now-actionable--secondary--border-color--hover\": {\n        \"name\": \"actionable.secondary.borderColor.hover\",\n        \"derived\": \"--now-color--secondary-2\"\n    },\n    \"--now-actionable--secondary--border-radius\": {\n        \"name\": \"actionable.secondary.borderRadius\",\n        \"derived\": \"--now-actionable--contained--border-radius\"\n    },\n    \"--now-actionable--secondary--border-width\": {\n        \"name\": \"actionable.secondary.borderWidth\",\n        \"derived\": \"--now-actionable--contained--border-width\"\n    },\n    \"--now-actionable--secondary--font-family\": {\n        \"name\": \"actionable.secondary.fontFamily\",\n        \"derived\": \"--now-actionable--contained--font-family\"\n    },\n    \"--now-actionable--secondary--font-style\": {\n        \"name\": \"actionable.secondary.fontStyle\",\n        \"derived\": \"--now-actionable--contained--font-style\"\n    },\n    \"--now-actionable--secondary--font-weight\": {\n        \"name\": \"actionable.secondary.fontWeight\",\n        \"derived\": \"--now-actionable--contained--font-weight\"\n    },\n    \"--now-actionable--secondary--opacity--disabled\": {\n        \"name\": \"actionable.secondary.opacity.disabled\",\n        \"derived\": \"--now-actionable--contained--opacity--disabled\"\n    },\n    \"--now-actionable--secondary--text-transform\": {\n        \"name\": \"actionable.secondary.textTransform\",\n        \"derived\": \"--now-actionable--contained--text-transform\"\n    },\n    \"--now-actionable--secondary-negative--background-color\": {\n        \"name\": \"actionable.secondaryNegative.backgroundColor\",\n        \"derived\": \"--now-color_alert--critical-0\"\n    },\n    \"--now-actionable--secondary-negative--background-color--active\": {\n        \"name\": \"actionable.secondaryNegative.backgroundColor.active\",\n        \"derived\": \"--now-color_alert--critical-3\"\n    },\n    \"--now-actionable--secondary-negative--background-color--hover\": {\n        \"name\": \"actionable.secondaryNegative.backgroundColor.hover\",\n        \"derived\": \"--now-color_alert--critical-3\"\n    },\n    \"--now-actionable--secondary-negative--border-color\": {\n        \"name\": \"actionable.secondaryNegative.borderColor\",\n        \"derived\": \"--now-color_alert--critical-3\"\n    },\n    \"--now-actionable--secondary-negative--border-color--active\": {\n        \"name\": \"actionable.secondaryNegative.borderColor.active\",\n        \"derived\": \"--now-color_alert--critical-5\"\n    },\n    \"--now-actionable--secondary-negative--border-color--hover\": {\n        \"name\": \"actionable.secondaryNegative.borderColor.hover\",\n        \"derived\": \"--now-color_alert--critical-4\"\n    },\n    \"--now-actionable--secondary-negative--border-radius\": {\n        \"name\": \"actionable.secondaryNegative.borderRadius\",\n        \"derived\": \"--now-actionable--secondary--border-radius\"\n    },\n    \"--now-actionable--secondary-negative--border-width\": {\n        \"name\": \"actionable.secondaryNegative.borderWidth\",\n        \"derived\": \"--now-actionable--secondary--border-width\"\n    },\n    \"--now-actionable--secondary-negative--font-family\": {\n        \"name\": \"actionable.secondaryNegative.fontFamily\",\n        \"derived\": \"--now-actionable--contained--font-family\"\n    },\n    \"--now-actionable--secondary-negative--font-style\": {\n        \"name\": \"actionable.secondaryNegative.fontStyle\",\n        \"derived\": \"--now-actionable--contained--font-style\"\n    },\n    \"--now-actionable--secondary-negative--font-weight\": {\n        \"name\": \"actionable.secondaryNegative.fontWeight\",\n        \"derived\": \"--now-actionable--contained--font-weight\"\n    },\n    \"--now-actionable--secondary-negative--opacity--disabled\": {\n        \"name\": \"actionable.secondaryNegative.opacity.disabled\",\n        \"derived\": \"--now-actionable--contained--opacity--disabled\"\n    },\n    \"--now-actionable--secondary-negative--text-transform\": {\n        \"name\": \"actionable.secondaryNegative.textTransform\",\n        \"derived\": \"--now-actionable--contained--text-transform\"\n    },\n    \"--now-actionable--secondary-positive--background-color\": {\n        \"name\": \"actionable.secondaryPositive.backgroundColor\",\n        \"derived\": \"--now-color_alert--positive-3\"\n    },\n    \"--now-actionable--secondary-positive--background-color--active\": {\n        \"name\": \"actionable.secondaryPositive.backgroundColor.active\",\n        \"derived\": \"--now-color_alert--positive-3\"\n    },\n    \"--now-actionable--secondary-positive--background-color--hover\": {\n        \"name\": \"actionable.secondaryPositive.backgroundColor.hover\",\n        \"derived\": \"--now-color_alert--positive-3\"\n    },\n    \"--now-actionable--secondary-positive--border-color\": {\n        \"name\": \"actionable.secondaryPositive.borderColor\",\n        \"derived\": \"--now-color_alert--positive-3\"\n    },\n    \"--now-actionable--secondary-positive--border-color--active\": {\n        \"name\": \"actionable.secondaryPositive.borderColor.active\",\n        \"derived\": \"--now-color_alert--positive-5\"\n    },\n    \"--now-actionable--secondary-positive--border-color--hover\": {\n        \"name\": \"actionable.secondaryPositive.borderColor.hover\",\n        \"derived\": \"--now-color_alert--positive-4\"\n    },\n    \"--now-actionable--secondary-positive--border-radius\": {\n        \"name\": \"actionable.secondaryPositive.borderRadius\",\n        \"derived\": \"--now-actionable--secondary--border-radius\"\n    },\n    \"--now-actionable--secondary-positive--border-width\": {\n        \"name\": \"actionable.secondaryPositive.borderWidth\",\n        \"derived\": \"--now-actionable--secondary--border-width\"\n    },\n    \"--now-actionable--secondary-positive--font-family\": {\n        \"name\": \"actionable.secondaryPositive.fontFamily\",\n        \"derived\": \"--now-actionable--contained--font-family\"\n    },\n    \"--now-actionable--secondary-positive--font-style\": {\n        \"name\": \"actionable.secondaryPositive.fontStyle\",\n        \"derived\": \"--now-actionable--contained--font-style\"\n    },\n    \"--now-actionable--secondary-positive--font-weight\": {\n        \"name\": \"actionable.secondaryPositive.fontWeight\",\n        \"derived\": \"--now-actionable--contained--font-weight\"\n    },\n    \"--now-actionable--secondary-positive--opacity--disabled\": {\n        \"name\": \"actionable.secondaryPositive.opacity.disabled\",\n        \"derived\": \"--now-actionable--contained--opacity--disabled\"\n    },\n    \"--now-actionable--secondary-positive--text-transform\": {\n        \"name\": \"actionable.secondaryPositive.textTransform\",\n        \"derived\": \"--now-actionable--contained--text-transform\"\n    },\n    \"--now-actionable--secondary-selection_bare--background-color--active\": {\n        \"name\": \"actionable.secondarySelection.bare.backgroundColor.active\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--secondary-selection_bare--background-color--hover\": {\n        \"name\": \"actionable.secondarySelection.bare.backgroundColor.hover\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--secondary-selection_bare--background-color--selected\": {\n        \"name\": \"actionable.secondarySelection.bare.backgroundColor.selected\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--secondary-selection_bare--background-color--selected_active\": {\n        \"name\": \"actionable.secondarySelection.bare.backgroundColor.selected.active\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--secondary-selection_bare--background-color--selected_hover\": {\n        \"name\": \"actionable.secondarySelection.bare.backgroundColor.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--secondary-selection_bare--border-color--active\": {\n        \"name\": \"actionable.secondarySelection.bare.borderColor.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable--secondary-selection_bare--border-color--hover\": {\n        \"name\": \"actionable.secondarySelection.bare.borderColor.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable--secondary-selection_bare--border-color--selected\": {\n        \"name\": \"actionable.secondarySelection.bare.borderColor.selected\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--secondary-selection_bare--border-color--selected_active\": {\n        \"name\": \"actionable.secondarySelection.bare.borderColor.selected.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable--secondary-selection_bare--border-color--selected_hover\": {\n        \"name\": \"actionable.secondarySelection.bare.borderColor.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable--secondary-selection_bare--border-radius\": {\n        \"name\": \"actionable.secondarySelection.bare.borderRadius\",\n        \"derived\": \"--now-actionable--secondary_bare--border-radius\"\n    },\n    \"--now-actionable--secondary-selection_bare--border-width\": {\n        \"name\": \"actionable.secondarySelection.bare.borderWidth\",\n        \"derived\": \"--now-actionable--secondary_bare--border-width\"\n    },\n    \"--now-actionable--secondary-selection_bare--font-family\": {\n        \"name\": \"actionable.secondarySelection.bare.fontFamily\",\n        \"derived\": \"--now-actionable--bare--font-family\"\n    },\n    \"--now-actionable--secondary-selection_bare--font-style\": {\n        \"name\": \"actionable.secondarySelection.bare.fontStyle\",\n        \"derived\": \"--now-actionable--bare--font-style\"\n    },\n    \"--now-actionable--secondary-selection_bare--font-weight\": {\n        \"name\": \"actionable.secondarySelection.bare.fontWeight\",\n        \"derived\": \"--now-actionable--bare--font-weight\"\n    },\n    \"--now-actionable--secondary-selection_bare--opacity--disabled\": {\n        \"name\": \"actionable.secondarySelection.bare.opacity.disabled\",\n        \"derived\": \"--now-actionable--bare--opacity--disabled\"\n    },\n    \"--now-actionable--secondary-selection_bare--text-transform\": {\n        \"name\": \"actionable.secondarySelection.bare.textTransform\",\n        \"derived\": \"--now-actionable--bare--text-transform\"\n    },\n    \"--now-actionable--secondary-selection_high-contrast_bare--background-color--active\": {\n        \"name\": \"actionable.secondarySelection.highContrast.bare.backgroundColor.active\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--secondary-selection_high-contrast_bare--background-color--hover\": {\n        \"name\": \"actionable.secondarySelection.highContrast.bare.backgroundColor.hover\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--secondary-selection_high-contrast_bare--background-color--selected\": {\n        \"name\": \"actionable.secondarySelection.highContrast.bare.backgroundColor.selected\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--secondary-selection_high-contrast_bare--background-color--selected_active\": {\n        \"name\": \"actionable.secondarySelection.highContrast.bare.backgroundColor.selected.active\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--secondary-selection_high-contrast_bare--background-color--selected_hover\": {\n        \"name\": \"actionable.secondarySelection.highContrast.bare.backgroundColor.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--secondary-selection_high-contrast_bare--border-color--active\": {\n        \"name\": \"actionable.secondarySelection.highContrast.bare.borderColor.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable--secondary-selection_high-contrast_bare--border-color--hover\": {\n        \"name\": \"actionable.secondarySelection.highContrast.bare.borderColor.hover\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable--secondary-selection_high-contrast_bare--border-color--selected\": {\n        \"name\": \"actionable.secondarySelection.highContrast.bare.borderColor.selected\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable--secondary-selection_high-contrast_bare--border-color--selected_active\": {\n        \"name\": \"actionable.secondarySelection.highContrast.bare.borderColor.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable--secondary-selection_high-contrast_bare--border-color--selected_hover\": {\n        \"name\": \"actionable.secondarySelection.highContrast.bare.borderColor.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable--secondary-selection_high-contrast_bare--opacity--disabled\": {\n        \"name\": \"actionable.secondarySelection.highContrast.bare.opacity.disabled\",\n        \"derived\": \"--now-actionable--bare--opacity--disabled\"\n    },\n    \"--now-actionable--secondary-selection_highlighted_bare--background-color--selected\": {\n        \"name\": \"actionable.secondarySelection.highlighted.bare.backgroundColor.selected\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--secondary-selection_highlighted_bare--background-color--selected_active\": {\n        \"name\": \"actionable.secondarySelection.highlighted.bare.backgroundColor.selected.active\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--secondary-selection_highlighted_bare--background-color--selected_hover\": {\n        \"name\": \"actionable.secondarySelection.highlighted.bare.backgroundColor.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--secondary-selection_highlighted_bare--border-color--selected\": {\n        \"name\": \"actionable.secondarySelection.highlighted.bare.borderColor.selected\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--secondary-selection_highlighted_bare--border-color--selected_active\": {\n        \"name\": \"actionable.secondarySelection.highlighted.bare.borderColor.selected.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable--secondary-selection_highlighted_bare--border-color--selected_hover\": {\n        \"name\": \"actionable.secondarySelection.highlighted.bare.borderColor.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable--secondary-selection_highlighted_high-contrast_bare--background-color--selected\": {\n        \"name\": \"actionable.secondarySelection.highlighted.highContrast.bare.backgroundColor.selected\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--secondary-selection_highlighted_high-contrast_bare--background-color--selected_active\": {\n        \"name\": \"actionable.secondarySelection.highlighted.highContrast.bare.backgroundColor.selected.active\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--secondary-selection_highlighted_high-contrast_bare--background-color--selected_hover\": {\n        \"name\": \"actionable.secondarySelection.highlighted.highContrast.bare.backgroundColor.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--secondary-selection_highlighted_high-contrast_bare--border-color--selected\": {\n        \"name\": \"actionable.secondarySelection.highlighted.highContrast.bare.borderColor.selected\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable--secondary-selection_highlighted_high-contrast_bare--border-color--selected_active\": {\n        \"name\": \"actionable.secondarySelection.highlighted.highContrast.bare.borderColor.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable--secondary-selection_highlighted_high-contrast_bare--border-color--selected_hover\": {\n        \"name\": \"actionable.secondarySelection.highlighted.highContrast.bare.borderColor.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable--secondary-selection--background-color\": {\n        \"name\": \"actionable.secondarySelection.backgroundColor\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--secondary-selection--background-color--active\": {\n        \"name\": \"actionable.secondarySelection.backgroundColor.active\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--secondary-selection--background-color--hover\": {\n        \"name\": \"actionable.secondarySelection.backgroundColor.hover\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--secondary-selection--border-color\": {\n        \"name\": \"actionable.secondarySelection.borderColor\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--secondary-selection--border-color--active\": {\n        \"name\": \"actionable.secondarySelection.borderColor.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable--secondary-selection--border-color--hover\": {\n        \"name\": \"actionable.secondarySelection.borderColor.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable--secondary-selection--border-radius\": {\n        \"name\": \"actionable.secondarySelection.borderRadius\",\n        \"derived\": \"--now-actionable--secondary--border-radius\"\n    },\n    \"--now-actionable--secondary-selection--border-width\": {\n        \"name\": \"actionable.secondarySelection.borderWidth\",\n        \"derived\": \"--now-actionable--secondary--border-width\"\n    },\n    \"--now-actionable--secondary-selection--font-family\": {\n        \"name\": \"actionable.secondarySelection.fontFamily\",\n        \"derived\": \"--now-actionable--contained--font-family\"\n    },\n    \"--now-actionable--secondary-selection--font-style\": {\n        \"name\": \"actionable.secondarySelection.fontStyle\",\n        \"derived\": \"--now-actionable--contained--font-style\"\n    },\n    \"--now-actionable--secondary-selection--font-weight\": {\n        \"name\": \"actionable.secondarySelection.fontWeight\",\n        \"derived\": \"--now-actionable--contained--font-weight\"\n    },\n    \"--now-actionable--secondary-selection--opacity--disabled\": {\n        \"name\": \"actionable.secondarySelection.opacity.disabled\",\n        \"derived\": \"--now-actionable--opacity--disabled\"\n    },\n    \"--now-actionable--secondary-selection--text-transform\": {\n        \"name\": \"actionable.secondarySelection.textTransform\",\n        \"derived\": \"--now-actionable--contained--text-transform\"\n    },\n    \"--now-actionable--tertiary_bare--background-color--active\": {\n        \"name\": \"actionable.tertiary.bare.backgroundColor.active\",\n        \"derived\": \"--now-actionable--tertiary--background-color--active\"\n    },\n    \"--now-actionable--tertiary_bare--background-color--hover\": {\n        \"name\": \"actionable.tertiary.bare.backgroundColor.hover\",\n        \"derived\": \"--now-actionable--tertiary--background-color--hover\"\n    },\n    \"--now-actionable--tertiary_bare--background-color--selected\": {\n        \"name\": \"actionable.tertiary.bare.backgroundColor.selected\",\n        \"derived\": \"--now-actionable--tertiary--background-color\"\n    },\n    \"--now-actionable--tertiary_bare--background-color--selected_active\": {\n        \"name\": \"actionable.tertiary.bare.backgroundColor.selected.active\",\n        \"derived\": \"--now-actionable--tertiary_bare--background-color--active\"\n    },\n    \"--now-actionable--tertiary_bare--background-color--selected_hover\": {\n        \"name\": \"actionable.tertiary.bare.backgroundColor.selected.hover\",\n        \"derived\": \"--now-actionable--tertiary_bare--background-color--hover\"\n    },\n    \"--now-actionable--tertiary_bare--border-color--active\": {\n        \"name\": \"actionable.tertiary.bare.borderColor.active\",\n        \"derived\": \"--now-actionable--tertiary--border-color--active\"\n    },\n    \"--now-actionable--tertiary_bare--border-color--hover\": {\n        \"name\": \"actionable.tertiary.bare.borderColor.hover\",\n        \"derived\": \"--now-actionable--tertiary--border-color--hover\"\n    },\n    \"--now-actionable--tertiary_bare--border-color--selected\": {\n        \"name\": \"actionable.tertiary.bare.borderColor.selected\",\n        \"derived\": \"--now-actionable--tertiary--border-color\"\n    },\n    \"--now-actionable--tertiary_bare--border-color--selected_active\": {\n        \"name\": \"actionable.tertiary.bare.borderColor.selected.active\",\n        \"derived\": \"--now-actionable--tertiary_bare--border-color--active\"\n    },\n    \"--now-actionable--tertiary_bare--border-color--selected_hover\": {\n        \"name\": \"actionable.tertiary.bare.borderColor.selected.hover\",\n        \"derived\": \"--now-actionable--tertiary_bare--border-color--hover\"\n    },\n    \"--now-actionable--tertiary_bare--border-radius\": {\n        \"name\": \"actionable.tertiary.bare.borderRadius\",\n        \"derived\": \"--now-actionable--bare--border-radius\"\n    },\n    \"--now-actionable--tertiary_bare--border-width\": {\n        \"name\": \"actionable.tertiary.bare.borderWidth\",\n        \"derived\": \"--now-actionable--bare--border-width\"\n    },\n    \"--now-actionable--tertiary_bare--font-family\": {\n        \"name\": \"actionable.tertiary.bare.fontFamily\",\n        \"derived\": \"--now-actionable--bare--font-family\"\n    },\n    \"--now-actionable--tertiary_bare--font-style\": {\n        \"name\": \"actionable.tertiary.bare.fontStyle\",\n        \"derived\": \"--now-actionable--bare--font-style\"\n    },\n    \"--now-actionable--tertiary_bare--font-weight\": {\n        \"name\": \"actionable.tertiary.bare.fontWeight\",\n        \"derived\": \"--now-actionable--bare--font-weight\"\n    },\n    \"--now-actionable--tertiary_bare--opacity--disabled\": {\n        \"name\": \"actionable.tertiary.bare.opacity.disabled\",\n        \"derived\": \"--now-actionable--opacity--disabled\"\n    },\n    \"--now-actionable--tertiary_bare--text-transform\": {\n        \"name\": \"actionable.tertiary.bare.textTransform\",\n        \"derived\": \"--now-actionable--bare--text-transform\"\n    },\n    \"--now-actionable--tertiary_high-contrast_bare--background-color--active\": {\n        \"name\": \"actionable.tertiary.highContrast.bare.backgroundColor.active\",\n        \"derived\": \"--now-actionable--tertiary_bare--background-color--active\"\n    },\n    \"--now-actionable--tertiary_high-contrast_bare--background-color--hover\": {\n        \"name\": \"actionable.tertiary.highContrast.bare.backgroundColor.hover\",\n        \"derived\": \"--now-actionable--tertiary_bare--background-color--hover\"\n    },\n    \"--now-actionable--tertiary_high-contrast_bare--background-color--selected\": {\n        \"name\": \"actionable.tertiary.highContrast.bare.backgroundColor.selected\",\n        \"derived\": \"--now-actionable--tertiary_bare--background-color--selected\"\n    },\n    \"--now-actionable--tertiary_high-contrast_bare--background-color--selected_active\": {\n        \"name\": \"actionable.tertiary.highContrast.bare.backgroundColor.selected.active\",\n        \"derived\": \"--now-actionable--tertiary_bare--background-color--selected_active\"\n    },\n    \"--now-actionable--tertiary_high-contrast_bare--background-color--selected_hover\": {\n        \"name\": \"actionable.tertiary.highContrast.bare.backgroundColor.selected.hover\",\n        \"derived\": \"--now-actionable--tertiary_bare--background-color--selected_hover\"\n    },\n    \"--now-actionable--tertiary_high-contrast_bare--border-color--active\": {\n        \"name\": \"actionable.tertiary.highContrast.bare.borderColor.active\",\n        \"derived\": \"--now-actionable--tertiary_bare--border-color--active\"\n    },\n    \"--now-actionable--tertiary_high-contrast_bare--border-color--hover\": {\n        \"name\": \"actionable.tertiary.highContrast.bare.borderColor.hover\",\n        \"derived\": \"--now-actionable--tertiary_bare--border-color--hover\"\n    },\n    \"--now-actionable--tertiary_high-contrast_bare--border-color--selected\": {\n        \"name\": \"actionable.tertiary.highContrast.bare.borderColor.selected\",\n        \"derived\": \"--now-actionable--tertiary_bare--border-color--selected\"\n    },\n    \"--now-actionable--tertiary_high-contrast_bare--border-color--selected_active\": {\n        \"name\": \"actionable.tertiary.highContrast.bare.borderColor.selected.active\",\n        \"derived\": \"--now-actionable--tertiary_bare--border-color--selected_active\"\n    },\n    \"--now-actionable--tertiary_high-contrast_bare--border-color--selected_hover\": {\n        \"name\": \"actionable.tertiary.highContrast.bare.borderColor.selected.hover\",\n        \"derived\": \"--now-actionable--tertiary_bare--border-color--selected_hover\"\n    },\n    \"--now-actionable--tertiary_high-contrast_bare--opacity--disabled\": {\n        \"name\": \"actionable.tertiary.highContrast.bare.opacity.disabled\",\n        \"derived\": \"--now-actionable--bare--opacity--disabled\"\n    },\n    \"--now-actionable--tertiary_highlighted_bare--background-color--selected\": {\n        \"name\": \"actionable.tertiary.highlighted.bare.backgroundColor.selected\",\n        \"derived\": \"--now-actionable--tertiary_bare--background-color--selected\"\n    },\n    \"--now-actionable--tertiary_highlighted_bare--background-color--selected_active\": {\n        \"name\": \"actionable.tertiary.highlighted.bare.backgroundColor.selected.active\",\n        \"derived\": \"--now-actionable--tertiary_bare--background-color--selected_active\"\n    },\n    \"--now-actionable--tertiary_highlighted_bare--background-color--selected_hover\": {\n        \"name\": \"actionable.tertiary.highlighted.bare.backgroundColor.selected.hover\",\n        \"derived\": \"--now-actionable--tertiary_bare--background-color--selected_hover\"\n    },\n    \"--now-actionable--tertiary_highlighted_bare--border-color--selected\": {\n        \"name\": \"actionable.tertiary.highlighted.bare.borderColor.selected\",\n        \"derived\": \"--now-actionable--tertiary_bare--border-color--selected\"\n    },\n    \"--now-actionable--tertiary_highlighted_bare--border-color--selected_active\": {\n        \"name\": \"actionable.tertiary.highlighted.bare.borderColor.selected.active\",\n        \"derived\": \"--now-actionable--tertiary_bare--border-color--selected_active\"\n    },\n    \"--now-actionable--tertiary_highlighted_bare--border-color--selected_hover\": {\n        \"name\": \"actionable.tertiary.highlighted.bare.borderColor.selected.hover\",\n        \"derived\": \"--now-actionable--tertiary_bare--border-color--selected_hover\"\n    },\n    \"--now-actionable--tertiary_highlighted_high-contrast_bare--background-color--selected\": {\n        \"name\": \"actionable.tertiary.highlighted.highContrast.bare.backgroundColor.selected\",\n        \"derived\": \"--now-actionable--tertiary_highlighted_bare--background-color--selected\"\n    },\n    \"--now-actionable--tertiary_highlighted_high-contrast_bare--background-color--selected_active\": {\n        \"name\": \"actionable.tertiary.highlighted.highContrast.bare.backgroundColor.selected.active\",\n        \"derived\": \"--now-actionable--tertiary_highlighted_bare--background-color--selected_active\"\n    },\n    \"--now-actionable--tertiary_highlighted_high-contrast_bare--background-color--selected_hover\": {\n        \"name\": \"actionable.tertiary.highlighted.highContrast.bare.backgroundColor.selected.hover\",\n        \"derived\": \"--now-actionable--tertiary_highlighted_bare--background-color--selected_hover\"\n    },\n    \"--now-actionable--tertiary_highlighted_high-contrast_bare--border-color--selected\": {\n        \"name\": \"actionable.tertiary.highlighted.highContrast.bare.borderColor.selected\",\n        \"derived\": \"--now-actionable--tertiary_highlighted_bare--border-color--selected\"\n    },\n    \"--now-actionable--tertiary_highlighted_high-contrast_bare--border-color--selected_active\": {\n        \"name\": \"actionable.tertiary.highlighted.highContrast.bare.borderColor.selected.active\",\n        \"derived\": \"--now-actionable--tertiary_highlighted_bare--border-color--selected_active\"\n    },\n    \"--now-actionable--tertiary_highlighted_high-contrast_bare--border-color--selected_hover\": {\n        \"name\": \"actionable.tertiary.highlighted.highContrast.bare.borderColor.selected.hover\",\n        \"derived\": \"--now-actionable--tertiary_highlighted_bare--border-color--selected_hover\"\n    },\n    \"--now-actionable--tertiary--background-color\": {\n        \"name\": \"actionable.tertiary.backgroundColor\",\n        \"derived\": \"--now-color_background--secondary-actionable\"\n    },\n    \"--now-actionable--tertiary--background-color--active\": {\n        \"name\": \"actionable.tertiary.backgroundColor.active\",\n        \"derived\": \"--now-color_background--secondary-actionable\"\n    },\n    \"--now-actionable--tertiary--background-color--hover\": {\n        \"name\": \"actionable.tertiary.backgroundColor.hover\",\n        \"derived\": \"--now-color_background--secondary-actionable\"\n    },\n    \"--now-actionable--tertiary--border-color\": {\n        \"name\": \"actionable.tertiary.borderColor\",\n        \"derived\": \"--now-color_border--tertiary-actionable\"\n    },\n    \"--now-actionable--tertiary--border-color--active\": {\n        \"name\": \"actionable.tertiary.borderColor.active\",\n        \"derived\": \"--now-color_border--primary-actionable\"\n    },\n    \"--now-actionable--tertiary--border-color--hover\": {\n        \"name\": \"actionable.tertiary.borderColor.hover\",\n        \"derived\": \"--now-color_border--secondary-actionable\"\n    },\n    \"--now-actionable--tertiary--border-radius\": {\n        \"name\": \"actionable.tertiary.borderRadius\",\n        \"derived\": \"--now-actionable--contained--border-radius\"\n    },\n    \"--now-actionable--tertiary--border-width\": {\n        \"name\": \"actionable.tertiary.borderWidth\",\n        \"derived\": \"--now-actionable--contained--border-width\"\n    },\n    \"--now-actionable--tertiary--font-family\": {\n        \"name\": \"actionable.tertiary.fontFamily\",\n        \"derived\": \"--now-actionable--contained--font-family\"\n    },\n    \"--now-actionable--tertiary--font-style\": {\n        \"name\": \"actionable.tertiary.fontStyle\",\n        \"derived\": \"--now-actionable--contained--font-style\"\n    },\n    \"--now-actionable--tertiary--font-weight\": {\n        \"name\": \"actionable.tertiary.fontWeight\",\n        \"derived\": \"--now-actionable--contained--font-weight\"\n    },\n    \"--now-actionable--tertiary--opacity--disabled\": {\n        \"name\": \"actionable.tertiary.opacity.disabled\",\n        \"derived\": \"--now-actionable--contained--opacity--disabled\"\n    },\n    \"--now-actionable--tertiary--text-transform\": {\n        \"name\": \"actionable.tertiary.textTransform\",\n        \"derived\": \"--now-actionable--contained--text-transform\"\n    },\n    \"--now-actionable--tertiary-selection_bare--background-color--active\": {\n        \"name\": \"actionable.tertiarySelection.bare.backgroundColor.active\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--tertiary-selection_bare--background-color--hover\": {\n        \"name\": \"actionable.tertiarySelection.bare.backgroundColor.hover\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--tertiary-selection_bare--background-color--selected\": {\n        \"name\": \"actionable.tertiarySelection.bare.backgroundColor.selected\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--tertiary-selection_bare--background-color--selected_active\": {\n        \"name\": \"actionable.tertiarySelection.bare.backgroundColor.selected.active\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--tertiary-selection_bare--background-color--selected_hover\": {\n        \"name\": \"actionable.tertiarySelection.bare.backgroundColor.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--tertiary-selection_bare--border-color--active\": {\n        \"name\": \"actionable.tertiarySelection.bare.borderColor.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable--tertiary-selection_bare--border-color--hover\": {\n        \"name\": \"actionable.tertiarySelection.bare.borderColor.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable--tertiary-selection_bare--border-color--selected\": {\n        \"name\": \"actionable.tertiarySelection.bare.borderColor.selected\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--tertiary-selection_bare--border-color--selected_active\": {\n        \"name\": \"actionable.tertiarySelection.bare.borderColor.selected.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable--tertiary-selection_bare--border-color--selected_hover\": {\n        \"name\": \"actionable.tertiarySelection.bare.borderColor.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable--tertiary-selection_bare--border-radius\": {\n        \"name\": \"actionable.tertiarySelection.bare.borderRadius\",\n        \"derived\": \"--now-actionable--tertiary_bare--border-radius\"\n    },\n    \"--now-actionable--tertiary-selection_bare--border-width\": {\n        \"name\": \"actionable.tertiarySelection.bare.borderWidth\",\n        \"derived\": \"--now-actionable--tertiary_bare--border-width\"\n    },\n    \"--now-actionable--tertiary-selection_bare--font-family\": {\n        \"name\": \"actionable.tertiarySelection.bare.fontFamily\",\n        \"derived\": \"--now-actionable--bare--font-family\"\n    },\n    \"--now-actionable--tertiary-selection_bare--font-style\": {\n        \"name\": \"actionable.tertiarySelection.bare.fontStyle\",\n        \"derived\": \"--now-actionable--bare--font-style\"\n    },\n    \"--now-actionable--tertiary-selection_bare--font-weight\": {\n        \"name\": \"actionable.tertiarySelection.bare.fontWeight\",\n        \"derived\": \"--now-actionable--bare--font-weight\"\n    },\n    \"--now-actionable--tertiary-selection_bare--opacity--disabled\": {\n        \"name\": \"actionable.tertiarySelection.bare.opacity.disabled\",\n        \"derived\": \"--now-actionable--bare--opacity--disabled\"\n    },\n    \"--now-actionable--tertiary-selection_bare--text-transform\": {\n        \"name\": \"actionable.tertiarySelection.bare.textTransform\",\n        \"derived\": \"--now-actionable--bare--text-transform\"\n    },\n    \"--now-actionable--tertiary-selection_high-contrast_bare--background-color--active\": {\n        \"name\": \"actionable.tertiarySelection.highContrast.bare.backgroundColor.active\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--tertiary-selection_high-contrast_bare--background-color--hover\": {\n        \"name\": \"actionable.tertiarySelection.highContrast.bare.backgroundColor.hover\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--tertiary-selection_high-contrast_bare--background-color--selected\": {\n        \"name\": \"actionable.tertiarySelection.highContrast.bare.backgroundColor.selected\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--tertiary-selection_high-contrast_bare--background-color--selected_active\": {\n        \"name\": \"actionable.tertiarySelection.highContrast.bare.backgroundColor.selected.active\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--tertiary-selection_high-contrast_bare--background-color--selected_hover\": {\n        \"name\": \"actionable.tertiarySelection.highContrast.bare.backgroundColor.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--tertiary-selection_high-contrast_bare--border-color--active\": {\n        \"name\": \"actionable.tertiarySelection.highContrast.bare.borderColor.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable--tertiary-selection_high-contrast_bare--border-color--hover\": {\n        \"name\": \"actionable.tertiarySelection.highContrast.bare.borderColor.hover\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable--tertiary-selection_high-contrast_bare--border-color--selected\": {\n        \"name\": \"actionable.tertiarySelection.highContrast.bare.borderColor.selected\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable--tertiary-selection_high-contrast_bare--border-color--selected_active\": {\n        \"name\": \"actionable.tertiarySelection.highContrast.bare.borderColor.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable--tertiary-selection_high-contrast_bare--border-color--selected_hover\": {\n        \"name\": \"actionable.tertiarySelection.highContrast.bare.borderColor.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable--tertiary-selection_high-contrast_bare--opacity--disabled\": {\n        \"name\": \"actionable.tertiarySelection.highContrast.bare.opacity.disabled\",\n        \"derived\": \"--now-actionable--bare--opacity--disabled\"\n    },\n    \"--now-actionable--tertiary-selection_highlighted_bare--background-color--selected\": {\n        \"name\": \"actionable.tertiarySelection.highlighted.bare.backgroundColor.selected\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--tertiary-selection_highlighted_bare--background-color--selected_active\": {\n        \"name\": \"actionable.tertiarySelection.highlighted.bare.backgroundColor.selected.active\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--tertiary-selection_highlighted_bare--background-color--selected_hover\": {\n        \"name\": \"actionable.tertiarySelection.highlighted.bare.backgroundColor.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--tertiary-selection_highlighted_bare--border-color--selected\": {\n        \"name\": \"actionable.tertiarySelection.highlighted.bare.borderColor.selected\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--tertiary-selection_highlighted_bare--border-color--selected_active\": {\n        \"name\": \"actionable.tertiarySelection.highlighted.bare.borderColor.selected.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable--tertiary-selection_highlighted_bare--border-color--selected_hover\": {\n        \"name\": \"actionable.tertiarySelection.highlighted.bare.borderColor.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable--tertiary-selection_highlighted_high-contrast_bare--background-color--selected\": {\n        \"name\": \"actionable.tertiarySelection.highlighted.highContrast.bare.backgroundColor.selected\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--tertiary-selection_highlighted_high-contrast_bare--background-color--selected_active\": {\n        \"name\": \"actionable.tertiarySelection.highlighted.highContrast.bare.backgroundColor.selected.active\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--tertiary-selection_highlighted_high-contrast_bare--background-color--selected_hover\": {\n        \"name\": \"actionable.tertiarySelection.highlighted.highContrast.bare.backgroundColor.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--tertiary-selection_highlighted_high-contrast_bare--border-color--selected\": {\n        \"name\": \"actionable.tertiarySelection.highlighted.highContrast.bare.borderColor.selected\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-actionable--tertiary-selection_highlighted_high-contrast_bare--border-color--selected_active\": {\n        \"name\": \"actionable.tertiarySelection.highlighted.highContrast.bare.borderColor.selected.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-actionable--tertiary-selection_highlighted_high-contrast_bare--border-color--selected_hover\": {\n        \"name\": \"actionable.tertiarySelection.highlighted.highContrast.bare.borderColor.selected.hover\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-actionable--tertiary-selection--background-color\": {\n        \"name\": \"actionable.tertiarySelection.backgroundColor\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--tertiary-selection--background-color--active\": {\n        \"name\": \"actionable.tertiarySelection.backgroundColor.active\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--tertiary-selection--background-color--hover\": {\n        \"name\": \"actionable.tertiarySelection.backgroundColor.hover\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-actionable--tertiary-selection--border-color\": {\n        \"name\": \"actionable.tertiarySelection.borderColor\",\n        \"derived\": \"--now-actionable--tertiary--border-color\"\n    },\n    \"--now-actionable--tertiary-selection--border-color--active\": {\n        \"name\": \"actionable.tertiarySelection.borderColor.active\",\n        \"derived\": \"--now-actionable--tertiary--border-color--active\"\n    },\n    \"--now-actionable--tertiary-selection--border-color--hover\": {\n        \"name\": \"actionable.tertiarySelection.borderColor.hover\",\n        \"derived\": \"--now-actionable--tertiary--border-color--hover\"\n    },\n    \"--now-actionable--tertiary-selection--border-radius\": {\n        \"name\": \"actionable.tertiarySelection.borderRadius\",\n        \"derived\": \"--now-actionable--tertiary--border-radius\"\n    },\n    \"--now-actionable--tertiary-selection--border-width\": {\n        \"name\": \"actionable.tertiarySelection.borderWidth\",\n        \"derived\": \"--now-actionable--tertiary--border-width\"\n    },\n    \"--now-actionable--tertiary-selection--font-family\": {\n        \"name\": \"actionable.tertiarySelection.fontFamily\",\n        \"derived\": \"--now-actionable--contained--font-family\"\n    },\n    \"--now-actionable--tertiary-selection--font-style\": {\n        \"name\": \"actionable.tertiarySelection.fontStyle\",\n        \"derived\": \"--now-actionable--contained--font-style\"\n    },\n    \"--now-actionable--tertiary-selection--font-weight\": {\n        \"name\": \"actionable.tertiarySelection.fontWeight\",\n        \"derived\": \"--now-actionable--contained--font-weight\"\n    },\n    \"--now-actionable--tertiary-selection--opacity--disabled\": {\n        \"name\": \"actionable.tertiarySelection.opacity.disabled\",\n        \"derived\": \"--now-actionable--opacity--disabled\"\n    },\n    \"--now-actionable--tertiary-selection--text-transform\": {\n        \"name\": \"actionable.tertiarySelection.textTransform\",\n        \"derived\": \"--now-actionable--contained--text-transform\"\n    },\n    \"--now-actionable--text-wrap\": {\n        \"name\": \"actionable.textWrap\",\n        \"initial\": \"normal\"\n    },\n    \"--now-container-card_divider--primary--color\": {\n        \"name\": \"containerCard.divider.primary.color\",\n        \"derived\": \"--now-color_divider--primary\"\n    },\n    \"--now-container-card_divider--primary--width\": {\n        \"name\": \"containerCard.divider.primary.width\",\n        \"derived\": \"--now-container-card_divider--width\"\n    },\n    \"--now-container-card_divider--secondary--color\": {\n        \"name\": \"containerCard.divider.secondary.color\",\n        \"derived\": \"--now-color_divider--secondary\"\n    },\n    \"--now-container-card_divider--secondary--width\": {\n        \"name\": \"containerCard.divider.secondary.width\",\n        \"derived\": \"--now-container-card_divider--width\"\n    },\n    \"--now-container-card_divider--tertiary--color\": {\n        \"name\": \"containerCard.divider.tertiary.color\",\n        \"derived\": \"--now-color_divider--tertiary\"\n    },\n    \"--now-container-card_divider--tertiary--width\": {\n        \"name\": \"containerCard.divider.tertiary.width\",\n        \"derived\": \"--now-container-card_divider--width\"\n    },\n    \"--now-container-card_divider--width\": {\n        \"name\": \"containerCard.divider.width\",\n        \"initial\": \"1px\"\n    },\n    \"--now-container-card_footer--font-family\": {\n        \"name\": \"containerCard.footer.fontFamily\",\n        \"derived\": \"--now-container--font-family\"\n    },\n    \"--now-container-card_footer--font-style\": {\n        \"name\": \"containerCard.footer.fontStyle\",\n        \"derived\": \"--now-container--font-style\"\n    },\n    \"--now-container-card_footer--font-weight\": {\n        \"name\": \"containerCard.footer.fontWeight\",\n        \"derived\": \"--now-container--font-weight\"\n    },\n    \"--now-container-card_footer--primary--color\": {\n        \"name\": \"containerCard.footer.primary.color\",\n        \"derived\": \"--now-display-type--primary--color\"\n    },\n    \"--now-container-card_footer--secondary--color\": {\n        \"name\": \"containerCard.footer.secondary.color\",\n        \"derived\": \"--now-display-type--secondary--color\"\n    },\n    \"--now-container-card_footer--tertiary--color\": {\n        \"name\": \"containerCard.footer.tertiary.color\",\n        \"derived\": \"--now-display-type--tertiary--color\"\n    },\n    \"--now-container-card_footer--text-transform\": {\n        \"name\": \"containerCard.footer.textTransform\",\n        \"derived\": \"--now-container--text-transform\"\n    },\n    \"--now-container-card_header--font-family\": {\n        \"name\": \"containerCard.header.fontFamily\",\n        \"derived\": \"--now-display-type--head-primary--font-family\"\n    },\n    \"--now-container-card_header--font-style\": {\n        \"name\": \"containerCard.header.fontStyle\",\n        \"derived\": \"--now-display-type--head-primary--font-style\"\n    },\n    \"--now-container-card_header--font-weight\": {\n        \"name\": \"containerCard.header.fontWeight\",\n        \"derived\": \"--now-display-type--head-primary--font-weight\"\n    },\n    \"--now-container-card_header--primary--color\": {\n        \"name\": \"containerCard.header.primary.color\",\n        \"derived\": \"--now-display-type--primary--color\"\n    },\n    \"--now-container-card_header--secondary--color\": {\n        \"name\": \"containerCard.header.secondary.color\",\n        \"derived\": \"--now-display-type--secondary--color\"\n    },\n    \"--now-container-card_header--tertiary--color\": {\n        \"name\": \"containerCard.header.tertiary.color\",\n        \"derived\": \"--now-display-type--tertiary--color\"\n    },\n    \"--now-container-card_header--text-transform\": {\n        \"name\": \"containerCard.header.textTransform\",\n        \"derived\": \"--now-display-type--head-primary--text-transform\"\n    },\n    \"--now-container-card_status--primary_blue--background-color\": {\n        \"name\": \"containerCard.status.primary.blue.backgroundColor\",\n        \"derived\": \"--now-color_grouped--blue-4\"\n    },\n    \"--now-container-card_status--primary_brown--background-color\": {\n        \"name\": \"containerCard.status.primary.brown.backgroundColor\",\n        \"derived\": \"--now-color_grouped--brown-4\"\n    },\n    \"--now-container-card_status--primary_critical--background-color\": {\n        \"name\": \"containerCard.status.primary.critical.backgroundColor\",\n        \"derived\": \"--now-color_alert--critical-2\"\n    },\n    \"--now-container-card_status--primary_gray--background-color\": {\n        \"name\": \"containerCard.status.primary.gray.backgroundColor\",\n        \"derived\": \"--now-color_grouped--gray-4\"\n    },\n    \"--now-container-card_status--primary_green--background-color\": {\n        \"name\": \"containerCard.status.primary.green.backgroundColor\",\n        \"derived\": \"--now-color_grouped--green-4\"\n    },\n    \"--now-container-card_status--primary_green-yellow--background-color\": {\n        \"name\": \"containerCard.status.primary.greenYellow.backgroundColor\",\n        \"derived\": \"--now-color_grouped--green-yellow-4\"\n    },\n    \"--now-container-card_status--primary_high--background-color\": {\n        \"name\": \"containerCard.status.primary.high.backgroundColor\",\n        \"derived\": \"--now-color_alert--high-2\"\n    },\n    \"--now-container-card_status--primary_info--background-color\": {\n        \"name\": \"containerCard.status.primary.info.backgroundColor\",\n        \"derived\": \"--now-color_alert--info-2\"\n    },\n    \"--now-container-card_status--primary_low--background-color\": {\n        \"name\": \"containerCard.status.primary.low.backgroundColor\",\n        \"derived\": \"--now-color_alert--low-2\"\n    },\n    \"--now-container-card_status--primary_magenta--background-color\": {\n        \"name\": \"containerCard.status.primary.magenta.backgroundColor\",\n        \"derived\": \"--now-color_grouped--magenta-4\"\n    },\n    \"--now-container-card_status--primary_moderate--background-color\": {\n        \"name\": \"containerCard.status.primary.moderate.backgroundColor\",\n        \"derived\": \"--now-color_alert--moderate-2\"\n    },\n    \"--now-container-card_status--primary_orange--background-color\": {\n        \"name\": \"containerCard.status.primary.orange.backgroundColor\",\n        \"derived\": \"--now-color_grouped--orange-4\"\n    },\n    \"--now-container-card_status--primary_pink--background-color\": {\n        \"name\": \"containerCard.status.primary.pink.backgroundColor\",\n        \"derived\": \"--now-color_grouped--pink-4\"\n    },\n    \"--now-container-card_status--primary_positive--background-color\": {\n        \"name\": \"containerCard.status.primary.positive.backgroundColor\",\n        \"derived\": \"--now-color_alert--positive-2\"\n    },\n    \"--now-container-card_status--primary_purple--background-color\": {\n        \"name\": \"containerCard.status.primary.purple.backgroundColor\",\n        \"derived\": \"--now-color_grouped--purple-4\"\n    },\n    \"--now-container-card_status--primary_teal--background-color\": {\n        \"name\": \"containerCard.status.primary.teal.backgroundColor\",\n        \"derived\": \"--now-color_grouped--teal-4\"\n    },\n    \"--now-container-card_status--primary_warning--background-color\": {\n        \"name\": \"containerCard.status.primary.warning.backgroundColor\",\n        \"derived\": \"--now-color_alert--warning-2\"\n    },\n    \"--now-container-card_status--primary_yellow--background-color\": {\n        \"name\": \"containerCard.status.primary.yellow.backgroundColor\",\n        \"derived\": \"--now-color_grouped--yellow-4\"\n    },\n    \"--now-container-card_status--secondary_blue--background-color\": {\n        \"name\": \"containerCard.status.secondary.blue.backgroundColor\",\n        \"derived\": \"--now-color_grouped--blue-1\"\n    },\n    \"--now-container-card_status--secondary_brown--background-color\": {\n        \"name\": \"containerCard.status.secondary.brown.backgroundColor\",\n        \"derived\": \"--now-color_grouped--brown-1\"\n    },\n    \"--now-container-card_status--secondary_critical--background-color\": {\n        \"name\": \"containerCard.status.secondary.critical.backgroundColor\",\n        \"derived\": \"--now-color_alert--critical-1\"\n    },\n    \"--now-container-card_status--secondary_gray--background-color\": {\n        \"name\": \"containerCard.status.secondary.gray.backgroundColor\",\n        \"derived\": \"--now-color_grouped--gray-1\"\n    },\n    \"--now-container-card_status--secondary_green--background-color\": {\n        \"name\": \"containerCard.status.secondary.green.backgroundColor\",\n        \"derived\": \"--now-color_grouped--green-1\"\n    },\n    \"--now-container-card_status--secondary_green-yellow--background-color\": {\n        \"name\": \"containerCard.status.secondary.greenYellow.backgroundColor\",\n        \"derived\": \"--now-color_grouped--green-yellow-1\"\n    },\n    \"--now-container-card_status--secondary_high--background-color\": {\n        \"name\": \"containerCard.status.secondary.high.backgroundColor\",\n        \"derived\": \"--now-color_alert--high-1\"\n    },\n    \"--now-container-card_status--secondary_info--background-color\": {\n        \"name\": \"containerCard.status.secondary.info.backgroundColor\",\n        \"derived\": \"--now-color_alert--info-1\"\n    },\n    \"--now-container-card_status--secondary_low--background-color\": {\n        \"name\": \"containerCard.status.secondary.low.backgroundColor\",\n        \"derived\": \"--now-color_alert--low-1\"\n    },\n    \"--now-container-card_status--secondary_magenta--background-color\": {\n        \"name\": \"containerCard.status.secondary.magenta.backgroundColor\",\n        \"derived\": \"--now-color_grouped--magenta-1\"\n    },\n    \"--now-container-card_status--secondary_moderate--background-color\": {\n        \"name\": \"containerCard.status.secondary.moderate.backgroundColor\",\n        \"derived\": \"--now-color_alert--moderate-1\"\n    },\n    \"--now-container-card_status--secondary_orange--background-color\": {\n        \"name\": \"containerCard.status.secondary.orange.backgroundColor\",\n        \"derived\": \"--now-color_grouped--orange-1\"\n    },\n    \"--now-container-card_status--secondary_pink--background-color\": {\n        \"name\": \"containerCard.status.secondary.pink.backgroundColor\",\n        \"derived\": \"--now-color_grouped--pink-1\"\n    },\n    \"--now-container-card_status--secondary_positive--background-color\": {\n        \"name\": \"containerCard.status.secondary.positive.backgroundColor\",\n        \"derived\": \"--now-color_alert--positive-1\"\n    },\n    \"--now-container-card_status--secondary_purple--background-color\": {\n        \"name\": \"containerCard.status.secondary.purple.backgroundColor\",\n        \"derived\": \"--now-color_grouped--purple-1\"\n    },\n    \"--now-container-card_status--secondary_teal--background-color\": {\n        \"name\": \"containerCard.status.secondary.teal.backgroundColor\",\n        \"derived\": \"--now-color_grouped--teal-1\"\n    },\n    \"--now-container-card_status--secondary_warning--background-color\": {\n        \"name\": \"containerCard.status.secondary.warning.backgroundColor\",\n        \"derived\": \"--now-color_alert--warning-1\"\n    },\n    \"--now-container-card_status--secondary_yellow--background-color\": {\n        \"name\": \"containerCard.status.secondary.yellow.backgroundColor\",\n        \"derived\": \"--now-color_grouped--yellow-1\"\n    },\n    \"--now-container-card_status--tertiary_blue--background-color\": {\n        \"name\": \"containerCard.status.tertiary.blue.backgroundColor\",\n        \"derived\": \"--now-color_grouped--blue-0\"\n    },\n    \"--now-container-card_status--tertiary_brown--background-color\": {\n        \"name\": \"containerCard.status.tertiary.brown.backgroundColor\",\n        \"derived\": \"--now-color_grouped--brown-0\"\n    },\n    \"--now-container-card_status--tertiary_critical--background-color\": {\n        \"name\": \"containerCard.status.tertiary.critical.backgroundColor\",\n        \"derived\": \"--now-color_alert--critical-0\"\n    },\n    \"--now-container-card_status--tertiary_gray--background-color\": {\n        \"name\": \"containerCard.status.tertiary.gray.backgroundColor\",\n        \"derived\": \"--now-color_grouped--gray-0\"\n    },\n    \"--now-container-card_status--tertiary_green--background-color\": {\n        \"name\": \"containerCard.status.tertiary.green.backgroundColor\",\n        \"derived\": \"--now-color_grouped--green-0\"\n    },\n    \"--now-container-card_status--tertiary_green-yellow--background-color\": {\n        \"name\": \"containerCard.status.tertiary.greenYellow.backgroundColor\",\n        \"derived\": \"--now-color_grouped--green-yellow-0\"\n    },\n    \"--now-container-card_status--tertiary_high--background-color\": {\n        \"name\": \"containerCard.status.tertiary.high.backgroundColor\",\n        \"derived\": \"--now-color_alert--high-0\"\n    },\n    \"--now-container-card_status--tertiary_info--background-color\": {\n        \"name\": \"containerCard.status.tertiary.info.backgroundColor\",\n        \"derived\": \"--now-color_alert--info-0\"\n    },\n    \"--now-container-card_status--tertiary_low--background-color\": {\n        \"name\": \"containerCard.status.tertiary.low.backgroundColor\",\n        \"derived\": \"--now-color_alert--low-0\"\n    },\n    \"--now-container-card_status--tertiary_magenta--background-color\": {\n        \"name\": \"containerCard.status.tertiary.magenta.backgroundColor\",\n        \"derived\": \"--now-color_grouped--magenta-0\"\n    },\n    \"--now-container-card_status--tertiary_moderate--background-color\": {\n        \"name\": \"containerCard.status.tertiary.moderate.backgroundColor\",\n        \"derived\": \"--now-color_alert--moderate-0\"\n    },\n    \"--now-container-card_status--tertiary_orange--background-color\": {\n        \"name\": \"containerCard.status.tertiary.orange.backgroundColor\",\n        \"derived\": \"--now-color_grouped--orange-0\"\n    },\n    \"--now-container-card_status--tertiary_pink--background-color\": {\n        \"name\": \"containerCard.status.tertiary.pink.backgroundColor\",\n        \"derived\": \"--now-color_grouped--pink-0\"\n    },\n    \"--now-container-card_status--tertiary_positive--background-color\": {\n        \"name\": \"containerCard.status.tertiary.positive.backgroundColor\",\n        \"derived\": \"--now-color_alert--positive-0\"\n    },\n    \"--now-container-card_status--tertiary_purple--background-color\": {\n        \"name\": \"containerCard.status.tertiary.purple.backgroundColor\",\n        \"derived\": \"--now-color_grouped--purple-0\"\n    },\n    \"--now-container-card_status--tertiary_teal--background-color\": {\n        \"name\": \"containerCard.status.tertiary.teal.backgroundColor\",\n        \"derived\": \"--now-color_grouped--teal-0\"\n    },\n    \"--now-container-card_status--tertiary_warning--background-color\": {\n        \"name\": \"containerCard.status.tertiary.warning.backgroundColor\",\n        \"derived\": \"--now-color_alert--warning-0\"\n    },\n    \"--now-container-card_status--tertiary_yellow--background-color\": {\n        \"name\": \"containerCard.status.tertiary.yellow.backgroundColor\",\n        \"derived\": \"--now-color_grouped--yellow-0\"\n    },\n    \"--now-container-card_subheader--font-family\": {\n        \"name\": \"containerCard.subheader.fontFamily\",\n        \"derived\": \"--now-display-type--title-primary--font-family\"\n    },\n    \"--now-container-card_subheader--font-style\": {\n        \"name\": \"containerCard.subheader.fontStyle\",\n        \"derived\": \"--now-display-type--title-primary--font-style\"\n    },\n    \"--now-container-card_subheader--font-weight\": {\n        \"name\": \"containerCard.subheader.fontWeight\",\n        \"derived\": \"--now-display-type--title-primary--font-weight\"\n    },\n    \"--now-container-card_subheader--primary--color\": {\n        \"name\": \"containerCard.subheader.primary.color\",\n        \"derived\": \"--now-container-card--primary--color\"\n    },\n    \"--now-container-card_subheader--secondary--color\": {\n        \"name\": \"containerCard.subheader.secondary.color\",\n        \"derived\": \"--now-container-card--secondary--color\"\n    },\n    \"--now-container-card_subheader--tertiary--color\": {\n        \"name\": \"containerCard.subheader.tertiary.color\",\n        \"derived\": \"--now-container-card--tertiary--color\"\n    },\n    \"--now-container-card_subheader--text-transform\": {\n        \"name\": \"containerCard.subheader.textTransform\",\n        \"derived\": \"--now-display-type--title-primary--text-transform\"\n    },\n    \"--now-container-card_tagline--font-family\": {\n        \"name\": \"containerCard.tagline.fontFamily\",\n        \"derived\": \"--now-container-card--font-family\"\n    },\n    \"--now-container-card_tagline--font-style\": {\n        \"name\": \"containerCard.tagline.fontStyle\",\n        \"derived\": \"--now-container-card--font-style\"\n    },\n    \"--now-container-card_tagline--font-weight\": {\n        \"name\": \"containerCard.tagline.fontWeight\",\n        \"derived\": \"--now-container-card--font-weight\"\n    },\n    \"--now-container-card_tagline--primary--color\": {\n        \"name\": \"containerCard.tagline.primary.color\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-container-card_tagline--secondary--color\": {\n        \"name\": \"containerCard.tagline.secondary.color\",\n        \"derived\": \"--now-container-card--secondary--color\"\n    },\n    \"--now-container-card_tagline--tertiary--color\": {\n        \"name\": \"containerCard.tagline.tertiary.color\",\n        \"derived\": \"--now-container-card--tertiary--color\"\n    },\n    \"--now-container-card_tagline--text-transform\": {\n        \"name\": \"containerCard.tagline.textTransform\",\n        \"derived\": \"--now-container-card--text-transform\"\n    },\n    \"--now-container-card--actionable--border-radius\": {\n        \"name\": \"containerCard.actionable.borderRadius\",\n        \"derived\": \"--now-container-card--border-radius\"\n    },\n    \"--now-container-card--actionable--border-width\": {\n        \"name\": \"containerCard.actionable.borderWidth\",\n        \"derived\": \"--now-container-card--border-width\"\n    },\n    \"--now-container-card--actionable--border-width--active\": {\n        \"name\": \"containerCard.actionable.borderWidth.active\",\n        \"derived\": \"--now-container-card--actionable--border-width\"\n    },\n    \"--now-container-card--actionable--border-width--hover\": {\n        \"name\": \"containerCard.actionable.borderWidth.hover\",\n        \"derived\": \"--now-container-card--actionable--border-width\"\n    },\n    \"--now-container-card--actionable--border-width--selected\": {\n        \"name\": \"containerCard.actionable.borderWidth.selected\",\n        \"derived\": \"--now-container-card--actionable--border-width\"\n    },\n    \"--now-container-card--background-color\": {\n        \"name\": \"containerCard.backgroundColor\",\n        \"derived\": \"--now-container--color\"\n    },\n    \"--now-container-card--background-color-alpha\": {\n        \"name\": \"containerCard.backgroundColorAlpha\",\n        \"initial\": \"1\"\n    },\n    \"--now-container-card--border-color\": {\n        \"name\": \"containerCard.borderColor\",\n        \"derived\": \"--now-container--border-color\"\n    },\n    \"--now-container-card--border-radius\": {\n        \"name\": \"containerCard.borderRadius\",\n        \"derived\": \"--now-container--border-radius\"\n    },\n    \"--now-container-card--border-width\": {\n        \"name\": \"containerCard.borderWidth\",\n        \"derived\": \"--now-container--border-width\"\n    },\n    \"--now-container-card--font-family\": {\n        \"name\": \"containerCard.fontFamily\",\n        \"derived\": \"--now-container--font-family\"\n    },\n    \"--now-container-card--font-style\": {\n        \"name\": \"containerCard.fontStyle\",\n        \"derived\": \"--now-container--font-style\"\n    },\n    \"--now-container-card--font-weight\": {\n        \"name\": \"containerCard.fontWeight\",\n        \"derived\": \"--now-container--font-weight\"\n    },\n    \"--now-container-card--primary_actionable--background-color\": {\n        \"name\": \"containerCard.primary.actionable.backgroundColor\",\n        \"derived\": \"--now-color_background--primary\"\n    },\n    \"--now-container-card--primary_actionable--background-color--active\": {\n        \"name\": \"containerCard.primary.actionable.backgroundColor.active\",\n        \"derived\": \"--now-container-card--primary_actionable--background-color\"\n    },\n    \"--now-container-card--primary_actionable--background-color--hover\": {\n        \"name\": \"containerCard.primary.actionable.backgroundColor.hover\",\n        \"derived\": \"--now-container-card--primary_actionable--background-color\"\n    },\n    \"--now-container-card--primary_actionable--background-color--selected\": {\n        \"name\": \"containerCard.primary.actionable.backgroundColor.selected\",\n        \"derived\": \"--now-container-card--primary_actionable--background-color\"\n    },\n    \"--now-container-card--primary_actionable--border-color\": {\n        \"name\": \"containerCard.primary.actionable.borderColor\",\n        \"derived\": \"--now-color_border--tertiary\"\n    },\n    \"--now-container-card--primary_actionable--border-color--active\": {\n        \"name\": \"containerCard.primary.actionable.borderColor.active\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-container-card--primary_actionable--border-color--hover\": {\n        \"name\": \"containerCard.primary.actionable.borderColor.hover\",\n        \"derived\": \"--now-color_border--secondary\"\n    },\n    \"--now-container-card--primary_actionable--border-color--selected\": {\n        \"name\": \"containerCard.primary.actionable.borderColor.selected\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-container-card--primary_actionable--border-radius\": {\n        \"name\": \"containerCard.primary.actionable.borderRadius\",\n        \"derived\": \"--now-container-card--actionable--border-radius\"\n    },\n    \"--now-container-card--primary_actionable--border-width\": {\n        \"name\": \"containerCard.primary.actionable.borderWidth\",\n        \"derived\": \"--now-container-card--actionable--border-width\"\n    },\n    \"--now-container-card--primary_actionable--border-width--active\": {\n        \"name\": \"containerCard.primary.actionable.borderWidth.active\",\n        \"derived\": \"--now-container-card--actionable--border-width--active\"\n    },\n    \"--now-container-card--primary_actionable--border-width--hover\": {\n        \"name\": \"containerCard.primary.actionable.borderWidth.hover\",\n        \"derived\": \"--now-container-card--actionable--border-width--hover\"\n    },\n    \"--now-container-card--primary_actionable--border-width--selected\": {\n        \"name\": \"containerCard.primary.actionable.borderWidth.selected\",\n        \"derived\": \"--now-container-card--actionable--border-width--selected\"\n    },\n    \"--now-container-card--primary--background-color\": {\n        \"name\": \"containerCard.primary.backgroundColor\",\n        \"derived\": \"--now-color_background--primary\"\n    },\n    \"--now-container-card--primary--border-color\": {\n        \"name\": \"containerCard.primary.borderColor\",\n        \"derived\": \"--now-color_border--tertiary\"\n    },\n    \"--now-container-card--primary--border-radius\": {\n        \"name\": \"containerCard.primary.borderRadius\",\n        \"derived\": \"--now-container-card--border-radius\"\n    },\n    \"--now-container-card--primary--border-width\": {\n        \"name\": \"containerCard.primary.borderWidth\",\n        \"derived\": \"--now-container-card--border-width\"\n    },\n    \"--now-container-card--primary--color\": {\n        \"name\": \"containerCard.primary.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-container-card--secondary--color\": {\n        \"name\": \"containerCard.secondary.color\",\n        \"derived\": \"--now-color_text--secondary\"\n    },\n    \"--now-container-card--tertiary--color\": {\n        \"name\": \"containerCard.tertiary.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-container-card--text-transform\": {\n        \"name\": \"containerCard.textTransform\",\n        \"derived\": \"--now-container--text-transform\"\n    },\n    \"--now-display-type--body_label--color\": {\n        \"name\": \"displayType.body.label.color\",\n        \"derived\": \"--now-display-type_label--color\"\n    },\n    \"--now-display-type--body_label--font-family\": {\n        \"name\": \"displayType.body.label.fontFamily\",\n        \"derived\": \"--now-display-type_label--font-family\"\n    },\n    \"--now-display-type--body_label--font-style\": {\n        \"name\": \"displayType.body.label.fontStyle\",\n        \"derived\": \"--now-display-type_label--font-style\"\n    },\n    \"--now-display-type--body_label--font-weight\": {\n        \"name\": \"displayType.body.label.fontWeight\",\n        \"derived\": \"--now-display-type_label--font-weight\"\n    },\n    \"--now-display-type--body_label--text-transform\": {\n        \"name\": \"displayType.body.label.textTransform\",\n        \"derived\": \"--now-display-type_label--text-transform\"\n    },\n    \"--now-display-type--body_previous_delimiter--font-weight\": {\n        \"name\": \"displayType.body.previous.delimiter.fontWeight\",\n        \"initial\": \"600\"\n    },\n    \"--now-display-type--body_previous--color\": {\n        \"name\": \"displayType.body.previous.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-display-type--body_previous--font-style\": {\n        \"name\": \"displayType.body.previous.fontStyle\",\n        \"initial\": \"italic\"\n    },\n    \"--now-display-type--body_previous--font-weight\": {\n        \"name\": \"displayType.body.previous.fontWeight\",\n        \"initial\": \"normal\"\n    },\n    \"--now-display-type--body_previous--text-decoration\": {\n        \"name\": \"displayType.body.previous.textDecoration\",\n        \"initial\": \"line-through\"\n    },\n    \"--now-display-type--body_previous--text-transform\": {\n        \"name\": \"displayType.body.previous.textTransform\",\n        \"derived\": \"--now-display-type_value--text-transform\"\n    },\n    \"--now-display-type--body_value--color\": {\n        \"name\": \"displayType.body.value.color\",\n        \"derived\": \"--now-display-type_value--color\"\n    },\n    \"--now-display-type--body_value--font-family\": {\n        \"name\": \"displayType.body.value.fontFamily\",\n        \"derived\": \"--now-display-type_value--font-family\"\n    },\n    \"--now-display-type--body_value--font-style\": {\n        \"name\": \"displayType.body.value.fontStyle\",\n        \"derived\": \"--now-display-type_value--font-style\"\n    },\n    \"--now-display-type--body_value--font-weight\": {\n        \"name\": \"displayType.body.value.fontWeight\",\n        \"derived\": \"--now-display-type_value--font-weight\"\n    },\n    \"--now-display-type--body_value--text-transform\": {\n        \"name\": \"displayType.body.value.textTransform\",\n        \"derived\": \"--now-display-type_value--text-transform\"\n    },\n    \"--now-display-type--body-inline_label--color\": {\n        \"name\": \"displayType.bodyInline.label.color\",\n        \"derived\": \"--now-display-type--body-inline--color\"\n    },\n    \"--now-display-type--body-inline_label--font-family\": {\n        \"name\": \"displayType.bodyInline.label.fontFamily\",\n        \"derived\": \"--now-display-type--body_label--font-family\"\n    },\n    \"--now-display-type--body-inline_label--font-style\": {\n        \"name\": \"displayType.bodyInline.label.fontStyle\",\n        \"derived\": \"--now-display-type--body_label--font-style\"\n    },\n    \"--now-display-type--body-inline_label--font-weight\": {\n        \"name\": \"displayType.bodyInline.label.fontWeight\",\n        \"derived\": \"--now-display-type--body_label--font-weight\"\n    },\n    \"--now-display-type--body-inline_label--text-transform\": {\n        \"name\": \"displayType.bodyInline.label.textTransform\",\n        \"derived\": \"--now-display-type--body_label--text-transform\"\n    },\n    \"--now-display-type--body-inline_previous--color\": {\n        \"name\": \"displayType.bodyInline.previous.color\",\n        \"derived\": \"--now-display-type--body_previous--color\"\n    },\n    \"--now-display-type--body-inline_previous--font-style\": {\n        \"name\": \"displayType.bodyInline.previous.fontStyle\",\n        \"derived\": \"--now-display-type--body_previous--font-style\"\n    },\n    \"--now-display-type--body-inline_previous--font-weight\": {\n        \"name\": \"displayType.bodyInline.previous.fontWeight\",\n        \"derived\": \"--now-display-type--body_previous--font-weight\"\n    },\n    \"--now-display-type--body-inline_previous--text-decoration\": {\n        \"name\": \"displayType.bodyInline.previous.textDecoration\",\n        \"derived\": \"--now-display-type--body_previous--text-decoration\"\n    },\n    \"--now-display-type--body-inline_previous--text-transform\": {\n        \"name\": \"displayType.bodyInline.previous.textTransform\",\n        \"derived\": \"--now-display-type--body_previous--text-transform\"\n    },\n    \"--now-display-type--body-inline_value--color\": {\n        \"name\": \"displayType.bodyInline.value.color\",\n        \"derived\": \"--now-display-type--body-inline--color\"\n    },\n    \"--now-display-type--body-inline_value--font-family\": {\n        \"name\": \"displayType.bodyInline.value.fontFamily\",\n        \"derived\": \"--now-display-type--body_value--font-family\"\n    },\n    \"--now-display-type--body-inline_value--font-style\": {\n        \"name\": \"displayType.bodyInline.value.fontStyle\",\n        \"derived\": \"--now-display-type--body_value--font-style\"\n    },\n    \"--now-display-type--body-inline_value--font-weight\": {\n        \"name\": \"displayType.bodyInline.value.fontWeight\",\n        \"derived\": \"--now-display-type--body_value--font-weight\"\n    },\n    \"--now-display-type--body-inline_value--text-transform\": {\n        \"name\": \"displayType.bodyInline.value.textTransform\",\n        \"derived\": \"--now-display-type--body_value--text-transform\"\n    },\n    \"--now-display-type--body-inline--color\": {\n        \"name\": \"displayType.bodyInline.color\",\n        \"derived\": \"--now-display-type--body_label--color\"\n    },\n    \"--now-display-type--body-stacked_label--color\": {\n        \"name\": \"displayType.bodyStacked.label.color\",\n        \"derived\": \"--now-display-type--body_label--color\"\n    },\n    \"--now-display-type--body-stacked_label--font-family\": {\n        \"name\": \"displayType.bodyStacked.label.fontFamily\",\n        \"derived\": \"--now-display-type--body_label--font-family\"\n    },\n    \"--now-display-type--body-stacked_label--font-style\": {\n        \"name\": \"displayType.bodyStacked.label.fontStyle\",\n        \"derived\": \"--now-display-type--body_label--font-style\"\n    },\n    \"--now-display-type--body-stacked_label--font-weight\": {\n        \"name\": \"displayType.bodyStacked.label.fontWeight\",\n        \"derived\": \"--now-display-type--body_label--font-weight\"\n    },\n    \"--now-display-type--body-stacked_label--text-transform\": {\n        \"name\": \"displayType.bodyStacked.label.textTransform\",\n        \"derived\": \"--now-display-type--body_label--text-transform\"\n    },\n    \"--now-display-type--body-stacked_previous--color\": {\n        \"name\": \"displayType.bodyStacked.previous.color\",\n        \"derived\": \"--now-display-type--body_previous--color\"\n    },\n    \"--now-display-type--body-stacked_previous--font-style\": {\n        \"name\": \"displayType.bodyStacked.previous.fontStyle\",\n        \"derived\": \"--now-display-type--body_previous--font-style\"\n    },\n    \"--now-display-type--body-stacked_previous--font-weight\": {\n        \"name\": \"displayType.bodyStacked.previous.fontWeight\",\n        \"derived\": \"--now-display-type--body_previous--font-weight\"\n    },\n    \"--now-display-type--body-stacked_previous--text-decoration\": {\n        \"name\": \"displayType.bodyStacked.previous.textDecoration\",\n        \"derived\": \"--now-display-type--body_previous--text-decoration\"\n    },\n    \"--now-display-type--body-stacked_previous--text-transform\": {\n        \"name\": \"displayType.bodyStacked.previous.textTransform\",\n        \"derived\": \"--now-display-type--body_previous--text-transform\"\n    },\n    \"--now-display-type--body-stacked_value--color\": {\n        \"name\": \"displayType.bodyStacked.value.color\",\n        \"derived\": \"--now-display-type--body_value--color\"\n    },\n    \"--now-display-type--body-stacked_value--font-family\": {\n        \"name\": \"displayType.bodyStacked.value.fontFamily\",\n        \"derived\": \"--now-display-type--body_value--font-family\"\n    },\n    \"--now-display-type--body-stacked_value--font-style\": {\n        \"name\": \"displayType.bodyStacked.value.fontStyle\",\n        \"derived\": \"--now-display-type--body_value--font-style\"\n    },\n    \"--now-display-type--body-stacked_value--font-weight\": {\n        \"name\": \"displayType.bodyStacked.value.fontWeight\",\n        \"derived\": \"--now-display-type--body_value--font-weight\"\n    },\n    \"--now-display-type--body-stacked_value--text-transform\": {\n        \"name\": \"displayType.bodyStacked.value.textTransform\",\n        \"derived\": \"--now-display-type--body_value--text-transform\"\n    },\n    \"--now-display-type--body-tabbed_label--color\": {\n        \"name\": \"displayType.bodyTabbed.label.color\",\n        \"derived\": \"--now-display-type--body_label--color\"\n    },\n    \"--now-display-type--body-tabbed_label--font-family\": {\n        \"name\": \"displayType.bodyTabbed.label.fontFamily\",\n        \"derived\": \"--now-display-type--body_label--font-family\"\n    },\n    \"--now-display-type--body-tabbed_label--font-style\": {\n        \"name\": \"displayType.bodyTabbed.label.fontStyle\",\n        \"derived\": \"--now-display-type--body_label--font-style\"\n    },\n    \"--now-display-type--body-tabbed_label--font-weight\": {\n        \"name\": \"displayType.bodyTabbed.label.fontWeight\",\n        \"derived\": \"--now-display-type--body_label--font-weight\"\n    },\n    \"--now-display-type--body-tabbed_label--text-transform\": {\n        \"name\": \"displayType.bodyTabbed.label.textTransform\",\n        \"derived\": \"--now-display-type--body_label--text-transform\"\n    },\n    \"--now-display-type--body-tabbed_previous--color\": {\n        \"name\": \"displayType.bodyTabbed.previous.color\",\n        \"derived\": \"--now-display-type--body_previous--color\"\n    },\n    \"--now-display-type--body-tabbed_previous--font-style\": {\n        \"name\": \"displayType.bodyTabbed.previous.fontStyle\",\n        \"derived\": \"--now-display-type--body_previous--font-style\"\n    },\n    \"--now-display-type--body-tabbed_previous--font-weight\": {\n        \"name\": \"displayType.bodyTabbed.previous.fontWeight\",\n        \"derived\": \"--now-display-type--body_previous--font-weight\"\n    },\n    \"--now-display-type--body-tabbed_previous--text-decoration\": {\n        \"name\": \"displayType.bodyTabbed.previous.textDecoration\",\n        \"derived\": \"--now-display-type--body_previous--text-decoration\"\n    },\n    \"--now-display-type--body-tabbed_previous--text-transform\": {\n        \"name\": \"displayType.bodyTabbed.previous.textTransform\",\n        \"derived\": \"--now-display-type--body_previous--text-transform\"\n    },\n    \"--now-display-type--body-tabbed_value--color\": {\n        \"name\": \"displayType.bodyTabbed.value.color\",\n        \"derived\": \"--now-display-type--body_value--color\"\n    },\n    \"--now-display-type--body-tabbed_value--font-family\": {\n        \"name\": \"displayType.bodyTabbed.value.fontFamily\",\n        \"derived\": \"--now-display-type--body_value--font-family\"\n    },\n    \"--now-display-type--body-tabbed_value--font-style\": {\n        \"name\": \"displayType.bodyTabbed.value.fontStyle\",\n        \"derived\": \"--now-display-type--body_value--font-style\"\n    },\n    \"--now-display-type--body-tabbed_value--font-weight\": {\n        \"name\": \"displayType.bodyTabbed.value.fontWeight\",\n        \"derived\": \"--now-display-type--body_value--font-weight\"\n    },\n    \"--now-display-type--body-tabbed_value--text-transform\": {\n        \"name\": \"displayType.bodyTabbed.value.textTransform\",\n        \"derived\": \"--now-display-type--body_value--text-transform\"\n    },\n    \"--now-display-type--head-primary--color\": {\n        \"name\": \"displayType.headPrimary.color\",\n        \"derived\": \"--now-display-type--secondary--color\"\n    },\n    \"--now-display-type--head-primary--font-family\": {\n        \"name\": \"displayType.headPrimary.fontFamily\",\n        \"derived\": \"--now-display-type--header-primary--font-family\"\n    },\n    \"--now-display-type--head-primary--font-style\": {\n        \"name\": \"displayType.headPrimary.fontStyle\",\n        \"derived\": \"--now-display-type--header-primary--font-style\"\n    },\n    \"--now-display-type--head-primary--font-weight\": {\n        \"name\": \"displayType.headPrimary.fontWeight\",\n        \"derived\": \"--now-display-type--header-primary--font-weight\"\n    },\n    \"--now-display-type--head-primary--text-transform\": {\n        \"name\": \"displayType.headPrimary.textTransform\",\n        \"derived\": \"--now-display-type--header-primary--text-transform\"\n    },\n    \"--now-display-type--head-secondary--color\": {\n        \"name\": \"displayType.headSecondary.color\",\n        \"derived\": \"--now-display-type--secondary--color\"\n    },\n    \"--now-display-type--head-secondary--font-family\": {\n        \"name\": \"displayType.headSecondary.fontFamily\",\n        \"derived\": \"--now-display-type--header-secondary--font-family\"\n    },\n    \"--now-display-type--head-secondary--font-style\": {\n        \"name\": \"displayType.headSecondary.fontStyle\",\n        \"derived\": \"--now-display-type--header-secondary--font-style\"\n    },\n    \"--now-display-type--head-secondary--font-weight\": {\n        \"name\": \"displayType.headSecondary.fontWeight\",\n        \"derived\": \"--now-display-type--header-secondary--font-weight\"\n    },\n    \"--now-display-type--head-secondary--text-transform\": {\n        \"name\": \"displayType.headSecondary.textTransform\",\n        \"derived\": \"--now-display-type--header-secondary--text-transform\"\n    },\n    \"--now-display-type--head-tertiary--color\": {\n        \"name\": \"displayType.headTertiary.color\",\n        \"derived\": \"--now-display-type--secondary--color\"\n    },\n    \"--now-display-type--head-tertiary--font-family\": {\n        \"name\": \"displayType.headTertiary.fontFamily\",\n        \"derived\": \"--now-display-type--header-tertiary--font-family\"\n    },\n    \"--now-display-type--head-tertiary--font-style\": {\n        \"name\": \"displayType.headTertiary.fontStyle\",\n        \"derived\": \"--now-display-type--header-tertiary--font-style\"\n    },\n    \"--now-display-type--head-tertiary--font-weight\": {\n        \"name\": \"displayType.headTertiary.fontWeight\",\n        \"derived\": \"--now-display-type--header-tertiary--font-weight\"\n    },\n    \"--now-display-type--head-tertiary--text-transform\": {\n        \"name\": \"displayType.headTertiary.textTransform\",\n        \"derived\": \"--now-display-type--header-tertiary--text-transform\"\n    },\n    \"--now-display-type--subhead-primary--color\": {\n        \"name\": \"displayType.subheadPrimary.color\",\n        \"derived\": \"--now-display-type--primary--color\"\n    },\n    \"--now-display-type--subhead-primary--font-family\": {\n        \"name\": \"displayType.subheadPrimary.fontFamily\",\n        \"derived\": \"--now-display-type--title-primary--font-family\"\n    },\n    \"--now-display-type--subhead-primary--font-style\": {\n        \"name\": \"displayType.subheadPrimary.fontStyle\",\n        \"derived\": \"--now-display-type--title-primary--font-style\"\n    },\n    \"--now-display-type--subhead-primary--font-weight\": {\n        \"name\": \"displayType.subheadPrimary.fontWeight\",\n        \"derived\": \"--now-display-type--title-primary--font-weight\"\n    },\n    \"--now-display-type--subhead-primary--text-transform\": {\n        \"name\": \"displayType.subheadPrimary.textTransform\",\n        \"derived\": \"--now-display-type--title-primary--text-transform\"\n    },\n    \"--now-display-type--subhead-secondary--color\": {\n        \"name\": \"displayType.subheadSecondary.color\",\n        \"derived\": \"--now-display-type--secondary--color\"\n    },\n    \"--now-display-type--subhead-secondary--font-family\": {\n        \"name\": \"displayType.subheadSecondary.fontFamily\",\n        \"derived\": \"--now-display-type--title-secondary--font-family\"\n    },\n    \"--now-display-type--subhead-secondary--font-style\": {\n        \"name\": \"displayType.subheadSecondary.fontStyle\",\n        \"derived\": \"--now-display-type--title-secondary--font-style\"\n    },\n    \"--now-display-type--subhead-secondary--font-weight\": {\n        \"name\": \"displayType.subheadSecondary.fontWeight\",\n        \"derived\": \"--now-display-type--title-secondary--font-weight\"\n    },\n    \"--now-display-type--subhead-secondary--text-transform\": {\n        \"name\": \"displayType.subheadSecondary.textTransform\",\n        \"derived\": \"--now-display-type--title-secondary--text-transform\"\n    },\n    \"--now-display-type--subhead-tertiary--color\": {\n        \"name\": \"displayType.subheadTertiary.color\",\n        \"derived\": \"--now-display-type--tertiary--color\"\n    },\n    \"--now-display-type--subhead-tertiary--font-family\": {\n        \"name\": \"displayType.subheadTertiary.fontFamily\",\n        \"derived\": \"--now-display-type--title-tertiary--font-family\"\n    },\n    \"--now-display-type--subhead-tertiary--font-style\": {\n        \"name\": \"displayType.subheadTertiary.fontStyle\",\n        \"derived\": \"--now-display-type--title-tertiary--font-style\"\n    },\n    \"--now-display-type--subhead-tertiary--font-weight\": {\n        \"name\": \"displayType.subheadTertiary.fontWeight\",\n        \"derived\": \"--now-display-type--title-tertiary--font-weight\"\n    },\n    \"--now-display-type--subhead-tertiary--text-transform\": {\n        \"name\": \"displayType.subheadTertiary.textTransform\",\n        \"derived\": \"--now-display-type--title-tertiary--text-transform\"\n    },\n    \"--now-form-control_focus-halo--primary--border-width\": {\n        \"name\": \"formControl.focusHalo.primary.borderWidth\",\n        \"initial\": \"6px\"\n    },\n    \"--now-form-control_focus-halo--primary--color\": {\n        \"name\": \"formControl.focusHalo.primary.color\",\n        \"derived\": \"--now-color--focus-2\"\n    },\n    \"--now-form-control_focus-halo--primary--color--invalid\": {\n        \"name\": \"formControl.focusHalo.primary.color.invalid\",\n        \"derived\": \"--now-color_alert--critical-2\"\n    },\n    \"--now-form-control_focus-halo--secondary--border-width\": {\n        \"name\": \"formControl.focusHalo.secondary.borderWidth\",\n        \"initial\": \"4px\"\n    },\n    \"--now-form-control_focus-halo--secondary--color\": {\n        \"name\": \"formControl.focusHalo.secondary.color\",\n        \"derived\": \"--now-color_background--primary\"\n    },\n    \"--now-form-control_focus-halo--secondary--color--invalid\": {\n        \"name\": \"formControl.focusHalo.secondary.color.invalid\",\n        \"derived\": \"--now-form-control_focus-halo--secondary--color\"\n    },\n    \"--now-form-control_focus-ring--primary--border-width\": {\n        \"name\": \"formControl.focusRing.primary.borderWidth\",\n        \"initial\": \"2px\"\n    },\n    \"--now-form-control_focus-ring--primary--color\": {\n        \"name\": \"formControl.focusRing.primary.color\",\n        \"derived\": \"--now-color--focus-2\"\n    },\n    \"--now-form-control_focus-ring--primary--color--invalid\": {\n        \"name\": \"formControl.focusRing.primary.color.invalid\",\n        \"derived\": \"--now-color_alert--critical-2\"\n    },\n    \"--now-form-control_focus-ring--secondary--border-width\": {\n        \"name\": \"formControl.focusRing.secondary.borderWidth\",\n        \"initial\": \"1px\"\n    },\n    \"--now-form-control_focus-ring--secondary--color\": {\n        \"name\": \"formControl.focusRing.secondary.color\",\n        \"derived\": \"--now-color_background--primary\"\n    },\n    \"--now-form-control_focus-ring--secondary--color--invalid\": {\n        \"name\": \"formControl.focusRing.secondary.color.invalid\",\n        \"derived\": \"--now-form-control_focus-ring--secondary--color\"\n    },\n    \"--now-form-control_handle--background-color\": {\n        \"name\": \"formControl.handle.backgroundColor\",\n        \"derived\": \"--now-color--neutral-0\"\n    },\n    \"--now-form-control_handle--background-color--hover\": {\n        \"name\": \"formControl.handle.backgroundColor.hover\",\n        \"derived\": \"--now-color--neutral-3\"\n    },\n    \"--now-form-control_handle--background-color--selected\": {\n        \"name\": \"formControl.handle.backgroundColor.selected\",\n        \"derived\": \"--now-form-control_handle--background-color\"\n    },\n    \"--now-form-control_handle--background-color--selected_hover\": {\n        \"name\": \"formControl.handle.backgroundColor.selected.hover\",\n        \"derived\": \"--now-form-control_handle--background-color--hover\"\n    },\n    \"--now-form-control_handle--border-color\": {\n        \"name\": \"formControl.handle.borderColor\",\n        \"derived\": \"--now-color_border--primary\"\n    },\n    \"--now-form-control_handle--border-color--hover\": {\n        \"name\": \"formControl.handle.borderColor.hover\",\n        \"derived\": \"--now-form-control_handle--border-color\"\n    },\n    \"--now-form-control_handle--border-color--selected\": {\n        \"name\": \"formControl.handle.borderColor.selected\",\n        \"derived\": \"--now-form-control_handle--border-color\"\n    },\n    \"--now-form-control_handle--border-color--selected_hover\": {\n        \"name\": \"formControl.handle.borderColor.selected.hover\",\n        \"derived\": \"--now-form-control_handle--border-color\"\n    },\n    \"--now-form-control_label_icon--color--invalid\": {\n        \"name\": \"formControl.label.icon.color.invalid\",\n        \"derived\": \"--now-color_alert--critical-3\"\n    },\n    \"--now-form-control_label_icon--color--valid\": {\n        \"name\": \"formControl.label.icon.color.valid\",\n        \"derived\": \"--now-color_alert--positive-3\"\n    },\n    \"--now-form-control_label_icon--critical--color\": {\n        \"name\": \"formControl.label.icon.critical.color\",\n        \"derived\": \"--now-color_alert--critical-2\"\n    },\n    \"--now-form-control_label_icon--primary--color\": {\n        \"name\": \"formControl.label.icon.primary.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-form-control_label_icon--secondary--color\": {\n        \"name\": \"formControl.label.icon.secondary.color\",\n        \"derived\": \"--now-color_text--secondary\"\n    },\n    \"--now-form-control_label_icon--tertiary--color\": {\n        \"name\": \"formControl.label.icon.tertiary.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-form-control_label_icon--warning--color\": {\n        \"name\": \"formControl.label.icon.warning.color\",\n        \"derived\": \"--now-color_alert--high-3\"\n    },\n    \"--now-form-control_label--color--invalid\": {\n        \"name\": \"formControl.label.color.invalid\",\n        \"derived\": \"--now-color_alert--critical-3\"\n    },\n    \"--now-form-control_label--color--valid\": {\n        \"name\": \"formControl.label.color.valid\",\n        \"derived\": \"--now-color_alert--positive-3\"\n    },\n    \"--now-form-control_label--critical--color\": {\n        \"name\": \"formControl.label.critical.color\",\n        \"derived\": \"--now-color_alert--critical-2\"\n    },\n    \"--now-form-control_label--critical--font-family\": {\n        \"name\": \"formControl.label.critical.fontFamily\",\n        \"derived\": \"--now-form-control_label--font-family\"\n    },\n    \"--now-form-control_label--critical--font-style\": {\n        \"name\": \"formControl.label.critical.fontStyle\",\n        \"derived\": \"--now-form-control_label--font-style\"\n    },\n    \"--now-form-control_label--critical--font-weight\": {\n        \"name\": \"formControl.label.critical.fontWeight\",\n        \"derived\": \"--now-form-control_label--font-weight\"\n    },\n    \"--now-form-control_label--critical--text-transform\": {\n        \"name\": \"formControl.label.critical.textTransform\",\n        \"derived\": \"--now-form-control_label--text-transform\"\n    },\n    \"--now-form-control_label--font-family\": {\n        \"name\": \"formControl.label.fontFamily\",\n        \"derived\": \"--now-form-control--font-family\"\n    },\n    \"--now-form-control_label--font-family--invalid\": {\n        \"name\": \"formControl.label.fontFamily.invalid\",\n        \"derived\": \"--now-form-control_label--font-family\"\n    },\n    \"--now-form-control_label--font-family--valid\": {\n        \"name\": \"formControl.label.fontFamily.valid\",\n        \"derived\": \"--now-form-control_label--font-family\"\n    },\n    \"--now-form-control_label--font-style\": {\n        \"name\": \"formControl.label.fontStyle\",\n        \"derived\": \"--now-form-control--font-style\"\n    },\n    \"--now-form-control_label--font-style--invalid\": {\n        \"name\": \"formControl.label.fontStyle.invalid\",\n        \"derived\": \"--now-form-control_label--font-style\"\n    },\n    \"--now-form-control_label--font-style--valid\": {\n        \"name\": \"formControl.label.fontStyle.valid\",\n        \"derived\": \"--now-form-control_label--font-style\"\n    },\n    \"--now-form-control_label--font-weight\": {\n        \"name\": \"formControl.label.fontWeight\",\n        \"derived\": \"--now-form-control--font-weight\"\n    },\n    \"--now-form-control_label--font-weight--invalid\": {\n        \"name\": \"formControl.label.fontWeight.invalid\",\n        \"derived\": \"--now-form-control_label--font-weight\"\n    },\n    \"--now-form-control_label--font-weight--valid\": {\n        \"name\": \"formControl.label.fontWeight.valid\",\n        \"derived\": \"--now-form-control_label--font-weight\"\n    },\n    \"--now-form-control_label--primary--color\": {\n        \"name\": \"formControl.label.primary.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-form-control_label--primary--font-family\": {\n        \"name\": \"formControl.label.primary.fontFamily\",\n        \"derived\": \"--now-form-control_label--font-family\"\n    },\n    \"--now-form-control_label--primary--font-style\": {\n        \"name\": \"formControl.label.primary.fontStyle\",\n        \"derived\": \"--now-form-control_label--font-style\"\n    },\n    \"--now-form-control_label--primary--font-weight\": {\n        \"name\": \"formControl.label.primary.fontWeight\",\n        \"derived\": \"--now-form-control_label--font-weight\"\n    },\n    \"--now-form-control_label--primary--text-transform\": {\n        \"name\": \"formControl.label.primary.textTransform\",\n        \"derived\": \"--now-form-control_label--text-transform\"\n    },\n    \"--now-form-control_label--secondary--color\": {\n        \"name\": \"formControl.label.secondary.color\",\n        \"derived\": \"--now-color_text--secondary\"\n    },\n    \"--now-form-control_label--secondary--font-family\": {\n        \"name\": \"formControl.label.secondary.fontFamily\",\n        \"derived\": \"--now-form-control_label--font-family\"\n    },\n    \"--now-form-control_label--secondary--font-style\": {\n        \"name\": \"formControl.label.secondary.fontStyle\",\n        \"derived\": \"--now-form-control_label--font-style\"\n    },\n    \"--now-form-control_label--secondary--font-weight\": {\n        \"name\": \"formControl.label.secondary.fontWeight\",\n        \"derived\": \"--now-form-control_label--font-weight\"\n    },\n    \"--now-form-control_label--secondary--text-transform\": {\n        \"name\": \"formControl.label.secondary.textTransform\",\n        \"derived\": \"--now-form-control_label--text-transform\"\n    },\n    \"--now-form-control_label--tertiary--color\": {\n        \"name\": \"formControl.label.tertiary.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-form-control_label--tertiary--font-family\": {\n        \"name\": \"formControl.label.tertiary.fontFamily\",\n        \"derived\": \"--now-form-control_label--font-family\"\n    },\n    \"--now-form-control_label--tertiary--font-style\": {\n        \"name\": \"formControl.label.tertiary.fontStyle\",\n        \"derived\": \"--now-form-control_label--font-style\"\n    },\n    \"--now-form-control_label--tertiary--font-weight\": {\n        \"name\": \"formControl.label.tertiary.fontWeight\",\n        \"derived\": \"--now-form-control_label--font-weight\"\n    },\n    \"--now-form-control_label--tertiary--text-transform\": {\n        \"name\": \"formControl.label.tertiary.textTransform\",\n        \"derived\": \"--now-form-control_label--text-transform\"\n    },\n    \"--now-form-control_label--text-transform\": {\n        \"name\": \"formControl.label.textTransform\",\n        \"derived\": \"--now-form-control--text-transform\"\n    },\n    \"--now-form-control_label--text-transform--invalid\": {\n        \"name\": \"formControl.label.textTransform.invalid\",\n        \"derived\": \"--now-form-control_label--text-transform\"\n    },\n    \"--now-form-control_label--text-transform--valid\": {\n        \"name\": \"formControl.label.textTransform.valid\",\n        \"derived\": \"--now-form-control_label--text-transform\"\n    },\n    \"--now-form-control_label--warning--color\": {\n        \"name\": \"formControl.label.warning.color\",\n        \"derived\": \"--now-color_alert--high-3\"\n    },\n    \"--now-form-control_label--warning--font-family\": {\n        \"name\": \"formControl.label.warning.fontFamily\",\n        \"derived\": \"--now-form-control_label--font-family\"\n    },\n    \"--now-form-control_label--warning--font-style\": {\n        \"name\": \"formControl.label.warning.fontStyle\",\n        \"derived\": \"--now-form-control_label--font-style\"\n    },\n    \"--now-form-control_label--warning--font-weight\": {\n        \"name\": \"formControl.label.warning.fontWeight\",\n        \"derived\": \"--now-form-control_label--font-weight\"\n    },\n    \"--now-form-control_label--warning--text-transform\": {\n        \"name\": \"formControl.label.warning.textTransform\",\n        \"derived\": \"--now-form-control_label--text-transform\"\n    },\n    \"--now-form-control_message_icon--critical--color\": {\n        \"name\": \"formControl.message.icon.critical.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-form-control_message_icon--info--color\": {\n        \"name\": \"formControl.message.icon.info.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-form-control_message_icon--positive--color\": {\n        \"name\": \"formControl.message.icon.positive.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-form-control_message_icon--suggestion--color\": {\n        \"name\": \"formControl.message.icon.suggestion.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-form-control_message_icon--warning--color\": {\n        \"name\": \"formControl.message.icon.warning.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-form-control_message--border-radius\": {\n        \"name\": \"formControl.message.borderRadius\",\n        \"initial\": \"2px\"\n    },\n    \"--now-form-control_message--border-width\": {\n        \"name\": \"formControl.message.borderWidth\",\n        \"initial\": \"0px\"\n    },\n    \"--now-form-control_message--critical--background-color\": {\n        \"name\": \"formControl.message.critical.backgroundColor\",\n        \"derived\": \"--now-color_alert--critical-0\"\n    },\n    \"--now-form-control_message--critical--border-color\": {\n        \"name\": \"formControl.message.critical.borderColor\",\n        \"derived\": \"--now-color_alert--critical-1\"\n    },\n    \"--now-form-control_message--critical--color\": {\n        \"name\": \"formControl.message.critical.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-form-control_message--font-family\": {\n        \"name\": \"formControl.message.fontFamily\",\n        \"derived\": \"--now-form-control--font-family\"\n    },\n    \"--now-form-control_message--font-style\": {\n        \"name\": \"formControl.message.fontStyle\",\n        \"derived\": \"--now-form-control--font-style\"\n    },\n    \"--now-form-control_message--font-weight\": {\n        \"name\": \"formControl.message.fontWeight\",\n        \"derived\": \"--now-form-control--font-weight\"\n    },\n    \"--now-form-control_message--info--background-color\": {\n        \"name\": \"formControl.message.info.backgroundColor\",\n        \"derived\": \"--now-color_alert--info-0\"\n    },\n    \"--now-form-control_message--info--border-color\": {\n        \"name\": \"formControl.message.info.borderColor\",\n        \"derived\": \"--now-color_alert--info-1\"\n    },\n    \"--now-form-control_message--info--color\": {\n        \"name\": \"formControl.message.info.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-form-control_message--positive--background-color\": {\n        \"name\": \"formControl.message.positive.backgroundColor\",\n        \"derived\": \"--now-color_alert--positive-0\"\n    },\n    \"--now-form-control_message--positive--border-color\": {\n        \"name\": \"formControl.message.positive.borderColor\",\n        \"derived\": \"--now-color_alert--positive-1\"\n    },\n    \"--now-form-control_message--positive--color\": {\n        \"name\": \"formControl.message.positive.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-form-control_message--primary--background-color-alpha\": {\n        \"name\": \"formControl.message.primary.backgroundColorAlpha\",\n        \"initial\": \"1\"\n    },\n    \"--now-form-control_message--secondary--background-color-alpha\": {\n        \"name\": \"formControl.message.secondary.backgroundColorAlpha\",\n        \"initial\": \"0\"\n    },\n    \"--now-form-control_message--suggestion--background-color\": {\n        \"name\": \"formControl.message.suggestion.backgroundColor\",\n        \"derived\": \"--now-color_background--primary\"\n    },\n    \"--now-form-control_message--suggestion--border-color\": {\n        \"name\": \"formControl.message.suggestion.borderColor\",\n        \"derived\": \"--now-color_border--tertiary\"\n    },\n    \"--now-form-control_message--suggestion--color\": {\n        \"name\": \"formControl.message.suggestion.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-form-control_message--text-transform\": {\n        \"name\": \"formControl.message.textTransform\",\n        \"derived\": \"--now-form-control--text-transform\"\n    },\n    \"--now-form-control_message--warning--background-color\": {\n        \"name\": \"formControl.message.warning.backgroundColor\",\n        \"derived\": \"--now-color_alert--warning-0\"\n    },\n    \"--now-form-control_message--warning--border-color\": {\n        \"name\": \"formControl.message.warning.borderColor\",\n        \"derived\": \"--now-color_alert--warning-1\"\n    },\n    \"--now-form-control_message--warning--color\": {\n        \"name\": \"formControl.message.warning.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-form-control_track--background-color\": {\n        \"name\": \"formControl.track.backgroundColor\",\n        \"derived\": \"--now-color_background--tertiary\"\n    },\n    \"--now-form-control_track--background-color--hover\": {\n        \"name\": \"formControl.track.backgroundColor.hover\",\n        \"derived\": \"--now-form-control_track--background-color\"\n    },\n    \"--now-form-control_track--background-color--selected\": {\n        \"name\": \"formControl.track.backgroundColor.selected\",\n        \"derived\": \"--now-color--interactive-2\"\n    },\n    \"--now-form-control_track--background-color--selected_hover\": {\n        \"name\": \"formControl.track.backgroundColor.selected.hover\",\n        \"derived\": \"--now-form-control_track--background-color--selected\"\n    },\n    \"--now-form-control_track--border-color\": {\n        \"name\": \"formControl.track.borderColor\",\n        \"derived\": \"--now-color_border--primary\"\n    },\n    \"--now-form-control_track--border-color--hover\": {\n        \"name\": \"formControl.track.borderColor.hover\",\n        \"derived\": \"--now-form-control_track--border-color\"\n    },\n    \"--now-form-control_track--border-color--selected\": {\n        \"name\": \"formControl.track.borderColor.selected\",\n        \"derived\": \"--now-color--interactive-4\"\n    },\n    \"--now-form-control_track--border-color--selected_hover\": {\n        \"name\": \"formControl.track.borderColor.selected.hover\",\n        \"derived\": \"--now-form-control_track--border-color--selected\"\n    },\n    \"--now-form-control_value_icon--color--invalid\": {\n        \"name\": \"formControl.value.icon.color.invalid\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-form-control_value_icon--color--invalid_focus\": {\n        \"name\": \"formControl.value.icon.color.invalid.focus\",\n        \"derived\": \"--now-color_alert--critical-3\"\n    },\n    \"--now-form-control_value_icon--color--invalid_hover\": {\n        \"name\": \"formControl.value.icon.color.invalid.hover\",\n        \"derived\": \"--now-form-control_value_icon--color--invalid\"\n    },\n    \"--now-form-control_value_icon--color--readonly\": {\n        \"name\": \"formControl.value.icon.color.readonly\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-form-control_value_icon--placeholder_strong--color\": {\n        \"name\": \"formControl.value.icon.placeholder.strong.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-form-control_value_icon--placeholder_strong--color--focus\": {\n        \"name\": \"formControl.value.icon.placeholder.strong.color.focus\",\n        \"derived\": \"--now-form-control_value_icon--placeholder_strong--color\"\n    },\n    \"--now-form-control_value_icon--placeholder_strong--color--hover\": {\n        \"name\": \"formControl.value.icon.placeholder.strong.color.hover\",\n        \"derived\": \"--now-form-control_value_icon--placeholder_strong--color\"\n    },\n    \"--now-form-control_value_icon--placeholder--color\": {\n        \"name\": \"formControl.value.icon.placeholder.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-form-control_value_icon--placeholder--color--focus\": {\n        \"name\": \"formControl.value.icon.placeholder.color.focus\",\n        \"derived\": \"--now-form-control_value_icon--placeholder--color\"\n    },\n    \"--now-form-control_value_icon--placeholder--color--hover\": {\n        \"name\": \"formControl.value.icon.placeholder.color.hover\",\n        \"derived\": \"--now-form-control_value_icon--placeholder--color\"\n    },\n    \"--now-form-control_value_icon--primary--color\": {\n        \"name\": \"formControl.value.icon.primary.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-form-control_value_icon--primary--color--focus\": {\n        \"name\": \"formControl.value.icon.primary.color.focus\",\n        \"derived\": \"--now-form-control_value_icon--primary--color\"\n    },\n    \"--now-form-control_value_icon--primary--color--hover\": {\n        \"name\": \"formControl.value.icon.primary.color.hover\",\n        \"derived\": \"--now-form-control_value_icon--primary--color\"\n    },\n    \"--now-form-control_value_icon--secondary--color\": {\n        \"name\": \"formControl.value.icon.secondary.color\",\n        \"derived\": \"--now-color_text--secondary\"\n    },\n    \"--now-form-control_value_icon--secondary--color--focus\": {\n        \"name\": \"formControl.value.icon.secondary.color.focus\",\n        \"derived\": \"--now-form-control_value_icon--secondary--color\"\n    },\n    \"--now-form-control_value_icon--secondary--color--hover\": {\n        \"name\": \"formControl.value.icon.secondary.color.hover\",\n        \"derived\": \"--now-form-control_value_icon--secondary--color\"\n    },\n    \"--now-form-control_value_icon--tertiary--color\": {\n        \"name\": \"formControl.value.icon.tertiary.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-form-control_value_icon--tertiary--color--focus\": {\n        \"name\": \"formControl.value.icon.tertiary.color.focus\",\n        \"derived\": \"--now-form-control_value_icon--tertiary--color\"\n    },\n    \"--now-form-control_value_icon--tertiary--color--hover\": {\n        \"name\": \"formControl.value.icon.tertiary.color.hover\",\n        \"derived\": \"--now-form-control_value_icon--tertiary--color\"\n    },\n    \"--now-form-control_value--color--invalid\": {\n        \"name\": \"formControl.value.color.invalid\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-form-control_value--color--invalid_focus\": {\n        \"name\": \"formControl.value.color.invalid.focus\",\n        \"derived\": \"--now-form-control_value--color--invalid\"\n    },\n    \"--now-form-control_value--color--invalid_hover\": {\n        \"name\": \"formControl.value.color.invalid.hover\",\n        \"derived\": \"--now-form-control_value--color--invalid\"\n    },\n    \"--now-form-control_value--color--readonly\": {\n        \"name\": \"formControl.value.color.readonly\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-form-control_value--font-family--invalid\": {\n        \"name\": \"formControl.value.fontFamily.invalid\",\n        \"derived\": \"--now-form-control--font-family\"\n    },\n    \"--now-form-control_value--font-family--readonly\": {\n        \"name\": \"formControl.value.fontFamily.readonly\",\n        \"derived\": \"--now-form-control--font-family\"\n    },\n    \"--now-form-control_value--font-style--invalid\": {\n        \"name\": \"formControl.value.fontStyle.invalid\",\n        \"derived\": \"--now-form-control--font-style\"\n    },\n    \"--now-form-control_value--font-style--readonly\": {\n        \"name\": \"formControl.value.fontStyle.readonly\",\n        \"derived\": \"--now-form-control--font-style\"\n    },\n    \"--now-form-control_value--font-weight--invalid\": {\n        \"name\": \"formControl.value.fontWeight.invalid\",\n        \"derived\": \"--now-form-control--font-weight\"\n    },\n    \"--now-form-control_value--font-weight--readonly\": {\n        \"name\": \"formControl.value.fontWeight.readonly\",\n        \"derived\": \"--now-form-control--font-weight\"\n    },\n    \"--now-form-control_value--placeholder_strong--color\": {\n        \"name\": \"formControl.value.placeholder.strong.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-form-control_value--placeholder_strong--color--focus\": {\n        \"name\": \"formControl.value.placeholder.strong.color.focus\",\n        \"derived\": \"--now-form-control_value--placeholder_strong--color\"\n    },\n    \"--now-form-control_value--placeholder_strong--color--hover\": {\n        \"name\": \"formControl.value.placeholder.strong.color.hover\",\n        \"derived\": \"--now-form-control_value--placeholder_strong--color\"\n    },\n    \"--now-form-control_value--placeholder--color\": {\n        \"name\": \"formControl.value.placeholder.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-form-control_value--placeholder--color--focus\": {\n        \"name\": \"formControl.value.placeholder.color.focus\",\n        \"derived\": \"--now-form-control_value--placeholder--color\"\n    },\n    \"--now-form-control_value--placeholder--color--hover\": {\n        \"name\": \"formControl.value.placeholder.color.hover\",\n        \"derived\": \"--now-form-control_value--placeholder--color\"\n    },\n    \"--now-form-control_value--placeholder--font-family\": {\n        \"name\": \"formControl.value.placeholder.fontFamily\",\n        \"derived\": \"--now-form-control--font-family\"\n    },\n    \"--now-form-control_value--placeholder--font-style\": {\n        \"name\": \"formControl.value.placeholder.fontStyle\",\n        \"derived\": \"--now-form-control--font-style\"\n    },\n    \"--now-form-control_value--placeholder--font-weight\": {\n        \"name\": \"formControl.value.placeholder.fontWeight\",\n        \"derived\": \"--now-form-control--font-weight\"\n    },\n    \"--now-form-control_value--placeholder--text-transform\": {\n        \"name\": \"formControl.value.placeholder.textTransform\",\n        \"derived\": \"--now-form-control--text-transform\"\n    },\n    \"--now-form-control_value--primary--color\": {\n        \"name\": \"formControl.value.primary.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-form-control_value--primary--color--focus\": {\n        \"name\": \"formControl.value.primary.color.focus\",\n        \"derived\": \"--now-form-control_value--primary--color\"\n    },\n    \"--now-form-control_value--primary--color--hover\": {\n        \"name\": \"formControl.value.primary.color.hover\",\n        \"derived\": \"--now-form-control_value--primary--color\"\n    },\n    \"--now-form-control_value--primary--font-family\": {\n        \"name\": \"formControl.value.primary.fontFamily\",\n        \"derived\": \"--now-form-control--font-family\"\n    },\n    \"--now-form-control_value--primary--font-style\": {\n        \"name\": \"formControl.value.primary.fontStyle\",\n        \"derived\": \"--now-form-control--font-style\"\n    },\n    \"--now-form-control_value--primary--font-weight\": {\n        \"name\": \"formControl.value.primary.fontWeight\",\n        \"derived\": \"--now-form-control--font-weight\"\n    },\n    \"--now-form-control_value--primary--text-transform\": {\n        \"name\": \"formControl.value.primary.textTransform\",\n        \"derived\": \"--now-form-control--text-transform\"\n    },\n    \"--now-form-control_value--secondary--color\": {\n        \"name\": \"formControl.value.secondary.color\",\n        \"derived\": \"--now-color_text--secondary\"\n    },\n    \"--now-form-control_value--secondary--color--focus\": {\n        \"name\": \"formControl.value.secondary.color.focus\",\n        \"derived\": \"--now-form-control_value--secondary--color\"\n    },\n    \"--now-form-control_value--secondary--color--hover\": {\n        \"name\": \"formControl.value.secondary.color.hover\",\n        \"derived\": \"--now-form-control_value--secondary--color\"\n    },\n    \"--now-form-control_value--secondary--font-family\": {\n        \"name\": \"formControl.value.secondary.fontFamily\",\n        \"derived\": \"--now-form-control--font-family\"\n    },\n    \"--now-form-control_value--secondary--font-style\": {\n        \"name\": \"formControl.value.secondary.fontStyle\",\n        \"derived\": \"--now-form-control--font-style\"\n    },\n    \"--now-form-control_value--secondary--font-weight\": {\n        \"name\": \"formControl.value.secondary.fontWeight\",\n        \"derived\": \"--now-form-control--font-weight\"\n    },\n    \"--now-form-control_value--secondary--text-transform\": {\n        \"name\": \"formControl.value.secondary.textTransform\",\n        \"derived\": \"--now-form-control--text-transform\"\n    },\n    \"--now-form-control_value--selection--background-color\": {\n        \"name\": \"formControl.value.selection.backgroundColor\",\n        \"derived\": \"--now-color--focus-1\"\n    },\n    \"--now-form-control_value--selection--color\": {\n        \"name\": \"formControl.value.selection.color\",\n        \"derived\": \"--now-form-control_value--primary--color\"\n    },\n    \"--now-form-control_value--tertiary--color\": {\n        \"name\": \"formControl.value.tertiary.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-form-control_value--tertiary--color--focus\": {\n        \"name\": \"formControl.value.tertiary.color.focus\",\n        \"derived\": \"--now-form-control_value--tertiary--color\"\n    },\n    \"--now-form-control_value--tertiary--color--hover\": {\n        \"name\": \"formControl.value.tertiary.color.hover\",\n        \"derived\": \"--now-form-control_value--tertiary--color\"\n    },\n    \"--now-form-control_value--tertiary--font-family\": {\n        \"name\": \"formControl.value.tertiary.fontFamily\",\n        \"derived\": \"--now-form-control--font-family\"\n    },\n    \"--now-form-control_value--tertiary--font-style\": {\n        \"name\": \"formControl.value.tertiary.fontStyle\",\n        \"derived\": \"--now-form-control--font-style\"\n    },\n    \"--now-form-control_value--tertiary--font-weight\": {\n        \"name\": \"formControl.value.tertiary.fontWeight\",\n        \"derived\": \"--now-form-control--font-weight\"\n    },\n    \"--now-form-control_value--tertiary--text-transform\": {\n        \"name\": \"formControl.value.tertiary.textTransform\",\n        \"derived\": \"--now-form-control--text-transform\"\n    },\n    \"--now-form-control_value--text-transform--invalid\": {\n        \"name\": \"formControl.value.textTransform.invalid\",\n        \"derived\": \"--now-form-control--text-transform\"\n    },\n    \"--now-form-control_value--text-transform--readonly\": {\n        \"name\": \"formControl.value.textTransform.readonly\",\n        \"derived\": \"--now-form-control--text-transform\"\n    },\n    \"--now-form-control--opacity--disabled\": {\n        \"name\": \"formControl.opacity.disabled\",\n        \"initial\": \"0.25\"\n    },\n    \"--now-form-control-input_inner-shadow--color-alpha\": {\n        \"name\": \"formControlInput.innerShadow.colorAlpha\",\n        \"initial\": \"0.1\"\n    },\n    \"--now-form-control-input_inner-shadow--info--color\": {\n        \"name\": \"formControlInput.innerShadow.info.color\",\n        \"derived\": \"--now-color--neutral-18\"\n    },\n    \"--now-form-control-input_inner-shadow--info--color--focus\": {\n        \"name\": \"formControlInput.innerShadow.info.color.focus\",\n        \"derived\": \"--now-form-control-input_inner-shadow--info--color\"\n    },\n    \"--now-form-control-input_inner-shadow--info--color--hover\": {\n        \"name\": \"formControlInput.innerShadow.info.color.hover\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-form-control-input_inner-shadow--info--color--invalid\": {\n        \"name\": \"formControlInput.innerShadow.info.color.invalid\",\n        \"derived\": \"--now-form-control-input_inner-shadow--info--color\"\n    },\n    \"--now-form-control-input_inner-shadow--info--color--invalid_focus\": {\n        \"name\": \"formControlInput.innerShadow.info.color.invalid.focus\",\n        \"derived\": \"--now-form-control-input_inner-shadow--info--color--invalid\"\n    },\n    \"--now-form-control-input_inner-shadow--info--color--invalid_hover\": {\n        \"name\": \"formControlInput.innerShadow.info.color.invalid.hover\",\n        \"derived\": \"--now-color_alert--critical-5\"\n    },\n    \"--now-form-control-input_inner-shadow--positive--color\": {\n        \"name\": \"formControlInput.innerShadow.positive.color\",\n        \"derived\": \"--now-color--neutral-18\"\n    },\n    \"--now-form-control-input_inner-shadow--positive--color--focus\": {\n        \"name\": \"formControlInput.innerShadow.positive.color.focus\",\n        \"derived\": \"--now-form-control-input_inner-shadow--positive--color\"\n    },\n    \"--now-form-control-input_inner-shadow--positive--color--hover\": {\n        \"name\": \"formControlInput.innerShadow.positive.color.hover\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-form-control-input_inner-shadow--positive--color--invalid\": {\n        \"name\": \"formControlInput.innerShadow.positive.color.invalid\",\n        \"derived\": \"--now-form-control-input_inner-shadow--positive--color\"\n    },\n    \"--now-form-control-input_inner-shadow--positive--color--invalid_focus\": {\n        \"name\": \"formControlInput.innerShadow.positive.color.invalid.focus\",\n        \"derived\": \"--now-form-control-input_inner-shadow--positive--color--invalid\"\n    },\n    \"--now-form-control-input_inner-shadow--positive--color--invalid_hover\": {\n        \"name\": \"formControlInput.innerShadow.positive.color.invalid.hover\",\n        \"derived\": \"--now-color_alert--critical-5\"\n    },\n    \"--now-form-control-input_inner-shadow--primary--color\": {\n        \"name\": \"formControlInput.innerShadow.primary.color\",\n        \"derived\": \"--now-color--neutral-18\"\n    },\n    \"--now-form-control-input_inner-shadow--primary--color--focus\": {\n        \"name\": \"formControlInput.innerShadow.primary.color.focus\",\n        \"derived\": \"--now-form-control-input_inner-shadow--primary--color\"\n    },\n    \"--now-form-control-input_inner-shadow--primary--color--hover\": {\n        \"name\": \"formControlInput.innerShadow.primary.color.hover\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-form-control-input_inner-shadow--primary--color--invalid\": {\n        \"name\": \"formControlInput.innerShadow.primary.color.invalid\",\n        \"derived\": \"--now-form-control-input_inner-shadow--primary--color\"\n    },\n    \"--now-form-control-input_inner-shadow--primary--color--invalid_focus\": {\n        \"name\": \"formControlInput.innerShadow.primary.color.invalid.focus\",\n        \"derived\": \"--now-form-control-input_inner-shadow--primary--color--invalid\"\n    },\n    \"--now-form-control-input_inner-shadow--primary--color--invalid_hover\": {\n        \"name\": \"formControlInput.innerShadow.primary.color.invalid.hover\",\n        \"derived\": \"--now-color_alert--critical-5\"\n    },\n    \"--now-form-control-input_inner-shadow--primary--color--opened\": {\n        \"name\": \"formControlInput.innerShadow.primary.color.opened\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-form-control-input_inner-shadow--warning--color\": {\n        \"name\": \"formControlInput.innerShadow.warning.color\",\n        \"derived\": \"--now-color--neutral-18\"\n    },\n    \"--now-form-control-input_inner-shadow--warning--color--focus\": {\n        \"name\": \"formControlInput.innerShadow.warning.color.focus\",\n        \"derived\": \"--now-form-control-input_inner-shadow--warning--color\"\n    },\n    \"--now-form-control-input_inner-shadow--warning--color--hover\": {\n        \"name\": \"formControlInput.innerShadow.warning.color.hover\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-form-control-input_inner-shadow--warning--color--invalid\": {\n        \"name\": \"formControlInput.innerShadow.warning.color.invalid\",\n        \"derived\": \"--now-form-control-input_inner-shadow--warning--color\"\n    },\n    \"--now-form-control-input_inner-shadow--warning--color--invalid_focus\": {\n        \"name\": \"formControlInput.innerShadow.warning.color.invalid.focus\",\n        \"derived\": \"--now-form-control-input_inner-shadow--warning--color--invalid\"\n    },\n    \"--now-form-control-input_inner-shadow--warning--color--invalid_hover\": {\n        \"name\": \"formControlInput.innerShadow.warning.color.invalid.hover\",\n        \"derived\": \"--now-color_alert--critical-5\"\n    },\n    \"--now-form-control-input_trigger--primary--color\": {\n        \"name\": \"formControlInput.trigger.primary.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-form-control-input_trigger--primary--color--focus\": {\n        \"name\": \"formControlInput.trigger.primary.color.focus\",\n        \"derived\": \"--now-form-control-input_trigger--primary--color\"\n    },\n    \"--now-form-control-input_trigger--primary--color--hover\": {\n        \"name\": \"formControlInput.trigger.primary.color.hover\",\n        \"derived\": \"--now-form-control-input_trigger--primary--color\"\n    },\n    \"--now-form-control-input_trigger--primary--color--invalid\": {\n        \"name\": \"formControlInput.trigger.primary.color.invalid\",\n        \"derived\": \"--now-form-control-input_trigger--primary--color\"\n    },\n    \"--now-form-control-input_trigger--primary--color--invalid_focus\": {\n        \"name\": \"formControlInput.trigger.primary.color.invalid.focus\",\n        \"derived\": \"--now-form-control-input_trigger--primary--color--invalid\"\n    },\n    \"--now-form-control-input_trigger--primary--color--invalid_hover\": {\n        \"name\": \"formControlInput.trigger.primary.color.invalid.hover\",\n        \"derived\": \"--now-form-control-input_trigger--primary--color--invalid\"\n    },\n    \"--now-form-control-input_trigger--primary--color--opened\": {\n        \"name\": \"formControlInput.trigger.primary.color.opened\",\n        \"derived\": \"--now-form-control-input_trigger--primary--color\"\n    },\n    \"--now-form-control-input_trigger--primary--color--readonly\": {\n        \"name\": \"formControlInput.trigger.primary.color.readonly\",\n        \"derived\": \"--now-form-control-input_trigger--primary--color\"\n    },\n    \"--now-form-control-input--background-color-alpha\": {\n        \"name\": \"formControlInput.backgroundColorAlpha\",\n        \"initial\": \"1\"\n    },\n    \"--now-form-control-input--info--background-color\": {\n        \"name\": \"formControlInput.info.backgroundColor\",\n        \"derived\": \"--now-color_grouped--blue-0\"\n    },\n    \"--now-form-control-input--info--background-color--focus\": {\n        \"name\": \"formControlInput.info.backgroundColor.focus\",\n        \"derived\": \"--now-form-control-input--info--background-color\"\n    },\n    \"--now-form-control-input--info--background-color--hover\": {\n        \"name\": \"formControlInput.info.backgroundColor.hover\",\n        \"derived\": \"--now-color--primary-0\"\n    },\n    \"--now-form-control-input--info--background-color--invalid\": {\n        \"name\": \"formControlInput.info.backgroundColor.invalid\",\n        \"derived\": \"--now-form-control-input--info--background-color\"\n    },\n    \"--now-form-control-input--info--background-color--invalid_focus\": {\n        \"name\": \"formControlInput.info.backgroundColor.invalid.focus\",\n        \"derived\": \"--now-form-control-input--info--background-color--invalid\"\n    },\n    \"--now-form-control-input--info--background-color--invalid_hover\": {\n        \"name\": \"formControlInput.info.backgroundColor.invalid.hover\",\n        \"derived\": \"--now-color_alert--critical-0\"\n    },\n    \"--now-form-control-input--info--border-color\": {\n        \"name\": \"formControlInput.info.borderColor\",\n        \"derived\": \"--now-color_border--primary\"\n    },\n    \"--now-form-control-input--info--border-color--focus\": {\n        \"name\": \"formControlInput.info.borderColor.focus\",\n        \"derived\": \"--now-color--focus-2\"\n    },\n    \"--now-form-control-input--info--border-color--hover\": {\n        \"name\": \"formControlInput.info.borderColor.hover\",\n        \"derived\": \"--now-form-control-input--info--border-color\"\n    },\n    \"--now-form-control-input--info--border-color--invalid\": {\n        \"name\": \"formControlInput.info.borderColor.invalid\",\n        \"derived\": \"--now-color_alert--critical-2\"\n    },\n    \"--now-form-control-input--info--border-color--invalid_focus\": {\n        \"name\": \"formControlInput.info.borderColor.invalid.focus\",\n        \"derived\": \"--now-form-control-input--info--border-color--invalid\"\n    },\n    \"--now-form-control-input--info--border-color--invalid_hover\": {\n        \"name\": \"formControlInput.info.borderColor.invalid.hover\",\n        \"derived\": \"--now-form-control-input--info--border-color--invalid\"\n    },\n    \"--now-form-control-input--opacity--disabled\": {\n        \"name\": \"formControlInput.opacity.disabled\",\n        \"derived\": \"--now-form-control--opacity--disabled\"\n    },\n    \"--now-form-control-input--positive--background-color\": {\n        \"name\": \"formControlInput.positive.backgroundColor\",\n        \"derived\": \"--now-color_grouped--green-1\"\n    },\n    \"--now-form-control-input--positive--background-color--focus\": {\n        \"name\": \"formControlInput.positive.backgroundColor.focus\",\n        \"derived\": \"--now-form-control-input--positive--background-color\"\n    },\n    \"--now-form-control-input--positive--background-color--hover\": {\n        \"name\": \"formControlInput.positive.backgroundColor.hover\",\n        \"derived\": \"--now-color--primary-0\"\n    },\n    \"--now-form-control-input--positive--background-color--invalid\": {\n        \"name\": \"formControlInput.positive.backgroundColor.invalid\",\n        \"derived\": \"--now-form-control-input--positive--background-color\"\n    },\n    \"--now-form-control-input--positive--background-color--invalid_focus\": {\n        \"name\": \"formControlInput.positive.backgroundColor.invalid.focus\",\n        \"derived\": \"--now-form-control-input--positive--background-color--invalid\"\n    },\n    \"--now-form-control-input--positive--background-color--invalid_hover\": {\n        \"name\": \"formControlInput.positive.backgroundColor.invalid.hover\",\n        \"derived\": \"--now-color_alert--critical-0\"\n    },\n    \"--now-form-control-input--positive--border-color\": {\n        \"name\": \"formControlInput.positive.borderColor\",\n        \"derived\": \"--now-color_border--primary\"\n    },\n    \"--now-form-control-input--positive--border-color--focus\": {\n        \"name\": \"formControlInput.positive.borderColor.focus\",\n        \"derived\": \"--now-color--focus-2\"\n    },\n    \"--now-form-control-input--positive--border-color--hover\": {\n        \"name\": \"formControlInput.positive.borderColor.hover\",\n        \"derived\": \"--now-form-control-input--positive--border-color\"\n    },\n    \"--now-form-control-input--positive--border-color--invalid\": {\n        \"name\": \"formControlInput.positive.borderColor.invalid\",\n        \"derived\": \"--now-color_alert--critical-2\"\n    },\n    \"--now-form-control-input--positive--border-color--invalid_focus\": {\n        \"name\": \"formControlInput.positive.borderColor.invalid.focus\",\n        \"derived\": \"--now-form-control-input--positive--border-color--focus\"\n    },\n    \"--now-form-control-input--positive--border-color--invalid_hover\": {\n        \"name\": \"formControlInput.positive.borderColor.invalid.hover\",\n        \"derived\": \"--now-form-control-input--positive--border-color--invalid\"\n    },\n    \"--now-form-control-input--primary--background-color\": {\n        \"name\": \"formControlInput.primary.backgroundColor\",\n        \"derived\": \"--now-color_background--primary\"\n    },\n    \"--now-form-control-input--primary--background-color--focus\": {\n        \"name\": \"formControlInput.primary.backgroundColor.focus\",\n        \"derived\": \"--now-form-control-input--primary--background-color\"\n    },\n    \"--now-form-control-input--primary--background-color--hover\": {\n        \"name\": \"formControlInput.primary.backgroundColor.hover\",\n        \"derived\": \"--now-color--primary-0\"\n    },\n    \"--now-form-control-input--primary--background-color--invalid\": {\n        \"name\": \"formControlInput.primary.backgroundColor.invalid\",\n        \"derived\": \"--now-form-control-input--primary--background-color\"\n    },\n    \"--now-form-control-input--primary--background-color--invalid_focus\": {\n        \"name\": \"formControlInput.primary.backgroundColor.invalid.focus\",\n        \"derived\": \"--now-form-control-input--primary--background-color--invalid\"\n    },\n    \"--now-form-control-input--primary--background-color--invalid_hover\": {\n        \"name\": \"formControlInput.primary.backgroundColor.invalid.hover\",\n        \"derived\": \"--now-color_alert--critical-0\"\n    },\n    \"--now-form-control-input--primary--background-color--invalid_readonly\": {\n        \"name\": \"formControlInput.primary.backgroundColor.invalid.readonly\",\n        \"derived\": \"--now-form-control-input--primary--background-color--readonly\"\n    },\n    \"--now-form-control-input--primary--background-color--opened\": {\n        \"name\": \"formControlInput.primary.backgroundColor.opened\",\n        \"derived\": \"--now-color--primary-0\"\n    },\n    \"--now-form-control-input--primary--background-color--readonly\": {\n        \"name\": \"formControlInput.primary.backgroundColor.readonly\",\n        \"derived\": \"--now-color_background--tertiary\"\n    },\n    \"--now-form-control-input--primary--border-block-end-width\": {\n        \"name\": \"formControlInput.primary.borderWidth\",\n        \"initial\": \"1px\"\n    },\n    \"--now-form-control-input--primary--border-color\": {\n        \"name\": \"formControlInput.primary.borderColor\",\n        \"derived\": \"--now-color_border--primary\"\n    },\n    \"--now-form-control-input--primary--border-color--focus\": {\n        \"name\": \"formControlInput.primary.borderColor.focus\",\n        \"derived\": \"--now-color--focus-2\"\n    },\n    \"--now-form-control-input--primary--border-color--hover\": {\n        \"name\": \"formControlInput.primary.borderColor.hover\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-form-control-input--primary--border-color--invalid\": {\n        \"name\": \"formControlInput.primary.borderColor.invalid\",\n        \"derived\": \"--now-color_alert--critical-2\"\n    },\n    \"--now-form-control-input--primary--border-color--invalid_focus\": {\n        \"name\": \"formControlInput.primary.borderColor.invalid.focus\",\n        \"derived\": \"--now-form-control-input--primary--border-color--invalid\"\n    },\n    \"--now-form-control-input--primary--border-color--invalid_hover\": {\n        \"name\": \"formControlInput.primary.borderColor.invalid.hover\",\n        \"derived\": \"--now-form-control-input--primary--border-color--invalid\"\n    },\n    \"--now-form-control-input--primary--border-color--invalid_readonly\": {\n        \"name\": \"formControlInput.primary.borderColor.invalid.readonly\",\n        \"derived\": \"--now-form-control-input--primary--border-color--invalid\"\n    },\n    \"--now-form-control-input--primary--border-color--opened\": {\n        \"name\": \"formControlInput.primary.borderColor.opened\",\n        \"derived\": \"--now-color--focus-2\"\n    },\n    \"--now-form-control-input--primary--border-color--readonly\": {\n        \"name\": \"formControlInput.primary.borderColor.readonly\",\n        \"derived\": \"--now-color_background--tertiary\"\n    },\n    \"--now-form-control-input--primary--border-radius\": {\n        \"name\": \"formControlInput.primary.borderRadius\",\n        \"initial\": \"4px\"\n    },\n    \"--now-form-control-input--primary--border-width\": {\n        \"name\": \"formControlInput.primary.borderWidth\",\n        \"initial\": \"0px\"\n    },\n    \"--now-form-control-input--warning--background-color\": {\n        \"name\": \"formControlInput.warning.backgroundColor\",\n        \"derived\": \"--now-color_grouped--yellow-1\"\n    },\n    \"--now-form-control-input--warning--background-color--focus\": {\n        \"name\": \"formControlInput.warning.backgroundColor.focus\",\n        \"derived\": \"--now-form-control-input--warning--background-color\"\n    },\n    \"--now-form-control-input--warning--background-color--hover\": {\n        \"name\": \"formControlInput.warning.backgroundColor.hover\",\n        \"derived\": \"--now-color--primary-0\"\n    },\n    \"--now-form-control-input--warning--background-color--invalid\": {\n        \"name\": \"formControlInput.warning.backgroundColor.invalid\",\n        \"derived\": \"--now-form-control-input--warning--background-color\"\n    },\n    \"--now-form-control-input--warning--background-color--invalid_focus\": {\n        \"name\": \"formControlInput.warning.backgroundColor.invalid.focus\",\n        \"derived\": \"--now-form-control-input--warning--background-color--invalid\"\n    },\n    \"--now-form-control-input--warning--background-color--invalid_hover\": {\n        \"name\": \"formControlInput.warning.backgroundColor.invalid.hover\",\n        \"derived\": \"--now-color_alert--critical-0\"\n    },\n    \"--now-form-control-input--warning--border-color\": {\n        \"name\": \"formControlInput.warning.borderColor\",\n        \"derived\": \"--now-color_border--primary\"\n    },\n    \"--now-form-control-input--warning--border-color--focus\": {\n        \"name\": \"formControlInput.warning.borderColor.focus\",\n        \"derived\": \"--now-color--focus-2\"\n    },\n    \"--now-form-control-input--warning--border-color--hover\": {\n        \"name\": \"formControlInput.warning.borderColor.hover\",\n        \"derived\": \"--now-form-control-input--warning--border-color\"\n    },\n    \"--now-form-control-input--warning--border-color--invalid\": {\n        \"name\": \"formControlInput.warning.borderColor.invalid\",\n        \"derived\": \"--now-color_alert--critical-2\"\n    },\n    \"--now-form-control-input--warning--border-color--invalid_focus\": {\n        \"name\": \"formControlInput.warning.borderColor.invalid.focus\",\n        \"derived\": \"--now-form-control-input--warning--border-color--invalid\"\n    },\n    \"--now-form-control-input--warning--border-color--invalid_hover\": {\n        \"name\": \"formControlInput.warning.borderColor.invalid.hover\",\n        \"derived\": \"--now-form-control-input--warning--border-color--invalid\"\n    },\n    \"--now-form-control-input-selection_indicator--primary--color\": {\n        \"name\": \"formControlInputSelection.indicator.primary.color\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-form-control-input-selection_indicator--primary--color--active\": {\n        \"name\": \"formControlInputSelection.indicator.primary.color.active\",\n        \"derived\": \"--now-form-control-input-selection_indicator--primary--color\"\n    },\n    \"--now-form-control-input-selection_indicator--primary--color--focus\": {\n        \"name\": \"formControlInputSelection.indicator.primary.color.focus\",\n        \"derived\": \"--now-form-control-input-selection_indicator--primary--color\"\n    },\n    \"--now-form-control-input-selection_indicator--primary--color--hover\": {\n        \"name\": \"formControlInputSelection.indicator.primary.color.hover\",\n        \"derived\": \"--now-form-control-input-selection_indicator--primary--color\"\n    },\n    \"--now-form-control-input-selection_indicator--primary--color--invalid\": {\n        \"name\": \"formControlInputSelection.indicator.primary.color.invalid\",\n        \"derived\": \"--now-form-control-input-selection_indicator--primary--color\"\n    },\n    \"--now-form-control-input-selection_indicator--primary--color--invalid_active\": {\n        \"name\": \"formControlInputSelection.indicator.primary.color.invalid.active\",\n        \"derived\": \"--now-form-control-input-selection_indicator--primary--color--invalid\"\n    },\n    \"--now-form-control-input-selection_indicator--primary--color--invalid_focus\": {\n        \"name\": \"formControlInputSelection.indicator.primary.color.invalid.focus\",\n        \"derived\": \"--now-form-control-input-selection_indicator--primary--color--invalid\"\n    },\n    \"--now-form-control-input-selection_indicator--primary--color--invalid_hover\": {\n        \"name\": \"formControlInputSelection.indicator.primary.color.invalid.hover\",\n        \"derived\": \"--now-form-control-input-selection_indicator--primary--color--invalid\"\n    },\n    \"--now-form-control-input-selection_indicator--primary--color--readonly\": {\n        \"name\": \"formControlInputSelection.indicator.primary.color.readonly\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-form-control-input-selection_indicator--secondary--color\": {\n        \"name\": \"formControlInputSelection.indicator.secondary.color\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-form-control-input-selection_indicator--secondary--color--active\": {\n        \"name\": \"formControlInputSelection.indicator.secondary.color.active\",\n        \"derived\": \"--now-form-control-input-selection_indicator--secondary--color\"\n    },\n    \"--now-form-control-input-selection_indicator--secondary--color--focus\": {\n        \"name\": \"formControlInputSelection.indicator.secondary.color.focus\",\n        \"derived\": \"--now-form-control-input-selection_indicator--secondary--color\"\n    },\n    \"--now-form-control-input-selection_indicator--secondary--color--hover\": {\n        \"name\": \"formControlInputSelection.indicator.secondary.color.hover\",\n        \"derived\": \"--now-form-control-input-selection_indicator--secondary--color\"\n    },\n    \"--now-form-control-input-selection_indicator--secondary--color--invalid\": {\n        \"name\": \"formControlInputSelection.indicator.secondary.color.invalid\",\n        \"derived\": \"--now-color_alert--critical-4\"\n    },\n    \"--now-form-control-input-selection_indicator--secondary--color--invalid_active\": {\n        \"name\": \"formControlInputSelection.indicator.secondary.color.invalid.active\",\n        \"derived\": \"--now-form-control-input-selection_indicator--secondary--color--invalid\"\n    },\n    \"--now-form-control-input-selection_indicator--secondary--color--invalid_focus\": {\n        \"name\": \"formControlInputSelection.indicator.secondary.color.invalid.focus\",\n        \"derived\": \"--now-form-control-input-selection_indicator--secondary--color--invalid\"\n    },\n    \"--now-form-control-input-selection_indicator--secondary--color--invalid_hover\": {\n        \"name\": \"formControlInputSelection.indicator.secondary.color.invalid.hover\",\n        \"derived\": \"--now-form-control-input-selection_indicator--secondary--color--invalid\"\n    },\n    \"--now-form-control-input-selection_indicator--secondary--color--readonly\": {\n        \"name\": \"formControlInputSelection.indicator.secondary.color.readonly\",\n        \"derived\": \"--now-form-control-input-selection_indicator--secondary--color\"\n    },\n    \"--now-form-control-input-selection--opacity--disabled\": {\n        \"name\": \"formControlInputSelection.opacity.disabled\",\n        \"derived\": \"--now-form-control--opacity--disabled\"\n    },\n    \"--now-form-control-input-selection--primary--background-color\": {\n        \"name\": \"formControlInputSelection.primary.backgroundColor\",\n        \"derived\": \"--now-color_background--primary\"\n    },\n    \"--now-form-control-input-selection--primary--background-color--active\": {\n        \"name\": \"formControlInputSelection.primary.backgroundColor.active\",\n        \"derived\": \"--now-color--primary-0\"\n    },\n    \"--now-form-control-input-selection--primary--background-color--focus\": {\n        \"name\": \"formControlInputSelection.primary.backgroundColor.focus\",\n        \"derived\": \"--now-form-control-input-selection--primary--background-color\"\n    },\n    \"--now-form-control-input-selection--primary--background-color--hover\": {\n        \"name\": \"formControlInputSelection.primary.backgroundColor.hover\",\n        \"derived\": \"--now-color--primary-0\"\n    },\n    \"--now-form-control-input-selection--primary--background-color--invalid\": {\n        \"name\": \"formControlInputSelection.primary.backgroundColor.invalid\",\n        \"derived\": \"--now-form-control-input-selection--primary--background-color\"\n    },\n    \"--now-form-control-input-selection--primary--background-color--invalid_active\": {\n        \"name\": \"formControlInputSelection.primary.backgroundColor.invalid.active\",\n        \"derived\": \"--now-color_alert--critical-0\"\n    },\n    \"--now-form-control-input-selection--primary--background-color--invalid_focus\": {\n        \"name\": \"formControlInputSelection.primary.backgroundColor.invalid.focus\",\n        \"derived\": \"--now-form-control-input-selection--primary--background-color--invalid\"\n    },\n    \"--now-form-control-input-selection--primary--background-color--invalid_hover\": {\n        \"name\": \"formControlInputSelection.primary.backgroundColor.invalid.hover\",\n        \"derived\": \"--now-color_alert--critical-0\"\n    },\n    \"--now-form-control-input-selection--primary--background-color--readonly\": {\n        \"name\": \"formControlInputSelection.primary.backgroundColor.readonly\",\n        \"derived\": \"--now-color_background--tertiary\"\n    },\n    \"--now-form-control-input-selection--primary--background-color--selected\": {\n        \"name\": \"formControlInputSelection.primary.backgroundColor.selected\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-form-control-input-selection--primary--background-color--selected_active\": {\n        \"name\": \"formControlInputSelection.primary.backgroundColor.selected.active\",\n        \"derived\": \"--now-form-control-input-selection--primary--background-color--selected\"\n    },\n    \"--now-form-control-input-selection--primary--background-color--selected_focus\": {\n        \"name\": \"formControlInputSelection.primary.backgroundColor.selected.focus\",\n        \"derived\": \"--now-form-control-input-selection--primary--background-color--selected\"\n    },\n    \"--now-form-control-input-selection--primary--background-color--selected_hover\": {\n        \"name\": \"formControlInputSelection.primary.backgroundColor.selected.hover\",\n        \"derived\": \"--now-color--primary-2\"\n    },\n    \"--now-form-control-input-selection--primary--background-color--selected_invalid\": {\n        \"name\": \"formControlInputSelection.primary.backgroundColor.selected.invalid\",\n        \"derived\": \"--now-color_alert--critical-3\"\n    },\n    \"--now-form-control-input-selection--primary--background-color--selected_invalid_active\": {\n        \"name\": \"formControlInputSelection.primary.backgroundColor.selected.invalid.active\",\n        \"derived\": \"--now-form-control-input-selection--primary--background-color--selected_invalid\"\n    },\n    \"--now-form-control-input-selection--primary--background-color--selected_invalid_focus\": {\n        \"name\": \"formControlInputSelection.primary.backgroundColor.selected.invalid.focus\",\n        \"derived\": \"--now-form-control-input-selection--primary--background-color--selected_invalid\"\n    },\n    \"--now-form-control-input-selection--primary--background-color--selected_invalid_hover\": {\n        \"name\": \"formControlInputSelection.primary.backgroundColor.selected.invalid.hover\",\n        \"derived\": \"--now-color_alert--critical-4\"\n    },\n    \"--now-form-control-input-selection--primary--background-color--selected_readonly\": {\n        \"name\": \"formControlInputSelection.primary.backgroundColor.selected.readonly\",\n        \"derived\": \"--now-form-control-input-selection--primary--background-color--readonly\"\n    },\n    \"--now-form-control-input-selection--primary--border-color\": {\n        \"name\": \"formControlInputSelection.primary.borderColor\",\n        \"derived\": \"--now-color_border--primary\"\n    },\n    \"--now-form-control-input-selection--primary--border-color--active\": {\n        \"name\": \"formControlInputSelection.primary.borderColor.active\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-form-control-input-selection--primary--border-color--focus\": {\n        \"name\": \"formControlInputSelection.primary.borderColor.focus\",\n        \"derived\": \"--now-color_focus-ring\"\n    },\n    \"--now-form-control-input-selection--primary--border-color--hover\": {\n        \"name\": \"formControlInputSelection.primary.borderColor.hover\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-form-control-input-selection--primary--border-color--invalid\": {\n        \"name\": \"formControlInputSelection.primary.borderColor.invalid\",\n        \"derived\": \"--now-color_alert--critical-2\"\n    },\n    \"--now-form-control-input-selection--primary--border-color--invalid_active\": {\n        \"name\": \"formControlInputSelection.primary.borderColor.invalid.active\",\n        \"derived\": \"--now-form-control-input-selection--primary--border-color--invalid\"\n    },\n    \"--now-form-control-input-selection--primary--border-color--invalid_focus\": {\n        \"name\": \"formControlInputSelection.primary.borderColor.invalid.focus\",\n        \"derived\": \"--now-form-control-input-selection--primary--border-color--invalid\"\n    },\n    \"--now-form-control-input-selection--primary--border-color--invalid_hover\": {\n        \"name\": \"formControlInputSelection.primary.borderColor.invalid.hover\",\n        \"derived\": \"--now-form-control-input-selection--primary--border-color--invalid\"\n    },\n    \"--now-form-control-input-selection--primary--border-color--readonly\": {\n        \"name\": \"formControlInputSelection.primary.borderColor.readonly\",\n        \"derived\": \"--now-color_background--tertiary\"\n    },\n    \"--now-form-control-input-selection--primary--border-color--selected\": {\n        \"name\": \"formControlInputSelection.primary.borderColor.selected\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-form-control-input-selection--primary--border-color--selected_active\": {\n        \"name\": \"formControlInputSelection.primary.borderColor.selected.active\",\n        \"derived\": \"--now-form-control-input-selection--primary--border-color--selected\"\n    },\n    \"--now-form-control-input-selection--primary--border-color--selected_focus\": {\n        \"name\": \"formControlInputSelection.primary.borderColor.selected.focus\",\n        \"derived\": \"--now-color--focus-2\"\n    },\n    \"--now-form-control-input-selection--primary--border-color--selected_hover\": {\n        \"name\": \"formControlInputSelection.primary.borderColor.selected.hover\",\n        \"derived\": \"--now-color--primary-2\"\n    },\n    \"--now-form-control-input-selection--primary--border-color--selected_invalid\": {\n        \"name\": \"formControlInputSelection.primary.borderColor.selected.invalid\",\n        \"derived\": \"--now-color_alert--critical-3\"\n    },\n    \"--now-form-control-input-selection--primary--border-color--selected_invalid_active\": {\n        \"name\": \"formControlInputSelection.primary.borderColor.selected.invalid.active\",\n        \"derived\": \"--now-form-control-input-selection--primary--border-color--selected_invalid\"\n    },\n    \"--now-form-control-input-selection--primary--border-color--selected_invalid_focus\": {\n        \"name\": \"formControlInputSelection.primary.borderColor.selected.invalid.focus\",\n        \"derived\": \"--now-color_alert--critical-2\"\n    },\n    \"--now-form-control-input-selection--primary--border-color--selected_invalid_hover\": {\n        \"name\": \"formControlInputSelection.primary.borderColor.selected.invalid.hover\",\n        \"derived\": \"--now-color_alert--critical-4\"\n    },\n    \"--now-form-control-input-selection--primary--border-color--selected_readonly\": {\n        \"name\": \"formControlInputSelection.primary.borderColor.selected.readonly\",\n        \"derived\": \"--now-form-control-input-selection--primary--border-color--readonly\"\n    },\n    \"--now-form-control-input-selection--primary--border-radius\": {\n        \"name\": \"formControlInputSelection.primary.borderRadius\",\n        \"initial\": \"2px\"\n    },\n    \"--now-form-control-input-selection--primary--border-width\": {\n        \"name\": \"formControlInputSelection.primary.borderWidth\",\n        \"initial\": \"1px\"\n    },\n    \"--now-form-control-input-selection--secondary--background-color\": {\n        \"name\": \"formControlInputSelection.secondary.backgroundColor\",\n        \"derived\": \"--now-color_background--primary\"\n    },\n    \"--now-form-control-input-selection--secondary--background-color--active\": {\n        \"name\": \"formControlInputSelection.secondary.backgroundColor.active\",\n        \"derived\": \"--now-color--primary-0\"\n    },\n    \"--now-form-control-input-selection--secondary--background-color--focus\": {\n        \"name\": \"formControlInputSelection.secondary.backgroundColor.focus\",\n        \"derived\": \"--now-color_background--secondary\"\n    },\n    \"--now-form-control-input-selection--secondary--background-color--hover\": {\n        \"name\": \"formControlInputSelection.secondary.backgroundColor.hover\",\n        \"derived\": \"--now-color--primary-0\"\n    },\n    \"--now-form-control-input-selection--secondary--background-color--invalid\": {\n        \"name\": \"formControlInputSelection.secondary.backgroundColor.invalid\",\n        \"derived\": \"--now-form-control-input-selection--secondary--background-color\"\n    },\n    \"--now-form-control-input-selection--secondary--background-color--invalid_active\": {\n        \"name\": \"formControlInputSelection.secondary.backgroundColor.invalid.active\",\n        \"derived\": \"--now-color_alert--critical-2\"\n    },\n    \"--now-form-control-input-selection--secondary--background-color--invalid_focus\": {\n        \"name\": \"formControlInputSelection.secondary.backgroundColor.invalid.focus\",\n        \"derived\": \"--now-form-control-input-selection--secondary--background-color--invalid\"\n    },\n    \"--now-form-control-input-selection--secondary--background-color--invalid_hover\": {\n        \"name\": \"formControlInputSelection.secondary.backgroundColor.invalid.hover\",\n        \"derived\": \"--now-color_alert--critical-0\"\n    },\n    \"--now-form-control-input-selection--secondary--background-color--readonly\": {\n        \"name\": \"formControlInputSelection.secondary.backgroundColor.readonly\",\n        \"derived\": \"--now-color_background--tertiary\"\n    },\n    \"--now-form-control-input-selection--secondary--background-color--selected\": {\n        \"name\": \"formControlInputSelection.secondary.backgroundColor.selected\",\n        \"derived\": \"--now-form-control-input-selection--secondary--background-color\"\n    },\n    \"--now-form-control-input-selection--secondary--background-color--selected_active\": {\n        \"name\": \"formControlInputSelection.secondary.backgroundColor.selected.active\",\n        \"derived\": \"--now-form-control-input-selection--secondary--background-color--selected\"\n    },\n    \"--now-form-control-input-selection--secondary--background-color--selected_focus\": {\n        \"name\": \"formControlInputSelection.secondary.backgroundColor.selected.focus\",\n        \"derived\": \"--now-form-control-input-selection--secondary--background-color--focus\"\n    },\n    \"--now-form-control-input-selection--secondary--background-color--selected_hover\": {\n        \"name\": \"formControlInputSelection.secondary.backgroundColor.selected.hover\",\n        \"derived\": \"--now-color--secondary-0\"\n    },\n    \"--now-form-control-input-selection--secondary--background-color--selected_invalid\": {\n        \"name\": \"formControlInputSelection.secondary.backgroundColor.selected.invalid\",\n        \"derived\": \"--now-form-control-input-selection--secondary--background-color--selected\"\n    },\n    \"--now-form-control-input-selection--secondary--background-color--selected_invalid_active\": {\n        \"name\": \"formControlInputSelection.secondary.backgroundColor.selected.invalid.active\",\n        \"derived\": \"--now-color_alert--critical-1\"\n    },\n    \"--now-form-control-input-selection--secondary--background-color--selected_invalid_focus\": {\n        \"name\": \"formControlInputSelection.secondary.backgroundColor.selected.invalid.focus\",\n        \"derived\": \"--now-form-control-input-selection--secondary--background-color--selected_focus\"\n    },\n    \"--now-form-control-input-selection--secondary--background-color--selected_invalid_hover\": {\n        \"name\": \"formControlInputSelection.secondary.backgroundColor.selected.invalid.hover\",\n        \"derived\": \"--now-color_alert--critical-0\"\n    },\n    \"--now-form-control-input-selection--secondary--background-color--selected_readonly\": {\n        \"name\": \"formControlInputSelection.secondary.backgroundColor.selected.readonly\",\n        \"derived\": \"--now-color--neutral-3\"\n    },\n    \"--now-form-control-input-selection--secondary--border-color\": {\n        \"name\": \"formControlInputSelection.secondary.borderColor\",\n        \"derived\": \"--now-color_border--primary\"\n    },\n    \"--now-form-control-input-selection--secondary--border-color--active\": {\n        \"name\": \"formControlInputSelection.secondary.borderColor.active\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-form-control-input-selection--secondary--border-color--focus\": {\n        \"name\": \"formControlInputSelection.secondary.borderColor.focus\",\n        \"derived\": \"--now-color_focus-ring\"\n    },\n    \"--now-form-control-input-selection--secondary--border-color--hover\": {\n        \"name\": \"formControlInputSelection.secondary.borderColor.hover\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-form-control-input-selection--secondary--border-color--invalid\": {\n        \"name\": \"formControlInputSelection.secondary.borderColor.invalid\",\n        \"derived\": \"--now-color_alert--critical-2\"\n    },\n    \"--now-form-control-input-selection--secondary--border-color--invalid_active\": {\n        \"name\": \"formControlInputSelection.secondary.borderColor.invalid.active\",\n        \"derived\": \"--now-form-control-input-selection--secondary--border-color--invalid\"\n    },\n    \"--now-form-control-input-selection--secondary--border-color--invalid_focus\": {\n        \"name\": \"formControlInputSelection.secondary.borderColor.invalid.focus\",\n        \"derived\": \"--now-form-control-input-selection--secondary--border-color--invalid\"\n    },\n    \"--now-form-control-input-selection--secondary--border-color--invalid_hover\": {\n        \"name\": \"formControlInputSelection.secondary.borderColor.invalid.hover\",\n        \"derived\": \"--now-form-control-input-selection--secondary--border-color--invalid\"\n    },\n    \"--now-form-control-input-selection--secondary--border-color--readonly\": {\n        \"name\": \"formControlInputSelection.secondary.borderColor.readonly\",\n        \"derived\": \"--now-color_background--tertiary\"\n    },\n    \"--now-form-control-input-selection--secondary--border-color--selected\": {\n        \"name\": \"formControlInputSelection.secondary.borderColor.selected\",\n        \"derived\": \"--now-form-control-input-selection--secondary--border-color\"\n    },\n    \"--now-form-control-input-selection--secondary--border-color--selected_active\": {\n        \"name\": \"formControlInputSelection.secondary.borderColor.selected.active\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-form-control-input-selection--secondary--border-color--selected_focus\": {\n        \"name\": \"formControlInputSelection.secondary.borderColor.selected.focus\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-form-control-input-selection--secondary--border-color--selected_hover\": {\n        \"name\": \"formControlInputSelection.secondary.borderColor.selected.hover\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-form-control-input-selection--secondary--border-color--selected_invalid\": {\n        \"name\": \"formControlInputSelection.secondary.borderColor.selected.invalid\",\n        \"derived\": \"--now-color_alert--critical-2\"\n    },\n    \"--now-form-control-input-selection--secondary--border-color--selected_invalid_active\": {\n        \"name\": \"formControlInputSelection.secondary.borderColor.selected.invalid.active\",\n        \"derived\": \"--now-form-control-input-selection--secondary--border-color--selected_invalid\"\n    },\n    \"--now-form-control-input-selection--secondary--border-color--selected_invalid_focus\": {\n        \"name\": \"formControlInputSelection.secondary.borderColor.selected.invalid.focus\",\n        \"derived\": \"--now-form-control-input-selection--secondary--border-color--selected_invalid\"\n    },\n    \"--now-form-control-input-selection--secondary--border-color--selected_invalid_hover\": {\n        \"name\": \"formControlInputSelection.secondary.borderColor.selected.invalid.hover\",\n        \"derived\": \"--now-form-control-input-selection--secondary--border-color--selected_invalid\"\n    },\n    \"--now-form-control-input-selection--secondary--border-color--selected_readonly\": {\n        \"name\": \"formControlInputSelection.secondary.borderColor.selected.readonly\",\n        \"derived\": \"--now-form-control-input-selection--secondary--border-color\"\n    },\n    \"--now-form-control-input-selection--secondary--border-radius\": {\n        \"name\": \"formControlInputSelection.secondary.borderRadius\",\n        \"initial\": \"4px\"\n    },\n    \"--now-form-control-input-selection--secondary--border-width\": {\n        \"name\": \"formControlInputSelection.secondary.borderWidth\",\n        \"initial\": \"1px\"\n    },\n    \"--now-form-control-pill_action_icon--color\": {\n        \"name\": \"formControlPill.action.icon.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-form-control-pill_action_icon--color--active\": {\n        \"name\": \"formControlPill.action.icon.color.active\",\n        \"derived\": \"--now-color--primary-2\"\n    },\n    \"--now-form-control-pill_action_icon--color--hover\": {\n        \"name\": \"formControlPill.action.icon.color.hover\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-form-control-pill_action_icon--color--selected\": {\n        \"name\": \"formControlPill.action.icon.color.selected\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-form-control-pill_action_icon--color--selected_active\": {\n        \"name\": \"formControlPill.action.icon.color.selected.active\",\n        \"derived\": \"--now-form-control-pill_action_icon--color--selected\"\n    },\n    \"--now-form-control-pill_action_icon--color--selected_hover\": {\n        \"name\": \"formControlPill.action.icon.color.selected.hover\",\n        \"derived\": \"--now-form-control-pill_action_icon--color--selected\"\n    },\n    \"--now-form-control-pill_action--border-radius\": {\n        \"name\": \"formControlPill.action.borderRadius\",\n        \"initial\": \"16px\"\n    },\n    \"--now-form-control-pill_action--border-width\": {\n        \"name\": \"formControlPill.action.borderWidth\",\n        \"initial\": \"0\"\n    },\n    \"--now-form-control-pill_identifier_icon--color\": {\n        \"name\": \"formControlPill.identifier.icon.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-form-control-pill_identifier_icon--color--active\": {\n        \"name\": \"formControlPill.identifier.icon.color.active\",\n        \"derived\": \"--now-color--primary-2\"\n    },\n    \"--now-form-control-pill_identifier_icon--color--hover\": {\n        \"name\": \"formControlPill.identifier.icon.color.hover\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-form-control-pill_identifier_icon--color--selected\": {\n        \"name\": \"formControlPill.identifier.icon.color.selected\",\n        \"derived\": \"--now-color--primary-2\"\n    },\n    \"--now-form-control-pill_identifier_icon--color--selected_active\": {\n        \"name\": \"formControlPill.identifier.icon.color.selected.active\",\n        \"derived\": \"--now-form-control-pill_identifier_icon--color--selected\"\n    },\n    \"--now-form-control-pill_identifier_icon--color--selected_hover\": {\n        \"name\": \"formControlPill.identifier.icon.color.selected.hover\",\n        \"derived\": \"--now-form-control-pill_identifier_icon--color--selected\"\n    },\n    \"--now-form-control-pill_identifier--background-color\": {\n        \"name\": \"formControlPill.identifier.backgroundColor\",\n        \"derived\": \"--now-form-control-pill--background-color\"\n    },\n    \"--now-form-control-pill_identifier--background-color--active\": {\n        \"name\": \"formControlPill.identifier.backgroundColor.active\",\n        \"derived\": \"--now-form-control-pill--background-color--active\"\n    },\n    \"--now-form-control-pill_identifier--background-color--hover\": {\n        \"name\": \"formControlPill.identifier.backgroundColor.hover\",\n        \"derived\": \"--now-form-control-pill--background-color--hover\"\n    },\n    \"--now-form-control-pill_identifier--background-color--selected\": {\n        \"name\": \"formControlPill.identifier.backgroundColor.selected\",\n        \"derived\": \"--now-color--primary-0\"\n    },\n    \"--now-form-control-pill_identifier--background-color--selected_active\": {\n        \"name\": \"formControlPill.identifier.backgroundColor.selected.active\",\n        \"derived\": \"--now-form-control-pill_identifier--background-color--selected\"\n    },\n    \"--now-form-control-pill_identifier--background-color--selected_hover\": {\n        \"name\": \"formControlPill.identifier.backgroundColor.selected.hover\",\n        \"derived\": \"--now-form-control-pill_identifier--background-color--selected\"\n    },\n    \"--now-form-control-pill_identifier--border-color\": {\n        \"name\": \"formControlPill.identifier.borderColor\",\n        \"derived\": \"--now-color_border--secondary\"\n    },\n    \"--now-form-control-pill_identifier--border-color--active\": {\n        \"name\": \"formControlPill.identifier.borderColor.active\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-form-control-pill_identifier--border-color--hover\": {\n        \"name\": \"formControlPill.identifier.borderColor.hover\",\n        \"derived\": \"--now-form-control-pill_identifier--border-color\"\n    },\n    \"--now-form-control-pill_identifier--border-color--selected\": {\n        \"name\": \"formControlPill.identifier.borderColor.selected\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-form-control-pill_identifier--border-color--selected_active\": {\n        \"name\": \"formControlPill.identifier.borderColor.selected.active\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-form-control-pill_identifier--border-color--selected_hover\": {\n        \"name\": \"formControlPill.identifier.borderColor.selected.hover\",\n        \"derived\": \"--now-color--primary-2\"\n    },\n    \"--now-form-control-pill_label--color\": {\n        \"name\": \"formControlPill.label.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-form-control-pill_label--color--active\": {\n        \"name\": \"formControlPill.label.color.active\",\n        \"derived\": \"--now-color--primary-2\"\n    },\n    \"--now-form-control-pill_label--color--hover\": {\n        \"name\": \"formControlPill.label.color.hover\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-form-control-pill_label--color--selected\": {\n        \"name\": \"formControlPill.label.color.selected\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-form-control-pill_label--color--selected_active\": {\n        \"name\": \"formControlPill.label.color.selected.active\",\n        \"derived\": \"--now-form-control-pill_label--color--selected\"\n    },\n    \"--now-form-control-pill_label--color--selected_hover\": {\n        \"name\": \"formControlPill.label.color.selected.hover\",\n        \"derived\": \"--now-form-control-pill_label--color--selected\"\n    },\n    \"--now-form-control-pill--background-color\": {\n        \"name\": \"formControlPill.backgroundColor\",\n        \"derived\": \"--now-color_background--primary\"\n    },\n    \"--now-form-control-pill--background-color--active\": {\n        \"name\": \"formControlPill.backgroundColor.active\",\n        \"derived\": \"--now-color--primary-0\"\n    },\n    \"--now-form-control-pill--background-color--hover\": {\n        \"name\": \"formControlPill.backgroundColor.hover\",\n        \"derived\": \"--now-color_background--secondary\"\n    },\n    \"--now-form-control-pill--background-color--selected\": {\n        \"name\": \"formControlPill.backgroundColor.selected\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-form-control-pill--background-color--selected_active\": {\n        \"name\": \"formControlPill.backgroundColor.selected.active\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-form-control-pill--background-color--selected_hover\": {\n        \"name\": \"formControlPill.backgroundColor.selected.hover\",\n        \"derived\": \"--now-color--primary-2\"\n    },\n    \"--now-form-control-pill--border-color\": {\n        \"name\": \"formControlPill.borderColor\",\n        \"derived\": \"--now-color_border--secondary\"\n    },\n    \"--now-form-control-pill--border-color--active\": {\n        \"name\": \"formControlPill.borderColor.active\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-form-control-pill--border-color--hover\": {\n        \"name\": \"formControlPill.borderColor.hover\",\n        \"derived\": \"--now-form-control-pill--border-color\"\n    },\n    \"--now-form-control-pill--border-color--selected\": {\n        \"name\": \"formControlPill.borderColor.selected\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-form-control-pill--border-color--selected_active\": {\n        \"name\": \"formControlPill.borderColor.selected.active\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-form-control-pill--border-color--selected_hover\": {\n        \"name\": \"formControlPill.borderColor.selected.hover\",\n        \"derived\": \"--now-color--primary-2\"\n    },\n    \"--now-form-control-pill--border-radius\": {\n        \"name\": \"formControlPill.borderRadius\",\n        \"initial\": \"16px\"\n    },\n    \"--now-form-control-pill--border-width\": {\n        \"name\": \"formControlPill.borderWidth\",\n        \"initial\": \"1px\"\n    },\n    \"--now-form-control-pill--font-family\": {\n        \"name\": \"formControlPill.fontFamily\",\n        \"derived\": \"--now-form-control--font-family\"\n    },\n    \"--now-form-control-pill--font-style\": {\n        \"name\": \"formControlPill.fontStyle\",\n        \"derived\": \"--now-form-control--font-style\"\n    },\n    \"--now-form-control-pill--font-weight\": {\n        \"name\": \"formControlPill.fontWeight\",\n        \"derived\": \"--now-form-control--font-weight\"\n    },\n    \"--now-form-control-pill--opacity--disabled\": {\n        \"name\": \"formControlPill.opacity.disabled\",\n        \"derived\": \"--now-opacity--less\"\n    },\n    \"--now-form-control-pill--text-transform\": {\n        \"name\": \"formControlPill.textTransform\",\n        \"derived\": \"--now-form-control--text-transform\"\n    },\n    \"--now-identifier-user_icon--color\": {\n        \"name\": \"identifierUser.icon.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-identifier-user_label--color\": {\n        \"name\": \"identifierUser.label.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-identifier-user--background-color\": {\n        \"name\": \"identifierUser.backgroundColor\",\n        \"derived\": \"--now-color_background--secondary\"\n    },\n    \"--now-identifier-user--border-color\": {\n        \"name\": \"identifierUser.borderColor\",\n        \"derived\": \"--now-color_border--tertiary\"\n    },\n    \"--now-identifier-user--border-radius\": {\n        \"name\": \"identifierUser.borderRadius\",\n        \"initial\": \"50%\"\n    },\n    \"--now-identifier-user--border-width\": {\n        \"name\": \"identifierUser.borderWidth\",\n        \"derived\": \"--now-identifier--border-width\"\n    },\n    \"--now-identifier-user--font-family\": {\n        \"name\": \"identifierUser.fontFamily\",\n        \"derived\": \"--now-identifier--font-family\"\n    },\n    \"--now-identifier-user--font-style\": {\n        \"name\": \"identifierUser.fontStyle\",\n        \"derived\": \"--now-identifier--font-style\"\n    },\n    \"--now-identifier-user--font-weight\": {\n        \"name\": \"identifierUser.fontWeight\",\n        \"derived\": \"--now-identifier--font-weight\"\n    },\n    \"--now-identifier-user--text-transform\": {\n        \"name\": \"identifierUser.textTransform\",\n        \"initial\": \"uppercase\"\n    },\n    \"--now-indicator_icon--primary_blue--color\": {\n        \"name\": \"indicator.icon.primary.blue.color\",\n        \"derived\": \"--now-indicator_icon--secondary--color\"\n    },\n    \"--now-indicator_icon--primary_brown--color\": {\n        \"name\": \"indicator.icon.primary.brown.color\",\n        \"derived\": \"--now-indicator_icon--secondary--color\"\n    },\n    \"--now-indicator_icon--primary_critical--color\": {\n        \"name\": \"indicator.icon.primary.critical.color\",\n        \"derived\": \"--now-indicator_icon--primary--color\"\n    },\n    \"--now-indicator_icon--primary_gray--color\": {\n        \"name\": \"indicator.icon.primary.gray.color\",\n        \"derived\": \"--now-indicator_icon--secondary--color\"\n    },\n    \"--now-indicator_icon--primary_green--color\": {\n        \"name\": \"indicator.icon.primary.green.color\",\n        \"derived\": \"--now-indicator_icon--secondary--color\"\n    },\n    \"--now-indicator_icon--primary_green-yellow--color\": {\n        \"name\": \"indicator.icon.primary.greenYellow.color\",\n        \"derived\": \"--now-indicator_icon--secondary--color\"\n    },\n    \"--now-indicator_icon--primary_high--color\": {\n        \"name\": \"indicator.icon.primary.high.color\",\n        \"derived\": \"--now-indicator_icon--secondary--color\"\n    },\n    \"--now-indicator_icon--primary_info--color\": {\n        \"name\": \"indicator.icon.primary.info.color\",\n        \"derived\": \"--now-indicator_icon--primary--color\"\n    },\n    \"--now-indicator_icon--primary_low--color\": {\n        \"name\": \"indicator.icon.primary.low.color\",\n        \"derived\": \"--now-indicator_icon--primary--color\"\n    },\n    \"--now-indicator_icon--primary_magenta--color\": {\n        \"name\": \"indicator.icon.primary.magenta.color\",\n        \"derived\": \"--now-indicator_icon--secondary--color\"\n    },\n    \"--now-indicator_icon--primary_moderate--color\": {\n        \"name\": \"indicator.icon.primary.moderate.color\",\n        \"derived\": \"--now-indicator_icon--primary--color\"\n    },\n    \"--now-indicator_icon--primary_orange--color\": {\n        \"name\": \"indicator.icon.primary.orange.color\",\n        \"derived\": \"--now-indicator_icon--secondary--color\"\n    },\n    \"--now-indicator_icon--primary_pink--color\": {\n        \"name\": \"indicator.icon.primary.pink.color\",\n        \"derived\": \"--now-indicator_icon--secondary--color\"\n    },\n    \"--now-indicator_icon--primary_positive--color\": {\n        \"name\": \"indicator.icon.primary.positive.color\",\n        \"derived\": \"--now-indicator_icon--primary--color\"\n    },\n    \"--now-indicator_icon--primary_purple--color\": {\n        \"name\": \"indicator.icon.primary.purple.color\",\n        \"derived\": \"--now-indicator_icon--secondary--color\"\n    },\n    \"--now-indicator_icon--primary_teal--color\": {\n        \"name\": \"indicator.icon.primary.teal.color\",\n        \"derived\": \"--now-indicator_icon--secondary--color\"\n    },\n    \"--now-indicator_icon--primary_warning--color\": {\n        \"name\": \"indicator.icon.primary.warning.color\",\n        \"derived\": \"--now-indicator_icon--secondary--color\"\n    },\n    \"--now-indicator_icon--primary_yellow--color\": {\n        \"name\": \"indicator.icon.primary.yellow.color\",\n        \"derived\": \"--now-indicator_icon--secondary--color\"\n    },\n    \"--now-indicator_icon--primary--color\": {\n        \"name\": \"indicator.icon.primary.color\",\n        \"derived\": \"--now-color--neutral-0\"\n    },\n    \"--now-indicator_icon--secondary_blue--color\": {\n        \"name\": \"indicator.icon.secondary.blue.color\",\n        \"derived\": \"--now-color_grouped--blue-5\"\n    },\n    \"--now-indicator_icon--secondary_brown--color\": {\n        \"name\": \"indicator.icon.secondary.brown.color\",\n        \"derived\": \"--now-color_grouped--brown-5\"\n    },\n    \"--now-indicator_icon--secondary_critical--color\": {\n        \"name\": \"indicator.icon.secondary.critical.color\",\n        \"derived\": \"--now-color_alert--critical-4\"\n    },\n    \"--now-indicator_icon--secondary_gray--color\": {\n        \"name\": \"indicator.icon.secondary.gray.color\",\n        \"derived\": \"--now-color_grouped--gray-5\"\n    },\n    \"--now-indicator_icon--secondary_green--color\": {\n        \"name\": \"indicator.icon.secondary.green.color\",\n        \"derived\": \"--now-color_grouped--green-5\"\n    },\n    \"--now-indicator_icon--secondary_green-yellow--color\": {\n        \"name\": \"indicator.icon.secondary.greenYellow.color\",\n        \"derived\": \"--now-color_grouped--green-yellow-5\"\n    },\n    \"--now-indicator_icon--secondary_high--color\": {\n        \"name\": \"indicator.icon.secondary.high.color\",\n        \"derived\": \"--now-color_alert--high-4\"\n    },\n    \"--now-indicator_icon--secondary_info--color\": {\n        \"name\": \"indicator.icon.secondary.info.color\",\n        \"derived\": \"--now-color_alert--info-4\"\n    },\n    \"--now-indicator_icon--secondary_low--color\": {\n        \"name\": \"indicator.icon.secondary.low.color\",\n        \"derived\": \"--now-color_alert--low-4\"\n    },\n    \"--now-indicator_icon--secondary_magenta--color\": {\n        \"name\": \"indicator.icon.secondary.magenta.color\",\n        \"derived\": \"--now-color_grouped--magenta-5\"\n    },\n    \"--now-indicator_icon--secondary_moderate--color\": {\n        \"name\": \"indicator.icon.secondary.moderate.color\",\n        \"derived\": \"--now-color_alert--moderate-4\"\n    },\n    \"--now-indicator_icon--secondary_orange--color\": {\n        \"name\": \"indicator.icon.secondary.orange.color\",\n        \"derived\": \"--now-color_grouped--orange-5\"\n    },\n    \"--now-indicator_icon--secondary_pink--color\": {\n        \"name\": \"indicator.icon.secondary.pink.color\",\n        \"derived\": \"--now-color_grouped--pink-5\"\n    },\n    \"--now-indicator_icon--secondary_positive--color\": {\n        \"name\": \"indicator.icon.secondary.positive.color\",\n        \"derived\": \"--now-color_alert--positive-4\"\n    },\n    \"--now-indicator_icon--secondary_purple--color\": {\n        \"name\": \"indicator.icon.secondary.purple.color\",\n        \"derived\": \"--now-color_grouped--purple-5\"\n    },\n    \"--now-indicator_icon--secondary_teal--color\": {\n        \"name\": \"indicator.icon.secondary.teal.color\",\n        \"derived\": \"--now-color_grouped--teal-5\"\n    },\n    \"--now-indicator_icon--secondary_warning--color\": {\n        \"name\": \"indicator.icon.secondary.warning.color\",\n        \"derived\": \"--now-color_alert--warning-4\"\n    },\n    \"--now-indicator_icon--secondary_yellow--color\": {\n        \"name\": \"indicator.icon.secondary.yellow.color\",\n        \"derived\": \"--now-color_grouped--yellow-5\"\n    },\n    \"--now-indicator_icon--secondary--color\": {\n        \"name\": \"indicator.icon.secondary.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-indicator_icon--tertiary_blue--color\": {\n        \"name\": \"indicator.icon.tertiary.blue.color\",\n        \"derived\": \"--now-color_grouped--blue-4\"\n    },\n    \"--now-indicator_icon--tertiary_brown--color\": {\n        \"name\": \"indicator.icon.tertiary.brown.color\",\n        \"derived\": \"--now-color_grouped--brown-4\"\n    },\n    \"--now-indicator_icon--tertiary_critical--color\": {\n        \"name\": \"indicator.icon.tertiary.critical.color\",\n        \"derived\": \"--now-color_alert--critical-4\"\n    },\n    \"--now-indicator_icon--tertiary_gray--color\": {\n        \"name\": \"indicator.icon.tertiary.gray.color\",\n        \"derived\": \"--now-color_grouped--gray-4\"\n    },\n    \"--now-indicator_icon--tertiary_green--color\": {\n        \"name\": \"indicator.icon.tertiary.green.color\",\n        \"derived\": \"--now-color_grouped--green-4\"\n    },\n    \"--now-indicator_icon--tertiary_green-yellow--color\": {\n        \"name\": \"indicator.icon.tertiary.greenYellow.color\",\n        \"derived\": \"--now-color_grouped--green-yellow-4\"\n    },\n    \"--now-indicator_icon--tertiary_high--color\": {\n        \"name\": \"indicator.icon.tertiary.high.color\",\n        \"derived\": \"--now-color_alert--high-4\"\n    },\n    \"--now-indicator_icon--tertiary_info--color\": {\n        \"name\": \"indicator.icon.tertiary.info.color\",\n        \"derived\": \"--now-color_alert--info-4\"\n    },\n    \"--now-indicator_icon--tertiary_low--color\": {\n        \"name\": \"indicator.icon.tertiary.low.color\",\n        \"derived\": \"--now-color_alert--low-4\"\n    },\n    \"--now-indicator_icon--tertiary_magenta--color\": {\n        \"name\": \"indicator.icon.tertiary.magenta.color\",\n        \"derived\": \"--now-color_grouped--magenta-4\"\n    },\n    \"--now-indicator_icon--tertiary_moderate--color\": {\n        \"name\": \"indicator.icon.tertiary.moderate.color\",\n        \"derived\": \"--now-color_alert--moderate-4\"\n    },\n    \"--now-indicator_icon--tertiary_orange--color\": {\n        \"name\": \"indicator.icon.tertiary.orange.color\",\n        \"derived\": \"--now-color_grouped--orange-4\"\n    },\n    \"--now-indicator_icon--tertiary_pink--color\": {\n        \"name\": \"indicator.icon.tertiary.pink.color\",\n        \"derived\": \"--now-color_grouped--pink-4\"\n    },\n    \"--now-indicator_icon--tertiary_positive--color\": {\n        \"name\": \"indicator.icon.tertiary.positive.color\",\n        \"derived\": \"--now-color_alert--positive-4\"\n    },\n    \"--now-indicator_icon--tertiary_purple--color\": {\n        \"name\": \"indicator.icon.tertiary.purple.color\",\n        \"derived\": \"--now-color_grouped--purple-4\"\n    },\n    \"--now-indicator_icon--tertiary_teal--color\": {\n        \"name\": \"indicator.icon.tertiary.teal.color\",\n        \"derived\": \"--now-color_grouped--teal-4\"\n    },\n    \"--now-indicator_icon--tertiary_warning--color\": {\n        \"name\": \"indicator.icon.tertiary.warning.color\",\n        \"derived\": \"--now-color_alert--warning-4\"\n    },\n    \"--now-indicator_icon--tertiary_yellow--color\": {\n        \"name\": \"indicator.icon.tertiary.yellow.color\",\n        \"derived\": \"--now-color_grouped--yellow-4\"\n    },\n    \"--now-indicator_icon--tertiary--color\": {\n        \"name\": \"indicator.icon.tertiary.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-indicator_label--primary_blue--color\": {\n        \"name\": \"indicator.label.primary.blue.color\",\n        \"derived\": \"--now-indicator_label--secondary--color\"\n    },\n    \"--now-indicator_label--primary_brown--color\": {\n        \"name\": \"indicator.label.primary.brown.color\",\n        \"derived\": \"--now-indicator_label--secondary--color\"\n    },\n    \"--now-indicator_label--primary_critical--color\": {\n        \"name\": \"indicator.label.primary.critical.color\",\n        \"derived\": \"--now-indicator_label--primary--color\"\n    },\n    \"--now-indicator_label--primary_gray--color\": {\n        \"name\": \"indicator.label.primary.gray.color\",\n        \"derived\": \"--now-indicator_label--secondary--color\"\n    },\n    \"--now-indicator_label--primary_green--color\": {\n        \"name\": \"indicator.label.primary.green.color\",\n        \"derived\": \"--now-indicator_label--secondary--color\"\n    },\n    \"--now-indicator_label--primary_green-yellow--color\": {\n        \"name\": \"indicator.label.primary.greenYellow.color\",\n        \"derived\": \"--now-indicator_label--secondary--color\"\n    },\n    \"--now-indicator_label--primary_high--color\": {\n        \"name\": \"indicator.label.primary.high.color\",\n        \"derived\": \"--now-indicator_label--secondary--color\"\n    },\n    \"--now-indicator_label--primary_info--color\": {\n        \"name\": \"indicator.label.primary.info.color\",\n        \"derived\": \"--now-indicator_label--primary--color\"\n    },\n    \"--now-indicator_label--primary_low--color\": {\n        \"name\": \"indicator.label.primary.low.color\",\n        \"derived\": \"--now-indicator_label--primary--color\"\n    },\n    \"--now-indicator_label--primary_magenta--color\": {\n        \"name\": \"indicator.label.primary.magenta.color\",\n        \"derived\": \"--now-indicator_label--secondary--color\"\n    },\n    \"--now-indicator_label--primary_moderate--color\": {\n        \"name\": \"indicator.label.primary.moderate.color\",\n        \"derived\": \"--now-indicator_label--primary--color\"\n    },\n    \"--now-indicator_label--primary_orange--color\": {\n        \"name\": \"indicator.label.primary.orange.color\",\n        \"derived\": \"--now-indicator_label--secondary--color\"\n    },\n    \"--now-indicator_label--primary_pink--color\": {\n        \"name\": \"indicator.label.primary.pink.color\",\n        \"derived\": \"--now-indicator_label--secondary--color\"\n    },\n    \"--now-indicator_label--primary_positive--color\": {\n        \"name\": \"indicator.label.primary.positive.color\",\n        \"derived\": \"--now-indicator_label--primary--color\"\n    },\n    \"--now-indicator_label--primary_purple--color\": {\n        \"name\": \"indicator.label.primary.purple.color\",\n        \"derived\": \"--now-indicator_label--secondary--color\"\n    },\n    \"--now-indicator_label--primary_teal--color\": {\n        \"name\": \"indicator.label.primary.teal.color\",\n        \"derived\": \"--now-indicator_label--secondary--color\"\n    },\n    \"--now-indicator_label--primary_warning--color\": {\n        \"name\": \"indicator.label.primary.warning.color\",\n        \"derived\": \"--now-indicator_label--secondary--color\"\n    },\n    \"--now-indicator_label--primary_yellow--color\": {\n        \"name\": \"indicator.label.primary.yellow.color\",\n        \"derived\": \"--now-indicator_label--secondary--color\"\n    },\n    \"--now-indicator_label--primary--color\": {\n        \"name\": \"indicator.label.primary.color\",\n        \"derived\": \"--now-color--neutral-0\"\n    },\n    \"--now-indicator_label--secondary_blue--color\": {\n        \"name\": \"indicator.label.secondary.blue.color\",\n        \"derived\": \"--now-color_grouped--blue-5\"\n    },\n    \"--now-indicator_label--secondary_brown--color\": {\n        \"name\": \"indicator.label.secondary.brown.color\",\n        \"derived\": \"--now-color_grouped--brown-5\"\n    },\n    \"--now-indicator_label--secondary_critical--color\": {\n        \"name\": \"indicator.label.secondary.critical.color\",\n        \"derived\": \"--now-indicator_label--secondary--color\"\n    },\n    \"--now-indicator_label--secondary_gray--color\": {\n        \"name\": \"indicator.label.secondary.gray.color\",\n        \"derived\": \"--now-color_grouped--gray-5\"\n    },\n    \"--now-indicator_label--secondary_green--color\": {\n        \"name\": \"indicator.label.secondary.green.color\",\n        \"derived\": \"--now-color_grouped--green-5\"\n    },\n    \"--now-indicator_label--secondary_green-yellow--color\": {\n        \"name\": \"indicator.label.secondary.greenYellow.color\",\n        \"derived\": \"--now-color_grouped--green-yellow-5\"\n    },\n    \"--now-indicator_label--secondary_high--color\": {\n        \"name\": \"indicator.label.secondary.high.color\",\n        \"derived\": \"--now-indicator_label--secondary--color\"\n    },\n    \"--now-indicator_label--secondary_info--color\": {\n        \"name\": \"indicator.label.secondary.info.color\",\n        \"derived\": \"--now-indicator_label--secondary--color\"\n    },\n    \"--now-indicator_label--secondary_low--color\": {\n        \"name\": \"indicator.label.secondary.low.color\",\n        \"derived\": \"--now-indicator_label--secondary--color\"\n    },\n    \"--now-indicator_label--secondary_magenta--color\": {\n        \"name\": \"indicator.label.secondary.magenta.color\",\n        \"derived\": \"--now-color_grouped--magenta-5\"\n    },\n    \"--now-indicator_label--secondary_moderate--color\": {\n        \"name\": \"indicator.label.secondary.moderate.color\",\n        \"derived\": \"--now-indicator_label--secondary--color\"\n    },\n    \"--now-indicator_label--secondary_orange--color\": {\n        \"name\": \"indicator.label.secondary.orange.color\",\n        \"derived\": \"--now-color_grouped--orange-5\"\n    },\n    \"--now-indicator_label--secondary_pink--color\": {\n        \"name\": \"indicator.label.secondary.pink.color\",\n        \"derived\": \"--now-color_grouped--pink-5\"\n    },\n    \"--now-indicator_label--secondary_positive--color\": {\n        \"name\": \"indicator.label.secondary.positive.color\",\n        \"derived\": \"--now-indicator_label--secondary--color\"\n    },\n    \"--now-indicator_label--secondary_purple--color\": {\n        \"name\": \"indicator.label.secondary.purple.color\",\n        \"derived\": \"--now-color_grouped--purple-5\"\n    },\n    \"--now-indicator_label--secondary_teal--color\": {\n        \"name\": \"indicator.label.secondary.teal.color\",\n        \"derived\": \"--now-color_grouped--teal-5\"\n    },\n    \"--now-indicator_label--secondary_warning--color\": {\n        \"name\": \"indicator.label.secondary.warning.color\",\n        \"derived\": \"--now-indicator_label--secondary--color\"\n    },\n    \"--now-indicator_label--secondary_yellow--color\": {\n        \"name\": \"indicator.label.secondary.yellow.color\",\n        \"derived\": \"--now-color_grouped--yellow-5\"\n    },\n    \"--now-indicator_label--secondary--color\": {\n        \"name\": \"indicator.label.secondary.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-indicator_label--tertiary_blue--color\": {\n        \"name\": \"indicator.label.tertiary.blue.color\",\n        \"derived\": \"--now-color_grouped--blue-5\"\n    },\n    \"--now-indicator_label--tertiary_brown--color\": {\n        \"name\": \"indicator.label.tertiary.brown.color\",\n        \"derived\": \"--now-color_grouped--brown-5\"\n    },\n    \"--now-indicator_label--tertiary_critical--color\": {\n        \"name\": \"indicator.label.tertiary.critical.color\",\n        \"derived\": \"--now-indicator_label--tertiary--color\"\n    },\n    \"--now-indicator_label--tertiary_gray--color\": {\n        \"name\": \"indicator.label.tertiary.gray.color\",\n        \"derived\": \"--now-color_grouped--gray-5\"\n    },\n    \"--now-indicator_label--tertiary_green--color\": {\n        \"name\": \"indicator.label.tertiary.green.color\",\n        \"derived\": \"--now-color_grouped--green-5\"\n    },\n    \"--now-indicator_label--tertiary_green-yellow--color\": {\n        \"name\": \"indicator.label.tertiary.greenYellow.color\",\n        \"derived\": \"--now-color_grouped--green-yellow-5\"\n    },\n    \"--now-indicator_label--tertiary_high--color\": {\n        \"name\": \"indicator.label.tertiary.high.color\",\n        \"derived\": \"--now-indicator_label--tertiary--color\"\n    },\n    \"--now-indicator_label--tertiary_info--color\": {\n        \"name\": \"indicator.label.tertiary.info.color\",\n        \"derived\": \"--now-indicator_label--tertiary--color\"\n    },\n    \"--now-indicator_label--tertiary_low--color\": {\n        \"name\": \"indicator.label.tertiary.low.color\",\n        \"derived\": \"--now-indicator_label--tertiary--color\"\n    },\n    \"--now-indicator_label--tertiary_magenta--color\": {\n        \"name\": \"indicator.label.tertiary.magenta.color\",\n        \"derived\": \"--now-color_grouped--magenta-5\"\n    },\n    \"--now-indicator_label--tertiary_moderate--color\": {\n        \"name\": \"indicator.label.tertiary.moderate.color\",\n        \"derived\": \"--now-indicator_label--tertiary--color\"\n    },\n    \"--now-indicator_label--tertiary_orange--color\": {\n        \"name\": \"indicator.label.tertiary.orange.color\",\n        \"derived\": \"--now-color_grouped--orange-5\"\n    },\n    \"--now-indicator_label--tertiary_pink--color\": {\n        \"name\": \"indicator.label.tertiary.pink.color\",\n        \"derived\": \"--now-color_grouped--pink-5\"\n    },\n    \"--now-indicator_label--tertiary_positive--color\": {\n        \"name\": \"indicator.label.tertiary.positive.color\",\n        \"derived\": \"--now-indicator_label--tertiary--color\"\n    },\n    \"--now-indicator_label--tertiary_purple--color\": {\n        \"name\": \"indicator.label.tertiary.purple.color\",\n        \"derived\": \"--now-color_grouped--purple-5\"\n    },\n    \"--now-indicator_label--tertiary_teal--color\": {\n        \"name\": \"indicator.label.tertiary.teal.color\",\n        \"derived\": \"--now-color_grouped--teal-5\"\n    },\n    \"--now-indicator_label--tertiary_warning--color\": {\n        \"name\": \"indicator.label.tertiary.warning.color\",\n        \"derived\": \"--now-indicator_label--tertiary--color\"\n    },\n    \"--now-indicator_label--tertiary_yellow--color\": {\n        \"name\": \"indicator.label.tertiary.yellow.color\",\n        \"derived\": \"--now-color_grouped--yellow-5\"\n    },\n    \"--now-indicator_label--tertiary--color\": {\n        \"name\": \"indicator.label.tertiary.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-indicator--primary_blue--background-color\": {\n        \"name\": \"indicator.primary.blue.backgroundColor\",\n        \"derived\": \"--now-color_grouped--blue-2\"\n    },\n    \"--now-indicator--primary_blue--border-color\": {\n        \"name\": \"indicator.primary.blue.borderColor\",\n        \"derived\": \"--now-color_grouped--blue-3\"\n    },\n    \"--now-indicator--primary_brown--background-color\": {\n        \"name\": \"indicator.primary.brown.backgroundColor\",\n        \"derived\": \"--now-color_grouped--brown-2\"\n    },\n    \"--now-indicator--primary_brown--border-color\": {\n        \"name\": \"indicator.primary.brown.borderColor\",\n        \"derived\": \"--now-color_grouped--brown-3\"\n    },\n    \"--now-indicator--primary_critical--background-color\": {\n        \"name\": \"indicator.primary.critical.backgroundColor\",\n        \"derived\": \"--now-color_alert--critical-2\"\n    },\n    \"--now-indicator--primary_critical--border-color\": {\n        \"name\": \"indicator.primary.critical.borderColor\",\n        \"derived\": \"--now-color_alert--critical-3\"\n    },\n    \"--now-indicator--primary_gray--background-color\": {\n        \"name\": \"indicator.primary.gray.backgroundColor\",\n        \"derived\": \"--now-color_grouped--gray-2\"\n    },\n    \"--now-indicator--primary_gray--border-color\": {\n        \"name\": \"indicator.primary.gray.borderColor\",\n        \"derived\": \"--now-color_grouped--gray-3\"\n    },\n    \"--now-indicator--primary_green--background-color\": {\n        \"name\": \"indicator.primary.green.backgroundColor\",\n        \"derived\": \"--now-color_grouped--green-2\"\n    },\n    \"--now-indicator--primary_green--border-color\": {\n        \"name\": \"indicator.primary.green.borderColor\",\n        \"derived\": \"--now-color_grouped--green-3\"\n    },\n    \"--now-indicator--primary_green-yellow--background-color\": {\n        \"name\": \"indicator.primary.greenYellow.backgroundColor\",\n        \"derived\": \"--now-color_grouped--green-yellow-2\"\n    },\n    \"--now-indicator--primary_green-yellow--border-color\": {\n        \"name\": \"indicator.primary.greenYellow.borderColor\",\n        \"derived\": \"--now-color_grouped--green-yellow-3\"\n    },\n    \"--now-indicator--primary_high--background-color\": {\n        \"name\": \"indicator.primary.high.backgroundColor\",\n        \"derived\": \"--now-color_alert--high-2\"\n    },\n    \"--now-indicator--primary_high--border-color\": {\n        \"name\": \"indicator.primary.high.borderColor\",\n        \"derived\": \"--now-color_alert--high-3\"\n    },\n    \"--now-indicator--primary_info--background-color\": {\n        \"name\": \"indicator.primary.info.backgroundColor\",\n        \"derived\": \"--now-color_alert--info-2\"\n    },\n    \"--now-indicator--primary_info--border-color\": {\n        \"name\": \"indicator.primary.info.borderColor\",\n        \"derived\": \"--now-color_alert--info-3\"\n    },\n    \"--now-indicator--primary_low--background-color\": {\n        \"name\": \"indicator.primary.low.backgroundColor\",\n        \"derived\": \"--now-color_alert--low-2\"\n    },\n    \"--now-indicator--primary_low--border-color\": {\n        \"name\": \"indicator.primary.low.borderColor\",\n        \"derived\": \"--now-color_alert--low-3\"\n    },\n    \"--now-indicator--primary_magenta--background-color\": {\n        \"name\": \"indicator.primary.magenta.backgroundColor\",\n        \"derived\": \"--now-color_grouped--magenta-2\"\n    },\n    \"--now-indicator--primary_magenta--border-color\": {\n        \"name\": \"indicator.primary.magenta.borderColor\",\n        \"derived\": \"--now-color_grouped--magenta-3\"\n    },\n    \"--now-indicator--primary_moderate--background-color\": {\n        \"name\": \"indicator.primary.moderate.backgroundColor\",\n        \"derived\": \"--now-color_alert--moderate-2\"\n    },\n    \"--now-indicator--primary_moderate--border-color\": {\n        \"name\": \"indicator.primary.moderate.borderColor\",\n        \"derived\": \"--now-color_alert--moderate-3\"\n    },\n    \"--now-indicator--primary_orange--background-color\": {\n        \"name\": \"indicator.primary.orange.backgroundColor\",\n        \"derived\": \"--now-color_grouped--orange-2\"\n    },\n    \"--now-indicator--primary_orange--border-color\": {\n        \"name\": \"indicator.primary.orange.borderColor\",\n        \"derived\": \"--now-color_grouped--orange-3\"\n    },\n    \"--now-indicator--primary_pink--background-color\": {\n        \"name\": \"indicator.primary.pink.backgroundColor\",\n        \"derived\": \"--now-color_grouped--pink-2\"\n    },\n    \"--now-indicator--primary_pink--border-color\": {\n        \"name\": \"indicator.primary.pink.borderColor\",\n        \"derived\": \"--now-color_grouped--pink-3\"\n    },\n    \"--now-indicator--primary_positive--background-color\": {\n        \"name\": \"indicator.primary.positive.backgroundColor\",\n        \"derived\": \"--now-color_alert--positive-2\"\n    },\n    \"--now-indicator--primary_positive--border-color\": {\n        \"name\": \"indicator.primary.positive.borderColor\",\n        \"derived\": \"--now-color_alert--positive-3\"\n    },\n    \"--now-indicator--primary_purple--background-color\": {\n        \"name\": \"indicator.primary.purple.backgroundColor\",\n        \"derived\": \"--now-color_grouped--purple-2\"\n    },\n    \"--now-indicator--primary_purple--border-color\": {\n        \"name\": \"indicator.primary.purple.borderColor\",\n        \"derived\": \"--now-color_grouped--purple-3\"\n    },\n    \"--now-indicator--primary_teal--background-color\": {\n        \"name\": \"indicator.primary.teal.backgroundColor\",\n        \"derived\": \"--now-color_grouped--teal-2\"\n    },\n    \"--now-indicator--primary_teal--border-color\": {\n        \"name\": \"indicator.primary.teal.borderColor\",\n        \"derived\": \"--now-color_grouped--teal-3\"\n    },\n    \"--now-indicator--primary_warning--background-color\": {\n        \"name\": \"indicator.primary.warning.backgroundColor\",\n        \"derived\": \"--now-color_alert--warning-2\"\n    },\n    \"--now-indicator--primary_warning--border-color\": {\n        \"name\": \"indicator.primary.warning.borderColor\",\n        \"derived\": \"--now-color_alert--warning-3\"\n    },\n    \"--now-indicator--primary_yellow--background-color\": {\n        \"name\": \"indicator.primary.yellow.backgroundColor\",\n        \"derived\": \"--now-color_grouped--yellow-2\"\n    },\n    \"--now-indicator--primary_yellow--border-color\": {\n        \"name\": \"indicator.primary.yellow.borderColor\",\n        \"derived\": \"--now-color_grouped--yellow-3\"\n    },\n    \"--now-indicator--primary--border-radius\": {\n        \"name\": \"indicator.primary.borderRadius\",\n        \"derived\": \"--now-indicator--border-radius\"\n    },\n    \"--now-indicator--primary--border-width\": {\n        \"name\": \"indicator.primary.borderWidth\",\n        \"derived\": \"--now-indicator--border-width\"\n    },\n    \"--now-indicator--primary--font-family\": {\n        \"name\": \"indicator.primary.fontFamily\",\n        \"derived\": \"--now-indicator--font-family\"\n    },\n    \"--now-indicator--primary--font-style\": {\n        \"name\": \"indicator.primary.fontStyle\",\n        \"derived\": \"--now-indicator--font-style\"\n    },\n    \"--now-indicator--primary--font-weight\": {\n        \"name\": \"indicator.primary.fontWeight\",\n        \"derived\": \"--now-indicator--font-weight\"\n    },\n    \"--now-indicator--primary--text-transform\": {\n        \"name\": \"indicator.primary.textTransform\",\n        \"derived\": \"--now-indicator--text-transform\"\n    },\n    \"--now-indicator--secondary_blue--background-color\": {\n        \"name\": \"indicator.secondary.blue.backgroundColor\",\n        \"derived\": \"--now-color_grouped--blue-1\"\n    },\n    \"--now-indicator--secondary_blue--border-color\": {\n        \"name\": \"indicator.secondary.blue.borderColor\",\n        \"derived\": \"--now-color_grouped--blue-2\"\n    },\n    \"--now-indicator--secondary_brown--background-color\": {\n        \"name\": \"indicator.secondary.brown.backgroundColor\",\n        \"derived\": \"--now-color_grouped--brown-1\"\n    },\n    \"--now-indicator--secondary_brown--border-color\": {\n        \"name\": \"indicator.secondary.brown.borderColor\",\n        \"derived\": \"--now-color_grouped--brown-2\"\n    },\n    \"--now-indicator--secondary_critical--background-color\": {\n        \"name\": \"indicator.secondary.critical.backgroundColor\",\n        \"derived\": \"--now-color_alert--critical-1\"\n    },\n    \"--now-indicator--secondary_critical--border-color\": {\n        \"name\": \"indicator.secondary.critical.borderColor\",\n        \"derived\": \"--now-color_alert--critical-2\"\n    },\n    \"--now-indicator--secondary_gray--background-color\": {\n        \"name\": \"indicator.secondary.gray.backgroundColor\",\n        \"derived\": \"--now-color_grouped--gray-1\"\n    },\n    \"--now-indicator--secondary_gray--border-color\": {\n        \"name\": \"indicator.secondary.gray.borderColor\",\n        \"derived\": \"--now-color_grouped--gray-2\"\n    },\n    \"--now-indicator--secondary_green--background-color\": {\n        \"name\": \"indicator.secondary.green.backgroundColor\",\n        \"derived\": \"--now-color_grouped--green-1\"\n    },\n    \"--now-indicator--secondary_green--border-color\": {\n        \"name\": \"indicator.secondary.green.borderColor\",\n        \"derived\": \"--now-color_grouped--green-2\"\n    },\n    \"--now-indicator--secondary_green-yellow--background-color\": {\n        \"name\": \"indicator.secondary.greenYellow.backgroundColor\",\n        \"derived\": \"--now-color_grouped--green-yellow-1\"\n    },\n    \"--now-indicator--secondary_green-yellow--border-color\": {\n        \"name\": \"indicator.secondary.greenYellow.borderColor\",\n        \"derived\": \"--now-color_grouped--green-yellow-2\"\n    },\n    \"--now-indicator--secondary_high--background-color\": {\n        \"name\": \"indicator.secondary.high.backgroundColor\",\n        \"derived\": \"--now-color_alert--high-1\"\n    },\n    \"--now-indicator--secondary_high--border-color\": {\n        \"name\": \"indicator.secondary.high.borderColor\",\n        \"derived\": \"--now-color_alert--high-2\"\n    },\n    \"--now-indicator--secondary_info--background-color\": {\n        \"name\": \"indicator.secondary.info.backgroundColor\",\n        \"derived\": \"--now-color_alert--info-1\"\n    },\n    \"--now-indicator--secondary_info--border-color\": {\n        \"name\": \"indicator.secondary.info.borderColor\",\n        \"derived\": \"--now-color_alert--info-2\"\n    },\n    \"--now-indicator--secondary_low--background-color\": {\n        \"name\": \"indicator.secondary.low.backgroundColor\",\n        \"derived\": \"--now-color_alert--low-1\"\n    },\n    \"--now-indicator--secondary_low--border-color\": {\n        \"name\": \"indicator.secondary.low.borderColor\",\n        \"derived\": \"--now-color_alert--low-2\"\n    },\n    \"--now-indicator--secondary_magenta--background-color\": {\n        \"name\": \"indicator.secondary.magenta.backgroundColor\",\n        \"derived\": \"--now-color_grouped--magenta-1\"\n    },\n    \"--now-indicator--secondary_magenta--border-color\": {\n        \"name\": \"indicator.secondary.magenta.borderColor\",\n        \"derived\": \"--now-color_grouped--magenta-2\"\n    },\n    \"--now-indicator--secondary_moderate--background-color\": {\n        \"name\": \"indicator.secondary.moderate.backgroundColor\",\n        \"derived\": \"--now-color_alert--moderate-1\"\n    },\n    \"--now-indicator--secondary_moderate--border-color\": {\n        \"name\": \"indicator.secondary.moderate.borderColor\",\n        \"derived\": \"--now-color_alert--moderate-2\"\n    },\n    \"--now-indicator--secondary_orange--background-color\": {\n        \"name\": \"indicator.secondary.orange.backgroundColor\",\n        \"derived\": \"--now-color_grouped--orange-1\"\n    },\n    \"--now-indicator--secondary_orange--border-color\": {\n        \"name\": \"indicator.secondary.orange.borderColor\",\n        \"derived\": \"--now-color_grouped--orange-2\"\n    },\n    \"--now-indicator--secondary_pink--background-color\": {\n        \"name\": \"indicator.secondary.pink.backgroundColor\",\n        \"derived\": \"--now-color_grouped--pink-1\"\n    },\n    \"--now-indicator--secondary_pink--border-color\": {\n        \"name\": \"indicator.secondary.pink.borderColor\",\n        \"derived\": \"--now-color_grouped--pink-2\"\n    },\n    \"--now-indicator--secondary_positive--background-color\": {\n        \"name\": \"indicator.secondary.positive.backgroundColor\",\n        \"derived\": \"--now-color_alert--positive-1\"\n    },\n    \"--now-indicator--secondary_positive--border-color\": {\n        \"name\": \"indicator.secondary.positive.borderColor\",\n        \"derived\": \"--now-color_alert--positive-2\"\n    },\n    \"--now-indicator--secondary_purple--background-color\": {\n        \"name\": \"indicator.secondary.purple.backgroundColor\",\n        \"derived\": \"--now-color_grouped--purple-1\"\n    },\n    \"--now-indicator--secondary_purple--border-color\": {\n        \"name\": \"indicator.secondary.purple.borderColor\",\n        \"derived\": \"--now-color_grouped--purple-2\"\n    },\n    \"--now-indicator--secondary_teal--background-color\": {\n        \"name\": \"indicator.secondary.teal.backgroundColor\",\n        \"derived\": \"--now-color_grouped--teal-1\"\n    },\n    \"--now-indicator--secondary_teal--border-color\": {\n        \"name\": \"indicator.secondary.teal.borderColor\",\n        \"derived\": \"--now-color_grouped--teal-2\"\n    },\n    \"--now-indicator--secondary_warning--background-color\": {\n        \"name\": \"indicator.secondary.warning.backgroundColor\",\n        \"derived\": \"--now-color_alert--warning-1\"\n    },\n    \"--now-indicator--secondary_warning--border-color\": {\n        \"name\": \"indicator.secondary.warning.borderColor\",\n        \"derived\": \"--now-color_alert--warning-2\"\n    },\n    \"--now-indicator--secondary_yellow--background-color\": {\n        \"name\": \"indicator.secondary.yellow.backgroundColor\",\n        \"derived\": \"--now-color_grouped--yellow-1\"\n    },\n    \"--now-indicator--secondary_yellow--border-color\": {\n        \"name\": \"indicator.secondary.yellow.borderColor\",\n        \"derived\": \"--now-color_grouped--yellow-2\"\n    },\n    \"--now-indicator--secondary--border-radius\": {\n        \"name\": \"indicator.secondary.borderRadius\",\n        \"derived\": \"--now-indicator--border-radius\"\n    },\n    \"--now-indicator--secondary--border-width\": {\n        \"name\": \"indicator.secondary.borderWidth\",\n        \"derived\": \"--now-indicator--border-width\"\n    },\n    \"--now-indicator--secondary--font-family\": {\n        \"name\": \"indicator.secondary.fontFamily\",\n        \"derived\": \"--now-indicator--font-family\"\n    },\n    \"--now-indicator--secondary--font-style\": {\n        \"name\": \"indicator.secondary.fontStyle\",\n        \"derived\": \"--now-indicator--font-style\"\n    },\n    \"--now-indicator--secondary--font-weight\": {\n        \"name\": \"indicator.secondary.fontWeight\",\n        \"derived\": \"--now-indicator--font-weight\"\n    },\n    \"--now-indicator--secondary--text-transform\": {\n        \"name\": \"indicator.secondary.textTransform\",\n        \"derived\": \"--now-indicator--text-transform\"\n    },\n    \"--now-indicator--tertiary_blue--background-color\": {\n        \"name\": \"indicator.tertiary.blue.backgroundColor\",\n        \"derived\": \"--now-color_grouped--blue-0\"\n    },\n    \"--now-indicator--tertiary_blue--border-color\": {\n        \"name\": \"indicator.tertiary.blue.borderColor\",\n        \"derived\": \"--now-color_grouped--blue-1\"\n    },\n    \"--now-indicator--tertiary_brown--background-color\": {\n        \"name\": \"indicator.tertiary.brown.backgroundColor\",\n        \"derived\": \"--now-color_grouped--brown-0\"\n    },\n    \"--now-indicator--tertiary_brown--border-color\": {\n        \"name\": \"indicator.tertiary.brown.borderColor\",\n        \"derived\": \"--now-color_grouped--brown-1\"\n    },\n    \"--now-indicator--tertiary_critical--background-color\": {\n        \"name\": \"indicator.tertiary.critical.backgroundColor\",\n        \"derived\": \"--now-color_alert--critical-0\"\n    },\n    \"--now-indicator--tertiary_critical--border-color\": {\n        \"name\": \"indicator.tertiary.critical.borderColor\",\n        \"derived\": \"--now-color_alert--critical-1\"\n    },\n    \"--now-indicator--tertiary_gray--background-color\": {\n        \"name\": \"indicator.tertiary.gray.backgroundColor\",\n        \"derived\": \"--now-color_grouped--gray-0\"\n    },\n    \"--now-indicator--tertiary_gray--border-color\": {\n        \"name\": \"indicator.tertiary.gray.borderColor\",\n        \"derived\": \"--now-color_grouped--gray-1\"\n    },\n    \"--now-indicator--tertiary_green--background-color\": {\n        \"name\": \"indicator.tertiary.green.backgroundColor\",\n        \"derived\": \"--now-color_grouped--green-0\"\n    },\n    \"--now-indicator--tertiary_green--border-color\": {\n        \"name\": \"indicator.tertiary.green.borderColor\",\n        \"derived\": \"--now-color_grouped--green-1\"\n    },\n    \"--now-indicator--tertiary_green-yellow--background-color\": {\n        \"name\": \"indicator.tertiary.greenYellow.backgroundColor\",\n        \"derived\": \"--now-color_grouped--green-yellow-0\"\n    },\n    \"--now-indicator--tertiary_green-yellow--border-color\": {\n        \"name\": \"indicator.tertiary.greenYellow.borderColor\",\n        \"derived\": \"--now-color_grouped--green-yellow-1\"\n    },\n    \"--now-indicator--tertiary_high--background-color\": {\n        \"name\": \"indicator.tertiary.high.backgroundColor\",\n        \"derived\": \"--now-color_alert--high-0\"\n    },\n    \"--now-indicator--tertiary_high--border-color\": {\n        \"name\": \"indicator.tertiary.high.borderColor\",\n        \"derived\": \"--now-color_alert--high-1\"\n    },\n    \"--now-indicator--tertiary_info--background-color\": {\n        \"name\": \"indicator.tertiary.info.backgroundColor\",\n        \"derived\": \"--now-color_alert--info-0\"\n    },\n    \"--now-indicator--tertiary_info--border-color\": {\n        \"name\": \"indicator.tertiary.info.borderColor\",\n        \"derived\": \"--now-color_alert--info-1\"\n    },\n    \"--now-indicator--tertiary_low--background-color\": {\n        \"name\": \"indicator.tertiary.low.backgroundColor\",\n        \"derived\": \"--now-color_alert--low-0\"\n    },\n    \"--now-indicator--tertiary_low--border-color\": {\n        \"name\": \"indicator.tertiary.low.borderColor\",\n        \"derived\": \"--now-color_alert--low-1\"\n    },\n    \"--now-indicator--tertiary_magenta--background-color\": {\n        \"name\": \"indicator.tertiary.magenta.backgroundColor\",\n        \"derived\": \"--now-color_grouped--magenta-0\"\n    },\n    \"--now-indicator--tertiary_magenta--border-color\": {\n        \"name\": \"indicator.tertiary.magenta.borderColor\",\n        \"derived\": \"--now-color_grouped--magenta-1\"\n    },\n    \"--now-indicator--tertiary_moderate--background-color\": {\n        \"name\": \"indicator.tertiary.moderate.backgroundColor\",\n        \"derived\": \"--now-color_alert--moderate-0\"\n    },\n    \"--now-indicator--tertiary_moderate--border-color\": {\n        \"name\": \"indicator.tertiary.moderate.borderColor\",\n        \"derived\": \"--now-color_alert--moderate-1\"\n    },\n    \"--now-indicator--tertiary_orange--background-color\": {\n        \"name\": \"indicator.tertiary.orange.backgroundColor\",\n        \"derived\": \"--now-color_grouped--orange-0\"\n    },\n    \"--now-indicator--tertiary_orange--border-color\": {\n        \"name\": \"indicator.tertiary.orange.borderColor\",\n        \"derived\": \"--now-color_grouped--orange-1\"\n    },\n    \"--now-indicator--tertiary_pink--background-color\": {\n        \"name\": \"indicator.tertiary.pink.backgroundColor\",\n        \"derived\": \"--now-color_grouped--pink-0\"\n    },\n    \"--now-indicator--tertiary_pink--border-color\": {\n        \"name\": \"indicator.tertiary.pink.borderColor\",\n        \"derived\": \"--now-color_grouped--pink-1\"\n    },\n    \"--now-indicator--tertiary_positive--background-color\": {\n        \"name\": \"indicator.tertiary.positive.backgroundColor\",\n        \"derived\": \"--now-color_alert--positive-0\"\n    },\n    \"--now-indicator--tertiary_positive--border-color\": {\n        \"name\": \"indicator.tertiary.positive.borderColor\",\n        \"derived\": \"--now-color_alert--positive-1\"\n    },\n    \"--now-indicator--tertiary_purple--background-color\": {\n        \"name\": \"indicator.tertiary.purple.backgroundColor\",\n        \"derived\": \"--now-color_grouped--purple-0\"\n    },\n    \"--now-indicator--tertiary_purple--border-color\": {\n        \"name\": \"indicator.tertiary.purple.borderColor\",\n        \"derived\": \"--now-color_grouped--purple-1\"\n    },\n    \"--now-indicator--tertiary_teal--background-color\": {\n        \"name\": \"indicator.tertiary.teal.backgroundColor\",\n        \"derived\": \"--now-color_grouped--teal-0\"\n    },\n    \"--now-indicator--tertiary_teal--border-color\": {\n        \"name\": \"indicator.tertiary.teal.borderColor\",\n        \"derived\": \"--now-color_grouped--teal-1\"\n    },\n    \"--now-indicator--tertiary_warning--background-color\": {\n        \"name\": \"indicator.tertiary.warning.backgroundColor\",\n        \"derived\": \"--now-color_alert--warning-0\"\n    },\n    \"--now-indicator--tertiary_warning--border-color\": {\n        \"name\": \"indicator.tertiary.warning.borderColor\",\n        \"derived\": \"--now-color_alert--warning-1\"\n    },\n    \"--now-indicator--tertiary_yellow--background-color\": {\n        \"name\": \"indicator.tertiary.yellow.backgroundColor\",\n        \"derived\": \"--now-color_grouped--yellow-0\"\n    },\n    \"--now-indicator--tertiary_yellow--border-color\": {\n        \"name\": \"indicator.tertiary.yellow.borderColor\",\n        \"derived\": \"--now-color_grouped--yellow-1\"\n    },\n    \"--now-indicator--tertiary--border-radius\": {\n        \"name\": \"indicator.tertiary.borderRadius\",\n        \"derived\": \"--now-indicator--border-radius\"\n    },\n    \"--now-indicator--tertiary--border-width\": {\n        \"name\": \"indicator.tertiary.borderWidth\",\n        \"derived\": \"--now-indicator--border-width\"\n    },\n    \"--now-indicator--tertiary--font-family\": {\n        \"name\": \"indicator.tertiary.fontFamily\",\n        \"derived\": \"--now-indicator--font-family\"\n    },\n    \"--now-indicator--tertiary--font-style\": {\n        \"name\": \"indicator.tertiary.fontStyle\",\n        \"derived\": \"--now-indicator--font-style\"\n    },\n    \"--now-indicator--tertiary--font-weight\": {\n        \"name\": \"indicator.tertiary.fontWeight\",\n        \"derived\": \"--now-indicator--font-weight\"\n    },\n    \"--now-indicator--tertiary--text-transform\": {\n        \"name\": \"indicator.tertiary.textTransform\",\n        \"derived\": \"--now-indicator--text-transform\"\n    },\n    \"--now-loading_indicator--color\": {\n        \"name\": \"loading.indicator.color\",\n        \"derived\": \"--now-color--neutral-12\"\n    },\n    \"--now-loading_indicator--font-family\": {\n        \"name\": \"loading.indicator.fontFamily\",\n        \"derived\": \"--now-loading_label--primary--font-family\"\n    },\n    \"--now-loading_indicator--font-style\": {\n        \"name\": \"loading.indicator.fontStyle\",\n        \"derived\": \"--now-loading_label--primary--font-style\"\n    },\n    \"--now-loading_indicator--font-weight\": {\n        \"name\": \"loading.indicator.fontWeight\",\n        \"derived\": \"--now-loading_label--primary--font-weight\"\n    },\n    \"--now-loading_indicator--primary--color\": {\n        \"name\": \"loading.indicator.primary.color\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-loading_indicator--text-transform\": {\n        \"name\": \"loading.indicator.textTransform\",\n        \"derived\": \"--now-loading_label--primary--text-transform\"\n    },\n    \"--now-loading_label--primary--color\": {\n        \"name\": \"loading.label.primary.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-loading_label--primary--font-family\": {\n        \"name\": \"loading.label.primary.fontFamily\",\n        \"derived\": \"--now-loading--font-family\"\n    },\n    \"--now-loading_label--primary--font-style\": {\n        \"name\": \"loading.label.primary.fontStyle\",\n        \"derived\": \"--now-loading--font-style\"\n    },\n    \"--now-loading_label--primary--font-weight\": {\n        \"name\": \"loading.label.primary.fontWeight\",\n        \"derived\": \"--now-loading--font-weight\"\n    },\n    \"--now-loading_label--primary--text-transform\": {\n        \"name\": \"loading.label.primary.textTransform\",\n        \"derived\": \"--now-loading--text-transform\"\n    },\n    \"--now-loading_label--secondary--color\": {\n        \"name\": \"loading.label.secondary.color\",\n        \"derived\": \"--now-color_text--secondary\"\n    },\n    \"--now-loading_label--secondary--font-family\": {\n        \"name\": \"loading.label.secondary.fontFamily\",\n        \"derived\": \"--now-loading--font-family\"\n    },\n    \"--now-loading_label--secondary--font-style\": {\n        \"name\": \"loading.label.secondary.fontStyle\",\n        \"derived\": \"--now-loading--font-style\"\n    },\n    \"--now-loading_label--secondary--font-weight\": {\n        \"name\": \"loading.label.secondary.fontWeight\",\n        \"derived\": \"--now-loading--font-weight\"\n    },\n    \"--now-loading_label--secondary--text-transform\": {\n        \"name\": \"loading.label.secondary.textTransform\",\n        \"derived\": \"--now-loading--text-transform\"\n    },\n    \"--now-loading_label--tertiary--color\": {\n        \"name\": \"loading.label.tertiary.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-loading_label--tertiary--font-family\": {\n        \"name\": \"loading.label.tertiary.fontFamily\",\n        \"derived\": \"--now-loading--font-family\"\n    },\n    \"--now-loading_label--tertiary--font-style\": {\n        \"name\": \"loading.label.tertiary.fontStyle\",\n        \"derived\": \"--now-loading--font-style\"\n    },\n    \"--now-loading_label--tertiary--font-weight\": {\n        \"name\": \"loading.label.tertiary.fontWeight\",\n        \"derived\": \"--now-loading--font-weight\"\n    },\n    \"--now-loading_label--tertiary--text-transform\": {\n        \"name\": \"loading.label.tertiary.textTransform\",\n        \"derived\": \"--now-loading--text-transform\"\n    },\n    \"--now-loading_placeholder--background-color\": {\n        \"name\": \"loading.placeholder.backgroundColor\",\n        \"derived\": \"--now-color_surface--neutral-4\"\n    },\n    \"--now-loading_progress_bar--alert--background-color\": {\n        \"name\": \"loading.progress.bar.alert.backgroundColor\",\n        \"derived\": \"--now-color_alert--high-3\"\n    },\n    \"--now-loading_progress_bar--alert--border-color\": {\n        \"name\": \"loading.progress.bar.alert.borderColor\",\n        \"derived\": \"--now-color_alert--high-4\"\n    },\n    \"--now-loading_progress_bar--background-color\": {\n        \"name\": \"loading.progress.bar.backgroundColor\",\n        \"derived\": \"--now-loading--initial--background-color\"\n    },\n    \"--now-loading_progress_bar--border-color\": {\n        \"name\": \"loading.progress.bar.borderColor\",\n        \"derived\": \"--now-loading--initial--border-color\"\n    },\n    \"--now-loading_progress_bar--border-radius\": {\n        \"name\": \"loading.progress.bar.borderRadius\",\n        \"derived\": \"--now-loading--border-radius\"\n    },\n    \"--now-loading_progress_bar--border-width\": {\n        \"name\": \"loading.progress.bar.borderWidth\",\n        \"derived\": \"--now-loading--border-width\"\n    },\n    \"--now-loading_progress_bar--error--background-color\": {\n        \"name\": \"loading.progress.bar.error.backgroundColor\",\n        \"derived\": \"--now-color_alert--critical-2\"\n    },\n    \"--now-loading_progress_bar--error--border-color\": {\n        \"name\": \"loading.progress.bar.error.borderColor\",\n        \"derived\": \"--now-color_alert--critical-3\"\n    },\n    \"--now-loading_progress_bar--gray--background-color\": {\n        \"name\": \"loading.progress.bar.gray.backgroundColor\",\n        \"derived\": \"--now-color_grouped--gray-2\"\n    },\n    \"--now-loading_progress_bar--gray--border-color\": {\n        \"name\": \"loading.progress.bar.gray.borderColor\",\n        \"derived\": \"--now-color_grouped--gray-3\"\n    },\n    \"--now-loading_progress_bar--green--background-color\": {\n        \"name\": \"loading.progress.bar.green.backgroundColor\",\n        \"derived\": \"--now-color_grouped--green-2\"\n    },\n    \"--now-loading_progress_bar--green--border-color\": {\n        \"name\": \"loading.progress.bar.green.borderColor\",\n        \"derived\": \"--now-color_grouped--green-3\"\n    },\n    \"--now-loading_progress_bar--inactive--background-color\": {\n        \"name\": \"loading.progress.bar.inactive.backgroundColor\",\n        \"derived\": \"--now-loading_progress_track--background-color\"\n    },\n    \"--now-loading_progress_bar--inactive--border-color\": {\n        \"name\": \"loading.progress.bar.inactive.borderColor\",\n        \"derived\": \"--now-color--neutral-11\"\n    },\n    \"--now-loading_progress_bar--orange--background-color\": {\n        \"name\": \"loading.progress.bar.orange.backgroundColor\",\n        \"derived\": \"--now-color_grouped--orange-2\"\n    },\n    \"--now-loading_progress_bar--orange--border-color\": {\n        \"name\": \"loading.progress.bar.orange.borderColor\",\n        \"derived\": \"--now-color_grouped--orange-3\"\n    },\n    \"--now-loading_progress_bar--pink--background-color\": {\n        \"name\": \"loading.progress.bar.pink.backgroundColor\",\n        \"derived\": \"--now-color_grouped--pink-2\"\n    },\n    \"--now-loading_progress_bar--pink--border-color\": {\n        \"name\": \"loading.progress.bar.pink.borderColor\",\n        \"derived\": \"--now-color_grouped--pink-3\"\n    },\n    \"--now-loading_progress_bar--positive--background-color\": {\n        \"name\": \"loading.progress.bar.positive.backgroundColor\",\n        \"derived\": \"--now-color_alert--positive-3\"\n    },\n    \"--now-loading_progress_bar--positive--border-color\": {\n        \"name\": \"loading.progress.bar.positive.borderColor\",\n        \"derived\": \"--now-color_alert--positive-4\"\n    },\n    \"--now-loading_progress_bar-marker--border-width\": {\n        \"name\": \"loading.progress.barMarker.borderWidth\",\n        \"initial\": \"2px\"\n    },\n    \"--now-loading_progress_bar-marker--color\": {\n        \"name\": \"loading.progress.barMarker.color\",\n        \"derived\": \"--now-color_border--primary-actionable\"\n    },\n    \"--now-loading_progress_track--background-color\": {\n        \"name\": \"loading.progress.track.backgroundColor\",\n        \"derived\": \"--now-color_background--tertiary\"\n    },\n    \"--now-loading_progress_track--border-color\": {\n        \"name\": \"loading.progress.track.borderColor\",\n        \"derived\": \"--now-color_border--primary\"\n    },\n    \"--now-loading_progress_track--border-radius\": {\n        \"name\": \"loading.progress.track.borderRadius\",\n        \"derived\": \"--now-loading--border-radius\"\n    },\n    \"--now-loading_progress_track--border-width\": {\n        \"name\": \"loading.progress.track.borderWidth\",\n        \"derived\": \"--now-loading--border-width\"\n    },\n    \"--now-loading_progress--font-family\": {\n        \"name\": \"loading.progress.fontFamily\",\n        \"derived\": \"--now-loading_label--primary--font-family\"\n    },\n    \"--now-loading_progress--font-style\": {\n        \"name\": \"loading.progress.fontStyle\",\n        \"derived\": \"--now-loading_label--primary--font-style\"\n    },\n    \"--now-loading_progress--font-weight\": {\n        \"name\": \"loading.progress.fontWeight\",\n        \"derived\": \"--now-loading_label--primary--font-weight\"\n    },\n    \"--now-loading_progress--text-transform\": {\n        \"name\": \"loading.progress.textTransform\",\n        \"derived\": \"--now-loading_label--primary--text-transform\"\n    },\n    \"--now-menu_container--primary--background-color\": {\n        \"name\": \"menu.container.primary.backgroundColor\",\n        \"derived\": \"--now-menu--background-color\"\n    },\n    \"--now-menu_container--primary--border-color\": {\n        \"name\": \"menu.container.primary.borderColor\",\n        \"derived\": \"--now-menu--border-color\"\n    },\n    \"--now-menu_container--primary--border-radius\": {\n        \"name\": \"menu.container.primary.borderRadius\",\n        \"derived\": \"--now-menu--border-radius\"\n    },\n    \"--now-menu_container--primary--border-width\": {\n        \"name\": \"menu.container.primary.borderWidth\",\n        \"derived\": \"--now-menu--border-width\"\n    },\n    \"--now-menu_input_placeholder--primary--color\": {\n        \"name\": \"menu.input.placeholder.primary.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-menu_input_value--primary--color\": {\n        \"name\": \"menu.input.value.primary.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-menu_input--primary--background-color\": {\n        \"name\": \"menu.input.primary.backgroundColor\",\n        \"derived\": \"--now-menu--background-color\"\n    },\n    \"--now-menu_input--primary--background-color--hover\": {\n        \"name\": \"menu.input.primary.backgroundColor.hover\",\n        \"derived\": \"--now-form-control-input--primary--background-color--hover\"\n    },\n    \"--now-menu_input--primary--border-color\": {\n        \"name\": \"menu.input.primary.borderColor\",\n        \"derived\": \"--now-menu--border-color\"\n    },\n    \"--now-menu_input--primary--border-width\": {\n        \"name\": \"menu.input.primary.borderWidth\",\n        \"initial\": \"1px\"\n    },\n    \"--now-menu_input--primary--font-family\": {\n        \"name\": \"menu.input.primary.fontFamily\",\n        \"derived\": \"--now-form-control_value--primary--font-family\"\n    },\n    \"--now-menu_input--primary--font-style\": {\n        \"name\": \"menu.input.primary.fontStyle\",\n        \"derived\": \"--now-form-control_value--primary--font-style\"\n    },\n    \"--now-menu_input--primary--font-weight\": {\n        \"name\": \"menu.input.primary.fontWeight\",\n        \"derived\": \"--now-form-control_value--primary--font-weight\"\n    },\n    \"--now-menu_input--primary--text-transform\": {\n        \"name\": \"menu.input.primary.textTransform\",\n        \"derived\": \"--now-form-control_value--primary--text-transform\"\n    },\n    \"--now-menu-contextual_container_label--primary--color\": {\n        \"name\": \"menuContextual.container.label.primary.color\",\n        \"derived\": \"--now-color--neutral-0\"\n    },\n    \"--now-menu-contextual_container--primary--background-color\": {\n        \"name\": \"menuContextual.container.primary.backgroundColor\",\n        \"derived\": \"--now-color--neutral-19\"\n    },\n    \"--now-menu-contextual_container--primary--background-color-alpha\": {\n        \"name\": \"menuContextual.container.primary.backgroundColorAlpha\",\n        \"initial\": \"1\"\n    },\n    \"--now-menu-contextual_container--primary--border-color\": {\n        \"name\": \"menuContextual.container.primary.borderColor\",\n        \"derived\": \"--now-menu--border-color\"\n    },\n    \"--now-menu-contextual_container--primary--border-radius\": {\n        \"name\": \"menuContextual.container.primary.borderRadius\",\n        \"derived\": \"--now-menu--border-radius\"\n    },\n    \"--now-menu-contextual_container--primary--border-width\": {\n        \"name\": \"menuContextual.container.primary.borderWidth\",\n        \"initial\": \"0px\"\n    },\n    \"--now-menu-contextual_container--primary--font-family\": {\n        \"name\": \"menuContextual.container.primary.fontFamily\",\n        \"derived\": \"--now-menu--font-family\"\n    },\n    \"--now-menu-contextual_container--primary--font-style\": {\n        \"name\": \"menuContextual.container.primary.fontStyle\",\n        \"derived\": \"--now-menu--font-style\"\n    },\n    \"--now-menu-contextual_container--primary--font-weight\": {\n        \"name\": \"menuContextual.container.primary.fontWeight\",\n        \"derived\": \"--now-menu--font-weight\"\n    },\n    \"--now-menu-contextual_container--primary--text-transform\": {\n        \"name\": \"menuContextual.container.primary.textTransform\",\n        \"derived\": \"--now-menu--text-transform\"\n    },\n    \"--now-menu-list_divider--primary--color\": {\n        \"name\": \"menuList.divider.primary.color\",\n        \"derived\": \"--now-color_divider--primary\"\n    },\n    \"--now-menu-list_divider--primary--width\": {\n        \"name\": \"menuList.divider.primary.width\",\n        \"derived\": \"--now-menu_divider--width\"\n    },\n    \"--now-menu-list_divider--secondary--color\": {\n        \"name\": \"menuList.divider.secondary.color\",\n        \"derived\": \"--now-color_divider--secondary\"\n    },\n    \"--now-menu-list_divider--secondary--width\": {\n        \"name\": \"menuList.divider.secondary.width\",\n        \"derived\": \"--now-menu_divider--width\"\n    },\n    \"--now-menu-list_divider--tertiary--color\": {\n        \"name\": \"menuList.divider.tertiary.color\",\n        \"derived\": \"--now-menu_divider--color\"\n    },\n    \"--now-menu-list_divider--tertiary--width\": {\n        \"name\": \"menuList.divider.tertiary.width\",\n        \"derived\": \"--now-menu_divider--width\"\n    },\n    \"--now-menu-list_header--primary--background-color\": {\n        \"name\": \"menuList.header.primary.backgroundColor\",\n        \"derived\": \"--now-color_background--secondary\"\n    },\n    \"--now-menu-list_header--primary--color\": {\n        \"name\": \"menuList.header.primary.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-menu-list_header--primary--font-family\": {\n        \"name\": \"menuList.header.primary.fontFamily\",\n        \"derived\": \"--now-menu_heading--font-family\"\n    },\n    \"--now-menu-list_header--primary--font-style\": {\n        \"name\": \"menuList.header.primary.fontStyle\",\n        \"derived\": \"--now-menu_heading--font-style\"\n    },\n    \"--now-menu-list_header--primary--font-weight\": {\n        \"name\": \"menuList.header.primary.fontWeight\",\n        \"derived\": \"--now-menu_heading--font-weight\"\n    },\n    \"--now-menu-list_header--primary--text-transform\": {\n        \"name\": \"menuList.header.primary.textTransform\",\n        \"derived\": \"--now-menu_heading--text-transform\"\n    },\n    \"--now-menu-list_icon--primary--color\": {\n        \"name\": \"menuList.icon.primary.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-menu-list_icon--primary--color--focus\": {\n        \"name\": \"menuList.icon.primary.color.focus\",\n        \"derived\": \"--now-menu-list_icon--primary--color\"\n    },\n    \"--now-menu-list_icon--primary--color--selected\": {\n        \"name\": \"menuList.icon.primary.color.selected\",\n        \"derived\": \"--now-menu-list_icon--primary--color\"\n    },\n    \"--now-menu-list_label--primary--background-color--highlighted\": {\n        \"name\": \"menuList.label.primary.backgroundColor.highlighted\",\n        \"derived\": \"--now-color_alert--warning-0\"\n    },\n    \"--now-menu-list_label--primary--color\": {\n        \"name\": \"menuList.label.primary.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-menu-list_label--primary--color--active\": {\n        \"name\": \"menuList.label.primary.color.active\",\n        \"derived\": \"--now-menu-list_label--primary--color\"\n    },\n    \"--now-menu-list_label--primary--color--disabled\": {\n        \"name\": \"menuList.label.primary.color.disabled\",\n        \"derived\": \"--now-menu-list_label--primary--color\"\n    },\n    \"--now-menu-list_label--primary--color--focus\": {\n        \"name\": \"menuList.label.primary.color.focus\",\n        \"derived\": \"--now-menu-list_label--primary--color\"\n    },\n    \"--now-menu-list_label--primary--color--highlighted\": {\n        \"name\": \"menuList.label.primary.color.highlighted\",\n        \"derived\": \"--now-menu-list_label--primary--color\"\n    },\n    \"--now-menu-list_label--primary--color--hover\": {\n        \"name\": \"menuList.label.primary.color.hover\",\n        \"derived\": \"--now-menu-list_label--primary--color\"\n    },\n    \"--now-menu-list_label--primary--color--selected\": {\n        \"name\": \"menuList.label.primary.color.selected\",\n        \"derived\": \"--now-menu-list_label--primary--color\"\n    },\n    \"--now-menu-list_label--primary--font-family\": {\n        \"name\": \"menuList.label.primary.fontFamily\",\n        \"derived\": \"--now-menu--font-family\"\n    },\n    \"--now-menu-list_label--primary--font-style\": {\n        \"name\": \"menuList.label.primary.fontStyle\",\n        \"derived\": \"--now-menu--font-style\"\n    },\n    \"--now-menu-list_label--primary--font-weight\": {\n        \"name\": \"menuList.label.primary.fontWeight\",\n        \"derived\": \"--now-menu--font-weight\"\n    },\n    \"--now-menu-list_label--primary--text-transform\": {\n        \"name\": \"menuList.label.primary.textTransform\",\n        \"derived\": \"--now-menu--text-transform\"\n    },\n    \"--now-menu-list_selection--primary--color\": {\n        \"name\": \"menuList.selection.primary.color\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-menu-list_selection--primary--color--focus\": {\n        \"name\": \"menuList.selection.primary.color.focus\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-menu-list_sublabel--primary--color\": {\n        \"name\": \"menuList.sublabel.primary.color\",\n        \"derived\": \"--now-color_text--secondary\"\n    },\n    \"--now-menu-list_sublabel--primary--color--focus\": {\n        \"name\": \"menuList.sublabel.primary.color.focus\",\n        \"derived\": \"--now-menu-list_sublabel--primary--color\"\n    },\n    \"--now-menu-list_sublabel--primary--color--selected\": {\n        \"name\": \"menuList.sublabel.primary.color.selected\",\n        \"derived\": \"--now-menu-list_sublabel--primary--color\"\n    },\n    \"--now-menu-list_sublabel--primary--font-family\": {\n        \"name\": \"menuList.sublabel.primary.fontFamily\",\n        \"derived\": \"--now-menu_sublabel--font-family\"\n    },\n    \"--now-menu-list_sublabel--primary--font-style\": {\n        \"name\": \"menuList.sublabel.primary.fontStyle\",\n        \"derived\": \"--now-menu_sublabel--font-style\"\n    },\n    \"--now-menu-list_sublabel--primary--font-weight\": {\n        \"name\": \"menuList.sublabel.primary.fontWeight\",\n        \"derived\": \"--now-menu_sublabel--font-weight\"\n    },\n    \"--now-menu-list_sublabel--primary--text-transform\": {\n        \"name\": \"menuList.sublabel.primary.textTransform\",\n        \"derived\": \"--now-menu_sublabel--text-transform\"\n    },\n    \"--now-menu-list--primary--background-color\": {\n        \"name\": \"menuList.primary.backgroundColor\",\n        \"derived\": \"--now-menu--background-color\"\n    },\n    \"--now-menu-list--primary--background-color--active\": {\n        \"name\": \"menuList.primary.backgroundColor.active\",\n        \"derived\": \"--now-color--interactive-0\"\n    },\n    \"--now-menu-list--primary--background-color--disabled\": {\n        \"name\": \"menuList.primary.backgroundColor.disabled\",\n        \"derived\": \"--now-menu-list--primary--background-color\"\n    },\n    \"--now-menu-list--primary--background-color--focus\": {\n        \"name\": \"menuList.primary.backgroundColor.focus\",\n        \"derived\": \"--now-color--interactive-0\"\n    },\n    \"--now-menu-list--primary--background-color--hover\": {\n        \"name\": \"menuList.primary.backgroundColor.hover\",\n        \"derived\": \"--now-color--interactive-0\"\n    },\n    \"--now-menu-list--primary--background-color--selected\": {\n        \"name\": \"menuList.primary.backgroundColor.selected\",\n        \"derived\": \"--now-menu-list--primary--background-color\"\n    },\n    \"--now-menu-list--primary--background-color-alpha--focus\": {\n        \"name\": \"menuList.primary.backgroundColorAlpha.focus\",\n        \"derived\": \"--now-opacity--mid\"\n    },\n    \"--now-menu-list--primary--opacity--disabled\": {\n        \"name\": \"menuList.primary.opacity.disabled\",\n        \"derived\": \"--now-opacity--less\"\n    },\n    \"--now-menu-picker_cell_header--background-color\": {\n        \"name\": \"menuPicker.cell.header.backgroundColor\",\n        \"derived\": \"--now-menu-picker_cell--background-color\"\n    },\n    \"--now-menu-picker_cell_header--color\": {\n        \"name\": \"menuPicker.cell.header.color\",\n        \"derived\": \"--now-color_text--secondary\"\n    },\n    \"--now-menu-picker_cell_header--font-family\": {\n        \"name\": \"menuPicker.cell.header.fontFamily\",\n        \"derived\": \"--now-menu-picker_cell--font-family\"\n    },\n    \"--now-menu-picker_cell_header--font-style\": {\n        \"name\": \"menuPicker.cell.header.fontStyle\",\n        \"derived\": \"--now-menu-picker_cell--font-style\"\n    },\n    \"--now-menu-picker_cell_header--font-weight\": {\n        \"name\": \"menuPicker.cell.header.fontWeight\",\n        \"initial\": \"normal\"\n    },\n    \"--now-menu-picker_cell_header--text-transform\": {\n        \"name\": \"menuPicker.cell.header.textTransform\",\n        \"derived\": \"--now-menu-picker_cell--text-transform\"\n    },\n    \"--now-menu-picker_cell_label--color\": {\n        \"name\": \"menuPicker.cell.label.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-menu-picker_cell_label--color--active\": {\n        \"name\": \"menuPicker.cell.label.color.active\",\n        \"derived\": \"--now-menu-picker_cell_label--color\"\n    },\n    \"--now-menu-picker_cell_label--color--adjacent\": {\n        \"name\": \"menuPicker.cell.label.color.adjacent\",\n        \"derived\": \"--now-menu-picker_cell_label--color\"\n    },\n    \"--now-menu-picker_cell_label--color--adjacent_active\": {\n        \"name\": \"menuPicker.cell.label.color.adjacent.active\",\n        \"derived\": \"--now-menu-picker_cell_label--color--adjacent\"\n    },\n    \"--now-menu-picker_cell_label--color--adjacent_hover\": {\n        \"name\": \"menuPicker.cell.label.color.adjacent.hover\",\n        \"derived\": \"--now-menu-picker_cell_label--color--adjacent\"\n    },\n    \"--now-menu-picker_cell_label--color--hover\": {\n        \"name\": \"menuPicker.cell.label.color.hover\",\n        \"derived\": \"--now-menu-picker_cell_label--color\"\n    },\n    \"--now-menu-picker_cell_label--color--now\": {\n        \"name\": \"menuPicker.cell.label.color.now\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-menu-picker_cell_label--color--now_active\": {\n        \"name\": \"menuPicker.cell.label.color.now.active\",\n        \"derived\": \"--now-color--secondary-3\"\n    },\n    \"--now-menu-picker_cell_label--color--now_hover\": {\n        \"name\": \"menuPicker.cell.label.color.now.hover\",\n        \"derived\": \"--now-color--secondary-2\"\n    },\n    \"--now-menu-picker_cell_label--color--preview\": {\n        \"name\": \"menuPicker.cell.label.color.preview\",\n        \"derived\": \"--now-menu-picker_cell_label--color\"\n    },\n    \"--now-menu-picker_cell_label--color--range\": {\n        \"name\": \"menuPicker.cell.label.color.range\",\n        \"derived\": \"--now-menu-picker_cell_label--color\"\n    },\n    \"--now-menu-picker_cell_label--color--range_active\": {\n        \"name\": \"menuPicker.cell.label.color.range.active\",\n        \"derived\": \"--now-menu-picker_cell_label--color--range\"\n    },\n    \"--now-menu-picker_cell_label--color--range_hover\": {\n        \"name\": \"menuPicker.cell.label.color.range.hover\",\n        \"derived\": \"--now-menu-picker_cell_label--color--range\"\n    },\n    \"--now-menu-picker_cell_label--color--selected\": {\n        \"name\": \"menuPicker.cell.label.color.selected\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-menu-picker_cell_label--color--selected_active\": {\n        \"name\": \"menuPicker.cell.label.color.selected.active\",\n        \"derived\": \"--now-menu-picker_cell_label--color--selected\"\n    },\n    \"--now-menu-picker_cell_label--color--selected_hover\": {\n        \"name\": \"menuPicker.cell.label.color.selected.hover\",\n        \"derived\": \"--now-menu-picker_cell_label--color--selected\"\n    },\n    \"--now-menu-picker_cell_label--color--series-preview\": {\n        \"name\": \"menuPicker.cell.label.color.seriesPreview\",\n        \"derived\": \"--now-menu-picker_cell_label--color\"\n    },\n    \"--now-menu-picker_cell_label--color--series-preview_active\": {\n        \"name\": \"menuPicker.cell.label.color.seriesPreview.active\",\n        \"derived\": \"--now-menu-picker_cell_label--color--series-preview\"\n    },\n    \"--now-menu-picker_cell_label--color--series-preview_hover\": {\n        \"name\": \"menuPicker.cell.label.color.seriesPreview.hover\",\n        \"derived\": \"--now-menu-picker_cell_label--color--series-preview\"\n    },\n    \"--now-menu-picker_cell_label--color--series-range\": {\n        \"name\": \"menuPicker.cell.label.color.seriesRange\",\n        \"derived\": \"--now-menu-picker_cell_label--color\"\n    },\n    \"--now-menu-picker_cell_label--color--series-range_active\": {\n        \"name\": \"menuPicker.cell.label.color.seriesRange.active\",\n        \"derived\": \"--now-menu-picker_cell_label--color--series-range\"\n    },\n    \"--now-menu-picker_cell_label--color--series-range_hover\": {\n        \"name\": \"menuPicker.cell.label.color.seriesRange.hover\",\n        \"derived\": \"--now-menu-picker_cell_label--color--series-range\"\n    },\n    \"--now-menu-picker_cell--background-color\": {\n        \"name\": \"menuPicker.cell.backgroundColor\",\n        \"derived\": \"--now-menu--background-color\"\n    },\n    \"--now-menu-picker_cell--background-color--active\": {\n        \"name\": \"menuPicker.cell.backgroundColor.active\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-menu-picker_cell--background-color--adjacent\": {\n        \"name\": \"menuPicker.cell.backgroundColor.adjacent\",\n        \"derived\": \"--now-menu-picker_cell--background-color\"\n    },\n    \"--now-menu-picker_cell--background-color--adjacent_active\": {\n        \"name\": \"menuPicker.cell.backgroundColor.adjacent.active\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-menu-picker_cell--background-color--adjacent_hover\": {\n        \"name\": \"menuPicker.cell.backgroundColor.adjacent.hover\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-menu-picker_cell--background-color--hover\": {\n        \"name\": \"menuPicker.cell.backgroundColor.hover\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-menu-picker_cell--background-color--now\": {\n        \"name\": \"menuPicker.cell.backgroundColor.now\",\n        \"derived\": \"--now-menu-picker_cell--background-color\"\n    },\n    \"--now-menu-picker_cell--background-color--now_active\": {\n        \"name\": \"menuPicker.cell.backgroundColor.now.active\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-menu-picker_cell--background-color--now_hover\": {\n        \"name\": \"menuPicker.cell.backgroundColor.now.hover\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-menu-picker_cell--background-color--preview\": {\n        \"name\": \"menuPicker.cell.backgroundColor.preview\",\n        \"derived\": \"--now-color_selection--secondary-0\"\n    },\n    \"--now-menu-picker_cell--background-color--range\": {\n        \"name\": \"menuPicker.cell.backgroundColor.range\",\n        \"derived\": \"--now-color_selection--secondary-0\"\n    },\n    \"--now-menu-picker_cell--background-color--range_active\": {\n        \"name\": \"menuPicker.cell.backgroundColor.range.active\",\n        \"derived\": \"--now-color_selection--secondary-2\"\n    },\n    \"--now-menu-picker_cell--background-color--range_hover\": {\n        \"name\": \"menuPicker.cell.backgroundColor.range.hover\",\n        \"derived\": \"--now-color_selection--secondary-1\"\n    },\n    \"--now-menu-picker_cell--background-color--selected\": {\n        \"name\": \"menuPicker.cell.backgroundColor.selected\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-menu-picker_cell--background-color--selected_active\": {\n        \"name\": \"menuPicker.cell.backgroundColor.selected.active\",\n        \"derived\": \"--now-color--secondary-3\"\n    },\n    \"--now-menu-picker_cell--background-color--selected_hover\": {\n        \"name\": \"menuPicker.cell.backgroundColor.selected.hover\",\n        \"derived\": \"--now-color--secondary-2\"\n    },\n    \"--now-menu-picker_cell--background-color--series\": {\n        \"name\": \"menuPicker.cell.backgroundColor.series\",\n        \"derived\": \"--now-menu-picker_cell--background-color\"\n    },\n    \"--now-menu-picker_cell--background-color--series-preview\": {\n        \"name\": \"menuPicker.cell.backgroundColor.seriesPreview\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-menu-picker_cell--background-color--series-preview_active\": {\n        \"name\": \"menuPicker.cell.backgroundColor.seriesPreview.active\",\n        \"derived\": \"--now-menu-picker_cell--background-color--series-preview\"\n    },\n    \"--now-menu-picker_cell--background-color--series-preview_hover\": {\n        \"name\": \"menuPicker.cell.backgroundColor.seriesPreview.hover\",\n        \"derived\": \"--now-menu-picker_cell--background-color--series-preview\"\n    },\n    \"--now-menu-picker_cell--background-color--series-range\": {\n        \"name\": \"menuPicker.cell.backgroundColor.seriesRange\",\n        \"derived\": \"--now-color--interactive-0\"\n    },\n    \"--now-menu-picker_cell--background-color--series-range_active\": {\n        \"name\": \"menuPicker.cell.backgroundColor.seriesRange.active\",\n        \"derived\": \"--now-menu-picker_cell--background-color--series-range\"\n    },\n    \"--now-menu-picker_cell--background-color--series-range_hover\": {\n        \"name\": \"menuPicker.cell.backgroundColor.seriesRange.hover\",\n        \"derived\": \"--now-menu-picker_cell--background-color--series-range\"\n    },\n    \"--now-menu-picker_cell--background-color--week\": {\n        \"name\": \"menuPicker.cell.backgroundColor.week\",\n        \"derived\": \"--now-menu-picker_cell--background-color\"\n    },\n    \"--now-menu-picker_cell--background-color-alpha--week\": {\n        \"name\": \"menuPicker.cell.backgroundColorAlpha.week\",\n        \"initial\": \"0\"\n    },\n    \"--now-menu-picker_cell--border-color\": {\n        \"name\": \"menuPicker.cell.borderColor\",\n        \"derived\": \"--now-menu--border-color\"\n    },\n    \"--now-menu-picker_cell--border-color--active\": {\n        \"name\": \"menuPicker.cell.borderColor.active\",\n        \"derived\": \"--now-menu-picker_cell--border-color\"\n    },\n    \"--now-menu-picker_cell--border-color--adjacent\": {\n        \"name\": \"menuPicker.cell.borderColor.adjacent\",\n        \"derived\": \"--now-menu-picker_cell--border-color\"\n    },\n    \"--now-menu-picker_cell--border-color--adjacent_active\": {\n        \"name\": \"menuPicker.cell.borderColor.adjacent.active\",\n        \"derived\": \"--now-menu-picker_cell--border-color--adjacent\"\n    },\n    \"--now-menu-picker_cell--border-color--adjacent_hover\": {\n        \"name\": \"menuPicker.cell.borderColor.adjacent.hover\",\n        \"derived\": \"--now-menu-picker_cell--border-color--adjacent\"\n    },\n    \"--now-menu-picker_cell--border-color--hover\": {\n        \"name\": \"menuPicker.cell.borderColor.hover\",\n        \"derived\": \"--now-menu-picker_cell--border-color\"\n    },\n    \"--now-menu-picker_cell--border-color--now\": {\n        \"name\": \"menuPicker.cell.borderColor.now\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-menu-picker_cell--border-color--now_active\": {\n        \"name\": \"menuPicker.cell.borderColor.now.active\",\n        \"derived\": \"--now-color--secondary-3\"\n    },\n    \"--now-menu-picker_cell--border-color--now_hover\": {\n        \"name\": \"menuPicker.cell.borderColor.now.hover\",\n        \"derived\": \"--now-color--secondary-2\"\n    },\n    \"--now-menu-picker_cell--border-color--preview\": {\n        \"name\": \"menuPicker.cell.borderColor.preview\",\n        \"derived\": \"--now-menu-picker_cell--border-color\"\n    },\n    \"--now-menu-picker_cell--border-color--range\": {\n        \"name\": \"menuPicker.cell.borderColor.range\",\n        \"derived\": \"--now-menu-picker_cell--border-color\"\n    },\n    \"--now-menu-picker_cell--border-color--range_active\": {\n        \"name\": \"menuPicker.cell.borderColor.range.active\",\n        \"derived\": \"--now-menu-picker_cell--border-color--range\"\n    },\n    \"--now-menu-picker_cell--border-color--range_hover\": {\n        \"name\": \"menuPicker.cell.borderColor.range.hover\",\n        \"derived\": \"--now-menu-picker_cell--border-color--range\"\n    },\n    \"--now-menu-picker_cell--border-color--selected\": {\n        \"name\": \"menuPicker.cell.borderColor.selected\",\n        \"derived\": \"--now-menu-picker_cell--border-color\"\n    },\n    \"--now-menu-picker_cell--border-color--selected_active\": {\n        \"name\": \"menuPicker.cell.borderColor.selected.active\",\n        \"derived\": \"--now-menu-picker_cell--border-color--selected\"\n    },\n    \"--now-menu-picker_cell--border-color--selected_hover\": {\n        \"name\": \"menuPicker.cell.borderColor.selected.hover\",\n        \"derived\": \"--now-menu-picker_cell--border-color--selected\"\n    },\n    \"--now-menu-picker_cell--border-color--series\": {\n        \"name\": \"menuPicker.cell.borderColor.series\",\n        \"derived\": \"--now-menu-picker_cell--border-color\"\n    },\n    \"--now-menu-picker_cell--border-color--series-preview\": {\n        \"name\": \"menuPicker.cell.borderColor.seriesPreview\",\n        \"derived\": \"--now-menu-picker_cell--border-color\"\n    },\n    \"--now-menu-picker_cell--border-color--series-preview_active\": {\n        \"name\": \"menuPicker.cell.borderColor.seriesPreview.active\",\n        \"derived\": \"--now-menu-picker_cell--border-color--series-preview\"\n    },\n    \"--now-menu-picker_cell--border-color--series-preview_hover\": {\n        \"name\": \"menuPicker.cell.borderColor.seriesPreview.hover\",\n        \"derived\": \"--now-menu-picker_cell--border-color--series-preview\"\n    },\n    \"--now-menu-picker_cell--border-color--series-range\": {\n        \"name\": \"menuPicker.cell.borderColor.seriesRange\",\n        \"derived\": \"--now-menu-picker_cell--border-color\"\n    },\n    \"--now-menu-picker_cell--border-color--series-range_active\": {\n        \"name\": \"menuPicker.cell.borderColor.seriesRange.active\",\n        \"derived\": \"--now-menu-picker_cell--border-color--series-range\"\n    },\n    \"--now-menu-picker_cell--border-color--series-range_hover\": {\n        \"name\": \"menuPicker.cell.borderColor.seriesRange.hover\",\n        \"derived\": \"--now-menu-picker_cell--border-color--series-range\"\n    },\n    \"--now-menu-picker_cell--border-radius\": {\n        \"name\": \"menuPicker.cell.borderRadius\",\n        \"initial\": \"4px\"\n    },\n    \"--now-menu-picker_cell--border-radius--adjacent\": {\n        \"name\": \"menuPicker.cell.borderRadius.adjacent\",\n        \"derived\": \"--now-menu-picker_cell--border-radius\"\n    },\n    \"--now-menu-picker_cell--border-radius--now\": {\n        \"name\": \"menuPicker.cell.borderRadius.now\",\n        \"derived\": \"--now-menu-picker_cell--border-radius\"\n    },\n    \"--now-menu-picker_cell--border-radius--preview\": {\n        \"name\": \"menuPicker.cell.borderRadius.preview\",\n        \"derived\": \"--now-menu-picker_cell--border-radius\"\n    },\n    \"--now-menu-picker_cell--border-radius--range\": {\n        \"name\": \"menuPicker.cell.borderRadius.range\",\n        \"derived\": \"--now-menu-picker_cell--border-radius\"\n    },\n    \"--now-menu-picker_cell--border-radius--selected\": {\n        \"name\": \"menuPicker.cell.borderRadius.selected\",\n        \"derived\": \"--now-menu-picker_cell--border-radius\"\n    },\n    \"--now-menu-picker_cell--border-radius--series\": {\n        \"name\": \"menuPicker.cell.borderRadius.series\",\n        \"derived\": \"--now-menu-picker_cell--border-radius\"\n    },\n    \"--now-menu-picker_cell--border-radius--series-preview\": {\n        \"name\": \"menuPicker.cell.borderRadius.seriesPreview\",\n        \"derived\": \"--now-menu-picker_cell--border-radius\"\n    },\n    \"--now-menu-picker_cell--border-radius--series-range\": {\n        \"name\": \"menuPicker.cell.borderRadius.seriesRange\",\n        \"derived\": \"--now-menu-picker_cell--border-radius\"\n    },\n    \"--now-menu-picker_cell--border-width\": {\n        \"name\": \"menuPicker.cell.borderWidth\",\n        \"initial\": \"0px\"\n    },\n    \"--now-menu-picker_cell--border-width--adjacent\": {\n        \"name\": \"menuPicker.cell.borderWidth.adjacent\",\n        \"derived\": \"--now-menu-picker_cell--border-width\"\n    },\n    \"--now-menu-picker_cell--border-width--now\": {\n        \"name\": \"menuPicker.cell.borderWidth.now\",\n        \"initial\": \"1px\"\n    },\n    \"--now-menu-picker_cell--border-width--preview\": {\n        \"name\": \"menuPicker.cell.borderWidth.preview\",\n        \"derived\": \"--now-menu-picker_cell--border-width\"\n    },\n    \"--now-menu-picker_cell--border-width--range\": {\n        \"name\": \"menuPicker.cell.borderWidth.range\",\n        \"derived\": \"--now-menu-picker_cell--border-width\"\n    },\n    \"--now-menu-picker_cell--border-width--selected\": {\n        \"name\": \"menuPicker.cell.borderWidth.selected\",\n        \"derived\": \"--now-menu-picker_cell--border-width\"\n    },\n    \"--now-menu-picker_cell--border-width--series\": {\n        \"name\": \"menuPicker.cell.borderWidth.series\",\n        \"derived\": \"--now-menu-picker_cell--border-width\"\n    },\n    \"--now-menu-picker_cell--border-width--series-preview\": {\n        \"name\": \"menuPicker.cell.borderWidth.seriesPreview\",\n        \"derived\": \"--now-menu-picker_cell--border-width\"\n    },\n    \"--now-menu-picker_cell--border-width--series-range\": {\n        \"name\": \"menuPicker.cell.borderWidth.seriesRange\",\n        \"derived\": \"--now-menu-picker_cell--border-width\"\n    },\n    \"--now-menu-picker_cell--color--series\": {\n        \"name\": \"menuPicker.cell.color.series\",\n        \"derived\": \"--now-color_text--secondary\"\n    },\n    \"--now-menu-picker_cell--color--week\": {\n        \"name\": \"menuPicker.cell.color.week\",\n        \"derived\": \"--now-color_text--secondary\"\n    },\n    \"--now-menu-picker_cell--font-family\": {\n        \"name\": \"menuPicker.cell.fontFamily\",\n        \"derived\": \"--now-menu-picker--font-family\"\n    },\n    \"--now-menu-picker_cell--font-family--adjacent\": {\n        \"name\": \"menuPicker.cell.fontFamily.adjacent\",\n        \"derived\": \"--now-menu-picker_cell--font-family\"\n    },\n    \"--now-menu-picker_cell--font-family--week\": {\n        \"name\": \"menuPicker.cell.fontFamily.week\",\n        \"derived\": \"--now-menu-picker_cell--font-family\"\n    },\n    \"--now-menu-picker_cell--font-style\": {\n        \"name\": \"menuPicker.cell.fontStyle\",\n        \"derived\": \"--now-menu-picker--font-style\"\n    },\n    \"--now-menu-picker_cell--font-style--adjacent\": {\n        \"name\": \"menuPicker.cell.fontStyle.adjacent\",\n        \"derived\": \"--now-menu-picker_cell--font-style\"\n    },\n    \"--now-menu-picker_cell--font-style--week\": {\n        \"name\": \"menuPicker.cell.fontStyle.week\",\n        \"derived\": \"--now-menu-picker_cell--font-style\"\n    },\n    \"--now-menu-picker_cell--font-weight\": {\n        \"name\": \"menuPicker.cell.fontWeight\",\n        \"initial\": \"bold\"\n    },\n    \"--now-menu-picker_cell--font-weight--adjacent\": {\n        \"name\": \"menuPicker.cell.fontWeight.adjacent\",\n        \"initial\": \"normal\"\n    },\n    \"--now-menu-picker_cell--font-weight--week\": {\n        \"name\": \"menuPicker.cell.fontWeight.week\",\n        \"derived\": \"--now-menu-picker_cell--font-weight\"\n    },\n    \"--now-menu-picker_cell--opacity--disabled\": {\n        \"name\": \"menuPicker.cell.opacity.disabled\",\n        \"derived\": \"--now-opacity--less\"\n    },\n    \"--now-menu-picker_cell--text-transform\": {\n        \"name\": \"menuPicker.cell.textTransform\",\n        \"derived\": \"--now-menu-picker--text-transform\"\n    },\n    \"--now-menu-picker_cell--text-transform--adjacent\": {\n        \"name\": \"menuPicker.cell.textTransform.adjacent\",\n        \"derived\": \"--now-menu-picker_cell--text-transform\"\n    },\n    \"--now-menu-picker_cell--text-transform--week\": {\n        \"name\": \"menuPicker.cell.textTransform.week\",\n        \"derived\": \"--now-menu-picker_cell--text-transform\"\n    },\n    \"--now-menu-picker_container_divider--color\": {\n        \"name\": \"menuPicker.container.divider.color\",\n        \"derived\": \"--now-menu_divider--color\"\n    },\n    \"--now-menu-picker_container_divider--width\": {\n        \"name\": \"menuPicker.container.divider.width\",\n        \"initial\": \"1px\"\n    },\n    \"--now-menu-picker_container--background-color\": {\n        \"name\": \"menuPicker.container.backgroundColor\",\n        \"derived\": \"--now-menu_container--primary--background-color\"\n    },\n    \"--now-menu-picker_container--border-color\": {\n        \"name\": \"menuPicker.container.borderColor\",\n        \"derived\": \"--now-menu_container--primary--border-color\"\n    },\n    \"--now-menu-picker_container--border-radius\": {\n        \"name\": \"menuPicker.container.borderRadius\",\n        \"derived\": \"--now-menu_container--primary--border-radius\"\n    },\n    \"--now-menu-picker_container--border-width\": {\n        \"name\": \"menuPicker.container.borderWidth\",\n        \"derived\": \"--now-menu_container--primary--border-width\"\n    },\n    \"--now-menu-picker_footer_divider--color\": {\n        \"name\": \"menuPicker.footer.divider.color\",\n        \"derived\": \"--now-menu_divider--color\"\n    },\n    \"--now-menu-picker_footer_divider--width\": {\n        \"name\": \"menuPicker.footer.divider.width\",\n        \"initial\": \"1px\"\n    },\n    \"--now-menu-picker_footer--background-color\": {\n        \"name\": \"menuPicker.footer.backgroundColor\",\n        \"derived\": \"--now-menu--background-color\"\n    },\n    \"--now-menu-picker_footer--font-family\": {\n        \"name\": \"menuPicker.footer.fontFamily\",\n        \"derived\": \"--now-menu-picker--font-family\"\n    },\n    \"--now-menu-picker_footer--font-style\": {\n        \"name\": \"menuPicker.footer.fontStyle\",\n        \"derived\": \"--now-menu-picker--font-style\"\n    },\n    \"--now-menu-picker_footer--font-weight\": {\n        \"name\": \"menuPicker.footer.fontWeight\",\n        \"initial\": \"bold\"\n    },\n    \"--now-menu-picker_footer--text-transform\": {\n        \"name\": \"menuPicker.footer.textTransform\",\n        \"derived\": \"--now-menu-picker--text-transform\"\n    },\n    \"--now-menu-picker_header_divider--primary--color\": {\n        \"name\": \"menuPicker.header.divider.primary.color\",\n        \"derived\": \"--now-menu_divider--color\"\n    },\n    \"--now-menu-picker_header_divider--primary--width\": {\n        \"name\": \"menuPicker.header.divider.primary.width\",\n        \"initial\": \"1px\"\n    },\n    \"--now-menu-picker_header_divider--secondary--color\": {\n        \"name\": \"menuPicker.header.divider.secondary.color\",\n        \"derived\": \"--now-menu_divider--color\"\n    },\n    \"--now-menu-picker_header_divider--secondary--width\": {\n        \"name\": \"menuPicker.header.divider.secondary.width\",\n        \"initial\": \"1px\"\n    },\n    \"--now-menu-picker_header--primary--background-color\": {\n        \"name\": \"menuPicker.header.primary.backgroundColor\",\n        \"derived\": \"--now-menu--background-color\"\n    },\n    \"--now-menu-picker_header--primary--color\": {\n        \"name\": \"menuPicker.header.primary.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-menu-picker_header--primary--font-family\": {\n        \"name\": \"menuPicker.header.primary.fontFamily\",\n        \"derived\": \"--now-menu-picker--font-family\"\n    },\n    \"--now-menu-picker_header--primary--font-style\": {\n        \"name\": \"menuPicker.header.primary.fontStyle\",\n        \"derived\": \"--now-menu-picker--font-style\"\n    },\n    \"--now-menu-picker_header--primary--font-weight\": {\n        \"name\": \"menuPicker.header.primary.fontWeight\",\n        \"initial\": \"bold\"\n    },\n    \"--now-menu-picker_header--primary--text-transform\": {\n        \"name\": \"menuPicker.header.primary.textTransform\",\n        \"derived\": \"--now-menu-picker--text-transform\"\n    },\n    \"--now-menu-picker_header--secondary--background-color\": {\n        \"name\": \"menuPicker.header.secondary.backgroundColor\",\n        \"derived\": \"--now-color_background--secondary\"\n    },\n    \"--now-menu-picker_header--secondary--color\": {\n        \"name\": \"menuPicker.header.secondary.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-menu-picker_header--secondary--font-family\": {\n        \"name\": \"menuPicker.header.secondary.fontFamily\",\n        \"derived\": \"--now-menu-picker--font-family\"\n    },\n    \"--now-menu-picker_header--secondary--font-style\": {\n        \"name\": \"menuPicker.header.secondary.fontStyle\",\n        \"derived\": \"--now-menu-picker--font-style\"\n    },\n    \"--now-menu-picker_header--secondary--font-weight\": {\n        \"name\": \"menuPicker.header.secondary.fontWeight\",\n        \"derived\": \"--now-menu-picker--font-weight\"\n    },\n    \"--now-menu-picker_header--secondary--text-transform\": {\n        \"name\": \"menuPicker.header.secondary.textTransform\",\n        \"derived\": \"--now-menu-picker--text-transform\"\n    },\n    \"--now-menu-picker_item_label--primary--color\": {\n        \"name\": \"menuPicker.item.label.primary.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-menu-picker_item_label--primary--color--focus\": {\n        \"name\": \"menuPicker.item.label.primary.color.focus\",\n        \"derived\": \"--now-menu-picker_item_label--primary--color\"\n    },\n    \"--now-menu-picker_item_label--primary--color--hover\": {\n        \"name\": \"menuPicker.item.label.primary.color.hover\",\n        \"derived\": \"--now-menu-picker_item_label--primary--color\"\n    },\n    \"--now-menu-picker_item_label--primary--color--selected\": {\n        \"name\": \"menuPicker.item.label.primary.color.selected\",\n        \"derived\": \"--now-menu-picker_item_label--primary--color\"\n    },\n    \"--now-menu-picker_item_label--secondary--color\": {\n        \"name\": \"menuPicker.item.label.secondary.color\",\n        \"derived\": \"--now-color_text--secondary\"\n    },\n    \"--now-menu-picker_item_label--secondary--color--focus\": {\n        \"name\": \"menuPicker.item.label.secondary.color.focus\",\n        \"derived\": \"--now-menu-picker_item_label--secondary--color\"\n    },\n    \"--now-menu-picker_item_label--secondary--color--hover\": {\n        \"name\": \"menuPicker.item.label.secondary.color.hover\",\n        \"derived\": \"--now-menu-picker_item_label--secondary--color\"\n    },\n    \"--now-menu-picker_item_label--secondary--color--selected\": {\n        \"name\": \"menuPicker.item.label.secondary.color.selected\",\n        \"derived\": \"--now-menu-picker_item_label--secondary--color\"\n    },\n    \"--now-menu-picker_item_label--tertiary--color\": {\n        \"name\": \"menuPicker.item.label.tertiary.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-menu-picker_item_label--tertiary--color--focus\": {\n        \"name\": \"menuPicker.item.label.tertiary.color.focus\",\n        \"derived\": \"--now-menu-picker_item_label--tertiary--color\"\n    },\n    \"--now-menu-picker_item_label--tertiary--color--hover\": {\n        \"name\": \"menuPicker.item.label.tertiary.color.hover\",\n        \"derived\": \"--now-menu-picker_item_label--tertiary--color\"\n    },\n    \"--now-menu-picker_item_label--tertiary--color--selected\": {\n        \"name\": \"menuPicker.item.label.tertiary.color.selected\",\n        \"derived\": \"--now-menu-picker_item_label--tertiary--color\"\n    },\n    \"--now-menu-picker_item_selection--color\": {\n        \"name\": \"menuPicker.item.selection.color\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-menu-picker_item_selection--color--focus\": {\n        \"name\": \"menuPicker.item.selection.color.focus\",\n        \"derived\": \"--now-menu-picker_item_selection--color\"\n    },\n    \"--now-menu-picker_item_selection--color--hover\": {\n        \"name\": \"menuPicker.item.selection.color.hover\",\n        \"derived\": \"--now-menu-picker_item_selection--color\"\n    },\n    \"--now-menu-picker_item_selection--color--selected\": {\n        \"name\": \"menuPicker.item.selection.color.selected\",\n        \"derived\": \"--now-menu-picker_item_selection--color\"\n    },\n    \"--now-menu-picker_item--background-color\": {\n        \"name\": \"menuPicker.item.backgroundColor\",\n        \"derived\": \"--now-menu--background-color\"\n    },\n    \"--now-menu-picker_item--background-color--hover\": {\n        \"name\": \"menuPicker.item.backgroundColor.hover\",\n        \"derived\": \"--now-color_selection--secondary-0\"\n    },\n    \"--now-menu-picker_item--background-color--selected\": {\n        \"name\": \"menuPicker.item.backgroundColor.selected\",\n        \"derived\": \"--now-menu-picker_item--background-color\"\n    },\n    \"--now-menu-picker_item--border-color\": {\n        \"name\": \"menuPicker.item.borderColor\",\n        \"derived\": \"--now-menu--border-color\"\n    },\n    \"--now-menu-picker_item--border-color--focus\": {\n        \"name\": \"menuPicker.item.borderColor.focus\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-menu-picker_item--border-color--hover\": {\n        \"name\": \"menuPicker.item.borderColor.hover\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-menu-picker_item--border-color--selected\": {\n        \"name\": \"menuPicker.item.borderColor.selected\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-menu-picker_item--border-radius\": {\n        \"name\": \"menuPicker.item.borderRadius\",\n        \"derived\": \"--now-menu--border-radius\"\n    },\n    \"--now-menu-picker_item--border-width\": {\n        \"name\": \"menuPicker.item.borderWidth\",\n        \"derived\": \"--now-menu--border-width\"\n    },\n    \"--now-menu-picker_item--color-alpha--hover\": {\n        \"name\": \"menuPicker.item.colorAlpha.hover\",\n        \"initial\": \"1\"\n    },\n    \"--now-menu-picker_item--font-family\": {\n        \"name\": \"menuPicker.item.fontFamily\",\n        \"derived\": \"--now-menu-picker--font-family\"\n    },\n    \"--now-menu-picker_item--font-style\": {\n        \"name\": \"menuPicker.item.fontStyle\",\n        \"derived\": \"--now-menu-picker--font-style\"\n    },\n    \"--now-menu-picker_item--font-weight\": {\n        \"name\": \"menuPicker.item.fontWeight\",\n        \"derived\": \"--now-menu-picker--font-weight\"\n    },\n    \"--now-menu-picker_item--text-transform\": {\n        \"name\": \"menuPicker.item.textTransform\",\n        \"derived\": \"--now-menu-picker--text-transform\"\n    },\n    \"--now-menu-picker_label--primary--color\": {\n        \"name\": \"menuPicker.label.primary.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-menu-picker_label--primary--font-family\": {\n        \"name\": \"menuPicker.label.primary.fontFamily\",\n        \"derived\": \"--now-menu-picker--font-family\"\n    },\n    \"--now-menu-picker_label--primary--font-style\": {\n        \"name\": \"menuPicker.label.primary.fontStyle\",\n        \"derived\": \"--now-menu-picker--font-style\"\n    },\n    \"--now-menu-picker_label--primary--font-weight\": {\n        \"name\": \"menuPicker.label.primary.fontWeight\",\n        \"derived\": \"--now-menu-picker--font-weight\"\n    },\n    \"--now-menu-picker_label--primary--text-transform\": {\n        \"name\": \"menuPicker.label.primary.textTransform\",\n        \"derived\": \"--now-menu-picker--text-transform\"\n    },\n    \"--now-menu-picker_label--secondary--color\": {\n        \"name\": \"menuPicker.label.secondary.color\",\n        \"derived\": \"--now-color_text--secondary\"\n    },\n    \"--now-menu-picker_label--secondary--font-family\": {\n        \"name\": \"menuPicker.label.secondary.fontFamily\",\n        \"derived\": \"--now-menu-picker--font-family\"\n    },\n    \"--now-menu-picker_label--secondary--font-style\": {\n        \"name\": \"menuPicker.label.secondary.fontStyle\",\n        \"derived\": \"--now-menu-picker--font-style\"\n    },\n    \"--now-menu-picker_label--secondary--font-weight\": {\n        \"name\": \"menuPicker.label.secondary.fontWeight\",\n        \"derived\": \"--now-menu-picker--font-weight\"\n    },\n    \"--now-menu-picker_label--secondary--text-transform\": {\n        \"name\": \"menuPicker.label.secondary.textTransform\",\n        \"derived\": \"--now-menu-picker--text-transform\"\n    },\n    \"--now-menu-picker_label--tertiary--color\": {\n        \"name\": \"menuPicker.label.tertiary.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-menu-picker_label--tertiary--font-family\": {\n        \"name\": \"menuPicker.label.tertiary.fontFamily\",\n        \"derived\": \"--now-menu-picker--font-family\"\n    },\n    \"--now-menu-picker_label--tertiary--font-style\": {\n        \"name\": \"menuPicker.label.tertiary.fontStyle\",\n        \"derived\": \"--now-menu-picker--font-style\"\n    },\n    \"--now-menu-picker_label--tertiary--font-weight\": {\n        \"name\": \"menuPicker.label.tertiary.fontWeight\",\n        \"derived\": \"--now-menu-picker--font-weight\"\n    },\n    \"--now-menu-picker_label--tertiary--text-transform\": {\n        \"name\": \"menuPicker.label.tertiary.textTransform\",\n        \"derived\": \"--now-menu-picker--text-transform\"\n    },\n    \"--now-menu-picker_select_item--border-color\": {\n        \"name\": \"menuPicker.select.item.borderColor\",\n        \"derived\": \"--now-menu--border-color\"\n    },\n    \"--now-menu-picker_select_item--border-radius\": {\n        \"name\": \"menuPicker.select.item.borderRadius\",\n        \"derived\": \"--now-menu--border-radius\"\n    },\n    \"--now-menu-picker_select_item--border-width\": {\n        \"name\": \"menuPicker.select.item.borderWidth\",\n        \"derived\": \"--now-menu--border-width\"\n    },\n    \"--now-menu-picker_select_trigger--background-color--hover\": {\n        \"name\": \"menuPicker.select.trigger.backgroundColor.hover\",\n        \"derived\": \"--now-color--primary-0\"\n    },\n    \"--now-menu-picker_select_trigger--border-color\": {\n        \"name\": \"menuPicker.select.trigger.borderColor\",\n        \"derived\": \"--now-menu--border-color\"\n    },\n    \"--now-menu-picker_select_trigger--border-color--focus\": {\n        \"name\": \"menuPicker.select.trigger.borderColor.focus\",\n        \"derived\": \"--now-color_focus-ring\"\n    },\n    \"--now-menu-picker_select_trigger--border-color--hover\": {\n        \"name\": \"menuPicker.select.trigger.borderColor.hover\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-menu-picker_select_trigger--border-radius\": {\n        \"name\": \"menuPicker.select.trigger.borderRadius\",\n        \"derived\": \"--now-menu--border-radius\"\n    },\n    \"--now-menu-picker_select_trigger--border-width\": {\n        \"name\": \"menuPicker.select.trigger.borderWidth\",\n        \"derived\": \"--now-menu--border-width\"\n    },\n    \"--now-menu-picker_status_icon--critical--color\": {\n        \"name\": \"menuPicker.status.icon.critical.color\",\n        \"derived\": \"--now-color_alert--critical-2\"\n    },\n    \"--now-menu-picker_status_icon--info--color\": {\n        \"name\": \"menuPicker.status.icon.info.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-menu-picker_status_icon--positive--color\": {\n        \"name\": \"menuPicker.status.icon.positive.color\",\n        \"derived\": \"--now-color_alert--positive-2\"\n    },\n    \"--now-menu-picker_track--border-radius\": {\n        \"name\": \"menuPicker.track.borderRadius\",\n        \"initial\": \"2px\"\n    },\n    \"--now-menu-picker_trigger_item--border-color\": {\n        \"name\": \"menuPicker.trigger.item.borderColor\",\n        \"derived\": \"--now-menu--border-color\"\n    },\n    \"--now-menu-picker_trigger_item--border-radius\": {\n        \"name\": \"menuPicker.trigger.item.borderRadius\",\n        \"derived\": \"--now-menu--border-radius\"\n    },\n    \"--now-menu-picker_trigger_item--border-width\": {\n        \"name\": \"menuPicker.trigger.item.borderWidth\",\n        \"derived\": \"--now-menu--border-width\"\n    },\n    \"--now-menu-picker_trigger--border-color\": {\n        \"name\": \"menuPicker.trigger.borderColor\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-menu-picker_trigger--border-color--focus\": {\n        \"name\": \"menuPicker.trigger.borderColor.focus\",\n        \"derived\": \"--now-menu-picker_trigger--border-color\"\n    },\n    \"--now-menu-picker_trigger--border-color--hover\": {\n        \"name\": \"menuPicker.trigger.borderColor.hover\",\n        \"derived\": \"--now-menu-picker_trigger--border-color\"\n    },\n    \"--now-menu-picker_trigger--border-radius\": {\n        \"name\": \"menuPicker.trigger.borderRadius\",\n        \"derived\": \"--now-menu--border-radius\"\n    },\n    \"--now-menu-picker_trigger--border-width\": {\n        \"name\": \"menuPicker.trigger.borderWidth\",\n        \"derived\": \"--now-menu--border-width\"\n    },\n    \"--now-menu-picker_trigger--font-family\": {\n        \"name\": \"menuPicker.trigger.fontFamily\",\n        \"derived\": \"--now-menu-picker--font-family\"\n    },\n    \"--now-menu-picker_trigger--font-style\": {\n        \"name\": \"menuPicker.trigger.fontStyle\",\n        \"derived\": \"--now-menu-picker--font-style\"\n    },\n    \"--now-menu-picker_trigger--font-weight\": {\n        \"name\": \"menuPicker.trigger.fontWeight\",\n        \"derived\": \"--now-menu-picker--font-weight\"\n    },\n    \"--now-menu-picker_trigger--text-transform\": {\n        \"name\": \"menuPicker.trigger.textTransform\",\n        \"derived\": \"--now-menu-picker--text-transform\"\n    },\n    \"--now-menu-picker--color-alpha\": {\n        \"name\": \"menuPicker.colorAlpha\",\n        \"initial\": \"0\"\n    },\n    \"--now-menu-picker--color-alpha--active\": {\n        \"name\": \"menuPicker.colorAlpha.active\",\n        \"derived\": \"--now-opacity--less\"\n    },\n    \"--now-menu-picker--color-alpha--adjacent\": {\n        \"name\": \"menuPicker.colorAlpha.adjacent\",\n        \"initial\": \"0.6\"\n    },\n    \"--now-menu-picker--color-alpha--hover\": {\n        \"name\": \"menuPicker.colorAlpha.hover\",\n        \"derived\": \"--now-opacity--least\"\n    },\n    \"--now-menu-picker--color-alpha--preview\": {\n        \"name\": \"menuPicker.colorAlpha.preview\",\n        \"initial\": \"1\"\n    },\n    \"--now-menu-picker--color-alpha--range\": {\n        \"name\": \"menuPicker.colorAlpha.range\",\n        \"initial\": \"1\"\n    },\n    \"--now-menu-picker--color-alpha--selected\": {\n        \"name\": \"menuPicker.colorAlpha.selected\",\n        \"initial\": \"1\"\n    },\n    \"--now-menu-picker--color-alpha--series\": {\n        \"name\": \"menuPicker.colorAlpha.series\",\n        \"derived\": \"--now-menu-picker--color-alpha\"\n    },\n    \"--now-menu-picker--color-alpha--series-preview\": {\n        \"name\": \"menuPicker.colorAlpha.seriesPreview\",\n        \"derived\": \"--now-opacity--least\"\n    },\n    \"--now-menu-picker--font-family\": {\n        \"name\": \"menuPicker.fontFamily\",\n        \"derived\": \"--now-menu--font-family\"\n    },\n    \"--now-menu-picker--font-style\": {\n        \"name\": \"menuPicker.fontStyle\",\n        \"derived\": \"--now-menu--font-style\"\n    },\n    \"--now-menu-picker--font-weight\": {\n        \"name\": \"menuPicker.fontWeight\",\n        \"derived\": \"--now-menu--font-weight\"\n    },\n    \"--now-menu-picker--opacity--disabled\": {\n        \"name\": \"menuPicker.opacity.disabled\",\n        \"derived\": \"--now-opacity--less\"\n    },\n    \"--now-menu-picker--text-transform\": {\n        \"name\": \"menuPicker.textTransform\",\n        \"derived\": \"--now-menu--text-transform\"\n    },\n    \"--now-messaging_action_icon--primary_bare_critical--color\": {\n        \"name\": \"messaging.action.icon.primary.bare.critical.color\",\n        \"derived\": \"--now-color_alert--critical-3\"\n    },\n    \"--now-messaging_action_icon--primary_bare_critical--color--active\": {\n        \"name\": \"messaging.action.icon.primary.bare.critical.color.active\",\n        \"derived\": \"--now-color_alert--critical-5\"\n    },\n    \"--now-messaging_action_icon--primary_bare_critical--color--hover\": {\n        \"name\": \"messaging.action.icon.primary.bare.critical.color.hover\",\n        \"derived\": \"--now-color_alert--critical-4\"\n    },\n    \"--now-messaging_action_icon--primary_bare_high--color\": {\n        \"name\": \"messaging.action.icon.primary.bare.high.color\",\n        \"derived\": \"--now-color_alert--high-3\"\n    },\n    \"--now-messaging_action_icon--primary_bare_high--color--active\": {\n        \"name\": \"messaging.action.icon.primary.bare.high.color.active\",\n        \"derived\": \"--now-color_alert--high-5\"\n    },\n    \"--now-messaging_action_icon--primary_bare_high--color--hover\": {\n        \"name\": \"messaging.action.icon.primary.bare.high.color.hover\",\n        \"derived\": \"--now-color_alert--high-4\"\n    },\n    \"--now-messaging_action_icon--primary_bare_info--color\": {\n        \"name\": \"messaging.action.icon.primary.bare.info.color\",\n        \"derived\": \"--now-color_alert--info-3\"\n    },\n    \"--now-messaging_action_icon--primary_bare_info--color--active\": {\n        \"name\": \"messaging.action.icon.primary.bare.info.color.active\",\n        \"derived\": \"--now-color_alert--info-5\"\n    },\n    \"--now-messaging_action_icon--primary_bare_info--color--hover\": {\n        \"name\": \"messaging.action.icon.primary.bare.info.color.hover\",\n        \"derived\": \"--now-color_alert--info-4\"\n    },\n    \"--now-messaging_action_icon--primary_bare_low--color\": {\n        \"name\": \"messaging.action.icon.primary.bare.low.color\",\n        \"derived\": \"--now-color_alert--low-3\"\n    },\n    \"--now-messaging_action_icon--primary_bare_low--color--active\": {\n        \"name\": \"messaging.action.icon.primary.bare.low.color.active\",\n        \"derived\": \"--now-color_alert--low-5\"\n    },\n    \"--now-messaging_action_icon--primary_bare_low--color--hover\": {\n        \"name\": \"messaging.action.icon.primary.bare.low.color.hover\",\n        \"derived\": \"--now-color_alert--low-4\"\n    },\n    \"--now-messaging_action_icon--primary_bare_moderate--color\": {\n        \"name\": \"messaging.action.icon.primary.bare.moderate.color\",\n        \"derived\": \"--now-color_alert--moderate-3\"\n    },\n    \"--now-messaging_action_icon--primary_bare_moderate--color--active\": {\n        \"name\": \"messaging.action.icon.primary.bare.moderate.color.active\",\n        \"derived\": \"--now-color_alert--moderate-5\"\n    },\n    \"--now-messaging_action_icon--primary_bare_moderate--color--hover\": {\n        \"name\": \"messaging.action.icon.primary.bare.moderate.color.hover\",\n        \"derived\": \"--now-color_alert--moderate-4\"\n    },\n    \"--now-messaging_action_icon--primary_bare_positive--color\": {\n        \"name\": \"messaging.action.icon.primary.bare.positive.color\",\n        \"derived\": \"--now-color_alert--positive-3\"\n    },\n    \"--now-messaging_action_icon--primary_bare_positive--color--active\": {\n        \"name\": \"messaging.action.icon.primary.bare.positive.color.active\",\n        \"derived\": \"--now-color_alert--positive-5\"\n    },\n    \"--now-messaging_action_icon--primary_bare_positive--color--hover\": {\n        \"name\": \"messaging.action.icon.primary.bare.positive.color.hover\",\n        \"derived\": \"--now-color_alert--positive-4\"\n    },\n    \"--now-messaging_action_icon--primary_bare_warning--color\": {\n        \"name\": \"messaging.action.icon.primary.bare.warning.color\",\n        \"derived\": \"--now-color_alert--warning-4\"\n    },\n    \"--now-messaging_action_icon--primary_bare_warning--color--active\": {\n        \"name\": \"messaging.action.icon.primary.bare.warning.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-messaging_action_icon--primary_bare_warning--color--hover\": {\n        \"name\": \"messaging.action.icon.primary.bare.warning.color.hover\",\n        \"derived\": \"--now-color_alert--warning-5\"\n    },\n    \"--now-messaging_action_icon--primary_bare--color\": {\n        \"name\": \"messaging.action.icon.primary.bare.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-messaging_action_icon--primary_bare--color--active\": {\n        \"name\": \"messaging.action.icon.primary.bare.color.active\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-messaging_action_icon--primary_bare--color--hover\": {\n        \"name\": \"messaging.action.icon.primary.bare.color.hover\",\n        \"derived\": \"--now-color_text--secondary\"\n    },\n    \"--now-messaging_action_label--primary_critical--color\": {\n        \"name\": \"messaging.action.label.primary.critical.color\",\n        \"derived\": \"--now-messaging_action_label--primary--color\"\n    },\n    \"--now-messaging_action_label--primary_critical--color--active\": {\n        \"name\": \"messaging.action.label.primary.critical.color.active\",\n        \"derived\": \"--now-messaging_action_label--primary--color--active\"\n    },\n    \"--now-messaging_action_label--primary_critical--color--hover\": {\n        \"name\": \"messaging.action.label.primary.critical.color.hover\",\n        \"derived\": \"--now-messaging_action_label--primary--color--hover\"\n    },\n    \"--now-messaging_action_label--primary_high--color\": {\n        \"name\": \"messaging.action.label.primary.high.color\",\n        \"derived\": \"--now-messaging_action_label--primary--color\"\n    },\n    \"--now-messaging_action_label--primary_high--color--active\": {\n        \"name\": \"messaging.action.label.primary.high.color.active\",\n        \"derived\": \"--now-messaging_action_label--primary--color--active\"\n    },\n    \"--now-messaging_action_label--primary_high--color--hover\": {\n        \"name\": \"messaging.action.label.primary.high.color.hover\",\n        \"derived\": \"--now-messaging_action_label--primary--color--hover\"\n    },\n    \"--now-messaging_action_label--primary_info--color\": {\n        \"name\": \"messaging.action.label.primary.info.color\",\n        \"derived\": \"--now-messaging_action_label--primary--color\"\n    },\n    \"--now-messaging_action_label--primary_info--color--active\": {\n        \"name\": \"messaging.action.label.primary.info.color.active\",\n        \"derived\": \"--now-messaging_action_label--primary--color--active\"\n    },\n    \"--now-messaging_action_label--primary_info--color--hover\": {\n        \"name\": \"messaging.action.label.primary.info.color.hover\",\n        \"derived\": \"--now-messaging_action_label--primary--color--hover\"\n    },\n    \"--now-messaging_action_label--primary_low--color\": {\n        \"name\": \"messaging.action.label.primary.low.color\",\n        \"derived\": \"--now-messaging_action_label--primary--color\"\n    },\n    \"--now-messaging_action_label--primary_low--color--active\": {\n        \"name\": \"messaging.action.label.primary.low.color.active\",\n        \"derived\": \"--now-messaging_action_label--primary--color--active\"\n    },\n    \"--now-messaging_action_label--primary_low--color--hover\": {\n        \"name\": \"messaging.action.label.primary.low.color.hover\",\n        \"derived\": \"--now-messaging_action_label--primary--color--hover\"\n    },\n    \"--now-messaging_action_label--primary_moderate--color\": {\n        \"name\": \"messaging.action.label.primary.moderate.color\",\n        \"derived\": \"--now-messaging_action_label--primary--color\"\n    },\n    \"--now-messaging_action_label--primary_moderate--color--active\": {\n        \"name\": \"messaging.action.label.primary.moderate.color.active\",\n        \"derived\": \"--now-messaging_action_label--primary--color--active\"\n    },\n    \"--now-messaging_action_label--primary_moderate--color--hover\": {\n        \"name\": \"messaging.action.label.primary.moderate.color.hover\",\n        \"derived\": \"--now-messaging_action_label--primary--color--hover\"\n    },\n    \"--now-messaging_action_label--primary_positive--color\": {\n        \"name\": \"messaging.action.label.primary.positive.color\",\n        \"derived\": \"--now-messaging_action_label--primary--color\"\n    },\n    \"--now-messaging_action_label--primary_positive--color--active\": {\n        \"name\": \"messaging.action.label.primary.positive.color.active\",\n        \"derived\": \"--now-messaging_action_label--primary--color--active\"\n    },\n    \"--now-messaging_action_label--primary_positive--color--hover\": {\n        \"name\": \"messaging.action.label.primary.positive.color.hover\",\n        \"derived\": \"--now-messaging_action_label--primary--color--hover\"\n    },\n    \"--now-messaging_action_label--primary_warning--color\": {\n        \"name\": \"messaging.action.label.primary.warning.color\",\n        \"derived\": \"--now-messaging_action_label--primary--color\"\n    },\n    \"--now-messaging_action_label--primary_warning--color--active\": {\n        \"name\": \"messaging.action.label.primary.warning.color.active\",\n        \"derived\": \"--now-messaging_action_label--primary--color--active\"\n    },\n    \"--now-messaging_action_label--primary_warning--color--hover\": {\n        \"name\": \"messaging.action.label.primary.warning.color.hover\",\n        \"derived\": \"--now-messaging_action_label--primary--color--hover\"\n    },\n    \"--now-messaging_action_label--primary--color\": {\n        \"name\": \"messaging.action.label.primary.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-messaging_action_label--primary--color--active\": {\n        \"name\": \"messaging.action.label.primary.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-messaging_action_label--primary--color--hover\": {\n        \"name\": \"messaging.action.label.primary.color.hover\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-messaging_action--primary_bare_critical--background-color--active\": {\n        \"name\": \"messaging.action.primary.bare.critical.backgroundColor.active\",\n        \"derived\": \"--now-messaging_action--primary_bare--background-color--active\"\n    },\n    \"--now-messaging_action--primary_bare_critical--background-color--hover\": {\n        \"name\": \"messaging.action.primary.bare.critical.backgroundColor.hover\",\n        \"derived\": \"--now-messaging_action--primary_bare--background-color--hover\"\n    },\n    \"--now-messaging_action--primary_bare_critical--background-color-alpha--active\": {\n        \"name\": \"messaging.action.primary.bare.critical.backgroundColorAlpha.active\",\n        \"derived\": \"--now-messaging_action--primary_bare--background-color-alpha--active\"\n    },\n    \"--now-messaging_action--primary_bare_critical--background-color-alpha--hover\": {\n        \"name\": \"messaging.action.primary.bare.critical.backgroundColorAlpha.hover\",\n        \"derived\": \"--now-messaging_action--primary_bare--background-color-alpha--hover\"\n    },\n    \"--now-messaging_action--primary_bare_critical--border-color--active\": {\n        \"name\": \"messaging.action.primary.bare.critical.borderColor.active\",\n        \"derived\": \"--now-color_alert--critical-5\"\n    },\n    \"--now-messaging_action--primary_bare_critical--border-color--hover\": {\n        \"name\": \"messaging.action.primary.bare.critical.borderColor.hover\",\n        \"derived\": \"--now-color_alert--critical-4\"\n    },\n    \"--now-messaging_action--primary_bare_critical--border-color-alpha--active\": {\n        \"name\": \"messaging.action.primary.bare.critical.borderColorAlpha.active\",\n        \"derived\": \"--now-messaging_action--primary_bare--border-color-alpha--active\"\n    },\n    \"--now-messaging_action--primary_bare_critical--border-color-alpha--hover\": {\n        \"name\": \"messaging.action.primary.bare.critical.borderColorAlpha.hover\",\n        \"derived\": \"--now-messaging_action--primary_bare--border-color-alpha--hover\"\n    },\n    \"--now-messaging_action--primary_bare_high--background-color--active\": {\n        \"name\": \"messaging.action.primary.bare.high.backgroundColor.active\",\n        \"derived\": \"--now-messaging_action--primary_bare--background-color--active\"\n    },\n    \"--now-messaging_action--primary_bare_high--background-color--hover\": {\n        \"name\": \"messaging.action.primary.bare.high.backgroundColor.hover\",\n        \"derived\": \"--now-messaging_action--primary_bare--background-color--hover\"\n    },\n    \"--now-messaging_action--primary_bare_high--background-color-alpha--active\": {\n        \"name\": \"messaging.action.primary.bare.high.backgroundColorAlpha.active\",\n        \"derived\": \"--now-messaging_action--primary_bare--background-color-alpha--active\"\n    },\n    \"--now-messaging_action--primary_bare_high--background-color-alpha--hover\": {\n        \"name\": \"messaging.action.primary.bare.high.backgroundColorAlpha.hover\",\n        \"derived\": \"--now-messaging_action--primary_bare--background-color-alpha--hover\"\n    },\n    \"--now-messaging_action--primary_bare_high--border-color--active\": {\n        \"name\": \"messaging.action.primary.bare.high.borderColor.active\",\n        \"derived\": \"--now-color_alert--high-5\"\n    },\n    \"--now-messaging_action--primary_bare_high--border-color--hover\": {\n        \"name\": \"messaging.action.primary.bare.high.borderColor.hover\",\n        \"derived\": \"--now-color_alert--high-4\"\n    },\n    \"--now-messaging_action--primary_bare_high--border-color-alpha--active\": {\n        \"name\": \"messaging.action.primary.bare.high.borderColorAlpha.active\",\n        \"derived\": \"--now-messaging_action--primary_bare--border-color-alpha--active\"\n    },\n    \"--now-messaging_action--primary_bare_high--border-color-alpha--hover\": {\n        \"name\": \"messaging.action.primary.bare.high.borderColorAlpha.hover\",\n        \"derived\": \"--now-messaging_action--primary_bare--border-color-alpha--hover\"\n    },\n    \"--now-messaging_action--primary_bare_info--background-color--active\": {\n        \"name\": \"messaging.action.primary.bare.info.backgroundColor.active\",\n        \"derived\": \"--now-messaging_action--primary_bare--background-color--active\"\n    },\n    \"--now-messaging_action--primary_bare_info--background-color--hover\": {\n        \"name\": \"messaging.action.primary.bare.info.backgroundColor.hover\",\n        \"derived\": \"--now-messaging_action--primary_bare--background-color--hover\"\n    },\n    \"--now-messaging_action--primary_bare_info--background-color-alpha--active\": {\n        \"name\": \"messaging.action.primary.bare.info.backgroundColorAlpha.active\",\n        \"derived\": \"--now-messaging_action--primary_bare--background-color-alpha--active\"\n    },\n    \"--now-messaging_action--primary_bare_info--background-color-alpha--hover\": {\n        \"name\": \"messaging.action.primary.bare.info.backgroundColorAlpha.hover\",\n        \"derived\": \"--now-messaging_action--primary_bare--background-color-alpha--hover\"\n    },\n    \"--now-messaging_action--primary_bare_info--border-color--active\": {\n        \"name\": \"messaging.action.primary.bare.info.borderColor.active\",\n        \"derived\": \"--now-color_alert--info-5\"\n    },\n    \"--now-messaging_action--primary_bare_info--border-color--hover\": {\n        \"name\": \"messaging.action.primary.bare.info.borderColor.hover\",\n        \"derived\": \"--now-color_alert--info-4\"\n    },\n    \"--now-messaging_action--primary_bare_info--border-color-alpha--active\": {\n        \"name\": \"messaging.action.primary.bare.info.borderColorAlpha.active\",\n        \"derived\": \"--now-messaging_action--primary_bare--border-color-alpha--active\"\n    },\n    \"--now-messaging_action--primary_bare_info--border-color-alpha--hover\": {\n        \"name\": \"messaging.action.primary.bare.info.borderColorAlpha.hover\",\n        \"derived\": \"--now-messaging_action--primary_bare--border-color-alpha--hover\"\n    },\n    \"--now-messaging_action--primary_bare_low--background-color--active\": {\n        \"name\": \"messaging.action.primary.bare.low.backgroundColor.active\",\n        \"derived\": \"--now-messaging_action--primary_bare--background-color--active\"\n    },\n    \"--now-messaging_action--primary_bare_low--background-color--hover\": {\n        \"name\": \"messaging.action.primary.bare.low.backgroundColor.hover\",\n        \"derived\": \"--now-messaging_action--primary_bare--background-color--hover\"\n    },\n    \"--now-messaging_action--primary_bare_low--background-color-alpha--active\": {\n        \"name\": \"messaging.action.primary.bare.low.backgroundColorAlpha.active\",\n        \"derived\": \"--now-messaging_action--primary_bare--background-color-alpha--active\"\n    },\n    \"--now-messaging_action--primary_bare_low--background-color-alpha--hover\": {\n        \"name\": \"messaging.action.primary.bare.low.backgroundColorAlpha.hover\",\n        \"derived\": \"--now-messaging_action--primary_bare--background-color-alpha--hover\"\n    },\n    \"--now-messaging_action--primary_bare_low--border-color--active\": {\n        \"name\": \"messaging.action.primary.bare.low.borderColor.active\",\n        \"derived\": \"--now-color_alert--low-5\"\n    },\n    \"--now-messaging_action--primary_bare_low--border-color--hover\": {\n        \"name\": \"messaging.action.primary.bare.low.borderColor.hover\",\n        \"derived\": \"--now-color_alert--low-4\"\n    },\n    \"--now-messaging_action--primary_bare_low--border-color-alpha--active\": {\n        \"name\": \"messaging.action.primary.bare.low.borderColorAlpha.active\",\n        \"derived\": \"--now-messaging_action--primary_bare--border-color-alpha--active\"\n    },\n    \"--now-messaging_action--primary_bare_low--border-color-alpha--hover\": {\n        \"name\": \"messaging.action.primary.bare.low.borderColorAlpha.hover\",\n        \"derived\": \"--now-messaging_action--primary_bare--border-color-alpha--hover\"\n    },\n    \"--now-messaging_action--primary_bare_moderate--background-color--active\": {\n        \"name\": \"messaging.action.primary.bare.moderate.backgroundColor.active\",\n        \"derived\": \"--now-messaging_action--primary_bare--background-color--active\"\n    },\n    \"--now-messaging_action--primary_bare_moderate--background-color--hover\": {\n        \"name\": \"messaging.action.primary.bare.moderate.backgroundColor.hover\",\n        \"derived\": \"--now-messaging_action--primary_bare--background-color--hover\"\n    },\n    \"--now-messaging_action--primary_bare_moderate--background-color-alpha--active\": {\n        \"name\": \"messaging.action.primary.bare.moderate.backgroundColorAlpha.active\",\n        \"derived\": \"--now-messaging_action--primary_bare--background-color-alpha--active\"\n    },\n    \"--now-messaging_action--primary_bare_moderate--background-color-alpha--hover\": {\n        \"name\": \"messaging.action.primary.bare.moderate.backgroundColorAlpha.hover\",\n        \"derived\": \"--now-messaging_action--primary_bare--background-color-alpha--hover\"\n    },\n    \"--now-messaging_action--primary_bare_moderate--border-color--active\": {\n        \"name\": \"messaging.action.primary.bare.moderate.borderColor.active\",\n        \"derived\": \"--now-color_alert--moderate-5\"\n    },\n    \"--now-messaging_action--primary_bare_moderate--border-color--hover\": {\n        \"name\": \"messaging.action.primary.bare.moderate.borderColor.hover\",\n        \"derived\": \"--now-color_alert--moderate-4\"\n    },\n    \"--now-messaging_action--primary_bare_moderate--border-color-alpha--active\": {\n        \"name\": \"messaging.action.primary.bare.moderate.borderColorAlpha.active\",\n        \"derived\": \"--now-messaging_action--primary_bare--border-color-alpha--active\"\n    },\n    \"--now-messaging_action--primary_bare_moderate--border-color-alpha--hover\": {\n        \"name\": \"messaging.action.primary.bare.moderate.borderColorAlpha.hover\",\n        \"derived\": \"--now-messaging_action--primary_bare--border-color-alpha--hover\"\n    },\n    \"--now-messaging_action--primary_bare_positive--background-color--active\": {\n        \"name\": \"messaging.action.primary.bare.positive.backgroundColor.active\",\n        \"derived\": \"--now-messaging_action--primary_bare--background-color--active\"\n    },\n    \"--now-messaging_action--primary_bare_positive--background-color--hover\": {\n        \"name\": \"messaging.action.primary.bare.positive.backgroundColor.hover\",\n        \"derived\": \"--now-messaging_action--primary_bare--background-color--hover\"\n    },\n    \"--now-messaging_action--primary_bare_positive--background-color-alpha--active\": {\n        \"name\": \"messaging.action.primary.bare.positive.backgroundColorAlpha.active\",\n        \"derived\": \"--now-messaging_action--primary_bare--background-color-alpha--active\"\n    },\n    \"--now-messaging_action--primary_bare_positive--background-color-alpha--hover\": {\n        \"name\": \"messaging.action.primary.bare.positive.backgroundColorAlpha.hover\",\n        \"derived\": \"--now-messaging_action--primary_bare--background-color-alpha--hover\"\n    },\n    \"--now-messaging_action--primary_bare_positive--border-color--active\": {\n        \"name\": \"messaging.action.primary.bare.positive.borderColor.active\",\n        \"derived\": \"--now-color_alert--positive-5\"\n    },\n    \"--now-messaging_action--primary_bare_positive--border-color--hover\": {\n        \"name\": \"messaging.action.primary.bare.positive.borderColor.hover\",\n        \"derived\": \"--now-color_alert--positive-4\"\n    },\n    \"--now-messaging_action--primary_bare_positive--border-color-alpha--active\": {\n        \"name\": \"messaging.action.primary.bare.positive.borderColorAlpha.active\",\n        \"derived\": \"--now-messaging_action--primary_bare--border-color-alpha--active\"\n    },\n    \"--now-messaging_action--primary_bare_positive--border-color-alpha--hover\": {\n        \"name\": \"messaging.action.primary.bare.positive.borderColorAlpha.hover\",\n        \"derived\": \"--now-messaging_action--primary_bare--border-color-alpha--hover\"\n    },\n    \"--now-messaging_action--primary_bare_warning--background-color--active\": {\n        \"name\": \"messaging.action.primary.bare.warning.backgroundColor.active\",\n        \"derived\": \"--now-messaging_action--primary_bare--background-color--active\"\n    },\n    \"--now-messaging_action--primary_bare_warning--background-color--hover\": {\n        \"name\": \"messaging.action.primary.bare.warning.backgroundColor.hover\",\n        \"derived\": \"--now-messaging_action--primary_bare--background-color--hover\"\n    },\n    \"--now-messaging_action--primary_bare_warning--background-color-alpha--active\": {\n        \"name\": \"messaging.action.primary.bare.warning.backgroundColorAlpha.active\",\n        \"derived\": \"--now-messaging_action--primary_bare--background-color-alpha--active\"\n    },\n    \"--now-messaging_action--primary_bare_warning--background-color-alpha--hover\": {\n        \"name\": \"messaging.action.primary.bare.warning.backgroundColorAlpha.hover\",\n        \"derived\": \"--now-messaging_action--primary_bare--background-color-alpha--hover\"\n    },\n    \"--now-messaging_action--primary_bare_warning--border-color--active\": {\n        \"name\": \"messaging.action.primary.bare.warning.borderColor.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-messaging_action--primary_bare_warning--border-color--hover\": {\n        \"name\": \"messaging.action.primary.bare.warning.borderColor.hover\",\n        \"derived\": \"--now-color_alert--warning-5\"\n    },\n    \"--now-messaging_action--primary_bare_warning--border-color-alpha--active\": {\n        \"name\": \"messaging.action.primary.bare.warning.borderColorAlpha.active\",\n        \"derived\": \"--now-messaging_action--primary_bare--border-color-alpha--active\"\n    },\n    \"--now-messaging_action--primary_bare_warning--border-color-alpha--hover\": {\n        \"name\": \"messaging.action.primary.bare.warning.borderColorAlpha.hover\",\n        \"derived\": \"--now-messaging_action--primary_bare--border-color-alpha--hover\"\n    },\n    \"--now-messaging_action--primary_bare--background-color--active\": {\n        \"name\": \"messaging.action.primary.bare.backgroundColor.active\",\n        \"derived\": \"--now-color_background--primary\"\n    },\n    \"--now-messaging_action--primary_bare--background-color--hover\": {\n        \"name\": \"messaging.action.primary.bare.backgroundColor.hover\",\n        \"derived\": \"--now-color_background--primary\"\n    },\n    \"--now-messaging_action--primary_bare--background-color-alpha--active\": {\n        \"name\": \"messaging.action.primary.bare.backgroundColorAlpha.active\",\n        \"initial\": \"0\"\n    },\n    \"--now-messaging_action--primary_bare--background-color-alpha--hover\": {\n        \"name\": \"messaging.action.primary.bare.backgroundColorAlpha.hover\",\n        \"initial\": \"0\"\n    },\n    \"--now-messaging_action--primary_bare--border-color--active\": {\n        \"name\": \"messaging.action.primary.bare.borderColor.active\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-messaging_action--primary_bare--border-color--hover\": {\n        \"name\": \"messaging.action.primary.bare.borderColor.hover\",\n        \"derived\": \"--now-color_text--secondary\"\n    },\n    \"--now-messaging_action--primary_bare--border-color-alpha\": {\n        \"name\": \"messaging.action.primary.bare.borderColorAlpha\",\n        \"initial\": \"1\"\n    },\n    \"--now-messaging_action--primary_bare--border-color-alpha--active\": {\n        \"name\": \"messaging.action.primary.bare.borderColorAlpha.active\",\n        \"initial\": \"0\"\n    },\n    \"--now-messaging_action--primary_bare--border-color-alpha--hover\": {\n        \"name\": \"messaging.action.primary.bare.borderColorAlpha.hover\",\n        \"initial\": \"0\"\n    },\n    \"--now-messaging_action--primary_bare--border-radius\": {\n        \"name\": \"messaging.action.primary.bare.borderRadius\",\n        \"derived\": \"--now-messaging--border-radius\"\n    },\n    \"--now-messaging_action--primary_bare--border-width\": {\n        \"name\": \"messaging.action.primary.bare.borderWidth\",\n        \"initial\": \"0px\"\n    },\n    \"--now-messaging_action--primary_critical--background-color\": {\n        \"name\": \"messaging.action.primary.critical.backgroundColor\",\n        \"derived\": \"--now-messaging_action--primary--background-color\"\n    },\n    \"--now-messaging_action--primary_critical--background-color--active\": {\n        \"name\": \"messaging.action.primary.critical.backgroundColor.active\",\n        \"derived\": \"--now-messaging_action--primary--background-color--active\"\n    },\n    \"--now-messaging_action--primary_critical--background-color--hover\": {\n        \"name\": \"messaging.action.primary.critical.backgroundColor.hover\",\n        \"derived\": \"--now-messaging_action--primary--background-color--hover\"\n    },\n    \"--now-messaging_action--primary_critical--background-color-alpha\": {\n        \"name\": \"messaging.action.primary.critical.backgroundColorAlpha\",\n        \"derived\": \"--now-messaging_action--primary--background-color-alpha\"\n    },\n    \"--now-messaging_action--primary_critical--background-color-alpha--active\": {\n        \"name\": \"messaging.action.primary.critical.backgroundColorAlpha.active\",\n        \"derived\": \"--now-messaging_action--primary--background-color-alpha--active\"\n    },\n    \"--now-messaging_action--primary_critical--background-color-alpha--hover\": {\n        \"name\": \"messaging.action.primary.critical.backgroundColorAlpha.hover\",\n        \"derived\": \"--now-messaging_action--primary--background-color-alpha--hover\"\n    },\n    \"--now-messaging_action--primary_critical--border-color\": {\n        \"name\": \"messaging.action.primary.critical.borderColor\",\n        \"derived\": \"--now-messaging_action--primary--border-color\"\n    },\n    \"--now-messaging_action--primary_critical--border-color--active\": {\n        \"name\": \"messaging.action.primary.critical.borderColor.active\",\n        \"derived\": \"--now-messaging_action--primary--border-color--active\"\n    },\n    \"--now-messaging_action--primary_critical--border-color--hover\": {\n        \"name\": \"messaging.action.primary.critical.borderColor.hover\",\n        \"derived\": \"--now-messaging_action--primary--border-color--hover\"\n    },\n    \"--now-messaging_action--primary_critical--border-color-alpha\": {\n        \"name\": \"messaging.action.primary.critical.borderColorAlpha\",\n        \"derived\": \"--now-messaging_action--primary--border-color-alpha\"\n    },\n    \"--now-messaging_action--primary_critical--border-color-alpha--active\": {\n        \"name\": \"messaging.action.primary.critical.borderColorAlpha.active\",\n        \"derived\": \"--now-messaging_action--primary--border-color-alpha--active\"\n    },\n    \"--now-messaging_action--primary_critical--border-color-alpha--hover\": {\n        \"name\": \"messaging.action.primary.critical.borderColorAlpha.hover\",\n        \"derived\": \"--now-messaging_action--primary--border-color-alpha--hover\"\n    },\n    \"--now-messaging_action--primary_high--background-color\": {\n        \"name\": \"messaging.action.primary.high.backgroundColor\",\n        \"derived\": \"--now-messaging_action--primary--background-color\"\n    },\n    \"--now-messaging_action--primary_high--background-color--active\": {\n        \"name\": \"messaging.action.primary.high.backgroundColor.active\",\n        \"derived\": \"--now-messaging_action--primary--background-color--active\"\n    },\n    \"--now-messaging_action--primary_high--background-color--hover\": {\n        \"name\": \"messaging.action.primary.high.backgroundColor.hover\",\n        \"derived\": \"--now-messaging_action--primary--background-color--hover\"\n    },\n    \"--now-messaging_action--primary_high--background-color-alpha\": {\n        \"name\": \"messaging.action.primary.high.backgroundColorAlpha\",\n        \"derived\": \"--now-messaging_action--primary--background-color-alpha\"\n    },\n    \"--now-messaging_action--primary_high--background-color-alpha--active\": {\n        \"name\": \"messaging.action.primary.high.backgroundColorAlpha.active\",\n        \"derived\": \"--now-messaging_action--primary--background-color-alpha--active\"\n    },\n    \"--now-messaging_action--primary_high--background-color-alpha--hover\": {\n        \"name\": \"messaging.action.primary.high.backgroundColorAlpha.hover\",\n        \"derived\": \"--now-messaging_action--primary--background-color-alpha--hover\"\n    },\n    \"--now-messaging_action--primary_high--border-color\": {\n        \"name\": \"messaging.action.primary.high.borderColor\",\n        \"derived\": \"--now-messaging_action--primary--border-color\"\n    },\n    \"--now-messaging_action--primary_high--border-color--active\": {\n        \"name\": \"messaging.action.primary.high.borderColor.active\",\n        \"derived\": \"--now-messaging_action--primary--border-color--active\"\n    },\n    \"--now-messaging_action--primary_high--border-color--hover\": {\n        \"name\": \"messaging.action.primary.high.borderColor.hover\",\n        \"derived\": \"--now-messaging_action--primary--border-color--hover\"\n    },\n    \"--now-messaging_action--primary_high--border-color-alpha\": {\n        \"name\": \"messaging.action.primary.high.borderColorAlpha\",\n        \"derived\": \"--now-messaging_action--primary--border-color-alpha\"\n    },\n    \"--now-messaging_action--primary_high--border-color-alpha--active\": {\n        \"name\": \"messaging.action.primary.high.borderColorAlpha.active\",\n        \"derived\": \"--now-messaging_action--primary--border-color-alpha--active\"\n    },\n    \"--now-messaging_action--primary_high--border-color-alpha--hover\": {\n        \"name\": \"messaging.action.primary.high.borderColorAlpha.hover\",\n        \"derived\": \"--now-messaging_action--primary--border-color-alpha--hover\"\n    },\n    \"--now-messaging_action--primary_info--background-color\": {\n        \"name\": \"messaging.action.primary.info.backgroundColor\",\n        \"derived\": \"--now-messaging_action--primary--background-color\"\n    },\n    \"--now-messaging_action--primary_info--background-color--active\": {\n        \"name\": \"messaging.action.primary.info.backgroundColor.active\",\n        \"derived\": \"--now-messaging_action--primary--background-color--active\"\n    },\n    \"--now-messaging_action--primary_info--background-color--hover\": {\n        \"name\": \"messaging.action.primary.info.backgroundColor.hover\",\n        \"derived\": \"--now-messaging_action--primary--background-color--hover\"\n    },\n    \"--now-messaging_action--primary_info--background-color-alpha\": {\n        \"name\": \"messaging.action.primary.info.backgroundColorAlpha\",\n        \"derived\": \"--now-messaging_action--primary--background-color-alpha\"\n    },\n    \"--now-messaging_action--primary_info--background-color-alpha--active\": {\n        \"name\": \"messaging.action.primary.info.backgroundColorAlpha.active\",\n        \"derived\": \"--now-messaging_action--primary--background-color-alpha--active\"\n    },\n    \"--now-messaging_action--primary_info--background-color-alpha--hover\": {\n        \"name\": \"messaging.action.primary.info.backgroundColorAlpha.hover\",\n        \"derived\": \"--now-messaging_action--primary--background-color-alpha--hover\"\n    },\n    \"--now-messaging_action--primary_info--border-color\": {\n        \"name\": \"messaging.action.primary.info.borderColor\",\n        \"derived\": \"--now-messaging_action--primary--border-color\"\n    },\n    \"--now-messaging_action--primary_info--border-color--active\": {\n        \"name\": \"messaging.action.primary.info.borderColor.active\",\n        \"derived\": \"--now-messaging_action--primary--border-color--active\"\n    },\n    \"--now-messaging_action--primary_info--border-color--hover\": {\n        \"name\": \"messaging.action.primary.info.borderColor.hover\",\n        \"derived\": \"--now-messaging_action--primary--border-color--hover\"\n    },\n    \"--now-messaging_action--primary_info--border-color-alpha\": {\n        \"name\": \"messaging.action.primary.info.borderColorAlpha\",\n        \"derived\": \"--now-messaging_action--primary--border-color-alpha\"\n    },\n    \"--now-messaging_action--primary_info--border-color-alpha--active\": {\n        \"name\": \"messaging.action.primary.info.borderColorAlpha.active\",\n        \"derived\": \"--now-messaging_action--primary--border-color-alpha--active\"\n    },\n    \"--now-messaging_action--primary_info--border-color-alpha--hover\": {\n        \"name\": \"messaging.action.primary.info.borderColorAlpha.hover\",\n        \"derived\": \"--now-messaging_action--primary--border-color-alpha--hover\"\n    },\n    \"--now-messaging_action--primary_low--background-color\": {\n        \"name\": \"messaging.action.primary.low.backgroundColor\",\n        \"derived\": \"--now-messaging_action--primary--background-color\"\n    },\n    \"--now-messaging_action--primary_low--background-color--active\": {\n        \"name\": \"messaging.action.primary.low.backgroundColor.active\",\n        \"derived\": \"--now-messaging_action--primary--background-color--active\"\n    },\n    \"--now-messaging_action--primary_low--background-color--hover\": {\n        \"name\": \"messaging.action.primary.low.backgroundColor.hover\",\n        \"derived\": \"--now-messaging_action--primary--background-color--hover\"\n    },\n    \"--now-messaging_action--primary_low--background-color-alpha\": {\n        \"name\": \"messaging.action.primary.low.backgroundColorAlpha\",\n        \"derived\": \"--now-messaging_action--primary--background-color-alpha\"\n    },\n    \"--now-messaging_action--primary_low--background-color-alpha--active\": {\n        \"name\": \"messaging.action.primary.low.backgroundColorAlpha.active\",\n        \"derived\": \"--now-messaging_action--primary--background-color-alpha--active\"\n    },\n    \"--now-messaging_action--primary_low--background-color-alpha--hover\": {\n        \"name\": \"messaging.action.primary.low.backgroundColorAlpha.hover\",\n        \"derived\": \"--now-messaging_action--primary--background-color-alpha--hover\"\n    },\n    \"--now-messaging_action--primary_low--border-color\": {\n        \"name\": \"messaging.action.primary.low.borderColor\",\n        \"derived\": \"--now-messaging_action--primary--border-color\"\n    },\n    \"--now-messaging_action--primary_low--border-color--active\": {\n        \"name\": \"messaging.action.primary.low.borderColor.active\",\n        \"derived\": \"--now-messaging_action--primary--border-color--active\"\n    },\n    \"--now-messaging_action--primary_low--border-color--hover\": {\n        \"name\": \"messaging.action.primary.low.borderColor.hover\",\n        \"derived\": \"--now-messaging_action--primary--border-color--hover\"\n    },\n    \"--now-messaging_action--primary_low--border-color-alpha\": {\n        \"name\": \"messaging.action.primary.low.borderColorAlpha\",\n        \"derived\": \"--now-messaging_action--primary--border-color-alpha\"\n    },\n    \"--now-messaging_action--primary_low--border-color-alpha--active\": {\n        \"name\": \"messaging.action.primary.low.borderColorAlpha.active\",\n        \"derived\": \"--now-messaging_action--primary--border-color-alpha--active\"\n    },\n    \"--now-messaging_action--primary_low--border-color-alpha--hover\": {\n        \"name\": \"messaging.action.primary.low.borderColorAlpha.hover\",\n        \"derived\": \"--now-messaging_action--primary--border-color-alpha--hover\"\n    },\n    \"--now-messaging_action--primary_moderate--background-color\": {\n        \"name\": \"messaging.action.primary.moderate.backgroundColor\",\n        \"derived\": \"--now-messaging_action--primary--background-color\"\n    },\n    \"--now-messaging_action--primary_moderate--background-color--active\": {\n        \"name\": \"messaging.action.primary.moderate.backgroundColor.active\",\n        \"derived\": \"--now-messaging_action--primary--background-color--active\"\n    },\n    \"--now-messaging_action--primary_moderate--background-color--hover\": {\n        \"name\": \"messaging.action.primary.moderate.backgroundColor.hover\",\n        \"derived\": \"--now-messaging_action--primary--background-color--hover\"\n    },\n    \"--now-messaging_action--primary_moderate--background-color-alpha\": {\n        \"name\": \"messaging.action.primary.moderate.backgroundColorAlpha\",\n        \"derived\": \"--now-messaging_action--primary--background-color-alpha\"\n    },\n    \"--now-messaging_action--primary_moderate--background-color-alpha--active\": {\n        \"name\": \"messaging.action.primary.moderate.backgroundColorAlpha.active\",\n        \"derived\": \"--now-messaging_action--primary--background-color-alpha--active\"\n    },\n    \"--now-messaging_action--primary_moderate--background-color-alpha--hover\": {\n        \"name\": \"messaging.action.primary.moderate.backgroundColorAlpha.hover\",\n        \"derived\": \"--now-messaging_action--primary--background-color-alpha--hover\"\n    },\n    \"--now-messaging_action--primary_moderate--border-color\": {\n        \"name\": \"messaging.action.primary.moderate.borderColor\",\n        \"derived\": \"--now-messaging_action--primary--border-color\"\n    },\n    \"--now-messaging_action--primary_moderate--border-color--active\": {\n        \"name\": \"messaging.action.primary.moderate.borderColor.active\",\n        \"derived\": \"--now-messaging_action--primary--border-color--active\"\n    },\n    \"--now-messaging_action--primary_moderate--border-color--hover\": {\n        \"name\": \"messaging.action.primary.moderate.borderColor.hover\",\n        \"derived\": \"--now-messaging_action--primary--border-color--hover\"\n    },\n    \"--now-messaging_action--primary_moderate--border-color-alpha\": {\n        \"name\": \"messaging.action.primary.moderate.borderColorAlpha\",\n        \"derived\": \"--now-messaging_action--primary--border-color-alpha\"\n    },\n    \"--now-messaging_action--primary_moderate--border-color-alpha--active\": {\n        \"name\": \"messaging.action.primary.moderate.borderColorAlpha.active\",\n        \"derived\": \"--now-messaging_action--primary--border-color-alpha--active\"\n    },\n    \"--now-messaging_action--primary_moderate--border-color-alpha--hover\": {\n        \"name\": \"messaging.action.primary.moderate.borderColorAlpha.hover\",\n        \"derived\": \"--now-messaging_action--primary--border-color-alpha--hover\"\n    },\n    \"--now-messaging_action--primary_positive--background-color\": {\n        \"name\": \"messaging.action.primary.positive.backgroundColor\",\n        \"derived\": \"--now-messaging_action--primary--background-color\"\n    },\n    \"--now-messaging_action--primary_positive--background-color--active\": {\n        \"name\": \"messaging.action.primary.positive.backgroundColor.active\",\n        \"derived\": \"--now-messaging_action--primary--background-color--active\"\n    },\n    \"--now-messaging_action--primary_positive--background-color--hover\": {\n        \"name\": \"messaging.action.primary.positive.backgroundColor.hover\",\n        \"derived\": \"--now-messaging_action--primary--background-color--hover\"\n    },\n    \"--now-messaging_action--primary_positive--background-color-alpha\": {\n        \"name\": \"messaging.action.primary.positive.backgroundColorAlpha\",\n        \"derived\": \"--now-messaging_action--primary--background-color-alpha\"\n    },\n    \"--now-messaging_action--primary_positive--background-color-alpha--active\": {\n        \"name\": \"messaging.action.primary.positive.backgroundColorAlpha.active\",\n        \"derived\": \"--now-messaging_action--primary--background-color-alpha--active\"\n    },\n    \"--now-messaging_action--primary_positive--background-color-alpha--hover\": {\n        \"name\": \"messaging.action.primary.positive.backgroundColorAlpha.hover\",\n        \"derived\": \"--now-messaging_action--primary--background-color-alpha--hover\"\n    },\n    \"--now-messaging_action--primary_positive--border-color\": {\n        \"name\": \"messaging.action.primary.positive.borderColor\",\n        \"derived\": \"--now-messaging_action--primary--border-color\"\n    },\n    \"--now-messaging_action--primary_positive--border-color--active\": {\n        \"name\": \"messaging.action.primary.positive.borderColor.active\",\n        \"derived\": \"--now-messaging_action--primary--border-color--active\"\n    },\n    \"--now-messaging_action--primary_positive--border-color--hover\": {\n        \"name\": \"messaging.action.primary.positive.borderColor.hover\",\n        \"derived\": \"--now-messaging_action--primary--border-color--hover\"\n    },\n    \"--now-messaging_action--primary_positive--border-color-alpha\": {\n        \"name\": \"messaging.action.primary.positive.borderColorAlpha\",\n        \"derived\": \"--now-messaging_action--primary--border-color-alpha\"\n    },\n    \"--now-messaging_action--primary_positive--border-color-alpha--active\": {\n        \"name\": \"messaging.action.primary.positive.borderColorAlpha.active\",\n        \"derived\": \"--now-messaging_action--primary--border-color-alpha--active\"\n    },\n    \"--now-messaging_action--primary_positive--border-color-alpha--hover\": {\n        \"name\": \"messaging.action.primary.positive.borderColorAlpha.hover\",\n        \"derived\": \"--now-messaging_action--primary--border-color-alpha--hover\"\n    },\n    \"--now-messaging_action--primary_warning--background-color\": {\n        \"name\": \"messaging.action.primary.warning.backgroundColor\",\n        \"derived\": \"--now-messaging_action--primary--background-color\"\n    },\n    \"--now-messaging_action--primary_warning--background-color--active\": {\n        \"name\": \"messaging.action.primary.warning.backgroundColor.active\",\n        \"derived\": \"--now-messaging_action--primary--background-color--active\"\n    },\n    \"--now-messaging_action--primary_warning--background-color--hover\": {\n        \"name\": \"messaging.action.primary.warning.backgroundColor.hover\",\n        \"derived\": \"--now-messaging_action--primary--background-color--hover\"\n    },\n    \"--now-messaging_action--primary_warning--background-color-alpha\": {\n        \"name\": \"messaging.action.primary.warning.backgroundColorAlpha\",\n        \"derived\": \"--now-messaging_action--primary--background-color-alpha\"\n    },\n    \"--now-messaging_action--primary_warning--background-color-alpha--active\": {\n        \"name\": \"messaging.action.primary.warning.backgroundColorAlpha.active\",\n        \"derived\": \"--now-messaging_action--primary--background-color-alpha--active\"\n    },\n    \"--now-messaging_action--primary_warning--background-color-alpha--hover\": {\n        \"name\": \"messaging.action.primary.warning.backgroundColorAlpha.hover\",\n        \"derived\": \"--now-messaging_action--primary--background-color-alpha--hover\"\n    },\n    \"--now-messaging_action--primary_warning--border-color\": {\n        \"name\": \"messaging.action.primary.warning.borderColor\",\n        \"derived\": \"--now-messaging_action--primary--border-color\"\n    },\n    \"--now-messaging_action--primary_warning--border-color--active\": {\n        \"name\": \"messaging.action.primary.warning.borderColor.active\",\n        \"derived\": \"--now-messaging_action--primary--border-color--active\"\n    },\n    \"--now-messaging_action--primary_warning--border-color--hover\": {\n        \"name\": \"messaging.action.primary.warning.borderColor.hover\",\n        \"derived\": \"--now-messaging_action--primary--border-color--hover\"\n    },\n    \"--now-messaging_action--primary_warning--border-color-alpha\": {\n        \"name\": \"messaging.action.primary.warning.borderColorAlpha\",\n        \"derived\": \"--now-messaging_action--primary--border-color-alpha\"\n    },\n    \"--now-messaging_action--primary_warning--border-color-alpha--active\": {\n        \"name\": \"messaging.action.primary.warning.borderColorAlpha.active\",\n        \"derived\": \"--now-messaging_action--primary--border-color-alpha--active\"\n    },\n    \"--now-messaging_action--primary_warning--border-color-alpha--hover\": {\n        \"name\": \"messaging.action.primary.warning.borderColorAlpha.hover\",\n        \"derived\": \"--now-messaging_action--primary--border-color-alpha--hover\"\n    },\n    \"--now-messaging_action--primary--background-color\": {\n        \"name\": \"messaging.action.primary.backgroundColor\",\n        \"derived\": \"--now-color_background--primary\"\n    },\n    \"--now-messaging_action--primary--background-color--active\": {\n        \"name\": \"messaging.action.primary.backgroundColor.active\",\n        \"derived\": \"--now-color_background--primary\"\n    },\n    \"--now-messaging_action--primary--background-color--hover\": {\n        \"name\": \"messaging.action.primary.backgroundColor.hover\",\n        \"derived\": \"--now-color_background--primary\"\n    },\n    \"--now-messaging_action--primary--background-color-alpha\": {\n        \"name\": \"messaging.action.primary.backgroundColorAlpha\",\n        \"initial\": \"0\"\n    },\n    \"--now-messaging_action--primary--background-color-alpha--active\": {\n        \"name\": \"messaging.action.primary.backgroundColorAlpha.active\",\n        \"derived\": \"--now-opacity--more\"\n    },\n    \"--now-messaging_action--primary--background-color-alpha--hover\": {\n        \"name\": \"messaging.action.primary.backgroundColorAlpha.hover\",\n        \"derived\": \"--now-opacity--less\"\n    },\n    \"--now-messaging_action--primary--border-color\": {\n        \"name\": \"messaging.action.primary.borderColor\",\n        \"derived\": \"--now-color_border--tertiary-actionable\"\n    },\n    \"--now-messaging_action--primary--border-color--active\": {\n        \"name\": \"messaging.action.primary.borderColor.active\",\n        \"derived\": \"--now-color_border--tertiary-actionable\"\n    },\n    \"--now-messaging_action--primary--border-color--hover\": {\n        \"name\": \"messaging.action.primary.borderColor.hover\",\n        \"derived\": \"--now-color_border--tertiary-actionable\"\n    },\n    \"--now-messaging_action--primary--border-color-alpha\": {\n        \"name\": \"messaging.action.primary.borderColorAlpha\",\n        \"initial\": \"1\"\n    },\n    \"--now-messaging_action--primary--border-color-alpha--active\": {\n        \"name\": \"messaging.action.primary.borderColorAlpha.active\",\n        \"initial\": \"1\"\n    },\n    \"--now-messaging_action--primary--border-color-alpha--hover\": {\n        \"name\": \"messaging.action.primary.borderColorAlpha.hover\",\n        \"initial\": \"1\"\n    },\n    \"--now-messaging_action--primary--border-radius\": {\n        \"name\": \"messaging.action.primary.borderRadius\",\n        \"derived\": \"--now-messaging--border-radius\"\n    },\n    \"--now-messaging_action--primary--border-width\": {\n        \"name\": \"messaging.action.primary.borderWidth\",\n        \"derived\": \"--now-messaging--border-width\"\n    },\n    \"--now-messaging_header--primary_critical--color\": {\n        \"name\": \"messaging.header.primary.critical.color\",\n        \"derived\": \"--now-messaging_label--primary--color\"\n    },\n    \"--now-messaging_header--primary_high--color\": {\n        \"name\": \"messaging.header.primary.high.color\",\n        \"derived\": \"--now-messaging_label--primary--color\"\n    },\n    \"--now-messaging_header--primary_info--color\": {\n        \"name\": \"messaging.header.primary.info.color\",\n        \"derived\": \"--now-messaging_label--primary--color\"\n    },\n    \"--now-messaging_header--primary_low--color\": {\n        \"name\": \"messaging.header.primary.low.color\",\n        \"derived\": \"--now-messaging_label--primary--color\"\n    },\n    \"--now-messaging_header--primary_moderate--color\": {\n        \"name\": \"messaging.header.primary.moderate.color\",\n        \"derived\": \"--now-messaging_label--primary--color\"\n    },\n    \"--now-messaging_header--primary_positive--color\": {\n        \"name\": \"messaging.header.primary.positive.color\",\n        \"derived\": \"--now-messaging_label--primary--color\"\n    },\n    \"--now-messaging_header--primary_warning--color\": {\n        \"name\": \"messaging.header.primary.warning.color\",\n        \"derived\": \"--now-messaging_label--primary--color\"\n    },\n    \"--now-messaging_header--primary--font-family\": {\n        \"name\": \"messaging.header.primary.fontFamily\",\n        \"derived\": \"--now-messaging--font-family\"\n    },\n    \"--now-messaging_header--primary--font-style\": {\n        \"name\": \"messaging.header.primary.fontStyle\",\n        \"derived\": \"--now-messaging--font-style\"\n    },\n    \"--now-messaging_header--primary--font-weight\": {\n        \"name\": \"messaging.header.primary.fontWeight\",\n        \"initial\": \"bold\"\n    },\n    \"--now-messaging_header--primary--text-transform\": {\n        \"name\": \"messaging.header.primary.textTransform\",\n        \"derived\": \"--now-messaging--text-transform\"\n    },\n    \"--now-messaging_icon--primary_critical--color\": {\n        \"name\": \"messaging.icon.primary.critical.color\",\n        \"derived\": \"--now-messaging_icon--primary--color\"\n    },\n    \"--now-messaging_icon--primary_high--color\": {\n        \"name\": \"messaging.icon.primary.high.color\",\n        \"derived\": \"--now-messaging_icon--primary--color\"\n    },\n    \"--now-messaging_icon--primary_info--color\": {\n        \"name\": \"messaging.icon.primary.info.color\",\n        \"derived\": \"--now-messaging_icon--primary--color\"\n    },\n    \"--now-messaging_icon--primary_low--color\": {\n        \"name\": \"messaging.icon.primary.low.color\",\n        \"derived\": \"--now-messaging_icon--primary--color\"\n    },\n    \"--now-messaging_icon--primary_moderate--color\": {\n        \"name\": \"messaging.icon.primary.moderate.color\",\n        \"derived\": \"--now-messaging_icon--primary--color\"\n    },\n    \"--now-messaging_icon--primary_positive--color\": {\n        \"name\": \"messaging.icon.primary.positive.color\",\n        \"derived\": \"--now-messaging_icon--primary--color\"\n    },\n    \"--now-messaging_icon--primary_warning--color\": {\n        \"name\": \"messaging.icon.primary.warning.color\",\n        \"derived\": \"--now-messaging_icon--primary--color\"\n    },\n    \"--now-messaging_icon--primary--color\": {\n        \"name\": \"messaging.icon.primary.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-messaging_icon--secondary--color\": {\n        \"name\": \"messaging.icon.secondary.color\",\n        \"derived\": \"--now-color_text--secondary\"\n    },\n    \"--now-messaging_icon--tertiary--color\": {\n        \"name\": \"messaging.icon.tertiary.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-messaging_label--primary--color\": {\n        \"name\": \"messaging.label.primary.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-messaging_label--secondary--color\": {\n        \"name\": \"messaging.label.secondary.color\",\n        \"derived\": \"--now-color_text--secondary\"\n    },\n    \"--now-messaging_label--tertiary--color\": {\n        \"name\": \"messaging.label.tertiary.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-messaging_link--primary--color\": {\n        \"name\": \"messaging.link.primary.color\",\n        \"derived\": \"--now-color--link-3\"\n    },\n    \"--now-messaging_link--primary--color--active\": {\n        \"name\": \"messaging.link.primary.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-messaging_link--primary--color--hover\": {\n        \"name\": \"messaging.link.primary.color.hover\",\n        \"derived\": \"--now-color--link-4\"\n    },\n    \"--now-messaging_message--primary_critical--color\": {\n        \"name\": \"messaging.message.primary.critical.color\",\n        \"derived\": \"--now-messaging_label--primary--color\"\n    },\n    \"--now-messaging_message--primary_high--color\": {\n        \"name\": \"messaging.message.primary.high.color\",\n        \"derived\": \"--now-messaging_label--primary--color\"\n    },\n    \"--now-messaging_message--primary_info--color\": {\n        \"name\": \"messaging.message.primary.info.color\",\n        \"derived\": \"--now-messaging_label--primary--color\"\n    },\n    \"--now-messaging_message--primary_low--color\": {\n        \"name\": \"messaging.message.primary.low.color\",\n        \"derived\": \"--now-messaging_label--primary--color\"\n    },\n    \"--now-messaging_message--primary_moderate--color\": {\n        \"name\": \"messaging.message.primary.moderate.color\",\n        \"derived\": \"--now-messaging_label--primary--color\"\n    },\n    \"--now-messaging_message--primary_positive--color\": {\n        \"name\": \"messaging.message.primary.positive.color\",\n        \"derived\": \"--now-messaging_label--primary--color\"\n    },\n    \"--now-messaging_message--primary_warning--color\": {\n        \"name\": \"messaging.message.primary.warning.color\",\n        \"derived\": \"--now-messaging_label--primary--color\"\n    },\n    \"--now-messaging_message--primary--font-family\": {\n        \"name\": \"messaging.message.primary.fontFamily\",\n        \"derived\": \"--now-messaging--font-family\"\n    },\n    \"--now-messaging_message--primary--font-style\": {\n        \"name\": \"messaging.message.primary.fontStyle\",\n        \"derived\": \"--now-messaging--font-style\"\n    },\n    \"--now-messaging_message--primary--font-weight\": {\n        \"name\": \"messaging.message.primary.fontWeight\",\n        \"derived\": \"--now-messaging--font-weight\"\n    },\n    \"--now-messaging_message--primary--text-transform\": {\n        \"name\": \"messaging.message.primary.textTransform\",\n        \"derived\": \"--now-messaging--text-transform\"\n    },\n    \"--now-messaging_progress-bar_label--primary_critical--color\": {\n        \"name\": \"messaging.progressBar.label.primary.critical.color\",\n        \"derived\": \"--now-color_alert--critical-4\"\n    },\n    \"--now-messaging_progress-bar_label--primary_high--color\": {\n        \"name\": \"messaging.progressBar.label.primary.high.color\",\n        \"derived\": \"--now-color_alert--high-4\"\n    },\n    \"--now-messaging_progress-bar_label--primary_info--color\": {\n        \"name\": \"messaging.progressBar.label.primary.info.color\",\n        \"derived\": \"--now-color_alert--info-4\"\n    },\n    \"--now-messaging_progress-bar_label--primary_low--color\": {\n        \"name\": \"messaging.progressBar.label.primary.low.color\",\n        \"derived\": \"--now-color_alert--low-4\"\n    },\n    \"--now-messaging_progress-bar_label--primary_moderate--color\": {\n        \"name\": \"messaging.progressBar.label.primary.moderate.color\",\n        \"derived\": \"--now-color_alert--moderate-4\"\n    },\n    \"--now-messaging_progress-bar_label--primary_positive--color\": {\n        \"name\": \"messaging.progressBar.label.primary.positive.color\",\n        \"derived\": \"--now-color_alert--positive-4\"\n    },\n    \"--now-messaging_progress-bar_label--primary_warning--color\": {\n        \"name\": \"messaging.progressBar.label.primary.warning.color\",\n        \"derived\": \"--now-color_alert--warning-5\"\n    },\n    \"--now-messaging_progress-bar--primary_critical--background-color\": {\n        \"name\": \"messaging.progressBar.primary.critical.backgroundColor\",\n        \"derived\": \"--now-color_alert--critical-4\"\n    },\n    \"--now-messaging_progress-bar--primary_high--background-color\": {\n        \"name\": \"messaging.progressBar.primary.high.backgroundColor\",\n        \"derived\": \"--now-color_alert--high-4\"\n    },\n    \"--now-messaging_progress-bar--primary_info--background-color\": {\n        \"name\": \"messaging.progressBar.primary.info.backgroundColor\",\n        \"derived\": \"--now-color_alert--info-4\"\n    },\n    \"--now-messaging_progress-bar--primary_low--background-color\": {\n        \"name\": \"messaging.progressBar.primary.low.backgroundColor\",\n        \"derived\": \"--now-color_alert--low-4\"\n    },\n    \"--now-messaging_progress-bar--primary_moderate--background-color\": {\n        \"name\": \"messaging.progressBar.primary.moderate.backgroundColor\",\n        \"derived\": \"--now-color_alert--moderate-4\"\n    },\n    \"--now-messaging_progress-bar--primary_positive--background-color\": {\n        \"name\": \"messaging.progressBar.primary.positive.backgroundColor\",\n        \"derived\": \"--now-color_alert--positive-4\"\n    },\n    \"--now-messaging_progress-bar--primary_warning--background-color\": {\n        \"name\": \"messaging.progressBar.primary.warning.backgroundColor\",\n        \"derived\": \"--now-color_alert--warning-5\"\n    },\n    \"--now-messaging--primary_critical--background-color\": {\n        \"name\": \"messaging.primary.critical.backgroundColor\",\n        \"derived\": \"--now-color_alert--critical-0\"\n    },\n    \"--now-messaging--primary_critical--border-color\": {\n        \"name\": \"messaging.primary.critical.borderColor\",\n        \"derived\": \"--now-color_alert--critical-1\"\n    },\n    \"--now-messaging--primary_high--background-color\": {\n        \"name\": \"messaging.primary.high.backgroundColor\",\n        \"derived\": \"--now-color_alert--high-0\"\n    },\n    \"--now-messaging--primary_high--border-color\": {\n        \"name\": \"messaging.primary.high.borderColor\",\n        \"derived\": \"--now-color_alert--high-1\"\n    },\n    \"--now-messaging--primary_info--background-color\": {\n        \"name\": \"messaging.primary.info.backgroundColor\",\n        \"derived\": \"--now-color_alert--info-0\"\n    },\n    \"--now-messaging--primary_info--border-color\": {\n        \"name\": \"messaging.primary.info.borderColor\",\n        \"derived\": \"--now-color_alert--info-1\"\n    },\n    \"--now-messaging--primary_low--background-color\": {\n        \"name\": \"messaging.primary.low.backgroundColor\",\n        \"derived\": \"--now-color_alert--low-0\"\n    },\n    \"--now-messaging--primary_low--border-color\": {\n        \"name\": \"messaging.primary.low.borderColor\",\n        \"derived\": \"--now-color_alert--low-1\"\n    },\n    \"--now-messaging--primary_moderate--background-color\": {\n        \"name\": \"messaging.primary.moderate.backgroundColor\",\n        \"derived\": \"--now-color_alert--moderate-0\"\n    },\n    \"--now-messaging--primary_moderate--border-color\": {\n        \"name\": \"messaging.primary.moderate.borderColor\",\n        \"derived\": \"--now-color_alert--moderate-1\"\n    },\n    \"--now-messaging--primary_positive--background-color\": {\n        \"name\": \"messaging.primary.positive.backgroundColor\",\n        \"derived\": \"--now-color_alert--positive-0\"\n    },\n    \"--now-messaging--primary_positive--border-color\": {\n        \"name\": \"messaging.primary.positive.borderColor\",\n        \"derived\": \"--now-color_alert--positive-1\"\n    },\n    \"--now-messaging--primary_warning--background-color\": {\n        \"name\": \"messaging.primary.warning.backgroundColor\",\n        \"derived\": \"--now-color_alert--warning-0\"\n    },\n    \"--now-messaging--primary_warning--border-color\": {\n        \"name\": \"messaging.primary.warning.borderColor\",\n        \"derived\": \"--now-color_alert--warning-1\"\n    },\n    \"--now-messaging-controller_action_label--color\": {\n        \"name\": \"messagingController.action.label.color\",\n        \"derived\": \"--now-messaging_action_label--primary--color\"\n    },\n    \"--now-messaging-controller_action_label--color--active\": {\n        \"name\": \"messagingController.action.label.color.active\",\n        \"derived\": \"--now-messaging_action_label--primary--color--active\"\n    },\n    \"--now-messaging-controller_action_label--color--hover\": {\n        \"name\": \"messagingController.action.label.color.hover\",\n        \"derived\": \"--now-messaging_action_label--primary--color--hover\"\n    },\n    \"--now-messaging-controller_action--background-color\": {\n        \"name\": \"messagingController.action.backgroundColor\",\n        \"derived\": \"--now-messaging_action--primary--background-color\"\n    },\n    \"--now-messaging-controller_action--background-color--active\": {\n        \"name\": \"messagingController.action.backgroundColor.active\",\n        \"derived\": \"--now-messaging_action--primary--background-color--active\"\n    },\n    \"--now-messaging-controller_action--background-color--hover\": {\n        \"name\": \"messagingController.action.backgroundColor.hover\",\n        \"derived\": \"--now-messaging_action--primary--background-color--hover\"\n    },\n    \"--now-messaging-controller_action--background-color-alpha\": {\n        \"name\": \"messagingController.action.backgroundColorAlpha\",\n        \"derived\": \"--now-messaging_action--primary--background-color-alpha\"\n    },\n    \"--now-messaging-controller_action--background-color-alpha--active\": {\n        \"name\": \"messagingController.action.backgroundColorAlpha.active\",\n        \"derived\": \"--now-messaging_action--primary--background-color-alpha--active\"\n    },\n    \"--now-messaging-controller_action--background-color-alpha--hover\": {\n        \"name\": \"messagingController.action.backgroundColorAlpha.hover\",\n        \"derived\": \"--now-messaging_action--primary--background-color-alpha--hover\"\n    },\n    \"--now-messaging-controller_action--border-color\": {\n        \"name\": \"messagingController.action.borderColor\",\n        \"derived\": \"--now-messaging_action--primary--border-color\"\n    },\n    \"--now-messaging-controller_action--border-color--active\": {\n        \"name\": \"messagingController.action.borderColor.active\",\n        \"derived\": \"--now-messaging_action--primary--border-color--active\"\n    },\n    \"--now-messaging-controller_action--border-color--hover\": {\n        \"name\": \"messagingController.action.borderColor.hover\",\n        \"derived\": \"--now-messaging_action--primary--border-color--hover\"\n    },\n    \"--now-messaging-controller_action--border-color-alpha\": {\n        \"name\": \"messagingController.action.borderColorAlpha\",\n        \"derived\": \"--now-messaging_action--primary--border-color-alpha\"\n    },\n    \"--now-messaging-controller_action--border-color-alpha--active\": {\n        \"name\": \"messagingController.action.borderColorAlpha.active\",\n        \"derived\": \"--now-messaging_action--primary--border-color-alpha--active\"\n    },\n    \"--now-messaging-controller_action--border-color-alpha--hover\": {\n        \"name\": \"messagingController.action.borderColorAlpha.hover\",\n        \"derived\": \"--now-messaging_action--primary--border-color-alpha--hover\"\n    },\n    \"--now-messaging-controller_toggle_label--color\": {\n        \"name\": \"messagingController.toggle.label.color\",\n        \"derived\": \"--now-messaging_action_label--primary--color\"\n    },\n    \"--now-messaging-controller_toggle_label--color--active\": {\n        \"name\": \"messagingController.toggle.label.color.active\",\n        \"derived\": \"--now-messaging_action_label--primary--color--active\"\n    },\n    \"--now-messaging-controller_toggle_label--color--hover\": {\n        \"name\": \"messagingController.toggle.label.color.hover\",\n        \"derived\": \"--now-messaging_action_label--primary--color--hover\"\n    },\n    \"--now-messaging-controller_toggle--background-color\": {\n        \"name\": \"messagingController.toggle.backgroundColor\",\n        \"derived\": \"--now-messaging_action--primary--background-color\"\n    },\n    \"--now-messaging-controller_toggle--background-color--active\": {\n        \"name\": \"messagingController.toggle.backgroundColor.active\",\n        \"derived\": \"--now-messaging_action--primary--background-color--active\"\n    },\n    \"--now-messaging-controller_toggle--background-color--hover\": {\n        \"name\": \"messagingController.toggle.backgroundColor.hover\",\n        \"derived\": \"--now-messaging_action--primary--background-color--hover\"\n    },\n    \"--now-messaging-controller_toggle--background-color-alpha\": {\n        \"name\": \"messagingController.toggle.backgroundColorAlpha\",\n        \"derived\": \"--now-messaging_action--primary--background-color-alpha\"\n    },\n    \"--now-messaging-controller_toggle--background-color-alpha--active\": {\n        \"name\": \"messagingController.toggle.backgroundColorAlpha.active\",\n        \"derived\": \"--now-messaging_action--primary--background-color-alpha--active\"\n    },\n    \"--now-messaging-controller_toggle--background-color-alpha--hover\": {\n        \"name\": \"messagingController.toggle.backgroundColorAlpha.hover\",\n        \"derived\": \"--now-messaging_action--primary--background-color-alpha--hover\"\n    },\n    \"--now-messaging-controller_toggle--border-color\": {\n        \"name\": \"messagingController.toggle.borderColor\",\n        \"derived\": \"--now-messaging_action--primary--border-color\"\n    },\n    \"--now-messaging-controller_toggle--border-color--active\": {\n        \"name\": \"messagingController.toggle.borderColor.active\",\n        \"derived\": \"--now-messaging_action--primary--border-color--active\"\n    },\n    \"--now-messaging-controller_toggle--border-color--hover\": {\n        \"name\": \"messagingController.toggle.borderColor.hover\",\n        \"derived\": \"--now-messaging_action--primary--border-color--hover\"\n    },\n    \"--now-messaging-controller_toggle--border-radius\": {\n        \"name\": \"messagingController.toggle.borderRadius\",\n        \"derived\": \"--now-messaging_action--primary_bare--border-radius\"\n    },\n    \"--now-messaging-controller_toggle--border-width\": {\n        \"name\": \"messagingController.toggle.borderWidth\",\n        \"derived\": \"--now-messaging_action--primary_bare--border-width\"\n    },\n    \"--now-messaging-controller--background-color\": {\n        \"name\": \"messagingController.backgroundColor\",\n        \"derived\": \"--now-color_alert--low-0\"\n    },\n    \"--now-messaging-controller--border-color\": {\n        \"name\": \"messagingController.borderColor\",\n        \"derived\": \"--now-color_alert--low-1\"\n    },\n    \"--now-messaging-controller--border-radius\": {\n        \"name\": \"messagingController.borderRadius\",\n        \"derived\": \"--now-messaging--border-radius\"\n    },\n    \"--now-messaging-controller--border-width\": {\n        \"name\": \"messagingController.borderWidth\",\n        \"derived\": \"--now-messaging--border-width\"\n    },\n    \"--now-messaging-controller--font-family\": {\n        \"name\": \"messagingController.fontFamily\",\n        \"derived\": \"--now-messaging--font-family\"\n    },\n    \"--now-messaging-controller--font-style\": {\n        \"name\": \"messagingController.fontStyle\",\n        \"derived\": \"--now-messaging--font-style\"\n    },\n    \"--now-messaging-controller--font-weight\": {\n        \"name\": \"messagingController.fontWeight\",\n        \"initial\": \"bold\"\n    },\n    \"--now-messaging-controller--text-transform\": {\n        \"name\": \"messagingController.textTransform\",\n        \"derived\": \"--now-messaging--text-transform\"\n    },\n    \"--now-navigation--primary--color\": {\n        \"name\": \"navigation.primary.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-navigation--secondary--color\": {\n        \"name\": \"navigation.secondary.color\",\n        \"derived\": \"--now-color_text--secondary\"\n    },\n    \"--now-navigation--tertiary--color\": {\n        \"name\": \"navigation.tertiary.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-navigation-page_tabs_container--primary--background-color\": {\n        \"name\": \"navigationPage.tabs.container.primary.backgroundColor\",\n        \"derived\": \"--now-navigation-page_tabs--primary--background-color\"\n    },\n    \"--now-navigation-page_tabs_container--primary--border-start-end-radius\": {\n        \"name\": \"navigationPage.tabs.container.primary.borderStartEndRadius\",\n        \"initial\": \"0px\"\n    },\n    \"--now-navigation-page_tabs_container--primary--border-start-start-radius\": {\n        \"name\": \"navigationPage.tabs.container.primary.borderStartStartRadius\",\n        \"initial\": \"8px\"\n    },\n    \"--now-navigation-page_tabs_container--secondary--background-color\": {\n        \"name\": \"navigationPage.tabs.container.secondary.backgroundColor\",\n        \"derived\": \"--now-navigation-page_tabs--secondary--background-color\"\n    },\n    \"--now-navigation-page_tabs_parent--primary--background-color\": {\n        \"name\": \"navigationPage.tabs.parent.primary.backgroundColor\",\n        \"derived\": \"--now-color_background--secondary\"\n    },\n    \"--now-navigation-page_tabs--primary--background-color\": {\n        \"name\": \"navigationPage.tabs.primary.backgroundColor\",\n        \"derived\": \"--now-color_background--tertiary\"\n    },\n    \"--now-navigation-page_tabs--primary--background-color--hover\": {\n        \"name\": \"navigationPage.tabs.primary.backgroundColor.hover\",\n        \"derived\": \"--now-color--primary-0\"\n    },\n    \"--now-navigation-page_tabs--primary--background-color--selected\": {\n        \"name\": \"navigationPage.tabs.primary.backgroundColor.selected\",\n        \"derived\": \"--now-color_background--primary\"\n    },\n    \"--now-navigation-page_tabs--primary--border-start-end-radius\": {\n        \"name\": \"navigationPage.tabs.primary.borderStartEndRadius\",\n        \"initial\": \"4px\"\n    },\n    \"--now-navigation-page_tabs--primary--border-start-start-radius\": {\n        \"name\": \"navigationPage.tabs.primary.borderStartStartRadius\",\n        \"initial\": \"4px\"\n    },\n    \"--now-navigation-page_tabs--secondary--background-color\": {\n        \"name\": \"navigationPage.tabs.secondary.backgroundColor\",\n        \"derived\": \"--now-color_background--secondary\"\n    },\n    \"--now-navigation-page_tabs--secondary--background-color--hover\": {\n        \"name\": \"navigationPage.tabs.secondary.backgroundColor.hover\",\n        \"derived\": \"--now-color--primary-0\"\n    },\n    \"--now-navigation-page_tabs--secondary--background-color--selected\": {\n        \"name\": \"navigationPage.tabs.secondary.backgroundColor.selected\",\n        \"derived\": \"--now-color_background--primary\"\n    },\n    \"--now-navigation-page_tabs--secondary--border-color--selected\": {\n        \"name\": \"navigationPage.tabs.secondary.borderColor.selected\",\n        \"derived\": \"--now-color_divider--primary\"\n    },\n    \"--now-navigation-page_tabs--secondary--border-start-end-radius\": {\n        \"name\": \"navigationPage.tabs.secondary.borderStartEndRadius\",\n        \"initial\": \"4px\"\n    },\n    \"--now-navigation-page_tabs--secondary--border-start-start-radius\": {\n        \"name\": \"navigationPage.tabs.secondary.borderStartStartRadius\",\n        \"initial\": \"4px\"\n    },\n    \"--now-navigation-page_tabs--secondary--border-width--selected\": {\n        \"name\": \"navigationPage.tabs.secondary.borderWidth.selected\",\n        \"initial\": \"1px\"\n    },\n    \"--now-navigation-path_dropdown--background-color--active\": {\n        \"name\": \"navigationPath.dropdown.backgroundColor.active\",\n        \"derived\": \"--now-color_background--tertiary-actionable\"\n    },\n    \"--now-navigation-path_dropdown--background-color--hover\": {\n        \"name\": \"navigationPath.dropdown.backgroundColor.hover\",\n        \"derived\": \"--now-color_background--tertiary-actionable\"\n    },\n    \"--now-navigation-path_dropdown--background-color-alpha--active\": {\n        \"name\": \"navigationPath.dropdown.backgroundColorAlpha.active\",\n        \"derived\": \"--now-opacity--less\"\n    },\n    \"--now-navigation-path_dropdown--background-color-alpha--hover\": {\n        \"name\": \"navigationPath.dropdown.backgroundColorAlpha.hover\",\n        \"derived\": \"--now-opacity--least\"\n    },\n    \"--now-navigation-path_dropdown--color\": {\n        \"name\": \"navigationPath.dropdown.color\",\n        \"derived\": \"--now-navigation--tertiary--color\"\n    },\n    \"--now-navigation-path_dropdown--color--active\": {\n        \"name\": \"navigationPath.dropdown.color.active\",\n        \"derived\": \"--now-navigation--primary--color\"\n    },\n    \"--now-navigation-path_dropdown--color--hover\": {\n        \"name\": \"navigationPath.dropdown.color.hover\",\n        \"derived\": \"--now-navigation--primary--color\"\n    },\n    \"--now-navigation-path_icon--color\": {\n        \"name\": \"navigationPath.icon.color\",\n        \"derived\": \"--now-navigation--tertiary--color\"\n    },\n    \"--now-navigation-path_icon--color--current\": {\n        \"name\": \"navigationPath.icon.color.current\",\n        \"derived\": \"--now-navigation--primary--color\"\n    },\n    \"--now-navigation-path_icon--color--hover\": {\n        \"name\": \"navigationPath.icon.color.hover\",\n        \"derived\": \"--now-navigation--primary--color\"\n    },\n    \"--now-navigation-path_label--color\": {\n        \"name\": \"navigationPath.label.color\",\n        \"derived\": \"--now-navigation--tertiary--color\"\n    },\n    \"--now-navigation-path_label--color--current\": {\n        \"name\": \"navigationPath.label.color.current\",\n        \"derived\": \"--now-navigation--primary--color\"\n    },\n    \"--now-navigation-path_label--color--hover\": {\n        \"name\": \"navigationPath.label.color.hover\",\n        \"derived\": \"--now-navigation--primary--color\"\n    },\n    \"--now-navigation-path--background-color\": {\n        \"name\": \"navigationPath.backgroundColor\",\n        \"derived\": \"--now-color_background--primary\"\n    },\n    \"--now-navigation-path--background-color--current\": {\n        \"name\": \"navigationPath.backgroundColor.current\",\n        \"derived\": \"--now-navigation-path--background-color\"\n    },\n    \"--now-navigation-path--background-color--hover\": {\n        \"name\": \"navigationPath.backgroundColor.hover\",\n        \"derived\": \"--now-navigation-path--background-color\"\n    },\n    \"--now-navigation-path--background-color-alpha\": {\n        \"name\": \"navigationPath.backgroundColorAlpha\",\n        \"initial\": \"0\"\n    },\n    \"--now-navigation-path--background-color-alpha--current\": {\n        \"name\": \"navigationPath.backgroundColorAlpha.current\",\n        \"initial\": \"0\"\n    },\n    \"--now-navigation-path--background-color-alpha--hover\": {\n        \"name\": \"navigationPath.backgroundColorAlpha.hover\",\n        \"initial\": \"0\"\n    },\n    \"--now-navigation-path--font-family\": {\n        \"name\": \"navigationPath.fontFamily\",\n        \"derived\": \"--now-actionable--font-family\"\n    },\n    \"--now-navigation-path--font-style\": {\n        \"name\": \"navigationPath.fontStyle\",\n        \"derived\": \"--now-actionable--font-style\"\n    },\n    \"--now-navigation-path--font-weight\": {\n        \"name\": \"navigationPath.fontWeight\",\n        \"derived\": \"--now-actionable--font-weight\"\n    },\n    \"--now-navigation-path--font-weight--current\": {\n        \"name\": \"navigationPath.fontWeight.current\",\n        \"initial\": \"bold\"\n    },\n    \"--now-navigation-path--text-transform\": {\n        \"name\": \"navigationPath.textTransform\",\n        \"derived\": \"--now-actionable--text-transform\"\n    },\n    \"--now-navigation-progress_divider--color\": {\n        \"name\": \"navigationProgress.divider.color\",\n        \"derived\": \"--now-color_divider--tertiary\"\n    },\n    \"--now-navigation-progress_icon--current--color\": {\n        \"name\": \"navigationProgress.icon.current.color\",\n        \"derived\": \"--now-navigation--primary--color\"\n    },\n    \"--now-navigation-progress_icon--current--color--active\": {\n        \"name\": \"navigationProgress.icon.current.color.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-navigation-progress_icon--current--color--hover\": {\n        \"name\": \"navigationProgress.icon.current.color.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-navigation-progress_icon--done--color\": {\n        \"name\": \"navigationProgress.icon.done.color\",\n        \"derived\": \"--now-navigation--primary--color\"\n    },\n    \"--now-navigation-progress_icon--done--color--active\": {\n        \"name\": \"navigationProgress.icon.done.color.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-navigation-progress_icon--done--color--hover\": {\n        \"name\": \"navigationProgress.icon.done.color.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-navigation-progress_icon--none--color\": {\n        \"name\": \"navigationProgress.icon.none.color\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-navigation-progress_icon--none--color--active\": {\n        \"name\": \"navigationProgress.icon.none.color.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-navigation-progress_icon--none--color--hover\": {\n        \"name\": \"navigationProgress.icon.none.color.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-navigation-progress_icon--partial--color\": {\n        \"name\": \"navigationProgress.icon.partial.color\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-navigation-progress_icon--partial--color--active\": {\n        \"name\": \"navigationProgress.icon.partial.color.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-navigation-progress_icon--partial--color--hover\": {\n        \"name\": \"navigationProgress.icon.partial.color.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-navigation-progress_label--current--color\": {\n        \"name\": \"navigationProgress.label.current.color\",\n        \"derived\": \"--now-navigation--primary--color\"\n    },\n    \"--now-navigation-progress_label--current--color--active\": {\n        \"name\": \"navigationProgress.label.current.color.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-navigation-progress_label--current--color--hover\": {\n        \"name\": \"navigationProgress.label.current.color.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-navigation-progress_label--current--font-weight\": {\n        \"name\": \"navigationProgress.label.current.fontWeight\",\n        \"initial\": \"bold\"\n    },\n    \"--now-navigation-progress_label--done--color\": {\n        \"name\": \"navigationProgress.label.done.color\",\n        \"derived\": \"--now-navigation--primary--color\"\n    },\n    \"--now-navigation-progress_label--done--color--active\": {\n        \"name\": \"navigationProgress.label.done.color.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-navigation-progress_label--done--color--hover\": {\n        \"name\": \"navigationProgress.label.done.color.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-navigation-progress_label--done--font-weight\": {\n        \"name\": \"navigationProgress.label.done.fontWeight\",\n        \"derived\": \"--now-navigation-progress--font-weight\"\n    },\n    \"--now-navigation-progress_label--font-family\": {\n        \"name\": \"navigationProgress.label.fontFamily\",\n        \"derived\": \"--now-navigation-progress--font-family\"\n    },\n    \"--now-navigation-progress_label--font-style\": {\n        \"name\": \"navigationProgress.label.fontStyle\",\n        \"derived\": \"--now-navigation-progress--font-style\"\n    },\n    \"--now-navigation-progress_label--font-weight\": {\n        \"name\": \"navigationProgress.label.fontWeight\",\n        \"derived\": \"--now-navigation-progress--font-weight\"\n    },\n    \"--now-navigation-progress_label--none--color\": {\n        \"name\": \"navigationProgress.label.none.color\",\n        \"derived\": \"--now-navigation--tertiary--color\"\n    },\n    \"--now-navigation-progress_label--none--color--active\": {\n        \"name\": \"navigationProgress.label.none.color.active\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-navigation-progress_label--none--color--hover\": {\n        \"name\": \"navigationProgress.label.none.color.hover\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-navigation-progress_label--none--font-weight\": {\n        \"name\": \"navigationProgress.label.none.fontWeight\",\n        \"derived\": \"--now-navigation-progress--font-weight\"\n    },\n    \"--now-navigation-progress_label--partial--color\": {\n        \"name\": \"navigationProgress.label.partial.color\",\n        \"derived\": \"--now-navigation--primary--color\"\n    },\n    \"--now-navigation-progress_label--partial--color--active\": {\n        \"name\": \"navigationProgress.label.partial.color.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-navigation-progress_label--partial--color--hover\": {\n        \"name\": \"navigationProgress.label.partial.color.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-navigation-progress_label--partial--font-weight\": {\n        \"name\": \"navigationProgress.label.partial.fontWeight\",\n        \"derived\": \"--now-navigation-progress--font-weight\"\n    },\n    \"--now-navigation-progress_label--text-transform\": {\n        \"name\": \"navigationProgress.label.textTransform\",\n        \"derived\": \"--now-navigation-progress--text-transform\"\n    },\n    \"--now-navigation-progress_sublabel--current--color\": {\n        \"name\": \"navigationProgress.sublabel.current.color\",\n        \"derived\": \"--now-navigation--tertiary--color\"\n    },\n    \"--now-navigation-progress_sublabel--current--color--active\": {\n        \"name\": \"navigationProgress.sublabel.current.color.active\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-navigation-progress_sublabel--current--color--hover\": {\n        \"name\": \"navigationProgress.sublabel.current.color.hover\",\n        \"derived\": \"--now-navigation-progress_sublabel--current--color\"\n    },\n    \"--now-navigation-progress_sublabel--done--color\": {\n        \"name\": \"navigationProgress.sublabel.done.color\",\n        \"derived\": \"--now-navigation--tertiary--color\"\n    },\n    \"--now-navigation-progress_sublabel--done--color--active\": {\n        \"name\": \"navigationProgress.sublabel.done.color.active\",\n        \"derived\": \"--now-navigation-progress_sublabel--done--color\"\n    },\n    \"--now-navigation-progress_sublabel--done--color--hover\": {\n        \"name\": \"navigationProgress.sublabel.done.color.hover\",\n        \"derived\": \"--now-navigation-progress_sublabel--done--color\"\n    },\n    \"--now-navigation-progress_sublabel--font-family\": {\n        \"name\": \"navigationProgress.sublabel.fontFamily\",\n        \"derived\": \"--now-navigation-progress--font-family\"\n    },\n    \"--now-navigation-progress_sublabel--font-style\": {\n        \"name\": \"navigationProgress.sublabel.fontStyle\",\n        \"derived\": \"--now-navigation-progress--font-style\"\n    },\n    \"--now-navigation-progress_sublabel--font-weight\": {\n        \"name\": \"navigationProgress.sublabel.fontWeight\",\n        \"derived\": \"--now-navigation-progress--font-weight\"\n    },\n    \"--now-navigation-progress_sublabel--none--color\": {\n        \"name\": \"navigationProgress.sublabel.none.color\",\n        \"derived\": \"--now-navigation--tertiary--color\"\n    },\n    \"--now-navigation-progress_sublabel--none--color--active\": {\n        \"name\": \"navigationProgress.sublabel.none.color.active\",\n        \"derived\": \"--now-navigation-progress_sublabel--none--color\"\n    },\n    \"--now-navigation-progress_sublabel--none--color--hover\": {\n        \"name\": \"navigationProgress.sublabel.none.color.hover\",\n        \"derived\": \"--now-navigation-progress_sublabel--none--color\"\n    },\n    \"--now-navigation-progress_sublabel--partial--color\": {\n        \"name\": \"navigationProgress.sublabel.partial.color\",\n        \"derived\": \"--now-navigation--tertiary--color\"\n    },\n    \"--now-navigation-progress_sublabel--partial--color--active\": {\n        \"name\": \"navigationProgress.sublabel.partial.color.active\",\n        \"derived\": \"--now-navigation-progress_sublabel--partial--color\"\n    },\n    \"--now-navigation-progress_sublabel--partial--color--hover\": {\n        \"name\": \"navigationProgress.sublabel.partial.color.hover\",\n        \"derived\": \"--now-navigation-progress_sublabel--partial--color\"\n    },\n    \"--now-navigation-progress_sublabel--text-transform\": {\n        \"name\": \"navigationProgress.sublabel.textTransform\",\n        \"derived\": \"--now-navigation-progress--text-transform\"\n    },\n    \"--now-navigation-progress--border-width\": {\n        \"name\": \"navigationProgress.borderWidth\",\n        \"initial\": \"2px\"\n    },\n    \"--now-navigation-progress--current--background-color\": {\n        \"name\": \"navigationProgress.current.backgroundColor\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-navigation-progress--current--background-color--active\": {\n        \"name\": \"navigationProgress.current.backgroundColor.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-navigation-progress--current--background-color--hover\": {\n        \"name\": \"navigationProgress.current.backgroundColor.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-navigation-progress--current--border-color\": {\n        \"name\": \"navigationProgress.current.borderColor\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-navigation-progress--current--border-color--active\": {\n        \"name\": \"navigationProgress.current.borderColor.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-navigation-progress--current--border-color--hover\": {\n        \"name\": \"navigationProgress.current.borderColor.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-navigation-progress--current--border-width\": {\n        \"name\": \"navigationProgress.current.borderWidth\",\n        \"derived\": \"--now-navigation-progress--border-width\"\n    },\n    \"--now-navigation-progress--current--color\": {\n        \"name\": \"navigationProgress.current.color\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-navigation-progress--current--color--active\": {\n        \"name\": \"navigationProgress.current.color.active\",\n        \"derived\": \"--now-navigation-progress--current--color\"\n    },\n    \"--now-navigation-progress--current--color--hover\": {\n        \"name\": \"navigationProgress.current.color.hover\",\n        \"derived\": \"--now-navigation-progress--current--color\"\n    },\n    \"--now-navigation-progress--current--font-weight\": {\n        \"name\": \"navigationProgress.current.fontWeight\",\n        \"initial\": \"bold\"\n    },\n    \"--now-navigation-progress--done--background-color\": {\n        \"name\": \"navigationProgress.done.backgroundColor\",\n        \"derived\": \"--now-color_selection--primary-0\"\n    },\n    \"--now-navigation-progress--done--background-color--active\": {\n        \"name\": \"navigationProgress.done.backgroundColor.active\",\n        \"derived\": \"--now-navigation-progress--done--background-color\"\n    },\n    \"--now-navigation-progress--done--background-color--hover\": {\n        \"name\": \"navigationProgress.done.backgroundColor.hover\",\n        \"derived\": \"--now-navigation-progress--done--background-color\"\n    },\n    \"--now-navigation-progress--done--border-color\": {\n        \"name\": \"navigationProgress.done.borderColor\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-navigation-progress--done--border-color--active\": {\n        \"name\": \"navigationProgress.done.borderColor.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-navigation-progress--done--border-color--hover\": {\n        \"name\": \"navigationProgress.done.borderColor.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-navigation-progress--done--border-width\": {\n        \"name\": \"navigationProgress.done.borderWidth\",\n        \"derived\": \"--now-navigation-progress--border-width\"\n    },\n    \"--now-navigation-progress--done--color\": {\n        \"name\": \"navigationProgress.done.color\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-navigation-progress--done--color--active\": {\n        \"name\": \"navigationProgress.done.color.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-navigation-progress--done--color--hover\": {\n        \"name\": \"navigationProgress.done.color.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-navigation-progress--done--font-weight\": {\n        \"name\": \"navigationProgress.done.fontWeight\",\n        \"initial\": \"bold\"\n    },\n    \"--now-navigation-progress--font-family\": {\n        \"name\": \"navigationProgress.fontFamily\",\n        \"derived\": \"--now-navigation--font-family\"\n    },\n    \"--now-navigation-progress--font-style\": {\n        \"name\": \"navigationProgress.fontStyle\",\n        \"derived\": \"--now-navigation--font-style\"\n    },\n    \"--now-navigation-progress--font-weight\": {\n        \"name\": \"navigationProgress.fontWeight\",\n        \"derived\": \"--now-navigation--font-weight\"\n    },\n    \"--now-navigation-progress--none--background-color\": {\n        \"name\": \"navigationProgress.none.backgroundColor\",\n        \"derived\": \"--now-color_background--primary\"\n    },\n    \"--now-navigation-progress--none--background-color--active\": {\n        \"name\": \"navigationProgress.none.backgroundColor.active\",\n        \"derived\": \"--now-navigation-progress--none--background-color\"\n    },\n    \"--now-navigation-progress--none--background-color--hover\": {\n        \"name\": \"navigationProgress.none.backgroundColor.hover\",\n        \"derived\": \"--now-navigation-progress--none--background-color\"\n    },\n    \"--now-navigation-progress--none--border-color\": {\n        \"name\": \"navigationProgress.none.borderColor\",\n        \"derived\": \"--now-navigation--tertiary--color\"\n    },\n    \"--now-navigation-progress--none--border-color--active\": {\n        \"name\": \"navigationProgress.none.borderColor.active\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-navigation-progress--none--border-color--hover\": {\n        \"name\": \"navigationProgress.none.borderColor.hover\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-navigation-progress--none--border-width\": {\n        \"name\": \"navigationProgress.none.borderWidth\",\n        \"initial\": \"1px\"\n    },\n    \"--now-navigation-progress--none--color\": {\n        \"name\": \"navigationProgress.none.color\",\n        \"derived\": \"--now-navigation--tertiary--color\"\n    },\n    \"--now-navigation-progress--none--color--active\": {\n        \"name\": \"navigationProgress.none.color.active\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-navigation-progress--none--color--hover\": {\n        \"name\": \"navigationProgress.none.color.hover\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-navigation-progress--none--font-weight\": {\n        \"name\": \"navigationProgress.none.fontWeight\",\n        \"derived\": \"--now-navigation-progress--font-weight\"\n    },\n    \"--now-navigation-progress--opacity--disabled\": {\n        \"name\": \"navigationProgress.opacity.disabled\",\n        \"derived\": \"--now-opacity--less\"\n    },\n    \"--now-navigation-progress--partial--background-color\": {\n        \"name\": \"navigationProgress.partial.backgroundColor\",\n        \"derived\": \"--now-color_background--primary\"\n    },\n    \"--now-navigation-progress--partial--background-color--active\": {\n        \"name\": \"navigationProgress.partial.backgroundColor.active\",\n        \"derived\": \"--now-navigation-progress--partial--background-color\"\n    },\n    \"--now-navigation-progress--partial--background-color--hover\": {\n        \"name\": \"navigationProgress.partial.backgroundColor.hover\",\n        \"derived\": \"--now-navigation-progress--partial--background-color\"\n    },\n    \"--now-navigation-progress--partial--border-color\": {\n        \"name\": \"navigationProgress.partial.borderColor\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-navigation-progress--partial--border-color--active\": {\n        \"name\": \"navigationProgress.partial.borderColor.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-navigation-progress--partial--border-color--hover\": {\n        \"name\": \"navigationProgress.partial.borderColor.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-navigation-progress--partial--border-width\": {\n        \"name\": \"navigationProgress.partial.borderWidth\",\n        \"derived\": \"--now-navigation-progress--border-width\"\n    },\n    \"--now-navigation-progress--partial--color\": {\n        \"name\": \"navigationProgress.partial.color\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-navigation-progress--partial--color--active\": {\n        \"name\": \"navigationProgress.partial.color.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-navigation-progress--partial--color--hover\": {\n        \"name\": \"navigationProgress.partial.color.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-navigation-progress--partial--font-weight\": {\n        \"name\": \"navigationProgress.partial.fontWeight\",\n        \"initial\": \"bold\"\n    },\n    \"--now-navigation-progress--text-transform\": {\n        \"name\": \"navigationProgress.textTransform\",\n        \"derived\": \"--now-navigation--text-transform\"\n    },\n    \"--now-navigation-tabs_container--background--border-radius\": {\n        \"name\": \"navigationTabs.container.background.borderRadius\",\n        \"initial\": \"0px\"\n    },\n    \"--now-navigation-tabs_container--background--border-width\": {\n        \"name\": \"navigationTabs.container.background.borderWidth\",\n        \"initial\": \"0px\"\n    },\n    \"--now-navigation-tabs_container--background-color\": {\n        \"name\": \"navigationTabs.container.backgroundColor\",\n        \"derived\": \"--now-color_background--primary\"\n    },\n    \"--now-navigation-tabs_container--background-color-alpha\": {\n        \"name\": \"navigationTabs.container.backgroundColorAlpha\",\n        \"initial\": \"0\"\n    },\n    \"--now-navigation-tabs_divider--color\": {\n        \"name\": \"navigationTabs.divider.color\",\n        \"derived\": \"--now-color_divider--secondary\"\n    },\n    \"--now-navigation-tabs_divider--width\": {\n        \"name\": \"navigationTabs.divider.width\",\n        \"initial\": \"1px\"\n    },\n    \"--now-navigation-tabs_icon--color\": {\n        \"name\": \"navigationTabs.icon.color\",\n        \"derived\": \"--now-navigation--primary--color\"\n    },\n    \"--now-navigation-tabs_icon--color--active\": {\n        \"name\": \"navigationTabs.icon.color.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-navigation-tabs_icon--color--hover\": {\n        \"name\": \"navigationTabs.icon.color.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-navigation-tabs_icon--color--selected\": {\n        \"name\": \"navigationTabs.icon.color.selected\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-navigation-tabs_label--color\": {\n        \"name\": \"navigationTabs.label.color\",\n        \"derived\": \"--now-navigation--primary--color\"\n    },\n    \"--now-navigation-tabs_label--color--active\": {\n        \"name\": \"navigationTabs.label.color.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-navigation-tabs_label--color--hover\": {\n        \"name\": \"navigationTabs.label.color.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-navigation-tabs_label--color--selected\": {\n        \"name\": \"navigationTabs.label.color.selected\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-navigation-tabs--background-color\": {\n        \"name\": \"navigationTabs.backgroundColor\",\n        \"derived\": \"--now-color_background--primary\"\n    },\n    \"--now-navigation-tabs--background-color--active\": {\n        \"name\": \"navigationTabs.backgroundColor.active\",\n        \"derived\": \"--now-navigation-tabs--background-color\"\n    },\n    \"--now-navigation-tabs--background-color--hover\": {\n        \"name\": \"navigationTabs.backgroundColor.hover\",\n        \"derived\": \"--now-navigation-tabs--background-color\"\n    },\n    \"--now-navigation-tabs--background-color--selected\": {\n        \"name\": \"navigationTabs.backgroundColor.selected\",\n        \"derived\": \"--now-navigation-tabs--background-color\"\n    },\n    \"--now-navigation-tabs--background-color-alpha\": {\n        \"name\": \"navigationTabs.backgroundColorAlpha\",\n        \"initial\": \"0\"\n    },\n    \"--now-navigation-tabs--background-color-alpha--active\": {\n        \"name\": \"navigationTabs.backgroundColorAlpha.active\",\n        \"initial\": \"0\"\n    },\n    \"--now-navigation-tabs--background-color-alpha--hover\": {\n        \"name\": \"navigationTabs.backgroundColorAlpha.hover\",\n        \"initial\": \"0\"\n    },\n    \"--now-navigation-tabs--background-color-alpha--selected\": {\n        \"name\": \"navigationTabs.backgroundColorAlpha.selected\",\n        \"initial\": \"0\"\n    },\n    \"--now-navigation-tabs--font-family\": {\n        \"name\": \"navigationTabs.fontFamily\",\n        \"derived\": \"--now-navigation--font-family\"\n    },\n    \"--now-navigation-tabs--font-style\": {\n        \"name\": \"navigationTabs.fontStyle\",\n        \"derived\": \"--now-navigation--font-style\"\n    },\n    \"--now-navigation-tabs--font-style--selected\": {\n        \"name\": \"navigationTabs.fontStyle.selected\",\n        \"derived\": \"--now-navigation--font-style\"\n    },\n    \"--now-navigation-tabs--font-weight\": {\n        \"name\": \"navigationTabs.fontWeight\",\n        \"derived\": \"--now-navigation--font-weight\"\n    },\n    \"--now-navigation-tabs--font-weight--selected\": {\n        \"name\": \"navigationTabs.fontWeight.selected\",\n        \"derived\": \"--now-navigation--font-weight\"\n    },\n    \"--now-navigation-tabs--opacity--disabled\": {\n        \"name\": \"navigationTabs.opacity.disabled\",\n        \"derived\": \"--now-opacity--less\"\n    },\n    \"--now-navigation-tabs--selection--border-radius\": {\n        \"name\": \"navigationTabs.selection.borderRadius\",\n        \"initial\": \"0px\"\n    },\n    \"--now-navigation-tabs--selection--border-width\": {\n        \"name\": \"navigationTabs.selection.borderWidth\",\n        \"initial\": \"0px\"\n    },\n    \"--now-navigation-tabs--selection--border-width--active\": {\n        \"name\": \"navigationTabs.selection.borderWidth.active\",\n        \"initial\": \"2px\"\n    },\n    \"--now-navigation-tabs--selection--border-width--hover\": {\n        \"name\": \"navigationTabs.selection.borderWidth.hover\",\n        \"initial\": \"2px\"\n    },\n    \"--now-navigation-tabs--selection--border-width--selected\": {\n        \"name\": \"navigationTabs.selection.borderWidth.selected\",\n        \"initial\": \"2px\"\n    },\n    \"--now-navigation-tabs--selection--color\": {\n        \"name\": \"navigationTabs.selection.color\",\n        \"derived\": \"--now-color_divider--secondary\"\n    },\n    \"--now-navigation-tabs--selection--color--active\": {\n        \"name\": \"navigationTabs.selection.color.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-navigation-tabs--selection--color--hover\": {\n        \"name\": \"navigationTabs.selection.color.hover\",\n        \"derived\": \"--now-color_divider--secondary\"\n    },\n    \"--now-navigation-tabs--selection--color--selected\": {\n        \"name\": \"navigationTabs.selection.color.selected\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-navigation-tabs--selection--color-alpha\": {\n        \"name\": \"navigationTabs.selection.colorAlpha\",\n        \"initial\": \"1\"\n    },\n    \"--now-navigation-tabs--selection--color-alpha--active\": {\n        \"name\": \"navigationTabs.selection.colorAlpha.active\",\n        \"initial\": \"1\"\n    },\n    \"--now-navigation-tabs--selection--color-alpha--hover\": {\n        \"name\": \"navigationTabs.selection.colorAlpha.hover\",\n        \"initial\": \"1\"\n    },\n    \"--now-navigation-tabs--selection--color-alpha--selected\": {\n        \"name\": \"navigationTabs.selection.colorAlpha.selected\",\n        \"initial\": \"1\"\n    },\n    \"--now-navigation-tabs--text-transform\": {\n        \"name\": \"navigationTabs.textTransform\",\n        \"derived\": \"--now-navigation--text-transform\"\n    },\n    \"--now-navigation-tabs--text-transform--selected\": {\n        \"name\": \"navigationTabs.textTransform.selected\",\n        \"derived\": \"--now-navigation--text-transform\"\n    },\n    \"--now-navigation-tabs-vertical_container_icon--background-color\": {\n        \"name\": \"navigationTabsVertical.container.icon.backgroundColor\",\n        \"derived\": \"--now-navigation-tabs-vertical_container--background-color\"\n    },\n    \"--now-navigation-tabs-vertical_container_icon--border-radius\": {\n        \"name\": \"navigationTabsVertical.container.icon.borderRadius\",\n        \"initial\": \"50%\"\n    },\n    \"--now-navigation-tabs-vertical_container_icon--border-width\": {\n        \"name\": \"navigationTabsVertical.container.icon.borderWidth\",\n        \"initial\": \"0px\"\n    },\n    \"--now-navigation-tabs-vertical_container--background-color\": {\n        \"name\": \"navigationTabsVertical.container.backgroundColor\",\n        \"derived\": \"--now-color_background--primary\"\n    },\n    \"--now-navigation-tabs-vertical_container--background-color-alpha\": {\n        \"name\": \"navigationTabsVertical.container.backgroundColorAlpha\",\n        \"initial\": \"0\"\n    },\n    \"--now-navigation-tabs-vertical_container--border-radius\": {\n        \"name\": \"navigationTabsVertical.container.borderRadius\",\n        \"initial\": \"0px\"\n    },\n    \"--now-navigation-tabs-vertical_container--border-width\": {\n        \"name\": \"navigationTabsVertical.container.borderWidth\",\n        \"initial\": \"0px\"\n    },\n    \"--now-navigation-tabs-vertical_divider--color\": {\n        \"name\": \"navigationTabsVertical.divider.color\",\n        \"derived\": \"--now-color_divider--secondary\"\n    },\n    \"--now-navigation-tabs-vertical_divider--width\": {\n        \"name\": \"navigationTabsVertical.divider.width\",\n        \"initial\": \"0px\"\n    },\n    \"--now-navigation-tabs-vertical_icon--color\": {\n        \"name\": \"navigationTabsVertical.icon.color\",\n        \"derived\": \"--now-navigation--primary--color\"\n    },\n    \"--now-navigation-tabs-vertical_icon--color--active\": {\n        \"name\": \"navigationTabsVertical.icon.color.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-navigation-tabs-vertical_icon--color--hover\": {\n        \"name\": \"navigationTabsVertical.icon.color.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-navigation-tabs-vertical_icon--color--selected\": {\n        \"name\": \"navigationTabsVertical.icon.color.selected\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-navigation-tabs-vertical_label--color\": {\n        \"name\": \"navigationTabsVertical.label.color\",\n        \"derived\": \"--now-navigation--primary--color\"\n    },\n    \"--now-navigation-tabs-vertical_label--color--active\": {\n        \"name\": \"navigationTabsVertical.label.color.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-navigation-tabs-vertical_label--color--hover\": {\n        \"name\": \"navigationTabsVertical.label.color.hover\",\n        \"derived\": \"--now-color_selection--primary-3\"\n    },\n    \"--now-navigation-tabs-vertical_label--color--selected\": {\n        \"name\": \"navigationTabsVertical.label.color.selected\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-navigation-tabs-vertical--background-color\": {\n        \"name\": \"navigationTabsVertical.backgroundColor\",\n        \"derived\": \"--now-color_background--primary\"\n    },\n    \"--now-navigation-tabs-vertical--background-color--active\": {\n        \"name\": \"navigationTabsVertical.backgroundColor.active\",\n        \"derived\": \"--now-navigation-tabs-vertical--background-color\"\n    },\n    \"--now-navigation-tabs-vertical--background-color--hover\": {\n        \"name\": \"navigationTabsVertical.backgroundColor.hover\",\n        \"derived\": \"--now-navigation-tabs-vertical--background-color\"\n    },\n    \"--now-navigation-tabs-vertical--background-color--selected\": {\n        \"name\": \"navigationTabsVertical.backgroundColor.selected\",\n        \"derived\": \"--now-navigation-tabs-vertical--background-color\"\n    },\n    \"--now-navigation-tabs-vertical--background-color-alpha\": {\n        \"name\": \"navigationTabsVertical.backgroundColorAlpha\",\n        \"initial\": \"0\"\n    },\n    \"--now-navigation-tabs-vertical--background-color-alpha--active\": {\n        \"name\": \"navigationTabsVertical.backgroundColorAlpha.active\",\n        \"derived\": \"--now-opacity--most\"\n    },\n    \"--now-navigation-tabs-vertical--background-color-alpha--hover\": {\n        \"name\": \"navigationTabsVertical.backgroundColorAlpha.hover\",\n        \"derived\": \"--now-opacity--more\"\n    },\n    \"--now-navigation-tabs-vertical--background-color-alpha--selected\": {\n        \"name\": \"navigationTabsVertical.backgroundColorAlpha.selected\",\n        \"initial\": \"1\"\n    },\n    \"--now-navigation-tabs-vertical--font-family\": {\n        \"name\": \"navigationTabsVertical.fontFamily\",\n        \"derived\": \"--now-navigation--font-family\"\n    },\n    \"--now-navigation-tabs-vertical--font-style\": {\n        \"name\": \"navigationTabsVertical.fontStyle\",\n        \"derived\": \"--now-navigation--font-style\"\n    },\n    \"--now-navigation-tabs-vertical--font-style--selected\": {\n        \"name\": \"navigationTabsVertical.fontStyle.selected\",\n        \"derived\": \"--now-navigation--font-style\"\n    },\n    \"--now-navigation-tabs-vertical--font-weight\": {\n        \"name\": \"navigationTabsVertical.fontWeight\",\n        \"derived\": \"--now-navigation--font-weight\"\n    },\n    \"--now-navigation-tabs-vertical--font-weight--selected\": {\n        \"name\": \"navigationTabsVertical.fontWeight.selected\",\n        \"derived\": \"--now-navigation--font-weight\"\n    },\n    \"--now-navigation-tabs-vertical--opacity--disabled\": {\n        \"name\": \"navigationTabsVertical.opacity.disabled\",\n        \"derived\": \"--now-opacity--less\"\n    },\n    \"--now-navigation-tabs-vertical--selection--border-radius\": {\n        \"name\": \"navigationTabsVertical.selection.borderRadius\",\n        \"initial\": \"0px\"\n    },\n    \"--now-navigation-tabs-vertical--selection--border-width\": {\n        \"name\": \"navigationTabsVertical.selection.borderWidth\",\n        \"initial\": \"0px\"\n    },\n    \"--now-navigation-tabs-vertical--selection--border-width--active\": {\n        \"name\": \"navigationTabsVertical.selection.borderWidth.active\",\n        \"initial\": \"2px\"\n    },\n    \"--now-navigation-tabs-vertical--selection--border-width--hover\": {\n        \"name\": \"navigationTabsVertical.selection.borderWidth.hover\",\n        \"initial\": \"2px\"\n    },\n    \"--now-navigation-tabs-vertical--selection--border-width--selected\": {\n        \"name\": \"navigationTabsVertical.selection.borderWidth.selected\",\n        \"initial\": \"2px\"\n    },\n    \"--now-navigation-tabs-vertical--selection--color\": {\n        \"name\": \"navigationTabsVertical.selection.color\",\n        \"derived\": \"--now-color_divider--secondary\"\n    },\n    \"--now-navigation-tabs-vertical--selection--color--active\": {\n        \"name\": \"navigationTabsVertical.selection.color.active\",\n        \"derived\": \"--now-color_selection--primary-4\"\n    },\n    \"--now-navigation-tabs-vertical--selection--color--hover\": {\n        \"name\": \"navigationTabsVertical.selection.color.hover\",\n        \"derived\": \"--now-navigation-tabs-vertical--selection--color\"\n    },\n    \"--now-navigation-tabs-vertical--selection--color--selected\": {\n        \"name\": \"navigationTabsVertical.selection.color.selected\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-navigation-tabs-vertical--selection--color-alpha\": {\n        \"name\": \"navigationTabsVertical.selection.colorAlpha\",\n        \"initial\": \"1\"\n    },\n    \"--now-navigation-tabs-vertical--selection--color-alpha--active\": {\n        \"name\": \"navigationTabsVertical.selection.colorAlpha.active\",\n        \"initial\": \"0\"\n    },\n    \"--now-navigation-tabs-vertical--selection--color-alpha--hover\": {\n        \"name\": \"navigationTabsVertical.selection.colorAlpha.hover\",\n        \"initial\": \"0\"\n    },\n    \"--now-navigation-tabs-vertical--selection--color-alpha--selected\": {\n        \"name\": \"navigationTabsVertical.selection.colorAlpha.selected\",\n        \"initial\": \"1\"\n    },\n    \"--now-navigation-tabs-vertical--text-transform\": {\n        \"name\": \"navigationTabsVertical.textTransform\",\n        \"derived\": \"--now-navigation--text-transform\"\n    },\n    \"--now-navigation-tabs-vertical--text-transform--selected\": {\n        \"name\": \"navigationTabsVertical.textTransform.selected\",\n        \"derived\": \"--now-navigation--text-transform\"\n    },\n    \"--now-navigation-tree_divider--color\": {\n        \"name\": \"navigationTree.divider.color\",\n        \"derived\": \"--now-color_divider--tertiary\"\n    },\n    \"--now-navigation-tree_dragdrop--background-color\": {\n        \"name\": \"navigationTree.dragdrop.backgroundColor\",\n        \"derived\": \"--now-color_background--primary\"\n    },\n    \"--now-navigation-tree_dragdrop--color\": {\n        \"name\": \"navigationTree.dragdrop.color\",\n        \"derived\": \"--now-color_alert--info-2\"\n    },\n    \"--now-navigation-tree_drop-target-parent--border-color\": {\n        \"name\": \"navigationTree.dropTargetParent.borderColor\",\n        \"derived\": \"--now-color_alert--info-2\"\n    },\n    \"--now-navigation-tree_icon--color\": {\n        \"name\": \"navigationTree.icon.color\",\n        \"derived\": \"--now-navigation-tree_label--color\"\n    },\n    \"--now-navigation-tree_icon--color--error\": {\n        \"name\": \"navigationTree.icon.color.error\",\n        \"derived\": \"--now-color_alert--critical-2\"\n    },\n    \"--now-navigation-tree_icon--color--loading\": {\n        \"name\": \"navigationTree.icon.color.loading\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-navigation-tree_label--color\": {\n        \"name\": \"navigationTree.label.color\",\n        \"derived\": \"--now-navigation--primary--color\"\n    },\n    \"--now-navigation-tree_label--color--error\": {\n        \"name\": \"navigationTree.label.color.error\",\n        \"derived\": \"--now-navigation--tertiary--color\"\n    },\n    \"--now-navigation-tree_label--color--hover\": {\n        \"name\": \"navigationTree.label.color.hover\",\n        \"derived\": \"--now-navigation-tree_label--color\"\n    },\n    \"--now-navigation-tree_label--color--loading\": {\n        \"name\": \"navigationTree.label.color.loading\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-navigation-tree_label--color--selected\": {\n        \"name\": \"navigationTree.label.color.selected\",\n        \"derived\": \"--now-navigation-tree_label--color\"\n    },\n    \"--now-navigation-tree_label--color--selected-child\": {\n        \"name\": \"navigationTree.label.color.selectedChild\",\n        \"derived\": \"--now-navigation-tree_label--color\"\n    },\n    \"--now-navigation-tree_placeholder_icon--color\": {\n        \"name\": \"navigationTree.placeholder.icon.color\",\n        \"derived\": \"--now-navigation-tree_placeholder--color\"\n    },\n    \"--now-navigation-tree_placeholder--color\": {\n        \"name\": \"navigationTree.placeholder.color\",\n        \"derived\": \"--now-navigation--primary--color\"\n    },\n    \"--now-navigation-tree_placeholder--color--active\": {\n        \"name\": \"navigationTree.placeholder.color.active\",\n        \"derived\": \"--now-color--secondary-3\"\n    },\n    \"--now-navigation-tree_placeholder--color--hover\": {\n        \"name\": \"navigationTree.placeholder.color.hover\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-navigation-tree_placeholder--color--selected\": {\n        \"name\": \"navigationTree.placeholder.color.selected\",\n        \"derived\": \"--now-color--secondary-3\"\n    },\n    \"--now-navigation-tree_placeholder--font-family\": {\n        \"name\": \"navigationTree.placeholder.fontFamily\",\n        \"derived\": \"--now-navigation--font-family\"\n    },\n    \"--now-navigation-tree_placeholder--font-style\": {\n        \"name\": \"navigationTree.placeholder.fontStyle\",\n        \"initial\": \"italic\"\n    },\n    \"--now-navigation-tree_placeholder--font-weight\": {\n        \"name\": \"navigationTree.placeholder.fontWeight\",\n        \"initial\": \"600\"\n    },\n    \"--now-navigation-tree_placeholder--text-transform\": {\n        \"name\": \"navigationTree.placeholder.textTransform\",\n        \"derived\": \"--now-navigation--text-transform\"\n    },\n    \"--now-navigation-tree_sublabel--color\": {\n        \"name\": \"navigationTree.sublabel.color\",\n        \"derived\": \"--now-navigation--tertiary--color\"\n    },\n    \"--now-navigation-tree_sublabel--font-family\": {\n        \"name\": \"navigationTree.sublabel.fontFamily\",\n        \"derived\": \"--now-navigation--font-family\"\n    },\n    \"--now-navigation-tree_sublabel--font-style\": {\n        \"name\": \"navigationTree.sublabel.fontStyle\",\n        \"derived\": \"--now-navigation--font-style\"\n    },\n    \"--now-navigation-tree_sublabel--font-weight\": {\n        \"name\": \"navigationTree.sublabel.fontWeight\",\n        \"derived\": \"--now-navigation--font-weight\"\n    },\n    \"--now-navigation-tree_sublabel--text-transform\": {\n        \"name\": \"navigationTree.sublabel.textTransform\",\n        \"derived\": \"--now-navigation--text-transform\"\n    },\n    \"--now-navigation-tree_trigger-icon--background-color--active\": {\n        \"name\": \"navigationTree.triggerIcon.backgroundColor.active\",\n        \"derived\": \"--now-color--secondary-2\"\n    },\n    \"--now-navigation-tree_trigger-icon--background-color--hover\": {\n        \"name\": \"navigationTree.triggerIcon.backgroundColor.hover\",\n        \"derived\": \"--now-color--secondary-2\"\n    },\n    \"--now-navigation-tree_trigger-icon--background-color-alpha--active\": {\n        \"name\": \"navigationTree.triggerIcon.backgroundColorAlpha.active\",\n        \"derived\": \"--now-opacity--less\"\n    },\n    \"--now-navigation-tree_trigger-icon--background-color-alpha--hover\": {\n        \"name\": \"navigationTree.triggerIcon.backgroundColorAlpha.hover\",\n        \"derived\": \"--now-opacity--least\"\n    },\n    \"--now-navigation-tree_trigger-icon--color\": {\n        \"name\": \"navigationTree.triggerIcon.color\",\n        \"derived\": \"--now-navigation--tertiary--color\"\n    },\n    \"--now-navigation-tree_trigger-icon--color--active\": {\n        \"name\": \"navigationTree.triggerIcon.color.active\",\n        \"derived\": \"--now-navigation-tree_trigger-icon--color\"\n    },\n    \"--now-navigation-tree_trigger-icon--color--hover\": {\n        \"name\": \"navigationTree.triggerIcon.color.hover\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-navigation-tree--background-color\": {\n        \"name\": \"navigationTree.backgroundColor\",\n        \"derived\": \"--now-color_background--primary\"\n    },\n    \"--now-navigation-tree--background-color--hover\": {\n        \"name\": \"navigationTree.backgroundColor.hover\",\n        \"derived\": \"--now-color_selection--primary-0\"\n    },\n    \"--now-navigation-tree--background-color--selected\": {\n        \"name\": \"navigationTree.backgroundColor.selected\",\n        \"derived\": \"--now-color_selection--primary-0\"\n    },\n    \"--now-navigation-tree--background-color--selected-child\": {\n        \"name\": \"navigationTree.backgroundColor.selectedChild\",\n        \"derived\": \"--now-color--neutral-9\"\n    },\n    \"--now-navigation-tree--background-color-alpha\": {\n        \"name\": \"navigationTree.backgroundColorAlpha\",\n        \"initial\": \"0\"\n    },\n    \"--now-navigation-tree--background-color-alpha--hover\": {\n        \"name\": \"navigationTree.backgroundColorAlpha.hover\",\n        \"derived\": \"--now-opacity--less\"\n    },\n    \"--now-navigation-tree--background-color-alpha--selected\": {\n        \"name\": \"navigationTree.backgroundColorAlpha.selected\",\n        \"initial\": \"1\"\n    },\n    \"--now-navigation-tree--background-color-alpha--selected-child\": {\n        \"name\": \"navigationTree.backgroundColorAlpha.selectedChild\",\n        \"derived\": \"--now-opacity--least\"\n    },\n    \"--now-navigation-tree--font-family\": {\n        \"name\": \"navigationTree.fontFamily\",\n        \"derived\": \"--now-navigation--font-family\"\n    },\n    \"--now-navigation-tree--font-style\": {\n        \"name\": \"navigationTree.fontStyle\",\n        \"derived\": \"--now-navigation--font-style\"\n    },\n    \"--now-navigation-tree--font-weight\": {\n        \"name\": \"navigationTree.fontWeight\",\n        \"derived\": \"--now-navigation--font-weight\"\n    },\n    \"--now-navigation-tree--opacity--disabled\": {\n        \"name\": \"navigationTree.opacity.disabled\",\n        \"derived\": \"--now-opacity--less\"\n    },\n    \"--now-navigation-tree--selection--background-color--selected\": {\n        \"name\": \"navigationTree.selection.backgroundColor.selected\",\n        \"derived\": \"--now-color_selection--primary-2\"\n    },\n    \"--now-navigation-tree--selection--background-color--selected-child\": {\n        \"name\": \"navigationTree.selection.backgroundColor.selectedChild\",\n        \"derived\": \"--now-navigation-tree--selection--background-color--selected\"\n    },\n    \"--now-navigation-tree--text-transform\": {\n        \"name\": \"navigationTree.textTransform\",\n        \"derived\": \"--now-navigation--text-transform\"\n    },\n    \"--now-view-control_action_icon--primary--color\": {\n        \"name\": \"viewControl.action.icon.primary.color\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-view-control_action_icon--primary--color--active\": {\n        \"name\": \"viewControl.action.icon.primary.color.active\",\n        \"derived\": \"--now-view-control_action_icon--primary--color\"\n    },\n    \"--now-view-control_action_icon--primary--color--hover\": {\n        \"name\": \"viewControl.action.icon.primary.color.hover\",\n        \"derived\": \"--now-view-control_action_icon--primary--color\"\n    },\n    \"--now-view-control_action_icon--secondary--color\": {\n        \"name\": \"viewControl.action.icon.secondary.color\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-view-control_action_icon--secondary--color--active\": {\n        \"name\": \"viewControl.action.icon.secondary.color.active\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-view-control_action_icon--secondary--color--hover\": {\n        \"name\": \"viewControl.action.icon.secondary.color.hover\",\n        \"derived\": \"--now-color--primary-2\"\n    },\n    \"--now-view-control_action_icon--tertiary--color\": {\n        \"name\": \"viewControl.action.icon.tertiary.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-view-control_action_icon--tertiary--color--active\": {\n        \"name\": \"viewControl.action.icon.tertiary.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-view-control_action_icon--tertiary--color--hover\": {\n        \"name\": \"viewControl.action.icon.tertiary.color.hover\",\n        \"derived\": \"--now-color_text--secondary\"\n    },\n    \"--now-view-control_action_label--bare_primary--color\": {\n        \"name\": \"viewControl.action.label.bare.primary.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-view-control_action_label--bare_primary--color--active\": {\n        \"name\": \"viewControl.action.label.bare.primary.color.active\",\n        \"derived\": \"--now-color--secondary-3\"\n    },\n    \"--now-view-control_action_label--bare_primary--color--hover\": {\n        \"name\": \"viewControl.action.label.bare.primary.color.hover\",\n        \"derived\": \"--now-color--secondary-2\"\n    },\n    \"--now-view-control_action_trigger-icon--bare_primary--color\": {\n        \"name\": \"viewControl.action.triggerIcon.bare.primary.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-view-control_action_trigger-icon--bare_primary--color--active\": {\n        \"name\": \"viewControl.action.triggerIcon.bare.primary.color.active\",\n        \"derived\": \"--now-color--secondary-3\"\n    },\n    \"--now-view-control_action_trigger-icon--bare_primary--color--hover\": {\n        \"name\": \"viewControl.action.triggerIcon.bare.primary.color.hover\",\n        \"derived\": \"--now-color--secondary-2\"\n    },\n    \"--now-view-control_action--bare_primary--background-color--active\": {\n        \"name\": \"viewControl.action.bare.primary.backgroundColor.active\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-view-control_action--bare_primary--background-color--hover\": {\n        \"name\": \"viewControl.action.bare.primary.backgroundColor.hover\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-view-control_action--bare_primary--background-color-alpha--active\": {\n        \"name\": \"viewControl.action.bare.primary.backgroundColorAlpha.active\",\n        \"derived\": \"--now-view-control_action--bare--background-color-alpha--active\"\n    },\n    \"--now-view-control_action--bare_primary--background-color-alpha--hover\": {\n        \"name\": \"viewControl.action.bare.primary.backgroundColorAlpha.hover\",\n        \"derived\": \"--now-view-control_action--bare--background-color-alpha--hover\"\n    },\n    \"--now-view-control_action--bare_primary--border-color--active\": {\n        \"name\": \"viewControl.action.bare.primary.borderColor.active\",\n        \"derived\": \"--now-color--secondary-3\"\n    },\n    \"--now-view-control_action--bare_primary--border-color--hover\": {\n        \"name\": \"viewControl.action.bare.primary.borderColor.hover\",\n        \"derived\": \"--now-color--secondary-2\"\n    },\n    \"--now-view-control_action--bare_primary--border-color-alpha\": {\n        \"name\": \"viewControl.action.bare.primary.borderColorAlpha\",\n        \"derived\": \"--now-view-control_action--bare--border-color-alpha\"\n    },\n    \"--now-view-control_action--bare_primary--border-color-alpha--active\": {\n        \"name\": \"viewControl.action.bare.primary.borderColorAlpha.active\",\n        \"derived\": \"--now-view-control_action--bare_primary--border-color-alpha\"\n    },\n    \"--now-view-control_action--bare_primary--border-color-alpha--hover\": {\n        \"name\": \"viewControl.action.bare.primary.borderColorAlpha.hover\",\n        \"derived\": \"--now-view-control_action--bare_primary--border-color-alpha\"\n    },\n    \"--now-view-control_action--bare_primary--border-radius\": {\n        \"name\": \"viewControl.action.bare.primary.borderRadius\",\n        \"derived\": \"--now-view-control_action--border-radius\"\n    },\n    \"--now-view-control_action--bare_primary--border-width\": {\n        \"name\": \"viewControl.action.bare.primary.borderWidth\",\n        \"derived\": \"--now-view-control_action--border-width\"\n    },\n    \"--now-view-control_action--bare_primary--font-family\": {\n        \"name\": \"viewControl.action.bare.primary.fontFamily\",\n        \"derived\": \"--now-view-control_action--font-family\"\n    },\n    \"--now-view-control_action--bare_primary--font-style\": {\n        \"name\": \"viewControl.action.bare.primary.fontStyle\",\n        \"derived\": \"--now-view-control_action--font-style\"\n    },\n    \"--now-view-control_action--bare_primary--font-weight\": {\n        \"name\": \"viewControl.action.bare.primary.fontWeight\",\n        \"derived\": \"--now-view-control_action--font-weight\"\n    },\n    \"--now-view-control_action--bare_primary--text-transform\": {\n        \"name\": \"viewControl.action.bare.primary.textTransform\",\n        \"derived\": \"--now-view-control_action--text-transform\"\n    },\n    \"--now-view-control_action--bare--background-color-alpha\": {\n        \"name\": \"viewControl.action.bare.backgroundColorAlpha\",\n        \"initial\": \"0\"\n    },\n    \"--now-view-control_action--bare--background-color-alpha--active\": {\n        \"name\": \"viewControl.action.bare.backgroundColorAlpha.active\",\n        \"derived\": \"--now-opacity--less\"\n    },\n    \"--now-view-control_action--bare--background-color-alpha--hover\": {\n        \"name\": \"viewControl.action.bare.backgroundColorAlpha.hover\",\n        \"derived\": \"--now-opacity--least\"\n    },\n    \"--now-view-control_action--bare--border-color-alpha\": {\n        \"name\": \"viewControl.action.bare.borderColorAlpha\",\n        \"initial\": \"0\"\n    },\n    \"--now-view-control_action--bare--border-radius\": {\n        \"name\": \"viewControl.action.bare.borderRadius\",\n        \"derived\": \"--now-actionable--bare--border-radius\"\n    },\n    \"--now-view-control_action--bare--border-width\": {\n        \"name\": \"viewControl.action.bare.borderWidth\",\n        \"derived\": \"--now-actionable--bare--border-width\"\n    },\n    \"--now-view-control_action--border-radius\": {\n        \"name\": \"viewControl.action.borderRadius\",\n        \"derived\": \"--now-view-control--border-radius\"\n    },\n    \"--now-view-control_action--border-width\": {\n        \"name\": \"viewControl.action.borderWidth\",\n        \"derived\": \"--now-view-control--border-width\"\n    },\n    \"--now-view-control_action--contained--border-radius\": {\n        \"name\": \"viewControl.action.contained.borderRadius\",\n        \"initial\": \"0px\"\n    },\n    \"--now-view-control_action--contained--border-width\": {\n        \"name\": \"viewControl.action.contained.borderWidth\",\n        \"initial\": \"0px\"\n    },\n    \"--now-view-control_action--font-family\": {\n        \"name\": \"viewControl.action.fontFamily\",\n        \"derived\": \"--now-view-control--font-family\"\n    },\n    \"--now-view-control_action--font-style\": {\n        \"name\": \"viewControl.action.fontStyle\",\n        \"derived\": \"--now-view-control--font-style\"\n    },\n    \"--now-view-control_action--font-weight\": {\n        \"name\": \"viewControl.action.fontWeight\",\n        \"derived\": \"--now-view-control--font-weight\"\n    },\n    \"--now-view-control_action--primary--background-color\": {\n        \"name\": \"viewControl.action.primary.backgroundColor\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-view-control_action--primary--background-color--active\": {\n        \"name\": \"viewControl.action.primary.backgroundColor.active\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-view-control_action--primary--background-color--hover\": {\n        \"name\": \"viewControl.action.primary.backgroundColor.hover\",\n        \"derived\": \"--now-color--primary-2\"\n    },\n    \"--now-view-control_action--primary--background-color-alpha\": {\n        \"name\": \"viewControl.action.primary.backgroundColorAlpha\",\n        \"initial\": \"1\"\n    },\n    \"--now-view-control_action--primary--background-color-alpha--active\": {\n        \"name\": \"viewControl.action.primary.backgroundColorAlpha.active\",\n        \"derived\": \"--now-view-control_action--primary--background-color-alpha\"\n    },\n    \"--now-view-control_action--primary--background-color-alpha--hover\": {\n        \"name\": \"viewControl.action.primary.backgroundColorAlpha.hover\",\n        \"derived\": \"--now-view-control_action--primary--background-color-alpha\"\n    },\n    \"--now-view-control_action--primary--border-color\": {\n        \"name\": \"viewControl.action.primary.borderColor\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-view-control_action--primary--border-color--active\": {\n        \"name\": \"viewControl.action.primary.borderColor.active\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-view-control_action--primary--border-color--hover\": {\n        \"name\": \"viewControl.action.primary.borderColor.hover\",\n        \"derived\": \"--now-color--primary-2\"\n    },\n    \"--now-view-control_action--primary--border-color-alpha\": {\n        \"name\": \"viewControl.action.primary.borderColorAlpha\",\n        \"initial\": \"0\"\n    },\n    \"--now-view-control_action--primary--border-color-alpha--active\": {\n        \"name\": \"viewControl.action.primary.borderColorAlpha.active\",\n        \"derived\": \"--now-view-control_action--primary--border-color-alpha\"\n    },\n    \"--now-view-control_action--primary--border-color-alpha--hover\": {\n        \"name\": \"viewControl.action.primary.borderColorAlpha.hover\",\n        \"derived\": \"--now-view-control_action--primary--border-color-alpha\"\n    },\n    \"--now-view-control_action--primary--border-radius\": {\n        \"name\": \"viewControl.action.primary.borderRadius\",\n        \"derived\": \"--now-view-control_action--contained--border-radius\"\n    },\n    \"--now-view-control_action--primary--border-width\": {\n        \"name\": \"viewControl.action.primary.borderWidth\",\n        \"derived\": \"--now-view-control_action--contained--border-width\"\n    },\n    \"--now-view-control_action--primary--opacity--disabled\": {\n        \"name\": \"viewControl.action.primary.opacity.disabled\",\n        \"derived\": \"--now-opacity--less\"\n    },\n    \"--now-view-control_action--secondary--background-color\": {\n        \"name\": \"viewControl.action.secondary.backgroundColor\",\n        \"derived\": \"--now-color_background--primary\"\n    },\n    \"--now-view-control_action--secondary--background-color--active\": {\n        \"name\": \"viewControl.action.secondary.backgroundColor.active\",\n        \"derived\": \"--now-color_background--primary\"\n    },\n    \"--now-view-control_action--secondary--background-color--hover\": {\n        \"name\": \"viewControl.action.secondary.backgroundColor.hover\",\n        \"derived\": \"--now-color_background--primary\"\n    },\n    \"--now-view-control_action--secondary--background-color-alpha\": {\n        \"name\": \"viewControl.action.secondary.backgroundColorAlpha\",\n        \"initial\": \"1\"\n    },\n    \"--now-view-control_action--secondary--background-color-alpha--active\": {\n        \"name\": \"viewControl.action.secondary.backgroundColorAlpha.active\",\n        \"derived\": \"--now-view-control_action--secondary--background-color-alpha\"\n    },\n    \"--now-view-control_action--secondary--background-color-alpha--hover\": {\n        \"name\": \"viewControl.action.secondary.backgroundColorAlpha.hover\",\n        \"derived\": \"--now-view-control_action--secondary--background-color-alpha\"\n    },\n    \"--now-view-control_action--secondary--border-color\": {\n        \"name\": \"viewControl.action.secondary.borderColor\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-view-control_action--secondary--border-color--active\": {\n        \"name\": \"viewControl.action.secondary.borderColor.active\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-view-control_action--secondary--border-color--hover\": {\n        \"name\": \"viewControl.action.secondary.borderColor.hover\",\n        \"derived\": \"--now-color--primary-2\"\n    },\n    \"--now-view-control_action--secondary--border-color-alpha\": {\n        \"name\": \"viewControl.action.secondary.borderColorAlpha\",\n        \"initial\": \"1\"\n    },\n    \"--now-view-control_action--secondary--border-color-alpha--active\": {\n        \"name\": \"viewControl.action.secondary.borderColorAlpha.active\",\n        \"derived\": \"--now-view-control_action--secondary--border-color-alpha\"\n    },\n    \"--now-view-control_action--secondary--border-color-alpha--hover\": {\n        \"name\": \"viewControl.action.secondary.borderColorAlpha.hover\",\n        \"derived\": \"--now-view-control_action--secondary--border-color-alpha\"\n    },\n    \"--now-view-control_action--secondary--border-radius\": {\n        \"name\": \"viewControl.action.secondary.borderRadius\",\n        \"derived\": \"--now-view-control_action--contained--border-radius\"\n    },\n    \"--now-view-control_action--secondary--border-width\": {\n        \"name\": \"viewControl.action.secondary.borderWidth\",\n        \"derived\": \"--now-view-control_action--contained--border-width\"\n    },\n    \"--now-view-control_action--secondary--opacity--disabled\": {\n        \"name\": \"viewControl.action.secondary.opacity.disabled\",\n        \"derived\": \"--now-opacity--less\"\n    },\n    \"--now-view-control_action--tertiary--background-color\": {\n        \"name\": \"viewControl.action.tertiary.backgroundColor\",\n        \"derived\": \"--now-color_background--secondary-actionable\"\n    },\n    \"--now-view-control_action--tertiary--background-color--active\": {\n        \"name\": \"viewControl.action.tertiary.backgroundColor.active\",\n        \"derived\": \"--now-view-control_action--tertiary--background-color\"\n    },\n    \"--now-view-control_action--tertiary--background-color--hover\": {\n        \"name\": \"viewControl.action.tertiary.backgroundColor.hover\",\n        \"derived\": \"--now-view-control_action--tertiary--background-color\"\n    },\n    \"--now-view-control_action--tertiary--background-color-alpha\": {\n        \"name\": \"viewControl.action.tertiary.backgroundColorAlpha\",\n        \"initial\": \"0\"\n    },\n    \"--now-view-control_action--tertiary--background-color-alpha--active\": {\n        \"name\": \"viewControl.action.tertiary.backgroundColorAlpha.active\",\n        \"derived\": \"--now-opacity--less\"\n    },\n    \"--now-view-control_action--tertiary--background-color-alpha--hover\": {\n        \"name\": \"viewControl.action.tertiary.backgroundColorAlpha.hover\",\n        \"derived\": \"--now-opacity--least\"\n    },\n    \"--now-view-control_action--tertiary--border-color\": {\n        \"name\": \"viewControl.action.tertiary.borderColor\",\n        \"derived\": \"--now-color_border--tertiary-actionable\"\n    },\n    \"--now-view-control_action--tertiary--border-color--active\": {\n        \"name\": \"viewControl.action.tertiary.borderColor.active\",\n        \"derived\": \"--now-color_border--secondary-actionable\"\n    },\n    \"--now-view-control_action--tertiary--border-color--hover\": {\n        \"name\": \"viewControl.action.tertiary.borderColor.hover\",\n        \"derived\": \"--now-color_border--primary-actionable\"\n    },\n    \"--now-view-control_action--tertiary--border-color-alpha\": {\n        \"name\": \"viewControl.action.tertiary.borderColorAlpha\",\n        \"initial\": \"0\"\n    },\n    \"--now-view-control_action--tertiary--border-color-alpha--active\": {\n        \"name\": \"viewControl.action.tertiary.borderColorAlpha.active\",\n        \"derived\": \"--now-view-control_action--tertiary--border-color-alpha\"\n    },\n    \"--now-view-control_action--tertiary--border-color-alpha--hover\": {\n        \"name\": \"viewControl.action.tertiary.borderColorAlpha.hover\",\n        \"derived\": \"--now-view-control_action--tertiary--border-color-alpha\"\n    },\n    \"--now-view-control_action--tertiary--border-radius\": {\n        \"name\": \"viewControl.action.tertiary.borderRadius\",\n        \"derived\": \"--now-view-control_action--bare--border-radius\"\n    },\n    \"--now-view-control_action--tertiary--border-width\": {\n        \"name\": \"viewControl.action.tertiary.borderWidth\",\n        \"derived\": \"--now-view-control_action--bare--border-width\"\n    },\n    \"--now-view-control_action--tertiary--opacity--disabled\": {\n        \"name\": \"viewControl.action.tertiary.opacity.disabled\",\n        \"derived\": \"--now-opacity--less\"\n    },\n    \"--now-view-control_action--text-transform\": {\n        \"name\": \"viewControl.action.textTransform\",\n        \"derived\": \"--now-view-control--text-transform\"\n    },\n    \"--now-view-control_header--font-family\": {\n        \"name\": \"viewControl.header.fontFamily\",\n        \"derived\": \"--now-display-type--header-primary--font-family\"\n    },\n    \"--now-view-control_header--font-style\": {\n        \"name\": \"viewControl.header.fontStyle\",\n        \"derived\": \"--now-display-type--header-primary--font-style\"\n    },\n    \"--now-view-control_header--font-weight\": {\n        \"name\": \"viewControl.header.fontWeight\",\n        \"derived\": \"--now-display-type--header-primary--font-weight\"\n    },\n    \"--now-view-control_header--primary--color\": {\n        \"name\": \"viewControl.header.primary.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-view-control_header--secondary--color\": {\n        \"name\": \"viewControl.header.secondary.color\",\n        \"derived\": \"--now-color_text--secondary\"\n    },\n    \"--now-view-control_header--tertiary--color\": {\n        \"name\": \"viewControl.header.tertiary.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-view-control_header--text-transform\": {\n        \"name\": \"viewControl.header.textTransform\",\n        \"derived\": \"--now-display-type--header-primary--text-transform\"\n    },\n    \"--now-view-control_item_label--primary--color\": {\n        \"name\": \"viewControl.item.label.primary.color\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-view-control_item_label--primary--color--active\": {\n        \"name\": \"viewControl.item.label.primary.color.active\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-view-control_item_label--primary--color--hover\": {\n        \"name\": \"viewControl.item.label.primary.color.hover\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-view-control_item_label--primary--color--selected\": {\n        \"name\": \"viewControl.item.label.primary.color.selected\",\n        \"derived\": \"--now-color_text--primary-actionable\"\n    },\n    \"--now-view-control_item_label--primary--color--selected_active\": {\n        \"name\": \"viewControl.item.label.primary.color.selected.active\",\n        \"derived\": \"--now-view-control_item_label--primary--color--selected\"\n    },\n    \"--now-view-control_item_label--primary--color--selected_hover\": {\n        \"name\": \"viewControl.item.label.primary.color.selected.hover\",\n        \"derived\": \"--now-view-control_item_label--primary--color--selected\"\n    },\n    \"--now-view-control_item_label--primary--font-family\": {\n        \"name\": \"viewControl.item.label.primary.fontFamily\",\n        \"derived\": \"--now-view-control--font-family\"\n    },\n    \"--now-view-control_item_label--primary--font-style\": {\n        \"name\": \"viewControl.item.label.primary.fontStyle\",\n        \"derived\": \"--now-view-control--font-style\"\n    },\n    \"--now-view-control_item_label--primary--font-style--selected\": {\n        \"name\": \"viewControl.item.label.primary.fontStyle.selected\",\n        \"derived\": \"--now-view-control_item_label--primary--font-style\"\n    },\n    \"--now-view-control_item_label--primary--font-weight\": {\n        \"name\": \"viewControl.item.label.primary.fontWeight\",\n        \"derived\": \"--now-view-control--font-weight\"\n    },\n    \"--now-view-control_item_label--primary--font-weight--selected\": {\n        \"name\": \"viewControl.item.label.primary.fontWeight.selected\",\n        \"initial\": \"bold\"\n    },\n    \"--now-view-control_item_label--primary--text-transform\": {\n        \"name\": \"viewControl.item.label.primary.textTransform\",\n        \"derived\": \"--now-view-control--text-transform\"\n    },\n    \"--now-view-control_item_label--primary--text-transform--selected\": {\n        \"name\": \"viewControl.item.label.primary.textTransform.selected\",\n        \"derived\": \"--now-view-control_item_label--primary--text-transform\"\n    },\n    \"--now-view-control_item_label--secondary--color\": {\n        \"name\": \"viewControl.item.label.secondary.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-view-control_item_label--secondary--color--active\": {\n        \"name\": \"viewControl.item.label.secondary.color.active\",\n        \"derived\": \"--now-color--secondary-3\"\n    },\n    \"--now-view-control_item_label--secondary--color--hover\": {\n        \"name\": \"viewControl.item.label.secondary.color.hover\",\n        \"derived\": \"--now-color--secondary-2\"\n    },\n    \"--now-view-control_item_label--secondary--color--selected\": {\n        \"name\": \"viewControl.item.label.secondary.color.selected\",\n        \"derived\": \"--now-view-control_item_label--secondary--color\"\n    },\n    \"--now-view-control_item_label--secondary--color--selected_active\": {\n        \"name\": \"viewControl.item.label.secondary.color.selected.active\",\n        \"derived\": \"--now-view-control_item_label--secondary--color--active\"\n    },\n    \"--now-view-control_item_label--secondary--color--selected_hover\": {\n        \"name\": \"viewControl.item.label.secondary.color.selected.hover\",\n        \"derived\": \"--now-view-control_item_label--secondary--color--hover\"\n    },\n    \"--now-view-control_item_label--secondary--font-family\": {\n        \"name\": \"viewControl.item.label.secondary.fontFamily\",\n        \"derived\": \"--now-view-control--font-family\"\n    },\n    \"--now-view-control_item_label--secondary--font-style\": {\n        \"name\": \"viewControl.item.label.secondary.fontStyle\",\n        \"derived\": \"--now-view-control--font-style\"\n    },\n    \"--now-view-control_item_label--secondary--font-style--selected\": {\n        \"name\": \"viewControl.item.label.secondary.fontStyle.selected\",\n        \"derived\": \"--now-view-control_item_label--secondary--font-style\"\n    },\n    \"--now-view-control_item_label--secondary--font-weight\": {\n        \"name\": \"viewControl.item.label.secondary.fontWeight\",\n        \"derived\": \"--now-view-control--font-weight\"\n    },\n    \"--now-view-control_item_label--secondary--font-weight--selected\": {\n        \"name\": \"viewControl.item.label.secondary.fontWeight.selected\",\n        \"initial\": \"bold\"\n    },\n    \"--now-view-control_item_label--secondary--text-transform\": {\n        \"name\": \"viewControl.item.label.secondary.textTransform\",\n        \"derived\": \"--now-view-control--text-transform\"\n    },\n    \"--now-view-control_item_label--secondary--text-transform--selected\": {\n        \"name\": \"viewControl.item.label.secondary.textTransform.selected\",\n        \"derived\": \"--now-view-control_item_label--secondary--text-transform\"\n    },\n    \"--now-view-control_item--bare--border-radius\": {\n        \"name\": \"viewControl.item.bare.borderRadius\",\n        \"derived\": \"--now-actionable--bare--border-radius\"\n    },\n    \"--now-view-control_item--bare--border-width\": {\n        \"name\": \"viewControl.item.bare.borderWidth\",\n        \"derived\": \"--now-actionable--bare--border-width\"\n    },\n    \"--now-view-control_item--border-radius\": {\n        \"name\": \"viewControl.item.borderRadius\",\n        \"initial\": \"0px\"\n    },\n    \"--now-view-control_item--border-width\": {\n        \"name\": \"viewControl.item.borderWidth\",\n        \"initial\": \"1px\"\n    },\n    \"--now-view-control_item--primary--background-color\": {\n        \"name\": \"viewControl.item.primary.backgroundColor\",\n        \"derived\": \"--now-color_background--primary\"\n    },\n    \"--now-view-control_item--primary--background-color--active\": {\n        \"name\": \"viewControl.item.primary.backgroundColor.active\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-view-control_item--primary--background-color--focus\": {\n        \"name\": \"viewControl.item.primary.backgroundColor.focus\",\n        \"derived\": \"--now-color--primary-2\"\n    },\n    \"--now-view-control_item--primary--background-color--hover\": {\n        \"name\": \"viewControl.item.primary.backgroundColor.hover\",\n        \"derived\": \"--now-color--primary-2\"\n    },\n    \"--now-view-control_item--primary--background-color--selected\": {\n        \"name\": \"viewControl.item.primary.backgroundColor.selected\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-view-control_item--primary--background-color--selected_active\": {\n        \"name\": \"viewControl.item.primary.backgroundColor.selected.active\",\n        \"derived\": \"--now-view-control_item--primary--background-color--selected\"\n    },\n    \"--now-view-control_item--primary--background-color--selected_hover\": {\n        \"name\": \"viewControl.item.primary.backgroundColor.selected.hover\",\n        \"derived\": \"--now-view-control_item--primary--background-color--selected\"\n    },\n    \"--now-view-control_item--primary--background-color-alpha\": {\n        \"name\": \"viewControl.item.primary.backgroundColorAlpha\",\n        \"initial\": \"0\"\n    },\n    \"--now-view-control_item--primary--background-color-alpha--active\": {\n        \"name\": \"viewControl.item.primary.backgroundColorAlpha.active\",\n        \"initial\": \"1\"\n    },\n    \"--now-view-control_item--primary--background-color-alpha--focus\": {\n        \"name\": \"viewControl.item.primary.backgroundColorAlpha.focus\",\n        \"initial\": \"1\"\n    },\n    \"--now-view-control_item--primary--background-color-alpha--hover\": {\n        \"name\": \"viewControl.item.primary.backgroundColorAlpha.hover\",\n        \"initial\": \"1\"\n    },\n    \"--now-view-control_item--primary--background-color-alpha--selected\": {\n        \"name\": \"viewControl.item.primary.backgroundColorAlpha.selected\",\n        \"initial\": \"1\"\n    },\n    \"--now-view-control_item--primary--background-color-alpha--selected_active\": {\n        \"name\": \"viewControl.item.primary.backgroundColorAlpha.selected.active\",\n        \"derived\": \"--now-view-control_item--primary--background-color-alpha--selected\"\n    },\n    \"--now-view-control_item--primary--background-color-alpha--selected_hover\": {\n        \"name\": \"viewControl.item.primary.backgroundColorAlpha.selected.hover\",\n        \"derived\": \"--now-view-control_item--primary--background-color-alpha--selected\"\n    },\n    \"--now-view-control_item--primary--border-color\": {\n        \"name\": \"viewControl.item.primary.borderColor\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-view-control_item--primary--border-color--active\": {\n        \"name\": \"viewControl.item.primary.borderColor.active\",\n        \"derived\": \"--now-color--primary-3\"\n    },\n    \"--now-view-control_item--primary--border-color--focus\": {\n        \"name\": \"viewControl.item.primary.borderColor.focus\",\n        \"derived\": \"--now-color--primary-2\"\n    },\n    \"--now-view-control_item--primary--border-color--hover\": {\n        \"name\": \"viewControl.item.primary.borderColor.hover\",\n        \"derived\": \"--now-color--primary-2\"\n    },\n    \"--now-view-control_item--primary--border-color--selected\": {\n        \"name\": \"viewControl.item.primary.borderColor.selected\",\n        \"derived\": \"--now-view-control_item--primary--border-color\"\n    },\n    \"--now-view-control_item--primary--border-color--selected_active\": {\n        \"name\": \"viewControl.item.primary.borderColor.selected.active\",\n        \"derived\": \"--now-view-control_item--primary--border-color--selected\"\n    },\n    \"--now-view-control_item--primary--border-color--selected_hover\": {\n        \"name\": \"viewControl.item.primary.borderColor.selected.hover\",\n        \"derived\": \"--now-view-control_item--primary--border-color--selected\"\n    },\n    \"--now-view-control_item--primary--border-color-alpha\": {\n        \"name\": \"viewControl.item.primary.borderColorAlpha\",\n        \"initial\": \"1\"\n    },\n    \"--now-view-control_item--primary--border-color-alpha--active\": {\n        \"name\": \"viewControl.item.primary.borderColorAlpha.active\",\n        \"derived\": \"--now-view-control_item--primary--border-color-alpha\"\n    },\n    \"--now-view-control_item--primary--border-color-alpha--focus\": {\n        \"name\": \"viewControl.item.primary.borderColorAlpha.focus\",\n        \"derived\": \"--now-view-control_item--primary--border-color-alpha\"\n    },\n    \"--now-view-control_item--primary--border-color-alpha--hover\": {\n        \"name\": \"viewControl.item.primary.borderColorAlpha.hover\",\n        \"derived\": \"--now-view-control_item--primary--border-color-alpha\"\n    },\n    \"--now-view-control_item--primary--border-color-alpha--selected\": {\n        \"name\": \"viewControl.item.primary.borderColorAlpha.selected\",\n        \"derived\": \"--now-view-control_item--primary--border-color-alpha\"\n    },\n    \"--now-view-control_item--primary--border-color-alpha--selected_active\": {\n        \"name\": \"viewControl.item.primary.borderColorAlpha.selected.active\",\n        \"derived\": \"--now-view-control_item--primary--border-color-alpha\"\n    },\n    \"--now-view-control_item--primary--border-color-alpha--selected_hover\": {\n        \"name\": \"viewControl.item.primary.borderColorAlpha.selected.hover\",\n        \"derived\": \"--now-view-control_item--primary--border-color-alpha\"\n    },\n    \"--now-view-control_item--primary--border-radius\": {\n        \"name\": \"viewControl.item.primary.borderRadius\",\n        \"derived\": \"--now-view-control_item--border-radius\"\n    },\n    \"--now-view-control_item--primary--border-radius--selected\": {\n        \"name\": \"viewControl.item.primary.borderRadius.selected\",\n        \"derived\": \"--now-view-control_item--border-radius\"\n    },\n    \"--now-view-control_item--primary--border-width\": {\n        \"name\": \"viewControl.item.primary.borderWidth\",\n        \"derived\": \"--now-view-control--border-width\"\n    },\n    \"--now-view-control_item--primary--border-width--active\": {\n        \"name\": \"viewControl.item.primary.borderWidth.active\",\n        \"derived\": \"--now-view-control_item--primary--border-width\"\n    },\n    \"--now-view-control_item--primary--border-width--focus\": {\n        \"name\": \"viewControl.item.primary.borderWidth.focus\",\n        \"derived\": \"--now-view-control_item--primary--border-width\"\n    },\n    \"--now-view-control_item--primary--border-width--hover\": {\n        \"name\": \"viewControl.item.primary.borderWidth.hover\",\n        \"derived\": \"--now-view-control_item--primary--border-width\"\n    },\n    \"--now-view-control_item--primary--border-width--selected\": {\n        \"name\": \"viewControl.item.primary.borderWidth.selected\",\n        \"derived\": \"--now-view-control_item--primary--border-width\"\n    },\n    \"--now-view-control_item--secondary--background-color\": {\n        \"name\": \"viewControl.item.secondary.backgroundColor\",\n        \"derived\": \"--now-color_background--secondary\"\n    },\n    \"--now-view-control_item--secondary--background-color--active\": {\n        \"name\": \"viewControl.item.secondary.backgroundColor.active\",\n        \"derived\": \"--now-color--secondary-2\"\n    },\n    \"--now-view-control_item--secondary--background-color--focus\": {\n        \"name\": \"viewControl.item.secondary.backgroundColor.focus\",\n        \"derived\": \"--now-color_background--tertiary\"\n    },\n    \"--now-view-control_item--secondary--background-color--hover\": {\n        \"name\": \"viewControl.item.secondary.backgroundColor.hover\",\n        \"derived\": \"--now-color--secondary-2\"\n    },\n    \"--now-view-control_item--secondary--background-color--selected\": {\n        \"name\": \"viewControl.item.secondary.backgroundColor.selected\",\n        \"derived\": \"--now-color_background--tertiary\"\n    },\n    \"--now-view-control_item--secondary--background-color--selected_active\": {\n        \"name\": \"viewControl.item.secondary.backgroundColor.selected.active\",\n        \"derived\": \"--now-view-control_item--secondary--background-color--selected\"\n    },\n    \"--now-view-control_item--secondary--background-color--selected_hover\": {\n        \"name\": \"viewControl.item.secondary.backgroundColor.selected.hover\",\n        \"derived\": \"--now-view-control_item--secondary--background-color--selected\"\n    },\n    \"--now-view-control_item--secondary--background-color-alpha\": {\n        \"name\": \"viewControl.item.secondary.backgroundColorAlpha\",\n        \"initial\": \"0\"\n    },\n    \"--now-view-control_item--secondary--background-color-alpha--active\": {\n        \"name\": \"viewControl.item.secondary.backgroundColorAlpha.active\",\n        \"derived\": \"--now-opacity--less\"\n    },\n    \"--now-view-control_item--secondary--background-color-alpha--focus\": {\n        \"name\": \"viewControl.item.secondary.backgroundColorAlpha.focus\",\n        \"initial\": \"1\"\n    },\n    \"--now-view-control_item--secondary--background-color-alpha--hover\": {\n        \"name\": \"viewControl.item.secondary.backgroundColorAlpha.hover\",\n        \"derived\": \"--now-opacity--least\"\n    },\n    \"--now-view-control_item--secondary--background-color-alpha--selected\": {\n        \"name\": \"viewControl.item.secondary.backgroundColorAlpha.selected\",\n        \"initial\": \"1\"\n    },\n    \"--now-view-control_item--secondary--background-color-alpha--selected_active\": {\n        \"name\": \"viewControl.item.secondary.backgroundColorAlpha.selected.active\",\n        \"derived\": \"--now-view-control_item--secondary--background-color-alpha--selected\"\n    },\n    \"--now-view-control_item--secondary--background-color-alpha--selected_hover\": {\n        \"name\": \"viewControl.item.secondary.backgroundColorAlpha.selected.hover\",\n        \"derived\": \"--now-view-control_item--secondary--background-color-alpha--selected\"\n    },\n    \"--now-view-control_item--secondary--border-color\": {\n        \"name\": \"viewControl.item.secondary.borderColor\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-view-control_item--secondary--border-color--active\": {\n        \"name\": \"viewControl.item.secondary.borderColor.active\",\n        \"derived\": \"--now-color--secondary-3\"\n    },\n    \"--now-view-control_item--secondary--border-color--focus\": {\n        \"name\": \"viewControl.item.secondary.borderColor.focus\",\n        \"derived\": \"--now-color_text--secondary\"\n    },\n    \"--now-view-control_item--secondary--border-color--hover\": {\n        \"name\": \"viewControl.item.secondary.borderColor.hover\",\n        \"derived\": \"--now-color--secondary-2\"\n    },\n    \"--now-view-control_item--secondary--border-color--selected\": {\n        \"name\": \"viewControl.item.secondary.borderColor.selected\",\n        \"derived\": \"--now-view-control_item--secondary--border-color\"\n    },\n    \"--now-view-control_item--secondary--border-color--selected_active\": {\n        \"name\": \"viewControl.item.secondary.borderColor.selected.active\",\n        \"derived\": \"--now-view-control_item--secondary--border-color--selected\"\n    },\n    \"--now-view-control_item--secondary--border-color--selected_hover\": {\n        \"name\": \"viewControl.item.secondary.borderColor.selected.hover\",\n        \"derived\": \"--now-view-control_item--secondary--border-color--selected\"\n    },\n    \"--now-view-control_item--secondary--border-color-alpha\": {\n        \"name\": \"viewControl.item.secondary.borderColorAlpha\",\n        \"derived\": \"--now-view-control_action--bare--border-color-alpha\"\n    },\n    \"--now-view-control_item--secondary--border-color-alpha--active\": {\n        \"name\": \"viewControl.item.secondary.borderColorAlpha.active\",\n        \"derived\": \"--now-view-control_item--secondary--border-color-alpha\"\n    },\n    \"--now-view-control_item--secondary--border-color-alpha--focus\": {\n        \"name\": \"viewControl.item.secondary.borderColorAlpha.focus\",\n        \"derived\": \"--now-view-control_item--secondary--border-color-alpha\"\n    },\n    \"--now-view-control_item--secondary--border-color-alpha--hover\": {\n        \"name\": \"viewControl.item.secondary.borderColorAlpha.hover\",\n        \"derived\": \"--now-view-control_item--secondary--border-color-alpha\"\n    },\n    \"--now-view-control_item--secondary--border-color-alpha--selected\": {\n        \"name\": \"viewControl.item.secondary.borderColorAlpha.selected\",\n        \"derived\": \"--now-view-control_item--secondary--border-color-alpha\"\n    },\n    \"--now-view-control_item--secondary--border-color-alpha--selected_active\": {\n        \"name\": \"viewControl.item.secondary.borderColorAlpha.selected.active\",\n        \"derived\": \"--now-view-control_item--secondary--border-color-alpha\"\n    },\n    \"--now-view-control_item--secondary--border-color-alpha--selected_hover\": {\n        \"name\": \"viewControl.item.secondary.borderColorAlpha.selected.hover\",\n        \"derived\": \"--now-view-control_item--secondary--border-color-alpha\"\n    },\n    \"--now-view-control_item--secondary--border-radius\": {\n        \"name\": \"viewControl.item.secondary.borderRadius\",\n        \"derived\": \"--now-view-control_item--border-radius\"\n    },\n    \"--now-view-control_item--secondary--border-radius--selected\": {\n        \"name\": \"viewControl.item.secondary.borderRadius.selected\",\n        \"derived\": \"--now-view-control_item--secondary--border-radius\"\n    },\n    \"--now-view-control_item--secondary--border-width\": {\n        \"name\": \"viewControl.item.secondary.borderWidth\",\n        \"derived\": \"--now-view-control_action--bare--border-width\"\n    },\n    \"--now-view-control_item--secondary--border-width--active\": {\n        \"name\": \"viewControl.item.secondary.borderWidth.active\",\n        \"derived\": \"--now-view-control_item--secondary--border-width\"\n    },\n    \"--now-view-control_item--secondary--border-width--focus\": {\n        \"name\": \"viewControl.item.secondary.borderWidth.focus\",\n        \"derived\": \"--now-view-control_item--secondary--border-width\"\n    },\n    \"--now-view-control_item--secondary--border-width--hover\": {\n        \"name\": \"viewControl.item.secondary.borderWidth.hover\",\n        \"derived\": \"--now-view-control_item--secondary--border-width\"\n    },\n    \"--now-view-control_item--secondary--border-width--selected\": {\n        \"name\": \"viewControl.item.secondary.borderWidth.selected\",\n        \"derived\": \"--now-view-control_item--secondary--border-width\"\n    },\n    \"--now-view-control_label--font-family\": {\n        \"name\": \"viewControl.label.fontFamily\",\n        \"derived\": \"--now-view-control--font-family\"\n    },\n    \"--now-view-control_label--font-style\": {\n        \"name\": \"viewControl.label.fontStyle\",\n        \"derived\": \"--now-view-control--font-style\"\n    },\n    \"--now-view-control_label--font-weight\": {\n        \"name\": \"viewControl.label.fontWeight\",\n        \"derived\": \"--now-view-control--font-weight\"\n    },\n    \"--now-view-control_label--primary--color\": {\n        \"name\": \"viewControl.label.primary.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-view-control_label--secondary--color\": {\n        \"name\": \"viewControl.label.secondary.color\",\n        \"derived\": \"--now-color_text--secondary\"\n    },\n    \"--now-view-control_label--tertiary--color\": {\n        \"name\": \"viewControl.label.tertiary.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-view-control_label--text-transform\": {\n        \"name\": \"viewControl.label.textTransform\",\n        \"derived\": \"--now-view-control--text-transform\"\n    },\n    \"--now-view-control_subheader--font-family\": {\n        \"name\": \"viewControl.subheader.fontFamily\",\n        \"derived\": \"--now-display-type--title-primary--font-family\"\n    },\n    \"--now-view-control_subheader--font-style\": {\n        \"name\": \"viewControl.subheader.fontStyle\",\n        \"derived\": \"--now-display-type--title-primary--font-style\"\n    },\n    \"--now-view-control_subheader--font-weight\": {\n        \"name\": \"viewControl.subheader.fontWeight\",\n        \"derived\": \"--now-display-type--title-primary--font-weight\"\n    },\n    \"--now-view-control_subheader--primary--color\": {\n        \"name\": \"viewControl.subheader.primary.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-view-control_subheader--secondary--color\": {\n        \"name\": \"viewControl.subheader.secondary.color\",\n        \"derived\": \"--now-color_text--secondary\"\n    },\n    \"--now-view-control_subheader--tertiary--color\": {\n        \"name\": \"viewControl.subheader.tertiary.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-view-control_subheader--text-transform\": {\n        \"name\": \"viewControl.subheader.textTransform\",\n        \"derived\": \"--now-display-type--title-primary--text-transform\"\n    },\n    \"--now-view-control--opacity--disabled\": {\n        \"name\": \"viewControl.opacity.disabled\",\n        \"derived\": \"--now-opacity--less\"\n    },\n    \"--now-view-control-collapse_divider--primary--color\": {\n        \"name\": \"viewControlCollapse.divider.primary.color\",\n        \"derived\": \"--now-color_divider--primary\"\n    },\n    \"--now-view-control-collapse_divider--primary--width\": {\n        \"name\": \"viewControlCollapse.divider.primary.width\",\n        \"initial\": \"1px\"\n    },\n    \"--now-view-control-collapse_divider--secondary--color\": {\n        \"name\": \"viewControlCollapse.divider.secondary.color\",\n        \"derived\": \"--now-color_divider--secondary\"\n    },\n    \"--now-view-control-collapse_divider--secondary--width\": {\n        \"name\": \"viewControlCollapse.divider.secondary.width\",\n        \"initial\": \"1px\"\n    },\n    \"--now-view-control-collapse_divider--tertiary--color\": {\n        \"name\": \"viewControlCollapse.divider.tertiary.color\",\n        \"derived\": \"--now-color_divider--tertiary\"\n    },\n    \"--now-view-control-collapse_divider--tertiary--width\": {\n        \"name\": \"viewControlCollapse.divider.tertiary.width\",\n        \"initial\": \"1px\"\n    },\n    \"--now-view-control-collapse_header_icon--color\": {\n        \"name\": \"viewControlCollapse.header.icon.color\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-view-control-collapse_header_icon--color--hover\": {\n        \"name\": \"viewControlCollapse.header.icon.color.hover\",\n        \"derived\": \"--now-view-control-collapse_header_icon--color\"\n    },\n    \"--now-view-control-collapse_header--font-family\": {\n        \"name\": \"viewControlCollapse.header.fontFamily\",\n        \"derived\": \"--now-view-control_header--font-family\"\n    },\n    \"--now-view-control-collapse_header--font-style\": {\n        \"name\": \"viewControlCollapse.header.fontStyle\",\n        \"derived\": \"--now-view-control_header--font-style\"\n    },\n    \"--now-view-control-collapse_header--font-weight\": {\n        \"name\": \"viewControlCollapse.header.fontWeight\",\n        \"derived\": \"--now-view-control_header--font-weight\"\n    },\n    \"--now-view-control-collapse_header--primary--color\": {\n        \"name\": \"viewControlCollapse.header.primary.color\",\n        \"derived\": \"--now-view-control_header--primary--color\"\n    },\n    \"--now-view-control-collapse_header--primary--color--hover\": {\n        \"name\": \"viewControlCollapse.header.primary.color.hover\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-view-control-collapse_header--secondary--color\": {\n        \"name\": \"viewControlCollapse.header.secondary.color\",\n        \"derived\": \"--now-view-control_header--secondary--color\"\n    },\n    \"--now-view-control-collapse_header--secondary--color--hover\": {\n        \"name\": \"viewControlCollapse.header.secondary.color.hover\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-view-control-collapse_header--tertiary--color\": {\n        \"name\": \"viewControlCollapse.header.tertiary.color\",\n        \"derived\": \"--now-view-control_header--tertiary--color\"\n    },\n    \"--now-view-control-collapse_header--tertiary--color--hover\": {\n        \"name\": \"viewControlCollapse.header.tertiary.color.hover\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-view-control-collapse_header--text-transform\": {\n        \"name\": \"viewControlCollapse.header.textTransform\",\n        \"derived\": \"--now-view-control_header--text-transform\"\n    },\n    \"--now-view-control-collapse_label--color\": {\n        \"name\": \"viewControlCollapse.label.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-view-control-collapse_label--color--active\": {\n        \"name\": \"viewControlCollapse.label.color.active\",\n        \"derived\": \"--now-color--secondary-2\"\n    },\n    \"--now-view-control-collapse_label--color--hover\": {\n        \"name\": \"viewControlCollapse.label.color.hover\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-view-control-collapse_subheader--font-family\": {\n        \"name\": \"viewControlCollapse.subheader.fontFamily\",\n        \"derived\": \"--now-view-control_subheader--font-family\"\n    },\n    \"--now-view-control-collapse_subheader--font-style\": {\n        \"name\": \"viewControlCollapse.subheader.fontStyle\",\n        \"derived\": \"--now-view-control_subheader--font-style\"\n    },\n    \"--now-view-control-collapse_subheader--font-weight\": {\n        \"name\": \"viewControlCollapse.subheader.fontWeight\",\n        \"derived\": \"--now-view-control_subheader--font-weight\"\n    },\n    \"--now-view-control-collapse_subheader--primary--color\": {\n        \"name\": \"viewControlCollapse.subheader.primary.color\",\n        \"derived\": \"--now-view-control_subheader--primary--color\"\n    },\n    \"--now-view-control-collapse_subheader--primary--color--hover\": {\n        \"name\": \"viewControlCollapse.subheader.primary.color.hover\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-view-control-collapse_subheader--secondary--color\": {\n        \"name\": \"viewControlCollapse.subheader.secondary.color\",\n        \"derived\": \"--now-view-control_subheader--secondary--color\"\n    },\n    \"--now-view-control-collapse_subheader--secondary--color--hover\": {\n        \"name\": \"viewControlCollapse.subheader.secondary.color.hover\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-view-control-collapse_subheader--tertiary--color\": {\n        \"name\": \"viewControlCollapse.subheader.tertiary.color\",\n        \"derived\": \"--now-view-control_subheader--tertiary--color\"\n    },\n    \"--now-view-control-collapse_subheader--tertiary--color--hover\": {\n        \"name\": \"viewControlCollapse.subheader.tertiary.color.hover\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-view-control-collapse_subheader--text-transform\": {\n        \"name\": \"viewControlCollapse.subheader.textTransform\",\n        \"derived\": \"--now-view-control_subheader--text-transform\"\n    },\n    \"--now-view-control-collapse_trigger-icon--color\": {\n        \"name\": \"viewControlCollapse.triggerIcon.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-view-control-collapse_trigger-icon--color--hover\": {\n        \"name\": \"viewControlCollapse.triggerIcon.color.hover\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-view-control-collapse--font-family\": {\n        \"name\": \"viewControlCollapse.fontFamily\",\n        \"derived\": \"--now-view-control--font-family\"\n    },\n    \"--now-view-control-collapse--font-style\": {\n        \"name\": \"viewControlCollapse.fontStyle\",\n        \"derived\": \"--now-view-control--font-style\"\n    },\n    \"--now-view-control-collapse--font-weight\": {\n        \"name\": \"viewControlCollapse.fontWeight\",\n        \"derived\": \"--now-view-control--font-weight\"\n    },\n    \"--now-view-control-collapse--opacity--disabled\": {\n        \"name\": \"viewControlCollapse.opacity.disabled\",\n        \"derived\": \"--now-opacity--less\"\n    },\n    \"--now-view-control-collapse--text-transform\": {\n        \"name\": \"viewControlCollapse.textTransform\",\n        \"derived\": \"--now-view-control--text-transform\"\n    },\n    \"--now-window_header_action-icon--primary_focus-ring--color\": {\n        \"name\": \"window.header.actionIcon.primary.focusRing.color\",\n        \"derived\": \"--now-color_focus-ring\"\n    },\n    \"--now-window_header_action-icon--primary--background-color--active\": {\n        \"name\": \"window.header.actionIcon.primary.backgroundColor.active\",\n        \"derived\": \"--now-color_chrome--brand-4\"\n    },\n    \"--now-window_header_action-icon--primary--background-color--hover\": {\n        \"name\": \"window.header.actionIcon.primary.backgroundColor.hover\",\n        \"derived\": \"--now-color_chrome--brand-4\"\n    },\n    \"--now-window_header_action-icon--primary--background-color-alpha--active\": {\n        \"name\": \"window.header.actionIcon.primary.backgroundColorAlpha.active\",\n        \"derived\": \"--now-opacity--most\"\n    },\n    \"--now-window_header_action-icon--primary--background-color-alpha--hover\": {\n        \"name\": \"window.header.actionIcon.primary.backgroundColorAlpha.hover\",\n        \"derived\": \"--now-opacity--most\"\n    },\n    \"--now-window_header_action-icon--primary--color\": {\n        \"name\": \"window.header.actionIcon.primary.color\",\n        \"derived\": \"--now-color--neutral-0\"\n    },\n    \"--now-window_header_action-icon--primary--color--active\": {\n        \"name\": \"window.header.actionIcon.primary.color.active\",\n        \"derived\": \"--now-window_header_action-icon--primary--color\"\n    },\n    \"--now-window_header_action-icon--primary--color--hover\": {\n        \"name\": \"window.header.actionIcon.primary.color.hover\",\n        \"derived\": \"--now-window_header_action-icon--primary--color\"\n    },\n    \"--now-window_header_action-icon--secondary_focus-ring--color\": {\n        \"name\": \"window.header.actionIcon.secondary.focusRing.color\",\n        \"derived\": \"--now-color--focus-1\"\n    },\n    \"--now-window_header_action-icon--secondary--background-color--active\": {\n        \"name\": \"window.header.actionIcon.secondary.backgroundColor.active\",\n        \"derived\": \"--now-color_chrome--brand-4\"\n    },\n    \"--now-window_header_action-icon--secondary--background-color--hover\": {\n        \"name\": \"window.header.actionIcon.secondary.backgroundColor.hover\",\n        \"derived\": \"--now-color_chrome--brand-4\"\n    },\n    \"--now-window_header_action-icon--secondary--background-color-alpha--active\": {\n        \"name\": \"window.header.actionIcon.secondary.backgroundColorAlpha.active\",\n        \"derived\": \"--now-opacity--most\"\n    },\n    \"--now-window_header_action-icon--secondary--background-color-alpha--hover\": {\n        \"name\": \"window.header.actionIcon.secondary.backgroundColorAlpha.hover\",\n        \"derived\": \"--now-opacity--most\"\n    },\n    \"--now-window_header_action-icon--secondary--color\": {\n        \"name\": \"window.header.actionIcon.secondary.color\",\n        \"derived\": \"--now-color--neutral-0\"\n    },\n    \"--now-window_header_action-icon--secondary--color--active\": {\n        \"name\": \"window.header.actionIcon.secondary.color.active\",\n        \"derived\": \"--now-window_header_action-icon--secondary--color\"\n    },\n    \"--now-window_header_action-icon--secondary--color--hover\": {\n        \"name\": \"window.header.actionIcon.secondary.color.hover\",\n        \"derived\": \"--now-window_header_action-icon--secondary--color\"\n    },\n    \"--now-window_header_action-icon--tertiary_focus-ring--color\": {\n        \"name\": \"window.header.actionIcon.tertiary.focusRing.color\",\n        \"derived\": \"--now-color_focus-ring\"\n    },\n    \"--now-window_header_action-icon--tertiary--background-color--active\": {\n        \"name\": \"window.header.actionIcon.tertiary.backgroundColor.active\",\n        \"derived\": \"--now-color_background--secondary-actionable\"\n    },\n    \"--now-window_header_action-icon--tertiary--background-color--hover\": {\n        \"name\": \"window.header.actionIcon.tertiary.backgroundColor.hover\",\n        \"derived\": \"--now-color_background--secondary-actionable\"\n    },\n    \"--now-window_header_action-icon--tertiary--background-color-alpha--active\": {\n        \"name\": \"window.header.actionIcon.tertiary.backgroundColorAlpha.active\",\n        \"derived\": \"--now-opacity--less\"\n    },\n    \"--now-window_header_action-icon--tertiary--background-color-alpha--hover\": {\n        \"name\": \"window.header.actionIcon.tertiary.backgroundColorAlpha.hover\",\n        \"derived\": \"--now-opacity--least\"\n    },\n    \"--now-window_header_action-icon--tertiary--color\": {\n        \"name\": \"window.header.actionIcon.tertiary.color\",\n        \"derived\": \"--now-color_text--tertiary\"\n    },\n    \"--now-window_header_action-icon--tertiary--color--active\": {\n        \"name\": \"window.header.actionIcon.tertiary.color.active\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-window_header_action-icon--tertiary--color--hover\": {\n        \"name\": \"window.header.actionIcon.tertiary.color.hover\",\n        \"derived\": \"--now-color_text--secondary\"\n    },\n    \"--now-window_header_icon--primary--color\": {\n        \"name\": \"window.header.icon.primary.color\",\n        \"derived\": \"--now-color--primary-1\"\n    },\n    \"--now-window_header_icon--secondary--color\": {\n        \"name\": \"window.header.icon.secondary.color\",\n        \"derived\": \"--now-color--secondary-1\"\n    },\n    \"--now-window_header_icon--tertiary--color\": {\n        \"name\": \"window.header.icon.tertiary.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-window_header_label--primary--color\": {\n        \"name\": \"window.header.label.primary.color\",\n        \"derived\": \"--now-color--neutral-0\"\n    },\n    \"--now-window_header_label--secondary--color\": {\n        \"name\": \"window.header.label.secondary.color\",\n        \"derived\": \"--now-color--neutral-0\"\n    },\n    \"--now-window_header_label--tertiary--color\": {\n        \"name\": \"window.header.label.tertiary.color\",\n        \"derived\": \"--now-color_text--primary\"\n    },\n    \"--now-window_header--font-family\": {\n        \"name\": \"window.header.fontFamily\",\n        \"derived\": \"--now-display-type--header-primary--font-family\"\n    },\n    \"--now-window_header--font-style\": {\n        \"name\": \"window.header.fontStyle\",\n        \"derived\": \"--now-display-type--header-primary--font-style\"\n    },\n    \"--now-window_header--font-weight\": {\n        \"name\": \"window.header.fontWeight\",\n        \"derived\": \"--now-display-type--header-primary--font-weight\"\n    },\n    \"--now-window_header--primary--background-color\": {\n        \"name\": \"window.header.primary.backgroundColor\",\n        \"derived\": \"--now-color_chrome--brand-10\"\n    },\n    \"--now-window_header--secondary--background-color\": {\n        \"name\": \"window.header.secondary.backgroundColor\",\n        \"derived\": \"--now-color_chrome--brand-5\"\n    },\n    \"--now-window_header--tertiary--background-color\": {\n        \"name\": \"window.header.tertiary.backgroundColor\",\n        \"derived\": \"--now-window--background-color\"\n    },\n    \"--now-window_header--text-transform\": {\n        \"name\": \"window.header.textTransform\",\n        \"derived\": \"--now-display-type--header-primary--text-transform\"\n    },\n    \"--now-window_overlay--background-color\": {\n        \"name\": \"window.overlay.backgroundColor\",\n        \"derived\": \"--now-color--neutral-21\"\n    },\n    \"--now-window_overlay--background-color-alpha\": {\n        \"name\": \"window.overlay.backgroundColorAlpha\",\n        \"derived\": \"--now-opacity--mid\"\n    },\n    \"--now-window--primary--background-color\": {\n        \"name\": \"window.primary.backgroundColor\",\n        \"derived\": \"--now-window--background-color\"\n    },\n    \"--now-window--primary--border-color\": {\n        \"name\": \"window.primary.borderColor\",\n        \"derived\": \"--now-window--border-color\"\n    },\n    \"--now-window--secondary--background-color\": {\n        \"name\": \"window.secondary.backgroundColor\",\n        \"derived\": \"--now-window--background-color\"\n    },\n    \"--now-window--secondary--border-color\": {\n        \"name\": \"window.secondary.borderColor\",\n        \"derived\": \"--now-window--border-color\"\n    },\n    \"--now-window--tertiary--background-color\": {\n        \"name\": \"window.tertiary.backgroundColor\",\n        \"derived\": \"--now-window--background-color\"\n    },\n    \"--now-window--tertiary--border-color\": {\n        \"name\": \"window.tertiary.borderColor\",\n        \"derived\": \"--now-window--border-color\"\n    }\n}","/* eslint-disable no-console */\nimport {UXF_THEME_UPDATED} from '@devsnc/library-uxf/src/factory/constants.js';\nimport baseHooks from './hooks';\nimport {get, set, has} from 'lodash';\nimport systemTokens from './hooks/systemTokens';\n\nconst INFO_DENSITY = {\n\tKEY: 'infodensity',\n\tCOMPACT: 'compact',\n\tDEFAULT: 'default',\n\tPROP: 'userPreferenceInfoDensity',\n};\nlet stashedProcessedValues = {};\nlet themeData = {};\nlet subscribers = new Map();\nconst cachedValues = new Map();\nconst DEFAULT_THEMES = {\n\tCORAL: 'fad87d2ca304121029a4d1aed31e610f',\n\tPOLARIS: '31bf91ae07203010e03948f78ad30095',\n};\nconst ALLOWED_THEMES = [DEFAULT_THEMES.CORAL, DEFAULT_THEMES.POLARIS];\n\nfunction getCSSVariableNamesFromBase(base) {\n\tconst matches = Object.keys(themeData).filter(\n\t\t(key) => key.indexOf(base) === 0,\n\t);\n\treturn matches;\n}\nfunction extractKeys(obj) {\n\tconst keySet = new Set();\n\tfor (const key in obj) {\n\t\tkeySet.add(key);\n\t}\n\treturn keySet;\n}\nfunction setGlobalThemeData() {\n\tif (window?.ux_globals?.theme?.theme) {\n\t\tconst allThemeData = window.ux_globals.theme.theme;\n\t\tconst tokensToRemove = extractKeys(systemTokens);\n\t\tthemeData = {};\n\t\tfor (const key in allThemeData) {\n\t\t\tif (!tokensToRemove.has(key)) {\n\t\t\t\tthemeData[key] = allThemeData[key];\n\t\t\t}\n\t\t}\n\n\t\t// if it is undefined, assume we are in local dev and should fake a theme with sass vars on the page\n\t} else if (window.ux_globals === undefined) {\n\t\twindow.ux_globals = {theme: {theme: {}, parsedFromStyleSheets: true}};\n\t\t//this does not return list of variable names in :root\n\t\tconst styles = window.getComputedStyle(document.body);\n\t\t//need complete list to support css variable groups feature --now-colors*\n\t\tconst [varNames, overrides] = getCSSVariablesFromStyleSheet();\n\t\tfor (const name of varNames) {\n\t\t\twindow.ux_globals.theme.theme[name] =\n\t\t\t\toverrides[name] ?? styles.getPropertyValue(name).trim();\n\t\t}\n\t\tthemeData = window.ux_globals.theme.theme;\n\n\t\t// else we must be on an instance but there is no theme; fall back to defaults in the hooks.\n\t} else {\n\t\tthemeData = {};\n\t}\n}\nsetGlobalThemeData();\n\nfunction checkNextPath(hookName, unresolved, paths, nextPath, hasBeenResolved) {\n\t// if the path leads us to something already in our chain,\n\t// we have a problem\n\tif (paths.has(nextPath)) {\n\t\tconst joined = [hookName, ...paths].join(', ');\n\n\t\tconsole.error(`-[${joined}] forms a circular reference`);\n\t\treturn true;\n\t}\n\n\t// Make sure that the path exists somewhere\n\treturn !(hasBeenResolved || has(unresolved, nextPath));\n}\n\n//TODO: consolidate with @devsnc/analyser-theme, import not intended for production\nfunction isValidPixelString(value) {\n\treturn /^[0-9]+px$/.test(value) || value === '0';\n}\n//TODO: consolidate with @devsnc/analyser-theme, import not intended for production\nfunction isValidPercentString(value) {\n\treturn /^[0-9]{1,3}%$/.test(value);\n}\n\nfunction logFailure(name) {\n\tconsole.warn(`-${name} failed to resolve`);\n}\n\nfunction resolveDerivedHooks(hookName, hook, resolved, unresolved, paths) {\n\tconst derivedPath = get(hook, 'derived');\n\tconst hasBeenResolved = has(resolved, derivedPath);\n\tconst failure = checkNextPath(\n\t\thookName,\n\t\tunresolved,\n\t\tpaths,\n\t\tderivedPath,\n\t\thasBeenResolved,\n\t);\n\n\tif (failure) {\n\t\tlogFailure(hookName);\n\t\tsetVariable(resolved, hookName, hook, null);\n\t\treturn null;\n\t}\n\n\tpaths.add(hookName);\n\n\t// if we already know this derived, set it,\n\t// otherwise recursively walk the chain\n\tconst fbValue = hasBeenResolved\n\t\t? get(resolved, derivedPath)\n\t\t: resolveRemainingHooks(\n\t\t\t\tderivedPath,\n\t\t\t\tunresolved[derivedPath],\n\t\t\t\tresolved,\n\t\t\t\tunresolved,\n\t\t\t\tpaths,\n\t\t\t);\n\n\tif (!fbValue) {\n\t\tlogFailure(hookName);\n\t}\n\n\tpaths.delete(hookName);\n\tsetVariable(resolved, hookName, hook, fbValue);\n\treturn fbValue;\n}\n\nfunction createRemSizeObj(value) {\n\tconst rem = parseFloat(value);\n\tconst rootFontSize = parseInt(\n\t\twindow.getComputedStyle(document.documentElement).fontSize,\n\t\t10,\n\t);\n\treturn {\n\t\trem,\n\t\tpx: rem * rootFontSize,\n\t};\n}\n\nfunction createPxSizeObj(value) {\n\tconst px = parseFloat(value);\n\tconst rootFontSize = parseInt(\n\t\twindow.getComputedStyle(document.documentElement).fontSize,\n\t\t10,\n\t);\n\tif (rootFontSize <= 0) {\n\t\treturn {\n\t\t\tpx,\n\t\t\trem: px,\n\t\t};\n\t}\n\treturn {\n\t\tpx,\n\t\trem: px / rootFontSize,\n\t};\n}\n\nfunction isValidRemString(value) {\n\treturn /^[0-9]*.[0-9]*rem$/.test(value) || value === '0';\n}\n\nfunction isPxSize(value) {\n\treturn isValidPixelString(value) || isValidPercentString(value);\n}\nfunction isRemSize(value) {\n\treturn isValidRemString(value);\n}\n\nfunction processValue(value) {\n\tif (stashedProcessedValues[value]) {\n\t\treturn stashedProcessedValues[value];\n\t}\n\n\tconst schema = isValidRgbString(value)\n\t\t? 'color'\n\t\t: isPxSize(value)\n\t\t\t? 'pxSize'\n\t\t\t: isRemSize(value)\n\t\t\t\t? 'remSize'\n\t\t\t\t: false;\n\n\tif (!schema) {\n\t\treturn value;\n\t}\n\n\tif (schema === 'color') {\n\t\tconst c = createColorObj(value);\n\t\tstashedProcessedValues[value] = c;\n\t\treturn c;\n\t}\n\n\tif (schema === 'pxSize') {\n\t\tconst s = createPxSizeObj(value);\n\t\tstashedProcessedValues[value] = s;\n\t\treturn s;\n\t}\n\n\tif (schema === 'remSize') {\n\t\tconst s = createRemSizeObj(value);\n\t\tstashedProcessedValues[value] = s;\n\t\treturn s;\n\t}\n\n\treturn value;\n}\nfunction resolveRemainingHooks(\n\thookName,\n\thook,\n\tresolved,\n\tunresolved,\n\tpaths = new Set(),\n) {\n\t// hook is defined in the application theme\n\tif (hookName && themeData[hookName]) {\n\t\tconst value = resolveCSSVariable(hookName);\n\t\tsetVariable(resolved, hookName, hook, value);\n\t\treturn value;\n\t}\n\t// hook has a value\n\tif (has(hook, 'initial')) {\n\t\tconst value = processValue(hook.initial);\n\t\tsetVariable(resolved, hookName, hook, value);\n\t\treturn value;\n\t}\n\treturn resolveDerivedHooks(hookName, hook, resolved, unresolved, paths);\n}\nfunction isCSSVariable(name) {\n\treturn name.startsWith('--');\n}\nfunction processItems(items, hooks) {\n\tlet entries;\n\tlet result = [];\n\tfor (const item of items) {\n\t\tif (item.endsWith('*')) {\n\t\t\tconst base = item.slice(0, item.length - 1);\n\t\t\tif (isCSSVariable(base)) {\n\t\t\t\tconst matches = getCSSVariableNamesFromBase(base);\n\t\t\t\tresult = [...result, ...matches];\n\t\t\t} else {\n\t\t\t\tentries = entries || Object.entries(hooks);\n\t\t\t\tfor (const [h, v] of entries) {\n\t\t\t\t\tif (v.name.indexOf(base) === 0) {\n\t\t\t\t\t\tresult.push(h);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (item === INFO_DENSITY.KEY) {\n\t\t\tresult.push(item);\n\t\t} else {\n\t\t\tif (isCSSVariable(item)) {\n\t\t\t\tresult.push(item);\n\t\t\t} else {\n\t\t\t\tentries = entries || Object.entries(hooks);\n\t\t\t\tfor (const [h, v] of entries) {\n\t\t\t\t\tif (v.name === item) {\n\t\t\t\t\t\tresult.push(h);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn result;\n}\nfunction handler() {\n\tcachedValues.clear();\n\tsetGlobalThemeData();\n\tsubscribers.forEach(function (value, element) {\n\t\tif (localStorage.getItem('GLOBAL') !== null) {\n\t\t\tlocalStorage.removeItem('GLOBAL');\n\t\t}\n\t\tif (localStorage.getItem(element.tagName) !== null) {\n\t\t\tlocalStorage.removeItem(element.tagName);\n\t\t}\n\t\tconst {config, fn} = value;\n\t\tconst values = getValues(element, config);\n\t\tfn(element.localName, values);\n\t});\n}\nfunction safeJsonParse(jsonString, fallback = null) {\n\tif (!jsonString || typeof jsonString !== 'string') {\n\t\treturn fallback;\n\t}\n\n\ttry {\n\t\treturn JSON.parse(jsonString);\n\t} catch (e) {\n\t\treturn fallback;\n\t}\n}\n\nfunction setVariable(resolved, hookName, {name}, value) {\n\tconst val = value ? JSON.stringify(value) : value;\n\tconst parsedValue = safeJsonParse(val, value);\n\tset(resolved, hookName, parsedValue);\n\tset(resolved, name, parsedValue);\n}\n\nfunction getCSSVariablesFromStyleSheet() {\n\tconst headacheVals = new Set(['inherit', 'initial', 'unset']);\n\tconst troublesomeDefs = {};\n\tconst stylesheets = Array.from(document.styleSheets).filter(\n\t\t(sheet) => sheet.href === null,\n\t);\n\tconst root = stylesheets.reduce(\n\t\t(acc, sheet) =>\n\t\t\t(acc = [\n\t\t\t\t...acc,\n\t\t\t\t...Array.from(sheet.cssRules).reduce((def, rule) => {\n\t\t\t\t\tif (rule.selectorText !== ':root') {\n\t\t\t\t\t\treturn def;\n\t\t\t\t\t}\n\t\t\t\t\tconst vars = Array.from(rule.style).filter((n) => n.startsWith('--'));\n\n\t\t\t\t\tfor (const v of vars) {\n\t\t\t\t\t\tif (headacheVals.has(rule.style.getPropertyValue(v).trim())) {\n\t\t\t\t\t\t\ttroublesomeDefs[v] = rule.style.getPropertyValue(v).trim();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn [...def, ...vars];\n\t\t\t\t}, []),\n\t\t\t]),\n\t\t[],\n\t);\n\treturn [root, troublesomeDefs];\n}\nfunction __donotuse_temporary_isInUIBStage(element) {\n\tif (typeof element.dispatchEvent != 'function') return false;\n\n\tconst uibID = 'sn-uxf-renderer-theme-with-overrides';\n\tconst time = Date.now();\n\tconst str = Math.random().toString(36).substring(2, 15);\n\tconst uniqueEventName = `check_if_uib_stage_${time}_${str}`;\n\tlet isUIBStage = false;\n\tconst fn = (evt) => {\n\t\tconst nodes = evt.composedPath();\n\t\tfor (const n of nodes) {\n\t\t\tif (n.nodeType === 1 && n.getAttribute('id') === uibID) {\n\t\t\t\tisUIBStage = true;\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t};\n\n\tconst e = new CustomEvent(uniqueEventName, {\n\t\tcomposed: true,\n\t\tbubbles: true,\n\t\tcancelable: true,\n\t});\n\tdocument.addEventListener(uniqueEventName, fn, {once: true});\n\telement.dispatchEvent(e);\n\treturn isUIBStage;\n}\n\n//TODO: consolidate with @devsnc/analyser-theme/src/utils/color\nfunction createColorObj(value) {\n\tconst [rs, gs, bs] = value.split(',');\n\tconst r = Number(rs) / 255;\n\tconst g = Number(gs) / 255;\n\tconst b = Number(bs) / 255;\n\n\tconst min = Math.min(r, g, b);\n\tconst max = Math.max(r, g, b);\n\tconst delta = max - min;\n\n\tlet h = 0,\n\t\ts = 0,\n\t\tl = ((max + min) / 2) * 100;\n\n\tif (delta !== 0) {\n\t\ts = l > 50 ? (delta / (2 - max - min)) * 100 : (delta / (max + min)) * 100;\n\n\t\tswitch (max) {\n\t\t\tcase r:\n\t\t\t\th = (g - b) / delta;\n\t\t\t\tbreak;\n\n\t\t\tcase g:\n\t\t\t\th = 2 + (b - r) / delta;\n\t\t\t\tbreak;\n\n\t\t\tcase b:\n\t\t\t\th = 4 + (r - g) / delta;\n\t\t\t\tbreak;\n\t\t}\n\n\t\th = h < 0 ? h * 60 + 360 : h * 60;\n\t}\n\n\th = Math.round(h);\n\ts = Math.round(s);\n\tl = Math.round(l);\n\treturn {\n\t\thsl: `hsl(${h},${s}%,${l}%)`,\n\t\thslValues: `${h},${s}%,${l}%`,\n\t\trgb: `rgb(${rs},${gs},${bs})`,\n\t\trgbValues: `${rs},${gs},${bs}`,\n\t};\n}\n//taken from @devsnc/analyser-theme, import not intended for production\n//TODO: have analyzer-theme import from @servicenow/behavior-theme ?\nfunction isValidRgbString(value) {\n\treturn (\n\t\t/^[0-9]{1,3}[ ]?,[ ]?[0-9]{1,3}[ ]?,[ ]?[0-9]{1,3}$/.test(value) &&\n\t\t!value.split(',').some((v) => parseInt(v) > 255)\n\t);\n}\n\nexport function getValues(element, config = {}) {\n\tif (!element) {\n\t\tif (process.env.NODE_ENV === 'development') {\n\t\t\tconsole.warn('getValues must be called with an HTMLElement');\n\t\t}\n\t\treturn;\n\t}\n\tconst themeOptions = window?.ux_globals?.theme?.themeOptions ?? {};\n\tconst themeId = themeOptions?.themeId ?? '';\n\tconst variantId = themeOptions?.userPreferenceVariant ?? '';\n\tconst themeKey = variantId ? `${themeId}_${variantId}` : themeId;\n\tconst {items} = config;\n\tconst isGlobal = !items?.length;\n\t//Set a key only for components without any options\n\tconst key = isGlobal ? 'GLOBAL' : null;\n\n\t// Check memory cache(fastest)\n\tconst memoryCached = key ? cachedValues.get(key) : null;\n\tif (memoryCached && memoryCached?.themeKey === themeKey) {\n\t\treturn memoryCached?.data;\n\t}\n\t// Check localStorage\n\tconst localCached = key ? localStorage.getItem(key) : null;\n\tif (localCached) {\n\t\tconst parsed = safeJsonParse(localCached);\n\t\tif (parsed?.themeKey === themeKey) {\n\t\t\tcachedValues.set(key, parsed);\n\t\t\treturn parsed?.data;\n\t\t}\n\t}\n\n\tconst requestedItems = items?.length\n\t\t? processItems(items, baseHooks)\n\t\t: new Set([...Object.keys(baseHooks), ...Object.keys(themeData)]);\n\n\tconst resolvedHooks = resolveHooks(baseHooks, requestedItems, element);\n\tconst cacheObject = {data: resolvedHooks, themeKey};\n\t//Dont cache data for custom themes\n\tif (key && ALLOWED_THEMES.includes(themeId)) {\n\t\tlocalStorage.setItem(key, JSON.stringify(cacheObject));\n\t\tcachedValues.set(key, cacheObject);\n\t}\n\treturn resolvedHooks;\n}\n/**\n * Resolves all hooks to values defined in the application theme or to derived\n * if no value or inherited value is defined.\n * @param {Object[]} hooks - Hook definitions\n * @param {Object} themeData - Object containing application theme values\n */\nfunction resolveHooks(hooks, items, element) {\n\tconst resolved = {};\n\t// Then keep iterating over the unresolved list and recursively resolve each entry.\n\tfor (const item of items) {\n\t\tif (has(resolved, item)) continue;\n\n\t\tif (themeData[item]) {\n\t\t\tconst value = resolveCSSVariable(item);\n\t\t\t// We have to do this to avoid circular references\n\t\t\t// in the resolved object.\n\t\t\tconst val = value ? JSON.stringify(value) : value;\n\t\t\tconst parsedValue = safeJsonParse(val, value);\n\t\t\tset(resolved, item, parsedValue);\n\t\t\tif (hooks[item] && hooks[item]?.name) {\n\t\t\t\t// required to fix DEF0479038\n\t\t\t\tif (hooks[item].name === 'color.focusRing.shadow') {\n\t\t\t\t\tset(resolved, 'color.focusRingShadow', value);\n\t\t\t\t} else {\n\t\t\t\t\tset(resolved, hooks[item].name, parsedValue);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif (item === INFO_DENSITY.KEY) {\n\t\t\t\tlet themeOptions;\n\t\t\t\tif (\n\t\t\t\t\twindow?.__donotuse_temporary_uib_stage_theme?.themeOptions &&\n\t\t\t\t\t__donotuse_temporary_isInUIBStage(element)\n\t\t\t\t) {\n\t\t\t\t\tthemeOptions =\n\t\t\t\t\t\twindow.__donotuse_temporary_uib_stage_theme.themeOptions;\n\t\t\t\t} else if (window?.ux_globals?.theme?.themeOptions) {\n\t\t\t\t\tthemeOptions = window.ux_globals.theme.themeOptions;\n\t\t\t\t} else {\n\t\t\t\t\tthemeOptions = {};\n\t\t\t\t}\n\t\t\t\tconst mode = themeOptions[INFO_DENSITY.PROP] || INFO_DENSITY.DEFAULT;\n\t\t\t\tset(resolved, item, mode);\n\t\t\t} else if (!hooks[item]) {\n\t\t\t\tif (process.env.NODE_ENV === 'development') {\n\t\t\t\t\tconsole.warn(`${item} does not exist`);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tresolveRemainingHooks(item, hooks[item], resolved, hooks);\n\t\t\t}\n\t\t}\n\t}\n\treturn resolved;\n}\n\nfunction resolveCSSVariable(cssVariableName, circular = new Set()) {\n\tconst value = themeData[cssVariableName];\n\tif (!value) {\n\t\treturn console.warn(\n\t\t\t`the css variable: ${cssVariableName} does not exist in themeData`,\n\t\t);\n\t}\n\tif (isCSSVariable(value)) {\n\t\tif (circular.has(value)) {\n\t\t\tconst joined = [cssVariableName, ...circular].join(', ');\n\t\t\treturn console.error(`${joined} forms a circular reference`);\n\t\t}\n\t\tcircular.add(value);\n\t\treturn resolveCSSVariable(value, circular);\n\t}\n\n\treturn processValue(value);\n}\n\n//TODO: consolidate with @devsnc/analyser-theme/src/utils/color\nfunction listen() {\n\tdocument.removeEventListener(UXF_THEME_UPDATED, handler);\n\tdocument.addEventListener(UXF_THEME_UPDATED, handler);\n}\n\nexport function subscribe(...args) {\n\tlisten();\n\tlet element, config, fn;\n\tif (args.length === 2) {\n\t\telement = args[0];\n\t\tconfig = {};\n\t\tfn = args[1];\n\t}\n\tif (args.length === 3) {\n\t\telement = args[0];\n\t\tconfig = args[1];\n\t\tfn = args[2];\n\t}\n\n\tif (!config || !fn) {\n\t\tif (process.env.NODE_ENV === 'development') {\n\t\t\tconsole.error(\n\t\t\t\t`subscribe must be called with one of the following: subscribe(function) or subscribe(element, function), or subscribe(element, config, function)`,\n\t\t\t);\n\t\t}\n\t\treturn;\n\t}\n\n\tif (subscribers.has(element)) {\n\t\tif (process.env.NODE_ENV === 'development') {\n\t\t\tconsole.warn(\n\t\t\t\t'Cannot call subscribe on an element with an active subscription, each element should subscribe only once',\n\t\t\t);\n\t\t}\n\t\treturn;\n\t}\n\t/*\n\tThis function seems to be redundant as its getting called twice.\n\tFirst setInitialState gets called, which calls getValues. Then COMPONENT_CONNECTED is triggered\n\twhich calls subscribe, which calls getValues again.What it does it it triggers PRIVATE#THEME_CHANGED and sets the state.\n\tBut the state has already been set with the same values in setInitialState.So this will cause unnecessary re-renders.\n\tFor now just to be safe, i've added a flag where it will not re-render but will still dispatch the event.\n\t*/\n\t//call fn with initial theme values\n\tconst values = getValues(element, config);\n\tfn(element.localName, values, false);\n\n\t// add to the subscribers list to notify of future updates\n\tsubscribers.set(element, {config, fn});\n}\nexport function unsubscribe(element) {\n\tif (subscribers.has(element)) {\n\t\tsubscribers.delete(element);\n\t} else {\n\t\tif (process.env.NODE_ENV === 'development') {\n\t\t\tconsole.warn(\n\t\t\t\t'Cannot call unsubscribe on an element without an active subscription',\n\t\t\t);\n\t\t}\n\t}\n}\n","import {actionTypes} from '@servicenow/ui-core';\nimport {getValues, subscribe, unsubscribe} from './theme';\n\nconst {COMPONENT_CONNECTED, COMPONENT_DISCONNECTED} = actionTypes;\nconst BEHAVIOR_NAME = 'theme';\n\n//higher order function to make host available to callback\nconst wrapper = (host, updateState) => {\n\treturn (name, values, shouldRender = true) => {\n\t\tif (host.localName === name) {\n\t\t\thost.dispatch('PRIVATE#THEME_CHANGED');\n\t\t\tupdateState(() => {\n\t\t\t\treturn {\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: `behaviors.${BEHAVIOR_NAME}`,\n\t\t\t\t\tvalue: values,\n\t\t\t\t\tshouldRender: shouldRender,\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t};\n};\n\nexport default {\n\tname: BEHAVIOR_NAME,\n\tsetInitialState: ({host, options}) => {\n\t\treturn getValues(host, options);\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_CONNECTED]: ({updateState, host, action: {payload}}) => {\n\t\t\tconst config = payload.options;\n\t\t\tsubscribe(host, config, wrapper(host, updateState));\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: ({host}) => {\n\t\t\tunsubscribe(host);\n\t\t},\n\t\t'PRIVATE#THEME_CHANGED': {\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n","export const TOOLTIP_ID = 'behavior-tooltip';\nexport const BEHAVIOR_NAME = 'tooltip';\nexport const TOOLTIP_ADD_TARGET = 'BEHAVIOR_TOOLTIP#ADD_TARGET';\nexport const TOOLTIP_REMOVE_TARGET = 'BEHAVIOR_TOOLTIP#REMOVE_TARGET';\nexport const TOOLTIP_SHOW = 'BEHAVIOR_TOOLTIP#SHOW';\nexport const TOOLTIP_HIDE = 'BEHAVIOR_TOOLTIP#HIDE';\n","/**\n * This deep import is the result of drivers sharing the exports of this file.\n * Removing the deep import will cause the entire tooltip component\n * to be imported in drivers which will fail seismic driver generation.\n *\n * TL;DR removing this deep import will cause downstream failures\n * in driver generation.\n */\nimport {schedule, unschedule} from '@servicenow/now-tooltip/src/scheduler';\nimport {hideTooltip} from './scheduler';\nimport {TOOLTIP_ID} from './constants';\n\n/**\n * Cancels hiding the tooltip if tooltip\n * is opened when triggered.\n * @param {Event}\n */\nconst handleMouseEnter = ({target}) => {\n\tif (!target.opened) return;\n\tunschedule(target.nowId);\n};\n\n/**\n * Schedules hiding the tooltip if tooltip\n * is opened when triggered.\n * @param {Event}\n */\nconst handleMouseLeave = ({target}) => {\n\tif (!target.opened) return;\n\tschedule(target.nowId, () => hideTooltip(target));\n};\n\n/**\n * Returns a singleton tooltip in a shadow root if it exists, and null otherwise.\n * @param {ShadowRoot} root\n */\nexport function getExistingTooltip(root) {\n\treturn root.querySelector(`#${TOOLTIP_ID}`);\n}\n\n/**\n * Creates or returns a singleton tooltip in a shadow root.\n * @param {ShadowRoot} root\n */\nexport function getTooltip(root) {\n\tlet tooltip = getExistingTooltip(root);\n\n\tif (!tooltip) {\n\t\ttooltip = document.createElement('now-tooltip');\n\t\ttooltip.id = TOOLTIP_ID;\n\t\ttooltip.addEventListener('mouseenter', handleMouseEnter);\n\t\ttooltip.addEventListener('mouseleave', handleMouseLeave);\n\t\troot.appendChild(tooltip);\n\t}\n\n\treturn tooltip;\n}\n\n/**\n * Get the tooltip offset from the target element.\n * @param {HTMLElement} target\n */\nexport function getTooltipOffset(target) {\n\tconst defaultOffset = 8;\n\tconst offset = target.dataset.tooltipoffset\n\t\t? target.dataset.tooltipoffset.split(',')\n\t\t: [];\n\tif (offset.length === 1) {\n\t\tconst offsetValue = Number(offset[0]);\n\t\tif (offsetValue >= 0) return offsetValue;\n\t}\n\treturn defaultOffset;\n}\n","/**\n * This deep import is the result of drivers sharing the exports of this file.\n * Removing the deep import will cause the entire tooltip component\n * to be imported in drivers which will fail seismic driver generation.\n *\n * TL;DR removing this deep import will cause downstream failures\n * in driver generation.\n */\nimport {schedule} from '@servicenow/now-tooltip/src/scheduler';\nimport {getShadowRootHost} from '@servicenow/library-enhanced-utils';\nimport {TOOLTIP_ID} from './constants';\nimport {getTooltip, getTooltipOffset} from './get-tooltip';\n\n/**\n * Unsets properties on the tooltip.\n * @param {HTMLElement} tooltip\n */\nconst hideTooltip = (tooltip) => {\n\ttooltip.opened = false;\n\ttooltip.content = '';\n\ttooltip.targetRef = null;\n};\n\n/**\n * Sets properties on the tooltip\n * @param {HTMLElement} tooltip\n */\nconst showTooltip = (tooltip, target) => {\n\tconst position = target.dataset.tooltipposition\n\t\t? target.dataset.tooltipposition.split(',')\n\t\t: [];\n\tconst content = target.dataset.tooltip;\n\tif (position.length) {\n\t\ttooltip.position = position;\n\t}\n\ttooltip.offset = getTooltipOffset(target);\n\ttooltip.opened = true;\n\ttooltip.content = content;\n\ttooltip.targetRef = target;\n};\n\n/**\n * Schedules the behavior's tooltip to open.\n * @param {Event} event\n */\nconst scheduleTooltipOpen = (event, delay) => {\n\tconst target = event.currentTarget;\n\tconst content = target.dataset.tooltip;\n\tconst ariadescribedby = target.dataset.ariadescribedby;\n\n\tif (content) {\n\t\tconst tooltip = getTooltip(getShadowRootHost(target).shadowRoot);\n\n\t\tif (ariadescribedby !== content) {\n\t\t\ttarget.setAttribute('aria-describedby', TOOLTIP_ID);\n\t\t}\n\n\t\tif (delay === 0) {\n\t\t\tshowTooltip(tooltip, target);\n\t\t} else {\n\t\t\tschedule(tooltip.nowId, () => showTooltip(tooltip, target), delay);\n\t\t}\n\t}\n};\n\n/**\n * Schedules the behavior's tooltip to close.\n * @param {Event} event\n */\nconst scheduleTooltipClose = (event, delay) => {\n\tconst target = event.currentTarget;\n\tif (!target.dataset.tooltip) return;\n\n\tconst host = getShadowRootHost(target);\n\n\tif (!host) return;\n\n\tconst shadowRoot = host.shadowRoot;\n\tconst tooltip = getTooltip(shadowRoot);\n\ttarget.removeAttribute('aria-describedby');\n\n\tif (delay === 0) {\n\t\thideTooltip(tooltip);\n\t} else {\n\t\tschedule(tooltip.nowId, () => hideTooltip(tooltip), delay);\n\t}\n};\n\nexport {scheduleTooltipOpen, scheduleTooltipClose, hideTooltip};\n","import {scheduleTooltipOpen, scheduleTooltipClose} from './scheduler.js';\nimport {getExistingTooltip, getTooltipOffset} from '../utils/get-tooltip';\nimport {getShadowRootHost} from '@servicenow/library-enhanced-utils';\n\nconst EventTargetMap = new WeakMap();\n\n/**\n * Adds target to registration map.\n * @param {HTMLElement} target\n */\nfunction targetRegistered(target) {\n\treturn EventTargetMap.has(target);\n}\n\n/**\n * Destroys trigger element. All events are removed.\n * @param {HTMLElement} target\n */\nfunction unregisterTarget(target) {\n\tEventTargetMap.delete(target);\n\ttarget.removeEventListener('mouseenter', scheduleTooltipOpen, true);\n\ttarget.removeEventListener('focusin', scheduleTooltipOpen, true);\n\ttarget.removeEventListener('mouseleave', scheduleTooltipClose, true);\n\ttarget.removeEventListener('focusout', scheduleTooltipClose, true);\n}\n\n/**\n * Used as a callback for a Mutation Observer instance. Whenever the observer reports specific\n * DOM mutations it is set to watch for on a target node, update the tooltip element's data\n * correspondingly.\n * @param {MutationRecord} records\n * @returns\n */\nconst updateTooltipOnTargetAttributeChange = (records) => {\n\tfor (const record of records) {\n\t\tconst target = getShadowRootHost(record.target);\n\t\tif (!target) {\n\t\t\treturn;\n\t\t}\n\t\tconst tooltip = getExistingTooltip(target.shadowRoot);\n\t\t// If no tooltip exists, there is no tooltip data to update\n\t\tif (!tooltip) {\n\t\t\treturn;\n\t\t}\n\t\tif (record.attributeName === 'data-tooltip') {\n\t\t\ttooltip.content = record.target.dataset.tooltip;\n\t\t}\n\n\t\tif (record.attributeName === 'data-tooltipposition') {\n\t\t\tconst position = record.target.dataset.tooltipposition.split(',');\n\t\t\tif (position.length) {\n\t\t\t\ttooltip.position = position;\n\t\t\t}\n\t\t}\n\t\tif (record.attributeName === 'data-tooltipoffset') {\n\t\t\ttooltip.offset = getTooltipOffset(record.target);\n\t\t}\n\t}\n};\n\n// Creates a new MutationObserver instance so that we can track changes to a target's DOM,\n// and consequently update the tooltip content that is dependent on these changes\nconst observer = new MutationObserver(updateTooltipOnTargetAttributeChange);\n\n/**\n * Creates a new tooltip trigger element and appends it.\n * Attaches tooltip show/hide events to the trigger and content.\n * If a trigger already exists, nothing happens.\n * @param {HTMLElement} target\n */\nfunction registerTarget(target) {\n\tEventTargetMap.set(target, true);\n\ttarget.addEventListener('mouseenter', scheduleTooltipOpen, true);\n\ttarget.addEventListener('focusin', scheduleTooltipOpen, true);\n\ttarget.addEventListener('mouseleave', scheduleTooltipClose, true);\n\ttarget.addEventListener('focusout', scheduleTooltipClose, true);\n\n\t// Listens for changes filtered by specific attributes on the target element\n\tobserver.observe(target, {\n\t\tattributes: true,\n\t\tattributeFilter: [\n\t\t\t'data-tooltip',\n\t\t\t'data-tooltipposition',\n\t\t\t'data-tooltipoffset',\n\t\t],\n\t});\n}\n\nexport {targetRegistered, unregisterTarget, registerTarget};\n","import {\n\tregisterTarget,\n\tunregisterTarget,\n\ttargetRegistered,\n\tscheduleTooltipOpen,\n\tscheduleTooltipClose,\n\tBEHAVIOR_NAME,\n\tTOOLTIP_ADD_TARGET,\n\tTOOLTIP_REMOVE_TARGET,\n\tTOOLTIP_SHOW,\n\tTOOLTIP_HIDE,\n} from './utils';\n\nexport default {\n\tname: BEHAVIOR_NAME,\n\tactionHandlers: {\n\t\t[TOOLTIP_ADD_TARGET]: {\n\t\t\tstopPropagation: true,\n\t\t\teffect: ({action: {payload}}) => {\n\t\t\t\tconst {target} = payload;\n\t\t\t\tif (!target || targetRegistered(target)) return;\n\t\t\t\tregisterTarget(target);\n\t\t\t},\n\t\t},\n\t\t[TOOLTIP_REMOVE_TARGET]: {\n\t\t\tstopPropagation: true,\n\t\t\teffect: ({action: {payload}}) => {\n\t\t\t\tconst {target} = payload;\n\t\t\t\tif (!target || !targetRegistered(target)) return;\n\t\t\t\tunregisterTarget(target);\n\t\t\t},\n\t\t},\n\t\t[TOOLTIP_SHOW]: {\n\t\t\tstopPropagation: true,\n\t\t\teffect: ({action: {payload}}) => {\n\t\t\t\tconst {target, delay} = payload;\n\t\t\t\tif (!target) return;\n\t\t\t\tscheduleTooltipOpen({currentTarget: target}, delay);\n\t\t\t},\n\t\t},\n\t\t[TOOLTIP_HIDE]: {\n\t\t\tstopPropagation: true,\n\t\t\teffect: ({action: {payload}}) => {\n\t\t\t\tconst {target, delay} = payload;\n\t\t\t\tif (!target) return;\n\t\t\t\tscheduleTooltipClose({currentTarget: target}, delay);\n\t\t\t},\n\t\t},\n\t},\n};\n","const BEHAVIOR_NAME = 'truncation';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {whenScreenMacroponentIdleDuringPageLoad} from '@devsnc/uxf-runtime-utils';\nimport {getUserPrefContext} from 'sn-ux-core';\n\nconst {COMPONENT_RENDERED, COMPONENT_CONNECTED, COMPONENT_PROPERTY_CHANGED} =\n\tactionTypes;\nimport {\n\tTOOLTIP_ADD_TARGET,\n\tTOOLTIP_REMOVE_TARGET,\n} from '@servicenow/behavior-tooltip';\n\nconst ACTION_EVALUATE = 'BEHAVIOR_TRUNCATION#EVALUATE';\nconst ACTION_REEVALUATE = 'BEHAVIOR_TRUNCATION#REEVALUATE';\nconst dataAttributes = {\n\tignoreTabIndex: 'data-truncationignoretabindex',\n\tforceTooltip: 'data-truncationforcetooltip',\n\ttext: 'data-truncationtext',\n};\n\nlet a11yTx;\n\nconst defaultPosition = [\n\t'top-center bottom-center',\n\t'bottom-center top-center',\n\t'center-end center-start',\n\t'center-start center-end',\n\t'top-end top-start',\n\t'bottom-end bottom-start',\n\t'top-start top-end',\n\t'bottom-start bottom-end',\n];\n\nconst extractBehaviorState = (state) => state?.behaviors?.[BEHAVIOR_NAME] ?? {};\n\nconst findAllTruncationElements = (root = document) => {\n\t// Finds all the truncation elements in the component, but not within child components\n\tconst selector = '[data-truncation]';\n\n\tif (root.shadowRoot) root = root.shadowRoot;\n\n\treturn root.querySelectorAll(selector);\n};\n\nconst isOverflowing = (elem) => {\n\tconst {offsetHeight, scrollHeight, offsetWidth, scrollWidth} = elem;\n\tconst forceTooltip = elem.getAttribute(dataAttributes.forceTooltip);\n\treturn (\n\t\toffsetHeight - scrollHeight < 0 ||\n\t\toffsetWidth - scrollWidth < 0 ||\n\t\t!!forceTooltip\n\t);\n};\n\nconst applyTruncation = (elem, state) => {\n\tconst {truncationEnabled} = extractBehaviorState(state);\n\tif (!elem.hasAttribute('data-tooltipposition')) {\n\t\telem.setAttribute('data-tooltipposition', defaultPosition);\n\t}\n\telem.setAttribute(\n\t\t'data-tooltip',\n\t\telem.getAttribute(dataAttributes.text) || elem.innerText,\n\t);\n\tif (truncationEnabled) {\n\t\telem.addEventListener('focus', updateTooltipText);\n\t\tif (!elem.getAttribute(dataAttributes.ignoreTabIndex)) {\n\t\t\telem.setAttribute('tabindex', 0);\n\t\t}\n\t}\n\telem.addEventListener('mouseover', updateTooltipText);\n};\n// if the text of an element changes the tooltip will now display the new value\nconst updateTooltipText = (event) => {\n\tconst {target} = event;\n\ttarget.setAttribute(\n\t\t'data-tooltip',\n\t\ttarget.getAttribute(dataAttributes.text) || target.innerText,\n\t);\n};\n\nconst removeTruncation = (elem) => {\n\tif (!elem.getAttribute(dataAttributes.ignoreTabIndex)) {\n\t\telem.removeAttribute('tabindex');\n\t}\n\telem.removeAttribute('data-tooltip');\n\telem.removeEventListener('mouseover', updateTooltipText);\n\telem.removeEventListener('focus', updateTooltipText);\n};\n\nconst evaluate = ({host, state, dispatch}) => {\n\tconst {truncatedElements, truncationEnabled} = extractBehaviorState(state);\n\tconst targets = findAllTruncationElements(host);\n\n\ttargets.forEach((target) => {\n\t\t// batching these in a requestAnimationFrame to prevent reflows from isOverflowing\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tif (truncationEnabled) {\n\t\t\t\tif (isOverflowing(target)) {\n\t\t\t\t\tif (!truncatedElements.has(target)) {\n\t\t\t\t\t\tapplyTruncation(target, state);\n\t\t\t\t\t\ttruncatedElements.set(target, true);\n\t\t\t\t\t\tdispatch(TOOLTIP_ADD_TARGET, {target});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (truncatedElements.has(target)) {\n\t\t\t\t\t\tremoveTruncation(target);\n\t\t\t\t\t\ttruncatedElements.delete(target);\n\t\t\t\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, {target});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst mouseoverListener = (event) => {\n\t\t\t\t\tconst {target} = event;\n\t\t\t\t\tif (isOverflowing(target)) {\n\t\t\t\t\t\tapplyTruncation(target, state);\n\t\t\t\t\t\tdispatch(TOOLTIP_ADD_TARGET, {target});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tremoveTruncation(target);\n\t\t\t\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, {target});\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\t// the mouseoverListener function is defined here so it has access to the dispatch.\n\t\t\t\t// Due to it being defined here, it would be seen as a new function every time\n\t\t\t\t// the evaluate function is called, so it will not automatically de-dupe the\n\t\t\t\t// event listener. To prevent multiple event listeners being added, a\n\t\t\t\t// data attribute is being added to the elements to indicate that they have\n\t\t\t\t// already been given the event listener\n\t\t\t\tif (!target.hasAttribute('data-truncationmouseover')) {\n\t\t\t\t\ttarget.addEventListener('mouseover', mouseoverListener);\n\t\t\t\t\ttarget.setAttribute('data-truncationmouseover', true);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n};\n\nexport default {\n\tname: BEHAVIOR_NAME,\n\tproperties: {},\n\tinitialState: {\n\t\ttruncatedElements: new WeakMap(),\n\t},\n\n\tactionHandlers: {\n\t\t[COMPONENT_CONNECTED]: {\n\t\t\teffect: async (coeffects) => {\n\t\t\t\tconst {host, dispatch, state, context} = coeffects;\n\t\t\t\tif (a11yTx === undefined) {\n\t\t\t\t\ta11yTx = getUserPrefContext(\n\t\t\t\t\t\t'glide.ui.accessibility.show_truncated_text',\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tconst userPrefVal = a11yTx ? context?.[a11yTx] : false;\n\n\t\t\t\tconst truncationEnabled =\n\t\t\t\t\tstate.__enableTruncation__ || userPrefVal === 'true';\n\n\t\t\t\tif (!truncationEnabled) return;\n\n\t\t\t\tconst observer = new IntersectionObserver((entries) => {\n\t\t\t\t\tif (entries[0].isIntersecting) {\n\t\t\t\t\t\twhenScreenMacroponentIdleDuringPageLoad().then(() => {\n\t\t\t\t\t\t\tdispatch(ACTION_EVALUATE);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tobserver.observe(host);\n\t\t\t},\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\tstopPropagation: true,\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {properties, action, state, context} = coeffects;\n\t\t\t\tconst {name} = action.payload;\n\t\t\t\tconst {blockRenderEval} = properties;\n\n\t\t\t\tconst userPrefVal = a11yTx ? context?.[a11yTx] : false;\n\n\t\t\t\tconst truncationEnabled =\n\t\t\t\t\tstate.__enableTruncation__ || userPrefVal === 'true';\n\n\t\t\t\tif (\n\t\t\t\t\tname == 'evaluateTruncation' &&\n\t\t\t\t\ttruncationEnabled &&\n\t\t\t\t\tblockRenderEval\n\t\t\t\t) {\n\t\t\t\t\t// if the evaluateTruncation property is changed it will already\n\t\t\t\t\t// trigger a rerender, so we only want to run this in the event\n\t\t\t\t\t// that it's being used while the on-render evaluation is blocked\n\t\t\t\t\twhenScreenMacroponentIdleDuringPageLoad().then(() => {\n\t\t\t\t\t\tevaluate(coeffects);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t[ACTION_EVALUATE]: {\n\t\t\tstopPropagation: true,\n\t\t\teffect: (coeffects) => {\n\t\t\t\tevaluate(coeffects);\n\t\t\t},\n\t\t},\n\t\t[ACTION_REEVALUATE]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\tconst {properties} = coeffects;\n\t\t\t\tconst {blockRenderEval} = properties;\n\t\t\t\tif (!blockRenderEval) {\n\t\t\t\t\tevaluate(coeffects);\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t[COMPONENT_RENDERED]: {\n\t\t\teffect: async ({dispatch, updateState, state, context, action}) => {\n\t\t\t\tconst {\n\t\t\t\t\tpayload: {previousRenderState},\n\t\t\t\t} = action;\n\t\t\t\tif (\n\t\t\t\t\tpreviousRenderState?.behaviors?.truncation === undefined ||\n\t\t\t\t\tstate.behaviors?.truncation?.truncationEnabled !==\n\t\t\t\t\t\tpreviousRenderState.behaviors?.truncation?.truncationEnabled\n\t\t\t\t) {\n\t\t\t\t\tconst userPrefVal = a11yTx ? context?.[a11yTx] : false;\n\n\t\t\t\t\tconst truncationEnabled =\n\t\t\t\t\t\tstate.__enableTruncation__ || userPrefVal === 'true';\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tpath: 'behaviors.truncation.truncationEnabled',\n\t\t\t\t\t\tvalue: truncationEnabled,\n\t\t\t\t\t\tshouldRender: false,\n\t\t\t\t\t});\n\n\t\t\t\t\twhenScreenMacroponentIdleDuringPageLoad().then(() => {\n\t\t\t\t\t\tdispatch(ACTION_EVALUATE);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n};\n","import {default as truncationBehavior} from './truncation';\nexport default truncationBehavior;\n","/* eslint-disable no-console */\nconst fetch = require('node-fetch');\nconst base64 = require('base-64');\n\nclass GlideRecordAccessor {\n\n\tconstructor(instanceURI, username, password){\n\t\tthis.instanceUri = instanceURI;\n\t\tthis.restUsername = username;\n\t\tthis.restPassword = password;\n\t\tthis.QUERYPARAMSUFFIX = '?sysparm_display_value=all';\n\t\tthis.TABLEAPIURI = '/api/now/table/';\n\t}\n\n\theaders(){\n\t\treturn {\n\t\t\tAuthorization: `Basic ${  base64.encode(`${this.restUsername  }:${  this.restPassword}`)}`,\n\t\t\t'Content-type': 'application/json;charset=UTF-8',\n\t\t\t'Cache-control': 'no-cache'\n\t\t};\n\t}\n\n\tendpoint(tableName){\n\t\treturn this.instanceUri + this.TABLEAPIURI + tableName;\n\t}\n\n\tasync fetchRecord(tableName, sysId){\n\t\tconst endpoint = `${this.endpoint(tableName)}/${sysId}${this.QUERYPARAMSUFFIX}`;\n\t\tconst response = await fetch(endpoint, {\n\t\t\tmethod: 'GET',\n\t\t\theaders: this.headers(),\n\t\t})\n\t\t\t.then(response => response.json())\n\t\t\t.then(json => json.result ? json.result : '')\n\t\t\t.catch(err => console.log(err));\n\t\treturn response;\n\t}\n\n\tasync insertRecord(tableName, body){\n\t\tconst endpoint = this.endpoint(tableName);\n\t\tconst response = await fetch(endpoint, {\n\t\t\tmethod: 'POST',\n\t\t\tbody: JSON.stringify(body),\n\t\t\theaders: this.headers(),\n\t\t})\n\t\t\t.then(response => response.json())\n\t\t\t.then(json => json.result ? json.result : '')\n\t\t\t.catch(err => console.log(err));\n\t\treturn response;\n\t}\n\n\tasync updateRecord(tableName, sysId, body){\n\t\tconst endpoint = `${this.endpoint(tableName)}/${sysId}`;\n\t\tconst response = await fetch(endpoint, {\n\t\t\tmethod: 'PUT',\n\t\t\tbody: JSON.stringify(body),\n\t\t\theaders: this.headers(),\n\t\t})\n\t\t\t.then(response => response.json())\n\t\t\t.then(json => json.result ? json.result : '')\n\t\t\t.catch(err => console.log(err));\n\t\treturn response;\n\t}\n\n\tasync deleteRecord(tableName, sysId){\n\t\tconst endpoint = `${this.endpoint(tableName)}/${sysId}`;\n\t\tconst response = await fetch(endpoint, {\n\t\t\tmethod: 'DELETE',\n\t\t\theaders: this.headers(),\n\t\t})\n\t\t\t.then(response => response.text())\n\t\t\t.catch(err => console.log(err));\n\t\treturn response;\n\t}\n\n}\n\nmodule.exports = GlideRecordAccessor;\n","/* eslint-disable no-console */\nconst fetch = require('node-fetch');\nconst base64 = require('base-64');\n\nclass GlideRecordRetriever {\n\n\tconstructor(instanceURI, username, password){\n\t\tthis.instanceUri = instanceURI;\n\t\tthis.restUsername = username;\n\t\tthis.restPassword = password;\n\t\tthis.QUERYPARAMSUFFIX = '?sysparm_display_value=all';\n\t\tthis.TABLEAPIURI = '/api/now/table/';\n\t}\n\n\theaders(){\n\t\treturn {\n\t\t\tAuthorization: `Basic ${  base64.encode(`${this.restUsername  }:${  this.restPassword}`)}`,\n\t\t\t'Content-type': 'application/json;charset=UTF-8',\n\t\t\t'Cache-control': 'no-cache'\n\t\t};\n\t}\n\n\tendpoint(tableName){\n\t\treturn this.instanceUri + this.TABLEAPIURI + tableName;\n\t}\n\n\tasync fetchRecord(tableName, sysId){\n\t\tconst endpoint = `${this.endpoint(tableName)}/${sysId}${this.QUERYPARAMSUFFIX}`;\n\t\tconst response = await fetch(endpoint, {\n\t\t\tmethod: 'GET',\n\t\t\theaders: this.headers(),\n\t\t})\n\t\t\t.then(response => response.json())\n\t\t\t.then(json => json.result ? json.result : '')\n\t\t\t.catch(err => console.log(err));\n\t\treturn response;\n\t}\n\n\tasync postRecord(tableName, body){\n\t\tconst endpoint = this.endpoint(tableName);\n\t\tconst response = await fetch(endpoint, {\n\t\t\tmethod: 'POST',\n\t\t\tbody: JSON.stringify(body),\n\t\t\theaders: this.headers(),\n\t\t})\n\t\t\t.then(response => response.json())\n\t\t\t.then(json => json.result ? json.result : '')\n\t\t\t.catch(err => console.log(err));\n\t\treturn response;\n\t}\n\n\tasync updateRecord(tableName, sysId, body){\n\t\tconst endpoint = `${this.endpoint(tableName)}/${sysId}`;\n\t\tconst response = await fetch(endpoint, {\n\t\t\tmethod: 'PUT',\n\t\t\tbody: JSON.stringify(body),\n\t\t\theaders: this.headers(),\n\t\t})\n\t\t\t.then(response => response.json())\n\t\t\t.then(json => json.result ? json.result : '')\n\t\t\t.catch(err => console.log(err));\n\t\treturn response;\n\t}\n\n\tasync deleteRecord(tableName, sysId){\n\t\tconst endpoint = `${this.endpoint(tableName)}/${sysId}`;\n\t\tconst response = await fetch(endpoint, {\n\t\t\tmethod: 'DELETE',\n\t\t\theaders: this.headers(),\n\t\t})\n\t\t\t.then(response => response.text())\n\t\t\t.catch(err => console.log(err));\n\t\treturn response;\n\t}\n\n}\n\nmodule.exports = GlideRecordRetriever;\n","const {\n\tannotation,\n\tsetTestInfo,\n\twriteLog,\n\tformatLog,\n\tgetAnnotationTypeAndValue,\n\tmochaHooks,\n\tsdlc_annotation,\n\tGlideRecordAccessor,\n\tGlideRecordRetriever\n} = require('./sdlc-annotation');\n\nmodule.exports = {\n\tmochaHooks,\n\tsdlc_annotation,\n\tannotation,\n\tsetTestInfo,\n\twriteLog,\n\tformatLog,\n\tgetAnnotationTypeAndValue,\n\tGlideRecordAccessor,\n\tGlideRecordRetriever\n};","const TestExecutionContext = {\n\tsdlcAnnotationLog : [],\n\ttestClass : '',\n\ttestMethod : '',\n};\n\nexports.mochaHooks = {\n\tbeforeEach() {\n\t\tTestExecutionContext.testMethod = this.currentTest.title;\n\t\tTestExecutionContext.testClass = getSuiteDescription(this.currentTest.parent);\n\t},\n\tafterAll() {\n\t\twriteLog();\n\t}\n};\n\nconst getSuiteDescription = suite => {\n\tconst testClass = suite.title;\n\tif (suite.root) return suite.title.length === 0 ?  '' : suite.title;\n\tconst title = getSuiteDescription(suite.parent);\n\treturn (title.length === 0) ? testClass : `${title  } ${  testClass}`;\n};\n\n\n// return the Qualified annotated Class\nconst findAnnotationType = annotateValue => {\n\tlet type = null;\n\tconst pattern = /\\D/g;\n\tconst id = annotateValue.match(pattern).toString();\n\tswitch (id) {\n\t\tcase 'S,T,R,Y':\n\t\t\ttype = 'com.snc.sdlc.annotations.Story';\n\t\t\tbreak;\n\t\tcase 'D,E,F':\n\t\t\ttype = 'com.snc.sdlc.annotations.Defect';\n\t\t\tbreak;\n\t\tcase 'P,R,B':\n\t\t\ttype = 'com.snc.sdlc.annotations.Problem';\n\t\t\tbreak;\n\t\tcase 'E,P,I,C':\n\t\t\ttype = 'com.snc.sdlc.annotations.Epic';\n\t\t\tbreak;\n\t\tcase 'T,C':\n\t\tcase 'T,N,T,C':\n\t\t\ttype = 'com.snc.sdlc.annotations.TestCase';\n\t\t\tbreak;\n\t\tcase 'W,o,r,k,I,n,P,r,o,g,r,e,s,s':\n\t\t\ttype = 'com.snc.test.category';\n\t\t\tbreak;\n\t\tcase 'U,n,s,t,a,b,l,e':\n\t\t\ttype = 'com.snc.test.category';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.log(`Annotated value ${  annotateValue  } is not supported. `);\n\t\t\ttype = null;\n\t}\n\treturn type;\n};\n\nconst getAnnotationTypeAndValue = annotateValues => {\n\tconst idClassMap = {};\n\tfor (let i = 0; i < annotateValues.length; i++) {\n\t\tconst annotationClass = findAnnotationType(annotateValues[i]);\n\t\tif (annotationClass) {\n\t\t\tif (typeof (idClassMap[annotationClass]) === 'undefined') \n\t\t\t\tidClassMap[annotationClass] = annotateValues[i];\n\t\t\telse \n\t\t\t\tidClassMap[annotationClass] = `${idClassMap[annotationClass]  },${  annotateValues[i]}`;\n\t\t}\n\t}\n\treturn idClassMap;\n};\n\nconst setTestInfo = (suiteName, testName) => {\n\tTestExecutionContext.testClass = suiteName;\n\tTestExecutionContext.testMethod = testName;\n\n};\n\nconst writeLog = (log = TestExecutionContext.sdlcAnnotationLog) => {\n\tif(log.length > 0) {\n\t\tlog = log.flat();\n\t\tconst fs = require('fs');\n\t\tconst path = require('path');\n\t\tconst fname = 'sdlc_api.annotations';\n\t\tconst targetPath = path.join(process.cwd(), 'target');\n\n\t\tif(!fs.existsSync(targetPath)) \n\t\t\tfs.mkdirSync(targetPath, {recursive: true});\n\t\t\n\t\tconst fd = fs.openSync(path.join(targetPath, fname), 'a');\n\t\tlog.forEach(item => fs.writeSync(fd, `${item  }\\n`));\n\t\tfs.closeSync(fd);\n\t}\n};\n\nconst formatLog = (testClass, testMethod, annotations) => {\n\t// eslint-disable-next-line no-param-reassign\n\ttestMethod = `#${  testMethod}`;\n\tlet formatted = [];\n\tfor (const key in annotations) \n\t\tformatted.push(`${testClass + testMethod  }->${  key  }=${  annotations[key]}`);\n\t\n\treturn formatted;\n};\n\nconst annotation = function () {\n\t// eslint-disable-next-line prefer-rest-params\n\tconst value = Array.prototype.slice.call(arguments);\n\tconst annotationTypeAndValue = getAnnotationTypeAndValue(value);\n\tconst {testClass} = TestExecutionContext;\n\tconst {testMethod} = TestExecutionContext;\n\tif (!testClass || !testMethod) {\n\t\t// eslint-disable-next-line no-console, prefer-rest-params\n\t\tconsole.error('suite_description or spec_description null hence skipped ',arguments);\n\t\treturn;\n\t}\n\tconst formatted = formatLog(testClass, testMethod, annotationTypeAndValue);\n\tTestExecutionContext.sdlcAnnotationLog = [...TestExecutionContext.sdlcAnnotationLog, formatted];\n};\n\n// eslint-disable-next-line no-unused-vars\nconst CurrentTest = function(title,suite,...annotations) {\n\tthis.title = title;\n\tthis.suite=suite;\n}; \n\nconst SdlcSuite = function(title,parent,root){\n\tthis.title=title;\n\tthis.parent=parent;\n\tthis.root=root;\n};\n\nCurrentTest.prototype =  {\n\n\tannotation(...annotations) {\n\t\tTestExecutionContext.testClass = getSuiteDescription(this.suite);\n\t\tTestExecutionContext.testMethod = this.title;\n\t\tannotation(...annotations);\n\t}\n};\n\nSdlcSuite.prototype =  {\n\tsuite(title) {\n\t\treturn new SdlcSuite(title,this,false, null);\n\t},\n\tspec(title) {\n\t\treturn new CurrentTest(title,this, null);\n\t},\n\tlogger() {\n\t\twriteLog();\n\t}\n};\n\nexports.sdlc_annotation = {\n\tsuite(title) {\n\t\treturn new SdlcSuite(title,null,true);\n\t}\n};\n\nconst GlideRecordAccessor = require('./GlideRecordAccessor');\nconst GlideRecordRetriever = require('./GlideRecordRetriever');\n\nexports.annotation = annotation;\nexports.setTestInfo = setTestInfo;\nexports.writeLog = writeLog;\nexports.formatLog = formatLog;\nexports.getAnnotationTypeAndValue = getAnnotationTypeAndValue;\nexports.GlideRecordAccessor = GlideRecordAccessor;\nexports.GlideRecordRetriever = GlideRecordRetriever;\n","import get from 'lodash/get';\n\nconst castJSON = (properties, prop) => {\n\tif (typeof properties[prop] !== 'string') {\n\t\treturn properties;\n\t}\n\tlet value;\n\ttry {\n\t\tvalue = JSON.parse(properties[prop]);\n\t} catch (e) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error(`The attribute ${prop} is not valid JSON:`, e);\n\t\tvalue = {};\n\t}\n\treturn {\n\t\t...properties,\n\t\t[prop]: value,\n\t};\n};\n\nconst castJSONorString = (properties, prop) => {\n\tif (typeof properties[prop] !== 'string') {\n\t\treturn properties;\n\t}\n\tlet value;\n\ttry {\n\t\tvalue = JSON.parse(properties[prop]);\n\t\treturn {\n\t\t\t...properties,\n\t\t\t[prop]: value,\n\t\t};\n\t} catch (e) {\n\t\treturn properties;\n\t}\n};\n\nconst castNumber = (properties, prop) => {\n\tif (typeof properties[prop] !== 'string') {\n\t\treturn properties;\n\t}\n\tif (isNaN(properties[prop])) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error(`The attribute ${prop} is not a number.`);\n\t\treturn properties;\n\t}\n\treturn {\n\t\t...properties,\n\t\t[prop]: Number(properties[prop]),\n\t};\n};\n\nconst castFunctions = {\n\tarray: castJSON,\n\tobject: castJSON,\n\tnumber: castNumber,\n\tobjectOrString: castJSONorString,\n};\n\nexport const extendWithCast = (baseConfig) => {\n\tconst baseTransformProps = get(\n\t\tbaseConfig,\n\t\t['renderer', 'transformProps'],\n\t\t(state) => state,\n\t);\n\n\tconst properties = baseConfig.properties || {};\n\tconst transforms = Object.keys(properties).reduce((acc, key) => {\n\t\t// eslint-disable-next-line no-prototype-builtins\n\t\tif (properties[key].hasOwnProperty('cast')) {\n\t\t\tconst transform = castFunctions[properties[key].cast];\n\t\t\tacc = [...acc, (properties) => transform(properties, key)];\n\t\t}\n\t\treturn acc;\n\t}, []);\n\n\treturn {\n\t\t...baseConfig,\n\t\trenderer: {\n\t\t\t...baseConfig.renderer,\n\t\t\ttransformProps: (state) => {\n\t\t\t\tconst properties = transforms.reduce(\n\t\t\t\t\t(acc, fn) => fn(acc),\n\t\t\t\t\tstate.properties,\n\t\t\t\t);\n\t\t\t\treturn baseTransformProps({...state, properties: {...properties}});\n\t\t\t},\n\t\t},\n\t};\n};\n","import {createLogger, isEqual, getHostInfo} from '@servicenow/ui-internal';\n\nconst log = createLogger();\n\nexport function updateStateEffect(reducerFn = s => s, coeffects) {\n\tconst {state, action, updateProperties, updateState, host} = coeffects;\n\tconst updatedState = reducerFn(state, action);\n\n\tconst {tagName, componentId} = getHostInfo(host);\n\tlog('createUpdateStateEffect has been deprecated. Please use updateState helper instead.', {\n\t\ttagName,\n\t\tcomponentId,\n\t\thost,\n\t\torigin: 'updateStateEffect'\n\t});\n\n\t// LEGACY: support legacy components that are spreading properties across state\n\tif (!isEqual(updatedState.properties, state.properties)) {\n\t\tupdateProperties(updatedState.properties);\n\t\tlog(\n\t\t\t'Spreading properties across state in a createUpdateStateEffect is no longer supported. Please use the updateProperties helper.',\n\t\t\t{host, origin: 'updateStateEffect'}\n\t\t);\n\t}\n\n\tupdateState(updatedState, {\n\t\tSCHEDULE_IMMEDIATELY_DO_NOT_USE_OR_YOU_WILL_BE_IMMEDIATELY_FIRED: true,\n\t\tspan: action.meta.span\n\t});\n}\n\n/**\n * **This package is deprecated. Please read about the new helper `updateState` in the state and helpers pages under Main Concepts**\n *\n * Effect that updates the UI Framework data store. Data is stored under the context of the dispatching action that triggered the effect.\n *\n * **Note**: If possible, use the updateState helper function that supports declarative state updates instead.\n *\n * @function createUpdateStateEffect\n * @example\n * import {createUpdateStateEffect} from '@servicenow/ui-effect-update-state';\n *\n * const addActionPayloadToStateEffect = createUpdateStateEffect(\n *   (state, action) => ({...state, ...action.payload})\n * );\n *\n * // Register with component action handlers:\n * {\n *   actionHandlers: {\n *     'SOMETHING_HAPPENED': addActionPayloadToStateEffect\n *   }\n * }\n *\n * @param {Function} reducerFn - Function that reduces current state to new state: (currentState, action) => newState\n * @return {Object} Update State Effect Descriptor\n */\nexport default function createUpdateStateEffect(reducerFn) {\n\treturn {\n\t\teffect: updateStateEffect,\n\t\targs: [reducerFn]\n\t};\n}\n","import {createUpdateStateEffect} from '@servicenow/ui-effect-update-state';\n\nexport const localsSetEffectHandler = createUpdateStateEffect(\n\t(state, action) => {\n\t\t/* eslint-disable-next-line no-undef */\n\t\tif (process.env.NODE_ENV === 'development') {\n\t\t\t/* eslint-disable-next-line no-console */\n\t\t\tconsole.warn(\n\t\t\t\t'`locals` from @devsnc/library-enhanced-element is deprecated. Please migrate to using `updateState` helper method from @servicenow/ui-core.',\n\t\t\t);\n\t\t}\n\n\t\tconst {payload} = action;\n\t\treturn {\n\t\t\t...state,\n\t\t\tlocals: {\n\t\t\t\t...state.locals,\n\t\t\t\t...payload,\n\t\t\t},\n\t\t};\n\t},\n);\n\nexport const extendWithLocals = (baseConfig) => {\n\tconst localsConfig = baseConfig.locals || {};\n\tconst locals = Object.keys(localsConfig).reduce(\n\t\t(acc, key) => ({\n\t\t\t...acc,\n\t\t\t[key]: localsConfig[key].default,\n\t\t}),\n\t\t{},\n\t);\n\n\treturn {\n\t\t...baseConfig,\n\t\tactionHandlers: {\n\t\t\tLOCALS_SET: {\n\t\t\t\t...localsSetEffectHandler,\n\t\t\t\tstopPropagation: true,\n\t\t\t},\n\t\t\t...baseConfig.actionHandlers,\n\t\t},\n\t\tinitialState: {\n\t\t\tlocals,\n\t\t\tproperties: {},\n\t\t\t...baseConfig.initialState,\n\t\t},\n\t};\n};\n","import rtlBehavior from '@servicenow/behavior-rtl';\n\nexport const extendWithDefaultBehaviors = (baseConfig) => {\n\treturn {\n\t\t...baseConfig,\n\t\tbehaviors: [...(baseConfig.behaviors || []), {behavior: rtlBehavior}],\n\t};\n};\n","import makeScopedActionName from './scoped-action-name';\nimport reduce from 'lodash/reduce';\nimport forEach from 'lodash/forEach';\nimport omit from 'lodash/omit';\nimport mapValues from 'lodash/mapValues';\nimport get from 'lodash/get';\nimport constantCase from './constant-case';\n\nconst toManagedPropName = (propName) =>\n\t'manage' + propName[0].toUpperCase() + propName.slice(1);\n\nconst omitManagedKey = (descriptor) => omit(descriptor, 'manageable');\n\n/* Extracted from https://code.devsnc.com/dev/sn-seismic/blob/5aff3fb9bc51ada3bc487f78a5d3b02c04bf410b/packages/core/src/utils/combinePropertyDefs.js */\nconst getComponentProperties = (config) => {\n\tconst {properties = {}, behaviors = []} = config;\n\n\treturn reduce(\n\t\tbehaviors,\n\t\t(acc, behavior) => {\n\t\t\tconst properties = get(\n\t\t\t\tbehavior,\n\t\t\t\t'behavior.properties',\n\t\t\t\tget(behavior, 'properties', {}),\n\t\t\t);\n\n\t\t\tforEach(properties, (value, key) => {\n\t\t\t\tacc[key] = value;\n\t\t\t});\n\n\t\t\treturn acc;\n\t\t},\n\t\t{...properties},\n\t);\n};\n\nexport const extendWithManageableProperties = (tagName, baseConfig) => {\n\tconst properties = getComponentProperties(baseConfig);\n\n\tconst propNamesToManage = Object.keys(properties).reduce((acc, propName) => {\n\t\tif (properties[propName].manageable) {\n\t\t\tacc.push(propName);\n\t\t}\n\n\t\treturn acc;\n\t}, []);\n\n\tif (!propNamesToManage.length) {\n\t\treturn baseConfig;\n\t}\n\n\tconst managedActions = propNamesToManage.reduce((acc, propName) => {\n\t\tconst actionName = makeScopedActionName(\n\t\t\ttagName,\n\t\t\tconstantCase(propName) + '_SET',\n\t\t);\n\t\tconst managedPropName = toManagedPropName(propName);\n\t\tconst actionHandler = ({host, state, action, updateProperties}) => {\n\t\t\tlet value = action.payload.value;\n\t\t\tconst isPropertySelector =\n\t\t\t\ttypeof value === 'string' && value[0] === '@' && value.indexOf('/') > 0;\n\n\t\t\tconst isManaged = state.properties[managedPropName];\n\t\t\t// if a component is a descendant of itself, need to make sure that SET\n\t\t\t// actions from the child don't change the property of the parent\n\t\t\tconst isActionForCurrentHost = host.nowId === action.meta.id;\n\n\t\t\tif (isManaged || !isActionForCurrentHost) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t/*\n\t\t\t * Here we're escaping the value to prevent selectable properties from\n\t\t\t * intercepting and overriding the original value. Managed properties\n\t\t\t * need to be escaped by the customer.\n\t\t\t *\n\t\t\t * This only happens when the value matches the pattern: '@abc/def'\n\t\t\t */\n\t\t\tif (isPropertySelector) {\n\t\t\t\tvalue = `\\\\${value}`;\n\t\t\t}\n\n\t\t\tupdateProperties({[propName]: value});\n\t\t};\n\t\tacc[actionName] = actionHandler;\n\t\treturn acc;\n\t}, {});\n\n\tconst managedProperties = propNamesToManage.reduce((acc, propName) => {\n\t\tacc[toManagedPropName(propName)] = {};\n\t\treturn acc;\n\t}, {});\n\n\treturn {\n\t\t...baseConfig,\n\t\tactionHandlers: {\n\t\t\t...managedActions,\n\t\t\t...baseConfig.actionHandlers,\n\t\t},\n\t\tproperties: {\n\t\t\t...managedProperties,\n\t\t\t...mapValues(baseConfig.properties, omitManagedKey),\n\t\t},\n\t};\n};\n","export default (value) => {\n\tconst casedValue = value\n\t\t.replace(/([A-Z][a-z]+)/g, ' $&')\n\t\t.toUpperCase()\n\t\t.replace(/[ ]/g, '_');\n\n\treturn casedValue[0] === '_' ? casedValue.substring(1) : casedValue;\n};\n","export default function makeScopedActionName(tagName, actionName) {\n\treturn tagName.toUpperCase().replace(/-/g, '_') + '#' + actionName;\n}\n","import get from 'lodash/get';\n\nconst getOnRenderFns = (config) => {\n\tconst fns = [];\n\tif (config.onRender) {\n\t\tfns.push(config.onRender);\n\t}\n\tconst behaviors = config.behaviors || [];\n\tfor (let behavior of behaviors) {\n\t\tconst onRender = get(\n\t\t\tbehavior,\n\t\t\t`behavior.onRender`,\n\t\t\tget(behavior, 'onRender', null),\n\t\t);\n\t\tif (onRender) {\n\t\t\tfns.push(onRender);\n\t\t}\n\t}\n\treturn fns;\n};\n\nexport const extendWithOnRender = (baseConfig) => {\n\tconst onRenderFns = getOnRenderFns(baseConfig);\n\n\tif (onRenderFns.length === 0) {\n\t\treturn baseConfig;\n\t}\n\t/* eslint-disable-next-line no-undef */\n\tif (process.env.NODE_ENV === 'development') {\n\t\t/* eslint-disable-next-line no-console */\n\t\tconsole.error(\n\t\t\t'`onRender()` from @devsnc/library-enhanced-element is not supported. Please migrate to using `actionTypes.COMPONENT_RENDERED` lifecycle method from @servicenow/ui-core.',\n\t\t);\n\t}\n\n\treturn baseConfig;\n};\n","import {\n\tcreateCustomElement,\n\tcreatePresentationalCustomElement,\n} from '@servicenow/ui-core';\nimport {extendWithLocals} from './locals';\nimport {extendWithCast} from './cast';\nimport {extendWithDefaultBehaviors} from './default-behaviors';\nimport {extendWithManageableProperties} from './manageable-properties';\nimport {extendWithOnRender} from './on-render';\n\nconst createEnhancedElement = (name, baseConfig = {}) => {\n\tlet {presentational, ...mergedConfig} = baseConfig;\n\n\tif (presentational) {\n\t\tmergedConfig = extendWithDefaultBehaviors(mergedConfig);\n\t\tcreatePresentationalCustomElement(name, mergedConfig);\n\t} else {\n\t\tmergedConfig = extendWithCast(baseConfig);\n\t\tmergedConfig = extendWithLocals(mergedConfig);\n\t\tmergedConfig = extendWithDefaultBehaviors(mergedConfig);\n\t\tmergedConfig = extendWithManageableProperties(name, mergedConfig);\n\t\tmergedConfig = extendWithOnRender(mergedConfig);\n\t\tcreateCustomElement(name, mergedConfig);\n\t}\n};\n\nexport default createEnhancedElement;\n","/**\n * Returns if a provided key normally moves focus or selection.\n * @param {String} key - key name from a keyboard event\n * @returns {Boolean}\n */\nexport const isDirectionalKey = (key) => {\n\treturn [\n\t\t'ArrowRight',\n\t\t'ArrowLeft',\n\t\t'ArrowUp',\n\t\t'ArrowDown',\n\t\t'Home',\n\t\t'End',\n\t].includes(key);\n};\n\n/**\n * Returns if a provided key normally moves focus or selection forward / to the next item.\n * If provided, it will also respect the current document direction (ltr or rtl).\n * @param {String} key - key name from a keyboard event\n * @param {String} dir - document direction\n * @param {Boolean} supportDown - whether down should also be supported\n * @returns {Boolean}\n */\nexport const isNextKey = (key, dir, supportDown) => {\n\treturn (\n\t\t(dir !== 'rtl' && key === 'ArrowRight') ||\n\t\t(dir === 'rtl' && key === 'ArrowLeft') ||\n\t\t(supportDown && key === 'ArrowDown')\n\t);\n};\n\n/**\n * Returns if a provided key normally moves focus or selection backward / to the previous item.\n * If provided, it will also respect the current document direction (ltr or rtl).\n * @param {String} key - key name from a keyboard event\n * @param {String} dir - document direction\n * @param {Boolean} supportUp - whether up should also be supported\n * @returns {Boolean}\n */\nexport const isPreviousKey = (key, dir, supportUp) => {\n\treturn (\n\t\t(dir !== 'rtl' && key === 'ArrowLeft') ||\n\t\t(dir === 'rtl' && key === 'ArrowRight') ||\n\t\t(supportUp && key === 'ArrowUp')\n\t);\n};\n","import isString from 'lodash/isString';\n\n/**\n * Splits a string at each hyphen, returning an object where each key is the\n * split substring (prefixed with a hyphen) and the value is the substring.\n * @param {*} value - string to split\n * @returns {Object}\n */\nexport const extensionSplit = (value) => {\n\tif (!isString(value)) {\n\t\treturn {};\n\t}\n\n\treturn value.split('-').reduce((acc, v) => {\n\t\tacc['-' + v] = v;\n\t\treturn acc;\n\t}, {});\n};\n","import {pickBy} from 'lodash';\n\n/**\n * Take in an obj and return only keys that start with `aria-` or match `role`\n * @param {*} obj - object mapping aria attributes to the corresponding value\n * @returns {Object}\n */\nexport const filterAriaAttributes = (obj, key) => {\n\tif (!obj || typeof obj !== 'object' || !Object.keys(obj).length) {\n\t\treturn {};\n\t}\n\t// backwards compatibility for the old config-aria pattern\n\tif (!obj[key]) {\n\t\treturn pickBy(obj, (_, attr) => /^aria-\\w+/i.test(attr));\n\t}\n\treturn pickBy(\n\t\tobj[key],\n\t\t(_, attr) => /^aria-\\w+/i.test(attr) || attr === 'role',\n\t);\n};\n\nexport const filterAriaAttributesOld = (obj) =>\n\tpickBy(obj, (_, key) => /^aria-\\w+/i.test(key));\n","/**\n * Ensures the given value is an array\n * For `null` and `undefined`: return an empty array.\n * For a value that is already an array: return that array as-is.\n * If the value is iterable, return Array.from() (except for strings)\n * For any other value: return an array containing only that value.\n *\n * @param {*} maybeArray - value to make an array out of\n * @returns {Array}\n */\nexport const toArray = (maybeArray) => {\n\tif (maybeArray === null || maybeArray === undefined) {\n\t\treturn [];\n\t}\n\tif (Array.isArray(maybeArray)) return maybeArray;\n\tif (typeof maybeArray !== 'string' && maybeArray[Symbol.iterator])\n\t\treturn Array.from(maybeArray);\n\treturn [maybeArray];\n};\n","import {toArray} from './to-array';\n\n/**\n * The following helper methods to find focusable elements are copied from Polymer\n * with modifications.\n * https://github.com/PolymerElements/iron-overlay-behavior/blob/master/iron-focusables-helper.js\n * License:\n * Copyright (c) 2016 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt The complete set of authors may be found at\n * http://polymer.github.io/AUTHORS.txt The complete set of contributors may be\n * found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\n * part of the polymer project is also subject to an additional IP rights grant\n * found at http://polymer.github.io/PATENTS.txt\n */\n\n/**\n * Returns if a element is focusable.\n * @param {HTMLElement} element\n * @return {boolean}\n */\n\nexport const isFocusable = (element) => {\n\t// From http://stackoverflow.com/a/1600194/4228703:\n\t// There isn't a definite list, it's up to the browser. The only\n\t// standard we have is DOM Level 2 HTML\n\t// https://www.w3.org/TR/DOM-Level-2-HTML/html.html, according to which the\n\t// only elements that have a focus() method are HTMLInputElement,\n\t// HTMLSelectElement, HTMLTextAreaElement and HTMLAnchorElement. This\n\t// notably omits HTMLButtonElement and HTMLAreaElement. Referring to these\n\t// tests with tabbables in different browsers\n\t// http://allyjs.io/data-tables/focusable.html\n\tif (element.nodeType !== Node.ELEMENT_NODE) {\n\t\treturn false;\n\t}\n\t// Elements that cannot be focused if they have [disabled] attribute.\n\tif (\n\t\telement.matches(\n\t\t\t'input:not([type=\"radio\"]), select, textarea, button, object',\n\t\t)\n\t) {\n\t\treturn element.matches(':not([disabled])');\n\t}\n\t// Radio buttons are special snowflakes\n\tif (element.matches('input[type=\"radio\"]:not([disabled])')) {\n\t\t// If it is checked and not disabled, it should be focusable\n\t\tif (element.checked) {\n\t\t\treturn true;\n\t\t}\n\t\t// If no radio buttons in the set are checked, the first enabled one is focusable\n\t\telse {\n\t\t\tconst name = element.getAttribute('name');\n\t\t\tconst allEnabledRadiosInSet = element\n\t\t\t\t.getRootNode()\n\t\t\t\t.querySelectorAll(\n\t\t\t\t\t`input[type=\"radio\"][name=\"${name}\"]:not([disabled])`,\n\t\t\t\t);\n\t\t\tconst isFirstInSet = element === allEnabledRadiosInSet[0];\n\t\t\tconst noneChecked = !toArray(allEnabledRadiosInSet).some(\n\t\t\t\t(radio) => radio.checked,\n\t\t\t);\n\t\t\treturn isFirstInSet && noneChecked;\n\t\t}\n\t}\n\t// Elements that can be focused even if they have [disabled] attribute.\n\treturn element.matches(\n\t\t'a[href], area[href], iframe, [tabindex], [contentEditable]',\n\t);\n};\n\n/**\n * @param {Node} node\n * @return {HTMLCollection}\n */\nconst getNormalizedChildren = (node) => {\n\tlet children;\n\tif (node.localName === 'slot') {\n\t\tchildren = node.assignedNodes({flatten: true});\n\t} else {\n\t\t// Use shadow root if possible, will check for distributed nodes.\n\t\tchildren = (node.nowRootNode || node.shadowRoot || node).children;\n\t}\n\n\treturn children ? Array.prototype.slice.call(children) : [];\n};\n\n/**\n * Returns the normalized element tabindex. If not focusable, returns -1.\n * It checks for the attribute \"tabindex\" instead of the element property\n * `tabIndex` since browsers assign different values to it.\n * e.g. in Firefox `<div contenteditable>` has `tabIndex = -1`\n * @param {!HTMLElement} element\n * @return {!number}\n */\nconst normalizedTabIndex = (element) => {\n\tif (isFocusable(element)) {\n\t\tconst tabIndex = element.getAttribute('tabindex') || 0;\n\t\treturn Number(tabIndex);\n\t}\n\treturn -1;\n};\n\n/**\n * Returns false if the element has `visibility: hidden` or `display: none`\n * @param {HTMLElement} element\n * @return {boolean}\n */\nconst isVisible = (element) => {\n\t// Check inline style first to save a re-flow. If looks good, check also\n\t// computed style.\n\tlet style = element.style;\n\tif (style.visibility !== 'hidden' && style.display !== 'none') {\n\t\tstyle = window.getComputedStyle(element);\n\t\treturn style.visibility !== 'hidden' && style.display !== 'none';\n\t}\n\treturn false;\n};\n\n/**\n * Sorts an array of tabbable elements by tabindex. Returns a new array.\n * @param {HTMLElement[]} tabbables\n * @return {HTMLElement[]}\n */\nconst sortByTabIndex = (tabbables) => {\n\t// Implement a merge sort as Array.prototype.sort does a non-stable sort\n\t// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort\n\tconst len = tabbables.length;\n\tif (len < 2) {\n\t\treturn tabbables;\n\t}\n\tconst pivot = Math.ceil(len / 2);\n\tconst left = sortByTabIndex(tabbables.slice(0, pivot));\n\tconst right = sortByTabIndex(tabbables.slice(pivot));\n\treturn mergeSortByTabIndex(left, right);\n};\n\n/**\n * Merge sort iterator, merges the two arrays into one, sorted by tab index.\n * @param {HTMLElement[]} left\n * @param {HTMLElement[]} right\n * @return {HTMLElement[]}\n */\nconst mergeSortByTabIndex = (left, right) => {\n\tconst result = [];\n\twhile (left.length > 0 && right.length > 0) {\n\t\tif (hasLowerTabOrder(left[0], right[0])) {\n\t\t\tresult.push(right.shift());\n\t\t} else {\n\t\t\tresult.push(left.shift());\n\t\t}\n\t}\n\n\treturn result.concat(left, right);\n};\n\n/**\n * Returns if element `a` has lower tab order compared to element `b`\n * (both elements are assumed to be focusable and tabbable).\n * Elements with tabindex = 0 have lower tab order compared to elements\n * with tabindex > 0.\n * If both have same tabindex, it returns false.\n * @param {HTMLElement} a\n * @param {HTMLElement} b\n * @return {boolean}\n */\nconst hasLowerTabOrder = (a, b) => {\n\t// Normalize tabIndexes\n\t// e.g. in Firefox `<div contenteditable>` has `tabIndex = -1`\n\tconst ati = Math.max(a.tabIndex, 0);\n\tconst bti = Math.max(b.tabIndex, 0);\n\treturn ati === 0 || bti === 0 ? bti > ati : ati > bti;\n};\n\n/**\n * Recursively searches children of the parent node. Return a list of tabbable\n * nodes sorted by tabIndex. Includes the parent node in the list if it is tabbable.\n * @param {Node} node The starting point for the search\n * @param {HTMLElement[]} result\n * @return {boolean}\n */\nexport const findTabbableNodes = (node) => {\n\tconst tabbableNodes = [];\n\tlet needsSort = false;\n\tlet queue = [node];\n\n\twhile (queue.length) {\n\t\tconst el = queue.shift();\n\t\t// If not an element or not visible, no need to explore children.\n\t\tif (el.nodeType !== Node.ELEMENT_NODE || !isVisible(el)) {\n\t\t\tcontinue;\n\t\t}\n\t\tconst tabIndex = normalizedTabIndex(el);\n\t\tif (tabIndex > 0) {\n\t\t\tneedsSort = true;\n\t\t}\n\t\tif (tabIndex >= 0) {\n\t\t\ttabbableNodes.push(el);\n\t\t}\n\t\tconst children = getNormalizedChildren(el);\n\t\tqueue = [...children, ...queue];\n\t}\n\n\treturn needsSort ? sortByTabIndex(tabbableNodes) : tabbableNodes;\n};\n","/**\n * Returns the currently focused element, recursing through shadow roots.\n * @param {HTMLElement} active - reference to focused element\n * @returns {HTMLElement}\n */\nexport const getActiveElement = (active = document.activeElement) => {\n\tif (active.shadowRoot && active.shadowRoot.activeElement) {\n\t\treturn getActiveElement(active.shadowRoot.activeElement);\n\t}\n\tif (active.contentDocument && active.contentDocument.activeElement) {\n\t\treturn getActiveElement(active.contentDocument.activeElement);\n\t}\n\treturn active;\n};\n","/**\n * Returns the shadow root that `node` belongs to, or null if it is not in a\n * shadow root.\n * @param {HTMLElement} node\n * @returns {(HTMLElement|null)}\n */\nexport const getShadowRootHost = (node) => {\n\tif (node.parentNode instanceof ShadowRoot) {\n\t\treturn node.parentNode.host;\n\t}\n\tif (node.parentElement) {\n\t\treturn getShadowRootHost(node.parentElement);\n\t}\n\treturn null;\n};\n","/**\n * Creates a new Seismic action dispatch with the type specified\n * in `newActionType`, passing along the original `action.payload`.\n * @param {string} newActionType - name to be used for the redispatched action\n * @returns {function}\n */\nexport const makeRedispatchEffect =\n\t(newActionType) =>\n\t({action, dispatch}) =>\n\t\tdispatch(() => {\n\t\t\treturn {\n\t\t\t\ttype: newActionType,\n\t\t\t\tpayload: {...(action.payload || {})},\n\t\t\t};\n\t\t});\n","export const textTransform = {\n\tUPPERCASE: 'uppercase',\n\tLOWERCASE: 'lowercase',\n\tCAPITALIZE: 'capitalize',\n\ttransform(mode, str) {\n\t\tif (mode === this.LOWERCASE) return this.toLowerCase(str);\n\t\tif (mode === this.UPPERCASE) return this.toUpperCase(str);\n\t\tif (mode === this.CAPITALIZE) return this.capitalize(str);\n\t\treturn str;\n\t},\n\ttoUpperCase(str = '') {\n\t\treturn str.toUpperCase() || '';\n\t},\n\ttoLowerCase(str = '') {\n\t\treturn str.toLowerCase() || '';\n\t},\n\tcapitalize(str) {\n\t\tconst s = str.trim();\n\t\tif (!s) return '';\n\n\t\tlet arr = [];\n\t\tif (s.indexOf(' ')) arr = s.split(' ');\n\t\tif (!arr.length) arr = [s];\n\n\t\tconst arr2 = [];\n\t\tarr.forEach((word) => {\n\t\t\tlet a = [];\n\t\t\tif (word.indexOf('-') > -1) {\n\t\t\t\tconst sub = word.split('-');\n\t\t\t\tsub.forEach((w) => {\n\t\t\t\t\ta.push(w.replace(/^\\w/, (c2) => c2.toUpperCase()));\n\t\t\t\t});\n\t\t\t\tarr2.push(a.join('-'));\n\t\t\t} else {\n\t\t\t\tarr2.push(word.replace(/^\\w/, (c) => c.toUpperCase()));\n\t\t\t}\n\t\t});\n\t\treturn arr2.join(' ');\n\t},\n};\n","let fontToMeasureFn = new Map();\n\nconst createMeasureFn = (font) => {\n\tconst canvas = document.createElement('canvas');\n\tconst ctx = canvas.getContext('2d');\n\tcanvas.width = 100;\n\tcanvas.height = 100;\n\tctx.font = font;\n\treturn (text) => ctx.measureText(text).width;\n};\n\n/**\n * Returns a measurement function based on the font size and font face passed.\n * The function that is returned by the factory can be used to determine the\n * width (in pixels) of a given string, e.g.\n * ```js\n *   const mt = measureTextFactory('16px Source Sans Pro, sans-serif');\n *   const width = mt('Foo');\n * ```\n * @param {string} font - e.g. '16px Source Sans Pro,sans-serif'\n * @returns {function}\n */\nexport const measureTextFactory = (font) => {\n\tif (fontToMeasureFn.has(font)) {\n\t\treturn fontToMeasureFn.get(font);\n\t}\n\tconst measureFn = createMeasureFn(font);\n\tfontToMeasureFn.set(font, measureFn);\n\treturn measureFn;\n};\n","import {textTransform} from './text-transform';\n\nexport const measureText = ({\n\tfontWeight,\n\tfontSize,\n\tfontStyle,\n\tfontFamily,\n\ttxtTransform,\n}) => {\n\tconst canvas = document.createElement('canvas');\n\tconst ctx = canvas.getContext('2d');\n\tconst font = `${fontStyle || ''} ${\n\t\tfontWeight || '400'\n\t} ${fontSize} ${fontFamily}`;\n\tctx.font = font;\n\treturn (str) => {\n\t\tconst s = textTransform.transform(txtTransform, str);\n\t\treturn Math.ceil(ctx.measureText(s).width);\n\t};\n};\n","/**\n * Replaces occurrence of `searchTerm` found in `string` with styled DOM\n * nodes.\n *\n * @param searchTerm {string} - The substring to look for within the larger\n * `string`\n * @param string {string} - The input string to search in.\n * @param className {string} - The class to use when styling matching sections of the string\n * @param options {Options} - options to change how this function finds matches\n *\n * @typedef {Object} Options - optional configuration to customize how this function finds matches\n * @property {boolean} caseSensitive - If true, highlighting is case-sensitive\n * @property {\"beginning\"|\"all\"|\"first\"} location - Where matches can be located in the string.\n * - \"beginning\": only matches if the string starts with the searchTerm\n * - \"all\": match all occurrences of the searchTerm anywhere in the string\n * - \"first\": only matches the first occurrence of the searchTerm, but can be found anywhere in the string\n * @property {string} tag - What tag to wrap matched values\n *\n * @returns {Array<string|VDomNode>} - the minimal amount of data needed\n * to render correctly. This may be a string literal (no matches found), or an\n * array of mixed strings + vdom nodes.\n */\nexport function matchSearchTerm(\n\tsearchTerm,\n\tstring,\n\tclassName,\n\t{location = 'beginning', caseSensitive = false, tag: Tag = 'mark'} = {},\n) {\n\tif (!searchTerm) {\n\t\treturn string;\n\t}\n\n\tconst searchWithCase = caseSensitive ? searchTerm : searchTerm.toLowerCase();\n\tconst stringWithCase = caseSensitive ? string : string.toLowerCase();\n\n\t// elements in this array will be a mix of types. String literals for the\n\t// non-highlighted portitions and snabbdom nodes for the highlighted\n\t// portions. snabbdom is perfectly happy rendering this array as children.\n\tconst result = [];\n\n\tconst highlightLength = searchTerm.length;\n\n\tlet lastIndex = 0;\n\tlet nextIndex = 0;\n\twhile (\n\t\t(nextIndex = stringWithCase.indexOf(searchWithCase, lastIndex)) !== -1\n\t) {\n\t\t// `beginning` location must match at just the start of the string\n\t\tif (nextIndex > 0 && location === 'beginning') {\n\t\t\tbreak;\n\t\t}\n\n\t\t// lastIndex = beginning of string OR where the previous highlighted string ended\n\t\t// nextIndex = where the next highlight string starts\n\t\t//\n\t\t// if these two values are not equal, it means there is non-highlighted\n\t\t// content that we need to deal with.\n\t\t//\n\t\t// e.g.: on the first iteration\n\t\t//\n\t\t//       searchTerm = \"world\"\n\t\t//       label = \"hello world\"\n\t\t//                │     │\n\t\t//      lastIndex ┘     └ nextIndex\n\t\t//\n\t\t// Need to push the prefix \"hello \" into the result.\n\t\tif (nextIndex > lastIndex) {\n\t\t\tresult.push(string.slice(lastIndex, nextIndex));\n\t\t}\n\n\t\tconst highlight = (\n\t\t\t<Tag className={className}>\n\t\t\t\t{string.slice(nextIndex, nextIndex + highlightLength)}\n\t\t\t</Tag>\n\t\t);\n\t\tresult.push(highlight);\n\n\t\tlastIndex = nextIndex + highlightLength;\n\n\t\tif (location !== 'all') {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tif (result.length === 0) {\n\t\treturn string;\n\t}\n\n\t// content between the last highlight and end of the string\n\tif (lastIndex !== string.length) {\n\t\tresult.push(string.slice(lastIndex));\n\t}\n\n\treturn result;\n}\n","/**\n * The event object.\n * @typedef EventObject\n * @property {string} type\n */\n\n/**\n * The event callback.\n * @callback EventCallback\n * @param {EventObject} event\n */\n\n/**\n * An object representing a layering component.\n * @typedef {Object} Layer\n * @property {string} id - The id associated with the layer element\n * @property {Array} events - The types of events to create global listeners for.\n * @property {EventCallback} callback - The function to be called when a stack event is triggered.\n */\n\nif (typeof window.___NDS_LAYER_EVENTS___ === 'undefined') {\n\tconst propertyConfig = {\n\t\tenumerable: false,\n\t\tconfigurable: false,\n\t\twritable: false,\n\t};\n\tconst LSValue = [];\n\tObject.defineProperty(LSValue, 'registry', {\n\t\t...propertyConfig,\n\t\tvalue: {},\n\t});\n\t// NOTES no matter how many times layer events gets loaded, there is only one window\n\tObject.defineProperty(window, '___NDS_LAYER_EVENTS___', {\n\t\t...propertyConfig,\n\t\tvalue: LSValue,\n\t});\n}\n\n/**\n * Return the stack of layer objects. This is a reference, not a copy.\n * @returns {Layer[]}\n */\nconst getStack = () => window.___NDS_LAYER_EVENTS___ || [];\n\n/**\n * Returns whether a layer with given id is currently the top of the stack.\n * @param {number} id\n * @returns {boolean}\n */\nconst isTopLayer = (id) => {\n\tconst stack = getStack();\n\treturn id === stack[stack.length - 1]?.id;\n};\n\n/**\n * Returns true if a there is a layer with matching id.\n * @param {string} id\n * @returns {boolean}\n */\nconst layerExists = (id) => getStack().some((layer) => layer.id === id);\n\n/**\n * Umbrella handler for all stack-related events.\n * @param {EventCallback} event\n */\nconst handleEvent = (event) => {\n\tconst stack = getStack();\n\n\t// Multiple instances/versions of this utility can leave behind remnant listeners.\n\t// The listener should unsubscribe itself if there are no layers.\n\tif (!stack.length) {\n\t\treturn window.removeEventListener(event.type, handleEvent, true);\n\t}\n\n\tconst topLayer = stack[stack.length - 1];\n\tif (topLayer.events.includes(event.type)) {\n\t\ttopLayer.callback(event);\n\t}\n};\n\n/**\n * Check if a given layer object is safe to use.\n * @param {Layer}\n */\nconst isValidLayer = (layer) => {\n\treturn (\n\t\tObject.keys(layer).length &&\n\t\tArray.isArray(layer.events) &&\n\t\tlayer.events.length &&\n\t\ttypeof layer.callback === 'function' &&\n\t\ttypeof layer.id === 'string' &&\n\t\t!layerExists(layer.id)\n\t);\n};\n\n/**\n * A reducer function to handle LayerStack state mutations.\n * @param {string} type - the type of action to perform.\n * @param {string[]} events - the events to update.\n */\nconst registryReducer = (type, events) => {\n\tif (type === 'add') {\n\t\tevents.forEach((eventType) => {\n\t\t\tconst stack = getStack();\n\t\t\tconst count = stack.registry[eventType];\n\t\t\tif (!count) {\n\t\t\t\twindow.addEventListener(eventType, handleEvent, true);\n\t\t\t\tstack.registry[eventType] = 1;\n\t\t\t} else {\n\t\t\t\tstack.registry[eventType] = count + 1;\n\t\t\t}\n\t\t});\n\t} else if (type === 'remove') {\n\t\tevents.forEach((eventType) => {\n\t\t\tconst stack = getStack();\n\t\t\tconst count = stack.registry[eventType];\n\t\t\tif (count === 1) {\n\t\t\t\tdelete stack.registry[eventType];\n\t\t\t\twindow.removeEventListener(eventType, handleEvent, true);\n\t\t\t} else {\n\t\t\t\tstack.registry[eventType] = count - 1;\n\t\t\t}\n\t\t});\n\t}\n};\n\n/**\n * Adds a new layer to the stack.\n * @param {Layer} layer\n */\nconst add = (layer = {}) => {\n\tif (!isValidLayer(layer)) return;\n\tregistryReducer('add', layer.events);\n\tgetStack().push(layer);\n};\n\n/**\n * Given a matching id, removes the specified layer from the stack.\n * @param {string} id\n */\nconst remove = (id) => {\n\tconst stack = getStack();\n\n\tif (!stack.length || typeof id !== 'string') {\n\t\treturn;\n\t}\n\n\tconst topLayer = stack[stack.length - 1];\n\n\tif (topLayer.id === id) {\n\t\tconst layer = stack.pop();\n\t\tregistryReducer('remove', layer.events);\n\t} else {\n\t\tfor (let i = stack.length - 1; i >= 0; i--) {\n\t\t\tconst layer = stack[i];\n\t\t\tif (layer.id === id) {\n\t\t\t\tstack.splice(i, 1);\n\t\t\t\tregistryReducer('remove', layer.events);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport default {remove, add, isTopLayer};\n","/**\n * Standard configuration object for DOMPurify library used across NDS components.\n */\nexport const domPurifyConfig = {\n\tFORCE_BODY: true, // makes sure that <style> tags aren't stripped\n\tCUSTOM_ELEMENT_HANDLING: {\n\t\ttagNameCheck: /(^now-)|(^sn-)/, // allows now-* and sn-* custom elements to be used\n\t\tattributeNameCheck: () => {\n\t\t\t// allows any custom properties / attributes to be set on now-* and sn-* tags\n\t\t\treturn true;\n\t\t},\n\t},\n\tADD_ATTR: ['target'],\n\tFORBID_ATTR: ['method', 'action'],\n};\n","function canScroll(overflow) {\n\treturn overflow === 'auto' || overflow === 'hidden';\n}\n\n/**\n * Caches the result of a `getDimensions()` call so that it won't be\n * recalculated again later. Useful to ensure that getBoundingClientRect is\n * not called multiple times in a row when multiple fit positions are\n * evaluated in a row.\n * @param {Dimensions} dim\n * @return {{getDimensions: Function}}\n */\nexport function cacheDimensions(dim) {\n\treturn {\n\t\tgetDimensions: () => dim,\n\t};\n}\n\n/**\n * Gets the dimensions of a HTMLElement or gets the manually specified and/or\n * cached dimensions of a DimensionsReference.\n * @param {(HTMLElement|DimensionsReference)} node\n * @return {Dimensions}\n */\nexport function getDimensions(node) {\n\tif (\n\t\t!(node instanceof HTMLElement) &&\n\t\ttypeof node.getDimensions === 'function'\n\t) {\n\t\treturn node.getDimensions();\n\t}\n\tif (\n\t\tnode === window ||\n\t\tnode === document.documentElement ||\n\t\tnode === document.body\n\t) {\n\t\treturn {\n\t\t\ttop: 0,\n\t\t\tright: document.documentElement.clientWidth,\n\t\t\tbottom: document.documentElement.clientHeight,\n\t\t\tleft: 0,\n\t\t\twidth: document.documentElement.clientWidth,\n\t\t\theight: document.documentElement.clientHeight,\n\t\t\texisting: {\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0,\n\t\t\t},\n\t\t\tscroll: {\n\t\t\t\tblock: window.scrollY,\n\t\t\t\tinline: window.scrollX,\n\t\t\t\theight: document.documentElement.scrollHeight,\n\t\t\t\twidth: document.documentElement.scrollWidth,\n\t\t\t},\n\t\t};\n\t}\n\n\t// the fractional part of the getBoundingClientRect() values may cause\n\t// subtle differences to the rendered position after fit is run, which can\n\t// be pretty noticeable if we're constantly updating the fit position on\n\t// scroll. Rounding here helps to avoid this jitteriness.\n\tconst box = node.getBoundingClientRect();\n\tconst top = Math.round(box.top);\n\tconst right = Math.round(box.right);\n\tconst bottom = Math.round(box.bottom);\n\tconst left = Math.round(box.left);\n\tconst width = Math.ceil(box.width); // DEF0502291: Prefer larger width with fractional pixels to prevent characters from wrapping into next line.\n\tconst height = Math.round(box.height);\n\tconst {scrollWidth, scrollHeight, scrollTop, scrollLeft} = node;\n\tconst style = window.getComputedStyle(node);\n\treturn {\n\t\ttop,\n\t\tright,\n\t\tbottom,\n\t\tleft,\n\t\twidth,\n\t\theight,\n\t\texisting: {\n\t\t\ttop: parseInt(style.top, 10) || 0,\n\t\t\tleft: parseInt(style.left, 10) || 0,\n\t\t},\n\t\tscroll: {\n\t\t\t// scrollWidth/height might be smaller than the getBoundingClientRect\n\t\t\t// reported values because scrollWidth/height returns rounded, whole\n\t\t\t// numbers and getBoundingClientRect returns fractions. However, we treat\n\t\t\t// these scroll properties as the largest possible size that the node can\n\t\t\t// take up, so we want to guarantee that these properties are always at\n\t\t\t// least the size of the getBoundingClientRect width/height.\n\t\t\twidth: canScroll(style.overflowX) ? Math.max(scrollWidth, width) : width,\n\t\t\theight: canScroll(style.overflowY)\n\t\t\t\t? Math.max(scrollHeight, height)\n\t\t\t\t: height,\n\t\t\tblock: scrollTop,\n\t\t\tinline: scrollLeft,\n\t\t},\n\t};\n}\n","/**\n * Returns directional information for the given axis.\n * @param {(\"block\"|\"inline\")} axis - Axis that is being calculated (block for top/bottom, inline for left/right)\n * @return {{topOrLeft: string, bottomOrRight: string, widthOrHeight: string}}\n */\nexport default function getAxisInfo(axis) {\n\treturn {\n\t\ttopOrLeft: axis === 'block' ? 'top' : 'left',\n\t\tbottomOrRight: axis === 'block' ? 'bottom' : 'right',\n\t\twidthOrHeight: axis === 'block' ? 'height' : 'width',\n\t};\n}\n","import getAxisInfo from './get-axis-info';\n\n/**\n * Calculates either the height or width based on the target and content\n * position and dimensions.\n * @param {Dimensions} targetDimensions - Target dimensions object plus offsets\n * @param {Dimensions} contentDimensions - Content dimensions object\n * @param {Dimensions} containerDimensions - Container dimensions object\n * @param {(\"top\"|\"start\"|\"center\"|\"bottom\"|\"end\")} targetPosition - Logical target position\n * @param {(\"top\"|\"start\"|\"center\"|\"bottom\"|\"end\")} contentPosition - Logical content position\n * @param {(\"block\"|\"inline\")} axis - Axis that is being calculated (block for top/bottom, inline for left/right)\n * @return {number} - the calculated width or height of the content area\n */\nexport function calculateContentAreaLength(\n\ttargetDimensions,\n\tcontentDimensions,\n\tcontainerDimensions,\n\ttargetPosition,\n\tcontentPosition,\n\taxis,\n) {\n\tconst {topOrLeft, widthOrHeight} = getAxisInfo(axis);\n\n\t// edge case: if centered content is bigger than the container, we want\n\t// contentArea to fill the entire container.\n\tif (\n\t\tcontentPosition === 'center' &&\n\t\tcontentDimensions[widthOrHeight] >=\n\t\t\tcontainerDimensions.scroll[widthOrHeight]\n\t) {\n\t\treturn containerDimensions.scroll[widthOrHeight];\n\t}\n\n\tconst targetOffsetContainerTopOrLeft =\n\t\ttargetDimensions[topOrLeft] -\n\t\tcontainerDimensions[topOrLeft] +\n\t\tcontainerDimensions.scroll[axis];\n\n\t// Initial length is the distance between the top/left of the container and\n\t// the target\n\tlet length = targetOffsetContainerTopOrLeft;\n\n\t// Adjust a little bit based on the alignment of the target\n\tif (targetPosition === 'center') {\n\t\tlength += targetDimensions[widthOrHeight] / 2;\n\t} else if (targetPosition === 'bottom' || targetPosition === 'end') {\n\t\tlength += targetDimensions[widthOrHeight];\n\t}\n\n\t// For start/center positions, we want contentArea to grow down/right from\n\t// the target, so we really need whatever space is remaining compared to above\n\tif (\n\t\tcontentPosition === 'top' ||\n\t\tcontentPosition === 'start' ||\n\t\tcontentPosition === 'center'\n\t) {\n\t\tlength = containerDimensions.scroll[widthOrHeight] - length;\n\n\t\t// Centered is a little special: we want to keep 50% of the content on\n\t\t// either side of the target\n\t\tif (contentPosition === 'center') {\n\t\t\tlength += contentDimensions[widthOrHeight] / 2;\n\t\t}\n\t}\n\n\t// ensure contentArea is never bigger than the container, and is always\n\t// a whole number.\n\treturn Math.floor(\n\t\tMath.min(length, containerDimensions.scroll[widthOrHeight]),\n\t);\n}\n\n/**\n * Calculates either the top or left offset based on the target and content\n * positions and dimensions.\n * @param {Dimensions} targetDimensions - Target dimensions object plus offsets\n * @param {Dimensions} contentDimensions - Content dimensions object\n * @param {Dimensions} contentAreaDimensions - Content area dimensions object\n * @param {Dimensions} containerDimensions - Container dimensions object\n * @param {(\"top\"|\"start\"|\"center\"|\"bottom\"|\"end\")} targetPosition - Logical target position\n * @param {(\"top\"|\"start\"|\"center\"|\"bottom\"|\"end\")} contentPosition - Logical content position\n * @param {(\"block\"|\"inline\")} axis - Axis that is being calculated (block for top/bottom, inline for left/right)\n * @return {number} - the calculated offset top or left of the content area\n */\nexport function calculateContentAreaOffset(\n\ttargetDimensions,\n\tcontentDimensions,\n\tcontentAreaDimensions,\n\tcontainerDimensions,\n\ttargetPosition,\n\tcontentPosition,\n\taxis,\n) {\n\tconst {topOrLeft, widthOrHeight} = getAxisInfo(axis);\n\n\t// With absolute positioning, contentArea could start at any point inside the\n\t// container. Need to figure out the amount to shift the contentArea so that\n\t// it aligns to the container properly.\n\t//\n\t// Start by figuring out how to get the contentArea position to align\n\t// to the top/start of the container:\n\tlet calcOffset =\n\t\t// Start with container's current position\n\t\tcontainerDimensions[topOrLeft] -\n\t\t// Add the scrolling offset. Dimensions values are relative to the\n\t\t// viewport, which doesn't know about any scrolling offset introduced by an\n\t\t// overflow'able container.\n\t\tcontainerDimensions.scroll[axis];\n\n\t// If contentArea is already stretched to be as big as the container, then we don't\n\t// need to do any other adjusting.\n\tif (\n\t\tcontentAreaDimensions[widthOrHeight] <\n\t\tcontainerDimensions.scroll[widthOrHeight]\n\t) {\n\t\t// When content is top or start aligned, the content area starts at the\n\t\t// target position and grows towards the bottom/end of the container. Need\n\t\t// to increase the `calcOffset` by however much the target offset is.\n\t\t//\n\t\t// We'll skip over this adjustment in the case where content is bottom/end\n\t\t// aligned, because in these cases the contentArea starts at the top/start\n\t\t// point of the container, which we already figured out above.\n\t\tif (\n\t\t\tcontentPosition === 'top' ||\n\t\t\tcontentPosition === 'start' ||\n\t\t\tcontentPosition === 'center'\n\t\t) {\n\t\t\tcalcOffset +=\n\t\t\t\ttargetDimensions[topOrLeft] -\n\t\t\t\tcontainerDimensions[topOrLeft] +\n\t\t\t\tcontainerDimensions.scroll[axis];\n\n\t\t\t// Centered is a little special: we want to keep 50% of the content on\n\t\t\t// either side of the target\n\t\t\tif (contentPosition === 'center') {\n\t\t\t\tcalcOffset -= contentDimensions[widthOrHeight] / 2;\n\t\t\t}\n\n\t\t\t// Adjust a little bit based on the alignment of the target\n\t\t\tif (targetPosition === 'center') {\n\t\t\t\tcalcOffset += targetDimensions[widthOrHeight] / 2;\n\t\t\t} else if (targetPosition === 'bottom' || targetPosition === 'end') {\n\t\t\t\tcalcOffset += targetDimensions[widthOrHeight];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn Math.floor(calcOffset);\n}\n\n/**\n * Calculates a new dimensions object that describes the desired contentArea\n * size and position after it is placed relative to the target.\n * @param {Dimensions} targetDimensions - Target dimensions object plus offsets\n * @param {Dimensions} contentDimensions - Content dimensions object\n * @param {Dimensions} contentAreaDimensions - Content area dimensions object\n * @param {Dimensions} containerDimensions - Container dimensions object\n * @param {(\"top\"|\"start\"|\"center\"|\"bottom\"|\"end\")} targetPosition - Logical target position\n * @param {(\"top\"|\"start\"|\"center\"|\"bottom\"|\"end\")} contentPosition - Logical content position\n * @return {Dimensions} - a new content area dimensions object\n */\nexport default function calculateContentAreaDimensions(\n\ttargetDimensions,\n\tcontentDimensions,\n\tcontentAreaDimensions,\n\tcontainerDimensions,\n\ttargetPosition,\n\tcontentPosition,\n) {\n\tconst [targetPositionBlock, targetPositionInline] = targetPosition;\n\tconst [contentPositionBlock, contentPositionInline] = contentPosition;\n\n\tconst nextContentAreaDimensions = {...contentAreaDimensions};\n\tnextContentAreaDimensions.width = calculateContentAreaLength(\n\t\ttargetDimensions,\n\t\tcontentDimensions,\n\t\tcontainerDimensions,\n\t\ttargetPositionInline,\n\t\tcontentPositionInline,\n\t\t'inline',\n\t);\n\n\tnextContentAreaDimensions.height = calculateContentAreaLength(\n\t\ttargetDimensions,\n\t\tcontentDimensions,\n\t\tcontainerDimensions,\n\t\ttargetPositionBlock,\n\t\tcontentPositionBlock,\n\t\t'block',\n\t);\n\n\tnextContentAreaDimensions.left = calculateContentAreaOffset(\n\t\ttargetDimensions,\n\t\tcontentDimensions,\n\t\tnextContentAreaDimensions,\n\t\tcontainerDimensions,\n\t\ttargetPositionInline,\n\t\tcontentPositionInline,\n\t\t'inline',\n\t);\n\n\tnextContentAreaDimensions.top = calculateContentAreaOffset(\n\t\ttargetDimensions,\n\t\tcontentDimensions,\n\t\tnextContentAreaDimensions,\n\t\tcontainerDimensions,\n\t\ttargetPositionBlock,\n\t\tcontentPositionBlock,\n\t\t'block',\n\t);\n\n\tnextContentAreaDimensions.right =\n\t\tnextContentAreaDimensions.left + nextContentAreaDimensions.width;\n\tnextContentAreaDimensions.bottom =\n\t\tnextContentAreaDimensions.top + nextContentAreaDimensions.height;\n\n\treturn nextContentAreaDimensions;\n}\n","import getAxisInfo from './get-axis-info';\n\n/**\n * Calculates either the top or left coordinate for the content based on where\n * it would exist when placed in the new content area.\n * @param {Dimensions} contentDimensions - Content dimensions object\n * @param {Dimensions} contentAreaDimensions - Content area dimensions object\n * @param {(\"top\"|\"start\"|\"center\"|\"bottom\"|\"end\")} contentPosition - Logical content position\n * @param {(\"block\"|\"inline\")} axis - Axis that is being calculated (block for top/bottom, inline for left/right)\n * @return {number} - the calculated offset top or left of the content area\n */\nexport function calculateContentOffset(\n\tcontentDimensions,\n\tcontentAreaDimensions,\n\tcontentPosition,\n\taxis,\n) {\n\tconst {topOrLeft, bottomOrRight, widthOrHeight} = getAxisInfo(axis);\n\tif (\n\t\tcontentPosition === 'top' ||\n\t\tcontentPosition === 'start' ||\n\t\tcontentPosition === 'center'\n\t) {\n\t\treturn contentAreaDimensions[topOrLeft];\n\t}\n\n\treturn (\n\t\tcontentAreaDimensions[bottomOrRight] - contentDimensions[widthOrHeight]\n\t);\n}\n\n/**\n * Calculates a new content dimensions object that describes where\n * the content would be after being placed inside the (correctly-positioned)\n * content area.\n *\n * Note that these values aren't necessarily the final values where content is\n * going to be rendered. It is the point where content would be if there were\n * no other boundaries (from the viewport, container, or both). This is useful\n * later to determine how much of the content will be visible and rank this\n * position against others in `getBestFitInfo`.\n *\n * @param {Dimensions} contentDimensions - Content dimensions object\n * @param {Dimensions} contentAreaDimensions - Content area dimensions object\n * @param {(\"top\"|\"start\"|\"center\"|\"bottom\"|\"end\")} contentPosition - Logical content position\n * @param {(\"block\"|\"inline\")} axis - Axis that is being calculated (block for top/bottom, inline for left/right)\n * @return {Dimensions} - the updated content dimensions object as if it were placed\n * in a correctly-positioned contentArea and not bounded by any other containing object.\n */\nexport default function calculateContentDimensions(\n\tcontentDimensions,\n\tcontentAreaDimensions,\n\tcontentPosition,\n) {\n\tconst [contentPositionBlock, contentPositionInline] = contentPosition;\n\n\tconst nextContentDimensions = {...contentDimensions};\n\n\tnextContentDimensions.top = calculateContentOffset(\n\t\tcontentDimensions,\n\t\tcontentAreaDimensions,\n\t\tcontentPositionBlock,\n\t\t'block',\n\t);\n\n\tnextContentDimensions.left = calculateContentOffset(\n\t\tcontentDimensions,\n\t\tcontentAreaDimensions,\n\t\tcontentPositionInline,\n\t\t'inline',\n\t);\n\n\tnextContentDimensions.bottom =\n\t\tnextContentDimensions.top + contentDimensions.height;\n\tnextContentDimensions.right =\n\t\tnextContentDimensions.left + contentDimensions.width;\n\n\treturn nextContentDimensions;\n}\n","/**\n * Calculates constrain styles based on developer-specified configuration.\n */\nexport function getConstrainStyles(constrain) {\n\treturn Object.entries(constrain).reduce((result, [key, value]) => {\n\t\tresult[key] = `${value}px`;\n\t\treturn result;\n\t}, {});\n}\n\n/**\n * Calculates and returns styles to be applied to the content.\n * @param {Object} contentStyles - Other content styles to apply\n * @param {Object} contentPosition - position of content\n * @return {Object}\n */\nexport function addCSSProperties(contentStyles, contentPosition) {\n\tconst isBottomAligned = contentPosition[0] === 'bottom';\n\tconst isEndAligned = contentPosition[1] === 'end';\n\n\treturn {\n\t\t...contentStyles,\n\t\ttop: isBottomAligned ? 'unset' : '0px',\n\t\tbottom: isBottomAligned ? '0px' : 'unset',\n\t\tleft: isEndAligned ? 'unset' : '0px',\n\t\tright: isEndAligned ? '0px' : 'unset',\n\t\tposition: 'absolute',\n\t\tpointerEvents: 'initial',\n\t};\n}\n\n/**\n * Calculates and returns styles to be applied to the content.\n * @param {Position} contentPosition - Logical position for the content\n * @param {Constrain} constrain - normalized contrain configuration object\n * @return {Object} a set of CSS properties that should be applied to the\n * content element.\n */\nexport default function calculateContentStyles(contentPosition, constrain) {\n\tconst contentStyles = getConstrainStyles(constrain);\n\treturn addCSSProperties(contentStyles, contentPosition);\n}\n","/**\n * Restricts the content dimensions to the given bounding dimensions object\n * and returns both the ratio of overlap and the new dimensions.\n *\n * @param {Dimensions} contentDimensions - Content dimensions object\n * @param {Dimensions} boundingDimensions - container dimensions or viewport dimensions, depending\n * on which bounding element to compare to.\n * @returns {{ratio: number, dimensions: Dimensions}}\n */\nexport function restrictToBoundingBox(contentDimensions, boundingDimensions) {\n\tconst fullyVisible =\n\t\tcontentDimensions.top >= boundingDimensions.top &&\n\t\tcontentDimensions.right <= boundingDimensions.right &&\n\t\tcontentDimensions.bottom <= boundingDimensions.bottom &&\n\t\tcontentDimensions.left >= boundingDimensions.left;\n\n\tif (fullyVisible) {\n\t\treturn {\n\t\t\tratio: 1,\n\t\t\tdimensions: contentDimensions,\n\t\t};\n\t}\n\n\tconst visibleDimensions = {\n\t\t...contentDimensions,\n\t\tleft: Math.max(contentDimensions.left, boundingDimensions.left),\n\t\tright: Math.min(contentDimensions.right, boundingDimensions.right),\n\t\tbottom: Math.min(contentDimensions.bottom, boundingDimensions.bottom),\n\t\ttop: Math.max(contentDimensions.top, boundingDimensions.top),\n\t};\n\n\tvisibleDimensions.width = visibleDimensions.right - visibleDimensions.left;\n\tvisibleDimensions.height = visibleDimensions.bottom - visibleDimensions.top;\n\tconst actualArea = visibleDimensions.width * visibleDimensions.height;\n\tconst wantedArea = contentDimensions.width * contentDimensions.height;\n\n\treturn {\n\t\tratio: actualArea / wantedArea,\n\t\tdimensions: visibleDimensions,\n\t};\n}\n\n/**\n * Calculates how much of the content would actually be viewable for the\n * given container and viewport.\n *\n * @param {Dimensions} contentDimensions - Content dimensions object\n * @param {Dimensions} containerDimensions - Container dimensions object\n * @param {Dimensions} viewportDimensions - Viewport dimensions object\n *\n * @typedef {Object} Overlap an object describing how much the content overlaps\n * with other boundary containers\n * @param {object} overlapRatios Object containing overlap ratios for the\n * container and viewport.\n * @param {number} overlapRatios.container The ratio of content that overlaps with the\n * container element. If the content completely fits in the container, this\n * value will be `1`. If the content falls off the container, this value will\n * be between 0 and 1.\n * @param {number} overlapRatios.viewport The ratio of content that overlaps with the\n * viewport element. If the content completely fits in the viewport, this\n * value will be `1`. If the content falls off the container, this value will\n * be between 0 and 1.\n * @param {Dimensions} visibleContentDimensions Updated content dimensions that\n * are bounded by the container. If the content fits completely in the container,\n * these dimensions will be identical to the original content dimensions. If the content\n * falls out of the container, then this dimensions object will be the overlap between\n * the content and the container.\n * @return {Overlap}\n */\nexport default function calculateOverlap(\n\tcontentDimensions,\n\tcontentAreaDimensions,\n\tviewportDimensions,\n) {\n\tconst contentInContainer = restrictToBoundingBox(\n\t\tcontentDimensions,\n\t\tcontentAreaDimensions,\n\t);\n\tconst contentInViewport = restrictToBoundingBox(\n\t\tcontentDimensions,\n\t\tviewportDimensions,\n\t);\n\n\treturn {\n\t\toverlapRatios: {\n\t\t\tcontainer: contentInContainer.ratio,\n\t\t\tviewport: contentInViewport.ratio,\n\t\t},\n\t\tvisibleContentDimensions: contentInContainer.dimensions,\n\t};\n}\n","import toSizeValue from './to-size-value';\n\n/**\n * Returns the dimension direction for a given constrain\n * key.\n * @returns {(\"width\"|\"height\"|null)} returns \"width\" for width-related keys,\n * \"height\" for height-related keys, and null for any invalid key\n */\nexport function getDimensionForConstrainKey(key) {\n\tif (['width', 'minWidth', 'maxWidth'].includes(key)) {\n\t\treturn 'width';\n\t}\n\n\tif (['height', 'minHeight', 'maxHeight'].includes(key)) {\n\t\treturn 'height';\n\t}\n\n\treturn null;\n}\n\n/**\n * Normalizes a constrain configuration by mapping all special keywords\n * (`auto`, `target`), etc to resolved numerical values. Also drops\n * any property keys that are not valid\n *\n * @param {Constrain} constrain - constrain object before normalization\n * @param {Dimensions} targetDimensions - target dimensions object\n * @param {Dimensions} contentDimensions - content dimensions object\n */\nexport function normalizeConstrain(\n\tconstrain,\n\ttargetDimensions,\n\tcontentDimensions,\n) {\n\treturn Object.entries(constrain).reduce((result, [key, constraint]) => {\n\t\tconst widthOrHeight = getDimensionForConstrainKey(key);\n\t\tif (widthOrHeight) {\n\t\t\tresult[key] = toSizeValue(\n\t\t\t\tcontentDimensions.scroll[widthOrHeight],\n\t\t\t\ttargetDimensions[widthOrHeight],\n\t\t\t\tconstraint,\n\t\t\t);\n\t\t}\n\n\t\treturn result;\n\t}, {});\n}\n\n/**\n * Returns a new dimensions object with the constrain values applied.\n *\n * @param {Constrain} normalizedConstrain - constrain object after normalization\n * @param {Dimensions} dimensions - dimensions object to apply constrain to\n */\nexport function applyConstrain(normalizedConstrain, dimensions) {\n\tconst newDimensions = Object.entries(normalizedConstrain).reduce(\n\t\t(result, [key, value]) => {\n\t\t\tconst widthOrHeight = getDimensionForConstrainKey(key);\n\t\t\tif (key.startsWith('min')) {\n\t\t\t\tresult[widthOrHeight] = Math.max(dimensions[widthOrHeight], value);\n\t\t\t} else if (key.startsWith('max')) {\n\t\t\t\tresult[widthOrHeight] = Math.min(dimensions[widthOrHeight], value);\n\t\t\t} else {\n\t\t\t\tresult[widthOrHeight] = value;\n\t\t\t}\n\n\t\t\treturn result;\n\t\t},\n\t\t{...dimensions},\n\t);\n\n\tnewDimensions.bottom = newDimensions.top + newDimensions.height;\n\tnewDimensions.right = newDimensions.left + newDimensions.width;\n\n\treturn newDimensions;\n}\n","/**\n * Calculates special values of `constrain`\n */\nexport default function toSizeValue(contentValue, targetValue, constrainValue) {\n\tif (constrainValue === 'auto') {\n\t\treturn contentValue;\n\t}\n\tif (constrainValue === 'target') {\n\t\treturn targetValue;\n\t}\n\tif (typeof constrainValue === 'number') {\n\t\treturn constrainValue;\n\t}\n\tthrow new Error('Sizing value is not valid');\n}\n","import calculateContentAreaDimensions from './content-area';\nimport calculateContentAreaStyles from './content-area-styles';\nimport calculateContentDimensions from './content';\nimport calculateContentStyles from './content-styles';\nimport calculateOverlap from './overlap';\nimport {normalizeConstrain, applyConstrain} from './constrain';\n\n/**\n * Offset used to take an array of 6 values.\n * If someone passes in 6 values we will take the last four and apply them to the normOffset.\n * The functionality of this has not changed from V1.\n * We not longer support the first two values of the 6 value array. They didn't work as intended.\n * Instead we will convert the old two values to our new one value.\n */\nconst makeOffsetBackwardsCompatible = (offset) => {\n\tif (offset.length === 6) {\n\t\treturn offset.slice(2, 6);\n\t} else {\n\t\treturn offset.find((element) => element > 0);\n\t}\n};\n\n/**\n * Normalizes the offset format into `[top, end, bottom, start]`\n */\nconst normalizeOffset = (offset, targetPosition, contentPosition) => {\n\tlet value = offset;\n\tif (Array.isArray(offset)) {\n\t\tconst backwardCompatibleOffset = makeOffsetBackwardsCompatible(offset);\n\t\tif (Array.isArray(backwardCompatibleOffset)) {\n\t\t\treturn backwardCompatibleOffset;\n\t\t} else value = backwardCompatibleOffset;\n\t}\n\n\tlet calcOffset = [value, value, value, value];\n\tif (targetPosition[0] === contentPosition[0]) {\n\t\tcalcOffset[0] = 0;\n\t\tcalcOffset[2] = 0;\n\t}\n\tif (targetPosition[1] === contentPosition[1]) {\n\t\tcalcOffset[1] = 0;\n\t\tcalcOffset[3] = 0;\n\t}\n\treturn calcOffset;\n};\n\n/**\n * Adds the offset to the target dimensions for positioning\n * @param {Dimensions} targetDimensions - Target dimensions\n * @param {Array<number>} normOffset - normalized offset into `[top, right, bottom, left]` format\n * @returns {Dimensions} - new dimensions with the normalized offset added in\n */\nfunction addOffsetPaddingToDimensions(targetDimensions, normOffset) {\n\tconst [top = 0, right = 0, bottom = 0, left = 0] = normOffset;\n\treturn {\n\t\t...targetDimensions,\n\t\ttop: targetDimensions.top - top,\n\t\tright: targetDimensions.right + right,\n\t\tbottom: targetDimensions.bottom + bottom,\n\t\tleft: targetDimensions.left - left,\n\t\twidth: targetDimensions.width + left + right,\n\t\theight: targetDimensions.height + top + bottom,\n\t};\n}\n\n/**\n * Calculates dimensions for the content area and position of the content.\n * Returns the styles for the content area and the content, as well as a ratio\n * of how much of the content has been adjusted and/or is hidden by scrolling.\n * @param {Dimensions} targetDimensions - Target dimensions object\n * @param {Dimensions} contentDimensions - Content dimensions object\n * @param {Dimensions} contentAreaDimensions - Content area dimensions object\n * @param {Dimensions} containerDimensions - Container dimensions object\n * @param {Dimensions} viewportDimensions - Viewport dimensions object\n * @param {Origin[]} targetPosition\n * @param {Origin[]} contentPosition\n * @param {number} offset - Amount to offset content from the target\n * @param {Constrain} constrain - Constrain configuration\n */\nexport default function calculateFit(\n\ttargetDimensions,\n\tcontentDimensions,\n\tcontentAreaDimensions,\n\tcontainerDimensions,\n\tviewportDimensions,\n\ttargetPosition,\n\tcontentPosition,\n\toffset,\n\tconstrain,\n) {\n\tconst normOffset = normalizeOffset(offset, targetPosition, contentPosition);\n\tconst normConstrain = normalizeConstrain(\n\t\tconstrain,\n\t\ttargetDimensions,\n\t\tcontentDimensions,\n\t);\n\n\tconst constrainedContentDimensions = applyConstrain(\n\t\tnormConstrain,\n\t\tcontentDimensions,\n\t);\n\n\tconst paddedTargetDimensions = addOffsetPaddingToDimensions(\n\t\ttargetDimensions,\n\t\tnormOffset,\n\t);\n\n\tconst nextContentAreaDimensions = calculateContentAreaDimensions(\n\t\tpaddedTargetDimensions,\n\t\tconstrainedContentDimensions,\n\t\tcontentAreaDimensions,\n\t\tcontainerDimensions,\n\t\ttargetPosition,\n\t\tcontentPosition,\n\t);\n\n\t// updated content dimensions and overlap is only used to determine how much\n\t// of the content is actually going to be visible. We'll compare these values\n\t// when determining the best fit. These values are not necessary to calculate\n\t// the final CSS for the content element.\n\n\tconst nextContentDimensions = calculateContentDimensions(\n\t\tconstrainedContentDimensions,\n\t\tnextContentAreaDimensions,\n\t\tcontentPosition,\n\t);\n\n\tconst {visibleContentDimensions, overlapRatios} = calculateOverlap(\n\t\tnextContentDimensions,\n\t\tnextContentAreaDimensions,\n\t\tviewportDimensions,\n\t);\n\n\tconst contentAreaStyles = calculateContentAreaStyles(\n\t\tcontentAreaDimensions,\n\t\tnextContentAreaDimensions,\n\t);\n\tconst contentStyles = calculateContentStyles(contentPosition, normConstrain);\n\n\treturn {\n\t\tstyle: {\n\t\t\tcontentArea: contentAreaStyles,\n\t\t\tcontent: contentStyles,\n\t\t},\n\t\tdimensions: {\n\t\t\ttarget: targetDimensions,\n\t\t\tcontent: visibleContentDimensions,\n\t\t\tcontentArea: nextContentAreaDimensions,\n\t\t\tcontainer: containerDimensions,\n\t\t},\n\t\toverlapRatios,\n\t\ttargetPosition,\n\t\tcontentPosition,\n\t};\n}\n","/**\n * Creates an object of CSS properties to be applied to the contentArea element\n * @param {Dimensions} contentAreaDimensions - the current contentArea dimensions object,\n * before any fit calculations have been applied.\n * @param {Dimensions} nextContentAreaDimensions - the new contentArea dimensions object,\n * after all fit calculations have been applied.\n * @returns {Object} CSS properties that should be applied to contentArea.\n */\nexport default function calculateContentAreaStyles(\n\tcontentAreaDimensions,\n\tnextContentAreaDimensions,\n) {\n\t// determine the distance we need to move the old contentArea to correctly\n\t// match the new contentArea. Since we're going to be setting these as inline\n\t// styles, we need to make sure we also consider any existing inline style\n\t// values for top and left, as these will get overwritten:\n\t//\n\t//\tExample, if we have the following, relative to the top of the page:\n\t//\n\t//\t\t<div id=\"content-area\" style=\"top: 20px; left: 20px\" />\n\t//\n\t//  And we want to position this contentArea to start at point (30, 30),\n\t//  our dimensions objects look like:\n\t//\n\t//\t\t    contentAreaDimensions = { top: 20, left: 20 };\n\t//\t\tnextContentAreaDimensions = { top: 30, left: 30 };\n\t//\n\t//  If we don't account for the existing inline styles, we would assume that\n\t//  we only need to move the contentArea 10px top and left, so we'd result\n\t//  in:\n\t//\n\t//\t\t<div id=\"content-area\" style=\"top: 10px; left: 10px\" />\n\t//\n\t//\twhich is not correct. We need to make sure we also factor in the existing\n\t//\t20px top/left that the contentArea started with. These values are tracked\n\t//\tin the `existing` property of a dimensions object:\n\tconst top =\n\t\tnextContentAreaDimensions.top -\n\t\tcontentAreaDimensions.top +\n\t\tcontentAreaDimensions.existing.top;\n\tconst left =\n\t\tnextContentAreaDimensions.left -\n\t\tcontentAreaDimensions.left +\n\t\tcontentAreaDimensions.existing.left;\n\treturn {\n\t\ttop: `${top}px`,\n\t\tleft: `${left}px`,\n\t\twidth: `${nextContentAreaDimensions.width}px`,\n\t\theight: `${nextContentAreaDimensions.height}px`,\n\t\tposition: 'absolute',\n\t\tpointerEvents: 'none',\n\t};\n}\n","import {getDimensions, cacheDimensions} from './dimensions';\nimport calculateFit from './calculate-fit';\n\nexport function sortCandidates(a, b) {\n\tconst viewportOverlapDifference =\n\t\tb.overlapRatios.viewport - a.overlapRatios.viewport;\n\n\t// first priority is to pick the position that fits the most content within\n\t// the viewport: we want the content to be immediately visible. If multiple\n\t// positions can fit the same amount of content in the viewport, then as a\n\t// tie-breaker we'll use the position that fits more within the container (to\n\t// minimize how much scrolling of the content is necessary).\n\tif (viewportOverlapDifference === 0) {\n\t\tconst containerOverlapDifference =\n\t\t\tb.overlapRatios.container - a.overlapRatios.container;\n\n\t\treturn containerOverlapDifference;\n\t}\n\n\treturn viewportOverlapDifference;\n}\n\n/**\n * Calculates the fit styles for the content with only one possible position.\n * @param {HTMLElement} target - Reference to element the content is positioned beside\n * @param {HTMLElement} content - Reference to positioned element\n * @param {HTMLElement} [container=window] - Reference to element content should fit within\n * @param {string[][]} - Desired position of content relative to target, e.g. [[\"top\", \"start\"], [\"bottom\", \"end\"]]\n * @param {number} [offset=0] - Amount to offset content from the target\n * @param {{height: number, width: number, minHeight: number, maxHeight: number, minWidth: number, maxWidth: number}} constrain - Constrains or sets the size of the content\n * @return {FitInfo}\n */\nexport function getFitInfo({\n\ttarget,\n\tcontent,\n\tcontentArea,\n\tcontainer = window,\n\tviewport = window,\n\tposition,\n\toffset = 0,\n\tconstrain = {},\n}) {\n\tconst targetDimensions = getDimensions(target);\n\tconst contentDimensions = getDimensions(content);\n\tconst containerDimensions = getDimensions(container);\n\tconst contentAreaDimensions = getDimensions(contentArea);\n\tconst viewportDimensions = getDimensions(viewport);\n\tconst [targetPosition, contentPosition] = position;\n\treturn calculateFit(\n\t\ttargetDimensions,\n\t\tcontentDimensions,\n\t\tcontentAreaDimensions,\n\t\tcontainerDimensions,\n\t\tviewportDimensions,\n\t\ttargetPosition,\n\t\tcontentPosition,\n\t\toffset,\n\t\tconstrain,\n\t);\n}\n\n/**\n * Calculates the best fit styles for the content based on multiple possible\n * positions. Returns the fit info for the first position that completely fits.\n * If no position completely fits, returns the position that fits the most.\n * @param {HTMLElement} target - Reference to element the content is positioned beside\n * @param {HTMLElement} content - Reference to positioned element\n * @param {HTMLElement} [container=window] - Reference to element content should fit within\n * @param {string[][][]}- Desired positions of content relative to target in order of preferences, e.g. [[[\"bottom\", \"start\"],[\"top\", \"start\"]], [[\"top\", \"start\"], [\"bottom\", \"start\"]]]\n * @param {number} [offset=0] - Amount to offset content from the target\n * @param {{height: number, width: number, minHeight: number, maxHeight: number, minWidth: number, maxWidth: number}} constrain - Constrains or sets the size of the content\n * @return {FitInfo}\n */\nexport function getBestFitInfo({\n\ttarget,\n\tcontent,\n\tcontentArea,\n\tcontainer = window,\n\tviewport = window,\n\tpositions,\n\toffset = 0,\n\tconstrain = {},\n}) {\n\tconst targetDimensions = cacheDimensions(getDimensions(target));\n\tconst contentDimensions = cacheDimensions(getDimensions(content));\n\tconst contentAreaDimensions = cacheDimensions(getDimensions(contentArea));\n\tconst containerDimensions = cacheDimensions(getDimensions(container));\n\tconst viewportDimensions = cacheDimensions(getDimensions(viewport));\n\tconst candidates = [];\n\tfor (const pos of positions) {\n\t\tconst info = getFitInfo({\n\t\t\ttarget: targetDimensions,\n\t\t\tcontent: contentDimensions,\n\t\t\tcontainer: containerDimensions,\n\t\t\tcontentArea: contentAreaDimensions,\n\t\t\tviewport: viewportDimensions,\n\t\t\tposition: pos,\n\t\t\toffset,\n\t\t\tconstrain,\n\t\t});\n\n\t\t// Entire content fits in this position, no need to try other options\n\t\tif (\n\t\t\tinfo.overlapRatios.container === 1 &&\n\t\t\tinfo.overlapRatios.viewport === 1\n\t\t) {\n\t\t\treturn info;\n\t\t}\n\n\t\tcandidates.push(info);\n\t}\n\n\t/* Sort to find highest visible ratio, aka the one that fits the most content */\n\tcandidates.sort(sortCandidates);\n\n\treturn candidates[0];\n}\n","const normalizeOrigin = (origin, dir) =>\n\torigin\n\t\t.replace(/-(start|end|left|right)$/, (match, group) => {\n\t\t\tconst isStart = group === 'start' || group === 'left';\n\n\t\t\tif (dir === 'rtl') {\n\t\t\t\treturn isStart ? '-end' : '-start';\n\t\t\t}\n\n\t\t\treturn isStart ? '-start' : '-end';\n\t\t})\n\t\t.split('-');\n\nconst toMatchingOrigin = ([vertical, horizontal]) => {\n\t// If vertical is center, flip the horizontal position\n\tif (vertical === 'center') {\n\t\treturn horizontal === 'start' ? ['center', 'end'] : ['center', 'start'];\n\t}\n\t// Otherwise flip the vertical position\n\treturn vertical === 'top' ? ['bottom', horizontal] : ['top', horizontal];\n};\n\nconst RE_POSITION_LONG =\n\t/^(top|bottom|center)-(left|right|start|end|center) (top|bottom|center)-(left|right|start|end|center)$/;\nconst RE_POSITION_SHORT = /^(top|bottom|center)-(left|right|start|end|center)$/;\n\n/**\n * Normalizes a position based on the following rules:\n * - if a position shorthand is provided, expands it to the full position (e.g. \"bottom-start\" > \"bottom-start top-start\")\n * - normalizes direction-specific inline properties to logical properties (e.g. \"bottom-right top-left\" > \"bottom-end top-start\")\n * - splits the normalized position into two arrays of origins (e.g. \"bottom-end top-start\" > [[\"bottom\", \"end\"], [\"top\", \"start\"]])\n * @param {string} position - Shorthand position (\"bottom-start\") or full position (\"bottom-right top-left\")\n * @return {Array<Origin[]>}\n */\nexport default function normalizePosition(position, dir) {\n\tif (RE_POSITION_LONG.test(position)) {\n\t\tconst [targetOrigin, contentOrigin] = position.split(' ');\n\t\treturn [\n\t\t\tnormalizeOrigin(targetOrigin, dir),\n\t\t\tnormalizeOrigin(contentOrigin, dir),\n\t\t];\n\t}\n\tif (RE_POSITION_SHORT.test(position)) {\n\t\tconst targetOrigin = normalizeOrigin(position, dir);\n\t\tconst contentOrigin = toMatchingOrigin(targetOrigin);\n\t\treturn [targetOrigin, contentOrigin];\n\t}\n\tthrow new Error(`${position} is not a valid position`);\n}\n","import isEmpty from 'lodash/isEmpty';\nimport isString from 'lodash/isString';\nimport isNumber from 'lodash/isNumber';\nimport isArray from 'lodash/isArray';\nimport mapValues from 'lodash/mapValues';\nimport normalizePosition from './fit/normalize-position';\n\nfunction positionToFitShorthand(position) {\n\tif (isString(position)) {\n\t\treturn position;\n\t}\n\n\tconst target = position.trigger || position.target;\n\tif (position.content) {\n\t\treturn `${target} ${position.content}`;\n\t}\n\n\treturn target;\n}\n\n/**\n * Popovers with tails default to centered positions.\n * Popovers without tails default to being aligned on some axis.\n */\nfunction resolvePosition(hideTail, positions, dir) {\n\t// Always prefer the positions provided by the consumer\n\tif (Array.isArray(positions) && !isEmpty(positions)) {\n\t\tpositions = positions.map(positionToFitShorthand);\n\t} else {\n\t\tpositions = hideTail\n\t\t\t? [\n\t\t\t\t\t'bottom-start top-start',\n\t\t\t\t\t'bottom-end top-end',\n\n\t\t\t\t\t'top-start bottom-start',\n\t\t\t\t\t'top-end bottom-end',\n\n\t\t\t\t\t'top-end top-start',\n\t\t\t\t\t'bottom-end bottom-start',\n\n\t\t\t\t\t'top-start top-end',\n\t\t\t\t\t'bottom-start bottom-end',\n\t\t\t\t]\n\t\t\t: [\n\t\t\t\t\t'top-center bottom-center',\n\t\t\t\t\t'bottom-center top-center',\n\t\t\t\t\t'center-end center-start',\n\t\t\t\t\t'center-start center-end',\n\t\t\t\t];\n\t}\n\n\treturn positions.map((position) => normalizePosition(position, dir));\n}\n\nfunction resolveOffset(hideTail, offset) {\n\tif (isNumber(offset) || isArray(offset)) {\n\t\treturn offset;\n\t}\n\treturn hideTail ? 0 : 12;\n}\n\nfunction resolveConstrain(constrain) {\n\treturn mapValues(constrain, (value) =>\n\t\tvalue === 'trigger' ? 'target' : value,\n\t);\n}\n\n/**\n * Compute properties that are important for fit, based on both the properties\n * that are passed in to the component and sane defaults which are different\n * whether or not we're rendering a tail.\n */\nexport function resolveFitProperties({\n\thideTail,\n\tpositions,\n\tconstrain,\n\toffset,\n\tdir,\n}) {\n\treturn {\n\t\tpositions: resolvePosition(hideTail, positions, dir),\n\t\toffset: resolveOffset(hideTail, offset),\n\t\tconstrain: resolveConstrain(constrain),\n\t};\n}\n","export const ariaLivePoliteness = {POLITE: 'polite', ASSERTIVE: 'assertive'};\n","export const isDesktopSafari = () =>\n\t/Version\\/([0-9._]+).*Safari/.test(navigator.userAgent);\n","export const getColumnStyles = (columns) => {\n\tif (columns?.length < 3) return {};\n\tconst customColumn = columns?.map((c) => `minmax(0, ${c})`)?.join(' ') ?? '';\n\treturn customColumn ? {'grid-template-columns': customColumn} : {};\n};\n","import {getEmbeddableBaseUrl} from '@servicenow/ui-config';\n\n/**\n * Given a URL, determines if the URL is relative or absolute.\n * If relative, uses the Seismic Config object to fetch the base URL and prepend it.\n * @param {string} url\n * @returns {string}\n */\nexport const toEmbeddableUrl = (url) => {\n\tif (url.indexOf('://') > 0 || url.indexOf('//') === 0) {\n\t\treturn url;\n\t}\n\tlet baseUrl = getEmbeddableBaseUrl();\n\tif (!baseUrl) {\n\t\treturn url;\n\t}\n\t// Try to avoid `//` problems\n\tif (url.indexOf('/') === 0) {\n\t\turl = url.substring(1);\n\t}\n\tif (baseUrl.lastIndexOf('/') === baseUrl.length - 1) {\n\t\tbaseUrl = baseUrl.substring(0, baseUrl.length - 1);\n\t}\n\treturn `${baseUrl}/${url}`;\n};\n","/**\n * The MIT License (MIT)\n * Copyright (c) 2015 Jonathan Ong me@jongleberry.com\n * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * https://github.com/component/textarea-caret-position/blob/master/index.js\n */\n\n// We'll copy the properties below into the mirror div.\n// Note that some browsers, such as Firefox, do not concatenate properties\n// into their shorthand (e.g. padding-top, padding-bottom etc. -> padding),\n// so we have to list every single property explicitly.\nvar properties = [\n\t'direction', // RTL support\n\t'boxSizing',\n\t'width', // on Chrome and IE, exclude the scrollbar, so the mirror div wraps exactly as the textarea does\n\t'height',\n\t'overflowX',\n\t'overflowY', // copy the scrollbar for IE\n\n\t'borderTopWidth',\n\t'borderRightWidth',\n\t'borderBottomWidth',\n\t'borderLeftWidth',\n\t'borderStyle',\n\n\t'paddingTop',\n\t'paddingRight',\n\t'paddingBottom',\n\t'paddingLeft',\n\n\t// https://developer.mozilla.org/en-US/docs/Web/CSS/font\n\t'fontStyle',\n\t'fontVariant',\n\t'fontWeight',\n\t'fontStretch',\n\t'fontSize',\n\t'fontSizeAdjust',\n\t'lineHeight',\n\t'fontFamily',\n\n\t'textAlign',\n\t'textTransform',\n\t'textIndent',\n\t'textDecoration', // might not make a difference, but better be safe\n\n\t'letterSpacing',\n\t'wordSpacing',\n\n\t'tabSize',\n\t'MozTabSize',\n];\n\nvar isBrowser = typeof window !== 'undefined';\n// var isFirefox = isBrowser && window.mozInnerScreenX != null;\n\nexport const getCaretCoordinates = (element, position, options) => {\n\tif (!isBrowser) {\n\t\tthrow new Error(\n\t\t\t'textarea-caret-position#getCaretCoordinates should only be called in a browser',\n\t\t);\n\t}\n\n\tvar debug = (options && options.debug) || false;\n\tif (debug) {\n\t\tvar el = document.querySelector(\n\t\t\t'#input-textarea-caret-position-mirror-div',\n\t\t);\n\t\tif (el) el.parentNode.removeChild(el);\n\t}\n\n\t// The mirror div will replicate the textarea's style\n\tvar div = document.createElement('div');\n\tdiv.id = 'input-textarea-caret-position-mirror-div';\n\tdocument.body.appendChild(div);\n\n\tvar style = div.style;\n\tvar computed = window.getComputedStyle\n\t\t? window.getComputedStyle(element)\n\t\t: element.currentStyle; // currentStyle for IE < 9\n\tvar isInput = element.nodeName === 'INPUT';\n\n\t// Default textarea styles\n\tstyle.whiteSpace = 'pre-wrap';\n\tif (!isInput) style.wordWrap = 'break-word'; // only for textarea-s\n\tif (isInput) style.whiteSpace = 'nowrap'; // only for inputs\n\n\t// Position off-screen\n\tstyle.position = 'absolute'; // required to return coordinates properly\n\tif (!debug) style.visibility = 'hidden'; // not 'display: none' because we want rendering\n\n\t// Transfer the element's properties to the div\n\tproperties.forEach(function (prop) {\n\t\tif (isInput && prop === 'lineHeight') {\n\t\t\t// Special case for <input>s because text is rendered centered and line height may be != height\n\t\t\tif (computed.boxSizing === 'border-box') {\n\t\t\t\tvar height = parseInt(computed.height);\n\t\t\t\tvar outerHeight =\n\t\t\t\t\tparseInt(computed.paddingTop) +\n\t\t\t\t\tparseInt(computed.paddingBottom) +\n\t\t\t\t\tparseInt(computed.borderTopWidth) +\n\t\t\t\t\tparseInt(computed.borderBottomWidth);\n\t\t\t\tvar targetHeight = outerHeight + parseInt(computed.lineHeight);\n\t\t\t\tif (height > targetHeight) {\n\t\t\t\t\tstyle.lineHeight = height - outerHeight + 'px';\n\t\t\t\t} else if (height === targetHeight) {\n\t\t\t\t\tstyle.lineHeight = computed.lineHeight;\n\t\t\t\t} else {\n\t\t\t\t\tstyle.lineHeight = 0;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tstyle.lineHeight = computed.height;\n\t\t\t}\n\t\t} else {\n\t\t\tstyle[prop] = computed[prop];\n\t\t}\n\t});\n\n\tstyle.overflow = computed.overflow;\n\tdiv.dir = 'ltr';\n\tdiv.textContent = element.value.substring(0, position);\n\t// The second special handling for input type=\"text\" vs textarea:\n\t// spaces need to be replaced with non-breaking spaces - http://stackoverflow.com/a/13402035/1269037\n\t// TODO: there's still a bug here, the positioning gets off if contents contain newlines [Randy]\n\tif (isInput) div.textContent = div.textContent.replace(/\\s/g, '\\u00a0');\n\n\tvar span = document.createElement('span');\n\t// Wrapping must be replicated *exactly*, including when a long word gets\n\t// onto the next line, with whitespace at the end of the line before (#7).\n\t// The  *only* reliable way to do that is to copy the *entire* rest of the\n\t// textarea's content into the <span> created at the caret position.\n\t// For inputs, just '.' would be enough, but no need to bother.\n\tspan.textContent = element.value.substring(position) || '.'; // || because a completely empty faux span doesn't render at all\n\tdiv.appendChild(span);\n\n\tvar coordinates = {\n\t\ttop: span.offsetTop + parseInt(computed['borderTopWidth']),\n\t\tinline:\n\t\t\tdocument.dir === 'rtl'\n\t\t\t\t? Math.abs(span.offsetLeft - span.offsetParent.offsetWidth) +\n\t\t\t\t\tparseInt(computed['borderRightWidth'])\n\t\t\t\t: span.offsetLeft + parseInt(computed['borderLeftWidth']),\n\t\theight: parseInt(computed['lineHeight']),\n\t};\n\n\tif (debug) {\n\t\tconsole.log(coordinates);\n\t\tspan.style.backgroundColor = '#aaa';\n\t} else {\n\t\tdocument.body.removeChild(div);\n\t}\n\n\treturn coordinates;\n};\n","export const sanitizeHref = (href) => {\n\tconst normalizedHref = href.trim().toLowerCase();\n\tif (\n\t\tnormalizedHref === 'javascript:void(0)' ||\n\t\tnormalizedHref === 'javascript:void(0);'\n\t) {\n\t\treturn href;\n\t}\n\tconst a = document.createElement('a');\n\ta.href = href;\n\treturn a.protocol === 'javascript:' ? undefined : href;\n};\n","export {isDirectionalKey, isNextKey, isPreviousKey} from './directional-keys';\nexport {extensionSplit} from './extension-split';\nexport {filterAriaAttributes} from './filter-aria-attributes';\nexport {findTabbableNodes, isFocusable} from './find-tabbable-nodes';\nexport {getActiveElement} from './get-active-element';\nexport {getShadowRootHost} from './get-shadow-root-host';\nexport {makeRedispatchEffect} from './make-redispatch-effect';\nexport {measureTextFactory} from './measure-text-factory';\nexport {textTransform} from './text-transform';\nexport {measureText} from './measure-text';\nexport {toArray} from './to-array';\nexport {matchSearchTerm} from './match-search-term';\nexport {default as layerEvents} from './layer-events';\nexport {domPurifyConfig} from './dom-purify-config';\n/**\n * DO NOT USE THESE FUNCTIONS.\n * `getBestFitInfo` and `resolveFitProperties` are for NDS use only.\n */\nimport {getBestFitInfo} from './fit/fit-info';\nimport {resolveFitProperties} from './resolve-fit-properties';\n\nexport const fit = {\n\tgetBestFitInfo,\n\tresolveFitProperties,\n};\n\nexport {ariaLivePoliteness} from './ariaLiveConstants';\nexport {isDesktopSafari} from './browser';\nexport {getColumnStyles} from './get-column-styles';\nexport {toEmbeddableUrl} from './to-embeddable-url';\nexport {getCaretCoordinates} from './get-caret-coordinates';\nexport {sanitizeHref} from './sanitize-href';\n","export const ariaTranslatableProps = {\n\t'aria-braillelabel': {type: 'string', translatable: true},\n\t'aria-brailleroledescription': {type: 'string', translatable: true},\n\t'aria-colindextext': {type: 'string', translatable: true},\n\t'aria-description': {type: 'string', translatable: true},\n\t'aria-label': {type: 'string', translatable: true},\n\t'aria-placeholder': {type: 'string', translatable: true},\n\t'aria-roledescription': {type: 'string', translatable: true},\n\t'aria-rowindextext': {type: 'string', translatable: true},\n\t'aria-valuetext': {type: 'string', translatable: true},\n};\n\nexport const configAriaSchema = {\n\ttype: 'object',\n\tproperties: {role: {type: 'string'}, ...ariaTranslatableProps},\n\tpatternProperties: {\n\t\t'^aria-': {type: 'string'},\n\t},\n\tadditionalProperties: false,\n};\n\nconst ariaTemplate = {\n\ttype: 'object',\n\tproperties: {'aria-label': {type: 'string', translatable: true}},\n\tpatternProperties: {\n\t\t'^aria-': {type: 'string'},\n\t},\n\tadditionalProperties: false,\n};\n\nexport const configAriaLabelSchema = {\n\t...ariaTemplate,\n\tpatternProperties: {\n\t\t'^aria-': {type: 'string'},\n\t\trole: {type: 'string'},\n\t},\n};\n\nexport const configAriaLabelRoleSchema = {\n\t...ariaTemplate,\n\tproperties: {\n\t\trole: {type: 'string'},\n\t\t'aria-label': {type: 'string', translatable: true},\n\t},\n};\n\nexport const configAriaLabelRoleHasPopUpSchema = {\n\t...ariaTemplate,\n\tproperties: {\n\t\trole: {type: 'string'},\n\t\t'aria-label': {type: 'string', translatable: true},\n\t\t'aria-haspopup': {type: 'string'},\n\t},\n};\n","import {actionTypes} from '@servicenow/ui-core';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport debounce from 'lodash/debounce';\nimport throttle from 'lodash/throttle';\n\nconst {COMPONENT_DISCONNECTED, COMPONENT_RENDER_REQUESTED} = actionTypes;\nconst BEHAVIOR_NAME = 'resize';\nconst globalResizeBehaviorTimer =\n\tNumber(window?.ux_globals?.nds?.sysprops?.resize_timer) || 50;\n\nconst getTimerSysProps = (componentName) => {\n\tif (\n\t\t!window?.ux_globals?.nds?.sysprops?.[componentName]?.resize_timer ||\n\t\t!componentName\n\t) {\n\t\treturn null;\n\t}\n\treturn Number(window.ux_globals.nds.sysprops[componentName].resize_timer);\n};\n\n// exported for testing\nexport const CALLBACK = Symbol();\nexport const TARGET = Symbol();\n\nconst resize = new ResizeObserver((entries) => {\n\tfor (const entry of entries) {\n\t\tlet {\n\t\t\ttarget,\n\t\t\tcontentRect: {width, height},\n\t\t} = entry;\n\n\t\tif (target.clientHeight !== target.scrollHeight) {\n\t\t\twidth += target.offsetWidth - target.clientWidth;\n\t\t}\n\t\ttarget[CALLBACK]({width, height});\n\t}\n});\n\nconst getTimerFn = (type) => {\n\tswitch (type) {\n\t\tcase 'throttle':\n\t\t\treturn throttle;\n\t\tcase 'debounce':\n\t\tdefault:\n\t\t\treturn debounce;\n\t}\n};\n\nconst observe = ({host, options, dispatch}) => {\n\t// when hoisted, we want to observe the <seismic-hoist /> node rather\n\t// than the original host.\n\tlet target = host.nowRootNode.host;\n\tconst {resizeTarget} = options;\n\n\tif (resizeTarget) {\n\t\ttarget = host?.shadowRoot?.querySelector(resizeTarget);\n\t}\n\n\tif (host[TARGET] !== target) {\n\t\tunobserve(host);\n\t\thost[TARGET] = target;\n\n\t\tconst {type = 'debounce'} = options.timer || {};\n\t\t/**\n\t\t * following order of preference for the timer (ms)\n\t\t * - component sys property if defined, e.g. 'window.ux_globals?.nds.sysprops.['now-tabs'].resize_timer'\n\t\t * - value defined in behavior option, if given\n\t\t * - global timer sys property if defined, e.g. 'window.ux_globals?.nds.sysprops.resize_timer'\n\t\t * - default hardcoded: 50\n\t\t */\n\t\tconst componentName = (resizeTarget ? host : target)?.tagName.toLowerCase();\n\t\tconst componentTimerSysProp = getTimerSysProps(componentName);\n\t\tconst waitOption = options?.timer?.wait;\n\t\tlet resizeBehaviorTimer = componentTimerSysProp || waitOption;\n\t\tif (!resizeBehaviorTimer) {\n\t\t\tresizeBehaviorTimer = globalResizeBehaviorTimer;\n\t\t}\n\t\tconst timerFn = getTimerFn(type);\n\t\tconst dispatchSize = (payload) => {\n\t\t\tconst {shouldDispatch} = options;\n\t\t\tconst dispatchNeeded =\n\t\t\t\ttypeof shouldDispatch === 'function' ? shouldDispatch(payload) : true;\n\n\t\t\tif (dispatchNeeded) {\n\t\t\t\tdispatch(() => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'NOW_RESIZE#ELEMENT_RESIZED',\n\t\t\t\t\t\tpayload,\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\tconst leadTrailOptions = {};\n\n\t\tif (options && options.timer) {\n\t\t\t// only add them if provided to not override lodash defaults\n\t\t\t// eslint-disable-next-line no-prototype-builtins\n\t\t\tif (options.timer.hasOwnProperty('trailing')) {\n\t\t\t\tleadTrailOptions.trailing = options.timer.trailing;\n\t\t\t}\n\t\t\t// eslint-disable-next-line no-prototype-builtins\n\t\t\tif (options.timer.hasOwnProperty('leading')) {\n\t\t\t\tleadTrailOptions.leading = options.timer.leading;\n\t\t\t}\n\t\t}\n\n\t\tif (options.preventRenderUntilSizeAvailable) {\n\t\t\t// don't debounce/throttle the first measurement\n\t\t\ttarget[CALLBACK] = (payload) => {\n\t\t\t\tdispatchSize(payload);\n\t\t\t\ttarget[CALLBACK] = timerFn(\n\t\t\t\t\tdispatchSize,\n\t\t\t\t\tresizeBehaviorTimer,\n\t\t\t\t\tleadTrailOptions,\n\t\t\t\t);\n\t\t\t};\n\t\t} else {\n\t\t\ttarget[CALLBACK] = timerFn(\n\t\t\t\tdispatchSize,\n\t\t\t\tresizeBehaviorTimer,\n\t\t\t\tleadTrailOptions,\n\t\t\t);\n\t\t}\n\t\tresize.observe(target);\n\t}\n};\n\nconst unobserve = (host) => {\n\tif (host[TARGET]) {\n\t\tresize.unobserve(host[TARGET]);\n\t\tdelete host[TARGET];\n\t}\n};\n\n/**\n * Determines whether the render is allowed given a size update and options (in particular preventRender)\n * @param {*} width\n * @param {*} height\n * @param {*} oldWidth\n * @param {*} oldHeight\n * @param {*} options\n * @returns true if update should render, false otherwise\n */\nconst isRenderAllowed = (width, height, oldWidth, oldHeight, options) => {\n\tlet shouldRender = true;\n\tconst prevent = options ? options.preventRender : false;\n\n\tif (prevent) {\n\t\tif (prevent === true) {\n\t\t\tshouldRender = false;\n\t\t} else if (typeof prevent === 'object') {\n\t\t\tif (prevent.width !== prevent.height) {\n\t\t\t\t// either width or height is prevented\n\t\t\t\tif (prevent.width) {\n\t\t\t\t\tshouldRender = height !== oldHeight;\n\t\t\t\t} else {\n\t\t\t\t\tshouldRender = width !== oldWidth;\n\t\t\t\t}\n\t\t\t} else if (prevent.width) {\n\t\t\t\t// both prevented\n\t\t\t\tshouldRender = false;\n\t\t\t} else {\n\t\t\t\t// both not prevented\n\t\t\t\tshouldRender = true;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn shouldRender;\n};\n\n/**\n * This behavior measures the height and width of components dynamically and\n * adds those measurements to state. This helps components that need to know\n * their size to determine what to show/hide, and need to update dynamically.\n *\n * You probably don't need this behavior. See **This should be your last\n * resort** for details.\n *\n * See the **How it works** section below for restrictions and performance\n * details.\n *\n * **Register behavior**\n *\n * After installation import the behavior at the top of your component JS file\n * and register it in your component behaviors list:\n *\n * ```js\n * import resizeBehavior from '@servicenow/behavior-resize';\n *\n * createCustomElement('sn-example', {\n *   renderer: {\n *     type: snabbdom,\n *     view: (state) => {\n *       const {width, height} = state.behaviors.resize.size;\n *       // These will be `null` initially. When the component first attaches it'll\n *       // re-render with integer values in pixels (e.g. `width === 100`).\n *       // When the component's width is changed it'll re-render again with the\n *       // new integer values.\n *     }\n *   },\n *   behaviors: [{behavior: resizeBehavior}]\n * });\n * ```\n *\n * See `example/sn-example-resize.js` for a more complete example.\n *\n * **Configuration options**\n *\n * The following options can be used to configure the behavior\n *\n * - `[timer={}] (Object)` - configures the timer used debounce/throttle invocation of the resize observer\n * - `[timer.type=\"debounce\"] (string)` - the type of timer to use, \"debounce\" or \"throttle\"\n * - `[timer.wait=20] (number)` - milliseconds to delay invocation of observer\n * - `[timer.leading=true] (bool)` - Whether to invoke the debounced/throttle function on the leading edge. False by default for debounce, true by default for throttle\n * - `[timer.trailing=true] (bool)` - Whether to invoke the debounced/throttle function on the trailing edge. True by default. Note: If both leading and trailing options are true, func is invoked on the trailing edge of the timeout only if the function is invoked more than once during the wait timeout.\n * - `[componentManaged=false]` - if true then the behavior won't automatically observer/unobserve and the component is reponsible for turning it ON and OFF through `NOW_RESIZE#ENABLE` and 'NOW_RESIZE#DISABLE'\n * - `[preventRender=false] (bool or Object)` - if a boolean then true means that any size update in the state won't trigger a render. If an object then it can have `height` or `width` as a key, with a boolean value, to respectively prevent rendering on height and width size update\n * - `[preventRenderUntilSizeAvailable=false] (bool)` - when set to true the behavior will prevent the component from rendering until an initial size is available\n * - `[shouldDispatch] (function)` - when this function returns true, the behavior will dispatch ELEMENT_RESIZED action else not.\n * - `[resizeTarget] (string)` - a selector to query the target element to observe. If not provided, the host element is observed.\n * Configuration example:\n *\n * ```js\n * import resizeBehavior from '@servicenow/behavior-resize';\n *\n * createCustomElement('sn-foo', {\n *   ...\n *   behaviors: [{\n *     behavior: resizeBehavior,\n *     options: {timer: {type: 'throttle', wait: 200}}\n *   }]\n * });\n * ```\n *\n * **How it works**\n *\n * This behavior is based on the [ResizeObserver browser specification](https://www.google.com/search?q=resizeobserver&oq=resizeobserver&aqs=chrome.0.69i59l2j0l2j69i61j69i60.3313j0j7&sourceid=chrome&ie=UTF-8).\n * The behavior will use the browser's native ResizeObserver if the browser has\n * that feature.\n *\n * For older browsers, it falls back to using MutationObserver and dirty\n * checking to react to component size changes. It currently uses the\n * [resize-observer-polyfill](https://github.com/que-etc/resize-observer-polyfill)\n * for fallback, but we may change that out to improve performance in the\n * future. This is unlikely to break the API but may lead to slight timing\n * differences for older browsers only.\n *\n * **This should be your last resort**\n *\n * Measuring things is expensive. You probably don't need to use this behavior\n * to measure things. Try every other recourse before you use this behavior. Use\n * CSS media queries instead. Or use CSS flex/truncation behaviors to closely\n * simulate what you're trying to do. No matter how performant we try to make\n * this behavior, it'll always cause a performance hit when a lot of elements on\n * the page use it.\n *\n * **Component requirements**\n *\n * To use this behavior your component MUST meet the following criteria:\n *\n * - Its CSS `display` value can't be `inline` or `inline-*`. Use a non-inline\n * value like `block` or `flex`.\n * - It can't change its size dynamically based on its measured width/height if\n * in the flow of the document. When it renders in response to a width/height\n * change it can't change its size, otherwise it'll go into an infinite loop.\n * For example, if you want to truncate text based on the width of the\n * component, you should set the text container to a non-auto width and height\n * to ensure that the truncation doesn't cause a resize, which triggers another\n * truncation.\n * - It's nice if the component isn't usually stretched across the full viewport\n * width. If many components stretched across the full viewport width use this\n * behavior it can lead to jank and dropped frames when the user resizes the\n * browser or animates a page out of visibility.\n * - In the componentManaged resize behavior, if the behaviour is dynamically\n * added within the COMPONENT_CONNECTED lifecycle, the width and height might\n * not be accessible during the initial rendering of the view. This could result\n * in the component receiving null values for width/height since the behavior\n * may not be initialized prior to the view method being invoked.\n * Consequently, the component's rendering could be delayed, as the actual dimensions\n * will only be supplied by the resize behavior after some time has passed. To address\n * this issue, you may want to explicitly compute the width/height during the\n * COMPONENT_TREE_RENDERED lifecycle to prevent any delays in rendering the component.\n * For additional information, please refer to buildtools1/DEF0395251.\n *\n * @seismicBehavior resizeBehavior\n * @summary Measures the height/width of components and adds values to state\n */\nexport default {\n\tname: BEHAVIOR_NAME,\n\tinitialState: {\n\t\tsize: {\n\t\t\twidth: null,\n\t\t\theight: null,\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_RENDER_REQUESTED]: ({action, state, host, dispatch}) => {\n\t\t\tconst {options} = action.payload,\n\t\t\t\tcurrentWidth = state.behaviors[BEHAVIOR_NAME].size.width,\n\t\t\t\tcurrentHeight = state.behaviors[BEHAVIOR_NAME].size.height;\n\t\t\tif (!options.componentManaged) {\n\t\t\t\tobserve({host, options, dispatch});\n\t\t\t}\n\t\t\tif (\n\t\t\t\toptions.preventRenderUntilSizeAvailable &&\n\t\t\t\t!currentWidth &&\n\t\t\t\tcurrentWidth !== 0 &&\n\t\t\t\t!currentHeight &&\n\t\t\t\tcurrentHeight !== 0\n\t\t\t) {\n\t\t\t\taction.preventDefault();\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: ({host, action}) => {\n\t\t\tif (!action.payload.options.componentManaged) {\n\t\t\t\tunobserve(host);\n\t\t\t}\n\t\t},\n\t\t'NOW_RESIZE#ENABLE': ({host, dispatch, action}) => {\n\t\t\tconst {options} = action.payload;\n\t\t\tobserve({host, dispatch, options});\n\t\t},\n\t\t'NOW_RESIZE#DISABLE': ({host}) => {\n\t\t\tunobserve(host);\n\t\t},\n\t\t'NOW_RESIZE#ELEMENT_RESIZED': {\n\t\t\t// ensure no parents get the action\n\t\t\tstopPropagation: true,\n\t\t\teffect: ({updateState, action, state}) => {\n\t\t\t\tconst {width, height, options} = action.payload;\n\n\t\t\t\tlet shouldRender = isRenderAllowed(\n\t\t\t\t\twidth,\n\t\t\t\t\theight,\n\t\t\t\t\tstate.behaviors[BEHAVIOR_NAME].size.width,\n\t\t\t\t\tstate.behaviors[BEHAVIOR_NAME].size.height,\n\t\t\t\t\toptions,\n\t\t\t\t);\n\n\t\t\t\tupdateState(() => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tpath: `behaviors.${BEHAVIOR_NAME}.size`,\n\t\t\t\t\t\tvalue: {width, height},\n\t\t\t\t\t\tshouldRender,\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t},\n};\n","let snHttpRef;\n\nconst snHttp = async () => {\n\tif (snHttpRef) {\n\t\treturn snHttpRef;\n\t}\n\n\tconst {snHttpInstance} = await import('sn-http-request');\n\tsnHttpRef = snHttpInstance;\n\treturn snHttpInstance;\n};\n\nexport default snHttp;\n","// dedupe shortcuts\n// This is an exception for a use case where we want to allow the same shortcut to work across two specific components - now-uxf-tab-set & now-contextual-sidebar\nexport const DUPLICATE_SHORTCUT_TAB_SET_EXCEPTIONS = [\n\t'NOW-CONTEXTUAL-SIDEBAR',\n\t'NOW-UXF-TAB-SET'\n];\n\n// key formatter\n// Intentionally leaving out Shift key here as the Shift key must be used in conjunction with another modifier key\nexport const MODIFIER_KEYS = {\n\tALT: 'Alt',\n\tCONTROL: 'Control',\n\tMETA: 'Meta'\n};\nexport const SUPPORTED_SPECIAL_CHARACTERS = {\n\tSEMICOLON: 'Semicolon',\n\tBRACKET_LEFT: 'BracketLeft',\n\tBRACKET_RIGHT: 'BracketRight',\n\tQUOTE: 'Quote',\n\tCOMMA: 'Comma',\n\tPERIOD: 'Period',\n\tSLASH: 'Slash',\n\tDASH: 'Dash',\n\tEQUAL: 'Equal'\n};\nexport const KEY_PREFIXES = {\n\tKEY: 'Key',\n\tDIGIT: 'Digit'\n};\n\n// component registry\nexport const APP_SHELL_MODAL_HOIST = 'SN-CANVAS-MODAL-HOIST';\nexport const APP_SHELL_ROOT = 'SN-CANVAS-APPSHELL-ROOT';\nexport const CANVAS_TOOL_BAR = 'SN-CANVAS-TOOLBAR';\nexport const SN_POLARIS_LAYOUT = 'SN-POLARIS-LAYOUT';\nexport const SN_CANVAS_TABS = 'SN-CANVAS-TABS';\n\n// IMPORTANT!!! If you are working on shortcuts for an app shell component, add it to this array else the shortcut will not work\nexport const APP_SHELL_COMPONENTS = [\n\tSN_POLARIS_LAYOUT,\n\tCANVAS_TOOL_BAR,\n\tSN_CANVAS_TABS\n];\n\n// shortcut registry\nexport const ACTION_BAR = 'NOW-RECORD-COMMON-UIACTIONBAR';\n\n// Shortcut Data Fetching\n// KEYBOARD_SHORTCUTS_API is used as API endpoint for REST service as well as cache key\n// in the KEY_SHORTCUTS cache store.\nexport const KEYBOARD_SHORTCUTS_API = '/api/now/uxframework/keyboard_shortcuts';\nexport const KEYBOARD_SHORTCUTS_CACHE_BUSTER = 'ux_kbs_cb';\nexport const KEY_SHORTCUTS = 'now_ux_shortcuts';\nexport const KEY_SHORTCUT_CB_HASH = 'now_ux_shortcut_cb_hash';\n\n// landmarks\nconst LANDMARK_FOCUS_FORWARD = 'LANDMARK_FOCUS_FORWARD';\nconst LANDMARK_FOCUS_BACKWARD = 'LANDMARK_FOCUS_BACKWARD';\nconst LANDMARK_FOCUS_ATTR = 'data-landmarkfocus';\nconst LANDMARK_ACTIVE_ELEMENT_ATTR = 'data-activelement';\nconst LANDMARK_LAST_CLICKED_ATTR = 'data-lastclicked';\nconst LANDMARK_SELECTOR = `[${LANDMARK_ACTIVE_ELEMENT_ATTR}], [${LANDMARK_FOCUS_ATTR}=\"true\"]`;\n\nexport const landmarkConstants = {\n\tLANDMARK_FOCUS_FORWARD,\n\tLANDMARK_FOCUS_BACKWARD,\n\tLANDMARK_FOCUS_ATTR,\n\tLANDMARK_ACTIVE_ELEMENT_ATTR,\n\tLANDMARK_LAST_CLICKED_ATTR,\n\tLANDMARK_SELECTOR\n};\n\n// Context Management\nexport const KBS_MODAL_OPENED = 'UXF_KBS#MODAL_OPENED';\nexport const KBS_MODAL_CLOSED = 'UXF_KBS#MODAL_CLOSED';\n\n// DOM Helpers\nexport const COMPONENT_ID = 'component-id';\nexport const HIDDEN = 'hidden';\nexport const COLLAPSED = 'collapsed';\n\nexport const SHORTCUT_DIRECTORY_MODAL_ACTION =\n\t'KEYBOARD_SHORTCUTS_BEHAVIOR#MODAL_OPENED';\n\n/**\n * User Override data fetching API path for \"shortcut\" category.\n * Also, used as a key in USER_OVERRIDE_SHORTCUT_CACHE_KEY cache store.\n */\nexport const USER_OVERRIDE_SHORTCUT_API_PATH =\n\t'/api/now/uxframework/user_override/shortcut';\n/** User Override Shortcuts cache key. */\nexport const USER_OVERRIDE_SHORTCUT_CACHE = 'now_ux_user_override_shortcut';\nexport const USER_OVERRIDE_SHORTCUT_CACHE_CB_HASH =\n\t'now_ux_user_override_shortcut_cb_hash';\n\n// Cache configuration for shortcuts and overrides\nexport const CACHE_CONFIGS = {\n\t[KEY_SHORTCUTS]: {\n\t\tdescription: 'keyboard shortcut responses',\n\t\tadapter: ['indexedDB'],\n\t\tevictionPolicy: 'LRU',\n\t\tname: 'kb_shortcut_lru',\n\t\tstoreName: 'kb_shortcut_store'\n\t},\n\t[KEY_SHORTCUT_CB_HASH]: {\n\t\tdescription: 'used for invalidating stale keyboard shortcut metadata',\n\t\tadapter: ['localStorage'],\n\t\tevictionPolicy: 'LRU',\n\t\tname: 'shortcut_cb_hash_lru',\n\t\tstoreName: 'shortcut_cb_hash_store'\n\t},\n\t[USER_OVERRIDE_SHORTCUT_CACHE]: {\n\t\tdescription: 'user override shortcut',\n\t\tadapter: ['indexedDB'],\n\t\tevictionPolicy: 'LRU',\n\t\tname: 'user_override_lru',\n\t\tstoreName: 'user_override_shortcut_store'\n\t},\n\t[USER_OVERRIDE_SHORTCUT_CACHE_CB_HASH]: {\n\t\tdescription: 'used for invalidating stale shortcut override metadata',\n\t\tadapter: ['localStorage'],\n\t\tevictionPolicy: 'LRU',\n\t\tname: 'user_override_shortcut_cb_hash_lru',\n\t\tstoreName: 'user_override_shortcut_cb_hash_store'\n\t}\n};\n\nexport const NOW_UX_INTERACTION = 'NOW-UX-INTERACTION';\n","import {get, noop} from '@devsnc/snowdash';\n\nconst LOGGING_ENABLED = get(\n\twindow,\n\t['nowUiFramework', 'loggingEnabled'],\n\tfalse\n);\n\nconst PRODUCTION_CONSOLE_METHODS = ['error', 'warn'];\n\nexport const shortcutLogger = new Proxy(console, {\n\tget(target, property) {\n\t\tif (\n\t\t\ttypeof target[property] === 'function' &&\n\t\t\t(PRODUCTION_CONSOLE_METHODS.includes(property) || LOGGING_ENABLED)\n\t\t) {\n\t\t\treturn function (...args) {\n\t\t\t\tif (typeof args[0] === 'string') {\n\t\t\t\t\targs[0] = `[UXF Shortcuts]: ${args[0]}`;\n\t\t\t\t}\n\n\t\t\t\ttarget[property].apply(console, args);\n\t\t\t};\n\t\t}\n\n\t\treturn noop;\n\t}\n});\n","const {userAgent} = navigator;\n\n/**\n * @function isMac\n *\n * @description Checks if the current userAgent is a Mac-based platform\n *\n * @returns {Boolean}\n */\nexport const isMac = () => /Mac/i.test(userAgent);\n\n/**\n * @function isWindows\n *\n * @description Checks if the current userAgent is a Windows-based platform\n *\n * @returns {Boolean}\n */\nexport const isWindows = () => /Win/i.test(userAgent);\n\n/**\n * @function isSupportedPlatform\n *\n * @description Checks if the current userAgent is supported for keyboard shortcuts\n *\n * @returns {Boolean}\n */\nexport const isSupportedPlatform = () => isMac() || isWindows();\n","import unifiedCache from '@devsnc/library-unified-cache';\nimport {\n\tKEY_SHORTCUTS,\n\tKEY_SHORTCUT_CB_HASH,\n\tUSER_OVERRIDE_SHORTCUT_CACHE,\n\tUSER_OVERRIDE_SHORTCUT_CACHE_CB_HASH,\n\tCACHE_CONFIGS\n} from './constants';\n\nconst instance = {};\n\n/**\n * @function getCacheInstance\n * @description Generic & singleton-esque providing the instance for interacting with unified cache\n * @param {string} key - Key for which instance to access\n * @returns the relevant unified cache instance\n */\nconst getCacheInstance = (key) => {\n\tif (!instance[key])\n\t\tinstance[key] = unifiedCache.createInstance(CACHE_CONFIGS[key]);\n\treturn instance[key];\n};\n\nexport const shortcutCache = getCacheInstance(KEY_SHORTCUTS);\n\nexport const shortcutCBHashCache = getCacheInstance(KEY_SHORTCUT_CB_HASH);\nexport const userOverrideShortcutCBHashCache = getCacheInstance(\n\tUSER_OVERRIDE_SHORTCUT_CACHE_CB_HASH\n);\n\nexport const userOverrideShortcutCache = getCacheInstance(\n\tUSER_OVERRIDE_SHORTCUT_CACHE\n);\n","import snHttp from '../snHttpInstance/index.js';\nimport {shortcutCache, shortcutCBHashCache} from './cacheInstance';\nimport {shortcutLogger as console} from './getLogger';\nimport {inRange} from '@devsnc/snowdash';\nimport {\n\tKEYBOARD_SHORTCUTS_API,\n\tKEYBOARD_SHORTCUTS_CACHE_BUSTER,\n\tNOW_UX_INTERACTION\n} from './constants';\n\n/**\n * @function fetchShortcutsFromServer\n * @description Makes the request to the server to capture shortcuts and caches it.\n *\n * @returns {Promise<Array<ShortcutMetadata>>} shortcuts\n */\nconst fetchShortcutsFromServer = async () => {\n\tconsole.log('fetching shortcuts from server'); // Used for debugging while maint\n\n\tlet results;\n\ttry {\n\t\tconst snHttpInstance = await snHttp();\n\t\tresults = await snHttpInstance.request(KEYBOARD_SHORTCUTS_API, 'GET', {\n\t\t\theaders: {\n\t\t\t\t[NOW_UX_INTERACTION]:\n\t\t\t\t\twindow.nowUiFramework?.uxrInteractionId ||\n\t\t\t\t\twindow.nowUiFramework?.metrics?.uxfInteractionIdBase\n\t\t\t}\n\t\t});\n\t} catch (error) {\n\t\t// Unautheticated, unauthorized, or preconditions not met error responses\n\t\tif (inRange(error?.response?.status, 400, 500)) {\n\t\t\tconsole.info(\n\t\t\t\t'A client error occurred while fetching keyboard shortcuts from server:',\n\t\t\t\terror\n\t\t\t);\n\t\t\treturn [];\n\t\t}\n\t\tconsole.error(\n\t\t\t'An error occurred while fetching keyboard shortcuts from server:',\n\t\t\terror\n\t\t);\n\n\t\treturn [];\n\t}\n\n\tconst shortcuts = results?.data?.result;\n\tshortcutCache.setItem(KEYBOARD_SHORTCUTS_API, shortcuts);\n\tshortcutCBHashCache.setItem(\n\t\tKEYBOARD_SHORTCUTS_CACHE_BUSTER,\n\t\twindow?.ux_globals?.uxKeyboardShortcutClientCacheBuster\n\t);\n\treturn shortcuts;\n};\n\n/**\n * @function fetchShortcuts\n * @description Fetches cached shortcuts\n * @example\n * const shortcuts = await fetchShortcuts();\n *\n * @returns {Promise<Array<ShortcutMetadata>>} shortcuts - the response from the API\n */\nexport const fetchShortcuts = async () => {\n\tconst kbsCB = await shortcutCBHashCache.getItem(\n\t\tKEYBOARD_SHORTCUTS_CACHE_BUSTER\n\t);\n\n\t// Fetch from server & cache for up-to-date shortcut information after\n\t// flush sources (ex. keyboardshortcut table metadata) change\n\tif (window?.ux_globals?.uxKeyboardShortcutClientCacheBuster !== kbsCB) {\n\t\tconsole.log('CB didnt match up, fetching shortcuts from server', {\n\t\t\tuxGlob: window?.ux_globals?.uxKeyboardShortcutClientCacheBuster,\n\t\t\tstoredCB: kbsCB\n\t\t});\n\t\treturn await fetchShortcutsFromServer();\n\t}\n\n\t// Fetch shortcuts from cache, fetchShortcutsFromServer call is\n\t// not intended to be hit but is there as a fail safe in the unlikely case\n\t// that cache buster is empty/none and equal to each other and shortcut cache\n\t// is empty.\n\treturn shortcutCache\n\t\t.getItem(KEYBOARD_SHORTCUTS_API)\n\t\t.then(async (shortcuts) => {\n\t\t\tif (shortcuts) console.log(`fetched shortcuts from cache`);\n\t\t\treturn shortcuts ?? (await fetchShortcutsFromServer());\n\t\t});\n};\n\nexport const exportOnlyForTesting = {\n\tfetchShortcutsFromServer\n};\n","import {get} from '@devsnc/snowdash';\nimport {USER_OVERRIDE_SHORTCUT_API_PATH} from './constants';\n\n/**\n * Retrieves User SysId from window UX global properties.\n * @returns {String}\n */\nconst getUserSysId = () => get(window, 'ux_globals.session.output.user.sys_id');\n\n/**\n * Cache key combines user override shortcut endpoint path and user sys_id to uniquely identify the\n * cache. Used to store fetched user override shortcut data in the cache separately.\n */\nexport const getUserOverrideShortcutCacheKey = () =>\n\tUSER_OVERRIDE_SHORTCUT_API_PATH + getUserSysId();\n","import {inRange} from '@devsnc/snowdash';\nimport snHttp from '../snHttpInstance/index.js';\nimport {\n\tuserOverrideShortcutCache,\n\tuserOverrideShortcutCBHashCache\n} from './cacheInstance';\nimport {USER_OVERRIDE_SHORTCUT_API_PATH} from './constants.js';\nimport {getUserOverrideShortcutCacheKey} from './overridesHelpers';\nimport {shortcutLogger as console} from './getLogger';\n\n/**\n * Fetches and caches user override shortcuts for current user from server.\n * @returns {Promise<UserOverrideShortcuts>} user override shortcut data\n */\nconst fetchUserOverrideShortcutsFromServer = async () => {\n\tconsole.log('Fetching user overrides from server');\n\tlet results;\n\ttry {\n\t\tconst snHttpInstance = await snHttp();\n\t\tresults = await snHttpInstance.get(USER_OVERRIDE_SHORTCUT_API_PATH);\n\t} catch (error) {\n\t\t// Unautheticated, unauthorized, or preconditions not met error responses\n\t\tif (inRange(error?.response?.status, 400, 500)) {\n\t\t\tconsole.info(\n\t\t\t\t'A client error occurred while fetching user overrides from server:',\n\t\t\t\terror\n\t\t\t);\n\t\t\treturn {};\n\t\t}\n\t\tconsole.error(\n\t\t\t'An error occurred while fetching user overrides from server:',\n\t\t\terror\n\t\t);\n\t\treturn {};\n\t}\n\n\tconst userOverrideShortcuts = results?.data?.result || {};\n\tuserOverrideShortcutCache.setItem(\n\t\tgetUserOverrideShortcutCacheKey(),\n\t\tuserOverrideShortcuts\n\t);\n\n\tuserOverrideShortcutCBHashCache.setItem(\n\t\tgetUserOverrideShortcutCacheKey(),\n\t\twindow?.ux_globals?.uxKeyboardShortcutOverrideClientCacheBuster\n\t);\n\treturn userOverrideShortcuts;\n};\n\n/**\n * Attempts to retrieve user override shortcuts from cache, fetches from server if not found.\n * @returns {UserOverrideShortcuts}\n */\nexport const fetchUserOverrideShortcuts = async () => {\n\tconst overrideCB = await userOverrideShortcutCBHashCache.getItem(\n\t\tgetUserOverrideShortcutCacheKey()\n\t);\n\n\t// Fetch from server & cache for up-to-date override information\n\tif (\n\t\twindow?.ux_globals?.uxKeyboardShortcutOverrideClientCacheBuster !==\n\t\toverrideCB\n\t) {\n\t\treturn await fetchUserOverrideShortcutsFromServer();\n\t}\n\n\treturn userOverrideShortcutCache\n\t\t.getItem(getUserOverrideShortcutCacheKey())\n\t\t.then(async (userOverrideShortcuts) => {\n\t\t\tif (userOverrideShortcuts)\n\t\t\t\tconsole.log('Fetched user override shortcuts from cache');\n\t\t\treturn (\n\t\t\t\tuserOverrideShortcuts ?? (await fetchUserOverrideShortcutsFromServer())\n\t\t\t);\n\t\t});\n};\n","import {isEqual} from '@devsnc/snowdash';\nimport {\n\tfindNearestParentElement,\n\tfindFirstChildElement,\n\tgetActiveElement\n} from './querySelectors';\nimport {shortcutLogger as console} from './getLogger';\nimport {DUPLICATE_SHORTCUT_TAB_SET_EXCEPTIONS} from './constants';\n\nconst getReturnValue = (shortcuts, element) => {\n\tconst {actionKey, actionPayload, name} = shortcuts.find(\n\t\t(shortcut) => shortcut.componentTagName === element.tagName\n\t);\n\n\treturn {\n\t\telement,\n\t\tactionKey,\n\t\tactionPayload,\n\t\tname\n\t};\n};\n\n/**\n * @function dedupeShortcuts\n *\n * @description - Dedupes shortcuts on the page and returns the resolved shortcut.\n *\n * @param {Array<ShortcutMetadata>} shortcuts\n *\n * @returns {ShortcutMetadata} - Resolved shortcut\n */\nexport const dedupeShortcuts = (shortcuts) => {\n\tconst componentTagNames = shortcuts\n\t\t.flatMap((shortcut) => shortcut.componentTagName)\n\t\t.sort();\n\n\t// Need to ensure the only duplicate shortcuts on the page are the ones that are supported (i.e. now-uxf-tab-set & now-contextual-sidebar)\n\tif (\n\t\t!isEqual(\n\t\t\tDUPLICATE_SHORTCUT_TAB_SET_EXCEPTIONS.sort(),\n\t\t\tcomponentTagNames.sort()\n\t\t)\n\t) {\n\t\tconsole.warn(\n\t\t\t'Shortcut could not be triggered - Duplicate shortcuts detected with the same key combination!',\n\t\t\tshortcuts\n\t\t);\n\t\treturn;\n\t}\n\n\tfor (const componentTagName of componentTagNames) {\n\t\tconst activeElement = getActiveElement();\n\t\tconst element = findNearestParentElement(activeElement, componentTagName);\n\n\t\tif (element) {\n\t\t\treturn getReturnValue(shortcuts, element);\n\t\t}\n\t}\n\n\t// Reversing because we need to favor now-uxf-tab-set over now-contextual-sidebar when searching top down as the tab set should always come before the sidebar\n\tfor (const componentTagName of componentTagNames.reverse()) {\n\t\tconst element = findFirstChildElement(componentTagName);\n\t\tif (element) {\n\t\t\treturn getReturnValue(shortcuts, element);\n\t\t}\n\t}\n};\n","import {shortcutLogger as console} from './getLogger';\nimport {SUPPORTED_SPECIAL_CHARACTERS, KEY_PREFIXES} from './constants';\n\n/**\n * @function isAlphabetic\n *\n * @description Uses regex to test if the given character is alphabetic\n *\n * @param {String} char\n *\n * @returns {Boolean}\n */\nfunction isAlphabetic(char) {\n\treturn /^[a-zA-Z]$/.test(char);\n}\n\n/**\n * @function isNumeric\n * @description Evaluates if a given value is a numeric string\n * @param {String} char\n * @returns {Boolean}\n */\nexport const isNumeric = (char) => /[0-9]+/.test(`${char}`);\n\n// Keeping for now, but currently no longer needed.\n// Added a User Restriction in Miro that shift-enabled special characters are not supported\n// https://miro.com/app/board/uXjVMcMU5Hs=/?moveToWidget=3458764552676725388&cot=14\n// function isSpecialCharacter(char) {\n// \tvar regex = /[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]/;\n// \treturn regex.test(char);\n// }\n\n/**\n * @function formatKeyCode\n *\n * @description Formats the key stored in sys_ux_keyboard_shortcut.shortcut into the equivlent KeyboardEvent:code string\n *\n * @param {KeyboardEvent.code} key\n *\n * @returns {String}\n */\nexport const formatKeyCode = (key) => {\n\tswitch (key) {\n\t\tcase ';':\n\t\t\treturn SUPPORTED_SPECIAL_CHARACTERS.SEMICOLON;\n\t\tcase '[':\n\t\t\treturn SUPPORTED_SPECIAL_CHARACTERS.BRACKET_LEFT;\n\t\tcase ']':\n\t\t\treturn SUPPORTED_SPECIAL_CHARACTERS.BRACKET_RIGHT;\n\t\tcase \"'\":\n\t\t\treturn SUPPORTED_SPECIAL_CHARACTERS.QUOTE;\n\t\tcase ',':\n\t\t\treturn SUPPORTED_SPECIAL_CHARACTERS.COMMA;\n\t\tcase '.':\n\t\t\treturn SUPPORTED_SPECIAL_CHARACTERS.PERIOD;\n\t\tcase '/':\n\t\t\treturn SUPPORTED_SPECIAL_CHARACTERS.SLASH;\n\t\tcase '-':\n\t\t\treturn SUPPORTED_SPECIAL_CHARACTERS.DASH;\n\t\tcase '=':\n\t\t\treturn SUPPORTED_SPECIAL_CHARACTERS.EQUAL;\n\t\tdefault:\n\t\t\tif (isAlphabetic(key)) {\n\t\t\t\treturn `${KEY_PREFIXES.KEY}${key}`;\n\t\t\t} else if (isNumeric(key)) {\n\t\t\t\treturn `${KEY_PREFIXES.DIGIT}${key}`;\n\t\t\t}\n\t\t\tconsole.error(`Key '${key}' is not supported for keyboard shortcuts!`);\n\t}\n};\n","import {formatKeyCode} from './keyFormatter';\nimport {get} from '@devsnc/snowdash';\nimport {shortcutLogger as console} from './getLogger';\n/**\n * @function prettifyMacShortcut\n *\n * @description Prettifies Mac KeyboardMetadata to user-friendly keyboard commands. NOTE: Mac shortcuts do not support ctrlKey!\n * @param {KeyboardMetadata} keys\n *\n * @example\n *\n * const macShortcut = {\n * \tmetaKey: true,\n * \tshiftKey: true,\n * \taltKey: false,\n * \tkey: \"s\"\n * }\n *\n * const prettyShortcut = prettifyMacShortcut(macShortcut);\n *\n * console.log(prettyShortcut); // Outputs \"Cmd + Shift + s\"\n *\n * @returns {String} - Prettified Mac representation of KeyboardMetadata\n */\nexport const prettifyMacShortcut = (keys) => {\n\tconst shortcutPretty = [];\n\tconst {metaKey, altKey, shiftKey, key} = keys;\n\n\tif (metaKey) {\n\t\tshortcutPretty.push('Cmd');\n\t}\n\n\tif (altKey) {\n\t\tshortcutPretty.push('Opt');\n\t}\n\n\tif (shiftKey) {\n\t\tshortcutPretty.push('Shift');\n\t}\n\n\tshortcutPretty.push(key);\n\n\treturn shortcutPretty.join(' + ');\n};\n\n/**\n * @function prettifyWindowsShortcut\n *\n * @description Prettifies Windows KeyboardMetadata to user-friendly keyboard commands. NOTE: Windows shortcuts do not support metaKey!\n * @param {KeyboardMetadata} keys\n *\n * @example\n *\n * const windowsShortcut = {\n * \tctrlKey: true,\n * \tshiftKey: true,\n * \taltKey: false,\n * \tkey: \"s\"\n * }\n *\n * const prettyShortcut = prettifyWindowsShortcut(windowsShortcut);\n *\n * console.log(prettyShortcut); // Outputs \"Ctrl + Shift + s\"\n *\n * @returns {String} - Prettified Windows representation of KeyboardMetadata\n */\nexport const prettifyWindowsShortcut = (keys) => {\n\tconst shortcutPretty = [];\n\tconst {ctrlKey, altKey, shiftKey, key} = keys;\n\n\tif (ctrlKey) {\n\t\tshortcutPretty.push('Ctrl');\n\t}\n\n\tif (altKey) {\n\t\tshortcutPretty.push('Alt');\n\t}\n\n\tif (shiftKey) {\n\t\tshortcutPretty.push('Shift');\n\t}\n\n\tshortcutPretty.push(key);\n\n\treturn shortcutPretty.join(' + ');\n};\n\n/**\n * Formats shortcut code.\n * @param {KeyboardMetadata} shortcut\n * @returns {KeyboardMetadata}\n */\nconst formatShortcutCode = (shortcut) => ({\n\t...shortcut,\n\tcode: formatKeyCode(shortcut.key).toLowerCase()\n});\n\n/**\n * @function transformShortcutKeys\n *\n * @description Formats the mac.key & windows.key to the appropriate KeyboardEvent.code\n *\n * @param {PlatformShortcuts} platformShortcuts\n *\n * @returns {PlatformShortcuts}\n */\nexport const transformShortcutKeys = (platformShortcuts) => ({\n\tmac: platformShortcuts.mac\n\t\t? formatShortcutCode(platformShortcuts.mac)\n\t\t: undefined,\n\twindows: platformShortcuts.windows\n\t\t? formatShortcutCode(platformShortcuts.windows)\n\t\t: undefined\n});\n\n/**\n * @function toBoolean\n *\n * @description Converts a string to a boolean\n *\n * @param {String|Boolean} value - The value to check\n *\n * @returns {Boolean} - If value is string, returns result of comparing against 'true', otherwise will return value\n */\nexport const toBoolean = (value) => {\n\tswitch (typeof value) {\n\t\tcase 'string':\n\t\t\treturn value.toLowerCase() === 'true';\n\t\tcase 'boolean':\n\t\t\treturn value;\n\t\tdefault:\n\t\t\tconsole.error('toBoolean: Invalid value type');\n\t\t\tbreak;\n\t}\n};\n\n/**\n * @function areShortcutsEnabled\n *\n * @description Checks if keyboard shortcuts are enabled for the user via userPrefs or instance via sysprops\n *\n * @returns {Boolean} - True if keyboard shortcuts are enabled, false otherwise\n */\nexport const areShortcutsEnabled = () => {\n\tconst shortcutsEnabledUserPref = get(\n\t\twindow,\n\t\t['ux_globals', 'userPrefs', ['glide.ui.keyboard.shortcuts.enabled']],\n\t\ttrue\n\t);\n\n\t// ux_globals.keyboardShortcutsEnabled translates to glide.ui.keyboard.shortcuts.enabled sysProp on the server\n\tconst shortcutsEnabledSysProp = get(\n\t\twindow,\n\t\t['ux_globals', 'keyboardShortcutsEnabled'],\n\t\ttrue\n\t);\n\n\treturn (\n\t\ttoBoolean(shortcutsEnabledUserPref) && toBoolean(shortcutsEnabledSysProp)\n\t);\n};\n\n/**\n * @function isUserLoggedIn\n *\n * @description Checks if the user is logged in via the ux_globals object\n *\n *  @returns {Boolean} - True if the user is logged in, false otherwise\n */\nexport const isUserLoggedIn = () =>\n\tget(window, ['ux_globals', 'session', 'output', 'isLoggedIn'], false);\n","import {COMPONENT_ID, HIDDEN, COLLAPSED} from './constants';\n\n/**\n * @function checkVisibility\n *\n * @description Checks if an element is visible on the page\n *\n * @param {HTMLElement} element - The element to check\n *\n * @returns {Boolean} - Whether or not the element is visible\n */\nexport const checkVisibility = (element) => {\n\tconst computedStyles = window.getComputedStyle(element);\n\tconst {visibility} = computedStyles;\n\tif (visibility === HIDDEN || visibility === COLLAPSED) {\n\t\treturn false;\n\t}\n\n\t// getBoundingClientRect().toJSON() breaks unit tests!\n\tconst rect = JSON.parse(JSON.stringify(element.getBoundingClientRect()));\n\tconst rectValues = Object.values(rect);\n\n\treturn rectValues.some((val) => val !== 0);\n};\n\n/**\n * @function isSeismicElement\n *\n * @description Checks if an element is a seismic component\n *\n * @param {HTMLElement} element - The element to check\n *\n * @returns {Boolean} - Whether or not the element is a seismic component\n */\nexport const isSeismicElement = (element) =>\n\t(element.tagName || '').includes('-') && element.hasAttribute(COMPONENT_ID);\n","import {shortcutLogger as console} from './helpers/getLogger';\nimport {set} from '@devsnc/snowdash';\nimport {KBS_MODAL_CLOSED, KBS_MODAL_OPENED} from './helpers';\n\n/**\n * @constant ContextManagerSingleton\n *\n * @description - Singleton for managing the context of the keyboard shortcuts. Currently only used for modals\n */\nconst ContextManagerSingleton = (function () {\n\treturn {\n\t\tgetInstance() {\n\t\t\tif (!window.uxfTriggerLibrary?.contextManager) {\n\t\t\t\tset(window, ['uxfTriggerLibrary', 'contextManager'], {});\n\t\t\t}\n\n\t\t\treturn window.uxfTriggerLibrary.contextManager;\n\t\t}\n\t};\n})();\n\nexport const ContextManager = ContextManagerSingleton.getInstance();\n\n/**\n * @function setModalContext\n *\n * @description - Sets the modal context based on the event detail\n *\n * @param {obj} detail - The event details. Used to determine if a modal is opened or closed.\n */\nexport const setModalContext = (detail) => {\n\tconst {payload, type} = detail;\n\tconst {host} = payload;\n\n\tContextManager.modalContext = type === KBS_MODAL_OPENED ? host : null;\n\tContextManager.isModalOpen = type === KBS_MODAL_OPENED;\n\tconsole.log(`Modal ${type === KBS_MODAL_OPENED ? 'opened' : 'closed'}`);\n};\n\n/**\n * @function initializeContextListeners\n *\n * @description - Initializes the listeners for the context manager\n */\nexport const initializeContextListeners = () => {\n\twindow.addEventListener(KBS_MODAL_CLOSED, (e) => {\n\t\tsetModalContext(e.detail);\n\t});\n\n\twindow.addEventListener(KBS_MODAL_OPENED, (e) => {\n\t\tsetModalContext(e.detail);\n\t});\n};\n","import {getComponentFromRegistry} from '../componentRegistry';\nimport {APP_SHELL_COMPONENTS, APP_SHELL_MODAL_HOIST} from './constants';\nimport {ContextManager} from '../contextManager';\nimport {checkVisibility} from './domHelpers';\n\n/**\n * @function shadowQuerySelectorAll\n *\n * @description Finds and returns an array of all elements across shadow roots\n * that match the selector in the order of their position in the DOM.  If the selector\n * is an element attribute you must wrap the string in square brackets.\n * @param  {String} selector selector\n * @param  {Node} root root node\n * @param {Number} maxDepth maximum depth the function will recurse to\n * @param {Number} currentDepth current depth of the recursion\n * @return {Array<Node>} returns the array of all matching elements across shadow roots\n */\nexport const shadowQuerySelectorAll = (\n\tselector,\n\troot = document,\n\tmaxDepth = Infinity,\n\tcurrentDepth = 0\n) => {\n\tif (!selector || currentDepth > maxDepth) return [];\n\n\tconst expandedNodes = [];\n\n\tif (root.shadowRoot) root = root.shadowRoot;\n\n\t// Create a Set for O(1) lookups\n\tconst nodesThatMatchedOriginalSelector = new Set(\n\t\troot.querySelectorAll(selector)\n\t);\n\n\t// Use the joined selector to fetch nodes, the component-id finds elements with shadowroots\n\tconst nodes = root.querySelectorAll(`[component-id], ${selector}`);\n\n\tnodes.forEach((node) => {\n\t\t// if the shadowrooted node matches the original selector add it to the\n\t\t// results before any of its matching children to maintain DOM position order\n\t\tif (nodesThatMatchedOriginalSelector.has(node)) {\n\t\t\texpandedNodes.push(node);\n\t\t}\n\t\t// add all matching child elements recursively\n\t\tif (node.shadowRoot) {\n\t\t\tconst childNodes = shadowQuerySelectorAll(\n\t\t\t\tselector,\n\t\t\t\tnode,\n\t\t\t\tmaxDepth,\n\t\t\t\tcurrentDepth + 1\n\t\t\t);\n\t\t\texpandedNodes.push(...childNodes); // spread the results directly into the array\n\t\t}\n\t});\n\n\treturn expandedNodes;\n};\n\n/**\n * @function validateElement\n *\n * @description Validates the element passed exists in the component registry\n *\n * @param {HTMLElement} element Element to check\n *\n * @returns {Boolean} Whether the element is valid or not\n */\nconst validateElement = (element) =>\n\telement !== null && element.nowId && getComponentFromRegistry(element.nowId);\n\n/**\n * @function shadowQuerySelector\n *\n * @description Finds and returns the first element across shadow roots\n * that matches the selector\n * @param  {String} selector selector\n * @param  {Node} root root node\n * @return {Node} returns the first node that matches the selector\n */\nexport const shadowQuerySelector = (selector, root = document) => {\n\tif (!selector) return [];\n\t// adding component-id to the selector so it finds elements with shadowroots\n\n\tif (root.shadowRoot) root = root.shadowRoot;\n\tconst singleNode = root.querySelector(selector);\n\tif (singleNode) {\n\t\treturn singleNode;\n\t}\n\tconst shadowRootNodes = root.querySelectorAll('[component-id]');\n\n\tlet result;\n\tshadowRootNodes.forEach((node) => {\n\t\tif (!result) {\n\t\t\t// add all matching child elements recursively\n\t\t\tresult = shadowQuerySelector(selector, node);\n\t\t}\n\t});\n\treturn result;\n};\n/**\n * @function queryDeepBySelector\n *\n * @description Queries nested shadow root elements for a given selector under the root element param (parent element). Returns the first element found within the DOM\n *\n * @param {String} selector - The CSS selector used to query for elements\n * @param {Element|Document|ShadowRoot} parentElement - Parent Element to start querying under. The root Document is used by default\n *\n * @returns {Element} - First matching element\n */\nconst queryDeepBySelector = (selector, parentElement = document.body) => {\n\t// Search for matching elements in the current root\n\tconst element = parentElement.querySelector(selector);\n\n\tif (element) {\n\t\treturn element;\n\t}\n\n\tconst nestedElements = Array.from(parentElement.querySelectorAll('*'));\n\n\tif (parentElement?.shadowRoot && nestedElements.length === 0) {\n\t\tconst element = queryDeepBySelector(selector, parentElement.shadowRoot);\n\t\tif (element) {\n\t\t\treturn element;\n\t\t}\n\t}\n\n\tfor (const nestedElement of nestedElements) {\n\t\tconst {shadowRoot} = nestedElement;\n\n\t\tif (shadowRoot) {\n\t\t\tconst element = queryDeepBySelector(selector, shadowRoot);\n\t\t\t// When traversing the dom from the document body its possible we encounter elements that match our selector\n\t\t\t// but are not applicable components for an action, they are not visible.\n\t\t\tif (element && checkVisibility(element)) {\n\t\t\t\treturn element;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn element;\n};\n\n/**\n * @function getActiveExperience\n *\n * @description Gets the currently active sn-canvas-experience-shell element on the page\n *\n * @returns {Element} - The active experience element\n */\nexport const getActiveExperience = () => {\n\tconst appShellLayout = queryDeepBySelector('sn-canvas-appshell-layout');\n\tconst experiences = shadowQuerySelectorAll('sn-canvas-experience-shell');\n\n\t// If there is only one then we can safely assume this is the currently active experience\n\tif (experiences.length === 1) {\n\t\treturn experiences.pop();\n\t}\n\n\t// There's a bug with sn-canvas-experience-shell where both experienceData.isActive props are false\n\t// when one is currently active. The appShellLayout is the central source of truth so we need to grab the key\n\t// to get the active experience\n\tconst activeExperience = (() => {\n\t\tif (!appShellLayout) return '';\n\t\tfor (const [key, value] of appShellLayout.experiencesData.entries()) {\n\t\t\tif (value.isActive === true) return key;\n\t\t}\n\t})();\n\n\t// Match against the active experience in appshell-layout\n\treturn experiences.find(\n\t\t(experience) =>\n\t\t\texperience.experienceData.experiencePath === activeExperience\n\t);\n};\n\n// TODO - There's an intermittent bug where all shortcuts will show up regardless of the active screen. Thinking it's due to some bug within UXR not seeing isActive in all cases\n/**\n * @function getActiveScreen\n *\n * @description Gets the currently active sn-canvas-screen element on the page\n *\n * @returns {Element} - The active screen element\n */\nexport const getActiveScreen = () => {\n\tconst activeExperience = getActiveExperience();\n\tconst screens = shadowQuerySelectorAll('sn-canvas-screen', activeExperience);\n\tconst activeScreen = screens.find((screen) => screen.screenData.isActive);\n\n\treturn activeScreen;\n};\n\n/**\n * @function findNearestParentElement\n *\n * @description Finds the nearest parent element with the given tag name\n *\n * @param {Element} element Current element to query against\n * @param {String} tagName Element tag name to search for\n * @param {Boolean} shouldValidateElement - Whether to validate the element or not\n *\n * @returns {Element} - The nearest parent element with the given tag name\n */\nexport const findNearestParentElement = (\n\telement,\n\ttagName,\n\tshouldValidateElement = true\n) => {\n\tif (!element || !tagName || element.tagName === 'BODY') {\n\t\treturn null;\n\t}\n\n\tif (\n\t\telement.tagName.toLowerCase() === tagName &&\n\t\t(!shouldValidateElement || validateElement(element))\n\t) {\n\t\treturn element;\n\t}\n\n\t// find closest parent\n\tconst ancestor = element.closest(tagName);\n\tif (ancestor && (!shouldValidateElement || validateElement(ancestor))) {\n\t\treturn ancestor;\n\t}\n\n\tif (element.getRootNode?.().host) {\n\t\t// Check if the element is within a shadow root\n\t\tconst shadowRoot = element.getRootNode().host;\n\t\tconst closest = shadowRoot.closest(tagName);\n\t\tif (closest && (!shouldValidateElement || validateElement(closest))) {\n\t\t\treturn closest;\n\t\t}\n\t\treturn findNearestParentElement(shadowRoot, tagName, shouldValidateElement);\n\t}\n\n\t/**\n\t * traverse up the dom tree - in theory, we should never hit this condition\n\t * because all seismic components are in a shadow root - at some point\n\t * we're going to find the parent by looking at the shadow root\n\t */\n\treturn findNearestParentElement(\n\t\telement.parentElement,\n\t\ttagName,\n\t\tshouldValidateElement\n\t);\n};\n\n/**\n * @function isChildOfRootElement\n *\n * @description Checks if the childElement is a child of the rootElement\n *\n * @param {HTMLElement} rootElement - Root element to check if childElement is a child of\n * @param {HTMLElement} childElement - Child element to check if it is a child of rootElement\n * @returns {Boolean} - Whether the childElement is a child of rootElement\n */\nexport const isChildOfRootElement = (rootElement, childElement) => {\n\tfunction isChildOf(parent, child) {\n\t\tif (parent.contains(child)) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (parent.shadowRoot) {\n\t\t\tconst {shadowRoot} = parent;\n\n\t\t\tif (isChildOf(shadowRoot, child)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\tconst {childNodes} = parent;\n\t\tfor (const node of childNodes) {\n\t\t\tif (node.nodeType === Node.ELEMENT_NODE) {\n\t\t\t\tif (isChildOf(node, child)) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\treturn isChildOf(rootElement, childElement);\n};\n\n/**\n * @function getRootElement\n *\n * @description Gets the root element component to start querying from; Modal, Document or Active Screen\n *\n * @param {String} componentTagName - Component tag name to query for in the DOM\n *\n * @returns {HTMLElement} - Root element to start querying from\n */\nconst getRootElement = (componentTagName) => {\n\tif (ContextManager.isModalOpen) {\n\t\t// Modal was opened, need to query from sn-canvas-modal-hoist\n\t\t// TODO - May need to rethink this strategy when Polaris App Shell implements their shortcut directory modal as this will need to render on top of current modal\n\t\treturn queryDeepBySelector(APP_SHELL_MODAL_HOIST);\n\t}\n\n\t// Need to query from the active screen for all components except for the app shell components\n\treturn APP_SHELL_COMPONENTS.includes(componentTagName)\n\t\t? document.body\n\t\t: getActiveScreen();\n};\n\n/**\n * @function findFirstChildElement\n *\n * @description Queries for the first element in the DOM matching the component tag name\n *\n * @param {String} componentTagName - Component tag to query for in the DOM\n * @param {HTMLElement} rootElement - Root element to query for the target component\n * @param {Boolean} shouldValidateElement - Whether to validate the element or not\n *\n * @returns {HTMLElement} - Root element to query for the target component\n */\nexport const findFirstChildElement = (\n\tcomponentTagName,\n\trootElement = getRootElement(componentTagName),\n\tshouldValidateElement = true\n) => {\n\tconst element = queryDeepBySelector(componentTagName, rootElement);\n\n\tif (element && (!shouldValidateElement || validateElement(element))) {\n\t\treturn element;\n\t}\n\n\treturn findFirstChildElement(\n\t\tcomponentTagName,\n\t\telement || rootElement,\n\t\tshouldValidateElement\n\t);\n};\n\n/**\n * @function getActiveElement\n *\n * @description Iterates through the Shadow DOM and gets the activeElement\n *\n * @param {Document|ShadowRoot} root\n *\n * @returns {Element} active element in the DOM\n */\nexport const getActiveElement = (root = document) => {\n\tconst activeEl = root.activeElement;\n\n\tif (!activeEl) {\n\t\treturn null;\n\t}\n\n\tif (activeEl.shadowRoot) {\n\t\treturn getActiveElement(activeEl.shadowRoot);\n\t}\n\treturn activeEl;\n};\n\n/**\n * @function getTargetElement\n *\n * @description Gets the target element to execute the appropriate action\n *\n * @param {String} componentTagName - Component tag name to query for in the DOM\n *\n * @returns {HTMLElement}\n */\nexport const getTargetElement = (componentTagName) => {\n\tconst activeElement = getActiveElement();\n\n\tconst element =\n\t\tactiveElement === document.body\n\t\t\t? null\n\t\t\t: findNearestParentElement(activeElement, componentTagName);\n\n\tif (element) {\n\t\treturn element;\n\t}\n\n\treturn findFirstChildElement(componentTagName);\n};\n","import {findNearestParentElement} from './helpers/querySelectors';\nimport {set} from '@devsnc/snowdash';\nimport {shortcutLogger as console} from './helpers/getLogger';\n\nconst ComponentRegistrySingleton = (function () {\n\treturn {\n\t\tgetInstance() {\n\t\t\tif (!window?.uxfTriggerLibrary?.componentRegistry) {\n\t\t\t\tset(window, ['uxfTriggerLibrary', 'componentRegistry'], new Map());\n\t\t\t}\n\t\t\treturn window.uxfTriggerLibrary.componentRegistry;\n\t\t}\n\t};\n})();\n\nexport const ComponentRegistry = ComponentRegistrySingleton.getInstance();\n\nexport const transformAction = (action) => ({\n\tactive: action.active !== undefined ? action.active : true,\n\taction: typeof action === 'function' ? action : action.action\n});\n\n/**\n * @function transformActionMap\n *\n * @description - Transforms an action map to the new format with active status\n *\n * @param {Object} actionMap - An object of action handlers defining reactions to user keyboard input\n *\n * @returns {Object} - New action map format\n */\nexport const transformActionMap = (actionMap) => {\n\tconst transformedActionMap = {};\n\n\tObject.entries(actionMap).forEach(([actionKey, action]) => {\n\t\ttransformedActionMap[actionKey] = transformAction(action);\n\t});\n\n\treturn transformedActionMap;\n};\n\n/**\n * @function mergeActionMaps\n * @description takes two actionmaps belonging to a single component being\n * registered through registerComponent and merges it into a single actionMap.\n * @param {Object} originalActionMap\n * @param {Object} registryValueActionMap\n * @returns A single object of both maps.\n */\nconst mergeActionMaps = (originalActionMap, registryValueActionMap) => {\n\tconst mergedMap = {...originalActionMap};\n\tfor (const actionKey in registryValueActionMap) {\n\t\tif (!mergedMap[actionKey]) {\n\t\t\tmergedMap[actionKey] = registryValueActionMap[actionKey];\n\t\t}\n\t}\n\treturn mergedMap;\n};\n\n/**\n * @function setComponentInRegistry\n * @description If component has already been registered, merge their action maps, otherwise set component\n * into registry as normal.\n * @param {String} nowId\n * @param {ComponentRegistryMetadata} registryValue\n */\nconst setComponentInRegistry = (nowId, registryValue) => {\n\tconst registeredComponent = ComponentRegistry.get(nowId.toUpperCase());\n\tif (registeredComponent) {\n\t\t// Already registered.\n\t\tregistryValue.actionMap = mergeActionMaps(\n\t\t\tregisteredComponent.actionMap,\n\t\t\tregistryValue.actionMap\n\t\t);\n\t}\n\n\tComponentRegistry.set(nowId.toUpperCase(), registryValue);\n\n\tconsole.log(\n\t\t`Registered component ${registryValue.registeredElement.tagName} - ${nowId}:`,\n\t\tregistryValue\n\t);\n};\n\n/**\n * @function registerComponent\n *\n * @description - Registers a component in the keyboard shortcut component registry\n *\n * @example\n *\n * let registeredId = \"\";\n *\n * actionHandlers: {\n * [actionTypes.COMPONENT_BOOTSTRAPPED]({host, dispatch, updateState, properties}) {\n * \tregisteredId = registerComponent(host, {\n * \t\tparentComponentTagName: 'now-record-common-uiactionbar',\n * \t\tupdateState,\n * \t\tactionMap: {\n * \t\t\t['TRIGGER_SOMETHING']({payload, properties, state}) {\n * \t\t\t\tconst {someStateValue} = state;\n * \t\t\t\tconst {someProp} = properties;\n * \t\t\t\tdispatch('MY_ACTION', {someProp, someStateValue});\n * \t\t\t},\n * \t\t},\n * \t});\n * }\n * @param {HTMLElement} host - host element\n * @param {Object} metadata - object containing keyboard action metadata\n * @param {String} metadata.parentComponentTagName - parent component of an \"internal component\". Parent Component must have an associated sys_ux_macroponent record. This is required when the host.tagName does not have an associated sys_ux_macroponent record\n * @param {Function} metadata.updateState - updateState function from Seismic actionHandler\n * @param {Object} metadata.actionMap - an object of action handlers defining reactions to user keyboard input\n *\n * @returns {String} nowId of registered component. Only needed when updating available actions\n */\nexport const registerComponent = (host, metadata) => {\n\tif (!host) {\n\t\tconsole.warn(\n\t\t\t'Failed to register component for shortcuts. Host element null or undefined.'\n\t\t);\n\t\treturn;\n\t}\n\n\tif (!metadata?.actionMap || !metadata?.updateState) {\n\t\tconsole.warn(\n\t\t\t'Failed to register component for shortcuts. Second param must contain both actionMap and updateState!',\n\t\t\thost\n\t\t);\n\t\treturn;\n\t}\n\n\tconst {parentComponentTagName, actionMap, updateState} = metadata;\n\n\t// Resolving the correct nowId attribute:\n\t// When parentComponentTagName is not present, it is assumed the host element is a component that has an associated sys_ux_macroponent element\n\t// When parentComponentTagName is present, it means an \"internal component\" is being registered (i.e. no sys_ux_macroponent) and we need to grab the parent component tag's nowId\n\tconst registeredElement = parentComponentTagName\n\t\t? findNearestParentElement(host, parentComponentTagName, false)\n\t\t: host;\n\tconst {nowId} = registeredElement;\n\tconst registryValue = {\n\t\tregisteredElement,\n\t\thost,\n\t\tupdateState,\n\t\tactionMap: transformActionMap(actionMap)\n\t};\n\n\tsetComponentInRegistry(nowId, registryValue);\n\n\treturn nowId;\n};\n\n/**\n * @function deregisterComponent\n *\n * @description - Deregisters a component from the keyboard shortcut component registry\n *\n * @param {String} nowId - The id returned from registerComponent()\n */\nexport const deregisterComponent = (nowId) => {\n\tif (!nowId) {\n\t\tconsole.warn(\n\t\t\t'Failed to deregister component from registry. nowId must be provided.'\n\t\t);\n\t\treturn;\n\t}\n\n\tComponentRegistry.delete(nowId.toUpperCase());\n\tconsole.log(`Deregistered component ${nowId}`);\n};\n\n/**\n * @function getComponentFromRegistry\n *\n * @description - Gets a component from the registry matching the passed nowId\n *\n * @param {String} nowId - The seismic nowId attribute of the component\n *\n * @returns {ComponentRegistryMetadata}\n */\nexport const getComponentFromRegistry = (nowId) =>\n\tComponentRegistry.get(nowId.toUpperCase());\n\n/**\n * @function getAllComponentsFromRegistry\n *\n * @description - Gets all values from the component registry\n *\n * @returns {Array<ComponentRegistryMetadata>}\n */\nexport const getAllComponentsFromRegistry = () =>\n\tArray.from(ComponentRegistry.values());\n","/**\n * @typedef {Object} ShortcutsState\n * @property {Boolean} active - Whether or not UX Keyboard Shortcuts are active and handle keyboard events.\n * @property {Boolean} initialized - Whether shortcuts initialized (loaded and registered OOB and Overriden shortcuts).\n */\n\n/**\n * Parameters that are allowed to be set in the shortcuts state.\n * @typedef {Object} SetShortcutsStateParams\n * @property {Boolean} active - Whether or not UX Keyboard Shortcuts are active and handle keyboard events.\n */\n\n/**\n * UX Keyboard Shortcut Active state.\n * When set to false, prevents keyboard events to be handled by shortcut engine.\n * @type {ShortcutsState}\n */\nconst shortcutState = {\n\tactive: true,\n\tinitialized: false\n};\n\n/**\n * @returns {ShortcutsState} - Whether or not UX Keyboard Shortcuts are active.\n */\nexport const getShortcutsState = () => ({...shortcutState});\n\n/**\n * Applies allowed UX Keyboard Shortcuts state parameters.\n * @param {SetShortcutsStateParams} newStateParams - New state parameters to apply.\n */\nexport const setShortcutsState = (newStateParams = {}) => {\n\tif (Object.hasOwn(newStateParams, 'active')) {\n\t\tif (typeof newStateParams.active !== 'boolean') {\n\t\t\tthrow new Error('Invalid parameter type. \"active\" must be a boolean.');\n\t\t}\n\t\tshortcutState.active = newStateParams.active;\n\t}\n};\n\n/**\n * Array of objects with Promise resolvers that resolve once shortcuts initialized.\n * @type {Array<Object>}\n */\nconst initializedPromiseResolvers = [];\n\n/**\n * Internal function to register initialized state and notify {@link onShortcutInitialize} listeners\n * @param {Boolean} initialized - Whether shortcuts are initialized.\n */\nexport const setInitialized = (initialized) => {\n\tshortcutState.initialized = initialized;\n\tif (!shortcutState.initialized) {\n\t\treturn;\n\t}\n\tfor (const promiseResolver of initializedPromiseResolvers) {\n\t\tpromiseResolver.resolve();\n\t}\n\t// Clear the array of resolved promises.\n\tinitializedPromiseResolvers.splice(0, initializedPromiseResolvers.length);\n};\n\n/**\n * Returns a Promise that resolves once shortcuts are initialized.\n * Note: The returned Promise does not reject. Any failures during shortcuts initialization fallback\n * gracefully.\n * @returns {Promise<void>}\n */\nexport const onShortcutsInitialized = () => {\n\tif (shortcutState.initialized) {\n\t\treturn Promise.resolve();\n\t}\n\treturn new Promise((resolve) => {\n\t\tinitializedPromiseResolvers.push({resolve});\n\t});\n};\n","import {getAllComponentsFromRegistry} from './componentRegistry';\nimport {\n\tACTION_BAR,\n\tcheckVisibility,\n\tisChildOfRootElement,\n\tSN_POLARIS_LAYOUT\n} from './helpers';\nimport {isNil} from '@devsnc/snowdash';\nimport {ContextManager} from './contextManager';\n\n/**\n * @function filterActiveComponents\n *\n * @description - Filters out components that are not visible or have no active actions.\n * If Modal is opened, it will only include shortcuts that are applicable to components in the modal.\n * Also if modal is opened, it will always return polaris-app-shell and will later only include the shortcut directory modal shortcut\n *\n * @param {HTMLElement} component - The component to filter\n *\n * @returns {Boolean} - Whether or not the component is visible with active actions\n */\nexport const filterActiveComponents = (component) => {\n\t// We always need to allow polaris-app-shell if the modal is opened (for shortcut directory modal), but will filter out the non-shortcut modal shortcuts in the getApplicableComponents method\n\tconst modalCase =\n\t\t!ContextManager.isModalOpen ||\n\t\t(ContextManager.isModalOpen &&\n\t\t\t(isChildOfRootElement(\n\t\t\t\tContextManager.modalContext,\n\t\t\t\tcomponent.registeredElement\n\t\t\t) ||\n\t\t\t\tcomponent.registeredElement.tagName === SN_POLARIS_LAYOUT));\n\n\treturn (\n\t\tcheckVisibility(component.registeredElement) &&\n\t\tObject.values(component.actionMap).some((action) => action.active) &&\n\t\tmodalCase\n\t);\n};\n\n/**\n * @class ApplicableComponentAdapter\n *\n * @classdesc Adapter used to link applicable components from the component registry to keyboard shortcuts\n */\nexport class ApplicableComponentAdapter {\n\tconstructor() {\n\t\tthis._setActiveComponents();\n\t}\n\n\t/**\n\t * @function _setActiveComponents\n\t *\n\t * @description - Internal use only! Sets the active components for the current page\n\t */\n\t_setActiveComponents() {\n\t\tthis.activeComponents = getAllComponentsFromRegistry().filter(\n\t\t\tfilterActiveComponents\n\t\t);\n\t}\n\n\t/**\n\t * @function getActiveComponents\n\t *\n\t * @description Gets all registered components relevant to the current page that have active actions\n\t *\n\t * @returns {Array<ComponentRegistryMetadata>} - Array of components which have active actions and match the currently active page\n\t */\n\tgetActiveComponents() {\n\t\treturn this.activeComponents;\n\t}\n\n\t/**\n\t * @function getApplicableElements\n\t *\n\t * @description Gets all component instances that are applicable to a specific shortcut\n\t *\n\t * @param {String} componentTagName - The tag name of the component to get applicable elements for\n\t * @param {String} actionKey - The action key to filter against\n\t * @param {Object} actionPayload - The action payload to filter against when componentTagName is ACTION_BAR\n\t *\n\t * @returns {Array<ComponentRegistryMetadata>} - Array of applicable components\n\t *\n\t */\n\tgetApplicableComponents(componentTagName, actionKey, actionPayload) {\n\t\treturn this.activeComponents\n\t\t\t.filter(\n\t\t\t\t(component) =>\n\t\t\t\t\tcomponent.registeredElement.tagName === componentTagName.toUpperCase()\n\t\t\t)\n\t\t\t.filter((component) => {\n\t\t\t\tconst {actionMap} = component;\n\n\t\t\t\treturn (\n\t\t\t\t\tObject.keys(actionMap).includes(actionKey) &&\n\t\t\t\t\tactionMap[actionKey].active\n\t\t\t\t);\n\t\t\t})\n\t\t\t.filter((component) => {\n\t\t\t\tconst {registeredElement} = component;\n\t\t\t\tconst {tagName} = registeredElement;\n\n\t\t\t\treturn (\n\t\t\t\t\ttagName !== ACTION_BAR ||\n\t\t\t\t\tisNil(actionPayload?.actionName) ||\n\t\t\t\t\tcomponent.availableActions.includes(actionPayload.actionName)\n\t\t\t\t);\n\t\t\t});\n\t}\n}\n","/**\n * @class ActionStateQueue\n * @description Array based queue representing the action states that\n * are dependent on shortcut registry\n */\nexport class ActionStateQueue extends Array {\n\tstatic __queue = null;\n\n\t/**\n\t * @function enqueue\n\t * @description Adds an action state to the action state queue\n\t * @param {obj} element - action state to be added to the queue\n\t */\n\tenqueue(element) {\n\t\tActionStateQueue.__queue.push(element);\n\t}\n\n\t/**\n\t * @function dequeue\n\t * @description Removes and returns the next action state in the queue\n\t * @returns the removed action state\n\t */\n\tdequeue() {\n\t\treturn ActionStateQueue.__queue.length > 0\n\t\t\t? ActionStateQueue.__queue.shift()\n\t\t\t: null;\n\t}\n}\n\n/**\n * @function actionStateQueue\n * @description accessor that fufills the singleton for the ActionStateQueue.\n * Provides access to the actionStateQueue methods.\n */\nexport const actionStateQueue = (() => {\n\tif (!ActionStateQueue.__queue) {\n\t\tActionStateQueue.__queue = new ActionStateQueue();\n\t}\n\treturn ActionStateQueue.__queue;\n})();\n\nexport default actionStateQueue;\n","import {\n\tgetShortcutByKey,\n\thasRegisteredShortcuts,\n\tgetShortcutByPayloadCondition\n} from './shortcutRegistry';\nimport {getComponentFromRegistry} from './componentRegistry';\nimport {actionStateQueue} from './helpers/ActionStateQueue';\nimport {shortcutLogger as console} from './helpers/getLogger';\n\n/**\n * @function setComponentAction\n * @description - Toggles the active state of a shortcut action\n * @param {ComponentRegistryMetadata} component - component registered\n * @param {String} actionKey - The key of the action to toggle\n * @param {boolean} [active=true] - The active state to set\n */\nconst setComponentAction = (component, actionKey, active = true) => {\n\tif (!component || !actionKey) {\n\t\tconsole.warn('Failed to set action state - missing params.');\n\t\treturn;\n\t}\n\n\tif (!component.actionMap[actionKey]) {\n\t\tconsole.warn(\n\t\t\t'Failed to set action state - action not found in component action map.'\n\t\t);\n\t\treturn;\n\t}\n\n\tcomponent.actionMap[actionKey].active = active;\n};\n\n/**\n * @function setActionStateByPayload\n * @description Allow for custom payloads to be the identifier for shortcuts using the same defined action\n * @param {ComponentRegistryMetadata} component - component registered\n * @param {String} actionKey - Shortcut action key\n * @param {boolean} [active=true] - State to set the shortcut to\n * @param {Object} payloadCondition - The payload to match with, expecting key:value pairs\n * @example new ActionStateByPayload(registeredComponentId, CLICK_TOOLBAR_BUTTON_SHORTCUT, {'id': id});\n */\nconst setActionStateByPayload = (\n\tcomponent,\n\tactionKey,\n\tactive = true,\n\tpayloadCondition\n) => ({\n\tsetAction() {\n\t\tconst {registeredElement} = component;\n\t\tconst shortcut = getShortcutByPayloadCondition(\n\t\t\tregisteredElement.tagName,\n\t\t\tactionKey,\n\t\t\tpayloadCondition\n\t\t);\n\n\t\tif (shortcut.length) {\n\t\t\tsetComponentAction(component, actionKey, active);\n\t\t}\n\t}\n});\n\n/**\n * @function setActionStateBySysId\n * @description Sets the active state of a shortcut action by shortcut key\n * @param {ComponentRegistryMetadata} component - component registered\n * @param {boolean} [active=true] - State to set the shortcut to\n * @param {String} shortcutDefinitionSysId - sysId belonging to the shortcut definition\n */\nconst setActionStateBySysId = (component, active, shortcutDefinitionSysId) => ({\n\tsetAction() {\n\t\tconst shortcut = getShortcutByKey(shortcutDefinitionSysId);\n\n\t\tif (shortcut) {\n\t\t\tconst {actionKey} = shortcut;\n\t\t\tsetComponentAction(component, actionKey, active);\n\t\t}\n\t}\n});\n\n/**\n * @function setActionStateFactory\n * @description Called outside of now-trigger-library for special case\n * activation of shortcuts. factory for determining the specific use case of set action based on\n * metadata provided. *Implements the factory & decorator patterns, not intended for use\n * outside this file.\n * @param {String} registeredComponentId - nowId returned from registerComponent\n * @param {boolean} active - The active state to set\n * @param {ActionStateMetadata} shortcutMetadata - optional param that represents an object of specific metadata information\n */\nexport const setActionStateForShortcut = (\n\tregisteredComponentId,\n\tactive = true,\n\tshortcutMetadata\n) => {\n\tconst component = getComponentFromRegistry(registeredComponentId);\n\n\tlet handleState;\n\n\tif (shortcutMetadata?.condition) {\n\t\t// Payload Condition\n\t\tconst {actionKey, condition} = shortcutMetadata;\n\t\thandleState = setActionStateByPayload(\n\t\t\tcomponent,\n\t\t\tactionKey,\n\t\t\tactive,\n\t\t\tcondition\n\t\t);\n\t} else if (shortcutMetadata?.shortcutDefinitionSysId) {\n\t\t// Shortcut sysID\n\t\tconst {shortcutDefinitionSysId} = shortcutMetadata;\n\t\thandleState = setActionStateBySysId(\n\t\t\tcomponent,\n\t\t\tactive,\n\t\t\tshortcutDefinitionSysId\n\t\t);\n\t} else if (shortcutMetadata?.actionKey) {\n\t\t// Default Action Key\n\t\tconst {actionKey} = shortcutMetadata;\n\t\tsetComponentAction(component, actionKey, active);\n\t\treturn;\n\t}\n\n\t// Because cases are dependent on whether shortcuts have been registered or not yet,\n\t// Only call setAction() on the object constructed when shortcuts registered.\n\t// Otherwise the object will be added to a queue to later call setAction upon at shortcut registry\n\tif (hasRegisteredShortcuts()) {\n\t\thandleState.setAction();\n\t} else {\n\t\tactionStateQueue.enqueue(handleState);\n\t}\n};\n\n/**\n * @function setActionState\n *\n * @description - Toggles the active state of a shortcut action\n *\n * @param {String} registeredComponentId - The id returned from registerComponent()\n * @param {String} actionKey - The key of the action to toggle\n * @param {String} active - The active state to set\n *\n */\nexport const setActionState = (registeredComponentId, actionKey, active) => {\n\tif (!registeredComponentId || !actionKey || active === undefined) {\n\t\tconsole.warn('Failed to set action state - missing params.');\n\t\treturn;\n\t}\n\n\tconst component = getComponentFromRegistry(registeredComponentId);\n\n\tsetComponentAction(component, actionKey, active);\n};\n\n/**\n * @function setAvailableActions\n *\n * @description - Only intended to be used by the ActionBar component! Used to update a pre-registered component's availableActions array which is used for filtering the shortcut modal\n * @see {@link getContextualizedShortcuts}\n *\n * @example\n * const availableActions = properties\n * \t.actionNodes\n *  .flatMap(node => node.children.flatMap(child => child.action.name));\n *\n *  setAvailableActions(registeredId, availableActions); // registeredId comes from registerComponent();\n *\n * @param {String} nowId - String that was returned from registerComponent()\n * @param {Array<String>} actionNames -  Array of action names to set against the registered component\n */\nexport const setAvailableActions = (nowId, actionNames) => {\n\tconst component = getComponentFromRegistry(nowId);\n\n\tif (!component) {\n\t\tconsole.warn(\n\t\t\t'Failed to set available actions - component not found in registry.'\n\t\t);\n\t\treturn;\n\t}\n\n\tcomponent.availableActions = actionNames;\n};\n\n/**\n * @function setQueuedActionStates\n * @description Empties the queue of action states while calling their\n * setAction statement. See {@link setActionStateForShortcut} for use case where\n * states are enqueued due to registerShortcut race condition.\n */\nexport const setQueuedActionStates = () => {\n\twhile (actionStateQueue.length) {\n\t\tactionStateQueue.dequeue().setAction();\n\t}\n};\n","import {\n\tgetActiveElement,\n\tshadowQuerySelectorAll,\n\tshortcutLogger as console,\n\tcheckVisibility\n} from './helpers';\n\nimport {landmarkConstants} from './helpers/constants';\n\nconst {\n\tLANDMARK_FOCUS_FORWARD,\n\tLANDMARK_FOCUS_BACKWARD,\n\tLANDMARK_FOCUS_ATTR,\n\tLANDMARK_ACTIVE_ELEMENT_ATTR,\n\tLANDMARK_SELECTOR\n} = landmarkConstants;\n\nlet previousLandmark = null;\n\nexport const isLandmarkAction = (actionKey) =>\n\tactionKey === LANDMARK_FOCUS_FORWARD || actionKey === LANDMARK_FOCUS_BACKWARD;\n\nexport const landmarkAction = (actionKey) => {\n\tconst focusIncrement = actionKey === LANDMARK_FOCUS_FORWARD ? 1 : -1;\n\tconst currentActiveElement = getActiveElement();\n\n\tlet processedActiveElement;\n\tif (currentActiveElement.tagName === 'BODY') {\n\t\t// if the body is the current active element it means nothing has focus\n\t\t// or the user clicked a non-focusable part of the page\n\t\tif (window?.uxfTriggerLibrary?.lastClickedElement) {\n\t\t\t// there is a last clicked element, use that\n\t\t\t// note: there is a chance that the user clicks somewhere unfocusable,\n\t\t\t// then tabs to a focusable item, then that focus gets blurred somehow\n\t\t\t// which will cause the body to be the active element but won't reset\n\t\t\t// the last clicked element. This will likely be very rare, and not\n\t\t\t// a big deal even when it does happen but maybe if it gets complained\n\t\t\t// about we could address it somehow.\n\t\t\tprocessedActiveElement = window.uxfTriggerLibrary.lastClickedElement;\n\t\t} else {\n\t\t\t// if the body is the active element and there isn't a last-clicked element\n\t\t\t// then we'll use the body directly\n\t\t\tprocessedActiveElement = currentActiveElement;\n\t\t}\n\t} else {\n\t\t// the active element is not the body, so we'll just grab its host\n\t\tprocessedActiveElement = currentActiveElement.getRootNode().host;\n\t}\n\n\t// add this attribute to allow the active element to be included in the\n\t// array of landmarks in its relative position in the DOM\n\tprocessedActiveElement.setAttribute(LANDMARK_ACTIVE_ELEMENT_ATTR, true);\n\t// get all landmark enabled components and the active element\n\tconst landmarks = shadowQuerySelectorAll(LANDMARK_SELECTOR);\n\t// remove the active element attr since it's no longer needed\n\tprocessedActiveElement.removeAttribute(LANDMARK_ACTIVE_ELEMENT_ATTR);\n\tif (landmarks.length === 0) {\n\t\t//this won't happen because there'll always at least be the activeElement\n\t\tconsole.log(\n\t\t\t`[UXF Shortcuts] - Landmark shortcut triggered but there are no landmark elements on the page.`\n\t\t);\n\t\treturn;\n\t}\n\n\tif (landmarks.length === 1) {\n\t\tif (landmarks[0].getAttribute(LANDMARK_FOCUS_ATTR) === 'true') {\n\t\t\tconsole.log(`[UXF Shortcuts] - Focus is already on the only landmark.`);\n\t\t} else {\n\t\t\tconsole.log(\n\t\t\t\t`[UXF Shortcuts] - Landmark shortcut triggered but there are no landmark elements on the page.`\n\t\t\t);\n\t\t}\n\t\treturn;\n\t}\n\n\tconst landmarkIndex = landmarks.indexOf(processedActiveElement);\n\tlet incrementedIndex =\n\t\t(landmarkIndex + landmarks.length + focusIncrement) % landmarks.length;\n\n\twhile (\n\t\tlandmarks[incrementedIndex].getAttribute('component-id') ===\n\t\t\tpreviousLandmark ||\n\t\t(!checkVisibility(landmarks[incrementedIndex]) &&\n\t\t\tincrementedIndex !== landmarkIndex)\n\t) {\n\t\tincrementedIndex =\n\t\t\t(incrementedIndex + landmarks.length + focusIncrement) % landmarks.length;\n\t}\n\tpreviousLandmark = landmarks[incrementedIndex].getAttribute('component-id');\n\tlandmarks[incrementedIndex]?.focus();\n\treturn;\n};\n\n/**\n * @funciton handleLastClicked\n *\n * @description Handles the last clicked element. This is used for landmark focusing shortcuts\n *\n * @param {PointerEvent} e\n */\nexport const handleLastClicked = (e) => {\n\tconst composedPath = e.composedPath();\n\tif (!window.uxfTriggerLibrary) {\n\t\twindow.uxfTriggerLibrary = {lastClickedElement: undefined};\n\t}\n\n\twindow.uxfTriggerLibrary.lastClickedElement = composedPath[0];\n};\n\n/**\n * @function hasLandmarksOnPage\n *\n * @description Checks if there are landmarks on the page\n *\n * @returns {Boolean} - Whether or not there are landmarks on the page\n */\nexport const hasLandmarksOnPage = () => {\n\tconst landmarks = shadowQuerySelectorAll(`[${LANDMARK_FOCUS_ATTR}]`);\n\n\tfor (const landmark of landmarks) {\n\t\t// At least one visible landmark on the page.\n\t\tif (checkVisibility(landmark)) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n};\n","import {\n\ttransformShortcutKeys,\n\tprettifyMacShortcut,\n\tprettifyWindowsShortcut,\n\tisMac,\n\tshortcutLogger as console,\n\tSHORTCUT_DIRECTORY_MODAL_ACTION,\n\tSN_POLARIS_LAYOUT\n} from './helpers';\nimport {ApplicableComponentAdapter} from './ApplicableComponentAdapter';\nimport {setQueuedActionStates} from './shortcutActionManager';\nimport {hasLandmarksOnPage, isLandmarkAction} from './landmarkEngine';\nimport {ContextManager} from './contextManager';\n\n/**\n * OOB shortcuts (no overrides)\n * @type {Map<String, RuntimeShortcut>}\n */\nexport const ShortcutRegistry = new Map();\n\nexport const getAllOOBShortcuts = () => ShortcutRegistry;\n\n/**\n * Stores all user keyboard shortcut: both OOB and overriden.\n * Map key is a shortcut sysId.\n * @type {Map<String, RuntimeShortcut>}\n */\nexport const IntersectedShortcutRegistry = new Map();\n\n/**\n * @function getAllShortcuts\n *\n * @description Returns an array of all registered keyboard shortcuts, including user overriden\n * shortcuts.\n *\n * @example\n * const shortcuts = getAllShortcuts();\n *\n * @returns {Array<RuntimeShortcut>} shortcuts - An array of keyboard shortcut objects\n */\nconst getAllShortcuts = () => Array.from(IntersectedShortcutRegistry.values());\n\n/**\n * @function getShortcutByKey\n * @param {String} key - The sysId of the shortcut to retrieve\n * @returns {RuntimeShortcut} shortcut - The shortcut matching the given key\n */\nexport const getShortcutByKey = (key) => IntersectedShortcutRegistry.get(key);\n\n/**\n * @function getAllShortcutsByActionKey\n * @param {String} componentTagName\n * @param {String} actionKey\n * @returns array of shortcuts with the action key associated to the component tag name\n */\nexport const getAllShortcutsByActionKey = (componentTagName, actionKey) =>\n\tgetAllShortcuts().filter(\n\t\t(shortcut) =>\n\t\t\tshortcut.componentTagName == componentTagName &&\n\t\t\tshortcut.actionKey == actionKey\n\t);\n\n/**\n * @function getShortcutByPayloadCondition\n * @param {String} componentTagName\n * @param {String} actionKey\n * @param {Object} payloadCondition\n * @returns shortcut that has the matching payload\n */\nexport const getShortcutByPayloadCondition = (\n\tcomponentTagName,\n\tactionKey,\n\tpayloadCondition\n) =>\n\tgetAllShortcutsByActionKey(componentTagName, actionKey).filter((shortcut) =>\n\t\tObject.entries(payloadCondition).every(\n\t\t\t([key, value]) => shortcut.actionPayload[key] === value\n\t\t)\n\t);\n\n/**\n * @function hasRegisteredShortcuts\n * @returns {Boolean} whether the shortcuts have been registered or not\n */\nexport const hasRegisteredShortcuts = () => ShortcutRegistry.size > 0;\n\n/**\n * @function registerShortcuts\n *\n * @description Registers the fetched OOB shortcuts in the ShortcutRegistry map.\n *\n * @param {Array<ShortcutMetadata>} shortcuts\n */\nexport const registerShortcuts = (shortcuts) => {\n\tshortcuts.forEach((shortcutMetadata) => {\n\t\tconst {\n\t\t\tsysId,\n\t\t\tdefinitionSysId,\n\t\t\tname,\n\t\t\tlabel,\n\t\t\tdescription,\n\t\t\tcategory,\n\t\t\tcategoryValue,\n\t\t\torder,\n\t\t\treadonly,\n\t\t\tactionPayload,\n\t\t\tcomponentTag,\n\t\t\tactionKey,\n\t\t\tshortcut\n\t\t} = shortcutMetadata;\n\n\t\tconst {mac, windows} = shortcut;\n\n\t\tShortcutRegistry.set(definitionSysId, {\n\t\t\tname,\n\t\t\tlabel,\n\t\t\tshortcutSysId: sysId,\n\t\t\tdescription,\n\t\t\tcategory,\n\t\t\tcategoryValue,\n\t\t\torder,\n\t\t\toverriden: false,\n\t\t\treadonly,\n\t\t\tactionPayload,\n\t\t\tcomponentTagName: componentTag.toUpperCase(),\n\t\t\tactionKey,\n\t\t\tshortcut: transformShortcutKeys(shortcut),\n\t\t\tprettifiedShortcuts: {\n\t\t\t\tmac: prettifyMacShortcut(mac),\n\t\t\t\twindows: prettifyWindowsShortcut(windows)\n\t\t\t}\n\t\t});\n\t});\n\n\tsetQueuedActionStates();\n\n\tconsole.log('Shortcuts registered: ', ShortcutRegistry.entries());\n};\n\n/**\n * @function getContextualizedShortcuts\n *\n * @description Gets all shortcuts that are currently applicable to a given page (i.e. Filters out List shortcuts when on the Record Page, vice versa)\n *\n * @example\n * const shortcuts = getContextualizedShortcuts();\n *\n * @returns {Object[]} shortcuts - an array of keyboard shortcuts that are global or applicable\n * to a specific page\n */\nexport const getContextualizedShortcuts = () => {\n\tconst applicableComponentAdapter = new ApplicableComponentAdapter();\n\n\t// flatten the active components array to only get the registered tag names\n\tconst activeComponentTagNames = applicableComponentAdapter\n\t\t.getActiveComponents()\n\t\t.flatMap((c) => c?.registeredElement?.tagName);\n\n\treturn getAllShortcuts()\n\t\t.filter((shortcut) =>\n\t\t\tactiveComponentTagNames.includes(shortcut.componentTagName)\n\t\t)\n\t\t.filter((shortcut) => {\n\t\t\tconst {componentTagName, actionKey, actionPayload} = shortcut;\n\n\t\t\t// Actions can be dynamically activated & deactivated, components can be added & removed from DOM.\n\t\t\t// We need to always ensure the shortcut's applicableComponents is up to date prior to returning the shortcut\n\t\t\tshortcut.applicableComponents =\n\t\t\t\tapplicableComponentAdapter.getApplicableComponents(\n\t\t\t\t\tcomponentTagName,\n\t\t\t\t\tactionKey,\n\t\t\t\t\tactionPayload\n\t\t\t\t);\n\n\t\t\t// In the case of a modal being opened, we need to force an override to allow the shortcut modal to load.\n\t\t\t// When a modal is opened, the shortcut directory modal has no applicableComponents as polaris-app-shell shortcuts \"should\" be disabled. Only the component shortcuts within a modal are applicable.\n\t\t\tif (\n\t\t\t\tContextManager.isModalOpen &&\n\t\t\t\tcomponentTagName === SN_POLARIS_LAYOUT\n\t\t\t) {\n\t\t\t\treturn actionKey === SHORTCUT_DIRECTORY_MODAL_ACTION;\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t(!ContextManager.isModalOpen &&\n\t\t\t\t\tisLandmarkAction(actionKey) &&\n\t\t\t\t\thasLandmarksOnPage()) ||\n\t\t\t\tshortcut.applicableComponents.some(\n\t\t\t\t\t(component) => component.actionMap[shortcut.actionKey]?.active\n\t\t\t\t)\n\t\t\t);\n\t\t});\n};\n\n/**\n * @function getAllPrettifiedShortcuts\n * @param {Boolean} avoidContextualize - If true, returns all shortcuts regardless of page context\n *\n * @description Gets all \"prettified\" shortcuts matching the current user platform (e.g. \"Cmd + Shift + s\")\n *\n * @returns {Array<{name: String, shortcut: PrettifiedShortcut}>}\n */\nexport const getAllPrettifiedShortcuts = (avoidContextualize = false) => {\n\tconst shortcuts = avoidContextualize\n\t\t? getAllShortcuts()\n\t\t: getContextualizedShortcuts();\n\n\tconst prettifiedShortcuts = shortcuts.map((s) => {\n\t\tconst {prettifiedShortcuts} = s;\n\t\tconst shortcut = isMac()\n\t\t\t? prettifiedShortcuts.mac\n\t\t\t: prettifiedShortcuts.windows;\n\n\t\treturn {\n\t\t\tlabel: s.label,\n\t\t\t// TODO: Remove \"name\" as it's deprecated for UI (\"label\" is provided instead)\n\t\t\tname: s.name,\n\t\t\tdescription: s.description,\n\t\t\tcategory: s.category,\n\t\t\tcategoryValue: s.categoryValue,\n\t\t\toverriden: s.overriden,\n\t\t\treadonly: s.readonly,\n\t\t\tshortcutSysId: s.shortcutSysId,\n\t\t\tshortcut\n\t\t};\n\t});\n\n\treturn avoidContextualize\n\t\t? prettifiedShortcuts\n\t\t: prettifiedShortcuts.filter(\n\t\t\t\t(shortcut, index, self) =>\n\t\t\t\t\t// remove duplicate shortcuts when both now-sidebar & now-uxf-tab-set are on the page\n\t\t\t\t\tindex === self.findIndex((s) => s.shortcut === shortcut.shortcut)\n\t\t  );\n};\n\n/**\n * @description Exported for testing purposes ONLY, not inteded for use in non-test code\n */\nexport const exportOnlyForTesting = {\n\tgetAllShortcuts\n};\n","import {\n\tcreateInteractionId,\n\tdefineMetric,\n\tmark,\n\tgetMetricTypes\n} from '@servicenow/ui-metrics';\nimport {get} from '@devsnc/snowdash';\n\nconst isMetricDefined = (event) => getMetricTypes()[event];\nexport const EVENT_METRIC = 'Keyboard Shortcut Usage';\nexport const USAGE_METRIC_LEVEL = 5;\nexport const METRIC_TYPE = 'usage';\n\nexport const initCustomKeyboardShortcutMetric = () => {\n\tif (!window.nowUiFramework) {\n\t\twindow.nowUiFramework = {};\n\t}\n\n\twindow.nowUiFramework.uxfKeyboardShortcutInteractionId =\n\t\tcreateInteractionId();\n\tdefineMetric(EVENT_METRIC, USAGE_METRIC_LEVEL);\n};\n\nexport const getKeyboardShortcutInteractionId = () =>\n\tget(\n\t\twindow,\n\t\t'nowUiFramework.uxfKeyboardShortcutInteractionId',\n\t\tcreateInteractionId()\n\t);\n\nexport const sysPropPerfEnabled = () =>\n\tget(\n\t\twindow,\n\t\t[\n\t\t\t'ux_globals',\n\t\t\t'libuxf',\n\t\t\t'sysprops',\n\t\t\t'glide.uxf.lib.performance.monitoring.enabled'\n\t\t],\n\t\t'false'\n\t) === 'true';\n\nexport const markKeyboardShortcut = (element, shortcutName) => {\n\t// don't log marks if usage tracking is disabled\n\tif (!sysPropPerfEnabled()) return;\n\n\t// make sure custom metric is defined\n\tif (!isMetricDefined(EVENT_METRIC)) {\n\t\tinitCustomKeyboardShortcutMetric();\n\t}\n\n\tconst interactionId = getKeyboardShortcutInteractionId();\n\tconst timestamp = Date.now();\n\tconst pageId = get(\n\t\twindow,\n\t\t'ux_globals.snCanvasScreen.screenData.macroponentSysId'\n\t);\n\tconst pageName = get(\n\t\twindow,\n\t\t'ux_globals.snCanvasScreen.screenData.defaultTitle'\n\t);\n\tconst componentId = element.nowId;\n\tconst workspaceName = get(\n\t\twindow,\n\t\t'ux_globals.snCanvasScreen.screenData.context.experienceName'\n\t);\n\tconst markOptions = {\n\t\tshortcutName,\n\t\ttimestamp,\n\t\tpageId,\n\t\tpageName,\n\t\tcomponentId,\n\t\tworkspaceName\n\t};\n\tmark(element, interactionId, EVENT_METRIC, markOptions, METRIC_TYPE);\n};\n","import {getComponentFromRegistry} from './componentRegistry';\nimport {getShortcutsState} from './shortcutsState';\nimport {getContextualizedShortcuts} from './shortcutRegistry';\nimport {landmarkAction, isLandmarkAction} from './landmarkEngine';\nimport {\n\tdedupeShortcuts,\n\tgetTargetElement,\n\tisMac,\n\tisWindows,\n\tKEY_PREFIXES,\n\tMODIFIER_KEYS,\n\tSUPPORTED_SPECIAL_CHARACTERS,\n\tshortcutLogger as console\n} from './helpers';\nimport {markKeyboardShortcut} from './trackUsageShortcutHandler';\n\n/**\n * @function triggerAction\n *\n * @description Looks up the component in the registry and executes the function in the actionMap matching the actionKey parameter\n *\n * @example\n *\n * triggerAction('1ta0nrjbs20k-144', 'HANDLE_ACTION', { foo: 'bar' });\n *\n * @param {String} nowId - The nowId of the matching component\n * @param {String} actionKey - The key of the action - sys_ux_keyboard_shortcut_definition.actionKey\n * @param {Object} actionPayload  - The payload to pass to the action - sys_ux_keyboard_shortcut_definition.actionPayload\n */\nexport const triggerAction = (nowId, actionKey, actionPayload) => {\n\tconst component = getComponentFromRegistry(nowId);\n\n\treturn new Promise((resolve, reject) => {\n\t\tif (!component) {\n\t\t\tconst errorMessage = `Component not found in registry for nowId '${nowId}'`;\n\t\t\tconsole.error(errorMessage);\n\t\t\treject(errorMessage);\n\t\t\treturn;\n\t\t}\n\n\t\tif (!component?.actionMap) {\n\t\t\tconst errorMessage = `No actionMap found for '${component?.registeredElement?.tagName?.toLowerCase()}' with nowId '${nowId}'`;\n\t\t\tconsole.error(errorMessage);\n\t\t\treject(errorMessage);\n\t\t\treturn;\n\t\t}\n\n\t\tconst {actionMap, updateState, host} = component;\n\t\tconst actionFn = actionMap[actionKey].action;\n\n\t\t// TODO - We need to account for the use case where there are several component instances on the page that have the same action map, but only one of them have disabled a single action\n\t\t// yet, one of the component instances has disabled a single action.\n\n\t\tif (!actionFn) {\n\t\t\tconst errorMessage = `Action function '${actionKey}' not found for '${component?.registeredElement?.tagName?.toLowerCase()}' with nowId '${nowId}'`;\n\t\t\tconsole.error(errorMessage);\n\t\t\treject(errorMessage);\n\t\t\treturn;\n\t\t}\n\n\t\t// Using updateState to get the latest coeffects for the component\n\t\tupdateState((coeffects) => {\n\t\t\tconst result = actionFn({\n\t\t\t\tpayload: actionPayload,\n\t\t\t\thost,\n\t\t\t\t...coeffects\n\t\t\t});\n\t\t\tconsole.log(\n\t\t\t\t`action '${actionKey}' triggered for ${component?.registeredElement?.tagName?.toLowerCase()} - nowId: ${nowId}`,\n\t\t\t\t{\n\t\t\t\t\tactionPayload,\n\t\t\t\t\thost,\n\t\t\t\t\tcoeffects\n\t\t\t\t}\n\t\t\t);\n\t\t\tresolve(result);\n\t\t});\n\t});\n};\n\n/**\n * @function filterShortcuts\n *\n * @description Checks the current keys being pressed and matches against a shortcut in the registry. If shortcut is found, will return the shortcut metadata\n *\n * @param {KeyboardEvent} e - KeyboardEvent from the keydown event\n *\n * @returns {Array<ShortcutMetadata>}\n */\nconst filterShortcuts = (e) => {\n\tconst {metaKey, altKey, ctrlKey, shiftKey, code} = e;\n\n\tconst contextualizedShortcuts = getContextualizedShortcuts();\n\n\tconsole.log(\n\t\t'Shortcut key combo detected; Attempting to match shortcut against contextualized shortcuts',\n\t\t{\n\t\t\tshortcut: {metaKey, altKey, ctrlKey, shiftKey, code: code.toLowerCase()},\n\t\t\tcontextualizedShortcuts\n\t\t}\n\t);\n\n\treturn contextualizedShortcuts.filter((shortcutMetadata) => {\n\t\tconst {shortcut} = shortcutMetadata;\n\t\tconst {mac, windows} = shortcut;\n\n\t\t// Platform verification was already performed during initializeShortcuts()\n\t\tconst platformShortcut = isMac() ? mac : windows;\n\n\t\treturn (\n\t\t\t!!platformShortcut.altKey === !!altKey &&\n\t\t\t!!platformShortcut.ctrlKey === !!ctrlKey &&\n\t\t\t!!platformShortcut.shiftKey === !!shiftKey &&\n\t\t\t!!platformShortcut.metaKey === !!metaKey &&\n\t\t\tplatformShortcut.code === code.toLowerCase()\n\t\t);\n\t});\n};\n\n/**\n * @function isModifierKeyPressedWithKey\n *\n * @description - Used for early exit of keydown event - Checks if at least one modifier key and one other non-modifier key is pressed at the same time.\n *\n * @param {KeyboardEvent} event\n * @param {Boolean} forPlatform - Optional parameter to account for platform when determining allowed modifiers\n * @returns {Boolean}\n */\nexport const isModifierKeyPressedWithKey = (event, forPlatform = false) => {\n\t// Check if any modifier key is pressed\n\tconst isModifierKeyPressed = Object.values(MODIFIER_KEYS).some((key) => {\n\t\tif (forPlatform) {\n\t\t\t// Control key on Mac and Meta key on Windows are not supported modifier keys\n\t\t\tif (\n\t\t\t\t(isMac() && key === MODIFIER_KEYS.CONTROL) ||\n\t\t\t\t(isWindows() && key === MODIFIER_KEYS.META)\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn event.getModifierState(key);\n\t});\n\tif (!isModifierKeyPressed) {\n\t\treturn false;\n\t}\n\n\t// Check if the key is alphanumeric or a special character\n\tconst isAlphanumericKey = Object.values(KEY_PREFIXES).some((prefix) =>\n\t\tevent.code.startsWith(prefix)\n\t);\n\n\t// Check if any supported special character keys are pressed\n\tconst isSpecialCharacterKey = Object.values(\n\t\tSUPPORTED_SPECIAL_CHARACTERS\n\t).includes(event.code);\n\n\treturn isAlphanumericKey || isSpecialCharacterKey;\n};\n\n/**\n * @function getResolvedShortcut\n *\n * @description - Validates duplicate shortcuts on the page and returns the resolved shortcut\n *\n * @param {Array} shortcuts - Shortcuts to validate\n *\n * @returns {ShortcutMetadata} - Resolved shortcut\n */\nconst getResolvedShortcut = (shortcuts) => {\n\tif (!shortcuts || !shortcuts.length) {\n\t\treturn;\n\t}\n\n\tif (shortcuts.length > 2) {\n\t\tconsole.warn('Duplicate shortcuts detected for the same key combination!');\n\t\treturn;\n\t}\n\n\tif (shortcuts.length === 1) {\n\t\tconst {\n\t\t\tcomponentTagName,\n\t\t\tactionKey,\n\t\t\tactionPayload,\n\t\t\tname,\n\t\t\tapplicableComponents\n\t\t} = shortcuts[0];\n\t\tlet element;\n\n\t\tif (applicableComponents.length === 1) {\n\t\t\t// If there is only one applicable component, use it's registeredElement to avoid DOM querying\n\t\t\telement = applicableComponents[0].registeredElement;\n\t\t} else {\n\t\t\tconsole.log(\n\t\t\t\t`Multiple applicable components found for shortcut. Attempting to resolve by querying DOM by tagName ${componentTagName} using strategy nearest parent or first child`\n\t\t\t);\n\t\t\telement = getTargetElement(componentTagName);\n\t\t}\n\n\t\treturn {\n\t\t\telement,\n\t\t\tactionKey,\n\t\t\tactionPayload,\n\t\t\tname\n\t\t};\n\t}\n\n\t// Should only ever fall into this use case on record pages that have both a now-contextual-sidebar & now-uxf-tab-set component (non-SRP)\n\treturn dedupeShortcuts(shortcuts);\n};\n\n/**\n * @function resolveKeyboardEvent\n *\n * @description - Resolves the keyboard event from a CustomEvent or KeyboardEvent\n *\n * @param {Event} event - CustomEvent or KeyboardEvent\n *\n * @returns {KeyboardEvent|undefined} - KeyboardEvent or undefined if not found\n */\nexport const resolveKeyboardEvent = (event) => {\n\tif (!event) {\n\t\treturn;\n\t}\n\n\tif (\n\t\tevent instanceof CustomEvent &&\n\t\tevent?.detail?.payload?.event instanceof KeyboardEvent\n\t) {\n\t\treturn event.detail.payload.event;\n\t}\n\n\t//else, event instanceof KeyboardEvent\n\treturn event;\n};\n\n/**\n * @function handleShortcutKeyDown\n *\n * @description key down handler attached to window\n *\n * @param {KeyboardEvent} e - Keyboard event\n */\nexport const handleShortcutKeyDown = (e) => {\n\tconst event = resolveKeyboardEvent(e);\n\n\t// Early exit if no modifier key is pressed with a non-modifier key\n\tif (!event || !isModifierKeyPressedWithKey(event)) {\n\t\treturn;\n\t}\n\n\tif (getShortcutsState().active === false) {\n\t\tconsole.log(\n\t\t\t'UX Keyboard shortcuts are inactive.',\n\t\t\t'keyDown event was not handled and will be propagated:',\n\t\t\tevent\n\t\t);\n\t\treturn;\n\t}\n\n\t// Parse key combo into shortcut\n\tconst shortcuts = filterShortcuts(event);\n\n\tif (shortcuts.length === 1 && isLandmarkAction(shortcuts[0].actionKey)) {\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\t\treturn landmarkAction(shortcuts[0].actionKey);\n\t}\n\n\t// Ideally, there will only be one shortcut returned from filterShortcuts(). If there is more than one, we need to validate if the shortcut is a known duplicate\n\tconst shortcut = getResolvedShortcut(shortcuts);\n\n\tif (!shortcut) {\n\t\treturn;\n\t}\n\n\tconst {element, actionKey, actionPayload, name} = shortcut;\n\n\tif (!element?.nowId) {\n\t\treturn;\n\t}\n\n\tevent.stopPropagation();\n\tevent.preventDefault(); // Need to prevent default to prevent browser shortcuts from firing or any other shortcuts that may be registered\n\ttriggerAction(element.nowId, actionKey, actionPayload);\n\tmarkKeyboardShortcut(element, name);\n};\n\n/**\n * @description Exported for testing purposes ONLY, not inteded for use in non-test code\n */\nexport const exportOnlyForTesting = {\n\tfilterShortcuts,\n\tgetResolvedShortcut\n};\n","import {isMac} from './helpers/supportedPlatforms.js';\nimport {\n\tgetAllOOBShortcuts,\n\tIntersectedShortcutRegistry\n} from './shortcutRegistry.js';\nimport {\n\tprettifyMacShortcut,\n\tprettifyWindowsShortcut,\n\ttransformShortcutKeys\n} from './helpers/shortcutUtils.js';\nimport {shortcutLogger as console} from './helpers/getLogger';\n\n/**\n * Stores ONLY Keyboard Shortcut Overrides for the current user, data coming from the server.\n * Map key is a shortcut sys_id.\n * @type {Map<String, PlatformShortcuts>}\n */\nconst UserOverrideShortcutsRegistry = new Map();\n\n/**\n * Returns keyboard shortcut overrides registered for current user.\n *\n * @returns {MapIterator<String, PlatformShortcuts>} Key is a shortcut sysId.\n */\nexport const getKeyboardShortcutOverrides = () =>\n\tUserOverrideShortcutsRegistry.entries();\n\nexport const hasShortcutOverrides = () =>\n\tUserOverrideShortcutsRegistry.size > 0;\n\nconst formatAndPrettifyShortcutByPlatform = (shortcutOverride) => {\n\tconst shortcutByPlatform = isMac()\n\t\t? shortcutOverride.mac\n\t\t: shortcutOverride.windows;\n\tconst prettifiedShortcutByPlatform = isMac()\n\t\t? prettifyMacShortcut(shortcutByPlatform)\n\t\t: prettifyWindowsShortcut(shortcutByPlatform);\n\n\tlet formattedShortcutByPlatform;\n\tlet formattedPrettifiedShortcutByPlatform;\n\tif (isMac()) {\n\t\tformattedShortcutByPlatform = {\n\t\t\tmac: shortcutByPlatform\n\t\t};\n\t\tformattedPrettifiedShortcutByPlatform = {\n\t\t\tmac: prettifiedShortcutByPlatform\n\t\t};\n\t} else {\n\t\tformattedShortcutByPlatform = {\n\t\t\twindows: shortcutByPlatform\n\t\t};\n\t\tformattedPrettifiedShortcutByPlatform = {\n\t\t\twindows: prettifiedShortcutByPlatform\n\t\t};\n\t}\n\treturn {formattedShortcutByPlatform, formattedPrettifiedShortcutByPlatform};\n};\n\n/**\n * Applies keyboard shortcut overrides to the registered OOB keyboard shortcuts.\n */\nexport const intersectShortcutOverrides = () => {\n\tIntersectedShortcutRegistry.clear();\n\tfor (const [\n\t\tshortcutKey,\n\t\tshortcutMetadata\n\t] of getAllOOBShortcuts().entries()) {\n\t\tconst {shortcutSysId} = shortcutMetadata;\n\n\t\tif (UserOverrideShortcutsRegistry.has(shortcutSysId)) {\n\t\t\tconst shortcutOverride = UserOverrideShortcutsRegistry.get(shortcutSysId);\n\n\t\t\t// Format and prettify shortcut override combination\n\t\t\tconst {\n\t\t\t\tformattedShortcutByPlatform,\n\t\t\t\tformattedPrettifiedShortcutByPlatform\n\t\t\t} = formatAndPrettifyShortcutByPlatform(shortcutOverride);\n\n\t\t\tIntersectedShortcutRegistry.set(shortcutKey, {\n\t\t\t\t...shortcutMetadata,\n\t\t\t\toverriden: true,\n\t\t\t\tshortcut: transformShortcutKeys(formattedShortcutByPlatform),\n\t\t\t\tprettifiedShortcuts: formattedPrettifiedShortcutByPlatform\n\t\t\t});\n\t\t} else {\n\t\t\tIntersectedShortcutRegistry.set(shortcutKey, shortcutMetadata);\n\t\t}\n\t}\n};\n\n/**\n * Registers keyboard shortcut overrides for the current user.\n * @param {UserOverrideShortcuts} userOverrideShortcuts\n */\nexport const registerShortcutOverrides = (userOverrideShortcuts = {}) => {\n\tUserOverrideShortcutsRegistry.clear();\n\tObject.keys(userOverrideShortcuts).forEach((shortcutSysId) => {\n\t\tUserOverrideShortcutsRegistry.set(\n\t\t\tshortcutSysId,\n\t\t\tuserOverrideShortcuts[shortcutSysId]\n\t\t);\n\t});\n\tconsole.log(\n\t\t'Shortcut Overrides registered: ',\n\t\tUserOverrideShortcutsRegistry.entries()\n\t);\n};\n","import {handleShortcutKeyDown} from './shortcutEngine';\nimport {handleLastClicked} from './landmarkEngine';\nimport {registerShortcuts} from './shortcutRegistry';\nimport {\n\tregisterShortcutOverrides,\n\tintersectShortcutOverrides\n} from './overrideRegistry';\nimport {\n\tisSupportedPlatform,\n\tfetchShortcuts,\n\tfetchUserOverrideShortcuts,\n\tshortcutLogger as console,\n\tareShortcutsEnabled,\n\tisUserLoggedIn\n} from './helpers';\nimport {setInitialized} from './shortcutsState';\n\n/**\n * @function initializeShortcuts\n *\n * @description Initialization for now-trigger-library. Required to activate shortcuts on an\n * application.\n */\nexport const initializeShortcuts = async () => {\n\tsetInitialized(false);\n\tif (!areShortcutsEnabled()) {\n\t\tconsole.info('Keyboard shortcuts have been disabled for this instance.');\n\t\treturn;\n\t}\n\n\tif (!isSupportedPlatform()) {\n\t\tconsole.info('Unsupported platform detected for keyboard shortcuts');\n\t\treturn;\n\t}\n\n\t// Do not initialize shortcuts when user is not logged in (as shortcuts API is not public).\n\t// Example: public page that is accessed by unauthorized user.\n\tif (!isUserLoggedIn()) {\n\t\tconsole.info(\n\t\t\t'User is not logged in. Skipping keyboard shortcuts initialization.'\n\t\t);\n\t\treturn;\n\t}\n\n\t// First, fetch the OOB shortcuts from the server and register them\n\tlet shortcutsMetadata;\n\ttry {\n\t\tshortcutsMetadata = await fetchShortcuts();\n\t\tregisterShortcuts(shortcutsMetadata);\n\t\twindow.addEventListener('click', handleLastClicked);\n\t\twindow.addEventListener('keydown', handleShortcutKeyDown);\n\t} catch (error) {\n\t\tconsole.error('Failed to register keyboard shortcuts:', error);\n\t}\n\n\t// Second, fetch the user override shortcuts from the server and register them, as registering\n\t// user keyboard shortcut overrides depends on the OOB shortcuts being registered\n\tlet userOverrideShortcuts;\n\ttry {\n\t\tuserOverrideShortcuts = await fetchUserOverrideShortcuts();\n\t\tregisterShortcutOverrides(userOverrideShortcuts);\n\t} catch (error) {\n\t\tconsole.error('Failed to fetch user override shortcuts:', error);\n\t}\n\t// Third, we do the intersection of the OOB shortcuts and the user overriden shortcuts.\n\t// Even if override shortuts fetching failed, it falls back to the OOB shortcuts.\n\tintersectShortcutOverrides();\n\tsetInitialized(true);\n};\n","export const contentIsOverset = (contentEl) => {\n\tif (!contentEl) return false;\n\t// Firefox sometimes sets scrollHeight to be ~1px larger than\n\t// clientHeight in cases when `overflow: hidden` is added to\n\t// an element.\n\tconst TOLERANCE = 2;\n\tconst contentHeight = contentEl.clientHeight + TOLERANCE;\n\treturn contentHeight < contentEl.scrollHeight;\n};\n","/**\n * TODO-THEMING: We'll eventually need to factor in the space\n * scale of this component.\n *\n * Return the approximate overset height of the alert (with no tolerance)\n * E.g., `75 * (X / 16)`, where `X` is the current page font-size.\n * @returns {number}\n */\nexport const getComputedOversetHeight = (fontSize, isParentFlex) => {\n\t/**\n\t * 75 is the approximate height of a collapsed, two line alert where\n\t * the page's font size is at 1rem (16px).\n\t * 81 is the approximate height of the collapse when the parent is a flex container.\n\t */\n\tconst COLLAPSED_ALERT_HEIGHT = isParentFlex ? 81 : 75;\n\tconst BASE_FONT_SIZE = 16;\n\treturn COLLAPSED_ALERT_HEIGHT * (fontSize / BASE_FONT_SIZE);\n};\n\nexport const getComputedOversetTextHeight = (fontSize) => {\n\t/**\n\t * 40 is the approximate height of the text of a collapse, two line alert where\n\t * the page's font size is at 1rem (16px).\n\t */\n\tconst COLLAPSED_ALERT_HEIGHT = 40;\n\tconst BASE_FONT_SIZE = 16;\n\treturn COLLAPSED_ALERT_HEIGHT * (fontSize / BASE_FONT_SIZE);\n};\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {createRef} from '@servicenow/ui-renderer-snabbdom';\nimport {actionTypes} from '@servicenow/ui-core';\nconst {\n\tCOMPONENT_RENDERED,\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_PROPERTY_CHANGED,\n} = actionTypes;\nimport {\n\tFragment,\n\tdangerouslyCreateElementFromString,\n} from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_now-alert.scss';\nimport '@servicenow/now-button';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-text-link';\nimport {t} from 'sn-translate';\nimport resizeBehavior from '@servicenow/behavior-resize';\nimport focusBehavior, {handleFocusFirstNode} from '@servicenow/behavior-focus';\nimport themeBehavior from '@servicenow/behavior-theme';\nimport {\n\tfilterAriaAttributes,\n\tdomPurifyConfig,\n} from '@servicenow/library-enhanced-utils';\nimport {handleResize} from './utils/handle-resize';\nimport {getComputedOversetHeight} from './utils/get-computed-overset-height';\nimport {\n\tconfigAriaLabelSchema,\n\tconfigAriaLabelRoleSchema,\n} from '@servicenow/library-schemas';\nimport DOMPurify from 'dompurify';\n\nconst MIN_DISMISS_DURATION_TIME = 3000;\nconst DEFAULT_DISMISS_DURATION_TIME = 5000;\n\nconst localizeStatus = (status) => {\n\tconst critical = t({\n\t\tkey: 'now-alert-status-critical',\n\t\tmessage: 'critical',\n\t\tcomment:\n\t\t\t\"Adjective. Conveys the severity of an alert to a screen reader user who can't see the alert color - e.g. critical, high, moderate, warning, info, low, ai. This is the highest severity.\",\n\t});\n\tconst high = t({\n\t\tkey: 'now-alert-status-high',\n\t\tmessage: 'high',\n\t\tcomment:\n\t\t\t\"Adjective. Conveys the severity of an alert to a screen reader user who can't see the alert color - e.g. critical, high, moderate, warning, info, low, ai. This is the second highest severity.\",\n\t});\n\tconst moderate = t({\n\t\tkey: 'now-alert-status-moderate',\n\t\tmessage: 'moderate',\n\t\tcomment:\n\t\t\t\"Adjective. Conveys the severity of an alert to a screen reader user who can't see the alert color - e.g. critical, high, moderate, warning, info, low, ai. This severity is in the middle.\",\n\t});\n\tconst warning = t({\n\t\tkey: 'now-alert-status-warning',\n\t\tmessage: 'warning',\n\t\tcomment:\n\t\t\t\"Adjective. Conveys the severity of an alert to a screen reader user who can't see the alert color - e.g. critical, high, moderate, warning, info, low, ai. This severity is non-critical and may be safe to ignore.\",\n\t});\n\tconst info = t({\n\t\tkey: 'now-alert-status-info',\n\t\tmessage: 'info',\n\t\tcomment:\n\t\t\t\"Adjective. Conveys the severity of an alert to a screen reader user who can't see the alert color - e.g. critical, high, moderate, warning, info, low, ai. This severity is really just for informational purposes.\",\n\t});\n\tconst positive = t({\n\t\tkey: 'now-alert-status-positive',\n\t\tmessage: 'positive',\n\t\tcomment:\n\t\t\t\"Adjective. Conveys the severity of an alert to a screen reader user who can't see the alert color - e.g. critical, high, moderate, warning, info, low, ai. This severity indicates an action was successful, for instance.\",\n\t});\n\tconst low = t({\n\t\tkey: 'now-alert-status-low',\n\t\tmessage: 'low',\n\t\tcomment:\n\t\t\t\"Adjective. Conveys the severity of an alert to a screen reader user who can't see the alert color - e.g. critical, high, moderate, warning, info, low, ai. This severity is low priority.\",\n\t});\n\tconst ai = t({\n\t\tkey: 'now-alert-status-ai',\n\t\tmessage: 'ai',\n\t\tcomment:\n\t\t\t\"Adjective. Conveys the severity of an alert to a screen reader user who can't see the alert color - e.g. critical, high, moderate, warning, info, low, ai. This severity is informational and conveys that the alert is related to AI predictions.\",\n\t});\n\treturn {\n\t\tcritical,\n\t\thigh,\n\t\tmoderate,\n\t\twarning,\n\t\tinfo,\n\t\tpositive,\n\t\tlow,\n\t\tai,\n\t}[status];\n};\n\nconst isEmpty = (obj) => {\n\treturn Object.keys(obj).length === 0;\n};\n\nconst getProgress = (value, max) => {\n\tif (value < 0) {\n\t\treturn 0;\n\t} else if (value > max) {\n\t\treturn 100;\n\t} else if (value <= max) {\n\t\treturn (value * 100) / max;\n\t}\n};\n\nconst normalizeContent = (content) => {\n\tif (typeof content === 'undefined') {\n\t\treturn {};\n\t}\n\tif (typeof content === 'string') {\n\t\treturn {type: 'string', value: content};\n\t}\n\treturn content;\n};\n\nconst renderIcon = (icon) => {\n\treturn icon ? <now-icon className=\"now-alert-icon\" icon={icon} /> : undefined;\n};\n\nconst renderActionButton = (action = {}, status, configAria, onClick) => {\n\tconst {type} = action;\n\n\tif (type === 'open') {\n\t\tconst open = t({\n\t\t\tcode: 'now-alert-open-button',\n\t\t\tmessage: 'Open',\n\t\t\tcomment: 'As a verb. Opens a link when button is clicked on.',\n\t\t});\n\t\treturn (\n\t\t\t<now-button\n\t\t\t\tclassName=\"now-alert-button\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\tlabel={action.label ? action.label : open}\n\t\t\t\tconfig-aria={{\n\t\t\t\t\tbutton: {\n\t\t\t\t\t\t'aria-label': t('Open and dismiss alert'),\n\t\t\t\t\t\t...filterAriaAttributes(configAria, 'action'),\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t\ton-click={onClick}\n\t\t\t/>\n\t\t);\n\t}\n\n\tif (type === 'acknowledge') {\n\t\tconst OK = t({\n\t\t\tcode: 'now-alert-acknowledge-button',\n\t\t\tmessage: 'OK',\n\t\t\tcomment: 'An acknowledgement of an alert, as in \"OK, I understand\"',\n\t\t});\n\t\treturn (\n\t\t\t<now-button\n\t\t\t\tclassName=\"now-alert-button\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\tlabel={action.label ? action.label : OK}\n\t\t\t\tconfig-aria={{\n\t\t\t\t\tbutton: {\n\t\t\t\t\t\t'aria-label': t('Dismiss alert'),\n\t\t\t\t\t\t...filterAriaAttributes(configAria, 'action'),\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t\ton-click={onClick}\n\t\t\t/>\n\t\t);\n\t}\n\n\tif (type === 'dismiss') {\n\t\treturn (\n\t\t\t<now-button-iconic\n\t\t\t\tclassName=\"now-alert-button-iconic\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\tconfig-aria={{\n\t\t\t\t\tbutton: {\n\t\t\t\t\t\t'aria-label': t('Dismiss alert'),\n\t\t\t\t\t\t...filterAriaAttributes(configAria, 'action'),\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t\ttooltip-content={t('Dismiss alert')}\n\t\t\t\ton-click={onClick}\n\t\t\t\ticon=\"close-outline\"\n\t\t\t\tbare\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn '';\n};\n\nconst renderExpandButton = (isOverset, contentIsReady, expanded, onClick) => {\n\t// Check for prevHeight so that the content doesn't expand and shrink\n\t// suddenly on first render due to this element\n\tconst label = expanded ? t('Show less') : t('Show more');\n\tconst description = t({\n\t\tkey: 'now-alert-expand-button-description',\n\t\tmessage:\n\t\t\t'This button is unnecessary because the full alert text is available to assistive technology.',\n\t\tcomment:\n\t\t\t'Comment to screen reader users about the fact that an expand/collapse button does not have any perceivable effect on the alert, since the full untruncated text is always read out to screen reader users.',\n\t});\n\treturn isOverset && contentIsReady ? (\n\t\t<now-button-bare\n\t\t\tclassName=\"now-alert-expand-button\"\n\t\t\ton-click={onClick}\n\t\t\tvariant=\"tertiary\"\n\t\t\thide-padding\n\t\t\thigh-contrast\n\t\t\tlabel={label}\n\t\t\ticon-end={expanded ? 'caret-up-fill' : 'caret-down-fill'}\n\t\t\tconfig-aria={{\n\t\t\t\tbutton: {\n\t\t\t\t\t'aria-label': label + '. ' + description,\n\t\t\t\t},\n\t\t\t}}\n\t\t/>\n\t) : undefined;\n};\n\nconst renderContent = (content) => {\n\tif (content.type === 'string') {\n\t\treturn <span>{content.value}</span>;\n\t}\n\tif (content.type === 'jsx') {\n\t\treturn content.value;\n\t}\n\tif (content.type === 'html') {\n\t\tconst sanitizedHtml = DOMPurify.sanitize(content.value, domPurifyConfig);\n\t\treturn dangerouslyCreateElementFromString(sanitizedHtml);\n\t}\n};\n\nconst renderAlert = (state, dispatch) => {\n\tconst {prevHeight: contentIsReady, isOverset, isButtonWrapped} = state;\n\tconst {\n\t\tstatus,\n\t\ticon = state.properties.iconName,\n\t\taction,\n\t\theader,\n\t\tcontent: rawContent,\n\t\ttextLinkProps,\n\t\texpanded,\n\t\tshowShadow,\n\t\tconfigAria,\n\t\tmaxHeight,\n\t} = state.properties;\n\tconst content = normalizeContent(rawContent);\n\n\t// `shouldExpand` will only use `expanded` after COMPONENT_RENDERED,\n\t// as that's when we've retrieved width and height values from resize behavior.\n\t// If we don't do this, all alerts will initially render  the'show more' or\n\t// 'show less' button and then immediately unrender it if not overset.\n\tconst shouldExpand = contentIsReady ? expanded : false;\n\tconst onTextLinkClick = () =>\n\t\tdispatch(() => {\n\t\t\treturn {\n\t\t\t\ttype: 'NOW_ALERT#TEXT_LINK_CLICKED',\n\t\t\t\tpayload: {},\n\t\t\t};\n\t\t});\n\treturn (\n\t\t<div\n\t\t\trole=\"alert\"\n\t\t\t{...filterAriaAttributes(configAria, 'alert')}\n\t\t\tclass={{\n\t\t\t\t'now-alert': true,\n\t\t\t\t['-' + status]: status,\n\t\t\t\t'show-shadow': showShadow,\n\t\t\t}}\n\t\t>\n\t\t\t{renderIcon(icon)}\n\t\t\t<span className=\"now-a11y-label\">\n\t\t\t\t{t('Alert level: {0}.', localizeStatus(status))}\n\t\t\t</span>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'now-alert-container': true,\n\t\t\t\t\t'is-button-wrapped': isButtonWrapped,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"now-line-height-crop\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'now-alert-content': true,\n\t\t\t\t\t\t\t'is-expanded': shouldExpand,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tstyle={maxHeight ? {'max-block-size': `${maxHeight}px`} : undefined}\n\t\t\t\t\t>\n\t\t\t\t\t\t{header ? (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t<strong className=\"now-alert-header\">{header}</strong>{' '}\n\t\t\t\t\t\t\t\t{/* This \"natural\" space separates `header` from `content`. Don't delete. */}\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t) : undefined}\n\t\t\t\t\t\t{renderContent(content)}\n\t\t\t\t\t\t{textLinkProps && textLinkProps.href && textLinkProps.label ? (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t{' '}\n\t\t\t\t\t\t\t\t{/* This \"natural\" space separates `content` from `linkText`. Don't delete. */}\n\t\t\t\t\t\t\t\t<now-text-link\n\t\t\t\t\t\t\t\t\tclassName=\"now-alert-text-link\"\n\t\t\t\t\t\t\t\t\thref={textLinkProps.href}\n\t\t\t\t\t\t\t\t\tlabel={textLinkProps.label}\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\tunderlined\n\t\t\t\t\t\t\t\t\topens-window\n\t\t\t\t\t\t\t\t\ton-click={onTextLinkClick}\n\t\t\t\t\t\t\t\t\tconfig-aria={textLinkProps.configAria}\n\t\t\t\t\t\t\t\t\t{...textLinkProps}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t) : undefined}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t{renderExpandButton(isOverset, contentIsReady, expanded, () => {\n\t\t\t\t\tdispatch(({properties}) => ({\n\t\t\t\t\t\ttype: 'NOW_ALERT#EXPANDED_SET',\n\t\t\t\t\t\tpayload: {value: !properties.expanded},\n\t\t\t\t\t}));\n\t\t\t\t})}\n\t\t\t</div>\n\t\t\t{renderActionButton(action, status, configAria, () => {\n\t\t\t\tdispatch(() => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'NOW_ALERT#ACTION_CLICKED',\n\t\t\t\t\t\tpayload: {action},\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t})}\n\t\t</div>\n\t);\n};\n\nlet focusInSet = new Set();\nlet mouseEnterSet = new Set();\n\nconst secondsLabel = t({\n\tcode: 'now-alert-auto-dismiss-timer-label',\n\tmessage: 's',\n\tcomment: 'Number of seconds remaining on the countdown timer',\n});\n\nconst mediaQuery = window.matchMedia('(prefers-reduced-motion: reduce)');\n\nconst reduceMotion = mediaQuery.matches;\n\nconst renderAutoDismissAlert = (state, dispatch) => {\n\tconst {\n\t\tprevHeight: contentIsReady,\n\t\tisOverset,\n\t\tisButtonWrapped,\n\t\tcountdownDuration,\n\t\tprogressBarRef,\n\t\ttimerLabelRef,\n\t\tstandalone,\n\t} = state;\n\tconst {\n\t\tstatus,\n\t\ticon = state.properties.iconName,\n\t\taction,\n\t\theader,\n\t\tcontent: rawContent,\n\t\ttextLinkProps,\n\t\texpanded,\n\t\tshowShadow,\n\t\tconfigAria,\n\t\tmaxHeight,\n\t\tautoDismissConfig,\n\t\tnowId,\n\t} = state.properties;\n\n\tconst content = normalizeContent(rawContent);\n\t// `shouldExpand` will only use `expanded` after COMPONENT_RENDERED,\n\t// as that's when we've retrieved width and height values from resize behavior.\n\t// If we don't do this, all alerts will initially render  the'show more' or\n\t// 'show less' button and then immediately unrender it if not overset.\n\tconst shouldExpand = contentIsReady ? expanded : false;\n\tconst onTextLinkClick = () =>\n\t\tdispatch(() => {\n\t\t\treturn {\n\t\t\t\ttype: 'NOW_ALERT#TEXT_LINK_CLICKED',\n\t\t\t\tpayload: {},\n\t\t\t};\n\t\t});\n\treturn (\n\t\t<div\n\t\t\trole=\"alert\"\n\t\t\t{...filterAriaAttributes(configAria, 'alert')}\n\t\t\tclass={{\n\t\t\t\t'now-alert': true,\n\t\t\t\t['-' + status]: status,\n\t\t\t\t'show-shadow': showShadow,\n\t\t\t\t'-dismiss': true,\n\t\t\t}}\n\t\t\ton-mouseenter={() => {\n\t\t\t\tif (standalone && countdownDuration > 0) {\n\t\t\t\t\tmouseEnterSet.add(nowId);\n\t\t\t\t\tdispatch('NOW_ALERT#DISMISS_TIMER_PAUSE');\n\t\t\t\t}\n\t\t\t}}\n\t\t\ton-mouseleave={() => {\n\t\t\t\tif (standalone && countdownDuration > 0) {\n\t\t\t\t\tmouseEnterSet.delete(nowId);\n\t\t\t\t\tif (!focusInSet.has(nowId)) {\n\t\t\t\t\t\tdispatch('NOW_ALERT#DISMISS_TIMER_START');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}}\n\t\t\ton-focusin={() => {\n\t\t\t\tif (standalone && countdownDuration > 0) {\n\t\t\t\t\tfocusInSet.add(nowId);\n\t\t\t\t\tdispatch('NOW_ALERT#DISMISS_TIMER_PAUSE');\n\t\t\t\t}\n\t\t\t}}\n\t\t\ton-focusout={() => {\n\t\t\t\tif (standalone && countdownDuration > 0) {\n\t\t\t\t\tfocusInSet.delete(nowId);\n\t\t\t\t\tif (!mouseEnterSet.has(nowId)) {\n\t\t\t\t\t\tdispatch('NOW_ALERT#DISMISS_TIMER_START');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'now-alert-content-wrapper': true,\n\t\t\t\t\t'-progress-bar-hidden':\n\t\t\t\t\t\tautoDismissConfig.hideProgressBar || reduceMotion,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{renderIcon(icon)}\n\t\t\t\t<span className=\"now-a11y-label\">\n\t\t\t\t\t{t('Alert level: {0}.', localizeStatus(status))}\n\t\t\t\t</span>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'now-alert-container': true,\n\t\t\t\t\t\t'is-button-wrapped': isButtonWrapped,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"now-line-height-crop\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'now-alert-content': true,\n\t\t\t\t\t\t\t\t'is-expanded': shouldExpand,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\tmaxHeight ? {'max-block-size': `${maxHeight}px`} : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{header ? (\n\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t<strong className=\"now-alert-header\">{header}</strong>{' '}\n\t\t\t\t\t\t\t\t\t{/* This \"natural\" space separates `header` from `content`. Don't delete. */}\n\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t) : undefined}\n\t\t\t\t\t\t\t{renderContent(content)}\n\t\t\t\t\t\t\t{textLinkProps && textLinkProps.href && textLinkProps.label ? (\n\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t{' '}\n\t\t\t\t\t\t\t\t\t{/* This \"natural\" space separates `content` from `linkText`. Don't delete. */}\n\t\t\t\t\t\t\t\t\t<now-text-link\n\t\t\t\t\t\t\t\t\t\tclassName=\"now-alert-text-link\"\n\t\t\t\t\t\t\t\t\t\thref={textLinkProps.href}\n\t\t\t\t\t\t\t\t\t\tlabel={textLinkProps.label}\n\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tunderlined\n\t\t\t\t\t\t\t\t\t\topens-window\n\t\t\t\t\t\t\t\t\t\ton-click={onTextLinkClick}\n\t\t\t\t\t\t\t\t\t\tconfig-aria={textLinkProps.configAria}\n\t\t\t\t\t\t\t\t\t\t{...textLinkProps}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t) : undefined}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t{renderExpandButton(isOverset, contentIsReady, expanded, () => {\n\t\t\t\t\t\tdispatch(({properties}) => ({\n\t\t\t\t\t\t\ttype: 'NOW_ALERT#EXPANDED_SET',\n\t\t\t\t\t\t\tpayload: {value: !properties.expanded},\n\t\t\t\t\t\t}));\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t\t<div className=\"now-alert-button-container\">\n\t\t\t\t\t{(autoDismissConfig.showTimer || reduceMotion) && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={timerLabelRef}\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'now-alert-timer-label': true,\n\t\t\t\t\t\t\t\t['-' + status]: status,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span>{Math.ceil(countdownDuration / 1000) + secondsLabel}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{renderActionButton(action, status, configAria, () =>\n\t\t\t\t\t\tdispatch(() => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\ttype: 'NOW_ALERT#ACTION_CLICKED',\n\t\t\t\t\t\t\t\tpayload: {action},\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}),\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{!autoDismissConfig.hideProgressBar && !reduceMotion && (\n\t\t\t\t<div\n\t\t\t\t\tref={progressBarRef}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'now-alert-progress-bar': true,\n\t\t\t\t\t\t['-' + status]: status,\n\t\t\t\t\t}}\n\t\t\t\t\trole=\"progressbar\"\n\t\t\t\t\taria-label={t('Auto Dismiss Countdown')}\n\t\t\t\t\taria-valuemin=\"0\"\n\t\t\t\t\taria-valuemax={\n\t\t\t\t\t\tautoDismissConfig.duration\n\t\t\t\t\t\t\t? Math.ceil(\n\t\t\t\t\t\t\t\t\tMath.max(\n\t\t\t\t\t\t\t\t\t\tautoDismissConfig.duration,\n\t\t\t\t\t\t\t\t\t\tMIN_DISMISS_DURATION_TIME,\n\t\t\t\t\t\t\t\t\t) / 1000,\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t: Math.ceil(DEFAULT_DISMISS_DURATION_TIME / 1000)\n\t\t\t\t\t}\n\t\t\t\t\taria-valuenow={\n\t\t\t\t\t\tautoDismissConfig.duration\n\t\t\t\t\t\t\t? Math.ceil(autoDismissConfig.duration / 1000)\n\t\t\t\t\t\t\t: Math.ceil(DEFAULT_DISMISS_DURATION_TIME / 1000)\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nconst view = (state, {dispatch}) => {\n\tconst {autoDismissConfig} = state.properties;\n\n\treturn isEmpty(autoDismissConfig) || !autoDismissConfig.enableAutoDismiss\n\t\t? renderAlert(state, dispatch)\n\t\t: renderAutoDismissAlert(state, dispatch);\n};\n\n/**\n * A notification that can be optionally dismissed.\n *\n * ```jsx\n * <now-alert\n *   status=\"warning\"\n *   icon=\"exclamation-triangle-fill\"\n *   header=\"Warning:\"\n *   content=\"Something's not right.\"\n *   text-link-props={{label: 'More info', href: '#'}} />\n * ```\n *\n * @seismicElement now-alert\n * @summary Provides a message to the user as helpful information or warning.\n * @uib.label Alert\n * @uib.icon alert\n * @uib.description A notification that can be optionally dismissed\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties status, icon, header, content, textLinkProps, action, maxHeight, expanded, manageExpanded, enableFocus, configAria\n * @uib.layout.message.children icon, header, content\n * @uib.layout.message.icon chat-outline\n * @uib.layout.actions.children textLinkProps, action\n * @uib.layout.actions.icon direction-arrow-right-outline\n * @uib.layout.size.children maxHeight, expanded, manageExpanded\n * @uib.layout.size.icon fullscreen-outline\n * @uib.layout.accessibility.children enableFocus, configAria\n * @uib.layout.accessibility.icon accessibility-outline\n * @uib.actions NOW_ALERT#EXPANDED_SET, NOW_ALERT#ACTION_CLICKED, NOW_ALERT#TEXT_LINK_CLICKED\n */\ncreateEnhancedElement('now-alert', {\n\tproperties: {\n\t\t/**\n\t\t * Sets the alert color to indicate priority.\n\t\t * @type {('critical'|'high'|'moderate'|'warning'|'info'|'positive'|'low'|'ai')}\n\t\t * @uib.label Type\n\t\t * @uib.description Sets the alert color to indicate priority\n\t\t */\n\t\tstatus: {\n\t\t\tdefault: 'info',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'critical',\n\t\t\t\t\t'high',\n\t\t\t\t\t'moderate',\n\t\t\t\t\t'warning',\n\t\t\t\t\t'info',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'low',\n\t\t\t\t\t'ai',\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t/** @private */\n\t\ticonName: {},\n\t\t/**\n\t\t * Optional icon displayed at the start of the alert.\n\t\t * See the `now-icon` component documentation for valid inputs.\n\t\t * @type {string}\n\t\t * @uib.description Optional icon displayed at the start of the alert\n\t\t * @uib.defaultValue circle-info-outline\n\t\t * @uib.fieldType icon\n\t\t */\n\t\ticon: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Optional title for the alert.\n\t\t * @type {string}\n\t\t * @uib.description Optional title for the alert\n\t\t * @uib.defaultValue Heads up\n\t\t * @uib.translatable true\n\t\t */\n\t\theader: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Optional message for the alert. Can be a string or an object with the\n\t\t * keys `type` and `value`. Accepted types are `string`, `html` or `jsx`.\n\t\t *\n\t\t * Note: For HTML content, `<script>` tags, inline JavaScript, and other possible security exploits will be removed.\n\t\t * @type {(string|Object)}\n\t\t * @uib.label Message\n\t\t * @uib.description Optional message for the alert.\n\t\t * @uib.defaultValue This needs your attention\n\t\t * @uib.fieldType string\n\t\t * @uib.translatable true\n\t\t */\n\t\tcontent: {\n\t\t\tschema: {\n\t\t\t\toneOf: [\n\t\t\t\t\t{type: 'string', translatable: true},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\ttype: {type: 'string', enum: ['string', 'html', 'jsx']},\n\t\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\t\toneOf: [{type: 'string', translatable: true}, {type: 'object'}],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * If set to true, focuses on the first focusable element when the alert bar is triggered.\n\t\t * @type {boolean}\n\t\t * @uib.label Enable Focus\n\t\t * @uib.description If set to true, focuses on the first focusable element when the alert bar is triggered.\n\t\t * @uib.defaultValue false\n\t\t * @uib.fieldType boolean\n\t\t */\n\t\tenableFocus: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Object that defines an optional link in the alert. The link\n\t\t * opens in a new window when the user clicks it.\n\t\t *\n\t\t * The action `NOW_ALERT#TEXT_LINK_CLICKED` is dispatched when the user\n\t\t * clicks on the text link. The parent component or application must handle\n\t\t * this action and dismiss the alert.\n\t\t *\n\t\t * The keys of the object are properties for `now-text-link`. See\n\t\t * `now-text-link` for more documentation on supported properties. At minimum, provide:\n\t\t * - `label`: String. Text displayed as a link inside the alert. Required.\n\t\t * - `href`: String. Link URL opened when the user clicks the\n\t\t *   link text. Required.\n\t\t * @type {{label: string, href: string, variant: ('primary'|'secondary'), iconStart: string, iconEnd: string, underlined: boolean, opensWindow: boolean, download: (string|boolean), configAria: object }}\n\t\t * @uib.label Link\n\t\t * @uib.description Adds a link that dispatches `NOW_ALERT#TEXT_LINK_CLICKED` when clicked\n\t\t * @uib.defaultValue {\"label\": \"Link label\", \"href\": \"dummyHref\"}\n\t\t */\n\t\ttextLinkProps: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tlabel: {type: 'string', translatable: true},\n\t\t\t\t\thref: {type: 'string'},\n\t\t\t\t\tvariant: {type: 'string', enum: ['primary', 'secondary']},\n\t\t\t\t\ticonStart: {type: 'string'},\n\t\t\t\t\ticonEnd: {type: 'string'},\n\t\t\t\t\tunderlined: {type: 'boolean'},\n\t\t\t\t\topensWindow: {type: 'boolean'},\n\t\t\t\t\tdownload: {type: ['string', 'boolean']},\n\t\t\t\t\tconfigAria: {type: 'object'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Object that defines an optional action to take in the alert message. If\n\t\t * this property is not set, the user can not dismiss the alert.\n\t\t *\n\t\t * The action `NOW_ALERT#ACTION_CLICKED` is dispatched when the user clicks\n\t\t * on the action. Its payload contains this `action` object. The parent\n\t\t * component or application must handle this action and dismiss the alert\n\t\t * and/or open a new window depending on the action type.\n\t\t *\n\t\t * Action objects are configured with the following keys:\n\t\t * - `type`: String. Sets the type of action, see below. Required.\n\t\t * - `href`: String. Use with type \"open\" to set the URL to\n\t\t *   open when the user clicks the button. Required.\n\t\t * - `label`: String. Use to override the default button text for actions\n\t\t *   of type \"open\" or \"acknowledge\". If the label is overridden, update the\n\t\t *   button's corresponding aria-label through the configAria property.\n\t\t *\n\t\t * Set the key `type` to pick an action:\n\t\t * - \"dismiss\": Displays an (X) button.\n\t\t * - \"acknowledge\": Displays an (OK) button by default, or a unique button name using the `label` property.\n\t\t * - \"open\": Displays an (Open) button by default, or a unique button name using the `label` property.\n\t\t * @type {{type: (\"dismiss\"|\"acknowledge\"|\"open\"), href: (string|undefined), label: (string|undefined)}}\n\t\t * @uib.description Adds an action to the alert, preventing the user from dismissing it\n\t\t * @uib.defaultValue {\"type\": \"acknowledge\", \"label\": \"Custom ok\"}\n\t\t */\n\t\taction: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\ttype: {type: 'string', enum: ['dismiss', 'acknowledge', 'open']},\n\t\t\t\t\thref: {type: 'string'},\n\t\t\t\t\tlabel: {type: 'string', translatable: true},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * now-alert. The value of each key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s. These ARIA\n\t\t * properties are set on the specified element.\n\t\t * The 'action' key corresponds to the action button in\n\t\t * now-alert. See https://www.w3.org/TR/wai-aria-1.2/#button for\n\t\t * properties and accepted values.\n\t\t * The 'alert' key corresponds to the entire container in now-alert.\n\t\t * See https://www.w3.org/TR/wai-aria-1.2/#alert or https://www.w3.org/TR/wai-aria-1.2/#status\n\t\t * for properties and accepted values.\n\t\t * @type {{ action: { 'aria-*': string, role: string }, alert: { 'aria-*': string, role: string } }}\n\t\t * @uib.label ARIA properties\n\t\t * @uib.description Sets ARIA properties on the inner html alert container and action 'button'\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\toneOf: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\taction: configAriaLabelSchema,\n\t\t\t\t\t\t\talert: configAriaLabelRoleSchema,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tadditionalProperties: false,\n\t\t\t\t\t},\n\t\t\t\t\tconfigAriaLabelRoleSchema,\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Specifies if the alert is expanded to show content beyond the\n\t\t * default alert size. Use `manage-expanded` to override the default behavior\n\t\t * and handle the `NOW_ALERT#EXPANDED_SET` action manually.\n\t\t * @type {boolean}\n\t\t * @uib.description Expands the alert to show content beyond the default alert size\n\t\t */\n\t\texpanded: {default: false, manageable: true, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `expanded` property.\n\t\t * An action with type `NOW_ALERT#EXPANDED_SET` will be dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the expanded property. Use the expanded set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageExpanded: {default: false, schema: {type: 'boolean'}},\n\t\t/** @private */\n\t\tshowShadow: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Maximum height in pixels for the content area of an\n\t\t * expanded alert. If the content exceeds the provided height, a\n\t\t * scrollbar displays inside the alert.\n\t\t * @type {number}\n\t\t * @uib.description Maximum height in pixels for the content area of the alert.\n\t\t */\n\t\tmaxHeight: {schema: {type: 'number', minimum: 40}},\n\t\t/** @private */\n\t\tpauseAutoDismiss: {default: false, schema: {type: 'boolean'}},\n\t\t/** @private */\n\t\talertFocus: {default: false, schema: {type: 'boolean'}},\n\t\t/** @private */\n\t\tsavedDuration: {schema: {type: 'number'}},\n\t\t/**\n\t\t * An object that defines the auto-dismissal behavior of the alert.\n\t\t * If this property is not set, the alert does not auto dismiss.\n\t\t * The object has the following keys:\n\t\t * - `duration`: Number. Sets the time in milliseconds until the alert dismisses. Default is 5000 and the minimum is 3000.\n\t\t * - `showTimer`: Boolean. If true, a countdown timer displays the seconds remaing until the alert dismisses.\n\t\t * - `hideProgressBar`: Boolean. If true, the progress bar is hidden.\n\t\t * @type {{enableAutoDismiss: boolean, duration: number, showTimer: boolean, hideProgressBar: boolean}}\n\t\t */\n\t\tautoDismissConfig: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tenableAutoDismiss: {type: 'boolean'},\n\t\t\t\t\tduration: {type: 'number'},\n\t\t\t\t\tshowTimer: {type: 'boolean'},\n\t\t\t\t\thideProgressBar: {type: 'boolean'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when an alert whose content overflows the default container\n\t\t * size is expanded or collapsed to show/hide the additional content.\n\t\t * Set the `manage-expanded` property to override the default behavior and\n\t\t * handle this action manually.\n\t\t * @type {{value: boolean}}\n\t\t * @uib.description Dispatched when an alert whose content overflows the default container size is expanded or collapsed to show/hide the additional content.\n\t\t */\n\t\t'NOW_ALERT#EXPANDED_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tvalue: {type: 'boolean'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user clicks on the action. Its payload contains\n\t\t * the `action` object passed in to the alert's configuration. The parent\n\t\t * component or application must handle this action and dismiss the alert\n\t\t * and/or open a new window, depending on the action type.\n\t\t * @type {{action: Object}}\n\t\t * @uib.label Alert action selected\n\t\t * @uib.description A user selects the action on the alert.\n\t\t */\n\t\t'NOW_ALERT#ACTION_CLICKED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\taction: {type: 'object'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user clicks on the text link. The parent component\n\t\t * or application must handle this action and dismiss the alert.\n\t\t * @type {{}}\n\t\t * @uib.description Dispatched when the user clicks on the text link.\n\t\t */\n\t\t'NOW_ALERT#TEXT_LINK_CLICKED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\t/** @private */\n\t\t'NOW_ALERT#DISMISS_TIMER_START': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\t/** @private */\n\t\t'NOW_ALERT#DISMISS_TIMER_PAUSE': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\t/** @private */\n\t\t'NOW_ALERT#DISMISS_TIMER_UPDATE': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\t/** @private */\n\t\t'NOW_ALERT#FOCUS_AFTER_FIRST_RESIZE': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when an alert is automatically dismissed.\n\t\t * @type {{}}\n\t\t */\n\t\t'NOW_ALERT#AUTO_DISMISS': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t},\n\tsetInitialState() {\n\t\treturn {\n\t\t\tcontentEl: null,\n\t\t\tprevWidth: 0,\n\t\t\tprevHeight: 0,\n\t\t\toversetHeight: getComputedOversetHeight(),\n\t\t\tisOverset: true,\n\t\t\tisButtonWrapped: false,\n\t\t\tcountdownDuration: DEFAULT_DISMISS_DURATION_TIME,\n\t\t\ttimerId: null,\n\t\t\tstandalone: true,\n\t\t\tprogressBarRef: createRef(),\n\t\t\ttimerLabelRef: createRef(),\n\t\t\texpandedFirstRender: true,\n\t\t};\n\t},\n\tactionHandlers: {\n\t\t'NOW_RESIZE#ELEMENT_RESIZED': handleResize,\n\t\t[COMPONENT_DOM_TREE_READY]: ({\n\t\t\taction,\n\t\t\thost,\n\t\t\tstate,\n\t\t\tproperties,\n\t\t\tupdateState,\n\t\t\tdispatch,\n\t\t}) => {\n\t\t\tconst {meta} = action;\n\t\t\tconst {\n\t\t\t\tautoDismissConfig,\n\t\t\t\tenableFocus,\n\t\t\t\texpanded,\n\t\t\t\tpauseAutoDismiss,\n\t\t\t\tsavedDuration,\n\t\t\t} = properties;\n\t\t\tconst {progressBarRef, timerId, contentEl} = state;\n\t\t\tif (!isEmpty(autoDismissConfig) && autoDismissConfig.enableAutoDismiss) {\n\t\t\t\tif (!autoDismissConfig.hideProgressBar && !reduceMotion) {\n\t\t\t\t\tconst {progressBarRef} = state;\n\t\t\t\t\tprogressBarRef.current.style.setProperty(\n\t\t\t\t\t\t'--now-alert_progress_bar--transition',\n\t\t\t\t\t\t'inline-size 200ms linear',\n\t\t\t\t\t);\n\t\t\t\t\tif (timerId) {\n\t\t\t\t\t\tprogressBarRef.current.style.borderBottomRightRadius = '0px';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (savedDuration === undefined) {\n\t\t\t\t\tconst {duration} = autoDismissConfig;\n\t\t\t\t\tif (duration) {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tpath: 'countdownDuration',\n\t\t\t\t\t\t\tvalue: Math.max(duration, MIN_DISMISS_DURATION_TIME),\n\t\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\t\tshouldRender: true,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tlet totalDuration =\n\t\t\t\t\t\tautoDismissConfig.duration ?? DEFAULT_DISMISS_DURATION_TIME;\n\t\t\t\t\ttotalDuration = Math.max(totalDuration, MIN_DISMISS_DURATION_TIME);\n\t\t\t\t\tconst progress = getProgress(savedDuration, totalDuration);\n\t\t\t\t\tif (!autoDismissConfig.hideProgressBar && !reduceMotion) {\n\t\t\t\t\t\tprogressBarRef.current.style.borderBottomRightRadius = '0px';\n\t\t\t\t\t\tprogressBarRef.current.style.setProperty(\n\t\t\t\t\t\t\t'--now-alert_progress-bar--inline-size',\n\t\t\t\t\t\t\tprogress + '%',\n\t\t\t\t\t\t);\n\t\t\t\t\t\tprogressBarRef.current.style.setProperty(\n\t\t\t\t\t\t\t'--now-alert_progress_bar--transition',\n\t\t\t\t\t\t\t'inline-size 200ms linear',\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpath: 'countdownDuration',\n\t\t\t\t\t\tvalue: savedDuration,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: true,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (meta.appended === 'from-alert-list') {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpath: 'standalone',\n\t\t\t\t\t\tvalue: false,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: true,\n\t\t\t\t\t});\n\t\t\t\t\tif (!pauseAutoDismiss && !timerId) {\n\t\t\t\t\t\tdispatch('NOW_ALERT#DISMISS_TIMER_START');\n\t\t\t\t\t}\n\t\t\t\t} else if (!enableFocus) {\n\t\t\t\t\tdispatch('NOW_ALERT#DISMISS_TIMER_START');\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (enableFocus && !expanded) {\n\t\t\t\thandleFocusFirstNode(host);\n\t\t\t}\n\t\t\tif (contentEl) {\n\t\t\t\tupdateState({contentEl: null});\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_RENDERED]: ({properties, host}) => {\n\t\t\tconst {expanded} = properties;\n\t\t\tconst alertTextContainer =\n\t\t\t\thost.shadowRoot.querySelector('.now-alert-content');\n\t\t\tif (!expanded) {\n\t\t\t\talertTextContainer.removeAttribute('tabindex');\n\t\t\t} else {\n\t\t\t\tconst isContainerScrollable =\n\t\t\t\t\talertTextContainer.scrollHeight > alertTextContainer.clientHeight;\n\t\t\t\tif (isContainerScrollable) {\n\t\t\t\t\talertTextContainer.setAttribute('tabindex', 0);\n\t\t\t\t} else {\n\t\t\t\t\talertTextContainer.removeAttribute('tabindex');\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\t\thost,\n\t\t\tstate,\n\t\t\taction,\n\t\t\tproperties,\n\t\t\tdispatch,\n\t\t}) => {\n\t\t\tconst {autoDismissConfig} = properties;\n\t\t\tconst {name, value} = action.payload;\n\t\t\tif (name === 'enableFocus' && value) {\n\t\t\t\thandleFocusFirstNode(host);\n\t\t\t}\n\t\t\tif (isEmpty(autoDismissConfig) || !autoDismissConfig.enableAutoDismiss)\n\t\t\t\treturn;\n\t\t\tif (name === 'pauseAutoDismiss') {\n\t\t\t\tif (!value) {\n\t\t\t\t\tdispatch('NOW_ALERT#DISMISS_TIMER_START');\n\t\t\t\t} else {\n\t\t\t\t\tdispatch('NOW_ALERT#DISMISS_TIMER_PAUSE');\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (\n\t\t\t\tname === 'alertFocus' &&\n\t\t\t\t!autoDismissConfig?.hideProgressBar &&\n\t\t\t\t!reduceMotion\n\t\t\t) {\n\t\t\t\tif (value) {\n\t\t\t\t\tstate.progressBarRef.current.style.setProperty(\n\t\t\t\t\t\t'--now-alert_progress-bar--block-size',\n\t\t\t\t\t\t'4px',\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tstate.progressBarRef.current.style.setProperty(\n\t\t\t\t\t\t'--now-alert_progress-bar--block-size',\n\t\t\t\t\t\t'2px',\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'NOW_ALERT#DISMISS_TIMER_PAUSE': ({state, updateState, dispatch}) => {\n\t\t\tif (state.timerId) {\n\t\t\t\tclearInterval(state.timerId);\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'timerId',\n\t\t\t\t\tvalue: null,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: true,\n\t\t\t\t});\n\t\t\t\tdispatch(({state}) => ({\n\t\t\t\t\ttype: 'NOW_ALERT#DISMISS_TIMER_UPDATE',\n\t\t\t\t\tpayload: {value: state.countdownDuration},\n\t\t\t\t\tshouldDispatch: true,\n\t\t\t\t}));\n\t\t\t}\n\t\t},\n\t\t'NOW_ALERT#DISMISS_TIMER_START': {\n\t\t\teffect: ({state, dispatch, updateState}) => {\n\t\t\t\tconst {autoDismissConfig} = state.properties;\n\t\t\t\tconst {countdownDuration} = state;\n\t\t\t\tlet totalDuration =\n\t\t\t\t\tautoDismissConfig.duration ?? DEFAULT_DISMISS_DURATION_TIME;\n\t\t\t\ttotalDuration = Math.max(totalDuration, MIN_DISMISS_DURATION_TIME);\n\t\t\t\tlet dismissTimer = countdownDuration;\n\t\t\t\tconst interval = setInterval(() => {\n\t\t\t\t\tif (dismissTimer <= 0) {\n\t\t\t\t\t\tclearTimeout(interval);\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tpath: 'timerId',\n\t\t\t\t\t\t\tvalue: null,\n\t\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\t\tshouldRender: false,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tdispatch('NOW_ALERT#AUTO_DISMISS');\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tdismissTimer === totalDuration &&\n\t\t\t\t\t\t\t!autoDismissConfig.hideProgressBar &&\n\t\t\t\t\t\t\t!reduceMotion\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tstate.progressBarRef.current.style.borderBottomRightRadius =\n\t\t\t\t\t\t\t\t'0px';\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdismissTimer -= 200;\n\t\t\t\t\t\tconst progress = getProgress(dismissTimer, totalDuration);\n\t\t\t\t\t\tif (!autoDismissConfig.hideProgressBar && !reduceMotion) {\n\t\t\t\t\t\t\tstate.progressBarRef.current.style.setProperty(\n\t\t\t\t\t\t\t\t'--now-alert_progress-bar--inline-size',\n\t\t\t\t\t\t\t\tprogress + '%',\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tstate.progressBarRef.current.setAttribute(\n\t\t\t\t\t\t\t\t'aria-valuenow',\n\t\t\t\t\t\t\t\tMath.ceil(dismissTimer / 1000),\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (autoDismissConfig.showTimer) {\n\t\t\t\t\t\t\tstate.timerLabelRef.current.innerHTML =\n\t\t\t\t\t\t\t\tMath.ceil(dismissTimer / 1000) + secondsLabel;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tpath: 'countdownDuration',\n\t\t\t\t\t\t\tvalue: dismissTimer,\n\t\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\t\tshouldRender: false,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}, 200);\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'timerId',\n\t\t\t\t\tvalue: interval,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: true,\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\t'NOW_ALERT#FOCUS_AFTER_FIRST_RESIZE': ({host}) => {\n\t\t\thandleFocusFirstNode(host);\n\t\t},\n\t},\n\tbehaviors: [\n\t\t{behavior: resizeBehavior, options: {timer: {type: 'throttle', wait: 50}}},\n\t\t{behavior: focusBehavior},\n\t\t{\n\t\t\tbehavior: themeBehavior,\n\t\t\toptions: {\n\t\t\t\titems: ['--now-messaging_message--font-size--md'],\n\t\t\t},\n\t\t},\n\t],\n\tstyles,\n\tview,\n});\n","import isEmpty from 'lodash/isEmpty';\nimport {contentIsOverset} from './content-is-overset';\nimport {\n\tgetComputedOversetHeight,\n\tgetComputedOversetTextHeight,\n} from './get-computed-overset-height';\n\nconst checkTextLinkPosition = (contentSpan, alertTextLink) => {\n\tconst contentRect = contentSpan.getBoundingClientRect();\n\tconst alertRect = alertTextLink.getBoundingClientRect();\n\tif (alertRect.bottom - contentRect.bottom > alertRect.height) {\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nconst updateOverset = ({updateState, host, action, state, dispatch}) => {\n\tconst {theme} = state.behaviors;\n\tconst fontSize = theme['--now-messaging_message--font-size--md'].px;\n\tconst {height, width} = action.payload;\n\tconst {textLinkProps} = state.properties;\n\tconst hasTextLink = !isEmpty(textLinkProps);\n\tlet nextState = {};\n\tlet alertContentText;\n\tlet alertTextLink;\n\t// This is a setup step on first render only.\n\tif (!state.contentEl) {\n\t\tnextState.contentEl = host.shadowRoot.querySelector('.now-alert-content');\n\t\tif (nextState.contentEl) {\n\t\t\talertContentText = nextState.contentEl.querySelector('span');\n\t\t}\n\t} else {\n\t\talertContentText = state.contentEl.querySelector('span');\n\t}\n\tlet alertContentTextHeight = 0;\n\tif (alertContentText) {\n\t\talertContentTextHeight = alertContentText.getBoundingClientRect().height;\n\t}\n\tconst alertButton = host.shadowRoot.querySelector('.now-alert-button');\n\tlet alertButtonHeight = 0;\n\tif (alertButton && !alertButton.classList.contains('is-iconic')) {\n\t\tconst alertButtonText = alertButton.shadowRoot.querySelector(\n\t\t\t'.now-line-height-crop',\n\t\t);\n\t\talertButtonHeight = alertButtonText.getBoundingClientRect().height;\n\t}\n\n\tconst parent = host.parentElement;\n\tconst parentStyles = window.getComputedStyle(parent);\n\tconst isParentFlex = parentStyles.display === 'flex';\n\n\t// 75 is the approximate height of a collapsed, two line alert\n\t// where the page's font size is at 1rem (16px).\n\t// When the parent is a flex container, the height of the alert includes the bottom margin\n\t// Adjust the dimension change tolerance to 81 to account for this\n\tconst DIMENSION_CHANGE_TOLERANCE = isParentFlex ? 81 : 75;\n\n\tif (height !== state.prevHeight) {\n\t\tconst computedOversetHeight = getComputedOversetHeight(\n\t\t\tfontSize,\n\t\t\tisParentFlex,\n\t\t);\n\t\tif (state.oversetHeight !== computedOversetHeight) {\n\t\t\tnextState.oversetHeight = computedOversetHeight;\n\t\t}\n\n\t\tif (\n\t\t\tMath.abs(height - state.prevHeight) > DIMENSION_CHANGE_TOLERANCE ||\n\t\t\tMath.abs(width - state.prevWidth) > DIMENSION_CHANGE_TOLERANCE\n\t\t) {\n\t\t\tnextState.prevHeight = height;\n\t\t}\n\t}\n\n\t// In the case where these were updated above.\n\tconst oversetHeight = nextState.oversetHeight || state.oversetHeight;\n\tconst contentEl = nextState.contentEl || state.contentEl;\n\tconst OVERSET_TOLERANCE = 5;\n\tconst oversetHeightRangeMax = oversetHeight + OVERSET_TOLERANCE;\n\tconst oversetHeightRangeMin = oversetHeight - OVERSET_TOLERANCE;\n\tlet contentSpanContainsTextLink = true;\n\n\tif (hasTextLink && alertContentText) {\n\t\talertTextLink = contentEl.querySelector('now-text-link');\n\t\tcontentSpanContainsTextLink = checkTextLinkPosition(\n\t\t\talertContentText,\n\t\t\talertTextLink,\n\t\t);\n\t}\n\n\tconst contentFits = () =>\n\t\theight <= oversetHeightRangeMax && !contentIsOverset(contentEl);\n\tconst contentOverset = () =>\n\t\theight >= oversetHeightRangeMin || contentIsOverset(contentEl);\n\n\tif (width >= state.prevWidth && contentFits()) {\n\t\tnextState.isOverset = false;\n\t\tnextState.isButtonWrapped = false;\n\t} else if (width <= state.prevWidth && contentOverset()) {\n\t\tif (\n\t\t\talertButtonHeight > alertContentTextHeight &&\n\t\t\talertContentTextHeight < getComputedOversetTextHeight(fontSize) &&\n\t\t\tcontentSpanContainsTextLink\n\t\t) {\n\t\t\tnextState.isOverset = false;\n\t\t\tnextState.isButtonWrapped = true;\n\t\t} else {\n\t\t\tnextState.isOverset = true;\n\t\t\tnextState.isButtonWrapped = false;\n\t\t}\n\t} else if (\n\t\t!state.contentEl &&\n\t\talertButtonHeight > alertContentTextHeight &&\n\t\talertContentTextHeight < getComputedOversetTextHeight(fontSize) &&\n\t\tcontentSpanContainsTextLink\n\t) {\n\t\tnextState.isOverset = false;\n\t\tnextState.isButtonWrapped = true;\n\t} else if (\n\t\twidth >= state.prevWidth &&\n\t\tcontentOverset() &&\n\t\talertButtonHeight > alertContentTextHeight &&\n\t\talertContentTextHeight < getComputedOversetTextHeight(fontSize) &&\n\t\tcontentSpanContainsTextLink\n\t) {\n\t\tnextState.isOverset = false;\n\t\tnextState.isButtonWrapped = true;\n\t}\n\n\tif (width !== state.prevWidth) nextState.prevWidth = width;\n\tif (!isEmpty(nextState)) {\n\t\tif (\n\t\t\tstate.contentEl &&\n\t\t\tstate.contentEl.classList.contains('is-expanded') &&\n\t\t\tstate.expandedFirstRender &&\n\t\t\tstate.properties.enableFocus\n\t\t) {\n\t\t\tnextState.expandedFirstRender = false;\n\t\t\tdispatch('NOW_ALERT#FOCUS_AFTER_FIRST_RESIZE');\n\t\t}\n\t\tupdateState(nextState);\n\t}\n};\n\nexport const handleResize = (coeffects) =>\n\trequestAnimationFrame(() => updateOverset(coeffects));\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {filterAriaAttributes} from '@servicenow/library-enhanced-utils';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {actionTypes} from '@servicenow/ui-core';\nconst {\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_RENDERED,\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tARIA_LIVE_REGION_UPDATE_REQUESTED,\n\tCOMPONENT_DISCONNECTED,\n} = actionTypes;\nimport styles from './_now-alert-list.scss';\nimport './now-alert';\nimport {t} from 'sn-translate';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {configAriaSchema} from '@servicenow/library-schemas';\nimport {getActiveElement} from '@servicenow/library-enhanced-utils';\nimport {\n\tregisterComponent,\n\tderegisterComponent,\n} from '@servicenow/now-trigger-library';\nconst ANNOUNCEMENT_MESSAGE = t({\n\tcode: 'now-alert-list-all-alerts-dismissed',\n\tmessage: 'All alerts have been dismissed',\n\tcomment:\n\t\t'These are instructions given to screen reader users who have presed shift + alt + q key to dismiss all the alerts.',\n});\n\nconst getIndividualAlerts = (host) => {\n\treturn [...host.shadowRoot.querySelectorAll('li')];\n};\n\nconst updateExpandedAlerts = (items, updateState) => {\n\titems.forEach((item) => {\n\t\tif (item.expanded) {\n\t\t\tupdateState({\n\t\t\t\tpath: `expandedAlerts.${item.id}`,\n\t\t\t\toperation: 'set',\n\t\t\t\tvalue: true,\n\t\t\t});\n\t\t}\n\t});\n};\n\nconst getToggleButton = (host) => {\n\treturn host.shadowRoot.querySelector(\n\t\t'.now-alert-list-controller-toggle-button',\n\t);\n};\n\nconst alertAutoDismissedHandler = ({\n\tproperties,\n\tcollated,\n\tdispatch,\n\tstate,\n\tupdateState,\n}) => {\n\tlet dismissedItems = [];\n\tlet updatedTimerMap = state.alertTimers;\n\tcollated.forEach((entry) => {\n\t\tdismissedItems.push(entry.action.payload.item);\n\t\tif (updatedTimerMap.has(entry.action.payload.item.id)) {\n\t\t\tupdatedTimerMap.delete(entry.action.payload.item.id);\n\t\t}\n\t});\n\tconst {items: sourceItems} = properties;\n\tconst filteredItems = sourceItems.filter(\n\t\t(item) => !dismissedItems.includes(item),\n\t);\n\tupdateState({\n\t\tpath: 'alertTimers',\n\t\tvalue: updatedTimerMap,\n\t\toperation: 'set',\n\t\tshouldRender: false,\n\t});\n\tdispatch(() => {\n\t\treturn {\n\t\t\ttype: 'NOW_ALERT_LIST#ITEMS_SET',\n\t\t\tpayload: {value: filteredItems},\n\t\t};\n\t});\n};\n\nconst alertDismissedHandler = ({\n\thost,\n\tproperties,\n\taction,\n\tdispatch,\n\tupdateState,\n\tstate,\n}) => {\n\tconst {items: sourceItems} = properties;\n\tconst {focusReferenceElement} = state;\n\tconst {item} = action.payload;\n\n\t// manage focus after the alert is dismissed\n\tconst index = sourceItems.indexOf(item);\n\tconst individualAlerts = getIndividualAlerts(host).reverse(); // reverse individualAlerts to match order of sourceItems array\n\tconst previousAlert = individualAlerts[index + 1]; // the alerts are displayed in reverse order so the previous one is at the next index of the array\n\tconst toggleButton = getToggleButton(host);\n\tif (sourceItems.length === 2 && !toggleButton) {\n\t\tupdateState({\n\t\t\tmoveFocus: true,\n\t\t});\n\t} else {\n\t\tconst nextFocused = previousAlert ? previousAlert : toggleButton;\n\t\tif (nextFocused) {\n\t\t\tnextFocused.focus();\n\t\t}\n\t}\n\n\t// manage state after the alert is dismissed\n\t// TODO: remove ternary when Seismic casts properties\n\tconst parsedItems =\n\t\ttypeof sourceItems === 'string' ? JSON.parse(sourceItems) : sourceItems;\n\tconst items = [...parsedItems];\n\titems.splice(index, 1);\n\tif (items.length === 0 && focusReferenceElement) {\n\t\tfocusReferenceElement.focus();\n\t\tupdateState({focusReferenceElement: null});\n\t}\n\tdispatch(() => {\n\t\treturn {\n\t\t\ttype: 'NOW_ALERT_LIST#ITEMS_SET',\n\t\t\tpayload: {value: items},\n\t\t};\n\t});\n};\n\nconst ariaLabel = (items, collapsed) => {\n\treturn collapsed\n\t\t? t('Collapsed alert list with {0} alerts.', items.length)\n\t\t: t('Expanded alert list with {0} alerts.', items.length);\n};\n\nconst _renderCollapsedAlertList = (items) => {\n\tconst middleAlertStyle = {\n\t\tzIndex: '2',\n\t\tposition: 'absolute',\n\t\ttransform: 'translateY(-80%)',\n\t\tinlineSize: '100%',\n\t\toutline: 'none', // remove focus outline because this alert is not interactive and only here for visual presentation\n\t};\n\tconst bottomAlertStyle = {\n\t\tzIndex: '1',\n\t\tposition: 'absolute',\n\t\ttransform: 'translateY(-60%)',\n\t\tinlineSize: '100%',\n\t\toutline: 'none', // remove focus outline because this alert is not interactive and only here for visual presentation\n\t};\n\n\tconst alert1 = (\n\t\t<now-alert\n\t\t\taria-hidden=\"true\"\n\t\t\ttabindex=\"-1\"\n\t\t\tappend-to-meta={'from-alert-list'}\n\t\t\tstyle={middleAlertStyle}\n\t\t\tstatus={items[0].status}\n\t\t\tshow-shadow\n\t\t/>\n\t);\n\n\tconst alert2 = items[1] ? (\n\t\t<now-alert\n\t\t\taria-hidden=\"true\"\n\t\t\ttabindex=\"-1\"\n\t\t\tappend-to-meta={'from-alert-list'}\n\t\t\tstyle={bottomAlertStyle}\n\t\t\tstatus={items[1].status}\n\t\t\tshow-shadow\n\t\t/>\n\t) : undefined;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{alert1}\n\t\t\t{alert2}\n\t\t</Fragment>\n\t);\n};\n\nconst _renderExpandedAlertList = (\n\tstate,\n\titems,\n\texpandedAlerts,\n\tmaxHeight,\n\tupdateState,\n) => {\n\treturn (\n\t\t<Fragment>\n\t\t\t{items.map((alert) => {\n\t\t\t\tlet {configAria = {}} = alert;\n\n\t\t\t\tif (configAria.alert) {\n\t\t\t\t\tconfigAria.alert.role = 'presentation';\n\t\t\t\t} else {\n\t\t\t\t\tconfigAria.alert = {role: 'presentation'};\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t// Safari tries to be clever with their \"is this is a list?\" heuristics which fail here\n\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-redundant-roles\n\t\t\t\t\t<li\n\t\t\t\t\t\tkey={alert.id}\n\t\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\t\trole=\"listitem\"\n\t\t\t\t\t\ton-focus={() => {\n\t\t\t\t\t\t\tupdateState({alertFocus: alert.id});\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ton-blur={() => {\n\t\t\t\t\t\t\tupdateState({alertFocus: null});\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<now-alert\n\t\t\t\t\t\t\tappend-to-payload={{alertId: alert.id}}\n\t\t\t\t\t\t\tappend-to-meta={'from-alert-list'}\n\t\t\t\t\t\t\tauto-dismiss-config={alert.autoDismissConfig}\n\t\t\t\t\t\t\tstatus={alert.status}\n\t\t\t\t\t\t\ticon={alert.icon || alert.iconName}\n\t\t\t\t\t\t\theader={alert.header}\n\t\t\t\t\t\t\tcontent={alert.content}\n\t\t\t\t\t\t\ttext-link-props={alert.textLinkProps}\n\t\t\t\t\t\t\taction={alert.action}\n\t\t\t\t\t\t\texpanded={expandedAlerts[alert.id]}\n\t\t\t\t\t\t\tmax-height={maxHeight}\n\t\t\t\t\t\t\tshow-shadow\n\t\t\t\t\t\t\tconfig-aria={configAria}\n\t\t\t\t\t\t\tenable-focus={alert.enableFocus}\n\t\t\t\t\t\t\tpause-auto-dismiss={state.autoDismissTimersPaused}\n\t\t\t\t\t\t\talert-focus={state.alertFocus === alert.id}\n\t\t\t\t\t\t\tsaved-duration={state.alertTimers.get(alert.id)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</li>\n\t\t\t\t);\n\t\t\t})}\n\t\t</Fragment>\n\t);\n};\n\nconst _renderController = (collapsed, onToggleController, onDismissAll) => {\n\treturn (\n\t\t<div className=\"now-alert-list-controller\">\n\t\t\t<div className=\"now-alert-list-controller-toggle\">\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclassName=\"now-alert-list-controller-toggle-button now-button -secondary -md\"\n\t\t\t\t\taria-expanded={collapsed ? 'false' : 'true'}\n\t\t\t\t\ton-click={onToggleController}\n\t\t\t\t>\n\t\t\t\t\t<span className=\"now-line-height-crop\">\n\t\t\t\t\t\t{collapsed ? t('Show alerts') : t('Hide alerts')}\n\t\t\t\t\t</span>\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t\t<div className=\"now-alert-list-controller-dismiss\">\n\t\t\t\t<now-button\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tclassName=\"now-alert-list-controller-dismiss-button\"\n\t\t\t\t\tlabel={t('Dismiss All')}\n\t\t\t\t\tconfig-aria={{button: {'aria-label': t('Dismiss all alerts')}}}\n\t\t\t\t\ton-click={onDismissAll}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nconst view = (state, {dispatch, updateState}) => {\n\tconst {items, configAria, maxHeight, alertListMaxHeight} = state.properties;\n\tconst {collapsed, userInteractedWithController, expandedAlerts} = state;\n\tconst reversedAlerts = [...items].reverse();\n\tconst maxHeightStyle = {\n\t\tmaxHeight: alertListMaxHeight ? alertListMaxHeight : '80vh',\n\t\toverflowY: 'auto',\n\t};\n\tconst onToggleController = () => {\n\t\tif (items.length === 1) {\n\t\t\tupdateState({userInteractedWithController: false});\n\t\t} else {\n\t\t\tif (state.collapsed) {\n\t\t\t\tupdateState(({state}) => ({\n\t\t\t\t\toperation: 'merge',\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\tcollapsed: !state.collapsed,\n\t\t\t\t\t\tuserInteractedWithController: true,\n\t\t\t\t\t\tautoDismissTimersPaused: false,\n\t\t\t\t\t\thasFocusIn: false,\n\t\t\t\t\t\thasMouseEnter: false,\n\t\t\t\t\t},\n\t\t\t\t}));\n\t\t\t} else {\n\t\t\t\tupdateState({autoDismissTimersPaused: true});\n\t\t\t\tdispatch('PRIVATE#HIDE_ALERTS');\n\t\t\t}\n\t\t}\n\t};\n\n\tconst onDismissAll = () =>\n\t\tdispatch(() => {\n\t\t\treturn {\n\t\t\t\ttype: 'PRIVATE#DISMISS_ALL',\n\t\t\t\tpayload: {},\n\t\t\t};\n\t\t});\n\n\tconst controller =\n\t\titems &&\n\t\titems.length &&\n\t\t(collapsed || (!collapsed && userInteractedWithController))\n\t\t\t? _renderController(collapsed, onToggleController, onDismissAll)\n\t\t\t: undefined;\n\n\tconst alerts =\n\t\titems && items.length && collapsed\n\t\t\t? _renderCollapsedAlertList(reversedAlerts)\n\t\t\t: _renderExpandedAlertList(\n\t\t\t\t\tstate,\n\t\t\t\t\treversedAlerts,\n\t\t\t\t\texpandedAlerts,\n\t\t\t\t\tmaxHeight,\n\t\t\t\t\tupdateState,\n\t\t\t\t);\n\n\treturn (\n\t\t<div\n\t\t\tclass={{'now-alert-list': true, 'is-collapsed': collapsed}}\n\t\t\trole=\"alert\"\n\t\t\taria-atomic=\"false\"\n\t\t\t{...filterAriaAttributes(configAria, 'wrapper')}\n\t\t\ton-mouseenter={() => {\n\t\t\t\tupdateState({hasMouseEnter: true});\n\t\t\t\tif (!state.collapsed) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tautoDismissTimersPaused: true,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}}\n\t\t\ton-mouseleave={() => {\n\t\t\t\tupdateState({hasMouseEnter: false});\n\t\t\t\tif (!state.collapsed) {\n\t\t\t\t\tif (!state.hasFocusIn) updateState({autoDismissTimersPaused: false});\n\t\t\t\t}\n\t\t\t}}\n\t\t\ton-focusin={() => {\n\t\t\t\tupdateState({hasFocusIn: true});\n\t\t\t\tif (!state.collapsed) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tautoDismissTimersPaused: true,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}}\n\t\t\ton-focusout={() => {\n\t\t\t\tupdateState({hasFocusIn: false});\n\t\t\t\tif (!state.collapsed) {\n\t\t\t\t\tif (!state.hasMouseEnter)\n\t\t\t\t\t\tupdateState({autoDismissTimersPaused: false});\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t{controller}\n\t\t\t{/* Safari tries to be clever with their \"is this is a list?\" heuristics which fail here */}\n\t\t\t<ul\n\t\t\t\trole={collapsed ? undefined : 'list'}\n\t\t\t\tclassName=\"now-alert-list-ul\"\n\t\t\t\taria-label={ariaLabel(items, collapsed)}\n\t\t\t\t{...filterAriaAttributes(configAria, 'list')}\n\t\t\t\tstyle={collapsed ? undefined : maxHeightStyle}\n\t\t\t>\n\t\t\t\t{alerts}\n\t\t\t</ul>\n\t\t</div>\n\t);\n};\n\n/**\n * A list of now-alert elements, which can optionally be dismissed.\n *\n * ```jsx\n * <now-alert-list items=[...] />\n * ```\n * @seismicElement now-alert-list\n * @summary A list of now-alert elements, which can optionally be dismissed.\n * @shortcuts [{\"name\":\"Focus on active alert\", \"description\":\"Moves focus to the currently active alert.\",\"actionKey\": \"ACTIVE_ALERT_FOCUSED\",\"shortcut\": {\"mac\": {\"shiftKey\": true,\"altKey\": true,\"metaKey\": false,\"key\": \"o\"}}},{\"name\":\"Dismiss all alerts\", \"description\":\"Dismisses all the alerts.\",\"actionKey\": \"DISMISS_ALL_ALERTS\",\"shortcut\": {\"mac\": {\"shiftKey\": true,\"altKey\": true,\"metaKey\": false,\"key\": \"q\"}}}]\n */\ncreateEnhancedElement('now-alert-list', {\n\tproperties: {\n\t\t/**\n\t\t * List of alerts to display. See `now-alert` component documentation for\n\t\t * valid inputs for all sub-properties. Use `manage-items` to override the\n\t\t * default alert dismissal behavior and handle the `NOW_ALERT_LIST#ITEMS_SET`\n\t\t * action manually.\n\t\t * Assign a globally unique id to each alert to ensure that the alert's\n\t\t * state is correctly maintained as the user interacts with the alert list.\n\t\t * The alert list will not behave as expected if any alerts share the same id.\n\t\t * @type {Alert[]}\n\t\t */\n\t\titems: {\n\t\t\trequired: true,\n\t\t\tmanageable: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tid: {type: ['string', 'number']},\n\t\t\t\t\t\tstatus: {type: 'string'},\n\t\t\t\t\t\ticon: {type: 'string'},\n\t\t\t\t\t\theader: {type: 'string'},\n\t\t\t\t\t\tcontent: {type: ['string', 'object']},\n\t\t\t\t\t\ttextLinkProps: {type: 'object'},\n\t\t\t\t\t\taction: {type: 'object'},\n\t\t\t\t\t\texpanded: {type: 'boolean'},\n\t\t\t\t\t\tshowShadow: {type: 'boolean'},\n\t\t\t\t\t\tconfigAria: {type: 'object'},\n\t\t\t\t\t\tenableFocus: {type: 'boolean'},\n\t\t\t\t\t\tautoDismissConfig: {type: 'object'},\n\t\t\t\t\t},\n\t\t\t\t\trequired: ['id'],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Deprecated, use `config-aria` instead\n\t\t * Optionally configurable assertiveness level for the aria-live region\n\t\t * @private\n\t\t */\n\t\tconfigAriaLive: {\n\t\t\tdefault: 'off',\n\t\t\tschema: {type: 'string', enum: ['off', 'polite', 'assertive']},\n\t\t},\n\t\t/**\n\t\t * An object whose keys reference a specific element within the now-alert-list.\n\t\t * The value of each key is an object that contains an ARIA property (or properties) and corresponding value/s.\n\t\t * These ARIA properties will be set on the specified element.\n\t\t * ARIA properties can be set on the now-alert-list using the key `list`.\n\t\t * @type {{ list: { 'aria-*': string, role: string }, wrapper: { 'aria-*': string, role: string } }}\n\t\t */\n\t\tconfigAria: {\n\t\t\tdefault: {},\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tlist: configAriaSchema,\n\t\t\t\t\twrapper: configAriaSchema,\n\t\t\t\t},\n\t\t\t\tadditionalProperties: false,\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Threshold at which to switch from displaying individual alerts to\n\t\t * displaying them as a stack with a show/hide button and \"dismiss all\" button.\n\t\t * @type {integer}\n\t\t */\n\t\tstackThreshold: {default: 3, schema: {type: 'integer', minimum: 2}},\n\t\t/**\n\t\t * Maximum height (as a number of pixels) for each expanded alert. If the\n\t\t * content exceeds the provided height, a scrollbar displays inside the alert.\n\t\t * @type {number}\n\t\t * @uib.description Maximum height (as a number of pixels) for each alert.\n\t\t */\n\t\tmaxHeight: {schema: {type: 'number', minimum: 50}},\n\t\t/**\n\t\t * Maximum height for the alert list. If the\n\t\t * content exceeds the provided height, a scrollbar is displayed.\n\t\t * @type {string}\n\t\t */\n\t\talertListMaxHeight: {default: '80vh', schema: {type: 'string'}},\n\t},\n\tinitialState: {\n\t\texpandedAlerts: {},\n\t\tuserInteractedWithController: false,\n\t\tcollapsed: false,\n\t\tmoveFocus: false,\n\t\tfocusReferenceElement: null,\n\t\tautoDismissTimersPaused: true,\n\t\talertFocus: null,\n\t\talertTimers: new Map(),\n\t\tregisteredComponentId: null,\n\t\thasFocusIn: false,\n\t\thasMouseEnter: false,\n\t},\n\tview,\n\tactionHandlers: {\n\t\t[COMPONENT_CONNECTED]: ({properties, updateState}) => {\n\t\t\tconst {items, stackThreshold} = properties;\n\t\t\tif (items.length >= stackThreshold) {\n\t\t\t\tupdateState({collapsed: true});\n\t\t\t}\n\t\t\tupdateExpandedAlerts(items, updateState);\n\t\t},\n\t\t[COMPONENT_DOM_TREE_READY]: ({properties, updateState}) => {\n\t\t\tconst {items, stackThreshold} = properties;\n\t\t\tif (items.length < stackThreshold) {\n\t\t\t\tupdateState({autoDismissTimersPaused: false});\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_RENDERED]: ({state, host, updateState}) => {\n\t\t\tconst {moveFocus} = state;\n\n\t\t\tif (moveFocus) {\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'moveFocus',\n\t\t\t\t\tvalue: false,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false,\n\t\t\t\t});\n\t\t\t\tconst focusableEl = getIndividualAlerts(host)[0];\n\t\t\t\tfocusableEl.focus();\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\t\tstate,\n\t\t\taction,\n\t\t\tupdateState,\n\t\t\tproperties,\n\t\t}) => {\n\t\t\tconst {name, value, previousValue} = action.payload;\n\t\t\tconst {stackThreshold} = properties;\n\t\t\tif (name === 'items') {\n\t\t\t\tupdateExpandedAlerts(value, updateState);\n\t\t\t\tconst nextLength = value.length;\n\t\t\t\tconst lastLength = previousValue ? previousValue.length : 0;\n\t\t\t\tif (nextLength !== lastLength) {\n\t\t\t\t\tconst {collapsed, userInteractedWithController} = state;\n\t\t\t\t\t/*\n\t\t\t\t\t * Case 1:\n\t\t\t\t\t * - If alert(s) reduced to 0:\n\t\t\t\t\t * - clear everything so we start fresh when new alerts are added\n\t\t\t\t\t *\n\t\t\t\t\t * Case 2:\n\t\t\t\t\t * - If alert(s) reduced to 1\n\t\t\t\t\t * - and the user didn't actively dismiss the alert (user can't dismiss alerts when list is collapsed):\n\t\t\t\t\t * - expand the list and hide the controller\n\t\t\t\t\t *\n\t\t\t\t\t * Case 3:\n\t\t\t\t\t * - If alert(s) reduced below stackThreshold\n\t\t\t\t\t * - and the list is auto collapsed (aka the user hasn't interacted with the controller):\n\t\t\t\t\t * - expand the list and hide the controller\n\t\t\t\t\t */\n\t\t\t\t\tif (\n\t\t\t\t\t\tnextLength === 0 ||\n\t\t\t\t\t\t(nextLength === 1 && collapsed) ||\n\t\t\t\t\t\t(nextLength < stackThreshold &&\n\t\t\t\t\t\t\tcollapsed &&\n\t\t\t\t\t\t\t!userInteractedWithController)\n\t\t\t\t\t) {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tcollapsed: false,\n\t\t\t\t\t\t\tautoDismissTimersPaused: false,\n\t\t\t\t\t\t\tuserInteractedWithController: false,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\t/*\n\t\t\t\t\t * Case 4:\n\t\t\t\t\t * - If alert(s) increased at or above stackThreshold\n\t\t\t\t\t * - and the user hasn't actively expanded then collapsed the list (aka it was auto collapsed and not touched):\n\t\t\t\t\t * - collapse the list and show the controller\n\t\t\t\t\t */\n\t\t\t\t\tif (\n\t\t\t\t\t\tnextLength >= stackThreshold &&\n\t\t\t\t\t\tlastLength < stackThreshold &&\n\t\t\t\t\t\t!userInteractedWithController\n\t\t\t\t\t) {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tcollapsed: true,\n\t\t\t\t\t\t\tautoDismissTimersPaused: true,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_BOOTSTRAPPED]: ({updateState, host, dispatch}) => {\n\t\t\tconst registeredComponentId = registerComponent(host, {\n\t\t\t\tupdateState,\n\t\t\t\tactionMap: {\n\t\t\t\t\t['ACTIVE_ALERT_FOCUSED']: ({host}) => {\n\t\t\t\t\t\tconst activeElement = getActiveElement();\n\t\t\t\t\t\tconst focusableAlert = getIndividualAlerts(host);\n\t\t\t\t\t\tupdateState({focusReferenceElement: activeElement});\n\t\t\t\t\t\tconst nextFocusAlert =\n\t\t\t\t\t\t\tfocusableAlert?.length > 0\n\t\t\t\t\t\t\t\t? focusableAlert[0]\n\t\t\t\t\t\t\t\t: getToggleButton(host);\n\t\t\t\t\t\tnextFocusAlert?.focus();\n\t\t\t\t\t},\n\t\t\t\t\t['DISMISS_ALL_ALERTS']: () => {\n\t\t\t\t\t\tdispatch('PRIVATE#DISMISS_ALL');\n\t\t\t\t\t\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\t\t\t\t\tmessage: ANNOUNCEMENT_MESSAGE,\n\t\t\t\t\t\t\ttype: 'polite',\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t});\n\t\t\tupdateState({\n\t\t\t\tpath: 'registeredComponentId',\n\t\t\t\tvalue: registeredComponentId,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false,\n\t\t\t});\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: ({\n\t\t\tstate: {registeredComponentId},\n\t\t\tupdateState,\n\t\t}) => {\n\t\t\tif (registeredComponentId && deregisterComponent) {\n\t\t\t\tderegisterComponent(registeredComponentId);\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'registeredComponentId',\n\t\t\t\t\tvalue: null,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t'NOW_ALERT#ACTION_CLICKED': ({action, dispatch}) => {\n\t\t\tdispatch(({properties}) => {\n\t\t\t\tconst item = properties.items.find(\n\t\t\t\t\t(item) => item.id === action.payload.alertId,\n\t\t\t\t);\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'NOW_ALERT_LIST#ITEM_ACTION_CLICKED',\n\t\t\t\t\tpayload: {item},\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\t\t'NOW_ALERT_LIST#ITEM_ACTION_CLICKED': {\n\t\t\teffect: alertDismissedHandler,\n\t\t},\n\t\t'NOW_ALERT#TEXT_LINK_CLICKED': ({action, dispatch}) => {\n\t\t\tdispatch(({properties}) => {\n\t\t\t\tconst item = properties.items.find(\n\t\t\t\t\t(item) => item.id === action.payload.alertId,\n\t\t\t\t);\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'NOW_ALERT_LIST#ITEM_TEXT_LINK_CLICKED',\n\t\t\t\t\tpayload: {item},\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\t\t'NOW_ALERT_LIST#ITEM_TEXT_LINK_CLICKED': {\n\t\t\teffect: alertDismissedHandler,\n\t\t},\n\t\t'NOW_ALERT#EXPANDED_SET': ({action, updateState}) => {\n\t\t\tconst {alertId, value: expanded} = action.payload;\n\t\t\tupdateState({\n\t\t\t\tpath: `expandedAlerts.${alertId}`,\n\t\t\t\toperation: 'set',\n\t\t\t\tvalue: expanded,\n\t\t\t});\n\t\t},\n\t\t'PRIVATE#DISMISS_ALL': {\n\t\t\tstopPropagation: true,\n\t\t\teffect: ({dispatch, updateState, state, properties}) => {\n\t\t\t\tconst {items} = properties;\n\t\t\t\tconst {focusReferenceElement, alertTimers} = state;\n\t\t\t\tlet updatedTimers = alertTimers;\n\t\t\t\titems.forEach((item) => {\n\t\t\t\t\tif (updatedTimers.has(item.id)) {\n\t\t\t\t\t\tupdatedTimers.delete(item.id);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tdispatch(() => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'NOW_ALERT_LIST#ITEMS_SET',\n\t\t\t\t\t\tpayload: {value: []},\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t\tupdateState({\n\t\t\t\t\tcollapsed: false,\n\t\t\t\t\tuserInteractedWithController: false,\n\t\t\t\t\talertTimers: updatedTimers,\n\t\t\t\t});\n\t\t\t\tif (focusReferenceElement) {\n\t\t\t\t\tfocusReferenceElement.focus();\n\t\t\t\t\tupdateState({focusReferenceElement: null});\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t'PRIVATE#HIDE_ALERTS': {\n\t\t\tstopPropagation: true,\n\t\t\tmodifier: {name: 'debounce', delay: 5},\n\t\t\teffect: ({updateState}) => {\n\t\t\t\tupdateState({\n\t\t\t\t\tcollapsed: true,\n\t\t\t\t\tuserInteractedWithController: true,\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\t'NOW_ALERT#AUTO_DISMISS': ({action, dispatch}) => {\n\t\t\tdispatch(({properties}) => {\n\t\t\t\tconst item = properties.items.find(\n\t\t\t\t\t(item) => item.id === action.payload.alertId,\n\t\t\t\t);\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'NOW_ALERT_LIST#AUTO_DISMISS',\n\t\t\t\t\tpayload: {item},\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\t\t'NOW_ALERT_LIST#AUTO_DISMISS': {\n\t\t\tmodifier: {name: 'debounce', delay: 100, collate: true},\n\t\t\teffect: alertAutoDismissedHandler,\n\t\t},\n\t\t'NOW_ALERT#DISMISS_TIMER_UPDATE': ({action, dispatch}) => {\n\t\t\tdispatch(({properties}) => {\n\t\t\t\tconst item = properties.items.find(\n\t\t\t\t\t(item) => item.id === action.payload.alertId,\n\t\t\t\t);\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'NOW_ALERT_LIST#DISMISS_TIMER_UPDATE',\n\t\t\t\t\tpayload: {id: item.id, value: action.payload.value},\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\t\t'NOW_ALERT_LIST#DISMISS_TIMER_UPDATE': {\n\t\t\tmodifier: {name: 'debounce', delay: 1, collate: true},\n\t\t\teffect: ({collated, updateState}) => {\n\t\t\t\tlet updatedTimers = new Map();\n\t\t\t\tcollated.forEach((entry) => {\n\t\t\t\t\tupdatedTimers.set(\n\t\t\t\t\t\tentry.action.payload.id,\n\t\t\t\t\t\tentry.action.payload.value,\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t\tupdateState({alertTimers: updatedTimers});\n\t\t\t},\n\t\t},\n\t},\n\tstyles,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t},\n\t],\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when an individual alert is dismissed, or when the `dismiss all`\n\t\t * button is used to dismiss all of the alerts in the list. The payload\n\t\t * will contain the array of non-dismissed alerts remaining in the list.\n\t\t * Set the `manage-items` property to override the default behavior and\n\t\t * handle this action manually.\n\t\t * @type {{value: Object[]}}\n\t\t */\n\t\t'NOW_ALERT_LIST#ITEMS_SET': {},\n\t\t/**\n\t\t * Dispatched when a user clicks on the action button within an\n\t\t * individual alert. Payload will contain the configuration passed in\n\t\t * for that alert item.\n\t\t * @type {{item: Object}}\n\t\t */\n\t\t'NOW_ALERT_LIST#ITEM_ACTION_CLICKED': {},\n\t\t/**\n\t\t * Dispatched when a user clicks on the text link within an\n\t\t * individual alert. Payload will contain the configuration passed in\n\t\t * for that alert item.\n\t\t * @type {{item: Object}}\n\t\t */\n\t\t'NOW_ALERT_LIST#ITEM_TEXT_LINK_CLICKED': {},\n\t\t/** @private */\n\t\t'NOW_ALERT_LIST#AUTO_DISMISS': {},\n\t\t/** @private */\n\t\t'NOW_ALERT_LIST#DISMISS_TIMER_UPDATE': {},\n\t},\n});\n","import './now-alert';\nimport './now-alert-list';\n\nimport * as info from '../package.json';\nconst {name, version} = info;\n\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {toEmbeddableUrl} from '@servicenow/library-enhanced-utils';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_now-avatar.scss';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-tooltip';\nimport {localizePresence} from '@servicenow/now-icon';\nimport {t} from 'sn-translate';\nimport {\n\tfilterAriaAttributes,\n\tsanitizeHref,\n} from '@servicenow/library-enhanced-utils';\nimport {configAriaLabelRoleHasPopUpSchema} from '@servicenow/library-schemas';\n\nimport packageInfo from '../package.json';\nconst {name, version} = packageInfo;\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n\nconst _renderUserNameWithPresence = (userName, presence) => {\n\treturn t(\n\t\t{\n\t\t\tcode: 'now-avatar-tooltip',\n\t\t\tmessage: '{userName} is {presence}',\n\t\t\tcomment:\n\t\t\t\t'Describes the availability of a user. Possible values for presence are available, busy, away, or offline',\n\t\t},\n\t\t{userName, presence},\n\t);\n};\n\nconst _getLabel = (userName, presence) => {\n\tif (presence) {\n\t\tconst localizedPresence = localizePresence(presence);\n\t\treturn userName\n\t\t\t? _renderUserNameWithPresence(userName, localizedPresence)\n\t\t\t: _renderUserNameWithPresence('Unknown User', localizedPresence);\n\t} else {\n\t\treturn userName ? userName : t('Unknown User');\n\t}\n};\n\nconst _getInitials = (userName, size) => {\n\tif (!userName) {\n\t\treturn;\n\t}\n\n\t// Adapted from glide NGInitials.java to be consistent with UI16\n\t// (0) Remove non-word characters which are not { dot, space, parenthesis, double quote, square brackets }\n\t// NDS also has to support numbers and the plus character for avatar stacks that use something like \"+2\"\n\tuserName = userName.replace(/[^\\p{L}\\p{N}()[\\]+\".\\s]/gu, '');\n\t// (1) Remove everything wrapped in non-word characters like: David \"Danger\" Loo (NOW) -> David  Loo\n\tuserName = userName.replace(\n\t\t/[^\\p{L}\\s.^+][\\p{L}\\p{N}.@\\s]+[^\\p{L}\\s.]|[^\\p{L}\\p{N}+\\s.]/gu,\n\t\t'',\n\t);\n\t// (2) Remove multiple spaces: David  Loo -> David Loo\n\tuserName = userName.replace(/\\s+/gu, ' ');\n\t// (3) Remove leading and trailing spaces\n\tuserName = userName.trim();\n\t// (4) Remove leading period characters\n\tuserName = userName.replace(/^\\.+/gu, '');\n\t// (5) Remove leftover spaces\n\tuserName = userName.trim();\n\n\tlet firstInitial = '';\n\tlet lastInitial = '';\n\tconst nameParts = userName.split(' ');\n\n\tif (nameParts.length > 0 && nameParts[0] !== '') {\n\t\tfirstInitial = nameParts[0].charAt(0).toUpperCase();\n\t}\n\n\tif (\n\t\tsize !== 'xxs' &&\n\t\tsize !== 'xs' &&\n\t\tnameParts.length > 1 &&\n\t\tnameParts[nameParts.length - 1] !== ''\n\t) {\n\t\tlastInitial = nameParts[nameParts.length - 1].charAt(0).toUpperCase();\n\t}\n\n\treturn (\n\t\t<span className=\"now-avatar-label\">\n\t\t\t<span className=\"now-line-height-crop\">{firstInitial + lastInitial}</span>\n\t\t</span>\n\t);\n};\n\n// avatar sizes and icon sizes don't map directly\nconst sizeMap = {xxs: 'sm', xs: 'sm', sm: 'sm', md: 'md', lg: 'xl', xl: 'xl'};\n\nconst _renderContent = (\n\timageSrc,\n\tfailedImageSrc,\n\tuserName,\n\ticon,\n\tsize,\n\tshape,\n\tpresence,\n\tupdateState,\n\tconfigAria,\n) => {\n\t// Display avatar image if provided\n\tif (imageSrc && imageSrc !== failedImageSrc) {\n\t\treturn (\n\t\t\t<img\n\t\t\t\tclass={{\n\t\t\t\t\t'now-avatar-img': true,\n\t\t\t\t\t['-' + shape]: shape,\n\t\t\t\t}}\n\t\t\t\tsrc={toEmbeddableUrl(imageSrc)}\n\t\t\t\talt={_getLabel(userName, presence)}\n\t\t\t\ton-error={() => {\n\t\t\t\t\tupdateState({failedImageSrc: imageSrc});\n\t\t\t\t}}\n\t\t\t\t{...filterAriaAttributes(configAria, 'avatar')}\n\t\t\t/>\n\t\t);\n\t}\n\t// Fallback to display icon if provided\n\telse if (icon) {\n\t\treturn (\n\t\t\t<now-icon\n\t\t\t\tclassName=\"now-avatar-icon\"\n\t\t\t\ticon={icon}\n\t\t\t\tsize={sizeMap[size]}\n\t\t\t\tconfigAria={{\n\t\t\t\t\ticon: {\n\t\t\t\t\t\t'aria-label': _getLabel(userName, presence),\n\t\t\t\t\t\t...filterAriaAttributes(configAria, 'avatar'),\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t}\n\t// Fallback to displaying user's initials\n\telse if (userName) {\n\t\treturn (\n\t\t\t<span\n\t\t\t\taria-label={_getLabel(userName, presence)}\n\t\t\t\trole=\"img\"\n\t\t\t\t{...filterAriaAttributes(configAria, 'avatar')}\n\t\t\t>\n\t\t\t\t{_getInitials(userName, size)}\n\t\t\t</span>\n\t\t);\n\t}\n\t// Otherwise display the \"anonymous\" user icon\n\telse {\n\t\treturn (\n\t\t\t<now-icon\n\t\t\t\tclassName=\"now-avatar-icon\"\n\t\t\t\ticon=\"user-fill\"\n\t\t\t\tsize={sizeMap[size]}\n\t\t\t\tconfig-aria={{\n\t\t\t\t\ticon: {\n\t\t\t\t\t\t'aria-label': _getLabel(userName, presence),\n\t\t\t\t\t\t...filterAriaAttributes(configAria, 'avatar'),\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t}\n};\n\nconst _renderPresence = (size, presence) => {\n\treturn presence ? (\n\t\t<now-icon-presence\n\t\t\tclassName=\"now-avatar-icon-presence\"\n\t\t\tsize={sizeMap[size]}\n\t\t\tpresence={presence}\n\t\t\taria-hidden=\"true\"\n\t\t/>\n\t) : undefined;\n};\n\nconst _renderTooltip = (hideTooltip, targetRef, tooltipContent) => {\n\tif (tooltipContent && !hideTooltip) {\n\t\treturn (\n\t\t\t<now-tooltip\n\t\t\t\tid=\"tooltip\"\n\t\t\t\ttarget-ref={targetRef}\n\t\t\t\tcontent={tooltipContent}\n\t\t\t/>\n\t\t);\n\t}\n};\n\nconst view = (state, {updateState, dispatch}) => {\n\tconst {\n\t\tsize,\n\t\tshape,\n\t\tuserName,\n\t\timageSrc,\n\t\tinteraction,\n\t\ticon,\n\t\tpresence,\n\t\thideTooltip,\n\t\tconfigAria,\n\t\ttooltipContent,\n\t\thref,\n\t\topensWindow,\n\t} = state.properties;\n\n\tconst {failedImageSrc, targetRef} = state;\n\tconst setTargetRef = (ref) => setTimeout(() => updateState({targetRef: ref}));\n\n\tconst avatarContent = _renderContent(\n\t\timageSrc,\n\t\tfailedImageSrc,\n\t\tuserName,\n\t\ticon,\n\t\tsize,\n\t\tshape,\n\t\tpresence,\n\t\tupdateState,\n\t\tconfigAria,\n\t);\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{/* Adding this span container so the presence icon stays above the focus ring */}\n\t\t\t<span\n\t\t\t\tclass={{\n\t\t\t\t\t'now-avatar': true,\n\t\t\t\t\t['-' + size]: size,\n\t\t\t\t\t'has-image': imageSrc,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{interaction == 'link' ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={sanitizeHref(href)}\n\t\t\t\t\t\thook-insert={({elm}) => setTargetRef(elm)}\n\t\t\t\t\t\thook-destroy={() => setTargetRef(null)}\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'now-avatar-content': true,\n\t\t\t\t\t\t\t'-link': true,\n\t\t\t\t\t\t\t['-' + shape]: shape,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(() => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\ttype: 'NOW_AVATAR#CLICKED',\n\t\t\t\t\t\t\t\t\tpayload: {},\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ttarget={opensWindow ? '_blank' : undefined}\n\t\t\t\t\t\trel={opensWindow ? 'noopener' : undefined}\n\t\t\t\t\t\t{...filterAriaAttributes(configAria, 'link')}\n\t\t\t\t\t>\n\t\t\t\t\t\t{avatarContent}\n\t\t\t\t\t\t{opensWindow ? (\n\t\t\t\t\t\t\t<span id=\"linkLabel\" className=\"now-a11y-label\">\n\t\t\t\t\t\t\t\t{t('Link opens in new window or tab')}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</a>\n\t\t\t\t) : interaction == 'button' ? (\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'now-avatar-content': true,\n\t\t\t\t\t\t\t'-button': true,\n\t\t\t\t\t\t\t['-' + shape]: shape,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\thook-insert={({elm}) => setTargetRef(elm)}\n\t\t\t\t\t\thook-destroy={() => setTargetRef(null)}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(() => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\ttype: 'NOW_AVATAR#CLICKED',\n\t\t\t\t\t\t\t\t\tpayload: {},\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t{...filterAriaAttributes(configAria, 'button')}\n\t\t\t\t\t>\n\t\t\t\t\t\t{avatarContent}\n\t\t\t\t\t</button>\n\t\t\t\t) : (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'now-avatar-content': true,\n\t\t\t\t\t\t\t['-' + shape]: shape,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\thook-insert={({elm}) => setTargetRef(elm)}\n\t\t\t\t\t\thook-destroy={() => setTargetRef(null)}\n\t\t\t\t\t\ttabindex={!hideTooltip ? 0 : undefined}\n\t\t\t\t\t>\n\t\t\t\t\t\t{avatarContent}\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t\t{_renderPresence(size, presence)}\n\t\t\t</span>\n\t\t\t{_renderTooltip(\n\t\t\t\thideTooltip,\n\t\t\t\ttargetRef,\n\t\t\t\ttooltipContent ?? _getLabel(userName, presence),\n\t\t\t)}\n\t\t</Fragment>\n\t);\n};\n\n/**\n * Avatars provide a graphic representation of an identity, displayed as an\n * image, text, or anonymous icon. You can associate an avatar to an identity.\n * For example, you can add a user's avatar to a card to associate that card with the\n * user it is assigned to.\n *\n * ```jsx\n * <now-avatar size=\"sm\" />\n * <now-avatar size=\"md\" user-name=\"Fred Luddy\" presence=\"busy\" />\n * <now-avatar size=\"lg\" image-src=\"http://myImage.png\" />\n * <now-avatar size=\"xl\" user-name=\"Fred Luddy\" hide-tooltip />\n * ```\n *\n * @seismicElement now-avatar\n * @summary A graphical representation of a user, depicting an image, initials, or anonymous icon.\n * or an anonymous icon.\n * @uib.label Avatar\n * @uib.icon avatar\n * @uib.description A graphical representation of a user, depicting an image, initials, or anonymous icon.\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties size, userName, imageSrc, icon, presence, configAria, tooltipContent, hideTooltip, interaction, href, opensWindow\n * @uib.layout.presence.children presence\n * @uib.layout.presence.icon circle-check-outline\n * @uib.layout.accessibility.children configAria, tooltipContent, hideTooltip\n * @uib.layout.accessibility.icon accessibility-outline\n * @uib.actions NOW_AVATAR#CLICKED\n */\ncreateEnhancedElement('now-avatar', {\n\tproperties: {\n\t\t/**\n\t\t * Size of the avatar.\n\t\t * @type {('xs'|'sm'|'md'|'lg'|'xl')}\n\t\t * @uib.description Size of the avatar\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Extra Small\", \"value\": \"xs\"}, {\"label\": \"Small\", \"value\": \"sm\"}, {\"label\": \"Medium\", \"value\": \"md\"}, {\"label\": \"Large\", \"value\": \"lg\"}, {\"label\": \"Extra large\", \"value\": \"xl\"}]\n\t\t * @uib.defaultValue md\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: {type: 'string', enum: ['xxs', 'xs', 'sm', 'md', 'lg', 'xl']},\n\t\t},\n\t\t/**\n\t\t * Shape of the avatar.\n\t\t * @type {('circle'|'square')}\n\t\t */\n\t\tshape: {\n\t\t\tdefault: 'round',\n\t\t\tschema: {type: 'string', enum: ['round', 'square']},\n\t\t},\n\t\t/**\n\t\t * Name of the user that the avatar represents. If no `imageSrc`\n\t\t * is provided, then the initials of the first and last names that are\n\t\t * provided in the string appear in the avatar. The name is also read\n\t\t * aloud to screen reader users. If no name is provided, the screen\n\t\t * reader will announce the avatar user as \"unknown user\".\n\t\t * @type {string}\n\t\t * @uib.description Name of the user. If no `imageSrc` is provided, then the initials of the first and last names that are provided in the string appear in the avatar. The name is also read aloud to screen reader users. If no name is provided, the screen reader will announce the avatar user as \"unknown user.\"\n\t\t * @uib.defaultValue John Doe\n\t\t */\n\t\tuserName: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Location of the user image to display in the avatar.\n\t\t * @type {string}\n\t\t * @uib.label Image source\n\t\t */\n\t\timageSrc: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Controls the interaction behavior of the avatar component.\n\t\t * - When set to \"button\", wraps the avatar in a <button> element.\n\t\t * - When set to \"link\", wraps the avatar in an <a> element.\n\t\t * - When set to \"none\" or not specified, the avatar remains unchanged.\n\t\t * @uib.description Interaction behavior of the avatar\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Link\", \"value\": \"link\"}, {\"label\": \"Button\", \"value\": \"button\"}, {\"label\": \"None\", \"value\": \"none\"}]\n\t\t * @uib.defaultValue none\n\t\t */\n\t\tinteraction: {\n\t\t\tdefault: 'none',\n\t\t\tschema: {type: 'string', enum: ['link', 'button', 'none']},\n\t\t},\n\t\t/**\n\t\t * Name or filepath of the icon to display in the avatar\n\t\t * @type {string}\n\t\t * @uib.label Icon\n\t\t * @uib.fieldType icon\n\t\t * @uib.description Name of the icon to display in the avatar\n\t\t */\n\t\ticon: {schema: {type: 'string'}},\n\t\t/**\n\t\t * The user's presence status, displayed with an indicator icon in the corner\n\t\t * of the avatar.\n\t\t * @type {('available'|'busy'|'away'|'offline')}\n\t\t * @uib.description Presence indicator in the corner\n\t\t * @uib.defaultValue available\n\t\t * @uib.typeMetadata.choices [{\"label\": \"None\", \"value\": \"\"}, {\"label\": \"Available\", \"value\": \"available\"}, {\"label\": \"Away\", \"value\": \"away\"}, {\"label\": \"Busy\", \"value\": \"busy\"}, {\"label\": \"Offline\", \"value\": \"offline\"}]\n\t\t */\n\t\tpresence: {\n\t\t\tschema: {type: 'string', enum: ['available', 'busy', 'away', 'offline']},\n\t\t},\n\t\t/**\n\t\t * Deprecated\n\t\t * @private\n\t\t */\n\t\tshowPresencePattern: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, removes the visual tooltip that displays the full `userName` value on\n\t\t * hover. Will also remove the avatar from the tab order and make the avatar not\n\t\t * focusable.\n\t\t * @type {boolean}\n\t\t * @uib.description Suppress the tooltip on user name hover\n\t\t */\n\t\thideTooltip: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * now-avatar. The value of each key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s. These ARIA\n\t\t * properties are set on the specified element.\n\t\t * The 'avatar' key corresponds to the entire container in now-avatar.\n\t\t * See https://www.w3.org/TR/wai-aria-1.2/#img or https://www.w3.org/TR/wai-aria-1.2/#status\n\t\t * for properties and accepted values.\n\t\t * @type {{ avatar: { 'aria-*': string, role: string } }}\n\t\t * @uib.label ARIA properties\n\t\t * @uib.description Configures ARIA properties\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tavatar: configAriaLabelRoleHasPopUpSchema,\n\t\t\t\t},\n\t\t\t\tadditionalProperties: false,\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Text content shown inside the tooltip.\n\t\t * @type {string}\n\t\t * @uib.label Tooltip text\n\t\t * @uib.defaultValue Enter a label\n\t\t * @uib.description Text to display in a tooltip that describes the avatar\n\t\t * @uib.translatable true\n\t\t */\n\t\ttooltipContent: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Includes this component as a target for the Now-Trigger-Library's\n\t\t * Landmark Focus feature.\n\t\t * @type {boolean}\n\t\t * @uib.label Landmark\n\t\t * @uib.description Allow the Landmark Focus keyboard shortcut to focus this link\n\t\t */\n\t\tlandmark: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Link URL opened when the user clicks link text.\n\t\t * @type {string}\n\t\t * @uib.label Link\n\t\t * @uib.description URL opened when the user clicks link text\n\t\t * @uib.defaultValue https://www.servicenow.com/\n\t\t */\n\t\thref: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Opens link in a new window or tab (depending on user's browser\n\t\t * configuration). \"Link opens in new window\" is announced\n\t\t * to assistive technology users.\n\t\t *\n\t\t * Note: Open links in new browser windows or tabs sparingly\n\t\t * because it is less accessible for users.\n\t\t * @type {boolean}\n\t\t * @uib.label Open new window\n\t\t * @uib.description Opens link in a new window or tab (depending on user's browser configuration). \"Link opens in new window\" is announced to assistive technology users.\n\t\t */\n\t\topensWindow: {default: false, schema: {type: 'boolean'}},\n\t},\n\tinitialState: {\n\t\tfailedImageSrc: null,\n\t\ttargetRef: null,\n\t},\n\tview,\n\tstyles,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when avatar is clicked.\n\t\t * @type {{}}\n\t\t * @uib.description Dispatched when avatar is clicked and interaction is set to either button or link\n\t\t */\n\t\t'NOW_AVATAR#CLICKED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t},\n});\n","import {declarativeOperations} from '@servicenow/ui-core';\nexport const animatedIconHoverBehavior = {\n\tname: 'animatedIconHover',\n\tinitialState: {\n\t\ticonAnimations: [],\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['mouseenter', 'mouseleave'],\n\t\t\teffect({action, state, properties}) {\n\t\t\t\tconst {animatedIcon, animatedIconStart, animatedIconEnd, disabled} =\n\t\t\t\t\tproperties;\n\t\t\t\tconst isLeaveEvent = action.payload.event.type === 'mouseleave';\n\t\t\t\tconst direction = isLeaveEvent ? -1 : 1;\n\t\t\t\tconst speed = isLeaveEvent ? 1.5 : 1;\n\t\t\t\tconst shouldAnimate = !state.behaviors['reduce-motion'];\n\n\t\t\t\tif (\n\t\t\t\t\t(animatedIcon || animatedIconStart || animatedIconEnd) &&\n\t\t\t\t\t!disabled &&\n\t\t\t\t\tshouldAnimate\n\t\t\t\t) {\n\t\t\t\t\tstate.behaviors.animatedIconHover.iconAnimations.forEach(\n\t\t\t\t\t\t(animation) => {\n\t\t\t\t\t\t\tif (animation) {\n\t\t\t\t\t\t\t\tanimation.setDirection(direction);\n\t\t\t\t\t\t\t\tanimation.setSpeed(speed);\n\t\t\t\t\t\t\t\tanimation.play();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t],\n\tactionHandlers: {\n\t\t['NOW_ICON_ANIMATED#CONTENT_VISIBLE']: {\n\t\t\tstopPropagation: true,\n\t\t\teffect: ({action, updateState}) => {\n\t\t\t\tconst {animation} = action.payload;\n\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'behaviors.animatedIconHover.iconAnimations',\n\t\t\t\t\tvalue: animation,\n\t\t\t\t\toperation: declarativeOperations.PUSH,\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t},\n};\n","export const RIPPLE_PADDING = 0.3;\nexport const DEFAULT_RIPPLE_POSITION = '50%';\nexport const MAX_RIPPLES = 3;\n","import {actionTypes, declarativeOperations} from '@servicenow/ui-core';\nimport {eventCoordinates, rippleScale} from './utils';\nimport {DEFAULT_RIPPLE_POSITION, MAX_RIPPLES} from './constants';\nimport {getReduceMotionValue} from '@servicenow/behavior-reduce-motion';\n\nconst {COMPONENT_DOM_READY, COMPONENT_RENDERED} = actionTypes;\n\nfunction setupRipple({action, host, dispatch, context}) {\n\tconst {target} = action.payload.options;\n\tlet triggerElms = host.shadowRoot.querySelectorAll(target);\n\tconst reduceMotion = getReduceMotionValue(context);\n\n\tif (reduceMotion) {\n\t\treturn;\n\t}\n\n\tif (!triggerElms.length && host.nowHoistAppendTo) {\n\t\t// If the ripple host is hoisted we need to query the appended to element instead of the host\n\t\ttriggerElms = host.nowHoistAppendTo\n\t\t\t.querySelector(`seismic-hoist[now-id=\"${host.componentId}\"]`)\n\t\t\t.shadowRoot.querySelectorAll(target);\n\t}\n\n\ttriggerElms.forEach((triggerElm) => {\n\t\ttriggerElm.classList.add('has-ripple');\n\t\tconst mousedownHandler = (event) => {\n\t\t\tdispatch('PRIVATE#MOUSEDOWN', {triggerElm, event});\n\t\t};\n\t\tconst mouseleaveHandler = () => {\n\t\t\tdispatch('PRIVATE#MOUSELEAVE');\n\t\t};\n\t\tconst clickHandler = () => {\n\t\t\tdispatch('PRIVATE#CLICKED', {triggerElm});\n\t\t};\n\t\ttriggerElm.addEventListener('mousedown', mousedownHandler);\n\t\ttriggerElm.addEventListener('mouseleave', mouseleaveHandler);\n\t\ttriggerElm.addEventListener('click', clickHandler);\n\t});\n}\n\nfunction getEaseAndDuration({options, state, updateState}) {\n\tlet retrievedStyle = state.behaviors.ripple.retrievedStyle;\n\n\tif (retrievedStyle) {\n\t\treturn {\n\t\t\tintroDuration: state.behaviors.ripple.introDuration,\n\t\t\tintroEase: state.behaviors.ripple.introEase,\n\t\t\toutroDuration: state.behaviors.ripple.outroDuration,\n\t\t\toutroEase: state.behaviors.ripple.outroEase,\n\t\t};\n\t}\n\n\tconst {\n\t\tintroDurationToken = '--now-motion--duration--normal',\n\t\tintroEaseToken = '--now-motion--ease--focus-standard',\n\t\toutroDurationToken = '--now-motion--duration--faster',\n\t\toutroEaseToken = '',\n\t} = options;\n\n\tlet introDuration = 0;\n\tlet introEase = 'linear';\n\tlet outroDuration = 0;\n\tlet outroEase = 'linear';\n\n\ttry {\n\t\tconst style = window.getComputedStyle(document.body);\n\t\tconst introDurationCSS = style.getPropertyValue(introDurationToken) || 0;\n\t\tintroDuration = parseInt(introDurationCSS, 10);\n\t\tintroEase = style.getPropertyValue(introEaseToken) || 'linear';\n\t\tconst outroDurationCSS = style.getPropertyValue(outroDurationToken) || 0;\n\t\toutroDuration = parseInt(outroDurationCSS, 10);\n\t\toutroEase = style.getPropertyValue(outroEaseToken) || 'linear';\n\t\tretrievedStyle = true;\n\t} catch (e) {\n\t\t// NOOP\n\t}\n\n\tif (retrievedStyle) {\n\t\tupdateState({\n\t\t\tpath: 'behaviors.ripple',\n\t\t\tvalue: {\n\t\t\t\tintroDuration,\n\t\t\t\tintroEase,\n\t\t\t\toutroDuration,\n\t\t\t\toutroEase,\n\t\t\t\tretrievedStyle,\n\t\t\t},\n\t\t\toperation: declarativeOperations.MERGE,\n\t\t});\n\t}\n\n\treturn {\n\t\tintroDuration,\n\t\tintroEase,\n\t\toutroDuration,\n\t\toutroEase,\n\t};\n}\n\n/*\nThis behavior adds a ripple animation effect to the target element on mouse down and animates the effect out on mouse up.\n\n### Install in your project\n\n```\ntectonic add --saveExact @servicenow/behavior-ripple\n```\n\n### Use it in your project\n\nImport it at the top of your component JS file:\n\n```js\nimport rippleBehavior from '@servicenow/behavior-ripple';\n```\n\nRegister the behavior in your component JS file:\n\n```js\ncreateCustomElement('sn-foo', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: (state) => {\n\t\t\t...\n\t\t},\n\t},\n\tbehaviors: [{\n\t\tbehavior: rippleBehavior,\n\t\toptions: {target: '.my-target-element'},\n\t}],\n});\n```\n\nSee `example/sn-example-ripple.js` for a more complete example.\n\n### Configuration options\n\nIn the vast majority of cases the defaults should be fine and you should only need to provide the `target`. However, for special use cases the following options can be used to configure the behavior:\n\n- `[target=''] (string)` - query string for the target element. The mouse down and mouse/key up events will be attached to this element and the ripple will be prepended to it.\n- `[maxScale=undefined] (number)` - If a number is provided the ripple will scale to that size (ex: `1.5`). If left undefined the default behavior will measure the target and provide a scale that will cover the entire element\n- `[endScale=undefined] (number)` - If a number is provided the ripple will scale out to that size. If left undefined the default behavior will end without a scale.\n- `[introDurationToken='--now-motion--duration--normal'] (string)` - The token to use for the duration of the mouse down portion of the animation.\n- `[introEaseToken='--now-motion--ease--focus-standard'] (string)` - The token to use for the easing of the mouse down portion of the animation.\n- `[outroDurationToken='--now-motion--duration--faster'] (string)` - The token to use for the duration of the mouse up portion of the animation.\n- `[outroEaseToken=''] (string)` - The token to use for the ease of the mouse up portion of the animation. If none is provided the animation will default to a linear ease.\n\nAdvanced Configuration example:\n\n```js\nimport rippleBehavior from '@servicenow/behavior-ripple';\n\ncreateCustomElement('sn-foo', {\n\t...\n\tbehaviors: [{\n\t\tbehavior: rippleBehavior,\n\t\toptions: {\n\t\t\ttarget: '.my-target',\n\t\t\tmaxScale: 1.1,\n\t\t\tendScale: 0,\n\t\t\tintroDurationToken: '--now-motion--duration--slower',\n\t\t\tintroEaseToken: '--now-motion--ease--bounce',\n\t\t\toutroEaseToken: '--now-motion--ease--focus-standard'\n\t\t}\n\t}]\n});\n```\n\n### Styling\n\nYou are responsible for styling the ripple element. Since the ripple needs to be absolutely positioned for mouse cursor coordinates you will need to add some styles to your target element:\n\n```css\n.my-target {\n\toverflow: hidden; //optional, but most use cases probably want this\n\tposition: absolute;\n}\n```\n\nIn addition to your target element you will want to add some styles for the ripple itself. There is a provided mixin you can import to give you the base styles and then you can just add any background color styles after that. Any items that should appear on top of the ripple will need a `z-index` of `> 0` applied.\n\n```css\n.my-target {\n\t@include now-mx-ripple;\n\n\t.now-ripple {\n\t\tbackground-color: RGBA(\n\t\t\t$now-button--bare_primary--background-color--active,\n\t\t\t$now-button--bare_primary--background-color-alpha--active\n\t\t);\n\t}\n}\n```\n\nFor reference the ripple mixin applies these styles for the ripple element:\n\n```css\n@mixin now-ripple {\n\t.now-ripple {\n\t\tposition: absolute;\n\t\tleft: 50%;\n\t\ttop: 50%;\n\t\tz-index: 0;\n\t\tinline-size: 100%;\n\t\tborder-radius: 100%;\n\t\ttransform: scale(0);\n\t\ttransform-origin: center;\n\t\taspect-ratio: 1/1;\n\t}\n}\n```\n* @seismicBehavior rippleBehavior\n* @summary Adds a ripple animation effect to the target element on mouse down and animates the effect out on mouse up\n*/\nexport default {\n\tname: 'ripple',\n\tinitialState: {\n\t\tactiveRippleTimeStamps: [],\n\t\tintroDuration: 0,\n\t\tintroEase: '',\n\t\toutroDuration: 0,\n\t\tisMouseDown: false,\n\t\tretrievedStyle: false,\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_READY]: ({action, dispatch, host, context}) => {\n\t\t\tsetupRipple({action, host, dispatch, context});\n\t\t},\n\t\t[COMPONENT_RENDERED]: ({action, host, dispatch, context}) => {\n\t\t\tif (host.nowHoistAppendTo) {\n\t\t\t\tsetupRipple({action, host, dispatch, context});\n\t\t\t}\n\t\t},\n\t\t['PRIVATE#MOUSEDOWN']: ({action, dispatch, updateState}) => {\n\t\t\tconst {event, triggerElm} = action.payload;\n\t\t\tconst {x, y} = eventCoordinates(event, triggerElm);\n\t\t\tconst {width, height} = triggerElm.getBoundingClientRect();\n\n\t\t\tconst maxDim = Math.max(width, height);\n\t\t\tconst minDim = Math.min(width, height);\n\t\t\tconst ratio = minDim / maxDim;\n\t\t\tconst useCenter = ratio > 0.9;\n\n\t\t\tif (triggerElm && event.button === 0) {\n\t\t\t\tdispatch('PRIVATE#START_RIPPLE', {\n\t\t\t\t\ttriggerElm,\n\t\t\t\t\tleft: useCenter ? DEFAULT_RIPPLE_POSITION : `${x}px`,\n\t\t\t\t\ttop: useCenter ? DEFAULT_RIPPLE_POSITION : `${y}px`,\n\t\t\t\t});\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'behaviors.ripple.isMouseDown',\n\t\t\t\t\tvalue: true,\n\t\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t['PRIVATE#MOUSELEAVE']: ({dispatch}) => {\n\t\t\tdispatch('PRIVATE#END_RIPPLE');\n\t\t},\n\t\t['PRIVATE#CLICKED']: ({action, dispatch, state}) => {\n\t\t\tconst {triggerElm} = action.payload;\n\t\t\tconst {isMouseDown} = state.behaviors.ripple;\n\t\t\tif (isMouseDown) {\n\t\t\t\tdispatch('PRIVATE#END_RIPPLE');\n\t\t\t} else {\n\t\t\t\tdispatch('PRIVATE#START_RIPPLE', {\n\t\t\t\t\ttriggerElm,\n\t\t\t\t\ttop: DEFAULT_RIPPLE_POSITION,\n\t\t\t\t\tleft: DEFAULT_RIPPLE_POSITION,\n\t\t\t\t\tautoEnd: true,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t['PRIVATE#START_RIPPLE']: ({\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\tstate,\n\t\t\tupdateState,\n\t\t\tcontext,\n\t\t}) => {\n\t\t\tconst {\n\t\t\t\ttriggerElm,\n\t\t\t\tleft = DEFAULT_RIPPLE_POSITION,\n\t\t\t\ttop = DEFAULT_RIPPLE_POSITION,\n\t\t\t\tautoEnd,\n\t\t\t\toptions,\n\t\t\t} = action.payload;\n\t\t\tconst {introDuration, introEase} = getEaseAndDuration({\n\t\t\t\toptions,\n\t\t\t\tstate,\n\t\t\t\tupdateState,\n\t\t\t});\n\n\t\t\tconst {activeRippleTimeStamps} = state.behaviors.ripple;\n\n\t\t\tif (activeRippleTimeStamps.length > MAX_RIPPLES) {\n\t\t\t\t// If there are more than 3 ripples, don't add more\n\t\t\t\t// and trigger outro for the oldest ripples\n\t\t\t\tdispatch('PRIVATE#END_RIPPLE');\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!triggerElm) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst rippleElm = document.createElement('span');\n\t\t\tconst timeStamp = Date.now();\n\n\t\t\tupdateState({\n\t\t\t\tpath: 'behaviors.ripple.activeRippleTimeStamps',\n\t\t\t\tvalue: timeStamp,\n\t\t\t\toperation: declarativeOperations.PUSH,\n\t\t\t});\n\n\t\t\trippleElm.className = 'now-ripple';\n\t\t\trippleElm.id = 'ripple-' + timeStamp;\n\t\t\ttriggerElm.prepend(rippleElm);\n\n\t\t\tconst {height, width} = triggerElm.getBoundingClientRect();\n\t\t\tconst scale = options.maxScale || rippleScale({height, width, left, top});\n\n\t\t\tconst forceColor = window.matchMedia('(forced-colors: active)').matches;\n\t\t\tconst reduceMotion = getReduceMotionValue(context);\n\t\t\tconst shouldAnimate = !reduceMotion && !forceColor;\n\n\t\t\tconst rippleAnim = rippleElm.animate(\n\t\t\t\t[\n\t\t\t\t\t{\n\t\t\t\t\t\tleft: left,\n\t\t\t\t\t\ttop: top,\n\t\t\t\t\t\ttransform: 'translate(-50%, -50%) scale(0)',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tleft: left,\n\t\t\t\t\t\ttop: top,\n\t\t\t\t\t\ttransform: `translate(-50%, -50%) scale(${scale})`,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t{\n\t\t\t\t\tduration: shouldAnimate ? introDuration : 0,\n\t\t\t\t\teasing: introEase,\n\t\t\t\t\tfill: 'forwards',\n\t\t\t\t},\n\t\t\t);\n\t\t\trippleAnim.id = 'ripple';\n\n\t\t\trippleAnim.onfinish = () => {\n\t\t\t\tif (autoEnd) {\n\t\t\t\t\tdispatch('PRIVATE#END_RIPPLE');\n\t\t\t\t}\n\t\t\t};\n\t\t},\n\t\t['PRIVATE#END_RIPPLE']: ({action, host, state, updateState, context}) => {\n\t\t\tupdateState({\n\t\t\t\tpath: 'behaviors.ripple.isMouseDown',\n\t\t\t\tvalue: false,\n\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t});\n\t\t\tconst mouseUpTime = Date.now();\n\t\t\tconst {options} = action.payload;\n\t\t\tconst {endScale} = options;\n\t\t\tconst {introDuration, outroDuration, outroEase} = getEaseAndDuration({\n\t\t\t\toptions,\n\t\t\t\tstate,\n\t\t\t\tupdateState,\n\t\t\t});\n\t\t\tconst {activeRippleTimeStamps} = state.behaviors.ripple;\n\n\t\t\tif (!activeRippleTimeStamps.length) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst currentRipples = activeRippleTimeStamps.filter(\n\t\t\t\t(rippleId, index) =>\n\t\t\t\t\trippleId < mouseUpTime || index < activeRippleTimeStamps.length - 1,\n\t\t\t);\n\n\t\t\tif (!currentRipples) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet newRippleTimeStamps = activeRippleTimeStamps;\n\n\t\t\tcurrentRipples.forEach((currentRippleId) => {\n\t\t\t\tlet rippleElm = host.shadowRoot.querySelector(\n\t\t\t\t\t`#ripple-${currentRippleId}`,\n\t\t\t\t);\n\t\t\t\tif (!rippleElm && host.nowHoistAppendTo) {\n\t\t\t\t\t// If the ripple host is hoisted we need to query the appended to element instead of the host\n\t\t\t\t\trippleElm = host.nowHoistAppendTo\n\t\t\t\t\t\t.querySelector(`seismic-hoist[now-id=\"${host.componentId}\"]`)\n\t\t\t\t\t\t.shadowRoot.querySelector(`#ripple-${currentRippleId}`);\n\t\t\t\t}\n\t\t\t\tconst delay = Math.max(\n\t\t\t\t\t0,\n\t\t\t\t\tMath.min(\n\t\t\t\t\t\tintroDuration,\n\t\t\t\t\t\tintroDuration + currentRippleId - mouseUpTime,\n\t\t\t\t\t),\n\t\t\t\t);\n\n\t\t\t\tif (!rippleElm) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst scaleOut =\n\t\t\t\t\tendScale >= 0\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\ttransform: `translate(-50%, -50%) scale(${endScale})`,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: {};\n\n\t\t\t\tconst forceColor = window.matchMedia('(forced-colors: active)').matches;\n\t\t\t\tconst reduceMotion = getReduceMotionValue(context);\n\t\t\t\tconst shouldAnimate = !reduceMotion && !forceColor;\n\n\t\t\t\tconst outroAnim = rippleElm.animate(\n\t\t\t\t\t[{opacity: 1}, {opacity: 0, ...scaleOut}],\n\t\t\t\t\t{\n\t\t\t\t\t\tduration: shouldAnimate ? outroDuration : 0,\n\t\t\t\t\t\teasing: outroEase,\n\t\t\t\t\t\tdelay: delay,\n\t\t\t\t\t\tfill: 'forwards',\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t\toutroAnim.id = 'outro';\n\n\t\t\t\toutroAnim.onfinish = () => {\n\t\t\t\t\trippleElm.remove();\n\t\t\t\t};\n\n\t\t\t\tnewRippleTimeStamps = newRippleTimeStamps.filter(\n\t\t\t\t\t(rippleId) => rippleId !== currentRippleId,\n\t\t\t\t);\n\t\t\t});\n\n\t\t\tupdateState({\n\t\t\t\tpath: 'behaviors.ripple.activeRippleTimeStamps',\n\t\t\t\tvalue: newRippleTimeStamps,\n\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t});\n\t\t},\n\t},\n};\n","import {RIPPLE_PADDING} from './constants';\n\nexport function eventCoordinates(event, elm) {\n\tconst {scrollX, scrollY} = window;\n\tconst {pageX, pageY} = event;\n\tconst {left, top} = elm.getBoundingClientRect();\n\tconst posX = scrollX + left;\n\tconst posY = scrollY + top;\n\n\treturn {x: pageX - posX, y: pageY - posY};\n}\n\nexport function rippleScale({height, width, left, top}) {\n\tconst maxDim = Math.max(height, width);\n\tconst minDim = Math.min(height, width);\n\tconst isWide = maxDim === width;\n\tconst hypotenuse = Math.sqrt(width ** 2 + height ** 2);\n\n\tif (top === left && top === '50%') {\n\t\treturn hypotenuse / maxDim + RIPPLE_PADDING;\n\t}\n\n\tconst px = parseInt(isWide ? left : top, 10);\n\tconst half = maxDim / 2;\n\tconst diff = Math.abs(half - px);\n\tconst scale =\n\t\t(hypotenuse / maxDim + diff / half + RIPPLE_PADDING) *\n\t\t(isWide ? 1 : maxDim / minDim);\n\n\treturn scale;\n}\n","import {actionTypes} from '@servicenow/ui-core';\nconst {COMPONENT_DOM_READY} = actionTypes;\n\nexport default {\n\tname: 'cssPropertyRegistration',\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_READY]: {\n\t\t\teffect: ({action}) => {\n\t\t\t\tconst {cssProperties = []} = action.payload.options;\n\t\t\t\tcssProperties.forEach((prop) => {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tsyntax = '*',\n\t\t\t\t\t\tinherits = false,\n\t\t\t\t\t\tinitialValue = '',\n\t\t\t\t\t} = prop;\n\n\t\t\t\t\tif (name) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\twindow.CSS.registerProperty({\n\t\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\t\tsyntax,\n\t\t\t\t\t\t\t\tinherits,\n\t\t\t\t\t\t\t\tinitialValue,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\terror instanceof DOMException &&\n\t\t\t\t\t\t\t\terror.name === 'InvalidModificationError'\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t// NOOP property is already registered\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthrow error;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t},\n};\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {\n\textensionSplit,\n\tfilterAriaAttributes,\n} from '@servicenow/library-enhanced-utils';\nimport {actionTypes} from '@servicenow/ui-core';\nimport styles from './_now-button.scss';\nimport '@servicenow/now-icon';\nimport tooltipBehavior, {\n\tTOOLTIP_SHOW,\n\tTOOLTIP_HIDE,\n} from '@servicenow/behavior-tooltip';\nimport '@servicenow/now-tooltip';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {configAriaLabelRoleHasPopUpSchema} from '@servicenow/library-schemas';\nimport {animatedIconHoverBehavior} from './behaviors/index.js';\nimport rippleBehavior from '@servicenow/behavior-ripple';\nimport reduceMotionBehavior from '@servicenow/behavior-reduce-motion';\nimport cssPropertyRegistration from '@servicenow/behavior-css-property-registration';\n\nconst {COMPONENT_RENDERED} = actionTypes;\n\nconst handleTooltipShow = (dispatch) => (event) => {\n\tdispatch(TOOLTIP_SHOW, {target: event.target});\n};\n\nconst handleTooltipHide = (dispatch) => (event) => {\n\tdispatch(TOOLTIP_HIDE, {target: event.target});\n};\n\nconst _renderIcon = (icon, size) => {\n\tif (icon) {\n\t\treturn (\n\t\t\t<now-icon\n\t\t\t\tclassName=\"now-button-icon\"\n\t\t\t\ticon={icon}\n\t\t\t\tsize={size}\n\t\t\t\taria-hidden=\"true\"\n\t\t\t/>\n\t\t);\n\t}\n};\n\nconst _renderAnimatedIcon = (animatedIcon, size) => {\n\tif (animatedIcon) {\n\t\treturn (\n\t\t\t<now-icon-animated\n\t\t\t\tclassName=\"now-button-icon\"\n\t\t\t\ticon={animatedIcon}\n\t\t\t\tsize={size}\n\t\t\t\taria-hidden=\"true\"\n\t\t\t/>\n\t\t);\n\t}\n};\n\n/** @seismicView now-button */\nconst view = (state, {dispatch}) => {\n\tconst {\n\t\tlabel,\n\t\tvariant,\n\t\tsize,\n\t\ticon = state.properties.iconName,\n\t\tbare,\n\t\tdisabled,\n\t\tconfigAria,\n\t\ttooltipContent,\n\t\tanimatedIcon,\n\t\tactive,\n\t} = state.properties;\n\n\tconst ariaLabel = {...filterAriaAttributes(configAria, 'button')}?.[\n\t\t'aria-label'\n\t];\n\n\tlet dataAriaDescribedBy;\n\n\t// If aria-label from configAria is present, it will override\n\t// the button's aria-label; OR if no label is present, but there is\n\t// aria-label from configAria, then set data-ariadescribed by\n\t// to aria-label, which will be compared to tooltip\n\t// in behavior-tooltip's scheduler\n\tif ((ariaLabel && label) || (ariaLabel && !label)) {\n\t\tdataAriaDescribedBy = ariaLabel;\n\t}\n\n\t// If tooltip and label are present but no aria-label\n\t// is provided by configAria\n\t// button's aria-label will default to label.\n\t// Set data-ariadescribedby to label\n\t// to be compared with tooltip in behavior-tooltip's scheduler\n\tif (tooltipContent && label && !ariaLabel) {\n\t\tdataAriaDescribedBy = label;\n\t}\n\n\tconst shouldAnimate = !state.behaviors['reduce-motion'];\n\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\ton-mousedown={disabled ? (e) => e.preventDefault() : undefined}\n\t\t\tdata-tooltip={tooltipContent}\n\t\t\tdata-ariadescribedby={dataAriaDescribedBy}\n\t\t\ton-mouseenter={handleTooltipShow(dispatch)}\n\t\t\ton-mouseleave={handleTooltipHide(dispatch)}\n\t\t\ton-focusin={handleTooltipShow(dispatch)}\n\t\t\ton-focusout={handleTooltipHide(dispatch)}\n\t\t\ton-click={() => {\n\t\t\t\tdispatch(({properties}) => ({\n\t\t\t\t\ttype: 'NOW_BUTTON#CLICKED',\n\t\t\t\t\tpayload: {},\n\t\t\t\t\tshouldDispatch: !properties.disabled,\n\t\t\t\t}));\n\t\t\t}}\n\t\t\tclass={{\n\t\t\t\t'now-button': true,\n\t\t\t\t...extensionSplit(variant),\n\t\t\t\t['-' + size]: size,\n\t\t\t\t'is-bare': bare,\n\t\t\t\t'is-disabled': disabled,\n\t\t\t\t'only-icon':\n\t\t\t\t\t((!icon && animatedIcon) || (icon && !animatedIcon)) && !label,\n\t\t\t\t'is-active': active,\n\t\t\t\t'should-animate': shouldAnimate,\n\t\t\t}}\n\t\t\t{...filterAriaAttributes(configAria, 'button')}\n\t\t\tdisabled={disabled}\n\t\t>\n\t\t\t<slot>\n\t\t\t\t{_renderIcon(icon, size)}\n\t\t\t\t{_renderAnimatedIcon(animatedIcon, size)}\n\t\t\t\t{label !== null && label !== undefined && (\n\t\t\t\t\t<span className=\"now-line-height-crop\">{label}</span>\n\t\t\t\t)}\n\t\t\t</slot>\n\t\t</button>\n\t);\n};\n\n/**\n * Buttons help users act, undo a mistake, or keep a conversation going.\n *\n * There are many types and sizes of buttons, each with a proper use case.\n * In addition to type and size, buttons use smaller design elements\n * such as containers, borders, colors, icons, or text, to accommodate specific use cases.\n *\n * ```jsx\n * <now-button label=\"Click me\" variant=\"primary\" size=\"lg\" />\n * <now-button label=\"Settings\" icon=\"gear-fill\" />\n * <now-button label=\"Disabled button\" disabled />\n * ```\n *\n * @seismicElement now-button\n * @summary Simple button. Contains a text label and an optional icon.\n * @uib.label Button\n * @uib.icon button\n * @uib.description Button with a background color.\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties label, variant, size, disabled, active, icon, animatedIcon, tooltipContent, configAria, landmark\n * @uib.layout.identifier.children icon, animatedIcon\n * @uib.layout.identifier.icon image-outline\n * @uib.layout.accessibility.children tooltipContent, configAria, landmark\n * @uib.layout.accessibility.icon accessibility-outline\n * @uib.actions NOW_BUTTON#CLICKED\n * @uib.slots\n */\ncreateEnhancedElement('now-button', {\n\tproperties: {\n\t\t/**\n\t\t * Text displayed inside the button.\n\t\t * @type {string}\n\t\t * @uib.label Label\n\t\t * @uib.defaultValue Button\n\t\t * @uib.description Text displayed inside the button\n\t\t * @uib.translatable true\n\t\t */\n\t\tlabel: {schema: {type: ['string', 'number']}},\n\n\t\t/**\n\t\t * Sets the button style, including color and interaction behavior.\n\t\t * @type {('primary'|'primary-positive'|'primary-negative'|'primary-ai'|'secondary'|'secondary-positive'|'secondary-negative'|'secondary-ai'|'tertiary'|'tertiary-ai')}\n\t\t * @uib.label Variant\n\t\t * @uib.description Sets the button style\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Primary\", \"value\": \"primary\"}, {\"label\": \"Secondary\", \"value\": \"secondary\"}, {\"label\": \"Tertiary\", \"value\": \"tertiary\"}, {\"label\": \"Positive Primary\", \"value\": \"primary-positive\"}, {\"label\": \"Positive Secondary\", \"value\": \"secondary-positive\"}, {\"label\": \"Negative Primary\", \"value\": \"primary-negative\"}, {\"label\": \"Negative Secondary\", \"value\": \"secondary-negative\"}, {\"label\": \"Primary AI\", \"value\": \"primary-ai\"}, {\"label\": \"Secondary AI\", \"value\": \"secondary-ai\"}, {\"label\": \"Tertiary AI\", \"value\": \"tertiary-ai\"}]\n\t\t */\n\t\tvariant: {\n\t\t\tdefault: 'secondary',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'primary',\n\t\t\t\t\t'primary-positive',\n\t\t\t\t\t'primary-negative',\n\t\t\t\t\t'primary-ai',\n\t\t\t\t\t'secondary',\n\t\t\t\t\t'secondary-positive',\n\t\t\t\t\t'secondary-negative',\n\t\t\t\t\t'secondary-ai',\n\t\t\t\t\t'tertiary',\n\t\t\t\t\t'tertiary-ai',\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Sets the button size.\n\t\t * @type {('sm'|'md'|'lg')}\n\t\t * @uib.label Size\n\t\t * @uib.description Sets the button size\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['sm', 'md', 'lg'],\n\t\t\t},\n\t\t},\n\t\t/** @private */\n\t\ticonName: {},\n\t\t/**\n\t\t * If defined, specifies the icon to display at the start of the button.\n\t\t * See the `now-icon` component documentation for valid inputs.\n\t\t * For icon-only buttons, use `<now-button-iconic>` instead.\n\t\t * @type {string}\n\t\t * @uib.label Icon\n\t\t * @uib.description Defines icon displayed at the start of the button\n\t\t * @uib.fieldType icon\n\t\t */\n\t\ticon: {schema: {type: 'string'}},\n\t\t/**\n\t\t * If defined, specifies the animated icon to display at the start of the button.\n\t\t * See the `now-icon-animated` component documentation for valid inputs.\n\t\t * For icon-only buttons, use `<now-button-iconic>` instead.\n\t\t * @type {string}\n\t\t * @uib.label Animated Icon\n\t\t * @uib.description Defines the animated icon displayed at the start of the button\n\t\t */\n\t\tanimatedIcon: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Deprecated in favor of the `<now-button-bare>` tag.\n\t\t * @private\n\t\t */\n\t\tbare: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * If true, sets the button to have an active state (pressed).\n\t\t * @type {boolean}\n\t\t * @uib.label Active\n\t\t * @uib.description If true, sets the button to have an active state\n\t\t */\n\t\tactive: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, mutes the button color and prevents user click interactions.\n\t\t * @type {boolean}\n\t\t * @uib.label Disabled\n\t\t * @uib.description When true, disables user click interactions\n\t\t */\n\t\tdisabled: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * now-button. The value of each key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s. These ARIA\n\t\t * properties will be set on the specified element.\n\t\t * The 'button' key corresponds to the inner html `<button>` in\n\t\t * now-button. See https://www.w3.org/TR/wai-aria-1.2/#button for\n\t\t * properties and accepted values.\n\t\t * @type {{ 'aria-*': string, role: string }}\n\t\t * @uib.label ARIA properties\n\t\t * @uib.description Configures ARIA properties\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\toneOf: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tbutton: configAriaLabelRoleHasPopUpSchema,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tadditionalProperties: false,\n\t\t\t\t\t},\n\t\t\t\t\tconfigAriaLabelRoleHasPopUpSchema,\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Text content shown inside the tooltip. Not displayed if button is\n\t\t * disabled.\n\t\t * @type {string}\n\t\t * @uib.label Tooltip label\n\t\t * @uib.defaultValue Enter a label\n\t\t * @uib.description Text shown inside the tooltip\n\t\t * @uib.translatable true\n\t\t */\n\t\ttooltipContent: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Includes this component as a target for the Now-Trigger-Library's\n\t\t * Landmark Focus feature.\n\t\t * @type {boolean}\n\t\t * @uib.label Landmark\n\t\t * @uib.description Allow the Landmark Focus keyboard shortcut to focus this button\n\t\t */\n\t\tlandmark: {schema: {type: 'boolean'}},\n\t},\n\tview,\n\tstyles,\n\tbehaviors: [\n\t\tfocusBehavior,\n\t\ttooltipBehavior,\n\t\tanimatedIconHoverBehavior,\n\t\t{behavior: reduceMotionBehavior},\n\t\t{\n\t\t\tbehavior: rippleBehavior,\n\t\t\toptions: {target: '.now-button'},\n\t\t},\n\t\t{\n\t\t\tbehavior: cssPropertyRegistration,\n\t\t\toptions: {\n\t\t\t\tcssProperties: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: '--now-button--ai--gradient-start',\n\t\t\t\t\t\tsyntax: '<color>',\n\t\t\t\t\t\tinherits: false,\n\t\t\t\t\t\tinitialValue: 'transparent',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: '--now-button--ai--gradient-end',\n\t\t\t\t\t\tsyntax: '<color>',\n\t\t\t\t\t\tinherits: false,\n\t\t\t\t\t\tinitialValue: 'transparent',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t],\n\tactionHandlers: {\n\t\t[COMPONENT_RENDERED]: ({host, properties, dispatch}) => {\n\t\t\tconst buttonEl = host.shadowRoot.querySelector('.now-button');\n\n\t\t\tif (!buttonEl) {\n\t\t\t\t// In the case of a hoisted button the shadowRoot will be empty and the above query will be null\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (properties.disabled || !properties.tooltipContent) {\n\t\t\t\tdispatch(TOOLTIP_HIDE, {target: buttonEl});\n\t\t\t\tPromise.resolve().then(() => {\n\t\t\t\t\tdelete buttonEl.dataset.tooltip;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tbuttonEl.dataset.tooltip = properties.tooltipContent;\n\t\t\t}\n\t\t},\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the button is clicked.\n\t\t * @type {{}}\n\t\t * @uib.description Dispatched when the button is clicked\n\t\t */\n\t\t'NOW_BUTTON#CLICKED': {default: false, schema: {type: 'object'}},\n\t},\n\tslots: {\n\t\t/**\n\t\t * Content placed in the default slot appears inside\n\t\t * the button body, taking the place of the `icon` and/or `label`.\n\t\t * @defaultSlot\n\t\t */\n\t\tdefaultSlot: {},\n\t},\n});\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {filterAriaAttributes} from '@servicenow/library-enhanced-utils';\nimport styles from './_now-button-bare.scss';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-tooltip';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport tooltipBehavior, {\n\tTOOLTIP_SHOW,\n\tTOOLTIP_HIDE,\n} from '@servicenow/behavior-tooltip';\nimport {configAriaLabelRoleHasPopUpSchema} from '@servicenow/library-schemas';\nimport {animatedIconHoverBehavior} from './behaviors/index.js';\nimport rippleBehavior from '@servicenow/behavior-ripple';\nimport reduceMotionBehavior from '@servicenow/behavior-reduce-motion';\n\nconst _renderIcon = (icon, logicalProperty, size) => {\n\tif (icon) {\n\t\treturn (\n\t\t\t<now-icon\n\t\t\t\tclass={{\n\t\t\t\t\t'now-button-bare-icon': true,\n\t\t\t\t\t['now-m-' + logicalProperty + '--xs']: size === 'lg',\n\t\t\t\t\t['now-m-' + logicalProperty + '--xxs']: size !== 'lg',\n\t\t\t\t}}\n\t\t\t\ticon={icon}\n\t\t\t\tsize={size}\n\t\t\t\taria-hidden=\"true\"\n\t\t\t/>\n\t\t);\n\t}\n};\nconst _renderAnimatedIcon = (animatedIcon, logicalProperty, size) => {\n\tif (animatedIcon) {\n\t\treturn (\n\t\t\t<now-icon-animated\n\t\t\t\tclass={{\n\t\t\t\t\t'now-button-bare-icon': true,\n\t\t\t\t\t['now-m-' + logicalProperty + '--xs']: size === 'lg',\n\t\t\t\t\t['now-m-' + logicalProperty + '--xxs']: size !== 'lg',\n\t\t\t\t}}\n\t\t\t\ticon={animatedIcon}\n\t\t\t\tsize={size}\n\t\t\t\taria-hidden=\"true\"\n\t\t\t/>\n\t\t);\n\t}\n};\n\nconst handleTooltipShow = (e, dispatch) => {\n\tconst labelSpan = e.target.querySelector('.now-button-bare-label');\n\tconst isOverset = labelSpan && labelSpan.scrollWidth > labelSpan.clientWidth;\n\tif (isOverset) {\n\t\treturn dispatch(TOOLTIP_SHOW, {target: e.target});\n\t}\n};\n\nconst handleTooltipHide = (e, dispatch) => {\n\tconst labelSpan = e.target.querySelector('.now-button-bare-label');\n\tconst isOverset = labelSpan && labelSpan.scrollWidth > labelSpan.clientWidth;\n\tif (isOverset) {\n\t\treturn dispatch(TOOLTIP_HIDE, {target: e.target});\n\t}\n};\n\n/** @seismicView now-button-bare */\nconst view = (state, {dispatch}) => {\n\tconst {\n\t\tlabel,\n\t\tvariant,\n\t\thighContrast,\n\t\tsize,\n\t\ticonStart = state.properties.iconNameStart,\n\t\ticonEnd = state.properties.iconNameEnd,\n\t\thidePadding,\n\t\thideBlockPadding,\n\t\tshowInlinePadding,\n\t\tdisabled,\n\t\tactive,\n\t\tconfigAria,\n\t\tanimatedIconStart,\n\t\tanimatedIconEnd,\n\t} = state.properties;\n\n\tconst dataAriaDescribedBy =\n\t\t{...filterAriaAttributes(configAria, 'button')}?.['aria-label'] ?? label;\n\n\tconst shouldAnimate = !state.behaviors['reduce-motion'];\n\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\ton-click={() => {\n\t\t\t\tdispatch(({properties}) => ({\n\t\t\t\t\ttype: 'NOW_BUTTON_BARE#CLICKED',\n\t\t\t\t\tpayload: {},\n\t\t\t\t\tshouldDispatch: !properties.disabled,\n\t\t\t\t}));\n\t\t\t}}\n\t\t\tclass={{\n\t\t\t\t'now-button-bare': true,\n\t\t\t\t['-' + variant]: variant,\n\t\t\t\t['-' + size]: size,\n\t\t\t\t'high-contrast': highContrast,\n\t\t\t\t'hide-block-padding': hideBlockPadding || hidePadding,\n\t\t\t\t'show-inline-padding': showInlinePadding,\n\t\t\t\t'is-disabled': disabled,\n\t\t\t\t'is-active': active,\n\t\t\t\t'should-animate': shouldAnimate,\n\t\t\t}}\n\t\t\tdata-ariadescribedby={dataAriaDescribedBy}\n\t\t\tdata-tooltip={label}\n\t\t\ton-mouseenter={(e) => handleTooltipShow(e, dispatch)}\n\t\t\ton-focusin={(e) => handleTooltipShow(e, dispatch)}\n\t\t\ton-mouseleave={(e) => handleTooltipHide(e, dispatch)}\n\t\t\ton-focusout={(e) => handleTooltipHide(e, dispatch)}\n\t\t\tdisabled={disabled}\n\t\t\t{...filterAriaAttributes(configAria, 'button')}\n\t\t>\n\t\t\t<slot>\n\t\t\t\t{_renderAnimatedIcon(animatedIconStart, 'inline-end', size)}\n\t\t\t\t{_renderIcon(iconStart, 'inline-end', size)}\n\t\t\t\t<span className=\"now-line-height-crop\">\n\t\t\t\t\t<span className=\"now-button-bare-label\">{label}</span>\n\t\t\t\t</span>\n\t\t\t\t{_renderAnimatedIcon(animatedIconEnd, 'inline-start', size)}\n\t\t\t\t{_renderIcon(iconEnd, 'inline-start', size)}\n\t\t\t</slot>\n\t\t</button>\n\t);\n};\n\n/**\n * Bare button is a type of button used to display text with an action.\n * The bare button does not share all the properties of the standard button component.\n *\n * ```jsx\n * <now-button-bare label=\"Click me\" variant=\"primary\" size=\"lg\" />\n * <now-button-bare label=\"With icon\" icon-start=\"gear-fill\" />\n * <now-button-bare label=\"Disabled button\" disabled />\n * ```\n *\n * @seismicElement now-button-bare\n * @summary Simple bare button. Can contain a text label, with or without icons\n * (before and/or after the label).\n * @uib.label Button bare\n * @uib.icon button-bare\n * @uib.description Button with no background color or border\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties label, variant, size, disabled, active, iconStart, iconEnd, animatedIconStart, animatedIconEnd, hideBlockPadding, showInlinePadding, configAria, highContrast, landmark\n * @uib.layout.identifier.children iconStart, iconEnd, animatedIconStart, animatedIconEnd\n * @uib.layout.identifier.icon image-outline\n * @uib.layout.padding.children hideBlockPadding, showInlinePadding\n * @uib.layout.padding.icon arrow-up-down-outline\n * @uib.layout.accessibility.children configAria, highContrast, landmark\n * @uib.layout.accessibility.icon accessibility-outline\n * @uib.actions NOW_BUTTON_BARE#CLICKED\n */\ncreateEnhancedElement('now-button-bare', {\n\tproperties: {\n\t\t/**\n\t\t * Text displayed inside the bare button.\n\t\t * @type {string}\n\t\t * @uib.label Label\n\t\t * @uib.description Text displayed inside the button.\n\t\t * @uib.defaultValue Button\n\t\t * @uib.translatable true\n\t\t */\n\t\tlabel: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Sets the bare button styles, including colors and interaction behaviors.\n\t\t * @type {('primary'|'secondary'|'tertiary')}\n\t\t * @uib.label Variant\n\t\t * @uib.description Sets the button style.\n\t\t */\n\t\tvariant: {\n\t\t\tdefault: 'primary',\n\t\t\tschema: {type: 'string', enum: ['primary', 'secondary', 'tertiary']},\n\t\t},\n\t\t/**\n\t\t * Sets the bare button size.\n\t\t * @type {('sm'|'md'|'lg')}\n\t\t * @uib.label Size\n\t\t * @uib.description Sets the button size.\n\t\t */\n\t\tsize: {default: 'md', schema: {type: 'string', enum: ['sm', 'md', 'lg']}},\n\t\t/**\n\t\t * When true, variant colors have higher contrast.\n\t\t * @type {boolean}\n\t\t * @uib.description Increases the accessibility contrast ratio of the icon and label when displayed on darker backgrounds.\n\t\t */\n\t\thighContrast: {default: false, schema: {type: 'boolean'}},\n\t\t/** @private */\n\t\ticonNameStart: {},\n\t\t/**\n\t\t * If defined, specifies the icon to display at the start of the bare button.\n\t\t * See the `now-icon` component documentation for valid inputs.\n\t\t * @type {string}\n\t\t * @uib.label Icon left of label\n\t\t * @uib.description Displays an icon at the start of the button.\n\t\t * @uib.fieldType icon\n\t\t */\n\t\ticonStart: {schema: {type: 'string'}},\n\t\t/**\n\t\t * If defined, specifies the animated icon to display at the start of the bare button.\n\t\t * See the `now-icon-animated` component documentation for valid inputs.\n\t\t * @type {string}\n\t\t * @uib.label Animated Icon left of label\n\t\t * @uib.description Displays an animated icon at the start of the button.\n\t\t */\n\t\tanimatedIconStart: {schema: {type: 'string'}},\n\t\t/** @private */\n\t\ticonNameEnd: {},\n\t\t/**\n\t\t * If defined, specifies the icon to display at the end of the bare button.\n\t\t * See the `now-icon` component documentation for valid inputs.\n\t\t * @type {string}\n\t\t * @uib.label Icon right of label\n\t\t * @uib.description Displays an icon at the end of the button.\n\t\t * @uib.fieldType icon\n\t\t */\n\t\ticonEnd: {schema: {type: 'string'}},\n\t\t/**\n\t\t * If defined, specifies the animated icon to display at the end of the bare button.\n\t\t * See the `now-icon-animated` component documentation for valid inputs.\n\t\t * @type {string}\n\t\t * @uib.label Animated Icon right of label\n\t\t * @uib.description Displays an animated icon at the end of the button.\n\t\t */\n\t\tanimatedIconEnd: {schema: {type: 'string'}},\n\t\t/**\n\t\t * @private\n\t\t * Deprecated. Use `hideBlockPadding` instead.\n\t\t * @uib.aliasedWith hideBlockPadding\n\t\t */\n\t\thidePadding: {},\n\t\t/**\n\t\t * By default, a bare button's height is based on the `size` property. Set\n\t\t * this to reduce this height so that the bare button only takes up the\n\t\t * height required by the label and/or icons. Note: Buttons with this\n\t\t * property do not align vertically with other button types.\n\t\t * @type {boolean}\n\t\t * @uib.label Hide Block Padding\n\t\t * @uib.description By default, the button's height is based on the size. Select to reduce the button height. This sets the button height to the size of the text. Buttons with this property do not align vertically with other button types.\n\t\t */\n\t\thideBlockPadding: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * By default, a bare button's width is based on the button's content. Set\n\t\t * this to add inline padding either side of the button's content.\n\t\t * @type {boolean}\n\t\t * @uib.label Show Inline Padding\n\t\t * @uib.description By default, a bare button's width is based on the button's content. Set this to add inline padding either side of the button's content.\n\t\t */\n\t\tshowInlinePadding: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, mutes the button color and prevents user click interactions.\n\t\t * @type {boolean}\n\t\t * @uib.label Disabled\n\t\t * @uib.description Disables user click interactions.\n\t\t */\n\t\tdisabled: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * If true, sets the button to have an active state (pressed).\n\t\t * @type {boolean}\n\t\t * @uib.label Active\n\t\t * @uib.description If true, sets the button to have an active state\n\t\t */\n\t\tactive: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * now-button. The value of each key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s. These ARIA\n\t\t * properties are set on the specified element.\n\t\t * The 'button' key corresponds to the inner html `<button>` in\n\t\t * now-button. See https://www.w3.org/TR/wai-aria-1.2/#button for\n\t\t * properties and accepted values.\n\t\t * @type {{ 'aria-*': string,  role: string }}\n\t\t * @uib.label ARIA properties\n\t\t * @uib.description ARIA properties that are set on the inner html. See https://www.w3.org/TR/wai-aria-1.2/#button for properties and accepted values.\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\toneOf: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tbutton: configAriaLabelRoleHasPopUpSchema,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tadditionalProperties: false,\n\t\t\t\t\t},\n\t\t\t\t\tconfigAriaLabelRoleHasPopUpSchema,\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Includes this component as a target for the Now-Trigger-Library's\n\t\t * Landmark Focus feature.\n\t\t * @type {boolean}\n\t\t * @uib.label Landmark\n\t\t * @uib.description Allow the Landmark Focus keyboard shortcut to focus this button\n\t\t */\n\t\tlandmark: {schema: {type: 'boolean'}},\n\t},\n\tview,\n\tstyles,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t},\n\t\ttooltipBehavior,\n\t\tanimatedIconHoverBehavior,\n\t\t{behavior: reduceMotionBehavior},\n\t\t{\n\t\t\tbehavior: rippleBehavior,\n\t\t\toptions: {target: '.now-button-bare'},\n\t\t},\n\t],\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the button is clicked.\n\t\t * @type {{}}\n\t\t * @uib.description Dispatched when the button is clicked\n\t\t */\n\t\t'NOW_BUTTON_BARE#CLICKED': {schema: {type: 'object'}},\n\t},\n\tslots: {\n\t\t/**\n\t\t * Content placed in the default slot of the now-button-bare appears\n\t\t * inside the body of the button, taking the place of `iconStart`,\n\t\t * `iconEnd`, and/or `label`.\n\t\t * @defaultSlot\n\t\t */\n\t\tdefaultSlot: {},\n\t},\n});\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {filterAriaAttributes} from '@servicenow/library-enhanced-utils';\nimport styles from './_now-button-iconic.scss';\nimport '@servicenow/now-icon';\nimport tooltipBehavior, {\n\tTOOLTIP_SHOW,\n\tTOOLTIP_HIDE,\n} from '@servicenow/behavior-tooltip';\nimport '@servicenow/now-tooltip';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {configAriaLabelRoleHasPopUpSchema} from '@servicenow/library-schemas';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {animatedIconHoverBehavior} from './behaviors/index.js';\nimport rippleBehavior from '@servicenow/behavior-ripple';\nimport reduceMotionBehavior from '@servicenow/behavior-reduce-motion';\nimport cssPropertyRegistration from '@servicenow/behavior-css-property-registration';\n\nconst {COMPONENT_RENDERED} = actionTypes;\n\nconst handleTooltipShow = (dispatch) => (event) => {\n\tdispatch(TOOLTIP_SHOW, {target: event.target});\n};\n\nconst handleTooltipHide = (dispatch) => (event) => {\n\tdispatch(TOOLTIP_HIDE, {target: event.target});\n};\n\n/** @seismicView now-button-iconic */\nconst view = (state, {dispatch}) => {\n\tconst {\n\t\tvariant,\n\t\tbare,\n\t\thighContrast,\n\t\tsize,\n\t\ticon,\n\t\thidePadding,\n\t\tdisabled,\n\t\tactive,\n\t\tconfigAria,\n\t\ttooltipContent,\n\t\tanimatedIcon,\n\t} = state.properties;\n\tconst shouldAnimate = !state.behaviors['reduce-motion'];\n\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclass={{\n\t\t\t\t'now-button-iconic': true,\n\t\t\t\t['-' + variant]: variant,\n\t\t\t\t['-' + size]: size,\n\t\t\t\t'high-contrast': highContrast,\n\t\t\t\t'hide-padding': hidePadding,\n\t\t\t\t'is-disabled': disabled,\n\t\t\t\t'is-active': active,\n\t\t\t\t'is-bare': bare,\n\t\t\t\t'should-animate': shouldAnimate,\n\t\t\t}}\n\t\t\tdata-tooltip={tooltipContent}\n\t\t\tdata-ariadescribedby={\n\t\t\t\t{...filterAriaAttributes(configAria, 'button')}?.['aria-label']\n\t\t\t}\n\t\t\ton-mouseenter={handleTooltipShow(dispatch)}\n\t\t\ton-mouseleave={handleTooltipHide(dispatch)}\n\t\t\ton-focusin={handleTooltipShow(dispatch)}\n\t\t\ton-focusout={handleTooltipHide(dispatch)}\n\t\t\ton-mousedown={disabled ? (e) => e.preventDefault() : undefined}\n\t\t\ton-click={() => {\n\t\t\t\tdispatch(({properties}) => ({\n\t\t\t\t\ttype: 'NOW_BUTTON_ICONIC#CLICKED',\n\t\t\t\t\tpayload: {},\n\t\t\t\t\tshouldDispatch: !properties.disabled,\n\t\t\t\t}));\n\t\t\t}}\n\t\t\t{...filterAriaAttributes(configAria, 'button')}\n\t\t\tdisabled={disabled}\n\t\t>\n\t\t\t{animatedIcon ? (\n\t\t\t\t<now-icon-animated\n\t\t\t\t\tclassName=\"now-button-iconic-icon\"\n\t\t\t\t\ticon={animatedIcon}\n\t\t\t\t\tsize={size}\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t{icon ? (\n\t\t\t\t<now-icon\n\t\t\t\t\tclassName=\"now-button-iconic-icon\"\n\t\t\t\t\ticon={icon}\n\t\t\t\t\tsize={size}\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t</button>\n\t);\n};\n\n/**\n * Iconic buttons use an icon instead of text to convey an action.\n * Although similar to a standard button component, iconic buttons don’t share\n * all of the same properties. The iconic button only displays an icon and\n * cannot display other elements, such as labels.\n *\n * ```jsx\n * <now-button-iconic icon=\"envelope-fill\" variant=\"primary\" bare />\n * <now-button-iconic icon=\"envelope-fill\" variant=\"tertiary\" />\n * <now-button-iconic icon=\"envelope-outline\" />\n * ```\n *\n * @seismicElement now-button-iconic\n * @summary Iconic button is a button used to display an actionable icon.\n * @uib.label Button iconic\n * @uib.icon button-iconic\n * @uib.description Iconic buttons use an icon instead of text to convey an action.\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties icon, variant, bare, size, disabled, active, hidePadding, tooltipContent, configAria, highContrast, landmark, animatedIcon\n * @uib.layout.accessibility.children tooltipContent, configAria, highContrast, landmark\n * @uib.layout.accessibility.icon accessibility-outline\n * @uib.actions NOW_BUTTON_ICONIC#CLICKED\n */\ncreateEnhancedElement('now-button-iconic', {\n\tproperties: {\n\t\t/**\n\t\t * Defines the icon displayed.\n\t\t * See the `now-icon` component documentation for valid inputs.\n\t\t * @type {string}\n\t\t * @uib.label Icon\n\t\t * @uib.description Name of the icon to use in the button\n\t\t * @uib.defaultValue magnifying-glass-outline\n\t\t * @uib.fieldType icon\n\t\t */\n\t\ticon: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Sets the iconic button styles.\n\t\t * @type {('primary'|'secondary'|'tertiary'|'primary-ai'|'secondary-ai'|'tertiary-ai')}\n\t\t * @uib.label Variant\n\t\t * @uib.description Color and behavior of the button\n\t\t */\n\t\tvariant: {\n\t\t\tdefault: 'secondary',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'primary',\n\t\t\t\t\t'primary-ai',\n\t\t\t\t\t'secondary',\n\t\t\t\t\t'secondary-ai',\n\t\t\t\t\t'tertiary',\n\t\t\t\t\t'tertiary-ai',\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Removes iconic button border and sets the default background to be\n\t\t * transparent.\n\t\t * @type {boolean}\n\t\t * @uib.description Removes the border and sets the default background to be transparent\n\t\t */\n\t\tbare: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Sets the iconic button size.\n\t\t * @type {('sm'|'md'|'lg')}\n\t\t * @uib.label Size\n\t\t * @uib.description Size of the button\n\t\t */\n\t\tsize: {default: 'md', schema: {type: 'string', enum: ['sm', 'md', 'lg']}},\n\t\t/**\n\t\t * Sets whether variant colors have higher contrast. Only works when `bare`\n\t\t * is `true`.\n\t\t * @type {boolean}\n\t\t */\n\t\thighContrast: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, mutes the button color and disables user click interactions.\n\t\t * @type {boolean}\n\t\t * @uib.label Disabled\n\t\t * @uib.description Disables the button by muting the colors and preventing click interactions\n\t\t */\n\t\tdisabled: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * If true, sets the button to have an active state (pressed).\n\t\t * @type {boolean}\n\t\t * @uib.label Active\n\t\t * @uib.description If true, sets the button to have an active state\n\t\t */\n\t\tactive: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * By default, an iconic button's height is based on the `size` property.\n\t\t * Set to `true` to reduce the iconic button height. This ensures that the\n\t\t * iconic button only takes up the height required by its icon. Buttons\n\t\t * with this property do not align vertically with other button types.\n\t\t * Not recommended for iconic buttons without `bare` property.\n\t\t * @type {boolean}\n\t\t * @uib.label Padding\n\t\t * @uib.description Removes padding from the bare button. Note: The button won't align vertically with other buttons\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Show\",\"value\": false}, {\"label\": \"Hide\",\"value\": true}]\n\t\t * @uib.defaultValue false\n\t\t */\n\t\thidePadding: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * now-button. The value of each key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s. These ARIA\n\t\t * properties are set on the specified element.\n\t\t * The 'button' key corresponds to the inner html `<button>` in\n\t\t * now-button. See https://www.w3.org/TR/wai-aria-1.2/#button for\n\t\t * properties and accepted values.\n\t\t * @type {{ 'aria-*': string,  role: string }}\n\t\t * @uib.label ARIA properties\n\t\t * @uib.description Configures ARIA properties\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\trequired: true,\n\t\t\tschema: {\n\t\t\t\toneOf: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t\t...configAriaLabelRoleHasPopUpSchema,\n\t\t\t\t\t\t\t\trequired: ['aria-label'],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tadditionalProperties: false,\n\t\t\t\t\t},\n\t\t\t\t\t{...configAriaLabelRoleHasPopUpSchema, required: ['aria-label']},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Text content shown inside the tooltip. Not displayed if button is\n\t\t * disabled.\n\t\t * @type {string}\n\t\t * @uib.label Tooltip text\n\t\t * @uib.defaultValue Enter a label\n\t\t * @uib.description Text to display in a tooltip that describes the button's action\n\t\t * @uib.translatable true\n\t\t */\n\t\ttooltipContent: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Includes this component as a target for the Now-Trigger-Library's\n\t\t * Landmark Focus feature.\n\t\t * @type {boolean}\n\t\t * @uib.label Landmark\n\t\t * @uib.description Allow the Landmark Focus keyboard shortcut to focus this button\n\t\t */\n\t\tlandmark: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * If defined, specifies the animated icon to display inside the button.\n\t\t * See the `now-icon-animated` component documentation for valid inputs.\n\t\t * For icon-only buttons, use `<now-button-iconic>` instead.\n\t\t * @type {string}\n\t\t * @uib.label Animated Icon\n\t\t * @uib.description Defines the animated icon displayed inside the button\n\t\t */\n\t\tanimatedIcon: {schema: {type: 'string'}},\n\t},\n\tview,\n\tstyles,\n\tbehaviors: [\n\t\tfocusBehavior,\n\t\ttooltipBehavior,\n\t\tanimatedIconHoverBehavior,\n\t\t{behavior: reduceMotionBehavior},\n\t\t{\n\t\t\tbehavior: rippleBehavior,\n\t\t\toptions: {target: '.now-button-iconic'},\n\t\t},\n\t\t{\n\t\t\tbehavior: cssPropertyRegistration,\n\t\t\toptions: {\n\t\t\t\tcssProperties: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: '--now-button--ai--gradient-start',\n\t\t\t\t\t\tsyntax: '<color>',\n\t\t\t\t\t\tinherits: false,\n\t\t\t\t\t\tinitialValue: 'transparent',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: '--now-button--ai--gradient-end',\n\t\t\t\t\t\tsyntax: '<color>',\n\t\t\t\t\t\tinherits: false,\n\t\t\t\t\t\tinitialValue: 'transparent',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t],\n\tactionHandlers: {\n\t\t[COMPONENT_RENDERED]: ({host, properties, dispatch}) => {\n\t\t\tconst buttonEl = host.shadowRoot.querySelector('.now-button-iconic');\n\t\t\tif (properties.disabled || !properties.tooltipContent) {\n\t\t\t\tdispatch(TOOLTIP_HIDE, {target: buttonEl});\n\t\t\t\tPromise.resolve().then(() => {\n\t\t\t\t\tdelete buttonEl.dataset.tooltip;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tbuttonEl.dataset.tooltip = properties.tooltipContent;\n\t\t\t}\n\t\t},\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the button is clicked.\n\t\t * @type {{}}\n\t\t * @uib.description Dispatched when the button is clicked\n\t\t */\n\t\t'NOW_BUTTON_ICONIC#CLICKED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t},\n});\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {\n\textensionSplit,\n\tfilterAriaAttributes,\n} from '@servicenow/library-enhanced-utils';\nimport styles from './_now-button-stateful.scss';\nimport '@servicenow/now-icon';\nimport tooltipBehavior, {\n\tTOOLTIP_SHOW,\n\tTOOLTIP_HIDE,\n} from '@servicenow/behavior-tooltip';\nimport '@servicenow/now-tooltip';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {configAriaLabelRoleHasPopUpSchema} from '@servicenow/library-schemas';\nimport {actionTypes} from '@servicenow/ui-core';\nimport rippleBehavior from '@servicenow/behavior-ripple';\nimport reduceMotionBehavior from '@servicenow/behavior-reduce-motion';\n\nconst {COMPONENT_RENDERED} = actionTypes;\n\nconst handleTooltipShow = (dispatch) => (event) => {\n\tdispatch(TOOLTIP_SHOW, {target: event.target});\n};\n\nconst handleTooltipHide = (dispatch) => (event) => {\n\tdispatch(TOOLTIP_HIDE, {target: event.target});\n};\n\nconst _renderIcon = (icon, size, variant, selected) => {\n\tif (icon) {\n\t\tlet iconFilledOrOutline = icon;\n\t\tif (selected) {\n\t\t\ticonFilledOrOutline = icon.replace('-outline', '-fill');\n\t\t} else {\n\t\t\ticonFilledOrOutline = icon.replace('-fill', '-outline');\n\t\t}\n\n\t\treturn (\n\t\t\t<now-icon\n\t\t\t\tclassName=\"now-button-stateful-icon\"\n\t\t\t\ticon={iconFilledOrOutline}\n\t\t\t\tsize={size}\n\t\t\t\taria-hidden=\"true\"\n\t\t\t/>\n\t\t);\n\t}\n};\n\nconst roleBasedSelection = {\n\tbutton: 'aria-pressed',\n\tradio: 'aria-checked',\n\ttab: 'aria-selected',\n};\n\n/** @seismicView now-button-stateful */\nconst view = (state, {dispatch}) => {\n\tconst {\n\t\tconfigRole,\n\t\tvariant,\n\t\thighContrast,\n\t\thighlighted,\n\t\tsize,\n\t\ticon,\n\t\tselected,\n\t\thidePadding,\n\t\tdisabled,\n\t\tactive,\n\t\ttooltipContent,\n\t} = state.properties;\n\tlet {configAria = {}} = state.properties;\n\tconfigAria = configAria || {}; //this adds a null check\n\n\tif (configAria?.button === undefined) {\n\t\tconfigAria.button = {role: configRole};\n\t} else if (configAria?.button?.role === undefined) {\n\t\tconfigAria.button = configAria.button || {}; //this adds a null check for the `button.role`\n\t\tconfigAria.button.role = configRole;\n\t}\n\n\tconst selectedState = roleBasedSelection[configAria.button.role];\n\tif (selectedState) {\n\t\tconfigAria.button[selectedState] = selected ? 'true' : 'false';\n\t}\n\n\tconst onButtonClicked = (evt) => {\n\t\tevt.preventDefault();\n\t\tdispatch(({properties}) => ({\n\t\t\ttype: 'NOW_BUTTON_STATEFUL#SELECTED_SET',\n\t\t\tpayload: {value: !properties.selected},\n\t\t\tshouldDispatch: !properties.disabled,\n\t\t}));\n\t};\n\n\tconst shouldAnimate = !state.behaviors['reduce-motion'];\n\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclass={{\n\t\t\t\t'now-button-stateful': true,\n\t\t\t\t'is-selected': selected,\n\t\t\t\t'is-highlighted': highlighted,\n\t\t\t\t...extensionSplit(variant),\n\t\t\t\t['-' + size]: size,\n\t\t\t\t'high-contrast': highContrast,\n\t\t\t\t'hide-padding': hidePadding,\n\t\t\t\t'is-disabled': disabled,\n\t\t\t\t'is-active': active,\n\t\t\t\t'should-animate': shouldAnimate,\n\t\t\t}}\n\t\t\tdata-tooltip={tooltipContent}\n\t\t\tdata-ariadescribedby={\n\t\t\t\t{...filterAriaAttributes(configAria, 'button')}?.['aria-label']\n\t\t\t}\n\t\t\ton-mouseenter={handleTooltipShow(dispatch)}\n\t\t\ton-mouseleave={handleTooltipHide(dispatch)}\n\t\t\ton-focusin={handleTooltipShow(dispatch)}\n\t\t\ton-focusout={handleTooltipHide(dispatch)}\n\t\t\ton-mousedown={disabled ? (e) => e.preventDefault() : undefined}\n\t\t\t{...filterAriaAttributes(configAria, 'button')}\n\t\t\tdisabled={disabled}\n\t\t\ton-click={onButtonClicked}\n\t\t>\n\t\t\t{icon ? _renderIcon(icon, size, variant, selected) : undefined}\n\t\t</button>\n\t);\n};\n\n/**\n * The stateful button can be toggled between two states that are visually\n * distinguishable from each other. It also provides an option for displaying\n * an active or selected state.\n *\n * Currently, the stateful button only displays an icon and doesn't support\n * other elements, such as labels.\n *\n * Examples\n *\n * ```jsx\n * <now-button-stateful\n *\t\ticon=\"magnifying-glass-outline\"\n *\t\tvariant=\"primary\"\n * />\n *\n * <now-button-stateful\n *\t\ticon=\"magnifying-glass-outline\"\n *\t\tvariant=\"primary\"\n *\t\thighlighted\n *\t\tconfig-role=\"radio\"\n * />\n *\n * <now-button-stateful\n *\t\ticon=\"magnifying-glass-outline\"\n *\t\tvariant=\"tertiary\"\n *\t\thigh-contrast\n *\t\tconfig-role=\"tab\"\n * />\n *\n * <now-button-stateful\n *\t\ticon=\"magnifying-glass-outline\"\n *\t\tconfig-role=\"radio\"\n *\t\tconfig-aria={{\n *\t\t\tbutton: {'aria-label': 'Search'}\n *\t\t}}\n * />\n *\n * <now-button-stateful\n *\t\ticon=\"envelope-outline\"\n *\t\ttooltip-content=\"Email\"\n * />\n * ```\n *\n * @seismicElement now-button-stateful\n * @summary The stateful button is a button used to display an actionable icon.\n * The stateful button doesn't share all the properties of the standard button\n * component.\n * The stateful button only displays an icon and cannot display any other\n * elements, like labels.\n * The button can be toggled between an on and off state.\n * @uib.label Button stateful\n * @uib.icon button-stateful\n * @uib.description The stateful button is a button used to display an actionable icon. The stateful button doesn't share all the properties of the standard button component. The stateful button only displays an icon and cannot display any other elements, like labels.\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties icon, variant, highlighted, size, selected, manageSelected, disabled, active, hidePadding, configRole, tooltipContent, configAria, highContrast, landmark\n * @uib.layout.padding.children hidePadding\n * @uib.layout.padding.icon arrow-up-down-outline\n * @uib.layout.accessibility.children configRole, tooltipContent, configAria, highContrast, landmark\n * @uib.layout.accessibility.icon accessibility-outline\n * @uib.actions NOW_BUTTON_STATEFUL#SELECTED_SET\n */\n\ncreateEnhancedElement('now-button-stateful', {\n\tproperties: {\n\t\t/**\n\t\t * Deprecated, use `config-aria` instead\n\t\t * Defines the aria role of the component.\n\t\t * @type {('button'|'radio'|'tab')}\n\t\t * @private\n\t\t */\n\t\tconfigRole: {\n\t\t\tdefault: 'button',\n\t\t\tschema: {type: 'string', enum: ['button', 'radio', 'tab']},\n\t\t},\n\t\t/**\n\t\t * Defines the icon displayed.\n\t\t * See the `now-icon` component documentation for valid inputs.\n\t\t * Note: By default, the `-outline` version of this icon displays,\n\t\t * even if the `-fill` version is assigned. The `-fill` version\n\t\t * shows if the button is selected by the user.\n\t\t * @type {string}\n\t\t * @uib.label Icon\n\t\t * @uib.description Defines the now-icon displayed. By default, the `-outline` version of this icon displays, even if the `-fill` version is assigned. The `-fill` version shows if the button is selected by the user.\n\t\t * @uib.defaultValue magnifying-glass-plus-outline\n\t\t * @uib.fieldType icon\n\t\t */\n\t\ticon: {required: true, schema: {type: 'string'}},\n\t\t/**\n\t\t * Indicates the selected state of the stateful button.\n\t\t * The selected style is indicated with a filled icon. When the\n\t\t * `highlighted` property is `true` a background-color is also added.\n\t\t * Maps to `aria-pressed` for a toggle button, `aria-checked` for a radio\n\t\t * button, and `aria-selected` for a tab.\n\t\t * Use `manage-selected` to override the default behavior and handle the\n\t\t * `NOW_BUTTON_STATEFUL#SELECTED_SET` action manually.\n\t\t * @type {boolean}\n\t\t * @uib.description Indicates the selected state of the stateful button.Maps to `aria-pressed` for a toggle button, `aria-checked` for a radio button, and `aria-selected` for a tab.\n\t\t */\n\t\tselected: {default: false, manageable: true, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `selected` property.\n\t\t * An action with type `NOW_BUTTON_STATEFUL#SELECTED_SET` will be dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the selected property. Use the selected set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageSelected: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Sets the stateful button styles.\n\t\t * @type {('primary'|'primary-selection'|'secondary'|'secondary-selection'|'tertiary'|'tertiary-selection')}\n\t\t * @uib.label Variant\n\t\t * @uib.description Color and behavior of the button.\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Primary\", \"value\": \"primary\"}, {\"label\": \"Secondary\", \"value\": \"secondary\"}, {\"label\": \"Tertiary\", \"value\": \"tertiary\"}, {\"label\": \"Primary (selection)\", \"value\": \"primary-selection\"}, {\"label\": \"Secondary (selection)\", \"value\": \"secondary-selection\"}, {\"label\": \"Tertiary (selection)\", \"value\": \"tertiary-selection\"}, {\"label\": \"Primary (highlighted)\", \"value\": \"primary-highlighted\"}, {\"label\": \"Secondary (highlighted)\", \"value\": \"secondary-highlighted\"}]\n\t\t * @uib.defaultValue secondary\n\t\t */\n\t\tvariant: {\n\t\t\tdefault: 'secondary',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'primary',\n\t\t\t\t\t'primary-selection',\n\t\t\t\t\t'secondary',\n\t\t\t\t\t'secondary-selection',\n\t\t\t\t\t'tertiary',\n\t\t\t\t\t'tertiary-selection',\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Sets the button size.\n\t\t * @type {('sm'|'md'|'lg')}\n\t\t * @uib.label Size\n\t\t * @uib.description Size of the button\n\t\t */\n\t\tsize: {default: 'md', schema: {type: 'string', enum: ['sm', 'md', 'lg']}},\n\t\t/**\n\t\t * Sets the style to add a color background when selected.\n\t\t * @type {boolean}\n\t\t */\n\t\thighlighted: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Sets the style to increase the contrast when a stateful button is\n\t\t * displayed on a colored background.\n\t\t * @type {boolean}\n\t\t */\n\t\thighContrast: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * By default, a stateful button's height is based on the `size` property.\n\t\t * Set to `true` to reduce this height so that the stateful button only\n\t\t * occupies the height required by its icon. Note: Buttons with this\n\t\t * property don't align vertically with other button types.\n\t\t * @type {boolean}\n\t\t * @uib.label Padding\n\t\t * @uib.description Removes padding from the bare button. Note that the button won't align vertically with other buttons\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Show\", \"value\": false}, {\"label\": \"Hide\",\"value\": true}]\n\t\t * @uib.defaultValue false\n\t\t */\n\t\thidePadding: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, mutes the button color and prevents user-click interactions.\n\t\t * @type {boolean}\n\t\t * @uib.label Disabled\n\t\t * @uib.description Disables the button by muting the colors and preventing click interactions\n\t\t */\n\t\tdisabled: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * If true, sets the button to have an active state (pressed).\n\t\t * @type {boolean}\n\t\t * @uib.label Active\n\t\t * @uib.description If true, sets the button to have an active state\n\t\t */\n\t\tactive: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * now-button-stateful. The value of each key is an object that contains an\n\t\t * ARIA property (or properties) and corresponding value/s. These ARIA\n\t\t * properties are set on the specified element.\n\t\t * The 'button' key corresponds to the inner html `<button>` in\n\t\t * now-button-stateful.\n\t\t * Set the \"role\" attribute to specify the aria role of the component.\n\t\t * Set the role to \"button\" for a toggle button.\n\t\t * Set the role to \"radio\" for a radio button.\n\t\t * Set the role to \"tab\" for a button used as a tab.\n\t\t * @type {{ button: { 'aria-*': string, role: string }}}\n\t\t * @uib.label ARIA properties\n\t\t * @uib.description Configures ARIA properties\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\trequired: true,\n\t\t\tschema: {\n\t\t\t\toneOf: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t\t...configAriaLabelRoleHasPopUpSchema,\n\t\t\t\t\t\t\t\trequired: ['aria-label'],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tadditionalProperties: false,\n\t\t\t\t\t},\n\t\t\t\t\t{...configAriaLabelRoleHasPopUpSchema, required: ['aria-label']},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Text content shown inside the tooltip. Not displayed if button is\n\t\t * disabled.\n\t\t * @type {string}\n\t\t * @uib.label Tooltip text\n\t\t * @uib.defaultValue Start search\n\t\t * @uib.description Text to display in a tooltip when hovering over the button\n\t\t * @uib.translatable true\n\t\t */\n\t\ttooltipContent: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Includes this component as a target for the Now-Trigger-Library's\n\t\t * Landmark Focus feature.\n\t\t * @type {boolean}\n\t\t * @uib.label Landmark\n\t\t * @uib.description Allow the Landmark Focus keyboard shortcut to focus this button\n\t\t */\n\t\tlandmark: {schema: {type: 'boolean'}},\n\t},\n\tview,\n\tstyles,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the user toggles the selected status of the button.\n\t\t * Set the `manage-selected` property to override the default behavior and\n\t\t * handle this action manually.\n\t\t * @type {{value: boolean}}\n\t\t * @uib.description Dispatched when the user toggles the selected status of the button\n\t\t */\n\t\t'NOW_BUTTON_STATEFUL#SELECTED_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tvalue: {type: 'boolean'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tbehaviors: [\n\t\tfocusBehavior,\n\t\ttooltipBehavior,\n\t\t{behavior: reduceMotionBehavior},\n\t\t{\n\t\t\tbehavior: rippleBehavior,\n\t\t\toptions: {target: '.now-button-stateful'},\n\t\t},\n\t],\n\tactionHandlers: {\n\t\t[COMPONENT_RENDERED]: ({host, properties, dispatch}) => {\n\t\t\tconst buttonEl = host.shadowRoot.querySelector('.now-button-stateful');\n\t\t\tif (properties.disabled || !properties.tooltipContent) {\n\t\t\t\tdispatch(TOOLTIP_HIDE, {target: buttonEl});\n\t\t\t\tPromise.resolve().then(() => {\n\t\t\t\t\tdelete buttonEl.dataset.tooltip;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tbuttonEl.dataset.tooltip = properties.tooltipContent;\n\t\t\t}\n\t\t},\n\t},\n});\n","import {createCustomElement} from '@servicenow/ui-core';\nimport {\n\tfilterAriaAttributes,\n\tgetAnimationTimingAndDuration,\n} from '@servicenow/library-enhanced-utils';\nimport '@servicenow/now-icon';\nimport tooltipBehavior, {\n\tTOOLTIP_SHOW,\n\tTOOLTIP_HIDE,\n} from '@servicenow/behavior-tooltip';\nimport '@servicenow/now-tooltip';\nimport styles from './_now-button-circular.scss';\nimport {configAriaLabelRoleHasPopUpSchema} from '@servicenow/library-schemas';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {animatedIconHoverBehavior} from './behaviors/index.js';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport rippleBehavior from '@servicenow/behavior-ripple';\nimport reduceMotionBehavior from '@servicenow/behavior-reduce-motion';\nimport cssPropertyRegistrationBehavior from '@servicenow/behavior-css-property-registration';\n\nconst {COMPONENT_RENDERED} = actionTypes;\n\nexport const SCALE_SHRINK = 1;\nexport const SCALE_GROW = 1.1;\n\nconst handleTooltipShow = (dispatch) => (event) => {\n\tdispatch(TOOLTIP_SHOW, {target: event.target});\n};\n\nconst handleTooltipHide = (dispatch) => (event) => {\n\tdispatch(TOOLTIP_HIDE, {target: event.target});\n};\n\nconst handleClick = (dispatch) => {\n\tdispatch(({properties}) => ({\n\t\ttype: 'NOW_BUTTON_CIRCULAR#CLICKED',\n\t\tpayload: {},\n\t\tshouldDispatch: !properties.disabled,\n\t}));\n};\n\nexport const handleScaleAnimation = (element, scale, durationName, state) => {\n\tif (!element || state.behaviors['reduce-motion']) return null;\n\n\tconst {duration, easing} = getAnimationTimingAndDuration(\n\t\telement,\n\t\tdurationName,\n\t);\n\n\treturn element.animate([{transform: `scale(${scale})`}], {\n\t\tduration,\n\t\teasing,\n\t\tfill: 'forwards',\n\t});\n};\n\nconst handleMouseDown = (host, state) => {\n\tconst buttonEl = host.shadowRoot.querySelector('.now-button-circular');\n\tconst iconEl = host.shadowRoot.querySelector('.now-button-circular-icon');\n\n\tif (!buttonEl || buttonEl.classList.contains('is-disabled')) return;\n\n\tbuttonEl.classList.add('animating');\n\n\tconst shrinkAnimation = handleScaleAnimation(\n\t\tbuttonEl,\n\t\tSCALE_SHRINK,\n\t\t'--now-button-circular--duration--faster',\n\t\tstate,\n\t);\n\thandleScaleAnimation(\n\t\ticonEl,\n\t\tSCALE_SHRINK,\n\t\t'--now-button-circular--duration--faster',\n\t\tstate,\n\t);\n\n\tshrinkAnimation.onfinish = () => {\n\t\tconst growAnimation = handleScaleAnimation(\n\t\t\tbuttonEl,\n\t\t\tSCALE_GROW,\n\t\t\t'--now-motion--duration',\n\t\t\tstate,\n\t\t);\n\t\thandleScaleAnimation(\n\t\t\ticonEl,\n\t\t\tSCALE_GROW,\n\t\t\t'--now-button-circular--duration--faster',\n\t\t\tstate,\n\t\t);\n\n\t\tgrowAnimation.onfinish = () => {\n\t\t\tbuttonEl.classList.remove('animating');\n\n\t\t\tif (buttonEl.classList.contains('should-shrink')) {\n\t\t\t\tbuttonEl.classList.remove('should-shrink');\n\t\t\t\thandleScaleAnimation(\n\t\t\t\t\tbuttonEl,\n\t\t\t\t\tSCALE_SHRINK,\n\t\t\t\t\t'--now-button-circular--duration--faster',\n\t\t\t\t\tstate,\n\t\t\t\t);\n\t\t\t\thandleScaleAnimation(\n\t\t\t\t\ticonEl,\n\t\t\t\t\tSCALE_SHRINK,\n\t\t\t\t\t'--now-button-circular--duration--faster',\n\t\t\t\t\tstate,\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\t};\n};\n\nconst handleAnimationStart = (host, state) => {\n\tconst buttonEl = host.shadowRoot.querySelector('.now-button-circular');\n\tconst iconEl = host.shadowRoot.querySelector('.now-button-circular-icon');\n\n\tif (\n\t\t!buttonEl ||\n\t\tbuttonEl.classList.contains('is-disabled') ||\n\t\tbuttonEl.classList.contains('animating')\n\t)\n\t\treturn;\n\n\thandleScaleAnimation(\n\t\tbuttonEl,\n\t\tSCALE_GROW,\n\t\t'--now-button-circular--duration--faster',\n\t\tstate,\n\t);\n\thandleScaleAnimation(\n\t\ticonEl,\n\t\tSCALE_GROW,\n\t\t'--now-button-circular--duration--faster',\n\t\tstate,\n\t);\n};\n\nconst handleAnimationEnd = (host, state) => {\n\tconst buttonEl = host.shadowRoot.querySelector('.now-button-circular');\n\tconst iconEl = host.shadowRoot.querySelector('.now-button-circular-icon');\n\n\tif (!buttonEl || buttonEl.classList.contains('is-disabled')) return;\n\n\tif (buttonEl.classList.contains('animating')) {\n\t\tbuttonEl.classList.add('should-shrink');\n\t} else {\n\t\thandleScaleAnimation(\n\t\t\tbuttonEl,\n\t\t\tSCALE_SHRINK,\n\t\t\t'--now-button-circular--duration--faster',\n\t\t\tstate,\n\t\t);\n\t\thandleScaleAnimation(\n\t\t\ticonEl,\n\t\t\tSCALE_SHRINK,\n\t\t\t'--now-button-circular--duration--faster',\n\t\t\tstate,\n\t\t);\n\t}\n};\n\nconst handleKeyDown = (event, host, state) => {\n\tif (!event || typeof event.key !== 'string' || !host) return;\n\tconst buttonEl = host.shadowRoot.querySelector('.now-button-circular');\n\tif (!buttonEl || buttonEl.classList.contains('is-disabled')) return;\n\tif (event.key === 'Enter' || event.key === ' ') {\n\t\thandleMouseDown(host, state);\n\t}\n};\n\nconst view = (state, {dispatch}) => {\n\tconst {\n\t\tdisabled,\n\t\tactive,\n\t\thasShadow,\n\t\ticon,\n\t\ttooltipContent,\n\t\tconfigAria,\n\t\tanimatedIcon,\n\t\tvariant,\n\t} = state.properties;\n\n\tconst shouldAnimate = !state.behaviors['reduce-motion'];\n\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclass={{\n\t\t\t\t'now-button-circular': true,\n\t\t\t\t'is-disabled': disabled,\n\t\t\t\t'is-active': active,\n\t\t\t\t'has-shadow': hasShadow,\n\t\t\t\t['-' + variant]: variant,\n\t\t\t\t'should-animate': shouldAnimate,\n\t\t\t}}\n\t\t\tdata-tooltip={tooltipContent}\n\t\t\tdata-ariadescribedby={\n\t\t\t\t{...filterAriaAttributes(configAria, 'button')}?.['aria-label']\n\t\t\t}\n\t\t\ton-mouseenter={handleTooltipShow(dispatch)}\n\t\t\ton-mouseleave={handleTooltipHide(dispatch)}\n\t\t\ton-focusin={handleTooltipShow(dispatch)}\n\t\t\ton-focusout={handleTooltipHide(dispatch)}\n\t\t\ton-mousedown={disabled ? (e) => e.preventDefault() : undefined}\n\t\t\t{...filterAriaAttributes(configAria, 'button')}\n\t\t\tdisabled={disabled}\n\t\t\ton-click={() => handleClick(dispatch)}\n\t\t>\n\t\t\t<slot name=\"custom-icon\">\n\t\t\t\t{animatedIcon ? (\n\t\t\t\t\t<now-icon-animated\n\t\t\t\t\t\tclassName=\"now-button-circular-icon\"\n\t\t\t\t\t\ticon={animatedIcon}\n\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t/>\n\t\t\t\t) : undefined}\n\t\t\t\t{icon ? (\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\tclassName=\"now-button-circular-icon\"\n\t\t\t\t\t\ticon={icon}\n\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t/>\n\t\t\t\t) : undefined}\n\t\t\t</slot>\n\t\t</button>\n\t);\n};\n\n/**\n * Circular buttons use a circle container to display\n * an actionable icon and do not include a label. Always include\n * a `config-aria` property with `aria-label` set to denote its relationship to other elements\n * or describe its action.\n *\n * ```jsx\n * <now-button-circular icon=\"chat-fill\" />\n * <now-button-circular icon=\"chat-fill\" has-shadow />\n * <now-button-circular icon=\"chat-fill\" disabled />\n * <now-button-circular icon=\"ai-sparkle-fill\" variant=\"ai\" />\n * ```\n *\n * @seismicElement now-button-circular\n * @summary An actionable icon in a circular format.\n * @uib.label Button circular\n * @uib.icon button-circular\n * @uib.description An actionable icon in a circular format.\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties icon, hasShadow, disabled, active, tooltipContent, configAria, landmark, animatedIcon, variant\n * @uib.layout.accessibility.children tooltipContent, configAria, landmark\n * @uib.layout.accessibility.icon accessibility-outline\n * @uib.actions NOW_BUTTON_CIRCULAR#CLICKED\n */\ncreateCustomElement('now-button-circular', {\n\tproperties: {\n\t\t/**\n\t\t * Defines the icon to display inside the button.\n\t\t * See the `now-icon` component documentation for valid inputs.\n\t\t * @type {string}\n\t\t * @uib.label Icon\n\t\t * @uib.defaultValue chat-fill\n\t\t * @uib.fieldType icon\n\t\t */\n\t\ticon: {schema: {type: 'string'}},\n\t\t/**\n\t\t * When true, mutes the button color and disables user interactions.\n\t\t * @type {boolean}\n\t\t * @uib.label Disabled\n\t\t * @uib.description When true, mutes the button color and disables user interactions\n\t\t */\n\t\tdisabled: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * If true, sets the button to have an active state (pressed).\n\t\t * @type {boolean}\n\t\t * @uib.label Active\n\t\t * @uib.description If true, sets the button to have an active state\n\t\t */\n\t\tactive: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * now-button. The value of each key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s that are set on the specified element.\n\t\t * The 'button' key corresponds to the inner html `<button>` in\n\t\t * now-button. See https://www.w3.org/TR/wai-aria-1.2/#button for\n\t\t * properties and accepted values.\n\t\t * @type {{ 'aria-*': string, role: string }}\n\t\t * @uib.label ARIA properties\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\toneOf: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t\t...configAriaLabelRoleHasPopUpSchema,\n\t\t\t\t\t\t\t\trequired: ['aria-label'],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tadditionalProperties: false,\n\t\t\t\t\t},\n\t\t\t\t\t{...configAriaLabelRoleHasPopUpSchema, required: ['aria-label']},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * When true, adds a box shadow to the button.\n\t\t * @type {boolean}\n\t\t * @uib.label Show Shadow\n\t\t * @uib.description Select to add a box shadow to the button\n\t\t */\n\t\thasShadow: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Includes this component as a target for the Now-Trigger-Library's\n\t\t * Landmark Focus feature.\n\t\t * @type {boolean}\n\t\t * @uib.label Landmark\n\t\t * @uib.description Allow the Landmark Focus keyboard shortcut to focus this button\n\t\t */\n\t\tlandmark: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Text content shown inside the tooltip. Not displayed if button is\n\t\t * disabled.\n\t\t * @type {string}\n\t\t * @uib.label Tooltip text\n\t\t * @uib.defaultValue Open chat window\n\t\t * @uib.description Text shown inside the tooltip.\n\t\t * @uib.translatable true\n\t\t */\n\t\ttooltipContent: {schema: {type: 'string'}},\n\t\t/**\n\t\t * If defined, specifies the animated icon to display inside the button.\n\t\t * See the `now-icon-animated` component documentation for valid inputs.\n\t\t * @type {string}\n\t\t * @uib.label Animated Icon\n\t\t * @uib.description Defines the animated icon displayed inside the button\n\t\t */\n\t\tanimatedIcon: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Sets the button style, including color and interaction behavior.\n\t\t * @type {('initial'|'ai')}\n\t\t * @uib.label Variant\n\t\t * @uib.description Sets the button style\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Initial\", \"value\": \"initial\"}, {\"label\": \"AI\", \"value\": \"ai\"}]\n\t\t */\n\t\tvariant: {\n\t\t\tdefault: 'initial',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['initial', 'ai'],\n\t\t\t},\n\t\t},\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the button is clicked.\n\t\t * @type {{}}\n\t\t * @uib.description Dispatched when the button is clicked\n\t\t */\n\t\t'NOW_BUTTON_CIRCULAR#CLICKED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t},\n\tbehaviors: [\n\t\tfocusBehavior,\n\t\ttooltipBehavior,\n\t\tanimatedIconHoverBehavior,\n\t\t{behavior: reduceMotionBehavior},\n\t\t{\n\t\t\tbehavior: cssPropertyRegistrationBehavior,\n\t\t\toptions: {\n\t\t\t\tcssProperties: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: '--now-button--ai--gradient-start',\n\t\t\t\t\t\tsyntax: '<color>',\n\t\t\t\t\t\tinherits: false,\n\t\t\t\t\t\tinitialValue: 'transparent',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: '--now-button--ai--gradient-end',\n\t\t\t\t\t\tsyntax: '<color>',\n\t\t\t\t\t\tinherits: false,\n\t\t\t\t\t\tinitialValue: 'transparent',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbehavior: rippleBehavior,\n\t\t\toptions: {\n\t\t\t\ttarget: '.now-button-circular',\n\t\t\t\tmaxScale: 1,\n\t\t\t\tintroDurationToken: '--now-motion--duration--slower',\n\t\t\t\tintroEaseToken: '--now-motion--ease--bounce',\n\t\t\t\toutroEaseToken: '--now-motion--ease--focus-standard',\n\t\t\t},\n\t\t},\n\t],\n\tview,\n\tstyles,\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['mousedown'],\n\t\t\teffect: ({host, state}) => handleMouseDown(host, state),\n\t\t},\n\t\t{\n\t\t\tevents: ['mouseenter'],\n\t\t\teffect: ({host, state}) => handleAnimationStart(host, state),\n\t\t},\n\t\t{\n\t\t\tevents: ['mouseleave'],\n\t\t\teffect: ({host, state}) => handleAnimationEnd(host, state),\n\t\t},\n\t\t{\n\t\t\tevents: ['focusin'],\n\t\t\teffect: ({host, state}) => handleAnimationStart(host, state),\n\t\t},\n\t\t{\n\t\t\tevents: ['focusout'],\n\t\t\teffect: ({host, state}) => handleAnimationEnd(host, state),\n\t\t},\n\t\t{\n\t\t\tevents: ['keydown'],\n\t\t\teffect: function (context) {\n\t\t\t\tconst event = context.action?.meta?.event;\n\t\t\t\tconst host = context.host;\n\t\t\t\tconst state = context.state;\n\t\t\t\thandleKeyDown(event, host, state);\n\t\t\t},\n\t\t},\n\t],\n\tactionHandlers: {\n\t\t[COMPONENT_RENDERED]: ({host, properties, dispatch}) => {\n\t\t\tconst buttonEl = host.shadowRoot.querySelector('.now-button-circular');\n\t\t\tif (properties.disabled || !properties.tooltipContent) {\n\t\t\t\tdispatch(TOOLTIP_HIDE, {target: buttonEl});\n\t\t\t\tPromise.resolve().then(() => {\n\t\t\t\t\tdelete buttonEl.dataset.tooltip;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tbuttonEl.dataset.tooltip = properties.tooltipContent;\n\t\t\t}\n\t\t},\n\t},\n\tslots: {\n\t\t/**\n\t\t * Content placed in the `custom-icon` slot appears inside\n\t\t * the button body, taking the place of the `icon`.\n\t\t * @uib.hidePlaceholder true\n\t\t */\n\t\t'custom-icon': {},\n\t},\n});\n","import './now-button';\nimport './now-button-bare';\nimport './now-button-iconic';\nimport './now-button-stateful';\nimport './now-button-circular';\nimport * as info from '../package.json';\n\nconst {name, version} = info;\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n","import {actionTypes} from '@servicenow/ui-core';\nimport {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport styles from './_now-checkbox.scss';\nimport '@servicenow/now-icon';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport {filterAriaAttributes} from '@servicenow/library-enhanced-utils';\nimport {t} from 'sn-translate';\nimport {configAriaLabelSchema} from '@servicenow/library-schemas';\n\nconst {COMPONENT_PROPERTY_CHANGED, COMPONENT_DOM_READY} = actionTypes;\n\nconst setIndeterminate = (host, checked) => {\n\t/**\n\t * Checkboxes have 3 states: checked, unchecked, and indeterminate (aka \"mixed\" for aria-checked)\n\t * HTML only supports 2: checked and unchecked\n\t * To set a indeterminate (aka mixed), you need JS\n\t *\n\t * aria-checked=\"mixed\" isn't enough for good support :(\n\t */\n\tconst nativeInput = host.shadowRoot.querySelector('input');\n\tconst shouldBeIndeterminate = checked === 'indeterminate';\n\n\tif (nativeInput.indeterminate !== shouldBeIndeterminate) {\n\t\tnativeInput.indeterminate = shouldBeIndeterminate;\n\t}\n};\n\nconst handleChecked = (e, dispatch, interactive) => {\n\tif (!interactive) {\n\t\treturn;\n\t}\n\n\te.preventDefault();\n\tdispatch(({properties: {name, checked}}) => {\n\t\treturn {\n\t\t\ttype: 'NOW_CHECKBOX#CHECKED_SET',\n\t\t\tpayload: {\n\t\t\t\tname: name,\n\t\t\t\tvalue: checked ? false : true,\n\t\t\t},\n\t\t};\n\t});\n};\n\nconst handleBlur = (dispatch) => {\n\tdispatch(({properties: {required, checked, name}}) => {\n\t\treturn {\n\t\t\ttype: 'NOW_CHECKBOX#INVALID_SET',\n\t\t\tpayload: {name, value: required && !checked},\n\t\t};\n\t});\n};\n\nconst renderLabelInline = () => {\n\treturn (\n\t\t<span className=\"now-checkbox-label-inline-slot\">\n\t\t\t<slot\n\t\t\t\tname=\"label-inline\"\n\t\t\t\ton-keydown={(e) => e.stopPropagation()}\n\t\t\t\ton-click={(e) => e.stopPropagation()}\n\t\t\t/>\n\t\t</span>\n\t);\n};\n\nconst renderLabelStart = () => {\n\treturn (\n\t\t<span className=\"now-checkbox-label-start-slot\">\n\t\t\t<slot\n\t\t\t\tname=\"label-start\"\n\t\t\t\ton-keydown={(e) => e.stopPropagation()}\n\t\t\t\ton-click={(e) => e.stopPropagation()}\n\t\t\t/>\n\t\t</span>\n\t);\n};\n\nconst view = ({properties}, {dispatch}) => {\n\tconst {\n\t\tchecked,\n\t\tdisabled,\n\t\trequired,\n\t\treadonly,\n\t\tinvalid,\n\t\tlabel,\n\t\tsize,\n\t\tconfigAria,\n\t\tnowId,\n\t\tlabelPosition,\n\t\tfullWidth,\n\t} = properties;\n\n\tconst interactive = !disabled && !readonly;\n\tconst indeterminate = checked === 'indeterminate';\n\tconst iconId = `${nowId}-icon`;\n\n\tconst labelId = `${nowId}-label`;\n\tconst mixed = t({\n\t\tcode: 'now-checkbox-indeterminate',\n\t\tmessage: 'mixed',\n\t\tcomment:\n\t\t\t'Mixed or indeterminate - describes the state of a checkbox that is neither checked nor unchecked, but has a dash inside to indicate that some children are checked and some are not.',\n\t});\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'now-checkbox': true,\n\t\t\t\t[`-${size}`]: size,\n\t\t\t\t'is-disabled': disabled,\n\t\t\t\t'is-readonly': readonly,\n\t\t\t\t'is-invalid': invalid,\n\t\t\t\t'is-checked': checked,\n\t\t\t\t['-' + labelPosition]: labelPosition,\n\t\t\t\t'is-full-width': fullWidth,\n\t\t\t}}\n\t\t\ton-click={(e) => handleChecked(e, dispatch, interactive)}\n\t\t>\n\t\t\t{label && labelPosition === 'start' && (\n\t\t\t\t<div className=\"now-checkbox-label-parent\">\n\t\t\t\t\t{required ? (\n\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\tclassName=\"now-checkbox-required-indicator\"\n\t\t\t\t\t\t\ticon=\"asterisk-fill\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tdata-truncation\n\t\t\t\t\t\t\tdata-truncationforcetooltip\n\t\t\t\t\t\t\tdata-truncationtext={t('Required')}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : undefined}\n\t\t\t\t\t{renderLabelInline()}\n\t\t\t\t\t<label id={labelId} for={nowId} className=\"now-checkbox-label\">\n\t\t\t\t\t\t<span className=\"now-line-height-crop\">{label}</span>\n\t\t\t\t\t</label>\n\t\t\t\t\t{renderLabelStart()}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t<div className=\"now-checkbox-input-parent\">\n\t\t\t\t<input\n\t\t\t\t\tclassName=\"now-checkbox-input\"\n\t\t\t\t\tid={nowId}\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\tdisabled={interactive ? undefined : 'true'}\n\t\t\t\t\trequired={required}\n\t\t\t\t\tchecked={checked === true ? true : undefined}\n\t\t\t\t\t{...filterAriaAttributes(configAria, 'checkbox')}\n\t\t\t\t\taria-checked={indeterminate ? 'mixed' : undefined}\n\t\t\t\t\taria-invalid={invalid ? 'true' : 'false'}\n\t\t\t\t\taria-describedby={indeterminate ? iconId : undefined}\n\t\t\t\t\ton-change={(e) => handleChecked(e, dispatch, interactive)}\n\t\t\t\t\ton-blur={() => handleBlur(dispatch)}\n\t\t\t\t/>\n\t\t\t\t<div className=\"now-checkbox-visual-input\">\n\t\t\t\t\t{checked ? (\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * [1] Support is buggy/broken in VO+Safari for mixed state checkboxes so providing an aria-label to shim this\n\t\t\t\t\t\t *\n\t\t\t\t\t\t * aria-label and aria-hidden can be removed when one of these is fixed\n\t\t\t\t\t\t * https://bugs.webkit.org/show_bug.cgi?id=123889 (support for aria-checked=\"mixed\")\n\t\t\t\t\t\t * https://bugs.webkit.org/show_bug.cgi?id=203138 (support of input.indeterminate)\n\t\t\t\t\t\t */\n\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\tid={iconId}\n\t\t\t\t\t\t\tclassName=\"now-checkbox-icon\"\n\t\t\t\t\t\t\ticon={indeterminate ? 'minus-outline' : 'check-outline'}\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tconfig-aria={\n\t\t\t\t\t\t\t\tindeterminate ? {'aria-label': mixed} : {'aria-hidden': 'true'}\n\t\t\t\t\t\t\t} // [1]\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : undefined}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{label && labelPosition === 'end' && (\n\t\t\t\t<div className=\"now-checkbox-label-parent\">\n\t\t\t\t\t{renderLabelStart()}\n\t\t\t\t\t<label id={labelId} for={nowId} className=\"now-checkbox-label\">\n\t\t\t\t\t\t<span className=\"now-line-height-crop\">{label}</span>\n\t\t\t\t\t</label>\n\t\t\t\t\t{required ? (\n\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\tclassName=\"now-checkbox-required-indicator\"\n\t\t\t\t\t\t\ticon=\"asterisk-fill\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tdata-truncation\n\t\t\t\t\t\t\tdata-truncationforcetooltip\n\t\t\t\t\t\t\tdata-truncationtext={t('Required')}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : undefined}\n\t\t\t\t\t{renderLabelInline()}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\n/**\n * Input for users to communicate a yes, no, or indeterminate choice.\n * A checkbox can appear standalone or in a set of other options.\n *\n *\n * ```jsx\n * <now-checkbox label=\"I accept these terms\" required />\n * ```\n *\n * @seismicElement now-checkbox\n * @summary An interactive control for indicating an affirmative, negative, or indeterminate choice.\n * @uib.label Checkbox\n * @uib.icon checkbox\n * @uib.description An interactive control for indicating an affirmative, negative, or indeterminate choice.\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties size, checked, manageChecked, name, disabled, readonly, label, required, invalid, manageInvalid, configAria, labelPosition, fullWidth\n * @uib.layout.label.children label, required, labelPosition, fullWidth\n * @uib.layout.label.icon text-outline\n * @uib.layout.validation.children invalid, manageInvalid\n * @uib.layout.validation.icon syntax-check-outline\n * @uib.layout.accessibility.children configAria\n * @uib.layout.accessibility.icon accessibility-outline\n * @uib.actions NOW_CHECKBOX#CHECKED_SET\n */\ncreateEnhancedElement('now-checkbox', {\n\tproperties: {\n\t\t/**\n\t\t * The state of the checkbox. Options include:\n\t\t * - `true`: The checkbox is selected.\n\t\t * - `false`: The checkbox is cleared.\n\t\t * - `indeterminate`: The checkbox appears with a horizontal line\n\t\t *   inside to express that it is neither `true` nor `false`.\n\t\t *   You can use the indeterminate state\n\t\t *   when a single checkbox controls multiple child\n\t\t *   elements. For example, a \"select all\" checkbox.\n\t\t *\n\t\t * When the user selects a checkbox in the `indeterminate` state, the\n\t\t * property value changes to `false`.\n\t\t * @type {(boolean|'indeterminate')}\n\t\t * @uib.description True if the checkbox is selected; otherwise false. If the `checked` status is neither true nor false, \"indeterminate\" causes the checkbox to appear with a horizontal line inside of it.\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"True\",\"value\": true}, {\"label\": \"False\",\"value\": false}, {\"label\": \"Indeterminate\",\"value\": \"indeterminate\"}]\n\t\t * @uib.defaultValue false\n\t\t */\n\t\tchecked: {\n\t\t\tdefault: false,\n\t\t\tmanageable: true,\n\t\t\tschema: {oneOf: [{type: 'boolean'}, {const: 'indeterminate'}]},\n\t\t},\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `checked` property.\n\t\t * An action with type `NOW_CHECKBOX#CHECKED_SET` will be dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the checked property. Use the event dispatched when the field is clicked to handle the checked state manually.\n\t\t */\n\t\tmanageChecked: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * now-checkbox. The value of each key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s. These ARIA\n\t\t * properties will be set on the specified element.\n\t\t * The 'checkbox' key corresponds to the `<div>` with an ARIA role of\n\t\t * 'checkbox' in now-checkbox. See https://www.w3.org/TR/wai-aria-1.2/#checkbox for\n\t\t * properties and accepted values.\n\t\t * @type {{ 'aria-*': string, role: string }}\n\t\t * @uib.label ARIA properties\n\t\t * @uib.description Configures ARIA properties\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\toneOf: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tcheckbox: configAriaLabelSchema,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tadditionalProperties: false,\n\t\t\t\t\t},\n\t\t\t\t\tconfigAriaLabelSchema,\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Sets the checkbox size.\n\t\t * @type {('sm'|'md')}\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Small\", \"value\": \"sm\"}, {\"label\": \"Medium\", \"value\": \"md\"}]\n\t\t * @uib.defaultValue md\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['sm', 'md'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * When true, the user cannot select the checkbox.\n\t\t * @type {boolean}\n\t\t */\n\t\tdisabled: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, the current state of the checkbox is invalid.\n\t\t * The visual style changes accordingly.\n\t\t * @type {boolean}\n\t\t * @uib.description When true, the current state of the checkbox is invalid. An error displays and the visual style changes accordingly.\n\t\t */\n\t\tinvalid: {default: false, manageable: true, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `invalid` property.\n\t\t * An action with type `NOW_CHECKBOX#INVALID_SET` will be dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the invalid property. Use the invalid set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageInvalid: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, the user cannot select the checkbox.\n\t\t * @type {boolean}\n\t\t * @uib.label Read Only\n\t\t * @uib.description When true, the user cannot select the checkbox.\n\t\t */\n\t\treadonly: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, the user must select the checkbox before they can\n\t\t * submit the form. For example, a checkbox that the user must select\n\t\t * to accept terms and conditions.\n\t\t * @type {boolean}\n\t\t * @uib.description When true, the user must select the checkbox before they can submit the form.\n\t\t */\n\t\trequired: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Text label to display next to the checkbox.\n\t\t * You must provide either a label or an `aria-label` via the `config-aria` property.\n\t\t * @type {string}\n\t\t * @uib.description Text label to display next to the checkbox. You must provide either a label or an `aria-label` via the `ARIA properties`.\n\t\t * @uib.defaultValue Make a choice\n\t\t * @uib.translatable true\n\t\t */\n\t\tlabel: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Name of the checkbox. Dispatched along with the field value\n\t\t * on user interaction.\n\t\t * @type {string}\n\t\t * @uib.label Identifier\n\t\t * @uib.description Name of the checkbox. Dispatched along with the field value on user interaction\n\t\t */\n\t\tname: {schema: {type: 'string'}},\n\t\t/**\n\t\t * String value of the `checked` property.\n\t\t * @type {('true'|'false'|'indeterminate')}\n\t\t */\n\t\tvalue: {\n\t\t\treflect: true,\n\t\t\tcomputed({properties: {checked}}) {\n\t\t\t\treturn `${checked}`;\n\t\t\t},\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\t/**\n\t\t * Position at which to display the checkbox label relative to the checkbox.\n\t\t * Possible values:\n\t\t *   - start\n\t\t *   - end\n\t\t * @type {('start'|'end')}\n\t\t * @uib.description Position at which to display the checkbox label relative to the checkbox.\n\t\t * @uib.defaultValue end\n\t\t */\n\t\tlabelPosition: {\n\t\t\tdefault: 'end',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['start', 'end'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * When true, the checkbox and label will be distributed across the x-axis accordingly.\n\t\t * @type {boolean}\n\t\t * @uib.description When true, the checkbox and label will be distributed across the x-axis accordingly.\n\t\t * @uib.defaultValue false\n\t\t */\n\t\tfullWidth: {default: false, schema: {type: 'boolean'}},\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot for label, located inline after the label. For the label position `start`, it is placed before the label.\n\t\t */\n\t\t'label-inline': {},\n\t\t/**\n\t\t * Slot for label, located at the start of the label. For the label position `start`, it is placed after the label.\n\t\t */\n\t\t'label-start': {},\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the user interacts with the checkbox and neither\n\t\t * `disabled` nor `readonly` are true. Set the `manageChecked` property\n\t\t * to handle this event manually.\n\t\t * @type {{name: string, value: boolean}}\n\t\t * @uib.description Dispatched when the user interacts with the checkbox and neither `disabled` nor `readonly` are true\n\t\t */\n\t\t'NOW_CHECKBOX#CHECKED_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tvalue: {type: 'boolean'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tbehaviors: [focusBehavior, truncationBehavior, tooltipBehavior],\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_READY]: ({host, properties}) => {\n\t\t\tsetIndeterminate(host, properties.checked);\n\t\t},\n\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({host, properties}) => {\n\t\t\tsetIndeterminate(host, properties.checked);\n\t\t},\n\t},\n\tstyles,\n\tview,\n});\n","import './now-checkbox';\n\nimport * as info from '../package.json';\nconst {name, version} = info;\n\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n","function createIdSelector(prefix) {\n\treturn function (host) {\n\t\tconst componentId = host.getAttribute('component-id');\n\t\treturn host.shadowRoot.getElementById(`${prefix}-${componentId}`);\n\t};\n}\n\nexport const getListboxEl = (host) =>\n\thost.shadowRoot.querySelector('.now-dropdown-list');\n\nexport const getFocusedEl = (host) => host.shadowRoot.activeElement;\n\nexport const getTriggerEl = createIdSelector('trigger');\n\nexport const getItemEls = (host) => {\n\treturn [...host.shadowRoot.querySelectorAll('.now-dropdown-list-item')];\n};\n\nexport const getSelectedItemEls = (host) => {\n\treturn [\n\t\t...host.shadowRoot.querySelectorAll(\n\t\t\t'.now-dropdown-list-item[aria-selected=\"true\"]',\n\t\t),\n\t];\n};\n\nexport const getFocusedItemEl = (host) => {\n\treturn host.shadowRoot.activeElement;\n};\n\nexport const getFocusedItemIndex = (host) => {\n\treturn getItemEls(host).findIndex(\n\t\t(element) => element.id === getFocusedItemEl(host).id,\n\t);\n};\n\nexport const getShadowRootHost = (el) => {\n\tif (el.parentElement) {\n\t\treturn getShadowRootHost(el.parentElement);\n\t}\n\tif (el.parentNode && el.parentNode instanceof DocumentFragment) {\n\t\treturn el.parentNode.host;\n\t}\n\treturn null;\n};\n\nexport const isPanelList = (el) =>\n\tel.getAttribute('role') === 'listbox' || el.getAttribute('role') === 'menu';\n","import {\n\tisEqual,\n\tflatMap,\n\tisString,\n\ttransform,\n\tisNumber,\n\tisEmpty,\n\tdebounce,\n} from 'lodash';\nimport {\n\tmatchSearchTerm,\n\tariaLivePoliteness,\n} from '@servicenow/library-enhanced-utils';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {t} from 'sn-translate';\nconst {ARIA_LIVE_REGION_UPDATE_REQUESTED} = actionTypes;\n\nexport const hasPath = (list, path) =>\n\tlist.findIndex((p) => isEqual(p, path)) > -1;\n\nexport const removePath = (list, path) => list.filter((p) => !isEqual(p, path));\n\nexport const addPath = (list, path) => [...list, path];\n\nexport const togglePath = (list, path) =>\n\thasPath(list, path) ? removePath(list, path) : addPath(list, path);\n\nexport const flattenItems = (items) =>\n\tflatMap(items, (item) => {\n\t\treturn !isEmpty(item.children) ? item.children : item;\n\t});\n\nexport const filterSelectedItems = (list, selectedItems) => {\n\tlet flatList = list.reduce((acc, listItem) => {\n\t\treturn listItem?.children?.length > 0\n\t\t\t? acc.concat(listItem.children)\n\t\t\t: acc.concat(listItem);\n\t}, []);\n\treturn selectedItems.map((item) => flatList.find((l) => item === l.id));\n};\n\nexport const canRenderDivider = (index, array) => {\n\tconst isLastItem = index === array.length - 1;\n\tif (isLastItem) {\n\t\treturn false;\n\t}\n\n\tconst nextItem = array[index + 1];\n\tconst isNextSectionWithLabel =\n\t\tnextItem.label && Array.isArray(nextItem.children);\n\n\treturn !isNextSectionWithLabel;\n};\n\n/**\n * Adds highlighting to either the label or the sublabel, but not both. If\n * there is a match in the label, we don't want to highlight the sublabel\n */\nexport const highlightLabels = (label, sublabel, searchTerm) => {\n\tconst className = 'has-highlight';\n\n\tconst highlightedLabel = matchSearchTerm(searchTerm, label, className, {\n\t\tlocation: 'first',\n\t});\n\n\t// matchSearchTerm returns the original string if there are no matches,\n\t// otherwise it returns an array\n\tconst highlightedSublabel =\n\t\tsublabel && isString(highlightedLabel)\n\t\t\t? matchSearchTerm(searchTerm, sublabel, className, {location: 'first'})\n\t\t\t: sublabel;\n\n\treturn [highlightedLabel, highlightedSublabel];\n};\n\nexport const getSearchMatches = (items, value, search) => {\n\tif (isEmpty(items)) {\n\t\treturn [];\n\t}\n\n\tif (!value || search === 'managed' || search === 'none') {\n\t\treturn items;\n\t}\n\n\tconst matchesLabel = {};\n\n\treturn (\n\t\titems\n\t\t\t.reduce((result, item) => {\n\t\t\t\tconst children = getSearchMatches(item.children, value, search);\n\t\t\t\tif (children.length) {\n\t\t\t\t\tresult.push({\n\t\t\t\t\t\t...item,\n\t\t\t\t\t\tchildren,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tconst label = item.label ? item.label.toLowerCase() : '';\n\t\t\t\t\tconst sublabel = item.sublabel ? item.sublabel.toLowerCase() : '';\n\t\t\t\t\tconst lowerValue = value.toLowerCase();\n\n\t\t\t\t\tconst method = search === 'contains' ? 'includes' : 'startsWith';\n\n\t\t\t\t\tif (label[method](lowerValue)) {\n\t\t\t\t\t\tmatchesLabel[item.id] = true;\n\t\t\t\t\t\tresult.push(item);\n\t\t\t\t\t} else if (sublabel[method](lowerValue)) {\n\t\t\t\t\t\tmatchesLabel[item.id] = false;\n\t\t\t\t\t\tresult.push(item);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn result;\n\t\t\t}, [])\n\t\t\t// sort the items so that matches on primary label come\n\t\t\t// before matches on sublabel\n\t\t\t.sort((a, b) => matchesLabel[b.id] - matchesLabel[a.id])\n\t);\n};\n\nexport const setActiveItem = (items, selectedItems, updateState) => {\n\tconst flattenedItems = flattenItems(items);\n\tlet defaultActiveItem;\n\tif (Array.isArray(selectedItems) && selectedItems.length) {\n\t\tdefaultActiveItem = flattenedItems.find((item) =>\n\t\t\tselectedItems.includes(item.id),\n\t\t).id;\n\t} else if (Array.isArray(flattenedItems) && flattenedItems.length) {\n\t\tdefaultActiveItem = flattenedItems[0].id;\n\t}\n\tupdateState({activeItem: defaultActiveItem});\n};\n\nexport const getDropdownListConstrain = (constrain) => {\n\treturn transform(constrain, (result, value, key) => {\n\t\tif (key === 'height' || key === 'minHeight' || key === 'maxHeight') {\n\t\t\tresult[key] = isNumber(value) ? `${value}px` : value;\n\t\t}\n\t});\n};\n\n/*\n\tCalculates which aria pattern should be applied to the dropdown\n\tWhen select is set to 'none', apply the \"Menu\" pattern\n\t- https://www.w3.org/WAI/ARIA/apg/patterns/menu/\n\tWhen select is set to 'single' or 'multi', set the \"Listbox\" pattern\n\t- https://www.w3.org/WAI/ARIA/apg/patterns/listbox/\n*/\nexport const calcAriaPattern = (select) => {\n\treturn select === 'none' ? 'menu' : 'listbox';\n};\n\nexport const ariaLiveNoResults = debounce((dispatch) => {\n\tsetTimeout(\n\t\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\tmessage: t('No results found'),\n\t\t\ttype: ariaLivePoliteness.POLITE,\n\t\t}),\n\t\t500,\n\t);\n}, 250);\n\nexport const ariaLiveNumResults = debounce((dispatch, length) => {\n\tsetTimeout(\n\t\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\tmessage: t(`{0} items`, length),\n\t\t\ttype: ariaLivePoliteness.POLITE,\n\t\t}),\n\t\t500,\n\t);\n}, 250);\n\nexport const ariaLiveSectionResults = debounce((dispatch, announcement) => {\n\tsetTimeout(\n\t\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\tmessage: announcement,\n\t\t\ttype: ariaLivePoliteness.ASSERTIVE,\n\t\t}),\n\t\t500,\n\t);\n}, 250);\n","import {\n\tgetListboxEl,\n\tgetItemEls,\n\tgetFocusedItemEl,\n\tgetFocusedItemIndex,\n\tgetSelectedItemEls,\n\tisPanelList,\n} from './elements.js';\nimport {flattenItems} from './helpers.js';\n\n/**\n * Removes focus on a given item.\n * @param {HTMLElement} host\n * @param {HTMLElement} itemEl\n */\nexport const unfocusItem = (host) => {\n\tconst listbox = getListboxEl(host);\n\tlistbox.focus();\n};\n\n/**\n * Focuses the first item (or first selected item) when the dropdown panel is opened.\n * @param {HTMLElement} host\n */\nexport const focusOnOpen = async (host) => {\n\tconst listbox = getListboxEl(host);\n\tlistbox.focus();\n\tconst firstFocusItem = getSelectedItemEls(host)[0] || getItemEls(host)[0];\n\tif (firstFocusItem) {\n\t\tfirstFocusItem.focus();\n\t}\n};\n\n/**\n * Moves focus to previous element (if currently focused) or first element.\n * @param {HTMLElement} host\n */\nexport const focusPreviousItem = (host) => {\n\tconst lastFocusItem = getFocusedItemEl(host);\n\tif (!lastFocusItem || isPanelList(lastFocusItem)) {\n\t\tfocusFirstItem(host);\n\t\treturn;\n\t}\n\tconst lastFocusIndex = getFocusedItemIndex(host);\n\tconst nextFocusItem = getItemEls(host)[lastFocusIndex - 1];\n\tif (nextFocusItem) {\n\t\tnextFocusItem.focus();\n\t}\n};\n\n/**\n * Moves focus to next element (if currently focused) or first element.\n * @param {HTMLElement} host\n */\nexport const focusNextItem = (host) => {\n\tconst lastFocusItem = getFocusedItemEl(host);\n\tif (!lastFocusItem || isPanelList(lastFocusItem)) {\n\t\tfocusFirstItem(host);\n\t\treturn;\n\t}\n\tconst lastFocusIndex = getFocusedItemIndex(host);\n\tconst nextFocusItem = getItemEls(host)[lastFocusIndex + 1];\n\tif (nextFocusItem) {\n\t\tnextFocusItem.focus();\n\t}\n};\n\n/**\n * Focuses the first item in the dropdown panel.\n * @param {HTMLElement} host\n */\nexport const focusFirstItem = (host) => {\n\tconst nextFocusItem = getItemEls(host)[0];\n\tif (nextFocusItem) {\n\t\tnextFocusItem.focus();\n\t}\n};\n\n/**\n * Focuses the last item in the dropdown panel.\n * @param {HTMLElement} host\n */\nexport const focusLastItem = (host) => {\n\tconst nextFocusItem = getItemEls(host).slice(-1)[0];\n\tif (nextFocusItem) {\n\t\tnextFocusItem.focus();\n\t}\n};\n\n/**\n * TODO: Hacks/workaround for a Safari + VoiceOver bug. When updating the\n * input's `aria-activedescendant` asynchronously (which happens all the time\n * because Seismic renders asynchronously), VO will read the previously focused\n * item rather than the current focused item. As a workaround, we can update\n * `aria-activedescendant` synchronously outside of a Seismic render, which\n * causes VO to work correctly. This shouldn't impact anything else because\n * Seismic is going to re-render with the correct attributes anyway.\n *\n * To test to see if we can get rid of this: remove this function, open up the\n * typeahead panel, and arrow through the results. VoiceOver should announce\n * the currently focused item in the list.\n */\nexport const updateActiveDescendant = (input, activeDescendant) => {\n\tif (input) {\n\t\tinput.setAttribute('aria-activedescendant', activeDescendant);\n\t}\n};\n\nexport function doesKeyChangeActive(key, search) {\n\tconst jumpToMatchingLetter = search === 'none' && key.length === 1;\n\tconst moveActive = ['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(key);\n\treturn jumpToMatchingLetter || moveActive;\n}\n\nexport function getRelativeItem(flattenedItems, activeItem, delta, shouldLoop) {\n\tconst lastActiveIndex = flattenedItems.findIndex(\n\t\t(item) => item.id === activeItem,\n\t);\n\tlet nextIndex;\n\tif (shouldLoop && lastActiveIndex === flattenedItems.length - 1) {\n\t\tnextIndex = 0;\n\t} else {\n\t\tnextIndex = Math.min(\n\t\t\tMath.max(lastActiveIndex + delta, 0),\n\t\t\tflattenedItems.length - 1,\n\t\t);\n\t}\n\treturn flattenedItems[nextIndex];\n}\n\nexport function getItemForKeypress(items, activeItem, key) {\n\tconst flattenedItems = flattenItems(items);\n\n\tif (key === 'ArrowDown') {\n\t\treturn getRelativeItem(flattenedItems, activeItem, +1);\n\t}\n\tif (key === 'ArrowUp') return getRelativeItem(flattenedItems, activeItem, -1);\n\tif (key === 'Home') return flattenedItems[0];\n\tif (key === 'End') return flattenedItems[flattenedItems.length - 1];\n\n\tif (key) {\n\t\tconst filteredItems = flattenedItems.filter((item) => {\n\t\t\treturn item.label.toLowerCase().startsWith(key.toLowerCase());\n\t\t});\n\t\treturn getRelativeItem(filteredItems, activeItem, +1, true);\n\t}\n}\n","const avatarSchema = {\n\ttype: 'object',\n\tproperties: {\n\t\tuserName: {type: 'string'},\n\t\timageSrc: {type: 'string'},\n\t\ticon: {type: 'string'},\n\t\tpresence: {type: 'string', enum: ['available', 'away', 'busy', 'offline']},\n\t\tconfigAria: {type: 'object'},\n\t},\n};\n\nconst iconSchema = {\n\ttype: 'object',\n\tproperties: {\n\t\ticon: {type: 'string'},\n\t\tlabel: {type: 'string'},\n\t},\n};\n\nconst imageSchema = {\n\ttype: 'object',\n\tproperties: {\n\t\tsrc: {type: 'string'},\n\t\talt: {type: 'string'},\n\t},\n};\n\nexport const itemSchema = {\n\tname: 'Single Item',\n\ttype: 'object',\n\tproperties: {\n\t\tid: {type: ['string', 'number']},\n\t\tlabel: {type: 'string', translatable: true},\n\t\tsublabel: {type: 'string', translatable: true},\n\t\tariaLabel: {type: 'string'},\n\t\tcount: {type: 'number'},\n\t\ticon: {oneOf: [iconSchema, {type: 'string'}]},\n\t\tsupplementalIcon: iconSchema,\n\t\tpresence: {type: 'string', enum: ['available', 'away', 'busy', 'offline']},\n\t\tdisabled: {type: 'boolean'},\n\t\tavatarProps: avatarSchema,\n\t\timage: imageSchema,\n\t},\n\tdependencies: {\n\t\tavatarProps: {\n\t\t\tproperties: {\n\t\t\t\ticon: false,\n\t\t\t\tpresence: false,\n\t\t\t\timage: false,\n\t\t\t},\n\t\t},\n\t\ticon: {\n\t\t\tproperties: {\n\t\t\t\tavatarProps: false,\n\t\t\t\tpresence: false,\n\t\t\t\timage: false,\n\t\t\t},\n\t\t},\n\t\tpresence: {\n\t\t\tproperties: {\n\t\t\t\ticon: false,\n\t\t\t\tavatarProps: false,\n\t\t\t\timage: false,\n\t\t\t},\n\t\t},\n\t\timage: {\n\t\t\tproperties: {\n\t\t\t\tavatarProps: false,\n\t\t\t\ticon: false,\n\t\t\t\tpresence: false,\n\t\t\t},\n\t\t},\n\t},\n\trequired: ['id', 'label'],\n};\n\nconst sectionSchema = {\n\tname: 'Header with Child Items',\n\ttype: 'object',\n\tproperties: {\n\t\tid: {type: ['string', 'number']},\n\t\tlabel: {type: 'string', translatable: true},\n\t\tchildren: {type: 'array', items: itemSchema},\n\t\tariaLabel: {type: 'string'},\n\t},\n\trequired: ['children'],\n};\n\nexport const itemsSchema = {\n\ttype: 'array',\n\titems: {\n\t\tanyOf: [itemSchema, sectionSchema],\n\t},\n};\n\n// similar to popover constrain, but can't use `target` for any of the height\n// related properties\nexport const constrainSchema = {\n\ttype: 'object',\n\tproperties: {\n\t\twidth: {oneOf: [{const: 'target'}, {type: 'number'}]},\n\t\tminWidth: {oneOf: [{const: 'target'}, {type: 'number'}]},\n\t\tmaxWidth: {oneOf: [{const: 'target'}, {type: 'number'}]},\n\t\theight: {type: 'number'},\n\t\tminHeight: {type: 'number'},\n\t\tmaxHeight: {type: 'number'},\n\t},\n\tadditionalProperties: false,\n};\n","const BEHAVIOR_NAME = 'screenReader';\nimport {actionTypes} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport unset from 'lodash/unset';\nimport get from 'lodash/get';\nimport set from 'lodash/set';\n\nconst {\n\tCOMPONENT_RENDERED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DISCONNECTED,\n} = actionTypes;\n\n/**\n * Modifies a view function so that the resulting VDOM is patched in a way that\n * is less likely to break when rendered in a different shadowRoot\n *\n * - removes all IDs unless the node explicitly sets `screenReaderBehaviorId` attribute\n * - strips out all classes (since the containing node should be visually\n *   hidden)\n * - injects a `isScreenReaderBehaviorRender` property that the view can use\n *   to conditionally render things for the screen reader\n *\n * @param view {Function} a Seismic render function to decorate\n * @param id {string} a unique ID for the component instance that is used\n * as a prefix for any existing IDs in the original vdom tree\n *\n * @returns {Function} a new view function that can be passed to snabbdom.onStateChange\n */\nconst updateViewForScreenReader = (view, id) => (state, helpers) => {\n\tfunction mutateNode(node) {\n\t\tif (!node) {\n\t\t\treturn;\n\t\t}\n\n\t\tunset(node, 'data.class');\n\t\tunset(node, 'data.props.className');\n\n\t\t// `id` is a prop and an attribute? :shrug:\n\t\tunset(node, 'data.props.id', id);\n\t\tunset(node, 'data.attrs.id', id);\n\n\t\tconst idSuffix =\n\t\t\tget(node, 'data.props.screenReaderBehaviorId') ||\n\t\t\tget(node, 'data.props.screen-reader-behavior-id');\n\t\tif (idSuffix) {\n\t\t\tconst newId = `${id}-${idSuffix}`;\n\t\t\tset(node, 'data.attrs.id', newId);\n\t\t\tset(node, 'data.props.id', newId);\n\t\t\tunset(node, 'data.props.screenReaderBehaviorId');\n\t\t\tunset(node, 'data.props.screen-reader-behavior-id');\n\t\t}\n\n\t\tif (Array.isArray(node.children)) {\n\t\t\tnode.children.forEach((child, index) => {\n\t\t\t\tnode.children[index] = mutateNode(child);\n\t\t\t});\n\t\t}\n\n\t\treturn node;\n\t}\n\n\tconst vdom = view(\n\t\t{\n\t\t\t...state,\n\t\t\tproperties: {\n\t\t\t\t...state.properties,\n\t\t\t\tisScreenReaderBehaviorRender: true,\n\t\t\t},\n\t\t},\n\t\thelpers,\n\t);\n\treturn mutateNode(vdom);\n};\n\n/**\n * Finds or creates a dynamically created target node.\n *\n * @param rootNode {Node} the node that will contain the target.\n * @param id {string} unique ID for the target node.\n *\n * @returns {HTMLElement} If we've already created a DOM node for the given\n * rootNode, this method will find and return that. If a created DOM node\n * cannot be found, one will be created, appended to the rootNode, and\n * returned.\n */\nfunction getDynamicallyCreatedTarget(rootNode, id) {\n\tconst containerId = `${BEHAVIOR_NAME}-behavior-${id}`;\n\tconst existingNode = rootNode.querySelector(`#${containerId}`);\n\n\tif (existingNode) {\n\t\treturn existingNode;\n\t}\n\n\tconst newNode = document.createElement('div');\n\tnewNode.id = containerId;\n\n\t// stolen from now-a11y-label mixin. Need explicit styles because\n\t// we might be in somebody else's shadowRoot\n\tnewNode.style =\n\t\t'position: absolute; overflow: hidden; width: 1px; height: 1px; margin: 0; border: none; padding: 0; white-space: nowrap; clip: rect(0 0 0 0); clip-path: inset(50%);';\n\n\trootNode.appendChild(newNode);\n\n\treturn newNode;\n}\n\nfunction isCustomElement(node) {\n\treturn node && node.shadowRoot && node.tagName.includes('-');\n}\n\n/**\n * Finds or creates a DOM node that we can put the screen reader content into.\n *\n * @param host {HTMLElement} The host node that is using the behavior.\n * @param id {string} unique ID for the instance of the component. When a\n * target node needs to be dynamically created, this ID is used for that\n * node.\n * @param selector {string?} If provided, used as a querySelector string\n * relative to the host's parent element to search for an existing target node.\n * If not provided, a target node is dynamically created and appended as a\n * sibling of the host. If the selector string resolves to a child Seismic\n * component, the target node will be dynamically created in that child's\n * shadowRoot.\n *\n * @returns {{node: HTMLElement?, created: boolean}} The DOM node to use to\n * append screen reader content, and whether or not that node was dynamically\n * created. `node` be null if a selector was provided that did not match\n * anything.\n */\nfunction getRenderTarget(host, id, selector) {\n\tlet parentRoot = host.getRootNode();\n\n\tif (parentRoot === document) {\n\t\tparentRoot = document.body;\n\t}\n\n\t// use a dynamically created DOM node that is appended to the parent's\n\t// shadowRoot\n\tif (!selector) {\n\t\treturn {\n\t\t\tnode: getDynamicallyCreatedTarget(parentRoot, id),\n\t\t\tcreated: true,\n\t\t};\n\t}\n\n\tconst target = parentRoot.querySelector(selector);\n\n\t// if we selected a child component, use a dynamically created DOM node that\n\t// is appended to that child's shadowRoot\n\tif (isCustomElement(target)) {\n\t\treturn {\n\t\t\tnode: getDynamicallyCreatedTarget(target.shadowRoot, id),\n\t\t\tcreated: true,\n\t\t};\n\t}\n\n\treturn {\n\t\tnode: target,\n\t\tcreated: false,\n\t};\n}\n\n/**\n * Removes screen reader content and any dynamically created container node.\n *\n * @param node {HTMLElement?} The node that contains screen reader content\n * @param created {boolean} Whether nor not this node was dynamically created by the behavior\n */\nfunction unmount(node, created) {\n\tif (!node) {\n\t\treturn;\n\t}\n\n\t// If this behavior created the node, then it's safe to remove the entire\n\t// node.\n\tif (created) {\n\t\tnode.remove();\n\t} else {\n\t\t// Otherwise we just want to clear out its children. This still goes\n\t\t// through `onStateChange` so that function can do some additional cleanup.\n\t\tsnabbdom.onStateChange(node, () => null);\n\t}\n}\n\n/**\n * This behavior allows a component to define screen-reader content that can be\n * injected into different components' shadowRoots. Many aria attributes, such\n * as `aria-describedby`, require referencing DOM nodes via ID. These IDs must\n * exist within the same shadowRoot boundary as the aria attribute. This can\n * make it challenging to compose smaller components in a way that is supported\n * by a screen-reader, because often 2 different components are encapsulating\n * different DOM nodes that need to reference each other.\n *\n * Further reading: https://github.com/whatwg/html/issues/3219\n *\n * Usage, defining screen-reader content:\n *\n * After installation import the behavior at the top of your component JS file\n * and register it in your component behaviors list.\n *\n * There is 1 required option, `screenReaderView`, which is a view function that\n * should return screen-reader content. The view function is called with the same\n * parameters that the normal Seismic view function is provided:\n *\n * `(state, { dispatch, updateProperties, updateState })`\n *\n * The `screenReaderView` function should return an accessible DOM tree,\n * including nodes with IDs that other components can reference. These IDs are\n * part of the public API and **must never change**. Doing so will make your\n * component backwards-incompatible.\n *\n * ```jsx\n * import screenReaderBehavior from '@servicenow/behavior-screen-reader';\n *\n * createCustomElement('my-component', {\n *   // ...\n *   behaviors: [\n *\t\t{\n *\t\t\tbehavior: screenReaderBehavior,\n *\t\t\toptions: {\n *\t\t\t\tscreenReaderView: (state, { dispatch, updateProperties, updateState }) => (\n *\t\t\t\t\t<ul role=\"listbox\" id=\"listbox\">\n *\t\t\t\t\t\t<li role=\"option\" id=\"option-1\">Option 1</li>\n *\t\t\t\t\t\t<li role=\"option\" id=\"option-2\">Option 2</li>\n *\t\t\t\t\t</ul>\n *\t\t\t\t)\n *\t\t\t}\n *\t\t}\n *\t]\n * });\n * ```\n *\n * Usage, consuming screen-reader content:\n *\n * Once you have a component that defines screen-reader content, a consuming\n * parent component can add the following properties to decide where to render\n * that content:\n *\n *\t- `screen-reader-id` (string, required): This is a unique ID to identify\n *\tthe screen-reader content. All IDs defined by the producing component will\n *\tbe prefixed with this string, which helps to ensure there are no ID\n *\tcollisions when the content is rendered in a different shadowRoot. The\n *\tvalue of this property should include a componentId (or similar uuid) to\n *\tensure uniqueness of this value.\n *\n *\t- `screen-reader-inject-into` (string, optional): A selector string that\n *\tinstructs the behavior where to render the screen-reader content. If not\n *\tprovided, the screen-reader content will be appended to the consuming\n *\tcomponent's shadowRoot, and styled in a way that has no visual impact on\n *\tthe component. If the selector returns a child node that is another Seismic\n *\tcomponent, the screen-reader content will be appended to that child's\n *\tshadowRoot. If the selector returns any other DOM node, the screen-reader\n *\tcontent will be rendered into that node, replacing all existing children of\n *\tthat node. In this case, it is the consumer's responsibility to ensure that\n *\tthis node is styled in a way that visually hides the content.\n *\n * Now that the consuming component has defined the ID prefix and location of the\n * screen-reader content, aria attributes can be provided to the necessary nodes\n * in order to link it all together.\n *\n * Any time the producing component is rendered, the screen-reader content will\n * be updated to match. This ensures that both the visual content and screen-reader\n * content are kept in sync.\n *\n * Check out the examples for a complete usage sample.\n *\n * @seismicBehavior screenReaderBehavior\n * @summary Provides a way to define screen-reader content that can be used in\n * different shadowRoots\n */\nexport default {\n\tname: BEHAVIOR_NAME,\n\tproperties: {\n\t\tscreenReaderInjectInto: {},\n\t\tscreenReaderId: {},\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: ({action, host}) => {\n\t\t\tif (action.payload.options.screenReaderView) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (process.env.NODE_ENV === 'development') {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.warn(\n\t\t\t\t\t`[@servicenow/behavior-screen-reader <${host.tagName.toLowerCase()} component-id=\"${\n\t\t\t\t\t\taction.meta.id\n\t\t\t\t\t}\">]: tried to use the ${BEHAVIOR_NAME} behavior but did not provide required \\`screenReaderView\\` function :(`,\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_RENDERED]: ({\n\t\t\taction,\n\t\t\thost,\n\t\t\tstate,\n\t\t\tproperties,\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\tupdateProperties,\n\t\t}) => {\n\t\t\tconst {screenReaderInjectInto: selector, screenReaderId: id} = properties;\n\t\t\tconst {screenReaderView} = action.payload.options;\n\n\t\t\tif (!screenReaderView || !id || !host.isConnected) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst {node, created} = getRenderTarget(host, id, selector);\n\n\t\t\tif (!node) {\n\t\t\t\t/* eslint-disable-next-line no-console */\n\t\t\t\tconsole.error(\n\t\t\t\t\t`[@servicenow/behavior-screen-reader <${host.tagName.toLowerCase()} component-id=\"${\n\t\t\t\t\t\taction.meta.id\n\t\t\t\t\t}\">]: Could not locate target DOM node \"${selector}\" to append screen-reader content. Verify that this node exists in the shadowRoot.`,\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// This is kinda ugly. Ideally we'd like to not keep DOM references in\n\t\t\t// state and instead query for them when we need them. However, this\n\t\t\t// doesn't work all the time because this behavior tries to query for\n\t\t\t// nodes relative to the host's parent element. When this element\n\t\t\t// disconnects, it can no longer traverse up to its parent to do any\n\t\t\t// cleanup. So, back to shoving DOM nodes in state :sob:\n\t\t\tupdateState(({state}) => {\n\t\t\t\tconst prevState = state.behaviors[BEHAVIOR_NAME];\n\t\t\t\tif (prevState.node !== node) {\n\t\t\t\t\tunmount(prevState.node, prevState.created);\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\toperation: 'assign',\n\t\t\t\t\tpath: `behaviors.${BEHAVIOR_NAME}`,\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\tnode,\n\t\t\t\t\t\tcreated,\n\t\t\t\t\t},\n\t\t\t\t\tshouldRender: false,\n\t\t\t\t};\n\t\t\t});\n\n\t\t\tsnabbdom.onStateChange(\n\t\t\t\tnode,\n\t\t\t\tupdateViewForScreenReader(screenReaderView, id),\n\t\t\t\tstate,\n\t\t\t\t{\n\t\t\t\t\tdispatch,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tupdateProperties,\n\t\t\t\t},\n\t\t\t);\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({action, state}) => {\n\t\t\tconst {name, value} = action.payload;\n\n\t\t\t// allow consumer to tear down screen reader view without disconnecting\n\t\t\t// the component by setting screen-reader-id to falsey\n\t\t\tif (name === 'screenReaderId' && !value) {\n\t\t\t\tconst {node, created} = state.behaviors[BEHAVIOR_NAME];\n\t\t\t\tunmount(node, created);\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: ({state}) => {\n\t\t\tconst {node, created} = state.behaviors[BEHAVIOR_NAME];\n\t\t\tunmount(node, created);\n\t\t},\n\t},\n};\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_now-dropdown-list.scss';\nimport {\n\thighlightLabels,\n\tcanRenderDivider,\n\ttogglePath,\n\tgetSearchMatches,\n\tflattenItems,\n\tfilterSelectedItems,\n\tcalcAriaPattern,\n\tariaLiveNoResults,\n\tariaLiveNumResults,\n\tariaLiveSectionResults,\n} from './utils/helpers';\nimport {\n\tdoesKeyChangeActive,\n\tgetItemForKeypress,\n\tupdateActiveDescendant,\n} from './utils/focus.js';\nimport {t} from 'sn-translate';\nimport '@servicenow/now-icon';\nimport {localizePresence} from '@servicenow/now-icon';\nimport '@servicenow/now-avatar';\nimport {itemsSchema} from './schemas/dropdown-list-schema';\nimport screenReaderBehavior from './behavior-screen-reader';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {filterAriaAttributes} from '@servicenow/library-enhanced-utils';\nimport {configAriaSchema} from '@servicenow/library-schemas';\nimport debounce from 'lodash/debounce';\nconst {COMPONENT_PROPERTY_CHANGED, COMPONENT_RENDERED} = actionTypes;\n\nconst debounceDispatch = debounce((fn) => fn(), 250);\nconst ARROW_KEYS = ['ArrowDown', 'End', 'Home', 'ArrowUp'];\n\nconst handleNextItem = (host, properties, key, dispatch) => {\n\tconst {search, items, searchTerm, activeItem} = properties;\n\tconst filteredItems = getSearchMatches(items, searchTerm, search);\n\tconst nextActiveItem = getItemForKeypress(filteredItems, activeItem, key);\n\tif (!nextActiveItem) return;\n\tif (search !== 'none') {\n\t\tconst input = host.nowRootNode.querySelector(\n\t\t\t'.now-dropdown-list-search-field',\n\t\t);\n\n\t\t// TODO: Hacks/workaround for Safari + VoiceOver. See comment in\n\t\t// function definition. This is also kind of weird because\n\t\t// dropdown-list accepts activeItem as a prop, so there's a\n\t\t// chance that this gets out of sync with the property value. But\n\t\t// we don't run into this with our current usage of dropdown-list\n\t\t// in select + typeahead + typeahead-multi.\n\t\tupdateActiveDescendant(input, nextActiveItem.id);\n\t}\n\n\tdispatch(() => {\n\t\treturn {\n\t\t\ttype: 'NOW_DROPDOWN_LIST#ACTIVE_ITEM_SET',\n\t\t\tpayload: {value: nextActiveItem.id},\n\t\t};\n\t});\n};\n\nconst handleItemClick = (item, select, dispatch) => {\n\tdispatch(() => {\n\t\treturn {\n\t\t\ttype: 'NOW_DROPDOWN_LIST#ITEM_CLICKED',\n\t\t\tpayload: {item},\n\t\t};\n\t});\n\tif (select === 'single' || select === 'multi') {\n\t\tdispatch(({properties}) => {\n\t\t\tconst filteredItemIds = togglePath(properties.selectedItems, item.id);\n\t\t\treturn {\n\t\t\t\ttype: 'NOW_DROPDOWN_LIST#SELECTED_ITEMS_SET',\n\t\t\t\tpayload: {\n\t\t\t\t\tvalue: properties.select === 'multi' ? filteredItemIds : [item.id],\n\t\t\t\t\titems:\n\t\t\t\t\t\tproperties.select === 'multi'\n\t\t\t\t\t\t\t? filterSelectedItems(properties.items, filteredItemIds)\n\t\t\t\t\t\t\t: [item],\n\t\t\t\t},\n\t\t\t};\n\t\t});\n\t}\n};\n\n/**\n * Returns the id of the active item in the menu, if present.\n *\n * If screen reader behavior is enabled, the id is transformed\n * using the screen reader id.\n * @returns {string}\n */\nconst getActiveDescendant = (\n\tactiveItem,\n\tisScreenReaderBehaviorRender,\n\tscreenReaderId,\n) => {\n\tif (activeItem === null || activeItem === undefined) return;\n\n\treturn isScreenReaderBehaviorRender\n\t\t? `${screenReaderId}-option-${activeItem}`\n\t\t: activeItem;\n};\n\n/**\n * Returns the id of the menu container.\n *\n * If screen reader behavior is enabled, the id is transformed\n * using the screen reader id.\n * @returns {string}\n */\nconst getListId = (\n\tnowId,\n\tisScreenReaderBehaviorRender,\n\tscreenReaderId,\n\tsuffix,\n) => {\n\treturn isScreenReaderBehaviorRender\n\t\t? `${screenReaderId}-${suffix}`\n\t\t: `${nowId}-item-container`;\n};\n\n/**\n * Workaround for this webkit bug:\n * https://bugs.webkit.org/show_bug.cgi?id=209975\n *\n * Allows Safari + VO to correctly announce activedescendant items when using\n * ArrowUp/ArrowDown to focus different items in the listbox. This needs to be\n * called both when the input first receives focus and on any input event. The\n * setTimeout() is also important, as nothing works without it. Safari likes to\n * be tricksy sometimes :) -- I honestly have no idea why but it works :shrug:\n *\n * To test this:\n * 1. Focus in the input field and use arrow keys to change the\n *    aria-activedescendant value.\n * 2. Type a value into the input field, then use arrow keys to change the\n *    aria-activedescendant value\n *\n * In both cases Safari + VO should announce the active items as they are changed.\n */\nconst fixListboxForVoiceOver = (event, menuOrListbox) => {\n\tconst root = event.target.getRootNode();\n\tconst listbox = root.querySelector('.now-dropdown-list-item-container');\n\tlistbox.removeAttribute('role');\n\tsetTimeout(() => {\n\t\tlistbox.setAttribute('role', menuOrListbox);\n\t}, 50);\n};\n\nconst renderCheckmark = (selected, select, hideCheckmark, size) => {\n\tif (hideCheckmark || select === 'none') {\n\t\treturn;\n\t}\n\tif (selected) {\n\t\treturn (\n\t\t\t<now-icon\n\t\t\t\tclassName=\"now-dropdown-list-checkmark\"\n\t\t\t\ticon=\"check-fill\"\n\t\t\t\tsize={size}\n\t\t\t/>\n\t\t);\n\t}\n\treturn <div className=\"now-dropdown-list-checkmark\" />;\n};\n\nconst renderIdentifier = (\n\ticon,\n\tpresence,\n\tavatarProps,\n\timage,\n\tselected,\n\tsize,\n) => {\n\tif (presence) {\n\t\treturn (\n\t\t\t<now-icon-presence\n\t\t\t\tclass={{\n\t\t\t\t\t'now-dropdown-list-identifier': true,\n\t\t\t\t\t'now-m-inline-end--sm': size === 'md',\n\t\t\t\t\t'now-m-inline-end--xs': size === 'sm',\n\t\t\t\t}}\n\t\t\t\tpresence={presence}\n\t\t\t\tsize={size}\n\t\t\t/>\n\t\t);\n\t} else if (icon) {\n\t\tlet iconVal, iconLabel;\n\t\tlet isObject = false;\n\t\tif (typeof icon === 'object') {\n\t\t\ticonVal = icon?.icon;\n\t\t\ticonLabel = icon?.label;\n\t\t\tisObject = true;\n\t\t} else {\n\t\t\ticonVal = icon;\n\t\t}\n\t\treturn (\n\t\t\t<now-icon\n\t\t\t\tclass={{\n\t\t\t\t\t'now-dropdown-list-identifier': true,\n\t\t\t\t\t'now-m-inline-end--sm': size === 'md',\n\t\t\t\t\t'now-m-inline-end--xs': size === 'sm',\n\t\t\t\t}}\n\t\t\t\ticon={\n\t\t\t\t\tselected\n\t\t\t\t\t\t? iconVal.replace('outline', 'fill')\n\t\t\t\t\t\t: iconVal.replace('fill', 'outline')\n\t\t\t\t}\n\t\t\t\tsize={size}\n\t\t\t\tconfigAria={isObject ? {icon: {'aria-label': iconLabel}} : undefined}\n\t\t\t/>\n\t\t);\n\t} else if (avatarProps) {\n\t\tconst avatarSize = {sm: 'xs', md: 'sm'};\n\t\tlet configAria = {avatar: {'aria-hidden': 'true'}};\n\t\tif (avatarProps.configAria) {\n\t\t\tconfigAria = avatarProps.configAria;\n\t\t} else if (avatarProps.presence) {\n\t\t\tconfigAria = {\n\t\t\t\tavatar: {'aria-label': localizePresence(avatarProps.presence)},\n\t\t\t};\n\t\t}\n\t\treturn (\n\t\t\t<now-avatar\n\t\t\t\tclass={{\n\t\t\t\t\t'now-dropdown-list-identifier': true,\n\t\t\t\t\t'now-m-inline-end--sm': size === 'md',\n\t\t\t\t\t'now-m-inline-end--xs': size === 'sm',\n\t\t\t\t}}\n\t\t\t\tuser-name={avatarProps.userName}\n\t\t\t\timage-src={avatarProps.imageSrc}\n\t\t\t\ticon={avatarProps.icon}\n\t\t\t\tpresence={avatarProps.presence}\n\t\t\t\tsize={avatarSize[size]}\n\t\t\t\tconfig-aria={configAria}\n\t\t\t\thide-tooltip\n\t\t\t/>\n\t\t);\n\t} else if (image) {\n\t\treturn (\n\t\t\t<img\n\t\t\t\tclassName=\"now-dropdown-list-item-img\"\n\t\t\t\tsrc={image.src}\n\t\t\t\talt={image.alt || ''}\n\t\t\t\ton-error={(e) => {\n\t\t\t\t\te.target.style.visibility = 'hidden';\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t}\n\treturn undefined;\n};\n\nconst renderLabel = (\n\trawLabel,\n\thighlightedLabel,\n\tcount,\n\tsublabel,\n\tsupplementalIcon,\n\tsize,\n) => {\n\treturn (\n\t\t<div className=\"now-dropdown-list-label\">\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'now-dropdown-list-label-highlighted': true,\n\t\t\t\t\t'now-line-height-crop': !sublabel,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div>{highlightedLabel}</div>\n\t\t\t</div>\n\t\t\t{count ? (\n\t\t\t\t<div class={{'now-line-height-crop': !sublabel}}>&nbsp;({count})</div>\n\t\t\t) : undefined}\n\t\t\t{supplementalIcon ? (\n\t\t\t\t<now-icon\n\t\t\t\t\tclassName=\"now-m-inline-start--xs\"\n\t\t\t\t\ticon={supplementalIcon.icon}\n\t\t\t\t\tsize={size}\n\t\t\t\t\tconfigAria={{icon: {'aria-label': supplementalIcon.label}}}\n\t\t\t\t/>\n\t\t\t) : undefined}\n\t\t</div>\n\t);\n};\n\nconst renderLabels = (\n\tlabel,\n\tsublabel,\n\tcount,\n\tsearchTerm,\n\tsupplementalIcon,\n\tsize,\n) => {\n\tconst [highlightedLabel, highlightedSublabel] = highlightLabels(\n\t\tlabel,\n\t\tsublabel,\n\t\tsearchTerm,\n\t);\n\n\treturn (\n\t\t<div className=\"now-dropdown-list-labels\">\n\t\t\t{renderLabel(\n\t\t\t\tlabel,\n\t\t\t\thighlightedLabel,\n\t\t\t\tcount,\n\t\t\t\tsublabel,\n\t\t\t\tsupplementalIcon,\n\t\t\t\tsize,\n\t\t\t)}\n\t\t\t{sublabel ? (\n\t\t\t\t<div className=\"now-dropdown-list-sublabel\">{highlightedSublabel}</div>\n\t\t\t) : undefined}\n\t\t</div>\n\t);\n};\n\nconst renderHeader = (item, id) =>\n\titem.label ? (\n\t\t<div\n\t\t\tid={id}\n\t\t\tclassName=\"now-dropdown-list-header\"\n\t\t\ton-mousedown={(e) => e.preventDefault()}\n\t\t>\n\t\t\t<div className=\"now-line-height-crop\">{item.label}</div>\n\t\t</div>\n\t) : undefined;\n\nconst renderDivider = (index, array, menuOrListbox) =>\n\tcanRenderDivider(index, array) ? (\n\t\t<hr\n\t\t\tclassName=\"now-dropdown-list-divider\"\n\t\t\trole={menuOrListbox === 'menu' ? 'separator' : 'presentation'}\n\t\t\taria-orientation={menuOrListbox === 'menu' ? 'horizontal' : undefined}\n\t\t/>\n\t) : undefined;\n\nconst renderDropdownListItem = ({\n\tlabel,\n\tsublabel,\n\tselected,\n\tselect,\n\tonClick,\n\tid,\n\ticon,\n\tsupplementalIcon,\n\timage,\n\tpresence,\n\tavatarProps,\n\tcount,\n\tdisabled,\n\tsearchTerm,\n\thideCheckmark,\n\tsetSize,\n\tposition,\n\tdispatch,\n\tsearch,\n\tmenuOrListbox,\n\titemElement,\n\tsize,\n\tactiveItem,\n\tlastCursorPos,\n\tfromMouseWheel,\n\tupdateState,\n}) => {\n\tconst ListItem = itemElement ? itemElement : 'div';\n\treturn (\n\t\t<ListItem\n\t\t\tid={id}\n\t\t\tkey={id}\n\t\t\tscreen-reader-behavior-id={`option-${id}`}\n\t\t\tclass={{\n\t\t\t\t'now-dropdown-list-item': true,\n\t\t\t\t'is-disabled': disabled,\n\t\t\t\t'is-selected': selected,\n\t\t\t\t'is-focused': id == activeItem,\n\t\t\t\t'is-multi-line': sublabel,\n\t\t\t\t'is-select-none': select === 'none',\n\t\t\t\t[`-${size}`]: size,\n\t\t\t}}\n\t\t\ton-mouseover={(e) => {\n\t\t\t\tconst id = e.currentTarget.id;\n\t\t\t\tif (fromMouseWheel) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpath: 'fromMouseWheel',\n\t\t\t\t\t\tvalue: false,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false,\n\t\t\t\t\t});\n\t\t\t\t\tdispatch(() => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttype: 'NOW_DROPDOWN_LIST#ACTIVE_ITEM_SET',\n\t\t\t\t\t\t\tpayload: {value: id},\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}}\n\t\t\ton-mousemove={(e) => {\n\t\t\t\tconst id = e.currentTarget.id;\n\t\t\t\tconst currentCursorPos = {x: e.clientX, y: e.clientY};\n\t\t\t\tconst cursorMoved =\n\t\t\t\t\tcurrentCursorPos.x !== lastCursorPos.x ||\n\t\t\t\t\tcurrentCursorPos.y !== lastCursorPos.y;\n\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'lastCursorPos',\n\t\t\t\t\tvalue: currentCursorPos,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false,\n\t\t\t\t});\n\t\t\t\tif (cursorMoved && activeItem != id) {\n\t\t\t\t\tdispatch(() => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttype: 'NOW_DROPDOWN_LIST#ACTIVE_ITEM_SET',\n\t\t\t\t\t\t\tpayload: {value: id},\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}}\n\t\t\ton-mousedown={\n\t\t\t\tdisabled || search !== 'none' ? (e) => e.preventDefault() : undefined\n\t\t\t}\n\t\t\ton-mouseleave={(e) => {\n\t\t\t\tconst currentCursorPos = {x: e.clientX, y: e.clientY};\n\t\t\t\tupdateState({lastCursorPos: currentCursorPos});\n\t\t\t}}\n\t\t\ton-click={disabled ? undefined : onClick}\n\t\t\trole={menuOrListbox === 'menu' ? 'menuitem' : 'option'}\n\t\t\taria-selected={\n\t\t\t\tmenuOrListbox === 'menu' ? undefined : selected ? 'true' : 'false'\n\t\t\t}\n\t\t\taria-setsize={String(setSize)}\n\t\t\taria-posinset={String(position)}\n\t\t\taria-disabled={disabled ? 'true' : undefined}\n\t\t>\n\t\t\t{renderCheckmark(selected, select, hideCheckmark, size)}\n\t\t\t{renderIdentifier(icon, presence, avatarProps, image, selected, size)}\n\t\t\t{renderLabels(label, sublabel, count, searchTerm, supplementalIcon, size)}\n\t\t</ListItem>\n\t);\n};\n\nconst ariaAnnouncements = (\n\tfilteredItems,\n\titems,\n\tdispatch,\n\tupdateState,\n\tvalue,\n) => {\n\tlet announcements = [],\n\t\tuncategorizedCount = 0,\n\t\thasChildren = false,\n\t\tchildCount = 0,\n\t\ttotalItems = 0,\n\t\tannouncementMessage = '';\n\tif (filteredItems.length === 0) {\n\t\tariaLiveNoResults(dispatch);\n\t} else {\n\t\tfilteredItems.forEach((item) => {\n\t\t\tlet getSectionHeader = item.ariaLabel || item.label || t('uncategorized');\n\t\t\tif (item.children) {\n\t\t\t\thasChildren = true;\n\t\t\t\tchildCount = item.children.length;\n\t\t\t\t//if the dropdown list has a list of items with children, announce the number of items with the section headers\n\t\t\t\tannouncementMessage = t(\n\t\t\t\t\t{\n\t\t\t\t\t\tcode: 'now-dropdown-search-labels',\n\t\t\t\t\t\tmessage: '{childCount} items in {sectionHeader}',\n\t\t\t\t\t\tcomment:\n\t\t\t\t\t\t\t'ARIA message for screenreader users telling them the number of child items in a group with header of sectionHeader',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tchildCount: childCount,\n\t\t\t\t\t\tsectionHeader: getSectionHeader,\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t\tannouncements.push(announcementMessage);\n\t\t\t\ttotalItems += item.children.length;\n\t\t\t} else {\n\t\t\t\tuncategorizedCount += 1; // Count uncategorized items\n\t\t\t\ttotalItems++;\n\t\t\t}\n\t\t});\n\n\t\t//if the user has removed all the text, go back to announcing the number of items\n\t\tif (filteredItems.length === items.length && !value) {\n\t\t\tariaLiveNumResults(dispatch, totalItems);\n\t\t}\n\n\t\t//if the dropdown list is a plain list of items without any children, announce the number of items\n\t\telse if (!hasChildren) {\n\t\t\tariaLiveNumResults(dispatch, filteredItems.length);\n\t\t} else {\n\t\t\t// If there are uncategorized items, add them to the announcement\n\t\t\tif (uncategorizedCount > 0) {\n\t\t\t\tannouncementMessage = t(\n\t\t\t\t\t{\n\t\t\t\t\t\tcode: 'now-dropdown-search-uncategorized',\n\t\t\t\t\t\tmessage: '{uncategorizedCount} items in uncategorized',\n\t\t\t\t\t\tcomment:\n\t\t\t\t\t\t\t'ARIA message for screenreader users telling them the number of items in an uncategorized section.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tuncategorizedCount: uncategorizedCount,\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t\tannouncements.push(announcementMessage);\n\t\t\t}\n\t\t\tariaLiveSectionResults(dispatch, announcements.join(', '));\n\t\t\tannouncements = [];\n\t\t}\n\t}\n\n\tupdateState({\n\t\tannounceResults: false,\n\t});\n};\n\nconst renderSectionsOrItems = (\n\titems,\n\tselectedItems,\n\tselect,\n\tdispatch,\n\tsearchTerm,\n\tsearch,\n\tactiveItem,\n\thideCheckmark,\n\tmenuOrListbox,\n\tnowId,\n\tsize,\n\tlastCursorPos,\n\tfromMouseWheel,\n\tupdateState,\n\tannounceResults,\n) => {\n\tif (!items.length) {\n\t\treturn (\n\t\t\t<div className=\"now-dropdown-list-header\">{t('No results found')}</div>\n\t\t);\n\t}\n\tconst filteredItems = getSearchMatches(items, searchTerm, search);\n\tconst setSize = flattenItems(filteredItems).length;\n\n\tlet position = 0;\n\tconst renderChild = (item, itemElement) => {\n\t\tposition++;\n\t\treturn renderDropdownListItem({\n\t\t\tlabel: item.label,\n\t\t\tsublabel: item.sublabel,\n\t\t\tid: item.id,\n\t\t\ticon: item.icon,\n\t\t\tpresence: item.presence,\n\t\t\tsupplementalIcon: item.supplementalIcon,\n\t\t\timage: item.image,\n\t\t\tavatarProps: item.avatarProps,\n\t\t\tcount: item.count,\n\t\t\tdisabled: item.disabled,\n\t\t\tselected: selectedItems && selectedItems.includes(item.id),\n\t\t\tselect,\n\t\t\tonClick: () => handleItemClick(item, select, dispatch),\n\t\t\tsearchTerm,\n\t\t\thideCheckmark,\n\t\t\tdispatch,\n\t\t\tsetSize,\n\t\t\tposition,\n\t\t\tsearch,\n\t\t\tmenuOrListbox,\n\t\t\titemElement,\n\t\t\tsize,\n\t\t\tactiveItem,\n\t\t\tlastCursorPos,\n\t\t\tfromMouseWheel,\n\t\t\tupdateState,\n\t\t});\n\t};\n\n\tif (announceResults) {\n\t\tariaAnnouncements(filteredItems, items, dispatch, updateState, searchTerm);\n\t}\n\n\treturn filteredItems.map((item, index, array) => {\n\t\tif (Array.isArray(item.children)) {\n\t\t\tconst headerId = `${nowId}-list-header-${index}`;\n\n\t\t\treturn (\n\t\t\t\t<Fragment>\n\t\t\t\t\t{renderHeader(item, headerId)}\n\t\t\t\t\t<ul\n\t\t\t\t\t\tclassName=\"now-dropdown-ul\"\n\t\t\t\t\t\trole=\"group\"\n\t\t\t\t\t\taria-labelledby={item.label ? headerId : undefined}\n\t\t\t\t\t>\n\t\t\t\t\t\t{item.children.map((item) => renderChild(item, 'li'))}\n\t\t\t\t\t</ul>\n\t\t\t\t\t{renderDivider(index, array, menuOrListbox)}\n\t\t\t\t</Fragment>\n\t\t\t);\n\t\t}\n\n\t\treturn renderChild(item);\n\t});\n};\n\nconst renderSearch = (\n\tsearch,\n\tsearchTerm,\n\tactiveItem,\n\tnowId,\n\tupdateState,\n\tdispatch,\n\tisScreenReaderBehaviorRender,\n\tscreenReaderId,\n\tmenuOrListbox,\n\tsize,\n) => {\n\tif (search === 'none') return;\n\tconst searchPlaceholder = t({\n\t\tcode: 'now-dropdown-list-search-placeholder',\n\t\tmessage: 'Search',\n\t\tcomment: 'Verb. Hint text that appears in a search field',\n\t});\n\n\treturn (\n\t\t<div class={{'now-dropdown-list-search': true, [`-${size}`]: size}}>\n\t\t\t<now-icon\n\t\t\t\tclassName=\"now-dropdown-list-search-icon now-p-inline--sm\"\n\t\t\t\ticon=\"magnifying-glass-outline\"\n\t\t\t\tsize=\"sm\"\n\t\t\t/>\n\t\t\t<input\n\t\t\t\tclassName=\"now-dropdown-list-search-field\"\n\t\t\t\ton-input={(e) => {\n\t\t\t\t\tfixListboxForVoiceOver(e, menuOrListbox);\n\t\t\t\t\tconst value = e.target.value;\n\t\t\t\t\tdebounceDispatch(() => {\n\t\t\t\t\t\tdispatch(() => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\ttype: 'NOW_DROPDOWN_LIST#SEARCH_TERM_SET',\n\t\t\t\t\t\t\t\tpayload: {value: value},\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t});\n\t\t\t\t\t\tdispatch(() => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\ttype: 'PRIVATE#SET_ITEM',\n\t\t\t\t\t\t\t\tpayload: {value: value, id: null, actionSource: 'input'},\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t\ton-focus={(e) => {\n\t\t\t\t\tfixListboxForVoiceOver(e, menuOrListbox);\n\t\t\t\t\tupdateState({searchHasFocus: true});\n\t\t\t\t}}\n\t\t\t\ton-blur={() => updateState({searchHasFocus: false})}\n\t\t\t\tplaceholder={searchPlaceholder}\n\t\t\t\tvalue={searchTerm}\n\t\t\t\taria-label={searchPlaceholder}\n\t\t\t\trole=\"combobox\"\n\t\t\t\taria-expanded=\"true\"\n\t\t\t\taria-activedescendant={getActiveDescendant(\n\t\t\t\t\tactiveItem,\n\t\t\t\t\tisScreenReaderBehaviorRender,\n\t\t\t\t\tscreenReaderId,\n\t\t\t\t)}\n\t\t\t\taria-controls={getListId(\n\t\t\t\t\tnowId,\n\t\t\t\t\tisScreenReaderBehaviorRender,\n\t\t\t\t\tscreenReaderId,\n\t\t\t\t\tmenuOrListbox,\n\t\t\t\t)}\n\t\t\t\tautocomplete=\"off\"\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nconst view = (state, {dispatch, updateState}) => {\n\tconst {\n\t\titems,\n\t\tselectedItems,\n\t\tselect,\n\t\tsearch,\n\t\tsearchTerm,\n\t\tactiveItem,\n\t\thideCheckmark,\n\t\tdisableRole,\n\t\tisScreenReaderBehaviorRender,\n\t\tscreenReaderId,\n\t\tnowId,\n\t\tconfigAria,\n\t\tsize,\n\t} = state.properties;\n\n\tconst {fromMouseWheel, lastCursorPos, announceResults} = state;\n\tconst menuOrListbox = calcAriaPattern(select);\n\tconst role = disableRole ? undefined : menuOrListbox;\n\tconst activeDescendantId =\n\t\tsearch === 'none'\n\t\t\t? getActiveDescendant(\n\t\t\t\t\tactiveItem,\n\t\t\t\t\tisScreenReaderBehaviorRender,\n\t\t\t\t\tscreenReaderId,\n\t\t\t\t)\n\t\t\t: undefined;\n\n\treturn (\n\t\t<div className=\"now-dropdown-list\">\n\t\t\t{renderSearch(\n\t\t\t\tsearch,\n\t\t\t\tsearchTerm,\n\t\t\t\tactiveItem,\n\t\t\t\tnowId,\n\t\t\t\tupdateState,\n\t\t\t\tdispatch,\n\t\t\t\tisScreenReaderBehaviorRender,\n\t\t\t\tscreenReaderId,\n\t\t\t\tmenuOrListbox,\n\t\t\t\tsize,\n\t\t\t)}\n\t\t\t{/* eslint-disable-next-line jsx-a11y/aria-activedescendant-has-tabindex */}\n\t\t\t<div\n\t\t\t\tid={getListId(\n\t\t\t\t\tnowId,\n\t\t\t\t\tisScreenReaderBehaviorRender,\n\t\t\t\t\tscreenReaderId,\n\t\t\t\t\tmenuOrListbox,\n\t\t\t\t)}\n\t\t\t\tclassName=\"now-dropdown-list-item-container\"\n\t\t\t\tonwheel={() => {\n\t\t\t\t\tif (!fromMouseWheel) {\n\t\t\t\t\t\tupdateState({fromMouseWheel: true});\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\trole={role}\n\t\t\t\tscreen-reader-behavior-id={menuOrListbox}\n\t\t\t\t{...filterAriaAttributes(configAria, 'panel')}\n\t\t\t\taria-multiselectable={select === 'multi' ? 'true' : undefined}\n\t\t\t\taria-activedescendant={activeDescendantId}\n\t\t\t\t// for some reason having a tabindex when using fake focus (with the\n\t\t\t\t// screen-reader behavior) causes Safari + VO to stop announcing the\n\t\t\t\t// activedescendant item. Only use a tabindex when we have real focus\n\t\t\t\ttabindex={\n\t\t\t\t\tsearch === 'none' && !isScreenReaderBehaviorRender ? '0' : undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{renderSectionsOrItems(\n\t\t\t\t\titems,\n\t\t\t\t\tselectedItems,\n\t\t\t\t\tselect,\n\t\t\t\t\tdispatch,\n\t\t\t\t\tsearchTerm,\n\t\t\t\t\tsearch,\n\t\t\t\t\tactiveItem,\n\t\t\t\t\thideCheckmark,\n\t\t\t\t\tmenuOrListbox,\n\t\t\t\t\tnowId,\n\t\t\t\t\tsize,\n\t\t\t\t\tlastCursorPos,\n\t\t\t\t\tfromMouseWheel,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tannounceResults,\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\n/**\n * List portion of a dropdown menu. Displays the list of items associated with the dropdown trigger button.\n * This component provides the following functionality:\n * - Set whether a user can select a single or multiple items from the dropdown list.\n * - Set whether to display a checkmark next to the selected item (single item selection only).\n * - Set whether the `menu` or `listbox` parent role is not set on the element containing the items.\n * - Control how to filter items in the list when a user types in the integrated search input.\n * - Set the size of the dropdown list.\n * - Set ARIA properties on specified HTML elements.\n * - Associate and display an image/icon with an item in a dropdown list.\n *\n *\n * @seismicElement now-dropdown-list\n * @summary List portion of a dropdown menu.\n */\ncreateEnhancedElement('now-dropdown-list', {\n\tproperties: {\n\t\t/**\n\t\t * An array of `DropdownListItem` or `DropdownSection` items.\n\t\t * @type {Array.<DropdownListItem|DropdownSection>}\n\t\t */\n\t\titems: {\n\t\t\tdefault: [],\n\t\t\tschema: itemsSchema,\n\t\t},\n\t\t/**\n\t\t * An array of IDs representing selected dropdown list items. If\n\t\t * multi-select mode is not enabled, each time a user selects a list\n\t\t * item, the previously selected ID is replaced with the new ID. If\n\t\t * multi-select mode is enabled, IDs are added to or removed from the list.\n\t\t * @type {Array.<(string|number)>}\n\t\t */\n\t\tselectedItems: {\n\t\t\tdefault: [],\n\t\t\tmanageable: true,\n\t\t\tschema: {type: 'array', items: {type: ['string', 'number']}},\n\t\t},\n\t\t/**\n\t\t * Determines what happens when the user clicks on a dropdown list item.\n\t\t * Choose from the following:\n\t\t * - `single`: (Default) The list is closed, the trigger label is updated with the label of the selected list item,\n\t\t *   and the item is marked as selected.\n\t\t * - `multi`: The list stays open, the trigger label is updated with the selected list item count, and the\n\t\t *   item's selected state is toggled on/off.\n\t\t * - `none`: The list is closed, the trigger label is not updated, and the\n\t\t *   item is not marked as selected.\n\t\t * @type {(\"single\"|\"multi\"|\"none\")}\n\t\t */\n\t\tselect: {\n\t\t\tdefault: 'single',\n\t\t\tschema: {type: 'string', enum: ['single', 'multi', 'none']},\n\t\t},\n\t\t/**\n\t\t * When true, do not render the checkmark next to a selected item. Only\n\t\t * applies when the value of `select` is \"single\".\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\thideCheckmark: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * Deprecated\n\t\t * @private\n\t\t */\n\t\tshowPresencePattern: {default: false, schema: {type: 'boolean'}},\n\t\t// TODO: this property is :blobsad:\n\t\t/**\n\t\t * When true, the `menu` or `listbox` parent role is not set on the element\n\t\t * containing the items. This should only be used when a parent component\n\t\t * manages these roles.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tdisableRole: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * Controls how to filter menu items as the user types into the integrated search input.\n\t\t * - `none`: (Default) Dropdown list does not display an internal search field.\n\t\t * - `managed`: Internal input field renders without automatic search filtering.\n\t\t *      Use these parameters to manually filter or search for items as a user types\n\t\t *      outside of the list.\n\t\t * - `initial`: Internal input field renders and items whose label or sublabel begins with the input value display. Case-insensitive.\n\t\t * - `contains`: Internal input field renders and items whose label or sublabel contains the input value display. Case-insensitive.\n\t\t * @type {\"none\"|\"managed\"|\"initial\"|\"contains\"}\n\t\t */\n\t\tsearch: {\n\t\t\tdefault: 'none',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['none', 'managed', 'initial', 'contains'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Current value of the internal search field. For use with highlighting\n\t\t * and filtering within a dropdown list.\n\t\t * @type {string}\n\t\t */\n\t\tsearchTerm: {default: '', manageable: true, schema: {type: 'string'}},\n\t\t/**\n\t\t * ID of the currently active item in the dropdown list.\n\t\t * @type {(string|number|null)}\n\t\t */\n\t\tactiveItem: {\n\t\t\tmanageable: true,\n\t\t\tschema: {type: ['string', 'number', 'null']},\n\t\t},\n\t\t/**\n\t\t * Size of the dropdown list; small (sm) or medium (md).\n\t\t * @type {('sm'|'md')}\n\t\t */\n\t\tsize: {default: 'md', schema: {type: 'string', enum: ['sm', 'md']}},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * now-dropdown. The value of each key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s. These ARIA\n\t\t * properties will be set on the specified element.\n\t\t * The 'panel' key corresponds to the inner html `<div>` that acts as the\n\t\t * 'listbox'. See https://www.w3.org/TR/wai-aria-1.2/#listbox for properties\n\t\t * and accepted values.\n\t\t * @type {{ panel: {'aria-*': string, role: string} }}\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\trequired: true,\n\t\t\tschema: {\n\t\t\t\tanyOf: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tpanel: {...configAriaSchema, required: ['aria-label']},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{...configAriaSchema, required: ['aria-label']},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the user changes the selection of items in the dropdown list.\n\t\t * The payload key `value` contains an array containing either a single ID (`select=\"single\"`)\n\t\t * or multiple IDs (`select=\"multi\"`) of the selected item(s).\n\t\t * The payload key `items` contains an array of objects of the item or items selected from the dropdown list.\n\t\t * Set the `manage-selected-items` property to override the default behavior and\n\t\t * handle this action manually.\n\t\t * @type {{value: Array.<(string|number)>, items: Array.<Object>}}\n\t\t */\n\t\t'NOW_DROPDOWN_LIST#SELECTED_ITEMS_SET': {},\n\t\t/**\n\t\t * Dispatched when the user selects a dropdown item. The payload contains\n\t\t * a reference to the clicked item. Handle this action for dropdown menus\n\t\t * (where `select=\"none\"`).\n\t\t * @type {{item: DropdownItem}}\n\t\t */\n\t\t'NOW_DROPDOWN_LIST#ITEM_CLICKED': {},\n\t\t/**\n\t\t * Dispatched when the user hovers over an item in the dropdown list or\n\t\t * presses the `ArrowUp`, `ArrowDown`, `Home` or `End` keys while focused\n\t\t * in the internal search field. The payload contains the ID of the item.\n\t\t * Set the `manage-active-item` property to override the default behavior\n\t\t * and handle this action manually.\n\t\t * @type {{value: string}}\n\t\t */\n\t\t'NOW_DROPDOWN_LIST#ACTIVE_ITEM_SET': {},\n\t\t/**\n\t\t * Dispatched when the user inputs text in the internal search field.\n\t\t * Set the `manage-search-term` property to override the default behavior\n\t\t * and handle this action manually.\n\t\t * @type {{value: string}}\n\t\t */\n\t\t'NOW_DROPDOWN_LIST#SEARCH_TERM_SET': {},\n\t},\n\tinitialState: {\n\t\tsearchHasFocus: false,\n\t\tprevEnteredKey: '',\n\t\tlastCursorPos: {x: 0, y: 0},\n\t\tfromMouseWheel: false,\n\t\tannounceResults: false,\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['keydown'],\n\t\t\teffect({action, host, dispatch, properties, state, updateState}) {\n\t\t\t\tconst {key, ctrlKey, altKey, metaKey, shiftKey} = action.payload.event;\n\t\t\t\tif (ctrlKey || altKey || metaKey) return;\n\t\t\t\tif (shiftKey && ARROW_KEYS.indexOf(key) > -1) return;\n\t\t\t\tconst {searchHasFocus} = state;\n\t\t\t\tlet prevEnteredKey = state?.prevEnteredKey;\n\t\t\t\tconst {search} = properties;\n\t\t\t\tif (key === 'Enter' || (key === ' ' && !searchHasFocus)) {\n\t\t\t\t\taction.preventDefault();\n\t\t\t\t\taction.stopPropagation();\n\t\t\t\t\tconst {activeItem} = properties;\n\t\t\t\t\tconst itemEl = host.nowRootNode.getElementById(activeItem);\n\t\t\t\t\tif (itemEl && !itemEl.hasAttribute('aria-disabled')) {\n\t\t\t\t\t\titemEl.click();\n\t\t\t\t\t}\n\t\t\t\t} else if (doesKeyChangeActive(key, search)) {\n\t\t\t\t\taction.preventDefault();\n\t\t\t\t\taction.stopPropagation();\n\t\t\t\t\tif (ARROW_KEYS.indexOf(key) > -1) {\n\t\t\t\t\t\thandleNextItem(host, properties, key, dispatch);\n\t\t\t\t\t} else if ([...key].length === 1) {\n\t\t\t\t\t\tprevEnteredKey += key;\n\t\t\t\t\t\tdispatch('NOW_DROPDOWN_LIST#MATCH_ITEM_DEBOUNCE');\n\t\t\t\t\t\tupdateState({prevEnteredKey, shouldRender: false});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t],\n\tactionHandlers: {\n\t\t['NOW_DROPDOWN_LIST#MATCH_ITEM_DEBOUNCE']: {\n\t\t\tmodifier: {name: 'debounce', delay: 800},\n\t\t\teffect: ({state, host, dispatch, properties, updateState}) => {\n\t\t\t\tconst {prevEnteredKey} = state;\n\t\t\t\thandleNextItem(host, properties, prevEnteredKey, dispatch);\n\t\t\t\tupdateState({prevEnteredKey: '', shouldRender: false});\n\t\t\t},\n\t\t},\n\t\t'PRIVATE#SET_ITEM': {\n\t\t\tstopPropagation: true,\n\t\t\teffect: ({action, updateState}) => {\n\t\t\t\tconst {id} = action.payload;\n\t\t\t\tif (id === null) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tannounceResults: true,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t'PRIVATE#SCROLL_ITEM': {\n\t\t\tstopPropagation: true,\n\t\t\teffect: ({host, action}) => {\n\t\t\t\tconst {\n\t\t\t\t\tpayload: {item},\n\t\t\t\t\tmeta: {hoistHost},\n\t\t\t\t} = action;\n\n\t\t\t\tconst hostEl = hoistHost || host;\n\t\t\t\tconst itemToFocus = hostEl?.shadowRoot?.getElementById(item);\n\n\t\t\t\tif (itemToFocus) {\n\t\t\t\t\titemToFocus.scrollIntoView({\n\t\t\t\t\t\tbehavior: 'smooth',\n\t\t\t\t\t\tblock: 'nearest',\n\t\t\t\t\t\tinline: 'nearest',\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t[COMPONENT_RENDERED]: ({action, properties}) => {\n\t\t\tconst {\n\t\t\t\tmeta: {hoistHost},\n\t\t\t} = action;\n\t\t\tconst {items} = properties;\n\t\t\tconst dropdownScrollHeight = parseInt(hoistHost?.scrollHeight);\n\t\t\tconst fitContentHeight =\n\t\t\t\thoistHost?.parentElement?.shadowRoot.querySelector(\n\t\t\t\t\t'.fit-content-area',\n\t\t\t\t)?.clientHeight;\n\t\t\tif (\n\t\t\t\tfitContentHeight > 0 &&\n\t\t\t\tdropdownScrollHeight > fitContentHeight &&\n\t\t\t\titems.length > 1\n\t\t\t) {\n\t\t\t\thoistHost.style.height = fitContentHeight + 'px';\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\t\thost,\n\t\t\taction,\n\t\t\tstate,\n\t\t\tupdateState,\n\t\t\tdispatch,\n\t\t}) => {\n\t\t\tconst {\n\t\t\t\tpayload: {name, value},\n\t\t\t} = action;\n\t\t\tconst {fromMouseWheel} = state;\n\t\t\tif (name === 'activeItem' && value !== null) {\n\t\t\t\tdispatch('PRIVATE#SCROLL_ITEM', {item: value});\n\n\t\t\t\tif (fromMouseWheel) {\n\t\t\t\t\tupdateState({fromMouseWheel: false});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (name === 'items' && state.opened) {\n\t\t\t\thost.shadowRoot.querySelector('now-popover').refit();\n\t\t\t}\n\t\t},\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: screenReaderBehavior,\n\t\t\toptions: {\n\t\t\t\tscreenReaderView: view,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t},\n\t],\n\tstyles,\n\tview,\n});\n","/**\n * Caches the result of a `getDimensions()` call so that it won't be\n * recalculated again later. Useful to ensure that getBoundingClientRect is\n * not called multiple times in a row when multiple fit positions are\n * evaluated in a row.\n * @param {Dimensions} dim\n * @return {{getDimensions: Function}}\n */\nexport function cacheDimensions(dim) {\n\treturn {\n\t\tgetDimensions: () => dim,\n\t};\n}\n\n/**\n * Gets the dimensions of a HTMLElement or gets the manually specified and/or\n * cached dimensions of a DimensionsReference.\n * @param {(HTMLElement|DimensionsReference)} node\n * @return {Dimensions}\n */\nexport function getDimensions(node) {\n\tif (\n\t\t!(node instanceof HTMLElement) &&\n\t\ttypeof node.getDimensions === 'function'\n\t) {\n\t\treturn node.getDimensions();\n\t}\n\tif (node === window || node === document.documentElement) {\n\t\treturn {\n\t\t\ttop: 0,\n\t\t\tright: window.innerWidth,\n\t\t\tbottom: window.innerHeight,\n\t\t\tleft: 0,\n\t\t\twidth: window.innerWidth,\n\t\t\theight: window.innerHeight,\n\t\t\tmargin: {top: 0, right: 0, bottom: 0, left: 0},\n\t\t};\n\t}\n\tconst {top, right, bottom, left, width, height} =\n\t\tnode.getBoundingClientRect();\n\tconst style = window.getComputedStyle(node);\n\treturn {\n\t\ttop,\n\t\tright,\n\t\tbottom,\n\t\tleft,\n\t\twidth,\n\t\theight,\n\t\tmargin: {\n\t\t\ttop: parseInt(style.marginTop, 10) || 0,\n\t\t\tright: parseInt(style.marginRight, 10) || 0,\n\t\t\tbottom: parseInt(style.marginBottom, 10) || 0,\n\t\t\tleft: parseInt(style.marginLeft, 10) || 0,\n\t\t},\n\t};\n}\n\nconst CONTENT_DIMENSION_DEFAULTS = {\n\twidth: 'auto',\n\tminWidth: 0,\n\tmaxWidth: Infinity,\n\theight: 'auto',\n\tminHeight: 0,\n\tmaxHeight: Infinity,\n};\n\nconst toSizeValue = (contentDimensions, targetDimensions, size, value) => {\n\tif (value === 'auto') {\n\t\treturn contentDimensions[size];\n\t}\n\tif (value === 'target') {\n\t\treturn targetDimensions[size];\n\t}\n\tif (typeof value === 'number') {\n\t\treturn value;\n\t}\n\tthrow new Error('Sizing value is not valid');\n};\n\n/**\n * Constrains content dimensions based on developer-specified configuration.\n * @param {Dimensions} contentDimensions\n * @param {Dimensions} targetDimensions\n * @param {Object} constraints\n * @return {Dimensions}\n */\nexport function getContentDimensions(\n\tcontentDimensions,\n\ttargetDimensions,\n\tconstraints,\n\tcanScrollVertical,\n\tcanScrollHorizontal,\n) {\n\tconst wval = (v) =>\n\t\ttoSizeValue(contentDimensions, targetDimensions, 'width', v);\n\tconst hval = (v) =>\n\t\ttoSizeValue(contentDimensions, targetDimensions, 'height', v);\n\tconst {width, minWidth, maxWidth, height, minHeight, maxHeight} = {\n\t\t...CONTENT_DIMENSION_DEFAULTS,\n\t\t...constraints,\n\t};\n\tconst vScroll =\n\t\tcanScrollVertical &&\n\t\tMath.max(hval(height), hval(minHeight)) > hval(maxHeight)\n\t\t\t? 17\n\t\t\t: 0;\n\tconst hScroll =\n\t\tcanScrollHorizontal &&\n\t\tMath.max(wval(width), wval(minWidth)) > wval(maxWidth)\n\t\t\t? 17\n\t\t\t: 0;\n\treturn {\n\t\t...contentDimensions,\n\t\twidth: Math.min(\n\t\t\tMath.max(wval(width) + vScroll, wval(minWidth)),\n\t\t\twval(maxWidth),\n\t\t),\n\t\theight: Math.min(\n\t\t\tMath.max(hval(height) + hScroll, hval(minHeight)),\n\t\t\thval(maxHeight),\n\t\t),\n\t};\n}\n","const normalizeOrigin = (origin, dir = 'ltr') =>\n\torigin\n\t\t.replace(/-left$/, dir === 'ltr' ? '-start' : '-end')\n\t\t.replace(/-right$/, dir === 'ltr' ? '-end' : '-start')\n\t\t.split('-');\n\nconst toMatchingOrigin = ([vertical, horizontal]) => {\n\t// If vertical is center, flip the horizontal position\n\tif (vertical === 'center') {\n\t\treturn horizontal === 'start' ? ['center', 'end'] : ['center', 'start'];\n\t}\n\t// Otherwise flip the vertical position\n\treturn vertical === 'top' ? ['bottom', horizontal] : ['top', horizontal];\n};\n\nconst RE_POSITION_LONG =\n\t/^(top|bottom|center)-(left|right|start|end|center) (top|bottom|center)-(left|right|start|end|center)$/;\nconst RE_POSITION_SHORT = /^(top|bottom|center)-(left|right|start|end|center)$/;\n\n/**\n * Normalizes a position based on the following rules:\n * - if a position shorthand is provided, expands it to the full position (e.g. \"bottom-start\" > \"bottom-start top-start\")\n * - normalizes direction-specific inline properties to logical properties (e.g. \"bottom-right top-left\" > \"bottom-end top-start\")\n * - splits the normalized position into two arrays of origins (e.g. \"bottom-end top-start\" > [[\"bottom\", \"end\"], [\"top\", \"start\"]])\n * @param {string} position - Shorthand position (\"bottom-start\") or full position (\"bottom-right top-left\")\n * @return {Array<Origin[]>}\n */\nexport default function normalizePosition(position) {\n\tif (RE_POSITION_LONG.test(position)) {\n\t\tconst [targetOrigin, contentOrigin] = position.split(' ');\n\t\treturn [normalizeOrigin(targetOrigin), normalizeOrigin(contentOrigin)];\n\t}\n\tif (RE_POSITION_SHORT.test(position)) {\n\t\tconst targetOrigin = normalizeOrigin(position);\n\t\tconst contentOrigin = toMatchingOrigin(targetOrigin);\n\t\treturn [targetOrigin, contentOrigin];\n\t}\n\tthrow new Error(`${position} is not a valid position`);\n}\n","/**\n * Calculates either the top or left offset based on the target and content\n * origins and dimensions.\n * @param {(\"block\"|\"inline\")} axis - Axis that is being calculated (block for top/bottom, inline for left/right)\n * @param {(\"top\"|\"start\"|\"center\"|\"bottom\"|\"end\")} targetOrigin - Logical target origin\n * @param {(\"top\"|\"start\"|\"center\"|\"bottom\"|\"end\")} contentOrigin - Logical content origin\n * @param {Dimensions} targetDimensions - Target dimensions object\n * @param {Dimensions} overlayDimensions - Content dimensions object\n * @return {number}\n */\nexport function calculateSingleOffset(\n\taxis,\n\ttargetOrigin,\n\tcontentOrigin,\n\ttargetDimensions,\n\toverlayDimensions,\n) {\n\tlet offset = 0;\n\t/* First use the target origin property */\n\tif (targetOrigin === 'top' || targetOrigin === 'start') {\n\t\toffset += axis === 'block' ? targetDimensions.top : targetDimensions.left;\n\t}\n\tif (targetOrigin === 'center') {\n\t\toffset +=\n\t\t\taxis === 'block'\n\t\t\t\t? targetDimensions.top + targetDimensions.height / 2\n\t\t\t\t: targetDimensions.left + targetDimensions.width / 2;\n\t}\n\tif (targetOrigin === 'bottom' || targetOrigin === 'end') {\n\t\toffset +=\n\t\t\taxis === 'block'\n\t\t\t\t? targetDimensions.top + targetDimensions.height\n\t\t\t\t: targetDimensions.left + targetDimensions.width;\n\t}\n\t/* Then use the content origin property */\n\tif (contentOrigin === 'top' || contentOrigin === 'start') {\n\t\toffset -= 0;\n\t}\n\tif (contentOrigin === 'center') {\n\t\toffset -=\n\t\t\taxis === 'block'\n\t\t\t\t? overlayDimensions.height / 2\n\t\t\t\t: overlayDimensions.width / 2;\n\t}\n\tif (contentOrigin === 'bottom' || contentOrigin === 'end') {\n\t\toffset -=\n\t\t\taxis === 'block' ? overlayDimensions.height : overlayDimensions.width;\n\t}\n\treturn offset;\n}\n\n/**\n * Calculates the ratio of the content that is overset from its container.\n * Returns the ratio as a whole number, e.g. `75` if 75% of the content does not\n * fit inside of the container.\n * @param {number} top\n * @param {number} right\n * @param {number} bottom\n * @param {number} left\n * @param {(\"top\"|\"bottom\"|\"center\")} block - direction to constrain block from\n * @param {(\"start\"|\"end\"|\"center\")} inline - direction to constrain inline from\n * @param {Dimensions} contentDimensions\n * @param {Dimensions} containerDimensions\n * @return {{dimensions: Dimensions, overset: {vertical: number, horizontal: number, ratio: number}}}\n */\nexport function constrainOffset(\n\ttop,\n\tright,\n\tbottom,\n\tleft,\n\tblock,\n\tinline,\n\tcontentDimensions,\n\tcontainerDimensions,\n) {\n\tconst toff =\n\t\ttop < containerDimensions.top\n\t\t\t? Math.abs(Math.abs(containerDimensions.top) - top)\n\t\t\t: 0;\n\tconst boff =\n\t\tbottom > containerDimensions.bottom\n\t\t\t? Math.abs(Math.abs(bottom) - Math.abs(containerDimensions.bottom))\n\t\t\t: 0;\n\tconst loff =\n\t\tleft < containerDimensions.left\n\t\t\t? Math.abs(Math.abs(containerDimensions.left) - left)\n\t\t\t: 0;\n\tconst roff =\n\t\tright > containerDimensions.right\n\t\t\t? Math.abs(Math.abs(right) - Math.abs(containerDimensions.right))\n\t\t\t: 0;\n\tif (toff === 0 && boff === 0 && loff === 0 && roff === 0) {\n\t\treturn {\n\t\t\tdimensions: {...contentDimensions, top, left, bottom, right},\n\t\t\toverset: {vertical: 0, horizontal: 0, ratio: 0, actual: 0},\n\t\t};\n\t}\n\tconst dimensions = {...contentDimensions, top, left, bottom, right};\n\tif (block === 'top' && boff > 0) {\n\t\tdimensions.top = top;\n\t\tdimensions.bottom = containerDimensions.bottom;\n\t\tdimensions.height = contentDimensions.height - boff;\n\t}\n\tif (block === 'bottom' && toff > 0) {\n\t\tdimensions.top = containerDimensions.top;\n\t\tdimensions.bottom = bottom;\n\t\tdimensions.height = contentDimensions.height - toff;\n\t}\n\n\tif (block === 'center' && (toff > 0 || boff > 0)) {\n\t\tconst largest = Math.max(toff, boff);\n\t\tdimensions.top = top + largest;\n\t\tdimensions.bottom = bottom - largest;\n\t\tdimensions.height = contentDimensions.height - largest * 2;\n\t}\n\n\tif (inline === 'start' && roff > 0) {\n\t\tdimensions.left = left;\n\t\tdimensions.right = containerDimensions.right;\n\t\tdimensions.width = contentDimensions.width - roff;\n\t}\n\tif (inline === 'end' && loff > 0) {\n\t\tdimensions.left = containerDimensions.left;\n\t\tdimensions.right = right;\n\t\tdimensions.width = contentDimensions.width - loff;\n\t}\n\tif (inline === 'center' && (loff > 0 || roff > 0)) {\n\t\tconst largest = Math.max(loff, roff);\n\t\tdimensions.left = left + largest;\n\t\tdimensions.right = right - largest;\n\t\tdimensions.width = contentDimensions.width - largest * 2;\n\t}\n\tconst actual =\n\t\t100 -\n\t\t((dimensions.height * dimensions.width) /\n\t\t\t(contentDimensions.height * contentDimensions.width)) *\n\t\t\t100;\n\tconst ratio =\n\t\t100 -\n\t\tMath.round(\n\t\t\t((dimensions.height * dimensions.width) /\n\t\t\t\t(contentDimensions.height * contentDimensions.width)) *\n\t\t\t\t100,\n\t\t);\n\tconst overset = {\n\t\tvertical: contentDimensions.height - dimensions.height,\n\t\thorizontal: contentDimensions.width - dimensions.width,\n\t\tratio,\n\t\tactual,\n\t};\n\treturn {dimensions, overset};\n}\n\nconst addOffsetPaddingToDimensions = (dim, offset) => {\n\tconst [, , t = 0, r = 0, b = 0, l = 0] = offset;\n\treturn {\n\t\t...dim,\n\t\ttop: dim.top - t,\n\t\tright: dim.right + r,\n\t\tbottom: dim.bottom + b,\n\t\tleft: dim.left - l,\n\t\theight: dim.height + t + b,\n\t\twidth: dim.width + l + r,\n\t};\n};\n\n/**\n * Calculates the dimensions for the content after it is positioned against\n * to the target and constrained to fit within the container.\n * @param {number[]} offset - Offset content from the target in format `[vertical, horizontal]`, e.g. `[10, 5]`\n * @param {Origin[]} targetPosition\n * @param {Origin[]} contentPosition\n * @param {Dimensions} targetDimensions\n * @param {Dimensions} contentDimensions\n * @param {Dimensions} containerDimensions\n * @return {{fromWindow: Dimensions, fromContainer: Dimensions, dimensions: Dimensions, overset: {vertical: number, horizontal: number, ratio: number}}}\n */\nexport default function calculateFit(\n\toffset,\n\ttargetPosition,\n\tcontentPosition,\n\ttargetDimensions,\n\tcontentDimensions,\n\tcontainerDimensions,\n) {\n\tconst [targetOriginBlock, targetOriginInline] = targetPosition;\n\tconst [contentOriginBlock, contentOriginInline] = contentPosition;\n\tconst paddedTargetDimensions = addOffsetPaddingToDimensions(\n\t\ttargetDimensions,\n\t\toffset,\n\t);\n\n\tconst top =\n\t\tcalculateSingleOffset(\n\t\t\t'block',\n\t\t\ttargetOriginBlock,\n\t\t\tcontentOriginBlock,\n\t\t\tpaddedTargetDimensions,\n\t\t\tcontentDimensions,\n\t\t) + offset[0];\n\tconst left =\n\t\tcalculateSingleOffset(\n\t\t\t'inline',\n\t\t\ttargetOriginInline,\n\t\t\tcontentOriginInline,\n\t\t\tpaddedTargetDimensions,\n\t\t\tcontentDimensions,\n\t\t) + offset[1];\n\tconst bottom = top + contentDimensions.height;\n\tconst right = left + contentDimensions.width;\n\tconst {dimensions, overset} = constrainOffset(\n\t\ttop,\n\t\tright,\n\t\tbottom,\n\t\tleft,\n\t\tcontentOriginBlock,\n\t\tcontentOriginInline,\n\t\tcontentDimensions,\n\t\tcontainerDimensions,\n\t);\n\treturn {\n\t\tfromWindow: {\n\t\t\t...dimensions,\n\t\t},\n\t\tfromContainer: {\n\t\t\t...dimensions,\n\t\t\ttop: dimensions.top - containerDimensions.top,\n\t\t\tright: dimensions.right - containerDimensions.left,\n\t\t\tleft: dimensions.left - containerDimensions.left,\n\t\t\tbottom: dimensions.bottom - containerDimensions.top,\n\t\t},\n\t\tdimensions,\n\t\toverset,\n\t};\n}\n","import {\n\tgetDimensions,\n\tgetContentDimensions,\n\tcacheDimensions,\n} from './dimensions';\nimport normalizePosition from './normalize-position';\nimport calculateFit from './calculate-fit';\n\n/**\n * Calculates the fit styles for the content with only one possible position.\n * @param {Object} options\n * @param {HTMLElement} options.target - Reference to element the content is positioned beside\n * @param {HTMLElement} options.content - Reference to positioned element\n * @param {HTMLElement} [options.container=window] - Reference to element content should fit within\n * @param {string} [options.position=\"bottom-left\"] - Desired position of content relative to target, e.g. \"bottom-left\" or \"top-left bottom-right\"\n * @param {number[]} [options.offset=[0,0]] - Offset content from the target in format `[vertical, horizontal]`, e.g. `[10, 5]`\n * @param {{height: number, width: number, minHeight: number, maxHeight: number, minWidth: number, maxWidth: number}} constrain - Constrains or sets the size content, each value can be a string\n * @param {boolean} [options.canScrollVertical=false] - Enable if the content displays a scrollbar on vertical overflow - the scrollbar will be added to calculations to avoid horizontal truncation\n * @param {boolean} [options.canScrollHorizontal=false] - Enable if the content displays a scrollbar on horizontal overflow - the scrollbar will be added to calculations to avoid vertical truncation\n * @return {FitInfo}\n */\nexport function getFitInfo({\n\ttarget,\n\tcontent,\n\tcontainer = window,\n\tposition = 'bottom-left',\n\toffset = [0, 0, 0, 0, 0, 0],\n\tconstrain = {},\n\tcanScrollVertical = false,\n\tcanScrollHorizontal = false,\n}) {\n\tconst targetDimensions = getDimensions(target);\n\tconst contentDimensions = getContentDimensions(\n\t\tgetDimensions(content),\n\t\ttargetDimensions,\n\t\tconstrain,\n\t\tcanScrollVertical,\n\t\tcanScrollHorizontal,\n\t);\n\tconst containerDimensions = getDimensions(container);\n\tconst [targetPosition, contentPosition] = normalizePosition(position);\n\tconst fit = calculateFit(\n\t\toffset,\n\t\ttargetPosition,\n\t\tcontentPosition,\n\t\ttargetDimensions,\n\t\tcontentDimensions,\n\t\tcontainerDimensions,\n\t);\n\tconst style = {\n\t\ttop: fit.dimensions.top + 'px',\n\t\tleft: fit.dimensions.left + 'px',\n\t\twidth: fit.dimensions.width + 'px',\n\t\theight: fit.dimensions.height + 'px',\n\t};\n\tconst detail = {\n\t\ttargetDimensions,\n\t\tcontentDimensions,\n\t\tcontainerDimensions,\n\t\ttargetPosition,\n\t\tcontentPosition,\n\t\tposition: `${targetPosition.join('-')} ${contentPosition.join('-')}`,\n\t};\n\treturn {fit, style, detail};\n}\n\n/**\n * Calculates the best fit styles for the content based on multiple possible\n * positions. Returns the fit info for the first position that completely fits.\n * If no position completely fits, returns the position that fits the most.\n * @param {Object} options\n * @param {HTMLElement} options.target - Reference to element the content is positioned beside\n * @param {HTMLElement} options.content - Reference to positioned element\n * @param {HTMLElement} [options.container=window] - Reference to element content should fit within\n * @param {string[]} [options.position=[\"bottom-left\"]] - Desired positions of content relative to target in order of preferences, e.g. [\"bottom-left top-left\", \"top-left bottom-left\"]\n * @param {number[]} [options.offset=[0,0]] - Offset content from the target in format `[vertical, horizontal]`, e.g. `[10, 5]`\n * @param {{height: number, width: number, minHeight: number, maxHeight: number, minWidth: number, maxWidth: number}} constrain - Constrains or sets the size content, each value can be a string\n * @param {boolean} [options.canScrollVertical=false] - Enable if the content displays a scrollbar on vertical overflow - the scrollbar will be added to calculations to avoid horizontal truncation\n * @param {boolean} [options.canScrollHorizontal=false] - Enable if the content displays a scrollbar on horizontal overflow - the scrollbar will be added to calculations to avoid vertical truncation\n * @return {FitInfo}\n */\nexport function getBestFitInfo({\n\ttarget,\n\tcontent,\n\tcontainer = window,\n\tposition = ['bottom-left'],\n\toffset = [0, 0, 0, 0, 0, 0],\n\tconstrain = {},\n\tcanScrollVertical,\n\tcanScrollHorizontal,\n}) {\n\tconst targetDimensions = cacheDimensions(getDimensions(target));\n\tconst contentDimensions = cacheDimensions(getDimensions(content));\n\tconst containerDimensions = cacheDimensions(getDimensions(container));\n\tlet candidates = [];\n\tfor (let pos of position) {\n\t\tconst info = getFitInfo({\n\t\t\ttarget: targetDimensions,\n\t\t\tcontent: contentDimensions,\n\t\t\tcontainer: containerDimensions,\n\t\t\tposition: pos,\n\t\t\toffset,\n\t\t\tconstrain,\n\t\t\tcanScrollVertical,\n\t\t\tcanScrollHorizontal,\n\t\t});\n\t\tif (info.fit.overset.actual === 0) {\n\t\t\t/* Fits completely, bail out and return */\n\t\t\treturn info;\n\t\t}\n\t\tcandidates.push(info);\n\t}\n\t/* Sort to find lowest overset ratio, aka the one that fits the most content */\n\tcandidates.sort((a, b) => a.fit.overset.actual - b.fit.overset.actual);\n\treturn candidates[0];\n}\n","import {actionTypes} from '@servicenow/ui-core';\nimport transform from 'lodash/transform';\nimport findKey from 'lodash/findKey';\nimport isEmpty from 'lodash/isEmpty';\nimport isNil from 'lodash/isNil';\nimport mapValues from 'lodash/mapValues';\nimport pickBy from 'lodash/pickBy';\nimport {getBestFitInfo} from '../fit-info/fit-info';\n\nconst BEHAVIOR_NAME = 'fit';\nconst {\n\tCOMPONENT_DOM_READY,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_BOOTSTRAPPED,\n} = actionTypes;\n\n/**\n * Create public Seismic property config for each descriptors in the given map\n *\n * @param {Descriptors} descriptors\n */\nfunction createProperties(descriptors) {\n\treturn transform(descriptors, (result, descriptor, internalName) => {\n\t\tconst publicName = descriptor.alias || internalName;\n\t\tresult[publicName] = {\n\t\t\treflect: isNil(descriptor.reflect) ? true : descriptor.reflect,\n\t\t};\n\t});\n}\n\nconst getFitStyle = ({\n\topened,\n\ttarget,\n\tcontent,\n\tcontainer,\n\tposition,\n\toffset,\n\tconstrain,\n\tcanScrollVertical,\n\tcanScrollHorizontal,\n}) => {\n\tif (!opened || !target || !content) {\n\t\treturn {};\n\t}\n\n\tconst {style} = getBestFitInfo({\n\t\ttarget,\n\t\tcontent,\n\t\tcontainer,\n\t\tposition,\n\t\toffset,\n\t\tconstrain,\n\t\tcanScrollVertical,\n\t\tcanScrollHorizontal,\n\t});\n\treturn {...style, visibility: 'visible'};\n};\n\n/**\n * Updates the fit behavior opened state for this component and triggers a\n * re-render with new fit styles.\n * @param {Function} dispatch\n * @param {boolean} opened\n */\nexport function setFitOpened(dispatch, opened) {\n\tdispatch(() => {\n\t\treturn {\n\t\t\ttype: 'FIT_BEHAVIOR#STATE_SET',\n\t\t\tpayload: {opened},\n\t\t};\n\t});\n}\n\n/**\n * Updates the fit behavior target reference for this component and triggers a\n * re-render with new fit styles.\n * @param {Function} dispatch\n * @param {HTMLElement} target\n */\nexport function setFitTarget(dispatch, target) {\n\tdispatch(() => {\n\t\treturn {\n\t\t\ttype: 'FIT_BEHAVIOR#STATE_SET',\n\t\t\tpayload: {target},\n\t\t};\n\t});\n}\n\n/**\n * Updates the fit behavior content reference for this component and triggers a\n * re-render with new fit styles.\n * @param {Function} dispatch\n * @param {HTMLElement} content\n */\nexport function setFitContent(dispatch, content) {\n\tdispatch(() => {\n\t\treturn {\n\t\t\ttype: 'FIT_BEHAVIOR#STATE_SET',\n\t\t\tpayload: {content},\n\t\t};\n\t});\n}\n\n/**\n * Updates the fit behavior container reference for this component and triggers\n * a re-render with new fit styles.\n * @param {Function} dispatch\n * @param {HTMLElement} container\n */\nexport function setFitContainer(dispatch, container) {\n\tdispatch(() => {\n\t\treturn {\n\t\t\ttype: 'FIT_BEHAVIOR#STATE_SET',\n\t\t\tpayload: {container},\n\t\t};\n\t});\n}\n\n/**\n * Support the typical Seismic behavior pattern (shared instance) without\n * needing to use the factory function. This instance does not allow exposing\n * any properties, but can use Seismic's `options` configuration just like any\n * other behavior.\n */\nexport const fitBehavior = createFitBehavior();\n\n/**\n * Factory function to create a fit behavior that can expose custom properties\n * for the consuming component.\n *\n * @typedef {Object} Descriptor\n * @property {boolean} [public=false] - Whether this option can be exposed\n * as a component property\n * @property {string} [alias] - What property name to use when exposing the\n * option as a property. If not provided, the property name will match the name\n * of the behavior option. Only applies when `public` is `true`.\n * @property {boolean} [reflect=true] - Whether or not to reflect this option\n * in the component's attributes (same as Seismic's `reflect` flag). Only applies\n * when `public` is `true`\n * @property {any} [default] - The default value to use for the option when\n * the property value is not set (or `public` is `false`)\n *\n * @typedef {Object.<string, Descriptor>} Descriptors - A map of behavior option to\n * descriptor that configures that option.\n *\n * @param {Descriptors} descriptors\n */\nexport function createFitBehavior(descriptors = {}) {\n\tconst publicDescriptors = pickBy(descriptors, {public: true});\n\tconst defaults = mapValues(descriptors, 'default');\n\n\treturn {\n\t\tname: BEHAVIOR_NAME,\n\t\tproperties: createProperties(publicDescriptors),\n\n\t\t// options should only be provided when using Seismic's\n\t\t// normal option passing (no factory function)\n\t\tinitialState(options) {\n\t\t\tconst {\n\t\t\t\topened = false,\n\t\t\t\ttarget = null,\n\t\t\t\tcontent = null,\n\t\t\t\tcontainer,\n\t\t\t\tposition,\n\t\t\t\toffset,\n\t\t\t\tconstrain,\n\t\t\t\tcanScrollVertical = false,\n\t\t\t\tcanScrollHorizontal = false,\n\t\t\t} = {\n\t\t\t\t...defaults,\n\t\t\t\t...options,\n\t\t\t};\n\n\t\t\treturn {\n\t\t\t\tstyle: {},\n\t\t\t\topened,\n\t\t\t\ttarget,\n\t\t\t\tcontent,\n\t\t\t\tcontainer,\n\t\t\t\tposition,\n\t\t\t\toffset,\n\t\t\t\tconstrain,\n\t\t\t\tcanScrollVertical,\n\t\t\t\tcanScrollHorizontal,\n\t\t\t};\n\t\t},\n\n\t\tactionHandlers: {\n\t\t\t'FIT_BEHAVIOR#STATE_SET': {\n\t\t\t\tstopPropagation: true,\n\t\t\t\teffect: ({action, updateState}) => {\n\t\t\t\t\tupdateState(({state}) => {\n\t\t\t\t\t\tconst nextState = {\n\t\t\t\t\t\t\t...state.behaviors[BEHAVIOR_NAME],\n\t\t\t\t\t\t\t...action.payload,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\topened,\n\t\t\t\t\t\t\ttarget,\n\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t\tcontainer,\n\t\t\t\t\t\t\tposition,\n\t\t\t\t\t\t\toffset,\n\t\t\t\t\t\t\tconstrain,\n\t\t\t\t\t\t\tcanScrollVertical,\n\t\t\t\t\t\t\tcanScrollHorizontal,\n\t\t\t\t\t\t} = nextState;\n\t\t\t\t\t\tconst style = getFitStyle({\n\t\t\t\t\t\t\topened,\n\t\t\t\t\t\t\ttarget,\n\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t\tcontainer,\n\t\t\t\t\t\t\tposition,\n\t\t\t\t\t\t\toffset,\n\t\t\t\t\t\t\tconstrain,\n\t\t\t\t\t\t\tcanScrollVertical,\n\t\t\t\t\t\t\tcanScrollHorizontal,\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\t\tpath: `behaviors.${BEHAVIOR_NAME}`,\n\t\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\t\t...nextState,\n\t\t\t\t\t\t\t\tstyle,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t},\n\n\t\t\t[COMPONENT_BOOTSTRAPPED]: () => {\n\t\t\t\t// eslint-disable-next-line no-undef\n\t\t\t\tif (process.env.NODE_ENV === 'development') {\n\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t'[@servicenow/behavior-fit]: The fit behavior is deprecated. It is being replaced with the `now-popover` component.',\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t[COMPONENT_PROPERTY_CHANGED]: ({action, dispatch}) => {\n\t\t\t\tconst {name, value} = action.payload;\n\t\t\t\tconst key = findKey(publicDescriptors, (descriptor, internalName) => {\n\t\t\t\t\treturn descriptor.alias === name || internalName === name;\n\t\t\t\t});\n\n\t\t\t\tif (key) {\n\t\t\t\t\tdispatch(() => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttype: 'FIT_BEHAVIOR#STATE_SET',\n\t\t\t\t\t\t\tpayload: {[key]: value},\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t[COMPONENT_DOM_READY]: ({properties, dispatch}) => {\n\t\t\t\t// update state with the initial values of public properties\n\t\t\t\tconst nextState = transform(\n\t\t\t\t\tpublicDescriptors,\n\t\t\t\t\t(result, descriptor, internalName) => {\n\t\t\t\t\t\tconst publicName = descriptor.alias || internalName;\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tproperties[publicName] !== undefined &&\n\t\t\t\t\t\t\tproperties[publicName] !== defaults[internalName]\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tresult[internalName] = properties[publicName];\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t);\n\n\t\t\t\tif (!isEmpty(nextState)) {\n\t\t\t\t\tdispatch(() => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttype: 'FIT_BEHAVIOR#STATE_SET',\n\t\t\t\t\t\t\tpayload: nextState,\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n}\n","export const constrainSchema = {\n\ttype: 'object',\n\tproperties: {\n\t\twidth: {oneOf: [{const: 'target'}, {type: 'number'}]},\n\t\tminWidth: {oneOf: [{const: 'target'}, {type: 'number'}]},\n\t\tmaxWidth: {oneOf: [{const: 'target'}, {type: 'number'}]},\n\t\theight: {oneOf: [{const: 'target'}, {type: 'number'}]},\n\t\tminHeight: {oneOf: [{const: 'target'}, {type: 'number'}]},\n\t\tmaxHeight: {oneOf: [{const: 'target'}, {type: 'number'}]},\n\t},\n\tadditionalProperties: false,\n};\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {\n\textensionSplit,\n\tfilterAriaAttributes,\n\tmakeRedispatchEffect,\n\tgetActiveElement,\n} from '@servicenow/library-enhanced-utils';\nimport styles from './_now-dropdown.scss';\nimport {getFocusedEl, getTriggerEl} from './utils/elements.js';\nimport {\n\tsetActiveItem,\n\tgetDropdownListConstrain,\n\tcalcAriaPattern,\n} from './utils/helpers.js';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport deferBehavior from '@servicenow/behavior-defer';\nimport '@servicenow/now-icon';\nimport tooltipBehavior, {\n\tTOOLTIP_SHOW,\n\tTOOLTIP_HIDE,\n} from '@servicenow/behavior-tooltip';\nimport '@servicenow/now-tooltip';\nimport '@servicenow/now-popover';\nimport './now-dropdown-list';\nimport {t} from 'sn-translate';\nimport {itemsSchema, itemSchema} from './schemas/dropdown-list-schema';\nimport {constrainSchema} from '@servicenow/behavior-fit';\nimport {pick, isEmpty} from 'lodash';\nimport {configAriaLabelSchema} from '@servicenow/library-schemas';\n\nconst {COMPONENT_PROPERTY_CHANGED} = actionTypes;\n\nconst matchKeywordWithItem = (flattened, key, dispatch, updateState) => {\n\tconst itemIndex = flattened.findIndex((item) =>\n\t\titem.label.toLowerCase().startsWith(key.toLowerCase()),\n\t);\n\tconst shouldDispatch = itemIndex >= 0 && !flattened[itemIndex].disabled;\n\t//Empty the previously entered search key after every timeout\n\tupdateState({\n\t\toperation: 'set',\n\t\tpath: 'prevEnteredKey',\n\t\tvalue: '',\n\t\tshouldRender: false,\n\t});\n\tdispatch(() => {\n\t\treturn {\n\t\t\ttype: 'NOW_DROPDOWN#SELECTED_ITEMS_SET',\n\t\t\tpayload: {\n\t\t\t\tvalue: [flattened[itemIndex]?.id],\n\t\t\t\titems: flattened[itemIndex],\n\t\t\t},\n\t\t\tshouldDispatch,\n\t\t};\n\t});\n};\n\nconst handleTooltipShow = (e, dispatch, tooltipContent) => {\n\tconst labelSpan = e.target.querySelector('.now-dropdown-trigger-label');\n\tconst isOverset = labelSpan && labelSpan.scrollWidth > labelSpan.clientWidth;\n\tif (isOverset || tooltipContent) {\n\t\treturn dispatch(TOOLTIP_SHOW, {target: e.target});\n\t}\n};\n\nconst handleTooltipHide = (e, dispatch, tooltipContent) => {\n\tconst labelSpan = e.target.querySelector('.now-dropdown-trigger-label');\n\tconst isOverset = labelSpan && labelSpan.scrollWidth > labelSpan.clientWidth;\n\tif (isOverset || tooltipContent) {\n\t\treturn dispatch(TOOLTIP_HIDE, {target: e.target});\n\t}\n};\n\nconst getSelected = (items, selectedItemId) => {\n\tconst hasNestedChildren = items.some((item) =>\n\t\t// eslint-disable-next-line no-prototype-builtins\n\t\titem.hasOwnProperty('children'),\n\t);\n\tif (hasNestedChildren) {\n\t\treturn items\n\t\t\t.reduce(\n\t\t\t\t(acc, item) =>\n\t\t\t\t\t!isEmpty(item.children) ? [...acc, ...item.children] : [...acc, item],\n\t\t\t\t[],\n\t\t\t)\n\t\t\t.find((item) => item.id === selectedItemId);\n\t} else {\n\t\treturn items.find((item) => selectedItemId === item.id);\n\t}\n};\n\nconst getTriggerLabel = (placeholder, selected, selectedItems) => {\n\tif (Array.isArray(selectedItems) && selectedItems.length > 1) {\n\t\treturn t('{0} items selected', selectedItems.length);\n\t} else if (selected) {\n\t\treturn selected.label;\n\t}\n\treturn placeholder;\n};\n\nconst getTriggerIcon = (icon, selected) => {\n\tif (selected && selected.icon) {\n\t\tif (typeof selected.icon === 'object') {\n\t\t\treturn selected.icon?.icon?.replace('outline', 'fill');\n\t\t} else {\n\t\t\treturn selected.icon?.replace('outline', 'fill');\n\t\t}\n\t}\n\tif (selected && selected.presence) {\n\t\treturn 'presence-fill';\n\t}\n\treturn icon;\n};\n\nconst renderIcon = (presence, size, hasTriggerLabel, icon) => {\n\tif (presence) {\n\t\treturn (\n\t\t\t<now-icon-presence\n\t\t\t\tpresence={presence}\n\t\t\t\tsize={size}\n\t\t\t\tclass={{\n\t\t\t\t\t'now-p-inline-end--xxs': hasTriggerLabel && size !== 'lg',\n\t\t\t\t\t'now-p-inline-end--xs': hasTriggerLabel && size === 'lg',\n\t\t\t\t}}\n\t\t\t\taria-hidden=\"true\"\n\t\t\t/>\n\t\t);\n\t} else if (icon) {\n\t\treturn (\n\t\t\t<now-icon\n\t\t\t\ticon={icon}\n\t\t\t\tsize={size}\n\t\t\t\tclass={{\n\t\t\t\t\t'now-dropdown-icon': true,\n\t\t\t\t\t'now-p-inline-end--xxs': hasTriggerLabel && size !== 'lg',\n\t\t\t\t\t'now-p-inline-end--xs': hasTriggerLabel && size === 'lg',\n\t\t\t\t}}\n\t\t\t\taria-hidden=\"true\"\n\t\t\t/>\n\t\t);\n\t}\n};\n\nconst renderLabel = (hasTriggerLabel, label, icon) => {\n\tif (hasTriggerLabel) {\n\t\treturn (\n\t\t\t<span\n\t\t\t\tclass={{\n\t\t\t\t\t'now-dropdown-trigger-label': true,\n\t\t\t\t\t'now-p-inline-start--xxs': icon,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{label}\n\t\t\t</span>\n\t\t);\n\t}\n};\n\nconst renderCaret = (hideCaret, hasTriggerLabel, size) => {\n\tif (!hideCaret) {\n\t\treturn (\n\t\t\t<now-icon\n\t\t\t\tclass={{\n\t\t\t\t\t'now-dropdown-icon': true,\n\t\t\t\t\t'-caret': true,\n\t\t\t\t\t'now-p-inline-start--xxs': hasTriggerLabel && size !== 'lg',\n\t\t\t\t\t'now-p-inline-start--xs': hasTriggerLabel && size === 'lg',\n\t\t\t\t}}\n\t\t\t\tsize={size}\n\t\t\t\ticon=\"caret-down-fill\"\n\t\t\t\taria-hidden=\"true\"\n\t\t\t/>\n\t\t);\n\t}\n};\n\nconst renderDropdown = (state, {dispatch}, labelId, triggerId) => {\n\tconst {activeItem} = state;\n\n\tconst {\n\t\topened,\n\t\tselect,\n\t\titems,\n\t\tselectedItems,\n\t\tplaceholder,\n\t\ticon,\n\t\tdisabled,\n\t\tvariant,\n\t\tsize,\n\t\tbare,\n\t\thideCaret,\n\t\ttooltipContent,\n\t\tpanelFitProps = {},\n\t\thideLabel,\n\t\tshowPadding,\n\t\thideBlockPadding,\n\t\tconfigAria,\n\t\tsearch,\n\t\tnowId,\n\t\tlabel,\n\t} = state.properties;\n\tconst constrain = {\n\t\tminWidth: 'target',\n\t\tmaxWidth: 400,\n\t\tmaxHeight: 300,\n\t\t...panelFitProps.constrain,\n\t};\n\n\tlet selected;\n\tif (Array.isArray(selectedItems) && selectedItems.length === 1) {\n\t\tselected = getSelected(items, selectedItems[0]);\n\t}\n\tconst triggerLabel = getTriggerLabel(placeholder, selected, selectedItems);\n\tconst hasTriggerLabel = triggerLabel && !hideLabel;\n\n\tconst triggerIcon = getTriggerIcon(icon, selected);\n\tconst presence =\n\t\tselected && selected.presence ? selected.presence : undefined;\n\tconst count = selected && selected.count ? selected.count : undefined;\n\n\tlet dataAriaDescribedBy;\n\tlet ariaLabel = {...filterAriaAttributes(configAria, 'trigger')}?.[\n\t\t'aria-label'\n\t];\n\n\t// If aria-label from configAria is present, it will override\n\t// the button's aria-label; OR if no label is present, but there is\n\t// aria-label from configAria, then set data-ariadescribed by\n\t// to aria-label, which will be compared to tooltip\n\t// in behavior-tooltip's scheduler\n\tif ((ariaLabel && triggerLabel) || (ariaLabel && !triggerLabel)) {\n\t\tdataAriaDescribedBy = ariaLabel;\n\t}\n\n\t// If tooltip and label are present but no aria-label\n\t// is provided by configAria\n\t// button's aria-label will default to label.\n\t// Set data-ariadescribedby to label\n\t// to be compared with tooltip in behavior-tooltip's scheduler\n\tif (tooltipContent && triggerLabel && !ariaLabel) {\n\t\tdataAriaDescribedBy = triggerLabel;\n\t}\n\n\t// Determines what size the dropdown-list should be\n\t// based on the size of the dropdown trigger\n\tconst listSize = {sm: 'sm', md: 'md', lg: 'md'};\n\n\tconst listId = `now-dropdown-list-${nowId}`;\n\n\treturn (\n\t\t<now-popover\n\t\t\tclassName=\"now-dropdown-popover\"\n\t\t\tbare\n\t\t\tconstrain={pick(constrain, ['width', 'minWidth', 'maxWidth'])}\n\t\t\tpositions={panelFitProps.position}\n\t\t\toffset={panelFitProps.offset}\n\t\t\tmanage-opened\n\t\t\topened={opened}\n\t\t\tinteraction-type=\"listbox\"\n\t\t\tdisable-scroll\n\t\t\tappend-to-meta={{componentId: nowId}}\n\t\t>\n\t\t\t<button\n\t\t\t\tslot=\"trigger\"\n\t\t\t\ttype=\"button\"\n\t\t\t\tid={triggerId}\n\t\t\t\tclass={{\n\t\t\t\t\t'now-dropdown': true,\n\t\t\t\t\t...extensionSplit(variant),\n\t\t\t\t\t['-' + size]: size,\n\t\t\t\t\t'is-bare': bare,\n\t\t\t\t\t'is-disabled': disabled,\n\t\t\t\t\t'has-label': !hideLabel && triggerLabel,\n\t\t\t\t\t'has-caret': !hideCaret,\n\t\t\t\t\t'is-opened': opened,\n\t\t\t\t\t'show-padding': showPadding,\n\t\t\t\t\t'hide-block-padding': hideBlockPadding,\n\t\t\t\t}}\n\t\t\t\tdata-tooltip={tooltipContent || triggerLabel}\n\t\t\t\tdata-ariadescribedby={dataAriaDescribedBy}\n\t\t\t\ton-mouseenter={(e) => handleTooltipShow(e, dispatch, tooltipContent)}\n\t\t\t\ton-mouseleave={(e) => handleTooltipHide(e, dispatch, tooltipContent)}\n\t\t\t\ton-focusin={(e) => handleTooltipShow(e, dispatch, tooltipContent)}\n\t\t\t\ton-focusout={(e) => handleTooltipHide(e, dispatch, tooltipContent)}\n\t\t\t\taria-labelledby={label ? labelId : undefined}\n\t\t\t\taria-label={triggerLabel}\n\t\t\t\t{...filterAriaAttributes(configAria, 'trigger')}\n\t\t\t\taria-haspopup={calcAriaPattern(select)}\n\t\t\t\taria-expanded={opened ? 'true' : 'false'}\n\t\t\t\tdisabled={disabled && !tooltipContent ? true : undefined}\n\t\t\t\taria-disabled={disabled && tooltipContent ? 'true' : undefined}\n\t\t\t\ttabindex={disabled && tooltipContent ? '0' : undefined}\n\t\t\t\ton-mousedown={disabled ? (e) => e.preventDefault() : undefined}\n\t\t\t\trole={select === 'none' ? undefined : 'combobox'}\n\t\t\t\taria-controls={select === 'none' ? undefined : `${listId}-listbox`}\n\t\t\t>\n\t\t\t\t<slot name=\"trigger-content\">\n\t\t\t\t\t{renderIcon(\n\t\t\t\t\t\tpresence,\n\n\t\t\t\t\t\tsize,\n\t\t\t\t\t\thasTriggerLabel,\n\t\t\t\t\t\ttriggerIcon,\n\t\t\t\t\t)}\n\t\t\t\t\t<span className=\"now-line-height-crop\">\n\t\t\t\t\t\t<span className=\"now-align\">\n\t\t\t\t\t\t\t{renderLabel(hasTriggerLabel, triggerLabel, icon)}\n\t\t\t\t\t\t\t{count ? `\\u00A0(${count})` : undefined}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</span>\n\t\t\t\t\t{renderCaret(hideCaret, hasTriggerLabel, size)}\n\t\t\t\t</slot>\n\t\t\t</button>\n\t\t\t<now-dropdown-list\n\t\t\t\tdefer\n\t\t\t\tslot=\"content\"\n\t\t\t\tstyle={getDropdownListConstrain(constrain)}\n\t\t\t\titems={items}\n\t\t\t\tselected-items={selectedItems}\n\t\t\t\tselect={select}\n\t\t\t\tsearch={search}\n\t\t\t\tactive-item={activeItem}\n\t\t\t\tmanage-selected-items\n\t\t\t\tmanage-active-item\n\t\t\t\tsize={listSize[size]}\n\t\t\t\tconfig-aria={\n\t\t\t\t\tplaceholder || tooltipContent\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tpanel: {'aria-label': placeholder || tooltipContent},\n\t\t\t\t\t\t\t\t...configAria,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: configAria\n\t\t\t\t}\n\t\t\t\tscreen-reader-id={opened ? listId : undefined}\n\t\t\t/>\n\t\t</now-popover>\n\t);\n};\n\nconst view = (state, {dispatch}) => {\n\tconst {disabled, size, nowId, label, labelPosition, labelSize} =\n\t\tstate.properties;\n\tconst labelId = `label-${nowId}`;\n\tconst triggerId = `trigger-${nowId}`;\n\tconst labelSizeMap = {sm: 'sm', md: 'sm', lg: 'md'};\n\tconst labelSizeToUse = labelSize ? labelSize : labelSizeMap[size];\n\n\tif (label) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'now-dropdown-container': true,\n\t\t\t\t\t['-' + labelPosition]: labelPosition,\n\t\t\t\t\t['-' + labelSizeToUse]: labelSizeToUse,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<label\n\t\t\t\t\tid={labelId}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'now-dropdown-label': true,\n\t\t\t\t\t\t'is-disabled': disabled,\n\t\t\t\t\t}}\n\t\t\t\t\thtmlFor={triggerId}\n\t\t\t\t>\n\t\t\t\t\t<span className=\"now-line-height-crop\">{label}</span>\n\t\t\t\t</label>\n\n\t\t\t\t{renderDropdown(state, {dispatch}, labelId, triggerId)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn renderDropdown(state, {dispatch}, labelId, triggerId);\n};\n\n/**\n * An expandable menu that contains a list of menu options that appears when a user selects the associated trigger button.\n * This component provides the following functionality:\n * - Allow users to make one or more selections from the list of menu options.\n * - Disablement of the dropdown, preventing users from opening the dropdown.\n * - Display icons next to items within the dropdown list.\n * - Display placeholder text that appears when no items are selected within the dropdown list.\n * - Define the button style of the dropdown trigger button.\n * - Define the button size of the dropdown trigger button.\n * - Make dropdown trigger button borders and background transparent.\n * - Hide the caret icon that appears in the dropdown trigger button by default.\n * - Define tooltip text.\n * - Position and scale the dropdown list relative to the trigger button.\n * - Hide specified items in the dropdown list.\n * - Define whether bare buttons have side padding.\n * - Control how to filter dropdown items as a user types into the integrated search input.\n *\n * ```jsx\n * const dropdownItems = [{id: 'item1', label: 'Option 1'}, {id: 'item2', label: 'Option 2'}];\n *\n * <now-dropdown placeholder=\"Select\" items={dropdownItems} />\n *\n * <now-dropdown\n *    items={dropdownItems}\n *    icon=\"tag-fill\"\n *    tooltip-content=\"Select an item\"\n *    config-aria={{\n * \t\ttrigger: {'aria-label': 'Select an item'},\n * \t\tpanel: {'aria-label': 'Assigned to'}\n * \t  }}\n *    bare />\n *\n * const dropdownItemsWithDividers = [{label: 'Section 1', children: dropdownItems}];\n * <now-dropdown items={dropdownItemsWithDividers} />\n * ```\n *\n * @seismicElement now-dropdown\n * @summary An expandable menu for selecting one or more items or for taking an action.\n *\n * @uib.label Dropdown\n * @uib.icon dropdown\n * @uib.description An expandable menu for selecting one or more items or for taking an action.\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties placeholder, variant, bare, size, search, disabled, icon, hideCaret, showPadding, hideBlockPadding ,items, select, selectedItems, manageSelectedItems, hideLabel, panelFitProps, opened, manageOpened, tooltipContent, label, labelPosition, labelSize, landmark, configAria\n * @uib.layout.identifier.children icon, hideCaret\n * @uib.layout.identifier.icon image-outline\n * @uib.layout.padding.children showPadding, hideBlockPadding\n * @uib.layout.padding.icon arrow-up-down-outline\n * @uib.layout.item.children items\n * @uib.layout.item.icon checklist-outline\n * @uib.layout.selection.children select, selectedItems, manageSelectedItems, hideLabel\n * @uib.layout.selection.icon select-element-outline\n * @uib.layout.panel.children panelFitProps, opened, manageOpened\n * @uib.layout.panel.icon panel-display-bottom-outline\n * @uib.layout.accessibility.children tooltipContent, configAria, landmark\n * @uib.layout.accessibility.icon accessibility-outline\n * @uib.actions NOW_DROPDOWN#LIST_VISIBLE, NOW_DROPDOWN#LIST_HIDDEN, NOW_DROPDOWN#OPENED_SET, NOW_DROPDOWN#SELECTED_ITEMS_SET, NOW_DROPDOWN#ITEM_CLICKED\n *\n * */\ncreateEnhancedElement('now-dropdown', {\n\tproperties: {\n\t\t/**\n\t\t * An array of `DropdownItem` or `DropdownSection` items to include in the dropdown list.\n\t\t * @type {(Array.<DropdownItem> | Array.<DropdownSection>)}\n\t\t * @uib.defaultValue [{\"id\":\"l1\",\"label\":\"List item 1\"}, {\"id\":\"l2\",\"label\":\"List item 2\"}, {\"id\":\"l3\",\"label\":\"List item 3\"}, {\"id\":\"l4\",\"label\":\"List item 4\"}, {\"id\":\"l5\",\"label\":\"List item 5\"}, {\"id\":\"l6\",\"label\":\"List item 6\"}]\n\t\t * @uib.label List items\n\t\t * @uib.description An array of items or sections to include in the dropdown list.\n\t\t * @uib.typeMetadata.emptyStateBehavior EMPTY_ARRAY\n\t\t */\n\t\titems: {\n\t\t\trequired: true,\n\t\t\tschema: itemsSchema,\n\t\t},\n\t\t/**\n\t\t * An array of IDs representing selected dropdown list items. If\n\t\t * multi-select mode is not enabled, each time a user selects a dropdown list\n\t\t * item, the previously selected ID is replaced with the new ID. If\n\t\t * multi-select mode is enabled, IDs are added to or removed from the list.\n\t\t * Use `manage-selected-items` to override the default behavior and handle\n\t\t * the `NOW_DROPDOWN#SELECTED_ITEMS_SET` action manually.\n\t\t * @type {Array.<(string|number)>}\n\t\t * @uib.description An array of IDs representing selected dropdown panel items. If multi-select mode is not enabled, each time the user selects a list item, the previously selected ID is replaced with the new ID. If multi-select mode is enabled, IDs are added to or removed from the list.\n\t\t */\n\t\tselectedItems: {\n\t\t\tdefault: [],\n\t\t\tmanageable: true,\n\t\t\tschema: {type: 'array', items: {type: ['string', 'number']}},\n\t\t},\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `selectedItems` property.\n\t\t * An action with type `NOW_DROPDOWN#SELECTED_ITEMS_SET` will be dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the selected items property. Use the selected items set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageSelectedItems: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Determines what happens when the user selects a dropdown item.\n\t\t * Options include:\n\t\t * - `single`: (Default) The list is closed, the trigger label is updated with the label of the selected list item, and the list item is marked as selected. Sets the dropdown ARIA semantics to \"listbox\".\n\t\t * - `multi`: The list stays open, the trigger label is updated with the selected list item count, and the list item's selected state is toggled on/off. Sets the dropdown ARIA semantics to \"listbox\".\n\t\t * - `none`: The list closes, the trigger label is not updated, and the list item is not marked as selected. Sets the dropdown ARIA semantics to \"menu\".\n\t\t * When using the \"single\" or \"multi\" option, handle the\n\t\t * `NOW_DROPDOWN#SELECTED_ITEMS_SET` action manually. When using the \"none\"\n\t\t * option, handle the `NOW_DROPDOWN#ITEM_CLICKED` action manually.\n\t\t * Use the \"none\" option when no value is being set inside the dropdown and your app is handling the action.\n\t\t * @type {(\"single\"|\"multi\"|\"none\")}\n\t\t * @uib.label Selection\n\t\t * @uib.description Determines what happens when the user selects a dropdown item.\n\t\t */\n\t\tselect: {\n\t\t\tdefault: 'single',\n\t\t\tschema: {type: 'string', enum: ['single', 'multi', 'none']},\n\t\t},\n\t\t/**\n\t\t * When true, automatically updates the dispatch's payload when a user opens or closes the dropdown.\n\t\t * Use `manage-opened` to override the default behavior and handle the\n\t\t * `NOW_DROPDOWN#OPENED_SET` action manually.\n\t\t * @type {boolean}\n\t\t * @uib.description When true, automatically updates when a user opens or closes the dropdown.\n\t\t */\n\t\topened: {default: false, manageable: true, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `opened` property.\n\t\t * An action with type `NOW_DROPDOWN#OPENED_SET` will be dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the opened property. Use the opened set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageOpened: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Placeholder text that displays when there are no items selected in the dropdown list. If you do not\n\t\t * specify a value, especially in the case of iconic dropdowns, provide\n\t\t * `tooltipContent` and/or an `aria-label` through the `configAria` property.\n\t\t * @type {string}\n\t\t * @uib.label Placeholder text\n\t\t * @uib.description Placeholder text that displays when there are no items selected. If you do not specify a value, especially in the case of iconic dropdowns, provide tooltipContent and/or an aria-label through the configAria properties.\n\t\t * @uib.defaultValue Dropdown\n\t\t * @uib.translatable true\n\t\t */\n\t\tplaceholder: {schema: {type: 'string'}},\n\t\t/**\n\t\t * When true, disables the dropdown and prevents the dropdown from opening\n\t\t * when a user interacts with it.\n\t\t * @type {boolean}\n\t\t * @uib.label Disabled\n\t\t * @uib.description Disables user interactions with the dropdown.\n\t\t */\n\t\tdisabled: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Placeholder icon to include in the dropdown trigger. This icon is\n\t\t * replaced by the icon of a selected dropdown item if the item has an icon\n\t\t * configured.\n\t\t * @type {string}\n\t\t * @uib.label Placeholder icon\n\t\t * @uib.description Placeholder icon to include in the dropdown trigger. This icon is replaced by the icon of a selected dropdown item if the item has an icon configured\n\t\t * @uib.fieldType icon\n\t\t */\n\t\ticon: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Style to use for the dropdown trigger button.\n\t\t * Possible values:\n\t\t * - `primary`: Use for actions that users are most likely to select or the action that the product is guiding users to select.\n\t\t * - `secondary`: Use for actions that are an alternative to the primary action. These typically have less of a visual empahsis.\n\t\t * - `tertiary`: Use for actions that users may need to access, such as cancel or close. Tertiary buttons have the least visual emphasis and are often smaller than primary and secondary buttons.\n\t\t * @type {(\"primary\"|\"primary-selection\"|\"primary-ai\"|\"secondary\"|\"secondary-selection\"|\"secondary-ai\"|\"tertiary\"|\"tertiary-selection\"|\"tertiary-ai\")}\n\t\t * @uib.label Variant\n\t\t * @uib.description Defines the button style for the dropdown trigger button.\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Primary\", \"value\": \"primary\"},{\"label\": \"Primary (selection)\", \"value\": \"primary-selection\"},{\"label\": \"Primary AI\",\"value\": \"primary-ai\"},{\"label\": \"Secondary\", \"value\": \"secondary\"},{\"label\": \"Secondary (selection)\",\"value\": \"secondary-selection\"},{\"label\": \"Tertiary\",\"value\": \"tertiary\"},{\"label\": \"Tertiary (selection)\",\"value\": \"tertiary-selection\"},{\"label\": \"Secondary (selected)\",\"value\": \"secondary-selected\"},{\"label\": \"Secondary AI\",\"value\": \"secondary-ai\"},{\"label\": \"Tertiary (selected)\",\"value\": \"tertiary-selected\"},{\"label\": \"Tertiary AI\",\"value\": \"tertiary-ai\"}]\n\t\t */\n\t\tvariant: {\n\t\t\tdefault: 'secondary',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'primary',\n\t\t\t\t\t'primary-selection',\n\t\t\t\t\t'primary-ai',\n\t\t\t\t\t'secondary',\n\t\t\t\t\t'secondary-selection',\n\t\t\t\t\t'secondary-ai',\n\t\t\t\t\t'tertiary',\n\t\t\t\t\t'tertiary-selection',\n\t\t\t\t\t'tertiary-ai',\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Size of the dropdown trigger button; small (sm), medium (md), or large (lg).\n\t\t * @type {(\"sm\"|\"md\"|\"lg\")}\n\t\t * @uib.label Size\n\t\t * @uib.description Size of the dropdown trigger button; small (sm), medium (md), or large (lg).\n\t\t */\n\t\tsize: {default: 'md', schema: {type: 'string', enum: ['sm', 'md', 'lg']}},\n\t\t/**\n\t\t * When true, makes the dropdown trigger border and background transparent,\n\t\t * but retains its `variant` style setting when using an iconic button.\n\t\t * @type {boolean}\n\t\t * @uib.label Hide container\n\t\t * @uib.description Select to hide the dropdown container but retain the style when using an iconic button.\n\t\t */\n\t\tbare: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, hides the caret icon that appears in the dropdown trigger by default.\n\t\t * @type {boolean}\n\t\t * @uib.description Select to hide the caret icon that appears in the dropdown by default.\n\t\t */\n\t\thideCaret: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Text to show inside the tooltip.\n\t\t * @type {string}\n\t\t * @uib.label Tooltip text\n\t\t * @uib.description Text to show inside the tooltip.\n\t\t * @uib.translatable true\n\t\t */\n\t\ttooltipContent: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Properties to configure the dropdown list. Define these properties to position and scale the list relative to the dropdown trigger button.\n\t\t *\n\t\t * Valid properties:\n\t\t * - `position`: Array of possible positions in which to place the list, relative to its trigger button.\n\t\t *      Default: `[\"bottom-start top-start\",\"top-start bottom-start\",\"bottom-end top-end\",\"top-end bottom-end\"]`\n\t\t *      For additional information on these values, refer to the `position` property defined in the popover component.\n\t\t * - `constrain`: Object specifying size constraints relative to the list's trigger button.\n\t\t *      Default: `{\"minHeight\":32,\"minWidth\":\"target\",\"maxWidth\":400,\"maxHeight\":300}`\n\t\t *      `\"minWidth\":\"target\"` sets the minimum with of the dropdown list to the width of the trigger button. All other values are in pixels.\n\t\t * - `offset`: Number of pixels to offset the list from the trigger button.\n\t\t *\n\t\t * @type {{ position: Array<{target: string, content: string}>, constrain: object, offset: number }}\n\t\t * @uib.label List position\n\t\t * @uib.description Properties to position and scale the menu list relative to the dropdown trigger (button) using 'position', 'constrain', and 'offset'.\n\t\t */\n\t\tpanelFitProps: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tposition: {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\toneOf: [\n\t\t\t\t\t\t\t\t{type: 'string'},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\ttarget: {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\tenum: [\n\t\t\t\t\t\t\t\t\t\t\t\t'top-start',\n\t\t\t\t\t\t\t\t\t\t\t\t'top-center',\n\t\t\t\t\t\t\t\t\t\t\t\t'top-end',\n\t\t\t\t\t\t\t\t\t\t\t\t'center-start',\n\t\t\t\t\t\t\t\t\t\t\t\t'center-end',\n\t\t\t\t\t\t\t\t\t\t\t\t'bottom-start',\n\t\t\t\t\t\t\t\t\t\t\t\t'bottom-center',\n\t\t\t\t\t\t\t\t\t\t\t\t'bottom-end',\n\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\tenum: [\n\t\t\t\t\t\t\t\t\t\t\t\t'top-start',\n\t\t\t\t\t\t\t\t\t\t\t\t'top-center',\n\t\t\t\t\t\t\t\t\t\t\t\t'top-end',\n\t\t\t\t\t\t\t\t\t\t\t\t'center-start',\n\t\t\t\t\t\t\t\t\t\t\t\t'center-end',\n\t\t\t\t\t\t\t\t\t\t\t\t'bottom-start',\n\t\t\t\t\t\t\t\t\t\t\t\t'bottom-center',\n\t\t\t\t\t\t\t\t\t\t\t\t'bottom-end',\n\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\trequired: ['target'],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\toffset: {\n\t\t\t\t\t\toneOf: [{type: 'number'}, {type: 'array', items: {type: 'number'}}],\n\t\t\t\t\t},\n\t\t\t\t\tconstrain: constrainSchema,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * When true, hides the selected item(s) in the dropdown list.\n\t\t * By default, the dropdown displays the selected item or a count of selected\n\t\t * items in place of the 'placeholder' text in the label of the dropdown\n\t\t * trigger.\n\t\t * @type {boolean}\n\t\t * @uib.label Hide selected item\n\t\t * @uib.description Select to hide the selected item(s) in the dropdown list. By default, the dropdown displays the selected item or a count of selected items in place of the placeholder text in the label of the dropdown trigger.\n\t\t */\n\t\thideLabel: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, include side padding on bare buttons. By default, bare\n\t\t * buttons with labels do not have side padding.\n\t\t * @type {boolean}\n\t\t * @uib.description Select to include side padding on bare buttons. By default, bare buttons with labels do not have side padding.\n\t\t */\n\t\tshowPadding: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Deprecated\n\t\t * @private\n\t\t */\n\t\tshowPresencePattern: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * now-dropdown. The value of each key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s. These ARIA\n\t\t * properties are set on the specified element.\n\t\t * The 'trigger' key corresponds to the inner html `<button>` that acts as\n\t\t * the trigger in now-dropdown. See\n\t\t * https://www.w3.org/TR/wai-aria-1.2/#button for properties and accepted\n\t\t * values. The 'panel' key corresponds to the inner html `<div>` that acts\n\t\t * as the 'listbox'. See https://www.w3.org/TR/wai-aria-1.2/#listbox for\n\t\t * properties and accepted values.\n\t\t * @type {{ trigger: {'aria-*': string, role: string}, panel: {'aria-*': string, role: string} }}\n\t\t * @uib.label ARIA properties\n\t\t * @uib.defaultValue {\"panel\": {\"aria-label\": \"Options\"}}\n\t\t * @uib.description Defines ARIA properties on the inner html 'button' and 'listbox'.\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\toneOf: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\ttrigger: configAriaLabelSchema,\n\t\t\t\t\t\t\tpanel: configAriaLabelSchema,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tadditionalProperties: false,\n\t\t\t\t\t},\n\t\t\t\t\tconfigAriaLabelSchema,\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Includes this component as a target for the Now-Trigger-Library's\n\t\t * Landmark Focus feature.\n\t\t * @type {boolean}\n\t\t * @uib.label Landmark\n\t\t * @uib.description Allow the Landmark Focus keyboard shortcut to focus this dropdown\n\t\t */\n\t\tlandmark: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Controls how to filter dropdown items as the user types into the integrated search input.\n\t\t * - `none`: (Default) Dropdown list does not display an internal search field.\n\t\t * - `managed`: Internal input field renders without automatic search filtering.\n\t\t *      Use these parameters to manually filter or search for items as a user types\n\t\t *      outside of the list.\n\t\t * - `initial`: Internal input field renders and items whose label or sublabel begins with the input value display. Case-insensitive.\n\t\t * - `contains`: Internal input field renders and items whose label or sublabel contains the input value display. Case-insensitive.\n\t\t * @type {(\"none\"|\"managed\"|\"initial\"|\"contains\")}\n\t\t * @uib.label Search behavior\n\t\t * @uib.description Controls how to filter the dropdown items as the user types into the integrated search input.\n\t\t */\n\t\tsearch: {\n\t\t\tdefault: 'none',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['none', 'managed', 'initial', 'contains'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Text for label element associated with the dropdown\n\t\t * @type {string}\n\t\t * @uib.defaultValue\n\t\t * @uib.translatable true\n\t\t */\n\t\tlabel: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Position at which to display the label relative to the dropdown. Possible values:\n\t\t * - start\n\t\t * - top\n\t\t * @type {(\"start\"|\"top\")}\n\t\t * @uib.description Position at which to display the label relative to the dropdown.\n\t\t * @uib.defaultValue top\n\t\t * @uib.typeMetadata.choices [{\"label\":\"Start\",\"value\":\"start\"},{\"label\":\"Top\",\"value\":\"top\"}]\n\t\t */\n\t\tlabelPosition: {\n\t\t\tdefault: 'top',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['start', 'top'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Size of the label text, if label is provided. Possible values:\n\t\t * - sm\n\t\t * - md\n\t\t * - lg\n\t\t * @type {(\"sm\"|\"md\"|\"lg\")}\n\t\t * @uib.description Size of the label text, if label is provided\n\t\t * @uib.typeMetadata.choices [{\"label\":\"Small\",\"value\":\"sm\"},{\"label\":\"Medium\",\"value\":\"md\"}, {\"label\": \"Large\", \"value\": \"lg\"}]\n\t\t */\n\t\tlabelSize: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['sm', 'md', 'lg', ''],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * By default, a dropdown button's height is based on the `size` property. Set\n\t\t * this to reduce this height so that the button only takes up the\n\t\t * height required by the label and/or icons.\n\t\t * @type {boolean}\n\t\t * @uib.label Hide Block Padding\n\t\t * @uib.description By default, the dropdown button's height is based on the size. Select to reduce the button height. This sets the button height to the size of the text.\n\t\t */\n\t\thideBlockPadding: {default: false, schema: {type: 'boolean'}},\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the dropdown menu opens or closes. The payload contains a\n\t\t * boolean of `true` when the dropdown opens or `false` when the dropdown\n\t\t * closes.\n\t\t * Set the `manage-opened` property to override the default behavior and\n\t\t * handle this action manually.\n\t\t * @type {{value: boolean}}\n\t\t * @uib.description Dispatched when the dropdown menu opens or closes.\n\t\t */\n\t\t'NOW_DROPDOWN#OPENED_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tvalue: {type: 'boolean'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the dropdown menu opens and renders the content. Unlike\n\t\t * `NOW_DROPDOWN#OPENED_SET`, this action only fires after the dropdown\n\t\t * menu is rendered in the DOM. The `content` property is a node list\n\t\t * containing the dropdown's inner `now-dropdown-list` element.\n\t\t * @type {{content: NodeList}}\n\t\t * @uib.description Dispatched when the dropdown menu is fully rendered to the DOM.\n\t\t */\n\t\t'NOW_DROPDOWN#LIST_VISIBLE': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tcontent: {type: 'array'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the dropdown menu has been closed and removed. Unlike\n\t\t * `NOW_DROPDOWN#OPENED_SET`, this action only fires after the dropdown\n\t\t * menu is fully removed from the DOM.\n\t\t * @type {{}}\n\t\t * @uib.description Dispatched when the dropdown menu is fully removed from the DOM.\n\t\t */\n\t\t'NOW_DROPDOWN#LIST_HIDDEN': {schema: {type: 'object'}},\n\t\t/**\n\t\t * Dispatched when a user changes the selection of items in the dropdown\n\t\t * list. The payload contains an array containing either a single ID (for\n\t\t * `select=\"single\"`) or multiple IDs (for `select=\"multi\"`) of the\n\t\t * selected item(s). Set the `manage-selected-items` property to override\n\t\t * the default behavior and handle this action manually.\n\t\t * @type {{value: Array.<(string|number)>}}\n\t\t * @uib.label Selected items changed\n\t\t * @uib.description A user changes the selected items and the Selection setting is Single or Multi.\n\t\t */\n\t\t'NOW_DROPDOWN#SELECTED_ITEMS_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\ttype: ['string', 'number'],\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when a user selects a dropdown item. Payload contains\n\t\t * a reference to the clicked item. Handle this action for dropdown menus\n\t\t * (where `select=\"none\"`).\n\t\t * @type {{item: DropdownItem}}\n\t\t * @uib.label Item selected\n\t\t * @uib.description A user selects an item and the Selection setting is None.\n\t\t */\n\t\t'NOW_DROPDOWN#ITEM_CLICKED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {item: itemSchema},\n\t\t\t},\n\t\t},\n\t},\n\tslots: {\n\t\t/**\n\t\t * Content placed in this named slot appears inside of the dropdown trigger button,\n\t\t * taking the place of the `icon`, `placeholder`, and\n\t\t * caret icon that normally appear there. Click behavior and other\n\t\t * functionality is automatically maintained for the custom content.\n\t\t * Use this slot for custom icons or text formatting. For more complex\n\t\t * triggers, use `now-dropdown-custom-target`.\n\t\t * @uib.hidePlaceholder true\n\t\t */\n\t\t'trigger-content': {},\n\t},\n\tsetInitialState({properties}) {\n\t\tconst {items} = properties;\n\t\tconst flattened = items.flatMap((item) => item.children || item);\n\t\treturn {\n\t\t\tflattenedItems: flattened,\n\t\t\tprevEnteredKey: '',\n\t\t};\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['keydown'],\n\t\t\teffect({host, action, properties, dispatch, state, updateState}) {\n\t\t\t\tconst {items, selectedItems, opened} = properties;\n\t\t\t\tif (properties.disabled) return;\n\n\t\t\t\t/* checks if the current focused element is not equal to trigger to prevent the\n                dropdown from showing */\n\t\t\t\tconst activeElement = getActiveElement();\n\t\t\t\tif (!activeElement.classList.contains('now-dropdown')) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst {key} = action.payload.event;\n\n\t\t\t\tif (['ArrowDown', 'ArrowUp'].includes(key)) {\n\t\t\t\t\tconst focused = getFocusedEl(host);\n\t\t\t\t\tconst trigger = getTriggerEl(host);\n\n\t\t\t\t\tif (!properties.disabled && focused === trigger) {\n\t\t\t\t\t\taction.preventDefault();\n\t\t\t\t\t\tsetActiveItem(items, selectedItems, updateState);\n\t\t\t\t\t\tdispatch(() => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\ttype: 'NOW_DROPDOWN#OPENED_SET',\n\t\t\t\t\t\t\t\tpayload: {value: true},\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else if (!opened && [...key].length === 1) {\n\t\t\t\t\tconst flattened = state.flattenedItems;\n\t\t\t\t\t//If the user types multiple characters, wait and then dispatch the function\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tpath: 'prevEnteredKey',\n\t\t\t\t\t\tvalue: state.prevEnteredKey + key,\n\t\t\t\t\t\tshouldRender: false,\n\t\t\t\t\t});\n\t\t\t\t\tdispatch('NOW_DROPDOWN#MATCH_KEYWORD_ITEM', {\n\t\t\t\t\t\tflattened,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t],\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]({\n\t\t\taction,\n\t\t\tproperties,\n\t\t\tupdateState,\n\t\t\thost,\n\t\t\tstate,\n\t\t}) {\n\t\t\tconst {name} = action.payload;\n\t\t\tif (name === 'items') {\n\t\t\t\tconst {items} = properties;\n\t\t\t\tconst flattened = items.flatMap((item) => item.children || item);\n\t\t\t\tupdateState({\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'flattenedItems',\n\t\t\t\t\tvalue: flattened,\n\t\t\t\t\tshouldRender: false,\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (name === 'items' && state.opened) {\n\t\t\t\thost.shadowRoot.querySelector('now-popover').refit();\n\t\t\t}\n\t\t},\n\t\t'NOW_POPOVER#OPENED_SET': ({action, dispatch, properties}) => {\n\t\t\tconst {value} = action.payload;\n\t\t\tconst componentId = action?.meta?.appended?.componentId;\n\t\t\tconst {disabled, nowId} = properties;\n\t\t\tif (disabled) return;\n\t\t\tdispatch(() => {\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'NOW_DROPDOWN#OPENED_SET',\n\t\t\t\t\tpayload: {value},\n\t\t\t\t\tshouldDispatch: componentId === nowId,\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\t\t'NOW_POPOVER#CONTENT_VISIBLE': (coeffects) => {\n\t\t\tconst {host, properties, updateState} = coeffects;\n\t\t\tconst dropdownList = host.shadowRoot.querySelector('now-dropdown-list');\n\t\t\tdropdownList.focus();\n\n\t\t\tconst {items, selectedItems} = properties;\n\t\t\tsetActiveItem(items, selectedItems, updateState);\n\t\t\tmakeRedispatchEffect('NOW_DROPDOWN#LIST_VISIBLE')(coeffects);\n\t\t},\n\t\t'NOW_POPOVER#CONTENT_HIDDEN': (coeffects) => {\n\t\t\tconst {updateState} = coeffects;\n\t\t\tupdateState(() => {\n\t\t\t\treturn {\n\t\t\t\t\tpath: 'activeItem',\n\t\t\t\t\tvalue: null,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false,\n\t\t\t\t};\n\t\t\t});\n\t\t\tmakeRedispatchEffect('NOW_DROPDOWN#LIST_HIDDEN')(coeffects);\n\t\t},\n\t\t'NOW_DROPDOWN_LIST#SELECTED_ITEMS_SET': makeRedispatchEffect(\n\t\t\t'NOW_DROPDOWN#SELECTED_ITEMS_SET',\n\t\t),\n\t\t'NOW_DROPDOWN_LIST#ITEM_CLICKED': ({dispatch, action}) => {\n\t\t\tdispatch(({properties}) => {\n\t\t\t\tconst {select} = properties;\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'NOW_DROPDOWN#OPENED_SET',\n\t\t\t\t\tpayload: {value: false},\n\t\t\t\t\tshouldDispatch: select !== 'multi',\n\t\t\t\t};\n\t\t\t});\n\t\t\tdispatch(() => ({\n\t\t\t\ttype: 'NOW_DROPDOWN#ITEM_CLICKED',\n\t\t\t\tpayload: {item: action.payload.item},\n\t\t\t}));\n\t\t},\n\t\t'NOW_DROPDOWN_LIST#ACTIVE_ITEM_SET': ({action, updateState}) => {\n\t\t\tconst activeItem = action.payload.value;\n\t\t\tupdateState({activeItem});\n\t\t},\n\t\t'NOW_DROPDOWN#MATCH_KEYWORD_ITEM': {\n\t\t\tmodifier: {\n\t\t\t\tname: 'debounce',\n\t\t\t\tdelay: 250,\n\t\t\t},\n\t\t\teffect: ({action, state, dispatch, updateState}) => {\n\t\t\t\tconst {flattened} = action.payload;\n\t\t\t\tconst {prevEnteredKey} = state;\n\t\t\t\tmatchKeywordWithItem(flattened, prevEnteredKey, dispatch, updateState);\n\t\t\t},\n\t\t},\n\t},\n\tbehaviors: [\n\t\tfocusBehavior,\n\t\ttooltipBehavior,\n\t\t{\n\t\t\tbehavior: deferBehavior,\n\t\t\toptions: {\n\t\t\t\tevents: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'mouseenter',\n\t\t\t\t\t\ttrigger: 'now-popover',\n\t\t\t\t\t\ttarget: 'now-dropdown-list',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t],\n\tview,\n\tstyles,\n});\n","/* dropdown-panel only, deprecated */\n\nconst hostToScrollData = new WeakMap();\n\n/**\n * Attaches a listener to the window, then fires a fake event from the given element\n * to identify all ancestor elements in the element's DOM tree. More efficient than\n * climbing the tree recursively.\n * @param {HTMLElement} element\n * @param {string} uuid\n */\nconst findAncestors = (element, uuid) =>\n\tnew Promise((resolve) => {\n\t\tconst eventName = `findAncestors-${uuid}`;\n\t\tconst findListener = (e) => {\n\t\t\twindow.removeEventListener(eventName, findListener);\n\t\t\tconst path = e.composedPath ? e.composedPath() : e.path;\n\t\t\tresolve([\n\t\t\t\t...path.filter(\n\t\t\t\t\t(n) => n !== element && n.nodeType === Node.ELEMENT_NODE,\n\t\t\t\t),\n\t\t\t\tdocument,\n\t\t\t\twindow,\n\t\t\t]);\n\t\t};\n\t\twindow.addEventListener(eventName, findListener);\n\t\tconst event = new CustomEvent(eventName, {\n\t\t\tbubbles: true,\n\t\t\tcomposed: true,\n\t\t\tcancelable: false,\n\t\t});\n\t\telement.dispatchEvent(event);\n\t});\n\n/**\n * Attaches scroll listeners to the document, the window, and all ancestor elements\n * of the given host element that have shadow roots (because scroll events do not automatically\n * bubble through shadow boundaries). When any of the scroll listeners are fired, triggers\n * the callback function.\n * @param {HTMLElement} host\n * @param {string} componentId\n * @param {function} callback\n */\nexport const addOutsideScrollListener = async (host, componentId, callback) => {\n\tconst ancestors = await findAncestors(host, componentId);\n\tconst targets = ancestors.filter((el) => !!el.shadowRoot);\n\tlet handled = false;\n\tconst listener = (e) => {\n\t\tif (handled) {\n\t\t\treturn;\n\t\t}\n\t\tconst [source] = e.composedPath ? e.composedPath() : e.path;\n\t\tif (ancestors.indexOf(source) > -1) {\n\t\t\thandled = true;\n\t\t\tremoveOutsideScrollListener(host);\n\t\t\tif (callback && typeof callback === 'function') {\n\t\t\t\tcallback(host, componentId);\n\t\t\t}\n\t\t}\n\t};\n\tfor (let target of targets) {\n\t\ttarget.shadowRoot.addEventListener('scroll', listener, true);\n\t}\n\twindow.addEventListener('scroll', listener, true);\n\thostToScrollData.set(host, {listener, targets});\n};\n\n/**\n * Cleans up all scroll listeners created for the given host element.\n * @param {HTMLElement} host\n */\nexport const removeOutsideScrollListener = (host) => {\n\tif (hostToScrollData.has(host)) {\n\t\tconst {listener, targets} = hostToScrollData.get(host);\n\t\tfor (let target of targets) {\n\t\t\ttarget.shadowRoot.removeEventListener('scroll', listener, true);\n\t\t}\n\t\twindow.removeEventListener('scroll', listener, true);\n\t\thostToScrollData.delete(host);\n\t}\n};\n","/* Note: only used by deprecated now-dropdown-panel */\n\nexport const itemSchema = {\n\ttype: 'object',\n\tproperties: {\n\t\tid: {nowUIType: 'string', type: ['string', 'number']},\n\t\tlabel: {type: 'string', translatable: true},\n\t\tcount: {type: 'number'},\n\t\ticon: {type: 'string'},\n\t\tpresence: {type: 'string', enum: ['available', 'away', 'busy', 'offline']},\n\t\tdisabled: {type: 'boolean'},\n\t},\n\trequired: ['id', 'label'],\n};\n\nconst sectionSchema = {\n\ttype: 'object',\n\tproperties: {\n\t\tid: {type: ['string', 'number']},\n\t\tlabel: {type: 'string', translatable: true},\n\t\tchildren: {type: 'array', items: itemSchema},\n\t},\n\trequired: ['children'],\n};\n\nexport const itemsSchema = {\n\ttype: 'array',\n\titems: {\n\t\tanyOf: [itemSchema, sectionSchema],\n\t},\n};\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {actionTypes} from '@servicenow/ui-core';\nimport styles from './_now-dropdown-panel.scss';\nimport {\n\taddOutsideScrollListener,\n\tremoveOutsideScrollListener,\n} from './panel-outside-scroll.js';\nimport {getBestFitInfo} from '@servicenow/behavior-fit';\nimport {t} from 'sn-translate';\nimport isEqual from 'lodash/isEqual';\nimport '@servicenow/now-icon';\nimport {itemsSchema} from './schemas/dropdown-schema';\nimport {constrainSchema} from '@servicenow/behavior-fit';\nimport {filterAriaAttributes} from '@servicenow/library-enhanced-utils';\nimport {configAriaSchema} from '@servicenow/library-schemas';\n\nconst {COMPONENT_DOM_READY, COMPONENT_RENDERED, COMPONENT_PROPERTY_CHANGED} =\n\tactionTypes;\n\n/** copy from ./utils/elements.js to isolate panel code*/\nfunction createIdSelector(prefix) {\n\treturn function (host) {\n\t\tconst componentId = host.getAttribute('component-id');\n\t\treturn host.shadowRoot.getElementById(`${prefix}-${componentId}`);\n\t};\n}\n\nconst getPanelEl = createIdSelector('panel');\n\nconst getContentEl = createIdSelector('panel');\n\nconst getListboxEl = (host) =>\n\thost.shadowRoot.querySelector('.now-dropdown-panel-list');\n\nconst getItemEls = (host) => {\n\treturn [...host.shadowRoot.querySelectorAll('.now-dropdown-panel-item')];\n};\n\nconst canRenderDivider = (index, array) => {\n\tconst isLastItem = index === array.length - 1;\n\tif (isLastItem) {\n\t\treturn false;\n\t}\n\n\tconst nextItem = array[index + 1];\n\tconst isNextSectionWithLabel =\n\t\tnextItem.label && Array.isArray(nextItem.children);\n\n\treturn !isNextSectionWithLabel;\n};\n\nconst getSelectedItemEls = (host) => {\n\treturn [\n\t\t...host.shadowRoot.querySelectorAll(\n\t\t\t'.now-dropdown-panel-item[aria-selected=\"true\"]',\n\t\t),\n\t];\n};\n\nconst getFocusedItemEl = (host) => {\n\treturn host.shadowRoot.activeElement;\n};\n\nconst getFocusedItemIndex = (host) => {\n\treturn getItemEls(host).findIndex(\n\t\t(element) => element.id === getFocusedItemEl(host).id,\n\t);\n};\n\nconst getShadowRootHost = (el) => {\n\tif (el.parentElement) {\n\t\treturn getShadowRootHost(el.parentElement);\n\t}\n\tif (el.parentNode && el.parentNode instanceof DocumentFragment) {\n\t\treturn el.parentNode.host;\n\t}\n\treturn null;\n};\n\nconst isPanelList = (el) =>\n\tel.getAttribute('role') === 'listbox' || el.getAttribute('role') === 'menu';\n// end of utils\n\n/** copy from ./utils/focus.js to isolate panel code*/\nconst unfocusItem = (host) => {\n\tconst listbox = getListboxEl(host);\n\tlistbox.focus();\n};\n\nconst focusOnOpen = async (host) => {\n\tconst listbox = getListboxEl(host);\n\tlistbox.focus();\n\tconst firstFocusItem = getSelectedItemEls(host)[0] || getItemEls(host)[0];\n\tif (firstFocusItem) {\n\t\tfirstFocusItem.focus();\n\t}\n};\n\nconst focusPreviousItem = (host) => {\n\tconst lastFocusItem = getFocusedItemEl(host);\n\tif (!lastFocusItem || isPanelList(lastFocusItem)) {\n\t\tfocusFirstItem(host);\n\t\treturn;\n\t}\n\tconst lastFocusIndex = getFocusedItemIndex(host);\n\tconst nextFocusItem = getItemEls(host)[lastFocusIndex - 1];\n\tif (nextFocusItem) {\n\t\tnextFocusItem.focus();\n\t}\n};\n\nconst focusNextItem = (host) => {\n\tconst lastFocusItem = getFocusedItemEl(host);\n\tif (!lastFocusItem || isPanelList(lastFocusItem)) {\n\t\tfocusFirstItem(host);\n\t\treturn;\n\t}\n\tconst lastFocusIndex = getFocusedItemIndex(host);\n\tconst nextFocusItem = getItemEls(host)[lastFocusIndex + 1];\n\tif (nextFocusItem) {\n\t\tnextFocusItem.focus();\n\t}\n};\n\nconst focusFirstItem = (host) => {\n\tconst nextFocusItem = getItemEls(host)[0];\n\tif (nextFocusItem) {\n\t\tnextFocusItem.focus();\n\t}\n};\n\nconst focusLastItem = (host) => {\n\tconst nextFocusItem = getItemEls(host).slice(-1)[0];\n\tif (nextFocusItem) {\n\t\tnextFocusItem.focus();\n\t}\n};\n// end of focus\n\n/** copy from ./utils/helps.js to isolate panel code*/\nexport const hasPath = (list, path) =>\n\tlist.findIndex((p) => isEqual(p, path)) > -1;\n\nexport const removePath = (list, path) => list.filter((p) => !isEqual(p, path));\n\nexport const addPath = (list, path) => [...list, path];\n\nexport const togglePath = (list, path) =>\n\thasPath(list, path) ? removePath(list, path) : addPath(list, path);\n// end of helpers\n\nconst filterSelectedItems = (list, selectedItems) => {\n\treturn selectedItems.map((item) => list.find((l) => item === l.id));\n};\n\nconst renderCheckmark = (selected, select) => {\n\tif (select === 'none') {\n\t\treturn;\n\t}\n\tif (selected) {\n\t\treturn (\n\t\t\t<now-icon\n\t\t\t\tclassName=\"now-dropdown-panel-checkmark\"\n\t\t\t\ticon=\"check-fill\"\n\t\t\t\tconfig-aria={{icon: {'aria-label': t('selected')}}}\n\t\t\t/>\n\t\t);\n\t}\n\treturn <div className=\"now-dropdown-panel-checkmark\" />;\n};\n\nconst renderPresenceOrIcon = (icon, presence, selected) => {\n\tif (presence) {\n\t\treturn (\n\t\t\t<now-icon-presence\n\t\t\t\tclassName=\"now-m-inline-end--xxs\"\n\t\t\t\tpresence={presence}\n\t\t\t/>\n\t\t);\n\t} else if (icon) {\n\t\treturn (\n\t\t\t<now-icon\n\t\t\t\tclassName=\"now-m-inline-end--xxs\"\n\t\t\t\ticon={\n\t\t\t\t\tselected\n\t\t\t\t\t\t? icon.replace('outline', 'fill')\n\t\t\t\t\t\t: icon.replace('fill', 'outline')\n\t\t\t\t}\n\t\t\t\tconfig-aria={{icon: {'aria-label': t('selected')}}}\n\t\t\t/>\n\t\t);\n\t}\n\treturn '';\n};\n\nconst renderDropdownPanelItem = ({\n\tlabel,\n\tselected,\n\tselect,\n\tonClick,\n\tkey,\n\ticon,\n\tpresence,\n\tcount,\n\tdisabled,\n}) => {\n\treturn (\n\t\t<div\n\t\t\ttabindex=\"-1\"\n\t\t\tid={key}\n\t\t\tclass={{'now-dropdown-panel-item': true, 'is-disabled': disabled}}\n\t\t\ton-mouseover={(e) => {\n\t\t\t\te.currentTarget.focus();\n\t\t\t}}\n\t\t\ton-mouseout={(e) => {\n\t\t\t\tconst host = getShadowRootHost(e.currentTarget);\n\t\t\t\tunfocusItem(host);\n\t\t\t}}\n\t\t\ton-click={disabled ? undefined : onClick}\n\t\t\trole={select === 'none' ? 'menuitem' : 'option'}\n\t\t\taria-selected={\n\t\t\t\tdisabled || select === 'none' ? undefined : selected ? 'true' : 'false'\n\t\t\t}\n\t\t\taria-disabled={disabled ? 'true' : undefined}\n\t\t>\n\t\t\t{renderCheckmark(selected, select)}\n\t\t\t{renderPresenceOrIcon(icon, presence, selected)}\n\t\t\t<div className=\"now-dropdown-panel-labels\">\n\t\t\t\t<div className=\"now-line-height-crop\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"now-dropdown-panel-label\"\n\t\t\t\t\t\ton-mouseover={({target}) => {\n\t\t\t\t\t\t\tif (target.offsetWidth < target.scrollWidth) {\n\t\t\t\t\t\t\t\ttarget.title = label;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{label}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t{count ? (\n\t\t\t\t\t<div className=\"now-line-height-crop\">&nbsp;({count})</div>\n\t\t\t\t) : undefined}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nconst view = (state, {dispatch}) => {\n\tconst {fitStyle} = state;\n\tconst {select, items, selectedItems, configAria, nowId} = state.properties;\n\n\tconst onItemClick = (item) => {\n\t\tdispatch(() => {\n\t\t\treturn {\n\t\t\t\ttype: 'NOW_DROPDOWN_PANEL#ITEM_CLICKED',\n\t\t\t\tpayload: {item},\n\t\t\t};\n\t\t});\n\t\tif (select === 'single' || select === 'multi') {\n\t\t\tdispatch(({properties}) => {\n\t\t\t\tconst filteredItemIds = togglePath(selectedItems, item.id);\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'NOW_DROPDOWN_PANEL#SELECTED_ITEMS_SET',\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tvalue:\n\t\t\t\t\t\t\tproperties.select === 'multi'\n\t\t\t\t\t\t\t\t? togglePath(properties.selectedItems, item.id)\n\t\t\t\t\t\t\t\t: [item.id],\n\t\t\t\t\t\titems:\n\t\t\t\t\t\t\tproperties.select === 'multi'\n\t\t\t\t\t\t\t\t? filterSelectedItems(items, filteredItemIds)\n\t\t\t\t\t\t\t\t: [item],\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t\tif (select !== 'multi') {\n\t\t\tdispatch(() => {\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'NOW_DROPDOWN_PANEL#OPENED_SET',\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tvalue: false,\n\t\t\t\t\t\trestoreFocus: true,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t};\n\n\tconst renderItem = (item) =>\n\t\trenderDropdownPanelItem({\n\t\t\tlabel: item.label,\n\t\t\tselected:\n\t\t\t\tselectedItems &&\n\t\t\t\tselectedItems.length &&\n\t\t\t\tselectedItems.includes(item.id),\n\t\t\tselect,\n\t\t\tonClick: () => onItemClick(item),\n\t\t\tkey: `${item.id}-${nowId}`,\n\t\t\ticon: item.icon,\n\t\t\tpresence: item.presence,\n\t\t\tcount: item.count,\n\t\t\tdisabled: item.disabled,\n\t\t});\n\n\tconst renderSectionOrItem = (item, index, array) => {\n\t\tif (Array.isArray(item.children)) {\n\t\t\tconst header = item.label ? (\n\t\t\t\t<div className=\"now-dropdown-panel-header\">\n\t\t\t\t\t<div className=\"now-dropdown-panel-header-label\" title={item.label}>\n\t\t\t\t\t\t{item.label}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t) : undefined;\n\t\t\tconst divider = canRenderDivider(index, array) ? (\n\t\t\t\t<hr className=\"now-dropdown-panel-divider\" />\n\t\t\t) : undefined;\n\t\t\treturn (\n\t\t\t\t<Fragment>\n\t\t\t\t\t{header}\n\t\t\t\t\t{item.children.map(renderItem)}\n\t\t\t\t\t{divider}\n\t\t\t\t</Fragment>\n\t\t\t);\n\t\t}\n\t\treturn renderItem(item);\n\t};\n\n\treturn (\n\t\t<div id={`panel-${nowId}`} className=\"now-dropdown-panel\" style={fitStyle}>\n\t\t\t<div\n\t\t\t\tclassName=\"now-dropdown-panel-list\"\n\t\t\t\trole={select === 'none' ? 'menu' : 'listbox'}\n\t\t\t\t{...filterAriaAttributes(configAria, 'panel')}\n\t\t\t\taria-multiselectable={select === 'multi' ? 'true' : undefined}\n\t\t\t>\n\t\t\t\t{items.map(renderSectionOrItem)}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\n/**\n * The panel portion of a dropdown menu, for displaying a list of items.\n * This component should not be used directly in an application, but is used\n * by other higher level components like now-dropdown and now-split-button.\n *\n * @seismicElement now-dropdown-panel\n * @summary The panel portion of a dropdown menu, for displaying a list of items.\n * @private\n *\n * */\ncreateEnhancedElement('now-dropdown-panel', {\n\tproperties: {\n\t\t/**\n\t\t * An array of `DropdownItem` or `DropdownSection` items.\n\t\t * @type {Array.<DropdownItem|DropdownSection>} // TODO: kind of a lie now, need to decide on deprecation of this component?\n\t\t */\n\t\titems: {\n\t\t\tdefault: [],\n\t\t\tschema: itemsSchema, // TODO: kind of a lie now, need to decide on deprecation of this component?\n\t\t},\n\t\t/**\n\t\t * An array of IDs representing each selected item. If the multi-select mode\n\t\t * is not enabled, the ID of a previously selected item is cleared when\n\t\t * the user selects a new item, and a new ID is added. If the multi-select\n\t\t * mode is enabled, IDs are added to or removed from the list.\n\t\t * @type {Array.<(string|number)>}\n\t\t */\n\t\tselectedItems: {\n\t\t\tdefault: [],\n\t\t\tmanageable: true,\n\t\t\tschema: {type: 'array', items: {type: ['string', 'number']}},\n\t\t},\n\t\t/**\n\t\t * Determines what happens when the user clicks on a dropdown panel item.\n\t\t * Choose from the following:\n\t\t * - \"single\" (Default): The panel is closed, the trigger label is updated,\n\t\t *   and the item is marked as selected\n\t\t * - \"multi\": The panel stays open, the trigger label is updated, and the\n\t\t *   item's selected state is toggled on/off\n\t\t * - \"none\": The panel is closed, the trigger label is not updated, and the\n\t\t *   item is not marked as selected\n\t\t * @type {(\"single\"|\"multi\"|\"none\")}\n\t\t */\n\t\tselect: {\n\t\t\tdefault: 'single',\n\t\t\tschema: {type: 'string', enum: ['single', 'multi', 'none']},\n\t\t},\n\t\t/**\n\t\t * Automatically updated when the user opens or closes the dropdown panel.\n\t\t * Set `manage-opened` to override this behavior.\n\t\t * @type {boolean}\n\t\t */\n\t\topened: {default: false, manageable: true, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Reference to the element that defines the dropdown panel's relative\n\t\t * position. The panel does not attach click/interaction handlers to this\n\t\t * target. It is your responsibility to do so and to open/close the panel\n\t\t * when the user clicks the trigger. The panel closes automatically when\n\t\t * the user clicks outside or selects an item, depending on the select mode.\n\t\t * @type {HTMLElement}\n\t\t */\n\t\ttargetRef: {},\n\t\t/**\n\t\t * Pixel amount to shift the panel relative to its target.\n\t\t *\n\t\t * @see Fit behavior for valid values.\n\t\t * @type {number}\n\t\t * @private\n\t\t */\n\t\toffset: {\n\t\t\tschema: {\n\t\t\t\toneOf: [{type: 'number'}, {type: 'array', items: {type: 'number'}}],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Element that the panel must fit within.\n\t\t *\n\t\t * @type {HTMLElement}\n\t\t */\n\t\tcontainer: {},\n\t\t/**\n\t\t * Array of possible positions in which to place the panel,\n\t\t * relative to its target.\n\t\t *\n\t\t * @see Fit behavior for valid values.\n\t\t * @type {Array<string>}\n\t\t */\n\t\tposition: {\n\t\t\tdefault: [\n\t\t\t\t'bottom-start top-start',\n\t\t\t\t'top-start bottom-start',\n\t\t\t\t'bottom-end top-end',\n\t\t\t\t'top-end bottom-end',\n\t\t\t],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {type: 'string'},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Additional size constraints when sizing the panel,\n\t\t * relative to its target.\n\t\t *\n\t\t * @see Fit behavior for valid values.\n\t\t * @type {object}\n\t\t */\n\t\tconstrain: {\n\t\t\tdefault: {\n\t\t\t\tminHeight: 32,\n\t\t\t\tminWidth: 'target',\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tmaxHeight: 300,\n\t\t\t},\n\t\t\tschema: constrainSchema,\n\t\t},\n\t\t/**\n\t\t * Deprecated\n\t\t * @private\n\t\t */\n\t\tshowPresencePattern: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * now-dropdown. The value of each key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s. These ARIA\n\t\t * properties will be set on the specified element.\n\t\t * The 'panel' key corresponds to the inner html `<div>` that acts as the\n\t\t * 'listbox'. See https://www.w3.org/TR/wai-aria-1.2/#listbox for properties\n\t\t * and accepted values.\n\t\t * @type {{ panel: {'aria-*': string, role: string} }}\n\t\t * @uib.label ARIA Properties\n\t\t * @uib.description Sets ARIA properties on the inner div with role 'listbox'.\n\t\t */\n\t\tconfigAria: {\n\t\t\trequired: true,\n\t\t\tschema: {\n\t\t\t\tanyOf: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tpanel: {...configAriaSchema, required: ['aria-label']},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{...configAriaSchema, required: ['aria-label']},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n\tinitialState: {\n\t\tfitStyle: {},\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['click'],\n\t\t\teffect: ({action, dispatch, properties, host}) => {\n\t\t\t\tif (properties.opened) {\n\t\t\t\t\tconst {event} = action.payload;\n\t\t\t\t\tconst path = event.composedPath ? event.composedPath() : event.path;\n\t\t\t\t\tconst hostInPath = path.includes(host);\n\t\t\t\t\tif (!hostInPath) {\n\t\t\t\t\t\tdispatch(() => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\ttype: 'NOW_DROPDOWN_PANEL#OPENED_SET',\n\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\tvalue: false,\n\t\t\t\t\t\t\t\t\trestoreFocus: false,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\ttarget: document,\n\t\t},\n\t\t{\n\t\t\tevents: ['keydown'],\n\t\t\teffect({host, action, dispatch}) {\n\t\t\t\tconst {key, shiftKey} = action.payload.event;\n\n\t\t\t\tif (['Home', 'ArrowUp', 'ArrowDown', 'End'].includes(key)) {\n\t\t\t\t\taction.preventDefault();\n\n\t\t\t\t\tif (key === 'Home') {\n\t\t\t\t\t\tfocusFirstItem(host);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (key === 'ArrowDown') {\n\t\t\t\t\t\tfocusNextItem(host);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (key === 'ArrowUp') {\n\t\t\t\t\t\tfocusPreviousItem(host);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (key === 'End') {\n\t\t\t\t\t\tfocusLastItem(host);\n\t\t\t\t\t}\n\t\t\t\t} else if (['Escape', 'Tab'].includes(key)) {\n\t\t\t\t\taction.stopPropagation();\n\t\t\t\t\tconst restoreFocus = key === 'Escape' || (key === 'Tab' && shiftKey);\n\n\t\t\t\t\tdispatch(() => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttype: 'NOW_DROPDOWN_PANEL#OPENED_SET',\n\t\t\t\t\t\t\tpayload: {value: false, restoreFocus},\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t} else if ([' ', 'Enter'].includes(key)) {\n\t\t\t\t\taction.preventDefault();\n\t\t\t\t\taction.stopPropagation();\n\n\t\t\t\t\tconst itemEl = getFocusedItemEl(host);\n\n\t\t\t\t\tif (itemEl && !itemEl.hasAttribute('aria-disabled')) {\n\t\t\t\t\t\titemEl.click();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t],\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_READY]: ({properties, host, state, dispatch}) => {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(\n\t\t\t\t`<now-dropdown-panel> is a deprecated component and is no longer supported and updated. Use <now-dropdown-list> instead.`,\n\t\t\t);\n\n\t\t\tconst {targetRef, opened} = properties;\n\t\t\tif (targetRef && opened) {\n\t\t\t\tdispatch(() => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'PRIVATE#REFIT',\n\t\t\t\t\t\tpayload: {firstOpen: true},\n\t\t\t\t\t};\n\t\t\t\t});\n\n\t\t\t\taddOutsideScrollListener(host, state.properties.nowId, () => {\n\t\t\t\t\t// Note: It is usually a VERY BAD IDEA to go reach into the component's\n\t\t\t\t\t// DOM and update things without going through the render cycle. In this\n\t\t\t\t\t// case we have to reach in and set the panel's visibility to hidden\n\t\t\t\t\t// immediately on scroll because dispatching will not trigger a render\n\t\t\t\t\t// fast enough and the panel will float there while the user scrolls.\n\t\t\t\t\t// It's ok. The component will re-render shortly after and set visibility\n\t\t\t\t\t// to hidden from state, so the DOM stays in sync with state.\n\t\t\t\t\tconst panel = getPanelEl(host);\n\t\t\t\t\tif (panel) {\n\t\t\t\t\t\tpanel.style.visibility = 'hidden';\n\t\t\t\t\t}\n\t\t\t\t\tdispatch('NOW_DROPDOWN#OPENED_SET', {value: false});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\t\thost,\n\t\t\tstate,\n\t\t\tproperties,\n\t\t\taction,\n\t\t\tdispatch,\n\t\t}) => {\n\t\t\tconst {\n\t\t\t\tpayload: {name, value},\n\t\t\t} = action;\n\n\t\t\tif (\n\t\t\t\t(value && name === 'opened' && properties.targetRef) ||\n\t\t\t\t(name === 'targetRef' && properties.opened)\n\t\t\t) {\n\t\t\t\taddOutsideScrollListener(host, state.properties.nowId, () => {\n\t\t\t\t\t// Note: It is usually a VERY BAD IDEA to go reach into the component's\n\t\t\t\t\t// DOM and update things without going through the render cycle. In this\n\t\t\t\t\t// case we have to reach in and set the panel's visibility to hidden\n\t\t\t\t\t// immediately on scroll because dispatching will not trigger a render\n\t\t\t\t\t// fast enough and the panel will float there while the user scrolls.\n\t\t\t\t\t// It's ok. The component will re-render shortly after and set visibility\n\t\t\t\t\t// to hidden from state, so the DOM stays in sync with state.\n\t\t\t\t\tconst panel = getPanelEl(host);\n\t\t\t\t\tif (panel) {\n\t\t\t\t\t\tpanel.style.visibility = 'hidden';\n\t\t\t\t\t}\n\t\t\t\t\tdispatch('NOW_DROPDOWN#OPENED_SET', {value: false});\n\t\t\t\t});\n\t\t\t} else if (!value && (name === 'opened' || name === 'targetRef')) {\n\t\t\t\tremoveOutsideScrollListener(host);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tname === 'items' ||\n\t\t\t\tname === 'container' ||\n\t\t\t\tname === 'constrain' ||\n\t\t\t\tname === 'targetRef' ||\n\t\t\t\tname === 'position' ||\n\t\t\t\tname === 'offset' ||\n\t\t\t\tname === 'opened'\n\t\t\t) {\n\t\t\t\tconst firstOpen = name === 'opened';\n\t\t\t\tdispatch(() => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'PRIVATE#REFIT',\n\t\t\t\t\t\tpayload: {firstOpen},\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_RENDERED]: ({state, host, updateState}) => {\n\t\t\t// TODO-SEISMIC-HACK: We want to focus the first item in the panel as the\n\t\t\t// panel becomes opened. The challenge here is that we don't know exactly\n\t\t\t// when the updateState that includes the fit changes has finished\n\t\t\t// rendering. The fit state update sets this `firstOpen` state that we\n\t\t\t// can immediately reset here so that we don't try to focus on every\n\t\t\t// render.\n\t\t\tif (state.firstOpen) {\n\t\t\t\tfocusOnOpen(host);\n\t\t\t\tupdateState({\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'firstOpen',\n\t\t\t\t\tvalue: false,\n\t\t\t\t\tshouldRender: false,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t'PRIVATE#REFIT': {\n\t\t\tstopPropagation: true,\n\t\t\teffect: ({action, state, properties, updateState, host}) => {\n\t\t\t\tconst {\n\t\t\t\t\ttargetRef: target,\n\t\t\t\t\tcontainer,\n\t\t\t\t\tconstrain,\n\t\t\t\t\tposition,\n\t\t\t\t\toffset,\n\t\t\t\t\topened,\n\t\t\t\t} = properties;\n\n\t\t\t\tconst content = getContentEl(host);\n\t\t\t\tconst panelOpened = Boolean(opened && target);\n\t\t\t\tconst fitStyle = panelOpened\n\t\t\t\t\t? {\n\t\t\t\t\t\t\t...getBestFitInfo({\n\t\t\t\t\t\t\t\ttarget,\n\t\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t\t\tcontainer,\n\t\t\t\t\t\t\t\tposition,\n\t\t\t\t\t\t\t\toffset: Array.isArray(offset)\n\t\t\t\t\t\t\t\t\t? offset\n\t\t\t\t\t\t\t\t\t: [0, 0, offset, offset, offset, offset],\n\t\t\t\t\t\t\t\tconstrain,\n\t\t\t\t\t\t\t\tcanScrollVertical: true,\n\t\t\t\t\t\t\t}).style,\n\t\t\t\t\t\t\tvisibility: 'visible',\n\t\t\t\t\t\t}\n\t\t\t\t\t: {};\n\t\t\t\tif (!isEqual(fitStyle, state.fitStyle)) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tfitStyle,\n\t\t\t\t\t\tfirstOpen: action.payload.firstOpen,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\tview,\n\tstyles,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the user opens or closes the panel. The payload contains\n\t\t * a boolean of `true` when the dropdown is open or `false` when it is\n\t\t * closed. Set the `manage-opened` property to override\n\t\t * the default behavior and handle this action manually.\n\t\t * @type {{value: boolean}}\n\t\t */\n\t\t'NOW_DROPDOWN_PANEL#OPENED_SET': {},\n\t\t/**\n\t\t * Dispatched when the user changes the selection of items in the dropdown panel.\n\t\t * The payload key `value` contains an array containing either a single ID (`select=\"single\"`)\n\t\t * or multiple IDs (`select=\"multi\"`) of the selected item(s).\n\t\t * The payload key `items` contains an array of objects of the item or items selected from the dropdown list.\n\t\t * Set the `manage-selected-items` property to override the default behavior and\n\t\t * handle this action manually.\n\t\t * @type {{value: Array.<(string|number)>, items: Array.<Object>}}\n\t\t */\n\t\t'NOW_DROPDOWN_PANEL#SELECTED_ITEMS_SET': {},\n\t\t/**\n\t\t * Dispatched when the user selects a dropdown item. The payload contains\n\t\t * a reference to the clicked item. Handle this action for dropdown menus\n\t\t * (where `select=\"none\"`).\n\t\t * @type {{item: DropdownItem}}\n\t\t */\n\t\t'NOW_DROPDOWN_PANEL#ITEM_CLICKED': {},\n\t},\n});\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport deferBehavior from '@servicenow/behavior-defer';\nimport {makeRedispatchEffect} from '@servicenow/library-enhanced-utils';\nimport '@servicenow/now-popover';\nimport './now-dropdown-list';\nimport {itemsSchema, itemSchema} from './schemas/dropdown-list-schema';\nimport {constrainSchema} from '@servicenow/behavior-fit';\nimport {pick} from 'lodash';\nimport {setActiveItem, getDropdownListConstrain} from './utils/helpers.js';\nimport {configAriaSchema} from '@servicenow/library-schemas';\n\nconst assignedElements = (slot) =>\n\t[...slot.assignedNodes({flatten: true})].filter(\n\t\t(node) => node.nodeType === Element.ELEMENT_NODE,\n\t);\n\nconst view = (state, {updateState}) => {\n\tconst {targetRef, activeItem} = state;\n\tconst {\n\t\titems,\n\t\tselectedItems,\n\t\tselect,\n\t\topened,\n\t\tpanelFitProps,\n\t\tsearch,\n\t\tconfigAria,\n\t} = state.properties;\n\n\tconst constrain = {\n\t\tminHeight: 32,\n\t\tminWidth: 'target',\n\t\tmaxWidth: 400,\n\t\tmaxHeight: 300,\n\t\t...panelFitProps.constrain,\n\t};\n\n\treturn (\n\t\t<now-popover\n\t\t\tbare\n\t\t\tconstrain={pick(constrain, ['width', 'minWidth', 'maxWidth'])}\n\t\t\tpositions={panelFitProps.position}\n\t\t\toffset={panelFitProps.offset}\n\t\t\tmanage-opened\n\t\t\topened={opened}\n\t\t\tposition-target={targetRef}\n\t\t\tinteraction-type=\"listbox\"\n\t\t\tdisable-scroll\n\t\t>\n\t\t\t<slot\n\t\t\t\tclassName=\"now-dropdown-custom-target-slot\"\n\t\t\t\tname=\"trigger\"\n\t\t\t\tslot=\"trigger\"\n\t\t\t\ton-slotchange={(e) => {\n\t\t\t\t\tif (e.target !== e.currentTarget) {\n\t\t\t\t\t\treturn; // ignore bubbling slotchange\n\t\t\t\t\t}\n\t\t\t\t\tconst elements = assignedElements(e.target);\n\t\t\t\t\tconst targetRef = elements[0] || null;\n\t\t\t\t\tupdateState({targetRef});\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t<now-dropdown-list\n\t\t\t\tslot=\"content\"\n\t\t\t\tstyle={getDropdownListConstrain(constrain)}\n\t\t\t\titems={items}\n\t\t\t\tselected-items={selectedItems}\n\t\t\t\tselect={select}\n\t\t\t\tsearch={search}\n\t\t\t\tactive-item={activeItem}\n\t\t\t\tmanage-active-item\n\t\t\t\tmanage-selected-items\n\t\t\t\tconfig-aria={configAria}\n\t\t\t/>\n\t\t</now-popover>\n\t);\n};\n\n/**\n * A dropdown with a custom target is very similar to a standard dropdown.\n * However, the trigger element (the element which toggles the panel\n * visibility) is provided via a slot, allowing more control of the overall\n * appearance.\n *\n * ```jsx\n * const dropdownItems = [{id: 'item1', label: 'Option 1'}, {id: 'item2', label: 'Option 2'}];\n *\n * <now-dropdown-custom-target items={dropdownItems}>\n *   <now-avatar user-name=\"Fred Luddy\" slot=\"trigger\" />\n * </now-dropdown-custom-target>\n * ```\n *\n * @seismicElement now-dropdown-custom-target\n * @summary A dropdown that allows user to select one or more values and\n * control the element that is responsible for opening and closing the panel.\n **/\ncreateEnhancedElement('now-dropdown-custom-target', {\n\tinitialState: {\n\t\ttargetRef: null,\n\t},\n\tproperties: {\n\t\t/**\n\t\t * By default, the component will listen for click & key events on the\n\t\t * element in the `trigger` slot to cause the dropdown panel to open,\n\t\t * and will restore focus to the `trigger` element when the panel is\n\t\t * closed (on selection or press of the `Escape` key). Set this flag\n\t\t * to override the default behavior and respond to user interactions\n\t\t * manually instead.\n\t\t * @type {boolean}\n\t\t */\n\t\tdisableListeners: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * An array of item objects describing each item in the dropdown.\n\t\t * Each object must have a unique id and label.\n\t\t * Items with `disabled` will be visible but not selectable by the user.\n\t\t * @type {(Array.<DropdownItem> | Array.<DropdownSection>)}\n\t\t */\n\t\titems: {\n\t\t\trequired: true,\n\t\t\tschema: itemsSchema,\n\t\t},\n\t\t/**\n\t\t * An array of ids representing each selected item. If multi-select mode is\n\t\t * not enabled, each time the user selects an item, the previously selected\n\t\t * id will be cleared out and the new id will be added. If multi-select mode is\n\t\t * enabled, ids will be added to or removed from the list.\n\t\t * Use `manage-selected-items` to override the default behavior and handle the\n\t\t * `NOW_DROPDOWN#SELECTED_ITEMS_SET` action manually.\n\t\t * @type {Array.<(string|number)>}\n\t\t */\n\t\tselectedItems: {\n\t\t\tdefault: [],\n\t\t\tmanageable: true,\n\t\t\tschema: {type: 'array', items: {type: ['string', 'number']}},\n\t\t},\n\t\t/**\n\t\t * Determines what happens when the user clicks on a dropdown item.\n\t\t * Choose from the following:\n\t\t * - \"single\" (default) - the panel is closed, the trigger label is updated,\n\t\t *   and the item is marked as selected\n\t\t * - \"multi\" - the panel stays open, the trigger label is updated, and the\n\t\t *   item's selected state is toggled on/off\n\t\t * - \"none\" - the panel is closed, the trigger label is not updated, the\n\t\t *   item is not marked as selected\n\t\t * For select \"single\"/\"multi\" handle the `NOW_DROPDOWN#SELECTED_ITEMS_SET`\n\t\t * action. For select \"none\" handle the `NOW_DROPDOWN#ITEM_CLICKED` action.\n\t\t * @type {(\"single\"|\"multi\"|\"none\")}\n\t\t */\n\t\tselect: {\n\t\t\tdefault: 'single',\n\t\t\tschema: {type: 'string', enum: ['single', 'multi', 'none']},\n\t\t},\n\t\t/**\n\t\t * Automatically updated when the user opens or closes the dropdown.\n\t\t * Use `manage-opened` to override the default behavior and handle the\n\t\t * `NOW_DROPDOWN#OPENED_SET` action manually.\n\t\t * @type {boolean}\n\t\t */\n\t\topened: {default: false, manageable: true, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Properties to configure the dropdown panel.\n\t\t *\n\t\t * Valid keys are:\n\t\t *\t- position,\n\t\t *\t- offset\n\t\t *\t- container\n\t\t *\t- constrain\n\t\t *\n\t\t * Each of these keys are used to control how the panel is positioned and\n\t\t * scaled relative to the dropdown target.\n\t\t *\n\t\t * @type {{ position: Array<string>, offset: number, container: HTMLElement, constrain: object }}\n\t\t */\n\t\tpanelFitProps: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tposition: {type: 'array', items: {type: 'string'}},\n\t\t\t\t\toffset: {\n\t\t\t\t\t\toneOf: [{type: 'number'}, {type: 'array', items: {type: 'number'}}],\n\t\t\t\t\t},\n\t\t\t\t\tcontainer: {type: 'object'},\n\t\t\t\t\tconstrain: constrainSchema,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Controls how to filter the items as the user types into the integrated search input.\n\t\t * - \"none\": (default) dropdown list does not display an internal search field.\n\t\t * - \"managed\": internal input field is rendered, but no automatic filtering will happen.\n\t\t * Use this if you want to manually filter or search for items as the user types outside of the list.\n\t\t * - \"initial\": internal input field is rendered, and items whose label\n\t\t * or sublabel begins with the input value will be displayed. This is case-insensitive.\n\t\t * - \"contains\": internal input field is rendered, and items whose label\n\t\t * or sublabel contains the input value will be displayed. This is case-insensitive.\n\t\t * @type {(\"none\"|\"managed\"|\"initial\"|\"contains\")}\n\t\t * @uib.label Search Behavior\n\t\t * @uib.description Controls how to filter the items as the user types into the integrated search input\n\t\t */\n\t\tsearch: {\n\t\t\tdefault: 'none',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['none', 'managed', 'initial', 'contains'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * now-dropdown-custom-target. The value of each key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s. These ARIA\n\t\t * properties will be set on the specified element.\n\t\t * The 'panel' key corresponds to the inner html `<div>` that acts as the\n\t\t * 'listbox'. See https://www.w3.org/TR/wai-aria-1.2/#listbox for properties\n\t\t * and accepted values.\n\t\t * @type {{ panel: {'aria-*': string, role: string} }}\n\t\t * @uib.label ARIA Properties\n\t\t * @uib.description Sets ARIA properties on the inner div with role 'listbox'.\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\tanyOf: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tpanel: configAriaSchema,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tconfigAriaSchema,\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the dropdown menu is opened or closed. Payload will contain\n\t\t * a boolean of `true` when the dropdown is opened or `false` when the dropdown is closed.\n\t\t * Set the `manage-opened` property to override the default behavior and\n\t\t * handle this action manually.\n\t\t * @type {{value: boolean}}\n\t\t */\n\t\t'NOW_DROPDOWN_CUSTOM_TARGET#OPENED_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tvalue: {type: 'boolean'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the dropdown menu opens and renders the content. Unlike\n\t\t * `NOW_DROPDOWN_CUSTOM_TARGET#OPENED_SET`, this action only fires after the dropdown\n\t\t * menu is rendered in the DOM. The `content` property is a node list containing the\n\t\t * dropdown's inner `now-dropdown-list` element.\n\t\t * @type {{content: NodeList}}\n\t\t * @uib.description Dispatched when the dropdown menu is fully rendered to the DOM.\n\t\t */\n\t\t'NOW_DROPDOWN_CUSTOM_TARGET#LIST_VISIBLE': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tcontent: {type: 'array'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the dropdown menu has been closed and removed. Unlike\n\t\t * `NOW_DROPDOWN_CUSTOM_TARGET#OPENED_SET`, this action only fires after the dropdown\n\t\t * menu is fully removed from the DOM.\n\t\t * @type {{}}\n\t\t * @uib.description Dispatched when the dropdown menu is fully removed from the DOM.\n\t\t */\n\t\t'NOW_DROPDOWN_CUSTOM_TARGET#LIST_HIDDEN': {schema: {type: 'object'}},\n\t\t/**\n\t\t * Dispatched when the user changes the selection of items in the dropdown panel.\n\t\t * Payload key `value` will contain an array containing either a single ID (for `select=\"single\"`) or\n\t\t * multiple IDs (for `select=\"multi\"`) of the selected item(s).\n\t\t * Payload key `items` contains an array of objects of the item or items selected from the dropdown list.\n\t\t * Set the `manage-selected-items` property to override the default behavior and\n\t\t * handle this action manually.\n\t\t * @type {{value: Array.<(string|number)>, items: Array.<Object>}}\n\t\t */\n\t\t'NOW_DROPDOWN_CUSTOM_TARGET#SELECTED_ITEMS_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\ttype: ['string', 'number'],\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user clicks on a dropdown item. Payload will contain\n\t\t * a reference to the clicked item. Handle this action for dropdown menus (where `select=\"none\"`).\n\t\t * @type {{item: Object}}\n\t\t */\n\t\t'NOW_DROPDOWN_CUSTOM_TARGET#ITEM_CLICKED': {\n\t\t\tschema: itemSchema,\n\t\t},\n\t},\n\tslots: {\n\t\t/**\n\t\t * Content placed in this named slot will act as the trigger element for\n\t\t * the `now-dropdown-custom-target` component. The dropdown panel will\n\t\t * be positioned relative to the first child element of the slot. Clicks\n\t\t * and keyboard interaction with the slot and its content will be\n\t\t * handled automatically unless the `disableListeners` property is set.\n\t\t */\n\t\ttrigger: {},\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['keydown'],\n\t\t\teffect: ({action, properties, updateState, dispatch, state}) => {\n\t\t\t\tif (properties.disableListeners) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst {event} = action.payload;\n\t\t\t\tconst openKeys = properties.opened\n\t\t\t\t\t? ['ArrowUp', 'ArrowDown', 'Enter', 'Tab']\n\t\t\t\t\t: ['ArrowUp', 'ArrowDown', 'Enter', ' '];\n\t\t\t\tif (openKeys.includes(event.key)) {\n\t\t\t\t\tconst {targetRef} = state;\n\t\t\t\t\tconst {items, selectedItems} = properties;\n\t\t\t\t\tsetActiveItem(items, selectedItems, updateState);\n\t\t\t\t\tdispatch(() => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttype: 'NOW_DROPDOWN_CUSTOM_TARGET#OPENED_SET',\n\t\t\t\t\t\t\tpayload: {value: !properties.opened},\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t\ttargetRef.focus();\n\t\t\t\t\taction.preventDefault();\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t],\n\tactionHandlers: {\n\t\t'NOW_POPOVER#OPENED_SET': ({\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\tproperties,\n\t\t\tupdateState,\n\t\t\tstate,\n\t\t}) => {\n\t\t\tconst {value, actionSource} = action.payload;\n\t\t\tconst {disabled, items, selectedItems, disableListeners} = properties;\n\t\t\tconst {targetRef} = state;\n\t\t\tif (disabled || disableListeners) return;\n\t\t\tif (value) {\n\t\t\t\tsetActiveItem(items, selectedItems, updateState);\n\t\t\t}\n\t\t\tdispatch(() => {\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'NOW_DROPDOWN_CUSTOM_TARGET#OPENED_SET',\n\t\t\t\t\tpayload: action.payload,\n\t\t\t\t};\n\t\t\t});\n\t\t\tif (!value && actionSource === 'escape-press') targetRef.focus();\n\t\t},\n\t\t'NOW_POPOVER#CONTENT_VISIBLE': (coeffects) => {\n\t\t\tconst {host} = coeffects;\n\t\t\tconst dropdownList = host.shadowRoot.querySelector('now-dropdown-list');\n\t\t\tdropdownList.focus();\n\t\t\tmakeRedispatchEffect('NOW_DROPDOWN_CUSTOM_TARGET#LIST_VISIBLE')(\n\t\t\t\tcoeffects,\n\t\t\t);\n\t\t},\n\t\t'NOW_POPOVER#CONTENT_HIDDEN': makeRedispatchEffect(\n\t\t\t'NOW_DROPDOWN_CUSTOM_TARGET#LIST_HIDDEN',\n\t\t),\n\t\t'NOW_DROPDOWN_LIST#SELECTED_ITEMS_SET': makeRedispatchEffect(\n\t\t\t'NOW_DROPDOWN_CUSTOM_TARGET#SELECTED_ITEMS_SET',\n\t\t),\n\t\t'NOW_DROPDOWN_LIST#ITEM_CLICKED': ({dispatch, action, state}) => {\n\t\t\tconst {targetRef} = state;\n\t\t\tdispatch(({properties}) => {\n\t\t\t\tconst {select} = properties;\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'NOW_DROPDOWN_CUSTOM_TARGET#OPENED_SET',\n\t\t\t\t\tpayload: {value: false},\n\t\t\t\t\tshouldDispatch: select !== 'multi',\n\t\t\t\t};\n\t\t\t});\n\t\t\tdispatch(() => ({\n\t\t\t\ttype: 'NOW_DROPDOWN_CUSTOM_TARGET#ITEM_CLICKED',\n\t\t\t\tpayload: {item: action.payload.item},\n\t\t\t}));\n\t\t\ttargetRef.focus();\n\t\t},\n\t\t'NOW_DROPDOWN_LIST#ACTIVE_ITEM_SET': ({action, updateState}) => {\n\t\t\tconst activeItem = action.payload.value;\n\t\t\tupdateState({activeItem});\n\t\t},\n\t},\n\tbehaviors: [\n\t\tfocusBehavior,\n\t\t{\n\t\t\tbehavior: deferBehavior,\n\t\t\toptions: {\n\t\t\t\tevents: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'mouseenter',\n\t\t\t\t\t\ttrigger: 'now-popover',\n\t\t\t\t\t\ttarget: 'now-dropdown-list',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t],\n\tview,\n});\n","import './now-dropdown';\nimport './now-dropdown-list';\nimport './now-dropdown-panel';\nimport './now-dropdown-custom-target';\nimport * as info from '../package.json';\nconst {name, version} = info;\n\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n\nexport {\n\titemSchema,\n\titemsSchema,\n\tconstrainSchema,\n} from './schemas/dropdown-list-schema';\nexport {getItemForKeypress, updateActiveDescendant} from './utils/focus';\nexport {setActiveItem} from './utils/helpers';\n","export default [[\"m3.295 6.622-.392-1.11a4.212 4.212 0 0 1-.075-.205 4.454 4.454 0 0 1-.073-.255 3.543 3.543 0 0 1-.147.465l-.39 1.105h1.077ZM4.555 8h-.582a.267.267 0 0 1-.16-.045.293.293 0 0 1-.09-.12l-.245-.693H2.033l-.245.693a.295.295 0 0 1-.088.115.244.244 0 0 1-.157.05H.955l1.418-3.628h.767L4.555 8Zm1.728-.575c.12 0 .219-.015.295-.043a.525.525 0 0 0 .188-.117.398.398 0 0 0 .097-.165.698.698 0 0 0 .028-.195.555.555 0 0 0-.033-.198.344.344 0 0 0-.105-.147.484.484 0 0 0-.19-.095 1.064 1.064 0 0 0-.285-.033h-.637v.993h.642Zm-.642-2.483v.98h.492c.105 0 .199-.008.28-.025a.576.576 0 0 0 .205-.085.365.365 0 0 0 .125-.15.528.528 0 0 0 .045-.227.627.627 0 0 0-.037-.23.332.332 0 0 0-.11-.153.473.473 0 0 0-.19-.082 1.184 1.184 0 0 0-.273-.028h-.537Zm.537-.57c.244 0 .451.023.623.07.173.045.314.11.422.195a.73.73 0 0 1 .24.305c.05.12.075.254.075.403a.77.77 0 0 1-.15.457.824.824 0 0 1-.195.183 1.22 1.22 0 0 1-.285.14c.247.058.43.153.548.285a.738.738 0 0 1 .177.512c0 .153-.03.296-.09.428a.954.954 0 0 1-.257.342 1.235 1.235 0 0 1-.42.228c-.165.053-.355.08-.57.08H4.89V4.372h1.287Zm4.498 2.735c.042 0 .077.015.105.045l.298.318a1.43 1.43 0 0 1-.548.425 1.891 1.891 0 0 1-.775.145c-.271 0-.516-.046-.732-.138a1.599 1.599 0 0 1-.553-.387 1.717 1.717 0 0 1-.35-.588A2.176 2.176 0 0 1 8 6.185c0-.18.019-.351.057-.513a1.758 1.758 0 0 1 .442-.82 1.669 1.669 0 0 1 .795-.458c.16-.041.327-.062.506-.062a1.95 1.95 0 0 1 .712.133c.104.041.199.092.285.152.089.058.168.123.238.193l-.253.345a.236.236 0 0 1-.057.057.161.161 0 0 1-.095.025.217.217 0 0 1-.123-.042 2.06 2.06 0 0 0-.15-.095 1.047 1.047 0 0 0-.56-.138c-.151 0-.29.028-.417.083a.912.912 0 0 0-.328.24c-.09.103-.16.23-.21.382a1.65 1.65 0 0 0-.075.518c0 .195.027.369.08.522.055.152.13.28.223.385a.966.966 0 0 0 .33.24c.126.053.261.08.405.08a2 2 0 0 0 .23-.012.931.931 0 0 0 .36-.12c.053-.032.106-.072.16-.12a.307.307 0 0 1 .057-.038.144.144 0 0 1 .065-.015Z\",\"m4.213 9.071-.549-1.554a5.906 5.906 0 0 1-.105-.287 6.241 6.241 0 0 1-.102-.357 4.895 4.895 0 0 1-.206.651l-.546 1.547h1.508ZM5.978 11h-.815a.374.374 0 0 1-.224-.063.41.41 0 0 1-.126-.168l-.343-.97H2.446l-.343.97a.412.412 0 0 1-.123.16.342.342 0 0 1-.22.07H.937l1.985-5.078h1.075L5.976 11Zm2.419-.805c.168 0 .306-.02.413-.06a.712.712 0 0 0 .263-.164.558.558 0 0 0 .136-.231.977.977 0 0 0 .039-.273.79.79 0 0 0-.046-.277.481.481 0 0 0-.147-.206.678.678 0 0 0-.266-.133 1.49 1.49 0 0 0-.399-.046h-.892v1.39h.899Zm-.9-3.476v1.372h.69c.147 0 .278-.011.392-.035a.806.806 0 0 0 .287-.119.511.511 0 0 0 .175-.21.738.738 0 0 0 .063-.318.878.878 0 0 0-.052-.322.465.465 0 0 0-.154-.214.663.663 0 0 0-.266-.115 1.657 1.657 0 0 0-.382-.039h-.752Zm.753-.798c.34 0 .631.033.872.098a1.6 1.6 0 0 1 .591.273c.154.117.266.26.336.427.07.168.105.356.105.564a1.077 1.077 0 0 1-.21.64c-.07.094-.161.179-.273.256a1.673 1.673 0 0 1-.399.196c.345.081.6.214.767.399.165.184.248.423.248.717 0 .215-.042.414-.126.599a1.334 1.334 0 0 1-.36.48 1.728 1.728 0 0 1-.588.318 2.594 2.594 0 0 1-.798.112H6.448V5.92H8.25Zm6.297 3.829c.058 0 .107.021.147.063l.417.445c-.206.261-.461.46-.767.595-.303.135-.665.203-1.085.203-.38 0-.722-.064-1.025-.193a2.239 2.239 0 0 1-.774-.542 2.405 2.405 0 0 1-.49-.823 3.047 3.047 0 0 1-.171-1.04c0-.251.027-.49.08-.717.056-.228.137-.438.242-.63a2.289 2.289 0 0 1 .882-.91c.186-.11.39-.192.609-.248a2.77 2.77 0 0 1 .707-.088 2.73 2.73 0 0 1 .997.186c.145.058.278.13.4.213.123.082.234.172.332.27l-.354.483a.329.329 0 0 1-.08.08.225.225 0 0 1-.133.035.305.305 0 0 1-.172-.06 2.884 2.884 0 0 0-.21-.132 1.465 1.465 0 0 0-.784-.193 1.45 1.45 0 0 0-.584.116c-.178.077-.33.189-.459.336a1.537 1.537 0 0 0-.294.535 2.31 2.31 0 0 0-.105.725c0 .273.038.517.112.731.077.213.181.392.312.54.133.146.287.258.462.335.177.075.366.112.567.112.119 0 .226-.006.322-.017a1.3 1.3 0 0 0 .27-.06 1.13 1.13 0 0 0 .234-.108c.074-.045.149-.1.224-.168a.434.434 0 0 1 .08-.053.201.201 0 0 1 .091-.02Z\",\"m6.01 12.936-.742-2.194a9.726 9.726 0 0 1-.176-.49c-.062-.19-.124-.396-.187-.616a8.646 8.646 0 0 1-.352 1.117l-.737 2.183h2.195ZM8.965 16h-1.44a.64.64 0 0 1-.391-.11.737.737 0 0 1-.226-.292l-.473-1.397H3.387l-.473 1.397a.68.68 0 0 1-.22.28.604.604 0 0 1-.385.122H.857L3.96 7.986h1.903L8.964 16Zm3.799-1.403c.246 0 .446-.03.6-.093a.949.949 0 0 0 .368-.242.812.812 0 0 0 .182-.336c.033-.124.05-.25.05-.38 0-.146-.02-.278-.061-.395a.626.626 0 0 0-.198-.297.942.942 0 0 0-.369-.187 2.163 2.163 0 0 0-.583-.066h-1.298v1.996h1.31Zm-1.309-5.22v1.98h.968c.206 0 .39-.014.556-.043.165-.03.304-.08.418-.154a.682.682 0 0 0 .264-.303 1.11 1.11 0 0 0 .093-.484c0-.19-.024-.348-.071-.473a.68.68 0 0 0-.22-.308.925.925 0 0 0-.38-.165c-.15-.033-.33-.05-.539-.05h-1.089Zm1.09-1.39c.553 0 1.024.05 1.413.153.388.103.706.248.951.435.246.187.424.414.534.682.113.268.17.566.17.896 0 .18-.025.354-.077.523-.051.165-.132.32-.242.467-.11.143-.25.275-.423.396s-.38.226-.622.314c.528.128.919.335 1.172.621.253.286.38.657.38 1.111 0 .341-.067.659-.199.952a2.19 2.19 0 0 1-.583.77 2.78 2.78 0 0 1-.94.511 4.16 4.16 0 0 1-1.282.182h-3.2V7.986h2.947Zm9.821 5.939c.044 0 .088.01.132.028a.328.328 0 0 1 .127.082l.737.776c-.323.422-.728.74-1.216.957-.484.213-1.058.319-1.721.319a4.173 4.173 0 0 1-1.64-.308 3.625 3.625 0 0 1-1.226-.858c-.333-.367-.59-.8-.77-1.298a4.815 4.815 0 0 1-.27-1.634 4.5 4.5 0 0 1 .292-1.644 3.82 3.82 0 0 1 .82-1.298 3.69 3.69 0 0 1 1.265-.847 4.233 4.233 0 0 1 1.622-.303c.301 0 .583.028.847.083.268.051.517.125.748.22a3.293 3.293 0 0 1 1.155.764l-.627.842a.882.882 0 0 1-.143.143.385.385 0 0 1-.23.06.412.412 0 0 1-.188-.044 2.533 2.533 0 0 1-.187-.104 4.834 4.834 0 0 0-.22-.138 1.332 1.332 0 0 0-.28-.137 2.054 2.054 0 0 0-.38-.11 2.547 2.547 0 0 0-.506-.044c-.308 0-.59.057-.847.17-.253.114-.473.28-.66.5a2.328 2.328 0 0 0-.429.804 3.618 3.618 0 0 0-.148 1.083c0 .411.055.776.165 1.095a2.5 2.5 0 0 0 .456.808 1.977 1.977 0 0 0 1.502.666c.169 0 .323-.007.462-.022a1.79 1.79 0 0 0 .732-.236c.106-.067.214-.15.324-.248a.58.58 0 0 1 .143-.088.353.353 0 0 1 .16-.039Z\",\"m8.377 17.102-.945-2.793c-.07-.178-.144-.385-.224-.623a23.531 23.531 0 0 1-.238-.784 11.038 11.038 0 0 1-.448 1.42l-.938 2.78h2.793ZM12.137 21h-1.835c-.205 0-.37-.046-.497-.14a.939.939 0 0 1-.287-.37l-.602-1.778H5.038l-.602 1.777a.866.866 0 0 1-.28.357.77.77 0 0 1-.49.154H1.818l3.948-10.198h2.422L12.136 21Zm4.836-1.785c.312 0 .567-.04.762-.119.201-.079.358-.181.47-.308.112-.125.189-.268.23-.427a1.88 1.88 0 0 0 .064-.483c0-.186-.026-.354-.077-.503a.798.798 0 0 0-.253-.378 1.198 1.198 0 0 0-.468-.238 2.753 2.753 0 0 0-.742-.085h-1.652v2.541h1.665Zm-1.666-6.643v2.52h1.231c.262 0 .497-.018.707-.056.21-.037.388-.102.532-.195a.871.871 0 0 0 .336-.385c.08-.164.12-.37.12-.617 0-.242-.03-.443-.091-.601a.865.865 0 0 0-.28-.393 1.177 1.177 0 0 0-.483-.21 3.241 3.241 0 0 0-.687-.063h-1.386Zm1.385-1.77c.705 0 1.305.065 1.8.196.494.13.898.315 1.21.553.313.238.54.527.68.867.144.341.216.722.216 1.142 0 .228-.032.45-.098.665-.065.21-.168.408-.308.595-.14.181-.32.35-.538.503-.22.154-.483.287-.791.4.672.163 1.169.426 1.49.79.322.364.483.836.483 1.414 0 .434-.083.838-.252 1.212a2.79 2.79 0 0 1-.741.98 3.543 3.543 0 0 1-1.198.65c-.476.155-1.02.232-1.63.232H12.94V10.8h3.752Zm12.501 7.559a.44.44 0 0 1 .168.035c.056.02.11.054.161.105l.938.987c-.41.537-.926.943-1.547 1.218-.616.271-1.346.407-2.19.407-.775 0-1.47-.131-2.087-.392a4.615 4.615 0 0 1-1.56-1.093 4.884 4.884 0 0 1-.98-1.651 6.13 6.13 0 0 1-.344-2.08c0-.76.124-1.458.371-2.092a4.86 4.86 0 0 1 1.043-1.652 4.696 4.696 0 0 1 1.61-1.079 5.387 5.387 0 0 1 2.065-.384c.383 0 .742.035 1.078.104.341.066.658.16.952.28a4.261 4.261 0 0 1 1.47.973l-.798 1.071a1.119 1.119 0 0 1-.182.182.49.49 0 0 1-.294.077.526.526 0 0 1-.238-.056 3.257 3.257 0 0 1-.238-.133 6.037 6.037 0 0 0-.28-.175 1.692 1.692 0 0 0-.357-.175 2.607 2.607 0 0 0-.483-.14 3.237 3.237 0 0 0-.644-.056c-.392 0-.75.073-1.078.218a2.365 2.365 0 0 0-.84.636 2.966 2.966 0 0 0-.546 1.022 4.604 4.604 0 0 0-.189 1.38c0 .522.07.986.21 1.393.145.405.339.748.581 1.029a2.52 2.52 0 0 0 1.911.846c.215 0 .411-.009.588-.027a3.25 3.25 0 0 0 .497-.105c.154-.052.3-.117.434-.197a2.97 2.97 0 0 0 .413-.314.736.736 0 0 1 .182-.113.448.448 0 0 1 .203-.049Z\"]];","export default [[\"M11 5.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0ZM6.25 2.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM8 4.464a.5.5 0 0 0-.5-.5h-4a.5.5 0 1 0 0 1h.711a.25.25 0 0 1 .248.286l-.456 3.167a.5.5 0 1 0 .995.1l.266-1.36a.24.24 0 0 1 .472 0l.267 1.36a.5.5 0 0 0 .995-.1L6.54 5.25a.25.25 0 0 1 .248-.286H7.5a.5.5 0 0 0 .5-.5Z\",\"M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0Zm8.5-4.464a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM11 5.5a.5.5 0 0 0-.5-.5h-6a.5.5 0 0 0 0 1h1.726a.25.25 0 0 1 .25.273l-.473 5.18a.5.5 0 1 0 .995.1l.281-2.357a.223.223 0 0 1 .442 0l.282 2.356a.5.5 0 1 0 .995-.1l-.473-5.18A.25.25 0 0 1 8.774 6H10.5a.5.5 0 0 0 .5-.5Z\",\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm12.5-5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm3 3a1 1 0 0 0-1-1h-7a1 1 0 1 0 0 2h1.679a.25.25 0 0 1 .245.297L9.356 16.81a1 1 0 1 0 1.964.38l.606-3.129a.075.075 0 0 1 .148 0l.605 3.129a1 1 0 0 0 1.964-.38l-1.067-5.512a.25.25 0 0 1 .246-.298H15.5a1 1 0 0 0 1-1Z\",\"M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Zm14-5a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm5.5 1a1.5 1.5 0 0 1 0 3h-2.238a.5.5 0 0 0-.494.578l1.214 7.688a1.494 1.494 0 0 1-.321 1.184 1.497 1.497 0 0 1-1.314.542 1.5 1.5 0 0 1-1.334-1.293l-.7-4.431a.317.317 0 0 0-.626 0l-.705 4.466-.003.019a1.5 1.5 0 1 1-2.954-.526l1.208-7.649a.5.5 0 0 0-.494-.578H10.5a1.5 1.5 0 0 1 0-3h11Z\"],[\"<path d='M6.25 2.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM7.5 3.964a.5.5 0 1 1 0 1h-.711a.25.25 0 0 0-.248.286l.457 3.167a.5.5 0 0 1-.995.1l-.267-1.36a.24.24 0 0 0-.472 0l-.266 1.36a.5.5 0 0 1-.995-.1l.456-3.167a.25.25 0 0 0-.248-.286H3.5a.5.5 0 0 1 0-1h4Z'></path><path d='M5.5 11a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11Zm0-1a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Z'></path>\",\"<path d='M8.5 3.036a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM10.5 5a.5.5 0 0 1 0 1H8.774a.25.25 0 0 0-.25.273l.474 5.18a.5.5 0 0 1-.995.1L7.72 9.195a.223.223 0 0 0-.442 0l-.281 2.356a.5.5 0 1 1-.995-.1l.472-5.18A.25.25 0 0 0 6.226 6H4.5a.5.5 0 0 1 0-1h6Z'></path><path d='M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0ZM7.5 1a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13Z'></path>\",\"<path d='M16.5 10a1 1 0 0 0-1-1h-7a1 1 0 1 0 0 2h1.679a.25.25 0 0 1 .245.297L9.356 16.81a1 1 0 1 0 1.964.38l.606-3.129a.075.075 0 0 1 .148 0l.605 3.129a1 1 0 0 0 1.964-.38l-1.067-5.512a.25.25 0 0 1 .246-.298H15.5a1 1 0 0 0 1-1ZM12 8.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z'></path><path d='M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm11-9a9 9 0 1 0 0 18 9 9 0 0 0 0-18Z'></path>\",\"<path d='M16 11a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm5.5 1a1.5 1.5 0 0 1 0 3h-2.238a.5.5 0 0 0-.494.578l1.214 7.688a1.494 1.494 0 0 1-.321 1.184 1.497 1.497 0 0 1-1.314.542 1.5 1.5 0 0 1-1.334-1.293l-.7-4.431a.317.317 0 0 0-.626 0l-.705 4.466-.003.019a1.5 1.5 0 1 1-2.954-.526l1.208-7.649a.5.5 0 0 0-.494-.578H10.5a1.5 1.5 0 0 1 0-3h11Z'></path><path d='M16 2C8.268 2 2 8.268 2 16s6.268 14 14 14 14-6.268 14-14S23.732 2 16 2ZM4 16C4 9.373 9.373 4 16 4s12 5.373 12 12-5.373 12-12 12S4 22.627 4 16Z'></path>\"]];","export default [[\"<path d='M5.627 1.002a4.5 4.5 0 1 0 2.206 8.346.5.5 0 0 1 .518.855A5.5 5.5 0 1 1 8.416.837a.5.5 0 0 1-.53.848 4.5 4.5 0 0 0-2.26-.683Z'></path><path d='M9.293 6 8.146 7.146a.5.5 0 0 0 .708.708l2-2a.5.5 0 0 0 0-.708l-2-2a.5.5 0 1 0-.708.708L9.293 5H4.5a.5.5 0 0 0 0 1h4.793Z'></path>\",\"<path d='M4.045.843a7.5 7.5 0 0 1 7.63.426.5.5 0 0 1-.557.831 6.5 6.5 0 1 0-.251 10.96.5.5 0 1 1 .518.855A7.5 7.5 0 1 1 4.045.843Z'></path><path d='m13.293 8-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708.708L13.293 7H6.5a.5.5 0 0 0 0 1h6.793Z'></path>\",\"<path d='M12.026 3a9 9 0 1 0 4.847 16.567 1 1 0 1 1 1.083 1.681 11 11 0 1 1-.358-18.717 1 1 0 0 1-1.018 1.722A9 9 0 0 0 12.026 3Z'></path><path d='m19.586 13-2.293 2.293a1 1 0 0 0 1.414 1.414l4-4a1 1 0 0 0 0-1.414l-4-4a1 1 0 1 0-1.414 1.414L19.586 11H10a1 1 0 1 0 0 2h9.586Z'></path>\",\"<path d='M15.808 4.002c2.16-.035 4.84.484 6.592 1.798a1 1 0 0 0 1.2-1.6c-2.247-1.686-5.435-2.236-7.824-2.198A14 14 0 0 0 16.079 30c1.261-.007 2.715-.28 4.032-.671 1.311-.389 2.579-.92 3.444-1.497a1 1 0 0 0-1.11-1.664c-.635.423-1.693.885-2.902 1.243-1.202.357-2.461.583-3.475.589a12 12 0 0 1-.26-23.998Z'></path><path d='M22.293 9.293a1 1 0 0 1 1.414 0l6 6a1 1 0 0 1 0 1.414l-6 6a1 1 0 0 1-1.414-1.414L26.586 17H13a1 1 0 1 1 0-2h13.586l-4.293-4.293a1 1 0 0 1 0-1.414Z'></path>\"]];","export default [[\"M6.025.268c.44.113.729.403.864.749a4.5 4.5 0 0 1 1.997.668.5.5 0 1 0 .53-.848A5.5 5.5 0 0 0 5.75.05l.04.156.236.06Zm-.979 5.443c.423-.102.703-.379.839-.711h4.408L9.146 3.854a.5.5 0 1 1 .707-.708l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 1 1-.707-.708L10.293 6H5.5a.5.5 0 0 1-.454-.289ZM1.737 8.25A5.5 5.5 0 0 1 1.601 8h1.157a4.5 4.5 0 0 0 6.075 1.348.5.5 0 1 1 .518.855 5.5 5.5 0 0 1-7.614-1.952ZM3.46 1.176a1 1 0 0 0 .72-.72l.06-.237c.07-.268.45-.268.52 0l.06.237a1 1 0 0 0 .72.72l.237.06c.268.07.268.45 0 .52l-.237.06a1 1 0 0 0-.72.72l-.06.236c-.07.27-.45.27-.52 0l-.06-.236a1 1 0 0 0-.72-.72l-.237-.06c-.268-.07-.268-.45 0-.52l.237-.06ZM2.212 2.515A2 2 0 0 1 .515 4.212l-.283.04c-.286.041-.286.455 0 .495l.283.04a2 2 0 0 1 1.697 1.698l.04.283c.042.286.455.286.496 0l.04-.283a2 2 0 0 1 1.697-1.697l.283-.04c.286-.041.286-.455 0-.496l-.283-.04a2 2 0 0 1-1.697-1.697l-.04-.283c-.041-.286-.454-.286-.495 0l-.04.283Z\",\"<path d='m7.787 1.006.075.004a6.5 6.5 0 0 1 3.256 1.09.5.5 0 0 0 .557-.83A7.5 7.5 0 0 0 7.45 0c.062.097.11.209.143.334l.133.521a.63.63 0 0 0 .061.151ZM6.496 7.729a2.003 2.003 0 0 0-.387.082A.5.5 0 0 0 6.5 8h6.793l-2.147 2.146a.5.5 0 0 0 .707.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.707.708L13.293 7H7.788c-.152.354-.474.638-.967.693l-.325.036ZM.179 7.693a1.402 1.402 0 0 1-.177-.031 7.5 7.5 0 0 0 11.383 6.253.5.5 0 1 0-.518-.855A6.5 6.5 0 0 1 1.01 7.853a2 2 0 0 0-.506-.124L.18 7.693Zm6.098-6.589a1.63 1.63 0 0 1-1.173 1.173l-.521.134c-.11.028-.11.185 0 .213l.52.134A1.63 1.63 0 0 1 6.278 3.93l.134.521c.028.11.185.11.213 0l.134-.52A1.63 1.63 0 0 1 7.93 2.757l.521-.134c.11-.028.11-.185 0-.213l-.52-.134a1.63 1.63 0 0 1-1.174-1.173l-.133-.52c-.028-.11-.185-.11-.213 0l-.134.52Z'></path><path d='M.615 6.265a3 3 0 0 0 2.65-2.65l.036-.326c.027-.237.371-.237.398 0l.036.326a3 3 0 0 0 2.65 2.65l.326.036c.237.027.237.371 0 .398l-.326.036a3 3 0 0 0-2.65 2.65l-.036.326c-.027.237-.371.237-.398 0l-.036-.326a3 3 0 0 0-2.65-2.65l-.326-.036c-.237-.027-.237-.371 0-.398l.326-.036Z'></path>\",\"<path d='M13.932 2.314c1.02.113 1.64.761 1.863 1.526.268.124.53.262.785.413a1 1 0 1 0 1.018-1.722 11 11 0 0 0-4.917-1.51l.005.048.037.325a1 1 0 0 0 .883.884l.326.036Zm-4.919 9.851c.173-.09.36-.154.558-.19l1.163-.212c.592-.107 1.044-.389 1.358-.763h7.494l-2.293-2.293a1 1 0 0 1 1.414-1.414l4 4a1 1 0 0 1 0 1.415l-4 4a1 1 0 0 1-1.414-1.415L19.586 13H10a1 1 0 0 1-.987-.835ZM1 11.897a11.007 11.007 0 0 0 1.623 5.854 11 11 0 0 0 15.333 3.497 1 1 0 0 0-1.083-1.681 9.002 9.002 0 0 1-12.9-3.498 2.266 2.266 0 0 1-.736-1.334l-.212-1.164a1.983 1.983 0 0 0-1.596-1.596L1 11.897Zm6.615-7.631a3 3 0 0 0 2.65-2.65l.036-.327c.027-.237.371-.237.398 0l.036.326a3 3 0 0 0 2.65 2.65l.326.037c.237.026.237.37 0 .397l-.326.036a3 3 0 0 0-2.65 2.65l-.036.327c-.027.237-.371.237-.398 0l-.036-.326a3 3 0 0 0-2.65-2.65l-.326-.037c-.237-.026-.237-.37 0-.397l.326-.036Z'></path><path d='M1.787 8.994a3.983 3.983 0 0 0 3.206-3.207l.212-1.163c.06-.329.53-.329.59 0l.212 1.163a3.983 3.983 0 0 0 3.206 3.207l1.164.211c.328.06.328.53 0 .59l-1.164.212a3.983 3.983 0 0 0-3.206 3.207l-.212 1.163c-.06.329-.53.329-.59 0l-.212-1.163a3.983 3.983 0 0 0-3.206-3.207L.623 9.796c-.328-.06-.328-.53 0-.59l1.164-.212Z'></path>\",\"<path d='M13.968 1.886a3 3 0 0 1-2.034 2.034l-1.239.363c-.196.058-.196.335 0 .392l1.24.364a3 3 0 0 1 2.033 2.034l.364 1.239c.057.195.334.195.392 0l.364-1.24A3 3 0 0 1 17.12 5.04l1.24-.364c.195-.057.195-.334 0-.392l-1.24-.363a3 3 0 0 1-2.034-2.034l-.363-1.24c-.058-.195-.335-.195-.392 0l-.364 1.24ZM6.625 7.367a4.385 4.385 0 0 1-3.258 3.258l-2.676.633c-.255.06-.255.423 0 .484l2.678.634a4.385 4.385 0 0 1 3.256 3.258l.633 2.675c.06.255.423.255.484 0l.634-2.677a4.385 4.385 0 0 1 3.256-3.256l2.677-.634c.255-.06.255-.424 0-.484l-2.675-.633A4.385 4.385 0 0 1 8.376 7.37l-.634-2.68c-.06-.255-.424-.255-.484 0l-.633 2.676Zm13.887-2.905a2.528 2.528 0 0 0-.168-.832c-.223-.584-.655-1.097-1.227-1.485 1.892.256 3.916.88 5.483 2.055a1 1 0 1 1-1.2 1.6c-.812-.608-1.822-1.046-2.888-1.338Z'></path><path d='M3.095 14.375A13.999 13.999 0 0 0 17.08 30c1.26-.007 2.714-.28 4.031-.67 1.311-.39 2.579-.921 3.444-1.498a1 1 0 0 0-1.11-1.664c-.635.424-1.693.885-2.902 1.244-1.202.356-2.461.582-3.475.588A12 12 0 0 1 5.39 19.034a2.524 2.524 0 0 1-.078-.265l-.633-2.675a2.385 2.385 0 0 0-1.584-1.72Zm21.612-5.082a1 1 0 1 0-1.414 1.414L27.586 15H14a1 1 0 1 0 0 2h13.586l-4.293 4.293a1 1 0 0 0 1.414 1.414l6-6a1 1 0 0 0 0-1.414l-6-6Z'></path>\"]];","export default [[\"M4.546.002a.5.5 0 0 1 .444.4L6.586 8.38l1.433-5.017a.5.5 0 0 1 .95-.039l1.003 2.678.554-1.66A.5.5 0 0 1 11 4h1v1h-.64l-.886 2.658a.5.5 0 0 1-.942.018l-.968-2.58-1.583 5.541a.5.5 0 0 1-.971-.039l-1.67-8.35-1.376 3.438A.5.5 0 0 1 2.5 6H0V5h2.161L4.036.314a.5.5 0 0 1 .51-.312Z\",\"M6.577 1.006a.5.5 0 0 1 .417.418l1.558 10.129 1.457-7.647a.5.5 0 0 1 .969-.053l1.472 4.785.565-2.26A.5.5 0 0 1 13.5 6H15v1h-1.11l-.905 3.621a.5.5 0 0 1-.963.026l-1.408-4.575-1.623 8.522a.5.5 0 0 1-.985-.018L6.245 3.13 3.947 7.724A.5.5 0 0 1 3.5 8H1V7h2.191l2.862-5.724a.5.5 0 0 1 .524-.27Z\",\"M9.147 2.01a1 1 0 0 1 .847.88l1.44 12.954 2.605-9.119a1 1 0 0 1 1.922 0l1.197 4.188.913-2.284A1 1 0 0 1 19 8h4v2h-3.323l-1.748 4.371a1 1 0 0 1-1.89-.096L15 10.64l-3.039 10.635a1 1 0 0 1-1.955-.165L8.425 6.88l-1.506 3.514A1 1 0 0 1 6 11H1V9h4.34l2.74-6.394a1 1 0 0 1 1.067-.595Z\",\"M13.115 4.007a1 1 0 0 1 .88.903l1.466 16.121 2.569-10.273a1 1 0 0 1 1.931-.033l1.197 4.188.913-2.284A1 1 0 0 1 23 12h6v2h-5.323l-1.748 4.371a1 1 0 0 1-1.89-.096l-.975-3.41-3.094 12.378a1 1 0 0 1-1.966-.152L12.437 9.85l-1.488 4.465A1 1 0 0 1 10 15H3v-2h6.28l2.771-8.316a1 1 0 0 1 1.064-.677Z\"]];","export default [[\"<path d='M5.5 2a.5.5 0 0 1 .5.5V3h.5a.5.5 0 0 1 0 1H6v.5a.5.5 0 0 1-1 0V4h-.5a.5.5 0 0 1 0-1H5v-.5a.5.5 0 0 1 .5-.5Z'></path><path d='M1.5 0A1.5 1.5 0 0 0 0 1.5v4A1.5 1.5 0 0 0 1.5 7h8A1.5 1.5 0 0 0 11 5.5v-4A1.5 1.5 0 0 0 9.5 0h-8ZM1 1.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-4ZM0 9a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V9Z'></path>\",\"<path d='M7.5 3a.5.5 0 0 1 .5.5V4h.5a.5.5 0 0 1 0 1H8v.5a.5.5 0 0 1-1 0V5h-.5a.5.5 0 0 1 0-1H7v-.5a.5.5 0 0 1 .5-.5Z'></path><path d='M1 2.5A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v4A1.5 1.5 0 0 1 12.5 8h-10A1.5 1.5 0 0 1 1 6.5v-4ZM2.5 2a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-10Zm0 7A1.5 1.5 0 0 0 1 10.5v3A1.5 1.5 0 0 0 2.5 15h10a1.5 1.5 0 0 0 1.5-1.5v-3A1.5 1.5 0 0 0 12.5 9h-10Z'></path>\",\"<path d='M12 3a1 1 0 0 1 1 1v1h1a1 1 0 1 1 0 2h-1v1a1 1 0 1 1-2 0V7h-1a1 1 0 1 1 0-2h1V4a1 1 0 0 1 1-1Z'></path><path d='M4 0a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H4ZM3 3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V3ZM1 17a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v3a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3v-3Z'></path>\",\"<path d='M16 5a1 1 0 0 1 1 1v2h2a1 1 0 1 1 0 2h-2v2a1 1 0 1 1-2 0v-2h-2a1 1 0 1 1 0-2h2V6a1 1 0 0 1 1-1Z'></path><path d='M6 2a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H6ZM5 5a1 1 0 0 1 1-1h20a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5ZM3 21a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3v-6Z'></path>\"]];","export default [[\"<path d='M0 3a1 1 0 0 0 1 1h9a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1H1a1 1 0 0 0-1 1v2Zm5.5 7a.5.5 0 0 0 .5-.5V9h.5a.5.5 0 0 0 0-1H6v-.5a.5.5 0 0 0-1 0V8h-.5a.5.5 0 0 0 0 1H5v.5a.5.5 0 0 0 .5.5Z'></path><path d='M1.5 12A1.5 1.5 0 0 1 0 10.5v-4A1.5 1.5 0 0 1 1.5 5h8A1.5 1.5 0 0 1 11 6.5v4A1.5 1.5 0 0 1 9.5 12h-8ZM1 10.5a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-8a.5.5 0 0 0-.5.5v4Z'></path>\",\"<path d='M2.5 7A1.5 1.5 0 0 1 1 5.5v-3A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v3A1.5 1.5 0 0 1 12.5 7h-10Zm5 6a.5.5 0 0 0 .5-.5V12h.5a.5.5 0 0 0 0-1H8v-.5a.5.5 0 0 0-1 0v.5h-.5a.5.5 0 0 0 0 1H7v.5a.5.5 0 0 0 .5.5Z'></path><path d='M1 13.5A1.5 1.5 0 0 0 2.5 15h10a1.5 1.5 0 0 0 1.5-1.5v-4A1.5 1.5 0 0 0 12.5 8h-10A1.5 1.5 0 0 0 1 9.5v4Zm1.5.5a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-10Z'></path>\",\"<path d='M1 6a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H4a3 3 0 0 0-3 3v3Zm11 14a1 1 0 0 0 1-1v-1h1a1 1 0 1 0 0-2h-1v-1a1 1 0 1 0-2 0v1h-1a1 1 0 1 0 0 2h1v1a1 1 0 0 0 1 1Z'></path><path d='M4 23a3 3 0 0 1-3-3v-6a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H4Zm-1-3a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v6Z'></path>\",\"<path d='M3 11a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H6a3 3 0 0 0-3 3v6Zm13 16a1 1 0 0 0 1-1v-2h2a1 1 0 1 0 0-2h-2v-2a1 1 0 1 0-2 0v2h-2a1 1 0 1 0 0 2h2v2a1 1 0 0 0 1 1Z'></path><path d='M6 30a3 3 0 0 1-3-3v-8a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6Zm-1-3a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1v-8a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v8Z'></path>\"]];","export default [[\"<path d='M2 5.5a.5.5 0 0 1 .5-.5H3v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1H4v.5a.5.5 0 0 1-1 0V6h-.5a.5.5 0 0 1-.5-.5Z'></path><path d='M0 9.5A1.5 1.5 0 0 0 1.5 11h4A1.5 1.5 0 0 0 7 9.5v-8A1.5 1.5 0 0 0 5.5 0h-4A1.5 1.5 0 0 0 0 1.5v8Zm1.5.5a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-4ZM9 11a1 1 0 0 1-1-1V1a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1H9Z'></path>\",\"<path d='M3 7.5a.5.5 0 0 1 .5-.5H4v-.5a.5.5 0 0 1 1 0V7h.5a.5.5 0 0 1 0 1H5v.5a.5.5 0 0 1-1 0V8h-.5a.5.5 0 0 1-.5-.5Z'></path><path d='M2.5 14A1.5 1.5 0 0 1 1 12.5v-10A1.5 1.5 0 0 1 2.5 1h4A1.5 1.5 0 0 1 8 2.5v10A1.5 1.5 0 0 1 6.5 14h-4ZM2 12.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-10a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 0-.5.5v10Zm7 0a1.5 1.5 0 0 0 1.5 1.5h3a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 13.5 1h-3A1.5 1.5 0 0 0 9 2.5v10Z'></path>\",\"<path d='M3 12a1 1 0 0 1 1-1h1v-1a1 1 0 0 1 2 0v1h1a1 1 0 1 1 0 2H7v1a1 1 0 1 1-2 0v-1H4a1 1 0 0 1-1-1Z'></path><path d='M0 20a3 3 0 0 0 3 3h6a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3H3a3 3 0 0 0-3 3v16Zm3 1a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3Zm14 2a3 3 0 0 1-3-3V4a3 3 0 0 1 3-3h3a3 3 0 0 1 3 3v16a3 3 0 0 1-3 3h-3Z'></path>\",\"<path d='M10 13a1 1 0 1 0-2 0v2H6a1 1 0 1 0 0 2h2v2a1 1 0 1 0 2 0v-2h2a1 1 0 1 0 0-2h-2v-2Z'></path><path d='M5 3a3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H5ZM4 6a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v20a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V6Zm16-3a2 2 0 0 0-2 2v22a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2h-8Z'></path>\"]];","export default [[\"<path d='M10 5.5a.5.5 0 0 0-.5-.5H9v-.5a.5.5 0 0 0-1 0V5h-.5a.5.5 0 0 0 0 1H8v.5a.5.5 0 0 0 1 0V6h.5a.5.5 0 0 0 .5-.5Z'></path><path d='M12 9.5a1.5 1.5 0 0 1-1.5 1.5h-4A1.5 1.5 0 0 1 5 9.5v-8A1.5 1.5 0 0 1 6.5 0h4A1.5 1.5 0 0 1 12 1.5v8Zm-1.5.5a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h4ZM3 11a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1H1a1 1 0 0 0-1 1v9a1 1 0 0 0 1 1h2Z'></path>\",\"<path d='M13 7.5a.5.5 0 0 0-.5-.5H12v-.5a.5.5 0 0 0-1 0V7h-.5a.5.5 0 0 0 0 1h.5v.5a.5.5 0 0 0 1 0V8h.5a.5.5 0 0 0 .5-.5Z'></path><path d='M13.5 14a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 13.5 1h-4A1.5 1.5 0 0 0 8 2.5v10A1.5 1.5 0 0 0 9.5 14h4Zm.5-1.5a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v10Zm-7 0A1.5 1.5 0 0 1 5.5 14h-3A1.5 1.5 0 0 1 1 12.5v-10A1.5 1.5 0 0 1 2.5 1h3A1.5 1.5 0 0 1 7 2.5v10Z'></path>\",\"<path d='M20 12a1 1 0 0 0-1-1h-1v-1a1 1 0 1 0-2 0v1h-1a1 1 0 1 0 0 2h1v1a1 1 0 1 0 2 0v-1h1a1 1 0 0 0 1-1Z'></path><path d='M23 20a3 3 0 0 1-3 3h-6a3 3 0 0 1-3-3V4a3 3 0 0 1 3-3h6a3 3 0 0 1 3 3v16Zm-3 1a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h6ZM6 23a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3H3a3 3 0 0 0-3 3v16a3 3 0 0 0 3 3h3Z'></path>\",\"<path d='M12 3a2 2 0 0 1 2 2v22a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h8Zm10 10a1 1 0 1 1 2 0v2h2a1 1 0 1 1 0 2h-2v2a1 1 0 1 1-2 0v-2h-2a1 1 0 1 1 0-2h2v-2Z'></path><path d='M27 3a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3h-8a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h8Zm1 3a1 1 0 0 0-1-1h-8a1 1 0 0 0-1 1v20a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V6Z'></path>\"]];","export default [[\"<path d='M1 2.5A1.5 1.5 0 0 1 2.5 1H3v10h-.5A1.5 1.5 0 0 1 1 9.5v-7Zm5.5 2a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0ZM7 6a1 1 0 0 0-1 1v.5a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5V7a1 1 0 0 0-1-1Z'></path><path d='M4 11h5.5A1.5 1.5 0 0 0 11 9.5v-7A1.5 1.5 0 0 0 9.5 1H4v10Zm4.2-5.6a1.5 1.5 0 1 0-2.4 0c-.486.365-.8.946-.8 1.6v.5A1.5 1.5 0 0 0 6.5 9h1A1.5 1.5 0 0 0 9 7.5V7c0-.654-.314-1.235-.8-1.6Z'></path>\",\"<path d='M9 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm.95 4c.58 0 1.05-.47 1.05-1.05C11 8.873 10.105 8 9 8s-2 .873-2 1.95c0 .58.47 1.05 1.05 1.05h1.9Z'></path><path d='M5 1h7a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5V1Zm2 5c0 .53.207 1.013.544 1.371A2.934 2.934 0 0 0 6 9.95 2.05 2.05 0 0 0 8.05 12h1.9A2.05 2.05 0 0 0 12 9.95c0-1.121-.63-2.08-1.544-2.579A2 2 0 1 0 7 6Zm-3 9V1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2Z'></path>\",\"<path d='M3 5a3 3 0 0 1 3-3h1v20H6a3 3 0 0 1-3-3V5Zm10 4a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm1 3c-1.03 0-2 .93-2 2.25 0 .414.336.75.75.75h2.5a.75.75 0 0 0 .75-.75c0-1.32-.97-2.25-2-2.25Z'></path><path d='M9 22h9a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H9v20Zm7.378-11.17a3 3 0 1 0-4.756 0c-.997.786-1.622 2.05-1.622 3.42A2.75 2.75 0 0 0 12.75 17h2.5A2.75 2.75 0 0 0 18 14.25c0-1.37-.625-2.634-1.622-3.42Z'></path>\",\"<path d='M4 5a3 3 0 0 1 3-3h1v28H7a3 3 0 0 1-3-3V5Zm12 7a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm-2 7.333C14 17.622 15.652 16 18 16s4 1.622 4 3.333V20a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-.667Z'></path><path d='M10 30h15a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H10v28Zm12-18a3.986 3.986 0 0 1-1.044 2.694C22.74 15.59 24 17.28 24 19.334V20a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4v-.667c0-2.054 1.26-3.743 3.043-4.639A4 4 0 1 1 22 12Z'></path>\"],[\"<path d='M8.5 4.5c0 .338-.112.65-.3.9.486.365.8.946.8 1.6v.5A1.5 1.5 0 0 1 7.5 9h-1A1.5 1.5 0 0 1 5 7.5V7c0-.654.314-1.235.8-1.6a1.5 1.5 0 1 1 2.7-.9Zm-2 0a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0ZM6 7a1 1 0 0 1 2 0v.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5V7Z'></path><path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v7A1.5 1.5 0 0 0 2.5 11h7A1.5 1.5 0 0 0 11 9.5v-7A1.5 1.5 0 0 0 9.5 1h-7ZM2 2.5a.5.5 0 0 1 .5-.5H3v8h-.5a.5.5 0 0 1-.5-.5v-7ZM4 10h5.5a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5H4v8Z'></path>\",\"<path d='M10.456 7.371a2 2 0 1 0-2.912 0A2.934 2.934 0 0 0 6 9.95 2.05 2.05 0 0 0 8.05 12h1.9A2.05 2.05 0 0 0 12 9.95c0-1.121-.63-2.08-1.544-2.579ZM10 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm1 3.95c0 .58-.47 1.05-1.05 1.05h-1.9C7.47 11 7 10.53 7 9.95 7 8.873 7.895 8 9 8s2 .873 2 1.95Z'></path><path d='M12 1H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2ZM3 3a1 1 0 0 1 1-1v12a1 1 0 0 1-1-1V3Zm2 11h7a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H5v12Z'></path>\",\"<path d='M16.378 10.83a3 3 0 1 0-4.756 0c-.997.786-1.622 2.05-1.622 3.42A2.75 2.75 0 0 0 12.75 17h2.5A2.75 2.75 0 0 0 18 14.25c0-1.37-.625-2.634-1.622-3.42ZM14 8a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm0 4c-1.03 0-2 .93-2 2.25 0 .414.336.75.75.75h2.5a.75.75 0 0 0 .75-.75c0-1.32-.97-2.25-2-2.25Z'></path><path d='M6 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H6ZM5 5a1 1 0 0 1 1-1h1v16H6a1 1 0 0 1-1-1V5Zm4 15h9a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H9v16Z'></path>\",\"<path d='M20.956 14.694a4 4 0 1 0-5.913 0C13.26 15.59 12 17.28 12 19.334V20a4 4 0 0 0 4 4h4a4 4 0 0 0 4-4v-.667c0-2.054-1.26-3.743-3.044-4.639ZM18 10a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm0 6c-2.348 0-4 1.622-4 3.333V20a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-.667C22 17.622 20.348 16 18 16Z'></path><path d='M7 2a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h18a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H7ZM6 5a1 1 0 0 1 1-1h1v24H7a1 1 0 0 1-1-1V5Zm4 23h15a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H10v24Z'></path>\"]];","export default [[\"<path d='M3.5 4.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0ZM4 6a1 1 0 0 0-1 1v.5a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5V7a1 1 0 0 0-1-1Z'></path><path d='M2 1h8a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2Zm3.2 4.4a1.5 1.5 0 1 0-2.4 0c-.486.365-.8.946-.8 1.6v.5A1.5 1.5 0 0 0 3.5 9h1A1.5 1.5 0 0 0 6 7.5V7c0-.654-.314-1.235-.8-1.6ZM7 4.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5ZM7.5 6a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2ZM7 8.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Z'></path>\",\"<path d='M6 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm.95 4C7.53 11 8 10.53 8 9.95 8 8.873 7.105 8 6 8s-2 .873-2 1.95c0 .58.47 1.05 1.05 1.05h1.9Z'></path><path d='M3 2h10a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2Zm1 4c0 .53.207 1.013.544 1.371A2.934 2.934 0 0 0 3 9.95 2.05 2.05 0 0 0 5.05 12h1.9A2.05 2.05 0 0 0 9 9.95c0-1.121-.63-2.08-1.544-2.579A2 2 0 1 0 4 6Zm6.5 0a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Zm0 2a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Zm0 2a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Z'></path>\",\"<path d='M7 9a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm-1 4.95C6 12.873 6.895 12 8 12s2 .873 2 1.95c0 .58-.47 1.05-1.05 1.05h-1.9C6.47 15 6 14.53 6 13.95Z'></path><path d='M1 6a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3V6Zm10 3a2.99 2.99 0 0 1-.595 1.794A3.91 3.91 0 0 1 12 13.95 3.05 3.05 0 0 1 8.95 17h-1.9A3.05 3.05 0 0 1 4 13.95a3.91 3.91 0 0 1 1.595-3.156A3 3 0 1 1 11 9Zm4-2a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2h-4Zm0 4a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2h-4Zm0 4a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2h-4Z'></path>\",\"<path d='M10 14a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm1 3c-1.03 0-2 .93-2 2.25 0 .414.336.75.75.75h2.5a.75.75 0 0 0 .75-.75c0-1.32-.97-2.25-2-2.25Z'></path><path d='M2 10a3 3 0 0 1 3-3h22a3 3 0 0 1 3 3v13a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V10Zm11.378 5.83a3 3 0 1 0-4.756 0C7.625 16.615 7 17.88 7 19.25A2.75 2.75 0 0 0 9.75 22h2.5A2.75 2.75 0 0 0 15 19.25c0-1.37-.625-2.634-1.622-3.42ZM17 13a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2h-7a1 1 0 0 1-1-1Zm0 4a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2h-7a1 1 0 0 1-1-1Zm0 4a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2h-7a1 1 0 0 1-1-1Z'></path>\"],[\"<path d='M5.5 4.5c0 .338-.112.65-.3.9.486.365.8.946.8 1.6v.5A1.5 1.5 0 0 1 4.5 9h-1A1.5 1.5 0 0 1 2 7.5V7c0-.654.314-1.235.8-1.6a1.5 1.5 0 1 1 2.7-.9Zm-2 0a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0ZM3 7a1 1 0 0 1 2 0v.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5V7Zm4.5-3a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2ZM7 6.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5ZM7.5 8a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Z'></path><path d='M10 1H2a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2ZM1 3a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V3Z'></path>\",\"<path d='M7.456 7.371a2 2 0 1 0-2.912 0A2.934 2.934 0 0 0 3 9.95 2.05 2.05 0 0 0 5.05 12h1.9A2.05 2.05 0 0 0 9 9.95c0-1.121-.63-2.08-1.544-2.579ZM6 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm0 1c-1.105 0-2 .873-2 1.95 0 .58.47 1.05 1.05 1.05h1.9C7.53 11 8 10.53 8 9.95 8 8.873 7.105 8 6 8Zm4.5-2a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Zm0 2a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Zm0 2a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Z'></path><path d='M3 2h10a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2Zm0 1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H3Z'></path>\",\"<path d='M15 7a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2h-4Zm0 4a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2h-4Zm0 4a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2h-4Zm-4.595-4.206a3 3 0 1 0-4.81 0A3.909 3.909 0 0 0 4 13.95 3.05 3.05 0 0 0 7.05 17h1.9A3.05 3.05 0 0 0 12 13.95a3.91 3.91 0 0 0-1.595-3.156ZM8 8a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm2 5.95c0 .58-.47 1.05-1.05 1.05h-1.9C6.47 15 6 14.53 6 13.95 6 12.873 6.895 12 8 12s2 .873 2 1.95Z'></path><path d='M4 3a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H4ZM3 6a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V6Z'></path>\",\"<path d='M13.378 15.83a3 3 0 1 0-4.756 0C7.625 16.615 7 17.88 7 19.25A2.75 2.75 0 0 0 9.75 22h2.5A2.75 2.75 0 0 0 15 19.25c0-1.37-.625-2.634-1.622-3.42ZM10 14a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm1 3c-1.03 0-2 .93-2 2.25 0 .414.336.75.75.75h2.5a.75.75 0 0 0 .75-.75c0-1.32-.97-2.25-2-2.25Zm6-4a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2h-7a1 1 0 0 1-1-1Zm0 4a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2h-7a1 1 0 0 1-1-1Zm0 4a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2h-7a1 1 0 0 1-1-1Z'></path><path d='M5 7a3 3 0 0 0-3 3v13a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3V10a3 3 0 0 0-3-3H5Zm-1 3a1 1 0 0 1 1-1h22a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V10Z'></path>\"]];","export default [[\"<path d='M4.146 2.146a.5.5 0 0 0 0 .708l1 1a.5.5 0 1 0 .708-.708l-.033-.032A3.001 3.001 0 0 1 8 6v.014a3 3 0 1 1-4.633-2.531A1.495 1.495 0 0 1 3 2.535 3.998 3.998 0 0 0 2.354 9H.5a.5.5 0 0 0 0 1H5a4 4 0 0 0 4-3.98V6a4 4 0 0 0-3.346-3.947l.2-.2a.5.5 0 1 0-.708-.707l-1 1Z'></path><path d='m4.095 4.216.344.345a1.5 1.5 0 0 0 2.031.083 2 2 0 1 1-2.375-.428Zm6.759 6.638 1-1a.5.5 0 0 0 0-.708l-1-1a.5.5 0 0 0-.708.708l.147.146H9a5.03 5.03 0 0 1-1 1h2.293l-.147.146a.5.5 0 0 0 .708.708Z'></path>\",\"<path d='M7.146 3.854a.5.5 0 0 1 0-.708l1-1a.5.5 0 1 1 .708.708l-.19.19A5 5 0 0 1 13 8a5 5 0 0 1-5 5H1.5a.5.5 0 0 1 0-1H5a5.001 5.001 0 0 1 1.003-8.585c-.02.339.075.683.285.97A4 4 0 0 0 7.968 12H8a4 4 0 0 0 4-4v-.042a3.998 3.998 0 0 0-3.216-3.881l.07.07a.5.5 0 1 1-.708.707l-1-1Zm6.708 10 1-1a.5.5 0 0 0 0-.708l-1-1a.5.5 0 0 0-.708.708l.147.146h-.82c-.34.38-.729.717-1.155 1h1.975l-.147.146a.5.5 0 0 0 .708.708Z'></path><path d='M7.037 5.158A3.001 3.001 0 0 0 8 11a3 3 0 0 0 1.633-5.517 1.5 1.5 0 0 1-2.194.078l-.402-.403Z'></path>\",\"<path d='M10.293 6.293a1 1 0 0 0 0 1.414l2 2a1 1 0 0 0 1.424-1.405A5.002 5.002 0 0 1 12 18a5 5 0 0 1-2.28-9.451l-.134-.135a1.998 1.998 0 0 1-.557-1.754A7 7 0 0 0 7.101 18H2a1 1 0 1 0 0 2h10a7 7 0 0 0 1.295-13.88l.412-.413a1 1 0 0 0-1.414-1.414l-2 2Z'></path><path d='m22.707 19.707-2 2a1 1 0 0 1-1.414-1.414l.293-.293h-3.71a8.037 8.037 0 0 0 2.37-2h1.34l-.293-.293a1 1 0 0 1 1.414-1.414l2 2a1 1 0 0 1 0 1.414ZM10.473 9.302a4.001 4.001 0 1 0 4.23.749 2 2 0 0 1-3.116.364l-1.114-1.113Z'></path>\",\"<path d='M14.293 7.707a1 1 0 0 1 0-1.414l2-2a.999.999 0 1 1 1.414 1.414l-.38.38C22.222 6.737 26 10.927 26 16c0 5.523-4.477 10-10 10H3a1 1 0 1 1 0-2h6.999A9.985 9.985 0 0 1 6 16c0-4.102 2.47-7.628 6.005-9.17a2.995 2.995 0 0 0 .57 1.938A8 8 0 0 0 15.963 24h.038a8 8 0 0 0 1.568-15.846l.14.139a1 1 0 0 1-1.415 1.414l-2-2Zm15.414 18-2 2a1 1 0 0 1-1.414-1.414l.293-.293h-3.95a12.063 12.063 0 0 0 2.308-2h1.642l-.293-.293a1 1 0 0 1 1.414-1.414l2 2a1 1 0 0 1 0 1.414Z'></path><path d='m14.073 10.316.806.805a3 3 0 0 0 4.387-.155 6 6 0 1 1-5.193-.65Z'></path>\"],[\"M4.146 2.146a.5.5 0 0 0 0 .708l1 1a.5.5 0 1 0 .708-.708l-.033-.032A3.001 3.001 0 0 1 8 6v.014a3 3 0 1 1-4.633-2.531A1.495 1.495 0 0 1 3 2.535 3.998 3.998 0 0 0 2.354 9H.5a.5.5 0 0 0 0 1H5a4 4 0 0 0 4-3.968V6a4 4 0 0 0-3.346-3.947l.2-.2a.5.5 0 1 0-.708-.707l-1 1Zm7.708 7.708-1 1a.5.5 0 0 1-.708-.708l.147-.146H8a5.03 5.03 0 0 0 1-1h1.293l-.147-.146a.5.5 0 0 1 .708-.708l1 1a.5.5 0 0 1 0 .708Z\",\"M7.146 3.854a.5.5 0 0 1 0-.708l1-1a.5.5 0 1 1 .708.708l-.19.19A5 5 0 0 1 8 13H1.5a.5.5 0 0 1 0-1H5a5.001 5.001 0 0 1 1.003-8.585c-.02.339.075.683.285.97A4 4 0 0 0 7.968 12H8a4 4 0 0 0 4-4v-.043a3.994 3.994 0 0 0-2-3.422 3.974 3.974 0 0 0-1.216-.458l.07.07a.5.5 0 1 1-.708.707l-1-1Zm6.708 10 1-1a.5.5 0 0 0 0-.708l-1-1a.5.5 0 0 0-.708.708l.147.146h-.82c-.34.38-.729.717-1.155 1h1.975l-.147.146a.5.5 0 0 0 .708.708Z\",\"<path d='M10.293 6.293a1 1 0 0 0 0 1.414l2 2a1 1 0 0 0 1.424-1.405A5.002 5.002 0 0 1 17 13v.06a5 5 0 1 1-7.28-4.51l-.134-.135a1.998 1.998 0 0 1-.557-1.754A7 7 0 0 0 7.101 18H2a1 1 0 1 0 0 2h10a7 7 0 0 0 1.295-13.88l.412-.413a1 1 0 0 0-1.414-1.414l-2 2Z'></path><path d='m20.707 21.707 2-2a1 1 0 0 0 0-1.414l-2-2a1 1 0 0 0-1.414 1.414l.293.293h-1.34a8.037 8.037 0 0 1-2.37 2h3.71l-.293.293a1 1 0 0 0 1.414 1.414Z'></path>\",\"M14.293 7.707a1 1 0 0 1 0-1.414l2-2a1 1 0 1 1 1.414 1.414l-.38.38C22.222 6.737 26 10.927 26 16c0 5.523-4.477 10-10 10H3a1 1 0 1 1 0-2h6.999A9.985 9.985 0 0 1 6 16c0-4.102 2.47-7.628 6.005-9.17a2.995 2.995 0 0 0 .57 1.938A8 8 0 0 0 15.937 24H16a8 8 0 0 0 1.568-15.846l.14.139a1 1 0 0 1-1.414 1.414l-2.001-2Zm13.414 20 2-2a1 1 0 0 0 0-1.414l-2-2a1 1 0 0 0-1.414 1.414l.293.293h-1.642c-.68.76-1.456 1.433-2.308 2h3.95l-.293.293a1 1 0 0 0 1.414 1.414Z\"]];","export default [[\"M7.26 3.085a1.63 1.63 0 0 1-1.173 1.173l-.522.134c-.11.028-.11.185 0 .213l.522.134A1.63 1.63 0 0 1 7.26 5.912l.134.521c.028.11.185.11.213 0l.134-.52a1.63 1.63 0 0 1 1.173-1.174l.521-.134c.11-.028.11-.185 0-.213l-.52-.134A1.63 1.63 0 0 1 7.74 3.085l-.134-.521c-.028-.11-.185-.11-.213 0l-.134.52ZM4.271 5.1a2.559 2.559 0 0 1-2.17 2.171c-.265.038-.265.42 0 .458a2.559 2.559 0 0 1 2.17 2.17c.038.265.42.265.458 0a2.559 2.559 0 0 1 2.17-2.17c.265-.038.265-.42 0-.458a2.559 2.559 0 0 1-2.17-2.17c-.038-.265-.42-.265-.458 0Z\",\"M11.26 3.085a1.63 1.63 0 0 1-1.174 1.173l-.52.134c-.11.028-.11.185 0 .213l.52.134a1.63 1.63 0 0 1 1.174 1.173l.134.521c.028.11.185.11.213 0l.134-.52a1.63 1.63 0 0 1 1.173-1.174l.521-.134c.11-.028.11-.185 0-.213l-.52-.134a1.63 1.63 0 0 1-1.174-1.173l-.134-.521c-.028-.11-.185-.11-.213 0l-.134.52ZM6.978 5.35A3.46 3.46 0 0 1 4.35 7.979l-1.648.366c-.167.037-.167.275 0 .312l1.648.366a3.46 3.46 0 0 1 2.627 2.627l.366 1.648c.037.167.275.167.312 0l.366-1.648a3.46 3.46 0 0 1 2.627-2.627l1.648-.366c.167-.037.167-.275 0-.312l-1.648-.366A3.46 3.46 0 0 1 8.022 5.35l-.366-1.648c-.037-.167-.275-.167-.312 0L6.978 5.35Z\",\"M17.94 2.907a3 3 0 0 1-2.034 2.034l-1.239.363c-.195.058-.195.335 0 .392l1.24.364a3 3 0 0 1 2.033 2.034l.364 1.239c.058.195.335.195.392 0l.364-1.24a3 3 0 0 1 2.033-2.033l1.24-.364c.195-.057.195-.334 0-.392l-1.24-.363a3 3 0 0 1-2.033-2.034l-.364-1.24c-.058-.195-.335-.195-.392 0l-.364 1.24ZM9.536 8.078a6 6 0 0 1-4.458 4.458l-2.882.681c-.298.07-.298.496 0 .567l2.884.683a6 6 0 0 1 4.456 4.457l.681 2.88c.07.299.496.3.566 0l.684-2.883a6 6 0 0 1 4.454-4.454l2.883-.683c.299-.071.299-.496 0-.567l-2.88-.681a6 6 0 0 1-4.457-4.456l-.684-2.884c-.07-.298-.495-.298-.566 0l-.681 2.882Z\",\"M23.486 4.453a3 3 0 0 1-2.033 2.034l-2.178.639c-.374.11-.374.639 0 .748l2.178.64a3 3 0 0 1 2.033 2.034l.64 2.178c.11.373.639.373.748 0l.64-2.179a3 3 0 0 1 2.033-2.033l2.543-.747c.267-.078.267-.456 0-.534l-2.543-.746a3 3 0 0 1-2.033-2.034l-.64-2.178c-.11-.374-.639-.374-.748 0l-.64 2.178Zm-11.382 7.45a7 7 0 0 1-5.201 5.201l-4.272 1.01c-.407.096-.407.676 0 .772L6.906 19.9a7 7 0 0 1 5.198 5.2l1.01 4.27c.097.408.676.408.772 0l1.013-4.273a7 7 0 0 1 5.197-5.197l4.274-1.013c.407-.096.407-.675 0-.772l-4.27-1.01a7 7 0 0 1-5.2-5.198L13.885 7.63c-.096-.407-.675-.407-.772 0l-1.01 4.272Z\"]];","export default [[\"M1 1.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Zm2 2a.5.5 0 0 1 .5-.5h5a.5.5 0 1 1 0 1h-5a.5.5 0 0 1-.5-.5ZM1.5 5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9ZM2 7.5a.5.5 0 0 1 .5-.5h7a.5.5 0 1 1 0 1h-7a.5.5 0 0 1-.5-.5ZM1.5 9a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Z\",\"M2 3.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5Zm2 2a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5ZM2.5 7a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1h-11ZM3 9.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5ZM2.5 11a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1h-11Z\",\"M2 4a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm4 4a1 1 0 0 1 1-1h10a1 1 0 1 1 0 2H7a1 1 0 0 1-1-1Zm-2 3a1 1 0 1 0 0 2h16a1 1 0 1 0 0-2H4Zm1 5a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H6a1 1 0 0 1-1-1Zm-2 3a1 1 0 1 0 0 2h18a1 1 0 1 0 0-2H3Z\",\"M2 6a1 1 0 0 1 1-1h26a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm6 5a1 1 0 0 1 1-1h14a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1Zm-3 4a1 1 0 1 0 0 2h22a1 1 0 1 0 0-2H5Zm1 6a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H7a1 1 0 0 1-1-1Zm-2 4a1 1 0 1 0 0 2h24a1 1 0 1 0 0-2H4Z\"]];","export default [[\"M1 1.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h5a.5.5 0 1 1 0 1h-5a.5.5 0 0 1-.5-.5ZM1.5 5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9ZM1 7.5a.5.5 0 0 1 .5-.5h7a.5.5 0 1 1 0 1h-7a.5.5 0 0 1-.5-.5ZM1.5 9a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Z\",\"M2 3.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5ZM2.5 7a.5.5 0 0 0 0 1h10a.5.5 0 0 0 0-1h-10ZM2 9.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 0 1h-8a.5.5 0 0 1-.5-.5Zm.5 1.5a.5.5 0 0 0 0 1h10a.5.5 0 0 0 0-1h-10Z\",\"M2 4a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm0 4a1 1 0 0 1 1-1h10a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm1 3a1 1 0 1 0 0 2h15a1 1 0 1 0 0-2H3Zm-1 5a1 1 0 0 1 1-1h11a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm1 3a1 1 0 1 0 0 2h17a1 1 0 1 0 0-2H3Z\",\"M2 6a1 1 0 0 1 1-1h26a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm0 5a1 1 0 0 1 1-1h14a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm1 4a1 1 0 1 0 0 2h22a1 1 0 1 0 0-2H3Zm-1 6a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm1 4a1 1 0 1 0 0 2h24a1 1 0 1 0 0-2H3Z\"],[\"M1 1.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5ZM1.5 5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9ZM1 7.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5ZM1.5 9a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Z\",\"M2 3.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5ZM2.5 7a.5.5 0 0 0 0 1h10a.5.5 0 0 0 0-1h-10ZM2 9.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 0 1h-8a.5.5 0 0 1-.5-.5Zm.5 1.5a.5.5 0 0 0 0 1h10a.5.5 0 0 0 0-1h-10Z\",\"M2 4a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm0 4a1 1 0 0 1 1-1h10a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm1 3a1 1 0 1 0 0 2h15a1 1 0 1 0 0-2H3Zm-1 5a1 1 0 0 1 1-1h11a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm1 3a1 1 0 1 0 0 2h17a1 1 0 1 0 0-2H3Z\",\"M2 6a1 1 0 0 1 1-1h26a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm0 5a1 1 0 0 1 1-1h14a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm1 4a1 1 0 1 0 0 2h22a1 1 0 1 0 0-2H3Zm-1 6a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm1 4a1 1 0 1 0 0 2h24a1 1 0 1 0 0-2H3Z\"]];","export default [[\"M1 1.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Zm4 2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5ZM1.5 5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9ZM3 7.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5ZM1.5 9a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Z\",\"M14 3.5a.5.5 0 0 0-.5-.5h-11a.5.5 0 0 0 0 1h11a.5.5 0 0 0 .5-.5Zm0 2a.5.5 0 0 0-.5-.5h-6a.5.5 0 0 0 0 1h6a.5.5 0 0 0 .5-.5ZM13.5 7a.5.5 0 0 1 0 1h-10a.5.5 0 0 1 0-1h10Zm.5 2.5a.5.5 0 0 0-.5-.5h-8a.5.5 0 0 0 0 1h8a.5.5 0 0 0 .5-.5Zm-.5 1.5a.5.5 0 0 1 0 1h-10a.5.5 0 0 1 0-1h10Z\",\"M22 4a1 1 0 0 0-1-1H3a1 1 0 0 0 0 2h18a1 1 0 0 0 1-1Zm0 4a1 1 0 0 0-1-1H11a1 1 0 1 0 0 2h10a1 1 0 0 0 1-1Zm-1 3a1 1 0 1 1 0 2H6a1 1 0 1 1 0-2h15Zm1 5a1 1 0 0 0-1-1H10a1 1 0 1 0 0 2h11a1 1 0 0 0 1-1Zm-1 3a1 1 0 1 1 0 2H4a1 1 0 1 1 0-2h17Z\",\"M2 6a1 1 0 0 1 1-1h26a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm12 5a1 1 0 0 1 1-1h14a1 1 0 1 1 0 2H15a1 1 0 0 1-1-1Zm-7 4a1 1 0 1 0 0 2h22a1 1 0 1 0 0-2H7Zm3 6a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H11a1 1 0 0 1-1-1Zm-5 4a1 1 0 1 0 0 2h24a1 1 0 1 0 0-2H5Z\"],[\"M1 1.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Zm4 2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5ZM1.5 5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9ZM3 7.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5ZM1.5 9a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Z\",\"M14 3.5a.5.5 0 0 0-.5-.5h-11a.5.5 0 0 0 0 1h11a.5.5 0 0 0 .5-.5Zm0 2a.5.5 0 0 0-.5-.5h-6a.5.5 0 0 0 0 1h6a.5.5 0 0 0 .5-.5ZM13.5 7a.5.5 0 0 1 0 1h-10a.5.5 0 0 1 0-1h10Zm.5 2.5a.5.5 0 0 0-.5-.5h-8a.5.5 0 0 0 0 1h8a.5.5 0 0 0 .5-.5Zm-.5 1.5a.5.5 0 0 1 0 1h-10a.5.5 0 0 1 0-1h10Z\",\"M22 4a1 1 0 0 0-1-1H3a1 1 0 0 0 0 2h18a1 1 0 0 0 1-1Zm0 4a1 1 0 0 0-1-1H11a1 1 0 1 0 0 2h10a1 1 0 0 0 1-1Zm0 4a1 1 0 0 0-1-1H6a1 1 0 1 0 0 2h15a1 1 0 0 0 1-1Zm0 4a1 1 0 0 0-1-1H10a1 1 0 1 0 0 2h11a1 1 0 0 0 1-1Zm0 4a1 1 0 0 0-1-1H4a1 1 0 1 0 0 2h17a1 1 0 0 0 1-1Z\",\"M2 6a1 1 0 0 1 1-1h26a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm12 5a1 1 0 0 1 1-1h14a1 1 0 1 1 0 2H15a1 1 0 0 1-1-1Zm-7 4a1 1 0 1 0 0 2h22a1 1 0 1 0 0-2H7Zm3 6a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H11a1 1 0 0 1-1-1Zm-5 4a1 1 0 1 0 0 2h24a1 1 0 1 0 0-2H5Z\"]];","export default [[\"M5.5 0a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11Zm3.516 2.691L6.854 4.854a.5.5 0 0 1-.54.11l-2.167-.867-2.763 3.224a4.468 4.468 0 0 1-.334-1.148l2.57-2.998a.5.5 0 0 1 .566-.14l2.194.878 1.929-1.929c.26.209.498.446.707.707ZM9 8.33V5.5a.5.5 0 1 0-1 0v3.742a4.525 4.525 0 0 0 1-.913ZM7 9.744V7.5a.5.5 0 1 0-1 0v2.473a4.474 4.474 0 0 0 1-.23Zm-2 .229V6.5a.5.5 0 1 0-1 0v3.244c.318.112.653.19 1 .229Z\",\"M7.5 0a7.5 7.5 0 1 0 0 15 7.5 7.5 0 0 0 0-15ZM7 13.981a6.619 6.619 0 0 0 1 0V7.5a.5.5 0 0 0-1 0v6.481Zm3-.48a6.458 6.458 0 0 1-1 .325V8.5a.5.5 0 0 1 1 0v5.002Zm2-1.31a6.528 6.528 0 0 1-1 .787V5.5a.5.5 0 0 1 1 0v6.69ZM11.163 2.13c.278.19.54.4.784.63L8.854 5.854a.5.5 0 0 1-.578.093L6.6 5.108l-5.04 5.038a6.452 6.452 0 0 1-.364-1.05l4.95-4.95a.5.5 0 0 1 .577-.093l1.677.839 2.762-2.762ZM6 13.826a6.458 6.458 0 0 1-1-.324V9.5a.5.5 0 0 1 1 0v4.326Z\",\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1Zm6.32 4.593-4.113 4.114a1 1 0 0 1-1.154.187L9.698 8.217l-6.332 6.331A8.998 8.998 0 0 1 3 12.085l5.793-5.792a1 1 0 0 1 1.154-.187l3.356 1.677 3.436-3.436a9.035 9.035 0 0 1 1.582 1.246ZM18 18.708V10a1 1 0 1 0-2 0v10.064a9.02 9.02 0 0 0 2-1.356Zm-3 1.78V14a1 1 0 1 0-2 0v6.945a8.955 8.955 0 0 0 2-.457ZM12 21v-8a1 1 0 1 0-2 0v7.777A9.033 9.033 0 0 0 12 21Zm-3-.512V16a1 1 0 1 0-2 0v3.485a8.97 8.97 0 0 0 2 1.003Z\",\"M16 2C8.268 2 2 8.268 2 16s6.268 14 14 14 14-6.268 14-14S23.732 2 16 2Zm7.378 4.536-6.17 6.171a1 1 0 0 1-1.155.187l-3.356-1.677-8.203 8.203a12.053 12.053 0 0 1-.45-2.379l7.749-7.748a1 1 0 0 1 1.154-.187l3.356 1.677 5.363-5.364c.604.324 1.176.698 1.712 1.117ZM23 25.748V13a1 1 0 1 0-2 0v13.912a11.997 11.997 0 0 0 2-1.164Zm-4 1.874V18a1 1 0 1 0-2 0v9.959c.685-.057 1.353-.17 2-.337Zm-4 .337V16a1 1 0 1 0-2 0v11.622c.647.166 1.316.28 2 .337Zm-4-1.047V20a1 1 0 1 0-2 0v5.748c.624.45 1.294.84 2 1.164Z\"],[\"M0 5.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0ZM5.5 1a4.5 4.5 0 0 0-4.45 5.173l2.57-2.998a.5.5 0 0 1 .566-.14l2.194.878 1.929-1.929A4.481 4.481 0 0 0 5.5 1Zm3.516 1.691L6.854 4.854a.5.5 0 0 1-.54.11l-2.167-.867-2.763 3.224A4.514 4.514 0 0 0 4 9.744V6.5a.5.5 0 0 1 1 0v3.473a4.551 4.551 0 0 0 1 0V7.5a.5.5 0 0 1 1 0v2.244a4.484 4.484 0 0 0 1-.502V5.5a.5.5 0 0 1 1 0v2.829c.625-.773 1-1.757 1-2.829a4.481 4.481 0 0 0-.984-2.809Z\",\"M15 7.5a7.5 7.5 0 1 1-15 0 7.5 7.5 0 0 1 15 0ZM7.5 1a6.5 6.5 0 0 0-6.303 8.096l4.95-4.95a.5.5 0 0 1 .577-.093l1.677.839 2.762-2.762A6.47 6.47 0 0 0 7.5 1Zm4.447 1.76L8.854 5.854a.5.5 0 0 1-.578.093L6.6 5.108l-5.04 5.038A6.523 6.523 0 0 0 5 13.502V9.5a.5.5 0 0 1 1 0v4.326c.325.077.659.13 1 .155V7.5a.5.5 0 0 1 1 0v6.481a6.502 6.502 0 0 0 1-.155V8.5a.5.5 0 0 1 1 0v5.002a6.51 6.51 0 0 0 1-.524V5.5a.5.5 0 0 1 1 0v6.69a6.48 6.48 0 0 0 2-4.69 6.48 6.48 0 0 0-2.053-4.74Z\",\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm11-9a9 9 0 0 0-9 9.085l5.793-5.792a1 1 0 0 1 1.154-.187l3.356 1.677 3.436-3.436A8.958 8.958 0 0 0 12 3Zm6.32 2.593-4.113 4.114a1 1 0 0 1-1.154.187L9.698 8.217l-6.332 6.331A9.019 9.019 0 0 0 7 19.485V16a1 1 0 1 1 2 0v4.488c.325.115.659.212 1 .289V13a1 1 0 1 1 2 0v8c.338 0 .672-.019 1-.055V14a1 1 0 1 1 2 0v6.488a8.953 8.953 0 0 0 1-.424V10a1 1 0 1 1 2 0v8.708A8.978 8.978 0 0 0 21 12a8.972 8.972 0 0 0-2.68-6.407Z\",\"M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16ZM16 4C9.373 4 4 9.373 4 16c0 .35.015.698.045 1.041l7.748-7.748a1 1 0 0 1 1.154-.187l3.356 1.677 5.363-5.364A11.947 11.947 0 0 0 16 4Zm7.378 2.536-6.17 6.171a1 1 0 0 1-1.155.187l-3.356-1.677-8.203 8.203A12.021 12.021 0 0 0 9 25.748V20a1 1 0 1 1 2 0v6.912c.639.293 1.307.532 2 .71V16a1 1 0 1 1 2 0v11.959a12.16 12.16 0 0 0 2 0V18a1 1 0 1 1 2 0v9.622a11.903 11.903 0 0 0 2-.71V13a1 1 0 1 1 2 0v12.748c3.028-2.178 5-5.733 5-9.748a11.98 11.98 0 0 0-4.622-9.464Z\"]];","export default [[\"M5.5 0a1.5 1.5 0 0 0-.493 2.917A.503.503 0 0 0 5 3v1h-.5a.5.5 0 0 0 0 1H5v4.973A4.498 4.498 0 0 1 1.758 8H2.5a.5.5 0 0 0 0-1h-2a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 1 0v-.837a5.496 5.496 0 0 0 4 2.315v.522a.5.5 0 0 0 1 0v-.522a5.496 5.496 0 0 0 4-2.315V9.5a.5.5 0 0 0 1 0v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0 0 1h.742A4.498 4.498 0 0 1 6 9.973V5h.5a.5.5 0 0 0 0-1H6V3a.503.503 0 0 0-.007-.083A1.5 1.5 0 0 0 5.5 0ZM5 1.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Z\",\"M9 2.5a1.5 1.5 0 0 1-1 1.415V6h1.5a.5.5 0 0 1 0 1H8v5.981A6.48 6.48 0 0 0 12.19 11h-.69a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-.9a7.48 7.48 0 0 1-5 2.384v.516a.5.5 0 0 1-1 0v-.516a7.481 7.481 0 0 1-5-2.385v.901a.5.5 0 0 1-1 0v-2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-.69A6.48 6.48 0 0 0 7 12.981V7H5.5a.5.5 0 0 1 0-1H7V3.915A1.5 1.5 0 1 1 9 2.5Zm-2 0a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0Z\",\"M15 4a3.001 3.001 0 0 1-2 2.83V9h2a1 1 0 1 1 0 2h-2v8.945A8.997 8.997 0 0 0 19.485 16H19a1 1 0 1 1 0-2h3a1 1 0 0 1 1 1v3a1 1 0 1 1-2 0v-.674a10.992 10.992 0 0 1-8 4.63V22a1 1 0 1 1-2 0v-.045a10.992 10.992 0 0 1-8-4.63V18a1 1 0 1 1-2 0v-3a1 1 0 0 1 1-1h3a1 1 0 1 1 0 2h-.485A8.997 8.997 0 0 0 11 19.945V11H9a1 1 0 1 1 0-2h2V6.83A3.001 3.001 0 1 1 15 4Zm-4 0a1 1 0 1 0 2 0 1 1 0 0 0-2 0Z\",\"M19 5a3.001 3.001 0 0 1-2 2.83V11h3a1 1 0 1 1 0 2h-3v13.959A12 12 0 0 0 26.395 21H25a1 1 0 1 1 0-2h4a1 1 0 0 1 1 1v4a1 1 0 1 1-2 0v-1.785a13.997 13.997 0 0 1-11 6.75V29a1 1 0 1 1-2 0v-.035a13.997 13.997 0 0 1-11-6.75V24a1 1 0 1 1-2 0v-4a1 1 0 0 1 1-1h4a1 1 0 1 1 0 2H5.605A12 12 0 0 0 15 26.959V13h-3a1 1 0 1 1 0-2h3V7.83A3.001 3.001 0 1 1 19 5Zm-4 0a1 1 0 1 0 2 0 1 1 0 0 0-2 0Z\"]];","export default [[\"<path d='M1.5 1A1.5 1.5 0 0 0 0 2.5V3h12v-.5A1.5 1.5 0 0 0 10.5 1h-9ZM12 4H7.5c.318 0 .635.101.9.3L12 7V4ZM0 4h7.5a1.5 1.5 0 0 0-1.493 1.65l.15 1.487-.657.656-1.146-1.147a.5.5 0 0 0-.708 0l-1.5 1.5a.5.5 0 1 0 .708.708L4 7.707l1.146 1.147a.5.5 0 0 0 .708 0l.43-.432.223 2.227a1.5 1.5 0 0 0 .079.351H1.5A1.5 1.5 0 0 1 0 9.5V4Z'></path><path d='M7.254 5.064A.5.5 0 0 1 7.8 5.1l4 3a.5.5 0 0 1-.142.874l-.842.281L11.9 10.7a.5.5 0 0 1-.176.747l-1 .5a.5.5 0 0 1-.624-.147l-1.154-1.539-.592.593a.5.5 0 0 1-.852-.304l-.5-5a.5.5 0 0 1 .252-.486Z'></path>\",\"M2.5 2A1.5 1.5 0 0 0 1 3.5V5h14V3.5A1.5 1.5 0 0 0 13.5 2h-11ZM1 6h7.086a1.502 1.502 0 0 0-.069.728l.288 1.87-.951-.952a.5.5 0 0 0-.708 0l-3.5 3.5a.5.5 0 0 0 .708.708L7 8.707l1.562 1.562.455 2.96a1.5 1.5 0 0 0 .365.771H2.5A1.5 1.5 0 0 1 1 12.5V6Zm10.276 0L15 8.98V6h-3.724Zm-2.026.067a.5.5 0 0 1 .562.043l5 4a.5.5 0 0 1-.035.806l-1.084.723 1.723 2.584a.5.5 0 0 1-.192.724l-1 .5a.5.5 0 0 1-.64-.17l-1.723-2.584-1.084.723a.5.5 0 0 1-.771-.34l-1-6.5a.5.5 0 0 1 .244-.509Z\",\"M4 3a3 3 0 0 0-3 3v1h22V6a3 3 0 0 0-3-3H4Zm19 6h-5.138L23 13.77V9ZM1 9h13.268a2 2 0 0 0-.257 1.21l.32 3.044-.425.426L10.6 11.2a1 1 0 0 0-1.307.093l-4 4a1 1 0 1 0 1.414 1.414l3.387-3.387L13.4 15.8a1 1 0 0 0 1.2 0l.411 3.91a2 2 0 0 0 .666 1.29H4a3 3 0 0 1-3-3V9Zm14.776.553a.5.5 0 0 1 .564.08l7 6.5a.5.5 0 0 1-.116.814l-1.553.777 1.776 3.552a.5.5 0 0 1-.223.671l-2 1a.5.5 0 0 1-.671-.223l-1.777-3.553-1.552.776a.5.5 0 0 1-.721-.395l-1-9.5a.5.5 0 0 1 .273-.5Z\",\"<path d='M5 5a3 3 0 0 0-3 3v2h28V8a3 3 0 0 0-3-3H5Zm25 7H2v12a3 3 0 0 0 3 3h15.5v-7.086l-1.293 1.293a1 1 0 0 1-1.34.067l-4.8-3.927-5.36 5.36a1 1 0 0 1-1.414-1.414l6-6a1 1 0 0 1 1.34-.067l4.8 3.927 2.067-2.067V15a2 2 0 0 1 3.414-1.414L30 19.672V12Z'></path><path d='M22.309 14.538a.5.5 0 0 1 .545.108l8 8a.5.5 0 0 1-.136.804l-2.343 1.132 2.078 4.477a.5.5 0 0 1-.216.65l-2.286 1.231a.5.5 0 0 1-.69-.23l-2.072-4.46-2.47 1.2A.5.5 0 0 1 22 27V15a.5.5 0 0 1 .309-.462Z'></path>\"],[\"<path d='M1 3.5A1.5 1.5 0 0 1 2.5 2h11A1.5 1.5 0 0 1 15 3.5v5.48l-1-.8V6h-2.724l-.839-.671A1.499 1.499 0 0 0 9.5 5H14V3.5a.5.5 0 0 0-.5-.5h-11a.5.5 0 0 0-.5.5V5h7.5a1.498 1.498 0 0 0-1.414 1H2v6.5a.5.5 0 0 0 .5.5h6.482l.035.228a1.5 1.5 0 0 0 .365.772H2.5A1.5 1.5 0 0 1 1 12.5v-9Z'></path><path d='m7.354 7.646.951.952.257 1.671L7 8.707l-3.146 3.147a.5.5 0 0 1-.708-.708l3.5-3.5a.5.5 0 0 1 .708 0ZM9.25 6.067a.5.5 0 0 1 .562.043l5 4a.5.5 0 0 1-.035.806l-1.084.723 1.723 2.584a.5.5 0 0 1-.192.724l-1 .5a.5.5 0 0 1-.64-.17l-1.723-2.584-1.084.723a.5.5 0 0 1-.771-.34l-1-6.5a.5.5 0 0 1 .244-.509Z'></path>\",\"<path d='M1 3.5A1.5 1.5 0 0 1 2.5 2h11A1.5 1.5 0 0 1 15 3.5v5.48l-1-.8V6h-2.724l-.839-.671A1.499 1.499 0 0 0 9.5 5H14V3.5a.5.5 0 0 0-.5-.5h-11a.5.5 0 0 0-.5.5V5h7.5a1.498 1.498 0 0 0-1.414 1H2v6.5a.5.5 0 0 0 .5.5h6.482l.035.228a1.5 1.5 0 0 0 .365.772H2.5A1.5 1.5 0 0 1 1 12.5v-9Z'></path><path d='m7.354 7.646.951.952.257 1.671L7 8.707l-3.146 3.147a.5.5 0 0 1-.708-.708l3.5-3.5a.5.5 0 0 1 .708 0ZM9.25 6.067a.5.5 0 0 1 .562.043l5 4a.5.5 0 0 1-.035.806l-1.084.723 1.723 2.584a.5.5 0 0 1-.192.724l-1 .5a.5.5 0 0 1-.64-.17l-1.723-2.584-1.084.723a.5.5 0 0 1-.771-.34l-1-6.5a.5.5 0 0 1 .244-.509Z'></path>\",\"<path d='M1 6a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v7.77l-2-1.856V9h-3.138l-.501-.466A2 2 0 0 0 14.268 9H3v9a1 1 0 0 0 1 1h10.936l.075.71a2 2 0 0 0 .666 1.29H4a3 3 0 0 1-3-3V6Zm3-1a1 1 0 0 0-1 1v1h18V6a1 1 0 0 0-1-1H4Z'></path><path d='m13.906 13.68.425-.426.269 2.546a1 1 0 0 1-1.2 0l-3.306-2.48-3.387 3.387a1 1 0 0 1-1.414-1.414l4-4A1 1 0 0 1 10.6 11.2l3.306 2.48Zm1.87-4.127a.5.5 0 0 1 .564.08l7 6.5a.5.5 0 0 1-.116.814l-1.553.777 1.776 3.552a.5.5 0 0 1-.223.671l-2 1a.5.5 0 0 1-.671-.223l-1.777-3.553-1.552.776a.5.5 0 0 1-.721-.395l-1-9.5a.5.5 0 0 1 .273-.5Z'></path>\",\"<path d='M2 8a3 3 0 0 1 3-3h22a3 3 0 0 1 3 3v11.672l-2-2V12H4v12a1 1 0 0 0 1 1h15.5v2H5a3 3 0 0 1-3-3V8Zm3-1a1 1 0 0 0-1 1v2h24V8a1 1 0 0 0-1-1H5Z'></path><path d='m18.433 19.153 2.067-2.067v2.828l-1.293 1.293a1 1 0 0 1-1.34.067l-4.8-3.927-5.36 5.36a1 1 0 0 1-1.414-1.414l6-6a1 1 0 0 1 1.34-.067l4.8 3.927Zm3.876-4.615a.5.5 0 0 1 .545.108l8 8a.5.5 0 0 1-.136.804l-2.343 1.132 2.078 4.477a.5.5 0 0 1-.216.65l-2.286 1.231a.5.5 0 0 1-.69-.23l-2.072-4.46-2.47 1.2A.5.5 0 0 1 22 27V15a.5.5 0 0 1 .309-.462Z'></path>\"]];","export default [[\"M5 .5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .4.8l-.525.7.525.7a.5.5 0 0 1-.4.8H6v.51a16.233 16.233 0 0 1 3.618.56l.018.004.006.002h.002a.5.5 0 0 1 .351.548l-.152 1.104a13.563 13.563 0 0 1 .823.3l.023.009.007.003h.002v.001a.5.5 0 0 1 .293.553l-.613 3.19A1.5 1.5 0 0 1 8.905 11h-6.81A1.5 1.5 0 0 1 .622 9.783L.01 6.594a.5.5 0 0 1 .292-.553h.001l.002-.001.007-.003.023-.01.085-.034a13.627 13.627 0 0 1 .739-.265l-.153-1.104a.5.5 0 0 1 .351-.547l.003-.001.005-.002.018-.005a6.802 6.802 0 0 1 .318-.085A16.235 16.235 0 0 1 5 3.509V.5ZM1.377 8.414 1.95 8.3l-.334-1.67c-.215.068-.398.131-.543.184l-.003.001.307 1.6ZM5 10V8H4v2h1Zm1 0V8h1v2H6Zm2-2v.09l.07.014.347-1.74A13.113 13.113 0 0 0 6 6.012V7h1a1 1 0 0 1 1 1ZM4 7h1v-.988c-.89.041-1.723.186-2.417.352l.348 1.74L3 8.09V8a1 1 0 0 1 1-1Zm5.623 1.414L9.05 8.3l.334-1.67c.215.068.398.131.543.184l.003.001-.307 1.6Z\",\"M7 1.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .4.8l-.525.7.525.7a.5.5 0 0 1-.4.8H8v1.012c1.5.073 2.87.458 3.886.838a14.543 14.543 0 0 1 1.728.777l.101.056.028.016.008.005.002.001h.001a.5.5 0 0 1 .235.535l-.317 1.5a14.712 14.712 0 0 1 .96.577c.05.034.09.06.116.08l.032.022.009.006.002.002.002.001a.5.5 0 0 1 .194.518l-.898 3.891A1.5 1.5 0 0 1 12.628 15H2.372a1.5 1.5 0 0 1-1.461-1.163L.013 9.946a.5.5 0 0 1 .194-.518l.002-.001.002-.002.01-.006.03-.022.118-.08a14.73 14.73 0 0 1 .96-.578l-.318-1.5a.5.5 0 0 1 .235-.533h.001l.002-.002.008-.005.028-.016a10.676 10.676 0 0 1 .477-.25c.322-.16.785-.372 1.352-.583C4.13 5.47 5.499 5.085 7 5.012V1.5ZM6 14h1v-3H6v3Zm1-4H6a1 1 0 0 0-1 1v1.059l-1.04.13-.465-3.26a.503.503 0 0 0-.024-.096C4.486 8.432 5.705 8.087 7 8.014V10Zm1 1v3h1v-3H8Zm2 1.056V11a1 1 0 0 0-1-1H8V8.014c1.295.073 2.514.418 3.529.82a.505.505 0 0 0-.024.095l-.464 3.25L10 12.056Zm3.935-2-.554 2.401-1.347-.16.436-3.052a14.389 14.389 0 0 1 1.465.812ZM2.53 9.247l.438 3.066-1.344.169-.56-2.424c.073-.047.16-.1.258-.16.298-.18.709-.412 1.208-.652Z\",\"M11 2a1 1 0 0 1 1-1h4a1 1 0 0 1 .832 1.555l-.63.945.63.945A1 1 0 0 1 16 6h-3v1.032c2.192.138 4.18.703 5.667 1.258.86.321 1.561.642 2.052.885a16.274 16.274 0 0 1 .728.383l.043.024.012.008.004.002.003.002a1 1 0 0 1 .47 1.068l-.462 2.178.195.117a17.154 17.154 0 0 1 .806.518l.032.022.015.011.014.01.004.003.003.002a1 1 0 0 1 .388 1.035l-1.18 5.117A3 3 0 0 1 18.87 22H5.13a3 3 0 0 1-2.924-2.325l-1.18-5.117a1 1 0 0 1 .389-1.035l.002-.002.004-.003.014-.01a5.11 5.11 0 0 1 .22-.15 16.986 16.986 0 0 1 .828-.518l-.461-2.178a1 1 0 0 1 .47-1.068l.002-.002.004-.002.012-.008.043-.024.156-.087c.134-.073.327-.175.572-.296.49-.243 1.193-.564 2.052-.885C6.82 7.735 8.808 7.17 11 7.032V2Zm3 15.992V20h-1v-3h1v.992Zm3.142-.801L16 17.087V17a2 2 0 0 0-2-2h-1v-2.96c1.816.145 3.518.66 4.924 1.241l-.782 3.91Zm3.107.282-1.104-.1.642-3.21a19.665 19.665 0 0 1 1.082.623l-.62 2.687Zm-15.394-.1-1.104.1-.62-2.687.192-.118c.244-.147.543-.32.89-.506l.642 3.21ZM8 17.087l-1.142.104-.782-3.91c1.406-.58 3.109-1.096 4.924-1.24V15h-1a2 2 0 0 0-2 2v.087ZM10 20v-3h1v3h-1Z\",\"M15 4a1 1 0 0 1 1-1h5a1 1 0 0 1 .848 1.53L20.929 6l.919 1.47A1 1 0 0 1 21 9h-4v2.023c2.989.133 5.716.836 7.747 1.53 1.131.388 2.055.775 2.7 1.067a22.07 22.07 0 0 1 .952.46l.054.028.016.009.005.002.002.002a1 1 0 0 1 .498 1.104l-.526 2.281a22.201 22.201 0 0 1 1.023.607l.028.019.031.02.017.01.005.004.003.002a1 1 0 0 1 .415 1.075l-1.621 6.485A3 3 0 0 1 25.439 28H6.562a3 3 0 0 1-2.91-2.272L2.03 19.242a1 1 0 0 1 .415-1.074l.003-.002.005-.003.017-.011.06-.039.217-.136c.188-.116.46-.279.807-.472l-.002.001-.526-2.281a1 1 0 0 1 .498-1.104l.002-.002.005-.002.016-.009.055-.028a21.92 21.92 0 0 1 .952-.46c.644-.292 1.568-.68 2.7-1.066 2.03-.695 4.757-1.398 7.746-1.531V4Zm-2 18.995V22h2v4h-2v-3.005ZM17 26h2v-4h-2v4Zm0-6h2a2 2 0 0 1 2 2v.125l1.108.147.838-5.033c-1.751-.598-3.79-1.09-5.946-1.21V20Zm-2 0h-2a2 2 0 0 0-2 2v.125l-1.107.147-.84-5.033c1.752-.598 3.791-1.09 5.947-1.21V20Zm12.852-.531-.864 3.454-2.897-.386.761-4.567a27.676 27.676 0 0 1 3 1.499ZM7.148 17.97l.761 4.567-2.897.386-.864-3.454a27.707 27.707 0 0 1 3-1.498Z\"],[\"M5 .5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .4.8l-.525.7.525.7a.5.5 0 0 1-.4.8H6v.51a16.233 16.233 0 0 1 3.618.56l.018.004.006.002h.002a.5.5 0 0 1 .351.548l-.152 1.104a13.563 13.563 0 0 1 .823.3l.023.009.007.003h.002v.001a.5.5 0 0 1 .293.553l-.613 3.19A1.5 1.5 0 0 1 8.905 11h-6.81A1.5 1.5 0 0 1 .622 9.783L.01 6.594a.5.5 0 0 1 .292-.553h.001l.002-.001.007-.003.023-.01.085-.034a13.627 13.627 0 0 1 .739-.265l-.153-1.104a.5.5 0 0 1 .351-.547l.003-.001.005-.002.018-.005a6.802 6.802 0 0 1 .318-.085A16.235 16.235 0 0 1 5 3.509V.5ZM2.128 5.446C3.04 5.214 4.225 5 5.5 5s2.46.214 3.372.446l.072-.52c-.19-.046-.437-.101-.73-.157A14.815 14.815 0 0 0 5.5 4.5a15.479 15.479 0 0 0-3.444.426l.072.52Zm-.524 4.148-.038-.197L3 9.11V10h-.905a.5.5 0 0 1-.49-.406ZM1.95 8.3l-.573.115-.307-1.6.003-.001c.145-.053.328-.116.543-.183L1.95 8.3Zm.98-.196L3 8.09V8a1 1 0 0 1 1-1h1v-.988c-.89.041-1.723.186-2.417.352l.348 1.74ZM4 8h1v2H4V8Zm3 2H6V8h1v2Zm1-.89V10h.905a.5.5 0 0 0 .49-.406l.039-.197L8 9.11Zm0-1.02V8a1 1 0 0 0-1-1H6v-.988c.89.041 1.723.186 2.417.352l-.348 1.74L8 8.09Zm1.05.21.573.115.307-1.6-.003-.001a12.998 12.998 0 0 0-.543-.183L9.05 8.3Z\",\"M7 1.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .4.8l-.525.7.525.7a.5.5 0 0 1-.4.8H8v1.012c1.5.073 2.87.458 3.886.838a14.543 14.543 0 0 1 1.728.777l.101.056.028.016.008.005.002.001h.001a.5.5 0 0 1 .235.535l-.317 1.5a14.712 14.712 0 0 1 .96.577c.05.034.09.06.116.08l.032.022.009.006.002.002.002.001-.293.405.293-.405a.5.5 0 0 1 .194.518l-.898 3.891A1.5 1.5 0 0 1 12.628 15H2.372a1.5 1.5 0 0 1-1.461-1.163L.013 9.946a.5.5 0 0 1 .194-.518l.002-.001.002-.002.01-.006.03-.022.118-.08a14.73 14.73 0 0 1 .96-.578l-.318-1.5a.5.5 0 0 1 .235-.533h.001l.002-.002.008-.005.028-.016a10.676 10.676 0 0 1 .477-.25c.322-.16.785-.372 1.352-.583C4.13 5.47 5.499 5.085 7 5.012V1.5ZM6 14h1v-3H6v3Zm-1-3v1.059l-1.04.13-.465-3.26a.503.503 0 0 0-.024-.096C4.486 8.432 5.705 8.087 7 8.014V10H6a1 1 0 0 0-1 1Zm-3.15 2.46L5 13.066V14H2.372a.5.5 0 0 1-.487-.388l-.035-.152Zm1.118-1.147-1.344.168-.56-2.424c.073-.047.16-.1.258-.16.298-.18.709-.412 1.208-.652l.438 3.068ZM8 11v3h1v-3H8Zm2 2.063V14h2.628a.5.5 0 0 0 .487-.388l.04-.174L10 13.063Zm3.381-.606.554-2.4c-.072-.047-.159-.1-.257-.16-.298-.18-.709-.412-1.208-.652l-.436 3.052 1.347.16Zm-2.34-.278L10 12.056V11a1 1 0 0 0-1-1H8V8.014c1.295.073 2.514.418 3.529.82a.505.505 0 0 0-.024.095l-.464 3.25ZM2.25 8.271l-.184-.873.138-.07c.297-.146.729-.344 1.258-.541C4.526 6.39 5.965 6 7.5 6c1.535 0 2.974.39 4.037.787a13.524 13.524 0 0 1 1.396.612l-.184.872-.128-.06C11.306 7.613 9.483 7 7.5 7c-1.983 0-3.806.612-5.12 1.212l-.129.059Z\",\"M11 2a1 1 0 0 1 1-1h4a1 1 0 0 1 .832 1.555l-.63.945.63.945A1 1 0 0 1 16 6h-3v1.032c2.192.138 4.18.703 5.667 1.258.86.321 1.561.642 2.052.885a16.274 16.274 0 0 1 .728.383l.043.024.012.008.004.002.003.002a1 1 0 0 1 .47 1.068l-.462 2.178.195.117a17.154 17.154 0 0 1 .806.518l.032.022.015.011.014.01.004.003.003.002a1 1 0 0 1 .388 1.035l-1.18 5.117A3 3 0 0 1 18.87 22H5.13a3 3 0 0 1-2.924-2.325l-1.18-5.117a1 1 0 0 1 .389-1.035l.002-.002.004-.003.014-.01a5.11 5.11 0 0 1 .22-.15 16.986 16.986 0 0 1 .828-.518l-.461-2.178a1 1 0 0 1 .47-1.068l.002-.002.004-.002.012-.008.043-.024.156-.087c.134-.073.327-.175.572-.296.49-.243 1.193-.564 2.052-.885C6.82 7.735 8.808 7.17 11 7.032V2Zm-1 18h1v-3h-1v3Zm-2-3v.087l-1.142.104-.782-3.91c1.406-.58 3.109-1.096 4.924-1.24V15h-1a2 2 0 0 0-2 2Zm-3.77 2.438L8 19.095V20H5.13a1 1 0 0 1-.9-.562Zm.625-2.065-1.104.1-.62-2.687.192-.118c.244-.147.543-.32.89-.506l.642 3.21ZM13 17v3h1v-3h-1Zm3 2.095V20h2.87a1 1 0 0 0 .9-.562L16 19.095Zm4.25-1.622.62-2.687a18.69 18.69 0 0 0-1.083-.624l-.642 3.21 1.104.101Zm-3.108-.282L16 17.087V17a2 2 0 0 0-2-2h-1v-2.96c1.816.145 3.518.66 4.924 1.241l-.782 3.91ZM4.322 11.87l-.188-.886.034-.017c.44-.217 1.08-.51 1.864-.803C7.611 9.575 9.737 9 12 9s4.39.575 5.968 1.164c.785.293 1.424.586 1.864.803l.034.017-.188.886-.244-.113C17.535 10.89 14.888 10 12 10s-5.535.89-7.434 1.757l-.244.113Z\",\"M15 4a1 1 0 0 1 1-1h5a1 1 0 0 1 .848 1.53L20.929 6l.919 1.47A1 1 0 0 1 21 9h-4v2.023c2.989.133 5.716.836 7.747 1.53 1.131.388 2.055.775 2.7 1.067a22.07 22.07 0 0 1 .952.46l.054.028.016.009.005.002.002.002a1 1 0 0 1 .498 1.104l-.526 2.281a22.201 22.201 0 0 1 1.023.607l.024.016.035.023.017.01.005.004.003.002a1 1 0 0 1 .415 1.075l-1.621 6.485A3 3 0 0 1 25.439 28H6.562a3 3 0 0 1-2.91-2.272L2.03 19.242a1 1 0 0 1 .415-1.074l.003-.002.005-.003.017-.011.06-.039.217-.136c.188-.116.46-.278.805-.471l-.526-2.281a1 1 0 0 1 .498-1.104l.002-.002.005-.002.016-.009.055-.028a21.92 21.92 0 0 1 .952-.46c.644-.292 1.568-.68 2.7-1.066 2.03-.695 4.757-1.398 7.746-1.531V4ZM5.388 16.567l-.236-1.02c.071-.034.147-.068.227-.105.596-.27 1.46-.633 2.522-.996C10.03 13.718 12.916 13 16 13c3.083 0 5.969.718 8.098 1.446a28.492 28.492 0 0 1 2.749 1.1l-.236 1.02a30.52 30.52 0 0 0-1.099-.488C23.068 15.05 19.681 14 16 14c-3.68 0-7.068 1.049-9.513 2.078-.39.165-.757.329-1.099.489ZM25.438 26H21v-1.858l5.5.734-.091.366a1 1 0 0 1-.97.758ZM19 23.021V22h-2v4h2v-2.979Zm3.107-.749L21 22.125V22a2 2 0 0 0-2-2h-2v-3.972c2.155.12 4.195.613 5.946 1.211l-.839 5.033Zm5.745-2.803-.864 3.454-2.897-.386.761-4.567a27.676 27.676 0 0 1 3 1.499ZM15 16.029V20h-2a2 2 0 0 0-2 2v.125l-1.107.147-.84-5.033c1.752-.598 3.791-1.09 5.947-1.21Zm-7.09 6.508-.762-4.567a27.707 27.707 0 0 0-3 1.499l.864 3.454 2.897-.386ZM5.5 24.876l.091.366a1 1 0 0 0 .97.758H11v-1.858l-5.5.734ZM13 23.02V26h2v-4h-2v1.021Z\"]];","export default [[\"M9.5 0a.5.5 0 0 0-.5.5v.757A5.5 5.5 0 1 0 5.5 11c2.828 0 5.192-2.135 5.497-4.89a.5.5 0 1 0-.994-.11C9.754 8.246 7.82 10 5.5 10a4.5 4.5 0 1 1 2.829-8H7.5a.5.5 0 1 0 0 1h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5Z\",\"M12.19 3h-.69a.5.5 0 1 0 0 1h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-1 0v.9A7.5 7.5 0 1 0 7.5 15c3.946 0 7.204-3.049 7.498-6.924a.5.5 0 1 0-.997-.075C13.746 11.354 10.923 14 7.5 14a6.5 6.5 0 1 1 4.69-11Z\",\"M17.657 5H17a1 1 0 1 0 0 2h3a1 1 0 0 0 1-1V3a1 1 0 1 0-2 0v.514A10.957 10.957 0 0 0 12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11a1 1 0 1 0-2 0 9 9 0 1 1-9-9 8.96 8.96 0 0 1 5.657 2Z\",\"M25 5.276V4a1 1 0 1 1 2 0v4a1 1 0 0 1-1 1h-4a1 1 0 1 1 0-2h1.938A11.952 11.952 0 0 0 16 4C9.373 4 4 9.373 4 16s5.373 12 12 12 12-5.373 12-12a1 1 0 1 1 2 0c0 7.732-6.268 14-14 14S2 23.732 2 16 8.268 2 16 2c3.427 0 6.567 1.232 9 3.276Z\"]];","export default [[\"M1.5 0a.5.5 0 0 1 .5.5v.757A5.5 5.5 0 1 1 5.5 11C2.672 11 .308 8.865.003 6.11A.5.5 0 1 1 .997 6c.249 2.246 2.183 4 4.503 4a4.5 4.5 0 1 0-2.829-8H3.5a.5.5 0 1 1 0 1h-2a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5Z\",\"M2.81 3h.69a.5.5 0 1 1 0 1h-2a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 1 0v.9A7.5 7.5 0 1 1 7.5 15C3.554 15 .296 11.951.001 8.076A.5.5 0 1 1 1 8.001C1.254 11.354 4.077 14 7.5 14A6.5 6.5 0 1 0 2.81 3Z\",\"M6.343 5H7a1 1 0 0 1 0 2H4a1 1 0 0 1-1-1V3a1 1 0 0 1 2 0v.514A10.958 10.958 0 0 1 12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12a1 1 0 1 1 2 0 9 9 0 1 0 9-9 8.96 8.96 0 0 0-5.657 2Z\",\"M7 5.276V4a1 1 0 0 0-2 0v4a1 1 0 0 0 1 1h4a1 1 0 1 0 0-2H8.062C10.18 5.132 12.957 4 16 4c6.627 0 12 5.373 12 12s-5.373 12-12 12S4 22.627 4 16a1 1 0 1 0-2 0c0 7.732 6.268 14 14 14s14-6.268 14-14S23.732 2 16 2a13.946 13.946 0 0 0-9 3.276Z\"]];","export default [[\"M1.854 6.146a.5.5 0 1 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0-.708-.708L6 9.293V1.5a.5.5 0 0 0-1 0v7.793L1.854 6.146Z\",\"M2.854 9.146a.5.5 0 1 0-.708.708l5 5a.5.5 0 0 0 .708 0l5-5a.5.5 0 0 0-.708-.708L8 13.293V1.5a.5.5 0 0 0-1 0v11.793L2.854 9.146Z\",\"M19.293 12.293a1 1 0 0 1 1.414 1.414l-8 8a1 1 0 0 1-1.414 0l-8-8a1 1 0 1 1 1.414-1.414L11 18.586V3a1 1 0 1 1 2 0v15.586l6.293-6.293Z\",\"M26.327 17.26a1 1 0 0 1 1.346 1.48l-11 10a1 1 0 0 1-1.346 0l-11-10a1 1 0 1 1 1.346-1.48L15 25.74V4a1 1 0 1 1 2 0v21.74l9.327-8.48Z\"]];","export default [[\"M5.5 1a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 1 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L5 5.293V1.5a.5.5 0 0 1 .5-.5Zm0 10a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\",\"M10.146 6.146 8 8.293V2.5a.5.5 0 0 0-1 0v5.793L4.854 6.146a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708ZM7.5 14a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\",\"M11 4v7.586L8.707 9.293a1 1 0 0 0-1.414 1.414l4 4a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L13 11.586V4a1 1 0 1 0-2 0Zm1 17a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\",\"M21.293 14.293 17 18.586V5a1 1 0 1 0-2 0v13.586l-4.293-4.293a1 1 0 0 0-1.414 1.414l6 6a1 1 0 0 0 1.414 0l6-6a1 1 0 0 0-1.414-1.414ZM16 28a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"]];","export default [[\"M3.707 9H7.5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5v-5a.5.5 0 0 1 1 0v3.793l6.146-6.147a.5.5 0 1 1 .708.708L3.707 9Z\",\"M4.707 12H10.5a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5v-7a.5.5 0 0 1 1 0v5.793l8.146-8.147a.5.5 0 0 1 .708.708L4.707 12Z\",\"M7.414 18H16a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1V8a1 1 0 1 1 2 0v8.586L18.293 4.293a1 1 0 1 1 1.414 1.414L7.414 18Z\",\"M9.414 24H22a1 1 0 1 1 0 2H7a1 1 0 0 1-1-1V10a1 1 0 1 1 2 0v12.586L24.293 6.293a1 1 0 1 1 1.414 1.414L9.414 24Z\"]];","export default [[\"M1 10.5a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 0-1h-8a.5.5 0 0 0-.5.5Zm4.146-1.646a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0-.708-.708L6 7.293V1.5a.5.5 0 0 0-1 0v5.793L1.854 4.146a.5.5 0 1 0-.708.708l4 4Z\",\"M1 14.5a.5.5 0 0 0 .5.5h12a.5.5 0 0 0 0-1h-12a.5.5 0 0 0-.5.5Zm6.146-1.646a.5.5 0 0 0 .708 0l5-5a.5.5 0 0 0-.708-.708L8 11.293V1.5a.5.5 0 0 0-1 0v9.793L2.854 7.146a.5.5 0 1 0-.708.708l5 5Z\",\"M2 21a1 1 0 0 0 1 1h18a1 1 0 1 0 0-2H3a1 1 0 0 0-1 1Zm9.293-3.293a1 1 0 0 0 1.414 0l7-7a1 1 0 0 0-1.414-1.414L13 14.586V3a1 1 0 1 0-2 0v11.586L5.707 9.293a1 1 0 0 0-1.414 1.414l7 7Z\",\"M3 28a1 1 0 0 0 1 1h24a1 1 0 1 0 0-2H4a1 1 0 0 0-1 1Zm12.327-3.26a1 1 0 0 0 1.346 0l11-10a1 1 0 0 0-1.346-1.48L17 21.74V4a1 1 0 1 0-2 0v17.74l-9.327-8.48a1 1 0 0 0-1.346 1.48l11 10Z\"]];","export default [[\"M6 4.293V.5a.5.5 0 0 0-1 0v3.793l-.646-.647a.5.5 0 1 0-.708.708l1.5 1.5A.498.498 0 0 0 5.5 6h-3A1.5 1.5 0 0 0 1 7.5v2A1.5 1.5 0 0 0 2.5 11h6A1.5 1.5 0 0 0 10 9.5v-2A1.5 1.5 0 0 0 8.5 6h-3a.5.5 0 0 0 .354-.146l1.5-1.5a.5.5 0 1 0-.708-.708L6 4.293Z\",\"M8 7.293V1.5a.5.5 0 0 0-1 0v5.793L5.854 6.146a.5.5 0 1 0-.708.708l2 2A.498.498 0 0 0 7.5 9h-4A1.5 1.5 0 0 0 2 10.5v3A1.5 1.5 0 0 0 3.5 15h8a1.5 1.5 0 0 0 1.5-1.5v-3A1.5 1.5 0 0 0 11.5 9h-4a.5.5 0 0 0 .354-.146l2-2a.5.5 0 0 0-.708-.708L8 7.293Z\",\"M13 10.586V2a1 1 0 1 0-2 0v8.586L8.707 8.293a1 1 0 0 0-1.414 1.414l4 4c.195.195.45.293.706.293H7a3 3 0 0 0-3 3v3a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3v-3a3 3 0 0 0-3-3h-5a.997.997 0 0 0 .707-.293l4-4a1 1 0 0 0-1.414-1.414L13 10.586Z\",\"M17 15.586V3a1 1 0 1 0-2 0v12.586l-3.293-3.293a1 1 0 0 0-1.414 1.414l5 5c.195.195.45.293.706.293H9a3 3 0 0 0-3 3v5a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-5a3 3 0 0 0-3-3h-6.999a.997.997 0 0 0 .706-.293l5-5a1 1 0 0 0-1.414-1.414L17 15.586Z\"],[\"M6 .5v3.793l.646-.647a.5.5 0 1 1 .708.708l-1.5 1.5A.498.498 0 0 1 5.5 6h3A1.5 1.5 0 0 1 10 7.5v2A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-2A1.5 1.5 0 0 1 2.5 6h3a.5.5 0 0 1-.354-.146l-1.5-1.5a.5.5 0 1 1 .708-.708L5 4.293V.5a.5.5 0 0 1 1 0Zm-4 7a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-2Z\",\"M8 1.5v5.793l1.146-1.147a.5.5 0 1 1 .708.708l-2 2A.498.498 0 0 1 7.5 9h4a1.5 1.5 0 0 1 1.5 1.5v3a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 2 13.5v-3A1.5 1.5 0 0 1 3.5 9h4a.5.5 0 0 1-.354-.146l-2-2a.5.5 0 1 1 .708-.708L7 7.293V1.5a.5.5 0 0 1 1 0Zm-5 9a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-3Z\",\"M13 2v8.586l2.293-2.293a1 1 0 1 1 1.414 1.414l-4 4a.997.997 0 0 1-.706.293H17a3 3 0 0 1 3 3v3a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3v-3a3 3 0 0 1 3-3h5a.997.997 0 0 1-.707-.293l-4-4a1 1 0 0 1 1.414-1.414L11 10.586V2a1 1 0 1 1 2 0ZM6 17a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-3Z\",\"M17 3v12.586l3.293-3.293a1 1 0 0 1 1.414 1.414l-5 5a.997.997 0 0 1-.706.293H23a3 3 0 0 1 3 3v5a3 3 0 0 1-3 3H9a3 3 0 0 1-3-3v-5a3 3 0 0 1 3-3h6.999a.997.997 0 0 1-.706-.293l-5-5a1 1 0 1 1 1.414-1.414L15 15.586V3a1 1 0 1 1 2 0ZM8 22a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1v-5Z\"]];","export default [[\"M9 8.293 2.854 2.146a.5.5 0 1 0-.708.708L8.293 9H4.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-1 0v3.793Z\",\"M11.293 12H5.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-1 0v5.793L3.854 3.146a.5.5 0 1 0-.708.708L11.293 12Z\",\"M18 16.586 5.707 4.293a1 1 0 0 0-1.414 1.414L16.586 18H8a1 1 0 1 0 0 2h11a1 1 0 0 0 1-1V8a1 1 0 1 0-2 0v8.586Z\",\"M22.586 24H10a1 1 0 1 0 0 2h15a1 1 0 0 0 1-1V10a1 1 0 1 0-2 0v12.586L7.707 6.293a1 1 0 0 0-1.414 1.414L22.586 24Z\"]];","export default [[\"<path d='M2.5 8a.5.5 0 0 0-.5.5v1A1.5 1.5 0 0 0 3.5 11h4A1.5 1.5 0 0 0 9 9.5v-8A1.5 1.5 0 0 0 7.5 0h-4A1.5 1.5 0 0 0 2 1.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 0-.5-.5Z'></path><path d='M5.293 6 4.146 7.146a.5.5 0 1 0 .708.708l2-2a.5.5 0 0 0 0-.708l-2-2a.5.5 0 1 0-.708.708L5.293 5H.5a.5.5 0 0 0 0 1h4.793Z'></path>\",\"<path d='M3 10.5v3A1.5 1.5 0 0 0 4.5 15h6a1.5 1.5 0 0 0 1.5-1.5v-12A1.5 1.5 0 0 0 10.5 0h-6A1.5 1.5 0 0 0 3 1.5v3a.5.5 0 1 0 1 0v-3a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 0-1 0Z'></path><path d='M8.293 7H1.5a.5.5 0 0 0 0 1h6.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L8.293 7Z'></path>\",\"<path d='M7 16a1 1 0 0 0-1 1v3a3 3 0 0 0 3 3h7a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3H9a3 3 0 0 0-3 3v3a1 1 0 1 0 2 0V4a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1v-3a1 1 0 0 0-1-1Z'></path><path d='M12.586 11H3a1 1 0 1 0 0 2h9.586l-2.293 2.293a1 1 0 1 0 1.414 1.414l4-4a1 1 0 0 0 0-1.414l-4-4a1 1 0 1 0-1.414 1.414L12.586 11Z'></path>\",\"<path d='M10 20a1 1 0 0 0-1 1v6a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H12a3 3 0 0 0-3 3v6a1 1 0 1 0 2 0V5a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v22a1 1 0 0 1-1 1H12a1 1 0 0 1-1-1v-6a1 1 0 0 0-1-1Z'></path><path d='M17.586 15H4a1 1 0 1 0 0 2h13.586l-4.293 4.293a1 1 0 0 0 1.414 1.414l6-6a1 1 0 0 0 0-1.414l-6-6a1 1 0 1 0-1.414 1.414L17.586 15Z'></path>\"]];","export default [[\"<path d='M6.5 8a.5.5 0 0 1 .5.5v1A1.5 1.5 0 0 1 5.5 11h-4A1.5 1.5 0 0 1 0 9.5v-8A1.5 1.5 0 0 1 1.5 0h4A1.5 1.5 0 0 1 7 1.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 1 .5-.5Z'></path><path d='M9.293 6 8.146 7.146a.5.5 0 0 0 .708.708l2-2a.5.5 0 0 0 0-.708l-2-2a.5.5 0 1 0-.708.708L9.293 5H4.5a.5.5 0 0 0 0 1h4.793Z'></path>\",\"<path d='M10 10.5v3A1.5 1.5 0 0 1 8.5 15h-6A1.5 1.5 0 0 1 1 13.5v-12A1.5 1.5 0 0 1 2.5 0h6A1.5 1.5 0 0 1 10 1.5v3a.5.5 0 1 1-1 0v-3a.5.5 0 0 0-.5-.5h-6a.5.5 0 0 0-.5.5v12a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 1 1 0Z'></path><path d='m13.293 8-2.146 2.146a.5.5 0 0 0 .707.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.707.708L13.293 7H6.5a.5.5 0 0 0 0 1h6.793Z'></path>\",\"<path d='M14 16a1 1 0 0 1 1 1v3a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V4a3 3 0 0 1 3-3h7a3 3 0 0 1 3 3v3a1 1 0 1 1-2 0V4a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1v-3a1 1 0 0 1 1-1Z'></path><path d='m19.586 13-2.293 2.293a1 1 0 0 0 1.414 1.414l4-4a1 1 0 0 0 0-1.414l-4-4a1 1 0 1 0-1.414 1.414L19.586 11H10a1 1 0 1 0 0 2h9.586Z'></path>\",\"<path d='M19 20a1 1 0 0 1 1 1v6a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v6a1 1 0 1 1-2 0V5a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v22a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1v-6a1 1 0 0 1 1-1Z'></path><path d='m26.586 17-4.293 4.293a1 1 0 0 0 1.414 1.414l6-6a1 1 0 0 0 0-1.414l-6-6a1 1 0 1 0-1.414 1.414L26.586 15H13a1 1 0 1 0 0 2h13.586Z'></path>\"]];","export default [[\"M5.854 10.146a.5.5 0 0 1-.708.708l-4-4a.5.5 0 0 1 0-.708l4-4a.5.5 0 1 1 .708.708L2.707 6H10.5a.5.5 0 0 1 0 1H2.707l3.147 3.146Z\",\"M6.854 13.146a.5.5 0 0 1-.708.708l-5-5a.5.5 0 0 1 0-.708l5-5a.5.5 0 1 1 .708.708L2.707 8H14.5a.5.5 0 0 1 0 1H2.707l4.147 4.146Z\",\"M11.707 19.293a1 1 0 0 1-1.414 1.414l-8-8a1 1 0 0 1 0-1.414l8-8a1 1 0 1 1 1.414 1.414L5.414 11H21a1 1 0 1 1 0 2H5.414l6.293 6.293Z\",\"M14.74 26.327a1 1 0 0 1-1.48 1.346l-10-11a1 1 0 0 1 0-1.346l10-11a1 1 0 1 1 1.48 1.346L6.26 15H28a1 1 0 1 1 0 2H6.26l8.48 9.327Z\"]];","export default [[\"M7.146 2.146a.5.5 0 1 1 .708.708L4.707 6H10.5a.5.5 0 0 1 0 1H4.707l3.147 3.146a.5.5 0 0 1-.708.708l-4-4a.5.5 0 0 1 0-.708l4-4ZM2 2.5a.5.5 0 0 0-1 0v8a.5.5 0 0 0 1 0v-8Z\",\"M2 2.5a.5.5 0 0 0-1 0v12a.5.5 0 0 0 1 0v-12Zm6.854.646a.5.5 0 0 1 0 .708L4.707 8H14.5a.5.5 0 0 1 0 1H4.707l4.147 4.146a.5.5 0 0 1-.708.708l-5-5a.5.5 0 0 1 0-.708l5-5a.5.5 0 0 1 .708 0Z\",\"M4 3a1 1 0 0 0-2 0v18a1 1 0 1 0 2 0V3Zm10.707 1.293a1 1 0 0 1 0 1.414L9.414 11H21a1 1 0 1 1 0 2H9.414l5.293 5.293a1 1 0 0 1-1.414 1.414l-7-7a1 1 0 0 1 0-1.414l7-7a1 1 0 0 1 1.414 0Z\",\"M3 3a1 1 0 0 1 1 1v24a1 1 0 1 1-2 0V4a1 1 0 0 1 1-1Zm6.26 12 8.48-9.327a1 1 0 0 0-1.48-1.346l-10 11a1 1 0 0 0 0 1.346l10 11a1 1 0 0 0 1.48-1.346L9.26 17H28a1 1 0 1 0 0-2H9.26Z\"]];","export default [[\"M5.146.146a.5.5 0 0 1 .708 0l1 1a.5.5 0 1 1-.708.708L6 1.707V5h3.293l-.147-.146a.5.5 0 1 1 .708-.708l1 1a.5.5 0 0 1 0 .708l-1 1a.5.5 0 1 1-.708-.708L9.293 6H6v3.293l.146-.147a.5.5 0 1 1 .708.708l-1 1a.5.5 0 0 1-.708 0l-1-1a.5.5 0 1 1 .708-.708L5 9.293V6H1.707l.147.146a.5.5 0 1 1-.708.708l-1-1a.5.5 0 0 1 0-.708l1-1a.5.5 0 1 1 .708.708L1.707 5H5V1.707l-.146.147a.5.5 0 1 1-.708-.708l1-1Z\",\"M7.854 1.146a.5.5 0 0 0-.707 0l-2 2a.5.5 0 1 0 .707.708L7 2.707V7H2.707l1.147-1.146a.5.5 0 1 0-.707-.708l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 0 0 .706-.708L2.707 8H7v4.293l-1.146-1.147a.5.5 0 0 0-.708.707l2 2a.5.5 0 0 0 .708 0l2-2a.5.5 0 0 0-.708-.706L8 12.293V8h4.293l-1.146 1.146a.5.5 0 1 0 .707.708l2-2a.5.5 0 0 0 0-.707l-2-2a.5.5 0 0 0-.708.707L12.293 7H8V2.707l1.146 1.147a.5.5 0 1 0 .708-.708l-2-2Z\",\"M11 4.414 9.709 5.707a1 1 0 0 1-1.415-1.414l3-3a1 1 0 0 1 1.415 0l3 3a1 1 0 1 1-1.415 1.414l-1.292-1.293V11h6.584l-1.292-1.292a1 1 0 0 1 1.414-1.415l2.977 2.977a1 1 0 0 1 .024 1.438l-3 3a1 1 0 1 1-1.415-1.415L19.587 13h-6.586v6.585l1.292-1.292a1 1 0 0 1 1.414 1.414l-2.998 2.999-.002.001a1.002 1.002 0 0 1-1.414 0l-3-3a1 1 0 1 1 1.414-1.414l1.294 1.294V13H4.414l1.293 1.293a1 1 0 0 1-1.414 1.414l-3-3a1 1 0 0 1 0-1.414l3-3a1 1 0 0 1 1.414 1.414L4.414 11h6.587V4.414Z\",\"M11.293 6.292a1 1 0 0 0 1.414 1.414L15 5.413V15H5.414l2.293-2.293a1 1 0 0 0-1.414-1.414l-4 4a1 1 0 0 0 0 1.414l4 4a1 1 0 0 0 1.414-1.414L5.414 17H15v9.585l-2.293-2.293a1 1 0 0 0-1.414 1.414l4 4a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L17 26.584V17h9.586l-2.293 2.293a1 1 0 0 0 1.414 1.414l4-4a1 1 0 0 0 0-1.414l-4-4a1 1 0 0 0-1.414 1.414l2.292 2.292H17V5.414l2.293 2.293a1 1 0 0 0 1.414-1.414l-4-4a1 1 0 0 0-1.414 0l-4 4Z\"]];","export default [[\"M5.146 1.146a.5.5 0 0 1 .708 0l2 2a.5.5 0 1 1-.708.708L6 2.707v6.586l1.146-1.147a.5.5 0 1 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L5 9.293V2.707L3.854 3.854a.5.5 0 1 1-.708-.708l2-2Z\",\"M7.146 1.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8 2.707v10.586l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 0 1 .708-.708L7 13.293V2.707L4.854 4.854a.5.5 0 1 1-.708-.708l3-3Z\",\"M12.293 1.293a1 1 0 0 1 1.414 0l5 5a1 1 0 0 1-1.414 1.414L14 4.414v15.172l3.293-3.293a1 1 0 0 1 1.414 1.414l-5 5a1 1 0 0 1-1.414 0l-5-5a1 1 0 1 1 1.414-1.414L12 19.586V4.414L8.707 7.707a1 1 0 0 1-1.414-1.414l5-5Z\",\"M15.293 2.293a1 1 0 0 1 1.414 0l6 6a1 1 0 0 1-1.414 1.414L17 5.414v21.172l4.293-4.293a1 1 0 0 1 1.414 1.414l-6 6a1 1 0 0 1-1.414 0l-6-6a1 1 0 1 1 1.414-1.414L15 26.586V5.414l-4.293 4.293a1 1 0 0 1-1.414-1.414l6-6Z\"]];","export default [[\"M6.146 10.146a.5.5 0 0 0 .708.708l4-4a.5.5 0 0 0 0-.708l-4-4a.5.5 0 1 0-.708.708L9.293 6H1.5a.5.5 0 0 0 0 1h7.793l-3.147 3.146Z\",\"M9.146 13.146a.5.5 0 0 0 .708.708l5-5a.5.5 0 0 0 0-.708l-5-5a.5.5 0 1 0-.708.708L13.293 8H1.5a.5.5 0 0 0 0 1h11.793l-4.147 4.146Z\",\"M12.293 19.293a1 1 0 0 0 1.414 1.414l8-8a1 1 0 0 0 0-1.414l-8-8a1 1 0 1 0-1.414 1.414l6.297 6.297A.988.988 0 0 0 18.5 11H3a1 1 0 1 0 0 2h15.5c.03 0 .06-.001.09-.004l-6.297 6.297Z\",\"M16.293 27.707a1 1 0 0 1 0-1.414L25.586 17H4a1 1 0 1 1 0-2h21.586l-9.293-9.293a1 1 0 0 1 1.414-1.414l11 11a1 1 0 0 1 0 1.414l-11 11a1 1 0 0 1-1.414 0Z\"]];","export default [[\"M10.854 3.854a.5.5 0 0 0 0-.708l-2-2a.5.5 0 1 0-.708.708L9.293 3H1.5a.5.5 0 0 0 0 1h7.793L8.146 5.146a.5.5 0 1 0 .708.708l2-2ZM1.146 8.146a.5.5 0 0 0 0 .708l2 2a.5.5 0 0 0 .708-.708L2.707 9H10.5a.5.5 0 0 0 0-1H2.707l1.147-1.146a.5.5 0 1 0-.708-.708l-2 2Z\",\"m10.854 7.854 3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708.708L12.293 4H2.5a.5.5 0 0 0 0 1h9.793l-2.147 2.146a.5.5 0 0 0 .708.708ZM3.707 12l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L3.707 11H13.5a.5.5 0 0 1 0 1H3.707Z\",\"m16.707 12.707 5-5a1 1 0 0 0 0-1.414l-5-5a1 1 0 1 0-1.414 1.414L18.586 6H3a1 1 0 1 0 0 2h15.586l-3.293 3.293a1 1 0 0 0 1.414 1.414ZM5.414 18l3.293 3.293a1 1 0 1 1-1.414 1.414l-5-5a1 1 0 0 1 0-1.414l5-5a1 1 0 0 1 1.414 1.414L5.414 16H21a1 1 0 1 1 0 2H5.414Z\",\"m23.707 15.707 6-6a1 1 0 0 0 0-1.414l-6-6a1 1 0 1 0-1.414 1.414L26.586 8H3a1 1 0 1 0 0 2h23.586l-4.293 4.293a1 1 0 0 0 1.414 1.414Zm-14 12.586L5.414 24H29a1 1 0 1 0 0-2H5.414l4.293-4.293a1 1 0 0 0-1.414-1.414l-6 6a1 1 0 0 0 0 1.414l6 6a1 1 0 0 0 1.414-1.414Z\"]];","export default [[\"M4.854 2.146a.5.5 0 1 0-.708.708L7.293 6H1.5a.5.5 0 0 0 0 1h5.793l-3.147 3.146a.5.5 0 0 0 .708.708l4-4a.5.5 0 0 0 0-.708l-4-4ZM10 2.5a.5.5 0 0 1 1 0v8a.5.5 0 0 1-1 0v-8Z\",\"M14 2.5a.5.5 0 0 1 1 0v12a.5.5 0 0 1-1 0v-12Zm-6.854.646a.5.5 0 0 0 0 .708L11.293 8H1.5a.5.5 0 0 0 0 1h9.793l-4.147 4.146a.5.5 0 0 0 .708.708l5-5a.5.5 0 0 0 0-.708l-5-5a.5.5 0 0 0-.708 0Z\",\"M20 3a1 1 0 1 1 2 0v18a1 1 0 1 1-2 0V3ZM9.293 4.293a1 1 0 0 0 0 1.414L14.586 11H3a1 1 0 1 0 0 2h11.586l-5.293 5.293a1 1 0 1 0 1.414 1.414l7-7a1 1 0 0 0 0-1.414l-7-7a1 1 0 0 0-1.414 0Z\",\"M28 3a1 1 0 0 0-1 1v24a1 1 0 1 0 2 0V4a1 1 0 0 0-1-1Zm-6.26 12-8.48-9.327a1 1 0 0 1 1.48-1.346l10 11a1 1 0 0 1 0 1.346l-10 11a1 1 0 0 1-1.48-1.346L21.74 17H3a1 1 0 1 1 0-2h18.74Z\"]];","export default [[\"M3.146 1.146A.5.5 0 0 0 3 1.5V3a.5.5 0 0 0 1 0v-.17L5.898 5h-3.19l.146-.146a.5.5 0 1 0-.708-.708l-1 1a.5.5 0 0 0 0 .708l1 1a.5.5 0 1 0 .708-.708L2.707 6h3.191L4 8.17V8a.5.5 0 1 0-1 0v1.5a.5.5 0 0 0 .5.5H5a.5.5 0 1 0 0-1h-.398l2.625-3H10.5a.5.5 0 0 0 0-1H7.227L4.602 2H5a.5.5 0 0 0 0-1H3.5a.5.5 0 0 0-.354.146Z\",\"M5.509 2A.499.499 0 0 0 5 2.5v3a.5.5 0 1 0 1 0V3.707L9.293 7H2.707l1.147-1.146a.5.5 0 1 0-.708-.708l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 0 0 .708-.708L2.707 8h6.586L6 11.293V9.5a.5.5 0 1 0-1 0v3a.498.498 0 0 0 .509.5H8.5a.5.5 0 1 0 0-1H6.707l4-4H14.5a.5.5 0 0 0 0-1h-3.793l-4-4H8.5a.5.5 0 1 0 0-1H5.509Z\",\"M8 3a1 1 0 0 0-1 1v4a1 1 0 1 0 2 0V6.529L13.192 11H4.414l1.293-1.293a1 1 0 0 0-1.414-1.414l-3 3a1 1 0 0 0 0 1.414l3 3a1 1 0 0 0 1.414-1.414L4.414 13h8.778L9 17.471v-1.47a1 1 0 1 0-2 0V20a1 1 0 0 0 1 1h4a1 1 0 1 0 0-2h-1.692l5.625-6H22a1 1 0 1 0 0-2h-6.067l-5.625-6H12a1 1 0 0 0 0-2H8Z\",\"M9 10a1 1 0 1 0 2 0V7.414L18.586 15H5.414l1.793-1.793a1 1 0 1 0-1.414-1.414l-3.5 3.5a1 1 0 0 0 0 1.414l3.5 3.5a1 1 0 0 0 1.414-1.414L5.414 17h13.172L11 24.586V22a1 1 0 1 0-2 0v5a1 1 0 0 0 1 1h5a1 1 0 1 0 0-2h-2.586l9-9H29a1 1 0 1 0 0-2h-7.585l-9-9H15a1 1 0 1 0 0-2h-5a1 1 0 0 0-1 1v5Z\"]];","export default [[\"M8.998 1.458A.5.5 0 0 0 8.5 1H7a.5.5 0 1 0 0 1h.398L4.773 5H1.5a.5.5 0 0 0 0 1h3.273l2.625 3H7a.5.5 0 1 0 0 1h1.5a.5.5 0 0 0 .498-.459A.437.437 0 0 0 9 9.443V7.999a.5.5 0 1 0-1 0v.17L6.102 6h3.19l-.146.146a.5.5 0 1 0 .708.708l1-1a.5.5 0 0 0 0-.708l-1-1a.5.5 0 1 0-.708.708L9.293 5H6.1L8 2.83V3a.5.5 0 1 0 1 0V1.557a.437.437 0 0 0-.002-.099Z\",\"M11 2.547V5.5a.5.5 0 0 1-1 0V3.707L6.707 7h6.586l-1.147-1.146a.5.5 0 0 1 .708-.708l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L13.293 8H6.707L10 11.293V9.5a.5.5 0 0 1 1 0v2.953a.5.5 0 0 1-.545.547H7.5a.5.5 0 0 1 0-1h1.793l-4-4H1.5a.5.5 0 0 1 0-1h3.793l4-4H7.5a.5.5 0 0 1 0-1h2.955a.5.5 0 0 1 .545.547Z\",\"M15.99 3H12a1 1 0 0 0 0 2h1.692l-5.625 6H2a1 1 0 1 0 0 2h6.067l5.625 6H12a1 1 0 1 0 0 2h4a1 1 0 0 0 1-1v-4a1 1 0 1 0-2 0v1.471L10.808 13h8.778l-1.293 1.293a1 1 0 0 0 1.414 1.414l3-3a1 1 0 0 0 0-1.414l-3-3a1 1 0 1 0-1.414 1.414L19.586 11h-8.778L15 6.529V8a1 1 0 0 0 2 .013V3.965A.997.997 0 0 0 15.99 3Z\",\"M23 5v5a1 1 0 1 1-2 0V7.414L13.414 15h13.172l-1.793-1.793a1 1 0 0 1 1.414-1.414l3.5 3.5.007.007a.996.996 0 0 1 .002 1.398l-.01.01-3.499 3.5a1 1 0 0 1-1.414-1.415L26.586 17H13.414L21 24.586V22a1 1 0 1 1 2 0v5.003A1 1 0 0 1 22 28h-5a1 1 0 1 1 0-2h2.586l-9-9H3a1 1 0 1 1 0-2h7.586l9-9H17a1 1 0 1 1 0-2h5a1 1 0 0 1 1 .997v.004Z\"]];","export default [[\"M1.854 5.854a.5.5 0 1 1-.708-.708l4-4a.5.5 0 0 1 .708 0l4 4a.5.5 0 0 1-.708.708L6 2.707V10.5a.5.5 0 0 1-1 0V2.707L1.854 5.854Z\",\"M2.854 6.854a.5.5 0 1 1-.708-.708l5-5a.5.5 0 0 1 .708 0l5 5a.5.5 0 0 1-.708.708L8 2.707V14.5a.5.5 0 0 1-1 0V2.707L2.854 6.854Z\",\"M19.293 11.707a1 1 0 0 0 1.414-1.414l-8-8a1 1 0 0 0-1.414 0l-8 8a1 1 0 1 0 1.414 1.414L11 5.414V21a1 1 0 1 0 2 0V5.414l6.293 6.293Z\",\"M5.673 14.74a1 1 0 0 1-1.346-1.48l11-10a1 1 0 0 1 1.346 0l11 10a1 1 0 0 1-1.346 1.48L17 6.26V28a1 1 0 1 1-2 0V6.26l-9.327 8.48Z\"]];","export default [[\"M3.146 3.854a.5.5 0 0 0 .708 0L5 2.707V6.5a.5.5 0 0 0 1 0V2.707l1.146 1.147a.5.5 0 1 0 .708-.708l-2-2a.5.5 0 0 0-.708 0l-2 2a.5.5 0 0 0 0 .708ZM5.5 11a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\",\"M7.146 2.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8 3.707V9.5a.5.5 0 0 1-1 0V3.707L4.854 5.854a.5.5 0 1 1-.708-.708l3-3ZM7.5 14a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\",\"M11.293 3.293a1 1 0 0 1 1.414 0l4 4a1 1 0 0 1-1.414 1.414L13 6.414V14a1 1 0 1 1-2 0V6.414L8.707 8.707a1 1 0 0 1-1.414-1.414l4-4ZM12 21a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\",\"M15.293 4.293a1 1 0 0 1 1.414 0l6 6a1 1 0 0 1-1.414 1.414L17 7.414V21a1 1 0 1 1-2 0V7.414l-4.293 4.293a1 1 0 0 1-1.414-1.414l6-6ZM16 28a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"]];","export default [[\"M8 9.293 6.854 8.146a.5.5 0 1 0-.708.708l2 2a.5.5 0 0 0 .708 0l2-2a.5.5 0 0 0-.708-.708L9 9.293V1.5a.5.5 0 0 0-1 0v7.793ZM3.854 1.146a.5.5 0 0 0-.708 0l-2 2a.5.5 0 1 0 .708.708L3 2.707V10.5a.5.5 0 0 0 1 0V2.707l1.146 1.147a.5.5 0 1 0 .708-.708l-2-2Z\",\"M8.854 10.146 11 12.293V2.5a.5.5 0 0 1 1 0v9.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 0 1 .708-.708Zm-4.708-8a.5.5 0 0 1 .708 0l3 3a.5.5 0 1 1-.708.708L5 3.707V13.5a.5.5 0 0 1-1 0V3.707L1.854 5.854a.5.5 0 1 1-.708-.708l3-3Z\",\"M16 18.586V3a1 1 0 1 1 2 0v15.586l3.293-3.293a1 1 0 0 1 1.414 1.414l-5 5a1 1 0 0 1-1.414 0l-5-5a1 1 0 0 1 1.414-1.414L16 18.586ZM7.707 2.293a1 1 0 0 0-1.414 0l-5 5a1 1 0 0 0 1.414 1.414L6 5.414V21a1 1 0 1 0 2 0V5.414l3.293 3.293a1 1 0 1 0 1.414-1.414l-5-5Z\",\"M22 3v23.586l-4.293-4.293a1 1 0 0 0-1.414 1.414l6 6a1 1 0 0 0 1.414 0l6-6a1 1 0 0 0-1.414-1.414L24 26.586V3a1 1 0 1 0-2 0ZM8 5.414 3.707 9.707a1 1 0 0 1-1.414-1.414l6-6a1 1 0 0 1 1.414 0l6 6a1 1 0 0 1-1.414 1.414L10 5.414V29a1 1 0 1 1-2 0V5.414Z\"],[\"M8 9.293 6.854 8.146a.5.5 0 1 0-.708.708l2 2a.5.5 0 0 0 .708 0l2-2a.5.5 0 0 0-.708-.708L9 9.293V1.5a.5.5 0 0 0-1 0v7.793ZM3.854 1.146a.5.5 0 0 0-.708 0l-2 2a.5.5 0 1 0 .708.708L3 2.707V10.5a.5.5 0 0 0 1 0V2.707l1.146 1.147a.5.5 0 1 0 .708-.708l-2-2Z\",\"M8.854 10.146 11 12.293V2.5a.5.5 0 0 1 1 0v9.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 0 1 .708-.708Zm-4.708-8a.5.5 0 0 1 .708 0l3 3a.5.5 0 1 1-.708.708L5 3.707V13.5a.5.5 0 0 1-1 0V3.707L1.854 5.854a.5.5 0 1 1-.708-.708l3-3Z\",\"M16 18.586V3a1 1 0 1 1 2 0v15.586l3.293-3.293a1 1 0 0 1 1.414 1.414l-5 5a1 1 0 0 1-1.414 0l-5-5a1 1 0 0 1 1.414-1.414L16 18.586ZM7.707 2.293a1 1 0 0 0-1.414 0l-5 5a1 1 0 0 0 1.414 1.414L6 5.414V21a1 1 0 1 0 2 0V5.414l3.293 3.293a1 1 0 1 0 1.414-1.414l-5-5Z\",\"M9.707 2.293a1 1 0 0 0-1.414 0l-6 6a1 1 0 0 0 1.414 1.414L8 5.414V29a1 1 0 1 0 2 0V5.414l4.293 4.293a1 1 0 0 0 1.414-1.414l-6-6ZM22 3v23.586l-4.293-4.293a1 1 0 0 0-1.414 1.414l6 6a1 1 0 0 0 1.414 0l6-6a1 1 0 0 0-1.414-1.414L24 26.586V3a1 1 0 1 0-2 0Z\"]];","export default [[\"M7.5 2a.5.5 0 0 1 0 1H3.707l6.147 6.146a.5.5 0 0 1-.708.708L3 3.707V7.5a.5.5 0 0 1-1 0v-5a.5.5 0 0 1 .5-.5h5Z\",\"M10.5 3a.5.5 0 0 1 0 1H4.707l8.147 8.146a.5.5 0 0 1-.708.708L4 4.707V10.5a.5.5 0 0 1-1 0v-7a.5.5 0 0 1 .5-.5h7Z\",\"M16 4a1 1 0 1 1 0 2H7.414l12.293 12.293a1 1 0 0 1-1.414 1.414L6 7.414V16a1 1 0 1 1-2 0V5a1 1 0 0 1 1-1h11Z\",\"M22 6a1 1 0 1 1 0 2H9.414l16.293 16.293a1 1 0 0 1-1.414 1.414L8 9.414V22a1 1 0 1 1-2 0V7a1 1 0 0 1 1-1h15Z\"]];","export default [[\"M1 1.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 0 1h-8a.5.5 0 0 1-.5-.5Zm4.146 1.646a.5.5 0 0 1 .708 0l4 4a.5.5 0 0 1-.708.708L6 4.707V10.5a.5.5 0 0 1-1 0V4.707L1.854 7.854a.5.5 0 1 1-.708-.708l4-4Z\",\"M1 1.5a.5.5 0 0 1 .5-.5h12a.5.5 0 0 1 0 1h-12a.5.5 0 0 1-.5-.5Zm6.146 1.646a.5.5 0 0 1 .708 0l5 5a.5.5 0 0 1-.708.708L8 4.707V14.5a.5.5 0 0 1-1 0V4.707L2.854 8.854a.5.5 0 1 1-.708-.708l5-5Z\",\"M2 3a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm9.293 3.293a1 1 0 0 1 1.414 0l7 7a1 1 0 0 1-1.414 1.414L13 9.414V21a1 1 0 1 1-2 0V9.414l-5.293 5.293a1 1 0 0 1-1.414-1.414l7-7Z\",\"M3 4a1 1 0 0 1 1-1h24a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1Zm12.327 3.26a1 1 0 0 1 1.346 0l11 10a1 1 0 0 1-1.346 1.48L17 10.26V28a1 1 0 1 1-2 0V10.26l-9.327 8.48a1 1 0 0 1-1.346-1.48l11-10Z\"]];","export default [[\"M4.5 2a.5.5 0 0 0 0 1h3.793L2.146 9.146a.5.5 0 1 0 .708.708L9 3.707V7.5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-.5-.5h-5Z\",\"M5.5 3a.5.5 0 0 0 0 1h5.793l-8.147 8.146a.5.5 0 0 0 .708.708L12 4.707V10.5a.5.5 0 0 0 1 0v-7a.5.5 0 0 0-.5-.5h-7Z\",\"M8 4a1 1 0 0 0 0 2h8.586L4.293 18.293a1 1 0 1 0 1.414 1.414L18 7.414V16a1 1 0 1 0 2 0V5a1 1 0 0 0-1-1H8Z\",\"M10 6a1 1 0 0 0 0 2h12.586L6.293 24.293a1 1 0 1 0 1.414 1.414L24 9.414V22a1 1 0 1 0 2 0V7a1 1 0 0 0-1-1H10Z\"]];","export default [[\"M5.5.5A.5.5 0 0 1 6 0h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-.794L6.354 2.853a.5.5 0 1 1-.708-.707L6.792 1H6a.5.5 0 0 1-.5-.5Zm-5 5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Zm9.854-2.353a.5.5 0 1 0-.708.706L10.792 5H9a.5.5 0 0 0 0 1h1.793L9.647 7.146a.5.5 0 1 0 .707.708l2-2a.5.5 0 0 0 0-.707l-2-2ZM6 11a.5.5 0 0 1 0-1h.793L5.646 8.854a.5.5 0 1 1 .708-.708L7.5 9.293V8.5a.5.5 0 0 1 1 0v2a.5.5 0 0 1-.5.5H6Z\",\"M6.5 1.5A.5.5 0 0 1 7 1h3a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0V2.707L7.354 4.854a.5.5 0 1 1-.708-.708L8.793 2H7a.5.5 0 0 1-.5-.5Zm-5 6a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Zm10.853-2.354a.5.5 0 1 0-.706.708L12.794 7H9a.5.5 0 0 0 0 1h3.792l-1.146 1.147a.5.5 0 1 0 .708.706l2-2.001a.5.5 0 0 0 0-.707l-2-1.999ZM7 14a.5.5 0 0 1 0-1h1.793l-2.147-2.146a.5.5 0 0 1 .708-.708L9.5 12.293V10.5a.5.5 0 0 1 1 0v3a.5.5 0 0 1-.5.5H7Z\",\"M12.5 2a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 1 1-2 0V4.414l-4.293 4.293a1 1 0 1 1-1.414-1.414L15.086 3H13.5a1 1 0 0 1-1-1Zm7.707 6.293a1 1 0 1 0-1.414 1.414l1.288 1.288H12.5a1 1 0 1 0 0 2h7.59l-1.297 1.298a1 1 0 0 0 1.414 1.414l3-3a1 1 0 0 0 0-1.414l-3-3ZM2.5 12.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Zm11 10.5a1 1 0 1 1 0-2h1.586l-4.293-4.293a1 1 0 0 1 1.414-1.414l4.293 4.293V18a1 1 0 1 1 2 0v4a1 1 0 0 1-1 1h-4Z\",\"M15.5 3a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 1 1-2 0V5.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L20.086 4H16.5a1 1 0 0 1-1-1Zm9.707 8.293a1 1 0 0 0-1.414 1.414L26.086 15H16.5a1 1 0 1 0 0 2h9.586l-2.293 2.293a1 1 0 0 0 1.414 1.414l4-4a1 1 0 0 0 0-1.414l-4-4ZM3.5 16.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0Zm13 13.5a1 1 0 1 1 0-2h3.586l-6.293-6.293a1 1 0 0 1 1.414-1.414l6.293 6.293V23a1 1 0 1 1 2 0v6a1 1 0 0 1-1 1h-6Z\"],[\"M5.5.5A.5.5 0 0 1 6 0h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-.794L6.354 2.853a.5.5 0 1 1-.708-.707L6.792 1H6a.5.5 0 0 1-.5-.5ZM3 3a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5ZM1.5 5.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm8.854-2.353a.5.5 0 1 0-.708.706L10.792 5H9a.5.5 0 0 0 0 1h1.793L9.647 7.146a.5.5 0 1 0 .707.708l2-2a.5.5 0 0 0 0-.707l-2-2ZM6 11a.5.5 0 0 1 0-1h.793L5.646 8.854a.5.5 0 1 1 .708-.708L7.5 9.293V8.5a.5.5 0 0 1 1 0v2a.5.5 0 0 1-.5.5H6Z\",\"M6.5 1.5A.5.5 0 0 1 7 1h3a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0V2.707L7.354 4.854a.5.5 0 1 1-.708-.708L8.793 2H7a.5.5 0 0 1-.5-.5ZM4 5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5ZM2.5 7.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm9.853-2.354a.5.5 0 1 0-.706.708L12.794 7H9a.5.5 0 0 0 0 1h3.792l-1.146 1.147a.5.5 0 1 0 .708.706l2-2.001a.5.5 0 0 0 0-.707l-2-1.999ZM7 14a.5.5 0 0 1 0-1h1.793l-2.147-2.146a.5.5 0 0 1 .708-.708L9.5 12.293V10.5a.5.5 0 0 1 1 0v3a.5.5 0 0 1-.5.5H7Z\",\"M12.5 2a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 1 1-2 0V4.414l-4.293 4.293a1 1 0 1 1-1.414-1.414L15.086 3H13.5a1 1 0 0 1-1-1Zm7.707 6.293a1 1 0 1 0-1.414 1.414l1.288 1.288H12.5a1 1 0 1 0 0 2h7.59l-1.297 1.298a1 1 0 0 0 1.414 1.414l3-3a1 1 0 0 0 0-1.414l-3-3ZM6 9a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Zm-1.5 3.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm9 10.5a1 1 0 1 1 0-2h1.586l-4.293-4.293a1 1 0 0 1 1.414-1.414l4.293 4.293V18a1 1 0 1 1 2 0v4a1 1 0 0 1-1 1h-4Z\",\"M15.5 3a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 1 1-2 0V5.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L20.086 4H16.5a1 1 0 0 1-1-1Zm9.707 8.293a1 1 0 0 0-1.414 1.414L26.086 15H16.5a1 1 0 1 0 0 2h9.586l-2.293 2.293a1 1 0 0 0 1.414 1.414l4-4a1 1 0 0 0 0-1.414l-4-4ZM8 12a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9Zm-2.5 4.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Zm11 13.5a1 1 0 1 1 0-2h3.586l-6.293-6.293a1 1 0 0 1 1.414-1.414l6.293 6.293V23a1 1 0 1 1 2 0v6a1 1 0 0 1-1 1h-6Z\"]];","export default [[\"m.146 2.146 2-2a.5.5 0 1 1 .708.708L1.707 2H10.5a.5.5 0 0 1 0 1H1.707l1.147 1.146a.5.5 0 1 1-.708.708l-2-2a.5.5 0 0 1 0-.708Zm0 6 2-2a.5.5 0 1 1 .708.708L1.707 8H10.5a.5.5 0 0 1 0 1H1.707l1.147 1.146a.5.5 0 0 1-.708.708l-2-2a.5.5 0 0 1 0-.708Z\",\"m4.146 6.854-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L2.707 3H13.5a.5.5 0 0 1 0 1H2.707l2.147 2.146a.5.5 0 1 1-.708.708ZM2.707 11H13.5a.5.5 0 0 1 0 1H2.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L2.707 11Z\",\"m6.293 10.707-4-4a1 1 0 0 1 0-1.414l4-4a1 1 0 0 1 1.414 1.414L5.414 5H21a1 1 0 1 1 0 2H5.414l2.293 2.293a1 1 0 0 1-1.414 1.414ZM5.414 19l2.293 2.293a1 1 0 1 1-1.414 1.414l-4-4a1 1 0 0 1 0-1.414l4-4a1 1 0 0 1 1.414 1.414L5.414 17H21a1 1 0 1 1 0 2H5.414Z\",\"M2.293 9.707a1 1 0 0 1 0-1.414l5-5a1 1 0 0 1 1.414 1.414L5.414 8H29a1 1 0 1 1 0 2H5.414l3.293 3.293a1 1 0 1 1-1.414 1.414l-5-5Zm6.414 17.586L5.414 24H29a1 1 0 1 0 0-2H5.414l3.293-3.293a1 1 0 1 0-1.414-1.414l-5 5a1 1 0 0 0 0 1.414l5 5a1 1 0 0 0 1.414-1.414Z\"]];","export default [[\"m10.854 2.146-2-2a.5.5 0 1 0-.708.708L9.293 2H.5a.5.5 0 0 0 0 1h8.793L8.146 4.146a.5.5 0 1 0 .708.708l2-2a.5.5 0 0 0 0-.708Zm0 6-2-2a.5.5 0 1 0-.708.708L9.293 8H.5a.5.5 0 0 0 0 1h8.793l-1.147 1.146a.5.5 0 0 0 .708.708l2-2a.5.5 0 0 0 0-.708Z\",\"m10.854 6.854 3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708.708L12.293 3H1.5a.5.5 0 0 0 0 1h10.793l-2.147 2.146a.5.5 0 0 0 .708.708ZM12.293 11H1.5a.5.5 0 0 0 0 1h10.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708.708L12.293 11Z\",\"m17.707 10.707 4-4a1 1 0 0 0 0-1.414l-4-4a1 1 0 1 0-1.414 1.414L18.586 5H3a1 1 0 1 0 0 2h15.586l-2.293 2.293a1 1 0 0 0 1.414 1.414ZM18.586 19l-2.293 2.293a1 1 0 0 0 1.414 1.414l4-4a1 1 0 0 0 0-1.414l-4-4a1 1 0 0 0-1.414 1.414L18.586 17H3a1 1 0 1 0 0 2h15.586Z\",\"M29.707 9.707a1 1 0 0 0 0-1.414l-5-5a1 1 0 1 0-1.414 1.414L26.586 8H3a1 1 0 1 0 0 2h23.586l-3.293 3.293a1 1 0 0 0 1.414 1.414l5-5Zm-6.414 17.586L26.586 24H3a1 1 0 1 1 0-2h23.586l-3.293-3.293a1 1 0 0 1 1.414-1.414l5 5a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414-1.414Z\"]];","export default [[\"M5.5 1a.5.5 0 0 1 .5.5v3.598l3.235-2.022a.5.5 0 1 1 .53.848L6.443 6l3.322 2.076a.5.5 0 0 1-.53.848L6 6.902V10.5a.5.5 0 0 1-1 0V6.902L1.765 8.924a.5.5 0 0 1-.53-.848L4.557 6 1.235 3.924a.5.5 0 1 1 .53-.848L5 5.098V1.5a.5.5 0 0 1 .5-.5Z\",\"M7.5 1a.5.5 0 0 1 .5.5v5.63l5.248-3.062a.5.5 0 0 1 .504.864L8.492 8l5.26 3.068a.5.5 0 1 1-.504.864L8 8.87v5.63a.5.5 0 0 1-1 0V8.87l-5.248 3.062a.5.5 0 1 1-.504-.864L6.508 8l-5.26-3.068a.5.5 0 1 1 .504-.864L7 7.13V1.5a.5.5 0 0 1 .5-.5Z\",\"M12 1a1 1 0 0 1 1 1v8.3l7.515-4.174a1 1 0 1 1 .97 1.748L14.06 12l7.427 4.126a1 1 0 1 1-.971 1.748L13 13.7V22a1 1 0 1 1-2 0v-8.3l-7.514 4.174a1 1 0 1 1-.971-1.748L9.94 12 2.515 7.874a1 1 0 0 1 .97-1.748L11 10.3V2a1 1 0 0 1 1-1Z\",\"M16 2a1 1 0 0 1 1 1v11.259l10.496-6.123a1 1 0 1 1 1.008 1.728L17.984 16l10.52 6.136a1 1 0 1 1-1.008 1.728L17 17.74V29a1 1 0 1 1-2 0V17.741L4.504 23.864a1 1 0 1 1-1.008-1.728L14.016 16 3.495 9.864a1 1 0 1 1 1.008-1.728L15 14.26V3a1 1 0 0 1 1-1Z\"],[\"M5.5 1a.5.5 0 0 1 .5.5v3.598l3.235-2.022a.5.5 0 1 1 .53.848L6.443 6l3.322 2.076a.5.5 0 0 1-.53.848L6 6.902V10.5a.5.5 0 0 1-1 0V6.902L1.765 8.924a.5.5 0 0 1-.53-.848L4.557 6 1.235 3.924a.5.5 0 1 1 .53-.848L5 5.098V1.5a.5.5 0 0 1 .5-.5Z\",\"M7.5 1a.5.5 0 0 1 .5.5v5.63l5.248-3.062a.5.5 0 0 1 .504.864L8.492 8l5.26 3.068a.5.5 0 0 1-.504.864L8 8.871V14.5a.5.5 0 1 1-1 0V8.87l-5.248 3.062a.5.5 0 0 1-.504-.864L6.508 8l-5.26-3.068a.5.5 0 1 1 .504-.864L7 7.13V1.5a.5.5 0 0 1 .5-.5Z\",\"M12 1a1 1 0 0 1 1 1v8.3l7.515-4.174a1 1 0 0 1 .97 1.748L14.06 12l7.427 4.126a1 1 0 1 1-.971 1.748L13 13.7V22a1 1 0 1 1-2 0v-8.3l-7.514 4.174a1 1 0 1 1-.971-1.748L9.94 12 2.515 7.874a1 1 0 1 1 .97-1.748L11 10.3V2a1 1 0 0 1 1-1Z\",\"M16 2a1 1 0 0 1 1 1v11.259l10.496-6.123a1 1 0 1 1 1.008 1.728L17.984 16l10.52 6.136a1 1 0 1 1-1.008 1.728L17 17.74V29a1 1 0 1 1-2 0V17.741L4.504 23.864a1 1 0 1 1-1.008-1.728L14.016 16 3.495 9.864a1 1 0 1 1 1.008-1.728L15 14.26V3a1 1 0 0 1 1-1Z\"]];","export default [[\"M6 1C3.993 1 3 2.633 3 4H2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H9c0-1.367-.993-3-3-3Zm0 1c1.326 0 2 1.048 2 2H4c0-.952.674-2 2-2ZM2.5 5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1Z\",\"M4.989 2.313C4.403 3.025 4.092 3.96 4.018 5H2.5A1.5 1.5 0 0 0 1 6.5v7A1.5 1.5 0 0 0 2.5 15h11a1.5 1.5 0 0 0 1.5-1.5v-7A1.5 1.5 0 0 0 13.5 5h-1.518c-.074-1.039-.385-1.975-.97-2.687C10.321 1.473 9.297 1 8 1s-2.322.473-3.011 1.313Zm.772.635C6.24 2.367 6.964 2 8 2c1.036 0 1.761.367 2.239.948.41.5.669 1.198.74 2.052H5.02c.072-.854.33-1.552.741-2.052ZM2.5 6h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1 0-1Z\",\"M7.514 3.787C6.477 4.914 6 6.424 6 8H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V10a2 2 0 0 0-2-2h-2c0-1.576-.477-3.086-1.514-4.213C15.436 2.647 13.903 2 12 2c-1.903 0-3.436.647-4.486 1.787Zm1.472 1.355C9.602 4.472 10.57 4 12 4c1.43 0 2.398.472 3.014 1.142.63.683.986 1.673.986 2.858H8c0-1.185.356-2.175.986-2.858ZM5 10h14a1 1 0 1 1 0 2H5a1 1 0 1 1 0-2Z\",\"M10.008 5.455C8.872 6.712 8.232 8.317 8.053 10H5a3 3 0 0 0-3 3v13a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3V13a3 3 0 0 0-3-3h-3.053c-.18-1.683-.82-3.288-1.955-4.545C20.618 3.934 18.59 3 16 3s-4.618.934-5.992 2.455Zm1.484 1.34C12.452 5.733 13.922 5 16 5s3.548.733 4.508 1.795c.77.854 1.256 1.97 1.425 3.205H10.067c.17-1.235.654-2.351 1.425-3.205ZM5 12h22a1 1 0 1 1 0 2H5a1 1 0 1 1 0-2Z\"],[\"M3 4c0-1.367.993-3 3-3s3 1.633 3 3h1a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h1Zm1 0c0-.952.674-2 2-2s2 1.048 2 2H4Zm6 2V5H2v1h8Zm-8 4V7h8v3H2Z\",\"M4.018 5c.074-1.039.385-1.975.97-2.687C5.679 1.473 6.703 1 8 1s2.322.473 3.011 1.313c.586.712.897 1.648.972 2.687H13.5A1.5 1.5 0 0 1 15 6.5v7a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 13.5v-7A1.5 1.5 0 0 1 2.5 5h1.518ZM5.02 5c.072-.854.33-1.552.741-2.052C6.24 2.367 6.964 2 8 2c1.036 0 1.761.367 2.239.948.41.5.669 1.198.74 2.052H5.02Zm8.48 1a.5.5 0 0 1 .5.5V7H2v-.5a.5.5 0 0 1 .5-.5h11ZM2 13.5V8h12v5.5a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5Z\",\"M6 8c0-1.576.477-3.086 1.514-4.213C8.564 2.647 10.097 2 12 2c1.903 0 3.436.647 4.486 1.787C17.523 4.914 18 6.424 18 8h2a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V10a2 2 0 0 1 2-2h2Zm2 0c0-1.185.356-2.175.986-2.858C9.602 4.472 10.57 4 12 4c1.43 0 2.398.472 3.014 1.142.63.683.986 1.673.986 2.858H8Zm12 4v-2H4v2h16ZM4 20v-6h16v6H4Z\",\"M8.053 10c.18-1.683.82-3.288 1.955-4.545C11.382 3.934 13.41 3 16 3s4.618.934 5.992 2.455c1.136 1.257 1.776 2.862 1.955 4.545H27a3 3 0 0 1 3 3v13a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V13a3 3 0 0 1 3-3h3.053Zm2.014 0c.17-1.235.654-2.351 1.425-3.205C12.452 5.733 13.922 5 16 5s3.548.733 4.508 1.795c.77.854 1.256 1.97 1.425 3.205H10.067ZM27 12a1 1 0 0 1 1 1v1H4v-1a1 1 0 0 1 1-1h22ZM4 26V16h24v10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1Z\"]];","export default [[\"M8.309 9.016a4.5 4.5 0 0 1-6.325-6.325L8.31 9.016Zm.707-.707L2.691 1.984a4.5 4.5 0 0 1 6.325 6.325ZM11 5.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Z\",\"M11.73 12.436a6.5 6.5 0 0 1-9.165-9.165l9.164 9.165Zm.706-.707L3.271 2.564a6.5 6.5 0 0 1 9.165 9.165ZM15 7.5a7.5 7.5 0 1 1-15 0 7.5 7.5 0 0 1 15 0Z\",\"M23 12c0 6.075-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1s11 4.925 11 11Zm-5.382 7.032a9 9 0 0 1-12.65-12.65l12.65 12.65Zm1.414-1.414L6.382 4.968a9 9 0 0 1 12.65 12.65Z\",\"M23.749 25.163A11.952 11.952 0 0 1 16 28C9.373 28 4 22.627 4 16c0-2.954 1.067-5.658 2.837-7.749l16.912 16.912Zm1.414-1.414L8.251 6.837A11.952 11.952 0 0 1 16 4c6.627 0 12 5.373 12 12 0 2.954-1.067 5.658-2.837 7.749ZM30 16c0 7.732-6.268 14-14 14S2 23.732 2 16 8.268 2 16 2s14 6.268 14 14Z\"]];","export default [[\"M0 2.5A1.5 1.5 0 0 1 1.5 1h9A1.5 1.5 0 0 1 12 2.5v6a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 0 8.5v-6ZM2 3v5h2V3H2Zm4 0h1v5H6V3Zm-.5 0h-1v5h1V3ZM8 3h2v5H8V3Z\",\"M1 4.5A1.5 1.5 0 0 1 2.5 3h11A1.5 1.5 0 0 1 15 4.5v7a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 11.5v-7ZM4 5H3v6h1V5Zm1 0h2v6H5V5Zm3 0h1v6H8V5Zm2 0v6h3V5h-3Z\",\"M1 7a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3V7Zm5 10V7H4v10h2ZM8 7v10H7V7h1Zm3 10V7H9v10h2Zm7-10v10h-6V7h6Zm2 10V7h-1v10h1Z\",\"M2 9a3 3 0 0 1 3-3h22a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V9Zm6 13V10H6v12h2Zm2-12v12H9V10h1Zm11 12V10h-1v12h1Zm2-12v12h-1V10h1Zm-9 12V10h-3v12h3Zm5-12v12h-4V10h4Zm7 12V10h-2v12h2Z\"],[\"<path d='M2 3v5h2V3H2Zm4 0h1v5H6V3Zm-.5 0h-1v5h1V3ZM8 3h2v5H8V3Z'></path><path d='M1.5 1A1.5 1.5 0 0 0 0 2.5v6A1.5 1.5 0 0 0 1.5 10h9A1.5 1.5 0 0 0 12 8.5v-6A1.5 1.5 0 0 0 10.5 1h-9ZM1 2.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-6Z'></path>\",\"<path d='M4 5H3v6h1V5Zm1 0h2v6H5V5Zm3 0h1v6H8V5Zm2 0v6h3V5h-3Z'></path><path d='M2.5 3A1.5 1.5 0 0 0 1 4.5v7A1.5 1.5 0 0 0 2.5 13h11a1.5 1.5 0 0 0 1.5-1.5v-7A1.5 1.5 0 0 0 13.5 3h-11ZM2 4.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-7Z'></path>\",\"<path d='M6 17V7H4v10h2ZM8 7v10H7V7h1Zm3 10V7H9v10h2Zm7-10v10h-6V7h6Zm2 10V7h-1v10h1Z'></path><path d='M4 4a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H4ZM3 7a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7Z'></path>\",\"<path d='M8 22V10H6v12h2Zm2-12v12H9V10h1Zm11 12V10h-1v12h1Zm2-12v12h-1V10h1Zm-9 12V10h-3v12h3Zm5-12v12h-4V10h4Zm7 12V10h-2v12h2Z'></path><path d='M5 6a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3V9a3 3 0 0 0-3-3H5ZM4 9a1 1 0 0 1 1-1h22a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V9Z'></path>\"]];","export default [[\"M4 2v3.185a.5.5 0 0 1-.09.287L2.84 7h6.32L8.09 5.472A.5.5 0 0 1 8 5.185V2h.5a.5.5 0 0 0 0-1h-5a.5.5 0 0 0 0 1H4Zm5.86 6H2.14l-.448.64C.996 9.634 1.707 11 2.92 11h6.158c1.214 0 1.925-1.366 1.23-2.36L9.86 8Z\",\"M6 2v3.926a1.5 1.5 0 0 1-.228.795L4.348 9h7.304l-1.424-2.279A1.5 1.5 0 0 1 10 5.926V2h.5a.5.5 0 0 0 0-1h-5a.5.5 0 0 0 0 1H6Zm6.277 8H3.723L2.51 11.94C1.678 13.272 2.636 15 4.206 15h7.588c1.57 0 2.528-1.728 1.696-3.06L12.277 10Z\",\"M8 4v5.453a1 1 0 0 1-.14.509L5.476 14h12.05L15.14 9.962a1 1 0 0 1-.14-.509V4h1a1 1 0 1 0 0-2H7a1 1 0 1 0 0 2h1Zm10.707 12H4.293l-1.317 2.228C1.992 19.895 3.193 22 5.13 22h12.74c1.936 0 3.137-2.105 2.153-3.772L18.707 16Z\",\"M12 4v8.402a1 1 0 0 1-.164.549L7.866 19h16.268l-3.97-6.049a1 1 0 0 1-.164-.549V4h1a1 1 0 1 0 0-2H11a1 1 0 1 0 0 2h1Zm13.446 17H6.554l-2.96 4.509C2.33 27.437 3.714 30 6.02 30h19.962c2.306 0 3.69-2.563 2.424-4.491L25.446 21Z\"],[\"M3.5 2H4v3.185a.5.5 0 0 1-.09.287L1.692 8.64C.996 9.634 1.707 11 2.92 11h6.158c1.214 0 1.925-1.366 1.23-2.36L8.09 5.472A.5.5 0 0 1 8 5.185V2h.5a.5.5 0 0 0 0-1h-5a.5.5 0 0 0 0 1ZM5 5.185V2h2v3.185c0 .308.095.608.271.86L7.94 7H4.06l.669-.955A1.5 1.5 0 0 0 5 5.185ZM3.36 8h5.28l.849 1.213a.5.5 0 0 1-.41.787H2.921a.5.5 0 0 1-.41-.787L3.361 8Z\",\"M5.5 2H6v3.926a1.5 1.5 0 0 1-.228.795L2.51 11.94C1.678 13.272 2.636 15 4.206 15h7.588c1.57 0 2.528-1.728 1.696-3.06l-3.262-5.219A1.5 1.5 0 0 1 10 5.926V2h.5a.5.5 0 0 0 0-1h-5a.5.5 0 0 0 0 1ZM7 5.926V2h2v3.926c0 .469.132.928.38 1.325L10.473 9H5.527L6.62 7.251A2.5 2.5 0 0 0 7 5.926ZM4.902 10h6.196l1.544 2.47a1 1 0 0 1-.848 1.53H4.206a1 1 0 0 1-.848-1.53L4.902 10Z\",\"M7 4h1v5.453a1 1 0 0 1-.14.509l-4.884 8.266C1.992 19.895 3.193 22 5.13 22h12.74c1.936 0 3.137-2.105 2.153-3.772l-4.885-8.266A1 1 0 0 1 15 9.453V4h1a1 1 0 1 0 0-2H7a1 1 0 1 0 0 2Zm3 5.453V4h3v5.453a3 3 0 0 0 .417 1.526L15.202 14H7.798l1.785-3.02A3 3 0 0 0 10 9.452ZM6.616 16h9.768l1.918 3.246a.5.5 0 0 1-.43.754H5.128a.5.5 0 0 1-.43-.754L6.615 16Z\",\"M11 4h1v8.402a1 1 0 0 1-.164.549L3.595 25.509C2.329 27.437 3.713 30 6.019 30h19.962c2.306 0 3.69-2.563 2.424-4.491L20.164 12.95a1 1 0 0 1-.164-.549V4h1a1 1 0 1 0 0-2H11a1 1 0 1 0 0 2Zm3 8.402V4h4v8.402a3 3 0 0 0 .492 1.646L21.742 19H10.258l3.25-4.952A3 3 0 0 0 14 12.402ZM8.946 21h14.108l3.679 5.606A.9.9 0 0 1 25.98 28H6.02a.9.9 0 0 1-.753-1.394L8.947 21Z\"]];","export default [[\"M2 5a4 4 0 1 1 8 0v2a1 1 0 1 1 0 2H2a1 1 0 0 1 0-2V5Zm4 7a2 2 0 0 1-2-2h4a2 2 0 0 1-2 2Z\",\"M2 7a6 6 0 1 1 12 0v4a1 1 0 1 1 0 2H2a1 1 0 1 1 0-2V7Zm6 9a2 2 0 0 1-2-2h4a2 2 0 0 1-2 2Z\",\"M3 10a9 9 0 0 1 18 0v5a2 2 0 1 1 0 4H3a2 2 0 1 1 0-4v-5Zm9 13a3.998 3.998 0 0 1-3.465-2h6.93A3.998 3.998 0 0 1 12 23Z\",\"M4 14C4 7.373 9.373 2 16 2s12 5.373 12 12v8a2 2 0 1 1 0 4H4a2 2 0 1 1 0-4v-8Zm12 17a5.998 5.998 0 0 1-5.197-3h10.394A5.998 5.998 0 0 1 16 31Z\"],[\"M6 1a4 4 0 0 0-4 4v1.085A1.5 1.5 0 0 0 2.5 9H4a2 2 0 1 0 4 0h1.5a1.5 1.5 0 0 0 .5-2.915V5a4 4 0 0 0-4-4ZM2 7.5a.5.5 0 0 1 .5-.5.5.5 0 0 0 .5-.5V5a3 3 0 0 1 6 0v1.5a.5.5 0 0 0 .5.5.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5ZM7 9a1 1 0 0 1-2 0h2Z\",\"M8 1a6 6 0 0 0-6 6v2.856A1.636 1.636 0 0 0 2.636 13H6a2 2 0 1 0 4 0h3.364A1.636 1.636 0 0 0 14 9.856V7a6 6 0 0 0-6-6ZM3 7a5 5 0 0 1 10 0v3.235a.5.5 0 0 0 .44.497.637.637 0 0 1-.076 1.268H2.636a.636.636 0 0 1-.077-1.268.5.5 0 0 0 .441-.497V7Zm6 6a1 1 0 1 1-2 0h2Z\",\"M12 1a9 9 0 0 0-9 9v3.17A3.001 3.001 0 0 0 4 19h3.1a5.002 5.002 0 0 0 9.8 0H20a3 3 0 0 0 1-5.83V10a9 9 0 0 0-9-9Zm-7 9a7 7 0 0 1 14 0v4a1 1 0 0 0 1 1 1 1 0 1 1 0 2H4a1 1 0 1 1 0-2 1 1 0 0 0 1-1v-4Zm9.83 9a3.001 3.001 0 0 1-5.66 0h5.66Z\",\"M16 2C9.373 2 4 7.373 4 14v6.17A3.001 3.001 0 0 0 5 26h5.342a6.002 6.002 0 0 0 11.316 0H27a3 3 0 0 0 1-5.83V14c0-6.627-5.373-12-12-12ZM6 14C6 8.477 10.477 4 16 4s10 4.477 10 10v7a1 1 0 0 0 1 1 1 1 0 1 1 0 2H5a1 1 0 1 1 0-2 1 1 0 0 0 1-1v-7Zm13.465 12a4 4 0 0 1-6.93 0h6.93Z\"]];","export default [[\"M10.854 1.854a.5.5 0 0 0-.708-.708L8.971 2.322A4 4 0 0 0 2 5v2a1 1 0 0 0 0 2h.293l-1.147 1.146a.5.5 0 0 0 .708.708l9-9ZM5.107 9l4.81-4.81c.055.261.083.532.083.81v2a1 1 0 1 1 0 2H5.107Zm-1 1-.104.105A2 2 0 0 0 8 10H4.107Z\",\"M14.854 1.854a.5.5 0 0 0-.708-.708l-1.76 1.76A6 6 0 0 0 2 7v4a1 1 0 1 0 .001 2h.293l-1.147 1.146a.5.5 0 0 0 .708.708l13-13ZM5.107 13l8.396-8.395A5.98 5.98 0 0 1 14 7v4a1 1 0 1 1 0 2H5.107ZM8 16a2 2 0 0 1-2-2h4a2 2 0 0 1-2 2Z\",\"M22.707 2.707a1 1 0 0 0-1.414-1.414L18.65 3.936A9 9 0 0 0 3 10v5a2 2 0 1 0 0 4h.586l-2.293 2.293a1 1 0 1 0 1.414 1.414l20-20ZM9.214 19 20.663 7.551c.22.779.337 1.6.337 2.449v5a2 2 0 1 1 0 4H9.214ZM12 23a3.998 3.998 0 0 1-3.465-2h6.93A3.998 3.998 0 0 1 12 23Z\",\"M29.707 3.707a1 1 0 0 0-1.414-1.414l-3.52 3.52A11.967 11.967 0 0 0 16 2C9.373 2 4 7.373 4 14v8a2 2 0 1 0 0 4h.582l-2.289 2.289a1 1 0 0 0 1.414 1.414l26-25.996ZM10.21 26 27.006 9.208A11.96 11.96 0 0 1 28 14v8a2 2 0 1 1 0 4H10.21ZM16 31a5.998 5.998 0 0 1-5.197-3h10.394A5.998 5.998 0 0 1 16 31Z\"],[\"M10.854 1.854a.5.5 0 0 0-.708-.708L8.971 2.322A4 4 0 0 0 2 5v1.085a1.5 1.5 0 0 0 .305 2.902l-1.159 1.16a.5.5 0 0 0 .708.707l9-9ZM3.293 8H2.5a.5.5 0 0 1 0-1 .5.5 0 0 0 .5-.5V5a3 3 0 0 1 5.263-1.97L3.293 8Zm1.814 1 1-1H9.5a.5.5 0 0 0 0-1 .5.5 0 0 1-.5-.5V5.107l.918-.917c.054.261.082.532.082.81v1.085A1.5 1.5 0 0 1 9.5 9H8a2 2 0 0 1-3.789.896l.794-.794A1 1 0 0 0 7 9H5.107Z\",\"M14.854 1.854a.5.5 0 0 0-.708-.708l-1.76 1.76A6 6 0 0 0 2 7v2.856a1.636 1.636 0 0 0 .324 3.114l-1.177 1.176a.5.5 0 0 0 .708.708l13-13ZM3.293 12h-.657a.636.636 0 0 1-.077-1.268.5.5 0 0 0 .441-.497V7a5 5 0 0 1 8.679-3.386L3.293 12Zm10.071 0H6.107l-1 1H6a2 2 0 1 0 4 0h3.364A1.636 1.636 0 0 0 14 9.856V7a5.98 5.98 0 0 0-.497-2.395l-.772.772C12.905 5.886 13 6.432 13 7v3.235a.5.5 0 0 0 .44.497.637.637 0 0 1-.076 1.268ZM7 13h2a1 1 0 1 1-2 0Z\",\"M22.707 2.707a1 1 0 0 0-1.414-1.414L18.65 3.936A9 9 0 0 0 3 10v3.17a3.001 3.001 0 0 0 .61 5.805l-2.317 2.318a1 1 0 1 0 1.414 1.414l20-20ZM5.586 17H4a1 1 0 1 1 0-2 1 1 0 0 0 1-1v-4a7 7 0 0 1 12.234-4.648L5.586 17ZM20 17h-8.786l-2 2h5.615a3.001 3.001 0 0 1-5.647.032l-1.496 1.497A5.002 5.002 0 0 0 16.9 19H20a3 3 0 0 0 1-5.83V10c0-.849-.117-1.67-.337-2.449L18.96 9.253c.026.246.039.495.039.747v4a1 1 0 0 0 1 1 1 1 0 1 1 0 2Z\",\"M29.707 3.707a1 1 0 0 0-1.414-1.414l-3.52 3.52A11.967 11.967 0 0 0 16 2C9.373 2 4 7.373 4 14v6.17a3.001 3.001 0 0 0 .607 5.804L2.293 28.29a1 1 0 0 0 1.414 1.414l26-25.996ZM6.582 24H5a1 1 0 1 1 0-2 1 1 0 0 0 1-1v-7C6 8.477 10.477 4 16 4c2.91 0 5.53 1.243 7.358 3.227L6.582 24ZM27 24H12.211l-2 2h.13a6.002 6.002 0 0 0 11.317 0H27a3 3 0 0 0 1-5.83V14a11.96 11.96 0 0 0-.995-4.792l-1.544 1.544C25.81 11.771 26 12.864 26 14v7a1 1 0 0 0 1 1 1 1 0 1 1 0 2Zm-14.465 2h6.93a4 4 0 0 1-6.93 0Z\"]];","export default [[\"<path d='M7 6a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z'></path><path d='M8.465 4a4 4 0 1 0 0 4H10a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H8.465ZM5 3a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z'></path>\",\"<path d='M10 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z'></path><path d='M12.197 5a6 6 0 1 0 0 6H14a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-1.803ZM7 13A5 5 0 1 0 7 3a5 5 0 0 0 0 10Z'></path>\",\"<path d='M16 12a5 5 0 1 1-10 0 5 5 0 0 1 10 0Z'></path><path d='M1 12C1 6.477 5.477 2 11 2c4.1 0 7.625 2.468 9.168 6H22a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-1.832A10.002 10.002 0 0 1 11 22C5.477 22 1 17.523 1 12Zm10-8a8 8 0 1 0 0 16 8 8 0 0 0 0-16Z'></path>\",\"<path d='M22 16a7 7 0 1 1-14 0 7 7 0 0 1 14 0Z'></path><path d='M2 16C2 8.82 7.82 3 15 3c5.408 0 10.045 3.302 12.004 8H29a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1h-1.996c-1.96 4.698-6.596 8-12.004 8-7.18 0-13-5.82-13-13ZM15 5C8.925 5 4 9.925 4 16s4.925 11 11 11 11-4.925 11-11S21.075 5 15 5Z'></path>\"]];","export default [[\"M3.528 1c-.722 0-1.338.525-1.453 1.24l-.987 6.173A2 2 0 1 0 5 9V8h2v1a2 2 0 1 0 3.913-.584l-.988-6.177A1.472 1.472 0 0 0 7 2.472V3H5v-.528C5 1.659 4.341 1 3.528 1ZM2 9a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm7 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"M5.194 2c-.875 0-1.624.628-1.778 1.49L2.14 10.677S2 10.85 2 11.5a2.5 2.5 0 0 0 5 0V10h2v1.5a2.5 2.5 0 1 0 4.861-.824L12.584 3.49A1.806 1.806 0 0 0 9 3.806V5H7V3.806C7 2.808 6.192 2 5.194 2ZM4.5 10a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm8.5 1.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0Z\",\"M7.692 2a3.308 3.308 0 0 0-3.244 2.66L2.031 16.743a1.05 1.05 0 0 0-.012.34A4.5 4.5 0 1 0 11 17.5v-3.501h2v3.5a4.5 4.5 0 1 0 8.981-.417 1.05 1.05 0 0 0-.013-.339L19.552 4.66A3.308 3.308 0 0 0 13 5.308V7h-2V5.308A3.308 3.308 0 0 0 7.692 2ZM17.5 15a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5ZM9 17.5a2.5 2.5 0 1 0-5 0 2.5 2.5 0 0 0 5 0Z\",\"M9.703 3a4.297 4.297 0 0 0-4.214 3.454L2.424 21.78A6 6 0 1 0 14 24v-4.999h4v5a6 6 0 1 0 11.576-2.22L26.51 6.454a4.297 4.297 0 0 0-8.51.843V10h-4V7.297A4.297 4.297 0 0 0 9.703 3ZM8 20a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm12 4a4 4 0 1 1 8 0 4 4 0 0 1-8 0Z\"],[\"M3.528 1c-.723 0-1.339.525-1.453 1.24l-.988 6.174A2 2 0 0 0 3 11a2 2 0 0 0 2-2V8h2v1a2 2 0 1 0 3.913-.586L9.925 2.24A1.472 1.472 0 0 0 7 2.472V3H5v-.528C5 1.659 4.34 1 3.528 1ZM5 4v3h2V4H5ZM4 8.979V9a1 1 0 1 1 0-.021Zm0-1.712V2.472a.472.472 0 0 0-.937-.075l-.757 4.727A1.996 1.996 0 0 1 4 7.267ZM9 8a1 1 0 1 1-1 1v-.021A1 1 0 0 1 9 8Zm-1-.733a1.99 1.99 0 0 1 1.694-.143l-.757-4.727A.472.472 0 0 0 8 2.472v4.795Z\",\"M5.194 2c-.875 0-1.624.628-1.778 1.49L2.14 10.677A2.5 2.5 0 1 0 7 11.5V10h2v1.5a2.5 2.5 0 1 0 4.861-.823L12.585 3.49A1.806 1.806 0 0 0 9 3.806V5H7V3.806C7 2.808 6.192 2 5.194 2ZM6 9.5A2.489 2.489 0 0 0 4.5 9c-.392 0-.762.09-1.092.25L4.4 3.666a.806.806 0 0 1 1.6.14V9.5ZM7 6h2v3H7V6Zm3 3.5c.418-.314.937-.5 1.5-.5.392 0 .762.09 1.092.25L11.6 3.666a.806.806 0 0 0-1.6.14V9.5Zm-7 2a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm8.5-1.5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3Z\",\"M2.053 16.81 4.447 4.66A3.308 3.308 0 0 1 11 5.307V7h2V5.308a3.308 3.308 0 0 1 6.552-.649l2.396 12.152A4.5 4.5 0 1 1 13 17.5v-3.501h-2v3.5a4.5 4.5 0 1 1-8.947-.69ZM6.41 5.052A1.308 1.308 0 0 1 9 5.308v8.45A4.48 4.48 0 0 0 6.5 13c-.621 0-1.213.126-1.75.353l1.66-8.302ZM13 9h-2v3h2V9Zm-9 8.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0ZM16.308 4c.623 0 1.16.44 1.282 1.051l1.66 8.302A4.485 4.485 0 0 0 17.5 13a4.48 4.48 0 0 0-2.5.758v-8.45C15 4.586 15.585 4 16.308 4ZM15 17.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z\",\"M9.703 3a4.297 4.297 0 0 0-4.214 3.454L2.522 21.293l-.125.556A6 6 0 1 0 14 24v-5h4v5a6 6 0 1 0 11.603-2.151l-.125-.556-2.967-14.839A4.297 4.297 0 0 0 18 7.297V10h-4V7.297A4.297 4.297 0 0 0 9.703 3ZM14 12v5h4v-5h-4Zm-2 7.528V7.298a2.297 2.297 0 0 0-4.55-.451L5.068 18.765A5.972 5.972 0 0 1 8 18c1.537 0 2.939.578 4 1.528ZM4 24a4 4 0 1 1 8 0 4 4 0 0 1-8 0Zm20-4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Zm2.933-1.235A5.972 5.972 0 0 0 24 18a5.977 5.977 0 0 0-4 1.528V7.298a2.297 2.297 0 0 1 4.55-.451l2.383 11.918Z\"]];","export default [[\"M2 1a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H2Zm5 0a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H7Zm0 5a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H7Z\",\"M2.5 1A1.5 1.5 0 0 0 1 2.5v10A1.5 1.5 0 0 0 2.5 14h3A1.5 1.5 0 0 0 7 12.5v-10A1.5 1.5 0 0 0 5.5 1h-3Zm7 0A1.5 1.5 0 0 0 8 2.5v3A1.5 1.5 0 0 0 9.5 7h3A1.5 1.5 0 0 0 14 5.5v-3A1.5 1.5 0 0 0 12.5 1h-3Zm0 7A1.5 1.5 0 0 0 8 9.5v3A1.5 1.5 0 0 0 9.5 14h3a1.5 1.5 0 0 0 1.5-1.5v-3A1.5 1.5 0 0 0 12.5 8h-3Z\",\"M4.5 2A2.5 2.5 0 0 0 2 4.5v15A2.5 2.5 0 0 0 4.5 22h4a2.5 2.5 0 0 0 2.5-2.5v-15A2.5 2.5 0 0 0 8.5 2h-4Zm11 0A2.5 2.5 0 0 0 13 4.5v4a2.5 2.5 0 0 0 2.5 2.5h4A2.5 2.5 0 0 0 22 8.5v-4A2.5 2.5 0 0 0 19.5 2h-4Zm0 11a2.5 2.5 0 0 0-2.5 2.5v4a2.5 2.5 0 0 0 2.5 2.5h4a2.5 2.5 0 0 0 2.5-2.5v-4a2.5 2.5 0 0 0-2.5-2.5h-4Z\",\"M5 2a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h7a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H5Zm15 0a3 3 0 0 0-3 3v7a3 3 0 0 0 3 3h7a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3h-7Zm0 15a3 3 0 0 0-3 3v7a3 3 0 0 0 3 3h7a3 3 0 0 0 3-3v-7a3 3 0 0 0-3-3h-7Z\"],[\"M1 2a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2Zm3 0H2v7h2V2Zm2 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V2Zm3 0H7v2h2V2ZM7 6a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H7Zm0 1h2v2H7V7Z\",\"M1 2.5A1.5 1.5 0 0 1 2.5 1h3A1.5 1.5 0 0 1 7 2.5v10A1.5 1.5 0 0 1 5.5 14h-3A1.5 1.5 0 0 1 1 12.5v-10ZM2.5 2a.5.5 0 0 0-.5.5v10a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-10a.5.5 0 0 0-.5-.5h-3Zm5.5.5A1.5 1.5 0 0 1 9.5 1h3A1.5 1.5 0 0 1 14 2.5v3A1.5 1.5 0 0 1 12.5 7h-3A1.5 1.5 0 0 1 8 5.5v-3ZM9.5 2a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3Zm0 6A1.5 1.5 0 0 0 8 9.5v3A1.5 1.5 0 0 0 9.5 14h3a1.5 1.5 0 0 0 1.5-1.5v-3A1.5 1.5 0 0 0 12.5 8h-3ZM9 9.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-3Z\",\"M2 4.5A2.5 2.5 0 0 1 4.5 2h4A2.5 2.5 0 0 1 11 4.5v15A2.5 2.5 0 0 1 8.5 22h-4A2.5 2.5 0 0 1 2 19.5v-15ZM4.5 4a.5.5 0 0 0-.5.5v15a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-15a.5.5 0 0 0-.5-.5h-4Zm8.5.5A2.5 2.5 0 0 1 15.5 2h4A2.5 2.5 0 0 1 22 4.5v4a2.5 2.5 0 0 1-2.5 2.5h-4A2.5 2.5 0 0 1 13 8.5v-4Zm2.5-.5a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-4Zm0 9a2.5 2.5 0 0 0-2.5 2.5v4a2.5 2.5 0 0 0 2.5 2.5h4a2.5 2.5 0 0 0 2.5-2.5v-4a2.5 2.5 0 0 0-2.5-2.5h-4Zm-.5 2.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-4Z\",\"M2 5a3 3 0 0 1 3-3h7a3 3 0 0 1 3 3v22a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v22a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H5Zm12 1a3 3 0 0 1 3-3h7a3 3 0 0 1 3 3v7a3 3 0 0 1-3 3h-7a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1h-7Zm0 13a3 3 0 0 0-3 3v7a3 3 0 0 0 3 3h7a3 3 0 0 0 3-3v-7a3 3 0 0 0-3-3h-7Zm-1 3a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1h-7a1 1 0 0 1-1-1v-7Z\"]];","export default [[\"M2 1a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H2Zm5 0a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H7Z\",\"M2.5 1A1.5 1.5 0 0 0 1 2.5v10A1.5 1.5 0 0 0 2.5 14h3A1.5 1.5 0 0 0 7 12.5v-10A1.5 1.5 0 0 0 5.5 1h-3Zm7 0A1.5 1.5 0 0 0 8 2.5v10A1.5 1.5 0 0 0 9.5 14h3a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 12.5 1h-3Z\",\"M4.5 2A2.5 2.5 0 0 0 2 4.5v15A2.5 2.5 0 0 0 4.5 22h4a2.5 2.5 0 0 0 2.5-2.5v-15A2.5 2.5 0 0 0 8.5 2h-4Zm11 0A2.5 2.5 0 0 0 13 4.5v15a2.5 2.5 0 0 0 2.5 2.5h4a2.5 2.5 0 0 0 2.5-2.5v-15A2.5 2.5 0 0 0 19.5 2h-4Z\",\"M5 2a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h7a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H5Zm15 0a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h7a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3h-7Z\"],[\"M2 1a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H2Zm0 1h2v7H2V2Zm5-1a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H7Zm0 1h2v7H7V2Z\",\"M2.5 1A1.5 1.5 0 0 0 1 2.5v10A1.5 1.5 0 0 0 2.5 14h3A1.5 1.5 0 0 0 7 12.5v-10A1.5 1.5 0 0 0 5.5 1h-3ZM2 2.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v10a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-10ZM9.5 1A1.5 1.5 0 0 0 8 2.5v10A1.5 1.5 0 0 0 9.5 14h3a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 12.5 1h-3ZM9 2.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v10a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-10Z\",\"M4.5 2A2.5 2.5 0 0 0 2 4.5v15A2.5 2.5 0 0 0 4.5 22h4a2.5 2.5 0 0 0 2.5-2.5v-15A2.5 2.5 0 0 0 8.5 2h-4ZM4 4.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v15a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-15ZM15.5 2A2.5 2.5 0 0 0 13 4.5v15a2.5 2.5 0 0 0 2.5 2.5h4a2.5 2.5 0 0 0 2.5-2.5v-15A2.5 2.5 0 0 0 19.5 2h-4ZM15 4.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v15a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-15Z\",\"M5 2a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h7a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H5ZM4 5a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v22a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V5Zm16-3a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h7a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3h-7Zm-1 3a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v22a1 1 0 0 1-1 1h-7a1 1 0 0 1-1-1V5Z\"]];","export default [[\"M2 2.5v7A1.5 1.5 0 0 0 3.5 11h6a.5.5 0 0 0 0-1H9V9h.5a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-6A1.5 1.5 0 0 0 2 2.5ZM7.5 9H8v1H3.5a.5.5 0 0 1 0-1h4Zm-3-7a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-1 0v-5a.5.5 0 0 1 .5-.5ZM6 3.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5Z\",\"M12.5 12a.5.5 0 0 0 .5-.5v-10a.5.5 0 0 0-.5-.5h-9A1.5 1.5 0 0 0 2 2.5v10A1.5 1.5 0 0 0 3.5 14h9a.5.5 0 0 0 0-1H12v-1h.5Zm-9 1a.5.5 0 0 1 0-1H11v1H3.5Zm1-11a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-1 0v-8a.5.5 0 0 1 .5-.5ZM6 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-2ZM7 4v1h3V4H7Z\",\"M19 21v-2h1a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H6a3 3 0 0 0-3 3v16a3 3 0 0 0 3 3h14a1 1 0 1 0 0-2h-1ZM6 21a1 1 0 1 1 0-2h11v2H6ZM9 4a1 1 0 0 0-2 0v12a1 1 0 1 0 2 0V4Zm2 2a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1V6Z\",\"M5 27V5a3 3 0 0 1 3-3h18a1 1 0 0 1 1 1v22a1 1 0 0 1-1 1h-1v2h1a1 1 0 1 1 0 2H8a3 3 0 0 1-3-3Zm3-1a1 1 0 1 0 0 2h15v-2H8Zm3-21a1 1 0 1 0-2 0v18a1 1 0 1 0 2 0V5Zm2 2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1h-8a1 1 0 0 1-1-1V7Z\"],[\"<path d='M6.5 3a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Z'></path><path d='M9.5 1h-6A1.5 1.5 0 0 0 2 2.5v7A1.5 1.5 0 0 0 3.5 11h6a.5.5 0 0 0 0-1H9V9h.5a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5ZM3 2.5a.5.5 0 0 1 .5-.5H4v6h-.5c-.175 0-.344.03-.5.085V2.5ZM5 8V2h4v6H5Zm3 2H3.5a.5.5 0 0 1 0-1H8v1Z'></path>\",\"<path d='M6.5 3a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-4ZM7 5V4h3v1H7Z'></path><path d='M2 2.5v10A1.5 1.5 0 0 0 3.5 14h9a.5.5 0 0 0 0-1H12v-1h.5a.5.5 0 0 0 .5-.5v-10a.5.5 0 0 0-.5-.5h-9A1.5 1.5 0 0 0 2 2.5ZM3.5 2a.5.5 0 0 0-.5.5v8.585c.156-.055.325-.085.5-.085H4V2h-.5ZM12 2v9H5V2h7Zm-1 10H3.5a.5.5 0 0 0 0 1H11v-1Z'></path>\",\"<path d='M11 6a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1V6Zm2 1v2h3V7h-3Z'></path><path d='M3 4v16a3 3 0 0 0 3 3h14a1 1 0 1 0 0-2h-1v-2h1a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H6a3 3 0 0 0-3 3Zm3-1a1 1 0 0 0-1 1v13.17c.313-.11.65-.17 1-.17h1V3H6Zm3 0v14h10V3H9ZM6 21h11v-2H6a1 1 0 1 0 0 2Z'></path>\",\"<path d='M13 7a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1h-8a1 1 0 0 1-1-1V7Zm2 1v3h6V8h-6Z'></path><path d='M5 5v22a3 3 0 0 0 3 3h18a1 1 0 1 0 0-2h-1v-2h1a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H8a3 3 0 0 0-3 3Zm3-1a1 1 0 0 0-1 1v19.17c.313-.11.65-.17 1-.17h1V4H8Zm3 0v20h14V4H11ZM8 26a1 1 0 1 0 0 2h15v-2H8Z'></path>\"]];","export default [[\"M.206 2.873C.61 2.581 1.473 2 3 2c1.226 0 2.024.374 2.5.673C5.976 2.374 6.774 2 8 2c1.527 0 2.391.581 2.794.873a.5.5 0 0 1 .206.405V9.5a.5.5 0 0 1-.794.405c-.312-.227-.971-.683-2.206-.683-1.235 0-1.894.456-2.206.683a.5.5 0 0 1-.588 0c-.312-.227-.971-.683-2.206-.683-1.235 0-1.894.456-2.206.683A.5.5 0 0 1 0 9.5V3.278a.5.5 0 0 1 .206-.405ZM6 4.5a.5.5 0 0 0-1 0v3a.5.5 0 0 0 1 0v-3Z\",\"M1.193 4.105C1.665 3.738 2.687 3 4.5 3c1.49 0 2.445.498 3 .88.555-.382 1.51-.88 3-.88 1.813 0 2.835.738 3.307 1.105A.5.5 0 0 1 14 4.5v8a.5.5 0 0 1-.807.395C12.808 12.595 12 12 10.5 12s-2.308.595-2.693.895a.5.5 0 0 1-.614 0C6.808 12.595 6 12 4.5 12s-2.308.595-2.693.895A.5.5 0 0 1 1 12.5v-8a.5.5 0 0 1 .193-.395ZM8 5.5a.5.5 0 0 0-1 0V11a.5.5 0 0 0 1 0V5.5Z\",\"M1.32 5.053C2.228 4.21 3.93 3 7 3c2.427 0 4 .756 5 1.49C13 3.755 14.573 3 17 3c3.07 0 4.772 1.21 5.68 2.053a1 1 0 0 1 .32.733V19a1 1 0 0 1-1.68.733c-.532-.494-1.728-1.162-4.32-1.162-2.592 0-3.788.668-4.32 1.162a1 1 0 0 1-1.36 0c-.532-.494-1.728-1.162-4.32-1.162-2.592 0-3.788.668-4.32 1.162A1 1 0 0 1 1 19V5.786a1 1 0 0 1 .32-.733ZM13 7a1 1 0 1 0-2 0v9.5a1 1 0 1 0 2 0V7Z\",\"M2.293 6.793C3.425 5.66 5.576 4 9.5 4c3.225 0 5.252 1.121 6.5 2.15C17.248 5.12 19.275 4 22.5 4c3.924 0 6.075 1.66 7.207 2.793A1 1 0 0 1 30 7.5V26a1 1 0 0 1-1.707.707C27.528 25.943 25.9 25 22.5 25c-3.401 0-5.028.943-5.793 1.707a1 1 0 0 1-1.414 0C14.528 25.943 12.9 25 9.5 25c-3.401 0-5.028.943-5.793 1.707A1 1 0 0 1 2 26V7.5a1 1 0 0 1 .293-.707ZM17 9a1 1 0 1 0-2 0v14a1 1 0 1 0 2 0V9Z\"],[\"M3 2c-1.527 0-2.391.581-2.794.873A.5.5 0 0 0 0 3.278V9.5a.5.5 0 0 0 .794.405c.312-.227.971-.683 2.206-.683 1.235 0 1.894.456 2.206.683a.5.5 0 0 0 .588 0c.312-.227.971-.683 2.206-.683 1.235 0 1.894.456 2.206.683A.5.5 0 0 0 11 9.5V3.278a.5.5 0 0 0-.206-.405C10.39 2.581 9.527 2 8 2c-1.226 0-2.024.374-2.5.673C5.024 2.374 4.226 2 3 2ZM1 8.626V3.54c.365-.235.99-.54 2-.54s1.635.305 2 .54v5.086c-.477-.216-1.131-.404-2-.404s-1.523.188-2 .404Zm5 0c.477-.216 1.131-.404 2-.404s1.523.188 2 .404V3.54C9.635 3.305 9.01 3 8 3s-1.635.305-2 .54v5.086Z\",\"M4.5 3c-1.813 0-2.835.738-3.307 1.105A.5.5 0 0 0 1 4.5v8a.5.5 0 0 0 .807.395C2.192 12.595 3 12 4.5 12s2.308.595 2.693.895a.5.5 0 0 0 .614 0C8.192 12.595 9 12 10.5 12s2.308.595 2.693.895A.5.5 0 0 0 14 12.5v-8a.5.5 0 0 0-.193-.395C13.335 3.738 12.313 3 10.5 3c-1.49 0-2.445.498-3 .88-.555-.382-1.51-.88-3-.88ZM2 11.578V4.75C2.438 4.436 3.215 4 4.5 4s2.061.436 2.5.75v6.828c-.572-.3-1.387-.578-2.5-.578s-1.928.278-2.5.578Zm6 0c.572-.3 1.387-.578 2.5-.578s1.928.278 2.5.578V4.75c-.438-.314-1.215-.75-2.5-.75s-2.062.436-2.5.75v6.828Z\",\"M7 3C3.93 3 2.228 4.21 1.32 5.053a1 1 0 0 0-.32.733V19a1 1 0 0 0 1.68.733c.532-.494 1.728-1.162 4.32-1.162 2.592 0 3.788.668 4.32 1.162a1 1 0 0 0 1.36 0c.532-.494 1.728-1.162 4.32-1.162 2.592 0 3.788.668 4.32 1.162A1 1 0 0 0 23 19V5.786a1 1 0 0 0-.32-.733C21.772 4.21 20.07 3 17 3c-2.427 0-4 .756-5 1.49C11 3.755 9.427 3 7 3ZM3 17.23V6.241C3.701 5.679 4.908 5 7 5s3.299.679 4 1.242v10.987c-.99-.4-2.294-.658-4-.658s-3.01.258-4 .658Zm10 0c.99-.4 2.294-.659 4-.659s3.01.258 4 .658V6.242C20.299 5.679 19.092 5 17 5s-3.299.679-4 1.242v10.987Z\",\"M9.5 4C5.576 4 3.425 5.66 2.293 6.793A1 1 0 0 0 2 7.5V26a1 1 0 0 0 1.707.707C4.472 25.943 6.1 25 9.5 25c3.401 0 5.028.943 5.793 1.707a1 1 0 0 0 1.414 0C17.472 25.943 19.1 25 22.5 25c3.401 0 5.028.943 5.793 1.707A1 1 0 0 0 30 26V7.5a1 1 0 0 0-.293-.707C28.575 5.66 26.424 4 22.5 4c-3.225 0-5.252 1.121-6.5 2.15C14.752 5.12 12.725 4 9.5 4ZM4 24.083V7.927C4.934 7.08 6.578 6 9.5 6s4.566 1.079 5.5 1.927v16.156C13.714 23.44 11.936 23 9.5 23s-4.214.44-5.5 1.083Zm13 0C18.286 23.44 20.064 23 22.5 23s4.214.44 5.5 1.083V7.927C27.066 7.08 25.422 6 22.5 6S17.934 7.079 17 7.927v16.156Z\"]];","export default [[\"M3.5 1A1.5 1.5 0 0 0 2 2.5v8a.5.5 0 0 0 .748.434L6 9.076l3.252 1.858A.5.5 0 0 0 10 10.5v-8A1.5 1.5 0 0 0 8.5 1h-5Z\",\"M4.5 1A1.5 1.5 0 0 0 3 2.5v12a.5.5 0 0 0 .777.416L8 12.101l4.223 2.815A.5.5 0 0 0 13 14.5v-12A1.5 1.5 0 0 0 11.5 1h-7Z\",\"M8 1a3 3 0 0 0-3 3v17a1 1 0 0 0 1.555.832L12 18.202l5.445 3.63A1 1 0 0 0 19 21V4a3 3 0 0 0-3-3H8Z\",\"M10 2a3 3 0 0 0-3 3v23.5a1 1 0 0 0 1.567.824L16 24.214l7.433 5.11A1 1 0 0 0 25 28.5V5a3 3 0 0 0-3-3H10Z\"],[\"M3.5 2a.5.5 0 0 0-.5.5v7.138l2.752-1.572a.5.5 0 0 1 .496 0L9 9.638V2.5a.5.5 0 0 0-.5-.5h-5ZM2 2.5A1.5 1.5 0 0 1 3.5 1h5A1.5 1.5 0 0 1 10 2.5v8a.5.5 0 0 1-.748.434L6 9.076l-3.252 1.858A.5.5 0 0 1 2 10.5v-8Z\",\"M4.5 2a.5.5 0 0 0-.5.5v11.066l3.723-2.482a.5.5 0 0 1 .554 0L12 13.566V2.5a.5.5 0 0 0-.5-.5h-7ZM3 2.5A1.5 1.5 0 0 1 4.5 1h7A1.5 1.5 0 0 1 13 2.5v12a.5.5 0 0 1-.777.416L8 12.101l-4.223 2.815A.5.5 0 0 1 3 14.5v-12Z\",\"M5 4a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v17a1 1 0 0 1-1.555.832L12 18.202l-5.445 3.63A1 1 0 0 1 5 21V4Zm3-1a1 1 0 0 0-1 1v15.131l4.445-2.963a1 1 0 0 1 1.11 0L17 19.13V4a1 1 0 0 0-1-1H8Z\",\"M7 5a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v23.5a1 1 0 0 1-1.567.824L16 24.214l-7.433 5.11A1 1 0 0 1 7 28.5V5Zm3-1a1 1 0 0 0-1 1v21.599l6.434-4.423a1 1 0 0 1 1.133 0L23 26.599V5a1 1 0 0 0-1-1H10Z\"]];","export default [[\"M6 1.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm1 0a1.5 1.5 0 0 1-1 1.415V3h2.5A1.5 1.5 0 0 1 10 4.5V5a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1v2.5A1.5 1.5 0 0 1 8.5 12h-6A1.5 1.5 0 0 1 1 10.5V8a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1v-.5A1.5 1.5 0 0 1 2.5 3H5v-.085A1.5 1.5 0 1 1 7 1.5ZM4 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm4-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM3.5 8a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-4Z\",\"M7.5 2a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1ZM9 1.5a1.5 1.5 0 0 1-1 1.415V3h3.5A1.5 1.5 0 0 1 13 4.5v1.585A1.5 1.5 0 0 1 14 7.5v1a1.5 1.5 0 0 1-1 1.415V12.5a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 2 12.5V9.915A1.5 1.5 0 0 1 1 8.5v-1a1.5 1.5 0 0 1 1-1.415V4.5A1.5 1.5 0 0 1 3.5 3H7v-.085A1.5 1.5 0 1 1 9 1.5ZM6 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm4-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM5 9a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1H5Z\",\"M15 4a3.001 3.001 0 0 1-2 2.83V7h4a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V10a3 3 0 0 1 3-3h4v-.17A3.001 3.001 0 1 1 15 4Zm-3-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2ZM9.5 14a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm6.5-1.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0ZM8 16a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1H8Zm13 1.83A3.001 3.001 0 0 0 23 15v-1a3.001 3.001 0 0 0-2-2.83v6.66ZM3 11.17v6.66A3.001 3.001 0 0 1 1 15v-1c0-1.306.835-2.418 2-2.83Z\",\"M19 5a3.001 3.001 0 0 1-2 2.83V9h6a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H9a3 3 0 0 1-3-3V12a3 3 0 0 1 3-3h6V7.83A3.001 3.001 0 1 1 19 5Zm-3-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm-4 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm10-2a2 2 0 1 0-4 0 2 2 0 0 0 4 0Zm-10 4a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-1a2 2 0 0 0-2-2h-8Zm16 1.83A3.001 3.001 0 0 0 30 19v-3a3.001 3.001 0 0 0-2-2.83v8.66ZM4 13.17v8.66A3.001 3.001 0 0 1 2 19v-3c0-1.306.835-2.418 2-2.83Z\"],[\"<path d='M5 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm2 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM3.5 8a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-4Z'></path><path d='M6 2.915a1.5 1.5 0 1 0-1 0V3H2.5A1.5 1.5 0 0 0 1 4.5V5a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1v2.5A1.5 1.5 0 0 0 2.5 12h6a1.5 1.5 0 0 0 1.5-1.5V8a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1v-.5A1.5 1.5 0 0 0 8.5 3H6v-.085ZM5.5 2a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm-3 2a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5v-6a.5.5 0 0 0-.5-.5h-6Z'></path>\",\"<path d='M7 7a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm2 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM5 9a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1H5Z'></path><path d='M8 2.915a1.5 1.5 0 1 0-1 0V3H3.5A1.5 1.5 0 0 0 2 4.5v1.585A1.5 1.5 0 0 0 1 7.5v1a1.5 1.5 0 0 0 1 1.415V12.5A1.5 1.5 0 0 0 3.5 14h8a1.5 1.5 0 0 0 1.5-1.5V9.915A1.5 1.5 0 0 0 14 8.5v-1a1.5 1.5 0 0 0-1-1.415V4.5A1.5 1.5 0 0 0 11.5 3H8v-.085ZM8 1.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM3.5 4h8a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 .5-.5Z'></path>\",\"<path d='M9.5 14a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm6.5-1.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM8 16a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1H8Z'></path><path d='M15 4a3.001 3.001 0 0 1-2 2.83V7h4a3 3 0 0 1 3 3v1a3 3 0 0 1 3 3v1a3 3 0 0 1-3 3v2a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3v-2a3 3 0 0 1-3-3v-1a3 3 0 0 1 3-3v-1a3 3 0 0 1 3-3h4v-.17A3.001 3.001 0 1 1 15 4Zm-3-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2ZM4 13a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1v-3Zm2 7a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V10a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v10Zm14-4a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1v3Z'></path>\",\"<path d='M10 22a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v1a2 2 0 0 1-2 2h-8a2 2 0 0 1-2-2v-1Zm4-6a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm6 2a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z'></path><path d='M17 7.83a3.001 3.001 0 1 0-2 0V9H9a3 3 0 0 0-3 3v1H5a3 3 0 0 0-3 3v3a3 3 0 0 0 3 3h1v4a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-4h1a3 3 0 0 0 3-3v-3a3 3 0 0 0-3-3h-1v-1a3 3 0 0 0-3-3h-6V7.83ZM15 5a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm-7 7a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V12Zm-3 3h1v5H5a1 1 0 0 1-1-1v-3a1 1 0 0 1 1-1Zm22 5h-1v-5h1a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1Z'></path>\"]];","export default [[\"M3.5 2A1.5 1.5 0 0 0 2 3.5v5A1.5 1.5 0 0 0 3.5 10h5A1.5 1.5 0 0 0 10 8.5v-5A1.5 1.5 0 0 0 8.5 2H7v1.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5V2H3.5ZM6 7.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5Z\",\"<path d='M3.5 2A1.5 1.5 0 0 0 2 3.5v9A1.5 1.5 0 0 0 3.5 14h9a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 12.5 2H10v2.5a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5V2H3.5Zm6 9h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1Z'></path><path d='M7 2h2v2H7V2Z'></path>\",\"<path d='M5 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3h-4v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V2H5Zm9 14h3a1 1 0 1 1 0 2h-3a1 1 0 1 1 0-2Z'></path><path d='M11 2h2v3h-2V2Z'></path>\",\"<path d='M6 3a3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3h-6v6a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1V3H6Zm13 19h5a1 1 0 1 1 0 2h-5a1 1 0 1 1 0-2Z'></path><path d='M14 3h4v5h-4V3Z'></path>\"],[\"<path d='M6.5 7a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Z'></path><path d='M2 3.5A1.5 1.5 0 0 1 3.5 2h5A1.5 1.5 0 0 1 10 3.5v5A1.5 1.5 0 0 1 8.5 10h-5A1.5 1.5 0 0 1 2 8.5v-5ZM3.5 3a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5H7v1.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5V3H3.5Z'></path>\",\"<path d='M9.5 11a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Z'></path><path d='M2 3.5A1.5 1.5 0 0 1 3.5 2h9A1.5 1.5 0 0 1 14 3.5v9a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 12.5v-9ZM3.5 3a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5H10v2.5a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5V3H3.5ZM7 3v2h2V3H7Z'></path>\",\"<path d='M14 16a1 1 0 1 0 0 2h3a1 1 0 1 0 0-2h-3Z'></path><path d='M2 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1h-4v3a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V4H5Zm6 0v2h2V4h-2Z'></path>\",\"<path d='M19 22a1 1 0 1 0 0 2h5a1 1 0 1 0 0-2h-5Z'></path><path d='M3 6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-1a1 1 0 0 0-1 1v20a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-6v5a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1V5H6Zm8 0v4h4V5h-4Z'></path>\"]];","export default [[\"M5 1v1h1V1h1a1 1 0 0 1 1 1v3H3V2a1 1 0 0 1 1-1h1ZM3 6v1h1V6h1v4H2a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h1Zm4 0v1h1V6h1a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H6V6h1Z\",\"<path d='M5 1a1 1 0 0 0-1 1v5h7V2a1 1 0 0 0-1-1H9v1.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5V1H5Z'></path><path d='M7 1v1h1V1H7ZM2 8a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h5V8H6v1.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5V8H2Z'></path><path d='M4 8v1h1V8H4Zm8 0h1a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H8V8h1v1.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5V8Z'></path><path d='M11 8h-1v1h1V8Z'></path>\",\"M8 2a2 2 0 0 0-2 2v7h11V4a2 2 0 0 0-2-2h-2v3a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V2H8ZM4 13a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h7v-9H9v3a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-3H4Zm14 0h2a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-7v-9h2v3a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-3Z\",\"<path d='M11 3a2 2 0 0 0-2 2v10h14V5a2 2 0 0 0-2-2h-2v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V3h-2Z'></path><path d='M15 3v3h2V3h-2ZM5 17a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h10V17h-2v4a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-4H5Z'></path><path d='M9 17v3h2v-3H9Zm16 0h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H17V17h2v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4Z'></path><path d='M23 17h-2v3h2v-3Z'></path>\"],[\"M3 2a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v3h1a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h1V2Zm4 0H6v1H5V2H4v3h3V2ZM2 9h3V6H4v1H3V6H2v3Zm4 0h3V6H8v1H7V6H6v3Z\",\"M4 2a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v5h2a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h2V2Zm7 6h-1v1h1V8ZM9 8H8v5h5V8h-1v1.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5V8Zm1-1V2H9v1.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5V2H5v5h5ZM2 8v5h5V8H6v1.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5V8H2Zm2 0v1h1V8H4Zm4-6H7v1h1V2Z\",\"M6 4a2 2 0 0 1 2-2h7a2 2 0 0 1 2 2v7h3a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h2V4Zm9 9h-2v7h7v-7h-2v2a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-2Zm-5-9H8v7h7V4h-2v2a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V4ZM6 15v-2H4v7h7v-7H9v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1Z\",\"M9 5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v10h4a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V17a2 2 0 0 1 2-2h4V5Zm14 12h-2v2h2v-2Zm-4 0h-2v10h10V17h-2v3a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-3Zm2-2V5h-2v3a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V5h-2v10h10ZM5 17v10h10V17h-2v3a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-3H5Zm4 0v2h2v-2H9Zm8-12h-2v2h2V5Z\"]];","export default [[\"M3.681 2.74a.5.5 0 1 0-.876-.48C2.299 3.18 2 4.53 2 6c0 1.47.3 2.821.805 3.74a.5.5 0 1 0 .876-.48C3.28 8.53 3 7.356 3 6c0-1.357.28-2.529.681-3.26Zm4.638 0a.5.5 0 1 1 .876-.48C9.701 3.18 10 4.53 10 6c0 1.47-.3 2.821-.805 3.74a.5.5 0 1 1-.876-.48C8.72 8.53 9 7.356 9 6c0-1.357-.28-2.529-.681-3.26Z\",\"M5.17 3.806a.5.5 0 1 0-.79-.612C3.52 4.302 3 6.065 3 8s.521 3.698 1.38 4.806a.5.5 0 0 0 .79-.612C4.486 11.31 4 9.785 4 8c0-1.785.486-3.31 1.17-4.194Zm5.435 0a.5.5 0 1 1 .79-.612c.858 1.108 1.38 2.871 1.38 4.806s-.522 3.698-1.38 4.806a.5.5 0 0 1-.79-.612c.684-.883 1.17-2.409 1.17-4.194 0-1.785-.486-3.31-1.17-4.194Z\",\"M6.828 5.345a1 1 0 0 0-1.656-1.122C3.811 6.233 3 8.996 3 12c0 3.005.81 5.767 2.172 7.777a1 1 0 0 0 1.656-1.121C5.724 17.026 5 14.668 5 12c0-2.667.724-5.025 1.828-6.655Zm10.344 0a1 1 0 1 1 1.656-1.122C20.189 6.233 21 8.996 21 12c0 3.005-.81 5.767-2.172 7.777a1 1 0 0 1-1.656-1.121C18.276 17.026 19 14.668 19 12c0-2.667-.724-5.025-1.828-6.655Z\",\"M7.904 6.428a1 1 0 0 0-1.808-.855C4.78 8.353 4 12.019 4 16c0 3.982.78 7.646 2.096 10.427a1 1 0 1 0 1.808-.855C6.737 23.105 6 19.743 6 16c0-3.742.737-7.106 1.904-9.573Zm16.192 0a1 1 0 1 1 1.808-.855C27.22 8.353 28 12.019 28 16c0 3.982-.78 7.646-2.096 10.427a1 1 0 1 1-1.808-.855C25.263 23.105 26 19.743 26 16c0-3.742-.737-7.106-1.904-9.573Z\"]];","export default [[\"<g class='svg/branch-fork-fill-12'><path d='M3.5 1A1.5 1.5 0 0 0 3 3.915v4.17a1.5 1.5 0 1 0 1 0V7h2.5A2.5 2.5 0 0 0 9 4.5v-.585a1.5 1.5 0 1 0-1 0V4.5A1.5 1.5 0 0 1 6.5 6H4V3.915A1.5 1.5 0 0 0 3.5 1Z' class='ð¨ Color'></path></g>\",\"<g class='svg/branch-fork-fill-16'><path d='M4.5 1A2.5 2.5 0 0 0 4 5.95v4.1a2.5 2.5 0 1 0 1 0V9h4.5A2.5 2.5 0 0 0 12 6.5v-.55a2.5 2.5 0 1 0-1 0v.55A1.5 1.5 0 0 1 9.5 8H5V5.95A2.5 2.5 0 0 0 4.5 1Z' class='ð¨ Color'></path></g>\",\"<g class='svg/branch-fork-fill-24'><path d='M7 1a4 4 0 0 0-1 7.874v6.252A4.002 4.002 0 0 0 7 23a4 4 0 0 0 1-7.874V14h6a4 4 0 0 0 4-4V8.874A4.002 4.002 0 0 0 17 1a4 4 0 0 0-1 7.874V10a2 2 0 0 1-2 2H8V8.874A4.002 4.002 0 0 0 7 1Z' class='ð¨ Color'></path></g>\",\"<g class='svg/branch-fork-fill-32'><path d='M9 2a5 5 0 0 0-1 9.9v8.2A5.002 5.002 0 0 0 9 30a5 5 0 0 0 1-9.9V18h9a5 5 0 0 0 5-5v-1.1A5.002 5.002 0 0 0 23 2a5 5 0 0 0-1 9.9V13a3 3 0 0 1-3 3h-9v-4.1A5.002 5.002 0 0 0 9 2Z' class='ð¨ Color'></path></g>\"],[\"<g class='svg/branch-fork-outline-12'><path d='M5 2.5a1.5 1.5 0 0 1-1 1.415V6h2.5A1.5 1.5 0 0 0 8 4.5v-.585a1.5 1.5 0 1 1 1 0V4.5A2.5 2.5 0 0 1 6.5 7H4v1.085a1.5 1.5 0 1 1-1 0v-4.17A1.5 1.5 0 1 1 5 2.5ZM3.5 2a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm5 1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1ZM3 9.5a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0Z' class='ð¨ Color'></path></g>\",\"<g class='svg/branch-fork-outline-16'><path d='M7 3.5a2.5 2.5 0 0 1-2 2.45V8h4.5A1.5 1.5 0 0 0 11 6.5v-.55a2.5 2.5 0 1 1 1 0v.55A2.5 2.5 0 0 1 9.5 9H5v1.05a2.5 2.5 0 1 1-1 0v-4.1A2.5 2.5 0 1 1 7 3.5ZM4.5 2a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm7 3a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM3 12.5a1.5 1.5 0 1 0 3 0 1.5 1.5 0 0 0-3 0Z' class='ð¨ Color'></path></g>\",\"<g class='svg/branch-fork-outline-24'><path d='M11 5a4.002 4.002 0 0 1-3 3.874V12h6a2 2 0 0 0 2-2V8.874A4.002 4.002 0 0 1 17 1a4 4 0 0 1 1 7.874V10a4 4 0 0 1-4 4H8v1.126A4.002 4.002 0 0 1 7 23a4 4 0 0 1-1-7.874V8.874A4.002 4.002 0 0 1 7 1a4 4 0 0 1 4 4ZM7 3a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm10 4a2 2 0 1 0 0-4 2 2 0 0 0 0 4ZM5 19a2 2 0 1 0 4 0 2 2 0 0 0-4 0Z' class='ð¨ Color'></path></g>\",\"<g class='svg/branch-fork-outline-32'><path d='M14 7a5.002 5.002 0 0 1-4 4.9V16h9a3 3 0 0 0 3-3v-1.1A5.002 5.002 0 0 1 23 2a5 5 0 0 1 1 9.9V13a5 5 0 0 1-5 5h-9v2.1A5.002 5.002 0 0 1 9 30a5 5 0 0 1-1-9.9v-8.2A5.002 5.002 0 0 1 9 2a5 5 0 0 1 5 5ZM9 4a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm14 6a3 3 0 1 0 0-6 3 3 0 0 0 0 6ZM6 25a3 3 0 1 0 6 0 3 3 0 0 0-6 0Z' class='ð¨ Color'></path></g>\"]];","export default [[\"M3 2.5V3h-.5A1.5 1.5 0 0 0 1 4.5V6h10V4.5A1.5 1.5 0 0 0 9.5 3H9v-.5A1.5 1.5 0 0 0 7.5 1h-3A1.5 1.5 0 0 0 3 2.5ZM4.5 2h3a.5.5 0 0 1 .5.5V3H4v-.5a.5.5 0 0 1 .5-.5ZM11 7H7v.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5V7H1v2.5A1.5 1.5 0 0 0 2.5 11h7A1.5 1.5 0 0 0 11 9.5V7Z\",\"M5 3.5V4H2.5A1.5 1.5 0 0 0 1 5.5V7h5v-.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5V7h5V5.5A1.5 1.5 0 0 0 13.5 4H11v-.5A1.5 1.5 0 0 0 9.5 2h-3A1.5 1.5 0 0 0 5 3.5ZM6.5 3h3a.5.5 0 0 1 .5.5V4H6v-.5a.5.5 0 0 1 .5-.5ZM15 8h-5v.5a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5V8H1v4.5A1.5 1.5 0 0 0 2.5 14h11a1.5 1.5 0 0 0 1.5-1.5V8Z\",\"M7 4a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1h3a3 3 0 0 1 3 3v2h-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1H1V8a3 3 0 0 1 3-3h3V4Zm8 0H9v1h6V4ZM1 12v6a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3v-6h-8a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1H1Z\",\"M10 6.5V8H5a3 3 0 0 0-3 3v3h10a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1h10v-3a3 3 0 0 0-3-3h-5V6.5A2.5 2.5 0 0 0 19.5 4h-7A2.5 2.5 0 0 0 10 6.5Zm2.5-.5h7a.5.5 0 0 1 .5.5V8h-8V6.5a.5.5 0 0 1 .5-.5ZM30 16H20v1a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1v-1H2v9a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3v-9Z\"],[\"M3 2.5V3h-.5A1.5 1.5 0 0 0 1 4.5v5A1.5 1.5 0 0 0 2.5 11h7A1.5 1.5 0 0 0 11 9.5v-5A1.5 1.5 0 0 0 9.5 3H9v-.5A1.5 1.5 0 0 0 7.5 1h-3A1.5 1.5 0 0 0 3 2.5ZM4.5 2h3a.5.5 0 0 1 .5.5V3H4v-.5a.5.5 0 0 1 .5-.5ZM2 4.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5V6H2V4.5ZM5 7v.5a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5V7h3v2.5a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5V7h3Z\",\"M5 3.5V4H2.5A1.5 1.5 0 0 0 1 5.5v7A1.5 1.5 0 0 0 2.5 14h11a1.5 1.5 0 0 0 1.5-1.5v-7A1.5 1.5 0 0 0 13.5 4H11v-.5A1.5 1.5 0 0 0 9.5 2h-3A1.5 1.5 0 0 0 5 3.5ZM6.5 3h3a.5.5 0 0 1 .5.5V4H6v-.5a.5.5 0 0 1 .5-.5Zm-4 2h11a.5.5 0 0 1 .5.5V7h-4v-.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5V7H2V5.5a.5.5 0 0 1 .5-.5ZM10 8h4v4.5a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5V8h4v.5a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5V8ZM7 8V7h2v1H7Z\",\"M7 4a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1h3a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3V8a3 3 0 0 1 3-3h3V4Zm8 0H9v1h6V4ZM4 7a1 1 0 0 0-1 1v2h5.085A1.5 1.5 0 0 1 9.5 9h5a1.5 1.5 0 0 1 1.415 1H21V8a1 1 0 0 0-1-1H4Zm4 5H3v6a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-6h-5v.5a1.5 1.5 0 0 1-1.5 1.5h-5A1.5 1.5 0 0 1 8 12.5V12Zm2 0h4v-1h-4v1Z\",\"M10 6.5V8H5a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3V11a3 3 0 0 0-3-3h-5V6.5A2.5 2.5 0 0 0 19.5 4h-7A2.5 2.5 0 0 0 10 6.5Zm2.5-.5h7a.5.5 0 0 1 .5.5V8h-8V6.5a.5.5 0 0 1 .5-.5ZM27 10a1 1 0 0 1 1 1v3h-7.085a1.5 1.5 0 0 0-1.415-1h-7a1.5 1.5 0 0 0-1.415 1H4v-3a1 1 0 0 1 1-1h22Zm-16 6v1.5a1.5 1.5 0 0 0 1.5 1.5h7a1.5 1.5 0 0 0 1.5-1.5V16h7v9a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-9h7Zm8 1h-6v-2h6v2Z\"]];","export default [[\"M2.227 1.672a.5.5 0 1 0-.943-.333 5 5 0 0 0 .001 3.326.5.5 0 0 0 .943-.333 4 4 0 0 1 0-2.66ZM5 3a1 1 0 0 0 .323.736L3.557 7.268a.494.494 0 0 0-.009.018l-.99 1.982a.506.506 0 0 0-.01.018l-.495.99a.5.5 0 1 0 .894.448L3.31 10h5.382l.362.724a.5.5 0 1 0 .894-.447l-.495-.99a.482.482 0 0 0-.01-.02l-.99-1.98a.49.49 0 0 0-.01-.02l-1.765-3.53A1.001 1.001 0 1 0 5 3Zm2.191 4L6 4.618 4.809 7h2.382ZM4.309 8l-.5 1h4.382l-.5-1H4.309Zm-.685-5.989a.5.5 0 0 1 .41.576 2.5 2.5 0 0 0 0 .827.5.5 0 0 1-.986.166 3.5 3.5 0 0 1 0-1.158.5.5 0 0 1 .576-.41Zm4.752 0a.5.5 0 0 0-.41.576 2.5 2.5 0 0 1 0 .827.5.5 0 0 0 .986.166 3.5 3.5 0 0 0 0-1.158.5.5 0 0 0-.576-.41Zm1.397-.34a.5.5 0 1 1 .943-.332 5 5 0 0 1-.001 3.326.5.5 0 0 1-.943-.333 4 4 0 0 0 0-2.66Z\",\"M2.921 1.805a.5.5 0 0 0-.846-.532 7 7 0 0 0 .012 7.473.5.5 0 0 0 .845-.535 6 6 0 0 1-.01-6.406ZM6 5c0-1.104.898-2 2-2a2.002 2.002 0 0 1 1.287 3.53l3.665 7.756a.5.5 0 0 1-.904.428L11.238 13H4.762l-.81 1.714a.5.5 0 0 1-.904-.428L6.713 6.53A1.996 1.996 0 0 1 6 5Zm3.82 5 .945 2h-5.53l.945-2h3.64Zm-.472-1-.963-2.037a2.004 2.004 0 0 1-.77 0L6.652 9h2.696Zm-4.37-5.96a.5.5 0 0 1 .276.65 3.5 3.5 0 0 0 .001 2.621.5.5 0 1 1-.927.375 4.5 4.5 0 0 1-.001-3.37.5.5 0 0 1 .65-.277Zm6.044 0a.5.5 0 0 0-.276.65 3.5 3.5 0 0 1-.001 2.621.5.5 0 1 0 .927.375 4.5 4.5 0 0 0 .001-3.37.5.5 0 0 0-.65-.277Zm2.057-1.235a.5.5 0 0 1 .846-.532 7 7 0 0 1-.012 7.473.5.5 0 1 1-.845-.535 6 6 0 0 0 .01-6.406Z\",\"M4.2 3.509a1 1 0 1 0-1.732-.998 11 11 0 0 0 0 10.98 1 1 0 1 0 1.734-.998A9 9 0 0 1 4.2 3.509Zm2.986.617a1 1 0 0 1 .429 1.348 5.5 5.5 0 0 0 .001 5.055 1 1 0 0 1-1.776.92 7.5 7.5 0 0 1-.002-6.894 1 1 0 0 1 1.348-.429ZM9 8c0-1.657 1.346-3 3-3a3.002 3.002 0 0 1 1.883 5.335l5.03 11.257a1 1 0 0 1-1.826.816L16.011 20H7.989l-1.076 2.408a1 1 0 0 1-1.826-.816l5.03-11.257A2.994 2.994 0 0 1 9 8Zm5.224 8 .893 2H8.883l.893-2h4.448Zm-.894-2L12 11.024 10.67 14h2.66Zm3.484-9.874a1 1 0 0 0-.428 1.348 5.5 5.5 0 0 1-.002 5.055 1 1 0 1 0 1.776.92 7.5 7.5 0 0 0 .002-6.894 1 1 0 0 0-1.348-.429ZM19.8 3.51a1 1 0 1 1 1.733-.998 11 11 0 0 1 0 10.98 1 1 0 1 1-1.734-.998A9 9 0 0 0 19.8 3.51Z\",\"M6.352 4.467a1 1 0 0 0-1.775-.922 14 14 0 0 0-.002 12.907 1 1 0 1 0 1.775-.922 12 12 0 0 1 .002-11.063Zm3.215.673a1 1 0 0 1 .367 1.366 7 7 0 0 0 .001 6.989 1 1 0 0 1-1.733.999 9 9 0 0 1 0-8.986 1 1 0 0 1 1.365-.368ZM12 10c0-2.209 1.795-4 4-4s4 1.791 4 4a3.991 3.991 0 0 1-1.404 3.041l6.33 15.582a1 1 0 0 1-1.852.753L20.889 24h-9.778l-2.185 5.376a1 1 0 1 1-1.852-.753l6.33-15.582A3.991 3.991 0 0 1 12 10Zm7.264 10 .813 2h-8.154l.813-2h6.528Zm-.812-2-1.657-4.08a4.003 4.003 0 0 1-1.59 0L13.548 18h4.904Zm3.981-12.86a1 1 0 0 0-.367 1.366 7 7 0 0 1-.001 6.989 1 1 0 0 0 1.733.999 9 9 0 0 0 0-8.986 1 1 0 0 0-1.365-.368Zm3.215-.673a1 1 0 1 1 1.775-.922 14 14 0 0 1 .002 12.907 1 1 0 1 1-1.775-.922 12 12 0 0 0-.002-11.063Z\"],[\"M1.922 1.034a.5.5 0 0 1 .305.638 4 4 0 0 0 .001 2.66.5.5 0 0 1-.943.333 5 5 0 0 1-.001-3.326.5.5 0 0 1 .638-.305Zm1.702.977a.5.5 0 0 1 .41.576 2.5 2.5 0 0 0 0 .827.5.5 0 0 1-.986.166 3.5 3.5 0 0 1 0-1.158.5.5 0 0 1 .576-.41Zm4.342.576a.5.5 0 1 1 .986-.165 3.5 3.5 0 0 1 0 1.158.5.5 0 1 1-.987-.166 2.5 2.5 0 0 0 0-.827Zm2.112-1.553a.5.5 0 0 0-.305.638 4 4 0 0 1-.001 2.66.5.5 0 1 0 .943.333 5 5 0 0 0 .001-3.326.5.5 0 0 0-.637-.305ZM5 3a1 1 0 0 0 .323.736L3.557 7.268a.494.494 0 0 0-.009.018l-.99 1.982a.506.506 0 0 0-.01.018l-.495.99a.5.5 0 1 0 .894.448L3.31 10h5.382l.362.724a.5.5 0 1 0 .894-.447l-.495-.99a.482.482 0 0 0-.01-.02l-.99-1.98a.49.49 0 0 0-.01-.02l-1.765-3.53A1.001 1.001 0 1 0 5 3Zm2.191 4L6 4.618 4.809 7h2.382ZM4.309 8l-.5 1h4.382l-.5-1H4.309Z\",\"M2.921 1.805a.5.5 0 0 0-.846-.532 7 7 0 0 0 .012 7.473.5.5 0 0 0 .845-.535 6 6 0 0 1-.01-6.406ZM8 4c-.55 0-1 .449-1 1 0 .552.45 1 1 1s1-.448 1-1c0-.551-.45-1-1-1ZM6 5c0-1.104.898-2 2-2a2.002 2.002 0 0 1 1.287 3.53l3.665 7.756a.5.5 0 0 1-.904.428L11.238 13H4.762l-.81 1.714a.5.5 0 0 1-.904-.428L6.713 6.53A1.996 1.996 0 0 1 6 5Zm3.82 5 .945 2h-5.53l.945-2h3.64Zm-.472-1-.963-2.037a2.004 2.004 0 0 1-.77 0L6.652 9h2.696Zm-4.37-5.96a.5.5 0 0 1 .276.65 3.5 3.5 0 0 0 .001 2.621.5.5 0 1 1-.927.375 4.5 4.5 0 0 1-.001-3.37.5.5 0 0 1 .65-.277Zm6.044 0a.5.5 0 0 0-.276.65 3.5 3.5 0 0 1-.001 2.621.5.5 0 1 0 .927.375 4.5 4.5 0 0 0 .001-3.37.5.5 0 0 0-.65-.277Zm2.057-1.235a.5.5 0 0 1 .846-.532 7 7 0 0 1-.012 7.473.5.5 0 1 1-.845-.535 6 6 0 0 0 .01-6.406Z\",\"M4.2 3.509a1 1 0 1 0-1.732-.998 11 11 0 0 0 0 10.98 1 1 0 1 0 1.734-.998A9 9 0 0 1 4.2 3.509Zm2.986.617a1 1 0 0 1 .429 1.348 5.5 5.5 0 0 0 .001 5.055 1 1 0 0 1-1.776.92 7.5 7.5 0 0 1-.002-6.894 1 1 0 0 1 1.348-.429ZM12 7c-.55 0-1 .449-1 1 0 .551.45 1 1 1s1-.449 1-1c0-.551-.45-1-1-1ZM9 8c0-1.657 1.346-3 3-3a3.002 3.002 0 0 1 1.883 5.335l5.03 11.257a1 1 0 0 1-1.826.816L16.011 20H7.989l-1.076 2.408a1 1 0 0 1-1.826-.816l5.03-11.257A2.994 2.994 0 0 1 9 8Zm5.224 8 .893 2H8.883l.893-2h4.448Zm-.894-2L12 11.024 10.67 14h2.66Zm3.484-9.874a1 1 0 0 0-.428 1.348 5.5 5.5 0 0 1-.002 5.055 1 1 0 1 0 1.776.92 7.5 7.5 0 0 0 .002-6.894 1 1 0 0 0-1.348-.429ZM19.8 3.51a1 1 0 1 1 1.733-.998 11 11 0 0 1 0 10.98 1 1 0 1 1-1.734-.998A9 9 0 0 0 19.8 3.51Z\",\"M5.925 3.118a1 1 0 0 1 .427 1.349A12 12 0 0 0 6.35 15.53a1 1 0 1 1-1.775.922 14 14 0 0 1 .002-12.907 1 1 0 0 1 1.348-.427ZM9.567 5.14a1 1 0 0 1 .367 1.366 7 7 0 0 0 .001 6.989 1 1 0 0 1-1.733.999 9 9 0 0 1 0-8.986 1 1 0 0 1 1.365-.368Zm12.499 1.366a1 1 0 0 1 1.733-.998 9 9 0 0 1-.001 8.986 1 1 0 0 1-1.733-.999 7 7 0 0 0 0-6.99Zm4.009-3.388a1 1 0 0 0-.427 1.349 12.001 12.001 0 0 1 .002 11.063 1 1 0 1 0 1.775.922 14 14 0 0 0-.002-12.907 1 1 0 0 0-1.348-.427ZM14 10c0-1.103.899-2 2-2s2 .897 2 2-.899 2-2 2-2-.897-2-2Zm2-4c-2.205 0-4 1.791-4 4 0 1.217.545 2.308 1.404 3.041l-6.33 15.582a1 1 0 0 0 1.852.753L11.111 24h9.778l2.184 5.376a1 1 0 1 0 1.854-.753l-6.33-15.582A3.991 3.991 0 0 0 20 10c0-2.209-1.795-4-4-4Zm4.077 16h-8.154l.813-2h6.528l.813 2Zm-1.625-4h-4.904l1.657-4.08a4.003 4.003 0 0 0 1.59 0L18.452 18Z\"]];","export default [[\"M4.01 3.332a1.5 1.5 0 0 1 2.98 0A3.486 3.486 0 0 0 5.5 3a3.5 3.5 0 0 0-1.49.332ZM3 4.051V3.5a2.5 2.5 0 0 1 5 0v.55c.207.212.387.449.536.707l.318-.318A.5.5 0 0 0 9 4.086V3.5a.5.5 0 0 1 1 0v.586a1.5 1.5 0 0 1-.44 1.06l-.634.635a3.515 3.515 0 0 1 0 1.438l.635.635A1.5 1.5 0 0 1 10 8.914V9.5a.5.5 0 0 1-1 0v-.586a.5.5 0 0 0-.146-.353l-.318-.318A3.499 3.499 0 0 1 5.5 10a3.499 3.499 0 0 1-3.036-1.757l-.318.318A.5.5 0 0 0 2 8.914V9.5a.5.5 0 0 1-1 0v-.586c0-.398.158-.78.44-1.06l.634-.635a3.515 3.515 0 0 1 0-1.438l-.635-.635A1.5 1.5 0 0 1 1 4.086V3.5a.5.5 0 0 1 1 0v.586a.5.5 0 0 0 .146.353l.318.318c.149-.258.329-.495.536-.706Z\",\"M5 3.5a2.5 2.5 0 0 1 5 0v.1A5.47 5.47 0 0 0 7.5 3c-.9 0-1.75.216-2.5.6v-.1Zm-.991.75H4V3.5a3.5 3.5 0 1 1 7 0v.75h-.009c.11.09.218.186.32.285l.413-.206A.5.5 0 0 0 12 3.882V2.5a.5.5 0 0 1 1 0v1.382a1.5 1.5 0 0 1-.83 1.342l-.185.092c.239.335.44.698.6 1.083l1.139-.57A.5.5 0 0 0 14 5.382V4.5a.5.5 0 0 1 1 0v.882a1.5 1.5 0 0 1-.83 1.342l-1.287.643a5.524 5.524 0 0 1 0 2.266l1.288.643A1.5 1.5 0 0 1 15 11.618v.882a.5.5 0 0 1-1 0v-.882a.5.5 0 0 0-.276-.447l-1.14-.57a5.49 5.49 0 0 1-.599 1.083l.186.092A1.5 1.5 0 0 1 13 13.118V14.5a.5.5 0 0 1-1 0v-1.382a.5.5 0 0 0-.276-.447l-.412-.206A5.481 5.481 0 0 1 7.5 14a5.481 5.481 0 0 1-3.812-1.535l-.412.206a.5.5 0 0 0-.276.447V14.5a.5.5 0 0 1-1 0v-1.382a1.5 1.5 0 0 1 .83-1.342l.185-.092a5.49 5.49 0 0 1-.6-1.083l-1.139.57a.5.5 0 0 0-.276.447v.882a.5.5 0 0 1-1 0v-.882a1.5 1.5 0 0 1 .83-1.342l1.287-.643a5.524 5.524 0 0 1 0-2.266L.829 6.724A1.5 1.5 0 0 1 0 5.382V4.5a.5.5 0 0 1 1 0v.882a.5.5 0 0 0 .276.447l1.14.57c.159-.385.36-.748.599-1.083l-.186-.092A1.5 1.5 0 0 1 2 3.882V2.5a.5.5 0 0 1 1 0v1.382a.5.5 0 0 0 .276.447l.412.206a5.76 5.76 0 0 1 .32-.285Z\",\"M9.03 5.57a3 3 0 0 1 5.94 0A7.978 7.978 0 0 0 12 5c-1.05 0-2.051.202-2.97.57ZM7 6.754V6a5 5 0 0 1 10 0v.755c.262.21.51.436.744.677A1 1 0 0 0 18 6.764V5a1 1 0 1 1 2 0v1.764a3 3 0 0 1-1.047 2.277c.201.352.376.72.522 1.103l.972-.486A1 1 0 0 0 21 8.764V8a1 1 0 1 1 2 0v.764a3 3 0 0 1-1.658 2.683l-1.388.694a8.101 8.101 0 0 1-.153 2.641l1.54.77A3 3 0 0 1 23 18.237V19a1 1 0 1 1-2 0v-.764a1 1 0 0 0-.553-.894l-1.338-.67c-.176.34-.375.665-.596.974A3 3 0 0 1 20 20.236V22a1 1 0 1 1-2 0v-1.764a1 1 0 0 0-.553-.894l-.35-.175A7.968 7.968 0 0 1 12 21a7.968 7.968 0 0 1-5.097-1.834l-.35.176a1 1 0 0 0-.553.894V22a1 1 0 1 1-2 0v-1.764a3 3 0 0 1 1.486-2.59 8 8 0 0 1-.595-.973l-1.338.669a1 1 0 0 0-.553.894V19a1 1 0 1 1-2 0v-.764a3 3 0 0 1 1.658-2.683l1.541-.77a8.026 8.026 0 0 1-.153-2.642l-1.388-.694A3 3 0 0 1 1 8.764V8a1 1 0 0 1 2 0v.764a1 1 0 0 0 .553.894l.972.486c.146-.382.32-.751.522-1.103A3 3 0 0 1 4 6.764V5a1 1 0 0 1 2 0v1.764a1 1 0 0 0 .256.668c.233-.241.482-.467.744-.677Z\",\"M12.004 7.83a4 4 0 0 1 7.993 0A9.967 9.967 0 0 0 16 7c-1.42 0-2.773.296-3.996.83ZM10 9V8a6 6 0 0 1 12 0v1c.574.43 1.1.922 1.569 1.464A1 1 0 0 0 24 9.642V7a1 1 0 1 1 2 0v2.642a3 3 0 0 1-1.28 2.458c.333.593.609 1.224.817 1.885l1.993-1.245a1 1 0 0 0 .47-.848V10a1 1 0 1 1 2 0v1.892a3 3 0 0 1-1.41 2.543l-2.632 1.645a10.132 10.132 0 0 1-.127 2.76l2.759 1.724A3 3 0 0 1 30 23.108V25a1 1 0 1 1-2 0v-1.892a1 1 0 0 0-.47-.848l-2.29-1.43a9.982 9.982 0 0 1-.966 1.787l.316.197A3 3 0 0 1 26 25.358V28a1 1 0 1 1-2 0v-2.642a1 1 0 0 0-.47-.848l-.554-.346A9.967 9.967 0 0 1 16 27a9.967 9.967 0 0 1-6.976-2.835l-.554.346a1 1 0 0 0-.47.848V28a1 1 0 1 1-2 0v-2.642a3 3 0 0 1 1.41-2.544l.316-.197a9.978 9.978 0 0 1-.966-1.787l-2.29 1.43a1 1 0 0 0-.47.848V25a1 1 0 1 1-2 0v-1.892a3 3 0 0 1 1.41-2.544l2.759-1.724a10.057 10.057 0 0 1-.127-2.76L3.41 14.436A3 3 0 0 1 2 11.891V10a1 1 0 0 1 2 0v1.892a1 1 0 0 0 .47.848l1.993 1.245a9.92 9.92 0 0 1 .818-1.885A3 3 0 0 1 6 9.642V7a1 1 0 0 1 2 0v2.642a1 1 0 0 0 .431.822C8.901 9.922 9.426 9.43 10 9Z\"],[\"M4.01 3.332a1.5 1.5 0 0 1 2.98 0A3.486 3.486 0 0 0 5.5 3a3.5 3.5 0 0 0-1.49.332ZM4 4.5A2.49 2.49 0 0 1 5.5 4 2.497 2.497 0 0 1 8 6.5a2.5 2.5 0 0 1-2 2.45V6.5a.5.5 0 0 0-1 0v2.45A2.5 2.5 0 0 1 4 4.5Zm-1-.45V3.5a2.5 2.5 0 0 1 5 0v.55c.207.212.387.449.536.707l.318-.318A.5.5 0 0 0 9 4.086V3.5a.5.5 0 0 1 1 0v.586a1.5 1.5 0 0 1-.44 1.06l-.634.635a3.515 3.515 0 0 1 0 1.438l.635.635A1.5 1.5 0 0 1 10 8.914V9.5a.5.5 0 0 1-1 0v-.586a.5.5 0 0 0-.146-.353l-.318-.318A3.499 3.499 0 0 1 5.5 10a3.499 3.499 0 0 1-3.036-1.757l-.318.318A.5.5 0 0 0 2 8.914V9.5a.5.5 0 0 1-1 0v-.586c0-.398.158-.78.44-1.06l.634-.635a3.515 3.515 0 0 1 0-1.438l-.635-.635A1.5 1.5 0 0 1 1 4.086V3.5a.5.5 0 0 1 1 0v.586a.5.5 0 0 0 .146.353l.318.318c.149-.258.329-.495.536-.706Z\",\"M5 3.5a2.5 2.5 0 0 1 5 0v.1A5.47 5.47 0 0 0 7.5 3c-.9 0-1.75.216-2.5.6v-.1Zm-.991.75H4V3.5a3.5 3.5 0 1 1 7 0v.75h-.009c.11.09.218.186.32.285l.413-.206A.5.5 0 0 0 12 3.882V2.5a.5.5 0 0 1 1 0v1.382a1.5 1.5 0 0 1-.83 1.342l-.185.092c.239.335.44.698.6 1.083l1.139-.57A.5.5 0 0 0 14 5.382V4.5a.5.5 0 0 1 1 0v.882a1.5 1.5 0 0 1-.83 1.342l-1.287.643a5.524 5.524 0 0 1 0 2.266l1.288.643A1.5 1.5 0 0 1 15 11.618v.882a.5.5 0 0 1-1 0v-.882a.5.5 0 0 0-.276-.447l-1.14-.57a5.49 5.49 0 0 1-.599 1.083l.186.092A1.5 1.5 0 0 1 13 13.118V14.5a.5.5 0 0 1-1 0v-1.382a.5.5 0 0 0-.276-.447l-.412-.206A5.481 5.481 0 0 1 7.5 14a5.481 5.481 0 0 1-3.812-1.535l-.412.206a.5.5 0 0 0-.276.447V14.5a.5.5 0 0 1-1 0v-1.382a1.5 1.5 0 0 1 .83-1.342l.185-.092a5.49 5.49 0 0 1-.6-1.083l-1.139.57a.5.5 0 0 0-.276.447v.882a.5.5 0 0 1-1 0v-.882a1.5 1.5 0 0 1 .83-1.342l1.287-.643a5.524 5.524 0 0 1 0-2.266L.829 6.724A1.5 1.5 0 0 1 0 5.382V4.5a.5.5 0 0 1 1 0v.882a.5.5 0 0 0 .276.447l1.14.57c.159-.385.36-.748.599-1.083l-.186-.092A1.5 1.5 0 0 1 2 3.882V2.5a.5.5 0 0 1 1 0v1.382a.5.5 0 0 0 .276.447l.412.206a5.76 5.76 0 0 1 .32-.285ZM7.5 4a4.5 4.5 0 0 0-.5 8.973V6.5a.5.5 0 0 1 1 0v6.473A4.5 4.5 0 0 0 7.5 4Z\",\"M9.03 5.57a3 3 0 0 1 5.94 0A7.978 7.978 0 0 0 12 5c-1.05 0-2.051.202-2.97.57ZM7 6.754V6a5 5 0 0 1 10 0v.755c.262.21.51.436.744.677A1 1 0 0 0 18 6.764V5a1 1 0 1 1 2 0v1.764a3 3 0 0 1-1.047 2.277c.201.352.376.72.522 1.103l.972-.486A1 1 0 0 0 21 8.764V8a1 1 0 1 1 2 0v.764a3 3 0 0 1-1.658 2.683l-1.388.694a8.101 8.101 0 0 1-.153 2.641l1.54.77A3 3 0 0 1 23 18.237V19a1 1 0 1 1-2 0v-.764a1 1 0 0 0-.553-.894l-1.338-.67c-.176.34-.375.665-.596.974A3 3 0 0 1 20 20.236V22a1 1 0 1 1-2 0v-1.764a1 1 0 0 0-.553-.894l-.35-.175A7.968 7.968 0 0 1 12 21a7.968 7.968 0 0 1-5.097-1.834l-.35.176a1 1 0 0 0-.553.894V22a1 1 0 1 1-2 0v-1.764a3 3 0 0 1 1.486-2.59 8 8 0 0 1-.595-.973l-1.338.669a1 1 0 0 0-.553.894V19a1 1 0 1 1-2 0v-.764a3 3 0 0 1 1.658-2.683l1.541-.77a8.026 8.026 0 0 1-.153-2.642l-1.388-.694A3 3 0 0 1 1 8.764V8a1 1 0 0 1 2 0v.764a1 1 0 0 0 .553.894l.972.486c.146-.382.32-.751.522-1.103A3 3 0 0 1 4 6.764V5a1 1 0 0 1 2 0v1.764a1 1 0 0 0 .256.668c.233-.241.482-.467.744-.677ZM12 7a6 6 0 0 0-1 11.917V10a1 1 0 1 1 2 0v8.917A6.002 6.002 0 0 0 12 7Z\",\"M12.004 7.83a4 4 0 0 1 7.993 0A9.967 9.967 0 0 0 16 7c-1.42 0-2.773.296-3.996.83ZM10 9V8a6 6 0 0 1 12 0v1c.574.43 1.1.922 1.569 1.464A1 1 0 0 0 24 9.642V7a1 1 0 1 1 2 0v2.642a3 3 0 0 1-1.28 2.458c.333.593.609 1.224.817 1.885l1.993-1.245a1 1 0 0 0 .47-.848V10a1 1 0 1 1 2 0v1.892a3 3 0 0 1-1.41 2.543l-2.632 1.645a10.132 10.132 0 0 1-.127 2.76l2.759 1.724A3 3 0 0 1 30 23.108V25a1 1 0 1 1-2 0v-1.892a1 1 0 0 0-.47-.848l-2.29-1.43a9.982 9.982 0 0 1-.966 1.787l.316.197A3 3 0 0 1 26 25.358V28a1 1 0 1 1-2 0v-2.642a1 1 0 0 0-.47-.848l-.554-.346A9.967 9.967 0 0 1 16 27a9.967 9.967 0 0 1-6.976-2.835l-.554.346a1 1 0 0 0-.47.848V28a1 1 0 1 1-2 0v-2.642a3 3 0 0 1 1.41-2.544l.316-.197a9.978 9.978 0 0 1-.966-1.787l-2.29 1.43a1 1 0 0 0-.47.848V25a1 1 0 1 1-2 0v-1.892a3 3 0 0 1 1.41-2.544l2.759-1.724a10.057 10.057 0 0 1-.127-2.76L3.41 14.436A3 3 0 0 1 2 11.891V10a1 1 0 0 1 2 0v1.892a1 1 0 0 0 .47.848l1.993 1.245a9.92 9.92 0 0 1 .818-1.885A3 3 0 0 1 6 9.642V7a1 1 0 0 1 2 0v2.642a1 1 0 0 0 .431.822C8.901 9.922 9.426 9.43 10 9Zm6 0a8 8 0 0 0-1 15.938V13a1 1 0 1 1 2 0v11.938A8.001 8.001 0 0 0 16 9Z\"]];","export default [[\"<path d='M3 4.05V3.5a2.5 2.5 0 0 1 5 0V4a4 4 0 0 0-3.553 5.839 3.51 3.51 0 0 1-1.983-1.596l-.318.318A.5.5 0 0 0 2 8.914V9.5a.5.5 0 0 1-1 0v-.586c0-.398.158-.78.44-1.06l.634-.635a3.515 3.515 0 0 1 0-1.438l-.635-.635A1.5 1.5 0 0 1 1 4.086V3.5a.5.5 0 0 1 1 0v.586a.5.5 0 0 0 .146.353l.318.318c.149-.258.329-.495.536-.706Zm1.01-.718A3.486 3.486 0 0 1 5.5 3a3.5 3.5 0 0 1 1.49.332 1.5 1.5 0 0 0-2.98 0Zm5.931 1.17a3.974 3.974 0 0 0-.943-.376.497.497 0 0 0 .002-.04V3.5a.5.5 0 0 1 1 0v.586a1.5 1.5 0 0 1-.059.416Z'></path><path d='M11 8a2.98 2.98 0 0 1-.555 1.738l1.409 1.408a.5.5 0 1 1-.708.707l-1.408-1.408A3 3 0 1 1 11 8Zm-3 2a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z'></path>\",\"<g clip-path='url(#a)'><path d='M4.009 4.25H4V3.5a3.5 3.5 0 0 1 7 0v.75h-.009c.11.09.218.186.32.285l.413-.206A.5.5 0 0 0 12 3.882V2.5a.5.5 0 0 1 1 0v1.382a1.5 1.5 0 0 1-.83 1.342l-.184.092c.238.335.44.698.598 1.083l1.14-.57A.5.5 0 0 0 14 5.382V4.5a.5.5 0 1 1 1 0v.882a1.5 1.5 0 0 1-.83 1.342l-.733.367a4.5 4.5 0 1 0-5.769 6.907 5.481 5.481 0 0 1-3.98-1.533l-.412.206a.5.5 0 0 0-.276.447V14.5a.5.5 0 0 1-1 0v-1.382a1.5 1.5 0 0 1 .83-1.342l.185-.092a5.49 5.49 0 0 1-.6-1.083l-1.139.57a.5.5 0 0 0-.276.447v.882a.5.5 0 0 1-1 0v-.882a1.5 1.5 0 0 1 .83-1.342l1.287-.643a5.523 5.523 0 0 1 0-2.266L.829 6.724A1.5 1.5 0 0 1 0 5.382V4.5a.5.5 0 0 1 1 0v.882a.5.5 0 0 0 .276.447l1.14.57c.159-.385.36-.748.599-1.083l-.186-.092A1.5 1.5 0 0 1 2 3.882V2.5a.5.5 0 0 1 1 0v1.382a.5.5 0 0 0 .276.447l.412.206a5.76 5.76 0 0 1 .32-.285ZM5 3.5v.1c.75-.384 1.6-.6 2.5-.6.9 0 1.75.216 2.5.6v-.1a2.5 2.5 0 1 0-5 0Z'></path><path d='M14 10.5c0 .786-.26 1.512-.697 2.096l2.55 2.55a.5.5 0 0 1-.707.708l-2.55-2.55A3.5 3.5 0 1 1 14 10.5ZM10.5 13a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z'></path></g><defs><clipPath id='a'><path d='M0 0h16v16H0z'></path></clipPath></defs>\",\"<path d='M7 6.755V6a5 5 0 1 1 10 0v.755c.262.21.51.436.744.677A1 1 0 0 0 18 6.764V5a1 1 0 1 1 2 0v1.764a3 3 0 0 1-.908 2.15 7.5 7.5 0 0 0-8.905 11.88 7.972 7.972 0 0 1-3.284-1.628l-.35.176a1 1 0 0 0-.553.894V22a1 1 0 1 1-2 0v-1.764a3 3 0 0 1 1.486-2.59 8.003 8.003 0 0 1-.595-.973l-1.338.669a1 1 0 0 0-.553.894V19a1 1 0 1 1-2 0v-.764a3 3 0 0 1 1.658-2.683l1.541-.77a8.027 8.027 0 0 1-.153-2.642l-1.388-.694A3 3 0 0 1 1 8.764V8a1 1 0 0 1 2 0v.764a1 1 0 0 0 .553.894l.972.486c.146-.382.32-.751.522-1.103A3 3 0 0 1 4 6.764V5a1 1 0 0 1 2 0v1.764a1 1 0 0 0 .256.668c.233-.241.482-.467.744-.677Zm2.03-1.186A7.979 7.979 0 0 1 12 5c1.05 0 2.051.202 2.97.57a3 3 0 0 0-5.94 0Zm12.65 5.681a7.54 7.54 0 0 0-1.384-1.516l.151-.076A1 1 0 0 0 21 8.764V8a1 1 0 1 1 2 0v.764a3 3 0 0 1-1.32 2.485Z'></path><path d='M10 15.5a5.5 5.5 0 1 1 10.032 3.117l3.675 3.676a1 1 0 0 1-1.414 1.414l-3.675-3.675A5.5 5.5 0 0 1 10 15.5Zm5.5-3.5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M10 9V8a6 6 0 0 1 12 0v1c.574.43 1.1.922 1.569 1.464a1 1 0 0 0 .43-.822V7a1 1 0 0 1 2 0v2.642a3 3 0 0 1-1.28 2.458c.26.46.483.943.668 1.444A8.5 8.5 0 0 0 14.96 26.946a9.967 9.967 0 0 1-5.936-2.781l-.554.346a1 1 0 0 0-.47.848V28a1 1 0 1 1-2 0v-2.642a3 3 0 0 1 1.41-2.544l.316-.197a9.978 9.978 0 0 1-.967-1.787L4.47 22.26a1 1 0 0 0-.47.848V25a1 1 0 1 1-2 0v-1.892a3 3 0 0 1 1.41-2.544l2.759-1.724a10.057 10.057 0 0 1-.127-2.76L3.41 14.436A3 3 0 0 1 2 11.891V10a1 1 0 0 1 2 0v1.892a1 1 0 0 0 .47.848l1.993 1.245a9.92 9.92 0 0 1 .818-1.885A3 3 0 0 1 6 9.642V7a1 1 0 1 1 2 0v2.642a1 1 0 0 0 .431.822C8.9 9.922 9.426 9.43 10 9Zm2.004-1.17A9.966 9.966 0 0 1 16 7a9.97 9.97 0 0 1 3.996.83 4 4 0 0 0-7.992 0Zm15.215 7.463a8.553 8.553 0 0 0-1.443-1.457l1.754-1.097a1 1 0 0 0 .47-.848V10a1 1 0 0 1 2 0v1.892a3 3 0 0 1-1.41 2.543l-1.371.858Z'></path><path d='M14 20.5a6.5 6.5 0 1 1 11.749 3.835l4.958 4.958a1 1 0 0 1-1.414 1.414l-4.958-4.958A6.5 6.5 0 0 1 14 20.5Zm6.5-4.5a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9Z'></path>\"],[\"<path d='M3 4.05V3.5a2.5 2.5 0 0 1 5 0V4c-.494 0-.966.09-1.403.253A2.49 2.49 0 0 0 5.5 4 2.496 2.496 0 0 0 3 6.5c0 .833.408 1.571 1.034 2.025.062.469.204.911.413 1.314a3.51 3.51 0 0 1-1.983-1.596l-.318.318A.5.5 0 0 0 2 8.914V9.5a.5.5 0 0 1-1 0v-.586c0-.398.158-.78.44-1.06l.634-.635a3.515 3.515 0 0 1 0-1.438l-.635-.635A1.5 1.5 0 0 1 1 4.086V3.5a.5.5 0 0 1 1 0v.586a.5.5 0 0 0 .146.353l.318.318c.149-.258.329-.495.536-.706Zm1.01-.718A3.486 3.486 0 0 1 5.5 3a3.5 3.5 0 0 1 1.49.332 1.5 1.5 0 0 0-2.98 0Zm5.931 1.17a3.974 3.974 0 0 0-.943-.376.497.497 0 0 0 .002-.04V3.5a.5.5 0 0 1 1 0v.586a1.5 1.5 0 0 1-.059.416Z'></path><path d='M11 8a2.98 2.98 0 0 1-.555 1.738l1.409 1.408a.5.5 0 1 1-.708.707l-1.408-1.408A3 3 0 1 1 11 8Zm-3 2a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z'></path>\",\"<g clip-path='url(#a)'><path d='M4.009 4.25H4V3.5a3.5 3.5 0 0 1 7 0v.75h-.009c.11.09.218.186.32.285l.413-.206A.5.5 0 0 0 12 3.882V2.5a.5.5 0 0 1 1 0v1.382a1.5 1.5 0 0 1-.83 1.342l-.184.092c.238.335.44.698.598 1.083l1.14-.57A.5.5 0 0 0 14 5.382V4.5a.5.5 0 1 1 1 0v.882a1.5 1.5 0 0 1-.83 1.342l-.733.367a4.483 4.483 0 0 0-2.15-1.022 4.5 4.5 0 1 0-4.575 6.863c.26.404.584.764.956 1.066a5.481 5.481 0 0 1-3.98-1.533l-.412.206a.5.5 0 0 0-.276.447V14.5a.5.5 0 0 1-1 0v-1.382a1.5 1.5 0 0 1 .83-1.342l.185-.092a5.49 5.49 0 0 1-.6-1.083l-1.139.57a.5.5 0 0 0-.276.447v.882a.5.5 0 0 1-1 0v-.882a1.5 1.5 0 0 1 .83-1.342l1.287-.643a5.523 5.523 0 0 1 0-2.266L.829 6.724A1.5 1.5 0 0 1 0 5.382V4.5a.5.5 0 0 1 1 0v.882a.5.5 0 0 0 .276.447l1.14.57c.159-.385.36-.748.599-1.083l-.186-.092A1.5 1.5 0 0 1 2 3.882V2.5a.5.5 0 0 1 1 0v1.382a.5.5 0 0 0 .276.447l.412.206a5.76 5.76 0 0 1 .32-.285ZM5 3.5v.1c.75-.384 1.6-.6 2.5-.6.9 0 1.75.216 2.5.6v-.1a2.5 2.5 0 1 0-5 0Z'></path><path d='M8 6.5v.258a4.525 4.525 0 0 0-1 .913V6.5a.5.5 0 0 1 1 0Zm6 4c0 .786-.26 1.512-.697 2.096l2.55 2.55a.5.5 0 0 1-.707.708l-2.55-2.55A3.5 3.5 0 1 1 14 10.5ZM10.5 13a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z'></path></g><defs><clipPath id='a'><path d='M0 0h16v16H0z'></path></clipPath></defs>\",\"<path d='M7 6.755V6a5 5 0 1 1 10 0v.755c.262.21.51.436.744.677A1 1 0 0 0 18 6.764V5a1 1 0 1 1 2 0v1.764a3 3 0 0 1-.908 2.15 7.467 7.467 0 0 0-3.771-.912 6 6 0 0 0-6.974 9.758 7.497 7.497 0 0 0 1.84 3.034 7.972 7.972 0 0 1-3.284-1.628l-.35.176a1 1 0 0 0-.553.894V22a1 1 0 1 1-2 0v-1.764a3 3 0 0 1 1.486-2.59 8.003 8.003 0 0 1-.595-.973l-1.338.669a1 1 0 0 0-.553.894V19a1 1 0 1 1-2 0v-.764a3 3 0 0 1 1.658-2.683l1.541-.77a8.027 8.027 0 0 1-.153-2.642l-1.388-.694A3 3 0 0 1 1 8.764V8a1 1 0 0 1 2 0v.764a1 1 0 0 0 .553.894l.972.486c.146-.382.32-.751.522-1.103A3 3 0 0 1 4 6.764V5a1 1 0 0 1 2 0v1.764a1 1 0 0 0 .256.668c.233-.241.482-.467.744-.677Zm2.03-1.186A7.979 7.979 0 0 1 12 5c1.05 0 2.051.202 2.97.57a3 3 0 0 0-5.94 0Zm12.65 5.681a7.54 7.54 0 0 0-1.384-1.516l.151-.076A1 1 0 0 0 21 8.764V8a1 1 0 1 1 2 0v.764a3 3 0 0 1-1.32 2.485Z'></path><path d='M10 15.5a5.5 5.5 0 1 1 10.032 3.117l3.675 3.676a1 1 0 0 1-1.414 1.414l-3.675-3.675A5.5 5.5 0 0 1 10 15.5Zm5.5-3.5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M10 9V8a6 6 0 0 1 12 0v1c.574.43 1.1.922 1.569 1.464a1 1 0 0 0 .43-.822V7a1 1 0 0 1 2 0v2.642a3 3 0 0 1-1.28 2.458c.26.46.483.943.668 1.444a8.459 8.459 0 0 0-2.974-1.328 8 8 0 1 0-9.47 12.18 8.535 8.535 0 0 0 2.017 2.55 9.967 9.967 0 0 1-5.936-2.782l-.554.346a1 1 0 0 0-.47.848V28a1 1 0 1 1-2 0v-2.642a3 3 0 0 1 1.41-2.544l.316-.197a9.978 9.978 0 0 1-.967-1.787L4.47 22.26a1 1 0 0 0-.47.848V25a1 1 0 1 1-2 0v-1.892a3 3 0 0 1 1.41-2.544l2.759-1.724a10.057 10.057 0 0 1-.127-2.76L3.41 14.436A3 3 0 0 1 2 11.891V10a1 1 0 0 1 2 0v1.892a1 1 0 0 0 .47.848l1.993 1.245a9.92 9.92 0 0 1 .818-1.885A3 3 0 0 1 6 9.642V7a1 1 0 1 1 2 0v2.642a1 1 0 0 0 .431.822C8.9 9.922 9.426 9.43 10 9Zm2.004-1.17A9.966 9.966 0 0 1 16 7a9.97 9.97 0 0 1 3.996.83 4 4 0 0 0-7.992 0Zm15.215 7.463 1.37-.857A3 3 0 0 0 30 11.891V10a1 1 0 1 0-2 0v1.892a1 1 0 0 1-.47.848l-1.753 1.095a8.553 8.553 0 0 1 1.443 1.458Z'></path><path d='M14 20.5a6.5 6.5 0 1 1 11.749 3.835l4.958 4.958a1 1 0 0 1-1.414 1.414l-4.958-4.958A6.5 6.5 0 0 1 14 20.5Zm6.5-4.5a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9Z'></path>\"]];","export default [[\"M3.5 1A1.5 1.5 0 0 0 2 2.5V10h-.5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1H10V2.5A1.5 1.5 0 0 0 8.5 1h-5ZM8 10V7.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5V10h1V8h2v2h1ZM4.5 3a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Zm3.5.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1Z\",\"M4.5 1A1.5 1.5 0 0 0 3 2.5V14H1.5a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1H13V2.5A1.5 1.5 0 0 0 11.5 1h-7ZM10 14v-2.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5V14h1v-2h2v2h1ZM6 3.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1ZM6.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM9 3.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1ZM9.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Z\",\"M7 2a3 3 0 0 0-3 3v15H3a1 1 0 1 0 0 2h18a1 1 0 1 0 0-2h-1V5a3 3 0 0 0-3-3H7Zm8 18v-4a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v4h2v-3h2v3h2ZM8 7a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V7Zm1 3a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1H9Zm4-3a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V7Zm1 3a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1h-1Z\",\"M8 2a3 3 0 0 0-3 3v23H3a1 1 0 1 0 0 2h26a1 1 0 1 0 0-2h-2V5a3 3 0 0 0-3-3H8Zm12 26v-3a3 3 0 0 0-3-3h-2a3 3 0 0 0-3 3v3h2v-3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3h2ZM11 7a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-3Zm7 0a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-3Zm-1 8a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-3a1 1 0 0 1-1-1v-3Zm-6-1a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-3Z\"],[\"<path d='M4.5 3a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Zm3.5.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1Z'></path><path d='M1.5 11a.5.5 0 0 1 0-1H2V2.5A1.5 1.5 0 0 1 3.5 1h5A1.5 1.5 0 0 1 10 2.5V10h.5a.5.5 0 0 1 0 1h-9Zm2-9a.5.5 0 0 0-.5.5V10h1V7.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5V10h1V2.5a.5.5 0 0 0-.5-.5h-5ZM7 10V8H5v2h2Z'></path>\",\"<path d='M6 3.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1ZM6.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM9 3.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1ZM9.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Z'></path><path d='M3 2.5A1.5 1.5 0 0 1 4.5 1h7A1.5 1.5 0 0 1 13 2.5V14h1.5a.5.5 0 0 1 0 1h-13a.5.5 0 0 1 0-1H3V2.5ZM4 14h2v-2.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5V14h2V2.5a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5V14Zm5 0v-2H7v2h2Z'></path>\",\"<path d='M8 7a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V7Zm1 3a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1H9Zm4-3a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V7Zm1 3a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1h-1Z'></path><path d='M4 5a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v15h1a1 1 0 1 1 0 2H3a1 1 0 1 1 0-2h1V5Zm7 15h2v-3h-2v3Zm4 0v-4a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v4H6V5a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v15h-3Z'></path>\",\"<path d='M11 7a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-3Zm7 0a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-3Zm0 7a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-3Zm-7 0a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-3Z'></path><path d='M5 5a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v23h2a1 1 0 1 1 0 2H3a1 1 0 1 1 0-2h2V5Zm9 23h4v-3a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v3Zm6 0v-3a3 3 0 0 0-3-3h-2a3 3 0 0 0-3 3v3H7V5a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v23h-5Z'></path>\"]];","export default [[\"M8 1a1 1 0 0 0-.995.902L10 4.523V2a1 1 0 0 0-1-1H8Zm2 9V5.852l-.032-.028a.5.5 0 0 0-.139-.2l-4-3.5A.5.5 0 0 0 5 2.5v1.793L2.854 2.146A.5.5 0 0 0 2 2.5V10h-.5a.5.5 0 0 0 0 1h8.995a.5.5 0 0 0 0-1H10ZM4 7.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1ZM7.5 7a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Z\",\"M11.453 1a1 1 0 0 0-.995.9l-.243 2.425 3.676 2.625-.36-5.021A1 1 0 0 0 12.535 1h-1.082Zm2.419 7.166a.498.498 0 0 0-.081-.073l-7-5A.5.5 0 0 0 6 3.5v2L2.8 3.1a.5.5 0 0 0-.8.4V14h-.5a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1H14V8.5a.5.5 0 0 0-.128-.334ZM4.5 11h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5ZM4 8.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM7.5 11h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5ZM7 8.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5 2.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5Z\",\"M15.443 2.875A2 2 0 0 1 17.44 1h2.173a2 2 0 0 1 1.998 1.93l.283 8.029-6.652-4.839.202-3.245Zm-4.031 2.934 10.57 7.688.017.468L22 14v7a1 1 0 1 1 0 2h-.895a.923.923 0 0 1-.105.005H3A.923.923 0 0 1 2.895 23H2a1 1 0 1 1 0-2V6a1 1 0 0 1 1.54-.841L9 8.669V6a1 1 0 0 1 1.588-.809l.833.606-.01.012ZM8 17a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1H8Zm-1-3v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1Zm5 3a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1h-1Zm-1-3v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1h-1a1 1 0 0 0-1 1Zm5 3a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1h-1Z\",\"M20.418 3.81A2 2 0 0 1 22.41 2h2.655a2 2 0 0 1 1.996 1.867l.746 11.194-7.92-5.657.532-5.594ZM4.553 7.106A1 1 0 0 1 5.6 7.2L12 12V8a1 1 0 0 1 1.581-.814l14 10A1 1 0 0 1 28 18v10h1a1 1 0 1 1 0 2H3a1 1 0 1 1 0-2h1V8a1 1 0 0 1 .553-.894ZM9 22a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1H9Zm-1-5v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1Zm7 5a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-2Zm-1-5v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1Zm7 5a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-2Z\"],[\"<path d='M4 7.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1ZM7.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Z'></path><path d='M7 2a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v8h.495a.5.5 0 0 1 0 1H1.5a.5.5 0 0 1 0-1H2V2.5a.5.5 0 0 1 .854-.354L5 4.293V2.5a.5.5 0 0 1 .83-.376L7 3.148V2Zm-4 8h6V6.227L7.026 4.5H7v-.023l-1-.875V5.5a.5.5 0 0 1-.854.354L3 3.707V10Zm6-8H8v2.023l1 .875V2Z'></path>\",\"<path d='M4.5 11a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM4 8.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM7.5 11a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM7 8.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5 2.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Z'></path><path d='M11.453 1a1 1 0 0 0-.995.9l-.356 3.558L6.79 3.093A.5.5 0 0 0 6 3.5v2L2.8 3.1a.5.5 0 0 0-.8.4V14h-.5a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1H14V8.5c0-.04-.005-.08-.014-.118L13.53 1.93a1 1 0 0 0-.997-.93h-1.082Zm1.466 6.47-1.88-1.342L11.454 2h1.081l.385 5.47ZM13 14H3V4.5l3.2 2.4a.5.5 0 0 0 .8-.4V4.472l6 4.285V14Z'></path>\",\"<path d='M7 18a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-1Zm1-5a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1H8Zm3 5a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-1Zm1-5a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1h-1Zm3 5a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-1Z'></path><path d='M17.44 1a2 2 0 0 0-1.997 1.875l-.35 5.593-4.505-3.277A1 1 0 0 0 9 6v2.668l-5.46-3.51A1 1 0 0 0 2 6v15a1 1 0 1 0 0 2h.895c.035.004.07.005.105.005h18c.035 0 .07-.001.105-.005H22a1 1 0 1 0 0-2v-7c0-.056-.005-.111-.014-.165L21.61 2.93a2 2 0 0 0-2-1.931h-2.17ZM20 21H4V7.832l5.46 3.51A1 1 0 0 0 11 10.5V7.964l9 6.545V21Zm-.079-9.021-2.91-2.117L17.439 3h2.172l.31 8.979Z'></path>\",\"<path d='M9 22a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1H9Zm-1-5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1v-2Zm7 5a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-2Zm-1-5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1v-2Zm7 5a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-2Z'></path><path d='M20.418 3.81A2 2 0 0 1 22.41 2h2.655a2 2 0 0 1 1.996 1.867l.938 14.063L28 18v10h1a1 1 0 1 1 0 2H3a1 1 0 1 1 0-2h1V8a1 1 0 0 1 1.6-.8L12 12V8a1 1 0 0 1 1.581-.814l6.1 4.358.737-7.734ZM6 28h20v-9.485L14 9.943V14a1 1 0 0 1-1.6.8L6 10v18ZM25.064 4H22.41l-.846 8.887 4.299 3.071L25.064 4Z'></path>\"]];","export default [[\"<path d='M7 .5a.5.5 0 0 1 .5-.5A4.5 4.5 0 0 1 12 4.5a.5.5 0 0 1-1 0A3.5 3.5 0 0 0 7.5 1 .5.5 0 0 1 7 .5Z'></path><path d='M7 2.5a.5.5 0 0 1 .5-.5A2.5 2.5 0 0 1 10 4.5a.5.5 0 0 1-1 0A1.5 1.5 0 0 0 7.5 3a.5.5 0 0 1-.5-.5ZM7.5 5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1ZM0 11V4.5A1.5 1.5 0 0 1 1.5 3h3A1.5 1.5 0 0 1 6 4.5V10h.5a.5.5 0 0 1 0 1H0Zm4-1H2V8.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5V10ZM2 5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1A.5.5 0 0 1 2 5Zm2.5.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1Z'></path>\",\"<path d='M10 1.5a.5.5 0 0 1 .5-.5A4.5 4.5 0 0 1 15 5.5a.5.5 0 0 1-1 0A3.5 3.5 0 0 0 10.5 2a.5.5 0 0 1-.5-.5Z'></path><path d='M10 3.5a.5.5 0 0 1 .5-.5A2.5 2.5 0 0 1 13 5.5a.5.5 0 0 1-1 0A1.5 1.5 0 0 0 10.5 4a.5.5 0 0 1-.5-.5Zm.5 2.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1ZM0 14.5a.5.5 0 0 1 .5-.5H1V3.5A1.5 1.5 0 0 1 2.5 2h5A1.5 1.5 0 0 1 9 3.5V14h.5a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Zm3-.5h4v-2.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5V14Zm.5-10a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Zm0 3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Zm3-3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Zm0 3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Z'></path>\",\"<path d='M15 1a1 1 0 1 0 0 2 7 7 0 0 1 7 7 1 1 0 1 0 2 0 9 9 0 0 0-9-9ZM4 5a3 3 0 0 0-3 3v13a1 1 0 1 0 0 2h13a1 1 0 1 0 0-2h-1V8a3 3 0 0 0-3-3H4Zm6 16H4v-2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2ZM4.5 9a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM4.5 13a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Z'></path><path d='M15 11a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm-1-5a1 1 0 0 1 1-1 5 5 0 0 1 5 5 1 1 0 1 1-2 0 3 3 0 0 0-3-3 1 1 0 0 1-1-1Z'></path>\",\"<path d='M22 2a1 1 0 1 0 0 2 7 7 0 0 1 7 7 1 1 0 1 0 2 0 9 9 0 0 0-9-9Z'></path><path d='M21 7a1 1 0 0 1 1-1 5 5 0 0 1 5 5 1 1 0 1 1-2 0 3 3 0 0 0-3-3 1 1 0 0 1-1-1Zm2 4a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM6 8a3 3 0 0 0-3 3v17H2a1 1 0 1 0 0 2h20a1 1 0 1 0 0-2h-3V11a3 3 0 0 0-3-3H6Zm9 20v-2a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v2h8ZM7.5 13a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm4.5.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM7.5 18a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm4.5.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Z'></path>\"],[\"<path d='M7.5 0a.5.5 0 0 0 0 1A3.5 3.5 0 0 1 11 4.5a.5.5 0 0 0 1 0A4.5 4.5 0 0 0 7.5 0Z'></path><path d='M7.5 2a.5.5 0 0 0 0 1A1.5 1.5 0 0 1 9 4.5a.5.5 0 0 0 1 0A2.5 2.5 0 0 0 7.5 2ZM8 4.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM2 5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1A.5.5 0 0 1 2 5Zm2.5.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1Z'></path><path d='M0 11V4.5A1.5 1.5 0 0 1 1.5 3h3A1.5 1.5 0 0 1 6 4.5V10h.5a.5.5 0 0 1 0 1H0Zm1-6.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5V10H4V8.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5V10H1V4.5Z'></path>\",\"<path d='M10.5 1a.5.5 0 0 0 0 1A3.5 3.5 0 0 1 14 5.5a.5.5 0 0 0 1 0A4.5 4.5 0 0 0 10.5 1Z'></path><path d='M10.5 3a.5.5 0 0 0 0 1A1.5 1.5 0 0 1 12 5.5a.5.5 0 0 0 1 0A2.5 2.5 0 0 0 10.5 3Zm.5 2.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm-8-1a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1ZM3.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM6 4.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1ZM6.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Z'></path><path d='M2.5 2A1.5 1.5 0 0 0 1 3.5V14H.5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1H9V3.5A1.5 1.5 0 0 0 7.5 2h-5ZM8 14V3.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5V14h1v-2.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5V14h1Zm-2 0v-2H4v2h2Z'></path>\",\"<path d='M15 1a1 1 0 1 0 0 2 7 7 0 0 1 7 7 1 1 0 1 0 2 0 9 9 0 0 0-9-9ZM4.5 9a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM4.5 13a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Z'></path><path d='M4 5a3 3 0 0 0-3 3v13a1 1 0 1 0 0 2h13a1 1 0 1 0 0-2h-1V8a3 3 0 0 0-3-3H4Zm4 16H6v-2h2v2Zm2-2v2h1V8a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v13h1v-2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2Zm5-8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm-1-5a1 1 0 0 1 1-1 5 5 0 0 1 5 5 1 1 0 1 1-2 0 3 3 0 0 0-3-3 1 1 0 0 1-1-1Z'></path>\",\"<path d='M22 2a1 1 0 1 0 0 2 7 7 0 0 1 7 7 1 1 0 1 0 2 0 9 9 0 0 0-9-9Z'></path><path d='M21 7a1 1 0 0 1 1-1 5 5 0 0 1 5 5 1 1 0 1 1-2 0 3 3 0 0 0-3-3 1 1 0 0 1-1-1ZM7.5 13a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm4.5.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM7.5 18a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm4.5.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Z'></path><path d='M6 8a3 3 0 0 0-3 3v17H2a1 1 0 1 0 0 2h20a1 1 0 1 0 0-2h-3V11a3 3 0 0 0-3-3H6Zm7 20H9v-2h4v2Zm2-2v2h2V11a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v17h2v-2a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2Zm7-14a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path>\"]];","export default [[\"<path d='M4 8h4V7H4v1Z'></path><path d='M7.049 1.427a1.5 1.5 0 0 0-2.098 0l-3.5 3.423A1.5 1.5 0 0 0 1 5.922v3.58a1.5 1.5 0 0 0 1.5 1.5h7a1.5 1.5 0 0 0 1.5-1.5v-3.58a1.5 1.5 0 0 0-.451-1.072l-3.5-3.423ZM3 6.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5V10H8V9H4v1H3V6.5Z'></path>\",\"<path d='M11 12v-1H5v1h6Zm0-2H5V9h6v1Z'></path><path d='m2.451 6.83 4.5-4.402a1.5 1.5 0 0 1 2.098 0l4.5 4.403A1.5 1.5 0 0 1 14 7.903V13.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 13.5V7.903c0-.404.163-.79.451-1.072ZM4.5 8a.5.5 0 0 0-.5.5V14h1v-1h6v1h1V8.5a.5.5 0 0 0-.5-.5h-7Z'></path>\",\"<path d='M16 17v-1H8v1h8Zm0-3H8v-1h8v1Z'></path><path d='M9.496 2.841a3 3 0 0 1 4.035-.111l7.425 6.387A3 3 0 0 1 22 11.39V19a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3v-7.676a3 3 0 0 1 .92-2.163l6.576-6.32ZM7 11a1 1 0 0 0-1 1v8h2v-1h8v1h2v-8a1 1 0 0 0-1-1H7Z'></path>\",\"<path d='M23 24H9v-2h14v2Zm0-4v-2H9v2h14Z'></path><path d='M13.568 2.869a3 3 0 0 1 3.877-.074l11.45 9.33A3 3 0 0 1 30 14.451v12.55a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V14.405a3 3 0 0 1 1.018-2.252l10.55-9.284ZM8 16a1 1 0 0 0-1 1v11h2v-2h14v2h2V17a1 1 0 0 0-1-1H8Z'></path>\"],[\"M4.951 1.427a1.5 1.5 0 0 1 2.098 0l3.5 3.423A1.5 1.5 0 0 1 11 5.922v3.58a1.5 1.5 0 0 1-1.5 1.5h-7a1.5 1.5 0 0 1-1.5-1.5v-3.58c0-.403.163-.79.451-1.072l3.5-3.423Zm1.399.716a.5.5 0 0 0-.7 0l-3.5 3.422a.5.5 0 0 0-.15.357v3.58a.5.5 0 0 0 .5.5H3V6.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5V10h.5a.5.5 0 0 0 .5-.5V5.922a.5.5 0 0 0-.15-.357l-3.5-3.423ZM4 9v1h4V9H4Zm0-1h4V7H4v1Z\",\"M9.049 2.429a1.5 1.5 0 0 0-2.098 0l-4.5 4.403A1.5 1.5 0 0 0 2 7.904v5.598a1.5 1.5 0 0 0 1.5 1.5h9a1.5 1.5 0 0 0 1.5-1.5V7.904a1.5 1.5 0 0 0-.451-1.072l-4.5-4.403Zm-1.399.715a.5.5 0 0 1 .7 0l4.5 4.402a.5.5 0 0 1 .15.358v5.598a.5.5 0 0 1-.5.5H12V8.5a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5v5.502h-.5a.5.5 0 0 1-.5-.5V7.904a.5.5 0 0 1 .15-.358l4.5-4.402ZM5 12v-1h6v1H5Zm0 1h6v1H5v-1Zm6-3H5V9h6v1Z\",\"M13.531 2.729a3 3 0 0 0-4.035.111L2.92 9.161A3 3 0 0 0 2 11.324V19a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-7.61a3 3 0 0 0-1.044-2.274l-7.425-6.387Zm-2.65 1.553a1 1 0 0 1 1.346-.037l7.425 6.387a1 1 0 0 1 .348.758V19a1 1 0 0 1-1 1h-1v-8a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v8H5a1 1 0 0 1-1-1v-7.676a1 1 0 0 1 .307-.721l6.575-6.321ZM8 17v-1h8v1H8Zm0 2h8v1H8v-1Zm8-5H8v-1h8v1Z\",\"M5 30a3 3 0 0 1-3-3V14.404a3 3 0 0 1 1.018-2.252l10.55-9.284a3 3 0 0 1 3.877-.074l11.45 9.33A3 3 0 0 1 30 14.45V27a3 3 0 0 1-3 3H5Zm9.89-25.63L4.34 13.652a1 1 0 0 0-.34.75V27a1 1 0 0 0 1 1h2V17a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v11h2a1 1 0 0 0 1-1V14.45a1 1 0 0 0-.368-.775l-11.45-9.33a1 1 0 0 0-1.293.024ZM9 28h14v-2H9v2Zm0-4h14v-2H9v2Zm0-4h14v-2H9v2Z\"]];","export default [[\"<path d='M10 .5a.5.5 0 0 0-.854-.354l-2 2A.5.5 0 0 0 7 2.5v1.793l-.741.74a1.001 1.001 0 1 0 .707.708L7.707 5H9.5a.5.5 0 0 0 .354-.146l2-2A.5.5 0 0 0 11.5 2H10V.5Z'></path><path d='M6 1c.277 0 .548.023.813.066l-.374.373a1.5 1.5 0 0 0-.354.562L6 2a4 4 0 1 0 4 3.915 1.5 1.5 0 0 0 .56-.354l.374-.374A5 5 0 1 1 6 1Z'></path><path d='M3 6a3 3 0 0 1 3-3v1a2 2 0 1 0 2 2h1a3 3 0 0 1-6 0Z'></path>\",\"<path d='M13 .5a.5.5 0 0 0-.854-.354l-3 3A.5.5 0 0 0 9 3.5v2.793l-.741.74a1.001 1.001 0 1 0 .707.708L9.707 7H12.5a.5.5 0 0 0 .354-.146l3-3A.5.5 0 0 0 15.5 3H13V.5Z'></path><path d='M8 1c.578 0 1.14.07 1.677.202l-.854.854a6 6 0 1 0 5.121 5.121l.854-.854A7 7 0 1 1 8 1Z'></path><path d='M4 8a4 4 0 0 1 4-4v1a3 3 0 1 0 3 3h1a4 4 0 1 1-8 0Z'></path>\",\"<path d='M20 1a1 1 0 0 0-1.707-.707l-4 4A1 1 0 0 0 14 5v3.763l-1.347 1.346a2 2 0 1 0 1.237 1.237L15.238 10H19a1 1 0 0 0 .707-.293l4-4A1 1 0 0 0 23 4h-3V1Z'></path><path d='M14.535 1.294A11.031 11.031 0 0 0 12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11c0-.873-.102-1.721-.294-2.535l-1.513 1.514c-.073.073-.15.142-.23.206a9 9 0 1 1-8.149-8.149c.066-.08.134-.156.207-.229l1.514-1.513Z'></path><path d='M12.143 5.502a6.5 6.5 0 1 0 6.356 6.356h-2.001L16.5 12a4.5 4.5 0 1 1-4.357-4.498v-2Z'></path>\",\"<path d='M26 2a1 1 0 0 0-1.707-.707l-5 5A1 1 0 0 0 19 7v4.586l-1.707 1.706a3 3 0 1 0 1.414 1.414L20.415 13H25a1 1 0 0 0 .707-.293l5-5A1 1 0 0 0 30 6h-4V2Z'></path><path d='M16 2c1.44 0 2.829.217 4.136.621l-1.639 1.64A12.05 12.05 0 0 0 16 4C9.373 4 4 9.373 4 16s5.373 12 12 12 12-5.373 12-12c0-.856-.09-1.692-.26-2.497l1.639-1.64A14 14 0 0 1 30 16c0 7.732-6.268 14-14 14S2 23.732 2 16 8.268 2 16 2Z'></path><path d='M16 7.5c.338 0 .672.02 1 .058v2.018A6.5 6.5 0 1 0 22.424 15h2.018A8.5 8.5 0 1 1 16 7.5Z'></path>\"],[\"<path d='M10 .5a.5.5 0 0 0-.854-.354l-2 2A.5.5 0 0 0 7 2.5v1.793l-.741.74a1.001 1.001 0 1 0 .707.708L7.707 5H9.5a.5.5 0 0 0 .354-.146l2-2A.5.5 0 0 0 11.5 2H10V.5ZM8 4V2.707l1-1V2.5a.5.5 0 0 0 .5.5h.793l-1 1H8Z'></path><path d='M6 1c.277 0 .548.023.813.066l-.374.373a1.5 1.5 0 0 0-.354.562L6 2a4 4 0 1 0 4 3.915 1.5 1.5 0 0 0 .56-.354l.374-.374A5 5 0 1 1 6 1Z'></path><path d='M3 6a3 3 0 0 1 3-3v1a2 2 0 1 0 2 2h1a3 3 0 0 1-6 0Z'></path>\",\"<path d='M13 .5a.5.5 0 0 0-.854-.354l-3 3A.5.5 0 0 0 9 3.5v2.793l-.741.74a1.001 1.001 0 1 0 .707.708L9.707 7H12.5a.5.5 0 0 0 .354-.146l3-3A.5.5 0 0 0 15.5 3H13V.5ZM10.707 6l2-2h1.586l-2 2h-1.586ZM12 3.293l-2 2V3.707l2-2v1.586Z'></path><path d='M8 1c.578 0 1.14.07 1.677.202l-.854.854a6 6 0 1 0 5.121 5.121l.854-.854A7 7 0 1 1 8 1Z'></path><path d='M4 8a4 4 0 0 1 4-4v1a3 3 0 1 0 3 3h1a4 4 0 1 1-8 0Z'></path>\",\"<path d='M20 1a1 1 0 0 0-1.707-.707l-4 4A1 1 0 0 0 14 5v3.763l-1.347 1.346a2 2 0 1 0 1.237 1.237L15.238 10H19a1 1 0 0 0 .707-.293l4-4A1 1 0 0 0 23 4h-3V1Zm-4 5.94V5l2-1.964V4.94l-2 2ZM17.06 8l2-2h1.904L19 8h-1.94Z'></path><path d='M14.535 1.294A11.031 11.031 0 0 0 12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11c0-.873-.102-1.721-.294-2.535l-1.513 1.514c-.073.073-.15.142-.23.206a9 9 0 1 1-8.149-8.149c.066-.08.134-.156.207-.229l1.514-1.513Z'></path><path d='M12.143 5.502a6.5 6.5 0 1 0 6.356 6.356h-2.001L16.5 12a4.5 4.5 0 1 1-4.357-4.498v-2Z'></path>\",\"<path d='M26 2a1 1 0 0 0-1.707-.707l-5 5A1 1 0 0 0 19 7v4.586l-1.707 1.706a3 3 0 1 0 1.414 1.414L20.415 13H25a1 1 0 0 0 .707-.293l5-5A1 1 0 0 0 30 6h-4V2Zm-3.586 9 3-3h2.172l-3 3h-2.172ZM24 6.586l-3 3V7.414l3-3v2.172Z'></path><path d='M16 2c1.44 0 2.829.217 4.136.621l-1.639 1.64A12.05 12.05 0 0 0 16 4C9.373 4 4 9.373 4 16s5.373 12 12 12 12-5.373 12-12c0-.856-.09-1.692-.26-2.497l1.639-1.64A14 14 0 0 1 30 16c0 7.732-6.268 14-14 14S2 23.732 2 16 8.268 2 16 2Z'></path><path d='M16 7.5c.338 0 .672.02 1 .058v2.018A6.5 6.5 0 1 0 22.424 15h2.018A8.5 8.5 0 1 1 16 7.5Z'></path>\"]];","export default [[\"<path d='M0 1a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1v1H7v1h3v1.256A4.5 4.5 0 0 0 4.256 10H2a1 1 0 0 1-1-1V3h3V2H0V1Zm5 3h1V1H5v3Zm3.5 3a.5.5 0 0 1 .5.5V8h.5a.5.5 0 0 1 0 1H9v.5a.5.5 0 0 1-1 0V9h-.5a.5.5 0 0 1 0-1H8v-.5a.5.5 0 0 1 .5-.5Z'></path><path d='M8.5 5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM6 8.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path>\",\"<path d='M1 2a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v2h-5v1h4v1.6A5.5 5.5 0 0 0 6.022 12H3.5A1.5 1.5 0 0 1 2 10.5V5h4V4H1V2Zm8 4V2H7v4h2Zm2.5 3a.5.5 0 0 1 .5.5V11h1.5a.5.5 0 0 1 0 1H12v1.5a.5.5 0 0 1-1 0V12H9.5a.5.5 0 0 1 0-1H11V9.5a.5.5 0 0 1 .5-.5Z'></path><path d='M11.5 7a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9ZM8 11.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z'></path>\",\"<path d='M1 3a2 2 0 0 1 2-2h18a2 2 0 0 1 2 2v2h-8v2h6v1.936A8.963 8.963 0 0 0 17 8a8.963 8.963 0 0 0-4 .936V3h-2v6h1.873A9 9 0 0 0 8 17c0 .687.077 1.357.223 2H6a3 3 0 0 1-3-3V7h6V5H1V3Zm16 10a1 1 0 0 1 1 1v2h2a1 1 0 1 1 0 2h-2v2a1 1 0 1 1-2 0v-2h-2a1 1 0 1 1 0-2h2v-2a1 1 0 0 1 1-1Z'></path><path d='M17 10a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-5 7a5 5 0 1 1 10 0 5 5 0 0 1-10 0Z'></path>\",\"<path d='M2 4a2 2 0 0 1 2-2h23a2 2 0 0 1 2 2v2H19v2h8v4.2c-1.5-.767-3.2-1.2-5-1.2-6.075 0-11 4.925-11 11 0 .683.062 1.351.181 2H7a3 3 0 0 1-3-3V8h8V6H2V4Zm12 6h3V4h-3v6Zm8 7a1 1 0 0 1 1 1v3h3a1 1 0 1 1 0 2h-3v3a1 1 0 1 1-2 0v-3h-3a1 1 0 1 1 0-2h3v-3a1 1 0 0 1 1-1Z'></path><path d='M22 13a9 9 0 1 0 0 18 9 9 0 0 0 0-18Zm-7 9a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z'></path>\"],[\"<path d='M1 0a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1v6a1 1 0 0 0 1 1h2.256a4.474 4.474 0 0 1-.229-1H2V3h2v1a1 1 0 0 0 1 1h.671c.384-.31.82-.56 1.292-.73A1 1 0 0 0 7 4V3h2v1.027c.347.039.682.117 1 .23V3a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1H1Zm3 1v1H1V1h3Zm3 1V1h3v1H7ZM5 4V1h1v3H5Zm3.5 3a.5.5 0 0 1 .5.5V8h.5a.5.5 0 0 1 0 1H9v.5a.5.5 0 0 1-1 0V9h-.5a.5.5 0 0 1 0-1H8v-.5a.5.5 0 0 1 .5-.5Z'></path><path d='M8.5 5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM6 8.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path>\",\"<path d='M2 1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1v5.5A1.5 1.5 0 0 0 3.5 12h2.522a5.571 5.571 0 0 1 0-1H3.5a.5.5 0 0 1-.5-.5V5h3v1a1 1 0 0 0 1 1h1.337a5.477 5.477 0 0 1 1.64-.786c.015-.07.023-.14.023-.214V5h3v1.207c.349.099.683.23 1 .393V5a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H2Zm4 1v2H2V2h4Zm4 2V2h4v2h-4ZM9 6H7V2h2v4Zm2.5 3a.5.5 0 0 1 .5.5V11h1.5a.5.5 0 0 1 0 1H12v1.5a.5.5 0 0 1-1 0V12H9.5a.5.5 0 0 1 0-1H11V9.5a.5.5 0 0 1 .5-.5Z'></path><path d='M11.5 7a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9ZM8 11.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z'></path>\",\"<path d='M3 1a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2v9a3 3 0 0 0 3 3h2.223A9.029 9.029 0 0 1 8 17H6a1 1 0 0 1-1-1V7h4v2a2 2 0 0 0 1.38 1.902A9.034 9.034 0 0 1 12.873 9H11V3h2v5.936a8.935 8.935 0 0 1 2-.713V7h4v1.223c.701.16 1.372.4 2 .713V7a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2H3Zm6 2v2H3V3h6Zm6 2V3h6v2h-6Zm2 8a1 1 0 0 1 1 1v2h2a1 1 0 1 1 0 2h-2v2a1 1 0 1 1-2 0v-2h-2a1 1 0 1 1 0-2h2v-2a1 1 0 0 1 1-1Z'></path><path d='M17 10a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-5 7a5 5 0 1 1 10 0 5 5 0 0 1-10 0Z'></path>\",\"<path d='M4 2a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2v13a3 3 0 0 0 3 3h4.181A11.057 11.057 0 0 1 11 22H7a1 1 0 0 1-1-1V8h6v2a2 2 0 0 0 2 2h3c.235 0 .46-.04.67-.115l.197-.082A2 2 0 0 0 19 10V8h6v3.414c.697.197 1.366.462 2 .785V8a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H4Zm8 2v2H4V4h8Zm7 2V4h8v2h-8Zm-5 4V4h3v6h-3Zm8 7a1 1 0 0 1 1 1v3h3a1 1 0 1 1 0 2h-3v3a1 1 0 1 1-2 0v-3h-3a1 1 0 1 1 0-2h3v-3a1 1 0 0 1 1-1Z'></path><path d='M22 13a9 9 0 1 0 0 18 9 9 0 0 0 0-18Zm-7 9a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z'></path>\"]];","export default [[\"M4 1.5a.5.5 0 0 0-1 0V2h-.5A1.5 1.5 0 0 0 1 3.5v6A1.5 1.5 0 0 0 2.5 11h6A1.5 1.5 0 0 0 10 9.5v-6A1.5 1.5 0 0 0 8.5 2H8v-.5a.5.5 0 0 0-1 0V2H4v-.5Zm-2 8V6h7v3.5a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5Z\",\"M5 2.5a.5.5 0 0 0-1 0V3h-.5A2.5 2.5 0 0 0 1 5.5v6A2.5 2.5 0 0 0 3.5 14h8a2.5 2.5 0 0 0 2.5-2.5v-6A2.5 2.5 0 0 0 11.5 3H11v-.5a.5.5 0 0 0-1 0V3H5v-.5Zm-3 9V7h11v4.5a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 2 11.5Z\",\"M9 3a1 1 0 1 0-2 0v1H5a3 3 0 0 0-3 3v11a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3h-2V3a1 1 0 1 0-2 0v1H9V3ZM4 18v-7h16v7a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1Z\",\"M11 4a1 1 0 1 0-2 0v1H5a3 3 0 0 0-3 3v18a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3V8a3 3 0 0 0-3-3h-4V4a1 1 0 1 0-2 0v1H11V4ZM4 26V15h24v11a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1Z\"],[\"M3.5 1a.5.5 0 0 1 .5.5V2h3v-.5a.5.5 0 0 1 1 0V2h.5A1.5 1.5 0 0 1 10 3.5v6A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-6A1.5 1.5 0 0 1 2.5 2H3v-.5a.5.5 0 0 1 .5-.5ZM7 3v.5a.5.5 0 0 0 1 0V3h.5a.5.5 0 0 1 .5.5V5H2V3.5a.5.5 0 0 1 .5-.5H3v.5a.5.5 0 0 0 1 0V3h3ZM2 6v3.5a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5V6H2Z\",\"M4.5 2a.5.5 0 0 1 .5.5V3h5v-.5a.5.5 0 0 1 1 0V3h.5A2.5 2.5 0 0 1 14 5.5v6a2.5 2.5 0 0 1-2.5 2.5h-8A2.5 2.5 0 0 1 1 11.5v-6A2.5 2.5 0 0 1 3.5 3H4v-.5a.5.5 0 0 1 .5-.5ZM10 4v.5a.5.5 0 0 0 1 0V4h.5A1.5 1.5 0 0 1 13 5.5V6H2v-.5A1.5 1.5 0 0 1 3.5 4H4v.5a.5.5 0 0 0 1 0V4h5ZM2 7v4.5A1.5 1.5 0 0 0 3.5 13h8a1.5 1.5 0 0 0 1.5-1.5V7H2Z\",\"M8 2a1 1 0 0 1 1 1v1h6V3a1 1 0 1 1 2 0v1h2a3 3 0 0 1 3 3v11a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h2V3a1 1 0 0 1 1-1Zm7 4v1a1 1 0 1 0 2 0V6h2a1 1 0 0 1 1 1v2H4V7a1 1 0 0 1 1-1h2v1a1 1 0 0 0 2 0V6h6ZM4 11v7a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-7H4Z\",\"M10 3a1 1 0 0 1 1 1v1h10V4a1 1 0 1 1 2 0v1h4a3 3 0 0 1 3 3v18a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V8a3 3 0 0 1 3-3h4V4a1 1 0 0 1 1-1Zm11 4v1a1 1 0 1 0 2 0V7h4a1 1 0 0 1 1 1v5H4V8a1 1 0 0 1 1-1h4v1a1 1 0 0 0 2 0V7h10ZM4 15v11a1 1 0 0 0 1 1h22a1 1 0 0 0 1-1V15H4Z\"]];","export default [[\"<path d='M7.354 7.354a.5.5 0 1 0-.708-.708L5 8.293l-.646-.647a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0l2-2Z'></path><path d='M3.5 1a.5.5 0 0 1 .5.5V2h3v-.5a.5.5 0 0 1 1 0V2h.5A1.5 1.5 0 0 1 10 3.5v6A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-6A1.5 1.5 0 0 1 2.5 2H3v-.5a.5.5 0 0 1 .5-.5ZM2 6v3.5a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5V6H2Z'></path>\",\"<path d='M10.354 8.854a.5.5 0 0 0-.708-.708L7 10.793 5.854 9.646a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3Z'></path><path d='M4.5 1a.5.5 0 0 1 .5.5V2h5v-.5a.5.5 0 0 1 1 0V2h.5A2.5 2.5 0 0 1 14 4.5v7a2.5 2.5 0 0 1-2.5 2.5h-8A2.5 2.5 0 0 1 1 11.5v-7A2.5 2.5 0 0 1 3.5 2H4v-.5a.5.5 0 0 1 .5-.5ZM2 7v4.5A1.5 1.5 0 0 0 3.5 13h8a1.5 1.5 0 0 0 1.5-1.5V7H2Z'></path>\",\"<path d='M15.707 13.707a1 1 0 0 0-1.414-1.414L11 15.586l-1.293-1.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4Z'></path><path d='M8 2a1 1 0 0 1 1 1v1h6V3a1 1 0 1 1 2 0v1h2a3 3 0 0 1 3 3v11a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h2V3a1 1 0 0 1 1-1Zm-4 9v7a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-7H4Z'></path>\",\"<path d='M21.707 17.707a1 1 0 0 0-1.414-1.414L14 22.586l-2.293-2.293a1 1 0 0 0-1.414 1.414l3 3a1 1 0 0 0 1.414 0l7-7Z'></path><path d='M10 2a1 1 0 0 1 1 1v2h10V3a1 1 0 1 1 2 0v2h4a3 3 0 0 1 3 3v18a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V8a3 3 0 0 1 3-3h4V3a1 1 0 0 1 1-1ZM4 15v11a1 1 0 0 0 1 1h22a1 1 0 0 0 1-1V15H4Z'></path>\"],[\"<path d='M7.354 7.354a.5.5 0 1 0-.708-.708L5 8.293l-.646-.647a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0l2-2Z'></path><path d='M4 1.5a.5.5 0 0 0-1 0V2h-.5A1.5 1.5 0 0 0 1 3.5v6A1.5 1.5 0 0 0 2.5 11h6A1.5 1.5 0 0 0 10 9.5v-6A1.5 1.5 0 0 0 8.5 2H8v-.5a.5.5 0 0 0-1 0V2H4v-.5Zm3 2V3H4v.5a.5.5 0 0 1-1 0V3h-.5a.5.5 0 0 0-.5.5V5h7V3.5a.5.5 0 0 0-.5-.5H8v.5a.5.5 0 0 1-1 0Zm-5 6V6h7v3.5a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5Z'></path>\",\"<path d='M10.354 8.854a.5.5 0 0 0-.708-.708L7 10.793 5.854 9.646a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3Z'></path><path d='M5 1.5a.5.5 0 0 0-1 0V2h-.5A2.5 2.5 0 0 0 1 4.5v7A2.5 2.5 0 0 0 3.5 14h8a2.5 2.5 0 0 0 2.5-2.5v-7A2.5 2.5 0 0 0 11.5 2H11v-.5a.5.5 0 0 0-1 0V2H5v-.5Zm5 3V3H5v1.5a.5.5 0 0 1-1 0V3h-.5A1.5 1.5 0 0 0 2 4.5V6h11V4.5A1.5 1.5 0 0 0 11.5 3H11v1.5a.5.5 0 0 1-1 0Zm-8 7V7h11v4.5a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 2 11.5Z'></path>\",\"<path d='M15.707 13.707a1 1 0 0 0-1.414-1.414L11 15.586l-1.293-1.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4Z'></path><path d='M9 3a1 1 0 0 0-2 0v1H5a3 3 0 0 0-3 3v11a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3h-2V3a1 1 0 1 0-2 0v1H9V3Zm6 4V6H9v1a1 1 0 0 1-2 0V6H5a1 1 0 0 0-1 1v2h16V7a1 1 0 0 0-1-1h-2v1a1 1 0 1 1-2 0ZM4 18v-7h16v7a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1Z'></path>\",\"<path d='M21.707 17.707a1 1 0 0 0-1.414-1.414L14 22.586l-2.293-2.293a1 1 0 0 0-1.414 1.414l3 3a1 1 0 0 0 1.414 0l7-7Z'></path><path d='M11 3a1 1 0 1 0-2 0v2H5a3 3 0 0 0-3 3v18a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3V8a3 3 0 0 0-3-3h-4V3a1 1 0 1 0-2 0v2H11V3Zm10 5V7H11v1a1 1 0 1 1-2 0V7H5a1 1 0 0 0-1 1v5h24V8a1 1 0 0 0-1-1h-4v1a1 1 0 1 1-2 0ZM4 26V15h24v11a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1Z'></path>\"]];","export default [[\"<path d='M3.5 1a.5.5 0 0 1 .5.5V2h3v-.5a.5.5 0 0 1 1 0V2h.5A1.5 1.5 0 0 1 10 3.5v.756A4.496 4.496 0 0 0 4.758 6H2v2.5a.5.5 0 0 0 .5.5h1.527c.039.347.117.682.23 1H2.5A1.5 1.5 0 0 1 1 8.5v-5A1.5 1.5 0 0 1 2.5 2H3v-.5a.5.5 0 0 1 .5-.5ZM9 7.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 0-1H9v-.5Z'></path><path d='M5 8.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM8.5 6a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path>\",\"<path d='M4.5 1a.5.5 0 0 1 .5.5V2h4v-.5a.5.5 0 0 1 1 0V2h.5A2.5 2.5 0 0 1 13 4.5v1.707a5.48 5.48 0 0 0-1-.185V6H2v4.5A1.5 1.5 0 0 0 3.5 12h2.522a5.5 5.5 0 0 0 .185 1H3.5A2.5 2.5 0 0 1 1 10.5v-6A2.5 2.5 0 0 1 3.5 2H4v-.5a.5.5 0 0 1 .5-.5ZM12 9.5a.5.5 0 0 0-1 0v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 0-1H12V9.5Z'></path><path d='M7 11.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM11.5 8a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M8 1a1 1 0 0 1 1 1v1h6V2a1 1 0 1 1 2 0v1h2a3 3 0 0 1 3 3v3.516A8.958 8.958 0 0 0 17 8c-2.143 0-4.112.75-5.657 2H4v7a1 1 0 0 0 1 1h3.055c.077.694.232 1.363.457 2H5a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h2V2a1 1 0 0 1 1-1Z'></path><path d='M18 14a1 1 0 1 0-2 0v3.077a1 1 0 0 0 1 1h2a1 1 0 1 0 0-2h-1V14Z'></path><path d='M10 17a7 7 0 1 1 14 0 7 7 0 0 1-14 0Zm7-5a5 5 0 1 0 0 10 5 5 0 0 0 0-10Z'></path>\",\"<path d='M9 4a1 1 0 0 1 1 1v1h8V5a1 1 0 1 1 2 0v1h3a3 3 0 0 1 3 3v2.75a10.971 10.971 0 0 0-4-.75c-2.355 0-4.537.74-6.326 2H4v11a1 1 0 0 0 1 1h6.414c.197.697.462 1.366.785 2H5a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3h3V5a1 1 0 0 1 1-1Zm14 14a1 1 0 1 0-2 0v4a1 1 0 0 0 1 1h3a1 1 0 1 0 0-2h-2v-3Z'></path><path d='M13 22a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"],[\"<path d='M4 1.5a.5.5 0 0 0-1 0V2h-.5A1.5 1.5 0 0 0 1 3.5v5A1.5 1.5 0 0 0 2.5 10h1.756a4.474 4.474 0 0 1-.229-1H2.5a.5.5 0 0 1-.5-.5V6h2.758c.253-.378.561-.715.913-1H2V3.5a.5.5 0 0 1 .5-.5H3v.5a.5.5 0 0 0 1 0V3h3v.5a.5.5 0 0 0 1 0V3h.5a.5.5 0 0 1 .5.5v.527c.347.039.682.117 1 .23V3.5A1.5 1.5 0 0 0 8.5 2H8v-.5a.5.5 0 0 0-1 0V2H4v-.5Zm5 6a.5.5 0 0 0-1 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 0-1H9v-.5Z'></path><path d='M5 8.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM8.5 6a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path>\",\"<path d='M5 1.5a.5.5 0 0 0-1 0V2h-.5A2.5 2.5 0 0 0 1 4.5v6A2.5 2.5 0 0 0 3.5 13h2.707a5.48 5.48 0 0 1-.185-1H3.5A1.5 1.5 0 0 1 2 10.5V6h10v.022a5.5 5.5 0 0 1 1 .185V4.5A2.5 2.5 0 0 0 10.5 2H10v-.5a.5.5 0 0 0-1 0V2H5v-.5Zm4 2a.5.5 0 0 0 1 0V3h.5A1.5 1.5 0 0 1 12 4.5V5H2v-.5A1.5 1.5 0 0 1 3.5 3H4v.5a.5.5 0 0 0 1 0V3h4v.5Zm3 6a.5.5 0 0 0-1 0v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 0-1H12V9.5Z'></path><path d='M7 11.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM11.5 8a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M9 2a1 1 0 0 0-2 0v1H5a3 3 0 0 0-3 3v11a3 3 0 0 0 3 3h3.512a8.946 8.946 0 0 1-.457-2H5a1 1 0 0 1-1-1v-7h7.343A8.962 8.962 0 0 1 17 8c1.85 0 3.57.558 5 1.516V6a3 3 0 0 0-3-3h-2V2a1 1 0 1 0-2 0v1H9V2Zm8 6H4V6a1 1 0 0 1 1-1h2v1a1 1 0 0 0 2 0V5h6v1a1 1 0 1 0 2 0V5h2a1 1 0 0 1 1 1v2h-3Z'></path><path d='M18 14a1 1 0 1 0-2 0v3.077a1 1 0 0 0 1 1h2a1 1 0 1 0 0-2h-1V14Z'></path><path d='M10 17a7 7 0 1 1 14 0 7 7 0 0 1-14 0Zm7-5a5 5 0 1 0 0 10 5 5 0 0 0 0-10Z'></path>\",\"<path d='M10 5a1 1 0 0 0-2 0v1H5a3 3 0 0 0-3 3v15a3 3 0 0 0 3 3h7.2a10.924 10.924 0 0 1-.786-2H5a1 1 0 0 1-1-1V13h11.674c1.79-1.26 3.971-2 6.326-2 1.411 0 2.76.266 4 .75V9a3 3 0 0 0-3-3h-3V5a1 1 0 1 0-2 0v1h-8V5Zm12 6H4V9a1 1 0 0 1 1-1h3v1a1 1 0 0 0 2 0V8h8v1a1 1 0 1 0 2 0V8h3a1 1 0 0 1 1 1v2h-2Zm1 7a1 1 0 1 0-2 0v4a1 1 0 0 0 1 1h3a1 1 0 1 0 0-2h-2v-3Z'></path><path d='M13 22a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"]];","export default [[\"<path d='M3 7.25A.25.25 0 0 1 3.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 3 7.75v-.5ZM5.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 7.75v-.5A.25.25 0 0 0 5.75 7h-.5ZM7 7.25A.25.25 0 0 1 7.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 7 7.75v-.5Z'></path><path d='M3.5 1a.5.5 0 0 1 .5.5V2h3v-.5a.5.5 0 0 1 1 0V2h.5A1.5 1.5 0 0 1 10 3.5v6A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-6A1.5 1.5 0 0 1 2.5 2H3v-.5a.5.5 0 0 1 .5-.5ZM2 6v3.5a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5V6H2Z'></path>\",\"<path d='M4.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 5 8.75v-.5A.25.25 0 0 0 4.75 8h-.5ZM4 11.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5ZM7.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 8 8.75v-.5A.25.25 0 0 0 7.75 8h-.5ZM7 11.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5ZM10.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5ZM10 11.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5Z'></path><path d='M5 2.5a.5.5 0 0 0-1 0V3h-.5A2.5 2.5 0 0 0 1 5.5v6A2.5 2.5 0 0 0 3.5 14h8a2.5 2.5 0 0 0 2.5-2.5v-6A2.5 2.5 0 0 0 11.5 3H11v-.5a.5.5 0 0 0-1 0V3H5v-.5Zm-3 9V7h11v4.5a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 2 11.5Z'></path>\",\"<path d='M7.5 12a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM7 16.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm4.5-4.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm-.5 4.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm4.5-4.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm-.5 4.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Z'></path><path d='M9 3a1 1 0 1 0-2 0v1H5a3 3 0 0 0-3 3v11a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3h-2V3a1 1 0 1 0-2 0v1H9V3ZM4 18v-7h16v7a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1Z'></path>\",\"<path d='M7.5 17a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-3ZM7 22.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-2Zm7.5-5.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-3Zm-.5 5.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-2Zm7.5-5.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-3Zm-.5 5.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-2Z'></path><path d='M11 4a1 1 0 1 0-2 0v1H5a3 3 0 0 0-3 3v18a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3V8a3 3 0 0 0-3-3h-4V4a1 1 0 1 0-2 0v1H11V4ZM4 26V15h24v11a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1Z'></path>\"],[\"<path d='M3.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 4 7.75v-.5A.25.25 0 0 0 3.75 7h-.5ZM5 7.25A.25.25 0 0 1 5.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 5 7.75v-.5ZM7.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 8 7.75v-.5A.25.25 0 0 0 7.75 7h-.5Z'></path><path d='M4 1.5a.5.5 0 0 0-1 0V2h-.5A1.5 1.5 0 0 0 1 3.5v6A1.5 1.5 0 0 0 2.5 11h6A1.5 1.5 0 0 0 10 9.5v-6A1.5 1.5 0 0 0 8.5 2H8v-.5a.5.5 0 0 0-1 0V2H4v-.5Zm3 2V3H4v.5a.5.5 0 0 1-1 0V3h-.5a.5.5 0 0 0-.5.5V5h7V3.5a.5.5 0 0 0-.5-.5H8v.5a.5.5 0 0 1-1 0Zm-5 6V6h7v3.5a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5Z'></path>\",\"<path d='M4 8.25A.25.25 0 0 1 4.25 8h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 4 8.75v-.5ZM4.25 11a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5ZM7 8.25A.25.25 0 0 1 7.25 8h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 7 8.75v-.5ZM7.25 11a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5ZM10 8.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5Zm.25 2.75a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5Z'></path><path d='M4.5 2a.5.5 0 0 1 .5.5V3h5v-.5a.5.5 0 0 1 1 0V3h.5A2.5 2.5 0 0 1 14 5.5v6a2.5 2.5 0 0 1-2.5 2.5h-8A2.5 2.5 0 0 1 1 11.5v-6A2.5 2.5 0 0 1 3.5 3H4v-.5a.5.5 0 0 1 .5-.5ZM10 4v.5a.5.5 0 0 0 1 0V4h.5A1.5 1.5 0 0 1 13 5.5V6H2v-.5A1.5 1.5 0 0 1 3.5 4H4v.5a.5.5 0 0 0 1 0V4h5ZM2 7v4.5A1.5 1.5 0 0 0 3.5 13h8a1.5 1.5 0 0 0 1.5-1.5V7H2Z'></path>\",\"<path d='M7 12.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm.5 3.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3.5-3.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm.5 3.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3.5-3.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm.5 3.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Z'></path><path d='M8 2a1 1 0 0 1 1 1v1h6V3a1 1 0 1 1 2 0v1h2a3 3 0 0 1 3 3v11a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h2V3a1 1 0 0 1 1-1Zm7 4v1a1 1 0 1 0 2 0V6h2a1 1 0 0 1 1 1v2H4V7a1 1 0 0 1 1-1h2v1a1 1 0 0 0 2 0V6h6ZM4 11v7a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-7H4Z'></path>\",\"<path d='M7 17.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-2Zm.5 4.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-3Zm6.5-4.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-2Zm.5 4.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-3Zm6.5-4.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-2Zm.5 4.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-3Z'></path><path d='M10 3a1 1 0 0 1 1 1v1h10V4a1 1 0 1 1 2 0v1h4a3 3 0 0 1 3 3v18a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V8a3 3 0 0 1 3-3h4V4a1 1 0 0 1 1-1Zm11 4v1a1 1 0 1 0 2 0V7h4a1 1 0 0 1 1 1v5H4V8a1 1 0 0 1 1-1h4v1a1 1 0 1 0 2 0V7h10ZM4 15v11a1 1 0 0 0 1 1h22a1 1 0 0 0 1-1V15H4Z'></path>\"]];","export default [[\"<path d='M4 1.5a.5.5 0 0 0-1 0V2h-.5A1.5 1.5 0 0 0 1 3.5v5A1.5 1.5 0 0 0 2.5 10h1.756a4.474 4.474 0 0 1-.229-1H2.5a.5.5 0 0 1-.5-.5V6h2.758A4.496 4.496 0 0 1 10 4.256V3.5A1.5 1.5 0 0 0 8.5 2H8v-.5a.5.5 0 0 0-1 0V2H4v-.5Z'></path><path d='M3 7.25A.25.25 0 0 1 3.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 3 7.75v-.5Zm6 .25a.5.5 0 0 0-1 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 0-1H9v-.5Z'></path><path d='M5 8.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM8.5 6a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path>\",\"<path d='M5 1.5a.5.5 0 0 0-1 0V2h-.5A2.5 2.5 0 0 0 1 4.5v6A2.5 2.5 0 0 0 3.5 13h2.707a5.48 5.48 0 0 1-.185-1H3.5A1.5 1.5 0 0 1 2 10.5V6h11V4.5A2.5 2.5 0 0 0 10.5 2H10v-.5a.5.5 0 0 0-1 0V2H5v-.5Z'></path><path d='M6.208 9.996c.099-.347.23-.68.392-.996h-.35a.25.25 0 0 0-.25.25v.5c0 .124.09.227.208.246ZM4 7.25A.25.25 0 0 1 4.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 4 7.75v-.5ZM4.25 9a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 5 9.75v-.5A.25.25 0 0 0 4.75 9h-.5ZM6 7.25A.25.25 0 0 1 6.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 6 7.75v-.5Zm6 2.25a.5.5 0 0 0-1 0v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 0-1H12V9.5Z'></path><path d='M7 11.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM11.5 8a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M8 1a1 1 0 0 1 1 1v1h6V2a1 1 0 1 1 2 0v1h2a3 3 0 0 1 3 3v3.516A8.958 8.958 0 0 0 17 8c-2.143 0-4.112.75-5.657 2H4v7a1 1 0 0 0 1 1h3.055c.077.694.232 1.363.457 2H5a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h2V2a1 1 0 0 1 1-1Z'></path><path d='M6.5 11a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM6 15.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM18 14a1 1 0 1 0-2 0v3.077a1 1 0 0 0 1 1h2a1 1 0 1 0 0-2h-1V14Z'></path><path d='M10 17a7 7 0 1 1 14 0 7 7 0 0 1-14 0Zm7-5a5 5 0 1 0 0 10 5 5 0 0 0 0-10Z'></path>\",\"<path d='M10 5a1 1 0 1 0-2 0v1H5a3 3 0 0 0-3 3v15a3 3 0 0 0 3 3h7.2a10.924 10.924 0 0 1-.786-2H5a1 1 0 0 1-1-1V13h11.674c1.79-1.26 3.971-2 6.326-2 1.411 0 2.76.266 4 .75V9a3 3 0 0 0-3-3h-3V5a1 1 0 1 0-2 0v1h-8V5Z'></path><path d='M13.514 15H11.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h.25a10.993 10.993 0 0 1 1.764-3ZM6 15.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm.5 4.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM23 18a1 1 0 1 0-2 0v4a1 1 0 0 0 1 1h3a1 1 0 1 0 0-2h-2v-3Z'></path><path d='M13 22a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"],[\"<path d='M3.5 1a.5.5 0 0 1 .5.5V2h3v-.5a.5.5 0 0 1 1 0V2h.5A1.5 1.5 0 0 1 10 3.5v.756a4.474 4.474 0 0 0-1-.229V3.5a.5.5 0 0 0-.5-.5H8v.5a.5.5 0 0 1-1 0V3H4v.5a.5.5 0 0 1-1 0V3h-.5a.5.5 0 0 0-.5.5V5h3.671c-.352.285-.66.622-.913 1H2v2.5a.5.5 0 0 0 .5.5h1.527c.039.347.117.682.23 1H2.5A1.5 1.5 0 0 1 1 8.5v-5A1.5 1.5 0 0 1 2.5 2H3v-.5a.5.5 0 0 1 .5-.5Z'></path><path d='M3 7.25A.25.25 0 0 1 3.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 3 7.75v-.5Zm6 .25a.5.5 0 0 0-1 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 0-1H9v-.5Z'></path><path d='M5 8.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM8.5 6a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path>\",\"<path d='M5 1.5a.5.5 0 0 0-1 0V2h-.5A2.5 2.5 0 0 0 1 4.5v6A2.5 2.5 0 0 0 3.5 13h2.707a5.48 5.48 0 0 1-.185-1H3.5A1.5 1.5 0 0 1 2 10.5V6h10v.022a5.5 5.5 0 0 1 1 .185V4.5A2.5 2.5 0 0 0 10.5 2H10v-.5a.5.5 0 0 0-1 0V2H5v-.5Zm4 2a.5.5 0 0 0 1 0V3h.5A1.5 1.5 0 0 1 12 4.5V5H2v-.5A1.5 1.5 0 0 1 3.5 3H4v.5a.5.5 0 0 0 1 0V3h4v.5Z'></path><path d='M6.6 9h-.35a.25.25 0 0 0-.25.25v.5c0 .124.09.227.208.246.099-.347.23-.68.392-.996ZM4.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 5 7.75v-.5A.25.25 0 0 0 4.75 7h-.5ZM4 9.25A.25.25 0 0 1 4.25 9h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 4 9.75v-.5ZM6.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 7 7.75v-.5A.25.25 0 0 0 6.75 7h-.5ZM12 9.5a.5.5 0 0 0-1 0v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 0-1H12V9.5Z'></path><path d='M7 11.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM11.5 8a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M9 2a1 1 0 1 0-2 0v1H5a3 3 0 0 0-3 3v11a3 3 0 0 0 3 3h3.512a8.946 8.946 0 0 1-.457-2H5a1 1 0 0 1-1-1v-7h7.343A8.962 8.962 0 0 1 17 8c1.85 0 3.57.558 5 1.516V6a3 3 0 0 0-3-3h-2V2a1 1 0 1 0-2 0v1H9V2Zm8 6H4V6a1 1 0 0 1 1-1h2v1a1 1 0 0 0 2 0V5h6v1a1 1 0 1 0 2 0V5h2a1 1 0 0 1 1 1v2h-3Z'></path><path d='M6.5 11a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM6 15.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM18 14a1 1 0 1 0-2 0v3.077a1 1 0 0 0 1 1h2a1 1 0 1 0 0-2h-1V14Z'></path><path d='M10 17a7 7 0 1 1 14 0 7 7 0 0 1-14 0Zm7-5a5 5 0 1 0 0 10 5 5 0 0 0 0-10Z'></path>\",\"<path d='M9 4a1 1 0 0 1 1 1v1h8V5a1 1 0 1 1 2 0v1h3a3 3 0 0 1 3 3v2.75a10.971 10.971 0 0 0-4-.75h2V9a1 1 0 0 0-1-1h-3v1a1 1 0 1 1-2 0V8h-8v1a1 1 0 1 1-2 0V8H5a1 1 0 0 0-1 1v2h18c-2.355 0-4.537.74-6.326 2H4v11a1 1 0 0 0 1 1h6.414c.197.697.462 1.366.785 2H5a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3h3V5a1 1 0 0 1 1-1Z'></path><path d='M13.514 15a10.993 10.993 0 0 0-1.764 3h-.25a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h2.014ZM6 15.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm.5 4.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM23 18a1 1 0 1 0-2 0v4a1 1 0 0 0 1 1h3a1 1 0 1 0 0-2h-2v-3Z'></path><path d='M13 22a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"]];","export default [[\"<path d='M4 1.5a.5.5 0 0 0-1 0V2h-.5A1.5 1.5 0 0 0 1 3.5v5A1.5 1.5 0 0 0 2.5 10h2.035a3.975 3.975 0 0 1-.409-1H2.5a.5.5 0 0 1-.5-.5V6h2.535A3.998 3.998 0 0 1 10 4.535V3.5A1.5 1.5 0 0 0 8.5 2H8v-.5a.5.5 0 0 0-1 0V2H4v-.5Z'></path><path d='M3 7.25A.25.25 0 0 1 3.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 3 7.75v-.5Zm7.445 2.488a3 3 0 1 0-.707.707l1.409 1.408a.5.5 0 1 0 .707-.707l-1.409-1.408ZM6 8a2 2 0 1 1 4 0 2 2 0 0 1-4 0Z'></path>\",\"<path d='M5 1.5a.5.5 0 0 0-1 0V2h-.5A2.5 2.5 0 0 0 1 4.5v6A2.5 2.5 0 0 0 3.5 13h3.258a4.485 4.485 0 0 1-.502-1H3.5A1.5 1.5 0 0 1 2 10.5V6h10v.256c.356.126.691.295 1 .502V4.5A2.5 2.5 0 0 0 10.5 2H10v-.5a.5.5 0 0 0-1 0V2H5v-.5Z'></path><path d='M7 7.671V7.25A.25.25 0 0 0 6.75 7h-.5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.508c.076-.113.156-.223.242-.329ZM4 7.25A.25.25 0 0 1 4.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 4 7.75v-.5ZM4.25 9a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 5 9.75v-.5A.25.25 0 0 0 4.75 9h-.5Zm9.05 3.6c.019.014.037.03.053.046l2.5 2.5a.5.5 0 0 1-.707.707l-2.5-2.5a.504.504 0 0 1-.046-.053 3.5 3.5 0 1 1 .7-.7ZM8 10.5a2.5 2.5 0 1 0 5 0 2.5 2.5 0 0 0-5 0Z'></path>\",\"<path d='M8 1a1 1 0 0 1 1 1v1h6V2a1 1 0 1 1 2 0v1h2a3 3 0 0 1 3 3v5.756A7.497 7.497 0 0 0 15.5 8c-1.97 0-3.76.759-5.1 2H4v7a1 1 0 0 0 1 1h3.427c.256.724.62 1.397 1.072 2H5a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h2V2a1 1 0 0 1 1-1Z'></path><path d='M8 15.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1ZM6.5 11a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm13.532 7.617 3.675 3.676a1 1 0 0 1-1.414 1.414l-3.675-3.675a5.5 5.5 0 1 1 1.414-1.414ZM12 15.5a3.5 3.5 0 1 0 7 0 3.5 3.5 0 0 0-7 0Z'></path>\",\"<path d='M9 4a1 1 0 0 1 1 1v1h8V5a1 1 0 1 1 2 0v1h3a3 3 0 0 1 3 3v5.019A8.466 8.466 0 0 0 20.5 12c-1.448 0-2.81.362-4.004 1H4v11a1 1 0 0 0 1 1h8.288a8.544 8.544 0 0 0 1.735 2H5a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3h3V5a1 1 0 0 1 1-1Z'></path><path d='M12.014 20a8.497 8.497 0 0 0 .36 3H11.5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h.514Zm1.863-4.828A8.477 8.477 0 0 0 12.374 18H11.5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .377.172ZM6.5 15a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM6 20.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm19.749 3.835a6.5 6.5 0 1 0-1.414 1.414l4.958 4.958a1 1 0 0 0 1.414-1.414l-4.958-4.958ZM16 20.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0Z'></path>\"],[\"<path d='M3.5 1a.5.5 0 0 1 .5.5V2h3v-.5a.5.5 0 0 1 1 0V2h.5A1.5 1.5 0 0 1 10 3.5v1.035a3.975 3.975 0 0 0-1-.409V3.5a.5.5 0 0 0-.5-.5H8v.5a.5.5 0 0 1-1 0V3H4v.5a.5.5 0 0 1-1 0V3h-.5a.5.5 0 0 0-.5.5V5h3.354a4.018 4.018 0 0 0-.819 1H2v2.5a.5.5 0 0 0 .5.5h1.626c.091.355.23.69.41 1H2.5A1.5 1.5 0 0 1 1 8.5v-5A1.5 1.5 0 0 1 2.5 2H3v-.5a.5.5 0 0 1 .5-.5Z'></path><path d='M3 7.25A.25.25 0 0 1 3.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 3 7.75v-.5Zm7.445 2.488a3 3 0 1 0-.707.707l1.409 1.408a.5.5 0 1 0 .707-.707l-1.409-1.408ZM6 8a2 2 0 1 1 4 0 2 2 0 0 1-4 0Z'></path>\",\"<path d='M5 1.5a.5.5 0 0 0-1 0V2h-.5A2.5 2.5 0 0 0 1 4.5v6A2.5 2.5 0 0 0 3.5 13h3.258a4.485 4.485 0 0 1-.502-1H3.5A1.5 1.5 0 0 1 2 10.5V6h10v.256c.356.126.691.295 1 .502V4.5A2.5 2.5 0 0 0 10.5 2H10v-.5a.5.5 0 0 0-1 0V2H5v-.5Zm4 2a.5.5 0 0 0 1 0V3h.5A1.5 1.5 0 0 1 12 4.5V5H2v-.5A1.5 1.5 0 0 1 3.5 3H4v.5a.5.5 0 0 0 1 0V3h4v.5Z'></path><path d='M7 7.671V7.25A.25.25 0 0 0 6.75 7h-.5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.508c.076-.113.156-.223.242-.329ZM6.256 9H6.25a.25.25 0 0 0-.25.25v.5c0 .05.015.098.041.138A4.47 4.47 0 0 1 6.256 9ZM4.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 5 7.75v-.5A.25.25 0 0 0 4.75 7h-.5ZM4 9.25A.25.25 0 0 1 4.25 9h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 4 9.75v-.5Zm9.3 3.35c.019.014.037.03.053.046l2.5 2.5a.5.5 0 0 1-.707.707l-2.5-2.5a.504.504 0 0 1-.046-.053 3.5 3.5 0 1 1 .7-.7ZM8 10.5a2.5 2.5 0 1 0 5 0 2.5 2.5 0 0 0-5 0Z'></path>\",\"<path d='M9 2a1 1 0 1 0-2 0v1H5a3 3 0 0 0-3 3v11a3 3 0 0 0 3 3h4.5a7.482 7.482 0 0 1-1.073-2H5a1 1 0 0 1-1-1v-7h6.4a7.474 7.474 0 0 1 5.1-2 7.497 7.497 0 0 1 6.5 3.756V6a3 3 0 0 0-3-3h-2V2a1 1 0 1 0-2 0v1H9V2Zm6.5 6H4V6a1 1 0 0 1 1-1h2v1a1 1 0 0 0 2 0V5h6v1a1 1 0 1 0 2 0V5h2a1 1 0 0 1 1 1v2h-4.5Z'></path><path d='M8 15.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1ZM6.5 11a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm13.532 7.617 3.675 3.676a1 1 0 0 1-1.414 1.414l-3.675-3.675a5.5 5.5 0 1 1 1.414-1.414ZM12 15.5a3.5 3.5 0 1 0 7 0 3.5 3.5 0 0 0-7 0Z'></path>\",\"<path d='M10 5a1 1 0 1 0-2 0v1H5a3 3 0 0 0-3 3v15a3 3 0 0 0 3 3h10.023a8.544 8.544 0 0 1-1.735-2H5a1 1 0 0 1-1-1V13h12.496a8.462 8.462 0 0 1 4.004-1c2.098 0 4.018.76 5.5 2.019V9a3 3 0 0 0-3-3h-3V5a1 1 0 1 0-2 0v1h-8V5Zm8 4a1 1 0 1 0 2 0V8h3a1 1 0 0 1 1 1v2H4V9a1 1 0 0 1 1-1h3v1a1 1 0 1 0 2 0V8h8v1Z'></path><path d='M13.877 15.172A.5.5 0 0 0 13.5 15h-2a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h.874c.32-1.042.835-2 1.503-2.828ZM12.014 20H11.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h.874a8.497 8.497 0 0 1-.36-3ZM6.5 15a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM6 20.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm19.749 3.835a6.5 6.5 0 1 0-1.414 1.414l4.958 4.958a1 1 0 0 0 1.414-1.414l-4.958-4.958ZM16 20.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0Z'></path>\"]];","export default [[\"<g clip-path='url(#a)'><path d='M3.5 1a.5.5 0 0 1 .5.5V2h3v-.5a.5.5 0 0 1 1 0V2h.5A1.5 1.5 0 0 1 10 3.5v1.085c-1.099-.912-2.891-.657-3.602.765L6.073 6H2v3.5a.5.5 0 0 0 .5.5h1.616a2.306 2.306 0 0 0-.067 1H2.5A1.5 1.5 0 0 1 1 9.5v-6A1.5 1.5 0 0 1 2.5 2H3v-.5a.5.5 0 0 1 .5-.5Zm5 6a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Zm.5 3a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z'></path><path d='M7.293 5.797c.497-.995 1.917-.995 2.414 0l2.125 4.25A1.35 1.35 0 0 1 10.625 12h-4.25a1.35 1.35 0 0 1-1.207-1.954l2.125-4.249Zm1.52.447a.35.35 0 0 0-.626 0l-2.125 4.25a.35.35 0 0 0 .313.506h4.25a.35.35 0 0 0 .313-.506l-2.125-4.25Z'></path></g><defs><clipPath id='a'><path d='M0 0h12v12H0z'></path></clipPath></defs>\",\"<g clip-path='url(#a)'><path d='M4.5 1a.5.5 0 0 1 .5.5V2h5v-.5a.5.5 0 0 1 1 0V2h.5A2.5 2.5 0 0 1 14 4.5v3.598l-.44-.834c-.84-1.592-3.041-1.68-4.032-.264H2v4.5A1.5 1.5 0 0 0 3.5 13h2.84l-.024.046a2.707 2.707 0 0 0-.298.954H3.5A2.5 2.5 0 0 1 1 11.5v-7A2.5 2.5 0 0 1 3.5 2H4v-.5a.5.5 0 0 1 .5-.5Z'></path><path d='M10.963 10.006a.5.5 0 1 1 1 0v1.5a.5.5 0 0 1-1 0v-1.5Zm1 3.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z'></path><path d='M10.252 7.73a1.37 1.37 0 0 1 2.423 0l3.052 5.783a1.7 1.7 0 0 1-1.504 2.493h-5.52A1.7 1.7 0 0 1 7.2 13.513l3.052-5.782Zm1.539.467a.37.37 0 0 0-.655 0L8.085 13.98a.7.7 0 0 0 .619 1.027h5.52a.7.7 0 0 0 .618-1.027l-3.051-5.782Z'></path></g><defs><clipPath id='a'><path d='M0 0h16v16H0z'></path></clipPath></defs>\",\"<g clip-path='url(#a)'><path d='M8 2a1 1 0 0 1 1 1v1h6V3a1 1 0 1 1 2 0v1h2a3 3 0 0 1 3 3v5.95l-1.442-2.523c-2.015-3.528-7.101-3.528-9.116 0l-.328.573H4v7a1 1 0 0 0 1 1h1.59a5.158 5.158 0 0 0-.402 2H5a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h2V3a1 1 0 0 1 1-1Z'></path><path d='M15 15a1 1 0 1 1 2 0v2a1 1 0 1 1-2 0v-2Zm2 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path><path d='m18.605 11.543 4.553 7.969c1.143 2-.3 4.488-2.604 4.488h-9.108c-2.303 0-3.747-2.488-2.604-4.488l4.553-7.97c1.152-2.015 4.058-2.015 5.21 0Zm-1.737.992a1 1 0 0 0-1.736 0l-4.554 7.969A1 1 0 0 0 11.446 22h9.108a1 1 0 0 0 .868-1.496l-4.554-7.969Z'></path></g><defs><clipPath id='a'><path d='M0 0h24v24H0z'></path></clipPath></defs>\",\"<path d='M11 3a1 1 0 1 0-2 0v2H5a3 3 0 0 0-3 3v18a3 3 0 0 0 3 3h5.877a5.202 5.202 0 0 1-.022-2H5a1 1 0 0 1-1-1V15h13.18l.313-.566c1.96-3.544 7.054-3.544 9.014 0l.313.566H28v2.135l2 3.617V8a3 3 0 0 0-3-3h-4V3a1 1 0 1 0-2 0v2H11V3Z'></path><path d='M21 20a1 1 0 0 1 2 0v4a1 1 0 1 1-2 0v-4Zm2 7a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path><path d='m24.538 15.523 6.055 10.951C31.717 28.507 30.247 31 27.924 31H16.076c-2.323 0-3.793-2.493-2.669-4.526l6.055-10.95c1.104-1.996 3.972-1.996 5.076 0Zm-1.75.968a.9.9 0 0 0-1.576 0l-6.055 10.95c-.387.7.12 1.559.92 1.559h11.847c.8 0 1.306-.858.919-1.558L22.788 16.49Z'></path>\"],[\"<g clip-path='url(#a)'><path d='M4 1.5a.5.5 0 0 0-1 0V2h-.5A1.5 1.5 0 0 0 1 3.5v6A1.5 1.5 0 0 0 2.5 11h1.55a2.306 2.306 0 0 1 .066-1H2.5a.5.5 0 0 1-.5-.5V6h4.073l.325-.65A2.38 2.38 0 0 1 6.611 5H2V3.5a.5.5 0 0 1 .5-.5H3v.5a.5.5 0 0 0 1 0V3h3v.5a.5.5 0 0 0 1 0V3h.5a.5.5 0 0 1 .5.5v.603c.36.077.705.238 1 .482V3.5A1.5 1.5 0 0 0 8.5 2H8v-.5a.5.5 0 0 0-1 0V2H4v-.5ZM8.5 7a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Zm.5 3a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z'></path><path d='M7.293 5.797c.497-.995 1.917-.995 2.414 0l2.125 4.25A1.35 1.35 0 0 1 10.625 12h-4.25a1.35 1.35 0 0 1-1.207-1.954l2.125-4.249Zm1.52.447a.35.35 0 0 0-.626 0l-2.125 4.25a.35.35 0 0 0 .313.506h4.25a.35.35 0 0 0 .313-.506l-2.125-4.25Z'></path></g><defs><clipPath id='a'><path d='M0 0h12v12H0z'></path></clipPath></defs>\",\"<g clip-path='url(#a)'><path d='M5 1.5a.5.5 0 0 0-1 0V2h-.5A2.5 2.5 0 0 0 1 4.5v7A2.5 2.5 0 0 0 3.5 14h2.518c.037-.32.133-.643.298-.954L6.34 13H3.5A1.5 1.5 0 0 1 2 11.5V7h7.528c.467-.667 1.201-1 1.935-1 .826 0 1.652.421 2.097 1.264l.44.834V4.5A2.5 2.5 0 0 0 11.5 2H11v-.5a.5.5 0 0 0-1 0V2H5v-.5ZM11.463 6H2V4.5A1.5 1.5 0 0 1 3.5 3H4v1.5a.5.5 0 0 0 1 0V3h5v1.5a.5.5 0 0 0 1 0V3h.5A1.5 1.5 0 0 1 13 4.5V6h-1.537Z'></path><path d='M10.963 10.006a.5.5 0 1 1 1 0v1.5a.5.5 0 0 1-1 0v-1.5Zm1 3.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z'></path><path d='m12.675 7.73 3.052 5.783a1.7 1.7 0 0 1-1.504 2.493h-5.52A1.7 1.7 0 0 1 7.2 13.513l3.052-5.782a1.37 1.37 0 0 1 2.423 0Zm-.884.467a.37.37 0 0 0-.655 0L8.085 13.98a.7.7 0 0 0 .619 1.027h5.52a.7.7 0 0 0 .618-1.027l-3.051-5.782Z'></path></g><defs><clipPath id='a'><path d='M0 0h16v16H0z'></path></clipPath></defs>\",\"<g clip-path='url(#a)'><path d='M9 3a1 1 0 0 0-2 0v1H5a3 3 0 0 0-3 3v11a3 3 0 0 0 3 3h1.188a5.158 5.158 0 0 1 .402-2H5a1 1 0 0 1-1-1v-7h7.114l.328-.573A5.278 5.278 0 0 1 12.625 9H4V7a1 1 0 0 1 1-1h2v1a1 1 0 0 0 2 0V6h6v1c0 .335.165.632.418.813a5.358 5.358 0 0 1 1.164 0A.999.999 0 0 0 17 7V6h2a1 1 0 0 1 1 1v2h-.625c.456.385.86.86 1.183 1.427L22 12.95V7a3 3 0 0 0-3-3h-2V3a1 1 0 1 0-2 0v1H9V3Z'></path><path d='M15 15a1 1 0 1 1 2 0v2a1 1 0 1 1-2 0v-2Zm2 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path><path d='m18.605 11.543 4.553 7.969c1.143 2-.3 4.488-2.604 4.488h-9.108c-2.303 0-3.747-2.488-2.604-4.488l4.553-7.97c1.152-2.015 4.058-2.015 5.21 0Zm-1.737.992a1 1 0 0 0-1.736 0l-4.554 7.969A1 1 0 0 0 11.446 22h9.108a1 1 0 0 0 .868-1.496l-4.554-7.969Z'></path></g><defs><clipPath id='a'><path d='M0 0h24v24H0z'></path></clipPath></defs>\",\"<path d='M11 3a1 1 0 1 0-2 0v2H5a3 3 0 0 0-3 3v18a3 3 0 0 0 3 3h5.877a5.202 5.202 0 0 1-.022-2H5a1 1 0 0 1-1-1V15h13.18l.313-.566A5.178 5.178 0 0 1 18.655 13H4V8a1 1 0 0 1 1-1h4v1a1 1 0 0 0 2 0V7h10v1a1 1 0 1 0 2 0V7h4a1 1 0 0 1 1 1v5h-2.655c.45.386.847.865 1.162 1.434l.313.566H28v2.135l2 3.617V8a3 3 0 0 0-3-3h-4V3a1 1 0 1 0-2 0v2H11V3Z'></path><path d='M21 20a1 1 0 0 1 2 0v4a1 1 0 1 1-2 0v-4Zm2 7a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path><path d='m24.538 15.523 6.055 10.951C31.717 28.507 30.247 31 27.924 31H16.076c-2.323 0-3.793-2.493-2.669-4.526l6.055-10.95c1.104-1.996 3.972-1.996 5.076 0Zm-1.75.968a.9.9 0 0 0-1.576 0l-6.055 10.95c-.387.7.12 1.559.92 1.559h11.847c.8 0 1.306-.858.919-1.558L22.788 16.49Z'></path>\"]];","export default [[\"M5.48 1a1.5 1.5 0 0 0-1.17.563l-1 1.25a.5.5 0 0 1-.31.18V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1c-.607.456-1 1.182-1 2v3A2.5 2.5 0 0 0 2.5 11h7A2.5 2.5 0 0 0 12 8.5v-3a2.5 2.5 0 0 0-1.819-2.406c-.238-.067-.388-.153-.47-.255l-1.02-1.276A1.5 1.5 0 0 0 7.519 1H5.481ZM6.5 4a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5ZM3 5.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\",\"M8.07 2a2.5 2.5 0 0 0-2.08 1.113l-.146.22A1.5 1.5 0 0 1 5 3.944V3.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v.55A2.5 2.5 0 0 0 1 6.5v4A2.5 2.5 0 0 0 3.5 13h9a2.5 2.5 0 0 0 2.5-2.5V5.911A1.911 1.911 0 0 0 13.089 4a.911.911 0 0 1-.759-.406l-.32-.48A2.5 2.5 0 0 0 9.93 2H8.07ZM6 8a3 3 0 1 1 6 0 3 3 0 0 1-6 0ZM4 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"M12.07 2a3 3 0 0 0-2.496 1.336l-.812 1.219A1 1 0 0 1 8 4.998V4a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v1a3 3 0 0 0-3 3v10.5A3.5 3.5 0 0 0 4.5 22h15a3.5 3.5 0 0 0 3.5-3.5V7.954A2.954 2.954 0 0 0 20.046 5a.954.954 0 0 1-.794-.425l-.826-1.24A3 3 0 0 0 15.93 2h-3.86ZM14 8a5 5 0 1 0 0 10 5 5 0 0 0 0-10Zm-6 2.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z\",\"M15.07 4a3 3 0 0 0-2.496 1.336l-1.479 2.219a1 1 0 0 1-.832.445H10V7a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v1a3 3 0 0 0-3 3v12.5A3.5 3.5 0 0 0 6.5 27h19a3.5 3.5 0 0 0 3.5-3.5V11a3 3 0 0 0-3-3h-.263a1 1 0 0 1-.832-.445l-1.48-2.22A3 3 0 0 0 20.93 4h-5.86ZM18 11a6 6 0 1 0 0 12 6 6 0 0 0 0-12Zm-8 2.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z\"],[\"<path d='M2.5 6a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm4-2a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5ZM5 6.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Z'></path><path d='M5.48 1a1.5 1.5 0 0 0-1.17.563l-1 1.25a.5.5 0 0 1-.31.18V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1c-.607.456-1 1.182-1 2v3A2.5 2.5 0 0 0 2.5 11h7A2.5 2.5 0 0 0 12 8.5v-3a2.5 2.5 0 0 0-1.819-2.406c-.238-.067-.388-.153-.47-.255l-1.02-1.276A1.5 1.5 0 0 0 7.519 1H5.481Zm-.39 1.188A.5.5 0 0 1 5.48 2h2.04a.5.5 0 0 1 .39.188l1.02 1.275c.276.345.667.505.98.593A1.5 1.5 0 0 1 11 5.5v3A1.5 1.5 0 0 1 9.5 10h-7A1.5 1.5 0 0 1 1 8.5v-3A1.5 1.5 0 0 1 2.5 4h.42a1.5 1.5 0 0 0 1.17-.563l1-1.25Z'></path>\",\"<path d='M9 5a3 3 0 1 0 0 6 3 3 0 0 0 0-6ZM7 8a2 2 0 1 1 4 0 2 2 0 0 1-4 0ZM5 7a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path><path d='M8.07 2a2.5 2.5 0 0 0-2.08 1.113l-.146.22A1.5 1.5 0 0 1 5 3.944V3.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v.55A2.5 2.5 0 0 0 1 6.5v4A2.5 2.5 0 0 0 3.5 13h9a2.5 2.5 0 0 0 2.5-2.5V5.911A1.911 1.911 0 0 0 13.089 4a.911.911 0 0 1-.759-.406l-.32-.48A2.5 2.5 0 0 0 9.93 2H8.07ZM6.822 3.668A1.5 1.5 0 0 1 8.07 3h1.86c.501 0 .97.25 1.248.668l.32.48a1.91 1.91 0 0 0 1.59.852c.504 0 .912.408.912.911V10.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 10.5v-4A1.5 1.5 0 0 1 3.5 5h1.096a2.5 2.5 0 0 0 2.08-1.113l.146-.22Z'></path>\",\"<path d='M14 8a5 5 0 1 0 0 10 5 5 0 0 0 0-10Zm-3 5a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm-3-2.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z'></path><path d='M12.07 2a3 3 0 0 0-2.496 1.336l-.812 1.219A1 1 0 0 1 8 4.998V4a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v1a3 3 0 0 0-3 3v10.5A3.5 3.5 0 0 0 4.5 22h15a3.5 3.5 0 0 0 3.5-3.5V7.954A2.954 2.954 0 0 0 20.046 5a.954.954 0 0 1-.794-.425l-.826-1.24A3 3 0 0 0 15.93 2h-3.86Zm-.832 2.445A1 1 0 0 1 12.07 4h3.86a1 1 0 0 1 .832.445l.826 1.24A2.954 2.954 0 0 0 20.046 7c.527 0 .954.427.954.954V18.5a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 3 18.5V8a1 1 0 0 1 1-1h3.93a3 3 0 0 0 2.496-1.336l.812-1.219Z'></path>\",\"<path d='M18 11a6 6 0 1 0 0 12 6 6 0 0 0 0-12Zm-4 6a4 4 0 1 1 8 0 4 4 0 0 1-8 0Zm-4-3.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z'></path><path d='M15.07 4a3 3 0 0 0-2.496 1.336l-1.479 2.219a1 1 0 0 1-.832.445H10V7a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v1a3 3 0 0 0-3 3v12.5A3.5 3.5 0 0 0 6.5 27h19a3.5 3.5 0 0 0 3.5-3.5V11a3 3 0 0 0-3-3h-.263a1 1 0 0 1-.832-.445l-1.48-2.22A3 3 0 0 0 20.93 4h-5.86Zm-.832 2.445A1 1 0 0 1 15.07 6h5.86a1 1 0 0 1 .832.445l1.479 2.22A3 3 0 0 0 25.737 10H26a1 1 0 0 1 1 1v12.5a1.5 1.5 0 0 1-1.5 1.5h-19A1.5 1.5 0 0 1 5 23.5V11a1 1 0 0 1 1-1h4.263a3 3 0 0 0 2.496-1.336l1.48-2.219Z'></path>\"]];","export default [[\"<path d='M5.48 1a1.5 1.5 0 0 0-1.17.563l-1 1.25a.5.5 0 0 1-.31.18V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1c-.607.456-1 1.182-1 2v3A2.5 2.5 0 0 0 2.5 11h2.258a4.507 4.507 0 0 1-.61-3.65A2.5 2.5 0 0 1 7.35 4.148 4.507 4.507 0 0 1 12 5.671V5.5a2.5 2.5 0 0 0-1.819-2.406c-.238-.067-.388-.153-.47-.255l-1.02-1.276A1.5 1.5 0 0 0 7.519 1H5.481ZM3 5.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z'></path><path d='M8.5 7a.5.5 0 0 1 .5.5V8h.5a.5.5 0 0 1 0 1H9v.5a.5.5 0 0 1-1 0V9h-.5a.5.5 0 0 1 0-1H8v-.5a.5.5 0 0 1 .5-.5Z'></path><path d='M8.5 5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM6 8.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path>\",\"<path d='M8.07 2a2.5 2.5 0 0 0-2.08 1.113l-.146.22A1.5 1.5 0 0 1 5 3.944V3.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v.55A2.5 2.5 0 0 0 1 6.5v4A2.5 2.5 0 0 0 3.5 13h2.707A5.504 5.504 0 0 1 6 11.5c0-.716.137-1.4.386-2.027a3 3 0 0 1 4.856-3.467A5.478 5.478 0 0 1 15 7.257V5.911A1.911 1.911 0 0 0 13.088 4a.911.911 0 0 1-.759-.406l-.32-.48A2.5 2.5 0 0 0 9.93 2H8.07ZM4 8a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z'></path><path d='M12 9.5a.5.5 0 0 0-1 0V11H9.5a.5.5 0 0 0 0 1H11v1.5a.5.5 0 0 0 1 0V12h1.5a.5.5 0 0 0 0-1H12V9.5Z'></path><path d='M11.5 7a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9ZM8 11.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z'></path>\",\"<path d='M12.07 2a3 3 0 0 0-2.496 1.336l-.812 1.219A1 1 0 0 1 8 4.998V4a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v1a3 3 0 0 0-3 3v10.5A3.5 3.5 0 0 0 4.5 22h5.016A8.958 8.958 0 0 1 8 17a8.96 8.96 0 0 1 1.002-4.13 5 5 0 0 1 6.275-4.705A9.047 9.047 0 0 1 17 8c2.305 0 4.408.867 6 2.292V7.954A2.954 2.954 0 0 0 20.046 5a.954.954 0 0 1-.794-.425l-.826-1.24A3 3 0 0 0 15.93 2h-3.86ZM6.5 12a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Z'></path><path d='M18 14a1 1 0 1 0-2 0v2h-2a1 1 0 1 0 0 2h2v2a1 1 0 1 0 2 0v-2h2a1 1 0 1 0 0-2h-2v-2Z'></path><path d='M17 10a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-5 7a5 5 0 1 1 10 0 5 5 0 0 1-10 0Z'></path>\",\"<path d='M15.07 4a3 3 0 0 0-2.496 1.336l-1.479 2.219a1 1 0 0 1-.832.445H10V7a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v1a3 3 0 0 0-3 3v12.5A3.5 3.5 0 0 0 6.5 27h5.7c-.767-1.5-1.2-3.2-1.2-5 0-1.648.363-3.212 1.012-4.615a6 6 0 0 1 7.681-6.142A11.039 11.039 0 0 1 22 11c2.66 0 5.098.944 7 2.514V11a3 3 0 0 0-3-3h-.263a1 1 0 0 1-.832-.445l-1.48-2.22A3 3 0 0 0 20.93 4h-5.86ZM8.5 15a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Z'></path><path d='M23 18a1 1 0 1 0-2 0v3h-3a1 1 0 1 0 0 2h3v3a1 1 0 1 0 2 0v-3h3a1 1 0 1 0 0-2h-3v-3Z'></path><path d='M22 13a9 9 0 1 0 0 18 9 9 0 0 0 0-18Zm-7 9a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z'></path>\"],[\"<path d='M5.48 1a1.5 1.5 0 0 0-1.17.563l-1 1.25a.5.5 0 0 1-.31.18V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1c-.607.456-1 1.182-1 2v3A2.5 2.5 0 0 0 2.5 11h2.258a4.485 4.485 0 0 1-.502-1H2.5A1.5 1.5 0 0 1 1 8.5v-3A1.5 1.5 0 0 1 2.5 4h.42a1.5 1.5 0 0 0 1.17-.563l1-1.25A.5.5 0 0 1 5.48 2h2.04a.5.5 0 0 1 .39.188l1.02 1.275c.276.345.667.505.98.593.3.085.562.262.754.497.515.283.969.664 1.336 1.118V5.5a2.5 2.5 0 0 0-1.819-2.406c-.238-.067-.388-.153-.47-.255l-1.02-1.276A1.5 1.5 0 0 0 7.519 1H5.481Z'></path><path d='M4.148 7.35A4.508 4.508 0 0 1 7.35 4.148 2.5 2.5 0 0 0 4.148 7.35ZM2.5 6a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm6 1a.5.5 0 0 1 .5.5V8h.5a.5.5 0 0 1 0 1H9v.5a.5.5 0 0 1-1 0V9h-.5a.5.5 0 0 1 0-1H8v-.5a.5.5 0 0 1 .5-.5Z'></path><path d='M8.5 5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM6 8.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path>\",\"<path d='M8.07 2a2.5 2.5 0 0 0-2.08 1.113l-.146.22A1.5 1.5 0 0 1 5 3.944V3.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v.55A2.5 2.5 0 0 0 1 6.5v4A2.5 2.5 0 0 0 3.5 13h2.707a5.48 5.48 0 0 1-.185-1H3.5A1.5 1.5 0 0 1 2 10.5v-4A1.5 1.5 0 0 1 3.5 5h1.096a2.5 2.5 0 0 0 2.08-1.113l.146-.22A1.5 1.5 0 0 1 8.07 3h1.86c.501 0 .97.25 1.248.668l.32.48a1.91 1.91 0 0 0 1.59.852c.504 0 .912.408.912.911V6.6c.358.183.693.404 1 .657V5.911A1.911 1.911 0 0 0 13.089 4a.911.911 0 0 1-.759-.406l-.32-.48A2.5 2.5 0 0 0 9.93 2H8.07Z'></path><path d='M9 5c.891 0 1.692.389 2.241 1.006a5.488 5.488 0 0 0-1.313.222 2 2 0 0 0-2.905 2.077c-.257.359-.472.75-.637 1.168A3 3 0 0 1 9 5ZM5 7a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm7 2.5a.5.5 0 0 0-1 0V11H9.5a.5.5 0 0 0 0 1H11v1.5a.5.5 0 0 0 1 0V12h1.5a.5.5 0 0 0 0-1H12V9.5Z'></path><path d='M11.5 7a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9ZM8 11.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z'></path>\",\"<path d='M12.07 2a3 3 0 0 0-2.496 1.336l-.812 1.219A1 1 0 0 1 8 4.998V4a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v1a3 3 0 0 0-3 3v10.5A3.5 3.5 0 0 0 4.5 22h5.016a8.967 8.967 0 0 1-1.004-2H4.5A1.5 1.5 0 0 1 3 18.5V8a1 1 0 0 1 1-1h3.93a3 3 0 0 0 2.496-1.336l.812-1.219A1 1 0 0 1 12.07 4h3.86a1 1 0 0 1 .832.445l.826 1.24A2.954 2.954 0 0 0 20.046 7c.527 0 .954.427.954.954v.982c.728.361 1.4.819 2 1.356V7.954A2.954 2.954 0 0 0 20.046 5a.954.954 0 0 1-.794-.425l-.826-1.24A3 3 0 0 0 15.93 2h-3.86Z'></path><path d='M9.002 12.87a9.013 9.013 0 0 1 6.275-4.705 5 5 0 0 0-6.276 4.705ZM8 10.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM18 14a1 1 0 1 0-2 0v2h-2a1 1 0 1 0 0 2h2v2a1 1 0 1 0 2 0v-2h2a1 1 0 1 0 0-2h-2v-2Z'></path><path d='M17 10a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-5 7a5 5 0 1 1 10 0 5 5 0 0 1-10 0Z'></path>\",\"<path d='M15.07 4a3 3 0 0 0-2.496 1.336l-1.479 2.219a1 1 0 0 1-.832.445H10V7a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v1a3 3 0 0 0-3 3v12.5A3.5 3.5 0 0 0 6.5 27h5.7a10.924 10.924 0 0 1-.786-2H6.5A1.5 1.5 0 0 1 5 23.5V11a1 1 0 0 1 1-1h4.263a3 3 0 0 0 2.496-1.336l1.48-2.219A1 1 0 0 1 15.07 6h5.86a1 1 0 0 1 .832.445l1.479 2.22A3 3 0 0 0 25.737 10H26a1 1 0 0 1 1 1v1.2a10.96 10.96 0 0 1 2 1.314V11a3 3 0 0 0-3-3h-.263a1 1 0 0 1-.832-.445l-1.48-2.22A3 3 0 0 0 20.93 4h-5.86Z'></path><path d='M12.012 17.385a11.02 11.02 0 0 1 7.681-6.143 6 6 0 0 0-7.681 6.142ZM10 13.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM23 18a1 1 0 1 0-2 0v3h-3a1 1 0 1 0 0 2h3v3a1 1 0 1 0 2 0v-3h3a1 1 0 1 0 0-2h-3v-3Z'></path><path d='M22 13a9 9 0 1 0 0 18 9 9 0 0 0 0-18Zm-7 9a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z'></path>\"]];","export default [[\"M2.5 4a.5.5 0 0 0-.376.83l3.5 4a.5.5 0 0 0 .752 0l3.5-4A.5.5 0 0 0 9.5 4h-7Z\",\"M12.5 5a.5.5 0 0 1 .372.834l-4.5 5a.5.5 0 0 1-.744 0l-4.5-5A.5.5 0 0 1 3.5 5h9Z\",\"M18.5 8a.5.5 0 0 1 .366.84l-6.5 7a.5.5 0 0 1-.732 0l-6.5-7A.5.5 0 0 1 5.5 8h13Z\",\"M8 11a1 1 0 0 0-.747 1.664l8 9a1 1 0 0 0 1.494 0l8-9A1 1 0 0 0 24 11H8Z\"]];","export default [[\"M10 9.5v-.585A1.5 1.5 0 0 0 11 7.5v-5A1.5 1.5 0 0 0 9.5 1h-5a1.5 1.5 0 0 0-1.415 1H2.5A1.5 1.5 0 0 0 1 3.5v6A1.5 1.5 0 0 0 2.5 11h6A1.5 1.5 0 0 0 10 9.5ZM2.5 3H3v4.5A1.5 1.5 0 0 0 4.5 9H9v.5a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-6a.5.5 0 0 1 .5-.5Zm2.778 1h3.444a.25.25 0 0 1 .194.408L7.193 6.514a.25.25 0 0 1-.386 0L5.084 4.408A.25.25 0 0 1 5.278 4Z\",\"M3 2.5A1.5 1.5 0 0 1 4.5 1h9A1.5 1.5 0 0 1 15 2.5v9a1.5 1.5 0 0 1-1.5 1.5H13v.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 1 13.5v-9A1.5 1.5 0 0 1 2.5 3H3v-.5ZM4.5 13A1.5 1.5 0 0 1 3 11.5V4h-.5a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5V13H4.5ZM9 9a.39.39 0 0 0 .307-.142l2.625-3.334a.302.302 0 0 0 .026-.345.383.383 0 0 0-.333-.179h-5.25c-.14 0-.268.07-.333.18a.302.302 0 0 0 .026.344l2.625 3.334A.39.39 0 0 0 9 9Z\",\"M5 4a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3h-1v1a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3V8a3 3 0 0 1 3-3h1V4Zm3 15a3 3 0 0 1-3-3V7H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1H8Zm2.576-11a.5.5 0 0 0-.382.823l3.424 4.054a.5.5 0 0 0 .764 0l3.423-4.054A.5.5 0 0 0 17.424 8h-6.848Z\",\"M6 5a3 3 0 0 1 3-3h18a3 3 0 0 1 3 3v18a3 3 0 0 1-3 3h-1v1a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3h1V5Zm3 21a3 3 0 0 1-3-3V8H5a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1v-1H9Zm3.864-15a.75.75 0 0 0-.573 1.234l5.136 6.087a.75.75 0 0 0 1.146 0l5.136-6.087A.75.75 0 0 0 23.136 11H12.864Z\"],[\"<path d='M5.278 4h3.444a.25.25 0 0 1 .194.408L7.193 6.514a.25.25 0 0 1-.386 0L5.084 4.408A.25.25 0 0 1 5.278 4Z'></path><path d='M11 7.5a1.5 1.5 0 0 1-1 1.415V9.5A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-6A1.5 1.5 0 0 1 2.5 2h.585A1.5 1.5 0 0 1 4.5 1h5A1.5 1.5 0 0 1 11 2.5v5ZM4.5 2a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-5Zm-2 1a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5V9H4.5A1.5 1.5 0 0 1 3 7.5V3h-.5Z'></path>\",\"<path d='M9 9a.39.39 0 0 0 .307-.142l2.625-3.334a.302.302 0 0 0 .026-.345.383.383 0 0 0-.333-.179h-5.25c-.14 0-.268.07-.333.18a.302.302 0 0 0 .026.344l2.625 3.334A.39.39 0 0 0 9 9Z'></path><path d='M3 2.5A1.5 1.5 0 0 1 4.5 1h9A1.5 1.5 0 0 1 15 2.5v9a1.5 1.5 0 0 1-1.5 1.5H13v.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 1 13.5v-9A1.5 1.5 0 0 1 2.5 3H3v-.5ZM4.5 2a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-9Zm0 11A1.5 1.5 0 0 1 3 11.5V4h-.5a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5V13H4.5Z'></path>\",\"<path d='M10.576 8h6.848a.5.5 0 0 1 .381.823l-3.423 4.054a.5.5 0 0 1-.764 0l-3.424-4.054A.5.5 0 0 1 10.576 8Z'></path><path d='M5 4a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3h-1v1a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3V8a3 3 0 0 1 3-3h1V4Zm3-1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H8Zm0 16a3 3 0 0 1-3-3V7H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1H8Z'></path>\",\"<path d='M12.864 11h10.272a.75.75 0 0 1 .573 1.234l-5.136 6.087a.75.75 0 0 1-1.146 0l-5.136-6.087A.75.75 0 0 1 12.864 11Z'></path><path d='M6 5a3 3 0 0 1 3-3h18a3 3 0 0 1 3 3v18a3 3 0 0 1-3 3h-1v1a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3h1V5Zm3-1a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H9Zm0 22a3 3 0 0 1-3-3V8H5a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1v-1H9Z'></path>\"]];","export default [[\"M8 2.5a.5.5 0 0 0-.83-.376l-4 3.5a.5.5 0 0 0 0 .752l4 3.5A.5.5 0 0 0 8 9.5v-7Z\",\"M10 3.5a.5.5 0 0 0-.834-.372l-5 4.5a.5.5 0 0 0 0 .744l5 4.5A.5.5 0 0 0 10 12.5v-9Z\",\"M15 5.5a.5.5 0 0 0-.84-.366l-7 6.5a.5.5 0 0 0 0 .732l7 6.5A.5.5 0 0 0 15 18.5v-13Z\",\"M20.41 7.088A1 1 0 0 1 21 8v16a1 1 0 0 1-1.664.747l-9-8a1 1 0 0 1 0-1.494l9-8a1 1 0 0 1 1.074-.165Z\"]];","export default [[\"M11 2.5A1.5 1.5 0 0 0 9.5 1h-5a1.5 1.5 0 0 0-1.415 1H2.5A1.5 1.5 0 0 0 1 3.5v6A1.5 1.5 0 0 0 2.5 11h6A1.5 1.5 0 0 0 10 9.5v-.585A1.5 1.5 0 0 0 11 7.5v-5ZM2.5 3H3v4.5A1.5 1.5 0 0 0 4.5 9H9v.5a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-6a.5.5 0 0 1 .5-.5ZM8 6.722a.25.25 0 0 1-.408.194L5.486 5.193a.25.25 0 0 1 0-.386l2.106-1.723A.25.25 0 0 1 8 3.278v3.444Z\",\"M15 2.5A1.5 1.5 0 0 0 13.5 1h-9A1.5 1.5 0 0 0 3 2.5V3h-.5A1.5 1.5 0 0 0 1 4.5v9A1.5 1.5 0 0 0 2.5 15h9a1.5 1.5 0 0 0 1.5-1.5V13h.5a1.5 1.5 0 0 0 1.5-1.5v-9ZM2.5 4H3v7.5A1.5 1.5 0 0 0 4.5 13H12v.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5ZM7 7a.39.39 0 0 1 .142-.307l3.333-2.625a.302.302 0 0 1 .346-.026c.11.065.179.193.179.333v5.25c0 .14-.07.268-.18.333a.302.302 0 0 1-.345-.026L7.143 7.307A.39.39 0 0 1 7 7Z\",\"M23 4a3 3 0 0 0-3-3H8a3 3 0 0 0-3 3v1H4a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3v-1h1a3 3 0 0 0 3-3V4ZM4 7h1v9a3 3 0 0 0 3 3h9v1a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1Zm12 6.424a.5.5 0 0 1-.823.382l-4.054-3.424a.5.5 0 0 1 0-.764l4.054-3.424a.5.5 0 0 1 .823.383v6.847Z\",\"M30 5a3 3 0 0 0-3-3H9a3 3 0 0 0-3 3v1H5a3 3 0 0 0-3 3v18a3 3 0 0 0 3 3h18a3 3 0 0 0 3-3v-1h1a3 3 0 0 0 3-3V5ZM5 8h1v15a3 3 0 0 0 3 3h15v1a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1Zm16 11.136a.75.75 0 0 1-1.234.573l-6.087-5.136a.75.75 0 0 1 0-1.146l6.087-5.136A.75.75 0 0 1 21 8.864v10.272Z\"],[\"<path d='M8 6.722V3.278a.25.25 0 0 0-.408-.194L5.486 4.807a.25.25 0 0 0 0 .386l2.106 1.723A.25.25 0 0 0 8 6.722Z'></path><path d='M11 2.5A1.5 1.5 0 0 0 9.5 1h-5a1.5 1.5 0 0 0-1.414 1H2.5A1.5 1.5 0 0 0 1 3.5v6A1.5 1.5 0 0 0 2.5 11h6A1.5 1.5 0 0 0 10 9.5v-.585A1.5 1.5 0 0 0 11 7.5v-5ZM9.5 2a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-5a.5.5 0 0 1 .5-.5h5Zm-7 1H3v4.5A1.5 1.5 0 0 0 4.5 9H9v.5a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-6a.5.5 0 0 1 .5-.5Z'></path>\",\"<path d='M7 7a.39.39 0 0 1 .142-.307l3.333-2.625a.302.302 0 0 1 .346-.026c.11.065.179.193.179.333v5.25c0 .14-.07.268-.18.333a.302.302 0 0 1-.345-.026L7.143 7.307A.39.39 0 0 1 7 7Z'></path><path d='M15 2.5A1.5 1.5 0 0 0 13.5 1h-9A1.5 1.5 0 0 0 3 2.5V3h-.5A1.5 1.5 0 0 0 1 4.5v9A1.5 1.5 0 0 0 2.5 15h9a1.5 1.5 0 0 0 1.5-1.5V13h.5a1.5 1.5 0 0 0 1.5-1.5v-9ZM13.5 2a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h9Zm-11 2H3v7.5A1.5 1.5 0 0 0 4.5 13H12v.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5Z'></path>\",\"<path d='M16 13.424V6.577a.5.5 0 0 0-.823-.383l-4.054 3.424a.5.5 0 0 0 0 .764l4.054 3.424a.5.5 0 0 0 .823-.382Z'></path><path d='M23 4a3 3 0 0 0-3-3H8a3 3 0 0 0-3 3v1H4a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3v-1h1a3 3 0 0 0 3-3V4Zm-3-1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12ZM4 7h1v9a3 3 0 0 0 3 3h9v1a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1Z'></path>\",\"<path d='M21 19.136V8.864a.75.75 0 0 0-1.234-.573l-6.087 5.136a.75.75 0 0 0 0 1.146l6.087 5.136A.75.75 0 0 0 21 19.136Z'></path><path d='M30 5a3 3 0 0 0-3-3H9a3 3 0 0 0-3 3v1H5a3 3 0 0 0-3 3v18a3 3 0 0 0 3 3h18a3 3 0 0 0 3-3v-1h1a3 3 0 0 0 3-3V5Zm-3-1a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h18ZM5 8h1v15a3 3 0 0 0 3 3h15v1a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1Z'></path>\"]];","export default [[\"M4 9.5a.5.5 0 0 0 .83.376l4-3.5a.5.5 0 0 0 0-.752l-4-3.5A.5.5 0 0 0 4 2.5v7Z\",\"M6 3.5a.5.5 0 0 1 .834-.372l5 4.5a.5.5 0 0 1 0 .744l-5 4.5A.5.5 0 0 1 6 12.5v-9Z\",\"M9 5.5a.5.5 0 0 1 .84-.366l7 6.5a.5.5 0 0 1 0 .732l-7 6.5A.5.5 0 0 1 9 18.5v-13Z\",\"M11 24a1 1 0 0 0 1.664.747l9-8a1 1 0 0 0 0-1.494l-9-8A1 1 0 0 0 11 8v16Z\"]];","export default [[\"M10 9.5v-.585A1.5 1.5 0 0 0 11 7.5v-5A1.5 1.5 0 0 0 9.5 1h-5a1.5 1.5 0 0 0-1.415 1H2.5A1.5 1.5 0 0 0 1 3.5v6A1.5 1.5 0 0 0 2.5 11h6A1.5 1.5 0 0 0 10 9.5ZM2.5 3H3v4.5A1.5 1.5 0 0 0 4.5 9H9v.5a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-6a.5.5 0 0 1 .5-.5ZM6 6.722V3.278a.25.25 0 0 1 .408-.194l2.106 1.723a.25.25 0 0 1 0 .386L6.408 6.916A.25.25 0 0 1 6 6.722Z\",\"M3 2.5A1.5 1.5 0 0 1 4.5 1h9A1.5 1.5 0 0 1 15 2.5v9a1.5 1.5 0 0 1-1.5 1.5H13v.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 1 13.5v-9A1.5 1.5 0 0 1 2.5 3H3v-.5ZM4.5 13A1.5 1.5 0 0 1 3 11.5V4h-.5a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5V13H4.5ZM11 7a.39.39 0 0 0-.142-.307L7.524 4.068a.302.302 0 0 0-.345-.026.383.383 0 0 0-.179.333v5.25c0 .14.07.268.18.333.11.064.243.054.344-.026l3.334-2.625A.39.39 0 0 0 11 7Z\",\"M5 4a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3h-1v1a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3V8a3 3 0 0 1 3-3h1V4Zm3 15a3 3 0 0 1-3-3V7H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1H8Zm4-5.576a.5.5 0 0 0 .823.382l4.055-3.424a.5.5 0 0 0 0-.764l-4.055-3.424a.5.5 0 0 0-.823.383v6.847Z\",\"M6 5a3 3 0 0 1 3-3h18a3 3 0 0 1 3 3v18a3 3 0 0 1-3 3h-1v1a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3h1V5Zm3 21a3 3 0 0 1-3-3V8H5a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1v-1H9Zm6-6.864a.75.75 0 0 0 1.234.573l6.087-5.136a.75.75 0 0 0 0-1.146L16.234 8.29A.75.75 0 0 0 15 8.864v10.272Z\"],[\"<path d='M6 6.722V3.278a.25.25 0 0 1 .408-.194l2.106 1.723a.25.25 0 0 1 0 .386L6.408 6.916A.25.25 0 0 1 6 6.722Z'></path><path d='M11 7.5a1.5 1.5 0 0 1-1 1.415V9.5A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-6A1.5 1.5 0 0 1 2.5 2h.585A1.5 1.5 0 0 1 4.5 1h5A1.5 1.5 0 0 1 11 2.5v5ZM4.5 2a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-5Zm-2 1a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5V9H4.5A1.5 1.5 0 0 1 3 7.5V3h-.5Z'></path>\",\"<path d='M11 7a.39.39 0 0 0-.142-.307L7.524 4.068a.302.302 0 0 0-.345-.026.383.383 0 0 0-.179.333v5.25c0 .14.07.268.18.333.11.064.243.054.344-.026l3.334-2.625A.39.39 0 0 0 11 7Z'></path><path d='M3 2.5A1.5 1.5 0 0 1 4.5 1h9A1.5 1.5 0 0 1 15 2.5v9a1.5 1.5 0 0 1-1.5 1.5H13v.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 1 13.5v-9A1.5 1.5 0 0 1 2.5 3H3v-.5ZM4.5 2a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-9Zm0 11A1.5 1.5 0 0 1 3 11.5V4h-.5a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5V13H4.5Z'></path>\",\"<path d='M12 13.424V6.577a.5.5 0 0 1 .823-.383l4.055 3.424a.5.5 0 0 1 0 .764l-4.055 3.424a.5.5 0 0 1-.823-.382Z'></path><path d='M5 4a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3h-1v1a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3V8a3 3 0 0 1 3-3h1V4Zm3-1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H8Zm0 16h9v1a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h1v9a3 3 0 0 0 3 3Z'></path>\",\"<path d='M15 19.136V8.864a.75.75 0 0 1 1.234-.573l6.087 5.136a.75.75 0 0 1 0 1.146l-6.087 5.136A.75.75 0 0 1 15 19.136Z'></path><path d='M6 5a3 3 0 0 1 3-3h18a3 3 0 0 1 3 3v18a3 3 0 0 1-3 3h-1v1a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3h1V5Zm3-1a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H9Zm0 22a3 3 0 0 1-3-3V8H5a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1v-1H9Z'></path>\"]];","export default [[\"M2.5 8a.5.5 0 0 1-.376-.83l3.5-4a.5.5 0 0 1 .752 0l3.5 4A.5.5 0 0 1 9.5 8h-7Z\",\"M12.5 11a.5.5 0 0 0 .372-.835l-4.5-5a.5.5 0 0 0-.744 0l-4.5 5A.5.5 0 0 0 3.5 11h9Z\",\"M5.5 16a.5.5 0 0 1-.366-.84l6.5-7a.5.5 0 0 1 .732 0l6.5 7a.5.5 0 0 1-.366.84h-13Z\",\"M8 21a1 1 0 0 1-.747-1.664l8-9a1 1 0 0 1 1.494 0l8 9A1 1 0 0 1 24 21H8Z\"]];","export default [[\"M6.407.71a.5.5 0 0 0-.814 0l-2.5 3.5A.5.5 0 0 0 3.5 5h5a.5.5 0 0 0 .407-.79l-2.5-3.5Zm0 10.58a.5.5 0 0 1-.814 0l-2.5-3.5A.5.5 0 0 1 3.5 7h5a.5.5 0 0 1 .407.79l-2.5 3.5Z\",\"M8.41 1.213a.5.5 0 0 0-.82 0l-3.5 5A.5.5 0 0 0 4.5 7h7a.5.5 0 0 0 .41-.787l-3.5-5Zm0 13.574a.5.5 0 0 1-.82 0l-3.5-5A.5.5 0 0 1 4.5 9h7a.5.5 0 0 1 .41.787l-3.5 5Z\",\"M12.814 1.419a1 1 0 0 0-1.628 0l-5 7A1 1 0 0 0 7 10h10a1 1 0 0 0 .814-1.581l-5-7Zm0 21.162a1 1 0 0 1-1.628 0l-5-7A1 1 0 0 1 7 14h10a1 1 0 0 1 .814 1.581l-5 7Z\",\"M16.832 3.445a1 1 0 0 0-1.664 0l-6 9A1 1 0 0 0 10 14h12a1 1 0 0 0 .832-1.555l-6-9Zm0 25.11a1 1 0 0 1-1.664 0l-6-9A1 1 0 0 1 10 18h12a1 1 0 0 1 .832 1.555l-6 9Z\"],[\"M6 .5a.5.5 0 0 1 .407.21l2.5 3.5A.5.5 0 0 1 8.5 5h-5a.5.5 0 0 1-.407-.79l2.5-3.5A.5.5 0 0 1 6 .5ZM4.472 4h3.056L6 1.86 4.472 4ZM6 11.5a.5.5 0 0 0 .407-.21l2.5-3.5A.5.5 0 0 0 8.5 7h-5a.5.5 0 0 0-.407.79l2.5 3.5A.5.5 0 0 0 6 11.5ZM4.472 8h3.056L6 10.14 4.472 8Z\",\"M8 1a.5.5 0 0 1 .41.213l3.5 5A.5.5 0 0 1 11.5 7h-7a.5.5 0 0 1-.41-.787l3.5-5A.5.5 0 0 1 8 1ZM5.46 6h5.08L8 2.372 5.46 6ZM8 15a.5.5 0 0 0 .41-.213l3.5-5A.5.5 0 0 0 11.5 9h-7a.5.5 0 0 0-.41.787l3.5 5A.5.5 0 0 0 8 15Zm-2.54-5h5.08L8 13.628 5.46 10Z\",\"M12 1a1 1 0 0 1 .814.419l5 7A1 1 0 0 1 17 10H7a1 1 0 0 1-.814-1.581l5-7A1 1 0 0 1 12 1ZM8.943 8h6.114L12 3.72 8.943 8ZM12 23a1 1 0 0 0 .814-.419l5-7A1 1 0 0 0 17 14H7a1 1 0 0 0-.814 1.581l5 7A1 1 0 0 0 12 23Zm-3.057-7h6.114L12 20.28 8.943 16Z\",\"M16 3a1 1 0 0 1 .832.445l6 9A1 1 0 0 1 22 14H10a1 1 0 0 1-.832-1.555l6-9A1 1 0 0 1 16 3Zm-4.132 9h8.263L16 5.803 11.868 12ZM16 29a1 1 0 0 0 .832-.445l6-9A1 1 0 0 0 22 18H10a1 1 0 0 0-.832 1.555l6 9A1 1 0 0 0 16 29Zm-4.132-9h8.263L16 26.197 11.868 20Z\"]];","export default [[\"M2.5 1A1.5 1.5 0 0 0 1 2.5v7A1.5 1.5 0 0 0 2.5 11h6A1.5 1.5 0 0 0 10 9.5v-7A1.5 1.5 0 0 0 8.5 1h-6Zm1 7a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2ZM3 3.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1ZM8.5 10H8V8h1v1.5a.5.5 0 0 1-.5.5ZM9 5v2H8V5h1Zm0-1V2.5a.5.5 0 0 0-.5-.5H8v2h1Z\",\"M3.5 1A1.5 1.5 0 0 0 2 2.5v11A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5v-11A1.5 1.5 0 0 0 12.5 1h-9ZM4 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-3Zm.5 7.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Zm8.5-1V6h-2v4h2Zm-2 1v3h1.5a.5.5 0 0 0 .5-.5V11h-2Zm2-8.5V5h-2V2h1.5a.5.5 0 0 1 .5.5Z\",\"M6 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H6Zm2 4a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H8Zm0 10a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2H8Zm9 1v3h1a1 1 0 0 0 1-1v-2h-2Zm2-2v-5h-2v5h2Zm0-10v3h-2V4h1a1 1 0 0 1 1 1Z\",\"M8 3a3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H8Zm2 5a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1h-7Zm0 14a1 1 0 1 0 0 2h7a1 1 0 1 0 0-2h-7ZM22 9V5h2a1 1 0 0 1 1 1v3h-3Zm0 12v-4h3v4h-3Zm0 2v4h2a1 1 0 0 0 1-1v-3h-3Zm0-12h3v4h-3v-4Z\"],[\"<path d='M3 8.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm0-5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1Z'></path><path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v7A1.5 1.5 0 0 0 2.5 11h6A1.5 1.5 0 0 0 10 9.5v-7A1.5 1.5 0 0 0 8.5 1h-6ZM2 2.5a.5.5 0 0 1 .5-.5H7v8H2.5a.5.5 0 0 1-.5-.5v-7ZM8 10h.5a.5.5 0 0 0 .5-.5V8H8v2Zm1-3V5H8v2h1Zm0-4.5V4H8V2h.5a.5.5 0 0 1 .5.5Z'></path>\",\"<path d='M4.5 3a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-4ZM5 6V4h3v2H5Zm-.5 5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Z'></path><path d='M3.5 1A1.5 1.5 0 0 0 2 2.5v11A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5v-11A1.5 1.5 0 0 0 12.5 1h-9ZM13 6v4h-2V6h2Zm-2 8v-3h2v2.5a.5.5 0 0 1-.5.5H11Zm2-9V2.5a.5.5 0 0 0-.5-.5H11v3h2ZM3 2.5a.5.5 0 0 1 .5-.5H10v12H3.5a.5.5 0 0 1-.5-.5v-11Z'></path>\",\"<path d='M8 6a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H8Zm1 3V8h2v1H9Zm-1 7a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2H8Z'></path><path d='M6 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H6ZM5 5a1 1 0 0 1 1-1h9v16H6a1 1 0 0 1-1-1V5Zm12 15v-3h2v2a1 1 0 0 1-1 1h-1Zm2-10v5h-2v-5h2Zm0-2V5a1 1 0 0 0-1-1h-1v4h2Z'></path>\",\"<path d='M9 9a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1h-7a1 1 0 0 1-1-1V9Zm2 1v3h5v-3h-5Zm-1 12a1 1 0 1 0 0 2h7a1 1 0 1 0 0-2h-7Z'></path><path d='M5 6a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H8a3 3 0 0 1-3-3V6Zm3-1a1 1 0 0 0-1 1v20a1 1 0 0 0 1 1h12V5H8Zm14 0v4h3V6a1 1 0 0 0-1-1h-2Zm0 12v4h3v-4h-3Zm0 10v-4h3v3a1 1 0 0 1-1 1h-2Zm3-16h-3v4h3v-4Z'></path>\"]];","export default [[\"<path d='M10.854 3.854a.5.5 0 0 0 0-.708l-1-1a.5.5 0 1 0-.708.708L9.293 3H1.5a.5.5 0 0 0 0 1h1.793l1.353 1.353a.5.5 0 1 0 .708-.707L4.707 4h4.586l-.147.146a.5.5 0 1 0 .708.708l1-1ZM10 8v1.5a.5.5 0 0 1-.5.5H8a.5.5 0 0 1 0-1h.293l-.647-.647a.5.5 0 1 1 .708-.707L9 8.293V8a.5.5 0 0 1 1 0Z'></path><path d='M7.354 7.353a.5.5 0 0 0 0-.707l-1-1a.5.5 0 1 0-.708.707l1 1a.5.5 0 0 0 .708 0Z'></path>\",\"m11.854 7.854 2-2a.5.5 0 0 0 0-.708l-2-2a.5.5 0 0 0-.708.708L12.293 5H2.5a.5.5 0 0 0 0 1h2.793l.853.853a.5.5 0 1 0 .708-.707L6.707 6h5.586l-1.147 1.146a.5.5 0 0 0 .708.708ZM12.5 9a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1 0-1h1.793l-1.147-1.146a.5.5 0 0 1 .708-.708L12 11.293V9.5a.5.5 0 0 1 .5-.5Zm-3.146.353a.5.5 0 0 0 0-.707l-1-1a.5.5 0 1 0-.708.707l1 1a.5.5 0 0 0 .708 0Z\",\"<path d='m19.707 10.707 2-2a1 1 0 0 0 0-1.414l-2-2a1 1 0 1 0-1.414 1.414l.293.293H3a1 1 0 1 0 0 2h5.586l1.707 1.707a1 1 0 0 0 1.414-1.414L11.414 9h7.172l-.293.293a1 1 0 0 0 1.414 1.414ZM20 15a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-3a1 1 0 1 1 0-2h.586l-1.293-1.293a1 1 0 0 1 1.414-1.414L19 16.586V16a1 1 0 0 1 1-1Z'></path><path d='M15.707 14.707a1 1 0 0 0 0-1.414l-2-2a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0Z'></path>\",\"m28.707 11.707-3 3a1 1 0 0 1-1.414-1.414L25.586 12H14.414l.793.793a1 1 0 0 1-1.414 1.414L11.586 12H4a1 1 0 1 1 0-2h21.586l-1.293-1.293a1 1 0 0 1 1.414-1.414l3 3a1 1 0 0 1 0 1.414ZM23.586 24H22a1 1 0 1 0 0 2h4a1 1 0 0 0 1-1v-4a1 1 0 1 0-2 0v1.586l-2.293-2.293a1 1 0 0 0-1.414 1.414L23.586 24Zm-3.379-4.793a1 1 0 0 0 0-1.414l-2.5-2.5a1 1 0 0 0-1.414 1.414l2.5 2.5a1 1 0 0 0 1.414 0Z\"]];","export default [[\"m1.354 11.354 10-10a.5.5 0 0 0-.708-.708l-.949.95A1.498 1.498 0 0 0 8.5 1h-6A1.5 1.5 0 0 0 1 2.5v7c0 .232.052.45.146.647l-.5.5a.5.5 0 0 0 .708.707Zm7.614-9.03L8 3.294V2h.5a.5.5 0 0 1 .468.325ZM3.5 3h2a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5Zm2 6h-.38l-2 2H8.5A1.5 1.5 0 0 0 10 9.5V4.12l-1 1V7H8v-.88L5.908 8.21A.5.5 0 0 1 5.5 9Zm3 1H8V8h1v1.5a.5.5 0 0 1-.5.5Z\",\"M14.854 1.854a.5.5 0 0 0-.708-.708l-.449.45A1.498 1.498 0 0 0 12.5 1h-9A1.5 1.5 0 0 0 2 2.5v10.793l-.854.853a.5.5 0 0 0 .708.708l13-13ZM9 6.293 8.293 7H4.5a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v2.793Zm2-2V2h1.5a.5.5 0 0 1 .468.325L11 4.293ZM12.12 6 14 4.12v9.38a1.5 1.5 0 0 1-1.5 1.5h-9a1.53 1.53 0 0 1-.341-.039L6.119 12H8.5a.5.5 0 0 0 0-1H7.12L11 7.12V10h2V6h-.88ZM11 14h1.5a.5.5 0 0 0 .5-.5V11h-2v3Z\",\"m2.707 22.707 20-20a1 1 0 0 0-1.414-1.414l-1.389 1.389A2.988 2.988 0 0 0 18 2H6a3 3 0 0 0-3 3v14c0 .184.016.363.048.538l-1.755 1.755a1 1 0 1 0 1.414 1.414ZM13 9.586 11.586 11H8a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2.586Zm4-4V4h1c.17 0 .33.042.47.117L17 5.586ZM18 22H6.243l4-4H12a1 1 0 0 0 .219-1.976L17 11.243V15h2v-5h-.757L21 7.243V19a3 3 0 0 1-3 3Zm-1-2h1a1 1 0 0 0 1-1v-2h-2v3Z\",\"m3.707 29.707 26-26a1 1 0 0 0-1.414-1.414l-1.899 1.899A2.995 2.995 0 0 0 24 3H8a3 3 0 0 0-3 3v19.586l-2.707 2.707a1 1 0 1 0 1.414 1.414ZM15.586 15H10a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v3.586L15.586 15ZM22 8.586V5h2a1 1 0 0 1 .937.65L22 8.585ZM12.245 24l-4.923 4.923c.218.05.445.077.678.077h16a3 3 0 0 0 3-3V9.245l-2 2V15h-3v-.755L14.245 22H17a1 1 0 1 1 0 2h-4.755ZM22 17h3v4h-3v-4Zm0 10v-4h3v3a1 1 0 0 1-1 1h-2Z\"],[\"<path d='M3 3.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1Z'></path><path d='m1.354 11.354 10-10a.5.5 0 0 0-.708-.708l-.949.95A1.498 1.498 0 0 0 8.5 1h-6A1.5 1.5 0 0 0 1 2.5v7c0 .232.052.45.146.647l-.5.5a.5.5 0 0 0 .708.707ZM2 9.293V2.5a.5.5 0 0 1 .5-.5H7v2.293l-5 5Zm6-6V2h.5a.5.5 0 0 1 .468.325L8 3.293ZM5.908 8.211 5.12 9h.38a.5.5 0 0 0 .408-.789Z'></path><path d='M7 10H4.12l-1 1H8.5A1.5 1.5 0 0 0 10 9.5V4.12l-1 1V7H8v-.88l-1 1V10Zm1 0V8h1v1.5a.5.5 0 0 1-.5.5H8Z'></path>\",\"<path d='M14.854 1.854a.5.5 0 0 0-.708-.708l-.449.45A1.498 1.498 0 0 0 12.5 1h-9A1.5 1.5 0 0 0 2 2.5v10.793l-.854.853a.5.5 0 0 0 .708.708l13-13ZM3 12.293V2.5a.5.5 0 0 1 .5-.5H10v3.293l-1 1V3.5a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3.793L3 12.293Zm8-8V2h1.5a.5.5 0 0 1 .468.325L11 4.293ZM5 6V4h3v2H5Zm7.12 0L14 4.12v9.38a1.5 1.5 0 0 1-1.5 1.5h-9a1.53 1.53 0 0 1-.341-.039l.96-.961H10V8.12l1-1V10h2V6h-.88ZM11 14h1.5a.5.5 0 0 0 .5-.5V11h-2v3Z'></path><path d='M8.5 12H6.12l1-1H8.5a.5.5 0 0 1 0 1Z'></path>\",\"<path d='m2.707 22.707 20-20a1 1 0 0 0-1.414-1.414l-1.389 1.389A2.988 2.988 0 0 0 18 2H6a3 3 0 0 0-3 3v14c0 .184.016.363.048.538l-1.755 1.755a1 1 0 1 0 1.414 1.414ZM5 17.586V5a1 1 0 0 1 1-1h9v3.586l-2 2V7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h3.586L5 17.586Zm12-12V4h1c.17 0 .33.042.47.117L17 5.586ZM9 9V8h2v1H9Zm3.219 7.024L10.243 18H12a1 1 0 0 0 .219-1.976Z'></path><path d='M15 20H8.243l-2 2H18a3 3 0 0 0 3-3V7.243L18.243 10H19v5h-2v-3.757l-2 2V20Zm2 0v-3h2v2a1 1 0 0 1-1 1h-1Z'></path>\",\"<path d='m3.707 29.707 26-26a1 1 0 0 0-1.414-1.414l-1.899 1.899A2.995 2.995 0 0 0 24 3H8a3 3 0 0 0-3 3v19.586l-2.707 2.707a1 1 0 1 0 1.414 1.414ZM7 23.586V6a1 1 0 0 1 1-1h12v5.586l-2 2V9a1 1 0 0 0-1-1h-7a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h5.586L7 23.586Zm15-15V5h2a1 1 0 0 1 .937.65L22 8.585ZM11 10h5v3h-5v-3Zm14 1.245 2-2V26a3 3 0 0 1-3 3H8a3.03 3.03 0 0 1-.678-.077L9.245 27H20V16.245l2-2V15h3v-3.755ZM22 17v4h3v-4h-3Zm0 10h2a1 1 0 0 0 1-1v-3h-3v4Z'></path><path d='M17 24h-4.755l2-2H17a1 1 0 1 1 0 2Z'></path>\"]];","export default [[\"<path d='M5 5.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Z'></path><path d='M11 5.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0ZM5.5 4a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM5 2.5a.5.5 0 0 1 .5-.5A3.5 3.5 0 0 1 9 5.5a.5.5 0 0 1-1 0A2.5 2.5 0 0 0 5.5 3a.5.5 0 0 1-.5-.5Zm-2 3a.5.5 0 1 0-1 0 3.49 3.49 0 0 0 1.025 2.475.5.5 0 0 0 .707-.707A2.49 2.49 0 0 1 3 5.5Z'></path>\",\"<path d='M6 7.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Z'></path><path d='M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0ZM7.5 5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5ZM7 2.5a.5.5 0 0 1 .5-.5A5.5 5.5 0 0 1 13 7.5a.5.5 0 0 1-1 0A4.5 4.5 0 0 0 7.5 3a.5.5 0 0 1-.5-.5Zm-4 5a.5.5 0 1 0-1 0c0 1.407.537 2.815 1.61 3.889a.5.5 0 1 0 .708-.707A4.484 4.484 0 0 1 3 7.5Z'></path>\",\"<path d='M11 12a1 1 0 1 1 2 0 1 1 0 0 1-2 0Z'></path><path d='M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm11-6a1 1 0 1 0 0 2 4 4 0 0 1 4 4 1 1 0 1 0 2 0 6 6 0 0 0-6-6Zm0 3a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm-5 2a1 1 0 0 1 1 1 3.98 3.98 0 0 0 1.172 2.828 1 1 0 1 1-1.415 1.414A5.984 5.984 0 0 1 6 12a1 1 0 0 1 1-1Z'></path>\",\"<path d='M14 16a2 2 0 1 1 4 0 2 2 0 0 1-4 0Z'></path><path d='M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Zm14-4a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm-1-5a1 1 0 0 1 1-1c5.523 0 10 4.477 10 10a1 1 0 1 1-2 0 8 8 0 0 0-8-8 1 1 0 0 1-1-1Zm-7 9a1 1 0 1 0-2 0 9.97 9.97 0 0 0 2.929 7.072 1 1 0 0 0 1.414-1.415A7.972 7.972 0 0 1 8 16Z'></path>\"],[\"<path d='M5.5 2a.5.5 0 0 0 0 1A2.5 2.5 0 0 1 8 5.5a.5.5 0 0 0 1 0A3.5 3.5 0 0 0 5.5 2Zm-3 3a.5.5 0 0 1 .5.5c0 .64.243 1.28.732 1.768a.5.5 0 1 1-.707.707A3.49 3.49 0 0 1 2 5.5a.5.5 0 0 1 .5-.5Zm3-1a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM5 5.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Z'></path><path d='M11 5.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-1 0a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Z'></path>\",\"<path d='M7.5 2a.5.5 0 0 0 0 1A4.5 4.5 0 0 1 12 7.5a.5.5 0 0 0 1 0A5.5 5.5 0 0 0 7.5 2ZM5 7.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0ZM7.5 6a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM3 7.5a.5.5 0 1 0-1 0c0 1.407.537 2.815 1.61 3.889a.5.5 0 1 0 .708-.707A4.484 4.484 0 0 1 3 7.5Z'></path><path d='M7.5 0a7.5 7.5 0 1 0 0 15 7.5 7.5 0 0 0 0-15ZM1 7.5a6.5 6.5 0 1 1 13 0 6.5 6.5 0 0 1-13 0Z'></path>\",\"M3 12a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-11C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1Zm0 5a1 1 0 1 0 0 2 4 4 0 0 1 4 4 1 1 0 1 0 2 0 6 6 0 0 0-6-6Zm-5 5a1 1 0 0 1 1 1c0 1.025.39 2.047 1.172 2.829a1 1 0 1 1-1.415 1.414A5.984 5.984 0 0 1 6 12a1 1 0 0 1 1-1Zm4 1a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm1-3a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z\",\"<path d='M16 6a1 1 0 1 0 0 2 8 8 0 0 1 8 8 1 1 0 1 0 2 0c0-5.523-4.477-10-10-10Zm-9 9a1 1 0 0 1 1 1c0 2.049.78 4.095 2.343 5.657A1 1 0 1 1 8.93 23.07 9.972 9.972 0 0 1 6 16a1 1 0 0 1 1-1Zm9-3a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm-2 4a2 2 0 1 1 4 0 2 2 0 0 1-4 0Z'></path><path d='M16 2C8.268 2 2 8.268 2 16s6.268 14 14 14 14-6.268 14-14S23.732 2 16 2ZM4 16C4 9.373 9.373 4 16 4s12 5.373 12 12-5.373 12-12 12S4 22.627 4 16Z'></path>\"]];","export default [[\"M2 1.5A1.5 1.5 0 0 1 3.5 0h5A1.5 1.5 0 0 1 10 1.5v9A1.5 1.5 0 0 1 8.5 12h-5A1.5 1.5 0 0 1 2 10.5v-9ZM9 3v6.5H3V3h6Z\",\"M3 2.5A1.5 1.5 0 0 1 4.5 1h7A1.5 1.5 0 0 1 13 2.5v11a1.5 1.5 0 0 1-1.5 1.5h-7A1.5 1.5 0 0 1 3 13.5v-11Zm9 9.5H4V4h8v8Z\",\"M5 4a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v16a3 3 0 0 1-3 3H8a3 3 0 0 1-3-3V4Zm12 14H7V6h10v12Z\",\"M7 5a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v22a3 3 0 0 1-3 3H10a3 3 0 0 1-3-3V5Zm16 19H9V8h14v16Z\"],[\"M2 1.5A1.5 1.5 0 0 1 3.5 0h5A1.5 1.5 0 0 1 10 1.5v9A1.5 1.5 0 0 1 8.5 12h-5A1.5 1.5 0 0 1 2 10.5v-9ZM3.5 1a.5.5 0 0 0-.5.5V2h6v-.5a.5.5 0 0 0-.5-.5h-5ZM3 9V3h6v6H3Zm0 1v.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5V10H3Z\",\"M3 2.5A1.5 1.5 0 0 1 4.5 1h7A1.5 1.5 0 0 1 13 2.5v11a1.5 1.5 0 0 1-1.5 1.5h-7A1.5 1.5 0 0 1 3 13.5v-11ZM4.5 2a.5.5 0 0 0-.5.5V3h8v-.5a.5.5 0 0 0-.5-.5h-7ZM4 12V4h8v8H4Zm0 1v.5a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5V13H4Z\",\"M5 4a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v16a3 3 0 0 1-3 3H8a3 3 0 0 1-3-3V4Zm12 14V6H7v12h10ZM7 20a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1H7Zm9-17a1 1 0 0 1 1 1H7a1 1 0 0 1 1-1h8Z\",\"M7 5a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v22a3 3 0 0 1-3 3H10a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v1h14V5a1 1 0 0 0-1-1H10ZM9 24V8h14v16H9Zm0 2v1a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1H9Z\"]];","export default [[\"<path d='M5 .5a.5.5 0 0 1 .5-.5 5.5 5.5 0 1 1-4.243 2H.5a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-.829A4.5 4.5 0 1 0 5.5 1 .5.5 0 0 1 5 .5Z'></path><path d='M5.5 3a.5.5 0 0 1 .5.5v2.25L7.8 7.1a.5.5 0 0 1-.6.8l-2-1.5A.5.5 0 0 1 5 6V3.5a.5.5 0 0 1 .5-.5Z'></path>\",\"<path d='M7.5 0a.5.5 0 0 0 0 1A6.5 6.5 0 1 1 2 4.034V4.5a.5.5 0 0 0 1 0v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0 0 1h1a7.5 7.5 0 1 0 6-3Z'></path><path d='M7.5 3a.5.5 0 0 1 .5.5v3.732l2.777 1.852a.5.5 0 0 1-.554.832l-3-2A.5.5 0 0 1 7 7.5v-4a.5.5 0 0 1 .5-.5Z'></path>\",\"<path d='M11 2a1 1 0 0 1 1-1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12c0-2.66.944-5.099 2.514-7H3a1 1 0 0 1 0-2h3a1 1 0 0 1 1 1v3a1 1 0 0 1-2 0v-.658A8.96 8.96 0 0 0 3 12a9 9 0 1 0 9-9 1 1 0 0 1-1-1Z'></path><path d='M13 7a1 1 0 1 0-2 0v5a1 1 0 0 0 .553.894l4 2a1 1 0 1 0 .894-1.788L13 11.382V7Z'></path>\",\"<path d='M15 3a1 1 0 0 1 1-1c7.732 0 14 6.268 14 14s-6.268 14-14 14S2 23.732 2 16c0-3.918 1.61-7.46 4.202-10H5a1 1 0 0 1 0-2h4a1 1 0 0 1 1 1v4a1 1 0 0 1-2 0V7.055A11.969 11.969 0 0 0 4 16c0 6.627 5.373 12 12 12s12-5.373 12-12S22.627 4 16 4a1 1 0 0 1-1-1Z'></path><path d='M16 6a1 1 0 0 1 1 1v8.42l6.496 3.712a1 1 0 1 1-.992 1.736l-7-4A1 1 0 0 1 15 16V7a1 1 0 0 1 1-1Z'></path>\"]];","export default [[\"M8.5 9a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm0-5a.5.5 0 0 1 .5.5v.793l.854.853a.5.5 0 0 1-.708.708l-1-1A.5.5 0 0 1 8 5.5v-1a.5.5 0 0 1 .5-.5ZM2.854 5.146a.5.5 0 0 1 0 .708L1.707 7H4.5a.5.5 0 0 1 0 1H1.707l1.147 1.146a.5.5 0 1 1-.708.708l-2-2a.5.5 0 0 1 0-.708l2-2a.5.5 0 0 1 .708 0Z\",\"M10.5 11a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm0-7a.5.5 0 0 1 .5.5v1.691l1.724.862a.5.5 0 1 1-.448.894l-2-1A.5.5 0 0 1 10 6.5v-2a.5.5 0 0 1 .5-.5ZM3.854 9.146a.5.5 0 0 1 0 .708L2.707 11H6.5a.5.5 0 0 1 0 1H2.707l1.147 1.146a.5.5 0 0 1-.708.708l-2-2a.5.5 0 0 1 0-.708l2-2a.5.5 0 0 1 .708 0Z\",\"M23 9A7 7 0 1 1 9 9a7 7 0 0 1 14 0Zm-6-3a1 1 0 1 0-2 0v3a1 1 0 0 0 .486.857l2.5 1.5a1 1 0 0 0 1.029-1.714L17 8.433V6ZM4.414 16l2.293-2.293a1 1 0 1 0-1.414-1.414l-4 4a1 1 0 0 0 0 1.414l4 4a1 1 0 0 0 1.414-1.414L4.414 18H10a1 1 0 1 0 0-2H4.414Z\",\"M20.5 21a8.5 8.5 0 1 0 0-17 8.5 8.5 0 0 0 0 17ZM20 8a1 1 0 0 1 1 1v2.807l3.351 1.257a1 1 0 0 1-.702 1.872l-4-1.5A1 1 0 0 1 19 12.5V9a1 1 0 0 1 1-1ZM7.707 18.293a1 1 0 0 1 0 1.414L5.414 22H12a1 1 0 1 1 0 2H5.414l2.293 2.293a1 1 0 1 1-1.414 1.414l-4-4a1 1 0 0 1 0-1.414l4-4a1 1 0 0 1 1.414 0Z\"],[\"<path d='M9 4.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 .146.354l1 1a.5.5 0 1 0 .708-.708L9 5.293V4.5Z'></path><path d='M12 5.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-1 0a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Zm-8.146-.354a.5.5 0 0 1 0 .708L1.707 7H4.5a.5.5 0 0 1 0 1H1.707l1.147 1.146a.5.5 0 1 1-.708.708l-2-2a.5.5 0 0 1 0-.708l2-2a.5.5 0 0 1 .708 0Z'></path>\",\"<path d='M11 4.5a.5.5 0 0 0-1 0v2a.5.5 0 0 0 .276.447l2 1a.5.5 0 1 0 .448-.894L11 6.19V4.5Z'></path><path d='M15 6.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-1 0a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0ZM3.854 9.854a.5.5 0 1 0-.708-.708l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 0 0 .708-.708L2.707 12H6.5a.5.5 0 0 0 0-1H2.707l1.147-1.146Z'></path>\",\"<path d='M17 6a1 1 0 1 0-2 0v3a1 1 0 0 0 .486.857l2.5 1.5a1 1 0 0 0 1.029-1.714L17 8.433V6Z'></path><path d='M23 9A7 7 0 1 1 9 9a7 7 0 0 1 14 0Zm-2 0a5 5 0 1 1-10 0 5 5 0 0 1 10 0ZM4.414 16l2.293-2.293a1 1 0 1 0-1.414-1.414l-4 4a1 1 0 0 0 0 1.414l4 4a1 1 0 0 0 1.414-1.414L4.414 18H10a1 1 0 1 0 0-2H4.414Z'></path>\",\"<path d='M21 9a1 1 0 1 0-2 0v3.5a1 1 0 0 0 .649.936l4 1.5a1 1 0 0 0 .702-1.872L21 11.807V9Z'></path><path d='M29 12.5a8.5 8.5 0 1 1-17 0 8.5 8.5 0 0 1 17 0Zm-2 0a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0ZM5.414 24l2.293 2.293a1 1 0 1 1-1.414 1.414l-4-4a1 1 0 0 1 0-1.414l4-4a1 1 0 0 1 1.414 1.414L5.414 22H12a1 1 0 1 1 0 2H5.414Z'></path>\"]];","export default [[\"M7 5.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-3-1a.5.5 0 0 0-1 0v1a.5.5 0 0 0 .146.354l1 1a.5.5 0 1 0 .708-.708L4 5.293V4.5ZM10.293 7 9.146 5.854a.5.5 0 1 1 .708-.708l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L10.293 8H7.5a.5.5 0 0 1 0-1h2.793Z\",\"M5.5 11a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm0-7a.5.5 0 0 1 .5.5v1.691l1.724.862a.5.5 0 1 1-.448.894l-2-1A.5.5 0 0 1 5 6.5v-2a.5.5 0 0 1 .5-.5Zm6.646 5.146a.5.5 0 0 0 0 .708L13.293 11H9.5a.5.5 0 0 0 0 1h3.793l-1.147 1.146a.5.5 0 0 0 .708.708l2-2a.5.5 0 0 0 0-.708l-2-2a.5.5 0 0 0-.708 0Z\",\"M15 9A7 7 0 1 1 1 9a7 7 0 0 1 14 0ZM9 6a1 1 0 0 0-2 0v3a1 1 0 0 0 .486.857l2.5 1.5a1 1 0 0 0 1.028-1.714L9 8.433V6Zm10.586 10-2.293-2.293a1 1 0 0 1 1.414-1.414l4 4a1 1 0 0 1 0 1.414l-4 4a1 1 0 0 1-1.414-1.414L19.586 18H14a1 1 0 1 1 0-2h5.586Z\",\"M20 12.5a8.5 8.5 0 1 1-17 0 8.5 8.5 0 0 1 17 0ZM12 9a1 1 0 1 0-2 0v3.5a1 1 0 0 0 .649.936l4 1.5a1 1 0 0 0 .702-1.872L12 11.807V9Zm14.586 13-2.293-2.293a1 1 0 0 1 1.414-1.414l4 4a1 1 0 0 1 0 1.414l-4 4a1 1 0 0 1-1.414-1.414L26.586 24H20a1 1 0 1 1 0-2h6.586Z\"],[\"<path d='M4 4.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 .146.354l1 1a.5.5 0 1 0 .708-.708L4 5.293V4.5Z'></path><path d='M7 5.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-1 0a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0ZM10.293 7 9.146 5.854a.5.5 0 1 1 .708-.708l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L10.293 8H7.5a.5.5 0 0 1 0-1h2.793Z'></path>\",\"<path d='M6 4.5a.5.5 0 0 0-1 0v2a.5.5 0 0 0 .276.447l2 1a.5.5 0 1 0 .448-.894L6 6.19V4.5Z'></path><path d='M10 6.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-1 0a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm3.146 3.354a.5.5 0 0 1 .708-.708l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L13.293 12H9.5a.5.5 0 0 1 0-1h3.793l-1.147-1.146Z'></path>\",\"<path d='M9 6a1 1 0 0 0-2 0v3a1 1 0 0 0 .486.857l2.5 1.5a1 1 0 0 0 1.028-1.714L9 8.433V6Z'></path><path d='M15 9A7 7 0 1 1 1 9a7 7 0 0 1 14 0Zm-2 0A5 5 0 1 1 3 9a5 5 0 0 1 10 0Zm6.586 7-2.293-2.293a1 1 0 0 1 1.414-1.414l4 4a1 1 0 0 1 0 1.414l-4 4a1 1 0 0 1-1.414-1.414L19.586 18H14a1 1 0 1 1 0-2h5.586Z'></path>\",\"<path d='M11 8a1 1 0 0 1 1 1v2.807l3.351 1.257a1 1 0 0 1-.702 1.872l-4-1.5A1 1 0 0 1 10 12.5V9a1 1 0 0 1 1-1Z'></path><path d='M11.5 21a8.5 8.5 0 1 0 0-17 8.5 8.5 0 0 0 0 17Zm0-2a6.5 6.5 0 1 0 0-13 6.5 6.5 0 0 0 0 13Zm14.207-.707a1 1 0 0 0-1.414 1.414L26.586 22H20a1 1 0 1 0 0 2h6.586l-2.293 2.293a1 1 0 0 0 1.414 1.414l4-4a1 1 0 0 0 0-1.414l-4-4Z'></path>\"]];","export default [[\"M2 1H1v10h10V4.5a.5.5 0 0 0-.895-.307L6.923 8.285 4.32 6.115a.5.5 0 0 0-.76.148L2 9.16V7.618l1.665-3.33L6.18 6.384a.5.5 0 0 0 .694-.052l4-4.5-.748-.664-3.678 4.138-2.628-2.19a.5.5 0 0 0-.767.16L2 5.382V1Z\",\"M2 1H1v14h14V6a.5.5 0 0 0-.896-.305l-4.676 6.078-3.599-3.15a.5.5 0 0 0-.75.109L2 13.569v-3.441L4.638 5.29l4.03 3.583a.5.5 0 0 0 .725-.065l5.5-7-.786-.618-5.172 6.582-4.103-3.647a.5.5 0 0 0-.77.135L2 8.039V1Z\",\"M1 1h2v10.614l3.66-5.657a1 1 0 0 1 1.486-.22l5.715 4.836 7.358-9.198 1.562 1.25-8 10a1 1 0 0 1-1.427.138L7.722 7.998 3 15.296v4.317l4.136-7.115a1 1 0 0 1 1.571-.205l5.21 5.21 7.302-9.128A1 1 0 0 1 23 9v14H1V1Z\",\"M2 2h2v14.434L9.146 7.98a1 1 0 0 1 1.516-.23l7.716 6.81 9.844-12.188 1.556 1.256-10.5 13a1 1 0 0 1-1.44.122l-7.604-6.71L4 20.28v6.688l5.63-9.96a1 1 0 0 1 1.554-.238l7.215 6.764 9.823-12.162A1 1 0 0 1 30 12v18H2V2Z\"]];","export default [[\"M0 1.5A.5.5 0 0 1 .5 1h2a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-7Zm4 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-5Zm4 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-3ZM3 10H0v1h3v-1Zm1 0h3v1H4v-1Zm7 0H8v1h3v-1Z\",\"M.5 3a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-2Zm4 4a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-2Zm4 2a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-2Zm4-3a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-6a.5.5 0 0 0-.5-.5h-2ZM0 14h3v1H0v-1Zm7 0H4v1h3v-1Zm1 0h3v1H8v-1Zm7 0h-3v1h3v-1Z\",\"M1 3a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H1Zm6 6a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-8a1 1 0 0 0-1-1H7Zm12-2.5a1 1 0 0 0-1 1V18a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1V7.5a1 1 0 0 0-1-1h-3ZM13 11a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-3ZM0 21h5v2H0v-2Zm17 0h-5v2h5v-2ZM6 21h5v2H6v-2Zm17 0h-5v2h5v-2Z\",\"M2 6a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H2Zm8 7a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V14a1 1 0 0 0-1-1h-4Zm8 4a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-7a1 1 0 0 0-1-1h-4Zm8-5a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V13a1 1 0 0 0-1-1h-4ZM1 28h6v2H1v-2Zm14 0H9v2h6v-2Zm2 0h6v2h-6v-2Zm14 0h-6v2h6v-2Z\"],[\"M.5 1a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-2ZM1 8V2h1v6H1Zm3.5-5a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-2ZM5 8V4h1v4H5Zm3-2.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-3ZM9 6v2h1V6H9Zm-6 4H0v1h3v-1Zm1 0h3v1H4v-1Zm7 0H8v1h3v-1Z\",\"M.5 3a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-2Zm.5 9V4h1v8H1Zm3.5-5a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-2Zm.5 5V8h1v4H5Zm3-2.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-3Zm1 .5v2h1v-2H9Zm3.5-4a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-6a.5.5 0 0 0-.5-.5h-2Zm1.5 6h-1V7h1v5ZM0 14h3v1H0v-1Zm7 0H4v1h3v-1Zm1 0h3v1H8v-1Zm7 0h-3v1h3v-1Z\",\"M1 3a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H1Zm1 14V5h1v12H2Zm5-8a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-8a1 1 0 0 0-1-1H7Zm1 8v-6h1v6H8Zm10-9.5a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1V18a1 1 0 0 1-1 1h-3a1 1 0 0 1-1-1V7.5Zm2 1V17h1V8.5h-1ZM13 11a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-3Zm1 6v-4h1v4h-1ZM0 21h5v2H0v-2Zm17 0h-5v2h5v-2ZM6 21h5v2H6v-2Zm17 0h-5v2h5v-2Z\",\"M2 6a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H2Zm1 18V8h2v16H3Zm7-11a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V14a1 1 0 0 0-1-1h-4Zm1 11v-9h2v9h-2Zm6-6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-7Zm2 1v5h2v-5h-2Zm7-7a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V13a1 1 0 0 0-1-1h-4Zm3 12h-2V14h2v10ZM1 28h6v2H1v-2Zm14 0H9v2h6v-2Zm2 0h6v2h-6v-2Zm14 0h-6v2h6v-2Z\"]];","export default [[\"M.5 1a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5H3V1.5a.5.5 0 0 0-.5-.5h-2ZM4 8H3V5h1v3Zm5.5-6a.5.5 0 0 0-.5.5V5H7.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-6a.5.5 0 0 0-.5-.5h-2Zm.5 6h1V3h-1v5Zm-5 2v1H0v-1h5Zm7 1v-1H7v1h5Z\",\"M.5 3a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-2ZM4 7.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-5ZM5 8v4h1V8H5Zm4 1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-3ZM13.5 6a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-6a.5.5 0 0 0-.5-.5h-2Zm1.5 6h-1V7h1v5ZM0 14h7v1H0v-1Zm16 0H9v1h7v-1Z\",\"M1 3a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H1Zm5 7a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-8Zm2 1v6h1v-6H8Zm12-4.5a1 1 0 0 0-1 1V18a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1V7.5a1 1 0 0 0-1-1h-3ZM21 17V8.5h1V17h-1Zm-7-6a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-3ZM0 21h11v2H0v-2Zm24 0H13v2h11v-2Z\",\"M2 6a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H2Zm7 8a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v11a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V14Zm2 1v9h2v-9h-2Zm6 3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-7Zm9-6a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V13a1 1 0 0 0-1-1h-4Zm1 12V14h2v10h-2ZM1 28h14v2H1v-2Zm30 0H17v2h14v-2Z\"],[\"M.5 1a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5H3V1.5a.5.5 0 0 0-.5-.5h-2ZM3 4v4h1V4H3ZM2 2H1v6h1V2Zm7 .5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 .5-.5H9V2.5ZM10 8h1V3h-1v5ZM9 6H8v2h1V6Zm-4 4v1H0v-1h5Zm7 1v-1H7v1h5Z\",\"M.5 3a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-2Zm.5 9V4h1v8H1Zm3.5-5a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-2Zm.5 5V8h1v4H5Zm4-2.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-3Zm1 .5v2h1v-2h-1Zm3.5-4a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-6a.5.5 0 0 0-.5-.5h-2Zm1.5 6h-1V7h1v5ZM0 14h7v1H0v-1Zm16 0H9v1h7v-1Z\",\"M1 3a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H1Zm1 14V5h1v12H2Zm5-8a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-8a1 1 0 0 0-1-1H7Zm1 8v-6h1v6H8Zm11-9.5a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1V18a1 1 0 0 1-1 1h-3a1 1 0 0 1-1-1V7.5Zm2 1V17h1V8.5h-1ZM14 11a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-3Zm1 6v-4h1v4h-1ZM0 21h11v2H0v-2Zm24 0H13v2h11v-2Z\",\"M2 6a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H2Zm1 18V8h2v16H3Zm7-11a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V14a1 1 0 0 0-1-1h-4Zm1 11v-9h2v9h-2Zm6-6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-7Zm2 1v5h2v-5h-2Zm7-7a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V13a1 1 0 0 0-1-1h-4Zm3 12h-2V14h2v10ZM1 28h14v2H1v-2Zm30 0H17v2h14v-2Z\"]];","export default [[\"M1 12h1v-1h2.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H2V7h5.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H2V3h7.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H1v12Z\",\"M1 1h1v1h9.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H2v1h6.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H2v1h3.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H2v2H1V1Z\",\"M1 1h2v1h14a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H3v1h10a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H3v1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H3v1H1V1Z\",\"M4 2H2v28h2v-2h7a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1H4v-2h14a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1H4v-2h19a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H4V2Z\"],[\"M9.5 0H1v12h1v-1h2.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H2V7h5.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H2V3h7.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5ZM2 2h7V1H2v1Zm0 3v1h5V5H2Zm0 4v1h2V9H2Z\",\"M2 1H1v14h1v-2h3.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H2V9h6.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H2V5h9.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H2V1Zm0 10v1h3v-1H2Zm6-3H2V7h6v1ZM2 3v1h9V3H2Z\",\"M3 1H1v22h2v-1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H3v-1h10a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H3V8h14a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H3V1Zm0 17v2h3v-2H3Zm9-5H3v-2h9v2ZM3 4v2h13V4H3Z\",\"M4 2H2v28h2v-2h7a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1H4v-2h14a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1H4v-2h19a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H4V2Zm0 3v3h18V5H4Zm0 9v3h13v-3H4Zm0 9v3h6v-3H4Z\"]];","export default [[\"<path d='M1 0h8.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H2v1h5.5a.5.5 0 0 1 .13.017A4.003 4.003 0 0 0 4.125 7H2v1h2c0 1.006.371 1.924.984 2.627A.5.5 0 0 1 4.5 11H2v1H1V0Z'></path><path d='M10.445 9.738a3 3 0 1 0-.707.707l1.408 1.409a.5.5 0 1 0 .707-.708l-1.408-1.408ZM10 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z'></path>\",\"<path d='M2 1H1v14h1v-2h3.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H2V9h4.256a4.513 4.513 0 0 1 2.69-2.725A.5.5 0 0 0 8.5 6H2V5h9.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H2V1Z'></path><path d='M13.303 12.596a3.5 3.5 0 1 0-.707.707l2.55 2.55a.5.5 0 0 0 .708-.707l-2.55-2.55ZM13 10.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Z'></path>\",\"<path d='M3 1H1v22h2v-1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H3v-1h5.016a7.5 7.5 0 0 1 3.74-6H3V8h14a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H3V1Z'></path><path d='M20.032 18.617a5.5 5.5 0 1 0-1.414 1.414l3.675 3.676a1 1 0 0 0 1.414-1.414l-3.675-3.675ZM19 15.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Z'></path>\",\"<path d='M2 2h2v1h19a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H4v2h14c.231 0 .444.078.613.21A8.51 8.51 0 0 0 12.132 19H4v2h7a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H4v2H2V2Z'></path><path d='M25.749 24.335a6.5 6.5 0 1 0-1.414 1.414l4.958 4.958a1 1 0 0 0 1.414-1.414l-4.958-4.958ZM25 20.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Z'></path>\"],[\"<path d='M9.5 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H2v1h5.5a.5.5 0 0 1 .13.017A3.984 3.984 0 0 0 5.353 5H2v1h2.535a3.97 3.97 0 0 0-.409 1H2v1h2c0 1.006.371 1.924.984 2.627A.5.5 0 0 1 4.5 11H2v1H1V0h8.5ZM9 2V1H2v1h7Zm-7 8h2V9H2v1Z'></path><path d='M10.445 9.738a3 3 0 1 0-.707.707l1.408 1.409a.5.5 0 1 0 .707-.708l-1.408-1.408ZM10 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z'></path>\",\"<path d='M1 1h1v1h9.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H2v1h6.5a.5.5 0 0 1 .447.275A4.494 4.494 0 0 0 7.67 7H2v1h4.758a4.484 4.484 0 0 0-.502 1H2v1h3.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H2v2H1V1Zm1 11h3v-1H2v1Zm0-8h9V3H2v1Z'></path><path d='M13.303 12.596a3.5 3.5 0 1 0-.707.707l2.55 2.55a.5.5 0 0 0 .708-.707l-2.55-2.55ZM13 10.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Z'></path>\",\"<path d='M1 1h2v1h14a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H3v1h8.756a7.538 7.538 0 0 0-2.257 2H3v2h5.427a7.467 7.467 0 0 0-.41 2H3v1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H3v1H1V1Zm2 19h3v-2H3v2ZM3 6h13V4H3v2Z'></path><path d='M20.032 18.617a5.5 5.5 0 1 0-1.414 1.414l3.675 3.676a1 1 0 0 0 1.414-1.414l-3.675-3.675ZM19 15.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Z'></path>\",\"<path d='M4 2H2v28h2v-2h7a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1H4v-2h8.132c.125-.7.335-1.37.62-2H4v-3h11.023a8.472 8.472 0 0 1 3.59-1.79A.996.996 0 0 0 18 12H4v-2h19a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H4V2Zm0 3h18v3H4V5Zm0 18h6v3H4v-3Z'></path><path d='M27 20.5a6.47 6.47 0 0 1-1.251 3.835l4.958 4.958a1 1 0 0 1-1.414 1.414l-4.958-4.958A6.5 6.5 0 1 1 27 20.5ZM20.5 25a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Z'></path>\"]];","export default [[\"M.5 11H0V2.5A.5.5 0 0 1 .5 2h2a.5.5 0 0 1 .5.5V10h1V4.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V10h1V7.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V10h1v1h-1.5s.001 0 0 0h-4s.001 0 0 0h-6Z\",\"M10.5 15s-.001 0 0 0H15v-1h-2v-3.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V14H9V7.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V14H5V4.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V14H1v1h9.5Z\",\"M16.999 23H23v-2h-1v-4a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v4h-1V11a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v10H8V7a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v14H1v2h15.999Z\",\"M3 28H2v2h28v-2h-2v-7a1 1 0 0 0-1-1h-5a1 1 0 0 0-1 1v7h-2V14a1 1 0 0 0-1-1h-5a1 1 0 0 0-1 1v14h-2V9a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v19Z\"],[\"M.5 11h8c-.001 0 0 0 0 0H12v-1h-1V7.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V10H7V4.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V10H3V2.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V11h.5ZM2 10V3H1v7h1Zm3 0h1V5H5v5Zm4 0h1V8H9v2Z\",\"M10.5 15s-.001 0 0 0H15v-1h-2v-3.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V14H9V7.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V14H5V4.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V14H1v1h9.5Zm.5-1h1v-3h-1v3ZM8 8v6H7V8h1Zm-4 6V5H3v9h1Z\",\"M16.999 23H23v-2h-1v-4a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v4h-1V11a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v10H8V7a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v14H1v2h15.999ZM18 21h2v-3h-2v3Zm-5-9v9h-2v-9h2Zm-7 9V8H4v13h2Z\",\"M4 30h26v-2h-2v-7a1 1 0 0 0-1-1h-5a1 1 0 0 0-1 1v7h-2V14a1 1 0 0 0-1-1h-5a1 1 0 0 0-1 1v14h-2V9a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v19H2v2h2Zm4-2V10H5v18h3Zm6 0h3V15h-3v13Zm9 0h3v-6h-3v6Z\"]];","export default [[\"<path d='M0 9h4.027A4.502 4.502 0 0 1 7 4.256V2.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V8H3V.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V9Zm10.354-1.146a.5.5 0 0 0-.708-.708L8 8.793l-.646-.647a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0l2-2Z'></path><path d='M5 8.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM8.5 6a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path>\",\"<path d='M9 6.6V4.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V11H5V1.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V11H1v1h5.022A5.5 5.5 0 0 1 9 6.6Zm4.854 4.254a.5.5 0 0 0-.708-.708L11 12.293l-.646-.647a.5.5 0 0 0-.708.708l1 1a.5.5 0 0 0 .708 0l2.5-2.5Z'></path><path d='M7 11.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM11.5 8a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M15 8.223V6a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v6.873a9.017 9.017 0 0 1 6-4.65ZM8.055 16H8V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v14H1v2h7.055a9.097 9.097 0 0 1 0-2Zm12.167.203a1 1 0 0 0-1.415-1.414l-2.792 2.793-1.293-1.293a1 1 0 0 0-1.415 1.414l2 2a1 1 0 0 0 1.415 0l3.5-3.5Z'></path><path d='M9.965 16.96a7 7 0 1 1 14 .001 7 7 0 0 1-14 0Zm7-5a5 5 0 1 0 0 10.001 5 5 0 0 0 0-10Z'></path>\",\"<path d='M2 22h1V3a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v19h1c0 .683.062 1.351.181 2H2v-2Zm17-10.586V8a1 1 0 0 0-1-1h-5a1 1 0 0 0-1 1v9.411a11.028 11.028 0 0 1 7-5.997Zm7.716 9.297a1 1 0 0 0-1.414-1.414l-4.793 4.793-1.793-1.793a1 1 0 0 0-1.414 1.414l2.5 2.5a1 1 0 0 0 1.414 0l5.5-5.5Z'></path><path d='M13.009 22.004a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"],[\"<path d='M0 9V.5A.5.5 0 0 1 .5 0h2a.5.5 0 0 1 .5.5V8h1V2.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v1.756a4.484 4.484 0 0 0-1 .502V3H5v2.671A4.481 4.481 0 0 0 4.027 9H0Zm2-8H1v7h1V1Zm8.354 6.854a.5.5 0 0 0-.708-.708L8 8.793l-.646-.647a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0l2-2Z'></path><path d='M5 8.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM8.5 6a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path>\",\"<path d='M9 6.6V4.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V11H5V1.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V11H1v1h5.022A5.475 5.475 0 0 1 7 8.337V5h1v2.257A5.508 5.508 0 0 1 9 6.6ZM4 2v9H3V2h1Zm9.854 8.854a.5.5 0 0 0-.708-.708L11 12.293l-.646-.647a.5.5 0 0 0-.708.708l1 1a.5.5 0 0 0 .708 0l2.5-2.5Z'></path><path d='M7 11.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM11.5 8a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M15 8.223V6a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v6.873a9.035 9.035 0 0 1 2-2.581V7h2v1.936a8.935 8.935 0 0 1 2-.713ZM8.055 16H8V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v14H1v2h7.055a9.097 9.097 0 0 1 0-2ZM6 3v13H4V3h2Zm14.222 13.203a1 1 0 0 0-1.415-1.414l-2.792 2.793-1.293-1.293a1 1 0 0 0-1.415 1.414l2 2a1 1 0 0 0 1.415 0l3.5-3.5Z'></path><path d='M9.965 16.96a7 7 0 1 1 14 .001 7 7 0 0 1-14 0Zm7-5a5 5 0 1 0 0 10.001 5 5 0 0 0 0-10Z'></path>\",\"<path d='M2 24v-2h1V3a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v19h1c0 .683.062 1.351.181 2H2ZM8 4H5v18h3V4Zm11 7.414V8a1 1 0 0 0-1-1h-5a1 1 0 0 0-1 1v9.411a11.02 11.02 0 0 1 2-2.96V9h3v3.2a10.924 10.924 0 0 1 2-.786Zm7.716 9.297a1 1 0 0 0-1.414-1.414l-4.793 4.793-1.793-1.793a1 1 0 0 0-1.414 1.414l2.5 2.5a1 1 0 0 0 1.414 0l5.5-5.5Z'></path><path d='M13.009 22.004a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"]];","export default [[\"<path d='M1 1v10h10v-1H2V1H1Z'></path><path d='M3 2.5a.5.5 0 0 1 .5-.5H4V1h1v1h.5a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5H5v1H4V7h-.5a.5.5 0 0 1-.5-.5v-4ZM5 3v1H4V3h1ZM4 5h1v1H4V5Zm3.5-2a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5H8v1h1V8h.5a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5H9V2H8v1h-.5ZM9 5V4H8v1h1Zm0 1H8v1h1V6Z'></path>\",\"<path d='M1 1v14h14v-1H2V1H1Z'></path><path d='M3 4.5a.5.5 0 0 1 .5-.5H4V3h1v1h.5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5H5v1H4v-1h-.5a.5.5 0 0 1-.5-.5v-5ZM5 9H4V8h1v1Zm0-2H4V5h1v2Zm2.5-1a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5H8v1h1v-1h.5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5H9V5H8v1h-.5Zm.5 5h1v-1H8v1Zm0-2h1V7H8v2Zm3-5.5a.5.5 0 0 1 .5-.5h.5V2h1v1h.5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5H13v1h-1V9h-.5a.5.5 0 0 1-.5-.5v-5ZM13 8h-1V7h1v1Zm0-2h-1V4h1v2Z'></path>\",\"<path d='M3 1v20h20v2H1V1h2Z'></path><path d='M20 5V3h2v2h1a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1h-1v2h-2v-2h-1a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h1Zm0 7h2v-1h-2v1Zm0-3h2V7h-2v2ZM4 8a1 1 0 0 1 1-1h1V5h2v2h1a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H8v2H6v-2H5a1 1 0 0 1-1-1V8Zm2 6h2v-1H6v1Zm0-3h2V9H6v2Zm5-1a1 1 0 0 1 1-1h1V7h2v2h1a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1h-1v2h-2v-2h-1a1 1 0 0 1-1-1v-7Zm4 6h-2v-1h2v1Zm0-3h-2v-2h2v2Z'></path>\",\"<path d='M4 2H2v28h28v-2H4V2Z'></path><path d='M6 9a1 1 0 0 1 1-1h1V5h2v3h1a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1h-1v3H8v-3H7a1 1 0 0 1-1-1V9Zm2 7v1h2v-1H8Zm0-2h2v-4H8v4Zm7-3a1 1 0 0 0-1 1v9a1 1 0 0 0 1 1h1v3h2v-3h1a1 1 0 0 0 1-1v-9a1 1 0 0 0-1-1h-1V8h-2v3h-1Zm1 9v-3h2v3h-2Zm2-5h-2v-2h2v2Zm4-6a1 1 0 0 1 1-1h1V5h2v3h1a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1h-1v3h-2v-3h-1a1 1 0 0 1-1-1V9Zm2 5v3h2v-3h-2Zm0-2h2v-2h-2v2Z'></path>\"],[\"<path d='M1 1v10h10v-1H2V1H1Z'></path><path d='M3 2.5a.5.5 0 0 1 .5-.5H4V1h1v1h.5a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5H5v1H4V7h-.5a.5.5 0 0 1-.5-.5v-4ZM5 3v1H4V3h1ZM4 5h1v1H4V5Zm3.5-2a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5H8v1h1V8h.5a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5H9V2H8v1h-.5ZM9 5V4H8v1h1Zm0 1H8v1h1V6Z'></path>\",\"<path d='M1 1v14h14v-1H2V1H1Z'></path><path d='M3 4.5a.5.5 0 0 1 .5-.5H4V3h1v1h.5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5H5v1H4v-1h-.5a.5.5 0 0 1-.5-.5v-5ZM5 9H4V8h1v1Zm0-2H4V5h1v2Zm2.5-1a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5H8v1h1v-1h.5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5H9V5H8v1h-.5Zm.5 5h1v-1H8v1Zm0-2h1V7H8v2Zm3-5.5a.5.5 0 0 1 .5-.5h.5V2h1v1h.5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5H13v1h-1V9h-.5a.5.5 0 0 1-.5-.5v-5ZM13 8h-1V7h1v1Zm0-2h-1V4h1v2Z'></path>\",\"<path d='M3 1v20h20v2H1V1h2Z'></path><path d='M20 5V3h2v2h1a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1h-1v2h-2v-2h-1a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h1Zm0 7h2v-1h-2v1Zm0-3h2V7h-2v2ZM4 8a1 1 0 0 1 1-1h1V5h2v2h1a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H8v2H6v-2H5a1 1 0 0 1-1-1V8Zm2 6h2v-1H6v1Zm0-3h2V9H6v2Zm5-1a1 1 0 0 1 1-1h1V7h2v2h1a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1h-1v2h-2v-2h-1a1 1 0 0 1-1-1v-7Zm4 6h-2v-1h2v1Zm0-3h-2v-2h2v2Z'></path>\",\"<path d='M10 8h1a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1h-1v3H8v-3H7a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h1V5h2v3Zm-2 6v-4h2v4H8Zm0 2v1h2v-1H8Zm7-5a1 1 0 0 0-1 1v9a1 1 0 0 0 1 1h1v3h2v-3h1a1 1 0 0 0 1-1v-9a1 1 0 0 0-1-1h-1V8h-2v3h-1Zm1 9v-3h2v3h-2Zm2-5h-2v-2h2v2Zm4-6a1 1 0 0 1 1-1h1V5h2v3h1a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1h-1v3h-2v-3h-1a1 1 0 0 1-1-1V9Zm2 5v3h2v-3h-2Zm0-2h2v-2h-2v2Z'></path><path d='M4 2H2v28h28v-2H4V2Z'></path>\"]];","export default [[\"<path d='M2 1v9h9v1H1V1h1Z'></path><path d='M4.5 1a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM9 8a1 1 0 1 1 2 0 1 1 0 0 1-2 0ZM4 4.5a1 1 0 1 0 0 2 1 1 0 0 0 0-2ZM6.5 6a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM9 2a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z'></path>\",\"<path d='M2 14V1H1v14h14v-1H2Z'></path><path d='M4 3a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm5 2.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0ZM6 11a2 2 0 1 1 4 0 2 2 0 0 1-4 0ZM3 7.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm8 4a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Z'></path>\",\"<path d='M3 21V1H1v22h22v-2H3ZM8 4a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm6 5a4 4 0 1 1 8 0 4 4 0 0 1-8 0Z'></path><path d='M4 10a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm12 7a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm-8-.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z'></path>\",\"<path d='M4 28V2H2v28h28v-2H4Z'></path><path d='M9 5.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Zm8 5.5a5 5 0 1 1 10 0 5 5 0 0 1-10 0Zm5 10.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM6 14a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm6 7a4 4 0 1 1 8 0 4 4 0 0 1-8 0Z'></path>\"],[\"<path d='M2 10V1H1v10h10v-1H2Z'></path><path d='M4.5 1a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM4 2.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0ZM9 8a1 1 0 1 1 2 0 1 1 0 0 1-2 0ZM4 4.5a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm1 3a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM6.5 7a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1ZM9 2a2 2 0 1 0 0 4 2 2 0 0 0 0-4ZM8 4a1 1 0 1 1 2 0 1 1 0 0 1-2 0Z'></path>\",\"<path d='M2 14V1H1v14h14v-1H2Z'></path><path d='M4 3a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm2-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm5.5 1a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5ZM10 5.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM8 9a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm-1 2a1 1 0 1 1 2 0 1 1 0 0 1-2 0ZM3 7.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM4.5 7a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm8 3a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm-.5 1.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Z'></path>\",\"<path d='M3 21V1H1v22h22v-2H3Z'></path><path d='M11 1a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm-1 3a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm8 1a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm-2 4a2 2 0 1 1 4 0 2 2 0 0 1-4 0ZM7 7a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm-1 3a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm10 7a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm3-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm-11 .5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Zm3.5-1.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z'></path>\",\"<path d='M4 28V2H2v28h28v-2H4Z'></path><path d='M12.5 2a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM11 5.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM22 6a5 5 0 1 0 0 10 5 5 0 0 0 0-10Zm-3 5a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm3 10.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Zm3.5-1.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM9 11a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm-1 3a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm4 7a4 4 0 1 1 8 0 4 4 0 0 1-8 0Zm4-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z'></path>\"]];","export default [[\"<path d='M2 4.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5V5h2v-.5a.5.5 0 0 1 1 0v2a.5.5 0 0 1-1 0V6H7v.5a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-2ZM6 5H5v1h1V5Z'></path><path d='M0 2.5A.5.5 0 0 1 .5 2h11a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5H.5a.5.5 0 0 1-.5-.5v-6ZM1 3v5h10V3H1Z'></path>\",\"<path d='M3.5 6a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5V8h1.5a.5.5 0 0 0 0-1H9v-.5a.5.5 0 0 0-.5-.5h-5ZM8 7H6v1h2V7Zm4.5-1a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2a.5.5 0 0 1 .5-.5Z'></path><path d='M1.5 4a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-6a.5.5 0 0 0-.5-.5h-13Zm.5 6V5h12v5H2Z'></path>\",\"<path d='M4 10a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v1h2a1 1 0 1 1 0 2h-2v1a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-4Zm8 1v2H8v-2h4Zm8 0a1 1 0 1 0-2 0v2a1 1 0 1 0 2 0v-2Z'></path><path d='M1 7a1 1 0 0 1 1-1h20a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V7Zm2 1v8h18V8H3Z'></path>\",\"<path d='M5 14a1 1 0 0 1 1-1h11a1 1 0 0 1 1 1v1h3v-1a1 1 0 1 1 2 0v1a1 1 0 1 1 0 2v1a1 1 0 1 1-2 0v-1h-3v1a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-4Zm11 1v2h-5v-2h5Zm11 0a1 1 0 1 0-2 0v2a1 1 0 1 0 2 0v-2Z'></path><path d='M2 11a1 1 0 0 1 1-1h26a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V11Zm2 1v8h24v-8H4Z'></path>\"]];","export default [[\"<path d='M4.5 10a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5H5V3h-.5a.5.5 0 0 1 0-1h2a.5.5 0 0 1 0 1H6v2h.5a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-2ZM6 7V6H5v1h1Z'></path><path d='M2.5 12a.5.5 0 0 1-.5-.5V.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v11a.5.5 0 0 1-.5.5h-6ZM3 1v10h5V1H3Z'></path>\",\"<path d='M6 12.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5H8V5.5a.5.5 0 0 0-1 0V7h-.5a.5.5 0 0 0-.5.5v5ZM7.5 8H7v2h1V8h-.5ZM6 3.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Z'></path><path d='M4 14.5a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5v-13a.5.5 0 0 0-.5-.5h-6a.5.5 0 0 0-.5.5v13ZM10 2v12H5V2h5Z'></path>\",\"<path d='M10 20a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1h1V8a1 1 0 1 1 2 0v2h1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1h-4Zm1-8h2v4h-2v-4Zm0-8a1 1 0 1 0 0 2h2a1 1 0 1 0 0-2h-2Z'></path><path d='M7 23a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v20a1 1 0 0 1-1 1H7Zm1-2h8V3H8v18Z'></path>\",\"<path d='M14 27a1 1 0 0 1-1-1V15a1 1 0 0 1 1-1h1v-3h-1a1 1 0 1 1 0-2h1a1 1 0 1 1 2 0h1a1 1 0 1 1 0 2h-1v3h1a1 1 0 0 1 1 1v11a1 1 0 0 1-1 1h-4Zm1-11h2v5h-2v-5Zm0-11a1 1 0 1 0 0 2h2a1 1 0 1 0 0-2h-2Z'></path><path d='M11 30a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v26a1 1 0 0 1-1 1H11Zm1-2h8V4h-8v24Z'></path>\"]];","export default [[\"M0 1.5A.5.5 0 0 1 .5 1h2a.5.5 0 0 1 .5.5V10h1V5.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V10h1V3.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V10h1v1h-1.5c.001 0 0 0 0 0h-4s.001 0 0 0H0V1.5ZM1 10h1V6H1v4Zm9 0V8H9v2h1Zm-4 0V9H5v1h1ZM1 2v2h1V2H1Zm4 5h1V6H5v1Zm5-3H9v2h1V4Z\",\"M2 3.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V14h1V6.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V14h1V4.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V14h1v1H1v-1h1V3.5ZM12 14h-1V9h1v5Zm0-7V5h-1v2h1Zm-4 7v-3H7v3h1ZM7 7h1v2H7V7ZM4 8v6H3V8h1Zm0-2V4H3v2h1Z\",\"M2 5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v16h1V10a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v11h1V8a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v13h1v2H1v-2h1V5Zm18 16h-2v-7h2v7Zm0-10V9h-2v2h2Zm-7 0h-2v2h2v-2Zm0 5h-2v5h2v-5ZM6 6v3H4V6h2Zm-2 6h2v9H4v-9Z\",\"M3 7a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v21h2V14a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v14h2V10a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v18h3v2H1v-2h2V7Zm23 21h-3v-9h3v9Zm0-14h-3v-3h3v3Zm-9 14v-7h-3v7h3Zm0-13v2h-3v-2h3Zm-9 2v11H5V17h3Zm0-4V8H5v5h3Z\"]];","export default [[\"M1 1H0V0h1v1Zm4 0H3V0h2v1Zm2 0h2V0H7v1Zm5 0h-1V0h1v1ZM0 11h1v-1H0v1Zm5 0H3v-1h2v1Zm2 0h2v-1H7v1Zm5 0h-1v-1h1v1ZM9.575 2.006a.5.5 0 0 1 .411.376L10.621 5H12v1h-1.137l.123.507-.972.236L9.834 6h-1.85L6.928 7.757a.5.5 0 0 1-.876-.033L5.19 6H3.583L1.93 8.757l-.858-.514L2.417 6H0V5h3.017L4.07 3.243a.5.5 0 0 1 .876.033L5.81 5h1.608L9.07 2.243a.5.5 0 0 1 .504-.237ZM6.817 6h-.508l.23.462L6.818 6ZM4.691 5l-.23-.462L4.182 5h.508Zm4.9 0-.29-1.197L8.583 5h1.009Z\",\"M1 2h2V1H1v1Zm9.966 1.318a.5.5 0 0 0-.925-.015L8.456 7H6.86l-.886-2.658a.5.5 0 0 0-.933-.039L3.885 7H1v1h2.456l-1.415 3.303.919.394L4.544 8H6.14l.886 2.658a.5.5 0 0 0 .934.039L9.116 8h2.604l.314.807.932-.364L12.793 8H15V7h-2.597l-1.437-3.682ZM11.329 7l-.85-2.18L9.543 7h1.785ZM8.028 8h-.834l.365 1.094L8.028 8ZM5.806 7l-.364-1.094L4.972 7h.834ZM7 2H5V1h2v1Zm2 0h2V1H9v1Zm6 0h-2V1h2v1ZM1 15h2v-1H1v1Zm6 0H5v-1h2v1Zm2 0h2v-1H9v1Zm6 0h-2v-1h2v1Z\",\"M1 4h3V2H1v2Zm17.416 1.6a1 1 0 0 0-1.81-.047L13.881 11h-2.764L9.394 7.553a1 1 0 0 0-1.789 0L5.882 11H1v2h3.882l-1.777 3.553 1.79.894L7.117 13h2.764l1.723 3.447a1 1 0 0 0 1.79 0L15.117 13h4.353l.613 1.4 1.832-.8-.262-.6H23v-2h-2.221l-2.363-5.4Zm.18 5.4-1.157-2.643L16.118 11h2.478Zm-5.714 2h-.764l.382.764.382-.764Zm-4-2-.382-.764-.382.764h.764ZM4 22H1v-2h3v2Zm5 0H6v-2h3v2ZM6 4h3V2H6v2Zm8 18h-3v-2h3v2ZM11 4h3V2h-3v2Zm8 18h-3v-2h3v2ZM16 4h3V2h-3v2Zm7 18h-2v-2h2v2ZM21 4h2V2h-2v2Z\",\"M5 5H2V3h3v2Zm0 24H2v-2h3v2Zm2 0h3v-2H7v2Zm3-24H7V3h3v2Zm2 24h3v-2h-3v2Zm3-24h-3V3h3v2Zm2 24h3v-2h-3v2Zm3-24h-3V3h3v2Zm2 24h3.001v-2H22v2Zm3.001-24H22V3h3.001v2ZM27 29h3v-2h-3v2Zm3-24h-3V3h3v2Zm-7.485 2a1 1 0 0 1 .91.621L26.446 15H30v2h-2.738l.664 1.621-1.851.758L25.1 17h-5.507l-2.18 4.906a1 1 0 0 1-1.831-.007L13.453 17h-4.1l-3.446 7.421-1.814-.842L7.147 17H2v-2h6.076l2.517-5.421a1 1 0 0 1 1.824.022L14.764 15h3.53l3.292-7.406A1 1 0 0 1 22.515 7Zm-5.11 10h-1.771l.876 2.015.896-2.015Zm-7.124-2h2.303l-1.114-2.56L10.281 15Zm10.202 0h3.8l-1.821-4.452L20.483 15Z\"],[\"M1 1H0V0h1v1Zm4 0H3V0h2v1Zm2 0h2V0H7v1Zm5 0h-1V0h1v1ZM0 11h1v-1H0v1Zm5 0H3v-1h2v1Zm2 0h2v-1H7v1Zm5 0h-1v-1h1v1ZM9.575 2.006a.5.5 0 0 1 .411.376L10.621 5H12v1h-1.137l.123.507-.972.236L9.834 6h-1.85L6.928 7.757a.5.5 0 0 1-.876-.033L5.19 6H3.583L1.93 8.757l-.858-.514L2.417 6H0V5h3.017L4.07 3.243a.5.5 0 0 1 .876.033L5.81 5h1.608L9.07 2.243a.5.5 0 0 1 .504-.237ZM6.817 6h-.508l.23.462L6.818 6ZM4.691 5l-.23-.462L4.182 5h.508Zm4.9 0-.29-1.197L8.583 5h1.009Z\",\"M1 2h2V1H1v1Zm9.966 1.318a.5.5 0 0 0-.925-.015L8.456 7H6.86l-.886-2.658a.5.5 0 0 0-.933-.039L3.885 7H1v1h2.456l-1.415 3.303.919.394L4.544 8H6.14l.886 2.658a.5.5 0 0 0 .934.039L9.116 8h2.604l.314.807.932-.364L12.793 8H15V7h-2.597l-1.437-3.682ZM11.329 7l-.85-2.18L9.543 7h1.785ZM8.028 8h-.834l.365 1.094L8.028 8ZM5.806 7l-.364-1.094L4.972 7h.834ZM7 2H5V1h2v1Zm2 0h2V1H9v1Zm6 0h-2V1h2v1ZM1 15h2v-1H1v1Zm6 0H5v-1h2v1Zm2 0h2v-1H9v1Zm6 0h-2v-1h2v1Z\",\"M4 4H1V2h3v2Zm0 18H1v-2h3v2Zm2 0h3v-2H6v2ZM9 4H6V2h3v2Zm2 18h3v-2h-3v2Zm3-18h-3V2h3v2Zm2 18h3v-2h-3v2Zm3-18h-3V2h3v2Zm2 18h2v-2h-2v2Zm2-18h-2V2h2v2ZM4.882 13H1v-2h4.882l1.723-3.447a1 1 0 0 1 1.79 0L11.117 11h2.764l2.723-5.447a1 1 0 0 1 1.811.046L20.78 11H23v2h-1.346l.262.6-1.832.8-.613-1.4h-4.353l-1.724 3.447a1 1 0 0 1-1.789 0L9.882 13H7.118l-2.224 4.447-1.789-.894L4.882 13Zm4-2-.382-.764-.382.764h.764Zm3.236 2 .382.764.382-.764h-.764Zm4-2h2.478l-1.157-2.643L16.118 11Z\",\"M2 5h3V3H2v2Zm21.426 2.621a1 1 0 0 0-1.84-.027L18.295 15h-3.53l-2.348-5.399a1 1 0 0 0-1.824-.022L8.076 15H2v2h5.147l-3.054 6.579 1.814.842L9.353 17h4.1l2.13 4.899a1 1 0 0 0 1.83.007L19.595 17h5.507l.974 2.379 1.85-.758L27.263 17H30v-2h-3.556l-3.018-7.379ZM24.283 15l-1.821-4.452L20.483 15h3.8Zm-6.877 2h-1.772l.876 2.015.896-2.015Zm-4.822-2-1.114-2.56L10.281 15h2.303ZM5 29H2v-2h3v2Zm5 0H7v-2h3v2ZM7 5h3V3H7v2Zm8 24h-3v-2h3v2ZM12 5h3V3h-3v2Zm8 24h-3v-2h3v2ZM17 5h3V3h-3v2Zm8.001 24H22v-2h3.001v2ZM22 5h3.001V3H22v2Zm8 24h-3v-2h3v2ZM27 5h3V3h-3v2Z\"]];","export default [[\"M6 1a1.5 1.5 0 0 0-1.08 2.541l-2.235 4.47A1.5 1.5 0 1 0 3.915 10h4.17a1.5 1.5 0 1 0 1.23-1.989L7.08 3.541A1.5 1.5 0 0 0 6 1Zm-.185 2.989a1.514 1.514 0 0 0 .37 0l2.235 4.47a1.5 1.5 0 0 0-.335.54h-4.17a1.5 1.5 0 0 0-.335-.54l2.235-4.47Z\",\"M8 1a2 2 0 0 0-1.344 3.48l-3.438 6.532A2 2 0 1 0 5 13h6a2 2 0 1 0 1.782-1.988L9.344 4.48A2 2 0 0 0 8 1Zm-.46 3.947a2.006 2.006 0 0 0 .92 0l3.38 6.423a2.01 2.01 0 0 0-.572.63H4.732a2.01 2.01 0 0 0-.572-.63l3.38-6.423Z\",\"M12 1a3.5 3.5 0 0 0-2.43 6.02l-4.657 9.004A3.5 3.5 0 1 0 7.964 20h8.071a3.5 3.5 0 1 0 3.052-3.976L14.429 7.02A3.5 3.5 0 0 0 12 1Zm-.653 6.94a3.519 3.519 0 0 0 1.306 0l4.594 8.881a3.513 3.513 0 0 0-.91 1.179H7.663a3.513 3.513 0 0 0-.91-1.179l4.594-8.882Z\",\"M16 2a4.5 4.5 0 0 0-2.894 7.946l-5.72 11.141A4.5 4.5 0 1 0 10.972 26h10.055a4.5 4.5 0 1 0 3.587-4.913l-5.721-11.14A4.5 4.5 0 0 0 16 2Zm-1.115 8.86a4.51 4.51 0 0 0 2.23 0l5.673 11.049A4.51 4.51 0 0 0 21.256 24H10.744a4.51 4.51 0 0 0-1.532-2.091l5.673-11.048Z\"],[\"M6 1a1.5 1.5 0 0 0-1.08 2.541l-2.235 4.47A1.5 1.5 0 1 0 3.915 10h4.17a1.5 1.5 0 1 0 1.23-1.989L7.08 3.541A1.5 1.5 0 0 0 6 1Zm-.185 2.989a1.516 1.516 0 0 0 .37 0l2.235 4.47a1.5 1.5 0 0 0-.335.54h-4.17a1.5 1.5 0 0 0-.335-.54l2.235-4.47ZM5.5 2.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0ZM2 9.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Zm7 0a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Z\",\"M8 1a2 2 0 0 0-1.344 3.48l-3.438 6.532A2 2 0 1 0 5 13h6a2 2 0 1 0 1.782-1.988L9.344 4.48A2 2 0 0 0 8 1Zm.46 3.947 3.38 6.423a2.006 2.006 0 0 0-.572.63H4.732a2.011 2.011 0 0 0-.572-.63l3.38-6.423a2.005 2.005 0 0 0 .92 0ZM7 3a1 1 0 1 1 2 0 1 1 0 0 1-2 0ZM2 13a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm10 0a1 1 0 1 1 2 0 1 1 0 0 1-2 0Z\",\"M12 1a3.5 3.5 0 0 0-2.43 6.02l-4.657 9.004A3.5 3.5 0 1 0 7.964 20h8.071a3.5 3.5 0 1 0 3.052-3.976L14.429 7.02A3.5 3.5 0 0 0 12 1Zm.653 6.94 4.594 8.881a3.512 3.512 0 0 0-.91 1.179H7.663a3.513 3.513 0 0 0-.91-1.179l4.594-8.882a3.519 3.519 0 0 0 1.306 0ZM10.5 4.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM3 19.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm15 0a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Z\",\"M16 2a4.5 4.5 0 0 0-2.894 7.946l-5.72 11.141A4.5 4.5 0 1 0 10.972 26h10.055a4.5 4.5 0 1 0 3.587-4.913l-5.721-11.14A4.5 4.5 0 0 0 16 2Zm1.115 8.86 5.673 11.049A4.51 4.51 0 0 0 21.256 24H10.744a4.51 4.51 0 0 0-1.532-2.091l5.673-11.048a4.51 4.51 0 0 0 2.23 0ZM13.5 6.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0ZM4 25.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Zm19 0a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z\"]];","export default [[\"M6 2.5a5 5 0 0 0-5 5 .5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5 1 1 0 0 1 2 0 .5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5 5 5 0 0 0-5-5Zm.889 3.208c.514.255.902.725 1.048 1.292h2.032a4.003 4.003 0 0 0-2.191-3.084l-.89 1.792ZM2 9.25A.25.25 0 0 1 2.25 9h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 2 9.75v-.5ZM9.25 9a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5A.25.25 0 0 0 9.75 9h-.5Z\",\"M8 3.5a7 7 0 0 0-7 7 .5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5 2 2 0 1 1 4 0 .5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5 7 7 0 0 0-7-7Zm1.257 4.275A3.004 3.004 0 0 1 10.96 10h3.02a6.004 6.004 0 0 0-3.464-4.95L9.257 7.776ZM2 12.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5ZM13.25 12a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5Z\",\"M12 4C5.925 4 1 8.925 1 15a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1 3 3 0 1 1 6 0 1 1 0 0 0 1 1h6a1 1 0 0 0 1-1c0-6.075-4.925-11-11-11Zm2.84 6.885A5.003 5.003 0 0 1 16.9 14h4.045a8.997 8.997 0 0 0-3.931-6.475l-2.173 3.36ZM20 17a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1h-1ZM2 18a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-1Z\",\"M2 20C2 12.268 8.268 6 16 6s14 6.268 14 14a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1 6 6 0 0 0-12 0 1 1 0 0 1-1 1H3a1 1 0 0 1-1-1ZM21.716 9.446l-1.905 3.518A8.005 8.005 0 0 1 23.938 19h4.02a12.003 12.003 0 0 0-6.241-9.554ZM4 22a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1H4Zm23 0a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1h-1Z\"],[\"M6 2.5a5 5 0 0 0-5 5 .5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5 1 1 0 0 1 2 0 .5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5 5 5 0 0 0-5-5Zm.889 3.208c.514.255.902.725 1.048 1.292h2.032a4.003 4.003 0 0 0-2.191-3.084l-.89 1.792ZM9 9.25A.25.25 0 0 1 9.25 9h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 9 9.75v-.5ZM2.25 9a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 9.75v-.5A.25.25 0 0 0 2.75 9h-.5Z\",\"M8 3.5a7 7 0 0 0-7 7 .5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5 2 2 0 1 1 4 0 .5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5 7 7 0 0 0-7-7Zm1.257 4.275A3.004 3.004 0 0 1 10.96 10h3.02a6.004 6.004 0 0 0-3.464-4.95L9.257 7.776ZM2 12.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5ZM13.25 12a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5Z\",\"M12 4C5.925 4 1 8.925 1 15a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1 3 3 0 1 1 6 0 1 1 0 0 0 1 1h6a1 1 0 0 0 1-1c0-6.075-4.925-11-11-11Zm2.84 6.885A5.003 5.003 0 0 1 16.9 14h4.045a8.997 8.997 0 0 0-3.931-6.475l-2.173 3.36ZM20 17a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1h-1ZM2 18a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-1Z\",\"M16 6C8.268 6 2 12.268 2 20a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1 6 6 0 0 1 12 0 1 1 0 0 0 1 1h6a1 1 0 0 0 1-1c0-7.732-6.268-14-14-14Zm3.811 6.964A8.005 8.005 0 0 1 23.938 19h4.02a12.003 12.003 0 0 0-6.241-9.554l-1.906 3.518ZM26 23a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-1ZM4 22a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1H4Z\"]];","export default [[\"M6 9.949v-2a2.5 2.5 0 0 0 1.991-2.357l1.985-.331c.004.081.024.157.024.239 0 2.31-1.756 4.197-4 4.449ZM1 5.5c0-2.31 1.756-4.197 4-4.449v2C3.86 3.282 3 4.293 3 5.5c0 1.207.86 2.217 2 2.449v2C2.756 9.697 1 7.81 1 5.5ZM5.5 7C4.673 7 4 6.327 4 5.5S4.673 4 5.5 4 7 4.673 7 5.5 6.327 7 5.5 7Zm0-7A5.506 5.506 0 0 0 0 5.5C0 8.532 2.467 11 5.5 11S11 8.532 11 5.5C11 2.467 8.533 0 5.5 0Z\",\"M8 13.975V10.95c1.691-.246 3-1.691 3-3.45 0-.12-.023-.233-.036-.351l2.938-.734c.06.354.098.715.098 1.085 0 3.415-2.649 6.217-6 6.475ZM1 7.5c0-3.415 2.649-6.217 6-6.474V4.05c-1.691.246-3 1.69-3 3.45s1.309 3.204 3 3.45v3.025c-3.351-.258-6-3.06-6-6.475ZM7.5 10A2.503 2.503 0 0 1 5 7.5C5 6.122 6.122 5 7.5 5S10 6.122 10 7.5C10 8.879 8.878 10 7.5 10Zm0-10C3.364 0 0 3.365 0 7.5 0 11.636 3.364 15 7.5 15S15 11.636 15 7.5C15 3.365 11.636 0 7.5 0Z\",\"M22.34 8.24A11.003 11.003 0 0 0 12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11c0-1.32-.233-2.587-.66-3.76ZM11 20.945v-3.028a6.002 6.002 0 0 1 0-11.834V3.055a9.001 9.001 0 0 0 0 17.89ZM21 12a9 9 0 0 1-8 8.945v-3.028a6.002 6.002 0 0 0 4.64-7.968l2.82-1.026c.35.96.54 1.996.54 3.077Zm-9 4a4 4 0 1 0 0-8 4 4 0 0 0 0 8Z\",\"M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16ZM15 4.041C8.84 4.55 4 9.71 4 16s4.84 11.45 11 11.959v-4.02a8.001 8.001 0 0 1 0-15.877v-4.02ZM28 16c0 6.29-4.84 11.45-11 11.959v-4.02a8.001 8.001 0 0 0 6.732-10l3.866-1.032c.262.987.402 2.024.402 3.093Zm-12-6a6 6 0 1 0 0 12 6 6 0 0 0 0-12Z\"],[\"M6 9.95v-2a2.5 2.5 0 0 0 1.991-2.358l1.985-.33c.004.08.024.156.024.238 0 2.31-1.756 4.197-4 4.45ZM1 5.5c0-2.31 1.756-4.197 4-4.449v2c-1.14.231-2 1.242-2 2.45 0 1.206.86 2.216 2 2.448v2C2.756 9.697 1 7.81 1 5.5ZM5.5 7C4.673 7 4 6.327 4 5.5S4.673 4 5.5 4 7 4.673 7 5.5 6.327 7 5.5 7Zm0-7A5.506 5.506 0 0 0 0 5.5C0 8.532 2.467 11 5.5 11S11 8.532 11 5.5C11 2.467 8.533 0 5.5 0Z\",\"M8 13.975V10.95c1.691-.246 3-1.691 3-3.45 0-.12-.023-.233-.036-.351l2.938-.734c.06.354.098.715.098 1.085 0 3.415-2.649 6.218-6 6.475ZM1 7.5c0-3.415 2.649-6.217 6-6.474V4.05c-1.691.246-3 1.69-3 3.45s1.309 3.204 3 3.45v3.025c-3.351-.257-6-3.06-6-6.475ZM7.5 10A2.503 2.503 0 0 1 5 7.5C5 6.122 6.122 5 7.5 5S10 6.122 10 7.5C10 8.879 8.878 10 7.5 10Zm0-10C3.364 0 0 3.365 0 7.5 0 11.636 3.364 15 7.5 15S15 11.636 15 7.5C15 3.365 11.636 0 7.5 0Z\",\"M22.34 8.24A11.003 11.003 0 0 0 12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11c0-1.32-.233-2.587-.66-3.76ZM11 20.945v-3.028a6.002 6.002 0 0 1 0-11.834V3.055a9.001 9.001 0 0 0 0 17.89ZM21 12a9 9 0 0 1-8 8.945v-3.028a6.002 6.002 0 0 0 4.64-7.968l2.82-1.026c.35.96.54 1.996.54 3.077Zm-9 4a4 4 0 1 0 0-8 4 4 0 0 0 0 8Z\",\"M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16ZM15 4.041C8.84 4.55 4 9.71 4 16s4.84 11.45 11 11.959v-4.02a8.001 8.001 0 0 1 0-15.877v-4.02ZM28 16c0 6.29-4.84 11.45-11 11.959v-4.02a8.001 8.001 0 0 0 6.732-10l3.866-1.032c.262.987.402 2.024.402 3.093Zm-12-6a6 6 0 1 0 0 12 6 6 0 0 0 0-12Z\"]];","export default [[\"M7 1.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0 0 1h.793L1.147 6.146a.5.5 0 0 0 .707.707L6 2.707V3.5a.5.5 0 0 0 1 0v-2Zm1 3a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V10h1v1H0V8.5A.5.5 0 0 1 .5 8h2a.5.5 0 0 1 .5.5V10h1V6.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V10h1V4.5Z\",\"M8.5 1a.5.5 0 0 0 0 1h.793L2.147 9.146a.5.5 0 1 0 .707.708L10 2.707V3.5a.5.5 0 0 0 1 0V1.51a.499.499 0 0 0-.5-.51h-2ZM11 5.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V14h1v1H1v-1h2v-2.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V14h1V8.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V14h1V5.5Z\",\"M12 1a1 1 0 1 0 0 2h.586L2.293 13.293a1 1 0 1 0 1.414 1.414L14 4.414V5a1 1 0 1 0 2 0V2a1 1 0 0 0-1-1h-3Zm5 6a1 1 0 0 0-1 1v13h-1v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8H8v-4a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v4H1v2h22v-2h-1V8a1 1 0 0 0-1-1h-4Z\",\"M16 2a1 1 0 1 0 0 2h1.586L3.293 18.293a1 1 0 1 0 1.414 1.414L19 5.414V7a1 1 0 1 0 2 0V3a1 1 0 0 0-1-1h-4Zm7 8a1 1 0 0 0-1 1v17h-2V17a1 1 0 0 0-1-1h-5a1 1 0 0 0-1 1v11h-2v-5a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v5H2v2h28v-2h-1V11a1 1 0 0 0-1-1h-5Z\"],[\"M7 1.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0 0 1h.793L1.147 6.146a.5.5 0 0 0 .707.707L6 2.707V3.5a.5.5 0 0 0 1 0v-2Zm1 3a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V10h1v1H0V8.5A.5.5 0 0 1 .5 8h2a.5.5 0 0 1 .5.5V10h1V6.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V10h1V4.5ZM9 10h1V5H9v5ZM6 7H5v3h1V7Zm-4 3V9H1v1h1Z\",\"M8 1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.51V3.5a.5.5 0 0 1-1 0v-.793L2.854 9.854a.5.5 0 0 1-.708-.708L9.293 2H8.5a.5.5 0 0 1-.5-.5ZM11.5 5a.5.5 0 0 0-.5.5V14h-1V8.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V14H6v-2.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V14H1v1h14v-1h-1V5.5a.5.5 0 0 0-.5-.5h-2Zm1.5 9h-1V6h1v8ZM8 9h1v5H8V9Zm-3 3v2H4v-2h1Z\",\"M12 1a1 1 0 1 0 0 2h.586L2.293 13.293a1 1 0 1 0 1.414 1.414L14 4.414V5a1 1 0 1 0 2 0V2a1 1 0 0 0-1-1h-3Zm4 7a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v13h1v2H1v-2h1v-4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4h1v-8a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v8h1V8Zm2 13h2V9h-2v12Zm-5 0v-7h-2v7h2Zm-7 0v-3H4v3h2Z\",\"M16 2a1 1 0 1 0 0 2h1.586L3.293 18.293a1 1 0 1 0 1.414 1.414L19 5.414V7a1 1 0 1 0 2 0V3a.995.995 0 0 0-.587-.91A.996.996 0 0 0 20 2h-4Zm6 9a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v17h1v2H2v-2h2v-5a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v5h2V17a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v11h2V11Zm2 17h3V12h-3v16Zm-6-10h-3v10h3V18ZM9 28v-4H6v4h3Z\"]];","export default [[\"M1.5 1h9a.5.5 0 0 1 .464.686L8 9.096V10.5a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5V9.096l-2.964-7.41A.5.5 0 0 1 1.5 1Zm7.461 3H3.04l-.8-2h7.52l-.8 2ZM4.64 8h2.72l-.325.814A.5.5 0 0 0 7 9v1H5V9a.5.5 0 0 0-.036-.186L4.64 8Z\",\"M14.5 1h-13a.5.5 0 0 0-.46.694L5 11.101V14.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-3.399l3.96-9.407A.5.5 0 0 0 14.5 1ZM3.516 5h8.968l1.263-3H2.253l1.263 3ZM10.8 9H5.2l.76 1.806A.5.5 0 0 1 6 11h4a.5.5 0 0 1 .04-.194L10.8 9Zm-.8 3H6v2h4v-2Z\",\"M22 2H2a1 1 0 0 0-.894 1.447L8 17.237V21a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-3.764l6.894-13.789A1 1 0 0 0 22 2ZM5.118 7h13.764l1.5-3H3.618l1.5 3Zm10.264 7H8.618l1 2h4.764l1-2ZM14 18h-4v2h4v-2Z\",\"M29 3H3a1 1 0 0 0-.89 1.457L11 21.742V28a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-6.258l8.89-17.285A1 1 0 0 0 29 3Zm-8.325 15h-9.35l1.564 3.043A1 1 0 0 1 13 21.5v.5h6v-.5a1 1 0 0 1 .11-.457L20.677 18ZM19 24h-6v3h6v-3ZM7.21 10h17.58l2.571-5H4.64l2.571 5Z\"],[\"M10.5 1h-9a.5.5 0 0 0-.464.686L4 9.096V10.5a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5V9.096l2.964-7.41A.5.5 0 0 0 10.5 1ZM3.039 4l-.8-2H9.76l-.8 2H3.04Zm.4 1 .8 2H7.76l.8-2H3.44ZM7.36 8H4.64l.325.814A.5.5 0 0 1 5 9v1h2V9a.5.5 0 0 1 .036-.186L7.36 8Z\",\"M14.5 1h-13a.5.5 0 0 0-.46.694L5 11.101V14.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-3.399l3.96-9.407A.5.5 0 0 0 14.5 1Zm-8.54 9.806L5.2 9h5.6l-.76 1.806A.5.5 0 0 0 10 11H6a.5.5 0 0 0-.04-.194ZM6 12v2h4v-2H6Zm5.22-4H4.78l-.843-2h8.126l-.842 2Zm1.264-3H3.516L2.253 2h11.494l-1.263 3Z\",\"M2 2h20a1 1 0 0 1 .894 1.447L16 17.237V21a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1v-3.764L1.106 3.447A1 1 0 0 1 2 2Zm6.618 12 1 2h4.764l1-2H8.618Zm-1-2h8.764l1.5-3H6.118l1.5 3Zm-2.5-5h13.764l1.5-3H3.618l1.5 3ZM10 20v-2h4v2h-4Z\",\"M3 3h26a1 1 0 0 1 .89 1.457L21 21.742V28a1 1 0 0 1-1 1h-8a1 1 0 0 1-1-1v-6.258L2.11 4.457A1 1 0 0 1 3 3Zm8.325 15 1.564 3.043A1 1 0 0 1 13 21.5v.5h6v-.5a1 1 0 0 1 .11-.457L20.677 18h-9.351Zm-1.03-2h11.41l2.056-4H8.24l2.057 4ZM7.21 10h17.58l2.571-5H4.64l2.571 5ZM13 27v-3h6v3h-6Z\"]];","export default [[\"<path d='M6 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M6 1c-.183 0-.364.01-.542.03C3 1.307 1 3.432 1 6c0 1.32.512 2.52 1.346 3.413A4.98 4.98 0 0 0 6 11a4.98 4.98 0 0 0 2.334-.577 5.021 5.021 0 0 0 1.704-1.474A4.98 4.98 0 0 0 11 6a5 5 0 0 0-5-5ZM4 5a2 2 0 0 0 1.072 1.772c-.2.099-.398.153-.577.186a4.18 4.18 0 0 1-.376.048l-.07.007c-.08.007-.14.012-.197.02l-.013.002c.025.053.061.135.09.229.044.145.071.317.071.533 0 .414-.18.806-.373 1.088-.05.074-.104.145-.16.211.119.097.243.188.372.27.022-.022.045-.047.07-.075l.052-.057c.124-.137.28-.308.458-.471C4.84 8.38 5.43 8 6.273 8c.87 0 1.29.58 1.533.98.047.077.085.142.118.199.059.101.102.175.152.24.415-.252.78-.578 1.079-.96a2.441 2.441 0 0 0-.011-.526c-.036-.264-.115-.447-.21-.541l-.123-.122c-.192-.19-.39-.383-.53-.595C8.085 6.375 8 6.048 8 5.617c0-.454.161-.835.483-1.178.215-.228.5-.44.85-.653A3.996 3.996 0 0 0 6 2h-.002a6.68 6.68 0 0 0 .053 1H6a2 2 0 0 0-2 2Zm5.212.124c.122-.13.303-.272.567-.438a3.994 3.994 0 0 1 .097 2.306 1.48 1.48 0 0 0-.234-.307 34.706 34.706 0 0 0-.167-.166c-.182-.179-.283-.279-.358-.393C9.05 6.024 9 5.9 9 5.617c0-.179.05-.32.212-.493Zm-2.19 4.494c.038.066.082.14.128.214a4 4 0 0 1-2.363-.02c.097-.106.196-.21.306-.31.313-.285.674-.502 1.18-.502.312 0 .472.16.679.5l.07.118Z'></path>\",\"<path d='M8 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M6.406 1.182a7.003 7.003 0 0 1 8.256 4.664C14.882 6.526 15 7.25 15 8c0 1.543-.5 2.97-1.346 4.128a7.032 7.032 0 0 1-2.386 2.064A6.972 6.972 0 0 1 8 15a6.972 6.972 0 0 1-5.115-2.222A7.003 7.003 0 0 1 6.407 1.182Zm.59.902a4.31 4.31 0 0 0 .09 1.058 3 3 0 1 1-.7 5.387 4.265 4.265 0 0 1-.837.128c-.249.016-.533.017-.774.018-.137 0-.26 0-.357.003a2.23 2.23 0 0 0-.358.033.663.663 0 0 0-.052.013c.032.111.116.27.261.506l.083.134c.12.194.262.421.375.648.141.28.273.623.273.988 0 .588-.308 1.034-.63 1.33a2.483 2.483 0 0 1-.276.224c.255.22.528.417.817.591.065-.066.142-.15.233-.253l.112-.128c.172-.197.375-.43.599-.651C6.41 11.565 7.182 11 8.25 11c1.135 0 1.72.775 2.092 1.355.065.1.121.192.173.276.113.182.202.326.304.45a.73.73 0 0 0 .14.14 6.04 6.04 0 0 0 1.813-1.583c.024-.227.033-.55-.011-.877-.055-.399-.178-.72-.365-.907a7.506 7.506 0 0 0-.267-.254l-.122-.114a5.793 5.793 0 0 1-.433-.441c-.277-.322-.543-.748-.543-1.295 0-.992.742-1.536 1.385-1.817a5.476 5.476 0 0 1 1.087-.33 6.002 6.002 0 0 0-6.507-3.52Zm6.83 4.476a4.606 4.606 0 0 0-1.009.289c-.523.229-.786.518-.786.901 0 .203.094.402.301.642.103.12.223.238.358.364l.105.097c.101.094.21.196.309.293.263.264.427.595.528.927a6.018 6.018 0 0 0 .194-3.513ZM10 13.66a7.109 7.109 0 0 1-.373-.562l-.126-.202C9.15 12.35 8.826 12 8.25 12c-.682 0-1.213.351-1.693.825-.194.192-.367.39-.537.585l-.126.143-.044.05A5.985 5.985 0 0 0 8 14a5.99 5.99 0 0 0 2-.341ZM8 4a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z'></path>\",\"<path d='M11.5 11a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z'></path><path d='M8.708 1.501A10.996 10.996 0 0 1 12 1c4.896 0 9.042 3.198 10.47 7.616.344 1.067.53 2.205.53 3.384 0 2.425-.786 4.669-2.116 6.488a11.047 11.047 0 0 1-3.75 3.242A10.956 10.956 0 0 1 12 23c-1.853 0-3.601-.459-5.135-1.27a11.037 11.037 0 0 1-2.903-2.22A10.965 10.965 0 0 1 1 12C1 7.07 4.242 2.9 8.708 1.501Zm1.25 1.732c.035.72.373 1.22.871 1.817A4.5 4.5 0 1 1 9.09 13.3c-.161.038-.32.069-.471.095-.261.044-.517.077-.74.106l-.068.009a8.465 8.465 0 0 0-.604.092 1.93 1.93 0 0 0-.172.043c.023.045.069.121.158.254l.056.082c.278.407.752 1.1.752 2.143 0 1.03-.665 1.897-1.209 2.438a6.219 6.219 0 0 1-.469.42 9.03 9.03 0 0 0 1.064.746 2.24 2.24 0 0 0 .364-.343c.194-.22.356-.445.55-.713.114-.16.24-.333.39-.531C9.43 17.168 10.517 16 12.5 16c1.935 0 2.86 1.48 3.387 2.442.1.18.183.34.26.483.16.305.284.54.428.742l.043.06a9.051 9.051 0 0 0 2.5-2.219c.031-.327.04-.777-.022-1.229-.081-.594-.26-1.03-.495-1.264-.599-.599-1.116-1.208-1.387-1.952-.283-.779-.252-1.573-.03-2.46.301-1.206 1.23-1.841 2.046-2.173.3-.123.61-.215.905-.285A9.002 9.002 0 0 0 12 3a8.98 8.98 0 0 0-2.043.233Zm10.83 6.816c-.273.056-.548.13-.803.233-.522.212-.778.475-.861.807-.163.652-.132 1.011-.03 1.29.114.314.366.666.92 1.222.27.27.476.58.633.905A9.01 9.01 0 0 0 21 12a9.02 9.02 0 0 0-.212-1.951Zm-6.477 9.686a23.658 23.658 0 0 0-.177-.33C13.606 18.442 13.19 18 12.5 18c-1.017 0-1.586.52-2.216 1.35-.087.114-.183.247-.284.387-.204.281-.433.596-.658.864A9 9 0 0 0 12 21c.968 0 1.9-.153 2.773-.435a14.346 14.346 0 0 1-.462-.83ZM11.5 7a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path>\",\"<path d='M16 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z'></path><path d='M12.771 2.374A14.036 14.036 0 0 1 16 2c6.23 0 11.508 4.07 13.325 9.693A13.99 13.99 0 0 1 30 16c0 3.086-1 5.942-2.693 8.257a14.06 14.06 0 0 1-4.772 4.127A13.942 13.942 0 0 1 16 30c-2.358 0-4.583-.584-6.535-1.616a14.049 14.049 0 0 1-3.696-2.827A13.954 13.954 0 0 1 2 16C2 9.378 6.596 3.833 12.771 2.374Zm1.195 1.797c.048 1.055.503 1.9 1.08 2.92a5 5 0 1 1-.986 9.52 4.465 4.465 0 0 1-.081.047c-.779.442-1.609.593-2.325.659-.36.032-.71.045-1.02.056-.32.012-.585.022-.825.045-.522.052-.639.15-.659.172-.167.186-.233.421.063 1.283.043.126.096.268.153.422.266.715.634 1.702.634 2.705 0 1.175-.617 2.068-1.258 2.662a5.357 5.357 0 0 1-.555.447c.51.438 1.057.833 1.636 1.181.13-.132.283-.299.465-.505l.224-.257c.344-.395.75-.86 1.198-1.302C12.82 23.13 14.363 22 16.5 22c2.27 0 3.439 1.55 4.184 2.71.13.201.243.384.346.552.225.363.404.653.608.902.122.148.213.231.28.278a12.063 12.063 0 0 0 3.625-3.166 7.47 7.47 0 0 0-.021-1.753c-.11-.799-.356-1.443-.73-1.816-.558-.559-1.017-1.158-1.33-1.863-.316-.71-.462-1.477-.462-2.344 0-1.847 1.075-2.968 2.222-3.596a7.415 7.415 0 0 1 1.794-.672C25.17 6.976 20.932 4 16 4c-.694 0-1.373.059-2.034.171Zm13.69 8.965c-.482.107-1.01.269-1.473.522-.717.393-1.183.939-1.183 1.842 0 .633.104 1.116.289 1.531.186.42.477.82.918 1.262.527.527.855 1.19 1.058 1.853a12.107 12.107 0 0 0 .392-7.01Zm-8.402 13.058c-.089-.143-.173-.28-.253-.403C18.301 24.7 17.652 24 16.5 24c-1.363 0-2.426.703-3.386 1.65a20.29 20.29 0 0 0-1.074 1.17l-.251.286-.09.1C13.035 27.72 14.484 28 16 28c1.404 0 2.75-.24 4-.683-.261-.339-.516-.752-.746-1.123ZM16 9a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z'></path>\"],[\"<path d='M6 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M5.458 1.03A5 5 0 1 1 1 6c0-2.568 2-4.693 4.458-4.97Zm.54.97a6.68 6.68 0 0 0 .053 1H6c-.334 0-.65.082-.926.227a7.028 7.028 0 0 1-.076-1.095C3.3 2.587 2 4.16 2 6c0 .884.286 1.7.772 2.363.01-.013.02-.026.028-.04.13-.191.2-.387.2-.526a.828.828 0 0 0-.028-.243.58.58 0 0 0-.04-.096 5.267 5.267 0 0 1-.025-.054.858.858 0 0 1-.09-.412c.007-.172.067-.331.142-.481.186-.371.569-.441.75-.468.086-.012.182-.02.265-.028l.053-.005c.082-.007.157-.015.231-.026.19.334.473.61.814.788-.2.099-.398.153-.577.186a4.18 4.18 0 0 1-.376.048l-.07.007c-.08.007-.14.012-.197.02l-.013.002c.025.053.061.135.09.229.044.145.071.317.071.533 0 .414-.18.806-.373 1.088-.05.074-.104.145-.16.211.119.097.243.188.372.27.022-.022.045-.047.07-.075l.052-.057c.124-.137.28-.308.458-.471C4.84 8.38 5.43 8 6.273 8c.87 0 1.29.58 1.533.98l.118.198c.059.102.102.176.152.242.415-.253.78-.579 1.079-.96a2.441 2.441 0 0 0-.011-.527c-.036-.264-.115-.447-.21-.541l-.123-.122c-.192-.189-.39-.383-.53-.595C8.085 6.375 8 6.048 8 5.617c0-.454.161-.835.483-1.178.215-.228.5-.44.85-.653A3.996 3.996 0 0 0 6 2h-.002ZM9.78 4.686a2.907 2.907 0 0 0-.567.438C9.05 5.296 9 5.438 9 5.617c0 .283.05.407.117.51.075.113.176.213.358.392l.167.166c.094.094.17.198.234.307a4.009 4.009 0 0 0-.097-2.306ZM7.15 9.832a8.336 8.336 0 0 1-.128-.214l-.07-.118c-.207-.34-.367-.5-.679-.5-.506 0-.867.217-1.18.501-.11.101-.209.205-.306.312a4 4 0 0 0 2.363.02Z'></path>\",\"<path d='M8 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M8 1a7.003 7.003 0 0 0-3.268 13.192A6.972 6.972 0 0 0 8 15c1.18 0 2.292-.292 3.268-.808a7.032 7.032 0 0 0 2.386-2.064A6.971 6.971 0 0 0 15 8a7.003 7.003 0 0 0-7-7Zm0 2c-.319 0-.626.05-.914.142a4.31 4.31 0 0 1-.09-1.058 6.002 6.002 0 0 1 6.506 3.52 5.403 5.403 0 0 0-1.086.329c-.643.281-1.385.825-1.385 1.817 0 .547.266.973.543 1.295.14.162.292.31.433.441l.122.114c.097.09.184.17.267.254.187.186.31.508.365.907.044.327.036.65.01.877a6.032 6.032 0 0 1-1.812 1.583.73.73 0 0 1-.14-.14 4.21 4.21 0 0 1-.304-.45 17.784 17.784 0 0 0-.173-.276C9.969 11.775 9.385 11 8.25 11c-1.068 0-1.84.565-2.395 1.113-.224.22-.427.454-.599.65l-.112.13a6.457 6.457 0 0 1-.233.252 6.023 6.023 0 0 1-.817-.59 2.86 2.86 0 0 0 .277-.224C4.69 12.034 5 11.588 5 11c0-.365-.132-.707-.273-.988a7.966 7.966 0 0 0-.375-.648l-.083-.134c-.145-.237-.229-.395-.261-.506a.663.663 0 0 1 .052-.013 2.23 2.23 0 0 1 .358-.033c.096-.003.22-.003.356-.003.242-.001.526-.002.775-.018.264-.016.551-.051.836-.128A3 3 0 1 0 8 3ZM5.486 7.66l.014-.002A2.986 2.986 0 0 1 5 6c0-.97.46-1.833 1.175-2.382a4.895 4.895 0 0 1-.18-1.275 6.003 6.003 0 0 0-2.617 9.483c.105-.06.215-.138.314-.229.2-.185.308-.385.308-.597 0-.135-.052-.31-.167-.54-.09-.182-.2-.358-.319-.55l-.098-.158c-.14-.228-.306-.51-.379-.786a1.057 1.057 0 0 1-.016-.509.892.892 0 0 1 .31-.492c.166-.137.363-.2.529-.234a3.18 3.18 0 0 1 .527-.052c.162-.005.31-.005.454-.005.207 0 .41 0 .645-.015Zm7.331-.811a4.606 4.606 0 0 1 1.01-.289 6.018 6.018 0 0 1-.195 3.513 2.206 2.206 0 0 0-.528-.927 11.333 11.333 0 0 0-.309-.292l-.105-.098a4.835 4.835 0 0 1-.358-.364c-.207-.24-.3-.44-.3-.642 0-.383.262-.672.785-.901Zm-3.19 6.248c.115.186.242.392.373.562A5.99 5.99 0 0 1 8 14c-.758 0-1.483-.14-2.15-.397l.044-.05.126-.144c.17-.195.343-.392.537-.584C7.037 12.35 7.568 12 8.25 12c.576 0 .9.35 1.25.895.04.062.083.13.127.202ZM8 4a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z'></path>\",\"<path d='M11.5 11a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z'></path><path d='M12 1c-1.145 0-2.252.175-3.292.501C4.242 2.901 1 7.071 1 12c0 2.902 1.125 5.544 2.962 7.51a11.037 11.037 0 0 0 2.903 2.22A10.956 10.956 0 0 0 12 23c1.853 0 3.601-.459 5.135-1.27a11.047 11.047 0 0 0 3.75-3.242A10.955 10.955 0 0 0 23 12c0-1.18-.186-2.317-.53-3.384C21.041 4.198 16.895 1 12 1Zm-.5 4c-.228 0-.452.017-.67.05-.5-.597-.837-1.096-.873-1.817A9.031 9.031 0 0 1 12 3a9.002 9.002 0 0 1 8.135 5.145c-.295.07-.604.162-.905.285-.815.332-1.745.967-2.046 2.174-.222.886-.253 1.68.03 2.459.27.744.788 1.353 1.387 1.952.234.234.414.67.495 1.264.061.452.053.902.022 1.23a9.051 9.051 0 0 1-2.5 2.218 2.17 2.17 0 0 1-.043-.06 6.728 6.728 0 0 1-.429-.742c-.076-.143-.16-.303-.259-.483C15.36 17.48 14.435 16 12.5 16c-1.983 0-3.07 1.168-3.81 2.142-.15.198-.276.372-.39.53-.194.269-.356.494-.55.713a2.269 2.269 0 0 1-.364.344 9.03 9.03 0 0 1-1.064-.745c.162-.132.32-.274.47-.421C7.334 18.023 8 17.156 8 16.125c0-1.043-.474-1.736-.752-2.143l-.056-.082a2.773 2.773 0 0 1-.158-.254 1.93 1.93 0 0 1 .172-.043c.162-.034.356-.06.604-.092l.069-.01c.222-.028.478-.06.739-.105.152-.026.31-.057.472-.095A4.5 4.5 0 1 0 11.5 5Zm-4.7 6.645a9.52 9.52 0 0 1 .686-.11A4.481 4.481 0 0 1 7 9.5c0-1.514.747-2.853 1.893-3.669-.374-.517-.715-1.138-.861-1.912A9.001 9.001 0 0 0 3 12c0 2.094.714 4.019 1.913 5.548.148-.11.31-.246.469-.404.45-.447.618-.82.618-1.019 0-.415-.158-.65-.45-1.084l-.019-.026c-.134-.2-.356-.529-.458-.93-.12-.464-.064-.94.173-1.415.367-.733 1.126-.937 1.554-1.025Zm13.185-1.363c.255-.104.53-.177.803-.233.139.628.212 1.28.212 1.951 0 .87-.123 1.71-.353 2.506a3.294 3.294 0 0 0-.632-.905c-.555-.556-.807-.908-.921-1.222-.102-.279-.133-.638.03-1.29.083-.332.34-.595.86-.807Zm-5.674 9.454c.14.265.298.563.462.83A8.993 8.993 0 0 1 12 21a9 9 0 0 1-2.658-.399c.225-.268.454-.583.658-.864.101-.14.197-.272.284-.386.63-.831 1.2-1.351 2.216-1.351.69 0 1.106.443 1.634 1.404.055.1.114.213.177.332ZM11.5 7a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path>\",\"<path d='M16 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z'></path><path d='M16 2c-1.11 0-2.191.13-3.229.374C6.596 3.833 2 9.378 2 16c0 3.694 1.432 7.056 3.77 9.557a14.049 14.049 0 0 0 3.695 2.827A13.942 13.942 0 0 0 16 30c2.358 0 4.583-.584 6.535-1.616a14.06 14.06 0 0 0 4.772-4.127A13.942 13.942 0 0 0 30 16c0-1.501-.237-2.95-.675-4.307C27.508 6.069 22.23 2 16 2Zm0 5c-.326 0-.645.031-.953.09-.578-1.02-1.033-1.864-1.081-2.918C14.626 4.058 15.306 4 16 4c4.932 0 9.171 2.976 11.016 7.232-.565.138-1.2.347-1.794.672C24.075 12.532 23 13.654 23 15.5c0 .867.146 1.634.461 2.344.314.705.773 1.304 1.332 1.863.373.373.62 1.017.729 1.816.089.653.07 1.3.021 1.753a12.063 12.063 0 0 1-3.625 3.166 1.451 1.451 0 0 1-.28-.278c-.204-.25-.383-.539-.608-.902-.103-.168-.216-.35-.346-.553C19.939 23.55 18.769 22 16.5 22c-2.137 0-3.68 1.13-4.79 2.226a23.23 23.23 0 0 0-1.197 1.301l-.001.001-.224.257c-.182.206-.335.373-.465.505a12.037 12.037 0 0 1-1.636-1.181c.189-.133.376-.282.555-.447C9.383 24.068 10 23.175 10 22c0-1.003-.367-1.99-.634-2.705-.057-.154-.11-.296-.153-.422-.296-.862-.23-1.097-.063-1.283.02-.022.137-.12.66-.172.239-.023.505-.033.825-.045.308-.011.66-.024 1.019-.056.716-.066 1.546-.217 2.325-.66.027-.015.055-.03.082-.047A5 5 0 1 0 16 7Zm-4.528 8.325a5.6 5.6 0 0 0 .703-.105A4.98 4.98 0 0 1 11 12c0-1.716.864-3.23 2.182-4.13-.504-.893-1.026-1.933-1.176-3.19C7.342 6.326 4 10.774 4 16c0 2.91 1.034 5.575 2.756 7.653.21-.123.43-.277.627-.459.4-.37.617-.77.617-1.194 0-.608-.203-1.164-.456-1.853a31.59 31.59 0 0 1-.223-.625c-.293-.854-.656-2.158.341-3.268.562-.626 1.368-.769 1.951-.826.304-.03.626-.042.923-.053h.026c.316-.012.614-.023.91-.05Zm14.71-1.667c.463-.253.992-.415 1.475-.521.224.916.343 1.875.343 2.863 0 1.458-.26 2.854-.735 4.146-.203-.663-.53-1.326-1.058-1.853-.44-.441-.732-.842-.918-1.262-.185-.415-.289-.898-.289-1.531 0-.903.466-1.449 1.183-1.842Zm-6.928 12.536c.23.372.485.784.746 1.123A11.98 11.98 0 0 1 16 28a11.95 11.95 0 0 1-4.3-.793l.089-.1.251-.288c.34-.39.685-.786 1.074-1.17.96-.946 2.023-1.649 3.386-1.649 1.152 0 1.8.7 2.501 1.79.08.125.165.261.253.404ZM16 9a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z'></path>\"]];","export default [[\"M.5 7a.5.5 0 0 1-.5-.5v-6A.5.5 0 0 1 .5 0h6a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-6ZM8 8.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5Zm2 1.5H9V9h1v1Zm-5.5 1a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2Zm.5-1h1V9H5v1ZM.5 11a.5.5 0 0 1-.5-.5v-2A.5.5 0 0 1 .5 8h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2ZM8 6.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v2Zm2-.5H9V5h1v1ZM8 2.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v2Z\",\"M11 5.5a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v2ZM1.5 10a.5.5 0 0 1-.5-.5v-6a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-8Zm9.5 1.5v2a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5Zm3 1.5h-2v-1h2v1Zm-3-3.5v-2a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5Zm1-.5h2V8h-2v1Zm-6 2.5v2a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5ZM9 13H7v-1h2v1Zm-8 .5a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v2Z\",\"M3 15a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h11a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1H3Zm6 5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v3Zm4-1h-2v-1h2v1ZM2 20a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v3Zm14.293.707A1 1 0 0 1 16 20v-3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-4a1 1 0 0 1-.707-.293ZM18 19h2v-1h-2v1Zm-2-5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v3Zm4-1h-2v-1h2v1Zm-4-5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v3Z\",\"M3 19a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3Zm0 8a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H3Zm9-1a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v4Zm6-1h-4v-2h4v2Zm4.293 1.707A1 1 0 0 1 22 26v-4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-6a1 1 0 0 1-.707-.293ZM24 25h4v-2h-4v2Zm-2-7a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v4Zm6-1h-4v-2h4v2Zm-6-7a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v4Z\"]];","export default [[\"M0 11V8.5A.5.5 0 0 1 .5 8H2V5.5a.5.5 0 0 1 .5-.5H4V1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V4h1.5a.5.5 0 0 1 .5.5V7h1.5a.5.5 0 0 1 .5.5V11H0Zm8-1V5H7v5h1ZM4 6H3v4h1V6Z\",\"M15 15v-1h-2V9a.5.5 0 0 0-.5-.5H11v-3a.5.5 0 0 0-.5-.5H9V1.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V6H4.5a.5.5 0 0 0-.5.5V9H2.5a.5.5 0 0 0-.5.5V14H1v1h14Zm-5-9H9v8h1V6ZM5 7h1v7H5V7Z\",\"M23 23V13a1 1 0 0 0-1-1h-3V7a1 1 0 0 0-1-1h-3V2a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v6H6a1 1 0 0 0-1 1v5H2a1 1 0 0 0-1 1v8h22ZM15 8v13h2V8h-2Zm-8 2h2v11H7V10Z\",\"M28.002 30H2V20a1 1 0 0 1 1-1h4v-7a1 1 0 0 1 1-1h4V3a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v4h4a1 1 0 0 1 1 1v9h4a1 1 0 0 1 1 1v10h1v2h-1.998ZM9 28h3V13H9v15Zm10 0h3V9h-3v19Z\"],[\"M0 8.5V11h11V7.5a.5.5 0 0 0-.5-.5H9V4.5a.5.5 0 0 0-.5-.5H7V1.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V5H2.5a.5.5 0 0 0-.5.5V8H.5a.5.5 0 0 0-.5.5ZM10 10V8H9v2h1Zm-2 0V5H7v5h1Zm-2 0V2H5v8h1Zm-2 0V6H3v4h1Zm-2 0V9H1v1h1Z\",\"M1 15v-1h1V9.5a.5.5 0 0 1 .5-.5H4V6.5a.5.5 0 0 1 .5-.5H6V1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V5h1.5a.5.5 0 0 1 .5.5v3h1.5a.5.5 0 0 1 .5.5v5h2v1H1Zm11-1V9.5h-1V14h1Zm-2 0V6H9v8h1Zm-2 0V2H7v12h1Zm-2 0V7H5v7h1Zm-2 0v-4H3v4h1Z\",\"M22.002 23H1v-8a1 1 0 0 1 1-1h3V9a1 1 0 0 1 1-1h3V2a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4h3a1 1 0 0 1 1 1v5h3a1 1 0 0 1 1 1v10h-.998ZM3 21h2v-5H3v5Zm4 0h2V10H7v11Zm4 0h2V3h-2v18Zm4 0h2V8h-2v13Zm4 0h2v-7h-2v7Z\",\"M3 30h27v-2h-1V18a1 1 0 0 0-1-1h-4V8a1 1 0 0 0-1-1h-4V3a1 1 0 0 0-1-1h-5a1 1 0 0 0-1 1v8H8a1 1 0 0 0-1 1v7H3a1 1 0 0 0-1 1v10h1Zm24-2v-9h-3v9h3Zm-5 0V9h-3v19h3Zm-5 0V4h-3v24h3Zm-5 0V13H9v15h3Zm-5 0v-7H4v7h3Z\"]];","export default [[\"M2 1H1v10h10v-1H2V8.707l.146.147A.5.5 0 0 0 2.9 8.8l2.654-3.539 1.592 1.593A.5.5 0 0 0 7.9 6.8l3-4-.8-.6-2.654 3.539-1.592-1.593A.5.5 0 0 0 5.1 4.2L2.446 7.739 2 7.293V1Z\",\"M2 9.793V1H1v14h14v-1H2v-2.793l.646.646a.5.5 0 0 0 .786-.101l3.173-5.44 3.541 3.542a.5.5 0 0 0 .801-.13l3-6-.894-.448-2.69 5.38-3.51-3.51a.5.5 0 0 0-.785.102l-3.173 5.44L2 9.793Z\",\"M1 1h2v14.586l.872.872 4.314-6.04a1 1 0 0 1 1.521-.125l3.02 3.019 3.379-6.76a1 1 0 0 1 1.601-.26L20 8.587l1.293-1.293 1.414 1.414-2 2a1 1 0 0 1-1.414 0l-2.019-2.019-3.38 6.76a1 1 0 0 1-1.601.26l-3.165-3.166-4.314 6.04a1 1 0 0 1-1.521.125L3 18.414V21h20v2H1V1Z\",\"M2 2h2v18.667l1.932 2.576 6.224-9.78a1 1 0 0 1 1.603-.114l4.879 5.692 4.42-12.377a1 1 0 0 1 1.81-.16l3.153 5.517.621-1.036 1.715 1.03-1.5 2.5a1 1 0 0 1-1.725-.019L24.21 9.384l-4.268 11.952a1 1 0 0 1-1.701.315l-5.122-5.976-6.275 9.862A1 1 0 0 1 5.2 25.6L4 24v4h26v2H2V2Z\"]];","export default [[\"<path d='M3 3a.996.996 0 0 1-.2.599l.869 2.025 1.478-1.478a.5.5 0 0 1 .707 0L7.578 5.87 9 5.017V5a1 1 0 1 1 .514.874L7.757 6.93a.5.5 0 0 1-.61-.076L5.5 5.207 3.854 6.853a.5.5 0 0 1-.813-.156L1.88 3.993A1 1 0 1 1 3 3Z'></path><path d='M1.355 6.021a.5.5 0 0 1 .561.202l1.662 2.492 1.568-1.569a.5.5 0 0 1 .708 0l1.719 1.72 2.663-1.66A.5.5 0 0 1 11 7.63V11H1V6.5a.5.5 0 0 1 .355-.479Z'></path>\",\"<path d='M5.89 3.188a.5.5 0 0 0-.744-.042L3.5 4.793l-.534-.534A1.001 1.001 0 0 0 2 3a1 1 0 1 0 .259 1.966l.887.888a.5.5 0 0 0 .708 0l1.605-1.605 3.65 4.563a.5.5 0 0 0 .698.083l3.816-2.968a1 1 0 1 0-.614-.79L9.582 7.803 5.89 3.188Z'></path><path d='M1.335 6.528a.5.5 0 0 1 .555.16L3.541 8.75l1.605-1.605a.5.5 0 0 1 .744.042l3.693 4.615 4.611-3.568A.5.5 0 0 1 15 8.63V15H1V7a.5.5 0 0 1 .335-.472Z'></path>\",\"<path d='M4 5.5c0 .053-.003.105-.008.156l1.52 2.027L8.115 6.14a1 1 0 0 1 1.263.202l1.961 2.241 1.497-1.33a1 1 0 0 1 1.522.233l2.46 4.1L20 9.465a1.5 1.5 0 1 1 1.32 1.524l-4.265 2.843a1 1 0 0 1-1.412-.317l-2.38-3.966-1.349 1.199a1 1 0 0 1-1.416-.09L8.42 8.285 5.76 9.86a1 1 0 0 1-1.31-.26L2.5 7A1.5 1.5 0 1 1 4 5.5Z'></path><path d='M1.627 11.072a1 1 0 0 1 1.095.236l2.444 2.55 2.814-1.712a1 1 0 0 1 1.288.214l1.8 2.159 1.225-1.226a1 1 0 0 1 1.565.193l2.468 4.114 5.132-3.31a1 1 0 0 1 1.542.84V23H1V12a1 1 0 0 1 .627-.928Z'></path>\",\"<path d='M6 11c0 .18-.024.353-.068.518l1.29 1.29 3.872-1.722a1 1 0 0 1 1.057.155l2.925 2.507 2.37-1.58a1 1 0 0 1 1.335.207l3.495 4.369 3.727-1.864a2 2 0 1 1 .895 1.79l-4.45 2.224a1 1 0 0 1-1.229-.27l-3.427-4.283-2.237 1.491a1 1 0 0 1-1.206-.073l-3.02-2.589-3.923 1.744a1 1 0 0 1-1.113-.207l-1.775-1.775A2 2 0 1 1 6 11Z'></path><path d='M2.587 16.59a1 1 0 0 1 1.071.157l3.424 2.996 3.863-2.575a1 1 0 0 1 1.206.073l2.925 2.507 2.37-1.58a1 1 0 0 1 1.412.317l2.547 4.246 7.194-3.147A1 1 0 0 1 30 20.5V30H2V17.5a1 1 0 0 1 .587-.91Z'></path>\"]];","export default [[\"m9.57.995-6.834.976L.854 3.854l-.708-.708 2-2a.5.5 0 0 1 .283-.141L9.43 0l.142.995ZM0 11V5.5A.5.5 0 0 1 .5 5h2a.5.5 0 0 1 .5.5V10h1V6.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V10h1V7.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V10h1v1H0Z\",\"m13.555 1.997-8.794.977-1.87 2.338-.781-.624 2-2.5a.5.5 0 0 1 .335-.185l9-1 .11.994ZM1 15v-1h1V7a.5.5 0 0 1 .5-.5h2A.5.5 0 0 1 5 7v7h1V9.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V14h1v-3.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V14h2v1H1Z\",\"M21.203 2.98 6.955 5.926 3.651 8.759 2.349 7.241l3.5-3a1 1 0 0 1 .448-.22l14.5-3 .405 1.958ZM1 23v-2h1v-9a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v9h1v-6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v6h1v-3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3h1v2H1Z\",\"m8.474 6.94 19.674-2.95-.296-1.978-20 3a1 1 0 0 0-.559.282l-4.5 4.5 1.414 1.414L8.474 6.94ZM4 30h26v-2h-2v-6a1 1 0 0 0-1-1h-5a1 1 0 0 0-1 1v6h-2V18a1 1 0 0 0-1-1h-5a1 1 0 0 0-1 1v10h-2V14a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v14H2v2h2Z\"],[\"m9.57.995-6.834.976L.854 3.854l-.708-.708 2-2a.5.5 0 0 1 .283-.141L9.43 0l.142.995ZM0 11V5.5A.5.5 0 0 1 .5 5h2a.5.5 0 0 1 .5.5V10h1V6.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V10h1V7.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V10h1v1H0Zm2-5v4H1V6h1Zm4 4H5V7h1v3Zm4 0H9V8h1v2Z\",\"m13.555 1.997-8.794.977-1.87 2.338-.781-.624 2-2.5a.5.5 0 0 1 .335-.185l9-1 .11.994ZM1 15v-1h1V7a.5.5 0 0 1 .5-.5h2A.5.5 0 0 1 5 7v7h1V9.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V14h1v-3.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V14h2v1H1Zm11-1h-1v-3h1v3Zm-4 0v-4H7v4h1ZM4 7.5V14H3V7.5h1Z\",\"M21.203 2.98 6.955 5.926 3.651 8.759 2.349 7.241l3.5-3a1 1 0 0 1 .448-.22l14.5-3 .405 1.958ZM1 23v-2h1v-9a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v9h1v-6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v6h1v-3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3h1v2H1Zm19-2h-2v-2h2v2Zm-7 0v-5h-2v5h2Zm-7-8v8H4v-8h2Z\",\"m8.474 6.94 19.674-2.95-.296-1.978-20 3a1 1 0 0 0-.559.282l-4.5 4.5 1.414 1.414L8.474 6.94ZM3 28H2v2h28v-2h-2v-6a1 1 0 0 0-1-1h-5a1 1 0 0 0-1 1v6h-2V18a1 1 0 0 0-1-1h-5a1 1 0 0 0-1 1v10h-2V14a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v14Zm2 0h3V15H5v13Zm9 0h3v-9h-3v9Zm9 0h3v-5h-3v5Z\"]];","export default [[\"<path d='M6 .5a.5.5 0 0 1 .5-.5A4.5 4.5 0 0 1 11 4.5a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-4Z'></path><path d='M5 6V2.5a.5.5 0 0 0-.5-.5A4.5 4.5 0 1 0 9 6.5a.5.5 0 0 0-.5-.5H5Zm-4 .5a3.5 3.5 0 0 1 3-3.465v6.93A3.5 3.5 0 0 1 1 6.5Zm4 3.465A3.502 3.502 0 0 0 7.965 7H5v2.965Z'></path>\",\"<path d='M8.5 0a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5A6.5 6.5 0 0 0 8.5 0Z'></path><path d='M7 8V2.5a.5.5 0 0 0-.5-.5A6.5 6.5 0 1 0 13 8.5a.5.5 0 0 0-.5-.5H7Zm-6 .5a5.5 5.5 0 0 1 5-5.478v10.956A5.5 5.5 0 0 1 1 8.5Zm6 5.478A5.502 5.502 0 0 0 11.978 9H7v4.978Z'></path>\",\"<path d='M13.942.016a9.5 9.5 0 0 1 10.042 10.042 1 1 0 0 1-.999.942H14a1 1 0 0 1-1-1V1.014a1 1 0 0 1 .942-.998Z'></path><path d='M11 5.015a1 1 0 0 0-1.058-.999A9.5 9.5 0 0 0 10.5 23a9.5 9.5 0 0 0 9.484-8.942A1 1 0 0 0 18.985 13H11V5.015ZM9 6.15a7.503 7.503 0 0 0 0 14.7V6.15ZM11 15v5.984A7.504 7.504 0 0 0 17.85 15H11Z'></path>\",\"<path d='M17.957 1.012c.18-.008.361-.012.543-.012C25.404 1 31 6.596 31 13.5c0 .182-.004.363-.012.543a1 1 0 0 1-.999.957H18a1 1 0 0 1-1-1V2.01a1 1 0 0 1 .957-.998Z'></path><path d='M15.005 7a1 1 0 0 0-1.043-1C7.307 6.287 2 11.77 2 18.496 2 25.4 7.599 31 14.505 31 21.23 31 26.715 25.693 27 19.038a1 1 0 0 0-1-1.043H15.005V7ZM4 18.495c0-5.293 3.914-9.672 9.005-10.4V18H13v10.893c-5.089-.73-9-5.108-9-10.398Zm11 10.494c5.069-.235 9.2-4.062 9.904-8.994H15v8.994Z'></path>\"],[\"<path d='M6 .5a.5.5 0 0 1 .5-.5A4.5 4.5 0 0 1 11 4.5a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-4Zm1 .535V4h2.965A3.502 3.502 0 0 0 7 1.035Z'></path><path d='M5 6h3.5a.5.5 0 0 1 .5.5A4.5 4.5 0 1 1 4.5 2a.5.5 0 0 1 .5.5V6ZM4 3.035a3.5 3.5 0 0 0 0 6.93v-6.93ZM5 7v2.965A3.502 3.502 0 0 0 7.965 7H5Z'></path>\",\"<path d='M8.5 0a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5A6.5 6.5 0 0 0 8.5 0ZM9 6V1.022A5.502 5.502 0 0 1 13.978 6H9Z'></path><path d='M7 8h5.5a.5.5 0 0 1 .5.5A6.5 6.5 0 1 1 6.5 2a.5.5 0 0 1 .5.5V8ZM6 3.022a5.5 5.5 0 0 0 0 10.956V3.022ZM11.978 9A5.502 5.502 0 0 1 7 13.978V9h4.978Z'></path>\",\"<path d='M13.942.016a9.5 9.5 0 0 1 10.042 10.042 1 1 0 0 1-.999.942H14a1 1 0 0 1-1-1V1.014a1 1 0 0 1 .942-.998Zm1.058 2V9h6.984A7.501 7.501 0 0 0 15 2.016Z'></path><path d='M10.686 4.287a1 1 0 0 1 .314.727V13h7.985a1 1 0 0 1 .999 1.058A9.5 9.5 0 0 1 1 13.5c0-5.06 3.955-9.195 8.942-9.484a1 1 0 0 1 .744.271ZM9 6.15a7.503 7.503 0 0 0 0 14.7V6.15Zm2 14.833V15h6.85A7.504 7.504 0 0 1 11 20.983Z'></path>\",\"<path d='M17.957 1.012c.18-.008.361-.012.543-.012C25.404 1 31 6.596 31 13.5c0 .182-.004.363-.012.543a1 1 0 0 1-.999.957H18a1 1 0 0 1-1-1V2.01a1 1 0 0 1 .957-.998Zm1.043 2V13h9.988C28.735 7.599 24.401 3.265 19 3.012Z'></path><path d='M14.697 6.278a1 1 0 0 1 .308.722v10.995H26a1 1 0 0 1 1 1.043C26.713 25.693 21.23 31 14.504 31 7.6 31 2 25.401 2 18.495 2 11.77 7.307 6.285 13.962 6a1 1 0 0 1 .735.277Zm-1.692 1.818C7.915 8.823 4 13.202 4 18.495c0 5.29 3.911 9.668 9 10.398V18h.005V8.096ZM15 19.996v8.993c5.069-.235 9.2-4.062 9.904-8.994H15Z'></path>\"]];","export default [[\"M8 .5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5Zm-4 4v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5Zm0 6a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v2Zm4-2v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5Zm-8 2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v2Zm0-4a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v2Zm8.5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5ZM4 2.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v2Z\",\"M11 5.5a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v2Zm0 4a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v2Zm0 4a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v2Zm-5 0a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v2Zm0-4a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v2Zm-5 4a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v2Zm0-4a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v2Zm5-4a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v2Z\",\"M16 8a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v3Zm-7 6a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v3Zm0 6a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v3Zm-7 0a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v3Zm0-6a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v3Zm14 6a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v3Zm0-6a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v3ZM9 8a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v3Z\",\"M22 10a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v4ZM2 18a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v4Zm0 8a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v4Zm10 0a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v4Zm0-8a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v4Zm10 8a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v4Zm0-8a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v4Zm-10-8a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v4Z\"],[\"M8 .5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5ZM4.5 7a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2ZM5 6h1V5H5v1Zm-1 4.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v2Zm2-.5H5V9h1v1Zm2-1.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5Zm2 1.5H9V9h1v1ZM.5 11a.5.5 0 0 1-.5-.5v-2A.5.5 0 0 1 .5 8h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2Zm0-4a.5.5 0 0 1-.5-.5v-2A.5.5 0 0 1 .5 4h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2ZM8 6.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v2Zm2-.5H9V5h1v1ZM4 2.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v2Z\",\"M11 5.5a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v2Zm0 2v2a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5ZM14 9h-2V8h2v1Zm-3 2.5v2a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5Zm3 1.5h-2v-1h2v1Zm-8 .5v-2a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5Zm1-.5h2v-1H7v1ZM6 7.5v2a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5ZM9 9H7V8h2v1Zm-8 4.5a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v2Zm0-4a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v2Zm5-4a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v2Z\",\"M16 8a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v3Zm-7 6a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v3Zm4-1h-2v-1h2v1Zm-4 7a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v3Zm4-1h-2v-1h2v1ZM2 20a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v3Zm0-6a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v3Zm14.293 6.707A1 1 0 0 1 16 20v-3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-4a1 1 0 0 1-.707-.293ZM18 19h2v-1h-2v1Zm-2-5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v3Zm4-1h-2v-1h2v1ZM9 8a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v3Z\",\"M22 10a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v4ZM2 18a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v4Zm0 8a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v4Zm10.293.707A1 1 0 0 1 12 26v-4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-6a1 1 0 0 1-.707-.293ZM14 25h4v-2h-4v2Zm-2-7a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v4Zm6-1h-4v-2h4v2Zm4.293 9.707A1 1 0 0 1 22 26v-4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-6a1 1 0 0 1-.707-.293ZM24 25h4v-2h-4v2Zm-2-7a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v4Zm6-1h-4v-2h4v2Zm-16-7a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v4Z\"]];","export default [[\"M5.5 1a.5.5 0 0 1 .437.257l5 9a.5.5 0 0 1-.437.742H.5a.5.5 0 0 1-.437-.742l5-9A.5.5 0 0 1 5.5 1ZM2.46 8h6.08l1.11 2h-8.3l1.11-2Zm3.857-4H4.683L5.5 2.53 6.317 4Z\",\"M7.932 2.249a.5.5 0 0 0-.864 0l-7 11.999A.5.5 0 0 0 .5 15h14a.5.5 0 0 0 .432-.752l-7-12ZM4.287 9l-1.166 2h8.758l-1.166-2H4.287ZM8.38 5 7.5 3.493 6.62 5h1.76Zm4.084 7 1.167 2H1.37l1.167-2h9.926Z\",\"M12.874 2.514a1 1 0 0 0-1.748 0l-10 18A1 1 0 0 0 2 22h20a1 1 0 0 0 .874-1.486l-10-18ZM13.634 8 12 5.06 10.366 8h3.268Zm-6.601 6-1.111 2h12.156l-1.11-2H7.032Zm12.156 4 1.111 2H3.7l1.11-2h14.38Z\",\"M16.87 3.512a1 1 0 0 0-1.74 0l-13 23A1 1 0 0 0 3 28.004h26a1 1 0 0 0 .87-1.492l-13-23ZM9.239 18l-1.696 3h16.915l-1.695-3H9.238Zm9.567-7L16 6.037 13.195 11h5.61ZM6.412 23l-1.698 3.004h22.572L25.588 23H6.412Z\"],[\"M5.5 1a.5.5 0 0 1 .437.257l5 9a.5.5 0 0 1-.437.742H.5a.5.5 0 0 1-.437-.742l5-9A.5.5 0 0 1 5.5 1Zm4.15 9L8.54 8H2.46l-1.11 2h8.3ZM6.873 5l1.11 2H3.017l1.111-2h2.746Zm-.556-1L5.5 2.53 4.683 4h1.634Z\",\"M7.932 2.249a.5.5 0 0 0-.864 0l-7 11.999A.5.5 0 0 0 .5 15h14a.5.5 0 0 0 .432-.752l-7-12ZM12.462 12l1.168 2H1.37l1.167-2h9.926Zm-.583-1-1.166-2H4.287l-1.166 2h8.758ZM8.963 6l1.166 2H4.871l1.166-2h2.926Zm-.584-1L7.5 3.493 6.62 5h1.76Z\",\"M12.874 2.514a1 1 0 0 0-1.748 0l-10 18A1 1 0 0 0 2 22h20a1 1 0 0 0 .874-1.486l-10-18ZM19.19 18l1.111 2H3.7l1.11-2h14.38Zm-1.11-2-1.112-2H7.033l-1.111 2h12.156Zm-3.334-6 1.111 2H8.144l1.111-2h5.49Zm-1.111-2L12 5.06 10.366 8h3.268Z\",\"M16.87 3.512a1 1 0 0 0-1.74 0l-13 23A1 1 0 0 0 3 28.004h26a1 1 0 0 0 .87-1.492l-13-23ZM7.543 21l1.696-3h13.524l1.695 3H7.543Zm14.09-5H10.367l1.696-3h7.872l1.695 3Zm-2.827-5h-5.61L16 6.037 18.805 11ZM6.412 23l-1.698 3.004h22.572L25.588 23H6.412Z\"]];","export default [[\"M11.193 1.361 8.916 4.777a.5.5 0 0 1-.77.077l-1.509-1.51-.69 1.38a.5.5 0 0 1-.8.13L3.608 3.316 2 6.133v1.716l1.084-1.626a.5.5 0 0 1 .77-.077l1.509 1.51.69-1.38a.5.5 0 0 1 .8-.13l1.57 1.57 1.938-2.91.832.555-2.277 3.416a.5.5 0 0 1-.77.077l-1.509-1.51-.69 1.38a.5.5 0 0 1-.8.13l-1.57-1.57L2 9.652V10h9v1H1V1h1v3.117l1.066-1.865a.5.5 0 0 1 .788-.106l1.51 1.51.689-1.38a.5.5 0 0 1 .8-.13l1.57 1.57L10.36.805l.832.555Z\",\"M2 6.42V1H1v14h14v-1H2v-1.348l1.639-2.459 2.584 1.723a.5.5 0 0 0 .724-.192l1.615-3.23 1.522 2.283a.5.5 0 0 0 .77.077L14.207 7.5l-.707-.707-2.922 2.922-1.662-2.492a.5.5 0 0 0-.863.053L6.306 10.77 3.778 9.084a.5.5 0 0 0-.694.139L2 10.849V9.582l1.719-5.156 2.428 2.428a.5.5 0 0 0 .77-.077L8.5 4.401l1.584 2.376a.5.5 0 0 0 .77.077L14.207 3.5l-.707-.707-2.922 2.922-1.662-2.492a.5.5 0 0 0-.832 0L6.423 5.715l-2.57-2.569a.5.5 0 0 0-.827.196L2 6.42Z\",\"M3 1v8.807l2.071-5.178a1 1 0 0 1 1.76-.184l3.197 4.795 4.158-5.821a1 1 0 0 1 1.708.134l1.301 2.602 3.649-4.56 1.561 1.249-4.624 5.78a1 1 0 0 1-1.676-.177l-1.257-2.514-4.035 5.648a1 1 0 0 1-1.645-.026L6.222 7.136 3 15.192v3.19l2.115-1.058.904-4.52a1 1 0 0 1 1.762-.429l3.024 3.78 2.3-4.602a1 1 0 0 1 1.602-.26L17 13.586l5-5L23.414 10l-5.707 5.707a1 1 0 0 1-1.414 0l-2.02-2.019-2.379 4.76a1 1 0 0 1-1.675.177L7.56 15.3l-.578 2.896a1 1 0 0 1-.534.698L3 20.619V21h20v2H1V1h2Z\",\"M4 2v12.615L7.067 6.64a1 1 0 0 1 1.811-.12l5.048 9.254L19.092 4.58a1 1 0 0 1 1.878.176l1.452 5.807 5.3-7.95 1.665 1.109-6.555 9.832a1 1 0 0 1-1.802-.313l-1.31-5.245-4.81 10.423a1 1 0 0 1-1.787.06L8.158 9.377 4 20.187v5.425l4.21-1.403 1.841-5.525a1 1 0 0 1 1.73-.309l2.928 3.66 3.362-8.406a1 1 0 0 1 1.848-.023l2.367 5.523 5.605-6.539 1.519 1.302-6.65 7.759a1 1 0 0 1-1.68-.257l-2.048-4.781-3.104 7.758a1 1 0 0 1-1.709.254l-2.852-3.565-1.419 4.256a1 1 0 0 1-.632.633L4 27.72V28h26v2H2V2h2Z\"]];","export default [[\"M11 1h-1v10h1V1ZM1 3v5h1V3H1Zm8 1.5a.5.5 0 0 1-.5.5h-.875c-.349 0-.506.12-.81.353l-.059.045c-.173.131-.39.289-.681.408A2.777 2.777 0 0 1 5 6H3.5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5H5c.241 0 .338-.07.409-.148.097-.107.163-.25.275-.49l.035-.074c.118-.25.284-.59.589-.854.323-.28.75-.434 1.317-.434H8.5a.5.5 0 0 1 .5.5v3Zm0 4a.5.5 0 0 0-.5-.5h-.938c-.317 0-.493-.052-.604-.106-.116-.056-.198-.13-.334-.258l-.011-.01a2.24 2.24 0 0 0-.573-.42C5.764 7.073 5.432 7 5 7H3.5a.5.5 0 0 0 0 1H5c.176 0 .323.076.488.282.179.223.329.538.501.922l.038.086c.15.336.324.727.545 1.033.248.345.621.677 1.178.677h.75a.5.5 0 0 0 .5-.5v-2Z\",\"M13 3.5a.5.5 0 0 1-.5.5h-2c-.617 0-1.243.193-2.013.43l-.152.048C7.519 4.728 6.58 5 5.5 5h-2a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h2c.854 0 1.392-.196 2.034-.43l.108-.04C8.355 1.27 9.167 1 10.5 1h2a.5.5 0 0 1 .5.5v2ZM1 2v5h1V2H1Zm13 5v8h1V7h-1Zm-1 5.5a.5.5 0 0 0-.5-.5H11c-.777 0-1.264-.355-1.931-.84l-.087-.064C8.272 10.579 7.413 10 6 10h-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5c.657 0 1.098.162 1.441.387.36.236.637.555.96.936l.03.035c.302.357.653.772 1.123 1.088.503.339 1.121.554 1.946.554h1.5a.5.5 0 0 0 .5-.5v-2ZM4 10v2H3v-2h1Zm10-9v3h1V1h-1Zm-1 6.5a.5.5 0 0 0-.5-.5h-1.25c-.924 0-1.799-.23-2.746-.483l-.027-.007C7.557 6.264 6.566 6 5.5 6h-2a.5.5 0 0 0 0 1h2c.34 0 .75.175 1.243.53.485.35.983.825 1.503 1.329l.108.105c.474.46.967.939 1.447 1.307.503.387 1.086.729 1.699.729h1a.5.5 0 0 0 .5-.5v-3Z\",\"M20 2v4a1 1 0 0 1-1 1h-3.75c-.932 0-1.822.193-2.91.43l-.222.047C10.95 7.73 9.613 8 8 8H5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h3c1.169 0 1.838-.346 2.744-.815l.141-.074C11.921 1.577 13.15 1 15.25 1H19a1 1 0 0 1 1 1ZM3 11V3H1v8h2Zm20-1h-2v13h2V10Zm-3 8a1 1 0 0 0-1-1h-2.25c-1.113 0-1.905-.514-3.056-1.262l-.119-.077c-1.184-.768-2.643-1.66-4.825-1.66L8 14a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1c.962 0 1.634.21 2.174.504.564.306 1.022.721 1.57 1.23l.05.047c.515.476 1.121 1.039 1.892 1.468.824.459 1.803.751 3.064.751H19a1 1 0 0 0 1-1v-4ZM4 19v-5h2v5H4ZM21 1v6h2V1h-2Zm-1 10a1 1 0 0 0-1-1h-1.875c-1.405 0-2.854-.234-4.401-.487l-.04-.006C11.18 9.26 9.58 9 8 9H5a1 1 0 1 0 0 2h3c.49 0 1.113.211 1.887.651.763.433 1.562 1.02 2.405 1.65l.177.133c.767.574 1.573 1.177 2.346 1.642.812.488 1.743.924 2.685.924H19a1 1 0 0 0 1-1v-4Z\",\"M27 8a1 1 0 0 1-1 1h-5c-1.322 0-2.865.206-4.613.44l-.38.051C14.134 9.741 12.074 10 10 10H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h4c1.734 0 3.046-.405 4.585-.88l.246-.076C16.485 2.535 18.349 2 21 2h5a1 1 0 0 1 1 1v5ZM2 4v10h2V4H2Zm26 26h2V14h-2v16Zm-1-6a1 1 0 0 0-1-1h-3c-.786 0-1.564-.244-2.406-.673-.762-.387-1.517-.892-2.352-1.45l-.312-.209C16.068 19.427 13.837 18 11 18h-1a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1c2.543 0 4.067 1.438 5.862 3.211l.112.111C17.684 28.012 19.694 30 23 30h3a1 1 0 0 0 1-1v-5ZM6 18h2v5H6v-5ZM28 2v7h2V2h-2Zm-1 13a1 1 0 0 0-1-1h-2.5c-1.874 0-4.137-.472-6.544-.979l-.07-.014C14.562 12.517 12.104 12 10 12H6a1 1 0 1 0 0 2h4c.743 0 1.718.337 2.911.976 1.171.626 2.425 1.47 3.713 2.35l.265.181c1.183.809 2.393 1.636 3.518 2.27C21.586 20.442 22.845 21 24 21h2a1 1 0 0 0 1-1v-5Z\"],[\"M11 11h-1V1h1v10ZM1 8V3h1v5H1Zm4-2H3.5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5H5c.241 0 .338-.07.409-.148.097-.107.163-.25.275-.49l.035-.074c.118-.25.284-.59.589-.854.323-.28.75-.434 1.317-.434H8.5a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-.875c-.349 0-.506.12-.81.353l-.059.045c-.173.131-.39.289-.681.408A2.777 2.777 0 0 1 5 6Zm2.625-2H8V2h-.375c-.371 0-.553.095-.663.19-.129.112-.22.273-.337.522l-.037.079c-.098.213-.232.504-.438.732C5.88 3.821 5.509 4 5 4H4v1h1c.316 0 .532-.052.695-.119.166-.068.3-.16.455-.279l.073-.056C6.526 4.311 6.928 4 7.625 4ZM9 8.5a.5.5 0 0 0-.5-.5h-.938c-.317 0-.493-.052-.604-.106-.116-.056-.198-.13-.334-.258l-.011-.01a2.24 2.24 0 0 0-.573-.42C5.764 7.073 5.432 7 5 7H3.5a.5.5 0 0 0 0 1H5c.176 0 .323.076.488.282.179.223.329.538.501.922l.038.086c.15.336.324.727.545 1.033.248.345.621.677 1.178.677h.75a.5.5 0 0 0 .5-.5v-2Z\",\"M10.5 1h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2c-.617 0-1.243.193-2.013.43l-.152.048C7.519 4.728 6.58 5 5.5 5h-2a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h2c.854 0 1.392-.196 2.034-.43l.108-.04C8.355 1.27 9.167 1 10.5 1Zm0 2H12V2h-1.5c-1.168 0-1.855.23-2.517.47l-.12.044C7.216 2.75 6.534 3 5.5 3H4v1h1.5c.919 0 1.73-.229 2.54-.478l.188-.058C8.957 3.238 9.724 3 10.5 3ZM1 2v5h1V2H1Zm13 5v8h1V7h-1Zm-8 3c1.413 0 2.272.58 2.982 1.096l.087.063c.667.486 1.153.841 1.931.841h1.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H11c-.825 0-1.443-.215-1.946-.554-.47-.316-.82-.73-1.124-1.088l-.029-.035c-.323-.381-.6-.7-.96-.936C6.598 12.162 6.157 12 5.5 12a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5H6Zm5 3c-1.113 0-1.845-.537-2.477-1.001a40.036 40.036 0 0 0-.13-.095C7.728 11.421 7.087 11 6 11v.027a3.325 3.325 0 0 1 1.49.524c.495.325.857.752 1.169 1.12l.005.006c.326.385.598.704.949.94.332.223.755.383 1.387.383h1v-1h-1Zm-7-3v2H3v-2h1Zm10-9v3h1V1h-1Zm-1 6.5a.5.5 0 0 0-.5-.5h-1.25c-.924 0-1.799-.23-2.746-.483l-.027-.007C7.557 6.264 6.566 6 5.5 6h-2a.5.5 0 0 0 0 1h2c.34 0 .75.175 1.243.53.485.35.983.825 1.503 1.329l.108.105c.474.46.967.939 1.447 1.307.503.387 1.086.729 1.699.729h1a.5.5 0 0 0 .5-.5v-3Z\",\"M15.25 1H19a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-3.75c-.932 0-1.822.193-2.91.43l-.222.047C10.95 7.73 9.613 8 8 8H5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h3c1.169 0 1.838-.346 2.744-.815l.141-.074C11.921 1.577 13.15 1 15.25 1Zm0 4H18V3h-2.75c-1.649 0-2.546.423-3.448.889l-.173.09C10.713 4.455 9.665 5 8 5H6v1h2c1.387 0 2.55-.23 3.695-.477l.263-.058h.001C13.001 5.238 14.093 5 15.25 5ZM3 11V3H1v8h2Zm20-1h-2v13h2V10Zm-3.293 7.293A1 1 0 0 1 20 18v4a1 1 0 0 1-1 1h-2.25c-1.26 0-2.24-.293-3.064-.751-.77-.43-1.377-.992-1.891-1.468l-.051-.048c-.548-.508-1.006-.923-1.57-1.23C9.634 19.21 8.962 19 8 19a1 1 0 0 1-1-1v-3a1 1 0 0 1 1-1h.75c2.182 0 3.641.893 4.825 1.661l.12.077c1.15.748 1.942 1.262 3.055 1.262H19a1 1 0 0 1 .707.293ZM9 16.005v1.058a6.02 6.02 0 0 1 2.129.684c.81.44 1.436 1.02 1.964 1.51l.01.01c.555.513 1.004.928 1.556 1.234.523.292 1.167.5 2.091.5H18V19h-1.25c-1.724 0-2.986-.826-4.037-1.514l-.226-.147c-1.067-.692-2.056-1.273-3.487-1.334ZM4 19v-5h2v5H4ZM21 1v6h2V1h-2Zm-1 10a1 1 0 0 0-1-1h-1.875c-1.405 0-2.854-.234-4.401-.487l-.04-.006C11.18 9.26 9.58 9 8 9H5a1 1 0 1 0 0 2h3c.49 0 1.113.211 1.887.651.763.433 1.562 1.02 2.405 1.65l.177.133c.767.574 1.573 1.177 2.346 1.642.812.488 1.743.924 2.685.924H19a1 1 0 0 0 1-1v-4Z\",\"M21 2h5a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1h-5c-1.322 0-2.865.206-4.613.44l-.38.051C14.134 9.741 12.074 10 10 10H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h4c1.734 0 3.046-.405 4.585-.88l.246-.076C16.485 2.535 18.349 2 21 2Zm0 5h4V4h-4c-2.349 0-3.985.465-5.58.956l-.29.09C13.617 5.512 12.044 6 10 6H7v2h3c1.926 0 3.866-.24 5.743-.491l.42-.056C17.862 7.224 19.536 7 21 7ZM2 4v10h2V4H2Zm26 26h2V14h-2v16ZM11 18c2.837 0 5.068 1.427 6.93 2.668l.312.209c.835.558 1.59 1.063 2.352 1.45.842.428 1.62.673 2.406.673h3a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1h-3c-3.306 0-5.316-1.988-7.026-3.678l-.112-.11C14.067 24.437 12.542 23 10 23a1 1 0 0 1-1-1v-3a1 1 0 0 1 1-1h1Zm14 7h-2c-1.214 0-2.31-.38-3.313-.89-.876-.445-1.736-1.02-2.556-1.57l-.31-.208C14.93 21.073 13.162 20 11 20v1.06c2.845.348 4.666 2.147 6.23 3.692l.038.037C19.078 26.576 20.552 28 23 28h2v-3ZM6 18h2v5H6v-5ZM28 2v7h2V2h-2Zm-1 13a1 1 0 0 0-1-1h-2.5c-1.874 0-4.137-.472-6.544-.979l-.07-.014C14.562 12.517 12.104 12 10 12H6a1 1 0 1 0 0 2h4c.743 0 1.718.337 2.911.976 1.171.626 2.425 1.47 3.713 2.35l.265.181c1.183.809 2.393 1.636 3.518 2.27C21.586 20.442 22.845 21 24 21h2a1 1 0 0 0 1-1v-5Z\"]];","export default [[\"M5.5 3A5.5 5.5 0 0 0 0 8.5a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5 1.5 1.5 0 1 1 3 0 .5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5A5.5 5.5 0 0 0 5.5 3ZM4.364 6.273a2.49 2.49 0 0 1 1.8-.184l1.05-1.751A4.487 4.487 0 0 0 5.5 4a4.48 4.48 0 0 0-2.167.555l1.03 1.718ZM8.09 4.82 7.057 6.544c.45.359.774.87.893 1.456h2.023A4.497 4.497 0 0 0 8.09 4.82Z\",\"M0 11.5a7.5 7.5 0 1 1 15 0 .5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5 2.5 2.5 0 0 0-5 0 .5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5ZM7.5 8c-.675 0-1.306.191-1.84.523L3.912 6.078A6.47 6.47 0 0 1 7.5 5a6.47 6.47 0 0 1 3.159.818l-1.765 2.47A3.488 3.488 0 0 0 7.5 8Zm2.246.816A3.496 3.496 0 0 1 10.965 11h3.016a6.49 6.49 0 0 0-2.488-4.63L9.746 8.816Z\",\"M12 6C5.925 6 1 10.925 1 17a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1 3 3 0 1 1 6 0 1 1 0 0 0 1 1h6a1 1 0 0 0 1-1c0-6.075-4.925-11-11-11Zm-2.75 6.823A4.977 4.977 0 0 1 12 12c.657 0 1.285.127 1.86.357l2.17-3.407A8.963 8.963 0 0 0 12 8a8.958 8.958 0 0 0-4.897 1.448l2.148 3.375Zm8.456-2.784-2.176 3.42A4.99 4.99 0 0 1 16.9 16h4.045a8.986 8.986 0 0 0-3.24-5.96Z\",\"M16 7C8.268 7 2 13.268 2 21a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1 6 6 0 0 1 12 0 1 1 0 0 0 1 1h6a1 1 0 0 0 1-1c0-7.732-6.268-14-14-14Zm-4.296 7.25A7.963 7.963 0 0 1 16 13a7.97 7.97 0 0 1 3.419.765l2.159-3.393A11.948 11.948 0 0 0 16 9c-2.371 0-4.582.688-6.443 1.875l2.147 3.375Zm11.56-2.802-2.159 3.392A7.988 7.988 0 0 1 23.938 20h4.02a11.984 11.984 0 0 0-4.694-8.552Z\"],[\"M5.5 3A5.5 5.5 0 0 0 0 8.5a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5 1.5 1.5 0 1 1 3 0 .5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5A5.5 5.5 0 0 0 5.5 3ZM4.363 6.273a2.49 2.49 0 0 1 1.8-.184l1.051-1.751A4.487 4.487 0 0 0 5.5 4a4.48 4.48 0 0 0-2.167.555l1.03 1.718ZM8.091 4.82 7.057 6.544c.45.359.774.87.893 1.456h2.023A4.497 4.497 0 0 0 8.09 4.82Z\",\"M0 11.5a7.5 7.5 0 1 1 15 0 .5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5 2.5 2.5 0 0 0-5 0 .5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5ZM7.5 8c-.675 0-1.306.191-1.84.523L3.912 6.078A6.47 6.47 0 0 1 7.5 5a6.47 6.47 0 0 1 3.159.818l-1.765 2.47A3.488 3.488 0 0 0 7.5 8Zm2.246.816A3.496 3.496 0 0 1 10.965 11h3.016a6.49 6.49 0 0 0-2.488-4.63L9.746 8.816Z\",\"M12 6C5.925 6 1 10.925 1 17a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1 3 3 0 1 1 6 0 1 1 0 0 0 1 1h6a1 1 0 0 0 1-1c0-6.075-4.925-11-11-11Zm-2.75 6.823A4.977 4.977 0 0 1 12 12c.657 0 1.285.127 1.86.357l2.17-3.407A8.963 8.963 0 0 0 12 8a8.958 8.958 0 0 0-4.897 1.448l2.148 3.375Zm8.456-2.784-2.176 3.42A4.99 4.99 0 0 1 16.9 16h4.045a8.986 8.986 0 0 0-3.24-5.96Z\",\"M16 7C8.268 7 2 13.268 2 21a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1 6 6 0 0 1 12 0 1 1 0 0 0 1 1h6a1 1 0 0 0 1-1c0-7.732-6.268-14-14-14Zm-4.296 7.25A7.963 7.963 0 0 1 16 13a7.97 7.97 0 0 1 3.419.765l2.159-3.393A11.948 11.948 0 0 0 16 9c-2.371 0-4.582.688-6.443 1.875l2.147 3.375Zm11.56-2.802-2.159 3.392A7.988 7.988 0 0 1 23.938 20h4.02a11.984 11.984 0 0 0-4.694-8.552Z\"]];","export default [[\"<path d='M2.318 3.318a4.5 4.5 0 0 0 0 6.364.5.5 0 0 1-.707.707 5.5 5.5 0 1 1 7.778 0 .5.5 0 0 1-.707-.707 4.5 4.5 0 0 0-6.364-6.364Z'></path><path d='M6.147 5.146a1.5 1.5 0 1 0 .707.707l1.5-1.5a.5.5 0 1 0-.708-.707l-1.5 1.5ZM4.5 9.25A.25.25 0 0 1 4.75 9h1.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-1.5a.25.25 0 0 1-.25-.25v-.5Z'></path>\",\"<path d='M3.61 12.39a5.5 5.5 0 1 1 7.78 0 .5.5 0 1 0 .706.706 6.5 6.5 0 1 0-9.192 0 .5.5 0 1 0 .707-.707Z'></path><path d='M10.854 5.854a.5.5 0 1 0-.708-.708l-2 2a1.5 1.5 0 1 0 .707.707l2-2ZM6.75 11a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h1.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-1.5Z'></path>\",\"<path d='M5.636 6.636a9 9 0 0 1 12.728 12.728 1 1 0 1 0 1.414 1.414c4.296-4.296 4.296-11.26 0-15.556-4.296-4.296-11.26-4.296-15.556 0-4.296 4.296-4.296 11.26 0 15.556a1 1 0 0 0 1.414-1.414 9 9 0 0 1 0-12.728Z'></path><path d='M12 15.5a2 2 0 0 0 1.932-2.518l3.775-3.775a1 1 0 0 0-1.414-1.414l-3.775 3.775A2.001 2.001 0 0 0 10 13.5a2 2 0 0 0 2 2ZM10.75 17a.75.75 0 0 0-.75.75v.5c0 .414.336.75.75.75h2.5a.75.75 0 0 0 .75-.75v-.5a.75.75 0 0 0-.75-.75h-2.5Z'></path>\",\"<path d='M7.515 9.515c4.686-4.687 12.284-4.687 16.97 0 4.687 4.686 4.687 12.284 0 16.97A1 1 0 0 0 25.9 27.9c5.467-5.468 5.467-14.332 0-19.8-5.468-5.467-14.332-5.467-19.8 0-5.467 5.468-5.467 14.332 0 19.8a1 1 0 0 0 1.415-1.415c-4.687-4.686-4.687-12.284 0-16.97Z'></path><path d='M16 20a2 2 0 0 0 1.932-2.518l5.775-5.775a1 1 0 0 0-1.414-1.414l-5.775 5.775A2.001 2.001 0 0 0 14 18a2 2 0 0 0 2 2Zm-1.25 2a.75.75 0 0 0-.75.75v.5c0 .414.336.75.75.75h2.5a.75.75 0 0 0 .75-.75v-.5a.75.75 0 0 0-.75-.75h-2.5Z'></path>\"]];","export default [[\"M11 6.5Zm-3.447 4.497ZM9 1.5c0 .363-.129.696-.344.956l1.545 2.574a1.5 1.5 0 1 1-.15 2.902L8.75 9.668a1.5 1.5 0 1 1-2.726 1.092l-3.21-.534a1.5 1.5 0 1 1-.358-1.882L5.03 6.799a1.5 1.5 0 0 1 1.257-1.784l.445-2.226A1.5 1.5 0 1 1 9 1.5Zm-2 0a.5.5 0 0 1 .935-.247l-.002-.003A.5.5 0 1 1 7 1.5Zm3.925 4.736A.502.502 0 0 0 10.5 6a.5.5 0 1 0 .4.8l-.006.008a.498.498 0 0 0 .029-.575l.002.003ZM8 10.5a.5.5 0 1 0-.59.492h-.002a.5.5 0 0 0 .499-.201L7.9 10.8a.498.498 0 0 0 .1-.3Zm-6-1a.5.5 0 1 0-.573.495h-.002A.5.5 0 0 0 2 9.5ZM6.5 7a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\",\"M10.636 3.48a1.5 1.5 0 1 0-2.005.243l-1.223 4.28A1.5 1.5 0 0 0 6.03 9.799l-2.575 1.545a1.5 1.5 0 1 0 .374 1.851l4.2.6a1.5 1.5 0 1 0 2.825-.942l2-2a1.5 1.5 0 1 0 .38-2.83l-2.6-4.543Zm3.293 6.277a.496.496 0 0 0 .001-.512.5.5 0 1 0-.001.512ZM9.42 13.994a.5.5 0 1 1 .158-.988.5.5 0 0 1-.158.988Zm-7.17-1.928A.499.499 0 0 0 2.5 13a.5.5 0 1 0-.247-.934Zm7.687-9.807a.5.5 0 1 1-.04-.061M8 9.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\",\"M15 21ZM13.157 6.367a3 3 0 1 1 4.09-.38L19.5 10.04a3 3 0 1 1-.331 5.842l-1.711 2.397a3 3 0 1 1-5.42 2.198l-5.434-.988a3 3 0 1 1-.736-3.837l3.203-2.001A3 3 0 0 1 11.946 10l1.211-3.634Zm.885-2.654A1 1 0 1 1 14 4c0-.102.015-.2.044-.292l-.002.005ZM3.488 17.14a1 1 0 0 0 .355 1.847l-.005-.001a.996.996 0 0 0 .52-.053 1 1 0 1 0-.871-1.792l.001-.001Zm11.31 3.838A1 1 0 1 0 14 20a1 1 0 0 0 .801.981h-.005Zm5.591-7.058a1 1 0 1 0-.779-1.842 1 1 0 0 0 .78 1.842Zm-8.045.018a1 1 0 1 0-.688-1.878 1 1 0 0 0 .688 1.878Z\",\"M20 1a3 3 0 0 0-1.57 5.556l-1.815 8.468a3 3 0 0 0-2.58 3.437l-7.433 4.002a3 3 0 1 0 .913 4.173l10.525 1.857a3 3 0 1 0 5.316-2.35l3.263-5.167a3 3 0 1 0-.174-5.925L22.13 6.113A3 3 0 0 0 20 1Zm-1 3a1 1 0 1 1 2 0 1 1 0 0 1-2 0ZM4 25a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm13-8a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm3 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm6-10a1 1 0 1 1 2 0 1 1 0 0 1-2 0Z\"],[\"M10.998 6.454Zm-3.214 4.457Zm-.232.086ZM9 1.5c0 .363-.129.696-.344.956l1.545 2.574a1.5 1.5 0 1 1-.15 2.902L8.75 9.668a1.5 1.5 0 1 1-2.726 1.092l-3.21-.534a1.5 1.5 0 1 1-.358-1.882L5.03 6.799a1.5 1.5 0 0 1 1.257-1.784l.445-2.226A1.5 1.5 0 1 1 9 1.5Zm-2 0a.5.5 0 0 1 .935-.247l-.002-.003A.5.5 0 1 1 7 1.5Zm-.303 4.54a.5.5 0 0 1 .295.55v-.005a.5.5 0 0 1-.246.35l.005-.003a.498.498 0 0 1-.448.027.5.5 0 0 1 .394-.919ZM5.544 7.656a1.5 1.5 0 1 0 1.723-2.445l.446-2.226c.029-.004.058-.009.086-.015l1.545 2.575A1.494 1.494 0 0 0 9.25 7.33l-1.3 1.738a1.5 1.5 0 0 0-1.762.706l-3.21-.535a1.48 1.48 0 0 0-.007-.038l2.574-1.545Zm5.38-1.42A.502.502 0 0 0 10.5 6a.5.5 0 1 0 .4.8l-.006.008a.498.498 0 0 0 .029-.575l.002.003ZM7 10.5a.5.5 0 0 0 .41.492h-.002a.5.5 0 0 0 .499-.201L7.9 10.8a.498.498 0 0 0-.203-.76.5.5 0 0 0-.697.46Zm-5-1a.5.5 0 1 0-.573.495h-.002A.5.5 0 0 0 2 9.5Z\",\"M11 2.5c0 .375-.137.717-.364.98l2.596 4.544a1.5 1.5 0 1 1-.38 2.83l-1.998 2a1.5 1.5 0 1 1-2.825.942l-4.2-.601a1.5 1.5 0 1 1-.374-1.851L6.03 9.799a1.5 1.5 0 0 1 1.378-1.796l1.223-4.28A1.5 1.5 0 1 1 11 2.5Zm-2 0a.501.501 0 1 1 1.002 0A.501.501 0 0 1 9 2.5ZM7.983 9.628a.5.5 0 1 0-.968-.255.5.5 0 0 0 .968.255Zm-1.438 1.028A1.5 1.5 0 1 0 8.37 8.277l1.222-4.28c.06-.003.118-.01.176-.02l2.596 4.543a1.494 1.494 0 0 0-.218 1.627l-2 2a1.5 1.5 0 0 0-1.976.659l-4.199-.6V12.2l2.574-1.545ZM13.5 9a.5.5 0 0 1 .429.757l-.005.008A.5.5 0 1 1 13.5 9Zm-4.027 5a.508.508 0 0 1-.074-.01l.098.01h-.024Zm.324-.098a.498.498 0 0 1-.291.098l-.107-.01a.5.5 0 1 1 .406-.094l-.008.006ZM2 12.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Z\",\"M15.085 20.996ZM13.157 6.367a3 3 0 1 1 4.09-.38L19.5 10.04a3 3 0 1 1-.331 5.842l-1.711 2.396a3 3 0 1 1-5.42 2.198l-5.434-.987a3 3 0 1 1-.736-3.837l3.203-2.002A3 3 0 0 1 11.946 10l1.21-3.634ZM14 4a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm1.054 3-1.21 3.633a3 3 0 1 1-3.712 4.714L6.928 17.35c.013.057.024.115.033.173l5.434.988a2.999 2.999 0 0 1 3.435-1.394l1.711-2.395A2.987 2.987 0 0 1 17 13c0-.762.284-1.458.752-1.987L15.5 6.96a3.018 3.018 0 0 1-.446.04Zm-2.54 6.858a.998.998 0 0 0 .442-.563v.002A1.002 1.002 0 0 0 12 12a1 1 0 1 0 .518 1.856l-.004.002Zm-7.534 3.94a1 1 0 1 0-1.139 1.19l-.003-.001a1 1 0 0 0 1.142-1.188Zm9.819 3.182a1.005 1.005 0 0 0 1.023-.41l-.003.004A.994.994 0 0 0 16 20v-.013a1 1 0 1 0-1.198.993H14.8Zm6.008-7.39a.995.995 0 0 0 .19-.676v.003a1 1 0 1 0-.187.67l-.003.004Z\",\"M19 4a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm1-3a3 3 0 0 0-1.57 5.556l-1.815 8.468a3 3 0 0 0-2.58 3.437l-7.433 4.002a3 3 0 1 0 .913 4.173l10.525 1.857a3 3 0 1 0 5.316-2.35l3.263-5.167a3 3 0 1 0-.174-5.925L22.13 6.113A3 3 0 0 0 20 1Zm4.712 15.06-4.345-9-1.797 8.383a3 3 0 1 1-3.587 4.778l-7.132 3.841c.065.2.11.41.133.626l10.404 1.836a2.999 2.999 0 0 1 3.277-1.45l3.162-5.006A2.99 2.99 0 0 1 24 18c0-.74.268-1.417.712-1.94ZM4 25a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm13-8a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm3 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm6-10a1 1 0 1 1 2 0 1 1 0 0 1-2 0Z\"]];","export default [[\"M2 4.83V1H1v10h10v-1H2V7c0-.316.118-.82.478-1.236.169-.195.4-.382.718-.522a1.5 1.5 0 0 0 1.753.69l.077.226c.183.549.575.968.976 1.26a1.5 1.5 0 0 0 2.995.176 3.44 3.44 0 0 0 .724-.533c.506-.486.917-1.17 1.127-2.102a1.5 1.5 0 1 0-1.002-.108c-.177.698-.487 1.171-.817 1.488a2.454 2.454 0 0 1-.327.264 1.498 1.498 0 0 0-2.29-.136 1.497 1.497 0 0 1-.438-.625 16.025 16.025 0 0 0-.195-.558 1.5 1.5 0 1 0-2.755-1.05A3.13 3.13 0 0 0 2 4.83Z\",\"M1 1h1v7.157a7.11 7.11 0 0 1 .206-.277c.457-.586 1.065-1.168 1.801-1.525a1.5 1.5 0 0 1 2.984-.022c.954.468 1.611 1.392 1.983 2.509.097.29.238.504.403.664a1.499 1.499 0 0 1 2.377.17 2.46 2.46 0 0 0 .46-.51c.338-.491.632-1.23.741-2.268a1.5 1.5 0 1 1 1.002.031c-.117 1.21-.46 2.139-.92 2.805a3.193 3.193 0 0 1-1.054.992A1.5 1.5 0 0 1 9 10.5v-.016c-.404-.277-.765-.697-.974-1.326-.281-.843-.712-1.464-1.283-1.818a1.498 1.498 0 0 1-2.48.01c-.474.27-.903.677-1.269 1.145a6.225 6.225 0 0 0-.751 1.235c-.181.4-.243.673-.243.77V14h13v1H1V1Z\",\"<path d='M1 1h2v20h20v2H1V1Z'></path><path d='M18.739 15.312c-1.39 1.275-3.147 1.284-4.294.52-.483-.322-.926-.78-1.314-1.192a62.15 62.15 0 0 1-.163-.174c-.356-.377-.702-.745-1.094-1.092C11.001 12.6 9.977 12 8.5 12c-1.395 0-2.769.853-3.845 2.093a8.2 8.2 0 0 0-1.238 1.896C3.123 16.627 3 17.156 3 17.5H1c0-.74.24-1.565.601-2.349a10.23 10.23 0 0 1 1.544-2.369C4.419 11.314 6.295 10 8.5 10c2.123 0 3.599.9 4.7 1.877.466.412.88.852 1.231 1.226l.154.164c.408.432.703.723.97.9.353.237 1.096.346 1.831-.329C18.15 13.138 19 11.477 19 8h2c0 3.723-.9 6.062-2.261 7.312Z'></path><path d='M23 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z'></path><path d='M20 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm0 2a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm-1 4a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z'></path><path d='M16 16a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm0 2a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm-5-7a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z'></path><path d='M8 12a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm0 2a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z'></path>\",\"M2 2h2v16.757c.334-.486.707-.966 1.118-1.425 1.03-1.147 2.335-2.186 3.916-2.788a3 3 0 0 1 5.93-.013c1.432.538 2.56 1.403 3.507 2.206.229.194.44.378.641.552l.274.238a3.001 3.001 0 0 1 5.464.533c.17-.152.331-.325.485-.523.859-1.107 1.562-3.116 1.654-6.711A3.001 3.001 0 0 1 28 5a3 3 0 0 1 .99 5.833c-.093 3.812-.836 6.333-2.075 7.93a5.498 5.498 0 0 1-2.345 1.786 3.001 3.001 0 0 1-5.432-.65c-.474-.348-.955-.766-1.417-1.169-.184-.16-.366-.317-.543-.467-.801-.68-1.63-1.309-2.599-1.73a2.999 2.999 0 0 1-5.152.011c-1.082.478-2.021 1.233-2.82 2.124C5.275 20.15 4.404 21.936 4 23.157V28h26v2H2V2Z\"],[\"M2 1v3.83c.277-.244.616-.45 1.023-.595a1.5 1.5 0 1 1 2.756 1.05c.062.164.126.35.195.557.077.229.234.442.439.625a1.498 1.498 0 0 1 2.29.137c.11-.076.22-.163.326-.265.33-.317.64-.79.817-1.489a1.5 1.5 0 1 1 1.002.11c-.21.93-.621 1.615-1.127 2.1a3.44 3.44 0 0 1-.724.534 1.5 1.5 0 0 1-2.995-.176c-.401-.292-.793-.711-.976-1.26a19.13 19.13 0 0 0-.077-.226 1.5 1.5 0 0 1-1.753-.69c-.318.14-.55.327-.718.522C2.118 6.181 2 6.684 2 7v3h9v1H1V1h1Zm9 2.5a.5.5 0 1 0-1 0 .5.5 0 0 0 1 0ZM4.5 4a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1ZM7 7.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Z\",\"M2 1H1v14h14v-1H2v-3.5c0-.097.062-.37.243-.77.172-.38.427-.82.751-1.235.366-.468.795-.875 1.27-1.145a1.498 1.498 0 0 0 2.479-.01c.571.354 1.002.975 1.283 1.818.21.629.57 1.05.974 1.326v.016a1.5 1.5 0 0 0 2.983.226 3.202 3.202 0 0 0 1.054-.992c.46-.666.803-1.594.92-2.805a1.5 1.5 0 1 0-1.002-.031c-.109 1.039-.403 1.777-.742 2.268a2.46 2.46 0 0 1-.46.51 1.499 1.499 0 0 0-2.376-.17 1.612 1.612 0 0 1-.403-.664c-.372-1.117-1.029-2.04-1.983-2.51a1.5 1.5 0 0 0-2.984.023c-.736.357-1.344.94-1.801 1.525A7.11 7.11 0 0 0 2 8.157V1Zm3.5 5a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm8 0a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm-2.898 4.99a.5.5 0 1 0-.204-.98.5.5 0 0 0 .204.98Z\",\"M1 1h2v11.953a9.325 9.325 0 0 1 2.003-1.823 3 3 0 0 1 5.947-.677c.9.354 1.634.877 2.25 1.424.312.275.599.563.86.834A2.988 2.988 0 0 1 16 12c.82 0 1.563.33 2.105.863.271-.52.513-1.212.677-2.12a3 3 0 1 1 2.002.154c-.313 1.899-.947 3.258-1.784 4.156a3 3 0 1 1-5.965-.515l-.067-.072a16.774 16.774 0 0 0-1.094-1.092 5.989 5.989 0 0 0-1.269-.886 2.999 2.999 0 0 1-4.819.537 7.545 7.545 0 0 0-1.13 1.068 8.2 8.2 0 0 0-1.239 1.896C3.123 16.627 3 17.156 3 17.5V21h20v2H1V1Zm19 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm-3 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-8-4a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\",\"M2 2h2v16.757c.334-.486.707-.966 1.118-1.425 1.03-1.147 2.335-2.186 3.916-2.788a3 3 0 0 1 5.93-.013c1.432.538 2.56 1.403 3.507 2.206.229.194.44.378.641.552l.274.238a3.001 3.001 0 0 1 5.464.533c.17-.152.331-.325.485-.523.859-1.107 1.562-3.116 1.654-6.711A3.001 3.001 0 0 1 28 5a3 3 0 0 1 .99 5.833c-.093 3.812-.836 6.333-2.075 7.93a5.498 5.498 0 0 1-2.345 1.786 3.001 3.001 0 0 1-5.432-.65c-.474-.348-.955-.766-1.417-1.169h-.001a56.74 56.74 0 0 0-.542-.467c-.801-.68-1.63-1.309-2.599-1.73a2.999 2.999 0 0 1-5.152.011c-1.082.478-2.021 1.233-2.82 2.124C5.275 20.15 4.404 21.936 4 23.157V28h26v2H2V2Zm26 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm-16 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm11 3a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"]];","export default [[\"M2 1v7h2V5.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V7h2V2.5a.5.5 0 0 1 .5-.5H11v1h-1v4.5a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5V6H5v2.5a.5.5 0 0 1-.5.5H2v1h9v1H1V1h1Z\",\"M2 1v11h3V5.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5V9h3V2.5a.5.5 0 0 1 .5-.5H15v1h-2v6.5a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5V6H6v6.5a.5.5 0 0 1-.5.5H2v1h13v1H1V1h1Z\",\"M1 1h2v16h3v-5.5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1V15h2V6.5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1V10h3v2h-4a1 1 0 0 1-1-1V7.5h-2V16a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-3.5H8V18a1 1 0 0 1-1 1H3v2h20v2H1V1Z\",\"<path d='M2 2h2v28H2V2Z'></path><path d='M30 28v2H2v-2h28ZM18 10a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v6h2v2h-3a1 1 0 0 1-1-1v-6h-6v11a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1v-5h-2v8a1 1 0 0 1-1 1H3v-2h5v-8a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v5h4V10Z'></path>\"],[\"M2 1v7h2V5.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V7h2V2.5a.5.5 0 0 1 .5-.5H11v1h-1v4.5a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5V6H5v2.5a.5.5 0 0 1-.5.5H2v1h9v1H1V1h1Z\",\"M2 1v11h3V5.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5V9h3V2.5a.5.5 0 0 1 .5-.5H15v1h-2v6.5a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5V6H6v6.5a.5.5 0 0 1-.5.5H2v1h13v1H1V1h1Z\",\"M1 1h2v16h3v-5.5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1V15h2V6.5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1V10h3v2h-4a1 1 0 0 1-1-1V7.5h-2V16a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-3.5H8V18a1 1 0 0 1-1 1H3v2h20v2H1V1Z\",\"M2 2h2v22h4v-8a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v5h4V10a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v6h2v2h-3a1 1 0 0 1-1-1v-6h-6v11a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1v-5h-2v8a1 1 0 0 1-1 1H4v2h26v2H2V2Z\"]];","export default [[\"M7.739.864A6.5 6.5 0 0 0 3.433.088a.5.5 0 0 0-.411.576l.582 3.501A2.5 2.5 0 0 0 2.01 6.711l-1.49.437a.5.5 0 0 0-.338.62 4.5 4.5 0 0 0 2.69 2.928l.01.004a4.5 4.5 0 0 0 3.97-.364.5.5 0 0 0 .165-.688l-.811-1.322c.275-.257.492-.575.629-.933l3.502.579a.5.5 0 0 0 .575-.412 6.5 6.5 0 0 0-.945-4.575.5.5 0 0 0-.691-.15L6.29 4.755a2.518 2.518 0 0 0-.136-.13l1.77-3.078a.5.5 0 0 0-.185-.683ZM5.355 8.85a2.495 2.495 0 0 1-1.268.116l-.364.947a3.499 3.499 0 0 0 2.162-.199l-.53-.864ZM3 6.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Z\",\"M4 8c0 .178.012.354.035.526l-2.448.644a.5.5 0 0 0-.357.61 7 7 0 0 0 3.06 4.156l.002.001a7 7 0 0 0 7.476-.038.5.5 0 0 0 .152-.69L9.465 9.363c.12-.129.223-.274.306-.43l4.44 1.05a.5.5 0 0 0 .602-.372 7 7 0 0 0-.907-5.37.5.5 0 0 0-.69-.154L9.637 6.365l2.282-3.575a.5.5 0 0 0-.153-.69 7 7 0 0 0-5.346-.92.5.5 0 0 0-.375.6l.572 2.465A4.001 4.001 0 0 0 4 8Zm3.075-1.774-.23-.995a3.001 3.001 0 0 0-1.833 3.038L6 8.009V8a2 2 0 0 1 1.075-1.774Zm-.82 2.75-.99.26c.245.54.646.996 1.145 1.309.46.288 1.005.455 1.59.455a2.99 2.99 0 0 0 1.172-.237l-.55-.861a2 2 0 0 1-2.367-.925ZM8.03 14a6 6 0 0 1-2.776-.665l1.065-1.704A3.99 3.99 0 0 0 8 12c.613 0 1.195-.138 1.716-.386l1.081 1.694A6 6 0 0 1 8.031 14ZM7 8a1 1 0 1 1 2 0 1 1 0 0 1-2 0Z\",\"M5 12c0 .334.024.664.069.986l-2.947.862a1 1 0 0 0-.68 1.24 11 11 0 0 0 16.06 6.437 1 1 0 0 0 .365-1.366l-1.536-2.66a7.014 7.014 0 0 0 2.262-3.142l3.009.61a1 1 0 0 0 1.179-.78 11 11 0 0 0-.69-6.565 1 1 0 0 0-1.315-.519l-6.404 2.778 3.48-6.051a1 1 0 0 0-.369-1.366 11 11 0 0 0-7.64-1.25A1 1 0 0 0 9.06 2.39l.6 3.01A7.002 7.002 0 0 0 5 12Zm7.549 2.95a2.996 2.996 0 0 1-2.983-1.196l-1.988.582a5.027 5.027 0 0 0 1.774 1.906c.767.48 1.674.758 2.648.758.555 0 1.088-.09 1.585-.256L12.55 14.95Zm-3.545-3.115-1.987.581a5.002 5.002 0 0 1 3.042-5.025l.406 2.031a3 3 0 0 0-1.46 2.412Zm5.277 2.114c.108-.127.206-.263.293-.407l2.03.412a5.014 5.014 0 0 1-1.288 1.788l-1.035-1.793ZM11.845 21a9 9 0 0 1-3.734-.883l1.067-1.709A6.98 6.98 0 0 0 12 19c.918 0 1.795-.177 2.6-.499l1.008 1.744a9 9 0 0 1-3.763.754ZM11 12a1 1 0 1 1 2 0 1 1 0 0 1-2 0Z\",\"m18.928 13.275 4.915-7.69a1 1 0 0 0-.304-1.382 14 14 0 0 0-10.754-1.829 1 1 0 0 0-.743 1.203l.93 3.945a9.017 9.017 0 0 0-3.986 2.838L5.563 8.185a1 1 0 0 0-1.38.308 14 14 0 0 0 17.2 20.43 1 1 0 0 0 .54-1.307l-1.56-3.743a9.026 9.026 0 0 0 4.125-4.875l3.949.916a1 1 0 0 0 1.2-.748 14 14 0 0 0-1.202-9.598 1 1 0 0 0-1.348-.429l-8.106 4.193a4.053 4.053 0 0 0-.053-.057Zm.62 4.575a4.018 4.018 0 0 1-1.135 1.34l1.175 2.822a7.028 7.028 0 0 0 2.937-3.47l-2.978-.692Zm-2.981 2.11a3.996 3.996 0 0 1-3.865-1.697l-2.873 1.045a7.037 7.037 0 0 0 2.69 2.767A6.963 6.963 0 0 0 16 23c.602 0 1.186-.076 1.742-.218l-1.175-2.822Zm-4.549-3.576a4 4 0 0 1 2.119-3.925l-.702-2.975a7.027 7.027 0 0 0-3.345 2.763 7.035 7.035 0 0 0-.944 5.182l2.872-1.045Zm-4.767 1.734A9.02 9.02 0 0 1 7 16c0-1.417.328-2.76.913-3.953L5.37 10.432a12 12 0 0 0-.95 8.715l2.83-1.03Zm5.169 6.141-1.498 2.614a11.996 11.996 0 0 0 8.753.55l-1.158-2.78c-.8.232-1.644.357-2.517.357a8.972 8.972 0 0 1-3.58-.74ZM14 16a2 2 0 1 1 4 0 2 2 0 0 1-4 0Z\"],[\"M3.604 4.165A2.5 2.5 0 0 0 2.01 6.711l-1.49.437a.5.5 0 0 0-.338.62 4.5 4.5 0 0 0 2.69 2.928l.01.004a4.5 4.5 0 0 0 3.97-.364.5.5 0 0 0 .165-.688l-.811-1.322c.275-.257.492-.575.629-.933l3.502.579a.5.5 0 0 0 .575-.412 6.5 6.5 0 0 0-.945-4.575.5.5 0 0 0-.691-.15L6.29 4.755a2.515 2.515 0 0 0-.136-.13l1.77-3.078a.5.5 0 0 0-.185-.683A6.5 6.5 0 0 0 3.433.088a.5.5 0 0 0-.411.576l.582 3.501Zm.987-.163c.242.008.476.052.696.124l1.509-2.624a5.5 5.5 0 0 0-2.702-.487l.497 2.987Zm2.24 1.594c.099.253.157.525.167.81l2.987.494a5.5 5.5 0 0 0-.607-2.94L6.83 5.595ZM5.355 8.85a2.495 2.495 0 0 1-1.268.116l-.364.947a3.499 3.499 0 0 0 2.162-.199l-.53-.864Zm-2.202-.243a2.512 2.512 0 0 1-.863-.937l-.973.286A3.5 3.5 0 0 0 2.79 9.553l.364-.946ZM3 6.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Z\",\"m9.77 8.932 4.44 1.05a.5.5 0 0 0 .602-.37 7 7 0 0 0-.907-5.371.5.5 0 0 0-.69-.154L9.637 6.365l2.282-3.575a.5.5 0 0 0-.153-.69 7 7 0 0 0-5.346-.92.5.5 0 0 0-.375.6l.572 2.465a4.001 4.001 0 0 0-2.581 4.28l-2.448.644a.5.5 0 0 0-.357.61 7 7 0 0 0 3.06 4.156l.002.001a7 7 0 0 0 7.476-.038.5.5 0 0 0 .152-.69L9.465 9.363c.12-.129.223-.274.306-.43Zm-2.634-6.87.454 1.959a3.986 3.986 0 0 1 2.124.364l1.082-1.694a6 6 0 0 0-3.66-.628Zm2.035 3.175a2.99 2.99 0 0 0-1.352-.232l.23.996c.2.004.391.038.572.097l.55-.861Zm.732 2.145c.059.182.093.376.097.577l.994.235a3.047 3.047 0 0 0-.23-1.361l-.861.549ZM8.62 9.902a2 2 0 0 1-2.367-.925l-.988.26c.244.54.645.995 1.144 1.308.46.288 1.005.455 1.59.455a2.99 2.99 0 0 0 1.172-.237l-.55-.861ZM6 8.009V8a2 2 0 0 1 1.075-1.774l-.23-.995a3.001 3.001 0 0 0-1.833 3.038L6 8.009Zm-.745 5.326a6 6 0 0 0 5.542-.027l-1.081-1.694A3.985 3.985 0 0 1 8 12c-.6 0-1.169-.132-1.68-.369l-1.065 1.704Zm.218-2.235a4.01 4.01 0 0 1-1.185-1.607l-1.943.512a6 6 0 0 0 2.062 2.8l1.066-1.704Zm6.144-4.81a3.986 3.986 0 0 1 .36 2.137l1.957.463a6 6 0 0 0-.622-3.68l-1.695 1.08ZM7 8a1 1 0 1 1 2 0 1 1 0 0 1-2 0Z\",\"M5.069 12.986A7.002 7.002 0 0 1 9.661 5.4l-.602-3.01a1 1 0 0 1 .784-1.178 11 11 0 0 1 7.64 1.251 1 1 0 0 1 .369 1.366l-3.48 6.051 6.404-2.778a1 1 0 0 1 1.315.52 11 11 0 0 1 .69 6.563 1 1 0 0 1-1.18.781l-3.008-.61A7.014 7.014 0 0 1 16.33 17.5l1.536 2.66a1 1 0 0 1-.365 1.365 11 11 0 0 1-16.06-6.436 1 1 0 0 1 .68-1.24l2.947-.863Zm6.158-9.953.395 1.977a6.984 6.984 0 0 1 2.965.484l1.005-1.746a9 9 0 0 0-4.365-.715Zm2.349 4.22A4.993 4.993 0 0 0 12.02 7l.406 2.03c.04.006.079.012.117.02l1.033-1.797Zm.705 6.696c.108-.127.206-.263.293-.407l2.03.412a5.014 5.014 0 0 1-1.288 1.788l-1.035-1.793Zm-3.816-4.527-.406-2.031a5.002 5.002 0 0 0-3.042 5.025l1.987-.582a3 3 0 0 1 1.46-2.412Zm-.899 4.332a2.996 2.996 0 0 0 2.983 1.196l1.036 1.794A4.993 4.993 0 0 1 12 17c-.974 0-1.88-.278-2.648-.758a5.027 5.027 0 0 1-1.774-1.906l1.988-.582Zm-1.455 6.362a9 9 0 0 0 7.496.13L14.6 18.5a6.984 6.984 0 0 1-2.6.5 6.98 6.98 0 0 1-2.822-.593l-1.067 1.71Zm-.629-2.769a7.02 7.02 0 0 1-1.852-2.441l-1.934.565a9 9 0 0 0 2.718 3.586l1.068-1.71Zm7.833-5.695 1.685.342c0-.353-.037-.696-.107-1.027l-1.578.685Zm3.44-1.492a7.007 7.007 0 0 1 .234 2.237l1.976.4a9 9 0 0 0-.361-3.439l-1.849.802ZM11 12a1 1 0 1 1 2 0 1 1 0 0 1-2 0Z\",\"m18.928 13.275 4.915-7.69a1 1 0 0 0-.304-1.382 14 14 0 0 0-10.754-1.829 1 1 0 0 0-.743 1.203l.93 3.945a9.017 9.017 0 0 0-3.986 2.838L5.563 8.185a1 1 0 0 0-1.38.308 14 14 0 0 0 17.2 20.43 1 1 0 0 0 .54-1.307l-1.56-3.743a9.026 9.026 0 0 0 4.125-4.875l3.949.916a1 1 0 0 0 1.2-.748 14 14 0 0 0-1.202-9.598 1 1 0 0 0-1.348-.429l-8.106 4.193a4.053 4.053 0 0 0-.053-.057Zm-4.7-9.143.691 2.932a8.967 8.967 0 0 1 5.055.859l1.623-2.538a12 12 0 0 0-7.37-1.253Zm4.661 5.49a6.972 6.972 0 0 0-3.507-.595L16.084 12a3.99 3.99 0 0 1 1.16.196l1.645-2.575Zm1.011 5.486a4 4 0 0 1 .099.794l2.976.691a7.086 7.086 0 0 0-.36-2.889L19.9 15.108Zm-.353 2.742a4.018 4.018 0 0 1-1.134 1.34l1.175 2.822a7.028 7.028 0 0 0 2.937-3.47l-2.978-.692Zm-2.98 2.11a3.996 3.996 0 0 1-3.865-1.697l-2.873 1.045a7.037 7.037 0 0 0 2.69 2.767A6.963 6.963 0 0 0 16 23c.602 0 1.186-.076 1.742-.218l-1.175-2.822Zm-4.549-3.576a4 4 0 0 1 2.119-3.925l-.702-2.975a7.027 7.027 0 0 0-3.345 2.763 7.035 7.035 0 0 0-.944 5.182l2.872-1.045Zm-4.767 1.734A9.02 9.02 0 0 1 7 16c0-1.417.328-2.76.913-3.953L5.37 10.432a12 12 0 0 0-.95 8.715l2.83-1.03ZM5.714 22.18a11.996 11.996 0 0 0 3.473 3.697l1.498-2.614a9.034 9.034 0 0 1-2.75-3.267l-2.831 1.03a12 12 0 0 0 .61 1.154Zm6.706 2.078-1.498 2.614a11.996 11.996 0 0 0 8.753.55l-1.158-2.78c-.8.232-1.644.357-2.517.357a8.972 8.972 0 0 1-3.58-.74Zm12.52-7.21 2.935.682a12 12 0 0 0-.794-6.337l-2.675 1.384a8.98 8.98 0 0 1 .533 4.271ZM14 16a2 2 0 1 1 4 0 2 2 0 0 1-4 0Z\"]];","export default [[\"M4.5 0a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-3Zm-3 1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm0 3a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-9Zm1 5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-3Zm5 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2Zm2-8a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Z\",\"M6.5 1a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-4Zm-5 5a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-13Zm1-4a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm10 1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2Zm-10 9a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-6Zm8 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-3Z\",\"M10 2a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1h-7ZM2 9a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H2Zm2-5a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H4Zm1 14a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1H5Zm11 0a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1h-4Zm4-13a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2Z\",\"M13 2a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1h-7ZM6 3a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H6Zm17 1a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1h-3ZM11 8a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h11a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1H11Zm-6 8a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h22a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H5ZM3 9a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H3Zm5 16a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h9a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1H8Zm12 0a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1h-4Zm5-16a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-5Z\"],[\"M4.5 0a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-3ZM7 2H5V1h2v1Zm-6-.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM1.5 4a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-9ZM2 9.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-2Zm1 .5v1h2v-1H3Zm4-.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1Zm2-8a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Z\",\"M6 1.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-3ZM7 4h3V2H7v2ZM1.5 6a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-13ZM2 2.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm10 1a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1ZM2.5 12a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-6Zm.5 2v-1h5v1H3Zm7.5-2a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-3Z\",\"M9 3a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-7a1 1 0 0 1-1-1V3Zm7 1h-5v2h5V4ZM2 9a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H2Zm1-4a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V5Zm2 13a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1H5Zm1 3v-1h6v1H6Zm10-3a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1h-4Zm4-13a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2Z\",\"M12 3a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-7a1 1 0 0 1-1-1V3Zm2 1v1h5V4h-5ZM5 4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V4Zm17 1a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-3a1 1 0 0 1-1-1V5ZM11 8a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h11a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1H11Zm1 5v-3h9v3h-9Zm-8 4a1 1 0 0 1 1-1h22a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-6Zm-2-7a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-4Zm2 1v2h3v-2H4Zm4 14a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h9a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1H8Zm1 3v-1h7v1H9Zm11-3a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1h-4Zm5-16a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-5Zm1 4v-2h3v2h-3Z\"]];","export default [[\"M1 0H0v1h1V0Zm0 10H0v1h1v-1Zm2 0h2v1H3v-1ZM5 0H3v1h2V0Zm2 10h2v1H7v-1ZM9 0H7v1h2V0Zm2 10h1v1h-1v-1Zm1-10h-1v1h1V0Zm-1.09 5H12v1h-1.225a9.603 9.603 0 0 1-.084.422c-.138.619-.347 1.238-.676 1.714C9.677 8.625 9.18 9 8.5 9c-.964 0-1.594-.504-2.002-1.179-.32-.53-.52-1.189-.675-1.821H2.35A13.688 13.688 0 0 0 2 9H1c0-.851.096-1.94.325-3H0V5h1.588a6.57 6.57 0 0 1 .097-.29c.245-.7.578-1.363 1.026-1.858C3.168 2.348 3.763 2 4.5 2c.406 0 .749.14 1.025.382.263.231.447.54.585.855.223.509.371 1.151.509 1.763h3.286c.081-.77.095-1.51.095-2h1c0 .474-.012 1.21-.09 2ZM9.758 6H6.855c.135.507.288.955.499 1.304.271.45.61.696 1.146.696.257 0 .48-.125.692-.433.222-.32.396-.795.523-1.364A8.27 8.27 0 0 0 9.758 6ZM5.593 5c-.12-.528-.237-.992-.399-1.362-.108-.247-.219-.408-.329-.504A.517.517 0 0 0 4.5 3c-.388 0-.73.173-1.047.523-.318.351-.59.861-.81 1.477h2.95Z\",\"M2 1H0v1h2V1ZM0 14v1h2v-1H0Zm4 0h2v1H4v-1ZM6 1H4v1h2V1Zm2 13h2v1H8v-1Zm2-13H8v1h2V1Zm2 14v-1h2v1h-2Zm2-14h-2v1h2V1Zm-.165 6H15v1h-1.308a13.62 13.62 0 0 1-.207.996c-.194.775-.462 1.5-.841 2.04-.384.55-.925.964-1.644.964-.588 0-1.088-.149-1.5-.43-.41-.28-.702-.668-.916-1.096-.358-.716-.529-1.611-.648-2.474H3.487A17.642 17.642 0 0 0 3 12H2c0-1.122.135-2.586.46-4H1V7h1.725c.056-.184.116-.365.18-.543.323-.908.758-1.758 1.336-2.389C4.827 3.43 5.578 3 6.5 3c.5 0 .915.172 1.238.484.308.298.505.695.643 1.108.23.69.336 1.567.437 2.408h4.01A25.4 25.4 0 0 0 13 4h1c0 .91-.045 1.965-.165 3Zm-1.158 1h-3.73c.114.786.263 1.49.531 2.026.161.322.353.56.585.717.228.156.525.257.937.257.28 0 .553-.148.825-.537.277-.396.509-.984.69-1.71.06-.24.114-.493.162-.753ZM7.81 7c-.098-.808-.19-1.53-.378-2.092-.113-.337-.244-.565-.389-.705C6.913 4.078 6.75 4 6.5 4c-.578 0-1.077.259-1.522.744-.453.495-.831 1.207-1.132 2.05-.025.068-.048.136-.072.206H7.81Z\",\"M3 1H0v2h3V1Zm0 20H0v2h3v-2Zm2 0h3v2H5v-2ZM8 1H5v2h3V1Zm2 20h3v2h-3v-2Zm3-20h-3v2h3V1Zm2 20h3v2h-3v-2Zm3-20h-3v2h3V1Zm2 20h3v2h-3v-2Zm3-20h-3v2h3V1Zm-3.11 10H23v2h-3.354c-.227 1.374-.596 2.742-1.218 3.82C17.725 18.039 16.62 19 15 19c-.822 0-1.54-.198-2.138-.597-.593-.395-1.001-.94-1.289-1.523-.552-1.12-.733-2.548-.874-3.765L10.686 13H5.491C5.145 14.337 5 15.8 5 17.056H3c0-1.218.122-2.657.434-4.056H1v-2h3.04c.028-.072.057-.144.088-.216C4.96 8.814 6.474 7 9 7c.758 0 1.416.22 1.949.656.514.421.837.984 1.053 1.548.208.54.344 1.162.446 1.796h5.434c.177-1.949.147-3.886.127-5.16C18.004 5.514 18 5.23 18 5h2c0 .196.004.45.009.754.02 1.217.052 3.21-.12 5.246Zm-2.274 2h-4.917c.145 1.232.306 2.262.668 2.995.175.355.376.591.603.743.223.148.54.262 1.03.262.676 0 1.218-.351 1.695-1.18.412-.713.713-1.692.921-2.82ZM6.234 11C6.911 9.703 7.817 9 9 9c.35 0 .546.093.681.203.153.126.31.345.454.718.12.314.21.675.284 1.079H6.234Z\",\"M5 2H2v2h3V2Zm0 26H2v2h3v-2Zm2 0h3v2H7v-2Zm3-26H7v2h3V2Zm2 26h3v2h-3v-2Zm3-26h-3v2h3V2Zm2 26h3v2h-3v-2Zm3-26h-3v2h3V2Zm2 26h3v2h-3v-2Zm3-26h-3v2h3V2Zm2 26h3v2h-3v-2Zm3-26h-3v2h3V2Zm-2.736 13H30v2h-3.114c-.364 1.672-.855 3.3-1.523 4.635C24.472 23.417 23.09 25 21 25c-1.134 0-2.1-.279-2.904-.81-.797-.526-1.372-1.257-1.8-2.066-.783-1.48-1.144-3.372-1.43-5.124H6.34C6.08 18.708 6 20.476 6 22H4c0-1.471.07-3.234.319-5H2v-2h2.688c.136-.584.298-1.156.49-1.704.487-1.4 1.192-2.717 2.225-3.694C8.458 8.602 9.818 8 11.5 8c1.022 0 1.886.301 2.586.866.681.55 1.144 1.296 1.479 2.089.495 1.173.775 2.622 1.008 4.045h8.663l.028-.164c.367-2.202.551-4.412.644-6.079A64.01 64.01 0 0 0 26 6.047V6h2v.057a33.973 33.973 0 0 1-.012.74 65.758 65.758 0 0 1-.083 2.071c-.093 1.668-.277 3.889-.642 6.132Zm-2.428 2h-7.942c.276 1.639.593 3.097 1.17 4.189.316.597.688 1.038 1.134 1.332.438.29 1.01.479 1.802.479.91 0 1.778-.667 2.574-2.26.519-1.037.933-2.333 1.262-3.74Zm-10.292-2c-.213-1.259-.446-2.376-.822-3.267-.259-.614-.555-1.04-.891-1.31-.317-.256-.728-.423-1.331-.423-1.156 0-2.028.397-2.723 1.055-.718.679-1.284 1.674-1.711 2.9A13.98 13.98 0 0 0 6.748 15h7.796Z\"]];","export default [[\"M.5 1a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm0 4a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-2ZM4 10.5a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-6a.5.5 0 0 0-.5.5v2ZM8.5 1a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-2Zm-4 0a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-2Z\",\"M1.5 1a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3Zm0 5a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-3ZM6 14.5a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-8a.5.5 0 0 0-.5.5v3ZM11.5 1a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-3Zm-5 0a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-3Z\",\"M2 1a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H2Zm0 8a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V10a1 1 0 0 0-1-1H2Zm7 13a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H10a1 1 0 0 0-1 1v4Zm9-21a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1h-4Zm-8 0a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1h-4Z\",\"M13 2a1 1 0 0 0-1 1v17a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1h-6ZM3 12a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V13a1 1 0 0 0-1-1H3ZM3 2a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H3Zm9 27a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1H13a1 1 0 0 0-1 1v5ZM23 2a1 1 0 0 0-1 1v17a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1h-6Z\"],[\"M0 5.5A.5.5 0 0 1 .5 5h2a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-5ZM1 6v4h1V6H1ZM0 1.5A.5.5 0 0 1 .5 1h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM1 2v1h1V2H1Zm3.5 9a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-6Zm.5-1h5V9H5v1Zm3-8.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-5ZM9 2v4h1V2H9Zm-5-.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-5ZM5 2v4h1V2H5Z\",\"M1 6.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-8ZM2 7v7h2V7H2ZM1 1.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-3ZM2 2v2h2V2H2Zm4.146 12.854A.5.5 0 0 1 6 14.5v-3a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.354-.146ZM7 14h7v-2H7v2Zm4-12.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-8Zm1 .5v7h2V2h-2Zm-6-.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-8ZM7 2v7h2V2H7Z\",\"M1 10a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V10Zm2 1v10h2V11H3ZM1 2a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2Zm2 1v2h2V3H3Zm6.293 19.707A1 1 0 0 1 9 22v-4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H10a1 1 0 0 1-.707-.293ZM11 21h10v-2H11v2Zm6-19a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V2Zm2 1v10h2V3h-2ZM9 2a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V2Zm2 1v10h2V3h-2Z\",\"M2 13a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V13Zm2 1v14h4V14H4Zm8-11a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v17a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1V3Zm2 1v15h4V4h-4ZM2 3a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3Zm2 1v4h4V4H4Zm10 24h14v-3H14v3Zm-2 1v-5a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H13a1 1 0 0 1-1-1ZM22 3a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v17a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1V3Zm2 1v15h4V4h-4Z\"]];","export default [[\"<path d='M1 1.5h1v7.898l7.17-6.274.66.752-7 6.124h7.67v1H1V1.5Z'></path><path d='M7 3h1V2H7v1ZM5.001 5H4V4h1.001v1ZM3 7h1V6H3v1Zm4 1h1V7H7v1Zm3-1H9V6h1v1Z'></path>\",\"<path d='M12 2h-1V.999h1V2Zm-1 7h1V8h-1v1Zm-3 3h1v-1.001H8V12ZM3 9h1V8H3v1Zm3.001-3H5V5h1.001v1ZM8 4h1V3H8v1Z'></path><path d='M2 1v12.363L13.162 3.131l.676.738L2.785 14H15v1H1V1h1Z'></path>\",\"<path d='M3 1H1v22h22v-2H4.414L21.207 4.207l-1.414-1.414L3 19.586V1Z'></path><path d='M13 5h-2V3h2v2ZM9 19v-2h2v2H9Zm5-4h2v-2h-2v2Zm6-1h-2v-2h2v2ZM8 9h2V7H8v2Zm-1 4.5H5v-2h2v2ZM20 9h2V7h-2v2Z'></path>\",\"<path d='M4 2H2v28h28v-2H5.414L28.707 4.707l-1.414-1.414L4 26.586V2Z'></path><path d='M18 7h2V5h-2v2Zm-6 2h2V7h-2v2Zm1 17v-2h-2v2h2Zm4-6v-2h2v2h-2Zm-9-4h2v-2H8v2Zm0 4H6v-2h2v2Zm15-1h-2v-2h2v2Zm5-9h2V8h-2v2Z'></path>\"],[\"<path d='M1 1.5h1v7.898l7.17-6.274.66.752-7 6.124h7.67v1H1V1.5Z'></path><path d='M7 3h1V2H7v1ZM5.001 5H4V4h1.001v1ZM3 7h1V6H3v1Zm4 1h1V7H7v1Zm3-1H9V6h1v1Z'></path>\",\"<path d='M11 2h1V.999h-1V2Zm1 7h-1V8h1v1Zm-3 3H8v-1.001h1V12ZM4 9H3V8h1v1Zm1-3h1.001V5H5v1Zm4-2H8V3h1v1Z'></path><path d='M2 13.363V1H1v14h14v-1H2.785L13.838 3.869l-.676-.738L2 13.363Z'></path>\",\"<path d='M3 1H1v22h22v-2H4.414L21.207 4.207l-1.414-1.414L3 19.586V1Z'></path><path d='M13 5h-2V3h2v2ZM9 19v-2h2v2H9Zm5-4h2v-2h-2v2Zm6-1h-2v-2h2v2ZM8 9h2V7H8v2Zm-1 4.5H5v-2h2v2ZM20 9h2V7h-2v2Z'></path>\",\"<path d='M4 2H2v28h28v-2H5.414L28.707 4.707l-1.414-1.414L4 26.586V2Z'></path><path d='M18 7h2V5h-2v2Zm-6 2h2V7h-2v2Zm1 17v-2h-2v2h2Zm4-6v-2h2v2h-2Zm-9-4h2v-2H8v2Zm0 4H6v-2h2v2Zm15-1h-2v-2h2v2Zm5-9h2V8h-2v2Z'></path>\"]];","export default [[\"<path d='M6.068 5.027a.4.4 0 0 1 .753.016A1.4 1.4 0 0 0 8.148 6H9V5h-.852a.4.4 0 0 1-.379-.273c-.415-1.247-2.165-1.285-2.635-.058l-.386 1.01A.5.5 0 0 1 4.28 6H3v1h1.28a1.5 1.5 0 0 0 1.402-.964l.386-1.01ZM3 8.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5ZM6.5 8a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Z'></path><path d='M1 1.5A1.5 1.5 0 0 1 2.5 0h7A1.5 1.5 0 0 1 11 1.5v8A1.5 1.5 0 0 1 9.5 11h-7A1.5 1.5 0 0 1 1 9.5v-8ZM2.5 1a.5.5 0 0 0-.5.5V2h2.793l-1-1H2.5Zm2.707 0 .647.646A.498.498 0 0 1 6 2h1.793l-1-1H5.207ZM10 2H9a.498.498 0 0 0-.146-.354L8.207 1H9.5a.5.5 0 0 1 .5.5V2ZM2 9.5V3h8v6.5a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5Z'></path>\",\"<path d='M3.5 12a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Zm2.5.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm1.946-4.247a.5.5 0 0 1 .781.098l.553.92a1.5 1.5 0 0 0 1.286.73H12V9h-1.434a.5.5 0 0 1-.429-.244l-.552-.92a1.5 1.5 0 0 0-2.342-.295L4.909 9.855a.5.5 0 0 1-.352.145H3v1h1.557a1.5 1.5 0 0 0 1.056-.435l2.333-2.312Z'></path><path d='M1 2.5A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v11a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 1 13.5v-11ZM2.5 2a.5.5 0 0 0-.5.5V4h2.793l1-1-1-1H2.5Zm6.293 2H6.207l.647-.646a.5.5 0 0 0 0-.708L6.207 2h2.586l1 1-1 1Zm1.414 0H13V2.5a.5.5 0 0 0-.5-.5h-2.293l.646.646a.5.5 0 0 1 0 .708L10.207 4ZM2 13.5V5h11v8.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5Z'></path>\",\"<path d='M13.98 9.409a2 2 0 0 0-1.949-.02L7.245 12H4v2h3.245a2 2 0 0 0 .958-.244l4.786-2.61 2.784 1.59a2 2 0 0 0 .993.264H19v-2h-2.234L13.98 9.409ZM10 18a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2h-8Zm-6 1a1 1 0 0 1 1-1h2a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1Z'></path><path d='M4 1a3 3 0 0 0-3 3v16a3 3 0 0 0 3 3h15a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3H4ZM3 4a1 1 0 0 1 1-1h2.52l1.2 1.5L6.52 6H3V4Zm6.08 2h4.44l1.2-1.5-1.2-1.5H9.08l.7.875a1 1 0 0 1 0 1.25L9.08 6ZM20 6h-3.92l.7-.875a1 1 0 0 0 0-1.25L16.08 3H19a1 1 0 0 1 1 1v2ZM3 8v7h17V8H3Zm0 12v-3h17v3a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1Z'></path>\",\"<path d='M16.372 11.934a2 2 0 0 1 3.217.128l2.644 3.9a1 1 0 0 0 .827.438H25v2h-1.94a3 3 0 0 1-2.483-1.317l-2.644-3.9-4.552 5.691A3 3 0 0 1 11.04 20H7v-2h4.039a1 1 0 0 0 .78-.375l4.553-5.69ZM13 25a1 1 0 1 0 0 2h11a1 1 0 1 0 0-2H13Zm-6 1a1 1 0 0 1 1-1h2a1 1 0 1 1 0 2H8a1 1 0 0 1-1-1Z'></path><path d='M3 5a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v22a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V5Zm24 4v13H5V9h22ZM5 27v-3h22v3a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1ZM27 7V5a1 1 0 0 0-1-1h-2.086l.793.793a1 1 0 0 1 0 1.414L23.914 7H27Zm-5.914 0h-4.172l.793-.793a1 1 0 0 0 0-1.414L16.914 4h4.172l1.5 1.5-1.5 1.5Zm-5.5-1.5-1.5-1.5H9.914l.793.793a1 1 0 0 1 0 1.414L9.914 7h4.172l1.5-1.5ZM7.086 7H5V5a1 1 0 0 1 1-1h1.086l1.5 1.5-1.5 1.5Z'></path>\"]];","export default [[\"M11 5c0 2.31-2.344 3.986-4.968 4l-1.24 1.61C4.21 11.368 3 10.956 3 10V8.215l-.002-.004a.063.063 0 0 0-.022-.02C1.81 7.481 1 6.34 1 5c0-2.319 2.363-4 5-4s5 1.681 5 4Z\",\"M8 1C4.216 1 1 3.611 1 7c0 1.557.69 2.964 1.798 4.017a.603.603 0 0 1 .202.428v2.053c0 1.33 1.602 2.002 2.55 1.07l1.463-1.434a.58.58 0 0 1 .447-.152c.178.012.358.018.54.018 3.784 0 7-2.611 7-6s-3.216-6-7-6Z\",\"M12 3C6.656 3 2 6.643 2 11.5c0 2.398 1.162 4.53 2.963 6.044.018.016.029.03.034.04a.053.053 0 0 1 .003.01v2.405c0 1.565 1.717 2.524 3.05 1.702l2.833-1.747s.013-.005.035-.003c.355.032.716.049 1.082.049 5.344 0 10-3.643 10-8.5S17.344 3 12 3Z\",\"M16 2C8.431 2 2 7.223 2 14c0 3.114 1.38 5.927 3.596 8.034.269.256.404.568.404.856v4.103c0 2.56 3 3.944 4.948 2.281l3.554-3.034c.2-.17.483-.268.803-.255.23.01.462.015.695.015 7.569 0 14-5.223 14-12S23.569 2 16 2Z\"],[\"M6 2C3.667 2 2 3.453 2 5c0 .906.548 1.76 1.495 2.334.293.178.505.5.505.88v1.787l1.264-1.642A.927.927 0 0 1 6 8c2.333 0 4-1.453 4-3S8.333 2 6 2Zm.032 7C8.656 8.986 11 7.31 11 5c0-2.319-2.363-4-5-4S1 2.681 1 5c0 1.34.81 2.482 1.976 3.19a.063.063 0 0 1 .022.02.02.02 0 0 1 .002.004v1.787c0 .954 1.21 1.366 1.792.61L6.032 9Z\",\"M8 2C4.605 2 2 4.314 2 7c0 1.248.551 2.402 1.487 3.292A1.6 1.6 0 0 1 4 11.445v2.053a.5.5 0 0 0 .85.357l1.462-1.435a1.578 1.578 0 0 1 1.213-.435c.157.01.315.015.475.015 3.395 0 6-2.314 6-5s-2.605-5-6-5ZM1 7c0-3.389 3.216-6 7-6s7 2.611 7 6-3.216 6-7 6a8.24 8.24 0 0 1-.54-.018.58.58 0 0 0-.447.152L5.55 14.568c-.95.932-2.55.26-2.55-1.07v-2.053a.6.6 0 0 0-.202-.428C1.69 9.964 1 8.557 1 7Z\",\"M12 5c-4.597 0-8 3.073-8 6.5 0 1.719.829 3.318 2.25 4.513.443.373.75.937.75 1.579v2.407l2.835-1.748c.392-.242.84-.33 1.264-.292.296.027.596.041.901.041 4.597 0 8-3.073 8-6.5S16.597 5 12 5ZM2 11.5C2 6.643 6.656 3 12 3s10 3.643 10 8.5S17.344 20 12 20c-.366 0-.727-.017-1.082-.05a.075.075 0 0 0-.035.004L8.05 21.7C6.717 22.523 5 21.564 5 19.999v-2.406a.041.041 0 0 0-.003-.008.132.132 0 0 0-.034-.04C3.162 16.028 2 13.897 2 11.5Z\",\"M16 4C9.21 4 4 8.627 4 14c0 2.497 1.102 4.805 2.974 6.584C7.578 21.16 8 21.974 8 22.89v4.103a1 1 0 0 0 1.65.76l3.554-3.034a3.152 3.152 0 0 1 2.185-.732c.202.009.406.013.611.013 6.79 0 12-4.627 12-10S22.79 4 16 4ZM2 14C2 7.223 8.431 2 16 2s14 5.223 14 12-6.431 12-14 12c-.233 0-.464-.005-.695-.015a1.155 1.155 0 0 0-.803.255l-3.554 3.034C9 30.937 6 29.553 6 26.993V22.89c0-.288-.135-.6-.404-.856C3.38 19.927 2 17.114 2 14Z\"]];","export default [[\"<path d='M9.46 1.175a1 1 0 0 0 .72-.72l.06-.236c.07-.269.45-.269.52 0l.06.236a1 1 0 0 0 .72.72l.237.06c.268.07.268.452 0 .52l-.236.061a1 1 0 0 0-.72.72l-.061.236c-.07.269-.45.269-.52 0l-.06-.236a1 1 0 0 0-.72-.72l-.237-.06c-.268-.07-.268-.451 0-.52l.237-.06ZM6.515 4.212a2 2 0 0 0 1.697-1.697l.04-.283c.042-.286.455-.286.496 0l.04.283a2 2 0 0 0 1.697 1.697l.283.04c.286.041.286.454 0 .495l-.283.04a2 2 0 0 0-1.697 1.698l-.04.282c-.041.286-.454.286-.495 0l-.04-.282a2 2 0 0 0-1.698-1.697l-.283-.04c-.286-.042-.286-.455 0-.496l.283-.04Z'></path><path d='M6.091 5.737c-1.431-.204-1.43-2.27 0-2.475l.283-.04a1 1 0 0 0 .848-.849l.04-.282c.055-.38.24-.66.488-.837A6.122 6.122 0 0 0 6 1C3.363 1 1 2.68 1 5c0 1.339.81 2.482 1.976 3.19a.063.063 0 0 1 .022.02.027.027 0 0 1 .002.004V10c0 .955 1.21 1.367 1.792.61L6.032 9c2.336-.012 4.45-1.343 4.886-3.264l-.009.001-.283.04a1 1 0 0 0-.848.85l-.04.282c-.205 1.43-2.27 1.43-2.475 0l-.04-.283a1 1 0 0 0-.85-.848l-.282-.04Z'></path>\",\"<path d='M13.277 1.104a1.63 1.63 0 0 1-1.173 1.173l-.521.134c-.11.028-.11.185 0 .213l.52.134a1.63 1.63 0 0 1 1.174 1.173l.134.521c.028.11.185.11.213 0l.134-.52a1.63 1.63 0 0 1 1.173-1.174l.522-.134c.11-.028.11-.185 0-.213l-.522-.134a1.63 1.63 0 0 1-1.173-1.173l-.134-.521c-.028-.11-.185-.11-.213 0l-.134.52ZM7.615 6.265a3 3 0 0 0 2.65-2.65l.036-.326c.027-.237.371-.237.398 0l.036.326a3 3 0 0 0 2.65 2.65l.326.036c.237.027.237.371 0 .398l-.326.036a3 3 0 0 0-2.65 2.65l-.036.326c-.027.237-.371.237-.398 0l-.036-.326a3 3 0 0 0-2.65-2.65l-.326-.036c-.237-.027-.237-.371 0-.398l.326-.036Z'></path><path d='M14.005 7.66c.635-.155.971-.716.958-1.284.025.205.037.413.037.624 0 3.389-3.216 6-7 6a8.24 8.24 0 0 1-.54-.018.58.58 0 0 0-.447.152L5.55 14.568c-.95.932-2.55.26-2.55-1.07v-2.053a.6.6 0 0 0-.202-.428C1.69 9.964 1 8.557 1 7c0-3.389 3.216-6 7-6 1.067 0 2.088.207 3.005.581-.209.131-.353.32-.432.532-.58-.032-1.183.323-1.266 1.066l-.036.325a2 2 0 0 1-1.767 1.767l-.325.036c-1.424.158-1.424 2.228 0 2.386l.325.036a2 2 0 0 1 1.767 1.767l.036.325c.158 1.424 2.227 1.424 2.386 0l.036-.325a2 2 0 0 1 1.767-1.767l.325-.036c.064-.007.125-.018.184-.033Z'></path>\",\"<path d='M17.615 3.265a3 3 0 0 0 2.65-2.65L20.3.289c.027-.237.371-.237.398 0l.036.326a3 3 0 0 0 2.65 2.65l.326.036c.237.027.237.372 0 .398l-.326.036a3 3 0 0 0-2.65 2.65l-.036.326c-.027.237-.372.237-.398 0l-.036-.325a3 3 0 0 0-2.65-2.65l-.326-.037c-.237-.026-.237-.371 0-.398l.326-.036Zm-5.828 4.729a3.983 3.983 0 0 0 3.206-3.207l.212-1.163c.06-.329.53-.329.59 0l.212 1.163a3.983 3.983 0 0 0 3.206 3.207l1.163.211c.329.06.329.53 0 .59l-1.163.212a3.983 3.983 0 0 0-3.206 3.206l-.212 1.164c-.06.328-.53.328-.59 0l-.212-1.164a3.983 3.983 0 0 0-3.206-3.206l-1.164-.212c-.328-.06-.328-.53 0-.59l1.164-.211Z'></path><path d='M12 3c.432 0 .86.024 1.28.07-.016.064-.03.129-.043.196l-.212 1.163a1.983 1.983 0 0 1-1.596 1.597l-1.164.211c-2.518.458-2.518 4.068 0 4.526l1.164.212a1.983 1.983 0 0 1 1.596 1.596l.212 1.164c.458 2.518 4.068 2.518 4.526 0l.211-1.164a1.983 1.983 0 0 1 1.597-1.596l1.163-.212a2.308 2.308 0 0 0 1.154-.551c.074.418.112.848.112 1.288 0 4.858-4.656 8.5-10 8.5-.366 0-.727-.016-1.082-.049-.022-.002-.035.003-.035.003L8.05 21.7C6.717 22.523 5 21.564 5 20v-2.406l-.003-.008a.133.133 0 0 0-.034-.04C3.162 16.03 2 13.897 2 11.5 2 6.643 6.656 3 12 3Z'></path>\",\"<path d='M25.968 2.886a3 3 0 0 1-2.034 2.034l-1.239.363c-.195.058-.196.335 0 .392l1.24.364a3 3 0 0 1 2.033 2.034l.364 1.239c.057.195.334.195.392 0l.363-1.24a3 3 0 0 1 2.034-2.033l1.24-.364c.195-.057.195-.334 0-.392l-1.24-.363a3 3 0 0 1-2.034-2.034l-.363-1.24c-.058-.195-.335-.195-.392 0l-.364 1.24Zm-7.343 5.481a4.385 4.385 0 0 1-3.258 3.258l-2.676.633c-.255.06-.255.423 0 .484l2.678.634a4.385 4.385 0 0 1 3.256 3.258l.633 2.675c.06.255.423.255.484 0l.634-2.677a4.385 4.385 0 0 1 3.256-3.256l2.677-.634c.255-.06.255-.424 0-.484l-2.675-.633a4.385 4.385 0 0 1-3.258-3.256l-.634-2.678c-.06-.255-.424-.255-.484 0l-.633 2.676Z'></path><path d='M14.907 9.68a2.385 2.385 0 0 0 1.772-1.773l.633-2.676c.43-1.823 2.571-2.206 3.72-1.149a2.18 2.18 0 0 1 1.1-.718l.21-.061A15.897 15.897 0 0 0 16 2C8.431 2 2 7.223 2 14c0 3.114 1.38 5.927 3.596 8.034.269.256.404.568.404.856v4.103c0 2.56 3 3.944 4.948 2.281l3.554-3.034c.2-.17.483-.268.803-.255.23.01.462.015.695.015 7.569 0 14-5.223 14-12 0-1.722-.415-3.343-1.158-4.804l-.2.68a2.18 2.18 0 0 1-.718 1.099c1.05 1.15.665 3.282-1.154 3.713l-2.677.634a2.385 2.385 0 0 0-1.77 1.771l-.635 2.677c-.547 2.307-3.83 2.306-4.376 0l-.633-2.676a2.385 2.385 0 0 0-1.771-1.772l-2.678-.634c-2.307-.547-2.307-3.83.001-4.376l2.676-.633Z'></path>\"],[\"<path d='M9.46 1.175a1 1 0 0 0 .72-.72l.06-.236c.07-.269.45-.269.52 0l.06.236a1 1 0 0 0 .72.72l.237.06c.268.07.268.452 0 .52l-.236.061a1 1 0 0 0-.72.72l-.061.236c-.07.269-.45.269-.52 0l-.06-.236a1 1 0 0 0-.72-.72l-.237-.06c-.268-.07-.268-.451 0-.52l.237-.06ZM6.515 4.212a2 2 0 0 0 1.697-1.697l.04-.283c.042-.286.455-.286.496 0l.04.283a2 2 0 0 0 1.697 1.697l.283.04c.286.041.286.454 0 .495l-.283.04a2 2 0 0 0-1.697 1.698l-.04.282c-.041.286-.454.286-.495 0l-.04-.282a2 2 0 0 0-1.698-1.697l-.283-.04c-.286-.042-.286-.455 0-.496l.283-.04Z'></path><path d='M6 8c.623 0 1.199-.104 1.708-.285.677.535 1.876.266 2.03-.806l.04-.283a1 1 0 0 1 .848-.848l.283-.04.01-.002C10.481 7.657 8.368 8.988 6.031 9l-1.24 1.61C4.21 11.367 3 10.955 3 10V8.214l-.002-.004a.063.063 0 0 0-.022-.02C1.81 7.481 1 6.338 1 5c0-2.32 2.363-4 5-4 .606 0 1.198.089 1.75.254a1.213 1.213 0 0 0-.487.837l-.009.058A5.232 5.232 0 0 0 6 1.999C3.667 2 2 3.454 2 5c0 .906.548 1.761 1.495 2.335.293.178.505.5.505.88V10l1.264-1.642A.927.927 0 0 1 6 8Z'></path>\",\"<path d='M13.277 1.104a1.63 1.63 0 0 1-1.173 1.173l-.521.134c-.11.028-.11.185 0 .213l.52.134a1.63 1.63 0 0 1 1.174 1.173l.134.521c.028.11.185.11.213 0l.134-.52a1.63 1.63 0 0 1 1.173-1.174l.522-.134c.11-.028.11-.185 0-.213l-.522-.134a1.63 1.63 0 0 1-1.173-1.173l-.134-.521c-.028-.11-.185-.11-.213 0l-.134.52ZM7.615 6.265a3 3 0 0 0 2.65-2.65l.036-.326c.027-.237.371-.237.398 0l.036.326a3 3 0 0 0 2.65 2.65l.326.036c.237.027.237.371 0 .398l-.326.036a3 3 0 0 0-2.65 2.65l-.036.326c-.027.237-.371.237-.398 0l-.036-.326a3 3 0 0 0-2.65-2.65l-.326-.036c-.237-.027-.237-.371 0-.398l.326-.036Z'></path><path d='M14.005 7.66c.635-.155.971-.716.958-1.284.025.205.037.413.037.624 0 3.389-3.216 6-7 6a8.24 8.24 0 0 1-.54-.018.58.58 0 0 0-.447.152L5.55 14.568c-.95.932-2.55.26-2.55-1.07v-2.053a.6.6 0 0 0-.202-.428C1.69 9.964 1 8.557 1 7c0-3.389 3.216-6 7-6 1.067 0 2.088.207 3.005.581-.209.131-.353.32-.432.532a1.268 1.268 0 0 0-.665.143A7.103 7.103 0 0 0 8 2C4.605 2 2 4.314 2 7c0 1.248.551 2.402 1.487 3.292A1.6 1.6 0 0 1 4 11.445v2.053a.5.5 0 0 0 .85.357l1.462-1.435a1.578 1.578 0 0 1 1.213-.435c.157.01.315.015.475.015 3.108 0 5.553-1.938 5.945-4.326l.06-.014Z'></path>\",\"<path d='M17.615 3.265a3 3 0 0 0 2.65-2.65L20.3.289c.027-.237.371-.237.398 0l.036.326a3 3 0 0 0 2.65 2.65l.326.036c.237.027.237.372 0 .398l-.326.036a3 3 0 0 0-2.65 2.65l-.036.326c-.027.237-.372.237-.398 0l-.036-.325a3 3 0 0 0-2.65-2.65l-.326-.037c-.237-.026-.237-.371 0-.398l.326-.036Zm-5.828 4.729a3.983 3.983 0 0 0 3.206-3.207l.212-1.163c.06-.329.53-.329.59 0l.212 1.163a3.983 3.983 0 0 0 3.206 3.207l1.163.211c.329.06.329.53 0 .59l-1.163.212a3.983 3.983 0 0 0-3.206 3.206l-.212 1.164c-.06.328-.53.328-.59 0l-.212-1.164a3.983 3.983 0 0 0-3.206-3.206l-1.164-.212c-.328-.06-.328-.53 0-.59l1.164-.211Z'></path><path d='M12 3c.432 0 .86.024 1.28.07-.016.064-.03.129-.043.196l-.212 1.163a1.976 1.976 0 0 1-.214.604A10.112 10.112 0 0 0 12 5c-4.597 0-8 3.073-8 6.5 0 1.72.829 3.318 2.25 4.514.443.372.75.936.75 1.578V20l2.835-1.748c.392-.242.84-.33 1.264-.292.296.027.596.041.901.041 4.597 0 8-3.073 8-6.5 0-.2-.012-.4-.035-.597l.77-.14a2.308 2.308 0 0 0 1.153-.551c.074.418.112.848.112 1.288 0 4.858-4.656 8.5-10 8.5-.366 0-.727-.016-1.082-.049-.022-.002-.035.003-.035.003L8.05 21.7C6.717 22.523 5 21.564 5 20v-2.406l-.003-.008a.133.133 0 0 0-.034-.04C3.162 16.03 2 13.897 2 11.5 2 6.643 6.656 3 12 3Z'></path>\",\"<path d='M25.968 2.886a3 3 0 0 1-2.034 2.034l-1.239.363c-.195.058-.196.335 0 .392l1.24.364a3 3 0 0 1 2.033 2.034l.364 1.239c.057.195.334.195.392 0l.363-1.24a3 3 0 0 1 2.034-2.033l1.24-.364c.195-.057.195-.334 0-.392l-1.24-.363a3 3 0 0 1-2.034-2.034l-.363-1.24c-.058-.195-.335-.195-.392 0l-.364 1.24Zm-7.343 5.481a4.385 4.385 0 0 1-3.258 3.258l-2.676.633c-.255.06-.255.423 0 .484l2.678.634a4.385 4.385 0 0 1 3.256 3.258l.633 2.675c.06.255.423.255.484 0l.634-2.677a4.385 4.385 0 0 1 3.256-3.256l2.677-.634c.255-.06.255-.424 0-.484l-2.675-.633a4.385 4.385 0 0 1-3.258-3.256l-.634-2.678c-.06-.255-.424-.255-.484 0l-.633 2.676Z'></path><path d='M28 14v-.062c.691-.847.666-2.15-.076-2.963.323-.261.58-.628.719-1.1l.199-.679A10.531 10.531 0 0 1 30 14c0 6.777-6.431 12-14 12-.233 0-.464-.005-.695-.015a1.155 1.155 0 0 0-.803.255l-3.554 3.034C9 30.937 6 29.553 6 26.993V22.89c0-.288-.135-.6-.404-.856C3.38 19.927 2 17.114 2 14 2 7.223 8.431 2 16 2c2.263 0 4.424.467 6.342 1.303l-.21.061a2.18 2.18 0 0 0-1.1.718c-.859-.79-2.272-.776-3.11.044A14.568 14.568 0 0 0 16 4C9.21 4 4 8.627 4 14c0 2.497 1.102 4.805 2.974 6.584C7.578 21.16 8 21.974 8 22.89v4.103a1 1 0 0 0 1.65.76l3.554-3.034a3.152 3.152 0 0 1 2.185-.732c.202.009.406.013.611.013 6.79 0 12-4.627 12-10Z'></path>\"]];","export default [[\"<path d='M8.5 4a4.48 4.48 0 0 1 2.49.752C10.83 2.562 8.543 1 6 1 3.363 1 1 2.681 1 5c0 1.34.81 2.482 1.976 3.19a.063.063 0 0 1 .022.02.027.027 0 0 1 .002.004v1.787c0 .87 1.004 1.288 1.623.785A4.5 4.5 0 0 1 8.5 4Zm0 6a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M8.5 6.5A.5.5 0 0 1 9 7v1a.5.5 0 0 1-1 0V7a.5.5 0 0 1 .5-.5Z'></path><path d='M8.5 5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM6 8.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path>\",\"<path d='M8 1C4.216 1 1 3.611 1 7c0 1.557.69 2.964 1.798 4.017a.603.603 0 0 1 .202.428v2.053c0 1.33 1.602 2.002 2.55 1.07l.901-.883a5.5 5.5 0 0 1 8.543-6.433C14.998 7.17 15 7.085 15 7c0-3.389-3.216-6-7-6Z'></path><path d='M11 9.5a.5.5 0 0 1 1 0v2a.5.5 0 0 1-1 0v-2Zm.5 4.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M11.5 7a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9ZM8 11.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z'></path>\",\"<path d='M12 3C6.656 3 2 6.643 2 11.5c0 2.398 1.162 4.53 2.963 6.044.018.016.029.03.034.04l.002.006.001.003V20c0 1.565 1.717 2.524 3.05 1.702l.945-.583A9 9 0 0 1 21.67 9.304C20.516 5.585 16.502 3 12 3Z'></path><path d='M16 14a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0v-3Zm1 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M17 10a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-5 7a5 5 0 1 1 10 0 5 5 0 0 1-10 0Z'></path>\",\"<path d='M16 2C8.431 2 2 7.223 2 14c0 3.114 1.38 5.927 3.596 8.034.269.256.404.568.404.856v4.103c0 2.56 3 3.944 4.948 2.281l1.712-1.461A10.948 10.948 0 0 1 11 22c0-6.075 4.925-11 11-11a10.97 10.97 0 0 1 7.99 3.44c.007-.146.01-.292.01-.44 0-6.777-6.431-12-14-12Z'></path><path d='M21 18a1 1 0 1 1 2 0v5a1 1 0 1 1-2 0v-5Zm1 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M22 13a9 9 0 1 0 0 18 9 9 0 0 0 0-18Zm-7 9a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z'></path>\"],[\"<path d='M6 2C3.667 2 2 3.453 2 5c0 .906.548 1.76 1.495 2.334.293.178.505.5.505.88v1.787l.18-.235c.106.36.256.703.443 1.02C4.003 11.289 3 10.87 3 10V8.214l-.002-.004a.063.063 0 0 0-.022-.02C1.81 7.481 1 6.34 1 5c0-2.319 2.363-4 5-4 2.542 0 4.83 1.562 4.99 3.752a4.481 4.481 0 0 0-1.136-.545C9.399 2.991 7.927 2 6 2Zm2.5 8a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M8.5 6.5A.5.5 0 0 1 9 7v1a.5.5 0 0 1-1 0V7a.5.5 0 0 1 .5-.5Z'></path><path d='M8.5 5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM6 8.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path>\",\"<path d='M8 2C4.605 2 2 4.314 2 7c0 1.248.551 2.402 1.487 3.292A1.6 1.6 0 0 1 4 11.445v2.053a.5.5 0 0 0 .85.357l1.263-1.24c.077.372.19.73.338 1.07l-.9.883C4.6 15.5 3 14.828 3 13.498v-2.053a.6.6 0 0 0-.202-.428C1.69 9.964 1 8.557 1 7c0-3.389 3.216-6 7-6s7 2.611 7 6c0 .085-.002.169-.006.252a5.504 5.504 0 0 0-1.014-.663C13.73 4.082 11.22 2 8 2Z'></path><path d='M11 9.5a.5.5 0 0 1 1 0v2a.5.5 0 0 1-1 0v-2Zm.5 4.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M11.5 7a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9ZM8 11.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z'></path>\",\"<path d='M12 5c-4.597 0-8 3.073-8 6.5 0 1.719.829 3.318 2.25 4.513.443.373.75.937.75 1.579v2.407l1.274-.786a8.93 8.93 0 0 0 .721 1.905l-.945.583C6.717 22.523 5 21.564 5 19.999v-2.406l-.001-.003-.002-.005a.132.132 0 0 0-.034-.04C3.162 16.028 2 13.897 2 11.5 2 6.643 6.656 3 12 3c4.502 0 8.516 2.585 9.669 6.304a8.945 8.945 0 0 0-2.79-1.107C17.515 6.32 15.014 5 12 5Z'></path><path d='M16 14a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0v-3Zm1 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M17 10a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-5 7a5 5 0 1 1 10 0 5 5 0 0 1-10 0Z'></path>\",\"<path d='M16 4C9.21 4 4 8.627 4 14c0 2.497 1.102 4.805 2.974 6.584C7.578 21.16 8 21.974 8 22.89v4.103a1 1 0 0 0 1.65.76l2.088-1.783c.25.646.56 1.263.922 1.843l-1.712 1.461C9 30.937 6 29.553 6 26.993V22.89c0-.288-.135-.6-.404-.856C3.38 19.927 2 17.114 2 14 2 7.223 8.431 2 16 2s14 5.223 14 12c0 .148-.003.294-.01.44a11.055 11.055 0 0 0-2.09-1.726C27.148 7.91 22.242 4 16 4Z'></path><path d='M21 18a1 1 0 1 1 2 0v5a1 1 0 1 1-2 0v-5Zm1 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M22 13a9 9 0 1 0 0 18 9 9 0 0 0 0-18Zm-7 9a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z'></path>\"]];","export default [[\"M1 5c0-2.319 2.363-4 5-4s5 1.681 5 4c0 2.31-2.344 3.986-4.968 4l-1.24 1.61C4.21 11.368 3 10.956 3 10V8.215l-.002-.004a.063.063 0 0 0-.022-.02C1.81 7.481 1 6.34 1 5Zm5-1.622c.251-.22.576-.378.955-.378A1.553 1.553 0 0 1 8.05 5.644L6.354 7.352a.5.5 0 0 1-.71 0l-1.66-1.675A1.557 1.557 0 0 1 3.5 4.55C3.5 3.696 4.19 3 5.045 3c.38 0 .704.157.955.378Z\",\"M1 7c0-3.389 3.216-6 7-6s7 2.611 7 6-3.216 6-7 6a8.24 8.24 0 0 1-.54-.018.58.58 0 0 0-.447.152L5.55 14.568c-.95.932-2.55.26-2.55-1.07v-2.053a.6.6 0 0 0-.202-.428C1.69 9.964 1 8.557 1 7Zm7-2.198C8.409 4.347 8.99 4 9.67 4 10.95 4 12 5.022 12 6.3a2.28 2.28 0 0 1-.684 1.628l-2.965 2.928a.5.5 0 0 1-.702 0L4.739 7.98A2.278 2.278 0 0 1 4 6.3C3.999 5.022 5.05 4 6.329 4c.68 0 1.261.347 1.67.802Z\",\"M2 11.5C2 6.643 6.656 3 12 3s10 3.643 10 8.5S17.344 20 12 20c-.366 0-.727-.017-1.082-.05a.075.075 0 0 0-.035.004L8.05 21.7C6.717 22.523 5 21.564 5 19.999v-2.406a.041.041 0 0 0-.003-.008.132.132 0 0 0-.034-.04C3.162 16.028 2 13.897 2 11.5ZM10.2 7C8.385 7 7 8.533 7 10.316c0 .787.266 1.517.716 2.09.533.68 1.188 1.28 1.817 1.815.247.21.483.405.71.593.381.316.739.611 1.084.926a1 1 0 0 0 1.346 0l3.399-3.094a.968.968 0 0 0 .07-.07 3.374 3.374 0 0 0 .858-2.26C17 8.533 15.615 7 13.8 7a2.62 2.62 0 0 0-1.8.67A2.618 2.618 0 0 0 10.2 7Z\",\"M2 14C2 7.223 8.431 2 16 2s14 5.223 14 12-6.431 12-14 12c-.233 0-.464-.005-.695-.015a1.155 1.155 0 0 0-.803.255l-3.554 3.034C9 30.937 6 29.553 6 26.993V22.89c0-.288-.135-.6-.404-.856C3.38 19.927 2 17.114 2 14Zm11.3-6C10.96 8 9 9.84 9 12.184c0 1.021.377 1.955.995 2.677 1.136 1.327 2.335 2.626 3.519 3.908a282.72 282.72 0 0 1 1.745 1.902 1 1 0 0 0 1.482 0 282.72 282.72 0 0 1 1.745-1.902c1.184-1.282 2.383-2.581 3.52-3.908A4.104 4.104 0 0 0 23 12.184C23 9.84 21.04 8 18.7 8c-.984 0-1.73.312-2.315.782a4.08 4.08 0 0 0-.385.354 4.168 4.168 0 0 0-.385-.354C15.03 8.312 14.285 8 13.3 8Z\"],[\"<path d='M6.955 3c-.38 0-.704.157-.955.378A1.438 1.438 0 0 0 5.045 3C4.19 3 3.5 3.696 3.5 4.55a1.549 1.549 0 0 0 .484 1.127l1.66 1.675a.5.5 0 0 0 .711 0l1.694-1.708A1.55 1.55 0 0 0 8.5 4.55C8.5 3.696 7.81 3 6.955 3Zm-.498 1.404C6.57 4.149 6.792 4 6.955 4a.55.55 0 0 1 .385.94L6 6.29 4.688 4.967a.501.501 0 0 0-.039-.039.549.549 0 0 1-.149-.378c0-.306.246-.55.545-.55.163 0 .385.15.498.404a.5.5 0 0 0 .914 0Z'></path><path d='M11 5c0 2.31-2.344 3.986-4.968 4l-1.24 1.61C4.21 11.368 3 10.956 3 10V8.215l-.002-.004a.063.063 0 0 0-.022-.02C1.81 7.481 1 6.34 1 5c0-2.319 2.363-4 5-4s5 1.681 5 4ZM2 5c0-1.547 1.667-3 4-3s4 1.453 4 3-1.667 3-4 3a.927.927 0 0 0-.736.359L4 10V8.214c0-.38-.212-.702-.505-.88C2.548 6.76 2 5.906 2 5Z'></path>\",\"<path d='M9.67 4c-.68 0-1.261.347-1.67.802C7.591 4.347 7.01 4 6.33 4 5.05 4 4 5.022 4 6.3a2.278 2.278 0 0 0 .738 1.68l2.91 2.876a.5.5 0 0 0 .703 0l2.965-2.928A2.28 2.28 0 0 0 12 6.3C12 5.022 10.95 4 9.67 4ZM8.455 5.907C8.688 5.395 9.183 5 9.67 5c.742 0 1.33.59 1.33 1.3 0 .356-.146.68-.386.916L8 9.797 5.435 7.262A1.278 1.278 0 0 1 5 6.3C5 5.59 5.588 5 6.33 5c.487 0 .981.395 1.215.907a.5.5 0 0 0 .91 0Z'></path><path d='M8 1C4.216 1 1 3.611 1 7c0 1.557.69 2.964 1.798 4.017a.603.603 0 0 1 .202.428v2.053c0 1.33 1.602 2.002 2.55 1.07l1.463-1.434a.58.58 0 0 1 .447-.152c.178.012.358.018.54.018 3.784 0 7-2.611 7-6s-3.216-6-7-6ZM2 7c0-2.686 2.605-5 6-5s6 2.314 6 5-2.605 5-6 5c-.16 0-.318-.005-.475-.015-.43-.029-.88.109-1.213.435L4.85 13.855a.5.5 0 0 1-.85-.357v-2.053a1.6 1.6 0 0 0-.513-1.153C2.55 9.402 2 8.248 2 7Z'></path>\",\"<path d='M10.2 7C8.385 7 7 8.533 7 10.316c0 .787.266 1.517.716 2.09.533.68 1.188 1.28 1.817 1.815.247.21.483.405.71.593.381.316.739.611 1.084.926a1 1 0 0 0 1.346 0l3.399-3.094a.968.968 0 0 0 .07-.07 3.374 3.374 0 0 0 .858-2.26C17 8.533 15.615 7 13.8 7a2.62 2.62 0 0 0-1.8.67A2.618 2.618 0 0 0 10.2 7ZM9 10.316C9 9.54 9.585 9 10.2 9c.241 0 .36.068.466.16.15.131.269.309.483.63l.02.03a1 1 0 0 0 1.662 0l.02-.03c.214-.321.333-.499.483-.63.105-.092.225-.16.466-.16.615 0 1.2.54 1.2 1.316 0 .35-.123.66-.317.89l-2.698 2.456c-.174-.147-.35-.292-.523-.436a60.096 60.096 0 0 1-.632-.528c-.604-.514-1.134-1.008-1.54-1.526a1.381 1.381 0 0 1-.29-.856Z'></path><path d='M12 3C6.656 3 2 6.643 2 11.5c0 2.398 1.162 4.53 2.963 6.044.018.016.029.03.034.04a.041.041 0 0 1 .003.01v2.405c0 1.565 1.717 2.524 3.05 1.702l2.833-1.747a.075.075 0 0 1 .035-.003c.355.032.716.049 1.082.049 5.344 0 10-3.643 10-8.5S17.344 3 12 3Zm-8 8.5C4 8.073 7.403 5 12 5c4.597 0 8 3.073 8 6.5S16.597 18 12 18c-.305 0-.605-.014-.9-.04a2.052 2.052 0 0 0-1.265.29L7 20v-2.407a2.07 2.07 0 0 0-.75-1.579C4.83 14.818 4 13.22 4 11.5Z'></path>\",\"<path d='M13.3 8C10.96 8 9 9.84 9 12.184c0 1.021.377 1.955.995 2.677 1.136 1.327 2.335 2.626 3.519 3.908a282.72 282.72 0 0 1 1.745 1.902 1 1 0 0 0 1.482 0 282.72 282.72 0 0 1 1.745-1.902c1.184-1.282 2.383-2.581 3.52-3.908A4.104 4.104 0 0 0 23 12.184C23 9.84 21.04 8 18.7 8c-.984 0-1.73.312-2.315.782a4.08 4.08 0 0 0-.385.354 4.168 4.168 0 0 0-.385-.354C15.03 8.312 14.285 8 13.3 8ZM11 12.184c0-1.173.996-2.184 2.3-2.184.516 0 .822.148 1.062.34.27.218.478.504.776.912l.054.074a1 1 0 0 0 1.616 0l.054-.074c.298-.408.506-.694.776-.911.24-.193.546-.341 1.062-.341 1.304 0 2.3 1.011 2.3 2.184 0 .519-.19.997-.514 1.376-1.113 1.3-2.266 2.55-3.434 3.814L16 18.516c-.351-.383-.703-.763-1.052-1.142-1.168-1.264-2.321-2.514-3.434-3.814A2.104 2.104 0 0 1 11 12.184Z'></path><path d='M16 2C8.431 2 2 7.223 2 14c0 3.114 1.38 5.927 3.596 8.034.269.256.404.568.404.856v4.103c0 2.56 3 3.944 4.948 2.281l3.554-3.034c.2-.17.483-.268.803-.255.23.01.462.015.695.015 7.569 0 14-5.223 14-12S23.569 2 16 2ZM4 14C4 8.627 9.21 4 16 4s12 4.627 12 10-5.21 10-12 10c-.205 0-.409-.004-.611-.013a3.152 3.152 0 0 0-2.185.732l-3.555 3.034A1 1 0 0 1 8 26.993V22.89c0-.917-.422-1.731-1.026-2.306C5.102 18.804 4 16.497 4 14Z'></path>\"]];","export default [[\"<path d='M9.996 4.17A3.39 3.39 0 0 0 10 4c0-2.319-2.363-4-5-4S0 1.681 0 4c0 1.34.81 2.482 1.976 3.19a.063.063 0 0 1 .022.02.027.027 0 0 1 .002.005V9c0 .954 1.21 1.366 1.792.61L5.032 8c.08 0 .16-.002.239-.006A2.01 2.01 0 0 1 6 7.268V7a3 3 0 0 1 3.996-2.83Z'></path><path d='M6 9a1 1 0 0 1 1-1V7a2 2 0 1 1 4 0v1a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V9Zm4-1V7a1 1 0 0 0-2 0v1h2ZM7 9v2h4V9H7Z'></path>\",\"<path d='M1 7c0-3.389 3.216-6 7-6s7 2.611 7 6v.05A3.5 3.5 0 0 0 9 9.5v.768A2 2 0 0 0 8 12v1a8.24 8.24 0 0 1-.54-.018.58.58 0 0 0-.447.152L5.55 14.568c-.95.932-2.55.26-2.55-1.07v-2.053a.6.6 0 0 0-.202-.428C1.69 9.964 1 8.557 1 7Z'></path><path d='M9 12a1 1 0 0 1 1-1V9.5a2.5 2.5 0 0 1 5 0V11a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-3Zm5-1V9.5a1.5 1.5 0 0 0-3 0V11h3Zm-4 1v3h5v-3h-5Z'></path>\",\"<path d='M1 10.5C1 5.643 5.656 2 11 2c4.652 0 8.782 2.76 9.774 6.678A6 6 0 0 0 12 14v.535A3.998 3.998 0 0 0 10 18v.958l-.082-.007c-.022-.002-.035.003-.035.003L7.05 20.7C5.717 21.523 4 20.564 4 18.999v-2.406l-.003-.008a.132.132 0 0 0-.034-.04C2.162 15.028 1 12.897 1 10.5Z'></path><path d='M12 18a2 2 0 0 1 2-2v-2a4 4 0 0 1 8 0v2a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-8a2 2 0 0 1-2-2v-4Zm8-2v-2a2 2 0 1 0-4 0v2h4Zm-6 2v4h8v-4h-8Z'></path>\",\"<path d='M1 14C1 7.223 7.431 2 15 2c7.337 0 13.605 4.907 13.982 11.382A7.5 7.5 0 0 0 16 18.5v1.035A3.998 3.998 0 0 0 14 23v3.008a1.077 1.077 0 0 0-.498.232l-3.554 3.034C8 30.937 5 29.553 5 26.993V22.89c0-.288-.135-.6-.404-.856C2.38 19.927 1 17.114 1 14Z'></path><path d='M18 21a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2v-6a2 2 0 0 0-2-2v-2.5a5.5 5.5 0 1 0-11 0V21Zm5.5-6a3.5 3.5 0 0 1 3.5 3.5V21h-7v-2.5a3.5 3.5 0 0 1 3.5-3.5ZM18 23h11v6H18v-6Z'></path>\"],[\"<path d='M1 4c0-1.547 1.667-3 4-3s4 1.453 4 3c.35 0 .684.06.996.17A3.39 3.39 0 0 0 10 4c0-2.319-2.363-4-5-4S0 1.681 0 4c0 1.34.81 2.482 1.976 3.19a.063.063 0 0 1 .022.02.027.027 0 0 1 .002.005V9c0 .954 1.21 1.366 1.792.61L5.032 8c.08 0 .16-.002.239-.006A2.01 2.01 0 0 1 6 7.268V7l.001-.093C5.685 6.967 5.35 7 5 7a.927.927 0 0 0-.736.359L3 9V7.214c0-.38-.212-.702-.505-.88C1.548 5.76 1 4.906 1 4Z'></path><path d='M6 9a1 1 0 0 1 1-1V7a2 2 0 1 1 4 0v1a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V9Zm4-1V7a1 1 0 0 0-2 0v1h2ZM7 9v2h4V9H7Z'></path>\",\"<path d='M2 7c0-2.686 2.605-5 6-5 3.1 0 5.542 1.93 5.942 4.31.398.18.756.432 1.058.74V7c0-3.389-3.216-6-7-6S1 3.611 1 7c0 1.557.69 2.964 1.798 4.017a.603.603 0 0 1 .202.428v2.053c0 1.33 1.602 2.002 2.55 1.07l1.463-1.434a.58.58 0 0 1 .447-.152c.178.012.358.018.54.018v-1c-.16 0-.318-.005-.475-.015-.43-.029-.88.109-1.213.435L4.85 13.855a.5.5 0 0 1-.85-.357v-2.053a1.6 1.6 0 0 0-.513-1.153C2.55 9.402 2 8.248 2 7Z'></path><path d='M9 12a1 1 0 0 1 1-1V9.5a2.5 2.5 0 0 1 5 0V11a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-3Zm5-1V9.5a1.5 1.5 0 0 0-3 0V11h3Zm1 4v-3h-5v3h5Z'></path>\",\"<path d='M3 10.5C3 7.073 6.403 4 11 4c3.434 0 6.202 1.715 7.383 4.012a5.964 5.964 0 0 1 2.391.666C19.782 4.76 15.652 2 11 2 5.656 2 1 5.643 1 10.5c0 2.398 1.162 4.53 2.963 6.044.018.016.029.03.034.04l.003.01v2.405c0 1.565 1.717 2.524 3.05 1.702l2.833-1.747s.013-.005.035-.003l.082.007V18c0-.359.047-.707.136-1.038l-.037-.003a2.052 2.052 0 0 0-1.264.292L6 18.999v-2.407a2.07 2.07 0 0 0-.75-1.579C3.83 13.818 3 12.22 3 10.5Z'></path><path d='M12 18a2 2 0 0 1 2-2v-2a4 4 0 0 1 8 0v2a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-8a2 2 0 0 1-2-2v-4Zm8-2v-2a2 2 0 1 0-4 0v2h4Zm2 6v-4h-8v4h8Z'></path>\",\"<path d='M3 14C3 8.627 8.21 4 15 4c5.798 0 10.444 3.374 11.678 7.704a7.52 7.52 0 0 1 2.304 1.678C28.605 6.907 22.337 2 15 2 7.431 2 1 7.223 1 14c0 3.114 1.38 5.927 3.596 8.034.269.256.404.568.404.856v4.103c0 2.56 3 3.944 4.948 2.281l3.554-3.034a1.07 1.07 0 0 1 .498-.232v-2.014a3.1 3.1 0 0 0-1.796.725l-3.555 3.034A1 1 0 0 1 7 26.993V22.89c0-.917-.422-1.731-1.026-2.306C4.102 18.804 3 16.497 3 14Z'></path><path d='M18 21a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2v-6a2 2 0 0 0-2-2v-2.5a5.5 5.5 0 1 0-11 0V21Zm5.5-6a3.5 3.5 0 0 1 3.5 3.5V21h-7v-2.5a3.5 3.5 0 0 1 3.5-3.5ZM18 23h11v6H18v-6Z'></path>\"]];","export default [[\"<path d='M11 5c0 .312-.043.613-.123.9l-.275-.55c-.866-1.732-3.338-1.732-4.204 0L4.273 9.6c-.23.46-.294.947-.224 1.402C3.525 11.022 3 10.629 3 10V8.214l-.002-.004a.063.063 0 0 0-.022-.02C1.81 7.481 1 6.34 1 5c0-2.319 2.363-4 5-4s5 1.681 5 4Zm-2.5 5.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M8.5 7a.5.5 0 0 1 .5.5v1a.5.5 0 1 1-1 0v-1a.5.5 0 0 1 .5-.5Z'></path><path d='M9.707 5.797c-.497-.995-1.917-.995-2.415 0l-2.124 4.25A1.35 1.35 0 0 0 6.375 12h4.25a1.35 1.35 0 0 0 1.207-1.954L9.707 5.797Zm-1.52.447a.35.35 0 0 1 .626 0l2.125 4.25a.35.35 0 0 1-.313.506h-4.25a.35.35 0 0 1-.313-.506l2.125-4.25Z'></path>\",\"<path d='M8 1C4.216 1 1 3.611 1 7c0 1.557.69 2.964 1.798 4.017a.603.603 0 0 1 .202.428v2.053c0 1.33 1.602 2.002 2.55 1.07l.495-.485c.029-.35.128-.703.307-1.043l3.052-5.782c.89-1.685 3.303-1.685 4.192 0l.97 1.837A5.275 5.275 0 0 0 15 7c0-3.389-3.216-6-7-6Z'></path><path d='M11 10a.5.5 0 0 1 1 0v1.5a.5.5 0 0 1-1 0V10Zm.5 4a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M12.712 7.724a1.37 1.37 0 0 0-2.424 0l-3.051 5.783A1.7 1.7 0 0 0 8.74 16h5.52a1.7 1.7 0 0 0 1.503-2.493l-3.051-5.783Zm-1.54.467a.37.37 0 0 1 .655 0l3.052 5.782a.7.7 0 0 1-.62 1.027H8.74a.7.7 0 0 1-.619-1.027l3.052-5.782Z'></path>\",\"<path d='M12 3C6.656 3 2 6.643 2 11.5c0 2.398 1.162 4.53 2.963 6.044.018.016.029.03.034.04l.002.006.001.003V20a1.99 1.99 0 0 0 1.261 1.859 5.18 5.18 0 0 1 .627-3.463l4.554-7.968c2.015-3.528 7.1-3.528 9.116 0l1.335 2.335c.07-.41.107-.831.107-1.262C22 6.643 17.344 3 12 3Z'></path><path d='M15 15a1 1 0 1 1 2 0v2a1 1 0 1 1-2 0v-2Zm1 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M18.605 11.543c-1.152-2.016-4.058-2.016-5.21 0l-4.553 7.969c-1.143 2 .3 4.488 2.604 4.488h9.108c2.303 0 3.747-2.488 2.604-4.488l-4.553-7.97Zm-3.473.992a1 1 0 0 1 1.736 0l4.554 7.969A1 1 0 0 1 20.554 22h-9.108a1 1 0 0 1-.868-1.496l4.554-7.969Z'></path>\",\"<path d='M16 2C8.431 2 2 7.223 2 14c0 3.114 1.38 5.927 3.596 8.034.269.256.404.568.404.856v4.103c0 2.557 2.994 3.94 4.942 2.287a5.228 5.228 0 0 1 .496-3.894l6.055-10.95c1.96-3.545 7.054-3.545 9.014 0l2.373 4.291A10.528 10.528 0 0 0 30 14c0-6.777-6.431-12-14-12Z'></path><path d='M21 20a1 1 0 1 1 2 0v4a1 1 0 1 1-2 0v-4Zm1 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M24.538 15.523c-1.104-1.995-3.972-1.995-5.076 0l-6.055 10.951c-1.124 2.033.346 4.526 2.67 4.526h11.847c2.323 0 3.793-2.493 2.67-4.526l-6.056-10.95Zm-3.326.968a.9.9 0 0 1 1.576 0l6.055 10.95A1.05 1.05 0 0 1 27.924 29H16.076a1.05 1.05 0 0 1-.919-1.558l6.055-10.951Z'></path>\"],[\"<path d='M2 5c0-1.547 1.667-3 4-3 2.104 0 3.665 1.18 3.952 2.547.26.204.485.472.65.803l.275.55A3.31 3.31 0 0 0 11 5c0-2.319-2.363-4-5-4S1 2.681 1 5c0 1.34.81 2.482 1.976 3.19a.063.063 0 0 1 .022.02.027.027 0 0 1 .002.004v1.787c0 .609.492.997 1 1.002v-2.79c0-.38-.212-.702-.505-.88C2.548 6.76 2 5.906 2 5Zm6.5 5.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M8.5 7a.5.5 0 0 1 .5.5v1a.5.5 0 1 1-1 0v-1a.5.5 0 0 1 .5-.5Z'></path><path d='M9.707 5.797c-.497-.995-1.917-.995-2.415 0l-2.124 4.25A1.35 1.35 0 0 0 6.375 12h4.25a1.35 1.35 0 0 0 1.207-1.954L9.707 5.797Zm-1.52.447a.35.35 0 0 1 .626 0l2.125 4.25a.35.35 0 0 1-.313.506h-4.25a.35.35 0 0 1-.313-.506l2.125-4.25Z'></path>\",\"<path d='M8 2C4.605 2 2 4.314 2 7c0 1.248.551 2.402 1.487 3.292A1.6 1.6 0 0 1 4 11.445v2.053a.5.5 0 0 0 .85.357l1.462-1.435c.16-.158.349-.271.549-.343l-.509.963a2.7 2.7 0 0 0-.307 1.043l-.494.485C4.6 15.5 3 14.828 3 13.498v-2.053a.6.6 0 0 0-.202-.428C1.69 9.964 1 8.557 1 7c0-3.389 3.216-6 7-6s7 2.611 7 6a5.24 5.24 0 0 1-.435 2.095l-.654-1.24C13.97 7.576 14 7.29 14 7c0-2.686-2.605-5-6-5Z'></path><path d='M11 10a.5.5 0 0 1 1 0v1.5a.5.5 0 0 1-1 0V10Zm.5 4a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M12.712 7.724a1.37 1.37 0 0 0-2.424 0l-3.051 5.783A1.7 1.7 0 0 0 8.74 16h5.52a1.7 1.7 0 0 0 1.503-2.493l-3.051-5.783Zm-1.54.467a.37.37 0 0 1 .655 0l3.052 5.782a.7.7 0 0 1-.62 1.027H8.74a.7.7 0 0 1-.619-1.027l3.052-5.782Z'></path>\",\"<path d='M12 5c-4.597 0-8 3.073-8 6.5 0 1.719.829 3.318 2.25 4.513.443.373.75.937.75 1.579v.607l-.112.196a5.18 5.18 0 0 0-.627 3.463A1.988 1.988 0 0 1 5 19.998v-2.405l-.001-.003-.002-.005a.132.132 0 0 0-.034-.04C3.162 16.028 2 13.897 2 11.5 2 6.643 6.656 3 12 3s10 3.643 10 8.5c0 .43-.037.852-.107 1.262l-1.335-2.335a5.28 5.28 0 0 0-1.18-1.424C18.195 6.71 15.43 5 12 5Z'></path><path d='M15 15a1 1 0 1 1 2 0v2a1 1 0 1 1-2 0v-2Zm1 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M18.605 11.543c-1.152-2.016-4.058-2.016-5.21 0l-4.553 7.969c-1.143 2 .3 4.488 2.604 4.488h9.108c2.303 0 3.747-2.488 2.604-4.488l-4.553-7.97Zm-3.473.992a1 1 0 0 1 1.736 0l4.554 7.969A1 1 0 0 1 20.554 22h-9.108a1 1 0 0 1-.868-1.496l4.554-7.969Z'></path>\",\"<path d='M16 4C9.21 4 4 8.627 4 14c0 2.497 1.102 4.805 2.974 6.584C7.578 21.16 8 21.974 8 22.89v4.103a1 1 0 0 0 1.65.76l1.28-1.093a5.207 5.207 0 0 0 .012 2.62C8.994 30.933 6 29.55 6 26.992V22.89c0-.288-.135-.6-.404-.856C3.38 19.927 2 17.114 2 14 2 7.223 8.431 2 16 2s14 5.223 14 12c0 1.692-.4 3.287-1.12 4.727l-1.252-2.264A8.378 8.378 0 0 0 28 14c0-5.373-5.21-10-12-10Z'></path><path d='M21 20a1 1 0 0 1 2 0v4a1 1 0 1 1-2 0v-4Zm1 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M24.538 15.523c-1.104-1.995-3.972-1.995-5.076 0l-6.055 10.951c-1.124 2.033.346 4.526 2.67 4.526h11.847c2.323 0 3.793-2.493 2.67-4.526l-6.056-10.95Zm-3.326.968a.9.9 0 0 1 1.576 0l6.055 10.95A1.05 1.05 0 0 1 27.924 29H16.076a1.05 1.05 0 0 1-.919-1.558l6.055-10.951Z'></path>\"]];","export default [[\"M10.854 3.146a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708 0l-3-3a.5.5 0 1 1 .708-.708L4.5 8.793l5.646-5.647a.5.5 0 0 1 .708 0Z\",\"M14.343 4.136a.5.5 0 0 1 .021.707l-8 8.5a.5.5 0 0 1-.718.01l-3.5-3.5a.5.5 0 1 1 .708-.707l3.135 3.136 7.647-8.125a.5.5 0 0 1 .707-.021Z\",\"M21.707 6.293a1 1 0 0 1 0 1.414l-12 12a1 1 0 0 1-1.414 0l-6-6a1 1 0 1 1 1.414-1.414L9 17.586 20.293 6.293a1 1 0 0 1 1.414 0Z\",\"M28.707 6.293a1 1 0 0 1 0 1.414l-17 17a1 1 0 0 1-1.414 0l-7-7a1 1 0 1 1 1.414-1.414L11 22.586 27.293 6.293a1 1 0 0 1 1.414 0Z\"]];","export default [[\"M10.707 3.293a1 1 0 0 1 0 1.414l-5.5 5.5a1 1 0 0 1-1.414 0l-2.5-2.5a1 1 0 0 1 1.414-1.414L4.5 8.086l4.793-4.793a1 1 0 0 1 1.414 0Z\",\"M14.685 3.772a1 1 0 0 1 .043 1.413l-8 8.5a1 1 0 0 1-1.435.022l-4-4a1 1 0 0 1 1.414-1.414l3.271 3.271 7.294-7.75a1 1 0 0 1 1.413-.042Z\",\"M21.414 6.586a2 2 0 0 1 0 2.828l-11 11a2 2 0 0 1-2.828 0l-5-5a2 2 0 1 1 2.828-2.828L9 16.172l9.586-9.586a2 2 0 0 1 2.828 0Z\",\"M28.414 6.586a2 2 0 0 1 0 2.828l-16 16a2 2 0 0 1-2.828 0l-6-6a2 2 0 1 1 2.828-2.828L11 21.172 25.586 6.586a2 2 0 0 1 2.828 0Z\"]];","export default [[\"M0 1.5A1.5 1.5 0 0 1 1.5 0h8A1.5 1.5 0 0 1 11 1.5v8A1.5 1.5 0 0 1 9.5 11h-8A1.5 1.5 0 0 1 0 9.5v-8Zm8.854 2.354a.5.5 0 1 0-.708-.708L4.5 6.793 2.854 5.146a.5.5 0 1 0-.708.708l2 2a.5.5 0 0 0 .708 0l4-4Z\",\"M1 2.5A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v10a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 1 12.5v-10Zm9.854 3.354a.5.5 0 0 0-.708-.708L6.5 8.793 4.854 7.146a.5.5 0 1 0-.708.708l2 2a.5.5 0 0 0 .708 0l4-4Z\",\"M2 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5Zm15.707 4.707a1 1 0 0 0-1.414-1.414L10 14.586l-2.293-2.293a1 1 0 0 0-1.414 1.414l3 3a1 1 0 0 0 1.414 0l7-7Z\",\"M3 6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm21.707 4.707a1 1 0 0 0-1.414-1.414L12.5 20.086l-3.793-3.793a1 1 0 0 0-1.414 1.414l4.5 4.5a1 1 0 0 0 1.414 0l11.5-11.5Z\"],[\"<path d='M8.854 3.854a.5.5 0 1 0-.708-.708L4.5 6.793 2.854 5.146a.5.5 0 1 0-.708.708l2 2a.5.5 0 0 0 .708 0l4-4Z'></path><path d='M1.5 0A1.5 1.5 0 0 0 0 1.5v8A1.5 1.5 0 0 0 1.5 11h8A1.5 1.5 0 0 0 11 9.5v-8A1.5 1.5 0 0 0 9.5 0h-8ZM1 1.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-8Z'></path>\",\"<path d='M10.854 5.854a.5.5 0 0 0-.708-.708L6.5 8.793 4.854 7.146a.5.5 0 1 0-.708.708l2 2a.5.5 0 0 0 .708 0l4-4Z'></path><path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v10A1.5 1.5 0 0 0 2.5 14h10a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 12.5 1h-10ZM2 2.5a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v10a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10Z'></path>\",\"<path d='M17.707 9.707a1 1 0 0 0-1.414-1.414L10 14.586l-2.293-2.293a1 1 0 0 0-1.414 1.414l3 3a1 1 0 0 0 1.414 0l7-7Z'></path><path d='M5 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H5ZM4 5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V5Z'></path>\",\"<path d='M24.707 10.707a1 1 0 0 0-1.414-1.414L12.5 20.086l-3.793-3.793a1 1 0 0 0-1.414 1.414l4.5 4.5a1 1 0 0 0 1.414 0l11.5-11.5Z'></path><path d='M6 3a3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6ZM5 6a1 1 0 0 1 1-1h20a1 1 0 0 1 1 1v20a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6Z'></path>\"]];","export default [[\"M0 1.5A1.5 1.5 0 0 1 1.5 0h8A1.5 1.5 0 0 1 11 1.5v8A1.5 1.5 0 0 1 9.5 11h-8A1.5 1.5 0 0 1 0 9.5v-8ZM2.5 5a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Z\",\"M1 2.5A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v10a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 1 12.5v-10ZM4.5 7a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Z\",\"M2 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5Zm5 6a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2H7Z\",\"M3 6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm5 9a1 1 0 1 0 0 2h16a1 1 0 1 0 0-2H8Z\"],[\"<path d='M2.5 5a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Z'></path><path d='M1.5 0A1.5 1.5 0 0 0 0 1.5v8A1.5 1.5 0 0 0 1.5 11h8A1.5 1.5 0 0 0 11 9.5v-8A1.5 1.5 0 0 0 9.5 0h-8ZM1 1.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-8Z'></path>\",\"<path d='M4.5 7a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Z'></path><path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v10A1.5 1.5 0 0 0 2.5 14h10a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 12.5 1h-10ZM2 2.5a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v10a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10Z'></path>\",\"<path d='M7 11a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2H7Z'></path><path d='M5 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H5ZM4 5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V5Z'></path>\",\"<path d='M8 15a1 1 0 1 0 0 2h16a1 1 0 1 0 0-2H8Z'></path><path d='M6 3a3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6ZM5 6a1 1 0 0 1 1-1h20a1 1 0 0 1 1 1v20a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6Z'></path>\"]];","export default [[\"M0 1.5A1.5 1.5 0 0 1 1.5 0h8A1.5 1.5 0 0 1 11 1.5v8A1.5 1.5 0 0 1 9.5 11h-8A1.5 1.5 0 0 1 0 9.5v-8ZM1.5 1a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-8Z\",\"M1 2.5A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v10a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 1 12.5v-10ZM2.5 2a.5.5 0 0 0-.5.5v10a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5v-10a.5.5 0 0 0-.5-.5h-10Z\",\"M2 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H5Z\",\"M3 6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-1a1 1 0 0 0-1 1v20a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H6Z\"]];","export default [[\"M4.854 2.146a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708 0l-1-1a.5.5 0 1 1 .708-.708l.646.647 1.646-1.647a.5.5 0 0 1 .708 0ZM5 4.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5ZM4.5 6h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1Zm5 3h-5a.5.5 0 0 1 0-1h5a.5.5 0 0 1 0 1ZM3 6.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm0 2a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\",\"M4.854 3.146a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708 0l-1-1a.5.5 0 1 1 .708-.708l.646.647 1.646-1.647a.5.5 0 0 1 .708 0ZM5 5.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 0 1h-8a.5.5 0 0 1-.5-.5ZM4.5 8h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1Zm0 3h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1ZM3 8.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM2.5 12a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\",\"M8.707 5.707a1 1 0 0 0-1.414-1.414L4 7.586 2.707 6.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4ZM9 8a1 1 0 0 1 1-1h10a1 1 0 1 1 0 2H10a1 1 0 0 1-1-1Zm11 4H8a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2Zm0 5H8a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2ZM4 14a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm1 4a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\",\"M10.707 7.707a1 1 0 0 0-1.414-1.414L6 9.586 4.707 8.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4ZM12 10a1 1 0 0 1 1-1h13a1 1 0 1 1 0 2H13a1 1 0 0 1-1-1Zm-1 5a1 1 0 1 0 0 2h15a1 1 0 1 0 0-2H11Zm0 6a1 1 0 1 0 0 2h15a1 1 0 1 0 0-2H11Zm-5-4a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm1 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"],[\"M4.854 2.146a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708 0l-1-1a.5.5 0 1 1 .708-.708l.646.647 1.646-1.647a.5.5 0 0 1 .708 0ZM5 4.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5ZM4.5 6h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1Zm5 3h-5a.5.5 0 0 1 0-1h5a.5.5 0 0 1 0 1ZM3 6.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM2.5 9a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\",\"M4.854 3.146a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708 0l-1-1a.5.5 0 1 1 .708-.708l.646.647 1.646-1.647a.5.5 0 0 1 .708 0ZM5 5.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 0 1h-8a.5.5 0 0 1-.5-.5ZM4.5 8h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1Zm0 3h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1ZM3 8.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM2.5 12a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\",\"M8.707 5.707a1 1 0 0 0-1.414-1.414L4 7.586 2.707 6.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4ZM9 8a1 1 0 0 1 1-1h10a1 1 0 1 1 0 2H10a1 1 0 0 1-1-1Zm11 4H8a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2Zm0 5H8a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2ZM4 14a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm1 4a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\",\"M10.707 7.707a1 1 0 0 0-1.414-1.414L6 9.586 4.707 8.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4ZM12 10a1 1 0 0 1 1-1h13a1 1 0 1 1 0 2H13a1 1 0 0 1-1-1Zm-1 5a1 1 0 1 0 0 2h15a1 1 0 1 0 0-2H11Zm0 6a1 1 0 1 0 0 2h15a1 1 0 1 0 0-2H11Zm-5-4a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm1 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"]];","export default [[\"M2.17 4.124a.5.5 0 0 1 .706.047L6 7.74l3.124-3.57a.5.5 0 0 1 .752.658l-3.5 4a.5.5 0 0 1-.752 0l-3.5-4a.5.5 0 0 1 .047-.705Z\",\"M2.162 5.131a.5.5 0 0 1 .707.031L8 10.76l5.131-5.598a.5.5 0 0 1 .738.676l-5.5 6a.5.5 0 0 1-.738 0l-5.5-6a.5.5 0 0 1 .031-.707Z\",\"M3.293 7.293a1 1 0 0 1 1.414 0L12 14.586l7.293-7.293a1 1 0 1 1 1.414 1.414l-8 8a1 1 0 0 1-1.414 0l-8-8a1 1 0 0 1 0-1.414Z\",\"M4.324 9.263a1 1 0 0 1 1.413.061L16 20.52 26.263 9.324a1 1 0 1 1 1.474 1.352l-11 12a1 1 0 0 1-1.474 0l-11-12a1 1 0 0 1 .061-1.413Z\"]];","export default [[\"M7.876 2.17a.5.5 0 0 1-.047.706L4.26 6l3.57 3.124a.5.5 0 0 1-.658.752l-4-3.5a.5.5 0 0 1 0-.752l4-3.5a.5.5 0 0 1 .705.047Z\",\"M10.869 2.162a.5.5 0 0 1-.031.707L5.24 8l5.598 5.131a.5.5 0 0 1-.676.738l-6-5.5a.5.5 0 0 1 0-.738l6-5.5a.5.5 0 0 1 .707.031Z\",\"M16.707 3.293a1 1 0 0 1 0 1.414L9.414 12l7.293 7.293a1 1 0 0 1-1.414 1.414l-8-8a1 1 0 0 1 0-1.414l8-8a1 1 0 0 1 1.414 0Z\",\"M22.737 4.324a1 1 0 0 1-.061 1.413L11.48 16l11.196 10.263a1 1 0 0 1-1.352 1.474l-12-11a1 1 0 0 1 0-1.474l12-11a1 1 0 0 1 1.413.061Z\"]];","export default [[\"M4.124 2.17a.5.5 0 0 0 .047.706L7.74 6 4.17 9.124a.5.5 0 0 0 .658.752l4-3.5a.5.5 0 0 0 0-.752l-4-3.5a.5.5 0 0 0-.705.047Z\",\"M5.131 2.162a.5.5 0 0 0 .031.707L10.76 8l-5.598 5.131a.5.5 0 0 0 .676.738l6-5.5a.5.5 0 0 0 0-.738l-6-5.5a.5.5 0 0 0-.707.031Z\",\"M7.293 20.707a1 1 0 0 1 0-1.414L14.586 12 7.293 4.707a1 1 0 0 1 1.414-1.414l8 8a1 1 0 0 1 0 1.414l-8 8a1 1 0 0 1-1.414 0Z\",\"M9.263 4.324a1 1 0 0 0 .061 1.413L20.52 16 9.324 26.263a1 1 0 1 0 1.352 1.474l12-11a1 1 0 0 0 0-1.474l-12-11a1 1 0 0 0-1.413.061Z\"]];","export default [[\"M2.17 7.876a.5.5 0 0 0 .706-.047L6 4.26l3.124 3.57a.5.5 0 0 0 .752-.658l-3.5-4a.5.5 0 0 0-.752 0l-3.5 4a.5.5 0 0 0 .047.705Z\",\"M2.162 10.869a.5.5 0 0 0 .707-.031L8 5.24l5.131 5.598a.5.5 0 0 0 .738-.676l-5.5-6a.5.5 0 0 0-.738 0l-5.5 6a.5.5 0 0 0 .031.707Z\",\"M20.707 16.707a1 1 0 0 1-1.414 0L12 9.414l-7.293 7.293a1 1 0 0 1-1.414-1.414l8-8a1 1 0 0 1 1.414 0l8 8a1 1 0 0 1 0 1.414Z\",\"M27.676 22.737a1 1 0 0 1-1.413-.061L16 11.48 5.737 22.676a1 1 0 0 1-1.474-1.352l11-12a1 1 0 0 1 1.474 0l11 12a1 1 0 0 1-.061 1.413Z\"]];","export default [[\"M3.5 0a.5.5 0 0 1 .5.5V1h1V.5a.5.5 0 0 1 1 0V1h1V.5a.5.5 0 0 1 1 0V1h.5A1.5 1.5 0 0 1 10 2.5V3h.5a.5.5 0 0 1 0 1H10v1h.5a.5.5 0 0 1 0 1H10v1h.5a.5.5 0 0 1 0 1H10v.5A1.5 1.5 0 0 1 8.5 10H8v.5a.5.5 0 0 1-1 0V10H6v.5a.5.5 0 0 1-1 0V10H4v.5a.5.5 0 0 1-1 0V10h-.5A1.5 1.5 0 0 1 1 8.5V8H.5a.5.5 0 0 1 0-1H1V6H.5a.5.5 0 0 1 0-1H1V4H.5a.5.5 0 0 1 0-1H1v-.5A1.5 1.5 0 0 1 2.5 1H3V.5a.5.5 0 0 1 .5-.5ZM4 4.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Z\",\"M4.5 1a.5.5 0 0 1 .5.5V2h1v-.5a.5.5 0 0 1 1 0V2h1v-.5a.5.5 0 0 1 1 0V2h1v-.5a.5.5 0 0 1 1 0V2h.5A1.5 1.5 0 0 1 13 3.5V4h.5a.5.5 0 0 1 0 1H13v1h.5a.5.5 0 0 1 0 1H13v1h.5a.5.5 0 0 1 0 1H13v1h.5a.5.5 0 0 1 0 1H13v.5a1.5 1.5 0 0 1-1.5 1.5H11v.5a.5.5 0 0 1-1 0V13H9v.5a.5.5 0 0 1-1 0V13H7v.5a.5.5 0 0 1-1 0V13H5v.5a.5.5 0 0 1-1 0V13h-.5A1.5 1.5 0 0 1 2 11.5V11h-.5a.5.5 0 0 1 0-1H2V9h-.5a.5.5 0 0 1 0-1H2V7h-.5a.5.5 0 0 1 0-1H2V5h-.5a.5.5 0 0 1 0-1H2v-.5A1.5 1.5 0 0 1 3.5 2H4v-.5a.5.5 0 0 1 .5-.5Zm2 4A1.5 1.5 0 0 0 5 6.5v2A1.5 1.5 0 0 0 6.5 10h2A1.5 1.5 0 0 0 10 8.5v-2A1.5 1.5 0 0 0 8.5 5h-2ZM6 6.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Z\",\"M6 1a1 1 0 0 1 1 1v1h2V2a1 1 0 1 1 2 0v1h2V2a1 1 0 1 1 2 0v1h2V2a1 1 0 1 1 2 0v1c0 .057-.005.112-.014.166.864.3 1.548.984 1.848 1.848A.915.915 0 0 1 21 5h1a1 1 0 1 1 0 2h-1v2h1a1 1 0 1 1 0 2h-1v2h1a1 1 0 1 1 0 2h-1v2h1a1 1 0 1 1 0 2h-1c-.056 0-.112-.005-.166-.014a3.009 3.009 0 0 1-1.848 1.848c.01.054.014.11.014.166v1a1 1 0 1 1-2 0v-1h-2v1a1 1 0 1 1-2 0v-1h-2v1a1 1 0 1 1-2 0v-1H7v1a1 1 0 1 1-2 0v-1c0-.056.005-.112.014-.166a3.008 3.008 0 0 1-1.848-1.848A.915.915 0 0 1 3 19H2a1 1 0 1 1 0-2h1v-2H2a1 1 0 1 1 0-2h1v-2H2a1 1 0 1 1 0-2h1V7H2a1 1 0 0 1 0-2h1c.057 0 .112.005.166.014.3-.864.984-1.548 1.848-1.848A1.007 1.007 0 0 1 5 3V2a1 1 0 0 1 1-1Zm1 8.5A2.5 2.5 0 0 1 9.5 7h5A2.5 2.5 0 0 1 17 9.5v5a2.5 2.5 0 0 1-2.5 2.5h-5A2.5 2.5 0 0 1 7 14.5v-5ZM9.5 9a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-5Z\",\"M21 5V3a1 1 0 1 1 2 0v2h1a3 3 0 0 1 3 3v1h2a1 1 0 1 1 0 2h-2v2h2a1 1 0 1 1 0 2h-2v2h2a1 1 0 1 1 0 2h-2v2h2a1 1 0 1 1 0 2h-2v1a3 3 0 0 1-3 3h-1v2a1 1 0 1 1-2 0v-2h-2v2a1 1 0 1 1-2 0v-2h-2v2a1 1 0 1 1-2 0v-2h-2v2a1 1 0 1 1-2 0v-2H8a3 3 0 0 1-3-3v-1H3a1 1 0 1 1 0-2h2v-2H3a1 1 0 1 1 0-2h2v-2H3a1 1 0 1 1 0-2h2v-2H3a1 1 0 1 1 0-2h2V8a3 3 0 0 1 3-3h1V3a1 1 0 1 1 2 0v2h2V3a1 1 0 1 1 2 0v2h2V3a1 1 0 1 1 2 0v2h2Zm-10 8.5a2.5 2.5 0 0 1 2.5-2.5h5a2.5 2.5 0 0 1 2.5 2.5v5a2.5 2.5 0 0 1-2.5 2.5h-5a2.5 2.5 0 0 1-2.5-2.5v-5Zm2.5-.5a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-5Z\"],[\"M4 .5a.5.5 0 0 0-1 0V1h-.5A1.5 1.5 0 0 0 1 2.5V3H.5a.5.5 0 0 0 0 1H1v1H.5a.5.5 0 0 0 0 1H1v1H.5a.5.5 0 0 0 0 1H1v.5A1.5 1.5 0 0 0 2.5 10H3v.5a.5.5 0 0 0 1 0V10h1v.5a.5.5 0 0 0 1 0V10h1v.5a.5.5 0 0 0 1 0V10h.5A1.5 1.5 0 0 0 10 8.5V8h.5a.5.5 0 0 0 0-1H10V6h.5a.5.5 0 0 0 0-1H10V4h.5a.5.5 0 0 0 0-1H10v-.5A1.5 1.5 0 0 0 8.5 1H8V.5a.5.5 0 0 0-1 0V1H6V.5a.5.5 0 0 0-1 0V1H4V.5Zm-2 5v-3a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-3Zm2-1a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Z\",\"M4.5 1a.5.5 0 0 1 .5.5V2h1v-.5a.5.5 0 0 1 1 0V2h1v-.5a.5.5 0 0 1 1 0V2h1v-.5a.5.5 0 0 1 1 0V2h.5A1.5 1.5 0 0 1 13 3.5V4h.5a.5.5 0 0 1 0 1H13v1h.5a.5.5 0 0 1 0 1H13v1h.5a.5.5 0 0 1 0 1H13v1h.5a.5.5 0 0 1 0 1H13v.5a1.5 1.5 0 0 1-1.5 1.5H11v.5a.5.5 0 0 1-1 0V13H9v.5a.5.5 0 0 1-1 0V13H7v.5a.5.5 0 0 1-1 0V13H5v.5a.5.5 0 0 1-1 0V13h-.5A1.5 1.5 0 0 1 2 11.5V11h-.5a.5.5 0 0 1 0-1H2V9h-.5a.5.5 0 0 1 0-1H2V7h-.5a.5.5 0 0 1 0-1H2V5h-.5a.5.5 0 0 1 0-1H2v-.5A1.5 1.5 0 0 1 3.5 2H4v-.5a.5.5 0 0 1 .5-.5ZM3 11.5a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-8a.5.5 0 0 0-.5.5v8ZM6.5 5A1.5 1.5 0 0 0 5 6.5v2A1.5 1.5 0 0 0 6.5 10h2A1.5 1.5 0 0 0 10 8.5v-2A1.5 1.5 0 0 0 8.5 5h-2ZM6 6.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Z\",\"M7 2a1 1 0 0 0-2 0v1c0 .057.005.112.014.166-.864.3-1.548.984-1.848 1.848A1.007 1.007 0 0 0 3 5H2a1 1 0 0 0 0 2h1v2H2a1 1 0 0 0 0 2h1v2H2a1 1 0 1 0 0 2h1v2H2a1 1 0 1 0 0 2h1c.057 0 .112-.005.166-.014.3.864.984 1.548 1.848 1.848A.915.915 0 0 0 5 21v1a1 1 0 1 0 2 0v-1h2v1a1 1 0 1 0 2 0v-1h2v1a1 1 0 1 0 2 0v-1h2v1a1 1 0 1 0 2 0v-1c0-.056-.005-.112-.014-.166a3.009 3.009 0 0 0 1.848-1.848c.054.01.11.014.166.014h1a1 1 0 1 0 0-2h-1v-2h1a1 1 0 1 0 0-2h-1v-2h1a1 1 0 1 0 0-2h-1V7h1a1 1 0 1 0 0-2h-1c-.056 0-.112.005-.166.014a3.008 3.008 0 0 0-1.848-1.848A.915.915 0 0 0 19 3V2a1 1 0 1 0-2 0v1h-2V2a1 1 0 1 0-2 0v1h-2V2a1 1 0 1 0-2 0v1H7V2ZM6 5a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H6Zm3.5 2A2.5 2.5 0 0 0 7 9.5v5A2.5 2.5 0 0 0 9.5 17h5a2.5 2.5 0 0 0 2.5-2.5v-5A2.5 2.5 0 0 0 14.5 7h-5ZM9 9.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-5Z\",\"M21 3v2h-2V3a1 1 0 1 0-2 0v2h-2V3a1 1 0 1 0-2 0v2h-2V3a1 1 0 1 0-2 0v2H8a3 3 0 0 0-3 3v1H3a1 1 0 1 0 0 2h2v2H3a1 1 0 1 0 0 2h2v2H3a1 1 0 1 0 0 2h2v2H3a1 1 0 1 0 0 2h2v1a3 3 0 0 0 3 3h1v2a1 1 0 1 0 2 0v-2h2v2a1 1 0 1 0 2 0v-2h2v2a1 1 0 1 0 2 0v-2h2v2a1 1 0 1 0 2 0v-2h1a3 3 0 0 0 3-3v-1h2a1 1 0 1 0 0-2h-2v-2h2a1 1 0 1 0 0-2h-2v-2h2a1 1 0 1 0 0-2h-2v-2h2a1 1 0 1 0 0-2h-2V8a3 3 0 0 0-3-3h-1V3a1 1 0 1 0-2 0ZM8 7a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H8Zm5.5 4a2.5 2.5 0 0 0-2.5 2.5v5a2.5 2.5 0 0 0 2.5 2.5h5a2.5 2.5 0 0 0 2.5-2.5v-5a2.5 2.5 0 0 0-2.5-2.5h-5Zm-.5 2.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-5Z\"]];","export default [[\"M5.5 0a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11Z\",\"M7.5 0a7.5 7.5 0 1 0 0 15 7.5 7.5 0 0 0 0-15Z\",\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1Z\",\"M16 2C8.268 2 2 8.268 2 16s6.268 14 14 14 14-6.268 14-14S23.732 2 16 2Z\"],[\"M5.5 1a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9ZM0 5.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0Z\",\"M7.5 1a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0Z\",\"M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18ZM1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Z\",\"M16 4C9.373 4 4 9.373 4 16s5.373 12 12 12 12-5.373 12-12S22.627 4 16 4ZM2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Z\"]];","export default [[\"M0 5.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0ZM5.5 2a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 1 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L5 6.293V2.5a.5.5 0 0 1 .5-.5Z\",\"M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0ZM7 4v6.293L4.854 8.146a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8 10.293V4a.5.5 0 0 0-1 0Z\",\"M1 12c0 6.075 4.925 11 11 11s11-4.925 11-11S18.075 1 12 1 1 5.925 1 12Zm10-5v7.586l-2.293-2.293a1 1 0 0 0-1.414 1.414l4 4a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L13 14.586V7a1 1 0 1 0-2 0Z\",\"M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Zm13-8v12.586l-4.293-4.293a1 1 0 0 0-1.414 1.414l6 6a1 1 0 0 0 1.414 0l6-6a1 1 0 0 0-1.414-1.414L17 20.586V8a1 1 0 1 0-2 0Z\"],[\"<path d='M5.5 2a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 1 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L5 6.293V2.5a.5.5 0 0 1 .5-.5Z'></path><path d='M5.5 0a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11ZM1 5.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0Z'></path>\",\"<path d='M10.146 8.146 8 10.293V4a.5.5 0 0 0-1 0v6.293L4.854 8.146a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708Z'></path><path d='M7.5 0a7.5 7.5 0 1 0 0 15 7.5 7.5 0 0 0 0-15ZM1 7.5a6.5 6.5 0 1 1 13 0 6.5 6.5 0 0 1-13 0Z'></path>\",\"<path d='M11 7v7.586l-2.293-2.293a1 1 0 0 0-1.414 1.414l4 4a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L13 14.586V7a1 1 0 1 0-2 0Z'></path><path d='M12 23C5.925 23 1 18.075 1 12S5.925 1 12 1s11 4.925 11 11-4.925 11-11 11ZM3 12a9 9 0 1 0 18 0 9 9 0 0 0-18 0Z'></path>\",\"<path d='m15 20.586-4.293-4.293a1 1 0 0 0-1.414 1.414l6 6a1 1 0 0 0 1.414 0l6-6a1 1 0 0 0-1.414-1.414L17 20.586V8a1 1 0 1 0-2 0v12.586Z'></path><path d='M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16ZM16 4C9.373 4 4 9.373 4 16s5.373 12 12 12 12-5.373 12-12S22.627 4 16 4Z'></path>\"]];","export default [[\"M0 5.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0Zm5.854 2.354a.5.5 0 0 1-.708 0L3 5.51v-.02a.498.498 0 0 1 .136-.333l.01-.01 2-2a.5.5 0 1 1 .708.707L4.707 5H7.5a.5.5 0 0 1 0 1H4.707l1.147 1.146a.5.5 0 0 1 0 .708Z\",\"M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0Zm6.854 3.354a.5.5 0 0 1-.708 0l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L4.707 7H11.5a.5.5 0 0 1 0 1H4.707l2.147 2.146a.5.5 0 0 1 0 .708Z\",\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm9.707 4.707a1 1 0 0 1-1.414 0l-4-4a1 1 0 0 1 0-1.414l4-4a1 1 0 0 1 1.414 1.414L8.414 11H18a1 1 0 1 1 0 2H8.414l2.293 2.293a1 1 0 0 1 0 1.414Z\",\"M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Zm12.707 6.707a1 1 0 0 1-1.414 0l-6-6a1 1 0 0 1 0-1.414l6-6a1 1 0 1 1 1.414 1.414L10.414 15H24a1 1 0 1 1 0 2H10.414l4.293 4.293a1 1 0 0 1 0 1.414Z\"],[\"<path d='m4.707 5 1.147-1.146a.5.5 0 1 0-.708-.708l-2 2a.498.498 0 0 0 0 .707l2 2a.5.5 0 1 0 .708-.707L4.707 6H7.5a.5.5 0 0 0 0-1H4.707Z'></path><path d='M0 5.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0ZM5.5 1a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9Z'></path>\",\"<path d='m4.707 7 2.147-2.146a.5.5 0 1 0-.708-.708l-3 3a.5.5 0 0 0 0 .708l3 3a.5.5 0 0 0 .708-.708L4.707 8H11.5a.5.5 0 0 0 0-1H4.707Z'></path><path d='M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0ZM7.5 1a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13Z'></path>\",\"<path d='m8.414 11 2.293-2.293a1 1 0 0 0-1.414-1.414l-4 4a1 1 0 0 0 0 1.414l4 4a1 1 0 0 0 1.414-1.414L8.414 13H18a1 1 0 1 0 0-2H8.414Z'></path><path d='M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm11-9a9 9 0 1 0 0 18 9 9 0 0 0 0-18Z'></path>\",\"<path d='m10.414 15 4.293-4.293a1 1 0 0 0-1.414-1.414l-6 6a1 1 0 0 0 0 1.414l6 6a1 1 0 0 0 1.414-1.414L10.414 17H24a1 1 0 1 0 0-2H10.414Z'></path><path d='M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16ZM16 4C9.373 4 4 9.373 4 16s5.373 12 12 12 12-5.373 12-12S22.627 4 16 4Z'></path>\"]];","export default [[\"M0 5.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0Zm5.146-1.646a.5.5 0 1 1 .708-.708l2 2A.501.501 0 0 1 8 5.491v.019a.498.498 0 0 1-.136.333l-.01.01-2 2a.5.5 0 1 1-.708-.707L6.293 6H3.5a.5.5 0 0 1 0-1h2.793L5.146 3.854Z\",\"M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0Zm8.146-3.354a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8H3.5a.5.5 0 0 1 0-1h6.793L8.146 4.854a.5.5 0 0 1 0-.708Z\",\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm12.293-4.707a1 1 0 0 1 1.414 0l4 4a1 1 0 0 1 0 1.414l-4 4a1 1 0 0 1-1.414-1.414L15.586 13H6a1 1 0 1 1 0-2h9.586l-2.293-2.293a1 1 0 0 1 0-1.414Z\",\"M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Zm15.293-6.707a1 1 0 0 1 1.414 0l6 6a1 1 0 0 1 0 1.414l-6 6a1 1 0 0 1-1.414-1.414L21.586 17H8a1 1 0 1 1 0-2h13.586l-4.293-4.293a1 1 0 0 1 0-1.414Z\"],[\"<path d='M6.293 6 5.146 7.146a.5.5 0 0 0 .708.708l2-2a.5.5 0 0 0 0-.708l-2-2a.5.5 0 1 0-.708.708L6.293 5H3.5a.5.5 0 0 0 0 1h2.793Z'></path><path d='M0 5.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0ZM5.5 1a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9Z'></path>\",\"<path d='m10.293 8-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7H3.5a.5.5 0 0 0 0 1h6.793Z'></path><path d='M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0ZM7.5 1a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13Z'></path>\",\"<path d='m15.586 13-2.293 2.293a1 1 0 0 0 1.414 1.414l4-4a1 1 0 0 0 0-1.414l-4-4a1 1 0 1 0-1.414 1.414L15.586 11H6a1 1 0 1 0 0 2h9.586Z'></path><path d='M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm11-9a9 9 0 1 0 0 18 9 9 0 0 0 0-18Z'></path>\",\"<path d='m21.586 17-4.293 4.293a1 1 0 0 0 1.414 1.414l6-6a1 1 0 0 0 0-1.414l-6-6a1 1 0 1 0-1.414 1.414L21.586 15H8a1 1 0 1 0 0 2h13.586Z'></path><path d='M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16ZM16 4C9.373 4 4 9.373 4 16s5.373 12 12 12 12-5.373 12-12S22.627 4 16 4Z'></path>\"]];","export default [[\"M0 5.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0Zm3.146.354a.5.5 0 0 1 0-.708L5.49 3h.02a.498.498 0 0 1 .333.136l.01.01 2 2a.5.5 0 1 1-.707.708L6 4.707V7.5a.5.5 0 0 1-1 0V4.707L3.854 5.854a.5.5 0 0 1-.708 0Z\",\"M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0Zm4.146-.646a.5.5 0 0 1 0-.708l3-3a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8 4.707V11.5a.5.5 0 0 1-1 0V4.707L4.854 6.854a.5.5 0 0 1-.708 0Z\",\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm6.293-1.293a1 1 0 0 1 0-1.414l4-4a1 1 0 0 1 1.414 0l4 4a1 1 0 0 1-1.414 1.414L13 8.414V18a1 1 0 1 1-2 0V8.414l-2.293 2.293a1 1 0 0 1-1.414 0Z\",\"M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Zm7.293-1.293a1 1 0 0 1 0-1.414l6-6a1 1 0 0 1 1.414 0l6 6a1 1 0 0 1-1.414 1.414L17 10.414V24a1 1 0 1 1-2 0V10.414l-4.293 4.293a1 1 0 0 1-1.414 0Z\"],[\"<path d='m6 4.707 1.146 1.147a.5.5 0 0 0 .708-.708l-2-2a.5.5 0 0 0-.708 0l-2 2a.5.5 0 1 0 .708.708L5 4.707V7.5a.5.5 0 0 0 1 0V4.707Z'></path><path d='M0 5.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0ZM5.5 1a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9Z'></path>\",\"<path d='m8 4.707 2.146 2.147a.5.5 0 0 0 .708-.708l-3-3a.5.5 0 0 0-.708 0l-3 3a.5.5 0 1 0 .708.708L7 4.707V11.5a.5.5 0 0 0 1 0V4.707Z'></path><path d='M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0ZM7.5 1a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13Z'></path>\",\"<path d='m13 8.414 2.293 2.293a1 1 0 0 0 1.414-1.414l-4-4a1 1 0 0 0-1.414 0l-4 4a1 1 0 0 0 1.414 1.414L11 8.414V18a1 1 0 1 0 2 0V8.414Z'></path><path d='M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm11-9a9 9 0 1 0 0 18 9 9 0 0 0 0-18Z'></path>\",\"<path d='m17 10.414 4.293 4.293a1 1 0 0 0 1.414-1.414l-6-6a1 1 0 0 0-1.414 0l-6 6a1 1 0 1 0 1.414 1.414L15 10.414V24a1 1 0 1 0 2 0V10.414Z'></path><path d='M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16ZM16 4C9.373 4 4 9.373 4 16s5.373 12 12 12 12-5.373 12-12S22.627 4 16 4Z'></path>\"]];","export default [[\"M0 5.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0Zm5.224-1.947A.5.5 0 0 1 5.5 4v.875L7.2 3.6A.5.5 0 0 1 8 4v3a.5.5 0 0 1-.8.4L5.5 6.125V7a.5.5 0 0 1-.8.4l-2-1.5a.5.5 0 0 1 0-.8l2-1.5a.5.5 0 0 1 .524-.047Z\",\"M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0Zm7.242-2.937A.5.5 0 0 1 7.5 5v1.598l3.235-2.022A.5.5 0 0 1 11.5 5v5a.5.5 0 0 1-.765.424L7.5 8.402V10a.5.5 0 0 1-.765.424l-4-2.5a.5.5 0 0 1 0-.848l4-2.5a.5.5 0 0 1 .507-.013Z\",\"M1 12c0 6.075 4.925 11 11 11s11-4.925 11-11S18.075 1 12 1 1 5.925 1 12Zm10.746-3.435A.5.5 0 0 1 12 9v2.117l4.243-2.546A.5.5 0 0 1 17 9v6a.5.5 0 0 1-.757.429L12 12.883V15a.5.5 0 0 1-.757.429l-5-3a.5.5 0 0 1 0-.858l5-3a.5.5 0 0 1 .503-.006Z\",\"M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Zm13.252-4.932a.5.5 0 0 1 .248.432v3.645l7.255-4.08a.5.5 0 0 1 .745.435v9a.5.5 0 0 1-.745.436L15.5 16.855V20.5a.5.5 0 0 1-.745.436l-8-4.5a.5.5 0 0 1 0-.872l8-4.5a.5.5 0 0 1 .497.004Z\"],[\"<path d='M5.5 4a.5.5 0 0 0-.8-.4l-2 1.5a.5.5 0 0 0 0 .8l2 1.5a.5.5 0 0 0 .8-.4v-.875L7.2 7.4A.5.5 0 0 0 8 7V4a.5.5 0 0 0-.8-.4L5.5 4.875V4Z'></path><path d='M0 5.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0ZM5.5 1a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9Z'></path>\",\"<path d='M7.5 5a.5.5 0 0 0-.765-.424l-4 2.5a.5.5 0 0 0 0 .848l4 2.5A.5.5 0 0 0 7.5 10V8.402l3.235 2.022A.5.5 0 0 0 11.5 10V5a.5.5 0 0 0-.765-.424L7.5 6.598V5Z'></path><path d='M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0ZM7.5 1a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13Z'></path>\",\"<path d='M12 9a.5.5 0 0 0-.757-.429l-5 3a.5.5 0 0 0 0 .858l5 3A.5.5 0 0 0 12 15v-2.117l4.243 2.546A.5.5 0 0 0 17 15V9a.5.5 0 0 0-.757-.429L12 11.117V9Z'></path><path d='M1 12c0 6.075 4.925 11 11 11s11-4.925 11-11S18.075 1 12 1 1 5.925 1 12Zm11 9a9 9 0 1 1 0-18 9 9 0 0 1 0 18Z'></path>\",\"<path d='M15.5 11.5a.5.5 0 0 0-.745-.436l-8 4.5a.5.5 0 0 0 0 .872l8 4.5a.5.5 0 0 0 .745-.436v-3.645l7.255 4.08a.5.5 0 0 0 .745-.435v-9a.5.5 0 0 0-.745-.436L15.5 15.145V11.5Z'></path><path d='M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16ZM16 4C9.373 4 4 9.373 4 16s5.373 12 12 12 12-5.373 12-12S22.627 4 16 4Z'></path>\"]];","export default [[\"M11 5.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0ZM3.06 4.264A.5.5 0 0 1 3.5 4h4a.5.5 0 0 1 .416.777l-2 3a.5.5 0 0 1-.832 0l-2-3a.5.5 0 0 1-.025-.513Z\",\"M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0Zm4.563-1.742A.5.5 0 0 1 5 5.5h5a.5.5 0 0 1 .424.765l-2.5 4a.5.5 0 0 1-.848 0l-2.5-4a.5.5 0 0 1-.013-.507Z\",\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm7.13-2.493A1 1 0 0 1 9 9h6a1 1 0 0 1 .857 1.514l-3 5a1 1 0 0 1-1.714 0l-3-5a1 1 0 0 1-.013-1.007Z\",\"M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Zm8.125-3.485A1 1 0 0 1 11 12h10a1 1 0 0 1 .848 1.53l-5 8a1 1 0 0 1-1.696 0l-5-8a1 1 0 0 1-.027-1.015Z\"],[\"<path d='M3.5 4a.5.5 0 0 0-.416.777l2 3a.5.5 0 0 0 .832 0l2-3A.5.5 0 0 0 7.5 4h-4Z'></path><path d='M5.5 11a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11Zm0-1a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Z'></path>\",\"<path d='M5 5.5a.5.5 0 0 0-.424.765l2.5 4a.5.5 0 0 0 .848 0l2.5-4A.5.5 0 0 0 10 5.5H5Z'></path><path d='M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0ZM7.5 1a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13Z'></path>\",\"<path d='M9 9a1 1 0 0 0-.857 1.514l3 5a1 1 0 0 0 1.714 0l3-5A1 1 0 0 0 15 9H9Z'></path><path d='M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm11-9a9 9 0 1 0 0 18 9 9 0 0 0 0-18Z'></path>\",\"<path d='M11 12a1 1 0 0 0-.848 1.53l5 8a1 1 0 0 0 1.696 0l5-8A1 1 0 0 0 21 12H11Z'></path><path d='M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16ZM16 4C9.373 4 4 9.373 4 16s5.373 12 12 12 12-5.373 12-12S22.627 4 16 4Z'></path>\"]];","export default [[\"M11 5.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0ZM6.736 3.06A.5.5 0 0 1 7 3.5v4a.5.5 0 0 1-.777.416l-3-2a.5.5 0 0 1 0-.832l3-2a.5.5 0 0 1 .513-.025Z\",\"M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0Zm9.242-2.937A.5.5 0 0 1 9.5 5v5a.5.5 0 0 1-.765.424l-4-2.5a.5.5 0 0 1 0-.848l4-2.5a.5.5 0 0 1 .507-.013Z\",\"M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1Zm2.493 7.13A1 1 0 0 1 15 9v6a1 1 0 0 1-1.514.857l-5-3a1 1 0 0 1 0-1.714l5-3a1 1 0 0 1 1.007-.013Z\",\"M16 2c7.732 0 14 6.268 14 14s-6.268 14-14 14S2 23.732 2 16 8.268 2 16 2Zm3.485 8.125A1 1 0 0 1 20 11v10a1 1 0 0 1-1.53.848l-8-5a1 1 0 0 1 0-1.696l8-5a1 1 0 0 1 1.015-.027Z\"],[\"<path d='M7 3.5a.5.5 0 0 0-.777-.416l-3 2a.5.5 0 0 0 0 .832l3 2A.5.5 0 0 0 7 7.5v-4Z'></path><path d='M0 5.5a5.5 5.5 0 1 0 11 0 5.5 5.5 0 0 0-11 0Zm1 0a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Z'></path>\",\"<path d='M9.5 5a.5.5 0 0 0-.765-.424l-4 2.5a.5.5 0 0 0 0 .848l4 2.5A.5.5 0 0 0 9.5 10V5Z'></path><path d='M7.5 0a7.5 7.5 0 1 1 0 15 7.5 7.5 0 0 1 0-15ZM14 7.5a6.5 6.5 0 1 0-13 0 6.5 6.5 0 0 0 13 0Z'></path>\",\"<path d='M15 9a1 1 0 0 0-1.514-.857l-5 3a1 1 0 0 0 0 1.714l5 3A1 1 0 0 0 15 15V9Z'></path><path d='M23 12c0 6.075-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1s11 4.925 11 11Zm-11 9a9 9 0 1 0 0-18 9 9 0 0 0 0 18Z'></path>\",\"<path d='M20 11a1 1 0 0 0-1.53-.848l-8 5a1 1 0 0 0 0 1.696l8 5A1 1 0 0 0 20 21V11Z'></path><path d='M30 16c0 7.732-6.268 14-14 14S2 23.732 2 16 8.268 2 16 2s14 6.268 14 14ZM16 28c6.627 0 12-5.373 12-12S22.627 4 16 4 4 9.373 4 16s5.373 12 12 12Z'></path>\"]];","export default [[\"M0 5.5a5.5 5.5 0 1 0 11 0 5.5 5.5 0 0 0-11 0Zm4.264-2.44A.5.5 0 0 0 4 3.5v4a.5.5 0 0 0 .777.416l3-2a.5.5 0 0 0 0-.832l-3-2a.5.5 0 0 0-.513-.025Z\",\"M15 7.5a7.5 7.5 0 1 0-15 0 7.5 7.5 0 0 0 15 0ZM5.758 4.563A.5.5 0 0 0 5.5 5v5a.5.5 0 0 0 .765.424l4-2.5a.5.5 0 0 0 0-.848l-4-2.5a.5.5 0 0 0-.507-.013Z\",\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1ZM9.507 8.13A1 1 0 0 0 9 9v6a1 1 0 0 0 1.514.857l5-3a1 1 0 0 0 0-1.714l-5-3a1 1 0 0 0-1.007-.013Z\",\"M16 2C8.268 2 2 8.268 2 16s6.268 14 14 14 14-6.268 14-14S23.732 2 16 2Zm-3.485 8.125A1 1 0 0 0 12 11v10a1 1 0 0 0 1.53.848l8-5a1 1 0 0 0 0-1.696l-8-5a1 1 0 0 0-1.015-.027Z\"],[\"<path d='M4 3.5a.5.5 0 0 1 .777-.416l3 2a.5.5 0 0 1 0 .832l-3 2A.5.5 0 0 1 4 7.5v-4Z'></path><path d='M5.5 11a5.5 5.5 0 1 1 0-11 5.5 5.5 0 0 1 0 11Zm0-1a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9Z'></path>\",\"<path d='M5.5 5a.5.5 0 0 1 .765-.424l4 2.5a.5.5 0 0 1 0 .848l-4 2.5A.5.5 0 0 1 5.5 10V5Z'></path><path d='M15 7.5a7.5 7.5 0 1 0-15 0 7.5 7.5 0 0 0 15 0ZM7.5 1a6.5 6.5 0 1 1 0 13 6.5 6.5 0 0 1 0-13Z'></path>\",\"<path d='M9 9a1 1 0 0 1 1.514-.857l5 3a1 1 0 0 1 0 1.714l-5 3A1 1 0 0 1 9 15V9Z'></path><path d='M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1ZM3 12a9 9 0 1 1 18 0 9 9 0 0 1-18 0Z'></path>\",\"<path d='M12 11a1 1 0 0 1 1.53-.848l8 5a1 1 0 0 1 0 1.696l-8 5A1 1 0 0 1 12 21V11Z'></path><path d='M16 2C8.268 2 2 8.268 2 16s6.268 14 14 14 14-6.268 14-14S23.732 2 16 2ZM4 16C4 9.373 9.373 4 16 4s12 5.373 12 12-5.373 12-12 12S4 22.627 4 16Z'></path>\"]];","export default [[\"M11 5.5a5.5 5.5 0 1 0-11 0 5.5 5.5 0 0 0 11 0ZM3.06 6.736A.5.5 0 0 0 3.5 7h4a.5.5 0 0 0 .416-.777l-2-3a.5.5 0 0 0-.832 0l-2 3a.5.5 0 0 0-.025.513Z\",\"M0 7.5a7.5 7.5 0 1 0 15 0 7.5 7.5 0 0 0-15 0Zm4.563 1.742A.5.5 0 0 0 5 9.5h5a.5.5 0 0 0 .424-.765l-2.5-4a.5.5 0 0 0-.848 0l-2.5 4a.5.5 0 0 0-.013.507Z\",\"M1 12c0 6.075 4.925 11 11 11s11-4.925 11-11S18.075 1 12 1 1 5.925 1 12Zm7.13 2.493A1 1 0 0 0 9 15h6a1 1 0 0 0 .857-1.514l-3-5a1 1 0 0 0-1.714 0l-3 5a1 1 0 0 0-.013 1.007Z\",\"M2 16c0 7.732 6.268 14 14 14s14-6.268 14-14S23.732 2 16 2 2 8.268 2 16Zm8.125 3.485A1 1 0 0 0 11 20h10a1 1 0 0 0 .848-1.53l-5-8a1 1 0 0 0-1.696 0l-5 8a1 1 0 0 0-.027 1.015Z\"],[\"<path d='M3.5 7a.5.5 0 0 1-.416-.777l2-3a.5.5 0 0 1 .832 0l2 3A.5.5 0 0 1 7.5 7h-4Z'></path><path d='M5.5 0a5.5 5.5 0 1 1 0 11 5.5 5.5 0 0 1 0-11Zm0 1a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9Z'></path>\",\"<path d='M5 9.5a.5.5 0 0 1-.424-.765l2.5-4a.5.5 0 0 1 .848 0l2.5 4A.5.5 0 0 1 10 9.5H5Z'></path><path d='M0 7.5a7.5 7.5 0 1 0 15 0 7.5 7.5 0 0 0-15 0ZM7.5 14a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13Z'></path>\",\"<path d='M9 15a1 1 0 0 1-.857-1.514l3-5a1 1 0 0 1 1.714 0l3 5A1 1 0 0 1 15 15H9Z'></path><path d='M1 12c0 6.075 4.925 11 11 11s11-4.925 11-11S18.075 1 12 1 1 5.925 1 12Zm11 9a9 9 0 1 1 0-18 9 9 0 0 1 0 18Z'></path>\",\"<path d='M11 20a1 1 0 0 1-.848-1.53l5-8a1 1 0 0 1 1.696 0l5 8A1 1 0 0 1 21 20H11Z'></path><path d='M2 16c0 7.732 6.268 14 14 14s14-6.268 14-14S23.732 2 16 2 2 8.268 2 16Zm14 12C9.373 28 4 22.627 4 16S9.373 4 16 4s12 5.373 12 12-5.373 12-12 12Z'></path>\"]];","export default [[\"M5.5 11a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11Zm2.354-6.146-3 3a.5.5 0 0 1-.708 0l-1-1a.5.5 0 1 1 .708-.708l.646.647 2.646-2.647a.5.5 0 1 1 .708.708Z\",\"M7.5 15a7.5 7.5 0 1 0 0-15 7.5 7.5 0 0 0 0 15Zm4.354-9.146-5 5a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L6.5 9.793l4.646-4.647a.5.5 0 0 1 .708.708Z\",\"M12 23c6.075 0 11-4.925 11-11S18.075 1 12 1 1 5.925 1 12s4.925 11 11 11Zm4.707-12.293-6 6a1 1 0 0 1-1.414 0l-3-3a1 1 0 1 1 1.414-1.414L10 14.586l5.293-5.293a1 1 0 1 1 1.414 1.414Z\",\"M16 30c7.732 0 14-6.268 14-14S23.732 2 16 2 2 8.268 2 16s6.268 14 14 14Zm6.707-17.293-9 9a1 1 0 0 1-1.414 0l-4-4a1 1 0 1 1 1.414-1.414L13 19.586l8.293-8.293a1 1 0 0 1 1.414 1.414Z\"],[\"<path d='M7.854 4.854a.5.5 0 1 0-.708-.708L4.5 6.793l-.646-.647a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0l3-3Z'></path><path d='M11 5.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-1 0a4.5 4.5 0 1 0-9 0 4.5 4.5 0 0 0 9 0Z'></path>\",\"<path d='M11.854 5.854a.5.5 0 0 0-.708-.708L6.5 9.793 4.854 8.146a.5.5 0 1 0-.708.708l2 2a.5.5 0 0 0 .708 0l5-5Z'></path><path d='M7.5 0a7.5 7.5 0 1 0 0 15 7.5 7.5 0 0 0 0-15ZM1 7.5a6.5 6.5 0 1 1 13 0 6.5 6.5 0 0 1-13 0Z'></path>\",\"<path d='M16.707 10.707a1 1 0 0 0-1.414-1.414L10 14.586l-2.293-2.293a1 1 0 0 0-1.414 1.414l3 3a1 1 0 0 0 1.414 0l6-6Z'></path><path d='M12 23C5.925 23 1 18.075 1 12S5.925 1 12 1s11 4.925 11 11-4.925 11-11 11ZM3 12a9 9 0 1 0 18 0 9 9 0 0 0-18 0Z'></path>\",\"<path d='M22.707 12.707a1 1 0 0 0-1.414-1.414L13 19.586l-3.293-3.293a1 1 0 0 0-1.414 1.414l4 4a1 1 0 0 0 1.414 0l9-9Z'></path><path d='M16 2C8.268 2 2 8.268 2 16s6.268 14 14 14 14-6.268 14-14S23.732 2 16 2ZM4 16C4 9.373 9.373 4 16 4s12 5.373 12 12-5.373 12-12 12S4 22.627 4 16Z'></path>\"]];","export default [[\"M11 5.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0ZM3.854 4.146a.5.5 0 1 0-.708.708l2 2a.5.5 0 0 0 .708 0l2-2a.5.5 0 1 0-.708-.708L5.5 5.793 3.854 4.146Z\",\"M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0Zm4.854-1.354a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L7.5 8.793 4.854 6.146Z\",\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm7.707-1.707a1 1 0 1 0-1.414 1.414l4 4a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L12 13.586l-3.293-3.293Z\",\"M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Zm8.707-2.707a1 1 0 0 0-1.414 1.414l6 6a1 1 0 0 0 1.414 0l6-6a1 1 0 0 0-1.414-1.414L16 18.586l-5.293-5.293Z\"],[\"<path d='M3.854 4.146a.5.5 0 1 0-.708.708l2 2a.5.5 0 0 0 .708 0l2-2a.5.5 0 1 0-.708-.708L5.5 5.793 3.854 4.146Z'></path><path d='M11 5.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-1 0a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Z'></path>\",\"<path d='M4.854 6.146a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L7.5 8.793 4.854 6.146Z'></path><path d='M7.5 0a7.5 7.5 0 1 0 0 15 7.5 7.5 0 0 0 0-15ZM1 7.5a6.5 6.5 0 1 1 13 0 6.5 6.5 0 0 1-13 0Z'></path>\",\"<path d='M8.707 10.293a1 1 0 1 0-1.414 1.414l4 4a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L12 13.586l-3.293-3.293Z'></path><path d='M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1ZM3 12a9 9 0 1 1 18 0 9 9 0 0 1-18 0Z'></path>\",\"<path d='M10.707 13.293a1 1 0 0 0-1.414 1.414l6 6a1 1 0 0 0 1.414 0l6-6a1 1 0 0 0-1.414-1.414L16 18.586l-5.293-5.293Z'></path><path d='M16 2C8.268 2 2 8.268 2 16s6.268 14 14 14 14-6.268 14-14S23.732 2 16 2ZM4 16C4 9.373 9.373 4 16 4s12 5.373 12 12-5.373 12-12 12S4 22.627 4 16Z'></path>\"]];","export default [[\"M11 5.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0ZM6.854 3.854a.5.5 0 1 0-.708-.708l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 1 0 .708-.708L5.207 5.5l1.647-1.646Z\",\"M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0Zm8.854-2.646a.5.5 0 1 0-.708-.708l-3 3a.5.5 0 0 0 0 .708l3 3a.5.5 0 0 0 .708-.708L6.207 7.5l2.647-2.646Z\",\"M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1Zm1.707 7.707a1 1 0 0 0-1.414-1.414l-4 4a1 1 0 0 0 0 1.414l4 4a1 1 0 0 0 1.414-1.414L10.414 12l3.293-3.293Z\",\"M16 2c7.732 0 14 6.268 14 14s-6.268 14-14 14S2 23.732 2 16 8.268 2 16 2Zm2.707 8.707a1 1 0 0 0-1.414-1.414l-6 6a1 1 0 0 0 0 1.414l6 6a1 1 0 0 0 1.414-1.414L13.414 16l5.293-5.293Z\"],[\"<path d='M6.854 3.854a.5.5 0 1 0-.708-.708l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 1 0 .708-.708L5.207 5.5l1.647-1.646Z'></path><path d='M11 5.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-1 0a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Z'></path>\",\"<path d='M8.854 4.854a.5.5 0 1 0-.708-.708l-3 3a.5.5 0 0 0 0 .708l3 3a.5.5 0 0 0 .708-.708L6.207 7.5l2.647-2.646Z'></path><path d='M7.5 0a7.5 7.5 0 1 0 0 15 7.5 7.5 0 0 0 0-15ZM1 7.5a6.5 6.5 0 1 1 13 0 6.5 6.5 0 0 1-13 0Z'></path>\",\"<path d='M13.707 8.707a1 1 0 0 0-1.414-1.414l-4 4a1 1 0 0 0 0 1.414l4 4a1 1 0 0 0 1.414-1.414L10.414 12l3.293-3.293Z'></path><path d='M23 12c0-6.075-4.925-11-11-11S1 5.925 1 12s4.925 11 11 11 11-4.925 11-11ZM12 3a9 9 0 1 1 0 18 9 9 0 0 1 0-18Z'></path>\",\"<path d='M18.707 10.707a1 1 0 0 0-1.414-1.414l-6 6a1 1 0 0 0 0 1.414l6 6a1 1 0 0 0 1.414-1.414L13.414 16l5.293-5.293Z'></path><path d='M30 16c0-7.732-6.268-14-14-14S2 8.268 2 16s6.268 14 14 14 14-6.268 14-14ZM16 4c6.627 0 12 5.373 12 12s-5.373 12-12 12S4 22.627 4 16 9.373 4 16 4Z'></path>\"]];","export default [[\"M0 5.5a5.5 5.5 0 1 0 11 0 5.5 5.5 0 0 0-11 0Zm4.146-1.646a.5.5 0 1 1 .708-.708l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 1 1-.708-.708L5.793 5.5 4.146 3.854Z\",\"M15 7.5a7.5 7.5 0 1 0-15 0 7.5 7.5 0 0 0 15 0ZM6.146 4.854a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L8.793 7.5 6.146 4.854Z\",\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1Zm-1.707 7.707a1 1 0 1 1 1.414-1.414l4 4a1 1 0 0 1 0 1.414l-4 4a1 1 0 0 1-1.414-1.414L13.586 12l-3.293-3.293Z\",\"M16 2C8.268 2 2 8.268 2 16s6.268 14 14 14 14-6.268 14-14S23.732 2 16 2Zm-2.707 8.707a1 1 0 0 1 1.414-1.414l6 6a1 1 0 0 1 0 1.414l-6 6a1 1 0 0 1-1.414-1.414L18.586 16l-5.293-5.293Z\"],[\"<path d='M4.146 3.854a.5.5 0 1 1 .708-.708l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 1 1-.708-.708L5.793 5.5 4.146 3.854Z'></path><path d='M0 5.5a5.5 5.5 0 1 0 11 0 5.5 5.5 0 0 0-11 0Zm1 0a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Z'></path>\",\"<path d='M6.146 4.854a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L8.793 7.5 6.146 4.854Z'></path><path d='M7.5 0a7.5 7.5 0 1 1 0 15 7.5 7.5 0 0 1 0-15ZM14 7.5a6.5 6.5 0 1 0-13 0 6.5 6.5 0 0 0 13 0Z'></path>\",\"<path d='M10.293 8.707a1 1 0 1 1 1.414-1.414l4 4a1 1 0 0 1 0 1.414l-4 4a1 1 0 0 1-1.414-1.414L13.586 12l-3.293-3.293Z'></path><path d='M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm11-9a9 9 0 1 0 0 18 9 9 0 0 0 0-18Z'></path>\",\"<path d='M13.293 10.707a1 1 0 0 1 1.414-1.414l6 6a1 1 0 0 1 0 1.414l-6 6a1 1 0 0 1-1.414-1.414L18.586 16l-5.293-5.293Z'></path><path d='M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16ZM16 4C9.373 4 4 9.373 4 16s5.373 12 12 12 12-5.373 12-12S22.627 4 16 4Z'></path>\"]];","export default [[\"M11 5.5a5.5 5.5 0 1 0-11 0 5.5 5.5 0 0 0 11 0ZM3.854 6.854a.5.5 0 1 1-.708-.708l2-2a.5.5 0 0 1 .708 0l2 2a.5.5 0 1 1-.708.708L5.5 5.207 3.854 6.854Z\",\"M0 7.5a7.5 7.5 0 1 0 15 0 7.5 7.5 0 0 0-15 0Zm4.854 1.354a.5.5 0 1 1-.708-.708l3-3a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L7.5 6.207 4.854 8.854Z\",\"M1 12c0 6.075 4.925 11 11 11s11-4.925 11-11S18.075 1 12 1 1 5.925 1 12Zm7.707 1.707a1 1 0 0 1-1.414-1.414l4-4a1 1 0 0 1 1.414 0l4 4a1 1 0 0 1-1.414 1.414L12 10.414l-3.293 3.293Z\",\"M2 16c0 7.732 6.268 14 14 14s14-6.268 14-14S23.732 2 16 2 2 8.268 2 16Zm8.707 2.707a1 1 0 0 1-1.414-1.414l6-6a1 1 0 0 1 1.414 0l6 6a1 1 0 0 1-1.414 1.414L16 13.414l-5.293 5.293Z\"],[\"<path d='M3.854 6.854a.5.5 0 1 1-.708-.708l2-2a.5.5 0 0 1 .708 0l2 2a.5.5 0 1 1-.708.708L5.5 5.207 3.854 6.854Z'></path><path d='M11 5.5a5.5 5.5 0 1 0-11 0 5.5 5.5 0 0 0 11 0Zm-1 0a4.5 4.5 0 1 0-9 0 4.5 4.5 0 0 0 9 0Z'></path>\",\"<path d='M4.854 8.854a.5.5 0 1 1-.708-.708l3-3a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L7.5 6.207 4.854 8.854Z'></path><path d='M7.5 15a7.5 7.5 0 1 1 0-15 7.5 7.5 0 0 1 0 15ZM1 7.5a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z'></path>\",\"<path d='M8.707 13.707a1 1 0 0 1-1.414-1.414l4-4a1 1 0 0 1 1.414 0l4 4a1 1 0 0 1-1.414 1.414L12 10.414l-3.293 3.293Z'></path><path d='M12 23C5.925 23 1 18.075 1 12S5.925 1 12 1s11 4.925 11 11-4.925 11-11 11ZM3 12a9 9 0 1 0 18 0 9 9 0 0 0-18 0Z'></path>\",\"<path d='M10.707 18.707a1 1 0 0 1-1.414-1.414l6-6a1 1 0 0 1 1.414 0l6 6a1 1 0 0 1-1.414 1.414L16 13.414l-5.293 5.293Z'></path><path d='M16 30C8.268 30 2 23.732 2 16S8.268 2 16 2s14 6.268 14 14-6.268 14-14 14ZM4 16c0 6.627 5.373 12 12 12s12-5.373 12-12S22.627 4 16 4 4 9.373 4 16Z'></path>\"]];","export default [[\"M11 5.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0ZM7.854 3.146a.5.5 0 0 1 0 .708L6.207 5.5l1.647 1.646a.5.5 0 1 1-.708.708L5.5 6.207 3.854 7.854a.5.5 0 1 1-.708-.708L4.793 5.5 3.146 3.854a.5.5 0 1 1 .708-.708L5.5 4.793l1.646-1.647a.5.5 0 0 1 .708 0Z\",\"M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0Zm10.854-3.354a.5.5 0 0 1 0 .708L8.207 7.5l2.647 2.646a.5.5 0 0 1-.708.708L7.5 8.207l-2.646 2.647a.5.5 0 0 1-.708-.708L6.793 7.5 4.146 4.854a.5.5 0 1 1 .708-.708L7.5 6.793l2.646-2.647a.5.5 0 0 1 .708 0Z\",\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm14.707-3.707a1 1 0 0 1 0 1.414L13.414 12l2.293 2.293a1 1 0 0 1-1.414 1.414L12 13.414l-2.293 2.293a1 1 0 0 1-1.414-1.414L10.586 12 8.293 9.707a1 1 0 0 1 1.414-1.414L12 10.586l2.293-2.293a1 1 0 0 1 1.414 0Z\",\"M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Zm19.707-5.707a1 1 0 0 1 0 1.414L17.414 16l4.293 4.293a1 1 0 0 1-1.414 1.414L16 17.414l-4.293 4.293a1 1 0 0 1-1.414-1.414L14.586 16l-4.293-4.293a1 1 0 1 1 1.414-1.414L16 14.586l4.293-4.293a1 1 0 0 1 1.414 0Z\"],[\"<path d='M7.854 3.146a.5.5 0 0 1 0 .708L6.207 5.5l1.647 1.646a.5.5 0 1 1-.708.708L5.5 6.207 3.854 7.854a.5.5 0 1 1-.708-.708L4.793 5.5 3.146 3.854a.5.5 0 1 1 .708-.708L5.5 4.793l1.646-1.647a.5.5 0 0 1 .708 0Z'></path><path d='M11 5.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-1 0a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Z'></path>\",\"<path d='M10.854 4.146a.5.5 0 0 1 0 .708L8.207 7.5l2.647 2.646a.5.5 0 0 1-.708.708L7.5 8.207l-2.646 2.647a.5.5 0 0 1-.708-.708L6.793 7.5 4.146 4.854a.5.5 0 1 1 .708-.708L7.5 6.793l2.646-2.647a.5.5 0 0 1 .708 0Z'></path><path d='M7.5 0a7.5 7.5 0 1 0 0 15 7.5 7.5 0 0 0 0-15ZM1 7.5a6.5 6.5 0 1 1 13 0 6.5 6.5 0 0 1-13 0Z'></path>\",\"<path d='M15.707 8.293a1 1 0 0 1 0 1.414L13.414 12l2.293 2.293a1 1 0 0 1-1.414 1.414L12 13.414l-2.293 2.293a1 1 0 0 1-1.414-1.414L10.586 12 8.293 9.707a1 1 0 0 1 1.414-1.414L12 10.586l2.293-2.293a1 1 0 0 1 1.414 0Z'></path><path d='M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm11-9a9 9 0 1 0 0 18 9 9 0 0 0 0-18Z'></path>\",\"M16 4C9.373 4 4 9.373 4 16s5.373 12 12 12 12-5.373 12-12S22.627 4 16 4ZM2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Zm8.293-5.707a1 1 0 0 1 1.414 0L16 14.586l4.293-4.293a1 1 0 1 1 1.414 1.414L17.414 16l4.293 4.293a1 1 0 0 1-1.414 1.414L16 17.414l-4.293 4.293a1 1 0 0 1-1.414-1.414L14.586 16l-4.293-4.293a1 1 0 0 1 0-1.414Z\"]];","export default [[\"M4.961.026a5.56 5.56 0 0 1 1.078 0 .5.5 0 1 1-.097.995 4.562 4.562 0 0 0-.884 0 .5.5 0 1 1-.097-.995Zm3.325 1.291a.5.5 0 0 1 .703-.069c.279.229.534.484.763.763a.5.5 0 1 1-.773.634 4.53 4.53 0 0 0-.624-.624.5.5 0 0 1-.07-.704Zm-5.572 0a.5.5 0 0 1-.069.704 4.53 4.53 0 0 0-.624.624.5.5 0 0 1-.773-.634 5.53 5.53 0 0 1 .763-.763.5.5 0 0 1 .703.07Zm7.714 3.195a.5.5 0 0 1 .546.45 5.549 5.549 0 0 1 0 1.077.5.5 0 1 1-.995-.097 4.562 4.562 0 0 0 0-.884.5.5 0 0 1 .449-.546Zm-9.856 0a.5.5 0 0 1 .45.546 4.562 4.562 0 0 0 0 .884.5.5 0 1 1-.996.097 5.56 5.56 0 0 1 0-1.078.5.5 0 0 1 .546-.449Zm9.11 3.774a.5.5 0 0 1 .07.703 5.53 5.53 0 0 1-.763.763.5.5 0 1 1-.634-.773 4.53 4.53 0 0 0 .624-.624.5.5 0 0 1 .704-.07Zm-8.365 0a.5.5 0 0 1 .704.069 4.6 4.6 0 0 0 .624.624.5.5 0 0 1-.634.773 5.53 5.53 0 0 1-.763-.763.5.5 0 0 1 .07-.703Zm3.195 2.142a.5.5 0 0 1 .546-.45 4.562 4.562 0 0 0 .884 0 .5.5 0 1 1 .097.996 5.549 5.549 0 0 1-1.078 0 .5.5 0 0 1-.449-.546Z\",\"M7.01.016a7.605 7.605 0 0 1 .98 0 .5.5 0 1 1-.064.998 6.603 6.603 0 0 0-.852 0A.5.5 0 0 1 7.01.016Zm3.138.983a.5.5 0 0 1 .67-.227c.295.146.578.31.85.492a.5.5 0 0 1-.557.83c-.235-.157-.48-.3-.736-.425a.5.5 0 0 1-.227-.67Zm-5.296 0a.5.5 0 0 1-.227.67 6.399 6.399 0 0 0-.736.426.5.5 0 0 1-.556-.831c.27-.182.554-.346.849-.492a.5.5 0 0 1 .67.227Zm8.19 2.196a.5.5 0 0 1 .694.138c.182.27.346.554.492.849a.5.5 0 1 1-.897.443 6.483 6.483 0 0 0-.425-.736.5.5 0 0 1 .137-.694Zm-11.085 0a.5.5 0 0 1 .138.694c-.158.235-.3.48-.426.736a.5.5 0 1 1-.897-.443c.146-.295.31-.578.492-.85a.5.5 0 0 1 .693-.137Zm12.496 3.348a.5.5 0 0 1 .531.466 7.593 7.593 0 0 1 0 .981.5.5 0 1 1-.998-.064 6.603 6.603 0 0 0 0-.852.5.5 0 0 1 .467-.531Zm-13.906 0a.5.5 0 0 1 .467.531 6.603 6.603 0 0 0 0 .852.5.5 0 0 1-.998.064 7.605 7.605 0 0 1 0-.98.5.5 0 0 1 .531-.467Zm.452 3.605a.5.5 0 0 1 .67.227c.126.255.268.501.426.736a.5.5 0 0 1-.831.556 7.495 7.495 0 0 1-.492-.849.5.5 0 0 1 .227-.67Zm13.002 0a.5.5 0 0 1 .227.67c-.146.295-.31.578-.492.85a.5.5 0 0 1-.83-.557c.157-.235.3-.48.425-.736a.5.5 0 0 1 .67-.227ZM3.195 13.043a.5.5 0 0 1 .694-.137c.235.157.48.3.736.425a.5.5 0 0 1-.443.897 7.496 7.496 0 0 1-.85-.492.5.5 0 0 1-.137-.693Zm8.61 0a.5.5 0 0 1-.137.693 7.499 7.499 0 0 1-.85.492.5.5 0 0 1-.443-.897c.255-.126.501-.268.736-.425a.5.5 0 0 1 .694.137Zm-5.262 1.41a.5.5 0 0 1 .531-.467 6.603 6.603 0 0 0 .852 0 .5.5 0 1 1 .064.998 7.593 7.593 0 0 1-.98 0 .5.5 0 0 1-.467-.531Z\",\"M11.425 1.015a11.168 11.168 0 0 1 1.15 0 1 1 0 0 1-.103 1.997 9.16 9.16 0 0 0-.944 0 1 1 0 0 1-.103-1.997Zm4.225 1.618a1 1 0 0 1 1.346-.436c.343.176.675.368.996.577a1 1 0 0 1-1.09 1.676 8.993 8.993 0 0 0-.816-.471 1 1 0 0 1-.436-1.346Zm-7.3 0a1 1 0 0 1-.436 1.346c-.28.143-.553.3-.816.471a1 1 0 1 1-1.09-1.676c.32-.209.653-.401.996-.577a1 1 0 0 1 1.346.436Zm11.492 3.082a1 1 0 0 1 1.384.293c.209.32.401.653.577.996a1 1 0 0 1-1.782.91c-.143-.28-.3-.553-.471-.816a1 1 0 0 1 .292-1.383Zm-15.684 0a1 1 0 0 1 .292 1.383c-.17.263-.328.535-.471.816a1 1 0 1 1-1.782-.91c.176-.343.368-.675.577-.996a1 1 0 0 1 1.384-.293Zm-2.093 4.763a1 1 0 0 1 .947 1.05 9.16 9.16 0 0 0 0 .944 1 1 0 0 1-1.997.103 11.168 11.168 0 0 1 0-1.15 1 1 0 0 1 1.05-.947Zm19.87 0a1 1 0 0 1 1.05.947 11.191 11.191 0 0 1 0 1.15 1 1 0 0 1-1.997-.103 9.228 9.228 0 0 0 0-.944 1 1 0 0 1 .947-1.05Zm-.568 5.172a1 1 0 0 1 .436 1.346c-.176.343-.368.675-.577.996a1 1 0 0 1-1.676-1.09c.17-.263.328-.535.471-.816a1 1 0 0 1 1.346-.436Zm-18.734 0a1 1 0 0 1 1.346.436c.143.28.3.553.471.816a1 1 0 0 1-1.676 1.09 10.996 10.996 0 0 1-.577-.996 1 1 0 0 1 .436-1.346Zm3.082 4.192a1 1 0 0 1 1.383-.292c.263.17.535.328.816.471a1 1 0 0 1-.91 1.782 10.99 10.99 0 0 1-.996-.577 1 1 0 0 1-.293-1.384Zm12.57 0a1 1 0 0 1-.293 1.384c-.32.209-.653.401-.996.577a1 1 0 0 1-.91-1.782c.28-.143.553-.3.816-.471a1 1 0 0 1 1.383.292Zm-7.807 2.093a1 1 0 0 1 1.05-.947 9.228 9.228 0 0 0 .944 0 1 1 0 1 1 .103 1.997 11.191 11.191 0 0 1-1.15 0 1 1 0 0 1-.947-1.05Z\",\"M14.78 2.052a14.17 14.17 0 0 1 2.44 0 1 1 0 1 1-.172 1.993 12.166 12.166 0 0 0-2.096 0 1 1 0 1 1-.172-1.993Zm-3.37 1.74a1 1 0 0 1-.482 1.33c-.636.296-1.241.647-1.81 1.047a1 1 0 1 1-1.15-1.638 14.142 14.142 0 0 1 2.113-1.222 1 1 0 0 1 1.33.483Zm9.18 0a1 1 0 0 1 1.329-.483c.742.347 1.448.757 2.112 1.222a1 1 0 1 1-1.148 1.638c-.57-.4-1.175-.75-1.81-1.048a1 1 0 0 1-.484-1.329Zm5.486 3.932a1 1 0 0 1 1.393.245c.465.664.875 1.37 1.222 2.112a1 1 0 1 1-1.812.847 12 12 0 0 0-1.048-1.81 1 1 0 0 1 .245-1.394Zm-20.152 0a1 1 0 0 1 .245 1.393c-.4.57-.75 1.175-1.048 1.81a1 1 0 1 1-1.812-.846c.347-.742.757-1.448 1.222-2.112a1 1 0 0 1 1.393-.245Zm-2.79 6.146a1 1 0 0 1 .911 1.082 12.166 12.166 0 0 0 0 2.096 1 1 0 1 1-1.993.172 14.17 14.17 0 0 1 0-2.44 1 1 0 0 1 1.083-.91Zm25.731 0a1 1 0 0 1 1.083.91 14.154 14.154 0 0 1 0 2.44 1 1 0 1 1-1.993-.172 12.134 12.134 0 0 0 0-2.096 1 1 0 0 1 .91-1.082ZM3.792 20.59a1 1 0 0 1 1.33.482c.296.636.647 1.241 1.047 1.81a1 1 0 0 1-1.638 1.15 13.983 13.983 0 0 1-1.222-2.113 1 1 0 0 1 .483-1.33Zm24.416 0a1 1 0 0 1 .483 1.329 13.978 13.978 0 0 1-1.222 2.112 1 1 0 1 1-1.638-1.148c.4-.57.75-1.175 1.048-1.81a1 1 0 0 1 1.329-.484ZM7.724 26.075a1 1 0 0 1 1.393-.245 12 12 0 0 0 1.81 1.048 1 1 0 1 1-.846 1.812 13.982 13.982 0 0 1-2.112-1.222 1 1 0 0 1-.245-1.393Zm16.552 0a1 1 0 0 1-.245 1.393c-.664.465-1.37.875-2.112 1.222a1 1 0 1 1-.847-1.812 11.998 11.998 0 0 0 1.81-1.048 1 1 0 0 1 1.394.245Zm-10.406 2.79a1 1 0 0 1 1.082-.911 12.134 12.134 0 0 0 2.096 0 1 1 0 0 1 .172 1.993 14.154 14.154 0 0 1-2.44 0 1 1 0 0 1-.91-1.083Z\"]];","export default [[\"M5.5 11a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11Zm-.646-6.854L5 4.293V2.5a.5.5 0 0 1 1 0v1.793l.146-.147a.5.5 0 1 1 .708.708l-1 1a.498.498 0 0 1-.708 0l-1-1a.5.5 0 1 1 .708-.708ZM3 6a.5.5 0 0 0-1 0v1a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V6a.5.5 0 0 0-1 0v1H3V6Z\",\"M7.5 15a7.5 7.5 0 1 0 0-15 7.5 7.5 0 0 0 0 15Zm.003-6a.498.498 0 0 0 .35-.146l2-2a.5.5 0 0 0-.707-.708L8 7.293V3.5a.5.5 0 0 0-1 0v3.793L5.854 6.146a.5.5 0 1 0-.708.708l2 2A.498.498 0 0 0 7.497 9h.006ZM4 8.5a.5.5 0 0 0-1 0v1A1.5 1.5 0 0 0 4.5 11h6A1.5 1.5 0 0 0 12 9.5v-1a.5.5 0 0 0-1 0v1a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-1Z\",\"M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1Zm-2.293 9.293L11 11.586V6a1 1 0 1 1 2 0v5.586l1.293-1.293a1 1 0 1 1 1.414 1.414l-3 3-.006.007a.996.996 0 0 1-.698.286h-.006a.997.997 0 0 1-.697-.286l-.008-.008-3-2.999a1 1 0 1 1 1.415-1.414ZM8 15a1 1 0 1 0-2 0v1a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-1a1 1 0 1 0-2 0v1H8v-1Z\",\"M16 30c7.732 0 14-6.268 14-14S23.732 2 16 2 2 8.268 2 16s6.268 14 14 14Zm1-22v7.586l2.293-2.293a1 1 0 0 1 1.414 1.414l-4 4a1 1 0 0 1-1.414 0l-4-4a1 1 0 0 1 1.414-1.414L15 15.586V8a1 1 0 1 1 2 0Zm-7 11a1 1 0 1 0-2 0v1a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3v-1a1 1 0 1 0-2 0v1a1 1 0 0 1-1 1H11a1 1 0 0 1-1-1v-1Z\"],[\"M1 5.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM5.5 0a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11Zm-.646 4.146L5 4.293V2.5a.5.5 0 0 1 1 0v1.793l.146-.147a.5.5 0 1 1 .708.708l-1 1a.498.498 0 0 1-.708 0l-1-1a.5.5 0 1 1 .708-.708ZM3 6a.5.5 0 0 0-1 0v1a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V6a.5.5 0 0 0-1 0v1H3V6Z\",\"M1 7.5a6.5 6.5 0 1 1 13 0 6.5 6.5 0 0 1-13 0ZM7.5 0a7.5 7.5 0 1 0 0 15 7.5 7.5 0 0 0 0-15Zm.003 9a.498.498 0 0 0 .35-.146l2-2a.5.5 0 0 0-.707-.708L8 7.293V3.5a.5.5 0 0 0-1 0v3.793L5.854 6.146a.5.5 0 1 0-.708.708l2 2A.498.498 0 0 0 7.497 9h.006ZM4 8.5a.5.5 0 0 0-1 0v1A1.5 1.5 0 0 0 4.5 11h6A1.5 1.5 0 0 0 12 9.5v-1a.5.5 0 0 0-1 0v1a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-1Z\",\"M3 12a9 9 0 1 0 18 0 9 9 0 0 0-18 0Zm9 11C5.925 23 1 18.075 1 12S5.925 1 12 1s11 4.925 11 11-4.925 11-11 11ZM9.707 10.293 11 11.586V6a1 1 0 1 1 2 0v5.586l1.293-1.293a1 1 0 1 1 1.414 1.414l-3 3-.006.007a.996.996 0 0 1-.698.286h-.006a.997.997 0 0 1-.697-.286l-.008-.008-3-2.999a1 1 0 1 1 1.415-1.414ZM8 15a1 1 0 1 0-2 0v1a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-1a1 1 0 1 0-2 0v1H8v-1Z\",\"M4 16C4 9.373 9.373 4 16 4s12 5.373 12 12-5.373 12-12 12S4 22.627 4 16ZM16 2C8.268 2 2 8.268 2 16s6.268 14 14 14 14-6.268 14-14S23.732 2 16 2Zm1 6v7.586l2.293-2.293a1 1 0 0 1 1.414 1.414l-4 4a1 1 0 0 1-1.414 0l-4-4a1 1 0 0 1 1.414-1.414L15 15.586V8a1 1 0 1 1 2 0Zm-7 11a1 1 0 1 0-2 0v1a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3v-1a1 1 0 1 0-2 0v1a1 1 0 0 1-1 1H11a1 1 0 0 1-1-1v-1Z\"]];","export default [[\"M0 5.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0Zm2.5.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm3.75-.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm3 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z\",\"M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0ZM3.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM9 7.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm4 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z\",\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm5-2c-1.103 0-2 .897-2 2s.897 2 2 2 2-.897 2-2-.897-2-2-2Zm4 2c0-1.103.897-2 2-2s2 .897 2 2-.897 2-2 2-2-.897-2-2Zm6 0c0-1.103.897-2 2-2s2 .897 2 2-.897 2-2 2-2-.897-2-2Z\",\"M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Zm6-2c-1.103 0-2 .897-2 2s.897 2 2 2 2-.897 2-2-.897-2-2-2Zm6 2c0-1.103.897-2 2-2s2 .897 2 2-.897 2-2 2-2-.897-2-2Zm8 0c0-1.103.897-2 2-2s2 .897 2 2-.897 2-2 2-2-.897-2-2Z\"],[\"<path d='M5.5 1a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9ZM0 5.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0Z'></path><path d='M6.25 5.5a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm3 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm-6 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z'></path>\",\"<path d='M7.5 1a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0Z'></path><path d='M13 7.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm-4 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm-4 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z'></path>\",\"<path d='M16 12c0-1.103.897-2 2-2s2 .897 2 2-.897 2-2 2-2-.897-2-2Zm-6 0c0-1.103.897-2 2-2s2 .897 2 2-.897 2-2 2-2-.897-2-2Zm-6 0c0-1.103.897-2 2-2s2 .897 2 2-.897 2-2 2-2-.897-2-2Z'></path><path d='M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18ZM1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Z'></path>\",\"<path d='M22 16c0-1.103.897-2 2-2s2 .897 2 2-.897 2-2 2-2-.897-2-2Zm-8 0c0-1.103.897-2 2-2s2 .897 2 2-.897 2-2 2-2-.897-2-2Zm-8 0c0-1.103.897-2 2-2s2 .897 2 2-.897 2-2 2-2-.897-2-2Z'></path><path d='M16 4C9.373 4 4 9.373 4 16s5.373 12 12 12 12-5.373 12-12S22.627 4 16 4ZM2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Z'></path>\"]];","export default [[\"M11 5.5a5.5 5.5 0 1 0-11 0 5.5 5.5 0 0 0 11 0Zm-6-3a.5.5 0 0 1 1 0v3a.5.5 0 0 1-1 0v-3Zm1 5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\",\"M0 7.5a7.5 7.5 0 1 0 15 0 7.5 7.5 0 0 0-15 0Zm7-4a.5.5 0 0 1 1 0v5a.5.5 0 0 1-1 0v-5Zm1 7a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\",\"M1 12c0 6.075 4.925 11 11 11s11-4.925 11-11S18.075 1 12 1 1 5.925 1 12Zm10-5a1 1 0 1 1 2 0v6a1 1 0 1 1-2 0V7Zm2 10a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\",\"M2 16c0 7.732 6.268 14 14 14s14-6.268 14-14S23.732 2 16 2 2 8.268 2 16Zm13-7a1 1 0 1 1 2 0v9a1 1 0 1 1-2 0V9Zm2 13a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"],[\"<path d='M5 2.5a.5.5 0 0 1 1 0v3a.5.5 0 0 1-1 0v-3ZM5.5 8a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M5.5 0a5.5 5.5 0 1 1 0 11 5.5 5.5 0 0 1 0-11Zm0 1a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9Z'></path>\",\"<path d='M7 3.5a.5.5 0 0 1 1 0v5a.5.5 0 0 1-1 0v-5Zm.5 7.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M0 7.5a7.5 7.5 0 1 0 15 0 7.5 7.5 0 0 0-15 0ZM7.5 14a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13Z'></path>\",\"<path d='M11 7a1 1 0 1 1 2 0v6a1 1 0 1 1-2 0V7Zm1 11a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M1 12c0 6.075 4.925 11 11 11s11-4.925 11-11S18.075 1 12 1 1 5.925 1 12Zm11 9a9 9 0 1 1 0-18 9 9 0 0 1 0 18Z'></path>\",\"<path d='M15 9a1 1 0 1 1 2 0v9a1 1 0 1 1-2 0V9Zm2 13a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path><path d='M16 30C8.268 30 2 23.732 2 16S8.268 2 16 2s14 6.268 14 14-6.268 14-14 14ZM4 16c0 6.627 5.373 12 12 12s12-5.373 12-12S22.627 4 16 4 4 9.373 4 16Z'></path>\"]];","export default [[\"M11 5.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0ZM7.5 6H4v1.5a.5.5 0 0 1-1 0v-4a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .354.854l-.647.646.647.646A.5.5 0 0 1 7.5 6Z\",\"M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0Zm5-4a.5.5 0 0 0-1 0v8a.5.5 0 0 0 1 0V9h6.5a.5.5 0 0 0 .354-.854L10.207 6.5l1.647-1.646A.5.5 0 0 0 11.5 4H5v-.5Z\",\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm9-4a1 1 0 0 0-2 0v9a1 1 0 1 0 2 0v-3h6a1 1 0 0 0 .734-1.68L15.51 11l1.223-1.32A1 1 0 0 0 16 8h-6Z\",\"M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Zm10-7a1 1 0 1 0-2 0v14a1 1 0 1 0 2 0v-5h10a1 1 0 0 0 .718-1.696l-2.72-2.804 2.72-2.804A1 1 0 0 0 22 9H12Z\"],[\"<path d='M4 6h3.5a.5.5 0 0 0 .354-.854L7.207 4.5l.647-.646A.5.5 0 0 0 7.5 3h-4a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 1 0V6Zm0-2v1h2.293l-.147-.146a.5.5 0 0 1 0-.708L6.293 4H4Z'></path><path d='M5.5 11a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11Zm0-1a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Z'></path>\",\"<path d='M4.5 3a.5.5 0 0 1 .5.5V4h6.5a.5.5 0 0 1 .354.854L10.207 6.5l1.647 1.646A.5.5 0 0 1 11.5 9H5v2.5a.5.5 0 0 1-1 0v-8a.5.5 0 0 1 .5-.5ZM5 8h5.293L9.146 6.854a.5.5 0 0 1 0-.708L10.293 5H5v3Z'></path><path d='M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0ZM7.5 1a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13Z'></path>\",\"<path d='M9 7a1 1 0 0 1 1 1h6a1 1 0 0 1 .734 1.68L15.51 11l1.223 1.32A1 1 0 0 1 16 14h-6v3a1 1 0 1 1-2 0V8a1 1 0 0 1 1-1Zm1 5h3.711l-.296-.32a1 1 0 0 1 0-1.36l.296-.32H10v2Z'></path><path d='M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm11-9a9 9 0 1 0 0 18 9 9 0 0 0 0-18Z'></path>\",\"<path d='M11 8a1 1 0 0 1 1 1h10a1 1 0 0 1 .718 1.696l-2.72 2.804 2.72 2.804A1 1 0 0 1 22 18H12v5a1 1 0 1 1-2 0V9a1 1 0 0 1 1-1Zm1 8h7.637l-1.75-1.804a1 1 0 0 1 0-1.392L19.637 11H12v5Z'></path><path d='M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16ZM16 4C9.373 4 4 9.373 4 16s5.373 12 12 12 12-5.373 12-12S22.627 4 16 4Z'></path>\"]];","export default [[\"M11 5.5a5.5 5.5 0 1 0-11 0 5.5 5.5 0 0 0 11 0ZM3.276 3.553A.5.5 0 0 0 3 4v3a.5.5 0 0 0 .8.4l1.7-1.275V7a.5.5 0 0 0 .8.4l2-1.5a.5.5 0 0 0 0-.8l-2-1.5a.5.5 0 0 0-.8.4v.875L3.8 3.6a.5.5 0 0 0-.524-.047Z\",\"M15 7.5a7.5 7.5 0 1 0-15 0 7.5 7.5 0 0 0 15 0ZM3.758 4.563A.5.5 0 0 0 3.5 5v5a.5.5 0 0 0 .765.424L7.5 8.402V10a.5.5 0 0 0 .765.424l4-2.5a.5.5 0 0 0 0-.848l-4-2.5A.5.5 0 0 0 7.5 5v1.598L4.265 4.576a.5.5 0 0 0-.507-.013Z\",\"M23 12c0 6.075-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1s11 4.925 11 11ZM7.254 8.565A.5.5 0 0 0 7 9v6a.5.5 0 0 0 .757.429L12 12.883V15a.5.5 0 0 0 .757.429l5-3a.5.5 0 0 0 0-.858l-5-3A.5.5 0 0 0 12 9v2.117L7.757 8.57a.5.5 0 0 0-.503-.006Z\",\"M30 16c0-7.732-6.268-14-14-14S2 8.268 2 16s6.268 14 14 14 14-6.268 14-14ZM8.748 11.068a.5.5 0 0 0-.248.432v9a.5.5 0 0 0 .745.436l7.255-4.081V20.5a.5.5 0 0 0 .745.436l8-4.5a.5.5 0 0 0 0-.872l-8-4.5a.5.5 0 0 0-.745.436v3.645l-7.255-4.08a.5.5 0 0 0-.497.003Z\"],[\"<path d='M5.5 4a.5.5 0 0 1 .8-.4l2 1.5a.5.5 0 0 1 0 .8l-2 1.5a.5.5 0 0 1-.8-.4v-.875L3.8 7.4A.5.5 0 0 1 3 7V4a.5.5 0 0 1 .8-.4l1.7 1.275V4Z'></path><path d='M11 5.5a5.5 5.5 0 1 0-11 0 5.5 5.5 0 0 0 11 0ZM5.5 1a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9Z'></path>\",\"<path d='M7.5 5a.5.5 0 0 1 .765-.424l4 2.5a.5.5 0 0 1 0 .848l-4 2.5A.5.5 0 0 1 7.5 10V8.402l-3.235 2.022A.5.5 0 0 1 3.5 10V5a.5.5 0 0 1 .765-.424L7.5 6.598V5Z'></path><path d='M15 7.5a7.5 7.5 0 1 0-15 0 7.5 7.5 0 0 0 15 0ZM7.5 1a6.5 6.5 0 1 1 0 13 6.5 6.5 0 0 1 0-13Z'></path>\",\"<path d='M12 9a.5.5 0 0 1 .757-.429l5 3a.5.5 0 0 1 0 .858l-5 3A.5.5 0 0 1 12 15v-2.117L7.757 15.43A.5.5 0 0 1 7 15V9a.5.5 0 0 1 .757-.429L12 11.117V9Z'></path><path d='M23 12c0 6.075-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1s11 4.925 11 11Zm-11 9a9 9 0 1 0 0-18 9 9 0 0 0 0 18Z'></path>\",\"<path d='M16.5 11.5a.5.5 0 0 1 .745-.436l8 4.5a.5.5 0 0 1 0 .872l-8 4.5a.5.5 0 0 1-.745-.436v-3.645l-7.255 4.08A.5.5 0 0 1 8.5 20.5v-9a.5.5 0 0 1 .745-.436l7.255 4.081V11.5Z'></path><path d='M30 16c0-7.732-6.268-14-14-14S2 8.268 2 16s6.268 14 14 14 14-6.268 14-14ZM16 4c6.627 0 12 5.373 12 12s-5.373 12-12 12S4 22.627 4 16 9.373 4 16 4Z'></path>\"]];","export default [[\"M5.5 0a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11ZM1 5.5a4.5 4.5 0 0 1 4-4.473v8.946A4.5 4.5 0 0 1 1 5.5Z\",\"M7.5 0a7.5 7.5 0 1 0 0 15 7.5 7.5 0 0 0 0-15ZM1 7.5a6.5 6.5 0 0 1 6-6.481V13.98A6.5 6.5 0 0 1 1 7.5Z\",\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1ZM3 12a9 9 0 0 1 8-8.945v17.89A9 9 0 0 1 3 12Z\",\"M16 2C8.268 2 2 8.268 2 16s6.268 14 14 14 14-6.268 14-14S23.732 2 16 2ZM4 16C4 9.71 8.84 4.55 15 4.041V27.96C8.84 27.45 4 22.29 4 16Z\"],[\"M5 1.027a4.5 4.5 0 0 0 0 8.946V1.027Zm1 0v8.946a4.5 4.5 0 0 0 0-8.946ZM0 5.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0Z\",\"M7 1.019A6.5 6.5 0 0 0 7 13.98V1.02Zm1 0V13.98A6.5 6.5 0 0 0 8 1.02ZM0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0Z\",\"M11 3.055a9.001 9.001 0 0 0 0 17.89V3.055Zm2 0v17.89a9.001 9.001 0 0 0 0-17.89ZM1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Z\",\"M15 4.041C8.84 4.55 4 9.71 4 16s4.84 11.45 11 11.959V4.04Zm2 0V27.96c6.16-.51 11-5.67 11-11.96 0-6.29-4.84-11.45-11-11.959ZM2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Z\"]];","export default [[\"M11 5.5a5.5 5.5 0 1 0-11 0 5.5 5.5 0 0 0 11 0ZM5 3.25A.25.25 0 0 1 5.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 5 3.75v-.5Zm0 2A.25.25 0 0 1 5.25 5h.5a.25.25 0 0 1 .25.25v2.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 5 7.75v-2.5Z\",\"M0 7.5a7.5 7.5 0 1 0 15 0 7.5 7.5 0 0 0-15 0Zm7-3.25A.25.25 0 0 1 7.25 4h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 7 4.75v-.5Zm0 2A.25.25 0 0 1 7.25 6h.5a.25.25 0 0 1 .25.25v4.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-4.5Z\",\"M1 12c0 6.075 4.925 11 11 11s11-4.925 11-11S18.075 1 12 1 1 5.925 1 12Zm10-5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm0 4a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-7Z\",\"M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Zm13-5.5a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1Zm0 13a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-10a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v10Z\"],[\"<path d='M5 3.25A.25.25 0 0 1 5.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 5 3.75v-.5Zm0 2A.25.25 0 0 1 5.25 5h.5a.25.25 0 0 1 .25.25v2.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 5 7.75v-2.5Z'></path><path d='M11 5.5a5.5 5.5 0 1 0-11 0 5.5 5.5 0 0 0 11 0Zm-1 0a4.5 4.5 0 1 0-9 0 4.5 4.5 0 0 0 9 0Z'></path>\",\"<path d='M7 4.25A.25.25 0 0 1 7.25 4h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 7 4.75v-.5Zm0 2A.25.25 0 0 1 7.25 6h.5a.25.25 0 0 1 .25.25v4.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-4.5Z'></path><path d='M7.5 15a7.5 7.5 0 1 1 0-15 7.5 7.5 0 0 1 0 15ZM1 7.5a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z'></path>\",\"<path d='M11 6.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm.5 3.5a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-1Z'></path><path d='M1 12c0 6.075 4.925 11 11 11s11-4.925 11-11S18.075 1 12 1 1 5.925 1 12Zm11 9a9 9 0 1 1 0-18 9 9 0 0 1 0 18Z'></path>\",\"<path d='M15 10.5a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1Zm.5 13.5a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v10a.5.5 0 0 1-.5.5h-1Z'></path><path d='M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16ZM16 4C9.373 4 4 9.373 4 16s5.373 12 12 12 12-5.373 12-12S22.627 4 16 4Z'></path>\"]];","export default [[\"<path d='M5.5 3.5A.5.5 0 0 0 5 4v1h1V4a.5.5 0 0 0-.5-.5Z'></path><path d='M5.5 11a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11ZM4 4a1.5 1.5 0 0 1 3 0v1h.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5H4V4Z'></path>\",\"<path d='M7.5 4A1.5 1.5 0 0 0 6 5.5V7h3V5.5A1.5 1.5 0 0 0 7.5 4Z'></path><path d='M7.5 15a7.5 7.5 0 1 0 0-15 7.5 7.5 0 0 0 0 15ZM5 5.5a2.5 2.5 0 0 1 5 0V7a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1V5.5Z'></path>\",\"<path d='M12 9a1 1 0 0 0-1 1v2h2v-2a1 1 0 0 0-1-1Z'></path><path d='M12 23c6.075 0 11-4.925 11-11S18.075 1 12 1 1 5.925 1 12s4.925 11 11 11ZM9 10a3 3 0 1 1 6 0v2.085a1.5 1.5 0 0 1 1 1.415v2a1.5 1.5 0 0 1-1.5 1.5h-5A1.5 1.5 0 0 1 8 15.5v-2a1.5 1.5 0 0 1 1-1.415V10Z'></path>\",\"<path d='M16 11a2 2 0 0 0-2 2v3h4v-3a2 2 0 0 0-2-2Z'></path><path d='M16 30c7.732 0 14-6.268 14-14S23.732 2 16 2 2 8.268 2 16s6.268 14 14 14Zm-4-17a4 4 0 0 1 8 0v3h.5a1.5 1.5 0 0 1 1.5 1.5v4a1.5 1.5 0 0 1-1.5 1.5h-9a1.5 1.5 0 0 1-1.5-1.5v-4a1.5 1.5 0 0 1 1.5-1.5h.5v-3Z'></path>\"],[\"<path d='M3 5.5a.5.5 0 0 1 .5-.5H4V4a1.5 1.5 0 0 1 3 0v1h.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-2ZM6 5V4a.5.5 0 0 0-1 0v1h1Z'></path><path d='M5.5 11a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11Zm0-1a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9Z'></path>\",\"<path d='M4 8a1 1 0 0 1 1-1V5.5a2.5 2.5 0 0 1 5 0V7a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V8Zm5-1V5.5a1.5 1.5 0 1 0-3 0V7h3Z'></path><path d='M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0ZM7.5 1a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13Z'></path>\",\"<path d='M15 12.085V10a3 3 0 1 0-6 0v2.085A1.5 1.5 0 0 0 8 13.5v2A1.5 1.5 0 0 0 9.5 17h5a1.5 1.5 0 0 0 1.5-1.5v-2a1.5 1.5 0 0 0-1-1.415ZM12 9a1 1 0 0 1 1 1v2h-2v-2a1 1 0 0 1 1-1Z'></path><path d='M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm11-9a9 9 0 1 0 0 18 9 9 0 0 0 0-18Z'></path>\",\"<path d='M10 17.5a1.5 1.5 0 0 1 1.5-1.5h.5v-3a4 4 0 0 1 8 0v3h.5a1.5 1.5 0 0 1 1.5 1.5v4a1.5 1.5 0 0 1-1.5 1.5h-9a1.5 1.5 0 0 1-1.5-1.5v-4Zm8-1.5v-3a2 2 0 1 0-4 0v3h4Z'></path><path d='M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16ZM16 4C9.373 4 4 9.373 4 16s5.373 12 12 12 12-5.373 12-12S22.627 4 16 4Z'></path>\"]];","export default [[\"M0 5.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0ZM3.5 5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Z\",\"M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0ZM4.5 7a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Z\",\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm6-1a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2H7Z\",\"M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Zm6-1a1 1 0 1 0 0 2h16a1 1 0 1 0 0-2H8Z\"],[\"<path d='M3.5 5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Z'></path><path d='M5.5 0a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11ZM1 5.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0Z'></path>\",\"<path d='M4.5 7a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Z'></path><path d='M7.5 0a7.5 7.5 0 1 0 0 15 7.5 7.5 0 0 0 0-15ZM1 7.5a6.5 6.5 0 1 1 13 0 6.5 6.5 0 0 1-13 0Z'></path>\",\"<path d='M7 11a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2H7Z'></path><path d='M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1ZM3 12a9 9 0 1 1 18 0 9 9 0 0 1-18 0Z'></path>\",\"<path d='M8 15a1 1 0 1 0 0 2h16a1 1 0 1 0 0-2H8Z'></path><path d='M16 2C8.268 2 2 8.268 2 16s6.268 14 14 14 14-6.268 14-14S23.732 2 16 2ZM4 16C4 9.373 9.373 4 16 4s12 5.373 12 12-5.373 12-12 12S4 22.627 4 16Z'></path>\"]];","export default [[\"M11 5.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-5-2a.5.5 0 0 0-1 0v4a.5.5 0 0 0 1 0v-4Z\",\"M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0Zm8-3a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0v-6Z\",\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm12-5a1 1 0 1 0-2 0v10a1 1 0 1 0 2 0V7Z\",\"M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Zm15-8a1 1 0 1 0-2 0v16a1 1 0 1 0 2 0V8Z\"],[\"<path d='M6 3.5a.5.5 0 0 0-1 0v4a.5.5 0 0 0 1 0v-4Z'></path><path d='M11 5.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-1 0a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Z'></path>\",\"<path d='M8 4.5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0v-6Z'></path><path d='M7.5 0a7.5 7.5 0 1 0 0 15 7.5 7.5 0 0 0 0-15ZM1 7.5a6.5 6.5 0 1 1 13 0 6.5 6.5 0 0 1-13 0Z'></path>\",\"M3 12a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-11C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1Zm1 6a1 1 0 1 0-2 0v10a1 1 0 1 0 2 0V7Z\",\"<path d='M17 8a1 1 0 1 0-2 0v16a1 1 0 1 0 2 0V8Z'></path><path d='M16 2C8.268 2 2 8.268 2 16s6.268 14 14 14 14-6.268 14-14S23.732 2 16 2ZM4 16C4 9.373 9.373 4 16 4s12 5.373 12 12-5.373 12-12 12S4 22.627 4 16Z'></path>\"]];","export default [[\"M11 5.5a5.5 5.5 0 1 0-11 0 5.5 5.5 0 0 0 11 0ZM2.5 4a.5.5 0 0 1 .8-.4L5 4.875V4a.5.5 0 0 1 .8-.4l1.7 1.275V4a.5.5 0 0 1 1 0v3a.5.5 0 0 1-1 0v-.875L5.8 7.4A.5.5 0 0 1 5 7v-.875L3.3 7.4a.5.5 0 0 1-.8-.4V4Z\",\"M15 7.5a7.5 7.5 0 1 0-15 0 7.5 7.5 0 0 0 15 0Zm-11-2a.5.5 0 0 1 .777-.416L7 6.566V5.5a.5.5 0 0 1 .777-.416L10 6.566V5.5a.5.5 0 0 1 1 0v4a.5.5 0 0 1-1 0V8.434L7.777 9.916A.5.5 0 0 1 7 9.5V8.434L4.777 9.916A.5.5 0 0 1 4 9.5v-4Z\",\"M23 12c0 6.075-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1s11 4.925 11 11ZM7 9.5a.5.5 0 0 1 .765-.424L11 11.098V9.5a.5.5 0 0 1 .765-.424L15 11.098V9.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1.598l-3.235 2.022A.5.5 0 0 1 11 14.5v-1.598l-3.235 2.022A.5.5 0 0 1 7 14.5v-5Z\",\"M30 16c0-7.732-6.268-14-14-14S2 8.268 2 16s6.268 14 14 14 14-6.268 14-14ZM8 11.5a.5.5 0 0 1 .745-.436L15 14.583V11.5a.5.5 0 0 1 .745-.436L22 14.583V11.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-3.083l-6.255 3.519A.5.5 0 0 1 15 20.5v-3.083l-6.255 3.519A.5.5 0 0 1 8 20.5v-9Z\"],[\"<path d='M5.276 3.553A.5.5 0 0 0 5 4v.875L3.3 3.6a.5.5 0 0 0-.8.4v3a.5.5 0 0 0 .8.4L5 6.125V7a.5.5 0 0 0 .8.4l1.7-1.275V7a.5.5 0 0 0 1 0V4a.5.5 0 0 0-1 0v.875L5.8 3.6a.5.5 0 0 0-.524-.047Z'></path><path d='M5.5 0a5.5 5.5 0 1 1 0 11 5.5 5.5 0 0 1 0-11ZM10 5.5a4.5 4.5 0 1 0-9 0 4.5 4.5 0 0 0 9 0Z'></path>\",\"<path d='M7.264 5.06A.5.5 0 0 0 7 5.5v1.066L4.777 5.084A.5.5 0 0 0 4 5.5v4a.5.5 0 0 0 .777.416L7 8.434V9.5a.5.5 0 0 0 .777.416L10 8.434V9.5a.5.5 0 0 0 1 0v-4a.5.5 0 0 0-1 0v1.066L7.777 5.084a.5.5 0 0 0-.513-.025Z'></path><path d='M7.5 0a7.5 7.5 0 1 1 0 15 7.5 7.5 0 0 1 0-15ZM14 7.5a6.5 6.5 0 1 0-13 0 6.5 6.5 0 0 0 13 0Z'></path>\",\"<path d='M11.258 9.063A.5.5 0 0 0 11 9.5v1.598L7.765 9.076A.5.5 0 0 0 7 9.5v5a.5.5 0 0 0 .765.424L11 12.902V14.5a.5.5 0 0 0 .765.424L15 12.902V14.5a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.598l-3.235-2.022a.5.5 0 0 0-.507-.013Z'></path><path d='M12 23c6.075 0 11-4.925 11-11S18.075 1 12 1 1 5.925 1 12s4.925 11 11 11Zm9-11a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z'></path>\",\"<path d='M15.248 11.068A.5.5 0 0 0 15 11.5v3.083l-6.255-3.519A.5.5 0 0 0 8 11.5v9a.5.5 0 0 0 .745.436L15 17.417V20.5a.5.5 0 0 0 .745.436L22 17.417V20.5a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v3.083l-6.255-3.519a.5.5 0 0 0-.497.004Z'></path><path d='M16 2c7.732 0 14 6.268 14 14s-6.268 14-14 14S2 23.732 2 16 8.268 2 16 2Zm12 14c0-6.627-5.373-12-12-12S4 9.373 4 16s5.373 12 12 12 12-5.373 12-12Z'></path>\"]];","export default [[\"M0 5.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0ZM4.5 3a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 1 .5-.5Zm2 0a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 1 .5-.5Z\",\"M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0ZM5 5a1 1 0 0 1 2 0v5a1 1 0 1 1-2 0V5Zm3 0a1 1 0 0 1 2 0v5a1 1 0 1 1-2 0V5Z\",\"M1 12c0 6.075 4.925 11 11 11s11-4.925 11-11S18.075 1 12 1 1 5.925 1 12Zm8-3a1 1 0 0 1 2 0v6a1 1 0 1 1-2 0V9Zm4 0a1 1 0 1 1 2 0v6a1 1 0 1 1-2 0V9Z\",\"M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Zm10-4.5a1.5 1.5 0 0 1 3 0v9a1.5 1.5 0 0 1-3 0v-9Zm5 0a1.5 1.5 0 0 1 3 0v9a1.5 1.5 0 0 1-3 0v-9Z\"],[\"<path d='M4.5 3a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 1 .5-.5Zm2 0a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 1 .5-.5Z'></path><path d='M5.5 0a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11ZM1 5.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0Z'></path>\",\"<path d='M5 5a1 1 0 0 1 2 0v5a1 1 0 1 1-2 0V5Zm3 0a1 1 0 0 1 2 0v5a1 1 0 1 1-2 0V5Z'></path><path d='M7.5 0a7.5 7.5 0 1 0 0 15 7.5 7.5 0 0 0 0-15ZM1 7.5a6.5 6.5 0 1 1 13 0 6.5 6.5 0 0 1-13 0Z'></path>\",\"<path d='M9 9a1 1 0 0 1 2 0v6a1 1 0 1 1-2 0V9Zm4 0a1 1 0 1 1 2 0v6a1 1 0 1 1-2 0V9Z'></path><path d='M12 23C5.925 23 1 18.075 1 12S5.925 1 12 1s11 4.925 11 11-4.925 11-11 11ZM3 12a9 9 0 1 0 18 0 9 9 0 0 0-18 0Z'></path>\",\"<path d='M12 11.5a1.5 1.5 0 0 1 3 0v9a1.5 1.5 0 0 1-3 0v-9Zm6.5-1.5a1.5 1.5 0 0 0-1.5 1.5v9a1.5 1.5 0 0 0 3 0v-9a1.5 1.5 0 0 0-1.5-1.5Z'></path><path d='M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16ZM16 4C9.373 4 4 9.373 4 16s5.373 12 12 12 12-5.373 12-12S22.627 4 16 4Z'></path>\"]];","export default [[\"M5.5 11a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11Zm-.258-6.762 1.52 1.52-1.62 1.62a.358.358 0 0 1-.138.085l-1.531.518a.358.358 0 0 1-.454-.454l.518-1.531a.358.358 0 0 1 .086-.139l1.62-1.62Zm.923-.923a1.075 1.075 0 0 1 1.52 1.52l-.216.215-1.52-1.52.216-.215Z\",\"M7.5 15a7.5 7.5 0 1 0 0-15 7.5 7.5 0 0 0 0 15Zm.857-10.479a1.5 1.5 0 0 1 2.121 2.122l-.164.164-2.122-2.121.165-.165Zm-.96.96 2.121 2.122-2.589 2.589a.5.5 0 0 1-.193.12l-2.137.723a.5.5 0 0 1-.634-.634l.723-2.137a.5.5 0 0 1 .12-.194l2.589-2.589Z\",\"M12 23c6.075 0 11-4.925 11-11S18.075 1 12 1 1 5.925 1 12s4.925 11 11 11Zm4.414-15.414a2 2 0 0 1 0 2.828l-.646.647-2.829-2.829.647-.646a2 2 0 0 1 2.828 0Zm-8.328 5.5 4.146-4.147 2.829 2.829-4.147 4.146a.5.5 0 0 1-.207.125l-3.06.939a.5.5 0 0 1-.625-.625l.94-3.06a.5.5 0 0 1 .124-.207Z\",\"M16 30c7.732 0 14-6.268 14-14S23.732 2 16 2 2 8.268 2 16s6.268 14 14 14Zm2.732-20.268a2.5 2.5 0 1 1 3.536 3.536l-.793.793-3.536-3.536.793-.793Zm1.329 5.743-5.793 5.793a.5.5 0 0 1-.185.117L9.67 22.97a.5.5 0 0 1-.64-.64l1.586-4.414a.5.5 0 0 1 .117-.185l5.793-5.793 3.536 3.536Z\"],[\"<path d='m5.242 4.238 1.52 1.52-1.62 1.62a.358.358 0 0 1-.138.085l-1.531.518a.358.358 0 0 1-.454-.454l.518-1.531a.358.358 0 0 1 .086-.139l1.62-1.62Zm.923-.923-.215.216 1.52 1.52.215-.216a1.075 1.075 0 0 0-1.52-1.52Z'></path><path d='M11 5.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-1 0a4.5 4.5 0 1 0-9 0 4.5 4.5 0 0 0 9 0Z'></path>\",\"<path d='M8.357 4.521a1.5 1.5 0 0 1 2.121 2.122l-.164.164-2.122-2.121.165-.165Zm-.96.96 2.121 2.122-2.589 2.589a.5.5 0 0 1-.193.12l-2.137.723a.5.5 0 0 1-.634-.634l.723-2.137a.5.5 0 0 1 .12-.194l2.589-2.589Z'></path><path d='M7.5 0a7.5 7.5 0 1 0 0 15 7.5 7.5 0 0 0 0-15ZM1 7.5a6.5 6.5 0 1 1 13 0 6.5 6.5 0 0 1-13 0Z'></path>\",\"<path d='M16.414 7.586a2 2 0 0 0-2.828 0l-.647.646 2.829 2.829.646-.647a2 2 0 0 0 0-2.828Zm-8.328 5.5 4.146-4.147 2.829 2.829-4.147 4.146a.5.5 0 0 1-.207.125l-3.06.939a.5.5 0 0 1-.625-.625l.94-3.06a.5.5 0 0 1 .124-.207Z'></path><path d='M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1ZM3 12a9 9 0 1 1 18 0 9 9 0 0 1-18 0Z'></path>\",\"<path d='M18.732 9.732a2.5 2.5 0 1 1 3.536 3.536l-.793.793-3.536-3.536.793-.793Zm1.328 5.743-3.535-3.536-5.793 5.793a.5.5 0 0 0-.117.185L9.03 22.33a.5.5 0 0 0 .64.64l4.414-1.586a.5.5 0 0 0 .185-.117l5.793-5.793Z'></path><path d='M16 2C8.268 2 2 8.268 2 16s6.268 14 14 14 14-6.268 14-14S23.732 2 16 2ZM4 16C4 9.373 9.373 4 16 4s12 5.373 12 12-5.373 12-12 12S4 22.627 4 16Z'></path>\"]];","export default [[\"M0 5.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0Zm4.264-2.44A.5.5 0 0 0 4 3.5v4a.5.5 0 0 0 .777.416l3-2a.5.5 0 0 0 0-.832l-3-2a.5.5 0 0 0-.513-.025Z\",\"M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0Zm5.254-3.435A.5.5 0 0 0 5 4.5v6a.5.5 0 0 0 .757.429l5-3a.5.5 0 0 0 0-.858l-5-3a.5.5 0 0 0-.503-.006Z\",\"M23 12c0 6.075-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1s11 4.925 11 11ZM9.502 7.633A1 1 0 0 0 9 8.5v7a1 1 0 0 0 1.504.864l6-3.5a1 1 0 0 0 0-1.728l-6-3.5a1 1 0 0 0-1.002-.003Z\",\"M30 16c0-7.732-6.268-14-14-14S2 8.268 2 16s6.268 14 14 14 14-6.268 14-14Zm-18.509-5.86A1 1 0 0 0 11 11v11a1 1 0 0 0 1.482.876l10-5.5a1 1 0 0 0 0-1.752l-10-5.5a1 1 0 0 0-.991.015Z\"],[\"<path d='M4 3.5a.5.5 0 0 1 .777-.416l3 2a.5.5 0 0 1 0 .832l-3 2A.5.5 0 0 1 4 7.5v-4Z'></path><path d='M0 5.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0ZM5.5 1a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9Z'></path>\",\"<path d='M5 4.5a.5.5 0 0 1 .757-.429l5 3a.5.5 0 0 1 0 .858l-5 3A.5.5 0 0 1 5 10.5v-6Z'></path><path d='M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0ZM7.5 1a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13Z'></path>\",\"<path d='M9 8.5a1 1 0 0 1 1.504-.864l6 3.5a1 1 0 0 1 0 1.728l-6 3.5A1 1 0 0 1 9 15.5v-7Z'></path><path d='M23 12c0 6.075-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1s11 4.925 11 11Zm-11 9a9 9 0 1 0 0-18 9 9 0 0 0 0 18Z'></path>\",\"<path d='M11 11a1 1 0 0 1 1.482-.876l10 5.5a1 1 0 0 1 0 1.752l-10 5.5A1 1 0 0 1 11 22V11Z'></path><path d='M30 16c0-7.732-6.268-14-14-14S2 8.268 2 16s6.268 14 14 14 14-6.268 14-14ZM16 4c6.627 0 12 5.373 12 12s-5.373 12-12 12S4 22.627 4 16 9.373 4 16 4Z'></path>\"]];","export default [[\"M11 5.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0ZM5.5 3a.5.5 0 0 1 .5.5V5h1.5a.5.5 0 0 1 0 1H6v1.5a.5.5 0 0 1-1 0V6H3.5a.5.5 0 0 1 0-1H5V3.5a.5.5 0 0 1 .5-.5Z\",\"M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0ZM7.5 4a.5.5 0 0 1 .5.5V7h2.5a.5.5 0 0 1 0 1H8v2.5a.5.5 0 0 1-1 0V8H4.5a.5.5 0 0 1 0-1H7V4.5a.5.5 0 0 1 .5-.5Z\",\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm11-6a1 1 0 0 1 1 1v4h4a1 1 0 1 1 0 2h-4v4a1 1 0 1 1-2 0v-4H7a1 1 0 1 1 0-2h4V7a1 1 0 0 1 1-1Z\",\"M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Zm14-9a1 1 0 0 1 1 1v7h7a1 1 0 1 1 0 2h-7v7a1 1 0 1 1-2 0v-7H8a1 1 0 1 1 0-2h7V8a1 1 0 0 1 1-1Z\"],[\"<path d='M5.5 3a.5.5 0 0 1 .5.5V5h1.5a.5.5 0 0 1 0 1H6v1.5a.5.5 0 0 1-1 0V6H3.5a.5.5 0 0 1 0-1H5V3.5a.5.5 0 0 1 .5-.5Z'></path><path d='M5.5 11a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11Zm0-1a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Z'></path>\",\"<path d='M7.5 4a.5.5 0 0 1 .5.5V7h2.5a.5.5 0 0 1 0 1H8v2.5a.5.5 0 0 1-1 0V8H4.5a.5.5 0 0 1 0-1H7V4.5a.5.5 0 0 1 .5-.5Z'></path><path d='M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0ZM7.5 1a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13Z'></path>\",\"<path d='M12 6a1 1 0 0 1 1 1v4h4a1 1 0 1 1 0 2h-4v4a1 1 0 1 1-2 0v-4H7a1 1 0 1 1 0-2h4V7a1 1 0 0 1 1-1Z'></path><path d='M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1ZM3 12a9 9 0 1 1 18 0 9 9 0 0 1-18 0Z'></path>\",\"<path d='M16 7a1 1 0 0 1 1 1v7h7a1 1 0 1 1 0 2h-7v7a1 1 0 1 1-2 0v-7H8a1 1 0 1 1 0-2h7V8a1 1 0 0 1 1-1Z'></path><path d='M16 2C8.268 2 2 8.268 2 16s6.268 14 14 14 14-6.268 14-14S23.732 2 16 2ZM4 16C4 9.373 9.373 4 16 4s12 5.373 12 12-5.373 12-12 12S4 22.627 4 16Z'></path>\"]];","export default [[\"M0 5.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0ZM2.5 4a.5.5 0 0 1 1 0v.875L5.2 3.6A.5.5 0 0 1 6 4v.875L7.7 3.6a.5.5 0 0 1 .8.4v3a.5.5 0 0 1-.8.4L6 6.125V7a.5.5 0 0 1-.8.4L3.5 6.125V7a.5.5 0 0 1-1 0V4Z\",\"M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0Zm7.736-2.44A.5.5 0 0 1 8 5.5v1.066l2.223-1.482A.5.5 0 0 1 11 5.5v4a.5.5 0 0 1-.777.416L8 8.434V9.5a.5.5 0 0 1-.777.416L5 8.434V9.5a.5.5 0 0 1-1 0v-4a.5.5 0 0 1 1 0v1.066l2.223-1.482a.5.5 0 0 1 .513-.025Z\",\"M1 12c0 6.075 4.925 11 11 11s11-4.925 11-11S18.075 1 12 1 1 5.925 1 12Zm6-2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1.598l3.235-2.022A.5.5 0 0 1 13 9.5v1.598l3.235-2.022A.5.5 0 0 1 17 9.5v5a.5.5 0 0 1-.765.424L13 12.902V14.5a.5.5 0 0 1-.765.424L9 12.902V14.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-5Z\",\"M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Zm15-4.5a.5.5 0 0 0-.745-.436L10 14.583V11.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-3.083l6.255 3.519A.5.5 0 0 0 17 20.5v-3.083l6.255 3.519A.5.5 0 0 0 24 20.5v-9a.5.5 0 0 0-.745-.436L17 14.583V11.5Z\"],[\"<path d='M5.724 3.553A.5.5 0 0 1 6 4v.875L7.7 3.6a.5.5 0 0 1 .8.4v3a.5.5 0 0 1-.8.4L6 6.125V7a.5.5 0 0 1-.8.4L3.5 6.125V7a.5.5 0 0 1-1 0V4a.5.5 0 0 1 1 0v.875L5.2 3.6a.5.5 0 0 1 .524-.047Z'></path><path d='M5.5 0a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11ZM1 5.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0Z'></path>\",\"<path d='M7.736 5.06A.5.5 0 0 1 8 5.5v1.066l2.223-1.482A.5.5 0 0 1 11 5.5v4a.5.5 0 0 1-.777.416L8 8.434V9.5a.5.5 0 0 1-.777.416L5 8.434V9.5a.5.5 0 0 1-1 0v-4a.5.5 0 0 1 1 0v1.066l2.223-1.482a.5.5 0 0 1 .513-.025Z'></path><path d='M7.5 0a7.5 7.5 0 1 0 0 15 7.5 7.5 0 0 0 0-15ZM1 7.5a6.5 6.5 0 1 1 13 0 6.5 6.5 0 0 1-13 0Z'></path>\",\"<path d='M12.742 9.063A.5.5 0 0 1 13 9.5v1.598l3.235-2.022A.5.5 0 0 1 17 9.5v5a.5.5 0 0 1-.765.424L13 12.902V14.5a.5.5 0 0 1-.765.424L9 12.902V14.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1.598l3.235-2.022a.5.5 0 0 1 .507-.013Z'></path><path d='M12 23C5.925 23 1 18.075 1 12S5.925 1 12 1s11 4.925 11 11-4.925 11-11 11ZM3 12a9 9 0 1 0 18 0 9 9 0 0 0-18 0Z'></path>\",\"<path d='M16.752 11.068A.5.5 0 0 1 17 11.5v3.083l6.255-3.519A.5.5 0 0 1 24 11.5v9a.5.5 0 0 1-.745.436L17 17.417V20.5a.5.5 0 0 1-.745.436L10 17.417V20.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v3.083l6.255-3.519a.5.5 0 0 1 .497.004Z'></path><path d='M16 2C8.268 2 2 8.268 2 16s6.268 14 14 14 14-6.268 14-14S23.732 2 16 2ZM4 16C4 9.373 9.373 4 16 4s12 5.373 12 12-5.373 12-12 12S4 22.627 4 16Z'></path>\"]];","export default [[\"M5.5 0a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11ZM1 5.5a4.5 4.5 0 0 1 4-4.473V5.5a.5.5 0 0 0 .5.5h4.473A4.5 4.5 0 0 1 1 5.5Z\",\"M7.5 0a7.5 7.5 0 1 0 0 15 7.5 7.5 0 0 0 0-15ZM1 7.5a6.5 6.5 0 0 1 6-6.481V7.5a.5.5 0 0 0 .5.5h6.481A6.5 6.5 0 0 1 1 7.5Z\",\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1ZM3 12a9 9 0 0 1 8-8.945V12a1 1 0 0 0 1 1h8.945A9.001 9.001 0 0 1 3 12Z\",\"M16 2C8.268 2 2 8.268 2 16s6.268 14 14 14 14-6.268 14-14S23.732 2 16 2ZM4 16C4 9.71 8.84 4.55 15 4.041V16a1 1 0 0 0 1 1h11.959C27.45 23.16 22.29 28 16 28 9.373 28 4 22.627 4 16Z\"],[\"M5 1.027A4.5 4.5 0 1 0 9.973 6H5.5a.5.5 0 0 1-.5-.5V1.027Zm1 0V5h3.973A4.502 4.502 0 0 0 6 1.027ZM0 5.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0Z\",\"M7 1.019A6.5 6.5 0 1 0 13.981 8H7.5a.5.5 0 0 1-.5-.5V1.019Zm1 0V7h5.981A6.501 6.501 0 0 0 8 1.019ZM0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0Z\",\"M11 3.055A9.001 9.001 0 1 0 20.945 13H12a1 1 0 0 1-1-1V3.055Zm2 0V11h7.945A9.004 9.004 0 0 0 13 3.055ZM1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Z\",\"M15 4.041C8.84 4.55 4 9.71 4 16c0 6.627 5.373 12 12 12 6.29 0 11.45-4.84 11.959-11H16a1 1 0 0 1-1-1V4.041Zm2 0V15h10.959C27.478 9.17 22.829 4.522 17 4.041ZM2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Z\"]];","export default [[\"M11 5.5a5.5 5.5 0 1 0-11 0 5.5 5.5 0 0 0 11 0ZM5.5 3C4.688 3 4 3.76 4 4.5a.5.5 0 0 1-1 0C3 3.24 4.103 2 5.5 2 6.826 2 8 2.972 8 4.286c0 1.146-.893 2.031-2 2.239A.5.5 0 0 1 5 6.5v-.429a.5.5 0 0 1 .5-.5c.883 0 1.5-.627 1.5-1.285C7 3.627 6.383 3 5.5 3ZM6 8.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\",\"M0 7.5a7.5 7.5 0 1 0 15 0 7.5 7.5 0 0 0-15 0ZM7.5 4C6.658 4 6 4.606 6 5.5a.5.5 0 0 1-1 0C5 4.027 6.132 3 7.5 3 8.913 3 10 4.216 10 5.643c0 .489-.126.913-.377 1.257a2.028 2.028 0 0 1-.97.703C8.22 7.76 8 8.043 8 8.286V8.5a.5.5 0 0 1-1 0v-.214c0-.862.708-1.405 1.313-1.624.23-.083.394-.203.502-.35.107-.147.185-.357.185-.67C9 4.703 8.296 4 7.5 4Zm.5 6.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\",\"M1 12c0 6.075 4.925 11 11 11s11-4.925 11-11S18.075 1 12 1 1 5.925 1 12Zm8.791-4.269c-.556.44-.791.943-.791 1.34a1 1 0 0 1-2 0c0-1.173.66-2.206 1.552-2.91C9.454 5.45 10.673 5 12 5c2.652 0 5 1.943 5 4.571 0 1.847-1.182 3.377-2.785 4.1C13.4 14.041 13 14.576 13 15a1 1 0 1 1-2 0c0-1.627 1.339-2.675 2.392-3.151C14.396 11.395 15 10.51 15 9.57 15 8.255 13.766 7 12 7c-.882 0-1.663.3-2.209.731ZM13 18a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\",\"M2 16c0 7.732 6.268 14 14 14s14-6.268 14-14S23.732 2 16 2 2 8.268 2 16Zm14-7a4 4 0 0 0-4 4 1 1 0 1 1-2 0 6 6 0 1 1 8.337 5.527C17.464 18.897 17 19.496 17 20a1 1 0 1 1-2 0c0-1.705 1.397-2.823 2.558-3.314A4.001 4.001 0 0 0 16 9Zm1 15a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"],[\"<path d='M5.5 3C4.688 3 4 3.76 4 4.5a.5.5 0 0 1-1 0C3 3.24 4.103 2 5.5 2 6.826 2 8 2.972 8 4.286c0 1.146-.893 2.031-2 2.239A.5.5 0 0 1 5 6.5v-.429a.5.5 0 0 1 .5-.5c.883 0 1.5-.627 1.5-1.285C7 3.627 6.383 3 5.5 3Zm0 6a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M5.5 0a5.5 5.5 0 1 1 0 11 5.5 5.5 0 0 1 0-11Zm0 1a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9Z'></path>\",\"<path d='M7.5 4C6.658 4 6 4.606 6 5.5a.5.5 0 0 1-1 0C5 4.027 6.132 3 7.5 3 8.913 3 10 4.216 10 5.643c0 .489-.126.913-.377 1.257a2.028 2.028 0 0 1-.97.703C8.22 7.76 8 8.043 8 8.286V8.5a.5.5 0 0 1-1 0v-.214c0-.862.708-1.405 1.313-1.624.23-.083.394-.203.502-.35.107-.147.185-.357.185-.67C9 4.703 8.296 4 7.5 4Zm0 7a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M0 7.5a7.5 7.5 0 1 0 15 0 7.5 7.5 0 0 0-15 0ZM7.5 14a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13Z'></path>\",\"<path d='M9.791 7.731c-.556.44-.791.943-.791 1.34a1 1 0 0 1-2 0c0-1.173.66-2.206 1.552-2.91C9.454 5.45 10.673 5 12 5c2.652 0 5 1.943 5 4.571 0 1.847-1.182 3.377-2.785 4.1C13.4 14.041 13 14.576 13 15a1 1 0 1 1-2 0c0-1.627 1.339-2.675 2.392-3.151C14.396 11.395 15 10.51 15 9.57 15 8.255 13.766 7 12 7c-.882 0-1.663.3-2.209.731ZM12 19a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M1 12c0 6.075 4.925 11 11 11s11-4.925 11-11S18.075 1 12 1 1 5.925 1 12Zm11 9a9 9 0 1 1 0-18 9 9 0 0 1 0 18Z'></path>\",\"<path d='M17 24a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-5-11a4 4 0 1 1 5.558 3.686C16.397 17.177 15 18.296 15 20a1 1 0 1 0 2 0c0-.504.464-1.103 1.337-1.473A6.001 6.001 0 1 0 10 13a1 1 0 1 0 2 0Z'></path><path d='M2 16c0 7.732 6.268 14 14 14s14-6.268 14-14S23.732 2 16 2 2 8.268 2 16Zm14 12C9.373 28 4 22.627 4 16S9.373 4 16 4s12 5.373 12 12-5.373 12-12 12Z'></path>\"]];","export default [[\"M0 5.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0Zm3 0a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z\",\"M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0Zm4 0a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z\",\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm7 0a4 4 0 1 1 8 0 4 4 0 0 1-8 0Z\",\"M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Zm8 0a6 6 0 1 1 12 0 6 6 0 0 1-12 0Z\"],[\"<path d='M5.5 3a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path><path d='M0 5.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0ZM5.5 1a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9Z'></path>\",\"<path d='M7.5 4a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path><path d='M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0ZM7.5 1a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13Z'></path>\",\"<path d='M12 8a4 4 0 1 0 0 8 4 4 0 0 0 0-8Z'></path><path d='M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm11-9a9 9 0 1 0 0 18 9 9 0 0 0 0-18Z'></path>\",\"<path d='M16 10a6 6 0 1 0 0 12 6 6 0 0 0 0-12Z'></path><path d='M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16ZM16 4C9.373 4 4 9.373 4 16s5.373 12 12 12 12-5.373 12-12S22.627 4 16 4Z'></path>\"]];","export default [[\"<path d='M4.961.026a5.5 5.5 0 1 1 0 10.948.5.5 0 1 1 .097-.995 4.5 4.5 0 1 0 0-8.957.5.5 0 1 1-.097-.996ZM2.714 1.317a.5.5 0 0 1-.069.704 4.53 4.53 0 0 0-.624.624.5.5 0 0 1-.773-.634 5.53 5.53 0 0 1 .763-.763.5.5 0 0 1 .703.07ZM.572 4.512a.5.5 0 0 1 .45.546 4.562 4.562 0 0 0 0 .884.5.5 0 1 1-.996.097 5.56 5.56 0 0 1 0-1.078.5.5 0 0 1 .546-.449Zm.745 3.774a.5.5 0 0 1 .704.069 4.6 4.6 0 0 0 .624.624.5.5 0 0 1-.634.773 5.53 5.53 0 0 1-.763-.763.5.5 0 0 1 .07-.703Z'></path><path d='M7.854 3.854a.5.5 0 1 0-.708-.708L4.5 5.793l-.646-.647a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0l3-3Z'></path>\",\"<path d='M7.01.016a7.5 7.5 0 1 1 0 14.968.5.5 0 1 1 .064-.998 6.5 6.5 0 1 0 0-12.973.5.5 0 0 1-.064-.997ZM4.852.999a.5.5 0 0 1-.227.67 6.399 6.399 0 0 0-.736.426.5.5 0 0 1-.556-.831c.27-.182.554-.346.849-.492a.5.5 0 0 1 .67.227ZM1.957 3.195a.5.5 0 0 1 .138.694c-.158.235-.3.48-.426.736a.5.5 0 1 1-.897-.443c.146-.295.31-.578.492-.85a.5.5 0 0 1 .693-.137ZM.547 6.543a.5.5 0 0 1 .467.531 6.603 6.603 0 0 0 0 .852.5.5 0 0 1-.998.064 7.605 7.605 0 0 1 0-.98.5.5 0 0 1 .531-.467Zm.452 3.605a.5.5 0 0 1 .67.227c.126.255.268.501.426.736a.5.5 0 0 1-.831.556 7.495 7.495 0 0 1-.492-.849.5.5 0 0 1 .227-.67Zm2.196 2.895a.5.5 0 0 1 .694-.137c.235.157.48.3.736.425a.5.5 0 0 1-.443.897 7.496 7.496 0 0 1-.85-.492.5.5 0 0 1-.137-.693Z'></path><path d='M10.854 5.854a.5.5 0 0 0-.707-.708L6.5 8.793 4.854 7.146a.5.5 0 1 0-.708.708l2 2a.5.5 0 0 0 .708 0l4-4Z'></path>\",\"<path d='M12 1c-.193 0-.384.005-.575.015a1 1 0 0 0 .103 1.997 9 9 0 1 1 0 17.976 1 1 0 1 0-.103 1.997c.19.01.382.015.575.015 6.075 0 11-4.925 11-11S18.075 1 12 1ZM7.914 3.979a1 1 0 0 0-.91-1.782 10.99 10.99 0 0 0-.996.577 1 1 0 1 0 1.09 1.676 8.99 8.99 0 0 1 .816-.471ZM4.158 5.715a1 1 0 0 1 .292 1.383c-.17.263-.328.535-.471.816a1 1 0 1 1-1.782-.91c.176-.343.368-.675.577-.996a1 1 0 0 1 1.384-.293Zm-1.146 5.813a1 1 0 0 0-1.997-.103 11.168 11.168 0 0 0 0 1.15 1 1 0 0 0 1.997-.103 9.16 9.16 0 0 1 0-.944Zm-.379 4.122a1 1 0 0 1 1.346.436c.143.28.3.553.471.816a1 1 0 0 1-1.676 1.09 10.996 10.996 0 0 1-.577-.996 1 1 0 0 1 .436-1.346Zm4.465 3.9a1 1 0 1 0-1.09 1.676c.32.209.653.401.996.577a1 1 0 0 0 .91-1.782c-.28-.143-.553-.3-.816-.471Z'></path><path d='M16.707 10.707a1 1 0 0 0-1.414-1.414L10 14.586l-2.293-2.293a1 1 0 0 0-1.414 1.414l3 3a1 1 0 0 0 1.414 0l6-6Z'></path>\",\"<path d='M16 2c-.41 0-.818.018-1.22.052a1 1 0 1 0 .172 1.993C15.297 4.015 15.647 4 16 4c6.627 0 12 5.373 12 12s-5.373 12-12 12c-.353 0-.703-.015-1.048-.045a1 1 0 0 0-.172 1.993c.402.034.81.052 1.22.052 7.732 0 14-6.268 14-14S23.732 2 16 2Zm-5.072 3.121a1 1 0 1 0-.847-1.812c-.742.347-1.448.757-2.112 1.222A1 1 0 0 0 9.117 6.17c.57-.4 1.175-.75 1.81-1.048ZM5.924 7.724a1 1 0 0 1 .245 1.393c-.4.57-.75 1.175-1.048 1.81a1 1 0 1 1-1.812-.846c.347-.742.757-1.448 1.222-2.112a1 1 0 0 1 1.393-.245Zm-1.879 7.228a1 1 0 1 0-1.993-.172 14.17 14.17 0 0 0 0 2.44 1 1 0 1 0 1.993-.172 12.166 12.166 0 0 1 0-2.096Zm-.253 5.638a1 1 0 0 1 1.33.482c.296.636.647 1.241 1.047 1.81a1 1 0 0 1-1.638 1.15 13.982 13.982 0 0 1-1.222-2.113 1 1 0 0 1 .483-1.33Zm5.325 5.241A1 1 0 1 0 7.97 27.47c.664.465 1.37.875 2.112 1.222a1 1 0 1 0 .847-1.812 12 12 0 0 1-1.81-1.048Z'></path><path d='M22.707 12.707a1 1 0 0 0-1.414-1.414L13 19.586l-3.293-3.293a1 1 0 0 0-1.414 1.414l4 4a1 1 0 0 0 1.414 0l9-9Z'></path>\"]];","export default [[\"M4.961.026a5.5 5.5 0 1 1 0 10.948.5.5 0 1 1 .097-.995 4.5 4.5 0 1 0 0-8.957.5.5 0 1 1-.097-.996ZM2.714 1.317a.5.5 0 0 1-.069.704 4.53 4.53 0 0 0-.624.624.5.5 0 0 1-.773-.634 5.53 5.53 0 0 1 .763-.763.5.5 0 0 1 .703.07ZM.572 4.512a.5.5 0 0 1 .45.546 4.562 4.562 0 0 0 0 .884.5.5 0 1 1-.996.097 5.56 5.56 0 0 1 0-1.078.5.5 0 0 1 .546-.449Zm.745 3.774a.5.5 0 0 1 .704.069 4.6 4.6 0 0 0 .624.624.5.5 0 0 1-.634.773 5.53 5.53 0 0 1-.763-.763.5.5 0 0 1 .07-.703ZM3 4.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0ZM3.5 3a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm4 3a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1ZM6 6.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm1.429-3.243a.5.5 0 0 0-.858-.514l-3 5a.5.5 0 0 0 .858.514l3-5Z\",\"M7.01.016a7.5 7.5 0 1 1 0 14.968.5.5 0 1 1 .064-.998 6.5 6.5 0 1 0 0-12.973.5.5 0 0 1-.064-.997ZM4.851.999a.5.5 0 0 1-.227.67 6.399 6.399 0 0 0-.736.426.5.5 0 0 1-.556-.831c.27-.182.554-.346.849-.492a.5.5 0 0 1 .67.227ZM1.957 3.195a.5.5 0 0 1 .138.694c-.158.235-.3.48-.426.736a.5.5 0 1 1-.897-.443c.146-.295.31-.578.492-.85a.5.5 0 0 1 .693-.137ZM.547 6.543a.5.5 0 0 1 .467.531 6.603 6.603 0 0 0 0 .852.5.5 0 0 1-.998.064 7.605 7.605 0 0 1 0-.98.5.5 0 0 1 .531-.467Zm.452 3.605a.5.5 0 0 1 .67.227c.126.255.268.501.426.736a.5.5 0 0 1-.831.556 7.495 7.495 0 0 1-.492-.849.5.5 0 0 1 .227-.67Zm2.196 2.895a.5.5 0 0 1 .694-.137c.235.157.48.3.736.425a.5.5 0 0 1-.443.897 7.496 7.496 0 0 1-.85-.492.5.5 0 0 1-.137-.693ZM4 5.5c0-.455.139-.847.34-1.114C4.54 4.119 4.777 4 5 4c.222 0 .46.119.66.386.201.267.34.66.34 1.114 0 .455-.139.847-.34 1.114C5.46 6.881 5.223 7 5 7c-.222 0-.46-.119-.66-.386C4.138 6.347 4 5.954 4 5.5ZM5 3c-.607 0-1.118.33-1.46.786C3.196 4.242 3 4.85 3 5.5c0 .65.197 1.258.54 1.714C3.881 7.671 4.392 8 5 8s1.118-.33 1.46-.786C6.804 6.758 7 6.15 7 5.5c0-.65-.197-1.258-.54-1.714C6.119 3.329 5.608 3 5 3Zm4.34 5.386C9.138 8.653 9 9.046 9 9.5c0 .455.139.847.34 1.114.2.267.438.386.66.386.222 0 .46-.119.66-.386.201-.267.34-.66.34-1.114 0-.455-.139-.847-.34-1.114C10.46 8.119 10.223 8 10 8c-.222 0-.46.119-.66.386Zm-.8-.6C8.881 7.329 9.392 7 10 7s1.118.33 1.46.786c.343.456.54 1.064.54 1.714 0 .65-.197 1.258-.54 1.714-.342.457-.853.786-1.46.786s-1.118-.33-1.46-.786C8.196 10.758 8 10.15 8 9.5c0-.65.197-1.258.54-1.714ZM10.9 3.8a.5.5 0 0 0-.8-.6l-6 8a.5.5 0 0 0 .8.6l6-8Z\",\"M11.425 1.015c.19-.01.382-.015.575-.015 6.075 0 11 4.925 11 11s-4.925 11-11 11c-.193 0-.384-.005-.575-.015a1 1 0 0 1 .103-1.997 9 9 0 1 0 0-17.976 1 1 0 0 1-.103-1.997ZM8.35 2.633a1 1 0 0 1-.436 1.346c-.28.143-.553.3-.816.471a1 1 0 1 1-1.09-1.676c.32-.209.653-.401.996-.577a1 1 0 0 1 1.346.436ZM4.158 5.715a1 1 0 0 1 .292 1.383c-.17.263-.328.535-.471.816a1 1 0 1 1-1.782-.91c.176-.343.368-.675.577-.996a1 1 0 0 1 1.384-.293Zm-2.093 4.763a1 1 0 0 1 .947 1.05 9.16 9.16 0 0 0 0 .944 1 1 0 0 1-1.997.103 11.168 11.168 0 0 1 0-1.15 1 1 0 0 1 1.05-.947Zm.568 5.172a1 1 0 0 1 1.346.436c.143.28.3.553.471.816a1 1 0 0 1-1.676 1.09 10.996 10.996 0 0 1-.577-.996 1 1 0 0 1 .436-1.346Zm3.082 4.192a1 1 0 0 1 1.383-.292c.263.17.535.328.816.471a1 1 0 0 1-.91 1.782 10.99 10.99 0 0 1-.996-.577 1 1 0 0 1-.293-1.384ZM15.858 7.514a1 1 0 0 0-1.716-1.029l-6 10a1 1 0 1 0 1.715 1.03l6-10ZM9 9.5c0 .508-.177.916-.397 1.173-.217.253-.436.327-.603.327-.167 0-.386-.074-.603-.327C7.177 10.416 7 10.008 7 9.5s.177-.916.397-1.173C7.614 8.074 7.833 8 8 8c.167 0 .386.074.603.327.22.257.397.665.397 1.173Zm2 0c0 1.933-1.343 3.5-3 3.5s-3-1.567-3-3.5S6.343 6 8 6s3 1.567 3 3.5Zm5.603 6.173c.22-.257.397-.665.397-1.173s-.177-.916-.397-1.173C16.386 13.074 16.167 13 16 13c-.167 0-.386.074-.603.327-.22.257-.397.665-.397 1.173s.177.916.397 1.173c.217.253.436.327.603.327.167 0 .386-.074.603-.327ZM16 18c1.657 0 3-1.567 3-3.5S17.657 11 16 11s-3 1.567-3 3.5 1.343 3.5 3 3.5Z\",\"M14.78 2.052C15.182 2.018 15.59 2 16 2c7.732 0 14 6.268 14 14s-6.268 14-14 14c-.41 0-.818-.018-1.22-.052a1 1 0 1 1 .172-1.993c.345.03.695.045 1.048.045 6.627 0 12-5.373 12-12S22.627 4 16 4c-.353 0-.703.015-1.048.045a1 1 0 1 1-.172-1.993Zm-3.37 1.74a1 1 0 0 1-.482 1.33c-.636.296-1.241.647-1.81 1.047a1 1 0 1 1-1.15-1.638 14.142 14.142 0 0 1 2.113-1.222 1 1 0 0 1 1.33.483ZM5.925 7.724a1 1 0 0 1 .245 1.393c-.4.57-.75 1.175-1.048 1.81a1 1 0 1 1-1.812-.846c.347-.742.757-1.448 1.222-2.112a1 1 0 0 1 1.393-.245Zm-2.79 6.146a1 1 0 0 1 .911 1.082 12.166 12.166 0 0 0 0 2.096 1 1 0 1 1-1.993.172 14.17 14.17 0 0 1 0-2.44 1 1 0 0 1 1.083-.91Zm.658 6.72a1 1 0 0 1 1.33.482c.296.636.647 1.241 1.047 1.81a1 1 0 0 1-1.638 1.15 13.982 13.982 0 0 1-1.222-2.113 1 1 0 0 1 .483-1.33Zm3.932 5.486a1 1 0 0 1 1.393-.245 12 12 0 0 0 1.81 1.048 1 1 0 1 1-.846 1.812 13.982 13.982 0 0 1-2.112-1.222 1 1 0 0 1-.245-1.393ZM13 11.5c0 1.609-1.11 2.5-2 2.5-.89 0-2-.891-2-2.5S10.11 9 11 9c.89 0 2 .891 2 2.5Zm2 0c0 2.485-1.79 4.5-4 4.5s-4-2.015-4-4.5S8.79 7 11 7s4 2.015 4 4.5Zm6.814-1.919a1 1 0 1 0-1.628-1.162l-10 14a1 1 0 1 0 1.628 1.162l10-14ZM21 23c.89 0 2-.891 2-2.5S21.89 18 21 18c-.89 0-2 .891-2 2.5s1.11 2.5 2 2.5Zm0 2c2.21 0 4-2.015 4-4.5S23.21 16 21 16s-4 2.015-4 4.5 1.79 4.5 4 4.5Z\"]];","export default [[\"M9.146 2.146a.5.5 0 0 1 .708 0l1 1a.5.5 0 0 1 0 .708l-1 1a.5.5 0 1 1-.708-.708L9.293 4h-.37a3.5 3.5 0 0 0-2.734 1.314L5.64 6l.55.686A3.5 3.5 0 0 0 8.921 8h.37l-.146-.146a.5.5 0 1 1 .708-.708l1 1a.5.5 0 0 1 0 .708l-1 1a.5.5 0 0 1-.708-.708L9.293 9h-.37a4.5 4.5 0 0 1-3.514-1.689L5 6.801l-.673.84A3.621 3.621 0 0 1 1.5 9a.5.5 0 0 1 0-1 2.62 2.62 0 0 0 2.047-.984L4.36 6l-.813-1.016A2.62 2.62 0 0 0 1.5 4a.5.5 0 0 1 0-1c1.1 0 2.14.5 2.827 1.359l.673.84.409-.51A4.5 4.5 0 0 1 8.922 3h.37l-.146-.146a.5.5 0 0 1 0-.708Z\",\"M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0Zm10.854-3.354a.5.5 0 0 0-.708.708l.16.16a4.5 4.5 0 0 0-2.831 1.304L7 6.793l-.586-.586A4.121 4.121 0 0 0 3.5 5a.5.5 0 0 0 0 1c.828 0 1.622.329 2.207.914l.586.586-.586.586A3.121 3.121 0 0 1 3.5 9a.5.5 0 0 0 0 1h.003a4.121 4.121 0 0 0 2.911-1.207L7 8.207l.475.475a4.5 4.5 0 0 0 2.832 1.304l-.16.16a.5.5 0 0 0 .707.708l1-1a.5.5 0 0 0 0-.708l-1-1a.5.5 0 0 0-.708.708l.126.125a3.5 3.5 0 0 1-2.09-1.004L7.707 7.5l.475-.475a3.5 3.5 0 0 1 2.09-1.004l-.126.125a.5.5 0 0 0 .708.708l1-1a.5.5 0 0 0 0-.708l-1-1Z\",\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm14.707-6.707a1 1 0 1 0-1.414 1.414l.313.313a5 5 0 0 0-3.616 2.074l-.49.686-1.105-1.547A2.943 2.943 0 0 0 7 7a1 1 0 0 0 0 2c.305 0 .59.147.768.395L9.27 11.5l-1.503 2.105A.943.943 0 0 1 7 14a1 1 0 1 0 0 2c.95 0 1.843-.459 2.395-1.232L10.5 13.22l.49.686a5 5 0 0 0 3.616 2.073l-.313.314a1 1 0 0 0 1.414 1.414l2-2a1 1 0 0 0 0-1.414l-2-2a1 1 0 0 0-1.414 1.414l.248.248a3 3 0 0 1-1.924-1.211L11.73 11.5l.888-1.244a3 3 0 0 1 1.924-1.211l-.248.248a1 1 0 0 0 1.414 1.414l2-2a1 1 0 0 0 0-1.414l-2-2Z\",\"M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Zm20.707-6.707a1 1 0 1 0-1.414 1.414l.293.293h-2.762a5 5 0 0 0-3.775 1.722l-1.522 1.753-1.522-1.753A5 5 0 0 0 8.23 11H8a1 1 0 1 0 0 2h.23a3 3 0 0 1 2.265 1.033L12.203 16l-1.708 1.967A3 3 0 0 1 8.23 19H8a1 1 0 1 0 0 2h.23a5 5 0 0 0 3.775-1.722l1.522-1.753 1.522 1.753A5 5 0 0 0 18.824 21h2.762l-.293.293a1 1 0 0 0 1.414 1.414l2-2a1 1 0 0 0 0-1.414l-2-2a1 1 0 0 0-1.414 1.414l.293.293h-2.762a3 3 0 0 1-2.265-1.033L14.851 16l1.708-1.967A3 3 0 0 1 18.824 13h2.762l-.293.293a1 1 0 0 0 1.414 1.414l2-2a1 1 0 0 0 0-1.414l-2-2Z\"],[\"M9.146 2.146a.5.5 0 0 1 .708 0l1 1a.5.5 0 0 1 0 .708l-1 1a.5.5 0 1 1-.708-.708L9.293 4h-.37a3.5 3.5 0 0 0-2.734 1.314L5.64 6l.55.686A3.5 3.5 0 0 0 8.921 8h.37l-.146-.146a.5.5 0 1 1 .708-.708l1 1a.5.5 0 0 1 0 .708l-1 1a.5.5 0 0 1-.708-.708L9.293 9h-.37a4.5 4.5 0 0 1-3.514-1.689L5 6.801l-.673.84A3.621 3.621 0 0 1 1.5 9a.5.5 0 0 1 0-1 2.62 2.62 0 0 0 2.047-.984L4.36 6l-.813-1.016A2.62 2.62 0 0 0 1.5 4a.5.5 0 0 1 0-1c1.1 0 2.14.5 2.827 1.359l.673.84.409-.51A4.5 4.5 0 0 1 8.922 3h.37l-.146-.146a.5.5 0 0 1 0-.708Z\",\"<path d='M10.854 4.146a.5.5 0 0 0-.708.708l.16.16a4.5 4.5 0 0 0-2.831 1.304L7 6.793l-.586-.586A4.121 4.121 0 0 0 3.5 5a.5.5 0 0 0 0 1c.828 0 1.622.329 2.207.914l.586.586-.586.586A3.121 3.121 0 0 1 3.5 9a.5.5 0 0 0 0 1h.003a4.121 4.121 0 0 0 2.911-1.207L7 8.207l.475.475a4.5 4.5 0 0 0 2.832 1.304l-.16.16a.5.5 0 0 0 .707.708l1-1a.5.5 0 0 0 0-.708l-1-1a.5.5 0 0 0-.708.708l.126.125a3.5 3.5 0 0 1-2.09-1.004L7.707 7.5l.475-.475a3.5 3.5 0 0 1 2.09-1.004l-.126.125a.5.5 0 0 0 .708.708l1-1a.5.5 0 0 0 0-.708l-1-1Z'></path><path d='M7.5 0a7.5 7.5 0 1 0 0 15 7.5 7.5 0 0 0 0-15ZM1 7.5a6.5 6.5 0 1 1 13 0 6.5 6.5 0 0 1-13 0Z'></path>\",\"<path d='m14.54 13.955-.247-.248a1 1 0 0 1 1.414-1.414l2 2a1 1 0 0 1 0 1.414l-2 2a1 1 0 0 1-1.414-1.414l.313-.313a5 5 0 0 1-3.616-2.074l-.49-.686-1.105 1.547A2.943 2.943 0 0 1 7 16a1 1 0 1 1 0-2c.305 0 .59-.147.768-.395L9.27 11.5 7.768 9.395A.943.943 0 0 0 7 9a1 1 0 1 1 0-2c.95 0 1.843.459 2.395 1.232L10.5 9.78l.49-.686a5 5 0 0 1 3.616-2.074l-.313-.313a1 1 0 0 1 1.414-1.414l2 2a1 1 0 0 1 0 1.414l-2 2a1 1 0 0 1-1.414-1.414l.248-.248a3 3 0 0 0-1.924 1.211L11.73 11.5l.888 1.244a3 3 0 0 0 1.924 1.211Z'></path><path d='M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm11-9a9 9 0 1 0 0 18 9 9 0 0 0 0-18Z'></path>\",\"<path d='M15.049 12.722A5 5 0 0 1 18.824 11h2.762l-.293-.293a1 1 0 0 1 1.414-1.414l2 2a1 1 0 0 1 0 1.414l-2 2a1 1 0 0 1-1.414-1.414l.293-.293h-2.762a3 3 0 0 0-2.265 1.033L14.851 16l1.708 1.967A3 3 0 0 0 18.824 19h2.762l-.293-.293a1 1 0 0 1 1.414-1.414l2 2a1 1 0 0 1 0 1.414l-2 2a1 1 0 0 1-1.414-1.414l.293-.293h-2.762a5 5 0 0 1-3.775-1.722l-1.522-1.753-1.522 1.753A5 5 0 0 1 8.23 21H8a1 1 0 1 1 0-2h.23a3 3 0 0 0 2.265-1.033L12.203 16l-1.708-1.967A3 3 0 0 0 8.23 13H8a1 1 0 1 1 0-2h.23a5 5 0 0 1 3.775 1.722l1.522 1.753 1.522-1.753Z'></path><path d='M16 2C8.268 2 2 8.268 2 16s6.268 14 14 14 14-6.268 14-14S23.732 2 16 2ZM4 16C4 9.373 9.373 4 16 4s12 5.373 12 12-5.373 12-12 12S4 22.627 4 16Z'></path>\"]];","export default [[\"<path opacity='.9' d='M0 5.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0ZM3 4a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4Z'></path>\",\"M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0ZM4 5a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V5Z\",\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm7-2.5A1.5 1.5 0 0 1 9.5 8h5A1.5 1.5 0 0 1 16 9.5v5a1.5 1.5 0 0 1-1.5 1.5h-5A1.5 1.5 0 0 1 8 14.5v-5Z\",\"M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Zm8-4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-8a2 2 0 0 1-2-2v-8Z\"],[\"<path d='M4 3a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H4Z'></path><path d='M0 5.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0ZM5.5 1a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9Z'></path>\",\"<path d='M5 4a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H5Z'></path><path d='M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0ZM7.5 1a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13Z'></path>\",\"<path d='M9.5 8A1.5 1.5 0 0 0 8 9.5v5A1.5 1.5 0 0 0 9.5 16h5a1.5 1.5 0 0 0 1.5-1.5v-5A1.5 1.5 0 0 0 14.5 8h-5Z'></path><path d='M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm11-9a9 9 0 1 0 0 18 9 9 0 0 0 0-18Z'></path>\",\"<path d='M12 10a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2h-8Z'></path><path d='M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16ZM16 4C9.373 4 4 9.373 4 16s5.373 12 12 12 12-5.373 12-12S22.627 4 16 4Z'></path>\"]];","export default [[\"M5.5 2a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM0 5.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0Z\",\"M7.5 2a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11ZM0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0Z\",\"M12 5a7 7 0 1 0 0 14 7 7 0 0 0 0-14ZM1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Z\",\"M16 6C10.477 6 6 10.477 6 16s4.477 10 10 10 10-4.477 10-10S21.523 6 16 6ZM2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Z\"]];","export default [[\"M5.5 0a5.5 5.5 0 1 1 0 11 5.5 5.5 0 0 1 0-11ZM5 5V1.027A4.502 4.502 0 0 0 1.027 5H5Z\",\"M7.5 0a7.5 7.5 0 1 1 0 15 7.5 7.5 0 0 1 0-15ZM7 7V1.019A6.501 6.501 0 0 0 1.019 7H7Z\",\"M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1Zm-1 10V3.055A9.004 9.004 0 0 0 3.055 11H11Z\",\"M16 2c7.732 0 14 6.268 14 14s-6.268 14-14 14S2 23.732 2 16 8.268 2 16 2Zm-1 13V4.041C9.17 4.522 4.522 9.171 4.041 15H15Z\"],[\"M6 1.027A4.5 4.5 0 1 1 1.027 6H5.5a.5.5 0 0 0 .5-.5V1.027Zm-1 0V5H1.027A4.502 4.502 0 0 1 5 1.027ZM11 5.5a5.5 5.5 0 1 0-11 0 5.5 5.5 0 0 0 11 0Z\",\"M8 1.019A6.5 6.5 0 1 1 1.019 8H7.5a.5.5 0 0 0 .5-.5V1.019Zm-1 0V7H1.019A6.501 6.501 0 0 1 7 1.019ZM15 7.5a7.5 7.5 0 1 0-15 0 7.5 7.5 0 0 0 15 0Z\",\"M13 3.055A9.001 9.001 0 1 1 3.055 13H12a1 1 0 0 0 1-1V3.055Zm-2 0V11H3.055A9.004 9.004 0 0 1 11 3.055ZM23 12c0-6.075-4.925-11-11-11S1 5.925 1 12s4.925 11 11 11 11-4.925 11-11Z\",\"M17 4.041C23.16 4.55 28 9.71 28 16c0 6.627-5.373 12-12 12-6.29 0-11.45-4.84-11.959-11H16a1 1 0 0 0 1-1V4.041Zm-2 0V15H4.041C4.522 9.17 9.171 4.522 15 4.041ZM30 16c0-7.732-6.268-14-14-14S2 8.268 2 16s6.268 14 14 14 14-6.268 14-14Z\"]];","export default [[\"M5.5 0a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11ZM1 5.5a4.5 4.5 0 1 1 8.095 2.708 4.093 4.093 0 0 0-.892-1.12 4.484 4.484 0 0 0-1.062-.702 2.5 2.5 0 1 0-3.283 0c-.384.181-.745.42-1.062.701a4.09 4.09 0 0 0-.891 1.12A4.48 4.48 0 0 1 1 5.5Z\",\"M7.5 0a7.5 7.5 0 1 0 0 15 7.5 7.5 0 0 0 0-15ZM1 7.5a6.5 6.5 0 1 1 11.694 3.909c-.53-1.403-1.7-2.513-3.171-3.052a3.5 3.5 0 1 0-4.045 0c-1.47.539-2.642 1.65-3.171 3.052A6.47 6.47 0 0 1 1 7.5Z\",\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1ZM3 12a9 9 0 1 1 16.131 5.491 8.13 8.13 0 0 0-3.81-3.753 5 5 0 1 0-6.641 0 8.13 8.13 0 0 0-3.81 3.754A8.96 8.96 0 0 1 3 12Z\",\"M16 2C8.268 2 2 8.268 2 16s6.268 14 14 14 14-6.268 14-14S23.732 2 16 2ZM4 16C4 9.373 9.373 4 16 4s12 5.373 12 12c0 2.81-.966 5.396-2.585 7.441-1.223-2.126-3.096-3.799-5.408-4.701a7 7 0 1 0-8.016 0c-2.311.902-4.183 2.574-5.407 4.7A11.949 11.949 0 0 1 4 16Z\"],[\"M5.5 11a5.474 5.474 0 0 0 3.966-1.688A5.5 5.5 0 1 0 5.5 11Zm0-10a4.5 4.5 0 0 0-3.595 7.207c.228-.426.537-.805.89-1.12.318-.281.679-.52 1.063-.701a2.5 2.5 0 1 1 3.283 0c.385.181.745.42 1.062.701.354.315.664.694.892 1.12A4.5 4.5 0 0 0 5.5 1Zm0 9a4.481 4.481 0 0 1-2.851-1.019c.16-.427.444-.82.811-1.146C4.05 7.31 4.81 7 5.5 7c.688 0 1.448.31 2.039.835.367.326.65.72.811 1.147A4.481 4.481 0 0 1 5.5 10ZM4 4.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Z\",\"M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0ZM7.5 1a6.5 6.5 0 0 0-5.193 10.41c.529-1.403 1.7-2.514 3.17-3.053a3.5 3.5 0 1 1 4.045 0c1.471.539 2.643 1.65 3.172 3.052A6.5 6.5 0 0 0 7.5 1Zm0 13a6.477 6.477 0 0 1-4.409-1.724C3.505 10.431 5.291 9 7.501 9c2.208 0 3.994 1.43 4.409 3.276A6.477 6.477 0 0 1 7.5 14ZM5 5.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z\",\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11c0 2.994-1.196 5.71-3.137 7.693A11.05 11.05 0 0 1 18 21.22 10.948 10.948 0 0 1 12 23C5.925 23 1 18.075 1 12Zm11-9a9 9 0 0 0-7.13 14.492 8.13 8.13 0 0 1 3.81-3.754 5 5 0 1 1 6.642 0 8.13 8.13 0 0 1 3.809 3.753A9 9 0 0 0 12 3Zm0 18a8.962 8.962 0 0 1-5.619-1.969C7.24 16.662 9.448 15 12.001 15c2.552 0 4.76 1.664 5.618 4.03A8.962 8.962 0 0 1 12 21ZM9 10a3 3 0 1 1 6 0 3 3 0 0 1-6 0Z\",\"M16 2C8.268 2 2 8.268 2 16s6.268 14 14 14 14-6.268 14-14S23.732 2 16 2ZM4 16C4 9.373 9.373 4 16 4s12 5.373 12 12c0 2.81-.966 5.395-2.585 7.44-1.223-2.126-3.096-3.798-5.407-4.7a7 7 0 1 0-8.016 0c-2.312.902-4.184 2.574-5.408 4.7A11.949 11.949 0 0 1 4 16Zm12 12c3.059 0 5.85-1.145 7.97-3.03C22.499 21.993 19.574 20 16 20c-3.575 0-6.5 1.992-7.97 4.97A11.955 11.955 0 0 0 16 28Zm0-20a5 5 0 1 0 0 10 5 5 0 0 0 0-10Z\"]];","export default [[\"M11 5.5a5.5 5.5 0 1 0-11 0 5.5 5.5 0 0 0 11 0Zm-7.86-.003.02-.028c.108-.148.231-.315.373-.486.29-.348.623-.67.99-.842.341-.16.724-.198 1.192.045.462.24 1.036.77 1.698 1.814H6.5a.5.5 0 0 0 0 1h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-1 0v.576c-.62-.895-1.226-1.467-1.824-1.778-.767-.397-1.477-.342-2.075-.064-.57.266-1.017.725-1.337 1.11a11.19 11.19 0 0 0-.41.533c-.121.165-.18.24-.207.27a.5.5 0 0 0 .706.706c.09-.09.195-.232.286-.356ZM4 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"M0 7.5a7.5 7.5 0 1 0 15 0 7.5 7.5 0 0 0-15 0Zm3.907.29C4.355 7.162 5.26 6.277 6.4 6.044c1.023-.208 2.39.081 3.959 1.956H8.5a.5.5 0 0 0 0 1h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-1 0v1.712C9.308 5.262 7.645 4.77 6.2 5.065c-1.493.304-2.59 1.418-3.107 2.144a.5.5 0 1 0 .814.581ZM6 10a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"M1 12c0 6.075 4.925 11 11 11s11-4.925 11-11S18.075 1 12 1 1 5.925 1 12Zm5.793.61c.678-.882 1.874-2.164 3.276-2.5.65-.155 1.376-.114 2.19.333.75.41 1.614 1.186 2.548 2.557H13a1 1 0 1 0 0 2h4a1 1 0 0 0 1-1v-4a1 1 0 1 0-2 0v1.234c-.908-1.197-1.835-2.028-2.779-2.545-1.265-.694-2.501-.79-3.617-.524-2.133.51-3.695 2.314-4.396 3.225a1 1 0 0 0 1.585 1.22ZM9.5 15a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\",\"M2 16c0 7.732 6.268 14 14 14s14-6.268 14-14S23.732 2 16 2 2 8.268 2 16Zm6.78 1.625c.981-1.225 2.795-3.102 4.997-3.585 1.057-.232 2.235-.15 3.526.538 1.303.696 2.773 2.04 4.33 4.422H18a1 1 0 1 0 0 2h6a1 1 0 0 0 1-1v-6a1 1 0 1 0-2 0v3.448c-1.573-2.299-3.166-3.786-4.756-4.635-1.725-.92-3.39-1.057-4.896-.727-2.923.642-5.11 3.015-6.129 4.29a1 1 0 0 0 1.562 1.25ZM13 21a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"],[\"<path d='M4 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M3.14 5.497c-.092.124-.197.267-.287.356a.5.5 0 0 1-.706-.707 3.46 3.46 0 0 0 .207-.27c.108-.146.247-.335.41-.531.32-.386.767-.845 1.337-1.11.598-.28 1.308-.334 2.075.063.598.31 1.204.883 1.824 1.778V4.5a.5.5 0 0 1 1 0v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h.913C6.75 4.957 6.177 4.426 5.715 4.186c-.468-.243-.851-.204-1.191-.045-.368.171-.701.494-.99.842a9.124 9.124 0 0 0-.374.486l-.02.028Z'></path><path d='M11 5.5a5.5 5.5 0 1 0-11 0 5.5 5.5 0 0 0 11 0Zm-1 0a4.5 4.5 0 1 0-9 0 4.5 4.5 0 0 0 9 0Z'></path>\",\"<path d='M6 10a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M6.4 6.044c-1.141.233-2.045 1.118-2.493 1.746a.5.5 0 1 1-.814-.58C3.61 6.482 4.707 5.368 6.2 5.064c1.445-.295 3.108.197 4.8 2.147V5.5a.5.5 0 0 1 1 0v3a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1 0-1h1.858C8.789 6.125 7.422 5.836 6.399 6.044Z'></path><path d='M7.5 15a7.5 7.5 0 1 1 0-15 7.5 7.5 0 0 1 0 15ZM1 7.5a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z'></path>\",\"<path d='M9.5 15a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z'></path><path d='M10.069 10.11c-1.402.336-2.598 1.618-3.276 2.5a1 1 0 0 1-1.586-1.22c.702-.91 2.264-2.715 4.397-3.224 1.116-.267 2.352-.17 3.617.523.944.517 1.871 1.348 2.779 2.545V10a1 1 0 1 1 2 0v4a1 1 0 0 1-1 1h-4a1 1 0 1 1 0-2h1.806c-.933-1.37-1.798-2.147-2.546-2.557-.815-.447-1.54-.488-2.191-.332Z'></path><path d='M12 23C5.925 23 1 18.075 1 12S5.925 1 12 1s11 4.925 11 11-4.925 11-11 11ZM3 12a9 9 0 1 0 18 0 9 9 0 0 0-18 0Z'></path>\",\"<path d='M13 21a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z'></path><path d='M13.777 14.04c-2.202.483-4.016 2.36-4.996 3.585a1 1 0 0 1-1.562-1.25c1.02-1.274 3.206-3.648 6.13-4.29 1.504-.33 3.17-.193 4.895.728 1.59.848 3.183 2.335 4.756 4.634V14a1 1 0 1 1 2 0v6a1 1 0 0 1-1 1h-6a1 1 0 1 1 0-2h3.632c-1.556-2.383-3.025-3.727-4.33-4.423-1.29-.688-2.468-.77-3.525-.538Z'></path><path d='M16 30C8.268 30 2 23.732 2 16S8.268 2 16 2s14 6.268 14 14-6.268 14-14 14ZM4 16c0 6.627 5.373 12 12 12s12-5.373 12-12S22.627 4 16 4 4 9.373 4 16Z'></path>\"]];","export default [[\"M5.053 2.512a.5.5 0 0 1 .894 0l1.066 2.132-.355-.118a.5.5 0 1 0-.316.948l1.5.5a.5.5 0 0 0 .632-.316l.5-1.5a.5.5 0 0 0-.948-.316l-.119.355-1.065-2.132C6.289.96 4.712.96 4.158 2.065l-.793 1.586a.5.5 0 1 0 .895.448l.793-1.587Zm-3.04 3.844-.355.118a.5.5 0 0 1-.316-.948l1.5-.5a.5.5 0 0 1 .632.315l.501 1.5a.5.5 0 1 1-.948.317l-.119-.356-.737 1.474A.5.5 0 0 0 2.618 9H3.5a.5.5 0 1 1 0 1h-.882a1.5 1.5 0 0 1-1.342-2.17l.737-1.474Zm7.309.67a.5.5 0 0 0-.894.448l.401.802A.5.5 0 0 1 8.382 9H6.707l.147-.146a.5.5 0 1 0-.708-.708l-1 1a.5.5 0 0 0 0 .708l1 1a.5.5 0 0 0 .708-.708L6.707 10h1.675a1.5 1.5 0 0 0 1.342-2.17l-.402-.804Z\",\"M7.061 3.349a.5.5 0 0 1 .878 0l1.513 2.775-.294-.098a.5.5 0 1 0-.316.948l1.5.5a.5.5 0 0 0 .634-.32l.498-1.496a.5.5 0 0 0-.948-.316l-.137.41L8.817 2.87a1.5 1.5 0 0 0-2.634 0L5 5.042a.5.5 0 0 0 .877.479l1.185-2.172Zm-5.193 7.433 1.585-2.906-.295.098a.5.5 0 0 1-.316-.948l1.5-.5a.5.5 0 0 1 .634.32l.5 1.495a.5.5 0 1 1-.949.317l-.138-.411-1.643 3.014a.5.5 0 0 0 .438.74H5.5a.5.5 0 1 1 0 1H3.184a1.5 1.5 0 0 1-1.316-2.22ZM11.876 8.48a.5.5 0 0 0-.877.478l1.255 2.303a.5.5 0 0 1-.439.74H8.707l.147-.147a.5.5 0 0 0-.708-.708l-1 1a.501.501 0 0 0 .006.713l.994.995a.5.5 0 0 0 .708-.708L8.707 13h3.108a1.5 1.5 0 0 0 1.317-2.218l-1.256-2.303Z\",\"M12.884 4.818a1 1 0 0 0-1.768 0L9.619 7.654a1 1 0 1 1-1.769-.933l1.497-2.836c1.126-2.133 4.18-2.133 5.306 0l1.225 2.321.175-.522a1 1 0 1 1 1.897.633l-1.001 3a1 1 0 0 1-1.265.632l-2.999-1a1 1 0 1 1 .632-1.897l.906.302-1.339-2.536ZM6.698 9.096a1 1 0 0 1 1.249.632l1 2.952a1 1 0 1 1-1.895.641l-.166-.49-1.953 3.702A1 1 0 0 0 5.817 18H8a1 1 0 0 1 0 2H5.817c-2.259 0-3.707-2.402-2.653-4.4l2.082-3.946-.944.3a1 1 0 0 1-.604-1.907l3-.951Zm10.773 2.27a1 1 0 0 1 1.351.417l2.014 3.817c1.055 1.998-.394 4.4-2.653 4.4h-3.769l.293.293a1 1 0 0 1-1.414 1.414L10.586 19l2.707-2.707a1 1 0 0 1 1.414 1.414l-.293.293h3.77a1 1 0 0 0 .883-1.467l-2.014-3.816a1 1 0 0 1 .418-1.351Z\",\"M13.383 4.298c1.118-2.106 4.127-2.13 5.278-.042l3.952 7.173.419-1.671a1 1 0 1 1 1.94.485l-1 4a1 1 0 0 1-1.213.727l-4.001-1a1 1 0 0 1 .485-1.94l1.644.41-3.978-7.218a1 1 0 0 0-1.76.013l-3.547 6.686a1 1 0 0 1-1.767-.937l3.548-6.686Zm-3.867 9.844a1 1 0 0 1 .456.615l.998 4a1 1 0 1 1-1.94.484l-.42-1.68-3.168 5.97A1 1 0 0 0 6.325 25H13a1 1 0 1 1 0 2H6.325c-2.262 0-3.71-2.408-2.65-4.406l3.201-6.033-1.633.41a1 1 0 0 1-.486-1.941l4.002-1a1 1 0 0 1 .757.112Zm14.862 2.56a1 1 0 0 1 1.358.393l2.953 5.36c1.057 1.918-.2 4.545-2.574 4.545h-6.7l1.292 1.293a1 1 0 0 1-1.414 1.414l-3-3a1 1 0 0 1 0-1.414l3-3a1 1 0 0 1 1.414 1.414L19.414 25h6.701c.67 0 1.235-.832.823-1.58l-2.954-5.36a1 1 0 0 1 .394-1.358Z\"],[\"M5.053 2.512a.5.5 0 0 1 .894 0l1.066 2.132-.355-.118a.5.5 0 1 0-.316.948l1.5.5a.5.5 0 0 0 .632-.316l.5-1.5a.5.5 0 0 0-.948-.316l-.119.355-1.065-2.132C6.289.96 4.712.96 4.158 2.065l-.793 1.586a.5.5 0 1 0 .895.448l.793-1.587Zm-3.04 3.844-.355.118a.5.5 0 0 1-.316-.948l1.5-.5a.5.5 0 0 1 .632.315l.501 1.5a.5.5 0 1 1-.948.317l-.119-.356-.737 1.474A.5.5 0 0 0 2.618 9H3.5a.5.5 0 1 1 0 1h-.882a1.5 1.5 0 0 1-1.342-2.17l.737-1.474Zm7.309.67a.5.5 0 0 0-.894.448l.401.802A.5.5 0 0 1 8.382 9H6.707l.147-.146a.5.5 0 1 0-.708-.708l-1 1a.5.5 0 0 0 0 .708l1 1a.5.5 0 0 0 .708-.708L6.707 10h1.675a1.5 1.5 0 0 0 1.342-2.17l-.402-.804Z\",\"M7.061 3.349a.5.5 0 0 1 .878 0l1.513 2.775-.294-.098a.5.5 0 1 0-.316.948l1.5.5a.5.5 0 0 0 .634-.32l.498-1.496a.5.5 0 0 0-.948-.316l-.137.41L8.817 2.87a1.5 1.5 0 0 0-2.634 0L5 5.042a.5.5 0 0 0 .877.479l1.185-2.172Zm-5.193 7.433 1.585-2.906-.295.098a.5.5 0 0 1-.316-.948l1.5-.5a.5.5 0 0 1 .634.32l.5 1.495a.5.5 0 1 1-.949.317l-.138-.411-1.643 3.014a.5.5 0 0 0 .438.74H5.5a.5.5 0 1 1 0 1H3.184a1.5 1.5 0 0 1-1.316-2.22ZM11.876 8.48a.5.5 0 0 0-.877.478l1.255 2.303a.5.5 0 0 1-.439.74H8.707l.147-.147a.5.5 0 0 0-.708-.708l-1 1a.501.501 0 0 0 .006.713l.994.995a.5.5 0 0 0 .708-.708L8.707 13h3.108a1.5 1.5 0 0 0 1.317-2.218l-1.256-2.303Z\",\"M11.116 4.818a1 1 0 0 1 1.768 0l1.339 2.536-.906-.302a1 1 0 0 0-.632 1.897l2.999 1a1 1 0 0 0 1.265-.632l1-3a1 1 0 0 0-1.896-.633l-.175.522-1.225-2.321c-1.126-2.133-4.18-2.133-5.306 0L7.85 6.72a1 1 0 0 0 1.769.933l1.497-2.836Zm-4.064 8.503-.166-.49-1.953 3.702A1 1 0 0 0 5.817 18H8a1 1 0 0 1 0 2H5.817c-2.259 0-3.707-2.402-2.653-4.4l2.082-3.946-.944.3a1 1 0 1 1-.604-1.907l3-.951a1 1 0 0 1 1.249.632l1 2.952a1 1 0 1 1-1.895.641Zm11.77-1.538a1 1 0 0 0-1.769.934l2.014 3.816A1 1 0 0 1 18.183 18h-3.769l.293-.293a1 1 0 0 0-1.414-1.414l-2 2a.995.995 0 0 0-.284.843c.029.209.123.41.284.571l2 2a1 1 0 0 0 1.414-1.414L14.414 20h3.77c2.258 0 3.707-2.402 2.652-4.4l-2.014-3.817Z\",\"M13.383 4.298c1.118-2.106 4.127-2.13 5.278-.041l3.952 7.173.419-1.672a1 1 0 1 1 1.94.485l-1 4a1 1 0 0 1-1.213.727l-4.001-1a1 1 0 0 1 .485-1.94l1.644.41-3.978-7.218a1 1 0 0 0-1.76.014l-3.547 6.686a1 1 0 0 1-1.767-.938l3.548-6.686Zm-3.868 9.844a1 1 0 0 1 .456.615l.999 4a1 1 0 1 1-1.94.485l-.42-1.68-3.168 5.97A1 1 0 0 0 6.325 25H13a1 1 0 1 1 0 2H6.325c-2.262 0-3.71-2.408-2.65-4.406l3.201-6.032-1.634.409a1 1 0 0 1-.485-1.94l4.001-1.002a1 1 0 0 1 .757.113Zm14.862 2.56a1 1 0 0 1 1.358.393l2.953 5.36c1.057 1.918-.2 4.545-2.573 4.545h-6.7l1.292 1.293a1 1 0 0 1-1.414 1.414l-3-3a1 1 0 0 1 0-1.414l3-3a1 1 0 0 1 1.414 1.414L19.414 25h6.7c.67 0 1.235-.832.823-1.58l-2.953-5.36a1 1 0 0 1 .393-1.358Z\"]];","export default [[\"M7.915 1H8.5A1.5 1.5 0 0 1 10 2.5v7A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-7A1.5 1.5 0 0 1 2.5 1h.585A1.5 1.5 0 0 1 4.5 0h2a1.5 1.5 0 0 1 1.415 1ZM6.5 2a.5.5 0 0 0 0-1h-2a.5.5 0 0 0 0 1h2Z\",\"M10.915 2h.585A1.5 1.5 0 0 1 13 3.5v10a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 2 13.5v-10A1.5 1.5 0 0 1 3.5 2h.585A1.5 1.5 0 0 1 5.5 1h4a1.5 1.5 0 0 1 1.415 1ZM9.5 3a.5.5 0 0 0 0-1h-4a.5.5 0 0 0 0 1h4Z\",\"M16.83 4H17a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h.17A3.001 3.001 0 0 1 10 2h4c1.306 0 2.418.835 2.83 2ZM9 5a1 1 0 0 1 1-1h4a1 1 0 1 1 0 2h-4a1 1 0 0 1-1-1Z\",\"M21.83 5H23a3 3 0 0 1 3 3v18a3 3 0 0 1-3 3H9a3 3 0 0 1-3-3V8a3 3 0 0 1 3-3h1.17A3.001 3.001 0 0 1 13 3h6c1.306 0 2.418.835 2.83 2ZM12 6a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2h-6a1 1 0 0 1-1-1Z\"],[\"M7.915 1H8.5A1.5 1.5 0 0 1 10 2.5v7A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-7A1.5 1.5 0 0 1 2.5 1h.585A1.5 1.5 0 0 1 4.5 0h2a1.5 1.5 0 0 1 1.415 1Zm-4.83 1H2.5a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-.585A1.5 1.5 0 0 1 6.5 3h-2a1.5 1.5 0 0 1-1.415-1ZM4 1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Z\",\"M10.915 2h.585A1.5 1.5 0 0 1 13 3.5v10a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 2 13.5v-10A1.5 1.5 0 0 1 3.5 2h.585A1.5 1.5 0 0 1 5.5 1h4a1.5 1.5 0 0 1 1.415 1Zm-6.83 1H3.5a.5.5 0 0 0-.5.5v10a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-10a.5.5 0 0 0-.5-.5h-.585A1.5 1.5 0 0 1 9.5 4h-4a1.5 1.5 0 0 1-1.415-1ZM5 2.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Z\",\"M16.83 4H17a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h.17A3.001 3.001 0 0 1 10 2h4c1.306 0 2.418.835 2.83 2ZM7.17 6H7a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1h-.17A3.001 3.001 0 0 1 14 8h-4a3.001 3.001 0 0 1-2.83-2ZM9 5a1 1 0 0 1 1-1h4a1 1 0 1 1 0 2h-4a1 1 0 0 1-1-1Z\",\"M21.83 5H23a3 3 0 0 1 3 3v18a3 3 0 0 1-3 3H9a3 3 0 0 1-3-3V8a3 3 0 0 1 3-3h1.17A3.001 3.001 0 0 1 13 3h6c1.306 0 2.418.835 2.83 2ZM10.17 7H9a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-1.17A3.001 3.001 0 0 1 19 9h-6a3.001 3.001 0 0 1-2.83-2ZM12 6a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2h-6a1 1 0 0 1-1-1Z\"]];","export default [[\"M7.915 1H8.5A1.5 1.5 0 0 1 10 2.5v7A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-7A1.5 1.5 0 0 1 2.5 1h.585A1.5 1.5 0 0 1 4.5 0h2a1.5 1.5 0 0 1 1.415 1ZM4 1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm3.839 2.632a.5.5 0 0 1 .029.707l-2.762 3a.5.5 0 0 1-.734.001L3.134 6.507a.5.5 0 1 1 .732-.68l.87.936 2.396-2.602a.5.5 0 0 1 .707-.029Z\",\"M10.915 2A1.5 1.5 0 0 0 9.5 1h-4a1.5 1.5 0 0 0-1.415 1H3.5A1.5 1.5 0 0 0 2 3.5v10A1.5 1.5 0 0 0 3.5 15h8a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 11.5 2h-.585ZM5 2.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm5.824 3.62a.5.5 0 0 1 .057.704l-3.834 4.5a.5.5 0 0 1-.72.043l-2.166-2a.5.5 0 0 1 .678-.734l1.784 1.647 3.496-4.104a.5.5 0 0 1 .705-.057Z\",\"M16.83 4H17a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h.17A3.001 3.001 0 0 1 10 2h4c1.306 0 2.418.835 2.83 2ZM9 5a1 1 0 0 1 1-1h4a1 1 0 1 1 0 2h-4a1 1 0 0 1-1-1Zm7.73 5.316a1 1 0 0 1-.046 1.413l-5.333 5a1 1 0 0 1-1.368 0l-2.667-2.5a1 1 0 1 1 1.368-1.458l1.983 1.858 4.65-4.358a1 1 0 0 1 1.413.045Z\",\"M24 4h-1.17A3.001 3.001 0 0 0 20 2h-8a3.001 3.001 0 0 0-2.83 2H8a3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3ZM12 4a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2h-8Zm10.707 9.707a1 1 0 0 0-1.414-1.414L14 19.586l-3.293-3.293a1 1 0 0 0-1.414 1.414l4 4a1 1 0 0 0 1.414 0l8-8Z\"],[\"<path d='M7.839 4.132a.5.5 0 0 1 .029.707l-2.762 3a.5.5 0 0 1-.734.001L3.134 6.507a.5.5 0 1 1 .732-.68l.87.936 2.396-2.602a.5.5 0 0 1 .707-.029Z'></path><path d='M7.915 1H8.5A1.5 1.5 0 0 1 10 2.5v7A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-7A1.5 1.5 0 0 1 2.5 1h.585A1.5 1.5 0 0 1 4.5 0h2a1.5 1.5 0 0 1 1.415 1Zm-4.83 1H2.5a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-.585A1.5 1.5 0 0 1 6.5 3h-2a1.5 1.5 0 0 1-1.415-1ZM4 1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Z'></path>\",\"<path d='M10.824 6.12a.5.5 0 0 1 .057.704l-3.834 4.5a.5.5 0 0 1-.72.043l-2.166-2a.5.5 0 0 1 .678-.734l1.784 1.647 3.496-4.104a.5.5 0 0 1 .705-.057Z'></path><path d='M10.915 2h.585A1.5 1.5 0 0 1 13 3.5v10a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 2 13.5v-10A1.5 1.5 0 0 1 3.5 2h.585A1.5 1.5 0 0 1 5.5 1h4a1.5 1.5 0 0 1 1.415 1Zm-6.83 1H3.5a.5.5 0 0 0-.5.5v10a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-10a.5.5 0 0 0-.5-.5h-.585A1.5 1.5 0 0 1 9.5 4h-4a1.5 1.5 0 0 1-1.415-1ZM5 2.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Z'></path>\",\"<path d='M16.684 11.73a1 1 0 1 0-1.368-1.46l-4.65 4.36-1.982-1.86a1 1 0 1 0-1.368 1.46l2.667 2.5a1 1 0 0 0 1.368 0l5.333-5Z'></path><path d='M14 2c1.306 0 2.418.835 2.83 2H17a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h.17A3.001 3.001 0 0 1 10 2h4ZM7 6h.17A3.001 3.001 0 0 0 10 8h4a3.001 3.001 0 0 0 2.83-2H17a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1Zm3-2a1 1 0 0 0 0 2h4a1 1 0 1 0 0-2h-4Z'></path>\",\"<path d='M22.707 13.707a1 1 0 0 0-1.414-1.414L14 19.586l-3.293-3.293a1 1 0 0 0-1.414 1.414l4 4a1 1 0 0 0 1.414 0l8-8Z'></path><path d='M24 4h-1.17A3.001 3.001 0 0 0 20 2h-8a3.001 3.001 0 0 0-2.83 2H8a3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3ZM8 6h1.17A3.001 3.001 0 0 0 12 8h8a3.001 3.001 0 0 0 2.83-2H24a1 1 0 0 1 1 1v20a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1Zm4-2a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2h-8Z'></path>\"]];","export default [[\"<path d='M7.5 1h-.585A1.5 1.5 0 0 0 5.5 0h-2a1.5 1.5 0 0 0-1.415 1H1.5A1.5 1.5 0 0 0 0 2.5v7A1.5 1.5 0 0 0 1.5 11h4.138A3.475 3.475 0 0 1 5 9V6.868l-.894.97a.5.5 0 0 1-.734.002L2.134 6.507a.5.5 0 0 1 .732-.68l.87.936 2.396-2.602a.5.5 0 0 1 .861.422c.06.021.119.046.177.075.12.06.207.074.263.076a.48.48 0 0 0 .182-.03.645.645 0 0 0 .187-.107A1.5 1.5 0 0 1 9 4V2.5A1.5 1.5 0 0 0 7.5 1Zm-4 0a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Z'></path><path d='M9.41 5.215a.5.5 0 0 0-.82 0c-.06.086-.289.305-.637.43-.327.117-.747.149-1.23-.092A.5.5 0 0 0 6 6v3c0 1.245.991 2.468 2.868 2.982a.5.5 0 0 0 .264 0C11.01 11.468 12 10.245 12 9V6a.5.5 0 0 0-.723-.447c-.483.24-.903.21-1.23.092-.348-.125-.576-.344-.636-.43ZM7 9V6.693c.479.088.92.026 1.29-.107.275-.099.516-.238.71-.386.194.148.435.287.71.386a2.47 2.47 0 0 0 1.29.107V9c0 .637-.509 1.53-2 1.98C7.509 10.53 7 9.637 7 9Z'></path>\",\"<path d='M10.5 2h-.585A1.5 1.5 0 0 0 8.5 1h-4a1.5 1.5 0 0 0-1.415 1H2.5A1.5 1.5 0 0 0 1 3.5v10A1.5 1.5 0 0 0 2.5 15h5.722C7.434 14.14 7 13.103 7 12v-1.794l-.953 1.118a.5.5 0 0 1-.72.043l-2.166-2a.5.5 0 0 1 .678-.734l1.784 1.647L7 8.664V8a1.5 1.5 0 0 1 2.17-1.342c.515.257.92.236 1.199.158a1.25 1.25 0 0 0 .355-.158.657.657 0 0 0 .073-.054A1.5 1.5 0 0 1 12 6V3.5A1.5 1.5 0 0 0 10.5 2Zm-6 0a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Z'></path><path d='M12.41 7.215a.5.5 0 0 0-.82 0c-.095.135-.427.419-.953.565-.503.14-1.164.147-1.914-.227A.5.5 0 0 0 8 8v4c0 1.626 1.298 3.278 3.868 3.982a.5.5 0 0 0 .264 0C14.702 15.278 16 13.626 16 12V8a.5.5 0 0 0-.723-.447c-.75.374-1.41.367-1.914.227-.526-.146-.858-.43-.952-.565ZM9 12V8.73c.707.199 1.36.165 1.904.013A3.2 3.2 0 0 0 12 8.203c.284.22.66.42 1.096.54A3.505 3.505 0 0 0 15 8.73V12c0 1.015-.812 2.339-3 2.98-2.188-.641-3-1.965-3-2.98Z'></path>\",\"<path d='M14 3h-.17A3.001 3.001 0 0 0 11 1H7a3.001 3.001 0 0 0-2.83 2H4a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h6.692A6.838 6.838 0 0 1 10 18v-3.817L8.35 15.73a1 1 0 0 1-1.367 0l-2.667-2.5a1 1 0 1 1 1.368-1.458l1.983 1.858 2.58-2.419c.71-1.788 2.809-2.498 4.358-2.038a.94.94 0 0 0 .547.01c.181-.05.343-.147.441-.229A3.72 3.72 0 0 1 17 8.232V6a3 3 0 0 0-3-3ZM7 3a1 1 0 0 0 0 2h4a1 1 0 1 0 0-2H7Z'></path><path d='M19.133 10.495A1.782 1.782 0 0 0 18 10.1c-.371 0-.79.111-1.133.395-.58.48-1.611.957-2.831.595-.869-.258-2.036.3-2.036 1.468V18c0 2.457 1.932 4.875 5.591 5.924.267.076.551.076.818 0C22.068 22.874 24 20.457 24 18v-5.442c0-1.168-1.167-1.726-2.036-1.468-1.22.362-2.25-.116-2.83-.595ZM14 13.135c1.716.319 3.144-.331 4-.986.856.655 2.284 1.305 4 .987V18c0 1.275-1.018 3.058-4 3.96-2.982-.902-4-2.685-4-3.96v-4.864Z'></path>\",\"<path d='M19 4h-1.17A3.001 3.001 0 0 0 15 2H9a3.001 3.001 0 0 0-2.83 2H5a3 3 0 0 0-3 3v18a3 3 0 0 0 3 3h9.704C13.59 26.434 13 24.655 13 22.82v-4.406l-2.293 2.293a1 1 0 0 1-1.414 0l-4-4a1 1 0 1 1 1.414-1.414L10 18.586l3-3v-.039c0-2.714 2.724-4.07 4.794-3.294 1.439.54 2.458.016 2.799-.272.44-.372.926-.607 1.407-.74V7a3 3 0 0 0-3-3ZM9 4a1 1 0 0 0 0 2h6a1 1 0 1 0 0-2H9Z'></path><path d='M24.16 13.508a1.763 1.763 0 0 0-1.138-.405c-.376 0-.795.116-1.138.405-.8.677-2.568 1.452-4.792.618-.922-.345-2.092.269-2.092 1.421v7.274c0 3.23 2.486 6.64 7.616 8.093.264.075.547.075.812 0 5.13-1.453 7.616-4.864 7.616-8.093v-7.274c0-1.152-1.17-1.766-2.093-1.42-2.224.832-3.992.058-4.792-.619ZM17 16.201c2.622.752 4.81-.096 6.022-1.04 1.21.944 3.399 1.792 6.022 1.04v6.62c0 2.084-1.617 4.833-6.022 6.129C18.616 27.654 17 24.905 17 22.82V16.2Z'></path>\"],[\"<path d='M2.085 2H1.5a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h3.649a3.6 3.6 0 0 0 .49 1H1.5A1.5 1.5 0 0 1 0 9.5v-7A1.5 1.5 0 0 1 1.5 1h.585A1.5 1.5 0 0 1 3.5 0h2a1.5 1.5 0 0 1 1.415 1H7.5A1.5 1.5 0 0 1 9 2.5V4a1.5 1.5 0 0 0-1 .382V2.5a.5.5 0 0 0-.5-.5h-.585A1.5 1.5 0 0 1 5.5 3h-2a1.5 1.5 0 0 1-1.415-1ZM3 1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Z'></path><path d='M5.71 4.724a1.5 1.5 0 0 1 1.283-.14.5.5 0 0 0-.86-.423L3.736 6.764l-.87-.938a.5.5 0 0 0-.733.68L3.372 7.84a.5.5 0 0 0 .734-.001L5 6.868V6a1.5 1.5 0 0 1 .71-1.276Zm3.7.491a.5.5 0 0 0-.82 0c-.06.086-.289.305-.637.43-.327.117-.747.149-1.23-.092A.5.5 0 0 0 6 6v3c0 1.245.991 2.468 2.868 2.982a.5.5 0 0 0 .264 0C11.01 11.468 12 10.245 12 9V6a.5.5 0 0 0-.723-.447c-.483.24-.903.21-1.23.092-.348-.125-.576-.344-.636-.43ZM7 9V6.693c.479.088.92.026 1.29-.107.275-.099.516-.238.71-.386.194.148.435.287.71.386a2.47 2.47 0 0 0 1.29.107V9c0 .637-.509 1.53-2 1.98C7.509 10.53 7 9.637 7 9Z'></path>\",\"<path d='M3.085 3H2.5a.5.5 0 0 0-.5.5v10a.5.5 0 0 0 .5.5h5.008c.189.353.428.688.714 1H2.5A1.5 1.5 0 0 1 1 13.5v-10A1.5 1.5 0 0 1 2.5 2h.585A1.5 1.5 0 0 1 4.5 1h4a1.5 1.5 0 0 1 1.415 1h.585A1.5 1.5 0 0 1 12 3.5V6a1.5 1.5 0 0 0-1 .382V3.5a.5.5 0 0 0-.5-.5h-.585A1.5 1.5 0 0 1 8.5 4h-4a1.5 1.5 0 0 1-1.415-1ZM4 2.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Z'></path><path d='M7 10.206V8.664L5.623 10.28 3.84 8.633a.5.5 0 0 0-.678.734l2.167 2a.5.5 0 0 0 .72-.043L7 10.206Zm5.41-2.991a.5.5 0 0 0-.82 0c-.095.135-.427.419-.953.565-.503.14-1.164.147-1.914-.227A.5.5 0 0 0 8 8v4c0 1.626 1.298 3.278 3.868 3.982a.5.5 0 0 0 .264 0C14.702 15.278 16 13.626 16 12V8a.5.5 0 0 0-.723-.447c-.75.374-1.41.367-1.914.227-.526-.146-.858-.43-.952-.565ZM9 12V8.73c.707.199 1.36.165 1.904.013A3.2 3.2 0 0 0 12 8.203c.284.22.66.42 1.096.54A3.505 3.505 0 0 0 15 8.73V12c0 1.015-.812 2.339-3 2.98-2.188-.641-3-1.965-3-2.98Z'></path>\",\"<path d='M4.17 5H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h6.073c.103.698.313 1.368.619 2H4a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h.17A3.001 3.001 0 0 1 7 1h4c1.306 0 2.418.835 2.83 2H14a3 3 0 0 1 3 3v2.231a3.699 3.699 0 0 0-1.407.722c-.098.082-.26.178-.44.229a.973.973 0 0 1-.153.03V6a1 1 0 0 0-1-1h-.17A3.001 3.001 0 0 1 11 7H7a3.001 3.001 0 0 1-2.83-2ZM6 4a1 1 0 0 1 1-1h4a1 1 0 1 1 0 2H7a1 1 0 0 1-1-1Z'></path><path d='M10 12.558c0-.502.09-.951.247-1.348l-2.58 2.42-1.983-1.86a1 1 0 1 0-1.368 1.46l2.667 2.5a1 1 0 0 0 1.368 0L10 14.182v-1.625Zm9.133-2.063A1.782 1.782 0 0 0 18 10.1c-.371 0-.79.111-1.133.395-.58.48-1.611.957-2.831.595-.869-.258-2.036.3-2.036 1.468V18c0 2.457 1.932 4.875 5.591 5.924.267.076.551.076.818 0C22.068 22.874 24 20.457 24 18v-5.442c0-1.168-1.167-1.726-2.036-1.468-1.22.362-2.25-.116-2.83-.595ZM14 13.135c1.716.319 3.144-.331 4-.986.856.655 2.284 1.305 4 .987V18c0 1.275-1.018 3.058-4 3.96-2.982-.902-4-2.685-4-3.96v-4.864Z'></path>\",\"<path d='M5 6h1.17A3.001 3.001 0 0 0 9 8h6a3.001 3.001 0 0 0 2.83-2H19a1 1 0 0 1 1 1v5.313c.273-.103.474-.232.593-.332.44-.372.926-.607 1.407-.74V7a3 3 0 0 0-3-3h-1.17A3.001 3.001 0 0 0 15 2H9a3.001 3.001 0 0 0-2.83 2H5a3 3 0 0 0-3 3v18a3 3 0 0 0 3 3h9.704a9.46 9.46 0 0 1-1.092-2H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1Zm4-2a1 1 0 0 0 0 2h6a1 1 0 1 0 0-2H9Z'></path><path d='M13 15.586v2.828l-2.293 2.293a1 1 0 0 1-1.414 0l-4-4a1 1 0 1 1 1.414-1.414L10 18.586l3-3Zm11.16-2.078a1.763 1.763 0 0 0-1.138-.405c-.376 0-.795.116-1.138.405-.8.677-2.568 1.452-4.792.618-.922-.345-2.092.269-2.092 1.421v7.274c0 3.23 2.486 6.64 7.616 8.093.264.075.547.075.812 0 5.13-1.453 7.616-4.864 7.616-8.093v-7.274c0-1.152-1.17-1.766-2.093-1.42-2.224.832-3.992.058-4.792-.619ZM17 16.201c2.622.752 4.81-.096 6.022-1.04 1.21.944 3.399 1.792 6.022 1.04v6.62c0 2.084-1.617 4.833-6.022 6.129C18.616 27.654 17 24.905 17 22.82V16.2Z'></path>\"]];","export default [[\"M7.915 1H8.5A1.5 1.5 0 0 1 10 2.5v7A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-7A1.5 1.5 0 0 1 2.5 1h.585A1.5 1.5 0 0 1 4.5 0h2a1.5 1.5 0 0 1 1.415 1ZM7 1.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5ZM5.5 4a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2a.5.5 0 0 1 .5-.5ZM6 8.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\",\"M11.5 2h-.585A1.5 1.5 0 0 0 9.5 1h-4a1.5 1.5 0 0 0-1.415 1H3.5A1.5 1.5 0 0 0 2 3.5v10A1.5 1.5 0 0 0 3.5 15h8a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 11.5 2Zm-1.5.5a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1 0-1h4a.5.5 0 0 1 .5.5ZM7.5 6a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 1 .5-.5Zm.5 5.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\",\"M17 4h-.17A3.001 3.001 0 0 0 14 2h-4a3.001 3.001 0 0 0-2.83 2H7a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3Zm-2 1a1 1 0 0 1-1 1h-4a1 1 0 0 1 0-2h4a1 1 0 0 1 1 1Zm-3 4a1 1 0 0 1 1 1v4a1 1 0 1 1-2 0v-4a1 1 0 0 1 1-1Zm1 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\",\"M23 5h-1.17A3.001 3.001 0 0 0 19 3h-6a3.001 3.001 0 0 0-2.83 2H9a3 3 0 0 0-3 3v18a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V8a3 3 0 0 0-3-3Zm-3 1a1 1 0 0 1-1 1h-6a1 1 0 1 1 0-2h6a1 1 0 0 1 1 1Zm-4 5a1 1 0 0 1 1 1v8a1 1 0 1 1-2 0v-8a1 1 0 0 1 1-1Zm1 13a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"],[\"<path d='M6 4.5a.5.5 0 0 0-1 0v2a.5.5 0 0 0 1 0v-2ZM5.5 9a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M7.915 1H8.5A1.5 1.5 0 0 1 10 2.5v7A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-7A1.5 1.5 0 0 1 2.5 1h.585A1.5 1.5 0 0 1 4.5 0h2a1.5 1.5 0 0 1 1.415 1Zm-4.83 1H2.5a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-.585A1.5 1.5 0 0 1 6.5 3h-2a1.5 1.5 0 0 1-1.415-1ZM4 1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Z'></path>\",\"<path d='M8 6.5a.5.5 0 0 0-1 0v3a.5.5 0 0 0 1 0v-3ZM7.5 12a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M10.915 2h.585A1.5 1.5 0 0 1 13 3.5v10a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 2 13.5v-10A1.5 1.5 0 0 1 3.5 2h.585A1.5 1.5 0 0 1 5.5 1h4a1.5 1.5 0 0 1 1.415 1Zm-6.83 1H3.5a.5.5 0 0 0-.5.5v10a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-10a.5.5 0 0 0-.5-.5h-.585A1.5 1.5 0 0 1 9.5 4h-4a1.5 1.5 0 0 1-1.415-1ZM5 2.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Z'></path>\",\"<path d='M13 10a1 1 0 1 0-2 0v4a1 1 0 1 0 2 0v-4Zm-1 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M16.83 4H17a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h.17A3.001 3.001 0 0 1 10 2h4c1.306 0 2.418.835 2.83 2ZM7.17 6H7a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1h-.17A3.001 3.001 0 0 1 14 8h-4a3.001 3.001 0 0 1-2.83-2ZM9 5a1 1 0 0 1 1-1h4a1 1 0 1 1 0 2h-4a1 1 0 0 1-1-1Z'></path>\",\"<path d='M17 12a1 1 0 1 0-2 0v8a1 1 0 1 0 2 0v-8Zm-1 13a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M21.83 5H23a3 3 0 0 1 3 3v18a3 3 0 0 1-3 3H9a3 3 0 0 1-3-3V8a3 3 0 0 1 3-3h1.17A3.001 3.001 0 0 1 13 3h6c1.306 0 2.418.835 2.83 2ZM10.17 7H9a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-1.17A3.001 3.001 0 0 1 19 9h-6a3.001 3.001 0 0 1-2.83-2ZM12 6a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2h-6a1 1 0 0 1-1-1Z'></path>\"]];","export default [[\"M7.915 1H8.5A1.5 1.5 0 0 1 10 2.5v7A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-7A1.5 1.5 0 0 1 2.5 1h.585A1.5 1.5 0 0 1 4.5 0h2a1.5 1.5 0 0 1 1.415 1ZM7 1.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5Zm-4 4a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Z\",\"M11.5 2h-.585A1.5 1.5 0 0 0 9.5 1h-4a1.5 1.5 0 0 0-1.415 1H3.5A1.5 1.5 0 0 0 2 3.5v10A1.5 1.5 0 0 0 3.5 15h8a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 11.5 2Zm-1.5.5a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1 0-1h4a.5.5 0 0 1 .5.5ZM5.5 6a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Zm0 2a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4ZM5 10.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Z\",\"M17 4h-.17A3.001 3.001 0 0 0 14 2h-4a3.001 3.001 0 0 0-2.83 2H7a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3Zm-2 1a1 1 0 0 1-1 1h-4a1 1 0 0 1 0-2h4a1 1 0 0 1 1 1Zm-6 5a1 1 0 1 0 0 2h6a1 1 0 1 0 0-2H9Zm0 3a1 1 0 1 0 0 2h6a1 1 0 1 0 0-2H9Zm-1 4a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1Z\",\"M23 5h-1.17A3.001 3.001 0 0 0 19 3h-6a3.001 3.001 0 0 0-2.83 2H9a3 3 0 0 0-3 3v18a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V8a3 3 0 0 0-3-3Zm-3 1a1 1 0 0 1-1 1h-6a1 1 0 1 1 0-2h6a1 1 0 0 1 1 1Zm-9 7a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2H11Zm0 4a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2H11Zm-1 5a1 1 0 0 1 1-1h10a1 1 0 1 1 0 2H11a1 1 0 0 1-1-1Z\"],[\"<path d='M3.5 5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Zm0 2a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Z'></path><path d='M7.915 1H8.5A1.5 1.5 0 0 1 10 2.5v7A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-7A1.5 1.5 0 0 1 2.5 1h.585A1.5 1.5 0 0 1 4.5 0h2a1.5 1.5 0 0 1 1.415 1Zm-4.83 1H2.5a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-.585A1.5 1.5 0 0 1 6.5 3h-2a1.5 1.5 0 0 1-1.415-1ZM4 1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Z'></path>\",\"<path d='M5 6.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm.5 1.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Z'></path><path d='M10.915 2h.585A1.5 1.5 0 0 1 13 3.5v10a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 2 13.5v-10A1.5 1.5 0 0 1 3.5 2h.585A1.5 1.5 0 0 1 5.5 1h4a1.5 1.5 0 0 1 1.415 1Zm-6.83 1H3.5a.5.5 0 0 0-.5.5v10a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-10a.5.5 0 0 0-.5-.5h-.585A1.5 1.5 0 0 1 9.5 4h-4a1.5 1.5 0 0 1-1.415-1ZM5 2.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Z'></path>\",\"<path d='M8 11a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1Zm0 3a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1Zm1 2a1 1 0 1 0 0 2h6a1 1 0 1 0 0-2H9Z'></path><path d='M16.83 4H17a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h.17A3.001 3.001 0 0 1 10 2h4c1.306 0 2.418.835 2.83 2ZM7.17 6H7a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1h-.17A3.001 3.001 0 0 1 14 8h-4a3.001 3.001 0 0 1-2.83-2ZM9 5a1 1 0 0 1 1-1h4a1 1 0 1 1 0 2h-4a1 1 0 0 1-1-1Z'></path>\",\"<path d='M10 14a1 1 0 0 1 1-1h10a1 1 0 1 1 0 2H11a1 1 0 0 1-1-1Zm0 4a1 1 0 0 1 1-1h10a1 1 0 1 1 0 2H11a1 1 0 0 1-1-1Zm1 3a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2H11Z'></path><path d='M21.83 5H23a3 3 0 0 1 3 3v18a3 3 0 0 1-3 3H9a3 3 0 0 1-3-3V8a3 3 0 0 1 3-3h1.17A3.001 3.001 0 0 1 13 3h6c1.306 0 2.418.835 2.83 2ZM10.17 7H9a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-1.17A3.001 3.001 0 0 1 19 9h-6a3.001 3.001 0 0 1-2.83-2ZM12 6a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2h-6a1 1 0 0 1-1-1Z'></path>\"]];","export default [[\"m2 9.293-.854.853a.5.5 0 0 0 .708.708l9-9a.5.5 0 0 0-.708-.708l-1 1A1.494 1.494 0 0 0 8.5 2h-.585A1.5 1.5 0 0 0 6.5 1h-1a1.5 1.5 0 0 0-1.415 1H3.5A1.5 1.5 0 0 0 2 3.5v5.793ZM5 2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5Zm-1.84 8.461L10 4.121V9.5A1.5 1.5 0 0 1 8.5 11h-5c-.117 0-.23-.013-.34-.039Z\",\"M12.697 2.596A1.498 1.498 0 0 0 11.5 2h-.085A1.5 1.5 0 0 0 10 1H6a1.5 1.5 0 0 0-1.415 1H4.5A1.5 1.5 0 0 0 3 3.5v8.793l-1.854 1.853a.5.5 0 0 0 .708.708l13-13a.5.5 0 0 0-.708-.708l-1.449 1.45ZM5.5 2.5A.5.5 0 0 1 6 2h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5ZM3.502 14.62 13 5.122V13.5a1.5 1.5 0 0 1-1.5 1.5h-7c-.383 0-.733-.144-.998-.38Z\",\"m2.707 22.707 20-20a1 1 0 0 0-1.414-1.414l-3 3A2.988 2.988 0 0 0 17 4h-.17A3.001 3.001 0 0 0 14 2h-4a3.001 3.001 0 0 0-2.83 2H7a3 3 0 0 0-3 3v11.586l-2.707 2.707a1 1 0 1 0 1.414 1.414ZM9 5a1 1 0 0 1 1-1h4a1 1 0 1 1 0 2h-4a1 1 0 0 1-1-1ZM6.32 21.923 20 8.243V19a3 3 0 0 1-3 3H7a3.01 3.01 0 0 1-.68-.077Z\",\"m3.707 29.707 26-26a1 1 0 0 0-1.414-1.414l-3.389 3.389A2.987 2.987 0 0 0 23 5h-1.17A3.001 3.001 0 0 0 19 3h-6a3.001 3.001 0 0 0-2.83 2H9a3 3 0 0 0-3 3v16.586l-3.707 3.707a1 1 0 1 0 1.414 1.414ZM12 6a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2h-6a1 1 0 0 1-1-1ZM7.593 28.65 26 10.243V26a3 3 0 0 1-3 3H9a2.99 2.99 0 0 1-1.407-.35Z\"],[\"M2 9.293V3.5A1.5 1.5 0 0 1 3.5 2h.585A1.5 1.5 0 0 1 5.5 1h1a1.5 1.5 0 0 1 1.415 1H8.5c.232 0 .45.052.647.146l1-1a.5.5 0 0 1 .707.708l-9 9a.5.5 0 0 1-.708-.708L2 9.293ZM3.5 3h.585A1.5 1.5 0 0 0 5.5 4h1a1.5 1.5 0 0 0 1.415-1h.378L3 8.293V3.5a.5.5 0 0 1 .5-.5Zm2-1a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Zm3 8H4.122l-.962.961c.11.026.223.039.34.039h5A1.5 1.5 0 0 0 10 9.5V4.122l-1 1V9.5a.5.5 0 0 1-.5.5Z\",\"M12.697 2.596A1.498 1.498 0 0 0 11.5 2h-.085A1.5 1.5 0 0 0 10 1H6a1.5 1.5 0 0 0-1.415 1H4.5A1.5 1.5 0 0 0 3 3.5v8.793l-1.854 1.853a.5.5 0 0 0 .708.708l13-13a.5.5 0 0 0-.708-.708l-1.449 1.45ZM4 11.293l7.968-7.968A.5.5 0 0 0 11.5 3h-.085A1.5 1.5 0 0 1 10 4H6a1.5 1.5 0 0 1-1.415-1H4.5a.5.5 0 0 0-.5.5v7.793ZM5.5 2.5A.5.5 0 0 1 6 2h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5ZM12 6.122l1-1V13.5a1.5 1.5 0 0 1-1.5 1.5h-7c-.383 0-.733-.144-.998-.38l.71-.71A.51.51 0 0 0 4.5 14h7a.5.5 0 0 0 .5-.5V6.122Z\",\"m2.707 22.707 20-20a1 1 0 0 0-1.414-1.414l-3 3A2.988 2.988 0 0 0 17 4h-.17A3.001 3.001 0 0 0 14 2h-4a3.001 3.001 0 0 0-2.83 2H7a3 3 0 0 0-3 3v11.586l-2.707 2.707a1 1 0 1 0 1.414 1.414ZM6 16.586V7a1 1 0 0 1 1-1h.17A3.001 3.001 0 0 0 10 8h4c.226 0 .446-.025.658-.072L6 16.586ZM9 5a1 1 0 0 1 1-1h4a1 1 0 1 1 0 2h-4a1 1 0 0 1-1-1Zm9 5.243 2-2V19a3 3 0 0 1-3 3H7a3.01 3.01 0 0 1-.68-.077L8.243 20H17a1 1 0 0 0 1-1v-8.757Z\",\"m3.707 29.707 26-26a1 1 0 0 0-1.414-1.414l-3.389 3.389A2.987 2.987 0 0 0 23 5h-1.17A3.001 3.001 0 0 0 19 3h-6a3.001 3.001 0 0 0-2.83 2H9a3 3 0 0 0-3 3v16.586l-3.707 3.707a1 1 0 1 0 1.414 1.414ZM8 22.586V8a1 1 0 0 1 1-1h1.17A3.001 3.001 0 0 0 13 9h6a3.001 3.001 0 0 0 2.83-2H23c.17 0 .33.042.47.117L8 22.586ZM12 6a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2h-6a1 1 0 0 1-1-1Zm12 6.243 2-2V26a3 3 0 0 1-3 3H9a2.99 2.99 0 0 1-1.407-.35L9.243 27H23a1 1 0 0 0 1-1V12.243Z\"]];","export default [[\"<path d='M4.53 4H10v-.5A1.5 1.5 0 0 0 8.5 2h-.585A1.5 1.5 0 0 0 6.5 1h-1a1.5 1.5 0 0 0-1.415 1H3.5A1.5 1.5 0 0 0 2 3.5v6A1.5 1.5 0 0 0 3.5 11h1.277l.966-2.511L3.54 6.652A1.5 1.5 0 0 1 4.517 4h.012Zm.97-2h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Z'></path><path d='M4.116 5.18a.5.5 0 0 1 .704-.064l.68.566V5h5.494v1h-2.15l-.72 1.87 2.696 2.246a.5.5 0 0 1-.64.768l-6-5a.5.5 0 0 1-.064-.704Zm3.197 2.013L7.772 6h-1.89l1.431 1.193Zm.053 2.648-.811-.676L5.849 11H6.92l.446-1.159Z'></path>\",\"<path d='M11.5 2h-.085A1.5 1.5 0 0 0 10 1H6a1.5 1.5 0 0 0-1.415 1H4.5A1.5 1.5 0 0 0 3 3.5v10A1.5 1.5 0 0 0 4.5 15h3.784l1.148-2.869L6.524 9.64A1.5 1.5 0 0 1 7.504 7H13V3.5A1.5 1.5 0 0 0 11.5 2ZM6 2h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1Z'></path><path d='M7.12 8.175a.5.5 0 0 1 .705-.055l.675.58V8h6.591v1h-2.252l-1.018 2.545 3.004 2.575a.5.5 0 1 1-.65.76l-7-6a.5.5 0 0 1-.055-.705Zm3.899 2.682L11.76 9H8.85l2.168 1.857Zm.017 2.65-.802-.688L9.362 15h1.077l.597-1.493Z'></path>\",\"<path d='M17 4h-.17A3.001 3.001 0 0 0 14 2h-4a3.001 3.001 0 0 0-2.83 2H7a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h3.171a3.01 3.01 0 0 1 .052-.136l2.063-5.042-3.054-3.054a2.5 2.5 0 0 1-.236-3.264l.01-.012c.024-.032.049-.064.075-.094.563-.7 1.229-1.359 2.478-1.393.056-.004.112-.005.17-.005H20V7a3 3 0 0 0-3-3Zm-7 0h4a1 1 0 1 1 0 2h-4a1 1 0 0 1 0-2Z'></path><path d='m21.707 21.293-4.917-4.917L18.171 13H22v-2h-4.477a.87.87 0 0 0-.046 0H12v.586l-.293-.293a1 1 0 0 0-1.414 1.414l10 10a1 1 0 0 0 1.414-1.414ZM16.01 13l-.753 1.842L13.414 13h2.597Zm-.657 6.889-1.533-1.534L12.329 22h2.16l.864-2.111Z'></path>\",\"<path d='M23 5h-1.17A3.001 3.001 0 0 0 19 3h-6a3.001 3.001 0 0 0-2.83 2H9a3 3 0 0 0-3 3v18a3 3 0 0 0 3 3h8.172l.028-.077 1.997-5.191-4.965-4.964a2.5 2.5 0 0 1 .069-3.602c.111-.113.223-.219.337-.316A2.99 2.99 0 0 1 16.73 14H26V8a3 3 0 0 0-3-3ZM13 5h6a1 1 0 1 1 0 2h-6a1 1 0 1 1 0-2Z'></path><path d='m25.687 18-2.02 5.252 5.04 5.04a1 1 0 0 1-1.414 1.415l-12-12a1 1 0 0 1 1.414-1.414L18 17.586V16h12v2h-4.313Zm-7.273 0 3.705 3.705L23.544 18h-5.13Zm.899 11 1.431-3.72 1.548 1.547L21.456 29h-2.143Z'></path>\"],[\"<path d='M3.5 3h.585A1.5 1.5 0 0 0 5.5 4h1a1.5 1.5 0 0 0 1.415-1H8.5a.5.5 0 0 1 .5.5V4h1v-.5A1.5 1.5 0 0 0 8.5 2h-.585A1.5 1.5 0 0 0 6.5 1h-1a1.5 1.5 0 0 0-1.415 1H3.5A1.5 1.5 0 0 0 2 3.5v6A1.5 1.5 0 0 0 3.5 11H5v-1H3.5a.5.5 0 0 1-.5-.5v-6a.5.5 0 0 1 .5-.5Zm2-1h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Z'></path><path d='M4.116 5.18a.5.5 0 0 1 .704-.064l.68.566V5h5.494v1h-2.15l-.72 1.87 2.696 2.246a.5.5 0 0 1-.64.768l-6-5a.5.5 0 0 1-.064-.704Zm3.197 2.013L7.772 6h-1.89l1.431 1.193Zm.053 2.648-.811-.676L5.849 11H6.92l.446-1.159Z'></path>\",\"<path d='M4.5 3h.085A1.5 1.5 0 0 0 6 4h4a1.5 1.5 0 0 0 1.415-1h.085a.5.5 0 0 1 .5.5V7h1V3.5A1.5 1.5 0 0 0 11.5 2h-.085A1.5 1.5 0 0 0 10 1H6a1.5 1.5 0 0 0-1.415 1H4.5A1.5 1.5 0 0 0 3 3.5v10A1.5 1.5 0 0 0 4.5 15H8v-1H4.5a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5ZM6 2h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1Z'></path><path d='M7.12 8.175a.5.5 0 0 1 .705-.055l.675.58V8h6.591v1h-2.252l-1.018 2.545 3.004 2.575a.5.5 0 1 1-.65.76l-7-6a.5.5 0 0 1-.055-.705Zm3.899 2.682L11.76 9H8.85l2.168 1.857Zm.017 2.65-.802-.688L9.362 15h1.077l.597-1.493Z'></path>\",\"<path d='M7 6h.17A3.001 3.001 0 0 0 10 8h4a3.001 3.001 0 0 0 2.83-2H17a1 1 0 0 1 1 1v2h2V7a3 3 0 0 0-3-3h-.17A3.001 3.001 0 0 0 14 2h-4a3.001 3.001 0 0 0-2.83 2H7a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h4v-2H7a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1Zm3-2h4a1 1 0 1 1 0 2h-4a1 1 0 0 1 0-2Z'></path><path d='m21.707 21.293-4.917-4.917L18.171 13H22v-2h-4.477a.87.87 0 0 0-.046 0H12v.586l-.293-.293a1 1 0 0 0-1.414 1.414l10 10a1 1 0 0 0 1.414-1.414ZM16.01 13l-.753 1.842L13.414 13h2.597Zm-.657 6.889-1.533-1.534L12.329 22h2.16l.864-2.111Z'></path>\",\"<path d='M9 7h1.17A3.001 3.001 0 0 0 13 9h6a3.001 3.001 0 0 0 2.83-2H23a1 1 0 0 1 1 1v6h2V8a3 3 0 0 0-3-3h-1.17A3.001 3.001 0 0 0 19 3h-6a3.001 3.001 0 0 0-2.83 2H9a3 3 0 0 0-3 3v18a3 3 0 0 0 3 3h8v-2H9a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1Zm4-2h6a1 1 0 1 1 0 2h-6a1 1 0 1 1 0-2Z'></path><path d='m25.687 18-2.02 5.252 5.04 5.04a1 1 0 0 1-1.414 1.415l-12-12a1 1 0 0 1 1.414-1.414L18 17.586V16h12v2h-4.313Zm-7.273 0 3.705 3.705L23.544 18h-5.13Zm.899 11 1.431-3.72 1.548 1.547L21.456 29h-2.143Z'></path>\"]];","export default [[\"M8.915 1H9.5A1.5 1.5 0 0 1 11 2.5v5A1.5 1.5 0 0 1 9.5 9H9v.5A1.5 1.5 0 0 1 7.5 11h-5A1.5 1.5 0 0 1 1 9.5v-5A1.5 1.5 0 0 1 2.5 3H3v-.5A1.5 1.5 0 0 1 4.5 1h.585A1.5 1.5 0 0 1 6.5 0h1a1.5 1.5 0 0 1 1.415 1ZM6 1.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5Zm-3 6V4h-.5a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5V9H4.5A1.5 1.5 0 0 1 3 7.5Z\",\"M12.415 2h.085A1.5 1.5 0 0 1 14 3.5v8a1.5 1.5 0 0 1-1.5 1.5H12v.5a1.5 1.5 0 0 1-1.5 1.5h-7A1.5 1.5 0 0 1 2 13.5v-8A1.5 1.5 0 0 1 3.5 4H4v-.5A1.5 1.5 0 0 1 5.5 2h.085A1.5 1.5 0 0 1 7 1h4a1.5 1.5 0 0 1 1.415 1ZM6.5 2.5A.5.5 0 0 1 7 2h4a.5.5 0 0 1 0 1H7a.5.5 0 0 1-.5-.5Zm-2.5 9V5h-.5a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5V13H5.5A1.5 1.5 0 0 1 4 11.5Z\",\"M19 3.5h-.041A3 3 0 0 0 16 1h-4a3 3 0 0 0-2.959 2.5H9a3 3 0 0 0-3 3 3 3 0 0 0-3 3V20a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3 3 3 0 0 0 3-3V6.5a3 3 0 0 0-3-3Zm-13 5V17a3 3 0 0 0 3 3h8a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V9.5a1 1 0 0 1 1-1ZM12 3a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2h-4Z\",\"M25 3h-1.17A3.001 3.001 0 0 0 21 1h-6a3.001 3.001 0 0 0-2.83 2H11a3 3 0 0 0-3 3v1H7a3 3 0 0 0-3 3v17a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-1h1a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3ZM8 9v14a3 3 0 0 0 3 3h11v1a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V10a1 1 0 0 1 1-1h1Zm7-6a1 1 0 1 0 0 2h6a1 1 0 1 0 0-2h-6Z\"],[\"M8.915 1H9.5A1.5 1.5 0 0 1 11 2.5v5A1.5 1.5 0 0 1 9.5 9H9v.5A1.5 1.5 0 0 1 7.5 11h-5A1.5 1.5 0 0 1 1 9.5v-5A1.5 1.5 0 0 1 2.5 3H3v-.5A1.5 1.5 0 0 1 4.5 1h.585A1.5 1.5 0 0 1 6.5 0h1a1.5 1.5 0 0 1 1.415 1Zm-3.83 1H4.5a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-.585A1.5 1.5 0 0 1 7.5 3h-1a1.5 1.5 0 0 1-1.415-1ZM6 1.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5ZM2.5 4H3v3.5A1.5 1.5 0 0 0 4.5 9H8v.5a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-5a.5.5 0 0 1 .5-.5Z\",\"M12.415 2h.085A1.5 1.5 0 0 1 14 3.5v8a1.5 1.5 0 0 1-1.5 1.5H12v.5a1.5 1.5 0 0 1-1.5 1.5h-7A1.5 1.5 0 0 1 2 13.5v-8A1.5 1.5 0 0 1 3.5 4H4v-.5A1.5 1.5 0 0 1 5.5 2h.085A1.5 1.5 0 0 1 7 1h4a1.5 1.5 0 0 1 1.415 1Zm-6.83 1H5.5a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-.085A1.5 1.5 0 0 1 11 4H7a1.5 1.5 0 0 1-1.415-1Zm.915-.5A.5.5 0 0 1 7 2h4a.5.5 0 0 1 0 1H7a.5.5 0 0 1-.5-.5ZM3.5 5H4v6.5A1.5 1.5 0 0 0 5.5 13H11v.5a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 .5-.5Z\",\"M18.959 3.5H19a3 3 0 0 1 3 3V17a3 3 0 0 1-3 3 3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V9.5a3 3 0 0 1 3-3 3 3 0 0 1 3-3h.041A3 3 0 0 1 12 1h4a3 3 0 0 1 2.959 2.5ZM9.4 5.5H9a1 1 0 0 0-1 1V17a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V6.5a1 1 0 0 0-1-1h-.401A2.999 2.999 0 0 1 16 7h-4a3 3 0 0 1-2.599-1.5ZM11 4a1 1 0 0 1 1-1h4a1 1 0 1 1 0 2h-4a1 1 0 0 1-1-1ZM5 9.5a1 1 0 0 1 1-1V17a3 3 0 0 0 3 3h8a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V9.5Z\",\"M23.83 3H25a3 3 0 0 1 3 3v17a3 3 0 0 1-3 3h-1v1a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V10a3 3 0 0 1 3-3h1V6a3 3 0 0 1 3-3h1.17A3.001 3.001 0 0 1 15 1h6c1.306 0 2.418.835 2.83 2ZM12.17 5H11a1 1 0 0 0-1 1v17a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-1.17A3.001 3.001 0 0 1 21 7h-6a3.001 3.001 0 0 1-2.83-2ZM14 4a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2h-6a1 1 0 0 1-1-1ZM7 9h1v14a3 3 0 0 0 3 3h11v1a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V10a1 1 0 0 1 1-1Z\"]];","export default [[\"M5.5 11a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11Zm0-8.5A.5.5 0 0 1 6 3v2.293l1.854 1.853a.5.5 0 1 1-.708.708l-2-2A.5.5 0 0 1 5 5.5V3a.5.5 0 0 1 .5-.5Z\",\"M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0Zm8-3a.5.5 0 0 0-1 0v4a.5.5 0 0 0 .223.416l3 2a.5.5 0 0 0 .554-.832L8 8.232V4.5Z\",\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm12-5a1 1 0 1 0-2 0v5.5a1 1 0 0 0 .47.848l4 2.5a1 1 0 0 0 1.06-1.696L13 11.946V7Z\",\"M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Zm15-8a1 1 0 1 0-2 0v9a1 1 0 0 0 .553.894l6 3a1 1 0 1 0 .894-1.788L17 16.382V8Z\"],[\"<path d='M6 3a.5.5 0 0 0-1 0v2.5a.5.5 0 0 0 .146.354l2 2a.5.5 0 1 0 .708-.708L6 5.293V3Z'></path><path d='M11 5.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-1 0a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Z'></path>\",\"<path d='M8 4.5a.5.5 0 0 0-1 0v4a.5.5 0 0 0 .223.416l3 2a.5.5 0 0 0 .554-.832L8 8.232V4.5Z'></path><path d='M7.5 0a7.5 7.5 0 1 0 0 15 7.5 7.5 0 0 0 0-15ZM1 7.5a6.5 6.5 0 1 1 13 0 6.5 6.5 0 0 1-13 0Z'></path>\",\"<path d='M13 7a1 1 0 1 0-2 0v5.5a1 1 0 0 0 .47.848l4 2.5a1 1 0 0 0 1.06-1.696L13 11.946V7Z'></path><path d='M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1ZM3 12a9 9 0 1 1 18 0 9 9 0 0 1-18 0Z'></path>\",\"<path d='M16 4C9.373 4 4 9.373 4 16s5.373 12 12 12 12-5.373 12-12S22.627 4 16 4ZM2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Z'></path><path d='M16 7a1 1 0 0 1 1 1v8.382l5.447 2.724a1 1 0 1 1-.894 1.788l-6-3A1 1 0 0 1 15 17V8a1 1 0 0 1 1-1Z'></path>\"]];","export default [[\"M3 1.5A1.5 1.5 0 0 1 4.5 0h6A1.5 1.5 0 0 1 12 1.5v6A1.5 1.5 0 0 1 10.5 9H10v.5A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-6A1.5 1.5 0 0 1 2.5 2H3v-.5ZM3 3h-.5a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5V9H4.5A1.5 1.5 0 0 1 3 7.5V3Z\",\"M4 2.5A1.5 1.5 0 0 1 5.5 1h8A1.5 1.5 0 0 1 15 2.5v8a1.5 1.5 0 0 1-1.5 1.5H12v1.5a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 1 13.5v-8A1.5 1.5 0 0 1 2.5 4H4V2.5ZM4 5H2.5a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5V12H5.5A1.5 1.5 0 0 1 4 10.5V5Z\",\"M6 5a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3h-1v1a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3h1V5Zm0 3H5a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1v-1H9a3 3 0 0 1-3-3V8Z\",\"M8 6a3 3 0 0 1 3-3h15a3 3 0 0 1 3 3v15a3 3 0 0 1-3 3h-2v2a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V11a3 3 0 0 1 3-3h2V6Zm0 4H6a1 1 0 0 0-1 1v15a1 1 0 0 0 1 1h15a1 1 0 0 0 1-1v-2H11a3 3 0 0 1-3-3V10Z\"],[\"M4.5 0A1.5 1.5 0 0 0 3 1.5V2h-.5A1.5 1.5 0 0 0 1 3.5v6A1.5 1.5 0 0 0 2.5 11h6A1.5 1.5 0 0 0 10 9.5V9h.5A1.5 1.5 0 0 0 12 7.5v-6A1.5 1.5 0 0 0 10.5 0h-6ZM9 9v.5a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-6a.5.5 0 0 1 .5-.5H3v4.5A1.5 1.5 0 0 0 4.5 9H9ZM4 7.5a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5v-6a.5.5 0 0 0-.5-.5h-6a.5.5 0 0 0-.5.5v6Z\",\"M5.5 1A1.5 1.5 0 0 0 4 2.5V4H2.5A1.5 1.5 0 0 0 1 5.5v8A1.5 1.5 0 0 0 2.5 15h8a1.5 1.5 0 0 0 1.5-1.5V12h1.5a1.5 1.5 0 0 0 1.5-1.5v-8A1.5 1.5 0 0 0 13.5 1h-8ZM11 12v1.5a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 .5-.5H4v5.5A1.5 1.5 0 0 0 5.5 12H11Zm-6-1.5a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-8a.5.5 0 0 0-.5.5v8Z\",\"M9 2a3 3 0 0 0-3 3v1H5a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3v-1h1a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H9Zm7 16H9a3 3 0 0 1-3-3V8H5a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1v-1ZM8 5a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V5Z\",\"M11 3a3 3 0 0 0-3 3v2H6a3 3 0 0 0-3 3v15a3 3 0 0 0 3 3h15a3 3 0 0 0 3-3v-2h2a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H11Zm11 21H11a3 3 0 0 1-3-3V10H6a1 1 0 0 0-1 1v15a1 1 0 0 0 1 1h15a1 1 0 0 0 1-1v-2ZM10 6a1 1 0 0 1 1-1h15a1 1 0 0 1 1 1v15a1 1 0 0 1-1 1H11a1 1 0 0 1-1-1V6Z\"]];","export default [[\"M3 1.5A1.5 1.5 0 0 1 4.5 0h6A1.5 1.5 0 0 1 12 1.5v6A1.5 1.5 0 0 1 10.5 9H10v.5A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-6A1.5 1.5 0 0 1 2.5 2H3v-.5Zm6 8V9H4.5A1.5 1.5 0 0 1 3 7.5V3h-.5a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5ZM7.5 2a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 1 0v-2a.5.5 0 0 0-.5-.5ZM8 6.5a.5.5 0 1 0-1 0 .5.5 0 0 0 1 0Z\",\"M4 2.5A1.5 1.5 0 0 1 5.5 1h8A1.5 1.5 0 0 1 15 2.5v8a1.5 1.5 0 0 1-1.5 1.5H12v1.5a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 1 13.5v-8A1.5 1.5 0 0 1 2.5 4H4V2.5Zm7 11V12H5.5A1.5 1.5 0 0 1 4 10.5V5H2.5a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5ZM9.5 3a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 1 0v-4a.5.5 0 0 0-.5-.5Zm.5 6.5a.5.5 0 1 0-1 0 .5.5 0 0 0 1 0Z\",\"M6 5a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3h-1v1a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3h1V5Zm3 13a3 3 0 0 1-3-3V8H5a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1v-1H9Zm5-13a1 1 0 0 0-1 1v5a1 1 0 1 0 2 0V6a1 1 0 0 0-1-1Zm0 10a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"M8 6a3 3 0 0 1 3-3h15a3 3 0 0 1 3 3v15a3 3 0 0 1-3 3h-2v2a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V11a3 3 0 0 1 3-3h2V6Zm3 18a3 3 0 0 1-3-3V10H6a1 1 0 0 0-1 1v15a1 1 0 0 0 1 1h15a1 1 0 0 0 1-1v-2H11Zm8-16a1 1 0 0 0-1 1v6a1 1 0 1 0 2 0V9a1 1 0 0 0-1-1Zm0 11a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"],[\"<path d='M7 2.5a.5.5 0 0 1 1 0v2a.5.5 0 0 1-1 0v-2ZM7.5 7a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M4.5 0A1.5 1.5 0 0 0 3 1.5V2h-.5A1.5 1.5 0 0 0 1 3.5v6A1.5 1.5 0 0 0 2.5 11h6A1.5 1.5 0 0 0 10 9.5V9h.5A1.5 1.5 0 0 0 12 7.5v-6A1.5 1.5 0 0 0 10.5 0h-6ZM9 9v.5a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-6a.5.5 0 0 1 .5-.5H3v4.5A1.5 1.5 0 0 0 4.5 9H9ZM4 7.5v-6a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5Z'></path>\",\"<path d='M9 3.5a.5.5 0 0 1 1 0v4a.5.5 0 0 1-1 0v-4Zm.5 6.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M5.5 1A1.5 1.5 0 0 0 4 2.5V4H2.5A1.5 1.5 0 0 0 1 5.5v8A1.5 1.5 0 0 0 2.5 15h8a1.5 1.5 0 0 0 1.5-1.5V12h1.5a1.5 1.5 0 0 0 1.5-1.5v-8A1.5 1.5 0 0 0 13.5 1h-8ZM11 12v1.5a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 .5-.5H4v5.5A1.5 1.5 0 0 0 5.5 12H11Zm-6-1.5v-8a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5Z'></path>\",\"<path d='M13 6a1 1 0 1 1 2 0v5a1 1 0 1 1-2 0V6Zm2 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path><path d='M6 5a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3h-1v1a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3h1V5Zm3 13a3 3 0 0 1-3-3V8H5a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1v-1H9ZM9 4a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H9Z'></path>\",\"<path d='M18 9a1 1 0 1 1 2 0v6a1 1 0 1 1-2 0V9Zm2 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path><path d='M8 6a3 3 0 0 1 3-3h15a3 3 0 0 1 3 3v15a3 3 0 0 1-3 3h-2v2a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V11a3 3 0 0 1 3-3h2V6Zm3 18a3 3 0 0 1-3-3V10H6a1 1 0 0 0-1 1v15a1 1 0 0 0 1 1h15a1 1 0 0 0 1-1v-2H11Zm0-19a1 1 0 0 0-1 1v15a1 1 0 0 0 1 1h15a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H11Z'></path>\"]];","export default [[\"M9.146 2.146a.5.5 0 1 1 .708.708L6.707 6l3.147 3.146a.5.5 0 0 1-.708.708L6 6.707 2.854 9.854a.5.5 0 0 1-.708-.708L5.293 6 2.146 2.854a.5.5 0 1 1 .708-.708L6 5.293l3.146-3.147Z\",\"M12.146 3.146a.5.5 0 0 1 .708.708L8.707 8l4.147 4.146a.5.5 0 0 1-.708.708L8 8.707l-4.146 4.147a.5.5 0 0 1-.708-.708L7.293 8 3.146 3.854a.5.5 0 1 1 .708-.708L8 7.293l4.146-4.147Z\",\"M18.293 4.293a1 1 0 1 1 1.414 1.414L13.414 12l6.293 6.293a1 1 0 0 1-1.414 1.414L12 13.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L10.586 12 4.293 5.707a1 1 0 0 1 1.414-1.414L12 10.586l6.293-6.293Z\",\"M24.293 6.293a1 1 0 1 1 1.414 1.414L17.414 16l8.293 8.293a1 1 0 0 1-1.414 1.414L16 17.414l-8.293 8.293a1 1 0 0 1-1.414-1.414L14.586 16 6.293 7.707a1 1 0 0 1 1.414-1.414L16 14.586l8.293-8.293Z\"]];","export default [[\"M8 2c-1.025 0-1.93.514-2.47 1.297A1.99 1.99 0 0 0 4.48 3C3.395 3 2.5 3.87 2.5 4.958V5a2.5 2.5 0 1 0 .115 4.999h6.687l.083.001C10.822 10 12 8.85 12 7.417c0-.837-.403-1.578-1.023-2.049A3 3 0 0 0 8 2Z\",\"M10.5 3c-1.15 0-2.17.554-2.807 1.409A2.75 2.75 0 0 0 3.515 7.04a3 3 0 0 0 .582 5.959h7.806L12 13a3 3 0 0 0 1.818-5.385A3.5 3.5 0 0 0 10.5 3Z\",\"M15.75 4a5.743 5.743 0 0 0-4.763 2.528 4 4 0 0 0-5.95 4.025 4.751 4.751 0 0 0 .864 9.445h11.944a5.012 5.012 0 0 0 .383-.003 5 5 0 0 0 3.075-8.749A5.756 5.756 0 0 0 15.75 4Z\",\"M21 6a6.996 6.996 0 0 0-6.011 3.411A5 5 0 0 0 8 14v.003A6 6 0 1 0 8.193 26h15.614a6 6 0 0 0 3.83-10.77A7 7 0 0 0 21 6Z\"],[\"M5.53 3.297a3 3 0 0 1 5.448 2.071A2.568 2.568 0 0 1 12 7.417C12 8.851 10.822 10 9.385 10l-.083-.001H2.594A2.5 2.5 0 1 1 2.5 5v-.043C2.5 3.87 3.394 3 4.48 3c.385 0 .745.109 1.05.297ZM2.66 8.999h6.667L9.385 9C10.285 9 11 8.284 11 7.417a1.58 1.58 0 0 0-.817-1.377.5.5 0 0 1-.242-.557 2 2 0 0 0-3.805-1.211.5.5 0 0 1-.865.119.986.986 0 0 0-.79-.391.97.97 0 0 0-.981.958c0 .154.037.298.102.425a.5.5 0 0 1-.61.7 1.5 1.5 0 1 0-.405 2.915.5.5 0 0 1 .073 0Z\",\"M7.693 4.409a3.5 3.5 0 0 1 6.125 3.206 3 3 0 0 1-1.915 5.384H4.097a3 3 0 0 1-.581-5.959 2.75 2.75 0 0 1 4.178-2.631ZM10.5 4a2.5 2.5 0 0 0-2.23 1.369.5.5 0 0 1-.796.13A1.75 1.75 0 0 0 4.6 7.336a.5.5 0 0 1-.496.667 2 2 0 1 0-.016 3.995h7.841c.024.002.047.002.071.002a2 2 0 0 0 .96-3.754.5.5 0 0 1-.21-.657A2.5 2.5 0 0 0 10.5 4Z\",\"M10.987 6.528a5.75 5.75 0 0 1 10.316 4.718 5 5 0 0 1-3.458 8.751H5.9a4.75 4.75 0 0 1-.863-9.445 4 4 0 0 1 5.95-4.025Zm7.123 11.47h.006a3 3 0 0 0 1.475-5.542 1 1 0 0 1-.389-1.239 3.75 3.75 0 1 0-6.964-2.788 1 1 0 0 1-1.702.29 2 2 0 0 0-3.244 2.323 1 1 0 0 1-1.036 1.504 2.75 2.75 0 1 0-.372 5.451h11.977l.034.001a3.047 3.047 0 0 0 .21 0h.005Z\",\"M14.989 9.411a7 7 0 0 1 12.648 5.82A6 6 0 0 1 23.807 26H8.193A6 6 0 1 1 8 14.003V14a5 5 0 0 1 6.989-4.589ZM21 8a5.002 5.002 0 0 0-4.657 3.175 1 1 0 0 1-1.534.431 3 3 0 0 0-4.685 3.249 1 1 0 0 1-1.191 1.257A4 4 0 1 0 8.177 24h15.68a4 4 0 0 0 2.062-7.508 1 1 0 0 1-.419-1.312A5 5 0 0 0 21 8Z\"]];","export default [[\"M5.53 3.297a3 3 0 0 1 5.448 2.071A2.568 2.568 0 0 1 12 7.417C12 8.851 10.822 10 9.385 10v-.001H2.5V10a2.5 2.5 0 0 1 0-5v-.042C2.5 3.87 3.394 3 4.48 3c.385 0 .745.109 1.05.297Zm3.323 2.557a.5.5 0 1 0-.706-.708L6.5 6.786l-.647-.641a.5.5 0 0 0-.704.71l1 .991a.5.5 0 0 0 .705 0l2-1.992Z\",\"M7.693 4.409a3.5 3.5 0 0 1 6.125 3.206 3 3 0 0 1-1.915 5.384H4.097a3 3 0 0 1-.581-5.959 2.75 2.75 0 0 1 4.178-2.631Zm3.165 3.445a.5.5 0 0 0-.707-.708l-2.65 2.647-1.147-1.147a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .707 0l3.005-3Z\",\"M10.987 6.528a5.75 5.75 0 0 1 10.316 4.718 5 5 0 0 1-3.458 8.751H5.9a4.75 4.75 0 0 1-.863-9.445 4 4 0 0 1 5.95-4.025Zm6.22 5.18a1 1 0 0 0-1.414-1.415L12 14.086l-1.793-1.793a1 1 0 0 0-1.414 1.414l2.5 2.5a1 1 0 0 0 1.414 0l4.5-4.5Z\",\"M14.989 9.411a7 7 0 0 1 12.648 5.82A6 6 0 0 1 23.807 26H8.193A6 6 0 1 1 8 14.003V14a5 5 0 0 1 6.989-4.589Zm7.218 5.796a1 1 0 0 0-1.414-1.414l-5.236 5.236-2.298-2.68a1 1 0 0 0-1.518 1.302l3 3.5a1 1 0 0 0 1.466.056l6-6Z\"],[\"<path d='M8.853 5.854a.5.5 0 1 0-.706-.708L6.5 6.786l-.647-.641a.5.5 0 0 0-.704.71l1 .991a.5.5 0 0 0 .705 0l2-1.992Z'></path><path d='M8 2c-1.025 0-1.93.514-2.47 1.297A1.99 1.99 0 0 0 4.48 3C3.395 3 2.5 3.87 2.5 4.958V5a2.5 2.5 0 0 0 0 5h6.885C10.822 10 12 8.85 12 7.417c0-.837-.403-1.578-1.023-2.049A3 3 0 0 0 8 2ZM2.5 9a1.5 1.5 0 1 1 .492-2.918.5.5 0 0 0 .61-.699.934.934 0 0 1-.102-.425A.97.97 0 0 1 4.48 4c.327 0 .613.154.791.391a.5.5 0 0 0 .865-.119 2 2 0 0 1 3.805 1.211.5.5 0 0 0 .242.557c.491.275.817.79.817 1.377C11 8.284 10.284 9 9.385 9H2.5Z'></path>\",\"<path d='M10.858 7.854a.5.5 0 0 0-.707-.708l-2.65 2.647-1.147-1.147a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .707 0l3.005-3Z'></path><path d='M10.5 3c-1.15 0-2.17.554-2.807 1.409A2.75 2.75 0 0 0 3.515 7.04a3 3 0 0 0 .582 5.959h7.806L12 13a3 3 0 0 0 1.818-5.385A3.5 3.5 0 0 0 10.5 3ZM8.27 5.369a2.5 2.5 0 0 1 4.48 2.22.5.5 0 0 0 .21.657 1.999 1.999 0 0 1-1.048 3.752H4.07C4.047 12 4.024 12 4 12a2 2 0 1 1 .104-3.997.5.5 0 0 0 .497-.667A1.75 1.75 0 0 1 7.475 5.5a.5.5 0 0 0 .795-.13Z'></path>\",\"<path d='M17.207 11.707a1 1 0 0 0-1.414-1.414L12 14.086l-1.793-1.793a1 1 0 0 0-1.414 1.414l2.5 2.5a1 1 0 0 0 1.414 0l4.5-4.5Z'></path><path d='M15.75 4a5.743 5.743 0 0 0-4.763 2.528 4 4 0 0 0-5.95 4.025 4.751 4.751 0 0 0 .864 9.445h11.944a5.012 5.012 0 0 0 .383-.003 5 5 0 0 0 3.075-8.749A5.756 5.756 0 0 0 15.75 4Zm2.366 13.998h-.011a3.047 3.047 0 0 1-.244 0H5.849a2.75 2.75 0 1 1 .407-5.452 1 1 0 0 0 1.036-1.505 2 2 0 0 1 3.244-2.323 1 1 0 0 0 1.703-.289 3.752 3.752 0 1 1 6.963 2.788 1 1 0 0 0 .39 1.24 3 3 0 0 1-1.475 5.542Z'></path>\",\"<path d='M22.207 15.207a1 1 0 0 0-1.414-1.414l-5.236 5.236-2.298-2.68a1 1 0 0 0-1.518 1.302l3 3.5a1 1 0 0 0 1.466.056l6-6Z'></path><path d='M21 6a6.996 6.996 0 0 0-6.011 3.411A5 5 0 0 0 8 14v.003A6 6 0 1 0 8.193 26h15.614a6 6 0 0 0 3.83-10.77A7 7 0 0 0 21 6Zm-4.657 5.175a5.002 5.002 0 1 1 9.158 4.005 1 1 0 0 0 .42 1.313A4 4 0 0 1 23.823 24H8.176a4 4 0 1 1 .756-7.888 1 1 0 0 0 1.191-1.257 3 3 0 0 1 4.685-3.249 1 1 0 0 0 1.535-.431Z'></path>\"]];","export default [[\"M10.854 1.854a.5.5 0 0 0-.708-.708L9.09 2.204a2.996 2.996 0 0 0-3.56 1.093A1.99 1.99 0 0 0 4.482 3C3.394 3 2.5 3.87 2.5 4.958V5a2.5 2.5 0 0 0-1 4.792l-.354.354a.5.5 0 0 0 .708.708l9-9ZM9.302 9.999H4.108l6.494-6.494a2.985 2.985 0 0 1 .375 1.863A2.568 2.568 0 0 1 12 7.417C12 8.851 10.822 10 9.385 10l-.083-.001Z\",\"M14.854 1.146a.5.5 0 0 1 0 .708l-.63.629a.503.503 0 0 0-.078.063L1.776 14.917a.5.5 0 0 1-.63-.77l1.48-1.48a3 3 0 0 1 .89-5.627 2.75 2.75 0 0 1 4.178-2.631 3.495 3.495 0 0 1 4.276-1.086l2.176-2.177a.5.5 0 0 1 .708 0ZM5.109 12.998h6.794a3 3 0 0 0 1.915-5.384c.118-.35.182-.725.182-1.115 0-.682-.196-1.32-.534-1.858L5.11 12.998Z\",\"M22.707 1.293a1 1 0 0 1 0 1.414L21.45 3.965a1.008 1.008 0 0 0-.156.128L2.55 22.835a1 1 0 0 1-1.258-1.542l1.986-1.986a4.751 4.751 0 0 1 1.76-8.754 4 4 0 0 1 5.95-4.025A5.743 5.743 0 0 1 15.748 4a5.73 5.73 0 0 1 2.34.496l3.203-3.203a1 1 0 0 1 1.414 0ZM8.217 19.998h9.628a5.012 5.012 0 0 0 .383-.003 5 5 0 0 0 3.075-8.749 5.756 5.756 0 0 0-.362-3.973L8.217 19.998Z\",\"M29.707 2.293a1 1 0 0 1 0 1.414l-1.259 1.259a1.006 1.006 0 0 0-.155.127L3.552 29.83a1 1 0 0 1-1.26-1.541l2.955-2.954A6 6 0 0 1 8 14.003V14a5 5 0 0 1 6.989-4.589A6.996 6.996 0 0 1 21 6c1.05 0 2.046.231 2.94.645l4.353-4.352a1 1 0 0 1 1.414 0ZM10.211 26h13.596a6 6 0 0 0 3.83-10.77A6.992 6.992 0 0 0 28 13c0-1.366-.391-2.64-1.068-3.718L10.21 26Z\"],[\"M10.854 1.854a.5.5 0 0 0-.708-.708L9.09 2.204a2.996 2.996 0 0 0-3.56 1.093A1.99 1.99 0 0 0 4.482 3C3.394 3 2.5 3.87 2.5 4.958V5a2.5 2.5 0 0 0-1 4.792l-.354.354a.5.5 0 0 0 .708.708l9-9ZM2.305 8.987l5.97-5.968a2 2 0 0 0-2.138 1.253.5.5 0 0 1-.866.119.986.986 0 0 0-.79-.391.97.97 0 0 0-.981.958c0 .154.037.298.102.425a.5.5 0 0 1-.61.7 1.5 1.5 0 1 0-.687 2.905Zm7.55-4.735.747-.747a2.985 2.985 0 0 1 .375 1.863A2.568 2.568 0 0 1 12 7.417C12 8.851 10.822 10 9.385 10l-.083-.001H4.108l1-1h4.219L9.385 9C10.285 9 11 8.284 11 7.417a1.58 1.58 0 0 0-.817-1.377.5.5 0 0 1-.242-.557 2.005 2.005 0 0 0-.086-1.231Z\",\"M14.854 1.146a.5.5 0 0 1 0 .708l-.63.629a.503.503 0 0 0-.078.063L1.776 14.917a.5.5 0 0 1-.63-.77l1.48-1.48a3 3 0 0 1 .89-5.627 2.75 2.75 0 0 1 4.178-2.631 3.495 3.495 0 0 1 4.276-1.086l2.176-2.177a.5.5 0 0 1 .708 0ZM10.5 4c.241 0 .474.034.695.098l-7.807 7.807a2 2 0 0 1 .716-3.902.5.5 0 0 0 .497-.667A1.75 1.75 0 0 1 7.475 5.5a.5.5 0 0 0 .795-.13A2.5 2.5 0 0 1 10.5 4Zm-5.391 8.998h6.794a3 3 0 0 0 1.915-5.384c.118-.35.182-.725.182-1.115 0-.682-.196-1.32-.534-1.858l-.733.733a2.497 2.497 0 0 1 .017 2.215.5.5 0 0 0 .21.657 1.999 1.999 0 0 1-1.048 3.752H6.109l-1 1Z\",\"M22.707 1.293a1 1 0 0 1 0 1.414L21.45 3.965a1.008 1.008 0 0 0-.156.128L2.55 22.835a1 1 0 0 1-1.258-1.542l1.986-1.986a4.751 4.751 0 0 1 1.76-8.754 4 4 0 0 1 5.95-4.025A5.743 5.743 0 0 1 15.748 4a5.73 5.73 0 0 1 2.34.496l3.203-3.203a1 1 0 0 1 1.414 0ZM15.75 6c.26 0 .514.026.759.077L4.767 17.819a2.751 2.751 0 0 1 1.49-5.273 1 1 0 0 0 1.035-1.505 2 2 0 0 1 3.244-2.323 1 1 0 0 0 1.703-.289A3.752 3.752 0 0 1 15.75 6ZM8.217 19.998h9.628a5.012 5.012 0 0 0 .383-.003 5 5 0 0 0 3.075-8.749 5.756 5.756 0 0 0-.362-3.973l-1.555 1.555a3.759 3.759 0 0 1-.184 2.39 1 1 0 0 0 .39 1.238 3 3 0 0 1-1.475 5.542h-.012a3.047 3.047 0 0 1-.244 0h-7.644l-2 2Z\",\"M29.707 2.293a1 1 0 0 1 0 1.414l-1.259 1.259a1.006 1.006 0 0 0-.155.127L3.552 29.83a1 1 0 0 1-1.26-1.541l2.955-2.954A6 6 0 0 1 8 14.003V14a5 5 0 0 1 6.989-4.589A6.996 6.996 0 0 1 21 6c1.05 0 2.046.231 2.94.645l4.353-4.352a1 1 0 0 1 1.414 0ZM21 8c.482 0 .948.068 1.39.196L6.77 23.81a4.002 4.002 0 0 1 2.162-7.699 1 1 0 0 0 1.19-1.257 3 3 0 0 1 4.685-3.249 1 1 0 0 0 1.535-.431A5.002 5.002 0 0 1 21 8ZM10.211 26h13.596a6 6 0 0 0 3.83-10.77A6.992 6.992 0 0 0 28 13c0-1.366-.391-2.64-1.068-3.718l-1.467 1.466A4.98 4.98 0 0 1 26 13c0 .783-.18 1.522-.499 2.18a1 1 0 0 0 .42 1.313A4 4 0 0 1 23.838 24H12.21l-2 2Z\"]];","export default [[\"M4.854 3.854a.5.5 0 1 0-.708-.708l-3 3a.5.5 0 0 0 0 .708l3 3a.5.5 0 0 0 .708-.708L2.207 6.5l2.647-2.646Zm2.292 0a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L9.793 6.5 7.146 3.854Z\",\"M8.985 4.621a.5.5 0 0 0-.97-.242l-2 8a.5.5 0 0 0 .97.242l2-8Zm-4.131.525a.5.5 0 0 1 0 .708L2.207 8.5l2.647 2.646a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 0 1 .708 0Zm5.292 0a.5.5 0 0 0 0 .708L12.793 8.5l-2.647 2.646a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708 0Z\",\"M14.956 5.294a1 1 0 1 0-1.912-.588l-4 13a1 1 0 1 0 1.912.588l4-13Zm-8.292.959a1 1 0 0 1 .083 1.411L3.338 11.5l3.41 3.836a1 1 0 0 1-1.495 1.328l-4-4.5a1 1 0 0 1 0-1.328l4-4.5a1 1 0 0 1 1.411-.083Zm10.672 0a1 1 0 0 0-.083 1.411l3.409 3.836-3.41 3.836a1 1 0 0 0 1.495 1.328l4-4.5a1 1 0 0 0 0-1.328l-4-4.5a1 1 0 0 0-1.411-.083Z\",\"M19.954 7.301a1 1 0 0 0-1.908-.602l-6 19a1 1 0 0 0 1.908.602l6-19ZM9.678 9.265a1 1 0 0 1 .057 1.413L4.36 16.5l5.374 5.822a1 1 0 0 1-1.47 1.356l-6-6.5a1 1 0 0 1 0-1.356l6-6.5a1 1 0 0 1 1.413-.057Zm12.644 0a1 1 0 0 0-.057 1.413L27.64 16.5l-5.374 5.822a1 1 0 0 0 1.47 1.356l6-6.5a1 1 0 0 0 0-1.356l-6-6.5a1 1 0 0 0-1.413-.057Z\"]];","export default [[\"<path d='M9 1.5a.5.5 0 0 1 .5-.5h1A1.5 1.5 0 0 1 12 2.5v7a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 0 9.5v-3a.5.5 0 0 1 1 0v3a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 1-.5-.5Z'></path><path d='M2.854 1.146a.5.5 0 0 1 0 .708L1.207 3.5l1.647 1.646a.5.5 0 1 1-.708.708l-2-2a.5.5 0 0 1 0-.708l2-2a.5.5 0 0 1 .708 0Zm2.292 4a.5.5 0 1 0 .708.708l2-2a.5.5 0 0 0 0-.708l-2-2a.5.5 0 1 0-.708.708L6.793 3.5 5.146 5.146Z'></path>\",\"<path d='M7.96 1.197a.5.5 0 1 0-.92-.394l-3 7a.5.5 0 1 0 .92.394l3-7Zm.186 5.657a.5.5 0 0 1 0-.708L9.793 4.5 8.146 2.854a.5.5 0 1 1 .708-.708l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708 0Zm-4.292-4a.5.5 0 1 0-.708-.708l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 1 0 .708-.708L2.207 4.5l1.647-1.646Z'></path><path d='M12.5 3a.5.5 0 0 0 0 1h1a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 0-1 0v4A1.5 1.5 0 0 0 2.5 14h11a1.5 1.5 0 0 0 1.5-1.5v-8A1.5 1.5 0 0 0 13.5 3h-1Z'></path>\",\"<path d='M12.91 3.414a1 1 0 1 0-1.82-.828l-5 11a1 1 0 0 0 1.82.828l5-11Zm.383 9.293a1 1 0 0 1 0-1.414L15.586 9l-2.293-2.293a1 1 0 0 1 1.414-1.414l3 3a1 1 0 0 1 0 1.414l-3 3a1 1 0 0 1-1.414 0Z'></path><path d='M19 5a1 1 0 1 0 0 2h1a1 1 0 0 1 1 1v11a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-4a1 1 0 1 0-2 0v4a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3V8a3 3 0 0 0-3-3h-1Z'></path><path d='M5.707 6.707a1 1 0 0 0-1.414-1.414l-3 3a1 1 0 0 0 0 1.414l3 3a1 1 0 0 0 1.414-1.414L3.414 9l2.293-2.293Z'></path>\",\"<path d='M13.923 5.385a1 1 0 1 0-1.846-.77l-5 12a1 1 0 1 0 1.846.77l5-12Zm.37 9.322a1 1 0 0 1 0-1.414L16.586 11l-2.293-2.293a1 1 0 0 1 1.414-1.414l3 3a1 1 0 0 1 0 1.414l-3 3a1 1 0 0 1-1.414 0Zm-7.586-6a1 1 0 0 0-1.414-1.414l-3 3a1 1 0 0 0 0 1.414l3 3a1 1 0 0 0 1.414-1.414L4.414 11l2.293-2.293Z'></path><path d='M22 8a1 1 0 1 0 0 2h5a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-7a1 1 0 1 0-2 0v7a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3V11a3 3 0 0 0-3-3h-5Z'></path>\"]];","export default [[\"M4.854 1.854a.5.5 0 1 0-.708-.708l-3 3a.5.5 0 0 0 0 .708L4.01 7.717a3.98 3.98 0 0 1 .257-1.157L2.207 4.5l2.647-2.646Zm6 3-.176.175a4.005 4.005 0 0 0-1.032-.676l-2.5-2.5a.5.5 0 1 1 .708-.707l3 3a.5.5 0 0 1 0 .708ZM11 8a2.98 2.98 0 0 1-.555 1.738l1.409 1.408a.5.5 0 1 1-.708.707l-1.408-1.408A3 3 0 1 1 11 8Zm-3 2a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\",\"M8.985 1.621a.5.5 0 1 0-.97-.242l-2 8a.498.498 0 0 0 .048.365 4.496 4.496 0 0 1 1.57-2.712l1.352-5.41Zm4.869 4.233-.884.884a4.484 4.484 0 0 0-.943-.472l.766-.766-2.647-2.646a.5.5 0 0 1 .708-.707l3 3a.5.5 0 0 1 0 .707Zm-9-3.707a.5.5 0 0 1 0 .707L2.207 5.5l2.647 2.647a.5.5 0 1 1-.708.707l-3-3a.5.5 0 0 1 0-.707l3-3a.5.5 0 0 1 .708 0ZM14 10.5c0 .786-.26 1.512-.697 2.096l2.55 2.55a.5.5 0 0 1-.707.708l-2.55-2.55A3.5 3.5 0 1 1 14 10.5ZM10.5 13a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z\",\"M14.956 2.294a1 1 0 0 0-1.912-.588l-2.516 8.18a7.493 7.493 0 0 1 2.55-1.486l1.878-6.106Zm7.791 6.871-1.426 1.605a7.544 7.544 0 0 0-1.458-1.371l.799-.899-3.41-3.835a1 1 0 0 1 1.495-1.33l4 4.5a1 1 0 0 1 0 1.33ZM6.664 3.253a1 1 0 0 1 .083 1.412L3.338 8.5l3.41 3.836a1 1 0 1 1-1.495 1.329l-4-4.5a1 1 0 0 1 0-1.33l4-4.5a1 1 0 0 1 1.411-.082ZM10 15.5a5.5 5.5 0 1 1 10.032 3.117l3.675 3.676a1 1 0 0 1-1.414 1.414l-3.675-3.675A5.5 5.5 0 0 1 10 15.5Zm5.5-3.5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z\",\"M19.954 3.301a1 1 0 0 0-1.908-.602l-3.805 12.05a8.524 8.524 0 0 1 2.723-1.98l2.99-9.468Zm9.781 9.877-2.266 2.455a8.548 8.548 0 0 0-1.337-1.5l1.507-1.633-5.374-5.821a1 1 0 0 1 1.47-1.357l6 6.5a1 1 0 0 1 0 1.357ZM9.678 5.265a1 1 0 0 1 .057 1.414L4.36 12.5l5.374 5.822a1 1 0 1 1-1.47 1.357l-6-6.5a1 1 0 0 1 0-1.357l6-6.5a1 1 0 0 1 1.413-.057ZM14 20.5a6.5 6.5 0 1 1 11.749 3.835l4.958 4.958a1 1 0 0 1-1.414 1.414l-4.958-4.958A6.5 6.5 0 0 1 14 20.5Zm6.5-4.5a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9Z\"]];","export default [[\"M1 1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm0 4a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm0 4a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm4-8a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm0 4a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm4-4a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Z\",\"M1 2.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-2Zm5 0a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-2Zm5 0a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-2Zm-10 4a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-2Zm5 0a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-2Zm-5 4a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-2Z\",\"M2 4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4Zm0 6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-3Zm0 6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-3ZM9 4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V4Zm0 6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-3Zm7-6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V4Z\",\"M2 6a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6Zm0 8a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-4Zm0 8a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-4ZM12 6a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1V6Zm0 8a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1v-4Zm10-8a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1V6Z\"],[\"M1 9.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm1 .5v1h1v-1H2Zm3-4.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM6 6v1h1V6H6Zm3-4.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm1 .5v1h1V2h-1Zm-9-.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm0 4a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm4-4a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Z\",\"M1 10.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-2Zm1 .5v1h2v-1H2Zm4-4.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-2ZM7 7v1h2V7H7Zm4-4.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-2Zm1 .5v1h2V3h-2ZM1 2.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-2Zm5 0a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-2Zm-5 4a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-2Z\",\"M2 16a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-3Zm2 1v1h2v-1H4Zm5-7a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-3Zm2 1v1h2v-1h-2Zm5-7a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V4Zm2 1v1h2V5h-2ZM2 4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4Zm0 6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-3Zm7-6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V4Z\",\"M2 22a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-4Zm2 1v2h4v-2H4Zm8-9a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1v-4Zm2 1v2h4v-2h-4Zm8-9a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1V6Zm2 1v2h4V7h-4ZM2 6a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6Zm0 8a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-4Zm10-8a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1V6Z\"]];","export default [[\"M10 4.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 1 0v.793l2.146-2.147a.5.5 0 0 1 .708.708L8.707 4H9.5a.5.5 0 0 1 .5.5Zm-8 3a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-.793l-2.146 2.147a.5.5 0 0 1-.708-.708L3.293 8H2.5a.5.5 0 0 1-.5-.5Z\",\"M13 6.5a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 1 0v1.793l3.146-3.147a.5.5 0 0 1 .708.708L10.707 6H12.5a.5.5 0 0 1 .5.5Zm-10 3a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0v-1.793l-3.146 3.147a.5.5 0 0 1-.708-.708L5.293 10H3.5a.5.5 0 0 1-.5-.5Z\",\"M16.414 9H18a1 1 0 1 1 0 2h-4a1 1 0 0 1-1-1V6a1 1 0 1 1 2 0v1.586l4.293-4.293a1 1 0 1 1 1.414 1.414L16.414 9ZM5 14a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 1 1-2 0v-1.586l-4.293 4.293a1 1 0 0 1-1.414-1.414L7.586 15H6a1 1 0 0 1-1-1Z\",\"M21.414 12H25a1 1 0 1 1 0 2h-6a1 1 0 0 1-1-1V7a1 1 0 1 1 2 0v3.586l7.293-7.293a1 1 0 1 1 1.414 1.414L21.414 12ZM6 19a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 1 1-2 0v-3.586l-7.293 7.293a1 1 0 0 1-1.414-1.414L10.586 20H7a1 1 0 0 1-1-1Z\"]];","export default [[\"M2.854 2.147a1.5 1.5 0 1 0-.707.707L5 5.707v2.378a1.5 1.5 0 1 0 1 0V5.707l2.853-2.853a1.5 1.5 0 1 0-.707-.707L5.5 4.793 2.854 2.147Z\",\"M3.147 3.854a1.5 1.5 0 1 1 .707-.707L7.5 6.793l3.646-3.646a1.5 1.5 0 1 1 .707.707L8 7.707v4.378a1.5 1.5 0 1 1-1 0V7.707L3.147 3.854Z\",\"M5 1a3 3 0 1 0 1.11 5.788L11 12.376v4.795a3.001 3.001 0 1 0 2 0v-4.795l4.89-5.588a3 3 0 1 0-1.505-1.317L12 10.48 7.615 5.47A3 3 0 0 0 5 1Z\",\"M6 2a3 3 0 1 0 1.163 5.766L15 16.386v7.785a3.001 3.001 0 1 0 2 0v-7.784l7.837-8.62a3 3 0 1 0-1.48-1.345L16 14.512 8.643 6.421A3 3 0 0 0 6 2Z\"],[\"M3 1.5c0 .232-.052.45-.146.647L5.5 4.793l2.646-2.646a1.5 1.5 0 1 1 .707.707L6 5.707v2.378a1.5 1.5 0 1 1-1 0V5.707L2.147 2.854A1.5 1.5 0 1 1 3 1.5ZM1.5 2a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm8.5-.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM5.5 10a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\",\"M2.5 4c.232 0 .45-.052.647-.146L7 7.707v4.378a1.5 1.5 0 1 0 1 0V7.707l3.853-3.853a1.5 1.5 0 1 0-.707-.707L7.5 6.793 3.854 3.147A1.5 1.5 0 1 0 2.5 4Zm0-1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1ZM13 2.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM7.5 14a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\",\"M2 4a3 3 0 1 1 5.615 1.47L12 10.482l4.384-5.01a3 3 0 1 1 1.505 1.317L13 12.376v4.795a3.001 3.001 0 1 1-2 0v-4.795L6.11 6.788A3 3 0 0 1 2 4Zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm15-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-8 17a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"M3 5a3 3 0 1 1 5.643 1.42L16 14.514l7.357-8.092a3 3 0 1 1 1.48 1.345L17 16.386v7.785a3.001 3.001 0 1 1-2 0v-7.784l-7.837-8.62A3 3 0 0 1 3 5Zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm21-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM16 28a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"]];","export default [[\"M1 3a2 2 0 1 1 4 0v1h2V3a2 2 0 1 1 2 2H8v2h1a2 2 0 1 1-2 2V8H5v1a2 2 0 1 1-2-2h1V5H3a2 2 0 0 1-2-2Zm7 5v1a1 1 0 1 0 1-1H8ZM7 7V5H5v2h2ZM3 8a1 1 0 1 0 1 1V8H3Zm5-4h1a1 1 0 1 0-1-1v1ZM4 3a1 1 0 1 0-1 1h1V3Z\",\"M1 3.5a2.5 2.5 0 0 1 5 0V5h4V3.5A2.5 2.5 0 1 1 12.5 6H11v4h1.5a2.5 2.5 0 1 1-2.5 2.5V11H6v1.5A2.5 2.5 0 1 1 3.5 10H5V6H3.5A2.5 2.5 0 0 1 1 3.5ZM11 11v1.5a1.5 1.5 0 1 0 1.5-1.5H11Zm-1-1V6H6v4h4Zm-6.5 1A1.5 1.5 0 1 0 5 12.5V11H3.5ZM11 5h1.5A1.5 1.5 0 1 0 11 3.5V5ZM5 3.5A1.5 1.5 0 1 0 3.5 5H5V3.5Z\",\"M10 6.5V8h4V6.5a3.5 3.5 0 1 1 3.5 3.5H16v4h1.5a3.5 3.5 0 1 1-3.5 3.5V16h-4v1.5A3.5 3.5 0 1 1 6.5 14H8v-4H6.5A3.5 3.5 0 1 1 10 6.5Zm-5 0A1.5 1.5 0 0 0 6.5 8H8V6.5a1.5 1.5 0 1 0-3 0Zm5 7.5h4v-4h-4v4Zm7.5-6A1.5 1.5 0 1 0 16 6.5V8h1.5ZM5 17.5a1.5 1.5 0 0 0 3 0V16H6.5A1.5 1.5 0 0 0 5 17.5ZM17.5 16H16v1.5a1.5 1.5 0 1 0 1.5-1.5Z\",\"M13 8.5V11h6V8.5a4.5 4.5 0 1 1 4.5 4.5H21v6h2.5a4.5 4.5 0 1 1-4.5 4.5V21h-6v2.5A4.5 4.5 0 1 1 8.5 19H11v-6H8.5A4.5 4.5 0 1 1 13 8.5Zm-7 0A2.5 2.5 0 0 0 8.5 11H11V8.5a2.5 2.5 0 0 0-5 0ZM13 19h6v-6h-6v6Zm10.5-8A2.5 2.5 0 1 0 21 8.5V11h2.5ZM6 23.5a2.5 2.5 0 0 0 5 0V21H8.5A2.5 2.5 0 0 0 6 23.5ZM23.5 21H21v2.5a2.5 2.5 0 1 0 2.5-2.5Z\"]];","export default [[\"M0 2.5A1.5 1.5 0 0 1 1.5 1h9A1.5 1.5 0 0 1 12 2.5v5A1.5 1.5 0 0 1 10.5 9H7.84l-1.45 1.812a.5.5 0 0 1-.78 0L4.16 9H1.5A1.5 1.5 0 0 1 0 7.5v-5ZM3 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm4-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm2 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"M1 3.5A1.5 1.5 0 0 1 2.5 2h11A1.5 1.5 0 0 1 15 3.5v7a1.5 1.5 0 0 1-1.5 1.5H9.9l-1.517 1.82a.5.5 0 0 1-.768 0L6.1 12H2.5A1.5 1.5 0 0 1 1 10.5v-7ZM5 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm4-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm2 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"M1 6a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3h-5.034l-2.108 3.515a1 1 0 0 1-1.716 0L9.034 19H4a3 3 0 0 1-3-3V6Zm6.5 6a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm6.5-1.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm3.5 1.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\",\"M4 8a3 3 0 0 1 3-3h18a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3h-5.509l-2.627 4.504a1 1 0 0 1-1.728 0L12.51 23H7a3 3 0 0 1-3-3V8Zm6 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm8-2a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm4 2a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"],[\"<path d='M3 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm4-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm2 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M1.5 1A1.5 1.5 0 0 0 0 2.5v5A1.5 1.5 0 0 0 1.5 9h2.66l1.45 1.812a.5.5 0 0 0 .78 0L7.84 9h2.66A1.5 1.5 0 0 0 12 7.5v-5A1.5 1.5 0 0 0 10.5 1h-9ZM1 2.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5H7.6a.5.5 0 0 0-.39.188L6 9.7 4.79 8.188A.5.5 0 0 0 4.4 8H1.5a.5.5 0 0 1-.5-.5v-5Z'></path>\",\"<path d='M5 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm4-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm2 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M2.5 2A1.5 1.5 0 0 0 1 3.5v7A1.5 1.5 0 0 0 2.5 12h3.599l1.516 1.82a.5.5 0 0 0 .768 0L9.9 12h3.6a1.5 1.5 0 0 0 1.5-1.5v-7A1.5 1.5 0 0 0 13.5 2h-11ZM2 3.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5H9.666a.5.5 0 0 0-.384.18l-1.283 1.539-1.282-1.54A.5.5 0 0 0 6.333 11H2.5a.5.5 0 0 1-.5-.5v-7Z'></path>\",\"<path d='M7.5 12a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm6.5-1.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm3.5 1.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z'></path><path d='M4 3a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h5.034l2.108 3.515a1 1 0 0 0 1.716 0L14.966 19H20a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H4ZM3 6a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-5.6a1 1 0 0 0-.857.485L12 20.056l-1.543-2.57A1 1 0 0 0 9.6 17H4a1 1 0 0 1-1-1V6Z'></path>\",\"<path d='M10 16a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm8-2a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm4 2a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z'></path><path d='M7 5a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h5.509l2.627 4.504a1 1 0 0 0 1.728 0L19.49 23H25a3 3 0 0 0 3-3V8a3 3 0 0 0-3-3H7ZM6 8a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-6.083a1 1 0 0 0-.864.496L16 25.016l-2.053-3.52a1 1 0 0 0-.864-.496H7a1 1 0 0 1-1-1V8Z'></path>\"]];","export default [[\"M1.5 1A1.5 1.5 0 0 0 0 2.5v5A1.5 1.5 0 0 0 1.5 9h2.66l1.45 1.812a.5.5 0 0 0 .78 0L7.84 9h2.66A1.5 1.5 0 0 0 12 7.5v-5A1.5 1.5 0 0 0 10.5 1h-9Z\",\"M2.5 2A1.5 1.5 0 0 0 1 3.5v7A1.5 1.5 0 0 0 2.5 12h3.599l1.516 1.82a.5.5 0 0 0 .768 0L9.9 12h3.6a1.5 1.5 0 0 0 1.5-1.5v-7A1.5 1.5 0 0 0 13.5 2h-11Z\",\"M4 3a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h5.034l2.108 3.515a1 1 0 0 0 1.716 0L14.966 19H20a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H4Z\",\"M7 5a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h5.509l2.627 4.504a1 1 0 0 0 1.728 0L19.49 23H25a3 3 0 0 0 3-3V8a3 3 0 0 0-3-3H7Z\"],[\"M1.5 2a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h2.9a.5.5 0 0 1 .39.188L6 9.7l1.21-1.512A.5.5 0 0 1 7.6 8h2.9a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-9ZM0 2.5A1.5 1.5 0 0 1 1.5 1h9A1.5 1.5 0 0 1 12 2.5v5A1.5 1.5 0 0 1 10.5 9H7.84l-1.45 1.812a.5.5 0 0 1-.78 0L4.16 9H1.5A1.5 1.5 0 0 1 0 7.5v-5Z\",\"M2.5 3a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h3.833a.5.5 0 0 1 .384.18l1.282 1.539 1.283-1.54A.5.5 0 0 1 9.666 11H13.5a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-11ZM1 3.5A1.5 1.5 0 0 1 2.5 2h11A1.5 1.5 0 0 1 15 3.5v7a1.5 1.5 0 0 1-1.5 1.5H9.9l-1.517 1.82a.5.5 0 0 1-.768 0L6.1 12H2.5A1.5 1.5 0 0 1 1 10.5v-7Z\",\"M4 5a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h5.6a1 1 0 0 1 .857.485L12 20.056l1.543-2.57A1 1 0 0 1 14.4 17H20a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H4ZM1 6a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3h-5.034l-2.108 3.515a1 1 0 0 1-1.716 0L9.034 19H4a3 3 0 0 1-3-3V6Z\",\"M7 7a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h6.083a1 1 0 0 1 .864.496L16 25.016l2.053-3.52a1 1 0 0 1 .864-.496H25a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H7ZM4 8a3 3 0 0 1 3-3h18a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3h-5.509l-2.627 4.504a1 1 0 0 1-1.728 0L12.51 23H7a3 3 0 0 1-3-3V8Z\"]];","export default [[\"<g clip-path='url(#a)'><path d='M0 1.5A1.5 1.5 0 0 1 1.5 0h9A1.5 1.5 0 0 1 12 1.5v4c0 .054-.003.108-.008.16A4.491 4.491 0 0 0 8.5 4h-6a.5.5 0 0 0 0 1h3.171a4.491 4.491 0 0 0-1.668 3.671l-.113.141a.5.5 0 0 1-.78 0L1.66 7H1.5A1.5 1.5 0 0 1 0 5.5v-4Zm2 1a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 0-1h-5a.5.5 0 0 0-.5.5Zm5.468 6.324a.5.5 0 0 0-.936.351c.254.678.991 1.325 1.968 1.325s1.714-.647 1.968-1.325a.5.5 0 0 0-.936-.35c-.121.322-.509.675-1.032.675s-.91-.353-1.032-.676Z'></path><path d='M8 7.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm1.5.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M5 8.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM8.5 6a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path></g><defs><clipPath id='a'><path d='M0 0h12v12H0z'></path></clipPath></defs>\",\"<path d='M0 2.5A1.5 1.5 0 0 1 1.5 1h9A1.5 1.5 0 0 1 12 2.5v3.522a5.502 5.502 0 0 0-5.876 4.31l-1.24 1.488a.5.5 0 0 1-.768 0L2.599 10H1.5A1.5 1.5 0 0 1 0 8.5v-6Zm2 1a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 0-1h-5a.5.5 0 0 0-.5.5Zm0 2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 0-1h-7a.5.5 0 0 0-.5.5Zm0 2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 0-1h-2a.5.5 0 0 0-.5.5Zm7.947 4.777a.5.5 0 1 0-.894.447C9.406 13.429 10.355 14 11.5 14s2.094-.57 2.447-1.276a.5.5 0 1 0-.894-.447c-.147.294-.698.723-1.553.723s-1.406-.43-1.553-.723ZM11 10.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm1.5.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M7 11.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM11.5 8a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M3 1a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h1.034l2.109 3.515a1 1 0 0 0 1.714 0l.216-.36A9.087 9.087 0 0 1 8 17c0-2.305.867-4.408 2.292-6H5a1 1 0 1 1 0-2h7.873A8.95 8.95 0 0 1 17 8a8.96 8.96 0 0 1 4 .936V4a3 3 0 0 0-3-3H3Zm1 5a1 1 0 0 1 1-1h9a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1Zm11 11a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm4 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm-3.119 1.527a1 1 0 0 0-1.775.92 2.415 2.415 0 0 0 .196.309c.112.15.279.34.51.525.478.382 1.195.719 2.188.719.993 0 1.71-.337 2.187-.72a2.916 2.916 0 0 0 .643-.718 1.011 1.011 0 0 0-.383-1.456 1 1 0 0 0-1.328.42.922.922 0 0 1-.181.192c-.148.12-.43.282-.938.282-.507 0-.79-.163-.938-.28a.922.922 0 0 1-.181-.193Z'></path><path d='M17 10a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-5 7a5 5 0 1 1 10 0 5 5 0 0 1-10 0Z'></path>\",\"<path d='M1 5a3 3 0 0 1 3-3h18a3 3 0 0 1 3 3v6.414a11.006 11.006 0 0 0-4.001-.37L21 11a1 1 0 0 0-1-1H6a1 1 0 1 0 0 2h11.411a11.002 11.002 0 0 0-6.235 11.97l-.312.534a1 1 0 0 1-1.728 0L6.51 20H4a3 3 0 0 1-3-3V5Zm5 1a1 1 0 0 0 0 2h12a1 1 0 1 0 0-2H6Zm0 8a1 1 0 1 0 0 2h4.5a1 1 0 1 0 0-2H6Zm13.923 9.615a1 1 0 0 0-1.846.77C18.62 25.69 19.846 27 22 27s3.379-1.309 3.923-2.615a1 1 0 0 0-1.846-.77C23.764 24.366 23.159 25 22 25c-1.16 0-1.764-.634-2.077-1.385ZM20 20a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm5 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M13 22a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"],[\"<g clip-path='url(#a)'><path d='M1.5 0A1.5 1.5 0 0 0 0 1.5v4A1.5 1.5 0 0 0 1.5 7h.16l1.45 1.812a.5.5 0 0 0 .78 0l.113-.14a4.481 4.481 0 0 1 .478-2.198L3.5 7.699 2.29 6.188A.5.5 0 0 0 1.9 6h-.4a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v3.258c.374.25.708.555.992.903.005-.053.008-.107.008-.161v-4A1.5 1.5 0 0 0 10.5 0h-9Z'></path><path d='M5.671 5a4.479 4.479 0 0 1 2.453-.985A.501.501 0 0 0 8 4H2.5a.5.5 0 0 0 0 1h3.171ZM2.5 2a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5Zm4.968 6.824a.5.5 0 0 0-.936.351c.254.678.991 1.325 1.968 1.325s1.714-.647 1.968-1.325a.5.5 0 0 0-.936-.35c-.121.322-.509.675-1.032.675s-.91-.353-1.032-.676ZM8 7.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm1.5.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M5 8.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM8.5 6a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path></g><defs><clipPath id='a'><path d='M0 0h12v12H0z'></path></clipPath></defs>\",\"<path d='M1.5 1A1.5 1.5 0 0 0 0 2.5v6A1.5 1.5 0 0 0 1.5 10h1.1l1.516 1.82a.5.5 0 0 0 .768 0l1.24-1.488A5.46 5.46 0 0 1 6.6 9h-.433a.5.5 0 0 0-.384.18L4.5 10.719l-1.283-1.54A.5.5 0 0 0 2.833 9H1.5a.5.5 0 0 1-.5-.5v-6a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v3.522a5.571 5.571 0 0 1 1 0V2.5A1.5 1.5 0 0 0 10.5 1h-9Z'></path><path d='M2.5 3a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5ZM2 5.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm7.276 4.553a.5.5 0 0 1 .671.223c.147.295.698.724 1.553.724s1.406-.43 1.553-.723a.5.5 0 1 1 .894.447C13.594 13.429 12.645 14 11.5 14s-2.094-.57-2.447-1.276a.5.5 0 0 1 .223-.671ZM10.5 11a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm2.5-.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z'></path><path d='M7 11.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM11.5 8a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M0 4a3 3 0 0 1 3-3h15a3 3 0 0 1 3 3v4.936a8.935 8.935 0 0 0-2-.713V4a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h1.6a1 1 0 0 1 .857.486L7 16.055l1.543-2.57a.998.998 0 0 1 .315-.327A8.965 8.965 0 0 0 8 17c0 .391.025.777.073 1.155l-.216.36a1 1 0 0 1-1.714 0L4.033 15H3a3 3 0 0 1-3-3V4Z'></path><path d='M5 9h7.873a9.035 9.035 0 0 0-2.581 2H5a1 1 0 1 1 0-2ZM4 6a1 1 0 0 1 1-1h9a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1Zm10.553 12.105a1 1 0 0 1 1.328.422l.02.03c.029.037.08.098.161.162.148.118.43.281.938.281.507 0 .79-.163.938-.28a.922.922 0 0 0 .181-.193 1 1 0 0 1 1.328-.422 1.011 1.011 0 0 1 .383 1.457 2.916 2.916 0 0 1-.643.719C18.71 20.663 17.993 21 17 21c-.993 0-1.71-.337-2.187-.72a2.916 2.916 0 0 1-.643-.718 1.605 1.605 0 0 1-.064-.115 1 1 0 0 1 .447-1.341ZM16 16a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M10 17a7 7 0 1 1 14 0 7 7 0 0 1-14 0Zm7-5a5 5 0 1 0 0 10 5 5 0 0 0 0-10Z'></path>\",\"<path d='M1 5a3 3 0 0 1 3-3h18a3 3 0 0 1 3 3v6.414a10.96 10.96 0 0 0-2-.37V5a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h3.083a1 1 0 0 1 .864.496L10 22.016l1.184-2.03a11.067 11.067 0 0 0-.008 3.983l-.312.535a1 1 0 0 1-1.728 0L6.51 20H4a3 3 0 0 1-3-3V5Z'></path><path d='M20.999 11.045c-1.27.115-2.479.445-3.588.955H6a1 1 0 1 1 0-2h14a1 1 0 0 1 .999 1.045ZM6 6a1 1 0 0 0 0 2h12a1 1 0 1 0 0-2H6Zm0 8a1 1 0 1 0 0 2h4.5a1 1 0 1 0 0-2H6Zm13.923 9.615a1 1 0 0 0-1.846.77C18.62 25.69 19.846 27 22 27s3.379-1.309 3.923-2.615a1 1 0 0 0-1.846-.77C23.764 24.366 23.159 25 22 25c-1.16 0-1.764-.634-2.077-1.385ZM20 20a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm5 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M13 22a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"]];","export default [[\"<path d='M0 1.5A1.5 1.5 0 0 1 1.5 0h9A1.5 1.5 0 0 1 12 1.5v4.171a4.508 4.508 0 0 0-2.03-1.426A1.002 1.002 0 0 0 9 3a1 1 0 0 0-1 1.027c-.36.04-.707.123-1.037.242a1 1 0 1 0-1.242.692 4.492 4.492 0 0 0-1.603 4.567l-.228.284a.5.5 0 0 1-.78 0L1.66 8H1.5A1.5 1.5 0 0 1 0 6.5v-5ZM4 4a1 1 0 1 0-2 0 1 1 0 0 0 2 0Z'></path><path d='M8.5 7a.5.5 0 0 1 .5.5V8h.5a.5.5 0 0 1 0 1H9v.5a.5.5 0 0 1-1 0V9h-.5a.5.5 0 0 1 0-1H8v-.5a.5.5 0 0 1 .5-.5Z'></path><path d='M8.5 5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM6 8.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path>\",\"<path d='M0 2.5A1.5 1.5 0 0 1 1.5 1h9A1.5 1.5 0 0 1 12 2.5v3.522A5.5 5.5 0 0 0 6.6 9h-.2l-1.516 1.82a.5.5 0 0 1-.768 0L2.599 9H1.5A1.5 1.5 0 0 1 0 7.5v-5ZM4 5a1 1 0 1 0-2 0 1 1 0 0 0 2 0Zm2 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm4-1a1 1 0 1 0-2 0 1 1 0 0 0 2 0Zm2 4.5a.5.5 0 0 0-1 0V11H9.5a.5.5 0 0 0 0 1H11v1.5a.5.5 0 0 0 1 0V12h1.5a.5.5 0 0 0 0-1H12V9.5Z'></path><path d='M11.5 7a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9ZM8 11.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z'></path>\",\"<path d='M0 4a3 3 0 0 1 3-3h15a3 3 0 0 1 3 3v4.936A8.963 8.963 0 0 0 16.915 8a1.5 1.5 0 1 0-2.607.41 9.004 9.004 0 0 0-6.304 8.86l-.147.245a1 1 0 0 1-1.714 0L4.033 14H3a3 3 0 0 1-3-3V4Zm7 3.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0ZM10.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm7.5 5a1 1 0 1 0-2 0v2h-2a1 1 0 1 0 0 2h2v2a1 1 0 1 0 2 0v-2h2a1 1 0 1 0 0-2h-2v-2Z'></path><path d='M17 10a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-5 7a5 5 0 1 1 10 0 5 5 0 0 1-10 0Z'></path>\",\"<path d='M1 5a3 3 0 0 1 3-3h18a3 3 0 0 1 3 3v6.414a11.006 11.006 0 0 0-4-.37V11a2 2 0 1 0-3.701 1.052 11.001 11.001 0 0 0-6.123 11.917l-.312.535a1 1 0 0 1-1.728 0L6.51 20H4a3 3 0 0 1-3-3V5Zm8 6a2 2 0 1 0-4 0 2 2 0 0 0 4 0Zm4 2a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm10 5a1 1 0 1 0-2 0v3h-3a1 1 0 1 0 0 2h3v3a1 1 0 1 0 2 0v-3h3a1 1 0 1 0 0-2h-3v-3Z'></path><path d='M22 13a9 9 0 1 0 0 18 9 9 0 0 0 0-18Zm-7 9a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z'></path>\"],[\"<path d='M1 1.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v3.258c.378.253.715.561 1 .913V1.5A1.5 1.5 0 0 0 10.5 0h-9A1.5 1.5 0 0 0 0 1.5v5A1.5 1.5 0 0 0 1.5 8h.16l1.45 1.812a.5.5 0 0 0 .78 0l.228-.284a4.513 4.513 0 0 1-.095-1.482L3.5 8.7 2.29 7.188A.5.5 0 0 0 1.9 7h-.4a.5.5 0 0 1-.5-.5v-5Z'></path><path d='M10 4c0 .085-.01.167-.03.245A4.494 4.494 0 0 0 8 4.027 1 1 0 1 1 10 4ZM7 4a1 1 0 0 1-.037.27c-.452.164-.87.398-1.242.69A1 1 0 1 1 7 4ZM3 5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm5.5 2a.5.5 0 0 1 .5.5V8h.5a.5.5 0 0 1 0 1H9v.5a.5.5 0 0 1-1 0V9h-.5a.5.5 0 0 1 0-1H8v-.5a.5.5 0 0 1 .5-.5Z'></path><path d='M8.5 5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM6 8.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path>\",\"<path d='M1 2.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v3.522a5.571 5.571 0 0 1 1 0V2.5A1.5 1.5 0 0 0 10.5 1h-9A1.5 1.5 0 0 0 0 2.5v5A1.5 1.5 0 0 0 1.5 9h1.1l1.516 1.82a.5.5 0 0 0 .768 0L6.401 9H6.6c.183-.358.404-.693.657-1h-1.09a.5.5 0 0 0-.384.18L4.5 9.719l-1.283-1.54A.5.5 0 0 0 2.833 8H1.5a.5.5 0 0 1-.5-.5v-5Z'></path><path d='M3 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm4-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm2 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm3 3.5a.5.5 0 0 0-1 0V11H9.5a.5.5 0 0 0 0 1H11v1.5a.5.5 0 0 0 1 0V12h1.5a.5.5 0 0 0 0-1H12V9.5Z'></path><path d='M11.5 7a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9ZM8 11.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z'></path>\",\"<path d='M2 4a1 1 0 0 1 1-1h15a1 1 0 0 1 1 1v4.223c.701.16 1.372.4 2 .713V4a3 3 0 0 0-3-3H3a3 3 0 0 0-3 3v7a3 3 0 0 0 3 3h1.034l2.109 3.515a1 1 0 0 0 1.714 0l.147-.245A8.958 8.958 0 0 1 9.516 12H9.4a1 1 0 0 0-.857.486L7 15.056l-1.543-2.57A1 1 0 0 0 4.6 12H3a1 1 0 0 1-1-1V4Z'></path><path d='M17 7.5c0 .175-.03.344-.085.5a8.991 8.991 0 0 0-2.608.41A1.5 1.5 0 1 1 17 7.5ZM5.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM12 7.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm6 6.5a1 1 0 1 0-2 0v2h-2a1 1 0 1 0 0 2h2v2a1 1 0 1 0 2 0v-2h2a1 1 0 1 0 0-2h-2v-2Z'></path><path d='M17 10a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-5 7a5 5 0 1 1 10 0 5 5 0 0 1-10 0Z'></path>\",\"<path d='M3 5a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v6.045a10.96 10.96 0 0 1 2 .37V5a3 3 0 0 0-3-3H4a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h2.509l2.627 4.504a1 1 0 0 0 1.728 0l.312-.535a11.071 11.071 0 0 1 .008-3.983L10 22.016l-2.053-3.52A1 1 0 0 0 7.083 18H4a1 1 0 0 1-1-1V5Z'></path><path d='M21 11v.045a10.93 10.93 0 0 0-3.701 1.007A2 2 0 1 1 21 11ZM7 13a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm8-2a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm8 7a1 1 0 1 0-2 0v3h-3a1 1 0 1 0 0 2h3v3a1 1 0 1 0 2 0v-3h3a1 1 0 1 0 0-2h-3v-3Z'></path><path d='M22 13a9 9 0 1 0 0 18 9 9 0 0 0 0-18Zm-7 9a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z'></path>\"]];","export default [[\"M.022 5H1.5a.5.5 0 0 1 0 1H.022A5.502 5.502 0 0 0 5 10.978V9.5a.5.5 0 0 1 1 0v1.478A5.502 5.502 0 0 0 10.978 6H9.5a.5.5 0 0 1 0-1h1.478A5.502 5.502 0 0 0 6 .022V1.5a.5.5 0 0 1-1 0V.022A5.502 5.502 0 0 0 .022 5Zm7.832-1.853a.5.5 0 0 1 .075.61l-1.5 2.5a.5.5 0 0 1-.172.172l-2.5 1.5a.5.5 0 0 1-.686-.686l1.5-2.5a.5.5 0 0 1 .172-.172l2.5-1.5a.5.5 0 0 1 .61.075Z\",\"M.017 8A7.501 7.501 0 0 0 7 14.984V12.5a.5.5 0 1 1 1 0v2.484A7.501 7.501 0 0 0 14.984 8H12.5a.5.5 0 0 1 0-1h2.484A7.501 7.501 0 0 0 8 .016V2.5a.5.5 0 0 1-1 0V.016A7.501 7.501 0 0 0 .017 7H2.5a.5.5 0 0 1 0 1H.017Zm10.837-3.854a.5.5 0 0 1 .093.578l-2 4a.5.5 0 0 1-.223.223l-4 2a.5.5 0 0 1-.671-.67l2-4a.5.5 0 0 1 .224-.224l4-2a.5.5 0 0 1 .577.093ZM8 7.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\",\"M1.045 13A11.003 11.003 0 0 0 11 22.955V19a1 1 0 1 1 2 0v3.955A11.003 11.003 0 0 0 22.955 13H19a1 1 0 1 1 0-2h3.955A11.003 11.003 0 0 0 13 1.045V5a1 1 0 1 1-2 0V1.045A11.003 11.003 0 0 0 1.045 11H5a1 1 0 1 1 0 2H1.045Zm16.662-6.707a1 1 0 0 1 .212 1.101l-3 7a1 1 0 0 1-.525.525l-7 3a1 1 0 0 1-1.313-1.313l3-7a1 1 0 0 1 .525-.525l7-3a1 1 0 0 1 1.101.212ZM13 12a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\",\"M2.035 17c.49 6.935 6.03 12.475 12.965 12.965V25a1 1 0 1 1 2 0v4.965c6.935-.49 12.475-6.03 12.965-12.965H25a1 1 0 1 1 0-2h4.965C29.475 8.065 23.935 2.525 17 2.035V7a1 1 0 1 1-2 0V2.035C8.065 2.525 2.525 8.065 2.035 15H7a1 1 0 1 1 0 2H2.035Zm20.672-7.707a1 1 0 0 1 .187 1.154l-4 8a.999.999 0 0 1-.447.447l-8 4a1 1 0 0 1-1.341-1.341l4-8a1 1 0 0 1 .447-.447l8-4a1 1 0 0 1 1.154.187ZM17 16a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"],[\"M1.027 5A4.502 4.502 0 0 1 5 1.027V1.5a.5.5 0 0 0 1 0v-.473A4.502 4.502 0 0 1 9.973 5H9.5a.5.5 0 0 0 0 1h.473A4.502 4.502 0 0 1 6 9.973V9.5a.5.5 0 0 0-1 0v.473A4.502 4.502 0 0 1 1.027 6H1.5a.5.5 0 0 0 0-1h-.473ZM0 5.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0Zm7.929-1.743a.5.5 0 0 0-.686-.686l-2.5 1.5a.5.5 0 0 0-.172.172l-1.5 2.5a.5.5 0 0 0 .686.686l2.5-1.5a.5.5 0 0 0 .172-.172l1.5-2.5Z\",\"M8 2.5V1.019A6.501 6.501 0 0 1 13.981 7H12.5a.5.5 0 0 0 0 1h1.481A6.501 6.501 0 0 1 8 13.981V12.5a.5.5 0 0 0-1 0v1.481A6.501 6.501 0 0 1 1.019 8H2.5a.5.5 0 0 0 0-1H1.019A6.501 6.501 0 0 1 7 1.019V2.5a.5.5 0 0 0 1 0Zm-8 5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0Zm10.854-3.354a.5.5 0 0 1 .093.578l-2 4a.5.5 0 0 1-.223.223l-4 2a.5.5 0 0 1-.671-.67l2-4a.5.5 0 0 1 .223-.224l4-2a.5.5 0 0 1 .578.093ZM6.873 6.873 5.618 9.382l2.51-1.255 1.254-2.509-2.51 1.255ZM7.5 8a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\",\"M3.055 11H5a1 1 0 1 1 0 2H3.055A9.004 9.004 0 0 0 11 20.945V19a1 1 0 1 1 2 0v1.945A9.004 9.004 0 0 0 20.945 13H19a1 1 0 1 1 0-2h1.945A9.004 9.004 0 0 0 13 3.055V5a1 1 0 1 1-2 0V3.055A9.004 9.004 0 0 0 3.055 11ZM1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm16.707-5.707a1 1 0 0 1 .212 1.1l-3 7a1 1 0 0 1-.525.526l-7 3a1 1 0 0 1-1.313-1.313l3-7a1 1 0 0 1 .525-.525l7-3a1 1 0 0 1 1.101.212Zm-6.945 4.469-1.858 4.334 4.334-1.858 1.858-4.334-4.334 1.858ZM12 13a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"M4.041 15H7a1 1 0 1 1 0 2H4.041C4.522 22.83 9.171 27.478 15 27.959V25a1 1 0 1 1 2 0v2.959c5.83-.481 10.478-5.13 10.959-10.959H25a1 1 0 1 1 0-2h2.959C27.478 9.17 22.829 4.522 17 4.041V7a1 1 0 1 1-2 0V4.041C9.17 4.522 4.522 9.171 4.041 15ZM2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Zm20.707-6.707a1 1 0 0 1 .187 1.154l-4 8a1 1 0 0 1-.447.447l-8 4a1 1 0 0 1-1.341-1.341l4-8a1 1 0 0 1 .447-.447l8-4a1 1 0 0 1 1.154.187Zm-7.962 5.452-2.509 5.019 5.019-2.51 2.509-5.018-5.019 2.51ZM16 17a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"]];","export default [[\"M7.5 0a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-4ZM0 3.5A.5.5 0 0 1 .5 3h4a.5.5 0 0 1 .5.5V7h3.5a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-8ZM4 11V8H1v3h3Zm1 0h3V8H5v3ZM4 4H1v3h3V4Z\",\"<path d='M9 1.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-5Z'></path><path d='M1.5 4a.5.5 0 0 0-.5.5v10a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5H7V4.5a.5.5 0 0 0-.5-.5h-5ZM7 10h4v4H7v-4Zm-1 0v4H2v-4h4Zm0-1H2V5h4v4Z'></path>\",\"<path d='M14 1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1h-8Z'></path><path d='M1 6a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v7h7a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V6Zm8 15v-6H3v6h6Zm8 0v-6h-6v6h6ZM9 7H3v6h6V7Z'></path>\",\"<path d='M19 2a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H19Z'></path><path d='M2 9a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v9h9a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V9Zm10 19v-8H4v8h8Zm2-8v8h8v-8h-8Zm-2-10H4v8h8v-8Z'></path>\"],[\"M7.5 0a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-4ZM8 4V1h3v3H8ZM.5 3a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5H5V3.5a.5.5 0 0 0-.5-.5h-4ZM4 8v3H1V8h3Zm4 3H5V8h3v3ZM4 7V4H1v3h3Z\",\"<path d='M9.5 1a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-5ZM14 6h-4V2h4v4Z'></path><path d='M1.5 4a.5.5 0 0 0-.5.5v10a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5H7V4.5a.5.5 0 0 0-.5-.5h-5ZM7 10v4h4v-4H7Zm-1 0H2v4h4v-4Zm0-1H2V5h4v4Z'></path>\",\"<path d='M14 1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1h-8Zm7 8h-6V3h6v6Z'></path><path d='M2 5a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-8a1 1 0 0 0-1-1h-7V6a1 1 0 0 0-1-1H2Zm7 10v6H3v-6h6Zm8 0v6h-6v-6h6Zm-8-2V7H3v6h6Z'></path>\",\"<path d='M19 2a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H19Zm9 10h-8V4h8v8Z'></path><path d='M3 8a1 1 0 0 0-1 1v20a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1V19a1 1 0 0 0-1-1h-9V9a1 1 0 0 0-1-1H3Zm9 12v8H4v-8h8Zm10 0v8h-8v-8h8Zm-10-2v-8H4v8h8Z'></path>\"]];","export default [[\"M5.157 1.143a.5.5 0 0 1 .707 0l2.149 2.149-2.495 2.495-2.503-2.503 2.142-2.141ZM2.308 3.991l-2.15 2.15a.5.5 0 0 0 0 .707l2.15 2.15L4.81 6.493 2.308 3.991Zm.707 5.713 2.142 2.142a.5.5 0 0 0 .707 0l2.149-2.15-2.495-2.495-2.503 2.503ZM8.72 8.99l2.142-2.142a.5.5 0 0 0 0-.707L8.72 3.999 6.225 6.494 8.72 8.99Z\",\"M7.646 1.146a.5.5 0 0 1 .708 0l2.896 2.897L8.002 7.29l-3.25-3.25 2.894-2.895ZM4.045 4.748 1.146 7.646a.5.5 0 0 0 0 .708l2.897 2.896 3.252-3.252-3.25-3.25Zm.705 7.209 2.896 2.897a.5.5 0 0 0 .708 0l2.898-2.899-3.25-3.25-3.252 3.252Zm7.21-.709 2.894-2.894a.5.5 0 0 0 0-.708L11.957 4.75 8.709 7.998l3.25 3.25Z\",\"M11.293 1.293a1 1 0 0 1 1.414 0L17 5.586l-4.998 4.998-5-5 4.29-4.291ZM5.588 6.998l-4.295 4.295a1 1 0 0 0 0 1.414L5.586 17l5.002-5.002-5-5ZM7 18.414l4.293 4.293a1 1 0 0 0 1.414 0l4.295-4.295-5-5L7 18.415Zm11.416-1.416 4.291-4.29a1 1 0 0 0 0-1.415L18.414 7l-4.998 4.998 5 5Z\",\"M15.293 2.293a1 1 0 0 1 1.414 0L22.5 8.086l-6.498 6.498-6.5-6.5 5.79-5.791ZM8.088 9.498l-5.795 5.795a1 1 0 0 0 0 1.414L8.086 22.5l6.502-6.502-6.5-6.5ZM9.5 23.914l5.793 5.793a1 1 0 0 0 1.414 0l5.795-5.795-6.5-6.5L9.5 23.914Zm14.416-1.416 5.791-5.79a1 1 0 0 0 0-1.415L23.914 9.5l-6.498 6.498 6.5 6.5Z\"],[\"M5.864 1.143a.5.5 0 0 0-.707 0L.158 6.14a.5.5 0 0 0 0 .707l4.999 4.998a.5.5 0 0 0 .707 0l4.998-4.998a.5.5 0 0 0 0-.707L5.864 1.143Zm-2.85 7.146L1.218 6.494 3.014 4.7l1.794 1.794L3.013 8.29Zm.707.707 1.79 1.79L7.304 8.99 5.515 7.2 3.721 8.996Zm4.29-.712 1.79-1.79-1.79-1.79-1.789 1.79 1.79 1.79Zm-.706-4.286L5.51 2.203l-1.79 1.79 1.795 1.794 1.79-1.79Z\",\"M8.354 1.146a.5.5 0 0 0-.708 0l-6.5 6.5a.5.5 0 0 0 0 .708l6.5 6.5a.5.5 0 0 0 .708 0l6.5-6.5a.5.5 0 0 0 0-.708l-6.5-6.5ZM4.75 10.543 2.207 8l2.545-2.545 2.543 2.543-2.545 2.545Zm.707.707L8 13.793l2.545-2.545-2.543-2.543-2.545 2.545Zm5.795-.71L13.792 8 11.25 5.457 8.71 7.998l2.542 2.543Zm-.709-5.79L8 2.207 5.46 4.748l2.542 2.543 2.541-2.54Z\",\"M12.707 1.293a1 1 0 0 0-1.414 0l-10 10a1 1 0 0 0 0 1.414l10 10a1 1 0 0 0 1.414 0l10-10a1 1 0 0 0 0-1.414l-10-10Zm-4.29 5.705L12 3.414 15.586 7l-3.584 3.584-3.586-3.586ZM7.001 8.412 3.414 12 7 15.586l3.588-3.588-3.586-3.586ZM8.414 17 12 20.586l3.588-3.588-3.586-3.586L8.414 17Zm8.588-1.416L20.586 12 17 8.414l-3.584 3.584 3.586 3.586Z\",\"M16.707 2.293a1 1 0 0 0-1.414 0l-13 13a1 1 0 0 0 0 1.414l13 13a1 1 0 0 0 1.414 0l13-13a1 1 0 0 0 0-1.414l-13-13Zm-5.79 7.205L16 4.414 21.086 9.5l-5.084 5.084-5.086-5.086Zm-1.415 1.414L4.414 16 9.5 21.086l5.088-5.088-5.086-5.086ZM10.914 22.5 16 27.586l5.088-5.088-5.086-5.086-5.088 5.088Zm11.588-1.416L27.586 16 22.5 10.914l-5.084 5.084 5.086 5.086Z\"]];","export default [[\"<path d='M7.469 3.357a2 2 0 1 0-2.938 0c-.693.362-1.225.973-1.434 1.719C3.295 5.026 3.5 5 3.71 5h4.58c.209 0 .414.026.612.076-.21-.746-.74-1.357-1.434-1.719Zm-4.186-.08c-.596.57-1 1.335-1.071 2.22a2.5 2.5 0 0 0-.448.432l-.789.977A1.5 1.5 0 0 1 0 5.5V5c0-.654.314-1.235.8-1.6a1.5 1.5 0 1 1 2.484-.123Z'></path><path d='M12 5.5a1.5 1.5 0 0 1-.975 1.406l-.789-.977a2.497 2.497 0 0 0-.448-.431 3.438 3.438 0 0 0-1.071-2.221A1.5 1.5 0 1 1 11.2 3.4c.485.365.799.946.799 1.6v.5Zm-9.308.872A1 1 0 0 1 3.47 6h5.06a1 1 0 0 1 .778.372l2.423 3A1 1 0 0 1 10.953 11H1.047a1 1 0 0 1-.778-1.628l2.423-3Z'></path>\",\"M10.5 3.5c0 .894-.47 1.68-1.176 2.121.742.15 1.328.438 1.765.854.537.51.797 1.165.88 1.852A2.5 2.5 0 0 0 10.732 8H5.268a2.5 2.5 0 0 0-1.237.327c.083-.687.343-1.341.88-1.852.437-.416 1.023-.704 1.765-.854A2.5 2.5 0 1 1 10.5 3.5ZM13 9.355l.486.645H15a1 1 0 0 0 1-1v-.786c0-.781-.437-1.427-1.07-1.816a2 2 0 1 0-3.345-.82c.066.055.13.112.193.172C12.714 6.64 13 7.81 13 8.857v.498ZM1 10h1.514L3 9.355v-.498C3 7.81 3.286 6.64 4.222 5.75a3.89 3.89 0 0 1 .193-.172 2 2 0 1 0-3.345.82C.436 6.788 0 7.433 0 8.214V9a1 1 0 0 0 1 1Zm3.22-.602A1 1 0 0 1 5.018 9h5.964a1 1 0 0 1 .798.398l3.015 4A1 1 0 0 1 13.997 15H2.003a1 1 0 0 1-.798-1.602l3.015-4Z\",\"M8.5 5.5a3.5 3.5 0 1 1 6.165 2.269A4.996 4.996 0 0 1 17 12v.087a4 4 0 0 0-.83-.087H7.83c-.282 0-.56.03-.831.087V12c0-1.782.932-3.346 2.335-4.231A3.486 3.486 0 0 1 8.5 5.5Zm10.646 7.828.603.672H20a3 3 0 0 0 3-3v-.143c0-1.274-.63-2.378-1.586-3.075a3 3 0 0 0-4.243-4.16A5.49 5.49 0 0 1 17.5 5.5c0 .634-.107 1.242-.304 1.809A6.974 6.974 0 0 1 19 12v1.174c.05.05.099.101.146.154ZM4 14h.251l.603-.672A3.98 3.98 0 0 1 5 13.174V12c0-1.805.683-3.45 1.804-4.691A5.492 5.492 0 0 1 6.5 5.5c0-.66.116-1.292.329-1.878a3 3 0 0 0-4.243 4.16C1.63 8.479 1 9.583 1 10.857V11a3 3 0 0 0 3 3Zm2.342.664A2 2 0 0 1 7.831 14h8.338a2 2 0 0 1 1.489.664l3.59 4c1.155 1.288.241 3.336-1.49 3.336H4.242c-1.73 0-2.644-2.048-1.488-3.336l3.59-4Z\",\"<path d='M16 4a5 5 0 0 0-3.376 8.688 6.32 6.32 0 0 0-1.645 1.081c-.988.903-1.632 2.097-1.873 3.478A3.997 3.997 0 0 1 10.489 17h11.022c.478 0 .945.085 1.383.247-.24-1.38-.885-2.575-1.873-3.478a6.32 6.32 0 0 0-1.645-1.08A5 5 0 0 0 16 4ZM7 18.5v.47L6.2 20H4a3 3 0 0 1-3-3v-1c0-1.904 1.135-3.483 2.754-4.33a3.5 3.5 0 0 1 5.458-4.383A7.014 7.014 0 0 0 9 9c0 .85.151 1.664.429 2.417a3.512 3.512 0 0 1-.183.253c.128.066.252.138.373.213.045.1.092.197.141.293a8.336 8.336 0 0 0-.13.117C7.902 13.872 7 16.078 7 18.5Z'></path><path d='M28 20h-2.2l-.8-1.03v-.47c0-2.422-.902-4.628-2.63-6.207a8.43 8.43 0 0 0-.13-.117c.049-.096.096-.194.14-.293.122-.075.246-.146.373-.213a3.515 3.515 0 0 1-.182-.253A6.987 6.987 0 0 0 23 9c0-.591-.073-1.165-.211-1.714a3.5 3.5 0 0 1 5.458 4.383C29.864 12.518 31 14.097 31 16v1a3 3 0 0 1-3 3Zm-19.09-.228A2 2 0 0 1 10.49 19h11.02a2 2 0 0 1 1.58.772l5.444 7C29.556 28.086 28.62 30 26.955 30H5.045c-1.665 0-2.6-1.914-1.58-3.228l5.445-7Z'></path>\"],[\"<path d='M7.469 3.357a2 2 0 1 0-2.938 0c-.307.16-.583.37-.813.619A2.01 2.01 0 0 0 3.2 3.4a1.5 1.5 0 1 0-2.4 0C.314 3.765 0 4.346 0 5v.5a1.5 1.5 0 0 0 .975 1.406L1.706 6H1.5a.5.5 0 0 1-.5-.5V5a1 1 0 0 1 2 0v.102c.228-.067.466-.102.709-.102h.497c.32-.58.983-1 1.794-1s1.475.42 1.794 1h.497c.243 0 .481.035.709.102V5a1 1 0 1 1 2 0v.5a.5.5 0 0 1-.5.5h-.207l.732.906A1.5 1.5 0 0 0 12 5.5V5c0-.654-.314-1.235-.8-1.6a1.5 1.5 0 1 0-2.4 0 2.01 2.01 0 0 0-.518.576 2.989 2.989 0 0 0-.813-.619ZM2 3a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Zm8.5-.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM6 3a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z'></path><path d='M3.47 6a1 1 0 0 0-.778.372l-2.423 3A1 1 0 0 0 1.047 11h9.906a1 1 0 0 0 .778-1.628l-2.423-3A1 1 0 0 0 8.53 6H3.47Zm-2.423 4L3.47 7h5.06l2.423 3H1.047Z'></path>\",\"<path d='M9.324 5.621a2.5 2.5 0 1 0-2.648 0c-.742.15-1.328.438-1.765.854a2.729 2.729 0 0 0-.378.445 2.394 2.394 0 0 0-.603-.522 2 2 0 1 0-2.86 0C.436 6.788 0 7.433 0 8.214V9a1 1 0 0 0 1 1h1.514l.754-1H1v-.786C1 7.614 1.596 7 2.5 7S4 7.613 4 8.214v.131a2.5 2.5 0 0 1 1.115-.34c.097-.318.256-.588.485-.806C6.018 6.802 6.747 6.5 8 6.5s1.982.302 2.4.7c.229.217.388.487.485.805a2.5 2.5 0 0 1 1.115.34v-.13C12 7.612 12.597 7 13.5 7s1.5.613 1.5 1.214V9h-2.268l.754 1H15a1 1 0 0 0 1-1v-.786c0-.781-.437-1.427-1.07-1.816a2 2 0 1 0-2.86 0 2.395 2.395 0 0 0-.603.522 2.725 2.725 0 0 0-.378-.445c-.437-.416-1.023-.704-1.765-.854ZM8 5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3ZM3.5 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm10 1a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z'></path><path d='M5.018 9a1 1 0 0 0-.798.398l-3.015 4A1 1 0 0 0 2.003 15h11.994a1 1 0 0 0 .798-1.602l-3.015-4A1 1 0 0 0 10.982 9H5.018Zm-3.015 5 3.015-4h5.964l3.015 4H2.003Z'></path>\",\"M14.665 7.769a3.5 3.5 0 1 0-5.33 0c-.39.246-.743.544-1.05.884a3.941 3.941 0 0 0-.871-.871 3 3 0 1 0-4.827 0C1.63 8.479 1 9.583 1 10.857V11a3 3 0 0 0 3 3h.251l.603-.672A4 4 0 0 1 7.831 12H9a3 3 0 1 1 6 0h1.17a4 4 0 0 1 2.976 1.328l.603.672H20a3 3 0 0 0 3-3v-.143c0-1.274-.63-2.378-1.586-3.075a3 3 0 1 0-4.827 0c-.335.244-.63.538-.872.871a5.024 5.024 0 0 0-1.05-.884ZM12 4a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3ZM4 6a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm-1 4.857C3 9.877 3.849 9 5 9s2 .877 2 1.857V11a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-.143Zm14 0C17 9.877 17.849 9 19 9s2 .877 2 1.857V11a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1v-.143ZM19 7a1 1 0 1 1 0-2 1 1 0 0 1 0 2ZM7.83 14a2 2 0 0 0-1.488.664l-3.59 4C1.598 19.952 2.512 22 4.243 22H19.76c1.73 0 2.644-2.048 1.488-3.336l-3.59-4A2 2 0 0 0 16.17 14H7.831Zm-3.589 6 3.59-4h8.338l3.59 4H4.24Z\",\"<path d='M19.376 12.688a5 5 0 1 0-6.752 0 6.397 6.397 0 0 0-1.346.825 5.295 5.295 0 0 0-2.032-1.843 3.5 3.5 0 1 0-5.493 0C2.136 12.517 1 14.096 1 16v1a3 3 0 0 0 3 3h2.2l1.132-1.456c.154-.198.326-.38.511-.544H4a1 1 0 0 1-1-1v-1c0-1.55 1.453-3 3.5-3 1.669 0 2.943.964 3.357 2.16a6.275 6.275 0 0 0-.75 2.087A3.997 3.997 0 0 1 10.488 17h.73a3.959 3.959 0 0 1 1.11-1.755C13.162 14.483 14.405 14 16 14c1.593 0 2.837.483 3.672 1.245A3.97 3.97 0 0 1 20.781 17h.73c.478 0 .945.085 1.383.247a6.274 6.274 0 0 0-.75-2.087C22.556 13.964 23.83 13 25.5 13c2.047 0 3.5 1.45 3.5 3v1a1 1 0 0 1-1 1h-3.843c.185.164.357.346.511.544L25.801 20H28a3 3 0 0 0 3-3v-1c0-1.904-1.135-3.483-2.753-4.33a3.5 3.5 0 1 0-5.493 0 5.295 5.295 0 0 0-2.032 1.843 6.397 6.397 0 0 0-1.346-.825ZM16 6a3 3 0 1 1 0 6 3 3 0 0 1 0-6ZM6.5 8a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3ZM27 9.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z'></path><path d='M10.49 19a2 2 0 0 0-1.58.772l-5.444 7C2.444 28.086 3.38 30 5.045 30h21.91c1.665 0 2.6-1.914 1.58-3.228l-5.445-7A2 2 0 0 0 21.51 19H10.49Zm-5.445 9 5.444-7h11.022l5.444 7H5.045Z'></path>\"]];","export default [[\"M1 2.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5V4H1V2.5ZM0 5v5.5a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5V5H0Zm11-1V2.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5V4h4Z\",\"M2 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5V6H2V3.5ZM1 7v6.5a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5V7H1Zm13-1V3.5a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 0-.5.5V6h5Z\",\"M3 6a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v3H3V6Zm-2 5v9a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1v-9H1Zm20-2V6a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v3h8Z\",\"M4 6a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v4H4V6Zm-3 6v14a1 1 0 0 0 1 1h28a1 1 0 0 0 1-1V12H1Zm27-2V6a1 1 0 0 0-1-1h-8a1 1 0 0 0-1 1v4h10Z\"],[\"M1 2.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5V4h2V2.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5V4h.5a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5H.5a.5.5 0 0 1-.5-.5v-6A.5.5 0 0 1 .5 4H1V2.5ZM1 5v5h10V5H1Zm9-1V3H8v1h2ZM4 3v1H2V3h2Z\",\"M2 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5V6h2V3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5V6h.5a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5v-7a.5.5 0 0 1 .5-.5H2V3.5ZM2 7v6h12V7H2Zm11-1V4h-3v2h3ZM6 4v2H3V4h3Z\",\"M3 6a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v3h2V6a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v3h1a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V10a1 1 0 0 1 1-1h1V6Zm0 5v8h18v-8H3Zm16-2V7h-4v2h4ZM9 7v2H5V7h4Z\",\"M4 6a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v4h4V6a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v4h2a1 1 0 0 1 1 1v15a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V11a1 1 0 0 1 1-1h2V6Zm-1 6v13h26V12H3Zm23-2V7h-6v3h6ZM12 7v3H6V7h6Z\"]];","export default [[\"M2.5 1A1.5 1.5 0 0 0 1 2.5v6A1.5 1.5 0 0 0 2.5 10h7A1.5 1.5 0 0 0 11 8.5v-6A1.5 1.5 0 0 0 9.5 1h-7Zm1 2h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1ZM3 5.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5ZM3.5 7h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1Z\",\"M3.5 1A1.5 1.5 0 0 0 2 2.5v10A1.5 1.5 0 0 0 3.5 14h9a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 12.5 1h-9Zm1 3h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1Zm0 3h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1Zm0 3h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1Z\",\"M5 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H5Zm2 4h10a1 1 0 1 1 0 2H7a1 1 0 0 1 0-2Zm0 5h10a1 1 0 1 1 0 2H7a1 1 0 1 1 0-2Zm0 5h10a1 1 0 1 1 0 2H7a1 1 0 1 1 0-2Z\",\"M6 2a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H6Zm2 7h16a1 1 0 1 1 0 2H8a1 1 0 1 1 0-2Zm-1 7a1 1 0 0 1 1-1h16a1 1 0 1 1 0 2H8a1 1 0 0 1-1-1Zm1 5h16a1 1 0 1 1 0 2H8a1 1 0 1 1 0-2Z\"],[\"<path d='M3.5 3a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5ZM3 5.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5ZM3.5 7a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5Z'></path><path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v6A1.5 1.5 0 0 0 2.5 10h7A1.5 1.5 0 0 0 11 8.5v-6A1.5 1.5 0 0 0 9.5 1h-7ZM2 2.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-6Z'></path>\",\"<path d='M4.5 4a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7Zm0 3a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7Zm0 3a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7Z'></path><path d='M3.5 1A1.5 1.5 0 0 0 2 2.5v10A1.5 1.5 0 0 0 3.5 14h9a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 12.5 1h-9ZM3 2.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v10a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-10Z'></path>\",\"<path d='M7 6a1 1 0 0 0 0 2h10a1 1 0 1 0 0-2H7Zm0 5a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2H7Zm0 5a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2H7Z'></path><path d='M5 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H5ZM4 5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V5Z'></path>\",\"<path d='M8 9a1 1 0 0 0 0 2h16a1 1 0 1 0 0-2H8Zm-1 7a1 1 0 0 1 1-1h16a1 1 0 1 1 0 2H8a1 1 0 0 1-1-1Zm1 5a1 1 0 1 0 0 2h16a1 1 0 1 0 0-2H8Z'></path><path d='M6 2a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H6ZM5 5a1 1 0 0 1 1-1h20a1 1 0 0 1 1 1v22a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5Z'></path>\"]];","export default [[\"M1.854 2.146a.5.5 0 1 0-.708.708L3.793 5.5 1.146 8.146a.5.5 0 1 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3ZM4.5 2a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Zm6 3h-4a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1ZM4 8.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5Z\",\"M2.854 4.146a.5.5 0 1 0-.708.708L4.793 7.5l-2.647 2.646a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3ZM13.5 4h-7a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1Zm0 3h-6a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1ZM6 10.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Z\",\"M3.673 6.26a1 1 0 1 0-1.346 1.48L7.013 12l-4.686 4.26a1 1 0 1 0 1.346 1.48l5.5-5a1 1 0 0 0 0-1.48l-5.5-5ZM9 6a1 1 0 0 0 0 2h12a1 1 0 1 0 0-2H9Zm3 5a1 1 0 1 0 0 2h9a1 1 0 1 0 0-2h-9Zm-4 6a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1Z\",\"M4.682 8.269A1 1 0 1 0 3.318 9.73L10.034 16l-6.716 6.269a1 1 0 0 0 1.364 1.462l7.5-7a1 1 0 0 0 0-1.462l-7.5-7ZM11.5 8a1 1 0 1 0 0 2H29a1 1 0 1 0 0-2H11.5Zm4 7a1 1 0 1 0 0 2H29a1 1 0 1 0 0-2H15.5Zm-5 8a1 1 0 0 1 1-1H29a1 1 0 1 1 0 2H11.5a1 1 0 0 1-1-1Z\"]];","export default [[\"<path d='M6 1H2.5A1.5 1.5 0 0 0 1 2.5v7A1.5 1.5 0 0 0 2.5 11h6A1.5 1.5 0 0 0 10 9.5V5H7.5A1.5 1.5 0 0 1 6 3.5V1ZM5 3.5a.5.5 0 0 0-1 0v.198c-.223.07-.42.186-.583.345-.275.27-.417.636-.417 1.02 0 .382.13.72.415.975.26.234.608.364.97.449.304.07.457.151.53.218.05.044.085.097.085.232a.418.418 0 0 1-.118.307c-.07.068-.188.131-.382.131-.277 0-.493-.075-.646-.229a.5.5 0 1 0-.708.708c.254.253.552.396.854.466v.18a.5.5 0 0 0 1 0v-.198c.223-.07.42-.186.583-.345.275-.27.417-.636.417-1.02 0-.382-.13-.72-.415-.975-.26-.234-.608-.364-.97-.449-.304-.07-.457-.151-.53-.218C4.035 5.251 4 5.198 4 5.063s.048-.238.118-.307c.07-.068.188-.131.382-.131.227 0 .354.086.42.174a.5.5 0 0 0 .8-.599A1.407 1.407 0 0 0 5 3.698V3.5Z'></path><path d='M9.85 4a1.5 1.5 0 0 0-.237-.351L7.67 1.495A1.5 1.5 0 0 0 7 1.067V3.5a.5.5 0 0 0 .5.5h2.35Z'></path>\",\"<path d='M2 2.5A1.5 1.5 0 0 1 3.5 1H8v3.5A1.5 1.5 0 0 0 9.5 6H13v7.5a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 2 13.5v-11Zm6 4a.5.5 0 0 0-1 0v.522c-.541.186-1 .672-1 1.4 0 .395.119.75.39 1.031.254.266.602.423.975.528.294.083.445.176.523.258.063.065.112.159.112.347 0 .306-.236.5-.5.5-.31 0-.51-.153-.646-.29a.5.5 0 1 0-.708.708c.163.162.444.4.854.514v.482a.5.5 0 0 0 1 0V12c.545-.191 1-.692 1-1.414 0-.398-.118-.754-.388-1.037-.255-.268-.604-.425-.977-.53-.294-.083-.446-.176-.524-.258C7.048 8.696 7 8.605 7 8.421c0-.295.224-.483.5-.483.189 0 .306.032.388.07a.91.91 0 0 1 .258.195.5.5 0 1 0 .708-.707 1.893 1.893 0 0 0-.545-.395A1.661 1.661 0 0 0 8 6.993V6.5Z'></path><path d='M12.826 5a1.5 1.5 0 0 0-.297-.39L9.132 1.407A1.502 1.502 0 0 0 9 1.298V4.5a.5.5 0 0 0 .5.5h3.326Z'></path>\",\"<path d='M14 2H6a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V9h-4a3 3 0 0 1-3-3V2Zm-1 6a1 1 0 1 0-2 0v.16c-1.123.368-2 1.347-2 2.66 0 .725.215 1.416.725 1.99.492.554 1.186.916 1.998 1.15.583.17.887.384 1.045.567.144.167.228.377.228.692 0 .362-.314.781-.996.781-.666 0-.982-.263-1.155-.536a1 1 0 1 0-1.69 1.072A3.094 3.094 0 0 0 11 17.876V18a1 1 0 1 0 2 0v-.156c1.11-.355 1.996-1.299 1.996-2.625 0-.721-.211-1.417-.714-1.999-.488-.566-1.181-.943-2.004-1.18-.595-.172-.902-.382-1.058-.558-.138-.156-.22-.351-.22-.662 0-.386.346-.82 1-.82.668 0 .984.264 1.155.534a1 1 0 1 0 1.69-1.068A3.074 3.074 0 0 0 13 8.125V8Z'></path><path d='M20.727 7a2.999 2.999 0 0 0-.673-.937l-3.459-3.25A2.999 2.999 0 0 0 16 2.38V6a1 1 0 0 0 1 1h3.727Z'></path>\",\"<path d='M19 2H7a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h18a3 3 0 0 0 3-3V11h-6a3 3 0 0 1-3-3V2Zm-2 9a1 1 0 1 0-2 0v.867c-1.656.39-3 1.732-3 3.508 0 .997.363 1.832 1.107 2.457.686.578 1.627.915 2.68 1.145.946.207 1.506.458 1.82.721.256.216.393.474.393.927 0 .776-.766 1.625-2 1.625-1.114 0-1.868-.709-1.983-1.411a1 1 0 0 0-1.973.322c.247 1.513 1.47 2.625 2.956 2.973V25a1 1 0 1 0 2 0v-.867c1.656-.39 3-1.732 3-3.508 0-.997-.363-1.832-1.107-2.457-.686-.578-1.627-.915-2.68-1.145-.947-.207-1.506-.458-1.82-.721-.256-.216-.393-.474-.393-.927 0-.776.766-1.625 2-1.625 1.114 0 1.868.709 1.983 1.411a1 1 0 0 0 1.973-.322c-.247-1.513-1.47-2.625-2.956-2.973V11Z'></path><path d='M27.378 9a2.99 2.99 0 0 0-.257-.293L21.293 2.88A3.01 3.01 0 0 0 21 2.622V8a1 1 0 0 0 1 1h5.378Z'></path>\"],[\"<path d='M5 3.5a.5.5 0 0 0-1 0v.198c-.223.07-.42.186-.583.345-.275.27-.417.636-.417 1.02 0 .382.13.72.415.975.26.234.608.364.97.449.304.07.457.151.53.218.05.044.085.097.085.232a.418.418 0 0 1-.118.307c-.07.068-.188.131-.382.131-.277 0-.493-.075-.646-.229a.5.5 0 1 0-.708.708c.254.253.552.396.854.466v.18a.5.5 0 0 0 1 0v-.198c.223-.07.42-.186.583-.345.275-.27.417-.636.417-1.02 0-.382-.13-.72-.415-.975-.26-.234-.608-.364-.97-.449-.304-.07-.457-.151-.53-.218C4.035 5.251 4 5.198 4 5.063s.048-.238.118-.307c.07-.068.188-.131.382-.131.227 0 .354.086.42.174a.5.5 0 0 0 .8-.599A1.407 1.407 0 0 0 5 3.698V3.5Z'></path><path d='M6.556 1H2.5A1.5 1.5 0 0 0 1 2.5v7A1.5 1.5 0 0 0 2.5 11h6A1.5 1.5 0 0 0 10 9.5V4.654a1.5 1.5 0 0 0-.387-1.005L7.67 1.495A1.5 1.5 0 0 0 6.556 1ZM2.5 2a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5V5H7.5A1.5 1.5 0 0 1 6 3.5V2H2.5Zm4.5.246L8.583 4H7.5a.5.5 0 0 1-.5-.5V2.246Z'></path>\",\"<path d='M8 6.5a.5.5 0 0 0-1 0v.522c-.541.186-1 .672-1 1.4 0 .395.119.75.39 1.031.254.266.602.423.975.528.294.083.445.176.523.258.063.065.112.159.112.347 0 .306-.236.5-.5.5-.31 0-.51-.153-.646-.29a.5.5 0 1 0-.708.708c.163.162.444.4.854.514v.482a.5.5 0 0 0 1 0V12c.545-.191 1-.692 1-1.414 0-.398-.118-.754-.388-1.037-.255-.268-.604-.425-.977-.53-.294-.083-.446-.176-.524-.258C7.048 8.696 7 8.605 7 8.421c0-.295.224-.483.5-.483.189 0 .306.032.388.07a.91.91 0 0 1 .258.195.5.5 0 1 0 .708-.707 1.893 1.893 0 0 0-.545-.395A1.661 1.661 0 0 0 8 6.993V6.5Z'></path><path d='M2 2.5A1.5 1.5 0 0 1 3.5 1h4.603a1.5 1.5 0 0 1 1.029.408l3.397 3.201c.3.284.471.679.471 1.092V13.5a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 2 13.5v-11ZM3.5 2a.5.5 0 0 0-.5.5v11a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5V6H9.5A1.5 1.5 0 0 1 8 4.5V2H3.5Zm5.5.658L11.485 5H9.5a.5.5 0 0 1-.5-.5V2.658Z'></path>\",\"<path d='M13 8a1 1 0 1 0-2 0v.16c-1.123.368-2 1.347-2 2.66 0 .725.215 1.416.725 1.99.492.554 1.186.916 1.998 1.15.583.17.887.384 1.045.567.144.167.228.377.228.692 0 .362-.314.781-.996.781-.666 0-.982-.263-1.155-.536a1 1 0 1 0-1.69 1.072A3.094 3.094 0 0 0 11 17.876V18a1 1 0 1 0 2 0v-.156c1.11-.355 1.996-1.299 1.996-2.625 0-.721-.211-1.417-.714-1.999-.488-.566-1.181-.943-2.004-1.18-.595-.172-.902-.382-1.058-.558-.138-.156-.22-.351-.22-.662 0-.386.346-.82 1-.82.668 0 .984.264 1.155.534a1 1 0 1 0 1.69-1.068A3.074 3.074 0 0 0 13 8.125V8Z'></path><path d='M3 5a3 3 0 0 1 3-3h8.541a3 3 0 0 1 2.054.814l3.46 3.25A3 3 0 0 1 21 8.25V19a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9h-2a3 3 0 0 1-3-3V4H6Zm10 .999L18.13 7H17a1 1 0 0 1-1-1V4.999Z'></path>\",\"<path d='M17 11a1 1 0 1 0-2 0v.867c-1.656.39-3 1.732-3 3.508 0 .997.363 1.832 1.107 2.457.686.578 1.627.915 2.68 1.145.946.207 1.506.458 1.82.721.256.216.393.474.393.927 0 .776-.766 1.625-2 1.625-1.114 0-1.868-.709-1.983-1.411a1 1 0 0 0-1.973.322c.247 1.513 1.47 2.625 2.956 2.973V25a1 1 0 1 0 2 0v-.867c1.656-.39 3-1.732 3-3.508 0-.997-.363-1.832-1.107-2.457-.686-.578-1.627-.915-2.68-1.145-.947-.207-1.506-.458-1.82-.721-.256-.216-.393-.474-.393-.927 0-.776.766-1.625 2-1.625 1.114 0 1.868.709 1.983 1.411a1 1 0 0 0 1.973-.322c-.247-1.513-1.47-2.625-2.956-2.973V11Z'></path><path d='M4 5a3 3 0 0 1 3-3h12.172a3 3 0 0 1 2.12.879l5.83 5.828A3 3 0 0 1 28 10.828V27a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v22a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V11h-4a3 3 0 0 1-3-3V4H7Zm14 1.414L24.586 9H22a1 1 0 0 1-1-1V5.414Z'></path>\"]];","export default [[\"M3 1.5a.5.5 0 0 0-1 0V2h-.5a.5.5 0 0 0 0 1H2v6a1 1 0 0 0 1 1h6v.5a.5.5 0 0 0 1 0V10h.5a.5.5 0 0 0 0-1H10V3a1 1 0 0 0-1-1H3v-.5ZM3 3h6v6H3V3Z\",\"M4 1.5a.5.5 0 0 0-1 0V3H1.5a.5.5 0 0 0 0 1H3v8a1 1 0 0 0 1 1h8v1.5a.5.5 0 0 0 1 0V13h1.5a.5.5 0 0 0 0-1H13V4a1 1 0 0 0-1-1H4V1.5ZM4 4h8v8H4V4Z\",\"M7 3a1 1 0 0 0-2 0v2H3a1 1 0 0 0 0 2h2v10a2 2 0 0 0 2 2h10v2a1 1 0 1 0 2 0v-2h2a1 1 0 1 0 0-2h-2V7a2 2 0 0 0-2-2H7V3Zm0 4h10v10H7V7Z\",\"M9 3a1 1 0 0 0-2 0v4H3a1 1 0 1 0 0 2h4v14a2 2 0 0 0 2 2h14v4a1 1 0 1 0 2 0v-4h4a1 1 0 1 0 0-2h-4V9a2 2 0 0 0-2-2H9V3Zm0 6h14v14H9V9Z\"]];","export default [[\"M3.158.146A.5.5 0 0 1 3.51 0h6.776l-3 3H.304L3.158.146ZM0 4h7v7H.5a.5.5 0 0 1-.5-.5V4ZM11 .715l-3 3v6.991l2.854-2.853A.5.5 0 0 0 11 7.499V.715Z\",\"M5.147 1.146A.5.5 0 0 1 5.502 1h8.79l-4 4H1.294l3.853-3.854ZM1 6h9v9H1.5a.5.5 0 0 1-.5-.5V6Zm14-4.297-4 4v8.998l3.854-3.853a.5.5 0 0 0 .146-.354v-8.79Z\",\"M7.304 2.293A1 1 0 0 1 8.011 2h12.575l-5 5H2.597l4.707-4.707ZM2 9h13v13H3a1 1 0 0 1-1-1V9Zm20-5.583-5 5v12.99l4.707-4.707a1 1 0 0 0 .293-.707V3.417Z\",\"M9.383 2.293A1 1 0 0 1 10.09 2h18.505l-7 7H2.676l6.707-6.707ZM2 11h19v19H3a1 1 0 0 1-1-1V11Zm28-7.6-7 7v19.005l6.707-6.707A1 1 0 0 0 30 21.99V3.4Z\"],[\"M3.146.146A.5.5 0 0 1 3.5 0h7a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.146.354l-3 3A.5.5 0 0 1 7.5 11h-7a.5.5 0 0 1-.5-.5v-7a.5.5 0 0 1 .146-.354l3-3ZM9.293 1H4v2h3.293l2-2Zm.707.707-2 2V7h2V1.707ZM9.293 8H8v1.293L9.293 8ZM7 10V8H3.707l-2 2H7Zm-6-.707V4h2v3.293l-2 2ZM4 7h3V4H4v3ZM3 3V1.707L1.707 3H3Z\",\"M5.146 1.146A.5.5 0 0 1 5.5 1h9a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.146.354l-4 4A.5.5 0 0 1 10.5 15h-9a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .146-.354l4-4ZM13.293 2H6v3h4.293l3-3Zm.707.707-3 3V10h3V2.707ZM13.293 11H11v2.293L13.293 11ZM10 14v-3H5.707l-3 3H10Zm-8-.707V6h3v4.293l-3 3ZM6 10h4V6H6v4ZM5 5V2.707L2.707 5H5Z\",\"M7.293 2.293A1 1 0 0 1 8 2h13a1 1 0 0 1 1 1v13a1 1 0 0 1-.293.707l-5 5A1 1 0 0 1 16 22H3a1 1 0 0 1-1-1V8a1 1 0 0 1 .293-.707l5-5ZM18.586 4H9v3h6.586l3-3ZM20 5.414l-3 3V15h3V5.414ZM18.586 17H17v1.586L18.586 17ZM15 20v-3H8.414l-3 3H15ZM4 18.586V9h3v6.586l-3 3ZM9 15h6V9H9v6ZM7 7V5.414L5.414 7H7Z\",\"M9.293 2.293A1 1 0 0 1 10 2h19a1 1 0 0 1 1 1v19a1 1 0 0 1-.293.707l-7 7A1 1 0 0 1 22 30H3a1 1 0 0 1-1-1V10a1 1 0 0 1 .293-.707l7-7ZM26.586 4H11v5h10.586l5-5ZM28 5.414l-5 5V21h5V5.414ZM26.586 23H23v3.586L26.586 23ZM21 28v-5H10.414l-5 5H21ZM4 26.586V11h5v10.586l-5 5ZM11 21h10V11H11v10ZM9 9V5.414L5.414 9H9Z\"]];","export default [[\"M6 2.034V1.5a.5.5 0 0 0-1 0v.536a2.82 2.82 0 0 0-1.152.423C3.358 2.786 3 3.306 3 4s.358 1.214.848 1.541C4.323 5.858 4.926 6 5.5 6c.426 0 .823.108 1.098.291.26.173.402.403.402.709 0 .306-.142.536-.402.709C6.323 7.892 5.926 8 5.5 8c-.628 0-1.02-.206-1.25-.39a1.42 1.42 0 0 1-.298-.327l-.008-.012a.5.5 0 0 0-.891.453l.001.002.001.003.004.006.009.017.03.05a2.358 2.358 0 0 0 .527.588c.315.252.765.49 1.375.576V9.5a.5.5 0 0 0 1 0v-.536a2.82 2.82 0 0 0 1.152-.423C7.642 8.214 8 7.694 8 7s-.357-1.214-.848-1.541C6.677 5.142 6.074 5 5.5 5c-.426 0-.823-.108-1.098-.291C4.142 4.536 4 4.306 4 4c0-.306.143-.536.402-.709C4.677 3.108 5.074 3 5.5 3c.629 0 1.02.206 1.25.39a1.42 1.42 0 0 1 .298.327.5.5 0 1 0 .899-.44v-.002l-.002-.004-.004-.006-.009-.017a1.915 1.915 0 0 0-.134-.204 2.419 2.419 0 0 0-.423-.434A2.797 2.797 0 0 0 6 2.034Z\",\"M7.5 1a.5.5 0 0 1 .5.5v.524c.983.095 1.698.468 2.185.923.279.26.479.543.61.806.126.253.205.519.205.747a.5.5 0 0 1-1 0 .84.84 0 0 0-.1-.3 1.87 1.87 0 0 0-.397-.522C9.13 3.331 8.505 3 7.5 3a2.91 2.91 0 0 0-1.756.582C5.28 3.943 5 4.432 5 5s.28 1.057.744 1.418A2.91 2.91 0 0 0 7.5 7a3.91 3.91 0 0 1 2.37.793C10.53 8.307 11 9.068 11 10c0 .932-.47 1.694-1.13 2.207a3.864 3.864 0 0 1-1.87.761v.532a.5.5 0 0 1-1 0v-.524c-.983-.095-1.698-.469-2.185-.923a2.87 2.87 0 0 1-.61-.806C4.08 10.994 4 10.729 4 10.5a.5.5 0 0 1 1 0c0 .021.015.13.1.3.08.159.208.345.397.522.372.347.998.678 2.003.678a2.91 2.91 0 0 0 1.756-.582c.464-.361.744-.85.744-1.418s-.28-1.057-.744-1.418A2.91 2.91 0 0 0 7.5 8a3.91 3.91 0 0 1-2.37-.793C4.47 6.693 4 5.932 4 5c0-.932.47-1.693 1.13-2.207A3.864 3.864 0 0 1 7 2.032V1.5a.5.5 0 0 1 .5-.5Z\",\"M8.61 4.732A5.388 5.388 0 0 1 11 3.599V3a1 1 0 1 1 2 0v.608c.843.18 1.659.573 2.326 1.116C16.26 5.484 17 6.622 17 8a1 1 0 1 1-2 0c0-.622-.334-1.234-.936-1.724C13.457 5.782 12.676 5.5 12 5.5c-.76 0-1.535.29-2.11.768C9.32 6.743 9 7.354 9 8c0 .646.32 1.257.89 1.732A3.37 3.37 0 0 0 12 10.5c.613 0 1.8.145 2.871.757C16.004 11.904 17 13.083 17 15c0 .95-.311 2.057-1.039 2.946-.669.818-1.66 1.41-2.961 1.531V20a1 1 0 1 1-2 0v-.707a6.559 6.559 0 0 1-2.081-.98C7.895 17.584 7 16.443 7 15a1 1 0 1 1 2 0c0 .558.355 1.167 1.081 1.686.72.514 1.643.814 2.419.814.95 0 1.541-.366 1.914-.82A2.73 2.73 0 0 0 15 15c0-1.083-.504-1.654-1.121-2.007-.679-.388-1.492-.493-1.879-.493-1.24 0-2.465-.46-3.39-1.232C7.68 10.493 7 9.354 7 8c0-1.354.68-2.493 1.61-3.268Z\",\"M11.261 6.586c1.054-.82 2.373-1.347 3.739-1.522V4a1 1 0 1 1 2 0v1.064c1.366.175 2.685.702 3.739 1.522C22.059 7.613 23 9.136 23 11a1 1 0 1 1-2 0c0-1.136-.56-2.113-1.489-2.836C18.571 7.434 17.291 7 16 7c-1.29 0-2.571.433-3.511 1.164C11.559 8.887 11 9.864 11 11c0 1.198.49 2.166 1.323 2.853.85.7 2.11 1.147 3.677 1.147 1.934 0 3.673.553 4.948 1.603C22.24 17.666 23 19.198 23 21c0 1.733-.586 3.279-1.841 4.378-1.041.91-2.454 1.436-4.159 1.58V28a1 1 0 1 1-2 0v-1.064c-1.366-.175-2.685-.702-3.739-1.522C9.941 24.387 9 22.864 9 21a1 1 0 1 1 2 0c0 1.136.56 2.113 1.489 2.836.94.73 2.22 1.164 3.511 1.164 1.844 0 3.08-.461 3.841-1.128C20.587 23.222 21 22.267 21 21c0-1.198-.49-2.166-1.323-2.853-.85-.7-2.11-1.147-3.677-1.147-1.934 0-3.673-.553-4.948-1.603C9.76 14.334 9 12.802 9 11c0-1.864.94-3.387 2.261-4.414Z\"]];","export default [[\"M2.5 0a.5.5 0 0 1 .5.5v.198c.293.091.542.263.721.503a.5.5 0 1 1-.802.598c-.065-.088-.192-.174-.419-.174-.194 0-.313.063-.382.131A.418.418 0 0 0 2 2.062c0 .136.036.19.085.233.073.067.226.147.53.218.362.085.71.215.97.449.284.256.415.593.415.975 0 .384-.142.75-.417 1.02-.162.16-.36.276-.583.345V5.5a.5.5 0 0 1-1 0v-.18a1.75 1.75 0 0 1-.854-.466.5.5 0 1 1 .708-.708c.153.154.369.229.646.229.194 0 .313-.063.382-.131A.418.418 0 0 0 3 3.938c0-.136-.036-.19-.085-.233-.073-.067-.226-.147-.53-.218-.362-.085-.71-.215-.97-.449C1.131 2.782 1 2.445 1 2.063c0-.384.142-.75.417-1.02.162-.16.36-.276.583-.345V.5a.5.5 0 0 1 .5-.5Zm8.354 1.146a.5.5 0 0 1 0 .708l-9 9a.5.5 0 0 1-.708-.708l9-9a.5.5 0 0 1 .708 0Zm-3 6a.5.5 0 1 0-.708.708l1.179 1.178A.5.5 0 0 0 8.5 10a.5.5 0 0 0 0 1H9v.5a.5.5 0 0 0 1 0V11h.5a.5.5 0 0 0 0-1 .5.5 0 0 0 .175-.968l1.179-1.178a.5.5 0 0 0-.708-.708L9.5 8.793 7.854 7.146Z\",\"M3.5 1a.5.5 0 0 1 .5.5v.493c.11.027.212.063.31.108.23.108.403.255.544.395a.5.5 0 1 1-.708.707.907.907 0 0 0-.258-.195.894.894 0 0 0-.388-.07c-.276 0-.5.188-.5.484 0 .183.048.274.11.34.08.081.231.174.525.257.373.104.722.262.977.53.27.283.388.64.388 1.037A1.47 1.47 0 0 1 4 7v.5a.5.5 0 0 1-1 0v-.482a1.957 1.957 0 0 1-.854-.514.5.5 0 1 1 .708-.707.88.88 0 0 0 .646.289c.264 0 .5-.194.5-.5 0-.189-.05-.282-.112-.347-.078-.082-.23-.175-.523-.258-.373-.105-.721-.262-.976-.528C2.12 4.171 2 3.817 2 3.422c0-.728.459-1.214 1-1.4V1.5a.5.5 0 0 1 .5-.5Zm6.646 9.146a.5.5 0 0 1 .708 0l1.646 1.647 1.646-1.647a.5.5 0 0 1 .708.708l-1.178 1.178A.5.5 0 0 1 13.5 13a.5.5 0 0 1 0 1H13v.5a.5.5 0 0 1-1 0V14h-.5a.5.5 0 0 1 0-1 .5.5 0 0 1-.175-.968l-1.179-1.178a.5.5 0 0 1 0-.708Zm3.708-7.292a.5.5 0 0 0-.708-.708l-11 11a.5.5 0 0 0 .708.708l11-11Z\",\"M5 1a1 1 0 0 1 1 1v.125a3.074 3.074 0 0 1 1.845 1.34 1 1 0 0 1-1.69 1.07C5.984 4.263 5.668 4 5 4c-.654 0-1 .434-1 .82 0 .31.082.506.22.662.157.176.463.385 1.058.557.823.238 1.516.615 2.004 1.181.503.582.714 1.278.714 1.999 0 1.326-.885 2.27-1.996 2.625V12a1 1 0 1 1-2 0v-.125a3.078 3.078 0 0 1-1.844-1.34 1 1 0 1 1 1.689-1.07C4.018 9.736 4.333 10 5 10c.682 0 .996-.419.996-.781 0-.315-.084-.526-.228-.692-.158-.183-.462-.398-1.045-.566-.812-.235-1.506-.597-1.998-1.15C2.215 6.235 2 5.544 2 4.82c0-1.313.877-2.292 2-2.66V2a1 1 0 0 1 1-1ZM3 21a1 1 0 0 1 0-1.414L19.586 3A1 1 0 1 1 21 4.414L4.414 21A1 1 0 0 1 3 21Zm14.586-5-2.293-2.293a1 1 0 0 1 1.414-1.414L19 14.586l2.293-2.293a1 1 0 0 1 1.414 1.414L20.414 16H21a1 1 0 1 1 0 2h-1v1h1a1 1 0 1 1 0 2h-1v1a1 1 0 1 1-2 0v-1h-1a1 1 0 1 1 0-2h1v-1h-1a1 1 0 1 1 0-2h.586Z\",\"M7 2a1 1 0 0 1 1 1v.866c1.487.348 2.71 1.46 2.957 2.973a1 1 0 1 1-1.974.322C8.868 6.46 8.114 5.75 7 5.75c-1.234 0-2 .849-2 1.625 0 .453.137.711.394.927.313.263.872.514 1.82.721 1.052.23 1.993.567 2.68 1.145.743.625 1.106 1.46 1.106 2.457 0 1.776-1.344 3.117-3 3.508V17a1 1 0 1 1-2 0v-.866c-1.487-.348-2.71-1.46-2.957-2.973a1 1 0 1 1 1.974-.322c.115.702.869 1.411 1.983 1.411 1.234 0 2-.849 2-1.625 0-.453-.137-.711-.393-.927-.314-.263-.873-.514-1.82-.721-1.053-.23-1.994-.567-2.68-1.144C3.362 9.207 3 8.37 3 7.375c0-1.776 1.344-3.117 3-3.508V3a1 1 0 0 1 1-1ZM4 28a1 1 0 0 1 0-1.414L26.586 4A1 1 0 1 1 28 5.414L5.414 28A1 1 0 0 1 4 28Zm18.586-6-3.293-3.293a1 1 0 0 1 1.414-1.414L24 20.586l3.293-3.293a1 1 0 0 1 1.414 1.414L25.414 22H27a1 1 0 1 1 0 2h-2v1h2a1 1 0 1 1 0 2h-2v2a1 1 0 1 1-2 0v-2h-2a1 1 0 1 1 0-2h2v-1h-2a1 1 0 1 1 0-2h1.586Z\"],[\"M2.5 0a.5.5 0 0 1 .5.5v.198c.293.091.542.263.721.503a.5.5 0 1 1-.802.598c-.065-.088-.192-.174-.419-.174-.194 0-.313.063-.382.131A.418.418 0 0 0 2 2.062c0 .136.036.19.085.233.073.067.226.147.53.218.362.085.71.215.97.449.284.256.415.593.415.975 0 .384-.142.75-.417 1.02-.162.16-.36.276-.583.345V5.5a.5.5 0 0 1-1 0v-.18a1.75 1.75 0 0 1-.854-.466.5.5 0 1 1 .708-.708c.153.154.369.229.646.229.194 0 .313-.063.382-.131A.418.418 0 0 0 3 3.938c0-.136-.036-.19-.085-.233-.073-.067-.226-.147-.53-.218-.362-.085-.71-.215-.97-.449C1.131 2.782 1 2.445 1 2.063c0-.384.142-.75.417-1.02.162-.16.36-.276.583-.345V.5a.5.5 0 0 1 .5-.5Zm8.354 1.146a.5.5 0 0 1 0 .708l-9 9a.5.5 0 0 1-.708-.708l9-9a.5.5 0 0 1 .708 0Zm-3 6a.5.5 0 1 0-.708.708l1.179 1.178A.5.5 0 0 0 8.5 10a.5.5 0 0 0 0 1H9v.5a.5.5 0 0 0 1 0V11h.5a.5.5 0 0 0 0-1 .5.5 0 0 0 .175-.968l1.179-1.178a.5.5 0 0 0-.708-.708L9.5 8.793 7.854 7.146Z\",\"M3.5 1a.5.5 0 0 1 .5.5v.493c.11.027.212.063.31.108.23.108.403.255.544.395a.5.5 0 1 1-.708.707.907.907 0 0 0-.258-.195.894.894 0 0 0-.388-.07c-.276 0-.5.188-.5.484 0 .183.048.274.11.34.08.081.231.174.525.257.373.104.722.262.977.53.27.283.388.64.388 1.037A1.47 1.47 0 0 1 4 7v.5a.5.5 0 0 1-1 0v-.482a1.957 1.957 0 0 1-.854-.514.5.5 0 1 1 .708-.707.88.88 0 0 0 .646.289c.264 0 .5-.194.5-.5 0-.189-.05-.282-.112-.347-.078-.082-.23-.175-.523-.258-.373-.105-.721-.262-.976-.528C2.12 4.171 2 3.817 2 3.422c0-.728.459-1.214 1-1.4V1.5a.5.5 0 0 1 .5-.5Zm6.646 9.146a.5.5 0 0 1 .708 0l1.646 1.647 1.646-1.647a.5.5 0 0 1 .708.708l-1.178 1.178A.5.5 0 0 1 13.5 13a.5.5 0 0 1 0 1H13v.5a.5.5 0 0 1-1 0V14h-.5a.5.5 0 0 1 0-1 .5.5 0 0 1-.175-.968l-1.179-1.178a.5.5 0 0 1 0-.708Zm3.708-7.292a.5.5 0 0 0-.708-.708l-11 11a.5.5 0 0 0 .708.708l11-11Z\",\"M5 1a1 1 0 0 1 1 1v.125a3.074 3.074 0 0 1 1.845 1.34 1 1 0 0 1-1.69 1.07C5.984 4.263 5.668 4 5 4c-.655 0-1 .434-1 .82 0 .31.082.506.22.662.156.176.463.385 1.057.557.823.238 1.517.615 2.005 1.181.502.582.714 1.278.714 1.999 0 1.326-.885 2.27-1.996 2.625V12a1 1 0 1 1-2 0v-.125a3.078 3.078 0 0 1-1.845-1.34 1 1 0 1 1 1.69-1.07C4.016 9.736 4.332 10 5 10c.681 0 .996-.419.996-.781 0-.315-.084-.526-.228-.692-.158-.183-.462-.398-1.046-.566-.811-.235-1.505-.597-1.997-1.15C2.215 6.235 2 5.544 2 4.82c0-1.313.877-2.292 2-2.66V2a1 1 0 0 1 1-1ZM3 21a1 1 0 0 1 0-1.414L19.586 3A1 1 0 1 1 21 4.414L4.414 21A1 1 0 0 1 3 21Zm14.586-5-2.293-2.293a1 1 0 0 1 1.414-1.414L19 14.586l2.293-2.293a1 1 0 0 1 1.414 1.414L20.414 16H21a1 1 0 1 1 0 2h-1v1h1a1 1 0 1 1 0 2h-1v1a1 1 0 1 1-2 0v-1h-1a1 1 0 1 1 0-2h1v-1h-1a1 1 0 1 1 0-2h.586Z\",\"M7 2a1 1 0 0 1 1 1v.866c1.487.348 2.71 1.46 2.957 2.973a1 1 0 1 1-1.974.322C8.868 6.46 8.114 5.75 7 5.75c-1.234 0-2 .849-2 1.625 0 .453.137.711.394.927.313.263.872.514 1.82.721 1.052.23 1.993.567 2.68 1.145.743.625 1.106 1.46 1.106 2.457 0 1.776-1.344 3.117-3 3.508V17a1 1 0 1 1-2 0v-.866c-1.487-.348-2.71-1.46-2.957-2.973a1 1 0 1 1 1.974-.322c.115.702.869 1.411 1.983 1.411 1.234 0 2-.849 2-1.625 0-.453-.137-.711-.393-.927-.314-.263-.873-.514-1.82-.721-1.053-.23-1.994-.567-2.68-1.144C3.362 9.207 3 8.37 3 7.375c0-1.776 1.344-3.117 3-3.508V3a1 1 0 0 1 1-1ZM4 28a1 1 0 0 1 0-1.414L26.586 4A1 1 0 1 1 28 5.414L5.414 28A1 1 0 0 1 4 28Zm18.586-6-3.293-3.293a1 1 0 0 1 1.414-1.414L24 20.586l3.293-3.293a1 1 0 0 1 1.414 1.414L25.414 22H27a1 1 0 1 1 0 2h-2v1h2a1 1 0 1 1 0 2h-2v2a1 1 0 1 1-2 0v-2h-2a1 1 0 1 1 0-2h2v-1h-2a1 1 0 1 1 0-2h1.586Z\"]];","export default [[\"M2.777 1.084a.5.5 0 0 0-.766.52l1.5 7a.5.5 0 0 0 .766.312l1.084-.723 1.723 2.584a.5.5 0 0 0 .693.139l1.5-1a.5.5 0 0 0 .14-.693L7.692 6.639l1.084-.723a.5.5 0 0 0 0-.832l-6-4Z\",\"M4.854 1.146a.5.5 0 0 0-.852.404l1 10a.5.5 0 0 0 .722.397l1.552-.776 1.777 3.553a.5.5 0 0 0 .67.223l2-1a.5.5 0 0 0 .224-.67l-1.776-3.553 1.553-.777a.5.5 0 0 0 .13-.8l-7-7Z\",\"M7.707 1.293A1 1 0 0 0 6 2v13a1 1 0 0 0 1.316.949l2.127-.71 2.638 6.155a1 1 0 0 0 1.313.525l3.5-1.5a1 1 0 0 0 .514-1.338l-2.51-5.44 2.377-.68a1 1 0 0 0 .432-1.668l-10-10Z\",\"M9.65 3.74A1 1 0 0 0 8 4.5V22a1 1 0 0 0 1.371.928l4.106-1.642 3.61 8.12a1 1 0 0 0 1.36.488l4-2a1 1 0 0 0 .458-1.32l-3.548-7.54 4.014-1.605a1 1 0 0 0 .28-1.688l-14-12Z\"],[\"M2.219 1.086a.5.5 0 0 1 .558-.002l6 4a.5.5 0 0 1 0 .832l-1.084.723 1.723 2.584a.5.5 0 0 1-.139.693l-1.5 1a.5.5 0 0 1-.693-.139L5.361 8.193l-1.084.723a.5.5 0 0 1-.766-.311l-1.5-7a.5.5 0 0 1 .208-.519ZM3.247 2.6l1.088 5.077 1.304-.87 2 3 .668-.445-2-3L7.599 5.5 3.247 2.599Z\",\"M4.286 1.048a.5.5 0 0 1 .568.098l7 7a.5.5 0 0 1-.13.801l-1.553.777 1.776 3.552a.5.5 0 0 1-.223.671l-2 1a.5.5 0 0 1-.671-.223L7.276 11.17l-1.552.776a.5.5 0 0 1-.722-.397l-1-10a.5.5 0 0 1 .284-.502Zm.85 1.796.79 7.884 1.798-.899 2 4 1.105-.553-2-4 1.827-.913-5.52-5.519Z\",\"M6.617 1.076a1 1 0 0 1 1.09.217l10 10a1 1 0 0 1-.432 1.669l-2.378.679 2.511 5.44a1 1 0 0 1-.514 1.338l-3.5 1.5a1 1 0 0 1-1.313-.525L9.443 15.24l-2.127.709A1 1 0 0 1 6 15V2a1 1 0 0 1 .617-.924ZM8 4.414v9.199l2.557-.853 2.968 6.927 1.636-.701-3.058-6.627 2.988-.854L8 4.415Z\",\"M8.582 3.591a1 1 0 0 1 1.069.15l14 12a1 1 0 0 1-.28 1.688l-4.014 1.605 3.548 7.54a1 1 0 0 1-.458 1.32l-4 2a1 1 0 0 1-1.36-.488l-3.61-8.12-4.106 1.642A1 1 0 0 1 8 22V4.5a1 1 0 0 1 .582-.909ZM10 6.675v13.849l4.523-1.81 3.966 8.925 2.19-1.096-4.036-8.576 4.453-1.781L10 6.675Z\"]];","export default [[\"M.777.084A.5.5 0 0 0 .02.637l2 7a.5.5 0 0 0 .91.12l1.386-2.31 2.283-.457a.5.5 0 0 0 .18-.906l-6-4Zm8.077 5.062a.5.5 0 0 0-.708 0l-1 1a.5.5 0 1 0 .708.708L8 6.707V8H6.707l.147-.146a.5.5 0 1 0-.708-.708l-1 1a.5.5 0 0 0 0 .708l1 1a.5.5 0 0 0 .708-.708L6.707 9H8v1.293l-.146-.147a.5.5 0 0 0-.708.708l1 1a.5.5 0 0 0 .708 0l1-1a.5.5 0 0 0-.708-.708L9 10.293V9h1.293l-.147.146a.5.5 0 0 0 .708.708l1-1a.5.5 0 0 0 0-.708l-1-1a.5.5 0 0 0-.708.708l.147.146H9V6.707l.146.147a.5.5 0 1 0 .708-.708l-1-1Z\",\"M1.743 1.063a.5.5 0 0 0-.733.535l2 10a.5.5 0 0 0 .914.167l2.389-3.822 4.295-.955a.5.5 0 0 0 .135-.925l-9-5Zm9.403 7.083a.5.5 0 0 1 .708 0l1 1a.5.5 0 0 1-.708.708L12 9.707V11h1.293l-.147-.146a.5.5 0 0 1 .708-.708l1 1a.5.5 0 0 1 0 .708l-1 1a.5.5 0 0 1-.708-.708l.147-.146H12v1.293l.146-.147a.5.5 0 0 1 .708.708l-1 1a.5.5 0 0 1-.708 0l-1-1a.5.5 0 0 1 .708-.708l.146.147V12H9.707l.147.146a.5.5 0 0 1-.708.708l-1-1a.5.5 0 0 1 0-.708l1-1a.5.5 0 0 1 .708.708L9.707 11H11V9.707l-.146.147a.5.5 0 0 1-.708-.708l1-1Z\",\"M2.504 1.136a1 1 0 0 0-1.478 1.089l3 13a1 1 0 0 0 1.832.29L8.62 10.91l5.544-.925a1 1 0 0 0 .34-1.85l-12-7Zm15.203 9.157a1 1 0 0 0-1.414 0l-2 2a1 1 0 0 0 1.414 1.414l.293-.293V16h-2.586l.293-.293a1 1 0 0 0-1.414-1.414l-2 2a1 1 0 0 0 0 1.414l2 2a1 1 0 0 0 1.414-1.414L13.414 18H16v2.586l-.293-.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l2-2a1 1 0 0 0-1.414-1.414l-.293.293V18h2.586l-.293.293a1 1 0 0 0 1.414 1.414l2-2a1 1 0 0 0 0-1.414l-2-2a1 1 0 0 0-1.414 1.414l.293.293H18v-2.586l.293.293a1 1 0 0 0 1.414-1.414l-2-2Z\",\"M3.47 3.118a1 1 0 0 0-1.44 1.125l4 16a1 1 0 0 0 1.85.231l3.278-6.086 7.038-1.407a1 1 0 0 0 .275-1.863l-15-8Zm16.823 10.175a1 1 0 0 1 1.414 0l2.5 2.5a1 1 0 0 1-1.414 1.414L22 16.414V21h4.586l-.793-.793a1 1 0 0 1 1.414-1.414l2.5 2.5a1 1 0 0 1 0 1.414l-2.5 2.5a1 1 0 0 1-1.414-1.414l.793-.793H22v4.586l.793-.793a1 1 0 0 1 1.414 1.414l-2.5 2.5a1 1 0 0 1-1.414 0l-2.5-2.5a1 1 0 0 1 1.414-1.414l.793.793V23h-4.586l.793.793a1 1 0 0 1-1.414 1.414l-2.5-2.5a1 1 0 0 1 0-1.414l2.5-2.5a1 1 0 0 1 1.414 1.414l-.793.793H20v-4.586l-.793.793a1 1 0 0 1-1.414-1.414l2.5-2.5Z\"],[\"M.777.084A.5.5 0 0 0 .02.637l2 7a.5.5 0 0 0 .91.12l1.386-2.31 2.283-.457a.5.5 0 0 0 .18-.906l-6-4Zm1.887 6.17-1.31-4.583 3.864 2.575-1.316.264a.5.5 0 0 0-.33.233l-.908 1.512Zm5.482-1.108a.5.5 0 0 1 .708 0l1 1a.5.5 0 0 1-.708.708L9 6.707V8h1.293l-.147-.146a.5.5 0 0 1 .708-.708l1 1a.5.5 0 0 1 0 .708l-1 1a.5.5 0 0 1-.708-.708L10.293 9H9v1.293l.146-.147a.5.5 0 0 1 .708.708l-1 1a.5.5 0 0 1-.708 0l-1-1a.5.5 0 0 1 .708-.708l.146.147V9H6.707l.147.146a.5.5 0 1 1-.708.708l-1-1a.5.5 0 0 1 0-.708l1-1a.5.5 0 1 1 .708.708L6.707 8H8V6.707l-.146.147a.5.5 0 1 1-.708-.708l1-1Z\",\"M1.205 1.096a.5.5 0 0 1 .538-.033l9 5a.5.5 0 0 1-.135.925l-4.295.955-2.389 3.822a.5.5 0 0 1-.914-.167l-2-10a.5.5 0 0 1 .195-.502Zm.997 1.366 1.541 7.705 1.833-2.932a.5.5 0 0 1 .316-.223l3.214-.714-6.904-3.836Zm8.944 5.684a.5.5 0 0 1 .708 0l1 1a.5.5 0 0 1-.708.708L12 9.707V11h1.293l-.147-.146a.5.5 0 0 1 .708-.708l1 1a.5.5 0 0 1 0 .708l-1 1a.5.5 0 0 1-.708-.708l.147-.146H12v1.293l.146-.147a.5.5 0 0 1 .708.708l-1 1a.5.5 0 0 1-.708 0l-1-1a.5.5 0 0 1 .708-.708l.146.147V12H9.707l.147.146a.5.5 0 0 1-.708.708l-1-1a.5.5 0 0 1 0-.708l1-1a.5.5 0 0 1 .708.708L9.707 11H11V9.707l-.146.147a.5.5 0 0 1-.708-.708l1-1Z\",\"M2.504 1.136a1 1 0 0 0-1.478 1.089l3 13a1 1 0 0 0 1.832.29L8.62 10.91l5.544-.925a1 1 0 0 0 .34-1.85l-12-7Zm2.913 11.225L3.495 4.03l7.61 4.439-3.27.545a1 1 0 0 0-.692.472L5.417 12.36Zm10.876-2.068a1 1 0 0 1 1.414 0l2 2a1 1 0 0 1-1.414 1.414L18 13.414V16h2.586l-.293-.293a1 1 0 0 1 1.414-1.414l2 2a1 1 0 0 1 0 1.414l-2 2a1 1 0 0 1-1.414-1.414l.293-.293H18v2.586l.293-.293a1 1 0 0 1 1.414 1.414l-2 2a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414l.293.293V18h-2.586l.293.293a1 1 0 0 1-1.414 1.414l-2-2a1 1 0 0 1 0-1.414l2-2a1 1 0 0 1 1.414 1.414l-.293.293H16v-2.586l-.293.293a1 1 0 0 1-1.414-1.414l2-2Z\",\"M2.385 3.212a1 1 0 0 1 1.086-.094l15 8a1 1 0 0 1-.275 1.863l-7.039 1.407-3.276 6.086a1 1 0 0 1-1.851-.232l-4-16a1 1 0 0 1 .355-1.03Zm2.131 2.73 2.828 11.31 2.276-4.226a1 1 0 0 1 .684-.507l4.76-.952L4.516 5.942Zm15.777 7.351a1 1 0 0 1 1.414 0l2.5 2.5a1 1 0 0 1-1.414 1.414L22 16.414V21h4.586l-.793-.793a1 1 0 0 1 1.414-1.414l2.5 2.5a1 1 0 0 1 0 1.414l-2.5 2.5a1 1 0 0 1-1.414-1.414l.793-.793H22v4.586l.793-.793a1 1 0 0 1 1.414 1.414l-2.5 2.5a1 1 0 0 1-1.414 0l-2.5-2.5a1 1 0 0 1 1.414-1.414l.793.793V23h-4.586l.793.793a1 1 0 0 1-1.414 1.414l-2.5-2.5a1 1 0 0 1 0-1.414l2.5-2.5a1 1 0 0 1 1.414 1.414l-.793.793H20v-4.586l-.793.793a1 1 0 0 1-1.414-1.414l2.5-2.5Z\"]];","export default [[\"M0 1.5A1.5 1.5 0 0 1 1.5 0a.5.5 0 0 1 0 1 .5.5 0 0 0-.5.5.5.5 0 0 1-1 0Zm11 8A1.5 1.5 0 0 1 9.5 11a.5.5 0 0 1 0-1 .5.5 0 0 0 .5-.5.5.5 0 0 1 1 0ZM3.5 0a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1ZM6 .5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1A.5.5 0 0 1 6 .5ZM4.5 11a.5.5 0 0 0 0-1h-1a.5.5 0 0 0 0 1h1Zm3.5-.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1 0-1h1a.5.5 0 0 1 .5.5ZM9.5 0A1.5 1.5 0 0 1 11 1.5a.5.5 0 0 1-1 0 .5.5 0 0 0-.5-.5.5.5 0 0 1 0-1ZM0 9.5A1.5 1.5 0 0 0 1.5 11a.5.5 0 0 0 0-1 .5.5 0 0 1-.5-.5.5.5 0 0 0-1 0Zm1-6a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM.5 6a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1A.5.5 0 0 1 .5 6ZM11 3.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM10.5 6a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Zm-8-4a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM3 3v1h1V3H3Zm-.5 3a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm4-4a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM7 3v1h1V3H7ZM6 6.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM7 8V7h1v1H7Z\",\"M2.5 1A1.5 1.5 0 0 0 1 2.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 1 .5-.5h1a.5.5 0 0 0 0-1h-1Zm10 0A1.5 1.5 0 0 1 14 2.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 1 0-1h1ZM1 12.5A1.5 1.5 0 0 0 2.5 14h1a.5.5 0 0 0 0-1h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 0-1 0v1ZM12.5 14a1.5 1.5 0 0 0 1.5-1.5v-1a.5.5 0 0 0-1 0v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 0 0 1h1ZM5 1.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5ZM8.5 1a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1ZM5 13.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5Zm3.5-.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Zm5-5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Zm.5-2.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM1.5 8a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM2 5.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM4 3a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H4Zm2 1H4v2h2V4ZM4 8a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1H4Zm5-5a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H9Zm2 3V4H9v2h2ZM8 9a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V9Zm1 0h2v2H9V9Z\",\"<path d='M9 2a1 1 0 0 0 0 2h1a1 1 0 1 0 0-2H9Zm10 20a3 3 0 0 0 3-3v-1a1 1 0 1 0-2 0v1a1 1 0 0 1-1 1h-1a1 1 0 1 0 0 2h1Zm2-14a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0V9a1 1 0 0 1 1-1ZM4 9a1 1 0 1 0-2 0v1a1 1 0 1 0 2 0V9Zm4 12a1 1 0 0 0 1 1h1a1 1 0 1 0 0-2H9a1 1 0 0 0-1 1Zm6-19a1 1 0 1 0 0 2h1a1 1 0 1 0 0-2h-1Zm7 11a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0v-1a1 1 0 0 1 1-1ZM4 14a1 1 0 1 0-2 0v1a1 1 0 1 0 2 0v-1Zm9 7a1 1 0 0 0 1 1h1a1 1 0 1 0 0-2h-1a1 1 0 0 0-1 1Zm9-16a3 3 0 0 0-3-3h-1a1 1 0 1 0 0 2h1a1 1 0 0 1 1 1v1a1 1 0 1 0 2 0V5ZM2 5a3 3 0 0 1 3-3h1a1 1 0 1 1 0 2H5a1 1 0 0 0-1 1v1a1 1 0 1 1-2 0V5Zm0 14a3 3 0 0 0 3 3h1a1 1 0 1 0 0-2H5a1 1 0 0 1-1-1v-1a1 1 0 1 0-2 0v1Z'></path><path d='M6 5a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H6Zm1 2v2h2V7H7Zm-1 6a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H6Zm8-8a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-4Zm1 2v2h2V7h-2Zm-2 7a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-4Zm2 3v-2h2v2h-2Z'></path>\",\"M6 3a3 3 0 0 0-3 3v2a1 1 0 0 0 2 0V6a1 1 0 0 1 1-1h2a1 1 0 0 0 0-2H6Zm20 26a3 3 0 0 0 3-3v-2a1 1 0 1 0-2 0v2a1 1 0 0 1-1 1h-2a1 1 0 1 0 0 2h2Zm3-23a3 3 0 0 0-3-3h-2a1 1 0 1 0 0 2h2a1 1 0 0 1 1 1v2a1 1 0 1 0 2 0V6ZM6 29a3 3 0 0 1-3-3v-2a1 1 0 1 1 2 0v2a1 1 0 0 0 1 1h2a1 1 0 1 1 0 2H6Zm6-25a1 1 0 0 0 1 1h1a1 1 0 1 0 0-2h-1a1 1 0 0 0-1 1Zm1 25a1 1 0 1 1 0-2h1a1 1 0 1 1 0 2h-1ZM4 12a1 1 0 0 0-1 1v1a1 1 0 1 0 2 0v-1a1 1 0 0 0-1-1Zm23 1a1 1 0 1 1 2 0v1a1 1 0 1 1-2 0v-1ZM17 4a1 1 0 0 0 1 1h1a1 1 0 1 0 0-2h-1a1 1 0 0 0-1 1Zm1 25a1 1 0 1 1 0-2h1a1 1 0 1 1 0 2h-1ZM4 17a1 1 0 0 0-1 1v1a1 1 0 1 0 2 0v-1a1 1 0 0 0-1-1Zm23 1a1 1 0 1 1 2 0v1a1 1 0 1 1-2 0v-1ZM8 7a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H8Zm1 2v4h4V9H9Zm-1 8a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H8ZM18 7a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-6Zm1 2v4h4V9h-4Zm-2 9a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1v-6Zm2 5v-4h4v4h-4Z\"]];","export default [[\"M11 1.5A1.5 1.5 0 0 0 9.5 0a.5.5 0 0 0 0 1 .5.5 0 0 1 .5.5.5.5 0 0 0 1 0Zm-11 8A1.5 1.5 0 0 0 1.5 11a.5.5 0 0 0 0-1 .5.5 0 0 1-.5-.5.5.5 0 0 0-1 0ZM7.5 0a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1h1ZM5 .5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0 0 1h1A.5.5 0 0 0 5 .5ZM6.5 11a.5.5 0 0 1 0-1h1a.5.5 0 0 1 0 1h-1ZM3 10.5a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 0-1h-1a.5.5 0 0 0-.5.5ZM1.5 0A1.5 1.5 0 0 0 0 1.5a.5.5 0 0 0 1 0 .5.5 0 0 1 .5-.5.5.5 0 0 0 0-1ZM11 9.5A1.5 1.5 0 0 1 9.5 11a.5.5 0 0 1 0-1 .5.5 0 0 0 .5-.5.5.5 0 0 1 1 0Zm-1-6a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm.5 2.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM0 3.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1ZM.5 6a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1A.5.5 0 0 0 .5 6Zm8-4a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h2ZM8 3H7v1h1V3Zm.5 3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h2Zm-4-4a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h2ZM4 3H3v1h1V3Zm1 3.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2ZM4 8H3V7h1v1Z\",\"M12.5 1A1.5 1.5 0 0 1 14 2.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 1 0-1h1Zm-10 0A1.5 1.5 0 0 0 1 2.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 1 .5-.5h1a.5.5 0 0 0 0-1h-1ZM14 12.5a1.5 1.5 0 0 1-1.5 1.5h-1a.5.5 0 0 1 0-1h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 1 1 0v1ZM2.5 14A1.5 1.5 0 0 1 1 12.5v-1a.5.5 0 0 1 1 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 1 0 1h-1ZM10 1.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0 0 1h1a.5.5 0 0 0 .5-.5ZM6.5 1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1h1ZM10 13.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0 0 1h1a.5.5 0 0 0 .5-.5ZM6.5 13a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1h1Zm-5-5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM1 5.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1ZM13.5 8a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM13 5.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1ZM11 3a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h2ZM9 4v2h2V4H9Zm2 4a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h2ZM6 3a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h2ZM4 6h2V4H4v2Zm3 3a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V9ZM6 9v2H4V9h2Z\",\"<path d='M15 2a1 1 0 1 1 0 2h-1a1 1 0 1 1 0-2h1ZM5 22a3 3 0 0 1-3-3v-1a1 1 0 1 1 2 0v1a1 1 0 0 0 1 1h1a1 1 0 1 1 0 2H5ZM3 8a1 1 0 0 0-1 1v1a1 1 0 1 0 2 0V9a1 1 0 0 0-1-1Zm17 1a1 1 0 1 1 2 0v1a1 1 0 1 1-2 0V9Zm-4 12a1 1 0 0 1-1 1h-1a1 1 0 1 1 0-2h1a1 1 0 0 1 1 1ZM10 2a1 1 0 1 1 0 2H9a1 1 0 1 1 0-2h1ZM3 13a1 1 0 0 0-1 1v1a1 1 0 1 0 2 0v-1a1 1 0 0 0-1-1Zm17 1a1 1 0 1 1 2 0v1a1 1 0 1 1-2 0v-1Zm-9 7a1 1 0 0 1-1 1H9a1 1 0 1 1 0-2h1a1 1 0 0 1 1 1ZM2 5a3 3 0 0 1 3-3h1a1 1 0 0 1 0 2H5a1 1 0 0 0-1 1v1a1 1 0 0 1-2 0V5Zm20 0a3 3 0 0 0-3-3h-1a1 1 0 1 0 0 2h1a1 1 0 0 1 1 1v1a1 1 0 1 0 2 0V5Zm0 14a3 3 0 0 1-3 3h-1a1 1 0 1 1 0-2h1a1 1 0 0 0 1-1v-1a1 1 0 1 1 2 0v1Z'></path><path d='M18 5a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h4Zm-1 2h-2v2h2V7Zm1 6a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h4Zm-8-8a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h4ZM9 7H7v2h2V7Zm2 7a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4Zm-2 3H7v-2h2v2Z'></path>\",\"M26 3a3 3 0 0 1 3 3v2a1 1 0 1 1-2 0V6a1 1 0 0 0-1-1h-2a1 1 0 1 1 0-2h2ZM6 29a3 3 0 0 1-3-3v-2a1 1 0 1 1 2 0v2a1 1 0 0 0 1 1h2a1 1 0 1 1 0 2H6ZM3 6a3 3 0 0 1 3-3h2a1 1 0 0 1 0 2H6a1 1 0 0 0-1 1v2a1 1 0 0 1-2 0V6Zm23 23a3 3 0 0 0 3-3v-2a1 1 0 1 0-2 0v2a1 1 0 0 1-1 1h-2a1 1 0 1 0 0 2h2ZM20 4a1 1 0 0 1-1 1h-1a1 1 0 1 1 0-2h1a1 1 0 0 1 1 1Zm-1 25a1 1 0 1 0 0-2h-1a1 1 0 1 0 0 2h1Zm9-17a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0v-1a1 1 0 0 1 1-1ZM5 13a1 1 0 1 0-2 0v1a1 1 0 1 0 2 0v-1Zm10-9a1 1 0 0 1-1 1h-1a1 1 0 1 1 0-2h1a1 1 0 0 1 1 1Zm-1 25a1 1 0 1 0 0-2h-1a1 1 0 1 0 0 2h1Zm14-12a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0v-1a1 1 0 0 1 1-1ZM5 18a1 1 0 1 0-2 0v1a1 1 0 1 0 2 0v-1ZM24 7a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h6Zm-1 2h-4v4h4V9Zm1 8a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h6ZM14 7a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h6Zm-1 2H9v4h4V9Zm2 9a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6Zm-2 5H9v-4h4v4Z\"]];","export default [[\"M1.5 0A1.5 1.5 0 0 0 0 1.5a.5.5 0 0 0 1 0 .5.5 0 0 1 .5-.5.5.5 0 0 0 0-1Zm8 11A1.5 1.5 0 0 0 11 9.5a.5.5 0 0 0-1 0 .5.5 0 0 1-.5.5.5.5 0 0 0 0 1ZM3 .5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1A.5.5 0 0 1 3 .5ZM6.5 0a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1ZM5 10.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1 0-1h1a.5.5 0 0 1 .5.5Zm2.5.5a.5.5 0 0 0 0-1h-1a.5.5 0 0 0 0 1h1ZM11 1.5A1.5 1.5 0 0 0 9.5 0a.5.5 0 0 0 0 1 .5.5 0 0 1 .5.5.5.5 0 0 0 1 0ZM1.5 11A1.5 1.5 0 0 1 0 9.5a.5.5 0 0 1 1 0 .5.5 0 0 0 .5.5.5.5 0 0 1 0 1Zm-1-8a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1A.5.5 0 0 1 .5 3ZM1 6.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM10.5 3a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Zm.5 3.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM3 2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H3Z\",\"M1 2.5A1.5 1.5 0 0 1 2.5 1h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 1-1 0v-1Zm13 0A1.5 1.5 0 0 0 12.5 1h-1a.5.5 0 0 0 0 1h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 0 1 0v-1ZM2.5 14A1.5 1.5 0 0 1 1 12.5v-1a.5.5 0 0 1 1 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 1 0 1h-1ZM14 12.5a1.5 1.5 0 0 1-1.5 1.5h-1a.5.5 0 0 1 0-1h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 1 1 0v1ZM5.5 1a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5ZM5.5 13a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5Zm6-5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM13.5 5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM2 8.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM1.5 5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM4 3a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H4Z\",\"M8 3a1 1 0 0 1 1-1h1a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1Zm14 16a3 3 0 0 1-3 3h-1a1 1 0 1 1 0-2h1a1 1 0 0 0 1-1v-1a1 1 0 1 1 2 0v1Zm0-10a1 1 0 1 0-2 0v1a1 1 0 1 0 2 0V9ZM3 8a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0V9a1 1 0 0 1 1-1Zm6 14a1 1 0 1 1 0-2h1a1 1 0 1 1 0 2H9Zm4-19a1 1 0 0 1 1-1h1a1 1 0 1 1 0 2h-1a1 1 0 0 1-1-1Zm9 11a1 1 0 1 0-2 0v1a1 1 0 1 0 2 0v-1ZM3 13a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0v-1a1 1 0 0 1 1-1Zm11 9a1 1 0 1 1 0-2h1a1 1 0 1 1 0 2h-1Zm5-20a3 3 0 0 1 3 3v1a1 1 0 1 1-2 0V5a1 1 0 0 0-1-1h-1a1 1 0 1 1 0-2h1ZM5 2a3 3 0 0 0-3 3v1a1 1 0 0 0 2 0V5a1 1 0 0 1 1-1h1a1 1 0 1 0 0-2H5Zm0 20a3 3 0 0 1-3-3v-1a1 1 0 1 1 2 0v1a1 1 0 0 0 1 1h1a1 1 0 1 1 0 2H5ZM7 5a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2H7Z\",\"M3 6a3 3 0 0 1 3-3h2a1 1 0 0 1 0 2H6a1 1 0 0 0-1 1v2a1 1 0 0 1-2 0V6Zm26 20a3 3 0 0 1-3 3h-2a1 1 0 1 1 0-2h2a1 1 0 0 0 1-1v-2a1 1 0 1 1 2 0v2ZM26 3a3 3 0 0 1 3 3v2a1 1 0 1 1-2 0V6a1 1 0 0 0-1-1h-2a1 1 0 1 1 0-2h2ZM3 26a3 3 0 0 0 3 3h2a1 1 0 1 0 0-2H6a1 1 0 0 1-1-1v-2a1 1 0 1 0-2 0v2ZM13 5a1 1 0 1 1 0-2h1a1 1 0 1 1 0 2h-1Zm-1 23a1 1 0 0 0 1 1h1a1 1 0 1 0 0-2h-1a1 1 0 0 0-1 1ZM3 13a1 1 0 1 1 2 0v1a1 1 0 1 1-2 0v-1Zm25-1a1 1 0 0 0-1 1v1a1 1 0 1 0 2 0v-1a1 1 0 0 0-1-1ZM18 5a1 1 0 1 1 0-2h1a1 1 0 1 1 0 2h-1Zm-1 23a1 1 0 0 0 1 1h1a1 1 0 1 0 0-2h-1a1 1 0 0 0-1 1ZM3 18a1 1 0 1 1 2 0v1a1 1 0 1 1-2 0v-1Zm25-1a1 1 0 0 0-1 1v1a1 1 0 1 0 2 0v-1a1 1 0 0 0-1-1ZM9 7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2H9Z\"],[\"M1.5 0A1.5 1.5 0 0 0 0 1.5a.5.5 0 0 0 1 0 .5.5 0 0 1 .5-.5.5.5 0 0 0 0-1Zm8 11A1.5 1.5 0 0 0 11 9.5a.5.5 0 0 0-1 0 .5.5 0 0 1-.5.5.5.5 0 0 0 0 1ZM3 .5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1A.5.5 0 0 1 3 .5ZM6.5 0a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1ZM5 10.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1 0-1h1a.5.5 0 0 1 .5.5Zm2.5.5a.5.5 0 0 0 0-1h-1a.5.5 0 0 0 0 1h1ZM11 1.5A1.5 1.5 0 0 0 9.5 0a.5.5 0 0 0 0 1 .5.5 0 0 1 .5.5.5.5 0 0 0 1 0ZM1.5 11A1.5 1.5 0 0 1 0 9.5a.5.5 0 0 1 1 0 .5.5 0 0 0 .5.5.5.5 0 0 1 0 1Zm-1-8a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1A.5.5 0 0 1 .5 3ZM1 6.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM10.5 3a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Zm.5 3.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM2 3a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3Zm1 0h5v5H3V3Z\",\"M1 2.5A1.5 1.5 0 0 1 2.5 1h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 1-1 0v-1Zm13 0A1.5 1.5 0 0 0 12.5 1h-1a.5.5 0 0 0 0 1h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 0 1 0v-1ZM2.5 14A1.5 1.5 0 0 1 1 12.5v-1a.5.5 0 0 1 1 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 1 0 1h-1ZM14 12.5a1.5 1.5 0 0 1-1.5 1.5h-1a.5.5 0 0 1 0-1h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 1 1 0v1ZM5.5 1a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5ZM5.5 13a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5Zm6-5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM13.5 5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM2 8.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM1.5 5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM3 4a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4Zm1 0h7v7H4V4Z\",\"M8 3a1 1 0 0 1 1-1h1a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1Zm14 16a3 3 0 0 1-3 3h-1a1 1 0 1 1 0-2h1a1 1 0 0 0 1-1v-1a1 1 0 1 1 2 0v1Zm0-10a1 1 0 1 0-2 0v1a1 1 0 1 0 2 0V9ZM3 8a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0V9a1 1 0 0 1 1-1Zm6 14a1 1 0 1 1 0-2h1a1 1 0 1 1 0 2H9Zm4-19a1 1 0 0 1 1-1h1a1 1 0 1 1 0 2h-1a1 1 0 0 1-1-1Zm9 11a1 1 0 1 0-2 0v1a1 1 0 1 0 2 0v-1ZM3 13a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0v-1a1 1 0 0 1 1-1Zm11 9a1 1 0 1 1 0-2h1a1 1 0 1 1 0 2h-1Zm5-20a3 3 0 0 1 3 3v1a1 1 0 1 1-2 0V5a1 1 0 0 0-1-1h-1a1 1 0 1 1 0-2h1ZM5 2a3 3 0 0 0-3 3v1a1 1 0 0 0 2 0V5a1 1 0 0 1 1-1h1a1 1 0 1 0 0-2H5Zm0 20a3 3 0 0 1-3-3v-1a1 1 0 1 1 2 0v1a1 1 0 0 0 1 1h1a1 1 0 1 1 0 2H5ZM5 7a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V7Zm2 0h10v10H7V7Z\",\"M3 6a3 3 0 0 1 3-3h2a1 1 0 0 1 0 2H6a1 1 0 0 0-1 1v2a1 1 0 0 1-2 0V6Zm26 20a3 3 0 0 1-3 3h-2a1 1 0 1 1 0-2h2a1 1 0 0 0 1-1v-2a1 1 0 1 1 2 0v2ZM26 3a3 3 0 0 1 3 3v2a1 1 0 1 1-2 0V6a1 1 0 0 0-1-1h-2a1 1 0 1 1 0-2h2ZM3 26a3 3 0 0 0 3 3h2a1 1 0 1 0 0-2H6a1 1 0 0 1-1-1v-2a1 1 0 1 0-2 0v2ZM13 5a1 1 0 1 1 0-2h1a1 1 0 1 1 0 2h-1Zm-1 23a1 1 0 0 0 1 1h1a1 1 0 1 0 0-2h-1a1 1 0 0 0-1 1ZM3 13a1 1 0 1 1 2 0v1a1 1 0 1 1-2 0v-1Zm25-1a1 1 0 0 0-1 1v1a1 1 0 1 0 2 0v-1a1 1 0 0 0-1-1ZM18 5a1 1 0 1 1 0-2h1a1 1 0 1 1 0 2h-1Zm-1 23a1 1 0 0 0 1 1h1a1 1 0 1 0 0-2h-1a1 1 0 0 0-1 1ZM3 18a1 1 0 1 1 2 0v1a1 1 0 1 1-2 0v-1Zm25-1a1 1 0 0 0-1 1v1a1 1 0 1 0 2 0v-1a1 1 0 0 0-1-1ZM7 9a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2V9Zm2 0h14v14H9V9Z\"]];","export default [[\"M6 4a4 4 0 0 0-4 4v.5a.5.5 0 0 1-1 0V8a5 5 0 0 1 7.608-4.267l-.931.634A3.985 3.985 0 0 0 6 4Zm3.471.401a.147.147 0 0 0-.104.026l-.049.033-.647.44-.079.053c-1.297.884-3.056 2.097-3.3 2.34a1 1 0 0 0 1.415 1.414c.297-.296 2.044-2.86 2.866-4.074a.147.147 0 0 0 .026-.104m.668.863-.634.931C9.868 6.833 10 7.401 10 8v.5a.5.5 0 0 0 1 0V8c0-.956-.268-1.849-.733-2.608Z\",\"M8 5a6 6 0 0 0-6 6v.5a.5.5 0 0 1-1 0V11a7 7 0 0 1 11.023-5.73l-.83.649A5.972 5.972 0 0 0 8 5Zm4.83.934a.209.209 0 0 0-.082.04l-.73.57c-1.889 1.472-4.48 3.503-4.725 3.75a1 1 0 1 0 1.414 1.413c.28-.28 2.869-3.592 4.32-5.455.123-.158-.033-.355-.197-.318Zm.9 1.043-.649.83c.582.925.919 2.02.919 3.193v.5a.5.5 0 0 0 1 0V11c0-1.497-.47-2.885-1.27-4.023Z\",\"M12 8a9 9 0 0 0-9 9 1 1 0 1 1-2 0C1 10.925 5.925 6 12 6c1.939 0 3.76.502 5.342 1.382-.55.372-1.207.82-1.906 1.297A8.973 8.973 0 0 0 12 8Zm8.658 2.6a2.75 2.75 0 0 0 .131-.215A10.95 10.95 0 0 1 23 17a1 1 0 1 1-2 0 8.958 8.958 0 0 0-1.407-4.834c.392-.574.756-1.11 1.065-1.567Zm-1.733-1.009c-.199.293-.417.616-.65.957-1.778 2.613-4.358 6.364-4.86 6.866a2 2 0 1 1-2.83-2.828c.577-.577 5.435-3.893 7.938-5.588.253-.172.543.031.543.282a.35.35 0 0 1-.064.197l-.077.114Z\",\"M16 11C9.373 11 4 16.373 4 23a1 1 0 1 1-2 0C2 15.268 8.268 9 16 9c2.421 0 4.698.615 6.685 1.696-.6.372-1.283.798-2.005 1.25A11.962 11.962 0 0 0 16 11Zm9.479 4.64c.411-.659.79-1.27 1.115-1.793A13.946 13.946 0 0 1 30 23a1 1 0 1 1-2 0c0-2.774-.941-5.328-2.521-7.36Zm-1.326-1.654-.083.133c-2.077 3.332-5.186 8.24-5.949 9.002a3 3 0 0 1-4.242-4.243c.875-.875 7.203-4.837 10.352-6.787a.493.493 0 0 1 .756.413.5.5 0 0 1-.078.265l-.13.208c-.192.312-.403.65-.626 1.008Z\"]];","export default [[\"<path d='M6 5.896c2.444 0 4-.895 4-2 0-1.104-1.556-2-4-2s-4 .896-4 2c0 1.105 1.556 2 4 2Zm0 5c2.444 0 4-.895 4-2v1c0 1.105-1.556 2-4 2s-4-.895-4-2v-1c0 1.105 1.556 2 4 2Z'></path><path d='M10 6.896c0 1.105-1.556 2-4 2s-4-.895-4-2v1c0 1.105 1.556 2 4 2s4-.895 4-2v-1Z'></path><path d='M6 6.896c2.444 0 4-.895 4-2v1c0 1.105-1.556 2-4 2s-4-.895-4-2v-1c0 1.105 1.556 2 4 2Z'></path>\",\"<path d='M8 6.896c3.667 0 6-1.119 6-2.5 0-1.38-2.333-2.5-6-2.5s-6 1.12-6 2.5c0 1.381 2.333 2.5 6 2.5Zm0 7c3.667 0 6-1.119 6-2.5v2c0 1.381-2.333 2.5-6 2.5s-6-1.119-6-2.5v-2c0 1.381 2.333 2.5 6 2.5Z'></path><path d='M14 8.396c0 1.381-2.333 2.5-6 2.5s-6-1.119-6-2.5v2c0 1.381 2.333 2.5 6 2.5s6-1.119 6-2.5v-2Z'></path><path d='M8 7.896c3.667 0 6-1.119 6-2.5v2c0 1.381-2.333 2.5-6 2.5s-6-1.119-6-2.5v-2c0 1.381 2.333 2.5 6 2.5Z'></path>\",\"<path d='M12 10.896c5.5 0 9-1.79 9-4 0-2.209-3.5-4-9-4s-9 1.791-9 4c0 2.21 3.5 4 9 4Z'></path><path d='M12 12.896c5.5 0 9-1.79 9-4v2c0 2.21-3.5 4-9 4s-9-1.79-9-4v-2c0 2.21 3.5 4 9 4Z'></path><path d='M21 12.896c0 2.21-3.5 4-9 4s-9-1.79-9-4v2c0 2.21 3.5 4 9 4s9-1.79 9-4v-2Z'></path><path d='M12 20.896c5.5 0 9-1.79 9-4v2c0 2.21-3.5 4-9 4s-9-1.79-9-4v-2c0 2.21 3.5 4 9 4Z'></path>\",\"<path d='M16 12.896c6.5 0 11-2.238 11-5 0-2.76-4.5-5-11-5s-11 2.24-11 5c0 2.762 4.5 5 11 5Z'></path><path d='M16 14.896c6.5 0 11-2.238 11-5v4c0 2.762-4.5 5-11 5s-11-2.238-11-5v-4c0 2.762 4.5 5 11 5Z'></path><path d='M27 15.896c0 2.762-4.5 5-11 5s-11-2.238-11-5v4c0 2.762 4.5 5 11 5s11-2.238 11-5v-4Z'></path><path d='M27 21.896c0 2.762-4.5 5-11 5s-11-2.238-11-5v4c0 2.762 4.5 5 11 5s11-2.238 11-5v-4Z'></path>\"],[\"M10 3.896v6c0 .377-.18.693-.42.936-.236.24-.554.433-.908.585-.71.304-1.654.48-2.672.48-1.018 0-1.963-.176-2.672-.48-.354-.152-.672-.345-.909-.585-.239-.243-.419-.56-.419-.936v-6c0-.376.18-.692.42-.935.236-.24.554-.433.908-.585.71-.304 1.654-.48 2.672-.48 1.018 0 1.963.176 2.672.48.354.152.672.345.909.585.239.243.419.56.419.935Zm-7 0c0 .039.016.117.13.233.118.119.312.249.592.369.558.239 1.363.398 2.278.398s1.72-.16 2.278-.398c.28-.12.474-.25.591-.369.115-.116.131-.194.131-.233 0-.038-.016-.116-.13-.232-.118-.119-.312-.249-.592-.369C7.72 3.056 6.915 2.896 6 2.896s-1.72.16-2.278.4c-.28.12-.474.25-.591.368-.115.116-.131.194-.131.232Zm0 1.362v.638c0 .039.016.117.13.233.118.119.312.249.592.369.558.239 1.363.398 2.278.398s1.72-.16 2.278-.398c.28-.12.474-.25.591-.369.115-.116.131-.194.131-.233v-.638c-.105.057-.215.11-.328.159-.71.304-1.654.48-2.672.48-1.018 0-1.963-.176-2.672-.48A3.776 3.776 0 0 1 3 5.257Zm5.672 2.159c-.71.304-1.654.48-2.672.48-1.018 0-1.963-.176-2.672-.48A3.776 3.776 0 0 1 3 7.257v.64c0 .038.016.116.13.232.118.119.312.249.592.369.558.239 1.363.398 2.278.398s1.72-.16 2.278-.398c.28-.12.474-.25.591-.369.115-.116.131-.194.131-.233v-.638c-.105.057-.215.11-.328.159ZM3 9.257v.64c0 .038.016.116.13.232.118.119.312.249.592.369.558.239 1.363.399 2.278.399s1.72-.16 2.278-.4c.28-.12.474-.25.591-.368.115-.116.131-.194.131-.233v-.638c-.105.057-.215.11-.328.159-.71.304-1.654.48-2.672.48-1.018 0-1.963-.176-2.672-.48A3.776 3.776 0 0 1 3 9.257Z\",\"M14 4.396v9c0 .477-.267.867-.606 1.158-.34.293-.805.534-1.334.727-1.063.386-2.499.615-4.06.615-1.561 0-2.997-.229-4.06-.615-.53-.193-.993-.434-1.334-.727-.339-.291-.606-.68-.606-1.158v-9c0-.476.267-.866.606-1.157.34-.293.805-.534 1.334-.727 1.063-.386 2.499-.616 4.06-.616 1.561 0 2.997.23 4.06.616.53.193.993.434 1.334.727.339.291.606.68.606 1.157Zm-11 0c0 .076.04.213.258.4.216.186.558.375 1.024.545.927.337 2.242.555 3.718.555s2.79-.218 3.718-.555c.466-.17.808-.36 1.024-.545.217-.187.258-.324.258-.4 0-.075-.04-.212-.258-.399-.216-.186-.558-.375-1.024-.545-.927-.337-2.242-.556-3.718-.556s-2.79.219-3.718.556c-.466.17-.808.36-1.024.545-.217.187-.258.324-.258.4ZM3 5.84v1.557c0 .076.04.213.258.4.216.186.558.375 1.024.545.927.337 2.242.555 3.718.555s2.79-.218 3.718-.555c.466-.17.808-.36 1.024-.545.217-.187.258-.324.258-.4V5.84a5.19 5.19 0 0 1-.94.442c-1.063.386-2.499.615-4.06.615-1.561 0-2.997-.229-4.06-.615A5.185 5.185 0 0 1 3 5.839Zm9.06 3.442c-1.063.386-2.499.615-4.06.615-1.561 0-2.997-.229-4.06-.615A5.185 5.185 0 0 1 3 8.839v1.557c0 .076.04.213.258.4.216.186.558.375 1.024.545.927.337 2.242.556 3.718.556s2.79-.219 3.718-.556c.466-.17.808-.36 1.024-.545.217-.187.258-.324.258-.4V8.84a5.19 5.19 0 0 1-.94.442ZM3 11.839v1.557c0 .076.04.213.258.4.216.186.558.375 1.024.545.927.337 2.242.556 3.718.556s2.79-.219 3.718-.556c.466-.17.808-.36 1.024-.545.217-.187.258-.324.258-.4V11.84a5.19 5.19 0 0 1-.94.442c-1.063.386-2.499.615-4.06.615-1.561 0-2.997-.229-4.06-.615A5.186 5.186 0 0 1 3 11.84Z\",\"M21 6.896v12c0 .803-.438 1.448-.965 1.916-.53.47-1.238.846-2.027 1.142-1.586.595-3.71.942-6.008.942-2.297 0-4.422-.347-6.008-.942-.79-.296-1.498-.673-2.027-1.142C3.437 20.345 3 19.7 3 18.896v-12c0-.802.437-1.448.965-1.916.53-.468 1.238-.845 2.027-1.141 1.586-.595 3.71-.943 6.008-.943 2.297 0 4.422.348 6.008.943.79.296 1.498.673 2.027 1.141.527.468.965 1.114.965 1.916Zm-16 0c0 .026.01.17.292.42.28.249.744.519 1.402.765 1.31.491 3.185.815 5.306.815s3.997-.324 5.306-.815c.658-.246 1.121-.516 1.402-.765.282-.25.292-.394.292-.42 0-.025-.01-.17-.292-.419-.28-.249-.744-.519-1.402-.766-1.31-.49-3.185-.815-5.306-.815s-3.997.325-5.306.815c-.658.247-1.121.517-1.402.766-.282.25-.292.394-.292.42Zm0 2.617v1.383c0 .026.01.17.292.42.28.249.744.519 1.402.765 1.31.491 3.185.816 5.306.816s3.997-.325 5.306-.816c.658-.246 1.121-.516 1.402-.765.282-.25.292-.394.292-.42V9.514a8.52 8.52 0 0 1-.992.441c-1.586.595-3.71.942-6.008.942-2.297 0-4.422-.347-6.008-.942A8.52 8.52 0 0 1 5 9.513Zm13.008 4.441c-1.586.595-3.71.942-6.008.942-2.297 0-4.422-.347-6.008-.942A8.518 8.518 0 0 1 5 13.513v1.383c0 .026.01.17.292.42.28.249.744.519 1.402.765 1.31.491 3.185.816 5.306.816s3.997-.325 5.306-.816c.658-.246 1.121-.516 1.402-.765.282-.25.292-.394.292-.42v-1.383a8.72 8.72 0 0 1-.992.441ZM5 17.513v1.383c0 .026.01.17.292.42.28.249.744.519 1.402.765 1.31.491 3.185.816 5.306.816s3.997-.325 5.306-.816c.658-.246 1.121-.516 1.402-.765.282-.25.292-.394.292-.42v-1.383a8.72 8.72 0 0 1-.992.441c-1.586.595-3.71.942-6.008.942-2.297 0-4.422-.347-6.008-.942A8.518 8.518 0 0 1 5 17.513Z\",\"M5 7.896c0-.915.468-1.687 1.099-2.283.628-.594 1.484-1.084 2.459-1.473 1.954-.782 4.586-1.244 7.442-1.244s5.488.462 7.442 1.244c.975.39 1.83.879 2.46 1.473C26.531 6.209 27 6.98 27 7.896v18c0 .916-.468 1.688-1.099 2.284-.628.594-1.484 1.084-2.459 1.473-1.954.782-4.586 1.244-7.442 1.244s-5.488-.462-7.442-1.244c-.975-.39-1.83-.879-2.46-1.473C5.469 27.584 5 26.812 5 25.896v-18Zm2 0c0 .19.091.47.473.83.384.364.992.736 1.827 1.07 1.665.666 4.033 1.1 6.7 1.1s5.035-.434 6.7-1.1c.835-.334 1.444-.706 1.827-1.07.381-.36.473-.64.473-.83 0-.188-.091-.47-.473-.83-.384-.363-.992-.735-1.827-1.07-1.665-.665-4.033-1.1-6.7-1.1s-5.035.435-6.7 1.1c-.835.335-1.443.707-1.827 1.07-.381.36-.473.642-.473.83Zm0 2.976v3.024c0 .19.091.47.473.83.384.364.992.736 1.827 1.07 1.665.666 4.033 1.1 6.7 1.1s5.035-.434 6.7-1.1c.835-.334 1.444-.706 1.827-1.07.381-.36.473-.64.473-.83v-3.024a9.52 9.52 0 0 1-1.558.781c-1.954.782-4.586 1.243-7.442 1.243s-5.488-.46-7.442-1.243A9.519 9.519 0 0 1 7 10.872Zm0 6v3.024c0 .19.091.47.473.83.384.364.992.736 1.827 1.07 1.665.666 4.033 1.1 6.7 1.1s5.035-.434 6.7-1.1c.835-.334 1.444-.706 1.827-1.07.381-.36.473-.64.473-.83v-3.024a9.52 9.52 0 0 1-1.558.781c-1.954.782-4.586 1.244-7.442 1.244s-5.488-.462-7.442-1.244A9.519 9.519 0 0 1 7 16.872Zm18 6a9.52 9.52 0 0 1-1.558.781c-1.954.782-4.586 1.244-7.442 1.244s-5.488-.462-7.442-1.244A9.519 9.519 0 0 1 7 22.872v3.024c0 .19.091.47.473.83.384.364.992.736 1.827 1.07 1.665.666 4.033 1.1 6.7 1.1s5.035-.434 6.7-1.1c.835-.334 1.444-.706 1.827-1.07.381-.36.473-.64.473-.83v-3.024Z\"]];","export default [[\"<path d='M8.5 4c-1.069 0-2.05.372-2.822.995C3.42 4.92 2 4.055 2 3c0-1.105 1.556-2 4-2s4 .895 4 2c0 .403-.207.778-.589 1.092A4.52 4.52 0 0 0 8.5 4Z'></path><path d='M2 4c0 .913 1.062 1.683 2.81 1.923a4.49 4.49 0 0 0-.493.914C2.864 6.531 2 5.823 2 5V4Zm2.697 6.906a4.479 4.479 0 0 1-.503-1.096C2.816 9.49 2 8.8 2 8v1c0 .893 1.016 1.649 2.697 1.906ZM4 8.5c0-.246.02-.488.058-.723C2.762 7.444 2 6.773 2 6v1c0 .763.742 1.426 2.008 1.764A4.568 4.568 0 0 1 4 8.5Zm5.854-.354-1-1a.5.5 0 0 0-.708 0l-1 1a.5.5 0 1 0 .708.708L8 8.707V9.5a.5.5 0 0 0 1 0v-.793l.146.147a.5.5 0 1 0 .708-.708Z'></path><path d='M8.5 5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM6 8.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path>\",\"<path d='M14 3.5C14 4.88 11.667 6 8 6S2 4.88 2 3.5 4.333 1 8 1s6 1.12 6 2.5ZM7.244 14.984C4.015 14.84 2 13.784 2 12.5v-2c0 1.136 1.579 2.095 4.18 2.4a5.484 5.484 0 0 0 1.064 2.084Zm6.752-8.386a5.462 5.462 0 0 0-1.32-.472C13.528 5.689 14 5.12 14 4.5v2c0 .033-.001.065-.004.098Z'></path><path d='M6.629 8.944a5.526 5.526 0 0 1 1.713-1.947C8.229 6.999 8.115 7 8 7 4.333 7 2 5.88 2 4.5v2c0 1.2 1.762 2.202 4.629 2.444Z'></path><path d='M6.235 9.905a5.5 5.5 0 0 0-.222 1.974C3.51 11.553 2 10.61 2 9.5v-2c0 1.144 1.601 2.108 4.235 2.405Zm4.911-.759-1.5 1.5a.5.5 0 0 0 .708.708l.646-.647V13.5a.5.5 0 0 0 1 0v-2.793l.646.647a.5.5 0 0 0 .708-.708l-1.5-1.5a.5.5 0 0 0-.708 0Z'></path><path d='M11.5 16a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm3.5-4.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Z'></path>\",\"<path d='M17 8a8.962 8.962 0 0 0-5.647 1.992C6.227 9.857 3 8.122 3 6c0-2.21 3.5-4 9-4s9 1.79 9 4c0 .873-.547 1.68-1.547 2.338A9.007 9.007 0 0 0 17 8Z'></path><path d='M3 8c0 1.868 2.502 3.437 6.6 3.877a8.978 8.978 0 0 0-.993 1.866C5.102 13.173 3 11.712 3 10V8Zm6.422 13.857a8.958 8.958 0 0 1-1.006-2.146C5.026 19.12 3 17.681 3 16v2c0 1.84 2.43 3.39 6.422 3.857ZM8 17c0-.458.034-.908.1-1.347C4.9 15.028 3 13.628 3 12v2c0 1.614 1.87 3.006 5.022 3.637A9.131 9.131 0 0 1 8 17Zm12.207-1.207-2.5-2.5a1 1 0 0 0-1.414 0l-2.5 2.5a1 1 0 0 0 1.414 1.414l.793-.793V20a1 1 0 1 0 2 0v-3.586l.793.793a1 1 0 0 0 1.414-1.414Z'></path><path d='M24 17a7 7 0 1 0-14 0 7 7 0 0 0 14 0Zm-7-5a5 5 0 1 1 0 10 5 5 0 0 1 0-10Z'></path>\",\"<path d='M17.501 11.959c-.487.027-.988.041-1.501.041C9.5 12 5 9.761 5 7s4.5-5 11-5 11 2.239 11 5c0 1.65-1.605 3.112-4.284 4.023a10.961 10.961 0 0 0-5.215.936Z'></path><path d='M14.494 13.959C8.815 13.642 5 11.543 5 9v4c0 2.13 2.678 3.95 6.885 4.67a11.024 11.024 0 0 1 2.61-3.711ZM11.61 25.62a11.007 11.007 0 0 0 2.791 4.333C8.774 29.62 5 27.53 5 25v-4c0 2.083 2.561 3.869 6.61 4.62Z'></path><path d='M11.273 19.555a11.037 11.037 0 0 0-.169 3.965C7.35 22.716 5 20.995 5 19v-4c0 2.025 2.42 3.768 6.273 4.555ZM27 12.2c-.473-.242-.965-.45-1.474-.623C26.476 10.825 27 9.943 27 9v3.2Zm-4.293 5.093a1 1 0 0 0-1.414 0l-3 3a1 1 0 0 0 1.414 1.414L21 20.414V26a1 1 0 1 0 2 0v-5.586l1.293 1.293a1 1 0 0 0 1.414-1.414l-3-3Z'></path><path d='M31 22a9 9 0 1 0-18 0 9 9 0 0 0 18 0Zm-9-7a7 7 0 1 1 0 14 7 7 0 0 1 0-14Z'></path>\"],[\"<path d='M3.328 4.52A3.773 3.773 0 0 1 3 4.361V5c0 .038.016.116.13.233.118.118.312.248.592.368.302.13.675.235 1.1.306a4.49 4.49 0 0 0-.501.922 5.462 5.462 0 0 1-.993-.309A3.773 3.773 0 0 1 3 6.361V7c0 .038.016.116.13.233.118.118.312.248.592.368.106.046.221.088.344.127a4.529 4.529 0 0 0-.059 1.025 5.105 5.105 0 0 1-.679-.233A3.773 3.773 0 0 1 3 8.361V9c0 .038.016.116.13.233.118.118.312.248.592.368.138.06.291.114.458.162.118.405.292.787.512 1.136a5.856 5.856 0 0 1-1.364-.379c-.354-.151-.672-.345-.909-.585C2.18 9.693 2 9.376 2 9V3c0-.376.18-.693.42-.935.236-.24.554-.434.908-.585C4.038 1.176 4.982 1 6 1c1.018 0 1.963.176 2.672.48.354.151.672.345.909.585.239.242.419.559.419.935v1.256A4.493 4.493 0 0 0 8.5 4c-1.068 0-2.05.372-2.821.994-.895-.033-1.717-.202-2.35-.474Zm-.197-1.753C3.016 2.884 3 2.962 3 3c0 .038.016.116.13.233.118.118.312.248.592.368C4.28 3.84 5.085 4 6 4s1.72-.16 2.278-.399c.28-.12.474-.25.591-.368C8.984 3.116 9 3.038 9 3c0-.038-.016-.116-.13-.233-.118-.118-.312-.248-.592-.368C7.72 2.16 6.915 2 6 2s-1.72.16-2.278.399c-.28.12-.474.25-.591.368Zm6.723 5.379-1-1a.5.5 0 0 0-.708 0l-1 1a.5.5 0 1 0 .708.708L8 8.707V9.5a.5.5 0 0 0 1 0v-.793l.146.147a.5.5 0 1 0 .708-.708Z'></path><path d='M8.5 5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM6 8.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path>\",\"<path d='M3.94 5.384A5.185 5.185 0 0 1 3 4.942V6.5c0 .076.04.212.258.4.216.185.558.375 1.024.544.772.281 1.812.48 2.99.538a5.51 5.51 0 0 0-.641.958c-1.023-.092-1.948-.286-2.691-.556A5.185 5.185 0 0 1 3 7.942V9.5c0 .076.04.212.258.4.216.185.558.375 1.024.544a8.983 8.983 0 0 0 1.754.42 5.556 5.556 0 0 0-.024 1.006 10.12 10.12 0 0 1-2.072-.486 5.186 5.186 0 0 1-.94-.442V12.5c0 .076.04.212.258.4.216.185.558.375 1.024.544.613.223 1.395.394 2.282.485.186.377.414.73.678 1.053-1.265-.061-2.413-.275-3.302-.598-.53-.192-.993-.434-1.334-.726C2.267 13.366 2 12.977 2 12.5v-9c0-.477.267-.866.606-1.158.34-.292.805-.534 1.334-.726C5.003 1.229 6.439 1 8 1c1.561 0 2.997.23 4.06.616.53.192.993.434 1.334.726.339.292.606.681.606 1.158v3.1a5.465 5.465 0 0 0-1-.393V4.942a5.189 5.189 0 0 1-.94.442C10.997 5.771 9.561 6 8 6c-1.561 0-2.997-.23-4.06-.616Zm-.682-2.283C3.041 3.288 3 3.424 3 3.5c0 .076.04.212.258.4.216.185.558.375 1.024.544C5.209 4.782 6.524 5 8 5s2.79-.218 3.718-.556c.466-.17.808-.359 1.024-.545.217-.187.258-.323.258-.399 0-.076-.04-.212-.258-.4-.216-.185-.558-.375-1.024-.544C10.791 2.218 9.476 2 8 2s-2.79.218-3.718.556c-.466.17-.808.359-1.024.545Z'></path><path d='m11.146 9.146-1.5 1.5a.5.5 0 0 0 .708.708l.646-.647V13.5a.5.5 0 0 0 1 0v-2.793l.646.647a.5.5 0 0 0 .708-.708l-1.5-1.5a.5.5 0 0 0-.708 0Z'></path><path d='M11.5 16a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm3.5-4.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Z'></path>\",\"<path d='M5.992 9.058A8.52 8.52 0 0 1 5 8.616V10c0 .025.01.17.292.42.28.248.744.518 1.402.765.79.296 1.787.532 2.92.672a8.976 8.976 0 0 0-1.003 1.876 14.07 14.07 0 0 1-2.619-.675A8.518 8.518 0 0 1 5 12.616V14c0 .025.01.17.292.42.28.248.744.518 1.402.765.418.156.892.296 1.414.413a9.068 9.068 0 0 0-.087 2.027 13.39 13.39 0 0 1-2.029-.567A8.518 8.518 0 0 1 5 16.616V18c0 .026.01.17.292.42.28.248.744.518 1.402.765.494.185 1.068.347 1.706.476a8.96 8.96 0 0 0 1.016 2.187c-1.287-.156-2.456-.427-3.424-.79-.79-.296-1.498-.673-2.027-1.142C3.437 19.448 3 18.803 3 18V6c0-.803.437-1.448.965-1.916.53-.469 1.238-.846 2.027-1.142C7.578 2.347 9.702 2 12 2c2.297 0 4.422.347 6.008.942.79.296 1.498.673 2.027 1.142C20.562 4.552 21 5.197 21 6v2.936A8.963 8.963 0 0 0 17 8a8.962 8.962 0 0 0-5.646 1.99c-2.048-.058-3.925-.394-5.362-.932Zm-.7-3.477C5.01 5.83 5 5.974 5 6c0 .026.01.17.292.42.28.248.744.518 1.402.765C8.004 7.675 9.88 8 12 8s3.997-.324 5.306-.815c.658-.247 1.121-.517 1.402-.766C18.99 6.17 19 6.026 19 6c0-.026-.01-.17-.292-.42-.28-.248-.744-.518-1.402-.765C15.996 4.325 14.12 4 12 4s-3.997.324-5.306.815c-.658.247-1.121.517-1.402.766Z'></path><path d='m20.207 15.793-2.5-2.5a1 1 0 0 0-1.414 0l-2.5 2.5a1 1 0 0 0 1.414 1.414l.793-.793V20a1 1 0 1 0 2 0v-3.586l.793.793a1 1 0 0 0 1.414-1.414Z'></path><path d='M24 17a7 7 0 1 0-14 0 7 7 0 0 0 14 0Zm-7-5a5 5 0 1 1 0 10 5 5 0 0 1 0-10Z'></path>\",\"<path d='M8.558 10.757A9.517 9.517 0 0 1 7 9.975V13c0 .189.091.47.473.83.384.363.992.736 1.827 1.07.986.394 2.219.707 3.614.897a11.035 11.035 0 0 0-1.026 1.866c-1.239-.213-2.367-.52-3.33-.906A9.519 9.519 0 0 1 7 15.975V19c0 .189.091.47.473.83.384.363.992.736 1.827 1.07.51.204 1.085.386 1.714.54a11.175 11.175 0 0 0 .09 2.072 15.683 15.683 0 0 1-2.546-.755A9.519 9.519 0 0 1 7 21.975V25c0 .189.091.47.473.83.384.363.992.736 1.827 1.07.917.367 2.048.663 3.324.856a11.052 11.052 0 0 0 1.774 2.195c-2.23-.138-4.257-.56-5.84-1.194-.975-.39-1.83-.88-2.46-1.474C5.469 26.688 5 25.916 5 25V7c0-.916.468-1.687 1.099-2.284.628-.594 1.484-1.083 2.459-1.473C10.512 2.461 13.144 2 16 2s5.488.461 7.442 1.243c.975.39 1.83.88 2.46 1.473C26.531 5.313 27 6.084 27 7v5.2a10.924 10.924 0 0 0-2-.786V9.975a9.518 9.518 0 0 1-1.558.782 13.19 13.19 0 0 1-.727.266 10.961 10.961 0 0 0-5.208.934A25.96 25.96 0 0 1 16 12c-2.856 0-5.488-.461-7.442-1.243ZM7.473 6.17C7.092 6.53 7 6.81 7 7c0 .189.091.47.473.83.384.363.992.736 1.827 1.07 1.665.666 4.033 1.1 6.7 1.1s5.035-.434 6.7-1.1c.835-.334 1.444-.707 1.827-1.07.381-.36.473-.641.473-.83 0-.189-.091-.47-.473-.83-.384-.363-.992-.736-1.827-1.07C21.035 4.434 18.667 4 16 4s-5.035.434-6.7 1.1c-.835.334-1.443.707-1.827 1.07Z'></path><path d='M22.707 17.293a1 1 0 0 0-1.414 0l-3 3a1 1 0 0 0 1.414 1.414L21 20.414V26a1 1 0 1 0 2 0v-5.586l1.293 1.293a1 1 0 0 0 1.414-1.414l-3-3Z'></path><path d='M31 22a9 9 0 1 0-18 0 9 9 0 0 0 18 0Zm-9-7a7 7 0 1 1 0 14 7 7 0 0 1 0-14Z'></path>\"]];","export default [[\"<path d='M7.5 4c-.812 0-1.534.387-1.99.988C3.35 4.876 2 4.028 2 3c0-1.105 1.556-2 4-2s4 .895 4 2c0 .364-.17.706-.484 1H7.5Z'></path><path d='M2 4c0 .955 1.164 1.754 3.06 1.953-.04.176-.06.359-.06.547v.446c-1.86-.209-3-1-3-1.946V4Zm3 5.946v.804c0 .066.003.132.009.197C3.143 10.74 2 9.947 2 9V8c0 .945 1.14 1.737 3 1.946Zm0-1v-1c-1.86-.209-3-1-3-1.946v1c0 .945 1.14 1.737 3 1.946ZM7.5 5A1.5 1.5 0 0 0 6 6.5v4A1.5 1.5 0 0 0 7.5 12h4a.5.5 0 0 0 .5-.5v-6a.5.5 0 0 0-.5-.5h-4ZM7 6.5a.5.5 0 0 1 .5-.5H8v5h-.5a.5.5 0 0 1-.5-.5v-4ZM9 11V6h2v5H9Z'></path>\",\"<path d='M14 3.5C14 4.88 11.667 6 8 6S2 4.88 2 3.5 4.333 1 8 1s6 1.12 6 2.5ZM8 10c-3.667 0-6-1.12-6-2.5v2C2 10.88 4.333 12 8 12v-2Z'></path><path d='M8 15h.05a2.51 2.51 0 0 1-.05-.5V13c-3.667 0-6-1.12-6-2.5v2C2 13.88 4.333 15 8 15Zm6-9h-1.095C13.612 5.582 14 5.063 14 4.5V6ZM8 8.5V9C4.333 9 2 7.88 2 6.5v-2C2 5.88 4.333 7 8 7c.171 0 .34-.002.505-.007C8.188 7.412 8 7.933 8 8.5Zm7.5 6.5H15v-1h.5a.5.5 0 0 0 .5-.5v-6a.5.5 0 0 0-.5-.5h-5A1.5 1.5 0 0 0 9 8.5v6a1.5 1.5 0 0 0 1.5 1.5h5a.5.5 0 0 0 0-1ZM10 8.5a.5.5 0 0 1 .5-.5h.5v5h-.5c-.175 0-.344.03-.5.085V8.5Zm5 4.5h-3V8h3v5Zm-4.5 1H14v1h-3.5a.5.5 0 0 1 0-1Z'></path>\",\"<path d='M14 8a3.998 3.998 0 0 0-3.44 1.957C5.896 9.673 3 8.01 3 6c0-2.21 3.5-4 9-4s9 1.79 9 4c0 .729-.38 1.412-1.088 2H14Z'></path><path d='M3 8c0 1.928 2.666 3.537 7 3.916v2C5.666 13.537 3 11.928 3 10V8Zm7 11.916V21.5c0 .14.007.28.02.417C5.673 21.542 3 19.931 3 18v-2c0 1.928 2.666 3.537 7 3.916Zm0-2v-2C5.666 15.537 3 13.928 3 12v2c0 1.928 2.666 3.537 7 3.916ZM14 10a2 2 0 0 0-2 2v9.5a2.5 2.5 0 0 0 2.5 2.5H23a1 1 0 1 0 0-2v-1a1 1 0 0 0 1-1v-9a1 1 0 0 0-1-1h-9Zm0 2h1v7h-.5c-.171 0-.338.017-.5.05V12Zm8 7h-5v-7h5v7Zm-7.5 2H21v1h-6.5a.5.5 0 0 1 0-1Z'></path>\",\"<path d='M16 12c.835-.628 1.874-1 3-1h3.783C25.421 10.088 27 8.636 27 7c0-2.761-4.5-5-11-5S5 4.239 5 7s4.5 5 11 5Z'></path><path d='M14.436 13.955C8.789 13.628 5 11.534 5 9v4c0 2.468 3.595 4.519 9 4.926V16c0-.728.156-1.42.436-2.045ZM14 28.5v-2.574C8.595 25.52 5 23.468 5 21v4c0 2.504 3.7 4.578 9.236 4.943A4.493 4.493 0 0 1 14 28.5Z'></path><path d='M14 19.926v4C8.595 23.52 5 21.468 5 19v-4c0 2.468 3.595 4.519 9 4.926ZM31 27a1 1 0 0 1-1 1v1a1 1 0 1 1 0 2H18.5a2.5 2.5 0 0 1-2.5-2.5V16a3 3 0 0 1 3-3h11a1 1 0 0 1 1 1v13ZM18 16v10.05c.162-.033.329-.05.5-.05h.5V15a1 1 0 0 0-1 1Zm3 10h8V15h-8v11Zm-2.5 2a.5.5 0 0 0 0 1H28v-1h-9.5Z'></path>\"],[\"<path d='M10 3v1H7.5c-.812 0-1.533.387-1.99.986-.829-.047-1.588-.211-2.182-.466A3.773 3.773 0 0 1 3 4.361V5c0 .038.016.116.13.233.118.118.312.248.592.368.357.153.816.274 1.34.34-.04.18-.062.367-.062.559v.442a6.153 6.153 0 0 1-1.672-.422A3.773 3.773 0 0 1 3 6.361V7c0 .038.016.116.13.233.118.118.312.248.592.368.343.147.78.264 1.278.333v1.008a6.153 6.153 0 0 1-1.672-.422A3.773 3.773 0 0 1 3 8.361V9c0 .038.016.116.13.233.118.118.312.248.592.368.343.147.78.264 1.278.333v.816c0 .065.003.13.008.193a6.157 6.157 0 0 1-1.68-.423c-.354-.151-.672-.345-.909-.585C2.18 9.693 2 9.376 2 9V3c0-.376.18-.693.42-.935.236-.24.554-.434.908-.585C4.038 1.176 4.982 1 6 1c1.018 0 1.963.176 2.672.48.354.151.672.345.909.585.239.242.419.559.419.935ZM3 3c0 .038.016.116.13.233.118.118.312.248.592.368C4.28 3.84 5.085 4 6 4s1.72-.16 2.278-.399c.28-.12.474-.25.591-.368C8.984 3.116 9 3.038 9 3c0-.038-.016-.116-.13-.233-.118-.118-.312-.248-.592-.368C7.72 2.16 6.915 2 6 2s-1.72.16-2.278.399c-.28.12-.474.25-.591.368C3.016 2.884 3 2.962 3 3Z'></path><path d='M7.5 5A1.5 1.5 0 0 0 6 6.5v4A1.5 1.5 0 0 0 7.5 12h4a.5.5 0 0 0 .5-.5v-6a.5.5 0 0 0-.5-.5h-4ZM7 6.5a.5.5 0 0 1 .5-.5H8v5h-.5a.5.5 0 0 1-.5-.5v-4ZM9 11V6h2v5H9Z'></path>\",\"<path d='M14 3.5V6h-1V4.942a5.189 5.189 0 0 1-.94.442C10.997 5.771 9.561 6 8 6c-1.561 0-2.997-.23-4.06-.616A5.185 5.185 0 0 1 3 4.942V6.5c0 .076.04.212.258.4.216.185.558.375 1.024.544C5.209 7.782 6.524 8 8 8h.05c-.033.162-.05.329-.05.5V9c-1.561 0-2.997-.23-4.06-.616A5.185 5.185 0 0 1 3 7.942V9.5c0 .076.04.212.258.4.216.185.558.375 1.024.544C5.209 10.782 6.524 11 8 11v1c-1.561 0-2.997-.23-4.06-.616a5.186 5.186 0 0 1-.94-.442V12.5c0 .076.04.212.258.4.216.185.558.375 1.024.544C5.209 13.782 6.524 14 8 14v.5c0 .171.017.338.05.5H8c-1.561 0-2.997-.23-4.06-.616-.53-.192-.993-.434-1.334-.726C2.267 13.366 2 12.977 2 12.5v-9c0-.477.267-.866.606-1.158.34-.292.805-.534 1.334-.726C5.003 1.229 6.439 1 8 1c1.561 0 2.997.23 4.06.616.53.192.993.434 1.334.726.339.292.606.681.606 1.158Zm-11 0c0 .076.04.212.258.4.216.185.558.375 1.024.544C5.209 4.782 6.524 5 8 5s2.79-.218 3.718-.556c.466-.17.808-.359 1.024-.545.217-.187.258-.323.258-.399 0-.076-.04-.212-.258-.4-.216-.185-.558-.375-1.024-.544C10.791 2.218 9.476 2 8 2s-2.79.218-3.718.556c-.466.17-.808.359-1.024.545C3.041 3.288 3 3.424 3 3.5Z'></path><path d='M15.5 15H15v-1h.5a.5.5 0 0 0 .5-.5v-6a.5.5 0 0 0-.5-.5h-5A1.5 1.5 0 0 0 9 8.5v6a1.5 1.5 0 0 0 1.5 1.5h5a.5.5 0 0 0 0-1ZM10 8.5a.5.5 0 0 1 .5-.5h.5v5h-.5c-.175 0-.344.03-.5.085V8.5Zm2 4.5V8h3v5h-3Zm-1.5 1H14v1h-3.5a.5.5 0 0 1 0-1Z'></path>\",\"<path d='M21 6v2h-7a4 4 0 0 0-3.438 1.954c-1.738-.113-3.32-.428-4.57-.896A8.52 8.52 0 0 1 5 8.616V10c0 .025.01.17.292.42.28.248.744.518 1.402.765.88.33 2.014.584 3.307.716L10 12v1.91c-1.517-.14-2.895-.435-4.008-.852A8.518 8.518 0 0 1 5 12.616V14c0 .025.01.17.292.42.28.248.744.518 1.402.765.88.33 2.014.584 3.306.716v2.009c-1.517-.14-2.895-.435-4.008-.852A8.518 8.518 0 0 1 5 16.616V18c0 .026.01.17.292.42.28.248.744.518 1.402.765.88.33 2.014.584 3.306.716V21.5c0 .139.006.276.019.412-1.525-.139-2.91-.435-4.027-.854-.79-.296-1.498-.673-2.027-1.142C3.437 19.448 3 18.803 3 18V6c0-.803.437-1.448.965-1.916.53-.469 1.238-.846 2.027-1.142C7.578 2.347 9.702 2 12 2c2.297 0 4.422.347 6.008.942.79.296 1.498.673 2.027 1.142C20.562 4.552 21 5.197 21 6ZM5 6c0 .026.01.17.292.42.28.248.744.518 1.402.765C8.004 7.675 9.88 8 12 8s3.997-.324 5.306-.815c.658-.247 1.121-.517 1.402-.766C18.99 6.17 19 6.026 19 6c0-.026-.01-.17-.292-.42-.28-.248-.744-.518-1.402-.765C15.996 4.325 14.12 4 12 4s-3.997.324-5.306.815c-.658.247-1.121.517-1.402.766C5.01 5.83 5 5.974 5 6Z'></path><path d='M14 10a2 2 0 0 0-2 2v9.5a2.5 2.5 0 0 0 2.5 2.5H23a1 1 0 1 0 0-2v-1a1 1 0 0 0 1-1v-9a1 1 0 0 0-1-1h-9Zm0 2h1v7h-.5c-.171 0-.338.017-.5.05V12Zm8 7h-5v-7h5v7Zm-7.5 2H21v1h-6.5a.5.5 0 0 1 0-1Z'></path>\",\"<path d='M7 9.975c.465.295.991.555 1.558.782 1.954.782 4.586 1.243 7.441 1.243.836-.628 1.875-1 3.001-1h3.783c.227-.077.447-.158.66-.243A9.518 9.518 0 0 0 25 9.975V11h2V7c0-.916-.468-1.687-1.099-2.284-.628-.594-1.484-1.083-2.459-1.473C21.488 2.461 18.856 2 16 2s-5.488.461-7.442 1.243c-.975.39-1.83.88-2.46 1.473C5.469 5.313 5 6.084 5 7v18c0 .916.468 1.687 1.099 2.284.628.594 1.484 1.083 2.459 1.473 1.544.618 3.511 1.035 5.677 1.183A4.497 4.497 0 0 1 14 28.5v-.583c-1.843-.157-3.465-.523-4.7-1.017-.835-.334-1.443-.707-1.827-1.07C7.092 25.47 7 25.19 7 25v-3.025c.465.295.991.555 1.558.782 1.488.595 3.369 1.005 5.442 1.166v-2.006c-1.843-.157-3.465-.523-4.7-1.017-.835-.334-1.443-.707-1.827-1.07C7.092 19.47 7 19.19 7 19v-3.025c.465.295.991.555 1.558.782 1.488.595 3.369 1.005 5.442 1.166v-2.006c-1.843-.157-3.465-.523-4.7-1.017-.835-.334-1.443-.707-1.827-1.07C7.092 13.47 7 13.19 7 13V9.975ZM7 7c0-.189.091-.47.473-.83.384-.363.992-.736 1.827-1.07C10.965 4.434 13.333 4 16 4s5.035.434 6.7 1.1c.835.334 1.444.707 1.827 1.07.381.36.473.641.473.83 0 .189-.091.47-.473.83-.384.363-.992.736-1.827 1.07-1.665.666-4.033 1.1-6.7 1.1s-5.035-.434-6.7-1.1c-.835-.334-1.443-.707-1.827-1.07C7.092 7.47 7 7.19 7 7Z'></path><path d='M31 27a1 1 0 0 1-1 1v1a1 1 0 1 1 0 2H18.5a2.5 2.5 0 0 1-2.5-2.5V16a3 3 0 0 1 3-3h11a1 1 0 0 1 1 1v13ZM18 16v10.05c.162-.033.329-.05.5-.05h.5V15a1 1 0 0 0-1 1Zm3 10h8V15h-8v11Zm-2.5 2a.5.5 0 0 0 0 1H28v-1h-9.5Z'></path>\"]];","export default [[\"<path d='M6 5c.867 0 1.622-.113 2.236-.307A1.499 1.499 0 0 1 9.5 4h.016c.315-.294.484-.636.484-1 0-1.105-1.556-2-4-2s-4 .895-4 2 1.556 2 4 2Zm0 1c.759 0 1.432-.086 2-.238V6H6Z'></path><path d='M6 6H5a1 1 0 0 0-.973.769C2.75 6.433 2 5.767 2 5V4c0 1.105 1.556 2 4 2ZM4 9.762v1c-1.26-.338-2-1-2-1.762V8c0 .762.74 1.424 2 1.762Zm0-1v-1c-1.26-.338-2-1-2-1.762v1c0 .762.74 1.424 2 1.762ZM9 5.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm1 .5v1h1V6h-1ZM5 7.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V9h1.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-4ZM7 11v-1H6v1h1Zm0-3H6v1h1V8Zm1 3h1v-1H8v1Z'></path>\",\"<path d='M14 3.5C14 4.88 11.667 6 8 6S2 4.88 2 3.5 4.333 1 8 1s6 1.12 6 2.5Z'></path><path d='M5.042 6.711C3.126 6.292 2 5.46 2 4.5v2c0 .952 1.11 1.78 3 2.202V7a1 1 0 0 1 .042-.289ZM5 12.702v2c-1.89-.422-3-1.25-3-2.202v-2c0 .952 1.11 1.78 3 2.202Zm0-1v-2C3.11 9.28 2 8.452 2 7.5v2c0 .952 1.11 1.78 3 2.202ZM12 7a.5.5 0 0 1 .5-.5H15a.5.5 0 0 1 .5.5v2.5a.5.5 0 0 1-.5.5h-2.5a.5.5 0 0 1-.5-.5V7Zm1 .5V9h1.5V7.5H13Z'></path><path d='M6 7.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5V11h3.5a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-8Zm4 7.5v-3H7v3h3Zm0-7H7v3h3V8Zm1 7h3v-3h-3v3Z'></path>\",\"<path d='M12 10c2.223 0 4.12-.293 5.59-.787A2.996 2.996 0 0 1 19.91 8C20.62 7.413 21 6.73 21 6c0-2.21-3.5-4-9-4S3 3.79 3 6s3.5 4 9 4ZM3 8c0 1.661 1.98 3.086 5.3 3.69-.192.396-.3.84-.3 1.31v.633C4.86 12.999 3 11.611 3 10V8Zm0 4c0 1.61 1.86 2.999 5 3.633v2C4.86 16.999 3 15.611 3 14v-2Zm0 4c0 1.61 1.86 2.999 5 3.633v2C4.86 20.999 3 19.611 3 18v-2Zm16-5a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-3a1 1 0 0 1-1-1v-3Zm2 1v1h1v-1h-1Z'></path><path d='M11 12a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1h-4v-4a1 1 0 0 0-1-1h-5Zm4 7v3h-3v-3h3Zm0-2h-3v-3h3v3Zm2 5v-3h3v3h-3Z'></path>\",\"<path d='M27 7c0 2.761-4.5 5-11 5S5 9.761 5 7s4.5-5 11-5 11 2.239 11 5Zm-4.217 6h.98c.55-.614 1.348-1 2.237-1h1V9c0 1.636-1.579 3.088-4.217 4ZM12 29.689v-4c-4.274-.707-7-2.54-7-4.689v4c0 2.15 2.726 3.982 7 4.689Z'></path><path d='M12 19.689v4c-4.274-.707-7-2.54-7-4.689v-4c0 2.15 2.726 3.982 7 4.689Z'></path><path d='M12 16v1.689c-4.274-.707-7-2.54-7-4.689V9c0 2.303 3.129 4.242 7.937 4.822A2.991 2.991 0 0 0 12 16Zm13-1a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-4Zm2 3h2v-2h-2v2Z'></path><path d='M15 15a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-7a1 1 0 0 0-1-1h-6v-6a1 1 0 0 0-1-1h-7Zm6 9v5h-5v-5h5Zm0-2h-5v-5h5v5Zm2 7v-5h5v5h-5Z'></path>\"],[\"<path d='M10 3v1h-.5c-.525 0-.988.27-1.255.679C7.602 4.884 6.825 5 6 5c-1.018 0-1.963-.176-2.672-.48A3.773 3.773 0 0 1 3 4.361V5c0 .038.016.116.13.233.118.118.312.248.592.368C4.28 5.84 5.085 6 6 6H5a1 1 0 0 0-.97.759 5.132 5.132 0 0 1-.702-.239A3.773 3.773 0 0 1 3 6.361V7c0 .038.016.116.13.233.118.118.312.248.592.368.087.037.18.073.278.106V8.75a5.097 5.097 0 0 1-.672-.23A3.773 3.773 0 0 1 3 8.36V9c0 .038.016.116.13.233.118.118.312.248.592.368.087.037.18.073.278.106v1.044a5.094 5.094 0 0 1-.672-.23c-.354-.152-.672-.346-.909-.586C2.18 9.693 2 9.376 2 9V3c0-.376.18-.693.42-.935.236-.24.554-.434.908-.585C4.038 1.176 4.982 1 6 1c1.018 0 1.963.176 2.672.48.354.151.672.345.909.585.239.242.419.559.419.935ZM3 3c0 .038.016.116.13.233.118.118.312.248.592.368C4.28 3.84 5.085 4 6 4s1.72-.16 2.278-.399c.28-.12.474-.25.591-.368C8.984 3.116 9 3.038 9 3c0-.038-.016-.116-.13-.233-.118-.118-.312-.248-.592-.368C7.72 2.16 6.915 2 6 2s-1.72.16-2.278.399c-.28.12-.474.25-.591.368C3.016 2.884 3 2.962 3 3Z'></path><path d='M6 6c.773 0 1.467-.114 2-.293V6H6Zm3-.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm1 .5v1h1V6h-1ZM5 7.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V9h1.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-4ZM7 11v-1H6v1h1Zm0-3H6v1h1V8Zm1 3h1v-1H8v1Z'></path>\",\"<path d='M14 3.5v2h-1v-.558a5.189 5.189 0 0 1-.94.442C10.997 5.771 9.561 6 8 6c-1.561 0-2.997-.23-4.06-.616A5.185 5.185 0 0 1 3 4.942V6.5c0 .076.04.212.258.4.216.185.558.375 1.024.544.219.08.459.153.718.218V8.69a8.714 8.714 0 0 1-1.06-.306A5.185 5.185 0 0 1 3 7.942V9.5c0 .076.04.212.258.4.216.185.558.375 1.024.544.219.08.459.153.718.218v1.028a8.707 8.707 0 0 1-1.06-.306 5.186 5.186 0 0 1-.94-.442V12.5c0 .076.04.212.258.4.216.185.558.375 1.024.544.219.08.459.153.718.218v1.028a8.707 8.707 0 0 1-1.06-.306c-.53-.192-.993-.434-1.334-.726C2.267 13.366 2 12.977 2 12.5v-9c0-.477.267-.866.606-1.158.34-.292.805-.534 1.334-.726C5.003 1.229 6.439 1 8 1c1.561 0 2.997.23 4.06.616.53.192.993.434 1.334.726.339.292.606.681.606 1.158Zm-11 0c0 .076.04.212.258.4.216.185.558.375 1.024.544C5.209 4.782 6.524 5 8 5s2.79-.218 3.718-.556c.466-.17.808-.359 1.024-.545.217-.187.258-.323.258-.399 0-.076-.04-.212-.258-.4-.216-.185-.558-.375-1.024-.544C10.791 2.218 9.476 2 8 2s-2.79.218-3.718.556c-.466.17-.808.359-1.024.545C3.041 3.288 3 3.424 3 3.5Z'></path><path d='M12 7a.5.5 0 0 1 .5-.5H15a.5.5 0 0 1 .5.5v2.5a.5.5 0 0 1-.5.5h-2.5a.5.5 0 0 1-.5-.5V7Zm1 .5V9h1.5V7.5H13Z'></path><path d='M6 7.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5V11h3.5a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-8Zm4 7.5v-3H7v3h3Zm0-7H7v3h3V8Zm1 7h3v-3h-3v3Z'></path>\",\"<path d='M21 6v2h-1c-.982 0-1.854.472-2.402 1.202C16.065 9.708 14.105 10 12 10c-2.297 0-4.422-.347-6.008-.942A8.52 8.52 0 0 1 5 8.616V10c0 .025.01.17.292.42.28.248.744.518 1.402.765a11.17 11.17 0 0 0 1.629.46A2.988 2.988 0 0 0 8 13v.62a13.263 13.263 0 0 1-2.008-.562A8.518 8.518 0 0 1 5 12.616V14c0 .025.01.17.292.42.28.248.744.518 1.402.765.388.146.827.276 1.306.389v2.046a13.263 13.263 0 0 1-2.008-.562A8.518 8.518 0 0 1 5 16.616V18c0 .026.01.17.292.42.28.248.744.518 1.402.765.388.146.827.277 1.306.389v2.046a13.263 13.263 0 0 1-2.008-.562c-.79-.296-1.498-.673-2.027-1.142C3.437 19.448 3 18.803 3 18V6c0-.803.437-1.448.965-1.916.53-.469 1.238-.846 2.027-1.142C7.578 2.347 9.702 2 12 2c2.297 0 4.422.347 6.008.942.79.296 1.498.673 2.027 1.142C20.562 4.552 21 5.197 21 6ZM5 6c0 .026.01.17.292.42.28.248.744.518 1.402.765C8.004 7.675 9.88 8 12 8s3.997-.324 5.306-.815c.658-.247 1.121-.517 1.402-.766C18.99 6.17 19 6.026 19 6c0-.026-.01-.17-.292-.42-.28-.248-.744-.518-1.402-.765C15.996 4.325 14.12 4 12 4s-3.997.324-5.306.815c-.658.247-1.121.517-1.402.766C5.01 5.83 5 5.974 5 6Zm14 5a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-3a1 1 0 0 1-1-1v-3Zm2 1v1h1v-1h-1Z'></path><path d='M11 12a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1h-4v-4a1 1 0 0 0-1-1h-5Zm4 7v3h-3v-3h3Zm0-2h-3v-3h3v3Zm2 5v-3h3v3h-3Z'></path>\",\"<path d='M5 7c0-.916.468-1.687 1.099-2.284.628-.594 1.484-1.083 2.459-1.473C10.512 2.461 13.144 2 16 2s5.488.461 7.442 1.243c.975.39 1.83.88 2.46 1.473C26.531 5.313 27 6.084 27 7v5h-2V9.975a9.518 9.518 0 0 1-1.558.782C21.488 11.539 18.856 12 16 12s-5.488-.461-7.442-1.243A9.517 9.517 0 0 1 7 9.975V13c0 .189.091.47.473.83.384.363.992.736 1.827 1.07.77.308 1.69.566 2.72.755A3.05 3.05 0 0 0 12 16v1.682c-1.283-.214-2.45-.528-3.442-.925A9.519 9.519 0 0 1 7 15.975V19c0 .189.091.47.473.83.384.363.992.736 1.827 1.07.765.306 1.678.563 2.7.751v2.03c-1.283-.213-2.45-.527-3.442-.924A9.519 9.519 0 0 1 7 21.975V25c0 .189.091.47.473.83.384.363.992.736 1.827 1.07.765.306 1.678.563 2.7.751v2.03c-1.283-.213-2.45-.527-3.442-.924-.975-.39-1.83-.88-2.46-1.474C5.469 26.688 5 25.916 5 25V7Zm2 0c0 .189.091.47.473.83.384.363.992.736 1.827 1.07 1.665.666 4.033 1.1 6.7 1.1s5.035-.434 6.7-1.1c.835-.334 1.444-.707 1.827-1.07.381-.36.473-.641.473-.83 0-.189-.091-.47-.473-.83-.384-.363-.992-.736-1.827-1.07C21.035 4.434 18.667 4 16 4s-5.035.434-6.7 1.1c-.835.334-1.443.707-1.827 1.07C7.092 6.53 7 6.81 7 7Zm18 8a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-4Zm2 3h2v-2h-2v2Z'></path><path d='M15 15a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-7a1 1 0 0 0-1-1h-6v-6a1 1 0 0 0-1-1h-7Zm6 9v5h-5v-5h5Zm0-2h-5v-5h5v5Zm2 7v-5h5v5h-5Z'></path>\"]];","export default [[\"<path d='M6.516 4.986C6.349 4.996 6.176 5 6 5c-2.444 0-4-.895-4-2s1.556-2 4-2 4 .895 4 2c0 .427-.232.823-.659 1.148a2.4 2.4 0 0 0-2.538.551l-.287.287Z'></path><path d='M5.514 5.988C3.351 5.878 2 5.03 2 4v1c0 .878.983 1.624 2.614 1.893A2.44 2.44 0 0 1 4.7 6.8l.813-.813ZM4.42 9.858c.082.119.175.232.281.337l.791.792C3.342 10.872 2 10.026 2 9V8c0 .843.905 1.564 2.42 1.858Zm-.315-2.069a2.41 2.41 0 0 0-.092.976C2.745 8.428 2 7.765 2 7V6c0 .782.78 1.46 2.105 1.789ZM9.49 5.408a1.4 1.4 0 0 0-1.98 0L5.408 7.51a1.4 1.4 0 0 0 0 1.98l2.102 2.102a1.4 1.4 0 0 0 1.98 0l2.102-2.102a1.4 1.4 0 0 0 0-1.98L9.49 5.408Zm-1.273.707a.4.4 0 0 1 .566 0l2.102 2.102a.4.4 0 0 1 0 .566l-2.102 2.102a.4.4 0 0 1-.566 0L6.115 8.783a.4.4 0 0 1 0-.566l2.102-2.102Z'></path>\",\"<path d='M14 3.5C14 4.88 11.667 6 8 6S2 4.88 2 3.5 4.333 1 8 1s6 1.12 6 2.5ZM8.497 14.993C8.334 14.998 8.168 15 8 15c-3.667 0-6-1.12-6-2.5v-2c0 1.177 1.697 2.165 4.47 2.43.07.093.146.183.231.267l1.796 1.796Z'></path><path d='M9.579 6.925 7.51 8.993C4.127 8.898 2 7.818 2 6.5v-2C2 5.88 4.333 7 8 7c.558 0 1.086-.026 1.579-.075Zm4.173.331A1.33 1.33 0 0 0 14 6.5v-2c0 .663-.538 1.266-1.504 1.713.254.116.492.279.701.488l.555.555Z'></path><path d='M6.574 9.94a2.397 2.397 0 0 0-.546 1.94C3.518 11.557 2 10.613 2 9.5v-2c0 1.192 1.74 2.19 4.574 2.44Zm.834 2.55a1.4 1.4 0 0 1 0-1.98l3.102-3.102a1.4 1.4 0 0 1 1.98 0l3.102 3.102a1.4 1.4 0 0 1 0 1.98l-3.102 3.102a1.4 1.4 0 0 1-1.98 0L7.408 12.49Zm.707-1.273a.4.4 0 0 0 0 .566l3.102 3.102a.4.4 0 0 0 .566 0l3.102-3.102a.4.4 0 0 0 0-.566l-3.102-3.102a.4.4 0 0 0-.566 0l-3.102 3.102Z'></path>\",\"<path d='M12.786 9.988c-.257.008-.52.012-.786.012-5.5 0-9-1.79-9-4s3.5-4 9-4 9 1.79 9 4c0 .933-.625 1.792-1.761 2.473a5.402 5.402 0 0 0-6.035 1.098l-.418.417Z'></path><path d='M10.796 11.97C5.995 11.73 3 10.043 3 8v2c0 1.781 2.276 3.291 6.042 3.809.162-.221.343-.432.543-.632l1.211-1.207Zm-2.039 7.797c.223.374.495.726.816 1.048l1.148 1.151C5.963 21.711 3 20.033 3 18v-2c0 1.736 2.162 3.214 5.757 3.767Zm-.592-4.102a5.427 5.427 0 0 0-.13 1.975C4.875 17.01 3 15.617 3 14v-2c0 1.639 1.926 3.047 5.165 3.665Zm11.258 7.365a3.4 3.4 0 0 1-4.816.001l-3.617-3.628a3.4 3.4 0 0 1 .007-4.809l3.62-3.606a3.4 3.4 0 0 1 4.8 0l3.615 3.604a3.4 3.4 0 0 1 .009 4.808l-3.618 3.63Zm-3.4-1.41a1.4 1.4 0 0 0 1.983-.001l3.618-3.63a1.4 1.4 0 0 0-.004-1.98l-3.615-3.605a1.4 1.4 0 0 0-1.977 0l-3.619 3.607a1.4 1.4 0 0 0-.003 1.98l3.617 3.628Z'></path>\",\"<path d='M16 12c1.1 0 2.144-.064 3.118-.184a5.401 5.401 0 0 1 3.585-.788C25.389 10.118 27 8.652 27 7c0-2.761-4.5-5-11-5S5 4.239 5 7s4.5 5 11 5Z'></path><path d='M16 14c.254 0 .505-.003.753-.01l-3.843 3.83C8.117 17.234 5 15.297 5 13V9c0 2.761 4.5 5 11 5Zm-3.43 11.784-.011-.01C7.965 25.138 5 23.241 5 21v4c0 2.761 4.5 5 11 5 .257 0 .51-.003.762-.01l-4.193-4.206Z'></path><path d='M11.227 23.545a5.417 5.417 0 0 1 .31-3.938C7.531 18.847 5 17.07 5 15v4c0 2.017 2.4 3.755 6.227 4.545Zm14.588-10.987 1.1 1.096c.056-.214.085-.432.085-.654V9c0 1.09-.702 2.1-1.952 2.922.27.185.527.397.767.636Zm-1.407 17.437a3.4 3.4 0 0 1-4.816.001l-5.606-5.623a3.4 3.4 0 0 1 .008-4.81l5.608-5.589a3.4 3.4 0 0 1 4.8 0l5.605 5.587a3.4 3.4 0 0 1 .008 4.808l-5.607 5.626Zm-3.4-1.411a1.4 1.4 0 0 0 1.984 0l5.606-5.627a1.4 1.4 0 0 0-.003-1.98l-5.604-5.586a1.4 1.4 0 0 0-1.977 0l-5.609 5.59a1.4 1.4 0 0 0-.003 1.98l5.606 5.623Z'></path>\"],[\"<path d='M3 4.361c.105.058.215.11.328.16C4.038 4.823 4.982 5 6 5c.175 0 .348-.005.518-.015l.285-.286A2.4 2.4 0 0 1 10 4.522V3c0-.376-.18-.693-.42-.935-.236-.24-.554-.434-.908-.585C7.962 1.176 7.018 1 6 1c-1.018 0-1.963.176-2.672.48-.354.151-.672.345-.909.585C2.18 2.307 2 2.624 2 3v6c0 .376.18.693.42.935.236.24.554.434.908.585.59.253 1.342.417 2.163.465l-.79-.79a2.413 2.413 0 0 1-.307-.375 4.287 4.287 0 0 1-.672-.219c-.28-.12-.474-.25-.591-.368C3.016 9.116 3 9.038 3 9v-.639c.105.058.215.11.328.16.209.089.438.167.684.233a2.41 2.41 0 0 1 .107-1.01 3.892 3.892 0 0 1-.397-.143c-.28-.12-.474-.25-.591-.368C3.016 7.116 3 7.038 3 7v-.639c.105.058.215.11.328.16.373.16.812.284 1.292.366.026-.03.053-.058.081-.086l.816-.816C4.803 5.94 4.18 5.797 3.722 5.6c-.28-.12-.474-.25-.591-.368C3.016 5.116 3 5.038 3 5v-.639ZM3 3c0-.038.016-.116.13-.233.118-.118.312-.248.592-.368C4.28 2.16 5.085 2 6 2s1.72.16 2.278.399c.28.12.474.25.591.368.115.117.131.195.131.233 0 .038-.016.116-.13.233-.118.118-.312.248-.592.368C7.72 3.84 6.915 4 6 4s-1.72-.16-2.278-.399c-.28-.12-.474-.25-.591-.368C3.016 3.116 3 3.038 3 3Z'></path><path d='M9.49 5.408a1.4 1.4 0 0 0-1.98 0L5.408 7.51a1.4 1.4 0 0 0 0 1.98l2.102 2.102a1.4 1.4 0 0 0 1.98 0l2.102-2.102a1.4 1.4 0 0 0 0-1.98L9.49 5.408Zm-1.273.707a.4.4 0 0 1 .566 0l2.102 2.102a.4.4 0 0 1 0 .566l-2.102 2.102a.4.4 0 0 1-.566 0L6.115 8.783a.4.4 0 0 1 0-.566l2.102-2.102Z'></path>\",\"<path d='M3 4.942c.274.169.593.316.94.442C5.003 5.771 6.439 6 8 6c1.561 0 2.997-.23 4.06-.616.347-.126.666-.273.94-.442V6.5l-.001.023c.068.055.135.114.198.178l.803.802V3.5c0-.477-.267-.866-.606-1.158-.34-.292-.805-.534-1.334-.726C10.997 1.229 9.561 1 8 1c-1.561 0-2.997.23-4.06.616-.53.192-.993.434-1.334.726C2.267 2.634 2 3.023 2 3.5v9c0 .477.267.866.606 1.158.34.293.805.534 1.334.726C5.003 14.771 6.439 15 8 15c.167 0 .332-.003.496-.008l-1-1c-1.27-.044-2.394-.25-3.214-.548-.466-.17-.808-.359-1.024-.545C3.041 12.712 3 12.576 3 12.5v-1.558c.274.169.593.316.94.442a10.13 10.13 0 0 0 2.087.488 2.412 2.412 0 0 1 .055-1.002 9.048 9.048 0 0 1-1.8-.426c-.466-.17-.808-.359-1.024-.545C3.041 9.712 3 9.576 3 9.5V7.942c.274.169.593.316.94.442.951.346 2.2.566 3.571.608l1.002-1C8.344 7.996 8.173 8 8 8c-1.476 0-2.79-.218-3.718-.556-.466-.17-.808-.359-1.024-.545C3.041 6.712 3 6.576 3 6.5V4.942ZM3 3.5c0-.076.04-.212.258-.4.216-.185.558-.375 1.024-.544C5.209 2.218 6.524 2 8 2s2.79.218 3.718.556c.466.17.808.359 1.024.545.217.187.258.323.258.399 0 .076-.04.212-.258.4-.216.185-.558.375-1.024.544C10.791 4.782 9.476 5 8 5s-2.79-.218-3.718-.556c-.466-.17-.808-.359-1.024-.545C3.041 3.712 3 3.576 3 3.5Z'></path><path d='M7.408 12.49a1.4 1.4 0 0 1 0-1.98l3.102-3.102a1.4 1.4 0 0 1 1.98 0l3.102 3.102a1.4 1.4 0 0 1 0 1.98l-3.102 3.102a1.4 1.4 0 0 1-1.98 0L7.408 12.49Zm.707-1.273a.4.4 0 0 0 0 .566l3.102 3.102a.4.4 0 0 0 .566 0l3.102-3.102a.4.4 0 0 0 0-.566l-3.102-3.102a.4.4 0 0 0-.566 0l-3.102 3.102Z'></path>\",\"<path d='M5 8.616c.31.164.643.31.992.442C7.578 9.653 9.702 10 12 10c.265 0 .528-.005.787-.014l.417-.415a5.4 5.4 0 0 1 7.625 0l.171.17V6c0-.803-.438-1.448-.965-1.916-.53-.469-1.238-.846-2.027-1.142C16.422 2.347 14.298 2 12 2c-2.297 0-4.422.347-6.008.942-.79.296-1.498.673-2.027 1.142C3.437 4.552 3 5.197 3 6v12c0 .803.437 1.448.965 1.916.53.469 1.238.846 2.027 1.142 1.286.482 2.927.802 4.726.905l-1.145-1.148a5.408 5.408 0 0 1-.841-1.09 11.79 11.79 0 0 1-2.038-.54c-.658-.247-1.121-.517-1.402-.765C5.01 18.17 5 18.024 5 18v-1.384c.31.164.643.31.992.442.608.228 1.295.42 2.041.57a5.427 5.427 0 0 1 .145-2.014 10.89 10.89 0 0 1-1.484-.429c-.658-.247-1.121-.517-1.402-.766C5.01 14.17 5 14.025 5 14v-1.384c.31.164.643.31.992.442.875.328 1.915.58 3.056.742a5.51 5.51 0 0 1 .537-.623l1.217-1.212c-1.626-.096-3.051-.384-4.108-.78-.658-.247-1.121-.517-1.402-.766C5.01 10.17 5 10.025 5 10V8.616ZM5 6c0-.026.01-.17.292-.42.28-.248.744-.518 1.402-.765C8.004 4.325 9.88 4 12 4s3.997.324 5.306.815c.658.247 1.121.517 1.402.766.282.25.292.393.292.419 0 .026-.01.17-.292.42-.28.248-.744.518-1.402.765C15.996 7.675 14.12 8 12 8s-3.997-.324-5.306-.815c-.658-.247-1.121-.517-1.402-.766C5.01 6.17 5 6.026 5 6Z'></path><path d='M19.423 23.03a3.4 3.4 0 0 1-4.816.001l-3.617-3.628a3.4 3.4 0 0 1 .007-4.809l3.62-3.606a3.4 3.4 0 0 1 4.8 0l3.615 3.604a3.4 3.4 0 0 1 .009 4.808l-3.618 3.63Zm-3.4-1.41a1.4 1.4 0 0 0 1.983-.001l3.618-3.63a1.4 1.4 0 0 0-.004-1.98l-3.615-3.605a1.4 1.4 0 0 0-1.977 0l-3.619 3.607a1.4 1.4 0 0 0-.003 1.98l3.617 3.628Z'></path>\",\"<path d='M7 9.975c.465.295.991.555 1.558.782C10.512 11.539 13.144 12 16 12c1.084 0 2.135-.066 3.13-.191a5.401 5.401 0 0 1 3.571-.782c.257-.085.504-.175.741-.27A9.518 9.518 0 0 0 25 9.975v1.915c.288.192.56.415.815.668L27 13.74V7c0-.916-.468-1.687-1.099-2.284-.628-.594-1.484-1.083-2.459-1.473C21.488 2.461 18.856 2 16 2s-5.488.461-7.442 1.243c-.975.39-1.83.88-2.46 1.473C5.469 5.313 5 6.084 5 7v18c0 .916.468 1.687 1.099 2.284.628.594 1.484 1.083 2.459 1.473C10.512 29.539 13.144 30 16 30c.256 0 .51-.004.761-.011l-2.015-2.021c-2.152-.113-4.047-.509-5.446-1.068-.835-.334-1.443-.707-1.827-1.07C7.092 25.47 7 25.19 7 25v-3.025c.465.295.991.555 1.558.782.788.315 1.687.579 2.666.78a5.423 5.423 0 0 1-.205-2.095A12.98 12.98 0 0 1 9.3 20.9c-.835-.334-1.443-.707-1.827-1.07C7.092 19.47 7 19.19 7 19v-3.025c.465.295.991.555 1.558.782 1.224.49 2.713.853 4.358 1.057l1.851-1.845c-2.16-.111-4.063-.508-5.467-1.069-.835-.334-1.443-.707-1.827-1.07C7.092 13.47 7 13.19 7 13V9.975ZM7 7c0-.189.091-.47.473-.83.384-.363.992-.736 1.827-1.07C10.965 4.434 13.333 4 16 4s5.035.434 6.7 1.1c.835.334 1.444.707 1.827 1.07.381.36.473.641.473.83 0 .189-.091.47-.473.83-.384.363-.992.736-1.827 1.07-1.665.666-4.033 1.1-6.7 1.1s-5.035-.434-6.7-1.1c-.835-.334-1.443-.707-1.827-1.07C7.092 7.47 7 7.19 7 7Z'></path><path d='M24.408 29.995a3.4 3.4 0 0 1-4.816.001l-5.606-5.623a3.4 3.4 0 0 1 .008-4.81l5.608-5.589a3.4 3.4 0 0 1 4.8 0l5.605 5.587a3.4 3.4 0 0 1 .008 4.808l-5.607 5.626Zm-3.4-1.411a1.4 1.4 0 0 0 1.984 0l5.606-5.627a1.4 1.4 0 0 0-.003-1.98l-5.604-5.586a1.4 1.4 0 0 0-1.977 0l-5.609 5.59a1.4 1.4 0 0 0-.003 1.98l5.606 5.623Z'></path>\"]];","export default [[\"<path d='M6.626 4.98A9.38 9.38 0 0 1 6 5c-2.444 0-4-.895-4-2s1.556-2 4-2 4 .895 4 2c0 .443-.25.853-.71 1.185-.924-.325-2.025-.06-2.664.795Z'></path><path d='M6.073 6H6c-2.444 0-4-.895-4-2v1c0 1.04 1.378 1.894 3.578 1.99L6.073 6ZM4.181 9.807a2.316 2.316 0 0 0-.156.961C2.75 10.433 2 9.767 2 9V8c0 .797.81 1.486 2.181 1.807Z'></path><path d='m5.095 7.956-.47.939C2.989 8.627 2 7.88 2 7V6c0 .961 1.178 1.764 3.095 1.956ZM9 10a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm0-2.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1Z'></path><path d='M9.707 5.797c-.497-.995-1.917-.995-2.414 0l-2.125 4.25A1.35 1.35 0 0 0 6.375 12h4.25a1.35 1.35 0 0 0 1.207-1.954l-2.125-4.25Zm-1.52.447a.35.35 0 0 1 .626 0l2.125 4.25a.35.35 0 0 1-.313.506h-4.25a.35.35 0 0 1-.313-.507l2.125-4.249Z'></path>\",\"<path d='M14 3.5C14 4.88 11.667 6 8 6S2 4.88 2 3.5 4.333 1 8 1s6 1.12 6 2.5ZM6.103 14.89C3.548 14.576 2 13.624 2 12.5v-2c0 1.17 1.674 2.151 4.413 2.424l-.06.116a2.665 2.665 0 0 0-.25 1.85Z'></path><path d='m8.488 8.993.916-1.735c.064-.121.135-.233.214-.337C9.114 6.973 8.573 7 8 7 4.333 7 2 5.88 2 4.5v2C2 7.88 4.333 9 8 9c.165 0 .328-.002.488-.007Zm5.161-1.677v.042l-.053-.1A2.337 2.337 0 0 0 12.5 6.212c.963-.448 1.5-1.05 1.5-1.712v2c0 .286-.1.56-.291.816h-.06Z'></path><path d='M6.92 11.966 7.956 10C4.315 9.99 2 8.875 2 7.5v2c0 1.24 1.881 2.269 4.92 2.466ZM11 10a.5.5 0 0 1 1 0v1.5a.5.5 0 0 1-1 0V10Zm.5 4a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M12.712 7.724a1.37 1.37 0 0 0-2.424 0l-3.051 5.783A1.7 1.7 0 0 0 8.74 16h5.52a1.7 1.7 0 0 0 1.503-2.493l-3.051-5.783Zm-1.54.467a.37.37 0 0 1 .655 0l3.052 5.782a.7.7 0 0 1-.62 1.027H8.74a.7.7 0 0 1-.619-1.027l3.052-5.782Z'></path>\",\"<path d='M18.915 8.655c-2.268-1.51-5.515-1.062-7.202 1.343C6.379 9.938 3 8.17 3 6c0-2.21 3.5-4 9-4s9 1.79 9 4c0 1.019-.744 1.948-2.085 2.655Z'></path><path d='M3 8c0 2.01 2.9 3.675 7.567 3.958l-1.09 1.905C5.454 13.405 3 11.85 3 10V8Zm3.19 13.136a5.143 5.143 0 0 1 .306-1.895C4.276 18.515 3 17.334 3 16v2c0 1.271 1.159 2.404 3.19 3.136Zm1.21-3.637 1.021-1.787C5.028 15.121 3 13.682 3 12v2c0 1.505 1.625 2.816 4.4 3.499Zm13.158-7.072.254.443c.124-.28.188-.571.188-.87V8c0 .646-.3 1.257-.861 1.797.15.196.291.406.42.63ZM15 15a1 1 0 1 1 2 0v2a1 1 0 1 1-2 0v-2Zm1 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M18.605 11.543c-1.152-2.016-4.058-2.016-5.21 0l-4.553 7.969c-1.143 2 .3 4.488 2.604 4.488h9.108c2.303 0 3.747-2.488 2.604-4.488l-4.553-7.97Zm-3.473.992a1 1 0 0 1 1.736 0l4.554 7.969A1 1 0 0 1 20.554 22h-9.108a1 1 0 0 1-.868-1.496l4.554-7.969Z'></path>\",\"<path d='M27 7c0 2.761-4.5 5-11 5S5 9.761 5 7s4.5-5 11-5 11 2.239 11 5Z'></path><path d='M17.803 13.94c-.582.04-1.183.06-1.803.06-6.5 0-11-2.239-11-5v4c0 2.694 4.281 4.89 10.524 4.996l1.97-3.56c.095-.174.198-.34.309-.496Zm6.542-1.606a5.09 5.09 0 0 1 2.162 2.101l.031.057c.303-.471.462-.972.462-1.492V9c0 1.28-.968 2.449-2.655 3.334Z'></path><path d='M14.44 19.956C8.792 19.629 5 17.535 5 15v4c0 2.207 2.874 4.08 7.347 4.743l2.094-3.787Z'></path><path d='M11.341 25.569a5.222 5.222 0 0 0-.337 3.929C7.307 28.687 5 26.978 5 25v-4c0 2.037 2.448 3.79 6.341 4.569ZM21 20a1 1 0 1 1 2 0v4a1 1 0 1 1-2 0v-4Zm1 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M24.538 15.523c-1.104-1.995-3.972-1.995-5.076 0l-6.055 10.951c-1.124 2.033.346 4.526 2.67 4.526h11.847c2.323 0 3.793-2.493 2.67-4.526l-6.056-10.95Zm-3.326.968a.9.9 0 0 1 1.576 0l6.055 10.95A1.05 1.05 0 0 1 27.924 29H16.076a1.05 1.05 0 0 1-.919-1.558l6.055-10.951Z'></path>\"],[\"<path d='M3 4.361c.105.058.215.11.328.16C4.038 4.823 4.982 5 6 5c.213 0 .423-.008.628-.023C7.442 3.89 9.005 3.76 10 4.585V3c0-.376-.18-.693-.42-.935-.236-.24-.554-.434-.908-.585C7.962 1.176 7.018 1 6 1c-1.018 0-1.963.176-2.672.48-.354.151-.672.345-.909.585C2.18 2.307 2 2.624 2 3v6c0 .376.18.693.42.935.236.24.554.434.908.585.213.091.446.17.697.238a2.319 2.319 0 0 1 .172-.99 4.009 4.009 0 0 1-.475-.167c-.28-.12-.474-.25-.591-.368C3.016 9.116 3 9.038 3 9v-.639c.105.058.215.11.328.16.376.16.817.285 1.3.367l.472-.942a5.149 5.149 0 0 1-1.378-.345c-.28-.12-.474-.25-.591-.368C3.016 7.116 3 7.038 3 7v-.639c.105.058.215.11.328.16.61.26 1.395.427 2.25.469L6.073 6H6c-.915 0-1.72-.16-2.278-.399-.28-.12-.474-.25-.591-.368C3.016 5.116 3 5.038 3 5v-.639ZM3 3c0-.038.016-.116.13-.233.118-.118.312-.248.592-.368C4.28 2.16 5.085 2 6 2s1.72.16 2.278.399c.28.12.474.25.591.368.115.117.131.195.131.233 0 .038-.016.116-.13.233-.118.118-.312.248-.592.368C7.72 3.84 6.915 4 6 4s-1.72-.16-2.278-.399c-.28-.12-.474-.25-.591-.368C3.016 3.116 3 3.038 3 3Zm6 7a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm0-2.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1Z'></path><path d='M9.707 5.797c-.497-.995-1.917-.995-2.414 0l-2.125 4.25A1.35 1.35 0 0 0 6.375 12h4.25a1.35 1.35 0 0 0 1.207-1.954l-2.125-4.25Zm-1.52.447a.35.35 0 0 1 .626 0l2.125 4.25a.35.35 0 0 1-.313.506h-4.25a.35.35 0 0 1-.313-.507l2.125-4.249Z'></path>\",\"<path d='M3 4.942c.274.169.593.316.94.442C5.003 5.771 6.439 6 8 6c1.561 0 2.997-.23 4.06-.616.347-.126.666-.273.94-.442V6.5l-.001.023c.235.192.44.437.597.735l.404.765V3.5c0-.477-.267-.866-.606-1.158-.34-.292-.805-.534-1.334-.726C10.997 1.229 9.561 1 8 1c-1.561 0-2.997.23-4.06.616-.53.192-.993.434-1.334.726C2.267 2.634 2 3.023 2 3.5v9c0 .477.267.866.606 1.158.34.293.805.534 1.334.726.613.223 1.349.393 2.161.498a2.653 2.653 0 0 1-.03-1.013 9.027 9.027 0 0 1-1.79-.425c-.465-.17-.807-.359-1.023-.545C3.041 12.712 3 12.576 3 12.5v-1.558c.274.169.593.316.94.442.813.296 1.843.5 2.98.579l.515-.974c-1.245-.048-2.346-.251-3.153-.545-.466-.17-.808-.359-1.024-.545C3.041 9.712 3 9.576 3 9.5V7.942c.274.169.593.316.94.442C5.003 8.771 6.439 9 8 9c.164 0 .327-.003.489-.008l.543-1.028C8.699 7.987 8.354 8 8 8c-1.476 0-2.79-.218-3.718-.556-.466-.17-.808-.359-1.024-.545C3.041 6.712 3 6.576 3 6.5V4.942ZM3 3.5c0-.076.04-.212.258-.4.216-.185.558-.375 1.024-.544C5.209 2.218 6.524 2 8 2s2.79.218 3.718.556c.466.17.808.359 1.024.545.217.187.258.323.258.399 0 .076-.04.212-.258.4-.216.185-.558.375-1.024.544C10.791 4.782 9.476 5 8 5s-2.79-.218-3.718-.556c-.466-.17-.808-.359-1.024-.545C3.041 3.712 3 3.576 3 3.5Z'></path><path d='M11 10a.5.5 0 0 1 1 0v1.5a.5.5 0 0 1-1 0V10Zm.5 4a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M12.712 7.724a1.37 1.37 0 0 0-2.424 0l-3.051 5.783A1.7 1.7 0 0 0 8.74 16h5.52a1.7 1.7 0 0 0 1.503-2.493l-3.051-5.783Zm-1.54.467a.37.37 0 0 1 .655 0l3.052 5.782a.7.7 0 0 1-.62 1.027H8.74a.7.7 0 0 1-.619-1.027l3.052-5.782Z'></path>\",\"<path d='M5 8.616c.31.164.643.31.992.442 1.52.57 3.534.913 5.721.94 1.688-2.407 4.939-2.854 7.207-1.34l.08-.042v.097a5.235 5.235 0 0 1 1.558 1.714L21 11.2V6c0-.803-.438-1.448-.965-1.916-.53-.469-1.238-.846-2.027-1.142C16.422 2.347 14.298 2 12 2c-2.297 0-4.422.347-6.008.942-.79.296-1.498.673-2.027 1.142C3.437 4.552 3 5.197 3 6v12c0 .803.437 1.448.965 1.916.53.469 1.238.846 2.027 1.142l.198.072a5.147 5.147 0 0 1 .35-2.005c-.577-.23-.99-.477-1.248-.706C5.01 18.17 5 18.026 5 18v-1.384c.31.164.643.31.992.442.434.162.908.306 1.414.43l1.04-1.818a11.354 11.354 0 0 1-1.752-.485c-.658-.247-1.121-.517-1.402-.766C5.01 14.17 5 14.025 5 14v-1.384c.31.164.643.31.992.442.985.369 2.178.643 3.49.798l1.09-1.906c-1.53-.109-2.872-.388-3.878-.765-.658-.247-1.121-.517-1.402-.766C5.01 10.17 5 10.025 5 10V8.616ZM5 6c0-.026.01-.17.292-.42.28-.248.744-.518 1.402-.765C8.004 4.325 9.88 4 12 4s3.997.324 5.306.815c.658.247 1.121.517 1.402.766.282.25.292.393.292.419 0 .026-.01.17-.292.42-.28.248-.744.518-1.402.765C15.996 7.675 14.12 8 12 8s-3.997-.324-5.306-.815c-.658-.247-1.121-.517-1.402-.766C5.01 6.17 5 6.026 5 6Z'></path><path d='M15 15a1 1 0 1 1 2 0v2a1 1 0 1 1-2 0v-2Zm1 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M18.605 11.543c-1.152-2.016-4.058-2.016-5.21 0l-4.553 7.969c-1.143 2 .3 4.488 2.604 4.488h9.108c2.303 0 3.747-2.488 2.604-4.488l-4.553-7.97Zm-3.473.992a1 1 0 0 1 1.736 0l4.554 7.969A1 1 0 0 1 20.554 22h-9.108a1 1 0 0 1-.868-1.496l4.554-7.969Z'></path>\",\"<path d='M7 9.975c.465.295.991.555 1.558.782C10.512 11.539 13.144 12 16 12s5.488-.461 7.442-1.243A9.518 9.518 0 0 0 25 9.975v2.755a5.137 5.137 0 0 1 1.507 1.705l.493.892V7c0-.916-.468-1.687-1.099-2.284-.628-.594-1.484-1.083-2.459-1.473C21.488 2.461 18.856 2 16 2s-5.488.461-7.442 1.243c-.975.39-1.83.88-2.46 1.473C5.469 5.313 5 6.084 5 7v18c0 .916.468 1.687 1.099 2.284.628.594 1.484 1.083 2.459 1.473.728.291 1.55.538 2.444.733a5.235 5.235 0 0 1-.203-2.104A12.628 12.628 0 0 1 9.3 26.9c-.835-.334-1.443-.707-1.827-1.07C7.092 25.47 7 25.19 7 25v-3.025c.465.295.991.555 1.558.782 1.082.433 2.372.767 3.792.98l1.04-1.88c-1.591-.18-2.993-.518-4.09-.957-.835-.334-1.443-.707-1.827-1.07C7.092 19.47 7 19.19 7 19v-3.025c.465.295.991.555 1.558.782 1.845.738 4.295 1.19 6.966 1.239l1.109-2.004c-.21.005-.42.008-.633.008-2.667 0-5.035-.434-6.7-1.1-.835-.334-1.443-.707-1.827-1.07C7.092 13.47 7 13.19 7 13V9.975ZM7 7c0-.189.091-.47.473-.83.384-.363.992-.736 1.827-1.07C10.965 4.434 13.333 4 16 4s5.035.434 6.7 1.1c.835.334 1.444.707 1.827 1.07.381.36.473.641.473.83 0 .189-.091.47-.473.83-.384.363-.992.736-1.827 1.07-1.665.666-4.033 1.1-6.7 1.1s-5.035-.434-6.7-1.1c-.835-.334-1.443-.707-1.827-1.07C7.092 7.47 7 7.19 7 7Z'></path><path d='M21 20a1 1 0 1 1 2 0v4a1 1 0 1 1-2 0v-4Zm1 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M24.538 15.523c-1.104-1.995-3.972-1.995-5.076 0l-6.055 10.951c-1.124 2.033.346 4.526 2.67 4.526h11.847c2.323 0 3.793-2.493 2.67-4.526l-6.056-10.95Zm-3.326.968a.9.9 0 0 1 1.576 0l6.055 10.95A1.05 1.05 0 0 1 27.924 29H16.076a1.05 1.05 0 0 1-.919-1.558l6.055-10.951Z'></path>\"]];","export default [[\"<g clip-path='url(#a)'><path d='M6.5 4a1.5 1.5 0 0 0-1.399.957C3.181 4.766 2 3.962 2 3c0-1.105 1.556-2 4-2s4 .895 4 2c0 .795-.806 1.482-2.17 1.805A1.5 1.5 0 0 0 6.5 4ZM2 4c0 .945 1.14 1.737 3 1.946v1c-1.86-.209-3-1-3-1.946V4Zm3 5.946v1c-1.86-.209-3-1-3-1.946V8c0 .945 1.14 1.737 3 1.946Zm0-1v-1c-1.86-.209-3-1-3-1.946v1c0 .945 1.14 1.737 3 1.946ZM10 5h-.484c.315-.294.484-.636.484-1v1ZM7 6v-.5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0V10h4.5a.5.5 0 0 0 .3-.9L10.333 8 11.8 6.9a.5.5 0 0 0-.3-.9H7Zm0 1h3l-.8.6a.5.5 0 0 0 0 .8l.8.6H7V7Z'></path></g><defs><clipPath id='a'><path d='M0 0h12v12H0z'></path></clipPath></defs>\",\"<g clip-path='url(#a)'><path d='M8 6c3.667 0 6-1.12 6-2.5S11.667 1 8 1 2 2.12 2 3.5 4.333 6 8 6Z'></path><path d='M9.915 7h3.98A1.25 1.25 0 0 0 14 6.5v-2c0 1.128-1.558 2.082-4.128 2.393.016.035.03.07.043.107ZM7 14.97c-3.086-.183-5-1.22-5-2.47v-2c0 1.25 1.914 2.287 5 2.47v2ZM2 4.5c0 1.263 1.953 2.308 5.094 2.476-.06.163-.094.34-.094.524v1.47C3.914 8.788 2 7.75 2 6.5v-2Z'></path><path d='M7 9.97v2c-3.086-.183-5-1.22-5-2.47v-2c0 1.25 1.914 2.287 5 2.47ZM9 8v-.5a.5.5 0 0 0-1 0v8a.5.5 0 0 0 1 0V13h6.5a.5.5 0 0 0 .354-.854L14.207 10.5l1.647-1.646A.5.5 0 0 0 15.5 8H9Zm0 1h5.293l-1.147 1.146a.5.5 0 0 0 0 .708L14.293 12H9V9Z'></path></g><defs><clipPath id='a'><path d='M0 0h16v16H0z'></path></clipPath></defs>\",\"<g clip-path='url(#a)'><path d='M9.235 9.834A3 3 0 0 1 14.236 9h3.93C19.976 8.267 21 7.195 21 6c0-2.21-3.5-4-9-4S3 3.79 3 6c0 1.812 2.354 3.342 6.235 3.834ZM9 11.803C5.26 11.28 3 9.775 3 8v2c0 1.775 2.26 3.28 6 3.803v-2Zm0 8v2C5.26 21.28 3 19.775 3 18v-2c0 1.775 2.26 3.28 6 3.803Zm0-4v2C5.26 17.28 3 15.775 3 14v-2c0 1.775 2.26 3.28 6 3.803ZM12 10a1 1 0 0 1 1 1h10a1 1 0 0 1 .659 1.753l-3.14 2.747 3.14 2.747A1 1 0 0 1 23 20H13v3a1 1 0 1 1-2 0V11a1 1 0 0 1 1-1Zm1 8h7.339l-1.997-1.747a1 1 0 0 1 0-1.506L20.338 13H13v5Z'></path></g><defs><clipPath id='a'><path d='M0 0h24v24H0z'></path></clipPath></defs>\",\"<path d='M16 11c-.846 0-1.61.35-2.156.914C8.526 11.48 5 9.444 5 7c0-2.761 4.5-5 11-5s11 2.239 11 5c0 2.444-3.526 4.479-8.844 4.914A2.99 2.99 0 0 0 16 11Z'></path><path d='M5 9c0 2.313 3.158 4.26 8.005 4.83A3.071 3.071 0 0 0 13 14v3.83c-4.844-.571-8-2.517-8-4.83V9Zm8 16.83v4c-4.844-.571-8-2.517-8-4.83v-4c0 2.313 3.156 4.259 8 4.83Z'></path><path d='M13 23.83v-4c-4.844-.571-8-2.517-8-4.83v4c0 2.313 3.156 4.259 8 4.83ZM27 12h-2.074C26.252 11.164 27 10.126 27 9v3Zm-11 1a1 1 0 0 1 1 1h13a1 1 0 0 1 .669 1.743L26.495 19.5l4.174 3.757A1 1 0 0 1 30 25H17v5a1 1 0 1 1-2 0V14a1 1 0 0 1 1-1Zm1 10h10.394l-3.063-2.757a1 1 0 0 1 0-1.486L27.394 16H17v7Z'></path>\"],[\"<g clip-path='url(#a)'><path d='M10 3c0-.376-.18-.693-.42-.935-.236-.24-.554-.434-.908-.585C7.962 1.176 7.018 1 6 1c-1.018 0-1.963.176-2.672.48-.354.151-.672.345-.909.585C2.18 2.307 2 2.624 2 3v6c0 .376.18.693.42.935.236.24.554.434.908.585A6.13 6.13 0 0 0 5 10.942V9.934A5.039 5.039 0 0 1 3.722 9.6c-.28-.12-.474-.25-.591-.368C3.016 9.116 3 9.038 3 9v-.639c.105.058.215.11.328.16.47.2 1.043.346 1.672.42V7.935A5.04 5.04 0 0 1 3.722 7.6c-.28-.12-.474-.25-.591-.368C3.016 7.116 3 7.038 3 7v-.639c.105.058.215.11.328.16.47.2 1.043.346 1.672.42V5.935A5.04 5.04 0 0 1 3.722 5.6c-.28-.12-.474-.25-.591-.368C3.016 5.116 3 5.038 3 5v-.639c.105.058.215.11.328.16.495.211 1.105.361 1.775.432a1.5 1.5 0 0 1 2.722-.157 5.3 5.3 0 0 0 .847-.276c.113-.048.223-.101.328-.159V5h1V3Zm-6.87-.233c.118-.118.312-.248.592-.368C4.28 2.16 5.085 2 6 2s1.72.16 2.278.399c.28.12.474.25.591.368.115.117.131.195.131.233 0 .038-.016.116-.13.233-.118.118-.312.248-.592.368C7.72 3.84 6.915 4 6 4s-1.72-.16-2.278-.399c-.28-.12-.474-.25-.591-.368C3.016 3.116 3 3.038 3 3c0-.038.016-.116.13-.233Z'></path><path d='M7 6v-.5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0V10h4.5a.5.5 0 0 0 .3-.9L10.333 8 11.8 6.9a.5.5 0 0 0-.3-.9H7Zm0 1h3l-.8.6a.5.5 0 0 0 0 .8l.8.6H7V7Z'></path></g><defs><clipPath id='a'><path d='M0 0h12v12H0z'></path></clipPath></defs>\",\"<g clip-path='url(#a)'><path d='M14 7V3.5c0-.477-.267-.866-.606-1.158-.34-.292-.805-.534-1.334-.726C10.997 1.229 9.561 1 8 1c-1.561 0-2.997.23-4.06.616-.53.192-.993.434-1.334.726C2.267 2.634 2 3.023 2 3.5v9c0 .477.267.866.606 1.158.34.293.805.534 1.334.726.832.303 1.89.509 3.06.584v-1.002c-1.066-.074-2.006-.263-2.718-.522-.466-.17-.808-.359-1.024-.545C3.041 12.712 3 12.576 3 12.5v-1.558c.274.169.593.316.94.442.832.303 1.89.509 3.06.584v-1.002c-1.066-.074-2.006-.263-2.718-.522-.466-.17-.808-.359-1.024-.545C3.041 9.712 3 9.576 3 9.5V7.942c.274.169.593.316.94.442.832.302 1.89.509 3.06.584V7.966c-1.066-.074-2.006-.263-2.718-.522-.466-.17-.808-.359-1.024-.545C3.041 6.712 3 6.576 3 6.5V4.942c.274.169.593.316.94.442C5.003 5.771 6.439 6 8 6c1.561 0 2.997-.23 4.06-.616.347-.126.666-.273.94-.442V6.5c0 .076-.04.212-.258.4a1.805 1.805 0 0 1-.13.1H14ZM3.258 3.1c.216-.185.558-.375 1.024-.544C5.209 2.218 6.524 2 8 2s2.79.218 3.718.556c.466.17.808.359 1.024.545.217.187.258.323.258.399 0 .076-.04.212-.258.4-.216.185-.558.375-1.024.544C10.791 4.782 9.476 5 8 5s-2.79-.218-3.718-.556c-.466-.17-.808-.359-1.024-.545C3.041 3.712 3 3.576 3 3.5c0-.076.04-.212.258-.4Z'></path><path d='M9 8v-.5a.5.5 0 0 0-1 0v8a.5.5 0 0 0 1 0V13h6.5a.5.5 0 0 0 .354-.854L14.207 10.5l1.647-1.646A.5.5 0 0 0 15.5 8H9Zm0 1h5.293l-1.147 1.146a.5.5 0 0 0 0 .708L14.293 12H9V9Z'></path></g><defs><clipPath id='a'><path d='M0 0h16v16H0z'></path></clipPath></defs>\",\"<g clip-path='url(#a)'><path d='M5.292 5.58C5.01 5.83 5 5.975 5 6c0 .026.01.17.292.42.28.248.744.518 1.402.765C8.004 7.675 9.88 8 12 8a3 3 0 0 0-2.761 1.825c-1.217-.158-2.323-.42-3.247-.767A8.52 8.52 0 0 1 5 8.616V10c0 .025.01.17.292.42.28.248.744.518 1.402.765.644.242 1.426.443 2.306.585v2.023c-1.123-.161-2.145-.412-3.008-.735A8.518 8.518 0 0 1 5 12.616V14c0 .025.01.17.292.42.28.248.744.518 1.402.765.644.242 1.426.443 2.306.585v2.023c-1.123-.161-2.145-.412-3.008-.735A8.518 8.518 0 0 1 5 16.616V18c0 .026.01.17.292.42.28.248.744.518 1.402.765.644.242 1.426.443 2.306.585v2.023c-1.123-.161-2.145-.412-3.008-.735-.79-.296-1.498-.673-2.027-1.142C3.437 19.448 3 18.803 3 18V6c0-.803.437-1.448.965-1.916.53-.469 1.238-.846 2.027-1.142C7.578 2.347 9.702 2 12 2c2.297 0 4.422.347 6.008.942.79.296 1.498.673 2.027 1.142C20.562 4.552 21 5.197 21 6v3h-2v-.384c-.265.14-.547.268-.842.384h-3.922c-.55-.614-1.348-1-2.236-1 2.121 0 3.997-.324 5.306-.815.658-.247 1.121-.517 1.402-.766C18.99 6.17 19 6.026 19 6c0-.026-.01-.17-.292-.42-.28-.248-.744-.518-1.402-.765C15.996 4.325 14.12 4 12 4s-3.997.324-5.306.815c-.658.247-1.121.517-1.402.766Z'></path><path d='M12 10a1 1 0 0 1 1 1h10a1 1 0 0 1 .659 1.753l-3.14 2.747 3.14 2.747A1 1 0 0 1 23 20H13v3a1 1 0 1 1-2 0V11a1 1 0 0 1 1-1Zm1 8h7.339l-1.997-1.747a1 1 0 0 1 0-1.506L20.338 13H13v5Z'></path></g><defs><clipPath id='a'><path d='M0 0h24v24H0z'></path></clipPath></defs>\",\"<path d='M6.099 4.716C5.469 5.313 5 6.084 5 7v18c0 .916.468 1.687 1.099 2.284.628.594 1.484 1.083 2.459 1.473 1.245.498 2.764.866 4.442 1.067V27.81c-1.43-.189-2.694-.507-3.7-.909-.835-.334-1.443-.707-1.827-1.07C7.092 25.47 7 25.19 7 25v-3.025c.465.295.991.555 1.558.782 1.245.498 2.764.866 4.442 1.067V21.81c-1.43-.189-2.694-.507-3.7-.909-.835-.334-1.443-.707-1.827-1.07C7.092 19.47 7 19.19 7 19v-3.025c.465.295.991.555 1.558.782 1.245.498 2.764.866 4.442 1.067V15.81c-1.43-.189-2.694-.507-3.7-.909-.835-.334-1.443-.707-1.827-1.07C7.092 13.47 7 13.19 7 13V9.975c.465.295.991.555 1.558.782 1.451.58 3.276.984 5.29 1.154A2.991 2.991 0 0 1 16 11c.845 0 1.608.349 2.153.91 2.013-.169 3.838-.572 5.29-1.153A9.518 9.518 0 0 0 25 9.975V12h2V7c0-.916-.468-1.687-1.099-2.284-.628-.594-1.484-1.083-2.459-1.473C21.488 2.461 18.856 2 16 2s-5.488.461-7.442 1.243c-.975.39-1.83.88-2.46 1.473ZM7.473 6.17c.384-.363.992-.736 1.827-1.07C10.965 4.434 13.333 4 16 4s5.035.434 6.7 1.1c.835.334 1.444.707 1.827 1.07.381.36.473.641.473.83 0 .189-.091.47-.473.83-.384.363-.992.736-1.827 1.07-1.665.666-4.033 1.1-6.7 1.1s-5.035-.434-6.7-1.1c-.835-.334-1.443-.707-1.827-1.07C7.092 7.47 7 7.19 7 7c0-.189.091-.47.473-.83Z'></path><path d='M16 13a1 1 0 0 1 1 1h13a1 1 0 0 1 .669 1.743L26.495 19.5l4.174 3.757A1 1 0 0 1 30 25H17v5a1 1 0 1 1-2 0V14a1 1 0 0 1 1-1Zm1 10h10.394l-3.063-2.757a1 1 0 0 1 0-1.486L27.394 16H17v7Z'></path>\"]];","export default [[\"<path d='M5 5c.123 0 .244-.002.362-.007a3.985 3.985 0 0 1 3.123-.964C8.819 3.73 9 3.376 9 3c0-1.105-1.556-2-4-2s-4 .895-4 2 1.556 2 4 2Z'></path><path d='M1 4c0 1.034 1.363 1.884 3.541 1.99a3.976 3.976 0 0 0-.405.97C2.196 6.776 1 5.968 1 5V4Zm4.347 6.994a4.018 4.018 0 0 1-.818-1.005C2.357 9.88 1 9.032 1 8v1c0 1.105 1.556 2 4 2 .118 0 .234-.002.347-.006Z'></path><path d='M4 8v-.054c-1.86-.208-3-1-3-1.946v1c0 .965 1.187 1.77 3.116 1.958A4.01 4.01 0 0 1 4 8Zm6.445 1.738a3 3 0 1 0-.707.707l1.409 1.408a.5.5 0 1 0 .707-.707l-1.409-1.408ZM6 8a2 2 0 1 1 4 0 2 2 0 0 1-4 0Z'></path>\",\"<path d='M8 6c3.667 0 6-1.12 6-2.5S11.667 1 8 1 2 2.12 2 3.5 4.333 6 8 6Zm0 9a16 16 0 0 0 1.644-.081 4.504 4.504 0 0 1-2.918-1.967C3.802 12.725 2 11.713 2 10.5v2C2 13.88 4.333 15 8 15Z'></path><path d='M7.675 6.997a4.51 4.51 0 0 0-1.387 1.914C3.623 8.621 2 7.651 2 6.5v-2c0 1.34 2.196 2.433 5.675 2.497ZM14 4.5c0 .726-.645 1.38-1.79 1.836a4.488 4.488 0 0 1 1.486.997c.2-.26.304-.541.304-.833v-2Z'></path><path d='M6 10.5c0 .49.078.962.223 1.404C3.596 11.605 2 10.642 2 9.5v-2c0 1.116 1.523 2.06 4.042 2.382A4.54 4.54 0 0 0 6 10.5Zm7.3 2.1c.019.014.037.03.053.046l2.5 2.5a.5.5 0 0 1-.707.707l-2.5-2.5a.504.504 0 0 1-.046-.053 3.5 3.5 0 1 1 .7-.7ZM8 10.5a2.5 2.5 0 1 0 5 0 2.5 2.5 0 0 0-5 0Z'></path>\",\"M10.455 9.95A7.473 7.473 0 0 1 15.5 8a7.47 7.47 0 0 1 3.25.739C20.195 8.023 21 7.059 21 6c0-2.21-3.5-4-9-4S3 3.79 3 6c0 1.994 2.853 3.648 7.455 3.95Zm-1.48 1.85C5.25 11.272 3 9.77 3 8v2c0 1.649 1.949 3.064 5.223 3.676a7.451 7.451 0 0 1 .752-1.877Zm.417 8.053A7.538 7.538 0 0 0 11.754 22C6.396 21.946 3 20.176 3 18v-2c0 1.836 2.418 3.383 6.392 3.853Zm-1.391-4.22c.013.716.126 1.408.325 2.062C4.99 17.094 3 15.665 3 14v-2c0 1.61 1.86 3 5.001 3.633Zm12.967-5.267a7.546 7.546 0 0 0-.723-.675C20.738 9.178 21 8.604 21 8v2c0 .123-.01.245-.032.366Zm-.936 8.251a5.5 5.5 0 1 0-1.414 1.414l3.675 3.676a1 1 0 0 0 1.414-1.414l-3.675-3.675ZM12 15.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z\",\"<path d='M27 7c0 2.761-4.5 5-11 5S5 9.761 5 7s4.5-5 11-5 11 2.239 11 5Zm-3.276 5.633a8.512 8.512 0 0 1 2.805 1.875c.308-.476.471-.983.471-1.508V9c0 1.43-1.208 2.721-3.276 3.633Z'></path><path d='M12.452 17.759a8.513 8.513 0 0 1 2.59-3.776C9.062 13.775 5 11.623 5 9v4c0 2.224 2.92 4.11 7.452 4.759Z'></path><path d='M12.038 19.695a8.474 8.474 0 0 0 .621 4.092C8.009 23.167 5 21.257 5 19v-4c0 2.156 2.742 3.993 7.038 4.695Z'></path><path d='M16 29.998a1.092 1.092 0 0 0 1.031-1.09c0-.589-.426-.922-1.045-1.204a8.543 8.543 0 0 1-2.032-1.781C8.574 25.507 5 23.46 5 21v4c0 2.75 4.464 4.982 10.922 5H16v-.002ZM14 20.5a6.5 6.5 0 1 1 11.749 3.835l4.958 4.958a1 1 0 0 1-1.414 1.414l-4.958-4.958A6.5 6.5 0 0 1 14 20.5Zm6.5-4.5a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9Z'></path>\"],[\"<path d='M2.328 4.52A3.773 3.773 0 0 1 2 4.361V5c0 .038.016.116.13.233.118.118.312.248.592.368.463.198 1.096.342 1.821.386-.176.3-.313.626-.406.97-.683-.07-1.305-.22-1.809-.437A3.773 3.773 0 0 1 2 6.361V7c0 .038.016.116.13.233.118.118.312.248.592.368.343.147.78.264 1.279.333a4.074 4.074 0 0 0 .114 1.02c-.674-.07-1.289-.22-1.787-.434A3.773 3.773 0 0 1 2 8.361V9c0 .038.016.116.13.233.118.118.312.248.592.368.46.197 1.086.34 1.805.385.217.379.495.719.82 1.007-.115.005-.23.007-.347.007-1.018 0-1.963-.176-2.672-.48-.354-.151-.672-.345-.909-.585C1.18 9.693 1 9.376 1 9V3c0-.376.18-.693.42-.935.236-.24.554-.434.908-.585C3.038 1.176 3.982 1 5 1c1.018 0 1.963.176 2.672.48.354.151.672.345.909.585C8.82 2.307 9 2.624 9 3v1.126a4.007 4.007 0 0 0-3.637.866C5.243 4.997 5.122 5 5 5c-1.018 0-1.963-.176-2.672-.48Zm-.197-1.753C2.016 2.884 2 2.962 2 3c0 .038.016.116.13.233.118.118.312.248.592.368C3.28 3.84 4.085 4 5 4s1.72-.16 2.278-.399c.28-.12.474-.25.591-.368C7.984 3.116 8 3.038 8 3c0-.038-.016-.116-.13-.233-.118-.118-.312-.248-.592-.368C6.72 2.16 5.915 2 5 2s-1.72.16-2.278.399c-.28.12-.474.25-.591.368Z'></path><path d='M10.445 9.738a3 3 0 1 0-.707.707l1.409 1.408a.5.5 0 1 0 .707-.707l-1.409-1.408ZM6 8a2 2 0 1 1 4 0 2 2 0 0 1-4 0Z'></path>\",\"<path d='M3.94 5.384C5.003 5.771 6.439 6 8 6c1.561 0 2.997-.23 4.06-.616.347-.126.666-.273.94-.442V6.5a.369.369 0 0 1-.078.207c.41.262.773.588 1.078.964V3.5c0-.477-.267-.866-.606-1.158-.34-.292-.805-.534-1.334-.726C10.997 1.229 9.561 1 8 1c-1.561 0-2.997.23-4.06.616-.53.192-.993.434-1.334.726C2.267 2.634 2 3.023 2 3.5v9c0 .477.267.866.606 1.158.34.293.805.534 1.334.726C5.003 14.771 6.439 15 8 15c.561 0 1.106-.03 1.623-.085a4.482 4.482 0 0 1-1.956-.919c-1.34-.03-2.528-.24-3.385-.552-.466-.17-.808-.359-1.024-.545C3.041 12.712 3 12.576 3 12.5v-1.558c.274.169.593.316.94.442.642.234 1.42.41 2.281.513a4.48 4.48 0 0 1-.207-1.037 8.95 8.95 0 0 1-1.732-.416c-.466-.17-.808-.359-1.024-.545C3.041 9.712 3 9.576 3 9.5V7.942c.274.169.593.316.94.442.66.24 1.463.42 2.35.52.13-.339.299-.66.502-.954-.98-.083-1.845-.264-2.51-.506-.466-.17-.808-.359-1.024-.545C3.041 6.712 3 6.576 3 6.5V4.942c.274.169.593.316.94.442Zm-.682-2.283c.216-.186.558-.376 1.024-.545C5.209 2.218 6.524 2 8 2s2.79.218 3.718.556c.466.17.808.359 1.024.545.217.187.258.323.258.399 0 .076-.04.212-.258.4-.216.185-.558.375-1.024.544C10.791 4.782 9.476 5 8 5s-2.79-.218-3.718-.556c-.466-.17-.808-.359-1.024-.545C3.041 3.712 3 3.576 3 3.5c0-.076.04-.212.258-.4Z'></path><path d='M13.3 12.6c.019.014.037.03.053.046l2.5 2.5a.5.5 0 0 1-.707.707l-2.5-2.5a.504.504 0 0 1-.046-.053 3.5 3.5 0 1 1 .7-.7ZM8 10.5a2.5 2.5 0 1 0 5 0 2.5 2.5 0 0 0-5 0Z'></path>\",\"<path d='M5.992 9.058A8.52 8.52 0 0 1 5 8.616V10c0 .025.01.17.292.42.28.248.744.518 1.402.765.643.24 1.421.442 2.299.584a7.452 7.452 0 0 0-.767 1.896c-.82-.155-1.574-.36-2.234-.607A8.518 8.518 0 0 1 5 12.616V14c0 .025.01.17.292.42.28.248.744.518 1.402.765.389.146.827.276 1.306.389.007.733.12 1.44.323 2.109a13.692 13.692 0 0 1-2.331-.625A8.518 8.518 0 0 1 5 16.616V18c0 .026.01.17.292.42.28.248.744.518 1.402.765.734.275 1.645.498 2.678.64A7.538 7.538 0 0 0 11.754 22c-2.203-.024-4.233-.368-5.762-.941-.79-.296-1.498-.673-2.027-1.142C3.437 19.448 3 18.803 3 18V6c0-.803.437-1.448.965-1.916.53-.469 1.238-.846 2.027-1.142C7.578 2.347 9.702 2 12 2c2.297 0 4.422.347 6.008.942.79.296 1.498.673 2.027 1.142C20.562 4.552 21 5.197 21 6v4.4a7.528 7.528 0 0 0-2-1.535v-.249c-.08.043-.163.084-.246.125A7.47 7.47 0 0 0 15.5 8a7.47 7.47 0 0 0-5.041 1.947c-1.698-.118-3.243-.43-4.467-.89Zm-.7-3.477C5.01 5.83 5 5.974 5 6c0 .026.01.17.292.42.28.248.744.518 1.402.765C8.004 7.675 9.88 8 12 8s3.997-.324 5.306-.815c.658-.247 1.121-.517 1.402-.766C18.99 6.17 19 6.026 19 6c0-.026-.01-.17-.292-.42-.28-.248-.744-.518-1.402-.765C15.996 4.325 14.12 4 12 4s-3.997.324-5.306.815c-.658.247-1.121.517-1.402.766Z'></path><path d='m20.032 18.617 3.675 3.676a1 1 0 0 1-1.414 1.414l-3.675-3.675a5.5 5.5 0 1 1 1.414-1.414ZM12 15.5a3.5 3.5 0 1 0 7 0 3.5 3.5 0 0 0-7 0Z'></path>\",\"<path d='M8.558 10.757A9.517 9.517 0 0 1 7 9.975V13c0 .189.091.47.473.83.384.363.992.736 1.827 1.07 1.095.438 2.493.775 4.08.955a8.468 8.468 0 0 0-.926 1.897c-1.462-.211-2.788-.552-3.896-.995A9.519 9.519 0 0 1 7 15.975V19c0 .189.091.47.473.83.384.363.992.736 1.827 1.07.785.314 1.725.576 2.78.766.1.74.297 1.448.576 2.114-1.541-.208-2.939-.56-4.098-1.023A9.519 9.519 0 0 1 7 21.975V25c0 .189.091.47.473.83.384.363.992.736 1.827 1.07 1.665.666 4.033 1.1 6.7 1.1a1 1 0 1 1 0 2c-2.856 0-5.488-.461-7.442-1.243-.975-.39-1.83-.88-2.46-1.474C5.469 26.688 5 25.916 5 25V7c0-.916.468-1.687 1.099-2.284.628-.594 1.484-1.083 2.459-1.473C10.512 2.461 13.144 2 16 2s5.488.461 7.442 1.243c.975.39 1.83.88 2.46 1.473C26.531 5.313 27 6.084 27 7v8.023a8.541 8.541 0 0 0-2.051-1.767A.71.71 0 0 0 25 13V9.975a9.518 9.518 0 0 1-1.558.782C21.488 11.539 18.856 12 16 12s-5.488-.461-7.442-1.243ZM7.473 6.17C7.092 6.53 7 6.81 7 7c0 .189.091.47.473.83.384.363.992.736 1.827 1.07 1.665.666 4.033 1.1 6.7 1.1s5.035-.434 6.7-1.1c.835-.334 1.444-.707 1.827-1.07.381-.36.473-.641.473-.83 0-.189-.091-.47-.473-.83-.384-.363-.992-.736-1.827-1.07C21.035 4.434 18.667 4 16 4s-5.035.434-6.7 1.1c-.835.334-1.443.707-1.827 1.07Z'></path><path d='m25.749 24.335 4.958 4.958a1 1 0 0 1-1.414 1.414l-4.958-4.958a6.5 6.5 0 1 1 1.414-1.414ZM16 20.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Z'></path>\"]];","export default [[\"M6 2.104a.25.25 0 0 0-.073-.177l-.854-.854A.25.25 0 0 0 4.896 1h-.792a.25.25 0 0 0-.177.073l-.854.854A.25.25 0 0 0 3 2.104v2.792c0 .067.026.13.073.177l.854.854A.25.25 0 0 0 4.104 6h.792a.25.25 0 0 0 .177-.073l.854-.854A.25.25 0 0 0 6 4.896V2.104ZM4.25 5A.25.25 0 0 1 4 4.75v-2.5A.25.25 0 0 1 4.25 2h.5a.25.25 0 0 1 .25.25v2.5a.25.25 0 0 1-.25.25h-.5ZM2 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm3.927 2.927A.25.25 0 0 1 6 8.104v2.792a.25.25 0 0 1-.073.177l-.854.854a.25.25 0 0 1-.177.073h-.792a.25.25 0 0 1-.177-.073l-.854-.854A.25.25 0 0 1 3 10.896V8.104a.25.25 0 0 1 .073-.177l.854-.854A.25.25 0 0 1 4.104 7h.792a.25.25 0 0 1 .177.073l.854.854ZM4 10.75c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-2.5A.25.25 0 0 0 4.75 8h-.5a.25.25 0 0 0-.25.25v2.5Zm6-2.646a.25.25 0 0 0-.073-.177l-.854-.854A.25.25 0 0 0 8.896 7h-.792a.25.25 0 0 0-.177.073l-.854.854A.25.25 0 0 0 7 8.104v2.792c0 .067.026.13.073.177l.854.854a.25.25 0 0 0 .177.073h.792a.25.25 0 0 0 .177-.073l.854-.854a.25.25 0 0 0 .073-.177V8.104ZM8.25 11a.25.25 0 0 1-.25-.25v-2.5A.25.25 0 0 1 8.25 8h.5a.25.25 0 0 1 .25.25v2.5a.25.25 0 0 1-.25.25h-.5ZM1 12a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM9.854 1.146a.5.5 0 1 0-.708.708L10.293 3H7.5a.5.5 0 0 0 0 1h2.793L9.146 5.146a.5.5 0 1 0 .708.708l2-2a.5.5 0 0 0 0-.708l-2-2Z\",\"M8 2.104a.25.25 0 0 0-.073-.177l-.854-.854A.25.25 0 0 0 6.896 1H5.104a.25.25 0 0 0-.177.073l-.854.854A.25.25 0 0 0 4 2.104v3.792c0 .067.026.13.073.177l.854.854A.25.25 0 0 0 5.104 7h1.792a.25.25 0 0 0 .177-.073l.854-.854A.25.25 0 0 0 8 5.896V2.104ZM5.25 6A.25.25 0 0 1 5 5.75v-3.5A.25.25 0 0 1 5.25 2h1.5a.25.25 0 0 1 .25.25v3.5a.25.25 0 0 1-.25.25h-1.5ZM8 10.104a.25.25 0 0 0-.073-.177l-.854-.854A.25.25 0 0 0 6.896 9H5.104a.25.25 0 0 0-.177.073l-.854.854a.25.25 0 0 0-.073.177v3.792c0 .067.026.13.073.177l.854.854a.25.25 0 0 0 .177.073h1.792a.25.25 0 0 0 .177-.073l.854-.854A.25.25 0 0 0 8 13.896v-3.792ZM5.25 14a.25.25 0 0 1-.25-.25v-3.5a.25.25 0 0 1 .25-.25h1.5a.25.25 0 0 1 .25.25v3.5a.25.25 0 0 1-.25.25h-1.5Zm7.677-4.073a.25.25 0 0 1 .073.177v3.792a.25.25 0 0 1-.073.177l-.854.854a.25.25 0 0 1-.177.073h-1.792a.25.25 0 0 1-.177-.073l-.854-.854A.25.25 0 0 1 9 13.896v-3.792a.25.25 0 0 1 .073-.177l.854-.854A.25.25 0 0 1 10.104 9h1.792a.25.25 0 0 1 .177.073l.854.854ZM10 13.75c0 .138.112.25.25.25h1.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25h-1.5a.25.25 0 0 0-.25.25v3.5ZM3 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-1 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM12.854 2.146a.5.5 0 0 0-.708.708L13.293 4H9.5a.5.5 0 0 0 0 1h3.793l-1.147 1.146a.5.5 0 0 0 .708.708l2-2a.5.5 0 0 0 0-.708l-2-2Z\",\"M12 2.207a.5.5 0 0 0-.146-.353l-.708-.708A.5.5 0 0 0 10.793 1H6.207a.5.5 0 0 0-.353.146l-.708.708A.5.5 0 0 0 5 2.207v7.586a.5.5 0 0 0 .146.353l.708.708a.5.5 0 0 0 .353.146h4.586a.5.5 0 0 0 .353-.146l.708-.708A.5.5 0 0 0 12 9.793V2.207ZM7.5 9a.5.5 0 0 1-.5-.5v-5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-2ZM2 11a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm0 12a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm9.854-9.146a.5.5 0 0 1 .146.353v7.586a.5.5 0 0 1-.146.353l-.708.708a.5.5 0 0 1-.353.146H6.207a.5.5 0 0 1-.353-.146l-.708-.708A.5.5 0 0 1 5 21.793v-7.586a.5.5 0 0 1 .146-.353l.708-.708A.5.5 0 0 1 6.207 13h4.586a.5.5 0 0 1 .353.146l.708.708ZM7 20.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v5Zm14-6.293a.5.5 0 0 0-.146-.353l-.708-.708a.5.5 0 0 0-.353-.146h-4.586a.5.5 0 0 0-.353.146l-.708.708a.5.5 0 0 0-.146.353v7.586a.5.5 0 0 0 .146.353l.708.708a.5.5 0 0 0 .353.146h4.586a.5.5 0 0 0 .353-.146l.708-.708a.5.5 0 0 0 .146-.353v-7.586ZM16.5 21a.5.5 0 0 1-.5-.5v-5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-2ZM22 5.99a.996.996 0 0 0-.076-.373l.076.374Zm-.076-.373a.997.997 0 0 0-.217-.324l-3-3a1 1 0 1 0-1.414 1.414L18.586 5H15a1 1 0 1 0 0 2h3.586l-1.293 1.293a1 1 0 0 0 1.414 1.414l3-3A.997.997 0 0 0 22 6.01\",\"<path d='M6.146 14.146A.5.5 0 0 1 6 13.793V4.207a.5.5 0 0 1 .146-.353l.708-.708A.5.5 0 0 1 7.207 3h6.586a.5.5 0 0 1 .353.146l.708.708a.5.5 0 0 1 .146.353v9.586a.5.5 0 0 1-.146.353l-.708.708a.5.5 0 0 1-.353.146H7.207a.5.5 0 0 1-.353-.146l-.708-.708ZM8 12.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 0-.5.5v7Zm-3 1a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm0 14a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM28 9.01a.996.996 0 0 1-.076.373L28 9v.01Z'></path><path d='M27.707 9.707a.997.997 0 0 0 .217-.324L28 8.99a.997.997 0 0 0-.293-.698l-4-4a1 1 0 1 0-1.414 1.414L24.586 8H18a1 1 0 1 0 0 2h6.586l-2.293 2.293a1 1 0 0 0 1.414 1.414l4-4ZM6 27.793a.5.5 0 0 0 .146.353l.708.708a.5.5 0 0 0 .353.146h6.586a.5.5 0 0 0 .353-.146l.708-.708a.5.5 0 0 0 .146-.353v-9.586a.5.5 0 0 0-.146-.353l-.708-.708a.5.5 0 0 0-.353-.146H7.207a.5.5 0 0 0-.353.146l-.708.708a.5.5 0 0 0-.146.353v9.586ZM8.5 27a.5.5 0 0 1-.5-.5v-7a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-4Zm8.5.793a.5.5 0 0 0 .146.353l.708.708a.5.5 0 0 0 .353.146h6.586a.5.5 0 0 0 .353-.146l.708-.708a.5.5 0 0 0 .146-.353v-9.586a.5.5 0 0 0-.146-.353l-.708-.708a.5.5 0 0 0-.353-.146h-6.586a.5.5 0 0 0-.353.146l-.708.708a.5.5 0 0 0-.146.353v9.586ZM19.5 27a.5.5 0 0 1-.5-.5v-7a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-4Z'></path>\"]];","export default [[\"<path d='M8 1a1 1 0 0 1 1 1v2.5a.5.5 0 0 1-1 0V2H7v2.5a.5.5 0 0 1-1 0V2a1 1 0 0 1 1-1h1Z'></path><path d='M5 2H2.5A1.5 1.5 0 0 0 1 3.5v6A1.5 1.5 0 0 0 2.5 11h7A1.5 1.5 0 0 0 11 9.5v-6a1.5 1.5 0 0 0-1-1.415V9.5a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-6a.5.5 0 0 1 .5-.5H5V2Z'></path><path d='M8.854 6.854a.5.5 0 1 0-.708-.708l-.646.647-.646-.647a.5.5 0 1 0-.708.708l.647.646-.647.646a.5.5 0 1 0 .708.708l.646-.647.646.647a.5.5 0 1 0 .708-.708L8.207 7.5l.647-.646ZM5 4.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-4Z'></path>\",\"<path d='M11 1a1 1 0 0 1 1 1v6.5a.5.5 0 0 1-1 0V2h-1v6.5a.5.5 0 0 1-1 0V2a1 1 0 0 1 1-1h1Z'></path><path d='M8 3H2.5A1.5 1.5 0 0 0 1 4.5v9A1.5 1.5 0 0 0 2.5 15h11a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 13.5 3H13v1h.5a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5H8V3Z'></path><path d='M11.854 10.854a.5.5 0 0 0-.708-.707l-.646.646-.646-.647a.5.5 0 0 0-.708.708l.647.646-.647.646a.5.5 0 1 0 .708.708l.646-.647.646.647a.5.5 0 0 0 .708-.708l-.647-.646.647-.646ZM6 5.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-7Z'></path>\",\"<path d='M15 2a2 2 0 0 1 2 2v6a1 1 0 1 1-2 0V4h-1v6a1 1 0 1 1-2 0V4a2 2 0 0 1 2-2h1Z'></path><path d='M10 4H5a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3v2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5V4Z'></path><path d='M16.707 14.707a1 1 0 0 0-1.414-1.414l-.793.793-.793-.793a1 1 0 0 0-1.414 1.414l.793.793-.793.793a1 1 0 0 0 1.414 1.414l.793-.793.793.793a1 1 0 0 0 1.414-1.414l-.793-.793.793-.793ZM9 9a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V9Z'></path>\",\"<path d='M22 2a2 2 0 0 1 2 2v12a1 1 0 1 1-2 0V4h-4v12a1 1 0 1 1-2 0V4a2 2 0 0 1 2-2h4Z'></path><path d='M14 8H6a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1V6a3 3 0 0 1 3 3v18a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3h8v2Z'></path><path d='M18.707 19.293a1 1 0 0 0-1.414 1.414L18.586 22l-1.293 1.293a1 1 0 0 0 1.414 1.414L20 23.414l1.293 1.293a1 1 0 0 0 1.414-1.414L21.414 22l1.293-1.293a1 1 0 0 0-1.414-1.414L20 20.586l-1.293-1.293ZM12 11a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1V11Z'></path>\"]];","export default [[\"<path d='M2.085 2H9.5a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5V7H2v2.5A1.5 1.5 0 0 0 3.5 11h6A1.5 1.5 0 0 0 11 9.5v-7A1.5 1.5 0 0 0 9.5 1h-6a1.5 1.5 0 0 0-1.415 1Z'></path><path d='M1 4a1 1 0 0 1 1-1h2.5a.5.5 0 0 1 0 1H2v1h2.5a.5.5 0 0 1 0 1H2a1 1 0 0 1-1-1V4Zm5.854-.854a.5.5 0 1 0-.708.708l.647.646-.647.646a.5.5 0 1 0 .708.708l.646-.647.646.647a.5.5 0 1 0 .708-.708L8.207 4.5l.647-.646a.5.5 0 1 0-.708-.708l-.646.647-.646-.647ZM4.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-4Z'></path>\",\"<path d='M4.5 1A1.5 1.5 0 0 0 3 2.5V3h1v-.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v11a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V8H3v5.5A1.5 1.5 0 0 0 4.5 15h9a1.5 1.5 0 0 0 1.5-1.5v-11A1.5 1.5 0 0 0 13.5 1h-9Z'></path><path d='M1 5a1 1 0 0 1 1-1h6.5a.5.5 0 0 1 0 1H2v1h6.5a.5.5 0 0 1 0 1H2a1 1 0 0 1-1-1V5Zm9.854-.854a.5.5 0 0 0-.708.708l.647.646-.647.646a.5.5 0 0 0 .708.708l.646-.647.646.647a.5.5 0 0 0 .708-.708l-.647-.646.647-.646a.5.5 0 0 0-.708-.708l-.646.647-.646-.647ZM5.5 10a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-7Z'></path>\",\"<path d='M7 2a3 3 0 0 0-3 3h2a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-5H4v5a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H7Z'></path><path d='M2 9a2 2 0 0 1 2-2h6a1 1 0 1 1 0 2H4v1h6a1 1 0 1 1 0 2H4a2 2 0 0 1-2-2V9Zm12.707-1.707a1 1 0 1 0-1.414 1.414l.793.793-.793.793a1 1 0 0 0 1.414 1.414l.793-.793.793.793a1 1 0 0 0 1.414-1.414l-.793-.793.793-.793a1 1 0 0 0-1.414-1.414l-.793.793-.793-.793ZM9 15a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1H9Z'></path>\",\"<path d='M5 6a3 3 0 0 1 3-3h18a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H8a3 3 0 0 1-3-3v-9h2v9a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v1H5V6Z'></path><path d='M4 9a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h12a1 1 0 1 0 0-2H4v-2h12a1 1 0 1 0 0-2H4Zm16.707.293a1 1 0 1 0-1.414 1.414L20.586 12l-1.293 1.293a1 1 0 0 0 1.414 1.414L22 13.414l1.293 1.293a1 1 0 0 0 1.414-1.414L23.414 12l1.293-1.293a1 1 0 0 0-1.414-1.414L22 10.586l-1.293-1.293ZM10 20a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1H10Z'></path>\"]];","export default [[\"M0 3.5A.5.5 0 0 1 .5 3h11a.5.5 0 0 1 0 1H11v4.5A1.5 1.5 0 0 1 9.5 10h-2A1.5 1.5 0 0 1 6 8.5V6H2v3.5a.5.5 0 0 1-1 0V4H.5a.5.5 0 0 1-.5-.5ZM10 4v1H2V4h8ZM8.5 7a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Z\",\"M1.5 4a.5.5 0 0 0 0 1H2v6.5a.5.5 0 0 0 1 0V8h5v2.5A1.5 1.5 0 0 0 9.5 12h3a1.5 1.5 0 0 0 1.5-1.5V5h.5a.5.5 0 0 0 0-1h-13ZM13 7H3V5h10v2Zm-2.5 2a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Z\",\"M2 5a1 1 0 0 0 0 2v11a1 1 0 1 0 2 0v-7h7v5a3 3 0 0 0 3 3h5a3 3 0 0 0 3-3V7a1 1 0 1 0 0-2H2Zm18 4H4V7h16v2Zm-4 4a1 1 0 1 0 0 2h1a1 1 0 1 0 0-2h-1Z\",\"M3 7a1 1 0 0 0 0 2v14a1 1 0 1 0 2 0v-9h10v7a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V9a1 1 0 1 0 0-2H3Zm24 5H5V9h22v3Zm-6 5a1 1 0 1 0 0 2h2a1 1 0 1 0 0-2h-2Z\"],[\"<path d='M0 3.5A.5.5 0 0 1 .5 3h11a.5.5 0 0 1 0 1H11v4.5A1.5 1.5 0 0 1 9.5 10h-2A1.5 1.5 0 0 1 6 8.5V6H2v3.5a.5.5 0 0 1-1 0V4H.5a.5.5 0 0 1-.5-.5ZM10 5V4H2v1h8ZM7 6v2.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5V6H7Z'></path><path d='M8 7.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Z'></path>\",\"<path d='M10 9.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5Z'></path><path d='M1.5 4a.5.5 0 0 0 0 1H2v6.5a.5.5 0 0 0 1 0V8h5v2.5A1.5 1.5 0 0 0 9.5 12h3a1.5 1.5 0 0 0 1.5-1.5V5h.5a.5.5 0 0 0 0-1h-13ZM3 7h10V5H3v2Zm6 3.5V8h4v2.5a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5Z'></path>\",\"<path d='M2 5a1 1 0 0 0 0 2v11a1 1 0 1 0 2 0v-7h7v5a3 3 0 0 0 3 3h5a3 3 0 0 0 3-3V7a1 1 0 1 0 0-2H2Zm18 4V7H4v2h16Zm0 2h-7v5a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-5Z'></path><path d='M15 14a1 1 0 0 1 1-1h1a1 1 0 1 1 0 2h-1a1 1 0 0 1-1-1Z'></path>\",\"<path d='M3 7a1 1 0 0 0 0 2v14a1 1 0 1 0 2 0v-9h10v7a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V9a1 1 0 1 0 0-2H3Zm24 5V9H5v3h22Zm0 2H17v7a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-7Z'></path><path d='M20 18a1 1 0 0 1 1-1h2a1 1 0 1 1 0 2h-2a1 1 0 0 1-1-1Z'></path>\"]];","export default [[\"M5.793 1.29 1.29 5.793a1 1 0 0 0 0 1.414l4.503 4.503a1 1 0 0 0 1.414 0l4.503-4.503a1 1 0 0 0 0-1.414L7.207 1.29a1 1 0 0 0-1.414 0Z\",\"M8.56.443a1.5 1.5 0 0 0-2.12 0L.444 6.434a1.5 1.5 0 0 0 0 2.122l5.995 6a1.5 1.5 0 0 0 2.122 0l5.996-6a1.5 1.5 0 0 0 0-2.122L8.56.443Z\",\"M9.878 1.877 1.877 9.88a3 3 0 0 0 0 4.242l8.001 8.002a3 3 0 0 0 4.243 0l8.001-8.002a3 3 0 0 0 0-4.242l-8.001-8.002a3 3 0 0 0-4.243 0Z\",\"M13.879 1.877 1.877 13.88a3 3 0 0 0 0 4.242L13.88 30.123a3 3 0 0 0 4.242 0L30.123 18.12a3 3 0 0 0 0-4.242L18.12 1.877a3 3 0 0 0-4.242 0Z\"],[\"M6.5 1.997 1.997 6.5 6.5 11.003 11.003 6.5 6.5 1.997ZM1.29 5.793 5.793 1.29a1 1 0 0 1 1.414 0l4.503 4.503a1 1 0 0 1 0 1.414L7.207 11.71a1 1 0 0 1-1.414 0L1.29 7.207a1 1 0 0 1 0-1.414Z\",\"M7.854 1.15a.5.5 0 0 0-.707 0L1.15 7.142a.5.5 0 0 0 0 .707l5.995 6a.5.5 0 0 0 .708 0l5.996-6a.5.5 0 0 0 0-.707L7.853 1.15ZM6.44.443a1.5 1.5 0 0 1 2.12 0l5.996 5.991a1.5 1.5 0 0 1 .001 2.122l-5.996 6a1.5 1.5 0 0 1-2.122 0l-5.996-6a1.5 1.5 0 0 1 .001-2.122L6.44.443Z\",\"m11.293 3.291-8.002 8.002a1 1 0 0 0 0 1.414l8.002 8.002a1 1 0 0 0 1.414 0l8.002-8.002a1 1 0 0 0 0-1.414L12.707 3.29a1 1 0 0 0-1.414 0ZM1.877 9.88 9.88 1.877a3 3 0 0 1 4.242 0l8.002 8.002a3 3 0 0 1 0 4.242l-8.002 8.002a3 3 0 0 1-4.242 0L1.877 14.12a3 3 0 0 1 0-4.242Z\",\"M15.293 3.291 3.29 15.293a1 1 0 0 0 0 1.414L15.293 28.71a1 1 0 0 0 1.414 0L28.71 16.707a1 1 0 0 0 0-1.414L16.707 3.29a1 1 0 0 0-1.414 0ZM1.877 13.88 13.88 1.877a3 3 0 0 1 4.242 0L30.123 13.88a3 3 0 0 1 0 4.242L18.12 30.123a3 3 0 0 1-4.242 0L1.877 18.12a3 3 0 0 1 0-4.242Z\"]];","export default [[\"M1.29 5.793 5.793 1.29a1 1 0 0 1 1.414 0l4.503 4.503a1 1 0 0 1 0 1.414L7.207 11.71a1 1 0 0 1-1.414 0L1.29 7.207a1 1 0 0 1 0-1.414ZM6 3.5a.5.5 0 1 1 1 0v3a.5.5 0 0 1-1 0v-3Zm1 5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\",\"M6.44.443a1.5 1.5 0 0 1 2.12 0l5.996 5.991a1.5 1.5 0 0 1 0 2.122l-5.995 6a1.5 1.5 0 0 1-2.122 0l-5.996-6a1.5 1.5 0 0 1 .001-2.122L6.44.443ZM7 3.5a.5.5 0 0 1 1 0v5a.5.5 0 0 1-1 0v-5Zm1 7a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\",\"m1.877 9.879 8.001-8.002a3 3 0 0 1 4.243 0l8.001 8.002a3 3 0 0 1 0 4.242l-8.001 8.002a3 3 0 0 1-4.243 0L1.877 14.12a3 3 0 0 1 0-4.242ZM11 7a1 1 0 1 1 2 0v6a1 1 0 0 1-2 0V7Zm2 10a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\",\"M1.877 13.879 13.88 1.877a3 3 0 0 1 4.242 0L30.123 13.88a3 3 0 0 1 0 4.242L18.12 30.123a3 3 0 0 1-4.242 0L1.877 18.12a3 3 0 0 1 0-4.242ZM15 9a1 1 0 1 1 2 0v9a1 1 0 1 1-2 0V9Zm2 13a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"],[\"<path d='M6 3.5a.5.5 0 1 1 1 0v3a.5.5 0 1 1-1 0v-3ZM6.5 9a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M1.29 5.793 5.793 1.29a1 1 0 0 1 1.414 0l4.503 4.503a1 1 0 0 1 0 1.414L7.207 11.71a1 1 0 0 1-1.414 0L1.29 7.207a1 1 0 0 1 0-1.414ZM6.5 1.997 1.997 6.5 6.5 11.003 11.003 6.5 6.5 1.997Z'></path>\",\"<path d='M7 3.5a.5.5 0 0 1 1 0v5a.5.5 0 0 1-1 0v-5Zm1 7a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z'></path><path d='M8.56.443a1.5 1.5 0 0 0-2.12 0L.444 6.434a1.5 1.5 0 0 0 0 2.122l5.995 6a1.5 1.5 0 0 0 2.122 0l5.996-6a1.5 1.5 0 0 0 0-2.122L8.56.443Zm-1.413.707a.5.5 0 0 1 .707 0l5.995 5.992a.5.5 0 0 1 0 .707l-5.995 6a.5.5 0 0 1-.708 0l-5.995-6a.5.5 0 0 1 0-.707L7.147 1.15Z'></path>\",\"<path d='M11 7a1 1 0 1 1 2 0v6a1 1 0 1 1-2 0V7Zm2 10a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path><path d='M9.878 1.877 1.877 9.88a3 3 0 0 0 0 4.242l8.001 8.002a3 3 0 0 0 4.243 0l8.001-8.002a3 3 0 0 0 0-4.242l-8.001-8.002a3 3 0 0 0-4.243 0Zm-6.587 9.416 8.002-8.002a1 1 0 0 1 1.414 0l8.001 8.002a1 1 0 0 1 0 1.414l-8.001 8.002a1 1 0 0 1-1.415 0l-8.001-8.002a1 1 0 0 1 0-1.414Z'></path>\",\"<path d='M15 9a1 1 0 1 1 2 0v9a1 1 0 0 1-2 0V9Zm2 13a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path><path d='M13.879 1.877 1.877 13.88a3 3 0 0 0 0 4.242L13.88 30.123a3 3 0 0 0 4.242 0L30.123 18.12a3 3 0 0 0 0-4.242L18.12 1.877a3 3 0 0 0-4.242 0ZM3.29 15.293 15.293 3.29a1 1 0 0 1 1.414 0L28.71 15.293a1 1 0 0 1 0 1.414L16.707 28.71a1 1 0 0 1-1.414 0L3.29 16.707a1 1 0 0 1 0-1.414Z'></path>\"]];","export default [[\"M5 9.293 3.854 8.146a.5.5 0 1 0-.708.708l2 2a.5.5 0 0 0 .708 0l2-2a.5.5 0 1 0-.708-.708L6 9.293V1.5a.5.5 0 0 0-1 0v7.793Z\",\"m7 13.293-2.146-2.147a.5.5 0 0 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8 13.293V1.5a.5.5 0 0 0-1 0v11.793Z\",\"m11 18.586-3.293-3.293a1 1 0 0 0-1.414 1.414l5 5a1 1 0 0 0 1.414 0l5-5a1 1 0 0 0-1.414-1.414L13 18.586V3a1 1 0 1 0-2 0v15.586Z\",\"m15 25.586-5.293-5.293a1 1 0 0 0-1.414 1.414l7 7a1 1 0 0 0 1.414 0l7-7a1 1 0 0 0-1.414-1.414L17 25.586V4a1 1 0 1 0-2 0v21.586Z\"]];","export default [[\"M3.146 2.146a.5.5 0 1 1 .708.708L2.707 4H7.5A2.5 2.5 0 0 1 10 6.5v4a.5.5 0 0 1-1 0v-4A1.5 1.5 0 0 0 7.5 5H2.707l1.147 1.146a.5.5 0 1 1-.708.708l-2-2A.495.495 0 0 1 1 4.49a.498.498 0 0 1 .146-.344l2-2Z\",\"M5.146 8.854a.5.5 0 1 0 .708-.708L3.707 6H11.5A1.5 1.5 0 0 1 13 7.5v6a.5.5 0 0 0 1 0v-6A2.5 2.5 0 0 0 11.5 5H3.707l2.147-2.146a.5.5 0 1 0-.708-.708l-3 3a.5.5 0 0 0 0 .708l3 3Z\",\"M8.293 3.293a1 1 0 0 1 1.414 1.414L6.414 8H18a3 3 0 0 1 3 3v9a1 1 0 1 1-2 0v-9a1 1 0 0 0-1-1H6.414l3.293 3.293a1 1 0 0 1-1.414 1.414l-5-5a1 1 0 0 1 0-1.414l5-5Z\",\"M12.293 4.293a1 1 0 1 1 1.414 1.414L8.414 11H24a3 3 0 0 1 3 3v13a1 1 0 1 1-2 0V14a1 1 0 0 0-1-1H8.414l5.293 5.293a1 1 0 0 1-1.414 1.414l-7-7a1 1 0 0 1 0-1.414l7-7Z\"]];","export default [[\"M8.854 2.146a.5.5 0 1 0-.708.708L9.293 4H4.5A2.5 2.5 0 0 0 2 6.5v4a.5.5 0 0 0 1 0v-4A1.5 1.5 0 0 1 4.5 5h4.793L8.146 6.146a.5.5 0 0 0 .708.708l2-2 .01-.011A.5.5 0 0 0 11 4.509V4.49\",\"M10.854 8.854a.5.5 0 0 1-.708-.708L12.293 6H4.5A1.5 1.5 0 0 0 3 7.5v6a.5.5 0 0 1-1 0v-6A2.5 2.5 0 0 1 4.5 5h7.793l-2.147-2.146a.5.5 0 0 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3Z\",\"M15.707 3.293a1 1 0 1 0-1.414 1.414L17.586 8H6a3 3 0 0 0-3 3v9a1 1 0 1 0 2 0v-9a1 1 0 0 1 1-1h11.586l-3.293 3.293a1 1 0 0 0 1.414 1.414l5-5a1 1 0 0 0 0-1.414l-5-5Z\",\"M19.707 4.293a1 1 0 1 0-1.414 1.414L23.586 11H8a3 3 0 0 0-3 3v13a1 1 0 1 0 2 0V14a1 1 0 0 1 1-1h15.586l-5.293 5.293a1 1 0 0 0 1.414 1.414l7-7a1 1 0 0 0 0-1.414l-7-7Z\"]];","export default [[\"M4.5 1a.5.5 0 0 1 0 1H2.707l2.854 2.854A1.5 1.5 0 0 1 6 5.914V10.5a.5.5 0 0 1-1 0V5.914a.5.5 0 0 0-.146-.353L2 2.707V4.5a.5.5 0 0 1-1 0v-3a.5.5 0 0 1 .5-.5h3Z\",\"M1 6.5a.5.5 0 1 0 1 0V2.707l4.854 4.854A.5.5 0 0 1 7 7.914V14.5a.5.5 0 0 0 1 0V7.914a1.5 1.5 0 0 0-.44-1.06L2.708 2H6.5a.5.5 0 1 0 0-1h-5a.5.5 0 0 0-.5.5v5Z\",\"M10 2a1 1 0 1 1 0 2H5.414l6.707 6.707A3 3 0 0 1 13 12.828V21a1 1 0 1 1-2 0v-8.172a1 1 0 0 0-.293-.707L4 5.414V10a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1h7Z\",\"M14 3a1 1 0 1 1 0 2H6.414l9.707 9.707A3 3 0 0 1 17 16.828V28a1 1 0 1 1-2 0V16.828a1 1 0 0 0-.293-.707L5 6.414V14a1 1 0 1 1-2 0V4a1 1 0 0 1 1-1h10Z\"]];","export default [[\"M6.5 1a.5.5 0 0 0 0 1h1.793L5.439 4.854A1.5 1.5 0 0 0 5 5.914V10.5a.5.5 0 0 0 1 0V5.914a.5.5 0 0 1 .146-.353L9 2.707V4.5a.5.5 0 0 0 1 0v-3a.5.5 0 0 0-.5-.5h-3Z\",\"M14 1.5v5a.5.5 0 0 1-1 0V2.707L8.146 7.561A.5.5 0 0 0 8 7.914V14.5a.5.5 0 0 1-1 0V7.914c0-.398.158-.78.44-1.06L12.292 2H8.5a.5.5 0 0 1 0-1h5a.5.5 0 0 1 .5.5Z\",\"M14 2a1 1 0 1 0 0 2h4.586l-6.707 6.707A3 3 0 0 0 11 12.828V21a1 1 0 1 0 2 0v-8.172a1 1 0 0 1 .293-.707L20 5.414V10a1 1 0 1 0 2 0V3a1 1 0 0 0-1-1h-7Z\",\"M18 3a1 1 0 1 0 0 2h7.586l-9.707 9.707A3 3 0 0 0 15 16.828V28a1 1 0 1 0 2 0V16.828a1 1 0 0 1 .293-.707L27 6.414V14a1 1 0 1 0 2 0V4a1 1 0 0 0-1-1H18Z\"]];","export default [[\"M3.146 3.146a.5.5 0 1 0 .708.708L5 2.707V10.5a.5.5 0 0 0 1 0V2.707l1.146 1.147a.5.5 0 1 0 .708-.708l-2-2a.5.5 0 0 0-.708 0l-2 2Z\",\"M10.854 4.146a.5.5 0 0 1-.708.708L8 2.707V14.5a.5.5 0 0 1-1 0V2.707L4.854 4.854a.5.5 0 1 1-.708-.708l3-3a.5.5 0 0 1 .708 0l3 3Z\",\"M6.293 7.293a1 1 0 0 0 1.414 1.414L11 5.414V21a1 1 0 1 0 2 0V5.414l3.293 3.293a1 1 0 1 0 1.414-1.414l-5-5a1 1 0 0 0-1.414 0l-5 5Z\",\"M8.293 10.293a1 1 0 1 0 1.414 1.414L15 6.414V28a1 1 0 1 0 2 0V6.414l5.293 5.293a1 1 0 0 0 1.414-1.414l-7-7a1 1 0 0 0-1.414 0l-7 7Z\"]];","export default [[\"<path d='M6 1H2.5A1.5 1.5 0 0 0 1 2.5v7A1.5 1.5 0 0 0 2.5 11h6A1.5 1.5 0 0 0 10 9.5V5H7.5A1.5 1.5 0 0 1 6 3.5V1ZM3.5 6a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4ZM3 8.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Z'></path><path d='M9.85 4a1.5 1.5 0 0 0-.237-.351L7.67 1.495A1.5 1.5 0 0 0 7 1.067V3.5a.5.5 0 0 0 .5.5h2.35Z'></path>\",\"<path d='M9 1H3.5A1.5 1.5 0 0 0 2 2.5v11A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V6h-3.5A1.5 1.5 0 0 1 9 4.5V1ZM5.5 8a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5ZM5 10.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Z'></path><path d='M13.826 5a1.5 1.5 0 0 0-.297-.39l-3.397-3.202a1.505 1.505 0 0 0-.132-.11V4.5a.5.5 0 0 0 .5.5h3.326Z'></path>\",\"<path d='M14 2H6a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V9h-4a3 3 0 0 1-3-3V2Zm-6 9a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2H8Zm-1 5a1 1 0 0 1 1-1h8a1 1 0 1 1 0 2H8a1 1 0 0 1-1-1Z'></path><path d='M20.727 7a2.999 2.999 0 0 0-.673-.937l-3.459-3.25A3.001 3.001 0 0 0 16 2.38V6a1 1 0 0 0 1 1h3.727Z'></path>\",\"<path d='M19 2H7a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h18a3 3 0 0 0 3-3V11h-6a3 3 0 0 1-3-3V2ZM9 15a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H10a1 1 0 0 1-1-1Zm1 3a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2H10Zm-1 5a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H10a1 1 0 0 1-1-1Z'></path><path d='M27.378 9H22a1 1 0 0 1-1-1V2.622c.102.078.2.164.293.257l5.828 5.828c.093.093.179.19.257.293Z'></path>\"],[\"<path d='M3 6.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5ZM3.5 8a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Z'></path><path d='M6.556 1a1.5 1.5 0 0 1 1.113.495l1.944 2.154A1.5 1.5 0 0 1 10 4.654V9.5A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-7A1.5 1.5 0 0 1 2.5 1h4.056ZM2 2.5a.5.5 0 0 1 .5-.5H6v1.5A1.5 1.5 0 0 0 7.5 5H9v4.5a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-7ZM8.583 4 7 2.246V3.5a.5.5 0 0 0 .5.5h1.083Z'></path>\",\"<path d='M5 8.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm.5 1.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5Z'></path><path d='M3.5 1A1.5 1.5 0 0 0 2 2.5v11A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V5.7a1.5 1.5 0 0 0-.471-1.09l-3.397-3.202A1.5 1.5 0 0 0 9.103 1H3.5ZM3 2.5a.5.5 0 0 1 .5-.5H9v2.5A1.5 1.5 0 0 0 10.5 6H13v7.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-11ZM12.485 5 10 2.658V4.5a.5.5 0 0 0 .5.5h1.985Z'></path>\",\"<path d='M7 12a1 1 0 0 1 1-1h8a1 1 0 1 1 0 2H8a1 1 0 0 1-1-1Zm1 3a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2H8Z'></path><path d='M6 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V8.25a3 3 0 0 0-.946-2.187l-3.459-3.25A3 3 0 0 0 14.541 2H6ZM5 5a1 1 0 0 1 1-1h8v2a3 3 0 0 0 3 3h2v10a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5Zm13.13 2L16 4.999V6a1 1 0 0 0 1 1h1.13Z'></path>\",\"<path d='M10 14a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2H10Zm-1 5a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H10a1 1 0 0 1-1-1Zm1 3a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2H10Z'></path><path d='M4 5a3 3 0 0 1 3-3h12.172a3 3 0 0 1 2.12.879l5.83 5.828A3 3 0 0 1 28 10.828V27a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v22a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V11h-4a3 3 0 0 1-3-3V4H7Zm14 1.414L24.586 9H22a1 1 0 0 1-1-1V5.414Z'></path>\"]];","export default [[\"<path d='M2.5 1H6v2.5A1.5 1.5 0 0 0 7.5 5H10v4.5A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-7A1.5 1.5 0 0 1 2.5 1ZM4 2H3v.75c0 .138.112.25.25.25h.5A.25.25 0 0 0 4 2.75V2ZM3 4.25A.25.25 0 0 1 3.25 4h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 3 4.75v-.5ZM3.25 6a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 4 6.75v-.5A.25.25 0 0 0 3.75 6h-.5Z'></path><path d='M9.613 3.649A1.5 1.5 0 0 1 9.85 4H7.5a.5.5 0 0 1-.5-.5V1.067a1.5 1.5 0 0 1 .669.428l1.944 2.154Z'></path>\",\"<path d='M9 1H3.5A1.5 1.5 0 0 0 2 2.5v11A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V6h-3.5A1.5 1.5 0 0 1 9 4.5V1ZM5 2h1v.75a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 5 2.75V2Zm.25 2a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 4.75v-.5A.25.25 0 0 0 5.75 4h-.5ZM5 6.25A.25.25 0 0 1 5.25 6h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 5 6.75v-.5ZM5.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 8.75v-.5A.25.25 0 0 0 5.75 8h-.5Z'></path><path d='M13.826 5a1.5 1.5 0 0 0-.297-.39l-3.397-3.202a1.505 1.505 0 0 0-.132-.11V4.5a.5.5 0 0 0 .5.5h3.326Z'></path>\",\"<path d='M6 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V9h-4a3 3 0 0 1-3-3V2H6Zm1 2h2v1.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5V4Zm.5 4a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm0 4a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm0 4a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Z'></path><path d='M20.054 6.063c.286.269.513.588.673.937H17a1 1 0 0 1-1-1V2.379c.214.119.414.264.595.435l3.46 3.25Z'></path>\",\"<path d='M7 2a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h18a3 3 0 0 0 3-3V11h-6a3 3 0 0 1-3-3V2H7Zm5 2h-2v1.5a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5V4Zm-2 4.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm.5 3.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm-.5 4.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm0 4a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Z'></path><path d='M27.121 8.707c.093.093.179.19.257.293H22a1 1 0 0 1-1-1V2.622c.102.078.2.164.293.257l5.828 5.828Z'></path>\"],[\"<path d='M3 4.25A.25.25 0 0 1 3.25 4h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 3 4.75v-.5ZM3.25 6a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 4 6.75v-.5A.25.25 0 0 0 3.75 6h-.5Z'></path><path d='M6.556 1H2.5A1.5 1.5 0 0 0 1 2.5v7A1.5 1.5 0 0 0 2.5 11h6A1.5 1.5 0 0 0 10 9.5V4.654a1.5 1.5 0 0 0-.387-1.005L7.67 1.495A1.5 1.5 0 0 0 6.556 1ZM2.5 2a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5V5H7.5A1.5 1.5 0 0 1 6 3.5V2H4v.75a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 3 2.75V2h-.5Zm4.5.246L8.583 4H7.5a.5.5 0 0 1-.5-.5V2.246Z'></path>\",\"<path d='M5.25 4a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 4.75v-.5A.25.25 0 0 0 5.75 4h-.5ZM5 6.25A.25.25 0 0 1 5.25 6h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 5 6.75v-.5ZM5.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 8.75v-.5A.25.25 0 0 0 5.75 8h-.5Z'></path><path d='M3.5 1A1.5 1.5 0 0 0 2 2.5v11A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V5.7a1.5 1.5 0 0 0-.471-1.09l-3.397-3.202A1.5 1.5 0 0 0 9.103 1H3.5ZM3 2.5a.5.5 0 0 1 .5-.5H5v.75c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 2.75V2h3v2.5A1.5 1.5 0 0 0 10.5 6H13v7.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-11ZM12.485 5 10 2.658V4.5a.5.5 0 0 0 .5.5h1.985Z'></path>\",\"<path d='M7.5 8a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm0 4a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm0 4a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Z'></path><path d='M3 5a3 3 0 0 1 3-3h8.541a3 3 0 0 1 2.054.814l3.46 3.25A3 3 0 0 1 21 8.25V19a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9h-2a3 3 0 0 1-3-3V4H9v1.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5V4H6Zm10 .999L18.13 7H17a1 1 0 0 1-1-1V4.999Z'></path>\",\"<path d='M10 8.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm.5 3.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm-.5 4.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm0 4a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Z'></path><path d='M4 5a3 3 0 0 1 3-3h12.172a3 3 0 0 1 2.12.879l5.83 5.828A3 3 0 0 1 28 10.828V27a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v22a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V11h-4a3 3 0 0 1-3-3V4h-7v1.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5V4H7Zm14 1.414L24.586 9H22a1 1 0 0 1-1-1V5.414Z'></path>\"]];","export default [[\"<path d='M2.5 1H6v2.5A1.5 1.5 0 0 0 7.5 5H10v4.5A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-7A1.5 1.5 0 0 1 2.5 1Zm3.191 4.038A.5.5 0 0 1 6 5.5v3a.5.5 0 0 1-.854.354L4.293 8H3.5a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h.793l.853-.854a.5.5 0 0 1 .545-.108Z'></path><path d='M9.613 3.649A1.5 1.5 0 0 1 9.85 4H7.5a.5.5 0 0 1-.5-.5V1.067a1.5 1.5 0 0 1 .669.428l1.944 2.154Z'></path>\",\"<path d='M8 7.707 6.854 8.854A.5.5 0 0 1 6.5 9H5v1h1.5a.5.5 0 0 1 .354.146L8 11.293V7.707Z'></path><path d='M9 1H3.5A1.5 1.5 0 0 0 2 2.5v11A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V6h-3.5A1.5 1.5 0 0 1 9 4.5V1Zm-.309 5.038A.5.5 0 0 1 9 6.5v6a.5.5 0 0 1-.854.354L6.293 11H4.5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h1.793l1.853-1.854a.5.5 0 0 1 .545-.108ZM10.5 10a.5.5 0 0 0 0 1 1.5 1.5 0 1 0 0-3 .5.5 0 0 0 0 1 .5.5 0 0 1 0 1Z'></path><path d='M13.826 5a1.5 1.5 0 0 0-.297-.39l-3.397-3.202a1.505 1.505 0 0 0-.132-.11V4.5a.5.5 0 0 0 .5.5h3.326Z'></path>\",\"<path d='m12 11.868-1.445.964A1 1 0 0 1 10 13H8v2h2a1 1 0 0 1 .555.168l1.445.963v-4.263Z'></path><path d='M3 5a3 3 0 0 1 3-3h8v4a3 3 0 0 0 3 3h4v10a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V5Zm10.472 4.118A1 1 0 0 1 14 10v8a1 1 0 0 1-1.555.832L9.697 17H7.5A1.5 1.5 0 0 1 6 15.5v-3A1.5 1.5 0 0 1 7.5 11h2.197l2.748-1.832a1 1 0 0 1 1.027-.05Zm2.986 1.993a1 1 0 0 0-.916 1.778c.16.083.458.38.458 1.12 0 .722-.302 1.024-.45 1.098a1 1 0 0 0 .9 1.786c.997-.502 1.55-1.624 1.55-2.884 0-1.277-.546-2.385-1.542-2.898Z'></path><path d='M20.727 7a2.999 2.999 0 0 0-.673-.937l-3.459-3.25A3.001 3.001 0 0 0 16 2.38V6a1 1 0 0 0 1 1h3.727Z'></path>\",\"<path d='M17 14.42 13.315 17H10v3h3.315L17 22.58v-8.16Z'></path><path d='M4 5a3 3 0 0 1 3-3h12v6a3 3 0 0 0 3 3h6v16a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V5Zm12.64 7.232c.994-.696 2.36.015 2.36 1.228v10.08c0 1.213-1.366 1.925-2.36 1.229L12.685 22H9.5A1.5 1.5 0 0 1 8 20.5v-4A1.5 1.5 0 0 1 9.5 15h3.185l3.955-2.768Zm4.818 2.879a1 1 0 0 0-.916 1.778c.295.152.646.333.94.651.269.29.518.728.518 1.46 0 .734-.249 1.172-.516 1.462-.292.317-.643.498-.934.645a1 1 0 0 0 .9 1.786l.023-.012c.303-.152.934-.47 1.481-1.064C23.541 21.181 24 20.267 24 19c0-1.268-.462-2.182-1.05-2.817-.537-.582-1.156-.9-1.454-1.053l-.038-.02Z'></path><path d='M27.378 9a2.99 2.99 0 0 0-.257-.293L21.293 2.88A3.01 3.01 0 0 0 21 2.622V8a1 1 0 0 0 1 1h5.378Z'></path>\"],[\"<path d='M5.691 5.038A.5.5 0 0 1 6 5.5v3a.5.5 0 0 1-.854.354L4.293 8H3.5a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h.793l.853-.854a.5.5 0 0 1 .545-.108Z'></path><path d='M6.556 1a1.5 1.5 0 0 1 1.113.495l1.944 2.154A1.5 1.5 0 0 1 10 4.654V9.5A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-7A1.5 1.5 0 0 1 2.5 1h4.056ZM2 2.5a.5.5 0 0 1 .5-.5H6v1.5A1.5 1.5 0 0 0 7.5 5H9v4.5a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-7ZM8.583 4 7 2.246V3.5a.5.5 0 0 0 .5.5h1.083Z'></path>\",\"<path d='M8.691 6.038A.5.5 0 0 1 9 6.5v6a.5.5 0 0 1-.854.354L6.293 11H4.5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h1.793l1.853-1.854a.5.5 0 0 1 .545-.108ZM8 7.708 6.854 8.853A.5.5 0 0 1 6.5 9H5v1h1.5a.5.5 0 0 1 .354.146L8 11.293V7.707ZM10.5 10a.5.5 0 0 0 0 1 1.5 1.5 0 1 0 0-3 .5.5 0 0 0 0 1 .5.5 0 0 1 0 1Z'></path><path d='M3.5 1A1.5 1.5 0 0 0 2 2.5v11A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V5.7a1.5 1.5 0 0 0-.471-1.09l-3.397-3.202A1.5 1.5 0 0 0 9.103 1H3.5ZM3 2.5a.5.5 0 0 1 .5-.5H9v2.5A1.5 1.5 0 0 0 10.5 6H13v7.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-11ZM12.485 5 10 2.658V4.5a.5.5 0 0 0 .5.5h1.985Z'></path>\",\"<path d='M15.11 11.542a1 1 0 0 1 1.348-.431c.995.513 1.542 1.62 1.542 2.897 0 1.26-.554 2.383-1.55 2.885a1 1 0 1 1-.9-1.786c.147-.074.45-.376.45-1.098 0-.74-.298-1.037-.458-1.12a1 1 0 0 1-.431-1.347ZM14 10a1 1 0 0 0-1.555-.832L9.697 11H7.5A1.5 1.5 0 0 0 6 12.5v3A1.5 1.5 0 0 0 7.5 17h2.197l2.748 1.832A1 1 0 0 0 14 18v-8Zm-3.445 2.832L12 11.868v4.263l-1.445-.963A1 1 0 0 0 10 15H8v-2h2a1 1 0 0 0 .555-.168Z'></path><path d='M6 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V8.25a3 3 0 0 0-.946-2.187l-3.459-3.25A3 3 0 0 0 14.541 2H6ZM5 5a1 1 0 0 1 1-1h8v2a3 3 0 0 0 3 3h2v10a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5Zm13.13 2L16 4.999V6a1 1 0 0 0 1 1h1.13Z'></path>\",\"<path d='M16.64 12.232c.994-.696 2.36.015 2.36 1.228v10.08c0 1.213-1.366 1.925-2.36 1.229L12.685 22H9.5A1.5 1.5 0 0 1 8 20.5v-4A1.5 1.5 0 0 1 9.5 15h3.185l3.955-2.768ZM17 14.42 13.315 17H10v3h3.315L17 22.58v-8.16Zm4.458.69a1 1 0 0 0-.916 1.779c.295.152.646.333.94.651.269.29.518.728.518 1.46 0 .734-.249 1.172-.516 1.462-.292.317-.643.498-.934.645a1 1 0 0 0 .9 1.786l.023-.012c.303-.152.934-.47 1.481-1.064C23.541 21.181 24 20.267 24 19c0-1.268-.462-2.182-1.05-2.817-.537-.582-1.156-.9-1.454-1.053l-.038-.02Z'></path><path d='M4 5a3 3 0 0 1 3-3h12.172a3 3 0 0 1 2.12.879l5.83 5.828A3 3 0 0 1 28 10.828V27a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v22a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V11h-4a3 3 0 0 1-3-3V4H7Zm14 1.414V8a1 1 0 0 0 1 1h2.586L21 5.414Z'></path>\"]];","export default [[\"M2.5 1A1.5 1.5 0 0 0 1 2.5v7A1.5 1.5 0 0 0 2.5 11h6A1.5 1.5 0 0 0 10 9.5V5H7.5A1.5 1.5 0 0 1 6 3.5V1H2.5Zm4.5.067V3.5a.5.5 0 0 0 .5.5h2.35a1.5 1.5 0 0 0-.237-.351L7.67 1.495A1.5 1.5 0 0 0 7 1.067Z\",\"M3.5 1A1.5 1.5 0 0 0 2 2.5v11A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V6h-3.5A1.5 1.5 0 0 1 9 4.5V1H3.5Zm6.5.298V4.5a.5.5 0 0 0 .5.5h3.326a1.5 1.5 0 0 0-.297-.39l-3.397-3.202a1.505 1.505 0 0 0-.132-.11Z\",\"M6 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V9h-4a3 3 0 0 1-3-3V2H6Zm10 .379V6a1 1 0 0 0 1 1h3.727a2.999 2.999 0 0 0-.673-.937l-3.459-3.25A3.001 3.001 0 0 0 16 2.38Z\",\"M7 2a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h18a3 3 0 0 0 3-3V11h-6a3 3 0 0 1-3-3V2H7Zm14 .622V8a1 1 0 0 0 1 1h5.378a2.99 2.99 0 0 0-.257-.293L21.293 2.88A3.01 3.01 0 0 0 21 2.622Z\"],[\"M2 2.5a.5.5 0 0 1 .5-.5H6v1.5A1.5 1.5 0 0 0 7.5 5H9v4.5a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-7ZM8.583 4 7 2.246V3.5a.5.5 0 0 0 .5.5h1.083ZM6.556 1a1.5 1.5 0 0 1 1.113.495l1.944 2.154A1.5 1.5 0 0 1 10 4.654V9.5A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-7A1.5 1.5 0 0 1 2.5 1h4.056Z\",\"M3 2.5a.5.5 0 0 1 .5-.5H9v2.5A1.5 1.5 0 0 0 10.5 6H13v7.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-11ZM12.485 5 10 2.658V4.5a.5.5 0 0 0 .5.5h1.985ZM3.5 1A1.5 1.5 0 0 0 2 2.5v11A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V5.7a1.5 1.5 0 0 0-.471-1.09l-3.397-3.202A1.5 1.5 0 0 0 9.103 1H3.5Z\",\"M5 5a1 1 0 0 1 1-1h8v2a3 3 0 0 0 3 3h2v10a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5Zm13.13 2L16 4.999V6a1 1 0 0 0 1 1h1.13ZM6 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V8.25a3 3 0 0 0-.946-2.187l-3.459-3.25A3 3 0 0 0 14.541 2H6Z\",\"<path d='M7 4a1 1 0 0 0-1 1v22a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V10.828a1 1 0 0 0-.293-.707L19.88 4.293A1 1 0 0 0 19.172 4H7ZM4 5a3 3 0 0 1 3-3h12.172a3 3 0 0 1 2.12.879l5.83 5.828A3 3 0 0 1 28 10.828V27a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V5Z'></path><path d='M21 3v5a1 1 0 0 0 1 1h5v2h-5a3 3 0 0 1-3-3V3h2Z'></path>\"]];","export default [[\"M11.854.854a.5.5 0 0 0-.708-.708L8.68 2.614l-1.01-1.12A1.5 1.5 0 0 0 7 1.068V3.5a.5.5 0 0 0 .325.468l-.73.729A1.498 1.498 0 0 1 6 3.5V1H2.5A1.5 1.5 0 0 0 1 2.5v7c0 .232.052.45.146.647l-1 1a.5.5 0 0 0 .708.707l11-11ZM3.122 11l6-6H10v4.5A1.5 1.5 0 0 1 8.5 11H3.122Z\",\"M3.5 1H9v3.5c0 .489.234.923.596 1.197l.729-.729A.5.5 0 0 1 10 4.5V1.298c.046.034.09.07.132.11l1.932 1.821 2.082-2.083a.5.5 0 0 1 .708.708l-13 13a.5.5 0 0 1-.708-.708L2 13.293V2.5A1.5 1.5 0 0 1 3.5 1Zm-.34 13.961A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V6h-1.878l-8.961 8.961ZM13.122 5h.704a1.5 1.5 0 0 0-.297-.39l-.008-.008-.399.398Z\",\"m2.707 22.707 20-20a1 1 0 0 0-1.414-1.414l-3.06 3.06-1.638-1.54A3.001 3.001 0 0 0 16 2.38V6c0 .17.042.33.117.47l-1.435 1.434A2.988 2.988 0 0 1 14 6V2H6a3 3 0 0 0-3 3v14c0 .184.016.363.048.538l-1.755 1.755a1 1 0 1 0 1.414 1.414ZM18 22H6.243l13-13H21v10a3 3 0 0 1-3 3Z\",\"M7 2h12v6c0 .978.468 1.846 1.192 2.394l1.457-1.457A1 1 0 0 1 21 8V2.622c.102.078.2.164.293.257L24.5 6.086l3.793-3.793a1 1 0 1 1 1.414 1.414l-26 26a1 1 0 0 1-1.414-1.414L4 26.586V5a3 3 0 0 1 3-3Zm-.679 27.923c.218.05.446.077.679.077h18a3 3 0 0 0 3-3V11h-2.756L6.321 29.923Z\"],[\"M11.854.854a.5.5 0 0 0-.708-.708L8.68 2.614l-1.01-1.12A1.5 1.5 0 0 0 6.556 1H2.5A1.5 1.5 0 0 0 1 2.5v7c0 .232.052.45.146.647l-1 1a.5.5 0 0 0 .708.707l11-11ZM2 9.293V2.5a.5.5 0 0 1 .5-.5H6v1.5c0 .489.234.923.596 1.197L2 9.293Zm5.325-5.325A.5.5 0 0 1 7 3.5V2.246l.971 1.076-.646.646ZM9 5.122l.928-.928a1.5 1.5 0 0 1 .072.46V9.5A1.5 1.5 0 0 1 8.5 11H3.122l1-1H8.5a.5.5 0 0 0 .5-.5V5.122Z\",\"m12.064 3.229 2.082-2.083a.5.5 0 0 1 .708.708l-13 13a.5.5 0 0 1-.708-.708L2 13.293V2.5A1.5 1.5 0 0 1 3.5 1h5.603a1.5 1.5 0 0 1 1.029.408l1.932 1.821ZM3 12.293l6.596-6.596A1.498 1.498 0 0 1 9 4.5V2H3.5a.5.5 0 0 0-.5.5v9.793Zm7.325-7.325A.5.5 0 0 1 10 4.5V2.658l1.357 1.278-1.032 1.032ZM12.122 6l1.399-1.398.008.007c.3.284.471.679.471 1.092V13.5a1.5 1.5 0 0 1-1.5 1.5h-9a1.5 1.5 0 0 1-.34-.039L4.123 14H12.5a.5.5 0 0 0 .5-.5V6h-.878Z\",\"m2.707 22.707 20-20a1 1 0 0 0-1.414-1.414l-3.06 3.06-1.638-1.54A3 3 0 0 0 14.541 2H6a3 3 0 0 0-3 3v14c0 .184.016.363.048.538l-1.755 1.755a1 1 0 1 0 1.414 1.414ZM5 17.586V5a1 1 0 0 1 1-1h8v2c0 .723.256 1.386.682 1.904L5 17.586ZM16.117 6.469l.701-.702L16 5v1c0 .17.042.33.117.47ZM19 9.243l1.87-1.87a3 3 0 0 1 .13.877V19a3 3 0 0 1-3 3H6.243l2-2H18a1 1 0 0 0 1-1V9.243Z\",\"m24.5 6.086 3.793-3.793a1 1 0 1 1 1.414 1.414l-26 26a1 1 0 0 1-1.414-1.414L4 26.586V5a3 3 0 0 1 3-3h12.172a3 3 0 0 1 2.12.879L24.5 6.086ZM6 24.586l14.192-14.192A2.995 2.995 0 0 1 19 8V4H7a1 1 0 0 0-1 1v19.586Zm15.65-15.65A1 1 0 0 1 21 8V5.414L23.086 7.5l-1.437 1.437ZM25.244 11l2.075-2.075A3 3 0 0 1 28 10.828V27a3 3 0 0 1-3 3H7c-.233 0-.46-.027-.679-.077L8.244 28H25a1 1 0 0 0 1-1V11h-.756Z\"]];","export default [[\"M0 2.5A1.5 1.5 0 0 1 1.5 1h9A1.5 1.5 0 0 1 12 2.5v6a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 0 8.5v-6Zm6 2c0 .519-.263.976-.663 1.245l.627 1.57a.5.5 0 0 1-.818.539L4.5 7.207l-.646.647a.5.5 0 0 1-.818-.54l.627-1.569A1.499 1.499 0 0 1 4.5 3 1.5 1.5 0 0 1 6 4.5ZM7.5 6a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2ZM7 4.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Z\",\"M1 4.5A1.5 1.5 0 0 1 2.5 3h11A1.5 1.5 0 0 1 15 4.5v7a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 11.5v-7Zm3.007 5.918.374-2.244a2 2 0 1 1 3.239 0l.373 2.244a.5.5 0 0 1-.77.498L6 10.101l-1.223.815a.5.5 0 0 1-.77-.498ZM10 6.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Z\",\"M1 6a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3V6Zm10 3c0 .715-.25 1.371-.667 1.887l.643 2.896a1 1 0 0 1-1.423 1.111L8 14.118l-1.553.776a1 1 0 0 1-1.423-1.11l.643-2.897A3 3 0 1 1 11 9Zm3-1a1 1 0 1 0 0 2h5a1 1 0 1 0 0-2h-5Zm-1 5a1 1 0 0 1 1-1h5a1 1 0 1 1 0 2h-5a1 1 0 0 1-1-1Z\",\"M2 10a3 3 0 0 1 3-3h22a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V10Zm8.5 0a3.5 3.5 0 0 0-2.646 5.791l-.84 5.045a1 1 0 0 0 1.61.945l1.876-1.5 1.875 1.5a1 1 0 0 0 1.611-.945l-.84-5.045A3.5 3.5 0 0 0 10.5 10Zm6.5 2a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2h-7a1 1 0 0 1-1-1Zm1 3a1 1 0 1 0 0 2h7a1 1 0 1 0 0-2h-7Zm-1 5a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2h-7a1 1 0 0 1-1-1Z\"],[\"<path d='M5.337 5.745A1.499 1.499 0 0 0 4.5 3a1.5 1.5 0 0 0-.837 2.745l-.627 1.57a.5.5 0 0 0 .818.539l.646-.647.646.647a.5.5 0 0 0 .818-.54l-.627-1.569ZM7 6.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5ZM7.5 4a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Z'></path><path d='M0 2.5A1.5 1.5 0 0 1 1.5 1h9A1.5 1.5 0 0 1 12 2.5v6a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 0 8.5v-6ZM1.5 2a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-6a.5.5 0 0 0-.5-.5h-9Z'></path>\",\"<path d='M10 6.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5ZM4.38 8.174l-.373 2.244a.5.5 0 0 0 .77.498L6 10.101l1.223.815a.5.5 0 0 0 .77-.498L7.62 8.174a2 2 0 1 0-3.239 0Z'></path><path d='M1 4.5A1.5 1.5 0 0 1 2.5 3h11A1.5 1.5 0 0 1 15 4.5v7a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 11.5v-7ZM2.5 4a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-11Z'></path>\",\"<path d='M11 9c0 .715-.25 1.371-.667 1.887l.643 2.896a1 1 0 0 1-1.423 1.111L8 14.118l-1.553.776a1 1 0 0 1-1.423-1.11l.643-2.897A3 3 0 1 1 11 9Zm2 0a1 1 0 0 1 1-1h5a1 1 0 1 1 0 2h-5a1 1 0 0 1-1-1Zm1 3a1 1 0 1 0 0 2h5a1 1 0 1 0 0-2h-5Z'></path><path d='M4 3a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H4ZM3 6a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V6Z'></path>\",\"<path d='M14 13.5c0 .876-.322 1.677-.854 2.291l.84 5.045a1 1 0 0 1-1.61.945l-1.876-1.5-1.875 1.5a1 1 0 0 1-1.611-.945l.84-5.044A3.5 3.5 0 1 1 14 13.5Zm4-2.5a1 1 0 1 0 0 2h7a1 1 0 1 0 0-2h-7Zm-1 5a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2h-7a1 1 0 0 1-1-1Zm1 3a1 1 0 1 0 0 2h7a1 1 0 1 0 0-2h-7Z'></path><path d='M5 7a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3V10a3 3 0 0 0-3-3H5Zm-1 3a1 1 0 0 1 1-1h22a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V10Z'></path>\"]];","export default [[\"<path d='M1.5 0H5v2.5A1.5 1.5 0 0 0 6.5 4H8a3.985 3.985 0 0 0-2.686 1.036.498.498 0 0 0-.168.11L3.5 6.793l-.646-.647a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0l.157-.158A3.982 3.982 0 0 0 4.535 10H1.5A1.5 1.5 0 0 1 0 8.5v-7A1.5 1.5 0 0 1 1.5 0Z'></path><path d='M8.613 2.649A1.5 1.5 0 0 1 8.85 3H6.5a.5.5 0 0 1-.5-.5V.067a1.5 1.5 0 0 1 .669.428l1.944 2.154Zm1.832 7.089a3 3 0 1 0-.707.707l1.409 1.408a.5.5 0 1 0 .707-.707l-1.409-1.408ZM6 8a2 2 0 1 1 4 0 2 2 0 0 1-4 0Z'></path>\",\"<path d='M2.5 1H8v3.5A1.5 1.5 0 0 0 9.5 6h1a4.5 4.5 0 0 0-4.495 4.288L4.5 11.793l-.646-.647a.5.5 0 0 0-.708.708l1 1a.5.5 0 0 0 .708 0l1.276-1.277A4.502 4.502 0 0 0 10.5 15h-8A1.5 1.5 0 0 1 1 13.5v-11A1.5 1.5 0 0 1 2.5 1Zm4.354 5.146a.5.5 0 0 0-.708 0L4.5 7.793l-.646-.647a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0l2-2a.5.5 0 0 0 0-.708Z'></path><path d='M12.529 4.61a1.5 1.5 0 0 1 .297.39H9.5a.5.5 0 0 1-.5-.5V1.298c.046.034.09.07.132.11l3.397 3.201Zm.771 7.99c.019.014.037.03.053.046l2.5 2.5a.5.5 0 0 1-.707.707l-2.5-2.5a.504.504 0 0 1-.046-.053 3.5 3.5 0 1 1 .7-.7ZM8 10.5a2.5 2.5 0 1 0 5 0 2.5 2.5 0 0 0-5 0Z'></path>\",\"<path d='M4 1a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h6.4a7.485 7.485 0 0 1-2.311-4.344l-.82.984a1 1 0 0 1-1.476.067l-1.5-1.5a1 1 0 1 1 1.414-1.414l.726.726 1.799-2.16a1.01 1.01 0 0 1 .113-.115A7.503 7.503 0 0 1 15.5 8H15a3 3 0 0 1-3-3V1H4Zm5.768 8.64-2.5 3a1 1 0 0 1-1.475.067l-1.5-1.5a1 1 0 0 1 1.414-1.414l.726.726 1.799-2.16A1 1 0 1 1 9.768 9.64Z'></path><path d='M18.054 5.063c.286.269.513.588.673.937H15a1 1 0 0 1-1-1V1.379c.214.119.414.264.595.435l3.46 3.25Zm1.978 13.554a5.5 5.5 0 1 0-1.414 1.414l3.675 3.676a1 1 0 0 0 1.414-1.414l-3.675-3.675ZM12 15.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z'></path>\",\"<path d='M5 2a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h18c.767 0 1.466-.288 1.997-.76l-.993-.993a8.501 8.501 0 0 1-11.96-6.876l-2.337 2.336a1 1 0 0 1-1.414 0l-2-2a1 1 0 1 1 1.414-1.414L9 21.586l3.288-3.288A8.504 8.504 0 0 1 26 14.019V11h-6a3 3 0 0 1-3-3V2H5Zm8.707 11.707-4 4a1 1 0 0 1-1.414 0l-2-2a1 1 0 1 1 1.414-1.414L9 15.586l3.293-3.293a1 1 0 0 1 1.414 1.414Z'></path><path d='M25.121 8.707c.093.093.179.19.257.293H20a1 1 0 0 1-1-1V2.622c.102.078.2.164.293.257l5.828 5.828Zm.628 15.628a6.5 6.5 0 1 0-1.414 1.414l4.958 4.958a1 1 0 0 0 1.414-1.414l-4.958-4.958ZM16 20.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0Z'></path>\"],[\"<path d='M1 1.5a.5.5 0 0 1 .5-.5H5v1.5A1.5 1.5 0 0 0 6.5 4H8c.345 0 .68.044 1 .126v-.472a1.5 1.5 0 0 0-.387-1.005L6.67.495A1.5 1.5 0 0 0 5.556 0H1.5A1.5 1.5 0 0 0 0 1.5v7A1.5 1.5 0 0 0 1.5 10h3.035a3.975 3.975 0 0 1-.409-1H1.5a.5.5 0 0 1-.5-.5v-7ZM7.583 3H6.5a.5.5 0 0 1-.5-.5V1.246L7.583 3Z'></path><path d='M5.314 5.036a3.99 3.99 0 0 0-1.303 2.66l-.157.158a.5.5 0 0 1-.708 0l-1-1a.5.5 0 1 1 .708-.708l.646.647 1.646-1.647a.498.498 0 0 1 .168-.11Zm5.131 4.702a3 3 0 1 0-.707.707l1.409 1.408a.5.5 0 1 0 .707-.707l-1.409-1.408ZM6 8a2 2 0 1 1 4 0 2 2 0 0 1-4 0Z'></path>\",\"<path d='M2 2.5a.5.5 0 0 1 .5-.5H8v2.5A1.5 1.5 0 0 0 9.5 6H12v.256c.356.126.691.295 1 .502V5.7a1.5 1.5 0 0 0-.471-1.092l-3.397-3.2A1.5 1.5 0 0 0 8.103 1H2.5A1.5 1.5 0 0 0 1 2.5v11A1.5 1.5 0 0 0 2.5 15h8a4.481 4.481 0 0 1-2.829-1H2.5a.5.5 0 0 1-.5-.5v-11ZM11.485 5H9.5a.5.5 0 0 1-.5-.5V2.658L11.485 5Z'></path><path d='m4.5 11.793 1.505-1.505a4.57 4.57 0 0 0 .125 1.29l-1.276 1.276a.5.5 0 0 1-.708 0l-1-1a.5.5 0 0 1 .708-.708l.646.647Zm2.354-4.939a.5.5 0 1 0-.708-.708L4.5 7.793l-.646-.647a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0l2-2ZM13.3 12.6c.019.014.037.03.053.046l2.5 2.5a.5.5 0 0 1-.707.707l-2.5-2.5a.504.504 0 0 1-.046-.053 3.5 3.5 0 1 1 .7-.7ZM8 10.5a2.5 2.5 0 1 0 5 0 2.5 2.5 0 0 0-5 0Z'></path>\",\"<path d='M4 3a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h4.865a7.528 7.528 0 0 0 1.536 2H4a3 3 0 0 1-3-3V4a3 3 0 0 1 3-3h8.541a3 3 0 0 1 2.054.814l3.46 3.25A3 3 0 0 1 19 7.25v1.615a7.448 7.448 0 0 0-2-.715V8h-2a3 3 0 0 1-3-3V3H4Zm10 .999V5a1 1 0 0 0 1 1h1.13L14 3.999Z'></path><path d='M8.345 13.244a1.01 1.01 0 0 0-.113.116l-1.8 2.159-.725-.726a1 1 0 0 0-1.414 1.414l1.5 1.5a1 1 0 0 0 1.475-.067l.82-.984a7.556 7.556 0 0 1 .257-3.412ZM9.768 9.64a1 1 0 1 0-1.536-1.28l-1.8 2.159-.725-.726a1 1 0 0 0-1.414 1.414l1.5 1.5a1 1 0 0 0 1.475-.067l2.5-3Zm10.264 8.977 3.675 3.676a1 1 0 0 1-1.414 1.414l-3.675-3.675a5.5 5.5 0 1 1 1.414-1.414ZM12 15.5a3.5 3.5 0 1 0 7 0 3.5 3.5 0 0 0-7 0Z'></path>\",\"<path d='M5 4a1 1 0 0 0-1 1v22a1 1 0 0 0 1 1h11.496c1.193.638 2.556 1 4.004 1a8.47 8.47 0 0 0 3.504-.753l.992.992A2.99 2.99 0 0 1 23 30H5a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h12.172a3 3 0 0 1 2.12.879l5.83 5.828A3 3 0 0 1 26 10.828v3.191a8.505 8.505 0 0 0-2-1.267V11h-4a3 3 0 0 1-3-3V4H5Zm14 1.414V8a1 1 0 0 0 1 1h2.586L19 5.414Z'></path><path d='M12.288 18.298 9 21.586l-1.293-1.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l2.337-2.337a8.598 8.598 0 0 1 .244-3.072Zm1.419-4.591a1 1 0 0 0-1.414-1.414L9 15.586l-1.293-1.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4Zm12.042 10.628a6.5 6.5 0 1 0-1.414 1.414l4.958 4.958a1 1 0 0 0 1.414-1.414l-4.958-4.958ZM16 20.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0Z'></path>\"]];","export default [[\"<path d='M6 1H2.5A1.5 1.5 0 0 0 1 2.5v7A1.5 1.5 0 0 0 2.5 11h6A1.5 1.5 0 0 0 10 9.5V5H7.5A1.5 1.5 0 0 1 6 3.5V1ZM4.854 6.146a.5.5 0 0 1 0 .708l-.647.646.647.646a.5.5 0 1 1-.708.708l-1-1a.5.5 0 0 1 0-.708l1-1a.5.5 0 0 1 .708 0Zm1.292.708a.5.5 0 1 1 .708-.708l1 1a.5.5 0 0 1 0 .708l-1 1a.5.5 0 1 1-.708-.708l.647-.646-.647-.646Z'></path><path d='M9.85 4H7.5a.5.5 0 0 1-.5-.5V1.067a1.5 1.5 0 0 1 .669.428l1.944 2.154A1.5 1.5 0 0 1 9.85 4Z'></path>\",\"<path d='M2 2.5A1.5 1.5 0 0 1 3.5 1H8v3.5A1.5 1.5 0 0 0 9.5 6H13v7.5a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 2 13.5v-11Zm3.854 5.646a.5.5 0 0 1 0 .708l-.647.646.647.646a.5.5 0 0 1-.708.708l-1-1a.5.5 0 0 1 0-.708l1-1a.5.5 0 0 1 .708 0Zm3.292 0a.5.5 0 0 0 0 .708l.647.646-.647.646a.5.5 0 0 0 .708.708l1-1a.5.5 0 0 0 0-.708l-1-1a.5.5 0 0 0-.708 0Zm-.422-1.093a.5.5 0 0 1 .223.67l-2 4a.5.5 0 1 1-.894-.447l2-4a.5.5 0 0 1 .67-.223Z'></path><path d='M12.826 5a1.5 1.5 0 0 0-.297-.39L9.132 1.407A1.502 1.502 0 0 0 9 1.298V4.5a.5.5 0 0 0 .5.5h3.326Z'></path>\",\"<path d='M14 2H6a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V9h-4a3 3 0 0 1-3-3V2ZM9.207 12.707a1 1 0 1 0-1.414-1.414l-1.5 1.5a1 1 0 0 0 0 1.414l1.5 1.5a1 1 0 0 0 1.414-1.414l-.793-.793.793-.793Zm5.586-1.414a1 1 0 0 0 0 1.414l.793.793-.793.793a1 1 0 0 0 1.414 1.414l1.5-1.5a1 1 0 0 0 0-1.414l-1.5-1.5a1 1 0 0 0-1.414 0Zm-.864.078a1 1 0 0 0-1.857-.742l-2 5a1 1 0 0 0 1.857.742l2-5Z'></path><path d='M20.727 7a2.999 2.999 0 0 0-.673-.937l-3.459-3.25A3.001 3.001 0 0 0 16 2.38V6a1 1 0 0 0 1 1h3.727Z'></path>\",\"<path d='M19 2H7a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h18a3 3 0 0 0 3-3V11h-6a3 3 0 0 1-3-3V2Zm-6.793 14.707a1 1 0 0 0-1.414-1.414l-2.5 2.5a1 1 0 0 0 0 1.414l2.5 2.5a1 1 0 0 0 1.414-1.414L10.414 18.5l1.793-1.793Zm7.586-1.414a1 1 0 0 0 0 1.414l1.793 1.793-1.793 1.793a1 1 0 0 0 1.414 1.414l2.5-2.5a1 1 0 0 0 0-1.414l-2.5-2.5a1 1 0 0 0-1.414 0Zm-1.344-.977a1 1 0 0 0-1.898-.632l-3 9a1 1 0 0 0 1.898.632l3-9Z'></path><path d='M27.378 9a2.99 2.99 0 0 0-.257-.293L21.293 2.88A3.01 3.01 0 0 0 21 2.622V8a1 1 0 0 0 1 1h5.378Z'></path>\"],[\"<path d='M4.854 6.146a.5.5 0 0 1 0 .708l-.647.646.647.646a.5.5 0 1 1-.708.708l-1-1a.5.5 0 0 1 0-.708l1-1a.5.5 0 0 1 .708 0Zm1.292.708a.5.5 0 1 1 .708-.708l1 1a.5.5 0 0 1 0 .708l-1 1a.5.5 0 1 1-.708-.708l.647-.646-.647-.646Z'></path><path d='M6.556 1a1.5 1.5 0 0 1 1.113.495l1.944 2.154A1.5 1.5 0 0 1 10 4.654V9.5A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-7A1.5 1.5 0 0 1 2.5 1h4.056ZM2 2.5a.5.5 0 0 1 .5-.5H6v1.5A1.5 1.5 0 0 0 7.5 5H9v4.5a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-7ZM8.583 4 7 2.246V3.5a.5.5 0 0 0 .5.5h1.083Z'></path>\",\"<path d='M5.854 8.854a.5.5 0 1 0-.708-.708l-1 1a.5.5 0 0 0 0 .708l1 1a.5.5 0 0 0 .708-.708L5.207 9.5l.647-.646Zm3.292-.708a.5.5 0 0 0 0 .708l.647.646-.647.646a.5.5 0 0 0 .708.708l1-1a.5.5 0 0 0 0-.708l-1-1a.5.5 0 0 0-.708 0Zm-.199-.422a.5.5 0 1 0-.894-.448l-2 4a.5.5 0 1 0 .894.448l2-4Z'></path><path d='M2 2.5A1.5 1.5 0 0 1 3.5 1h4.603a1.5 1.5 0 0 1 1.029.408l3.397 3.201c.3.284.471.679.471 1.092V13.5a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 2 13.5v-11ZM3.5 2a.5.5 0 0 0-.5.5v11a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5V6H9.5A1.5 1.5 0 0 1 8 4.5V2H3.5Zm5.5.658L11.485 5H9.5a.5.5 0 0 1-.5-.5V2.658Z'></path>\",\"<path d='M9.207 12.707a1 1 0 1 0-1.414-1.414l-1.5 1.5a1 1 0 0 0 0 1.414l1.5 1.5a1 1 0 0 0 1.414-1.414l-.793-.793.793-.793Zm5.586-1.414a1 1 0 0 0 0 1.414l.793.793-.793.793a1 1 0 0 0 1.414 1.414l1.5-1.5a1 1 0 0 0 0-1.414l-1.5-1.5a1 1 0 0 0-1.414 0Zm-.865.078a1 1 0 0 0-1.857-.742l-2 5a1 1 0 0 0 1.857.742l2-5Z'></path><path d='M3 5a3 3 0 0 1 3-3h8.541a3 3 0 0 1 2.054.814l3.46 3.25A3 3 0 0 1 21 8.25V19a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9h-2a3 3 0 0 1-3-3V4H6Zm10 .999L18.13 7H17a1 1 0 0 1-1-1V4.999Z'></path>\",\"<path d='M18.449 14.316a1 1 0 1 0-1.898-.632l-3 9a1 1 0 0 0 1.898.632l3-9Zm-6.242.977a1 1 0 0 1 0 1.414L10.414 18.5l1.793 1.793a1 1 0 0 1-1.414 1.414l-2.5-2.5a1 1 0 0 1 0-1.414l2.5-2.5a1 1 0 0 1 1.414 0Zm7.586 0a1 1 0 0 0 0 1.414l1.793 1.793-1.793 1.793a1 1 0 0 0 1.414 1.414l2.5-2.5a1 1 0 0 0 0-1.414l-2.5-2.5a1 1 0 0 0-1.414 0Z'></path><path d='M4 5a3 3 0 0 1 3-3h12.172a3 3 0 0 1 2.12.879l5.83 5.828A3 3 0 0 1 28 10.828V27a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v22a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V11h-4a3 3 0 0 1-3-3V4H7Zm14 1.414V8a1 1 0 0 0 1 1h2.586L21 5.414Z'></path>\"]];","export default [[\"<path d='M7 8H6V7h1v1ZM4 7h1v1H4V7Z'></path><path d='M2.5 1H6v2.5A1.5 1.5 0 0 0 7.5 5H10v4.5A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-7A1.5 1.5 0 0 1 2.5 1ZM3 7a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7Z'></path><path d='M9.613 3.649A1.5 1.5 0 0 1 9.85 4H7.5a.5.5 0 0 1-.5-.5V1.067a1.5 1.5 0 0 1 .669.428l1.944 2.154Z'></path>\",\"<path d='M9 9H7v1h2V9ZM6 9v1H5V9h1Zm-1 3v-1h1v1H5Zm4-1H7v1h2v-1Zm1 1v-1h1v1h-1Zm1-3v1h-1V9h1Z'></path><path d='M3.5 1H9v3.5A1.5 1.5 0 0 0 10.5 6H14v7.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 13.5v-11A1.5 1.5 0 0 1 3.5 1ZM4 9a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V9Z'></path><path d='M13.529 4.61a1.5 1.5 0 0 1 .297.39H10.5a.5.5 0 0 1-.5-.5V1.298c.046.034.09.07.132.11l3.397 3.201Z'></path>\",\"<path d='M13 13v-1h2v1h-2Zm0 3v-1h2v1h-2Zm-2-4v1H9v-1h2Zm0 3H9v1h2v-1Z'></path><path d='M6 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V9h-4a3 3 0 0 1-3-3V2H6Zm3 8a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2H9Z'></path><path d='M20.054 6.063c.286.269.513.588.673.937H17a1 1 0 0 1-1-1V2.379c.214.119.414.264.595.435l3.46 3.25Z'></path>\",\"<path d='M22 22v2h-2v-2h2Zm-2-4v2h2v-2h-2Zm-6 2h4v-2h-4v2Zm4 2h-4v2h4v-2Zm-6-4v2h-2v-2h2Zm0 4h-2v2h2v-2Zm10-8v2h-2v-2h2Zm-4 2v-2h-4v2h4Zm-6 0v-2h-2v2h2Z'></path><path d='M7 2a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h18a3 3 0 0 0 3-3V11h-6a3 3 0 0 1-3-3V2H7Zm3 10a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V14a2 2 0 0 0-2-2H10Z'></path><path d='M27.121 8.707c.093.093.179.19.257.293H22a1 1 0 0 1-1-1V2.622c.102.078.2.164.293.257l5.828 5.828Z'></path>\"],[\"<path d='M3 7a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7Zm3 1h1V7H6v1ZM5 7H4v1h1V7Z'></path><path d='M6.556 1a1.5 1.5 0 0 1 1.113.495l1.944 2.154A1.5 1.5 0 0 1 10 4.654V9.5A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-7A1.5 1.5 0 0 1 2.5 1h4.056ZM2 2.5a.5.5 0 0 1 .5-.5H6v1.5A1.5 1.5 0 0 0 7.5 5H9v4.5a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-7ZM8.583 4 7 2.246V3.5a.5.5 0 0 0 .5.5h1.083Z'></path>\",\"<path d='M4 9a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V9Zm2 0H5v1h1V9Zm0 2H5v1h1v-1Zm1 0h2v1H7v-1Zm2-1H7V9h2v1Zm1 1v1h1v-1h-1Zm1-1V9h-1v1h1Z'></path><path d='M3.5 1A1.5 1.5 0 0 0 2 2.5v11A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V5.7a1.5 1.5 0 0 0-.471-1.09l-3.397-3.202A1.5 1.5 0 0 0 9.103 1H3.5ZM3 2.5a.5.5 0 0 1 .5-.5H9v2.5A1.5 1.5 0 0 0 10.5 6H13v7.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-11ZM12.485 5 10 2.658V4.5a.5.5 0 0 0 .5.5h1.985Z'></path>\",\"<path d='M9 10a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2H9Zm0 2h2v1H9v-1Zm0 3v1h2v-1H9Zm4 0v1h2v-1h-2Zm2-2v-1h-2v1h2Z'></path><path d='M3 5a3 3 0 0 1 3-3h8.541a3 3 0 0 1 2.054.814l3.46 3.25A3 3 0 0 1 21 8.25V19a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9h-2a3 3 0 0 1-3-3V4H6Zm10 .999L18.13 7H17a1 1 0 0 1-1-1V4.999Z'></path>\",\"<path d='M10 12a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V14a2 2 0 0 0-2-2H10Zm12 8v-2h-2v2h2Zm0 2h-2v2h2v-2Zm-4-2v-2h-4v2h4Zm-4 2h4v2h-4v-2Zm-2-2v-2h-2v2h2Zm-2 2h2v2h-2v-2Zm12-8v2h-2v-2h2Zm-4 0v2h-4v-2h4Zm-6 0v2h-2v-2h2Z'></path><path d='M4 5a3 3 0 0 1 3-3h12.172a3 3 0 0 1 2.12.879l5.83 5.828A3 3 0 0 1 28 10.828V27a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v22a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V11h-4a3 3 0 0 1-3-3V4H7Zm14 1.414L24.586 9H22a1 1 0 0 1-1-1V5.414Z'></path>\"]];","export default [[\"<path d='M6.932 8 5.5 6.281 4.068 8h2.864Z'></path><path d='M6 1H2.5A1.5 1.5 0 0 0 1 2.5v7A1.5 1.5 0 0 0 2.5 11h6A1.5 1.5 0 0 0 10 9.5V5H7.5A1.5 1.5 0 0 1 6 3.5V1ZM2.547 8.712a.5.5 0 0 1 .069-.532l2.5-3a.5.5 0 0 1 .768 0l2.5 3A.5.5 0 0 1 8 9H3a.5.5 0 0 1-.453-.288ZM4 5a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z'></path><path d='M9.85 4a1.5 1.5 0 0 0-.237-.351L7.67 1.495A1.5 1.5 0 0 0 7 1.067V3.5a.5.5 0 0 0 .5.5h2.35Z'></path>\",\"<path d='M6.993 11.97h3.76L9.447 8.71l-1.293 2.54a.5.5 0 0 1-.838.085l-.799-1.008-1.2 1.644h1.677Z'></path><path d='M9 1H3.5A1.5 1.5 0 0 0 2 2.5v11A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V6h-3.5A1.5 1.5 0 0 1 9 4.5V1Zm.522 6a.5.5 0 0 1 .442.314l1.993 4.97a.5.5 0 0 1-.464.687H4.332a.5.5 0 0 1-.404-.796l2.168-2.97a.5.5 0 0 1 .796-.016l.723.913 1.44-2.829a.5.5 0 0 1 .467-.272ZM6 8a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z'></path><path d='M13.826 5a1.5 1.5 0 0 0-.297-.39l-3.397-3.202a1.505 1.505 0 0 0-.132-.11V4.5a.5.5 0 0 0 .5.5h3.326Z'></path>\",\"<path d='M15.381 16.003H8.706l1.007-1.517.837.705a1 1 0 0 0 1.418-.132l1.827-2.231 1.586 3.175Z'></path><path d='M3 5a3 3 0 0 1 3-3h8v4a3 3 0 0 0 3 3h4v10a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V5Zm7 3.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0Zm4.894 2.053a1 1 0 0 0-1.668-.187l-2.163 2.642-.92-.773a1 1 0 0 0-1.476.212l-2.66 4.002a1 1 0 0 0 .834 1.553h10.158a1 1 0 0 0 .895-1.446l-3-6.003Z'></path><path d='M20.727 7a2.999 2.999 0 0 0-.673-.937l-3.459-3.25A3.001 3.001 0 0 0 16 2.38V6a1 1 0 0 0 1 1h3.727Z'></path>\",\"<path d='m16.573 22.159 2.513-4.923L22.397 24H9.961l3.105-4.28 1.799 2.559a1 1 0 0 0 1.708-.12Z'></path><path d='M4 5a3 3 0 0 1 3-3h12v6a3 3 0 0 0 3 3h6v16a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V5Zm10 9a2 2 0 1 0-4 0 2 2 0 0 0 4 0Zm6.003.56a1 1 0 0 0-1.788-.015l-2.668 5.226-1.65-2.346a1 1 0 0 0-1.627-.012l-5.08 7A1 1 0 0 0 8 26h16a1 1 0 0 0 .898-1.44l-4.895-10Z'></path><path d='M27.378 9a2.99 2.99 0 0 0-.257-.293L21.293 2.88A3.01 3.01 0 0 0 21 2.622V8a1 1 0 0 0 1 1h5.378Z'></path>\"],[\"<path d='M2.547 8.712a.5.5 0 0 1 .069-.532l2.5-3a.5.5 0 0 1 .768 0l2.5 3A.5.5 0 0 1 8 9H3a.5.5 0 0 1-.453-.288ZM6.932 8 5.5 6.281 4.068 8h2.864ZM4 5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M6.556 1a1.5 1.5 0 0 1 1.113.495l1.944 2.154A1.5 1.5 0 0 1 10 4.654V9.5A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-7A1.5 1.5 0 0 1 2.5 1h4.056ZM2 2.5v7a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5V5H7.5A1.5 1.5 0 0 1 6 3.5V2H2.5a.5.5 0 0 0-.5.5ZM8.583 4 7 2.246V3.5a.5.5 0 0 0 .5.5h1.083Z'></path>\",\"<path d='M7 7a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm2.964.314a.5.5 0 0 0-.91-.04l-1.44 2.828-.722-.913a.5.5 0 0 0-.796.016l-2.168 2.97a.5.5 0 0 0 .404.795h7.161a.5.5 0 0 0 .464-.685L9.964 7.314Zm.79 4.657H5.316l1.2-1.645.8 1.008a.5.5 0 0 0 .837-.084l1.293-2.541 1.308 3.262Z'></path><path d='M3.5 1A1.5 1.5 0 0 0 2 2.5v11A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V5.7a1.5 1.5 0 0 0-.471-1.09l-3.397-3.202A1.5 1.5 0 0 0 9.103 1H3.5ZM3 2.5a.5.5 0 0 1 .5-.5H9v2.5A1.5 1.5 0 0 0 10.5 6H13v7.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-11ZM12.485 5H10.5a.5.5 0 0 1-.5-.5V2.658L12.485 5Z'></path>\",\"<path d='M10 8.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm4.894 2.053a1 1 0 0 0-1.668-.187l-2.163 2.642-.92-.773a1 1 0 0 0-1.476.212l-2.66 4.002a1 1 0 0 0 .834 1.553h10.158a1 1 0 0 0 .895-1.446l-3-6.003Zm.487 5.45H8.706l1.007-1.517.837.705a1 1 0 0 0 1.418-.132l1.827-2.231 1.586 3.175Z'></path><path d='M6 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V8.25a3 3 0 0 0-.946-2.187l-3.459-3.25A3 3 0 0 0 14.541 2H6ZM5 5a1 1 0 0 1 1-1h8v2a3 3 0 0 0 3 3h2v10a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5Zm13.13 2H17a1 1 0 0 1-1-1V4.999L18.13 7Z'></path>\",\"<path d='M14 14a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm6.003.56a1 1 0 0 0-1.788-.015l-2.668 5.226-1.65-2.346a1 1 0 0 0-1.627-.012l-5.08 7A1 1 0 0 0 8 26h16a1 1 0 0 0 .898-1.44l-4.895-10Zm-3.43 7.598 2.513-4.922L22.397 24H9.961l3.105-4.28 1.799 2.559a1 1 0 0 0 1.708-.12Z'></path><path d='M7 2a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h18a3 3 0 0 0 3-3V10.828a3 3 0 0 0-.879-2.12l-5.828-5.83A3 3 0 0 0 19.172 2H7ZM6 5a1 1 0 0 1 1-1h12v4a3 3 0 0 0 3 3h4v16a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5Zm18.586 4H22a1 1 0 0 1-1-1V5.414L24.586 9Z'></path>\"]];","export default [[\"<path d='M2.5 1H6v2.5A1.5 1.5 0 0 0 7.5 5H10v4.5A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-7A1.5 1.5 0 0 1 2.5 1Zm1.646 5.146a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 1 1 .708.708l-.647.646.647.646a.5.5 0 1 1-.708.708L5.5 8.207l-.646.647a.5.5 0 1 1-.708-.708l.647-.646-.647-.646a.5.5 0 0 1 0-.708Z'></path><path d='M9.613 3.649A1.5 1.5 0 0 1 9.85 4H7.5a.5.5 0 0 1-.5-.5V1.067a1.5 1.5 0 0 1 .669.428l1.944 2.154Z'></path>\",\"<path d='M3.5 1H9v3.5A1.5 1.5 0 0 0 10.5 6H14v7.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 13.5v-11A1.5 1.5 0 0 1 3.5 1Zm7.354 6.854a.5.5 0 0 0-.708-.708L8 9.293 5.854 7.146a.5.5 0 1 0-.708.708L7.293 10l-2.147 2.146a.5.5 0 0 0 .708.708L8 10.707l2.146 2.147a.5.5 0 0 0 .708-.708L8.707 10l2.147-2.146Z'></path><path d='M10.5 5h3.326a1.5 1.5 0 0 0-.297-.39l-3.397-3.202a1.505 1.505 0 0 0-.132-.11V4.5a.5.5 0 0 0 .5.5Z'></path>\",\"<path d='M6 2h8v4a3 3 0 0 0 3 3h4v10a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3Zm2.293 8.293a1 1 0 0 1 1.414 0L12 12.586l2.293-2.293a1 1 0 1 1 1.414 1.414L13.414 14l2.293 2.293a1 1 0 0 1-1.414 1.414L12 15.414l-2.293 2.293a1 1 0 0 1-1.414-1.414L10.586 14l-2.293-2.293a1 1 0 0 1 0-1.414Z'></path><path d='M20.054 6.063c.286.269.513.588.673.937H17a1 1 0 0 1-1-1V2.379c.214.119.414.264.595.435l3.46 3.25Z'></path>\",\"<path d='M7 2h12v6a3 3 0 0 0 3 3h6v16a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3Zm13.707 12.293a1 1 0 0 0-1.414 0L16 17.586l-3.293-3.293a1 1 0 0 0-1.414 1.414L14.586 19l-3.293 3.293a1 1 0 0 0 1.414 1.414L16 20.414l3.293 3.293a1 1 0 0 0 1.414-1.414L17.414 19l3.293-3.293a1 1 0 0 0 0-1.414Z'></path><path d='M22 9h5.378a2.99 2.99 0 0 0-.257-.293L21.293 2.88A3.01 3.01 0 0 0 21 2.622V8a1 1 0 0 0 1 1Z'></path>\"],[\"<path d='M4.146 6.146a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 1 1 .708.708l-.647.646.647.646a.5.5 0 1 1-.708.708L5.5 8.207l-.646.647a.5.5 0 1 1-.708-.708l.647-.646-.647-.646a.5.5 0 0 1 0-.708Z'></path><path d='M6.556 1a1.5 1.5 0 0 1 1.113.495l1.944 2.154A1.5 1.5 0 0 1 10 4.654V9.5A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-7A1.5 1.5 0 0 1 2.5 1h4.056ZM2 2.5a.5.5 0 0 1 .5-.5H6v1.5A1.5 1.5 0 0 0 7.5 5H9v4.5a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-7ZM8.583 4 7 2.246V3.5a.5.5 0 0 0 .5.5h1.083Z'></path>\",\"M3 2.5a.5.5 0 0 1 .5-.5H9v2.5A1.5 1.5 0 0 0 10.5 6H13v7.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-11ZM12.485 5 10 2.658V4.5a.5.5 0 0 0 .5.5h1.985ZM3.5 1A1.5 1.5 0 0 0 2 2.5v11A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V5.7a1.5 1.5 0 0 0-.471-1.09l-3.397-3.202A1.5 1.5 0 0 0 9.103 1H3.5Zm1.646 6.146a.5.5 0 0 1 .708 0L8 9.293l2.146-2.147a.5.5 0 0 1 .708.708L8.707 10l2.147 2.146a.5.5 0 0 1-.708.708L8 10.707l-2.146 2.147a.5.5 0 0 1-.708-.708L7.293 10 5.146 7.854a.5.5 0 0 1 0-.708Z\",\"<path d='M8.293 10.293a1 1 0 0 1 1.414 0L12 12.586l2.293-2.293a1 1 0 1 1 1.414 1.414L13.414 14l2.293 2.293a1 1 0 0 1-1.414 1.414L12 15.414l-2.293 2.293a1 1 0 0 1-1.414-1.414L10.586 14l-2.293-2.293a1 1 0 0 1 0-1.414Z'></path><path d='M6 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V8.25a3 3 0 0 0-.946-2.187l-3.459-3.25A3 3 0 0 0 14.541 2H6ZM5 5a1 1 0 0 1 1-1h8v2a3 3 0 0 0 3 3h2v10a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5Zm13.13 2L16 4.999V6a1 1 0 0 0 1 1h1.13Z'></path>\",\"<path d='M11.293 14.293a1 1 0 0 1 1.414 0L16 17.586l3.293-3.293a1 1 0 0 1 1.414 1.414L17.414 19l3.293 3.293a1 1 0 0 1-1.414 1.414L16 20.414l-3.293 3.293a1 1 0 0 1-1.414-1.414L14.586 19l-3.293-3.293a1 1 0 0 1 0-1.414Z'></path><path d='M7 2a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h18a3 3 0 0 0 3-3V10.828a3 3 0 0 0-.879-2.12l-5.828-5.83A3 3 0 0 0 19.172 2H7ZM6 5a1 1 0 0 1 1-1h12v4a3 3 0 0 0 3 3h4v16a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5Zm18.586 4L21 5.414V8a1 1 0 0 0 1 1h2.586Z'></path>\"]];","export default [[\"M1.25 4a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 2 7.75V7h1a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H1.25Zm1.5 2A.25.25 0 0 0 3 5.75v-.5A.25.25 0 0 0 2.75 5H2v1h.75Zm2.5-2a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25H7a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H5.25Zm1.5 3A.25.25 0 0 0 7 6.75v-1.5A.25.25 0 0 0 6.75 5H6v2h.75Zm2.5-3a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25V7h.75a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25H10V5h1.25a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-2Z\",\"<path d='M4.75 11a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25H4v1h.75Zm4.25.75a.25.25 0 0 1-.25.25H8v-2h.75a.25.25 0 0 1 .25.25v1.5Z'></path><path d='M9 1H3.5A1.5 1.5 0 0 0 2 2.5v11A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V6h-3.5A1.5 1.5 0 0 1 9 4.5V1ZM3.25 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25V12h1a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1H3.25ZM7 9.25A.25.25 0 0 1 7.25 9H9a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7.25a.25.25 0 0 1-.25-.25v-3.5Zm4 0a.25.25 0 0 1 .25-.25h2a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25H12v1h.75a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25H12v.75a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-3.5Z'></path><path d='M13.826 5a1.5 1.5 0 0 0-.297-.39l-3.397-3.202a1.505 1.505 0 0 0-.132-.11V4.5a.5.5 0 0 0 .5.5h3.326Z'></path>\",\"<path d='M9 16.75a.25.25 0 0 1-.25.25H8v-1h.75a.25.25 0 0 1 .25.25v.5ZM12.75 18a.25.25 0 0 0 .25-.25v-1.5a.25.25 0 0 0-.25-.25H12v2h.75Z'></path><path d='M6 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V9h-4a3 3 0 0 1-3-3V2H6Zm1 13.25a.25.25 0 0 1 .25-.25H9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H8v.75a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-3.5Zm4.25-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25H13a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-1.75Zm4 0a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25V18h.75a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25H16v-1h1.25a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-2Z'></path><path d='M20.054 6.063c.286.269.513.588.673.937H17a1 1 0 0 1-1-1V2.379c.214.119.414.264.595.435l3.46 3.25Z'></path>\",\"<path d='M10.75 23H10v-2h.75a.25.25 0 0 1 .25.25v1.5a.25.25 0 0 1-.25.25Zm6 2H16v-4h.75a.25.25 0 0 1 .25.25v3.5a.25.25 0 0 1-.25.25Z'></path><path d='M7 2a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h18a3 3 0 0 0 3-3V11h-6a3 3 0 0 1-3-3V2H7Zm1.25 17a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h1.5a.25.25 0 0 0 .25-.25V25h1a2 2 0 0 0 2-2v-2a2 2 0 0 0-2-2H8.25Zm6 0a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25H17a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-2.75ZM21 19a1 1 0 0 0-1 1v6.75c0 .138.112.25.25.25h1.5a.25.25 0 0 0 .25-.25V25h1.75a.25.25 0 0 0 .25-.25v-1.5a.25.25 0 0 0-.25-.25H22v-2h2.75a.25.25 0 0 0 .25-.25v-1.5a.25.25 0 0 0-.25-.25H21Z'></path><path d='M21 2.622V8a1 1 0 0 0 1 1h5.378a2.99 2.99 0 0 0-.257-.293L21.293 2.88A3.01 3.01 0 0 0 21 2.622Z'></path>\"],[\"M1.25 4a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 2 7.75V7h1a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H1.25Zm1.5 2A.25.25 0 0 0 3 5.75v-.5A.25.25 0 0 0 2.75 5H2v1h.75Zm2.5-2a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25H7a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H5.25Zm1.5 3A.25.25 0 0 0 7 6.75v-1.5A.25.25 0 0 0 6.75 5H6v2h.75Zm2.5-3a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25V7h.75a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25H10V5h1.25a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-2Z\",\"<path d='M14 13.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm-9-2.75a.25.25 0 0 1-.25.25H4v-1h.75a.25.25 0 0 1 .25.25v.5ZM8.75 12a.25.25 0 0 0 .25-.25v-1.5a.25.25 0 0 0-.25-.25H8v2h.75Z'></path><path d='M2 13.5v-11A1.5 1.5 0 0 1 3.5 1h5.603a1.5 1.5 0 0 1 1.029.408l3.397 3.201c.3.284.471.679.471 1.092V13.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 13.5Zm1-11a.5.5 0 0 1 .5-.5H9v2.5A1.5 1.5 0 0 0 10.5 6H13v2H3V2.5Zm7 2V2.658L12.485 5H10.5a.5.5 0 0 1-.5-.5ZM3 9.25A.25.25 0 0 1 3.25 9H5a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H4v.75a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-3.5ZM7.25 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25H9a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1H7.25Zm4 0a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25V12h.75a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25H12v-1h1.25a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-2Z'></path>\",\"<path d='M9 16.75a.25.25 0 0 1-.25.25H8v-1h.75a.25.25 0 0 1 .25.25v.5ZM12.75 18a.25.25 0 0 0 .25-.25v-1.5a.25.25 0 0 0-.25-.25H12v2h.75Z'></path><path d='M6 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V8.25a3 3 0 0 0-.946-2.187l-3.459-3.25A3 3 0 0 0 14.541 2H6ZM5 5a1 1 0 0 1 1-1h8v2a3 3 0 0 0 3 3h2v5H5V5Zm11 1V4.999L18.13 7H17a1 1 0 0 1-1-1Zm-9 9.25a.25.25 0 0 1 .25-.25H9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H8v.75a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-3.5Zm4.25-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25H13a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-1.75Zm4 0a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25V18h.75a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25H16v-1h1.25a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-2Z'></path>\",\"M6 5a1 1 0 0 1 1-1h12v4a3 3 0 0 0 3 3h4v6H6V5Zm18.586 4L21 5.414V8a1 1 0 0 0 1 1h2.586ZM7 2a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h18a3 3 0 0 0 3-3V10.828a3 3 0 0 0-.879-2.12l-5.828-5.83A3 3 0 0 0 19.172 2H7Zm1 17.25a.25.25 0 0 1 .25-.25H11a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-1v1.75a.25.25 0 0 1-.25.25h-1.5a.25.25 0 0 1-.25-.25v-7.5ZM10 23h.75a.25.25 0 0 0 .25-.25v-1.5a.25.25 0 0 0-.25-.25H10v2Zm4-3.75a.25.25 0 0 1 .25-.25H17a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-2.75a.25.25 0 0 1-.25-.25v-7.5ZM16 25h.75a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25H16v4Zm4-5a1 1 0 0 1 1-1h3.75a.25.25 0 0 1 .25.25v1.5a.25.25 0 0 1-.25.25H22v2h1.75a.25.25 0 0 1 .25.25v1.5a.25.25 0 0 1-.25.25H22v1.75a.25.25 0 0 1-.25.25h-1.5a.25.25 0 0 1-.25-.25V20Z\"]];","export default [[\"<path d='M6 1H2.5A1.5 1.5 0 0 0 1 2.5v7A1.5 1.5 0 0 0 2.5 11h6A1.5 1.5 0 0 0 10 9.5V5H7.5A1.5 1.5 0 0 1 6 3.5V1Zm0 3.5a.5.5 0 0 0-1 0V6H3.5a.5.5 0 0 0 0 1H5v1.5a.5.5 0 0 0 1 0V7h1.5a.5.5 0 0 0 0-1H6V4.5Z'></path><path d='M9.85 4a1.5 1.5 0 0 0-.237-.351L7.67 1.495A1.5 1.5 0 0 0 7 1.067V3.5a.5.5 0 0 0 .5.5h2.35Z'></path>\",\"<path d='M9 1H3.5A1.5 1.5 0 0 0 2 2.5v11A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V6h-3.5A1.5 1.5 0 0 1 9 4.5V1ZM8 7.5a.5.5 0 0 0-1 0V9H5.5a.5.5 0 0 0 0 1H7v1.5a.5.5 0 0 0 1 0V10h1.5a.5.5 0 0 0 0-1H8V7.5Z'></path><path d='M13.826 5a1.5 1.5 0 0 0-.297-.39l-3.397-3.202a1.505 1.505 0 0 0-.132-.11V4.5a.5.5 0 0 0 .5.5h3.326Z'></path>\",\"<path d='M14 2H6a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V9h-4a3 3 0 0 1-3-3V2Zm-1 8a1 1 0 1 0-2 0v2H9a1 1 0 1 0 0 2h2v2a1 1 0 1 0 2 0v-2h2a1 1 0 1 0 0-2h-2v-2Z'></path><path d='M20.727 7a2.999 2.999 0 0 0-.673-.937l-3.459-3.25A3.001 3.001 0 0 0 16 2.38V6a1 1 0 0 0 1 1h3.727Z'></path>\",\"<path d='M19 2H7a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h18a3 3 0 0 0 3-3V11h-6a3 3 0 0 1-3-3V2Zm-2 10.5a1 1 0 1 0-2 0V17h-4.5a1 1 0 1 0 0 2H15v4.5a1 1 0 1 0 2 0V19h4.5a1 1 0 1 0 0-2H17v-4.5Z'></path><path d='M27.378 9a2.99 2.99 0 0 0-.257-.293L21.293 2.88A3.01 3.01 0 0 0 21 2.622V8a1 1 0 0 0 1 1h5.378Z'></path>\"],[\"<path d='M5.5 4a.5.5 0 0 1 .5.5V6h1.5a.5.5 0 0 1 0 1H6v1.5a.5.5 0 0 1-1 0V7H3.5a.5.5 0 0 1 0-1H5V4.5a.5.5 0 0 1 .5-.5Z'></path><path d='M6.556 1a1.5 1.5 0 0 1 1.113.495l1.944 2.154A1.5 1.5 0 0 1 10 4.654V9.5A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-7A1.5 1.5 0 0 1 2.5 1h4.056ZM2 2.5a.5.5 0 0 1 .5-.5H6v1.5A1.5 1.5 0 0 0 7.5 5H9v4.5a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-7ZM8.583 4 7 2.246V3.5a.5.5 0 0 0 .5.5h1.083Z'></path>\",\"<path d='M7.5 7a.5.5 0 0 1 .5.5V9h1.5a.5.5 0 0 1 0 1H8v1.5a.5.5 0 0 1-1 0V10H5.5a.5.5 0 0 1 0-1H7V7.5a.5.5 0 0 1 .5-.5Z'></path><path d='M3.5 1A1.5 1.5 0 0 0 2 2.5v11A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V5.7a1.5 1.5 0 0 0-.471-1.09l-3.397-3.202A1.5 1.5 0 0 0 9.103 1H3.5ZM3 2.5a.5.5 0 0 1 .5-.5H9v2.5A1.5 1.5 0 0 0 10.5 6H13v7.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-11ZM12.485 5 10 2.658V4.5a.5.5 0 0 0 .5.5h1.985Z'></path>\",\"<path d='M13 10a1 1 0 1 0-2 0v2H9a1 1 0 1 0 0 2h2v2a1 1 0 1 0 2 0v-2h2a1 1 0 1 0 0-2h-2v-2Z'></path><path d='M3 5a3 3 0 0 1 3-3h8.541a3 3 0 0 1 2.054.814l3.46 3.25A3 3 0 0 1 21 8.25V19a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9h-2a3 3 0 0 1-3-3V4H6Zm10 .999V6a1 1 0 0 0 1 1h1.13L16 4.999Z'></path>\",\"<path d='M17 12.5a1 1 0 1 0-2 0V17h-4.5a1 1 0 1 0 0 2H15v4.5a1 1 0 1 0 2 0V19h4.5a1 1 0 1 0 0-2H17v-4.5Z'></path><path d='M4 5a3 3 0 0 1 3-3h12.172a3 3 0 0 1 2.12.879l5.83 5.828A3 3 0 0 1 28 10.828V27a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v22a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V11h-4a3 3 0 0 1-3-3V4H7Zm14 1.414V8a1 1 0 0 0 1 1h2.586L21 5.414Z'></path>\"]];","export default [[\"<path d='M4.556 5.71a1.25 1.25 0 0 1 .194-.106V6.75a.5.5 0 0 0 .5.5h1.146a1.25 1.25 0 1 1-1.84-1.54Z'></path><path d='M2.5 1H6v2.5A1.5 1.5 0 0 0 7.5 5H10v4.5A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-7A1.5 1.5 0 0 1 2.5 1Zm2.75 3.5A2.25 2.25 0 1 0 7.5 6.75a.5.5 0 0 0-.5-.5H5.75V5a.5.5 0 0 0-.5-.5Z'></path><path d='M9.613 3.649A1.5 1.5 0 0 1 9.85 4H7.5a.5.5 0 0 1-.5-.5V1.067a1.5 1.5 0 0 1 .669.428l1.944 2.154Z'></path>\",\"<path d='M6 9.086A1.5 1.5 0 1 0 7.914 11H6.5a.5.5 0 0 1-.5-.5V9.086Z'></path><path d='M9 1H3.5A1.5 1.5 0 0 0 2 2.5v11A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V6h-3.5A1.5 1.5 0 0 1 9 4.5V1ZM5.111 8.421A2.5 2.5 0 0 1 6.5 8a.5.5 0 0 1 .5.5V10h1.5a.5.5 0 0 1 .5.5 2.5 2.5 0 1 1-3.889-2.079ZM8.5 9a.5.5 0 0 1-.5-.5V7a.5.5 0 0 1 .5-.5 2 2 0 0 1 2 2 .5.5 0 0 1-.5.5H8.5Z'></path><path d='M13.826 5a1.5 1.5 0 0 0-.297-.39l-3.397-3.202a1.505 1.505 0 0 0-.132-.11V4.5a.5.5 0 0 0 .5.5h3.326Z'></path>\",\"<path d='M10 13.268a2.015 2.015 0 0 0-.848.967A2 2 0 0 0 12.732 16H11a1 1 0 0 1-1-1v-1.732Z'></path><path d='M3 5a3 3 0 0 1 3-3h8v4a3 3 0 0 0 3 3h4v10a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V5Zm5.778 6.674A4 4 0 0 1 11 11a1 1 0 0 1 1 1v2h2a1 1 0 0 1 1 1 4 4 0 1 1-6.222-3.326ZM14 13a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1 3 3 0 0 1 3 3 1 1 0 0 1-1 1h-2Z'></path><path d='M20.727 7a2.999 2.999 0 0 0-.673-.937l-3.459-3.25A3.001 3.001 0 0 0 16 2.38V6a1 1 0 0 0 1 1h3.727Z'></path>\",\"<path d='M10 20.5a3.5 3.5 0 0 1 2.996-3.464v2.968a1 1 0 0 0 1 1h2.968A3.5 3.5 0 0 1 10 20.5Z'></path><path d='M4 5a3 3 0 0 1 3-3h12v6a3 3 0 0 0 3 3h6v16a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V5Zm12 12a1 1 0 0 0 1 1h4.5a1 1 0 0 0 1-1 5.5 5.5 0 0 0-5.5-5.5 1 1 0 0 0-1 1V17Zm-2.5-2a5.5 5.5 0 1 0 5.467 4.895 1 1 0 0 0-.994-.89h-2.977v-2.978a1 1 0 0 0-.891-.994A5.575 5.575 0 0 0 13.5 15Z'></path><path d='M27.378 9a2.99 2.99 0 0 0-.257-.293L21.293 2.88A3.01 3.01 0 0 0 21 2.622V8a1 1 0 0 0 1 1h5.378Z'></path>\"],[\"<path d='M5.25 4.5A2.25 2.25 0 1 0 7.5 6.75a.5.5 0 0 0-.5-.5H5.75V5a.5.5 0 0 0-.5-.5Zm-.694 1.21a1.25 1.25 0 0 1 .194-.106V6.75a.5.5 0 0 0 .5.5h1.146a1.25 1.25 0 1 1-1.84-1.54Z'></path><path d='M6.556 1H2.5A1.5 1.5 0 0 0 1 2.5v7A1.5 1.5 0 0 0 2.5 11h6A1.5 1.5 0 0 0 10 9.5V4.654a1.5 1.5 0 0 0-.387-1.005L7.67 1.495A1.5 1.5 0 0 0 6.556 1ZM2.5 2a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5V5H7.5A1.5 1.5 0 0 1 6 3.5V2H2.5Zm4.5.246L8.583 4H7.5a.5.5 0 0 1-.5-.5V2.246Z'></path>\",\"<path d='M6.5 8A2.5 2.5 0 1 0 9 10.5a.5.5 0 0 0-.5-.5H7V8.5a.5.5 0 0 0-.5-.5Zm-.833 1.253A1.5 1.5 0 0 1 6 9.086V10.5a.5.5 0 0 0 .5.5h1.414a1.501 1.501 0 0 1-2.475.56 1.5 1.5 0 0 1 .228-2.307ZM8 8.5a.5.5 0 0 0 .5.5H10a.5.5 0 0 0 .5-.5 2 2 0 0 0-2-2A.5.5 0 0 0 8 7v1.5Z'></path><path d='M2 2.5A1.5 1.5 0 0 1 3.5 1h5.603a1.5 1.5 0 0 1 1.029.408l3.397 3.201c.3.284.471.679.471 1.092V13.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 13.5v-11ZM3.5 2a.5.5 0 0 0-.5.5v11a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5V6h-2.5A1.5 1.5 0 0 1 9 4.5V2H3.5Zm6.5.658L12.485 5H10.5a.5.5 0 0 1-.5-.5V2.658Z'></path>\",\"<path d='M14 13a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1 3 3 0 0 1 3 3 1 1 0 0 1-1 1h-2Z'></path><path d='M11 11a4 4 0 1 0 4 4 1 1 0 0 0-1-1h-2v-2a1 1 0 0 0-1-1Zm-1.111 2.337c.036-.024.073-.047.111-.07V15a1 1 0 0 0 1 1h1.732a1.996 1.996 0 0 1-.967.848 2.001 2.001 0 0 1-2.613-2.613 2 2 0 0 1 .737-.898Z'></path><path d='M3 5a3 3 0 0 1 3-3h8.541a3 3 0 0 1 2.054.814l3.46 3.25A3 3 0 0 1 21 8.25V19a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9h-2a3 3 0 0 1-3-3V4H6Zm10 .999L18.13 7H17a1 1 0 0 1-1-1V4.999Z'></path>\",\"<path d='M17 18a1 1 0 0 1-1-1v-4.5a1 1 0 0 1 1-1 5.5 5.5 0 0 1 5.5 5.5 1 1 0 0 1-1 1H17Z'></path><path d='M13.5 15a5.5 5.5 0 1 0 5.467 4.895 1 1 0 0 0-.994-.89h-2.977v-2.978a1 1 0 0 0-.891-.994A5.575 5.575 0 0 0 13.5 15ZM10 20.5a3.5 3.5 0 0 1 2.996-3.464v2.968a1 1 0 0 0 1 1h2.968A3.5 3.5 0 0 1 10 20.5Z'></path><path d='M4 5a3 3 0 0 1 3-3h12.172a3 3 0 0 1 2.12.879l5.83 5.828A3 3 0 0 1 28 10.828V27a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v22a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V11h-4a3 3 0 0 1-3-3V4H7Zm14 1.414L24.586 9H22a1 1 0 0 1-1-1V5.414Z'></path>\"]];","export default [[\"M1.25 4a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 2 7.75V7h1a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H1.25Zm1.5 2H2V5h.75a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25Zm2.5-2a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 7.75V7h1a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H5.25Zm1.5 2H6V5h.75a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25ZM9 4.25A.25.25 0 0 1 9.25 4h2.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25H11v2.75a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25V5h-.75A.25.25 0 0 1 9 4.75v-.5Z\",\"M3.5 1H9v3.5A1.5 1.5 0 0 0 10.5 6H14v3.25a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25H12v2.75c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25V10h.75a.25.25 0 0 0 .25-.25v3.75a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 13.5v-11A1.5 1.5 0 0 1 3.5 1Zm10.029 3.61a1.5 1.5 0 0 1 .297.39H10.5a.5.5 0 0 1-.5-.5V1.298c.046.034.09.07.132.11l3.397 3.201ZM3 9.25A.25.25 0 0 1 3.25 9H5a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H4v.75a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-3.5Zm2 1.5a.25.25 0 0 1-.25.25H4v-1h.75a.25.25 0 0 1 .25.25v.5Zm2-1.5A.25.25 0 0 1 7.25 9H9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H8v.75a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-3.5Zm2 1.5a.25.25 0 0 1-.25.25H8v-1h.75a.25.25 0 0 1 .25.25v.5Z\",\"<path d='M9 16.75a.25.25 0 0 1-.25.25H8v-1h.75a.25.25 0 0 1 .25.25v.5Zm4 0a.25.25 0 0 1-.25.25H12v-1h.75a.25.25 0 0 1 .25.25v.5Z'></path><path d='M6 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V9h-4a3 3 0 0 1-3-3V2H6Zm1 13.25a.25.25 0 0 1 .25-.25H9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H8v.75a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-3.5Zm4 0a.25.25 0 0 1 .25-.25H13a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-1v.75a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-3.5Zm4.25-.25h2.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25H17v2.75a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25V16h-.75a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25Z'></path><path d='M20.054 6.063c.286.269.513.588.673.937H17a1 1 0 0 1-1-1V2.379c.214.119.414.264.595.435l3.46 3.25Z'></path>\",\"<path d='M9.75 23H9v-2h.75a.25.25 0 0 1 .25.25v1.5a.25.25 0 0 1-.25.25ZM15 23h.75a.25.25 0 0 0 .25-.25v-1.5a.25.25 0 0 0-.25-.25H15v2Z'></path><path d='M7 2a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h18a3 3 0 0 0 3-3V11h-6a3 3 0 0 1-3-3V2H7Zm.25 17H10a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H9v1.75a.25.25 0 0 1-.25.25h-1.5a.25.25 0 0 1-.25-.25v-7.5a.25.25 0 0 1 .25-.25Zm11.75.25a.25.25 0 0 1 .25-.25h5.5a.25.25 0 0 1 .25.25v1.5a.25.25 0 0 1-.25.25H23v5.75a.25.25 0 0 1-.25.25h-1.5a.25.25 0 0 1-.25-.25V21h-1.75a.25.25 0 0 1-.25-.25v-1.5Zm-6 0a.25.25 0 0 1 .25-.25H16a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-1v1.75a.25.25 0 0 1-.25.25h-1.5a.25.25 0 0 1-.25-.25v-7.5Z'></path><path d='M27.121 8.707c.093.093.179.19.257.293H22a1 1 0 0 1-1-1V2.622c.102.078.2.164.293.257l5.828 5.828Z'></path>\"],[\"M1.25 4a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 2 7.75V7h1a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H1.25Zm1.5 2H2V5h.75a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25Zm2.5-2a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 7.75V7h1a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H5.25Zm1.5 2H6V5h.75a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25ZM9 4.25A.25.25 0 0 1 9.25 4h2.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25H11v2.75a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25V5h-.75A.25.25 0 0 1 9 4.75v-.5Z\",\"<path d='M5 10.75a.25.25 0 0 1-.25.25H4v-1h.75a.25.25 0 0 1 .25.25v.5Zm4 0a.25.25 0 0 1-.25.25H8v-1h.75a.25.25 0 0 1 .25.25v.5Z'></path><path d='M2 2.5v11A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V9.75a.25.25 0 0 1-.25.25H13v2.75a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25V10h-.75a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25h2.5a.25.25 0 0 1 .25.25V5.7a1.5 1.5 0 0 0-.471-1.09l-3.397-3.202A1.5 1.5 0 0 0 9.103 1H3.5A1.5 1.5 0 0 0 2 2.5ZM3.5 2H9v2.5A1.5 1.5 0 0 0 10.5 6H13v2H3V2.5a.5.5 0 0 1 .5-.5Zm6.5.658L12.485 5H10.5a.5.5 0 0 1-.5-.5V2.658ZM3 9.25A.25.25 0 0 1 3.25 9H5a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H4v.75a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-3.5Zm4 0A.25.25 0 0 1 7.25 9H9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H8v.75a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-3.5Z'></path>\",\"<path d='M9 16.75a.25.25 0 0 1-.25.25H8v-1h.75a.25.25 0 0 1 .25.25v.5Zm4 0a.25.25 0 0 1-.25.25H12v-1h.75a.25.25 0 0 1 .25.25v.5Z'></path><path d='M6 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V8.25a3 3 0 0 0-.946-2.187l-3.459-3.25A3 3 0 0 0 14.541 2H6ZM5 5a1 1 0 0 1 1-1h8v2a3 3 0 0 0 3 3h2v5H5V5Zm11 1V4.999L18.13 7H17a1 1 0 0 1-1-1Zm-9 9.25a.25.25 0 0 1 .25-.25H9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H8v.75a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-3.5Zm4 0a.25.25 0 0 1 .25-.25H13a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-1v.75a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-3.5Zm4.25-.25h2.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25H17v2.75a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25V16h-.75a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25Z'></path>\",\"<path d='M9.75 23H9v-2h.75a.25.25 0 0 1 .25.25v1.5a.25.25 0 0 1-.25.25ZM15 23h.75a.25.25 0 0 0 .25-.25v-1.5a.25.25 0 0 0-.25-.25H15v2Z'></path><path d='M7 2a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h18a3 3 0 0 0 3-3V10.828a3 3 0 0 0-.879-2.12l-5.828-5.83A3 3 0 0 0 19.172 2H7ZM6 5a1 1 0 0 1 1-1h12v4a3 3 0 0 0 3 3h4v6H6V5Zm15 3V5.414L24.586 9H22a1 1 0 0 1-1-1ZM7.25 19H10a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H9v1.75a.25.25 0 0 1-.25.25h-1.5a.25.25 0 0 1-.25-.25v-7.5a.25.25 0 0 1 .25-.25Zm11.75.25a.25.25 0 0 1 .25-.25h5.5a.25.25 0 0 1 .25.25v1.5a.25.25 0 0 1-.25.25H23v5.75a.25.25 0 0 1-.25.25h-1.5a.25.25 0 0 1-.25-.25V21h-1.75a.25.25 0 0 1-.25-.25v-1.5Zm-6 0a.25.25 0 0 1 .25-.25H16a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-1v1.75a.25.25 0 0 1-.25.25h-1.5a.25.25 0 0 1-.25-.25v-7.5Z'></path>\"]];","export default [[\"<path d='M6 1H2.5A1.5 1.5 0 0 0 1 2.5v7A1.5 1.5 0 0 0 2.5 11h6A1.5 1.5 0 0 0 10 9.5V5H7.5A1.5 1.5 0 0 1 6 3.5V1ZM4 5.393C4 5.228 4.17 5 4.5 5c.33 0 .5.228.5.393s-.17.393-.5.393a.5.5 0 0 0-.5.5V7a.5.5 0 0 0 1 0v-.295c.56-.185 1-.673 1-1.312C6 4.572 5.274 4 4.5 4S3 4.572 3 5.393a.5.5 0 0 0 1 0ZM5 8.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z'></path><path d='M9.85 4a1.5 1.5 0 0 0-.237-.351L7.67 1.495A1.5 1.5 0 0 0 7 1.067V3.5a.5.5 0 0 0 .5.5h2.35Z'></path>\",\"<path d='M9 1H3.5A1.5 1.5 0 0 0 2 2.5v11A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V6h-3.5A1.5 1.5 0 0 1 9 4.5V1ZM7.5 6C6.704 6 6 6.702 6 7.643a.5.5 0 0 1-1 0C5 6.216 6.087 5 7.5 5S10 6.216 10 7.643c0 .489-.126.913-.377 1.257a2.028 2.028 0 0 1-.97.703c-.433.157-.653.44-.653.683v.214a.5.5 0 0 1-1 0v-.214c0-.862.708-1.405 1.313-1.624.23-.083.394-.203.502-.35.107-.147.185-.357.185-.67C9 6.703 8.296 6 7.5 6Zm.5 6.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z'></path><path d='M13.826 5H10.5a.5.5 0 0 1-.5-.5V1.298c.046.034.09.07.132.11l3.397 3.201a1.5 1.5 0 0 1 .297.391Z'></path>\",\"<path d='M3 5a3 3 0 0 1 3-3h8v4a3 3 0 0 0 3 3h4v10a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V5Zm9 5c-.662 0-1 .455-1 .786a1 1 0 1 1-2 0C9 9.144 10.453 8 12 8s3 1.144 3 2.786c0 1.11-.688 2.014-1.591 2.46a1.18 1.18 0 0 0-.358.257.27.27 0 0 0-.051.074V14a1 1 0 1 1-2 0v-.429c0-1.152.943-1.831 1.524-2.118.33-.163.476-.432.476-.667 0-.33-.338-.786-1-.786Zm1 7a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path><path d='M20.727 7a2.999 2.999 0 0 0-.673-.937l-3.459-3.25A3.001 3.001 0 0 0 16 2.38V6a1 1 0 0 0 1 1h3.727Z'></path>\",\"<path d='M4 5a3 3 0 0 1 3-3h12v6a3 3 0 0 0 3 3h6v16a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V5Zm12 7c-1.674 0-3 1.328-3 2.929a1 1 0 1 1-2 0C11 12.189 13.256 10 16 10s5 2.19 5 4.929c0 2.315-1.614 4.238-3.767 4.777a.433.433 0 0 0-.206.114.138.138 0 0 0-.027.037V22a1 1 0 1 1-2 0v-2.143c0-1.147.914-1.883 1.748-2.091C18.054 17.439 19 16.282 19 14.929c0-1.6-1.326-2.929-3-2.929Zm1 13a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path><path d='M27.378 9a2.99 2.99 0 0 0-.257-.293L21.293 2.88A3.01 3.01 0 0 0 21 2.622V8a1 1 0 0 0 1 1h5.378Z'></path>\"],[\"<path d='M4.5 5c-.33 0-.5.228-.5.393a.5.5 0 0 1-1 0C3 4.572 3.726 4 4.5 4S6 4.572 6 5.393c0 .639-.44 1.127-1 1.312V7a.5.5 0 0 1-1 0v-.714a.5.5 0 0 1 .5-.5c.33 0 .5-.228.5-.393S4.83 5 4.5 5Zm0 4a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M6.556 1a1.5 1.5 0 0 1 1.113.495l1.944 2.154A1.5 1.5 0 0 1 10 4.654V9.5A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-7A1.5 1.5 0 0 1 2.5 1h4.056ZM2 2.5a.5.5 0 0 1 .5-.5H6v1.5A1.5 1.5 0 0 0 7.5 5H9v4.5a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-7ZM8.583 4 7 2.246V3.5a.5.5 0 0 0 .5.5h1.083Z'></path>\",\"<path d='M7.5 6C6.704 6 6 6.702 6 7.643a.5.5 0 0 1-1 0C5 6.216 6.087 5 7.5 5S10 6.216 10 7.643c0 .489-.126.913-.377 1.257a2.028 2.028 0 0 1-.97.703c-.433.157-.653.44-.653.683v.214a.5.5 0 0 1-1 0v-.214c0-.862.708-1.405 1.313-1.624.23-.083.394-.203.502-.35.107-.147.185-.357.185-.67C9 6.703 8.296 6 7.5 6Zm0 7a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M3.5 1A1.5 1.5 0 0 0 2 2.5v11A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V5.7a1.5 1.5 0 0 0-.471-1.09l-3.397-3.202A1.5 1.5 0 0 0 9.103 1H3.5ZM3 2.5a.5.5 0 0 1 .5-.5H9v2.5A1.5 1.5 0 0 0 10.5 6H13v7.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-11ZM12.485 5 10 2.658V4.5a.5.5 0 0 0 .5.5h1.985Z'></path>\",\"<path d='M12 10c-.515 0-1 .528-1 1a1 1 0 1 1-2 0c0-1.5 1.306-3 3-3 1.547 0 3 1.144 3 2.786 0 1.11-.688 2.014-1.591 2.46a1.18 1.18 0 0 0-.358.257.27.27 0 0 0-.051.074V14a1 1 0 1 1-2 0v-.429c0-1.152.943-1.831 1.524-2.118.33-.163.476-.432.476-.667 0-.33-.338-.786-1-.786Zm0 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M6 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V8.25a3 3 0 0 0-.946-2.187l-3.459-3.25A3 3 0 0 0 14.541 2H6ZM5 5a1 1 0 0 1 1-1h8v2a3 3 0 0 0 3 3h2v10a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5Zm13.13 2L16 4.999V6a1 1 0 0 0 1 1h1.13Z'></path>\",\"<path d='M16 12c-1.674 0-3 1.328-3 2.929a1 1 0 1 1-2 0C11 12.189 13.256 10 16 10s5 2.19 5 4.929c0 2.315-1.614 4.238-3.767 4.777a.433.433 0 0 0-.206.114.138.138 0 0 0-.027.037V22a1 1 0 1 1-2 0v-2.143c0-1.147.914-1.883 1.748-2.091C18.054 17.439 19 16.282 19 14.929c0-1.6-1.326-2.929-3-2.929Zm0 14a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M7 2a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h18a3 3 0 0 0 3-3V10.828a3 3 0 0 0-.879-2.12l-5.828-5.83A3 3 0 0 0 19.172 2H7ZM6 5a1 1 0 0 1 1-1h12v4a3 3 0 0 0 3 3h4v16a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5Zm18.586 4L21 5.414V8a1 1 0 0 0 1 1h2.586Z'></path>\"]];","export default [[\"<path d='M1.5 0H5v2.5A1.5 1.5 0 0 0 6.5 4H9v1.027a4.551 4.551 0 0 0-2.053.248A.5.5 0 0 0 6.5 5h-4a.5.5 0 0 0 0 1h3.171c-.352.285-.66.622-.913 1H2.5a.5.5 0 0 0 0 1h1.756a4.493 4.493 0 0 0-.229 2H1.5A1.5 1.5 0 0 1 0 8.5v-7A1.5 1.5 0 0 1 1.5 0Z'></path><path d='M8.613 2.649A1.5 1.5 0 0 1 8.85 3H6.5a.5.5 0 0 1-.5-.5V.067a1.5 1.5 0 0 1 .669.428l1.944 2.154ZM8.5 7a2.5 2.5 0 0 0-1.952 4.062.5.5 0 1 1-.78.626 3.5 3.5 0 1 1 5.464 0 .5.5 0 1 1-.78-.626A2.5 2.5 0 0 0 8.5 7Z'></path><path d='m8.854 10.854 1-1a.5.5 0 0 0-.708-.708l-1 1a.5.5 0 0 0 .708.708Z'></path>\",\"<path d='M8 1H2.5A1.5 1.5 0 0 0 1 2.5v11A1.5 1.5 0 0 0 2.5 15h4.1a5.47 5.47 0 0 1-.6-2.5 5.5 5.5 0 0 1 .207-1.5H4.5a.5.5 0 0 1 0-1h2.1c.183-.358.404-.693.657-1H4.5a.5.5 0 0 1 0-1h3.837c.895-.63 1.986-1 3.163-1a5.5 5.5 0 0 1 1.5.207V6H9.5A1.5 1.5 0 0 1 8 4.5V1Z'></path><path d='M12.826 5a1.5 1.5 0 0 0-.297-.39L9.132 1.407A1.502 1.502 0 0 0 9 1.298V4.5a.5.5 0 0 0 .5.5h3.326Zm.974 6.91a.5.5 0 0 0-.708-.707l-1.331 1.331A1.001 1.001 0 1 0 11.5 14.5a1 1 0 0 0 .967-1.257l1.332-1.333Z'></path><path d='M8 12.5a3.5 3.5 0 1 1 6.233 2.187.5.5 0 1 0 .78.626 4.5 4.5 0 1 0-7.026 0 .5.5 0 0 0 .78-.626A3.484 3.484 0 0 1 8 12.5Z'></path>\",\"<path d='M12 1H4a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h4.223A9.029 9.029 0 0 1 8 19c0-1.052.18-2.062.512-3H6a1 1 0 1 1 0-2h3.516a9.048 9.048 0 0 1 1.827-2H6a1 1 0 1 1 0-2h8c.277 0 .527.113.709.294A9.016 9.016 0 0 1 17 10c.687 0 1.357.077 2 .223V8h-4a3 3 0 0 1-3-3V1Z'></path><path d='M18.727 6a2.999 2.999 0 0 0-.673-.937l-3.459-3.25A3.001 3.001 0 0 0 14 1.38V5a1 1 0 0 0 1 1h3.727Zm1.45 11.707a1 1 0 1 0-1.414-1.414l-1.694 1.694a1.5 1.5 0 1 0 1.414 1.414l1.694-1.694Z'></path><path d='M12 19a5 5 0 1 1 9.167 2.764 1 1 0 1 0 1.666 1.108 7 7 0 1 0-11.665 0 1 1 0 1 0 1.665-1.108A4.972 4.972 0 0 1 12 19Z'></path>\",\"<path d='M17 2H5a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h7.2a10.954 10.954 0 0 1-1.155-6H8a1 1 0 1 1 0-2h3.414c.197-.697.462-1.366.785-2H8a1 1 0 1 1 0-2h5.514a11.064 11.064 0 0 1 2.16-2H8a1 1 0 1 1 0-2h12c.163 0 .317.039.453.108A11.094 11.094 0 0 1 26 14.75V11h-6a3 3 0 0 1-3-3V2Z'></path><path d='M25.378 9a2.99 2.99 0 0 0-.257-.293L19.293 2.88A3.01 3.01 0 0 0 19 2.622V8a1 1 0 0 0 1 1h5.378ZM22 18a7 7 0 0 0-5.465 11.375 1 1 0 0 1-1.56 1.25 9 9 0 1 1 14.051 0 1 1 0 1 1-1.56-1.25A7 7 0 0 0 22 18Z'></path><path d='M22 27a1.5 1.5 0 0 0 1.496-1.608l2.723-2.812a1 1 0 1 0-1.438-1.39L22.06 24H22a1.5 1.5 0 0 0 0 3Zm-1 1a1 1 0 1 0 0 2h2a1 1 0 1 0 0-2h-2Z'></path>\"],[\"<path d='M1.5 1a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h2.527a4.551 4.551 0 0 0 0 1H1.5A1.5 1.5 0 0 1 0 8.5v-7A1.5 1.5 0 0 1 1.5 0h4.056a1.5 1.5 0 0 1 1.113.495l1.944 2.154A1.5 1.5 0 0 1 9 3.654v1.373a4.551 4.551 0 0 0-1 0V4H6.5A1.5 1.5 0 0 1 5 2.5V1H1.5Zm4.5.246V2.5a.5.5 0 0 0 .5.5h1.083L6 1.246Z'></path><path d='M6.947 5.275A.5.5 0 0 0 6.5 5h-4a.5.5 0 0 0 0 1h3.171a4.52 4.52 0 0 1 1.276-.725ZM4.758 7H2.5a.5.5 0 0 0 0 1h1.756c.126-.356.295-.691.502-1ZM8.5 7a2.5 2.5 0 0 0-1.952 4.062.5.5 0 1 1-.78.626 3.5 3.5 0 1 1 5.464 0 .5.5 0 1 1-.78-.626A2.5 2.5 0 0 0 8.5 7Z'></path><path d='m8.854 10.854 1-1a.5.5 0 0 0-.708-.708l-1 1a.5.5 0 0 0 .708.708Z'></path>\",\"<path d='M2 2.5a.5.5 0 0 1 .5-.5H8v2.5A1.5 1.5 0 0 0 9.5 6H12v1.022a5.5 5.5 0 0 1 1 .185V5.701a1.5 1.5 0 0 0-.471-1.092l-3.397-3.2A1.5 1.5 0 0 0 8.103 1H2.5A1.5 1.5 0 0 0 1 2.5v11A1.5 1.5 0 0 0 2.5 15h4.1a5.465 5.465 0 0 1-.393-1H2.5a.5.5 0 0 1-.5-.5v-11ZM11.485 5H9.5a.5.5 0 0 1-.5-.5V2.658L11.485 5Z'></path><path d='M4.5 8h3.837a5.54 5.54 0 0 0-1.08 1H4.5a.5.5 0 0 1 0-1Zm0 2h2.1a5.465 5.465 0 0 0-.393 1H4.5a.5.5 0 0 1 0-1Zm9.3 1.91a.5.5 0 0 0-.708-.707l-1.331 1.331A1.001 1.001 0 1 0 11.5 14.5a1 1 0 0 0 .967-1.257l1.332-1.333Z'></path><path d='M8 12.5a3.5 3.5 0 1 1 6.233 2.187.5.5 0 1 0 .78.626 4.5 4.5 0 1 0-7.026 0 .5.5 0 0 0 .78-.626A3.484 3.484 0 0 1 8 12.5Z'></path>\",\"<path d='M3 4a1 1 0 0 1 1-1h8v2a3 3 0 0 0 3 3h2v2c.687 0 1.357.077 2 .223V7.25a3 3 0 0 0-.946-2.187l-3.459-3.25A3 3 0 0 0 12.541 1H4a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h4.223A9.029 9.029 0 0 1 8 19H4a1 1 0 0 1-1-1V4Zm13.13 2H15a1 1 0 0 1-1-1V3.999L16.13 6Z'></path><path d='M14 10c.277 0 .527.113.709.294A8.971 8.971 0 0 0 11.343 12H6a1 1 0 1 1 0-2h8Zm-8 4h3.516a8.966 8.966 0 0 0-1.004 2H6a1 1 0 1 1 0-2Zm14.177 3.707a1 1 0 1 0-1.414-1.414l-1.694 1.694a1.5 1.5 0 1 0 1.414 1.414l1.694-1.694Z'></path><path d='M12 19a5 5 0 1 1 9.167 2.764 1 1 0 1 0 1.666 1.108 7 7 0 1 0-11.665 0 1 1 0 1 0 1.665-1.108A4.972 4.972 0 0 1 12 19Z'></path>\",\"<path d='M4 5a1 1 0 0 1 1-1h12v4a3 3 0 0 0 3 3h4v3.181c.692.127 1.36.32 2 .569v-3.922a3 3 0 0 0-.879-2.12l-5.828-5.83A3 3 0 0 0 17.172 2H5a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h7.2a10.924 10.924 0 0 1-.786-2H5a1 1 0 0 1-1-1V5Zm18.586 4H20a1 1 0 0 1-1-1V5.414L22.586 9Z'></path><path d='M11.414 22a10.96 10.96 0 0 0-.37 2H8a1 1 0 1 1 0-2h3.414Zm2.1-4a11.017 11.017 0 0 0-1.315 2H8a1 1 0 1 1 0-2h5.514Zm6.939-3.892A10.94 10.94 0 0 0 15.672 16H8a1 1 0 1 1 0-2h12c.163 0 .317.039.453.108ZM22 18a7 7 0 0 0-5.465 11.375 1 1 0 0 1-1.56 1.25 9 9 0 1 1 14.051 0 1 1 0 1 1-1.56-1.25A7 7 0 0 0 22 18Z'></path><path d='M22 27a1.5 1.5 0 0 0 1.496-1.608l2.723-2.812a1 1 0 1 0-1.438-1.39L22.06 24H22a1.5 1.5 0 0 0 0 3Zm-1 1a1 1 0 1 0 0 2h2a1 1 0 1 0 0-2h-2Z'></path>\"]];","export default [[\"<path d='M4 7v1h3V7H4Z'></path><path d='M6 1H2.5A1.5 1.5 0 0 0 1 2.5v7A1.5 1.5 0 0 0 2.5 11h6A1.5 1.5 0 0 0 10 9.5V5H7.5A1.5 1.5 0 0 1 6 3.5V1ZM3 6.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-2Z'></path><path d='M9.85 4H7.5a.5.5 0 0 1-.5-.5V1.067a1.5 1.5 0 0 1 .669.428l1.944 2.154A1.5 1.5 0 0 1 9.85 4Z'></path>\",\"<path d='M5 9V8h6v1H5Z'></path><path d='M9 1H3.5A1.5 1.5 0 0 0 2 2.5v11A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V6h-3.5A1.5 1.5 0 0 1 9 4.5V1ZM4.5 7a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-7ZM4 11.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Z'></path><path d='M13.826 5a1.5 1.5 0 0 0-.297-.39l-3.397-3.202a1.505 1.505 0 0 0-.132-.11V4.5a.5.5 0 0 0 .5.5h3.326Z'></path>\",\"<path d='M9 13v-1h6v1H9Z'></path><path d='M14 2H6a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V9h-4a3 3 0 0 1-3-3V2Zm-6 8a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1H8Zm0 6a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2H8Z'></path><path d='M20.727 7H17a1 1 0 0 1-1-1V2.379c.214.119.414.264.595.435l3.46 3.25c.285.268.512.587.672.936Z'></path>\",\"<path d='M10 15v2h12v-2H10Z'></path><path d='M19 2H7a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h18a3 3 0 0 0 3-3V11h-6a3 3 0 0 1-3-3V2ZM8 14a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1v-4Zm0 8a1 1 0 0 1 1-1h14a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1Zm1 2a1 1 0 1 0 0 2h14a1 1 0 1 0 0-2H9Z'></path><path d='M27.378 9H22a1 1 0 0 1-1-1V2.622c.102.078.2.164.293.257l5.828 5.828c.093.093.179.19.257.293Z'></path>\"],[\"<path d='M3.5 6a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-4ZM4 8V7h3v1H4Z'></path><path d='M6.556 1H2.5A1.5 1.5 0 0 0 1 2.5v7A1.5 1.5 0 0 0 2.5 11h6A1.5 1.5 0 0 0 10 9.5V4.654a1.5 1.5 0 0 0-.387-1.005L7.67 1.495A1.5 1.5 0 0 0 6.556 1ZM2.5 2a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5V5H7.5A1.5 1.5 0 0 1 6 3.5V2H2.5Zm4.5.246L8.583 4H7.5a.5.5 0 0 1-.5-.5V2.246Z'></path>\",\"<path d='M4 7.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-2ZM5 8v1h6V8H5Zm-.5 3a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7Z'></path><path d='M3.5 1A1.5 1.5 0 0 0 2 2.5v11A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V5.7a1.5 1.5 0 0 0-.471-1.09l-3.397-3.202A1.5 1.5 0 0 0 9.103 1H3.5ZM3 2.5a.5.5 0 0 1 .5-.5H9v2.5A1.5 1.5 0 0 0 10.5 6H13v7.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-11ZM12.485 5 10 2.658V4.5a.5.5 0 0 0 .5.5h1.985Z'></path>\",\"<path d='M7 11a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-3Zm2 1v1h6v-1H9Zm-1 4a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2H8Z'></path><path d='M6 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V8.25a3 3 0 0 0-.946-2.187l-3.459-3.25A3 3 0 0 0 14.541 2H6ZM5 5a1 1 0 0 1 1-1h8v2a3 3 0 0 0 3 3h2v10a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5Zm13.13 2L16 4.999V6a1 1 0 0 0 1 1h1.13Z'></path>\",\"<path d='M9 13a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H9Zm1 4v-2h12v2H10Zm-2 5a1 1 0 0 1 1-1h14a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1Zm1 2a1 1 0 1 0 0 2h14a1 1 0 1 0 0-2H9Z'></path><path d='M4 5a3 3 0 0 1 3-3h12.172a3 3 0 0 1 2.12.879l5.83 5.828A3 3 0 0 1 28 10.828V27a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v22a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V11h-4a3 3 0 0 1-3-3V4H7Zm14 1.414L24.586 9H22a1 1 0 0 1-1-1V5.414Z'></path>\"]];","export default [[\"<path d='M1 2.5A1.5 1.5 0 0 1 2.5 1h6A1.5 1.5 0 0 1 10 2.5V5H3.5a.5.5 0 0 0 0 1h.768A1.99 1.99 0 0 0 4 7h-.5a.5.5 0 0 0 0 1H4v3H2.5A1.5 1.5 0 0 1 1 9.5v-7Zm2.5.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Z'></path><path d='M5 7.5A1.5 1.5 0 0 1 6.5 6h4A1.5 1.5 0 0 1 12 7.5v3a1.5 1.5 0 0 1-1.5 1.5h-4A1.5 1.5 0 0 1 5 10.5v-3Zm1 3a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5V7.707L9.207 9.5a1 1 0 0 1-1.414 0L6 7.707V10.5Zm2.5-1.707L10.293 7H6.707L8.5 8.793Z'></path>\",\"<path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v11A1.5 1.5 0 0 0 2.5 15H6v-4H4.5a.5.5 0 0 1 0-1H6c0-.364.097-.706.268-1H4.5a.5.5 0 0 1 0-1H13V2.5A1.5 1.5 0 0 0 11.5 1h-9ZM4 4.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5ZM4.5 6h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1Z'></path><path d='M7 10.5A1.5 1.5 0 0 1 8.5 9h6a1.5 1.5 0 0 1 1.5 1.5v4a1.5 1.5 0 0 1-1.5 1.5h-6A1.5 1.5 0 0 1 7 14.5v-4Zm1 4a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5v-3.843l-2.512 2.198a1.5 1.5 0 0 1-1.976 0L8 10.657V14.5Zm.767-4.5 2.404 2.103a.5.5 0 0 0 .658 0L14.233 10H8.767Z'></path>\",\"<path d='M4 1h12a3 3 0 0 1 3 3v5h-5a1 1 0 1 0 0-2H6a1 1 0 0 0 0 2h4c-1.48 0-2.773.804-3.465 2H6a1 1 0 1 0 0 2v2a1 1 0 1 0 0 2v5c0 .345.044.68.126 1H4a3 3 0 0 1-3-3V4a3 3 0 0 1 3-3Z'></path><path d='M8 13a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H10a2 2 0 0 1-2-2v-9Zm8 3.698L20.438 13h-8.876L16 16.698ZM10 22h12v-7.698l-4.72 3.933a2 2 0 0 1-2.56 0L10 14.302V22Z'></path>\",\"<path d='M5 2a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h6.126A4.01 4.01 0 0 1 11 29v-6H8a1 1 0 1 1 0-2h3v-2H8a1 1 0 1 1 0-2h3.535A3.998 3.998 0 0 1 15 15H8a1 1 0 1 1 0-2h12a1 1 0 1 1 0 2h6V5a3 3 0 0 0-3-3H5Zm2 8a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H8a1 1 0 0 1-1-1Z'></path><path d='M13 19a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H15a2 2 0 0 1-2-2V19Zm9 4.677L27.396 19H16.604L22 23.677ZM15 29h14v-8.743l-5.69 4.931a2 2 0 0 1-2.62 0L15 20.257V29Z'></path>\"],[\"<path d='M2 2.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5V5h1V2.5A1.5 1.5 0 0 0 8.5 1h-6A1.5 1.5 0 0 0 1 2.5v7A1.5 1.5 0 0 0 2.5 11H4v-1H2.5a.5.5 0 0 1-.5-.5v-7Z'></path><path d='M3.5 5H6a2 2 0 0 0-1.732 1H3.5a.5.5 0 0 1 0-1Zm0 2H4v1h-.5a.5.5 0 0 1 0-1Zm0-4a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4ZM5 7.5A1.5 1.5 0 0 1 6.5 6h4A1.5 1.5 0 0 1 12 7.5v3a1.5 1.5 0 0 1-1.5 1.5h-4A1.5 1.5 0 0 1 5 10.5v-3Zm1 3a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5V7.707L9.207 9.5a1 1 0 0 1-1.414 0L6 7.707V10.5Zm2.5-1.707L10.293 7H6.707L8.5 8.793Z'></path>\",\"<path d='M2.5 2a.5.5 0 0 0-.5.5v11a.5.5 0 0 0 .5.5H6v1H2.5A1.5 1.5 0 0 1 1 13.5v-11A1.5 1.5 0 0 1 2.5 1h9A1.5 1.5 0 0 1 13 2.5V8h-1V2.5a.5.5 0 0 0-.5-.5h-9Z'></path><path d='M4.5 10H6v1H4.5a.5.5 0 0 1 0-1Zm0-2H8a2 2 0 0 0-1.732 1H4.5a.5.5 0 0 1 0-1ZM4 4.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5ZM4.5 6a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5ZM7 10.5A1.5 1.5 0 0 1 8.5 9h6a1.5 1.5 0 0 1 1.5 1.5v4a1.5 1.5 0 0 1-1.5 1.5h-6A1.5 1.5 0 0 1 7 14.5v-4Zm1 4a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5v-3.843l-2.512 2.198a1.5 1.5 0 0 1-1.976 0L8 10.657V14.5Zm.767-4.5 2.404 2.103a.5.5 0 0 0 .658 0L14.233 10H8.767Z'></path>\",\"<path d='M16 1H4a3 3 0 0 0-3 3v16a3 3 0 0 0 3 3h2.126A4.007 4.007 0 0 1 6 22v-1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v5h2V4a3 3 0 0 0-3-3Z'></path><path d='M5 16a1 1 0 0 0 1 1v-2a1 1 0 0 0-1 1Zm1-3c0-.729.195-1.412.535-2H6a1 1 0 1 0 0 2Zm0-6a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2H6Zm2 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H10a2 2 0 0 1-2-2v-9Zm8 3.698L20.438 13h-8.876L16 16.698ZM10 22h12v-7.698l-4.72 3.933a2 2 0 0 1-2.56 0L10 14.302V22Z'></path>\",\"<path d='M5 4a1 1 0 0 0-1 1v22a1 1 0 0 0 1 1h6v1c0 .345.044.68.126 1H5a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h18a3 3 0 0 1 3 3v10h-2V5a1 1 0 0 0-1-1H5Z'></path><path d='M8 23h3v-2H8a1 1 0 1 0 0 2Zm3-4c0-.729.195-1.412.535-2H8a1 1 0 1 0 0 2h3Zm9-4H8a1 1 0 1 1 0-2h12a1 1 0 1 1 0 2ZM7 10a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H8a1 1 0 0 1-1-1Zm6 9a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H15a2 2 0 0 1-2-2V19Zm9 4.677L27.396 19H16.604L22 23.677ZM15 29h14v-8.743l-5.69 4.931a2 2 0 0 1-2.62 0L15 20.257V29Z'></path>\"]];","export default [[\"M3 5h.75A.25.25 0 0 0 4 4.75v-.5A.25.25 0 0 0 3.75 4h-2.5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25H2v2.75c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 7.75V5Zm7 0h-.75A.25.25 0 0 1 9 4.75v-.5A.25.25 0 0 1 9.25 4h2.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25H11v2.75a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25V5ZM7.75 4a.25.25 0 0 1 .25.25v.854a.25.25 0 0 1-.073.176l-.72.72.72.72A.25.25 0 0 1 8 6.896v.854a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 7 7.75v-.543l-.5-.5-.5.5v.543a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 5 7.75v-.854a.25.25 0 0 1 .073-.176l.72-.72-.72-.72A.25.25 0 0 1 5 5.104V4.25A.25.25 0 0 1 5.25 4h.5a.25.25 0 0 1 .25.25v.543l.5.5.5-.5V4.25A.25.25 0 0 1 7.25 4h.5Z\",\"<path d='M3.5 1H9v3.5A1.5 1.5 0 0 0 10.5 6H14v3.25a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25H12v2.75c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25V10h.75a.25.25 0 0 0 .25-.25v3.75a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 13.5v-11A1.5 1.5 0 0 1 3.5 1ZM5 10h.75A.25.25 0 0 0 6 9.75v-.5A.25.25 0 0 0 5.75 9h-2.5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25H4v2.75c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25V10Zm5-.75A.25.25 0 0 0 9.75 9h-.5a.25.25 0 0 0-.25.25v.543l-.5.5-.5-.5V9.25A.25.25 0 0 0 7.75 9h-.5a.25.25 0 0 0-.25.25v.854c0 .066.026.13.073.176l.72.72-.72.72a.25.25 0 0 0-.073.176v.854c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.543l.5-.5.5.5v.543c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.854a.25.25 0 0 0-.073-.176l-.72-.72.72-.72a.25.25 0 0 0 .073-.176V9.25Z'></path><path d='M13.529 4.61a1.5 1.5 0 0 1 .297.39H10.5a.5.5 0 0 1-.5-.5V1.298c.046.034.09.07.132.11l3.397 3.201Z'></path>\",\"<path d='M6 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V9h-4a3 3 0 0 1-3-3V2H6Zm2 14h.75a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25H7v2.75c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25V16Zm7 0h-.75a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25h2.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25H16v2.75a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25V16Zm-2-.75a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25v.543l-.5.5-.5-.5v-.543a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25v.854c0 .066.026.13.073.176l.72.72-.72.72a.25.25 0 0 0-.073.176v.854c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.543l.5-.5.5.5v.543c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.854a.25.25 0 0 0-.073-.176l-.72-.72.72-.72a.25.25 0 0 0 .073-.176v-.854Z'></path><path d='M20.054 6.063c.286.269.513.588.673.937H17a1 1 0 0 1-1-1V2.379c.214.119.414.264.595.435l3.46 3.25Z'></path>\",\"<path d='M4 5a3 3 0 0 1 3-3h12v6a3 3 0 0 0 3 3h6v16a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V5Zm6 16.25a.25.25 0 0 1 .25-.25h1.5a.25.25 0 0 0 .25-.25v-1.5a.25.25 0 0 0-.25-.25h-5.5a.25.25 0 0 0-.25.25v1.5c0 .138.112.25.25.25h1.5a.25.25 0 0 1 .25.25v5.5c0 .138.112.25.25.25h1.5a.25.25 0 0 0 .25-.25v-5.5Zm12 0a.25.25 0 0 0-.25-.25h-1.5a.25.25 0 0 1-.25-.25v-1.5a.25.25 0 0 1 .25-.25h5.5a.25.25 0 0 1 .25.25v1.5a.25.25 0 0 1-.25.25h-1.5a.25.25 0 0 0-.25.25v5.5a.25.25 0 0 1-.25.25h-1.5a.25.25 0 0 1-.25-.25v-5.5Zm-3-2V21a1 1 0 0 1-.293.707l-1.116 1.116a.25.25 0 0 0 0 .354l1.116 1.116A1 1 0 0 1 19 25v1.75a.25.25 0 0 1-.25.25h-1.5a.25.25 0 0 1-.25-.25v-1.232a.25.25 0 0 0-.073-.177l-.75-.75a.25.25 0 0 0-.354 0l-.75.75a.25.25 0 0 0-.073.177v1.232a.25.25 0 0 1-.25.25h-1.5a.25.25 0 0 1-.25-.25V25a1 1 0 0 1 .293-.707l1.116-1.116a.25.25 0 0 0 0-.354l-1.116-1.116A1 1 0 0 1 13 21v-1.75a.25.25 0 0 1 .25-.25h1.5a.25.25 0 0 1 .25.25v1.232c0 .067.026.13.073.177l.75.75a.25.25 0 0 0 .354 0l.75-.75a.25.25 0 0 0 .073-.177V19.25a.25.25 0 0 1 .25-.25h1.5a.25.25 0 0 1 .25.25Z'></path><path d='M27.378 9a2.99 2.99 0 0 0-.257-.293L21.293 2.88A3.01 3.01 0 0 0 21 2.622V8a1 1 0 0 0 1 1h5.378Z'></path>\"],[\"M3 5h.75A.25.25 0 0 0 4 4.75v-.5A.25.25 0 0 0 3.75 4h-2.5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25H2v2.75c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 7.75V5Zm7 0h-.75A.25.25 0 0 1 9 4.75v-.5A.25.25 0 0 1 9.25 4h2.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25H11v2.75a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25V5ZM7.75 4a.25.25 0 0 1 .25.25v.854a.25.25 0 0 1-.073.176l-.72.72.72.72A.25.25 0 0 1 8 6.896v.854a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 7 7.75v-.543l-.5-.5-.5.5v.543a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 5 7.75v-.854a.25.25 0 0 1 .073-.176l.72-.72-.72-.72A.25.25 0 0 1 5 5.104V4.25A.25.25 0 0 1 5.25 4h.5a.25.25 0 0 1 .25.25v.543l.5.5.5-.5V4.25A.25.25 0 0 1 7.25 4h.5Z\",\"<path d='M2 2.5v11A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V9.75a.25.25 0 0 1-.25.25H13v2.75a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25V10h-.75a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25h2.5a.25.25 0 0 1 .25.25V5.7a1.5 1.5 0 0 0-.471-1.09l-3.397-3.202A1.5 1.5 0 0 0 9.103 1H3.5A1.5 1.5 0 0 0 2 2.5ZM3.5 2a.5.5 0 0 0-.5.5V8h10V6h-2.5A1.5 1.5 0 0 1 9 4.5V2H3.5Zm6.5.658V4.5a.5.5 0 0 0 .5.5h1.985L10 2.658ZM6 9.75a.25.25 0 0 1-.25.25H5v2.75a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25V10h-.75A.25.25 0 0 1 3 9.75v-.5A.25.25 0 0 1 3.25 9h2.5a.25.25 0 0 1 .25.25v.5ZM9.75 9a.25.25 0 0 1 .25.25v.854a.25.25 0 0 1-.073.176l-.72.72.72.72a.25.25 0 0 1 .073.176v.854a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.543l-.5-.5-.5.5v.543a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.854a.25.25 0 0 1 .073-.176l.72-.72-.72-.72A.25.25 0 0 1 7 10.104V9.25A.25.25 0 0 1 7.25 9h.5a.25.25 0 0 1 .25.25v.543l.5.5.5-.5V9.25A.25.25 0 0 1 9.25 9h.5Z'></path><path d='M14 13.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z'></path>\",\"M6 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V8.25a3 3 0 0 0-.946-2.187l-3.459-3.25A3 3 0 0 0 14.541 2H6ZM5 5a1 1 0 0 1 1-1h8v2a3 3 0 0 0 3 3h2v5H5V5Zm13.13 2L16 4.999V6a1 1 0 0 0 1 1h1.13ZM8 16h.75a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25H7v2.75c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25V16Zm7 0h-.75a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25h2.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25H16v2.75a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25V16Zm-2-.75a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25v.543l-.5.5-.5-.5v-.543a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25v.854c0 .066.026.13.073.176l.72.72-.72.72a.25.25 0 0 0-.073.176v.854c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.543l.5-.5.5.5v.543c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.854a.25.25 0 0 0-.073-.176l-.72-.72.72-.72a.25.25 0 0 0 .073-.176v-.854Z\",\"M4 5a3 3 0 0 1 3-3h12.172a3 3 0 0 1 2.12.879l5.83 5.828A3 3 0 0 1 28 10.828V27a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v12h20v-6h-4a3 3 0 0 1-3-3V4H7Zm14 1.414V8a1 1 0 0 0 1 1h2.586L21 5.414ZM10 21.25a.25.25 0 0 1 .25-.25h1.5a.25.25 0 0 0 .25-.25v-1.5a.25.25 0 0 0-.25-.25h-5.5a.25.25 0 0 0-.25.25v1.5c0 .138.112.25.25.25h1.5a.25.25 0 0 1 .25.25v5.5c0 .138.112.25.25.25h1.5a.25.25 0 0 0 .25-.25v-5.5Zm12 0a.25.25 0 0 0-.25-.25h-1.5a.25.25 0 0 1-.25-.25v-1.5a.25.25 0 0 1 .25-.25h5.5a.25.25 0 0 1 .25.25v1.5a.25.25 0 0 1-.25.25h-1.5a.25.25 0 0 0-.25.25v5.5a.25.25 0 0 1-.25.25h-1.5a.25.25 0 0 1-.25-.25v-5.5Zm-3-2V21a1 1 0 0 1-.293.707l-1.116 1.116a.25.25 0 0 0 0 .354l1.116 1.116A1 1 0 0 1 19 25v1.75a.25.25 0 0 1-.25.25h-1.5a.25.25 0 0 1-.25-.25v-1.232a.25.25 0 0 0-.073-.177l-.75-.75a.25.25 0 0 0-.354 0l-.75.75a.25.25 0 0 0-.073.177v1.232a.25.25 0 0 1-.25.25h-1.5a.25.25 0 0 1-.25-.25V25a1 1 0 0 1 .293-.707l1.116-1.116a.25.25 0 0 0 0-.354l-1.116-1.116A1 1 0 0 1 13 21v-1.75a.25.25 0 0 1 .25-.25h1.5a.25.25 0 0 1 .25.25v1.232c0 .067.026.13.073.177l.75.75a.25.25 0 0 0 .354 0l.75-.75a.25.25 0 0 0 .073-.177V19.25a.25.25 0 0 1 .25-.25h1.5a.25.25 0 0 1 .25.25Z\"]];","export default [[\"<path d='M4 7.73V5.27L6.769 6.5 4 7.73Z'></path><path d='M2.5 1H6v2.5A1.5 1.5 0 0 0 7.5 5H10v4.5A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-7A1.5 1.5 0 0 1 2.5 1Zm1.906 7.644 2.769-1.23c.792-.352.792-1.476 0-1.828l-2.769-1.23A1 1 0 0 0 3 5.269v2.462a1 1 0 0 0 1.406.913Z'></path><path d='M9.613 3.649A1.5 1.5 0 0 1 9.85 4H7.5a.5.5 0 0 1-.5-.5V1.067a1.5 1.5 0 0 1 .669.428l1.944 2.154Z'></path>\",\"<path d='M6 6.809 10.382 9 6 11.191V6.809Z'></path><path d='M3.5 1H9v3.5A1.5 1.5 0 0 0 10.5 6H14v7.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 13.5v-11A1.5 1.5 0 0 1 3.5 1Zm2.947 4.915A1 1 0 0 0 5 6.809v4.382a1 1 0 0 0 1.447.894l4.382-2.19a1 1 0 0 0 0-1.79l-4.382-2.19Z'></path><path d='M13.529 4.61a1.5 1.5 0 0 1 .297.39H10.5a.5.5 0 0 1-.5-.5V1.298c.046.034.09.07.132.11l3.397 3.201Z'></path>\",\"<path d='m10 11.118 4.764 2.382L10 15.882v-4.764Z'></path><path d='M6 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V9h-4a3 3 0 0 1-3-3V2H6Zm4.894 7.33 4.764 2.381c1.475.737 1.475 2.84 0 3.578l-4.764 2.382A2 2 0 0 1 8 15.882v-4.764a2 2 0 0 1 2.894-1.789Z'></path><path d='M20.054 6.063c.286.269.513.588.673.937H17a1 1 0 0 1-1-1V2.379c.214.119.414.264.595.435l3.46 3.25Z'></path>\",\"<path d='M13 21.382v-6.764L19.764 18 13 21.382Z'></path><path d='M7 2a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h18a3 3 0 0 0 3-3V11h-6a3 3 0 0 1-3-3V2H7Zm6.894 21.17A2 2 0 0 1 11 21.383v-6.764a2 2 0 0 1 2.894-1.789l6.764 3.382c1.474.737 1.474 2.84 0 3.578l-6.764 3.382Z'></path><path d='M27.121 8.707c.093.093.179.19.257.293H22a1 1 0 0 1-1-1V2.622c.102.078.2.164.293.257l5.828 5.828Z'></path>\"],[\"<path d='m7.175 7.414-2.769 1.23A1 1 0 0 1 3 7.731V5.269a1 1 0 0 1 1.406-.913l2.769 1.23c.792.352.792 1.476 0 1.828ZM4 5.269v2.462L6.769 6.5 4 5.27Z'></path><path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v7A1.5 1.5 0 0 0 2.5 11h6A1.5 1.5 0 0 0 10 9.5V4.654a1.5 1.5 0 0 0-.387-1.005L7.67 1.495A1.5 1.5 0 0 0 6.556 1H2.5Zm0 1H6v1.5A1.5 1.5 0 0 0 7.5 5H9v4.5a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-7a.5.5 0 0 1 .5-.5Zm4.5.246L8.583 4H7.5a.5.5 0 0 1-.5-.5V2.246Z'></path>\",\"<path d='M6.447 5.915A1 1 0 0 0 5 6.809v4.382a1 1 0 0 0 1.447.894l4.382-2.19a1 1 0 0 0 0-1.79l-4.382-2.19ZM6 6.809 10.382 9 6 11.191V6.809Z'></path><path d='M2 2.5A1.5 1.5 0 0 1 3.5 1h5.603a1.5 1.5 0 0 1 1.029.408l3.397 3.201c.3.284.471.679.471 1.092V13.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 13.5v-11ZM3.5 2a.5.5 0 0 0-.5.5v11a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5V6h-2.5A1.5 1.5 0 0 1 9 4.5V2H3.5Zm6.5.658V4.5a.5.5 0 0 0 .5.5h1.985L10 2.658Z'></path>\",\"<path d='M10.894 9.33A2 2 0 0 0 8 11.117v4.764a2 2 0 0 0 2.894 1.789l4.764-2.382c1.475-.737 1.475-2.84 0-3.578l-4.764-2.38ZM10 11.117l4.764 2.382L10 15.882v-4.764Z'></path><path d='M3 5a3 3 0 0 1 3-3h8.541a3 3 0 0 1 2.054.814l3.46 3.25A3 3 0 0 1 21 8.25V19a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9h-2a3 3 0 0 1-3-3V4H6Zm10 .999V6a1 1 0 0 0 1 1h1.13L16 4.999Z'></path>\",\"<path d='m13.894 23.17 6.764-3.381c1.474-.737 1.474-2.84 0-3.578l-6.764-3.382A2 2 0 0 0 11 14.618v6.764a2 2 0 0 0 2.894 1.789ZM13 21.383v-6.764L19.764 18 13 21.382Z'></path><path d='M4 5a3 3 0 0 1 3-3h12.172a3 3 0 0 1 2.12.879l5.83 5.828A3 3 0 0 1 28 10.828V27a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v22a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V11h-4a3 3 0 0 1-3-3V4H7Zm14 1.414V8a1 1 0 0 0 1 1h2.586L21 5.414Z'></path>\"]];","export default [[\"<path d='M6 1H2.5A1.5 1.5 0 0 0 1 2.5v7A1.5 1.5 0 0 0 2.5 11h6A1.5 1.5 0 0 0 10 9.5V5H8.293a.498.498 0 0 1-.147.354l-.793.792a.5.5 0 0 1-.707 0l-.793-.792a.5.5 0 0 1 0-.708l.366-.365A1.493 1.493 0 0 1 6 3.5V1ZM3 7.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM8 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM4 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z'></path><path d='M9.85 4a1.5 1.5 0 0 0-.237-.351L7.67 1.495A1.5 1.5 0 0 0 7 1.067V3.5a.5.5 0 0 0 .5.5h2.35Z'></path>\",\"<path d='M3.5 1H9v3.5c0 .39.149.745.392 1.012a.498.498 0 0 0-.246.134L7.793 7h-.878A1.5 1.5 0 1 0 5 8.915V10h-.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H6V8.915c.426-.151.764-.489.915-.915h.878L9 9.207v.878a1.5 1.5 0 1 0 1 0v-.878l1.354-1.353a.5.5 0 0 0 0-.708L10.17 5.964c.106.023.216.036.329.036H14v7.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 13.5v-11A1.5 1.5 0 0 1 3.5 1Z'></path><path d='M13.529 4.61a1.5 1.5 0 0 1 .297.39H10.5a.5.5 0 0 1-.5-.5V1.298c.046.034.09.07.132.11l3.397 3.201ZM5 12v-1h1v1H5Zm.5-5a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm3.207.5.793.793.793-.793-.793-.793-.793.793Zm1.293 4a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z'></path>\",\"<path d='M14 2H6a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V9h-4a3.01 3.01 0 0 1-.658-.072l.866.865a1 1 0 0 1 0 1.414L15.5 12.915v1.293a2.5 2.5 0 1 1-2 0v-1.294L12.086 11.5h-1.294A2.51 2.51 0 0 1 9.5 12.791V14h.5a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-3a1 1 0 0 1 1-1h.5v-1.208A2.5 2.5 0 1 1 10.792 9.5h1.294l1.707-1.707a.996.996 0 0 1 .611-.288A2.986 2.986 0 0 1 14 6V2Z'></path><path d='M20.727 7a2.999 2.999 0 0 0-.673-.937l-3.459-3.25A3.001 3.001 0 0 0 16 2.38V6a1 1 0 0 0 1 1h3.727ZM8 16v1h1v-1H8Zm.5-6a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm5.5 6.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Zm.5-6.586-.585.586.586.586.585-.586-.585-.586Z'></path>\",\"<path d='M7 2h12v6c0 .91.406 1.726 1.046 2.277a.999.999 0 0 0-.253.184l-3.04 3.039h-1.898A3.502 3.502 0 0 0 8 14.5a3.502 3.502 0 0 0 2.5 3.355V19H9a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1h-1.5v-1.145a3.508 3.508 0 0 0 2.355-2.355h1.898l2.747 2.747v.898a3.502 3.502 0 0 0 1 6.855 3.5 3.5 0 0 0 1-6.855v-.898l3.04-3.04a1 1 0 0 0 0-1.414l-2.805-2.805c.087.008.176.012.265.012h6v16a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3Z'></path><path d='M27.121 8.707c.093.093.179.19.257.293H22a1 1 0 0 1-1-1V2.622c.102.078.2.164.293.257l5.828 5.828ZM10 24v-3h3v3h-3Zm1.5-11a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm7.5 9.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm1.5-9.918L18.582 14.5l1.918 1.92 1.918-1.918-1.918-1.919Z'></path>\"],[\"<path d='M3 7.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM8 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM4 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M6.556 1a1.5 1.5 0 0 1 1.113.495l1.944 2.154A1.5 1.5 0 0 1 10 4.654V9.5A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-7A1.5 1.5 0 0 1 2.5 1h4.056ZM2 2.5v7a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5V5h-.707a.498.498 0 0 1-.147.354l-.793.792a.5.5 0 0 1-.707 0l-.793-.792a.5.5 0 0 1 0-.708l.366-.365A1.493 1.493 0 0 1 6 3.5V2H2.5a.5.5 0 0 0-.5.5ZM8.583 4 7 2.246V3.5a.5.5 0 0 0 .5.5h1.083Z'></path>\",\"M2 2.5A1.5 1.5 0 0 1 3.5 1h5.603a1.5 1.5 0 0 1 1.029.408l3.397 3.201c.3.284.471.679.471 1.092V13.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 13.5v-11ZM3.5 2a.5.5 0 0 0-.5.5v11a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5V6h-2.5c-.113 0-.223-.013-.33-.036l1.184 1.182a.5.5 0 0 1 0 .708L10 9.207v.878a1.5 1.5 0 1 1-1 0v-.878L7.793 8h-.878A1.508 1.508 0 0 1 6 8.915V10h.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5H5V8.915A1.5 1.5 0 1 1 6.915 7h.878l1.353-1.354a.498.498 0 0 1 .246-.134A1.495 1.495 0 0 1 9 4.5V2H3.5Zm6.5.658V4.5a.5.5 0 0 0 .5.5h1.985L10 2.658ZM5 12h1v-1H5v1Zm.5-5a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm3.207.5.793.793.793-.793-.793-.793-.793.793Zm1.293 4a.5.5 0 1 0-1 0 .5.5 0 0 0 1 0Z\",\"M3 5a3 3 0 0 1 3-3h8.541a3 3 0 0 1 2.054.814l3.46 3.25A3 3 0 0 1 21 8.25V19a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9h-2a3.01 3.01 0 0 1-.658-.072l.866.865a1 1 0 0 1 0 1.414L15.5 12.915v1.293a2.5 2.5 0 1 1-2 0v-1.294L12.086 11.5h-1.294A2.51 2.51 0 0 1 9.5 12.791V14h.5a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-3a1 1 0 0 1 1-1h.5v-1.208A2.5 2.5 0 1 1 10.792 9.5h1.294l1.707-1.707a.996.996 0 0 1 .611-.288A2.986 2.986 0 0 1 14 6V4H6Zm10 .999V6a1 1 0 0 0 1 1h1.13L16 4.999Zm-8 11v1h1v-1H8Zm.5-6a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm5.5 6.5a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0Zm.5-6.585-.585.586.586.586.585-.586-.585-.586Z\",\"M4 5a3 3 0 0 1 3-3h12.172a3 3 0 0 1 2.12.879l5.83 5.828A3 3 0 0 1 28 10.828V27a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v22a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V11h-4c-.09 0-.178-.004-.265-.012l2.805 2.805a1 1 0 0 1 0 1.415l-3.04 3.04v.897a3.502 3.502 0 0 1-1 6.855 3.5 3.5 0 0 1-1-6.855v-.898L16.753 15.5h-1.898a3.508 3.508 0 0 1-2.355 2.355V19H14a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1v-5a1 1 0 0 1 1-1h1.5v-1.145a3.502 3.502 0 0 1 1-6.855 3.502 3.502 0 0 1 3.355 2.5h1.899l3.039-3.04a.999.999 0 0 1 .253-.183A2.993 2.993 0 0 1 19 8V4H7Zm14 1.414V8a1 1 0 0 0 1 1h2.586L21 5.414ZM10 24h3v-3h-3v3Zm1.5-11a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm7.5 9.5a1.5 1.5 0 1 0 3 0 1.5 1.5 0 0 0-3 0Zm1.5-9.918L18.582 14.5l1.918 1.92 1.918-1.918-1.918-1.919Z\"]];","export default [[\"M4 5v-.75A.25.25 0 0 0 3.75 4h-.5a.25.25 0 0 0-.25.25v.543l-.5.5-.5-.5V4.25A.25.25 0 0 0 1.75 4h-.5a.25.25 0 0 0-.25.25V5a.5.5 0 0 0 .146.354L1.793 6l-.647.646A.5.5 0 0 0 1 7v.75c0 .138.112.25.25.25h.5A.25.25 0 0 0 2 7.75v-.543l.5-.5.5.5v.543c0 .138.112.25.25.25h.5A.25.25 0 0 0 4 7.75V7a.5.5 0 0 0-.146-.354L3.207 6l.647-.646A.5.5 0 0 0 4 5Zm1-.75A.25.25 0 0 1 5.25 4h.5a.25.25 0 0 1 .25.25V7h1.25a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-2A.25.25 0 0 1 5 7.75v-3.5ZM8.5 4a.5.5 0 0 0-.5.5V6a.5.5 0 0 0 .5.5H10V7H8.25a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h2.25a.5.5 0 0 0 .5-.5V6a.5.5 0 0 0-.5-.5H9V5h1.75a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25H8.5Z\",\"<path d='M3.5 1H9v3.5A1.5 1.5 0 0 0 10.5 6H14v7.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 13.5v-11A1.5 1.5 0 0 1 3.5 1ZM6 10v-.75A.25.25 0 0 0 5.75 9h-.5a.25.25 0 0 0-.25.25v.543l-.5.5-.5-.5V9.25A.25.25 0 0 0 3.75 9h-.5a.25.25 0 0 0-.25.25V10a.5.5 0 0 0 .146.354l.647.646-.647.646A.5.5 0 0 0 3 12v.75c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.543l.5-.5.5.5v.543c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25V12a.5.5 0 0 0-.146-.354L5.207 11l.647-.646A.5.5 0 0 0 6 10Zm1-.75A.25.25 0 0 1 7.25 9h.5a.25.25 0 0 1 .25.25V12h1.25a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-2a.25.25 0 0 1-.25-.25v-3.5Zm3 .25a.5.5 0 0 1 .5-.5h2.25a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25H11v.5h1.5a.5.5 0 0 1 .5.5v1.5a.5.5 0 0 1-.5.5h-2.25a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25H12v-.5h-1.5a.5.5 0 0 1-.5-.5V9.5Z'></path><path d='M13.529 4.61a1.5 1.5 0 0 1 .297.39H10.5a.5.5 0 0 1-.5-.5V1.298c.046.034.09.07.132.11l3.397 3.201Z'></path>\",\"<path d='M6 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V9h-4a3 3 0 0 1-3-3V2H6Zm4 13.25V16a.5.5 0 0 1-.146.354L9.207 17l.647.646A.5.5 0 0 1 10 18v.75a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.543l-.5-.5-.5.5v.543a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25V18a.5.5 0 0 1 .146-.354L7.793 17l-.647-.646A.5.5 0 0 1 7 16v-.75a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.543l.5.5.5-.5v-.543a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25Zm1.25-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h2.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25H12v-2.75a.25.25 0 0 0-.25-.25h-.5Zm4.25 0a.5.5 0 0 0-.5.5V17a.5.5 0 0 0 .5.5H17v.5h-1.75a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h2.25a.5.5 0 0 0 .5-.5V17a.5.5 0 0 0-.5-.5H16V16h1.75a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25H15.5Z'></path><path d='M16 2.379V6a1 1 0 0 0 1 1h3.727a2.999 2.999 0 0 0-.673-.937l-3.459-3.25A3.001 3.001 0 0 0 16 2.38Z'></path>\",\"<path d='M7 2a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h18a3 3 0 0 0 3-3V11h-6a3 3 0 0 1-3-3V2H7Zm6 19v-1.75a.25.25 0 0 0-.25-.25h-1.5a.25.25 0 0 0-.25.25v1.336l-1 1-1-1V19.25a.25.25 0 0 0-.25-.25h-1.5a.25.25 0 0 0-.25.25V21a1 1 0 0 0 .293.707L8.586 23l-1.293 1.293A1 1 0 0 0 7 25v1.75c0 .138.112.25.25.25h1.5a.25.25 0 0 0 .25-.25v-1.336l1-1 1 1v1.336c0 .138.112.25.25.25h1.5a.25.25 0 0 0 .25-.25V25a1 1 0 0 0-.293-.707L11.414 23l1.293-1.293A1 1 0 0 0 13 21Zm1-1.75a.25.25 0 0 1 .25-.25h1.5a.25.25 0 0 1 .25.25V25h2.75a.25.25 0 0 1 .25.25v1.5a.25.25 0 0 1-.25.25h-4.5a.25.25 0 0 1-.25-.25v-7.5Zm6 .75a1 1 0 0 1 1-1h3.75a.25.25 0 0 1 .25.25v1.5a.25.25 0 0 1-.25.25H22v1h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-3.75a.25.25 0 0 1-.25-.25v-1.5a.25.25 0 0 1 .25-.25H23v-1h-2a1 1 0 0 1-1-1v-3Z'></path><path d='M27.121 8.707c.093.093.179.19.257.293H22a1 1 0 0 1-1-1V2.622c.102.078.2.164.293.257l5.828 5.828Z'></path>\"],[\"M4 5v-.75A.25.25 0 0 0 3.75 4h-.5a.25.25 0 0 0-.25.25v.543l-.5.5-.5-.5V4.25A.25.25 0 0 0 1.75 4h-.5a.25.25 0 0 0-.25.25V5a.5.5 0 0 0 .146.354L1.793 6l-.647.646A.5.5 0 0 0 1 7v.75c0 .138.112.25.25.25h.5A.25.25 0 0 0 2 7.75v-.543l.5-.5.5.5v.543c0 .138.112.25.25.25h.5A.25.25 0 0 0 4 7.75V7a.5.5 0 0 0-.146-.354L3.207 6l.647-.646A.5.5 0 0 0 4 5Zm1-.75A.25.25 0 0 1 5.25 4h.5a.25.25 0 0 1 .25.25V7h1.25a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-2A.25.25 0 0 1 5 7.75v-3.5ZM8.5 4a.5.5 0 0 0-.5.5V6a.5.5 0 0 0 .5.5H10V7H8.25a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h2.25a.5.5 0 0 0 .5-.5V6a.5.5 0 0 0-.5-.5H9V5h1.75a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25H8.5Z\",\"<path d='M14 13.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z'></path><path d='M2 13.5v-11A1.5 1.5 0 0 1 3.5 1h5.603a1.5 1.5 0 0 1 1.029.408l3.397 3.201c.3.284.471.679.471 1.092V13.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 13.5Zm1-11a.5.5 0 0 1 .5-.5H9v2.5A1.5 1.5 0 0 0 10.5 6H13v2H3V2.5Zm7 2V2.658L12.485 5H10.5a.5.5 0 0 1-.5-.5ZM6 10v-.75A.25.25 0 0 0 5.75 9h-.5a.25.25 0 0 0-.25.25v.543l-.5.5-.5-.5V9.25A.25.25 0 0 0 3.75 9h-.5a.25.25 0 0 0-.25.25V10a.5.5 0 0 0 .146.354l.647.646-.647.646A.5.5 0 0 0 3 12v.75c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.543l.5-.5.5.5v.543c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25V12a.5.5 0 0 0-.146-.354L5.207 11l.647-.646A.5.5 0 0 0 6 10Zm1-.75A.25.25 0 0 1 7.25 9h.5a.25.25 0 0 1 .25.25V12h1.25a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-2a.25.25 0 0 1-.25-.25v-3.5Zm3 .25a.5.5 0 0 1 .5-.5h2.25a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25H11v.5h1.5a.5.5 0 0 1 .5.5v1.5a.5.5 0 0 1-.5.5h-2.25a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25H12v-.5h-1.5a.5.5 0 0 1-.5-.5V9.5Z'></path>\",\"M6 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V8.25a3 3 0 0 0-.946-2.187l-3.459-3.25A3 3 0 0 0 14.541 2H6ZM5 5a1 1 0 0 1 1-1h8v2a3 3 0 0 0 3 3h2v5H5V5Zm11 1V4.999L18.13 7H17a1 1 0 0 1-1-1Zm-6 10v-.75a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25v.543l-.5.5-.5-.5v-.543a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25V16a.5.5 0 0 0 .146.354l.647.646-.647.646A.5.5 0 0 0 7 18v.75c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.543l.5-.5.5.5v.543c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25V18a.5.5 0 0 0-.146-.354L9.207 17l.647-.646A.5.5 0 0 0 10 16Zm1-.75a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25V18h1.75a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-2.5a.25.25 0 0 1-.25-.25v-3.5Zm4 .25a.5.5 0 0 1 .5-.5h2.25a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25H16v.5h1.5a.5.5 0 0 1 .5.5v1.5a.5.5 0 0 1-.5.5h-2.25a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25H17v-.5h-1.5a.5.5 0 0 1-.5-.5v-1.5Z\",\"M7 2a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h18a3 3 0 0 0 3-3V10.828a3 3 0 0 0-.879-2.12l-5.828-5.83A3 3 0 0 0 19.172 2H7ZM6 5a1 1 0 0 1 1-1h12v4a3 3 0 0 0 3 3h4v6H6V5Zm15 3V5.414L24.586 9H22a1 1 0 0 1-1-1Zm-8 13v-1.75a.25.25 0 0 0-.25-.25h-1.5a.25.25 0 0 0-.25.25v1.336l-1 1-1-1V19.25a.25.25 0 0 0-.25-.25h-1.5a.25.25 0 0 0-.25.25V21a1 1 0 0 0 .293.707L8.586 23l-1.293 1.293A1 1 0 0 0 7 25v1.75c0 .138.112.25.25.25h1.5a.25.25 0 0 0 .25-.25v-1.336l1-1 1 1v1.336c0 .138.112.25.25.25h1.5a.25.25 0 0 0 .25-.25V25a1 1 0 0 0-.293-.707L11.414 23l1.293-1.293A1 1 0 0 0 13 21Zm1-1.75a.25.25 0 0 1 .25-.25h1.5a.25.25 0 0 1 .25.25V25h2.75a.25.25 0 0 1 .25.25v1.5a.25.25 0 0 1-.25.25h-4.5a.25.25 0 0 1-.25-.25v-7.5Zm6 .75a1 1 0 0 1 1-1h3.75a.25.25 0 0 1 .25.25v1.5a.25.25 0 0 1-.25.25H22v1h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-3.75a.25.25 0 0 1-.25-.25v-1.5a.25.25 0 0 1 .25-.25H23v-1h-2a1 1 0 0 1-1-1v-3Z\"]];","export default [[\"<path d='M7 1H5.5A1.5 1.5 0 0 0 4 2.5V3h-.5A1.5 1.5 0 0 0 2 4.5v5A1.5 1.5 0 0 0 3.5 11h4A1.5 1.5 0 0 0 9 9.5V9h.5A1.5 1.5 0 0 0 11 7.5V4H8.5A1.5 1.5 0 0 1 7 2.5V1ZM3.5 4H4v3.5A1.5 1.5 0 0 0 5.5 9H8v.5a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-5a.5.5 0 0 1 .5-.5Z'></path><path d='M10.777 3a1.499 1.499 0 0 0-.41-.438l-1.82-1.286A1.5 1.5 0 0 0 8 1.034V2.5a.5.5 0 0 0 .5.5h2.277Z'></path>\",\"<path d='M10 1H5.5A1.5 1.5 0 0 0 4 2.5V3h-.5A1.5 1.5 0 0 0 2 4.5v9A1.5 1.5 0 0 0 3.5 15h7a1.5 1.5 0 0 0 1.5-1.5V13h.5a1.5 1.5 0 0 0 1.5-1.5V5h-2.5A1.5 1.5 0 0 1 10 3.5V1ZM3.5 4H4v7.5A1.5 1.5 0 0 0 5.5 13H11v.5a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5Z'></path><path d='M13.823 4a1.499 1.499 0 0 0-.306-.395l-2.39-2.207A1.506 1.506 0 0 0 11 1.293V3.5a.5.5 0 0 0 .5.5h2.323Z'></path>\",\"<path d='M9 2a3 3 0 0 0-3 3H5a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h9a3 3 0 0 0 3-3v-1h1a3 3 0 0 0 3-3V9h-4a3 3 0 0 1-3-3V2H9ZM5 7h1v9a3 3 0 0 0 3 3h6v1a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1Z'></path><path d='M16 2.379V6a1 1 0 0 0 1 1h3.727a2.999 2.999 0 0 0-.673-.937l-3.459-3.25A3.001 3.001 0 0 0 16 2.38Z'></path>\",\"<path d='M20 2h-9a3 3 0 0 0-3 3v1H7a3 3 0 0 0-3 3v18a3 3 0 0 0 3 3h15a3 3 0 0 0 3-3v-1h1a3 3 0 0 0 3-3V11h-6a3 3 0 0 1-3-3V2ZM7 8h1v15a3 3 0 0 0 3 3h12v1a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1Z'></path><path d='M28.378 9a2.99 2.99 0 0 0-.257-.293L22.293 2.88A3.01 3.01 0 0 0 22 2.622V8a1 1 0 0 0 1 1h5.378Z'></path>\"],[\"M5.5 1A1.5 1.5 0 0 0 4 2.5V3h-.5A1.5 1.5 0 0 0 2 4.5v5A1.5 1.5 0 0 0 3.5 11h4A1.5 1.5 0 0 0 9 9.5V9h.5A1.5 1.5 0 0 0 11 7.5V3.787a1.5 1.5 0 0 0-.633-1.225l-1.82-1.286A1.5 1.5 0 0 0 7.682 1H5.5Zm0 1a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5V4H8.5A1.5 1.5 0 0 1 7 2.5V2H5.5Zm2.5.113V2.5a.5.5 0 0 0 .5.5h.754L8 2.113ZM5.5 9H8v.5a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-5a.5.5 0 0 1 .5-.5H4v3.5A1.5 1.5 0 0 0 5.5 9Z\",\"M4 2.5V3h-.5A1.5 1.5 0 0 0 2 4.5v9A1.5 1.5 0 0 0 3.5 15h7a1.5 1.5 0 0 0 1.5-1.5V13h.5a1.5 1.5 0 0 0 1.5-1.5V4.707a1.5 1.5 0 0 0-.483-1.102l-2.39-2.207A1.5 1.5 0 0 0 10.108 1H5.5A1.5 1.5 0 0 0 4 2.5ZM5.5 2a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5V5h-1.5A1.5 1.5 0 0 1 10 3.5V2H5.5Zm5.5.642V3.5a.5.5 0 0 0 .5.5h.971L11 2.642ZM3.5 4H4v7.5A1.5 1.5 0 0 0 5.5 13H11v.5a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5Z\",\"M6 5a3 3 0 0 1 3-3h5.541a3 3 0 0 1 2.054.814l3.46 3.25A3 3 0 0 1 21 8.25V16a3 3 0 0 1-3 3h-1v1a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V8a3 3 0 0 1 3-3h1Zm3-1a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h9a1 1 0 0 0 1-1V9h-2a3 3 0 0 1-3-3V4H9Zm7 .999V6a1 1 0 0 0 1 1h1.13L16 4.999ZM9 19h6v1a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h1v9a3 3 0 0 0 3 3Z\",\"M25 26h1a3 3 0 0 0 3-3V10.828a3 3 0 0 0-.879-2.12l-5.828-5.83A3 3 0 0 0 20.172 2H11a3 3 0 0 0-3 3v1H7a3 3 0 0 0-3 3v18a3 3 0 0 0 3 3h15a3 3 0 0 0 3-3v-1ZM11 4a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1h15a1 1 0 0 0 1-1V11h-4a3 3 0 0 1-3-3V4h-9Zm12 22H11a3 3 0 0 1-3-3V8H7a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1h15a1 1 0 0 0 1-1v-1ZM22 5.414 25.586 9H23a1 1 0 0 1-1-1V5.414Z\"]];","export default [[\"<path d='M6 1H4.5A1.5 1.5 0 0 0 3 2.5V3h-.5A1.5 1.5 0 0 0 1 4.5v5A1.5 1.5 0 0 0 2.5 11h2.564l.171-1H2.5a.5.5 0 0 1-.5-.5v-5a.5.5 0 0 1 .5-.5H3v3.5A1.5 1.5 0 0 0 4.5 9h1.02a1.5 1.5 0 0 1 .212-.268l3-3c.36-.36.803-.587 1.268-.682V4H7.5A1.5 1.5 0 0 1 6 2.5V1Zm2 4.5a.5.5 0 0 1-.5.5h-2a.5.5 0 1 1 0-1h2a.5.5 0 0 1 .5.5Z'></path><path d='M9.777 3a1.5 1.5 0 0 0-.41-.438L7.548 1.276A1.5 1.5 0 0 0 7 1.034V2.5a.5.5 0 0 0 .5.5h2.277ZM9.44 6.44a1.5 1.5 0 0 1 2.12 2.12l-3 3a.5.5 0 0 1-.268.14l-1.707.293a.5.5 0 0 1-.578-.578L6.3 9.708a.5.5 0 0 1 .14-.269l3-3Zm1.414.706a.5.5 0 0 0-.708 0L10 7.293l.707.707.147-.146a.5.5 0 0 0 0-.708Zm-3.595 2.888-.147.854.854-.147L10 8.707 9.293 8l-2.034 2.034Z'></path>\",\"<path d='M5.5 1H10v2.5A1.5 1.5 0 0 0 11.5 5H14v2.05a2.488 2.488 0 0 0-1.268.682L11.464 9H6.5a.5.5 0 0 0 0 1h3.964l-2.232 2.232a1.5 1.5 0 0 0-.35.554L7.803 13H5.5A1.5 1.5 0 0 1 4 11.5V4h-.5a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h3.945l-.357.993-.002.007H3.5A1.5 1.5 0 0 1 2 13.5v-9A1.5 1.5 0 0 1 3.5 3H4v-.5A1.5 1.5 0 0 1 5.5 1Zm1 6a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5Z'></path><path d='M13.517 3.605c.125.115.228.249.306.395H11.5a.5.5 0 0 1-.5-.5V1.293c.044.033.086.068.126.105l2.391 2.207ZM13.44 8.44a1.5 1.5 0 0 1 2.12 2.12l-4.5 4.5a.503.503 0 0 1-.184.118l-2.207.793a.5.5 0 0 1-.64-.64l.793-2.207a.501.501 0 0 1 .117-.185l4.5-4.5Zm1.414.706a.5.5 0 0 0-.708 0l-.29.291.707.708.29-.291a.5.5 0 0 0 0-.708Zm-5.128 4.421-.397 1.104 1.104-.397 3.422-3.422-.707-.707-3.422 3.422Z'></path>\",\"<path d='M6 5H5a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h5a3 3 0 0 1 .043-.507L10.3 21H5a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h1v9a3 3 0 0 0 3 3h1.643a3 3 0 0 1 .821-1.535L13.93 15H11a1 1 0 1 1 0-2h4.929l1.536-1.536A4.984 4.984 0 0 1 21 10V9h-4a3 3 0 0 1-3-3V2H9a3 3 0 0 0-3 3Zm4 6a1 1 0 0 1 1-1h5a1 1 0 1 1 0 2h-5a1 1 0 0 1-1-1Z'></path><path d='M20.727 7a2.999 2.999 0 0 0-.673-.937l-3.459-3.25A3.001 3.001 0 0 0 16 2.38V6a1 1 0 0 0 1 1h3.727Zm2.394 10.121-6 6a1 1 0 0 1-.538.279l-3.414.586a1 1 0 0 1-1.155-1.155l.586-3.414a1 1 0 0 1 .279-.538l6-6a3 3 0 1 1 4.242 4.242Zm-1.414-2.828a1 1 0 0 0-1.414 0l-.293.293L21.414 16l.293-.293a1 1 0 0 0 0-1.414ZM18.586 16l-4.068 4.068-.293 1.707 1.707-.293L20 17.414 18.586 16Z'></path>\",\"<path d='M11 2h9v6a3 3 0 0 0 3 3h3.29H26s-.444.373-1.535 1.464L22.929 14H13a1 1 0 1 0 0 2h7.93l-2 2H13a1 1 0 1 0 0 2h3.93l-2.965 2.965a3 3 0 0 0-.64.949L12.438 26H11a3 3 0 0 1-3-3V8H7a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1h4.59l-.351.828c-.161.378-.24.777-.239 1.172H7a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3h1V5a3 3 0 0 1 3-3Z'></path><path d='M28.121 8.707c.093.093.179.19.257.293H23a1 1 0 0 1-1-1V2.622c.102.078.2.164.293.257l5.828 5.828ZM15.379 24.379l10.5-10.5a3 3 0 1 1 4.242 4.242l-10.5 10.5a.998.998 0 0 1-.316.214L14.39 30.92a1 1 0 0 1-1.312-1.31l2.086-4.915a1 1 0 0 1 .214-.316ZM27.914 17.5l.793-.793a1 1 0 1 0-1.414-1.414l-.793.793 1.414 1.414ZM16.93 25.655l-1.043 2.457 2.458-1.042 8.155-8.156-1.414-1.414-8.156 8.155Z'></path>\"],[\"<path d='M4.5 1A1.5 1.5 0 0 0 3 2.5V3h-.5A1.5 1.5 0 0 0 1 4.5v5A1.5 1.5 0 0 0 2.5 11h2.564l.171-1H2.5a.5.5 0 0 1-.5-.5v-5a.5.5 0 0 1 .5-.5H3v3.5A1.5 1.5 0 0 0 4.5 9h1.02a1.5 1.5 0 0 1 .212-.268L6.464 8H4.5a.5.5 0 0 1-.5-.5v-5a.5.5 0 0 1 .5-.5H6v1a1.5 1.5 0 0 0 1.5 1.5H9v1a2.485 2.485 0 0 1 1-.45V3.787a1.5 1.5 0 0 0-.633-1.225L7.548 1.276A1.5 1.5 0 0 0 6.682 1H4.5ZM7 3v-.887l1.789 1.265a.5.5 0 0 1 .12.122H7.5A.5.5 0 0 1 7 3Z'></path><path d='M7.5 6a.5.5 0 0 0 0-1h-2a.5.5 0 0 0 0 1h2Zm1.94.44a1.5 1.5 0 0 1 2.12 2.12l-3 3a.5.5 0 0 1-.268.14l-1.707.293a.5.5 0 0 1-.578-.578L6.3 9.708a.5.5 0 0 1 .14-.269l3-3Zm1.414.706a.5.5 0 0 0-.708 0L10 7.293l.707.707.147-.146a.5.5 0 0 0 0-.708Zm-3.595 2.888-.147.854.854-.147L10 8.707 9.293 8l-2.034 2.034Z'></path>\",\"<path d='M4 3v-.5A1.5 1.5 0 0 1 5.5 1h4.609a1.5 1.5 0 0 1 1.017.398l2.391 2.207A1.5 1.5 0 0 1 14 4.707V7.05a2.485 2.485 0 0 0-1 .45V5h-1.5A1.5 1.5 0 0 1 10 3.5V2H5.5a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h2.964l-.232.232a1.5 1.5 0 0 0-.35.554L7.803 13H5.5A1.5 1.5 0 0 1 4 11.5V4h-.5a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h3.945l-.357.993-.002.007H3.5A1.5 1.5 0 0 1 2 13.5v-9A1.5 1.5 0 0 1 3.5 3H4Zm7 .5a.5.5 0 0 0 .5.5h.971L11 2.642V3.5Z'></path><path d='m11.464 9-1 1H6.5a.5.5 0 0 1 0-1h4.964ZM6.5 7a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5Zm6.94 1.44a1.5 1.5 0 0 1 2.12 2.12l-4.5 4.5a.503.503 0 0 1-.184.118l-2.207.793a.5.5 0 0 1-.64-.64l.793-2.207a.501.501 0 0 1 .117-.185l4.5-4.5Zm1.414.706a.5.5 0 0 0-.708 0l-.29.291.707.708.29-.291a.5.5 0 0 0 0-.708Zm-5.128 4.421-.397 1.104 1.104-.397 3.422-3.422-.707-.707-3.422 3.422Z'></path>\",\"<path d='M9 2a3 3 0 0 0-3 3H5a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h5a3 3 0 0 1 .043-.507L10.3 21H5a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h1v9a3 3 0 0 0 3 3h1.643a3 3 0 0 1 .821-1.535L11.93 17H9a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h5v2a3 3 0 0 0 3 3h2v1.416A5.006 5.006 0 0 1 21 10V8.25a3 3 0 0 0-.946-2.187l-3.459-3.25A3 3 0 0 0 14.541 2H9Zm9.13 5H17a1 1 0 0 1-1-1V4.999L18.13 7Z'></path><path d='m13.929 15 2-2H11a1 1 0 1 0 0 2h2.929ZM10 11a1 1 0 0 1 1-1h5a1 1 0 1 1 0 2h-5a1 1 0 0 1-1-1Zm8.879 1.879a3 3 0 1 1 4.242 4.242l-6 6a1 1 0 0 1-.538.279l-3.414.586a1 1 0 0 1-1.155-1.155l.586-3.414a1 1 0 0 1 .279-.538l6-6Zm2.828 1.414a1 1 0 0 0-1.414 0l-.293.293L21.414 16l.293-.293a1 1 0 0 0 0-1.414Zm-7.19 5.775-.292 1.707 1.707-.293L20 17.414 18.586 16l-4.068 4.068Z'></path>\",\"<path d='M11 30H7a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3h1V5a3 3 0 0 1 3-3h9.172a3 3 0 0 1 2.12.879l5.83 5.828A3 3 0 0 1 29 10.828V11h-6a3 3 0 0 1-3-3V4h-9a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1h2.288l-.85 2H11a3 3 0 0 1-3-3V8H7a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1h4.59l-.351.828a2.99 2.99 0 0 0-.24 1.172ZM25.586 9 22 5.414V8a1 1 0 0 0 1 1h2.586Z'></path><path d='m18.929 18-2 2H13a1 1 0 1 1 0-2h5.929Zm2-2 2-2H13a1 1 0 1 0 0 2h7.929Zm4.95-2.121a3 3 0 1 1 4.242 4.242l-10.5 10.5a.998.998 0 0 1-.316.214L14.39 30.92a1 1 0 0 1-1.312-1.31l2.086-4.915a1 1 0 0 1 .214-.316l10.5-10.5Zm2.828 1.414a1 1 0 0 0-1.414 0l-.793.793 1.414 1.414.793-.793a1 1 0 0 0 0-1.414ZM16.93 25.655l-1.043 2.457 2.458-1.042 8.155-8.156-1.414-1.414-8.156 8.155Z'></path>\"]];","export default [[\"M5 2.526a1.5 1.5 0 0 1 1.988-1.419l2 .688A1.5 1.5 0 0 1 10 3.214V8.79a1.5 1.5 0 0 1-1.003 1.416l-2 .702A1.5 1.5 0 0 1 5 9.494V2.526ZM7.5 6a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1ZM3 2a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h1V9H3V3h1V2H3Z\",\"M6 2.387A1.5 1.5 0 0 1 7.974.964l4 1.334A1.5 1.5 0 0 1 13 3.72v8.558a1.5 1.5 0 0 1-1.026 1.423l-4 1.334A1.5 1.5 0 0 1 6 13.613V2.386ZM10 8a1 1 0 1 0-2 0 1 1 0 0 0 2 0ZM3 4a1 1 0 0 1 1-1h1v1H4v8h1v1H4a1 1 0 0 1-1-1V4Z\",\"M10 3.86a2 2 0 0 1 2.597-1.909l6 1.875A2 2 0 0 1 20 5.736v12.499a2 2 0 0 1-1.477 1.93l-6 1.625A2 2 0 0 1 10 19.86v-16ZM15 12a1 1 0 1 0-2 0 1 1 0 0 0 2 0ZM4 5.5A1.5 1.5 0 0 1 5.5 4H8v2H6v12h2v2H5.5A1.5 1.5 0 0 1 4 18.5v-13Z\",\"M12 4.775a3 3 0 0 1 3.949-2.846l8 2.666A3 3 0 0 1 26 7.441v17.117a3 3 0 0 1-2.051 2.846l-8 2.667A3 3 0 0 1 12 27.225V4.775ZM19 15.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0ZM6 8a2 2 0 0 1 2-2h2v2H8v16h2v2H8a2 2 0 0 1-2-2V8Z\"],[\"<path d='M8 5.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z'></path><path d='M5 2.526a1.5 1.5 0 0 1 1.988-1.419l2 .688A1.5 1.5 0 0 1 10 3.214V8.79a1.5 1.5 0 0 1-1.003 1.416l-2 .702A1.5 1.5 0 0 1 5 9.494V2.526Zm1.663-.473A.5.5 0 0 0 6 2.526v6.968a.5.5 0 0 0 .666.471l2-.702A.5.5 0 0 0 9 8.791V3.214a.5.5 0 0 0-.337-.473l-2-.688ZM3 2a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h1V9H3V3h1V2H3Z'></path>\",\"<path d='M9 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M6 2.387A1.5 1.5 0 0 1 7.974.964l4 1.334A1.5 1.5 0 0 1 13 3.72v8.558a1.5 1.5 0 0 1-1.026 1.423l-4 1.334A1.5 1.5 0 0 1 6 13.613V2.386Zm1.658-.474A.5.5 0 0 0 7 2.387v11.226a.5.5 0 0 0 .658.474l4-1.333a.5.5 0 0 0 .342-.475V3.721a.5.5 0 0 0-.342-.475l-4-1.333ZM3 4a1 1 0 0 1 1-1h1v1H4v8h1v1H4a1 1 0 0 1-1-1V4Z'></path>\",\"<path d='M14 13a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M10 3.86a2 2 0 0 1 2.597-1.909l6 1.875A2 2 0 0 1 20 5.736v12.499a2 2 0 0 1-1.477 1.93l-6 1.625A2 2 0 0 1 10 19.86v-16Zm8 1.875L12 3.86v16l6-1.625v-12.5ZM4 5.5A1.5 1.5 0 0 1 5.5 4H8v2H6v12h2v2H5.5A1.5 1.5 0 0 1 4 18.5v-13Z'></path>\",\"<path d='M17.5 17a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z'></path><path d='M12 4.775a3 3 0 0 1 3.949-2.846l8 2.666A3 3 0 0 1 26 7.441v17.117a3 3 0 0 1-2.051 2.846l-8 2.667A3 3 0 0 1 12 27.225V4.775Zm3.316-.949A1 1 0 0 0 14 4.775v22.45a1 1 0 0 0 1.316.949l8-2.667a1 1 0 0 0 .684-.949V7.441a1 1 0 0 0-.684-.948l-8-2.667ZM6 8a2 2 0 0 1 2-2h2v2H8v16h2v2H8a2 2 0 0 1-2-2V8Z'></path>\"]];","export default [[\"<path d='M6.83 2.876a.5.5 0 0 0-.66-.752l-4 3.5a.5.5 0 0 0 0 .752l4 3.5a.5.5 0 0 0 .66-.752L3.26 6l3.57-3.124Z'></path><path d='M9.83 2.876a.5.5 0 0 0-.66-.752l-4 3.5a.5.5 0 0 0 0 .752l4 3.5a.5.5 0 0 0 .66-.752L6.26 6l3.57-3.124Z'></path>\",\"<path d='M9.838 2.869a.5.5 0 1 0-.676-.738l-6 5.5a.5.5 0 0 0 0 .738l6 5.5a.5.5 0 0 0 .676-.738L4.24 8l5.598-5.131Z'></path><path d='M12.838 2.869a.5.5 0 0 0-.676-.738l-6 5.5a.5.5 0 0 0 0 .738l6 5.5a.5.5 0 0 0 .676-.738L7.24 8l5.598-5.131Z'></path>\",\"<path d='M13.707 4.707a1 1 0 0 0-1.414-1.414l-8 8a1 1 0 0 0 0 1.414l8 8a1 1 0 0 0 1.414-1.414L6.414 12l7.293-7.293Z'></path><path d='M18.707 4.707a1 1 0 0 0-1.414-1.414l-8 8a1 1 0 0 0 0 1.414l8 8a1 1 0 0 0 1.414-1.414L11.414 12l7.293-7.293Z'></path>\",\"<path d='M18.676 5.737a1 1 0 0 0-1.352-1.474l-12 11a1 1 0 0 0 0 1.474l12 11a1 1 0 0 0 1.352-1.474L7.48 16 18.676 5.737Z'></path><path d='M25.676 5.737a1 1 0 0 0-1.352-1.474l-12 11a1 1 0 0 0 0 1.474l12 11a1 1 0 0 0 1.352-1.474L14.48 16 25.676 5.737Z'></path>\"]];","export default [[\"<path d='M2.17 2.876a.5.5 0 0 1 .66-.752l4 3.5a.5.5 0 0 1 0 .752l-4 3.5a.5.5 0 0 1-.66-.752L5.74 6 2.17 2.876Z'></path><path d='M5.17 2.876a.5.5 0 0 1 .66-.752l4 3.5a.5.5 0 0 1 0 .752l-4 3.5a.5.5 0 0 1-.66-.752L8.74 6 5.17 2.876Z'></path>\",\"<path d='M3.162 2.869a.5.5 0 1 1 .676-.738l6 5.5a.5.5 0 0 1 0 .738l-6 5.5a.5.5 0 0 1-.676-.738L8.76 8 3.162 2.869Z'></path><path d='M6.162 2.869a.5.5 0 1 1 .676-.738l6 5.5a.5.5 0 0 1 0 .738l-6 5.5a.5.5 0 0 1-.676-.738L11.76 8 6.162 2.869Z'></path>\",\"<path d='M5.293 4.707a1 1 0 0 1 1.414-1.414l8 8a1 1 0 0 1 0 1.414l-8 8a1 1 0 0 1-1.414-1.414L12.586 12 5.293 4.707Z'></path><path d='M10.293 4.707a1 1 0 1 1 1.414-1.414l8 8a1 1 0 0 1 0 1.414l-8 8a1 1 0 0 1-1.414-1.414L17.586 12l-7.293-7.293Z'></path>\",\"<path d='M6.324 5.737a1 1 0 0 1 1.352-1.474l12 11a1 1 0 0 1 0 1.474l-12 11a1 1 0 0 1-1.352-1.474L17.52 16 6.324 5.737Z'></path><path d='M13.324 5.737a1 1 0 0 1 1.352-1.474l12 11a1 1 0 0 1 0 1.474l-12 11a1 1 0 0 1-1.352-1.474L24.52 16 13.324 5.737Z'></path>\"]];","export default [[\"M7.154 1H5L1 11h2.154l4-10ZM4.846 11l4-10H11L7 11H4.846Z\",\"M6.615 2 2 14h2.143L8.758 2H6.615Zm5.242 0L7.242 14h2.143L14 2h-2.143Z\",\"M10 3 3 21h3.219l7-18H10Zm7.781 0-7 18H14l7-18h-3.219Z\",\"M14.23 4 5 28h3.214l9.231-24h-3.214Zm9.551 0-9.23 24h3.214l9.23-24h-3.214Z\"]];","export default [[\"<path d='M4.5 1a.5.5 0 0 0-.5.5v3H2.5a.5.5 0 0 0-.354.854l3.5 3.5a.5.5 0 0 0 .708 0l3.5-3.5A.5.5 0 0 0 9.5 4.5H8v-3a.5.5 0 0 0-.5-.5h-3Z'></path><path d='M1.5 9a.5.5 0 0 1 .5.5v.5h8v-.5a.5.5 0 0 1 1 0v.5a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-.5a.5.5 0 0 1 .5-.5Z'></path>\",\"<path d='M6.5 1a.5.5 0 0 0-.5.5V7H4.5a.5.5 0 0 0-.376.83l3.5 4a.5.5 0 0 0 .752 0l3.5-4A.5.5 0 0 0 11.5 7H10V1.5a.5.5 0 0 0-.5-.5h-3Z'></path><path d='M1.5 12a.5.5 0 0 1 .5.5v1a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 1 1 0v1a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 13.5v-1a.5.5 0 0 1 .5-.5Z'></path>\",\"<path d='M9 2a1 1 0 0 0-1 1v6H6a1 1 0 0 0-.76 1.65l6 7a1 1 0 0 0 1.52 0l6-7A1 1 0 0 0 18 9h-2V3a1 1 0 0 0-1-1H9Z'></path><path d='M3 17a1 1 0 0 1 1 1v1a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-1a1 1 0 1 1 2 0v1a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3v-1a1 1 0 0 1 1-1Z'></path>\",\"<path d='M13 2a1 1 0 0 0-1 1v11H8a1 1 0 0 0-.747 1.664l8 9a1 1 0 0 0 1.494 0l8-9A1 1 0 0 0 24 14h-4V3a1 1 0 0 0-1-1h-6Z'></path><path d='M3 24a1 1 0 0 1 1 1v2a1 1 0 0 0 1 1h22a1 1 0 0 0 1-1v-2a1 1 0 1 1 2 0v2a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3v-2a1 1 0 0 1 1-1Z'></path>\"],[\"<path d='M4.5 1a.5.5 0 0 0-.5.5v3H2.5a.5.5 0 0 0-.354.854l3.5 3.5a.5.5 0 0 0 .708 0l3.5-3.5A.5.5 0 0 0 9.5 4.5H8v-3a.5.5 0 0 0-.5-.5h-3ZM5 5.5V2h2v3.5h1.293L6 7.793 3.707 5.5H5Z'></path><path d='M2 9.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-1 0v.5H2v-.5Z'></path>\",\"<path d='M6.5 1a.5.5 0 0 0-.5.5V7H4.5a.5.5 0 0 0-.376.83l3.5 4a.5.5 0 0 0 .752 0l3.5-4A.5.5 0 0 0 11.5 7H10V1.5a.5.5 0 0 0-.5-.5h-3ZM7 8V2h2v6h1.398L8 10.74 5.602 8H7Z'></path><path d='M2 12.5a.5.5 0 0 0-1 0v1A1.5 1.5 0 0 0 2.5 15h11a1.5 1.5 0 0 0 1.5-1.5v-1a.5.5 0 0 0-1 0v1a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-1Z'></path>\",\"<path d='M9 2a1 1 0 0 0-1 1v6H6a1 1 0 0 0-.76 1.65l6 7a1 1 0 0 0 1.52 0l6-7A1 1 0 0 0 18 9h-2V3a1 1 0 0 0-1-1H9Zm1 9V4h4v7h1.826L12 15.463 8.174 11H10Z'></path><path d='M4 18a1 1 0 1 0-2 0v1a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-1a1 1 0 1 0-2 0v1a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1Z'></path>\",\"<path d='M13 2a1 1 0 0 0-1 1v11H8a1 1 0 0 0-.747 1.664l8 9a1 1 0 0 0 1.494 0l8-9A1 1 0 0 0 24 14h-4V3a1 1 0 0 0-1-1h-6Zm1 14V4h4v12h3.773L16 22.495 10.227 16H14Z'></path><path d='M4 25a1 1 0 1 0-2 0v2a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3v-2a1 1 0 1 0-2 0v2a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-2Z'></path>\"]];","export default [[\"<path d='m6 7.293.646-.647a.5.5 0 1 1 .708.708l-1.5 1.5A.498.498 0 0 1 5.503 9h-.006a.498.498 0 0 1-.348-.144m-.003-.003-1.5-1.5a.5.5 0 1 1 .708-.707L5 7.293V2.5a.5.5 0 0 1 1 0v4.793'></path><path d='M3.854 3.854a.5.5 0 1 0-.708-.708l-3 3a.5.5 0 0 0 0 .708l3 3a.5.5 0 0 0 .708-.708L1.207 6.5l2.647-2.646Zm3.292 0a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L9.793 6.5 7.146 3.854Z'></path>\",\"<path d='M8 10.293V3.5a.5.5 0 0 0-1 0v6.793L5.854 9.146a.5.5 0 1 0-.708.708l2 2a.5.5 0 0 0 .351.146h.006c.127 0 .254-.05.35-.146l2-2a.5.5 0 0 0-.707-.708L8 10.293Z'></path><path d='M4.854 5.854a.5.5 0 1 0-.708-.708l-3 3a.5.5 0 0 0 0 .708l3 3a.5.5 0 0 0 .708-.708L2.207 8.5l2.647-2.646Zm5.292 0a.5.5 0 0 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L12.793 8.5l-2.647-2.646Z'></path>\",\"<path d='M11 15.586V6a1 1 0 1 1 2 0v9.586l2.293-2.293a1 1 0 0 1 1.414 1.414l-4 4a1 1 0 0 1-1.414 0l-4-4a1 1 0 1 1 1.414-1.414L11 15.586Z'></path><path d='M6.747 9.664a1 1 0 1 0-1.494-1.328l-4 4.5a1 1 0 0 0 0 1.328l4 4.5a1 1 0 0 0 1.494-1.328L3.338 13.5l3.41-3.836Zm10.506 0a1 1 0 0 1 1.494-1.328l4 4.5a1 1 0 0 1 0 1.328l-4 4.5a1 1 0 0 1-1.494-1.328l3.409-3.836-3.41-3.836Z'></path>\",\"<path d='m15 20.586-3.293-3.293a1 1 0 0 0-1.414 1.414l5 5a1 1 0 0 0 1.414 0l5-5a1 1 0 0 0-1.414-1.414L17 20.586V7a1 1 0 1 0-2 0v13.586Z'></path><path d='M9.737 11.324a1 1 0 0 1-.061 1.413L4.48 17.5l5.196 4.763a1 1 0 0 1-1.352 1.474l-6-5.5a1 1 0 0 1 0-1.474l6-5.5a1 1 0 0 1 1.413.061Zm12.587 1.413a1 1 0 0 1 1.352-1.474l6 5.5a1 1 0 0 1 0 1.474l-6 5.5a1 1 0 0 1-1.352-1.474L27.52 17.5l-5.196-4.763Z'></path>\"]];","export default [[\"<path d='M4 1.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v1.793l1.146-1.147a.5.5 0 1 1 .708.708l-.63.629a.502.502 0 0 0-.078.063l-5.37 5.371a.5.5 0 0 1-.63-.77l.897-.897-1.897-1.896A.5.5 0 0 1 2.5 4.5H4v-3Zm1.45 7.157L9.598 4.51a.5.5 0 0 1 .256.844l-3.5 3.5a.5.5 0 0 1-.708 0l-.196-.197Z'></path><path d='M2 9.5a.5.5 0 0 0-1 0v.5a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-.5a.5.5 0 0 0-1 0v.5H2v-.5Z'></path>\",\"<path d='M6 7V1.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v3.793l4.146-4.147a.5.5 0 0 1 .708.708l-11 11a.5.5 0 0 1-.708-.708l2.536-2.535-1.558-1.782A.5.5 0 0 1 4.5 7H6Zm.996 4.111.628.718a.5.5 0 0 0 .752 0l3.5-4A.5.5 0 0 0 11.5 7h-.393l-4.111 4.111Z'></path><path d='M1.5 12a.5.5 0 0 1 .5.5v1a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 1 1 0v1a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 13.5v-1a.5.5 0 0 1 .5-.5Z'></path>\",\"<path d='M8 3a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v1.586l2.293-2.293a1 1 0 1 1 1.414 1.414l-13 13a1 1 0 0 1-1.414-1.414l2.114-2.114-2.166-2.528A1 1 0 0 1 6 9h2V3Zm2.005 13.21 1.236 1.44a1 1 0 0 0 1.518 0l6-7A1 1 0 0 0 18 9h-.786l-7.209 7.21Z'></path><path d='M3 17a1 1 0 0 1 1 1v1a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-1a1 1 0 1 1 2 0v1a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3v-1a1 1 0 0 1 1-1Z'></path>\",\"<path d='M12 3a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v7.584l7.293-7.291a1 1 0 1 1 1.414 1.414l-.258.258a1.007 1.007 0 0 0-.156.128L7.553 25.829a1 1 0 0 1-1.26-1.54l4.567-4.566-3.607-4.059A1 1 0 0 1 8 14h4V3Zm1.509 19.703L22.213 14H24a1 1 0 0 1 .747 1.664l-8 9a1 1 0 0 1-1.494 0l-1.744-1.961Z'></path><path d='M4 25a1 1 0 1 0-2 0v2a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3v-2a1 1 0 1 0-2 0v2a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-2Z'></path>\"],[\"<path d='M4.5 1a.5.5 0 0 0-.5.5v3H2.5a.5.5 0 0 0-.354.854L4.043 7.25l-.897.896a.5.5 0 1 0 .708.708l6-6a.5.5 0 0 0-.708-.708L8 3.293V1.5a.5.5 0 0 0-.5-.5h-3ZM7 4.293l-2.25 2.25L3.707 5.5H5V2h2v2.293Zm2.598.217L5.45 8.657l.196.197a.5.5 0 0 0 .708 0l3.5-3.5a.5.5 0 0 0-.256-.844Z'></path><path d='M2 9.5a.5.5 0 0 0-1 0v.5a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-.5a.5.5 0 0 0-1 0v.5H2v-.5Z'></path>\",\"<path d='M9.5 1h-3a.5.5 0 0 0-.5.5V7H4.5a.5.5 0 0 0-.376.83l1.558 1.78-2.536 2.536a.5.5 0 0 0 .708.708l11-11a.5.5 0 0 0-.708-.708L10 5.293V1.5a.5.5 0 0 0-.5-.5ZM9 6.293V2H7v6H5.602l.789.902L9 6.292ZM11.107 7l-1 1h.291L8 10.74l-.296-.337-.708.708.628.718a.5.5 0 0 0 .752 0l3.5-4A.5.5 0 0 0 11.5 7h-.393Z'></path><path d='M1.5 12a.5.5 0 0 1 .5.5v1a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 1 1 0v1a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 13.5v-1a.5.5 0 0 1 .5-.5Z'></path>\",\"<path d='M9 2a1 1 0 0 0-1 1v6H6a1 1 0 0 0-.76 1.65l2.167 2.528-2.114 2.115a1 1 0 1 0 1.414 1.414l13-13a1 1 0 0 0-1.414-1.414L16 4.586V3a1 1 0 0 0-1-1H9Zm5 4.586V4h-4v6.586l4-4ZM9.586 11H8.174l.652.76.76-.76Zm7.628-2-2 2h.612L12 15.463l-.576-.672-1.419 1.418 1.236 1.442a1 1 0 0 0 1.518 0l6-7A1 1 0 0 0 18 9h-.786Z'></path><path d='M3 17a1 1 0 0 1 1 1v1a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-1a1 1 0 1 1 2 0v1a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3v-1a1 1 0 0 1 1-1Z'></path>\",\"M13 2a1 1 0 0 0-1 1v11H8a1 1 0 0 0-.747 1.664l3.607 4.059-4.567 4.566a1 1 0 0 0 1.414 1.414l21-20.996a1 1 0 1 0-1.414-1.414L20 10.584V3a1 1 0 0 0-1-1h-6Zm5 10.584V4h-4v12h-3.773l2.05 2.306L18 12.584ZM22.213 14l-2 2h1.56L16 22.495l-1.074-1.209-1.417 1.417 1.744 1.961a1 1 0 0 0 1.494 0l8-9A1 1 0 0 0 24 14h-1.787ZM3 24a1 1 0 0 1 1 1v2a1 1 0 0 0 1 1h22a1 1 0 0 0 1-1v-2a1 1 0 1 1 2 0v2a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3v-2a1 1 0 0 1 1-1Z\"]];","export default [[\"M11.414 1.586a2 2 0 0 0-2.828 0l-.647.646 2.829 2.829.646-.647a2 2 0 0 0 0-2.828Zm-8.328 5.5 4.146-4.147 2.829 2.829-4.147 4.146a.5.5 0 0 1-.207.125l-3.06.939a.5.5 0 0 1-.625-.625l.94-3.06a.5.5 0 0 1 .124-.207ZM1.5 2h5.257l-1 1H1.5a.5.5 0 0 1 0-1Zm0 2h3.257l-1 1H1.5a.5.5 0 0 1 0-1Zm0 2h1.257l-.378.379a1.5 1.5 0 0 0-.374.62L1.5 7a.5.5 0 0 1 0-1Z\",\"M14.268 1.732a2.5 2.5 0 0 0-3.536 0L9.586 2.88l3.535 3.535 1.147-1.146a2.5 2.5 0 0 0 0-3.536Zm-11.536 8L8.88 3.586l3.535 3.535-6.146 6.147a.501.501 0 0 1-.185.117L1.67 14.97a.5.5 0 0 1-.64-.64l1.586-4.414a.5.5 0 0 1 .117-.185ZM3.05 8l1-1H1.5a.5.5 0 0 0 0 1h1.55Zm2-2 1-1H1.5a.5.5 0 0 0 0 1h3.55Zm2-2 1-1H1.5a.5.5 0 0 0 0 1h5.55Z\",\"M21.975 2.025a3.5 3.5 0 0 0-4.95 0l-1.293 1.293 4.95 4.95 1.293-1.293a3.5 3.5 0 0 0 0-4.95Zm-18.95 14L14.318 4.732l4.95 4.95L7.975 20.975a1 1 0 0 1-.395.243L2.312 22.95a1 1 0 0 1-1.262-1.262l1.732-5.268a1 1 0 0 1 .243-.395ZM2 3h11.222l-2 2H2a1 1 0 0 1 0-2Zm0 4h7.222l-2 2H2a1 1 0 0 1 0-2Zm0 4h3.222l-2 2H2a1 1 0 1 1 0-2Z\",\"M28.829 3.172a4 4 0 0 0-5.657 0l-1.793 1.793 5.657 5.656 1.793-1.793a4 4 0 0 0 0-5.656Zm-24.657 19L19.965 6.379l5.656 5.657L9.83 27.828a1 1 0 0 1-.414.25l-6.122 1.878a1 1 0 0 1-1.249-1.25l1.879-6.12a1 1 0 0 1 .249-.414ZM3 4h16.515l-2 2H3a1 1 0 0 1 0-2Zm0 4h12.515l-2 2H3a1 1 0 0 1 0-2Zm0 4h8.515l-2 2H3a1 1 0 1 1 0-2Zm0 4h4.515l-2 2H3a1 1 0 1 1 0-2Z\"],[\"M11.414 1.586a2 2 0 0 0-2.828 0l-5.5 5.5a.5.5 0 0 0-.125.207l-.939 3.06a.5.5 0 0 0 .625.625l3.06-.94a.5.5 0 0 0 .207-.124l5.5-5.5a2 2 0 0 0 0-2.828Zm-2.121.707a1 1 0 1 1 1.414 1.414l-.646.647-1.415-1.415.647-.646ZM7.939 3.646l1.415 1.415-4.059 4.058-2.04.626.626-2.04 4.058-4.059ZM1.5 2h5.257l-1 1H1.5a.5.5 0 0 1 0-1Zm0 2h3.257l-1 1H1.5a.5.5 0 0 1 0-1Zm0 2h1.257l-.378.379a1.5 1.5 0 0 0-.374.62L1.5 7a.5.5 0 0 1 0-1Z\",\"M14.268 1.732a2.5 2.5 0 0 0-3.536 0l-8 8a.5.5 0 0 0-.117.185L1.03 14.33a.5.5 0 0 0 .64.64l4.413-1.586a.501.501 0 0 0 .185-.117l8-8a2.5 2.5 0 0 0 0-3.536Zm-2.829.707a1.5 1.5 0 1 1 2.122 2.122l-1.147 1.146-2.121-2.121 1.146-1.147ZM9.586 4.293l2.121 2.121-6.067 6.068-3.31 1.189 1.188-3.31 6.068-6.068ZM3.05 8l1-1H1.5a.5.5 0 0 0 0 1h1.55Zm2-2 1-1H1.5a.5.5 0 0 0 0 1h3.55Zm2-2 1-1H1.5a.5.5 0 0 0 0 1h5.55Z\",\"M21.975 2.025a3.5 3.5 0 0 0-4.95 0l-14 14a1 1 0 0 0-.243.395L1.05 21.688a1 1 0 0 0 1.262 1.262l5.268-1.732a1 1 0 0 0 .395-.243l14-14a3.5 3.5 0 0 0 0-4.95ZM18.439 3.44a1.5 1.5 0 1 1 2.122 2.122l-1.293 1.293-2.122-2.122L18.44 3.44Zm-2.707 2.707 2.122 2.122L6.729 19.392l-3.16 1.04 1.039-3.161L15.732 6.146ZM2 3h11.222l-2 2H2a1 1 0 1 1 0-2Zm0 4h7.222l-2 2H2a1 1 0 1 1 0-2Zm0 4h3.222l-2 2H2a1 1 0 1 1 0-2Z\",\"M28.828 3.172a4 4 0 0 0-5.656 0l-19 19a1 1 0 0 0-.25.413l-1.878 6.122a1 1 0 0 0 1.25 1.249l6.12-1.879a1 1 0 0 0 .414-.249l19-19a4 4 0 0 0 0-5.656Zm-4.242 1.414a2 2 0 1 1 2.828 2.828l-1.793 1.793-2.828-2.828 1.793-1.793ZM5.762 23.41 21.379 7.793l2.828 2.828L8.59 26.238l-4.08 1.253 1.252-4.081ZM3 4h16.515l-2 2H3a1 1 0 1 1 0-2Zm0 4h12.515l-2 2H3a1 1 0 1 1 0-2Zm0 4h8.515l-2 2H3a1 1 0 1 1 0-2Zm0 4h4.515l-2 2H3a1 1 0 1 1 0-2Z\"]];","export default [[\"M4 2a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm0 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm1 2a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm2-5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm1 2a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM7 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm-2 2a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm2 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"M5.5 3a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm0 4a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM7 9.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM5.5 15a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM11 1.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM9.5 7a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM11 9.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM9.5 15a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\",\"M9 5a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm0 6a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm2 4a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm-2 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm8-20a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm-2 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm2 4a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm-2 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\",\"M13 9a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm0 6a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm2 4a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm-2 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm8-20a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm-2 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm2 4a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm-2 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"],[\"M4 2a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm0 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm1 2a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-1 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM8 1a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM7 5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm1 2a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-1 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"M5.5 3a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm0 4a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM7 9.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM5.5 15a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM11 1.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM9.5 7a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM11 9.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM9.5 15a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\",\"M9 5a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm0 6a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm2 4a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm-2 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm8-20a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm-2 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm2 4a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm-2 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\",\"M13 9a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm0 6a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm2 4a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm-2 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm8-20a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm-2 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm2 4a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm-2 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"]];","export default [[\"M10.854 1.146a.5.5 0 0 1 0 .708l-9 9a.5.5 0 0 1-.708-.708l9-9a.5.5 0 0 1 .708 0Zm0 5a.5.5 0 0 1 0 .708l-4 4a.5.5 0 0 1-.708-.708l4-4a.5.5 0 0 1 .708 0Z\",\"M14.854 2.146a.5.5 0 0 1 0 .708l-12 12a.5.5 0 0 1-.708-.708l12-12a.5.5 0 0 1 .708 0Zm0 8a.5.5 0 0 1 0 .708l-4 4a.5.5 0 0 1-.708-.708l4-4a.5.5 0 0 1 .708 0Z\",\"M22.707 3.293a1 1 0 0 1 0 1.414l-18 18a1 1 0 0 1-1.414-1.414l18-18a1 1 0 0 1 1.414 0Zm0 12a1 1 0 0 1 0 1.414l-6 6a1 1 0 0 1-1.414-1.414l6-6a1 1 0 0 1 1.414 0Z\",\"M29.707 4.293a1 1 0 0 1 0 1.414l-24 24a1 1 0 0 1-1.414-1.414l24-24a1 1 0 0 1 1.414 0Zm0 15a1 1 0 0 1 0 1.414l-9 9a1 1 0 0 1-1.414-1.414l9-9a1 1 0 0 1 1.414 0Z\"]];","export default [[\"M2.5 2a.5.5 0 0 0-.5.5.5.5 0 0 1-1 0A1.5 1.5 0 0 1 2.5 1a.5.5 0 0 1 0 1Zm5 0a.5.5 0 0 1 .5.5.5.5 0 0 0 1 0A1.5 1.5 0 0 0 7.5 1a.5.5 0 0 0 0 1Zm-3 6a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1ZM4 1.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5Zm-3 4a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-1 0v1Zm7.5.5a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-1 0v1a.5.5 0 0 0 .5.5ZM2 7.5a.5.5 0 0 0 .5.5.5.5 0 0 1 0 1A1.5 1.5 0 0 1 1 7.5a.5.5 0 0 1 1 0ZM9.5 12a.5.5 0 0 0 .5-.5V10h1.5a.5.5 0 0 0 0-1H10V7.5a.5.5 0 0 0-1 0V9H7.5a.5.5 0 0 0 0 1H9v1.5a.5.5 0 0 0 .5.5Z\",\"M2.5 2a.5.5 0 0 0-.5.5.5.5 0 0 1-1 0A1.5 1.5 0 0 1 2.5 1a.5.5 0 0 1 0 1Zm8 0a.5.5 0 0 1 .5.5.5.5 0 0 0 1 0A1.5 1.5 0 0 0 10.5 1a.5.5 0 0 0 0 1Zm-6 9a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Zm-3-2a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 1 0v1a.5.5 0 0 1-.5.5ZM1 5.5a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-1 0v1Zm8-4a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1 0-1h1a.5.5 0 0 1 .5.5Zm2 4a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-1 0v1Zm-5-4a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1 0-1h1a.5.5 0 0 1 .5.5Zm-4 9a.5.5 0 0 0 .5.5.5.5 0 0 1 0 1A1.5 1.5 0 0 1 1 10.5a.5.5 0 0 1 1 0Zm9.5 4.5a.5.5 0 0 0 .5-.5V12h2.5a.5.5 0 0 0 0-1H12V8.5a.5.5 0 0 0-1 0V11H8.5a.5.5 0 0 0 0 1H11v2.5a.5.5 0 0 0 .5.5Z\",\"M8 3a1 1 0 0 1 1-1h1a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1Zm8 5a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0V9a1 1 0 0 1 1-1ZM4 9a1 1 0 1 0-2 0v1a1 1 0 1 0 2 0V9Zm4 7a1 1 0 0 0 1 1h1a1 1 0 1 0 0-2H9a1 1 0 0 0-1 1Zm9-11a3 3 0 0 0-3-3h-1a1 1 0 1 0 0 2h1a1 1 0 0 1 1 1v1a1 1 0 1 0 2 0V5ZM2 5a3 3 0 0 1 3-3h1a1 1 0 1 1 0 2H5a1 1 0 0 0-1 1v1a1 1 0 1 1-2 0V5Zm0 9a3 3 0 0 0 3 3h1a1 1 0 1 0 0-2H5a1 1 0 0 1-1-1v-1a1 1 0 1 0-2 0v1Zm15-2a1 1 0 0 1 1 1v3h3a1 1 0 1 1 0 2h-3v3a1 1 0 1 1-2 0v-3h-3a1 1 0 1 1 0-2h3v-3a1 1 0 0 1 1-1Z\",\"M11 4a1 1 0 1 0 0 2h1a1 1 0 1 0 0-2h-1Zm12 12a1 1 0 0 1 1 1v5h5a1 1 0 1 1 0 2h-5v5a1 1 0 1 1-2 0v-5h-5a1 1 0 1 1 0-2h5v-5a1 1 0 0 1 1-1Zm0-6a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0v-1a1 1 0 0 1 1-1ZM6 11a1 1 0 1 0-2 0v1a1 1 0 1 0 2 0v-1Zm4 12a1 1 0 0 0 1 1h1a1 1 0 1 0 0-2h-1a1 1 0 0 0-1 1Zm6-19a1 1 0 1 0 0 2h1a1 1 0 1 0 0-2h-1ZM5 15a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0v-1a1 1 0 0 1 1-1Zm19-8a3 3 0 0 0-3-3h-1a1 1 0 1 0 0 2h1a1 1 0 0 1 1 1v1a1 1 0 1 0 2 0V7ZM4 7a3 3 0 0 1 3-3h1a1 1 0 1 1 0 2H7a1 1 0 0 0-1 1v1a1 1 0 1 1-2 0V7Zm0 14a3 3 0 0 0 3 3h1a1 1 0 1 0 0-2H7a1 1 0 0 1-1-1v-1a1 1 0 1 0-2 0v1Z\"]];","export default [[\"<path d='M2.25 0C1.56 0 1 .56 1 1.25V2.5a.5.5 0 0 0 1 0V1.25A.25.25 0 0 1 2.25 1h6.5a.25.25 0 0 1 .25.25V2.5a.5.5 0 0 0 1 0V1.25C10 .56 9.44 0 8.75 0h-6.5ZM4 5.5a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1H4Z'></path><path d='M2.25 4C1.56 4 1 4.56 1 5.25v1.5C1 7.44 1.56 8 2.25 8h6.5C9.44 8 10 7.44 10 6.75v-1.5C10 4.56 9.44 4 8.75 4h-6.5ZM2 5.25A.25.25 0 0 1 2.25 5h6.5a.25.25 0 0 1 .25.25v1.5a.25.25 0 0 1-.25.25h-6.5A.25.25 0 0 1 2 6.75v-1.5Zm-1 5.5c0 .69.56 1.25 1.25 1.25h6.5c.69 0 1.25-.56 1.25-1.25V9.5a.5.5 0 0 0-1 0v1.25a.25.25 0 0 1-.25.25h-6.5a.25.25 0 0 1-.25-.25V9.5a.5.5 0 0 0-1 0v1.25Z'></path><path d='M3.5 9.5A.5.5 0 0 1 4 9h3a.5.5 0 0 1 0 1H4a.5.5 0 0 1-.5-.5ZM4 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1H4Z'></path>\",\"<path d='M3.5 1A1.5 1.5 0 0 0 2 2.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v1a.5.5 0 0 0 1 0v-1A1.5 1.5 0 0 0 12.5 1h-9ZM6 7a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H6Z'></path><path d='M3.5 5A1.5 1.5 0 0 0 2 6.5v2A1.5 1.5 0 0 0 3.5 10h9A1.5 1.5 0 0 0 14 8.5v-2A1.5 1.5 0 0 0 12.5 5h-9ZM3 6.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-2Zm-1 6A1.5 1.5 0 0 0 3.5 14h9a1.5 1.5 0 0 0 1.5-1.5v-1a.5.5 0 0 0-1 0v1a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 0-1 0v1ZM6 3a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H6Z'></path><path d='M6 11a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H6Z'></path>\",\"<path d='M7 2a3 3 0 0 0-3 3v1a1 1 0 0 0 2 0V5a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v1a1 1 0 1 0 2 0V5a3 3 0 0 0-3-3H7Zm3 9a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2h-4Z'></path><path d='M7 8a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3v-2a3 3 0 0 0-3-3H7Zm-1 3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-2Zm-2 8a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3v-1a1 1 0 1 0-2 0v1a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-1a1 1 0 1 0-2 0v1Zm6-14a1 1 0 0 0 0 2h4a1 1 0 1 0 0-2h-4Z'></path><path d='M10 17a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2h-4Z'></path>\",\"<path d='M9 3a3 3 0 0 0-3 3v3a1 1 0 0 0 2 0V6a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v3a1 1 0 1 0 2 0V6a3 3 0 0 0-3-3H9Zm4 12a1 1 0 1 0 0 2h6a1 1 0 1 0 0-2h-6Z'></path><path d='M9 11a3 3 0 0 0-3 3v4a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-4a3 3 0 0 0-3-3H9Zm-1 3a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1v-4ZM6 26a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-3a1 1 0 1 0-2 0v3a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1v-3a1 1 0 1 0-2 0v3Zm7-19a1 1 0 1 0 0 2h6a1 1 0 1 0 0-2h-6Z'></path><path d='M13 23a1 1 0 1 0 0 2h6a1 1 0 1 0 0-2h-6Z'></path>\"]];","export default [[\"M1.5 3A1.5 1.5 0 0 0 0 4.5v3A1.5 1.5 0 0 0 1.5 9h9A1.5 1.5 0 0 0 12 7.5v-3A1.5 1.5 0 0 0 10.5 3h-9Zm0 5H7V4H1.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5Zm7.075-2.763A.5.5 0 0 1 9 5h1a.5.5 0 0 1 .447.724l-.5 1a.5.5 0 0 1-.894 0l-.5-1a.5.5 0 0 1 .022-.487Z\",\"M1 6.5A1.5 1.5 0 0 1 2.5 5h11A1.5 1.5 0 0 1 15 6.5v3a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 9.5v-3ZM2.5 6H9v4H2.5a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 .5-.5Zm9 1a.5.5 0 0 0-.447.724l.5 1a.5.5 0 0 0 .894 0l.5-1A.5.5 0 0 0 12.5 7h-1Z\",\"M4 7a3 3 0 0 0-3 3v4a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3v-4a3 3 0 0 0-3-3H4Zm9 8V9H4a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h9Zm3.15-4.526A1 1 0 0 1 17 10h2a1 1 0 0 1 .894 1.447l-1 2a1 1 0 0 1-1.788 0l-1-2a1 1 0 0 1 .043-.973Z\",\"M5 10a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3v-6a3 3 0 0 0-3-3H5Zm13 10v-8H5a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h13Zm3.118-5.472A1 1 0 0 1 22 14h4a1 1 0 0 1 .832 1.555l-2 3a1 1 0 0 1-1.664 0l-2-3a1 1 0 0 1-.05-1.027Z\"],[\"<path d='M9 5a.5.5 0 0 0-.447.724l.5 1a.5.5 0 0 0 .894 0l.5-1A.5.5 0 0 0 10 5H9Z'></path><path d='M1.5 3A1.5 1.5 0 0 0 0 4.5v3A1.5 1.5 0 0 0 1.5 9h9A1.5 1.5 0 0 0 12 7.5v-3A1.5 1.5 0 0 0 10.5 3h-9ZM7 4H1.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5H7V4Zm1 4V4h2.5a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5H8Z'></path>\",\"<path d='M11.5 7a.5.5 0 0 0-.447.724l.5 1a.5.5 0 0 0 .894 0l.5-1A.5.5 0 0 0 12.5 7h-1Z'></path><path d='M2.5 5A1.5 1.5 0 0 0 1 6.5v3A1.5 1.5 0 0 0 2.5 11h11A1.5 1.5 0 0 0 15 9.5v-3A1.5 1.5 0 0 0 13.5 5h-11ZM9 6H2.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5H9V6Zm1 4V6h3.5a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5H10Z'></path>\",\"<path d='M17 10a1 1 0 0 0-.894 1.447l1 2a1 1 0 0 0 1.788 0l1-2A1 1 0 0 0 19 10h-2Z'></path><path d='M4 7a3 3 0 0 0-3 3v4a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3v-4a3 3 0 0 0-3-3H4Zm9 2H4a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h9V9Zm2 6V9h5a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-5Z'></path>\",\"<path d='M22 14a1 1 0 0 0-.832 1.555l2 3a1 1 0 0 0 1.664 0l2-3A1 1 0 0 0 26 14h-4Z'></path><path d='M5 10a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3v-6a3 3 0 0 0-3-3H5Zm13 2H5a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h13v-8Zm2 8v-8h7a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-7Z'></path>\"]];","export default [[\"M5.643 1.143a.516.516 0 0 1 .714 0C6.73 1.523 10 4.915 10 6.993c0 2.206-1.794 4-4 4s-4-1.794-4-4c0-2.078 3.27-5.47 3.643-5.85ZM8 7a.5.5 0 0 0-1 0 1 1 0 0 1-1 1 .5.5 0 0 0 0 1 2 2 0 0 0 2-2Z\",\"M7.244 1.056A.65.65 0 0 1 7.5 1a.65.65 0 0 1 .256.056c.058.025.11.055.154.084.088.057.182.131.277.213.19.166.42.396.673.67.507.55 1.13 1.307 1.734 2.15.604.842 1.199 1.78 1.644 2.693.44.9.762 1.828.762 2.634a5.5 5.5 0 1 1-11 0c0-.806.322-1.735.762-2.634.445-.913 1.04-1.851 1.644-2.693a23.54 23.54 0 0 1 1.734-2.15c.253-.274.483-.504.673-.67.095-.082.189-.156.277-.213a.925.925 0 0 1 .154-.084ZM11 9.5a.5.5 0 0 0-1 0A2.5 2.5 0 0 1 7.5 12a.5.5 0 0 0 0 1A3.5 3.5 0 0 0 11 9.5Z\",\"M11.252 1.222c.131-.074.41-.222.748-.222s.617.148.748.222c.17.096.342.22.507.353.334.267.723.633 1.137 1.063.832.863 1.83 2.047 2.791 3.366.96 1.318 1.901 2.794 2.607 4.24C20.484 11.67 21 13.168 21 14.5c0 5.054-4.116 8.5-9 8.5s-9-3.446-9-8.5c0-1.333.517-2.83 1.21-4.255.706-1.447 1.646-2.923 2.607-4.24.961-1.32 1.959-2.504 2.791-3.367.414-.43.803-.796 1.137-1.063a3.98 3.98 0 0 1 .507-.353ZM17 14a1 1 0 1 0-2 0 3 3 0 0 1-3 3 1 1 0 1 0 0 2 5 5 0 0 0 5-5Z\",\"M15.129 2.272c.185-.11.5-.272.871-.272.372 0 .686.162.871.272.215.128.433.297.645.481.427.37.917.883 1.436 1.484 1.043 1.206 2.272 2.852 3.447 4.65 1.176 1.798 2.313 3.772 3.16 5.639C26.392 16.36 27 18.209 27 19.714 27 25.464 22.004 30 16 30S5 25.463 5 19.714c0-1.505.608-3.353 1.441-5.188.847-1.867 1.984-3.841 3.16-5.64 1.175-1.797 2.404-3.443 3.447-4.65.52-.6 1.01-1.112 1.436-1.483a4.61 4.61 0 0 1 .645-.48ZM23 19a1 1 0 1 0-2 0 5 5 0 0 1-5 5 1 1 0 1 0 0 2 7 7 0 0 0 7-7Z\"],[\"<path d='M8 7a.5.5 0 0 0-1 0 1 1 0 0 1-1 1 .5.5 0 0 0 0 1 2 2 0 0 0 2-2Z'></path><path d='M2 6.993c0 2.206 1.794 4 4 4s4-1.794 4-4c0-2.077-3.27-5.47-3.643-5.85a.516.516 0 0 0-.714 0C5.27 1.523 2 4.916 2 6.993Zm1 0c0-1.26 1.919-3.602 3-4.773 1.081 1.171 3 3.512 3 4.773 0 1.654-1.346 3-3 3s-3-1.346-3-3Z'></path>\",\"<path d='M11 9.5a.5.5 0 0 0-1 0A2.5 2.5 0 0 1 7.5 12a.5.5 0 0 0 0 1A3.5 3.5 0 0 0 11 9.5Z'></path><path d='M7.5 1a.65.65 0 0 0-.256.056c-.058.025-.11.055-.154.084a2.529 2.529 0 0 0-.277.213c-.19.166-.42.396-.673.67a23.54 23.54 0 0 0-1.734 2.15c-.604.842-1.199 1.78-1.644 2.693C2.322 7.766 2 8.694 2 9.5a5.5 5.5 0 1 0 11 0c0-.806-.322-1.735-.762-2.634-.445-.913-1.04-1.851-1.644-2.693a23.535 23.535 0 0 0-1.734-2.15 8.998 8.998 0 0 0-.673-.67 2.529 2.529 0 0 0-.277-.213 1.059 1.059 0 0 0-.154-.084A.65.65 0 0 0 7.5 1ZM3 9.5c0-.575.24-1.336.66-2.195.414-.847.975-1.736 1.559-2.549A22.55 22.55 0 0 1 6.876 2.7c.24-.26.442-.46.594-.592l.03-.026.03.026c.152.132.355.332.594.592a22.55 22.55 0 0 1 1.657 2.056c.584.813 1.145 1.702 1.559 2.549.42.859.66 1.62.66 2.195a4.5 4.5 0 1 1-9 0Z'></path>\",\"<path d='M17 14a1 1 0 1 0-2 0 3 3 0 0 1-3 3 1 1 0 1 0 0 2 5 5 0 0 0 5-5Z'></path><path d='M12 1c-.338 0-.617.148-.748.222a3.98 3.98 0 0 0-.507.353c-.334.267-.723.633-1.137 1.063-.832.863-1.83 2.047-2.791 3.366-.96 1.318-1.901 2.794-2.607 4.24C3.517 11.67 3 13.168 3 14.5c0 5.054 4.116 8.5 9 8.5s9-3.446 9-8.5c0-1.333-.517-2.83-1.21-4.255-.706-1.447-1.646-2.923-2.607-4.24-.961-1.32-1.959-2.504-2.791-3.367-.414-.43-.803-.796-1.137-1.063a3.98 3.98 0 0 0-.507-.353C12.617 1.148 12.338 1 12 1ZM5 14.5c0-.876.358-2.045 1.008-3.38.639-1.31 1.51-2.683 2.425-3.938.914-1.254 1.854-2.366 2.615-3.156.383-.397.705-.697.946-.89L12 3.133l.006.005c.24.192.563.492.946.889.761.79 1.701 1.902 2.615 3.156.914 1.255 1.786 2.628 2.425 3.939C18.642 12.455 19 13.624 19 14.5c0 3.783-3.047 6.5-7 6.5s-7-2.717-7-6.5Z'></path>\",\"<path d='M23 19a1 1 0 1 0-2 0 5 5 0 0 1-5 5 1 1 0 1 0 0 2 7 7 0 0 0 7-7Z'></path><path d='M16 2c-.372 0-.686.162-.871.272a4.61 4.61 0 0 0-.645.481c-.427.37-.917.883-1.436 1.484-1.043 1.206-2.272 2.852-3.448 4.65-1.175 1.798-2.312 3.772-3.159 5.639C5.608 16.36 5 18.209 5 19.714 5 25.464 9.996 30 16 30s11-4.537 11-10.286c0-1.505-.608-3.353-1.441-5.188-.847-1.867-1.984-3.841-3.16-5.64-1.175-1.797-2.404-3.443-3.447-4.65-.52-.6-1.01-1.112-1.436-1.483a4.61 4.61 0 0 0-.645-.48C16.686 2.161 16.371 2 16 2ZM7 19.714c0-1.059.455-2.582 1.262-4.362.794-1.748 1.875-3.631 3.012-5.37 1.138-1.74 2.314-3.312 3.287-4.438.49-.565.91-.999 1.235-1.281A3.97 3.97 0 0 1 16 4.095c.058.044.126.1.204.168.326.282.746.716 1.235 1.281.973 1.126 2.15 2.698 3.287 4.437 1.137 1.74 2.218 3.623 3.012 5.371.807 1.78 1.262 3.303 1.262 4.362C25 24.222 21.042 28 16 28s-9-3.778-9-8.286Z'></path>\"]];","export default [[\"M4.5 0A1.5 1.5 0 0 0 3 1.5V2h-.5A1.5 1.5 0 0 0 1 3.5v6A1.5 1.5 0 0 0 2.5 11h6A1.5 1.5 0 0 0 10 9.5V9h.5A1.5 1.5 0 0 0 12 7.5v-6A1.5 1.5 0 0 0 10.5 0h-6ZM9 9v.5a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-6a.5.5 0 0 1 .5-.5H3v4.5A1.5 1.5 0 0 0 4.5 9H9ZM5.5 4H7V2.5a.5.5 0 0 1 1 0V4h1.5a.5.5 0 0 1 0 1H8v1.5a.5.5 0 0 1-1 0V5H5.5a.5.5 0 0 1 0-1Z\",\"M5.5 1A1.5 1.5 0 0 0 4 2.5V4H2.5A1.5 1.5 0 0 0 1 5.5v8A1.5 1.5 0 0 0 2.5 15h8a1.5 1.5 0 0 0 1.5-1.5V12h1.5a1.5 1.5 0 0 0 1.5-1.5v-8A1.5 1.5 0 0 0 13.5 1h-8ZM11 12v1.5a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 .5-.5H4v5.5A1.5 1.5 0 0 0 5.5 12H11ZM6.5 6H9V3.5a.5.5 0 0 1 1 0V6h2.5a.5.5 0 0 1 0 1H10v2.5a.5.5 0 0 1-1 0V7H6.5a.5.5 0 0 1 0-1Z\",\"M9 2a3 3 0 0 0-3 3v1H5a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3v-1h1a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H9Zm7 16v1a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h1v7a3 3 0 0 0 3 3h7Zm-6-9h3V6a1 1 0 1 1 2 0v3h3a1 1 0 1 1 0 2h-3v3a1 1 0 1 1-2 0v-3h-3a1 1 0 1 1 0-2Z\",\"M11 3a3 3 0 0 0-3 3v2H6a3 3 0 0 0-3 3v15a3 3 0 0 0 3 3h15a3 3 0 0 0 3-3v-2h2a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H11Zm11 21v2a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V11a1 1 0 0 1 1-1h2v11a3 3 0 0 0 3 3h11Zm-9-12h5V7a1 1 0 1 1 2 0v5h5a1 1 0 1 1 0 2h-5v5a1 1 0 1 1-2 0v-5h-5a1 1 0 1 1 0-2Z\"],[\"<path d='M5 4.5a.5.5 0 0 1 .5-.5H7V2.5a.5.5 0 0 1 1 0V4h1.5a.5.5 0 0 1 0 1H8v1.5a.5.5 0 0 1-1 0V5H5.5a.5.5 0 0 1-.5-.5Z'></path><path d='M4.5 0A1.5 1.5 0 0 0 3 1.5V2h-.5A1.5 1.5 0 0 0 1 3.5v6A1.5 1.5 0 0 0 2.5 11h6A1.5 1.5 0 0 0 10 9.5V9h.5A1.5 1.5 0 0 0 12 7.5v-6A1.5 1.5 0 0 0 10.5 0h-6ZM9 9v.5a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-6a.5.5 0 0 1 .5-.5H3v4.5A1.5 1.5 0 0 0 4.5 9H9ZM4 7.5v-6a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5Z'></path>\",\"<path d='M6 6.5a.5.5 0 0 1 .5-.5H9V3.5a.5.5 0 0 1 1 0V6h2.5a.5.5 0 0 1 0 1H10v2.5a.5.5 0 0 1-1 0V7H6.5a.5.5 0 0 1-.5-.5Z'></path><path d='M5.5 1A1.5 1.5 0 0 0 4 2.5V4H2.5A1.5 1.5 0 0 0 1 5.5v8A1.5 1.5 0 0 0 2.5 15h8a1.5 1.5 0 0 0 1.5-1.5V12h1.5a1.5 1.5 0 0 0 1.5-1.5v-8A1.5 1.5 0 0 0 13.5 1h-8ZM11 12v1.5a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 .5-.5H4v5.5A1.5 1.5 0 0 0 5.5 12H11Zm-6-1.5v-8a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5Z'></path>\",\"<path d='M9 10a1 1 0 0 1 1-1h3V6a1 1 0 1 1 2 0v3h3a1 1 0 1 1 0 2h-3v3a1 1 0 1 1-2 0v-3h-3a1 1 0 0 1-1-1Z'></path><path d='M9 2a3 3 0 0 0-3 3v1H5a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3v-1h1a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H9Zm7 16v1a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h1v7a3 3 0 0 0 3 3h7ZM8 5a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V5Z'></path>\",\"<path d='M12 13a1 1 0 0 1 1-1h5V7a1 1 0 1 1 2 0v5h5a1 1 0 1 1 0 2h-5v5a1 1 0 1 1-2 0v-5h-5a1 1 0 0 1-1-1Z'></path><path d='M11 3a3 3 0 0 0-3 3v2H6a3 3 0 0 0-3 3v15a3 3 0 0 0 3 3h15a3 3 0 0 0 3-3v-2h2a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H11Zm11 21v2a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V11a1 1 0 0 1 1-1h2v11a3 3 0 0 0 3 3h11ZM10 6a1 1 0 0 1 1-1h15a1 1 0 0 1 1 1v15a1 1 0 0 1-1 1H11a1 1 0 0 1-1-1V6Z'></path>\"]];","export default [[\"M1 3a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H1Zm4 0a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H5Zm4 0a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H9Z\",\"M2 4a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H2Zm5 0a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H7Zm5 0a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1h-2Z\",\"M3.5 6A1.5 1.5 0 0 0 2 7.5v9A1.5 1.5 0 0 0 3.5 18h3A1.5 1.5 0 0 0 8 16.5v-9A1.5 1.5 0 0 0 6.5 6h-3Zm7 0A1.5 1.5 0 0 0 9 7.5v9a1.5 1.5 0 0 0 1.5 1.5h3a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 13.5 6h-3Zm7 0A1.5 1.5 0 0 0 16 7.5v9a1.5 1.5 0 0 0 1.5 1.5h3a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 20.5 6h-3Z\",\"M4 9a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2V11a2 2 0 0 0-2-2H4Zm10 0a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2V11a2 2 0 0 0-2-2h-4Zm10 0a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2V11a2 2 0 0 0-2-2h-4Z\"],[\"M0 4a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V4Zm2 0H1v4h1V4Zm2 0a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V4Zm2 0H5v4h1V4Zm3-1a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H9Zm0 1h1v4H9V4Z\",\"M1 5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V5Zm3 0H2v6h2V5Zm2 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5Zm3 0H7v6h2V5Zm3-1a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1h-2Zm0 1h2v6h-2V5Z\",\"M2 7.5A1.5 1.5 0 0 1 3.5 6h3A1.5 1.5 0 0 1 8 7.5v9A1.5 1.5 0 0 1 6.5 18h-3A1.5 1.5 0 0 1 2 16.5v-9ZM4 8v8h2V8H4Zm5-.5A1.5 1.5 0 0 1 10.5 6h3A1.5 1.5 0 0 1 15 7.5v9a1.5 1.5 0 0 1-1.5 1.5h-3A1.5 1.5 0 0 1 9 16.5v-9Zm2 .5v8h2V8h-2Zm6.5-2A1.5 1.5 0 0 0 16 7.5v9a1.5 1.5 0 0 0 1.5 1.5h3a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 20.5 6h-3Zm.5 10V8h2v8h-2Z\",\"M2 11a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V11Zm6 0H4v10h4V11Zm4 0a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2V11Zm6 0h-4v10h4V11Zm6-2a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2V11a2 2 0 0 0-2-2h-4Zm0 2h4v10h-4V11Z\"]];","export default [[\"M2.5 1A1.5 1.5 0 0 0 1 2.5v7A1.5 1.5 0 0 0 2.5 11h4A1.5 1.5 0 0 0 8 9.5v-7A1.5 1.5 0 0 0 6.5 1h-4ZM5 3a.5.5 0 0 0-1 0v5.5a.5.5 0 0 0 1 0V3Zm4.5 3a.5.5 0 0 1-.447-.724l.5-1a.5.5 0 0 1 .894 0l.5 1A.5.5 0 0 1 10.5 6h-1Zm-.425 1.237A.5.5 0 0 1 9.5 7h1a.5.5 0 0 1 .447.724l-.5 1a.5.5 0 0 1-.894 0l-.5-1a.5.5 0 0 1 .022-.487Z\",\"M2.5 1A1.5 1.5 0 0 0 1 2.5v10A1.5 1.5 0 0 0 2.5 14h6a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 8.5 1h-6ZM6 3.5a.5.5 0 0 0-1 0v8a.5.5 0 0 0 1 0v-8ZM11.5 8a.5.5 0 0 0-.4.8l1.5 2a.5.5 0 0 0 .8 0l1.5-2a.5.5 0 0 0-.4-.8h-3Zm-.447-1.276A.5.5 0 0 0 11.5 7h3a.5.5 0 0 0 .4-.8l-1.5-2a.5.5 0 0 0-.8 0l-1.5 2a.5.5 0 0 0-.047.524Z\",\"M2 5a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5Zm8 1a1 1 0 0 0-2 0v12a1 1 0 1 0 2 0V6Zm10 1a1 1 0 0 1 .832.445l2 3A1 1 0 0 1 22 12h-4a1 1 0 0 1-.832-1.555l2-3A1 1 0 0 1 20 7Zm0 11a1 1 0 0 0 .832-.445l2-3A1 1 0 0 0 22 13h-4a1 1 0 0 0-.832 1.555l2 3A1 1 0 0 0 20 18Z\",\"M6 3a3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6Zm6 3a1 1 0 0 1 1 1v18a1 1 0 1 1-2 0V7a1 1 0 0 1 1-1Zm14.5 3.5a1 1 0 0 1 .814.419l2.5 3.5A1 1 0 0 1 29 15h-5a1 1 0 0 1-.814-1.581l2.5-3.5A1 1 0 0 1 26.5 9.5Zm-.814 12.581a1 1 0 0 0 1.628 0l2.5-3.5A1 1 0 0 0 29 17h-5a1 1 0 0 0-.814 1.581l2.5 3.5Z\"],[\"M2.5 1A1.5 1.5 0 0 0 1 2.5v7A1.5 1.5 0 0 0 2.5 11h4A1.5 1.5 0 0 0 8 9.5v-7A1.5 1.5 0 0 0 6.5 1h-4ZM4 2H2.5a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5H4V2Zm1 8V2h1.5a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5H5Zm4.5-4a.5.5 0 0 1-.447-.724l.5-1a.5.5 0 0 1 .894 0l.5 1A.5.5 0 0 1 10.5 6h-1Zm0 1a.5.5 0 0 0-.447.724l.5 1a.5.5 0 0 0 .894 0l.5-1A.5.5 0 0 0 10.5 7h-1Z\",\"M2.5 14A1.5 1.5 0 0 1 1 12.5v-10A1.5 1.5 0 0 1 2.5 1h6A1.5 1.5 0 0 1 10 2.5v10A1.5 1.5 0 0 1 8.5 14h-6ZM2 2.5a.5.5 0 0 1 .5-.5H5v11H2.5a.5.5 0 0 1-.5-.5v-10ZM6 13V2h2.5a.5.5 0 0 1 .5.5v10a.5.5 0 0 1-.5.5H6Zm5.5-5a.5.5 0 0 0-.4.8l1.5 2a.5.5 0 0 0 .8 0l1.5-2a.5.5 0 0 0-.4-.8h-3Zm0-1a.5.5 0 0 1-.4-.8l1.5-2a.5.5 0 0 1 .8 0l1.5 2a.5.5 0 0 1-.4.8h-3Z\",\"M5 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H5Zm3 2H5a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h3V4Zm2 16V4h3a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1h-3ZM20.832 7.445a1 1 0 0 0-1.664 0l-2 3A1 1 0 0 0 18 12h4a1 1 0 0 0 .832-1.555l-2-3Zm0 10.11a1 1 0 0 1-1.664 0l-2-3A1 1 0 0 1 18 13h4a1 1 0 0 1 .832 1.555l-2 3Z\",\"M6 3a3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6Zm5 2H6a1 1 0 0 0-1 1v20a1 1 0 0 0 1 1h5V5Zm2 22V5h5a1 1 0 0 1 1 1v20a1 1 0 0 1-1 1h-5ZM27.314 9.919a1 1 0 0 0-1.628 0l-2.5 3.5A1 1 0 0 0 24 15h5a1 1 0 0 0 .814-1.581l-2.5-3.5Zm-1.628 12.162a1 1 0 0 0 1.628 0l2.5-3.5A1 1 0 0 0 29 17h-5a1 1 0 0 0-.814 1.581l2.5 3.5Z\"]];","export default [[\"M4 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm2 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"M5 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm4.5 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm3 1.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\",\"M8 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm6 0a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm4 2a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\",\"M10 16a3 3 0 1 1-6 0 3 3 0 0 1 6 0Zm9 0a3 3 0 1 1-6 0 3 3 0 0 1 6 0Zm6 3a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z\"]];","export default [[\"M7 3a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm0 3a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-1 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"M9.5 3.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm0 4.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM8 14a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\",\"M12 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm2 4a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm0 6a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z\",\"M19 7a3 3 0 1 1-6 0 3 3 0 0 1 6 0Zm0 9a3 3 0 1 1-6 0 3 3 0 0 1 6 0Zm-3 12a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z\"]];","export default [[\"M0 5.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0ZM4 5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm3.5-.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM3 8.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5c0-.663-.326-1.283-.771-1.729C6.783 6.326 6.163 6 5.5 6s-1.283.326-1.729.771C3.326 7.217 3 7.837 3 8.5Z\",\"M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0Zm5.25-1a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm5.25-.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm.5 5.75a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5c0-.857.285-1.73.876-2.395C5.476 8.431 6.364 8 7.5 8c1.136 0 2.024.43 2.624 1.105.591.666.876 1.538.876 2.395Z\",\"M23 12c0 6.075-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1s11 4.925 11 11Zm-13-2a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm6 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm.5 6a1 1 0 0 1-1 1h-7a1 1 0 0 1-1-1c0-1.097.565-2.103 1.361-2.81A4.742 4.742 0 0 1 12 12c1.226 0 2.334.475 3.139 1.19.796.707 1.361 1.713 1.361 2.81Z\",\"M30 16c0-7.732-6.268-14-14-14S2 8.268 2 16s6.268 14 14 14 14-6.268 14-14Zm-18.5-2a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM22 12.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM10 22a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1c0-3.584-2.718-6-6-6s-6 2.416-6 6Z\"],[\"<path d='M4 5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm3.5-.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM3.5 9a.5.5 0 0 1-.5-.5c0-.663.326-1.283.771-1.729C4.217 6.326 4.837 6 5.5 6s1.283.326 1.729.771C7.674 7.217 8 7.837 8 8.5a.5.5 0 0 1-.5.5h-4Zm.979-1.521c-.16.159-.283.338-.364.521h2.77a1.758 1.758 0 0 0-.364-.521C6.217 7.174 5.837 7 5.5 7c-.337 0-.717.174-1.021.479Z'></path><path d='M5.5 0a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11ZM1 5.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0Z'></path>\",\"<path d='M5.25 6.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm5.25-.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm0 6.25a.5.5 0 0 0 .5-.5c0-.857-.285-1.73-.876-2.395C9.524 8.431 8.636 8 7.5 8c-1.136 0-2.024.43-2.624 1.105C4.285 9.771 4 10.643 4 11.5a.5.5 0 0 0 .5.5h6ZM9.376 9.77c.302.339.498.77.58 1.23H5.044a2.51 2.51 0 0 1 .58-1.23C6.024 9.32 6.636 9 7.5 9c.864 0 1.476.32 1.876.77Z'></path><path d='M7.5 0a7.5 7.5 0 1 0 0 15 7.5 7.5 0 0 0 0-15ZM1 7.5a6.5 6.5 0 1 1 13 0 6.5 6.5 0 0 1-13 0Z'></path>\",\"<path d='M9 11a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm7-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-.5 7a1 1 0 0 0 1-1c0-1.097-.565-2.103-1.361-2.81A4.742 4.742 0 0 0 12 12a4.742 4.742 0 0 0-3.139 1.19C8.065 13.897 7.5 14.903 7.5 16a1 1 0 0 0 1 1h7Zm-1.69-2.315c.115.101.214.207.299.315H9.891c.085-.108.184-.214.298-.315A2.742 2.742 0 0 1 12 14c.707 0 1.35.275 1.81.685Z'></path><path d='M12 23c6.075 0 11-4.925 11-11S18.075 1 12 1 1 5.925 1 12s4.925 11 11 11Zm9-11a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z'></path>\",\"<path d='M11.5 14a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM22 12.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM11 23a1 1 0 0 1-1-1c0-3.584 2.718-6 6-6s6 2.416 6 6a1 1 0 0 1-1 1H11Zm5-5c-1.915 0-3.478 1.156-3.892 3h7.784c-.414-1.844-1.977-3-3.892-3Z'></path><path d='M16 2c7.732 0 14 6.268 14 14s-6.268 14-14 14S2 23.732 2 16 8.268 2 16 2Zm12 14c0-6.627-5.373-12-12-12S4 9.373 4 16s5.373 12 12 12 12-5.373 12-12Z'></path>\"]];","export default [[\"M0 5.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0ZM4 5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm3.5-.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM3.621 7.985a.5.5 0 1 1-.242-.97l4-1a.5.5 0 0 1 .242.97l-4 1Z\",\"M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0Zm5.25-1a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm5.25-.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm-5.918 5.243a.5.5 0 1 1-.164-.986l6-1a.5.5 0 1 1 .164.986l-6 1Z\",\"M23 12c0 6.075-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1s11 4.925 11 11ZM9 11a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm6 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm-7.992 4.124a1 1 0 0 0 1.116.868l8-1a1 1 0 1 0-.248-1.984l-8 1a1 1 0 0 0-.868 1.116Z\",\"M30 16c0-7.732-6.268-14-14-14S2 8.268 2 16s6.268 14 14 14 14-6.268 14-14Zm-18.5-2a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM22 12.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm-10.804 9.48a1 1 0 0 1-.392-1.96l10-2a1 1 0 0 1 .392 1.96l-10 2Z\"],[\"<path d='M4 5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm3.5-.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM3.621 7.985a.5.5 0 1 1-.242-.97l4-1a.5.5 0 0 1 .242.97l-4 1Z'></path><path d='M5.5 0a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11ZM1 5.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0Z'></path>\",\"<path d='M5.25 6.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm5.25-.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm-5.918 5.243a.5.5 0 1 1-.164-.986l6-1a.5.5 0 1 1 .164.986l-6 1Z'></path><path d='M7.5 0a7.5 7.5 0 1 0 0 15 7.5 7.5 0 0 0 0-15ZM1 7.5a6.5 6.5 0 1 1 13 0 6.5 6.5 0 0 1-13 0Z'></path>\",\"<path d='M9 11a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm7-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-7.876 5.992a1 1 0 1 1-.248-1.984l8-1a1 1 0 0 1 .248 1.984l-8 1Z'></path><path d='M12 23c6.075 0 11-4.925 11-11S18.075 1 12 1 1 5.925 1 12s4.925 11 11 11Zm9-11a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z'></path>\",\"<path d='M11.5 14a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM22 12.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm-10.804 9.48a1 1 0 0 1-.392-1.96l10-2a1 1 0 0 1 .392 1.96l-10 2Z'></path><path d='M16 2c7.732 0 14 6.268 14 14s-6.268 14-14 14S2 23.732 2 16 8.268 2 16 2Zm12 14c0-6.627-5.373-12-12-12S4 9.373 4 16s5.373 12 12 12 12-5.373 12-12Z'></path>\"]];","export default [[\"M0 5.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0Zm3 1a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5c0 .663-.326 1.283-.771 1.729C6.783 8.674 6.163 9 5.5 9s-1.283-.326-1.729-.771C3.326 7.783 3 7.163 3 6.5Zm1.5-2a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM7 5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\",\"M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0Zm5.25-1a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm5.25-.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM4 8.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5c0 .857-.285 1.73-.876 2.395C9.524 11.569 8.636 12 7.5 12c-1.136 0-2.024-.43-2.624-1.105C4.285 10.229 4 9.357 4 8.5Z\",\"M23 12c0 6.075-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1s11 4.925 11 11ZM9 11a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm6 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm1.5 3a1 1 0 0 0-1-1h-7a1 1 0 0 0-1 1c0 1.097.565 2.103 1.361 2.81A4.742 4.742 0 0 0 12 18a4.742 4.742 0 0 0 3.139-1.19c.796-.707 1.361-1.713 1.361-2.81Z\",\"M30 16c0-7.732-6.268-14-14-14S2 8.268 2 16s6.268 14 14 14 14-6.268 14-14Zm-18.5-2a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM22 12.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM10 18a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1c0 3.584-2.718 6-6 6s-6-2.416-6-6Z\"],[\"<path d='M3.5 6a.5.5 0 0 0-.5.5c0 .663.326 1.283.771 1.729C4.217 8.674 4.837 9 5.5 9s1.283-.326 1.729-.771C7.674 7.783 8 7.163 8 6.5a.5.5 0 0 0-.5-.5h-4Zm.979 1.521A1.758 1.758 0 0 1 4.115 7h2.77a1.758 1.758 0 0 1-.364.521C6.217 7.826 5.837 8 5.5 8c-.337 0-.717-.174-1.021-.479ZM4.5 4.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM7 5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M5.5 0a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11ZM1 5.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0Z'></path>\",\"<path d='M5.25 6.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm5.25-.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM4.5 8a.5.5 0 0 0-.5.5c0 .857.285 1.73.876 2.395C5.476 11.569 6.364 12 7.5 12c1.136 0 2.024-.43 2.624-1.105.591-.666.876-1.538.876-2.395a.5.5 0 0 0-.5-.5h-6Zm1.124 2.23A2.51 2.51 0 0 1 5.044 9h4.912a2.51 2.51 0 0 1-.58 1.23c-.4.45-1.012.77-1.876.77-.864 0-1.476-.32-1.876-.77Z'></path><path d='M7.5 0a7.5 7.5 0 1 0 0 15 7.5 7.5 0 0 0 0-15ZM1 7.5a6.5 6.5 0 1 1 13 0 6.5 6.5 0 0 1-13 0Z'></path>\",\"<path d='M9 11a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm7-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-.5 3a1 1 0 0 1 1 1c0 1.097-.565 2.103-1.361 2.81A4.742 4.742 0 0 1 12 18a4.742 4.742 0 0 1-3.139-1.19C8.065 16.103 7.5 15.097 7.5 14a1 1 0 0 1 1-1h7Zm-1.69 2.315c.115-.101.214-.207.299-.315H9.891c.085.108.184.214.298.315a2.737 2.737 0 0 0 3.621 0Z'></path><path d='M12 23c6.075 0 11-4.925 11-11S18.075 1 12 1 1 5.925 1 12s4.925 11 11 11Zm9-11a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z'></path>\",\"<path d='M11.5 14a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM22 12.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM11 17a1 1 0 0 0-1 1c0 3.584 2.718 6 6 6s6-2.416 6-6a1 1 0 0 0-1-1H11Zm5 5c-1.915 0-3.478-1.156-3.892-3h7.784c-.414 1.844-1.977 3-3.892 3Z'></path><path d='M16 2c7.732 0 14 6.268 14 14s-6.268 14-14 14S2 23.732 2 16 8.268 2 16 2Zm12 14c0-6.627-5.373-12-12-12S4 9.373 4 16s5.373 12 12 12 12-5.373 12-12Z'></path>\"]];","export default [[\"M0 5.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0Zm3.947 2.223a.5.5 0 1 1-.894-.447C3.406 6.571 4.355 6 5.5 6s2.094.57 2.447 1.276a.5.5 0 1 1-.894.447C6.906 7.43 6.355 7 5.5 7s-1.406.43-1.553.723ZM4.5 4.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM7 5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\",\"M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0Zm5.25-1a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm5.25-.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm-5.539 4.942a.5.5 0 0 1-.923-.384C4.525 9.14 5.594 8 7.5 8c1.905 0 2.975 1.14 3.461 2.308a.5.5 0 1 1-.923.384C9.668 9.802 8.908 9 7.5 9s-2.168.803-2.539 1.692Z\",\"M23 12c0 6.075-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1s11 4.925 11 11ZM9 11a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm.923 5.385a1 1 0 0 1-1.846-.77C8.62 14.31 9.846 13 12 13s3.379 1.309 3.923 2.615a1 1 0 1 1-1.846.77C13.764 15.634 13.159 15 12 15c-1.16 0-1.764.634-2.077 1.385ZM16 10a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\",\"M30 16c0-7.732-6.268-14-14-14S2 8.268 2 16s6.268 14 14 14 14-6.268 14-14Zm-18.07 6.87a1 1 0 0 1-1.86-.739c.818-2.06 2.643-4.13 5.93-4.13s5.112 2.07 5.93 4.13a1 1 0 0 1-1.86.738C19.46 21.33 18.235 20 16 20c-2.235 0-3.46 1.33-4.07 2.87ZM13 12.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm7.5 1.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\"],[\"<path d='M3.947 7.723a.5.5 0 1 1-.894-.447C3.406 6.571 4.355 6 5.5 6s2.094.57 2.447 1.276a.5.5 0 1 1-.894.447C6.906 7.43 6.355 7 5.5 7s-1.406.43-1.553.723ZM4.5 4.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM7 5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M5.5 0a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11ZM1 5.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0Z'></path>\",\"<path d='M5.25 6.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm5.25-.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm-5.539 4.942a.5.5 0 0 1-.923-.384C4.525 9.14 5.594 8 7.5 8c1.905 0 2.975 1.14 3.461 2.308a.5.5 0 1 1-.923.384C9.668 9.802 8.908 9 7.5 9s-2.168.803-2.539 1.692Z'></path><path d='M7.5 0a7.5 7.5 0 1 0 0 15 7.5 7.5 0 0 0 0-15ZM1 7.5a6.5 6.5 0 1 1 13 0 6.5 6.5 0 0 1-13 0Z'></path>\",\"<path d='M9.923 16.385a1 1 0 0 1-1.846-.77C8.62 14.31 9.846 13 12 13s3.379 1.309 3.923 2.615a1 1 0 1 1-1.846.77C13.764 15.634 13.159 15 12 15c-1.16 0-1.764.634-2.077 1.385ZM10 10a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm5 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M12 23c6.075 0 11-4.925 11-11S18.075 1 12 1 1 5.925 1 12s4.925 11 11 11Zm9-11a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z'></path>\",\"<path d='M11.5 14a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM22 12.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM11.93 22.87a1 1 0 0 1-1.86-.739c.818-2.06 2.643-4.13 5.93-4.13s5.112 2.07 5.93 4.13a1 1 0 0 1-1.86.738C19.46 21.33 18.235 20 16 20c-2.235 0-3.46 1.33-4.07 2.87Z'></path><path d='M16 2c7.732 0 14 6.268 14 14s-6.268 14-14 14S2 23.732 2 16 8.268 2 16 2Zm12 14c0-6.627-5.373-12-12-12S4 9.373 4 16s5.373 12 12 12 12-5.373 12-12Z'></path>\"]];","export default [[\"M0 5.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0Zm3.947 1.277a.5.5 0 1 0-.894.447C3.406 7.929 4.355 8.5 5.5 8.5s2.094-.57 2.447-1.276a.5.5 0 1 0-.894-.447c-.147.294-.698.723-1.553.723s-1.406-.43-1.553-.723ZM4.5 4.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM7 5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\",\"M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0Zm5.25-1a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm5.25-.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM4.962 9.308a.5.5 0 0 0-.923.384C4.525 10.86 5.595 12 7.5 12c1.906 0 2.975-1.14 3.462-2.308a.5.5 0 0 0-.923-.384C9.668 10.198 8.909 11 7.5 11c-1.408 0-2.168-.803-2.538-1.692Z\",\"M23 12c0 6.075-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1s11 4.925 11 11ZM9 11a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm.923 3.615a1 1 0 0 0-1.846.77C8.62 16.69 9.846 18 12 18s3.379-1.309 3.923-2.615a1 1 0 0 0-1.846-.77C13.764 15.366 13.159 16 12 16c-1.16 0-1.764-.634-2.077-1.385ZM16 10a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\",\"M30 16c0-7.732-6.268-14-14-14S2 8.268 2 16s6.268 14 14 14 14-6.268 14-14Zm-18.07 2.631a1 1 0 1 0-1.86.738c.818 2.06 2.642 4.131 5.93 4.131 3.287 0 5.112-2.07 5.93-4.131a1 1 0 1 0-1.86-.738c-.61 1.54-1.835 2.869-4.07 2.869-2.236 0-3.46-1.329-4.07-2.869ZM13 12.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm7.5 1.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\"],[\"<path d='M3.947 6.777a.5.5 0 1 0-.894.447C3.406 7.929 4.355 8.5 5.5 8.5s2.094-.57 2.447-1.276a.5.5 0 1 0-.894-.447c-.147.294-.698.723-1.553.723s-1.406-.43-1.553-.723ZM4.5 4.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM7 5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M5.5 0a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11ZM1 5.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0Z'></path>\",\"<path d='M5.25 6.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm5.25-.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM4.962 9.308a.5.5 0 0 0-.923.384C4.525 10.86 5.595 12 7.5 12c1.906 0 2.975-1.14 3.462-2.308a.5.5 0 0 0-.923-.384C9.668 10.198 8.909 11 7.5 11c-1.408 0-2.168-.803-2.538-1.692Z'></path><path d='M7.5 0a7.5 7.5 0 1 0 0 15 7.5 7.5 0 0 0 0-15ZM1 7.5a6.5 6.5 0 1 1 13 0 6.5 6.5 0 0 1-13 0Z'></path>\",\"<path d='M9.923 14.615a1 1 0 0 0-1.846.77C8.62 16.69 9.846 18 12 18s3.379-1.309 3.923-2.615a1 1 0 0 0-1.846-.77C13.764 15.366 13.159 16 12 16c-1.16 0-1.764-.634-2.077-1.385ZM10 10a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm5 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M12 23c6.075 0 11-4.925 11-11S18.075 1 12 1 1 5.925 1 12s4.925 11 11 11Zm9-11a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z'></path>\",\"<path d='M11.5 14a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM22 12.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm-10.07 6.131a1 1 0 1 0-1.86.738c.818 2.06 2.642 4.131 5.93 4.131 3.287 0 5.112-2.07 5.93-4.131a1 1 0 1 0-1.86-.738c-.61 1.54-1.835 2.869-4.07 2.869-2.236 0-3.46-1.329-4.07-2.869Z'></path><path d='M16 2c7.732 0 14 6.268 14 14s-6.268 14-14 14S2 23.732 2 16 8.268 2 16 2Zm12 14c0-6.627-5.373-12-12-12S4 9.373 4 16s5.373 12 12 12 12-5.373 12-12Z'></path>\"]];","export default [[\"<path d='M3.258 1.597A.5.5 0 1 0 2.76.731 5.498 5.498 0 0 0 0 5.5a.5.5 0 0 0 1 0 4.5 4.5 0 0 1 2.258-3.904ZM8.24.73a.5.5 0 1 0-.498.867A4.498 4.498 0 0 1 10 5.5a.5.5 0 0 0 1 0A5.5 5.5 0 0 0 8.24.73ZM2.812 9.11a.5.5 0 0 0-.598.801 5.477 5.477 0 0 0 3.286 1.09 5.477 5.477 0 0 0 3.286-1.09.5.5 0 0 0-.598-.801c-.75.56-1.68.89-2.688.89a4.478 4.478 0 0 1-2.688-.89Z'></path><path d='M5 2a1 1 0 0 0-.996.91 1 1 0 0 0-1.285.407l-.5.866a1 1 0 0 0 .29 1.317 1 1 0 0 0-.29 1.317l.5.866a1 1 0 0 0 1.285.408 1 1 0 0 0 .996.91h1a1 1 0 0 0 .996-.91 1 1 0 0 0 1.285-.408l.5-.866a1 1 0 0 0-.29-1.317 1 1 0 0 0 .29-1.317l-.5-.866a1 1 0 0 0-1.285-.408A1 1 0 0 0 6 2H5Zm1.353 3.5a.853.853 0 1 1-1.706 0 .853.853 0 0 1 1.706 0Z'></path>\",\"M4.676 2.78a.5.5 0 1 0-.514-.858A6.497 6.497 0 0 0 1 7.5a.5.5 0 1 0 1 0 5.497 5.497 0 0 1 2.676-4.72Zm6.162-.858a.5.5 0 0 0-.514.857A5.497 5.497 0 0 1 13 7.5a.5.5 0 0 0 1 0 6.497 6.497 0 0 0-3.162-5.578ZM4.28 11.96a.5.5 0 1 0-.585.81A6.473 6.473 0 0 0 7.5 14c1.42 0 2.736-.456 3.805-1.23a.5.5 0 1 0-.586-.81A5.473 5.473 0 0 1 7.5 13a5.473 5.473 0 0 1-3.22-1.04Zm.564-6.86a.75.75 0 0 1 1.025-.274L6 4.902V4.75A.75.75 0 0 1 6.75 4h1.5a.75.75 0 0 1 .75.75v.152l.132-.076a.75.75 0 0 1 1.024.275l.75 1.299a.75.75 0 0 1-.274 1.024L10.5 7.5l.132.076a.75.75 0 0 1 .274 1.025l-.75 1.299a.75.75 0 0 1-1.024.274L9 10.098v.152a.75.75 0 0 1-.75.75h-1.5a.75.75 0 0 1-.75-.75v-.152l-.131.076A.75.75 0 0 1 4.844 9.9l-.75-1.3a.75.75 0 0 1 .275-1.024L4.5 7.5l-.131-.076A.75.75 0 0 1 4.094 6.4l.75-1.3ZM7.5 8.41a.91.91 0 1 0 0-1.82.91.91 0 0 0 0 1.82Z\",\"M7.5 4.204a1 1 0 1 0-1-1.732A10.996 10.996 0 0 0 1 12a1 1 0 1 0 2 0 8.996 8.996 0 0 1 4.5-7.796Zm10-1.732a1 1 0 1 0-1 1.732A8.996 8.996 0 0 1 21 12a1 1 0 1 0 2 0c0-4.073-2.214-7.627-5.5-9.528Zm-10 17.325a1 1 0 0 0-1 1.731A10.954 10.954 0 0 0 12 23c2.002 0 3.882-.535 5.5-1.472a1 1 0 1 0-1-1.731A8.954 8.954 0 0 1 12 21a8.954 8.954 0 0 1-4.5-1.203Zm10.777-7.645L18.014 12l.263-.152a1.5 1.5 0 0 0 .549-2.049l-1.5-2.598a1.5 1.5 0 0 0-2.049-.549l-.263.152V6.5a1.5 1.5 0 0 0-1.5-1.5h-3a1.5 1.5 0 0 0-1.5 1.5v.304l-.263-.152a1.5 1.5 0 0 0-2.049.55L5.201 9.798a1.5 1.5 0 0 0 .549 2.05l.263.151-.263.152a1.5 1.5 0 0 0-.549 2.05l1.5 2.597a1.5 1.5 0 0 0 2.049.55l.263-.153v.304a1.5 1.5 0 0 0 1.5 1.5h3a1.5 1.5 0 0 0 1.5-1.5v-.304l.263.152a1.5 1.5 0 0 0 2.049-.549l1.5-2.598a1.5 1.5 0 0 0-.548-2.049ZM12 14.302a2.302 2.302 0 1 1 0-4.604 2.302 2.302 0 0 1 0 4.604Z\",\"M9.543 5.884a1 1 0 1 0-1.077-1.685A13.99 13.99 0 0 0 2 16a1 1 0 1 0 2 0A11.99 11.99 0 0 1 9.543 5.884Zm13.991-1.685a1 1 0 0 0-1.077 1.685A11.99 11.99 0 0 1 28 16a1 1 0 1 0 2 0c0-4.96-2.58-9.316-6.466-11.801ZM9.546 26.12a1 1 0 1 0-1.077 1.684A13.94 13.94 0 0 0 16 30c2.77 0 5.356-.805 7.531-2.196a1 1 0 0 0-1.077-1.685A11.94 11.94 0 0 1 16 28c-2.378 0-4.59-.69-6.454-1.88Zm13.584-9.468L22 16l1.13-.652a1.5 1.5 0 0 0 .549-2.049l-1.5-2.598a1.5 1.5 0 0 0-2.05-.549l-1.128.652V9.5a1.5 1.5 0 0 0-1.5-1.5h-3a1.5 1.5 0 0 0-1.5 1.5v1.303l-1.127-.65a1.5 1.5 0 0 0-2.05.548L8.323 13.3a1.5 1.5 0 0 0 .549 2.05L10 16l-1.13.652a1.5 1.5 0 0 0-.548 2.05l1.5 2.597a1.5 1.5 0 0 0 2.049.55l1.127-.652V22.5a1.5 1.5 0 0 0 1.5 1.5h3a1.5 1.5 0 0 0 1.5-1.5v-1.303l1.128.652a1.5 1.5 0 0 0 2.05-.55l1.5-2.598a1.5 1.5 0 0 0-.55-2.049h.003ZM16 18.273a2.273 2.273 0 1 1 0-4.545 2.273 2.273 0 0 1 0 4.545Z\"],[\"<path d='M3.442.915a.5.5 0 0 1-.184.682A4.498 4.498 0 0 0 1 5.5a.5.5 0 0 1-1 0A5.5 5.5 0 0 1 2.76.73a.5.5 0 0 1 .682.185Zm4.116 0A.5.5 0 0 1 8.24.73 5.498 5.498 0 0 1 11 5.5a.5.5 0 0 1-1 0 4.498 4.498 0 0 0-2.258-3.904.5.5 0 0 1-.184-.682ZM2.113 9.212a.5.5 0 0 1 .7-.102c.75.56 1.679.89 2.687.89a4.478 4.478 0 0 0 2.688-.89.5.5 0 0 1 .598.801 5.477 5.477 0 0 1-3.286 1.09 5.477 5.477 0 0 1-3.286-1.09.5.5 0 0 1-.101-.7ZM5.5 6.25a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z'></path><path d='M4.004 2.91A1 1 0 0 1 5 2h1a1 1 0 0 1 .996.91 1 1 0 0 1 1.285.407l.5.866a1 1 0 0 1-.29 1.317 1 1 0 0 1 .29 1.317l-.5.866a1 1 0 0 1-1.285.408 1 1 0 0 1-.996.91H5a1 1 0 0 1-.996-.91 1 1 0 0 1-1.285-.408l-.5-.866a1 1 0 0 1 .29-1.317 1 1 0 0 1-.29-1.317l.5-.866a1 1 0 0 1 1.285-.408ZM6 3H5v.768l-.75.433-.665-.384-.5.866.665.384v.866l-.665.384.5.866.665-.384.75.433V8h1v-.768l.75-.433.665.384.5-.866-.665-.384v-.866l.665-.384-.5-.866-.665.384L6 3.768V3Z'></path>\",\"<path d='M4.676 2.78a.5.5 0 1 0-.514-.858A6.497 6.497 0 0 0 1 7.5a.5.5 0 1 0 1 0 5.497 5.497 0 0 1 2.676-4.72Zm6.162-.858a.5.5 0 0 0-.514.857A5.497 5.497 0 0 1 13 7.5a.5.5 0 0 0 1 0 6.497 6.497 0 0 0-3.162-5.578ZM4.28 11.96a.5.5 0 1 0-.585.81A6.473 6.473 0 0 0 7.5 14c1.42 0 2.736-.456 3.805-1.23a.5.5 0 1 0-.586-.81A5.473 5.473 0 0 1 7.5 13a5.473 5.473 0 0 1-3.22-1.04Zm3.595-3.81a.75.75 0 1 1-.75-1.3.75.75 0 0 1 .75 1.3Z'></path><path d='M4.844 5.1a.75.75 0 0 1 1.025-.274L6 4.902V4.75A.75.75 0 0 1 6.75 4h1.5a.75.75 0 0 1 .75.75v.152l.132-.076a.75.75 0 0 1 1.024.275l.75 1.299a.75.75 0 0 1-.274 1.024L10.5 7.5l.132.076a.75.75 0 0 1 .274 1.025l-.75 1.299a.75.75 0 0 1-1.024.274L9 10.098v.152a.75.75 0 0 1-.75.75h-1.5a.75.75 0 0 1-.75-.75v-.152l-.131.076a.75.75 0 0 1-1.025-.275l-.75-1.298a.75.75 0 0 1 .275-1.025L4.5 7.5l-.131-.076A.75.75 0 0 1 4.094 6.4l.75-1.3Zm.741.717-.5.866.665.384a.5.5 0 0 1 0 .866l-.665.384.5.866.665-.384a.5.5 0 0 1 .75.433V10h1v-.768a.5.5 0 0 1 .75-.433l.665.384.5-.866-.665-.384a.5.5 0 0 1 0-.866l.665-.384-.5-.866-.665.384A.5.5 0 0 1 8 5.768V5H7v.768a.5.5 0 0 1-.75.433l-.665-.384Z'></path>\",\"<path d='M7.866 2.837A1 1 0 0 1 7.5 4.204 8.996 8.996 0 0 0 3 12a1 1 0 1 1-2 0c0-4.073 2.214-7.627 5.5-9.528a1 1 0 0 1 1.366.365Zm8.268 0a1 1 0 0 1 1.367-.365A10.996 10.996 0 0 1 23 12a1 1 0 1 1-2 0 8.996 8.996 0 0 0-4.5-7.796 1 1 0 0 1-.366-1.367Zm-10 17.325a1 1 0 0 1 1.367-.365A8.954 8.954 0 0 0 12 21a8.954 8.954 0 0 0 4.5-1.203 1 1 0 1 1 1 1.731A10.954 10.954 0 0 1 12 23c-2.002 0-3.882-.535-5.5-1.472a1 1 0 0 1-.366-1.366ZM10 12a2 2 0 1 0 4 0 2 2 0 0 0-4 0Z'></path><path d='M18.277 12.152 18.014 12l.263-.152a1.5 1.5 0 0 0 .549-2.049l-1.5-2.598a1.5 1.5 0 0 0-2.049-.549l-.263.152V6.5a1.5 1.5 0 0 0-1.5-1.5h-3a1.5 1.5 0 0 0-1.5 1.5v.304l-.263-.152a1.5 1.5 0 0 0-2.049.55L5.201 9.798a1.5 1.5 0 0 0 .549 2.05l.263.151-.263.152a1.5 1.5 0 0 0-.549 2.05l1.5 2.597a1.5 1.5 0 0 0 2.049.55l.263-.153v.304a1.5 1.5 0 0 0 1.5 1.5h3a1.5 1.5 0 0 0 1.5-1.5v-.304l.263.152a1.5 1.5 0 0 0 2.049-.549l1.5-2.598a1.5 1.5 0 0 0-.548-2.049Zm-3.764 2.446-1.5.866V17h-2v-1.536l-1.5-.866-1.33.768-1-1.732 1.33-.768v-1.732l-1.33-.768 1-1.732 1.33.768 1.5-.866V7h2v1.536l1.5.866 1.33-.768 1 1.732-1.33.768v1.732l1.33.768-1 1.732-1.33-.768Z'></path>\",\"<path d='M9.847 4.501a1 1 0 0 1-.304 1.382A11.99 11.99 0 0 0 4 16a1 1 0 0 1-2 0c0-4.96 2.58-9.317 6.466-11.802a1 1 0 0 1 1.381.303Zm12.306 0a1 1 0 0 1 1.381-.303A13.99 13.99 0 0 1 30 15.999a1 1 0 0 1-2 0 11.99 11.99 0 0 0-5.543-10.116 1 1 0 0 1-.304-1.382ZM8.165 26.422a1 1 0 0 1 1.381-.304A11.94 11.94 0 0 0 16 28c2.378 0 4.59-.691 6.454-1.882a1 1 0 1 1 1.077 1.685A13.94 13.94 0 0 1 16 30a13.94 13.94 0 0 1-7.531-2.197 1 1 0 0 1-.304-1.381ZM16 18a2 2 0 1 1 0-4 2 2 0 0 1 0 4Z'></path><path d='m22 16 1.13.651h-.003a1.5 1.5 0 0 1 .549 2.05l-1.5 2.598a1.5 1.5 0 0 1-2.05.549l-1.128-.652v1.302a1.5 1.5 0 0 1-1.5 1.5h-3a1.5 1.5 0 0 1-1.5-1.5v-1.303l-1.127.652a1.5 1.5 0 0 1-2.05-.549l-1.5-2.597a1.5 1.5 0 0 1 .55-2.05L10 16l-1.13-.652a1.5 1.5 0 0 1-.548-2.048l1.503-2.6a1.5 1.5 0 0 1 2.049-.55l1.127.652V9.5a1.5 1.5 0 0 1 1.5-1.5h3a1.5 1.5 0 0 1 1.5 1.5v1.303l1.128-.652a1.5 1.5 0 0 1 2.05.55l1.5 2.598a1.5 1.5 0 0 1-.55 2.049l-1.129.65Zm-3.625 3.218.526-.389 1.796 1.037 1-1.732-1.793-1.035.072-.65a3.91 3.91 0 0 0 0-.899l-.072-.65 1.793-1.034-1-1.732-1.796 1.035-.526-.389a3.978 3.978 0 0 0-.776-.447l-.6-.263V10h-2v2.07l-.6.262a4 4 0 0 0-.774.448l-.527.39-1.796-1.037-1 1.733 1.793 1.034-.072.65a3.91 3.91 0 0 0 0 .898l.072.65-1.793 1.036 1 1.732 1.796-1.037.526.39s.5.328.775.447l.6.262v2.07h2v-2.07l.6-.262c.276-.12.535-.27.776-.448Z'></path>\"]];","export default [[\"<path d='M1.163 2.82A1.494 1.494 0 0 0 1 3.5v5A1.5 1.5 0 0 0 2.5 10h7A1.5 1.5 0 0 0 11 8.5v-5c0-.245-.059-.476-.163-.68L7.003 6.27a1.5 1.5 0 0 1-2.006 0L1.163 2.82Z'></path><path d='M10.11 2.129A1.495 1.495 0 0 0 9.5 2h-7c-.217 0-.423.046-.61.129l3.776 3.397a.5.5 0 0 0 .668 0L10.11 2.13Z'></path>\",\"<path d='M1.184 3.78A1.493 1.493 0 0 0 1 4.5v7A1.5 1.5 0 0 0 2.5 13h11a1.5 1.5 0 0 0 1.5-1.5v-7c0-.26-.067-.506-.184-.72l-5.89 4.628a1.5 1.5 0 0 1-1.853 0L1.183 3.78Z'></path><path d='M14.056 3.106A1.495 1.495 0 0 0 13.5 3h-11c-.196 0-.384.038-.556.106l5.747 4.515a.5.5 0 0 0 .618 0l5.747-4.515Z'></path>\",\"<path d='M2.318 6.654A2.987 2.987 0 0 0 2 8v8a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V8c0-.484-.115-.941-.318-1.346l-7.75 6.526a3 3 0 0 1-3.864 0l-7.75-6.526Z'></path><path d='M20.23 5.263A2.99 2.99 0 0 0 19 5H5a2.99 2.99 0 0 0-1.23.263l7.586 6.387a1 1 0 0 0 1.288 0l7.585-6.387Z'></path>\",\"<path d='M2.317 7.657C2.114 8.061 2 8.517 2 9v14a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3V9c0-.483-.114-.939-.317-1.343l-11.738 10a3 3 0 0 1-3.89 0l-11.739-10Z'></path><path d='M28.234 6.265A2.99 2.99 0 0 0 27 6H5c-.44 0-.858.095-1.234.265l11.586 9.869a1 1 0 0 0 1.296 0l11.586-9.87Z'></path>\"],[\"M2.5 2A1.5 1.5 0 0 0 1 3.5v5A1.5 1.5 0 0 0 2.5 10h7A1.5 1.5 0 0 0 11 8.5v-5A1.5 1.5 0 0 0 9.5 2h-7ZM2 3.664V8.5a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5V3.664L6.988 6.3a1.5 1.5 0 0 1-1.976 0L2 3.664ZM9.24 3H2.76l2.91 2.547a.5.5 0 0 0 .66 0L9.24 3Z\",\"M2.5 3A1.5 1.5 0 0 0 1 4.5v7A1.5 1.5 0 0 0 2.5 13h11a1.5 1.5 0 0 0 1.5-1.5v-7A1.5 1.5 0 0 0 13.5 3h-11ZM2 4.625V11.5a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5V4.625L8.9 8.45a1.5 1.5 0 0 1-1.8 0L2 4.625ZM13.167 4H2.834L7.7 7.65a.5.5 0 0 0 .6 0L13.167 4Z\",\"M5 5a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V8a3 3 0 0 0-3-3H5ZM4 8.207V16a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V8.207l-6.093 5.018a3 3 0 0 1-3.814 0L4 8.207ZM18.32 7H5.68l5.684 4.681a1 1 0 0 0 1.272 0L18.32 7Z\",\"M5 6a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3V9a3 3 0 0 0-3-3H5ZM4 9.226V23a1 1 0 0 0 1 1h22a1 1 0 0 0 1-1V9.226l-10.07 8.46a3 3 0 0 1-3.86 0L4 9.225ZM26.35 8H5.65l9.707 8.154a1 1 0 0 0 1.286 0L26.35 8Z\"]];","export default [[\"<path d='M.163.82A1.494 1.494 0 0 0 0 1.5v5A1.5 1.5 0 0 0 1.5 8h2.527A4.5 4.5 0 0 1 10 4.256V1.5c0-.245-.059-.476-.163-.68L6.003 4.27a1.5 1.5 0 0 1-2.006 0L.163.82Z'></path><path d='M9.11.129A1.495 1.495 0 0 0 8.5 0h-7c-.217 0-.423.046-.61.129l3.776 3.397a.5.5 0 0 0 .668 0L9.11.13ZM8.293 8l-.147-.146a.5.5 0 1 1 .708-.708l1 1a.5.5 0 0 1 0 .708l-1 1a.5.5 0 0 1-.708-.708L8.293 9H7.5a.5.5 0 0 1 0-1h.793Z'></path><path d='M8.5 5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM6 8.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path>\",\"<path d='M1.184 1.78A1.493 1.493 0 0 0 1 2.5v7A1.5 1.5 0 0 0 2.5 11h3.522A5.5 5.5 0 0 1 15 7.257V2.5c0-.26-.067-.506-.184-.72l-5.89 4.628a1.5 1.5 0 0 1-1.853 0L1.183 1.78Z'></path><path d='M14.056 1.106A1.496 1.496 0 0 0 13.5 1h-11c-.196 0-.384.038-.556.106l5.747 4.515a.5.5 0 0 0 .618 0l5.747-4.515ZM12.293 11l-.647-.646a.5.5 0 0 1 .708-.708l1.5 1.5a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708-.708l.647-.646H9.5a.5.5 0 0 1 0-1h2.793Z'></path><path d='M11.5 7a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9ZM8 11.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z'></path>\",\"<path d='M1.318 2.654A2.987 2.987 0 0 0 1 4v8a3 3 0 0 0 3 3h4.223a9.004 9.004 0 0 1 3.331-5.166 2.998 2.998 0 0 1-2.486-.654l-7.75-6.526ZM21 4v4.936A8.963 8.963 0 0 0 17 8c-1.245 0-2.43.253-3.51.71l7.192-6.056C20.885 3.06 21 3.516 21 4Zm-1.77-2.737A2.99 2.99 0 0 0 18 1H4a2.99 2.99 0 0 0-1.23.263l7.586 6.387a1 1 0 0 0 1.288 0l7.585-6.387ZM17.586 16l-.293-.293a1 1 0 0 1 1.414-1.414l2 2a1 1 0 0 1 0 1.414l-2 2a1 1 0 0 1-1.414-1.414l.293-.293H14a1 1 0 1 1 0-2h3.586Z'></path><path d='M17 10a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-5 7a5 5 0 1 1 10 0 5 5 0 0 1-10 0Z'></path>\",\"<path d='M1.317 2.657C1.113 3.061 1 3.517 1 4v14a3 3 0 0 0 3 3h7.045a10.984 10.984 0 0 1 4.137-7.633 2.995 2.995 0 0 1-2.127-.71l-11.739-10ZM29 4v9.514A10.955 10.955 0 0 0 22 11c-1.404 0-2.747.263-3.982.743l10.665-9.086c.203.404.317.86.317 1.343Zm-1.766-2.735A2.99 2.99 0 0 0 26 1H4c-.44 0-.858.095-1.234.265l11.585 9.869a1 1 0 0 0 1.297 0l11.586-9.87ZM23.586 21l-1.293-1.293a1 1 0 0 1 1.414-1.414l3 3a1 1 0 0 1 0 1.414l-3 3a1 1 0 0 1-1.414-1.414L23.586 23H18a1 1 0 1 1 0-2h5.586Z'></path><path d='M22 13a9 9 0 1 0 0 18 9 9 0 0 0 0-18Zm-7 9a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z'></path>\"],[\"<path d='M1.5 0A1.5 1.5 0 0 0 0 1.5v5A1.5 1.5 0 0 0 1.5 8h2.527c.039-.347.117-.682.23-1H1.5a.5.5 0 0 1-.5-.5V1.665L4.012 4.3a1.5 1.5 0 0 0 1.976 0L9 1.665v2.362c.347.039.682.117 1 .23V1.5A1.5 1.5 0 0 0 8.5 0h-7Zm6.741 1L5.329 3.548a.5.5 0 0 1-.658 0L1.759 1H8.24Zm.052 7-.147-.146a.5.5 0 1 1 .708-.708l1 1a.5.5 0 0 1 0 .708l-1 1a.5.5 0 0 1-.708-.708L8.293 9H7.5a.5.5 0 0 1 0-1h.793Z'></path><path d='M8.5 5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM6 8.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path>\",\"<path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v7A1.5 1.5 0 0 0 2.5 11h3.522a5.48 5.48 0 0 1 .185-1H2.5a.5.5 0 0 1-.5-.5V2.625L7.1 6.45a1.5 1.5 0 0 0 1.8 0L14 2.625V6.6c.358.183.693.404 1 .657V2.5A1.5 1.5 0 0 0 13.5 1h-11Zm10.666 1L8.3 5.65a.5.5 0 0 1-.6 0L2.834 2h10.332Zm-.873 9-.647-.646a.5.5 0 0 1 .708-.708l1.5 1.5a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708-.708l.647-.646H9.5a.5.5 0 0 1 0-1h2.793Z'></path><path d='M11.5 7a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9ZM8 11.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z'></path>\",\"<path d='M4 1a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h4.223c.16-.701.4-1.371.713-2H4a1 1 0 0 1-1-1V4.208l6.093 5.017a2.998 2.998 0 0 0 2.42.64 8.99 8.99 0 0 1 2.064-1.191L19 4.208v4.015c.701.16 1.372.4 2 .713V4a3 3 0 0 0-3-3H4Zm13.32 2-5.684 4.681a1 1 0 0 1-1.272 0L4.68 3h12.64Zm.266 13-.293-.293a1 1 0 0 1 1.414-1.414l2 2a1 1 0 0 1 0 1.414l-2 2a1 1 0 0 1-1.414-1.414l.293-.293H14a1 1 0 1 1 0-2h3.586Z'></path><path d='M17 10a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-5 7a5 5 0 1 1 10 0 5 5 0 0 1-10 0Z'></path>\",\"<path d='M4 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h7c0-.683.062-1.351.181-2H4a1 1 0 0 1-1-1V5.226l10.07 8.46c.332.277.708.473 1.102.586a10.978 10.978 0 0 1 5.712-3.069L27 5.226V12.2c.716.366 1.386.808 2 1.315V5a3 3 0 0 0-3-3H4Zm21.35 2-9.707 8.154a1 1 0 0 1-1.286 0L4.65 4h20.7Zm-1.764 17-1.293-1.293a1 1 0 0 1 1.414-1.414l3 3a1 1 0 0 1 0 1.414l-3 3a1 1 0 0 1-1.414-1.414L23.586 23H18a1 1 0 1 1 0-2h5.586Z'></path><path d='M22 13a9 9 0 1 0 0 18 9 9 0 0 0 0-18Zm-7 9a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z'></path>\"]];","export default [[\"<path d='M7 4.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5Z'></path><path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v.585A1.5 1.5 0 0 0 0 4.5v5A1.5 1.5 0 0 0 1.5 11h8A1.5 1.5 0 0 0 11 9.5v-5a1.5 1.5 0 0 0-1-1.415V2.5A1.5 1.5 0 0 0 8.5 1h-6Zm3.937 7.39.693-.554.016.018L9.293 10H1.707l2.147-2.146a.493.493 0 0 0 .016-.018l.693.554a1.5 1.5 0 0 0 1.874 0ZM10 9.293 7.915 7.208 10 5.54v3.753ZM3.085 7.208 1 5.54v3.753l2.085-2.085Zm2.103.402L2 5.06V2.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v2.56L5.812 7.61a.5.5 0 0 1-.624 0Z'></path>\",\"<path d='M10 5.5a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1 0-1h4a.5.5 0 0 1 .5.5Z'></path><path d='M1 2.5A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v1.585A1.5 1.5 0 0 1 15 5.5v7a1.5 1.5 0 0 1-1.5 1.5h-12A1.5 1.5 0 0 1 0 12.5v-7a1.5 1.5 0 0 1 1-1.415V2.5Zm3.483 6.31L1 12.293v-6.16h.002L4.483 8.81ZM1.707 13l3.575-3.575 1.303 1.002a1.5 1.5 0 0 0 1.83 0l1.303-1.002L13.293 13H1.707ZM14 12.293v-6.16h-.002L10.517 8.81 14 12.293Zm-1-6.655V2.5a.5.5 0 0 0-.5-.5h-10a.5.5 0 0 0-.5.5v3.138l5.195 3.997a.5.5 0 0 0 .61 0L13 5.638Z'></path>\",\"<path d='M16 10a1 1 0 0 1-1 1H9a1 1 0 1 1 0-2h6a1 1 0 0 1 1 1Z'></path><path d='M6 2a3 3 0 0 0-3 3v2.17A3.001 3.001 0 0 0 1 10v9a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3v-9a3.001 3.001 0 0 0-2-2.83V5a3 3 0 0 0-3-3H6Zm13 3v5.44l-6.336 5.631a1 1 0 0 1-1.328 0L5 10.44V5a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1ZM7.322 15.18 3 18.782v-7.444l4.322 3.842ZM4.662 20l4.172-3.476 1.173 1.042a3 3 0 0 0 3.986 0l1.173-1.042L19.338 20H4.662ZM21 18.782v-7.444l-4.322 3.842L21 18.782Z'></path>\",\"<path d='M20 14a1 1 0 1 0 0-2h-8a1 1 0 1 0 0 2h8Z'></path><path d='M8 3a3 3 0 0 0-3 3v5.17A3.001 3.001 0 0 0 3 14v12a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3V14a3.001 3.001 0 0 0-2-2.83V6a3 3 0 0 0-3-3H8ZM5 25.586V15.21l5.682 4.694L5 25.586ZM25.586 27l-5.793-5.793a1.915 1.915 0 0 1-.014-.014l-.01-.01-1.858 1.536a3 3 0 0 1-3.822 0l-1.859-1.536-.014.015a.701.701 0 0 1-.009.01L6.414 27h19.172ZM27 25.586l-5.682-5.682L27 15.21v10.376ZM25 6v8.268l-8.363 6.909a1 1 0 0 1-1.274 0L7 14.268V6a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1Z'></path>\"]];","export default [[\"<path d='M3 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5ZM3.5 5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Z'></path><path d='M1 2.5A1.5 1.5 0 0 1 2.5 1h6A1.5 1.5 0 0 1 10 2.5v.585A1.5 1.5 0 0 1 11 4.5v5A1.5 1.5 0 0 1 9.5 11h-8A1.5 1.5 0 0 1 0 9.5v-5a1.5 1.5 0 0 1 1-1.415V2.5Zm6.13 5.336-.693.554a1.5 1.5 0 0 1-1.874 0l-.693-.554a.493.493 0 0 1-.016.018L1.707 10h7.586L7.146 7.854a.516.516 0 0 1-.016-.018Zm.785-.628L10 9.293V5.54L7.915 7.208ZM1 5.54l2.085 1.668L1 9.293V5.54Zm1-.48 3.188 2.55a.5.5 0 0 0 .624 0L9 5.06V2.5a.5.5 0 0 0-.5-.5h-6a.5.5 0 0 0-.5.5v2.56Z'></path>\",\"<path d='M4 3.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5ZM4.5 5a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Z'></path><path d='M1 2.5A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v1.585A1.5 1.5 0 0 1 15 5.5v7a1.5 1.5 0 0 1-1.5 1.5h-12A1.5 1.5 0 0 1 0 12.5v-7a1.5 1.5 0 0 1 1-1.415V2.5Zm3.483 6.31L1 12.293v-6.16h.002L4.483 8.81ZM1.707 13l3.575-3.575 1.303 1.002a1.5 1.5 0 0 0 1.83 0l1.303-1.002L13.293 13H1.707ZM14 12.293v-6.16h-.002L10.517 8.81 14 12.293Zm-1-6.655V2.5a.5.5 0 0 0-.5-.5h-10a.5.5 0 0 0-.5.5v3.138l5.195 3.997a.5.5 0 0 0 .61 0L13 5.638Z'></path>\",\"<path d='M8 6a1 1 0 0 0 0 2h8a1 1 0 1 0 0-2H8Zm0 4a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2H8Z'></path><path d='M6 2a3 3 0 0 0-3 3v2.17A3.001 3.001 0 0 0 1 10v9a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3v-9a3.001 3.001 0 0 0-2-2.83V5a3 3 0 0 0-3-3H6Zm13 3v5.44l-6.336 5.631a1 1 0 0 1-1.328 0L5 10.44V5a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1ZM7.322 15.18 3 18.782v-7.444l4.322 3.842ZM4.662 20l4.172-3.476 1.173 1.042a3 3 0 0 0 3.986 0l1.173-1.042L19.338 20H4.662ZM21 18.782v-7.444l-4.322 3.842L21 18.782Z'></path>\",\"<path d='M12 7a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2h-8Zm0 4a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2h-8Zm0 4a1 1 0 1 0 0 2h5a1 1 0 1 0 0-2h-5Z'></path><path d='M8 3a3 3 0 0 0-3 3v5.17A3.001 3.001 0 0 0 3 14v12a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3V14a3.001 3.001 0 0 0-2-2.83V6a3 3 0 0 0-3-3H8ZM5 25.586V15.21l5.682 4.694L5 25.586ZM6.414 27h19.172l-5.793-5.793a1.056 1.056 0 0 1-.023-.024l-1.86 1.536a3 3 0 0 1-3.82 0l-1.86-1.536a1.052 1.052 0 0 1-.023.024L6.414 27ZM27 25.586l-5.682-5.682L27 15.21v10.376ZM25 6v8.268l-8.363 6.909a1 1 0 0 1-1.274 0L7 14.268V6a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1Z'></path>\"]];","export default [[\"<path d='M5.5 3a.5.5 0 0 1 .5.5V4h.5a.5.5 0 0 1 0 1H6v.5a.5.5 0 0 1-1 0V5h-.5a.5.5 0 0 1 0-1H5v-.5a.5.5 0 0 1 .5-.5Z'></path><path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v.585A1.5 1.5 0 0 0 0 4.5v5A1.5 1.5 0 0 0 1.5 11h8A1.5 1.5 0 0 0 11 9.5v-5a1.5 1.5 0 0 0-1-1.415V2.5A1.5 1.5 0 0 0 8.5 1h-6Zm3.937 7.39.693-.554.016.018L9.293 10H1.707l2.147-2.146a.493.493 0 0 0 .016-.018l.693.554a1.5 1.5 0 0 0 1.874 0ZM10 9.293 7.915 7.208 10 5.54v3.753ZM3.085 7.208 1 5.54v3.753l2.085-2.085Zm2.103.402L2 5.06V2.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v2.56L5.812 7.61a.5.5 0 0 1-.624 0Z'></path>\",\"<path d='M7.5 3a.5.5 0 0 1 .5.5V5h1.5a.5.5 0 0 1 0 1H8v1.5a.5.5 0 0 1-1 0V6H5.5a.5.5 0 0 1 0-1H7V3.5a.5.5 0 0 1 .5-.5Z'></path><path d='M1 2.5A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v1.585A1.5 1.5 0 0 1 15 5.5v7a1.5 1.5 0 0 1-1.5 1.5h-12A1.5 1.5 0 0 1 0 12.5v-7a1.5 1.5 0 0 1 1-1.415V2.5Zm3.483 6.31L1 12.293v-6.16h.002L4.483 8.81ZM1.707 13l3.575-3.575 1.303 1.002a1.5 1.5 0 0 0 1.83 0l1.303-1.002L13.293 13H1.707ZM14 12.293v-6.16h-.002L10.517 8.81 14 12.293Zm-1-6.655V2.5a.5.5 0 0 0-.5-.5h-10a.5.5 0 0 0-.5.5v3.138l5.195 3.997a.5.5 0 0 0 .61 0L13 5.638Z'></path>\",\"<path d='M12 6a1 1 0 0 1 1 1v2h2a1 1 0 1 1 0 2h-2v2a1 1 0 1 1-2 0v-2H9a1 1 0 1 1 0-2h2V7a1 1 0 0 1 1-1Z'></path><path d='M6 2a3 3 0 0 0-3 3v2.17A3.001 3.001 0 0 0 1 10v9a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3v-9a3.001 3.001 0 0 0-2-2.83V5a3 3 0 0 0-3-3H6Zm13 3v5.44l-6.336 5.631a1 1 0 0 1-1.328 0L5 10.44V5a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1ZM7.322 15.18 3 18.782v-7.444l4.322 3.842ZM4.662 20l4.172-3.476 1.173 1.042a3 3 0 0 0 3.986 0l1.173-1.042L19.338 20H4.662ZM21 18.782v-7.444l-4.322 3.842L21 18.782Z'></path>\",\"<path d='M16 8a1 1 0 0 1 1 1v3h3a1 1 0 1 1 0 2h-3v3a1 1 0 1 1-2 0v-3h-3a1 1 0 1 1 0-2h3V9a1 1 0 0 1 1-1Z'></path><path d='M5 6a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v5.17c1.165.412 2 1.524 2 2.83v12a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V14c0-1.306.835-2.418 2-2.83V6Zm0 9.21v10.376l5.682-5.682L5 15.21Zm14.793 5.997L25.586 27H6.414l5.793-5.793.023-.024 1.86 1.536a3 3 0 0 0 3.82 0l1.86-1.536.023.024Zm1.525-1.303L27 25.586V15.21l-5.682 4.694ZM25 14.268V6a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v8.268l8.363 6.909a1 1 0 0 0 1.274 0L25 14.268Z'></path>\"],[\"<path d='M5.5 3a.5.5 0 0 1 .5.5V4h.5a.5.5 0 0 1 0 1H6v.5a.5.5 0 0 1-1 0V5h-.5a.5.5 0 0 1 0-1H5v-.5a.5.5 0 0 1 .5-.5Z'></path><path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v.585A1.5 1.5 0 0 0 0 4.5v5A1.5 1.5 0 0 0 1.5 11h8A1.5 1.5 0 0 0 11 9.5v-5a1.5 1.5 0 0 0-1-1.415V2.5A1.5 1.5 0 0 0 8.5 1h-6Zm3.937 7.39.693-.554.016.018L9.293 10H1.707l2.147-2.146a.493.493 0 0 0 .016-.018l.693.554a1.5 1.5 0 0 0 1.874 0ZM10 9.293 7.915 7.208 10 5.54v3.753ZM3.085 7.208 1 5.54v3.753l2.085-2.085Zm2.103.402L2 5.06V2.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v2.56L5.812 7.61a.5.5 0 0 1-.624 0Z'></path>\",\"<path d='M7.5 3a.5.5 0 0 1 .5.5V5h1.5a.5.5 0 0 1 0 1H8v1.5a.5.5 0 0 1-1 0V6H5.5a.5.5 0 0 1 0-1H7V3.5a.5.5 0 0 1 .5-.5Z'></path><path d='M1 2.5A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v1.585A1.5 1.5 0 0 1 15 5.5v7a1.5 1.5 0 0 1-1.5 1.5h-12A1.5 1.5 0 0 1 0 12.5v-7a1.5 1.5 0 0 1 1-1.415V2.5Zm3.483 6.31L1 12.293v-6.16h.002L4.483 8.81ZM1.707 13l3.575-3.575 1.303 1.002a1.5 1.5 0 0 0 1.83 0l1.303-1.002L13.293 13H1.707ZM14 12.293v-6.16h-.002L10.517 8.81 14 12.293Zm-1-6.655V2.5a.5.5 0 0 0-.5-.5h-10a.5.5 0 0 0-.5.5v3.138l5.195 3.997a.5.5 0 0 0 .61 0L13 5.638Z'></path>\",\"M6 2a3 3 0 0 0-3 3v2.17A3.001 3.001 0 0 0 1 10v9a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3v-9a3.001 3.001 0 0 0-2-2.83V5a3 3 0 0 0-3-3H6Zm13 3v5.44l-6.336 5.631a1 1 0 0 1-1.328 0L5 10.44V5a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1ZM7.322 15.18 3 18.782v-7.444l4.322 3.842ZM4.662 20l4.172-3.476 1.173 1.042a3 3 0 0 0 3.986 0l1.173-1.042L19.338 20H4.662ZM21 18.782v-7.444l-4.322 3.842L21 18.782ZM12 6a1 1 0 0 1 1 1v2h2a1 1 0 1 1 0 2h-2v2a1 1 0 1 1-2 0v-2H9a1 1 0 1 1 0-2h2V7a1 1 0 0 1 1-1Z\",\"<path d='M16 8a1 1 0 0 1 1 1v3h3a1 1 0 1 1 0 2h-3v3a1 1 0 1 1-2 0v-3h-3a1 1 0 1 1 0-2h3V9a1 1 0 0 1 1-1Z'></path><path d='M5 6a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v5.17c1.165.412 2 1.524 2 2.83v12a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V14c0-1.306.835-2.418 2-2.83V6Zm0 9.21v10.376l5.682-5.682L5 15.21Zm14.793 5.997L25.586 27H6.414l5.793-5.793.023-.024 1.86 1.536a3 3 0 0 0 3.82 0l1.86-1.536.023.024Zm1.525-1.303L27 25.586V15.21l-5.682 4.694ZM25 14.268V6a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v8.268l8.363 6.909a1 1 0 0 0 1.274 0L25 14.268Z'></path>\"]];","export default [[\"<g class='svg/eraser-fill-12'><g class='ð¨ Color'><path d='M8.202 1.995a1.7 1.7 0 0 0-2.404 0L3 4.793 7.707 9.5l2.798-2.798a1.7 1.7 0 0 0 0-2.404L8.202 1.995Z'></path><path d='m1.495 6.298.798-.798L7 10.207l-.293.293H9.5a.5.5 0 0 1 0 1H5.1a1.696 1.696 0 0 1-1.302-.495L1.495 8.702a1.7 1.7 0 0 1 0-2.404Z'></path></g></g>\",\"<g class='svg/eraser-fill-16'><g class='ð¨ Color'><path d='M11.202 1.995a1.7 1.7 0 0 0-2.404 0L3.5 7.293 9.207 13l5.298-5.298a1.7 1.7 0 0 0 0-2.404l-3.303-3.303Z'></path><path d='M1.495 9.298 2.793 8 8.5 13.707l-.793.793H12.5a.5.5 0 0 1 0 1H6.1a1.696 1.696 0 0 1-1.302-.495l-3.303-3.303a1.7 1.7 0 0 1 0-2.404Z'></path></g></g>\",\"<g class='svg/eraser-fill-24'><g class='ð¨ Color'><path d='M16.056 2.141a2.2 2.2 0 0 0-3.112 0L5.5 9.586 14.914 19l7.445-7.444a2.2 2.2 0 0 0 0-3.112l-6.303-6.303Z'></path><path d='M1.641 13.444 4.086 11l9.414 9.414-1.086 1.086H19a1 1 0 1 1 0 2H9.614a2.194 2.194 0 0 1-1.67-.641l-6.303-6.303a2.2 2.2 0 0 1 0-3.112Z'></path></g></g>\",\"<g class='svg/eraser-fill-32'><g class='ð¨ Color'><path d='M21.056 3.144a2.2 2.2 0 0 0-3.112 0L7.5 13.59l11.414 11.414L29.36 14.559a2.2 2.2 0 0 0 0-3.112l-8.303-8.303Z'></path><path d='m2.641 18.447 3.445-3.444L17.5 26.417 15.417 28.5H27a1 1 0 1 1 0 2H12.661a2.195 2.195 0 0 1-1.717-.639L2.641 21.56a2.2 2.2 0 0 1 0-3.112Z'></path></g></g>\"],[\"<g class='svg/eraser-outline-12'><path d='M5.798 1.995 1.495 6.298a1.7 1.7 0 0 0 0 2.404l2.303 2.303c.357.357.834.522 1.302.495h4.4a.5.5 0 1 0 0-1H6.707l3.798-3.798a1.7 1.7 0 0 0 0-2.404L8.202 1.995a1.7 1.7 0 0 0-2.404 0Zm1.697.707 2.303 2.303a.7.7 0 0 1 0 .99L7 8.793 3.707 5.5l2.798-2.798a.7.7 0 0 1 .99 0ZM5.065 10.5H5c-.014 0-.028 0-.042.002a.697.697 0 0 1-.453-.204L2.202 7.995a.7.7 0 0 1 0-.99L3 6.207 6.293 9.5l-.798.798a.697.697 0 0 1-.43.202Z' class='ð¨ Color'></path></g>\",\"<g class='svg/eraser-outline-16'><path d='M8.798 1.995 1.495 9.298a1.7 1.7 0 0 0 0 2.404l3.303 3.303c.357.357.834.522 1.302.495h6.4a.5.5 0 1 0 0-1H7.707l6.798-6.798a1.7 1.7 0 0 0 0-2.404l-3.303-3.303a1.7 1.7 0 0 0-2.404 0Zm1.697.707 3.303 3.303a.7.7 0 0 1 0 .99L8.5 12.293 4.207 8l5.298-5.298a.7.7 0 0 1 .99 0ZM6.065 14.5H6c-.014 0-.028 0-.042.002a.697.697 0 0 1-.453-.204l-3.303-3.303a.7.7 0 0 1 0-.99L3.5 8.707 7.793 13l-1.298 1.298a.697.697 0 0 1-.43.202Z' class='ð¨ Color'></path></g>\",\"<g class='svg/eraser-outline-24'><path d='M9.614 23.5a2.194 2.194 0 0 1-1.67-.641l-6.303-6.303a2.2 2.2 0 0 1 0-3.112L12.944 2.141a2.2 2.2 0 0 1 3.112 0l6.303 6.303a2.2 2.2 0 0 1 0 3.112L12.414 21.5H19a1 1 0 1 1 0 2H9.614Zm5.027-19.944a.2.2 0 0 0-.282 0L6.914 11l6.586 6.586 7.444-7.445a.2.2 0 0 0 0-.282l-6.303-6.303ZM3.056 14.859a.2.2 0 0 0 0 .282l6.303 6.303a.2.2 0 0 0 .11.056h.065a.2.2 0 0 0 .107-.056L12.086 19 5.5 12.414 3.056 14.86Z' class='ð¨ Color'></path></g>\",\"<g class='svg/eraser-outline-32'><path d='m6.793 14.293-.002.002-4.15 4.15a2.2 2.2 0 0 0 0 3.11l8.303 8.304c.459.458 1.07.672 1.67.641H27a1 1 0 1 0 0-2H15.414L29.36 14.556a2.2 2.2 0 0 0 0-3.112l-8.303-8.303a2.2 2.2 0 0 0-3.112 0l-11.15 11.15-.001.002ZM19.64 4.556l8.303 8.303a.2.2 0 0 1 0 .282L17.5 23.586 8.914 15 19.36 4.556a.2.2 0 0 1 .282 0ZM12.534 28.5h-.065a.2.2 0 0 1-.11-.056l-8.303-8.303a.2.2 0 0 1 0-.282L7.5 16.414 16.086 25l-3.445 3.444a.2.2 0 0 1-.107.056Z' class='ð¨ Color'></path></g>\"]];","export default [[\"<path d='M4 1.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Z'></path><path d='M5.5 3c.66 0 1.26.256 1.706.673L3 7.879V5.5A2.5 2.5 0 0 1 5.5 3Zm4 0a.5.5 0 0 0-.354.146L3.293 9H2.5a1.5 1.5 0 1 0 0 3H4a.5.5 0 0 0 .354-.146L10.207 6h.293a1.5 1.5 0 0 0 0-3h-1Z'></path>\",\"<path d='M7.5 1a1.5 1.5 0 1 0 0 3A2.5 2.5 0 0 0 5 6.5v2.502l4.408-4.118A2.495 2.495 0 0 0 7.5 4a1.5 1.5 0 1 0 0-3Z'></path><path d='M12 4a.5.5 0 0 0-.341.134L4.303 11H2.5a1.5 1.5 0 0 0 0 3H5a.5.5 0 0 0 .341-.134L12.697 7H14.5a1.5 1.5 0 0 0 0-3H12Z'></path>\",\"<path d='M7 4a3 3 0 1 1 6 0 3 3 0 0 1-6 0Z'></path><path d='M10 7c.787 0 1.52.227 2.14.62L6 13.759V11a4 4 0 0 1 4-4Z'></path><path d='M16.293 6.293A1 1 0 0 1 17 6h3a3 3 0 1 1 0 6h-1.586l-9.707 9.707A1 1 0 0 1 8 22H4a3 3 0 1 1 0-6h2.586l9.707-9.707Z'></path>\",\"<path d='M12 5a3 3 0 1 1 6 0 3 3 0 0 1-6 0Z'></path><path d='M15 8c1.53 0 2.898.686 3.815 1.768L10 18.004V13a5 5 0 0 1 5-5Z'></path><path d='M23.318 8.269A1 1 0 0 1 24 8h4.5a3.5 3.5 0 1 1 0 7h-3.106L10.682 28.731A1 1 0 0 1 10 29H5.5a3.5 3.5 0 1 1 0-7h3.106L23.318 8.269Z'></path>\"],[\"M5.5 0a1.5 1.5 0 1 0 0 3A2.5 2.5 0 0 0 3 5.5v2.38l1-1V5.5a1.5 1.5 0 0 1 2.499-1.12l.707-.707A2.491 2.491 0 0 0 5.5 3a1.5 1.5 0 1 0 0-3ZM5 1.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0ZM9.5 3a.5.5 0 0 0-.354.146L3.293 9H2.5a1.5 1.5 0 1 0 0 3H4a.5.5 0 0 0 .354-.146L10.207 6h.293a1.5 1.5 0 0 0 0-3h-1ZM3.854 9.854 9.707 4h.793a.5.5 0 0 1 0 1H10a.5.5 0 0 0-.354.146L3.793 11H2.5a.5.5 0 0 1 0-1h1a.5.5 0 0 0 .354-.146Z\",\"<path d='M6 2.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM7.5 2a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Z'></path><path d='M7.5 4c.765 0 1.449.343 1.908.884l-.733.684A1.5 1.5 0 0 0 6 6.5v1.568l-1 .934V6.5A2.5 2.5 0 0 1 7.5 4Z'></path><path d='M12 4a.5.5 0 0 0-.341.134L4.303 11H2.5a1.5 1.5 0 0 0 0 3H5a.5.5 0 0 0 .341-.134L12.697 7H14.5a1.5 1.5 0 0 0 0-3H12Zm-7.159 7.866L12.197 5H14.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 0-.341.134L4.803 13H2.5a.5.5 0 0 1 0-1h2a.5.5 0 0 0 .341-.134Z'></path>\",\"<path d='M7 4a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm3-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2Z'></path><path d='M10 7c.787 0 1.52.227 2.14.62l-1.49 1.488A2 2 0 0 0 8 11v.759l-2 2V11a4 4 0 0 1 4-4Z'></path><path d='M17 6a1 1 0 0 0-.707.293L6.586 16H4a3 3 0 1 0 0 6h4a1 1 0 0 0 .707-.293L18.414 12H20a3 3 0 1 0 0-6h-3ZM7.707 17.707 17.414 8H20a1 1 0 1 1 0 2h-2a1 1 0 0 0-.707.293L7.586 20H4a1 1 0 1 1 0-2h3a1 1 0 0 0 .707-.293Z'></path>\",\"<path d='M12 5a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm3-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2Z'></path><path d='M15 8c1.53 0 2.898.686 3.815 1.768l-1.464 1.368A3 3 0 0 0 12 13v3.136l-2.001 1.869V13a5 5 0 0 1 5-5Z'></path><path d='M24 8a1 1 0 0 0-.682.269L8.606 22H5.5a3.5 3.5 0 1 0 0 7H10a1 1 0 0 0 .682-.269L25.394 15H28.5a3.5 3.5 0 1 0 0-7H24ZM9.682 23.731 24.394 10H28.5a1.5 1.5 0 0 1 0 3H25a1 1 0 0 0-.682.269L9.606 27H5.5a1.5 1.5 0 0 1 0-3H9a1 1 0 0 0 .682-.269Z'></path>\"]];","export default [[\"M5.5 2a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-.5-.5Zm0 8a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\",\"M8 2a1 1 0 0 0-1 1v6a1 1 0 0 0 2 0V3a1 1 0 0 0-1-1Zm0 11a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"M12 4a1 1 0 0 0-1 1v11a1 1 0 1 0 2 0V5a1 1 0 0 0-1-1Zm0 17a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"M16 7a1 1 0 0 0-1 1v12a1 1 0 1 0 2 0V8a1 1 0 0 0-1-1Zm0 18a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"]];","export default [[\"M8 1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-.793L7.854 4.854a.5.5 0 1 1-.708-.708L9.293 2H8.5a.5.5 0 0 1-.5-.5Zm-4 9a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 1 0v.793l2.146-2.147a.5.5 0 1 1 .708.708L2.707 10H3.5a.5.5 0 0 1 .5.5Z\",\"M11 1.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0V2.707l-3.146 3.147a.5.5 0 0 1-.708-.708L13.293 2H11.5a.5.5 0 0 1-.5-.5Zm-6 13a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 1 0v1.793l3.146-3.147a.5.5 0 0 1 .708.708L2.707 14H4.5a.5.5 0 0 1 .5.5Z\",\"M17 2a1 1 0 1 0 0 2h1.586l-4.293 4.293a1 1 0 0 0 1.414 1.414L20 5.414V7a1 1 0 1 0 2 0V3a1 1 0 0 0-1-1h-4ZM8 21a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-4a1 1 0 1 1 2 0v1.586l4.293-4.293a1 1 0 0 1 1.414 1.414L5.414 20H7a1 1 0 0 1 1 1Z\",\"M23 2a1 1 0 1 0 0 2h3.586l-8.293 8.293a1 1 0 0 0 1.414 1.414L28 5.414V9a1 1 0 1 0 2 0V3a1 1 0 0 0-1-1h-6ZM10 29a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-6a1 1 0 1 1 2 0v3.586l8.293-8.293a1 1 0 0 1 1.414 1.414L5.414 28H9a1 1 0 0 1 1 1Z\"]];","export default [[\"<path d='M4.5 6a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Z'></path><path d='M.497 5.153C1.418 3.976 3.374 2 6 2c2.626 0 4.582 1.976 5.503 3.153.39.5.39 1.195 0 1.694C10.582 8.024 8.626 10 6 10 3.374 10 1.418 8.024.497 6.847a1.372 1.372 0 0 1 0-1.694ZM6 3.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path>\",\"<path d='M6 8a2 2 0 1 1 4 0 2 2 0 0 1-4 0Z'></path><path d='M1.265 7.359C2.177 5.742 4.473 3.5 8 3.5c3.526 0 5.823 2.242 6.735 3.859.225.399.225.883 0 1.282C13.823 10.258 11.526 12.5 8 12.5c-3.527 0-5.823-2.242-6.735-3.859a1.302 1.302 0 0 1 0-1.282ZM8 5a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z'></path>\",\"<path d='M10 12a2 2 0 1 1 4 0 2 2 0 0 1-4 0Z'></path><path d='M1.574 10.287C3.114 8.507 6.788 5 12 5s8.887 3.507 10.426 5.287a2.587 2.587 0 0 1-.014 3.424C20.858 15.482 17.147 19 12 19c-5.146 0-8.858-3.518-10.412-5.289a2.587 2.587 0 0 1-.014-3.424ZM12 8a4 4 0 1 0 0 8 4 4 0 0 0 0-8Z'></path>\",\"<path d='M12 16a4 4 0 1 1 8 0 4 4 0 0 1-8 0Z'></path><path d='M7.586 9.622C9.948 8.145 12.862 7 16 7s6.052 1.145 8.414 2.622c2.36 1.475 4.24 3.326 5.318 4.846.673.95.593 2.18-.08 3.057C27.419 20.435 22.276 25 16 25c-6.276 0-11.42-4.565-13.652-7.475-.673-.877-.753-2.107-.08-3.057 1.077-1.52 2.958-3.37 5.318-4.846ZM16 10a6 6 0 1 0 0 12 6 6 0 0 0 0-12Z'></path>\"],[\"<path d='M6 3.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5ZM4.5 6a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Z'></path><path d='M6 2C3.374 2 1.418 3.976.497 5.153a1.372 1.372 0 0 0 0 1.694C1.418 8.024 3.374 10 6 10c2.626 0 4.582-1.976 5.503-3.153.39-.5.39-1.195 0-1.694C10.582 3.976 8.626 2 6 2ZM1.285 5.77C2.172 4.634 3.867 3 6 3c2.132 0 3.828 1.635 4.715 2.77a.372.372 0 0 1 0 .46C9.828 7.366 8.132 9 6 9 3.867 9 2.172 7.365 1.285 6.23a.372.372 0 0 1 0-.46Z'></path>\",\"<path d='M8 5a3 3 0 1 0 0 6 3 3 0 0 0 0-6ZM6 8a2 2 0 1 1 4 0 2 2 0 0 1-4 0Z'></path><path d='M8 3.5c-3.527 0-5.823 2.242-6.735 3.859a1.302 1.302 0 0 0 0 1.282C2.177 10.258 4.473 12.5 8 12.5c3.526 0 5.823-2.242 6.735-3.859a1.303 1.303 0 0 0 0-1.282C13.823 5.742 11.526 3.5 8 3.5ZM2.135 7.85C2.923 6.456 4.93 4.5 8 4.5c3.07 0 5.077 1.956 5.864 3.35a.302.302 0 0 1 0 .3C13.077 9.544 11.071 11.5 8 11.5c-3.071 0-5.077-1.956-5.865-3.35a.302.302 0 0 1 0-.3Z'></path>\",\"<path d='M12 8a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm-2 4a2 2 0 1 1 4 0 2 2 0 0 1-4 0Z'></path><path d='M12 5C6.788 5 3.113 8.507 1.574 10.287a2.587 2.587 0 0 0 .014 3.424C3.142 15.482 6.854 19 12 19c5.146 0 8.858-3.518 10.412-5.289a2.587 2.587 0 0 0 .014-3.424C20.886 8.507 17.212 5 12 5Zm-8.913 6.595C4.527 9.93 7.691 7 12 7s7.473 2.93 8.913 4.595a.588.588 0 0 1-.005.797C19.443 14.062 16.241 17 12 17s-7.443-2.937-8.908-4.608a.588.588 0 0 1-.005-.797Z'></path>\",\"<path d='M16 10a6 6 0 1 0 0 12 6 6 0 0 0 0-12Zm-4 6a4 4 0 1 1 8 0 4 4 0 0 1-8 0Z'></path><path d='M16 7c-3.138 0-6.052 1.145-8.414 2.622-2.36 1.475-4.24 3.326-5.318 4.846-.673.95-.593 2.18.08 3.057C4.581 20.435 9.724 25 16 25c6.276 0 11.419-4.565 13.652-7.475.673-.877.753-2.107.08-3.057-1.077-1.52-2.958-3.37-5.318-4.846C22.052 8.145 19.138 7 16 7ZM3.9 15.625c.913-1.29 2.594-2.962 4.746-4.307C10.796 9.974 13.344 9 16 9c2.656 0 5.205.974 7.354 2.318 2.152 1.345 3.833 3.018 4.746 4.307.133.187.14.455-.035.683C25.987 19.016 21.362 23 16 23c-5.362 0-9.987-3.984-12.065-6.692-.175-.228-.169-.496-.036-.683Z'></path>\"]];","export default [[\"M10.854 1.854a.5.5 0 0 0-.708-.708L8.638 2.655C7.853 2.266 6.962 2 6 2c-1.32 0-2.503.5-3.465 1.132A10.192 10.192 0 0 0 .311 5.15a1.337 1.337 0 0 0 0 1.7c.485.592 1.227 1.35 2.158 1.974l-1.323 1.322a.5.5 0 0 0 .708.708l9-9Zm-6.94 5.525.732-.732a1.5 1.5 0 0 1 2-2l.733-.733a2.5 2.5 0 0 0-3.464 3.464Zm1.732 1.096a2.5 2.5 0 0 0 2.829-2.829l1.865-1.865c.561.47 1.021.959 1.358 1.37a1.335 1.335 0 0 1 0 1.699 10.208 10.208 0 0 1-2.23 2.018C8.505 9.499 7.319 10 6 10c-.57 0-1.115-.094-1.628-.25l1.274-1.275Z\",\"<path d='M14.854 1.854a.5.5 0 0 0-.708-.708l-2.998 3a9.074 9.074 0 0 0-2.198-.578c-2.288-.294-4.85.326-7.286 2.639a2.098 2.098 0 0 0-.143 2.923c.572.65 1.417 1.478 2.49 2.151l-2.865 2.865a.5.5 0 0 0 .708.708l13-13Zm-9.3 7.884.723-.722a2 2 0 0 1 2.74-2.74l.721-.721a3 3 0 0 0-4.184 4.184Zm1.669 1.16L5.94 12.181c.64.2 1.328.319 2.06.319 3.103 0 5.419-2.142 6.556-3.459.7-.81.687-2.017-.109-2.777a10.36 10.36 0 0 0-1.443-1.146l-2.106 2.105a3.003 3.003 0 0 1-3.675 3.675Z'></path><path d='m9.996 8.125-1.87 1.871a2 2 0 0 0 1.87-1.87Z'></path>\",\"M22.707 2.707a1 1 0 0 0-1.414-1.414L16.646 5.94a13.557 13.557 0 0 0-2.958-.806c-3.76-.57-7.995.516-11.945 4.703-.93.986-1.025 2.518-.129 3.592.801.96 2.16 2.393 3.978 3.565l-4.3 4.299a1 1 0 1 0 1.415 1.414l20-20ZM8.554 14.032l1.514-1.514a2 2 0 0 1 2.45-2.45l1.514-1.514a4 4 0 0 0-5.478 5.478Zm.978 4.678 2.718-2.718a4 4 0 0 0 3.742-3.742l4.272-4.272a15.343 15.343 0 0 1 2.128 1.925c.897.986.893 2.435.069 3.435C20.932 15.194 17.191 19 12 19c-.864 0-1.688-.105-2.468-.29Z\",\"<path d='M29.707 3.707a1 1 0 0 0-1.414-1.414L22.226 8.36a16.385 16.385 0 0 0-3.822-1.158c-4.861-.828-10.4.656-15.73 6.564-.863.957-.992 2.402-.195 3.481.97 1.313 2.86 3.561 5.56 5.3l-5.746 5.746a1 1 0 1 0 1.414 1.414l26-26ZM11.11 19.477l1.445-1.445a4 4 0 0 1 5.478-5.478l1.445-1.445a6 6 0 0 0-8.367 8.367Zm8.882-3.227-3.742 3.742a4 4 0 0 0 3.742-3.742Z'></path><path d='M16 22c-.537 0-1.059-.07-1.554-.203l-2.57 2.569c1.269.397 2.645.634 4.124.634 7.135 0 11.892-5.523 13.586-7.842a2.686 2.686 0 0 0-.106-3.32 20.594 20.594 0 0 0-3.666-3.409l-4.017 4.017A6 6 0 0 1 16 22Z'></path>\"],[\"<path d='M10.854 1.854a.5.5 0 0 0-.708-.708L8.638 2.655C7.853 2.266 6.962 2 6 2c-1.32 0-2.503.5-3.464 1.132A10.192 10.192 0 0 0 .312 5.15a1.337 1.337 0 0 0 0 1.7 10.24 10.24 0 0 0 2.157 1.974l-1.323 1.322a.5.5 0 0 0 .708.708l9-9ZM3.192 8.1l.722-.722a2.5 2.5 0 0 1 3.464-3.464l.507-.507A4.79 4.79 0 0 0 6 3c-1.064 0-2.058.405-2.915.968a9.193 9.193 0 0 0-2 1.816.337.337 0 0 0 0 .432 9.193 9.193 0 0 0 2.107 1.885Zm3.455-3.455a1.5 1.5 0 0 0-2 2l2-2Zm1.828 1.001a2.5 2.5 0 0 1-2.829 2.829l2.83-2.829Z'></path><path d='M6 9a4.37 4.37 0 0 1-.803-.076l-.825.825A5.55 5.55 0 0 0 6 10c1.32 0 2.505-.5 3.468-1.132a10.213 10.213 0 0 0 2.23-2.018 1.335 1.335 0 0 0 0-1.7c-.337-.41-.797-.9-1.358-1.369l-.71.71c.535.439.976.905 1.295 1.293a.335.335 0 0 1 0 .432A9.211 9.211 0 0 1 8.92 8.032C8.06 8.595 7.064 9 6 9Z'></path>\",\"<path d='M14.854 1.854a.5.5 0 0 0-.708-.708L11.14 4.154A7.702 7.702 0 0 0 8 3.5c-3.527 0-5.823 2.242-6.735 3.859a1.302 1.302 0 0 0 0 1.282c.493.874 1.391 1.931 2.67 2.718l-2.789 2.787a.5.5 0 0 0 .708.708l13-13Zm-10.19 8.774.89-.89a3 3 0 0 1 4.184-4.184l.633-.632A6.746 6.746 0 0 0 8 4.5c-3.07 0-5.077 1.956-5.864 3.35a.302.302 0 0 0 0 .3c.451.8 1.304 1.784 2.528 2.478Zm4.352-4.351a2 2 0 0 0-2.74 2.74l2.74-2.74Zm.98 1.848.902-.902a3.003 3.003 0 0 1-3.675 3.675l.902-.902a2 2 0 0 0 1.871-1.87Z'></path><path d='M8 11.5c-.444 0-.865-.04-1.264-.115l-.833.834A7.817 7.817 0 0 0 8 12.5c3.527 0 5.823-2.242 6.735-3.859a1.303 1.303 0 0 0 0-1.282c-.379-.671-.996-1.45-1.84-2.132l-.712.712c.778.607 1.342 1.311 1.681 1.911a.302.302 0 0 1 0 .3C13.077 9.544 11.071 11.5 8 11.5Z'></path>\",\"<path d='M22.707 2.707a1 1 0 0 0-1.414-1.414l-4.666 4.666A11.766 11.766 0 0 0 12 5C6.77 5 3.133 8.528 1.623 10.307c-.84.989-.83 2.405.014 3.384.773.897 2.1 2.25 3.893 3.365l-4.237 4.237a1 1 0 1 0 1.414 1.414l20-20ZM6.988 15.597l1.566-1.565a4 4 0 0 1 5.478-5.478l1.045-1.045A9.638 9.638 0 0 0 12 7c-4.317 0-7.443 2.942-8.853 4.602a.583.583 0 0 0 .005.783c.79.917 2.105 2.224 3.836 3.213Zm5.53-5.53a2 2 0 0 0-2.45 2.45l2.45-2.45Zm3.474 2.183-3.742 3.742a4 4 0 0 0 3.742-3.742Z'></path><path d='M12 17c-.246 0-.49-.01-.728-.029l-1.753 1.753c.783.175 1.61.276 2.481.276 5.163 0 8.838-3.54 10.363-5.309.844-.98.854-2.395.014-3.384a17.462 17.462 0 0 0-2.241-2.2l-1.422 1.422a15.4 15.4 0 0 1 2.139 2.073c.2.234.199.547-.005.783C19.413 14.05 16.25 17 12 17Z'></path>\",\"<path d='M29.707 3.707a1 1 0 0 0-1.414-1.414l-6.137 6.136C20.304 7.572 18.218 7 16 7c-3.139 0-6.014 1.145-8.336 2.625-2.318 1.478-4.148 3.33-5.205 4.847-.662.95-.583 2.172.08 3.05 1.146 1.516 3.05 3.486 5.502 5.023l-5.748 5.748a1 1 0 1 0 1.414 1.414l26-26ZM9.497 21.09l1.612-1.612a6 6 0 0 1 8.367-8.367l1.16-1.16C19.185 9.361 17.62 9 16 9c-2.653 0-5.159.972-7.26 2.312-2.106 1.34-3.74 3.011-4.64 4.302-.135.194-.14.468.036.702 1.134 1.5 3.007 3.387 5.36 4.772Zm8.535-8.535a4 4 0 0 0-5.478 5.478l5.478-5.478Zm1.96 3.695 1.805-1.804a6 6 0 0 1-7.351 7.351l1.804-1.805a4 4 0 0 0 3.742-3.742Z'></path><path d='M16 23c-.85 0-1.678-.1-2.478-.28l-1.63 1.631A13.6 13.6 0 0 0 16 25c6.284 0 11.265-4.573 13.46-7.477.664-.879.743-2.102.081-3.051-.843-1.21-2.178-2.634-3.86-3.91l-1.43 1.429c1.628 1.197 2.896 2.543 3.65 3.624.134.194.14.468-.037.702C25.814 19.03 21.352 23 16 23Z'></path>\"]];","export default [[\"M6 0a6 6 0 0 0-.938 11.927V7.734H3.54V6h1.523V4.678c0-1.504.896-2.334 2.267-2.334.656 0 1.343.117 1.343.117v1.477h-.757c-.745 0-.977.462-.977.937V6H8.6l-.266 1.734H6.938v4.193A6.001 6.001 0 0 0 6 0Z\",\"M8 1a7 7 0 0 0-1.094 13.915v-4.891H5.129V8h1.777V6.458c0-1.755 1.045-2.724 2.644-2.724.766 0 1.567.137 1.567.137v1.723h-.883c-.87 0-1.14.54-1.14 1.093V8h1.941l-.31 2.024H9.094v4.891A7.001 7.001 0 0 0 8 1Z\",\"M12 1C5.925 1 1 5.925 1 12c0 5.49 4.022 10.041 9.28 10.866V15.18H7.489V12h2.793V9.577c0-2.757 1.642-4.28 4.155-4.28 1.203 0 2.462.215 2.462.215v2.707h-1.387c-1.367 0-1.792.848-1.792 1.718V12h3.05l-.488 3.18H13.72v7.686C18.978 22.041 23 17.491 23 12c0-6.075-4.925-11-11-11Z\",\"M16 2C8.268 2 2 8.268 2 16c0 6.988 5.119 12.78 11.812 13.83v-9.783h-3.554V16h3.554v-3.084c0-3.509 2.09-5.447 5.289-5.447 1.531 0 3.133.273 3.133.273v3.446h-1.765c-1.74 0-2.281 1.079-2.281 2.186V16h3.882l-.621 4.047h-3.261v9.783C24.881 28.78 30 22.988 30 16c0-7.732-6.268-14-14-14Z\"]];","export default [[\"M.5 2a.5.5 0 0 0 0 1h8a.5.5 0 0 0 0-1h-8ZM0 5.5A1.5 1.5 0 0 1 1.5 4h9A1.5 1.5 0 0 1 12 5.5v3a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 0 8.5v-3Zm2.5.5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Z\",\"M1.5 3a.5.5 0 0 0 0 1h8a.5.5 0 0 0 0-1h-8ZM1 6.5A1.5 1.5 0 0 1 2.5 5h11A1.5 1.5 0 0 1 15 6.5v4a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 10.5v-4Zm2.5.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2a.5.5 0 0 1 .5-.5Z\",\"M2 4a1 1 0 0 0 0 2h12a1 1 0 1 0 0-2H2Zm-1 7a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v4a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3v-4Zm4 0a1 1 0 0 1 1 1v2a1 1 0 1 1-2 0v-2a1 1 0 0 1 1-1Z\",\"M3 8a1 1 0 0 0 0 2h16a1 1 0 1 0 0-2H3Zm-1 7a3 3 0 0 1 3-3h22a3 3 0 0 1 3 3v5a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3v-5Zm5 0a1 1 0 0 1 1 1v3a1 1 0 1 1-2 0v-3a1 1 0 0 1 1-1Z\"],[\"M.5 2a.5.5 0 0 0 0 1h8a.5.5 0 0 0 0-1h-8ZM0 5.5A1.5 1.5 0 0 1 1.5 4h9A1.5 1.5 0 0 1 12 5.5v3a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 0 8.5v-3ZM1.5 5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-9Zm1 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Z\",\"M1.5 3a.5.5 0 0 0 0 1h8a.5.5 0 0 0 0-1h-8ZM1 6.5A1.5 1.5 0 0 1 2.5 5h11A1.5 1.5 0 0 1 15 6.5v4a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 10.5v-4ZM2.5 6a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-11Zm1 1a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2a.5.5 0 0 1 .5-.5Z\",\"M2 4a1 1 0 0 0 0 2h12a1 1 0 1 0 0-2H2Zm-1 7a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v4a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3v-4Zm3-1a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H4Zm1 1a1 1 0 0 1 1 1v2a1 1 0 1 1-2 0v-2a1 1 0 0 1 1-1Z\",\"M3 8a1 1 0 0 0 0 2h16a1 1 0 1 0 0-2H3Zm-1 7a3 3 0 0 1 3-3h22a3 3 0 0 1 3 3v5a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3v-5Zm3-1a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h22a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1H5Zm2 1a1 1 0 0 1 1 1v3a1 1 0 1 1-2 0v-3a1 1 0 0 1 1-1Z\"]];","export default [[\"M1.5 1a.5.5 0 0 0-.416.777L4 6.151V10.5a.5.5 0 0 0 .724.447l2-1A.5.5 0 0 0 7 9.5V6.151l2.916-4.374A.5.5 0 0 0 9.5 1h-8Z\",\"M2.5 1a.5.5 0 0 0-.404.794L6 7.163V14.5a.5.5 0 0 0 .724.447l3-1.5A.5.5 0 0 0 10 13V7.163l3.904-5.369A.5.5 0 0 0 13.5 1h-11Z\",\"M4 2a1 1 0 0 0-.832 1.555L9 12.303V21a1 1 0 0 0 1.6.8l4-3a1 1 0 0 0 .4-.8v-5.697l5.832-8.748A1 1 0 0 0 20 2H4Z\",\"M4 3a1 1 0 0 0-.8 1.6L12 16.333V28a1 1 0 0 0 1.385.923l6-2.5A1 1 0 0 0 20 25.5v-9.167L28.8 4.6A1 1 0 0 0 28 3H4Z\"],[\"M1.06 1.264A.5.5 0 0 1 1.5 1h8a.5.5 0 0 1 .416.777L7 6.151V9.5a.5.5 0 0 1-.276.447l-2 1A.5.5 0 0 1 4 10.5V6.151L1.084 1.777a.5.5 0 0 1-.025-.513ZM2.433 2l2.482 3.723A.5.5 0 0 1 5 6v3.691l1-.5V6a.5.5 0 0 1 .084-.277L8.566 2H2.434Z\",\"M2.054 1.273A.5.5 0 0 1 2.5 1h11a.5.5 0 0 1 .404.794L10 7.163V13a.5.5 0 0 1-.276.447l-3 1.5A.5.5 0 0 1 6 14.5V7.163L2.096 1.794a.5.5 0 0 1-.042-.52ZM3.482 2l3.422 4.706A.5.5 0 0 1 7 7v6.691l2-1V7a.5.5 0 0 1 .096-.294L12.518 2H3.482Z\",\"M3.118 2.528A1 1 0 0 1 4 2h16a1 1 0 0 1 .832 1.555L15 12.303V18a1 1 0 0 1-.4.8l-4 3A1 1 0 0 1 9 21v-8.697L3.168 3.555a1 1 0 0 1-.05-1.027ZM5.868 4l4.964 7.445A1 1 0 0 1 11 12v7l2-1.5V12a1 1 0 0 1 .168-.555L18.131 4H5.87Z\",\"M3.106 3.553A1 1 0 0 1 4 3h24a1 1 0 0 1 .8 1.6L20 16.333V25.5a1 1 0 0 1-.615.923l-6 2.5A1 1 0 0 1 12 28V16.333L3.2 4.6a1 1 0 0 1-.094-1.047ZM6 5l7.8 10.4a1 1 0 0 1 .2.6v10.5l4-1.667V16a1 1 0 0 1 .2-.6L26 5H6Z\"]];","export default [[\"M4.5 2a.5.5 0 0 0-.434.748L6 6.133V9.5a.5.5 0 0 0 .724.447l2-1A.5.5 0 0 0 9 8.5V6.133l1.934-3.385A.5.5 0 0 0 10.5 2h-6ZM2.615 3.013a.5.5 0 0 0-.562.263l-1 2a.5.5 0 0 0 0 .448l1 2A.5.5 0 0 0 3 7.5v-4a.5.5 0 0 0-.385-.487Z\",\"M6.5 3a.5.5 0 0 0-.416.777L9 8.151V12.5a.5.5 0 0 0 .724.447l2-1A.5.5 0 0 0 12 11.5V8.151l2.916-4.374A.5.5 0 0 0 14.5 3h-8ZM3.691 5.038a.5.5 0 0 0-.545.108l-2 2a.5.5 0 0 0 0 .708l2 2A.5.5 0 0 0 4 9.5v-4a.5.5 0 0 0-.309-.462Z\",\"M8 4a1 1 0 0 0-.832 1.555L12 12.803V20a1 1 0 0 0 1.64.768l3-2.5A1 1 0 0 0 17 17.5v-4.697l4.832-7.248A1 1 0 0 0 21 4H8ZM5.316 7.051A1 1 0 0 0 4.2 7.4l-3 4a1 1 0 0 0 0 1.2l3 4A1 1 0 0 0 6 16V8a1 1 0 0 0-.684-.949Z\",\"M11 6a1 1 0 0 0-.832 1.555L16 16.303V25a1 1 0 0 0 1.6.8l4-3a1 1 0 0 0 .4-.8v-5.697l5.832-8.748A1 1 0 0 0 27 6H11Zm-3.733 4.036a1 1 0 0 0-1.124.45l-3 5a1 1 0 0 0 0 1.029l3 5A1 1 0 0 0 8 21V11a1 1 0 0 0-.733-.964Z\"],[\"M4.5 2a.5.5 0 0 0-.434.748L6 6.133V9.5a.5.5 0 0 0 .724.447l2-1A.5.5 0 0 0 9 8.5V6.133l1.934-3.385A.5.5 0 0 0 10.5 2h-6Zm2.434 3.752L5.362 3h4.276L8.066 5.752A.5.5 0 0 0 8 6v2.191l-1 .5V6a.5.5 0 0 0-.066-.248ZM2.053 3.276A.5.5 0 0 1 3 3.5v4a.5.5 0 0 1-.947.224l-1-2a.5.5 0 0 1 0-.448l1-2Z\",\"M6.5 3a.5.5 0 0 0-.416.777L9 8.151V12.5a.5.5 0 0 0 .724.447l2-1A.5.5 0 0 0 12 11.5V8.151l2.916-4.374A.5.5 0 0 0 14.5 3h-8Zm3.416 4.723L7.434 4h6.132l-2.482 3.723A.5.5 0 0 0 11 8v3.191l-1 .5V8a.5.5 0 0 0-.084-.277Zm-6.77-2.577A.5.5 0 0 1 4 5.5v4a.5.5 0 0 1-.854.354l-2-2a.5.5 0 0 1 0-.708l2-2ZM2.207 7.5 3 8.293V6.707l-.793.793Z\",\"M8 4a1 1 0 0 0-.832 1.555L12 12.803V20a1 1 0 0 0 1.64.768l3-2.5A1 1 0 0 0 17 17.5v-4.697l4.832-7.248A1 1 0 0 0 21 4H8Zm5.832 7.945L9.87 6h9.262l-3.963 5.945A1 1 0 0 0 15 12.5v4.532l-1 .833V12.5a1 1 0 0 0-.168-.555ZM4.2 7.4A1 1 0 0 1 6 8v8a1 1 0 0 1-1.8.6l-3-4a1 1 0 0 1 0-1.2l3-4ZM3.25 12 4 13v-2l-.75 1Z\",\"M11 6a1 1 0 0 0-.832 1.555L16 16.303V25a1 1 0 0 0 1.6.8l4-3a1 1 0 0 0 .4-.8v-5.697l5.832-8.748A1 1 0 0 0 27 6H11Zm6.832 9.445L12.868 8h12.263l-4.963 7.445A1 1 0 0 0 20 16v5.5L18 23v-7a1 1 0 0 0-.168-.555ZM6.143 10.486A1 1 0 0 1 8 11v10a1 1 0 0 1-1.857.515l-3-5a1 1 0 0 1 0-1.03l3-5ZM5.166 16 6 17.39v-2.78L5.166 16Z\"]];","export default [[\"M1.5 2a.5.5 0 0 0-.434.748L3 6.133V9.5a.5.5 0 0 0 .724.447l2-1A.5.5 0 0 0 6 8.5V6.133l1.934-3.385A.5.5 0 0 0 7.5 2h-6Zm7.885 1.013a.5.5 0 0 1 .562.263l1 2a.5.5 0 0 1 0 .448l-1 2A.5.5 0 0 1 9 7.5v-4a.5.5 0 0 1 .385-.487Z\",\"M1.5 3a.5.5 0 0 0-.416.777L4 8.151V12.5a.5.5 0 0 0 .724.447l2-1A.5.5 0 0 0 7 11.5V8.151l2.916-4.374A.5.5 0 0 0 9.5 3h-8Zm10.809 2.038a.5.5 0 0 1 .545.108l2 2a.5.5 0 0 1 0 .708l-2 2A.5.5 0 0 1 12 9.5v-4a.5.5 0 0 1 .309-.462Z\",\"M3 4a1 1 0 0 0-.832 1.555L7 12.803V20a1 1 0 0 0 1.64.768l3-2.5A1 1 0 0 0 12 17.5v-4.697l4.832-7.248A1 1 0 0 0 16 4H3Zm15.684 3.051A1 1 0 0 1 19.8 7.4l3 4a1 1 0 0 1 0 1.2l-3 4A1 1 0 0 1 18 16V8a1 1 0 0 1 .684-.949Z\",\"M5 6a1 1 0 0 0-.832 1.555L10 16.303V25a1 1 0 0 0 1.6.8l4-3a1 1 0 0 0 .4-.8v-5.697l5.832-8.748A1 1 0 0 0 21 6H5Zm19.733 4.036a1 1 0 0 1 1.125.45l3 5a1 1 0 0 1 0 1.029l-3 5A1 1 0 0 1 24 21V11a1 1 0 0 1 .733-.964Z\"],[\"M1.5 2a.5.5 0 0 0-.434.748L3 6.133V9.5a.5.5 0 0 0 .724.447l2-1A.5.5 0 0 0 6 8.5V6.133l1.934-3.385A.5.5 0 0 0 7.5 2h-6Zm2.434 3.752L2.362 3h4.276L5.066 5.752A.5.5 0 0 0 5 6v2.191l-1 .5V6a.5.5 0 0 0-.066-.248Zm6.013-2.476A.5.5 0 0 0 9 3.5v4a.5.5 0 0 0 .947.224l1-2a.5.5 0 0 0 0-.448l-1-2Z\",\"M1.5 3a.5.5 0 0 0-.416.777L4 8.151V12.5a.5.5 0 0 0 .724.447l2-1A.5.5 0 0 0 7 11.5V8.151l2.916-4.374A.5.5 0 0 0 9.5 3h-8Zm3.416 4.723L2.434 4h6.132L6.084 7.723A.5.5 0 0 0 6 8v3.191l-1 .5V8a.5.5 0 0 0-.084-.277Zm7.938-2.577A.5.5 0 0 0 12 5.5v4a.5.5 0 0 0 .854.354l2-2a.5.5 0 0 0 0-.708l-2-2Zm.939 2.354L13 8.293V6.707l.793.793Z\",\"M3 4a1 1 0 0 0-.832 1.555L7 12.803V20a1 1 0 0 0 1.64.768l3-2.5A1 1 0 0 0 12 17.5v-4.697l4.832-7.248A1 1 0 0 0 16 4H3Zm5.832 7.945L4.87 6h9.263l-3.964 5.945A1 1 0 0 0 10 12.5v4.532l-1 .833V12.5a1 1 0 0 0-.168-.555ZM19.8 7.4A1 1 0 0 0 18 8v8a1 1 0 0 0 1.8.6l3-4a1 1 0 0 0 0-1.2l-3-4Zm.95 4.6L20 13v-2l.75 1Z\",\"M5 6a1 1 0 0 0-.832 1.555L10 16.303V25a1 1 0 0 0 1.6.8l4-3a1 1 0 0 0 .4-.8v-5.697l5.832-8.748A1 1 0 0 0 21 6H5Zm6.832 9.445L6.87 8h12.26l-4.963 7.445A1 1 0 0 0 14 16v5.5L12 23v-7a1 1 0 0 0-.168-.555Zm14.026-4.959A1 1 0 0 0 24 11v10a1 1 0 0 0 1.858.515l3-5a1 1 0 0 0 0-1.03l-3-5ZM26.834 16 26 17.39v-2.78l.834 1.39Z\"]];","export default [[\"M3.994.676C4.465.298 5.002 0 5.5 0c.18 0 .361.06.506.197a.842.842 0 0 1 .227.406c.062.238.05.522.024.776-.027.268-.078.575-.13.884l-.023.133c-.047.272-.095.55-.134.827-.094.664-.123 1.233-.016 1.62.05.182.12.286.195.347.07.057.193.115.426.115.337 0 .479-.11.569-.234.118-.16.19-.408.247-.75.018-.108.032-.21.047-.315l.027-.19c.024-.168.054-.35.103-.518.048-.163.126-.36.277-.52A.878.878 0 0 1 8.5 2.5c.454 0 .828.267 1.102.564.283.306.528.715.729 1.159.401.887.67 2.015.67 3.01C11 9.89 8.738 12 6.003 12 3.276 12 1.018 9.899 1.01 7.25c-.111-1.867.62-3.653 1.524-4.962.455-.66.966-1.215 1.46-1.612ZM6.29 8.147a.354.354 0 0 0-.582 0c-.19.255-.375.531-.511.787-.146.274-.198.458-.198.549 0 .567.453 1.017 1 1.017.547 0 1-.45 1-1.017 0-.091-.052-.275-.198-.549a6.539 6.539 0 0 0-.51-.787Z\",\"M8.305 1.225c.364.293.496.785.402 1.265-.213 1.092-.43 2.46-.358 3.54.036.544.141.953.306 1.212.143.225.333.351.659.351.297 0 .47-.05.575-.105a.603.603 0 0 0 .246-.255c.078-.137.142-.315.218-.564l.052-.17c.06-.203.13-.435.216-.672a1.188 1.188 0 0 1 1.05-.802c.45-.026.894.204 1.147.638C13.415 6.684 14 8.146 14 9.701 14 12.689 11.25 15 8.005 15c-3.239 0-5.984-2.303-5.995-5.283-.108-1.701.648-3.46 1.633-4.941.995-1.494 2.272-2.778 3.31-3.532.433-.314.96-.335 1.352-.02ZM8.3 10.087a.383.383 0 0 0-.6 0 10.1 10.1 0 0 0-.833 1.131c-.254.414-.367.72-.367.886 0 .746.646 1.396 1.5 1.396s1.5-.65 1.5-1.396c0-.166-.113-.472-.367-.886a10.1 10.1 0 0 0-.833-1.131Z\",\"M12.34 1.482c.756.558 1.01 1.544.85 2.483-.29 1.695-.53 3.64-.388 5.132.071.752.23 1.271.432 1.577.162.244.345.36.677.36.447 0 .71-.147.92-.366.245-.257.451-.656.644-1.208.32-.917 1.03-1.646 1.972-1.766.998-.128 1.852.474 2.282 1.413.689 1.5 1.271 3.41 1.271 5.427C21 19.273 16.909 23 12.008 23c-4.89 0-8.975-3.71-8.993-8.434-.15-2.523.822-5.111 2.124-7.327C6.455 5 8.175 3.03 9.673 1.728c.786-.682 1.834-.86 2.667-.246Zm.242 14.812a.709.709 0 0 0-1.164 0 13.12 13.12 0 0 0-1.023 1.575c-.29.547-.395.915-.395 1.096C10 20.1 10.906 21 12 21c1.094 0 2-.9 2-2.035 0-.181-.104-.549-.395-1.096a13.098 13.098 0 0 0-1.023-1.575Z\",\"M16.61 2.45c.729.586.992 1.57.804 2.53-.426 2.185-.859 4.92-.716 7.08.071 1.088.283 1.906.612 2.425.285.45.667.702 1.317.702.811 0 1.36-.345 1.806-.915.481-.614.817-1.462 1.104-2.37.283-.898.957-1.604 1.871-1.736.936-.134 1.778.382 2.263 1.22C26.852 13.425 28 16.32 28 19.4 28 25.378 22.5 30 16.01 30 9.532 30 4.041 25.395 4.02 19.435c-.217-3.403 1.296-6.922 3.266-9.883 1.99-2.988 4.543-5.555 6.62-7.063.865-.629 1.92-.672 2.704-.04Zm.013 17.91a.765.765 0 0 0-1.246 0c-.562.744-1.175 1.625-1.644 2.472-.492.89-.733 1.582-.733 1.996C13 26.62 14.383 28 16 28s3-1.38 3-3.172c0-.414-.24-1.107-.733-1.996-.469-.847-1.082-1.728-1.644-2.472Z\"],[\"M5.5 0c-.498 0-1.035.298-1.506.676-.495.397-1.006.952-1.461 1.612C1.629 3.597.898 5.383 1.009 7.249 1.018 9.9 3.276 12 6.004 12 8.74 12 11 9.89 11 7.234c0-.996-.268-2.124-.67-3.011-.2-.444-.445-.853-.728-1.159C9.328 2.767 8.954 2.5 8.5 2.5a.878.878 0 0 0-.655.278c-.15.16-.229.357-.277.52-.049.167-.079.35-.103.517l-.027.19c-.015.106-.029.208-.047.316-.056.342-.13.59-.247.75-.09.123-.232.234-.57.234-.232 0-.354-.058-.425-.115-.074-.061-.145-.165-.195-.347-.107-.387-.078-.956.016-1.62.04-.278.087-.555.134-.827l.022-.133c.053-.31.104-.616.13-.884.026-.254.039-.538-.023-.776a.842.842 0 0 0-.227-.406A.723.723 0 0 0 5.5 0ZM2.008 7.203c-.098-1.582.525-3.156 1.348-4.347.409-.593.856-1.073 1.263-1.4.272-.217.495-.342.658-.404a3.07 3.07 0 0 1-.015.227c-.023.229-.068.503-.121.815l-.023.13c-.046.272-.097.565-.138.859-.094.662-.158 1.419.01 2.026.087.316.246.627.528.856.286.233.646.34 1.057.34.626 0 1.08-.24 1.376-.643.267-.365.368-.818.427-1.178.02-.12.037-.247.053-.362l.023-.162c.024-.161.046-.285.074-.381a.772.772 0 0 1 .024-.07c.064.02.171.078.315.234.186.2.378.507.553.892.348.77.58 1.76.58 2.599 0 1.53-.976 2.867-2.395 3.453.248-.337.395-.754.395-1.204 0-.35-.155-.717-.315-1.018a7.52 7.52 0 0 0-.59-.914 1.354 1.354 0 0 0-2.19 0 7.52 7.52 0 0 0-.59.914c-.16.3-.315.668-.315 1.018 0 .447.145.862.391 1.198C2.98 10.093 2.01 8.76 2.01 7.234v-.016l-.001-.015Zm3.7.944a.354.354 0 0 1 .583 0c.19.255.375.531.511.787.146.274.198.458.198.549 0 .567-.453 1.017-1 1.017-.547 0-1-.45-1-1.017 0-.091.052-.275.198-.549a6.64 6.64 0 0 1 .51-.787Z\",\"M8.707 2.49c.094-.48-.038-.972-.402-1.265-.392-.316-.92-.295-1.352.02-1.038.753-2.315 2.037-3.31 3.53-.985 1.481-1.741 3.241-1.633 4.942C2.02 12.697 4.766 15 8.005 15 11.25 15 14 12.689 14 9.7c0-1.554-.585-3.016-1.182-4.037a1.247 1.247 0 0 0-1.147-.638 1.188 1.188 0 0 0-1.05.802c-.086.237-.156.47-.216.671l-.052.17c-.076.25-.14.428-.218.565a.603.603 0 0 1-.246.255c-.105.055-.278.105-.575.105-.326 0-.516-.126-.66-.35-.164-.26-.27-.669-.305-1.213-.071-1.08.145-2.448.358-3.54ZM7.54 2.054c.072-.052.114-.056.122-.056.007 0 .01 0 .016.005.014.012.087.096.048.296-.214 1.092-.456 2.574-.375 3.797.04.608.163 1.214.46 1.682.318.502.82.815 1.502.815.404 0 .752-.067 1.045-.222.3-.16.501-.39.645-.642.138-.242.229-.515.306-.767l.06-.196c.059-.197.116-.39.191-.595.043-.115.113-.145.17-.148.062-.004.155.025.225.144C12.497 7.096 13 8.382 13 9.701c0 1.767-1.268 3.344-3.126 3.99.388-.42.626-.972.626-1.588 0-.47-.256-.986-.515-1.408a10.97 10.97 0 0 0-.917-1.249 1.383 1.383 0 0 0-2.136 0c-.296.355-.643.802-.917 1.249-.26.422-.515.938-.515 1.409 0 .612.236 1.163.621 1.581-1.85-.649-3.11-2.222-3.11-3.984v-.017l-.002-.017c-.093-1.386.529-2.928 1.467-4.337.931-1.4 2.127-2.595 3.064-3.276Zm.16 8.033a.383.383 0 0 1 .6 0c.282.338.594.743.833 1.131.254.414.367.72.367.886 0 .746-.646 1.396-1.5 1.396s-1.5-.65-1.5-1.396c0-.166.113-.472.367-.886a10.1 10.1 0 0 1 .833-1.131Z\",\"M11.985 23c-4.88-.012-8.952-3.718-8.97-8.434-.15-2.523.822-5.111 2.124-7.327C6.455 5 8.175 3.03 9.673 1.728c.786-.682 1.834-.86 2.667-.246.756.558 1.01 1.544.85 2.483-.29 1.695-.53 3.64-.388 5.132.071.752.23 1.271.432 1.577.162.244.345.36.677.36.447 0 .71-.147.92-.366.245-.257.451-.656.644-1.208.32-.917 1.03-1.646 1.972-1.766.998-.128 1.852.474 2.282 1.413.689 1.5 1.271 3.41 1.271 5.427C21 19.273 16.909 23 12.008 23h-.023Zm-1-19.762a.733.733 0 0 1 .184-.121c.035.056.101.207.05.51-.293 1.708-.577 3.882-.408 5.659.083.882.288 1.784.755 2.49.507.77 1.3 1.258 2.345 1.258 1.007 0 1.79-.38 2.367-.986.542-.567.862-1.29 1.085-1.93a.906.906 0 0 1 .222-.37c.066-.062.11-.07.116-.07 0 0 .005-.004.027.01.026.017.104.078.184.253.607 1.324 1.088 2.946 1.088 4.593 0 2.215-1.222 4.21-3.112 5.381.073-.305.112-.623.112-.95 0-.699-.31-1.434-.63-2.035a15.029 15.029 0 0 0-1.181-1.827 2.708 2.708 0 0 0-4.378 0 15.1 15.1 0 0 0-1.182 1.827C8.31 17.53 8 18.266 8 18.965c0 .323.038.638.109.939-1.88-1.172-3.094-3.162-3.094-5.37v-.031l-.002-.032c-.124-1.967.64-4.159 1.85-6.218 1.203-2.046 2.781-3.85 4.122-5.015ZM12.004 21h-.013c-1.09-.005-1.991-.903-1.991-2.035 0-.181.104-.549.395-1.096a13.12 13.12 0 0 1 1.023-1.575.709.709 0 0 1 1.164 0c.378.51.75 1.062 1.023 1.575.29.547.395.915.395 1.096 0 1.134-.904 2.033-1.996 2.035Z\",\"M17.414 4.98c.188-.96-.076-1.944-.804-2.53-.784-.633-1.839-.59-2.704.039-2.077 1.508-4.63 4.075-6.62 7.063-1.97 2.96-3.483 6.48-3.265 9.883C4.04 25.395 9.532 30 16.01 30 22.5 30 28 25.378 28 19.401c0-2.885-1.007-5.607-2.102-7.611-.515-.945-1.44-1.456-2.424-1.298-.943.151-1.683.876-2.005 1.837-.282.847-.615 1.574-1.069 2.084-.418.47-.954.774-1.773.774-.65 0-1.032-.252-1.317-.702-.33-.519-.54-1.336-.612-2.424-.143-2.161.29-4.896.716-7.08Zm-2.333-.873c.143-.104.226-.11.244-.11.014-.001.019 0 .03.01.029.022.175.19.096.59-.426 2.186-.91 5.15-.75 7.595.08 1.216.326 2.428.92 3.364.636 1.004 1.643 1.63 3.006 1.63 1.436 0 2.5-.583 3.267-1.443.73-.82 1.166-1.862 1.472-2.78.132-.394.35-.485.425-.496a.187.187 0 0 1 .125.022c.047.026.136.092.227.259.994 1.82 1.857 4.21 1.857 6.653 0 3.293-2.2 6.254-5.503 7.688A5.304 5.304 0 0 0 21 24.828c0-.964-.474-2.045-.983-2.965-.533-.963-1.209-1.928-1.797-2.708a2.764 2.764 0 0 0-4.44 0c-.588.78-1.264 1.745-1.797 2.708-.51.92-.983 2.001-.983 2.965a5.3 5.3 0 0 0 .498 2.25c-3.29-1.438-5.477-4.393-5.477-7.677v-.034l-.002-.033c-.187-2.773 1.057-5.857 2.932-8.674 1.864-2.8 4.254-5.19 6.13-6.553Zm.296 16.253a.765.765 0 0 1 1.246 0c.562.744 1.175 1.625 1.644 2.472.492.89.733 1.582.733 1.996C19 26.62 17.617 28 16 28s-3-1.38-3-3.172c0-.414.24-1.107.733-1.996.469-.847 1.082-1.728 1.644-2.472Z\"]];","export default [[\"M0 2.5A1.5 1.5 0 0 1 1.5 1h8A1.5 1.5 0 0 1 11 2.5v6A1.5 1.5 0 0 1 9.5 10h-8A1.5 1.5 0 0 1 0 8.5v-6Zm3.854 2.354a.5.5 0 1 0-.708-.708l-1 1a.5.5 0 0 0 0 .708l1 1a.5.5 0 1 0 .708-.708L3.707 6h3.586l-.147.146a.5.5 0 1 0 .708.708l1-1a.5.5 0 0 0 0-.708l-1-1a.5.5 0 1 0-.708.708L7.293 5H3.707l.147-.146Z\",\"M1 3.5A1.5 1.5 0 0 1 2.5 2h11A1.5 1.5 0 0 1 15 3.5v8a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 11.5v-8Zm3.854 3.354a.5.5 0 1 0-.708-.708l-1 1a.5.5 0 0 0 0 .708l1 1a.5.5 0 1 0 .708-.708L4.707 8h6.586l-.147.146a.5.5 0 0 0 .708.708l1-1a.5.5 0 0 0 0-.708l-1-1a.5.5 0 0 0-.708.708l.147.146H4.707l.147-.146Z\",\"M1 7a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3V7Zm7.207 3.207a1 1 0 0 0-1.414-1.414l-2.5 2.5a1 1 0 0 0 0 1.414l2.5 2.5a1 1 0 0 0 1.414-1.414L7.414 13h9.172l-.793.793a1 1 0 0 0 1.414 1.414l2.5-2.5a1 1 0 0 0 0-1.414l-2.5-2.5a1 1 0 1 0-1.414 1.414l.793.793H7.414l.793-.793Z\",\"M2 8a3 3 0 0 1 3-3h22a3 3 0 0 1 3 3v16a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V8Zm7.207 6.207a1 1 0 1 0-1.414-1.414l-2.5 2.5a1 1 0 0 0 0 1.414l2.5 2.5a1 1 0 0 0 1.414-1.414L8.414 17h15.172l-.793.793a1 1 0 0 0 1.414 1.414l2.5-2.5a1 1 0 0 0 0-1.414l-2.5-2.5a1 1 0 0 0-1.414 1.414l.793.793H8.414l.793-.793Z\"],[\"<path d='M3.854 4.854a.5.5 0 1 0-.708-.708l-1 1a.5.5 0 0 0 0 .708l1 1a.5.5 0 1 0 .708-.708L3.707 6h3.586l-.147.146a.5.5 0 1 0 .708.708l1-1a.5.5 0 0 0 0-.708l-1-1a.5.5 0 1 0-.708.708L7.293 5H3.707l.147-.146Z'></path><path d='M1.5 1A1.5 1.5 0 0 0 0 2.5v6A1.5 1.5 0 0 0 1.5 10h8A1.5 1.5 0 0 0 11 8.5v-6A1.5 1.5 0 0 0 9.5 1h-8ZM1 2.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-6Z'></path>\",\"<path d='M4.854 6.854a.5.5 0 1 0-.708-.708l-1 1a.5.5 0 0 0 0 .708l1 1a.5.5 0 1 0 .708-.708L4.707 8h6.586l-.147.146a.5.5 0 0 0 .708.708l1-1a.5.5 0 0 0 0-.708l-1-1a.5.5 0 0 0-.708.708l.147.146H4.707l.147-.146Z'></path><path d='M2.5 2A1.5 1.5 0 0 0 1 3.5v8A1.5 1.5 0 0 0 2.5 13h11a1.5 1.5 0 0 0 1.5-1.5v-8A1.5 1.5 0 0 0 13.5 2h-11ZM2 3.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-8Z'></path>\",\"<path d='M8.207 10.207a1 1 0 0 0-1.414-1.414l-2.5 2.5a1 1 0 0 0 0 1.414l2.5 2.5a1 1 0 0 0 1.414-1.414L7.414 13h9.172l-.793.793a1 1 0 0 0 1.414 1.414l2.5-2.5a1 1 0 0 0 0-1.414l-2.5-2.5a1 1 0 1 0-1.414 1.414l.793.793H7.414l.793-.793Z'></path><path d='M4 4a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H4ZM3 7a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7Z'></path>\",\"<path d='M9.207 14.207a1 1 0 1 0-1.414-1.414l-2.5 2.5a1 1 0 0 0 0 1.414l2.5 2.5a1 1 0 0 0 1.414-1.414L8.414 17h15.172l-.793.793a1 1 0 0 0 1.414 1.414l2.5-2.5a1 1 0 0 0 0-1.414l-2.5-2.5a1 1 0 0 0-1.414 1.414l.793.793H8.414l.793-.793Z'></path><path d='M5 5a3 3 0 0 0-3 3v16a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3V8a3 3 0 0 0-3-3H5ZM4 8a1 1 0 0 1 1-1h22a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V8Z'></path>\"]];","export default [[\"M1.5 1a.5.5 0 0 1 .5.5v.048c1.083-.542 2.81-.776 4.777.536 1.133.755 1.92.86 2.41.774.493-.087.765-.38.866-.582A.5.5 0 0 1 11 2.5v5a.5.5 0 0 1-.053.224c-.232.465-.76.972-1.585 1.118-.826.147-1.872-.081-3.14-.926C4.22 6.581 2.645 7.21 2 7.724V10.5a.5.5 0 0 1-1 0v-9a.5.5 0 0 1 .5-.5Z\",\"M2.5 1a.5.5 0 0 1 .5.5v1.108c1.177-.569 3.049-.91 4.812.502 1.739 1.39 3.632.595 4.376 0A.5.5 0 0 1 13 3.5v5a.5.5 0 0 1-.188.39c-.922.739-3.363 1.81-5.624 0C5.58 7.606 3.84 8.189 3 8.754V14.5a.5.5 0 0 1-1 0v-13a.5.5 0 0 1 .5-.5Z\",\"M3 2a1 1 0 0 1 1 1v1.45c2-.682 5.128-1.004 8.447.655 3.66 1.83 6.23.696 6.913.127A1 1 0 0 1 21 6v8a1 1 0 0 1-.36.768c-1.317 1.098-4.746 2.297-9.087.126C8.345 13.29 5.4 13.95 4 14.597V21a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1Z\",\"M4 3a1 1 0 0 1 1 1v1.516c2.217-1.126 6.162-1.912 10.504.62 4.47 2.608 8.642 1.673 10.049.97A1 1 0 0 1 27 8v11a1 1 0 0 1-.553.894c-1.926.964-6.821 1.962-11.95-1.03-4.389-2.56-8.148-1.035-9.383-.075a.997.997 0 0 1-.114.077V28a1 1 0 1 1-2 0V4a1 1 0 0 1 1-1Z\"],[\"M2 1.5a.5.5 0 0 0-1 0v9a.5.5 0 0 0 1 0V7.724c.644-.515 2.22-1.143 4.223.192 1.267.845 2.313 1.073 3.14.926.824-.146 1.352-.654 1.584-1.119A.5.5 0 0 0 11 7.5v-5a.5.5 0 0 0-.947-.224c-.101.202-.373.494-.865.582-.491.087-1.278-.019-2.41-.774C4.81.772 3.082 1.006 2 1.548V1.5Zm0 1.224v3.824c1.083-.542 2.81-.776 4.777.536 1.133.755 1.92.86 2.41.774.424-.075.684-.302.813-.492v-3.73c-.188.092-.4.164-.638.206-.826.147-1.872-.081-3.14-.926C4.22 1.581 2.645 2.209 2 2.724Z\",\"M3 1.5a.5.5 0 0 0-1 0v13a.5.5 0 0 0 1 0V8.753c.841-.565 2.58-1.148 4.188.137 2.261 1.81 4.702.739 5.624 0A.5.5 0 0 0 13 8.5v-5a.5.5 0 0 0-.812-.39c-.744.595-2.637 1.39-4.376 0C6.05 1.699 4.177 2.04 3 2.608V1.5Zm0 2.253v3.855c1.177-.569 3.049-.91 4.812.502 1.607 1.285 3.347.702 4.188.137V4.392c-1.177.569-3.049.91-4.812-.502C5.58 2.605 3.84 3.188 3 3.753Z\",\"M4 3a1 1 0 0 0-2 0v18a1 1 0 1 0 2 0v-6.403c1.4-.648 4.345-1.306 7.553.297 4.341 2.171 7.77.972 9.087-.126A1 1 0 0 0 21 14V6a1 1 0 0 0-1.64-.768c-.683.569-3.254 1.703-6.913-.126C9.128 3.446 6 3.769 4 4.449V3Zm0 3.597v5.853c2-.681 5.128-1.004 8.447.656 3.184 1.591 5.544.94 6.553.369V7.66c-1.733.616-4.36.777-7.447-.767C8.345 5.291 5.4 5.95 4 6.597Z\",\"M5 4a1 1 0 0 0-2 0v24a1 1 0 1 0 2 0v-9.134a.95.95 0 0 0 .114-.077c1.235-.96 4.994-2.485 9.382.075 5.13 2.992 10.025 1.994 11.951 1.03A1 1 0 0 0 27 19V8a1 1 0 0 0-1.447-.895c-1.407.704-5.579 1.639-10.05-.969C11.164 3.604 7.218 4.39 5 5.516V4Zm0 3.866v8.65c2.217-1.126 6.162-1.912 10.504.62 3.985 2.325 7.733 1.834 9.496 1.202V9.433c-2.4.662-6.375.84-10.504-1.57-4.388-2.559-8.147-1.035-9.382-.074A1.008 1.008 0 0 1 5 7.866Z\"]];","export default [[\"M1.5 1a.5.5 0 0 1 .5.5V2h6.5a.5.5 0 0 1 .354.854L7.207 4.5l1.647 1.646A.5.5 0 0 1 8.5 7H2v3.5a.5.5 0 0 1-1 0v-9a.5.5 0 0 1 .5-.5Z\",\"M3 1.5a.5.5 0 0 0-1 0v13a.5.5 0 0 0 1 0V9h9.5a.5.5 0 0 0 .416-.777L11.101 5.5l1.815-2.723A.5.5 0 0 0 12.5 2H3v-.5Z\",\"M3 2a1 1 0 0 1 1 1v1h15a1 1 0 0 1 .78 1.625L16.28 10l3.5 4.375A1 1 0 0 1 19 16H4v5a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1Z\",\"M5 3a1 1 0 0 1 1 1v1h18a1 1 0 0 1 .768 1.64L20.302 12l4.466 5.36A1 1 0 0 1 24 19H6v9a1 1 0 1 1-2 0V4a1 1 0 0 1 1-1Z\"],[\"M2 1.5a.5.5 0 0 0-1 0v9a.5.5 0 0 0 1 0V7h6.5a.5.5 0 0 0 .354-.854L7.207 4.5l1.647-1.646A.5.5 0 0 0 8.5 2H2v-.5ZM2 3v3h5.293L6.146 4.854a.5.5 0 0 1 0-.708L7.293 3H2Z\",\"M3 1.5a.5.5 0 0 0-1 0v13a.5.5 0 0 0 1 0V9h9.5a.5.5 0 0 0 .416-.777L11.101 5.5l1.815-2.723A.5.5 0 0 0 12.5 2H3v-.5ZM3 3v5h8.566l-1.482-2.223a.5.5 0 0 1 0-.554L11.566 3H3Z\",\"M4 3a1 1 0 0 0-2 0v18a1 1 0 1 0 2 0v-5h15a1 1 0 0 0 .78-1.625L16.28 10l3.5-4.375A1 1 0 0 0 19 4H4V3Zm0 3v8h12.92l-2.7-3.375a1 1 0 0 1 0-1.25L16.92 6H4Z\",\"M6 4a1 1 0 0 0-2 0v24a1 1 0 1 0 2 0v-9h18a1 1 0 0 0 .768-1.64L20.302 12l4.466-5.36A1 1 0 0 0 24 5H6V4Zm0 3v10h15.865l-3.633-4.36a1 1 0 0 1 0-1.28L21.865 7H6Z\"]];","export default [[\"<path d='M1.5 1a.5.5 0 0 1 .5.5V2h6.5a.5.5 0 0 1 .354.854L7.62 4.086A4.508 4.508 0 0 0 4.256 7H2v3.5a.5.5 0 0 1-1 0v-9a.5.5 0 0 1 .5-.5Zm7 9a.5.5 0 0 1-.5-.5V9h-.5a.5.5 0 0 1 0-1H8v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1H9v.5a.5.5 0 0 1-.5.5Z'></path><path d='M8.5 5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM6 8.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path>\",\"<path d='M2 1.5a.5.5 0 0 0-1 0v13a.5.5 0 0 0 1 0V7h6.337a5.478 5.478 0 0 1 1.584-.77.5.5 0 0 0-.067-.084L8.207 4.5l1.647-1.646A.5.5 0 0 0 9.5 2H2v-.5Zm10 8a.5.5 0 0 0-1 0V11H9.5a.5.5 0 0 0 0 1H11v1.5a.5.5 0 0 0 1 0V12h1.5a.5.5 0 0 0 0-1H12V9.5Z'></path><path d='M11.5 7a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9ZM8 11.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z'></path>\",\"<path d='M2 1a1 1 0 0 1 1 1v1h13a1 1 0 0 1 .8 1.6L14.25 8l.261.348A9.023 9.023 0 0 0 8.936 13H3v7a1 1 0 1 1-2 0V2a1 1 0 0 1 1-1Zm16 13a1 1 0 1 0-2 0v2h-2a1 1 0 1 0 0 2h2v2a1 1 0 1 0 2 0v-2h2a1 1 0 1 0 0-2h-2v-2Z'></path><path d='M17 10a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-5 7a5 5 0 1 1 10 0 5 5 0 0 1-10 0Z'></path>\",\"<path d='M3 2a1 1 0 0 1 1 1v1h17a1 1 0 0 1 .707 1.707L17.414 10l1.453 1.453A11.025 11.025 0 0 0 12.779 16H4v11a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1Zm20 16a1 1 0 1 0-2 0v3h-3a1 1 0 1 0 0 2h3v3a1 1 0 1 0 2 0v-3h3a1 1 0 1 0 0-2h-3v-3Z'></path><path d='M22 13a9 9 0 1 0 0 18 9 9 0 0 0 0-18Zm-7 9a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z'></path>\"],[\"<path d='M2 1.5a.5.5 0 0 0-1 0v9a.5.5 0 0 0 1 0V7h2.256c.126-.356.295-.691.502-1H2V3h5.293L6.146 4.146a.5.5 0 0 0-.094.577c.47-.305 1-.525 1.57-.637l1.232-1.232A.5.5 0 0 0 8.5 2H2v-.5ZM8.5 10a.5.5 0 0 1-.5-.5V9h-.5a.5.5 0 0 1 0-1H8v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1H9v.5a.5.5 0 0 1-.5.5Z'></path><path d='M8.5 5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM6 8.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path>\",\"<path d='M2 1.5a.5.5 0 0 0-1 0v13a.5.5 0 0 0 1 0V7h6.337a5.478 5.478 0 0 1 1.584-.77.5.5 0 0 0-.067-.084L8.207 4.5l1.647-1.646A.5.5 0 0 0 9.5 2H2v-.5ZM2 3h6.293L7.146 4.146a.5.5 0 0 0 0 .708L8.293 6H2V3Zm10 6.5a.5.5 0 0 0-1 0V11H9.5a.5.5 0 0 0 0 1H11v1.5a.5.5 0 0 0 1 0V12h1.5a.5.5 0 0 0 0-1H12V9.5Z'></path><path d='M11.5 7a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9ZM8 11.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z'></path>\",\"<path d='M3 2a1 1 0 0 0-2 0v18a1 1 0 1 0 2 0v-7h5.936c.361-.728.819-1.4 1.356-2H3V5h11l-1.8 2.4a1 1 0 0 0 0 1.2l.407.543a8.945 8.945 0 0 1 1.904-.795L14.25 8l2.55-3.4A1 1 0 0 0 16 3H3V2Zm15 12a1 1 0 1 0-2 0v2h-2a1 1 0 1 0 0 2h2v2a1 1 0 1 0 2 0v-2h2a1 1 0 1 0 0-2h-2v-2Z'></path><path d='M17 10a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-5 7a5 5 0 1 1 10 0 5 5 0 0 1-10 0Z'></path>\",\"<path d='M4 3a1 1 0 0 0-2 0v24a1 1 0 1 0 2 0V16h8.779a11.053 11.053 0 0 1 1.671-2H4V6h14.586l-3.293 3.293a1 1 0 0 0 0 1.414l1.566 1.566a10.937 10.937 0 0 1 2.008-.82L17.414 10l4.293-4.293A1 1 0 0 0 21 4H4V3Zm19 15a1 1 0 1 0-2 0v3h-3a1 1 0 1 0 0 2h3v3a1 1 0 1 0 2 0v-3h3a1 1 0 1 0 0-2h-3v-3Z'></path><path d='M22 13a9 9 0 1 0 0 18 9 9 0 0 0 0-18Zm-7 9a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z'></path>\"]];","export default [[\"M9.216.606a.5.5 0 0 0-.707 0l-.598.598 2.845 2.845.598-.598a.5.5 0 0 0 0-.707L9.216.606Zm.833 4.15L7.204 1.911l-.19.19a.5.5 0 0 0-.093.13l-.498.994-.838.839a.75.75 0 0 0-.973.075l-.448.448a.75.75 0 0 0-.075.973L1.448 8.201a1.634 1.634 0 1 0 2.31 2.31l4.973-4.973.998-.499a.5.5 0 0 0 .13-.093l.19-.19Z\",\"M11.22 1.46a.5.5 0 0 1 .354.146l2.78 2.78a.5.5 0 0 1 0 .707l-.777.777-3.487-3.487.777-.777a.5.5 0 0 1 .354-.146ZM9.383 3.09l-.459.46a.5.5 0 0 0-.08.105l-.83 1.456-1.06 1.073-.04-.038a.75.75 0 0 0-1.06 0l-.689.688a.75.75 0 0 0 0 1.061l.05.05-3.653 3.698a1.974 1.974 0 0 0 2.808 2.774l6.431-6.51 1.489-.782a.5.5 0 0 0 .12-.09l.46-.458L9.383 3.09Z\",\"M18.654 1.293a1 1 0 0 0-1.415 0l-1.766 1.766 5.468 5.468 1.766-1.766a1 1 0 0 0 0-1.415l-4.053-4.053Zm.873 8.647-5.468-5.467-.653.653a1.002 1.002 0 0 0-.182.25l-1.042 2.027-1.42 1.414a1.25 1.25 0 0 0-1.753.014L7.843 9.998a1.25 1.25 0 0 0-.02 1.748l-4.966 4.948a3.146 3.146 0 1 0 4.449 4.449l9.29-9.325 2.028-1.042c.092-.047.176-.109.25-.182l.653-.653Z\",\"M23.55 3.293a1 1 0 0 0-1.414 0l-2.214 2.214 7.07 7.072 2.215-2.215a1 1 0 0 0 0-1.414L23.55 3.293Zm2.028 10.7-7.07-7.071-.326.325a1 1 0 0 0-.187.26l-1.341 2.682-2.465 2.464-.305-.305a1.25 1.25 0 0 0-1.768 0l-1.768 1.768a1.25 1.25 0 0 0 0 1.768l.306.305-7.2 7.2a4 4 0 0 0 5.657 5.657l13.197-13.198 2.685-1.343a.997.997 0 0 0 .26-.187l.325-.325Z\"],[\"M9.216.606a.5.5 0 0 0-.707 0L7.014 2.101a.5.5 0 0 0-.093.13l-.498.994-.838.839a.75.75 0 0 0-.973.075l-.448.448a.75.75 0 0 0-.075.973L1.448 8.201a1.634 1.634 0 1 0 2.31 2.31l4.973-4.973.998-.499a.5.5 0 0 0 .13-.093l1.495-1.495a.5.5 0 0 0 0-.707L9.216.606ZM7.779 2.751l.132-.133 1.43 1.431-.131.132-.674.337-1.094-1.093.337-.674Zm2.27.59-1.43-1.43.243-.244 1.431 1.43-.244.245ZM2.155 8.909 6.833 4.23l.896.896-4.678 4.678a.634.634 0 0 1-.896-.896Z\",\"M11.574 1.606a.5.5 0 0 0-.707 0L8.924 3.55a.5.5 0 0 0-.08.106l-.83 1.456-1.06 1.073-.04-.038a.75.75 0 0 0-1.06 0l-.689.688a.75.75 0 0 0 0 1.061l.05.05-3.653 3.698a1.974 1.974 0 0 0 2.808 2.774l6.431-6.51 1.489-.782a.5.5 0 0 0 .12-.09l1.943-1.942a.5.5 0 0 0 0-.707l-2.779-2.78ZM9.795 7.502 8.418 6.125l-6.145 6.22a.974.974 0 0 0 1.386 1.37l6.136-6.213Zm.798-.616 1.164-.611.406-.406a.498.498 0 0 1-.017-.016l-2-2a.516.516 0 0 1-.051-.06l-.416.416-.64 1.123 1.554 1.554Zm2.26-1.74a.64.64 0 0 1 .016.017l.424-.424-2.072-2.072-.428.428a.51.51 0 0 1 .06.051l2 2Z\",\"M18.654 1.293a1 1 0 0 0-1.415 0l-3.833 3.833a1.002 1.002 0 0 0-.182.25l-1.042 2.027-1.42 1.414a1.25 1.25 0 0 0-1.753.014L7.843 9.998a1.25 1.25 0 0 0-.02 1.748l-4.966 4.948a3.146 3.146 0 1 0 4.449 4.449l9.29-9.325 2.028-1.042c.092-.047.176-.109.25-.182l3.833-3.833a1 1 0 0 0 0-1.415l-4.053-4.053Zm-5.655 8.12L14.587 11l-8.698 8.73a1.146 1.146 0 1 1-1.62-1.62l8.73-8.698Zm3.193.364 1.378-.708.543-.542-2.64-2.64-.542.543-.708 1.378 1.969 1.97Zm4.394-3.724-1.06 1.06-2.638-2.64 1.058-1.059 2.64 2.64Z\",\"M23.55 3.293a1 1 0 0 0-1.414 0l-3.954 3.954a1 1 0 0 0-.187.26l-1.341 2.682-2.465 2.464-.305-.305a1.25 1.25 0 0 0-1.768 0l-1.768 1.768a1.25 1.25 0 0 0 0 1.768l.306.305-7.2 7.2a4 4 0 0 0 5.657 5.657l13.197-13.198 2.685-1.343a.997.997 0 0 0 .26-.187l3.954-3.954a1 1 0 0 0 0-1.414L23.55 3.293Zm-3.839 5.253.21-.21 4.243 4.242-.21.211-2.039 1.02-3.223-3.224 1.02-2.039Zm5.868 2.618-4.243-4.242 1.507-1.508 4.243 4.243-1.507 1.507ZM4.868 24.803l12.607-12.607 2.828 2.829L7.696 27.63a2 2 0 0 1-2.828-2.828Z\"]];","export default [[\"M9 2.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-2Zm2 8a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1 0-1h9a.5.5 0 0 1 .5.5Zm-2-4a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-2Z\",\"M12 6.5a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-2Zm3 8a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1 0-1h13a.5.5 0 0 1 .5.5Zm-3-4a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-2Z\",\"M19 6a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V6Zm4 16a1 1 0 0 1-1 1H2a1 1 0 1 1 0-2h20a1 1 0 0 1 1 1Zm-4-8a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-4Z\",\"M25 9a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V9Zm5 20a1 1 0 0 1-1 1H3a1 1 0 1 1 0-2h26a1 1 0 0 1 1 1Zm-5-10a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-6Z\"],[\"M8.5 2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h5ZM8 3H4v1h4V3Zm3 7.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1 0-1h9a.5.5 0 0 1 .5.5Zm-2-4a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-2ZM4 7h4v1H4V7Z\",\"M11.5 6a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h7ZM11 7H5v1h6V7Zm4 7.5a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1 0-1h13a.5.5 0 0 1 .5.5Zm-3-4a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-2ZM5 11h6v1H5v-1Z\",\"M18.707 5.293A1 1 0 0 1 19 6v4a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h12a1 1 0 0 1 .707.293ZM17 7H7v2h10V7Zm6 15a1 1 0 0 1-1 1H2a1 1 0 1 1 0-2h20a1 1 0 0 1 1 1Zm-4-8a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-4ZM7 15h10v2H7v-2Z\",\"M24 8a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h16Zm-1 2H9v4h14v-4Zm7 19a1 1 0 0 1-1 1H3a1 1 0 1 1 0-2h26a1 1 0 0 1 1 1Zm-5-10a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-6ZM9 20h14v4H9v-4Z\"]];","export default [[\"M9 1.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-2Zm2 4a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1 0-1h9a.5.5 0 0 1 .5.5Zm-2 2a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-2Z\",\"M12 3.5a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-2Zm3 4a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1 0-1h13a.5.5 0 0 1 .5.5Zm-3 2a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-2Z\",\"M19 4a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4Zm4 8a1 1 0 0 1-1 1H2a1 1 0 1 1 0-2h20a1 1 0 0 1 1 1Zm-4 4a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-4Z\",\"M25 6a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V6Zm5 10a1 1 0 0 1-1 1H3a1 1 0 1 1 0-2h26a1 1 0 0 1 1 1Zm-5 4a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-6Z\"],[\"M8.5 1a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h5ZM8 2H4v1h4V2Zm3 3.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1 0-1h9a.5.5 0 0 1 .5.5Zm-2 2a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-2ZM4 8h4v1H4V8Z\",\"M11.5 3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h7ZM11 4H5v1h6V4Zm4 3.5a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1 0-1h13a.5.5 0 0 1 .5.5Zm-3 2a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-2ZM5 10h6v1H5v-1Z\",\"M18 3a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12Zm-1 2H7v2h10V5Zm6 7a1 1 0 0 1-1 1H2a1 1 0 1 1 0-2h20a1 1 0 0 1 1 1Zm-4 4a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-4ZM7 17h10v2H7v-2Z\",\"M24 5a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h16Zm-1 2H9v4h14V7Zm7 9a1 1 0 0 1-1 1H3a1 1 0 1 1 0-2h26a1 1 0 0 1 1 1Zm-5 4a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-6ZM9 21h14v4H9v-4Z\"]];","export default [[\"M10.5 1a.5.5 0 0 0 0-1h-9a.5.5 0 0 0 0 1h9Zm0 11a.5.5 0 0 0 0-1h-9a.5.5 0 0 0 0 1h9ZM9 2.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-2Zm0 5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-2Z\",\"M14.5 2a.5.5 0 0 0 0-1h-13a.5.5 0 0 0 0 1h13Zm0 13a.5.5 0 0 0 0-1h-13a.5.5 0 0 0 0 1h13ZM12 3.5a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-2Zm0 7a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-2Z\",\"M22 3a1 1 0 1 0 0-2H2a1 1 0 1 0 0 2h20Zm-3 2a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V5Zm0 10a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-4Zm4 7a1 1 0 0 1-1 1H2a1 1 0 1 1 0-2h20a1 1 0 0 1 1 1Z\",\"M29 4a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2h26Zm0 26a1 1 0 1 0 0-2H3a1 1 0 1 0 0 2h26ZM25 7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V7Zm0 12a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-6Z\"],[\"M10.5 1a.5.5 0 0 0 0-1h-9a.5.5 0 0 0 0 1h9Zm0 11a.5.5 0 0 0 0-1h-9a.5.5 0 0 0 0 1h9Zm-2-10a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h5ZM8 3H4v1h4V3Zm1 4.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-2ZM4 8h4v1H4V8Z\",\"M14.5 2a.5.5 0 0 0 0-1h-13a.5.5 0 0 0 0 1h13Zm0 13a.5.5 0 0 0 0-1h-13a.5.5 0 0 0 0 1h13Zm-3-12a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h7ZM11 4H5v1h6V4Zm1 6.5a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-2ZM5 11h6v1H5v-1Z\",\"M22 3a1 1 0 1 0 0-2H2a1 1 0 1 0 0 2h20Zm-3 2a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V5ZM7 6h10v2H7V6Zm12 9a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-4ZM7 16h10v2H7v-2Zm16 6a1 1 0 0 1-1 1H2a1 1 0 1 1 0-2h20a1 1 0 0 1 1 1Z\",\"M29 4a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2h26Zm0 26a1 1 0 1 0 0-2H3a1 1 0 1 0 0 2h26ZM24 6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h16Zm-1 2H9v4h14V8Zm2 11a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-6ZM9 20h14v4H9v-4Z\"]];","export default [[\"M10.5 2a.5.5 0 0 0 0-1h-9a.5.5 0 0 0 0 1H3v1.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5V2h1.5Zm0 9a.5.5 0 0 0 0-1H9V8.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5V10H1.5a.5.5 0 0 0 0 1h9Z\",\"M14.5 3a.5.5 0 0 0 0-1h-13a.5.5 0 0 0 0 1H4v1.5a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5V3h2.5Zm0 11a.5.5 0 0 0 0-1H12v-1.5a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5V13H1.5a.5.5 0 0 0 0 1h3s-.001 0 0 0h10Z\",\"M19 7V4h3a1 1 0 1 0 0-2H2a1 1 0 1 0 0 2h3v3a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1Zm0 10a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v3H2a1 1 0 1 0 0 2h20a1 1 0 1 0 0-2h-3v-3Z\",\"M29 4a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2h4v5a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V4h4Zm0 26a1 1 0 1 0 0-2h-4v-5a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v5H3a1 1 0 1 0 0 2h26Z\"],[\"M10.5 2a.5.5 0 0 0 0-1h-9a.5.5 0 0 0 0 1H3v1.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5V2h1.5ZM4 3V2h4v1H4Zm6.5 8a.5.5 0 0 0 0-1H9V8.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5V10H1.5a.5.5 0 0 0 0 1h9ZM4 10h4V9H4v1Z\",\"M14.5 3a.5.5 0 0 0 0-1h-13a.5.5 0 0 0 0 1H4v1.5a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5V3h2.5ZM5 4V3h6v1H5Zm9.5 10a.5.5 0 0 0 0-1H12v-1.5a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5V13H1.5a.5.5 0 0 0 0 1h3s-.001 0 0 0h10ZM5 13h6v-1H5v1Z\",\"M19 7V4h3a1 1 0 1 0 0-2H2a1 1 0 1 0 0 2h3v3a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1ZM7 4v2h10V4H7Zm12 13a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v3H2a1 1 0 1 0 0 2h20a1 1 0 1 0 0-2h-3v-3Zm-2 3H7v-2h10v2Z\",\"M29 4a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2h4v5a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V4h4ZM9 8V4h14v4H9Zm20 22a1 1 0 1 0 0-2h-4v-5a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v5H3a1 1 0 1 0 0 2h26ZM9 28h14v-4H9v4Z\"]];","export default [[\"M10.5 1a.5.5 0 0 0 0-1h-9a.5.5 0 0 0 0 1h9Zm0 10a.5.5 0 0 0 0-1h-9a.5.5 0 0 0 0 1h9ZM9 2.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-2Zm0 4a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-2Z\",\"M14.5 2a.5.5 0 0 0 0-1h-13a.5.5 0 0 0 0 1h13Zm0 13a.5.5 0 0 0 0-1h-13a.5.5 0 0 0 0 1h13ZM12 4.5a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-2Zm0 5a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-2Z\",\"M22 3a1 1 0 1 0 0-2H2a1 1 0 1 0 0 2h20Zm-3 3a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V6Zm0 8a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-4Zm4 8a1 1 0 0 1-1 1H2a1 1 0 1 1 0-2h20a1 1 0 0 1 1 1Z\",\"M29 5a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2h26Zm0 24a1 1 0 1 0 0-2H3a1 1 0 1 0 0 2h26ZM25 8a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V8Zm0 10a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-6Z\"],[\"M1.5 0a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Zm9 11a.5.5 0 0 0 0-1h-9a.5.5 0 0 0 0 1h9Zm-2-9a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h5ZM8 3H4v1h4V3Zm1 3.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-2ZM4 7h4v1H4V7Z\",\"M14.5 2a.5.5 0 0 0 0-1h-13a.5.5 0 0 0 0 1h13Zm0 13a.5.5 0 0 0 0-1h-13a.5.5 0 0 0 0 1h13Zm-3-11a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h7ZM11 5H5v1h6V5Zm1 4.5a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-2ZM5 10h6v1H5v-1Z\",\"M22 3a1 1 0 1 0 0-2H2a1 1 0 1 0 0 2h20Zm-3 3a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V6ZM7 7h10v2H7V7Zm12 7a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-4ZM7 15h10v2H7v-2Zm16 7a1 1 0 0 1-1 1H2a1 1 0 1 1 0-2h20a1 1 0 0 1 1 1Z\",\"M29 5a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2h26Zm0 24a1 1 0 1 0 0-2H3a1 1 0 1 0 0 2h26ZM24 7a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h16Zm-1 2H9v4h14V9Zm2 9a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-6ZM9 19h14v4H9v-4Z\"]];","export default [[\"M11 1.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1 0-1h9a.5.5 0 0 1 .5.5Zm-2 2a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-2Zm0 4a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-2Z\",\"M15 1.5a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1 0-1h13a.5.5 0 0 1 .5.5Zm-3 2a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-2Zm0 4a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-2Z\",\"M23 2a1 1 0 0 1-1 1H2a1 1 0 1 1 0-2h20a1 1 0 0 1 1 1Zm-4 4a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V6Zm0 8a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-4Z\",\"M30 3a1 1 0 0 1-1 1H3a1 1 0 0 1 0-2h26a1 1 0 0 1 1 1Zm-5 4a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V7Zm0 10a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-6Z\"],[\"M11 1.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1 0-1h9a.5.5 0 0 1 .5.5ZM8.5 3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h5ZM8 4H4v1h4V4Zm1 3.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-2ZM4 8h4v1H4V8Z\",\"M15 1.5a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1 0-1h13a.5.5 0 0 1 .5.5ZM11.5 3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h7ZM11 4H5v1h6V4Zm1 3.5a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-2ZM5 8h6v1H5V8Z\",\"M23 2a1 1 0 0 1-1 1H2a1 1 0 1 1 0-2h20a1 1 0 0 1 1 1Zm-5 3a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h12Zm-1 2H7v2h10V7Zm2 7a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-4ZM7 15h10v2H7v-2Z\",\"M30 3a1 1 0 0 1-1 1H3a1 1 0 0 1 0-2h26a1 1 0 0 1 1 1Zm-6 3a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h16Zm-1 2H9v4h14V8Zm2 9a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-6ZM9 18h14v4H9v-4Z\"]];","export default [[\"M5.5 1a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-1 0v-9a.5.5 0 0 1 .5-.5Zm-4 2a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-2Zm6 0a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-2Z\",\"M7.5 1a.5.5 0 0 1 .5.5v13a.5.5 0 0 1-1 0v-13a.5.5 0 0 1 .5-.5Zm-4 3a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-2Zm6 0a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-2Z\",\"M13 2a1 1 0 1 0-2 0v20a1 1 0 1 0 2 0V2ZM3 6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V6Zm12 0a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V6Z\",\"M16 2a1 1 0 0 1 1 1v26a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1ZM6 7a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H6Zm14 0a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-6Z\"],[\"M5.5 1a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-1 0v-9a.5.5 0 0 1 .5-.5ZM1 3.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-5ZM2 4v4h1V4H2Zm5.5-1a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-2ZM8 8V4h1v4H8Z\",\"M7.5 1a.5.5 0 0 1 .5.5v13a.5.5 0 0 1-1 0v-13a.5.5 0 0 1 .5-.5ZM3 4.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-7ZM4 5v6h1V5H4Zm5.5-1a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-2Zm.5 7V5h1v6h-1Z\",\"M13 2a1 1 0 1 0-2 0v20a1 1 0 1 0 2 0V2ZM3 6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V6Zm2 1v10h2V7H5Zm10-1a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V6Zm2 1v10h2V7h-2Z\",\"M16 2a1 1 0 0 1 1 1v26a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1ZM5 8a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V8Zm2 1v14h4V9H7Zm13-2a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-6Zm1 16V9h4v14h-4Z\"]];","export default [[\"M1.5 1a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-1 0v-9a.5.5 0 0 1 .5-.5Zm2 2a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-2Zm4 0a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-2Z\",\"M1.5 1a.5.5 0 0 1 .5.5v13a.5.5 0 0 1-1 0v-13a.5.5 0 0 1 .5-.5Zm2 3a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-2Zm4 0a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-2Z\",\"M3 2a1 1 0 0 0-2 0v20a1 1 0 1 0 2 0V2Zm2 4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6Zm8 0a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V6Z\",\"M3 2a1 1 0 0 1 1 1v26a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1Zm4 5a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H7Zm10 0a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-6Z\"],[\"M1.5 1a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-1 0v-9a.5.5 0 0 1 .5-.5ZM3 3.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-5ZM4 4v4h1V4H4Zm3.5-1a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-2ZM8 8V4h1v4H8Z\",\"M1.5 1a.5.5 0 0 1 .5.5v13a.5.5 0 0 1-1 0v-13a.5.5 0 0 1 .5-.5ZM3 4.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-7ZM4 5v6h1V5H4Zm3.5-1a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-2Zm.5 7V5h1v6H8Z\",\"M3 2a1 1 0 0 0-2 0v20a1 1 0 1 0 2 0V2Zm3 3a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H6Zm1 12V7h2v10H7Zm6-11a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V6Zm2 1v10h2V7h-2Z\",\"M3 2a1 1 0 0 1 1 1v26a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1Zm3 6a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V8Zm2 1v14h4V9H8Zm9-2a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-6Zm1 16V9h4v14h-4Z\"]];","export default [[\"M10.5 1a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-1 0v-9a.5.5 0 0 1 .5-.5Zm-8 2a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-2Zm4 0a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-2Z\",\"M14.5 1a.5.5 0 0 1 .5.5v13a.5.5 0 0 1-1 0v-13a.5.5 0 0 1 .5-.5Zm-8 3a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-2Zm4 0a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-2Z\",\"M23 2a1 1 0 1 0-2 0v20a1 1 0 1 0 2 0V2ZM5 6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6Zm8 0a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V6Z\",\"M29 2a1 1 0 0 1 1 1v26a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1ZM9 7a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H9Zm10 0a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-6Z\"],[\"M10.5 1a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-1 0v-9a.5.5 0 0 1 .5-.5ZM2 3.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-5ZM3 4v4h1V4H3Zm3.5-1a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-2ZM7 8V4h1v4H7Z\",\"M14.5 1a.5.5 0 0 1 .5.5v13a.5.5 0 0 1-1 0v-13a.5.5 0 0 1 .5-.5ZM6 4.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-7ZM7 5v6h1V5H7Zm3.5-1a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-2Zm.5 7V5h1v6h-1Z\",\"M23 2a1 1 0 1 0-2 0v20a1 1 0 1 0 2 0V2ZM5 6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6Zm2 1v10h2V7H7Zm6-1a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V6Zm2 1v10h2V7h-2Z\",\"M29 2a1 1 0 0 1 1 1v26a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1ZM8 8a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V8Zm2 1v14h4V9h-4Zm9-2a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-6Zm1 16V9h4v14h-4Z\"]];","export default [[\"M1 1.5a.5.5 0 0 0-1 0v9a.5.5 0 0 0 1 0v-9Zm11 0a.5.5 0 0 0-1 0v9a.5.5 0 0 0 1 0v-9ZM2.5 3a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-2Zm5 0a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-2Z\",\"M2 1.5a.5.5 0 0 0-1 0v13a.5.5 0 0 0 1 0v-13Zm13 0a.5.5 0 0 0-1 0v13a.5.5 0 0 0 1 0v-13ZM3.5 4a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-2Zm7 0a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-2Z\",\"M3 2a1 1 0 0 0-2 0v20a1 1 0 1 0 2 0V2Zm19-1a1 1 0 0 1 1 1v20a1 1 0 1 1-2 0V2a1 1 0 0 1 1-1ZM5 5a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H5Zm10 0a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-4Z\",\"M4 3a1 1 0 0 0-2 0v26a1 1 0 1 0 2 0V3Zm26 0a1 1 0 1 0-2 0v26a1 1 0 1 0 2 0V3ZM7 7a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H7Zm12 0a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-6Z\"],[\"M1 1.5a.5.5 0 0 0-1 0v9a.5.5 0 0 0 1 0v-9Zm11 0a.5.5 0 0 0-1 0v9a.5.5 0 0 0 1 0v-9Zm-10 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-5ZM3 4v4h1V4H3Zm4.5-1a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-2ZM8 8V4h1v4H8Z\",\"M2 1.5a.5.5 0 0 0-1 0v13a.5.5 0 0 0 1 0v-13Zm13 0a.5.5 0 0 0-1 0v13a.5.5 0 0 0 1 0v-13Zm-12 3a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-7ZM4 5v6h1V5H4Zm6.5-1a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-2Zm.5 7V5h1v6h-1Z\",\"M3 2a1 1 0 0 0-2 0v20a1 1 0 1 0 2 0V2Zm19-1a1 1 0 0 1 1 1v20a1 1 0 1 1-2 0V2a1 1 0 0 1 1-1ZM5 5a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H5Zm1 12V7h2v10H6Zm9-12a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-4Zm1 12V7h2v10h-2Z\",\"M4 3a1 1 0 0 0-2 0v26a1 1 0 1 0 2 0V3Zm26 0a1 1 0 1 0-2 0v26a1 1 0 1 0 2 0V3ZM6 8a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V8Zm2 1v14h4V9H8Zm11-2a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-6Zm1 16V9h4v14h-4Z\"]];","export default [[\"M2 1.5a.5.5 0 0 0-1 0v9a.5.5 0 0 0 1 0V9h1.5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5H2V1.5Zm9 0a.5.5 0 0 0-1 0V3H8.5a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5H10v1.5a.5.5 0 0 0 1 0v-9Z\",\"M3 1.5a.5.5 0 0 0-1 0v13a.5.5 0 0 0 1 0V12h1.5a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5H3V1.5Zm11 0a.5.5 0 0 0-1 0V4h-1.5a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5H13v2.5a.5.5 0 0 0 1 0v-13Z\",\"M21 1a1 1 0 0 1 1 1v20a1 1 0 1 1-2 0v-3h-3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h3V2a1 1 0 0 1 1-1ZM7 5H4V2a1 1 0 0 0-2 0v20a1 1 0 1 0 2 0v-3h3a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1Z\",\"M4 3a1 1 0 0 0-2 0v26a1 1 0 1 0 2 0v-4h5a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H4V3Zm26 0a1 1 0 1 0-2 0v4h-5a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h5v4a1 1 0 1 0 2 0V3Z\"],[\"M2 1.5a.5.5 0 0 0-1 0v9a.5.5 0 0 0 1 0V9h1.5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5H2V1.5ZM3 8H2V4h1v4Zm8-6.5a.5.5 0 0 0-1 0V3H8.5a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5H10v1.5a.5.5 0 0 0 1 0v-9ZM10 8V4H9v4h1Z\",\"M3 1.5a.5.5 0 0 0-1 0v13a.5.5 0 0 0 1 0V12h1.5a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5H3V1.5ZM4 11H3V5h1v6Zm10-9.5a.5.5 0 0 0-1 0V4h-1.5a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5H13v2.5a.5.5 0 0 0 1 0v-13ZM13 11V5h-1v6h1Z\",\"M21 1a1 1 0 0 1 1 1v20a1 1 0 1 1-2 0v-3h-3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h3V2a1 1 0 0 1 1-1Zm-1 6v10h-2V7h2ZM7 5H4V2a1 1 0 0 0-2 0v20a1 1 0 1 0 2 0v-3h3a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1ZM4 17V7h2v10H4Z\",\"M4 3a1 1 0 0 0-2 0v26a1 1 0 1 0 2 0v-4h5a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H4V3Zm4 20H4V9h4v14ZM30 3a1 1 0 1 0-2 0v4h-5a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h5v4a1 1 0 1 0 2 0V3Zm-2 20V9h-4v14h4Z\"]];","export default [[\"M1 1.5a.5.5 0 0 0-1 0v9a.5.5 0 0 0 1 0v-9Zm10 0a.5.5 0 0 0-1 0v9a.5.5 0 0 0 1 0v-9ZM2.5 3a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-2Zm4 0a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-2Z\",\"M2 1.5a.5.5 0 0 0-1 0v13a.5.5 0 0 0 1 0v-13Zm13 0a.5.5 0 0 0-1 0v13a.5.5 0 0 0 1 0v-13ZM4.5 4a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-2Zm5 0a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-2Z\",\"M3 2a1 1 0 0 0-2 0v20a1 1 0 1 0 2 0V2Zm19-1a1 1 0 0 1 1 1v20a1 1 0 1 1-2 0V2a1 1 0 0 1 1-1ZM6 5a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H6Zm8 0a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-4Z\",\"M5 3a1 1 0 0 0-2 0v26a1 1 0 1 0 2 0V3Zm24 0a1 1 0 1 0-2 0v26a1 1 0 1 0 2 0V3ZM8 7a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H8Zm10 0a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-6Z\"],[\"M1 1.5a.5.5 0 0 0-1 0v9a.5.5 0 0 0 1 0v-9Zm10 0a.5.5 0 0 0-1 0v9a.5.5 0 0 0 1 0v-9Zm-9 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-5ZM3 4v4h1V4H3Zm3.5-1a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-2ZM7 8V4h1v4H7Z\",\"M2 1.5a.5.5 0 0 0-1 0v13a.5.5 0 0 0 1 0v-13Zm13 0a.5.5 0 0 0-1 0v13a.5.5 0 0 0 1 0v-13Zm-11 3a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-7ZM5 5v6h1V5H5Zm4.5-1a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-2Zm.5 7V5h1v6h-1Z\",\"M3 2a1 1 0 0 0-2 0v20a1 1 0 1 0 2 0V2Zm19-1a1 1 0 0 1 1 1v20a1 1 0 1 1-2 0V2a1 1 0 0 1 1-1ZM6 5a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H6Zm1 12V7h2v10H7Zm7-12a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-4Zm1 12V7h2v10h-2Z\",\"M5 3a1 1 0 0 0-2 0v26a1 1 0 1 0 2 0V3Zm24 0a1 1 0 1 0-2 0v26a1 1 0 1 0 2 0V3ZM7 8a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1V8Zm2 1v14h4V9H9Zm9-2a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-6Zm1 16V9h4v14h-4Z\"]];","export default [[\"M1 2.5a.5.5 0 0 1 .5-.5H4v1h1V2h4.5a.5.5 0 0 1 .5.5V5H8V4H7v3h1V6h2v2.5a.5.5 0 0 1-.5.5H5v1h4.5A1.5 1.5 0 0 0 11 8.5v-6A1.5 1.5 0 0 0 9.5 1h-8A1.5 1.5 0 0 0 0 2.5v6A1.5 1.5 0 0 0 1.5 10H3V9H1.5a.5.5 0 0 1-.5-.5V6h2.5A1.5 1.5 0 0 0 5 4.5V4H4v.5a.5.5 0 0 1-.5.5H1V2.5Z\",\"M2 4.5a.5.5 0 0 1 .5-.5H6v1h1V4h6.5a.5.5 0 0 1 .5.5V8h-3V7h-1v3h1V9h3v2.5a.5.5 0 0 1-.5.5H7.35v1h6.15a1.5 1.5 0 0 0 1.5-1.5v-7A1.5 1.5 0 0 0 13.5 3h-11A1.5 1.5 0 0 0 1 4.5v7A1.5 1.5 0 0 0 2.5 13h2.9v-1H2.5a.5.5 0 0 1-.5-.5V9h3.5A1.5 1.5 0 0 0 7 7.5V7H6v.5a.5.5 0 0 1-.5.5H2V4.5Z\",\"M4 6a1 1 0 0 0-1 1v5h5v-2h2v2a2 2 0 0 1-2 2H3v3a1 1 0 0 0 1 1h4v2H4a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3h-9v-2h9a1 1 0 0 0 1-1v-3h-4v2h-2v-6h2v2h4V7a1 1 0 0 0-1-1H10v2H8V6H4Z\",\"M5 7a1 1 0 0 0-1 1v8h7a1 1 0 0 0 1-1v-2h2v2a3 3 0 0 1-3 3H4v6a1 1 0 0 0 1 1h6v2H5a3 3 0 0 1-3-3V8a3 3 0 0 1 3-3h22a3 3 0 0 1 3 3v16a3 3 0 0 1-3 3H15v-2h12a1 1 0 0 0 1-1v-6h-6v3h-2v-8h2v3h6V8a1 1 0 0 0-1-1H14v3h-2V7H5Z\"]];","export default [[\"<path d='M1.5 0a1.5 1.5 0 0 0-.551 2.895v4.479c0 .897.727 1.625 1.625 1.625h.51a1.5 1.5 0 1 0 .002-1h-.512a.625.625 0 0 1-.625-.625V4.852c.205.094.434.147.675.147h.46a1.5 1.5 0 1 0 .002-1h-.462A.625.625 0 0 1 2 3.374v-.46A1.5 1.5 0 0 0 1.5 0Z'></path><path d='M7.5 5a.5.5 0 0 0 0 1h3.25a.25.25 0 0 1 .25.25v4.5a.25.25 0 0 1-.25.25H5.5a.5.5 0 0 0 0 1h5.25c.69 0 1.25-.56 1.25-1.25v-4.5C12 5.56 11.44 5 10.75 5H7.5Z'></path><path d='m7.854 7.146 1.021 1.022v-.293a.5.5 0 0 1 1 0v1.5a.5.5 0 0 1-.5.5h-1.5a.5.5 0 0 1 0-1h.293L7.146 7.854a.5.5 0 1 1 .708-.708Z'></path>\",\"<path d='M2.5 1A1.5 1.5 0 0 0 2 3.915V8a2 2 0 0 0 2 2h1.085a1.5 1.5 0 1 0 0-1H4a1 1 0 0 1-1-1V5.732c.294.17.636.268 1 .268h1.085a1.5 1.5 0 1 0 0-1H4a1 1 0 0 1-1-1v-.085A1.5 1.5 0 0 0 2.5 1Z'></path><path d='M9.5 6a.5.5 0 0 0 0 1h4a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 0-1 0v1A1.5 1.5 0 0 0 7.5 15h6a1.5 1.5 0 0 0 1.5-1.5v-6A1.5 1.5 0 0 0 13.5 6h-4Z'></path><path d='M9.854 9.146 12 11.293V10.5a.5.5 0 0 1 1 0v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h.793L9.146 9.854a.5.5 0 1 1 .708-.708Z'></path>\",\"<path d='M3.5 1A2.5 2.5 0 0 0 2 5.5v5.264a3.25 3.25 0 0 0 3.264 3.25l2.786-.012a2.5 2.5 0 1 0 .446-1.997V12l-3.24.014A1.25 1.25 0 0 1 4 10.764V8.75c.385.16.807.249 1.25.249H8.5a2.5 2.5 0 1 0-.45-2h-2.8a1.25 1.25 0 0 1-1.235-1.053A2.5 2.5 0 0 0 3.5 1Z'></path><path d='M16 9a1 1 0 1 0 0 2h4.5a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V19a1 1 0 1 0-2 0v1.5a2.5 2.5 0 0 0 2.5 2.5h9a2.5 2.5 0 0 0 2.5-2.5v-9A2.5 2.5 0 0 0 20.5 9H16Z'></path><path d='M19 14a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 1 1 0-2h1.586l-2.293-2.293a1 1 0 0 1 1.414-1.414L18 16.586V15a1 1 0 0 1 1-1Z'></path>\",\"<path d='M5 2a3 3 0 0 0-1 5.83V15a4 4 0 0 0 4 4h3.17a3.001 3.001 0 1 0 0-2H8a2 2 0 0 1-2-2v-3.535c.588.34 1.271.535 2 .535h3.17a3.001 3.001 0 1 0 0-2H8a2 2 0 0 1-2-2v-.17A3.001 3.001 0 0 0 5 2Z'></path><path d='M20 12a1 1 0 1 0 0 2h7a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H15a1 1 0 0 1-1-1v-3a1 1 0 1 0-2 0v3a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V15a3 3 0 0 0-3-3h-7Z'></path><path d='M20.707 19.293 24 22.586V21a1 1 0 1 1 2 0v4a1 1 0 0 1-1 1h-4a1 1 0 1 1 0-2h1.586l-3.293-3.293a1 1 0 0 1 1.414-1.414Z'></path>\"],[\"<path d='M1.5 0a1.5 1.5 0 0 0-.551 2.895v4.479c0 .897.727 1.625 1.625 1.625h.51a1.5 1.5 0 1 0 .002-1h-.512a.625.625 0 0 1-.625-.625V4.852c.205.094.434.147.675.147h.46a1.5 1.5 0 1 0 .002-1h-.462A.625.625 0 0 1 2 3.374v-.46A1.5 1.5 0 0 0 1.5 0ZM1 1.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0ZM4.5 4a.5.5 0 1 1 0 1 .5.5 0 0 1 0-1ZM4 8.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Z'></path><path d='M7 5.5a.5.5 0 0 1 .5-.5h3.25c.69 0 1.25.56 1.25 1.25v4.5c0 .69-.56 1.25-1.25 1.25H5.5a.5.5 0 0 1 0-1h5.25a.25.25 0 0 0 .25-.25v-4.5a.25.25 0 0 0-.25-.25H7.5a.5.5 0 0 1-.5-.5Z'></path><path d='M7.146 7.146a.5.5 0 0 0 0 .708l1.022 1.021h-.293a.5.5 0 0 0 0 1h1.5a.5.5 0 0 0 .5-.5v-1.5a.5.5 0 0 0-1 0v.293L7.854 7.146a.5.5 0 0 0-.708 0Z'></path>\",\"<path d='M2.5 1A1.5 1.5 0 0 0 2 3.915V8a2 2 0 0 0 2 2h1.085a1.5 1.5 0 1 0 0-1H4a1 1 0 0 1-1-1V5.732c.294.17.636.268 1 .268h1.085a1.5 1.5 0 1 0 0-1H4a1 1 0 0 1-1-1v-.085A1.5 1.5 0 0 0 2.5 1ZM2 2.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Zm4 3a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Zm.5 4.5a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Z'></path><path d='M9 6.5a.5.5 0 0 1 .5-.5h4A1.5 1.5 0 0 1 15 7.5v6a1.5 1.5 0 0 1-1.5 1.5h-6A1.5 1.5 0 0 1 6 13.5v-1a.5.5 0 0 1 1 0v1a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5v-6a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 1-.5-.5Z'></path><path d='M12 11.293 9.854 9.146a.5.5 0 1 0-.708.708L11.293 12H10.5a.5.5 0 0 0 0 1h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-1 0v.793Z'></path>\",\"<path d='M3.5 1A2.5 2.5 0 0 0 2 5.5v5.264a3.25 3.25 0 0 0 3.264 3.25l2.786-.012a2.5 2.5 0 1 0 .446-1.997V12l-3.24.014A1.25 1.25 0 0 1 4 10.764V8.75c.385.16.807.249 1.25.249H8.5a2.5 2.5 0 1 0-.45-2h-2.8a1.25 1.25 0 0 1-1.235-1.053A2.5 2.5 0 0 0 3.5 1ZM3 3.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0ZM10.5 7a.5.5 0 1 1 0 1 .5.5 0 0 1 0-1Zm-.5 6.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Z'></path><path d='M15 10a1 1 0 0 1 1-1h4.5a2.5 2.5 0 0 1 2.5 2.5v9a2.5 2.5 0 0 1-2.5 2.5h-9A2.5 2.5 0 0 1 9 20.5V19a1 1 0 1 1 2 0v1.5a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5H16a1 1 0 0 1-1-1Z'></path><path d='M20 15a1 1 0 1 0-2 0v1.586l-2.293-2.293a1 1 0 0 0-1.414 1.414L16.586 18H15a1 1 0 1 0 0 2h4a1 1 0 0 0 1-1v-4Z'></path>\",\"<path d='M5 2a3 3 0 0 0-1 5.83V15a4 4 0 0 0 4 4h3.17a3.001 3.001 0 1 0 0-2H8a2 2 0 0 1-2-2v-3.535c.588.34 1.271.535 2 .535h3.17a3.001 3.001 0 1 0 0-2H8a2 2 0 0 1-2-2v-.17A3.001 3.001 0 0 0 5 2ZM4 5a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm10 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Zm-1 8a1 1 0 1 1 2 0 1 1 0 0 1-2 0Z'></path><path d='M19 13a1 1 0 0 1 1-1h7a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H15a3 3 0 0 1-3-3v-3a1 1 0 1 1 2 0v3a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V15a1 1 0 0 0-1-1h-7a1 1 0 0 1-1-1Z'></path><path d='M19.293 19.293a1 1 0 0 0 0 1.414L22.586 24H21a1 1 0 1 0 0 2h4a1 1 0 0 0 1-1v-4a1 1 0 1 0-2 0v1.586l-3.293-3.293a1 1 0 0 0-1.414 0Z'></path>\"]];","export default [[\"M2.5 2A1.5 1.5 0 0 0 1 3.5v5A1.5 1.5 0 0 0 2.5 10h7A1.5 1.5 0 0 0 11 8.5v-4A1.5 1.5 0 0 0 9.5 3H6.414a.5.5 0 0 1-.353-.146l-.415-.415A1.5 1.5 0 0 0 4.586 2H2.5Z\",\"M2.5 2A1.5 1.5 0 0 0 1 3.5v9A1.5 1.5 0 0 0 2.5 14h11a1.5 1.5 0 0 0 1.5-1.5v-7A1.5 1.5 0 0 0 13.5 4H8.414a.5.5 0 0 1-.353-.146L6.646 2.439A1.5 1.5 0 0 0 5.586 2H2.5Z\",\"M5 4a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V9a3 3 0 0 0-3-3h-8.172a1 1 0 0 1-.707-.293l-.828-.828A3 3 0 0 0 7.172 4H5Z\",\"M5 5a3 3 0 0 0-3 3v16a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3V11a3 3 0 0 0-3-3H14.328a1 1 0 0 1-.707-.293L11.793 5.88A3 3 0 0 0 9.672 5H5Z\"],[\"M2.5 3a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5H6.414a1.5 1.5 0 0 1-1.06-.44l-.415-.414A.5.5 0 0 0 4.586 3H2.5ZM1 3.5A1.5 1.5 0 0 1 2.5 2h2.086a1.5 1.5 0 0 1 1.06.44l.415.414A.5.5 0 0 0 6.414 3H9.5A1.5 1.5 0 0 1 11 4.5v4A1.5 1.5 0 0 1 9.5 10h-7A1.5 1.5 0 0 1 1 8.5v-5Z\",\"M1 3.5A1.5 1.5 0 0 1 2.5 2h3.086a1.5 1.5 0 0 1 1.06.44l1.415 1.414A.5.5 0 0 0 8.414 4H13.5A1.5 1.5 0 0 1 15 5.5v7a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 12.5v-9ZM2.5 3a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5H8.414a1.5 1.5 0 0 1-1.06-.44L5.939 3.147A.5.5 0 0 0 5.586 3H2.5Z\",\"M2 7a3 3 0 0 1 3-3h2.172a3 3 0 0 1 2.12.879l.83.828a1 1 0 0 0 .706.293H19a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V7Zm3-1a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1h-8.172a3 3 0 0 1-2.12-.879l-.83-.828A1 1 0 0 0 7.173 6H5Z\",\"M2 8a3 3 0 0 1 3-3h4.672a3 3 0 0 1 2.12.879l1.83 1.828a1 1 0 0 0 .706.293H27a3 3 0 0 1 3 3v13a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V8Zm3-1a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h22a1 1 0 0 0 1-1V11a1 1 0 0 0-1-1H14.328a3 3 0 0 1-2.12-.879l-1.83-1.828A1 1 0 0 0 9.673 7H5Z\"]];","export default [[\"<path d='M2.5 2A1.5 1.5 0 0 0 1 3.5v5A1.5 1.5 0 0 0 2.5 10h1.756A4.5 4.5 0 0 1 11 4.758V4.5A1.5 1.5 0 0 0 9.5 3H6.414a.5.5 0 0 1-.353-.146l-.415-.415A1.5 1.5 0 0 0 4.586 2H2.5Zm6 5a.5.5 0 0 1 .5.5V8h.5a.5.5 0 0 1 0 1H9v.5a.5.5 0 0 1-1 0V9h-.5a.5.5 0 0 1 0-1H8v-.5a.5.5 0 0 1 .5-.5Z'></path><path d='M8.5 5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM6 8.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path>\",\"<path d='M2.5 2A1.5 1.5 0 0 0 1 3.5v9A1.5 1.5 0 0 0 2.5 14h4.1A5.5 5.5 0 0 1 15 7.257V5.5A1.5 1.5 0 0 0 13.5 4H8.414a.5.5 0 0 1-.353-.146L6.646 2.439A1.5 1.5 0 0 0 5.586 2H2.5Z'></path><path d='M12 9.5a.5.5 0 0 0-1 0V11H9.5a.5.5 0 0 0 0 1H11v1.5a.5.5 0 0 0 1 0V12h1.5a.5.5 0 0 0 0-1H12V9.5Z'></path><path d='M11.5 7a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9ZM8 11.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z'></path>\",\"<path d='M2 7a3 3 0 0 1 3-3h2.172a3 3 0 0 1 2.12.879l.83.828a1 1 0 0 0 .706.293H19a3 3 0 0 1 3 3v.516A9 9 0 0 0 8.512 20H5a3 3 0 0 1-3-3V7Z'></path><path d='M17 13a1 1 0 0 0-1 1v2h-2a1 1 0 1 0 0 2h2v2a1 1 0 1 0 2 0v-2h2a1 1 0 1 0 0-2h-2v-2a1 1 0 0 0-1-1Z'></path><path d='M10 17a7 7 0 1 1 14 0 7 7 0 0 1-14 0Zm7-5a5 5 0 1 0 0 10 5 5 0 0 0 0-10Z'></path>\",\"<path d='M2 8a3 3 0 0 1 3-3h4.672a3 3 0 0 1 2.12.879l1.83 1.828a1 1 0 0 0 .706.293H27a3 3 0 0 1 3 3v3.45A10.97 10.97 0 0 0 22 11c-6.075 0-11 4.925-11 11 0 1.8.433 3.5 1.2 5H5a3 3 0 0 1-3-3V8Z'></path><path d='M22 17a1 1 0 0 0-1 1v3h-3a1 1 0 1 0 0 2h3v3a1 1 0 1 0 2 0v-3h3a1 1 0 1 0 0-2h-3v-3a1 1 0 0 0-1-1Z'></path><path d='M13 22a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"],[\"<path d='M2.5 3a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h1.527c.039.347.117.682.23 1H2.5A1.5 1.5 0 0 1 1 8.5v-5A1.5 1.5 0 0 1 2.5 2h2.086a1.5 1.5 0 0 1 1.06.44l.415.414A.5.5 0 0 0 6.414 3H9.5A1.5 1.5 0 0 1 11 4.5v.258a4.482 4.482 0 0 0-1.08-.53A.5.5 0 0 0 9.5 4H6.414a1.5 1.5 0 0 1-1.06-.44l-.415-.414A.5.5 0 0 0 4.586 3H2.5Zm6 4a.5.5 0 0 1 .5.5V8h.5a.5.5 0 0 1 0 1H9v.5a.5.5 0 0 1-1 0V9h-.5a.5.5 0 0 1 0-1H8v-.5a.5.5 0 0 1 .5-.5Z'></path><path d='M8.5 5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM6 8.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path>\",\"<path d='M1 3.5A1.5 1.5 0 0 1 2.5 2h3.086a1.5 1.5 0 0 1 1.06.44l1.415 1.414A.5.5 0 0 0 8.414 4H13.5A1.5 1.5 0 0 1 15 5.5v1.757a5.507 5.507 0 0 0-1-.657V5.5a.5.5 0 0 0-.5-.5H8.414a1.5 1.5 0 0 1-1.06-.44L5.939 3.147A.5.5 0 0 0 5.586 3H2.5a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h3.707c.099.349.23.683.393 1H2.5A1.5 1.5 0 0 1 1 12.5v-9Z'></path><path d='M12 9.5a.5.5 0 0 0-1 0V11H9.5a.5.5 0 0 0 0 1H11v1.5a.5.5 0 0 0 1 0V12h1.5a.5.5 0 0 0 0-1H12V9.5Z'></path><path d='M11.5 7a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9ZM8 11.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z'></path>\",\"<path d='M5 4a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h3.512a8.946 8.946 0 0 1-.457-2H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h2.172a1 1 0 0 1 .707.293l.828.828A3 3 0 0 0 10.828 8H19a1 1 0 0 1 .84.457A8.965 8.965 0 0 1 22 9.516V9a3 3 0 0 0-3-3h-8.172a1 1 0 0 1-.707-.293l-.828-.828A3 3 0 0 0 7.172 4H5Z'></path><path d='M17 13a1 1 0 0 0-1 1v2h-2a1 1 0 1 0 0 2h2v2a1 1 0 1 0 2 0v-2h2a1 1 0 1 0 0-2h-2v-2a1 1 0 0 0-1-1Z'></path><path d='M10 17a7 7 0 1 1 14 0 7 7 0 0 1-14 0Zm7-5a5 5 0 1 0 0 10 5 5 0 0 0 0-10Z'></path>\",\"<path d='M5 5a3 3 0 0 0-3 3v16a3 3 0 0 0 3 3h7.2a10.924 10.924 0 0 1-.786-2H5a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h4.672a1 1 0 0 1 .707.293l1.828 1.828a3 3 0 0 0 2.121.879H27a1 1 0 0 1 1 1v1.779a11.053 11.053 0 0 1 2 1.671V11a3 3 0 0 0-3-3H14.328a1 1 0 0 1-.707-.293L11.793 5.88A3 3 0 0 0 9.672 5H5Z'></path><path d='M22 17a1 1 0 0 0-1 1v3h-3a1 1 0 1 0 0 2h3v3a1 1 0 1 0 2 0v-3h3a1 1 0 1 0 0-2h-3v-3a1 1 0 0 0-1-1Z'></path><path d='M13 22a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"]];","export default [[\"M9 5v-.5A1.5 1.5 0 0 0 7.5 3H5.414a.5.5 0 0 1-.353-.146l-.415-.415A1.5 1.5 0 0 0 3.586 2H1.5A1.5 1.5 0 0 0 0 3.5v6A1.5 1.5 0 0 0 1.5 11h6.823a1.5 1.5 0 0 0 1.393-.943l1.2-3A1.5 1.5 0 0 0 9.523 5H9ZM1.5 3a.5.5 0 0 0-.5.5v1.585C1.156 5.03 1.325 5 1.5 5H8v-.5a.5.5 0 0 0-.5-.5H5.414a1.5 1.5 0 0 1-1.06-.44l-.415-.414A.5.5 0 0 0 3.586 3H1.5Z\",\"M0 3.5A1.5 1.5 0 0 1 1.5 2h3.086a1.5 1.5 0 0 1 1.06.44l1.415 1.414A.5.5 0 0 0 7.414 4H10.5A1.5 1.5 0 0 1 12 5.5V6h1.174a1.5 1.5 0 0 1 1.443 1.912l-1.429 5A1.5 1.5 0 0 1 11.746 14H1.5A1.5 1.5 0 0 1 0 12.5v-9ZM11 6H2.367A1.5 1.5 0 0 0 1 6.883V3.5a.5.5 0 0 1 .5-.5h3.086a.5.5 0 0 1 .353.146l1.415 1.415A1.5 1.5 0 0 0 7.414 5H10.5a.5.5 0 0 1 .5.5V6Z\",\"M1 7a3 3 0 0 1 3-3h2.172a3 3 0 0 1 2.12.879l.83.828A1 1 0 0 0 9.827 6H17a3 3 0 0 1 3 3v1.012a3 3 0 0 1 2.571 3.937l-1.667 5A3 3 0 0 1 18.058 21H4a3 3 0 0 1-3-3V7Zm17 3H5.941a3 3 0 0 0-2.846 2.051L3 12.337V7a1 1 0 0 1 1-1h2.172a1 1 0 0 1 .707.293l.828.828A3 3 0 0 0 9.828 8H17a1 1 0 0 1 1 1v1Z\",\"M2 8a3 3 0 0 1 3-3h4.672a3 3 0 0 1 2.12.879l1.83 1.828a1 1 0 0 0 .706.293H23a3 3 0 0 1 3 3v1h.986a3 3 0 0 1 2.923 3.675l-2.077 9A3 3 0 0 1 24.909 27H5a3 3 0 0 1-3-3V8Zm22 4H7.59a3 3 0 0 0-2.922 2.325L4 17.22V8a1 1 0 0 1 1-1h4.672a1 1 0 0 1 .707.293l1.828 1.828a3 3 0 0 0 2.121.879H23a1 1 0 0 1 1 1v1Z\"],[\"M9 5v-.5A1.5 1.5 0 0 0 7.5 3H5.414a.5.5 0 0 1-.353-.146l-.415-.415A1.5 1.5 0 0 0 3.586 2H1.5A1.5 1.5 0 0 0 0 3.5v6A1.5 1.5 0 0 0 1.5 11h6.823a1.5 1.5 0 0 0 1.393-.943l1.2-3A1.5 1.5 0 0 0 9.523 5H9ZM1.5 3a.5.5 0 0 0-.5.5v1.585C1.156 5.03 1.325 5 1.5 5H8v-.5a.5.5 0 0 0-.5-.5H5.414a1.5 1.5 0 0 1-1.06-.44l-.415-.414A.5.5 0 0 0 3.586 3H1.5ZM1 6.5a.5.5 0 0 1 .5-.5h8.023a.5.5 0 0 1 .464.686l-1.2 3a.5.5 0 0 1-.464.314H1.5a.5.5 0 0 1-.5-.5v-3Z\",\"M0 3.5A1.5 1.5 0 0 1 1.5 2h3.086a1.5 1.5 0 0 1 1.06.44l1.415 1.414A.5.5 0 0 0 7.414 4H10.5A1.5 1.5 0 0 1 12 5.5V6h1.174a1.5 1.5 0 0 1 1.443 1.912l-1.429 5A1.5 1.5 0 0 1 11.746 14H1.5A1.5 1.5 0 0 1 0 12.5v-9Zm1 3.383A1.5 1.5 0 0 1 2.367 6H11v-.5a.5.5 0 0 0-.5-.5H7.414a1.5 1.5 0 0 1-1.06-.44L4.939 3.147A.5.5 0 0 0 4.586 3H1.5a.5.5 0 0 0-.5.5v3.383Zm.872.546A.5.5 0 0 1 2.367 7h10.807a.5.5 0 0 1 .481.637l-1.428 5a.5.5 0 0 1-.481.363H1.653a.5.5 0 0 1-.495-.57l.714-5Z\",\"M1 7a3 3 0 0 1 3-3h2.172a3 3 0 0 1 2.12.879l.83.828A1 1 0 0 0 9.827 6H17a3 3 0 0 1 3 3v1.012a3 3 0 0 1 2.571 3.937l-1.667 5A3 3 0 0 1 18.058 21H4a3 3 0 0 1-3-3V7Zm2 5.337.095-.286A3 3 0 0 1 5.941 10H18V9a1 1 0 0 0-1-1H9.828a3 3 0 0 1-2.12-.879l-.83-.828A1 1 0 0 0 6.173 6H4a1 1 0 0 0-1 1v5.337Zm1.993.347A1 1 0 0 1 5.94 12h13.784a1 1 0 0 1 .949 1.316l-1.667 5a1 1 0 0 1-.949.684H4.275a1 1 0 0 1-.949-1.316l1.667-5Z\",\"M2 8a3 3 0 0 1 3-3h4.672a3 3 0 0 1 2.12.879l1.83 1.828a1 1 0 0 0 .706.293H23a3 3 0 0 1 3 3v1h.986a3 3 0 0 1 2.923 3.675l-2.077 9A3 3 0 0 1 24.909 27H5a3 3 0 0 1-3-3V8Zm2 9.219.668-2.894A3 3 0 0 1 7.59 12H24v-1a1 1 0 0 0-1-1h-8.672a3 3 0 0 1-2.12-.879l-1.83-1.828A1 1 0 0 0 9.673 7H5a1 1 0 0 0-1 1v9.219Zm2.617-2.444A1 1 0 0 1 7.59 14h19.395a1 1 0 0 1 .974 1.225l-2.077 9a1 1 0 0 1-.974.775H5.514a1 1 0 0 1-.974-1.225l2.077-9Z\"]];","export default [[\"<path d='M4.256 10A4.5 4.5 0 0 1 9 4.027V3.5A1.5 1.5 0 0 0 7.5 2H5.414a.5.5 0 0 1-.353-.146l-.415-.415A1.5 1.5 0 0 0 3.586 1H1.5A1.5 1.5 0 0 0 0 2.5v6A1.5 1.5 0 0 0 1.5 10h2.756ZM1 2.5a.5.5 0 0 1 .5-.5h2.086a.5.5 0 0 1 .353.146l.415.415A1.5 1.5 0 0 0 5.414 3H7.5a.5.5 0 0 1 .5.5V4H1.5c-.175 0-.344.03-.5.085V2.5Zm9.354 5.354a.5.5 0 0 0-.708-.708L8 8.793l-.646-.647a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0l2-2Z'></path><path d='M5 8.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM8.5 6a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path>\",\"<path d='M1.5 2A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h5.1A5.5 5.5 0 0 1 12 6.022V5.5A1.5 1.5 0 0 0 10.5 4H7.414a.5.5 0 0 1-.353-.146L5.646 2.439A1.5 1.5 0 0 0 4.586 2H1.5Zm.867 4A1.5 1.5 0 0 0 1 6.882V3.5a.5.5 0 0 1 .5-.5h3.086a.5.5 0 0 1 .353.146l1.415 1.415A1.5 1.5 0 0 0 7.414 5H10.5a.5.5 0 0 1 .5.5V6H2.367Zm11.487 4.854a.5.5 0 0 0-.708-.708L11 12.293l-.646-.647a.5.5 0 0 0-.708.708l1 1a.5.5 0 0 0 .708 0l2.5-2.5Z'></path><path d='M7 11.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM11.5 8a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M4 4a3 3 0 0 0-3 3v11a3 3 0 0 0 3 3h4.936A8.963 8.963 0 0 1 8 17a8.983 8.983 0 0 1 3.343-7H5.94a3 3 0 0 0-2.846 2.051L3 12.337V7a1 1 0 0 1 1-1h2.172a1 1 0 0 1 .707.293l.828.828A3 3 0 0 0 9.828 8H17c1.036 0 2.032.175 2.958.497A3 3 0 0 0 17 6H9.828a1 1 0 0 1-.707-.293l-.828-.828A3 3 0 0 0 6.172 4H4Zm16.207 12.207a1 1 0 0 0-1.414-1.414L16 17.586l-1.293-1.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l3.5-3.5Z'></path><path d='M10 17a7 7 0 1 1 14 0 7 7 0 0 1-14 0Zm7-5a5 5 0 1 0 0 10 5 5 0 0 0 0-10Z'></path>\",\"<path d='M5 5a3 3 0 0 0-3 3v16a3 3 0 0 0 3 3h7.2c-.767-1.5-1.2-3.2-1.2-5 0-4.437 2.627-8.26 6.411-10h-9.82a3 3 0 0 0-2.923 2.325L4 17.22V8a1 1 0 0 1 1-1h4.672a1 1 0 0 1 .707.293l1.828 1.828a3 3 0 0 0 2.121.879H23a1 1 0 0 1 1 1v.181c.692.127 1.36.32 2 .569V11a3 3 0 0 0-3-3h-8.672a1 1 0 0 1-.707-.293L11.793 5.88A3 3 0 0 0 9.672 5H5Zm21.707 15.707a1 1 0 0 0-1.414-1.414L20.5 24.086l-1.793-1.793a1 1 0 0 0-1.414 1.414l2.5 2.5a1 1 0 0 0 1.414 0l5.5-5.5Z'></path><path d='M13 22a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"],[\"<path d='M1 8.5v-3a.5.5 0 0 1 .5-.5h4.171A4.481 4.481 0 0 1 9 4.027V3.5A1.5 1.5 0 0 0 7.5 2H5.414a.5.5 0 0 1-.353-.146l-.415-.415A1.5 1.5 0 0 0 3.586 1H1.5A1.5 1.5 0 0 0 0 2.5v6A1.5 1.5 0 0 0 1.5 10h2.756a4.474 4.474 0 0 1-.229-1H1.5a.5.5 0 0 1-.5-.5ZM1.5 2h2.086a.5.5 0 0 1 .353.146l.415.415A1.5 1.5 0 0 0 5.414 3H7.5a.5.5 0 0 1 .5.5V4H1.5c-.175 0-.344.03-.5.085V2.5a.5.5 0 0 1 .5-.5Zm8.854 5.854a.5.5 0 0 0-.708-.708L8 8.793l-.646-.647a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0l2-2Z'></path><path d='M5 8.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM8.5 6a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path>\",\"<path d='M0 3.5A1.5 1.5 0 0 1 1.5 2h3.086a1.5 1.5 0 0 1 1.06.44l1.415 1.414A.5.5 0 0 0 7.414 4H10.5A1.5 1.5 0 0 1 12 5.5v.522A5.475 5.475 0 0 0 8.337 7h-5.97a.5.5 0 0 0-.495.43l-.714 5a.5.5 0 0 0 .495.57h4.554c.099.349.23.683.393 1H1.5A1.5 1.5 0 0 1 0 12.5v-9Zm11 2a.5.5 0 0 0-.5-.5H7.414a1.5 1.5 0 0 1-1.06-.44L4.939 3.147A.5.5 0 0 0 4.586 3H1.5a.5.5 0 0 0-.5.5v3.383A1.5 1.5 0 0 1 2.367 6H11v-.5Zm2.854 5.354a.5.5 0 0 0-.708-.708L11 12.293l-.646-.647a.5.5 0 0 0-.708.708l1 1a.5.5 0 0 0 .708 0l2.5-2.5Z'></path><path d='M7 11.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM11.5 8a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M1 7a3 3 0 0 1 3-3h2.172a3 3 0 0 1 2.12.879l.83.828A1 1 0 0 0 9.827 6H17a3 3 0 0 1 2.958 2.497A8.987 8.987 0 0 0 17 8H9.828a3 3 0 0 1-2.12-.879l-.83-.828A1 1 0 0 0 6.173 6H4a1 1 0 0 0-1 1v5.338l.095-.287A3 3 0 0 1 5.942 10h5.4a9.048 9.048 0 0 0-1.826 2H5.942a1 1 0 0 0-.95.684l-1.666 5A1 1 0 0 0 4.275 19h3.948c.16.701.4 1.372.713 2H4a3 3 0 0 1-3-3V7Zm19.207 9.207a1 1 0 0 0-1.414-1.414L16 17.586l-1.293-1.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l3.5-3.5Z'></path><path d='M10 17a7 7 0 1 1 14 0 7 7 0 0 1-14 0Zm7-5a5 5 0 1 0 0 10 5 5 0 0 0 0-10Z'></path>\",\"<path d='M2 8a3 3 0 0 1 3-3h4.672a3 3 0 0 1 2.12.879l1.83 1.828a1 1 0 0 0 .706.293H23a3 3 0 0 1 3 3v.75c-.64-.25-1.308-.442-2-.569V11a1 1 0 0 0-1-1h-8.672a3 3 0 0 1-2.12-.879l-1.83-1.828A1 1 0 0 0 9.673 7H5a1 1 0 0 0-1 1v9.22l.668-2.895A3 3 0 0 1 7.59 12h9.82a11.02 11.02 0 0 0-2.96 2H7.59a1 1 0 0 0-.974.775l-2.077 9A1 1 0 0 0 5.514 25h5.9c.197.697.462 1.366.785 2H5a3 3 0 0 1-3-3V8Zm24.707 12.707a1 1 0 0 0-1.414-1.414L20.5 24.086l-1.793-1.793a1 1 0 0 0-1.414 1.414l2.5 2.5a1 1 0 0 0 1.414 0l5.5-5.5Z'></path><path d='M13 22a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"]];","export default [[\"<path d='M9.821.117A.5.5 0 0 1 10 .5v10a1.5 1.5 0 0 1-3 0V3c0-.567.125-1.226.499-1.795C7.882.62 8.504.17 9.412.008a.5.5 0 0 1 .409.109ZM9 1.177V7H8V3c0-.433.097-.885.335-1.246.147-.225.358-.43.665-.578ZM2 .5a.5.5 0 0 0-1 0v2.4a2 2 0 0 0 .615 1.443l.078.075A1 1 0 0 1 2 5.139V10.5a1.5 1.5 0 0 0 3 0V5.14a1 1 0 0 1 .307-.722l.078-.075A2 2 0 0 0 6 2.901V.5a.5.5 0 0 0-1 0v2.4a1 1 0 0 1-.307.722l-.078.075A2 2 0 0 0 4.005 5h-1.01a2 2 0 0 0-.61-1.303l-.078-.075A1 1 0 0 1 2 2.901V.5Z'></path><path d='M3.5 4a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 1 0v3a.5.5 0 0 1-.5.5Z'></path>\",\"<path d='M4 1.5a.5.5 0 0 0-1 0v3.257a2 2 0 0 0 .464 1.28L4 6.681V13.5a1.5 1.5 0 0 0 3 0V6.681l.536-.644A2 2 0 0 0 8 4.757V1.5a.5.5 0 0 0-1 0v3.257a1 1 0 0 1-.232.64l-.652.783A.498.498 0 0 0 6 6.5V7H5v-.5a.498.498 0 0 0-.116-.32l-.652-.783A1 1 0 0 1 4 4.757V1.5Z'></path><path d='M5.5 5a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 1 0v3a.5.5 0 0 1-.5.5Zm7.294-3.904A.5.5 0 0 1 13 1.5v12a1.5 1.5 0 0 1-3 0V4c0-.574.128-1.181.507-1.724.38-.545.98-.976 1.84-1.252a.5.5 0 0 1 .447.072ZM12 2.256V8h-1V4c0-.426.094-.819.327-1.151.146-.21.36-.414.673-.592Z'></path>\",\"<path d='M4 2a1 1 0 0 0-2 0v5.86a5 5 0 0 0 2.226 4.16l.774.515V20.5a2.5 2.5 0 0 0 5 0v-7.965l.774-.515A5 5 0 0 0 13 7.86V2a1 1 0 1 0-2 0v5.86a3 3 0 0 1-1.336 2.495l-1.219.813a1 1 0 0 0-.445.848V13H7v-.985a1 1 0 0 0-.445-.847l-1.22-.813A3 3 0 0 1 4 7.86V2Z'></path><path d='M5 8a1 1 0 0 0 2 0V2a1 1 0 1 0-2 0v6Zm4 1a1 1 0 0 1-1-1V2a1 1 0 1 1 2 0v6a1 1 0 0 1-1 1Zm11.602-7.798A1 1 0 0 1 21 2v18.5a2.5 2.5 0 0 1-5 0v-8.42c-.416-.419-.879-.919-1.244-1.56C14.285 9.693 14 8.685 14 7.333c0-1.568.86-2.975 1.921-4.027 1.071-1.061 2.467-1.885 3.804-2.268a1 1 0 0 1 .877.164ZM19 3.492V14h-1v-2.333a1 1 0 0 0-.293-.707l-.047-.048c-.5-.499-.88-.878-1.166-1.382C16.215 9.04 16 8.382 16 7.333c0-.831.473-1.758 1.329-2.606A7.443 7.443 0 0 1 19 3.492Z'></path>\",\"<path d='M6 3a1 1 0 0 0-2 0v5.86a5 5 0 0 0 2.226 4.16l.774.515V27a3 3 0 1 0 6 0V13.535l.774-.515A5 5 0 0 0 16 8.86V3a1 1 0 1 0-2 0v5.86a3 3 0 0 1-1.336 2.495l-1.219.813a1 1 0 0 0-.445.848V16H9v-2.985a1 1 0 0 0-.445-.847l-1.22-.813A3 3 0 0 1 6 8.86V3Z'></path><path d='M7 9a1 1 0 0 0 2 0V3a1 1 0 0 0-2 0v6Zm5 1a1 1 0 0 1-1-1V3a1 1 0 1 1 2 0v6a1 1 0 0 1-1 1Zm14.55-7.835A1 1 0 0 1 27 3v24a3 3 0 1 1-6 0v-9.18c-.134-.176-.293-.366-.466-.573C19.516 16.027 18 14.209 18 11c0-3.09 1.335-5.112 2.994-6.463 1.37-1.116 2.983-1.782 4.102-2.243.185-.076.356-.147.51-.213a1 1 0 0 1 .944.084ZM25 4.506V20h-2v-2.5a1 1 0 0 0-.168-.555c-.291-.436-.61-.824-.924-1.207C20.937 14.556 20 13.415 20 11c0-2.41.999-3.888 2.256-4.912.86-.7 1.83-1.183 2.744-1.582Z'></path>\"],[\"<path d='M9.821.117A.5.5 0 0 1 10 .5v10a1.5 1.5 0 0 1-3 0V3c0-.567.125-1.226.499-1.795C7.882.62 8.504.17 9.412.008a.5.5 0 0 1 .409.109ZM9 1.177V7H8V3c0-.433.097-.885.335-1.246.147-.225.358-.43.665-.578ZM8 8h1v2.5a.5.5 0 0 1-1 0V8ZM2 .5a.5.5 0 0 0-1 0v2.4a2 2 0 0 0 .615 1.443l.078.075A1 1 0 0 1 2 5.139V10.5a1.5 1.5 0 0 0 3 0V5.14a1 1 0 0 1 .307-.722l.078-.075A2 2 0 0 0 6 2.901V.5a.5.5 0 0 0-1 0v2.4a1 1 0 0 1-.307.722l-.078.075A2 2 0 0 0 4.005 5h-1.01a2 2 0 0 0-.61-1.303l-.078-.075A1 1 0 0 1 2 2.901V.5Zm1 10V6h1v4.5a.5.5 0 0 1-1 0Z'></path><path d='M3.5 4a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 1 0v3a.5.5 0 0 1-.5.5Z'></path>\",\"<path d='M4 1.5a.5.5 0 0 0-1 0v3.257a2 2 0 0 0 .464 1.28L4 6.681V13.5a1.5 1.5 0 0 0 3 0V6.681l.536-.644A2 2 0 0 0 8 4.757V1.5a.5.5 0 0 0-1 0v3.257a1 1 0 0 1-.232.64l-.652.783A.498.498 0 0 0 6 6.5V7H5v-.5a.498.498 0 0 0-.116-.32l-.652-.783A1 1 0 0 1 4 4.757V1.5Zm1 12V8h1v5.5a.5.5 0 0 1-1 0Z'></path><path d='M5.5 5a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 1 0v3a.5.5 0 0 1-.5.5Zm7.294-3.904A.5.5 0 0 1 13 1.5v12a1.5 1.5 0 0 1-3 0V4c0-.574.128-1.181.507-1.724.38-.545.98-.976 1.84-1.252a.5.5 0 0 1 .447.072ZM12 2.256V8h-1V4c0-.426.094-.819.327-1.151.146-.21.36-.414.673-.592ZM11 13.5V9h1v4.5a.5.5 0 0 1-1 0Z'></path>\",\"<path d='M4 2a1 1 0 0 0-2 0v5.86a5 5 0 0 0 2.226 4.16l.774.515V20.5a2.5 2.5 0 0 0 5 0v-7.965l.774-.515A5 5 0 0 0 13 7.86V2a1 1 0 1 0-2 0v5.86a3 3 0 0 1-1.336 2.495l-1.219.813a1 1 0 0 0-.445.848V13H7v-.985a1 1 0 0 0-.445-.847l-1.22-.813A3 3 0 0 1 4 7.86V2Zm3 18.5V15h1v5.5a.5.5 0 0 1-1 0Z'></path><path d='M5 8a1 1 0 0 0 2 0V2a1 1 0 1 0-2 0v6Zm4 1a1 1 0 0 1-1-1V2a1 1 0 1 1 2 0v6a1 1 0 0 1-1 1Zm11.602-7.798A1 1 0 0 1 21 2v18.5a2.5 2.5 0 0 1-5 0v-8.42c-.416-.419-.879-.919-1.244-1.56C14.285 9.693 14 8.685 14 7.333c0-1.568.86-2.975 1.921-4.027 1.071-1.061 2.467-1.885 3.804-2.268a1 1 0 0 1 .877.164ZM19 3.492V14h-1v-2.333a1 1 0 0 0-.293-.707l-.047-.048c-.5-.499-.88-.878-1.166-1.382C16.215 9.04 16 8.382 16 7.333c0-.831.473-1.758 1.329-2.606A7.443 7.443 0 0 1 19 3.492ZM18 16v4.5a.5.5 0 0 0 1 0V16h-1Z'></path>\",\"<path d='M6 3a1 1 0 0 0-2 0v5.86a5 5 0 0 0 2.226 4.16l.774.515V27a3 3 0 1 0 6 0V13.535l.774-.515A5 5 0 0 0 16 8.86V3a1 1 0 1 0-2 0v5.86a3 3 0 0 1-1.336 2.495l-1.219.813a1 1 0 0 0-.445.848V16H9v-2.985a1 1 0 0 0-.445-.847l-1.22-.813A3 3 0 0 1 6 8.86V3Zm3 24v-9h2v9a1 1 0 1 1-2 0Z'></path><path d='M7 9a1 1 0 0 0 2 0V3a1 1 0 0 0-2 0v6Zm5 1a1 1 0 0 1-1-1V3a1 1 0 1 1 2 0v6a1 1 0 0 1-1 1Zm14.55-7.835A1 1 0 0 1 27 3v24a3 3 0 1 1-6 0v-9.18c-.134-.176-.293-.366-.466-.573C19.516 16.027 18 14.209 18 11c0-3.09 1.335-5.112 2.994-6.463 1.37-1.116 2.983-1.782 4.102-2.243.185-.076.356-.147.51-.213a1 1 0 0 1 .944.084ZM25 4.506V20h-2v-2.5a1 1 0 0 0-.168-.555c-.291-.436-.61-.824-.924-1.207C20.937 14.556 20 13.415 20 11c0-2.41.999-3.888 2.256-4.912.86-.7 1.83-1.183 2.744-1.582ZM23 22v5a1 1 0 1 0 2 0v-5h-2Z'></path>\"]];","export default [[\"<path d='M6 1.5A1.5 1.5 0 0 1 7.5 0c.639 0 1.253.367 1.441 1H9.5A1.5 1.5 0 0 1 11 2.5v7A1.5 1.5 0 0 1 9.5 11h-8A1.5 1.5 0 0 1 0 9.5v-7A1.5 1.5 0 0 1 1.5 1h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5H9v5a.5.5 0 0 1-.084.278l-1 1.5a.5.5 0 0 1-.833-.001l-1-1.5A.5.5 0 0 1 6 6.999V1.5Zm2-.085v5.434l-.5.75-.5-.75v-5.35A.5.5 0 0 1 7.5 1c.337 0 .5.196.5.415Z'></path><path d='M2.5 3a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Zm0 2a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Zm0 2a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Z'></path>\",\"<path d='M9 2.5A1.5 1.5 0 0 1 10.5 1c.639 0 1.253.366 1.441 1h.559A1.5 1.5 0 0 1 14 3.5v9a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 1 12.5v-9A1.5 1.5 0 0 1 2.5 2h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5H12v6.5a.5.5 0 0 1-.053.224l-1 2a.5.5 0 0 1-.895 0l-1-2A.5.5 0 0 1 9 9.498v-7Zm2-.085v6.967l-.5 1-.5-1V2.5a.5.5 0 0 1 .5-.5c.337 0 .5.196.5.415Z'></path><path d='M3.5 5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Zm0 2a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Zm0 2a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Z'></path>\",\"M12 4a3 3 0 0 1 5.834-.986A.915.915 0 0 1 18 3h1a3 3 0 0 1 3 3v13a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h4a1 1 0 1 1 0 2H5a1 1 0 0 0-1 1v13a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-1v9a1 1 0 0 1-.106.447l-2 4a1 1 0 0 1-1.788 0l-2-4A1 1 0 0 1 12 14V4Zm3-1a1 1 0 0 0-1 1v9.764l1 2 1-2V4a1 1 0 0 0-1-1ZM5 8a1 1 0 0 1 1-1h3a1 1 0 1 1 0 2H6a1 1 0 0 1-1-1Zm0 4a1 1 0 0 1 1-1h3a1 1 0 1 1 0 2H6a1 1 0 0 1-1-1Zm0 4a1 1 0 0 1 1-1h3a1 1 0 1 1 0 2H6a1 1 0 0 1-1-1Z\",\"<path d='M22 1a3 3 0 0 0-3 3v15c0 .127.024.253.072.372l2 5a1 1 0 0 0 1.857 0l2-5c.047-.119.071-.245.071-.372V5h1a1 1 0 0 1 1 1v20a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h10.5a1 1 0 1 0 0-2H6a3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3h-1c-.057 0-.112.005-.166.014A3.001 3.001 0 0 0 22 1Zm-1 3a1 1 0 0 1 2 0v14.808l-1 2.5-1-2.5V4Z'></path><path d='M7 10a1 1 0 0 1 1-1h8.5a1 1 0 1 1 0 2H8a1 1 0 0 1-1-1Zm0 4a1 1 0 0 1 1-1h8.5a1 1 0 1 1 0 2H8a1 1 0 0 1-1-1Zm0 4a1 1 0 0 1 1-1h8.5a1 1 0 1 1 0 2H8a1 1 0 0 1-1-1Zm0 4a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2H8a1 1 0 0 1-1-1Z'></path>\"],[\"<path d='M6 1.5A1.5 1.5 0 0 1 7.5 0c.639 0 1.253.366 1.442 1H9.5A1.5 1.5 0 0 1 11 2.5v7A1.5 1.5 0 0 1 9.5 11h-8A1.5 1.5 0 0 1 0 9.5v-7A1.5 1.5 0 0 1 1.5 1h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5H9v5a.5.5 0 0 1-.084.277l-1 1.5a.5.5 0 0 1-.833 0l-1-1.5A.5.5 0 0 1 6 6.999V1.5Zm2-.085v5.433l-.5.75-.5-.75V1.5a.5.5 0 0 1 .5-.5c.337 0 .5.196.5.415Z'></path><path d='M2.5 3a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Zm0 2a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Zm0 2a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Z'></path>\",\"M9 2.5A1.5 1.5 0 0 1 10.5 1c.639 0 1.253.366 1.441 1h.559A1.5 1.5 0 0 1 14 3.5v9a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 1 12.5v-9A1.5 1.5 0 0 1 2.5 2h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5H12v6.5a.5.5 0 0 1-.053.224l-1 2a.5.5 0 0 1-.895 0l-1-2A.5.5 0 0 1 9 9.498l.002-7Zm1.5-.5a.5.5 0 0 0-.5.5v6.88l.5 1 .5-1V2.416c0-.22-.163-.415-.5-.415ZM3 5.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Z\",\"M12 4a3 3 0 0 1 5.834-.986A.915.915 0 0 1 18 3h1a3 3 0 0 1 3 3v13a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h4a1 1 0 1 1 0 2H5a1 1 0 0 0-1 1v13a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-1v9a1 1 0 0 1-.106.447l-2 4a1 1 0 0 1-1.788 0l-2-4A1 1 0 0 1 12 14V4Zm3-1a1 1 0 0 0-1 1v9.764l1 2 1-2V4a1 1 0 0 0-1-1ZM5 8a1 1 0 0 1 1-1h3a1 1 0 1 1 0 2H6a1 1 0 0 1-1-1Zm0 4a1 1 0 0 1 1-1h3a1 1 0 1 1 0 2H6a1 1 0 0 1-1-1Zm0 4a1 1 0 0 1 1-1h3a1 1 0 1 1 0 2H6a1 1 0 0 1-1-1Z\",\"<path d='M22 1a3 3 0 0 0-3 3v15c0 .127.024.253.072.372l2 5a1 1 0 0 0 1.857 0l2-5c.047-.119.071-.245.071-.372V5h1a1 1 0 0 1 1 1v20a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h10.5a1 1 0 1 0 0-2H6a3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3h-1c-.057 0-.112.005-.166.014A3.001 3.001 0 0 0 22 1Zm-1 3a1 1 0 0 1 2 0v14.808l-1 2.5-1-2.5V4Z'></path><path d='M7 10a1 1 0 0 1 1-1h8.5a1 1 0 1 1 0 2H8a1 1 0 0 1-1-1Zm0 4a1 1 0 0 1 1-1h8.5a1 1 0 1 1 0 2H8a1 1 0 0 1-1-1Zm0 4a1 1 0 0 1 1-1h8.5a1 1 0 1 1 0 2H8a1 1 0 0 1-1-1Zm0 4a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2H8a1 1 0 0 1-1-1Z'></path>\"]];","export default [[\"<path d='M3.905 2.327a1.491 1.491 0 0 1 2.816-.503l.45.9-.895.447-.45-.9a.491.491 0 0 0-.927.166L4.725 4H6v1H4.614l-.52 4.673a1.491 1.491 0 0 1-2.815.503l-.45-.9.895-.447.45.9a.491.491 0 0 0 .927-.166L3.608 5H2V4h1.72l.185-1.673Z'></path><path d='m11.207 5.5-.707-.707-1.863 1.863-.511-1.023a1.146 1.146 0 0 0-1.835-.297l-.498.497.707.707.498-.497a.146.146 0 0 1 .233.038l.66 1.32L5.794 9.5l.707.707 1.863-1.863.511 1.023a1.146 1.146 0 0 0 1.835.297l.498-.497-.707-.707-.498.497a.146.146 0 0 1-.233-.038l-.66-1.32L11.206 5.5Z'></path>\",\"<path d='M4.896 2.84A1.992 1.992 0 0 1 8.29 1.583l.916.916-.707.707-.916-.916a.992.992 0 0 0-1.691.625L5.733 5H8v1H5.655l-.55 7.16a1.992 1.992 0 0 1-3.396 1.256L.793 13.5l.707-.707.916.916a.992.992 0 0 0 1.691-.625L4.652 6H2V5h2.73l.165-2.16Z'></path><path d='m14.207 7.5-.707-.707-2.863 2.863-.922-1.844a1.469 1.469 0 0 0-2.352-.382l-.57.57.707.707.57-.57a.469.469 0 0 1 .75.122l1.072 2.142-3.1 3.099.708.707 2.863-2.863.922 1.844a1.469 1.469 0 0 0 2.352.382l.57-.57-.707-.707-.57.57a.469.469 0 0 1-.75-.122l-1.072-2.142 3.1-3.099Z'></path>\",\"<path d='M8.765 5.062a3.442 3.442 0 0 1 5.486-2.374L16.4 4.3l-1.2 1.6-2.149-1.612a1.442 1.442 0 0 0-2.299.995L10.451 8H14v2h-3.772l-.994 8.95a3.429 3.429 0 0 1-5.498 2.339l-2.138-1.645 1.22-1.585 2.137 1.645a1.429 1.429 0 0 0 2.291-.975L8.216 10H5V8h3.438l.327-2.938Z'></path><path d='M22.414 12 21 10.586l-3.671 3.67-.795-1.816a2.404 2.404 0 0 0-3.902-.736l-1.046 1.046L13 14.164l1.046-1.046a.404.404 0 0 1 .656.124l1.108 2.533L11.586 20 13 21.414l3.671-3.67.795 1.816a2.404 2.404 0 0 0 3.902.736l1.046-1.046L21 17.836l-1.046 1.046a.404.404 0 0 1-.656-.124l-1.108-2.534L22.414 12Z'></path>\",\"<path d='M9.753 6.177a4.524 4.524 0 0 1 7.337-3.186l2.316 1.853-1.25 1.562-2.315-1.853a2.524 2.524 0 0 0-4.094 1.778L11.464 10H16v2h-4.69l-1.089 14.163a4.156 4.156 0 0 1-7.468 2.175L1.6 26.8l1.6-1.2 1.153 1.538a2.156 2.156 0 0 0 3.874-1.128L9.305 12H5v-2h4.459l.294-3.823Z'></path><path d='M28.414 15 27 13.586l-5.726 5.726-1.844-3.688a2.938 2.938 0 0 0-4.705-.764L13.585 16 15 17.414l1.14-1.14a.938.938 0 0 1 1.501.244l2.142 4.284L13.586 27 15 28.414l5.726-5.726 1.844 3.688a2.937 2.937 0 0 0 4.705.764l1.14-1.14L27 24.586l-1.14 1.14a.938.938 0 0 1-1.501-.244l-2.142-4.284L28.414 15Z'></path>\"]];","export default [[\"M4 1.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 1 0v-.793l2.146 2.147a.5.5 0 1 0 .708-.708L2.707 2H3.5a.5.5 0 0 0 .5-.5ZM8.5 1a.5.5 0 0 0 0 1h.793L7.146 4.146a.5.5 0 1 0 .708.708L10 2.707V3.5a.5.5 0 0 0 1 0v-2a.5.5 0 0 0-.5-.5h-2ZM4 10.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 1 0v.793l2.146-2.147a.5.5 0 1 1 .708.708L2.707 10H3.5a.5.5 0 0 1 .5.5Zm4 0a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-1 0v.793L7.854 7.146a.5.5 0 1 0-.708.708L9.293 10H8.5a.5.5 0 0 0-.5.5Z\",\"M5 1.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 1 0V2.707l4.146 4.147a.5.5 0 1 0 .708-.708L2.707 2H4.5a.5.5 0 0 0 .5-.5Zm6.5-.5a.5.5 0 0 0 0 1h1.793L9.146 6.146a.5.5 0 1 0 .708.708L14 2.707V4.5a.5.5 0 0 0 1 0v-3a.5.5 0 0 0-.5-.5h-3ZM11 14.5a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-1 0v1.793L9.854 9.146a.5.5 0 1 0-.708.708L13.293 14H11.5a.5.5 0 0 0-.5.5Zm-6 0a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 1 0v1.793l4.146-4.147a.5.5 0 1 1 .708.708L2.707 14H4.5a.5.5 0 0 1 .5.5Z\",\"M7 2a1 1 0 0 1 0 2H5.414l4.293 4.293a1 1 0 0 1-1.414 1.414L4 5.414V7a1 1 0 0 1-2 0V3a1 1 0 0 1 1-1h4Zm10 0a1 1 0 1 0 0 2h1.586l-4.293 4.293a1 1 0 0 0 1.414 1.414L20 5.414V7a1 1 0 1 0 2 0V3a1 1 0 0 0-1-1h-4Zm3 16.586V17a1 1 0 1 1 2 0v4a1 1 0 0 1-1 1h-4a1 1 0 1 1 0-2h1.586l-4.293-4.293a1 1 0 0 1 1.414-1.414L20 18.586Zm-16 0V17a1 1 0 1 0-2 0v4a1 1 0 0 0 1 1h4a1 1 0 1 0 0-2H5.414l4.293-4.293a1 1 0 0 0-1.414-1.414L4 18.586Z\",\"M11 4a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v6a1 1 0 1 0 2 0V6.414l7.293 7.293a1 1 0 0 0 1.414-1.414L6.414 5H10a1 1 0 0 0 1-1Zm11-1a1 1 0 1 0 0 2h3.586l-7.293 7.293a1 1 0 0 0 1.414 1.414L27 6.414V10a1 1 0 1 0 2 0V4a1 1 0 0 0-1-1h-6ZM11 28a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-6a1 1 0 1 1 2 0v3.586l7.293-7.293a1 1 0 0 1 1.414 1.414L6.414 27H10a1 1 0 0 1 1 1Zm10 0a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 1 0-2 0v3.586l-7.293-7.293a1 1 0 0 0-1.414 1.414L25.586 27H22a1 1 0 0 0-1 1Z\"]];","export default [[\"M4 .5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v.756a4.496 4.496 0 0 1 1.424.824l.656-.38a.5.5 0 0 1 .683.183l1 1.732a.5.5 0 0 1-.183.683l-.655.378a4.523 4.523 0 0 1 0 1.646l.655.378a.5.5 0 0 1 .183.683l-1 1.732a.5.5 0 0 1-.683.183l-.656-.379A4.496 4.496 0 0 1 7 9.744v.756a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-.756a4.496 4.496 0 0 1-1.424-.824l-.656.38a.5.5 0 0 1-.683-.184l-1-1.732a.5.5 0 0 1 .183-.683l.655-.378a4.522 4.522 0 0 1 0-1.646L.42 4.3a.5.5 0 0 1-.183-.683l1-1.732a.5.5 0 0 1 .683-.183l.656.379A4.496 4.496 0 0 1 4 1.256V.5Zm-1 5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z\",\"M6 1.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v.842a5.974 5.974 0 0 1 1.89 1.09l.846-.527a.5.5 0 0 1 .697.175l1.5 2.598a.5.5 0 0 1-.17.675l-.865.538a6.027 6.027 0 0 1 0 2.218l.866.538a.5.5 0 0 1 .169.675l-1.5 2.598a.5.5 0 0 1-.697.175l-.847-.526c-.552.47-1.19.842-1.889 1.09v.841a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-.841a5.995 5.995 0 0 1-1.89-1.09l-.846.526a.5.5 0 0 1-.697-.175l-1.5-2.598a.5.5 0 0 1 .17-.675l.865-.538a6.03 6.03 0 0 1-.005-2.188l-.827-.428a.5.5 0 0 1-.203-.694l1.5-2.598a.5.5 0 0 1 .663-.194l.858.444A5.995 5.995 0 0 1 6 2.34V1.5ZM5 8a3 3 0 1 1 6 0 3 3 0 0 1-6 0Z\",\"M9 3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v1.582l.124.051 1.119-1.118a1 1 0 0 1 1.414 0l2.828 2.828a1 1 0 0 1 0 1.414l-1.118 1.119.051.124H21a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-1.582a8.988 8.988 0 0 1-.051.124l1.118 1.119a1 1 0 0 1 0 1.414l-2.828 2.828a1 1 0 0 1-1.414 0l-1.119-1.118a7.524 7.524 0 0 1-.124.051V21a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-1.582a8.681 8.681 0 0 1-.124-.051l-1.119 1.118a1 1 0 0 1-1.414 0l-2.828-2.828a1 1 0 0 1 0-1.414l1.118-1.119A7.804 7.804 0 0 1 4.582 15H3a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h1.582l.051-.124-1.118-1.119a1 1 0 0 1 0-1.414l2.828-2.828a1 1 0 0 1 1.414 0l1.119 1.118A7.89 7.89 0 0 1 9 4.582V3Zm7 9a4 4 0 1 1-8 0 4 4 0 0 1 8 0Z\",\"M12 4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v.657l.006.01a.114.114 0 0 0 .052.037c.362.13.715.277 1.06.44a.113.113 0 0 0 .063.01.038.038 0 0 0 .01-.003l.466-.465a2 2 0 0 1 2.828 0l2.829 2.829a2 2 0 0 1 0 2.828l-.465.465-.002.003a.052.052 0 0 0-.001.008.113.113 0 0 0 .01.063c.163.345.31.698.44 1.06.01.026.025.043.037.052a.04.04 0 0 0 .01.006H28a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-.657l-.01.006a.114.114 0 0 0-.037.052c-.13.362-.277.715-.44 1.06a.113.113 0 0 0-.01.068v.001l.003.005.465.465a2 2 0 0 1 0 2.828l-2.829 2.829a2 2 0 0 1-2.828 0l-.465-.465-.005-.002a.113.113 0 0 0-.07.01c-.344.162-.697.31-1.059.44a.114.114 0 0 0-.052.036.04.04 0 0 0-.006.01V28a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-.657a.04.04 0 0 0-.006-.01.114.114 0 0 0-.052-.037 11.94 11.94 0 0 1-1.06-.44.113.113 0 0 0-.063-.01.052.052 0 0 0-.01.003l-.466.465a2 2 0 0 1-2.828 0l-2.829-2.829a2 2 0 0 1 0-2.828l.465-.465.003-.011a.113.113 0 0 0-.01-.063c-.163-.345-.31-.698-.44-1.06a.114.114 0 0 0-.037-.052.04.04 0 0 0-.01-.006H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h.657l.01-.006a.114.114 0 0 0 .037-.052c.13-.362.277-.715.44-1.06a.113.113 0 0 0 .01-.063.041.041 0 0 0-.002-.01l-.466-.466a2 2 0 0 1 0-2.828l2.829-2.829a2 2 0 0 1 2.828 0l.465.465.011.003a.11.11 0 0 0 .063-.01c.345-.163.698-.31 1.06-.44a.114.114 0 0 0 .052-.037.04.04 0 0 0 .006-.01V4Zm10 12a6 6 0 1 1-12 0 6 6 0 0 1 12 0Z\"],[\"<path d='M5.5 3a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5ZM4 5.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Z'></path><path d='M4.5 0a.5.5 0 0 0-.5.5v.756a4.496 4.496 0 0 0-1.424.824L1.92 1.7a.5.5 0 0 0-.683.183l-1 1.732A.5.5 0 0 0 .42 4.3l.655.378a4.522 4.522 0 0 0 0 1.646L.42 6.7a.5.5 0 0 0-.183.683l1 1.732a.5.5 0 0 0 .683.183l.656-.379c.416.356.897.638 1.424.824v.756a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-.756a4.496 4.496 0 0 0 1.424-.824l.656.38a.5.5 0 0 0 .683-.184l1-1.732a.5.5 0 0 0-.183-.683l-.655-.378a4.522 4.522 0 0 0 0-1.646l.655-.378a.5.5 0 0 0 .183-.683l-1-1.732A.5.5 0 0 0 9.08 1.7l-.656.379A4.496 4.496 0 0 0 7 1.256V.5a.5.5 0 0 0-.5-.5h-2ZM5 1.626V1h1v.626a.5.5 0 0 0 .375.484c.625.161 1.183.49 1.623.938a.5.5 0 0 0 .606.083l.543-.314.5.866-.542.313a.5.5 0 0 0-.232.567 3.504 3.504 0 0 1 0 1.874.5.5 0 0 0 .232.567l.542.313-.5.866-.543-.313a.5.5 0 0 0-.607.082 3.482 3.482 0 0 1-1.622.938.5.5 0 0 0-.375.484V10H5v-.626a.5.5 0 0 0-.375-.484 3.496 3.496 0 0 1-1.622-.938.5.5 0 0 0-.607-.082l-.543.313-.5-.866.542-.313a.5.5 0 0 0 .232-.567 3.504 3.504 0 0 1 0-1.874.5.5 0 0 0-.232-.567l-.542-.313.5-.866.543.314a.5.5 0 0 0 .607-.083C3.443 2.6 4 2.27 4.625 2.11A.5.5 0 0 0 5 1.626Z'></path>\",\"M6 1.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v.842a5.974 5.974 0 0 1 1.89 1.09l.846-.527a.5.5 0 0 1 .697.175l1.5 2.598a.5.5 0 0 1-.17.675l-.865.538a6.027 6.027 0 0 1 0 2.218l.866.538a.5.5 0 0 1 .169.675l-1.5 2.598a.5.5 0 0 1-.697.175l-.847-.526c-.552.47-1.19.842-1.889 1.09v.841a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-.841a5.995 5.995 0 0 1-1.89-1.09l-.846.526a.5.5 0 0 1-.697-.175l-1.5-2.598a.5.5 0 0 1 .17-.675l.865-.538a6.03 6.03 0 0 1-.005-2.188l-.827-.428a.5.5 0 0 1-.203-.694l1.5-2.598a.5.5 0 0 1 .663-.194l.858.444A5.995 5.995 0 0 1 6 2.34V1.5ZM7 2v.707a.5.5 0 0 1-.364.481 4.994 4.994 0 0 0-2.12 1.226.5.5 0 0 1-.578.085l-.744-.385-1 1.732.702.363a.5.5 0 0 1 .255.566 5.012 5.012 0 0 0 0 2.45.5.5 0 0 1-.22.547l-.756.469 1 1.732.729-.453a.5.5 0 0 1 .612.066c.587.57 1.312.997 2.12 1.226a.5.5 0 0 1 .364.481V14h2v-.707a.5.5 0 0 1 .364-.481 4.995 4.995 0 0 0 2.12-1.226.5.5 0 0 1 .612-.066l.73.453.999-1.732-.755-.469a.5.5 0 0 1-.221-.547 5.011 5.011 0 0 0 0-2.45.5.5 0 0 1 .22-.547l.756-.47-1-1.73-.729.452a.5.5 0 0 1-.612-.066 4.994 4.994 0 0 0-2.12-1.226A.5.5 0 0 1 9 2.707V2H7Zm1 4a2 2 0 1 0 0 4 2 2 0 0 0 0-4ZM5 8a3 3 0 1 1 6 0 3 3 0 0 1-6 0Z\",\"<path d='M16 12a4 4 0 1 1-8 0 4 4 0 0 1 8 0Zm-2 0a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z'></path><path d='M10 2a1 1 0 0 0-1 1v1.582a7.89 7.89 0 0 0-.124.051L7.757 3.515a1 1 0 0 0-1.414 0L3.515 6.343a1 1 0 0 0 0 1.414l1.118 1.119A7.994 7.994 0 0 0 4.582 9H3a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h1.582l.051.124-1.118 1.119a1 1 0 0 0 0 1.414l2.828 2.828a1 1 0 0 0 1.414 0l1.119-1.118.124.051V21a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-1.582l.124-.051 1.119 1.118a1 1 0 0 0 1.414 0l2.828-2.828a1 1 0 0 0 0-1.414l-1.118-1.119.051-.124H21a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-1.582a8.681 8.681 0 0 0-.051-.124l1.118-1.119a1 1 0 0 0 0-1.414l-2.828-2.828a1 1 0 0 0-1.414 0l-1.119 1.118A7.804 7.804 0 0 0 15 4.582V3a1 1 0 0 0-1-1h-4Zm1 3.29V4h2v1.29a1 1 0 0 0 .715.958c.398.119.78.278 1.139.473a1 1 0 0 0 1.183-.172l.913-.913 1.414 1.414-.913.913a1 1 0 0 0-.172 1.183c.195.36.354.74.473 1.14a1 1 0 0 0 .958.714H20v2h-1.29a1 1 0 0 0-.958.715 5.97 5.97 0 0 1-.473 1.139 1 1 0 0 0 .172 1.183l.913.913-1.414 1.414-.913-.913a1 1 0 0 0-1.183-.172 5.96 5.96 0 0 1-1.14.473 1 1 0 0 0-.714.958V20h-2v-1.29a1 1 0 0 0-.715-.958 5.96 5.96 0 0 1-1.139-.473 1 1 0 0 0-1.183.172l-.913.913-1.414-1.414.913-.913a1 1 0 0 0 .172-1.183 5.955 5.955 0 0 1-.473-1.14A1 1 0 0 0 5.29 13H4v-2h1.29a1 1 0 0 0 .958-.715 5.97 5.97 0 0 1 .473-1.139 1 1 0 0 0-.173-1.183l-.912-.913L7.05 5.636l.913.912a1 1 0 0 0 1.183.173c.36-.195.74-.354 1.14-.473A1 1 0 0 0 11 5.29Z'></path>\",\"<path d='M22 16a6 6 0 1 1-12 0 6 6 0 0 1 12 0Zm-2 0a4 4 0 1 1-8 0 4 4 0 0 1 8 0Z'></path><path d='M14 2a2 2 0 0 0-2 2v.657l-.006.01a.114.114 0 0 1-.052.037c-.362.13-.715.277-1.06.44a.113.113 0 0 1-.063.01.038.038 0 0 1-.01-.003l-.466-.465a2 2 0 0 0-2.828 0L4.686 7.515a2 2 0 0 0 0 2.828l.466.465.002.011a.113.113 0 0 1-.01.063c-.163.345-.31.698-.44 1.06a.114.114 0 0 1-.037.052.04.04 0 0 1-.01.006H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h.657l.01.006a.114.114 0 0 1 .037.052c.13.362.277.715.44 1.06a.113.113 0 0 1 .01.063.038.038 0 0 1-.003.01l-.465.466a2 2 0 0 0 0 2.828l2.829 2.829a2 2 0 0 0 2.828 0l.465-.465.011-.003a.113.113 0 0 1 .063.01c.345.163.698.31 1.06.44.026.01.043.025.052.037a.04.04 0 0 1 .006.01V28a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-.657l.006-.01a.114.114 0 0 1 .052-.037c.362-.13.715-.277 1.06-.44a.113.113 0 0 1 .063-.01c.006 0 .01.002.01.003l.466.465a2 2 0 0 0 2.828 0l2.829-2.829a2 2 0 0 0 0-2.828l-.465-.465-.002-.005-.001-.006a.113.113 0 0 1 .01-.063c.163-.345.31-.698.44-1.06a.114.114 0 0 1 .037-.052.04.04 0 0 1 .01-.006H28a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-.657a.04.04 0 0 1-.01-.006.114.114 0 0 1-.037-.052 11.94 11.94 0 0 0-.44-1.06.113.113 0 0 1-.01-.063.052.052 0 0 1 .003-.01l.465-.466a2 2 0 0 0 0-2.828l-2.829-2.829a2 2 0 0 0-2.828 0l-.465.465-.011.003a.113.113 0 0 1-.063-.01c-.345-.163-.698-.31-1.06-.44a.114.114 0 0 1-.052-.037.041.041 0 0 1-.006-.01V4a2 2 0 0 0-2-2h-4Zm0 2h4v.658c0 .908.602 1.648 1.382 1.928.3.108.595.23.882.366.75.354 1.699.257 2.342-.386l.465-.466L25.9 8.93l-.465.465c-.643.643-.74 1.592-.386 2.342.136.287.258.581.366.882.28.78 1.02 1.382 1.928 1.382H28v4h-.658c-.909 0-1.648.602-1.928 1.382-.108.3-.23.595-.366.882-.354.75-.257 1.699.386 2.342l.465.465-2.828 2.828-.465-.465c-.643-.643-1.592-.74-2.342-.386a9.913 9.913 0 0 1-.882.366c-.78.28-1.382 1.02-1.382 1.928V28h-4v-.658c0-.909-.602-1.648-1.382-1.928a9.86 9.86 0 0 1-.882-.366c-.75-.354-1.699-.257-2.342.386l-.465.465L6.1 23.072l.466-.465c.643-.643.74-1.592.386-2.342a9.928 9.928 0 0 1-.366-.882C6.306 18.602 5.566 18 4.658 18H4v-4h.658c.908 0 1.648-.602 1.928-1.382.108-.3.23-.595.366-.882.354-.75.257-1.699-.386-2.342l-.465-.465L8.929 6.1l.465.466c.643.643 1.592.74 2.342.386a9.74 9.74 0 0 1 .882-.366c.78-.28 1.382-1.02 1.382-1.928V4Z'></path>\"]];","export default [[\"<path d='M4 .5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v.756a4.496 4.496 0 0 1 1.424.824l.656-.38a.5.5 0 0 1 .683.183l1 1.732a.5.5 0 0 1-.183.683l-.655.378a4.522 4.522 0 0 1 0 1.646l.655.378a.5.5 0 0 1 .2.651A2.5 2.5 0 0 0 7 9.5v1a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-.756a4.496 4.496 0 0 1-1.424-.824l-.656.38a.5.5 0 0 1-.683-.184l-1-1.732a.5.5 0 0 1 .183-.683l.655-.378a4.522 4.522 0 0 1 0-1.646L.42 4.3a.5.5 0 0 1-.183-.683l1-1.732a.5.5 0 0 1 .683-.183l.656.379A4.496 4.496 0 0 1 4 1.256V.5Zm-1 5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path><path d='M9.5 11a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z'></path>\",\"<path d='M6.5 1a.5.5 0 0 0-.5.5v.842c-.708.25-1.355.63-1.912 1.109l-.858-.444a.5.5 0 0 0-.663.194l-1.5 2.598a.5.5 0 0 0 .203.694l.827.428a6.032 6.032 0 0 0 .005 2.188l-.866.538a.5.5 0 0 0-.169.675l1.5 2.598a.5.5 0 0 0 .697.175l.847-.526c.552.47 1.19.842 1.889 1.09v.841a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-.842c.136-.048.27-.1.401-.158a3 3 0 0 1 3.592-4.332l-.095-.059a6.027 6.027 0 0 0 0-2.218l.866-.538a.5.5 0 0 0 .169-.675l-1.5-2.598a.5.5 0 0 0-.697-.175l-.847.526A5.993 5.993 0 0 0 10 2.341V1.5a.5.5 0 0 0-.5-.5h-3ZM8 5a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z'></path><circle cx='13' cy='12' r='2'></circle>\",\"<path d='M9 3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v1.582l.124.051 1.119-1.118a1 1 0 0 1 1.414 0l2.828 2.828a1 1 0 0 1 0 1.414l-1.118 1.119.051.124H21a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-.354A4 4 0 0 0 15 20.646V21a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-1.582a8.681 8.681 0 0 1-.124-.051l-1.119 1.118a1 1 0 0 1-1.414 0l-2.828-2.828a1 1 0 0 1 0-1.414l1.118-1.119A7.804 7.804 0 0 1 4.582 15H3a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h1.582l.051-.124-1.118-1.119a1 1 0 0 1 0-1.414l2.828-2.828a1 1 0 0 1 1.414 0l1.119 1.118A7.89 7.89 0 0 1 9 4.582V3Zm7 9a4 4 0 1 1-8 0 4 4 0 0 1 8 0Z'></path><path d='M18 20a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z'></path>\",\"<path d='M12 4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v.657l.006.01a.114.114 0 0 0 .052.037c.362.13.715.277 1.06.44a.113.113 0 0 0 .063.01.046.046 0 0 0 .01-.003l.466-.465a2 2 0 0 1 2.828 0l2.829 2.829a2 2 0 0 1 0 2.828l-.465.465-.002.003v.003l-.001.005a.113.113 0 0 0 .01.063c.163.345.31.698.44 1.06.01.026.025.043.037.052l.01.006H28a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2 5 5 0 0 0-7.05 6.934c-.29.132-.588.253-.892.362a.114.114 0 0 0-.052.037.047.047 0 0 0-.006.01V28a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-.657l-.006-.01a.114.114 0 0 0-.052-.037 11.94 11.94 0 0 1-1.06-.44.113.113 0 0 0-.063-.01l-.008.001-.003.002-.465.465a2 2 0 0 1-2.828 0l-2.829-2.829a2 2 0 0 1 0-2.828l.465-.465.003-.011a.113.113 0 0 0-.01-.063c-.163-.345-.31-.698-.44-1.06a.114.114 0 0 0-.037-.052L4.657 20H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h.657l.01-.006a.114.114 0 0 0 .037-.052c.13-.362.277-.715.44-1.06a.113.113 0 0 0 .01-.063c0-.006-.002-.01-.002-.01l-.466-.466a2 2 0 0 1 0-2.828l2.829-2.829a2 2 0 0 1 2.828 0l.465.465.011.003a.11.11 0 0 0 .063-.01c.345-.163.698-.31 1.06-.44a.114.114 0 0 0 .052-.037l.006-.01V4Zm10 12a6 6 0 1 1-12 0 6 6 0 0 1 12 0Z'></path><path d='M25 27a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z'></path>\"],[\"<path d='M4.5 0a.5.5 0 0 0-.5.5v.756a4.496 4.496 0 0 0-1.424.824L1.92 1.7a.5.5 0 0 0-.683.183l-1 1.732A.5.5 0 0 0 .42 4.3l.655.378a4.523 4.523 0 0 0 0 1.646L.42 6.7a.5.5 0 0 0-.183.683l1 1.732a.5.5 0 0 0 .683.183l.656-.379c.415.356.897.638 1.424.824v.756a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1c0-.328.063-.64.178-.928a3.44 3.44 0 0 1-.803.318.5.5 0 0 0-.375.485V10H5v-.626a.5.5 0 0 0-.375-.484 3.496 3.496 0 0 1-1.622-.938.5.5 0 0 0-.607-.082l-.543.313-.5-.866.542-.313a.5.5 0 0 0 .232-.567 3.504 3.504 0 0 1 0-1.874.5.5 0 0 0-.232-.567l-.542-.313.5-.866.543.314a.5.5 0 0 0 .607-.083 3.482 3.482 0 0 1 1.622-.938A.5.5 0 0 0 5 1.626V1h1v.626a.5.5 0 0 0 .375.484 3.49 3.49 0 0 1 1.622.938.5.5 0 0 0 .607.083l.543-.314.5.866-.542.313a.5.5 0 0 0-.232.567 3.504 3.504 0 0 1 0 1.874.5.5 0 0 0 .232.567l.037.021a2.521 2.521 0 0 1 1.638.327.5.5 0 0 0-.2-.651l-.655-.378a4.522 4.522 0 0 0 0-1.646l.655-.378a.5.5 0 0 0 .183-.683l-1-1.732a.5.5 0 0 0-.683-.183l-.656.379A4.496 4.496 0 0 0 7 1.256V.5a.5.5 0 0 0-.5-.5h-2Z'></path><path d='M5.5 3a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5ZM4 5.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM9.5 11a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z'></path>\",\"<path d='M6 1.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v.842a5.974 5.974 0 0 1 1.89 1.09l.846-.527a.5.5 0 0 1 .697.175l1.5 2.598a.5.5 0 0 1-.17.675l-.865.538a6.027 6.027 0 0 1 0 2.218l.095.06a2.996 2.996 0 0 0-1.093-.167 5.025 5.025 0 0 0-.051-2.227.5.5 0 0 1 .22-.547l.756-.47-1-1.73-.729.452a.5.5 0 0 1-.612-.066 4.994 4.994 0 0 0-2.12-1.226A.5.5 0 0 1 9 2.707V2H7v.707a.5.5 0 0 1-.364.481 4.994 4.994 0 0 0-2.12 1.226.5.5 0 0 1-.578.085l-.744-.385-1 1.732.702.363a.5.5 0 0 1 .255.566 5.011 5.011 0 0 0 0 2.45.5.5 0 0 1-.22.547l-.756.469 1 1.732.729-.453a.5.5 0 0 1 .612.066c.587.57 1.312.997 2.12 1.226a.5.5 0 0 1 .364.481V14h2v-.707a.5.5 0 0 1 .364-.481c.237-.067.467-.151.688-.251.064.336.184.652.35.939a5.93 5.93 0 0 1-.402.158v.842a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-.841a5.995 5.995 0 0 1-1.89-1.09l-.846.526a.5.5 0 0 1-.697-.175l-1.5-2.598a.5.5 0 0 1 .17-.675l.865-.538a6.03 6.03 0 0 1-.005-2.188l-.827-.428a.5.5 0 0 1-.203-.694l1.5-2.598a.5.5 0 0 1 .663-.194l.858.444A5.995 5.995 0 0 1 6 2.34V1.5Z'></path><path d='M5 8a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm3-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm5 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z'></path>\",\"<path d='M9 3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v1.582l.124.051 1.119-1.118a1 1 0 0 1 1.414 0l2.828 2.828a1 1 0 0 1 0 1.414l-1.118 1.119.051.124H21a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-.354a3.985 3.985 0 0 0-2.992-.985c.035-.1.068-.2.098-.3A1 1 0 0 1 18.71 13H20v-2h-1.29a1 1 0 0 1-.958-.715 5.96 5.96 0 0 0-.473-1.139 1 1 0 0 1 .172-1.183l.913-.913-1.414-1.414-.913.913a1 1 0 0 1-1.183.172 5.957 5.957 0 0 0-1.14-.473A1 1 0 0 1 13 5.29V4h-2v1.29a1 1 0 0 1-.715.958 5.97 5.97 0 0 0-1.139.473 1 1 0 0 1-1.183-.173l-.913-.912L5.636 7.05l.912.913a1 1 0 0 1 .173 1.183c-.195.36-.354.74-.473 1.14A1 1 0 0 1 5.29 11H4v2h1.29a1 1 0 0 1 .958.715c.119.398.278.78.473 1.139a1 1 0 0 1-.172 1.183l-.913.913 1.414 1.414.913-.913a1 1 0 0 1 1.183-.172c.36.195.74.354 1.14.473a1 1 0 0 1 .714.958V20h2v-1.29a1 1 0 0 1 .715-.958c.1-.03.2-.063.3-.098A3.985 3.985 0 0 0 15 20.646V21a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-1.582a8.681 8.681 0 0 1-.124-.051l-1.119 1.118a1 1 0 0 1-1.414 0l-2.828-2.828a1 1 0 0 1 0-1.414l1.118-1.119A7.804 7.804 0 0 1 4.582 15H3a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h1.582l.051-.124-1.118-1.119a1 1 0 0 1 0-1.414l2.828-2.828a1 1 0 0 1 1.414 0l1.119 1.118A7.89 7.89 0 0 1 9 4.582V3Z'></path><path d='M12 16a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm0-2a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm8 4a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z'></path>\",\"<path d='M16 20a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm0 2a6 6 0 1 0 0-12 6 6 0 0 0 0 12Z'></path><path d='M14 2a2 2 0 0 0-2 2v.657l-.006.01a.114.114 0 0 1-.052.037c-.362.13-.715.277-1.06.44a.113.113 0 0 1-.063.01.038.038 0 0 1-.01-.003l-.466-.465a2 2 0 0 0-2.828 0L4.686 7.515a2 2 0 0 0 0 2.828l.466.465.002.011a.113.113 0 0 1-.01.063c-.163.345-.31.698-.44 1.06a.114.114 0 0 1-.037.052.04.04 0 0 1-.01.006H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h.657l.01.006a.114.114 0 0 1 .037.052c.13.362.277.715.44 1.06a.113.113 0 0 1 .01.063.038.038 0 0 1-.003.01l-.465.466a2 2 0 0 0 0 2.828l2.829 2.829a2 2 0 0 0 2.828 0l.465-.465.011-.003a.113.113 0 0 1 .063.01c.345.163.698.31 1.06.44.026.01.043.025.052.037a.04.04 0 0 1 .006.01V28a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-.657l.006-.01a.114.114 0 0 1 .052-.037c.304-.109.601-.23.893-.362a4.978 4.978 0 0 1-.827-1.821c-.242.11-.49.21-.742.3-.78.281-1.382 1.02-1.382 1.93V28h-4v-.658c0-.909-.602-1.648-1.382-1.928a9.86 9.86 0 0 1-.882-.366c-.75-.354-1.699-.257-2.342.386l-.465.465L6.1 23.072l.466-.465c.643-.643.74-1.592.386-2.342a9.928 9.928 0 0 1-.366-.882C6.306 18.602 5.566 18 4.658 18H4v-4h.658c.908 0 1.648-.602 1.928-1.382.108-.3.23-.595.366-.882.354-.75.257-1.699-.386-2.342l-.465-.465L8.929 6.1l.465.466c.643.643 1.592.74 2.342.386a9.74 9.74 0 0 1 .882-.366c.78-.28 1.382-1.02 1.382-1.928V4h4v.658c0 .908.602 1.648 1.382 1.928.3.108.595.23.882.366.75.354 1.699.257 2.342-.386l.465-.466L25.9 8.93l-.465.465c-.643.643-.74 1.592-.386 2.342.136.287.258.581.366.882.28.78 1.02 1.382 1.928 1.382H28v4h-.658c-.767 0-1.414.43-1.765 1.033A4.975 4.975 0 0 1 28 20a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-.657a.04.04 0 0 1-.01-.006.114.114 0 0 1-.037-.052 11.94 11.94 0 0 0-.44-1.06.113.113 0 0 1-.01-.063.052.052 0 0 1 .003-.01l.465-.466a2 2 0 0 0 0-2.828l-2.829-2.829a2 2 0 0 0-2.828 0l-.465.465-.011.003a.113.113 0 0 1-.063-.01c-.345-.163-.698-.31-1.06-.44a.114.114 0 0 1-.052-.037.041.041 0 0 1-.006-.01V4a2 2 0 0 0-2-2h-4Z'></path><circle cx='25' cy='24' r='3'></circle>\"]];","export default [[\"<g clip-path='url(#a)'><path d='M4.5 0a.5.5 0 0 0-.5.5v.756a4.496 4.496 0 0 0-1.424.824L1.92 1.7a.5.5 0 0 0-.683.183l-1 1.732A.5.5 0 0 0 .42 4.3l.655.378a4.523 4.523 0 0 0 0 1.646L.42 6.7a.5.5 0 0 0-.183.683l1 1.732a.5.5 0 0 0 .683.183l.656-.379c.415.356.897.638 1.424.824v.756a.5.5 0 0 0 .5.5h.258a4.52 4.52 0 0 1-.661-3.43A2.5 2.5 0 1 1 7.57 4.096a4.52 4.52 0 0 1 2.814.315l.196-.113a.5.5 0 0 0 .183-.683l-1-1.732A.5.5 0 0 0 9.08 1.7l-.656.379A4.496 4.496 0 0 0 7 1.256V.5a.5.5 0 0 0-.5-.5h-2Z'></path><path d='M9.5 9a.5.5 0 0 0 0-1h-2a.5.5 0 0 0 0 1h2Z'></path><path d='M5 8.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM8.5 6a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path></g><defs><clipPath id='a'><path d='M0 0h12v12H0z'></path></clipPath></defs>\",\"<path d='M6.5 1a.5.5 0 0 0-.5.5v.842c-.708.25-1.355.63-1.912 1.109l-.858-.444a.5.5 0 0 0-.663.194l-1.5 2.598a.5.5 0 0 0 .203.694l.827.428a6.032 6.032 0 0 0 .005 2.188l-.866.538a.5.5 0 0 0-.169.675l1.5 2.598a.5.5 0 0 0 .697.175l.847-.526c.552.47 1.19.842 1.889 1.09v.841a.5.5 0 0 0 .5.5h.757A5.478 5.478 0 0 1 6 11.5c0-.398.042-.786.123-1.16a3 3 0 1 1 4.217-4.217 5.523 5.523 0 0 1 3.857.582l.567-.352a.5.5 0 0 0 .169-.675l-1.5-2.598a.5.5 0 0 0-.697-.175l-.847.526A5.993 5.993 0 0 0 10 2.341V1.5a.5.5 0 0 0-.5-.5h-3Z'></path><path d='M14 11.5a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1 0-1h4a.5.5 0 0 1 .5.5Z'></path><path d='M7 11.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM11.5 8a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M9 3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v1.582l.124.051 1.119-1.118a1 1 0 0 1 1.414 0l2.828 2.828a1 1 0 0 1 0 1.414l-.686.687A8.993 8.993 0 0 0 17 8c-1.061 0-2.08.184-3.025.52a4 4 0 0 0-5.454 5.454A8.985 8.985 0 0 0 8 17.001c0 .977.156 1.918.444 2.799l-.687.686a1 1 0 0 1-1.414 0l-2.828-2.828a1 1 0 0 1 0-1.414l1.118-1.119A7.804 7.804 0 0 1 4.582 15H3a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h1.582l.051-.124-1.118-1.119a1 1 0 0 1 0-1.414l2.828-2.828a1 1 0 0 1 1.414 0l1.119 1.118A7.89 7.89 0 0 1 9 4.582V3Zm12 14a1 1 0 0 1-1 1h-6a1 1 0 1 1 0-2h6a1 1 0 0 1 1 1Z'></path><path d='M10 17a7 7 0 1 1 14 0 7 7 0 0 1-14 0Zm7-5a5 5 0 1 0 0 10 5 5 0 0 0 0-10Z'></path>\",\"<path d='M14 2a2 2 0 0 0-2 2v.657l-.006.01a.114.114 0 0 1-.052.037c-.362.13-.715.277-1.06.44a.113.113 0 0 1-.063.01c-.006 0-.01-.003-.01-.003l-.466-.465a2 2 0 0 0-2.828 0L4.686 7.515a2 2 0 0 0 0 2.828l.466.465.002.011a.113.113 0 0 1-.01.063c-.163.345-.31.698-.44 1.06a.114.114 0 0 1-.037.052l-.01.006H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h.657l.01.006a.114.114 0 0 1 .037.052c.13.362.277.715.44 1.06a.113.113 0 0 1 .01.063.044.044 0 0 1-.003.01l-.465.466a2 2 0 0 0 0 2.828l2.829 2.829a2 2 0 0 0 2.828 0l.465-.465.003-.002h.003l.005-.001a.113.113 0 0 1 .063.01c.345.163.698.31 1.06.44.026.01.043.025.052.037l.006.01V28a2 2 0 0 0 2 2h.45A10.97 10.97 0 0 1 11 22c0-.802.086-1.583.248-2.336a6 6 0 0 1 8.416-8.416A11.041 11.041 0 0 1 22 11a10.97 10.97 0 0 1 8 3.45V14a2 2 0 0 0-2-2h-.657l-.01-.006a.114.114 0 0 1-.037-.052 11.94 11.94 0 0 0-.44-1.06.113.113 0 0 1-.01-.063v-.005l.002-.003v-.003l.466-.465a2 2 0 0 0 0-2.828l-2.829-2.829a2 2 0 0 0-2.828 0l-.465.465-.011.003a.113.113 0 0 1-.063-.01c-.345-.163-.698-.31-1.06-.44a.114.114 0 0 1-.052-.037.048.048 0 0 1-.006-.01V4a2 2 0 0 0-2-2h-4Z'></path><path d='M27 22a1 1 0 0 1-1 1h-8a1 1 0 1 1 0-2h8a1 1 0 0 1 1 1Z'></path><path d='M13 22a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"],[\"<g clip-path='url(#a)'><path d='M4 .5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v.756a4.496 4.496 0 0 1 1.424.824l.656-.38a.5.5 0 0 1 .683.183l1 1.732a.5.5 0 0 1-.183.683l-.196.113a4.47 4.47 0 0 0-1.334-.379.502.502 0 0 1 .055-.037l.542-.313-.5-.866-.543.314a.5.5 0 0 1-.607-.083 3.496 3.496 0 0 0-1.622-.938A.5.5 0 0 1 6 1.626V1H5v.626a.5.5 0 0 1-.375.484 3.49 3.49 0 0 0-1.622.938.5.5 0 0 1-.607.083l-.543-.314-.5.866.542.313a.5.5 0 0 1 .232.567 3.504 3.504 0 0 0 0 1.874.5.5 0 0 1-.232.567l-.542.313.5.866.543-.313a.5.5 0 0 1 .607.082 3.51 3.51 0 0 0 1 .713c.031.862.305 1.663.755 2.335H4.5a.5.5 0 0 1-.5-.5v-.756a4.496 4.496 0 0 1-1.424-.824l-.656.38a.5.5 0 0 1-.683-.184l-1-1.732a.5.5 0 0 1 .183-.683l.655-.378a4.523 4.523 0 0 1 0-1.646L.42 4.3a.5.5 0 0 1-.183-.683l1-1.732a.5.5 0 0 1 .683-.183l.656.379A4.496 4.496 0 0 1 4 1.256V.5Z'></path><path d='M7.57 4.096A2.5 2.5 0 1 0 4.096 7.57a4.47 4.47 0 0 1 .342-1.01A1.5 1.5 0 0 1 6.56 4.439a4.467 4.467 0 0 1 1.01-.342ZM9.5 9a.5.5 0 0 0 0-1h-2a.5.5 0 0 0 0 1h2Z'></path><path d='M5 8.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM8.5 6a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path></g><defs><clipPath id='a'><path d='M0 0h12v12H0z'></path></clipPath></defs>\",\"<path d='M6.5 1a.5.5 0 0 0-.5.5v.842c-.708.25-1.355.63-1.912 1.109l-.858-.444a.5.5 0 0 0-.663.194l-1.5 2.598a.5.5 0 0 0 .203.694l.827.428a6.032 6.032 0 0 0 .005 2.188l-.866.538a.5.5 0 0 0-.169.675l1.5 2.598a.5.5 0 0 0 .697.175l.847-.526c.552.47 1.19.842 1.889 1.09v.841a.5.5 0 0 0 .5.5h.757a5.48 5.48 0 0 1-1.14-2.367 5.006 5.006 0 0 1-1.601-1.047.5.5 0 0 0-.612-.066l-.73.453-.999-1.732.755-.469a.5.5 0 0 0 .221-.547 5.011 5.011 0 0 1 0-2.45.5.5 0 0 0-.255-.566l-.701-.363 1-1.732.743.385a.5.5 0 0 0 .578-.085 4.994 4.994 0 0 1 2.12-1.226A.5.5 0 0 0 7 2.707V2h2v.707a.5.5 0 0 0 .364.481 4.994 4.994 0 0 1 2.12 1.226.5.5 0 0 0 .612.066l.73-.453.999 1.732-.755.468c.396.118.774.28 1.127.478l.567-.352a.5.5 0 0 0 .169-.675l-1.5-2.598a.5.5 0 0 0-.697-.175l-.847.526A5.993 5.993 0 0 0 10 2.341V1.5a.5.5 0 0 0-.5-.5h-3Z'></path><path d='M10.34 6.123a3 3 0 1 0-4.218 4.217c.08-.367.195-.721.343-1.057a2 2 0 0 1 2.817-2.817c.337-.149.69-.265 1.058-.343ZM14 11.5a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1 0-1h4a.5.5 0 0 1 .5.5Z'></path><path d='M7 11.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM11.5 8a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M9 3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v1.582l.124.051 1.119-1.118a1 1 0 0 1 1.414 0l2.828 2.828a1 1 0 0 1 0 1.414l-.686.687a8.973 8.973 0 0 0-2.39-.435.46.46 0 0 1 .043-.046l.912-.913-1.414-1.414-.913.913a1 1 0 0 1-1.183.172 5.957 5.957 0 0 0-1.14-.473A1 1 0 0 1 13 5.29V4h-2v1.29a1 1 0 0 1-.715.958 5.97 5.97 0 0 0-1.139.473 1 1 0 0 1-1.183-.173l-.913-.912L5.636 7.05l.912.913a1 1 0 0 1 .173 1.183c-.195.36-.354.74-.473 1.14A1 1 0 0 1 5.29 11H4v2h1.29a1 1 0 0 1 .958.715c.119.398.278.78.473 1.139a1 1 0 0 1-.172 1.183l-.913.913 1.414 1.414.913-.913.046-.043c.037.831.187 1.633.435 2.391l-.687.686a1 1 0 0 1-1.414 0l-2.828-2.828a1 1 0 0 1 0-1.414l1.118-1.119A7.804 7.804 0 0 1 4.582 15H3a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h1.582l.051-.124-1.118-1.119a1 1 0 0 1 0-1.414l2.828-2.828a1 1 0 0 1 1.414 0l1.119 1.118A7.89 7.89 0 0 1 9 4.582V3Z'></path><path d='M13.975 8.52a4 4 0 0 0-5.454 5.454 8.993 8.993 0 0 1 1.707-2.902 2.01 2.01 0 0 1 .844-.844 8.993 8.993 0 0 1 2.903-1.707ZM21 17a1 1 0 0 1-1 1h-6a1 1 0 1 1 0-2h6a1 1 0 0 1 1 1Z'></path><path d='M10 17a7 7 0 1 1 14 0 7 7 0 0 1-14 0Zm7-5a5 5 0 1 0 0 10 5 5 0 0 0 0-10Z'></path>\",\"<path d='M12 4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v.657l.006.01a.114.114 0 0 0 .052.037c.362.13.715.277 1.06.44a.113.113 0 0 0 .063.01.046.046 0 0 0 .01-.003l.466-.465a2 2 0 0 1 2.828 0l2.829 2.829a2 2 0 0 1 0 2.828l-.465.465-.002.003v.004l-.001.004a.113.113 0 0 0 .01.063c.163.345.31.698.44 1.06.01.026.025.043.037.052l.01.006H28a2 2 0 0 1 2 2v.45a10.995 10.995 0 0 0-5.079-3.058 2.046 2.046 0 0 1 .513-1.998l.465-.465L23.072 6.1l-.465.466c-.643.643-1.592.74-2.342.386a9.928 9.928 0 0 0-.882-.366C18.602 6.306 18 5.566 18 4.658V4h-4v.658c0 .908-.602 1.648-1.382 1.928-.3.108-.595.23-.882.366-.75.354-1.699.257-2.342-.386L8.93 6.1 6.1 8.93l.465.465c.643.643.74 1.592.386 2.342a9.943 9.943 0 0 0-.366.882c-.28.78-1.02 1.382-1.928 1.382H4v4h.658c.908 0 1.648.602 1.928 1.382.108.3.23.595.366.882.354.75.257 1.699-.386 2.342l-.465.465L8.928 25.9l.465-.465a2.046 2.046 0 0 1 1.998-.513A10.995 10.995 0 0 0 14.45 30H14a2 2 0 0 1-2-2v-.657l-.006-.01a.114.114 0 0 0-.052-.037 11.94 11.94 0 0 1-1.06-.44.113.113 0 0 0-.063-.01h-.005l-.003.001-.003.002-.465.465a2 2 0 0 1-2.828 0l-2.829-2.829a2 2 0 0 1 0-2.828l.465-.465.003-.011a.113.113 0 0 0-.01-.063c-.163-.345-.31-.698-.44-1.06a.114.114 0 0 0-.037-.052L4.657 20H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h.657l.01-.006a.114.114 0 0 0 .037-.052c.13-.362.277-.715.44-1.06a.113.113 0 0 0 .01-.063c0-.006-.002-.01-.002-.01l-.466-.466a2 2 0 0 1 0-2.828l2.829-2.829a2 2 0 0 1 2.828 0l.465.465.011.003a.11.11 0 0 0 .063-.01c.345-.163.698-.31 1.06-.44a.114.114 0 0 0 .052-.037l.006-.01V4Z'></path><path d='M19.664 11.248a6 6 0 0 0-8.416 8.416 10.98 10.98 0 0 1 .904-2.57A4.005 4.005 0 0 1 16 12c.38 0 .747.053 1.095.152a10.921 10.921 0 0 1 2.57-.903ZM27 22a1 1 0 0 1-1 1h-8a1 1 0 1 1 0-2h8a1 1 0 0 1 1 1Z'></path><path d='M13 22a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"]];","export default [[\"<g clip-path='url(#a)'><path d='M4.5 0a.5.5 0 0 0-.5.5v.756a4.496 4.496 0 0 0-1.424.824L1.92 1.7a.5.5 0 0 0-.683.183l-1 1.732A.5.5 0 0 0 .42 4.3l.655.378a4.523 4.523 0 0 0 0 1.646L.42 6.7a.5.5 0 0 0-.183.683l1 1.732a.5.5 0 0 0 .683.183l.656-.379c.415.356.897.638 1.424.824v.756a.5.5 0 0 0 .5.5h1.138A3.475 3.475 0 0 1 5 9V7.95a2.5 2.5 0 1 1 2.822-3.378 1.5 1.5 0 0 1 2.334-.028l.424-.245a.5.5 0 0 0 .183-.683l-1-1.732a.5.5 0 0 0-.683-.183l-.656.379A4.496 4.496 0 0 0 7 1.256V.5a.5.5 0 0 0-.5-.5h-2Zm5.854 8.354a.5.5 0 0 0-.708-.708L8.5 8.793l-.146-.147a.5.5 0 1 0-.708.708l.5.5a.5.5 0 0 0 .708 0l1.5-1.5Z'></path><path d='M9 5a.5.5 0 0 1 .41.215c.06.086.289.305.637.43.327.117.747.149 1.23-.092A.5.5 0 0 1 12 6v3c0 1.245-.992 2.468-2.868 2.982a.5.5 0 0 1-.264 0C6.99 11.468 6 10.245 6 9V6a.5.5 0 0 1 .723-.447c.483.24.903.21 1.23.092.348-.125.576-.344.636-.43A.5.5 0 0 1 9 5ZM7 6.693V9c0 .637.509 1.53 2 1.98 1.491-.45 2-1.343 2-1.98V6.693a2.47 2.47 0 0 1-1.29-.107A2.646 2.646 0 0 1 9 6.2a2.646 2.646 0 0 1-.71.386A2.47 2.47 0 0 1 7 6.693Z'></path></g><defs><clipPath id='a'><path d='M0 0h12v12H0z'></path></clipPath></defs>\",\"<path d='M6.5 1a.5.5 0 0 0-.5.5v.842c-.708.25-1.355.63-1.912 1.109l-.858-.444a.5.5 0 0 0-.663.194l-1.5 2.598a.5.5 0 0 0 .203.694l.827.428a6.033 6.033 0 0 0 .005 2.188l-.866.538a.5.5 0 0 0-.169.675l1.5 2.598a.5.5 0 0 0 .697.175l.846-.526c.553.47 1.191.842 1.89 1.09v.841a.5.5 0 0 0 .5.5h1.722C7.434 14.14 7 13.103 7 12v-1.17a3.001 3.001 0 1 1 3.694-4.152 1.035 1.035 0 0 0 .103-.074 1.5 1.5 0 0 1 2.406 0 1.238 1.238 0 0 0 .428.212c.09.025.192.044.306.05l.827-.513a.5.5 0 0 0 .169-.675l-1.5-2.598a.5.5 0 0 0-.697-.175l-.847.526A5.994 5.994 0 0 0 10 2.341V1.5a.5.5 0 0 0-.5-.5h-3Z'></path><path d='M13.854 10.146a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708 0l-1-1a.5.5 0 0 1 .708-.708l.646.647 1.646-1.647a.5.5 0 0 1 .708 0Z'></path><path d='M12.41 7.215a.5.5 0 0 0-.82 0c-.095.135-.427.419-.953.565-.503.14-1.164.147-1.914-.227A.5.5 0 0 0 8 8v4c0 1.626 1.298 3.278 3.868 3.982a.5.5 0 0 0 .264 0C14.702 15.278 16 13.626 16 12V8a.5.5 0 0 0-.723-.447c-.75.374-1.41.367-1.914.227-.526-.146-.858-.43-.952-.565ZM9 12V8.73c.707.199 1.36.165 1.904.013A3.2 3.2 0 0 0 12 8.203c.284.22.66.42 1.096.54A3.505 3.505 0 0 0 15 8.73V12c0 1.015-.812 2.339-3 2.98-2.188-.641-3-1.965-3-2.98Z'></path>\",\"<path d='M10 2a1 1 0 0 0-1 1v1.582a7.89 7.89 0 0 0-.124.051L7.757 3.515a1 1 0 0 0-1.414 0L3.515 6.343a1 1 0 0 0 0 1.414l1.118 1.119A7.994 7.994 0 0 0 4.582 9H3a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h1.582l.051.124-1.118 1.119a1 1 0 0 0 0 1.414l2.828 2.828a1 1 0 0 0 1.414 0l1.119-1.118.124.051V21a1 1 0 0 0 1 1h1.277C10.457 20.817 10 19.458 10 18v-2.535a4 4 0 1 1 4.874-6.247.92.92 0 0 0 .279-.036c.18-.05.342-.147.44-.229A3.782 3.782 0 0 1 18 8.1c.538 0 1.149.115 1.732.411l.753-.754a1 1 0 0 0 0-1.414l-2.828-2.828a1 1 0 0 0-1.414 0l-1.119 1.118A7.804 7.804 0 0 0 15 4.582V3a1 1 0 0 0-1-1h-4Zm10.768 14.64a1 1 0 1 0-1.536-1.28l-1.8 2.159-.725-.726a1 1 0 0 0-1.414 1.414l1.5 1.5a1 1 0 0 0 1.475-.067l2.5-3Z'></path><path d='M18 10.1c.371 0 .79.112 1.133.396.58.479 1.611.956 2.831.594.869-.258 2.036.3 2.036 1.468V18c0 2.458-1.932 4.875-5.591 5.924a1.496 1.496 0 0 1-.818 0C13.932 22.874 12 20.458 12 18v-5.442c0-1.168 1.167-1.726 2.036-1.468 1.22.362 2.25-.115 2.83-.595A1.782 1.782 0 0 1 18 10.1Zm0 2.05c-.856.654-2.284 1.304-4 .986V18c0 1.275 1.018 3.058 4 3.96 2.982-.902 4-2.685 4-3.96v-4.864c-1.716.318-3.144-.332-4-.987Z'></path>\",\"<path d='M14 2a2 2 0 0 0-2 2v.657l-.006.01a.114.114 0 0 1-.052.037c-.362.13-.715.277-1.06.44a.113.113 0 0 1-.063.01c-.006 0-.01-.003-.01-.003l-.466-.465a2 2 0 0 0-2.828 0L4.686 7.515a2 2 0 0 0 0 2.828l.466.465.002.011a.113.113 0 0 1-.01.063c-.163.345-.31.698-.44 1.06a.114.114 0 0 1-.037.052l-.01.006H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h.657l.01.006a.114.114 0 0 1 .037.052c.13.362.277.715.44 1.06a.113.113 0 0 1 .01.063.044.044 0 0 1-.003.01l-.465.466a2 2 0 0 0 0 2.828l2.829 2.829a2 2 0 0 0 2.828 0l.465-.465.003-.002.008-.001a.113.113 0 0 1 .063.01c.345.163.698.31 1.06.44.026.01.043.025.052.037l.006.01V28a2 2 0 0 0 2 2h2.554C14.254 28.05 13 25.495 13 22.82v-1.623a6 6 0 1 1 7.511-9.153 1.72 1.72 0 0 0 .082-.063 3.763 3.763 0 0 1 2.429-.879c.767 0 1.668.236 2.429.879.34.288 1.36.811 2.799.272a3.36 3.36 0 0 1 .44-.13A1.996 1.996 0 0 0 28 12h-.657l-.01-.006a.114.114 0 0 1-.037-.052 11.94 11.94 0 0 0-.44-1.06.113.113 0 0 1-.01-.063l.002-.008v-.003l.466-.465a2 2 0 0 0 0-2.828l-2.829-2.829a2 2 0 0 0-2.828 0l-.465.465-.011.003a.113.113 0 0 1-.063-.01c-.345-.163-.698-.31-1.06-.44a.114.114 0 0 1-.052-.037.048.048 0 0 1-.006-.01V4a2 2 0 0 0-2-2h-4Z'></path><path d='M26.78 20.625a1 1 0 1 0-1.56-1.25l-3.303 4.128-1.21-1.21a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.488-.082l4-5Z'></path><path d='M23.022 13.102c.375 0 .795.116 1.137.406.8.677 2.568 1.451 4.792.618.922-.345 2.093.269 2.093 1.421v7.273c0 3.23-2.487 6.64-7.616 8.094a1.492 1.492 0 0 1-.812 0C17.486 29.46 15 26.05 15 22.82v-7.273c0-1.152 1.17-1.766 2.092-1.42 2.224.832 3.992.057 4.792-.62a1.767 1.767 0 0 1 1.138-.405Zm0 2.058c-1.211.945-3.4 1.793-6.022 1.04v6.62c0 2.085 1.616 4.834 6.022 6.13 4.405-1.296 6.022-4.045 6.022-6.13V16.2c-2.623.753-4.811-.095-6.022-1.04Z'></path>\"],[\"<g clip-path='url(#a)'><path d='M4 .5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v.756a4.496 4.496 0 0 1 1.424.824l.656-.38a.5.5 0 0 1 .683.183l1 1.732a.5.5 0 0 1-.183.683l-.424.245a1.5 1.5 0 0 0-1.063-.541l.012-.007.542-.313-.5-.866-.543.314a.5.5 0 0 1-.607-.083 3.496 3.496 0 0 0-1.622-.938A.5.5 0 0 1 6 1.626V1H5v.626a.5.5 0 0 1-.375.484 3.49 3.49 0 0 0-1.622.938.5.5 0 0 1-.607.083l-.543-.314-.5.866.542.313a.5.5 0 0 1 .232.567 3.504 3.504 0 0 0 0 1.874.5.5 0 0 1-.232.567l-.542.313.5.866.543-.313a.5.5 0 0 1 .607.082c.44.448.997.777 1.622.938A.5.5 0 0 1 5 9.374V10h.149a3.6 3.6 0 0 0 .49 1H4.5a.5.5 0 0 1-.5-.5v-.756a4.496 4.496 0 0 1-1.424-.824l-.656.38a.5.5 0 0 1-.683-.184l-1-1.732a.5.5 0 0 1 .183-.683l.655-.378a4.523 4.523 0 0 1 0-1.646L.42 4.3a.5.5 0 0 1-.183-.683l1-1.732a.5.5 0 0 1 .683-.183l.656.379A4.496 4.496 0 0 1 4 1.256V.5Z'></path><path d='M7.822 4.572A2.5 2.5 0 1 0 5 7.95V6.915a1.5 1.5 0 1 1 1.623-2.41c.187.015.373.066.547.153.12.06.207.074.263.076a.48.48 0 0 0 .182-.03.645.645 0 0 0 .187-.107l.02-.025Zm2.532 3.782a.5.5 0 0 0-.708-.708L8.5 8.793l-.146-.147a.5.5 0 1 0-.708.708l.5.5a.5.5 0 0 0 .708 0l1.5-1.5Z'></path><path d='M9 5a.5.5 0 0 1 .41.215c.06.086.289.305.637.43.327.117.747.149 1.23-.092A.5.5 0 0 1 12 6v3c0 1.245-.992 2.468-2.868 2.982a.5.5 0 0 1-.264 0C6.99 11.468 6 10.245 6 9V6a.5.5 0 0 1 .723-.447c.483.24.903.21 1.23.092.348-.125.576-.344.636-.43A.5.5 0 0 1 9 5ZM7 6.693V9c0 .637.509 1.53 2 1.98 1.491-.45 2-1.343 2-1.98V6.693a2.47 2.47 0 0 1-1.29-.107A2.646 2.646 0 0 1 9 6.2a2.646 2.646 0 0 1-.71.386A2.47 2.47 0 0 1 7 6.693Z'></path></g><defs><clipPath id='a'><path d='M0 0h12v12H0z'></path></clipPath></defs>\",\"<path d='M6.5 1a.5.5 0 0 0-.5.5v.842c-.708.25-1.355.63-1.912 1.109l-.858-.444a.5.5 0 0 0-.663.194l-1.5 2.598a.5.5 0 0 0 .203.694l.827.428a6.032 6.032 0 0 0 .005 2.188l-.866.538a.5.5 0 0 0-.169.675l1.5 2.598a.5.5 0 0 0 .697.175l.847-.526c.552.47 1.19.842 1.889 1.09v.841a.5.5 0 0 0 .5.5h1.722a4.909 4.909 0 0 1-.714-1H7v-.707a.5.5 0 0 0-.364-.481 4.993 4.993 0 0 1-2.12-1.226.5.5 0 0 0-.612-.066l-.73.453-.999-1.732.755-.469a.5.5 0 0 0 .221-.547 5.011 5.011 0 0 1 0-2.45.5.5 0 0 0-.255-.566l-.701-.363 1-1.732.743.385a.5.5 0 0 0 .578-.085 4.994 4.994 0 0 1 2.12-1.226A.5.5 0 0 0 7 2.707V2h2v.707a.5.5 0 0 0 .364.481 4.994 4.994 0 0 1 2.12 1.226.5.5 0 0 0 .612.066l.73-.453.999 1.732-.755.469a.499.499 0 0 0-.123.108c.095.078.181.168.256.268a1.238 1.238 0 0 0 .428.212c.09.025.192.044.306.05l.827-.513a.5.5 0 0 0 .169-.675l-1.5-2.598a.5.5 0 0 0-.697-.175l-.847.526A5.993 5.993 0 0 0 10 2.341V1.5a.5.5 0 0 0-.5-.5h-3Z'></path><path d='M10.694 6.678A3 3 0 1 0 7 10.829V9.732a2 2 0 1 1 2.618-2.908c.306.072.558.046.75-.008a1.3 1.3 0 0 0 .326-.138Zm3.16 3.468a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708 0l-1-1a.5.5 0 0 1 .708-.708l.646.647 1.646-1.647a.5.5 0 0 1 .708 0Z'></path><path d='M12.41 7.215a.5.5 0 0 0-.82 0c-.095.135-.427.419-.953.565-.503.14-1.164.147-1.914-.227A.5.5 0 0 0 8 8v4c0 1.626 1.298 3.278 3.868 3.982a.5.5 0 0 0 .264 0C14.702 15.278 16 13.626 16 12V8a.5.5 0 0 0-.723-.447c-.75.374-1.41.367-1.914.227-.526-.146-.858-.43-.952-.565ZM9 12V8.73c.707.199 1.36.165 1.904.013A3.2 3.2 0 0 0 12 8.203c.284.22.66.42 1.096.54A3.505 3.505 0 0 0 15 8.73V12c0 1.015-.812 2.339-3 2.98-2.188-.641-3-1.965-3-2.98Z'></path>\",\"<path d='M10 2a1 1 0 0 0-1 1v1.582a7.89 7.89 0 0 0-.124.051L7.757 3.515a1 1 0 0 0-1.414 0L3.515 6.343a1 1 0 0 0 0 1.414l1.118 1.119A7.994 7.994 0 0 0 4.582 9H3a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h1.582l.051.124-1.118 1.119a1 1 0 0 0 0 1.414l2.828 2.828a1 1 0 0 0 1.414 0l1.119-1.118.124.051V21a1 1 0 0 0 1 1h1.277C10.457 20.817 10 19.458 10 18v-.341a5.96 5.96 0 0 1-.854-.38 1 1 0 0 0-1.183.172l-.913.913-1.414-1.414.913-.913a1 1 0 0 0 .172-1.183 5.955 5.955 0 0 1-.473-1.14A1 1 0 0 0 5.29 13H4v-2h1.29a1 1 0 0 0 .958-.715 5.97 5.97 0 0 1 .473-1.139 1 1 0 0 0-.173-1.183l-.912-.913L7.05 5.636l.913.912a1 1 0 0 0 1.183.173c.36-.195.74-.354 1.14-.473A1 1 0 0 0 11 5.29V4h2v1.29a1 1 0 0 0 .715.958c.398.119.78.278 1.139.473a1 1 0 0 0 1.183-.172l.913-.913 1.414 1.414-.913.913a1.04 1.04 0 0 0-.156.202 3.846 3.846 0 0 1 2.436.346l.754-.754a1 1 0 0 0 0-1.414l-2.828-2.828a1 1 0 0 0-1.414 0l-1.119 1.118A7.804 7.804 0 0 0 15 4.582V3a1 1 0 0 0-1-1h-4Z'></path><path d='M14.874 9.218A4 4 0 1 0 10 15.465v-2.907c0-.112.005-.221.013-.328a1.994 1.994 0 0 1 .548-1.62c.895-1.342 2.681-1.842 4.044-1.437.099.029.187.042.269.045Zm5.766 6.014a1 1 0 0 1 .128 1.408l-2.5 3a1 1 0 0 1-1.475.067l-1.5-1.5a1 1 0 0 1 1.414-1.414l.726.726 1.799-2.16a1 1 0 0 1 1.408-.127Z'></path><path d='M19.133 10.495A1.782 1.782 0 0 0 18 10.1c-.371 0-.79.112-1.133.396-.58.479-1.611.956-2.831.594-.869-.258-2.036.3-2.036 1.468V18c0 2.458 1.932 4.875 5.591 5.924.267.076.551.076.818 0C22.068 22.874 24 20.458 24 18v-5.442c0-1.168-1.167-1.726-2.036-1.468-1.22.362-2.25-.115-2.83-.595ZM14 13.136c1.716.32 3.144-.331 4-.986.856.655 2.284 1.305 4 .987V18c0 1.275-1.018 3.058-4 3.96-2.982-.902-4-2.685-4-3.96v-4.864Z'></path>\",\"<path d='M12 4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v.657l.006.01a.114.114 0 0 0 .052.037c.362.13.715.277 1.06.44a.113.113 0 0 0 .063.01.046.046 0 0 0 .01-.003l.466-.465a2 2 0 0 1 2.828 0l2.829 2.829a2 2 0 0 1 0 2.828l-.465.465-.002.003-.001.008a.113.113 0 0 0 .01.063c.163.345.31.698.44 1.06.01.026.025.043.037.052l.01.006H28c.242 0 .475.043.69.122a3.36 3.36 0 0 0-.44.131c-1.44.54-2.459.016-2.799-.272a3.653 3.653 0 0 0-.435-.316c-.315-.738-.205-1.648.418-2.27l.465-.466L23.072 6.1l-.465.466c-.643.643-1.592.74-2.342.386a9.928 9.928 0 0 0-.882-.366C18.602 6.306 18 5.566 18 4.658V4h-4v.658c0 .908-.602 1.648-1.382 1.928-.3.108-.595.23-.882.366-.75.354-1.699.257-2.342-.386L8.93 6.1 6.1 8.93l.465.465c.643.643.74 1.592.386 2.342a9.943 9.943 0 0 0-.366.882c-.28.78-1.02 1.382-1.928 1.382H4v4h.658c.908 0 1.648.602 1.928 1.382.108.3.23.595.366.882.354.75.257 1.699-.386 2.342l-.465.465L8.928 25.9l.465-.465c.643-.643 1.592-.74 2.342-.386.287.136.581.258.882.366.78.28 1.382 1.02 1.382 1.928V28h.704c.51.716 1.128 1.388 1.85 2H14a2 2 0 0 1-2-2v-.657l-.006-.01a.114.114 0 0 0-.052-.037 11.94 11.94 0 0 1-1.06-.44.113.113 0 0 0-.063-.01l-.008.001-.003.002-.465.465a2 2 0 0 1-2.828 0l-2.829-2.829a2 2 0 0 1 0-2.828l.465-.465.003-.011a.113.113 0 0 0-.01-.063c-.163-.345-.31-.698-.44-1.06a.114.114 0 0 0-.037-.052L4.657 20H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h.657l.01-.006a.114.114 0 0 0 .037-.052c.13-.362.277-.715.44-1.06a.113.113 0 0 0 .01-.063c0-.006-.002-.01-.002-.01l-.466-.466a2 2 0 0 1 0-2.828l2.829-2.829a2 2 0 0 1 2.828 0l.465.465.011.003a.11.11 0 0 0 .063-.01c.345-.163.698-.31 1.06-.44a.114.114 0 0 0 .052-.037l.006-.01V4Z'></path><path d='M20.511 12.044A6 6 0 1 0 13 21.197v-2.551a4 4 0 0 1 3.544-6.61 3.49 3.49 0 0 1 1.25.217c1.338.502 2.314.084 2.717-.209Zm6.269 8.581a1 1 0 1 0-1.56-1.25l-3.303 4.128-1.21-1.21a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.488-.082l4-5Z'></path><path d='M23.022 13.102c.375 0 .795.116 1.137.406.8.677 2.568 1.451 4.792.618.922-.345 2.093.269 2.093 1.421v7.273c0 3.23-2.487 6.64-7.616 8.094a1.492 1.492 0 0 1-.812 0C17.486 29.46 15 26.05 15 22.82v-7.273c0-1.152 1.17-1.766 2.092-1.42 2.224.832 3.992.057 4.792-.62a1.767 1.767 0 0 1 1.138-.405Zm0 2.058c-1.211.945-3.4 1.793-6.022 1.04v6.62c0 2.085 1.616 4.834 6.022 6.13 4.405-1.296 6.022-4.045 6.022-6.13V16.2c-2.623.753-4.811-.095-6.022-1.04Z'></path>\"]];","export default [[\"M1.101 3h2.363l.952-2H3.28a1.5 1.5 0 0 0-1.201.6l-.774 1.03c-.087.115-.154.24-.204.37Zm-.096.498v.066-.066ZM1.08 4c.042.129.103.253.181.37l4.321 6.405a.5.5 0 0 1-.059-.124L3.414 4H1.08Zm5.338 6.774 4.33-6.404a1.51 1.51 0 0 0 .181-.37H8.594l-2.118 6.652a.5.5 0 0 1-.058.123ZM10.907 3a1.498 1.498 0 0 0-.203-.37L9.93 1.6A1.502 1.502 0 0 0 8.729 1H7.587l.957 2h2.363ZM6.479 1h-.956l-.951 2h2.863L6.48 1ZM4.463 4h3.081L6.001 8.849 4.463 4Z\",\"M7.62 2h.76l1.75 3H5.87l1.75-3ZM6.463 2H4.5a2.5 2.5 0 0 0-2 1L1.3 4.6c-.093.124-.165.26-.214.4h3.627l1.75-3ZM1.086 6c.05.14.12.276.214.4l6.297 8.396a.5.5 0 0 1-.071-.138L4.64 6H1.086Zm7.317 8.795L14.7 6.4c.093-.124.165-.26.214-.4H11.36l-2.886 8.658a.499.499 0 0 1-.07.137ZM14.914 5h-3.627l-1.75-3H11.5a2.5 2.5 0 0 1 2 1l1.2 1.6c.093.124.165.26.214.4ZM8 12.919 5.694 6h4.612L8 12.919Z\",\"M11.239 3h1.536l3.06 5H8.198l3.04-5ZM8.898 3H6.08a3 3 0 0 0-2.447 1.264L1.56 7.186c-.18.254-.317.529-.409.814H5.86L8.9 3Zm-7.69 7c.11.286.265.559.466.807l9.524 11.791a1.027 1.027 0 0 1-.117-.204L5.762 10H1.208ZM12.8 22.601l9.531-11.8c.2-.247.354-.517.464-.801h-4.52l-5.357 12.397a1.023 1.023 0 0 1-.118.204ZM22.855 8h-4.676l-3.06-5h2.834a3 3 0 0 1 2.456 1.277l2.045 2.916c.177.252.31.524.4.807ZM12.003 19.472 7.938 10h8.159l-4.094 9.472Z\",\"M2.171 12h6.627l6.261 17.34a.996.996 0 0 0 .135.252L2.6 12.8a2.996 2.996 0 0 1-.429-.8Zm0-2c.1-.282.243-.552.429-.8l3-4A3 3 0 0 1 8 4h4.606l-3.667 6H2.171ZM14.95 4l-3.667 6h9.434L17.05 4h-2.1Zm4.444 0 3.667 6h6.768a2.995 2.995 0 0 0-.429-.8l-3-4A3 3 0 0 0 24 4h-4.606Zm10.435 8h-6.627l-6.261 17.34a1 1 0 0 1-.134.251L29.4 12.8c.186-.248.33-.518.429-.8ZM16 26.056 10.924 12h10.152L16 26.056Z\"],[\"M3.28 2a.502.502 0 0 0-.402.2l-.6.8h1.154l.37-1H3.28Zm1.588 0-.37 1h3.013l-.37-1H4.869Zm3.34 0 .369 1H9.73l-.6-.8a.502.502 0 0 0-.402-.2h-.521ZM9.79 4H8.594L7.529 7.345 9.79 4ZM6 8.849 7.545 4h-3.08L6 8.849ZM3.415 4H2.218l2.257 3.346L3.415 4ZM2.08 1.6c.283-.378.728-.6 1.2-.6h5.45c.472 0 .917.222 1.2.6l.775 1.03c.384.512.401 1.21.044 1.74l-4.334 6.41a.5.5 0 0 1-.828 0L1.26 4.37a1.5 1.5 0 0 1 .044-1.74l.774-1.03Z\",\"M4.5 2a2.5 2.5 0 0 0-2 1L1.3 4.6a1.5 1.5 0 0 0 0 1.8l6.3 8.4a.5.5 0 0 0 .8 0l6.3-8.4a1.5 1.5 0 0 0 0-1.8L13.5 3a2.5 2.5 0 0 0-2-1h-7ZM3.3 3.6A1.5 1.5 0 0 1 4.5 3h1.38L4.712 5H2.25L3.3 3.6ZM2.25 6l4.301 5.735L4.64 6H2.25Zm3.444 0L8 12.919 10.306 6H5.694Zm5.666 0-1.91 5.735L13.75 6h-2.39Zm2.39-1h-2.463L10.12 3h1.38a1.5 1.5 0 0 1 1.2.6L13.75 5Zm-3.62 0H5.87l1.167-2h1.926l1.167 2Z\",\"M6.08 3a3 3 0 0 0-2.447 1.264l-2.071 2.92a3 3 0 0 0 .114 3.624l9.567 11.821a1 1 0 0 0 1.556-.001l9.535-11.829a3 3 0 0 0 .12-3.605L20.41 4.277A3 3 0 0 0 17.953 3H6.08Zm-.816 2.421A1 1 0 0 1 6.08 5h1.602L5.86 8H3.435l1.83-2.579ZM3.596 10l4.633 5.726L5.763 10H3.596Zm4.345 0 4.079 9.472L16.1 10H7.94Zm10.336 0-2.446 5.68L20.41 10h-2.133Zm2.3-2H18.18l-1.835-3h1.61a1 1 0 0 1 .818.426L20.577 8Zm-4.742 0H8.199l1.824-3H14l1.835 3Z\",\"M8 4a3 3 0 0 0-2.4 1.2l-3 4a3 3 0 0 0 0 3.6l12.6 16.8a1 1 0 0 0 1.6 0l12.6-16.8a3 3 0 0 0 0-3.6l-3-4A3 3 0 0 0 24 4H8Zm-.8 2.4A1 1 0 0 1 8 6h3.379l-2.44 4H4.5l2.7-3.6ZM4.5 12l8.289 11.052L8.798 12H4.5Zm6.424 0L16 26.056 21.076 12H10.924Zm12.278 0-3.99 11.052L27.5 12h-4.298Zm4.298-2h-4.44l-2.446-4H24a1 1 0 0 1 .8.4l2.7 3.6Zm-6.784 0h-9.435l2.44-4h4.548l2.447 4Z\"]];","export default [[\"M3.118 4a.5.5 0 0 0-.447.276l-1.245 2.49A1.997 1.997 0 0 1 3 6c.654 0 1.235.314 1.6.8.25-.188.562-.3.9-.3.338 0 .65.112.9.3a2 2 0 0 1 3.174-.035L8.329 4.276A.5.5 0 0 0 7.882 4H7.5a.5.5 0 0 1 0-1h.382a1.5 1.5 0 0 1 1.341.83l1.718 3.434a.497.497 0 0 1-.137.633.498.498 0 0 1-.314.103H10a2 2 0 1 1-4 0 .5.5 0 0 0-1 0 2 2 0 1 1-4 0H.51a.496.496 0 0 1-.408-.197.498.498 0 0 1-.043-.54L1.777 3.83A1.5 1.5 0 0 1 3.117 3H3.5a.5.5 0 0 1 0 1h-.382Z\",\"M4.574 4a.5.5 0 0 0-.431.248L2.177 7.617a2.997 2.997 0 0 1 4.34.75C6.78 8.138 7.124 8 7.5 8s.72.138.983.367a2.997 2.997 0 0 1 4.34-.75l-1.966-3.369a.5.5 0 0 0-.43-.248H10a.5.5 0 0 1 0-1h.426a1.5 1.5 0 0 1 1.295.744l3.207 5.497a.498.498 0 0 1-.297.742.498.498 0 0 1-.14.017H14a3 3 0 1 1-6 0v-.5a.5.5 0 0 0-1 0v.5a3 3 0 1 1-6 0H.509A.5.5 0 0 1 0 9.5v-.002a.499.499 0 0 1 .074-.26L3.28 3.744A1.5 1.5 0 0 1 4.574 3H5a.5.5 0 0 1 0 1h-.426Z\",\"M6.386 6a1 1 0 0 0-.937.649l-1.573 4.195A4.48 4.48 0 0 1 6.5 10c1.439 0 2.72.675 3.543 1.726A2.988 2.988 0 0 1 12 11c.748 0 1.431.274 1.957.726A4.492 4.492 0 0 1 17.5 10a4.48 4.48 0 0 1 2.623.844L18.55 6.649A1 1 0 0 0 17.614 6H17a1 1 0 1 1 0-2h.614a3 3 0 0 1 2.81 1.947l2.509 6.691a1.01 1.01 0 0 1 .025.65 1.002 1.002 0 0 1-.98.712h-.005a4.5 4.5 0 1 1-8.96.16A1.001 1.001 0 0 1 13 14a1 1 0 1 0-2 0 .942.942 0 0 1-.013.16 4.5 4.5 0 1 1-8.96-.16h-.004a1.002 1.002 0 0 1-.955-1.362l2.509-6.691A3 3 0 0 1 6.386 4H7a1 1 0 1 1 0 2h-.614Z\",\"M9.288 8a1 1 0 0 0-.91.586l-2.37 5.212a6 6 0 0 1 8.421 2.646A2.986 2.986 0 0 1 16 16c.576 0 1.114.162 1.57.443a6 6 0 0 1 8.421-2.645l-2.369-5.212a1 1 0 0 0-.91-.586H22a1 1 0 1 1 0-2h.712a3 3 0 0 1 2.731 1.759l4.455 9.8A.995.995 0 0 1 30 18a.996.996 0 0 1-.812.982A.987.987 0 0 1 29 19a6 6 0 0 1-12 0 1 1 0 1 0-2 0 6 6 0 0 1-12 0 1.002 1.002 0 0 1-.908-1.42l4.464-9.82A3 3 0 0 1 9.288 6H10a1 1 0 0 1 0 2h-.712Z\"],[\"M3.118 4a.5.5 0 0 0-.447.276l-1.245 2.49A1.997 1.997 0 0 1 3 6c.654 0 1.235.314 1.6.8.25-.188.562-.3.9-.3.338 0 .65.112.9.3a2 2 0 0 1 3.174-.035L8.329 4.276A.5.5 0 0 0 7.882 4H7.5a.5.5 0 0 1 0-1h.382a1.5 1.5 0 0 1 1.341.83l1.718 3.434a.497.497 0 0 1-.137.633.498.498 0 0 1-.314.103H10a2 2 0 1 1-4 0 .5.5 0 0 0-1 0 2 2 0 1 1-4 0H.51a.496.496 0 0 1-.408-.197.498.498 0 0 1-.043-.54L1.776 3.83A1.5 1.5 0 0 1 3.119 3H3.5a.5.5 0 0 1 0 1h-.382ZM7 8a1 1 0 1 0 2 0 1 1 0 0 0-2 0ZM3 7a1 1 0 1 0 0 2 1 1 0 0 0 0-2Z\",\"M4.574 4a.5.5 0 0 0-.431.248L2.177 7.617a2.997 2.997 0 0 1 4.34.75C6.78 8.138 7.124 8 7.5 8s.72.138.983.367a2.997 2.997 0 0 1 4.34-.75l-1.966-3.369A.5.5 0 0 0 10.426 4H10a.5.5 0 0 1 0-1h.425a1.5 1.5 0 0 1 1.296.744l3.205 5.494a.498.498 0 0 1 .074.26V9.5a.497.497 0 0 1-.509.5H14a3 3 0 1 1-6 0v-.5a.5.5 0 0 0-1 0v.5a3 3 0 1 1-6 0H.509A.5.5 0 0 1 0 9.5v-.002a.499.499 0 0 1 .074-.26L3.28 3.744A1.5 1.5 0 0 1 4.574 3H5a.5.5 0 0 1 0 1h-.426ZM9 10a2 2 0 1 0 4 0 2 2 0 0 0-4 0ZM4 8a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z\",\"M6.386 6a1 1 0 0 0-.937.649l-1.573 4.195A4.48 4.48 0 0 1 6.5 10c1.439 0 2.72.675 3.543 1.726A2.988 2.988 0 0 1 12 11c.748 0 1.431.274 1.957.726A4.492 4.492 0 0 1 17.5 10a4.48 4.48 0 0 1 2.623.844L18.55 6.649A1 1 0 0 0 17.614 6H17a1 1 0 1 1 0-2h.614a3 3 0 0 1 2.81 1.947l2.509 6.691a1.01 1.01 0 0 1 .025.65 1.002 1.002 0 0 1-.98.712h-.005a4.5 4.5 0 1 1-8.96.16A1.001 1.001 0 0 1 13 14a1 1 0 1 0-2 0 .942.942 0 0 1-.013.16 4.5 4.5 0 1 1-8.96-.16h-.004a1.002 1.002 0 0 1-.955-1.362l2.509-6.691A3 3 0 0 1 6.386 4H7a1 1 0 1 1 0 2h-.614ZM4 14.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0ZM17.5 12a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z\",\"M9.288 8a1 1 0 0 0-.91.586l-2.37 5.212a6 6 0 0 1 8.421 2.646A2.986 2.986 0 0 1 16 16c.576 0 1.114.162 1.57.443a6 6 0 0 1 8.421-2.645l-2.369-5.212a1 1 0 0 0-.91-.586H22a1 1 0 1 1 0-2h.712a3 3 0 0 1 2.731 1.759l4.455 9.8A.995.995 0 0 1 30 18a.996.996 0 0 1-.812.982A.987.987 0 0 1 29 19a6 6 0 0 1-12 0 1 1 0 1 0-2 0 6 6 0 0 1-12 0 1.002 1.002 0 0 1-.908-1.42l4.464-9.82A3 3 0 0 1 9.288 6H10a1 1 0 0 1 0 2h-.712ZM5 19a4 4 0 1 1 8 0 4 4 0 0 1-8 0Zm14 0a4 4 0 1 0 8 0 4 4 0 0 0-8 0Z\"]];","export default [[\"<path d='M5.163 4c.067-.383.152-.728.25-1.024.127-.378.266-.648.396-.813a.618.618 0 0 1 .15-.145.147.147 0 0 1 .033-.016L6 2l.008.002a.147.147 0 0 1 .033.016.618.618 0 0 1 .15.145c.13.165.27.435.395.813.099.296.184.64.25 1.024H5.164ZM1.1 5a5.023 5.023 0 0 0 0 2h2.936a13.809 13.809 0 0 1 0-2H1.1Zm.316 3a5.001 5.001 0 0 0 9.168 0H7.851a8.436 8.436 0 0 1-.316 1.34c-.145.436-.33.825-.558 1.116C6.752 10.74 6.426 11 6 11c-.426 0-.752-.26-.977-.544-.228-.29-.413-.68-.558-1.116A8.436 8.436 0 0 1 4.149 8H1.416ZM10.9 7a5.022 5.022 0 0 0 0-2H7.964a13.809 13.809 0 0 1 0 2H10.9Z'></path><path d='M10.584 4a5.001 5.001 0 0 0-9.168 0h2.733c.079-.495.185-.948.316-1.34.145-.436.33-.826.558-1.116C5.248 1.26 5.574 1 6 1c.426 0 .752.26.977.544.228.29.413.68.558 1.116.13.392.237.845.316 1.34h2.733Zm-5.17 5.024A7.178 7.178 0 0 1 5.164 8h1.673a7.178 7.178 0 0 1-.25 1.024c-.127.378-.266.648-.396.813a.618.618 0 0 1-.15.145.148.148 0 0 1-.033.016L6 10l-.008-.002a.148.148 0 0 1-.033-.016.618.618 0 0 1-.15-.145c-.13-.165-.27-.435-.395-.813ZM5 6c0 .346.013.68.039 1H6.96a12.757 12.757 0 0 0 0-2H5.04c-.027.32-.04.654-.04 1Z'></path>\",\"<path d='M6.699 3.583c-.159.414-.297.89-.407 1.417h3.416a9.263 9.263 0 0 0-.407-1.417c-.213-.554-.455-.969-.698-1.236C8.36 2.08 8.156 2 8 2c-.156 0-.36.08-.603.347-.243.267-.485.682-.698 1.236Z'></path><path d='M1.674 5h3.598a10.53 10.53 0 0 1 .494-1.776c.239-.621.536-1.159.891-1.55C7.012 1.284 7.465 1 8 1c.535 0 .988.284 1.343.674.355.391.652.929.891 1.55.201.522.368 1.12.494 1.776h3.598A7 7 0 0 0 1.674 5ZM1.29 6A7.001 7.001 0 0 0 1 8c0 .695.101 1.366.29 2h3.827A16.827 16.827 0 0 1 5 8c0-.693.04-1.365.117-2H1.29Zm.384 5a7 7 0 0 0 12.652 0h-3.598a10.523 10.523 0 0 1-.494 1.776c-.239.621-.536 1.159-.891 1.55-.355.39-.808.674-1.343.674-.535 0-.988-.284-1.343-.674-.355-.391-.652-.929-.891-1.55A10.53 10.53 0 0 1 5.272 11H1.674Zm13.036-1c.189-.634.29-1.305.29-2 0-.695-.101-1.366-.29-2h-3.827c.076.635.117 1.307.117 2 0 .693-.04 1.365-.117 2h3.827ZM6 8c0-.703.044-1.375.125-2h3.75c.08.625.125 1.297.125 2 0 .703-.044 1.375-.125 2h-3.75A15.731 15.731 0 0 1 6 8Z'></path><path d='M6.699 12.417A9.26 9.26 0 0 1 6.292 11h3.416a9.26 9.26 0 0 1-.407 1.417c-.213.554-.455.969-.698 1.236C8.36 13.92 8.156 14 8 14c-.156 0-.36-.08-.603-.347-.243-.267-.485-.682-.698-1.236Z'></path>\",\"<path d='M1.75 8C3.35 3.903 7.336 1 12 1c-1.963 0-3.472 1.566-4.43 3.482C7.063 5.495 6.663 6.689 6.394 8H1.75Zm-.569 2a11.063 11.063 0 0 0 0 4h4.914a20.865 20.865 0 0 1 0-4H1.181Zm.569 6c1.6 4.097 5.586 7 10.25 7s8.65-2.903 10.25-7h-4.644c-.27 1.311-.67 2.505-1.176 3.518C15.472 21.434 13.964 23 12 23c-1.963 0-3.472-1.566-4.43-3.482-.507-1.013-.907-2.207-1.176-3.518H1.75Zm21.069-2a11.057 11.057 0 0 0 0-4h-4.914a20.855 20.855 0 0 1 0 4h4.914Zm-.569-6h-4.644c-.27-1.311-.67-2.505-1.176-3.518C15.472 2.566 13.964 1 12 1c4.664 0 8.65 2.903 10.25 7ZM8.441 8c.232-.993.546-1.88.918-2.624C10.21 3.673 11.202 3 12 3s1.79.673 2.641 2.376c.372.744.686 1.631.918 2.624H8.44Z'></path><path d='M9.359 18.624c-.372-.744-.686-1.631-.918-2.624h7.118c-.232.993-.546 1.88-.918 2.624C13.79 20.327 12.798 21 12 21s-1.79-.673-2.641-2.376ZM8 12c0 .69.037 1.358.105 2h7.79a18.993 18.993 0 0 0 0-4h-7.79C8.037 10.642 8 11.31 8 12Z'></path>\",\"<path d='M3.347 10C5.594 5.27 10.415 2 16 2c-2.477 0-4.493 1.85-5.83 4.334C9.59 7.409 9.11 8.646 8.752 10H3.347Zm-.767 2A14.003 14.003 0 0 0 2 16c0 1.39.203 2.733.58 4h5.743A24.48 24.48 0 0 1 8 16c0-1.386.112-2.729.323-4H2.58Zm.767 10c2.247 4.73 7.068 8 12.653 8 5.585 0 10.406-3.27 12.653-8h-5.405c-.36 1.354-.839 2.591-1.418 3.666C20.493 28.151 18.477 30 16 30s-4.493-1.85-5.83-4.334C9.59 24.591 9.11 23.354 8.752 22H3.347Zm26.073-2c.377-1.267.58-2.61.58-4 0-1.39-.203-2.733-.58-4h-5.743c.21 1.271.323 2.614.323 4 0 1.386-.112 2.729-.323 4h5.743Zm-.767-10h-5.405c-.36-1.354-.839-2.591-1.418-3.666C20.493 3.849 18.477 2 16 2c5.585 0 10.406 3.27 12.653 8ZM10.83 10a14.49 14.49 0 0 1 1.1-2.718C13.128 5.06 14.612 4 16 4c1.389 0 2.873 1.06 4.07 3.282.427.795.8 1.71 1.1 2.718H10.83Z'></path><path d='M11.93 24.718c-.427-.795-.8-1.71-1.1-2.718h10.34a14.472 14.472 0 0 1-1.1 2.718C18.872 26.94 17.388 28 16 28c-1.389 0-2.873-1.06-4.07-3.282ZM10 16c0 1.408.125 2.753.353 4h11.294c.228-1.247.353-2.592.353-4s-.125-2.753-.353-4H10.353A22.312 22.312 0 0 0 10 16Z'></path>\"],[\"M6 1a5 5 0 1 0 0 10A5 5 0 0 0 6 1Zm0 1 .008.002a.148.148 0 0 1 .033.016.618.618 0 0 1 .15.145c.13.165.27.435.395.813.099.296.184.64.25 1.024H5.164c.067-.383.152-.728.25-1.024.127-.378.266-.648.396-.813a.618.618 0 0 1 .15-.145.148.148 0 0 1 .033-.016A.037.037 0 0 1 6 2Zm1.377.243c.057.133.11.272.158.417.13.392.237.845.316 1.34h1.614a4.013 4.013 0 0 0-2.088-1.757ZM9.874 5h-1.91a13.808 13.808 0 0 1 0 2h1.91a4.007 4.007 0 0 0 0-2Zm-.41 3H7.852a8.435 8.435 0 0 1-.316 1.34c-.048.145-.1.284-.158.417A4.013 4.013 0 0 0 9.465 8Zm-4.84 1.757a5.29 5.29 0 0 1-.158-.417A8.435 8.435 0 0 1 4.149 8H2.535a4.013 4.013 0 0 0 2.088 1.757ZM2.126 7h1.91a13.81 13.81 0 0 1 0-2h-1.91a4.007 4.007 0 0 0 0 2Zm.41-3h1.613c.079-.495.185-.948.316-1.34.048-.145.1-.284.158-.417A4.013 4.013 0 0 0 2.535 4ZM5 6c0-.346.013-.68.039-1H6.96a12.756 12.756 0 0 1 0 2H5.04C5.013 6.68 5 6.346 5 6Zm.414 3.024A7.178 7.178 0 0 1 5.164 8h1.673a7.176 7.176 0 0 1-.25 1.024c-.127.378-.266.648-.396.813a.618.618 0 0 1-.15.145.147.147 0 0 1-.033.016L6 10l-.008-.002a.147.147 0 0 1-.033-.016.618.618 0 0 1-.15-.145c-.13-.165-.27-.435-.395-.813Z\",\"M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0ZM7.397 2.347C7.64 2.08 7.844 2 8 2c.156 0 .36.08.603.347.243.267.485.682.698 1.236.159.414.297.89.407 1.417H6.292c.11-.527.248-1.003.407-1.417.213-.554.455-.969.698-1.236ZM5.272 5a10.53 10.53 0 0 1 .494-1.776 6.18 6.18 0 0 1 .457-.957A6.016 6.016 0 0 0 2.803 5h2.47Zm-2.93 1h2.775A16.827 16.827 0 0 0 5 8c0 .693.04 1.365.117 2H2.34A5.99 5.99 0 0 1 2 8c0-.701.12-1.374.341-2Zm.46 5a6.016 6.016 0 0 0 3.421 2.733 6.179 6.179 0 0 1-.457-.957A10.53 10.53 0 0 1 5.272 11h-2.47Zm3.49 0a9.26 9.26 0 0 0 .407 1.417c.213.554.455.969.698 1.236.243.267.447.347.603.347.156 0 .36-.08.603-.347.243-.267.485-.682.698-1.236A9.26 9.26 0 0 0 9.708 11H6.292Zm4.436 0a10.523 10.523 0 0 1-.494 1.776 6.155 6.155 0 0 1-.457.957A6.016 6.016 0 0 0 13.197 11h-2.47Zm2.93-1h-2.775c.076-.635.117-1.307.117-2 0-.693-.04-1.365-.117-2h2.776A5.99 5.99 0 0 1 14 8a5.99 5.99 0 0 1-.341 2Zm-.46-5a6.016 6.016 0 0 0-3.421-2.733c.17.285.323.608.457.957.201.522.368 1.12.494 1.776h2.47ZM9.874 6c.08.625.125 1.297.125 2 0 .703-.044 1.375-.125 2h-3.75A15.731 15.731 0 0 1 6 8c0-.703.044-1.375.125-2h3.75Z\",\"M12 23c6.075 0 11-4.925 11-11S18.075 1 12 1 1 5.925 1 12s4.925 11 11 11Zm0-20c-.798 0-1.79.673-2.641 2.376C8.987 6.12 8.673 7.007 8.44 8h7.118c-.232-.993-.546-1.88-.918-2.624C13.79 3.673 12.798 3 12 3ZM7.57 4.482C7.063 5.495 6.663 6.689 6.394 8H3.936a9.04 9.04 0 0 1 3.872-3.966c-.083.147-.162.296-.238.448ZM6.095 10H3.223a9.029 9.029 0 0 0 0 4h2.872a20.865 20.865 0 0 1 0-4Zm.299 6H3.936a9.04 9.04 0 0 0 3.872 3.966 10.266 10.266 0 0 1-.238-.448c-.507-1.013-.907-2.207-1.176-3.518Zm2.047 0h7.118c-.232.993-.546 1.88-.918 2.624C13.79 20.327 12.798 21 12 21s-1.79-.673-2.641-2.376c-.372-.744-.686-1.631-.918-2.624Zm7.454-2h-7.79A18.788 18.788 0 0 1 8 12c0-.69.037-1.358.105-2h7.79a18.993 18.993 0 0 1 0 4Zm1.711 2c-.27 1.311-.67 2.505-1.176 3.518-.076.152-.155.301-.238.448A9.04 9.04 0 0 0 20.064 16h-2.458Zm3.171-2h-2.872a20.855 20.855 0 0 0 0-4h2.872a9.033 9.033 0 0 1 0 4Zm-4.585-9.966A9.04 9.04 0 0 1 20.064 8h-2.458c-.27-1.311-.67-2.505-1.176-3.518a10.379 10.379 0 0 0-.238-.448Z\",\"M16 30c7.732 0 14-6.268 14-14S23.732 2 16 2 2 8.268 2 16s6.268 14 14 14Zm0-26c-1.389 0-2.873 1.06-4.07 3.282-.427.795-.8 1.71-1.1 2.718h10.34a14.473 14.473 0 0 0-1.1-2.718C18.872 5.06 17.388 4 16 4Zm-5.83 2.334C9.59 7.409 9.11 8.646 8.752 10H5.605a12.051 12.051 0 0 1 5.302-4.869c-.264.379-.51.782-.737 1.203ZM8.323 12h-3.64A11.98 11.98 0 0 0 4 16c0 1.402.24 2.749.683 4h3.64A24.48 24.48 0 0 1 8 16c0-1.386.112-2.729.323-4Zm.429 10H5.605a12.051 12.051 0 0 0 5.302 4.869c-.264-.379-.51-.782-.737-1.203-.58-1.075-1.06-2.312-1.418-3.666Zm2.077 0H21.17a14.472 14.472 0 0 1-1.1 2.718C18.872 26.94 17.388 28 16 28c-1.389 0-2.873-1.06-4.07-3.282-.427-.795-.8-1.71-1.1-2.718Zm10.818-2H10.353A22.312 22.312 0 0 1 10 16c0-1.408.125-2.753.353-4h11.294c.228 1.247.353 2.592.353 4s-.125 2.753-.353 4Zm1.601 2c-.36 1.354-.839 2.591-1.418 3.666-.226.421-.473.824-.737 1.203A12.051 12.051 0 0 0 26.395 22h-3.147Zm4.07-2h-3.641c.21-1.271.323-2.614.323-4 0-1.386-.112-2.729-.323-4h3.64A11.98 11.98 0 0 1 28 16c0 1.402-.24 2.749-.683 4ZM21.092 5.131A12.052 12.052 0 0 1 26.395 10h-3.147c-.36-1.354-.839-2.591-1.418-3.666a12.186 12.186 0 0 0-.737-1.203Z\"]];","export default [[\"<path d='M6 1c-.426 0-.752.26-.977.544-.228.29-.413.68-.558 1.116-.13.392-.237.845-.316 1.34H1.416A5.001 5.001 0 0 1 6 1Zm0 0a5.001 5.001 0 0 1 4.584 3H7.851a8.436 8.436 0 0 0-.316-1.34c-.145-.436-.33-.826-.558-1.116C6.752 1.26 6.426 1 6 1ZM4 8.5c0-.169.01-.336.027-.5H1.416a5.013 5.013 0 0 0 3.223 2.813A4.48 4.48 0 0 1 4 8.5ZM5.671 5a4.527 4.527 0 0 0-.667.666c.006-.228.018-.45.035-.666h.632Zm-.257-2.024c-.099.296-.184.64-.25 1.024h1.673a7.178 7.178 0 0 0-.25-1.024c-.127-.378-.266-.648-.396-.813a.618.618 0 0 0-.15-.145.147.147 0 0 0-.033-.016L6 2l-.008.002a.147.147 0 0 0-.033.016.618.618 0 0 0-.15.145c-.13.165-.27.435-.395.813ZM1.1 5a5.023 5.023 0 0 0 0 2h2.936a13.809 13.809 0 0 1 0-2H1.1ZM9 7.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 0-1H9v-.5Z'></path><path d='M8.5 12a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm0-1a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5Z'></path>\",\"<path d='M5.272 5H1.674A7 7 0 0 1 8 1c-.535 0-.988.284-1.343.674-.355.391-.652.929-.891 1.55-.201.522-.368 1.12-.494 1.776ZM8 1a7 7 0 0 1 6.326 4h-3.598a10.522 10.522 0 0 0-.494-1.776c-.239-.621-.536-1.159-.891-1.55C8.988 1.284 8.535 1 8 1ZM6.292 5c.11-.527.248-1.003.407-1.417.213-.554.455-.969.698-1.236C7.64 2.08 7.844 2 8 2c.156 0 .36.08.603.347.243.267.485.682.698 1.236.159.414.297.89.407 1.417H6.292ZM1 8c0-.695.101-1.366.29-2h3.827A16.827 16.827 0 0 0 5 8c0 .693.04 1.365.117 2H1.29A7.001 7.001 0 0 1 1 8Zm5.207 2a5.512 5.512 0 0 1 3.697-3.765A14.46 14.46 0 0 0 9.875 6h-3.75C6.045 6.625 6 7.297 6 8c0 .703.044 1.375.125 2h.082Zm1.015 4.957A7.005 7.005 0 0 1 1.674 11h3.598c.126.655.293 1.254.494 1.776.239.621.536 1.159.891 1.55.096.106.2.204.31.29.081.117.166.231.255.341ZM11.5 6c1.31 0 2.513.458 3.457 1.222A6.963 6.963 0 0 0 14.71 6H11.5Zm0 0h-.617l.004.034c.201-.023.406-.034.613-.034Zm.5 3.5a.5.5 0 0 0-1 0v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 0-1H12V9.5Z'></path><path d='M11.5 16a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm0-1a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7Z'></path>\",\"<path d='M1.75 8C3.35 3.903 7.336 1 12 1c-1.963 0-3.472 1.566-4.43 3.482C7.063 5.495 6.663 6.689 6.394 8H1.75ZM12 1c4.664 0 8.65 2.903 10.25 7h-4.644c-.27-1.311-.67-2.505-1.176-3.518C15.472 2.566 13.964 1 12 1ZM1 12c0-.683.062-1.351.181-2h4.914a20.865 20.865 0 0 0 0 4H1.181A11.063 11.063 0 0 1 1 12Zm7.512 2a9.018 9.018 0 0 1 2.83-4H8.106a18.993 18.993 0 0 0-.001 4h.407ZM1.75 16a11.016 11.016 0 0 0 8.407 6.846 9.035 9.035 0 0 1-.543-.702c-.835-.64-1.521-1.58-2.044-2.626-.507-1.013-.907-2.207-1.176-3.518H1.75ZM9.359 5.376C8.987 6.12 8.673 7.007 8.44 8h7.118c-.232-.993-.546-1.88-.918-2.624C13.79 3.673 12.798 3 12 3s-1.79.673-2.641 2.376ZM18 14a1 1 0 1 0-2 0v3a1 1 0 0 0 1 1h2a1 1 0 1 0 0-2h-1v-2Z'></path><path d='M17 24a7 7 0 1 0 0-14 7 7 0 0 0 0 14Zm0-2a5 5 0 1 1 0-10 5 5 0 0 1 0 10Z'></path>\",\"<path d='M16 2C10.415 2 5.594 5.27 3.347 10h5.405c.36-1.354.839-2.591 1.418-3.666C11.507 3.849 13.523 2 16 2Zm0 0c2.477 0 4.493 1.85 5.83 4.334.58 1.075 1.059 2.312 1.418 3.666h5.405C26.406 5.27 21.585 2 16 2ZM2.58 12A14.003 14.003 0 0 0 2 16c0 1.39.203 2.733.58 4h5.743A24.48 24.48 0 0 1 8 16c0-1.386.112-2.729.323-4H2.58Zm14.831 0a11.017 11.017 0 0 0-6.23 8h-.828A22.312 22.312 0 0 1 10 16c0-1.408.125-2.753.353-4h7.058Zm9.178 0a11.027 11.027 0 0 1 3.315 2.35A13.926 13.926 0 0 0 29.42 12h-2.83ZM14.35 29.904C9.476 29.33 5.37 26.257 3.346 22h5.405c.36 1.354.839 2.591 1.418 3.666.965 1.794 2.284 3.256 3.875 3.93.1.105.2.207.304.308Zm-3.335-7.32c-.01-.193-.015-.388-.015-.584h-.17c.059.199.12.393.185.584Zm.915-15.302c-.427.795-.8 1.71-1.1 2.718h10.34a14.473 14.473 0 0 0-1.1-2.718C18.872 5.06 17.388 4 16 4c-1.389 0-2.873 1.06-4.07 3.282ZM23 18a1 1 0 1 0-2 0v4a1 1 0 0 0 1 1h3a1 1 0 1 0 0-2h-2v-3Z'></path><path d='M13 22a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"],[\"<path d='M1 6a5 5 0 0 1 9.813-1.361A4.479 4.479 0 0 0 8.5 4h.965a4.013 4.013 0 0 0-2.088-1.757c.057.133.11.272.158.417.13.392.237.845.316 1.34H8.5a4.481 4.481 0 0 0-2.829 1H5.04c-.017.215-.029.438-.035.666A4.48 4.48 0 0 0 4.027 8H2.535A4.019 4.019 0 0 0 4.12 9.53c.107.459.284.89.52 1.283A5.002 5.002 0 0 1 1 6Zm5.008-3.998L6 2l-.008.002a.148.148 0 0 0-.033.016.618.618 0 0 0-.15.145c-.13.165-.27.435-.395.813-.099.296-.184.64-.25 1.024h1.673a7.177 7.177 0 0 0-.25-1.024c-.127-.378-.266-.648-.396-.813a.618.618 0 0 0-.15-.145.148.148 0 0 0-.033-.016ZM4.036 7a13.81 13.81 0 0 1 0-2h-1.91a4.007 4.007 0 0 0 0 2h1.91Zm.113-3c.079-.495.185-.948.316-1.34.048-.145.1-.284.158-.417A4.013 4.013 0 0 0 2.535 4H4.15Z'></path><path d='M9 7.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 0-1H9v-.5Z'></path><path d='M8.5 12a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm0-1a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5Z'></path>\",\"<path d='M14.957 7.222a7.001 7.001 0 1 0-7.735 7.735A5.477 5.477 0 0 1 6 11.5a5.5 5.5 0 0 1 .207-1.5h-.082A15.731 15.731 0 0 1 6 8c0-.703.044-1.375.125-2h3.75l.029.235c.316-.096.645-.164.983-.201L10.883 6h2.776c.058.166.11.336.154.509.412.19.796.431 1.144.713ZM8 2c.156 0 .36.08.603.347.243.267.485.682.698 1.236.159.414.297.89.407 1.417H6.292c.11-.527.248-1.003.407-1.417.213-.554.455-.969.698-1.236C7.64 2.08 7.844 2 8 2ZM5.766 3.224c-.201.522-.368 1.12-.494 1.776h-2.47a6.016 6.016 0 0 1 3.421-2.733 6.18 6.18 0 0 0-.457.957ZM5.116 6A16.827 16.827 0 0 0 5 8c0 .693.04 1.365.117 2H2.34A5.99 5.99 0 0 1 2 8c0-.701.12-1.374.341-2h2.776Zm1.107 7.733A6.016 6.016 0 0 1 2.803 11h2.47c.125.655.292 1.254.493 1.776.134.349.286.672.457.957ZM9.777 2.267A6.016 6.016 0 0 1 13.197 5h-2.47a10.522 10.522 0 0 0-.493-1.776 6.178 6.178 0 0 0-.457-.957Z'></path><path d='M12 9.5a.5.5 0 0 0-1 0v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 0-1H12V9.5Z'></path><path d='M11.5 16a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm0-1a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7Z'></path>\",\"<path d='M10.157 22.846C4.96 21.97 1 17.447 1 12 1 5.925 5.925 1 12 1c5.447 0 9.97 3.96 10.846 9.157A8.965 8.965 0 0 0 17 8c-2.143 0-4.112.75-5.657 2H8.105a18.993 18.993 0 0 0 0 4h.407A8.985 8.985 0 0 0 8 17c0 2.232.812 4.274 2.157 5.846ZM9.36 5.376C8.987 6.12 8.673 7.007 8.44 8h7.118c-.232-.993-.546-1.88-.918-2.624C13.79 3.673 12.798 3 12 3s-1.79.673-2.641 2.376ZM6.394 8c.27-1.311.67-2.505 1.176-3.518.076-.152.155-.301.238-.448A9.04 9.04 0 0 0 3.936 8h2.458Zm-3.171 2a9.029 9.029 0 0 0 0 4h2.872a20.865 20.865 0 0 1 0-4H3.223Zm.713 6a9.04 9.04 0 0 0 3.872 3.966 10.266 10.266 0 0 1-.238-.448c-.507-1.013-.907-2.207-1.176-3.518H3.936Zm16.128-8a9.04 9.04 0 0 0-3.872-3.966c.083.147.162.296.238.448.507 1.013.907 2.207 1.176 3.518h2.458Z'></path><path d='M18 14a1 1 0 1 0-2 0v3a1 1 0 0 0 1 1h2a1 1 0 1 0 0-2h-1v-2Z'></path><path d='M17 24a7 7 0 1 0 0-14 7 7 0 0 0 0 14Zm0-2a5 5 0 1 1 0-10 5 5 0 0 1 0 10Z'></path>\",\"<path d='M14.35 29.904C7.394 29.087 2 23.174 2 16 2 8.268 8.268 2 16 2c7.174 0 13.087 5.395 13.904 12.35a11.044 11.044 0 0 0-2.437-1.897 11.924 11.924 0 0 0-.15-.453h-.728A10.96 10.96 0 0 0 22 11a10.96 10.96 0 0 0-4.589 1h-7.058A22.312 22.312 0 0 0 10 16c0 1.408.125 2.753.353 4h.828A11.078 11.078 0 0 0 11 22h-.17c.059.199.12.393.185.584.15 2.869 1.4 5.446 3.334 7.32ZM11.93 7.282c-.427.795-.8 1.71-1.1 2.718h10.34a14.473 14.473 0 0 0-1.1-2.718C18.872 5.06 17.388 4 16 4c-1.389 0-2.873 1.06-4.07 3.282ZM8.753 10c.36-1.354.839-2.591 1.418-3.666.226-.421.473-.824.737-1.203A12.051 12.051 0 0 0 5.605 10h3.147Zm-4.07 2A11.98 11.98 0 0 0 4 16c0 1.402.24 2.749.683 4h3.64A24.48 24.48 0 0 1 8 16c0-1.386.112-2.729.323-4h-3.64Zm.923 10a12.051 12.051 0 0 0 5.302 4.869c-.264-.379-.51-.782-.737-1.203C9.59 24.591 9.11 23.354 8.752 22H5.605Zm20.79-12a12.052 12.052 0 0 0-5.302-4.869c.264.379.51.782.737 1.203.58 1.075 1.059 2.312 1.418 3.666h3.147Z'></path><path d='M23 18a1 1 0 1 0-2 0v4a1 1 0 0 0 1 1h3a1 1 0 1 0 0-2h-2v-3Z'></path><path d='M13 22a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"]];","export default [[\"<path d='M5.023 1.544C5.248 1.26 5.574 1 6 1c.231 0 .433.077.606.192.036-.048.074-.095.113-.14A5.001 5.001 0 0 0 1.416 4h2.733a8.49 8.49 0 0 1 .316-1.341c.145-.436.33-.826.558-1.116ZM6 3c0-.313.048-.616.137-.9a.49.49 0 0 0-.096-.082.147.147 0 0 0-.033-.016L6 2l-.008.002a.147.147 0 0 0-.033.016.618.618 0 0 0-.15.145c-.13.165-.27.435-.395.813-.099.296-.184.64-.25 1.024h1.042A2.782 2.782 0 0 1 6 3Zm.985 2.37a9.942 9.942 0 0 1-.25-.37H5.038a12.757 12.757 0 0 0 0 2H6.96a12.757 12.757 0 0 0 .024-1.63Zm1.002 1.236A1.5 1.5 0 0 0 9 7H7.964c.01-.13.017-.26.023-.394ZM9 7c.426 0 .832-.182 1.117-.499l.002-.003.006-.005.016-.02a11.404 11.404 0 0 0 .248-.29c.155-.187.365-.45.579-.747A5.06 5.06 0 0 1 10.9 7H9ZM1.1 5a5.023 5.023 0 0 0 0 2h2.936a13.809 13.809 0 0 1 0-2H1.1Zm.316 3a5.001 5.001 0 0 0 9.168 0H7.851a8.436 8.436 0 0 1-.316 1.34c-.145.436-.33.825-.558 1.116C6.752 10.74 6.426 11 6 11c-.426 0-.752-.26-.977-.544-.228-.29-.413-.68-.558-1.116A8.436 8.436 0 0 1 4.149 8H1.416Z'></path><path d='M5.163 8c.067.383.152.728.25 1.024.127.378.266.648.396.813a.618.618 0 0 0 .15.145c.017.01.028.015.033.016A.03.03 0 0 0 6 10l.008-.002a.148.148 0 0 0 .033-.016.618.618 0 0 0 .15-.145c.13-.165.27-.435.395-.813.099-.296.184-.64.25-1.024H5.164ZM9 6a.499.499 0 0 1-.374-.169l-.004-.003-.014-.016-.018-.02-.032-.038a12.61 12.61 0 0 1-.714-.901 7.255 7.255 0 0 1-.554-.884C7.142 3.68 7 3.332 7 3a2 2 0 1 1 4 0c0 .332-.142.681-.29.969-.156.304-.36.613-.554.884a12.98 12.98 0 0 1-.764.959l-.014.016-.004.003A.499.499 0 0 1 9 6ZM8 3c0 .082.046.253.179.511.125.243.297.507.477.758.119.165.238.32.344.453.106-.134.225-.288.344-.453.18-.25.352-.515.477-.758C9.954 3.253 10 3.082 10 3a1 1 0 0 0-2 0Z'></path>\",\"<path d='M5.272 5H1.674A7 7 0 0 1 8 1c-.535 0-.988.284-1.343.674-.355.391-.652.929-.891 1.55-.201.522-.368 1.12-.494 1.776ZM8 1c1.387 0 2.68.403 3.767 1.099a3.004 3.004 0 0 0-1.994.163 3.729 3.729 0 0 0-.43-.588C8.988 1.284 8.535 1 8 1Zm6 4c0-.265-.034-.522-.099-.767.157.246.3.502.425.767H14Zm-3.028 4H11c.426 0 .832-.182 1.117-.499l.002-.003.006-.005.016-.02a11.404 11.404 0 0 0 .248-.29c.155-.187.365-.45.579-.747a8.24 8.24 0 0 0 .631-1.01c.06-.116.13-.26.195-.426h.916c.189.634.29 1.305.29 2 0 .695-.101 1.366-.29 2h-3.827c.04-.324.069-.659.089-1ZM8.4 6.427A4.516 4.516 0 0 1 8.207 6H6.125C6.045 6.625 6 7.297 6 8c0 .703.044 1.375.125 2h3.75c.057-.442.096-.908.114-1.392a1.501 1.501 0 0 1-.106-.106l-.002-.004-.006-.005-.016-.02a9.638 9.638 0 0 1-.248-.29 14 14 0 0 1-.579-.747 8.24 8.24 0 0 1-.631-1.01Zm.54-3.609A2.992 2.992 0 0 0 8 5H6.292c.11-.527.248-1.003.407-1.417.213-.554.455-.969.698-1.236C7.64 2.08 7.844 2 8 2c.156 0 .36.08.603.347.114.125.227.283.338.471ZM1.29 6A7.001 7.001 0 0 0 1 8c0 .695.101 1.366.29 2h3.827A16.827 16.827 0 0 1 5 8c0-.693.04-1.365.117-2H1.29Zm.384 5a7 7 0 0 0 12.652 0h-3.598a10.523 10.523 0 0 1-.494 1.776c-.239.621-.536 1.159-.891 1.55-.355.39-.808.674-1.343.674-.535 0-.988-.284-1.343-.674-.355-.391-.652-.929-.891-1.55A10.53 10.53 0 0 1 5.272 11H1.674Z'></path><path d='M6.699 12.417A9.26 9.26 0 0 1 6.292 11h3.416a9.26 9.26 0 0 1-.407 1.417c-.213.554-.455.969-.698 1.236C8.36 13.92 8.156 14 8 14c-.156 0-.36-.08-.603-.347-.243-.267-.485-.682-.698-1.236ZM11 8a.499.499 0 0 1-.374-.169l-.004-.003-.014-.016-.018-.02-.032-.038a12.978 12.978 0 0 1-.714-.901 7.255 7.255 0 0 1-.554-.884C9.142 5.68 9 5.332 9 5a2 2 0 1 1 4 0c0 .332-.142.681-.29.969-.156.304-.36.613-.554.884a12.963 12.963 0 0 1-.764.959l-.014.016-.004.003A.499.499 0 0 1 11 8Zm-1-3c0 .082.046.253.179.511.125.243.297.507.477.758.118.165.238.32.344.453.106-.134.226-.288.344-.453.18-.25.352-.515.477-.758.133-.258.179-.429.179-.511a1 1 0 1 0-2 0Z'></path>\",\"<path d='M14.336 1.248A11.043 11.043 0 0 0 12 1C7.336 1 3.35 3.903 1.75 8h4.644c.27-1.311.67-2.505 1.176-3.518C8.528 2.566 10.036 1 12 1c.715 0 1.37.208 1.96.564.12-.11.246-.215.376-.316Z'></path><path d='M12 6c0-1.025.257-1.99.71-2.833A1.696 1.696 0 0 0 12 3c-.798 0-1.79.673-2.641 2.376C8.987 6.12 8.673 7.007 8.44 8h3.972C12.19 7.43 12 6.737 12 6Zm1.469 4c.2.31.403.605.595.873a27.992 27.992 0 0 0 1.653 2.074l.034.038.01.012.006.007c.062.069.128.135.195.198-.017.27-.04.536-.067.798h-7.79A18.788 18.788 0 0 1 8 12c0-.69.037-1.358.105-2h5.364Zm6.764 3.004a3 3 0 0 1-2.328.995V14h4.914a11.057 11.057 0 0 0 0-4h-.288c-.2.31-.403.605-.595.873a27.992 27.992 0 0 1-1.653 2.074l-.034.038-.01.012-.006.007ZM1.181 10a11.063 11.063 0 0 0 0 4h4.914a20.865 20.865 0 0 1 0-4H1.181Zm.569 6c1.6 4.097 5.586 7 10.25 7s8.65-2.903 10.25-7h-4.644c-.27 1.311-.67 2.505-1.176 3.518C15.472 21.434 13.964 23 12 23c-1.963 0-3.472-1.566-4.43-3.482-.507-1.013-.907-2.207-1.176-3.518H1.75Z'></path><path d='M8.441 16c.232.993.546 1.88.918 2.624C10.21 20.327 11.202 21 12 21s1.79-.673 2.641-2.376c.372-.744.686-1.631.918-2.624H8.44ZM18 12c.298 0 .566-.13.749-.337l.007-.008.027-.031.102-.116a26.004 26.004 0 0 0 1.427-1.803c.39-.542.796-1.16 1.108-1.767.296-.575.58-1.274.58-1.938a4 4 0 0 0-8 0c0 .664.284 1.363.58 1.938.312.608.719 1.225 1.108 1.767a26.004 26.004 0 0 0 1.529 1.919l.027.031.007.008A.997.997 0 0 0 18 12Zm0-8a2 2 0 0 1 2 2c0 .164-.091.505-.358 1.023-.25.485-.593 1.013-.954 1.514-.237.33-.475.64-.688.906-.213-.266-.45-.576-.688-.906-.36-.5-.704-1.03-.954-1.514C16.09 6.505 16 6.164 16 6a2 2 0 0 1 2-2Z'></path>\",\"<path d='M3.347 10C5.594 5.27 10.415 2 16 2c-2.477 0-4.493 1.85-5.83 4.334C9.59 7.409 9.11 8.646 8.752 10H3.347ZM16 2c1.363 0 2.586.56 3.633 1.477a7.135 7.135 0 0 1 1.06-.671A13.977 13.977 0 0 0 16 2Zm7.921 15.999L24 18a3 3 0 0 0 2.167-.926l.007-.007.013-.013.042-.045.146-.156c.122-.133.294-.32.497-.551a34.18 34.18 0 0 0 1.508-1.824c.405-.528.84-1.132 1.232-1.764.254 1.054.388 2.154.388 3.286 0 1.39-.203 2.733-.58 4h-5.743c.108-.65.19-1.318.244-2.001Zm-5.926-5.955L17.971 12h-7.618A22.312 22.312 0 0 0 10 16c0 1.408.125 2.753.353 4h11.294c.162-.886.272-1.82.322-2.792a3.003 3.003 0 0 1-.136-.134l-.007-.007-.013-.013-.042-.045-.146-.156c-.122-.133-.294-.32-.497-.551a34.18 34.18 0 0 1-1.508-1.824c-.546-.712-1.147-1.564-1.625-2.434Zm.239-7.134A6.505 6.505 0 0 0 17 8.75c0 .432.062.853.16 1.25h-6.33a14.49 14.49 0 0 1 1.1-2.718C13.128 5.06 14.612 4 16 4c.737 0 1.5.299 2.234.91ZM2.58 12A14.003 14.003 0 0 0 2 16c0 1.39.203 2.733.58 4h5.743A24.48 24.48 0 0 1 8 16c0-1.386.112-2.729.323-4H2.58Zm.767 10c2.247 4.73 7.068 8 12.653 8 5.585 0 10.406-3.27 12.653-8h-5.405c-.36 1.354-.839 2.591-1.418 3.666C20.493 28.151 18.477 30 16 30s-4.493-1.85-5.83-4.334C9.59 24.591 9.11 23.354 8.752 22H3.347Z'></path><path d='M10.83 22a14.49 14.49 0 0 0 1.1 2.718C13.128 26.94 14.612 28 16 28c1.389 0 2.873-1.06 4.07-3.282.427-.795.8-1.71 1.1-2.718H10.83ZM24 10a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='m24.727 15.687.01-.01.036-.039.133-.143a32.6 32.6 0 0 0 1.887-2.235c.516-.671 1.05-1.433 1.459-2.178.39-.71.748-1.548.748-2.332C29 6.067 26.7 4 24 4s-5 2.067-5 4.75c0 .784.359 1.621.748 2.332.41.745.943 1.506 1.459 2.178a32.6 32.6 0 0 0 2.02 2.378l.036.039.01.01.004.004a.997.997 0 0 0 1.446 0l.004-.004ZM21 8.75C21 7.291 22.281 6 24 6s3 1.291 3 2.75c0 .251-.141.713-.502 1.369-.34.62-.807 1.292-1.291 1.924-.43.56-.86 1.071-1.207 1.468a30.285 30.285 0 0 1-1.207-1.468c-.484-.632-.95-1.303-1.291-1.924C21.142 9.463 21 9.001 21 8.75Z'></path>\"],[\"<path d='M6 1c.244 0 .484.018.719.051-.26.304-.46.66-.582 1.05a.49.49 0 0 0-.096-.083.148.148 0 0 0-.033-.016L6 2l-.008.002a.148.148 0 0 0-.033.016.618.618 0 0 0-.15.145c-.13.165-.27.435-.395.813-.099.296-.184.64-.25 1.024h1.042c.065.166.135.31.195.427.101.197.216.39.334.573H5.039a12.756 12.756 0 0 0 0 2H6.96a12.753 12.753 0 0 0 .024-1.63l.047.067c.214.296.424.56.579.746l.1.12.091.106.073.084.006.006.002.002c.033.037.068.072.104.105A13.43 13.43 0 0 1 7.964 7h1.91c.028-.11.052-.222.071-.335.061-.05.119-.105.172-.164l-.016-.015.018.013.006-.006.073-.084a15.424 15.424 0 0 0 .77-.972v-.001A5 5 0 1 1 6 1Zm3.465 7H7.85a8.435 8.435 0 0 1-.316 1.34c-.048.145-.1.284-.158.417A4.013 4.013 0 0 0 9.465 8ZM4.623 9.757a5.29 5.29 0 0 1-.158-.417A8.435 8.435 0 0 1 4.149 8H2.535a4.013 4.013 0 0 0 2.088 1.757ZM2.126 7h1.91a13.81 13.81 0 0 1 0-2h-1.91a4.007 4.007 0 0 0 0 2Zm.41-3h1.613c.079-.495.185-.948.316-1.34.048-.145.1-.284.158-.417A4.013 4.013 0 0 0 2.535 4Zm2.878 5.024c.126.378.265.648.395.813a.618.618 0 0 0 .15.145c.017.01.028.015.033.016L6 10l.008-.002a.147.147 0 0 0 .033-.016.618.618 0 0 0 .15-.145c.13-.165.27-.435.395-.813.099-.296.184-.64.25-1.024H5.164c.067.383.152.728.25 1.024Z'></path><path d='M9 6a.499.499 0 0 1-.374-.169l-.004-.003-.014-.016-.018-.02-.032-.038a12.61 12.61 0 0 1-.714-.901 7.255 7.255 0 0 1-.554-.884C7.142 3.68 7 3.332 7 3a2 2 0 1 1 4 0c0 .332-.142.681-.29.969-.156.304-.36.613-.554.884a12.98 12.98 0 0 1-.764.959l-.014.016-.004.003A.499.499 0 0 1 9 6ZM8 3c0 .082.046.253.179.511.125.243.297.507.477.758.119.165.238.32.344.453.106-.134.225-.288.344-.453.18-.25.352-.515.477-.758C9.954 3.253 10 3.082 10 3a1 1 0 0 0-2 0Z'></path>\",\"<path d='M15 8a7 7 0 1 1-3.233-5.901 3.004 3.004 0 0 0-2.826.72 2.806 2.806 0 0 0-.338-.472C8.36 2.08 8.156 2 8 2c-.156 0-.36.08-.603.347-.243.267-.485.682-.698 1.236-.159.414-.297.89-.407 1.417H8c0 .368.095.715.206 1H6.125C6.045 6.625 6 7.297 6 8c0 .703.044 1.375.125 2h3.75c.057-.442.096-.908.114-1.392A1.5 1.5 0 0 0 10.97 9c-.02.341-.049.676-.088 1h2.776A5.99 5.99 0 0 0 14 8c0-.635-.099-1.247-.281-1.82.14-.313.281-.73.281-1.18 0-.265-.034-.522-.099-.767A6.968 6.968 0 0 1 15 8ZM5.272 5a10.53 10.53 0 0 1 .494-1.776 6.18 6.18 0 0 1 .457-.957A6.016 6.016 0 0 0 2.803 5h2.47Zm-2.93 1A5.99 5.99 0 0 0 2 8c0 .701.12 1.374.341 2h2.776A16.827 16.827 0 0 1 5 8c0-.693.04-1.365.117-2H2.34Zm.46 5a6.016 6.016 0 0 0 3.421 2.733 6.179 6.179 0 0 1-.457-.957A10.53 10.53 0 0 1 5.272 11h-2.47Zm3.49 0a9.26 9.26 0 0 0 .407 1.417c.213.554.455.969.698 1.236.243.267.447.347.603.347.156 0 .36-.08.603-.347.243-.267.485-.682.698-1.236A9.26 9.26 0 0 0 9.708 11H6.292Zm4.436 0a10.523 10.523 0 0 1-.494 1.776 6.155 6.155 0 0 1-.457.957A6.016 6.016 0 0 0 13.197 11h-2.47Z'></path><path d='M11 8a.499.499 0 0 1-.374-.169l-.004-.003-.014-.016-.018-.02-.032-.038a12.978 12.978 0 0 1-.714-.901 7.255 7.255 0 0 1-.554-.884C9.142 5.68 9 5.332 9 5a2 2 0 1 1 4 0c0 .332-.142.681-.29.969-.156.304-.36.613-.554.884a12.963 12.963 0 0 1-.764.959l-.014.016-.004.003A.499.499 0 0 1 11 8Zm-1-3c0 .082.046.253.179.511.125.243.297.507.477.758.118.165.238.32.344.453.106-.134.226-.288.344-.453.18-.25.352-.515.477-.758.133-.258.179-.429.179-.511a1 1 0 1 0-2 0Z'></path>\",\"<path d='M23 12c0 6.075-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1c1.212 0 2.379.196 3.47.558a6.024 6.024 0 0 0-2.303 1.885C12.76 3.137 12.36 3 12 3c-.798 0-1.79.673-2.641 2.376C8.987 6.12 8.673 7.007 8.44 8h3.668c.16.754.463 1.408.692 1.853l.077.147H8.105a18.993 18.993 0 0 0 0 4h7.659l.003.004a3 3 0 0 0 4.466 0l.003-.004h.541c.06-.265.109-.535.145-.808.29-.356.65-.813 1.014-1.32.309-.43.645-.927.951-1.453.075.517.113 1.044.113 1.581ZM6.394 8c.27-1.311.67-2.505 1.176-3.518.076-.152.155-.301.238-.448A9.04 9.04 0 0 0 3.936 8h2.458Zm-3.171 2a9.029 9.029 0 0 0 0 4h2.872a20.865 20.865 0 0 1 0-4H3.223Zm.713 6a9.04 9.04 0 0 0 3.872 3.966 10.266 10.266 0 0 1-.238-.448c-.507-1.013-.907-2.207-1.176-3.518H3.936Zm10.705 2.624c.372-.744.686-1.631.918-2.624H8.44c.232.993.546 1.88.918 2.624C10.21 20.327 11.202 21 12 21s1.79-.673 2.641-2.376Zm1.789.894c-.076.152-.155.301-.238.448A9.04 9.04 0 0 0 20.064 16h-2.458c-.27 1.311-.67 2.505-1.176 3.518Z'></path><path d='M18 13c.298 0 .566-.13.749-.337l.007-.008.027-.031.102-.116a26.014 26.014 0 0 0 1.427-1.803c.39-.542.796-1.16 1.108-1.767.296-.575.58-1.274.58-1.938a4 4 0 0 0-8 0c0 .664.284 1.363.58 1.938.312.608.719 1.225 1.108 1.767a26.014 26.014 0 0 0 1.529 1.919l.027.031.007.008A.997.997 0 0 0 18 13Zm0-8a2 2 0 0 0-2 2c0 .164.091.505.358 1.023.25.485.593 1.013.954 1.514.237.33.475.64.688.906.213-.266.45-.576.688-.906.36-.5.704-1.03.954-1.514C19.91 7.505 20 7.164 20 7a2 2 0 0 0-2-2Z'></path>\",\"<path d='M16 30c7.732 0 14-6.268 14-14 0-1.132-.134-2.232-.388-3.286a22.107 22.107 0 0 1-1.232 1.764c-.141.184-.282.363-.42.535A11.98 11.98 0 0 1 27.317 20h-3.64c.108-.65.19-1.318.244-2.001a3 3 0 0 1-1.952-.791c-.05.972-.16 1.906-.322 2.792H10.353A22.312 22.312 0 0 1 10 16c0-1.408.125-2.753.353-4h7.618c-.277-.51-.616-1.209-.811-2h-6.33a14.49 14.49 0 0 1 1.1-2.718C13.128 5.06 14.612 4 16 4c.737 0 1.5.299 2.234.91a6.977 6.977 0 0 1 2.458-2.104A13.977 13.977 0 0 0 16 2C8.268 2 2 8.268 2 16s6.268 14 14 14ZM10.17 6.334C9.59 7.409 9.11 8.646 8.752 10H5.605a12.051 12.051 0 0 1 5.302-4.869c-.264.379-.51.782-.737 1.203ZM8.323 12A24.48 24.48 0 0 0 8 16c0 1.386.112 2.729.323 4h-3.64A11.98 11.98 0 0 1 4 16c0-1.402.24-2.749.683-4h3.64Zm.429 10c.36 1.354.839 2.591 1.418 3.666.226.421.473.824.737 1.203A12.051 12.051 0 0 1 5.605 22h3.147Zm12.418 0a14.472 14.472 0 0 1-1.1 2.718C18.872 26.94 17.388 28 16 28c-1.389 0-2.873-1.06-4.07-3.282-.427-.795-.8-1.71-1.1-2.718h10.34Zm2.078 0h3.147a12.051 12.051 0 0 1-5.302 4.869c.264-.379.51-.782.737-1.203.58-1.075 1.059-2.312 1.418-3.666Z'></path><path d='M25 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path><path d='m24.737 15.677-.01.01-.004.004a.997.997 0 0 1-1.446 0l-.004-.004-.01-.01-.036-.039a31.703 31.703 0 0 1-.601-.661 32.6 32.6 0 0 1-1.42-1.717c-.515-.671-1.048-1.433-1.458-2.178-.39-.71-.748-1.548-.748-2.332C19 6.067 21.3 4 24 4s5 2.067 5 4.75c0 .784-.359 1.621-.748 2.332-.41.745-.943 1.506-1.459 2.178a32.6 32.6 0 0 1-2.02 2.378l-.036.039ZM24 6c-1.719 0-3 1.291-3 2.75 0 .251.141.713.502 1.369.34.62.807 1.292 1.291 1.924.43.56.86 1.071 1.207 1.468.347-.397.778-.909 1.207-1.468.484-.632.95-1.303 1.291-1.924.36-.656.502-1.118.502-1.369C27 7.291 25.719 6 24 6Z'></path>\"]];","export default [[\"<path d='M5.83 2.03a.5.5 0 0 1 .34 0l5.49 1.996A.5.5 0 0 1 12 4.5v2a.5.5 0 0 1-1 0V5.214L6.17 6.97a.5.5 0 0 1-.34 0l-5.5-2a.5.5 0 0 1 0-.94l5.5-2Z'></path><path d='M5.487 7.91 2.314 6.756l-.303 1.441A.5.5 0 0 0 2 8.3c0 .41.28.699.521.873.258.186.594.335.953.451C4.197 9.86 5.125 10 6 10c.875 0 1.803-.14 2.526-.376.359-.116.695-.265.953-.451.24-.174.521-.462.521-.873a.5.5 0 0 0-.012-.107L9.674 6.76 6.513 7.91a1.5 1.5 0 0 1-1.026 0Z'></path>\",\"<path d='M7.82 3.033a.5.5 0 0 1 .36 0l6.489 2.496A.499.499 0 0 1 15 6v2.5a.5.5 0 0 1-1 0V6.728L8.18 8.967a.5.5 0 0 1-.36 0l-6.5-2.5a.5.5 0 0 1 0-.934l6.5-2.5Z'></path><path d='M7.462 9.9 3.356 8.321l-.35 2.097A.502.502 0 0 0 3 10.5c0 .44.202.82.491 1.123.287.302.679.55 1.124.748.892.397 2.09.63 3.385.63 1.296 0 2.493-.233 3.385-.63.445-.198.837-.446 1.124-.748.289-.303.491-.684.491-1.123a.504.504 0 0 0-.007-.082l-.35-2.097-4.105 1.58a1.5 1.5 0 0 1-1.076 0Z'></path>\",\"<path d='M11.629 4.072a1 1 0 0 1 .742 0l9.979 3.99A.999.999 0 0 1 23 9v4a1 1 0 1 1-2 0v-2.523l-8.629 3.451a1 1 0 0 1-.742 0l-10-4a1 1 0 0 1 0-1.856l10-4Z'></path><path d='M10.886 15.785 4.573 13.26 4 16.41v.09c0 1.549 1.23 2.682 2.603 3.369 1.433.716 3.342 1.13 5.397 1.13s3.964-.414 5.397-1.13c1.373-.687 2.603-1.82 2.603-3.37v-.09l-.573-3.15-6.313 2.526a3 3 0 0 1-2.228 0Z'></path>\",\"<path d='M15.61 5.579a1 1 0 0 1 .78 0l13 5.5a1 1 0 0 1 .03 1.829l-.42.193V17a1 1 0 1 1-2 0v-2.976l-10.58 4.884a1 1 0 0 1-.84 0l-13-6a1 1 0 0 1 .03-1.829l13-5.5Z'></path><path d='m14.743 20.724-7.789-3.595-.896 4.48a2.524 2.524 0 0 0-.05.65c.109 1.787 1.31 3.245 3.048 4.214C10.798 27.445 13.186 28 16 28s5.202-.555 6.944-1.527c1.739-.969 2.94-2.427 3.048-4.214a2.522 2.522 0 0 0-.05-.65l-.896-4.48-7.789 3.595a3 3 0 0 1-2.514 0Z'></path>\"],[\"M5.83 2.03a.5.5 0 0 1 .34 0l5.49 1.996A.5.5 0 0 1 12 4.5v2a.5.5 0 0 1-1 0V5.214l-1.542.56.53 2.42A.5.5 0 0 1 10 8.3c0 .41-.28.699-.521.873-.258.186-.594.335-.953.452C7.803 9.86 6.875 10 6 10c-.875 0-1.803-.141-2.526-.376-.359-.117-.695-.266-.953-.452C2.281 8.999 2 8.71 2 8.3a.5.5 0 0 1 .01-.103l.512-2.43L.33 4.97a.5.5 0 0 1 0-.94l5.5-2ZM3.471 6.113l-.458 2.17a.629.629 0 0 0 .093.08c.14.1.367.21.676.31C4.396 8.874 5.218 9 6 9s1.604-.127 2.217-.326c.309-.1.536-.21.676-.312a.635.635 0 0 0 .092-.077l-.476-2.166-2.338.85a.5.5 0 0 1-.342 0l-2.357-.856ZM1.963 4.5 6 5.968 10.037 4.5 6 3.032 1.963 4.5Z\",\"M7.82 3.033a.5.5 0 0 1 .36 0l6.489 2.496A.499.499 0 0 1 15 6v2.5a.5.5 0 0 1-1 0V6.728l-1.534.59a.503.503 0 0 1 .027.1l.5 3A.504.504 0 0 1 13 10.5c0 .439-.202.82-.491 1.123-.287.302-.679.55-1.124.748-.892.397-2.09.629-3.385.629-1.296 0-2.493-.232-3.385-.629-.445-.198-.837-.447-1.124-.748C3.202 11.32 3 10.94 3 10.5c0-.027.002-.055.007-.082l.5-3a.503.503 0 0 1 .027-.1l-2.213-.851a.5.5 0 0 1 0-.934l6.5-2.5Zm.36 5.934a.5.5 0 0 1-.36 0L4.478 7.68 4 10.533c.01.108.064.243.215.4.168.178.436.36.805.524.737.328 1.79.543 2.979.543 1.19 0 2.242-.215 2.979-.543.369-.164.637-.346.805-.523.15-.158.206-.293.215-.401l-.476-2.852L8.18 8.967ZM2.892 6 8 7.964 13.107 6 8 4.036 2.893 6Z\",\"M11.629 4.072a1 1 0 0 1 .742 0l9.979 3.99A1 1 0 0 1 23 9v4a1 1 0 1 1-2 0v-2.523l-1.938.775L20 16.41v.09c0 1.55-1.23 2.683-2.603 3.37C15.964 20.585 14.055 21 12 21s-3.964-.414-5.397-1.13C5.23 19.182 4 18.05 4 16.5v-.09l.938-5.158-3.31-1.324a1 1 0 0 1 0-1.856l10-4Zm.742 9.857a1 1 0 0 1-.742 0L6.833 12.01l-.83 4.56c.04.386.402.964 1.494 1.51 1.101.55 2.692.92 4.503.92s3.402-.37 4.503-.92c1.091-.546 1.454-1.124 1.493-1.51l-.829-4.56-4.796 1.918ZM4.693 9 12 11.923 19.307 9 12 6.077 4.693 9Z\",\"M15.61 5.579a1 1 0 0 1 .78 0l13 5.5a1 1 0 0 1 .03 1.829l-.42.193V17a1 1 0 1 1-2 0v-2.976l-2.358 1.089 1.3 6.497c.036.18.065.404.05.649-.108 1.787-1.31 3.245-3.048 4.215C21.202 27.445 18.814 28 16 28s-5.202-.555-6.944-1.526c-1.739-.97-2.94-2.428-3.048-4.215a2.524 2.524 0 0 1 .05-.65l1.3-6.496-4.777-2.205a1 1 0 0 1 .03-1.829l13-5.5ZM9.225 15.974l-1.206 6.028a.568.568 0 0 0-.015.136c.054.881.655 1.824 2.026 2.589C11.396 25.489 13.424 26 16 26c2.576 0 4.604-.511 5.97-1.273 1.371-.765 1.972-1.707 2.026-2.59a.566.566 0 0 0-.015-.135l-1.206-6.028-6.356 2.934a1 1 0 0 1-.838 0l-6.356-2.934ZM5.472 12.04 16 16.899l10.527-4.86L16 7.587 5.472 12.04Z\"]];","export default [[\"M.5 0a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm0 4a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm0 4a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm8-8a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm0 4a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm0 4a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm-4-8a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm0 4a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm0 4a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Z\",\"M1.5 1a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3Zm0 10a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3Zm0-5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3Zm10-5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3Zm0 10a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3Zm0-5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3Zm-5-5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3Zm0 10a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3Zm0-5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3Z\",\"M3 2a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H3Zm0 14a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H3Zm0-7a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H3Zm14-7a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1h-4Zm0 14a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-4Zm0-7a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-4Zm-7-7a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1h-4Zm0 14a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-4Zm0-7a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-4Z\",\"M3 2a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H3Zm0 20a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H3Zm0-10a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H3ZM23 2a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1h-6Zm0 20a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-6Zm0-10a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-6ZM13 2a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1h-6Zm0 20a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-6Zm0-10a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-6Z\"],[\"M0 .5A.5.5 0 0 1 .5 0h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM1 1v1h1V1H1ZM0 4.5A.5.5 0 0 1 .5 4h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM1 5v1h1V5H1ZM.5 8a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm.5 2V9h1v1H1ZM8 .5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM9 1v1h1V1H9Zm-.5 3a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM9 6V5h1v1H9ZM8 8.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM9 9v1h1V9H9ZM4.5 0a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM5 2V1h1v1H5ZM4 4.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM5 5v1h1V5H5Zm-.5 3a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm.5 2V9h1v1H5Z\",\"M1 1.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-3ZM2 2v2h2V2H2Zm-1 9.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-3Zm1 .5v2h2v-2H2Zm-.5-6a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3ZM2 9V7h2v2H2Zm9-7.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-3Zm1 .5v2h2V2h-2Zm-.5 9a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3Zm.5 3v-2h2v2h-2Zm-1-7.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-3Zm1 .5v2h2V7h-2ZM6.5 1a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3ZM7 4V2h2v2H7Zm-1 7.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-3Zm1 .5v2h2v-2H7Zm-.5-6a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3ZM7 9V7h2v2H7Z\",\"M2 3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3Zm2 1v2h2V4H4ZM2 17a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-4Zm2 1v2h2v-2H4ZM3 9a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H3Zm1 4v-2h2v2H4ZM16 3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V3Zm2 1v2h2V4h-2Zm-1 12a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-4Zm1 4v-2h2v2h-2Zm-2-10a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-4Zm2 1v2h2v-2h-2Zm-8-9a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1h-4Zm1 4V4h2v2h-2ZM9 17a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-4Zm2 1v2h2v-2h-2Zm-1-9a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-4Zm1 4v-2h2v2h-2Z\",\"M2 3a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3Zm2 1v4h4V4H4ZM2 23a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-6Zm2 1v4h4v-4H4ZM3 12a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H3Zm1 6v-4h4v4H4ZM22 3a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1V3Zm2 1v4h4V4h-4Zm-1 18a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-6Zm1 6v-4h4v4h-4Zm-2-15a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1v-6Zm2 1v4h4v-4h-4ZM13 2a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1h-6Zm1 6V4h4v4h-4Zm-2 15a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1v-6Zm2 1v4h4v-4h-4Zm-1-12a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-6Zm1 6v-4h4v4h-4Z\"]];","export default [[\"M2 1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V5h1V1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V5h1.5a.5.5 0 0 1 0 1H9v1.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5V6H5v3.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5V6H.5a.5.5 0 0 1 0-1H2V1.5ZM4 2v3H3V2h1Zm3 3h1V2H7v3Z\",\"M4 3.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V7h2V3.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V7h2.5a.5.5 0 0 1 0 1H12v1.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5V8H7v3.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5V8H1.5a.5.5 0 0 1 0-1H4V3.5ZM5 7V4h1v3H5Zm6 0V4h-1v3h1Z\",\"M5 6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v5h2V6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v5h3a1 1 0 1 1 0 2h-3v3a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-3h-2v5a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-5H2a1 1 0 1 1 0-2h3V6Zm10 5h2V7h-2v4Zm-6 0H7V7h2v4Z\",\"M7 7a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v8h2V7a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v8h4a1 1 0 1 1 0 2h-4v4a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1v-4h-2v8a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-8H3a1 1 0 1 1 0-2h4V7Zm2 8h4V8H9v7Zm14 0V8h-4v7h4Z\"]];","export default [[\"M2 2.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-6Zm4 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-4ZM.5 10a.5.5 0 0 0 0 1h10a.5.5 0 0 0 0-1H.5Z\",\"M4 4.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-8Zm5 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-6ZM1.5 14a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1h-13Z\",\"M5 6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6Zm8 4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-8ZM2 21a1 1 0 1 0 0 2h20a1 1 0 1 0 0-2H2Z\",\"M7 9a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1V9Zm10 6a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1V15ZM3 28a1 1 0 1 0 0 2h26a1 1 0 1 0 0-2H3Z\"],[\"M2 2.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-6ZM3 3v5h1V3H3Zm3 1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-4ZM7 5v3h1V5H7ZM.5 10a.5.5 0 0 0 0 1h10a.5.5 0 0 0 0-1H.5Z\",\"M4 4.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-8ZM5 5v7h1V5H5Zm4 1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-6Zm1 .5v5h1V7h-1Zm-8.5 7a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1h-13Z\",\"M5 6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6Zm2 1v10h2V7H7Zm6 3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-8Zm2 1v6h2v-6h-2ZM2 21a1 1 0 1 0 0 2h20a1 1 0 1 0 0-2H2Z\",\"M7 9a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1V9Zm2 1v14h4V10H9Zm8 5a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1V15Zm2 1v8h4v-8h-4ZM3 28a1 1 0 1 0 0 2h26a1 1 0 1 0 0-2H3Z\"]];","export default [[\"M2.5 2a.5.5 0 0 0-.5.5V5H.5a.5.5 0 0 0 0 1H2v2.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5V6h1v1.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5V6h1.5a.5.5 0 0 0 0-1H9V3.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V5H5V2.5a.5.5 0 0 0-.5-.5h-2Z\",\"M4 3.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V7h2V4.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V7h2.5a.5.5 0 0 1 0 1H12v2.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5V8H7v3.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5V8H1.5a.5.5 0 0 1 0-1H4V3.5Z\",\"M5 6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v5h2V8a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3h3a1 1 0 1 1 0 2h-3v3a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-3h-2v5a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-5H2a1 1 0 1 1 0-2h3V6Z\",\"M7 8a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v7h2v-4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v4h4a1 1 0 1 1 0 2h-4v4a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1v-4h-2v7a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-7H3a1 1 0 1 1 0-2h4V8Z\"],[\"M2 2.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V5h1V3.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V5h1.5a.5.5 0 0 1 0 1H9v1.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5V6H5v2.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5V6H.5a.5.5 0 0 1 0-1H2V2.5ZM8 4H7v3h1V4ZM4 3v5H3V3h1Z\",\"M4.5 3a.5.5 0 0 0-.5.5V7H1.5a.5.5 0 0 0 0 1H4v3.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5V8h2v2.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5V8h2.5a.5.5 0 0 0 0-1H12V4.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V7H7V3.5a.5.5 0 0 0-.5-.5h-2ZM11 5h-1v5h1V5ZM6 4v7H5V4h1Z\",\"M5 6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v5h2V8a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3h3a1 1 0 1 1 0 2h-3v3a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-3h-2v5a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-5H2a1 1 0 1 1 0-2h3V6Zm2 11h2V7H7v10Zm8-2h2V9h-2v6Z\",\"M7 8a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v7h2v-4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v4h4a1 1 0 1 1 0 2h-4v4a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1v-4h-2v7a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-7H3a1 1 0 1 1 0-2h4V8Zm2 15h4V9H9v14Zm10-3h4v-8h-4v8Z\"]];","export default [[\"M0 1.5A.5.5 0 0 1 .5 1h10a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5ZM2.5 3a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-2Zm4 0a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-2Zm-6 7a.5.5 0 0 0 0 1h10a.5.5 0 0 0 0-1H.5Z\",\"M1 1.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13a.5.5 0 0 1-.5-.5ZM4.5 3a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-2Zm5 0a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-2Zm-8 11a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1h-13Z\",\"M1 2a1 1 0 0 1 1-1h20a1 1 0 1 1 0 2H2a1 1 0 0 1-1-1Zm5 3a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H6Zm8 0a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-4ZM2 21a1 1 0 1 0 0 2h20a1 1 0 1 0 0-2H2Z\",\"M2 3a1 1 0 0 1 1-1h26a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm6 3a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H8Zm10 0a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1h-6ZM3 28a1 1 0 1 0 0 2h26a1 1 0 1 0 0-2H3Z\"],[\"M0 1.5A.5.5 0 0 1 .5 1h10a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5ZM2.5 3a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-2ZM3 8V4h1v4H3Zm3.5-5a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-2ZM7 8V4h1v4H7ZM.5 10a.5.5 0 0 0 0 1h10a.5.5 0 0 0 0-1H.5Z\",\"M1 1.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13a.5.5 0 0 1-.5-.5ZM4.5 3a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-2Zm.5 9V4h1v8H5Zm4.5-9a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-2Zm.5 9V4h1v8h-1Zm-8.5 2a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1h-13Z\",\"M1 2a1 1 0 0 1 1-1h20a1 1 0 1 1 0 2H2a1 1 0 0 1-1-1Zm5 3a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H6Zm1 12V7h2v10H7Zm7-12a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-4Zm1 12V7h2v10h-2ZM2 21a1 1 0 1 0 0 2h20a1 1 0 1 0 0-2H2Z\",\"M2 3a1 1 0 0 1 1-1h26a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm6 3a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H8Zm1 18V8h4v16H9Zm9-18a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1h-6Zm1 18V8h4v16h-4ZM3 28a1 1 0 1 0 0 2h26a1 1 0 1 0 0-2H3Z\"]];","export default [[\"M.5 1a.5.5 0 0 0 0 1h10a.5.5 0 0 0 0-1H.5ZM2 3.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-6Zm4 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-4Z\",\"M1.5 1a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1h-13ZM4 3.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-8Zm5 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-6Z\",\"M2 1a1 1 0 0 0 0 2h20a1 1 0 1 0 0-2H2Zm3 5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6Zm8 0a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V6Z\",\"M3 2a1 1 0 0 0 0 2h26a1 1 0 1 0 0-2H3Zm4 5a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1V7Zm10 0a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1V7Z\"],[\"M.5 1a.5.5 0 0 0 0 1h10a.5.5 0 0 0 0-1H.5ZM2 3.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-6ZM3 4v5h1V4H3Zm3-.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-4ZM7 4v3h1V4H7Z\",\"M1.5 1a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1h-13ZM4 3.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-8ZM5 4v7h1V4H5Zm4-.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-6Zm1 .5v5h1V4h-1Z\",\"M2 1a1 1 0 0 0 0 2h20a1 1 0 1 0 0-2H2Zm3 5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6Zm2 1v10h2V7H7Zm6-1a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V6Zm2 1v6h2V7h-2Z\",\"M3 2a1 1 0 0 0 0 2h26a1 1 0 1 0 0-2H3Zm4 5a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1V7Zm2 1v14h4V8H9Zm8-1a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1V7Zm2 1v8h4V8h-4Z\"]];","export default [[\"M2 2.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm0 4a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm4-4a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm0 4a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM.5 10a.5.5 0 0 0 0 1h10a.5.5 0 0 0 0-1H.5Z\",\"M4.5 6a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM1 14.5a.5.5 0 0 1 .5-.5h12a.5.5 0 0 1 0 1h-12a.5.5 0 0 1-.5-.5ZM4.5 10a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm4-4a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm0 4a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Z\",\"M6 5a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H6ZM1 22a1 1 0 0 1 1-1h20a1 1 0 1 1 0 2H2a1 1 0 0 1-1-1Zm5-9a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H6Zm8-8a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-4Zm0 8a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-4Z\",\"M8 8a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1H8ZM2 29a1 1 0 0 1 1-1h26a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm6-11a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H8ZM18 8a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1h-6Zm0 10a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-6Z\"],[\"M2 2.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM3 3v1h1V3H3ZM2 6.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM3 7v1h1V7H3Zm3.5-5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM7 4V3h1v1H7ZM6 6.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM7 7v1h1V7H7ZM.5 10a.5.5 0 0 0 0 1h10a.5.5 0 0 0 0-1H.5Z\",\"M4 6.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM5 7v1h1V7H5Zm-4 7.5a.5.5 0 0 1 .5-.5h12a.5.5 0 0 1 0 1h-12a.5.5 0 0 1-.5-.5ZM4.5 10a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm.5 2v-1h1v1H5Zm3-5.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM9 7v1h1V7H9Zm-.5 3a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm.5 2v-1h1v1H9Z\",\"M5 6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6Zm2 1v2h2V7H7ZM1 22a1 1 0 0 1 1-1h20a1 1 0 1 1 0 2H2a1 1 0 0 1-1-1Zm5-9a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H6Zm1 4v-2h2v2H7Zm6-11a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V6Zm2 1v2h2V7h-2Zm-1 6a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-4Zm1 4v-2h2v2h-2Z\",\"M7 9a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1V9Zm2 1v4h4v-4H9ZM2 29a1 1 0 0 1 1-1h26a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm6-11a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H8Zm1 6v-4h4v4H9Zm8-15a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1V9Zm2 1v4h4v-4h-4Zm-1 8a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-6Zm1 6v-4h4v4h-4Z\"]];","export default [[\"M2.5 1a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM0 5.5A.5.5 0 0 1 .5 5h10a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5ZM6.5 1a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm-4 6a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm4 0a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Z\",\"M4.5 3a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM1 7.5a.5.5 0 0 1 .5-.5h12a.5.5 0 0 1 0 1h-12a.5.5 0 0 1-.5-.5ZM8.5 3a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm-4 6a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm4 0a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Z\",\"M6 3a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H6Zm-5 9a1 1 0 0 1 1-1h20a1 1 0 1 1 0 2H2a1 1 0 0 1-1-1Zm5 3a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H6Zm8 0a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-4Zm0-12a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1h-4Z\",\"M8 5a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H8ZM2 16a1 1 0 0 1 1-1h26a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm6 3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H8ZM18 5a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-6Zm0 14a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-6Z\"],[\"M2 1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM3 2v1h1V2H3ZM0 5.5A.5.5 0 0 1 .5 5h10a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5ZM6.5 1a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM7 3V2h1v1H7ZM2 7.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM3 8v1h1V8H3Zm3.5-1a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM7 9V8h1v1H7Z\",\"M4 3.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM5 4v1h1V4H5ZM1 7.5a.5.5 0 0 1 .5-.5h12a.5.5 0 0 1 0 1h-12a.5.5 0 0 1-.5-.5ZM8.5 3a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM9 5V4h1v1H9ZM4 9.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm1 .5v1h1v-1H5Zm3.5-1a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm.5 2v-1h1v1H9Z\",\"M6 3a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H6Zm1 4V5h2v2H7Zm-6 5a1 1 0 0 1 1-1h20a1 1 0 1 1 0 2H2a1 1 0 0 1-1-1Zm4 4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-4Zm2 1v2h2v-2H7Zm6-1a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-4Zm2 1v2h2v-2h-2ZM14 3a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1h-4Zm1 4V5h2v2h-2Z\",\"M7 6a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1V6Zm2 1v4h4V7H9Zm-7 9a1 1 0 0 1 1-1h26a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm6 3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H8Zm1 6v-4h4v4H9Zm8-19a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1V6Zm2 1v4h4V7h-4Zm-1 12a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-6Zm1 6v-4h4v4h-4Z\"]];","export default [[\"M.5 0a.5.5 0 0 0 0 1h10a.5.5 0 0 0 0-1H.5Zm2 2a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm4 0a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm-4 5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm4 0a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM0 11.5a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5Z\",\"M1.5 1a.5.5 0 0 0 0 1h12a.5.5 0 0 0 0-1h-12Zm0 13a.5.5 0 0 0 0 1h12a.5.5 0 0 0 0-1h-12Zm3-11a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm4 0a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm-4 7a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm4 0a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Z\",\"M3 1a1 1 0 0 0 0 2h18a1 1 0 1 0 0-2H3Zm0 20a1 1 0 1 0 0 2h18a1 1 0 1 0 0-2H3ZM6 4a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H6Zm8 0a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1h-4ZM6 14a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H6Zm8 0a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-4Z\",\"M3 2a1 1 0 0 0 0 2h26a1 1 0 1 0 0-2H3Zm0 26a1 1 0 1 0 0 2h26a1 1 0 1 0 0-2H3ZM8 6a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H8Zm0 12a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H8ZM18 6a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1h-6Zm0 12a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-6Z\"],[\"M.5 0a.5.5 0 0 0 0 1h10a.5.5 0 0 0 0-1H.5Zm2 2a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM3 4V3h1v1H3Zm3.5-2a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM7 4V3h1v1H7ZM2 7.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM3 8v1h1V8H3Zm3.5-1a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM7 9V8h1v1H7Zm-7 2.5a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5Z\",\"M1.5 1a.5.5 0 0 0 0 1h12a.5.5 0 0 0 0-1h-12Zm0 13a.5.5 0 0 0 0 1h12a.5.5 0 0 0 0-1h-12ZM4 3.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM5 4v1h1V4H5Zm3.5-1a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM9 5V4h1v1H9Zm-5 5.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm1 .5v1h1v-1H5Zm3.5-1a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm.5 2v-1h1v1H9Z\",\"M3 1a1 1 0 0 0 0 2h18a1 1 0 1 0 0-2H3Zm0 20a1 1 0 1 0 0 2h18a1 1 0 1 0 0-2H3ZM5 5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5Zm2 1v2h2V6H7Zm7-2a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1h-4Zm1 4V6h2v2h-2ZM5 15a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-4Zm2 1v2h2v-2H7Zm7-2a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-4Zm1 4v-2h2v2h-2Z\",\"M3 2a1 1 0 0 0 0 2h26a1 1 0 1 0 0-2H3Zm0 26a1 1 0 1 0 0 2h26a1 1 0 1 0 0-2H3ZM7 7a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1V7Zm2 1v4h4V8H9ZM8 18a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H8Zm1 6v-4h4v4H9Zm8-17a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1V7Zm2 1v4h4V8h-4Zm-1 10a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-6Zm1 6v-4h4v4h-4Z\"]];","export default [[\"M0 .5A.5.5 0 0 1 .5 0h10a.5.5 0 0 1 0 1H9v2.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5V1H5v2.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5V1H.5A.5.5 0 0 1 0 .5Zm9 7a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V10H5V7.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V10H.5a.5.5 0 0 0 0 1h10a.5.5 0 0 0 0-1H9V7.5Z\",\"M1.5 1a.5.5 0 0 0 0 1H4v2.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5V2h2v2.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5V2h2.5a.5.5 0 0 0 0-1h-13Zm0 12a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1H12v-2.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V13H7v-2.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V13H1.5Z\",\"M2 1a1 1 0 0 0 0 2h3v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V3h2v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V3h3a1 1 0 1 0 0-2H2Zm0 20a1 1 0 1 0 0 2h20a1 1 0 1 0 0-2h-3v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5h-2v-5a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v5H2Z\",\"M3 2a1 1 0 0 0 0 2h3v7a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4h4v7a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4h3a1 1 0 1 0 0-2H3Zm0 26a1 1 0 1 0 0 2h26a1 1 0 1 0 0-2h-3v-7a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v7h-4v-7a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v7H3Z\"],[\"M0 .5A.5.5 0 0 1 .5 0h10a.5.5 0 0 1 0 1H9v2.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5V1H5v2.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5V1H.5A.5.5 0 0 1 0 .5ZM7 1h1v2H7V1ZM3 1h1v2H3V1Zm6 6.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V10H5V7.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V10H.5a.5.5 0 0 0 0 1h10a.5.5 0 0 0 0-1H9V7.5ZM8 10V8H7v2h1Zm-5 0h1V8H3v2Z\",\"M1.5 1a.5.5 0 0 0 0 1H4v2.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5V2h2v2.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5V2h2.5a.5.5 0 0 0 0-1h-13ZM5 4V2h1v2H5Zm5 0V2h1v2h-1Zm-8.5 9a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1H12v-2.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V13H7v-2.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V13H1.5ZM5 13h1v-2H5v2Zm5 0h1v-2h-1v2Z\",\"M2 1a1 1 0 0 0 0 2h3v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V3h2v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V3h3a1 1 0 1 0 0-2H2Zm5 6V3h2v4H7Zm8 0V3h2v4h-2ZM2 21a1 1 0 1 0 0 2h20a1 1 0 1 0 0-2h-3v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5h-2v-5a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v5H2Zm5 0h2v-4H7v4Zm8 0h2v-4h-2v4Z\",\"M3 2a1 1 0 0 0 0 2h3v7a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4h4v7a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4h3a1 1 0 1 0 0-2H3Zm5 8V4h4v6H8Zm12 0V4h4v6h-4ZM3 28a1 1 0 1 0 0 2h26a1 1 0 1 0 0-2h-3v-7a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v7h-4v-7a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v7H3Zm5 0h4v-6H8v6Zm12 0h4v-6h-4v6Z\"]];","export default [[\"M0 .5A.5.5 0 0 1 .5 0h10a.5.5 0 0 1 0 1H.5A.5.5 0 0 1 0 .5ZM2.5 2a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm0 4a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm4-4a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm0 4a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm-6 4a.5.5 0 0 0 0 1h10a.5.5 0 0 0 0-1H.5Z\",\"M1.5 1a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1h-13Zm0 13a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1h-13Zm3-10a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm5 0a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm-5 5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm5 0a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Z\",\"M2 1a1 1 0 0 0 0 2h20a1 1 0 1 0 0-2H2Zm0 20a1 1 0 1 0 0 2h20a1 1 0 1 0 0-2H2ZM6 5a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H6Zm8 0a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-4Zm-8 8a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H6Zm8 0a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-4Z\",\"M3 3a1 1 0 0 0 0 2h26a1 1 0 1 0 0-2H3Zm0 24a1 1 0 1 0 0 2h26a1 1 0 1 0 0-2H3ZM8 7a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H8Zm10 0a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-6ZM8 17a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H8Zm10 0a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-6Z\"],[\"M2 2.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM3 3v1h1V3H3ZM2 6.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM3 7v1h1V7H3Zm3-4.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM7 3v1h1V3H7ZM6 6.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM7 7v1h1V7H7ZM0 .5A.5.5 0 0 1 .5 0h10a.5.5 0 0 1 0 1H.5A.5.5 0 0 1 0 .5Zm0 10a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5Z\",\"M1.5 1a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1h-13Zm0 13a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1h-13ZM4 4.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM5 5v1h1V5H5Zm4.5-1a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm.5 2V5h1v1h-1ZM4 9.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm1 .5v1h1v-1H5Zm4.5-1a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm.5 2v-1h1v1h-1Z\",\"M2 1a1 1 0 0 0 0 2h20a1 1 0 1 0 0-2H2Zm0 20a1 1 0 1 0 0 2h20a1 1 0 1 0 0-2H2ZM5 6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6Zm2 1v2h2V7H7Zm7-2a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-4Zm1 4V7h2v2h-2ZM5 14a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-4Zm2 1v2h2v-2H7Zm7-2a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-4Zm1 4v-2h2v2h-2Z\",\"M3 3a1 1 0 0 0 0 2h26a1 1 0 1 0 0-2H3Zm0 24a1 1 0 1 0 0 2h26a1 1 0 1 0 0-2H3ZM7 8a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1V8Zm2 1v4h4V9H9Zm9-2a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-6Zm1 6V9h4v4h-4ZM7 18a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-6Zm2 1v4h4v-4H9Zm9-2a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-6Zm1 6v-4h4v4h-4Z\"]];","export default [[\"M0 .5A.5.5 0 0 1 .5 0h10a.5.5 0 0 1 0 1H9v3.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5V1H5v3.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5V1H.5A.5.5 0 0 1 0 .5ZM2.5 6a.5.5 0 0 0-.5.5V10H.5a.5.5 0 0 0 0 1h10a.5.5 0 0 0 0-1H9V6.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V10H5V6.5a.5.5 0 0 0-.5-.5h-2Z\",\"M1.5 1a.5.5 0 0 0 0 1H4v4.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5V2h2v4.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5V2h2.5a.5.5 0 0 0 0-1h-13Zm0 12a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1H12V8.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V13H7V8.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V13H1.5Z\",\"M2 1a1 1 0 0 0 0 2h3v7a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V3h2v7a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V3h3a1 1 0 1 0 0-2H2Zm0 20a1 1 0 1 0 0 2h20a1 1 0 1 0 0-2h-3v-7a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v7h-2v-7a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v7H2Z\",\"M3 2a1 1 0 0 0 0 2h4v10a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4h2v10a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4h4a1 1 0 1 0 0-2H3Zm0 26a1 1 0 1 0 0 2h26a1 1 0 1 0 0-2h-4V18a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v10h-2V18a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v10H3Z\"],[\"M0 .5A.5.5 0 0 1 .5 0h10a.5.5 0 0 1 0 1H9v3.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5V1H5v3.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5V1H.5A.5.5 0 0 1 0 .5ZM7 1h1v3H7V1ZM3 1h1v3H3V1Zm-.5 5a.5.5 0 0 0-.5.5V10H.5a.5.5 0 0 0 0 1h10a.5.5 0 0 0 0-1H9V6.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V10H5V6.5a.5.5 0 0 0-.5-.5h-2ZM4 10V7H3v3h1Zm3 0h1V7H7v3Z\",\"M1.5 1a.5.5 0 0 0 0 1H4v4.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5V2h2v4.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5V2h2.5a.5.5 0 0 0 0-1h-13ZM11 2h-1v4h1V2ZM5 6V2h1v4H5Zm-3.5 7a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1H12V8.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V13H7V8.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V13H1.5Zm8.5 0h1V9h-1v4ZM6 9v4H5V9h1Z\",\"M2 1a1 1 0 0 0 0 2h3v7a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V3h2v7a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V3h3a1 1 0 1 0 0-2H2Zm13 8V3h2v6h-2ZM7 9V3h2v6H7ZM2 21a1 1 0 1 0 0 2h20a1 1 0 1 0 0-2h-3v-7a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v7h-2v-7a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v7H2Zm13 0h2v-6h-2v6Zm-8 0h2v-6H7v6Z\",\"M3 2a1 1 0 0 0 0 2h4v10a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4h2v10a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4h4a1 1 0 1 0 0-2H3Zm16 11V4h4v9h-4ZM9 13V4h4v9H9ZM3 28a1 1 0 1 0 0 2h26a1 1 0 1 0 0-2h-4V18a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v10h-2V18a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v10H3Zm16 0h4v-9h-4v9ZM9 28h4v-9H9v9Z\"]];","export default [[\"M.5 1a.5.5 0 0 0 0 1h10a.5.5 0 0 0 0-1H.5ZM2 3.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm0 4a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm4-4a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm0 4a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Z\",\"M1 1.5a.5.5 0 0 1 .5-.5h12a.5.5 0 0 1 0 1h-12a.5.5 0 0 1-.5-.5ZM4.5 3a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm0 4a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm4-4a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm0 4a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Z\",\"M1 2a1 1 0 0 1 1-1h20a1 1 0 1 1 0 2H2a1 1 0 0 1-1-1Zm13 3a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-4ZM6 5a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H6Zm8 8a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-4Zm-8 0a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H6Z\",\"M2 3a1 1 0 0 1 1-1h26a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm6 3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H8Zm0 10a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H8ZM18 6a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1h-6Zm0 10a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-6Z\"],[\"M.5 1a.5.5 0 0 0 0 1h10a.5.5 0 0 0 0-1H.5ZM2 3.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM3 4v1h1V4H3ZM2 7.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM3 8v1h1V8H3Zm3.5-5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM7 5V4h1v1H7ZM6 7.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM7 8v1h1V8H7Z\",\"M1 1.5a.5.5 0 0 1 .5-.5h12a.5.5 0 0 1 0 1h-12a.5.5 0 0 1-.5-.5Zm3 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM5 4v1h1V4H5Zm-.5 3a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM5 9V8h1v1H5Zm3-5.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM9 4v1h1V4H9Zm-.5 3a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM9 9V8h1v1H9Z\",\"M1 2a1 1 0 0 1 1-1h20a1 1 0 1 1 0 2H2a1 1 0 0 1-1-1Zm12 4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V6Zm2 1v2h2V7h-2ZM6 5a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H6Zm1 4V7h2v2H7Zm6 5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-4Zm2 1v2h2v-2h-2Zm-9-2a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H6Zm1 4v-2h2v2H7Z\",\"M2 3a1 1 0 0 1 1-1h26a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm5 4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1V7Zm2 1v4h4V8H9Zm-1 8a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H8Zm1 6v-4h4v4H9Zm8-15a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1V7Zm2 1v4h4V8h-4Zm-1 8a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-6Zm1 6v-4h4v4h-4Z\"]];","export default [[\"M1.5 1a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3Zm0 5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3Zm5-5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3Zm0 5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3Z\",\"M1.5 1a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-5Zm0 7a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-5Zm7-7a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-5Zm0 7a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-5Z\",\"M3 2a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H3Zm0 11a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1v-7a1 1 0 0 0-1-1H3ZM14 2a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1h-7Zm0 11a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1v-7a1 1 0 0 0-1-1h-7Z\",\"M3 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h11a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H3Zm0 15a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h11a1 1 0 0 0 1-1V18a1 1 0 0 0-1-1H3ZM18 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h11a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H18Zm0 15a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h11a1 1 0 0 0 1-1V18a1 1 0 0 0-1-1H18Z\"],[\"M1.5 1a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3ZM4 4H2V2h2v2Zm.5 2h-3a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5ZM4 9H2V7h2v2Zm2-7.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-3a.502.502 0 0 1-.5-.5v-3ZM7 4h2V2H7v2Zm2.5 2h-3a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5ZM9 9H7V7h2v2Z\",\"M1.5 1a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-5ZM2 6V2h4v4H2Zm-.5 2a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-5Zm.5 5V9h4v4H2ZM8 1.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-5ZM9 2v4h4V2H9Zm-.5 6a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-5Zm.5 5V9h4v4H9Z\",\"M3 2a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H3Zm1 7V4h5v5H4Zm-1 4a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1v-7a1 1 0 0 0-1-1H3Zm1 7v-5h5v5H4Zm9-17a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1h-7a1 1 0 0 1-1-1V3Zm2 1v5h5V4h-5Zm-1 9a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1v-7a1 1 0 0 0-1-1h-7Zm1 7v-5h5v5h-5Z\",\"M3 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h11a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H3Zm1 11V4h9v9H4Zm-1 4a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h11a1 1 0 0 0 1-1V18a1 1 0 0 0-1-1H3Zm1 11v-9h9v9H4ZM17 3a1 1 0 0 1 1-1h11a1 1 0 0 1 1 1v11a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1V3Zm2 1v9h9V4h-9Zm-1 13a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h11a1 1 0 0 0 1-1V18a1 1 0 0 0-1-1H18Zm1 11v-9h9v9h-9Z\"]];","export default [[\"M6 .5a.5.5 0 0 0-1 0v10a.5.5 0 0 0 1 0V.5Zm-5 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm6 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm-6 4a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm6 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Z\",\"M8 1.5a.5.5 0 0 0-1 0v12a.5.5 0 0 0 1 0v-12Zm-5 3a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm6 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm-6 4a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm6 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Z\",\"M13 2a1 1 0 1 0-2 0v20a1 1 0 1 0 2 0V2ZM3 6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V6Zm12 0a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V6ZM3 14a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-4Zm12 0a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-4Z\",\"M17 3a1 1 0 1 0-2 0v26a1 1 0 1 0 2 0V3ZM5 8a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V8Zm0 10a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-6ZM19 8a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1V8Zm0 10a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1v-6Z\"],[\"M6 .5a.5.5 0 0 0-1 0v10a.5.5 0 0 0 1 0V.5Zm-5 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM2 3v1h1V3H2Zm5-.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM8 3v1h1V3H8ZM1.5 6a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM2 8V7h1v1H2Zm5-1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM8 7v1h1V7H8Z\",\"M8 1.5a.5.5 0 0 0-1 0v12a.5.5 0 0 0 1 0v-12Zm-5 3a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM4 5v1h1V5H4Zm5-.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm1 .5v1h1V5h-1ZM3.5 8a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm.5 2V9h1v1H4Zm5-1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm1 .5v1h1V9h-1Z\",\"M13 2a1 1 0 1 0-2 0v20a1 1 0 1 0 2 0V2ZM3 6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V6Zm2 1v2h2V7H5Zm10-1a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V6Zm2 1v2h2V7h-2ZM4 13a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H4Zm1 4v-2h2v2H5Zm10-3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-4Zm2 1v2h2v-2h-2Z\",\"M17 3a1 1 0 1 0-2 0v26a1 1 0 1 0 2 0V3ZM5 8a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V8Zm2 1v4h4V9H7Zm-2 9a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-6Zm2 1v4h4v-4H7ZM20 7a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-6Zm1 6V9h4v4h-4Zm-2 5a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1v-6Zm2 1v4h4v-4h-4Z\"]];","export default [[\"M2 .5a.5.5 0 0 0-1 0v10a.5.5 0 0 0 1 0V.5Zm1 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm4 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm-4 4a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm4 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Z\",\"M2 1.5a.5.5 0 0 0-1 0v12a.5.5 0 0 0 1 0v-12Zm1 3a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm0 4a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm4-4a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm0 4a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Z\",\"M3 2a1 1 0 0 0-2 0v20a1 1 0 1 0 2 0V2Zm2 4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6Zm0 8a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-4Zm8-8a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V6Zm0 8a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-4Z\",\"M3 2a1 1 0 0 1 1 1v26a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1Zm4 5a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H7Zm0 10a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H7ZM17 7a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-6Zm0 10a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-6Z\"],[\"M2 .5a.5.5 0 0 0-1 0v10a.5.5 0 0 0 1 0V.5Zm1 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM4 3v1h1V3H4Zm3-.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM8 3v1h1V3H8ZM3.5 6a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM4 8V7h1v1H4Zm3-1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM8 7v1h1V7H8Z\",\"M2 1.5a.5.5 0 0 0-1 0v12a.5.5 0 0 0 1 0v-12Zm1 3a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM4 5v1h1V5H4ZM3 8.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM4 9v1h1V9H4Zm3.5-5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM8 6V5h1v1H8ZM7 8.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM8 9v1h1V9H8Z\",\"M3 2a1 1 0 0 0-2 0v20a1 1 0 1 0 2 0V2Zm2 4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6Zm2 1v2h2V7H7Zm-2 7a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-4Zm2 1v2h2v-2H7Zm7-10a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-4Zm1 4V7h2v2h-2Zm-2 5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-4Zm2 1v2h2v-2h-2Z\",\"M3 2a1 1 0 0 1 1 1v26a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1Zm3 6a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V8Zm2 1v4h4V9H8Zm-1 8a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H7Zm1 6v-4h4v4H8Zm8-15a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1V8Zm2 1v4h4V9h-4Zm-1 8a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-6Zm1 6v-4h4v4h-4Z\"]];","export default [[\"M11 .5a.5.5 0 0 0-1 0v10a.5.5 0 0 0 1 0V.5Zm-9 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm4 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm-4 4a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm4 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Z\",\"M15 1.5a.5.5 0 0 0-1 0v12a.5.5 0 0 0 1 0v-12Zm-9 3a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm0 4a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm4-4a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm0 4a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Z\",\"M23 2a1 1 0 1 0-2 0v20a1 1 0 1 0 2 0V2ZM5 6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6Zm0 8a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-4Zm8-8a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V6Zm0 8a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-4Z\",\"M29 2a1 1 0 0 1 1 1v26a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1ZM9 7a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H9Zm0 10a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H9ZM19 7a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-6Zm0 10a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-6Z\"],[\"M11 .5a.5.5 0 0 0-1 0v10a.5.5 0 0 0 1 0V.5Zm-9 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM3 3v1h1V3H3Zm3-.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM7 3v1h1V3H7ZM2.5 6a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM3 8V7h1v1H3Zm3-1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM7 7v1h1V7H7Z\",\"M15 1.5a.5.5 0 0 0-1 0v12a.5.5 0 0 0 1 0v-12Zm-9 3a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM7 5v1h1V5H7ZM6 8.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM7 9v1h1V9H7Zm3.5-5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm.5 2V5h1v1h-1Zm-1 2.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm1 .5v1h1V9h-1Z\",\"M23 2a1 1 0 1 0-2 0v20a1 1 0 1 0 2 0V2ZM5 6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6Zm2 1v2h2V7H7Zm-2 7a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-4Zm2 1v2h2v-2H7Zm7-10a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-4Zm1 4V7h2v2h-2Zm-2 5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-4Zm2 1v2h2v-2h-2Z\",\"M29 2a1 1 0 0 1 1 1v26a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1ZM8 8a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V8Zm2 1v4h4V9h-4Zm-1 8a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H9Zm1 6v-4h4v4h-4Zm8-15a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1V8Zm2 1v4h4V9h-4Zm-1 8a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-6Zm1 6v-4h4v4h-4Z\"]];","export default [[\"M0 10.5a.5.5 0 0 0 1 0V.5a.5.5 0 0 0-1 0v10Zm11.5.5a.5.5 0 0 1-.5-.5V.5a.5.5 0 0 1 1 0v10a.5.5 0 0 1-.5.5ZM2 4.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v2Zm0 4a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v2Zm5 0a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v2Zm0-4a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v2Z\",\"M1.5 1a.5.5 0 0 1 .5.5v13a.5.5 0 0 1-1 0v-13a.5.5 0 0 1 .5-.5Zm2 3a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm7 0a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm-7 5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm7 0a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM15 1.5a.5.5 0 0 0-1 0v13a.5.5 0 0 0 1 0v-13Z\",\"M3 2a1 1 0 0 0-2 0v20a1 1 0 1 0 2 0V2Zm20 0a1 1 0 1 0-2 0v20a1 1 0 1 0 2 0V2ZM5 5a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H5Zm0 8a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H5Zm10-8a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-4Zm0 8a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-4Z\",\"M4 3a1 1 0 0 0-2 0v26a1 1 0 1 0 2 0V3Zm26 0a1 1 0 1 0-2 0v26a1 1 0 1 0 2 0V3ZM7 7a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H7Zm12 0a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-6ZM7 17a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H7Zm12 0a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-6Z\"],[\"M0 10.5a.5.5 0 0 0 1 0V.5a.5.5 0 0 0-1 0v10Zm11.5.5a.5.5 0 0 1-.5-.5V.5a.5.5 0 0 1 1 0v10a.5.5 0 0 1-.5.5ZM2 4.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v2ZM4 4H3V3h1v1ZM2 8.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v2ZM4 8H3V7h1v1Zm3.5 1a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2ZM8 8h1V7H8v1ZM7 4.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v2ZM9 4H8V3h1v1Z\",\"M1.5 1a.5.5 0 0 1 .5.5v13a.5.5 0 0 1-1 0v-13a.5.5 0 0 1 .5-.5Zm2 3a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM4 6V5h1v1H4Zm6.5-2a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm.5 2V5h1v1h-1ZM3 9.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm1 .5v1h1v-1H4Zm6.5-1a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm.5 2v-1h1v1h-1Zm4-9.5a.5.5 0 0 0-1 0v13a.5.5 0 0 0 1 0v-13Z\",\"M3 2a1 1 0 0 0-2 0v20a1 1 0 1 0 2 0V2Zm20 0a1 1 0 1 0-2 0v20a1 1 0 1 0 2 0V2ZM4 6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V6Zm2 1v2h2V7H6Zm-1 6a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H5Zm1 4v-2h2v2H6Zm8-11a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V6Zm2 1v2h2V7h-2Zm-1 6a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-4Zm1 4v-2h2v2h-2Z\",\"M4 3a1 1 0 0 0-2 0v26a1 1 0 1 0 2 0V3Zm26 0a1 1 0 1 0-2 0v26a1 1 0 1 0 2 0V3ZM6 8a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V8Zm2 1v4h4V9H8Zm11-2a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-6Zm1 6V9h4v4h-4ZM6 18a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-6Zm2 1v4h4v-4H8Zm11-2a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-6Zm1 6v-4h4v4h-4Z\"]];","export default [[\"M.5 11a.5.5 0 0 1-.5-.5V.5a.5.5 0 0 1 1 0V2h2.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H1v1h2.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H1v1.5a.5.5 0 0 1-.5.5Zm7-9a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H10v1H7.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H10v1.5a.5.5 0 0 0 1 0V.5a.5.5 0 0 0-1 0V2H7.5Z\",\"M1 14.5a.5.5 0 0 0 1 0V12h2.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H2V7h2.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H2V1.5a.5.5 0 0 0-1 0v13Zm12 0a.5.5 0 0 0 1 0v-8s0 .001 0 0v-5a.5.5 0 0 0-1 0V4h-2.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H13v2h-2.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H13v2.5Z\",\"M1 22a1 1 0 1 0 2 0v-3h5a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H3v-2h5a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H3V2a1 1 0 1 0-2 0v20Zm20 0a1 1 0 1 0 2 0V2a1 1 0 1 0-2 0v3h-5a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h5v2h-5a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h5v3Z\",\"M2 29a1 1 0 1 0 2 0v-3h7a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H4v-4h7a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H4V3a1 1 0 0 0-2 0v26Zm26 0a1 1 0 1 0 2 0v-4s0 .001 0 0V3a1 1 0 1 0-2 0v3h-7a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h7v4h-7a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h7v3Z\"],[\"M.5 11a.5.5 0 0 1-.5-.5V.5a.5.5 0 0 1 1 0V2h2.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H1v1h2.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H1v1.5a.5.5 0 0 1-.5.5ZM1 4V3h2v1H1Zm0 4V7h2v1H1Zm6.5-6a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H10v1H7.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H10v1.5a.5.5 0 0 0 1 0V.5a.5.5 0 0 0-1 0V2H7.5ZM10 3H8v1h2V3Zm0 5V7H8v1h2Z\",\"M1 14.5a.5.5 0 0 0 1 0V12h2.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H2V7h2.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H2V1.5a.5.5 0 0 0-1 0v13ZM4 11H2v-1h2v1Zm0-5H2V5h2v1Zm9 8.5a.5.5 0 0 0 1 0v-8s0 .001 0 0v-5a.5.5 0 0 0-1 0V4h-2.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H13v2h-2.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H13v2.5Zm0-3.5v-1h-2v1h2Zm0-5V5h-2v1h2Z\",\"M1 22a1 1 0 1 0 2 0v-3h5a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H3v-2h5a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H3V2a1 1 0 1 0-2 0v20Zm6-5H3v-2h4v2Zm0-8H3V7h4v2Zm14 13a1 1 0 1 0 2 0V2a1 1 0 1 0-2 0v3h-5a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h5v2h-5a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h5v3Zm0-5v-2h-4v2h4Zm0-8V7h-4v2h4Z\",\"M2 29a1 1 0 1 0 2 0v-3h7a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H4v-4h7a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H4V3a1 1 0 0 0-2 0v26Zm8-5H4v-4h6v4Zm0-12H4V8h6v4Zm18 17a1 1 0 1 0 2 0v-4s0 .001 0 0V3a1 1 0 1 0-2 0v3h-7a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h7v4h-7a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h7v3Zm0-5v-4h-6v4h6Zm0-12V8h-6v4h6Z\"]];","export default [[\"M0 10.5a.5.5 0 0 0 1 0V.5a.5.5 0 0 0-1 0v10Zm10.5.5a.5.5 0 0 1-.5-.5V.5a.5.5 0 0 1 1 0v10a.5.5 0 0 1-.5.5ZM2 4.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v2Zm0 4a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v2Zm4 0a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v2Zm0-4a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v2Z\",\"M1.5 1a.5.5 0 0 1 .5.5v13a.5.5 0 0 1-1 0v-13a.5.5 0 0 1 .5-.5Zm3 3a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm5 0a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm-5 5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm5 0a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM15 1.5a.5.5 0 0 0-1 0v13a.5.5 0 0 0 1 0v-13Z\",\"M3 2a1 1 0 0 0-2 0v20a1 1 0 1 0 2 0V2Zm20 0a1 1 0 1 0-2 0v20a1 1 0 1 0 2 0V2ZM6 5a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H6Zm0 8a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H6Zm8-8a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-4Zm0 8a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-4Z\",\"M5 3a1 1 0 0 0-2 0v26a1 1 0 1 0 2 0V3Zm24 0a1 1 0 1 0-2 0v26a1 1 0 1 0 2 0V3ZM8 7a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H8Zm10 0a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-6ZM8 17a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H8Zm10 0a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-6Z\"],[\"M0 10.5a.5.5 0 0 0 1 0V.5a.5.5 0 0 0-1 0v10Zm10.5.5a.5.5 0 0 1-.5-.5V.5a.5.5 0 0 1 1 0v10a.5.5 0 0 1-.5.5ZM2 4.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v2ZM4 4H3V3h1v1ZM2 8.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v2ZM4 8H3V7h1v1Zm2.5 1a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2ZM7 8h1V7H7v1ZM6 4.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v2ZM8 4H7V3h1v1Z\",\"M1.5 1a.5.5 0 0 1 .5.5v13a.5.5 0 0 1-1 0v-13a.5.5 0 0 1 .5-.5Zm3 3a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM5 6V5h1v1H5Zm4.5-2a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm.5 2V5h1v1h-1ZM4 9.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm1 .5v1h1v-1H5Zm4.5-1a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Zm.5 2v-1h1v1h-1Zm5-9.5a.5.5 0 0 0-1 0v13a.5.5 0 0 0 1 0v-13Z\",\"M3 2a1 1 0 0 0-2 0v20a1 1 0 1 0 2 0V2Zm20 0a1 1 0 1 0-2 0v20a1 1 0 1 0 2 0V2ZM5 6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6Zm2 1v2h2V7H7Zm-1 6a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H6Zm1 4v-2h2v2H7Zm6-11a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V6Zm2 1v2h2V7h-2Zm-1 6a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-4Zm1 4v-2h2v2h-2Z\",\"M5 3a1 1 0 0 0-2 0v26a1 1 0 1 0 2 0V3Zm24 0a1 1 0 1 0-2 0v26a1 1 0 1 0 2 0V3ZM7 8a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1V8Zm2 1v4h4V9H9Zm9-2a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-6Zm1 6V9h4v4h-4ZM7 18a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-6Zm2 1v4h4v-4H9Zm9-2a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-6Zm1 6v-4h4v4h-4Z\"]];","export default [[\"M.5 0a.5.5 0 0 1 .5.5V2h3.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H1v1h3.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H1v1.5a.5.5 0 0 1-1 0V.5A.5.5 0 0 1 .5 0Zm6 2a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H10v1H6.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H10v1.5a.5.5 0 0 0 1 0V.5a.5.5 0 0 0-1 0V2H6.5Z\",\"M2 1.5a.5.5 0 0 0-1 0v13a.5.5 0 0 0 1 0V12h4.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H2V7h4.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H2V1.5Zm12 0a.5.5 0 0 0-1 0V4H8.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H13v2H8.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H13v2.5a.5.5 0 0 0 1 0v-13Z\",\"M22 1a1 1 0 0 1 1 1v20a1 1 0 1 1-2 0v-3h-7a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h7v-2h-7a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h7V2a1 1 0 0 1 1-1ZM10 5H3V2a1 1 0 0 0-2 0v20a1 1 0 1 0 2 0v-3h7a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H3v-2h7a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1Z\",\"M4 3a1 1 0 0 0-2 0v26a1 1 0 1 0 2 0v-4h10a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H4v-2h10a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H4V3Zm26 0a1 1 0 1 0-2 0v4H18a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h10v2H18a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h10v4a1 1 0 1 0 2 0V3Z\"],[\"M.5 0a.5.5 0 0 1 .5.5V2h3.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H1v1h3.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H1v1.5a.5.5 0 0 1-1 0V.5A.5.5 0 0 1 .5 0ZM1 4V3h3v1H1Zm0 4V7h3v1H1Zm5.5-6a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H10v1H6.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H10v1.5a.5.5 0 0 0 1 0V.5a.5.5 0 0 0-1 0V2H6.5ZM10 3H7v1h3V3Zm0 5V7H7v1h3Z\",\"M2 1.5a.5.5 0 0 0-1 0v13a.5.5 0 0 0 1 0V12h4.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H2V7h4.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H2V1.5ZM6 11H2v-1h4v1Zm0-5H2V5h4v1Zm8-4.5a.5.5 0 0 0-1 0V4H8.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H13v2H8.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H13v2.5a.5.5 0 0 0 1 0v-13ZM13 11v-1H9v1h4Zm0-5V5H9v1h4Z\",\"M22 1a1 1 0 0 1 1 1v20a1 1 0 1 1-2 0v-3h-7a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h7v-2h-7a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h7V2a1 1 0 0 1 1-1Zm-1 14v2h-6v-2h6Zm0-8v2h-6V7h6ZM10 5H3V2a1 1 0 0 0-2 0v20a1 1 0 1 0 2 0v-3h7a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H3v-2h7a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1ZM3 9V7h6v2H3Zm0 6v2h6v-2H3Z\",\"M4 3a1 1 0 0 0-2 0v26a1 1 0 1 0 2 0v-4h10a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H4v-2h10a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H4V3Zm0 16v4h9v-4H4Zm9-6H4V9h9v4ZM30 3a1 1 0 1 0-2 0v4H18a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h10v2H18a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h10v4a1 1 0 1 0 2 0V3Zm-2 20v-4h-9v4h9ZM19 9h9v4h-9V9Z\"]];","export default [[\"M5.5 0a.5.5 0 0 1 .5.5V2h3.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H6v1h1.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H6v1.5a.5.5 0 0 1-1 0V9H1.5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5H5V5H1.5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5H5V.5a.5.5 0 0 1 .5-.5ZM5 3H2v1h3V3ZM2 7h3v1H2V7Z\",\"M7.5 1a.5.5 0 0 1 .5.5V4h3.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H8v2h1.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H8v2.5a.5.5 0 0 1-1 0V12H3.5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5H7V7H3.5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5H7V1.5a.5.5 0 0 1 .5-.5ZM7 10H4v1h3v-1ZM4 5h3v1H4V5Z\",\"M12 1a1 1 0 0 1 1 1v3h5a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-5v2h3a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-3v3a1 1 0 1 1-2 0v-3H6a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h5v-2H6a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h5V2a1 1 0 0 1 1-1Zm-1 14H7v2h4v-2ZM7 7h4v2H7V7Z\",\"M16 2a1 1 0 0 1 1 1v4h8a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-8v2h4a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-4v4a1 1 0 1 1-2 0v-4H7a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h8v-2H7a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h8V3a1 1 0 0 1 1-1Zm-1 17H8v4h7v-4ZM8 9h7v4H8V9Z\"]];","export default [[\"M6 .5a.5.5 0 0 0-1 0V2H1.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H5v1H2.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H5v1.5a.5.5 0 0 0 1 0V9h2.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H6V5h3.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H6V.5Z\",\"M8 1.5a.5.5 0 0 0-1 0V4H3.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H7v2H4.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H7v2.5a.5.5 0 0 0 1 0V12h2.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H8V7h3.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H8V1.5Z\",\"M13 2a1 1 0 1 0-2 0v3H5a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h6v2H7a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4v3a1 1 0 1 0 2 0v-3h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-4v-2h6a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-6V2Z\",\"M17 3a1 1 0 1 0-2 0v4H7a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h8v2h-5a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h5v4a1 1 0 1 0 2 0v-4h5a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-5v-2h8a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-8V3Z\"],[\"M6 .5a.5.5 0 0 0-1 0V2H1.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H5v1H2.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H5v1.5a.5.5 0 0 0 1 0V9h2.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H6V5h3.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H6V.5ZM8 8V7H3v1h5Zm1-4V3H2v1h7Z\",\"M7.5 1a.5.5 0 0 1 .5.5V4h3.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H8v2h2.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H8v2.5a.5.5 0 0 1-1 0V12H4.5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5H7V7H3.5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5H7V1.5a.5.5 0 0 1 .5-.5ZM11 6V5H4v1h7Zm-1 5H5v-1h5v1Z\",\"M13 2a1 1 0 1 0-2 0v3H5a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h6v2H7a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4v3a1 1 0 1 0 2 0v-3h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-4v-2h6a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-6V2Zm3 15v-2H8v2h8ZM6 7v2h12V7H6Z\",\"M17 3a1 1 0 1 0-2 0v4H7a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h8v2h-5a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h5v4a1 1 0 1 0 2 0v-4h5a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-5v-2h8a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-8V3Zm4 20v-4H11v4h10Zm3-10H8V9h16v4Z\"]];","export default [[\"M2 .5a.5.5 0 0 0-1 0v10a.5.5 0 0 0 1 0V.5Zm1 2a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-2Zm0 4a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-2Z\",\"M2 1.5a.5.5 0 0 0-1 0v13a.5.5 0 0 0 1 0v-13Zm1 3a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-2Zm0 5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-2Z\",\"M3 2a1 1 0 0 0-2 0v20a1 1 0 1 0 2 0V2Zm2 4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6Zm0 8a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-4Z\",\"M4 3a1 1 0 0 0-2 0v26a1 1 0 1 0 2 0V3Zm2 5a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V8Zm0 10a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-6Z\"],[\"M2 .5a.5.5 0 0 0-1 0v10a.5.5 0 0 0 1 0V.5Zm1 2a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-2ZM4 3v1h5V3H4ZM3 6.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-2ZM4 7v1h3V7H4Z\",\"M2 1.5a.5.5 0 0 0-1 0v13a.5.5 0 0 0 1 0v-13Zm1 3a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-2ZM4 5v1h7V5H4ZM3 9.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-2Zm1 .5v1h5v-1H4Z\",\"M3 2a1 1 0 0 0-2 0v20a1 1 0 1 0 2 0V2Zm2 4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6Zm2 1v2h10V7H7Zm-2 7a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-4Zm2 1v2h6v-2H7Z\",\"M4 3a1 1 0 0 0-2 0v26a1 1 0 1 0 2 0V3Zm2 5a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V8Zm2 1v4h14V9H8Zm-2 9a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-6Zm2 1v4h8v-4H8Z\"]];","export default [[\"M11 .5a.5.5 0 0 0-1 0v10a.5.5 0 0 0 1 0V.5Zm-9 2a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-2Zm2 4a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-2Z\",\"M15 1.5a.5.5 0 0 0-1 0v13a.5.5 0 0 0 1 0v-13Zm-11 3a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-2Zm3 5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-2Z\",\"M22 1a1 1 0 0 1 1 1v20a1 1 0 1 1-2 0V2a1 1 0 0 1 1-1ZM6 5a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H6Zm4 8a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-8Z\",\"M30 3a1 1 0 1 0-2 0v26a1 1 0 1 0 2 0V3ZM8 8a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V8Zm6 10a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H15a1 1 0 0 1-1-1v-6Z\"],[\"M11 .5a.5.5 0 0 0-1 0v10a.5.5 0 0 0 1 0V.5Zm-9 2a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-2ZM3 3v1h5V3H3Zm1 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-2ZM5 7v1h3V7H5Z\",\"M15 1.5a.5.5 0 0 0-1 0v13a.5.5 0 0 0 1 0v-13Zm-11 3a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-2ZM5 5v1h7V5H5Zm2 4.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-2Zm1 .5v1h4v-1H8Z\",\"M22 1a1 1 0 0 1 1 1v20a1 1 0 1 1-2 0V2a1 1 0 0 1 1-1ZM5 6a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6Zm2 1v2h10V7H7Zm3 6a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-8Zm1 4v-2h6v2h-6Z\",\"M30 3a1 1 0 1 0-2 0v26a1 1 0 1 0 2 0V3ZM8 8a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V8Zm2 1v4h14V9H10Zm4 9a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H15a1 1 0 0 1-1-1v-6Zm2 1v4h8v-4h-8Z\"]];","export default [[\"M1 .5a.5.5 0 0 0-1 0v10a.5.5 0 0 0 1 0V.5Zm10 0a.5.5 0 0 0-1 0v10a.5.5 0 0 0 1 0V.5Zm-9 2a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-2Zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-2Z\",\"M2 1.5a.5.5 0 0 0-1 0v13a.5.5 0 0 0 1 0v-13Zm13 0a.5.5 0 0 0-1 0v13a.5.5 0 0 0 1 0v-13ZM3.5 4a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-9Zm0 5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-9Z\",\"M2 1a1 1 0 0 1 1 1v20a1 1 0 1 1-2 0V2a1 1 0 0 1 1-1Zm4 4a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H6Zm0 8a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H6ZM23 2a1 1 0 1 0-2 0v20a1 1 0 1 0 2 0V2Z\",\"M3 2a1 1 0 0 1 1 1v26a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1Zm4 5a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H7Zm0 10a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H7ZM30 3a1 1 0 1 0-2 0v26a1 1 0 1 0 2 0V3Z\"],[\"M1 .5a.5.5 0 0 0-1 0v10a.5.5 0 0 0 1 0V.5Zm10 0a.5.5 0 0 0-1 0v10a.5.5 0 0 0 1 0V.5ZM2.5 2a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-6ZM3 4V3h5v1H3ZM2 6.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-2ZM3 7v1h5V7H3Z\",\"M2 1.5a.5.5 0 0 0-1 0v13a.5.5 0 0 0 1 0v-13Zm13 0a.5.5 0 0 0-1 0v13a.5.5 0 0 0 1 0v-13Zm-12 3a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-2ZM4 5v1h8V5H4Zm-.5 4a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-9Zm.5 2v-1h8v1H4Z\",\"M2 1a1 1 0 0 1 1 1v20a1 1 0 1 1-2 0V2a1 1 0 0 1 1-1Zm4 4a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H6Zm1 4V7h10v2H7Zm-1 4a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H6Zm1 4v-2h10v2H7ZM23 2a1 1 0 1 0-2 0v20a1 1 0 1 0 2 0V2Z\",\"M3 2a1 1 0 0 1 1 1v26a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1Zm4 5a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H7Zm1 6V9h16v4H8Zm-1 4a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H7Zm1 6v-4h16v4H8ZM30 3a1 1 0 1 0-2 0v26a1 1 0 1 0 2 0V3Z\"]];","export default [[\"M1.5 1a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-8Zm0 5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3Zm5 0a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3Z\",\"M1.5 1a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h12a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-12Zm0 7a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-5Zm7 0a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-5Z\",\"M3 2a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H3Zm0 11a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1v-7a1 1 0 0 0-1-1H3Zm11 0a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1v-7a1 1 0 0 0-1-1h-7Z\",\"M3 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h26a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H3Zm0 15a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h11a1 1 0 0 0 1-1V18a1 1 0 0 0-1-1H3Zm15 0a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h11a1 1 0 0 0 1-1V18a1 1 0 0 0-1-1H18Z\"],[\"M1 1.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-3ZM2 2v2h7V2H2ZM1 6.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-3ZM2 7v2h2V7H2Zm4.5-1a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3ZM7 9V7h2v2H7Z\",\"M1 1.5a.5.5 0 0 1 .5-.5h12a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-12a.5.5 0 0 1-.5-.5v-5ZM2 2v4h11V2H2ZM1 8.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-5ZM2 9v4h4V9H2Zm6.5-1a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-5Zm.5 5V9h4v4H9Z\",\"M2 3a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3Zm2 1v5h16V4H4ZM2 14a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-7Zm2 1v5h5v-5H4Zm10-2a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1v-7a1 1 0 0 0-1-1h-7Zm1 7v-5h5v5h-5Z\",\"M3 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h26a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H3Zm1 11V4h24v9H4Zm-2 5a1 1 0 0 1 1-1h11a1 1 0 0 1 1 1v11a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V18Zm2 1v9h9v-9H4Zm13-1a1 1 0 0 1 1-1h11a1 1 0 0 1 1 1v11a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1V18Zm2 1v9h9v-9h-9Z\"]];","export default [[\"M4.25 2a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 5 2.75v-.5A.25.25 0 0 0 4.75 2h-.5Zm0 3a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 5 5.75v-.5A.25.25 0 0 0 4.75 5h-.5ZM4 8.25A.25.25 0 0 1 4.25 8h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 4 8.75v-.5ZM7.25 2a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 8 2.75v-.5A.25.25 0 0 0 7.75 2h-.5ZM7 5.25A.25.25 0 0 1 7.25 5h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 7 5.75v-.5ZM7.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 8 8.75v-.5A.25.25 0 0 0 7.75 8h-.5Z\",\"M5.5 3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm0 4a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM5 11.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM9.5 3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM9 7.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm.5 3.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Z\",\"M8 4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H8Zm0 6a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1H8Zm-1 7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-2Zm7-13a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1h-2Zm-1 7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1v-2Zm1 5a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-2Z\",\"M10 7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V7Zm1 7a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-2Zm0 8a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-2Zm8 0a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-2Zm-1-7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1v-2Zm1-9a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1h-2Z\"]];","export default [[\"M1 1.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1H2v2h.5a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5v-3Zm0 6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1H2v2h.5a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5v-3ZM4.5 1a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Zm0 3a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Zm0 3a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Zm0 3a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Z\",\"M2 3a1 1 0 0 1 1-1h.5a.5.5 0 0 1 0 1H3v3h.5a.5.5 0 0 1 0 1H3a1 1 0 0 1-1-1V3Zm0 7a1 1 0 0 1 1-1h.5a.5.5 0 0 1 0 1H3v3h.5a.5.5 0 0 1 0 1H3a1 1 0 0 1-1-1v-3Zm4.5-8a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7Zm0 4a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7Zm0 3a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7Zm0 4a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7Z\",\"M2 4a2 2 0 0 1 2-2h1a1 1 0 0 1 0 2H4v4h1a1 1 0 0 1 0 2H4a2 2 0 0 1-2-2V4Zm0 12a2 2 0 0 1 2-2h1a1 1 0 1 1 0 2H4v4h1a1 1 0 1 1 0 2H4a2 2 0 0 1-2-2v-4ZM9 2a1 1 0 0 0 0 2h12a1 1 0 1 0 0-2H9Zm0 6a1 1 0 0 0 0 2h12a1 1 0 1 0 0-2H9Zm0 6a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2H9Zm0 6a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2H9Z\",\"M3 5a2 2 0 0 1 2-2h2a1 1 0 0 1 0 2H5v6h2a1 1 0 1 1 0 2H5a2 2 0 0 1-2-2V5Zm0 16a2 2 0 0 1 2-2h2a1 1 0 1 1 0 2H5v6h2a1 1 0 1 1 0 2H5a2 2 0 0 1-2-2v-6Zm9-18a1 1 0 1 0 0 2h16a1 1 0 1 0 0-2H12Zm0 8a1 1 0 1 0 0 2h16a1 1 0 1 0 0-2H12Zm0 8a1 1 0 1 0 0 2h16a1 1 0 1 0 0-2H12Zm0 8a1 1 0 1 0 0 2h16a1 1 0 1 0 0-2H12Z\"]];","export default [[\"<path d='M6.127.018c.828.02 1.668.2 2.34.439l.19.065a.5.5 0 0 1-.315.95c-.359-.12-.765-.036-1.13.124-.161.07-.3.15-.403.215a.499.499 0 0 0-.163.109L4.112 4.455c-.13.13-.103.47 0 .808l-.012.004-.122.411a.5.5 0 0 1-.132.217l-.998.966a.5.5 0 0 1-.701-.005l-2-1.998a.5.5 0 0 1-.002-.706l.997-1.003a.5.5 0 0 1 .355-.147h.562l.084-.664a.5.5 0 0 1 .143-.29L3.687.645a.5.5 0 0 1 .076-.062C4.439.13 5.309-.003 6.127.018Z'></path><path d='m4.754 5.227 2.121-2.122 3.923 3.923a1.492 1.492 0 0 0-.858.08c-.14-.51-.53-.93-1.08-1.06-.8-.2-1.62.29-1.82 1.09l-.076.3-2.21-2.211Z'></path><path d='M8.985 7.621a.5.5 0 1 0-.97-.242l-1 4a.5.5 0 0 0 .97.242l1-4Zm-3.131.526a.5.5 0 0 1 0 .707l-.647.646.647.647a.5.5 0 1 1-.708.707l-1-1a.5.5 0 0 1 0-.707l1-1a.5.5 0 0 1 .708 0Zm4.292 0a.5.5 0 0 0 0 .707l.647.646-.647.647a.5.5 0 0 0 .708.707l1-1a.5.5 0 0 0 0-.707l-1-1a.5.5 0 0 0-.708 0Z'></path>\",\"M11.4.919C9.45.09 6.847-.452 4.781.55a.5.5 0 0 0-.136.096l-1.5 1.5a.5.5 0 0 0-.12.196l-.421 1.262-1.263.421a.5.5 0 0 0-.196.121l-1 1a.5.5 0 0 0 0 .707l2 2a.5.5 0 0 0 .708 0l1-1a.5.5 0 0 0 .093-.13L4.308 6h.983l2.926-2.926-.14-.423c.714-.578 1.588-.65 3.422-.65a.5.5 0 0 0 .186-.965l-.287-.118ZM9.64 9.348 6.5 6.208 8.707 4l3.02 3.02a1.497 1.497 0 0 0-1.647 1.01l-.44 1.318Zm2.334-.69a.5.5 0 1 0-.948-.316l-2 6a.5.5 0 1 0 .948.316l2-6Zm-4.12.488a.5.5 0 0 1 0 .708L6.207 11.5l1.647 1.646a.5.5 0 1 1-.708.708l-2-2a.5.5 0 0 1 0-.707l2-2a.5.5 0 0 1 .708 0Zm5.292 0a.5.5 0 0 0 0 .708l1.647 1.646-1.647 1.647a.5.5 0 0 0 .708.707l2-2a.5.5 0 0 0 0-.707l-2-2a.5.5 0 0 0-.708 0Z\",\"<path d='M12.254.035c1.656.041 3.336.4 4.681.879.123.043.25.087.38.13a1 1 0 0 1-.63 1.898c-.719-.24-1.53-.07-2.26.25a6.07 6.07 0 0 0-.846.455.998.998 0 0 0-.276.19l-.005.004-.518.52-4.49 4.49c-.418.418-.482 1.118-.108 1.743l-.227.762a1 1 0 0 1-.263.434l-1.997 1.932a1 1 0 0 1-1.402-.01l-4-3.996a1 1 0 0 1-.002-1.413L2.284 6.3a1 1 0 0 1 .71-.295h1.125l.168-1.328a1 1 0 0 1 .285-.582l2.803-2.803a1 1 0 0 1 .15-.123C8.877.262 10.617-.005 12.255.035Z'></path><path d='m9.512 10.457 4.242-4.242L16.57 9.03a3 3 0 0 0-2.51 2.38l-.07.36a3 3 0 0 0-3.517-.352l-.961-.962Zm8.468 1.739a1 1 0 1 0-1.96-.392l-2 10a1 1 0 0 0 1.96.392l2-10Zm-5.273 1.097a1 1 0 0 1 0 1.414L10.414 17l2.293 2.293a1 1 0 0 1-1.414 1.414l-3-3a1 1 0 0 1 0-1.414l3-3a1 1 0 0 1 1.414 0Zm6.586 0a1 1 0 0 0 0 1.414L21.585 17l-2.292 2.293a1 1 0 1 0 1.414 1.414l3-3a1 1 0 0 0 0-1.414l-3-3a1 1 0 0 0-1.414 0Z'></path>\",\"<path d='M22.447 3.107C18.622 1.195 13.738.249 9.595 2.086a1 1 0 0 0-.302.207l-2.5 2.502a1 1 0 0 0-.212.313L5.34 8H4a1 1 0 0 0-.707.293l-2 2a1 1 0 0 0 0 1.415l5 5a1 1 0 0 0 1.414 0l2-2A1 1 0 0 0 10 14v-1.219l.025-.006a.995.995 0 0 1 .268-.483l6.072-6.072-.174-.434c.526-.395 1.048-.584 1.714-.685.768-.117 1.676-.112 2.977-.105.343.002.715.004 1.118.004a1 1 0 0 0 .447-1.894Z'></path><path d='m19.309 18.602-6.304-6.193 4.401-4.4 5.876 6a3 3 0 0 0-3.122 2.04l-.851 2.553Zm4.639-1.285a1 1 0 0 0-1.897-.633l-4 12a1 1 0 1 0 1.897.632l4-12Zm-8.241.976a1 1 0 0 1 0 1.414L12.414 23l3.293 3.293a1 1 0 0 1-1.414 1.414l-4-4a1 1 0 0 1 0-1.414l4-4a1 1 0 0 1 1.414 0Zm10.585 0a1 1 0 0 0 0 1.414L29.585 23l-3.293 3.293a1 1 0 0 0 1.414 1.414l4-4a1 1 0 0 0 0-1.414l-4-4a1 1 0 0 0-1.414 0Z'></path>\"],[\"<path d='M8.468.457a7.797 7.797 0 0 0-2.34-.44c-.82-.02-1.69.114-2.365.567a.5.5 0 0 0-.076.062L2.286 2.047a.5.5 0 0 0-.143.29l-.084.665h-.562a.5.5 0 0 0-.355.147L.145 4.152a.5.5 0 0 0 .002.706l2 1.998a.5.5 0 0 0 .7.005l1-.966a.5.5 0 0 0 .13-.217l.123-.411.52-.174 2.344 2.344.076-.298c.065-.26.196-.488.37-.67L5.463 4.521l.707-.707L8.365 6.01c.162-.015.33-.003.495.039.55.13.94.55 1.08 1.06.273-.112.572-.139.858-.08l-4.19-4.192-.218-.657.06-.06c.104-.107.205-.21.332-.292a3.06 3.06 0 0 1 .43-.232c.365-.16.771-.245 1.13-.125a.5.5 0 1 0 .316-.949 9.858 9.858 0 0 1-.19-.065ZM5.344 2.2l.254.77-1.113 1.113-.948.317a.5.5 0 0 0-.321.331l-.16.536-.55.533-1.3-1.298.499-.501H2.5a.5.5 0 0 0 .496-.437l.118-.932L4.358 1.39c.43-.272 1.046-.39 1.744-.373l.09.003a12.55 12.55 0 0 0-.227.17l-.5.5a.5.5 0 0 0-.121.511Z'></path><path d='M8.985 7.621a.5.5 0 1 0-.97-.242l-1 4a.5.5 0 0 0 .97.242l1-4Zm-3.131.526a.5.5 0 0 1 0 .707l-.647.646.647.647a.5.5 0 1 1-.708.707l-1-1a.5.5 0 0 1 0-.707l1-1a.5.5 0 0 1 .708 0Zm4.292 0a.5.5 0 0 0 0 .707l.647.646-.647.647a.5.5 0 0 0 .708.707l1-1a.5.5 0 0 0 0-.707l-1-1a.5.5 0 0 0-.708 0Z'></path>\",\"<path d='M11.4.919C9.45.09 6.847-.452 4.781.55a.5.5 0 0 0-.136.096l-1.5 1.5a.5.5 0 0 0-.12.196l-.421 1.262-1.263.421a.5.5 0 0 0-.196.121l-1 1a.5.5 0 0 0 0 .707l2 2a.5.5 0 0 0 .708 0l1-1a.5.5 0 0 0 .093-.13L4.308 6h1.984L9.64 9.348l.354-1.06L7.207 5.5 8 4.708l2.598 2.598a1.51 1.51 0 0 1 1.129-.285l-3.29-3.29-.36-1.079c.715-.578 1.589-.65 3.423-.65a.5.5 0 0 0 .186-.965l-.287-.118Zm-4.374 1.74.402 1.207L6.293 5H4a.5.5 0 0 0-.447.276l-.464.927-.589.59L1.207 5.5l.563-.563 1.388-.463a.5.5 0 0 0 .316-.316l.463-1.388 1.355-1.355c1.063-.489 2.355-.499 3.63-.237a3.493 3.493 0 0 0-1.776.968.5.5 0 0 0-.12.512Z'></path><path d='M11.974 8.658a.5.5 0 1 0-.948-.316l-2 6a.5.5 0 1 0 .948.316l2-6Zm-4.12.488a.5.5 0 0 1 0 .708L6.207 11.5l1.647 1.646a.5.5 0 1 1-.708.708l-2-2a.5.5 0 0 1 0-.707l2-2a.5.5 0 0 1 .708 0Zm5.292.001a.5.5 0 0 0 0 .707l1.647 1.646-1.647 1.647a.5.5 0 0 0 .708.707l2-2a.5.5 0 0 0 0-.707l-2-2a.5.5 0 0 0-.708 0Z'></path>\",\"M16.935.914a15.594 15.594 0 0 0-4.68-.879c-1.638-.04-3.378.227-4.73 1.133a1 1 0 0 0-.15.123L4.572 4.094a1 1 0 0 0-.285.582l-.168 1.328H2.993a1 1 0 0 0-.709.295L.291 8.303a1 1 0 0 0 .002 1.413l4 3.995a1 1 0 0 0 1.402.011l1.997-1.932a1 1 0 0 0 .263-.434l.245-.822 1.041-.347 1.232 1.232a2.993 2.993 0 0 1 2.632-.197l-2.18-2.18 1.414-1.414 2.4 2.4a3.015 3.015 0 0 1 1.831-.997l-3.356-3.356-.434-1.315.518-.519.03-.022a6.12 6.12 0 0 1 1.097-.628c.73-.32 1.541-.488 2.26-.249a1 1 0 1 0 .63-1.898 19.75 19.75 0 0 1-.38-.13Zm-6.248 3.488.51 1.54L8.97 8.17l-1.896.63a1 1 0 0 0-.643.664l-.318 1.07L5.011 11.6 2.413 9.005l.996-1.002H5a1 1 0 0 0 .992-.875l.236-1.862 2.487-2.488c.862-.544 2.092-.78 3.49-.744l.178.005a6.99 6.99 0 0 0-.236.165l-.007.005a1.771 1.771 0 0 0-.21.171l-1 1a1 1 0 0 0-.243 1.021Zm7.293 7.794a1 1 0 1 0-1.96-.392l-2 10a1 1 0 0 0 1.96.392l2-10Zm-5.273 1.097a1 1 0 0 1 0 1.414L10.414 17l2.293 2.293a1 1 0 0 1-1.414 1.414l-3-3a1 1 0 0 1 0-1.414l3-3a1 1 0 0 1 1.414 0Zm6.586 0a1 1 0 0 0 0 1.414L21.585 17l-2.292 2.293a1 1 0 1 0 1.414 1.414l3-3a1 1 0 0 0 0-1.414l-3-3a1 1 0 0 0-1.414 0Z\",\"<path d='M22.447 3.107C18.622 1.195 13.738.249 9.595 2.086a1 1 0 0 0-.302.207l-2.5 2.502a1 1 0 0 0-.212.313L5.34 8H4a1 1 0 0 0-.707.293l-2 2a1 1 0 0 0 0 1.415l5 5a1 1 0 0 0 1.414 0l2-2A1 1 0 0 0 10 14v-1.219l2.699-.675 6.602 6.486.704-2.112-5.584-5.486 1.572-1.572 5.125 5.235a3.009 3.009 0 0 1 2.17-.644l-6.434-6.57-.663-1.657c.526-.395 1.048-.584 1.714-.685.768-.117 1.676-.112 2.977-.105.343.002.715.004 1.118.004a1 1 0 0 0 .447-1.894Zm-8.375 2.766.755 1.888-2.338 2.337-3.732.933a1 1 0 0 0-.757.97v1.586l-1 1-3.586-3.586 1-1H6a1 1 0 0 0 .92-.606l1.423-3.323 2.229-2.23c1.905-.797 4.062-.91 6.208-.542-.904.255-1.692.711-2.482 1.49a1 1 0 0 0-.226 1.083Z'></path><path d='M23.948 17.316a1 1 0 0 0-1.897-.632l-4 12a1 1 0 1 0 1.897.632l4-12Zm-8.241.977a1 1 0 0 1 0 1.414L12.414 23l3.293 3.293a1 1 0 0 1-1.414 1.414l-4-4a1 1 0 0 1 0-1.414l4-4a1 1 0 0 1 1.414 0Zm10.585 0a1 1 0 0 0 0 1.414L29.585 23l-3.293 3.293a1 1 0 0 0 1.414 1.414l4-4a1 1 0 0 0 0-1.414l-4-4a1 1 0 0 0-1.414 0Z'></path>\"]];","export default [[\"<path d='M6.127.018c.828.02 1.668.2 2.34.439l.19.065a.5.5 0 0 1-.315.95c-.359-.12-.765-.036-1.13.124-.161.07-.3.15-.403.215a.499.499 0 0 0-.163.109L4.112 4.455c-.13.13-.103.47 0 .808l-.012.004-.122.411a.5.5 0 0 1-.132.217l-.998.966a.5.5 0 0 1-.701-.005l-2-1.998a.5.5 0 0 1-.002-.706l.997-1.003a.5.5 0 0 1 .355-.147h.562l.084-.664a.5.5 0 0 1 .143-.29L3.687.645a.5.5 0 0 1 .076-.062C4.439.13 5.309-.003 6.127.018Z'></path><path d='m4.754 5.227 2.121-2.122 2.917 2.917A1 1 0 0 0 9 7H8a1 1 0 0 0-1-1c-.426 0-.827.107-1.178.295L4.754 5.227ZM5 9a.5.5 0 0 0 .5-.5A1.5 1.5 0 0 1 7 7v1a.5.5 0 0 0-.5.5c0 .384-.144.735-.382 1 .238.265.382.616.382 1a.5.5 0 0 0 .5.5v1a1.5 1.5 0 0 1-1.5-1.5.5.5 0 0 0-.5-.5V9Zm3.5 0a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm.5 1.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM12 9a.5.5 0 0 1-.5-.5A1.5 1.5 0 0 0 10 7v1a.5.5 0 0 1 .5.5c0 .384.144.735.382 1a1.494 1.494 0 0 0-.382 1 .5.5 0 0 1-.5.5v1a1.5 1.5 0 0 0 1.5-1.5.5.5 0 0 1 .5-.5V9Z'></path>\",\"<path d='M11.4.919C9.45.09 6.847-.452 4.781.55a.5.5 0 0 0-.136.096l-1.5 1.5a.5.5 0 0 0-.12.196l-.421 1.262-1.263.421a.5.5 0 0 0-.196.121l-1 1a.5.5 0 0 0 0 .707l2 2a.5.5 0 0 0 .708 0l1-1a.5.5 0 0 0 .093-.13L4.308 6h.983l2.926-2.926-.14-.423c.714-.578 1.588-.65 3.422-.65a.5.5 0 0 0 .186-.965l-.287-.118ZM7.414 7.122 6.5 6.207 8.707 4 12 7.294V8h-1V7a1 1 0 0 0-1-1h-.5c-.871 0-1.639.446-2.086 1.122Z'></path><path d='M8 10.5a.5.5 0 0 1-.5.5H7v1h.5a.5.5 0 0 1 .5.5v2A1.5 1.5 0 0 0 9.5 16h.5v-1h-.5a.5.5 0 0 1-.5-.5v-2c0-.384-.144-.735-.382-1 .238-.265.382-.616.382-1v-2a.5.5 0 0 1 .5-.5h.5V7h-.5A1.5 1.5 0 0 0 8 8.5v2Zm7.5.5a.5.5 0 0 1-.5-.5v-2A1.5 1.5 0 0 0 13.5 7H13v1h.5a.5.5 0 0 1 .5.5v2c0 .384.144.735.382 1a1.494 1.494 0 0 0-.382 1v2a.5.5 0 0 1-.5.5H13v1h.5a1.5 1.5 0 0 0 1.5-1.5v-2a.5.5 0 0 1 .5-.5h.5v-1h-.5ZM12 9.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm0 2a.5.5 0 0 0-1 0v1.293l-.354.353a.5.5 0 0 0 .708.708l.5-.5A.5.5 0 0 0 12 13v-1.5Z'></path>\",\"<path d='M16.935.914a15.594 15.594 0 0 0-4.68-.879c-1.638-.04-3.378.227-4.73 1.133a1 1 0 0 0-.15.123L4.572 4.094a1 1 0 0 0-.285.582l-.168 1.328H2.993a1 1 0 0 0-.709.295L.291 8.303a1 1 0 0 0 .002 1.413l4 3.995a1 1 0 0 0 1.402.011l1.997-1.932a1 1 0 0 0 .263-.434l.227-.762c-.374-.625-.31-1.325.108-1.743l5.008-5.01.005-.003a.997.997 0 0 1 .276-.19c.21-.136.502-.306.846-.457.73-.32 1.54-.488 2.259-.249a1 1 0 0 0 .632-1.897l-.38-.131Z'></path><path d='m9.95 10.896-.438-.439 4.242-4.242 4.304 4.304A2.004 2.004 0 0 0 18 11v1.17a2.997 2.997 0 0 0-2 0V11a2 2 0 0 0-2-2c-1.392 0-3.037.635-4.05 1.896Z'></path><path d='M14 13c-.73 0-1 .461-1 .667v1.666c0 .665-.252 1.23-.65 1.667.398.436.65 1.002.65 1.667v1.666c0 .206.27.667 1 .667v2c-1.478 0-3-1.03-3-2.667v-1.666c0-.206-.27-.667-1-.667v-2c.73 0 1-.461 1-.667v-1.666C11 12.03 12.522 11 14 11v2Zm7 .667c0-.206-.27-.667-1-.667v-2c1.478 0 3 1.03 3 2.667v1.666c0 .206.27.667 1 .667v2c-.73 0-1 .461-1 .667v1.666C23 21.97 21.478 23 20 23v-2c.73 0 1-.461 1-.667v-1.666c0-.665.252-1.23.65-1.667a2.434 2.434 0 0 1-.65-1.667v-1.666ZM17 18a1 1 0 0 1 1 1v1a1 1 0 0 1-.293.707l-1 1a1 1 0 0 1-1.414-1.414l.707-.707V19a1 1 0 0 1 1-1Zm0-2a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path>\",\"<path d='M22.447 3.107C18.622 1.195 13.738.249 9.595 2.086a1 1 0 0 0-.302.207l-2.5 2.502a1 1 0 0 0-.212.313L5.34 8H4a1 1 0 0 0-.707.293l-2 2a1 1 0 0 0 0 1.415l5 5a1 1 0 0 0 1.414 0l2-2A1 1 0 0 0 10 14v-1.219l.025-.006a.995.995 0 0 1 .268-.483l6.072-6.072-.174-.434c.526-.395 1.048-.584 1.714-.685.768-.117 1.676-.112 2.977-.105.343.002.715.004 1.118.004a1 1 0 0 0 .447-1.894Z'></path><path d='m15.288 14.651-2.283-2.242 4.401-4.4L25 15.763V17c0 .366.098.707.27 1h-.032A2.992 2.992 0 0 0 23 17c-.77 0-1.47.288-2 .762V15c0-1.1-.9-2-2-2a4.98 4.98 0 0 0-3.712 1.651Z'></path><path d='M18 18a1 1 0 0 1 1-1v-2a3 3 0 0 0-3 3v3a1 1 0 0 1-1 1h-1v2h1a1 1 0 0 1 1 1v3a3 3 0 0 0 3 3v-2a1 1 0 0 1-1-1v-3c0-.768-.289-1.47-.764-2 .475-.53.764-1.232.764-2v-3Zm10 0a1 1 0 0 0-1-1v-2a3 3 0 0 1 3 3v3a1 1 0 0 0 1 1h1v2h-1a1 1 0 0 0-1 1v3a3 3 0 0 1-3 3v-2a1 1 0 0 0 1-1v-3c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 28 21v-3Zm-5 6a1 1 0 0 1 1 1v1.5a1 1 0 0 1-.168.555l-1 1.5a1 1 0 0 1-1.664-1.11L22 26.197V25a1 1 0 0 1 1-1Zm0-3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path>\"],[\"M8.468.457a7.797 7.797 0 0 0-2.34-.44c-.82-.02-1.69.114-2.365.567a.5.5 0 0 0-.076.062L2.286 2.047a.5.5 0 0 0-.143.29l-.084.665h-.562a.5.5 0 0 0-.355.147L.145 4.152a.5.5 0 0 0 .002.706l2 1.998a.5.5 0 0 0 .7.005l1-.966a.5.5 0 0 0 .13-.217l.123-.411.52-.174 1.202 1.202c.335-.18.716-.285 1.12-.294l-1.48-1.48.708-.707 2.878 2.879a1 1 0 0 1 .744-.671L6.607 2.837 6.39 2.18l.26-.26.014-.01a3.06 3.06 0 0 1 .548-.314c.365-.16.77-.245 1.13-.125a.5.5 0 0 0 .316-.949 9.883 9.883 0 0 1-.19-.065ZM5.344 2.2l.254.77-1.113 1.113-.948.317a.5.5 0 0 0-.321.331l-.16.536-.55.533-1.3-1.298.499-.501H2.5a.5.5 0 0 0 .496-.437l.118-.932L4.358 1.39c.43-.272 1.046-.39 1.744-.373l.09.003c-.077.052-.16.104-.227.17l-.5.5a.5.5 0 0 0-.121.511ZM5 9a.5.5 0 0 0 .5-.5A1.5 1.5 0 0 1 7 7v1a.5.5 0 0 0-.5.5c0 .384-.144.735-.382 1 .238.265.382.616.382 1a.5.5 0 0 0 .5.5v1a1.5 1.5 0 0 1-1.5-1.5.5.5 0 0 0-.5-.5V9Zm3.5 0a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm.5 1.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM12 9a.5.5 0 0 1-.5-.5A1.5 1.5 0 0 0 10 7v1a.5.5 0 0 1 .5.5c0 .384.144.735.382 1a1.494 1.494 0 0 0-.382 1 .5.5 0 0 1-.5.5v1a1.5 1.5 0 0 0 1.5-1.5.5.5 0 0 1 .5-.5V9Z\",\"<path d='M11.4.919C9.45.09 6.847-.452 4.781.55a.5.5 0 0 0-.136.096l-1.5 1.5a.5.5 0 0 0-.12.196l-.421 1.262-1.263.421a.5.5 0 0 0-.196.121l-1 1a.5.5 0 0 0 0 .707l2 2a.5.5 0 0 0 .708 0l1-1a.5.5 0 0 0 .093-.13L4.308 6h1.984l1.12 1.12c.187-.28.427-.52.708-.707L7.206 5.5 8 4.708l1.3 1.3c.066-.005.133-.008.2-.008h.5a1 1 0 0 1 1 1v.708l.292.292H12v-.706L8.437 3.73l-.36-1.079c.715-.578 1.589-.65 3.423-.65a.5.5 0 0 0 .186-.965l-.287-.118Zm-4.374 1.74.402 1.207L6.293 5H4a.5.5 0 0 0-.447.276l-.464.927-.589.59L1.207 5.5l.563-.563 1.388-.463a.5.5 0 0 0 .316-.316l.463-1.388 1.355-1.355c1.063-.489 2.355-.499 3.63-.237a3.493 3.493 0 0 0-1.776.968.5.5 0 0 0-.12.512Z'></path><path d='M8 10.5a.5.5 0 0 1-.5.5H7v1h.5a.5.5 0 0 1 .5.5v2A1.5 1.5 0 0 0 9.5 16h.5v-1h-.5a.5.5 0 0 1-.5-.5v-2c0-.384-.144-.735-.382-1 .238-.265.382-.616.382-1v-2a.5.5 0 0 1 .5-.5h.5V7h-.5A1.5 1.5 0 0 0 8 8.5v2Zm7.5.5a.5.5 0 0 1-.5-.5v-2A1.5 1.5 0 0 0 13.5 7H13v1h.5a.5.5 0 0 1 .5.5v2c0 .384.144.735.382 1a1.494 1.494 0 0 0-.382 1v2a.5.5 0 0 1-.5.5H13v1h.5a1.5 1.5 0 0 0 1.5-1.5v-2a.5.5 0 0 1 .5-.5h.5v-1h-.5ZM12 9.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm0 2a.5.5 0 0 0-1 0v1.293l-.354.353a.5.5 0 0 0 .708.708l.5-.5A.5.5 0 0 0 12 13v-1.5Z'></path>\",\"<path d='M16.935.914a15.594 15.594 0 0 0-4.68-.879c-1.638-.04-3.378.227-4.73 1.133a1 1 0 0 0-.15.123L4.572 4.094a1 1 0 0 0-.285.582l-.168 1.328H2.993a1 1 0 0 0-.709.295L.291 8.303a1 1 0 0 0 .002 1.413l4 3.995a1 1 0 0 0 1.402.011l1.997-1.932a1 1 0 0 0 .263-.434l.245-.822 1.041-.347.71.709a4.917 4.917 0 0 1 1.562-1.266l-.588-.587 1.414-1.415 1.38 1.38c.096-.005.19-.008.281-.008a2 2 0 0 1 2 2v.289l.724.724A3.005 3.005 0 0 1 18 12.17V11c0-.166.02-.327.058-.481l-4.844-4.844-.434-1.315.518-.519.03-.022a6.12 6.12 0 0 1 1.097-.628c.73-.32 1.54-.488 2.259-.249a1 1 0 0 0 .632-1.897l-.38-.131Zm-6.248 3.488.51 1.54L8.97 8.17l-1.896.63a1 1 0 0 0-.643.664l-.318 1.07L5.011 11.6 2.413 9.005l.996-1.002H5a1 1 0 0 0 .992-.875l.236-1.862 2.487-2.488c.862-.544 2.092-.78 3.49-.744l.178.005c-.102.085-.322.21-.453.341l-1 1a1 1 0 0 0-.243 1.021Z'></path><path d='M14 13c-.73 0-1 .461-1 .667v1.666c0 .665-.252 1.23-.65 1.667.398.436.65 1.002.65 1.667v1.666c0 .206.27.667 1 .667v2c-1.478 0-3-1.03-3-2.667v-1.666c0-.206-.27-.667-1-.667v-2c.73 0 1-.461 1-.667v-1.666C11 12.03 12.522 11 14 11v2Zm7 .667c0-.206-.27-.667-1-.667v-2c1.478 0 3 1.03 3 2.667v1.666c0 .206.27.667 1 .667v2c-.73 0-1 .461-1 .667v1.666C23 21.97 21.478 23 20 23v-2c.73 0 1-.461 1-.667v-1.666c0-.665.252-1.23.65-1.667a2.434 2.434 0 0 1-.65-1.667v-1.666ZM17 18a1 1 0 0 1 1 1v1a1 1 0 0 1-.293.707l-1 1a1 1 0 0 1-1.414-1.414l.707-.707V19a1 1 0 0 1 1-1Zm0-2a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path>\",\"<path d='M9.595 2.086c4.143-1.837 9.027-.891 12.852 1.021A1 1 0 0 1 22 5.001c-.403 0-.775-.002-1.118-.004-1.301-.007-2.21-.012-2.977.105-.666.1-1.188.29-1.714.685l.663 1.658L25 15.764V17c0 .366.098.707.27 1h-.032a2.99 2.99 0 0 0-1.795-.968l-2.517-2.57a2.015 2.015 0 0 0-1.347-1.376l-3.587-3.663-1.572 1.572 2.501 2.457a4.995 4.995 0 0 0-1.633 1.2l-2.59-2.544-2.698.674v1.22a1 1 0 0 1-.293.707l-2 2a1 1 0 0 1-1.414 0l-5-5a1 1 0 0 1 0-1.415l2-2A1 1 0 0 1 4 8.001h1.34l1.24-2.893a1 1 0 0 1 .213-.313l2.5-2.502a1 1 0 0 1 .302-.207Zm5.232 5.675-.755-1.888a1 1 0 0 1 .226-1.084c.79-.778 1.578-1.234 2.482-1.49-2.146-.368-4.304-.254-6.208.543l-2.229 2.23L6.92 9.395a1 1 0 0 1-.919.606H4.414l-1 1L7 14.587l1-1v-1.586a1 1 0 0 1 .757-.97l3.732-.933 2.338-2.337Z'></path><path d='M19 17a1 1 0 0 0-1 1v3c0 .768-.289 1.47-.764 2 .475.53.764 1.232.764 2v3a1 1 0 0 0 1 1v2a3 3 0 0 1-3-3v-3a1 1 0 0 0-1-1h-1v-2h1a1 1 0 0 0 1-1v-3a3 3 0 0 1 3-3v2Zm8 0a1 1 0 0 1 1 1v3c0 .768.289 1.47.764 2A2.989 2.989 0 0 0 28 25v3a1 1 0 0 1-1 1v2a3 3 0 0 0 3-3v-3a1 1 0 0 1 1-1h1v-2h-1a1 1 0 0 1-1-1v-3a3 3 0 0 0-3-3v2Zm-3 8a1 1 0 1 0-2 0v1.197l-.832 1.248a1 1 0 0 0 1.664 1.11l1-1.5A1 1 0 0 0 24 26.5V25Zm0-5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path>\"]];","export default [[\"<path d='M8.468.457a7.797 7.797 0 0 0-2.34-.44c-.82-.02-1.69.114-2.365.567a.5.5 0 0 0-.076.062L2.286 2.047a.5.5 0 0 0-.143.29l-.084.665h-.562a.5.5 0 0 0-.355.147L.145 4.152a.5.5 0 0 0 .002.706l2 1.998a.5.5 0 0 0 .7.005l1-.966a.5.5 0 0 0 .13-.217l.123-.411.012-.004c-.103-.338-.13-.678 0-.808L6.646 1.92a.499.499 0 0 1 .163-.109 3.14 3.14 0 0 1 .403-.215c.365-.16.771-.245 1.13-.125a.5.5 0 1 0 .316-.949 9.858 9.858 0 0 1-.19-.065Z'></path><path d='M6.527 7 4.754 5.227l2.121-2.122 2.917 2.917A1 1 0 0 0 9 7v.085a1.5 1.5 0 0 0-1.5.297A1.495 1.495 0 0 0 6.527 7ZM3.5 8.5A.5.5 0 0 1 3 9v1a.5.5 0 0 1 .5.5A1.5 1.5 0 0 0 5 12v-1a.5.5 0 0 1-.5-.5c0-.384-.144-.735-.382-1 .238-.265.382-.616.382-1A.5.5 0 0 1 5 8V7a1.5 1.5 0 0 0-1.5 1.5ZM12 9a.5.5 0 0 1-.5-.5A1.5 1.5 0 0 0 10 7v1a.5.5 0 0 1 .5.5c0 .384.144.735.382 1a1.494 1.494 0 0 0-.382 1 .5.5 0 0 1-.5.5v1a1.5 1.5 0 0 0 1.5-1.5.5.5 0 0 1 .5-.5V9Z'></path><path d='m6.854 8.854-.647.646.647.646a.5.5 0 0 1-.708.708l-1-1a.5.5 0 0 1 0-.708l1-1a.5.5 0 1 1 .708.708Zm1.939.646-.647-.646a.5.5 0 1 1 .708-.708l1 1a.5.5 0 0 1 0 .708l-1 1a.5.5 0 0 1-.708-.708l.647-.646Z'></path>\",\"M3.5 11a.5.5 0 0 0 .5-.5v-2A1.5 1.5 0 0 1 5.5 7H6v1h-.5a.5.5 0 0 0-.5.5v2c0 .384-.144.735-.382 1 .238.265.382.616.382 1v2a.5.5 0 0 0 .5.5H6v1h-.5A1.5 1.5 0 0 1 4 14.5v-2a.5.5 0 0 0-.5-.5H3v-1h.5Zm5.354-1.146a.5.5 0 1 0-.708-.708l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 0 0 .708-.708L7.207 11.5l1.647-1.646Zm1.292 0a.5.5 0 0 1 .708-.708l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708l1.647-1.646-1.647-1.646ZM15.5 11a.5.5 0 0 1-.5-.5v-2A1.5 1.5 0 0 0 13.5 7H13v1h.5a.5.5 0 0 1 .5.5v2c0 .384.144.735.382 1a1.494 1.494 0 0 0-.382 1v2a.5.5 0 0 1-.5.5H13v1h.5a1.5 1.5 0 0 0 1.5-1.5v-2a.5.5 0 0 1 .5-.5h.5v-1h-.5ZM11.4.919C9.45.09 6.847-.452 4.781.55a.5.5 0 0 0-.136.096l-1.5 1.5a.5.5 0 0 0-.12.196l-.421 1.262-1.263.421a.5.5 0 0 0-.196.121l-1 1a.5.5 0 0 0 0 .707l2 2a.5.5 0 0 0 .708 0l.354-.355a2.51 2.51 0 0 1 .885-1.065L4.309 6h.983l2.926-2.926-.14-.423c.714-.578 1.588-.65 3.422-.65a.5.5 0 0 0 .186-.965l-.287-.118ZM6.933 6.642a1.003 1.003 0 0 0-.389-.48L8.707 4 12 7.294v1.585l-.44-.44a1.5 1.5 0 0 0-2.06-.057 1.498 1.498 0 0 0-1.195-.37l-1.371-1.37Z\",\"<path d='M16.935.91a15.594 15.594 0 0 0-4.68-.879c-1.638-.04-3.378.227-4.73 1.133a1 1 0 0 0-.15.123L4.572 4.09a1 1 0 0 0-.285.582L4.119 6H2.993a1 1 0 0 0-.709.295L.291 8.299a1 1 0 0 0 .002 1.413l4 3.995a1 1 0 0 0 1.402.011l.311-.3c.078-1.563.887-2.715 1.947-3.45-.066-.429.055-.84.337-1.12l4.49-4.491.518-.52.005-.003a.996.996 0 0 1 .276-.19 5.96 5.96 0 0 1 .846-.456c.73-.32 1.54-.49 2.259-.25a1 1 0 0 0 .632-1.897l-.38-.131Z'></path><path d='M18.06 10.516c-.04.155-.06.317-.06.484v1.171a3.007 3.007 0 0 0-2.5.23 3.007 3.007 0 0 0-2.5-.23V11a2 2 0 0 0-2.035-2l2.79-2.79 4.304 4.306ZM11 13c-.73 0-1 .461-1 .667v1.666c0 .665-.252 1.23-.65 1.667.398.436.65 1.002.65 1.667v1.666c0 .206.27.667 1 .667v2c-1.478 0-3-1.03-3-2.667v-1.666C8 18.46 7.73 18 7 18v-2c.73 0 1-.461 1-.667v-1.666C8 12.03 9.522 11 11 11v2Zm10 .667c0-.206-.27-.667-1-.667v-2c1.478 0 3 1.03 3 2.667v1.666c0 .206.27.667 1 .667v2c-.73 0-1 .461-1 .667v1.666C23 21.97 21.478 23 20 23v-2c.73 0 1-.461 1-.667v-1.666c0-.665.252-1.23.65-1.667a2.434 2.434 0 0 1-.65-1.667v-1.666Z'></path><path d='M14.707 14.293a1 1 0 0 1 0 1.414L13.414 17l1.293 1.293a1 1 0 0 1-1.414 1.414l-2-2a1 1 0 0 1 0-1.414l2-2a1 1 0 0 1 1.414 0Zm1.585 1.414a1 1 0 0 1 1.414-1.414l2 2a1 1 0 0 1 0 1.414l-2 2a1 1 0 0 1-1.414-1.414L17.585 17l-1.293-1.293Z'></path>\",\"<path d='M22.447 3.107C18.622 1.195 13.738.249 9.595 2.086a1 1 0 0 0-.302.207l-2.5 2.502a1 1 0 0 0-.212.313L5.34 8H4a1 1 0 0 0-.707.293l-2 2a1 1 0 0 0 0 1.415l5 5a1 1 0 0 0 1.414 0l2-2A1 1 0 0 0 10 14v-1.219l.025-.006a.995.995 0 0 1 .268-.483l6.072-6.072-.174-.434c.526-.395 1.048-.584 1.714-.685.768-.117 1.676-.112 2.977-.105.343.002.715.004 1.118.004a1 1 0 0 0 .447-1.894Z'></path><path d='m13.622 13.014-.617-.605 4.401-4.4L25 15.763V17c0 .392.113.757.307 1.065l-1.186-1.186A3.001 3.001 0 0 0 20.5 16.4a3.004 3.004 0 0 0-3.26.169L16 15.35V15a2 2 0 0 0-2-2c-.127 0-.253.005-.378.014ZM13 18a1 1 0 0 1 1-1v-2a3 3 0 0 0-3 3v3a1 1 0 0 1-1 1H9v2h1a1 1 0 0 1 1 1v3a3 3 0 0 0 3 3v-2a1 1 0 0 1-1-1v-3c0-.768-.289-1.47-.764-2 .475-.53.764-1.232.764-2v-3Zm15 0a1 1 0 0 0-1-1v-2a3 3 0 0 1 3 3v3a1 1 0 0 0 1 1h1v2h-1a1 1 0 0 0-1 1v3a3 3 0 0 1-3 3v-2a1 1 0 0 0 1-1v-3c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 28 21v-3Z'></path><path d='M19.707 18.293a1 1 0 0 1 0 1.414L16.414 23l3.293 3.293a1 1 0 0 1-1.414 1.414l-4-4a1 1 0 0 1 0-1.414l4-4a1 1 0 0 1 1.414 0Zm1.585 1.414a1 1 0 1 1 1.414-1.414l4 4a1 1 0 0 1 0 1.414l-4 4a1 1 0 0 1-1.414-1.414L24.585 23l-3.293-3.293Z'></path>\"],[\"<path d='M6.127.018c.828.02 1.668.2 2.34.439.062.022.126.044.191.065a.5.5 0 1 1-.316.949c-.36-.12-.765-.035-1.13.125a3.06 3.06 0 0 0-.548.314l-.015.01-.26.26.218.657 3.185 3.185a1.002 1.002 0 0 0-.744.67L6.17 3.815l-.707.707L8.02 7.08a1.491 1.491 0 0 0-.52.303A1.495 1.495 0 0 0 6.527 7L4.621 5.093l-.521.174-.122.411a.5.5 0 0 1-.132.217l-.998.966a.5.5 0 0 1-.701-.005l-2-1.998a.5.5 0 0 1-.002-.706l.997-1.003a.5.5 0 0 1 .355-.147h.562l.084-.664a.5.5 0 0 1 .143-.29L3.687.645a.5.5 0 0 1 .076-.062C4.439.13 5.309-.003 6.127.018ZM5.598 2.97l-.254-.77a.5.5 0 0 1 .12-.51l.5-.5a.95.95 0 0 1 .106-.086l.003-.002.118-.083a5.662 5.662 0 0 0-.089-.003c-.698-.017-1.313.1-1.744.373L3.114 2.633l-.118.932a.5.5 0 0 1-.496.437h-.795l-.499.501 1.3 1.298.55-.533.16-.536a.5.5 0 0 1 .32-.331l.95-.317 1.112-1.113Z'></path><path d='M3.5 8.5A.5.5 0 0 1 3 9v1a.5.5 0 0 1 .5.5A1.5 1.5 0 0 0 5 12v-1a.5.5 0 0 1-.5-.5c0-.384-.144-.735-.382-1 .238-.265.382-.616.382-1A.5.5 0 0 1 5 8V7a1.5 1.5 0 0 0-1.5 1.5ZM12 9a.5.5 0 0 1-.5-.5A1.5 1.5 0 0 0 10 7v1a.5.5 0 0 1 .5.5c0 .384.144.735.382 1a1.494 1.494 0 0 0-.382 1 .5.5 0 0 1-.5.5v1a1.5 1.5 0 0 0 1.5-1.5.5.5 0 0 1 .5-.5V9Z'></path><path d='m6.854 8.854-.647.646.647.646a.5.5 0 0 1-.708.708l-1-1a.5.5 0 0 1 0-.708l1-1a.5.5 0 1 1 .708.708Zm1.939.646-.647-.646a.5.5 0 1 1 .708-.708l1 1a.5.5 0 0 1 0 .708l-1 1a.5.5 0 0 1-.708-.708l.647-.646Z'></path>\",\"<path d='M11.4.919C9.45.09 6.847-.452 4.781.55a.5.5 0 0 0-.136.096l-1.5 1.5a.5.5 0 0 0-.12.196l-.421 1.262-1.263.421a.5.5 0 0 0-.196.121l-1 1a.5.5 0 0 0 0 .707l2 2a.5.5 0 0 0 .708 0l.354-.355a2.51 2.51 0 0 1 .885-1.065L4.309 6h1.984l.065.066c.264.102.474.312.576.576l1.37 1.37c.421-.054.86.069 1.196.37.108-.097.227-.176.353-.236L7.207 5.501 8 4.708l4 4V7.294L8.437 3.73l-.36-1.079c.715-.578 1.589-.65 3.423-.65a.5.5 0 0 0 .186-.965l-.287-.118Zm-4.374 1.74.402 1.207L6.293 5H4a.5.5 0 0 0-.447.276l-.464.927-.589.59L1.207 5.5l.563-.563 1.388-.463a.5.5 0 0 0 .316-.316l.463-1.388 1.355-1.355c1.063-.489 2.355-.499 3.63-.237a3.493 3.493 0 0 0-1.776.968.5.5 0 0 0-.12.512Z'></path><path d='M3.5 11a.5.5 0 0 0 .5-.5v-2A1.5 1.5 0 0 1 5.5 7H6v1h-.5a.5.5 0 0 0-.5.5v2c0 .384-.144.735-.382 1 .238.265.382.616.382 1v2a.5.5 0 0 0 .5.5H6v1h-.5A1.5 1.5 0 0 1 4 14.5v-2a.5.5 0 0 0-.5-.5H3v-1h.5Z'></path><path d='M8.854 9.854a.5.5 0 1 0-.708-.708l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 0 0 .708-.708L7.207 11.5l1.647-1.646Zm1.292 0a.5.5 0 0 1 .708-.708l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708l1.647-1.646-1.647-1.646Z'></path><path d='M15.5 11a.5.5 0 0 1-.5-.5v-2A1.5 1.5 0 0 0 13.5 7H13v1h.5a.5.5 0 0 1 .5.5v2c0 .384.144.735.382 1a1.494 1.494 0 0 0-.382 1v2a.5.5 0 0 1-.5.5H13v1h.5a1.5 1.5 0 0 0 1.5-1.5v-2a.5.5 0 0 1 .5-.5h.5v-1h-.5Z'></path>\",\"<path d='M16.935.914a15.594 15.594 0 0 0-4.68-.879c-1.638-.04-3.378.227-4.73 1.133a1 1 0 0 0-.15.123L4.572 4.094a1 1 0 0 0-.285.582l-.168 1.328H2.993a1 1 0 0 0-.709.295L.291 8.303a1 1 0 0 0 .002 1.413l4 3.995a1 1 0 0 0 1.402.011l.311-.3c.143-2.92 2.837-4.407 4.962-4.422l1.371-1.372 4.385 4.385a3 3 0 0 1 1.276.158V11c0-.166.02-.327.058-.481l-4.844-4.844-.434-1.315.518-.519.03-.022a6.12 6.12 0 0 1 1.097-.628c.73-.32 1.54-.488 2.259-.249a1 1 0 0 0 .632-1.897l-.38-.131Zm-6.248 3.488.51 1.54L8.97 8.17l-1.896.63a1 1 0 0 0-.643.664l-.318 1.07L5.011 11.6 2.413 9.005l.996-1.002H5a1 1 0 0 0 .992-.875l.236-1.862 2.487-2.488c.862-.544 2.092-.78 3.49-.744l.178.005a6.99 6.99 0 0 0-.236.165 3.058 3.058 0 0 0-.217.176l-1 1a1 1 0 0 0-.243 1.021Z'></path><path d='M11 13c-.73 0-1 .461-1 .667v1.666c0 .665-.252 1.23-.65 1.667.398.436.65 1.002.65 1.667v1.666c0 .206.27.667 1 .667v2c-1.478 0-3-1.03-3-2.667v-1.666C8 18.46 7.73 18 7 18v-2c.73 0 1-.461 1-.667v-1.666C8 12.03 9.522 11 11 11v2Zm10 .667c0-.206-.27-.667-1-.667v-2c1.478 0 3 1.03 3 2.667v1.666c0 .206.27.667 1 .667v2c-.73 0-1 .461-1 .667v1.666C23 21.97 21.478 23 20 23v-2c.73 0 1-.461 1-.667v-1.666c0-.665.252-1.23.65-1.667a2.434 2.434 0 0 1-.65-1.667v-1.666Zm-6.293.626a1 1 0 0 1 0 1.414L13.414 17l1.293 1.293a1 1 0 0 1-1.414 1.414l-2-2a1 1 0 0 1 0-1.414l2-2a1 1 0 0 1 1.414 0Zm1.585 1.414a1 1 0 0 1 1.414-1.414l2 2a1 1 0 0 1 0 1.414l-2 2a1 1 0 0 1-1.414-1.414L17.585 17l-1.293-1.293Z'></path>\",\"<path d='M9.595 2.086c4.143-1.837 9.027-.891 12.852 1.021A1 1 0 0 1 22 5.001c-.403 0-.775-.002-1.118-.004-1.301-.007-2.21-.012-2.977.105-.666.1-1.188.29-1.714.685l.663 1.658L25 15.764V17c0 .392.113.757.307 1.065l-1.186-1.186a2.986 2.986 0 0 0-1.653-.842l-6.476-6.614-1.572 1.572 5.15 5.06a3 3 0 0 0-2.33.515L16 15.35V15a2 2 0 0 0-2-2c-.127 0-.253.005-.378.014l-.923-.906-2.699.674v1.22a1 1 0 0 1-.293.707l-2 2a1 1 0 0 1-1.414 0l-5-5a1 1 0 0 1 0-1.415l2-2A1 1 0 0 1 4 8.001h1.34l1.24-2.893a1 1 0 0 1 .213-.313l2.5-2.502a1 1 0 0 1 .302-.207Zm5.232 5.675-.755-1.888a1 1 0 0 1 .226-1.084c.79-.778 1.578-1.234 2.482-1.49-2.146-.368-4.304-.254-6.208.543l-2.229 2.23L6.92 9.395a1 1 0 0 1-.919.606H4.414l-1 1L7 14.587l1-1v-1.586a1 1 0 0 1 .757-.97l3.732-.933 2.338-2.337Z'></path><path d='M14 17a1 1 0 0 0-1 1v3c0 .768-.289 1.47-.764 2 .475.53.764 1.232.764 2v3a1 1 0 0 0 1 1v2a3 3 0 0 1-3-3v-3a1 1 0 0 0-1-1H9v-2h1a1 1 0 0 0 1-1v-3a3 3 0 0 1 3-3v2Zm13 0a1 1 0 0 1 1 1v3c0 .768.289 1.47.764 2A2.989 2.989 0 0 0 28 25v3a1 1 0 0 1-1 1v2a3 3 0 0 0 3-3v-3a1 1 0 0 1 1-1h1v-2h-1a1 1 0 0 1-1-1v-3a3 3 0 0 0-3-3v2Z'></path><path d='M19.707 18.293a1 1 0 0 1 0 1.414L16.414 23l3.293 3.293a1 1 0 0 1-1.414 1.414l-4-4a1 1 0 0 1 0-1.414l4-4a1 1 0 0 1 1.414 0Zm1.585 0a1 1 0 0 0 0 1.414L24.585 23l-3.293 3.293a1 1 0 1 0 1.414 1.414l4-4a1 1 0 0 0 0-1.414l-4-4a1 1 0 0 0-1.414 0Z'></path>\"]];","export default [[\"M6.5 1.005a.5.5 0 0 0-.5.5v.582a3.498 3.498 0 0 0-.49.284l-.506-.291a.5.5 0 0 0-.683.183l-.495.858A.498.498 0 0 0 3.5 3h-2a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-.267l1.616.632c.12.048.352.135.584.135h1.5c.318 0 .663-.148.867-.277a.505.505 0 0 0 .014-.01l2.7-1.838a.477.477 0 0 0 .024-.018c.324-.25.561-.577.653-.96a1.543 1.543 0 0 0-.186-1.148 1.436 1.436 0 0 0-.774-.63 3.463 3.463 0 0 0-.01-.161l.507-.293a.5.5 0 0 0 .184-.683l-1-1.732a.5.5 0 0 0-.684-.183l-.514.297A3.497 3.497 0 0 0 9 2.087v-.582a.5.5 0 0 0-.5-.5h-2ZM5.404 4a61.98 61.98 0 0 0-.93-.004l.463-.801.362.208a.5.5 0 0 0 .575-.053c.232-.199.5-.355.793-.459A.5.5 0 0 0 7 2.421v-.416h1v.416a.5.5 0 0 0 .333.471c.29.102.555.257.785.453a.5.5 0 0 0 .574.052l.37-.214.5.866-.364.21a.5.5 0 0 0-.241.526c.02.106.033.216.04.327a1.845 1.845 0 0 0-.31.13l-.693.398A1.5 1.5 0 0 0 7.5 4H5.404ZM4 8.159l1.986.777a1.378 1.378 0 0 0 .196.062A.15.15 0 0 0 6.2 9h1.5a.84.84 0 0 0 .327-.119l2.678-1.824c.17-.134.252-.274.28-.392a.545.545 0 0 0-.077-.412c-.093-.16-.368-.318-.735-.138l-1.424.819A.5.5 0 0 1 8.5 7h-2a.5.5 0 0 1 0-1h1a.5.5 0 0 0 0-1H5.39a72.353 72.353 0 0 0-1.09-.002H4V8.16Z\",\"M8.5.998a.5.5 0 0 0-.5.5v.686c-.196.07-.387.152-.57.247l-.584-.561a.5.5 0 0 0-.706.014L4.754 3.325a.5.5 0 0 0 .014.707l.61.587A4.473 4.473 0 0 0 5.231 5h-.735a.5.5 0 0 0-.5.5v.933A.5.5 0 0 0 3.5 6h-2a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5V13h.913l2.41.868c.202.08.447.132.677.132h2a1.054 1.054 0 0 0 .645-.197l.041-.028.074-.048L13.712 12c.601-.323.991-.722 1.174-1.174.186-.46.131-.909-.034-1.264a1.579 1.579 0 0 0-.872-.81.499.499 0 0 0-.082-.105l-.322-.31A4.35 4.35 0 0 0 13.717 8h.783a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-.731a4.456 4.456 0 0 0-.147-.38l.61-.588a.5.5 0 0 0 .014-.707L12.86 1.884a.5.5 0 0 0-.707-.014l-.584.56A4.475 4.475 0 0 0 11 2.185v-.686a.5.5 0 0 0-.5-.5h-2ZM5.647 7h-.651V6h.612a.5.5 0 0 0 .487-.384 3.43 3.43 0 0 1 .332-.864.5.5 0 0 0-.093-.6l-.513-.494.693-.721.494.475a.5.5 0 0 0 .615.061 3.478 3.478 0 0 1 1.002-.435A.5.5 0 0 0 9 2.554v-.556h1v.556a.5.5 0 0 0 .375.484c.36.092.697.24 1.002.435a.5.5 0 0 0 .615-.061l.494-.475.693.72-.513.494a.5.5 0 0 0-.093.6c.147.27.26.56.332.865a.5.5 0 0 0 .487.384H14v1h-.645a.5.5 0 0 0-.482.366 3.46 3.46 0 0 1-.346.82.5.5 0 0 0 .06.587l-.12.045-1.471.57a1.492 1.492 0 0 0-.25-.722A2.499 2.499 0 0 0 9.498 4a2.5 2.5 0 0 0-2.274 3.54C6.782 7.232 6.247 7 5.647 7Zm5.35-.5A1.5 1.5 0 0 1 9.503 8h-.015a1.5 1.5 0 1 1 1.51-1.5ZM9.547 11c.332-.011.637-.129.88-.321l2.404-.93.007-.002c.35-.142.603-.126.767-.069.165.059.28.173.34.304a.572.572 0 0 1 .014.47c-.07.173-.258.42-.727.67a.362.362 0 0 0-.017.01l-2.967 1.736-.015.009a5.282 5.282 0 0 0-.113.074l-.025.017a.682.682 0 0 1-.048.03A.335.335 0 0 1 10 13H8a.924.924 0 0 1-.33-.07l-2.5-.9A.499.499 0 0 0 5 12H4V8h1.647c.388 0 .78.175 1.15.47.38.302.722.447 1.167.502.282.035.622.034 1.033.03L9 9h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 0 0 1h.961a.504.504 0 0 0 .039.002h1a.36.36 0 0 0 .047-.003Z\",\"M12 2a1 1 0 0 0-1 1v.916c-.142.05-.281.103-.419.16l-.783-.783a1 1 0 0 0-1.415 0L6.262 5.414a1 1 0 0 0 0 1.414l.607.607c-.1.184-.191.372-.276.565H6a1 1 0 0 0-1 1H2a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1h.728l2.966 1.74c.043.025.088.047.135.066.408.163.876.194 1.171.194h3c.562 0 1.045-.156 1.488-.426l4.735-2.37.001-.001c2.043-1.026 2.185-3.297 1.125-4.563a3 3 0 0 0-.95-.767c.117-.282.218-.574.3-.873H21a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1h-.655a7.528 7.528 0 0 0-.267-.548l.625-.624a1 1 0 0 0 0-1.414L18.58 3.293a1 1 0 0 0-1.414 0l-.791.791A7.447 7.447 0 0 0 16 3.938V3a1 1 0 0 0-1-1h-3ZM6 18v-6h2.028a1 1 0 0 1 .447.106l1.578.788c.139.07.292.106.447.106H14a1 1 0 1 1 0 2h-3a1 1 0 1 0 0 2h4c.131 0 .26-.026.382-.076l2.055-.85a.97.97 0 0 0 .026-.01l.015-.007c.76-.354 1.275-.486 1.63-.482.283.003.489.089.707.35a.887.887 0 0 1 .17.717c-.047.248-.211.549-.659.774l-4.774 2.39a1.423 1.423 0 0 0-.085.048A.806.806 0 0 1 14 20h-3c-.165 0-.305-.018-.383-.038l-3.111-1.824A1 1 0 0 0 7 18.001H6Zm2.028-8h-.745a1 1 0 0 0 .951-.693 5.476 5.476 0 0 1 .72-1.449 1 1 0 0 0-.113-1.279l-.458-.458.707-.707.576.576a1 1 0 0 0 1.184.172 5.457 5.457 0 0 1 1.375-.521A1 1 0 0 0 13 4.667V4h1v.681a1 1 0 0 0 .765.972c.473.114.921.29 1.337.517A1 1 0 0 0 17.29 6l.585-.586.707.707-.473.474a1 1 0 0 0-.115 1.276c.303.438.544.92.711 1.436a1 1 0 0 0 .952.693H20v1h-.107a1 1 0 0 0-.989.847 5.458 5.458 0 0 1-.62 1.815 6.885 6.885 0 0 0-1.285.419L17 14a2.99 2.99 0 0 0-.512-1.677 3.5 3.5 0 1 0-6.486-1.69l-.633-.316A3 3 0 0 0 8.029 10Zm6.972.5c0 .223-.049.436-.136.626A3.002 3.002 0 0 0 14 11h-1.915A1.5 1.5 0 1 1 15 10.5Z\",\"M17 3a2 2 0 0 0-2 2v.424s-.002.006-.008.013a.146.146 0 0 1-.07.046 9.95 9.95 0 0 0-1.755.76.14.14 0 0 1-.075.02l-.013-.003-.502-.421a2 2 0 0 0-2.818.246L8.474 7.617a2 2 0 0 0 .246 2.818l.24.201s.003.006.005.016a.15.15 0 0 1-.014.087 9.94 9.94 0 0 0-.468 1.184.146.146 0 0 1-.046.07.055.055 0 0 1-.013.007H8a2 2 0 0 0-1.732 1H3a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-1h1.785l3.805 1.712.039.017c.407.162.904.271 1.371.271h4a1 1 0 0 0 .482-.124l8.593-4.721.013-.007c2.039-1.16 2.432-3.432 1.271-4.97a2.946 2.946 0 0 0-1.827-1.133.13.13 0 0 1 .031-.037.055.055 0 0 1 .013-.008H28a2 2 0 0 0 2-2v-2a2 2 0 0 0-2-2h-.424s-.006-.002-.013-.008a.145.145 0 0 1-.046-.07 9.948 9.948 0 0 0-.455-1.157.15.15 0 0 1-.014-.087.058.058 0 0 1 .005-.015l.226-.19a2 2 0 0 0 .246-2.817L26.24 6.124a2 2 0 0 0-2.818-.247l-.474.398s-.006.002-.014.002a.141.141 0 0 1-.075-.019 9.946 9.946 0 0 0-1.782-.775.146.146 0 0 1-.07-.046.057.057 0 0 1-.007-.013V5a2 2 0 0 0-2-2h-2ZM8 25v-8h3.394a1 1 0 0 1 .555.168l2.168 1.445c.379.253.825.387 1.278.387H19a1 1 0 1 1 0 2h-5a1 1 0 1 0 0 2h5c.906 0 1.718-.402 2.268-1.037a.988.988 0 0 0 .102-.034l4-1.594.02-.008c.623-.264 1.158-.37 1.565-.344.374.025.623.156.808.4.384.51.397 1.42-.658 2.023L18.743 27H15c-.18 0-.416-.047-.611-.122l-3.979-1.79A1 1 0 0 0 10 25H8Zm0-11v1h3.394a3 3 0 0 1 1.629.48 5 5 0 1 1 8.565 3.002c.188.32.318.676.377 1.057l2.655-1.058c.273-.115.553-.216.838-.297.01-.202.048-.402.113-.593.015-.042.03-.085.043-.129.26-.806 1.01-1.462 1.962-1.462H28v-2h-.424c-.952 0-1.701-.656-1.962-1.462a7.932 7.932 0 0 0-.364-.925c-.375-.8-.246-1.842.517-2.482l.226-.19-1.285-1.532-.475.398c-.695.584-1.638.593-2.347.198a7.947 7.947 0 0 0-1.424-.62C19.656 7.126 19 6.377 19 5.426V5h-2v.425c0 .951-.656 1.7-1.462 1.96-.49.16-.96.363-1.403.609-.708.391-1.648.38-2.341-.202l-.503-.421-1.285 1.532.24.201c.765.642.892 1.686.514 2.488a7.75 7.75 0 0 0-.374.946c-.26.806-1.01 1.462-1.961 1.462H8Zm11 3h-3.236a3 3 0 1 1 4.287.19A2.993 2.993 0 0 0 19 17Z\"],[\"M6 1.505a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v.582c.168.08.329.173.48.277l.515-.297a.5.5 0 0 1 .684.183l1 1.732a.5.5 0 0 1-.184.683l-.507.293a4.4 4.4 0 0 1 .01.162c.327.113.603.335.774.629.21.36.279.76.186 1.148-.092.383-.33.71-.653.96a.477.477 0 0 1-.024.018l-2.7 1.839a.505.505 0 0 1-.014.01c-.204.128-.549.276-.867.276H6.2c-.232 0-.465-.087-.584-.135L4 9.233V9.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-6a.5.5 0 0 1 .5-.5h2c.125 0 .238.046.326.12l.495-.857a.5.5 0 0 1 .683-.183l.505.291c.155-.107.32-.202.491-.284v-.582ZM4.475 3.997c.368 0 .746 0 .929.004L7.22 4h.28a1.5 1.5 0 0 1 1.494 1.64l.693-.399a1.845 1.845 0 0 1 .309-.129 2.505 2.505 0 0 0-.04-.327.5.5 0 0 1 .242-.526l.364-.21-.5-.866-.37.214a.5.5 0 0 1-.574-.052 2.497 2.497 0 0 0-.785-.453A.5.5 0 0 1 8 2.421v-.416H7v.416a.5.5 0 0 1-.333.471c-.293.104-.561.26-.793.459a.5.5 0 0 1-.575.053l-.362-.208-.462.801ZM3 9H2V4h1v5Zm2.986-.064L4 8.16V5l.299-.002c.426 0 .895 0 1.091.004h.012L6.49 5H7.5a.5.5 0 0 1 0 1h-1a.5.5 0 0 0 0 1h2a.5.5 0 0 0 .25-.066l1.423-.819c.367-.18.642-.023.735.138a.545.545 0 0 1 .077.412c-.028.118-.11.258-.28.392L8.027 8.881A.84.84 0 0 1 7.7 9H6.2l-.018-.002a1.378 1.378 0 0 1-.196-.062Z\",\"M8 1.498a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v.686c.197.07.387.152.57.247l.583-.561a.5.5 0 0 1 .707.014l1.386 1.441a.5.5 0 0 1-.014.707l-.61.587c.054.124.103.251.147.381h.731a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-.783c-.042.115-.09.227-.141.338l.322.309c.032.031.06.066.082.104.407.156.708.457.872.81.165.356.22.806.034 1.265-.183.452-.573.851-1.174 1.174l-2.952 1.727-.074.048-.041.028A1.054 1.054 0 0 1 10 14H8c-.23 0-.475-.053-.677-.132L4.913 13H4v.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-7a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .496.433V5.5a.5.5 0 0 1 .5-.5h.735c.044-.13.093-.257.147-.38l-.61-.588a.5.5 0 0 1-.014-.707L6.14 1.884a.5.5 0 0 1 .706-.014l.585.56A4.5 4.5 0 0 1 8 2.184v-.686ZM3 12.5V7H2v6h1v-.5ZM4.996 7h.651c.6 0 1.135.232 1.576.54a2.5 2.5 0 1 1 3.524 1.125c.14.21.229.456.249.722l1.47-.569.121-.045a.5.5 0 0 1-.06-.586c.148-.255.265-.53.346-.82A.5.5 0 0 1 13.355 7H14V6h-.608a.5.5 0 0 1-.487-.384 3.471 3.471 0 0 0-.332-.864.5.5 0 0 1 .093-.6l.513-.494-.693-.721-.494.475a.5.5 0 0 1-.615.061 3.478 3.478 0 0 0-1.002-.435.5.5 0 0 1-.375-.484v-.556H9v.556a.5.5 0 0 1-.375.484 3.44 3.44 0 0 0-1.002.435.5.5 0 0 1-.615-.061l-.494-.475-.693.72.513.494a.5.5 0 0 1 .093.6c-.147.27-.26.56-.332.865A.5.5 0 0 1 5.608 6h-.612v1Zm4.507 1a1.5 1.5 0 1 0-.015 0h.015Zm.925 2.679a1.493 1.493 0 0 1-.928.322h-1L8.461 11H7.5a.5.5 0 0 1 0-1h2a.5.5 0 0 0 0-1H9l-.003.003c-.411.003-.751.004-1.033-.031-.445-.055-.787-.2-1.167-.503C6.427 8.175 6.035 8 5.647 8H4v4h1c.058 0 .115.01.17.03l2.5.9A.924.924 0 0 0 8 13h2a.335.335 0 0 0 .047-.002.682.682 0 0 0 .048-.03l.025-.017.113-.074.014-.009 2.968-1.736a.362.362 0 0 1 .017-.01c.47-.25.657-.497.727-.67a.572.572 0 0 0-.014-.47.581.581 0 0 0-.34-.304c-.164-.057-.416-.073-.768.069l-.006.003-2.403.929Z\",\"M11 3a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v.938c.127.046.252.094.376.146l.791-.791a1 1 0 0 1 1.414 0l2.122 2.121a1 1 0 0 1 0 1.414l-.625.624c.096.179.185.361.267.548H21a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-.3c-.083.3-.184.59-.301.873a3 3 0 0 1 .95.767c1.06 1.266.918 3.537-1.125 4.563l-4.736 2.371c-.443.27-.926.426-1.488.426h-3c-.295 0-.763-.031-1.171-.195a1.014 1.014 0 0 1-.135-.065L6.728 20H6a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V10a1 1 0 0 1 1-1h3a1 1 0 0 1 1-1h.593c.085-.193.177-.381.276-.565l-.607-.607a1 1 0 0 1 0-1.414l2.121-2.121a1 1 0 0 1 1.415 0l.783.783c.138-.057.277-.11.419-.16V3ZM4 19v-8H3v8h1Zm2-7v6l1 .001a1 1 0 0 1 .506.137l3.111 1.824c.078.02.218.038.383.038h3a.806.806 0 0 0 .467-.146c.027-.017.056-.033.085-.048l4.774-2.39c.448-.226.612-.526.659-.774a.887.887 0 0 0-.17-.717c-.218-.261-.424-.347-.708-.35-.354-.004-.87.128-1.63.482a1.042 1.042 0 0 1-.04.018l-2.055.85A.997.997 0 0 1 15 17h-4a1 1 0 1 1 0-2h3a1 1 0 1 0 0-2h-3.5a.999.999 0 0 1-.447-.106l-1.578-.788A1 1 0 0 0 8.028 12H6Zm1.283-2h.745a3 3 0 0 1 1.341.317l.633.316a3.5 3.5 0 1 1 6.486 1.69 2.986 2.986 0 0 1 .51 1.758 6.885 6.885 0 0 1 1.287-.419l.022-.043c.294-.542.5-1.14.597-1.772a1 1 0 0 1 .989-.847H20v-1h-.344a1 1 0 0 1-.952-.693 5.474 5.474 0 0 0-.71-1.436 1 1 0 0 1 .114-1.276l.473-.474-.707-.707L17.29 6a1 1 0 0 1-1.187.17 5.457 5.457 0 0 0-1.337-.516A1 1 0 0 1 14 4.681V4h-1v.667a1 1 0 0 1-.775.974 5.457 5.457 0 0 0-1.375.521 1 1 0 0 1-1.184-.172l-.576-.576-.707.707.458.458a1 1 0 0 1 .113 1.28 5.46 5.46 0 0 0-.72 1.448 1 1 0 0 1-.951.693Zm7.58 1.126A1.5 1.5 0 1 0 12.085 11H14c.3 0 .59.044.864.126Z\",\"M15 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v.424s.002.006.008.013a.146.146 0 0 0 .07.046 9.954 9.954 0 0 1 1.781.775c.03.016.057.02.075.02a.054.054 0 0 0 .014-.003l.474-.398a2 2 0 0 1 2.818.247l1.285 1.532a2 2 0 0 1-.246 2.817l-.226.19-.005.015a.15.15 0 0 0 .014.087c.174.374.327.76.455 1.158a.15.15 0 0 0 .046.07.055.055 0 0 0 .013.007H28a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-.424s-.006.002-.013.008a.13.13 0 0 0-.031.037c.695.136 1.342.49 1.828 1.133 1.16 1.538.767 3.81-1.272 4.97l-.013.007-8.593 4.721A1 1 0 0 1 19 29h-4a3.832 3.832 0 0 1-1.41-.288L9.785 27H8v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V14a1 1 0 0 1 1-1h3.268A2 2 0 0 1 8 12h.424s.006-.002.013-.008a.146.146 0 0 0 .046-.07 9.94 9.94 0 0 1 .468-1.183.15.15 0 0 0 .014-.087.058.058 0 0 0-.005-.016l-.24-.2a2 2 0 0 1-.246-2.819l1.285-1.532a2 2 0 0 1 2.818-.246l.502.421s.005.002.013.002a.14.14 0 0 0 .075-.019 9.95 9.95 0 0 1 1.756-.76.146.146 0 0 0 .07-.046.055.055 0 0 0 .007-.013V5ZM6 15H4v12h2V15Zm2 2v8h2a1 1 0 0 1 .41.088l3.979 1.79c.195.075.431.122.611.122h3.743l8.363-4.595c1.054-.602 1.041-1.512.657-2.021-.185-.245-.434-.376-.808-.4-.407-.028-.942.08-1.565.343l-.02.008-4 1.594a.988.988 0 0 1-.102.034A2.993 2.993 0 0 1 19 23h-5a1 1 0 1 1 0-2h5a1 1 0 1 0 0-2h-3.604c-.454 0-.9-.134-1.279-.387l-2.168-1.445a1 1 0 0 0-.555-.168H8Zm0-2v-1h.425c.951 0 1.7-.656 1.96-1.462.106-.325.23-.64.375-.946.378-.802.25-1.846-.514-2.488l-.24-.201 1.285-1.532.503.421c.693.582 1.633.593 2.341.202.444-.246.913-.45 1.403-.608.806-.26 1.462-1.01 1.462-1.961V5h2v.424c0 .952.656 1.701 1.462 1.962.498.16.974.369 1.424.62.709.394 1.652.385 2.347-.199l.474-.398 1.286 1.532-.226.19c-.763.64-.892 1.681-.517 2.482.14.299.262.607.364.925.26.806 1.01 1.462 1.962 1.462H28v2h-.424c-.952 0-1.701.656-1.962 1.462a8.144 8.144 0 0 1-.043.13c-.065.19-.103.39-.113.592a7.315 7.315 0 0 0-.838.297l-2.655 1.058a2.98 2.98 0 0 0-.377-1.057 5 5 0 1 0-8.565-3.002 3 3 0 0 0-1.629-.48H8Zm7.764 2H19c.37 0 .724.067 1.051.19a3 3 0 1 0-4.287-.19Z\"]];","export default [[\"M0 10h1.5a.5.5 0 0 0 .5-.5V9h.849l1.374.916A.5.5 0 0 0 4.5 10h2a.5.5 0 0 0 .354-.146L7.707 9H10v.5a.5.5 0 0 0 .5.5H12V2h-1.5a.5.5 0 0 0-.5.5V3h-.793l-.853-.854A.5.5 0 0 0 8 2H3.5a.5.5 0 0 0-.354.146L2.293 3H2v-.5a.5.5 0 0 0-.5-.5H0v8Zm10-2V4H9a.5.5 0 0 1-.353-.146L7.793 3H6.207L4.061 5.146a.5.5 0 0 0 0 .708l.086.085a.5.5 0 0 0 .707 0l1.793-1.793a.5.5 0 1 1 .707.708l-.897.896L8.707 8H10Zm-6.723.084A.5.5 0 0 0 3 8H2V4h.5a.5.5 0 0 0 .354-.146L3.707 3h1.086l-1.44 1.44a1.5 1.5 0 0 0 0 2.12l.086.086a1.5 1.5 0 0 0 2.122 0l.189-.189 1.575 1.575a.5.5 0 0 0-.179.114L6.293 9H4.65l-1.374-.916Z\",\"M5.146 4.146A.5.5 0 0 1 5.5 4H10a.5.5 0 0 1 .4.2L11.75 6H12v-.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5V12H9.707l-.853.854A.5.5 0 0 1 8.5 13H6a.5.5 0 0 1-.354-.146L4.793 12H4v.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-7a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .468.325l1.178-1.179ZM12 7v4h-1v-.5a.5.5 0 0 0-.146-.354L8.457 7.75l.897-.896a.5.5 0 1 0-.707-.708l-1.75 1.75a.56.56 0 1 1-.793-.792L8.207 5H9.75l1.35 1.8a.5.5 0 0 0 .4.2h.5ZM7.604 8.604l.146-.147 2.25 2.25V11h-.5a.5.5 0 0 0-.354.146L8.293 12H6.207l-.853-.854A.5.5 0 0 0 5 11H4V6.707L5.707 5h1.086L5.397 6.396a1.56 1.56 0 1 0 2.207 2.208Z\",\"M9 5a1 1 0 0 0-.707.293L6.586 7H6a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1h.532l2.2 2.64A1 1 0 0 0 9.5 20H12a1 1 0 0 0 .707-.293l.707-.707H15a1 1 0 0 0 .707-.293L17.414 17H18v1a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1h-3a1 1 0 0 0-1 1h-.086l-1.707-1.707A1 1 0 0 0 15.5 5H9Zm9 4h-.5a1 1 0 0 1-.707-.293L15.086 7h-3.172L9.207 9.707a1.121 1.121 0 1 0 1.586 1.586l2-2a1 1 0 1 1 1.414 1.414l-.543.543 3.75 3.75H18V9ZM6 15h1a1 1 0 0 1 .768.36l2.2 2.64h1.618l.707-.707A1 1 0 0 1 13 17h1.586l1-1-3.336-3.336-.043.043A3.121 3.121 0 0 1 7.285 8.96 1 1 0 0 1 7 9H6v6Z\",\"M2 7a1 1 0 0 0-1 1v15a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-1h.586l3.707 3.707A1 1 0 0 0 12 26h5a1 1 0 0 0 .707-.293l.707-.707H22a1 1 0 0 0 .894-.553l1-2A.997.997 0 0 0 24 22h1v1a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v1h-2.586l-1.707-1.707A1 1 0 0 0 20 7H10a1 1 0 0 0-.707.293L7.586 9H7V8a1 1 0 0 0-1-1H2Zm5 4v9h1a1 1 0 0 1 .707.293L12.414 24h4.172l.707-.707A1 1 0 0 1 18 23h3.382l.401-.802L15 15.414l-.793.793a3.121 3.121 0 1 1-4.414-4.414L12.586 9h-2.172l-1.707 1.707A1 1 0 0 1 8 11H7Zm8.414-2-4.207 4.207a1.121 1.121 0 0 0 1.586 1.586l3-3a1 1 0 0 1 1.414 1.414l-.793.793 6 6H25v-9h-3a1 1 0 0 1-.707-.293L19.586 9h-4.172Z\"],[\"M0 10h1.5a.5.5 0 0 0 .5-.5V9h.849l1.374.916A.5.5 0 0 0 4.5 10h2a.5.5 0 0 0 .354-.146L7.707 9H10v.5a.5.5 0 0 0 .5.5H12V9h-1V3h1V2h-1.5a.5.5 0 0 0-.5.5V3h-.793l-.853-.854A.5.5 0 0 0 8 2H3.5a.5.5 0 0 0-.354.146L2.293 3H2v-.5a.5.5 0 0 0-.5-.5H0v1h1v6H0v1Zm10-2V4H9a.5.5 0 0 1-.353-.146L7.793 3H6.207L4.061 5.146a.5.5 0 0 0 0 .708l.086.085a.5.5 0 0 0 .707 0l1.793-1.793a.5.5 0 1 1 .707.708l-.897.896L8.707 8H10Zm-6.723.084A.5.5 0 0 0 3 8H2V4h.5a.5.5 0 0 0 .354-.146L3.707 3h1.086l-1.44 1.44a1.5 1.5 0 0 0 0 2.12l.086.086a1.5 1.5 0 0 0 2.122 0l.189-.189 1.575 1.575a.5.5 0 0 0-.179.114L6.293 9H4.65l-1.374-.916Z\",\"M5.5 4a.5.5 0 0 0-.354.146L3.968 5.325A.5.5 0 0 0 3.5 5h-2a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5V12h.793l.853.854A.5.5 0 0 0 6 13h2.5a.5.5 0 0 0 .354-.146L9.707 12H12v.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V6h-.25L10.4 4.2A.5.5 0 0 0 10 4H5.5ZM13 6.51V6h1v6h-1V6.51ZM12 7h-.5a.5.5 0 0 1-.4-.2L9.75 5H8.207L6.104 7.104a.56.56 0 0 0 .793.792l1.75-1.75a.5.5 0 1 1 .707.708l-.897.896 2.397 2.396A.5.5 0 0 1 11 10.5v.5h1V7ZM7.75 8.457l-.146.147a1.56 1.56 0 1 1-2.207-2.208L6.793 5H5.707L4 6.707V11h1a.5.5 0 0 1 .354.146l.853.854h2.086l.853-.854A.5.5 0 0 1 9.5 11h.5v-.293l-2.25-2.25ZM3 6H2v6h1V6Z\",\"M6 7h.586l1.707-1.707A1 1 0 0 1 9 5h6.5a1 1 0 0 1 .707.293L17.914 7H18a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v11a1 1 0 0 1-1 1h-3a1 1 0 0 1-1-1v-1h-.586l-1.707 1.707A1 1 0 0 1 15 19h-1.586l-.707.707A1 1 0 0 1 12 20H9.5a1 1 0 0 1-.768-.36L6.532 17H6v1a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1Zm1.793 5.707a3.123 3.123 0 0 1-.508-3.748A1 1 0 0 1 7 9H6v6h1a1 1 0 0 1 .768.36l2.2 2.64h1.618l.707-.707A1 1 0 0 1 13 17h1.586l1-1-3.336-3.336-.043.043a3.121 3.121 0 0 1-4.414 0ZM11.914 7 9.207 9.707a1.121 1.121 0 1 0 1.586 1.586l2-2a1 1 0 1 1 1.414 1.414l-.543.543 3.75 3.75H18V9h-.5a1 1 0 0 1-.707-.293L15.086 7h-3.172ZM3 17V8h1v9H3Zm17 0V8h1v9h-1Z\",\"M2 7a1 1 0 0 0-1 1v15a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-1h.586l3.707 3.707A1 1 0 0 0 12 26h5a1 1 0 0 0 .707-.293l.707-.707H22a1 1 0 0 0 .894-.553l1-2A.997.997 0 0 0 24 22h1v1a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v1h-2.586l-1.707-1.707A1 1 0 0 0 20 7H10a1 1 0 0 0-.707.293L7.586 9H7V8a1 1 0 0 0-1-1H2Zm5 4v9h1a1 1 0 0 1 .707.293L12.414 24h4.172l.707-.707A1 1 0 0 1 18 23h3.382l.401-.802L15 15.414l-.793.793a3.121 3.121 0 1 1-4.414-4.414L12.586 9h-2.172l-1.707 1.707A1 1 0 0 1 8 11H7Zm8.414-2-4.207 4.207a1.121 1.121 0 0 0 1.586 1.586l3-3a1 1 0 0 1 1.414 1.414l-.793.793 6 6H25v-9h-3a1 1 0 0 1-.707-.293L19.586 9h-4.172ZM3 22V9h2v13H3Zm24 0V9h2v13h-2Z\"]];","export default [[\"M2.289 2.973A1.5 1.5 0 0 1 3.693 2h4.614a1.5 1.5 0 0 1 1.404.973l1.194 3.182c.063.168.095.346.095.526V9.5A1.5 1.5 0 0 1 9.5 11h-7A1.5 1.5 0 0 1 1 9.5V6.681c0-.18.032-.358.096-.526l1.193-3.182Zm6.486.351L9.79 6.028A1.508 1.508 0 0 0 9.5 6h-7c-.099 0-.195.01-.289.028l1.014-2.704A.5.5 0 0 1 3.693 3h4.614a.5.5 0 0 1 .468.324ZM3 8.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm6 0a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\",\"M2.805 3.059A1.5 1.5 0 0 1 4.239 2h7.522a1.5 1.5 0 0 1 1.434 1.059l1.739 5.65c.044.143.066.292.066.441v3.35a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 12.5V9.15c0-.15.022-.298.066-.44l1.739-5.651Zm9.434.294 1.433 4.657A1.518 1.518 0 0 0 13.5 8h-11c-.058 0-.116.003-.172.01L3.76 3.353A.5.5 0 0 1 4.239 3h7.522a.5.5 0 0 1 .478.353ZM3 10.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5Zm9 0a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\",\"M3.687 5.382A3 3 0 0 1 6.623 3h10.754a3 3 0 0 1 2.936 2.382l1.623 7.708a3 3 0 0 1 .064.618V18a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3v-4.292a3 3 0 0 1 .064-.618l1.623-7.708Zm14.669.412 1.322 6.283A3.003 3.003 0 0 0 19 12H5c-.233 0-.46.027-.679.077l1.323-6.283A1 1 0 0 1 6.623 5h10.754a1 1 0 0 1 .979.794ZM6 16a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2H7a1 1 0 0 1-1-1Zm12 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\",\"M8.562 5a3 3 0 0 0-2.91 2.272L3.09 17.52a3 3 0 0 0-.09.727V25a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3v-6.754a3 3 0 0 0-.09-.727L26.35 7.272A3 3 0 0 0 23.439 5H8.561Zm18.18 12.093L24.41 7.757A1 1 0 0 0 23.44 7H8.561a1 1 0 0 0-.97.757l-2.334 9.336c.237-.06.486-.093.742-.093h20c.256 0 .505.032.742.093ZM7 22a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H8a1 1 0 0 1-1-1Zm17 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"],[\"<path d='M3 8.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm5.5.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M3.693 2a1.5 1.5 0 0 0-1.404.973L1.096 6.155A1.5 1.5 0 0 0 1 6.68V9.5A1.5 1.5 0 0 0 2.5 11h7A1.5 1.5 0 0 0 11 9.5V6.681c0-.18-.032-.358-.095-.526L9.71 2.973A1.5 1.5 0 0 0 8.307 2H3.693Zm6.096 4.028L8.775 3.324A.5.5 0 0 0 8.307 3H3.693a.5.5 0 0 0-.468.324L2.21 6.028A1.55 1.55 0 0 1 2.5 6h7c.099 0 .195.01.289.028ZM2 7.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-2Z'></path>\",\"<path d='M3 10.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5Zm8.5.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M4.239 2a1.5 1.5 0 0 0-1.434 1.059l-1.739 5.65A1.5 1.5 0 0 0 1 9.15v3.35A1.5 1.5 0 0 0 2.5 14h11a1.5 1.5 0 0 0 1.5-1.5V9.15c0-.15-.022-.298-.066-.44l-1.739-5.651A1.5 1.5 0 0 0 11.761 2H4.24Zm9.433 6.01L12.24 3.353A.5.5 0 0 0 11.761 3H4.24a.5.5 0 0 0-.478.353L2.328 8.01c.056-.007.114-.01.172-.01h11c.058 0 .116.003.172.01ZM2 9.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-3Z'></path>\",\"<path d='M6 16a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2H7a1 1 0 0 1-1-1Zm11 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M6.623 3a3 3 0 0 0-2.936 2.382L2.064 13.09a3 3 0 0 0-.064.618V18a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-4.292a3 3 0 0 0-.064-.618l-1.623-7.708A3 3 0 0 0 17.377 3H6.623Zm13.055 9.077-1.322-6.283A1 1 0 0 0 17.377 5H6.623a1 1 0 0 0-.979.794l-1.323 6.283C4.54 12.027 4.767 12 5 12h14c.233 0 .46.027.678.077ZM4 15a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-3Z'></path>\",\"<path d='M7 22a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H8a1 1 0 0 1-1-1Zm17 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M8.562 5a3 3 0 0 0-2.91 2.272L3.09 17.52a3 3 0 0 0-.09.727V25a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3v-6.754a3 3 0 0 0-.09-.727L26.35 7.272A3 3 0 0 0 23.439 5H8.561Zm18.18 12.093L24.41 7.757A1 1 0 0 0 23.44 7H8.561a1 1 0 0 0-.97.757l-2.334 9.336c.237-.06.486-.093.742-.093h20c.256 0 .505.032.742.093ZM5 20a1 1 0 0 1 1-1h20a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-5Z'></path>\"]];","export default [[\"M2 2a1 1 0 0 0-2 0v8a1 1 0 1 0 2 0V7h2v3a1 1 0 1 0 2 0V2a1 1 0 0 0-2 0v3H2V2Zm9 2a1 1 0 0 0-1.6-.8l-2 1.5a1 1 0 1 0 1.2 1.6L9 6v4a1 1 0 1 0 2 0V4Z\",\"M3 3a1 1 0 0 0-2 0v10a1 1 0 1 0 2 0V9h4v4a1 1 0 1 0 2 0V3a1 1 0 0 0-2 0v4H3V3Zm12 3a1 1 0 0 0-1.707-.707l-2 2a1 1 0 0 0 1.414 1.414L13 8.414V13a1 1 0 1 0 2 0V6Z\",\"M4 4.5a1.5 1.5 0 1 0-3 0v15a1.5 1.5 0 0 0 3 0V13h6v6.5a1.5 1.5 0 0 0 3 0v-15a1.5 1.5 0 0 0-3 0V10H4V4.5Zm18 4a1.5 1.5 0 0 0-2.46-1.152l-3 2.5a1.5 1.5 0 1 0 1.92 2.304l.54-.45V19.5a1.5 1.5 0 0 0 3 0v-11Z\",\"M5 5.5a1.5 1.5 0 1 0-3 0v21a1.5 1.5 0 0 0 3 0V17h10v9.5a1.5 1.5 0 0 0 3 0v-21a1.5 1.5 0 0 0-3 0V14H5V5.5ZM29 14a1.5 1.5 0 0 0-2.476-1.139l-3.5 3a1.5 1.5 0 0 0 1.952 2.278L26 17.26v9.24a1.5 1.5 0 0 0 3 0V14Z\"]];","export default [[\"M2 2a1 1 0 0 0-2 0v8a1 1 0 1 0 2 0V7h2v3a1 1 0 1 0 2 0V2a1 1 0 0 0-2 0v3H2V2Zm6.931 3.365c.071-.182.14-.251.182-.281C9.15 5.057 9.249 5 9.5 5c.291 0 .5.205.5.5a.787.787 0 0 1-.181.502L7.384 8.936A1.666 1.666 0 0 0 7 10a1 1 0 0 0 1 1h3a1 1 0 1 0 0-2H9.93l1.428-1.72c.415-.5.642-1.13.642-1.78C12 4.07 10.866 3 9.5 3c-.577 0-1.11.14-1.556.46-.44.318-.708.75-.875 1.175a1 1 0 1 0 1.862.73Z\",\"M3 3a1 1 0 0 0-2 0v10a1 1 0 1 0 2 0V9h4v4a1 1 0 1 0 2 0V3a1 1 0 0 0-2 0v4H3V3Zm8.924 5.379c.105-.253.186-.307.203-.319.024-.015.11-.06.373-.06a.61.61 0 0 1 .38.133c.078.066.12.143.12.26 0 .15-.051.295-.145.412l-2.457 3.063C10.14 12.19 10 12.588 10 13a1 1 0 0 0 1 1h3a1 1 0 1 0 0-2h-1.144l1.56-1.944A2.657 2.657 0 0 0 15 8.394C15 6.816 13.622 6 12.5 6c-.47 0-.98.077-1.444.372-.47.298-.773.742-.98 1.24a1 1 0 0 0 1.848.767Z\",\"M4 4.5a1.5 1.5 0 1 0-3 0v15a1.5 1.5 0 0 0 3 0V13h6v6.5a1.5 1.5 0 0 0 3 0v-15a1.5 1.5 0 0 0-3 0V10H4V4.5Zm13 7.692c0-.51.515-1.192 1.5-1.192s1.5.682 1.5 1.192c0 .309-.131.602-.36.809l-4.57 4.1A3.224 3.224 0 0 0 14 19.5a1.5 1.5 0 0 0 1.5 1.5h6a1.5 1.5 0 0 0 0-3h-2.94l3.083-2.767A4.086 4.086 0 0 0 23 12.193C23 9.727 20.828 8 18.5 8S14 9.728 14 12.192a1.5 1.5 0 0 0 3 0Z\",\"M5 5.5a1.5 1.5 0 1 0-3 0v21a1.5 1.5 0 0 0 3 0V17h10v9.5a1.5 1.5 0 0 0 3 0v-21a1.5 1.5 0 0 0-3 0V14H5V5.5ZM23 17a2 2 0 1 1 4 0c0 .563-.224 1.102-.621 1.5l-5.233 5.232A3.915 3.915 0 0 0 20 26.5a1.5 1.5 0 0 0 1.5 1.5h7a1.5 1.5 0 0 0 0-3h-4.379l4.379-4.379c.96-.96 1.5-2.263 1.5-3.621a5 5 0 0 0-10 0 1.5 1.5 0 0 0 3 0Z\"]];","export default [[\"M2 2a1 1 0 0 0-2 0v8a1 1 0 1 0 2 0V7h2v3a1 1 0 1 0 2 0V2a1 1 0 0 0-2 0v3H2V2Zm7.04 1c-.49 0-.973.122-1.404.354l-.11.06a1 1 0 1 0 .948 1.76c.18-.096.357-.174.566-.174h.223c.407 0 .737.33.737.737 0 .171-.142.258-.294.265A1 1 0 0 0 9.714 8c.15.006.286.1.286.264 0 .407-.33.736-.736.736h-.18c-.21 0-.388-.08-.563-.187A1 1 0 1 0 7.48 10.52l.085.053c.458.28.984.427 1.52.427h.18A2.736 2.736 0 0 0 12 8.264c0-.467-.142-.902-.385-1.263.243-.362.385-.797.385-1.264A2.737 2.737 0 0 0 9.263 3H9.04Z\",\"M3 3a1 1 0 0 0-2 0v10a1 1 0 1 0 2 0V9h4v4a1 1 0 1 0 2 0V3a1 1 0 0 0-2 0v4H3V3Zm9.04 3c-.541 0-1.042.16-1.514.414a1 1 0 0 0 .948 1.76c.26-.14.5-.174.789-.174.407 0 .737.33.737.737 0 .171-.142.258-.294.265A1 1 0 0 0 12.714 11c.15.006.286.1.286.264 0 .534-.46.736-.916.736-.21 0-.388-.08-.563-.187a1 1 0 0 0-1.042 1.707c.49.3 1.027.48 1.605.48h.18A2.736 2.736 0 0 0 15 11.264c0-.467-.142-.902-.385-1.263.243-.362.385-.797.385-1.264A2.737 2.737 0 0 0 12.263 6h-.223Z\",\"M4 4.5a1.5 1.5 0 1 0-3 0v15a1.5 1.5 0 0 0 3 0V13h6v6.5a1.5 1.5 0 0 0 3 0v-15a1.5 1.5 0 0 0-3 0V10H4V4.5Zm10.94 4.94a1.5 1.5 0 0 0 2.12 2.12c.465-.463.999-.56 1.62-.56.73 0 1.32.59 1.32 1.32a.55.55 0 0 1-.442.539l-.852.17a1.5 1.5 0 0 0 0 2.942l.852.17a.55.55 0 0 1 .442.54A1.32 1.32 0 0 1 18.68 18c-.62 0-1.169-.11-1.62-.56a1.5 1.5 0 0 0-2.12 2.12c.9.902 2.094 1.44 3.378 1.44h.363A4.32 4.32 0 0 0 23 16.68c0-.814-.277-1.574-.749-2.18A3.543 3.543 0 0 0 23 12.32 4.32 4.32 0 0 0 18.68 8c-1.419 0-2.715.414-3.74 1.44Z\",\"M5 5.5a1.5 1.5 0 1 0-3 0v21a1.5 1.5 0 0 0 3 0V17h10v9.5a1.5 1.5 0 0 0 3 0v-21a1.5 1.5 0 0 0-3 0V14H5V5.5ZM24.736 12a5.118 5.118 0 0 0-4.578 2.83 1.5 1.5 0 1 0 2.684 1.34c.385-.77 1.163-1.17 2.004-1.17 1.19 0 2.154.964 2.154 2.154 0 .584-.435 1.076-1.014 1.149l-1.672.209a1.5 1.5 0 0 0-.06 2.968l1.806.3c.542.091.94.56.94 1.11 0 1.27-1.061 2.11-2.264 2.11a2.118 2.118 0 0 1-1.894-1.17 1.5 1.5 0 1 0-2.684 1.34A5.118 5.118 0 0 0 24.736 28h.154A5.11 5.11 0 0 0 30 22.89a4.119 4.119 0 0 0-1.154-2.861A4.15 4.15 0 0 0 30 17.154C30 14.259 27.585 12 24.736 12Z\"]];","export default [[\"M2 2a1 1 0 0 0-2 0v8a1 1 0 1 0 2 0V7h2v3a1 1 0 1 0 2 0V2a1 1 0 0 0-2 0v3H2V2Zm10 2a1 1 0 0 0-1.8-.6l-3 4A1 1 0 0 0 8 9h1.5a.995.995 0 0 0 .5-.134V10a1 1 0 1 0 2 0V4Zm-2 3v.134a.988.988 0 0 0-.072-.038L10 7Z\",\"M3 3a1 1 0 0 0-2 0v10a1 1 0 1 0 2 0V9h4v4a1 1 0 1 0 2 0V3a1 1 0 0 0-2 0v4H3V3Zm12.036 3a1 1 0 0 0-1.856-.516l-3.037 5.038A1 1 0 0 0 11 12.038h2.036V13a1 1 0 0 0 2 0v-.963a1 1 0 0 0 0-1.998V6Zm-2 3.597v.441h-.266l.266-.441Z\",\"M4 4.5a1.5 1.5 0 1 0-3 0v15a1.5 1.5 0 0 0 3 0V13h6v6.5a1.5 1.5 0 0 0 3 0v-15a1.5 1.5 0 0 0-3 0V10H4V4.5Zm19 5a1.5 1.5 0 0 0-2.639-.976l-6 7A1.5 1.5 0 0 0 15.5 18H20v1.5a1.5 1.5 0 0 0 3 0v-1.585a1.5 1.5 0 0 0 0-2.83V9.5Zm-3 4.055V15h-1.239L20 13.555Z\",\"M5 5.5a1.5 1.5 0 1 0-3 0v21a1.5 1.5 0 0 0 3 0V17h10v9.5a1.5 1.5 0 0 0 3 0v-21a1.5 1.5 0 0 0-3 0V14H5V5.5Zm25 8a1.5 1.5 0 0 0-2.748-.832l-6 9A1.5 1.5 0 0 0 22.5 24H27v2.5a1.5 1.5 0 0 0 3 0v-2.585a1.5 1.5 0 0 0 0-2.83V13.5Zm-3 4.954V21h-1.697L27 18.454Z\"]];","export default [[\"M2.113 4.05A1.5 1.5 0 0 0 1 5.5v1a1.5 1.5 0 1 0 3 0v-1a1.5 1.5 0 0 0-.874-1.363 3.001 3.001 0 0 1 5.748 0A1.5 1.5 0 0 0 8 5.5v1a1.5 1.5 0 0 0 .984 1.409c-.06.696-.273 1.172-.588 1.487-.3.301-.75.51-1.396.579A1 1 0 1 0 6 11h.5c1.077 0 1.977-.27 2.604-.896.543-.544.818-1.293.882-2.184A1.5 1.5 0 0 0 11 6.5v-1a1.5 1.5 0 0 0-1.113-1.45 4.002 4.002 0 0 0-7.774 0Z\",\"M3.03 5H3a2 2 0 0 0-2 2v2a2 2 0 1 0 4 0V7a2 2 0 0 0-.992-1.727C4.142 3.492 5.826 2 8 2s3.858 1.492 3.992 3.273A2 2 0 0 0 11 7v2a2 2 0 0 0 1 1.732V11a2 2 0 0 1-2 2 .504.504 0 0 0-.083.007 1.5 1.5 0 1 0 0 .986A.504.504 0 0 0 10 14a3 3 0 0 0 3-3 2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-.03C12.692 2.708 10.524 1 8 1 5.476 1 3.308 2.708 3.03 5Z\",\"M4.044 8.156a3.008 3.008 0 0 0-1.878 1.858A1 1 0 0 0 1 11v3a1 1 0 0 0 1.166.986A3.001 3.001 0 0 0 8 14v-3a3.001 3.001 0 0 0-1.946-2.81 6.001 6.001 0 0 1 11.892 0A3.001 3.001 0 0 0 16 11v3a3 3 0 0 0 1.895 2.79A3.001 3.001 0 0 1 15 19c-.086 0-.17.01-.25.031a2 2 0 1 0 0 1.938c.08.02.164.031.25.031a5.002 5.002 0 0 0 4.927-4.146c.892-.29 1.6-.985 1.907-1.868A1 1 0 0 0 23 14v-3a1 1 0 0 0-1.166-.986 3.008 3.008 0 0 0-1.878-1.858 8.001 8.001 0 0 0-15.912 0Z\",\"M8.193 10.246a8.003 8.003 0 0 1 15.614 0A3 3 0 0 0 22 13v7c0 1.302.83 2.41 1.988 2.825a4.5 4.5 0 0 1-4.259 4.17A1.999 1.999 0 0 0 16 28a2 2 0 0 0 3.735.996 6.5 6.5 0 0 0 6.257-6.164 3.008 3.008 0 0 0 1.842-1.846A1 1 0 0 0 29 20v-6a1 1 0 0 0-1-1 3 3 0 0 0-2.178-2.886C24.941 5.493 20.878 2 16 2c-4.878 0-8.94 3.493-9.822 8.114A3.001 3.001 0 0 0 4 13a1 1 0 0 0-1 1v6a1 1 0 0 0 1.166.986A3.001 3.001 0 0 0 10 20v-7a3 3 0 0 0-1.807-2.754Z\"],[\"M6 2a3 3 0 0 0-2.874 2.137A1.5 1.5 0 0 1 4 5.5v1a1.5 1.5 0 1 1-3 0v-1a1.5 1.5 0 0 1 1.113-1.45 4.002 4.002 0 0 1 7.774 0A1.5 1.5 0 0 1 11 5.5v1a1.5 1.5 0 0 1-1.014 1.42c-.064.891-.339 1.64-.882 2.184C8.477 10.73 7.577 11 6.5 11H6a1 1 0 1 1 1-1.025c.647-.07 1.095-.278 1.396-.579.315-.315.529-.791.588-1.487A1.5 1.5 0 0 1 8 6.5v-1a1.5 1.5 0 0 1 .874-1.363A3.001 3.001 0 0 0 6 2Zm3 3.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm-7 0a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Z\",\"M8 2C5.826 2 4.142 3.492 4.008 5.273A2 2 0 0 1 5 7v2a2 2 0 1 1-4 0V7a2 2 0 0 1 2-2h.03C3.308 2.708 5.476 1 8 1c2.524 0 4.692 1.708 4.97 4H13a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2 3 3 0 0 1-3 3 .504.504 0 0 1-.083-.007 1.5 1.5 0 1 1 0-.986A.504.504 0 0 1 10 13a2 2 0 0 0 2-2v-.268A2 2 0 0 1 11 9V7a2 2 0 0 1 .992-1.727C11.857 3.492 10.174 2 8 2ZM3 6a1 1 0 0 0-1 1v2a1 1 0 0 0 2 0V7a1 1 0 0 0-1-1Zm9 1a1 1 0 1 1 2 0v2a1 1 0 1 1-2 0V7Z\",\"M12 3C8.96 3 6.45 5.26 6.054 8.19A3.001 3.001 0 0 1 8 11v3a3 3 0 0 1-5.834.986A1 1 0 0 1 1 14v-3a1 1 0 0 1 1.166-.986c.304-.874 1-1.564 1.878-1.858a8.001 8.001 0 0 1 15.912 0 3.008 3.008 0 0 1 1.878 1.858A1 1 0 0 1 23 11v3a1 1 0 0 1-1.166.986 3.008 3.008 0 0 1-1.907 1.868A5.002 5.002 0 0 1 15 21h-.268A2 2 0 0 1 11 20a2 2 0 0 1 3.732-1H15a3.001 3.001 0 0 0 2.895-2.21A3 3 0 0 1 16 14v-3c0-1.286.809-2.383 1.946-2.81A6.001 6.001 0 0 0 12 3Zm8 11a1 1 0 1 1-2 0v-3a1 1 0 1 1 2 0v3ZM5 10a1 1 0 0 0-1 1v3a1 1 0 1 0 2 0v-3a1 1 0 0 0-1-1Z\",\"M8.193 10.246a8.003 8.003 0 0 1 15.614 0A3 3 0 0 0 22 13v7c0 1.302.83 2.41 1.988 2.825a4.5 4.5 0 0 1-4.259 4.17A1.999 1.999 0 0 0 16 28a2 2 0 0 0 3.735.996 6.5 6.5 0 0 0 6.257-6.164 3.008 3.008 0 0 0 1.842-1.846A1 1 0 0 0 29 20v-6a1 1 0 0 0-1-1 3 3 0 0 0-2.178-2.886C24.941 5.493 20.878 2 16 2c-4.878 0-8.94 3.493-9.822 8.114A3.001 3.001 0 0 0 4 13a1 1 0 0 0-1 1v6a1 1 0 0 0 1.166.986A3.001 3.001 0 0 0 10 20v-7a3 3 0 0 0-1.807-2.754ZM7 12a1 1 0 0 0-1 1v7a1 1 0 1 0 2 0v-7a1 1 0 0 0-1-1Zm18 0a1 1 0 0 0-1 1v7a1 1 0 1 0 2 0v-7a1 1 0 0 0-1-1Z\"]];","export default [[\"M3 1a1 1 0 1 1-.705 1.709.996.996 0 0 0-.232 1.029l.67 1.916a1.871 1.871 0 0 0 3.535.002l.675-1.908a1 1 0 0 0-.236-1.041 1 1 0 1 1 .229-1.06 2 2 0 0 1 .95 2.434L7.21 5.989A2.878 2.878 0 0 1 5 7.863V8a2 2 0 1 0 4 0v-.085a1.5 1.5 0 1 1 1 0V8a3 3 0 1 1-6 0v-.137a2.862 2.862 0 0 1-2.21-1.879l-.67-1.916a1.996 1.996 0 0 1 .944-2.42A1 1 0 0 1 3 1Z\",\"M4 1a1 1 0 1 1-.721 1.693 2.101 2.101 0 0 0-1.14 2.572L3 7.895a3.16 3.16 0 0 0 4.41 1.841 3.152 3.152 0 0 0 1.587-1.844l.894-2.749A1.924 1.924 0 0 0 8.685 2.73a1 1 0 1 1 .288-.958 2.924 2.924 0 0 1 1.869 3.682L9.948 8.2a4.152 4.152 0 0 1-3.436 2.836A3.25 3.25 0 0 0 13 10.75v-.835a1.5 1.5 0 1 1 1 0v.835a4.25 4.25 0 0 1-8.49.29 4.154 4.154 0 0 1-3.46-2.834l-.862-2.63A3.101 3.101 0 0 1 3.043 1.71 1 1 0 0 1 4 1Z\",\"M6 1a2 2 0 1 1-1.53 3.287 2.502 2.502 0 0 0-1.325 3.072l1.6 4.742a4 4 0 0 0 2.166 2.376l.465.207a4 4 0 0 0 3.249 0l.465-.207a4 4 0 0 0 2.165-2.375l1.602-4.739a2.502 2.502 0 0 0-1.327-3.075 2 2 0 1 1 .335-2.012c2.332.744 3.71 3.294 2.887 5.728l-1.602 4.739a6 6 0 0 1-3.248 3.561l-.465.207a6 6 0 0 1-1.416.43A4.5 4.5 0 0 0 19 16.5v-1.67a3.001 3.001 0 1 1 2 0v1.67a6.5 6.5 0 0 1-12.985.447 5.997 5.997 0 0 1-1.452-.436l-.464-.206a6 6 0 0 1-3.248-3.564l-1.6-4.742c-.822-2.434.555-4.982 2.885-5.725A2 2 0 0 1 6 1Z\",\"M7.5 2a2.5 2.5 0 1 1-1.947 4.068 3.002 3.002 0 0 0-1.359 3.645l2.345 6.463a5.949 5.949 0 0 0 2.76 3.202 6.012 6.012 0 0 0 5.493.088 6.138 6.138 0 0 0 3.147-3.68l1.92-6.265a3.002 3.002 0 0 0-1.384-3.488 2.5 2.5 0 1 1 .483-1.99 5.002 5.002 0 0 1 2.814 6.064l-1.92 6.266a8.138 8.138 0 0 1-4.175 4.887 8.029 8.029 0 0 1-2.677.78A6 6 0 0 0 19 28h1a6 6 0 0 0 6-6v-4.17a3.001 3.001 0 1 1 2 0V22a8 8 0 0 1-8 8h-1a8 8 0 0 1-8-7.992 7.887 7.887 0 0 1-2.653-.871 7.948 7.948 0 0 1-3.688-4.28l-2.345-6.462c-.925-2.55.355-5.282 2.718-6.298A2.5 2.5 0 0 1 7.5 2Z\"],[\"M4 2a1 1 0 0 0-1.936-.353 1.996 1.996 0 0 0-.945 2.421l.735 2.098A2.804 2.804 0 0 0 4 7.998V8a3 3 0 1 0 6 0v-.085a1.5 1.5 0 1 0-1 0V8a2 2 0 1 1-4 0v-.002a2.81 2.81 0 0 0 2.147-1.827l.739-2.09a2 2 0 0 0-.95-2.435 1 1 0 1 0-.229 1.061 1 1 0 0 1 .236 1.04l-.739 2.09a1.806 1.806 0 0 1-3.407-.002l-.734-2.097a.996.996 0 0 1 .232-1.03A1 1 0 0 0 4 2Zm5 4.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Z\",\"M5 2a1 1 0 0 0-1.957-.29 3.101 3.101 0 0 0-1.855 3.867l.862 2.629a4.16 4.16 0 0 0 3.46 2.834 4.25 4.25 0 0 0 8.49-.29v-.835a1.5 1.5 0 1 0-1 0v.835a3.25 3.25 0 0 1-6.487.287 4.146 4.146 0 0 0 3.435-2.836l.894-2.748A2.924 2.924 0 0 0 8.974 1.77a1 1 0 1 0-.289.958 1.924 1.924 0 0 1 1.206 2.414l-.894 2.75a3.152 3.152 0 0 1-4.408 1.843A3.16 3.16 0 0 1 3 7.895l-.861-2.63a2.101 2.101 0 0 1 1.14-2.572A1 1 0 0 0 5 2Zm8.5 7a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\",\"M8 3a2 2 0 0 0-3.864-.726C1.806 3.018.429 5.565 1.25 8l1.62 4.796a6 6 0 0 0 3.142 3.516l.431.202a6.026 6.026 0 0 0 1.56.484A6.509 6.509 0 0 0 21 16.492v-1.663a3.001 3.001 0 1 0-2 0v1.663a4.508 4.508 0 0 1-8.99.498 5.995 5.995 0 0 0 1.493-.465l.466-.216a6 6 0 0 0 3.167-3.525l1.616-4.78c.822-2.434-.555-4.984-2.887-5.727a2 2 0 1 0-.335 2.011 2.502 2.502 0 0 1 1.327 3.075l-1.616 4.78a4 4 0 0 1-2.111 2.35l-.466.216a4 4 0 0 1-3.373-.008l-.432-.202a4 4 0 0 1-2.095-2.343L3.145 7.359A2.502 2.502 0 0 1 4.47 4.287 2 2 0 0 0 8 3Zm11 9a1 1 0 1 1 2 0 1 1 0 0 1-2 0Z\",\"M10 4.5a2.5 2.5 0 0 0-4.968-.403C2.67 5.113 1.39 7.845 2.314 10.395l2.345 6.463a7.948 7.948 0 0 0 3.688 4.279 7.887 7.887 0 0 0 2.653.871A8 8 0 0 0 19 30h1a8 8 0 0 0 8-8v-4.17a3.001 3.001 0 1 0-2 0V22a6 6 0 0 1-6 6h-1a6 6 0 0 1-6-5.961c.922-.1 1.83-.36 2.677-.779a8.138 8.138 0 0 0 4.174-4.887l1.921-6.266a5.002 5.002 0 0 0-2.814-6.064 2.5 2.5 0 1 0-.483 1.99A3.002 3.002 0 0 1 19.86 9.52l-1.921 6.266a6.138 6.138 0 0 1-3.147 3.68 6.012 6.012 0 0 1-5.493-.09 5.949 5.949 0 0 1-2.76-3.201L4.194 9.712a3.002 3.002 0 0 1 1.359-3.645A2.5 2.5 0 0 0 10 4.5ZM26 15a1 1 0 1 1 2 0 1 1 0 0 1-2 0Z\"]];","export default [[\"<path d='M6 2.496C6.598 1.669 7.526 1 8.625 1 10.509 1 12 2.587 12 4.5c0 .536-.116 1.045-.325 1.5H8.5a.5.5 0 0 0-.354.146L8 6.293V4.5a.5.5 0 0 0-.947-.224l-1.46 2.92-.619-1.854a.5.5 0 0 0-.878-.137L3.516 6H.324A3.596 3.596 0 0 1 0 4.5C0 2.587 1.491 1 3.375 1c1.1 0 2.027.67 2.625 1.496Z'></path><path d='m1.013 7 .048.048 4.577 4.797a.5.5 0 0 0 .724 0L10.988 7h-2.28l-.854.854A.5.5 0 0 1 7 7.5v-.882L5.947 8.724a.5.5 0 0 1-.921-.066l-.694-2.08-.16.217A.5.5 0 0 1 3.77 7H1.013Z'></path>\",\"<path d='M1 6a4 4 0 0 1 4-4c1.24 0 2.297.764 3 1.632C8.703 2.764 9.76 2 11 2a4 4 0 0 1 3.465 6H11.5a.5.5 0 0 0-.354.146l-.375.376-.786-3.143a.5.5 0 0 0-.95-.065L7.61 8.88l-.625-2.5a.5.5 0 0 0-.932-.103L5.19 8H1.535A3.983 3.983 0 0 1 1 6Z'></path><path d='m2.33 9 5.3 5.836a.5.5 0 0 0 .74 0L13.67 9h-1.963l-.853.854a.5.5 0 0 1-.84-.233l-.624-2.5-1.426 3.565a.5.5 0 0 1-.95-.065l-.671-2.688-.396.79A.5.5 0 0 1 5.5 9H2.33Z'></path>\",\"<path d='M1 8.5A6.5 6.5 0 0 1 7.5 2c1.494 0 2.595.485 3.454 1.202.4.333.744.715 1.046 1.096a7.367 7.367 0 0 1 1.046-1.096C13.906 2.485 15.006 2 16.5 2a6.5 6.5 0 0 1 6.002 9H17a1 1 0 0 0-.707.293l-.626.626-.68-4.083a1 1 0 0 0-1.923-.187l-1.936 5.16-1.166-4.084a1 1 0 0 0-1.794-.28L6.465 11H1.498A6.482 6.482 0 0 1 1 8.5Z'></path><path d='m2.806 13 8.441 9.658a1 1 0 0 0 1.506 0L21.194 13h-3.78l-1.707 1.707a1 1 0 0 1-1.693-.543l-.387-2.32-1.69 4.507a1 1 0 0 1-1.898-.076l-1.406-4.921-.8 1.2A1 1 0 0 1 7 13H2.806Z'></path>\",\"<path d='M2 12a8 8 0 0 1 8-8c2.48 0 4.593 1.528 6 3.265C17.407 5.528 19.52 4 22 4a8 8 0 0 1 6.93 12H22a1 1 0 0 0-.707.293l-.798.798-1.534-5.366a1 1 0 0 0-1.91-.041l-2.168 6.505-1.964-4.583a1 1 0 0 0-1.813-.053L9.882 16H3.07A7.968 7.968 0 0 1 2 12Z'></path><path d='m4.65 18 10.61 11.673a1 1 0 0 0 1.48 0L27.35 18h-4.936l-1.707 1.707a1 1 0 0 1-1.669-.432l-1.111-3.892-1.978 5.933a1 1 0 0 1-1.868.078l-2.15-5.018-.537 1.071A1 1 0 0 1 10.5 18H4.65Z'></path>\"],[\"<path d='M6 2.496C6.598 1.669 7.526 1 8.625 1 10.509 1 12 2.587 12 4.5c0 .17-.012.337-.034.5h-1.013A2.64 2.64 0 0 0 11 4.5C11 3.099 9.917 2 8.625 2c-.718 0-1.417.486-1.874 1.164a3.25 3.25 0 0 0-.292.534.5.5 0 0 1-.918 0C5.136 2.756 4.27 2 3.375 2 2.083 2 1 3.1 1 4.5c0 .172.016.339.047.5H.034A3.655 3.655 0 0 1 0 4.5C0 2.587 1.491 1 3.375 1c1.1 0 2.027.67 2.625 1.496ZM8.65 8h1.383l-3.671 3.845a.5.5 0 0 1-.724 0L1.97 8h1.382l2.65 2.776L8.65 8Z'></path><path d='M8 4.5a.5.5 0 0 0-.947-.224l-1.46 2.92-.619-1.854a.5.5 0 0 0-.878-.137L3.516 6H.5a.5.5 0 0 0 0 1h3.27a.5.5 0 0 0 .403-.205l.159-.218.694 2.081a.5.5 0 0 0 .921.066L7 6.618V7.5a.5.5 0 0 0 .854.354L8.707 7H11.5a.5.5 0 1 0 0-1h-3a.5.5 0 0 0-.354.146L8 6.293V4.5Z'></path>\",\"<path d='M5 3a3 3 0 0 0-2.83 4H1.127A4 4 0 0 1 5 2c1.24 0 2.297.764 3 1.632C8.703 2.764 9.76 2 11 2a4 4 0 0 1 3.874 5h-1.045A3 3 0 0 0 11 3c-1.02 0-2 .81-2.57 1.758a.5.5 0 0 1-.857 0C7 3.81 6.02 3 5 3Zm-1.762 7h1.35L8 13.756 11.412 10h1.35L8.37 14.836a.5.5 0 0 1-.74 0L3.238 10Z'></path><path d='M9.985 5.379a.5.5 0 0 0-.95-.065L7.61 8.88l-.625-2.5a.5.5 0 0 0-.932-.103L5.19 8H1.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 .447-.276l.396-.791.672 2.688a.5.5 0 0 0 .95.065L9.39 7.12l.625 2.5a.5.5 0 0 0 .839.233L11.707 9H14.5a.5.5 0 1 0 0-1h-3a.5.5 0 0 0-.354.146l-.375.376-.786-3.143Z'></path>\",\"<path d='M7.5 4a4.5 4.5 0 0 0-4.473 5H1.02A6.5 6.5 0 0 1 7.5 2c1.494 0 2.595.485 3.454 1.202.4.333.744.715 1.046 1.096a7.367 7.367 0 0 1 1.046-1.096C13.906 2.485 15.006 2 16.5 2a6.5 6.5 0 0 1 6.481 7h-2.008A4.5 4.5 0 0 0 16.5 4c-1.006 0-1.658.308-2.174.738-.524.437-.923 1.005-1.4 1.683l-.108.155a1 1 0 0 1-1.636 0l-.109-.155c-.476-.678-.875-1.246-1.399-1.683C9.158 4.308 8.506 4 7.5 4ZM4.554 15H7.21L12 20.48 16.79 15h2.656l-6.693 7.658a1 1 0 0 1-1.506 0L4.554 15Z'></path><path d='M14.986 7.836a1 1 0 0 0-1.922-.187l-1.936 5.16-1.166-4.084a1 1 0 0 0-1.794-.28L6.465 11H2a1 1 0 1 0 0 2h5a1 1 0 0 0 .832-.445l.8-1.201 1.407 4.92a1 1 0 0 0 1.897.077l1.69-4.508.388 2.321a1 1 0 0 0 1.693.543L17.414 13H22a1 1 0 1 0 0-2h-5a1 1 0 0 0-.707.293l-.626.626-.68-4.083Z'></path>\",\"<path d='M10 6a6 6 0 0 0-5.659 8H2.252A8 8 0 0 1 10 4c2.48 0 4.593 1.528 6 3.265C17.407 5.528 19.52 4 22 4a8 8 0 0 1 7.748 10h-2.09A6 6 0 0 0 22 6c-2.04 0-4 1.62-5.143 3.516a1 1 0 0 1-1.713 0C14.002 7.621 12.04 6 10 6ZM6.467 20H9.17L16 27.513 22.83 20h2.703l-8.793 9.673a1 1 0 0 1-1.48 0L6.467 20Z'></path><path d='M18.962 11.725a1 1 0 0 0-1.91-.041l-2.169 6.505-1.964-4.583a1 1 0 0 0-1.813-.053L9.882 16H3a1 1 0 1 0 0 2h7.5a1 1 0 0 0 .894-.553l.536-1.071 2.15 5.018a1 1 0 0 0 1.869-.078l1.978-5.933 1.111 3.892a1 1 0 0 0 1.67.432L22.413 18H29a1 1 0 1 0 0-2h-7a1 1 0 0 0-.707.293l-.798.798-1.534-5.366Z'></path>\"]];","export default [[\"M8.625 0C7.525 0 6.598.669 6 1.496 5.402.669 4.474 0 3.375 0 1.491 0 0 1.587 0 3.5a3.56 3.56 0 0 0 1.061 2.548l4.577 4.797a.5.5 0 0 0 .724 0l4.659-4.88A3.56 3.56 0 0 0 12 3.5C12 1.587 10.509 0 8.625 0Z\",\"M5 2a4 4 0 0 0-2.81 6.846l5.44 5.99a.5.5 0 0 0 .74 0l5.44-5.99A4 4 0 0 0 11 2c-1.24 0-2.297.764-3 1.632C7.297 2.764 6.24 2 5 2Z\",\"M7.5 1a6.5 6.5 0 0 0-4.736 10.952l8.483 9.706a1 1 0 0 0 1.506 0l8.484-9.707A6.477 6.477 0 0 0 23 7.5 6.5 6.5 0 0 0 16.5 1c-1.494 0-2.595.485-3.454 1.202-.4.333-.744.715-1.046 1.096a7.367 7.367 0 0 0-1.046-1.096C10.094 1.485 8.994 1 7.5 1Z\",\"M10 4a8 8 0 0 0-5.727 13.586L15.26 29.673a1 1 0 0 0 1.48 0l10.987-12.087A8 8 0 0 0 22 4c-2.48 0-4.593 1.528-6 3.265C14.593 5.528 12.48 4 10 4Z\"],[\"M8.625 0C7.525 0 6.598.669 6 1.496 5.402.669 4.474 0 3.375 0 1.491 0 0 1.587 0 3.5a3.56 3.56 0 0 0 1.061 2.548l4.577 4.797a.5.5 0 0 0 .724 0l4.659-4.88A3.557 3.557 0 0 0 12 3.5C12 1.587 10.509 0 8.625 0ZM6.751 2.164C7.208 1.486 7.907 1 8.625 1 9.917 1 11 2.099 11 3.5c0 .697-.27 1.323-.702 1.774L6 9.776 1.778 5.35A2.56 2.56 0 0 1 1 3.5C1 2.1 2.083 1 3.375 1c.896 0 1.761.756 2.166 1.697a.5.5 0 0 0 .918 0 3.25 3.25 0 0 1 .292-.533Z\",\"M5 3a3 3 0 0 0-2.08 5.164L8 13.756l5.08-5.592A2.99 2.99 0 0 0 14 6a3 3 0 0 0-3-3c-1.02 0-2 .81-2.572 1.758a.5.5 0 0 1-.856 0C7 3.81 6.02 3 5 3ZM1 6a4 4 0 0 1 4-4c1.24 0 2.297.764 3 1.632C8.703 2.764 9.76 2 11 2a4 4 0 0 1 2.81 6.846l-5.44 5.99a.5.5 0 0 1-.74 0l-5.44-5.99A3.99 3.99 0 0 1 1 6Z\",\"M7.5 3a4.5 4.5 0 0 0-3.243 7.621L12 19.481l7.743-8.86A4.477 4.477 0 0 0 21 7.5a4.5 4.5 0 0 0-4.5-4.501c-1.006 0-1.658.308-2.174.738-.524.437-.923 1.005-1.4 1.683l-.108.155a1 1 0 0 1-1.636 0 64.079 64.079 0 0 1-.109-.155c-.476-.678-.875-1.246-1.399-1.683C9.158 3.308 8.506 3 7.5 3ZM1 7.5A6.5 6.5 0 0 1 7.5 1c1.494 0 2.595.485 3.454 1.202.4.333.744.715 1.046 1.096a7.367 7.367 0 0 1 1.046-1.096C13.906 1.485 15.006 1 16.5 1a6.5 6.5 0 0 1 4.737 10.951l-8.484 9.707a1 1 0 0 1-1.506 0l-8.483-9.706a6.544 6.544 0 0 1-.598-.737A6.475 6.475 0 0 1 1 7.5Z\",\"M10 6a6 6 0 0 0-4.286 10.2h.001l.026.027L16 27.513l10.26-11.286a.85.85 0 0 1 .025-.027l.001-.001A6 6 0 0 0 22 6c-2.04 0-4.001 1.62-5.143 3.516a1 1 0 0 1-1.713 0C14 7.621 12.04 6 10 6Zm-8 6a8 8 0 0 1 8-8c2.48 0 4.593 1.528 6 3.265C17.407 5.528 19.52 4 22 4a8 8 0 0 1 5.727 13.586L16.74 29.673a1 1 0 0 1-1.48 0L4.273 17.586A7.968 7.968 0 0 1 2 12Z\"]];","export default [[\"M0 5.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0Zm6.964-2.686a.5.5 0 0 0-.938.028L4.942 6.094 3.96 3.803a.5.5 0 0 0-.876-.08L2.232 5H1.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 .416-.223l.488-.732L4.54 7.697a.5.5 0 0 0 .934-.039l1.069-3.205.493 1.233A.5.5 0 0 0 7.5 6h2a.5.5 0 0 0 0-1H7.839l-.875-2.186Z\",\"M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0Zm9.964-4.186a.5.5 0 0 0-.935.018l-2.128 5.96-1.964-3.535a.5.5 0 0 0-.866-.014L2.717 8H1.5a.5.5 0 0 0 0 1H3a.5.5 0 0 0 .429-.243L4.483 7l2.08 3.743a.5.5 0 0 0 .908-.075l2.055-5.756 1.51 3.774A.5.5 0 0 0 11.5 9h2a.5.5 0 0 0 0-1h-1.662L9.964 3.314Z\",\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm14.894-5.447a1 1 0 0 0-1.808.04l-3.14 7.065-2.052-4.105a1 1 0 0 0-1.726-.108L5.465 12H4a1 1 0 1 0 0 2h2a1 1 0 0 0 .832-.445l1.044-1.566 2.23 4.458a1 1 0 0 0 1.808-.04l3.14-7.065 2.052 4.105A1 1 0 0 0 18 14h2a1 1 0 1 0 0-2h-1.382l-2.724-5.447Z\",\"M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Zm18.868-6.496a1 1 0 0 0-1.746.017L13.98 18.95l-3.112-5.445a1 1 0 0 0-1.7-.059L7.465 16H5a1 1 0 1 0 0 2h3a1 1 0 0 0 .832-.445L9.935 15.9l3.197 5.595a1 1 0 0 0 1.746-.017l5.142-9.428 3.112 5.445A1 1 0 0 0 24 18h3a1 1 0 1 0 0-2h-2.42l-3.712-6.496Z\"],[\"M5.5 0a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11ZM1.027 5a4.5 4.5 0 0 1 8.946 0H7.839l-.875-2.186a.5.5 0 0 0-.938.028L4.942 6.094 3.96 3.803a.5.5 0 0 0-.876-.08L2.232 5H1.027Zm0 1a4.5 4.5 0 0 0 8.946 0H7.5a.5.5 0 0 1-.464-.314l-.493-1.233-1.069 3.205a.5.5 0 0 1-.934.039L3.404 5.045l-.488.732A.5.5 0 0 1 2.5 6H1.027Z\",\"M7.5 0a7.5 7.5 0 1 0 0 15 7.5 7.5 0 0 0 0-15ZM1 7.5a6.5 6.5 0 1 1 12.981.5h-2.143L9.964 3.314a.5.5 0 0 0-.935.018l-2.128 5.96-1.964-3.535a.5.5 0 0 0-.866-.014L2.717 8H1.019A6.593 6.593 0 0 1 1 7.5ZM1.174 9a6.503 6.503 0 0 0 12.652 0H11.5a.5.5 0 0 1-.464-.314l-1.51-3.774-2.055 5.756a.5.5 0 0 1-.908.075L4.483 7 3.43 8.757A.5.5 0 0 1 3 9H1.174Z\",\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1ZM3 12a9 9 0 0 1 18 0h-2.382l-2.724-5.447a1 1 0 0 0-1.808.04l-3.14 7.065-2.052-4.105a1 1 0 0 0-1.726-.108L5.465 12H3Zm.223 2a9.003 9.003 0 0 0 17.554 0H18a1 1 0 0 1-.894-.553l-2.053-4.105-3.14 7.064a1 1 0 0 1-1.807.041l-2.23-4.458-1.044 1.566A1 1 0 0 1 6 14H3.223Z\",\"M16 2C8.268 2 2 8.268 2 16s6.268 14 14 14 14-6.268 14-14S23.732 2 16 2ZM4 16C4 9.373 9.373 4 16 4s12 5.373 12 12h-3.42l-3.712-6.496a1 1 0 0 0-1.746.017L13.98 18.95l-3.112-5.445a1 1 0 0 0-1.7-.059L7.465 16H4Zm.166 2C5.118 23.675 10.054 28 16 28s10.882-4.325 11.834-10H24a1 1 0 0 1-.868-.504l-3.112-5.445-5.142 9.428a1 1 0 0 1-1.746.017l-3.197-5.595-1.103 1.654A1 1 0 0 1 8 18H4.166Z\"]];","export default [[\"M7.049 1.426a1.5 1.5 0 0 0-2.098 0l-3.5 3.422A1.5 1.5 0 0 0 1 5.921V9.5A1.5 1.5 0 0 0 2.5 11h1A1.5 1.5 0 0 0 5 9.5v-1a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1A1.5 1.5 0 0 0 8.5 11h1A1.5 1.5 0 0 0 11 9.5V5.92a1.5 1.5 0 0 0-.451-1.072l-3.5-3.422Z\",\"M6.951 2.427a1.5 1.5 0 0 1 2.098 0l4.5 4.403A1.5 1.5 0 0 1 14 7.902V13.5a1.5 1.5 0 0 1-1.5 1.5h-2A1.5 1.5 0 0 1 9 13.5v-2a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v2A1.5 1.5 0 0 1 5.5 15h-2A1.5 1.5 0 0 1 2 13.5V7.902c0-.404.163-.79.451-1.072l4.5-4.403Z\",\"M13.531 2.728a3 3 0 0 0-4.035.112L2.92 9.16A3 3 0 0 0 2 11.324V19a3 3 0 0 0 3 3h2a3 3 0 0 0 3-3v-3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3a3 3 0 0 0 3 3h2a3 3 0 0 0 3-3v-7.61a3 3 0 0 0-1.044-2.275l-7.425-6.387Z\",\"M17.458 2.689a3 3 0 0 0-3.903.074l-10.55 9.393A3 3 0 0 0 2 14.397V27a3 3 0 0 0 3 3h5a3 3 0 0 0 3-3v-6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v6a3 3 0 0 0 3 3h5a3 3 0 0 0 3-3V14.443a3 3 0 0 0-1.092-2.315l-11.45-9.44Z\"],[\"M6.35 2.141a.5.5 0 0 0-.7 0l-3.5 3.422a.5.5 0 0 0-.15.358V9.5a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1A1.5 1.5 0 0 1 5.5 7h1A1.5 1.5 0 0 1 8 8.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5V5.92a.5.5 0 0 0-.15-.357l-3.5-3.422Zm-1.4-.715a1.5 1.5 0 0 1 2.098 0l3.5 3.422A1.5 1.5 0 0 1 11 5.921V9.5A1.5 1.5 0 0 1 9.5 11h-1A1.5 1.5 0 0 1 7 9.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1A1.5 1.5 0 0 1 3.5 11h-1A1.5 1.5 0 0 1 1 9.5V5.92c0-.403.163-.79.451-1.072l3.5-3.422Z\",\"M8.35 3.142a.5.5 0 0 0-.7 0l-4.5 4.402a.5.5 0 0 0-.15.358V13.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2A1.5 1.5 0 0 1 7.5 10h1a1.5 1.5 0 0 1 1.5 1.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5V7.902a.5.5 0 0 0-.15-.358l-4.5-4.402Zm-1.4-.715a1.5 1.5 0 0 1 2.098 0l4.5 4.403A1.5 1.5 0 0 1 14 7.902V13.5a1.5 1.5 0 0 1-1.5 1.5h-2A1.5 1.5 0 0 1 9 13.5v-2a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v2A1.5 1.5 0 0 1 5.5 15h-2A1.5 1.5 0 0 1 2 13.5V7.902c0-.404.163-.79.451-1.072l4.5-4.403Z\",\"M12.227 4.244a1 1 0 0 0-1.345.038l-6.575 6.32a1 1 0 0 0-.307.721V19a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-3a3 3 0 0 1 3-3h2a3 3 0 0 1 3 3v3a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-7.61a1 1 0 0 0-.348-.759l-7.425-6.387ZM9.496 2.84a3 3 0 0 1 4.035-.112l7.425 6.387A3 3 0 0 1 22 11.39V19a3 3 0 0 1-3 3h-2a3 3 0 0 1-3-3v-3a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v3a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3v-7.677a3 3 0 0 1 .92-2.162L9.497 2.84Z\",\"M16.186 4.232a1 1 0 0 0-1.3.025L4.334 13.65a1 1 0 0 0-.335.747V27a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-6a3 3 0 0 1 3-3h4a3 3 0 0 1 3 3v6a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V14.443a1 1 0 0 0-.364-.771l-11.45-9.44Zm-2.63-1.47a3 3 0 0 1 3.902-.073l11.45 9.44A3 3 0 0 1 30 14.443V27a3 3 0 0 1-3 3h-5a3 3 0 0 1-3-3v-6a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v6a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V14.397a3 3 0 0 1 1.005-2.24l10.55-9.394Z\"]];","export default [[\"<path d='M5.5 3a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm1.5.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm-1.553.777a.5.5 0 1 0-.894.447c.228.455.802.776 1.447.776s1.22-.32 1.447-.776a.5.5 0 1 0-.894-.447.38.38 0 0 1-.152.128A.84.84 0 0 1 6 4.5a.84.84 0 0 1-.401-.095.38.38 0 0 1-.152-.128Z'></path><path d='M3 3a3 3 0 0 1 6 0v1c0 .965-.456 1.824-1.163 2.372C9.13 6.938 10 8.098 10 9.5A1.5 1.5 0 0 1 8.5 11h-5A1.5 1.5 0 0 1 2 9.5c0-1.402.87-2.562 2.163-3.128A2.995 2.995 0 0 1 3 4V3Zm3 3a2 2 0 0 0 2-2V3a2 2 0 0 0-.183-.837c-.26.103-.55.157-.83.108a1.035 1.035 0 0 1-.588-.312 2.277 2.277 0 0 1-.991.317 3.048 3.048 0 0 1-1.215-.133C4.069 2.403 4 2.693 4 3v1a2 2 0 0 0 2 2Zm2 2.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z'></path>\",\"<path d='M7.5 5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm1.5.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm-2.692.539a.5.5 0 0 1 .654.269C7.118 6.683 7.42 7 8 7c.58 0 .882-.317 1.038-.692a.5.5 0 0 1 .924.384C9.689 7.346 9.077 8 8 8s-1.69-.654-1.962-1.308a.5.5 0 0 1 .27-.653Z'></path><path d='M8 1a4 4 0 0 0-4 4v1c0 1.394.713 2.622 1.794 3.338-1.94.629-3.294 2.084-3.294 3.912 0 .966.784 1.75 1.75 1.75h7.5a1.75 1.75 0 0 0 1.75-1.75c0-1.828-1.353-3.283-3.294-3.912A3.996 3.996 0 0 0 12 6V5a4 4 0 0 0-4-4Zm0 8a3 3 0 0 0 3-3V5c0-.38-.071-.745-.2-1.08a2.76 2.76 0 0 1-1.338-.004c-.32-.083-.677-.25-.93-.527a2.659 2.659 0 0 1-.293.167c-.371.182-.805.3-1.227.369-.424.069-.858.09-1.24.065a3.433 3.433 0 0 1-.568-.08A2.993 2.993 0 0 0 5 5v1a3 3 0 0 0 3 3Zm2 3.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z'></path>\",\"<path d='M9.97 10.47a.75.75 0 0 1 1.06 0c.09.09.286.178.555.232a2.64 2.64 0 0 0 .397.047l.018.001h.018l.088-.006c.08-.006.19-.018.31-.042.268-.054.463-.142.554-.232a.75.75 0 1 1 1.06 1.06c-.41.41-.964.572-1.32.643a4.11 4.11 0 0 1-.686.077h-.048a3.26 3.26 0 0 1-.198-.01 4.113 4.113 0 0 1-.488-.067c-.356-.071-.91-.233-1.32-.643a.75.75 0 0 1 0-1.06ZM10.25 9a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm4.25-.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z'></path><path d='M12 1a6 6 0 0 0-6 6v3c0 1.83.82 3.47 2.113 4.57a9.462 9.462 0 0 0-2.409 1.136C4.09 16.787 3 18.378 3 20.25A2.75 2.75 0 0 0 5.75 23h12.5A2.75 2.75 0 0 0 21 20.25c0-1.872-1.09-3.463-2.704-4.543a9.46 9.46 0 0 0-2.409-1.136A5.987 5.987 0 0 0 18 10V7a6 6 0 0 0-6-6Zm0 13a4 4 0 0 0 4-4V6.914a3.628 3.628 0 0 1-1.944-.105 3.08 3.08 0 0 1-1.32-.869c-.655.47-1.438.752-2.126.9a6.857 6.857 0 0 1-1.99.139c-.2-.018-.41-.047-.618-.092A4.074 4.074 0 0 0 8 7v3a4 4 0 0 0 4 4Zm4 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path>\",\"<path d='M13.293 13.293a1 1 0 0 0 0 1.414l.026.026C13.83 15.243 14.585 16 16 16s2.17-.756 2.68-1.267l.027-.026a1 1 0 0 0-1.414-1.414c-.49.49-.733.707-1.293.707-.56 0-.803-.218-1.293-.707a1 1 0 0 0-1.414 0ZM15 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M16 2a8.003 8.003 0 0 0-7.803 6.228l-.045.075.025.017A8.032 8.032 0 0 0 8 10v2a7.993 7.993 0 0 0 3.589 6.675C7.706 19.933 5 22.844 5 26.5A3.5 3.5 0 0 0 8.5 30h15a3.5 3.5 0 0 0 3.5-3.5c0-3.656-2.706-6.567-6.589-7.825A7.993 7.993 0 0 0 24 12v-2a8 8 0 0 0-8-8Zm-4.831 7.458a6.807 6.807 0 0 1-1.127-.171A6.061 6.061 0 0 0 10 10v2a6 6 0 0 0 12 0v-2c0-.232-.013-.46-.039-.685a5.324 5.324 0 0 1-2.806-.043c-.741-.218-1.489-.641-2.001-1.3-.2.151-.41.287-.624.407-.802.451-1.742.747-2.66.917-.923.17-1.868.224-2.701.162ZM19 25a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path>\"],[\"<path d='M8 8.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM5.5 3a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm1.5.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm-1.553.777a.5.5 0 1 0-.894.447c.228.455.802.776 1.447.776s1.22-.32 1.447-.776a.5.5 0 1 0-.894-.447.38.38 0 0 1-.152.128.84.84 0 0 1-.4.095.84.84 0 0 1-.402-.095.38.38 0 0 1-.152-.128Z'></path><path d='M6 0a3 3 0 0 0-3 3v1c0 .965.456 1.824 1.163 2.372C2.87 6.938 2 8.098 2 9.5A1.5 1.5 0 0 0 3.5 11h5A1.5 1.5 0 0 0 10 9.5c0-1.402-.87-2.562-2.163-3.128A2.995 2.995 0 0 0 9 4V3a3 3 0 0 0-3-3Zm2.5 10a.5.5 0 0 0 .5-.5c0-.934-.592-1.799-1.583-2.224v.001L6.5 8.652V10h2Zm-3-1.349V10h-2a.5.5 0 0 1-.5-.5c0-.934.592-1.799 1.583-2.224l.001.001.916 1.374ZM6 6a2 2 0 0 0 2-2V3a2 2 0 0 0-.183-.837c-.26.103-.55.157-.83.108a1.035 1.035 0 0 1-.588-.312 2.277 2.277 0 0 1-.991.317 3.048 3.048 0 0 1-1.215-.133C4.069 2.403 4 2.693 4 3v1a2 2 0 0 0 2 2Zm0 1a4.08 4.08 0 0 0-.387.018l.387.58.387-.58A4.026 4.026 0 0 0 6 7Z'></path>\",\"<path d='M9 12.5a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0Zm-2-7a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1ZM9.5 5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM6.962 6.308a.5.5 0 0 0-.923.384C6.31 7.346 6.923 8 8 8s1.69-.654 1.962-1.308a.5.5 0 1 0-.923-.384C8.882 6.683 8.579 7 8 7c-.58 0-.882-.317-1.038-.692Z'></path><path d='M4 5a4 4 0 1 1 8 0v1a3.996 3.996 0 0 1-1.794 3.338c1.94.629 3.294 2.084 3.294 3.912A1.75 1.75 0 0 1 11.75 15h-7.5a1.75 1.75 0 0 1-1.75-1.75c0-1.828 1.353-3.283 3.294-3.912A3.996 3.996 0 0 1 4 6V5Zm7.75 9H8.5v-2.293l1.354-1.353a.508.508 0 0 0 .056-.068c1.627.528 2.59 1.716 2.59 2.964a.75.75 0 0 1-.75.75ZM7.5 14v-2.293l-1.354-1.353a.508.508 0 0 1-.056-.068c-1.627.528-2.59 1.716-2.59 2.964 0 .414.336.75.75.75H7.5ZM11 6a3 3 0 0 1-6 0V5c0-.385.072-.752.204-1.09.183.043.378.068.568.08.382.025.816.004 1.24-.065a4.43 4.43 0 0 0 1.227-.369c.098-.049.197-.104.292-.167.254.278.61.444.931.527.42.108.912.115 1.338.004.129.335.2.7.2 1.08v1ZM5.836 2.992a3.401 3.401 0 0 1-.061-.004 2.992 2.992 0 0 1 2.72-.947.5.5 0 0 0-.257.25c-.047.103-.176.237-.44.368a3.444 3.444 0 0 1-.945.279 4.68 4.68 0 0 1-1.017.054ZM9.192 2.5a.499.499 0 0 0-.095-.293 3 3 0 0 1 1.137.791 1.777 1.777 0 0 1-.523-.05c-.405-.105-.519-.287-.519-.448Zm-1.944 7.54a6.84 6.84 0 0 1 1.504 0L8 10.794l-.752-.752Z'></path>\",\"<path d='M9.97 10.47a.75.75 0 0 1 1.06 0c.09.09.286.178.555.232a2.64 2.64 0 0 0 .397.047l.018.001h.018l.088-.006c.08-.006.19-.018.31-.042.268-.054.463-.142.554-.232a.75.75 0 1 1 1.06 1.06c-.41.41-.964.572-1.32.643a4.11 4.11 0 0 1-.686.077h-.048a3.26 3.26 0 0 1-.198-.01 4.113 4.113 0 0 1-.488-.067c-.356-.071-.91-.233-1.32-.643a.75.75 0 0 1 0-1.06ZM10.25 9a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm4.25-.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM16 19a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path><path d='M12 1a6 6 0 0 0-6 6v3c0 1.83.82 3.47 2.113 4.57a9.462 9.462 0 0 0-2.409 1.136C4.09 16.787 3 18.378 3 20.25A2.75 2.75 0 0 0 5.75 23h12.5A2.75 2.75 0 0 0 21 20.25c0-1.872-1.09-3.463-2.704-4.543a9.46 9.46 0 0 0-2.409-1.136A5.987 5.987 0 0 0 18 10V7a6 6 0 0 0-6-6Zm0 13a4 4 0 0 0 4-4V6.914a3.629 3.629 0 0 1-1.944-.105 3.08 3.08 0 0 1-1.319-.869c-.655.47-1.439.752-2.127.9a6.856 6.856 0 0 1-1.99.139c-.2-.017-.41-.046-.618-.092A4.07 4.07 0 0 0 8 7v3a4 4 0 0 0 4 4ZM8.56 4.958c.07.011.148.02.232.028a4.87 4.87 0 0 0 1.396-.1c1.072-.232 1.736-.718 1.905-1.211a1 1 0 0 1 .603-.615A3.998 3.998 0 0 0 8.56 4.957Zm5.328-1.485c.096.154.15.335.15.527 0 .504.258.777.666.917.264.09.53.1.75.065a4.02 4.02 0 0 0-1.566-1.51ZM12 16c-.358 0-.705.015-1.042.044L12 17.086l1.042-1.042A12.232 12.232 0 0 0 12 16Zm-5.184 1.369C5.591 18.189 5 19.223 5 20.25c0 .414.336.75.75.75H11v-2c0-.028.001-.055.003-.082l-2.21-2.21a1.001 1.001 0 0 1-.157-.204 7.424 7.424 0 0 0-1.82.865Zm6.18 1.549A.738.738 0 0 1 13 19v2h5.25a.75.75 0 0 0 .75-.75c0-1.027-.59-2.061-1.816-2.881a7.424 7.424 0 0 0-1.82-.865 1 1 0 0 1-.157.203l-2.21 2.21Z'></path>\",\"<path d='M14.707 13.293a1 1 0 0 0-1.414 1.414l.026.026C13.83 15.243 14.585 16 16 16s2.17-.756 2.68-1.267l.027-.026a1 1 0 0 0-1.414-1.414c-.49.49-.733.707-1.293.707-.56 0-.803-.218-1.293-.707ZM15 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm0 12a1 1 0 1 0 2 0 1 1 0 0 0-2 0Z'></path><path d='M16 2a8 8 0 0 0-8 8v2a7.993 7.993 0 0 0 3.589 6.675C7.706 19.933 5 22.844 5 26.5A3.5 3.5 0 0 0 8.5 30h15a3.5 3.5 0 0 0 3.5-3.5c0-3.656-2.706-6.567-6.589-7.825A7.993 7.993 0 0 0 24 12v-2a8 8 0 0 0-8-8Zm0 16a6 6 0 0 0 6-6v-2c0-.232-.013-.46-.039-.685a5.324 5.324 0 0 1-2.806-.043c-.741-.218-1.489-.641-2.001-1.3-.2.152-.41.287-.624.407-.801.451-1.742.747-2.66.917-.923.17-1.868.224-2.701.162a6.807 6.807 0 0 1-1.127-.171A6.06 6.06 0 0 0 10 10v2a6 6 0 0 0 6 6Zm0-14a6 6 0 0 1 5.405 3.393 3.3 3.3 0 0 1-1.685-.04C18.912 7.116 18.5 6.651 18.5 6a1 1 0 0 0-1.928-.371c-.136.339-.46.69-1.024 1.008-.558.314-1.274.55-2.043.692a8.817 8.817 0 0 1-2.19.135 5.043 5.043 0 0 1-.707-.099A6 6 0 0 1 16 4Zm0 16c-.52 0-1.022.028-1.504.081L16 21.586l1.504-1.505A13.68 13.68 0 0 0 16 20Zm-9 6.5c0-2.495 1.927-4.872 5.18-5.928.033.047.07.093.113.135L15 23.414V28H8.5A1.5 1.5 0 0 1 7 26.5ZM17 28v-4.586l2.707-2.707a.952.952 0 0 0 .113-.135C23.073 21.628 25 24.005 25 26.5a1.5 1.5 0 0 1-1.5 1.5H17Z'></path>\"]];","export default [[\"M3 0h5a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2Zm1.5 2a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2ZM5 5.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Zm2 0c0 .338-.112.65-.3.9.486.365.8.946.8 1.6v.5A1.5 1.5 0 0 1 6 10H5a1.5 1.5 0 0 1-1.5-1.5V8c0-.654.314-1.235.8-1.6A1.5 1.5 0 1 1 7 5.5ZM4.5 8a1 1 0 0 1 2 0v.5A.5.5 0 0 1 6 9H5a.5.5 0 0 1-.5-.5V8Z\",\"<path d='M8 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm.95 4c.58 0 1.05-.47 1.05-1.05C10 9.873 9.105 9 8 9s-2 .873-2 1.95c0 .58.47 1.05 1.05 1.05h1.9Z'></path><path d='M4 1h8a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2Zm2.5 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3ZM6 7c0 .53.207 1.013.544 1.371A2.934 2.934 0 0 0 5 10.95 2.05 2.05 0 0 0 7.05 13h1.9A2.05 2.05 0 0 0 11 10.95c0-1.121-.63-2.08-1.544-2.579A2 2 0 1 0 6 7Z'></path>\",\"<path d='M11 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm-1 5.25c0-1.32.97-2.25 2-2.25s2 .93 2 2.25a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1-.75-.75Z'></path><path d='M4 5a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V5Zm6 0a1 1 0 0 0 0 2h4a1 1 0 1 0 0-2h-4Zm5 6c0 .688-.232 1.323-.622 1.83.997.786 1.622 2.05 1.622 3.42A2.75 2.75 0 0 1 13.25 19h-2.5A2.75 2.75 0 0 1 8 16.25c0-1.37.625-2.634 1.622-3.42A3 3 0 1 1 15 11Z'></path>\",\"<path d='M14 14a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm2 4c-2.348 0-4 1.622-4 3.333V22a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-.667C20 19.622 18.348 18 16 18Z'></path><path d='M6 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v22a3 3 0 0 1-3 3H9a3 3 0 0 1-3-3V5Zm6 2a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2h-6a1 1 0 0 1-1-1Zm6.956 9.694a4 4 0 1 0-5.913 0C11.26 17.59 10 19.28 10 21.334V22a4 4 0 0 0 4 4h4a4 4 0 0 0 4-4v-.667c0-2.054-1.26-3.743-3.044-4.639Z'></path>\"],[\"<path d='M4.5 2a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Zm2.2 4.4a1.5 1.5 0 1 0-2.4 0c-.486.365-.8.946-.8 1.6v.5A1.5 1.5 0 0 0 5 10h1a1.5 1.5 0 0 0 1.5-1.5V8c0-.654-.314-1.235-.8-1.6ZM5.5 5a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm0 2a1 1 0 0 0-1 1v.5A.5.5 0 0 0 5 9h1a.5.5 0 0 0 .5-.5V8a1 1 0 0 0-1-1Z'></path><path d='M8 0H3a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h5a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2ZM2 2a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V2Z'></path>\",\"<path d='M6.5 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Zm.044 5.371a2 2 0 1 1 2.912 0A2.934 2.934 0 0 1 11 10.95 2.05 2.05 0 0 1 8.95 13h-1.9A2.05 2.05 0 0 1 5 10.95c0-1.121.63-2.08 1.544-2.579ZM9 7a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm1 3.95c0 .58-.47 1.05-1.05 1.05h-1.9C6.47 12 6 11.53 6 10.95 6 9.873 6.895 9 8 9s2 .873 2 1.95Z'></path><path d='M12 1H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2ZM3 3a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V3Z'></path>\",\"<path d='M10 5a1 1 0 0 0 0 2h4a1 1 0 1 0 0-2h-4Zm4.378 7.83a3 3 0 1 0-4.756 0C8.625 13.615 8 14.88 8 16.25A2.75 2.75 0 0 0 10.75 19h2.5A2.75 2.75 0 0 0 16 16.25c0-1.37-.625-2.634-1.622-3.42ZM12 10a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm0 4c-1.03 0-2 .93-2 2.25 0 .414.336.75.75.75h2.5a.75.75 0 0 0 .75-.75c0-1.32-.97-2.25-2-2.25Z'></path><path d='M7 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H7ZM6 5a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5Z'></path>\",\"<path d='M20 14a3.986 3.986 0 0 1-1.044 2.694C20.74 17.59 22 19.28 22 21.334V22a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4v-.667c0-2.054 1.26-3.743 3.043-4.639A4 4 0 1 1 20 14Zm-6 0a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm-2 7.333C12 19.622 13.652 18 16 18s4 1.622 4 3.333V22a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-.667ZM13 6a1 1 0 1 0 0 2h6a1 1 0 1 0 0-2h-6Z'></path><path d='M9 2a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H9ZM8 5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v22a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V5Z'></path>\"]];","export default [[\"<path d='M3 5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M1.5 1A1.5 1.5 0 0 0 0 2.5v6A1.5 1.5 0 0 0 1.5 10h9A1.5 1.5 0 0 0 12 8.5v-6A1.5 1.5 0 0 0 10.5 1h-9Zm3.952 5.88.135-.208 1.664-2.3a1.5 1.5 0 0 1 2.464.048L11 6.348V2.5a.5.5 0 0 0-.5-.5h-9a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .26.44.684.684 0 0 1 .007-.011l1.46-2.337a1.5 1.5 0 0 1 2.545 0l.18.289Z'></path>\",\"<path d='M4 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M2.5 3A1.5 1.5 0 0 0 1 4.5v7A1.5 1.5 0 0 0 2.5 13h11a1.5 1.5 0 0 0 1.5-1.5v-7A1.5 1.5 0 0 0 13.5 3h-11ZM14 9.766V4.5a.5.5 0 0 0-.5-.5h-11a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .29.454.743.743 0 0 1 .05-.074L4.3 9.267c.6-.8 1.8-.8 2.4 0l.616.821 2.48-2.937a1.5 1.5 0 0 1 2.358.084L14 9.765Z'></path>\",\"<path d='M6.5 11a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z'></path><path d='M4 4a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H4ZM3 7a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v7l-3.386-4.514a2 2 0 0 0-3.22.027l-3.827 5.289-.58-.645a2 2 0 0 0-2.973 0L3.62 17.926A1 1 0 0 1 3 17V7Z'></path>\",\"<path d='M9 15a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z'></path><path d='M5 6a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3V9a3 3 0 0 0-3-3H5Zm8.862 13.219 5.58-6.884a2 2 0 0 1 3.115.01L28 19.149V9a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h.04l4.941-5.765a2 2 0 0 1 3.037 0l.844.984Z'></path>\"],[\"<path d='M4 4a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path><path d='M0 2.5A1.5 1.5 0 0 1 1.5 1h9A1.5 1.5 0 0 1 12 2.5v6a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 0 8.5v-6ZM5.598 9H2.402l1.174-1.878a.5.5 0 0 1 .848 0L5.598 9Zm1.18 0H10.5a.5.5 0 0 0 .5-.5v-.349L8.882 4.975a.5.5 0 0 0-.82-.016l-1.65 2.278-.374.58L6.777 9ZM11 6.348 9.714 4.42a1.5 1.5 0 0 0-2.463-.047L5.587 6.672l-.135.209-.18-.29a1.5 1.5 0 0 0-2.544 0L1.268 8.93a.684.684 0 0 0-.007.01A.5.5 0 0 1 1 8.5v-6a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v3.848Z'></path>\",\"<path d='M5 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path><path d='M1 4.5A1.5 1.5 0 0 1 2.5 3h11A1.5 1.5 0 0 1 15 4.5v7a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 11.5v-7ZM2.5 4a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .29.454.743.743 0 0 1 .05-.074L4.3 9.267c.6-.8 1.8-.8 2.4 0l.616.821 2.48-2.937a1.5 1.5 0 0 1 2.358.084L14 9.765V4.5a.5.5 0 0 0-.5-.5h-11ZM14 11.463l-2.654-3.64a.5.5 0 0 0-.786-.027l-2.628 3.113L8.75 12h4.75a.5.5 0 0 0 .5-.5v-.037ZM5.9 9.867a.5.5 0 0 0-.8 0L3.5 12h4L5.9 9.867Z'></path>\",\"<path d='M6.5 11a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z'></path><path d='M4 4a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H4ZM3 7a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v7l-3.386-4.514a2 2 0 0 0-3.22.027l-3.827 5.289-.58-.645a2 2 0 0 0-2.973 0L3.62 17.926A1 1 0 0 1 3 17V7Zm10.445 11H20a1 1 0 0 0 .96-.72l-4.946-6.594-4.079 5.636L13.445 18ZM8.5 15.495 10.755 18h-4.51L8.5 15.495Z'></path>\",\"<path d='M9 15a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z'></path><path d='M5 6a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3V9a3 3 0 0 0-3-3H5Zm12.96 18H27a1 1 0 0 0 1-1v-.65l-7.005-8.756-5.81 7.169L17.96 24Zm-4.098-4.781 5.58-6.884a2 2 0 0 1 3.115.01L28 19.149V9a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h.04l4.941-5.765a2 2 0 0 1 3.037 0l.844.984ZM7.674 24h7.652L11.5 19.537 7.674 24Z'></path>\"]];","export default [[\"<path d='M1.5 0A1.5 1.5 0 0 0 0 1.5v7A1.5 1.5 0 0 0 1.5 10h2.756A4.493 4.493 0 0 1 4 8.5c0-.897.262-1.732.715-2.434a1.502 1.502 0 0 0-1.987.526l-1.46 2.337-.007.01A.5.5 0 0 1 1 8.5v-7a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v3.258c.378.253.715.561 1 .913V1.5A1.5 1.5 0 0 0 10.5 0h-9Z'></path><path d='M3 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm5.5 3a.5.5 0 0 1 .5.5V8h.5a.5.5 0 0 1 0 1H9v.5a.5.5 0 0 1-1 0V9h-.5a.5.5 0 0 1 0-1H8v-.5a.5.5 0 0 1 .5-.5Z'></path><path d='M8.5 5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM6 8.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path>\",\"<path d='M1.5 1A1.5 1.5 0 0 0 0 2.5v7A1.5 1.5 0 0 0 1.5 11h4.522A5.5 5.5 0 0 1 11.5 6h.053l-.628-.801a1.5 1.5 0 0 0-2.362 0l-2.254 2.88-.609-.812c-.6-.8-1.8-.8-2.4 0L1.34 9.88a.735.735 0 0 0-.049.074A.5.5 0 0 1 1 9.5v-7a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 .5.5v3.707c.349.099.683.23 1 .393V2.5A1.5 1.5 0 0 0 12.5 1h-11Z'></path><path d='M3 5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm9 4.5a.5.5 0 0 0-1 0V11H9.5a.5.5 0 0 0 0 1H11v1.5a.5.5 0 0 0 1 0V12h1.5a.5.5 0 0 0 0-1H12V9.5Z'></path><path d='M11.5 7a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9ZM8 11.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z'></path>\",\"<path d='M3 1a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h5a9 9 0 0 1 9.845-8.96l-1.138-1.543a2 2 0 0 0-3.219 0l-3.917 5.31-.584-.65a2 2 0 0 0-2.973 0l-3.392 3.769A1 1 0 0 1 2 14V4a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v4.512c.712.252 1.383.59 2 1.004V4a3 3 0 0 0-3-3H3Z'></path><path d='M5.5 8a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM18 14a1 1 0 1 0-2 0v2h-2a1 1 0 1 0 0 2h2v2a1 1 0 1 0 2 0v-2h2a1 1 0 1 0 0-2h-2v-2Z'></path><path d='M17 10a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-5 7a5 5 0 1 1 10 0 5 5 0 0 1-10 0Z'></path>\",\"<path d='M4 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h7c0-6.075 4.925-11 11-11 .6 0 1.189.048 1.763.14l-2.254-2.8a2 2 0 0 0-3.116 0l-5.534 6.876-.84-.981a2 2 0 0 0-3.038 0L4.04 20H4a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h22a1 1 0 0 1 1 1v7.2a10.96 10.96 0 0 1 2 1.314V5a3 3 0 0 0-3-3H4Z'></path><path d='M8 11a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm15 7a1 1 0 1 0-2 0v3h-3a1 1 0 1 0 0 2h3v3a1 1 0 1 0 2 0v-3h3a1 1 0 1 0 0-2h-3v-3Z'></path><path d='M22 13a9 9 0 1 0 0 18 9 9 0 0 0 0-18Zm-7 9a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z'></path>\"],[\"<path d='M0 1.5A1.5 1.5 0 0 1 1.5 0h9A1.5 1.5 0 0 1 12 1.5v4.171a4.526 4.526 0 0 0-1-.913V1.5a.5.5 0 0 0-.5-.5h-9a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .26.44l.007-.011 1.461-2.337a1.502 1.502 0 0 1 1.987-.526c-.18.28-.33.58-.446.898a.5.5 0 0 0-.693.158L2.402 9h1.625c.039.347.117.682.23 1H1.5A1.5 1.5 0 0 1 0 8.5v-7Z'></path><path d='M4 3a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm4.5 4a.5.5 0 0 1 .5.5V8h.5a.5.5 0 0 1 0 1H9v.5a.5.5 0 0 1-1 0V9h-.5a.5.5 0 0 1 0-1H8v-.5a.5.5 0 0 1 .5-.5Z'></path><path d='M8.5 5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM6 8.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path>\",\"<path d='M1.5 1A1.5 1.5 0 0 0 0 2.5v7A1.5 1.5 0 0 0 1.5 11h4.522a5.48 5.48 0 0 1 .185-1H2.5l1.6-2.133a.5.5 0 0 1 .8 0l1.393 1.857a5.515 5.515 0 0 1 2.226-2.847l.831-1.062a.5.5 0 0 1 .788 0l.235.3C10.737 6.04 11.113 6 11.5 6h.053l-.628-.801a1.5 1.5 0 0 0-2.362 0l-2.254 2.88-.609-.812c-.6-.8-1.8-.8-2.4 0L1.34 9.88a.735.735 0 0 0-.049.074A.5.5 0 0 1 1 9.5v-7a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 .5.5v3.707c.349.099.683.23 1 .393V2.5A1.5 1.5 0 0 0 12.5 1h-11Z'></path><path d='M3 5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm9 4.5a.5.5 0 0 0-1 0V11H9.5a.5.5 0 0 0 0 1H11v1.5a.5.5 0 0 0 1 0V12h1.5a.5.5 0 0 0 0-1H12V9.5Z'></path><path d='M11.5 7a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9ZM8 11.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z'></path>\",\"<path d='M3 1a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h5c0-.687.077-1.357.223-2H5.246L7.5 12.495l1.112 1.236a9.021 9.021 0 0 1 6.02-5.416l.466-.63.333.451a9.055 9.055 0 0 1 2.414-.097l-1.138-1.542a2 2 0 0 0-3.219 0l-3.917 5.31-.584-.65a2 2 0 0 0-2.973 0l-3.392 3.769A1 1 0 0 1 2 14V4a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v4.512c.712.252 1.383.59 2 1.004V4a3 3 0 0 0-3-3H3Z'></path><path d='M5.5 8a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM18 14a1 1 0 1 0-2 0v2h-2a1 1 0 1 0 0 2h2v2a1 1 0 1 0 2 0v-2h2a1 1 0 1 0 0-2h-2v-2Z'></path><path d='M17 10a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-5 7a5 5 0 1 1 10 0 5 5 0 0 1-10 0Z'></path>\",\"<path d='M4 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h7c0-.683.062-1.352.181-2H6.675l3.826-4.464 1.538 1.794a11.036 11.036 0 0 1 6.272-5.696l1.641-2.04 1.16 1.441a11.18 11.18 0 0 1 2.652.105l-2.254-2.8a2 2 0 0 0-3.116 0l-5.534 6.876-.84-.981a2 2 0 0 0-3.038 0L4.04 20H4a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h22a1 1 0 0 1 1 1v7.2a10.96 10.96 0 0 1 2 1.314V5a3 3 0 0 0-3-3H4Z'></path><path d='M8 11a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm15 7a1 1 0 1 0-2 0v3h-3a1 1 0 1 0 0 2h3v3a1 1 0 1 0 2 0v-3h3a1 1 0 1 0 0-2h-3v-3Z'></path><path d='M22 13a9 9 0 1 0 0 18 9 9 0 0 0 0-18Zm-7 9a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z'></path>\"]];","export default [[\"<path d='M3 5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M11.854.854a.5.5 0 0 0-.708-.708L10.293 1H1.5A1.5 1.5 0 0 0 0 2.5v6a1.5 1.5 0 0 0 1.305 1.487l-1.159 1.16a.5.5 0 0 0 .708.707l11-11Zm-6.84 5.425L9.293 2H1.5a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .26.44l.007-.011 1.46-2.337a1.502 1.502 0 0 1 2.287-.313ZM9.715 4.42l-.006-.008L4.122 10H10.5A1.5 1.5 0 0 0 12 8.5v-6c0-.117-.013-.23-.039-.34L11 3.122v3.227L9.715 4.42Z'></path>\",\"<path d='M4 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M14.854 1.854a.5.5 0 0 0-.708-.708L12.293 3H2.5A1.5 1.5 0 0 0 1 4.5v7a1.5 1.5 0 0 0 1.305 1.488l-1.159 1.158a.5.5 0 0 0 .708.708l13-13Zm-8.496 7.08L11.293 4H2.5a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .29.454.745.745 0 0 1 .05-.074L4.3 9.266a1.501 1.501 0 0 1 2.058-.331Zm5.066-2.237c.281.095.539.274.73.537L14 9.766V4.5a.498.498 0 0 0-.09-.288l.71-.71c.236.265.38.615.38.998v7a1.5 1.5 0 0 1-1.5 1.5H5.122l6.302-6.303Z'></path>\",\"<path d='M6.5 11a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z'></path><path d='M22.707 2.707a1 1 0 0 0-1.414-1.414L18.586 4H4a3 3 0 0 0-3 3v10a3 3 0 0 0 1.825 2.761l-1.532 1.532a1 1 0 1 0 1.414 1.414l20-20ZM9.022 13.564 16.586 6H4a1 1 0 0 0-1 1v10a1 1 0 0 0 .621.926l3.392-3.77a1.999 1.999 0 0 1 2.01-.592ZM21 14l-2.896-3.861L8.243 20H20a3 3 0 0 0 3-3V7c0-.567-.157-1.097-.43-1.55a2.994 2.994 0 0 1-.57.793l-1 1V14Z'></path>\",\"<path d='M9 15a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z'></path><path d='M29.707 3.707a1 1 0 0 0-1.414-1.414L24.586 6H5a3 3 0 0 0-3 3v14a3 3 0 0 0 2.61 2.975l-2.317 2.318a1 1 0 1 0 1.414 1.414l26-26ZM12.671 17.915 22.586 8H5a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h.04l4.941-5.765a2.001 2.001 0 0 1 2.69-.32ZM28 19.15l-4.847-6.06L10.243 26H27a3 3 0 0 0 3-3V9c0-.767-.288-1.466-.76-1.996l-1.422 1.42A.996.996 0 0 1 28 9v10.15Z'></path>\"],[\"<path d='M3 5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M11.854.854a.5.5 0 0 0-.708-.708L10.293 1H1.5A1.5 1.5 0 0 0 0 2.5v6a1.5 1.5 0 0 0 1.305 1.487l-1.159 1.16a.5.5 0 0 0 .708.707l11-11Zm-9.27 7.855 1.72-1.72a.5.5 0 0 0-.728.133l-.992 1.587Zm2.43-2.43L9.293 2H1.5a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .26.44l.007-.011 1.46-2.337a1.502 1.502 0 0 1 2.287-.313Zm4.7-1.859-.005-.007-.721.72L11 8.153V8.5a.5.5 0 0 1-.5.5H6.777L6.14 7.981l-.763.763.043.028.018-.028.16.256h-.476l-1 1H10.5A1.5 1.5 0 0 0 12 8.5v-6c0-.117-.013-.23-.039-.34L11 3.122v3.227L9.714 4.42Z'></path>\",\"<path d='M4 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M14.854 1.854a.5.5 0 0 0-.708-.708L12.293 3H2.5A1.5 1.5 0 0 0 1 4.5v7a1.5 1.5 0 0 0 1.305 1.488l-1.159 1.158a.5.5 0 0 0 .708.708l13-13ZM4.12 11.172 5.613 9.68a.5.5 0 0 0-.513.188l-.98 1.305Zm2.237-2.237L11.293 4H2.5a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .29.454.745.745 0 0 1 .05-.074L4.3 9.266a1.501 1.501 0 0 1 2.058-.331Zm5.068-2.238c.28.095.538.274.73.537L14 9.765V4.5a.498.498 0 0 0-.09-.288l.71-.71c.236.265.38.615.38.998v7a1.5 1.5 0 0 1-1.5 1.5H5.122l6.303-6.303ZM13.5 12H8.75l-.818-1.09 2.629-3.114a.5.5 0 0 1 .786.028L14 11.463v.037a.5.5 0 0 1-.5.5Zm-6 0-.224-.299-.247.299H7.5Z'></path>\",\"<path d='M6.5 11a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z'></path><path d='M22.707 2.707a1 1 0 0 0-1.414-1.414L18.586 4H4a3 3 0 0 0-3 3v10a3 3 0 0 0 1.825 2.761l-1.532 1.532a1 1 0 1 0 1.414 1.414l20-20ZM9.022 13.564 16.586 6H4a1 1 0 0 0-1 1v10a1 1 0 0 0 .621.926l3.392-3.77a1.999 1.999 0 0 1 2.01-.592ZM21 14l-2.896-3.861-1.429 1.428 4.285 5.713A1 1 0 0 1 20 18h-6.555l-1.51-1.678.04-.055-1.463 1.463.242.27h-.511l-2 2H20a3 3 0 0 0 3-3V7c0-.567-.157-1.097-.43-1.55a2.994 2.994 0 0 1-.57.793l-1 1V14Z'></path>\",\"<path d='M9 15a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z'></path><path d='M29.707 3.707a1 1 0 0 0-1.414-1.414L24.586 6H5a3 3 0 0 0-3 3v14a3 3 0 0 0 2.61 2.975l-2.317 2.318a1 1 0 1 0 1.414 1.414l26-26ZM12.671 17.915 22.586 8H5a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h.04l4.941-5.765a2.001 2.001 0 0 1 2.69-.32ZM28 19.149l-4.847-6.059-1.423 1.423L28 22.351V23a1 1 0 0 1-1 1h-9.04l-2.639-3.078-1.418 1.418L15.326 24h-3.083l-2 2H27a3 3 0 0 0 3-3V9c0-.767-.288-1.466-.76-1.996l-1.422 1.42A.996.996 0 0 1 28 9v10.149Z'></path>\"]];","export default [[\"<path d='M6 4a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path><path d='M3.5 1A1.5 1.5 0 0 0 2 2.5V3h-.5A1.5 1.5 0 0 0 0 4.5v5A1.5 1.5 0 0 0 1.5 11h7A1.5 1.5 0 0 0 10 9.5V9h.5A1.5 1.5 0 0 0 12 7.5v-5A1.5 1.5 0 0 0 10.5 1h-7ZM9 9H3.5A1.5 1.5 0 0 1 2 7.5V4h-.5a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5V9ZM3 2.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v4.557l-1.575-2.52a1.11 1.11 0 0 0-1.865-.028L6.145 6.63l-.16-.201a1.2 1.2 0 0 0-1.932.077L3.144 7.85A.498.498 0 0 1 3 7.5v-5Z'></path>\",\"<path d='M6 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M4.5 2A1.5 1.5 0 0 0 3 3.5V4h-.5A1.5 1.5 0 0 0 1 5.5v6A1.5 1.5 0 0 0 2.5 13h9a1.5 1.5 0 0 0 1.5-1.5V11h.5A1.5 1.5 0 0 0 15 9.5v-6A1.5 1.5 0 0 0 13.5 2h-9Zm7.5 9H4.5A1.5 1.5 0 0 1 3 9.5V5h-.5a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5V11ZM4 3.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v3.849L12.948 5.77a1.734 1.734 0 0 0-.53-.514 1.508 1.508 0 0 0-1.84.001 1.734 1.734 0 0 0-.526.513L8.544 8.033l-.5-.583A1.3 1.3 0 0 0 6 7.54L4.28 9.95A.5.5 0 0 1 4 9.5v-6Z'></path>\",\"<path d='M9.5 10a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z'></path><path d='M4 6a3 3 0 0 1 3-3h13a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3h-1v1a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3v-8a3 3 0 0 1 3-3h1V6Zm3 11h10v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1h1v5a3 3 0 0 0 3 3ZM7 5a1 1 0 0 0-1 1v8a1 1 0 0 0 .263.676l2.252-2.896a2 2 0 0 1 2.993-.186l.965.965 3.096-3.87a1.85 1.85 0 0 1 2.866-.03L21 11.739V6a1 1 0 0 0-1-1H7Z'></path>\",\"<path d='M12 12a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z'></path><path d='M6 8a3 3 0 0 1 3-3h18a3 3 0 0 1 3 3v11a3 3 0 0 1-3 3h-1v1a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V12a3 3 0 0 1 3-3h1V8Zm3 14h15v1a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V12a1 1 0 0 1 1-1h1v8a3 3 0 0 0 3 3ZM9 7a1 1 0 0 0-1 1v11a1 1 0 0 0 .458.84l4.038-5.116a1.9 1.9 0 0 1 3.003.027l1.092 1.434 4.006-5.463a1.78 1.78 0 0 1 2.816-.072L28 16.28V8a1 1 0 0 0-1-1H9Z'></path>\"],[\"<path d='M5 5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M2 2.5A1.5 1.5 0 0 1 3.5 1h7A1.5 1.5 0 0 1 12 2.5v5A1.5 1.5 0 0 1 10.5 9H10v.5A1.5 1.5 0 0 1 8.5 11h-7A1.5 1.5 0 0 1 0 9.5v-5A1.5 1.5 0 0 1 1.5 3H2v-.5ZM3.5 9H9v.5a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-5a.5.5 0 0 1 .5-.5H2v3.5A1.5 1.5 0 0 0 3.5 9Zm0-7a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .144.351l.91-1.344a1.2 1.2 0 0 1 1.93-.077l.161.201L7.56 4.509a1.11 1.11 0 0 1 1.865.027L11 7.056V2.5a.5.5 0 0 0-.5-.5h-7Zm3.416 5.277a.498.498 0 0 1-.141.141L7.24 8h3.17L8.577 5.066a.11.11 0 0 0-.185-.002L6.916 7.277Zm-2.034-.21a.2.2 0 0 1 .321-.012L5.96 8H4.25l.632-.933Z'></path>\",\"<path d='M6 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M3 3.5A1.5 1.5 0 0 1 4.5 2h9A1.5 1.5 0 0 1 15 3.5v6a1.5 1.5 0 0 1-1.5 1.5H13v.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 1 11.5v-6A1.5 1.5 0 0 1 2.5 4H3v-.5ZM4.5 11H12v.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-6a.5.5 0 0 1 .5-.5H3v4.5A1.5 1.5 0 0 0 4.5 11Zm0-8a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .28.449L6 7.54a1.3 1.3 0 0 1 2.044-.09l.5.583 1.508-2.263a1.74 1.74 0 0 1 2.896 0L14 7.35V3.5a.5.5 0 0 0-.5-.5h-9Zm5.73 7L9.22 8.822l1.664-2.497a.74.74 0 0 1 1.232 0L14 9.151V9.5a.5.5 0 0 1-.5.5h-3.27ZM7.285 8.1a.3.3 0 0 0-.472.022L5.472 10h3.44L7.286 8.1Z'></path>\",\"<path d='M9.5 10a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z'></path><path d='M4 6a3 3 0 0 1 3-3h13a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3h-1v1a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3v-8a3 3 0 0 1 3-3h1V6Zm3 11h10v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1h1v5a3 3 0 0 0 3 3ZM7 5a1 1 0 0 0-1 1v8a1 1 0 0 0 .263.676l2.252-2.896a2 2 0 0 1 2.993-.186l.965.965 3.096-3.87a1.85 1.85 0 0 1 2.866-.03L21 11.739V6a1 1 0 0 0-1-1H7Zm6.896 8.982L14.914 15H20a.998.998 0 0 0 .791-.389l-3.775-4.53-3.12 3.9Zm-3.802-.974L12.086 15H8.544l1.55-1.992Z'></path>\",\"<path d='M12 12a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z'></path><path d='M6 8a3 3 0 0 1 3-3h18a3 3 0 0 1 3 3v11a3 3 0 0 1-3 3h-1v1a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V12a3 3 0 0 1 3-3h1V8Zm3 14h15v1a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V12a1 1 0 0 1 1-1h1v8a3 3 0 0 0 3 3ZM9 7a1 1 0 0 0-1 1v11a1 1 0 0 0 .458.84l4.038-5.116a1.9 1.9 0 0 1 3.003.027l1.092 1.434 4.006-5.463a1.78 1.78 0 0 1 2.815-.072L28 16.28V8a1 1 0 0 0-1-1H9Zm8.854 10.844L19.496 20H27a1 1 0 0 0 .932-.637l-5.89-7.229-4.188 5.71ZM10.88 20l3.106-3.935L16.982 20H10.88Z'></path>\"]];","export default [[\"M3 2a.5.5 0 0 0-.46.303l-1.5 3.5A.5.5 0 0 0 1 6v4.5a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5V6a.501.501 0 0 0-.04-.197l-1.5-3.5A.5.5 0 0 0 9 2H3Zm6.956 4L8.67 3H3.33L2.044 6H4.5a.5.5 0 0 1 .5.5V7h2v-.5a.5.5 0 0 1 .5-.5h2.456Z\",\"M4.239 2a1.5 1.5 0 0 0-1.434 1.059l-1.739 5.65A1.5 1.5 0 0 0 1 9.15v3.35A1.5 1.5 0 0 0 2.5 14h11a1.5 1.5 0 0 0 1.5-1.5V9.15c0-.15-.022-.298-.066-.44l-1.739-5.651A1.5 1.5 0 0 0 11.761 2H4.24Zm9.433 6.01L12.24 3.353A.5.5 0 0 0 11.761 3H4.24a.5.5 0 0 0-.478.353L2.328 8.01c.056-.007.114-.01.172-.01h2A1.5 1.5 0 0 1 6 9.5a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5A1.5 1.5 0 0 1 11.5 8h2c.058 0 .116.003.172.01Z\",\"M3.854 4.588A2 2 0 0 1 5.811 3H18.19a2 2 0 0 1 1.957 1.588l1.811 8.604c.029.136.043.274.043.412V19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-5.396a2 2 0 0 1 .043-.412l1.811-8.604ZM4.338 12H6.5A2.5 2.5 0 0 1 9 14.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5 2.5 2.5 0 0 1 2.5-2.5h2.162L18.19 5H5.81l-1.473 7Z\",\"M8.562 5a3 3 0 0 0-2.91 2.272L3.09 17.52a3 3 0 0 0-.09.727V25a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3v-6.754a3 3 0 0 0-.09-.727L26.35 7.272A3 3 0 0 0 23.439 5H8.561Zm18.18 12.093L24.41 7.757A1 1 0 0 0 23.44 7H8.561a1 1 0 0 0-.97.757l-2.334 9.336c.237-.06.486-.093.742-.093h3a3 3 0 0 1 3 3 1 1 0 0 0 1 1h6a1 1 0 0 0 1-1 3 3 0 0 1 3-3h3c.256 0 .505.032.742.093Z\"],[\"M3 2a.5.5 0 0 0-.46.303l-1.5 3.5A.5.5 0 0 0 1 6v4.5a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5V6a.501.501 0 0 0-.04-.197l-1.5-3.5A.5.5 0 0 0 9 2H3Zm6.956 4L8.67 3H3.33L2.044 6H4.5a.5.5 0 0 1 .5.5V7h2v-.5a.5.5 0 0 1 .5-.5h2.456ZM8 7.5V7h2v3H2V7h2v.5a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5Z\",\"M4.239 2a1.5 1.5 0 0 0-1.434 1.059l-1.739 5.65A1.5 1.5 0 0 0 1 9.15v3.35A1.5 1.5 0 0 0 2.5 14h11a1.5 1.5 0 0 0 1.5-1.5V9.15c0-.15-.022-.298-.066-.44l-1.739-5.651A1.5 1.5 0 0 0 11.761 2H4.24Zm9.433 6.01L12.24 3.353A.5.5 0 0 0 11.761 3H4.24a.5.5 0 0 0-.478.353L2.328 8.01c.056-.007.114-.01.172-.01h2A1.5 1.5 0 0 1 6 9.5a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5A1.5 1.5 0 0 1 11.5 8h2c.058 0 .116.003.172.01ZM2 9.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5A1.5 1.5 0 0 0 6.5 11h3A1.5 1.5 0 0 0 11 9.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-3Z\",\"M3.854 4.588A2 2 0 0 1 5.811 3H18.19a2 2 0 0 1 1.957 1.588l1.811 8.604c.029.136.043.274.043.412V19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-5.396a2 2 0 0 1 .043-.412l1.811-8.604ZM4 14v5h16v-5h-2.5a.5.5 0 0 0-.5.5 2.5 2.5 0 0 1-2.5 2.5h-5A2.5 2.5 0 0 1 7 14.5a.5.5 0 0 0-.5-.5H4Zm15.662-2H17.5a2.5 2.5 0 0 0-2.5 2.5.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5A2.5 2.5 0 0 0 6.5 12H4.338L5.81 5h12.38l1.473 7Z\",\"M8.562 5a3 3 0 0 0-2.91 2.272L3.09 17.52a3 3 0 0 0-.09.727V25a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3v-6.754a3 3 0 0 0-.09-.727L26.35 7.272A3 3 0 0 0 23.439 5H8.561Zm18.18 12.093L24.41 7.757A1 1 0 0 0 23.44 7H8.561a1 1 0 0 0-.97.757l-2.334 9.336c.237-.06.486-.093.742-.093h3a3 3 0 0 1 3 3 1 1 0 0 0 1 1h6a1 1 0 0 0 1-1 3 3 0 0 1 3-3h3c.256 0 .505.032.742.093ZM5 20a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1 3 3 0 0 0 3 3h6a3 3 0 0 0 3-3 1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-5Z\"]];","export default [[\"<path d='M6 1.5v3.293l.646-.647a.5.5 0 1 1 .708.708l-1.5 1.5a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L5 4.793V1.5a.5.5 0 0 1 1 0Z'></path><path d='M2.044 6 3.33 3H4a.5.5 0 0 0 0-1H3a.5.5 0 0 0-.46.303l-1.5 3.5A.5.5 0 0 0 1 6v4.5a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5V6a.5.5 0 0 0-.04-.197l-1.5-3.5A.5.5 0 0 0 8 2H7a.5.5 0 0 0 0 1h.67l1.286 3H7.5a.5.5 0 0 0-.5.5V7H4v-.5a.5.5 0 0 0-.5-.5H2.044Z'></path>\",\"<path d='M8 1.5v5.793l1.146-1.147a.5.5 0 1 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L7 7.293V1.5a.5.5 0 0 1 1 0Z'></path><path d='M2.328 8.01c.056-.007.114-.01.172-.01h2A1.5 1.5 0 0 1 6 9.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5A1.5 1.5 0 0 1 10.5 8h2c.058 0 .116.003.172.01L11.24 3.353A.5.5 0 0 0 10.761 3H9.5a.5.5 0 0 1 0-1h1.261a1.5 1.5 0 0 1 1.434 1.059l1.739 5.65c.044.143.066.292.066.441v3.35a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 1 12.5V9.15c0-.15.022-.298.066-.44l1.739-5.651A1.5 1.5 0 0 1 4.239 2H5.5a.5.5 0 0 1 0 1H4.239a.5.5 0 0 0-.478.353L2.328 8.01Z'></path>\",\"<path d='M11 2v9.586L8.707 9.293a1 1 0 0 0-1.414 1.414l4 4a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L13 11.586V2a1 1 0 1 0-2 0Z'></path><path d='M4.338 14 5.81 7H8a1 1 0 0 0 0-2H5.811a2 2 0 0 0-1.957 1.588l-1.811 8.604a2 2 0 0 0-.043.412V21a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.396c0-.138-.014-.276-.043-.412l-1.811-8.604A2 2 0 0 0 18.189 5H16a1 1 0 1 0 0 2h2.189l1.473 7H17a2 2 0 0 0-2 2 1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1 2 2 0 0 0-2-2H4.338Z'></path>\",\"<path d='M20.293 12.293 17 15.586V2a1 1 0 1 0-2 0v13.586l-3.293-3.293a1 1 0 0 0-1.414 1.414l5 5a1 1 0 0 0 1.414 0l5-5a1 1 0 0 0-1.414-1.414Z'></path><path d='M5.258 17.093c.237-.06.486-.093.742-.093h3a3 3 0 0 1 3 3 1 1 0 0 0 1 1h6a1 1 0 0 0 1-1 3 3 0 0 1 3-3h3c.256 0 .505.032.742.093L24.41 7.757A1 1 0 0 0 23.44 7H20a1 1 0 1 1 0-2h3.438a3 3 0 0 1 2.91 2.272L28.91 17.52a3 3 0 0 1 .09.727V25a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3v-6.754a3 3 0 0 1 .09-.727L5.65 7.272A3 3 0 0 1 8.561 5H12a1 1 0 1 1 0 2H8.562a1 1 0 0 0-.97.757l-2.334 9.336Z'></path>\"],[\"<path d='M6 4.793V1.5a.5.5 0 0 0-1 0v3.293l-.646-.647a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l1.5-1.5a.5.5 0 1 0-.708-.708L6 4.793Z'></path><path d='M3 2a.5.5 0 0 0-.46.303l-1.5 3.5A.5.5 0 0 0 1 6v4.5a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5V6a.5.5 0 0 0-.04-.197l-1.5-3.5A.5.5 0 0 0 8 2H7a.5.5 0 0 0 0 1h.67l1.286 3H7.5a.5.5 0 0 0-.5.5V7H4v-.5a.5.5 0 0 0-.5-.5H2.044L3.33 3H4a.5.5 0 0 0 0-1H3Zm5 5.5V7h1v3H2V7h1v.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'></path>\",\"<path d='M8 7.293V1.5a.5.5 0 0 0-1 0v5.793L5.854 6.146a.5.5 0 1 0-.708.708l2 2a.5.5 0 0 0 .708 0l2-2a.5.5 0 0 0-.708-.708L8 7.293Z'></path><path d='M3.76 3.353A.5.5 0 0 1 4.24 3H5.5a.5.5 0 0 0 0-1H4.239a1.5 1.5 0 0 0-1.434 1.059l-1.739 5.65A1.5 1.5 0 0 0 1 9.15v3.35A1.5 1.5 0 0 0 2.5 14h10a1.5 1.5 0 0 0 1.5-1.5V9.15c0-.15-.022-.298-.066-.44l-1.739-5.651A1.5 1.5 0 0 0 10.761 2H9.5a.5.5 0 0 0 0 1h1.261a.5.5 0 0 1 .478.353l1.433 4.657A1.518 1.518 0 0 0 12.5 8h-2A1.5 1.5 0 0 0 9 9.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5A1.5 1.5 0 0 0 4.5 8h-2c-.058 0-.116.003-.172.01L3.76 3.353ZM13 9.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5A1.5 1.5 0 0 1 8.5 11h-2A1.5 1.5 0 0 1 5 9.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5v-3Z'></path>\",\"<path d='M11 2v9.586L8.707 9.293a1 1 0 0 0-1.414 1.414l4 4a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L13 11.586V2a1 1 0 1 0-2 0Z'></path><path d='M3.854 6.588A2 2 0 0 1 5.811 5H8a1 1 0 0 1 0 2H5.811l-1.473 7H6.5A2.5 2.5 0 0 1 9 16.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5 2.5 2.5 0 0 1 2.5-2.5h2.162L18.19 7H16a1 1 0 1 1 0-2h2.189a2 2 0 0 1 1.957 1.588l1.811 8.604c.029.136.043.274.043.412V21a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-5.396a2 2 0 0 1 .043-.412l1.811-8.604ZM20 16h-2.5a.5.5 0 0 0-.5.5 2.5 2.5 0 0 1-2.5 2.5h-5A2.5 2.5 0 0 1 7 16.5a.5.5 0 0 0-.5-.5H4v5h16v-5Z'></path>\",\"<path d='m17 15.586 3.293-3.293a1 1 0 0 1 1.414 1.414l-5 5a1 1 0 0 1-1.414 0l-5-5a1 1 0 1 1 1.414-1.414L15 15.586V2a1 1 0 1 1 2 0v13.586Z'></path><path d='M7.591 7.757A1 1 0 0 1 8.561 7H12a1 1 0 1 0 0-2H8.562a3 3 0 0 0-2.91 2.272L3.09 17.52a3 3 0 0 0-.09.727V25a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3v-6.754a3 3 0 0 0-.09-.727L26.35 7.272A3 3 0 0 0 23.439 5H20a1 1 0 1 0 0 2h3.438a1 1 0 0 1 .97.757l2.334 9.336A3.004 3.004 0 0 0 26 17h-3a3 3 0 0 0-3 3 1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1 3 3 0 0 0-3-3H6c-.256 0-.505.032-.742.093L7.59 7.757ZM27 20a1 1 0 0 0-1-1h-3a1 1 0 0 0-1 1 3 3 0 0 1-3 3h-6a3 3 0 0 1-3-3 1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1v-5Z'></path>\"]];","export default [[\"<path d='M3.5 5.5A.5.5 0 0 1 4 5h3a.5.5 0 0 1 0 1H4a.5.5 0 0 1-.5-.5Zm1-2a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Z'></path><path d='M3 2a.5.5 0 0 0-.46.303l-1.5 3.5A.5.5 0 0 0 1 6v4.5a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5V6a.5.5 0 0 0-.04-.197l-1.5-3.5A.5.5 0 0 0 8 2H3Zm4.5 4h1.456L7.67 3H3.33L2.044 6H3.5a.5.5 0 0 1 .5.5V7h3v-.5a.5.5 0 0 1 .5-.5Z'></path>\",\"<path d='M4 6.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5ZM5.5 4a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Z'></path><path d='M4.239 2a1.5 1.5 0 0 0-1.434 1.059l-1.739 5.65A1.5 1.5 0 0 0 1 9.15v3.35A1.5 1.5 0 0 0 2.5 14h10a1.5 1.5 0 0 0 1.5-1.5V9.15c0-.15-.022-.298-.066-.44l-1.739-5.651A1.5 1.5 0 0 0 10.761 2H4.24Zm8.433 6.01L11.24 3.353A.5.5 0 0 0 10.761 3H4.24a.5.5 0 0 0-.478.353L2.328 8.01c.056-.007.114-.01.172-.01h2A1.5 1.5 0 0 1 6 9.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5A1.5 1.5 0 0 1 10.5 8h2c.058 0 .116.003.172.01Z'></path>\",\"<path d='M6 10a1 1 0 0 1 1-1h10a1 1 0 1 1 0 2H7a1 1 0 0 1-1-1Zm2-4a1 1 0 0 0 0 2h8a1 1 0 1 0 0-2H8Z'></path><path d='M5.811 3a2 2 0 0 0-1.957 1.588l-1.811 8.604a2 2 0 0 0-.043.412V19a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.396c0-.138-.014-.276-.043-.412l-1.811-8.604A2 2 0 0 0 18.189 3H5.81Zm13.851 9L18.19 5H5.81l-1.473 7H7a2 2 0 0 1 2 2 1 1 0 0 0 1 1h4a1 1 0 0 0 1-1 2 2 0 0 1 2-2h2.662Z'></path>\",\"<path d='M8 14a1 1 0 1 0 0 2h16a1 1 0 1 0 0-2H8Zm0-2a1 1 0 0 1 1-1h14a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1Zm2-4a1 1 0 0 0 0 2h12a1 1 0 1 0 0-2H10Z'></path><path d='M5.651 7.272A3 3 0 0 1 8.561 5h14.877a3 3 0 0 1 2.91 2.272L28.91 17.52a3 3 0 0 1 .09.727V25a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3v-6.754a3 3 0 0 1 .09-.727L5.65 7.272Zm18.758.485 2.333 9.336A3.004 3.004 0 0 0 26 17h-3a3 3 0 0 0-3 3 1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1 3 3 0 0 0-3-3H6c-.256 0-.505.032-.742.093L7.59 7.757A1 1 0 0 1 8.561 7h14.877a1 1 0 0 1 .97.757Z'></path>\"],[\"<path d='M3.5 5.5A.5.5 0 0 1 4 5h3a.5.5 0 0 1 0 1H4a.5.5 0 0 1-.5-.5Zm1-2a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Z'></path><path d='M3.66 2a1.5 1.5 0 0 0-1.38.91L1.04 5.802A.5.5 0 0 0 1 6v4.5a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5V6a.5.5 0 0 0-.04-.197L8.72 2.909A1.5 1.5 0 0 0 7.34 2H3.66Zm5.296 4L7.8 3.303A.5.5 0 0 0 7.34 3H3.66a.5.5 0 0 0-.46.303L2.044 6H3.5a.5.5 0 0 1 .5.5V7h3v-.5a.5.5 0 0 1 .5-.5h1.456ZM8 7.5V7h1v3H2V7h1v.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'></path>\",\"<path d='M4 6.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5ZM5.5 4a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Z'></path><path d='M4.239 2a1.5 1.5 0 0 0-1.434 1.059l-1.739 5.65A1.5 1.5 0 0 0 1 9.15v3.35A1.5 1.5 0 0 0 2.5 14h10a1.5 1.5 0 0 0 1.5-1.5V9.15c0-.15-.022-.298-.066-.44l-1.739-5.651A1.5 1.5 0 0 0 10.761 2H4.24Zm8.433 6.01L11.24 3.353A.5.5 0 0 0 10.761 3H4.24a.5.5 0 0 0-.478.353L2.328 8.01c.056-.007.114-.01.172-.01h2A1.5 1.5 0 0 1 6 9.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5A1.5 1.5 0 0 1 10.5 8h2c.058 0 .116.003.172.01ZM2 9.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5A1.5 1.5 0 0 0 6.5 11h2A1.5 1.5 0 0 0 10 9.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-3Z'></path>\",\"<path d='M6 10a1 1 0 0 1 1-1h10a1 1 0 1 1 0 2H7a1 1 0 0 1-1-1Zm2-4a1 1 0 0 0 0 2h8a1 1 0 1 0 0-2H8Z'></path><path d='M5.811 3a2 2 0 0 0-1.957 1.588l-1.811 8.604a2 2 0 0 0-.043.412V19a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.396c0-.138-.014-.276-.043-.412l-1.811-8.604A2 2 0 0 0 18.189 3H5.81Zm13.851 9L18.19 5H5.81l-1.473 7H6.5A2.5 2.5 0 0 1 9 14.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5 2.5 2.5 0 0 1 2.5-2.5h2.162ZM4 14v5h16v-5h-2.5a.5.5 0 0 0-.5.5 2.5 2.5 0 0 1-2.5 2.5h-5A2.5 2.5 0 0 1 7 14.5a.5.5 0 0 0-.5-.5H4Z'></path>\",\"<path d='M8 14a1 1 0 1 0 0 2h16a1 1 0 1 0 0-2H8Zm0-2a1 1 0 0 1 1-1h14a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1Zm2-4a1 1 0 0 0 0 2h12a1 1 0 1 0 0-2H10Z'></path><path d='M5.651 7.272A3 3 0 0 1 8.561 5h14.877a3 3 0 0 1 2.91 2.272L28.91 17.52a3 3 0 0 1 .09.727V25a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3v-6.754a3 3 0 0 1 .09-.727L5.65 7.272Zm18.758.485 2.333 9.336A3.004 3.004 0 0 0 26 17h-3a3 3 0 0 0-3 3 1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1 3 3 0 0 0-3-3H6c-.256 0-.505.032-.742.093L7.59 7.757A1 1 0 0 1 8.561 7h14.877a1 1 0 0 1 .97.757ZM6 19a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1h-3a1 1 0 0 0-1 1 3 3 0 0 1-3 3h-6a3 3 0 0 1-3-3 1 1 0 0 0-1-1H6Z'></path>\"]];","export default [[\"<path d='M2.318 9.682a4.5 4.5 0 1 1 6.364 0 .5.5 0 1 0 .707.707 5.5 5.5 0 1 0-7.778 0 .5.5 0 0 0 .707-.707Z'></path><path d='M7.854 5.854a.5.5 0 1 0-.708-.708L4.5 7.793l-.646-.647a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0l3-3Z'></path>\",\"<path d='M3.61 12.39a5.5 5.5 0 1 1 7.779 0 .5.5 0 0 0 .707.706 6.5 6.5 0 1 0-9.192 0 .5.5 0 1 0 .707-.707Z'></path><path d='M10.854 6.854a.5.5 0 0 0-.707-.708L6.5 9.793 4.854 8.146a.5.5 0 1 0-.708.708l2 2a.5.5 0 0 0 .708 0l4-4Z'></path>\",\"<path d='M5.636 6.638a9 9 0 0 1 12.728 12.728 1 1 0 1 0 1.414 1.414c4.296-4.296 4.296-11.26 0-15.556-4.296-4.296-11.26-4.296-15.556 0-4.296 4.296-4.296 11.26 0 15.556a1 1 0 1 0 1.414-1.414 9 9 0 0 1 0-12.728Z'></path><path d='M16.707 11.707a1 1 0 0 0-1.414-1.414L10 15.586l-2.293-2.293a1 1 0 0 0-1.414 1.415l3 3a1 1 0 0 0 1.414 0l6-6Z'></path>\",\"<path d='M7.515 9.517c4.686-4.687 12.284-4.687 16.97 0 4.687 4.686 4.687 12.284 0 16.97a1 1 0 0 0 1.415 1.414c5.467-5.467 5.467-14.331 0-19.799-5.468-5.467-14.332-5.467-19.8 0-5.467 5.468-5.467 14.332 0 19.8a1 1 0 1 0 1.415-1.415c-4.687-4.686-4.687-12.284 0-16.97Z'></path><path d='M22.707 14.707a1 1 0 0 0-1.414-1.414L13 21.586l-3.293-3.293a1 1 0 0 0-1.414 1.414l4 4a1 1 0 0 0 1.414 0l9-9Z'></path>\"]];","export default [[\"<path d='M5.5 1a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-1 0V2H4v4.5a.5.5 0 0 1-1 0v-5a.5.5 0 0 1 .5-.5h2Z'></path><path d='M12 3.5A1.5 1.5 0 0 0 10.5 2h-3a.5.5 0 0 0 0 1h3a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-7a.5.5 0 0 1 .5-.5.5.5 0 0 0 0-1A1.5 1.5 0 0 0 0 3.5v7A1.5 1.5 0 0 0 1.5 12h9a1.5 1.5 0 0 0 1.5-1.5v-7Z'></path><path d='M4.5 7a.5.5 0 0 0-.5.5v.793l-.146-.147a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0l1-1a.5.5 0 1 0-.708-.708L5 8.293V7.5a.5.5 0 0 0-.5-.5ZM10 4.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-5Z'></path>\",\"<path d='M10 1a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v7.5a.5.5 0 0 0 1 0V1h3v7.5a.5.5 0 0 0 1 0V1Z'></path><path d='M14.5 2A1.5 1.5 0 0 1 16 3.5v10a1.5 1.5 0 0 1-1.5 1.5h-12A1.5 1.5 0 0 1 1 13.5v-10A1.5 1.5 0 0 1 2.5 2h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 0-.5.5v10a.5.5 0 0 0 .5.5h12a.5.5 0 0 0 .5-.5v-10a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 1 0-1h3Z'></path><path d='M7 9a.5.5 0 0 1 1 0v2.293l.146-.147a.5.5 0 0 1 .708.708l-1 1a.5.5 0 0 1-.708 0l-1-1a.5.5 0 0 1 .708-.708l.146.147V9Zm7-4.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-8Z'></path>\",\"<path d='M14 3.5A2.5 2.5 0 0 0 11.5 1h-3A2.5 2.5 0 0 0 6 3.5V12a1 1 0 1 0 2 0V3.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5V12a1 1 0 1 0 2 0V3.5Z'></path><path d='M20 3a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3 1 1 0 0 1 0 2 1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-3a1 1 0 1 1 0-2h3Z'></path><path d='M9 12a1 1 0 1 1 2 0v3.586l.293-.293a1 1 0 0 1 1.414 1.414l-2 2a1 1 0 0 1-1.414 0l-2-2a1 1 0 1 1 1.414-1.414l.293.293V12Zm10-5a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h2Z'></path>\",\"<path d='M13 1a3 3 0 0 1 3 3v14a1 1 0 1 1-2 0V4a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v14a1 1 0 1 1-2 0V4a3 3 0 0 1 3-3h2Z'></path><path d='M30 7a3 3 0 0 0-3-3h-8a1 1 0 1 0 0 2h8a1 1 0 0 1 1 1v20a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1 1 1 0 0 0 0-2 3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3V7Z'></path><path d='M12 18a1 1 0 0 0-1 1v3.586l-1.293-1.293a1 1 0 0 0-1.414 1.414l3 3a1 1 0 0 0 1.414 0l3-3a1 1 0 0 0-1.414-1.414L13 22.586V19a1 1 0 0 0-1-1ZM23 8a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3h-2a3 3 0 0 1-3-3V11a3 3 0 0 1 3-3h2Z'></path>\"],[\"<path d='M5.5 1a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-1 0V2H4v4.5a.5.5 0 0 1-1 0v-5a.5.5 0 0 1 .5-.5h2Z'></path><path d='M12 3.5A1.5 1.5 0 0 0 10.5 2h-3a.5.5 0 0 0 0 1h3a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-7a.5.5 0 0 1 .5-.5.5.5 0 0 0 0-1A1.5 1.5 0 0 0 0 3.5v7A1.5 1.5 0 0 0 1.5 12h9a1.5 1.5 0 0 0 1.5-1.5v-7Z'></path><path d='M4.5 7a.5.5 0 0 0-.5.5v.793l-.146-.147a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0l1-1a.5.5 0 1 0-.708-.708L5 8.293V7.5a.5.5 0 0 0-.5-.5ZM10 4.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-5Z'></path>\",\"<path d='M10 1a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v7.5a.5.5 0 0 0 1 0V1h3v7.5a.5.5 0 0 0 1 0V1Z'></path><path d='M14.5 2A1.5 1.5 0 0 1 16 3.5v10a1.5 1.5 0 0 1-1.5 1.5h-12A1.5 1.5 0 0 1 1 13.5v-10A1.5 1.5 0 0 1 2.5 2h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 0-.5.5v10a.5.5 0 0 0 .5.5h12a.5.5 0 0 0 .5-.5v-10a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 1 0-1h3Z'></path><path d='M7 9a.5.5 0 0 1 1 0v2.293l.146-.147a.5.5 0 0 1 .708.708l-1 1a.5.5 0 0 1-.708 0l-1-1a.5.5 0 0 1 .708-.708l.146.147V9Zm7-4.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-8Z'></path>\",\"<path d='M11.5 1A2.5 2.5 0 0 1 14 3.5V12a1 1 0 1 1-2 0V3.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5V12a1 1 0 1 1-2 0V3.5A2.5 2.5 0 0 1 8.5 1h3Z'></path><path d='M20 3a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3 1 1 0 0 1 0 2 1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-3a1 1 0 1 1 0-2h3Z'></path><path d='M9 12a1 1 0 1 1 2 0v3.586l.293-.293a1 1 0 0 1 1.414 1.414l-2 2a1 1 0 0 1-1.414 0l-2-2a1 1 0 1 1 1.414-1.414l.293.293V12Zm11-4a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V8Z'></path>\",\"<path d='M16 4a3 3 0 0 0-3-3h-2a3 3 0 0 0-3 3v14a1 1 0 1 0 2 0V4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v14a1 1 0 1 0 2 0V4Z'></path><path d='M30 7a3 3 0 0 0-3-3h-8a1 1 0 1 0 0 2h8a1 1 0 0 1 1 1v20a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1 1 1 0 0 0 0-2 3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3V7Z'></path><path d='M12 18a1 1 0 0 0-1 1v3.586l-1.293-1.293a1 1 0 0 0-1.414 1.414l3 3a1 1 0 0 0 1.414 0l3-3a1 1 0 0 0-1.414-1.414L13 22.586V19a1 1 0 0 0-1-1Zm14-7a3 3 0 0 0-3-3h-2a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h2a3 3 0 0 0 3-3V11Z'></path>\"]];","export default [[\"<path d='M6.5 1a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 1 0V2h1v4.5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-.5-.5h-2Z'></path><path d='M0 3.5A1.5 1.5 0 0 1 1.5 2h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5.5.5 0 0 1 0-1A1.5 1.5 0 0 1 12 3.5v7a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 0 10.5v-7Z'></path><path d='M7.5 7a.5.5 0 0 1 .5.5v.793l.146-.147a.5.5 0 1 1 .708.708l-1 1a.5.5 0 0 1-.708 0l-1-1a.5.5 0 1 1 .708-.708L7 8.293V7.5a.5.5 0 0 1 .5-.5ZM2 4.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-5Z'></path>\",\"<path d='M7 1a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v7.5a.5.5 0 0 1-1 0V1H8v7.5a.5.5 0 0 1-1 0V1Z'></path><path d='M2.5 2A1.5 1.5 0 0 0 1 3.5v10A1.5 1.5 0 0 0 2.5 15h12a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 14.5 2h-1a.5.5 0 0 0 0 1h1a.5.5 0 0 1 .5.5v10a.5.5 0 0 1-.5.5h-12a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h3a.5.5 0 0 0 0-1h-3Z'></path><path d='M10 9a.5.5 0 0 0-1 0v2.293l-.146-.147a.5.5 0 0 0-.708.708l1 1a.5.5 0 0 0 .708 0l1-1a.5.5 0 0 0-.708-.708l-.146.147V9ZM3 4.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-8Z'></path>\",\"<path d='M10 3a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v9a1 1 0 1 1-2 0V3h-4v9a1 1 0 1 1-2 0V3Z'></path><path d='M4 3a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3 1 1 0 1 0 0 2 1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h3a1 1 0 0 0 0-2H4Z'></path><path d='M15 12a1 1 0 1 0-2 0v3.586l-.293-.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l2-2a1 1 0 0 0-1.414-1.414l-.293.293V12ZM5 7a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H5Z'></path>\",\"<path d='M19 1a3 3 0 0 0-3 3v14a1 1 0 1 0 2 0V4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v14a1 1 0 1 0 2 0V4a3 3 0 0 0-3-3h-2Z'></path><path d='M2 7a3 3 0 0 1 3-3h8a1 1 0 1 1 0 2H5a1 1 0 0 0-1 1v20a1 1 0 0 0 1 1h22a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1 1 1 0 1 1 0-2 3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V7Z'></path><path d='M20 18a1 1 0 0 1 1 1v3.586l1.293-1.293a1 1 0 0 1 1.414 1.414l-3 3a1 1 0 0 1-1.414 0l-3-3a1 1 0 0 1 1.414-1.414L19 22.586V19a1 1 0 0 1 1-1ZM9 8a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h2a3 3 0 0 0 3-3V11a3 3 0 0 0-3-3H9Z'></path>\"],[\"<path d='M6.5 1a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 1 0V2h1v4.5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-.5-.5h-2Z'></path><path d='M0 3.5A1.5 1.5 0 0 1 1.5 2h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5.5.5 0 0 1 0-1A1.5 1.5 0 0 1 12 3.5v7a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 0 10.5v-7Z'></path><path d='M7.5 7a.5.5 0 0 1 .5.5v.793l.146-.147a.5.5 0 1 1 .708.708l-1 1a.5.5 0 0 1-.708 0l-1-1a.5.5 0 1 1 .708-.708L7 8.293V7.5a.5.5 0 0 1 .5-.5ZM2 4.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-5Z'></path>\",\"<path d='M7 1a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v7.5a.5.5 0 0 1-1 0V1H8v7.5a.5.5 0 0 1-1 0V1Z'></path><path d='M2.5 2A1.5 1.5 0 0 0 1 3.5v10A1.5 1.5 0 0 0 2.5 15h12a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 14.5 2h-1a.5.5 0 0 0 0 1h1a.5.5 0 0 1 .5.5v10a.5.5 0 0 1-.5.5h-12a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h3a.5.5 0 0 0 0-1h-3Z'></path><path d='M10 9a.5.5 0 0 0-1 0v2.293l-.146-.147a.5.5 0 0 0-.708.708l1 1a.5.5 0 0 0 .708 0l1-1a.5.5 0 0 0-.708-.708l-.146.147V9ZM3 4.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-8Z'></path>\",\"<path d='M12 1a2 2 0 0 0-2 2v9a1 1 0 1 0 2 0V3h4v9a1 1 0 1 0 2 0V3a2 2 0 0 0-2-2h-4Z'></path><path d='M4 3a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3 1 1 0 1 0 0 2 1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h3a1 1 0 0 0 0-2H4Z'></path><path d='M15 12a1 1 0 1 0-2 0v3.586l-.293-.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l2-2a1 1 0 0 0-1.414-1.414l-.293.293V12ZM4 8a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V8Z'></path>\",\"<path d='M16 4a3 3 0 0 1 3-3h2a3 3 0 0 1 3 3v14a1 1 0 1 1-2 0V4a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v14a1 1 0 1 1-2 0V4Z'></path><path d='M2 7a3 3 0 0 1 3-3h8a1 1 0 1 1 0 2H5a1 1 0 0 0-1 1v20a1 1 0 0 0 1 1h22a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1 1 1 0 1 1 0-2 3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V7Z'></path><path d='M20 18a1 1 0 0 1 1 1v3.586l1.293-1.293a1 1 0 0 1 1.414 1.414l-3 3a1 1 0 0 1-1.414 0l-3-3a1 1 0 0 1 1.414-1.414L19 22.586V19a1 1 0 0 1 1-1ZM6 11a3 3 0 0 1 3-3h2a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H9a3 3 0 0 1-3-3V11Z'></path>\"]];","export default [[\"<path d='M2.5 0A1.5 1.5 0 0 0 1 1.5v3a.5.5 0 0 0 1 0v-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5.5.5 0 1 0-1 0A1.5 1.5 0 0 0 2.5 12h7a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 9.5 0h-7Z'></path><path d='M6 7.5a.5.5 0 0 1 .5-.5h.793l-.147-.146a.5.5 0 1 1 .708-.708l1 1a.5.5 0 0 1 0 .708l-1 1a.5.5 0 1 1-.708-.708L7.293 8H6.5a.5.5 0 0 1-.5-.5Z'></path><path d='M0 8.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 0-1H1V7h4.5a.5.5 0 0 0 0-1h-5a.5.5 0 0 0-.5.5v2ZM3.5 5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5Z'></path>\",\"<path d='M2 1.5A1.5 1.5 0 0 1 3.5 0h10A1.5 1.5 0 0 1 15 1.5v12a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 2 13.5v-1a.5.5 0 0 1 1 0v1a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5v-12a.5.5 0 0 0-.5-.5h-10a.5.5 0 0 0-.5.5v3a.5.5 0 0 1-1 0v-3Z'></path><path d='M4.5 5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-8ZM9 8a.5.5 0 0 0 0 1h2.293l-.147.146a.5.5 0 0 0 .708.708l1-1a.5.5 0 0 0 0-.708l-1-1a.5.5 0 0 0-.708.708l.147.146H9Z'></path><path d='M1 11a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h7.5a.5.5 0 0 1 0 1H1v3h7.5a.5.5 0 0 1 0 1H1Z'></path>\",\"<path d='M3 4a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v16a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3 1 1 0 1 1 2 0 1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v3a1 1 0 0 1-2 0V4Z'></path><path d='M7 7a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v2Zm5 6a1 1 0 1 0 0 2h3.586l-.293.293a1 1 0 0 0 1.414 1.414l2-2a1 1 0 0 0 0-1.414l-2-2a1 1 0 0 0-1.414 1.414l.293.293H12Z'></path><path d='M3.5 18A2.5 2.5 0 0 1 1 15.5v-3A2.5 2.5 0 0 1 3.5 10H12a1 1 0 1 1 0 2H3.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5H12a1 1 0 1 1 0 2H3.5Z'></path>\",\"<path d='M7 2a3 3 0 0 0-3 3v8a1 1 0 1 0 2 0V5a1 1 0 0 1 1-1h20a1 1 0 0 1 1 1v22a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1 1 1 0 0 0-2 0 3 3 0 0 0 3 3h20a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H7Z'></path><path d='M8 9a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v1a3 3 0 0 1-3 3H11a3 3 0 0 1-3-3V9Zm-4 7a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h14a1 1 0 1 0 0-2H4a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1h14a1 1 0 1 0 0-2H4Z'></path><path d='M18 20a1 1 0 0 1 1-1h3.586l-1.293-1.293a1 1 0 0 1 1.414-1.414l3 3a1 1 0 0 1 0 1.414l-3 3a1 1 0 0 1-1.414-1.414L22.586 21H19a1 1 0 0 1-1-1Z'></path>\"],[\"<path d='M2.5 0A1.5 1.5 0 0 0 1 1.5v3a.5.5 0 0 0 1 0v-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5.5.5 0 1 0-1 0A1.5 1.5 0 0 0 2.5 12h7a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 9.5 0h-7Z'></path><path d='M6 7.5a.5.5 0 0 1 .5-.5h.793l-.147-.146a.5.5 0 1 1 .708-.708l1 1a.5.5 0 0 1 0 .708l-1 1a.5.5 0 1 1-.708-.708L7.293 8H6.5a.5.5 0 0 1-.5-.5Z'></path><path d='M0 8.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 0-1H1V7h4.5a.5.5 0 0 0 0-1h-5a.5.5 0 0 0-.5.5v2ZM3.5 5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5Z'></path>\",\"<path d='M2 1.5A1.5 1.5 0 0 1 3.5 0h10A1.5 1.5 0 0 1 15 1.5v12a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 2 13.5v-1a.5.5 0 0 1 1 0v1a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5v-12a.5.5 0 0 0-.5-.5h-10a.5.5 0 0 0-.5.5v3a.5.5 0 0 1-1 0v-3Z'></path><path d='M4.5 5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-8ZM9 8a.5.5 0 0 0 0 1h2.293l-.147.146a.5.5 0 0 0 .708.708l1-1a.5.5 0 0 0 0-.708l-1-1a.5.5 0 0 0-.708.708l.147.146H9Z'></path><path d='M1 11a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h7.5a.5.5 0 0 1 0 1H1v3h7.5a.5.5 0 0 1 0 1H1Z'></path>\",\"<path d='M3 4a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v16a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3 1 1 0 1 1 2 0 1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v3a1 1 0 0 1-2 0V4Z'></path><path d='M7 7a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v2Zm5 6a1 1 0 1 0 0 2h3.586l-.293.293a1 1 0 0 0 1.414 1.414l2-2a1 1 0 0 0 0-1.414l-2-2a1 1 0 0 0-1.414 1.414l.293.293H12Z'></path><path d='M3.5 18A2.5 2.5 0 0 1 1 15.5v-3A2.5 2.5 0 0 1 3.5 10H12a1 1 0 1 1 0 2H3.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5H12a1 1 0 1 1 0 2H3.5Z'></path>\",\"<path d='M4 5a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v22a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3 1 1 0 1 1 2 0 1 1 0 0 0 1 1h20a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v8a1 1 0 1 1-2 0V5Z'></path><path d='M11 6a3 3 0 0 0-3 3v1a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V9a3 3 0 0 0-3-3H11Zm8 13a1 1 0 1 0 0 2h3.586l-1.293 1.293a1 1 0 0 0 1.414 1.414l3-3a1 1 0 0 0 0-1.414l-3-3a1 1 0 0 0-1.414 1.414L22.586 19H19Z'></path><path d='M1 21a3 3 0 0 0 3 3h14a1 1 0 1 0 0-2H4a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1h14a1 1 0 1 0 0-2H4a3 3 0 0 0-3 3v2Z'></path>\"]];","export default [[\"<path d='M2.5 12A1.5 1.5 0 0 1 1 10.5v-3a.5.5 0 0 1 1 0v3a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5.5.5 0 0 1-1 0A1.5 1.5 0 0 1 2.5 0h7A1.5 1.5 0 0 1 11 1.5v9A1.5 1.5 0 0 1 9.5 12h-7Z'></path><path d='M6 4.5a.5.5 0 0 1 .5-.5h.793l-.147-.146a.5.5 0 1 1 .708-.708l1 1a.5.5 0 0 1 0 .708l-1 1a.5.5 0 1 1-.708-.708L7.293 5H6.5a.5.5 0 0 1-.5-.5Z'></path><path d='M0 5.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 0-1H1V4h4.5a.5.5 0 0 0 0-1h-5a.5.5 0 0 0-.5.5v2ZM3.5 10a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5Z'></path>\",\"<path d='M2 13.5A1.5 1.5 0 0 0 3.5 15h10a1.5 1.5 0 0 0 1.5-1.5v-12A1.5 1.5 0 0 0 13.5 0h-10A1.5 1.5 0 0 0 2 1.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 0-1 0v3Z'></path><path d='M9 6a.5.5 0 0 0 0 1h2.293l-.147.146a.5.5 0 0 0 .708.708l1-1a.5.5 0 0 0 0-.708l-1-1a.5.5 0 0 0-.708.708l.147.146H9Z'></path><path d='M1 9a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7.5a.5.5 0 0 1 0 1H1v3h7.5a.5.5 0 0 1 0 1H1Zm3.5 4a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-8Z'></path>\",\"<path d='M3 20a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3H6a3 3 0 0 0-3 3 1 1 0 1 0 2 0 1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-3a1 1 0 1 0-2 0v3Z'></path><path d='M11 10a1 1 0 0 1 1-1h3.586l-.293-.293a1 1 0 0 1 1.414-1.414l2 2a1 1 0 0 1 0 1.414l-2 2a1 1 0 0 1-1.414-1.414l.293-.293H12a1 1 0 0 1-1-1Zm-4 9a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v2Z'></path><path d='M3.5 14A2.5 2.5 0 0 1 1 11.5v-3A2.5 2.5 0 0 1 3.5 6H12a1 1 0 1 1 0 2H3.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5H12a1 1 0 1 1 0 2H3.5Z'></path>\",\"<path d='M7 30a3 3 0 0 1-3-3v-8a1 1 0 1 1 2 0v8a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H7a1 1 0 0 0-1 .999A1 1 0 0 1 4 5a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v22a3 3 0 0 1-3 3H7Z'></path><path d='M18 12a1 1 0 0 1 1-1h3.586l-1.293-1.293a1 1 0 0 1 1.414-1.414l3 3a1 1 0 0 1 0 1.414l-3 3a1 1 0 0 1-1.414-1.414L22.586 13H19a1 1 0 0 1-1-1Z'></path><path d='M4 16a3 3 0 0 1-3-3v-2a3 3 0 0 1 3-3h14a1 1 0 1 1 0 2H4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h14a1 1 0 1 1 0 2H4Zm7 10a3 3 0 0 1-3-3v-2a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v2a3 3 0 0 1-3 3H11Z'></path>\"],[\"<path d='M2.5 12A1.5 1.5 0 0 1 1 10.5v-3a.5.5 0 0 1 1 0v3a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5.5.5 0 0 1-1 0A1.5 1.5 0 0 1 2.5 0h7A1.5 1.5 0 0 1 11 1.5v9A1.5 1.5 0 0 1 9.5 12h-7Z'></path><path d='M6 4.5a.5.5 0 0 1 .5-.5h.793l-.147-.146a.5.5 0 1 1 .708-.708l1 1a.5.5 0 0 1 0 .708l-1 1a.5.5 0 1 1-.708-.708L7.293 5H6.5a.5.5 0 0 1-.5-.5Z'></path><path d='M0 5.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 0-1H1V4h4.5a.5.5 0 0 0 0-1h-5a.5.5 0 0 0-.5.5v2ZM3.5 10a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5Z'></path>\",\"<path d='M2 13.5A1.5 1.5 0 0 0 3.5 15h10a1.5 1.5 0 0 0 1.5-1.5v-12A1.5 1.5 0 0 0 13.5 0h-10A1.5 1.5 0 0 0 2 1.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 0-1 0v3Z'></path><path d='M9 6a.5.5 0 0 0 0 1h2.293l-.147.146a.5.5 0 0 0 .708.708l1-1a.5.5 0 0 0 0-.708l-1-1a.5.5 0 0 0-.708.708l.147.146H9Z'></path><path d='M1 9a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7.5a.5.5 0 0 1 0 1H1v3h7.5a.5.5 0 0 1 0 1H1Zm3.5 4a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-8Z'></path>\",\"<path d='M3 20a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3H6a3 3 0 0 0-3 3 1 1 0 1 0 2 0 1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-3a1 1 0 1 0-2 0v3Z'></path><path d='M11 10a1 1 0 0 1 1-1h3.586l-.293-.293a1 1 0 0 1 1.414-1.414l2 2a1 1 0 0 1 0 1.414l-2 2a1 1 0 0 1-1.414-1.414l.293-.293H12a1 1 0 0 1-1-1Zm-4 9a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v2Z'></path><path d='M3.5 14A2.5 2.5 0 0 1 1 11.5v-3A2.5 2.5 0 0 1 3.5 6H12a1 1 0 1 1 0 2H3.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5H12a1 1 0 1 1 0 2H3.5Z'></path>\",\"<path d='M7 30a3 3 0 0 1-3-3v-8a1 1 0 1 1 2 0v8a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1H4a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v22a3 3 0 0 1-3 3H7Z'></path><path d='M18 12a1 1 0 0 1 1-1h3.586l-1.293-1.293a1 1 0 0 1 1.414-1.414l3 3a1 1 0 0 1 0 1.414l-3 3a1 1 0 0 1-1.414-1.414L22.586 13H19a1 1 0 0 1-1-1Z'></path><path d='M4 16a3 3 0 0 1-3-3v-2a3 3 0 0 1 3-3h14a1 1 0 1 1 0 2H4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h14a1 1 0 1 1 0 2H4Zm5 7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2a2 2 0 0 0-2-2H11a2 2 0 0 0-2 2v2Z'></path><path d='M11 26a3 3 0 0 1-3-3v-2a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v2a3 3 0 0 1-3 3H11Zm-1-3a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v2ZM5 4a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z'></path>\"]];","export default [[\"<path d='M6 2.92a3.08 3.08 0 1 0 0 6.16 3.08 3.08 0 0 0 0-6.16ZM6 8a2 2 0 1 1 0-4 2 2 0 0 1 0 4Zm3.203-4.483a.72.72 0 1 0 0-1.44.72.72 0 0 0 0 1.44Z'></path><path d='M6 0C4.37 0 4.166.007 3.526.036c-.639.03-1.075.13-1.456.279a2.939 2.939 0 0 0-1.063.692A2.937 2.937 0 0 0 .315 2.07c-.148.381-.25.818-.279 1.456C.006 4.166 0 4.371 0 6c0 1.63.007 1.834.036 2.474.03.638.13 1.075.279 1.456.153.395.358.73.692 1.063a2.94 2.94 0 0 0 1.063.692c.381.148.817.25 1.456.279.64.03.845.036 2.474.036 1.63 0 1.834-.007 2.474-.036.639-.03 1.075-.13 1.456-.279a2.94 2.94 0 0 0 1.063-.692c.334-.334.539-.668.692-1.063.148-.381.25-.818.279-1.456.03-.64.036-.845.036-2.474 0-1.63-.007-1.834-.036-2.474-.03-.638-.13-1.075-.279-1.456a2.937 2.937 0 0 0-.692-1.063A2.94 2.94 0 0 0 9.93.315C9.55.167 9.113.065 8.474.036 7.834.006 7.629 0 6 0Zm0 1.08c1.602 0 1.792.007 2.424.036.585.027.903.125 1.115.207.28.108.48.239.69.448.21.21.34.41.448.69.082.212.18.53.207 1.115.029.632.035.822.035 2.424 0 1.602-.006 1.792-.035 2.424-.027.585-.125.903-.207 1.115a1.85 1.85 0 0 1-.449.69c-.21.21-.41.34-.69.448-.21.082-.529.18-1.114.207-.632.029-.822.035-2.424.035-1.602 0-1.792-.006-2.424-.035-.585-.027-.903-.125-1.115-.207a1.86 1.86 0 0 1-.69-.448c-.21-.21-.34-.41-.448-.69-.082-.212-.18-.53-.207-1.115-.029-.632-.035-.822-.035-2.424 0-1.602.006-1.792.035-2.424.027-.585.125-.903.207-1.115.108-.28.239-.48.449-.69.21-.21.41-.34.69-.448.21-.082.529-.18 1.114-.207.632-.029.822-.035 2.424-.035Z'></path>\",\"<path d='M8 4.406a3.594 3.594 0 1 0-.001 7.188A3.594 3.594 0 0 0 8 4.406Zm0 5.927a2.334 2.334 0 1 1 0-4.667 2.334 2.334 0 0 1 0 4.667Zm3.737-5.23a.84.84 0 1 0 0-1.68.84.84 0 0 0 0 1.68Z'></path><path d='M8 1c-1.901 0-2.14.008-2.886.042-.745.034-1.254.152-1.7.325-.46.18-.85.419-1.239.808-.39.389-.628.78-.807 1.24-.174.445-.292.954-.326 1.699C1.008 5.861 1 6.099 1 8c0 1.901.008 2.14.042 2.886.034.745.152 1.254.325 1.699.18.46.419.851.808 1.24.389.39.78.629 1.24.808.445.173.954.291 1.699.325.747.034.985.042 2.886.042 1.901 0 2.14-.008 2.886-.042s1.254-.152 1.7-.325c.46-.18.85-.418 1.239-.808.39-.389.629-.78.808-1.24.173-.445.291-.954.325-1.699C14.992 10.14 15 9.901 15 8c0-1.901-.008-2.14-.042-2.886-.034-.745-.152-1.254-.325-1.699a3.426 3.426 0 0 0-.808-1.24 3.429 3.429 0 0 0-1.24-.807c-.445-.174-.954-.292-1.699-.326C10.14 1.008 9.901 1 8 1Zm0 1.261c1.869 0 2.09.007 2.829.041.682.031 1.053.145 1.3.241.326.127.56.279.804.523.245.246.397.479.524.806.095.246.21.617.241 1.3.034.738.041.959.041 2.828 0 1.869-.008 2.09-.041 2.829-.031.682-.146 1.053-.241 1.3a2.184 2.184 0 0 1-.524.805 2.171 2.171 0 0 1-.804.523c-.247.095-.618.21-1.3.241-.739.034-.96.041-2.829.041-1.869 0-2.09-.008-2.829-.041-.682-.032-1.053-.146-1.3-.241a2.171 2.171 0 0 1-.804-.524 2.176 2.176 0 0 1-.524-.804c-.096-.247-.21-.618-.241-1.3-.034-.739-.041-.96-.041-2.829 0-1.869.007-2.09.041-2.829.031-.682.145-1.053.241-1.3.127-.326.279-.559.524-.804.244-.245.478-.397.804-.524.247-.096.618-.21 1.3-.241.739-.034.96-.041 2.829-.041Z'></path>\",\"<path d='M12 6.352a5.648 5.648 0 1 0 0 11.296 5.648 5.648 0 1 0 0-11.296Zm0 9.314a3.667 3.667 0 1 1 0-7.333 3.667 3.667 0 0 1 0 7.333Zm5.872-8.218a1.32 1.32 0 1 0 0-2.64 1.32 1.32 0 0 0 0 2.64Z'></path><path d='M12 1c-2.987 0-3.362.013-4.535.066-1.172.053-1.97.24-2.67.511a5.388 5.388 0 0 0-1.949 1.27 5.384 5.384 0 0 0-1.269 1.948c-.271.7-.458 1.5-.511 2.67C1.013 8.638 1 9.013 1 12s.013 3.362.066 4.535c.053 1.17.24 1.97.511 2.67a5.385 5.385 0 0 0 1.27 1.949 5.389 5.389 0 0 0 1.947 1.268c.7.272 1.5.459 2.67.512C8.639 22.987 9.014 23 12 23c2.987 0 3.362-.013 4.535-.066 1.172-.053 1.97-.24 2.67-.512a5.39 5.39 0 0 0 1.949-1.268 5.386 5.386 0 0 0 1.268-1.949c.272-.7.459-1.5.512-2.67.053-1.173.066-1.548.066-4.535s-.013-3.362-.066-4.535c-.053-1.17-.24-1.97-.512-2.67a5.385 5.385 0 0 0-1.268-1.949 5.388 5.388 0 0 0-1.948-1.269c-.7-.271-1.5-.458-2.67-.511C15.361 1.013 14.986 1 12 1Zm0 1.982c2.937 0 3.285.011 4.445.064 1.072.05 1.655.229 2.043.379.513.2.88.438 1.264.822.385.386.624.752.823 1.265.15.388.33.97.379 2.043.053 1.16.064 1.508.064 4.445 0 2.937-.011 3.285-.064 4.445-.049 1.072-.229 1.655-.379 2.043-.2.513-.438.879-.823 1.265a3.412 3.412 0 0 1-1.264.822c-.388.15-.97.33-2.043.379-1.16.053-1.508.064-4.445.064-2.937 0-3.285-.011-4.445-.064-1.072-.05-1.655-.229-2.043-.379-.513-.2-.88-.438-1.264-.822a3.419 3.419 0 0 1-.823-1.265c-.15-.388-.33-.97-.379-2.043-.053-1.16-.064-1.508-.064-4.445 0-2.937.011-3.285.064-4.445.049-1.072.229-1.655.379-2.043.2-.513.438-.879.823-1.265a3.412 3.412 0 0 1 1.264-.822c.388-.15.97-.33 2.043-.379 1.16-.053 1.508-.064 4.445-.064Z'></path>\",\"<path d='M16 8.812a7.188 7.188 0 1 0 0 14.377 7.188 7.188 0 1 0 0-14.377Zm0 11.854a4.667 4.667 0 1 1 0-9.334 4.667 4.667 0 0 1 0 9.334Zm7.473-10.459a1.68 1.68 0 1 0 0-3.36 1.68 1.68 0 0 0 0 3.36Z'></path><path d='M16 2c-3.802 0-4.279.016-5.772.084-1.491.068-2.508.305-3.399.651A6.857 6.857 0 0 0 4.35 4.35a6.852 6.852 0 0 0-1.615 2.48c-.346.89-.583 1.908-.651 3.398C2.016 11.721 2 12.198 2 16c0 3.802.016 4.279.084 5.772.068 1.49.305 2.508.651 3.398a6.852 6.852 0 0 0 1.615 2.48 6.857 6.857 0 0 0 2.479 1.615c.891.346 1.908.583 3.399.651 1.493.068 1.97.084 5.772.084 3.802 0 4.279-.016 5.772-.084 1.491-.068 2.508-.305 3.399-.651a6.857 6.857 0 0 0 2.479-1.615 6.852 6.852 0 0 0 1.615-2.48c.346-.89.583-1.908.651-3.398.068-1.493.084-1.97.084-5.772 0-3.802-.016-4.279-.084-5.772-.068-1.49-.305-2.508-.651-3.398a6.852 6.852 0 0 0-1.615-2.48 6.857 6.857 0 0 0-2.479-1.615c-.891-.346-1.908-.583-3.399-.651C20.279 2.016 19.802 2 16 2Zm0 2.522c3.738 0 4.181.015 5.657.082 1.365.063 2.107.291 2.6.482.653.254 1.12.558 1.609 1.047.49.491.794.957 1.048 1.61.191.493.42 1.235.482 2.6.067 1.476.082 1.919.082 5.657s-.015 4.181-.082 5.657c-.062 1.365-.291 2.107-.482 2.6a4.352 4.352 0 0 1-1.048 1.61 4.342 4.342 0 0 1-1.609 1.047c-.493.191-1.235.419-2.6.482-1.476.067-1.919.082-5.657.082s-4.181-.015-5.657-.082c-1.365-.063-2.107-.291-2.6-.482a4.342 4.342 0 0 1-1.609-1.047 4.352 4.352 0 0 1-1.048-1.61c-.191-.493-.42-1.235-.482-2.6-.067-1.476-.082-1.919-.082-5.657s.015-4.181.082-5.657c.062-1.365.291-2.107.482-2.6a4.352 4.352 0 0 1 1.048-1.61 4.342 4.342 0 0 1 1.609-1.047c.493-.191 1.235-.419 2.6-.482 1.476-.067 1.919-.082 5.657-.082Z'></path>\"]];","export default [[\"M.75 2h-.5a.25.25 0 0 0-.25.25v6.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 1 8.75v-6.5A.25.25 0 0 0 .75 2Zm1.5 0a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h2.5a.25.25 0 0 1 .25.25v1.5a.25.25 0 0 1-.25.25H3.104a.25.25 0 0 0-.177.073l-.854.854A.25.25 0 0 0 2 6.104V8.75c0 .138.112.25.25.25h3.5A.25.25 0 0 0 6 8.75v-.5A.25.25 0 0 0 5.75 8h-2.5A.25.25 0 0 1 3 7.75v-1.5A.25.25 0 0 1 3.25 6h1.646a.25.25 0 0 0 .177-.073l.854-.854A.25.25 0 0 0 6 4.896V3.104a.25.25 0 0 0-.073-.177l-.854-.854A.25.25 0 0 0 4.896 2H2.25Zm7.646 0a.25.25 0 0 1 .177.073l.854.854a.25.25 0 0 1 .073.177v4.792a.25.25 0 0 1-.073.177l-.854.854A.25.25 0 0 1 9.896 9H7.25A.25.25 0 0 1 7 8.75v-.5A.25.25 0 0 1 7.25 8h2.5a.25.25 0 0 0 .25-.25v-1.5A.25.25 0 0 0 9.75 6h-1.5A.25.25 0 0 1 8 5.75v-.5A.25.25 0 0 1 8.25 5h1.5a.25.25 0 0 0 .25-.25v-1.5A.25.25 0 0 0 9.75 3h-2.5A.25.25 0 0 1 7 2.75v-.5A.25.25 0 0 1 7.25 2h2.646Z\",\"M1.75 3h-.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-8.5A.25.25 0 0 0 1.75 3Zm1.5 0a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h3.5a.25.25 0 0 1 .25.25v2.5a.25.25 0 0 1-.25.25H4.117a.25.25 0 0 0-.192.09l-.867 1.04A.25.25 0 0 0 3 8.29v3.46c0 .138.112.25.25.25h4.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-3.5a.25.25 0 0 1-.25-.25v-2.5A.25.25 0 0 1 4.25 8h2.654a.25.25 0 0 0 .167-.064l.846-.762A.25.25 0 0 0 8 6.99V4.104a.25.25 0 0 0-.073-.177l-.854-.854A.25.25 0 0 0 6.896 3H3.25Zm9.646 0a.25.25 0 0 1 .177.073l.854.854a.25.25 0 0 1 .073.177v6.792a.25.25 0 0 1-.073.177l-.854.854a.25.25 0 0 1-.177.073H9.25a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 0 .25-.25v-2.5a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25h2.5a.25.25 0 0 0 .25-.25v-2.5a.25.25 0 0 0-.25-.25h-3.5A.25.25 0 0 1 9 3.75v-.5A.25.25 0 0 1 9.25 3h3.646Z\",\"M3.5 6h-1a.5.5 0 0 0-.5.5v11a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-11a.5.5 0 0 0-.5-.5Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h4a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H7.495a.5.5 0 0 0-.339.133l-.995.919a.5.5 0 0 0-.161.367V17.5a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h2.993a.5.5 0 0 0 .353-.146l1.008-1.008a.5.5 0 0 0 .146-.353V7.419a.5.5 0 0 0-.16-.367l-.996-.92a.5.5 0 0 0-.34-.132H6.5Zm13.993 0a.5.5 0 0 1 .353.146l1.008 1.008a.5.5 0 0 1 .146.353v8.986a.5.5 0 0 1-.146.353l-1.008 1.008a.5.5 0 0 1-.353.146H15.5a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h4a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h4.993Z\",\"M5.5 8h-1a.5.5 0 0 0-.5.5v15a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-15a.5.5 0 0 0-.5-.5Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h6a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5H9.99a.5.5 0 0 0-.332.126l-1.49 1.325a.5.5 0 0 0-.168.373V23.5a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-6a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5h4.793a.5.5 0 0 0 .353-.146l1.208-1.208a.5.5 0 0 0 .146-.353V9.707a.5.5 0 0 0-.146-.353l-1.208-1.208A.5.5 0 0 0 15.293 8H8.5Zm17.418 0a.5.5 0 0 1 .322.118l1.582 1.332a.5.5 0 0 1 .178.383v12.334a.5.5 0 0 1-.178.383l-1.582 1.332a.5.5 0 0 1-.322.118H19.5a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h6a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-6a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h6.418Z\"]];","export default [[\"M1.5 2a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-9ZM10 5H2v3.5A1.5 1.5 0 0 0 3.5 10h5A1.5 1.5 0 0 0 10 8.5V5ZM4 6.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Z\",\"M1.5 2a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-13ZM14 6H2v6.5A1.5 1.5 0 0 0 3.5 14h9a1.5 1.5 0 0 0 1.5-1.5V6ZM5 7.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Z\",\"M2 3a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H2Zm19 6H3v9a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V9ZM8 12a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1Z\",\"M4 6a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h24a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H4Zm23 6H5v12a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3V12Zm-17 3a1 1 0 0 1 1-1h10a1 1 0 1 1 0 2H11a1 1 0 0 1-1-1Z\"],[\"<path d='M4.5 6a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Z'></path><path d='M1 2.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H10v3.5A1.5 1.5 0 0 1 8.5 10h-5A1.5 1.5 0 0 1 2 8.5V5h-.5a.5.5 0 0 1-.5-.5v-2ZM3 5v3.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5V5H3Zm7-1V3H2v1h8Z'></path>\",\"<path d='M5.5 7a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5Z'></path><path d='M1 2.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5H14v6.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 12.5V6h-.5a.5.5 0 0 1-.5-.5v-3ZM3 6v6.5a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5V6H3Zm11-1V3H2v2h12Z'></path>\",\"<path d='M9 11a1 1 0 1 0 0 2h6a1 1 0 1 0 0-2H9Z'></path><path d='M1 4a1 1 0 0 1 1-1h20a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-1v9a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V9H2a1 1 0 0 1-1-1V4Zm4 5v9a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9H5Zm16-2V5H3v2h18Z'></path>\",\"<path d='M11 14a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2H11Z'></path><path d='M3 7a1 1 0 0 1 1-1h24a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-1v12a3 3 0 0 1-3 3H8a3 3 0 0 1-3-3V12H4a1 1 0 0 1-1-1V7Zm4 5v12a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V12H7Zm20-2V8H5v2h22Z'></path>\"]];","export default [[\"<path d='M0 1.5A.5.5 0 0 1 .5 1h9a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-1ZM1 4h7.5a4.481 4.481 0 0 0-2.829 1H3.5a.5.5 0 0 0 0 1h1.258a4.48 4.48 0 0 0-.73 3H2.5A1.5 1.5 0 0 1 1 7.5V4Zm7.5 3a.5.5 0 0 1 .5.5V8h.5a.5.5 0 0 1 0 1H9v.5a.5.5 0 0 1-1 0V9h-.5a.5.5 0 0 1 0-1H8v-.5a.5.5 0 0 1 .5-.5Z'></path><path d='M8.5 5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM6 8.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path>\",\"<path d='M1.5 1a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-13ZM14 5H2v6.5A1.5 1.5 0 0 0 3.5 13h2.707A5.504 5.504 0 0 1 6 11.5c0-1.86.923-3.505 2.337-4.5H5.5a.5.5 0 0 1 0-1h5c.081 0 .158.02.226.054A5.477 5.477 0 0 1 14 6.6V5Zm-2 4.5a.5.5 0 0 0-1 0V11H9.5a.5.5 0 0 0 0 1H11v1.5a.5.5 0 0 0 1 0V12h1.5a.5.5 0 0 0 0-1H12V9.5Z'></path><path d='M11.5 7a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9ZM8 11.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z'></path>\",\"<path d='M2 1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H2Zm19 6H3v9a3 3 0 0 0 3 3h2.223A9.029 9.029 0 0 1 8 17c0-2.305.867-4.408 2.292-6H9a1 1 0 1 1 0-2h3.873A8.95 8.95 0 0 1 17 8a8.96 8.96 0 0 1 4 .936V7Zm-3 7a1 1 0 1 0-2 0v2h-2a1 1 0 1 0 0 2h2v2a1 1 0 1 0 2 0v-2h2a1 1 0 1 0 0-2h-2v-2Z'></path><path d='M17 10a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-5 7a5 5 0 1 1 10 0 5 5 0 0 1-10 0Z'></path>\",\"<path d='M3 2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h24a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H3Zm23 6H4v12a3 3 0 0 0 3 3h4.045a11.002 11.002 0 0 1 6.366-11H10a1 1 0 1 1 0-2h10a1 1 0 0 1 .999 1.045A10.971 10.971 0 0 1 26 11.75V8Zm-3 10a1 1 0 1 0-2 0v3h-3a1 1 0 1 0 0 2h3v3a1 1 0 1 0 2 0v-3h3a1 1 0 1 0 0-2h-3v-3Z'></path><path d='M22 13a9 9 0 1 0 0 18 9 9 0 0 0 0-18Zm-7 9a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z'></path>\"],[\"<path d='M.5 1a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H1v3.5A1.5 1.5 0 0 0 2.5 9h1.527a4.551 4.551 0 0 1 0-1H2.5a.5.5 0 0 1-.5-.5V4h7.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-9ZM9 3H1V2h8v1Z'></path><path d='M5.671 5H3.5a.5.5 0 0 0 0 1h1.258c.253-.378.561-.715.913-1ZM8.5 7a.5.5 0 0 1 .5.5V8h.5a.5.5 0 0 1 0 1H9v.5a.5.5 0 0 1-1 0V9h-.5a.5.5 0 0 1 0-1H8v-.5a.5.5 0 0 1 .5-.5Z'></path><path d='M8.5 5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM6 8.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path>\",\"<path d='M1 1.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5H14v1.6a5.465 5.465 0 0 0-1-.393V5H3v6.5a.5.5 0 0 0 .5.5h2.522a5.5 5.5 0 0 0 .185 1H3.5A1.5 1.5 0 0 1 2 11.5V5h-.5a.5.5 0 0 1-.5-.5v-3ZM14 4V2H2v2h12Z'></path><path d='M10.5 6c.081 0 .158.02.226.054A5.47 5.47 0 0 0 8.336 7H5.5a.5.5 0 0 1 0-1h5ZM12 9.5a.5.5 0 0 0-1 0V11H9.5a.5.5 0 0 0 0 1H11v1.5a.5.5 0 0 0 1 0V12h1.5a.5.5 0 0 0 0-1H12V9.5Z'></path><path d='M11.5 7a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9ZM8 11.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z'></path>\",\"<path d='M1 2a1 1 0 0 1 1-1h20a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-1v1.936a8.935 8.935 0 0 0-2-.713V7H5v9a1 1 0 0 0 1 1h2c0 .687.077 1.357.223 2H6a3 3 0 0 1-3-3V7H2a1 1 0 0 1-1-1V2Zm20 3V3H3v2h18Z'></path><path d='M9 9h3.873a9.035 9.035 0 0 0-2.581 2H9a1 1 0 1 1 0-2Zm9 5a1 1 0 1 0-2 0v2h-2a1 1 0 1 0 0 2h2v2a1 1 0 1 0 2 0v-2h2a1 1 0 1 0 0-2h-2v-2Z'></path><path d='M17 10a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-5 7a5 5 0 1 1 10 0 5 5 0 0 1-10 0Z'></path>\",\"<path d='M2 3a1 1 0 0 1 1-1h24a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-1v3.75c-.64-.25-1.308-.442-2-.569V8H6v12a1 1 0 0 0 1 1h4.045a11.17 11.17 0 0 0 0 2H7a3 3 0 0 1-3-3V8H3a1 1 0 0 1-1-1V3Zm24 3V4H4v2h22Z'></path><path d='m21 11-.001.045c-1.27.115-2.479.445-3.588.955H10a1 1 0 1 1 0-2h10a1 1 0 0 1 1 1Zm2 7a1 1 0 1 0-2 0v3h-3a1 1 0 1 0 0 2h3v3a1 1 0 1 0 2 0v-3h3a1 1 0 1 0 0-2h-3v-3Z'></path><path d='M22 13a9 9 0 1 0 0 18 9 9 0 0 0 0-18Zm-7 9a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z'></path>\"]];","export default [[\"M0 1.5A1.5 1.5 0 0 1 1.5 0a.5.5 0 0 1 0 1 .5.5 0 0 0-.5.5.5.5 0 0 1-1 0Zm5 5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2ZM9.5 11A1.5 1.5 0 0 0 11 9.5a.5.5 0 0 0-1 0 .5.5 0 0 1-.5.5.5.5 0 0 0 0 1ZM3 .5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1A.5.5 0 0 1 3 .5ZM6.5 0a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1ZM5 10.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1 0-1h1a.5.5 0 0 1 .5.5Zm2.5.5a.5.5 0 0 0 0-1h-1a.5.5 0 0 0 0 1h1ZM11 1.5A1.5 1.5 0 0 0 9.5 0a.5.5 0 0 0 0 1 .5.5 0 0 1 .5.5.5.5 0 0 0 1 0ZM1.5 11A1.5 1.5 0 0 1 0 9.5a.5.5 0 0 1 1 0 .5.5 0 0 0 .5.5.5.5 0 0 1 0 1Zm-1-8a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1A.5.5 0 0 1 .5 3ZM1 6.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM10.5 3a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Zm.5 3.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1Z\",\"M1 2.5A1.5 1.5 0 0 1 2.5 1h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 1-1 0v-1Zm6 6a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3ZM12.5 1A1.5 1.5 0 0 1 14 2.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 1 0-1h1ZM1 12.5A1.5 1.5 0 0 0 2.5 14h1a.5.5 0 0 0 0-1h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 0-1 0v1ZM12.5 14a1.5 1.5 0 0 0 1.5-1.5v-1a.5.5 0 0 0-1 0v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 0 0 1h1ZM5 1.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5ZM8.5 1a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1ZM5 13.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5Zm3.5-.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Zm5-5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Zm.5-2.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM1.5 8a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM2 5.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1Z\",\"M9 2a1 1 0 0 0 0 2h1a1 1 0 1 0 0-2H9Zm3 11a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4Zm10 6a3 3 0 0 1-3 3h-1a1 1 0 1 1 0-2h1a1 1 0 0 0 1-1v-1a1 1 0 1 1 2 0v1ZM21 8a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0V9a1 1 0 0 1 1-1ZM4 9a1 1 0 1 0-2 0v1a1 1 0 1 0 2 0V9Zm4 12a1 1 0 0 0 1 1h1a1 1 0 1 0 0-2H9a1 1 0 0 0-1 1Zm6-19a1 1 0 1 0 0 2h1a1 1 0 1 0 0-2h-1Zm7 11a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0v-1a1 1 0 0 1 1-1ZM4 14a1 1 0 1 0-2 0v1a1 1 0 1 0 2 0v-1Zm9 7a1 1 0 0 0 1 1h1a1 1 0 1 0 0-2h-1a1 1 0 0 0-1 1Zm9-16a3 3 0 0 0-3-3h-1a1 1 0 1 0 0 2h1a1 1 0 0 1 1 1v1a1 1 0 1 0 2 0V5ZM2 5a3 3 0 0 1 3-3h1a1 1 0 1 1 0 2H5a1 1 0 0 0-1 1v1a1 1 0 1 1-2 0V5Zm0 14a3 3 0 0 0 3 3h1a1 1 0 1 0 0-2H5a1 1 0 0 1-1-1v-1a1 1 0 1 0-2 0v1Z\",\"M3 6a3 3 0 0 1 3-3h2a1 1 0 0 1 0 2H6a1 1 0 0 0-1 1v2a1 1 0 0 1-2 0V6Zm12 12a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6Zm11 11a3 3 0 0 0 3-3v-2a1 1 0 1 0-2 0v2a1 1 0 0 1-1 1h-2a1 1 0 1 0 0 2h2Zm3-23a3 3 0 0 0-3-3h-2a1 1 0 1 0 0 2h2a1 1 0 0 1 1 1v2a1 1 0 1 0 2 0V6ZM6 29a3 3 0 0 1-3-3v-2a1 1 0 1 1 2 0v2a1 1 0 0 0 1 1h2a1 1 0 1 1 0 2H6Zm6-25a1 1 0 0 0 1 1h1a1 1 0 1 0 0-2h-1a1 1 0 0 0-1 1Zm1 25a1 1 0 1 1 0-2h1a1 1 0 1 1 0 2h-1ZM4 12a1 1 0 0 0-1 1v1a1 1 0 1 0 2 0v-1a1 1 0 0 0-1-1Zm23 1a1 1 0 1 1 2 0v1a1 1 0 1 1-2 0v-1ZM17 4a1 1 0 0 0 1 1h1a1 1 0 1 0 0-2h-1a1 1 0 0 0-1 1Zm1 25a1 1 0 1 1 0-2h1a1 1 0 1 1 0 2h-1ZM4 17a1 1 0 0 0-1 1v1a1 1 0 1 0 2 0v-1a1 1 0 0 0-1-1Zm23 1a1 1 0 1 1 2 0v1a1 1 0 1 1-2 0v-1Z\"]];","export default [[\"M1 .5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-2Zm7 4a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm0 6v-2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5Zm-1-6a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0v-6ZM3.294 7.001l-1.796.009a.5.5 0 1 0 .004 1l1.79-.009-.145.145a.5.5 0 1 0 .707.708l1-1a.5.5 0 0 0 0-.708l-1-1a.5.5 0 1 0-.707.708L3.294 7Z\",\"M1 2.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5v-3Zm8 5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-2Zm0 4a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-2Zm-1-4a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0v-6ZM4.293 10H1.5a.5.5 0 0 0 0 1h2.793l-1.146 1.146a.5.5 0 0 0 .707.708l2-2a.5.5 0 0 0 0-.707l-2-2a.5.5 0 1 0-.707.707L4.293 10Z\",\"M1 2a1 1 0 0 1 1-1h20a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2Zm14 16a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1v-3Zm0-7a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1v-3Zm-2 0a1 1 0 1 0-2 0v10a1 1 0 1 0 2 0V11Zm-7.414 4H2a1 1 0 1 0 0 2h3.586l-1.293 1.293a1 1 0 1 0 1.414 1.414l3-3a1 1 0 0 0 0-1.414l-3-3a1 1 0 0 0-1.414 1.414L5.586 15Z\",\"M2 3a1 1 0 0 1 1-1h26a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3Zm17 11a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1h-9a1 1 0 0 1-1-1v-5Zm0 9a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1h-9a1 1 0 0 1-1-1v-5Zm-2-10a1 1 0 1 0-2 0v16a1 1 0 0 0 2 0V13ZM2 20.989A1 1 0 0 1 3.011 20l6.65.075-2.368-2.368a1 1 0 1 1 1.414-1.414l4 4a1 1 0 0 1 0 1.414l-4 4a1 1 0 0 1-1.414-1.414l2.22-2.22L2.989 22A1 1 0 0 1 2 20.989Z\"],[\"M1 .5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-2ZM2 1v1h8V1H2Zm6.5 3a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM9 6V5h1v1H9Zm1.5 2h-2a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5ZM9 10V9h1v1H9ZM7 4.5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0v-6ZM3.294 7.001l-1.796.009a.5.5 0 1 0 .004 1l1.79-.009-.145.145a.5.5 0 1 0 .707.708l1-1a.5.5 0 0 0 0-.708l-1-1a.5.5 0 1 0-.707.708L3.294 7Z\",\"M1 2.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5v-3ZM2 3v2h12V3H2Zm7.5 4a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-5Zm.5 2V8h4v1h-4Zm-.5 2a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-5Zm.5 2v-1h4v1h-4ZM8 7.5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0v-6ZM4.293 10H1.5a.5.5 0 0 0 0 1h2.793l-1.146 1.146a.5.5 0 0 0 .707.708l2-2a.5.5 0 0 0 0-.707l-2-2a.5.5 0 1 0-.707.707L4.293 10Z\",\"M2 1a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H2Zm1 5V3h18v3H3Zm13 11a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-6Zm1 3v-1h4v1h-4Zm-2-9a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1v-3Zm2 1v1h4v-1h-4Zm-4-1a1 1 0 1 0-2 0v10a1 1 0 1 0 2 0V11Zm-7.414 4H2a1 1 0 1 0 0 2h3.586l-1.293 1.293a1 1 0 1 0 1.414 1.414l3-3a1 1 0 0 0 0-1.414l-3-3a1 1 0 0 0-1.414 1.414L5.586 15Z\",\"M2 3a1 1 0 0 1 1-1h26a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3Zm2 1v4h24V4H4Zm16 9a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h9a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1h-9Zm1 5v-3h7v3h-7Zm-1 4a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h9a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1h-9Zm1 5v-3h7v3h-7Zm-4-14a1 1 0 1 0-2 0v16a1 1 0 0 0 2 0V13ZM2 20.989A1 1 0 0 1 3.011 20l6.65.075-2.368-2.368a1 1 0 1 1 1.414-1.414l4 4a1 1 0 0 1 0 1.414l-4 4a1 1 0 0 1-1.414-1.414l2.22-2.22L2.989 22A1 1 0 0 1 2 20.989Z\"]];","export default [[\"M1 .5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-2Zm7 4a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM2.854 8.854a.5.5 0 0 1-.708 0l-1-1a.5.5 0 0 1 0-.708l1-1a.5.5 0 1 1 .708.708l-.146.145 1.79-.009a.5.5 0 1 1 .004 1L2.706 8l.148.146a.5.5 0 0 1 0 .708ZM8 8.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2Zm-1-4a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0v-6Z\",\"M1 2.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5v-3Zm8 5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-2Zm0 4a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-2Zm-1-4a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0v-6ZM2.707 10l1.147-1.146a.5.5 0 1 0-.708-.708l-2 2a.5.5 0 0 0 0 .707l2 2a.5.5 0 0 0 .708-.707L2.707 11H5.5a.5.5 0 0 0 0-1H2.707Z\",\"M1 2a1 1 0 0 1 1-1h20a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2Zm14 9a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1v-3Zm-2 0a1 1 0 1 0-2 0v10a1 1 0 1 0 2 0V11Zm-8.586 4 1.293-1.293a1 1 0 1 0-1.414-1.414l-3 3a1 1 0 0 0 0 1.414l3 3a1 1 0 0 0 1.414-1.414L4.414 17H8a1 1 0 1 0 0-2H4.414ZM16 17a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-6Z\",\"M2 3a1 1 0 0 1 1-1h26a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3Zm17 11a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1h-9a1 1 0 0 1-1-1v-5Zm0 9a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1h-9a1 1 0 0 1-1-1v-5Zm-2-10a1 1 0 1 0-2 0v16a1 1 0 1 0 2 0V13Zm-4 8.011a1 1 0 0 1-1.011.989l-6.65-.075 2.368 2.368a1 1 0 1 1-1.414 1.414l-4-4a1 1 0 0 1 0-1.414l4-4a1 1 0 0 1 1.414 1.414l-2.22 2.22 6.524.073A1 1 0 0 1 13 21.011Z\"],[\"M1 .5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-2ZM2 1v1h8V1H2Zm6.5 3a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2ZM9 6V5h1v1H9ZM2.146 8.854a.5.5 0 1 0 .708-.708L2.706 8l1.796-.009a.5.5 0 1 0-.005-1L2.708 7l.146-.145a.5.5 0 1 0-.708-.708l-1 1a.5.5 0 0 0 0 .708l1 1ZM8 8.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2ZM9 9v1h1V9H9ZM7 4.5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0v-6Z\",\"M1 2.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5v-3ZM2 3v2h12V3H2Zm7.5 4a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-5Zm.5 2V8h4v1h-4Zm-.5 2a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-5Zm.5 2v-1h4v1h-4ZM8 7.5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0v-6ZM2.707 10l1.147-1.146a.5.5 0 1 0-.708-.708l-2 2a.5.5 0 0 0 0 .707l2 2a.5.5 0 0 0 .708-.707L2.707 11H5.5a.5.5 0 0 0 0-1H2.707Z\",\"M2 1a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H2Zm1 5V3h18v3H3Zm13 11a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-6Zm1 3v-1h4v1h-4Zm-2-9a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1v-3Zm2 1v1h4v-1h-4Zm-4-1a1 1 0 1 0-2 0v10a1 1 0 1 0 2 0V11Zm-8.586 4 1.293-1.293a1 1 0 1 0-1.414-1.414l-3 3a1 1 0 0 0 0 1.414l3 3a1 1 0 0 0 1.414-1.414L4.414 17H8a1 1 0 1 0 0-2H4.414Z\",\"M2 3a1 1 0 0 1 1-1h26a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3Zm2 1v4h24V4H4Zm16 9a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h9a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1h-9Zm1 5v-3h7v3h-7Zm-1 4a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h9a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1h-9Zm1 5v-3h7v3h-7Zm-4-14a1 1 0 1 0-2 0v16a1 1 0 1 0 2 0V13Zm-4 8.011a1 1 0 0 1-1.011.989l-6.65-.075 2.368 2.368a1 1 0 1 1-1.414 1.414l-4-4a1 1 0 0 1 0-1.414l4-4a1 1 0 0 1 1.414 1.414l-2.22 2.22 6.524.073A1 1 0 0 1 13 21.011Z\"]];","export default [[\"M2.5 1A1.5 1.5 0 0 0 1 2.5V3H.5a.5.5 0 0 0 0 1H1v1H.5a.5.5 0 0 0 0 1H1v1H.5a.5.5 0 0 0 0 1H1v1.5A1.5 1.5 0 0 0 2.5 11h6A1.5 1.5 0 0 0 10 9.5V5h.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-.585A1.5 1.5 0 0 0 8.5 1h-6Zm1 1a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-1 0v-7a.5.5 0 0 1 .5-.5Zm2 1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2Z\",\"M2 2.5A1.5 1.5 0 0 1 3.5 1h9A1.5 1.5 0 0 1 14 2.5V3h.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H14v6.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 12.5V11h-.5a.5.5 0 0 1 0-1H2V8h-.5a.5.5 0 0 1 0-1H2V5h-.5a.5.5 0 0 1 0-1H2V2.5Zm4 0a.5.5 0 0 0-1 0v10a.5.5 0 0 0 1 0v-10Zm1 1a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-2Z\",\"M6 2a3 3 0 0 0-3 3 1 1 0 0 0 0 2v2a1 1 0 0 0 0 2v2a1 1 0 1 0 0 2v2a1 1 0 1 0 0 2 3 3 0 0 0 3 3h11a3 3 0 0 0 3-3v-3h1a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-1v-1h1a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-1a3 3 0 0 0-3-3H6Zm2 2a1 1 0 0 1 1 1v14a1 1 0 1 1-2 0V5a1 1 0 0 1 1-1Zm3 2a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1h-5Z\",\"M8 4a3 3 0 0 0-3 3v1a1 1 0 0 0 0 2v3a1 1 0 1 0 0 2v3a1 1 0 1 0 0 2v3a1 1 0 1 0 0 2 3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-6h1a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-1v-1h1a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1h-1.17A3.001 3.001 0 0 0 22 4H8Zm2 2a1 1 0 0 1 1 1v18a1 1 0 1 1-2 0V7a1 1 0 0 1 1-1Zm4 2a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1h-6Z\"],[\"<path d='M5.5 3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2Z'></path><path d='M1 2.5A1.5 1.5 0 0 1 2.5 1h6a1.5 1.5 0 0 1 1.415 1h.585a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H10v4.5A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5V8H.5a.5.5 0 0 1 0-1H1V6H.5a.5.5 0 0 1 0-1H1V4H.5a.5.5 0 0 1 0-1H1v-.5ZM8.5 2a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5H4V2h4.5ZM2 9.5a.5.5 0 0 0 .5.5H3V2h-.5a.5.5 0 0 0-.5.5v7Z'></path>\",\"<path d='M7 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-2Zm4 .5H8v1h3V4Z'></path><path d='M2 2.5A1.5 1.5 0 0 1 3.5 1h9A1.5 1.5 0 0 1 14 2.5V3h.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H14v6.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 12.5V11h-.5a.5.5 0 0 1 0-1H2V8h-.5a.5.5 0 0 1 0-1H2V5h-.5a.5.5 0 0 1 0-1H2V2.5Zm11 0a.5.5 0 0 0-.5-.5H6v11h6.5a.5.5 0 0 0 .5-.5v-10ZM3 11h.5a.5.5 0 0 0 0-1H3V8h.5a.5.5 0 0 0 0-1H3V5h.5a.5.5 0 0 0 0-1H3V2.5a.5.5 0 0 1 .5-.5H5v11H3.5a.5.5 0 0 1-.5-.5V11Z'></path>\",\"<path d='M10 7a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1V7Zm2 1v1h3V8h-3Z'></path><path d='M3 5a3 3 0 0 1 3-3h11a3 3 0 0 1 3 3h1a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-1v1h1a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-1v3a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3 1 1 0 1 1 0-2v-2a1 1 0 1 1 0-2v-2a1 1 0 1 1 0-2V7a1 1 0 0 1 0-2Zm15 0a1 1 0 0 0-1-1H9v16h8a1 1 0 0 0 1-1V5ZM5 7a1 1 0 0 0 0-2 1 1 0 0 1 1-1h1v16H6a1 1 0 0 1-1-1 1 1 0 1 0 0-2v-2a1 1 0 1 0 0-2v-2a1 1 0 1 0 0-2V7Z'></path>\",\"<path d='M13 9a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1V9Zm2 1v2h4v-2h-4Z'></path><path d='M5 7a3 3 0 0 1 3-3h14c1.306 0 2.418.835 2.83 2H26a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-1v1h1a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-1v6a3 3 0 0 1-3 3H8a3 3 0 0 1-3-3 1 1 0 1 1 0-2v-3a1 1 0 1 1 0-2v-3a1 1 0 1 1 0-2v-3a1 1 0 0 1 0-2V7Zm18 0a1 1 0 0 0-1-1H11v20h11a1 1 0 0 0 1-1V7ZM7 25a1 1 0 0 0 1 1h1V6H8a1 1 0 0 0-1 1v1a1 1 0 0 1 0 2v3a1 1 0 1 1 0 2v3a1 1 0 1 1 0 2v3a1 1 0 1 1 0 2Z'></path>\"]];","export default [[\"<path d='M2.5 1A1.5 1.5 0 0 0 1 2.5V3H.5a.5.5 0 0 0 0 1H1v1H.5a.5.5 0 0 0 0 1H1v1H.5a.5.5 0 0 0 0 1H1v1.5A1.5 1.5 0 0 0 2.5 11H4V7a1 1 0 0 1 1-1h5V5h.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-.585A1.5 1.5 0 0 0 8.5 1h-6ZM4 7v2.5a.5.5 0 0 1-1 0v-7a.5.5 0 0 1 1 0V7Zm1.5-4h2a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5Z'></path><path d='M7.5 7a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Zm0 3a.5.5 0 0 1 0-1h4a.5.5 0 0 1 0 1h-4Zm0 1a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Zm-2 1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm0-2a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1ZM6 7.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z'></path>\",\"<path d='M2 2.5A1.5 1.5 0 0 1 3.5 1h9A1.5 1.5 0 0 1 14 2.5V3h.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H14v4H9a1 1 0 0 0-1 1v3H3.5A1.5 1.5 0 0 1 2 12.5V11h-.5a.5.5 0 0 1 0-1H2V8h-.5a.5.5 0 0 1 0-1H2V5h-.5a.5.5 0 0 1 0-1H2V2.5Zm4 0a.5.5 0 0 0-1 0v10a.5.5 0 0 0 1 0v-10Zm1 1v2a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 0-.5.5Z'></path><path d='M11 11.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm.5 1.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Zm0 2a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Zm-1.5.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM9.5 14a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm0-2a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path>\",\"<path d='M6 2a3 3 0 0 0-3 3 1 1 0 0 0 0 2v2a1 1 0 0 0 0 2v2a1 1 0 1 0 0 2v2a1 1 0 1 0 0 2 3 3 0 0 0 3 3h3v-3a1 1 0 1 1-2 0V5a1 1 0 0 1 2 0v10a3 3 0 0 1 3-3h10a1 1 0 0 0-1-1h-1v-1h1a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-1a3 3 0 0 0-3-3H6Zm5 4h5a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1Z'></path><path d='M16 14a1 1 0 1 0 0 2h7a1 1 0 1 0 0-2h-7Zm-1 5a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2h-7a1 1 0 0 1-1-1Zm1 3a1 1 0 1 0 0 2h7a1 1 0 1 0 0-2h-7Zm-3 1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm0-4a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm0-4a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path>\",\"<path d='M8 4a3 3 0 0 0-3 3v1a1 1 0 0 0 0 2v3a1 1 0 1 0 0 2v3a1 1 0 1 0 0 2v3a1 1 0 1 0 0 2 3 3 0 0 0 3 3h7v-5a3 3 0 0 1 3-3h7v-1h1a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-1v-1h1a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1h-1.17A3.001 3.001 0 0 0 22 4H8Zm2 2a1 1 0 0 1 1 1v18a1 1 0 1 1-2 0V7a1 1 0 0 1 1-1Zm4 2a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1h-6Z'></path><path d='M22 22a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2h-8Zm-1 5a1 1 0 0 1 1-1h8a1 1 0 1 1 0 2h-8a1 1 0 0 1-1-1Zm1 3a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2h-8Zm-3 1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm0-4a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm0-4a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path>\"],[\"<path d='M1 2.5A1.5 1.5 0 0 1 2.5 1h6a1.5 1.5 0 0 1 1.415 1h.585a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H10v1H9V2.5a.5.5 0 0 0-.5-.5H4v9H2.5A1.5 1.5 0 0 1 1 9.5V8H.5a.5.5 0 0 1 0-1H1V6H.5a.5.5 0 0 1 0-1H1V4H.5a.5.5 0 0 1 0-1H1v-.5Zm1 7a.5.5 0 0 0 .5.5H3V2h-.5a.5.5 0 0 0-.5.5v7Z'></path><path d='M5.5 3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2Zm2 4a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4ZM7 9.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm.5 1.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Zm-2 1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm0-2a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1ZM6 7.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z'></path>\",\"<path d='M2 2.5A1.5 1.5 0 0 1 3.5 1h9A1.5 1.5 0 0 1 14 2.5V3h.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H14v4h-1V2.5a.5.5 0 0 0-.5-.5H6v11h2v1H3.5A1.5 1.5 0 0 1 2 12.5V11h-.5a.5.5 0 0 1 0-1H2V8h-.5a.5.5 0 0 1 0-1H2V5h-.5a.5.5 0 0 1 0-1H2V2.5ZM3 11v1.5a.5.5 0 0 0 .5.5H5V2H3.5a.5.5 0 0 0-.5.5V4h.5a.5.5 0 0 1 0 1H3v2h.5a.5.5 0 0 1 0 1H3v2h.5a.5.5 0 0 1 0 1H3Z'></path><path d='M7 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-2Zm4 .5H8v1h3V4Zm.5 7a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Zm-.5 2.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm.5 1.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Zm-2 1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm0-2a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm.5-2.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z'></path>\",\"<path d='M2 5a3 3 0 0 1 3-3h11a3 3 0 0 1 3 3h1a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-1v1h1a1 1 0 0 1 1 1h-4V5a1 1 0 0 0-1-1H8v16h1v2H5a3 3 0 0 1-3-3 1 1 0 1 1 0-2v-2a1 1 0 1 1 0-2v-2a1 1 0 1 1 0-2V7a1 1 0 0 1 0-2Zm2 2v2a1 1 0 0 1 0 2v2a1 1 0 1 1 0 2v2a1 1 0 1 1 0 2 1 1 0 0 0 1 1h1V4H5a1 1 0 0 0-1 1 1 1 0 0 1 0 2Z'></path><path d='M9 7a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1V7Zm2 1v1h3V8h-3Zm5 6a1 1 0 1 0 0 2h7a1 1 0 1 0 0-2h-7Zm-1 5a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2h-7a1 1 0 0 1-1-1Zm1 3a1 1 0 1 0 0 2h7a1 1 0 1 0 0-2h-7Zm-3 1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm0-4a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm0-4a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path>\",\"<path d='M5 7a3 3 0 0 1 3-3h14c1.306 0 2.418.835 2.83 2H26a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-1v1h1a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-3V7a1 1 0 0 0-1-1H11v20h4v2H8a3 3 0 0 1-3-3 1 1 0 1 1 0-2v-3a1 1 0 1 1 0-2v-3a1 1 0 1 1 0-2v-3a1 1 0 0 1 0-2V7Zm2 18a1 1 0 0 0 1 1h1V6H8a1 1 0 0 0-1 1v1a1 1 0 0 1 0 2v3a1 1 0 1 1 0 2v3a1 1 0 1 1 0 2v3a1 1 0 1 1 0 2Z'></path><path d='M13 9a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1V9Zm2 1v2h4v-2h-4Zm7 11a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2h-8Zm-1 5a1 1 0 0 1 1-1h8a1 1 0 1 1 0 2h-8a1 1 0 0 1-1-1Zm1 3a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2h-8Zm-3 1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm0-4a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm0-4a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path>\"]];","export default [[\"<path d='M2.5 1A1.5 1.5 0 0 0 1 2.5V3H.5a.5.5 0 0 0 0 1H1v1H.5a.5.5 0 0 0 0 1H1v1H.5a.5.5 0 0 0 0 1H1v1.5A1.5 1.5 0 0 0 2.5 11h2.564l.25-1.46a1.5 1.5 0 0 1 .418-.808l3-3c.36-.36.803-.587 1.268-.682V5h.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-.585A1.5 1.5 0 0 0 8.5 1h-6Zm1 1a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-1 0v-7a.5.5 0 0 1 .5-.5Zm2 1h2a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5Z'></path><path d='M9.44 6.44a1.5 1.5 0 0 1 2.12 2.12l-3 3a.5.5 0 0 1-.268.14l-1.707.293a.5.5 0 0 1-.578-.578L6.3 9.708a.5.5 0 0 1 .14-.269l3-3Zm1.414.706a.5.5 0 0 0-.707 0L10 7.293l.707.707.147-.146a.5.5 0 0 0 0-.708Zm-3.595 2.888-.147.854.854-.147L10 8.707 9.293 8l-2.034 2.034Z'></path>\",\"M2 2.5A1.5 1.5 0 0 1 3.5 1h9A1.5 1.5 0 0 1 14 2.5V3h.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H14v1.05a2.488 2.488 0 0 0-1.268.682l-4.5 4.5a1.5 1.5 0 0 0-.35.554L7.444 14H3.5A1.5 1.5 0 0 1 2 12.5V11h-.5a.5.5 0 0 1 0-1H2V8h-.5a.5.5 0 0 1 0-1H2V5h-.5a.5.5 0 0 1 0-1H2V2.5Zm4 0a.5.5 0 0 0-1 0v10a.5.5 0 0 0 1 0v-10Zm1 1v2a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 0-.5.5Zm6.44 4.94a1.5 1.5 0 0 1 2.12 2.12l-4.5 4.5a.503.503 0 0 1-.184.118l-2.207.793a.5.5 0 0 1-.64-.64l.793-2.207a.501.501 0 0 1 .117-.185l4.5-4.5Zm1.414.706a.5.5 0 0 0-.708 0l-.29.291.707.708.29-.291a.5.5 0 0 0 0-.708Zm-5.128 4.421-.397 1.104 1.104-.397 3.422-3.422-.707-.707-3.422 3.422Z\",\"<path d='M6 2a3 3 0 0 0-3 3 1 1 0 0 0 0 2v2a1 1 0 0 0 0 2v2a1 1 0 1 0 0 2v2a1 1 0 1 0 0 2 3 3 0 0 0 3 3h4.128l.501-2.922a3 3 0 0 1 .835-1.613l6-6A4.976 4.976 0 0 1 20 10.1V10h1a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-1a3 3 0 0 0-3-3H6Zm2 2a1 1 0 0 1 1 1v14a1 1 0 1 1-2 0V5a1 1 0 0 1 1-1Zm3 2h5a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1Z'></path><path d='M18.879 12.879a3 3 0 1 1 4.242 4.242l-6 6a1 1 0 0 1-.538.279l-3.414.586a1 1 0 0 1-1.155-1.155l.586-3.414a1 1 0 0 1 .279-.538l6-6Zm2.828 1.414a1 1 0 0 0-1.414 0l-.293.293L21.414 16l.293-.293a1 1 0 0 0 0-1.414Zm-7.19 5.775-.292 1.707 1.707-.293L20 17.414 18.586 16l-4.068 4.068Z'></path>\",\"M8 4a3 3 0 0 0-3 3v1a1 1 0 0 0 0 2v3a1 1 0 1 0 0 2v3a1 1 0 1 0 0 2v3a1 1 0 1 0 0 2 3 3 0 0 0 3 3h3.59l1.734-4.086c.15-.355.368-.677.64-.95l10.5-10.5c.205-.204.37-.381.512-.534.614-.66.806-.867 2.024-.93V7a1 1 0 0 0-1-1h-1.17A3.001 3.001 0 0 0 22 4H8Zm2 2a1 1 0 0 1 1 1v18a1 1 0 1 1-2 0V7a1 1 0 0 1 1-1Zm4 2h6a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1Zm11.879 5.879a3 3 0 1 1 4.242 4.242l-10.5 10.5a.998.998 0 0 1-.316.214L14.39 30.92a1 1 0 0 1-1.312-1.31l2.086-4.915a1 1 0 0 1 .214-.316l10.5-10.5Zm2.828 1.414a1 1 0 0 0-1.414 0l-.793.793 1.414 1.414.793-.793a1 1 0 0 0 0-1.414ZM16.93 25.655l-1.043 2.457 2.458-1.042 8.155-8.156-1.414-1.414-8.156 8.155Z\"],[\"<path d='M1 2.5A1.5 1.5 0 0 1 2.5 1h6a1.5 1.5 0 0 1 1.415 1h.585a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H10v.05a2.485 2.485 0 0 0-1 .45v-3a.5.5 0 0 0-.5-.5H4v8h1.235l-.171 1H2.5A1.5 1.5 0 0 1 1 9.5V8H.5a.5.5 0 0 1 0-1H1V6H.5a.5.5 0 0 1 0-1H1V4H.5a.5.5 0 0 1 0-1H1v-.5Zm1 7a.5.5 0 0 0 .5.5H3V2h-.5a.5.5 0 0 0-.5.5v7Z'></path><path d='M5.5 3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2Zm3.94 3.44a1.5 1.5 0 0 1 2.12 2.12l-3 3a.5.5 0 0 1-.268.14l-1.707.293a.5.5 0 0 1-.578-.578L6.3 9.708a.5.5 0 0 1 .14-.269l3-3Zm1.414.706a.5.5 0 0 0-.707 0L10 7.293l.707.707.147-.146a.5.5 0 0 0 0-.708Zm-3.595 2.888-.147.854.854-.147L10 8.707 9.293 8l-2.034 2.034Z'></path>\",\"<path d='M2 2.5A1.5 1.5 0 0 1 3.5 1h9A1.5 1.5 0 0 1 14 2.5V3h.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H14v1.05a2.485 2.485 0 0 0-1 .45v-5a.5.5 0 0 0-.5-.5H6v11h1.804l-.359 1H3.5A1.5 1.5 0 0 1 2 12.5V11h-.5a.5.5 0 0 1 0-1H2V8h-.5a.5.5 0 0 1 0-1H2V5h-.5a.5.5 0 0 1 0-1H2V2.5ZM3 11v1.5a.5.5 0 0 0 .5.5H5V2H3.5a.5.5 0 0 0-.5.5V4h.5a.5.5 0 0 1 0 1H3v2h.5a.5.5 0 0 1 0 1H3v2h.5a.5.5 0 0 1 0 1H3Z'></path><path d='M7 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-2Zm4 .5H8v1h3V4Zm2.44 4.44a1.5 1.5 0 0 1 2.12 2.12l-4.5 4.5a.503.503 0 0 1-.184.118l-2.207.793a.5.5 0 0 1-.64-.64l.793-2.207a.501.501 0 0 1 .117-.185l4.5-4.5Zm1.414.706a.5.5 0 0 0-.708 0l-.29.291.707.708.29-.291a.5.5 0 0 0 0-.708Zm-5.128 4.421-.397 1.104 1.104-.397 3.422-3.422-.707-.707-3.422 3.422Z'></path>\",\"<path d='M5 2a3 3 0 0 0-3 3 1 1 0 0 0 0 2v2a1 1 0 0 0 0 2v2a1 1 0 1 0 0 2v2a1 1 0 1 0 0 2 3 3 0 0 0 3 3h5.128l.343-2H8V4h8a1 1 0 0 1 1 1v6.929l.465-.465A4.986 4.986 0 0 1 19 10.416V10h1a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-1a3 3 0 0 0-3-3H5Zm0 4a1 1 0 0 0-1-1 1 1 0 0 1 1-1h1v16H5a1 1 0 0 1-1-1 1 1 0 1 0 0-2v-2a1 1 0 1 0 0-2v-2a1 1 0 1 0 0-2V7a1 1 0 0 0 1-1Z'></path><path d='M10 6a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1h-5Zm1 3V8h3v1h-3Zm7.879 3.879a3 3 0 1 1 4.242 4.242l-6 6a1 1 0 0 1-.538.279l-3.414.586a1 1 0 0 1-1.155-1.155l.586-3.414a1 1 0 0 1 .279-.538l6-6Zm2.828 1.414a1 1 0 0 0-1.414 0l-.293.293L21.414 16l.293-.293a1 1 0 0 0 0-1.414Zm-7.19 5.775-.292 1.707 1.707-.293L20 17.414 18.586 16l-4.068 4.068Z'></path>\",\"<path d='M8 4a3 3 0 0 0-3 3v1a1 1 0 0 0 0 2v3a1 1 0 1 0 0 2v3a1 1 0 1 0 0 2v3a1 1 0 1 0 0 2 3 3 0 0 0 3 3h3.59l.849-2H11V6h11a1 1 0 0 1 1 1v6.929l1.465-1.465c.204-.204.369-.381.51-.534.615-.66.807-.867 2.025-.93V7a1 1 0 0 0-1-1h-1.17A3.001 3.001 0 0 0 22 4H8Zm0 22a1 1 0 0 1-1-1 1 1 0 1 0 0-2v-3a1 1 0 1 0 0-2v-3a1 1 0 1 0 0-2v-3a1 1 0 0 0 0-2V7a1 1 0 0 1 1-1h1v20H8Z'></path><path d='M14 8a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1h-6Zm1 4v-2h4v2h-4Zm10.879 1.879a3 3 0 1 1 4.242 4.242l-10.5 10.5a.998.998 0 0 1-.316.214L14.39 30.92a1 1 0 0 1-1.312-1.31l2.086-4.915a1 1 0 0 1 .214-.316l10.5-10.5Zm2.828 1.414a1 1 0 0 0-1.414 0l-.793.793 1.414 1.414.793-.793a1 1 0 0 0 0-1.414ZM16.93 25.655l-1.043 2.457 2.458-1.042 8.155-8.156-1.414-1.414-8.156 8.155Z'></path>\"]];","export default [[\"M7 9h-.5a.5.5 0 0 1-.354-.146l-.927-.928a3.5 3.5 0 1 1 2.707-2.707l2.928 2.927A.5.5 0 0 1 11 8.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5V10h-.5a.5.5 0 0 1-.5-.5V9ZM4 5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"M9 11H7.5a.5.5 0 0 1-.354-.146l-.913-.914A4.5 4.5 0 1 1 9.94 6.233l4.914 4.913A.5.5 0 0 1 15 11.5v3a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.354-.146l-1-1A.5.5 0 0 1 10 13.5V12h-.5a.5.5 0 0 1-.5-.5V11ZM5 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"M12 16h-1a1 1 0 0 1-.707-.293l-.855-.855a7 7 0 1 1 5.414-5.414l6.855 6.855A1 1 0 0 1 22 17v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-.707-.293l-2-2A1 1 0 0 1 14 19v-1h-1a1 1 0 0 1-1-1v-1ZM6.5 8a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\",\"M2 11a9 9 0 1 1 17.468 3.054l10.24 10.239A1 1 0 0 1 30 25v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-.707-.293l-2-2A1 1 0 0 1 22 27v-2h-2a1 1 0 0 1-1-1v-2h-2a1 1 0 0 1-.707-.293l-2.239-2.239A9 9 0 0 1 2 11Zm7.5 1a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z\"],[\"<path d='M4 5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M6.5 9H7v.5a.5.5 0 0 0 .5.5H8v.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.146-.354L7.926 5.22a3.5 3.5 0 1 0-2.707 2.707l.927.928A.5.5 0 0 0 6.5 9ZM2 4.5a2.5 2.5 0 1 1 4.893.726.5.5 0 0 0 .125.499L10 8.707V10H9v-.5a.5.5 0 0 0-.5-.5H8v-.5a.5.5 0 0 0-.5-.5h-.793l-.982-.982a.5.5 0 0 0-.499-.125A2.5 2.5 0 0 1 2 4.5Z'></path>\",\"<path d='M5 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M7.5 11H9v.5a.5.5 0 0 0 .5.5h.5v1.5a.5.5 0 0 0 .146.354l1 1A.5.5 0 0 0 11.5 15h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.146-.354L9.94 6.233A4.5 4.5 0 1 0 6.233 9.94l.913.914A.5.5 0 0 0 7.5 11ZM2 5.5a3.5 3.5 0 1 1 6.911.787.5.5 0 0 0 .134.465L14 11.707V14h-2.293L11 13.293V11.5a.5.5 0 0 0-.5-.5H10v-.5a.5.5 0 0 0-.5-.5H7.707l-.955-.955a.5.5 0 0 0-.465-.134A3.5 3.5 0 0 1 2 5.5Z'></path>\",\"<path d='M6.5 8a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z'></path><path d='M11 16h1v1a1 1 0 0 0 1 1h1v1a1 1 0 0 0 .293.707l2 2A1 1 0 0 0 17 22h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-.293-.707l-6.855-6.855a7 7 0 1 0-5.414 5.414l.855.855A1 1 0 0 0 11 16ZM3 8a5 5 0 1 1 9.786 1.453 1 1 0 0 0 .25.997L20 17.414V20h-2.586L16 18.586V17a1 1 0 0 0-1-1h-1v-1a1 1 0 0 0-1-1h-1.586l-.964-.964a1 1 0 0 0-.997-.25A5 5 0 0 1 3 8Z'></path>\",\"<path d='M9.5 12a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z'></path><path d='M11 2a9 9 0 1 0 3.054 17.468l2.239 2.24A1 1 0 0 0 17 22h2v2a1 1 0 0 0 1 1h2v2a1 1 0 0 0 .293.707l2 2A1 1 0 0 0 25 30h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-.293-.707L19.468 14.054A9 9 0 0 0 11 2Zm-7 9a7 7 0 1 1 13.382 2.88 1 1 0 0 0 .204 1.12L28 25.414V28h-2.586L24 26.586V24a1 1 0 0 0-1-1h-2v-2a1 1 0 0 0-1-1h-2.586L15 17.586a1 1 0 0 0-1.12-.204A7 7 0 0 1 4 11Z'></path>\"]];","export default [[\"M0 2.5A1.5 1.5 0 0 1 1.5 1h8A1.5 1.5 0 0 1 11 2.5v6A1.5 1.5 0 0 1 9.5 10h-8A1.5 1.5 0 0 1 0 8.5v-6Zm2.25.5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 3.75v-.5A.25.25 0 0 0 2.75 3h-.5Zm2 0a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 5 3.75v-.5A.25.25 0 0 0 4.75 3h-.5ZM6 3.25A.25.25 0 0 1 6.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 6 3.75v-.5ZM8.25 3a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 9 3.75v-.5A.25.25 0 0 0 8.75 3h-.5ZM2 5.25A.25.25 0 0 1 2.25 5h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 2 5.75v-.5ZM4.25 5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 5 5.75v-.5A.25.25 0 0 0 4.75 5h-.5ZM6 5.25A.25.25 0 0 1 6.25 5h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 6 5.75v-.5ZM8.25 5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 9 5.75v-.5A.25.25 0 0 0 8.75 5h-.5ZM3 7.25A.25.25 0 0 1 3.25 7h4.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-4.5A.25.25 0 0 1 3 7.75v-.5Z\",\"M0 4.5A1.5 1.5 0 0 1 1.5 3h12A1.5 1.5 0 0 1 15 4.5v6a1.5 1.5 0 0 1-1.5 1.5h-12A1.5 1.5 0 0 1 0 10.5v-6Zm2 .75A.25.25 0 0 1 2.25 5h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 2 5.75v-.5Zm2 0A.25.25 0 0 1 4.25 5h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 4 5.75v-.5ZM6.25 5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 7 5.75v-.5A.25.25 0 0 0 6.75 5h-.5ZM8 5.25A.25.25 0 0 1 8.25 5h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 8 5.75v-.5ZM10.25 5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5Zm1.75.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5ZM3.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 4 7.75v-.5A.25.25 0 0 0 3.75 7h-.5ZM5 7.25A.25.25 0 0 1 5.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 5 7.75v-.5ZM7.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 8 7.75v-.5A.25.25 0 0 0 7.75 7h-.5ZM9 7.25A.25.25 0 0 1 9.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 9 7.75v-.5ZM11.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5ZM4 9.25A.25.25 0 0 1 4.25 9h6.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-6.5A.25.25 0 0 1 4 9.75v-.5Z\",\"M1 8a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v9a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3V8Zm4 .5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm4 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm4.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM7.5 11a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm4.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM7 15.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-1Z\",\"M2 11a3 3 0 0 1 3-3h22a3 3 0 0 1 3 3v11a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V11Zm5 1.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm4 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm4.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm4.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM9 15.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm4.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm4.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM9 19.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5v-1Z\"],[\"<path d='M2.25 3a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 3.75v-.5A.25.25 0 0 0 2.75 3h-.5ZM4 3.25A.25.25 0 0 1 4.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 4 3.75v-.5ZM6.25 3a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 7 3.75v-.5A.25.25 0 0 0 6.75 3h-.5ZM8 3.25A.25.25 0 0 1 8.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 8 3.75v-.5ZM2.25 5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 5.75v-.5A.25.25 0 0 0 2.75 5h-.5ZM4 5.25A.25.25 0 0 1 4.25 5h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 4 5.75v-.5ZM6.25 5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 7 5.75v-.5A.25.25 0 0 0 6.75 5h-.5ZM8 5.25A.25.25 0 0 1 8.25 5h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 8 5.75v-.5ZM3.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h4.5A.25.25 0 0 0 8 7.75v-.5A.25.25 0 0 0 7.75 7h-4.5Z'></path><path d='M1.5 1A1.5 1.5 0 0 0 0 2.5v6A1.5 1.5 0 0 0 1.5 10h8A1.5 1.5 0 0 0 11 8.5v-6A1.5 1.5 0 0 0 9.5 1h-8ZM1 2.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-6Z'></path>\",\"<path d='M2 5.25A.25.25 0 0 1 2.25 5h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 2 5.75v-.5ZM4.25 5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 5 5.75v-.5A.25.25 0 0 0 4.75 5h-.5ZM6 5.25A.25.25 0 0 1 6.25 5h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 6 5.75v-.5ZM8.25 5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 9 5.75v-.5A.25.25 0 0 0 8.75 5h-.5Zm1.75.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5ZM12.25 5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5ZM3 7.25A.25.25 0 0 1 3.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 3 7.75v-.5ZM5.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 7.75v-.5A.25.25 0 0 0 5.75 7h-.5ZM7 7.25A.25.25 0 0 1 7.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 7 7.75v-.5ZM9.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5A.25.25 0 0 0 9.75 7h-.5Zm1.75.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5ZM4.25 9a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h6.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-6.5Z'></path><path d='M0 4.5A1.5 1.5 0 0 1 1.5 3h12A1.5 1.5 0 0 1 15 4.5v6a1.5 1.5 0 0 1-1.5 1.5h-12A1.5 1.5 0 0 1 0 10.5v-6ZM1.5 4a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5h12a.5.5 0 0 0 .5-.5v-6a.5.5 0 0 0-.5-.5h-12Z'></path>\",\"<path d='M5 8.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM9.5 8a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm4.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM7 11.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm4.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM7.5 15a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-9Z'></path><path d='M1 8a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v9a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3V8Zm3-1a1 1 0 0 0-1 1v9a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H4Z'></path>\",\"<path d='M7 12.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm4.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm4.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM9.5 15a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm4.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM9.5 19a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-13Z'></path><path d='M2 11a3 3 0 0 1 3-3h22a3 3 0 0 1 3 3v11a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V11Zm3-1a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h22a1 1 0 0 0 1-1V11a1 1 0 0 0-1-1H5Z'></path>\"]];","export default [[\"M7 8h-.5a.5.5 0 0 1-.354-.146l-.927-.928a3.502 3.502 0 0 1-4.047-2.34 2.5 2.5 0 0 0 3.054 3.306.5.5 0 0 1 .499.126L5.707 9H6.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h1v-1h-.5a.5.5 0 0 1-.5-.5V9h-.5a.5.5 0 0 1-.5-.5V8ZM4.5 0a3.5 3.5 0 0 0-3.467 3.017 3.5 3.5 0 0 0 3.186 5.909l.927.928A.5.5 0 0 0 5.5 10H6v.5a.5.5 0 0 0 .5.5H7v.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5V10h.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.146-.354L7.926 4.22A3.5 3.5 0 0 0 4.5 0ZM4 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"M2.1 3.552a4.502 4.502 0 0 1 8.84 1.681l3.914 3.913A.5.5 0 0 1 15 9.5v3a.5.5 0 0 1-.5.5H14v1.5a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.354-.146l-1-1A.5.5 0 0 1 9 13.5V12H7.5a.5.5 0 0 1-.354-.146l-.913-.914A4.5 4.5 0 0 1 2.1 3.552Zm.027 2.012a3.503 3.503 0 0 0 4.16 4.347.5.5 0 0 1 .465.134l.955.955H9.5a.5.5 0 0 1 .5.5V10H8.5a.5.5 0 0 1-.354-.146l-.913-.914a4.502 4.502 0 0 1-5.107-3.376ZM10 11.5v1.793l.707.707H13v-1h-1.5a.5.5 0 0 1-.354-.146l-1-1A.5.5 0 0 1 10 11.5ZM7 4a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\",\"M4.782 4.782a7 7 0 0 1 13.07 4.655l4.855 4.856A1 1 0 0 1 23 15v4a1 1 0 0 1-1 1h-2v2a1 1 0 0 1-1 1h-4a1 1 0 0 1-.707-.293l-1-1A1 1 0 0 1 13 21v-2h-1a1 1 0 0 1-.707-.293l-1.068-1.068A7 7 0 0 1 4.782 4.782ZM4 8a5 5 0 0 0 6.058 7.56 1 1 0 0 1 1.119.204L12.414 17H14a1 1 0 0 1 1 1v2.586l.414.414H18v-1a1 1 0 0 1-.707-.293l-1-1A1 1 0 0 1 16 18v-2h-1a1 1 0 0 1-.707-.293l-1.068-1.068A7 7 0 0 1 4 7.999Zm7-1.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z\",\"M19 21h-1a1 1 0 0 1-.707-.293l-1.239-1.239A8.986 8.986 0 0 1 13 20c-4.426 0-8.106-3.195-8.859-7.405a7 7 0 0 0 9.74 7.786 1 1 0 0 1 1.12.205L16.413 22H18a1 1 0 0 1 1 1v1h1a1 1 0 0 1 1 1v1.586L22.414 28H25v-1h-1a1 1 0 0 1-.707-.293l-2-2A1 1 0 0 1 21 24v-1h-1a1 1 0 0 1-1-1v-1Zm8 6h1a1 1 0 0 0 1-1v-4a1 1 0 0 0-.293-.707l-7.239-7.239a9 9 0 0 0-16.81-6.441 9 9 0 0 0 9.395 14.855l1.24 1.24A1 1 0 0 0 16 24h1v1a1 1 0 0 0 1 1h1v1a1 1 0 0 0 .293.707l2 2A1 1 0 0 0 22 30h4a1 1 0 0 0 1-1v-2ZM14 9.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Z\"],[\"M4.5 1a2.5 2.5 0 1 0 .726 4.893.5.5 0 0 1 .499.125L6.707 7H7.5a.5.5 0 0 1 .5.5V8h.5a.5.5 0 0 1 .5.5V9h1V7.707L7.018 4.725a.5.5 0 0 1-.125-.499A2.5 2.5 0 0 0 4.5 1ZM7 8h-.5a.5.5 0 0 1-.354-.146l-.927-.928a3.502 3.502 0 0 1-4.047-2.34 2.5 2.5 0 0 0 3.054 3.306.5.5 0 0 1 .499.126L5.707 9H6.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h1v-1h-.5a.5.5 0 0 1-.5-.5V9h-.5a.5.5 0 0 1-.5-.5V8ZM4.5 0a3.5 3.5 0 0 0-3.467 3.017 3.5 3.5 0 0 0 3.186 5.909l.927.928A.5.5 0 0 0 5.5 10H6v.5a.5.5 0 0 0 .5.5H7v.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5V10h.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.146-.354L7.926 4.22A3.5 3.5 0 0 0 4.5 0ZM4 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"M2 6.5c0-.324.044-.638.127-.936A4.502 4.502 0 0 0 7.233 8.94l.913.914A.5.5 0 0 0 8.5 10H10v1.5a.5.5 0 0 0-.5-.5H7.707l-.955-.955a.5.5 0 0 0-.465-.134A3.5 3.5 0 0 1 2 6.5Zm8 6.793V11.5a.5.5 0 0 0 .146.354l1 1A.5.5 0 0 0 11.5 13H13v1h-2.293L10 13.293Zm4 1.207V13h.5a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.146-.354L10.94 5.233A4.5 4.5 0 0 0 2.1 3.552a4.5 4.5 0 0 0 4.133 7.388l.912.914A.5.5 0 0 0 7.5 12H9v1.5a.5.5 0 0 0 .146.354l1 1A.5.5 0 0 0 10.5 15h3a.5.5 0 0 0 .5-.5ZM6.5 1a3.5 3.5 0 1 0 .787 6.911.5.5 0 0 1 .465.134L8.707 9H10.5a.5.5 0 0 1 .5.5v1.793l.707.707H14V9.707l-3.955-3.955a.5.5 0 0 1-.134-.465A3.5 3.5 0 0 0 6.5 1ZM6 5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"M11 3a5 5 0 0 0-5 4.98V8a5 5 0 0 0 7.058 4.559 1 1 0 0 1 1.119.204L15.414 14H17a1 1 0 0 1 1 1v2.586l.414.414H21v-2.586l-4.964-4.964a1 1 0 0 1-.25-.997A5 5 0 0 0 11 3Zm0-2a7 7 0 0 0-6.218 3.782 7 7 0 0 0 5.443 12.857l1.068 1.068A1 1 0 0 0 12 19h1v2a1 1 0 0 0 .293.707l1 1A1 1 0 0 0 15 23h4a1 1 0 0 0 1-1v-2h2a1 1 0 0 0 1-1v-4a1 1 0 0 0-.293-.707l-4.855-4.855A7 7 0 0 0 11 1ZM4 8v.045a7 7 0 0 0 9.224 6.594l1.069 1.068A1 1 0 0 0 15 16h1v2a1.023 1.023 0 0 0 .053.32 1 1 0 0 0 .24.387l1 1A1 1 0 0 0 18 20v1h-2.586L15 20.586V18a1 1 0 0 0-1-1h-1.586l-1.237-1.237a1 1 0 0 0-1.12-.204A5 5 0 0 1 4 8Zm5.5 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\",\"M13 4a7 7 0 1 0 2.88 13.382 1 1 0 0 1 1.12.204L18.414 19H20a1 1 0 0 1 1 1v1h1a1 1 0 0 1 1 1v1.586L24.414 25H27v-2.586L19.586 15a1 1 0 0 1-.204-1.12A7 7 0 0 0 13 4Zm6 17h-1a1 1 0 0 1-.707-.293l-1.239-1.239A8.986 8.986 0 0 1 13 20c-4.426 0-8.106-3.195-8.859-7.405a7 7 0 0 0 9.74 7.786 1 1 0 0 1 1.12.205L16.413 22H18a1 1 0 0 1 1 1v1h1a1 1 0 0 1 1 1v1.586L22.414 28H25v-1h-1a1 1 0 0 1-.707-.293l-2-2A1 1 0 0 1 21 24v-1h-1a1 1 0 0 1-1-1v-1Zm8 6h1a1 1 0 0 0 1-1v-4a1 1 0 0 0-.293-.707l-7.239-7.239a9 9 0 0 0-16.81-6.441 9 9 0 0 0 9.395 14.855l1.24 1.24A1 1 0 0 0 16 24h1v1a1 1 0 0 0 1 1h1v1a1 1 0 0 0 .293.707l2 2A1 1 0 0 0 22 30h4a1 1 0 0 0 1-1v-2ZM14 9.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Z\"]];","export default [[\"M3.084 1.223a.5.5 0 0 1 .64-.17l5.552 2.776.777-1.553.894.448-1 2a.5.5 0 0 1-.67.223L3.67 2.145 1.916 4.777l-.832-.554 2-3ZM4.5 5a.5.5 0 0 0-.5.5V10H3V7.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V11h8.5s-.001 0 0 0H12v-1h-1V8.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V10H7V5.5a.5.5 0 0 0-.5-.5h-2Z\",\"M4.442 1.003a.5.5 0 0 1 .378.113l5.603 4.669 3.182-4.092.79.614-3.5 4.5a.5.5 0 0 1-.715.077L4.584 2.221 1.9 5.8l-.8-.6 3-4a.5.5 0 0 1 .342-.197ZM6.5 7a.5.5 0 0 0-.5.5V14H5V9.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V14H1v1h13v-1h-1v-3.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V14H9V7.5a.5.5 0 0 0-.5-.5h-2Z\",\"M8.614 2.21a1 1 0 0 0-1.373.14l-6 7 1.518 1.3 5.38-6.275 8.247 6.414a1 1 0 0 0 1.446-.234l4-6-1.664-1.11-3.403 5.105-8.151-6.34ZM21 23h2v-2h-1v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5h-1v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8H8v-6a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v6H1v2h20Z\",\"M10.569 3.178a1 1 0 0 0-1.359.208l-7 9 1.58 1.228 6.418-8.253 12.223 8.461a1 1 0 0 0 1.417-.292l5-8-1.696-1.06-4.445 7.111L10.57 3.178ZM12 15v13h-2v-7a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v7H2v2h28v-2h-2v-9a1 1 0 0 0-1-1h-5a1 1 0 0 0-1 1v9h-2V15a1 1 0 0 0-1-1h-5a1 1 0 0 0-1 1Z\"],[\"M3.084 1.223a.5.5 0 0 1 .64-.17l5.552 2.776.777-1.553.894.448-1 2a.5.5 0 0 1-.67.223L3.67 2.145 1.916 4.777l-.832-.554 2-3ZM4 5.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V10h1V8.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V10h1v1h-1.5c.001 0 0 0 0 0h-4s.001 0 0 0H0V7.5A.5.5 0 0 1 .5 7h2a.5.5 0 0 1 .5.5V10h1V5.5ZM5 10h1V6H5v4Zm-3 0V8H1v2h1Zm8 0V9H9v1h1Z\",\"M4.82 1.116a.5.5 0 0 0-.72.084l-3 4 .8.6 2.684-3.579 5.596 4.663a.5.5 0 0 0 .715-.077l3.5-4.5-.79-.614-3.182 4.092-5.603-4.67ZM6 7.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V14h1v-3.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V14h1v1H1v-1h1V9.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V14h1V7.5ZM4 14v-4H3v4h1Zm4-6v6H7V8h1Zm4 6h-1v-3h1v3Z\",\"M8.614 2.21a1 1 0 0 0-1.373.14l-6 7 1.518 1.3 5.38-6.275 8.247 6.414a1 1 0 0 0 1.446-.234l4-6-1.664-1.11-3.403 5.105-8.151-6.34ZM9 21v-8a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v8h1v-5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v5h1v2H1v-2h1v-6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v6h1Zm4-7v7h-2v-7h2Zm7 7h-2v-4h2v4ZM6 21v-5H4v5h2Z\",\"M10.569 3.178a1 1 0 0 0-1.359.208l-7 9 1.58 1.228 6.418-8.253 12.223 8.461a1 1 0 0 0 1.417-.292l5-8-1.696-1.06-4.445 7.111L10.57 3.178ZM12 15v13h-2v-7a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v7H2v2h28v-2h-2v-9a1 1 0 0 0-1-1h-5a1 1 0 0 0-1 1v9h-2V15a1 1 0 0 0-1-1h-5a1 1 0 0 0-1 1Zm5 1h-3v12h3V16Zm-9 6v6H5v-6h3Zm18-2v8h-3v-8h3Z\"]];","export default [[\"M2.5 2A1.5 1.5 0 0 0 1 3.5v5A1.5 1.5 0 0 0 2.5 10h5.04a1.5 1.5 0 0 0 1.139-.524l2.7-3.15a.5.5 0 0 0 0-.651l-2.7-3.151A1.5 1.5 0 0 0 7.54 2H2.5Z\",\"M2.5 3A1.5 1.5 0 0 0 1 4.5v7A1.5 1.5 0 0 0 2.5 13h8.51a1.5 1.5 0 0 0 1.185-.58l3.2-4.113a.5.5 0 0 0 0-.614l-3.2-4.114A1.5 1.5 0 0 0 11.01 3H2.5Z\",\"M4.5 5A2.5 2.5 0 0 0 2 7.5v9A2.5 2.5 0 0 0 4.5 19h11.563a3 3 0 0 0 2.305-1.08l4.4-5.28a1 1 0 0 0 0-1.28l-4.4-5.28A3 3 0 0 0 16.063 5H4.5Z\",\"M5 6a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h16.563a3 3 0 0 0 2.305-1.08l6.9-8.28a1 1 0 0 0 0-1.28l-6.9-8.28A3 3 0 0 0 21.563 6H5Z\"],[\"M2.5 3a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h5.04a.5.5 0 0 0 .38-.175L10.34 6 7.92 3.175A.5.5 0 0 0 7.54 3H2.5ZM1 3.5A1.5 1.5 0 0 1 2.5 2h5.04a1.5 1.5 0 0 1 1.139.524l2.7 3.15a.5.5 0 0 1 0 .651l-2.7 3.151A1.5 1.5 0 0 1 7.54 10H2.5A1.5 1.5 0 0 1 1 8.5v-5Z\",\"M2.5 4a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h8.51a.5.5 0 0 0 .396-.193L14.366 8l-2.96-3.807A.5.5 0 0 0 11.01 4H2.5ZM1 4.5A1.5 1.5 0 0 1 2.5 3h8.51c.464 0 .9.214 1.185.58l3.2 4.113a.5.5 0 0 1 0 .614l-3.2 4.114A1.5 1.5 0 0 1 11.01 13H2.5A1.5 1.5 0 0 1 1 11.5v-7Z\",\"M4.5 7a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h11.563a1 1 0 0 0 .768-.36L20.698 12l-3.867-4.64a1 1 0 0 0-.768-.36H4.5ZM2 7.5A2.5 2.5 0 0 1 4.5 5h11.563a3 3 0 0 1 2.305 1.08l4.4 5.28a1 1 0 0 1 0 1.28l-4.4 5.28A3 3 0 0 1 16.063 19H4.5A2.5 2.5 0 0 1 2 16.5v-9Z\",\"M5 8a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h16.563a1 1 0 0 0 .768-.36L28.698 16l-6.367-7.64a1 1 0 0 0-.768-.36H5ZM2 9a3 3 0 0 1 3-3h16.563a3 3 0 0 1 2.305 1.08l6.9 8.28a1 1 0 0 1 0 1.28l-6.9 8.28A3 3 0 0 1 21.563 26H5a3 3 0 0 1-3-3V9Z\"]];","export default [[\"M1.75 8A.75.75 0 0 1 1 7.25v-4.5A.75.75 0 0 1 1.75 2h8.5a.75.75 0 0 1 .75.75v4.5a.75.75 0 0 1-.75.75h-8.5ZM0 9.5A.5.5 0 0 1 .5 9h11a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5Z\",\"M2 10a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v6Zm-.5 2a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1h-13Z\",\"M3 14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v8Zm0 3a1 1 0 1 0 0 2h18a1 1 0 1 0 0-2H3Z\",\"M4 20a2 2 0 0 0 2 2h20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v12Zm-1 3a1 1 0 1 0 0 2h26a1 1 0 1 0 0-2H3Z\"],[\"M1.75 8A.75.75 0 0 1 1 7.25v-4.5A.75.75 0 0 1 1.75 2h8.5a.75.75 0 0 1 .75.75v4.5a.75.75 0 0 1-.75.75h-8.5ZM2 3v4h8V3H2ZM.5 9a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1H.5Z\",\"M3 11a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H3Zm0-1h10V4H3v6Zm-1.5 2a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1h-13Z\",\"M5 16a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5Zm0-2h14V6H5v8Zm-2 3a1 1 0 1 0 0 2h18a1 1 0 1 0 0-2H3Z\",\"M6 22a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h20a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6Zm0-2h20V8H6v12Zm-3 3a1 1 0 1 0 0 2h26a1 1 0 1 0 0-2H3Z\"]];","export default [[\"<path d='M1.75 7A.75.75 0 0 1 1 6.25v-4.5A.75.75 0 0 1 1.75 1h8.5a.75.75 0 0 1 .75.75v2.651A3 3 0 0 0 6.5 7H1.75Zm6.104-4.854a.5.5 0 0 0-.708 0L5.5 3.793l-.646-.647a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0l2-2a.5.5 0 0 0 0-.708ZM6.67 8H.5a.5.5 0 0 0 0 1h5.837c.122-.257.274-.496.452-.714A2.98 2.98 0 0 1 6.67 8Z'></path><path d='M10.9 8.428a2 2 0 1 0-2.8 0C7.436 8.878 7 9.638 7 10.5A1.5 1.5 0 0 0 8.5 12h2a1.5 1.5 0 0 0 1.5-1.5c0-.862-.436-1.622-1.1-2.072ZM9.5 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2Zm0 3a1.5 1.5 0 0 1 1.5 1.5.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5A1.5 1.5 0 0 1 9.5 9Z'></path>\",\"<path d='M2 9a1 1 0 0 0 1 1h6.035A3.5 3.5 0 0 1 14 6.337V3a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v6Zm8.839-4.868a.5.5 0 0 1 .029.707l-2.762 3a.5.5 0 0 1-.734.001L6.134 6.507a.5.5 0 0 1 .732-.68l.87.936 2.396-2.602a.5.5 0 0 1 .707-.029ZM9.337 11c.032.068.067.135.103.2a4.526 4.526 0 0 0-.682.8H1.5a.5.5 0 0 1 0-1h7.837Z'></path><path d='M14.125 11.4a2.5 2.5 0 1 0-3.25 0A3.5 3.5 0 0 0 9 14.5a1.5 1.5 0 0 0 1.5 1.5h4a1.5 1.5 0 0 0 1.5-1.5 3.5 3.5 0 0 0-1.875-3.1ZM12.5 8a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3Zm0 4a2.5 2.5 0 0 1 2.5 2.5.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5 2.5 2.5 0 0 1 2.5-2.5Z'></path>\",\"<path d='M3 13a2 2 0 0 0 2 2h7.583A6 6 0 0 1 21 8.544V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v8Zm12.707-6.707a1 1 0 0 1 0 1.414l-4 4a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L11 9.586l3.293-3.293a1 1 0 0 1 1.414 0ZM12.841 16c.049.136.101.27.159.401A7.52 7.52 0 0 0 11.865 18H3a1 1 0 1 1 0-2h9.841Z'></path><path d='M21.486 16.661a4 4 0 1 0-5.973 0A4.998 4.998 0 0 0 13 21a3 3 0 0 0 3 3h5a3 3 0 0 0 3-3 4.998 4.998 0 0 0-2.514-4.339ZM18.5 12a2 2 0 1 1 0 4 2 2 0 0 1 0-4Zm-.5 6h1a3 3 0 0 1 3 3 1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1 3 3 0 0 1 3-3Z'></path>\",\"<path d='M4 19a2 2 0 0 0 2 2h11.674A7 7 0 0 1 28 12.255V7a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v12Zm16.73-9.684a1 1 0 0 1-.046 1.413l-5.333 5a1 1 0 0 1-1.368 0l-2.667-2.5a1 1 0 1 1 1.368-1.458l1.983 1.858 4.65-4.359a1 1 0 0 1 1.413.046ZM17.019 22a8.5 8.5 0 0 0-1.267 2H3a1 1 0 1 1 0-2h14.019Z'></path><path d='M27.433 21.635a5 5 0 1 0-6.867 0A6.334 6.334 0 0 0 17 27.333 3.667 3.667 0 0 0 20.667 31h6.666A3.667 3.667 0 0 0 31 27.333a6.334 6.334 0 0 0-3.567-5.698ZM24 15a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm-.667 8h1.334A4.333 4.333 0 0 1 29 27.333c0 .92-.746 1.667-1.667 1.667h-6.666c-.92 0-1.667-.746-1.667-1.667A4.333 4.333 0 0 1 23.333 23Z'></path>\"],[\"<path d='M1.75 7A.75.75 0 0 1 1 6.25v-4.5A.75.75 0 0 1 1.75 1h8.5a.75.75 0 0 1 .75.75v2.651a2.98 2.98 0 0 0-1-.36V2H7.5a.498.498 0 0 1 .354.854l-2 2a.5.5 0 0 1-.708 0l-1-1a.5.5 0 1 1 .708-.708l.646.647 1.646-1.647A.499.499 0 0 1 7.5 2H2v4h4.67c-.11.313-.17.65-.17 1H1.75Zm4.92 1H.5a.5.5 0 0 0 0 1h5.837c.122-.257.274-.496.452-.714A2.98 2.98 0 0 1 6.67 8Z'></path><path d='M10.9 8.428a2 2 0 1 0-2.8 0C7.436 8.878 7 9.638 7 10.5A1.5 1.5 0 0 0 8.5 12h2a1.5 1.5 0 0 0 1.5-1.5c0-.862-.436-1.622-1.1-2.072ZM9.5 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2Zm0 3a1.5 1.5 0 0 1 1.5 1.5.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5A1.5 1.5 0 0 1 9.5 9Z'></path>\",\"<path d='M3 10a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v3.337a3.476 3.476 0 0 0-1-.302V3H3v6h6.035a3.53 3.53 0 0 0 0 1H3Zm6.337 1H1.5a.5.5 0 0 0 0 1h7.258c.196-.293.425-.56.682-.8a3.493 3.493 0 0 1-.103-.2Z'></path><path d='M10.839 4.132a.5.5 0 0 1 .029.707l-2.762 3a.5.5 0 0 1-.734.001L6.134 6.507a.5.5 0 0 1 .732-.68l.87.936 2.396-2.602a.5.5 0 0 1 .707-.029Zm3.286 7.268a2.5 2.5 0 1 0-3.25 0A3.5 3.5 0 0 0 9 14.5a1.5 1.5 0 0 0 1.5 1.5h4a1.5 1.5 0 0 0 1.5-1.5 3.5 3.5 0 0 0-1.875-3.1ZM12.5 8a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3Zm0 4a2.5 2.5 0 0 1 2.5 2.5.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5 2.5 2.5 0 0 1 2.5-2.5Z'></path>\",\"<path d='M5 15a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v3.544a5.963 5.963 0 0 0-2-.523V5H5v8h7.583a6.036 6.036 0 0 0 0 2H5Zm7.841 1H3a1 1 0 1 0 0 2h8.865A7.52 7.52 0 0 1 13 16.401a5.947 5.947 0 0 1-.16-.401Z'></path><path d='M15.707 6.293a1 1 0 0 1 0 1.414l-4 4a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L11 9.586l3.293-3.293a1 1 0 0 1 1.414 0Zm5.779 10.368a4 4 0 1 0-5.973 0A4.998 4.998 0 0 0 13 21a3 3 0 0 0 3 3h5a3 3 0 0 0 3-3 4.998 4.998 0 0 0-2.514-4.339ZM18.5 12a2 2 0 1 1 0 4 2 2 0 0 1 0-4Zm-.5 6h1a3 3 0 0 1 3 3 1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1 3 3 0 0 1 3-3Z'></path>\",\"<path d='M6 21a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h20a2 2 0 0 1 2 2v5.255a6.972 6.972 0 0 0-2-.965V7H6v12h11.07c.102.706.308 1.378.604 2H6Zm11.019 1H3a1 1 0 1 0 0 2h12.752a8.5 8.5 0 0 1 1.267-2Z'></path><path d='M20.684 10.73a1 1 0 1 0-1.368-1.46l-4.65 4.36-1.982-1.86a1 1 0 1 0-1.368 1.46l2.667 2.5a1 1 0 0 0 1.368 0l5.333-5Zm6.749 10.905a5 5 0 1 0-6.867 0A6.334 6.334 0 0 0 17 27.333 3.667 3.667 0 0 0 20.667 31h6.666A3.667 3.667 0 0 0 31 27.333a6.334 6.334 0 0 0-3.567-5.698ZM24 15a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm-.667 8h1.334A4.333 4.333 0 0 1 29 27.333c0 .92-.746 1.667-1.667 1.667h-6.666c-.92 0-1.667-.746-1.667-1.667A4.333 4.333 0 0 1 23.333 23Z'></path>\"]];","export default [[\"<path d='M6.279.073a.75.75 0 0 0-.558 0l-4.326 1.73a.75.75 0 0 0 0 1.393l4.327 1.73a.75.75 0 0 0 .557 0l4.327-1.73a.75.75 0 0 0 0-1.393L6.279.073ZM2.346 2.5 6 1.038 9.654 2.5 6 3.96 2.346 2.5Z'></path><path d='m2.346 4.923 2.911 1.165a2 2 0 0 0 1.486 0l2.911-1.165.952.38a.75.75 0 0 1 0 1.394l-4.327 1.73a.75.75 0 0 1-.557 0l-4.327-1.73a.75.75 0 0 1 0-1.393l.951-.38Z'></path><path d='m2.346 8.423-.951.38a.75.75 0 0 0 0 1.394l4.327 1.73a.75.75 0 0 0 .557 0l4.327-1.73a.75.75 0 0 0 0-1.393l-.952-.38-1.346.538 1.346.538L6 10.962 2.346 9.5l1.346-.538-1.346-.539Z'></path>\",\"<path d='M8.296.083a.75.75 0 0 0-.591 0L1.339 2.811a.75.75 0 0 0 0 1.379l6.366 2.728a.75.75 0 0 0 .59 0l6.366-2.728a.75.75 0 0 0 0-1.379L8.296.083ZM2.269 3.5 8 1.044 13.73 3.5 8 5.956 2.27 3.5Z'></path><path d='m2.81 6.18 4.402 1.887a2 2 0 0 0 1.576 0l4.401-1.886 1.472.63a.75.75 0 0 1 0 1.379l-6.365 2.728a.75.75 0 0 1-.591 0L1.339 8.19a.75.75 0 0 1 0-1.379l1.472-.63Z'></path><path d='m2.81 10.18-1.47.631a.75.75 0 0 0 0 1.379l6.365 2.728a.75.75 0 0 0 .59 0l6.366-2.728a.75.75 0 0 0 0-1.379l-1.472-.63-1.269.544 1.81.776L8 13.957 2.27 11.5l1.81-.776-1.27-.544Z'></path>\",\"<path d='M12.828.278a2 2 0 0 0-1.656 0L2.088 4.407c-1.367.622-1.367 2.565 0 3.186l9.084 4.13a2 2 0 0 0 1.656 0l9.084-4.13c1.367-.621 1.367-2.564 0-3.186L12.828.277ZM12 2.098 20.583 6 12 9.902 3.417 6 12 2.1Z'></path><path d='m2.767 10.099 7.578 3.444a4 4 0 0 0 3.31 0l7.578-3.444.679.308c1.367.622 1.367 2.565 0 3.186l-9.084 4.13a2 2 0 0 1-1.656 0l-9.084-4.13c-1.367-.621-1.367-2.564 0-3.186l.679-.308Z'></path><path d='m2.767 16.099-.679.308c-1.367.622-1.367 2.565 0 3.186l9.084 4.13a2 2 0 0 0 1.656 0l9.084-4.13c1.367-.621 1.367-2.564 0-3.186l-.679-.308-2.416 1.098 1.766.803L12 21.902 3.417 18l1.766-.803L2.767 16.1Z'></path>\",\"<path d='M16.843 1.289a2 2 0 0 0-1.685 0L3.533 6.686c-1.544.717-1.544 2.911 0 3.628l11.625 5.397a2 2 0 0 0 1.685 0l11.625-5.397c1.544-.717 1.544-2.911 0-3.628L16.843 1.289ZM4.375 8.5 16 3.103 27.626 8.5 16 13.898 4.375 8.5Z'></path><path d='m5.866 13.602 8.45 3.924a4 4 0 0 0 3.369 0l8.45-3.924 2.333 1.084c1.544.717 1.544 2.911 0 3.628l-11.625 5.398a2 2 0 0 1-1.685 0L3.533 18.314c-1.544-.717-1.544-2.911 0-3.628l2.333-1.084Z'></path><path d='m4.79 21.102-1.257.584c-1.544.717-1.544 2.911 0 3.628l11.625 5.398a2 2 0 0 0 1.685 0l11.625-5.398c1.544-.717 1.544-2.911 0-3.628l-1.257-.584-2.374 1.103 2.789 1.295L16 28.898 4.375 23.5l2.79-1.295-2.376-1.102Z'></path>\"],[\"<path d='M6.279.073a.75.75 0 0 0-.557 0l-4.327 1.73a.75.75 0 0 0 0 1.394l4.327 1.73a.75.75 0 0 0 .557 0l4.327-1.73a.75.75 0 0 0 0-1.393L6.28.074ZM2.347 2.5l3.654-1.46L9.654 2.5 6.001 3.962 2.347 2.5Z'></path><path d='m2.347 4.924 2.91 1.164a2 2 0 0 0 1.486 0l2.912-1.164.951.38a.75.75 0 0 1 0 1.393L6.28 8.427a.75.75 0 0 1-.557 0l-4.327-1.73a.75.75 0 0 1 0-1.393l.952-.38Z'></path><path d='m2.347 8.424-.952.38a.75.75 0 0 0 0 1.393l4.327 1.73a.75.75 0 0 0 .557 0l4.327-1.73a.75.75 0 0 0 0-1.393l-.951-.38-1.346.538 1.345.539-3.653 1.461-3.654-1.461 1.346-.539-1.346-.538Z'></path>\",\"<path d='M8.296.083a.75.75 0 0 0-.591 0L1.339 2.811a.75.75 0 0 0 0 1.379l6.366 2.728a.75.75 0 0 0 .59 0l6.366-2.728a.75.75 0 0 0 0-1.379L8.296.083ZM2.269 3.5 8 1.044 13.73 3.5 8 5.956 2.27 3.5Z'></path><path d='m2.81 6.18 4.402 1.887a2 2 0 0 0 1.576 0l4.401-1.886 1.472.63a.75.75 0 0 1 0 1.379l-6.365 2.728a.75.75 0 0 1-.591 0L1.339 8.19a.75.75 0 0 1 0-1.379l1.472-.63Z'></path><path d='m2.81 10.18-1.47.631a.75.75 0 0 0 0 1.379l6.365 2.728a.75.75 0 0 0 .59 0l6.366-2.728a.75.75 0 0 0 0-1.379l-1.472-.63-1.269.544 1.81.776L8 13.957 2.27 11.5l1.81-.776-1.27-.544Z'></path>\",\"<path d='M12.828.278a2 2 0 0 0-1.656 0L2.088 4.407c-1.367.622-1.367 2.565 0 3.186l9.084 4.13a2 2 0 0 0 1.656 0l9.084-4.13c1.367-.621 1.367-2.564 0-3.186L12.828.277ZM12 2.098 20.583 6 12 9.902 3.417 6 12 2.1Z'></path><path d='m2.767 10.099 7.578 3.444a4 4 0 0 0 3.31 0l7.578-3.444.679.308c1.367.622 1.367 2.565 0 3.186l-9.084 4.13a2 2 0 0 1-1.656 0l-9.084-4.13c-1.367-.621-1.367-2.564 0-3.186l.679-.308Z'></path><path d='m2.767 16.099-.679.308c-1.367.622-1.367 2.565 0 3.186l9.084 4.13a2 2 0 0 0 1.656 0l9.084-4.13c1.367-.621 1.367-2.564 0-3.186l-.679-.308-2.416 1.098 1.766.803L12 21.902 3.417 18l1.766-.803L2.767 16.1Z'></path>\",\"<path d='M16.843 1.289a2 2 0 0 0-1.685 0L3.533 6.686c-1.544.717-1.544 2.911 0 3.628l11.625 5.397a2 2 0 0 0 1.685 0l11.625-5.397c1.544-.717 1.544-2.911 0-3.628L16.843 1.289ZM4.375 8.5 16 3.103 27.626 8.5 16 13.898 4.375 8.5Z'></path><path d='m5.866 13.602 8.45 3.924a4 4 0 0 0 3.369 0l8.45-3.924 2.333 1.084c1.544.717 1.544 2.911 0 3.628l-11.625 5.398a2 2 0 0 1-1.685 0L3.533 18.314c-1.544-.717-1.544-2.911 0-3.628l2.333-1.084Z'></path><path d='m4.79 21.102-1.257.584c-1.544.717-1.544 2.911 0 3.628l11.625 5.398a2 2 0 0 0 1.685 0l11.625-5.398c1.544-.717 1.544-2.911 0-3.628l-1.257-.584-2.374 1.103 2.789 1.295L16 28.898 4.375 23.5l2.79-1.295-2.376-1.102Z'></path>\"]];","export default [[\"M0 2.5A1.5 1.5 0 0 1 1.5 1h9A1.5 1.5 0 0 1 12 2.5V4H0V2.5ZM0 5v4.5A1.5 1.5 0 0 0 1.5 11H3V5H0Zm4 6h6.5A1.5 1.5 0 0 0 12 9.5V5H4v6Z\",\"M1 3.5A1.5 1.5 0 0 1 2.5 2h11A1.5 1.5 0 0 1 15 3.5V5H1V3.5ZM1 6v6.5A1.5 1.5 0 0 0 2.5 14H4V6H1Zm4 8h8.5a1.5 1.5 0 0 0 1.5-1.5V6H5v8Z\",\"M1 6a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v2H1V6Zm0 4v8a3 3 0 0 0 3 3h2V10H1Zm7 11h12a3 3 0 0 0 3-3v-8H8v11Z\",\"M2 8a3 3 0 0 1 3-3h22a3 3 0 0 1 3 3v3H2V8Zm0 5v11a3 3 0 0 0 3 3h3V13H2Zm8 14h17a3 3 0 0 0 3-3V13H10v14Z\"],[\"M0 2.5A1.5 1.5 0 0 1 1.5 1h9A1.5 1.5 0 0 1 12 2.5v7a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 0 9.5v-7ZM1.5 2a.5.5 0 0 0-.5.5V4h10V2.5a.5.5 0 0 0-.5-.5h-9ZM1 9.5a.5.5 0 0 0 .5.5H3V5H1v4.5Zm3 .5h6.5a.5.5 0 0 0 .5-.5V5H4v5Z\",\"M1 3.5A1.5 1.5 0 0 1 2.5 2h11A1.5 1.5 0 0 1 15 3.5v9a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 12.5v-9ZM2.5 3a.5.5 0 0 0-.5.5V5h12V3.5a.5.5 0 0 0-.5-.5h-11ZM2 12.5a.5.5 0 0 0 .5.5H4V6H2v6.5Zm3 .5h8.5a.5.5 0 0 0 .5-.5V6H5v7Z\",\"M1 6a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3V6Zm3-1a1 1 0 0 0-1 1v2h18V6a1 1 0 0 0-1-1H4ZM3 18a1 1 0 0 0 1 1h2v-9H3v8Zm5 1h12a1 1 0 0 0 1-1v-8H8v9Z\",\"M2 8a3 3 0 0 1 3-3h22a3 3 0 0 1 3 3v16a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V8Zm3-1a1 1 0 0 0-1 1v3h24V8a1 1 0 0 0-1-1H5ZM4 24a1 1 0 0 0 1 1h3V13H4v11Zm6 1h17a1 1 0 0 0 1-1V13H10v12Z\"]];","export default [[\"<g clip-path='url(#a)'><path d='M3 3a.5.5 0 0 1 .462.308l2.5 6a.5.5 0 0 1-.924.384L4.333 8H1.667L.962 9.692a.5.5 0 0 1-.924-.384l2.5-6A.5.5 0 0 1 3 3Zm-.917 4h1.834L3 4.8 2.083 7ZM7 3.5a.5.5 0 0 1 .5-.5H9a2 2 0 0 1 1.662 3.112A2 2 0 0 1 10 10H7.5a.5.5 0 0 1-.5-.5v-6ZM8 6h1a1 1 0 0 0 0-2H8v2Zm0 1v2h2a1 1 0 1 0 0-2H8Z'></path></g><defs><clipPath id='a'><path d='M0 0h12v12H0z'></path></clipPath></defs>\",\"M4.5 4c.2 0 .38.12.46.303l3 7a.5.5 0 0 1-.92.394L6.313 10H2.687l-.727 1.697a.5.5 0 0 1-.92-.394l3-7A.5.5 0 0 1 4.5 4Zm0 1.77L3.115 9h2.77L4.5 5.77ZM9.5 4a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h3a2.5 2.5 0 0 0 1.07-4.76A2 2 0 0 0 12 4H9.5ZM12 7h-2V5h2a1 1 0 1 1 0 2Zm-2 4V8h2.5a1.5 1.5 0 0 1 0 3H10Z\",\"M14 6a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h4.5a3.5 3.5 0 0 0 1.852-6.47A3.5 3.5 0 0 0 17.5 6H14Zm3.5 5H15V8h2.5a1.5 1.5 0 0 1 0 3ZM15 16v-3h3.5a1.5 1.5 0 0 1 0 3H15ZM6.906 6a1 1 0 0 1 .893.619l4.125 10a1 1 0 1 1-1.848.762L9.505 16H3.6l-.701 1.438a1 1 0 0 1-1.798-.876l4.875-10A1 1 0 0 1 6.906 6ZM6.8 9.438 4.575 14h4.106L6.799 9.438Z\",\"M23.5 8H19a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h5.5a4.5 4.5 0 0 0 2.256-8.394A4.5 4.5 0 0 0 23.5 8Zm0 7H20v-5h3.5a2.5 2.5 0 0 1 0 5ZM20 22v-5h4.5a2.5 2.5 0 0 1 0 5H20ZM9.53 8a1 1 0 0 1 .9.634l5.5 14a1 1 0 1 1-1.86.732L12.746 20H5.495l-1.588 3.421a1 1 0 0 1-1.814-.842l6.5-14A1 1 0 0 1 9.53 8ZM6.424 18h5.537l-2.538-6.46-3 6.46Z\"]];","export default [[\"<path d='M6.5 1a.5.5 0 0 1 .5.5v2.72c.278-.122.619-.22 1-.22.445 0 .827.174 1.111.362.71.467.889 1.304.889 1.96v.186c0 .565-.156 1.164-.475 1.636C9.201 8.626 8.685 9 8 9c-.376 0-.75-.15-1.039-.306A.5.5 0 0 1 6 8.5v-7a.5.5 0 0 1 .5-.5ZM7 7.535c.072.053.162.116.263.179.28.173.552.286.737.286.277 0 .511-.14.696-.415.191-.283.304-.68.304-1.077v-.186c0-.536-.152-.937-.438-1.125C8.372 5.073 8.182 5 8 5c-.303 0-.589.114-.815.247A2.274 2.274 0 0 0 7 5.368v2.167ZM1.146 4.646A2.207 2.207 0 0 1 2.707 4h.426C4.164 4 5 4.836 5 5.867V8.5a.5.5 0 0 1-.991.094l-.207.13c-.29.18-.626.276-.969.276H2.5a1.5 1.5 0 1 1 0-3H4v-.133A.867.867 0 0 0 3.133 5h-.426c-.32 0-.627.127-.853.354a.5.5 0 1 1-.708-.708ZM2.5 7a.5.5 0 0 0 0 1h.333a.833.833 0 0 0 .44-.126L4 7.422V7H2.5Z'></path><path d='M1 9.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-1 0v.5H1v-.5Z'></path>\",\"<path d='M8.5 2a.5.5 0 0 1 .5.5v2.87c.39-.191.909-.37 1.5-.37.552 0 1.033.207 1.4.438.855.536 1.1 1.534 1.1 2.357v.095c0 .723-.206 1.478-.612 2.066C11.975 10.553 11.335 11 10.5 11c-.546 0-1.102-.248-1.5-.471a.5.5 0 0 1-1-.029v-8a.5.5 0 0 1 .5-.5ZM9 6.532v2.815c.107.075.251.172.417.269.376.218.778.384 1.083.384.436 0 .795-.222 1.065-.613.276-.399.435-.949.435-1.497v-.095c0-.686-.208-1.245-.631-1.51C11.097 6.115 10.8 6 10.5 6c-.451 0-.867.159-1.183.333A3.21 3.21 0 0 0 9 6.532ZM3.707 5c-.585 0-1.147.233-1.56.646a.5.5 0 1 0 .707.708C3.08 6.127 3.387 6 3.707 6H5a1 1 0 0 1 1 1H4a2 2 0 1 0 0 4h.238c.459 0 .907-.141 1.283-.405L6 10.26v.24a.5.5 0 0 0 1 0V7a2 2 0 0 0-2-2H3.707ZM4 8h2v1.04l-1.052.736a1.238 1.238 0 0 1-.71.224H4a1 1 0 0 1 0-2Z'></path><path d='M.5 11a.5.5 0 0 1 .5.5V13h13v-1.5a.5.5 0 0 1 1 0v2a.5.5 0 0 1-.5.5H.5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5Z'></path>\",\"<path d='M15 4a1 1 0 1 0-2 0v12a1 1 0 0 0 1.922.388c.58.31 1.325.612 2.078.612h.063c1.346-.021 2.36-.76 3-1.71.629-.932.937-2.11.937-3.226v-.64c0-1.19-.335-2.658-1.558-3.548C18.849 7.443 18.003 7 17 7c-.762 0-1.445.197-2 .44V4Zm0 5.737c.103-.075.228-.16.37-.243.428-.251.964-.47 1.534-.492.5-.02.963.2 1.36.49.473.344.736 1.024.736 1.932v.64c0 .778-.22 1.554-.595 2.108-.362.538-.824.82-1.373.828-.534.004-1.067-.3-1.506-.573A7.872 7.872 0 0 1 15 14.07V9.737ZM5.89 7a4 4 0 0 0-1.748.403l-.58.281a1 1 0 1 0 .875 1.799l.58-.282A2 2 0 0 1 5.89 9H7.5A1.5 1.5 0 0 1 9 10.5v.5H6a3 3 0 1 0 0 6h.667c.684 0 1.355-.192 1.937-.553l.414-.258A1 1 0 0 0 11 16v-5.5A3.5 3.5 0 0 0 7.5 7H5.89ZM9 13v.845l-1.453.903c-.264.165-.57.252-.88.252H6a1 1 0 1 1 0-2h3Z'></path><path d='M3 18a1 1 0 1 0-2 0v3a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1v-3a1 1 0 1 0-2 0v2H3v-2Z'></path>\",\"<path d='M18 5a1 1 0 0 1 1 1v4.59c.67-.316 1.53-.59 2.5-.59 1.207 0 2.223.56 2.916 1.082C25.631 11.996 26 13.46 26 14.699v1.213c0 2.18-1.25 4.751-3.876 5.054a5.476 5.476 0 0 1-.624.037c-.917 0-1.838-.393-2.527-.771A1 1 0 0 1 17 20V6a1 1 0 0 1 1-1Zm1 12.883c.18.13.413.29.679.448.655.392 1.33.672 1.821.672.121 0 .253-.008.395-.024 1.19-.137 2.105-1.406 2.105-3.067v-1.213c0-.813-.226-1.629-.915-2.113C22.59 12.24 22.044 12 21.5 12c-.755 0-1.457.274-2 .58a5.501 5.501 0 0 0-.5.321v4.982ZM8.243 10a4 4 0 0 0-2.829 1.172l-.121.12a1 1 0 1 0 1.414 1.415l.121-.121A2 2 0 0 1 8.243 12H10a2 2 0 0 1 2 2H8.5a3.5 3.5 0 1 0 0 7h.592a4 4 0 0 0 2.218-.672l.69-.46V20a1 1 0 1 0 2 0v-6a4 4 0 0 0-4-4H8.243ZM12 16v1.465l-1.799 1.2a2 2 0 0 1-1.11.335H8.5a1.5 1.5 0 0 1 0-3H12Z'></path><path d='M3 21a1 1 0 0 1 1 1v2h24v-2a1 1 0 1 1 2 0v3a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-3a1 1 0 0 1 1-1Z'></path>\"]];","export default [[\"<g clip-path='url(#a)'><path d='M3.462 3.308a.5.5 0 0 0-.924 0l-2.5 6a.5.5 0 0 0 .924.384L1.667 8h2.666l.705 1.692a.5.5 0 0 0 .924-.384l-2.5-6ZM3.917 7H2.083L3 4.8 3.917 7Zm3.229-1.354A2.207 2.207 0 0 1 8.707 5h.426C10.164 5 11 5.836 11 6.867V9.5a.5.5 0 0 1-.991.094l-.207.13c-.29.18-.626.276-.969.276H8.5a1.5 1.5 0 1 1 0-3H10v-.133A.867.867 0 0 0 9.133 6h-.426c-.32 0-.627.127-.853.354a.5.5 0 1 1-.708-.708ZM10 8H8.5a.5.5 0 0 0 0 1h.333a.833.833 0 0 0 .44-.126L10 8.422V8Z'></path></g><defs><clipPath id='a'><path d='M0 0h12v12H0z'></path></clipPath></defs>\",\"M4.96 4.303a.5.5 0 0 0-.92 0l-3 7a.5.5 0 0 0 .92.394L2.687 10h3.626l.727 1.697a.5.5 0 0 0 .92-.394l-3-7ZM5.885 9h-2.77L4.5 5.77 5.885 9Zm3.261-2.354A2.207 2.207 0 0 1 10.707 6H12a2 2 0 0 1 2 2v3.5a.5.5 0 0 1-1 0v-.24l-.479.335a2.238 2.238 0 0 1-1.283.405H11a2 2 0 1 1 0-4h2a1 1 0 0 0-1-1h-1.293c-.32 0-.627.127-.853.354a.5.5 0 1 1-.708-.708ZM13 9h-2a1 1 0 1 0 0 2h.238c.254 0 .502-.078.71-.224L13 10.04V9Z\",\"M8.8 6.619a1 1 0 0 0-1.824-.057l-4.875 10a1 1 0 1 0 1.798.876L4.6 16h5.906l.57 1.381a1 1 0 0 0 1.848-.762l-4.125-10ZM9.68 14H5.576L7.8 9.438 9.68 14Zm5.462-5.597A4 4 0 0 1 16.89 8h1.61a3.5 3.5 0 0 1 3.5 3.5V17a1 1 0 0 1-1.982.189l-.414.258a3.666 3.666 0 0 1-1.937.553H17a3 3 0 1 1 0-6h3v-.5a1.5 1.5 0 0 0-1.5-1.5h-1.61a2 2 0 0 0-.874.201l-.579.282a1 1 0 0 1-.874-1.799l.579-.281ZM20 14h-3a1 1 0 1 0 0 2h.667c.31 0 .616-.087.88-.252L20 14.845V14Z\",\"M11.43 8.634a1 1 0 0 0-1.837-.055l-6.5 14a1 1 0 1 0 1.814.842L6.495 20h7.252l1.322 3.366a1 1 0 0 0 1.862-.732l-5.5-14ZM12.962 18H7.424l3-6.46L12.96 18Zm6.452-3.828A4 4 0 0 1 22.243 13H24a4 4 0 0 1 4 4v6a1 1 0 1 1-2 0v-.131l-.69.46a4 4 0 0 1-2.218.671H22.5a3.5 3.5 0 1 1 0-7H26a2 2 0 0 0-2-2h-1.757a2 2 0 0 0-1.415.586l-.12.121a1 1 0 0 1-1.415-1.414l.121-.121ZM26 19h-3.5a1.5 1.5 0 0 0 0 3h.592a2 2 0 0 0 1.11-.336l1.798-1.2V19Z\"]];","export default [[\"M6 2c-.665 0-1.292.162-1.844.45l.755.754A2.993 2.993 0 0 1 6 3c.384 0 .751.072 1.09.204l.754-.755A3.983 3.983 0 0 0 6 2Zm1.16 2.37A1.99 1.99 0 0 1 8 6a1.997 1.997 0 0 1-2 2 2 2 0 1 1 1.16-3.63Zm1.636 2.72a3 3 0 0 0 0-2.18l.755-.754C9.838 4.708 10 5.336 10 6c0 .665-.162 1.292-.45 1.844l-.754-.755ZM7.09 8.795A2.993 2.993 0 0 1 6 9c-.384 0-.751-.072-1.09-.204l-.754.755C4.708 9.838 5.336 10 6 10c.665 0 1.292-.162 1.844-.45l-.755-.754ZM3.204 7.09A2.992 2.992 0 0 1 3 6c0-.384.072-.751.204-1.09l-.755-.754A3.983 3.983 0 0 0 2 6c0 .665.162 1.292.45 1.844l.754-.755ZM1 6a5 5 0 1 1 10 0A5 5 0 0 1 1 6Z\",\"M8 2c-.959 0-1.865.225-2.668.625l1.537 1.537a4 4 0 0 1 2.262 0l1.537-1.538A5.975 5.975 0 0 0 8 2Zm3.838 4.87 1.537-1.538c.4.803.625 1.71.625 2.668a5.98 5.98 0 0 1-.624 2.668l-1.538-1.537a4 4 0 0 0 0-2.262ZM9.13 11.837l1.537 1.538a5.97 5.97 0 0 1-2.668.624 5.975 5.975 0 0 1-2.668-.625l1.537-1.537a4.001 4.001 0 0 0 2.262 0ZM4.162 9.13a4.001 4.001 0 0 1 0-2.262L2.624 5.332A5.97 5.97 0 0 0 2 8c0 .959.225 1.865.625 2.668l1.537-1.537Zm6.235.674A2.996 2.996 0 0 0 8 5a3 3 0 1 0 2.397 4.805ZM1 8a7 7 0 1 1 14 0A7 7 0 0 1 1 8Z\",\"M12 3a8.967 8.967 0 0 0-3.764.822l2.347 2.346a6.016 6.016 0 0 1 2.834 0l2.347-2.346A8.966 8.966 0 0 0 12 3Zm5.832 10.417a6.014 6.014 0 0 0 0-2.834l2.346-2.346A8.966 8.966 0 0 1 21 12a8.966 8.966 0 0 1-.822 3.764l-2.346-2.347Zm-7.25 4.415a6.012 6.012 0 0 0 2.835 0l2.347 2.346A8.966 8.966 0 0 1 12 21a8.966 8.966 0 0 1-3.763-.822l2.346-2.346Zm-4.414-7.25a6.016 6.016 0 0 0 0 2.835l-2.346 2.347A8.966 8.966 0 0 1 3 12c0-1.344.294-2.618.822-3.764l2.346 2.347ZM1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm7.846-2.46a4 4 0 1 0 6.307 4.922 4 4 0 0 0-6.307-4.923Z\",\"M16 4c-2.18 0-4.225.582-5.988 1.598l2.985 2.985A7.977 7.977 0 0 1 16 8c1.062 0 2.076.207 3.003.583l2.985-2.985A11.945 11.945 0 0 0 16 4Zm4.243 7.757A5.976 5.976 0 0 0 16 10a6 6 0 1 0 4.243 1.757Zm-11.66 7.246A7.978 7.978 0 0 1 8 16c0-1.062.207-2.076.583-3.003l-2.985-2.985A11.945 11.945 0 0 0 4 16c0 2.18.582 4.225 1.598 5.988l2.985-2.985Zm4.414 4.414A7.979 7.979 0 0 0 16 24a7.977 7.977 0 0 0 3.003-.583l2.985 2.985A11.945 11.945 0 0 1 16 28c-2.18 0-4.225-.582-5.988-1.598l2.985-2.985Zm10.42-4.414c.376-.927.583-1.94.583-3.003a7.979 7.979 0 0 0-.583-3.003l2.985-2.985A11.944 11.944 0 0 1 28 16c0 2.18-.582 4.225-1.598 5.988l-2.985-2.985ZM2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Z\"],[\"M6 2c-.665 0-1.292.162-1.844.45l.755.754A2.993 2.993 0 0 1 6 3c.384 0 .751.072 1.09.204l.754-.755A3.983 3.983 0 0 0 6 2Zm1.97 1.737c.104.091.202.189.293.293l.708-.708c-.092-.103-.19-.2-.293-.293l-.708.708Zm.826 1.174a2.993 2.993 0 0 1 0 2.178l.755.755C9.838 7.292 10 6.664 10 6c0-.665-.162-1.292-.45-1.844l-.754.755ZM8.263 7.97a3.02 3.02 0 0 1-.293.293l.708.708c.103-.092.2-.19.293-.293l-.708-.708Zm-1.174.826A2.993 2.993 0 0 1 6 9c-.384 0-.751-.072-1.09-.204l-.754.755C4.708 9.838 5.336 10 6 10c.665 0 1.292-.162 1.844-.45l-.755-.754ZM4.03 8.263a3.02 3.02 0 0 1-.293-.293l-.708.708c.092.103.19.2.293.293l.708-.708Zm-.826-1.174A2.993 2.993 0 0 1 3 6c0-.384.072-.752.204-1.09l-.755-.754A3.983 3.983 0 0 0 2 6c0 .665.162 1.292.45 1.844l.754-.755Zm.533-3.059a3.02 3.02 0 0 1 .293-.293l-.708-.708c-.103.092-.2.19-.293.293l.708.708ZM1 6a5 5 0 1 1 10 0A5 5 0 0 1 1 6Zm3 0a2 2 0 1 1 4 0 2 2 0 0 1-4 0Z\",\"M8 2c-.959 0-1.865.225-2.668.625l1.537 1.537a4 4 0 0 1 2.262 0l1.537-1.538A5.976 5.976 0 0 0 8 2Zm2.107 2.6A4.02 4.02 0 0 1 11.4 5.892l1.44-1.439a6.035 6.035 0 0 0-1.293-1.293l-1.44 1.44Zm1.73 2.27a4.001 4.001 0 0 1 0 2.26l1.539 1.538c.4-.803.624-1.71.624-2.668 0-.959-.225-1.865-.625-2.668l-1.537 1.537Zm-.437 3.237a4.021 4.021 0 0 1-1.292 1.293l1.439 1.44c.494-.363.93-.8 1.293-1.293l-1.44-1.44Zm-2.27 1.73a4 4 0 0 1-2.26 0l-1.538 1.538c.803.4 1.71.625 2.668.625a5.98 5.98 0 0 0 2.668-.624l-1.537-1.538ZM5.893 11.4A4.02 4.02 0 0 1 4.6 10.107l-1.44 1.44c.363.494.8.93 1.293 1.293l1.44-1.44Zm-1.73-2.27a4.001 4.001 0 0 1 0-2.26L2.625 5.331A5.977 5.977 0 0 0 2 8c0 .959.225 1.865.625 2.668l1.537-1.537ZM4.6 5.893A4.02 4.02 0 0 1 5.893 4.6l-1.44-1.44c-.494.363-.93.8-1.293 1.293l1.44 1.44ZM1 8a7 7 0 1 1 14 0A7 7 0 0 1 1 8Zm4 0a3 3 0 1 1 6 0 3 3 0 0 1-6 0Z\",\"M12 3a8.966 8.966 0 0 0-3.764.822l2.347 2.346a6.014 6.014 0 0 1 2.834 0l2.347-2.346A8.967 8.967 0 0 0 12 3Zm3.375 4.039a6.034 6.034 0 0 1 1.586 1.586l2.147-2.147a9.05 9.05 0 0 0-1.586-1.586L15.375 7.04Zm2.457 3.544a6.013 6.013 0 0 1 0 2.834l2.346 2.347A8.966 8.966 0 0 0 21 12a8.966 8.966 0 0 0-.822-3.764l-2.346 2.347Zm-.87 4.793a6.033 6.033 0 0 1-1.587 1.585l2.147 2.147a9.053 9.053 0 0 0 1.586-1.586l-2.147-2.146Zm-3.545 2.456a6.012 6.012 0 0 1-2.834 0l-2.347 2.346A8.966 8.966 0 0 0 12 21a8.966 8.966 0 0 0 3.764-.822l-2.347-2.346Zm-4.792-.87a6.034 6.034 0 0 1-1.586-1.587l-2.147 2.147a9.05 9.05 0 0 0 1.586 1.586l2.147-2.147Zm-2.457-3.545a6.015 6.015 0 0 1 0-2.834L3.822 8.237A8.966 8.966 0 0 0 3 12c0 1.344.294 2.618.822 3.764l2.346-2.347Zm.87-4.792a6.033 6.033 0 0 1 1.587-1.586L6.478 4.892a9.054 9.054 0 0 0-1.586 1.586L7.04 8.625ZM1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm7 0a4 4 0 1 1 8 0 4 4 0 0 1-8 0Z\",\"M16 4c-2.18 0-4.225.582-5.988 1.598l2.985 2.985A7.978 7.978 0 0 1 16 8c1.062 0 2.076.207 3.003.583l2.985-2.985A11.945 11.945 0 0 0 16 4Zm4.808 5.606c.6.451 1.134.986 1.586 1.585l2.847-2.847a12.08 12.08 0 0 0-1.585-1.585l-2.848 2.847Zm2.61 3.39A8 8 0 0 1 24 16a7.978 7.978 0 0 1-.583 3.003l2.985 2.985A11.945 11.945 0 0 0 28 16c0-2.18-.582-4.225-1.598-5.988l-2.985 2.985Zm-1.024 7.812a8.05 8.05 0 0 1-1.586 1.586l2.848 2.847a12.073 12.073 0 0 0 1.585-1.585l-2.847-2.848Zm-3.391 2.61A7.979 7.979 0 0 1 16 24a7.978 7.978 0 0 1-3.003-.583l-2.985 2.985A11.945 11.945 0 0 0 16 28c2.18 0 4.225-.582 5.988-1.598l-2.985-2.985Zm-7.812-1.024a8.048 8.048 0 0 1-1.585-1.586l-2.847 2.848a12.11 12.11 0 0 0 1.585 1.585l2.848-2.847Zm-2.608-3.391A7.977 7.977 0 0 1 8 16c0-1.062.207-2.076.583-3.003l-2.985-2.985A11.945 11.945 0 0 0 4 16c0 2.18.582 4.225 1.598 5.988l2.985-2.985Zm1.023-7.811c.451-.6.986-1.134 1.585-1.586L8.345 6.759A12.074 12.074 0 0 0 6.76 8.345l2.847 2.847ZM2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Zm8 0a6 6 0 1 1 12 0 6 6 0 0 1-12 0Z\"]];","export default [[\"M2.5 4.5a3.5 3.5 0 1 1 5.74 2.69c-.167.139-.24.295-.24.421A1.39 1.39 0 0 1 6.611 9H5.39A1.389 1.389 0 0 1 4 7.611c0-.126-.073-.282-.24-.422A3.494 3.494 0 0 1 2.5 4.5Zm3 5.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Z\",\"M8 1a4.25 4.25 0 0 0-2.41 7.752c.27.185.41.43.41.653C6 10.285 6.714 11 7.595 11h.81C9.285 11 10 10.286 10 9.405c0-.223.14-.468.41-.653A4.25 4.25 0 0 0 8 1ZM6 12.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5ZM7.5 14a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Z\",\"M12 1a7 7 0 0 0-4.48 12.379c.334.278.48.59.48.844A2.777 2.777 0 0 0 10.777 17h2.446A2.777 2.777 0 0 0 16 14.223c0-.253.146-.566.48-.844A7 7 0 0 0 12 1ZM9 19a1 1 0 0 1 1-1h4a1 1 0 1 1 0 2h-4a1 1 0 0 1-1-1Zm2 2a1 1 0 1 0 0 2h2a1 1 0 1 0 0-2h-2Z\",\"M16 2a9.5 9.5 0 0 0-5.605 17.171c.403.295.605.683.605 1.03V21a3 3 0 0 0 3 3h4a3 3 0 0 0 3-3v-.8c0-.346.202-.734.605-1.029A9.5 9.5 0 0 0 16 2Zm-4 24a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2h-6a1 1 0 0 1-1-1Zm3 2a1 1 0 1 0 0 2h2a1 1 0 1 0 0-2h-2Z\"],[\"M6 1a3.5 3.5 0 0 0-2.24 6.19c.167.139.24.295.24.421A1.39 1.39 0 0 0 5.389 9H6.61A1.39 1.39 0 0 0 8 7.611c0-.126.073-.282.24-.422A3.5 3.5 0 0 0 6 1ZM3.5 4.5a2.5 2.5 0 1 1 4.1 1.921c-.32.267-.6.682-.6 1.19A.389.389 0 0 1 6.611 8H5.39A.389.389 0 0 1 5 7.611c0-.508-.28-.923-.6-1.19A2.496 2.496 0 0 1 3.5 4.5Zm2 5.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Z\",\"M3.75 5.25a4.25 4.25 0 1 1 6.66 3.502c-.27.185-.41.43-.41.653C10 10.285 9.286 11 8.405 11h-.81A1.595 1.595 0 0 1 6 9.405c0-.223-.14-.468-.41-.653A4.246 4.246 0 0 1 3.75 5.25ZM8 2a3.25 3.25 0 0 0-1.842 5.928c.449.31.842.828.842 1.477 0 .328.267.595.595.595h.81A.595.595 0 0 0 9 9.405c0-.649.393-1.168.842-1.477A3.25 3.25 0 0 0 8 2ZM6 12.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5ZM7.5 14a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Z\",\"M5 8a7 7 0 1 1 11.48 5.379c-.334.278-.48.59-.48.844A2.777 2.777 0 0 1 13.223 17h-2.446A2.777 2.777 0 0 1 8 14.223c0-.253-.146-.566-.48-.844A6.988 6.988 0 0 1 5 8Zm7-5a5 5 0 0 0-3.2 8.843c.642.534 1.2 1.363 1.2 2.38 0 .429.348.777.777.777h2.446a.777.777 0 0 0 .777-.777c0-1.017.558-1.846 1.2-2.38A5 5 0 0 0 12 3ZM9 19a1 1 0 0 1 1-1h4a1 1 0 1 1 0 2h-4a1 1 0 0 1-1-1Zm2 2a1 1 0 1 0 0 2h2a1 1 0 1 0 0-2h-2Z\",\"M6.5 11.5a9.5 9.5 0 1 1 15.105 7.671c-.403.295-.605.683-.605 1.03V21a3 3 0 0 1-3 3h-4a3 3 0 0 1-3-3v-.8c0-.346-.202-.734-.605-1.029A9.488 9.488 0 0 1 6.5 11.5ZM16 4a7.5 7.5 0 0 0-4.424 13.557c.789.577 1.424 1.515 1.424 2.644V21a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-.8c0-1.128.635-2.066 1.424-2.643A7.5 7.5 0 0 0 16 4Zm-4 22a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2h-6a1 1 0 0 1-1-1Zm3 2a1 1 0 1 0 0 2h2a1 1 0 1 0 0-2h-2Z\"]];","export default [[\"M4.387.683a.5.5 0 0 0-.868.454L4.337 4H2.5a.5.5 0 0 0-.384.82l5 6a.5.5 0 0 0 .852-.495L6.722 7H8.5a.5.5 0 0 0 .387-.817l-4.5-5.5Z\",\"M6.315 1.035a.5.5 0 0 1 .609.2l5 8A.5.5 0 0 1 11.5 10H9.11l.88 4.402a.5.5 0 0 1-.914.363l-5-8A.5.5 0 0 1 4.5 6h2.39l-.88-4.402a.5.5 0 0 1 .305-.563Z\",\"M8.577 1.094a1 1 0 0 1 1.232.318l8 11A1 1 0 0 1 17 14h-3.753l1.73 7.783a1 1 0 0 1-1.809.772l-8-12A1 1 0 0 1 6 9h3.72L8.03 2.243a1 1 0 0 1 .547-1.149Z\",\"M12.78 2.375a1 1 0 0 0-1.738.912L13.656 12H8a1 1 0 0 0-.8 1.6l12 16a1 1 0 0 0 1.765-.863L18.309 19H24a1 1 0 0 0 .78-1.625l-12-15Z\"],[\"M3.768.557a.5.5 0 0 1 .619.126l4.5 5.5A.5.5 0 0 1 8.5 7H6.722l1.246 3.325a.5.5 0 0 1-.852.495l-5-6A.5.5 0 0 1 2.5 4h1.837L3.52 1.137a.5.5 0 0 1 .25-.58ZM5.146 3.19 5.663 5H3.568l2.429 2.915L5.279 6h2.166l-2.3-2.81Z\",\"M6.315 1.035a.5.5 0 0 1 .609.2l5 8A.5.5 0 0 1 11.5 10H9.11l.88 4.402a.5.5 0 0 1-.914.363l-5-8A.5.5 0 0 1 4.5 6h2.39l-.88-4.402a.5.5 0 0 1 .305-.563Zm1.212 3.052L8.11 7H5.402l3.07 4.913L7.89 9h2.708l-3.07-4.913Z\",\"M8.577 1.094a1 1 0 0 1 1.232.318l8 11A1 1 0 0 1 17 14h-3.753l1.73 7.783a1 1 0 0 1-1.809.772l-8-12A1 1 0 0 1 6 9h3.72L8.03 2.243a1 1 0 0 1 .547-1.149Zm2.641 5.656L12.281 11H7.869l3.994 5.991L10.753 12h4.283l-3.818-5.25Z\",\"M11.536 2.114a1 1 0 0 1 1.245.261l12 15A1 1 0 0 1 24 19h-5.69l2.655 9.737a1 1 0 0 1-1.765.863l-12-16A1 1 0 0 1 8 12h5.656l-2.614-8.713a1 1 0 0 1 .494-1.173Zm2.903 5.535L16.344 14H10l7.657 10.21L15.69 17h6.228l-7.48-9.35Z\"]];","export default [[\"M4.387.683a.5.5 0 0 0-.868.454L4.337 4H2.5a.5.5 0 0 0-.384.82l1.98 2.377-2.95 2.95a.5.5 0 0 0 .708.707l9-9a.5.5 0 0 0-.708-.708l-2.959 2.96-2.8-3.423ZM7.116 10.82l-1.74-2.088 1.45-1.452 1.142 3.045a.5.5 0 0 1-.852.495ZM8.5 7H7.107l1.347-1.346.433.53A.5.5 0 0 1 8.5 7Z\",\"M6.315 1.035a.5.5 0 0 1 .609.2l2.744 4.39 4.478-4.479a.5.5 0 0 1 .708.708l-13 13a.5.5 0 0 1-.708-.708l4.642-4.641-1.712-2.74A.5.5 0 0 1 4.5 6h2.39l-.88-4.402a.5.5 0 0 1 .305-.563Zm.555 10.201 3.88-3.88 1.174 1.879A.5.5 0 0 1 11.5 10H9.11l.88 4.402a.5.5 0 0 1-.914.363l-2.205-3.529Z\",\"M8.577 1.094a1 1 0 0 1 1.232.318l4.785 6.58 6.699-6.7a1 1 0 1 1 1.414 1.415l-20 20a1 1 0 0 1-1.414-1.414l6.62-6.62-2.745-4.118A1 1 0 0 1 6 9h3.72L8.03 2.243a1 1 0 0 1 .547-1.149ZM14.214 14l2.75-2.75.845 1.162A1 1 0 0 1 17 14h-2.786Zm-4.049 4.05 3.258-3.258 1.553 6.991a1 1 0 0 1-1.808.772l-3.003-4.505Z\",\"M12.78 2.375a1 1 0 0 0-1.738.912L13.656 12H8a1 1 0 0 0-.8 1.6l4.193 5.59-9.1 9.099a1 1 0 0 0 1.414 1.414l26-25.996a1 1 0 0 0-1.414-1.414l-8.655 8.654-6.857-8.572ZM19.2 29.6l-5.395-7.193 8.335-8.334 2.64 3.302A1 1 0 0 1 24 19h-5.69l2.655 9.737a1 1 0 0 1-1.765.863Z\"],[\"M3.768.557a.5.5 0 0 1 .619.126l2.8 3.423 2.96-2.96a.5.5 0 0 1 .707.708l-9 9a.5.5 0 0 1-.708-.708l2.95-2.95-1.98-2.376A.5.5 0 0 1 2.5 4h1.837L3.52 1.137a.5.5 0 0 1 .25-.58Zm1.038 5.93.476-.477L5.28 6h.014l1.183-1.184-1.33-1.626L5.663 5H3.568l1.238 1.487ZM7.107 7l1.347-1.346.433.53A.5.5 0 0 1 8.5 7H7.107ZM5.375 8.732 6.827 7.28l1.141 3.045a.5.5 0 0 1-.852.495l-1.74-2.088Z\",\"M6.315 1.035a.5.5 0 0 1 .609.2l2.744 4.39 4.478-4.479a.5.5 0 0 1 .708.708l-13 13a.5.5 0 0 1-.708-.708l4.642-4.641-1.712-2.74A.5.5 0 0 1 4.5 6h2.39l-.88-4.402a.5.5 0 0 1 .305-.563Zm.199 7.744L8.942 6.35 7.527 4.087l.463 2.315A.5.5 0 0 1 7.5 7H5.402l1.112 1.779Zm3.51-.696.726-.726 1.174 1.878A.5.5 0 0 1 11.5 10H9.11l.88 4.402a.5.5 0 0 1-.914.363l-2.205-3.529.725-.725.877 1.402-.38-1.899L9.107 9h1.49l-.572-.917Z\",\"M8.577 1.094a1 1 0 0 1 1.232.318l4.785 6.58 6.699-6.7a1 1 0 1 1 1.414 1.415l-20 20a1 1 0 0 1-1.414-1.414l6.62-6.62-2.745-4.118A1 1 0 0 1 6 9h3.72L8.03 2.243a1 1 0 0 1 .547-1.149Zm.778 12.136 3.807-3.807-1.944-2.673.752 3.007A1 1 0 0 1 11 11H7.869l1.486 2.23Zm4.859.77 2.75-2.75.845 1.162A1 1 0 0 1 17 14h-2.786Zm-2.468 2.468 1.676-1.676 1.554 6.991a1 1 0 0 1-1.808.772l-3.003-4.505 1.442-1.443.256.384-.117-.523Z\",\"M11.536 2.114a1 1 0 0 1 1.245.261l6.857 8.572 8.655-8.654a1 1 0 0 1 1.414 1.414l-26 25.996a1 1 0 0 1-1.414-1.414l9.1-9.099L7.2 13.6A1 1 0 0 1 8 12h5.656l-2.614-8.713a1 1 0 0 1 .494-1.173Zm1.285 15.648 5.394-5.393-3.776-4.72 1.519 5.064A1 1 0 0 1 15 14h-5l2.821 3.762Zm7.895-2.266 1.424-1.423 2.64 3.302A1 1 0 0 1 24 19h-5.69l2.655 9.737a1 1 0 0 1-1.765.863l-5.395-7.193 1.429-1.429 2.423 3.231-1.212-4.442L19.212 17h2.707l-1.203-1.504Z\"]];","export default [[\"M10.854 1.146a.5.5 0 0 1 0 .708l-9 9a.5.5 0 0 1-.708-.708l9-9a.5.5 0 0 1 .708 0Z\",\"M14.854 1.146a.5.5 0 0 1 0 .708l-13 13a.5.5 0 0 1-.708-.708l13-13a.5.5 0 0 1 .708 0Z\",\"M22.707 1.293a1 1 0 0 1 0 1.414l-20 20a1 1 0 0 1-1.414-1.414l20-20a1 1 0 0 1 1.414 0Z\",\"M29.707 2.293a1 1 0 0 1 0 1.414l-26 26a1 1 0 0 1-1.414-1.414l26-26a1 1 0 0 1 1.414 0Z\"]];","export default [[\"<path d='M7.257 6.599a.85.85 0 0 1-1.202 0l-.036-.036a.75.75 0 1 0-1.06 1.06l.035.037a2.35 2.35 0 0 0 3.324 0l1.98-1.981a2.843 2.843 0 0 0-4.021-4.02l-.151.15a.75.75 0 1 0 1.06 1.061l.152-.15a1.343 1.343 0 0 1 1.9 1.898l-1.98 1.98Z'></path><path d='M4.734 5.396a.85.85 0 0 1 1.202 0l.042.042a.75.75 0 0 0 1.06-1.061l-.041-.041a2.35 2.35 0 0 0-3.324 0L1.691 6.319a2.84 2.84 0 0 0 4.016 4.015l.154-.154A.75.75 0 0 0 4.8 9.12l-.154.153A1.34 1.34 0 0 1 2.752 7.38l1.982-1.983Z'></path>\",\"<path d='M9.533 8.594a1.45 1.45 0 0 1-2.05 0l-.021-.021A.75.75 0 0 0 6.4 9.633l.021.021a2.95 2.95 0 0 0 4.172 0l3.535-3.535a2.998 2.998 0 0 0-4.24-4.24L8.342 3.426a.75.75 0 0 0 1.061 1.06L10.95 2.94a1.498 1.498 0 0 1 2.118 2.119L9.533 8.594Z'></path><path d='M6.466 7.42a1.45 1.45 0 0 1 2.05 0l.021.021a.75.75 0 1 0 1.061-1.06l-.021-.022a2.95 2.95 0 0 0-4.172 0L1.87 9.894a2.998 2.998 0 0 0 4.24 4.24l1.547-1.546a.75.75 0 1 0-1.061-1.061L5.05 13.074a1.498 1.498 0 0 1-2.118-2.119L6.466 7.42Z'></path>\",\"<path d='M15.6 12.64a3 3 0 0 1-4.24-.004l-.237-.238a1.25 1.25 0 1 0-1.768 1.768l.238.238a5.5 5.5 0 0 0 7.773.005l3.997-3.985a5.503 5.503 0 1 0-7.777-7.788l-2.237 2.236a1.25 1.25 0 0 0 1.768 1.768l2.236-2.236a3.003 3.003 0 1 1 4.244 4.25L15.6 12.638Z'></path><path d='M8.377 11.388a3 3 0 0 1 4.24.003l.238.238a1.25 1.25 0 0 0 1.768-1.768l-.238-.238a5.5 5.5 0 0 0-7.773-.005l-3.996 3.986a5.503 5.503 0 1 0 7.777 7.787l2.236-2.236a1.25 1.25 0 1 0-1.768-1.768l-2.236 2.236a3.003 3.003 0 1 1-4.244-4.25l3.996-3.985Z'></path>\",\"<path d='M20.347 17.307c-1.6 1.59-4.166 1.58-5.695-.01a6.84 6.84 0 0 1-.401-.478c-.066-.084-.123-.16-.164-.214l-.046-.063-.012-.015-.002-.004a1.25 1.25 0 0 0-2.02 1.473l1.01-.736-1.01.736v.001l.006.009.017.021.057.077.193.254c.15.19.366.458.57.67 2.53 2.634 6.703 2.593 9.26.052l5.97-5.934a6.519 6.519 0 1 0-9.204-9.233l-3.911 3.91a1.25 1.25 0 1 0 1.768 1.768l3.91-3.91a4.018 4.018 0 1 1 5.675 5.691l-5.971 5.935Z'></path><path d='M11.705 14.655c1.578-1.557 4.103-1.54 5.612.03.11.114.261.298.4.477a13.403 13.403 0 0 1 .211.276l.012.016.002.003a1.25 1.25 0 0 0 2.02-1.473l-1.01.737 1.01-.736v-.002l-.002-.002-.005-.006-.016-.022a9.154 9.154 0 0 0-.82-1.001c-2.502-2.604-6.63-2.585-9.17-.076l-6.04 5.963a6.51 6.51 0 1 0 9.178 9.235l3.917-3.917a1.25 1.25 0 0 0-1.768-1.768l-3.917 3.917a4.01 4.01 0 1 1-5.653-5.688l6.04-5.963Z'></path>\"],[\"<path d='M10.312 1.682c-.916-.91-2.4-.91-3.316 0l-.85.844a.5.5 0 0 0 .706.71l.849-.844a1.355 1.355 0 0 1 1.906 0c.524.52.524 1.363 0 1.884L7.259 6.608a1.355 1.355 0 0 1-1.907 0 .5.5 0 0 0-.704.71c.916.91 2.4.91 3.315 0l2.349-2.333a2.325 2.325 0 0 0 0-3.303Z'></path><path d='M7.352 4.682c-.916-.91-2.4-.91-3.315 0L1.688 7.015a2.325 2.325 0 0 0 0 3.303c.916.91 2.4.91 3.316 0l.846-.84a.5.5 0 0 0-.705-.71l-.846.84a1.355 1.355 0 0 1-1.906 0 1.325 1.325 0 0 1 0-1.884l2.349-2.332a1.355 1.355 0 0 1 1.906 0 .5.5 0 1 0 .704-.71Z'></path>\",\"<path d='M6.38 9.621a3 3 0 0 0 4.243 0l3.5-3.5A3 3 0 1 0 9.88 1.88L8.112 3.646a.5.5 0 0 0 .707.708l1.768-1.768a2 2 0 1 1 2.829 2.828l-3.5 3.5A2 2 0 0 1 6.9 8.698a.5.5 0 0 0-.8.6c.085.113.178.221.28.323Z'></path><path d='M9.621 6.379a3 3 0 0 0-4.242 0l-3.5 3.5A3 3 0 1 0 6.12 14.12l1.768-1.767a.5.5 0 0 0-.707-.708l-1.768 1.768a2 2 0 1 1-2.828-2.828l3.5-3.5a2 2 0 0 1 3.016.216.5.5 0 1 0 .8-.6 3.021 3.021 0 0 0-.28-.323Z'></path>\",\"<path d='M21.39 2.61a5.5 5.5 0 0 0-7.779 0l-2.682 2.683a1 1 0 1 0 1.414 1.414l2.682-2.682a3.5 3.5 0 0 1 4.95 4.95l-4 4a3.5 3.5 0 0 1-5.387-.531 1 1 0 1 0-1.662 1.112 5.5 5.5 0 0 0 8.463.833l4-4a5.5 5.5 0 0 0 0-7.778Z'></path><path d='M2.61 21.39a5.5 5.5 0 0 0 7.779 0l2.682-2.683a1 1 0 1 0-1.414-1.414l-2.682 2.682a3.5 3.5 0 0 1-4.95-4.95l4-4a3.5 3.5 0 0 1 5.387.531 1 1 0 1 0 1.661-1.112A5.5 5.5 0 0 0 6.61 9.61l-4 4a5.5 5.5 0 0 0 0 7.778Z'></path>\",\"<path d='M28.096 3.904a6.5 6.5 0 0 0-9.192 0l-4.39 4.389a1 1 0 0 0 1.415 1.414l4.389-4.389a4.5 4.5 0 0 1 6.364 6.364l-6 6a4.5 4.5 0 0 1-7.192-1.137 1 1 0 0 0-1.781.91 6.5 6.5 0 0 0 10.388 1.642l6-6a6.5 6.5 0 0 0 0-9.193Z'></path><path d='M3.904 28.096a6.5 6.5 0 0 0 9.192 0l4.39-4.389a1 1 0 0 0-1.415-1.414l-4.389 4.389a4.5 4.5 0 0 1-6.364-6.364l6-6a4.5 4.5 0 0 1 7.192 1.137 1 1 0 1 0 1.781-.91 6.5 6.5 0 0 0-10.388-1.642l-6 6a6.5 6.5 0 0 0 0 9.193Z'></path>\"]];","export default [[\"M.886 0h10.226c.49 0 .888.387.888.865v10.27a.878.878 0 0 1-.888.865H.886A.876.876 0 0 1 0 11.134V.864C0 .388.397 0 .886 0Zm7.561 10.226h1.779V7.084c0-1.541-.333-2.728-2.135-2.728-.866 0-1.447.475-1.684.925h-.024V4.5H4.676v5.727h1.778V7.393c0-.748.142-1.47 1.068-1.47.913 0 .925.854.925 1.517v2.786Zm-5.778-6.51a1.032 1.032 0 1 1 0-2.064 1.032 1.032 0 0 1 0 2.064Zm.89 6.51H1.78V4.499h1.78v5.727Z\",\"M2.033 1h11.93C14.536 1 15 1.452 15 2.009V13.99c0 .557-.465 1.01-1.036 1.01H2.034A1.023 1.023 0 0 1 1 13.99V2.009C1 1.452 1.463 1 2.033 1Zm8.822 11.93h2.075V9.265c0-1.799-.388-3.183-2.49-3.183-1.011 0-1.688.554-1.966 1.08h-.028v-.913H6.455v6.681h2.074V9.625c0-.872.166-1.715 1.246-1.715 1.065 0 1.08.996 1.08 1.77v3.25Zm-6.74-7.595a1.204 1.204 0 1 1 0-2.408 1.204 1.204 0 0 1 0 2.408Zm1.037 7.595H3.076V6.249h2.076v6.681Z\",\"M2.624 1h18.748C22.268 1 23 1.71 23 2.585v18.828c0 .876-.73 1.587-1.628 1.587H2.623C1.728 23 1 22.289 1 21.413V2.585C1 1.71 1.728 1 2.624 1Zm13.862 18.747h3.26v-5.76c0-2.825-.61-5-3.913-5-1.588 0-2.652.87-3.088 1.695h-.044V9.248h-3.13v10.499h3.26v-5.194c0-1.37.261-2.695 1.959-2.695 1.673 0 1.696 1.566 1.696 2.783v5.106ZM5.894 7.813a1.892 1.892 0 1 1 0-3.784 1.892 1.892 0 0 1 0 3.784Zm1.63 11.934H4.263V9.248h3.263v10.499Z\",\"M4.066 2h23.861C29.07 2 30 2.904 30 4.018V27.98c0 1.115-.93 2.02-2.073 2.02H4.067C2.926 30 2 29.095 2 27.98V4.018C2 2.904 2.926 2 4.066 2ZM21.71 25.86h4.15v-7.33c0-3.597-.776-6.365-4.98-6.365-2.021 0-3.376 1.108-3.93 2.158h-.057v-1.825H12.91V25.86h4.148v-6.61c0-1.744.332-3.431 2.492-3.431 2.13 0 2.16 1.993 2.16 3.542v6.499ZM8.23 10.67a2.408 2.408 0 1 1 0-4.815 2.408 2.408 0 0 1 0 4.816Zm2.076 15.19H6.15V12.498h4.154V25.86Z\"],[\"M.885 0h10.227C11.6 0 12 .387 12 .865v10.27a.878.878 0 0 1-.888.865H.885A.876.876 0 0 1 0 11.134V.864C0 .388.397 0 .885 0Zm7.562 10.226h1.778V7.084c0-1.541-.332-2.728-2.134-2.728-.867 0-1.447.475-1.685.925h-.024V4.5H4.675v5.727h1.778V7.393c0-.748.143-1.47 1.068-1.47.913 0 .926.854.926 1.517v2.786Zm-5.778-6.51a1.032 1.032 0 1 1 0-2.064 1.032 1.032 0 0 1 0 2.064Zm.89 6.51h-1.78V4.499h1.78v5.727Z\",\"M2.033 1h11.93C14.536 1 15 1.452 15 2.009V13.99c0 .557-.465 1.01-1.036 1.01H2.034A1.023 1.023 0 0 1 1 13.99V2.009C1 1.452 1.463 1 2.033 1Zm8.822 11.93h2.075V9.265c0-1.799-.388-3.183-2.49-3.183-1.011 0-1.688.554-1.966 1.08h-.028v-.913H6.455v6.681h2.074V9.625c0-.872.166-1.715 1.246-1.715 1.065 0 1.08.996 1.08 1.77v3.25Zm-6.74-7.595a1.204 1.204 0 1 1 0-2.408 1.204 1.204 0 0 1 0 2.408Zm1.037 7.595H3.076V6.249h2.076v6.681Z\",\"M2.624 1h18.748C22.268 1 23 1.71 23 2.585v18.828c0 .876-.73 1.587-1.628 1.587H2.623C1.728 23 1 22.289 1 21.413V2.585C1 1.71 1.728 1 2.624 1Zm13.862 18.747h3.26v-5.76c0-2.825-.61-5-3.913-5-1.588 0-2.652.87-3.088 1.695h-.044V9.248h-3.13v10.499h3.26v-5.194c0-1.37.261-2.695 1.959-2.695 1.673 0 1.696 1.566 1.696 2.783v5.106ZM5.894 7.813a1.892 1.892 0 1 1 0-3.784 1.892 1.892 0 0 1 0 3.784Zm1.63 11.934H4.263V9.248h3.263v10.499Z\",\"M4.066 2h23.861C29.07 2 30 2.904 30 4.018V27.98c0 1.115-.93 2.02-2.073 2.02H4.067C2.926 30 2 29.095 2 27.98V4.018C2 2.904 2.926 2 4.066 2ZM21.71 25.86h4.15v-7.33c0-3.597-.776-6.365-4.98-6.365-2.021 0-3.376 1.108-3.93 2.158h-.057v-1.825H12.91V25.86h4.148v-6.61c0-1.744.332-3.431 2.492-3.431 2.13 0 2.16 1.993 2.16 3.542v6.499ZM8.23 10.67a2.408 2.408 0 1 1 0-4.815 2.408 2.408 0 0 1 0 4.816Zm2.076 15.19H6.15V12.498h4.154V25.86Z\"]];","export default [[\"M2.5 3a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm2-1a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Zm0 3a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6ZM4 8.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5Zm-1-3a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM2.5 9a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\",\"M2.5 4a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm2-1a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Zm0 4a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9ZM4 11.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Zm-1-4a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM2.5 12a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\",\"M4 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm4-2a1 1 0 0 0 0 2h13a1 1 0 1 0 0-2H8Zm0 6a1 1 0 1 0 0 2h13a1 1 0 1 0 0-2H8Zm-1 7a1 1 0 0 1 1-1h13a1 1 0 1 1 0 2H8a1 1 0 0 1-1-1Zm-2-6a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-1 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"M9 10a1 1 0 0 1 1-1h16a1 1 0 1 1 0 2H10a1 1 0 0 1-1-1Zm1 5a1 1 0 1 0 0 2h16a1 1 0 1 0 0-2H10Zm0 6a1 1 0 1 0 0 2h16a1 1 0 1 0 0-2H10Zm-4 2a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm1-7a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-1-5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"]];","export default [[\"M9.5 3a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1h5Zm0 2a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1h5Zm.5 2.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 .5-.5ZM2.053 3.276A.5.5 0 0 1 3 3.5v4a.5.5 0 0 1-.947.224l-1-2a.5.5 0 0 1 0-.448l1-2Z\",\"M14.5 4a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1h9ZM3.146 5.146A.5.5 0 0 1 4 5.5v4a.5.5 0 0 1-.854.354l-2-2a.5.5 0 0 1 0-.708l2-2ZM15 7.5a.5.5 0 0 0-.5-.5h-9a.5.5 0 0 0 0 1h9a.5.5 0 0 0 .5-.5Zm-.5 2.5a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1h9Z\",\"M21 6a1 1 0 1 1 0 2H9a1 1 0 1 1 0-2h12Zm0 5a1 1 0 1 1 0 2H9a1 1 0 1 1 0-2h12Zm1 6a1 1 0 0 0-1-1H9a1 1 0 1 0 0 2h12a1 1 0 0 0 1-1ZM4.2 7.4A1 1 0 0 1 6 8v8a1 1 0 0 1-1.8.6l-3-4a1 1 0 0 1 0-1.2l3-4Z\",\"M28 10a1 1 0 0 0-1-1H12a1 1 0 1 0 0 2h15a1 1 0 0 0 1-1Zm0 6a1 1 0 0 0-1-1H12a1 1 0 1 0 0 2h15a1 1 0 0 0 1-1Zm-1 5a1 1 0 1 1 0 2H12a1 1 0 1 1 0-2h15ZM6.143 10.486A1 1 0 0 1 8 11v10a1 1 0 0 1-1.857.515l-3-5a1 1 0 0 1 0-1.03l3-5Z\"],[\"M9.5 3a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1h5Zm0 2a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1h5Zm.5 2.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 .5-.5ZM2.053 3.276A.5.5 0 0 1 3 3.5v4a.5.5 0 0 1-.947.224l-1-2a.5.5 0 0 1 0-.448l1-2Z\",\"M14.5 4a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1h9ZM3.146 5.146A.5.5 0 0 1 4 5.5v4a.5.5 0 0 1-.854.354l-2-2a.5.5 0 0 1 0-.708l2-2ZM2.207 7.5 3 8.293V6.707l-.793.793ZM15 7.5a.5.5 0 0 0-.5-.5h-9a.5.5 0 0 0 0 1h9a.5.5 0 0 0 .5-.5Zm-.5 2.5a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1h9Z\",\"M21 6a1 1 0 1 1 0 2H9a1 1 0 1 1 0-2h12Zm0 5a1 1 0 1 1 0 2H9a1 1 0 1 1 0-2h12Zm1 6a1 1 0 0 0-1-1H9a1 1 0 1 0 0 2h12a1 1 0 0 0 1-1ZM4.2 7.4A1 1 0 0 1 6 8v8a1 1 0 0 1-1.8.6l-3-4a1 1 0 0 1 0-1.2l3-4ZM3.25 12 4 13v-2l-.75 1Z\",\"M27 9a1 1 0 1 1 0 2H12a1 1 0 1 1 0-2h15Zm0 6a1 1 0 1 1 0 2H12a1 1 0 1 1 0-2h15Zm1 7a1 1 0 0 0-1-1H12a1 1 0 1 0 0 2h15a1 1 0 0 0 1-1ZM6.143 10.486A1 1 0 0 1 8 11v10a1 1 0 0 1-1.857.515l-3-5a1 1 0 0 1 0-1.03l3-5ZM5.166 16 6 17.39v-2.78L5.166 16Z\"]];","export default [[\"<path d='M2.25 2.547a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm1 0a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5Zm0 3a.5.5 0 0 1 .5-.5h3.255a3.507 3.507 0 0 0-.689 1H3.75a.5.5 0 0 1-.5-.5Zm1.833 2.5H3.75a.5.5 0 1 0 0 1h.426a1.5 1.5 0 0 1 .265-.358l.642-.642Zm-3.333-2a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm.5 2.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM9.5 8a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Z'></path><path d='M8.001 11h.5a.5.5 0 0 0 .5-.5v-.55a2.5 2.5 0 1 0-2-2.407L5.149 9.395A.5.5 0 0 0 5 9.75v1.75a.5.5 0 0 0 .5.5h2.001a.5.5 0 0 0 .5-.5V11Zm1.5-5a1.5 1.5 0 1 1-.636 2.859.5.5 0 0 0-.603.14l-.151.188a.5.5 0 0 0-.11.313v.5h-.5a.5.5 0 0 0-.5.5v.5h-1V9.957L7.87 8.09a.5.5 0 0 0 .143-.412A1.5 1.5 0 0 1 9.502 6Z'></path>\",\"<path d='M2.25 3.547a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm1 0a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Zm0 4a.5.5 0 0 1 .5-.5h6.552a4.016 4.016 0 0 0-.794 1H3.75a.5.5 0 0 1-.5-.5Zm4.581 3.5H3.75a.5.5 0 1 0 0 1h3.082l1-1Zm-6.081-3a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm.5 3.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM13.5 10a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Z'></path><path d='M11 13.5h.5a.5.5 0 0 0 .353-.147l.438-.438a3 3 0 1 0-2.278-2.636l-2.867 2.867A.5.5 0 0 0 7 13.5v2a.5.5 0 0 0 .5.5H9a.5.5 0 0 0 .353-.147l.5-.5A.5.5 0 0 0 10 15v-.5h.5a.5.5 0 0 0 .5-.5v-.5ZM13 8a2 2 0 1 1-.681 3.88.5.5 0 0 0-.524.117l-.502.503H10.5a.5.5 0 0 0-.5.5v.5h-.5a.5.5 0 0 0-.5.5v.793L8.793 15H8v-1.293l2.895-2.896a.5.5 0 0 0 .138-.444A2 2 0 0 1 13 8Z'></path>\",\"<path d='M4.25 6.047a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm2 0a1 1 0 0 1 1-1h13a1 1 0 1 1 0 2h-13a1 1 0 0 1-1-1Zm0 6a1 1 0 0 1 1-1h5.975a6.97 6.97 0 0 0-.946 2H7.25a1 1 0 0 1-1-1Zm2.963 5H7.25a1 1 0 1 0 0 2h.787a3 3 0 0 1 .845-1.669l.331-.331Zm-5.963-4a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm1 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM20.003 15a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z'></path><path d='M16.003 22h1a1 1 0 0 0 1-1v-1.1a5 5 0 1 0-4-4.815l-3.707 3.708a1 1 0 0 0-.293.706l-.003 3.5a1 1 0 0 0 1 1h4.003a1 1 0 0 0 1-1v-1Zm3-10a3 3 0 1 1-1.273 5.717 1 1 0 0 0-1.206.28l-.302.378a1 1 0 0 0-.22.625v1h-1a1 1 0 0 0-1 1v1h-2.001l.002-2.086 3.735-3.735a1 1 0 0 0 .286-.824A3 3 0 0 1 19.004 12Z'></path>\",\"<path d='M10.5 9a1 1 0 0 0 0 2h16a1 1 0 1 0 0-2h-16Zm2.257 14H10.5a1 1 0 1 1 0-2h4.257l-2 2Zm5.313-8a7.954 7.954 0 0 0-.819 2H10.5a1 1 0 1 1 0-2h7.57ZM7 22a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-1-5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm1-7a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm19 9a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z'></path><path d='M21 26h1a1 1 0 0 0 .707-.293l.875-.876a6 6 0 1 0-4.557-5.271l-5.732 5.733A1 1 0 0 0 13 26v4.001a1 1 0 0 0 1 1L17 31a1 1 0 0 0 .707-.293l1-1A1 1 0 0 0 19 29v-1h1a1 1 0 0 0 1-1v-1Zm4-11a4 4 0 1 1-1.363 7.762 1 1 0 0 0-1.047.233L21.585 24H20a1 1 0 0 0-1 1v1h-1a1 1 0 0 0-1 1v1.586l-.415.414H15v-2.586l5.79-5.79a1 1 0 0 0 .277-.89A4 4 0 0 1 25 15Z'></path>\"],[\"<path d='M2.25 2.547a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm1 0a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5Zm0 3a.5.5 0 0 1 .5-.5h3.255a3.507 3.507 0 0 0-.689 1H3.75a.5.5 0 0 1-.5-.5Zm1.833 2.5H3.75a.5.5 0 1 0 0 1h.426a1.5 1.5 0 0 1 .265-.358l.642-.642Zm-3.333-2a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm.5 2.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM9.5 8a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Z'></path><path d='M8.001 11h.5a.5.5 0 0 0 .5-.5v-.55a2.5 2.5 0 1 0-2-2.407L5.149 9.395A.5.5 0 0 0 5 9.75v1.75a.5.5 0 0 0 .5.5h2.001a.5.5 0 0 0 .5-.5V11Zm1.5-5a1.5 1.5 0 1 1-.636 2.859.5.5 0 0 0-.603.14l-.151.188a.5.5 0 0 0-.11.313v.5h-.5a.5.5 0 0 0-.5.5v.5h-1V9.957L7.87 8.09a.5.5 0 0 0 .143-.412A1.5 1.5 0 0 1 9.502 6Z'></path>\",\"<path d='M2.25 3.547a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm1 0a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Zm0 4a.5.5 0 0 1 .5-.5h6.552a4.016 4.016 0 0 0-.794 1H3.75a.5.5 0 0 1-.5-.5Zm4.581 3.5H3.75a.5.5 0 1 0 0 1h3.082l1-1Zm-6.081-3a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm.5 3.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM13.5 10a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Z'></path><path d='M11 13.5h.5a.5.5 0 0 0 .353-.147l.438-.438a3 3 0 1 0-2.278-2.636l-2.867 2.867A.5.5 0 0 0 7 13.5v2a.5.5 0 0 0 .5.5H9a.5.5 0 0 0 .353-.147l.5-.5A.5.5 0 0 0 10 15v-.5h.5a.5.5 0 0 0 .5-.5v-.5ZM13 8a2 2 0 1 1-.681 3.88.5.5 0 0 0-.524.117l-.502.503H10.5a.5.5 0 0 0-.5.5v.5h-.5a.5.5 0 0 0-.5.5v.793L8.793 15H8v-1.293l2.895-2.896a.5.5 0 0 0 .138-.444A2 2 0 0 1 13 8Z'></path>\",\"<path d='M4.25 6.047a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm2 0a1 1 0 0 1 1-1h13a1 1 0 1 1 0 2h-13a1 1 0 0 1-1-1Zm0 6a1 1 0 0 1 1-1h5.975a6.97 6.97 0 0 0-.946 2H7.25a1 1 0 0 1-1-1Zm2.963 5H7.25a1 1 0 1 0 0 2h.787a3 3 0 0 1 .845-1.669l.331-.331Zm-5.963-4a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm1 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM20.003 15a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z'></path><path d='M16.003 22h1a1 1 0 0 0 1-1v-1.1a5 5 0 1 0-4-4.815l-3.707 3.708a1 1 0 0 0-.293.706l-.003 3.5a1 1 0 0 0 1 1h4.003a1 1 0 0 0 1-1v-1Zm3-10a3 3 0 1 1-1.273 5.717 1 1 0 0 0-1.206.28l-.302.378a1 1 0 0 0-.22.625v1h-1a1 1 0 0 0-1 1v1h-2.001l.002-2.086 3.735-3.735a1 1 0 0 0 .286-.824A3 3 0 0 1 19.004 12Z'></path>\",\"<path d='M10.5 9a1 1 0 1 0 0 2h16a1 1 0 1 0 0-2h-16Zm2.257 14H10.5a1 1 0 1 1 0-2h4.257l-2 2Zm5.313-8a7.954 7.954 0 0 0-.819 2H10.5a1 1 0 1 1 0-2h7.57ZM7 22a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-1-5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm1-7a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm19 9a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z'></path><path d='M21 26h1a1 1 0 0 0 .707-.293l.875-.876a6 6 0 1 0-4.557-5.271l-5.732 5.733A1 1 0 0 0 13 26v4.001a1 1 0 0 0 1 1L17 31a1 1 0 0 0 .707-.293l1-1A1 1 0 0 0 19 29v-1h1a1 1 0 0 0 1-1v-1Zm4-11a4 4 0 1 1-1.363 7.762 1 1 0 0 0-1.047.233L21.585 24H20a1 1 0 0 0-1 1v1h-1a1 1 0 0 0-1 1v1.586l-.415.414H15v-2.586l5.79-5.79a1 1 0 0 0 .277-.89A4 4 0 0 1 25 15Z'></path>\"]];","export default [[\"M4 3.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5ZM4.5 7a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5ZM1.947 3.276A.5.5 0 0 0 1 3.5v4a.5.5 0 0 0 .947.224l1-2a.5.5 0 0 0 0-.448l-1-2Z\",\"M5.5 4a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9ZM1.309 5.038a.5.5 0 0 1 .545.108l2 2a.5.5 0 0 1 0 .708l-2 2A.5.5 0 0 1 1 9.5v-4a.5.5 0 0 1 .309-.462ZM5 7.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Zm.5 2.5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Z\",\"M8 7a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1Zm0 5a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1Zm1 4a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2H9ZM3.8 7.4A1 1 0 0 0 2 8v8a1 1 0 0 0 1.8.6l3-4a1 1 0 0 0 0-1.2l-3-4Z\",\"M11 10a1 1 0 0 1 1-1h15a1 1 0 1 1 0 2H12a1 1 0 0 1-1-1Zm0 6a1 1 0 0 1 1-1h15a1 1 0 1 1 0 2H12a1 1 0 0 1-1-1Zm1 5a1 1 0 1 0 0 2h15a1 1 0 1 0 0-2H12ZM4.857 10.486A1 1 0 0 0 3 11v10a1 1 0 0 0 1.857.515l3-5a1 1 0 0 0 0-1.03l-3-5Z\"],[\"M4 3.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5ZM1.385 3.013a.5.5 0 0 1 .562.263l1 2a.5.5 0 0 1 0 .448l-1 2A.5.5 0 0 1 1 7.5v-4a.5.5 0 0 1 .385-.487Z\",\"M1.309 5.038a.5.5 0 0 1 .545.108l2 2a.5.5 0 0 1 0 .708l-2 2A.5.5 0 0 1 1 9.5v-4a.5.5 0 0 1 .309-.462ZM2 6.708v1.585l.793-.793L2 6.707ZM5 4.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Zm0 3a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Zm0 3a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Z\",\"M8 7a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1Zm0 5a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1Zm0 5a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1ZM2.684 7.051A1 1 0 0 1 3.8 7.4l3 4a1 1 0 0 1 0 1.2l-3 4A1 1 0 0 1 2 16V8a1 1 0 0 1 .684-.949ZM4 11v2l.75-1L4 11Z\",\"M11 10a1 1 0 0 1 1-1h15a1 1 0 1 1 0 2H12a1 1 0 0 1-1-1Zm0 6a1 1 0 0 1 1-1h15a1 1 0 1 1 0 2H12a1 1 0 0 1-1-1Zm0 6a1 1 0 0 1 1-1h15a1 1 0 1 1 0 2H12a1 1 0 0 1-1-1ZM3.733 10.036a1 1 0 0 1 1.124.45l3 5a1 1 0 0 1 0 1.029l-3 5A1 1 0 0 1 3 21V11a1 1 0 0 1 .733-.964ZM5 14.61v2.78L5.834 16 5 14.61Z\"]];","export default [[\"M2.5 3a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5Zm0 2a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5ZM2 7.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm7.947-4.224A.5.5 0 0 0 9 3.5v4a.5.5 0 0 0 .947.224l1-2a.5.5 0 0 0 0-.448l-1-2Z\",\"M1.5 4a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Zm10.809 1.038a.5.5 0 0 1 .545.108l2 2a.5.5 0 0 1 0 .708l-2 2A.5.5 0 0 1 12 9.5v-4a.5.5 0 0 1 .309-.462ZM1 7.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Zm.5 2.5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Z\",\"M2 7a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm0 5a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm1 4a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2H3Zm16.8-8.6A1 1 0 0 0 18 8v8a1 1 0 0 0 1.8.6l3-4a1 1 0 0 0 0-1.2l-3-4Z\",\"M4 10a1 1 0 0 1 1-1h15a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1Zm0 6a1 1 0 0 1 1-1h15a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1Zm1 5a1 1 0 1 0 0 2h15a1 1 0 1 0 0-2H5Zm20.858-10.514A1 1 0 0 0 24 11v10a1 1 0 0 0 1.858.515l3-5a1 1 0 0 0 0-1.03l-3-5Z\"],[\"M2.5 3a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5Zm0 2a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5ZM2 7.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm7.947-4.224A.5.5 0 0 0 9 3.5v4a.5.5 0 0 0 .947.224l1-2a.5.5 0 0 0 0-.448l-1-2Z\",\"M1.5 4a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Zm11.354 1.146A.5.5 0 0 0 12 5.5v4a.5.5 0 0 0 .854.354l2-2a.5.5 0 0 0 0-.708l-2-2Zm.939 2.354L13 8.293V6.707l.793.793ZM1 7.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Zm.5 2.5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Z\",\"M3 6a1 1 0 0 0 0 2h12a1 1 0 1 0 0-2H3Zm0 5a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2H3Zm-1 6a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm17.8-9.6A1 1 0 0 0 18 8v8a1 1 0 0 0 1.8.6l3-4a1 1 0 0 0 0-1.2l-3-4Zm.95 4.6L20 13v-2l.75 1Z\",\"M5 9a1 1 0 0 0 0 2h15a1 1 0 1 0 0-2H5Zm0 6a1 1 0 1 0 0 2h15a1 1 0 1 0 0-2H5Zm-1 7a1 1 0 0 1 1-1h15a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1Zm21.858-11.514A1 1 0 0 0 24 11v10a1 1 0 0 0 1.858.515l3-5a1 1 0 0 0 0-1.03l-3-5ZM26.834 16 26 17.39v-2.78l.834 1.39Z\"]];","export default [[\"M0 2.5A1.5 1.5 0 0 1 1.5 1h9A1.5 1.5 0 0 1 12 2.5v5A1.5 1.5 0 0 1 10.5 9H7.84l-1.45 1.812a.5.5 0 0 1-.78 0L4.16 9H1.5A1.5 1.5 0 0 1 0 7.5v-5Zm2.5.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7Zm0 2a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Z\",\"M1 3.5A1.5 1.5 0 0 1 2.5 2h11A1.5 1.5 0 0 1 15 3.5v7a1.5 1.5 0 0 1-1.5 1.5H9.9l-1.517 1.82a.5.5 0 0 1-.768 0L6.1 12H2.5A1.5 1.5 0 0 1 1 10.5v-7Zm2.5.5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Zm0 2a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Zm0 2a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Z\",\"M1 6a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3h-5.034l-2.108 3.515a1 1 0 0 1-1.716 0L9.034 19H4a3 3 0 0 1-3-3V6Zm5 1a1 1 0 0 0 0 2h12a1 1 0 1 0 0-2H6Zm-1 4a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H6a1 1 0 0 1-1-1Zm1 2a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2H6Z\",\"M4 8a3 3 0 0 1 3-3h18a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3h-5.509l-2.627 4.504a1 1 0 0 1-1.728 0L12.51 23H7a3 3 0 0 1-3-3V8Zm5 1a1 1 0 0 0 0 2h14a1 1 0 1 0 0-2H9Zm-1 5a1 1 0 0 1 1-1h14a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1Zm1 3a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2H9Z\"],[\"<path d='M2.5 3a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7Zm0 2a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Z'></path><path d='M1.5 1A1.5 1.5 0 0 0 0 2.5v5A1.5 1.5 0 0 0 1.5 9h2.66l1.45 1.812a.5.5 0 0 0 .78 0L7.84 9h2.66A1.5 1.5 0 0 0 12 7.5v-5A1.5 1.5 0 0 0 10.5 1h-9ZM1 2.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5H7.6a.5.5 0 0 0-.39.188L6 9.7 4.79 8.188A.5.5 0 0 0 4.4 8H1.5a.5.5 0 0 1-.5-.5v-5Z'></path>\",\"<path d='M3.5 4a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Zm0 2a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Zm0 2a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Z'></path><path d='M2.5 2A1.5 1.5 0 0 0 1 3.5v7A1.5 1.5 0 0 0 2.5 12h3.599l1.516 1.82a.5.5 0 0 0 .768 0L9.9 12h3.6a1.5 1.5 0 0 0 1.5-1.5v-7A1.5 1.5 0 0 0 13.5 2h-11ZM2 3.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5H9.666a.5.5 0 0 0-.384.18l-1.283 1.539-1.282-1.54A.5.5 0 0 0 6.333 11H2.5a.5.5 0 0 1-.5-.5v-7Z'></path>\",\"<path d='M6 7a1 1 0 0 0 0 2h12a1 1 0 1 0 0-2H6Zm-1 4a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H6a1 1 0 0 1-1-1Zm1 2a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2H6Z'></path><path d='M4 3a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h5.034l2.108 3.515a1 1 0 0 0 1.716 0L14.966 19H20a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H4ZM3 6a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-5.6a1 1 0 0 0-.857.485L12 20.056l-1.543-2.57A1 1 0 0 0 9.6 17H4a1 1 0 0 1-1-1V6Z'></path>\",\"<path d='M9 9a1 1 0 0 0 0 2h14a1 1 0 1 0 0-2H9Zm-1 5a1 1 0 0 1 1-1h14a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1Zm1 3a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2H9Z'></path><path d='M7 5a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h5.509l2.627 4.504a1 1 0 0 0 1.728 0L19.49 23H25a3 3 0 0 0 3-3V8a3 3 0 0 0-3-3H7ZM6 8a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-6.083a1 1 0 0 0-.864.496L16 25.016l-2.053-3.52a1 1 0 0 0-.864-.496H7a1 1 0 0 1-1-1V8Z'></path>\"]];","export default [[\"M2 2.5A1.5 1.5 0 0 1 3.5 1h5A1.5 1.5 0 0 1 10 2.5v6A1.5 1.5 0 0 1 8.5 10h-5A1.5 1.5 0 0 1 2 8.5V5.67L.746 4.93a.5.5 0 0 1-.016-.85L2 3.264V2.5Zm2.5.5a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3ZM4 5.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5ZM4.5 7a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Z\",\"M3.026 2.5a1.5 1.5 0 0 1 1.5-1.5H12.5A1.5 1.5 0 0 1 14 2.5v10a1.5 1.5 0 0 1-1.5 1.5H4.526a1.5 1.5 0 0 1-1.5-1.5V7.38l-1.8-1.185a.5.5 0 0 1 0-.835l1.8-1.185V2.5ZM5.5 4a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Zm0 3a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6ZM5 10.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Z\",\"M5 5a3 3 0 0 1 3-3h11a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H8a3 3 0 0 1-3-3v-5.5l-3.6-2.7a1 1 0 0 1 0-1.6L5 6.5V5Zm5 2a1 1 0 1 0 0 2h7a1 1 0 1 0 0-2h-7Zm-1 5a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2h-7a1 1 0 0 1-1-1Zm1 3a1 1 0 1 0 0 2h3a1 1 0 1 0 0-2h-3Z\",\"M7 6a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H10a3 3 0 0 1-3-3v-9.434l-4.514-2.708a1 1 0 0 1 0-1.716L7 9.434V6Zm5 3a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2H12Zm-1 6a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H12a1 1 0 0 1-1-1Zm1 4a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2h-8Z\"],[\"<path d='M4.5 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3ZM4 5.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5ZM4.5 7a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Z'></path><path d='M3.5 1A1.5 1.5 0 0 0 2 2.5v.765L.73 4.08a.5.5 0 0 0 .016.852L2 5.67V8.5A1.5 1.5 0 0 0 3.5 10h5A1.5 1.5 0 0 0 10 8.5v-6A1.5 1.5 0 0 0 8.5 1h-5ZM3 2.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5V5.385a.5.5 0 0 0-.246-.431l-.8-.472.816-.523A.5.5 0 0 0 3 3.54V2.5Z'></path>\",\"<path d='M5.5 4a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6ZM5 7.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5Zm.5 2.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Z'></path><path d='M4.526 1a1.5 1.5 0 0 0-1.5 1.5v1.675l-1.8 1.185a.5.5 0 0 0 0 .835l1.8 1.186V12.5a1.5 1.5 0 0 0 1.5 1.5H12.5a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 12.5 1H4.526Zm-.5 1.5a.5.5 0 0 1 .5-.5H12.5a.5.5 0 0 1 .5.5v10a.5.5 0 0 1-.5.5H4.526a.5.5 0 0 1-.5-.5V7.111a.5.5 0 0 0-.225-.418L2.41 5.778l1.39-.916a.5.5 0 0 0 .225-.418V2.5Z'></path>\",\"<path d='M10 7a1 1 0 1 0 0 2h7a1 1 0 1 0 0-2h-7Zm-1 5a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2h-7a1 1 0 0 1-1-1Zm1 3a1 1 0 1 0 0 2h3a1 1 0 1 0 0-2h-3Z'></path><path d='M8 2a3 3 0 0 0-3 3v1.5L1.4 9.2a1 1 0 0 0 0 1.6L5 13.5V19a3 3 0 0 0 3 3h11a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H8ZM7 5a1 1 0 0 1 1-1h11a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-6a1 1 0 0 0-.4-.8L3.667 10 6.6 7.8A1 1 0 0 0 7 7V5Z'></path>\",\"<path d='M12 9a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2H12Zm-1 6a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H12a1 1 0 0 1-1-1Zm1 4a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2h-8Z'></path><path d='M10 3a3 3 0 0 0-3 3v3.434l-4.514 2.709a1 1 0 0 0 0 1.714L7 16.567V26a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H10ZM9 6a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v20a1 1 0 0 1-1 1H10a1 1 0 0 1-1-1V16a1 1 0 0 0-.486-.857L4.944 13l3.57-2.143A1 1 0 0 0 9 10V6Z'></path>\"]];","export default [[\"M8.958 4.456a.56.56 0 0 0-.117.578A3 3 0 1 1 6.966 3.16a.56.56 0 0 0 .578-.117l.78-.781c.224-.224.187-.597-.096-.738a5 5 0 1 0 2.25 2.25c-.142-.284-.515-.321-.739-.098l-.781.781Z\",\"M13 8a5 5 0 1 1-2.592-4.383c.208.115.47.09.638-.078l.738-.737a.47.47 0 0 0-.067-.735 7 7 0 1 0 2.216 2.216.47.47 0 0 0-.735-.067l-.737.738a.536.536 0 0 0-.078.638A4.98 4.98 0 0 1 13 8Z\",\"M18.533 3.846a.481.481 0 0 0-.047-.731A10.95 10.95 0 0 0 12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11c0-2.156-.62-4.167-1.692-5.865a.48.48 0 0 0-.748-.073l-1.466 1.465a.522.522 0 0 0-.08.621 8 8 0 1 1-2.579-2.808c.206.139.484.12.66-.056l1.438-1.438Z\",\"M26 16c0 5.523-4.477 10-10 10S6 21.523 6 16 10.477 6 16 6c2.015 0 3.891.596 5.461 1.621a.518.518 0 0 0 .65-.06l2.158-2.159a.485.485 0 0 0-.05-.737A13.937 13.937 0 0 0 16 2C8.268 2 2 8.268 2 16s6.268 14 14 14 14-6.268 14-14c0-2.804-.824-5.416-2.244-7.605a.484.484 0 0 0-.751-.072l-2.189 2.19a.517.517 0 0 0-.08.618A9.954 9.954 0 0 1 26 16Z\"]];","export default [[\"M3 6.085V4a3 3 0 0 1 6 0v2.085A1.5 1.5 0 0 1 10 7.5v2A1.5 1.5 0 0 1 8.5 11h-5A1.5 1.5 0 0 1 2 9.5v-2a1.5 1.5 0 0 1 1-1.415ZM4 4v2h4V4a2 2 0 1 0-4 0Z\",\"M4 5v3h-.5A1.5 1.5 0 0 0 2 9.5v4A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5v-4A1.5 1.5 0 0 0 12.5 8H12V5a4 4 0 0 0-8 0Zm4-3a3 3 0 0 1 3 3v3H5V5a3 3 0 0 1 3-3Zm0 10.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\",\"M6 7v5a3 3 0 0 0-3 3v5a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3v-5a3 3 0 0 0-3-3V7A6 6 0 0 0 6 7Zm6-4a4 4 0 0 1 4 4v5H8V7a4 4 0 0 1 4-4Zm0 16a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Z\",\"M8 10v6H7a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h18a3 3 0 0 0 3-3v-8a3 3 0 0 0-3-3h-1v-6a8 8 0 1 0-16 0Zm8-6a6 6 0 0 1 6 6v6H10v-6a6 6 0 0 1 6-6Zm0 21a2 2 0 1 1 0-4 2 2 0 0 1 0 4Z\"],[\"M3 6.085V4a3 3 0 0 1 6 0v2.085A1.5 1.5 0 0 1 10 7.5v2A1.5 1.5 0 0 1 8.5 11h-5A1.5 1.5 0 0 1 2 9.5v-2a1.5 1.5 0 0 1 1-1.415ZM4 4v2h4V4a2 2 0 1 0-4 0Zm4.5 3h-5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5Z\",\"<path d='M8 12.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M4 5v3h-.5A1.5 1.5 0 0 0 2 9.5v4A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5v-4A1.5 1.5 0 0 0 12.5 8H12V5a4 4 0 0 0-8 0Zm4-3a3 3 0 0 1 3 3v3H5V5a3 3 0 0 1 3-3ZM3.5 9h9a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5Z'></path>\",\"<path d='M12 19a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z'></path><path d='M6 7v5a3 3 0 0 0-3 3v5a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3v-5a3 3 0 0 0-3-3V7A6 6 0 0 0 6 7Zm6-4a4 4 0 0 1 4 4v5H8V7a4 4 0 0 1 4-4ZM6 14h12a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-5a1 1 0 0 1 1-1Z'></path>\",\"<path d='M16 25a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z'></path><path d='M8 10v6H7a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h18a3 3 0 0 0 3-3v-8a3 3 0 0 0-3-3h-1v-6a8 8 0 1 0-16 0Zm8-6a6 6 0 0 1 6 6v6H10v-6a6 6 0 0 1 6-6ZM7 18h18a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1Z'></path>\"]];","export default [[\"M1.146 5.854a.5.5 0 0 1 0-.708l1-1a.5.5 0 1 1 .708.708L2.707 5H10.5a.5.5 0 0 1 0 1H2.707l.147.146a.5.5 0 1 1-.708.708l-1-1Z\",\"m3.146 9.854-2-2a.5.5 0 0 1 0-.708l2-2a.5.5 0 1 1 .708.708L2.707 7H14.5a.5.5 0 0 1 0 1H2.707l1.147 1.146a.5.5 0 1 1-.708.708Z\",\"M1.076 11.617a.998.998 0 0 1 .217-.324l3-3a1 1 0 0 1 1.414 1.414L4.414 11H22a1 1 0 1 1 0 2H4.414l1.293 1.293a1 1 0 1 1-1.414 1.414l-3-3M1 11.99a.996.996 0 0 1 .076-.373L1 11.991Zm0 .02c.002.251.1.502.29.695L1 12.009Z\",\"M2.08 15.609a.994.994 0 0 1 .216-.32l3.497-3.496a1 1 0 0 1 1.414 1.414L5.414 15H29a1 1 0 1 1 0 2H5.414l1.793 1.793a1 1 0 1 1-1.414 1.414l-3.5-3.5A.997.997 0 0 1 2 16v-.003c0-.138.029-.269.08-.388Z\"]];","export default [[\"M10.854 5.854a.5.5 0 0 0 0-.708l-1-1a.5.5 0 1 0-.708.708L9.293 5H1.5a.5.5 0 0 0 0 1h7.793l-.147.146a.5.5 0 1 0 .708.708l1-1Z\",\"m12.854 9.854 2-2a.5.5 0 0 0 0-.708l-2-2a.5.5 0 0 0-.708.708L13.293 7H1.5a.5.5 0 0 0 0 1h11.793l-1.147 1.146a.5.5 0 0 0 .708.708Z\",\"M22.707 12.707a1 1 0 0 0 0-1.414l-3-3a1 1 0 1 0-1.414 1.414L19.586 11H2a1 1 0 1 0 0 2h17.585l-1.292 1.293a1 1 0 0 0 1.414 1.414l3-3Z\",\"M29.92 15.608a.994.994 0 0 0-.217-.319l-3.496-3.496a1 1 0 0 0-1.414 1.414L26.586 15H3a1 1 0 1 0 0 2h23.586l-1.793 1.793a1 1 0 0 0 1.414 1.414l3.5-3.5a.997.997 0 0 0 .213-1.099Z\"]];","export default [[\"M7.5 0a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM2 10.707a1 1 0 0 0 1.414 0l5.293-5.293a1 1 0 0 0 0-1.414L8 3.293a1 1 0 0 0-1.414 0L1.293 8.586a1 1 0 0 0 0 1.414l.707.707ZM7.207 5.5 8 4.707 7.293 4l-.793.793.707.707Zm2.647-2.646 1-1a.5.5 0 0 0-.708-.708l-1 1a.5.5 0 1 0 .708.708ZM10.5 4h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Z\",\"M11 1.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1Zm2.854.646a.5.5 0 0 0-.708 0l-1 1a.5.5 0 0 0 .708.708l1-1a.5.5 0 0 0 0-.708ZM14.5 6a.5.5 0 0 0 0-1h-1a.5.5 0 0 0 0 1h1ZM3 13.707a1 1 0 0 0 1.414 0l7.293-7.293a1 1 0 0 0 0-1.414L11 4.293a1 1 0 0 0-1.414 0l-7.293 7.293a1 1 0 0 0 0 1.414l.707.707Zm8-8L10.293 5 9 6.293 9.707 7 11 5.707Z\",\"M16 2a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1Zm5.207.793a1 1 0 0 1 0 1.414l-1.5 1.5a1 1 0 1 1-1.414-1.414l1.5-1.5a1 1 0 0 1 1.414 0ZM19 8a1 1 0 0 1 1-1h1.5a1 1 0 1 1 0 2H20a1 1 0 0 1-1-1ZM5.621 22.621l12-12a2 2 0 0 0 0-2.828l-1.414-1.414a2 2 0 0 0-2.828 0l-12 12a2 2 0 0 0 0 2.828l1.414 1.414a2 2 0 0 0 2.828 0ZM16.207 9.207l-1.414-1.414L13 9.586 14.414 11l1.793-1.793Z\",\"M26.358 3.015a1 1 0 0 0-1.716-1.03l-1.5 2.5a1 1 0 0 0 1.716 1.03l1.5-2.5Zm-7.651-.722a1 1 0 1 0-1.414 1.414l2 2a1 1 0 1 0 1.414-1.414l-2-2Zm11.307 5.065a1 1 0 0 0-1.029-1.715l-2.5 1.5a1 1 0 0 0 1.03 1.715l2.5-1.5Zm-3.721 3.935a1 1 0 0 1 1.414 0l1.5 1.5a1 1 0 0 1-1.414 1.414l-1.5-1.5a1 1 0 0 1 0-1.414Zm-22.5 18.328a2 2 0 0 0 2.828 0l18-18a2 2 0 0 0 0-2.828l-1.414-1.414a2 2 0 0 0-2.828 0l-18 18a2 2 0 0 0 0 2.828l1.414 1.414Zm19.414-19.414-1.414-1.414L19 11.586 20.414 13l2.793-2.793Z\"],[\"M8 .5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM2.707 11A1 1 0 0 1 2 10.707L1.293 10a1 1 0 0 1 0-1.414l5.293-5.293a1 1 0 0 1 1.414 0L8.707 4a1 1 0 0 1 0 1.414l-5.293 5.293a1 1 0 0 1-.707.293ZM8 4.707l-.793.793-.707-.707L7.293 4 8 4.707ZM2.707 10 6.5 6.207 5.793 5.5 2 9.293l.707.707Zm8.147-8.146-1 1a.5.5 0 1 1-.708-.708l1-1a.5.5 0 0 1 .708.708ZM11.5 4h-1a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1Z\",\"M10.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Zm2.646 1.146a.5.5 0 0 1 .708.708l-1 1a.5.5 0 0 1-.708-.708l1-1ZM15 5.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1 0-1h1a.5.5 0 0 1 .5.5ZM3.707 14A1 1 0 0 1 3 13.707L2.293 13a1 1 0 0 1 0-1.414l7.293-7.293a1 1 0 0 1 1.414 0l.707.707a1 1 0 0 1 0 1.414l-7.293 7.293a1 1 0 0 1-.707.293Zm6.586-9 .707.707L9.707 7 9 6.293 10.293 5Zm-2 2L3 12.293l.707.707L9 7.707 8.293 7Z\",\"M16 2a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1Zm5.207.793a1 1 0 0 1 0 1.414l-1.5 1.5a1 1 0 1 1-1.414-1.414l1.5-1.5a1 1 0 0 1 1.414 0ZM19 8a1 1 0 0 1 1-1h1.5a1 1 0 1 1 0 2H20a1 1 0 0 1-1-1Zm-1.379 2.621-12 12a2 2 0 0 1-2.828 0l-1.414-1.414a2 2 0 0 1 0-2.828l12-12a2 2 0 0 1 2.828 0l1.414 1.414a2 2 0 0 1 0 2.828Zm-2.828-2.828 1.414 1.414L14.414 11 13 9.586l1.793-1.793ZM11.586 11 13 12.414l-8.793 8.793-1.414-1.414L11.586 11Z\",\"M26.015 1.643a1 1 0 0 1 .343 1.372l-1.5 2.5a1 1 0 0 1-1.716-1.03l1.5-2.5a1 1 0 0 1 1.373-.342Zm-8.722.65a1 1 0 0 1 1.414 0l2 2a1 1 0 0 1-1.414 1.414l-2-2a1 1 0 0 1 0-1.414Zm13.064 3.693a1 1 0 0 1-.343 1.372l-2.5 1.5a1 1 0 0 1-1.029-1.715l2.5-1.5a1 1 0 0 1 1.372.343Zm-2.65 5.307a1 1 0 0 0-1.414 1.414l1.5 1.5a1 1 0 0 0 1.414-1.414l-1.5-1.5ZM3.793 29.621a2 2 0 0 0 2.828 0l18-18a2 2 0 0 0 0-2.828l-1.414-1.414a2 2 0 0 0-2.828 0l-18 18a2 2 0 0 0 0 2.828l1.414 1.414ZM17.586 13 3.793 26.793l1.414 1.414L19 14.414 17.586 13Zm2.828 0L19 11.586l2.793-2.793 1.414 1.414L20.414 13Z\"]];","export default [[\"M7.5 0a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM2 10.707a1 1 0 0 0 1.414 0L6 8.121l-2.121-2.12-2.586 2.585a1 1 0 0 0 0 1.414l.707.707Zm3.293-6.121-3.44-3.44a.5.5 0 1 0-.707.708l9 9a.5.5 0 0 0 .708-.708l-3.44-3.439 1.293-1.293a1 1 0 0 0 0-1.414L8 3.293a1 1 0 0 0-1.414 0L5.293 4.586ZM8 4.706l-.793.794-.707-.707L7.293 4 8 4.707Zm1.854-1.852 1-1a.5.5 0 0 0-.708-.708l-1 1a.5.5 0 1 0 .708.708ZM10.5 4h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1Z\",\"M1.146 1.854a.5.5 0 1 1 .708-.708l5.439 5.44 2.293-2.293a1 1 0 0 1 1.414 0l.707.707a1 1 0 0 1 0 1.414L9.414 8.707l5.44 5.44a.5.5 0 0 1-.708.707l-13-13ZM10.293 5 9 6.293 9.707 7 11 5.707 10.293 5Zm-8 6.586L5.879 8l2.12 2.121-3.585 3.586a1 1 0 0 1-1.414 0L2.293 13a1 1 0 0 1 0-1.414ZM11 1.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1Zm2.854.646a.5.5 0 0 0-.708 0l-1 1a.5.5 0 0 0 .708.708l1-1a.5.5 0 0 0 0-.708ZM13.5 6h1a.5.5 0 0 0 0-1h-1a.5.5 0 0 0 0 1Z\",\"M1.292 2.707a1 1 0 0 1 1.414-1.414l7.88 7.88 2.793-2.794a2 2 0 0 1 2.828 0l1.414 1.414a2 2 0 0 1 0 2.828l-2.793 2.794 7.878 7.878a1 1 0 0 1-1.414 1.414l-20-20Zm14.915 6.5-1.414-1.414L13 9.586 14.414 11l1.793-1.793ZM1.379 18.379 7.757 12l4.242 4.242-6.378 6.378a2 2 0 0 1-2.828 0l-1.414-1.414a2 2 0 0 1 0-2.828ZM16 2a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1Zm5.207.793a1 1 0 0 1 0 1.414l-1.5 1.5a1 1 0 1 1-1.414-1.414l1.5-1.5a1 1 0 0 1 1.414 0ZM19 8a1 1 0 0 1 1-1h1.5a1 1 0 1 1 0 2H20a1 1 0 0 1-1-1Z\",\"M2.379 25.379 11.757 16 16 20.243l-9.379 9.379a2 2 0 0 1-2.828 0l-1.414-1.415a2 2 0 0 1 0-2.828Zm12.207-12.207 5.793-5.793a2 2 0 0 1 2.828 0l1.414 1.414a2 2 0 0 1 0 2.829l-5.793 5.792 10.88 10.879a1 1 0 0 1-1.415 1.414l-26-26a1 1 0 0 1 1.414-1.414l10.879 10.879Zm8.621-2.965-1.414-1.414L19 11.586 20.414 13l2.793-2.793Zm3.151-7.192a1 1 0 0 0-1.716-1.03l-1.5 2.5a1 1 0 0 0 1.716 1.03l1.5-2.5Zm-7.651-.722a1 1 0 1 0-1.414 1.414l2 2a1 1 0 1 0 1.414-1.414l-2-2Zm11.308 5.065a1 1 0 0 0-1.03-1.715l-2.5 1.5a1 1 0 0 0 1.03 1.715l2.5-1.5Zm-3.722 3.935a1 1 0 0 1 1.414 0l1.5 1.5a1 1 0 0 1-1.414 1.414l-1.5-1.5a1 1 0 0 1 0-1.414Z\"],[\"M8 .5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM2.707 11A1 1 0 0 1 2 10.707L1.293 10a1 1 0 0 1 0-1.414L3.879 6l.707.707L2 9.293l.707.707 2.586-2.586.707.707-2.586 2.586a1 1 0 0 1-.707.293Zm2.586-6.414-3.44-3.44a.5.5 0 1 0-.707.708l9 9a.5.5 0 0 0 .708-.708l-3.44-3.439 1.293-1.293a1 1 0 0 0 0-1.414L8 3.293a1 1 0 0 0-1.414 0L5.293 4.586ZM8 4.707l-.793.793-.707-.707L7.293 4 8 4.707Zm2.854-2.853-1 1a.5.5 0 1 1-.708-.708l1-1a.5.5 0 0 1 .708.708ZM11.5 4h-1a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1Z\",\"M1.146 1.854a.5.5 0 1 1 .708-.708l5.439 5.44 2.293-2.293a1 1 0 0 1 1.414 0l.707.707a1 1 0 0 1 0 1.414L9.414 8.707l5.44 5.44a.5.5 0 0 1-.708.707l-13-13ZM8.707 8 9 7.707 8.293 7 8 7.293 8.707 8Zm1.586-3L9 6.293 9.707 7 11 5.707 10.293 5Zm-8 6.586L5.879 8l.707.707L3 12.293l.707.707 3.586-3.586.707.707-3.586 3.586a1 1 0 0 1-1.414 0L2.293 13a1 1 0 0 1 0-1.414ZM10.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Zm2.646 1.146a.5.5 0 0 1 .708.708l-1 1a.5.5 0 0 1-.708-.708l1-1ZM14.5 5a.5.5 0 0 1 0 1h-1a.5.5 0 0 1 0-1h1Z\",\"M1.292 2.707a1 1 0 0 1 1.414-1.414l7.88 7.88 2.793-2.794a2 2 0 0 1 2.828 0l1.414 1.414a2 2 0 0 1 0 2.828l-2.793 2.794 7.878 7.878a1 1 0 0 1-1.414 1.414l-20-20Zm13.5 5.086L13 9.586 14.414 11l1.793-1.793-1.414-1.414ZM1.379 18.379 7.757 12l1.414 1.414-6.378 6.378 1.414 1.414 6.378-6.378L12 16.243l-6.378 6.378a2 2 0 0 1-2.828 0L1.38 21.207a2 2 0 0 1 0-2.828ZM17 3a1 1 0 1 0-2 0v1a1 1 0 1 0 2 0V3Zm4.207 1.207a1 1 0 0 0-1.414-1.414l-1.5 1.5a1 1 0 0 0 1.414 1.414l1.5-1.5ZM20 7a1 1 0 1 0 0 2h1.5a1 1 0 1 0 0-2H20Z\",\"M2.379 25.379 11.757 16l1.415 1.414-9.38 9.38 1.415 1.413 9.379-9.378L16 20.243l-9.379 9.379a2 2 0 0 1-2.828 0l-1.414-1.415a2 2 0 0 1 0-2.828Zm16.449-7.965 10.88 10.879a1 1 0 0 1-1.415 1.414l-26-26a1 1 0 0 1 1.414-1.414l10.879 10.879 5.793-5.793a2 2 0 0 1 2.828 0l1.414 1.414a2 2 0 0 1 0 2.829l-5.793 5.792ZM16 14.586 17.414 16 19 14.414 17.586 13 16 14.586ZM20.414 13l2.793-2.793-1.414-1.414L19 11.586 20.414 13Zm5.601-11.357a1 1 0 0 1 .343 1.372l-1.5 2.5a1 1 0 0 1-1.716-1.03l1.5-2.5a1 1 0 0 1 1.373-.342Zm-8.722.65a1 1 0 0 1 1.414 0l2 2a1 1 0 0 1-1.414 1.414l-2-2a1 1 0 0 1 0-1.414Zm13.065 3.693a1 1 0 0 1-.343 1.372l-2.5 1.5a1 1 0 0 1-1.03-1.715l2.5-1.5a1 1 0 0 1 1.373.343Zm-2.651 5.307a1 1 0 0 0-1.414 1.414l1.5 1.5a1 1 0 0 0 1.414-1.414l-1.5-1.5Z\"]];","export default [[\"M4.5 1a4.5 4.5 0 1 0 2.607 8.168l2.6 2.6a.75.75 0 1 0 1.06-1.061l-2.599-2.6A4.5 4.5 0 0 0 4.5 1Zm-3 4.5a3 3 0 1 1 6 0 3 3 0 0 1-6 0Z\",\"M6.51 1.028a5.482 5.482 0 1 0 3.311 9.853l3.895 3.895a.75.75 0 1 0 1.06-1.06L10.883 9.82A5.482 5.482 0 0 0 6.51 1.029ZM2.529 6.511a3.982 3.982 0 1 1 7.965 0 3.982 3.982 0 0 1-7.965 0Z\",\"M10.012 2.028a7.983 7.983 0 1 0 4.691 14.444l5.169 5.168a1.25 1.25 0 1 0 1.768-1.768l-5.169-5.168a7.983 7.983 0 0 0-6.46-12.676Zm-5.484 7.984a5.483 5.483 0 1 1 10.967 0 5.483 5.483 0 0 1-10.967 0Z\",\"M13 2.028C6.94 2.028 2.028 6.941 2.028 13c0 6.06 4.913 10.972 10.972 10.972 2.58 0 4.95-.89 6.824-2.38l8.05 8.05a1.25 1.25 0 1 0 1.768-1.768l-8.05-8.05A10.925 10.925 0 0 0 23.972 13c0-6.06-4.913-10.972-10.972-10.972ZM4.528 13a8.472 8.472 0 1 1 16.944 0 8.472 8.472 0 0 1-16.944 0Z\"],[\"M4.5 1a4.5 4.5 0 1 0 2.809 8.016l2.837 2.838a.5.5 0 0 0 .708-.708L8.016 8.31A4.5 4.5 0 0 0 4.5 1ZM1 5.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z\",\"M10.727 10.02a5.5 5.5 0 1 0-.707.707l4.127 4.127a.5.5 0 1 0 .707-.707l-4.127-4.127ZM11 6.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Z\",\"M16.32 14.906a8 8 0 1 0-1.414 1.414l5.387 5.387a1 1 0 0 0 1.414-1.414l-5.387-5.387ZM16 10a6 6 0 1 1-12 0 6 6 0 0 1 12 0Z\",\"M21.453 20.039A10.955 10.955 0 0 0 24 13c0-6.075-4.925-11-11-11S2 6.925 2 13s4.925 11 11 11c2.678 0 5.132-.957 7.04-2.547l8.253 8.254a1 1 0 0 0 1.414-1.414l-8.254-8.254ZM22 13a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z\"]];","export default [[\"<path d='M1.5 5.5a3 3 0 1 1 4.135 2.778 1.24 1.24 0 0 1-.136.22c.396.295.548.802.458 1.261.414-.142.8-.342 1.15-.59L9.72 11.78a.75.75 0 1 0 1.06-1.06L8.168 8.107a4.5 4.5 0 1 0-7.371-.05 1 1 0 0 0 .425-.684l.04-.282a1.24 1.24 0 0 1 .362-.733A3 3 0 0 1 1.5 5.5Z'></path><path d='M3.46 6.175a1 1 0 0 0 .72-.72l.06-.236c.069-.269.45-.269.52 0l.06.236a1 1 0 0 0 .72.72l.236.06c.27.07.27.452 0 .52l-.236.061a1 1 0 0 0-.72.72l-.06.236c-.07.269-.451.269-.52 0l-.06-.236a1 1 0 0 0-.72-.72l-.237-.06c-.269-.07-.269-.451 0-.52l.236-.06ZM.515 9.212a2 2 0 0 0 1.697-1.697l.04-.283c.041-.286.454-.286.495 0l.04.283a2 2 0 0 0 1.698 1.697l.282.04c.287.041.287.454 0 .495l-.282.04a2 2 0 0 0-1.697 1.698l-.04.282c-.042.287-.455.287-.496 0l-.04-.282A2 2 0 0 0 .515 9.788l-.283-.04c-.286-.042-.286-.455 0-.496l.283-.04Z'></path>\",\"<path d='M2.528 6.51a3.982 3.982 0 1 1 5.164 3.805l-.1.386c-.078.31-.258.533-.482.67.275.094.478.272.607.489a5.458 5.458 0 0 0 2.104-.979l3.895 3.895a.75.75 0 1 0 1.06-1.06L10.883 9.82a5.482 5.482 0 1 0-8.691.066c.038-.123.066-.25.08-.383l.037-.325c.05-.458.299-.769.618-.932a3.967 3.967 0 0 1-.398-1.736Z'></path><path d='M6.278 7.104a1.63 1.63 0 0 1-1.174 1.173l-.521.134c-.11.028-.11.185 0 .213l.521.134A1.63 1.63 0 0 1 6.278 9.93l.133.521c.029.11.185.11.213 0l.134-.52a1.63 1.63 0 0 1 1.174-1.174l.52-.134c.11-.028.11-.185 0-.213l-.52-.134a1.63 1.63 0 0 1-1.174-1.173l-.134-.521c-.028-.11-.184-.11-.213 0l-.133.52ZM.615 12.265a3 3 0 0 0 2.65-2.65l.036-.326c.027-.237.372-.237.398 0l.036.326a3 3 0 0 0 2.65 2.65l.326.036c.237.027.237.371 0 .398l-.325.036a3 3 0 0 0-2.65 2.65l-.037.326c-.026.237-.371.237-.398 0l-.036-.326a3 3 0 0 0-2.65-2.65l-.326-.036c-.237-.027-.237-.371 0-.398l.326-.036Z'></path>\",\"<path d='M4.528 10.012a5.483 5.483 0 1 1 10.865 1.058c.987 1.201.5 3.399-1.461 3.617l-.326.036a1 1 0 0 0-.883.883l-.037.326c-.03.28-.102.53-.205.749.101.28.148.58.141.878a7.98 7.98 0 0 0 2.081-1.087l5.169 5.168a1.25 1.25 0 1 0 1.768-1.768l-5.169-5.168a7.983 7.983 0 1 0-13.526-.973 1.99 1.99 0 0 0 .08-.302l.212-1.163c.156-.86.68-1.425 1.32-1.698a5.548 5.548 0 0 1-.029-.556Z'></path><path d='M7.615 12.265a3 3 0 0 0 2.65-2.65l.036-.326c.027-.237.371-.237.398 0l.036.326a3 3 0 0 0 2.65 2.65l.326.037c.237.026.237.37 0 .397l-.326.036a3 3 0 0 0-2.65 2.65l-.036.326c-.027.237-.371.237-.398 0l-.036-.325a3 3 0 0 0-2.65-2.65l-.326-.037c-.237-.026-.237-.371 0-.397l.326-.037Zm-5.828 4.729a3.983 3.983 0 0 0 3.206-3.207l.212-1.163c.06-.329.53-.329.59 0l.212 1.163a3.983 3.983 0 0 0 3.206 3.207l1.164.211c.328.06.328.53 0 .59l-1.164.212a3.983 3.983 0 0 0-3.206 3.206l-.212 1.164c-.06.328-.53.328-.59 0l-.212-1.164a3.983 3.983 0 0 0-3.206-3.206l-1.164-.212c-.328-.06-.328-.53 0-.59l1.164-.211Z'></path>\",\"<path d='M4.528 13a8.472 8.472 0 1 1 16.796 1.582c.45 1.049.068 2.415-1.148 2.923a8.518 8.518 0 0 1-2.633 2.647 2.137 2.137 0 0 1-.619.823c.51.558.68 1.348.515 2.062.858-.38 1.66-.868 2.385-1.445l8.05 8.05a1.25 1.25 0 1 0 1.768-1.768l-8.05-8.05A10.925 10.925 0 0 0 23.972 13c0-6.06-4.913-10.972-10.972-10.972C6.94 2.028 2.028 6.941 2.028 13c0 2.47.816 4.748 2.193 6.582a2.385 2.385 0 0 0 1.458-1.675l.109-.46A8.432 8.432 0 0 1 4.528 13Z'></path><path d='M14.968 12.886a3 3 0 0 1-2.034 2.034l-1.239.363c-.196.058-.196.335 0 .392l1.24.364a3 3 0 0 1 2.033 2.034l.364 1.239c.057.195.334.195.392 0l.363-1.24a3 3 0 0 1 2.034-2.033l1.24-.364c.195-.057.195-.334 0-.392l-1.24-.363a3 3 0 0 1-2.034-2.034l-.363-1.24c-.058-.195-.335-.195-.392 0l-.364 1.24Zm-7.343 5.481a4.385 4.385 0 0 1-3.258 3.258l-2.676.633c-.255.06-.255.423 0 .484l2.678.634a4.385 4.385 0 0 1 3.256 3.258l.633 2.675c.06.255.423.255.484 0l.634-2.677a4.385 4.385 0 0 1 3.256-3.256l2.677-.634c.255-.06.255-.424 0-.484l-2.675-.633a4.385 4.385 0 0 1-3.258-3.256l-.634-2.678c-.06-.255-.424-.255-.484 0l-.633 2.676Z'></path>\"],[\"<path d='M8.016 8.309a4.5 4.5 0 1 0-7.22-.252 1 1 0 0 0 .426-.684l.04-.282c.01-.061.021-.12.036-.175a3.5 3.5 0 1 1 4.46 1.85c.2.288.266.654.199.993.495-.17.951-.423 1.352-.743l2.837 2.838a.5.5 0 0 0 .708-.708L8.016 8.31Z'></path><path d='M3.46 6.175a1 1 0 0 0 .72-.72l.06-.236c.069-.269.45-.269.52 0l.06.236a1 1 0 0 0 .72.72l.236.06c.27.07.27.452 0 .52l-.236.061a1 1 0 0 0-.72.72l-.06.236c-.07.269-.451.269-.52 0l-.06-.236a1 1 0 0 0-.72-.72l-.237-.06c-.269-.07-.269-.451 0-.52l.236-.06ZM.515 9.212a2 2 0 0 0 1.697-1.697l.04-.283c.041-.286.454-.286.495 0l.04.283a2 2 0 0 0 1.698 1.697l.282.04c.287.041.287.454 0 .495l-.282.04a2 2 0 0 0-1.697 1.698l-.04.282c-.042.287-.455.287-.496 0l-.04-.282A2 2 0 0 0 .515 9.788l-.283-.04c-.286-.042-.286-.455 0-.496l.283-.04Z'></path>\",\"<path d='M10.727 10.02a5.5 5.5 0 1 0-8.543-.11c.042-.13.072-.266.087-.406l.037-.325a1.23 1.23 0 0 1 .21-.58 4.5 4.5 0 1 1 5.013 2.282 1.06 1.06 0 0 1-.421.49c.277.095.48.274.61.493a5.48 5.48 0 0 0 2.3-1.137l4.126 4.127a.5.5 0 0 0 .708-.708l-4.127-4.127Z'></path><path d='M6.278 7.104a1.63 1.63 0 0 1-1.174 1.173l-.521.134c-.11.028-.11.185 0 .213l.521.134A1.63 1.63 0 0 1 6.278 9.93l.133.521c.029.11.185.11.213 0l.134-.52a1.63 1.63 0 0 1 1.174-1.174l.52-.134c.11-.028.11-.185 0-.213l-.52-.134a1.63 1.63 0 0 1-1.174-1.173l-.134-.521c-.028-.11-.184-.11-.213 0l-.133.52ZM.615 12.265a3 3 0 0 0 2.65-2.65l.036-.326c.027-.237.372-.237.398 0l.036.326a3 3 0 0 0 2.65 2.65l.326.036c.237.027.237.371 0 .398l-.325.036a3 3 0 0 0-2.65 2.65l-.037.326c-.026.237-.371.237-.398 0l-.036-.326a3 3 0 0 0-2.65-2.65l-.326-.036c-.237-.027-.237-.371 0-.398l.326-.036Z'></path>\",\"<path d='M16.32 14.906a8 8 0 1 0-13.384-1.147c.039-.106.069-.216.09-.33l.211-1.163c.113-.623.42-1.093.824-1.407a6 6 0 1 1 8.744 4.447c-.042.093-.07.194-.082.3l-.037.326c-.03.28-.102.53-.205.749.101.281.148.58.141.88a7.984 7.984 0 0 0 2.284-1.241l5.387 5.387a1 1 0 0 0 1.414-1.414l-5.387-5.387Z'></path><path d='M7.615 12.265a3 3 0 0 0 2.65-2.65l.036-.326c.027-.237.371-.237.398 0l.036.326a3 3 0 0 0 2.65 2.65l.326.037c.237.026.237.37 0 .397l-.326.036a3 3 0 0 0-2.65 2.65l-.036.326c-.027.237-.371.237-.398 0l-.036-.325a3 3 0 0 0-2.65-2.65l-.326-.037c-.237-.026-.237-.371 0-.397l.326-.037Zm-5.828 4.729a3.983 3.983 0 0 0 3.206-3.207l.212-1.163c.06-.329.53-.329.59 0l.212 1.163a3.983 3.983 0 0 0 3.206 3.207l1.164.211c.328.06.328.53 0 .59l-1.164.212a3.983 3.983 0 0 0-3.206 3.206l-.212 1.164c-.06.328-.53.328-.59 0l-.212-1.164a3.983 3.983 0 0 0-3.206-3.206l-1.164-.212c-.328-.06-.328-.53 0-.59l1.164-.211Z'></path>\",\"<path d='M21.453 20.04A10.956 10.956 0 0 0 24 13c0-6.075-4.925-11-11-11S2 6.925 2 13c0 2.473.816 4.755 2.193 6.592a2.386 2.386 0 0 0 1.418-1.452 9 9 0 1 1 11.39 2.924c.457.56.6 1.322.43 2.008a11.003 11.003 0 0 0 2.608-1.619l8.254 8.254a1 1 0 0 0 1.414-1.414l-8.254-8.254Z'></path><path d='M14.968 12.886a3 3 0 0 1-2.034 2.034l-1.239.363c-.196.058-.196.335 0 .392l1.24.364a3 3 0 0 1 2.033 2.034l.364 1.239c.057.195.334.195.392 0l.363-1.24a3 3 0 0 1 2.034-2.033l1.24-.364c.195-.057.195-.334 0-.392l-1.24-.363a3 3 0 0 1-2.034-2.034l-.363-1.24c-.058-.195-.335-.195-.392 0l-.364 1.24Zm-7.343 5.481a4.385 4.385 0 0 1-3.258 3.258l-2.676.633c-.255.06-.255.423 0 .484l2.678.634a4.385 4.385 0 0 1 3.256 3.258l.633 2.675c.06.255.423.255.484 0l.634-2.677a4.385 4.385 0 0 1 3.256-3.256l2.677-.634c.255-.06.255-.424 0-.484l-2.675-.633a4.385 4.385 0 0 1-3.258-3.256l-.634-2.678c-.06-.255-.424-.255-.484 0l-.633 2.676Z'></path>\"]];","export default [[\"M10 5.5a4.481 4.481 0 0 1-.984 2.809l2.338 2.338a.5.5 0 1 1-.707.707L8.308 9.016A4.5 4.5 0 1 1 10 5.5Zm-2.646-.646a.5.5 0 1 0-.708-.708L4.5 6.293l-.646-.647a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0l2.5-2.5Z\",\"M10.727 10.02a5.5 5.5 0 1 0-.707.707l4.127 4.127a.5.5 0 1 0 .707-.707l-4.127-4.127ZM9.354 5.354a.5.5 0 1 0-.708-.708L5.5 7.793 4.354 6.646a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3.5-3.5Z\",\"M18 10a7.965 7.965 0 0 1-1.68 4.906l5.387 5.387a1 1 0 0 1-1.414 1.414l-5.387-5.387A8 8 0 1 1 18 10Zm-4.253-1.336a1 1 0 0 0-1.494-1.328l-3.296 3.707-1.25-1.25a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.454-.043l4-4.5Z\",\"M24 13c0 2.678-.957 5.132-2.547 7.04l8.254 8.253a1 1 0 0 1-1.414 1.414l-8.254-8.254A10.956 10.956 0 0 1 13 24C6.925 24 2 19.075 2 13S6.925 2 13 2s11 4.925 11 11Zm-5.27-3.316a1 1 0 1 0-1.46-1.368l-6.793 7.247-2.77-2.77a1 1 0 0 0-1.414 1.414l3.5 3.5a1 1 0 0 0 1.437-.023l7.5-8Z\"],[\"<path d='M7.354 4.854a.5.5 0 1 0-.708-.708L4.5 6.293l-.646-.647a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0l2.5-2.5Z'></path><path d='M10 5.5a4.481 4.481 0 0 1-.984 2.809l2.338 2.338a.5.5 0 1 1-.707.707L8.308 9.016A4.5 4.5 0 1 1 10 5.5ZM5.5 9a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Z'></path>\",\"<path d='M9.354 5.354a.5.5 0 1 0-.708-.708L5.5 7.793 4.354 6.646a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3.5-3.5Z'></path><path d='M12 6.5a5.477 5.477 0 0 1-1.273 3.52l4.127 4.127a.5.5 0 1 1-.707.707l-4.127-4.127A5.5 5.5 0 1 1 12 6.5ZM6.5 11a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Z'></path>\",\"<path d='M13.747 8.664a1 1 0 0 0-1.494-1.328l-3.296 3.707-1.25-1.25a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.454-.043l4-4.5Z'></path><path d='M18 10a7.965 7.965 0 0 1-1.68 4.906l5.387 5.387a1 1 0 0 1-1.414 1.414l-5.387-5.387A8 8 0 1 1 18 10Zm-8 6a6 6 0 1 0 0-12 6 6 0 0 0 0 12Z'></path>\",\"<path d='M18.73 9.684a1 1 0 1 0-1.46-1.368l-6.793 7.247-2.77-2.77a1 1 0 0 0-1.414 1.414l3.5 3.5a1 1 0 0 0 1.437-.023l7.5-8Z'></path><path d='M24 13c0 2.678-.957 5.132-2.547 7.04l8.254 8.253a1 1 0 0 1-1.414 1.414l-8.254-8.254A10.956 10.956 0 0 1 13 24C6.925 24 2 19.075 2 13S6.925 2 13 2s11 4.925 11 11Zm-11 9a9 9 0 1 0 0-18 9 9 0 0 0 0 18Z'></path>\"]];","export default [[\"<path d='M6.5 2.5A3 3 0 0 1 9.099 4h1.645a4.502 4.502 0 1 0-7.912 4.107L.647 10.293a.75.75 0 1 0 1.06 1.06l2.186-2.185A4.475 4.475 0 0 0 6 9.973V8.954l-.393-.59A3.001 3.001 0 0 1 6.5 2.5Z'></path><path d='M5.5 5a.5.5 0 0 0-.416.777L7 8.651V11.5a.5.5 0 0 0 .724.447l2-1A.5.5 0 0 0 10 10.5V8.651l1.916-2.874A.5.5 0 0 0 11.5 5h-6Zm2.416 3.223L6.434 6h4.132L9.084 8.223A.5.5 0 0 0 9 8.5v1.691l-1 .5V8.5a.5.5 0 0 0-.084-.277Z'></path>\",\"<path d='M13.44 6a3.983 3.983 0 1 0-5.546 4.16L9 11.93v.042a5.454 5.454 0 0 1-2.821-1.09l-3.895 3.894a.75.75 0 1 1-1.06-1.06L5.117 9.82A5.482 5.482 0 1 1 14.948 6H13.44Z'></path><path d='M8 7a.5.5 0 0 0-.424.765L10 11.643V15.5a.5.5 0 0 0 .765.424l2-1.25A.5.5 0 0 0 13 14.25v-2.607l2.424-3.878A.5.5 0 0 0 15 7H8Zm2.924 4.235L8.902 8h5.196l-2.022 3.235A.5.5 0 0 0 12 11.5v2.473l-1 .625V11.5a.5.5 0 0 0-.076-.265Z'></path>\",\"<path d='M13.988 4.528c2.319 0 4.3 1.439 5.103 3.472h2.625A7.983 7.983 0 1 0 7.53 14.704l-5.17 5.168a1.25 1.25 0 0 0 1.768 1.768l5.169-5.168A7.94 7.94 0 0 0 13 17.934v-.026l-2.38-3.568a5.483 5.483 0 0 1 3.367-9.811Z'></path><path d='M12 10a1 1 0 0 0-.832 1.555L15 17.303V23a1 1 0 0 0 1.555.832l3-2A1 1 0 0 0 20 21v-3.697l3.832-5.748A1 1 0 0 0 23 10H12Zm4.832 6.445L13.868 12h7.263l-2.963 4.445A1 1 0 0 0 18 17v3.465l-1 .666V17a1 1 0 0 0-.168-.555Z'></path>\",\"<path d='M19 4.528A8.475 8.475 0 0 1 27.234 11h2.556C28.85 5.895 24.377 2.028 19 2.028 12.94 2.028 8.028 6.941 8.028 13c0 2.58.89 4.95 2.38 6.824l-8.05 8.05a1.25 1.25 0 1 0 1.768 1.768l8.05-8.05A10.918 10.918 0 0 0 18 23.927V22.86l-1.02-1.63A8.472 8.472 0 0 1 19 4.529Z'></path><path d='M16 13a1 1 0 0 0-.848 1.53L20 22.287V30a1 1 0 0 0 1.53.848l4-2.5A1 1 0 0 0 26 27.5v-5.213l4.848-7.757A1 1 0 0 0 30 13H16Zm5.848 8.47L17.804 15h10.392l-4.044 6.47A1 1 0 0 0 24 22v4.946l-2 1.25V22a1 1 0 0 0-.152-.53Z'></path>\"],[\"<path d='M2.984 8.309A4.5 4.5 0 1 1 10.744 4h-1.08A3.5 3.5 0 1 0 6 8.965v1.008a4.479 4.479 0 0 1-2.309-.957l-2.337 2.338a.5.5 0 0 1-.708-.708L2.984 8.31Z'></path><path d='M5.5 5a.5.5 0 0 0-.416.777L7 8.651V11.5a.5.5 0 0 0 .724.447l2-1A.5.5 0 0 0 10 10.5V8.651l1.916-2.874A.5.5 0 0 0 11.5 5h-6Zm2.416 3.223L6.434 6h4.132L9.084 8.223A.5.5 0 0 0 9 8.5v1.691l-1 .5V8.5a.5.5 0 0 0-.084-.277Z'></path>\",\"<path d='M5.273 10.02A5.5 5.5 0 1 1 14.977 6h-1.005a4.5 4.5 0 1 0-5.65 4.844L9 11.93v.048a5.476 5.476 0 0 1-3.02-1.251l-4.126 4.127a.5.5 0 0 1-.708-.708l4.127-4.127Z'></path><path d='M8 7a.5.5 0 0 0-.424.765L10 11.643V15.5a.5.5 0 0 0 .765.424l2-1.25A.5.5 0 0 0 13 14.25v-2.607l2.424-3.878A.5.5 0 0 0 15 7H8Zm2.924 4.235L8.902 8h5.196l-2.022 3.235A.5.5 0 0 0 12 11.5v2.473l-1 .625V11.5a.5.5 0 0 0-.076-.265Z'></path>\",\"<path d='M7.68 14.906A8 8 0 1 1 21.748 8h-2.09a6 6 0 1 0-8.357 7.36L13 17.908v.03a7.96 7.96 0 0 1-3.906-1.618l-5.387 5.387a1 1 0 0 1-1.414-1.414l5.387-5.387Z'></path><path d='M12 10a1 1 0 0 0-.832 1.555L15 17.303V23a1 1 0 0 0 1.555.832l3-2A1 1 0 0 0 20 21v-3.697l3.832-5.748A1 1 0 0 0 23 10H12Zm4.832 6.445L13.868 12h7.263l-2.963 4.445A1 1 0 0 0 18 17v3.465l-1 .666V17a1 1 0 0 0-.168-.555Z'></path>\",\"<path d='M10.547 20.04A10.956 10.956 0 0 1 8 13C8 6.925 12.925 2 19 2c5.392 0 9.878 3.88 10.819 9h-2.042A9 9 0 1 0 17.37 21.853L18 22.86v1.095a10.951 10.951 0 0 1-6.04-2.502l-8.253 8.254a1 1 0 0 1-1.414-1.414l8.254-8.254Z'></path><path d='M16 13a1 1 0 0 0-.848 1.53L20 22.287V30a1 1 0 0 0 1.53.848l4-2.5A1 1 0 0 0 26 27.5v-5.213l4.848-7.757A1 1 0 0 0 30 13H16Zm5.848 8.47L17.804 15h10.392l-4.044 6.47A1 1 0 0 0 24 22v4.946l-2 1.25V22a1 1 0 0 0-.152-.53Z'></path>\"]];","export default [[\"M0 5.5a4.5 4.5 0 1 1 8.016 2.809l2.838 2.837a.5.5 0 0 1-.708.708L7.31 9.016A4.5 4.5 0 0 1 0 5.5Zm7 0a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1 0-1h4a.5.5 0 0 1 .5.5Z\",\"M12 6.5a5.477 5.477 0 0 1-1.273 3.52l4.127 4.127a.5.5 0 1 1-.707.707l-4.127-4.127A5.5 5.5 0 1 1 12 6.5ZM8.5 7a.5.5 0 0 0 0-1h-4a.5.5 0 0 0 0 1h4Z\",\"M18 10c0 1.849-.627 3.55-1.68 4.906l5.387 5.387a1 1 0 0 1-1.414 1.414l-5.387-5.387A8 8 0 1 1 18 10Zm-5 1a1 1 0 1 0 0-2H7a1 1 0 1 0 0 2h6Z\",\"M24 13c0 2.678-.957 5.131-2.547 7.039l8.254 8.254a1 1 0 0 1-1.414 1.414l-8.254-8.254A10.955 10.955 0 0 1 13 24C6.925 24 2 19.075 2 13S6.925 2 13 2s11 4.925 11 11Zm-6 1a1 1 0 1 0 0-2H8a1 1 0 1 0 0 2h10Z\"],[\"<path d='M6.5 6a.5.5 0 0 0 0-1h-4a.5.5 0 0 0 0 1h4Z'></path><path d='M4.5 1a4.5 4.5 0 1 0 2.809 8.016l2.837 2.838a.5.5 0 0 0 .708-.708L8.016 8.31A4.5 4.5 0 0 0 4.5 1ZM1 5.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z'></path>\",\"<path d='M8.5 7a.5.5 0 0 0 0-1h-4a.5.5 0 0 0 0 1h4Z'></path><path d='M12 6.5a5.477 5.477 0 0 1-1.273 3.52l4.127 4.127a.5.5 0 1 1-.707.707l-4.127-4.127A5.5 5.5 0 1 1 12 6.5ZM6.5 11a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Z'></path>\",\"<path d='M13 11a1 1 0 1 0 0-2H7a1 1 0 1 0 0 2h6Z'></path><path d='M18 10c0 1.849-.627 3.55-1.68 4.906l5.387 5.387a1 1 0 0 1-1.414 1.414l-5.387-5.387A8 8 0 1 1 18 10Zm-8 6a6 6 0 1 0 0-12 6 6 0 0 0 0 12Z'></path>\",\"<path d='M18 14a1 1 0 1 0 0-2H8a1 1 0 1 0 0 2h10Z'></path><path d='M24 13c0 2.678-.957 5.131-2.547 7.039l8.254 8.254a1 1 0 0 1-1.414 1.414l-8.254-8.254A10.955 10.955 0 0 1 13 24C6.925 24 2 19.075 2 13S6.925 2 13 2s11 4.925 11 11Zm-11 9a9 9 0 1 0 0-18 9 9 0 0 0 0 18Z'></path>\"]];","export default [[\"M0 5.5a4.5 4.5 0 1 1 8.016 2.809l2.838 2.837a.5.5 0 0 1-.708.708L7.31 9.016A4.5 4.5 0 0 1 0 5.5ZM4.5 3a.5.5 0 0 1 .5.5V5h1.5a.5.5 0 0 1 0 1H5v1.5a.5.5 0 0 1-1 0V6H2.5a.5.5 0 0 1 0-1H4V3.5a.5.5 0 0 1 .5-.5Z\",\"M12 6.5a5.477 5.477 0 0 1-1.273 3.52l4.127 4.127a.5.5 0 1 1-.707.707l-4.127-4.127A5.5 5.5 0 1 1 12 6.5ZM6.5 4a.5.5 0 0 1 .5.5V6h1.5a.5.5 0 0 1 0 1H7v1.5a.5.5 0 0 1-1 0V7H4.5a.5.5 0 0 1 0-1H6V4.5a.5.5 0 0 1 .5-.5Z\",\"M18 10c0 1.849-.627 3.55-1.68 4.906l5.387 5.387a1 1 0 0 1-1.414 1.414l-5.387-5.387A8 8 0 1 1 18 10Zm-8-4a1 1 0 0 1 1 1v2h2a1 1 0 1 1 0 2h-2v2a1 1 0 1 1-2 0v-2H7a1 1 0 1 1 0-2h2V7a1 1 0 0 1 1-1Z\",\"M24 13c0 2.678-.957 5.131-2.547 7.039l8.254 8.254a1 1 0 0 1-1.414 1.414l-8.254-8.254A10.955 10.955 0 0 1 13 24C6.925 24 2 19.075 2 13S6.925 2 13 2s11 4.925 11 11ZM13 7a1 1 0 0 1 1 1v4h4a1 1 0 1 1 0 2h-4v4a1 1 0 1 1-2 0v-4H8a1 1 0 1 1 0-2h4V8a1 1 0 0 1 1-1Z\"],[\"<path d='M4.5 3a.5.5 0 0 1 .5.5V5h1.5a.5.5 0 0 1 0 1H5v1.5a.5.5 0 0 1-1 0V6H2.5a.5.5 0 0 1 0-1H4V3.5a.5.5 0 0 1 .5-.5Z'></path><path d='M1 5.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM4.5 1a4.5 4.5 0 1 0 2.809 8.016l2.837 2.838a.5.5 0 0 0 .708-.708L8.016 8.31A4.5 4.5 0 0 0 4.5 1Z'></path>\",\"<path d='M6.5 4a.5.5 0 0 1 .5.5V6h1.5a.5.5 0 0 1 0 1H7v1.5a.5.5 0 0 1-1 0V7H4.5a.5.5 0 0 1 0-1H6V4.5a.5.5 0 0 1 .5-.5Z'></path><path d='M10.727 10.02a5.5 5.5 0 1 0-.707.707l4.127 4.127a.5.5 0 1 0 .707-.707l-4.127-4.127ZM11 6.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Z'></path>\",\"<path d='M14 10a1 1 0 0 1-1 1h-2v2a1 1 0 1 1-2 0v-2H7a1 1 0 1 1 0-2h2V7a1 1 0 0 1 2 0v2h2a1 1 0 0 1 1 1Z'></path><path d='M16.32 14.906a8 8 0 1 0-1.414 1.414l5.387 5.387a1 1 0 0 0 1.414-1.414l-5.387-5.387ZM16 10a6 6 0 1 1-12 0 6 6 0 0 1 12 0Z'></path>\",\"<path d='M13 7a1 1 0 0 1 1 1v4h4a1 1 0 1 1 0 2h-4v4a1 1 0 1 1-2 0v-4H8a1 1 0 1 1 0-2h4V8a1 1 0 0 1 1-1Z'></path><path d='M21.453 20.039A10.955 10.955 0 0 0 24 13c0-6.075-4.925-11-11-11S2 6.925 2 13s4.925 11 11 11c2.678 0 5.132-.957 7.04-2.547l8.253 8.254a1 1 0 0 0 1.414-1.414l-8.254-8.254ZM22 13a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z'></path>\"]];","export default [[\"M10 8.5A1.5 1.5 0 0 1 8.5 10H6.67a.5.5 0 0 0-.165.029L4 10.914a1.5 1.5 0 0 1-1 0l-2-.707a1.5 1.5 0 0 1-1-1.414V2.5a1.5 1.5 0 0 1 2.25-1.3l1.11.641a.5.5 0 0 0 .408.042l2.42-.807A1.5 1.5 0 0 1 6.662 1H8.5A1.5 1.5 0 0 1 10 2.5V3a2 2 0 0 1 2 2c0 .332-.142.681-.29.969-.156.304-.36.613-.554.884a12.963 12.963 0 0 1-.764.959l-.014.016-.004.003A.499.499 0 0 1 10 8v.5ZM9.999 4H10a1 1 0 0 1 1 1c0 .082-.046.253-.179.511a6.28 6.28 0 0 1-.477.758c-.118.165-.238.32-.344.453a11.455 11.455 0 0 1-.344-.453 6.276 6.276 0 0 1-.477-.758C9.046 5.253 9 5.082 9 5a1 1 0 0 1 .999-1ZM9 8.5V7.064a11.532 11.532 0 0 1-.156-.211 7.255 7.255 0 0 1-.554-.884C8.142 5.68 8 5.332 8 5a2 2 0 0 1 1-1.732V2.5a.5.5 0 0 0-.5-.5H7v7h1.5a.5.5 0 0 0 .5-.5ZM1 2.501a.5.5 0 0 1 .75-.433l1.11.64c.046.027.093.05.14.071v7.074l-1.667-.589A.5.5 0 0 1 1 8.793V2.5Z\",\"<path d='M9.623 1a1.5 1.5 0 0 0-.364.045l-3.589.897a.5.5 0 0 1-.287-.013l-2.384-.84A1.5 1.5 0 0 0 1 2.502v10.094a1.5 1.5 0 0 0 1.07 1.437l3.018.905a1.5 1.5 0 0 0 .809.014l3.605-.937A.5.5 0 0 1 9.628 14H13.5a1.5 1.5 0 0 0 1.5-1.5.5.5 0 0 0-1 0 .5.5 0 0 1-.5.5H10V2h3.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 0 1 0v-2A1.5 1.5 0 0 0 13.5 1H9.623ZM5 2.854 2.666 2.03A.5.5 0 0 0 2 2.503v10.094a.5.5 0 0 0 .356.479L5 13.868V2.854Z'></path><path d='M12.626 10.832a.499.499 0 0 0 .748 0l.004-.004.014-.016a9.752 9.752 0 0 0 .227-.267c.146-.175.34-.42.537-.692.195-.271.398-.58.554-.884.148-.288.29-.637.29-.969a2 2 0 1 0-4 0c0 .332.142.681.29.969.156.304.36.613.554.884a12.975 12.975 0 0 0 .714.901l.033.038.017.02.014.016.004.004ZM13 7a1 1 0 0 0-1 1c0 .082.046.253.179.511.125.243.297.507.477.758.118.165.238.32.344.453.106-.134.226-.288.344-.453.18-.25.352-.515.477-.758.133-.258.179-.429.179-.511a1 1 0 0 0-1-1Z'></path>\",\"<path d='M13.505 1.043A3 3 0 0 1 14.01 1H21a3 3 0 0 1 3 3v1a1 1 0 1 1-2 0V4a1 1 0 0 0-1-1h-6v16h6a1 1 0 0 0 1-1 1 1 0 0 1 2 0 3 3 0 0 1-3 3h-6.662a.988.988 0 0 0-.328.057L9 22.827a2.999 2.999 0 0 1-2 0l-4-1.413a3 3 0 0 1-2-2.829V4.003a3 3 0 0 1 3.773-2.899l3.062.817a1 1 0 0 0 .427.02l5.242-.898ZM4.258 3.037 7 3.768v16.938l-3.333-1.178A1 1 0 0 1 3 18.586V4.002a1 1 0 0 1 1.258-.966Z'></path><path d='M20 12a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M20.749 16.663a.998.998 0 0 1-1.498 0l-.007-.008-.027-.031a24.895 24.895 0 0 1-.455-.534 25.48 25.48 0 0 1-1.074-1.385 14.43 14.43 0 0 1-1.108-1.767C16.284 12.363 16 11.664 16 11a4 4 0 0 1 8 0c0 .664-.284 1.363-.58 1.938a14.522 14.522 0 0 1-1.108 1.767 26.055 26.055 0 0 1-1.529 1.919l-.027.031-.007.008ZM18 11a2 2 0 1 1 4 0c0 .164-.091.505-.358 1.023a12.56 12.56 0 0 1-.954 1.514 23 23 0 0 1-.688.906 23 23 0 0 1-.688-.905 12.56 12.56 0 0 1-.954-1.515C18.09 11.505 18 11.164 18 11Z'></path>\",\"<path d='M26 26h-8V4h8a1 1 0 0 1 1 1v3a1 1 0 1 0 2 0V5a3 3 0 0 0-3-3h-8.91a1 1 0 0 0-.14.01l-6.744.951a1 1 0 0 1-.344-.011l-4.25-.887A3 3 0 0 0 2 5v20.51a3 3 0 0 0 2.142 2.874l5 1.493a3 3 0 0 0 1.716 0l6.148-1.835a1 1 0 0 1 .286-.042H26a3 3 0 0 0 3-3v-1a1 1 0 0 0-2-.006V25a1 1 0 0 1-1 1ZM4 5a1 1 0 0 1 1.204-.979L9 4.813v22.935l-4.286-1.28A1 1 0 0 1 4 25.51V5Z'></path><path d='M25 16a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='m25.727 21.687.01-.01.036-.039a24.385 24.385 0 0 0 .601-.661c.385-.436.901-1.041 1.42-1.717.515-.672 1.048-1.433 1.458-2.179.39-.71.748-1.547.748-2.331 0-2.683-2.3-4.75-5-4.75s-5 2.067-5 4.75c0 .784.359 1.622.748 2.331.41.746.943 1.507 1.459 2.18a32.517 32.517 0 0 0 2.02 2.377l.036.038.01.011.004.004a.997.997 0 0 0 1.446 0l.004-.004ZM22 14.75c0-1.46 1.281-2.75 3-2.75s3 1.291 3 2.75c0 .251-.141.713-.502 1.369-.34.62-.807 1.292-1.291 1.924-.43.56-.86 1.071-1.207 1.468a30.236 30.236 0 0 1-1.207-1.468c-.484-.632-.95-1.303-1.291-1.924-.36-.656-.502-1.118-.502-1.37Z'></path>\"],[\"M10 8.5A1.5 1.5 0 0 1 8.5 10H6.67a.5.5 0 0 0-.165.029L4 10.914a1.5 1.5 0 0 1-1 0l-2-.707a1.5 1.5 0 0 1-1-1.414V2.5a1.5 1.5 0 0 1 2.25-1.3l1.11.641a.5.5 0 0 0 .408.042l2.42-.807A1.5 1.5 0 0 1 6.662 1H8.5A1.5 1.5 0 0 1 10 2.5V3a2 2 0 0 1 2 2c0 .332-.142.681-.29.969-.156.304-.36.613-.554.884a12.963 12.963 0 0 1-.764.959l-.014.016-.004.003A.499.499 0 0 1 10 8v.5ZM9.999 4H10a1 1 0 0 1 1 1c0 .082-.046.253-.179.511a6.28 6.28 0 0 1-.477.758c-.118.165-.238.32-.344.453a11.455 11.455 0 0 1-.344-.453 6.276 6.276 0 0 1-.477-.758C9.046 5.253 9 5.082 9 5a1 1 0 0 1 .999-1ZM9 8.5V7.064a11.532 11.532 0 0 1-.156-.211 7.255 7.255 0 0 1-.554-.884C8.142 5.68 8 5.332 8 5a2 2 0 0 1 1-1.732V2.5a.5.5 0 0 0-.5-.5H7v7h1.5a.5.5 0 0 0 .5-.5ZM1 2.501a.5.5 0 0 1 .75-.433l1.11.64c.046.027.093.05.14.071v7.074l-1.667-.589A.5.5 0 0 1 1 8.793V2.5Zm3 7.352 2-.707V2.194l-1.915.638A1.51 1.51 0 0 1 4 2.858v6.995Z\",\"<path d='M9.623 1a1.5 1.5 0 0 0-.364.045l-3.589.897a.5.5 0 0 1-.287-.013l-2.384-.84A1.5 1.5 0 0 0 1 2.502v10.094a1.5 1.5 0 0 0 1.07 1.437l3.018.905a1.5 1.5 0 0 0 .809.014l3.605-.937A.5.5 0 0 1 9.628 14H13.5a1.5 1.5 0 0 0 1.5-1.5.5.5 0 0 0-1 0 .5.5 0 0 1-.5.5H10V2h3.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 0 1 0v-2A1.5 1.5 0 0 0 13.5 1H9.623ZM9 2.14v10.973l-3 .78V2.89l3-.75Zm-4 .714L2.666 2.03A.5.5 0 0 0 2 2.503v10.094a.5.5 0 0 0 .356.479L5 13.868V2.854Z'></path><path d='M12.626 10.832a.499.499 0 0 0 .748 0l.004-.004.014-.016a9.752 9.752 0 0 0 .227-.267c.146-.175.34-.42.537-.692.195-.271.398-.58.554-.884.148-.288.29-.637.29-.969a2 2 0 1 0-4 0c0 .332.142.681.29.969.156.304.36.613.554.884a12.975 12.975 0 0 0 .714.901l.033.038.017.02.014.016.004.004ZM13 7a1 1 0 0 0-1 1c0 .082.046.253.179.511.125.243.297.507.477.758.118.165.238.32.344.453.106-.134.226-.288.344-.453.18-.25.352-.515.477-.758.133-.258.179-.429.179-.511a1 1 0 0 0-1-1Z'></path>\",\"<path d='M13.505 1.043A3 3 0 0 1 14.01 1H21a3 3 0 0 1 3 3v1a1 1 0 1 1-2 0V4a1 1 0 0 0-1-1h-6v16h6a1 1 0 0 0 1-1 1 1 0 0 1 2 0 3 3 0 0 1-3 3h-6.662a.988.988 0 0 0-.328.057L9 22.827a2.999 2.999 0 0 1-2 0l-4-1.413a3 3 0 0 1-2-2.829V4.003a3 3 0 0 1 3.773-2.899l3.062.817a1 1 0 0 0 .427.02l5.242-.898ZM13 19.293V3.159l-4 .684v16.863l4-1.413ZM4.258 3.037 7 3.768v16.938l-3.333-1.178A1 1 0 0 1 3 18.586V4.002a1 1 0 0 1 1.258-.966Z'></path><path d='M20 12a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M20.749 16.663a.997.997 0 0 1-1.498 0l-.007-.008-.027-.031a24.895 24.895 0 0 1-.455-.534 25.48 25.48 0 0 1-1.074-1.385 14.43 14.43 0 0 1-1.108-1.767C16.284 12.363 16 11.664 16 11a4 4 0 0 1 8 0c0 .664-.284 1.363-.58 1.938a14.522 14.522 0 0 1-1.108 1.767 26.055 26.055 0 0 1-1.529 1.919l-.027.031-.007.008ZM18 11a2 2 0 1 1 4 0c0 .164-.091.505-.358 1.023a12.56 12.56 0 0 1-.954 1.514 23 23 0 0 1-.688.906 23 23 0 0 1-.688-.905 12.56 12.56 0 0 1-.954-1.515C18.09 11.505 18 11.164 18 11Z'></path>\",\"<path d='M26 26h-8V4h8a1 1 0 0 1 1 1v3a1 1 0 1 0 2 0V5a3 3 0 0 0-3-3h-8.91a1 1 0 0 0-.14.01l-6.744.951a1 1 0 0 1-.344-.011l-4.25-.887A3 3 0 0 0 2 5v20.51a3 3 0 0 0 2.142 2.874l5 1.493a3 3 0 0 0 1.716 0l6.148-1.835a1 1 0 0 1 .286-.042H26a3 3 0 0 0 3-3v-1a1 1 0 0 0-2-.006V25a1 1 0 0 1-1 1ZM4 5a1 1 0 0 1 1.204-.979L9 4.813v22.935l-4.286-1.28A1 1 0 0 1 4 25.51V5Zm7 22.748 5-1.493V4.164l-5 .705v22.879Z'></path><path d='M25 16a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='m25.727 21.687.01-.01.036-.039a24.385 24.385 0 0 0 .601-.661c.385-.436.901-1.041 1.42-1.717.515-.672 1.048-1.433 1.458-2.179.39-.71.748-1.547.748-2.331 0-2.683-2.3-4.75-5-4.75s-5 2.067-5 4.75c0 .784.359 1.622.748 2.331.41.746.943 1.507 1.459 2.18a32.517 32.517 0 0 0 2.02 2.377l.036.038.01.011.004.004a.997.997 0 0 0 1.446 0l.004-.004ZM22 14.75c0-1.46 1.281-2.75 3-2.75s3 1.291 3 2.75c0 .251-.141.713-.502 1.369-.34.62-.807 1.292-1.291 1.924-.43.56-.86 1.071-1.207 1.468a30.236 30.236 0 0 1-1.207-1.468c-.484-.632-.95-1.303-1.291-1.924-.36-.656-.502-1.118-.502-1.37Z'></path>\"]];","export default [[\"M10.957 1.703a.5.5 0 0 0-.66-.66l-9 4a.5.5 0 0 0 .006.917l3.316 1.42 1.421 3.317a.5.5 0 0 0 .917.006l4-9Z\",\"M14.954 1.71a.5.5 0 0 0-.664-.664l-13 6a.5.5 0 0 0 .024.918l4.801 1.92 1.92 4.802a.5.5 0 0 0 .919.024l6-13Z\",\"M21.908 3.42a1 1 0 0 0-1.327-1.328l-18 8.308a1 1 0 0 0 .048 1.836l6.525 2.61 2.61 6.525a1 1 0 0 0 1.836.048l8.308-18Z\",\"M29.908 3.42a1 1 0 0 0-1.298-1.34l-26 11a1 1 0 0 0-.057 1.815l9.66 4.83 3.859 9.646a1 1 0 0 0 1.836.048l12-26Z\"],[\"M10.854 1.146a.5.5 0 0 1 .103.557l-4 9a.5.5 0 0 1-.917-.006L4.62 7.381 1.302 5.96a.5.5 0 0 1-.006-.917l9-4a.5.5 0 0 1 .557.103ZM2.75 5.492 5.197 6.54a.5.5 0 0 1 .263.263L6.508 9.25l3.007-6.765L2.75 5.492Z\",\"M14.854 1.146a.5.5 0 0 1 .1.564l-6 13a.5.5 0 0 1-.918-.024l-1.92-4.801-4.802-1.92a.5.5 0 0 1-.024-.919l13-6a.5.5 0 0 1 .564.1ZM2.764 7.467l3.922 1.569a.5.5 0 0 1 .278.278l1.569 3.922 4.944-10.713L2.764 7.467Z\",\"M21.707 2.293a1 1 0 0 1 .201 1.126l-8.308 18a1 1 0 0 1-1.836-.048l-2.61-6.525-6.525-2.61A1 1 0 0 1 2.58 10.4l18-8.308a1 1 0 0 1 1.126.2ZM5.53 11.243l4.765 1.905a1 1 0 0 1 .558.558l1.906 4.765 6.197-13.426L5.53 11.242Z\",\"M29.718 2.304a1 1 0 0 1 .19 1.115l-12 26a1 1 0 0 1-1.837-.048l-3.858-9.647-9.66-4.83a1 1 0 0 1 .057-1.815l26-11a1 1 0 0 1 1.108.225ZM5.388 14.076l8.06 4.03a1 1 0 0 1 .48.523l3.138 7.842 9.943-21.543-21.622 9.148Z\"]];","export default [[\"M2 5c0-2.282 1.797-4 4-4 2.203 0 4 1.718 4 4 0 1.177-.655 2.41-1.35 3.406a17.632 17.632 0 0 1-1.97 2.314.962.962 0 0 1-1.36 0 17.632 17.632 0 0 1-1.97-2.314C2.655 7.411 2 6.176 2 5Zm4-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z\",\"M3 6.094C3 3.29 5.229 1 8 1s5 2.29 5 5.094c0 1.618-.83 3.45-1.737 4.989-.92 1.558-1.972 2.9-2.514 3.56a.965.965 0 0 1-1.498 0c-.542-.66-1.595-2.002-2.514-3.56C3.829 9.544 3 7.712 3 6.093ZM8 3.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z\",\"M4 8.967C4 4.563 7.586 1 12 1s8 3.563 8 7.967c0 2.445-1.238 5.244-2.592 7.609-1.377 2.405-2.978 4.535-3.89 5.687a1.927 1.927 0 0 1-3.035 0c-.913-1.152-2.514-3.282-3.89-5.688C5.237 14.212 4 11.414 4 8.968ZM12 5a4 4 0 1 0 0 8 4 4 0 0 0 0-8Z\",\"M6 12.002C6 6.478 10.477 2 16 2s10 4.478 10 10.002c0 3.17-1.653 6.854-3.46 9.973-1.832 3.161-3.932 5.921-5.021 7.287a1.933 1.933 0 0 1-3.038 0c-1.09-1.366-3.189-4.126-5.02-7.287C7.652 18.856 6 15.172 6 12.002Zm10-5a5 5 0 1 0 .001 10 5 5 0 0 0-.001-10Z\"],[\"M6 2C4.337 2 3 3.282 3 5c0 .851.496 1.868 1.17 2.833A16.61 16.61 0 0 0 6 9.986a16.61 16.61 0 0 0 1.83-2.153C8.504 6.868 9 5.851 9 5c0-1.718-1.337-3-3-3ZM2 5c0-2.282 1.797-4 4-4 2.203 0 4 1.718 4 4 0 1.177-.655 2.41-1.35 3.406a17.632 17.632 0 0 1-1.97 2.314.962.962 0 0 1-1.36 0 17.632 17.632 0 0 1-1.97-2.314C2.655 7.411 2 6.176 2 5Zm4-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2ZM4 5a2 2 0 1 1 4 0 2 2 0 0 1-4 0Z\",\"M8 2C5.8 2 4 3.823 4 6.094c0 1.332.705 2.966 1.598 4.48A28.246 28.246 0 0 0 8 13.979c.533-.65 1.533-1.931 2.402-3.404C11.295 9.06 12 7.426 12 6.094 12 3.824 10.2 2 8 2ZM3 6.094C3 3.29 5.229 1 8 1s5 2.29 5 5.094c0 1.618-.83 3.45-1.737 4.989-.92 1.558-1.972 2.9-2.514 3.56a.965.965 0 0 1-1.498 0c-.542-.66-1.595-2.002-2.514-3.56C3.829 9.544 3 7.712 3 6.093ZM8 4.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM5.5 6a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z\",\"M12 3C8.682 3 6 5.676 6 8.967c0 1.886.997 4.291 2.328 6.615C9.61 17.822 11.11 19.83 12 20.957c.89-1.127 2.39-3.135 3.672-5.375C17.002 13.258 18 10.852 18 8.967 18 5.676 15.318 3 12 3ZM4 8.967C4 4.563 7.586 1 12 1s8 3.563 8 7.967c0 2.445-1.238 5.244-2.592 7.609-1.377 2.405-2.978 4.535-3.89 5.687a1.927 1.927 0 0 1-3.035 0c-.913-1.152-2.514-3.282-3.89-5.688C5.237 14.212 4 11.414 4 8.968ZM12 7a2 2 0 1 0 0 4 2 2 0 0 0 0-4ZM8 9a4 4 0 1 1 8 0 4 4 0 0 1-8 0Z\",\"M16 4a8 8 0 0 0-8 8.002c0 2.6 1.404 5.887 3.19 8.97 1.738 2.998 3.738 5.64 4.81 6.986 1.072-1.347 3.072-3.988 4.81-6.986 1.786-3.083 3.19-6.37 3.19-8.97A8.001 8.001 0 0 0 16 4ZM6 12.002C6 6.478 10.477 2 16 2s10 4.478 10 10.002c0 3.17-1.653 6.854-3.46 9.973-1.832 3.161-3.932 5.921-5.021 7.287a1.933 1.933 0 0 1-3.038 0c-1.09-1.366-3.189-4.126-5.02-7.287C7.652 18.856 6 15.172 6 12.002Zm10-3a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm-5 3a5 5 0 1 1 10.001 0 5 5 0 0 1-10.001 0Z\"]];","export default [[\"M7 1c-1.322 0-2.41.875-2.822 2.118C2.902 3.496 2 4.74 2 6.238c0 .894.431 1.823.899 2.58a13.299 13.299 0 0 0 1.39 1.834.952.952 0 0 0 1.422 0c.328-.365.84-.973 1.294-1.68a.952.952 0 0 0 .706-.32c.352-.391.914-1.06 1.39-1.833C9.57 6.06 10 5.132 10 4.237 10 2.434 8.693 1 7 1ZM4.899 6.819a13.02 13.02 0 0 0 1.235 1.658A12.585 12.585 0 0 1 5 9.947a12.242 12.242 0 0 1-1.25-1.653C3.308 7.577 3 6.846 3 6.237c0-.88.411-1.578 1-1.948.017.879.44 1.787.899 2.53ZM6 4.003C6 3.452 6.445 3 7 3c.555 0 1 .452 1 1.003 0 .551-.445 1.003-1 1.003-.555 0-1-.452-1-1.003Z\",\"M2 7.402c0-1.714.998-3.19 2.448-3.918A4.513 4.513 0 0 1 8.5 1C10.973 1 13 2.96 13 5.402c0 1.386-.733 2.94-1.528 4.238a24.81 24.81 0 0 1-2.236 3.04.966.966 0 0 1-.689.339 26.47 26.47 0 0 1-1.31 1.66.966.966 0 0 1-1.473 0 24.812 24.812 0 0 1-2.236-3.04C2.733 10.344 2 8.79 2 7.403Zm2-2c0-.134.006-.267.018-.398A3.349 3.349 0 0 0 3 7.402c0 1.09.599 2.44 1.38 3.715a23.788 23.788 0 0 0 2.12 2.885 25.58 25.58 0 0 0 1.152-1.453 24.637 24.637 0 0 1-2.124-2.91C4.733 8.344 4 6.79 4 5.403Zm2.5.098a2 2 0 1 0 4 0 2 2 0 0 0-4 0Z\",\"M3 10.61c0-3.348 2.6-6.033 5.9-6.528C10.186 2.793 12.01 2 14 2c3.802 0 7 2.898 7 6.61 0 2.006-1.055 4.26-2.19 6.14-1.16 1.923-2.517 3.638-3.328 4.607a1.925 1.925 0 0 1-2.65.3 42.49 42.49 0 0 1-1.35 1.7 1.925 1.925 0 0 1-2.964 0c-.811-.97-2.169-2.684-3.328-4.606C4.055 14.87 3 12.616 3 10.61Zm4-2c0-.653.099-1.28.283-1.872C5.895 7.57 5 9.017 5 10.611c0 1.418.792 3.266 1.902 5.106 1.061 1.76 2.314 3.353 3.098 4.294a40.35 40.35 0 0 0 1.502-1.917 35.738 35.738 0 0 1-2.312-3.343C8.055 12.87 7 10.616 7 8.61Zm4.5.39a2.5 2.5 0 1 0 5 0 2.5 2.5 0 0 0-5 0Z\",\"M5 13.986c0-3.842 2.415-7.12 5.81-8.405A8.991 8.991 0 0 1 18 2c4.969 0 9 4.022 9 8.987 0 2.805-1.442 6.043-3.021 8.784-1.603 2.781-3.452 5.227-4.457 6.492a1.938 1.938 0 0 1-2.203.615 59.071 59.071 0 0 1-1.797 2.385 1.938 1.938 0 0 1-3.044 0c-1.005-1.265-2.854-3.71-4.457-6.493C6.442 20.03 5 16.792 5 13.986Zm4-3c0-.736.089-1.452.256-2.137A6.963 6.963 0 0 0 7 13.986c0 2.241 1.197 5.084 2.754 7.786 1.51 2.621 3.261 4.95 4.246 6.191a57.293 57.293 0 0 0 1.863-2.489c-1.045-1.363-2.527-3.42-3.842-5.703C10.442 17.03 9 13.792 9 10.987Zm4.5.014a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Z\"],[\"<path d='M7 3c-.555 0-1 .452-1 1.003 0 .551.445 1.003 1 1.003.555 0 1-.452 1-1.003C8 3.452 7.555 3 7 3Z'></path><path d='M7.005 8.971a.952.952 0 0 0 .706-.319c.352-.391.914-1.06 1.39-1.833C9.57 6.06 10 5.132 10 4.237 10 2.434 8.693 1 7 1c-1.322 0-2.41.875-2.822 2.118C2.902 3.496 2 4.74 2 6.238c0 .894.431 1.823.899 2.58a13.299 13.299 0 0 0 1.39 1.834.952.952 0 0 0 1.422 0c.328-.365.84-.973 1.294-1.68ZM5 4.237C5 2.912 5.931 2 7 2s2 .912 2 2.237c0 .609-.308 1.34-.75 2.057A12.243 12.243 0 0 1 7 7.947a12.241 12.241 0 0 1-1.25-1.653C5.308 5.577 5 4.846 5 4.237ZM4 4.29c.017.879.44 1.787.899 2.53a13.02 13.02 0 0 0 1.235 1.658A12.585 12.585 0 0 1 5 9.947a12.242 12.242 0 0 1-1.25-1.653C3.308 7.577 3 6.846 3 6.237c0-.88.411-1.578 1-1.948Z'></path>\",\"<path d='M8.5 3.5a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm-1 2a1 1 0 1 1 2 0 1 1 0 0 1-2 0Z'></path><path d='M4.448 3.484C2.998 4.212 2 5.688 2 7.402c0 1.386.733 2.94 1.528 4.238a24.812 24.812 0 0 0 2.236 3.04.966.966 0 0 0 1.472 0 26.6 26.6 0 0 0 1.311-1.661.966.966 0 0 0 .69-.34 24.81 24.81 0 0 0 2.235-3.04C12.267 8.344 13 6.79 13 5.403 13 2.96 10.973 1 8.5 1a4.513 4.513 0 0 0-4.052 2.484ZM5 5.402C5 3.535 6.555 2 8.5 2S12 3.535 12 5.402c0 1.09-.599 2.44-1.38 3.715a23.788 23.788 0 0 1-2.12 2.885 23.79 23.79 0 0 1-2.12-2.885C5.6 7.843 5 6.492 5 5.402Zm-.982-.398A4.371 4.371 0 0 0 4 5.402c0 1.386.733 2.94 1.528 4.238a24.637 24.637 0 0 0 2.124 2.909A25.58 25.58 0 0 1 6.5 14.002a23.788 23.788 0 0 1-2.12-2.885C3.6 9.843 3 8.493 3 7.402c0-.932.388-1.782 1.018-2.398Z'></path>\",\"<path d='M14 6a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm-1 3a1 1 0 1 1 2 0 1 1 0 0 1-2 0Z'></path><path d='M8.9 4.082C5.6 4.577 3 7.262 3 10.61c0 2.005 1.055 4.26 2.19 6.14 1.16 1.922 2.517 3.637 3.328 4.605a1.925 1.925 0 0 0 2.964 0 42.49 42.49 0 0 0 1.35-1.699 1.925 1.925 0 0 0 2.65-.3c.811-.97 2.169-2.684 3.329-4.606C19.945 12.87 21 10.616 21 8.61 21 4.898 17.802 2 14 2c-1.99 0-3.813.793-5.1 2.082ZM9 8.61C9 6.126 11.174 4 14 4s5 2.126 5 4.61c0 1.42-.792 3.267-1.902 5.107-1.061 1.76-2.314 3.353-3.098 4.294-.784-.94-2.037-2.534-3.098-4.293C9.792 11.877 9 10.028 9 8.61ZM7.283 6.738A6.294 6.294 0 0 0 7 8.611c0 2.005 1.055 4.26 2.19 6.14a35.738 35.738 0 0 0 2.312 3.343A40.35 40.35 0 0 1 10 20.011c-.784-.94-2.037-2.534-3.098-4.293C5.792 13.877 5 12.028 5 10.61c0-1.594.895-3.04 2.283-3.873Z'></path>\",\"<path d='M18 6a5 5 0 1 0 0 10 5 5 0 0 0 0-10Zm-3 5a3 3 0 1 1 6 0 3 3 0 0 1-6 0Z'></path><path d='M10.81 5.58C7.415 6.867 5 10.145 5 13.987c0 2.806 1.442 6.044 3.021 8.784 1.603 2.782 3.452 5.228 4.457 6.493a1.938 1.938 0 0 0 3.044 0 59.071 59.071 0 0 0 1.797-2.385 1.938 1.938 0 0 0 2.203-.615c1.005-1.265 2.854-3.71 4.457-6.492C25.558 17.03 27 13.792 27 10.987 27 6.022 22.969 2 18 2a8.991 8.991 0 0 0-7.19 3.58Zm.19 5.407C11 7.13 14.132 4 18 4s7 3.13 7 6.987c0 2.24-1.198 5.083-2.754 7.785-1.51 2.621-3.261 4.95-4.246 6.191-.985-1.242-2.736-3.57-4.246-6.19C12.198 16.07 11 13.226 11 10.986ZM9.256 8.849A8.997 8.997 0 0 0 9 10.987c0 2.805 1.442 6.043 3.021 8.784 1.315 2.283 2.797 4.34 3.842 5.703A57.293 57.293 0 0 1 14 27.964c-.985-1.243-2.736-3.57-4.246-6.192C8.197 19.07 7 16.227 7 13.987c0-2.032.869-3.861 2.256-5.138Z'></path>\"]];","export default [[\"M4.745 2.047a1.5 1.5 0 0 0-.06.065.5.5 0 0 0-.122.145l-2.178 3.92 3.876 3.877L9.8 7.4a1.516 1.516 0 0 0 .104-.097l.601-.6a1.7 1.7 0 0 0 0-2.405L7.702 1.495a1.7 1.7 0 0 0-2.404 0l-.553.552Zm2.25.155 2.803 2.803a.7.7 0 0 1 0 .99l-.298.298L5.707 2.5l.298-.298a.7.7 0 0 1 .99 0ZM4.75 9.957 2.543 7.75 1.146 9.146a.5.5 0 0 0 .13.801l2 1a.5.5 0 0 0 .578-.093l.896-.897Z\",\"M7.798 2.495a1.7 1.7 0 0 1 2.404 0l4.303 4.303a1.7 1.7 0 0 1 0 2.404l-2.151 2.152a.5.5 0 0 1-.217.127l-3.25.929a.5.5 0 0 0-.217.127l-.963.963L3.5 9.293l.963-.963a.5.5 0 0 0 .127-.216l.93-3.251a.5.5 0 0 1 .126-.217l2.152-2.151Zm1.697.707a.7.7 0 0 0-.99 0l-.298.298L13.5 8.793l.298-.298a.7.7 0 0 0 0-.99L9.495 3.202ZM12.793 9.5 7.5 4.207 6.707 5 12 10.293l.793-.793Zm-9.25 1.25-2.397 2.396a.5.5 0 0 0 .196.828l3 1a.5.5 0 0 0 .512-.12l1.396-1.397-2.707-2.707Z\",\"M11.944 2.641a2.2 2.2 0 0 1 3.112 0l7.303 7.303a2.2 2.2 0 0 1 0 3.112l-4.152 4.151a1 1 0 0 1-.293.203l-5.335 2.425L11.414 21 4 13.586l1.165-1.165L7.59 7.086a1 1 0 0 1 .203-.293l4.151-4.152Zm1.697 1.415a.2.2 0 0 0-.282 0L12.414 5 20 12.586l.944-.945a.2.2 0 0 0 0-.282l-7.303-7.303ZM18.586 14 11 6.414 9.914 7.5l7.586 7.586L18.586 14Zm-14.5 2.5-2.793 2.793a1 1 0 0 0 .26 1.601l4 2a1 1 0 0 0 1.154-.187L8.5 20.914 4.086 16.5Z\",\"M16.444 3.641a2.2 2.2 0 0 1 3.112 0l9.803 9.803a2.2 2.2 0 0 1 0 3.112l-5.152 5.151a.999.999 0 0 1-.217.165l-7.88 4.432L14.414 28 6 19.586l1.644-1.644 3.424-8.804a1 1 0 0 1 .225-.345l5.151-5.152Zm1.697 1.415a.2.2 0 0 0-.282 0L16.414 6.5 26.5 16.586l1.444-1.445a.2.2 0 0 0 0-.282l-9.803-9.803ZM25.086 18 15 7.914 13.414 9.5 23.5 19.586 25.086 18Zm-19 4.5-3.793 3.793a1 1 0 0 0 .39 1.656l6 2a1 1 0 0 0 1.024-.242l1.793-1.793L6.086 22.5Z\"],[\"M7.702 1.495a1.7 1.7 0 0 0-2.404 0l-.652.651a.5.5 0 0 0-.083.111l-2.5 4.5a.5.5 0 0 0 .083.597l.397.396-1.397 1.396a.5.5 0 0 0 .13.801l2 1a.5.5 0 0 0 .578-.093l.896-.897.396.397a.5.5 0 0 0 .654.046l4-3a.5.5 0 0 0 .054-.046l.651-.652a1.7 1.7 0 0 0 0-2.404L7.702 1.495Zm-1.697.707a.7.7 0 0 1 .99 0l2.803 2.803a.7.7 0 0 1 0 .99l-.298.298L5.707 2.5l.298-.298Zm-.89 1.12L8.74 6.946 5.547 9.34 3.12 6.913l1.995-3.59ZM4.043 9.25l-.642.642-1.057-.529.906-.906.793.793Z\",\"M10.202 2.495a1.7 1.7 0 0 0-2.404 0L5.646 4.646a.5.5 0 0 0-.127.217l-.929 3.25a.5.5 0 0 1-.127.217L3.146 9.646a.5.5 0 0 0 0 .708l.397.396-2.397 2.396a.5.5 0 0 0 .196.828l3 1a.5.5 0 0 0 .512-.12l1.396-1.397.396.397a.5.5 0 0 0 .708 0l1.316-1.317a.5.5 0 0 1 .217-.127l3.25-.93a.5.5 0 0 0 .217-.126l2.151-2.152a1.7 1.7 0 0 0 0-2.404l-4.303-4.303Zm-1.697.707a.7.7 0 0 1 .99 0l4.303 4.303a.7.7 0 0 1 0 .99l-.298.298L8.207 3.5l.298-.298ZM7.5 4.207 12.793 9.5l-.793.793L6.707 5l.793-.793ZM6.247 5.954l4.799 4.799-2.434.695a1.5 1.5 0 0 0-.649.382L7 12.793 4.207 10l.963-.963a1.5 1.5 0 0 0 .382-.649l.695-2.434Zm-.704 6.796-1.178 1.178-1.94-.647 1.825-1.824 1.293 1.293Z\",\"m4.086 16.5-.793-.793a1 1 0 0 1 0-1.414l1.872-1.872L7.59 7.086a1 1 0 0 1 .203-.293l4.151-4.152a2.2 2.2 0 0 1 3.112 0l7.303 7.303a2.2 2.2 0 0 1 0 3.112l-4.152 4.151a1 1 0 0 1-.293.203l-5.335 2.425-1.872 1.872a1 1 0 0 1-1.414 0l-.793-.793-1.793 1.793a1 1 0 0 1-1.154.187l-4-2a1 1 0 0 1-.26-1.601L4.086 16.5Zm9.273-12.444L12.414 5 20 12.586l.944-.945a.2.2 0 0 0 0-.282l-7.303-7.303a.2.2 0 0 0-.282 0ZM11 6.414 9.914 7.5l7.586 7.586L18.586 14 11 6.414ZM8.813 9.227 6.985 13.25a1.999 1.999 0 0 1-.406.586L5.414 15l.789.789a.175.175 0 0 1 .004.004l3 3 .005.004.788.789 1.165-1.165c.17-.17.368-.307.586-.406l4.022-1.828-6.96-6.96ZM5.5 17.914l-1.812 1.812 2.115 1.057L7.086 19.5 5.5 17.914Z\",\"M19.556 3.641a2.2 2.2 0 0 0-3.112 0l-5.151 5.152a1 1 0 0 0-.225.345l-3.424 8.804-2.351 2.35a1 1 0 0 0 0 1.415l.793.793-3.793 3.793a1 1 0 0 0 .39 1.656l6 2a1 1 0 0 0 1.024-.242l1.793-1.793.793.793a1 1 0 0 0 1.414 0l2.403-2.403 7.88-4.432c.08-.045.153-.1.217-.165l5.152-5.151a2.2 2.2 0 0 0 0-3.112l-9.803-9.803ZM10.086 26.5 8.73 27.856l-3.88-1.293 2.65-2.649 2.586 2.586Zm2.126-.702-.005-.005-4-4-.005-.005L7.414 21l1.644-1.644a2 2 0 0 0 .45-.69l2.869-7.375 9.484 9.484-6.732 3.786a2 2 0 0 0-.433.329L13 26.586l-.788-.788ZM17.86 5.056a.2.2 0 0 1 .282 0l9.803 9.803a.2.2 0 0 1 0 .282L26.5 16.586 16.414 6.5l1.445-1.444ZM15 7.914 25.086 18 23.5 19.586 13.414 9.5 15 7.914Z\"]];","export default [[\"M2.276 1.83A1.5 1.5 0 0 1 3.618 1h4.764a1.5 1.5 0 0 1 1.341.83l1.118 2.235c.097.192.18.455.134.748A2.002 2.002 0 0 1 10 6.233V9.5A1.5 1.5 0 0 1 8.5 11h-5A1.5 1.5 0 0 1 2 9.5V6.233a2.002 2.002 0 0 1-.976-1.42 1.243 1.243 0 0 1 .134-.748L2.276 1.83ZM5 10h2V8.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5V10Zm3 0V8.5A1.5 1.5 0 0 0 6.5 7h-1A1.5 1.5 0 0 0 4 8.5V10h-.5a.5.5 0 0 1-.5-.5v-3c.597 0 1.133-.262 1.5-.677a1.997 1.997 0 0 0 3 0c.366.415.902.677 1.5.677v3a.5.5 0 0 1-.5.5H8Z\",\"M2.02 3.515A2.5 2.5 0 0 1 4.32 2h6.362c1 0 1.904.596 2.298 1.515l.819 1.91c.12.279.248.686.128 1.115-.142.508-.48.934-.926 1.192V12.5a2.5 2.5 0 0 1-2.5 2.5h-6A2.5 2.5 0 0 1 2 12.5V7.732a2.005 2.005 0 0 1-.926-1.192c-.12-.43.009-.836.128-1.114l.819-1.91ZM3 8v4.5A1.5 1.5 0 0 0 4.5 14H5v-2.5A1.5 1.5 0 0 1 6.5 10h2a1.5 1.5 0 0 1 1.5 1.5V14h.5a1.5 1.5 0 0 0 1.5-1.5V8a1.995 1.995 0 0 1-1.5-.677A1.995 1.995 0 0 1 9 8a1.995 1.995 0 0 1-1.5-.677A1.995 1.995 0 0 1 6 8a1.995 1.995 0 0 1-1.5-.677A1.995 1.995 0 0 1 3 8Zm6 6v-2.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V14h3Z\",\"M4.595 5.051A3 3 0 0 1 7.441 3h9.117a3 3 0 0 1 2.846 2.051l1.442 4.325c.09.27.187.664.115 1.108A2.998 2.998 0 0 1 20 12.236V19a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3v-6.764a2.997 2.997 0 0 1-.961-1.752c-.072-.444.025-.839.115-1.108L4.595 5.05ZM8 12.236A2.989 2.989 0 0 1 6 13v6a1 1 0 0 0 1 1h1v-3a3 3 0 0 1 3-3h2a3 3 0 0 1 3 3v3h1a1 1 0 0 0 1-1v-6a2.99 2.99 0 0 1-2-.764A2.989 2.989 0 0 1 14 13c-.769 0-1.47-.289-2-.764A2.989 2.989 0 0 1 10 13c-.769 0-1.47-.289-2-.764ZM14 20v-3a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v3h4Z\",\"M5.561 5.818A3 3 0 0 1 8.32 4h15.36a3 3 0 0 1 2.758 1.818l2.318 5.41c.148.346.276.806.206 1.317A4.003 4.003 0 0 1 27 15.465V27a3 3 0 0 1-3 3H8a3 3 0 0 1-3-3V15.465a4.003 4.003 0 0 1-1.963-2.92c-.07-.511.057-.97.205-1.316l2.32-5.41ZM13 28h6v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5Zm8 0v-5a3 3 0 0 0-3-3h-4a3 3 0 0 0-3 3v5H8a1 1 0 0 1-1-1V16a3.99 3.99 0 0 0 3-1.354A3.99 3.99 0 0 0 13 16a3.99 3.99 0 0 0 3-1.354A3.99 3.99 0 0 0 19 16a3.99 3.99 0 0 0 3-1.354A3.99 3.99 0 0 0 25 16v11a1 1 0 0 1-1 1h-3Z\"],[\"M3.618 1a1.5 1.5 0 0 0-1.342.83L1.158 4.064c-.096.192-.18.455-.134.748.096.607.464 1.124.976 1.42V9.5A1.5 1.5 0 0 0 3.5 11h5A1.5 1.5 0 0 0 10 9.5V6.232c.512-.296.88-.812.975-1.42a1.243 1.243 0 0 0-.133-.747L9.723 1.83A1.5 1.5 0 0 0 8.382 1H3.618ZM9 5.5a1 1 0 0 0 .988-.843c.002-.013.002-.06-.041-.145L8.829 2.276A.5.5 0 0 0 8.382 2H3.618a.5.5 0 0 0-.447.276L2.053 4.512c-.043.086-.043.132-.04.145A1 1 0 0 0 4 4.5a.5.5 0 0 1 .999 0 1 1 0 0 0 2 0 .5.5 0 0 1 1 0 1 1 0 0 0 1 1Zm-6 1c.597 0 1.133-.262 1.5-.677a1.997 1.997 0 0 0 3 0c.366.415.902.677 1.5.677v3a.5.5 0 0 1-.5.5H8V8.5A1.5 1.5 0 0 0 6.5 7h-1A1.5 1.5 0 0 0 4 8.5V10h-.5a.5.5 0 0 1-.5-.5v-3ZM7 10H5V8.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5V10Z\",\"M4.319 2A2.5 2.5 0 0 0 2.02 3.515l-.819 1.91c-.12.279-.248.686-.128 1.115.142.508.48.934.926 1.192V12.5A2.5 2.5 0 0 0 4.5 15h6a2.5 2.5 0 0 0 2.5-2.5V7.732a2 2 0 0 0 .926-1.192c.12-.43-.009-.836-.128-1.114l-.819-1.91A2.5 2.5 0 0 0 10.681 2H4.32ZM12 8a1.995 1.995 0 0 1-1.5-.677A1.995 1.995 0 0 1 9 8a1.995 1.995 0 0 1-1.5-.677A1.995 1.995 0 0 1 6 8a1.995 1.995 0 0 1-1.5-.677A1.995 1.995 0 0 1 3 8v4.5A1.5 1.5 0 0 0 4.5 14H5v-2.5A1.5 1.5 0 0 1 6.5 10h2a1.5 1.5 0 0 1 1.5 1.5V14h.5a1.5 1.5 0 0 0 1.5-1.5V8ZM6 7a1 1 0 0 1-1-1 .5.5 0 1 0-1 0 1 1 0 0 1-1.963.27c-.026-.091-.01-.23.084-.45l.82-1.91A1.5 1.5 0 0 1 4.318 3h6.362a1.5 1.5 0 0 1 1.379.91l.819 1.91c.094.22.11.359.084.45A1 1 0 0 1 11 6a.5.5 0 0 0-1 0 1 1 0 1 1-2 0 .5.5 0 1 0-1 0 1 1 0 0 1-1 1Zm3 4.5V14H6v-2.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5Z\",\"M7.441 3a3 3 0 0 0-2.846 2.051L3.154 9.376c-.09.27-.187.664-.115 1.108.112.692.461 1.305.961 1.752V19a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3v-6.764c.5-.448.848-1.06.96-1.752.073-.444-.024-.839-.114-1.108L19.404 5.05A3 3 0 0 0 16.558 3H7.441Zm10.58 8H18a1 1 0 0 1-1-1 1 1 0 1 0-2 0 1 1 0 1 1-2 0 1 1 0 1 0-2 0 1 1 0 1 1-2 0 1 1 0 1 0-2 0 1 1 0 0 1-1 1h-.021a1 1 0 0 1-.965-.832l.002-.023a.805.805 0 0 1 .035-.137l1.442-4.324A1 1 0 0 1 7.44 5h9.117a1 1 0 0 1 .949.684l1.441 4.324a.801.801 0 0 1 .038.16 1 1 0 0 1-.965.832ZM6 13c.768 0 1.47-.289 2-.764.53.475 1.231.764 2 .764.768 0 1.47-.289 2-.764.53.475 1.231.764 2 .764.768 0 1.47-.289 2-.764.53.475 1.231.764 2 .764v6a1 1 0 0 1-1 1h-1v-3a3 3 0 0 0-3-3h-2a3 3 0 0 0-3 3v3H7a1 1 0 0 1-1-1v-6Zm8 4v3h-4v-3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1Z\",\"M8.319 4A3 3 0 0 0 5.56 5.818l-2.319 5.41c-.148.346-.275.806-.205 1.317A4.003 4.003 0 0 0 5 15.465V27a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3V15.465a4.003 4.003 0 0 0 1.963-2.92c.07-.511-.058-.97-.206-1.316l-2.319-5.41A3 3 0 0 0 23.681 4H8.319ZM25 16a3.991 3.991 0 0 1-3-1.354A3.99 3.99 0 0 1 19 16a3.99 3.99 0 0 1-3-1.354A3.99 3.99 0 0 1 13 16a3.99 3.99 0 0 1-3-1.354A3.99 3.99 0 0 1 7 16v11a1 1 0 0 0 1 1h3v-5a3 3 0 0 1 3-3h4a3 3 0 0 1 3 3v5h3a1 1 0 0 0 1-1V16Zm-12-2a2 2 0 0 1-2-2 1 1 0 1 0-2 0 2 2 0 0 1-3.982.274c-.003-.025-.003-.105.063-.257l2.318-5.41A1 1 0 0 1 8.32 6h15.36a1 1 0 0 1 .92.606l2.318 5.41c.065.153.066.232.062.258A2 2 0 0 1 23 12a1 1 0 1 0-2 0 2 2 0 1 1-4 0 1 1 0 1 0-2 0 2 2 0 0 1-2 2Zm6 14h-6v-5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v5Z\"]];","export default [[\"M1 2.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Z\",\"M2 3.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5Z\",\"M2 5a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Z\",\"M4 7a1 1 0 0 1 1-1h22a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1Z\"]];","export default [[\"M1.5 1a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5V6.658l5.496 3.206A1 1 0 0 0 10 9V2a1 1 0 0 0-1.504-.864L3 4.342V1.5a.5.5 0 0 0-.5-.5h-1Z\",\"M3.5 3a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5V9.618l6.553 3.276A1 1 0 0 0 13 12V4a1 1 0 0 0-1.447-.894L5 6.382V3.5a.5.5 0 0 0-.5-.5h-1Z\",\"M4.5 4a.5.5 0 0 0-.5.5v15a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-5.826l11.526 6.207A1 1 0 0 0 20 19V5a1 1 0 0 0-1.474-.88L7 10.326V4.5a.5.5 0 0 0-.5-.5h-2Z\",\"M7.5 6a.5.5 0 0 0-.5.5v19a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-7.734l13.485 8.092A1 1 0 0 0 25 25V7a1 1 0 0 0-1.515-.857L10 14.233V6.5a.5.5 0 0 0-.5-.5h-2Z\"]];","export default [[\"M9.5 1a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5V6.658L2.504 9.864A1 1 0 0 1 1 9V2a1 1 0 0 1 1.504-.864L8 4.342V1.5a.5.5 0 0 1 .5-.5h1Z\",\"M12.5 3a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5V9.618l-6.553 3.276A1 1 0 0 1 3 12V4a1 1 0 0 1 1.447-.894L11 6.382V3.5a.5.5 0 0 1 .5-.5h1Z\",\"M19.5 4a.5.5 0 0 1 .5.5v15a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-5.826L5.474 19.881A1 1 0 0 1 4 19V5a1 1 0 0 1 1.474-.88L17 10.326V4.5a.5.5 0 0 1 .5-.5h2Z\",\"M24.5 6a.5.5 0 0 1 .5.5v19a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-7.734L8.514 25.858A1 1 0 0 1 7 25V7a1 1 0 0 1 1.514-.857L22 14.233V6.5a.5.5 0 0 1 .5-.5h2Z\"]];","export default [[\"M10.763 1.075A.5.5 0 0 1 11 1.5v7a.5.5 0 0 1-.724.447L7 7.31V2.691l3.276-1.638a.5.5 0 0 1 .487.022ZM6 3H2.5A1.5 1.5 0 0 0 1 4.5v1a1.5 1.5 0 0 0 1.096 1.445l.735 2.941a1.47 1.47 0 1 0 2.853-.713L5.14 7H6V3Z\",\"M12 1.003a.969.969 0 0 0-.534.174L8 3.55v6.898l3.466 2.378A.97.97 0 0 0 12 13V1.003Zm1 8.529 1.098-.61A1.75 1.75 0 0 0 15 7.393v-.744a1.75 1.75 0 0 0-.902-1.53L13 4.507v5.024ZM7 10V4H2.5A1.5 1.5 0 0 0 1 5.5v3A1.5 1.5 0 0 0 2.5 10h.13l1.192 3.935A1.5 1.5 0 0 0 5.257 15h.41a1.5 1.5 0 0 0 1.436-1.935L6.174 10H7Z\",\"m20 14.57 1.506-.895C22.466 13.117 23 12.025 23 11v-1c0-1.029-.536-2.112-1.493-2.668L20 6.432v8.137ZM18 2.024a1.975 1.975 0 0 0-1.145.364L13 5.081v10.837l3.855 2.693c.36.252.758.365 1.145.364V2.025ZM11 15H9.063l.987 3.885A2.5 2.5 0 0 1 7.627 22h-.46a2.5 2.5 0 0 1-2.423-1.885L3.43 14.946A3 3 0 0 1 1 12V9a3 3 0 0 1 3-3h7v9Z\",\"M26 9.304v10.392l2.5-1.443a3 3 0 0 0 1.5-2.598v-2.31a3 3 0 0 0-1.5-2.598L26 9.304Zm-2 16.694V3.002a2.06 2.06 0 0 0-1.288.38L16 8.078V20.92l6.712 4.698c.405.283.855.4 1.288.379ZM14 20V9H5a3 3 0 0 0-3 3v5a3 3 0 0 0 3 3h.24l1.89 6.803A3 3 0 0 0 10.02 29h.849a3 3 0 0 0 2.89-3.803L12.316 20H14Z\"],[\"M10.763 1.075A.5.5 0 0 1 11 1.5v7a.5.5 0 0 1-.724.447L6.382 7H5.14l.544 2.173a1.47 1.47 0 1 1-2.853.713l-.735-2.941A1.5 1.5 0 0 1 1 5.5v-1A1.5 1.5 0 0 1 2.5 3h3.882l3.894-1.947a.5.5 0 0 1 .487.022ZM6 4H2.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5H6V4Zm1 2.191 3 1.5V2.309l-3 1.5v2.382ZM3.14 7l.661 2.644a.47.47 0 1 0 .913-.228L4.11 7h-.97Z\",\"M11.466 1.177 7.346 4H2.5A1.5 1.5 0 0 0 1 5.5v3A1.5 1.5 0 0 0 2.5 10h.13l1.192 3.935A1.5 1.5 0 0 0 5.257 15h.41a1.5 1.5 0 0 0 1.436-1.935L6.174 10h1.171l4.12 2.827A.98.98 0 0 0 13 12.019V9.532l1.098-.61A1.75 1.75 0 0 0 15 7.393v-.744a1.75 1.75 0 0 0-.902-1.53L13 4.507V1.985a.98.98 0 0 0-1.534-.808ZM8 4.764v4.473l4 2.744V2.023l-4 2.74ZM7 9V5H2.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5H7Zm6-.612.614-.34A.75.75 0 0 0 14 7.392v-.744a.75.75 0 0 0-.386-.656L13 5.652v2.736ZM3.674 10l1.105 3.645a.5.5 0 0 0 .478.355h.41a.5.5 0 0 0 .48-.645L5.128 10H3.674Z\",\"M16.855 2.388C18.18 1.462 20 2.411 20 4.028v2.404l1.507.9C22.464 7.888 23 8.972 23 10v1c0 1.026-.534 2.117-1.494 2.675L20 14.57v2.403c0 1.617-1.82 2.565-3.145 1.64L11.685 15H9.063l.987 3.885A2.5 2.5 0 0 1 7.627 22h-.46a2.5 2.5 0 0 1-2.423-1.885L3.43 14.946A3.001 3.001 0 0 1 1 12V9a3 3 0 0 1 3-3h7.685l5.17-3.612ZM11 8H4a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h7V8Zm2 5.479 5 3.493V4.028L13 7.52v5.958ZM5.508 15l1.174 4.623a.5.5 0 0 0 .485.377h.46a.5.5 0 0 0 .485-.623L7 15H5.508ZM20 12.243l.5-.296c.273-.158.5-.546.5-.947v-1c0-.398-.224-.78-.5-.94l-.006-.004L20 8.761v3.482Z\",\"M23.903 5.002c-.008 0-.022.002-.045.018L16 10.52v7.96l7.858 5.5c.023.016.037.018.045.018.012 0 .03-.002.049-.012a.098.098 0 0 0 .037-.032c.005-.007.011-.02.011-.047V5.093a.089.089 0 0 0-.01-.047.098.098 0 0 0-.038-.032.098.098 0 0 0-.049-.012ZM14 18v-7H5a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h9Zm-3.76 2H7.316l1.74 6.268a1 1 0 0 0 .964.732h.849a1 1 0 0 0 .963-1.268L10.24 20Zm-5 0 1.89 6.803A3 3 0 0 0 10.02 29h.849a3 3 0 0 0 2.89-3.803L12.316 20h2.369l8.027 5.619c1.385.97 3.288-.022 3.288-1.712v-4.21l2.5-1.444a3 3 0 0 0 1.5-2.598v-2.31a3 3 0 0 0-1.5-2.598L26 9.304v-4.21c0-1.691-1.903-2.682-3.288-1.713L14.685 9H5a3 3 0 0 0-3 3v5a3 3 0 0 0 3 3h.24ZM26 11.613v5.774l1.5-.866a1 1 0 0 0 .5-.866v-2.31a1 1 0 0 0-.5-.866l-1.5-.866Z\"]];","export default [[\"M2 6a4 4 0 1 1 8 0v.5a1 1 0 1 1-2 0V3H7v.593A2.207 2.207 0 0 0 5.5 3C4.02 3 3 4.453 3 6s1.02 3 2.5 3c.852 0 1.552-.482 1.992-1.186A2 2 0 0 0 11 6.5V6a5 5 0 1 0-5 5h.014c.344 0 1.387 0 2.263-.584l.416-.277-.554-.832-.416.277C7.112 9.991 6.339 10 6 10a4 4 0 0 1-4-4Zm5 0c0 1.214-.77 2-1.5 2S4 7.214 4 6s.77-2 1.5-2S7 4.786 7 6Z\",\"M2 8a6 6 0 1 1 12 0v.5a1.5 1.5 0 0 1-3 0V4h-1v1.178C9.374 4.458 8.498 4 7.5 4 5.506 4 4 5.824 4 7.929c0 2.104 1.506 3.928 3.5 3.928 1.292 0 2.38-.766 2.985-1.878A2.5 2.5 0 0 0 15 8.5v-.499a7 7 0 1 0-7 7h.015c.492 0 1.941 0 3.151-.806l.416-.278-.554-.832-.417.278C9.668 13.992 8.487 14 8 14a6 6 0 0 1-6-6Zm8-.071c0 1.682-1.18 2.928-2.5 2.928S5 9.611 5 7.93C5 6.246 6.18 5 7.5 5S10 6.246 10 7.929Z\",\"M4 12a8 8 0 1 1 16 0v1a2 2 0 1 1-4 0V7h-2v.835A4.142 4.142 0 0 0 11.5 7C8.893 7 7 9.368 7 12s1.893 5 4.5 5c1.343 0 2.497-.63 3.3-1.6A4 4 0 0 0 22 13v-1c0-5.523-4.477-10-10-10S2 6.477 2 12s4.477 10 10 10h.028c.687 0 2.773.001 4.527-1.168l.832-.555-1.11-1.664-.832.555C14.224 19.982 12.677 20 12 20a8 8 0 0 1-8-8Zm10 0c0 1.787-1.24 3-2.5 3S9 13.787 9 12s1.24-3 2.5-3 2.5 1.213 2.5 3Z\",\"M4 16C4 9.373 9.373 4 16 4s12 5.373 12 12v1a3 3 0 1 1-6 0V9h-2v1.082C18.854 8.806 17.29 8 15.5 8 11.76 8 9 11.521 9 15.5s2.76 7.5 6.5 7.5c2.277 0 4.191-1.305 5.34-3.225A5 5 0 0 0 30 17v-1c0-7.732-6.268-14-14-14S2 8.268 2 16s6.268 14 14 14h.03c.983 0 3.883 0 6.302-1.612l.832-.555-1.109-1.664-.832.555C19.335 27.982 16.973 28 16 28 9.373 28 4 22.627 4 16Zm16-.5c0 3.2-2.165 5.5-4.5 5.5S11 18.7 11 15.5s2.165-5.5 4.5-5.5 4.5 2.3 4.5 5.5Z\"]];","export default [[\"M2 3.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Z\",\"M3 4.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Zm0 3a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Zm.5 2.5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Z\",\"M5 6a1 1 0 0 0 0 2h14a1 1 0 1 0 0-2H5Zm-1 6a1 1 0 0 1 1-1h14a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1Zm0 5a1 1 0 0 1 1-1h14a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1Z\",\"M6 9a1 1 0 0 0 0 2h20a1 1 0 1 0 0-2H6Zm-1 7a1 1 0 0 1 1-1h20a1 1 0 1 1 0 2H6a1 1 0 0 1-1-1Zm0 6a1 1 0 0 1 1-1h20a1 1 0 1 1 0 2H6a1 1 0 0 1-1-1Z\"]];","export default [[\"<path d='M5.5 1A1.5 1.5 0 0 0 4 2.5v4a1.5 1.5 0 1 0 3 0v-4A1.5 1.5 0 0 0 5.5 1Z'></path><path d='M3 5.5a.5.5 0 0 0-1 0v1a3.5 3.5 0 0 0 3 3.465V11H3.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H6V9.965A3.5 3.5 0 0 0 9 6.5v-1a.5.5 0 0 0-1 0v1a2.5 2.5 0 0 1-5 0v-1Z'></path>\",\"<path d='M7.5 1A2.5 2.5 0 0 0 5 3.5v5a2.5 2.5 0 0 0 5 0v-5A2.5 2.5 0 0 0 7.5 1Z'></path><path d='M4 7.5a.5.5 0 0 0-1 0v1a4.5 4.5 0 0 0 4 4.473V14H5.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H8v-1.027A4.5 4.5 0 0 0 12 8.5v-1a.5.5 0 0 0-1 0v1a3.5 3.5 0 1 1-7 0v-1Z'></path>\",\"<path d='M12 1a3 3 0 0 0-3 3v8a3 3 0 1 0 6 0V4a3 3 0 0 0-3-3Z'></path><path d='M7 10a1 1 0 1 0-2 0v2a7.002 7.002 0 0 0 6.002 6.93A1.029 1.029 0 0 0 11 19v2H8a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2h-3v-2c0-.024 0-.047-.002-.07A7.002 7.002 0 0 0 19 12v-2a1 1 0 1 0-2 0v2a5 5 0 0 1-10 0v-2Z'></path>\",\"<path d='M16 2a4 4 0 0 0-4 4v11a4 4 0 0 0 8 0V6a4 4 0 0 0-4-4Z'></path><path d='M10 15a1 1 0 1 0-2 0v2a8.001 8.001 0 0 0 7.002 7.938A.97.97 0 0 0 15 25v3h-3.5a1 1 0 1 0 0 2h9a1 1 0 1 0 0-2H17v-3c0-.02 0-.041-.002-.062A8.001 8.001 0 0 0 24 17v-2a1 1 0 1 0-2 0v2a6 6 0 0 1-12 0v-2Z'></path>\"],[\"<path d='M4 2.5a1.5 1.5 0 1 1 3 0v4a1.5 1.5 0 1 1-3 0v-4ZM5.5 2a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 1 0v-4a.5.5 0 0 0-.5-.5Z'></path><path d='M5 9.965V11H3.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H6V9.965A3.5 3.5 0 0 0 9 6.5v-1a.5.5 0 0 0-1 0v1a2.5 2.5 0 0 1-5 0v-1a.5.5 0 0 0-1 0v1a3.5 3.5 0 0 0 3 3.465Z'></path>\",\"<path d='M7.5 1A2.5 2.5 0 0 0 5 3.5v5a2.5 2.5 0 0 0 5 0v-5A2.5 2.5 0 0 0 7.5 1ZM6 3.5a1.5 1.5 0 1 1 3 0v5a1.5 1.5 0 1 1-3 0v-5Z'></path><path d='M3.5 7a.5.5 0 0 1 .5.5v1a3.5 3.5 0 1 0 7 0v-1a.5.5 0 0 1 1 0v1a4.5 4.5 0 0 1-4 4.473V14h1.5a.5.5 0 0 1 0 1h-4a.5.5 0 0 1 0-1H7v-1.027A4.5 4.5 0 0 1 3 8.5v-1a.5.5 0 0 1 .5-.5Z'></path>\",\"<path d='M12 1a3 3 0 0 0-3 3v8a3 3 0 1 0 6 0V4a3 3 0 0 0-3-3Zm-1 3a1 1 0 1 1 2 0v8a1 1 0 1 1-2 0V4Z'></path><path d='M6 9a1 1 0 0 1 1 1v2a5 5 0 0 0 10 0v-2a1 1 0 1 1 2 0v2a7.002 7.002 0 0 1-6.002 6.93L13 19v2h3a1 1 0 1 1 0 2H8a1 1 0 1 1 0-2h3v-2c0-.024 0-.047.002-.07A7.002 7.002 0 0 1 5 12v-2a1 1 0 0 1 1-1Z'></path>\",\"<path d='M16 2a4 4 0 0 0-4 4v11a4 4 0 0 0 8 0V6a4 4 0 0 0-4-4Zm-2 4a2 2 0 1 1 4 0v11a2 2 0 1 1-4 0V6Z'></path><path d='M9 14a1 1 0 0 1 1 1v2a6 6 0 0 0 12 0v-2a1 1 0 1 1 2 0v2a8.001 8.001 0 0 1-7.002 7.938A.97.97 0 0 1 17 25v3h3.5a1 1 0 1 1 0 2h-9a1 1 0 1 1 0-2H15v-3c0-.02 0-.041.002-.062A8.001 8.001 0 0 1 8 17v-2a1 1 0 0 1 1-1Z'></path>\"]];","export default [[\"<path d='M5.5 1A1.5 1.5 0 0 0 4 2.5v3.793l-.902.902A2.501 2.501 0 0 1 3 6.5v-1a.5.5 0 0 0-1 0v1c0 .525.116 1.023.323 1.47L.146 10.146a.5.5 0 0 0 .708.708l9-9a.5.5 0 0 0-.708-.708L7 3.293V2.5A1.5 1.5 0 0 0 5.5 1ZM4.374 8.733l-.733.733c.405.254.865.428 1.359.499V11H3.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H6V9.965A3.5 3.5 0 0 0 9 6.5v-1a.5.5 0 0 0-1 0v1a2.5 2.5 0 0 1-3.626 2.233Z'></path><path d='M7 6.107 5.149 7.96A1.5 1.5 0 0 0 7 6.5v-.393Z'></path>\",\"<path d='M7.5 1A2.5 2.5 0 0 0 5 3.5v5c0 .51.152.983.414 1.379l-.717.717A3.485 3.485 0 0 1 4 8.5v-1a.5.5 0 0 0-1 0v1a4.48 4.48 0 0 0 .984 2.809l-2.838 2.837a.5.5 0 0 0 .708.708l13-13a.5.5 0 0 0-.708-.708L10 5.293V3.5A2.5 2.5 0 0 0 7.5 1ZM6.313 11.794l-.763.763c.447.215.936.359 1.45.415V14H5.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H8v-1.027A4.5 4.5 0 0 0 12 8.5v-1a.5.5 0 0 0-1 0v1a3.5 3.5 0 0 1-4.687 3.294Z'></path><path d='m10 8.107-2.866 2.866A2.5 2.5 0 0 0 10 8.5v-.393Z'></path>\",\"M12 1a3 3 0 0 0-3 3v8c0 .463.105.902.292 1.293l-1.464 1.464A4.977 4.977 0 0 1 7 12v-2a1 1 0 1 0-2 0v2a6.97 6.97 0 0 0 1.394 4.192l-5.101 5.1a1 1 0 1 0 1.414 1.415l20-20a1 1 0 0 0-1.414-1.414L15 7.586V4a3 3 0 0 0-3-3Zm-.998 17.93a6.955 6.955 0 0 1-1.375-.343l1.64-1.64A5 5 0 0 0 17 12v-.786l1.807-1.806c.122.166.194.37.194.592v2a7.002 7.002 0 0 1-6.002 6.93L13 19v2h3a1 1 0 1 1 0 2H8a1 1 0 1 1 0-2h3v-2c0-.024 0-.047.002-.07Z\",\"<path d='M16 2a4 4 0 0 0-4 4v11c0 .474.082.928.233 1.35l-1.51 1.51A5.973 5.973 0 0 1 10 17v-2a1 1 0 1 0-2 0v2c0 1.59.464 3.073 1.264 4.318l-6.971 6.97a1 1 0 0 0 1.414 1.415l26-25.996a1 1 0 0 0-1.414-1.414L20 10.584V6a4 4 0 0 0-4-4Zm-2.322 20.534-1.498 1.497c.858.467 1.81.782 2.822.907A.97.97 0 0 0 15 25v3h-3.5a1 1 0 1 0 0 2h9a1 1 0 1 0 0-2H17v-3c0-.02 0-.041-.002-.062A8.001 8.001 0 0 0 24 17v-2a1 1 0 1 0-2 0v2a6 6 0 0 1-8.322 5.534Z'></path><path d='m20 16.213-4.723 4.722A4 4 0 0 0 20 17v-.787Z'></path>\"],[\"<path d='M7 2.5v.793l2.146-2.147a.5.5 0 1 1 .708.708l-.63.629a.503.503 0 0 0-.078.063l-8.37 8.371a.5.5 0 0 1-.63-.77L2.323 7.97A3.487 3.487 0 0 1 2 6.5v-1a.5.5 0 0 1 1 0v1c0 .241.034.474.098.695L4 6.293V2.5a1.5 1.5 0 1 1 3 0Zm-2 0a.5.5 0 0 1 1 0v1.793l-1 1V2.5ZM3.641 9.466c.405.254.865.428 1.359.499V11H3.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H6V9.965A3.5 3.5 0 0 0 9 6.5v-1a.5.5 0 0 0-1 0v1a2.5 2.5 0 0 1-3.626 2.233l-.733.733Z'></path><path d='M5.149 7.959A1.5 1.5 0 0 0 7 6.5v-.393L5.149 7.96Z'></path>\",\"<path d='M7.5 1A2.5 2.5 0 0 0 5 3.5v5c0 .51.152.983.414 1.379l-.717.717A3.485 3.485 0 0 1 4 8.5v-1a.5.5 0 0 0-1 0v1a4.48 4.48 0 0 0 .984 2.809l-2.838 2.837a.5.5 0 0 0 .708.708l13-13a.5.5 0 0 0-.708-.708L10 5.293V3.5A2.5 2.5 0 0 0 7.5 1ZM9 6.293V3.5a1.5 1.5 0 1 0-3 0v5c0 .232.052.45.146.647L9 6.293Zm-2.687 5.501-.763.763c.447.215.936.359 1.45.415V14H5.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H8v-1.027A4.5 4.5 0 0 0 12 8.5v-1a.5.5 0 0 0-1 0v1a3.5 3.5 0 0 1-4.687 3.294Z'></path><path d='m8.43 9.676-1.296 1.297A2.5 2.5 0 0 0 10 8.5v-.393L8.676 9.431a1.51 1.51 0 0 1-.245.245Z'></path>\",\"M9.292 13.293A2.988 2.988 0 0 1 9 12V4a3 3 0 1 1 6 0v3.586l6.293-6.293a1 1 0 1 1 1.414 1.414l-20 20a1 1 0 0 1-1.414-1.414l5.1-5.1A6.97 6.97 0 0 1 5 12v-2a1 1 0 1 1 2 0v2c0 1.02.305 1.967.828 2.757l1.464-1.464ZM11 4a1 1 0 1 1 2 0v5.586l-2 2V4Zm7.806 5.408L17 11.214V12a5 5 0 0 1-5.732 4.947l-1.641 1.64c.44.159.9.275 1.375.343A1.029 1.029 0 0 0 11 19v2H8a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2h-3v-2c0-.024 0-.047-.002-.07A7.002 7.002 0 0 0 19 12v-2a.995.995 0 0 0-.194-.592Z\",\"<path d='M16 2a4 4 0 0 0-4 4v11c0 .474.082.928.233 1.35l-1.51 1.51A5.973 5.973 0 0 1 10 17v-2a1 1 0 1 0-2 0v2c0 1.59.464 3.073 1.264 4.318l-6.971 6.97a1 1 0 0 0 1.414 1.415l26-25.996a1 1 0 0 0-1.414-1.414L20 10.584V6a4 4 0 0 0-4-4Zm2 10.584V6a2 2 0 1 0-4 0v10.584l4-4Zm-4.322 9.95-1.498 1.497c.858.467 1.81.782 2.822.907A.97.97 0 0 0 15 25v3h-3.5a1 1 0 1 0 0 2h9a1 1 0 1 0 0-2H17v-3c0-.02 0-.041-.002-.062A8.001 8.001 0 0 0 24 17v-2a1 1 0 1 0-2 0v2a6 6 0 0 1-8.322 5.534Z'></path><path d='m20 16.213-4.723 4.722A4 4 0 0 0 20 17v-.787Z'></path>\"]];","export default [[\"M2.734 7.075v-2.79h-1.02v-.567h2.723v.566H3.412v2.791h-.678Zm7.35-5.765c.444 0 .806.363.806.807a.808.808 0 0 1-.806.807.809.809 0 0 1-.807-.807c0-.444.362-.807.808-.807Zm0 2.017a1.21 1.21 0 1 0 0-2.42 1.21 1.21 0 0 0 0 2.42Zm1.513 3.92c0 .813-.662 1.475-1.476 1.475h-.024a1.45 1.45 0 0 1-.69-.173c.08-.279.122-.574.122-.878V4.553a.56.56 0 0 0-.013-.117h1.973c.06 0 .107.048.107.108v2.702Zm-5.143 3.14c-1.2 0-2.218-.809-2.554-1.917h1.738a.512.512 0 0 0 .513-.513v-3.52h2.865c.061 0 .11.052.11.116v3.118a2.753 2.753 0 0 1-.205 1.041 2.676 2.676 0 0 1-2.467 1.675Zm-1.26-8.724a1.26 1.26 0 1 1 .958 1.224v-.055a.512.512 0 0 0-.514-.513h-.26a1.252 1.252 0 0 1-.185-.656Zm6.295 2.37H6.151V3.3A1.663 1.663 0 1 0 6.454 0a1.663 1.663 0 0 0-1.53 2.32H.511A.512.512 0 0 0 0 2.831v5.125c0 .284.23.513.512.513H3.48c.348 1.335 1.547 2.32 2.974 2.32a3.072 3.072 0 0 0 2.812-1.858c.251.123.532.194.832.194h.023a1.88 1.88 0 0 0 1.88-1.88V4.544a.511.511 0 0 0-.511-.51Z\",\"M4.19 9.255V5.999H3v-.661h3.176v.661H4.981v3.256h-.79Zm8.575-6.726c.518 0 .941.422.941.942a.943.943 0 0 1-1.883 0c0-.52.423-.942.941-.942Zm0 2.353a1.412 1.412 0 1 0 0-2.823 1.412 1.412 0 0 0 0 2.823Zm1.764 4.572c0 .95-.772 1.723-1.722 1.723h-.027c-.29 0-.566-.073-.806-.202.094-.325.143-.669.143-1.025V6.313a.603.603 0 0 0-.015-.136h2.303c.069 0 .125.056.125.125v3.152Zm-6 3.663c-1.4 0-2.587-.942-2.98-2.235h2.03a.598.598 0 0 0 .597-.598V6.177h3.344c.07 0 .128.06.128.136V9.95a3.192 3.192 0 0 1-.239 1.214c-.47 1.146-1.585 1.953-2.88 1.953ZM7.06 2.942a1.472 1.472 0 0 1 2.942 0 1.472 1.472 0 0 1-1.825 1.427v-.065a.598.598 0 0 0-.598-.598h-.305a1.462 1.462 0 0 1-.215-.764Zm7.346 2.764H8.175v-.855A1.94 1.94 0 1 0 8.53 1a1.94 1.94 0 0 0-1.784 2.706H1.598A.598.598 0 0 0 1 4.304v5.98c0 .33.267.598.598.598H5.06c.406 1.558 1.806 2.706 3.47 2.706 1.466 0 2.725-.89 3.283-2.166.292.144.62.225.969.225h.026a2.193 2.193 0 0 0 2.194-2.193V6.302a.596.596 0 0 0-.596-.596Z\",\"M6.013 14.972V9.856h-1.87V8.818h4.992v1.038h-1.88v5.116H6.014ZM19.488 4.404c.814 0 1.479.664 1.479 1.478 0 .816-.665 1.48-1.48 1.48a1.48 1.48 0 0 1-1.478-1.48 1.48 1.48 0 0 1 1.479-1.478Zm0 3.697a2.219 2.219 0 1 0-.002-4.438 2.219 2.219 0 0 0 .002 4.438Zm2.773 7.185a2.71 2.71 0 0 1-2.706 2.706h-.043a2.68 2.68 0 0 1-1.268-.317 5.82 5.82 0 0 0 .227-1.61v-5.717a.993.993 0 0 0-.024-.213h3.617c.108 0 .197.087.197.196v4.955Zm-9.43 5.756c-2.2 0-4.064-1.48-4.68-3.512h3.185a.94.94 0 0 0 .941-.941v-6.454h5.254c.11 0 .2.096.2.213v5.717a5.072 5.072 0 0 1-.375 1.908c-.739 1.8-2.49 3.069-4.525 3.069ZM10.521 5.05a2.312 2.312 0 0 1 2.31-2.31 2.312 2.312 0 0 1 2.312 2.31 2.313 2.313 0 0 1-2.866 2.244v-.101a.94.94 0 0 0-.94-.941h-.479a2.292 2.292 0 0 1-.337-1.202Zm11.543 4.345h-9.787V8.05a3.05 3.05 0 1 0-2.25-1.799H1.941a.94.94 0 0 0-.941.94v9.397c0 .52.42.94.94.94h5.44c.638 2.448 2.837 4.253 5.452 4.253 2.302 0 4.281-1.4 5.157-3.405.46.227.976.355 1.523.355h.043A3.445 3.445 0 0 0 23 15.286V10.33a.936.936 0 0 0-.936-.936Z\",\"M8.38 19.51v-6.512H6v-1.322h6.354v1.322H9.962v6.512H8.38ZM25.529 6.059c1.038 0 1.883.845 1.883 1.882a1.885 1.885 0 0 1-1.883 1.882 1.884 1.884 0 0 1-1.881-1.882c0-1.037.844-1.882 1.881-1.882Zm0 4.706a2.825 2.825 0 0 0 0-5.648 2.825 2.825 0 0 0 0 5.648Zm3.53 9.144a3.448 3.448 0 0 1-3.444 3.444h-.053a3.41 3.41 0 0 1-1.615-.404 7.393 7.393 0 0 0 .288-2.049v-7.276c0-.093-.01-.184-.03-.271h4.604a.25.25 0 0 1 .25.251v6.305Zm-12 7.327c-2.8 0-5.174-1.885-5.959-4.471h4.056c.661 0 1.197-.535 1.197-1.196v-8.216h6.686c.141 0 .255.122.255.271V20.9c0 .498-.057.981-.163 1.446a6.469 6.469 0 0 1-.313.983c-.94 2.291-3.168 3.907-5.759 3.907ZM14.117 6.882a2.945 2.945 0 0 1 2.942-2.941A2.943 2.943 0 0 1 20 6.882a2.943 2.943 0 0 1-3.647 2.856v-.13c0-.661-.536-1.197-1.197-1.197h-.609a2.928 2.928 0 0 1-.43-1.529Zm14.692 5.529H16.353v-1.71a3.883 3.883 0 1 0-2.864-2.29H3.196C2.535 8.411 2 8.947 2 9.608v11.961c0 .661.535 1.196 1.196 1.196h6.924c.812 3.115 3.611 5.411 6.939 5.411 2.93 0 5.449-1.779 6.563-4.333a4.363 4.363 0 0 0 1.94.451h.053A4.384 4.384 0 0 0 30 19.909v-6.305c0-.659-.533-1.193-1.191-1.193Z\"]];","export default [[\"M1 9.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Z\",\"M2 12.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5Z\",\"M2 19a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Z\",\"M4 25a1 1 0 0 1 1-1h22a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1Z\"]];","export default [[\"M2 5.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Z\",\"M2 7.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5Z\",\"M2 12a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Z\",\"M29 16a1 1 0 0 1-1 1H4a1 1 0 1 1 0-2h24a1 1 0 0 1 1 1Z\"]];","export default [[\"M5.5 10a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 1 0v8a.5.5 0 0 1-.5.5Z\",\"M7.5 14a.5.5 0 0 1-.5-.5v-12a.5.5 0 0 1 1 0v12a.5.5 0 0 1-.5.5Z\",\"M12 22a1 1 0 0 1-1-1V3a1 1 0 1 1 2 0v18a1 1 0 0 1-1 1Z\",\"M16 3a1 1 0 0 1 1 1v24a1 1 0 1 1-2 0V4a1 1 0 0 1 1-1Z\"]];","export default [[\"<path d='M3 3a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H3Z'></path><path d='M1.5 0A1.5 1.5 0 0 0 0 1.5v8A1.5 1.5 0 0 0 1.5 11h8A1.5 1.5 0 0 0 11 9.5v-8A1.5 1.5 0 0 0 9.5 0h-8ZM1 1.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-8Z'></path>\",\"<path d='M4 4a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H4Z'></path><path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v10A1.5 1.5 0 0 0 2.5 14h10a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 12.5 1h-10ZM2 2.5a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v10a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10Z'></path>\",\"<path d='M8 7a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2H8Z'></path><path d='M5 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H5ZM4 5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V5Z'></path>\",\"<path d='M9 9a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V11a2 2 0 0 0-2-2H9Z'></path><path d='M6 3a3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6ZM5 6a1 1 0 0 1 1-1h20a1 1 0 0 1 1 1v20a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6Z'></path>\"],[\"M1.5 0A1.5 1.5 0 0 0 0 1.5v8A1.5 1.5 0 0 0 1.5 11h8A1.5 1.5 0 0 0 11 9.5v-8A1.5 1.5 0 0 0 9.5 0h-8ZM1 1.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-8ZM3 3a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H3Z\",\"M2.5 1A1.5 1.5 0 0 0 1 2.5v10A1.5 1.5 0 0 0 2.5 14h10a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 12.5 1h-10ZM2 2.5a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v10a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10ZM4 4a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H4Z\",\"<path d='M8 7a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2H8Z'></path><path d='M5 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H5ZM4 5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V5Z'></path>\",\"<path d='M9 9a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V11a2 2 0 0 0-2-2H9Z'></path><path d='M6 3a3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6ZM5 6a1 1 0 0 1 1-1h20a1 1 0 0 1 1 1v20a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6Z'></path>\"]];","export default [[\"<path d='M9 5.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3Z'></path><path d='M1.5 0A1.5 1.5 0 0 0 0 1.5v8A1.5 1.5 0 0 0 1.5 11h8A1.5 1.5 0 0 0 11 9.5v-8A1.5 1.5 0 0 0 9.5 0h-8ZM1 1.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-8Z'></path>\",\"<path d='M12 7.5a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-4Z'></path><path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v10A1.5 1.5 0 0 0 2.5 14h10a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 12.5 1h-10ZM2 2.5a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v10a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10Z'></path>\",\"<path d='M18 12a1 1 0 0 0-1-1h-5a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-5Z'></path><path d='M5 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H5ZM4 5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V5Z'></path>\",\"<path d='M25 17a2 2 0 0 0-2-2h-6a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-6Z'></path><path d='M6 3a3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6ZM5 6a1 1 0 0 1 1-1h20a1 1 0 0 1 1 1v20a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6Z'></path>\"]];","export default [[\"M1.5 1A1.5 1.5 0 0 0 0 2.5v5A1.5 1.5 0 0 0 1.5 9H4v1H2.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1H8V9h2.5A1.5 1.5 0 0 0 12 7.5v-5A1.5 1.5 0 0 0 10.5 1h-9Zm0 5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Z\",\"M2.5 3A1.5 1.5 0 0 0 1 4.5v6A1.5 1.5 0 0 0 2.5 12H6v1H4.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1H10v-1h3.5a1.5 1.5 0 0 0 1.5-1.5v-6A1.5 1.5 0 0 0 13.5 3h-11Zm0 6a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1h-11Z\",\"M4 3a3 3 0 0 0-3 3v9a3 3 0 0 0 3 3h4v2H7a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2h-1v-2h4a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H4Zm0 9a1 1 0 1 0 0 2h16a1 1 0 1 0 0-2H4Z\",\"M5 5a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h7v3h-2a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2h-2v-3h7a3 3 0 0 0 3-3V8a3 3 0 0 0-3-3H5Zm0 12a1 1 0 1 0 0 2h22a1 1 0 1 0 0-2H5Z\"],[\"M1.5 1A1.5 1.5 0 0 0 0 2.5v5A1.5 1.5 0 0 0 1.5 9H4v1H2.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1H8V9h2.5A1.5 1.5 0 0 0 12 7.5v-5A1.5 1.5 0 0 0 10.5 1h-9ZM7 10H5V9h2v1Zm3.5-2a.5.5 0 0 0 .5-.5V7H1v.5a.5.5 0 0 0 .5.5h9ZM1 6h10V2.5a.5.5 0 0 0-.5-.5h-9a.5.5 0 0 0-.5.5V6Z\",\"M2.5 3A1.5 1.5 0 0 0 1 4.5v6A1.5 1.5 0 0 0 2.5 12H6v1H4.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1H10v-1h3.5a1.5 1.5 0 0 0 1.5-1.5v-6A1.5 1.5 0 0 0 13.5 3h-11ZM9 13H7v-1h2v1Zm4.5-2a.5.5 0 0 0 .5-.5V10H2v.5a.5.5 0 0 0 .5.5h11ZM2 9h12V4.5a.5.5 0 0 0-.5-.5h-11a.5.5 0 0 0-.5.5V9Z\",\"M4 3a3 3 0 0 0-3 3v9a3 3 0 0 0 3 3h4v2H7a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2h-1v-2h4a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H4Zm17 9V6a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v6h18ZM3 14v1a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-1H3Zm11 6h-4v-2h4v2Z\",\"M5 5a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h7v3h-2a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2h-2v-3h7a3 3 0 0 0 3-3V8a3 3 0 0 0-3-3H5Zm13 21v-3h-4v3h4ZM5 21a1 1 0 0 1-1-1v-1h24v1a1 1 0 0 1-1 1H5ZM4 8a1 1 0 0 1 1-1h22a1 1 0 0 1 1 1v9H4V8Z\"]];","export default [[\"M1.5 1A1.5 1.5 0 0 0 0 2.5v5A1.5 1.5 0 0 0 1.5 9H4v1H2.5a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1H7V9h2.5A1.5 1.5 0 0 0 11 7.5v-5A1.5 1.5 0 0 0 9.5 1h-8Zm4 2a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM6 6.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\",\"M2.5 3A1.5 1.5 0 0 0 1 4.5v6A1.5 1.5 0 0 0 2.5 12H6v1H4.5a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1H9v-1h3.5a1.5 1.5 0 0 0 1.5-1.5v-6A1.5 1.5 0 0 0 12.5 3h-10Zm5 2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2a.5.5 0 0 1 .5-.5ZM8 9.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\",\"M4 3a3 3 0 0 0-3 3v9a3 3 0 0 0 3 3h4v2H7a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2h-1v-2h4a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H4Zm7 4a1 1 0 1 1 2 0v4a1 1 0 1 1-2 0V7Zm2 7a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\",\"M5 5a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h7v3h-2a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2h-2v-3h7a3 3 0 0 0 3-3V8a3 3 0 0 0-3-3H5Zm10 5a1 1 0 1 1 2 0v5a1 1 0 1 1-2 0v-5Zm2 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"],[\"<path d='M5.5 3a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Zm0 4a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M0 2.5A1.5 1.5 0 0 1 1.5 1h8A1.5 1.5 0 0 1 11 2.5v5A1.5 1.5 0 0 1 9.5 9H7v1h1.5a.5.5 0 0 1 0 1h-6a.5.5 0 0 1 0-1H4V9H1.5A1.5 1.5 0 0 1 0 7.5v-5ZM6 10V9H5v1h1Zm3.5-2h-8a.5.5 0 0 1-.5-.5v-5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5Z'></path>\",\"<path d='M7.5 5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2a.5.5 0 0 1 .5-.5Zm0 5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M1 4.5A1.5 1.5 0 0 1 2.5 3h10A1.5 1.5 0 0 1 14 4.5v6a1.5 1.5 0 0 1-1.5 1.5H9v1h1.5a.5.5 0 0 1 0 1h-6a.5.5 0 0 1 0-1H6v-1H2.5A1.5 1.5 0 0 1 1 10.5v-6ZM8 13v-1H7v1h1Zm4.5-2h-10a.5.5 0 0 1-.5-.5v-6a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5Z'></path>\",\"<path d='M11 7a1 1 0 1 1 2 0v4a1 1 0 1 1-2 0V7Zm2 7a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path><path d='M4 3a3 3 0 0 0-3 3v9a3 3 0 0 0 3 3h4v2H7a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2h-1v-2h4a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H4Zm10 15v2h-4v-2h4Zm6-2a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v9a1 1 0 0 0 1 1h16Z'></path>\",\"<path d='M15 10a1 1 0 1 1 2 0v5a1 1 0 1 1-2 0v-5Zm2 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path><path d='M5 5a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h7v3h-2a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2h-2v-3h7a3 3 0 0 0 3-3V8a3 3 0 0 0-3-3H5Zm13 18v3h-4v-3h4Zm9-2a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h22Z'></path>\"]];","export default [[\"M2.47 7.878c-.23-.433.119-.879.531-.879a3 3 0 0 0 2.846-3.953.776.776 0 0 1 .107-.703.723.723 0 0 1 .707-.291A4.001 4.001 0 1 1 2.47 7.878Z\",\"M8.556 3.03c-.595-.065-.927.52-.784.976a5.002 5.002 0 0 1-3.102 6.21c-.45.16-.721.776-.309 1.213A5 5 0 1 0 8.556 3.03Z\",\"M12.987 3.054a1.452 1.452 0 0 0-1.37.638 1.537 1.537 0 0 0-.155 1.415 8.004 8.004 0 0 1-5.3 10.598 1.538 1.538 0 0 0-1.04.973 1.451 1.451 0 0 0 .313 1.48 9 9 0 1 0 7.552-15.104Z\",\"M17.693 4.117c-1.279-.18-1.964 1.132-1.565 2.083a10.95 10.95 0 0 1 .854 4.256c0 5.466-3.989 10.003-9.214 10.855-1.015.166-1.771 1.444-.934 2.434 2.2 2.6 5.49 4.254 9.165 4.254 6.628 0 12-5.373 12-12C28 9.946 23.52 4.94 17.694 4.117Z\"],[\"M6.908 3.136a4.001 4.001 0 0 1-3.196 4.8 3 3 0 1 0 3.196-4.8Zm-.954-.794a.723.723 0 0 1 .707-.29A4.001 4.001 0 1 1 2.47 7.876C2.24 7.445 2.589 7 3.001 7a3 3 0 0 0 2.846-3.954.777.777 0 0 1 .107-.703Z\",\"M8.832 4.086c.11.455.167.929.167 1.416a6.001 6.001 0 0 1-3.628 5.513 4 4 0 1 0 3.46-6.928Zm-1.06-.08c-.143-.456.189-1.041.784-.976a5 5 0 1 1-4.196 8.4c-.412-.437-.14-1.054.31-1.213a5.002 5.002 0 0 0 3.101-6.21Z\",\"M13.599 5.184C13.86 6.078 14 7.024 14 8c0 4.29-2.701 7.948-6.495 9.368a7 7 0 1 0 6.093-12.184Zm-1.982-1.492c.277-.41.777-.703 1.37-.638a9 9 0 1 1-7.552 15.104 1.451 1.451 0 0 1-.312-1.48 1.538 1.538 0 0 1 1.04-.973 8.004 8.004 0 0 0 5.3-10.598 1.537 1.537 0 0 1 .155-1.415Z\",\"M18.29 6.262c.449 1.317.692 2.728.692 4.194 0 6.152-4.273 11.304-10.013 12.654A9.966 9.966 0 0 0 16 26c5.523 0 10-4.477 10-10 0-4.735-3.29-8.702-7.709-9.737ZM16.128 6.2c-.399-.95.286-2.263 1.565-2.083C23.52 4.941 28 9.946 28 16c0 6.627-5.372 12-12 12a11.976 11.976 0 0 1-9.165-4.254c-.837-.99-.081-2.268.934-2.434 5.225-.852 9.214-5.389 9.214-10.855a10.95 10.95 0 0 0-.854-4.256Z\"]];","export default [[\"M.854 7.146 2 8.293V1.5a.5.5 0 0 1 1 0v6.793l1.146-1.147a.5.5 0 1 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708ZM7.25 9C6.56 9 6 8.44 6 7.75v-.5C6 6.56 6.56 6 7.25 6h2.5c.69 0 1.25.56 1.25 1.25v.5C11 8.44 10.44 9 9.75 9h-2.5ZM7 7.75c0 .138.112.25.25.25h2.5a.25.25 0 0 0 .25-.25v-.5A.25.25 0 0 0 9.75 7h-2.5a.25.25 0 0 0-.25.25v.5ZM7.25 5C6.56 5 6 4.44 6 3.75v-.5C6 2.56 6.56 2 7.25 2h2.5c.69 0 1.25.56 1.25 1.25v.5C11 4.44 10.44 5 9.75 5h-2.5Z\",\"M1.854 10.146 3 11.293V2.5a.5.5 0 0 1 1 0v8.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 0 1 .708-.708ZM8.5 13A1.5 1.5 0 0 1 7 11.5v-2A1.5 1.5 0 0 1 8.5 8h5A1.5 1.5 0 0 1 15 9.5v2a1.5 1.5 0 0 1-1.5 1.5h-5ZM8 11.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5v2ZM8.5 7A1.5 1.5 0 0 1 7 5.5v-2A1.5 1.5 0 0 1 8.5 2h5A1.5 1.5 0 0 1 15 3.5v2A1.5 1.5 0 0 1 13.5 7h-5Z\",\"M2.707 16.293 5 18.586V3a1 1 0 0 1 2 0v15.586l2.293-2.293a1 1 0 0 1 1.414 1.414l-4 4a1 1 0 0 1-1.414 0l-4-4a1 1 0 1 1 1.414-1.414ZM14.5 20a2.5 2.5 0 0 1-2.5-2.5v-2a2.5 2.5 0 0 1 2.5-2.5h6a2.5 2.5 0 0 1 2.5 2.5v2a2.5 2.5 0 0 1-2.5 2.5h-6Zm-.5-2.5a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-6a.5.5 0 0 0-.5.5v2Zm.5-6.5A2.5 2.5 0 0 1 12 8.5v-2A2.5 2.5 0 0 1 14.5 4h6A2.5 2.5 0 0 1 23 6.5v2a2.5 2.5 0 0 1-2.5 2.5h-6Z\",\"M3.707 22.293 6 24.586V5a1 1 0 0 1 2 0v19.586l2.293-2.293a1 1 0 0 1 1.414 1.414l-4 4a1 1 0 0 1-1.414 0l-4-4a1 1 0 1 1 1.414-1.414ZM17 26a3 3 0 0 1-3-3v-3a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v3a3 3 0 0 1-3 3H17Zm-1-3a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1H17a1 1 0 0 0-1 1v3Zm1-8a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v3a3 3 0 0 1-3 3H17Z\"]];","export default [[\"M1.038 8.691c.024.06.06.115.108.163l2 2a.5.5 0 0 0 .708-.708L2.707 9H9.5a.5.5 0 0 0 0-1H2.707l1.147-1.146a.5.5 0 1 0-.708-.708l-2 2A.499.499 0 0 0 1 8.497V8.5a.498.498 0 0 0 .038.191ZM3.25 5C2.56 5 2 4.44 2 3.75v-2.5C2 .56 2.56 0 3.25 0h.5C4.44 0 5 .56 5 1.25v2.5C5 4.44 4.44 5 3.75 5h-.5ZM3 3.75c0 .138.112.25.25.25h.5A.25.25 0 0 0 4 3.75v-2.5A.25.25 0 0 0 3.75 1h-.5a.25.25 0 0 0-.25.25v2.5Zm3 0C6 4.44 6.56 5 7.25 5h.5C8.44 5 9 4.44 9 3.75v-2.5C9 .56 8.44 0 7.75 0h-.5C6.56 0 6 .56 6 1.25v2.5Z\",\"M2 7.5A1.5 1.5 0 0 0 3.5 9h2A1.5 1.5 0 0 0 7 7.5v-5A1.5 1.5 0 0 0 5.5 1h-2A1.5 1.5 0 0 0 2 2.5v5Zm1.5.5a.5.5 0 0 1-.5-.5v-5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-2Zm-1.354 4.854a.5.5 0 0 1 0-.708l2-2a.5.5 0 0 1 .708.708L3.707 12H12.5a.5.5 0 0 1 0 1H3.707l1.147 1.146a.5.5 0 0 1-.708.708l-2-2ZM8 7.5A1.5 1.5 0 0 0 9.5 9h2A1.5 1.5 0 0 0 13 7.5v-5A1.5 1.5 0 0 0 11.5 1h-2A1.5 1.5 0 0 0 8 2.5v5Z\",\"M4 9.5A2.5 2.5 0 0 0 6.5 12h2A2.5 2.5 0 0 0 11 9.5v-6A2.5 2.5 0 0 0 8.5 1h-2A2.5 2.5 0 0 0 4 3.5v6Zm2.5.5a.5.5 0 0 1-.5-.5v-6a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-2Zm-4.207 8.707a1 1 0 0 1 0-1.414l4-4a1 1 0 0 1 1.414 1.414L5.414 17H21a1 1 0 1 1 0 2H5.414l2.293 2.293a1 1 0 1 1-1.414 1.414l-4-4ZM13 9.5a2.5 2.5 0 0 0 2.5 2.5h2A2.5 2.5 0 0 0 20 9.5v-6A2.5 2.5 0 0 0 17.5 1h-2A2.5 2.5 0 0 0 13 3.5v6Z\",\"M6 15a3 3 0 0 0 3 3h3a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H9a3 3 0 0 0-3 3v10Zm3 1a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H9Zm-4.707 9.707a1 1 0 0 1 0-1.414l4-4a1 1 0 0 1 1.414 1.414L7.414 24H27a1 1 0 1 1 0 2H7.414l2.293 2.293a1 1 0 0 1-1.414 1.414l-4-4ZM17 15a3 3 0 0 0 3 3h3a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3h-3a3 3 0 0 0-3 3v10Z\"],[\"M3.25 5C2.56 5 2 4.44 2 3.75v-2.5C2 .56 2.56 0 3.25 0h.5C4.44 0 5 .56 5 1.25v2.5C5 4.44 4.44 5 3.75 5h-.5ZM3 3.75c0 .138.112.25.25.25h.5A.25.25 0 0 0 4 3.75v-2.5A.25.25 0 0 0 3.75 1h-.5a.25.25 0 0 0-.25.25v2.5ZM1.038 8.691c.024.06.06.115.108.163l2 2a.5.5 0 0 0 .708-.708L2.707 9H9.5a.5.5 0 0 0 0-1H2.707l1.147-1.146a.5.5 0 1 0-.708-.708l-2 2A.499.499 0 0 0 1 8.497v.006c0 .067.014.13.038.188ZM7.25 5C6.56 5 6 4.44 6 3.75v-2.5C6 .56 6.56 0 7.25 0h.5C8.44 0 9 .56 9 1.25v2.5C9 4.44 8.44 5 7.75 5h-.5Z\",\"M2 7.5A1.5 1.5 0 0 0 3.5 9h2A1.5 1.5 0 0 0 7 7.5v-5A1.5 1.5 0 0 0 5.5 1h-2A1.5 1.5 0 0 0 2 2.5v5Zm1.5.5a.5.5 0 0 1-.5-.5v-5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-2Zm-1.354 4.854a.5.5 0 0 1 0-.708l2-2a.5.5 0 0 1 .708.708L3.707 12H12.5a.5.5 0 0 1 0 1H3.707l1.147 1.146a.5.5 0 0 1-.708.708l-2-2ZM8 7.5A1.5 1.5 0 0 0 9.5 9h2A1.5 1.5 0 0 0 13 7.5v-5A1.5 1.5 0 0 0 11.5 1h-2A1.5 1.5 0 0 0 8 2.5v5Z\",\"M4 9.5A2.5 2.5 0 0 0 6.5 12h2A2.5 2.5 0 0 0 11 9.5v-6A2.5 2.5 0 0 0 8.5 1h-2A2.5 2.5 0 0 0 4 3.5v6Zm2.5.5a.5.5 0 0 1-.5-.5v-6a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-2Zm-4.207 8.707a1 1 0 0 1 0-1.414l4-4a1 1 0 0 1 1.414 1.414L5.414 17H21a1 1 0 1 1 0 2H5.414l2.293 2.293a1 1 0 1 1-1.414 1.414l-4-4ZM13 9.5a2.5 2.5 0 0 0 2.5 2.5h2A2.5 2.5 0 0 0 20 9.5v-6A2.5 2.5 0 0 0 17.5 1h-2A2.5 2.5 0 0 0 13 3.5v6Z\",\"M6 15a3 3 0 0 0 3 3h3a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H9a3 3 0 0 0-3 3v10Zm3 1a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H9Zm-4.707 9.707a1 1 0 0 1 0-1.414l4-4a1 1 0 0 1 1.414 1.414L7.414 24H27a1 1 0 1 1 0 2H7.414l2.293 2.293a1 1 0 0 1-1.414 1.414l-4-4ZM17 15a3 3 0 0 0 3 3h3a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3h-3a3 3 0 0 0-3 3v10Z\"]];","export default [[\"M9.962 8.691a.498.498 0 0 1-.108.163l-2 2a.5.5 0 0 1-.708-.708L8.293 9H1.5a.5.5 0 0 1 0-1h6.793L7.146 6.854a.5.5 0 1 1 .708-.708l2 2A.499.499 0 0 1 10 8.5m-.038.191A.498.498 0 0 0 10 8.503l-.038.188ZM7.75 5C8.44 5 9 4.44 9 3.75v-2.5C9 .56 8.44 0 7.75 0h-.5C6.56 0 6 .56 6 1.25v2.5C6 4.44 6.56 5 7.25 5h.5ZM8 3.75a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 7 3.75v-2.5A.25.25 0 0 1 7.25 1h.5a.25.25 0 0 1 .25.25v2.5Zm-3 0C5 4.44 4.44 5 3.75 5h-.5C2.56 5 2 4.44 2 3.75v-2.5C2 .56 2.56 0 3.25 0h.5C4.44 0 5 .56 5 1.25v2.5Z\",\"M13 7.5A1.5 1.5 0 0 1 11.5 9h-2A1.5 1.5 0 0 1 8 7.5v-5A1.5 1.5 0 0 1 9.5 1h2A1.5 1.5 0 0 1 13 2.5v5Zm-1.5.5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h2Zm1.354 4.146-2-2a.5.5 0 0 0-.708.708L11.293 12H2.5a.5.5 0 0 0 0 1h8.793l-1.147 1.146a.5.5 0 0 0 .708.708l2-2a.5.5 0 0 0 0-.708ZM7 7.5A1.5 1.5 0 0 1 5.5 9h-2A1.5 1.5 0 0 1 2 7.5v-5A1.5 1.5 0 0 1 3.5 1h2A1.5 1.5 0 0 1 7 2.5v5Z\",\"M20 9.5a2.5 2.5 0 0 1-2.5 2.5h-2A2.5 2.5 0 0 1 13 9.5v-6A2.5 2.5 0 0 1 15.5 1h2A2.5 2.5 0 0 1 20 3.5v6Zm-2.5.5a.5.5 0 0 0 .5-.5v-6a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5h2Zm4.207 7.293-4-4a1 1 0 0 0-1.414 1.414L18.586 17H3a1 1 0 1 0 0 2h15.586l-2.293 2.293a1 1 0 0 0 1.414 1.414l4-4a1 1 0 0 0 0-1.414ZM11 9.5A2.5 2.5 0 0 1 8.5 12h-2A2.5 2.5 0 0 1 4 9.5v-6A2.5 2.5 0 0 1 6.5 1h2A2.5 2.5 0 0 1 11 3.5v6Z\",\"M26 15a3 3 0 0 1-3 3h-3a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h3a3 3 0 0 1 3 3v10Zm-3 1a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1h-3a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h3Zm4.707 8.293-4-4a1 1 0 0 0-1.414 1.414L24.586 24H5a1 1 0 1 0 0 2h19.586l-2.293 2.293a1 1 0 0 0 1.414 1.414l4-4a1 1 0 0 0 0-1.414ZM15 15a3 3 0 0 1-3 3H9a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h3a3 3 0 0 1 3 3v10Z\"]];","export default [[\"M2.146 1.146a.5.5 0 0 1 .708 0l2 2a.5.5 0 1 1-.708.708L3 2.707V9.5a.5.5 0 0 1-1 0V2.707L.854 3.854a.5.5 0 1 1-.708-.708l2-2ZM7.25 2C6.56 2 6 2.56 6 3.25v.5C6 4.44 6.56 5 7.25 5h2.5C10.44 5 11 4.44 11 3.75v-.5C11 2.56 10.44 2 9.75 2h-2.5ZM7 3.25A.25.25 0 0 1 7.25 3h2.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-2.5A.25.25 0 0 1 7 3.75v-.5ZM7.25 6C6.56 6 6 6.56 6 7.25v.5C6 8.44 6.56 9 7.25 9h2.5C10.44 9 11 8.44 11 7.75v-.5C11 6.56 10.44 6 9.75 6h-2.5Z\",\"M3.146 2.146a.5.5 0 0 1 .708 0l2 2a.5.5 0 1 1-.708.708L4 3.707V12.5a.5.5 0 0 1-1 0V3.707L1.854 4.854a.5.5 0 1 1-.708-.708l2-2ZM8.5 2A1.5 1.5 0 0 0 7 3.5v2A1.5 1.5 0 0 0 8.5 7h5A1.5 1.5 0 0 0 15 5.5v-2A1.5 1.5 0 0 0 13.5 2h-5ZM8 3.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-2ZM8.5 8A1.5 1.5 0 0 0 7 9.5v2A1.5 1.5 0 0 0 8.5 13h5a1.5 1.5 0 0 0 1.5-1.5v-2A1.5 1.5 0 0 0 13.5 8h-5Z\",\"M5.293 2.293a1 1 0 0 1 1.414 0l4 4a1 1 0 0 1-1.414 1.414L7 5.414V21a1 1 0 1 1-2 0V5.414L2.707 7.707a1 1 0 0 1-1.414-1.414l4-4ZM14.5 4A2.5 2.5 0 0 0 12 6.5v2a2.5 2.5 0 0 0 2.5 2.5h6A2.5 2.5 0 0 0 23 8.5v-2A2.5 2.5 0 0 0 20.5 4h-6ZM14 6.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-2Zm.5 6.5a2.5 2.5 0 0 0-2.5 2.5v2a2.5 2.5 0 0 0 2.5 2.5h6a2.5 2.5 0 0 0 2.5-2.5v-2a2.5 2.5 0 0 0-2.5-2.5h-6Z\",\"M6.293 4.293a1 1 0 0 1 1.414 0l4 4a1 1 0 0 1-1.414 1.414L8 7.414V27a1 1 0 1 1-2 0V7.414L3.707 9.707a1 1 0 0 1-1.414-1.414l4-4ZM17 6a3 3 0 0 0-3 3v3a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V9a3 3 0 0 0-3-3H17Zm-1 3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H17a1 1 0 0 1-1-1V9Zm1 8a3 3 0 0 0-3 3v3a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3v-3a3 3 0 0 0-3-3H17Z\"]];","export default [[\"<path d='M10 2.5a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 1 0 1h-4A1.5 1.5 0 0 1 1 9.5v-7A1.5 1.5 0 0 1 2.5 1h7A1.5 1.5 0 0 1 11 2.5v4a.5.5 0 0 1-1 0v-4Z'></path><path d='M8.5 5a.5.5 0 0 1 0 1H6.707l3.147 3.146a.5.5 0 0 1-.708.708L6 6.707V8.5a.5.5 0 0 1-1 0v-3a.5.5 0 0 1 .5-.5h3Z'></path>\",\"<path d='M13 4.5A1.5 1.5 0 0 0 11.5 3h-7A1.5 1.5 0 0 0 3 4.5v7A1.5 1.5 0 0 0 4.5 13h4a.5.5 0 0 1 0 1h-4A2.5 2.5 0 0 1 2 11.5v-7A2.5 2.5 0 0 1 4.5 2h7A2.5 2.5 0 0 1 14 4.5v4a.5.5 0 0 1-1 0v-4Z'></path><path d='M11.5 6a.5.5 0 0 1 0 1H7.707l6.147 6.146a.5.5 0 0 1-.708.708L7 7.707V11.5a.5.5 0 0 1-1 0v-5a.5.5 0 0 1 .5-.5h5Z'></path>\",\"<path d='M19 5a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v13a1 1 0 0 0 1 1h6a1 1 0 1 1 0 2H5a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h13a3 3 0 0 1 3 3v7a1 1 0 1 1-2 0V5Z'></path><path d='M16 8a1 1 0 1 1 0 2h-4.586l7.793 7.793a1 1 0 0 1-1.414 1.414L10 11.414V16a1 1 0 1 1-2 0V9a1 1 0 0 1 1-1h7Z'></path>\",\"<path d='M26 6a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v19a1 1 0 0 0 1 1h12a1 1 0 1 1 0 2H6a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h19a3 3 0 0 1 3 3v12a1 1 0 1 1-2 0V6Z'></path><path d='M23 13a1 1 0 1 1 0 2h-6.586l10.793 10.793a1 1 0 0 1-1.414 1.414L15 16.414V23a1 1 0 1 1-2 0v-9a1 1 0 0 1 1-1h9Z'></path>\"]];","export default [[\"<path d='M2 2.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-4a.5.5 0 0 0 0 1h4A1.5 1.5 0 0 0 11 9.5v-7A1.5 1.5 0 0 0 9.5 1h-7A1.5 1.5 0 0 0 1 2.5v4a.5.5 0 0 0 1 0v-4Z'></path><path d='M3.5 5a.5.5 0 0 0 0 1h1.793L2.146 9.146a.5.5 0 1 0 .708.708L6 6.707V8.5a.5.5 0 0 0 1 0v-3a.5.5 0 0 0-.5-.5h-3Z'></path>\",\"<path d='M3 4.5A1.5 1.5 0 0 1 4.5 3h7A1.5 1.5 0 0 1 13 4.5v7a1.5 1.5 0 0 1-1.5 1.5h-4a.5.5 0 0 0 0 1h4a2.5 2.5 0 0 0 2.5-2.5v-7A2.5 2.5 0 0 0 11.5 2h-7A2.5 2.5 0 0 0 2 4.5v4a.5.5 0 0 0 1 0v-4Z'></path><path d='M4.5 6a.5.5 0 0 0 0 1h3.793l-6.147 6.146a.5.5 0 0 0 .708.708L9 7.707V11.5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-.5-.5h-5Z'></path>\",\"<path d='M5 5a1 1 0 0 1 1-1h13a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a1 1 0 1 0 0 2h6a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H6a3 3 0 0 0-3 3v7a1 1 0 1 0 2 0V5Z'></path><path d='M8 8a1 1 0 0 0 0 2h4.586l-7.793 7.793a1 1 0 1 0 1.414 1.414L14 11.414V16a1 1 0 1 0 2 0V9a1 1 0 0 0-1-1H8Z'></path>\",\"<path d='M6 6a1 1 0 0 1 1-1h19a1 1 0 0 1 1 1v19a1 1 0 0 1-1 1H14a1 1 0 1 0 0 2h12a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v12a1 1 0 1 0 2 0V6Z'></path><path d='M9 13a1 1 0 1 0 0 2h6.586L4.793 25.793a1 1 0 1 0 1.414 1.414L17 16.414V23a1 1 0 1 0 2 0v-9a1 1 0 0 0-1-1H9Z'></path>\"]];","export default [[\"M10 1.5v5a.5.5 0 0 1-1 0v-5a.5.5 0 0 1 1 0Zm-9 8a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm2.854-6.354a.5.5 0 1 0-.708.708l4 4a.5.5 0 1 0 .708-.708l-4-4Z\",\"M13.5 1a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-1 0v-8a.5.5 0 0 1 .5-.5ZM1 13.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 0 1h-8a.5.5 0 0 1-.5-.5Zm3.854-9.354a.5.5 0 1 0-.708.708l6 6a.5.5 0 0 0 .708-.708l-6-6Z\",\"M21 2a1 1 0 0 1 1 1v12a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1ZM2 21a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1ZM7.707 6.293a1 1 0 0 0-1.414 1.414l9 9a1 1 0 0 0 1.414-1.414l-9-9Z\",\"M29 2a1 1 0 0 1 1 1v18a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1ZM2 29a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1ZM9.707 8.293a1 1 0 0 0-1.414 1.414l13 13a1 1 0 0 0 1.414-1.414l-13-13Z\"]];","export default [[\"M1 8.5v-4A1.5 1.5 0 0 1 2.5 3h.585A1.5 1.5 0 0 1 4.5 2h5A1.5 1.5 0 0 1 11 3.5v5A1.5 1.5 0 0 1 9.5 10h-7A1.5 1.5 0 0 1 1 8.5ZM2.5 4H3v4.5a.5.5 0 0 1-1 0v-4a.5.5 0 0 1 .5-.5Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-3Zm0 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Z\",\"M3 3.5A1.5 1.5 0 0 1 4.5 2h9A1.5 1.5 0 0 1 15 3.5v9a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 12.5v-7A1.5 1.5 0 0 1 2.5 4H3v-.5ZM2.5 5H3v7.5a.5.5 0 0 1-1 0v-7a.5.5 0 0 1 .5-.5Zm3-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-7Zm0 4a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7ZM5 10.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Z\",\"M5 5a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H4c-1.616-.002-3-1.392-3-3V9a3 3 0 0 1 3-3h1V5ZM4 8a1 1 0 0 0-1 1v10c0 1.286 2 1.29 2 0V8H4Zm4-2a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V6Zm1 6a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2H9Zm-1 5a1 1 0 0 1 1-1h10a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1Z\",\"M7 7a3 3 0 0 1 3-3h17a3 3 0 0 1 3 3v18a3 3 0 0 1-3 3H5.5A3.5 3.5 0 0 1 2 24.5V11a3 3 0 0 1 3-3h2V7Zm-2 3a1 1 0 0 0-1 1v13.5a1.5 1.5 0 0 0 3 0V10H5Zm6-1a1 1 0 0 1 1-1h13a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H12a1 1 0 0 1-1-1V9Zm1 8.125a1 1 0 1 0 0 2h13a1 1 0 1 0 0-2H12Zm-1 4.938a1 1 0 0 1 1-1h13a1 1 0 1 1 0 2H12a1 1 0 0 1-1-1Z\"],[\"<path d='M5.5 7a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Zm0-3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-3Z'></path><path d='M1 4.5v4A1.5 1.5 0 0 0 2.5 10h7A1.5 1.5 0 0 0 11 8.5v-5A1.5 1.5 0 0 0 9.5 2h-5a1.5 1.5 0 0 0-1.415 1H2.5A1.5 1.5 0 0 0 1 4.5ZM3 4h-.5a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 1 0V4Zm6.5 5H3.915C3.97 8.844 4 8.675 4 8.5v-5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5Z'></path>\",\"<path d='M5.5 8a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7Zm0 2a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7ZM5 4.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-1Z'></path><path d='M4.5 2A1.5 1.5 0 0 0 3 3.5V4h-.5A1.5 1.5 0 0 0 1 5.5v7A1.5 1.5 0 0 0 2.5 14h11a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 13.5 2h-9Zm-.585 11H13.5a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-9a.5.5 0 0 0-.5.5v9c0 .175-.03.344-.085.5ZM3 5h-.5a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 1 0V5Z'></path>\",\"<path d='M9 12a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2H9Zm0 4a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2H9ZM8 6a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V6Zm2 1v1h8V7h-8Z'></path><path d='M8 2a3 3 0 0 0-3 3v1H4a3 3 0 0 0-3 3v10c0 1.606 1.384 3 3 3h16a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H8ZM6.83 20H20a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v14c0 .35-.06.687-.17 1ZM5 8H4a1 1 0 0 0-1 1v10a1 1 0 0 0 .996 1A1.01 1.01 0 0 0 5 19V8Z'></path>\",\"<path d='M11 18.125a1 1 0 0 1 1-1h13a1 1 0 1 1 0 2H12a1 1 0 0 1-1-1Zm0 3.938a1 1 0 0 1 1-1h13a1 1 0 1 1 0 2H12a1 1 0 0 1-1-1ZM12 8a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1H12Zm1 4v-2h11v2H13Z'></path><path d='M7 7a3 3 0 0 1 3-3h17a3 3 0 0 1 3 3v18a3 3 0 0 1-3 3H5.5A3.5 3.5 0 0 1 2 24.5V11a3 3 0 0 1 3-3h2V7ZM4 24.5a1.5 1.5 0 0 0 3 0V10H5a1 1 0 0 0-1 1v13.5Zm5 0c0 .537-.12 1.045-.337 1.5H27a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H10a1 1 0 0 0-1 1v17.5Z'></path>\"]];","export default [[\"M1 8.5A1.5 1.5 0 0 0 2.5 10H6V7.5A1.5 1.5 0 0 1 7.5 6H10V2.5A1.5 1.5 0 0 0 8.5 1h-6A1.5 1.5 0 0 0 1 2.5v6ZM9.85 7H7.5a.5.5 0 0 0-.5.5v2.433a1.5 1.5 0 0 0 .669-.428l1.944-2.154A1.5 1.5 0 0 0 9.85 7Z\",\"M2 12.5A1.5 1.5 0 0 0 3.5 14H9v-3.5A1.5 1.5 0 0 1 10.5 9H14V3.5A1.5 1.5 0 0 0 12.5 2h-9A1.5 1.5 0 0 0 2 3.5v9ZM13.826 10H10.5a.5.5 0 0 0-.5.5v3.202c.046-.034.09-.07.132-.11l3.397-3.201c.12-.114.22-.247.297-.391Z\",\"M3 17a3 3 0 0 0 3 3h7v-5a3 3 0 0 1 3-3h4V6a3 3 0 0 0-3-3H6a3 3 0 0 0-3 3v11Zm16.525-3H16a1 1 0 0 0-1 1v4.3c.13-.107.25-.227.361-.358l3.925-4.619a3.02 3.02 0 0 0 .24-.323Z\",\"M3 26a3 3 0 0 0 3 3h11v-8a3 3 0 0 1 3-3h9V6a3 3 0 0 0-3-3H6a3 3 0 0 0-3 3v20Zm25.33-6H20a1 1 0 0 0-1 1v7.424a2.95 2.95 0 0 0 .24-.194l8.767-7.89c.117-.106.224-.22.322-.34Z\"],[\"M6.556 10a1.5 1.5 0 0 0 1.113-.495l1.944-2.154A1.5 1.5 0 0 0 10 6.346V2.5A1.5 1.5 0 0 0 8.5 1h-6A1.5 1.5 0 0 0 1 2.5v6A1.5 1.5 0 0 0 2.5 10h4.056ZM2 8.5a.5.5 0 0 0 .5.5H6V7.5A1.5 1.5 0 0 1 7.5 6H9V2.5a.5.5 0 0 0-.5-.5h-6a.5.5 0 0 0-.5.5v6ZM8.583 7H7.5a.5.5 0 0 0-.5.5v1.254L8.583 7Z\",\"M3.5 14A1.5 1.5 0 0 1 2 12.5v-9A1.5 1.5 0 0 1 3.5 2h9A1.5 1.5 0 0 1 14 3.5v5.799a1.5 1.5 0 0 1-.471 1.092l-3.397 3.2A1.5 1.5 0 0 1 9.103 14H3.5ZM3 12.5a.5.5 0 0 0 .5.5H9v-2.5A1.5 1.5 0 0 1 10.5 9H13V3.5a.5.5 0 0 0-.5-.5h-9a.5.5 0 0 0-.5.5v9Zm9.485-2.5H10.5a.5.5 0 0 0-.5.5v1.842L12.485 10Z\",\"M6 21a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v7.172a3 3 0 0 1-.879 2.12l-4.828 4.83a3 3 0 0 1-2.121.878H6Zm-1-3a1 1 0 0 0 1 1h7v-3a3 3 0 0 1 3-3h3V6a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v12Zm12.586-3H16a1 1 0 0 0-1 1v1.586L17.586 15Z\",\"M6 29a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v12.606a3 3 0 0 1-1 2.235l-8.264 7.395a3 3 0 0 1-2 .764H6Zm-1-3a1 1 0 0 0 1 1h11v-6a3 3 0 0 1 3-3h7V6a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v20Zm20.942-6H20a1 1 0 0 0-1 1v5.21L25.942 20Z\"]];","export default [[\"M5.988 1.609a.5.5 0 0 0-.976-.217L4.432 4H2.5a.5.5 0 0 0 0 1h1.71l-.444 2H1.5a.5.5 0 0 0 0 1h2.043l-.531 2.392a.5.5 0 0 0 .976.217L4.568 8h1.975l-.531 2.392a.5.5 0 0 0 .976.217L7.568 8H9.5a.5.5 0 0 0 0-1H7.79l.445-2H10.5a.5.5 0 0 0 0-1H8.457l.531-2.391a.5.5 0 0 0-.976-.217L7.432 4H5.457l.531-2.391ZM6.766 7l.444-2H5.235L4.79 7h1.976Z\",\"M11.994 1.576a.5.5 0 0 0-.988-.152L10.456 5H6.468l.526-3.424a.5.5 0 0 0-.988-.152L5.456 5H2.5a.5.5 0 0 0 0 1h2.802l-.615 4H1.5a.5.5 0 0 0 0 1h3.033l-.527 3.424a.5.5 0 1 0 .988.152L5.544 11h3.989l-.527 3.424a.5.5 0 1 0 .988.152l.55-3.576H13.5a.5.5 0 0 0 0-1h-2.802l.616-4H14.5a.5.5 0 0 0 0-1h-3.033l.527-3.424ZM5.698 10h3.989l.615-4H6.314l-.616 4Z\",\"M17.986 3.165a1 1 0 1 0-1.972-.33L15.32 7h-4.973l.64-3.835a1 1 0 1 0-1.973-.33L8.32 7H4a1 1 0 0 0 0 2h3.986l-1 6H3a1 1 0 1 0 0 2h3.653l-.64 3.836a1 1 0 1 0 1.974.329L8.68 17h4.972l-.64 3.836a1 1 0 1 0 1.974.329L15.68 17H20a1 1 0 1 0 0-2h-3.986l1-6H21a1 1 0 1 0 0-2h-3.653l.64-3.835ZM9.014 15h4.972l1-6h-4.972l-1 6Z\",\"M22.984 5.18a1 1 0 1 0-1.968-.359L20.075 10h-5.967l.876-4.82a1 1 0 1 0-1.968-.359L12.075 10H6a1 1 0 1 0 0 2h5.711l-1.454 8H5a1 1 0 1 0 0 2h4.893l-.877 4.821a1 1 0 0 0 1.968.358L11.926 22h5.967l-.877 4.821a1 1 0 0 0 1.968.358L19.926 22H26a1 1 0 1 0 0-2h-5.71l1.454-8H27a1 1 0 1 0 0-2h-4.892l.876-4.82ZM12.289 20h5.967l1.455-8h-5.967l-1.455 8Z\"]];","export default [[\"M3 .5a.5.5 0 0 0-.854-.354l-.825.826A.5.5 0 0 0 2 1.705V2.5a.5.5 0 1 0 1 0v-2ZM4.5 2a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Zm0 3a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6ZM4 8.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5ZM1.992 5.024a.744.744 0 0 0-.017.048.5.5 0 0 1-.95-.315c.068-.202.173-.41.362-.559A.961.961 0 0 1 2 4c.546 0 1 .467 1 1.08a.932.932 0 0 1-.084.364c-.04.095-.094.19-.148.277-.059.094-.126.19-.196.284A.5.5 0 0 1 2.5 7h-1a.5.5 0 0 1-.363-.844l.002-.002c.163-.175.322-.355.472-.541.12-.148.23-.297.309-.422.039-.063.064-.11.078-.142a.166.166 0 0 0-.006-.025ZM1.987 8c-.371 0-.712.203-.89.528l-.036.066a.5.5 0 0 0 .558.725.5.5 0 0 0 0 .362.498.498 0 0 0-.558.725l.036.066A1.013 1.013 0 0 0 3 9.987a.898.898 0 0 0-.14-.488.897.897 0 0 0 .14-.486C3 8.453 2.546 8 1.987 8Z\",\"M3 2.5a.5.5 0 0 0-.854-.354l-.825.826A.5.5 0 0 0 2 3.705V4.5a.5.5 0 1 0 1 0v-2Zm1.5.5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Zm0 4a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9ZM4 11.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5ZM1.992 7.024a.746.746 0 0 0-.017.048.5.5 0 1 1-.95-.315c.068-.202.173-.41.362-.559A.961.961 0 0 1 2 6c.546 0 1 .467 1 1.08a.932.932 0 0 1-.084.364c-.04.095-.094.19-.148.277-.059.094-.126.19-.196.284A.5.5 0 0 1 2.5 9h-1a.5.5 0 0 1-.363-.844c.164-.176.323-.356.474-.543.12-.148.23-.297.309-.422.039-.063.064-.11.078-.142a.166.166 0 0 0-.006-.025ZM1.987 10c-.413 0-.735.244-.926.594a.5.5 0 0 0 .558.725.5.5 0 0 0 0 .362.498.498 0 0 0-.558.725l.036.066c.178.325.519.528.89.528C2.547 13 3 12.532 3 11.975a.88.88 0 0 0-.14-.476.897.897 0 0 0 .14-.486C3 10.453 2.546 10 1.987 10Z\",\"M4.875 2.754a.75.75 0 0 0-1.314-.494L2.436 3.546a.75.75 0 0 0 .939 1.143v2.565a.75.75 0 1 0 1.5 0v-4.5ZM8 5a1 1 0 1 0 0 2h13a1 1 0 1 0 0-2H8Zm0 6a1 1 0 1 0 0 2h13a1 1 0 1 0 0-2H8Zm-1 7a1 1 0 0 1 1-1h13a1 1 0 1 1 0 2H8a1 1 0 0 1-1-1Zm-3.155-7.443c-.013.008-.074.049-.152.239a.75.75 0 1 1-1.386-.575c.155-.374.382-.707.735-.93.348-.222.73-.28 1.083-.28.841 0 1.875.613 1.875 1.796 0 .453-.155.893-.438 1.247l-1.17 1.457h.858a.75.75 0 0 1 0 1.5H3a.75.75 0 0 1-.75-.75c0-.308.105-.607.298-.848l1.844-2.298a.492.492 0 0 0 .108-.308.235.235 0 0 0-.09-.196.457.457 0 0 0-.285-.1c-.198 0-.261.034-.28.046ZM2.644 16.31a.75.75 0 1 0 .712 1.32.882.882 0 0 1 .424-.131c.35 0 .72.13.72.553 0 .128-.106.193-.22.199a.75.75 0 0 0-.715.752.76.76 0 0 0 .746.747.197.197 0 0 1 .189.197.552.552 0 0 1-.552.552.997.997 0 0 1-.557-.14.75.75 0 0 0-.782 1.28c.414.253.858.36 1.34.36A2.052 2.052 0 0 0 6 19.947c0-.35-.106-.677-.289-.947A1.69 1.69 0 0 0 6 18.052c0-1.134-.92-2.053-2.053-2.053-.463 0-.89.088-1.303.31Z\",\"M5.875 6.754a.75.75 0 0 0-1.314-.494L3.436 7.546a.75.75 0 0 0 .939 1.143v2.565a.75.75 0 1 0 1.5 0v-4.5ZM10 9a1 1 0 0 0 0 2h16a1 1 0 1 0 0-2H10Zm0 6a1 1 0 0 0 0 2h16a1 1 0 1 0 0-2H10Zm-1 7a1 1 0 0 1 1-1h16a1 1 0 1 1 0 2H10a1 1 0 0 1-1-1Zm-4.155-7.443c-.013.008-.074.049-.152.239a.75.75 0 1 1-1.386-.575c.155-.374.382-.707.735-.93.348-.222.73-.28 1.083-.28.841 0 1.875.613 1.875 1.796 0 .453-.155.893-.438 1.247l-1.17 1.458h.858a.75.75 0 0 1 0 1.5H4a.75.75 0 0 1-.75-.75c0-.31.105-.608.298-.85l1.844-2.297a.492.492 0 0 0 .108-.308.235.235 0 0 0-.09-.196.457.457 0 0 0-.285-.1c-.198 0-.261.034-.28.046Zm-.065 5.442c-.406 0-.782.12-1.136.31a.75.75 0 1 0 .712 1.32.882.882 0 0 1 .424-.13c.35 0 .72.13.72.553 0 .128-.106.193-.22.199a.75.75 0 0 0-.715.752.76.76 0 0 0 .746.747.197.197 0 0 1 .189.197c0 .4-.345.552-.687.552a.798.798 0 0 1-.422-.14.75.75 0 0 0-.782 1.28c.414.253.858.36 1.34.36A2.052 2.052 0 0 0 7 23.947c0-.35-.106-.677-.289-.947A1.69 1.69 0 0 0 7 22.052c0-1.134-.92-2.053-2.053-2.053H4.78Z\"]];","export default [[\"M4.667 1.014a.5.5 0 0 1 .45.1l.886.738.885-.739a.5.5 0 0 1 .79.212l.398 1.082 1.136-.197a.5.5 0 0 1 .578.579l-.197 1.136 1.083.398a.5.5 0 0 1 .211.79l-.738.885.739.886a.5.5 0 0 1-.212.79l-1.083.397.197 1.136a.5.5 0 0 1-.578.578l-1.136-.197-.398 1.083a.5.5 0 0 1-.79.212l-.885-.74-.886.74a.5.5 0 0 1-.79-.212L3.93 9.588l-1.137.197a.5.5 0 0 1-.578-.578l.197-1.136-1.082-.398a.5.5 0 0 1-.212-.79l.739-.885-.739-.886a.5.5 0 0 1 .212-.79l1.082-.397-.197-1.136a.5.5 0 0 1 .578-.579l1.137.197.397-1.082a.5.5 0 0 1 .34-.31Zm3.437 4.34a.5.5 0 1 0-.708-.708L5.25 6.793l-.646-.647a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0l2.5-2.5Z\",\"M6.128 1.017a.5.5 0 0 1 .45.1l1.421 1.185L9.42 1.116a.5.5 0 0 1 .79.212l.638 1.737 1.823-.316a.5.5 0 0 1 .579.578l-.317 1.823 1.738.638a.5.5 0 0 1 .211.79l-1.185 1.421 1.185 1.421a.5.5 0 0 1-.211.79l-1.738.638.316 1.823a.5.5 0 0 1-.578.579l-1.823-.317-.638 1.738a.5.5 0 0 1-.79.211L8 13.697l-1.422 1.185a.5.5 0 0 1-.79-.211l-.638-1.738-1.823.316a.5.5 0 0 1-.578-.578l.316-1.823-1.737-.638a.5.5 0 0 1-.212-.79L2.302 8 1.116 6.577a.5.5 0 0 1 .212-.79l1.737-.638-.316-1.823a.5.5 0 0 1 .578-.578l1.823.316.638-1.737a.5.5 0 0 1 .34-.311Zm4.723 5.837a.5.5 0 1 0-.708-.708L6.997 9.293 5.851 8.146a.5.5 0 1 0-.707.708l1.5 1.5a.5.5 0 0 0 .707 0l3.5-3.5Z\",\"M9.063 1.036a1 1 0 0 1 .9.198L12 2.934l2.039-1.7a1 1 0 0 1 1.579.423l.915 2.492 2.616-.454a1 1 0 0 1 1.156 1.157l-.454 2.615 2.493.916a1 1 0 0 1 .423 1.579L21.067 12l1.7 2.038a1 1 0 0 1-.422 1.58l-2.493.915.454 2.616a1 1 0 0 1-1.156 1.156l-2.616-.454-.915 2.492a1 1 0 0 1-1.58.424l-2.038-1.701-2.039 1.7a1 1 0 0 1-1.58-.423l-.914-2.492-2.616.454a1 1 0 0 1-1.156-1.156l.453-2.616-2.492-.915a1 1 0 0 1-.423-1.58L2.934 12l-1.7-2.04a1 1 0 0 1 .423-1.578l2.492-.916-.453-2.615a1 1 0 0 1 1.156-1.157l2.616.454.915-2.492a1 1 0 0 1 .68-.621Zm6.684 9.62a1 1 0 0 0-1.494-1.33l-3.296 3.708-1.25-1.25a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.454-.042l4-4.5Z\",\"M19.74 2.034a1 1 0 0 1 .68.621l1.276 3.475 3.647-.632a1 1 0 0 1 1.156 1.156l-.632 3.647 3.474 1.276a1 1 0 0 1 .424 1.579l-2.372 2.842 2.372 2.843a1 1 0 0 1-.424 1.579l-3.474 1.276.632 3.647a1 1 0 0 1-1.156 1.156l-3.647-.632-1.276 3.474a1 1 0 0 1-1.58.424l-2.842-2.372-2.842 2.372a1 1 0 0 1-1.58-.424l-1.275-3.474-3.647.632a1 1 0 0 1-1.156-1.156l.632-3.647-3.475-1.276a1 1 0 0 1-.423-1.58l2.371-2.842-2.37-2.842a1 1 0 0 1 .422-1.58l3.475-1.275-.632-3.647a1 1 0 0 1 1.156-1.156l3.647.632 1.276-3.475a1 1 0 0 1 1.579-.423l2.842 2.371 2.843-2.37a1 1 0 0 1 .899-.199Zm2.49 11.648a1 1 0 1 0-1.46-1.368l-6.793 7.246-2.77-2.77a1 1 0 1 0-1.414 1.415l3.5 3.5a1 1 0 0 0 1.437-.023l7.5-8Z\"],[\"<path d='M8.104 5.354a.5.5 0 1 0-.708-.708L5.25 6.793l-.646-.647a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0l2.5-2.5Z'></path><path d='M5.117 1.113a.5.5 0 0 0-.79.212L3.93 2.407 2.793 2.21a.5.5 0 0 0-.578.579l.197 1.136-1.082.398a.5.5 0 0 0-.212.79l.739.885-.739.886a.5.5 0 0 0 .212.79l1.082.397-.197 1.136a.5.5 0 0 0 .578.578l1.137-.197.397 1.083a.5.5 0 0 0 .79.212l.886-.74.885.74a.5.5 0 0 0 .79-.212l.398-1.083 1.136.197a.5.5 0 0 0 .578-.578l-.197-1.136 1.083-.398a.5.5 0 0 0 .211-.79l-.738-.885.739-.886a.5.5 0 0 0-.212-.79l-1.083-.397.197-1.136a.5.5 0 0 0-.578-.579l-1.136.197-.398-1.082a.5.5 0 0 0-.79-.212l-.885.739-.886-.739Zm-.392 2.03.296-.807.661.551a.5.5 0 0 0 .641 0l.661-.551.297.808a.5.5 0 0 0 .555.32l.848-.147-.147.848a.5.5 0 0 0 .32.555l.808.297-.551.66a.5.5 0 0 0 0 .641l.55.661-.807.297a.5.5 0 0 0-.32.555l.147.848-.848-.147a.5.5 0 0 0-.555.32l-.297.808-.661-.551a.5.5 0 0 0-.64 0l-.662.551-.296-.808a.5.5 0 0 0-.555-.32l-.848.147.147-.848a.5.5 0 0 0-.32-.555l-.808-.297.551-.66a.5.5 0 0 0 0-.641l-.551-.661.808-.297a.5.5 0 0 0 .32-.555l-.147-.848.848.147a.5.5 0 0 0 .555-.32Z'></path>\",\"<path d='M10.85 6.854a.5.5 0 1 0-.707-.708L6.997 9.293 5.851 8.146a.5.5 0 1 0-.707.708l1.5 1.5a.5.5 0 0 0 .707 0l3.5-3.5Z'></path><path d='M6.578 1.116a.5.5 0 0 0-.79.212L5.15 3.065l-1.823-.316a.5.5 0 0 0-.578.578l.316 1.823-1.737.638a.5.5 0 0 0-.212.79l1.186 1.421L1.116 9.42a.5.5 0 0 0 .212.79l1.737.638-.316 1.823a.5.5 0 0 0 .578.579l1.823-.317.638 1.738a.5.5 0 0 0 .79.211l1.421-1.185 1.421 1.185a.5.5 0 0 0 .79-.211l.638-1.738 1.823.316a.5.5 0 0 0 .579-.578l-.317-1.823 1.738-.638a.5.5 0 0 0 .211-.79L13.697 8l1.185-1.422a.5.5 0 0 0-.211-.79l-1.738-.638.316-1.823a.5.5 0 0 0-.578-.578l-1.823.316-.638-1.737a.5.5 0 0 0-.79-.212L8 2.302 6.577 1.116Zm-.633 2.685.537-1.462 1.197.998a.5.5 0 0 0 .64 0l1.197-.998.537 1.462a.5.5 0 0 0 .555.32l1.535-.266-.266 1.536a.5.5 0 0 0 .32.554l1.463.537-.998 1.197a.5.5 0 0 0 0 .64l.998 1.197-1.463.537a.5.5 0 0 0-.32.555l.266 1.535-1.535-.266a.5.5 0 0 0-.555.32l-.537 1.463-1.197-.998a.5.5 0 0 0-.64 0l-1.197.998-.537-1.463a.5.5 0 0 0-.554-.32l-1.536.266.267-1.535a.5.5 0 0 0-.32-.555l-1.463-.537.998-1.197a.5.5 0 0 0 0-.64l-.998-1.197L3.8 5.945a.5.5 0 0 0 .32-.554l-.266-1.536 1.536.267a.5.5 0 0 0 .554-.32Z'></path>\",\"<path d='M15.747 10.656a1 1 0 0 0-1.494-1.33l-3.296 3.708-1.25-1.25a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.454-.042l4-4.5Z'></path><path d='M9.962 1.234a1 1 0 0 0-1.58.423l-.914 2.492-2.616-.454a1 1 0 0 0-1.156 1.157l.453 2.615-2.492.916a1 1 0 0 0-.423 1.579L2.934 12l-1.7 2.038a1 1 0 0 0 .423 1.58l2.492.915-.453 2.616a1 1 0 0 0 1.156 1.156l2.616-.454.915 2.492a1 1 0 0 0 1.58.424l2.037-1.7 2.039 1.7a1 1 0 0 0 1.579-.423l.915-2.492 2.616.454a1 1 0 0 0 1.156-1.156l-.454-2.616 2.493-.915a1 1 0 0 0 .423-1.58l-1.701-2.038 1.7-2.04a1 1 0 0 0-.422-1.578l-2.493-.916.454-2.615a1 1 0 0 0-1.156-1.157l-2.616.454-.915-2.492a1 1 0 0 0-1.58-.423L12 2.934l-2.039-1.7Zm-.904 4.388.713-1.943 1.59 1.326a1 1 0 0 0 1.28 0l1.59-1.326.713 1.943a1 1 0 0 0 1.11.64l2.039-.353-.354 2.039a1 1 0 0 0 .64 1.11l1.944.713-1.326 1.589a1 1 0 0 0 0 1.281l1.326 1.59-1.943.713a1 1 0 0 0-.64 1.11l.353 2.039-2.04-.354a1 1 0 0 0-1.109.64l-.713 1.943-1.59-1.325a1 1 0 0 0-1.28 0l-1.59 1.325-.713-1.942a1 1 0 0 0-1.11-.641l-2.04.354.354-2.04a1 1 0 0 0-.64-1.11l-1.943-.713 1.326-1.589a1 1 0 0 0 0-1.281L3.679 9.77l1.943-.713a1 1 0 0 0 .64-1.11L5.91 5.91l2.04.353a1 1 0 0 0 1.109-.64Z'></path>\",\"<path d='M22.23 13.681a1 1 0 1 0-1.46-1.367l-6.793 7.246-2.77-2.77a1 1 0 1 0-1.414 1.415l3.5 3.5a1 1 0 0 0 1.437-.023l7.5-8Z'></path><path d='M20.42 2.655a1 1 0 0 0-1.58-.423l-2.842 2.371-2.842-2.37a1 1 0 0 0-1.58.422L10.302 6.13l-3.647-.632a1 1 0 0 0-1.156 1.156L6.13 10.3l-3.475 1.276a1 1 0 0 0-.423 1.579l2.371 2.842-2.37 2.843a1 1 0 0 0 .422 1.579l3.475 1.276-.632 3.647a1 1 0 0 0 1.156 1.156l3.647-.632 1.276 3.474a1 1 0 0 0 1.579.424l2.842-2.372 2.843 2.372a1 1 0 0 0 1.579-.424l1.276-3.474 3.647.632a1 1 0 0 0 1.156-1.156l-.632-3.647 3.474-1.276a1 1 0 0 0 .424-1.58l-2.372-2.842 2.372-2.842a1 1 0 0 0-.424-1.58L25.867 10.3l.632-3.647a1 1 0 0 0-1.156-1.156l-3.647.632-1.276-3.475Zm-3.781 4.019 2.393-1.997 1.074 2.926a1 1 0 0 0 1.11.64l3.07-.532-.533 3.07a1 1 0 0 0 .641 1.11l2.925 1.074-1.996 2.393a1 1 0 0 0 0 1.28l1.996 2.394-2.925 1.074a1 1 0 0 0-.64 1.11l.532 3.07-3.07-.533a1 1 0 0 0-1.11.641l-1.074 2.925-2.393-1.996a1 1 0 0 0-1.281 0l-2.393 1.996-1.074-2.925a1 1 0 0 0-1.11-.64l-3.07.532.532-3.07a1 1 0 0 0-.64-1.11l-2.926-1.074 1.997-2.393a1 1 0 0 0 0-1.281l-1.997-2.393 2.926-1.074a1 1 0 0 0 .64-1.11l-.532-3.07 3.07.532a1 1 0 0 0 1.11-.64l1.074-2.926 2.393 1.997a1 1 0 0 0 1.28 0Z'></path>\"]];","export default [[\"m4.073 4.235.03.02a.11.11 0 0 1 .062.093v1.664c0 .023.002.047.004.071a.117.117 0 0 0 .084.11c.053.018.102.009.141-.034a53.122 53.122 0 0 0 .42-.453l.112-.12.132-.141.13-.14a.143.143 0 0 1 .114-.047h.628c.057 0 .1.021.125.074a.128.128 0 0 1-.023.15l-.129.143-.258.287-.163.18-.39.436c-.069.076-.082.146-.043.212.021.035.046.07.074.099.087.092.176.182.264.272l.08.081c.209.214.418.43.628.643l.04.043.143.147c.046.045.06.097.037.157-.023.063-.073.083-.138.083a49.285 49.285 0 0 0-.666 0 .174.174 0 0 1-.136-.057c-.257-.27-.515-.538-.773-.806l-.175-.182-.012-.013a.387.387 0 0 0-.041-.04.126.126 0 0 0-.203.075.356.356 0 0 0-.006.068v.242c0 .189-.001.377.001.566.002.104-.064.138-.133.144H3.57a.48.48 0 0 1-.078-.006.109.109 0 0 1-.097-.111v-.861c0-.956 0-1.912-.002-2.868 0-.084.015-.15.1-.18h.58Zm7.697 4.033c.088-.006.178-.022.23-.11v-.595c-.034-.07-.095-.08-.164-.077a.576.576 0 0 1-.109-.01.303.303 0 0 1-.273-.26 1.563 1.563 0 0 1-.031-.272l-.003-1.035v-.47a.438.438 0 0 0-.007-.08.124.124 0 0 0-.123-.1c-.17-.001-.34-.002-.511 0a.13.13 0 0 0-.134.133.737.737 0 0 1-.004.037l-.001.011a1.498 1.498 0 0 0-1.092-.145 1.51 1.51 0 0 0-.84 2.39c.203.259.46.44.777.528.515.142.982.035 1.4-.295l.005.006.019.024a.772.772 0 0 0 .38.277c.157.052.319.054.48.043Zm-1.113-1.506a.743.743 0 0 1-.753.748.743.743 0 0 1-.747-.75.745.745 0 0 1 .754-.747.746.746 0 0 1 .746.749ZM.027 6.497c-.01.054-.018.109-.027.163v.21l.007.042.014.076c.06.382.237.698.536.942.325.267.7.376 1.12.335a1.43 1.43 0 0 0 .85-.381c.384-.357.55-.8.485-1.322a1.445 1.445 0 0 0-.534-.964 1.475 1.475 0 0 0-1.167-.333A1.512 1.512 0 0 0 .027 6.497Zm.739.264a.75.75 0 1 0 1.5.002.75.75 0 0 0-1.5-.002ZM7.125 4.24c0-.002-.002-.003-.003-.005h-.58c-.083.04-.092.11-.092.191l.002 1.245v1.066a1.51 1.51 0 0 0 1.2 1.513c.05.01.099.017.148.024l.075.012h.18l.018-.003.078-.012c.09-.01.14-.076.128-.165a4.789 4.789 0 0 1-.013-.114l-.007-.065-.008-.078a11.17 11.17 0 0 0-.024-.221c-.01-.082-.073-.122-.154-.116a1.04 1.04 0 0 1-.24-.005.738.738 0 0 1-.613-.735 139.71 139.71 0 0 0 0-.6c0-.106.053-.159.16-.159a303.33 303.33 0 0 1 .639 0c.077 0 .132-.047.133-.123.003-.167.004-.334 0-.5-.001-.088-.053-.132-.14-.132h-.64c-.1 0-.152-.054-.152-.154v-.71c0-.067-.019-.123-.087-.149-.003 0-.005-.003-.008-.006Z\",\"M5.788 5.298a.558.558 0 0 1-.037-.023h-.676c-.1.036-.117.113-.117.21.002 1.115.002 2.23.002 3.346v1.005c.002.07.044.118.114.13a.56.56 0 0 0 .091.007h.54c.08-.008.157-.047.155-.168-.002-.22-.002-.44-.001-.661v-.282c0-.027.001-.054.007-.08a.147.147 0 0 1 .237-.087c.018.014.033.03.048.047l.013.015.205.212.902.94a.203.203 0 0 0 .159.067c.259-.002.518-.002.777 0 .075 0 .133-.024.16-.096.027-.07.011-.131-.043-.184l-.166-.172-.047-.05-.733-.75-.093-.094c-.103-.106-.206-.21-.308-.318a.676.676 0 0 1-.087-.115c-.045-.077-.03-.158.05-.248l.456-.507.19-.21.301-.336.15-.167a.149.149 0 0 0 .027-.175c-.029-.061-.08-.086-.146-.086h-.733a.166.166 0 0 0-.132.055l-.152.162-.154.165-.13.14-.102.111a61.9 61.9 0 0 1-.389.418c-.046.05-.103.06-.165.04a.137.137 0 0 1-.097-.128c-.002-.028-.005-.056-.005-.084V5.406a.128.128 0 0 0-.071-.108Zm8.943 4.682c.104-.008.208-.027.27-.129v-.694c-.04-.082-.112-.093-.193-.09a.672.672 0 0 1-.126-.01.353.353 0 0 1-.319-.306 1.79 1.79 0 0 1-.036-.317c-.003-.402-.003-.805-.003-1.207v-.549a.51.51 0 0 0-.008-.092.145.145 0 0 0-.144-.118h-.597c-.09 0-.153.065-.156.156l-.004.042-.002.014a1.748 1.748 0 0 0-1.273-.17 1.761 1.761 0 0 0-.98 2.788c.236.303.536.515.906.617.601.167 1.145.041 1.634-.344l.027.035a.901.901 0 0 0 .444.323c.183.061.371.063.56.05Zm-1.298-1.758c0 .521-.43.884-.878.873a.866.866 0 0 1-.871-.874.87.87 0 0 1 .88-.873.87.87 0 0 1 .869.874ZM1 8.103l.031-.19A1.763 1.763 0 0 1 2.53 6.476a1.72 1.72 0 0 1 1.36.389c.355.291.567.668.624 1.124.076.609-.118 1.126-.567 1.542a1.668 1.668 0 0 1-.992.444 1.718 1.718 0 0 1-1.305-.39 1.717 1.717 0 0 1-.626-1.099l-.015-.089L1 8.35v-.246Zm.893.118a.875.875 0 1 0 1.75.003.875.875 0 0 0-1.75-.003Zm7.42-2.941-.004-.005h-.677c-.096.045-.107.127-.106.223a688.496 688.496 0 0 1 .002 2.695 1.761 1.761 0 0 0 1.4 1.765c.057.011.115.02.172.029l.087.013h.211c.007 0 .013-.002.02-.003l.092-.014c.104-.011.163-.088.149-.193a5.6 5.6 0 0 1-.015-.132l-.008-.077-.01-.09a12.802 12.802 0 0 0-.027-.258c-.013-.096-.085-.143-.181-.136-.093.006-.188.01-.28-.005a.86.86 0 0 1-.714-.858v-.699c0-.125.061-.186.185-.186h.746c.09 0 .155-.055.156-.144.004-.194.004-.39 0-.584-.002-.102-.062-.153-.163-.153H9.6c-.117 0-.177-.063-.178-.18v-.83c0-.077-.021-.141-.101-.172-.004 0-.006-.004-.01-.007Z\",\"M8.524 8.468a.876.876 0 0 1-.058-.036H7.403c-.155.057-.183.177-.183.33.003 1.753.003 3.505.003 5.258v1.58a.2.2 0 0 0 .179.204.886.886 0 0 0 .144.011h.784a.65.65 0 0 0 .064 0c.127-.012.247-.074.244-.264a76.434 76.434 0 0 1-.002-1.038v-.443c.001-.042.002-.085.01-.126a.232.232 0 0 1 .373-.136.557.557 0 0 1 .075.073l.021.024.321.333c.473.492.947.984 1.418 1.478a.32.32 0 0 0 .25.104c.407-.003.815-.003 1.221 0 .119 0 .21-.037.252-.151.043-.11.018-.206-.067-.29a20.135 20.135 0 0 1-.261-.268l-.075-.079-1.152-1.179-.145-.149c-.162-.165-.325-.33-.485-.498a1.058 1.058 0 0 1-.136-.182c-.071-.12-.047-.248.079-.389.238-.267.477-.532.716-.797l.298-.331c.159-.175.316-.35.473-.526l.237-.264a.234.234 0 0 0 .041-.274c-.044-.097-.124-.136-.228-.136H10.72a.262.262 0 0 0-.208.087l-.24.255a73.27 73.27 0 0 0-.445.479l-.16.175c-.203.22-.407.439-.611.657a.23.23 0 0 1-.26.06.215.215 0 0 1-.152-.2 1.487 1.487 0 0 1-.008-.13V8.64a.2.2 0 0 0-.112-.171Zm14.054 7.357c.162-.012.326-.041.422-.202v-1.09c-.063-.13-.175-.146-.302-.141a1.046 1.046 0 0 1-.198-.018c-.28-.042-.448-.205-.5-.479a2.795 2.795 0 0 1-.058-.498c-.004-.633-.005-1.265-.005-1.898v-.862a.806.806 0 0 0-.012-.144.228.228 0 0 0-.226-.186c-.313-.001-.625-.002-.938 0-.142 0-.241.103-.246.245l-.006.067-.003.022c-.642-.34-1.305-.437-2-.268a2.724 2.724 0 0 0-1.652 1.155 2.767 2.767 0 0 0 .112 3.227c.37.476.842.809 1.424.97.944.26 1.799.064 2.567-.541l.043.055c.18.24.41.41.697.506.288.097.584.1.88.08Zm-2.041-2.761c0 .819-.676 1.388-1.379 1.372a1.361 1.361 0 0 1-1.37-1.375 1.366 1.366 0 0 1 1.383-1.37 1.366 1.366 0 0 1 1.366 1.373ZM1 12.876l.049-.299a2.771 2.771 0 0 1 2.355-2.257c.8-.101 1.518.1 2.138.61.556.458.89 1.051.98 1.767.12.957-.185 1.77-.89 2.424a2.62 2.62 0 0 1-1.56.697c-.766.076-1.455-.123-2.05-.612a2.698 2.698 0 0 1-.984-1.727 9.218 9.218 0 0 0-.025-.14L1 13.262v-.387Zm1.404.185a1.374 1.374 0 1 0 2.745.006 1.374 1.374 0 0 0-2.745-.006Zm11.659-4.622a.072.072 0 0 0-.007-.007h-1.063c-.151.071-.168.2-.167.35.002.76.002 1.52.002 2.28l.001 1.956c0 .169.013.34.038.506a2.767 2.767 0 0 0 2.434 2.312l.136.021h.331l.032-.005c.048-.008.096-.016.144-.021.165-.018.257-.14.234-.304a8.635 8.635 0 0 1-.023-.208l-.013-.12-.015-.142a19.892 19.892 0 0 0-.044-.406c-.018-.15-.133-.224-.283-.213-.146.01-.296.016-.44-.008a1.353 1.353 0 0 1-1.123-1.349 254.906 254.906 0 0 0 0-1.097c0-.197.097-.293.291-.293h1.174c.141 0 .242-.086.244-.226a25.54 25.54 0 0 0 0-.918c-.003-.16-.098-.24-.257-.24h-1.173c-.184-.002-.279-.099-.28-.283V8.721c0-.122-.034-.223-.16-.271-.005-.002-.009-.007-.013-.011Z\",\"M11.576 10.595a1.116 1.116 0 0 1-.073-.046H10.15c-.198.073-.233.226-.233.421.004 2.23.003 4.461.003 6.692v2.009a.254.254 0 0 0 .228.26c.06.01.122.014.183.014h1.08c.16-.015.314-.094.31-.336-.005-.44-.004-.88-.003-1.321v-.55l.001-.014a.78.78 0 0 1 .013-.16.295.295 0 0 1 .474-.174c.035.027.065.06.095.094l.028.03.408.424c.602.626 1.205 1.252 1.805 1.881.09.094.19.133.318.132.518-.004 1.037-.003 1.554 0 .15.001.267-.047.32-.192.055-.14.023-.262-.085-.368-.112-.112-.222-.228-.332-.343l-.095-.099-1.466-1.5-.186-.19c-.206-.21-.412-.42-.616-.635a1.352 1.352 0 0 1-.173-.23c-.091-.155-.06-.317.1-.496a254.339 254.339 0 0 1 1.29-1.436c.202-.222.402-.446.603-.67l.3-.335a.298.298 0 0 0 .054-.349c-.057-.123-.158-.173-.291-.173H14.37a.333.333 0 0 0-.265.111l-.304.324-.308.33a42.587 42.587 0 0 0-.464.502c-.258.28-.517.56-.777.836-.092.1-.206.12-.33.078a.274.274 0 0 1-.194-.255c-.005-.056-.01-.112-.01-.167v-3.802l-.001-.079a.256.256 0 0 0-.142-.218Zm17.886 9.364c.207-.015.416-.052.538-.257v-1.388c-.08-.164-.223-.185-.384-.18a1.344 1.344 0 0 1-.253-.021c-.355-.054-.57-.261-.637-.61a3.56 3.56 0 0 1-.073-.634c-.005-.805-.005-1.61-.006-2.415v-1.098a1.02 1.02 0 0 0-.016-.183.29.29 0 0 0-.287-.237c-.398-.001-.796-.002-1.194 0-.18 0-.307.13-.313.312a1.803 1.803 0 0 1-.008.085l-.003.028c-.817-.433-1.662-.556-2.547-.34a3.468 3.468 0 0 0-2.1 1.47 3.522 3.522 0 0 0 .141 4.106c.471.606 1.072 1.03 1.812 1.234 1.202.332 2.29.082 3.267-.688.023.029.04.049.055.07.23.306.522.522.887.645.367.123.743.127 1.121.1Zm-2.597-3.514a1.733 1.733 0 0 1-1.755 1.746 1.733 1.733 0 0 1-1.743-1.75 1.738 1.738 0 0 1 1.76-1.744 1.739 1.739 0 0 1 1.738 1.748ZM2 16.206l.062-.38c.26-1.496 1.497-2.684 2.998-2.873 1.017-.13 1.931.127 2.721.777a3.371 3.371 0 0 1 1.247 2.248c.153 1.218-.235 2.253-1.133 3.085a3.335 3.335 0 0 1-1.984.888c-.976.096-1.853-.157-2.611-.78a3.434 3.434 0 0 1-1.252-2.198l-.03-.179L2 16.698v-.492Zm1.787.236a1.75 1.75 0 0 0 1.715 1.752c.942.019 1.77-.738 1.78-1.714a1.742 1.742 0 0 0-1.737-1.783 1.744 1.744 0 0 0-1.758 1.745Zm14.839-5.884a.121.121 0 0 0-.009-.009h-1.353c-.193.091-.214.255-.213.446l.003 2.903.001 2.488c0 .215.017.433.05.645.211 1.418 1.347 2.607 2.75 2.885.115.022.23.04.346.057l.173.027h.422l.04-.006c.06-.01.122-.02.183-.028.21-.023.327-.177.3-.386a7.608 7.608 0 0 1-.031-.264l-.017-.154a91.51 91.51 0 0 1-.018-.18c-.018-.173-.035-.346-.056-.517-.024-.192-.17-.285-.36-.27-.187.011-.378.02-.56-.012a1.721 1.721 0 0 1-1.43-1.716V15.07c0-.25.123-.373.371-.373h1.493c.18 0 .308-.109.311-.287.007-.389.008-.779 0-1.168-.004-.204-.125-.306-.327-.306h-1.493c-.234-.002-.355-.126-.356-.36v-1.659c0-.155-.043-.284-.203-.345a.044.044 0 0 1-.017-.014Z\"]];","export default [[\"M4 1C1.866 1 0 2.497 0 4.5c0 .9.386 1.708 1 2.317V8.5a.5.5 0 0 0 .854.354l.999-1a4.542 4.542 0 0 0 1.52.13C5.02 9.2 6.439 10 8 10c.398 0 .783-.05 1.147-.146l1 1A.5.5 0 0 0 11 10.5V8.817c.614-.609 1-1.417 1-2.317C12 4.497 10.134 3 8 3c-.125 0-.25.005-.373.015C6.98 1.801 5.561 1 4 1Zm1.42 6.771C6.9 7.279 8 6.038 8 4.5c0-.17-.014-.337-.04-.5H8c1.732 0 3 1.189 3 2.5 0 .654-.304 1.264-.83 1.723A.5.5 0 0 0 10 8.6v.693l-.357-.357a.5.5 0 0 0-.514-.12A3.507 3.507 0 0 1 8 9c-1.134 0-2.069-.51-2.58-1.229Z\",\"M1 6c0-2.27 2.08-4 4.5-4 2.065 0 3.882 1.26 4.371 3.04A4.84 4.84 0 0 1 10.5 5C12.92 5 15 6.73 15 9c0 .961-.38 1.835-1 2.516V13.5a.5.5 0 0 1-.82.384l-1.293-1.077A5.02 5.02 0 0 1 10.5 13c-2.065 0-3.882-1.26-4.371-3.04a5.046 5.046 0 0 1-2.016-.153L2.82 10.884A.5.5 0 0 1 2 10.5V8.516C1.38 7.836 1 6.96 1 6Zm6.108 3.735C7.486 11.004 8.817 12 10.5 12c.472 0 .921-.08 1.33-.225a.5.5 0 0 1 .486.088l.684.57v-1.118a.5.5 0 0 1 .148-.355C13.686 10.426 14 9.74 14 9c0-1.596-1.502-3-3.5-3-.17 0-.337.01-.5.03-.014 1.73-1.236 3.141-2.892 3.705Z\",\"M1 8.5C1 4.76 4.521 2 8.5 2c3.427 0 6.515 2.048 7.305 5.005C19.657 7.142 23 9.855 23 13.5c0 1.736-.78 3.284-2 4.423V21a1 1 0 0 1-1.555.832l-2.85-1.9A8.728 8.728 0 0 1 15.5 20c-3.427 0-6.515-2.048-7.305-5.005-.267-.01-.53-.03-.79-.064l-2.85 1.901A1 1 0 0 1 3 16v-3.077c-1.22-1.14-2-2.687-2-4.423Zm9.247 6.32c.675 1.77 2.67 3.18 5.253 3.18a6.67 6.67 0 0 0 1.155-.1 1 1 0 0 1 .727.153L19 19.131V17.47a1 1 0 0 1 .37-.777c1.035-.84 1.63-1.978 1.63-3.192 0-2.217-2.073-4.281-5.023-4.484-.258 2.93-2.698 5.172-5.73 5.804Z\",\"M1 11.5C1 6.643 5.656 3 11 3c4.382 0 8.3 2.449 9.57 6.008.143-.005.286-.008.43-.008 5.344 0 10 3.643 10 8.5 0 1.936-.758 3.701-2 5.106V28a1 1 0 0 1-1.707.707l-3.138-3.138C23.161 25.85 22.1 26 21 26c-4.382 0-8.3-2.449-9.57-6.008a11.636 11.636 0 0 1-3.585-.423l-3.138 3.138A1 1 0 0 1 3 22v-5.394c-1.242-1.405-2-3.17-2-5.106Zm12.493 8.23C14.593 22.156 17.439 24 21 24a9.552 9.552 0 0 0 3.109-.511 1 1 0 0 1 1.033.238L27 25.586v-3.372a1 1 0 0 1 .283-.696C28.376 20.392 29 18.994 29 17.5c0-3.427-3.403-6.5-8-6.5h-.017c.011.165.017.332.017.5 0 4.081-3.287 7.305-7.507 8.23Z\"],[\"M4 1C1.866 1 0 2.497 0 4.5c0 .9.386 1.708 1 2.317V8.5a.5.5 0 0 0 .854.354l.999-1a4.542 4.542 0 0 0 1.52.13C5.022 9.2 6.439 10 8 10c.398 0 .783-.05 1.147-.146l1 1A.5.5 0 0 0 11 10.5V8.817c.614-.609 1-1.417 1-2.317C12 4.497 10.134 3 8 3c-.125 0-.25.005-.373.015C6.98 1.801 5.561 1 4 1ZM1 4.5C1 3.189 2.268 2 4 2s3 1.189 3 2.5S5.732 7 4 7c-.4 0-.782-.066-1.129-.184a.5.5 0 0 0-.514.12L2 7.293V6.6a.5.5 0 0 0-.17-.377C1.303 5.763 1 5.154 1 4.5ZM7.96 4c.026.163.04.33.04.5 0 1.538-1.101 2.779-2.58 3.271C5.933 8.491 6.867 9 8 9c.401 0 .782-.066 1.129-.184a.5.5 0 0 1 .514.12l.357.357V8.6a.5.5 0 0 1 .171-.377c.525-.46.83-1.069.83-1.723C11 5.189 9.731 4 8 4h-.04Z\",\"M5.5 2C3.08 2 1 3.73 1 6c0 .961.38 1.835 1 2.516V10.5a.5.5 0 0 0 .82.384l1.293-1.077a5.02 5.02 0 0 0 2.016.154C6.618 11.74 8.435 13 10.5 13c.483 0 .95-.068 1.387-.193l1.293 1.077A.5.5 0 0 0 14 13.5v-1.984c.62-.68 1-1.555 1-2.516 0-2.27-2.08-4-4.5-4a4.84 4.84 0 0 0-.629.04C9.382 3.26 7.565 2 5.5 2ZM2 6c0-1.596 1.502-3 3.5-3S9 4.404 9 6 7.498 9 5.5 9c-.472 0-.921-.08-1.33-.225a.5.5 0 0 0-.486.088L3 9.433V8.314a.5.5 0 0 0-.148-.355C2.314 7.426 2 6.74 2 6Zm8 .03c-.014 1.73-1.236 3.141-2.892 3.705C7.486 11.004 8.818 12 10.5 12c.473 0 .921-.08 1.33-.225a.5.5 0 0 1 .486.088l.684.57v-1.118a.5.5 0 0 1 .148-.355C13.686 10.426 14 9.74 14 9c0-1.596-1.502-3-3.5-3-.17 0-.337.01-.5.03Z\",\"M8.5 2C4.521 2 1 4.76 1 8.5c0 1.736.78 3.284 2 4.423V16a1 1 0 0 0 1.555.832l2.85-1.9c.26.032.523.053.79.063C8.985 17.952 12.073 20 15.5 20c.371 0 .737-.023 1.094-.069l2.851 1.901A1 1 0 0 0 21 21v-3.077c1.22-1.14 2-2.687 2-4.423 0-3.644-3.343-6.358-7.195-6.495C15.015 4.048 11.927 2 8.5 2ZM3 8.5C3 6.165 5.3 4 8.5 4S14 6.165 14 8.5 11.7 13 8.5 13a6.67 6.67 0 0 1-1.155-.1 1 1 0 0 0-.727.153L5 14.132v-1.663a1 1 0 0 0-.37-.776C3.595 10.852 3 9.713 3 8.5Zm12.977.516c-.258 2.93-2.698 5.172-5.73 5.804.675 1.77 2.67 3.18 5.253 3.18a6.67 6.67 0 0 0 1.155-.1 1 1 0 0 1 .727.153L19 19.131V17.47a1 1 0 0 1 .37-.777c1.035-.84 1.63-1.978 1.63-3.192 0-2.217-2.073-4.281-5.023-4.484Z\",\"M11 3C5.656 3 1 6.643 1 11.5c0 1.935.758 3.701 2 5.106V22a1 1 0 0 0 1.707.707l3.138-3.138a11.636 11.636 0 0 0 3.585.423C12.7 23.552 16.618 26 21 26c1.1 0 2.161-.15 3.155-.43l3.138 3.137A1 1 0 0 0 29 28v-5.394c1.242-1.405 2-3.17 2-5.106C31 12.643 26.344 9 21 9c-.144 0-.287.003-.43.008C19.3 5.448 15.382 3 11 3Zm-8 8.5C3 8.073 6.403 5 11 5c4.597 0 8 3.073 8 6.5S15.597 18 11 18a9.552 9.552 0 0 1-3.109-.511 1 1 0 0 0-1.033.238L5 19.586v-3.372a1 1 0 0 0-.283-.696C3.624 14.392 3 12.994 3 11.5Zm17.983-.5c.011.165.017.332.017.5 0 4.081-3.287 7.305-7.507 8.23C14.593 22.156 17.439 24 21 24a9.552 9.552 0 0 0 3.109-.511 1 1 0 0 1 1.033.238L27 25.586v-3.372a1 1 0 0 1 .283-.696C28.376 20.392 29 18.994 29 17.5c0-3.427-3.403-6.5-8-6.5h-.017Z\"]];","export default [[\"<path d='M5 1.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 1 0V2.707l3.146 3.147a.5.5 0 1 0 .708-.708L2.707 2H4.5a.5.5 0 0 0 .5-.5Z'></path><path d='M11 3.5A1.5 1.5 0 0 0 9.5 2h-3a.5.5 0 0 0 0 1h3a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 0-1 0v3A1.5 1.5 0 0 0 3.5 11h6A1.5 1.5 0 0 0 11 9.5v-6Z'></path>\",\"<path d='M7 1.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 1 0V2.707l6.146 6.147a.5.5 0 1 0 .708-.708L2.707 2H6.5a.5.5 0 0 0 .5-.5Z'></path><path d='M15 5.5A2.5 2.5 0 0 0 12.5 3h-4a.5.5 0 0 0 0 1h4A1.5 1.5 0 0 1 14 5.5v7a1.5 1.5 0 0 1-1.5 1.5h-7A1.5 1.5 0 0 1 4 12.5v-4a.5.5 0 0 0-1 0v4A2.5 2.5 0 0 0 5.5 15h7a2.5 2.5 0 0 0 2.5-2.5v-7Z'></path>\",\"<path d='M10 2a1 1 0 1 1 0 2H5.414l7.793 7.793a1 1 0 0 1-1.414 1.414L4 5.414V10a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1h7Z'></path><path d='M19 5a3 3 0 0 1 3 3v11a3 3 0 0 1-3 3H8a3 3 0 0 1-3-3v-7a1 1 0 1 1 2 0v7a1 1 0 0 0 1 1h11a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-7a1 1 0 1 1 0-2h7Z'></path>\",\"<path d='M14 4a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v9a1 1 0 1 0 2 0V6.414l10.793 10.793a1 1 0 0 0 1.414-1.414L6.414 5H13a1 1 0 0 0 1-1Z'></path><path d='M30 10a3 3 0 0 0-3-3H15a1 1 0 1 0 0 2h12a1 1 0 0 1 1 1v17a1 1 0 0 1-1 1H10a1 1 0 0 1-1-1V15a1 1 0 1 0-2 0v12a3 3 0 0 0 3 3h17a3 3 0 0 0 3-3V10Z'></path>\"]];","export default [[\"<path d='M7 1.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0V2.707L6.854 5.854a.5.5 0 1 1-.708-.708L9.293 2H7.5a.5.5 0 0 1-.5-.5Z'></path><path d='M1 3.5A1.5 1.5 0 0 1 2.5 2h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 1 1 0v3A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-6Z'></path>\",\"<path d='M9 1.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-1 0V2.707L7.854 8.854a.5.5 0 1 1-.708-.708L13.293 2H9.5a.5.5 0 0 1-.5-.5Z'></path><path d='M1 5.5A2.5 2.5 0 0 1 3.5 3h4a.5.5 0 0 1 0 1h-4A1.5 1.5 0 0 0 2 5.5v7A1.5 1.5 0 0 0 3.5 14h7a1.5 1.5 0 0 0 1.5-1.5v-4a.5.5 0 0 1 1 0v4a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 1 12.5v-7Z'></path>\",\"<path d='M14 2a1 1 0 1 0 0 2h4.586l-7.793 7.793a1 1 0 0 0 1.414 1.414L20 5.414V10a1 1 0 1 0 2 0V3a1 1 0 0 0-1-1h-7Z'></path><path d='M5 5a3 3 0 0 0-3 3v11a3 3 0 0 0 3 3h11a3 3 0 0 0 3-3v-7a1 1 0 1 0-2 0v7a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h7a1 1 0 1 0 0-2H5Z'></path>\",\"<path d='M18 4a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1v9a1 1 0 1 1-2 0V6.414L16.207 17.207a1 1 0 0 1-1.414-1.414L25.586 5H19a1 1 0 0 1-1-1Z'></path><path d='M2 10a3 3 0 0 1 3-3h12a1 1 0 1 1 0 2H5a1 1 0 0 0-1 1v17a1 1 0 0 0 1 1h17a1 1 0 0 0 1-1V15a1 1 0 1 1 2 0v12a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V10Z'></path>\"]];","export default [[\"M1.5 1a.5.5 0 0 0 0 1h2.64l2.886 8.658A.5.5 0 0 0 7.5 11h3a.5.5 0 0 0 0-1H7.86L4.974 1.342A.5.5 0 0 0 4.5 1h-3Zm6 0a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Z\",\"M2.5 2a.5.5 0 0 0 0 1h3.618l2.9 10.632A.5.5 0 0 0 9.5 14h4a.5.5 0 0 0 0-1H9.882l-2.9-10.632A.5.5 0 0 0 6.5 2h-4Zm7 0a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Z\",\"M4 3a1 1 0 0 0 0 2h5.22l3.81 15.242A1 1 0 0 0 14 21h6a1 1 0 1 0 0-2h-5.22L10.97 3.757A1 1 0 0 0 10 3H4Zm11 0a1 1 0 1 0 0 2h5a1 1 0 1 0 0-2h-5Z\",\"M5 4a1 1 0 0 0 0 2h7.236l5.8 21.263A1 1 0 0 0 19 28h8a1 1 0 1 0 0-2h-7.236l-5.8-21.263A1 1 0 0 0 13 4H5Zm14 0a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2h-8Z\"]];","export default [[\"M7.387.683a.5.5 0 0 0-.868.454L7.337 4H5.5a.5.5 0 0 0-.384.82l5 6a.5.5 0 0 0 .852-.496L9.722 7H11.5a.5.5 0 0 0 .387-.817l-4.5-5.5ZM2.854 5.146a.5.5 0 0 1 0 .708L1.707 7H4.5a.5.5 0 0 1 0 1H1.707l1.147 1.146a.5.5 0 1 1-.708.708l-2-2a.5.5 0 0 1 0-.708l2-2a.5.5 0 0 1 .708 0Z\",\"M9.315 1.035a.5.5 0 0 1 .609.2l5 8A.5.5 0 0 1 14.5 10h-2.39l.88 4.402a.5.5 0 0 1-.914.363l-5-8A.5.5 0 0 1 7.5 6h2.39l-.88-4.402a.5.5 0 0 1 .305-.563ZM3.854 7.146a.5.5 0 0 1 0 .708L2.707 9H6.5a.5.5 0 0 1 0 1H2.707l1.147 1.146a.5.5 0 0 1-.708.708l-2-2a.5.5 0 0 1 0-.708l2-2a.5.5 0 0 1 .708 0Z\",\"M13.577 1.094a1 1 0 0 1 1.232.318l8 11A1 1 0 0 1 22 14h-3.753l1.73 7.783a1 1 0 0 1-1.809.772l-8-12A1 1 0 0 1 11 9h3.72l-1.69-6.757a1 1 0 0 1 .547-1.15Zm-6.87 8.199a1 1 0 0 1 0 1.414L4.414 13H10a1 1 0 1 1 0 2H4.414l2.293 2.293a1 1 0 1 1-1.414 1.414l-4-4a1 1 0 0 1 0-1.414l4-4a1 1 0 0 1 1.414 0Z\",\"M17.78 2.375a1 1 0 0 0-1.738.912L18.656 12H13a1 1 0 0 0-.8 1.6l12 16a1 1 0 0 0 1.765-.863L23.309 19H29a1 1 0 0 0 .78-1.625l-12-15ZM7.707 14.707a1 1 0 1 0-1.414-1.414l-4 4a1 1 0 0 0 0 1.414l4 4a1 1 0 0 0 1.414-1.414L5.414 19H12a1 1 0 1 0 0-2H5.414l2.293-2.293Z\"],[\"M7.387.683a.5.5 0 0 0-.868.454L7.337 4H5.5a.5.5 0 0 0-.384.82l5 6a.5.5 0 0 0 .852-.496L9.722 7H11.5a.5.5 0 0 0 .387-.817l-4.5-5.5ZM8.663 5l-.517-1.81L10.445 6H8.279l.718 1.915L6.567 5h2.096Zm-5.809.146a.5.5 0 0 1 0 .708L1.707 7H4.5a.5.5 0 0 1 0 1H1.707l1.147 1.146a.5.5 0 1 1-.708.708l-2-2a.5.5 0 0 1 0-.708l2-2a.5.5 0 0 1 .708 0Z\",\"M9.924 1.235a.5.5 0 0 0-.914.363L9.89 6H7.5a.5.5 0 0 0-.424.765l5 8a.5.5 0 0 0 .914-.363L12.11 10h2.39a.5.5 0 0 0 .424-.765l-5-8ZM11.11 7l-.583-2.913L13.597 9H10.89l.583 2.913L8.403 7h2.707Zm-7.256.146a.5.5 0 0 1 0 .708L2.707 9H6.5a.5.5 0 0 1 0 1H2.707l1.147 1.146a.5.5 0 0 1-.708.708l-2-2a.5.5 0 0 1 0-.708l2-2a.5.5 0 0 1 .708 0Z\",\"M6.707 10.707a1 1 0 1 0-1.414-1.414l-4 4a1 1 0 0 0 0 1.414l4 4a1 1 0 0 0 1.414-1.414L4.414 15H10a1 1 0 1 0 0-2H4.414l2.293-2.293Zm6.87-9.613a1 1 0 0 1 1.232.318l8 11A1 1 0 0 1 22 14h-3.753l1.73 7.783a1 1 0 0 1-1.81.772l-8-12A1 1 0 0 1 11 9h3.72l-1.69-6.757a1 1 0 0 1 .547-1.15Zm2.641 5.656L17.281 11h-4.412l3.994 5.991L15.753 12h4.283l-3.818-5.25Z\",\"M17.78 2.375a1 1 0 0 0-1.738.912L18.656 12H13a1 1 0 0 0-.8 1.6l12 16a1 1 0 0 0 1.765-.863L23.309 19H29a1 1 0 0 0 .78-1.625l-12-15ZM21.345 14 19.44 7.65 26.92 17h-6.228l1.966 7.21L15 14h6.344Zm-13.637-.707a1 1 0 0 1 0 1.414L5.414 17H12a1 1 0 1 1 0 2H5.414l2.293 2.293a1 1 0 1 1-1.414 1.414l-4-4a1 1 0 0 1 0-1.414l4-4a1 1 0 0 1 1.414 0Z\"]];","export default [[\"M4.613.683a.5.5 0 0 1 .868.454L4.663 4H6.5a.5.5 0 0 1 .384.82l-5 6a.5.5 0 0 1-.852-.496L2.279 7H.5a.5.5 0 0 1-.387-.817l4.5-5.5Zm4.533 4.463a.5.5 0 0 0 0 .708L10.293 7H7.5a.5.5 0 0 0 0 1h2.793L9.146 9.146a.5.5 0 1 0 .708.708l2-2a.5.5 0 0 0 0-.708l-2-2a.5.5 0 0 0-.708 0Z\",\"M6.076 1.235a.5.5 0 0 1 .914.363L6.11 6H8.5a.5.5 0 0 1 .424.765l-5 8a.5.5 0 0 1-.914-.363L3.89 10H1.5a.5.5 0 0 1-.424-.765l5-8Zm6.07 6.619a.5.5 0 0 1 .708-.708l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L13.293 10H9.5a.5.5 0 0 1 0-1h3.793l-1.147-1.146Z\",\"M9.191 1.412a1 1 0 0 1 1.78.83L9.28 9H13a1 1 0 0 1 .832 1.555l-8 12a1 1 0 0 1-1.808-.772L5.754 14H2a1 1 0 0 1-.809-1.588l8-11Zm8.102 7.881a1 1 0 0 1 1.414 0l4 4a1 1 0 0 1 0 1.414l-4 4a1 1 0 0 1-1.414-1.414L19.586 15H14a1 1 0 1 1 0-2h5.586l-2.293-2.293a1 1 0 0 1 0-1.414Z\",\"M15.464 2.114a1 1 0 0 0-1.245.261l-12 15A1 1 0 0 0 3 19h5.69l-2.655 9.737A1 1 0 0 0 7.8 29.6l12-16A1 1 0 0 0 19 12h-5.656l2.614-8.713a1 1 0 0 0-.494-1.173Zm8.829 11.179a1 1 0 0 0 0 1.414L26.586 17H20a1 1 0 1 0 0 2h6.586l-2.293 2.293a1 1 0 0 0 1.414 1.414l4-4a1 1 0 0 0 0-1.414l-4-4a1 1 0 0 0-1.414 0Z\"],[\"M5.232.557a.5.5 0 0 0-.619.126l-4.5 5.5A.5.5 0 0 0 .5 7h1.779l-1.247 3.324a.5.5 0 0 0 .852.496l5-6A.5.5 0 0 0 6.5 4H4.663l.818-2.863a.5.5 0 0 0-.25-.58ZM3.854 3.19 3.337 5h2.095L3.003 7.915 3.722 6H1.555l2.3-2.81Zm5.292 1.956a.5.5 0 0 0 0 .708L10.293 7H7.5a.5.5 0 0 0 0 1h2.793L9.146 9.146a.5.5 0 1 0 .708.708l2-2a.5.5 0 0 0 0-.708l-2-2a.5.5 0 0 0-.708 0Z\",\"M6.076 1.235a.5.5 0 0 1 .914.363L6.11 6H8.5a.5.5 0 0 1 .424.765l-5 8a.5.5 0 0 1-.914-.363L3.89 10H1.5a.5.5 0 0 1-.424-.765l5-8ZM4.89 7l.583-2.913L2.403 9H5.11l-.583 2.913L7.597 7H4.89Zm7.256.146a.5.5 0 0 0 0 .708L13.293 9H9.5a.5.5 0 0 0 0 1h3.793l-1.147 1.146a.5.5 0 0 0 .708.708l2-2a.5.5 0 0 0 0-.708l-2-2a.5.5 0 0 0-.708 0Z\",\"M9.191 1.412a1 1 0 0 1 1.78.83L9.28 9H13a1 1 0 0 1 .832 1.555l-8 12a1 1 0 0 1-1.808-.772L5.754 14H2a1 1 0 0 1-.809-1.588l8-11ZM6.72 11l1.063-4.25L3.964 12h4.283l-1.11 4.991L11.133 11H6.719Zm10.573-1.707a1 1 0 0 0 0 1.414L19.586 13H14a1 1 0 1 0 0 2h5.586l-2.293 2.293a1 1 0 0 0 1.414 1.414l4-4a1 1 0 0 0 0-1.414l-4-4a1 1 0 0 0-1.414 0Z\",\"M14.22 2.375a1 1 0 0 1 1.738.912L13.344 12H19a1 1 0 0 1 .8 1.6l-12 16a1 1 0 0 1-1.765-.863L8.691 19H3a1 1 0 0 1-.78-1.625l12-15ZM10.655 14l1.905-6.35L5.081 17h6.228l-1.966 7.21L17 14h-6.344Zm15.052-.707a1 1 0 0 0-1.414 1.414L26.586 17H20a1 1 0 1 0 0 2h6.586l-2.293 2.293a1 1 0 0 0 1.414 1.414l4-4a1 1 0 0 0 0-1.414l-4-4Z\"]];","export default [[\"<path d='M2.5 1h7a.5.5 0 0 1 .447.276l1 2A.5.5 0 0 1 10.5 4H10v.535A3.982 3.982 0 0 0 8 4v-.382l-.5-1-.5 1v.508A4.002 4.002 0 0 0 5.354 11H3a1 1 0 0 1-1-1V4h-.5a.5.5 0 0 1-.447-.724l1-2A.5.5 0 0 1 2.5 1Zm7.191 2-.5-1h-.882l.5 1h.882Zm-3.5 0 .5-1H2.809l-.5 1h3.882Z'></path><path d='M11 8a2.98 2.98 0 0 1-.555 1.738l1.409 1.408a.5.5 0 1 1-.708.707l-1.408-1.408A3 3 0 1 1 11 8Zm-3 2a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z'></path>\",\"<path d='M3 1a.5.5 0 0 0-.4.2l-1.5 2a.5.5 0 0 0 .4.8H3v9a1 1 0 0 0 1 1h3.671A4.5 4.5 0 0 1 10 6.028V3l.5-.667L11 3v3.027c.734.082 1.416.34 2 .73V4h1.5a.5.5 0 0 0 .4-.8l-1.5-2A.5.5 0 0 0 13 1H3Zm9.25 2-.75-1h1.25l.75 1h-1.25Zm-3.5 0H2.5l.75-1H9.5l-.75 1Z'></path><path d='M14 10.5c0 .786-.26 1.512-.697 2.096l2.55 2.55a.5.5 0 0 1-.707.708l-2.55-2.55A3.5 3.5 0 1 1 14 10.5ZM10.5 13a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z'></path>\",\"<path d='M5 2a1 1 0 0 0-.8.4l-3 4A1 1 0 0 0 2 8h2v12a2 2 0 0 0 2 2h5.756A7.503 7.503 0 0 1 14 8.15V6l1-1.333L16 6v2.016A7.462 7.462 0 0 1 20 9.5V8h2a1 1 0 0 0 .8-1.6l-3-4A1 1 0 0 0 19 2H5Zm13.5 4L17 4h1.5L20 6h-1.5Zm-7 0H4l1.5-2H13l-1.5 2Z'></path><path d='M10 15.5a5.5 5.5 0 1 1 10.032 3.117l3.675 3.676a1 1 0 0 1-1.414 1.414l-3.675-3.675A5.5 5.5 0 0 1 10 15.5Zm5.5-3.5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M6 3a1 1 0 0 0-.857.486l-3 5A1 1 0 0 0 3 10h2v18a2 2 0 0 0 2 2h18a2 2 0 0 0 .65-.108l-1.646-1.645a8.5 8.5 0 1 1-4.146-16.223V8.52l1.222-2.443.778 1.297v4.734A8.49 8.49 0 0 1 27 15.023V10h2a1 1 0 0 0 .858-1.514l-3-5A1 1 0 0 0 26 3H6Zm18.566 5-1.8-3h2.668l1.8 3h-2.668Zm-6.684 0H4.766l1.8-3h12.816l-1.5 3Z'></path><path d='M14 20.5a6.5 6.5 0 1 1 11.749 3.835l4.958 4.958a1 1 0 0 1-1.414 1.414l-4.958-4.958A6.5 6.5 0 0 1 14 20.5Zm6.5-4.5a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9Z'></path>\"],[\"<path d='M2.5 1a.5.5 0 0 0-.447.276l-1 2A.5.5 0 0 0 1.5 4H2v6a1 1 0 0 0 1 1h2.354a4.019 4.019 0 0 1-.819-1H3V4h3.5a.5.5 0 0 0 .447-.276L7 3.618v.508C7.32 4.044 7.655 4 8 4v-.382l.053.106A.5.5 0 0 0 8.5 4H9v.126c.355.091.69.23 1 .41V4h.5a.5.5 0 0 0 .447-.724l-1-2A.5.5 0 0 0 9.5 1h-7Zm6.309 2-.5-1h.882l.5 1h-.882Zm-6-1h3.882l-.5 1H2.309l.5-1Z'></path><path d='M11 8a2.98 2.98 0 0 1-.555 1.738l1.409 1.408a.5.5 0 1 1-.708.707l-1.408-1.408A3 3 0 1 1 11 8Zm-3 2a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z'></path>\",\"<path d='M3 1a.5.5 0 0 0-.4.2l-1.5 2a.5.5 0 0 0 .4.8H3v9a1 1 0 0 0 1 1h3.671a4.526 4.526 0 0 1-.913-1H4V4h5a.5.5 0 0 0 .4-.2L10 3v3.027a4.552 4.552 0 0 1 1 0V3l.6.8a.5.5 0 0 0 .4.2v2.256c.356.126.691.295 1 .502V4h1.5a.5.5 0 0 0 .4-.8l-1.5-2A.5.5 0 0 0 13 1H3Zm9.25 2-.75-1h1.25l.75 1h-1.25Zm-9-1H9.5l-.75 1H2.5l.75-1Z'></path><path d='M14 10.5c0 .786-.26 1.512-.697 2.096l2.55 2.55a.5.5 0 0 1-.707.708l-2.55-2.55A3.5 3.5 0 1 1 14 10.5ZM10.5 13a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z'></path>\",\"<path d='M5 2a1 1 0 0 0-.8.4l-3 4A1 1 0 0 0 2 8h2v12a2 2 0 0 0 2 2h5.756a7.537 7.537 0 0 1-2.257-2H6V8h6a1 1 0 0 0 .8-.4L14 6v2.15a7.535 7.535 0 0 1 2-.134V6l1.2 1.6a1 1 0 0 0 .8.4v.427c.724.256 1.397.62 2 1.072V8h2a1 1 0 0 0 .8-1.6l-3-4A1 1 0 0 0 19 2H5Zm13.5 4L17 4h1.5L20 6h-1.5Zm-13-2H13l-1.5 2H4l1.5-2Z'></path><path d='M10 15.5a5.5 5.5 0 1 1 10.032 3.117l3.675 3.676a1 1 0 0 1-1.414 1.414l-3.675-3.675A5.5 5.5 0 0 1 10 15.5Zm5.5-3.5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M6 3a1 1 0 0 0-.857.486l-3 5A1 1 0 0 0 3 10h2v18a2 2 0 0 0 2 2h18a2 2 0 0 0 .65-.108l-1.646-1.645A8.47 8.47 0 0 1 20.5 29a8.462 8.462 0 0 1-4.004-1H7V10h11.5a1 1 0 0 0 .894-.553l.464-.928v3.505a8.571 8.571 0 0 1 2 .084V7.374l1.284 2.14A1 1 0 0 0 24 10h1v3.288a8.544 8.544 0 0 1 2 1.735V10h2a1 1 0 0 0 .858-1.514l-3-5A1 1 0 0 0 26 3H6Zm21.234 5h-2.668l-1.8-3h2.668l1.8 3Zm-9.352 0H4.766l1.8-3h12.816l-1.5 3Z'></path><path d='M14 20.5a6.5 6.5 0 1 1 11.749 3.835l4.958 4.958a1 1 0 0 1-1.414 1.414l-4.958-4.958A6.5 6.5 0 0 1 14 20.5Zm6.5-4.5a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9Z'></path>\"]];","export default [[\"M5.47 0C2.446 0 0 2.465 0 5.5S2.446 11 5.47 11A1.53 1.53 0 0 0 7 9.47v-.637c0-.46.373-.833.833-.833H8.5A2.5 2.5 0 0 0 11 5.5C11 2.458 8.486 0 5.47 0ZM5 3.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm-2 2a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM7.5 4a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\",\"M7.961 1C4.114 1 1 4.137 1 8s3.114 7 6.961 7A2.039 2.039 0 0 0 10 12.961v-.794c0-.645.522-1.167 1.167-1.167H12a3 3 0 0 0 3-3c0-3.87-3.199-7-7.039-7ZM8 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm4 1a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM4 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"M11.444 1C5.67 1 1 5.707 1 11.5S5.67 22 11.444 22A3.557 3.557 0 0 0 15 18.444v-.819c0-.898.727-1.625 1.625-1.625h.875a4.5 4.5 0 0 0 4.5-4.5C22 5.691 17.201 1 11.444 1ZM8.5 8a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM16 6.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm3 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm-12 1a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z\",\"M15.923 2C8.228 2 2 8.274 2 16s6.228 14 13.923 14A4.077 4.077 0 0 0 20 25.923v-.805A3.118 3.118 0 0 1 23.118 22H24a6 6 0 0 0 6-6c0-7.742-6.398-14-14.077-14ZM19 10a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm-5-1a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm-4 5a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm16-1a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z\"],[\"M1 5.5C1 3.012 3.004 1 5.47 1 7.944 1 10 3.02 10 5.5A1.5 1.5 0 0 1 8.5 7h-.667C6.821 7 6 7.82 6 8.833v.637a.53.53 0 0 1-.53.53C3.004 10 1 7.988 1 5.5ZM5.47 0C2.446 0 0 2.465 0 5.5S2.446 11 5.47 11A1.53 1.53 0 0 0 7 9.47v-.637c0-.46.373-.833.833-.833H8.5A2.5 2.5 0 0 0 11 5.5C11 2.458 8.486 0 5.47 0ZM4.5 4a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm-2 2a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1ZM8 3.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\",\"M2 8c0-3.317 2.672-6 5.961-6C11.26 2 14 4.691 14 8a2 2 0 0 1-2 2h-.833C9.97 10 9 10.97 9 12.167v.794C9 13.535 8.535 14 7.961 14 4.671 14 2 11.316 2 8Zm5.961-7C4.114 1 1 4.137 1 8s3.114 7 6.961 7A2.039 2.039 0 0 0 10 12.961v-.794c0-.645.522-1.167 1.167-1.167H12a3 3 0 0 0 3-3c0-3.87-3.199-7-7.039-7ZM7 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm4 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM5 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\",\"M11.444 3C6.785 3 3 6.8 3 11.5S6.786 20 11.444 20c.86 0 1.556-.697 1.556-1.556v-.819A3.625 3.625 0 0 1 16.625 14h.875a2.5 2.5 0 0 0 2.5-2.5C20 6.815 16.116 3 11.444 3ZM1 11.5C1 5.707 5.67 1 11.444 1 17.2 1 22 5.691 22 11.5a4.5 4.5 0 0 1-4.5 4.5h-.875c-.898 0-1.625.727-1.625 1.625v.819A3.557 3.557 0 0 1 11.444 22C5.67 22 1 17.293 1 11.5Zm18-1a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM14.5 8a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM10 6.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM5.5 13a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\",\"M15.923 4C9.343 4 4 9.367 4 16s5.344 12 11.923 12C17.07 28 18 27.07 18 25.923v-.805A5.118 5.118 0 0 1 23.118 20H24a4 4 0 0 0 4-4c0-6.618-5.483-12-12.077-12ZM2 16C2 8.274 8.228 2 15.923 2 23.602 2 30 8.258 30 16a6 6 0 0 1-6 6h-.882A3.118 3.118 0 0 0 20 25.118v.805A4.077 4.077 0 0 1 15.923 30C8.228 30 2 23.726 2 16Zm8-2a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm2-3a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm9-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm3 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"]];","export default [[\"M1.5 0A1.5 1.5 0 0 0 0 1.5v8A1.5 1.5 0 0 0 1.5 11h8A1.5 1.5 0 0 0 11 9.5v-8A1.5 1.5 0 0 0 9.5 0h-8ZM1 1.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5V7H1V1.5Z\",\"M2.5 1A1.5 1.5 0 0 0 1 2.5v10A1.5 1.5 0 0 0 2.5 14h10a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 12.5 1h-10ZM2 2.5a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5V9H2V2.5Z\",\"M5 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H5ZM4 5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v9H4V5Z\",\"M6 3a3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6Zm21 16V6a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v13h22Z\"],[\"M0 1.5A1.5 1.5 0 0 1 1.5 0h8A1.5 1.5 0 0 1 11 1.5v8A1.5 1.5 0 0 1 9.5 11h-8A1.5 1.5 0 0 1 0 9.5v-8ZM1.5 1a.5.5 0 0 0-.5.5V7h9V1.5a.5.5 0 0 0-.5-.5h-8ZM10 8H1v1.5a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5V8Z\",\"M1 2.5A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v10a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 1 12.5v-10ZM2.5 2a.5.5 0 0 0-.5.5V9h11V2.5a.5.5 0 0 0-.5-.5h-10ZM13 10H2v2.5a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5V10Z\",\"M2 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v9h16V5a1 1 0 0 0-1-1H5Zm15 12H4v3a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-3Z\",\"M6 3a3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6Zm21 16V6a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v13h22ZM5 21v5a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1v-5H5Z\"]];","export default [[\"M11 9.5A1.5 1.5 0 0 1 9.5 11h-8A1.5 1.5 0 0 1 0 9.5v-8A1.5 1.5 0 0 1 1.5 0h8A1.5 1.5 0 0 1 11 1.5v8Zm-1.5.5a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5H4v9h5.5Z\",\"M14 12.5a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 1 12.5v-10A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v10Zm-1.5.5a.5.5 0 0 0 .5-.5v-10a.5.5 0 0 0-.5-.5H6v11h6.5Z\",\"M22 19a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14Zm-3 1a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1h-9v16h9Z\",\"M3 26a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6a2.982 2.982 0 0 0-1.592.457A2.998 2.998 0 0 0 3 6v20Zm10 1V5h13a1 1 0 0 1 1 1v20a1 1 0 0 1-1 1H13Z\"],[\"M9.5 11A1.5 1.5 0 0 0 11 9.5v-8A1.5 1.5 0 0 0 9.5 0h-8A1.5 1.5 0 0 0 0 1.5v8A1.5 1.5 0 0 0 1.5 11h8Zm.5-1.5a.5.5 0 0 1-.5.5H4V1h5.5a.5.5 0 0 1 .5.5v8ZM3 1v9H1.5a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 .5-.5H3Z\",\"M12.5 14a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 12.5 1h-10A1.5 1.5 0 0 0 1 2.5v10A1.5 1.5 0 0 0 2.5 14h10Zm.5-1.5a.5.5 0 0 1-.5.5H6V2h6.5a.5.5 0 0 1 .5.5v10ZM5 2v11H2.5a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5H5Z\",\"M19 22a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H5a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h14Zm1-3a1 1 0 0 1-1 1h-9V4h9a1 1 0 0 1 1 1v14ZM8 4v16H5a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3Z\",\"M6 29a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H6Zm7-2h13a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H13v22Zm-8-1a1 1 0 0 0 1 1h5V5H6a1 1 0 0 0-1 1v20Z\"]];","export default [[\"<path d='M7.854 3.854a.5.5 0 1 0-.708-.708l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 1 0 .708-.708L6.707 6H8.5a.5.5 0 0 0 0-1H6.707l1.147-1.146Z'></path><path d='M9.5 11A1.5 1.5 0 0 0 11 9.5v-8A1.5 1.5 0 0 0 9.5 0h-8A1.5 1.5 0 0 0 0 1.5v8A1.5 1.5 0 0 0 1.5 11h8Zm.5-1.5a.5.5 0 0 1-.5.5H4V1h5.5a.5.5 0 0 1 .5.5v8Z'></path>\",\"<path d='M9.854 5.854a.5.5 0 0 0-.708-.708l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 0 0 .708-.708L8.707 8H11.5a.5.5 0 0 0 0-1H8.707l1.147-1.146Z'></path><path d='M12.5 14a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 12.5 1h-10A1.5 1.5 0 0 0 1 2.5v10A1.5 1.5 0 0 0 2.5 14h10Zm.5-1.5a.5.5 0 0 1-.5.5H6V2h6.5a.5.5 0 0 1 .5.5v10Z'></path>\",\"<path d='M15.707 9.707a1 1 0 0 0-1.414-1.414l-3 3a1 1 0 0 0 0 1.414l3 3a1 1 0 0 0 1.414-1.414L14.414 13H18a1 1 0 1 0 0-2h-3.586l1.293-1.293Z'></path><path d='M19 22a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H5a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h14Zm1-3a1 1 0 0 1-1 1h-9V4h9a1 1 0 0 1 1 1v14Z'></path>\",\"<path d='M20.707 12.707a1 1 0 0 0-1.414-1.414l-4 4a1 1 0 0 0 0 1.414l4 4a1 1 0 0 0 1.414-1.414L18.414 17H24a1 1 0 1 0 0-2h-5.586l2.293-2.293Z'></path><path d='M6 29a3 3 0 0 1-3-3V6a2.999 2.999 0 0 1 3-3h20a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H6Zm7-24v22h13a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H13Z'></path>\"],[\"<path d='M7.854 3.854a.5.5 0 1 0-.708-.708l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 1 0 .708-.708L6.707 6H8.5a.5.5 0 0 0 0-1H6.707l1.147-1.146Z'></path><path d='M11 9.5A1.5 1.5 0 0 1 9.5 11h-8A1.5 1.5 0 0 1 0 9.5v-8A1.5 1.5 0 0 1 1.5 0h8A1.5 1.5 0 0 1 11 1.5v8Zm-1.5.5a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5H4v9h5.5ZM3 10V1H1.5a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5H3Z'></path>\",\"<path d='M9.854 5.854a.5.5 0 0 0-.708-.708l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 0 0 .708-.708L8.707 8H11.5a.5.5 0 0 0 0-1H8.707l1.147-1.146Z'></path><path d='M14 12.5a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 1 12.5v-10A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v10Zm-1.5.5a.5.5 0 0 0 .5-.5v-10a.5.5 0 0 0-.5-.5H6v11h6.5ZM5 13V2H2.5a.5.5 0 0 0-.5.5v10a.5.5 0 0 0 .5.5H5Z'></path>\",\"<path d='M15.707 9.707a1 1 0 0 0-1.414-1.414l-3 3a1 1 0 0 0 0 1.414l3 3a1 1 0 0 0 1.414-1.414L14.414 13H18a1 1 0 1 0 0-2h-3.586l1.293-1.293Z'></path><path d='M22 19a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14Zm-3 1a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1h-9v16h9ZM8 20V4H5a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h3Z'></path>\",\"<path d='M20.707 12.707a1 1 0 0 0-1.414-1.414l-4 4a1 1 0 0 0 0 1.414l4 4a1 1 0 0 0 1.414-1.414L18.414 17H24a1 1 0 1 0 0-2h-5.586l2.293-2.293Z'></path><path d='M3 26a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6a3 3 0 0 0-3 3v20Zm23 1H13V5h13a1 1 0 0 1 1 1v20a1 1 0 0 1-1 1ZM6 27a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h5v22H6Z'></path>\"]];","export default [[\"<path d='M6.146 3.854a.5.5 0 1 1 .708-.708l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 1 1-.708-.708L7.293 6H5.5a.5.5 0 0 1 0-1h1.793L6.146 3.854Z'></path><path d='M9.5 11A1.5 1.5 0 0 0 11 9.5v-8A1.5 1.5 0 0 0 9.5 0h-8A1.5 1.5 0 0 0 0 1.5v8A1.5 1.5 0 0 0 1.5 11h8Zm.5-1.5a.5.5 0 0 1-.5.5H4V1h5.5a.5.5 0 0 1 .5.5v8Z'></path>\",\"<path d='M9.146 5.854a.5.5 0 1 1 .708-.708l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L10.293 8H7.5a.5.5 0 0 1 0-1h2.793L9.146 5.854Z'></path><path d='M12.5 14a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 12.5 1h-10A1.5 1.5 0 0 0 1 2.5v10A1.5 1.5 0 0 0 2.5 14h10Zm.5-1.5a.5.5 0 0 1-.5.5H6V2h6.5a.5.5 0 0 1 .5.5v10Z'></path>\",\"<path d='M14.293 9.707a1 1 0 0 1 1.414-1.414l3 3a1 1 0 0 1 0 1.414l-3 3a1 1 0 0 1-1.414-1.414L15.586 13H12a1 1 0 1 1 0-2h3.586l-1.293-1.293Z'></path><path d='M19 22a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H5a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h14Zm1-3a1 1 0 0 1-1 1h-9V4h9a1 1 0 0 1 1 1v14Z'></path>\",\"<path d='M19.293 12.707a1 1 0 0 1 1.414-1.414l4 4a1 1 0 0 1 0 1.414l-4 4a1 1 0 0 1-1.414-1.414L21.586 17H16a1 1 0 1 1 0-2h5.586l-2.293-2.293Z'></path><path d='M6 29a3 3 0 0 1-3-3V6a2.999 2.999 0 0 1 3-3h20a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H6Zm7-24v22h13a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H13Z'></path>\"],[\"<path d='M6.146 3.854a.5.5 0 1 1 .708-.708l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 1 1-.708-.708L7.293 6H5.5a.5.5 0 0 1 0-1h1.793L6.146 3.854Z'></path><path d='M11 9.5A1.5 1.5 0 0 1 9.5 11h-8A1.5 1.5 0 0 1 0 9.5v-8A1.5 1.5 0 0 1 1.5 0h8A1.5 1.5 0 0 1 11 1.5v8Zm-1.5.5a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5H4v9h5.5ZM3 10V1H1.5a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5H3Z'></path>\",\"<path d='M9.146 5.854a.5.5 0 1 1 .708-.708l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L10.293 8H7.5a.5.5 0 0 1 0-1h2.793L9.146 5.854Z'></path><path d='M14 12.5a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 1 12.5v-10A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v10Zm-1.5.5a.5.5 0 0 0 .5-.5v-10a.5.5 0 0 0-.5-.5H6v11h6.5ZM5 13V2H2.5a.5.5 0 0 0-.5.5v10a.5.5 0 0 0 .5.5H5Z'></path>\",\"<path d='M14.293 9.707a1 1 0 0 1 1.414-1.414l3 3a1 1 0 0 1 0 1.414l-3 3a1 1 0 0 1-1.414-1.414L15.586 13H12a1 1 0 1 1 0-2h3.586l-1.293-1.293Z'></path><path d='M22 19a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14Zm-3 1a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1h-9v16h9ZM8 20V4H5a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h3Z'></path>\",\"<path d='M19.293 12.707a1 1 0 0 1 1.414-1.414l4 4a1 1 0 0 1 0 1.414l-4 4a1 1 0 0 1-1.414-1.414L21.586 17H16a1 1 0 1 1 0-2h5.586l-2.293-2.293Z'></path><path d='M3 26a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6a3 3 0 0 0-3 3v20Zm23 1H13V5h13a1 1 0 0 1 1 1v20a1 1 0 0 1-1 1ZM6 27a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h5v22H6Z'></path>\"]];","export default [[\"M1.5 11A1.5 1.5 0 0 1 0 9.5v-8A1.5 1.5 0 0 1 1.5 0h8A1.5 1.5 0 0 1 11 1.5v8A1.5 1.5 0 0 1 9.5 11h-8ZM5 9.5a.5.5 0 0 0 1 0v-8a.5.5 0 0 0-1 0v8Z\",\"M2.5 14A1.5 1.5 0 0 1 1 12.5v-10A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v10a1.5 1.5 0 0 1-1.5 1.5h-10ZM7 12.5a.5.5 0 0 0 1 0v-10a.5.5 0 0 0-1 0v10Z\",\"M5 22a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5Zm6-3a1 1 0 1 0 2 0V5a1 1 0 1 0-2 0v14Z\",\"M6 29a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H6Zm9-3a1 1 0 1 0 2 0V6a1 1 0 1 0-2 0v20Z\"],[\"<g clip-path='url(#a)'><path d='M1.5 11A1.5 1.5 0 0 1 0 9.5v-8A1.5 1.5 0 0 1 1.5 0h8A1.5 1.5 0 0 1 11 1.5v8A1.5 1.5 0 0 1 9.5 11h-8ZM1 9.5a.5.5 0 0 0 .5.5H5V1H1.5a.5.5 0 0 0-.5.5v8ZM6 1v9h3.5a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5H6Z'></path></g><defs><clipPath id='a'><path d='M0 0h12v12H0z'></path></clipPath></defs>\",\"M2.5 14A1.5 1.5 0 0 1 1 12.5v-10A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v10a1.5 1.5 0 0 1-1.5 1.5h-10ZM2 12.5a.5.5 0 0 0 .5.5H7V2H2.5a.5.5 0 0 0-.5.5v10ZM8 2v11h4.5a.5.5 0 0 0 .5-.5v-10a.5.5 0 0 0-.5-.5H8Z\",\"M5 22a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5Zm-1-3a1 1 0 0 0 1 1h6V4H5a1 1 0 0 0-1 1v14Zm9-15v16h6a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1h-6Z\",\"M3 26a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6a3 3 0 0 0-3 3v20ZM15 5H6a1 1 0 0 0-1 1v20a1 1 0 0 0 1 1h9V5Zm2 22h9a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-9v22Z\"]];","export default [[\"M4.5 0A1.5 1.5 0 0 0 3 1.5V2h-.5A1.5 1.5 0 0 0 1 3.5v6A1.5 1.5 0 0 0 2.5 11h6A1.5 1.5 0 0 0 10 9.5V9h.5A1.5 1.5 0 0 0 12 7.5v-6A1.5 1.5 0 0 0 10.5 0h-6Zm-2 3H3v4.5A1.5 1.5 0 0 0 4.5 9H9v.5a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-6a.5.5 0 0 1 .5-.5Zm5-1a.5.5 0 0 0 0 1h.793L5.146 6.146a.5.5 0 1 0 .708.708L9 3.707V4.5a.5.5 0 0 0 1 0v-2a.5.5 0 0 0-.5-.5h-2Z\",\"M5.5 1A1.5 1.5 0 0 0 4 2.5V4H2.5A1.5 1.5 0 0 0 1 5.5v8A1.5 1.5 0 0 0 2.5 15h8a1.5 1.5 0 0 0 1.5-1.5V12h1.5a1.5 1.5 0 0 0 1.5-1.5v-8A1.5 1.5 0 0 0 13.5 1h-8Zm-3 4H4v5.5A1.5 1.5 0 0 0 5.5 12H11v1.5a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 .5-.5Zm6-1a.5.5 0 0 0 0 1h1.793L7.146 8.146a.5.5 0 1 0 .708.708L11 5.707V7.5a.5.5 0 0 0 1 0v-3a.5.5 0 0 0-.5-.5h-3Z\",\"M9 2a3 3 0 0 0-3 3v1H5a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3v-1h1a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H9ZM5 8h1v7a3 3 0 0 0 3 3h7v1a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1Zm8-2a1 1 0 1 0 0 2h1.586l-4.293 4.293a1 1 0 1 0 1.414 1.414L16 9.414V11a1 1 0 1 0 2 0V7a1 1 0 0 0-1-1h-4Z\",\"M11 3a3 3 0 0 0-3 3v2H6a3 3 0 0 0-3 3v15a3 3 0 0 0 3 3h15a3 3 0 0 0 3-3v-2h2a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H11Zm-5 7h2v11a3 3 0 0 0 3 3h11v2a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V11a1 1 0 0 1 1-1Zm11-2a1 1 0 1 0 0 2h3.586l-7.293 7.293a1 1 0 0 0 1.414 1.414L22 11.414V15a1 1 0 1 0 2 0V9a1 1 0 0 0-1-1h-6Z\"],[\"<path d='M7.5 2a.5.5 0 0 0 0 1h.793L5.146 6.146a.5.5 0 1 0 .708.708L9 3.707V4.5a.5.5 0 0 0 1 0v-2a.5.5 0 0 0-.5-.5h-2Z'></path><path d='M3 1.5A1.5 1.5 0 0 1 4.5 0h6A1.5 1.5 0 0 1 12 1.5v6A1.5 1.5 0 0 1 10.5 9H10v.5A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-6A1.5 1.5 0 0 1 2.5 2H3v-.5Zm6 8V9H4.5A1.5 1.5 0 0 1 3 7.5V3h-.5a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5Zm-5-2v-6a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5Z'></path>\",\"<path d='M8.5 4a.5.5 0 0 0 0 1h1.793L7.146 8.146a.5.5 0 1 0 .708.708L11 5.707V7.5a.5.5 0 0 0 1 0v-3a.5.5 0 0 0-.5-.5h-3Z'></path><path d='M4 2.5A1.5 1.5 0 0 1 5.5 1h8A1.5 1.5 0 0 1 15 2.5v8a1.5 1.5 0 0 1-1.5 1.5H12v1.5a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 1 13.5v-8A1.5 1.5 0 0 1 2.5 4H4V2.5Zm7 11V12H5.5A1.5 1.5 0 0 1 4 10.5V5H2.5a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5Zm-6-3v-8a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5Z'></path>\",\"<path d='M13 6a1 1 0 1 0 0 2h1.586l-4.293 4.293a1 1 0 1 0 1.414 1.414L16 9.414V11a1 1 0 1 0 2 0V7a1 1 0 0 0-1-1h-4Z'></path><path d='M6 5a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3h-1v1a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3h1V5Zm3 13h7v1a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h1v7a3 3 0 0 0 3 3ZM9 4a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H9Z'></path>\",\"<path d='M16 9a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 1 1-2 0v-3.586l-7.293 7.293a1 1 0 0 1-1.414-1.414L20.586 10H17a1 1 0 0 1-1-1Z'></path><path d='M8 6a3 3 0 0 1 3-3h15a3 3 0 0 1 3 3v15a3 3 0 0 1-3 3h-2v2a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V11a3 3 0 0 1 3-3h2V6Zm0 4H6a1 1 0 0 0-1 1v15a1 1 0 0 0 1 1h15a1 1 0 0 0 1-1v-2H11a3 3 0 0 1-3-3V10Zm3-5a1 1 0 0 0-1 1v15a1 1 0 0 0 1 1h15a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H11Z'></path>\"]];","export default [[\"M0 9.5A1.5 1.5 0 0 0 1.5 11h8A1.5 1.5 0 0 0 11 9.5v-8A1.5 1.5 0 0 0 9.5 0h-8A1.5 1.5 0 0 0 0 1.5v8Zm1.5.5a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 .5-.5H7v9H1.5Z\",\"M1 12.5A1.5 1.5 0 0 0 2.5 14h10a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 12.5 1h-10A1.5 1.5 0 0 0 1 2.5v10Zm1.5.5a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5H9v11H2.5Z\",\"M2 19a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H5a3 3 0 0 0-3 3v14Zm3 1a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h9v16H5Z\",\"M6 29a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H6Zm-1-3a1 1 0 0 0 1 1h13V5H6a1 1 0 0 0-1 1v20Z\"],[\"M1.5 11A1.5 1.5 0 0 1 0 9.5v-8A1.5 1.5 0 0 1 1.5 0h8A1.5 1.5 0 0 1 11 1.5v8A1.5 1.5 0 0 1 9.5 11h-8ZM1 9.5a.5.5 0 0 0 .5.5H7V1H1.5a.5.5 0 0 0-.5.5v8ZM8 1v9h1.5a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5H8Z\",\"M2.5 14A1.5 1.5 0 0 1 1 12.5v-10A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v10a1.5 1.5 0 0 1-1.5 1.5h-10ZM2 12.5a.5.5 0 0 0 .5.5H9V2H2.5a.5.5 0 0 0-.5.5v10ZM10 2v11h2.5a.5.5 0 0 0 .5-.5v-10a.5.5 0 0 0-.5-.5H10Z\",\"M5 22a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5Zm-1-3a1 1 0 0 0 1 1h9V4H5a1 1 0 0 0-1 1v14ZM16 4v16h3a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1h-3Z\",\"M3 26a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6a3 3 0 0 0-3 3v20Zm3 1a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h13v22H6Zm15 0h5a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-5v22Z\"]];","export default [[\"<path d='M3.146 3.854a.5.5 0 1 1 .708-.708l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 1 1-.708-.708L4.293 6H2.5a.5.5 0 0 1 0-1h1.793L3.146 3.854Z'></path><path d='M1.5 11A1.5 1.5 0 0 1 0 9.5v-8A1.5 1.5 0 0 1 1.5 0h8A1.5 1.5 0 0 1 11 1.5v8A1.5 1.5 0 0 1 9.5 11h-8ZM1 9.5a.5.5 0 0 0 .5.5H7V1H1.5a.5.5 0 0 0-.5.5v8Z'></path>\",\"<path d='M5.146 5.854a.5.5 0 1 1 .708-.708l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L6.293 8H3.5a.5.5 0 0 1 0-1h2.793L5.146 5.854Z'></path><path d='M2.5 14A1.5 1.5 0 0 1 1 12.5v-10A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v10a1.5 1.5 0 0 1-1.5 1.5h-10ZM2 12.5a.5.5 0 0 0 .5.5H9V2H2.5a.5.5 0 0 0-.5.5v10Z'></path>\",\"<path d='M8.293 9.707a1 1 0 0 1 1.414-1.414l3 3a1 1 0 0 1 0 1.414l-3 3a1 1 0 0 1-1.414-1.414L9.586 13H6a1 1 0 1 1 0-2h3.586L8.293 9.707Z'></path><path d='M5 22a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5Zm-1-3a1 1 0 0 0 1 1h9V4H5a1 1 0 0 0-1 1v14Z'></path>\",\"<path d='M11.293 12.707a1 1 0 0 1 1.414-1.414l4 4a1 1 0 0 1 0 1.414l-4 4a1 1 0 0 1-1.414-1.414L13.586 17H8a1 1 0 1 1 0-2h5.586l-2.293-2.293Z'></path><path d='M6 29a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H6ZM6 5a1 1 0 0 0-1 1v20a1 1 0 0 0 1 1h13V5H6Z'></path>\"],[\"<path d='M3.146 3.854a.5.5 0 1 1 .708-.708l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 1 1-.708-.708L4.293 6H2.5a.5.5 0 0 1 0-1h1.793L3.146 3.854Z'></path><path d='M0 9.5A1.5 1.5 0 0 0 1.5 11h8A1.5 1.5 0 0 0 11 9.5v-8A1.5 1.5 0 0 0 9.5 0h-8A1.5 1.5 0 0 0 0 1.5v8Zm1.5.5a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 .5-.5H7v9H1.5Zm8 0H8V1h1.5a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5Z'></path>\",\"<path d='M5.146 5.854a.5.5 0 1 1 .708-.708l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L6.293 8H3.5a.5.5 0 0 1 0-1h2.793L5.146 5.854Z'></path><path d='M1 12.5A1.5 1.5 0 0 0 2.5 14h10a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 12.5 1h-10A1.5 1.5 0 0 0 1 2.5v10Zm1.5.5a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5H9v11H2.5Zm7.5 0V2h2.5a.5.5 0 0 1 .5.5v10a.5.5 0 0 1-.5.5H10Z'></path>\",\"<path d='M8.293 9.707a1 1 0 0 1 1.414-1.414l3 3a1 1 0 0 1 0 1.414l-3 3a1 1 0 0 1-1.414-1.414L9.586 13H6a1 1 0 1 1 0-2h3.586L8.293 9.707Z'></path><path d='M2 19a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H5a3 3 0 0 0-3 3v14Zm3 1a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h9v16H5Zm11 0V4h3a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1h-3Z'></path>\",\"<path d='M11.293 12.707a1 1 0 0 1 1.414-1.414l4 4a1 1 0 0 1 0 1.414l-4 4a1 1 0 0 1-1.414-1.414L13.586 17H8a1 1 0 1 1 0-2h5.586l-2.293-2.293Z'></path><path d='M6 29a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H6ZM6 5a1 1 0 0 0-1 1v20a1 1 0 0 0 1 1h13V5H6Zm20 22a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-5v22h5Z'></path>\"]];","export default [[\"<path d='M4.854 3.854a.5.5 0 1 0-.708-.708l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 1 0 .708-.708L3.707 6H5.5a.5.5 0 0 0 0-1H3.707l1.147-1.146Z'></path><path d='M1.5 11A1.5 1.5 0 0 1 0 9.5v-8A1.5 1.5 0 0 1 1.5 0h8A1.5 1.5 0 0 1 11 1.5v8A1.5 1.5 0 0 1 9.5 11h-8ZM1 9.5a.5.5 0 0 0 .5.5H7V1H1.5a.5.5 0 0 0-.5.5v8Z'></path>\",\"<path d='M5.854 5.854a.5.5 0 1 0-.708-.708l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 0 0 .708-.708L4.707 8H7.5a.5.5 0 0 0 0-1H4.707l1.147-1.146Z'></path><path d='M2.5 14A1.5 1.5 0 0 1 1 12.5v-10A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v10a1.5 1.5 0 0 1-1.5 1.5h-10ZM2 12.5a.5.5 0 0 0 .5.5H9V2H2.5a.5.5 0 0 0-.5.5v10Z'></path>\",\"<path d='M9.707 9.707a1 1 0 0 0-1.414-1.414l-3 3a1 1 0 0 0 0 1.414l3 3a1 1 0 0 0 1.414-1.414L8.414 13H12a1 1 0 1 0 0-2H8.414l1.293-1.293Z'></path><path d='M5 22a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5Zm-1-3a1 1 0 0 0 1 1h9V4H5a1 1 0 0 0-1 1v14Z'></path>\",\"<path d='M12.707 12.707a1 1 0 0 0-1.414-1.414l-4 4a1 1 0 0 0 0 1.414l4 4a1 1 0 0 0 1.414-1.414L10.414 17H16a1 1 0 1 0 0-2h-5.586l2.293-2.293Z'></path><path d='M6 29a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H6ZM6 5a1 1 0 0 0-1 1v20a1 1 0 0 0 1 1h13V5H6Z'></path>\"],[\"<path d='M4.854 3.854a.5.5 0 1 0-.708-.708l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 1 0 .708-.708L3.707 6H5.5a.5.5 0 0 0 0-1H3.707l1.147-1.146Z'></path><path d='M0 9.5A1.5 1.5 0 0 0 1.5 11h8A1.5 1.5 0 0 0 11 9.5v-8A1.5 1.5 0 0 0 9.5 0h-8A1.5 1.5 0 0 0 0 1.5v8Zm1.5.5a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 .5-.5H7v9H1.5Zm8 0H8V1h1.5a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5Z'></path>\",\"<path d='M5.854 5.854a.5.5 0 1 0-.708-.708l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 0 0 .708-.708L4.707 8H7.5a.5.5 0 0 0 0-1H4.707l1.147-1.146Z'></path><path d='M1 12.5A1.5 1.5 0 0 0 2.5 14h10a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 12.5 1h-10A1.5 1.5 0 0 0 1 2.5v10Zm1.5.5a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5H9v11H2.5Zm7.5 0V2h2.5a.5.5 0 0 1 .5.5v10a.5.5 0 0 1-.5.5H10Z'></path>\",\"<path d='M9.707 9.707a1 1 0 0 0-1.414-1.414l-3 3a1 1 0 0 0 0 1.414l3 3a1 1 0 0 0 1.414-1.414L8.414 13H12a1 1 0 1 0 0-2H8.414l1.293-1.293Z'></path><path d='M2 19a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H5a3 3 0 0 0-3 3v14Zm3 1a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h9v16H5Zm11 0V4h3a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1h-3Z'></path>\",\"<path d='M12.707 12.707a1 1 0 0 0-1.414-1.414l-4 4a1 1 0 0 0 0 1.414l4 4a1 1 0 0 0 1.414-1.414L10.414 17H16a1 1 0 1 0 0-2h-5.586l2.293-2.293Z'></path><path d='M6 29a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H6ZM6 5a1 1 0 0 0-1 1v20a1 1 0 0 0 1 1h13V5H6Zm20 22a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-5v22h5Z'></path>\"]];","export default [[\"M7.816 2.655a.75.75 0 0 0-1.028.129L3.95 6.264a2.003 2.003 0 1 0 3.118 2.514l1.572-1.97a.75.75 0 0 1 1.172.935l-1.571 1.97a3.503 3.503 0 1 1-5.454-4.398l2.838-3.48a2.25 2.25 0 1 1 3.46 2.879L6.19 8.129a.75.75 0 0 1-1.144-.97l2.897-3.415a.75.75 0 0 0-.126-1.09Z\",\"M11.885 2.811a1.615 1.615 0 0 0-2.114.176L4.337 8.57a2.904 2.904 0 0 0 4.138 4.075l3.33-3.341a.75.75 0 1 1 1.063 1.058l-3.33 3.342a4.404 4.404 0 0 1-6.276-6.18L8.697 1.94a3.115 3.115 0 0 1 4.465 4.345l-5.436 5.588a1.83 1.83 0 1 1-2.606-2.57l4.199-4.2a.75.75 0 1 1 1.06 1.06l-4.198 4.2a.33.33 0 1 0 .47.464l5.436-5.588a1.615 1.615 0 0 0-.202-2.429Z\",\"M17.688 4.15a2.456 2.456 0 0 0-3.385.112l-8.497 8.645a4.458 4.458 0 0 0 6.325 6.286l5.308-5.283a1.25 1.25 0 1 1 1.764 1.773l-5.309 5.282a6.958 6.958 0 0 1-9.209.537c-3.26-2.563-3.568-7.39-.662-10.347L12.52 2.51a4.956 4.956 0 0 1 7.076 6.94l-8.444 8.627a2.997 2.997 0 1 1-4.257-4.22l6.6-6.576a1.25 1.25 0 1 1 1.764 1.771l-6.6 6.576a.497.497 0 1 0 .706.7l8.444-8.626a2.456 2.456 0 0 0-.121-3.552Z\",\"M24.597 5.738a3.503 3.503 0 0 0-5.044-.202L7.4 17.19a5.984 5.984 0 1 0 8.367 8.558l7.244-7.22a1.25 1.25 0 1 1 1.764 1.77l-7.244 7.22a8.484 8.484 0 0 1-11.71.256c-3.623-3.309-3.693-8.992-.151-12.388L17.823 3.732a6.003 6.003 0 0 1 8.42 8.558L14.348 24.297a3.989 3.989 0 1 1-5.655-5.628l9.453-9.452a1.25 1.25 0 0 1 1.768 1.767l-9.453 9.453a1.489 1.489 0 1 0 2.11 2.1L24.466 10.53a3.503 3.503 0 0 0 .13-4.792Z\"],[\"M6.455 2.423 3.76 5.703c-1.026 1.201-.99 2.602-.027 3.565.481.48 1.167.732 1.843.732.678 0 1.29-.25 1.66-.696l1.727-2.12a.5.5 0 0 1 .776.632L8.006 9.94c-.6.725-1.524 1.06-2.43 1.06-.91 0-1.86-.335-2.55-1.025-1.38-1.38-1.345-3.376-.03-4.917l2.719-3.309.017-.017a2.5 2.5 0 0 1 3.536 0c1.002 1.003.883 2.447.035 3.497l-.003.003-2.722 3.311-.017.018a1.5 1.5 0 0 1-2.122 0c-.595-.595-.561-1.47-.033-2.085L6.105 4.28a.5.5 0 0 1 .79.612L5.18 7.11l-.01.011c-.235.268-.205.55-.023.732a.5.5 0 0 0 .693.014l2.688-3.27c.603-.747.593-1.6.034-2.159a1.5 1.5 0 0 0-2.106-.016Z\",\"M9.467 2.613 3.996 8.196A3.388 3.388 0 0 0 3 10.608c.002.868.334 1.734.996 2.396A3.388 3.388 0 0 0 6.392 14a3.388 3.388 0 0 0 2.412-.995l3.342-3.358a.5.5 0 0 1 .708.706L9.512 13.71v.001A4.388 4.388 0 0 1 6.388 15a4.388 4.388 0 0 1-3.1-1.289A4.388 4.388 0 0 1 2 10.611a4.388 4.388 0 0 1 1.287-3.12l5.47-5.583a3.078 3.078 0 0 1 4.367 0c.585.585.848 1.336.876 2.073.03.806-.206 1.658-.856 2.31l-5.471 5.582a1.8 1.8 0 0 1-2.546-2.546l4.181-4.18a.5.5 0 0 1 .707.707l-4.18 4.18a.8.8 0 0 0 1.13 1.133l5.47-5.582c.415-.415.588-.976.565-1.566-.02-.527-.204-1.025-.584-1.404a2.078 2.078 0 0 0-2.95-.002Z\",\"m13.882 3.875-8.418 8.59a5 5 0 0 0 7.072 7.07l5.257-5.257a1 1 0 0 1 1.414 1.414L13.95 20.95a7 7 0 0 1-9.903-9.896l8.417-8.59a5 5 0 0 1 7.075 7.068l-8.418 8.59a3 3 0 0 1-4.242-4.243l6.585-6.586a1 1 0 1 1 1.415 1.414l-6.586 6.586a1 1 0 0 0 1.411 1.417l8.417-8.589a3 3 0 0 0-4.239-4.246Z\",\"M24.828 5.172a4 4 0 0 0-5.656 0l-.008.007-.008.008-12.26 11.724a6.5 6.5 0 0 0 9.2 9.185l7.197-7.197a1 1 0 1 1 1.414 1.415L17.51 27.51A8.5 8.5 0 0 1 5.49 15.49l.007-.008.009-.008 12.26-11.725a6 6 0 0 1 8.48 8.491c-.002 0-.002.002-.003.003l-11.91 12.08-.005.005a4 4 0 1 1-5.656-5.656l9.378-9.38a1 1 0 1 1 1.414 1.415l-9.378 9.379a2 2 0 0 0 2.826 2.83l.002-.002 11.91-12.08.004-.006a4 4 0 0 0 0-5.656Z\"]];","export default [[\"M3 1a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3Zm4 0a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H7Z\",\"M3.5 1A1.5 1.5 0 0 0 2 2.5v10A1.5 1.5 0 0 0 3.5 14h2A1.5 1.5 0 0 0 7 12.5v-10A1.5 1.5 0 0 0 5.5 1h-2Zm6 0A1.5 1.5 0 0 0 8 2.5v10A1.5 1.5 0 0 0 9.5 14h2a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 11.5 1h-2Z\",\"M5 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H5Zm10 0a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2h-4Z\",\"M8 3a3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h4a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H8Zm12 0a3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h4a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3h-4Z\"],[\"M3 1a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3Zm0 1h1v7H3V2Zm4-1a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H7Zm0 1h1v7H7V2Z\",\"M3.5 1A1.5 1.5 0 0 0 2 2.5v10A1.5 1.5 0 0 0 3.5 14h2A1.5 1.5 0 0 0 7 12.5v-10A1.5 1.5 0 0 0 5.5 1h-2ZM3 2.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v10a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-10ZM9.5 1A1.5 1.5 0 0 0 8 2.5v10A1.5 1.5 0 0 0 9.5 14h2a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 11.5 1h-2ZM9 2.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v10a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-10Z\",\"M5 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H5Zm0 2h4v16H5V4Zm10-2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2h-4Zm0 2h4v16h-4V4Z\",\"M8 3a3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h4a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H8ZM7 6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v20a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1V6Zm13-3a3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h4a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3h-4Zm-1 3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v20a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V6Z\"]];","export default [[\"M7.586 1.586a2 2 0 1 1 2.828 2.828l-.646.647-2.829-2.829.647-.646ZM6.232 2.94 2.086 7.085a.5.5 0 0 0-.125.207l-.939 3.06a.5.5 0 0 0 .625.625l3.06-.94a.5.5 0 0 0 .207-.124l4.147-4.146-2.829-2.829Z\",\"M10.732 1.732a2.5 2.5 0 1 1 3.536 3.536L13.12 6.414 9.586 2.88l1.146-1.147ZM8.879 3.586 2.732 9.732a.5.5 0 0 0-.117.185L1.03 14.33a.5.5 0 0 0 .64.64l4.414-1.586a.501.501 0 0 0 .185-.117l6.146-6.147L8.88 3.586Z\",\"M17.025 2.025a3.5 3.5 0 1 1 4.95 4.95l-1.293 1.293-4.95-4.95 1.293-1.293Zm-2.707 2.707L3.025 16.025a1 1 0 0 0-.243.395L1.05 21.688a1 1 0 0 0 1.262 1.262l5.268-1.732a1 1 0 0 0 .395-.243L19.268 9.682l-4.95-4.95Z\",\"M23.172 3.172a4 4 0 0 1 5.657 5.656l-1.793 1.793-5.657-5.657 1.793-1.792Zm-3.207 3.207L4.172 22.172a1 1 0 0 0-.25.413l-1.878 6.122a1 1 0 0 0 1.25 1.249l6.12-1.879a1 1 0 0 0 .415-.249l15.793-15.792-5.657-5.657Z\"],[\"M9.707 2.293a1 1 0 0 0-1.414 0l-.647.646 1.415 1.415.646-.647a1 1 0 0 0 0-1.414ZM8.354 5.06 6.939 3.646 2.881 7.705l-.626 2.04 2.04-.626 4.059-4.058Zm-.768-3.475a2 2 0 1 1 2.828 2.828l-5.5 5.5a.5.5 0 0 1-.207.125l-3.06.939a.5.5 0 0 1-.625-.625l.94-3.06a.5.5 0 0 1 .124-.207l5.5-5.5Z\",\"M13.56 2.44a1.5 1.5 0 0 0-2.12 0l-1.147 1.146 2.121 2.121 1.146-1.146a1.5 1.5 0 0 0 0-2.122Zm-1.853 3.974L9.586 4.293 3.518 10.36 2.33 13.67l3.31-1.188 6.068-6.068Zm-.975-4.682a2.5 2.5 0 1 1 3.536 3.536l-8 8a.501.501 0 0 1-.185.117L1.67 14.97a.5.5 0 0 1-.64-.64l1.586-4.414a.5.5 0 0 1 .117-.185l8-8Z\",\"M20.56 3.44a1.5 1.5 0 0 0-2.12 0l-1.294 1.292 2.122 2.122L20.56 5.56a1.5 1.5 0 0 0 0-2.122Zm-2.706 4.828-2.122-2.122L4.608 17.271l-1.04 3.16 3.161-1.039L17.854 8.268Zm-.829-6.243a3.5 3.5 0 1 1 4.95 4.95l-14 14a1 1 0 0 1-.395.243L2.312 22.95a1 1 0 0 1-1.262-1.262l1.732-5.268a1 1 0 0 1 .243-.395l14-14Z\",\"M27.414 4.586a2 2 0 0 0-2.828 0l-1.793 1.793 2.828 2.828 1.793-1.793a2 2 0 0 0 0-2.828Zm-3.207 6.035L21.38 7.793 5.762 23.41l-1.253 4.08 4.081-1.252 15.617-15.617Zm-1.035-7.45a4 4 0 0 1 5.657 5.657l-19 19a1 1 0 0 1-.414.25l-6.122 1.878a1 1 0 0 1-1.249-1.25l1.879-6.12a1 1 0 0 1 .249-.414l19-19Z\"]];","export default [[\"<path d='M11.06.94a1.5 1.5 0 0 0-2.12 0l-.292.29 2.122 2.122.29-.291a1.5 1.5 0 0 0 0-2.122Zm-7.12 5 4-4.004 2.122 2.122L6.06 8.06a.5.5 0 0 1-.185.117L3.67 8.97a.5.5 0 0 1-.64-.64l.793-2.207a.5.5 0 0 1 .117-.185Z'></path><path d='M2 3.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 0 0-1h-3A1.5 1.5 0 0 0 1 3.5v6A1.5 1.5 0 0 0 2.5 11h6A1.5 1.5 0 0 0 10 9.5v-3a.5.5 0 0 0-1 0v3a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-6Z'></path>\",\"<path d='M14.713 1.303a1.702 1.702 0 0 0-2.407 0l-.648.648 2.407 2.406.648-.648a1.702 1.702 0 0 0 0-2.406ZM5.181 8.428l5.77-5.77 2.406 2.406-5.77 5.77a.5.5 0 0 1-.178.115l-2.735 1.018a.5.5 0 0 1-.641-.647l1.035-2.717a.5.5 0 0 1 .113-.175Z'></path><path d='M2 5.5A1.5 1.5 0 0 1 3.5 4h4a.5.5 0 0 0 0-1h-4A2.5 2.5 0 0 0 1 5.5v7A2.5 2.5 0 0 0 3.5 15h7a2.5 2.5 0 0 0 2.5-2.5v-4a.5.5 0 0 0-1 0v4a1.5 1.5 0 0 1-1.5 1.5h-7A1.5 1.5 0 0 1 2 12.5v-7Z'></path>\",\"<path d='M17.879 1.879A3 3 0 1 1 22.12 6.12l-.793.793-4.242-4.242.793-.793Zm-2.207 2.207-8.293 8.293a1 1 0 0 0-.214.316L5.08 17.61a1 1 0 0 0 1.31 1.311l4.915-2.085a.998.998 0 0 0 .316-.214l8.293-8.293-4.242-4.242Z'></path><path d='M3 7a1 1 0 0 1 1-1h7a1 1 0 1 0 0-2H4a3 3 0 0 0-3 3v13a3 3 0 0 0 3 3h13a3 3 0 0 0 3-3v-7a1 1 0 1 0-2 0v7a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7Z'></path>\",\"<path d='M24.025 3.025a3.5 3.5 0 0 1 4.95 4.95l-1.293 1.293-4.95-4.95 1.293-1.293Zm-2.707 2.707L9.025 18.025a1 1 0 0 0-.243.395L7.05 23.688a1 1 0 0 0 1.262 1.262l5.268-1.732a1 1 0 0 0 .395-.243l12.293-12.293-4.95-4.95Z'></path><path d='M4 9a1 1 0 0 1 1-1h11a1 1 0 1 0 0-2H5a3 3 0 0 0-3 3v18a3 3 0 0 0 3 3h18a3 3 0 0 0 3-3V16a1 1 0 1 0-2 0v11a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V9Z'></path>\"],[\"<path d='M8.94.94a1.5 1.5 0 0 1 2.12 2.12l-5 5a.5.5 0 0 1-.184.118L3.67 8.97a.5.5 0 0 1-.64-.64l.793-2.207a.5.5 0 0 1 .117-.185l5-5Zm1.414.706a.5.5 0 0 0-.708 0l-.29.291.707.708.29-.291a.5.5 0 0 0 0-.708Zm-.999 1.706-.707-.707-3.922 3.922-.397 1.104 1.104-.397 3.922-3.922Z'></path><path d='M2.5 3a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 1 1 0v3A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-6A1.5 1.5 0 0 1 2.5 2h3a.5.5 0 0 1 0 1h-3Z'></path>\",\"<path d='M12.306 1.303a1.702 1.702 0 0 1 2.407 2.406l-7.125 7.125a.5.5 0 0 1-.18.115l-2.734 1.018a.5.5 0 0 1-.641-.647l1.035-2.717a.5.5 0 0 1 .113-.175l7.125-7.125Zm1.7.707a.702.702 0 0 0-.992 0l-.649.648.992.992.649-.648a.702.702 0 0 0 0-.992ZM12.65 4.357l-.992-.992L5.964 9.06l-.604 1.585 1.598-.594 5.692-5.693Z'></path><path d='M3.5 4A1.5 1.5 0 0 0 2 5.5v7A1.5 1.5 0 0 0 3.5 14h7a1.5 1.5 0 0 0 1.5-1.5v-4a.5.5 0 0 1 1 0v4a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 1 12.5v-7A2.5 2.5 0 0 1 3.5 3h4a.5.5 0 0 1 0 1h-4Z'></path>\",\"<path d='M17.879 1.879A3 3 0 1 1 22.12 6.12l-10.5 10.5a.998.998 0 0 1-.316.214L6.39 18.92a1 1 0 0 1-1.311-1.31l2.085-4.915a1 1 0 0 1 .214-.316l10.5-10.5Zm2.828 1.414a1 1 0 0 0-1.414 0l-.793.793L19.914 5.5l.793-.793a1 1 0 0 0 0-1.414ZM18.5 6.914 17.086 5.5 8.93 13.655l-1.043 2.458 2.458-1.043L18.5 6.914Z'></path><path d='M4 6a1 1 0 0 0-1 1v13a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1v-7a1 1 0 1 1 2 0v7a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h7a1 1 0 1 1 0 2H4Z'></path>\",\"<path d='M24.025 3.025a3.5 3.5 0 0 1 4.95 4.95l-15 15a1 1 0 0 1-.395.243L8.312 24.95a1 1 0 0 1-1.262-1.262l1.732-5.268a1 1 0 0 1 .243-.395l15-15Zm3.536 1.414a1.5 1.5 0 0 0-2.122 0l-1.293 1.293 2.122 2.122L27.56 6.56a1.5 1.5 0 0 0 0-2.122Zm-2.707 4.829-2.122-2.122-12.124 12.125-1.04 3.16 3.161-1.039L24.854 9.268Z'></path><path d='M5 8a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V16a1 1 0 1 1 2 0v11a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3h11a1 1 0 1 1 0 2H5Z'></path>\"]];","export default [[\"M5 4c0-1.683-1.098-3-2.5-3S0 2.317 0 4s1.098 3 2.5 3S5 5.683 5 4ZM2.5 6C1.671 6 1 5.104 1 4s.671-2 1.5-2S4 2.896 4 4s-.671 2-1.5 2Zm7-1C8.098 5 7 6.317 7 8s1.098 3 2.5 3S12 9.683 12 8s-1.098-3-2.5-3Zm0 5C8.671 10 8 9.104 8 8s.671-2 1.5-2 1.5.896 1.5 2-.671 2-1.5 2Zm-.563-8.257a.5.5 0 0 0-.874-.486l-5 9a.5.5 0 1 0 .874.486l5-9Z\",\"M12.911 1.785a.5.5 0 1 0-.822-.57l-9 13a.5.5 0 1 0 .822.57l9-13ZM7 4.5C7 2.57 5.654 1 4 1S1 2.57 1 4.5 2.346 8 4 8s3-1.57 3-3.5Zm-5 0C2 3.119 2.896 2 4 2s2 1.119 2 2.5S5.104 7 4 7 2 5.881 2 4.5ZM12 8c-1.654 0-3 1.57-3 3.5s1.346 3.5 3 3.5 3-1.57 3-3.5S13.654 8 12 8Zm0 6c-1.104 0-2-1.119-2-2.5S10.896 9 12 9s2 1.119 2 2.5-.896 2.5-2 2.5Z\",\"M19.79 3.614a1 1 0 0 0-1.58-1.228l-14 18a1 1 0 0 0 1.58 1.228l14-18ZM4.079 3.572C4.764 2.658 5.786 2 7 2c1.214 0 2.236.658 2.921 1.572C10.606 4.485 11 5.7 11 7c0 1.3-.394 2.515-1.079 3.428C9.236 11.342 8.214 12 7 12c-1.214 0-2.236-.658-2.921-1.572C3.394 9.515 3 8.3 3 7c0-1.3.394-2.515 1.079-3.428Zm1.6 1.2C5.278 5.306 5 6.09 5 7c0 .91.278 1.694.679 2.228.4.535.878.772 1.321.772.443 0 .92-.237 1.321-.772C8.722 8.694 9 7.91 9 7c0-.91-.278-1.694-.679-2.228C7.921 4.237 7.443 4 7 4c-.443 0-.92.237-1.321.772Zm8.4 8.8C14.764 12.658 15.786 12 17 12c1.214 0 2.236.658 2.921 1.572C20.606 14.485 21 15.7 21 17c0 1.3-.394 2.515-1.079 3.428C19.236 21.342 18.214 22 17 22c-1.214 0-2.236-.658-2.921-1.572C13.394 19.515 13 18.3 13 17c0-1.3.394-2.515 1.079-3.428Zm1.6 1.2C15.278 15.306 15 16.09 15 17c0 .91.278 1.694.679 2.228.4.535.878.772 1.321.772.443 0 .92-.237 1.321-.772.401-.534.679-1.319.679-2.228 0-.91-.278-1.694-.679-2.228-.4-.535-.878-.772-1.321-.772-.443 0-.92.237-1.321.772Z\",\"M25.8 4.6a1 1 0 0 0-1.6-1.2l-18 24a1 1 0 0 0 1.6 1.2l18-24ZM4 10c0-3.094 2.042-6 5-6s5 2.906 5 6-2.042 6-5 6-5-2.906-5-6Zm5-4c-1.46 0-3 1.571-3 4 0 2.429 1.54 4 3 4s3-1.571 3-4c0-2.429-1.54-4-3-4Zm9 16c0-3.094 2.042-6 5-6s5 2.906 5 6-2.042 6-5 6-5-2.906-5-6Zm5-4c-1.46 0-3 1.571-3 4 0 2.429 1.54 4 3 4s3-1.571 3-4c0-2.429-1.54-4-3-4Z\"]];","export default [[\"M2.469 1c-.82 0-1.524.674-1.466 1.536.192 2.82 1.177 4.882 2.623 6.27 1.441 1.385 3.301 2.062 5.18 2.19.617.043 1.156-.325 1.397-.85l.659-1.437a1.5 1.5 0 0 0-.492-1.846l-.791-.565a1.5 1.5 0 0 0-1.932.16l-.424.423a.402.402 0 0 1-.19.112.148.148 0 0 1-.115-.014c-.68-.408-1.504-1.33-1.886-2.067-.036-.069-.038-.204.1-.342l.424-.423a1.5 1.5 0 0 0 .354-1.56L5.703 2A1.5 1.5 0 0 0 4.29 1H2.47Z\",\"M2.48 1c-.824 0-1.515.674-1.479 1.523.182 4.254 1.505 7.326 3.607 9.365 2.099 2.036 4.916 2.986 7.978 3.113a1.464 1.464 0 0 0 1.434-.982l.892-2.501a1.5 1.5 0 0 0-.59-1.758l-1.869-1.226a1.5 1.5 0 0 0-1.896.206l-1.354 1.387c-.139.143-.28.146-.356.109-.533-.265-1.152-.76-1.713-1.352-.56-.591-1.029-1.243-1.284-1.796-.04-.086-.03-.232.108-.369l1.61-1.604a1.5 1.5 0 0 0 .354-1.57l-.557-1.551A1.5 1.5 0 0 0 5.953 1H2.48Z\",\"M4.467 2.001c-1.371 0-2.531 1.126-2.464 2.551.277 5.892 2.158 10.187 5.147 13.055 2.982 2.86 6.954 4.194 11.217 4.39 1.122.05 2.086-.677 2.42-1.692l1.083-3.281a2.5 2.5 0 0 0-1.19-2.985l-2.585-1.39a2.5 2.5 0 0 0-2.95.435l-1.618 1.615a.387.387 0 0 1-.174.107.12.12 0 0 1-.02.003h-.004c-.66-.362-1.437-1.048-2.157-1.89-.715-.835-1.311-1.75-1.649-2.507a.144.144 0 0 1-.004-.1.418.418 0 0 1 .116-.19l1.61-1.572a2.5 2.5 0 0 0 .655-2.477l-.647-2.26A2.5 2.5 0 0 0 8.85 2H4.467Z\",\"M4.959 2C3.31 2 1.929 3.349 2.003 5.048c.374 8.498 3.1 14.634 7.37 18.709 4.262 4.067 9.95 5.976 16.057 6.242 1.36.059 2.532-.84 2.914-2.094l1.529-5.026a3 3 0 0 0-1.458-3.52l-3.725-1.988a3 3 0 0 0-3.536.527l-2.848 2.851c-.248.249-.505.284-.662.233-1.295-.422-2.744-1.394-4-2.65-1.254-1.258-2.225-2.71-2.646-4.006-.05-.157-.015-.414.233-.662l2.87-2.873a3 3 0 0 0 .684-3.178l-1.383-3.67A3 3 0 0 0 10.595 2H4.959Z\"],[\"M1.003 2.536C.945 1.674 1.65 1 2.47 1h1.82a1.5 1.5 0 0 1 1.414 1l.207.586a1.5 1.5 0 0 1-.354 1.561l-.423.423c-.139.138-.137.273-.101.342.382.737 1.207 1.659 1.886 2.067.03.017.064.025.115.014a.402.402 0 0 0 .19-.112l.424-.424a1.5 1.5 0 0 1 1.932-.16l.791.566a1.5 1.5 0 0 1 .492 1.846l-.659 1.436c-.241.526-.78.894-1.397.852-1.879-.129-3.739-.806-5.18-2.19-1.446-1.39-2.43-3.451-2.623-6.271ZM2.47 2a.452.452 0 0 0-.468.468C2.18 5.08 3.08 6.896 4.318 8.085 5.561 9.28 7.185 9.883 8.874 10a.44.44 0 0 0 .42-.27l.66-1.437a.5.5 0 0 0-.165-.615l-.791-.565a.5.5 0 0 0-.644.053l-.424.424c-.354.353-.967.583-1.527.247C5.545 7.32 4.6 6.25 4.144 5.372c-.288-.555-.077-1.15.282-1.509l.423-.423a.5.5 0 0 0 .118-.52l-.207-.587A.5.5 0 0 0 4.29 2H2.47Z\",\"M1.001 2.523C.965 1.674 1.656 1 2.48 1h3.473a1.5 1.5 0 0 1 1.412.994l.557 1.552a1.5 1.5 0 0 1-.353 1.57L5.958 6.718c-.138.137-.148.283-.108.37.255.552.723 1.204 1.284 1.795.561.593 1.18 1.087 1.713 1.352.075.037.217.034.356-.109l1.354-1.387a1.5 1.5 0 0 1 1.896-.206l1.869 1.226a1.5 1.5 0 0 1 .59 1.758l-.892 2.501a1.464 1.464 0 0 1-1.434.982c-3.062-.127-5.88-1.077-7.978-3.113-2.102-2.04-3.425-5.111-3.607-9.365ZM2.48 2a.47.47 0 0 0-.48.48c.174 4.065 1.429 6.87 3.304 8.69 1.879 1.822 4.438 2.713 7.324 2.832a.465.465 0 0 0 .45-.318l.892-2.502a.5.5 0 0 0-.197-.586L11.905 9.37a.5.5 0 0 0-.632.069l-1.354 1.387c-.357.366-.954.584-1.516.306-.675-.335-1.387-.917-1.995-1.56-.61-.643-1.152-1.384-1.466-2.065-.255-.553-.051-1.136.31-1.496l1.611-1.605a.5.5 0 0 0 .118-.523l-.557-1.552A.5.5 0 0 0 5.954 2H2.48Z\",\"M2.003 4.552c-.067-1.425 1.093-2.55 2.464-2.55H8.85a2.5 2.5 0 0 1 2.403 1.81l.647 2.261a2.5 2.5 0 0 1-.655 2.477l-1.61 1.573a.418.418 0 0 0-.116.19.144.144 0 0 0 .004.099c.338.756.934 1.672 1.65 2.507.72.842 1.495 1.528 2.156 1.89h.005a.12.12 0 0 0 .02-.003.387.387 0 0 0 .173-.107l1.617-1.615a2.5 2.5 0 0 1 2.95-.434l2.585 1.389a2.5 2.5 0 0 1 1.19 2.985l-1.081 3.281c-.335 1.015-1.3 1.743-2.42 1.691-4.263-.195-8.236-1.529-11.218-4.39-2.989-2.868-4.87-7.162-5.147-13.054Zm2.464-.55A.451.451 0 0 0 4 4.457c.259 5.506 1.996 9.27 4.534 11.705 2.545 2.443 6.01 3.656 9.924 3.835a.443.443 0 0 0 .43-.32l1.081-3.28a.5.5 0 0 0-.238-.598l-2.584-1.388a.5.5 0 0 0-.59.086l-1.617 1.616c-.585.584-1.607.978-2.571.45-.956-.523-1.915-1.406-2.718-2.345-.808-.944-1.522-2.02-1.956-2.993-.422-.948-.072-1.934.541-2.534l1.61-1.573a.5.5 0 0 0 .13-.495l-.647-2.26A.5.5 0 0 0 8.85 4H4.467Z\",\"M2.003 5.048C1.928 3.348 3.31 2 4.959 2h5.636a3 3 0 0 1 2.807 1.942l1.383 3.671a3 3 0 0 1-.685 3.178l-2.87 2.873c-.247.248-.283.505-.232.662.421 1.297 1.392 2.748 2.647 4.005 1.255 1.257 2.704 2.23 3.999 2.651.157.051.414.016.662-.233l2.848-2.851a3 3 0 0 1 3.536-.527l3.725 1.989a3 3 0 0 1 1.458 3.52l-1.53 5.025c-.38 1.253-1.552 2.153-2.913 2.094-6.106-.266-11.795-2.175-16.057-6.242-4.27-4.075-6.996-10.211-7.37-18.71ZM4.959 4c-.562 0-.98.452-.958.96.357 8.104 2.936 13.707 6.753 17.35 3.826 3.651 9.008 5.44 14.763 5.69.398.018.782-.247.913-.677l1.53-5.026a1 1 0 0 0-.487-1.173l-3.725-1.989a1 1 0 0 0-1.179.176l-2.848 2.852c-.642.643-1.655 1.06-2.697.72-1.682-.547-3.392-1.734-4.795-3.139-1.402-1.404-2.587-3.117-3.133-4.8-.337-1.04.078-2.051.72-2.693l2.87-2.874a1 1 0 0 0 .228-1.059l-1.383-3.67A1 1 0 0 0 10.595 4H4.959Z\"]];","export default [[\"<path d='M7.5 1h1.793L9.146.854a.5.5 0 0 1 .708-.708l1 1A.5.5 0 0 1 10.5 2h-3a.5.5 0 1 1 0-1ZM11 3.5a.5.5 0 0 1-.5.5H8.707l.147.146a.5.5 0 1 1-.708.708l-1-1A.5.5 0 0 1 7.5 3h3a.5.5 0 0 1 .5.5Z'></path><path d='M1.003 2.536C.945 1.674 1.65 1 2.47 1h1.82a1.5 1.5 0 0 1 1.414 1l.207.586a1.5 1.5 0 0 1-.354 1.561l-.423.423c-.139.138-.137.273-.101.342.382.737 1.207 1.659 1.886 2.067.03.017.064.025.115.014a.402.402 0 0 0 .19-.112l.424-.424a1.5 1.5 0 0 1 1.932-.16l.791.566a1.5 1.5 0 0 1 .492 1.846l-.659 1.436c-.241.526-.78.894-1.397.852-1.879-.129-3.739-.806-5.18-2.19-1.446-1.39-2.43-3.451-2.623-6.271Z'></path>\",\"M8 3.5a.5.5 0 0 1 .5-.5h4.793l-1.147-1.146a.5.5 0 0 1 .707-.708l2 2A.5.5 0 0 1 14.5 4h-6a.5.5 0 0 1-.5-.5ZM8.5 5h6a.5.5 0 0 1 0 1H9.707l1.146 1.146a.5.5 0 1 1-.707.708l-2-2A.5.5 0 0 1 8.5 5Zm-7.492.53C.96 4.677 1.658 4 2.48 4h2.274a1.5 1.5 0 0 1 1.412.994l.323.9a1.5 1.5 0 0 1-.354 1.57l-1.04 1.035c-.14.14-.14.276-.103.347.409.803 1.33 1.785 2.101 2.21a.18.18 0 0 0 .134.015.419.419 0 0 0 .197-.119l.814-.833a1.5 1.5 0 0 1 1.896-.207l1.124.737a1.5 1.5 0 0 1 .59 1.758l-.57 1.597a1.454 1.454 0 0 1-1.44.976c-2.307-.125-4.435-.864-6.034-2.415C2.202 11.012 1.187 8.7 1.008 5.532Z\",\"M22.924 5.383a1 1 0 0 0-.217-1.09l-3-3a1 1 0 1 0-1.414 1.414L19.586 4H14a1 1 0 1 0 0 2h8a1 1 0 0 0 .924-.617Zm-9.848 3.234a1 1 0 0 0 .217 1.09l3 3a1 1 0 0 0 1.414-1.414L16.414 10H22a1 1 0 1 0 0-2h-8a1 1 0 0 0-.924.617ZM1.04 7.557C.965 6.127 2.13 5 3.5 5h3.48a2.5 2.5 0 0 1 2.406 1.823l.505 1.794a2.5 2.5 0 0 1-.643 2.45l-1.273 1.266a.412.412 0 0 0-.113.185c-.01.044-.004.069.004.087.292.644.788 1.412 1.379 2.118.591.708 1.226 1.289 1.772 1.616l.008-.002a.372.372 0 0 0 .168-.106l1.222-1.243a2.5 2.5 0 0 1 2.983-.44l1.992 1.09a2.5 2.5 0 0 1 1.178 2.963l-.864 2.67c-.33 1.019-1.299 1.76-2.433 1.699-3.69-.2-7.135-1.399-9.727-3.937C2.946 16.49 1.31 12.71 1.04 7.557Z\",\"M29.705 7.71A.997.997 0 0 1 29 8H17a1 1 0 1 1 0-2h9.586l-2.293-2.293a1 1 0 0 1 1.414-1.414l4 4a.997.997 0 0 1 .002 1.412l-.004.004Zm-13.628 3.676a.996.996 0 0 1 .216-1.093.996.996 0 0 1 .692-.293H29a1 1 0 1 1 0 2h-9.586l2.293 2.293a1 1 0 0 1-1.414 1.414l-3.999-3.999-.012-.012a.997.997 0 0 1-.205-.31ZM4.5 8c-1.371 0-2.527 1.123-2.469 2.544.274 6.595 2.317 11.383 5.576 14.571 3.253 3.183 7.603 4.66 12.28 4.861 1.123.048 2.09-.683 2.42-1.705l1.262-3.892a2.5 2.5 0 0 0-1.179-2.964l-3.01-1.647a2.5 2.5 0 0 0-2.984.44l-1.877 1.91a.394.394 0 0 1-.178.111c-.02.004-.03.003-.03.003h-.003l-.001-.001c-.747-.403-1.627-1.193-2.44-2.162-.805-.962-1.474-2.017-1.837-2.88a.165.165 0 0 1-.004-.109.428.428 0 0 1 .117-.191L12.04 15a2.5 2.5 0 0 0 .643-2.449l-.768-2.728A2.5 2.5 0 0 0 9.51 8H4.5Z\"],[\"<path d='M7.5 1h1.793L9.146.854a.5.5 0 0 1 .708-.708l1 1A.5.5 0 0 1 10.5 2h-3a.5.5 0 0 1 0-1ZM11 3.5a.5.5 0 0 1-.5.5H8.707l.147.146a.5.5 0 1 1-.708.708l-1-1A.5.5 0 0 1 7.5 3h3a.5.5 0 0 1 .5.5Z'></path><path d='M2.469 1c-.82 0-1.524.674-1.466 1.536.192 2.82 1.177 4.882 2.623 6.27 1.441 1.385 3.301 2.062 5.18 2.19.617.043 1.156-.325 1.397-.85l.659-1.437a1.5 1.5 0 0 0-.492-1.846l-.791-.565a1.5 1.5 0 0 0-1.932.16l-.424.423a.402.402 0 0 1-.19.112.148.148 0 0 1-.115-.014c-.68-.408-1.504-1.33-1.886-2.067-.036-.069-.038-.204.1-.342l.424-.423a1.5 1.5 0 0 0 .354-1.56L5.703 2A1.5 1.5 0 0 0 4.29 1H2.47Zm-.468 1.468A.452.452 0 0 1 2.47 2h1.82a.5.5 0 0 1 .471.333l.207.586a.5.5 0 0 1-.118.52l-.423.424c-.36.359-.57.954-.282 1.51.456.878 1.401 1.948 2.26 2.463.559.336 1.172.106 1.526-.247l.424-.424a.5.5 0 0 1 .644-.053l.791.565a.5.5 0 0 1 .164.615l-.659 1.436a.44.44 0 0 1-.42.27c-1.689-.115-3.313-.719-4.556-1.913C3.08 6.895 2.18 5.081 2.001 2.468Z'></path>\",\"M8 3.5a.5.5 0 0 1 .5-.5h4.793l-1.146-1.146a.5.5 0 1 1 .707-.708l2 2A.5.5 0 0 1 14.5 4h-6a.5.5 0 0 1-.5-.5ZM8.5 5h6a.5.5 0 0 1 0 1H9.707l1.147 1.146a.5.5 0 0 1-.707.708l-2-2A.5.5 0 0 1 8.5 5ZM2.48 4c-.822 0-1.52.676-1.472 1.53.18 3.169 1.194 5.482 2.796 7.035 1.599 1.55 3.727 2.29 6.034 2.415a1.454 1.454 0 0 0 1.44-.976l.57-1.597a1.5 1.5 0 0 0-.59-1.758l-1.124-.737a1.5 1.5 0 0 0-1.896.207l-.814.833a.419.419 0 0 1-.197.119.178.178 0 0 1-.134-.015c-.77-.425-1.692-1.407-2.101-2.21-.036-.07-.036-.208.103-.347l1.04-1.036a1.5 1.5 0 0 0 .354-1.569l-.323-.9A1.5 1.5 0 0 0 4.754 4H2.48Zm-.473 1.474A.46.46 0 0 1 2.48 5h2.274a.5.5 0 0 1 .47.331l.324.9a.5.5 0 0 1-.118.524L4.39 7.79c-.36.358-.573.952-.29 1.509.493.968 1.552 2.103 2.51 2.632.565.311 1.175.083 1.53-.281l.813-.834a.5.5 0 0 1 .633-.069l1.123.738a.5.5 0 0 1 .197.585l-.57 1.597a.454.454 0 0 1-.443.314c-2.132-.116-4.009-.793-5.393-2.134-1.38-1.34-2.325-3.394-2.493-6.374Z\",\"M22.924 5.383a1 1 0 0 0-.217-1.09l-3-3a1 1 0 1 0-1.414 1.414L19.586 4H14a1 1 0 1 0 0 2h8a1 1 0 0 0 .924-.617Zm-9.848 3.234a1 1 0 0 0 .217 1.09l3 3a1 1 0 0 0 1.414-1.414L16.414 10H22a1 1 0 1 0 0-2h-8a1 1 0 0 0-.924.617ZM3.5 5C2.13 5 .965 6.126 1.04 7.557c.27 5.152 1.906 8.933 4.504 11.476 2.592 2.538 6.036 3.737 9.727 3.937 1.134.06 2.103-.68 2.433-1.7l.864-2.669a2.5 2.5 0 0 0-1.178-2.963l-1.992-1.09a2.5 2.5 0 0 0-2.983.44l-1.222 1.243a.372.372 0 0 1-.168.106l-.008.002c-.546-.327-1.18-.908-1.772-1.616-.591-.706-1.087-1.474-1.38-2.118a.138.138 0 0 1-.003-.087.412.412 0 0 1 .113-.185l1.273-1.267a2.5 2.5 0 0 0 .643-2.449l-.505-1.794A2.5 2.5 0 0 0 6.98 5H3.5Zm-.463 2.452A.446.446 0 0 1 3.5 7h3.48a.5.5 0 0 1 .481.365l.505 1.794a.5.5 0 0 1-.129.49l-1.273 1.266c-.598.596-.947 1.574-.52 2.516.383.843.986 1.763 1.667 2.576.676.807 1.48 1.573 2.294 2.056.979.582 2.031.164 2.614-.43l1.223-1.243a.5.5 0 0 1 .596-.088l1.992 1.09a.5.5 0 0 1 .236.593l-.865 2.67a.433.433 0 0 1-.422.317c-3.334-.18-6.272-1.25-8.436-3.368-2.16-2.113-3.655-5.375-3.906-10.152Z\",\"M29.383 7.924a.997.997 0 0 0 .322-.215l.004-.004a.997.997 0 0 0-.002-1.412l-4-4a1 1 0 1 0-1.414 1.414L26.586 6H17a1 1 0 1 0 0 2h12a.997.997 0 0 0 .383-.076ZM16 11a.996.996 0 0 0 .282.696l.012.012 3.999 4a1 1 0 0 0 1.414-1.415L19.414 12H29a1 1 0 1 0 0-2H16.985A.998.998 0 0 0 16 11ZM4.5 8c-1.371 0-2.527 1.123-2.469 2.544.274 6.595 2.317 11.383 5.576 14.571 3.253 3.183 7.603 4.66 12.28 4.861 1.123.048 2.09-.683 2.42-1.705l1.262-3.892a2.5 2.5 0 0 0-1.179-2.964l-3.01-1.647a2.5 2.5 0 0 0-2.984.44l-1.877 1.91a.394.394 0 0 1-.178.111c-.02.004-.03.003-.03.003l-.004-.001c-.747-.403-1.627-1.193-2.44-2.162-.805-.962-1.474-2.017-1.837-2.88a.165.165 0 0 1-.004-.109.428.428 0 0 1 .117-.191L12.04 15a2.5 2.5 0 0 0 .643-2.449l-.768-2.728A2.5 2.5 0 0 0 9.51 8H4.5Zm-.47 2.461A.456.456 0 0 1 4.5 10h5.009a.5.5 0 0 1 .481.365l.768 2.728a.5.5 0 0 1-.129.49L8.732 15.47c-.601.598-.938 1.561-.545 2.495.46 1.09 1.249 2.314 2.147 3.387.892 1.065 1.963 2.066 3.023 2.638.972.524 2 .128 2.588-.47l1.877-1.91a.5.5 0 0 1 .597-.089l3.011 1.648a.5.5 0 0 1 .236.592l-1.26 3.892a.446.446 0 0 1-.434.324c-4.317-.185-8.151-1.538-10.966-4.292-2.81-2.75-4.719-7.006-4.976-13.225Z\"]];","export default [[\"<path d='M10.854 1.146a.5.5 0 0 1 0 .708L9.707 3l1.147 1.146a.5.5 0 0 1-.708.708L9 3.707 7.854 4.854a.5.5 0 1 1-.708-.708L8.293 3 7.146 1.854a.5.5 0 1 1 .708-.708L9 2.293l1.146-1.147a.5.5 0 0 1 .708 0Z'></path><path d='M2.469 1c-.82 0-1.524.674-1.466 1.536.192 2.82 1.177 4.882 2.622 6.27 1.442 1.385 3.302 2.062 5.18 2.19a1.437 1.437 0 0 0 1.398-.85l.659-1.437a1.5 1.5 0 0 0-.492-1.846l-.791-.565a1.5 1.5 0 0 0-1.932.16l-.424.423a.402.402 0 0 1-.19.112.148.148 0 0 1-.115-.014c-.68-.408-1.504-1.33-1.886-2.067-.036-.069-.038-.203.1-.342l.424-.423a1.5 1.5 0 0 0 .354-1.56L5.703 2a1.5 1.5 0 0 0-1.414-1h-1.82Z'></path>\",\"<path d='M14.854 1.146a.5.5 0 0 1 0 .708L12.707 4l2.147 2.146a.5.5 0 0 1-.708.708L12 4.707 9.854 6.854a.5.5 0 1 1-.708-.708L11.293 4 9.146 1.854a.5.5 0 1 1 .708-.708L12 3.293l2.146-2.147a.5.5 0 0 1 .708 0Z'></path><path d='M2.48 1c-.824 0-1.515.674-1.479 1.523.182 4.254 1.505 7.326 3.607 9.365 2.099 2.036 4.916 2.986 7.979 3.113a1.464 1.464 0 0 0 1.433-.982l.892-2.501a1.5 1.5 0 0 0-.59-1.758l-1.868-1.226a1.5 1.5 0 0 0-1.897.206l-1.354 1.387c-.139.143-.28.146-.356.109-.533-.265-1.152-.76-1.713-1.352-.56-.59-1.029-1.243-1.284-1.796-.04-.086-.03-.232.108-.369l1.61-1.604a1.5 1.5 0 0 0 .354-1.57l-.557-1.551A1.5 1.5 0 0 0 5.954 1H2.48Z'></path>\",\"<path d='M21.707 2.293a1 1 0 0 1 0 1.414L19.414 6l2.293 2.293a1 1 0 0 1-1.414 1.414L18 7.414l-2.293 2.293a1 1 0 0 1-1.414-1.414L16.586 6l-2.293-2.293a1 1 0 0 1 1.414-1.414L18 4.586l2.293-2.293a1 1 0 0 1 1.414 0Z'></path><path d='M4.467 2.001c-1.371 0-2.532 1.126-2.464 2.551C2.28 10.444 4.16 14.74 7.15 17.607c2.982 2.86 6.954 4.194 11.217 4.39 1.122.05 2.086-.677 2.42-1.692l1.083-3.281a2.5 2.5 0 0 0-1.191-2.985l-2.584-1.389a2.5 2.5 0 0 0-2.95.434l-1.618 1.615a.385.385 0 0 1-.174.107.122.122 0 0 1-.02.003h-.004c-.661-.362-1.437-1.048-2.157-1.89-.715-.835-1.312-1.75-1.65-2.507a.144.144 0 0 1-.003-.1.418.418 0 0 1 .116-.19l1.61-1.572a2.5 2.5 0 0 0 .655-2.477l-.647-2.26A2.5 2.5 0 0 0 8.849 2H4.467Z'></path>\",\"<path d='M4.959 2C3.31 2 1.929 3.349 2.003 5.048c.374 8.498 3.1 14.634 7.37 18.709 4.262 4.067 9.95 5.976 16.057 6.242 1.36.059 2.532-.84 2.914-2.094l1.529-5.026a3 3 0 0 0-1.458-3.52l-3.725-1.988a3 3 0 0 0-3.536.527l-2.848 2.851c-.248.249-.505.284-.662.233-1.295-.422-2.744-1.394-4-2.65-1.254-1.258-2.225-2.71-2.646-4.006-.05-.157-.015-.414.233-.662l2.87-2.873a3 3 0 0 0 .684-3.178l-1.383-3.67A3 3 0 0 0 10.595 2H4.959Z'></path><path d='M27.707 4.293a1 1 0 0 1 0 1.414L24.414 9l3.293 3.293a1 1 0 0 1-1.414 1.414L23 10.414l-3.293 3.293a1 1 0 1 1-1.414-1.414L21.586 9l-3.293-3.293a1 1 0 0 1 1.414-1.414L23 7.586l3.293-3.293a1 1 0 0 1 1.414 0Z'></path>\"],[\"<path d='M10.854 1.146a.5.5 0 0 1 0 .708L9.707 3l1.147 1.146a.5.5 0 0 1-.708.708L9 3.707 7.854 4.854a.5.5 0 1 1-.708-.708L8.293 3 7.146 1.854a.5.5 0 1 1 .708-.708L9 2.293l1.146-1.147a.5.5 0 0 1 .708 0Z'></path><path d='M1.003 2.536C.945 1.674 1.65 1 2.47 1h1.82a1.5 1.5 0 0 1 1.414 1l.207.586a1.5 1.5 0 0 1-.354 1.561l-.424.423c-.138.139-.136.273-.1.342.382.737 1.207 1.659 1.886 2.067a.15.15 0 0 0 .114.014.402.402 0 0 0 .19-.112l.425-.424a1.5 1.5 0 0 1 1.932-.159l.791.565a1.5 1.5 0 0 1 .492 1.846l-.66 1.436c-.24.526-.78.894-1.396.852-1.88-.129-3.739-.806-5.18-2.19-1.446-1.39-2.43-3.451-2.623-6.271ZM2.47 2a.452.452 0 0 0-.47.468c.179 2.612 1.08 4.428 2.318 5.617C5.561 9.28 7.185 9.883 8.874 10a.44.44 0 0 0 .42-.27l.659-1.437a.5.5 0 0 0-.164-.615l-.791-.565a.5.5 0 0 0-.644.053l-.425.424c-.353.353-.967.583-1.526.247C5.545 7.32 4.6 6.25 4.143 5.372c-.287-.555-.077-1.15.283-1.509l.423-.423a.5.5 0 0 0 .118-.52l-.207-.587A.5.5 0 0 0 4.29 2H2.47Z'></path>\",\"<path d='M14.854 1.146a.5.5 0 0 1 0 .708L12.707 4l2.147 2.146a.5.5 0 0 1-.708.708L12 4.707 9.854 6.854a.5.5 0 1 1-.708-.708L11.293 4 9.146 1.854a.5.5 0 1 1 .708-.708L12 3.293l2.146-2.147a.5.5 0 0 1 .708 0Z'></path><path d='M1.001 2.523C.965 1.674 1.656 1 2.48 1h3.474a1.5 1.5 0 0 1 1.411.994l.557 1.552a1.5 1.5 0 0 1-.353 1.57L5.958 6.718c-.138.137-.148.283-.108.37.255.552.723 1.204 1.284 1.795.561.593 1.18 1.087 1.713 1.352.075.037.217.034.356-.109l1.354-1.387a1.5 1.5 0 0 1 1.896-.206l1.869 1.226a1.5 1.5 0 0 1 .59 1.758l-.892 2.501a1.464 1.464 0 0 1-1.433.982c-3.063-.127-5.88-1.077-7.979-3.113-2.102-2.04-3.425-5.111-3.607-9.365ZM2.48 2a.47.47 0 0 0-.48.48c.174 4.065 1.429 6.87 3.304 8.69 1.879 1.822 4.438 2.713 7.324 2.832a.465.465 0 0 0 .45-.318l.892-2.502a.5.5 0 0 0-.197-.586L11.905 9.37a.5.5 0 0 0-.632.069l-1.354 1.387c-.357.366-.954.584-1.516.306-.675-.335-1.387-.917-1.995-1.56-.61-.643-1.152-1.384-1.466-2.065-.255-.553-.051-1.136.31-1.496l1.611-1.604a.5.5 0 0 0 .118-.524l-.557-1.552A.5.5 0 0 0 5.954 2H2.48Z'></path>\",\"<path d='M21.707 2.293a1 1 0 0 1 0 1.414L19.414 6l2.293 2.293a1 1 0 0 1-1.414 1.414L18 7.414l-2.293 2.293a1 1 0 0 1-1.414-1.414L16.586 6l-2.293-2.293a1 1 0 0 1 1.414-1.414L18 4.586l2.293-2.293a1 1 0 0 1 1.414 0Z'></path><path d='M2.003 4.552c-.068-1.425 1.093-2.55 2.464-2.55h4.382a2.5 2.5 0 0 1 2.404 1.81l.647 2.261a2.5 2.5 0 0 1-.655 2.477l-1.61 1.573a.418.418 0 0 0-.116.19.144.144 0 0 0 .004.099c.337.756.934 1.672 1.65 2.507.72.842 1.495 1.528 2.156 1.89h.005c.004 0 .01 0 .02-.003a.385.385 0 0 0 .173-.107l1.617-1.615a2.5 2.5 0 0 1 2.95-.434l2.585 1.389a2.5 2.5 0 0 1 1.19 2.985l-1.081 3.281c-.335 1.015-1.3 1.743-2.42 1.691-4.264-.195-8.236-1.529-11.218-4.39-2.99-2.868-4.87-7.162-5.147-13.054Zm2.464-.55A.451.451 0 0 0 4 4.457c.26 5.506 1.997 9.27 4.535 11.705 2.545 2.443 6.01 3.656 9.924 3.835a.443.443 0 0 0 .43-.32l1.081-3.28a.5.5 0 0 0-.238-.597l-2.584-1.39a.5.5 0 0 0-.59.087l-1.617 1.616c-.585.584-1.607.978-2.571.45-.956-.523-1.915-1.406-2.718-2.345-.808-.944-1.522-2.02-1.956-2.993-.423-.948-.072-1.934.541-2.534l1.61-1.572a.5.5 0 0 0 .13-.496l-.647-2.26A.5.5 0 0 0 8.85 4H4.466Z'></path>\",\"<path d='M2.003 5.048C1.928 3.348 3.31 2 4.959 2h5.636a3 3 0 0 1 2.807 1.942l1.383 3.671a3 3 0 0 1-.685 3.178l-2.87 2.873c-.247.248-.283.505-.232.662.421 1.297 1.392 2.748 2.647 4.005 1.255 1.257 2.704 2.23 3.999 2.651.157.051.414.016.662-.233l2.848-2.851a3 3 0 0 1 3.536-.527l3.725 1.989a3 3 0 0 1 1.458 3.52l-1.53 5.025c-.38 1.253-1.552 2.153-2.913 2.094-6.106-.266-11.795-2.175-16.057-6.242-4.27-4.075-6.996-10.211-7.37-18.71ZM4.959 4c-.562 0-.98.452-.958.96.357 8.104 2.936 13.707 6.753 17.35 3.826 3.651 9.008 5.44 14.763 5.69.398.018.782-.247.913-.677l1.53-5.026a1 1 0 0 0-.487-1.173l-3.725-1.989a1 1 0 0 0-1.179.176l-2.848 2.852c-.642.643-1.655 1.06-2.697.72-1.682-.547-3.392-1.734-4.795-3.139-1.402-1.404-2.587-3.117-3.133-4.8-.337-1.04.078-2.051.72-2.693l2.87-2.874a1 1 0 0 0 .228-1.059l-1.383-3.67A1 1 0 0 0 10.595 4H4.959Z'></path><path d='M27.707 4.293a1 1 0 0 1 0 1.414L24.414 9l3.293 3.293a1 1 0 0 1-1.414 1.414L23 10.414l-3.293 3.293a1 1 0 1 1-1.414-1.414L21.586 9l-3.293-3.293a1 1 0 0 1 1.414-1.414L23 7.586l3.293-3.293a1 1 0 0 1 1.414 0Z'></path>\"]];","export default [[\"M7 6.345V6.29a3.38 3.38 0 0 0-.173-.083C6.573 6.094 6.272 6 6 6c-.272 0-.573.094-.827.207A3.379 3.379 0 0 0 5 6.29v.055a1.5 1.5 0 0 1-1.206 1.471l-.744.149a1.5 1.5 0 0 1-1.756-1.133l-.167-.726c-.106-.46.005-.98.398-1.333C2.207 4.161 3.788 3 6 3c2.212 0 3.793 1.161 4.475 1.773.393.352.504.874.398 1.333l-.167.726A1.5 1.5 0 0 1 8.95 7.965l-.744-.149A1.5 1.5 0 0 1 7 6.346Z\",\"M8 4C4.705 4 2.349 5.955 1.496 6.782a1.394 1.394 0 0 0-.375 1.314l.388 1.728a1.5 1.5 0 0 0 2.002 1.072l1.527-.587A1.5 1.5 0 0 0 6 8.909v-.697c0-.04.005-.068.01-.084l.004-.012c.16-.18.685-.64 1.986-.64s1.826.46 1.986.64l.004.012c.005.016.01.043.01.084v.697a1.5 1.5 0 0 0 .961 1.4l1.528.587a1.5 1.5 0 0 0 2.002-1.072l.388-1.728a1.394 1.394 0 0 0-.375-1.314C13.65 5.955 11.294 4 8 4Z\",\"M12 6C6.279 6 2.888 9.09 1.572 10.604c-.658.757-.757 1.756-.49 2.596l.85 2.671a3 3 0 0 0 3.808 1.937l1.209-.404A3 3 0 0 0 9 14.56v-2.015c.438-.216 1.37-.544 3-.544s2.562.328 3 .544v2.014a3 3 0 0 0 2.051 2.846l1.21.404a3 3 0 0 0 3.807-1.937l.85-2.67c.267-.84.168-1.84-.49-2.597C21.112 9.089 17.72 6 12 6Z\",\"M16 9C8.889 9 4.413 12.585 2.623 14.373c-.885.884-.967 2.176-.463 3.184l1.98 3.959a3 3 0 0 0 4.226 1.23l2.178-1.306A3 3 0 0 0 12 18.868V17.24c0-.397.215-.646.452-.718A12.234 12.234 0 0 1 16 16c1.503 0 2.74.274 3.548.522.237.072.452.321.452.718v1.628a3 3 0 0 0 1.456 2.572l2.178 1.306a3 3 0 0 0 4.226-1.23l1.98-3.96c.504-1.007.422-2.299-.463-3.183C27.587 12.585 23.11 9 16 9Z\"],[\"M6 4c1.857 0 3.208.98 3.807 1.517.081.073.13.203.092.364l-.168.726a.5.5 0 0 1-.585.377l-.744-.148A.5.5 0 0 1 8 6.346V6a.511.511 0 0 0-.229-.42s-.106-.066-.153-.093a4.358 4.358 0 0 0-.385-.194C6.923 5.156 6.474 5 6 5c-.474 0-.923.156-1.233.293a4.349 4.349 0 0 0-.542.29A.502.502 0 0 0 4 6v.345a.5.5 0 0 1-.402.49l-.744.15a.5.5 0 0 1-.585-.378L2.1 5.88c-.037-.161.01-.291.092-.364C2.792 4.98 4.143 4 6 4Zm1 2.29v.055a1.5 1.5 0 0 0 1.206 1.471l.744.149a1.5 1.5 0 0 0 1.756-1.133l.167-.726c.106-.46-.005-.98-.398-1.333C9.793 4.161 8.212 3 6 3 3.788 3 2.207 4.161 1.525 4.773c-.393.352-.504.874-.398 1.333l.167.726A1.5 1.5 0 0 0 3.05 7.965l.744-.149A1.5 1.5 0 0 0 5 6.346V6.29c.051-.027.11-.055.173-.083C5.427 6.094 5.728 6 6 6c.272 0 .573.094.827.207.064.028.122.056.173.083Z\",\"M8 5C5.098 5 2.982 6.734 2.193 7.5a.395.395 0 0 0-.096.377l.387 1.729a.5.5 0 0 0 .668.357l1.527-.588A.5.5 0 0 0 5 8.91v-.697c0-.222.05-.516.265-.758C5.62 7.052 6.42 6.476 8 6.476s2.38.576 2.735.978c.215.242.265.536.265.758v.697a.5.5 0 0 0 .32.466l1.528.588a.5.5 0 0 0 .667-.357l.388-1.729a.395.395 0 0 0-.096-.377C13.018 6.734 10.902 5 8 5ZM1.496 6.782C2.35 5.955 4.706 4 8 4c3.294 0 5.651 1.955 6.504 2.782.364.354.477.858.375 1.314l-.388 1.728a1.5 1.5 0 0 1-2.002 1.072l-1.528-.587a1.5 1.5 0 0 1-.961-1.4v-.697a.304.304 0 0 0-.014-.096c-.16-.18-.685-.64-1.986-.64s-1.826.46-1.986.64l-.004.012a.304.304 0 0 0-.01.084v.697a1.5 1.5 0 0 1-.962 1.4l-1.527.587a1.5 1.5 0 0 1-2.002-1.072L1.12 8.096c-.102-.456.011-.96.375-1.314Z\",\"M12 8c-4.929 0-7.815 2.646-8.918 3.915-.124.143-.188.383-.094.679l.85 2.67a1 1 0 0 0 1.27.646l1.208-.403A1 1 0 0 0 7 14.56v-2.133c0-.529.225-1.175.85-1.534C8.528 10.5 9.828 10 12 10c2.172 0 3.472.5 4.15.892.625.36.85 1.005.85 1.534v2.133a1 1 0 0 0 .684.948l1.209.403a1 1 0 0 0 1.269-.645l.85-2.671c.094-.296.03-.536-.094-.678C19.815 10.646 16.928 8 12 8ZM1.572 10.604C2.888 9.089 6.28 6 12 6c5.721 0 9.112 3.09 10.428 4.604.658.757.757 1.756.49 2.596l-.85 2.671a3 3 0 0 1-3.808 1.937l-1.209-.404A3 3 0 0 1 15 14.56v-2.015c-.438-.216-1.37-.544-3-.544s-2.562.328-3 .544v2.014a3 3 0 0 1-2.051 2.846l-1.21.404a3 3 0 0 1-3.807-1.937l-.85-2.67c-.267-.84-.168-1.84.49-2.597Z\",\"M16 11c-6.39 0-10.388 3.214-11.963 4.788-.19.19-.263.523-.088.874l1.98 3.959a1 1 0 0 0 1.408.41l2.177-1.306a1 1 0 0 0 .486-.857V17.24c0-1.122.651-2.259 1.867-2.63A14.23 14.23 0 0 1 16 14c1.743 0 3.18.317 4.133.61C21.35 14.98 22 16.117 22 17.24v1.628a1 1 0 0 0 .485.857l2.178 1.306a1 1 0 0 0 1.408-.41l1.98-3.959c.175-.35.103-.684-.088-.874C26.388 14.214 22.391 11 16 11ZM2.623 14.373C4.413 12.585 8.89 9 16 9c7.111 0 11.587 3.585 13.377 5.373.885.884.967 2.176.463 3.184l-1.98 3.959a3 3 0 0 1-4.226 1.23l-2.178-1.306A3 3 0 0 1 20 18.868V17.24c0-.397-.215-.646-.452-.718A12.233 12.233 0 0 0 16 16c-1.503 0-2.74.274-3.548.522-.237.072-.452.321-.452.718v1.628a3 3 0 0 1-1.457 2.572l-2.177 1.306a3 3 0 0 1-4.226-1.23l-1.98-3.96c-.504-1.007-.422-2.299.463-3.183Z\"]];","export default [[\"M10 .5a.5.5 0 0 0-1 0v2.793l-.646-.647a.5.5 0 1 0-.708.708l1.5 1.5A.498.498 0 0 0 9.497 5h.006a.498.498 0 0 0 .35-.146l1.5-1.5a.5.5 0 0 0-.707-.708L10 3.293V.5ZM2.469 1c-.82 0-1.524.674-1.466 1.536.192 2.82 1.177 4.882 2.623 6.27 1.441 1.385 3.301 2.062 5.18 2.19.617.043 1.156-.325 1.397-.85l.659-1.437a1.5 1.5 0 0 0-.492-1.846l-.791-.565a1.5 1.5 0 0 0-1.932.16l-.424.423a.402.402 0 0 1-.19.112.148.148 0 0 1-.115-.014c-.68-.408-1.504-1.33-1.886-2.067-.036-.069-.038-.204.1-.342l.424-.423a1.5 1.5 0 0 0 .354-1.56L5.703 2A1.5 1.5 0 0 0 4.29 1H2.47Z\",\"M2.48 1c-.824 0-1.515.674-1.479 1.523.182 4.254 1.505 7.326 3.607 9.365 2.099 2.036 4.916 2.986 7.978 3.113a1.464 1.464 0 0 0 1.434-.982l.892-2.501a1.5 1.5 0 0 0-.59-1.758l-1.869-1.226a1.5 1.5 0 0 0-1.896.206l-1.354 1.387c-.139.143-.28.146-.356.109-.533-.265-1.152-.76-1.713-1.352-.56-.591-1.029-1.243-1.284-1.796-.04-.086-.03-.232.108-.369l1.61-1.604a1.5 1.5 0 0 0 .354-1.57l-.557-1.551A1.5 1.5 0 0 0 5.953 1H2.48Zm7.666 3.146a.5.5 0 0 1 .708 0L12 5.293V1.5a.5.5 0 0 1 1 0v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 0 1 0-.708Z\",\"<path d='m17 7.586-1.293-1.293a1 1 0 1 0-1.414 1.414l3 3a.997.997 0 0 0 .705.294L18 11h.003a.996.996 0 0 0 .704-.293l3-3a1 1 0 0 0-1.414-1.414L19 7.586V2a1 1 0 1 0-2 0v5.586Z'></path><path d='M4.467 2.001c-1.371 0-2.531 1.125-2.464 2.55.277 5.893 2.158 10.187 5.147 13.055 2.982 2.861 6.954 4.195 11.217 4.39 1.122.052 2.086-.676 2.42-1.691l1.083-3.281a2.5 2.5 0 0 0-1.19-2.985l-2.585-1.39a2.5 2.5 0 0 0-2.95.434L13.526 14.7a.387.387 0 0 1-.174.107.11.11 0 0 1-.02.003h-.004c-.66-.362-1.437-1.048-2.157-1.89-.715-.836-1.311-1.75-1.649-2.508a.144.144 0 0 1-.004-.099.417.417 0 0 1 .116-.19l1.61-1.572a2.5 2.5 0 0 0 .655-2.477l-.647-2.26A2.5 2.5 0 0 0 8.85 2H4.467Z'></path>\",\"<path d='M4.959 2C3.31 2 1.929 3.349 2.003 5.048c.374 8.498 3.1 14.634 7.37 18.709 4.262 4.067 9.95 5.976 16.057 6.242 1.36.059 2.532-.84 2.914-2.094l1.529-5.026a3 3 0 0 0-1.458-3.52l-3.725-1.988a3 3 0 0 0-3.536.527l-2.848 2.851c-.248.249-.505.284-.662.233-1.295-.422-2.744-1.394-4-2.65-1.254-1.258-2.225-2.71-2.646-4.006-.05-.157-.015-.414.233-.662l2.87-2.873a3 3 0 0 0 .684-3.178l-1.383-3.67A3 3 0 0 0 10.595 2H4.959Z'></path><path d='M24 10.586V3a1 1 0 1 0-2 0v7.586l-2.293-2.293a1 1 0 1 0-1.414 1.414l4 4a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L24 10.586Z'></path>\"],[\"M10 .5a.5.5 0 0 0-1 0v2.793l-.646-.647a.5.5 0 1 0-.708.708l1.5 1.5A.498.498 0 0 0 9.497 5h.006a.498.498 0 0 0 .35-.146l1.5-1.5a.5.5 0 0 0-.707-.708L10 3.293V.5ZM1.003 2.536C.945 1.674 1.65 1 2.47 1h1.82a1.5 1.5 0 0 1 1.414 1l.207.586a1.5 1.5 0 0 1-.354 1.561l-.423.423c-.139.138-.137.273-.101.342.382.737 1.207 1.659 1.886 2.067.03.017.064.025.115.014a.402.402 0 0 0 .19-.112l.424-.424a1.5 1.5 0 0 1 1.932-.16l.791.566a1.5 1.5 0 0 1 .492 1.846l-.659 1.436c-.241.526-.78.894-1.397.852-1.879-.129-3.739-.806-5.18-2.19-1.446-1.39-2.43-3.451-2.623-6.271ZM2.47 2a.452.452 0 0 0-.468.468C2.18 5.08 3.08 6.896 4.318 8.085 5.561 9.28 7.185 9.883 8.874 10a.44.44 0 0 0 .42-.27l.66-1.437a.5.5 0 0 0-.165-.615l-.791-.565a.5.5 0 0 0-.644.053l-.424.424c-.354.353-.967.583-1.527.247C5.545 7.32 4.6 6.25 4.144 5.372c-.288-.555-.077-1.15.282-1.509l.423-.423a.5.5 0 0 0 .118-.52l-.207-.587A.5.5 0 0 0 4.29 2H2.47Z\",\"M1.001 2.523C.965 1.674 1.656 1 2.48 1h3.473a1.5 1.5 0 0 1 1.412.994l.557 1.552a1.5 1.5 0 0 1-.353 1.57L5.958 6.718c-.138.137-.148.283-.108.37.255.552.723 1.204 1.284 1.795.561.593 1.18 1.087 1.713 1.352.075.037.217.034.356-.109l1.354-1.387a1.5 1.5 0 0 1 1.896-.206l1.869 1.226a1.5 1.5 0 0 1 .59 1.758l-.892 2.501a1.464 1.464 0 0 1-1.434.982c-3.062-.127-5.88-1.077-7.978-3.113-2.102-2.04-3.425-5.111-3.607-9.365ZM2.48 2a.47.47 0 0 0-.48.48c.174 4.065 1.429 6.87 3.304 8.69 1.879 1.822 4.438 2.713 7.324 2.832a.465.465 0 0 0 .45-.318l.892-2.502a.5.5 0 0 0-.197-.586L11.905 9.37a.5.5 0 0 0-.632.069l-1.354 1.387c-.357.366-.954.584-1.516.306-.675-.335-1.387-.917-1.995-1.56-.61-.643-1.152-1.384-1.466-2.065-.255-.553-.051-1.136.31-1.496l1.611-1.605a.5.5 0 0 0 .118-.523l-.557-1.552A.5.5 0 0 0 5.954 2H2.48Zm7.666 2.146a.5.5 0 0 1 .708 0L12 5.293V1.5a.5.5 0 0 1 1 0v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 0 1 0-.708Z\",\"<path d='m17 7.586-1.293-1.293a1 1 0 1 0-1.414 1.414l3 3a.997.997 0 0 0 .705.294L18 11h.003a.996.996 0 0 0 .704-.293l3-3a1 1 0 0 0-1.414-1.414L19 7.586V2a1 1 0 1 0-2 0v5.586Z'></path><path d='M2.003 4.552C1.936 3.126 3.096 2 4.467 2H8.85a2.5 2.5 0 0 1 2.403 1.812l.647 2.26a2.5 2.5 0 0 1-.655 2.477l-1.61 1.572a.417.417 0 0 0-.116.19.144.144 0 0 0 .004.1c.338.756.934 1.671 1.65 2.507.72.842 1.495 1.528 2.156 1.89h.005l.02-.003a.387.387 0 0 0 .173-.107l1.617-1.616a2.5 2.5 0 0 1 2.95-.433l2.585 1.389a2.5 2.5 0 0 1 1.19 2.985l-1.081 3.281c-.335 1.015-1.3 1.743-2.42 1.691-4.263-.195-8.236-1.529-11.218-4.39-2.989-2.868-4.87-7.162-5.147-13.054ZM4.467 4A.45.45 0 0 0 4 4.458c.259 5.505 1.996 9.27 4.534 11.705 2.545 2.443 6.01 3.656 9.924 3.835a.443.443 0 0 0 .43-.32l1.081-3.28a.5.5 0 0 0-.238-.598l-2.584-1.389a.5.5 0 0 0-.59.087l-1.617 1.616c-.585.584-1.607.977-2.571.45-.956-.523-1.915-1.407-2.718-2.345-.808-.944-1.522-2.02-1.956-2.993-.422-.948-.072-1.934.541-2.534l1.61-1.573a.5.5 0 0 0 .13-.495l-.647-2.26A.5.5 0 0 0 8.85 4H4.467Z'></path>\",\"<path d='M2.003 5.048C1.928 3.348 3.31 2 4.959 2h5.636a3 3 0 0 1 2.807 1.942l1.383 3.671a3 3 0 0 1-.685 3.178l-2.87 2.873c-.247.248-.283.505-.232.662.421 1.297 1.392 2.748 2.647 4.005 1.255 1.257 2.704 2.23 3.999 2.651.157.051.414.016.662-.233l2.848-2.851a3 3 0 0 1 3.536-.527l3.725 1.989a3 3 0 0 1 1.458 3.52l-1.53 5.025c-.38 1.253-1.552 2.153-2.913 2.094-6.106-.266-11.795-2.175-16.057-6.242-4.27-4.075-6.996-10.211-7.37-18.71ZM4.959 4c-.562 0-.98.452-.958.96.357 8.104 2.936 13.707 6.753 17.35 3.826 3.651 9.008 5.44 14.763 5.69.398.018.782-.247.913-.677l1.53-5.026a1 1 0 0 0-.487-1.173l-3.725-1.989a1 1 0 0 0-1.179.176l-2.848 2.852c-.642.643-1.655 1.06-2.697.72-1.682-.547-3.392-1.734-4.795-3.139-1.402-1.404-2.587-3.117-3.133-4.8-.337-1.04.078-2.051.72-2.693l2.87-2.874a1 1 0 0 0 .228-1.059l-1.383-3.67A1 1 0 0 0 10.595 4H4.959Z'></path><path d='M24 10.586V3a1 1 0 1 0-2 0v7.586l-2.293-2.293a1 1 0 1 0-1.414 1.414l4 4a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L24 10.586Z'></path>\"]];","export default [[\"M1.5 1a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm4 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm4 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm-8 4a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm4 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm4 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm-8 4a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm4 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm4 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z\",\"M3 1a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm5 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm5 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4ZM3 11a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm5 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm5 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4ZM3 6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm5 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm5 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z\",\"M5 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm0 7a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm0 7a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm7-14a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm0 7a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm0 7a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm7-14a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm0 7a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm0 7a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z\",\"M6 2a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm0 10a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm0 10a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm10 0a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm0-10a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm10 10a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm0-10a4 4 0 1 0 0 8 4 4 0 0 0 0-8ZM16 2a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm10 0a4 4 0 1 0 0 8 4 4 0 0 0 0-8Z\"],[\"M0 2.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM1.5 2a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm2.5.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM5.5 2a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm4-1a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM9 2.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Zm-9 4a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM1.5 6a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm4-1a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM5 6.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Zm3 0a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM9.5 6a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm-8 3a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM1 10.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Zm3 0a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm1.5-.5a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm4-1a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM9 10.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Z\",\"M1 3a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm2-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm3 1a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm2-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm5-1a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm-1 2a1 1 0 1 1 2 0 1 1 0 0 1-2 0ZM1 13a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm2-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm5-1a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm-1 2a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm4 0a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm2-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2ZM3 6a2 2 0 1 0 0 4 2 2 0 0 0 0-4ZM2 8a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm4 0a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm2-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm5-1a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm-1 2a1 1 0 1 1 2 0 1 1 0 0 1-2 0Z\",\"M2 5a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm3-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm-3 8a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm3-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm0 5a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm-1 3a1 1 0 1 1 2 0 1 1 0 0 1-2 0ZM9 5a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm3-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm0 5a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm-1 3a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm-2 7a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm3-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm7-16a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm-1 3a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm-2 7a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm3-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm0 5a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm-1 3a1 1 0 1 1 2 0 1 1 0 0 1-2 0Z\",\"M6 2a4 4 0 1 0 0 8 4 4 0 0 0 0-8ZM4 6a2 2 0 1 1 4 0 2 2 0 0 1-4 0ZM2 16a4 4 0 1 1 8 0 4 4 0 0 1-8 0Zm4-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4ZM2 26a4 4 0 1 1 8 0 4 4 0 0 1-8 0Zm4-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm10-2a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm-2 4a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm-2-10a4 4 0 1 1 8 0 4 4 0 0 1-8 0Zm4-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm10 8a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm-2 4a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm-2-10a4 4 0 1 1 8 0 4 4 0 0 1-8 0Zm4-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4ZM12 6a4 4 0 1 1 8 0 4 4 0 0 1-8 0Zm4-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm10-2a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm-2 4a2 2 0 1 1 4 0 2 2 0 0 1-4 0Z\"]];","export default [[\"M7.646 2.354a.5.5 0 0 0 .708 0L9 1.707V4.5a.5.5 0 0 0 1 0V1.707l.646.647a.5.5 0 0 0 .708-.708l-1.5-1.5a.5.5 0 0 0-.708 0l-1.5 1.5a.5.5 0 0 0 0 .708ZM2.469 1c-.82 0-1.524.674-1.466 1.536.192 2.82 1.177 4.882 2.623 6.27 1.441 1.385 3.301 2.062 5.18 2.19.617.043 1.156-.325 1.397-.85l.659-1.437a1.5 1.5 0 0 0-.492-1.846l-.791-.565a1.5 1.5 0 0 0-1.932.16l-.424.423a.402.402 0 0 1-.19.112.148.148 0 0 1-.115-.014c-.68-.408-1.504-1.33-1.886-2.067-.036-.069-.038-.204.1-.342l.424-.423a1.5 1.5 0 0 0 .354-1.56L5.703 2A1.5 1.5 0 0 0 4.29 1H2.47Z\",\"M2.48 1c-.824 0-1.515.674-1.479 1.523.182 4.254 1.505 7.326 3.607 9.365 2.099 2.036 4.916 2.986 7.978 3.113a1.464 1.464 0 0 0 1.434-.982l.892-2.501a1.5 1.5 0 0 0-.59-1.758l-1.869-1.226a1.5 1.5 0 0 0-1.896.206l-1.354 1.387c-.139.143-.28.146-.356.109-.533-.265-1.152-.76-1.713-1.352-.56-.591-1.029-1.243-1.284-1.796-.04-.086-.03-.232.108-.369l1.61-1.604a1.5 1.5 0 0 0 .354-1.57l-.557-1.551A1.5 1.5 0 0 0 5.953 1H2.48Zm7.666 2.854a.5.5 0 0 0 .708 0L12 2.707V6.5a.5.5 0 0 0 1 0V2.707l1.146 1.147a.5.5 0 0 0 .708-.708l-2-2a.5.5 0 0 0-.708 0l-2 2a.5.5 0 0 0 0 .708Z\",\"<path d='M18.707 1.293a1 1 0 0 0-1.414 0l-3 3a1 1 0 0 0 1.414 1.414L17 4.414V10a1 1 0 1 0 2 0V4.414l1.293 1.293a1 1 0 1 0 1.414-1.414l-3-3Z'></path><path d='M4.467 2.001c-1.371 0-2.531 1.125-2.464 2.55.277 5.893 2.158 10.187 5.147 13.055 2.982 2.861 6.954 4.195 11.217 4.39 1.122.052 2.086-.676 2.42-1.691l1.083-3.281a2.5 2.5 0 0 0-1.19-2.985l-2.585-1.39a2.5 2.5 0 0 0-2.95.434L13.526 14.7a.387.387 0 0 1-.174.107.11.11 0 0 1-.02.003h-.004c-.66-.362-1.437-1.048-2.157-1.89-.715-.836-1.311-1.75-1.649-2.508a.144.144 0 0 1-.004-.099.417.417 0 0 1 .116-.19l1.61-1.572a2.5 2.5 0 0 0 .655-2.477l-.647-2.26A2.5 2.5 0 0 0 8.85 2H4.467Z'></path>\",\"<path d='M4.959 2C3.31 2 1.929 3.349 2.003 5.048c.374 8.498 3.1 14.634 7.37 18.709 4.262 4.067 9.95 5.976 16.057 6.242 1.36.059 2.532-.84 2.914-2.094l1.529-5.026a3 3 0 0 0-1.458-3.52l-3.725-1.988a3 3 0 0 0-3.536.527l-2.848 2.851c-.248.249-.505.284-.662.233-1.295-.422-2.744-1.394-4-2.65-1.254-1.258-2.225-2.71-2.646-4.006-.05-.157-.015-.414.233-.662l2.87-2.873a3 3 0 0 0 .684-3.178l-1.383-3.67A3 3 0 0 0 10.595 2H4.959Z'></path><path d='m22 5.414-2.293 2.293a1 1 0 1 1-1.414-1.414l4-4a1 1 0 0 1 1.414 0l4 4a1 1 0 0 1-1.414 1.414L24 5.414V13a1 1 0 1 1-2 0V5.414Z'></path>\"],[\"M7.646 2.354a.5.5 0 0 0 .708 0L9 1.707V4.5a.5.5 0 0 0 1 0V1.707l.646.647a.5.5 0 0 0 .708-.708l-1.5-1.5a.5.5 0 0 0-.708 0l-1.5 1.5a.5.5 0 0 0 0 .708Zm-6.643.182C.945 1.674 1.65 1 2.47 1h1.82a1.5 1.5 0 0 1 1.414 1l.207.586a1.5 1.5 0 0 1-.354 1.561l-.423.423c-.139.138-.137.273-.101.342.382.737 1.207 1.659 1.886 2.067.03.017.064.025.115.014a.402.402 0 0 0 .19-.112l.424-.424a1.5 1.5 0 0 1 1.932-.16l.791.566a1.5 1.5 0 0 1 .492 1.846l-.659 1.436c-.241.526-.78.894-1.397.852-1.879-.129-3.739-.806-5.18-2.19-1.446-1.39-2.43-3.451-2.623-6.271ZM2.47 2a.452.452 0 0 0-.468.468C2.18 5.08 3.08 6.896 4.318 8.085 5.561 9.28 7.185 9.883 8.874 10a.44.44 0 0 0 .42-.27l.66-1.437a.5.5 0 0 0-.165-.615l-.791-.565a.5.5 0 0 0-.644.053l-.424.424c-.354.353-.967.583-1.527.247C5.545 7.32 4.6 6.25 4.144 5.372c-.288-.555-.077-1.15.282-1.509l.423-.423a.5.5 0 0 0 .118-.52l-.207-.587A.5.5 0 0 0 4.29 2H2.47Z\",\"M1.001 2.523C.965 1.674 1.656 1 2.48 1h3.473a1.5 1.5 0 0 1 1.412.994l.557 1.552a1.5 1.5 0 0 1-.353 1.57L5.958 6.718c-.138.137-.148.283-.108.37.255.552.723 1.204 1.284 1.795.561.593 1.18 1.087 1.713 1.352.075.037.217.034.356-.109l1.354-1.387a1.5 1.5 0 0 1 1.896-.206l1.869 1.226a1.5 1.5 0 0 1 .59 1.758l-.892 2.501a1.464 1.464 0 0 1-1.434.982c-3.062-.127-5.88-1.077-7.978-3.113-2.102-2.04-3.425-5.111-3.607-9.365ZM2.48 2a.47.47 0 0 0-.48.48c.174 4.065 1.429 6.87 3.304 8.69 1.879 1.822 4.438 2.713 7.324 2.832a.465.465 0 0 0 .45-.318l.892-2.502a.5.5 0 0 0-.197-.586L11.905 9.37a.5.5 0 0 0-.632.069l-1.354 1.387c-.357.366-.954.584-1.516.306-.675-.335-1.387-.917-1.995-1.56-.61-.643-1.152-1.384-1.466-2.065-.255-.553-.051-1.136.31-1.496l1.611-1.605a.5.5 0 0 0 .118-.523l-.557-1.552A.5.5 0 0 0 5.954 2H2.48Zm7.666 1.854a.5.5 0 0 0 .708 0L12 2.707V6.5a.5.5 0 0 0 1 0V2.707l1.146 1.147a.5.5 0 0 0 .708-.708l-2-2a.5.5 0 0 0-.708 0l-2 2a.5.5 0 0 0 0 .708Z\",\"<path d='M18.707 1.293a1 1 0 0 0-1.414 0l-3 3a1 1 0 0 0 1.414 1.414L17 4.414V10a1 1 0 1 0 2 0V4.414l1.293 1.293a1 1 0 1 0 1.414-1.414l-3-3Z'></path><path d='M2.003 4.552C1.936 3.126 3.096 2 4.467 2H8.85a2.5 2.5 0 0 1 2.403 1.812l.647 2.26a2.5 2.5 0 0 1-.655 2.477l-1.61 1.572a.417.417 0 0 0-.116.19.144.144 0 0 0 .004.1c.338.756.934 1.671 1.65 2.507.72.842 1.495 1.528 2.156 1.89h.005l.02-.003a.387.387 0 0 0 .173-.107l1.617-1.616a2.5 2.5 0 0 1 2.95-.433l2.585 1.389a2.5 2.5 0 0 1 1.19 2.985l-1.081 3.281c-.335 1.015-1.3 1.743-2.42 1.691-4.263-.195-8.236-1.529-11.218-4.39-2.989-2.868-4.87-7.162-5.147-13.054ZM4.467 4A.45.45 0 0 0 4 4.458c.259 5.505 1.996 9.27 4.534 11.705 2.545 2.443 6.01 3.656 9.924 3.835a.443.443 0 0 0 .43-.32l1.081-3.28a.5.5 0 0 0-.238-.598l-2.584-1.389a.5.5 0 0 0-.59.087l-1.617 1.616c-.585.584-1.607.977-2.571.45-.956-.523-1.915-1.407-2.718-2.345-.808-.944-1.522-2.02-1.956-2.993-.422-.948-.072-1.934.541-2.534l1.61-1.573a.5.5 0 0 0 .13-.495l-.647-2.26A.5.5 0 0 0 8.85 4H4.467Z'></path>\",\"<path d='M2.003 5.048C1.928 3.348 3.31 2 4.959 2h5.636a3 3 0 0 1 2.807 1.942l1.383 3.671a3 3 0 0 1-.685 3.178l-2.87 2.873c-.247.248-.283.505-.232.662.421 1.297 1.392 2.748 2.647 4.005 1.255 1.257 2.704 2.23 3.999 2.651.157.051.414.016.662-.233l2.848-2.851a3 3 0 0 1 3.536-.527l3.725 1.989a3 3 0 0 1 1.458 3.52l-1.53 5.025c-.38 1.253-1.552 2.153-2.913 2.094-6.106-.266-11.795-2.175-16.057-6.242-4.27-4.075-6.996-10.211-7.37-18.71ZM4.959 4c-.562 0-.98.452-.958.96.357 8.104 2.936 13.707 6.753 17.35 3.826 3.651 9.008 5.44 14.763 5.69.398.018.782-.247.913-.677l1.53-5.026a1 1 0 0 0-.487-1.173l-3.725-1.989a1 1 0 0 0-1.179.176l-2.848 2.852c-.642.643-1.655 1.06-2.697.72-1.682-.547-3.392-1.734-4.795-3.139-1.402-1.404-2.587-3.117-3.133-4.8-.337-1.04.078-2.051.72-2.693l2.87-2.874a1 1 0 0 0 .228-1.059l-1.383-3.67A1 1 0 0 0 10.595 4H4.959Z'></path><path d='m22 5.414-2.293 2.293a1 1 0 1 1-1.414-1.414l4-4a1 1 0 0 1 1.414 0l4 4a1 1 0 0 1-1.414 1.414L24 5.414V13a1 1 0 1 1-2 0V5.414Z'></path>\"]];","export default [[\"<path d='M2.469 1c-.82 0-1.524.674-1.466 1.536.192 2.82 1.177 4.882 2.622 6.27 1.442 1.385 3.302 2.062 5.18 2.19a1.437 1.437 0 0 0 1.398-.85l.659-1.437a1.5 1.5 0 0 0-.492-1.846l-.791-.565a1.5 1.5 0 0 0-1.932.16l-.424.423a.402.402 0 0 1-.19.112.148.148 0 0 1-.115-.014c-.68-.408-1.504-1.33-1.886-2.067-.036-.069-.038-.204.1-.342l.424-.423a1.5 1.5 0 0 0 .354-1.56L5.703 2a1.5 1.5 0 0 0-1.414-1h-1.82Z'></path><path d='M7 1.5a.5.5 0 0 1 1 0v3a.5.5 0 0 1-1 0v-3ZM9.5 1a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 1 0v-3a.5.5 0 0 0-.5-.5Z'></path>\",\"M10 1.5a.5.5 0 0 1 1 0v6a.5.5 0 0 1-1 0v-6ZM2.48 4c-.822 0-1.52.676-1.472 1.53.18 3.169 1.194 5.482 2.796 7.035 1.599 1.55 3.727 2.29 6.034 2.415a1.454 1.454 0 0 0 1.44-.976l.57-1.597a1.5 1.5 0 0 0-.59-1.758l-1.124-.737a1.5 1.5 0 0 0-1.896.207l-.814.833a.419.419 0 0 1-.197.119.178.178 0 0 1-.134-.015c-.77-.425-1.692-1.407-2.101-2.21-.036-.07-.036-.208.103-.347l1.04-1.036a1.5 1.5 0 0 0 .354-1.569l-.323-.9A1.5 1.5 0 0 0 4.754 4H2.48ZM13.5 1a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 1 0v-6a.5.5 0 0 0-.5-.5Z\",\"M15 2a1 1 0 1 1 2 0v8a1 1 0 1 1-2 0V2ZM3.5 5C2.13 5 .965 6.126 1.04 7.557c.27 5.152 1.906 8.933 4.504 11.476 2.592 2.538 6.036 3.737 9.727 3.937 1.134.06 2.103-.68 2.433-1.7l.864-2.669a2.5 2.5 0 0 0-1.178-2.963l-1.992-1.09a2.5 2.5 0 0 0-2.983.44l-1.222 1.243a.372.372 0 0 1-.168.106l-.008.002c-.546-.327-1.18-.908-1.772-1.616-.591-.706-1.087-1.474-1.38-2.118a.138.138 0 0 1-.003-.087.412.412 0 0 1 .113-.185l1.273-1.267a2.5 2.5 0 0 0 .643-2.449l-.505-1.794A2.5 2.5 0 0 0 6.98 5H3.5ZM20 1a1 1 0 0 0-1 1v8a1 1 0 1 0 2 0V2a1 1 0 0 0-1-1Z\",\"M20 3a1 1 0 1 1 2 0v12a1 1 0 1 1-2 0V3ZM4.5 8c-1.371 0-2.527 1.123-2.469 2.544.274 6.595 2.317 11.383 5.576 14.571 3.253 3.183 7.603 4.66 12.28 4.861 1.123.048 2.09-.683 2.42-1.705l1.262-3.892a2.5 2.5 0 0 0-1.179-2.964l-3.01-1.647a2.5 2.5 0 0 0-2.984.44l-1.877 1.91a.394.394 0 0 1-.178.111c-.02.004-.03.003-.03.003l-.004-.001c-.747-.403-1.627-1.193-2.44-2.162-.805-.962-1.474-2.017-1.837-2.88a.165.165 0 0 1-.004-.109.428.428 0 0 1 .117-.191L12.04 15a2.5 2.5 0 0 0 .643-2.449l-.768-2.728A2.5 2.5 0 0 0 9.51 8H4.5ZM26 2a1 1 0 0 0-1 1v12a1 1 0 1 0 2 0V3a1 1 0 0 0-1-1Z\"],[\"<path d='M2.469 1c-.82 0-1.524.674-1.466 1.536.192 2.82 1.177 4.882 2.623 6.27 1.441 1.385 3.301 2.062 5.18 2.19.617.043 1.156-.325 1.397-.85l.659-1.437a1.5 1.5 0 0 0-.492-1.846l-.791-.565a1.5 1.5 0 0 0-1.932.16l-.424.423a.402.402 0 0 1-.19.112.148.148 0 0 1-.115-.014c-.68-.408-1.504-1.33-1.886-2.067-.036-.069-.038-.204.1-.342l.424-.423a1.5 1.5 0 0 0 .354-1.56L5.703 2A1.5 1.5 0 0 0 4.29 1H2.47Zm-.468 1.468A.452.452 0 0 1 2.47 2h1.82a.5.5 0 0 1 .471.333l.207.586a.5.5 0 0 1-.118.52l-.423.424c-.36.359-.57.954-.282 1.51.456.878 1.401 1.948 2.26 2.463.559.336 1.172.106 1.526-.247l.424-.424a.5.5 0 0 1 .644-.053l.791.565a.5.5 0 0 1 .164.615l-.659 1.436a.44.44 0 0 1-.42.27c-1.689-.115-3.313-.719-4.556-1.913C3.08 6.895 2.18 5.081 2.001 2.468Z'></path><path d='M7 1.5a.5.5 0 1 1 1 0v3a.5.5 0 0 1-1 0v-3Zm2 0a.5.5 0 1 1 1 0v3a.5.5 0 0 1-1 0v-3Z'></path>\",\"M10 1.5a.5.5 0 0 1 1 0v6a.5.5 0 1 1-1 0v-6ZM1.008 5.53C.96 4.677 1.658 4 2.48 4h2.274a1.5 1.5 0 0 1 1.412.994l.323.9a1.5 1.5 0 0 1-.354 1.57l-1.04 1.035c-.14.14-.14.276-.103.347.409.803 1.33 1.785 2.101 2.21a.18.18 0 0 0 .134.015.419.419 0 0 0 .197-.119l.814-.833a1.5 1.5 0 0 1 1.896-.207l1.124.737a1.5 1.5 0 0 1 .59 1.758l-.57 1.597a1.454 1.454 0 0 1-1.44.976c-2.307-.125-4.435-.864-6.034-2.415C2.202 11.012 1.187 8.7 1.008 5.532ZM2.48 5a.46.46 0 0 0-.473.474c.168 2.98 1.112 5.034 2.493 6.373 1.384 1.342 3.261 2.019 5.393 2.135.185.01.37-.109.444-.314l.569-1.597a.5.5 0 0 0-.197-.585l-1.123-.738a.5.5 0 0 0-.633.069l-.813.834c-.355.364-.965.592-1.53.28-.958-.528-2.017-1.663-2.51-2.631-.283-.557-.07-1.151.29-1.51l1.04-1.035a.5.5 0 0 0 .118-.523l-.323-.9A.5.5 0 0 0 4.754 5H2.48ZM13.5 1a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 1 0v-6a.5.5 0 0 0-.5-.5Z\",\"M15 2a1 1 0 1 1 2 0v8a1 1 0 1 1-2 0V2ZM1.04 7.557C.965 6.127 2.13 5 3.5 5h3.48a2.5 2.5 0 0 1 2.406 1.823l.505 1.794a2.5 2.5 0 0 1-.643 2.45l-1.273 1.266a.412.412 0 0 0-.113.185c-.01.044-.004.069.004.087.292.644.788 1.412 1.379 2.118.591.708 1.226 1.289 1.772 1.616l.005-.001h.003a.372.372 0 0 0 .168-.107l1.222-1.243a2.5 2.5 0 0 1 2.983-.44l1.992 1.09a2.5 2.5 0 0 1 1.178 2.963l-.864 2.67c-.33 1.019-1.299 1.76-2.433 1.699-3.69-.2-7.135-1.399-9.727-3.937C2.946 16.49 1.31 12.71 1.04 7.557ZM3.5 7a.446.446 0 0 0-.463.452c.251 4.777 1.747 8.039 3.906 10.152 2.164 2.118 5.102 3.188 8.436 3.369.165.008.351-.1.422-.319l.865-2.67a.5.5 0 0 0-.236-.592l-1.992-1.09a.5.5 0 0 0-.596.088l-1.223 1.243c-.583.594-1.635 1.012-2.614.43-.814-.483-1.618-1.249-2.294-2.056-.68-.813-1.284-1.733-1.666-2.576-.428-.942-.079-1.92.52-2.516L7.836 9.65a.5.5 0 0 0 .129-.49L7.46 7.366A.5.5 0 0 0 6.98 7H3.5ZM20 1a1 1 0 0 0-1 1v8a1 1 0 1 0 2 0V2a1 1 0 0 0-1-1Z\",\"M20 3a1 1 0 1 1 2 0v12a1 1 0 1 1-2 0V3ZM2.031 10.544C1.973 9.123 3.13 8 4.5 8h5.009a2.5 2.5 0 0 1 2.406 1.823l.768 2.728a2.5 2.5 0 0 1-.643 2.45l-1.897 1.888a.428.428 0 0 0-.117.191.165.165 0 0 0 .005.11c.362.862 1.031 1.917 1.837 2.879.812.97 1.692 1.759 2.439 2.162l.003.001s.011.001.03-.003a.394.394 0 0 0 .179-.11l1.877-1.91a2.5 2.5 0 0 1 2.983-.441l3.011 1.647a2.5 2.5 0 0 1 1.178 2.964l-1.26 3.892c-.331 1.021-1.298 1.753-2.421 1.705-4.677-.2-9.027-1.678-12.28-4.86-3.259-3.19-5.302-7.977-5.576-14.572ZM4.5 10a.456.456 0 0 0-.47.461c.257 6.219 2.166 10.475 4.976 13.225 2.815 2.754 6.649 4.107 10.966 4.292a.446.446 0 0 0 .433-.324l1.26-3.892a.5.5 0 0 0-.235-.592l-3.011-1.648a.5.5 0 0 0-.597.088l-1.877 1.91c-.588.599-1.616.995-2.588.471-1.06-.572-2.13-1.573-3.023-2.638-.898-1.073-1.687-2.297-2.147-3.387-.393-.934-.056-1.897.545-2.495l1.897-1.888a.5.5 0 0 0 .129-.49l-.768-2.728A.5.5 0 0 0 9.51 10H4.5ZM26 2a1 1 0 0 0-1 1v12a1 1 0 1 0 2 0V3a1 1 0 0 0-1-1Z\"]];","export default [[\"<path d='M2.469 1c-.82 0-1.524.674-1.466 1.536.192 2.82 1.177 4.882 2.622 6.27 1.442 1.385 3.302 2.062 5.18 2.19a1.437 1.437 0 0 0 1.398-.85l.659-1.437a1.5 1.5 0 0 0-.492-1.846l-.791-.565a1.5 1.5 0 0 0-1.932.16l-.424.423a.402.402 0 0 1-.19.112.148.148 0 0 1-.115-.014c-.68-.408-1.504-1.33-1.886-2.067-.036-.069-.038-.204.1-.342l.424-.423a1.5 1.5 0 0 0 .354-1.56L5.703 2a1.5 1.5 0 0 0-1.414-1h-1.82Z'></path><path d='M7 1.5a.5.5 0 0 1 .757-.429l2.5 1.5a.5.5 0 0 1 0 .858l-2.5 1.5A.5.5 0 0 1 7 4.5v-3Z'></path>\",\"M9 2.004a1 1 0 0 1 1.533-.847l3.964 2.497a1 1 0 0 1-.001 1.693l-3.964 2.492A1 1 0 0 1 9 6.993v-4.99ZM2.48 4c-.822 0-1.52.675-1.472 1.53.18 3.168 1.194 5.482 2.796 7.035 1.599 1.55 3.727 2.29 6.034 2.415.66.036 1.23-.385 1.44-.977l.57-1.596a1.5 1.5 0 0 0-.59-1.758l-1.124-.737a1.5 1.5 0 0 0-1.896.206l-.814.834a.418.418 0 0 1-.197.118.179.179 0 0 1-.134-.014c-.77-.425-1.692-1.407-2.101-2.21-.036-.071-.036-.208.103-.347l1.04-1.036a1.5 1.5 0 0 0 .354-1.57l-.323-.9A1.5 1.5 0 0 0 4.754 4H2.48Z\",\"M14 2.504a1.5 1.5 0 0 1 2.298-1.27l5.56 3.496a1.5 1.5 0 0 1 0 2.54l-5.56 3.495A1.5 1.5 0 0 1 14 9.495v-6.99ZM3.5 5C2.13 5 .965 6.126 1.04 7.556c.27 5.153 1.906 8.934 4.504 11.477 2.592 2.538 6.036 3.736 9.727 3.936 1.134.061 2.103-.68 2.433-1.699l.865-2.67a2.5 2.5 0 0 0-1.179-2.963l-1.992-1.09a2.5 2.5 0 0 0-2.983.44l-1.222 1.244a.373.373 0 0 1-.168.106h-.004l-.004.001c-.546-.327-1.18-.908-1.772-1.615-.591-.706-1.087-1.475-1.38-2.119a.13.13 0 0 1-.002-.086.412.412 0 0 1 .112-.185l1.273-1.267a2.5 2.5 0 0 0 .643-2.45l-.505-1.794A2.5 2.5 0 0 0 6.98 5H3.5Z\",\"M17 4.059c0-1.573 1.732-2.53 3.064-1.694l7.869 4.941a2 2 0 0 1 0 3.388l-7.87 4.941c-1.331.837-3.063-.12-3.063-1.694V4.06ZM4.5 8c-1.371 0-2.527 1.123-2.469 2.544.274 6.595 2.317 11.383 5.576 14.571 3.253 3.183 7.603 4.661 12.28 4.861 1.123.049 2.09-.683 2.42-1.705l1.262-3.892a2.5 2.5 0 0 0-1.179-2.963l-3.01-1.648a2.5 2.5 0 0 0-2.984.44l-1.877 1.91a.394.394 0 0 1-.178.111c-.02.005-.03.004-.03.004l-.004-.002c-.747-.403-1.627-1.192-2.44-2.162-.805-.962-1.474-2.017-1.837-2.879a.165.165 0 0 1-.004-.11.428.428 0 0 1 .117-.191L12.04 15a2.5 2.5 0 0 0 .643-2.45l-.768-2.728A2.5 2.5 0 0 0 9.51 8H4.5Z\"],[\"<path d='M2.469 1c-.82 0-1.524.674-1.466 1.536.192 2.82 1.177 4.882 2.623 6.27 1.441 1.385 3.301 2.062 5.18 2.19.617.043 1.156-.325 1.397-.85l.659-1.437a1.5 1.5 0 0 0-.492-1.846l-.791-.565a1.5 1.5 0 0 0-1.932.16l-.424.423a.402.402 0 0 1-.19.112.148.148 0 0 1-.115-.014c-.68-.408-1.504-1.33-1.886-2.067-.036-.069-.038-.204.1-.342l.424-.423a1.5 1.5 0 0 0 .354-1.56L5.703 2A1.5 1.5 0 0 0 4.29 1H2.47Zm-.468 1.468A.452.452 0 0 1 2.47 2h1.82a.5.5 0 0 1 .471.333l.207.586a.5.5 0 0 1-.118.52l-.423.424c-.36.359-.57.954-.282 1.51.456.878 1.401 1.948 2.26 2.463.559.336 1.172.106 1.526-.247l.424-.424a.5.5 0 0 1 .644-.053l.791.565a.5.5 0 0 1 .164.615l-.659 1.436a.44.44 0 0 1-.42.27c-1.689-.115-3.313-.719-4.556-1.913C3.08 6.895 2.18 5.081 2.001 2.468Z'></path><path d='M7 1.5a.5.5 0 0 1 .757-.429l2.5 1.5a.5.5 0 0 1 0 .858l-2.5 1.5A.5.5 0 0 1 7 4.5v-3Zm1 2.117L9.028 3 8 2.383v1.234Z'></path>\",\"M9 2.005a1 1 0 0 1 1.533-.847l3.964 2.497a1 1 0 0 1-.001 1.692L10.532 7.84A1 1 0 0 1 9 6.994v-4.99ZM13.964 4.5 10 2.005v4.989L13.964 4.5ZM2.48 4c-.822 0-1.52.676-1.472 1.531.18 3.168 1.194 5.482 2.796 7.035 1.599 1.55 3.727 2.29 6.034 2.415a1.454 1.454 0 0 0 1.44-.977l.57-1.597a1.5 1.5 0 0 0-.59-1.757l-1.124-.738a1.5 1.5 0 0 0-1.896.207l-.814.834a.418.418 0 0 1-.197.118.179.179 0 0 1-.134-.014c-.77-.426-1.692-1.408-2.101-2.21-.036-.071-.036-.208.103-.347l1.04-1.036a1.5 1.5 0 0 0 .354-1.57l-.323-.9A1.5 1.5 0 0 0 4.754 4H2.48Zm-.473 1.475A.46.46 0 0 1 2.48 5h2.274a.5.5 0 0 1 .47.332l.324.9a.5.5 0 0 1-.118.523L4.39 7.791c-.36.358-.573.952-.29 1.509.493.968 1.552 2.103 2.51 2.632.565.312 1.175.083 1.53-.28l.813-.835a.5.5 0 0 1 .632-.068l1.124.737a.5.5 0 0 1 .197.586l-.57 1.596a.455.455 0 0 1-.443.314c-2.132-.116-4.009-.792-5.393-2.134-1.38-1.34-2.325-3.394-2.493-6.373Z\",\"M14 2.505a1.5 1.5 0 0 1 2.298-1.27l5.56 3.496a1.5 1.5 0 0 1 0 2.54l-5.56 3.495A1.5 1.5 0 0 1 14 9.496v-6.99ZM20.12 6 16 3.41v5.18L20.12 6ZM3.5 5C2.13 5 .965 6.127 1.04 7.557c.27 5.152 1.906 8.934 4.504 11.477 2.592 2.538 6.036 3.736 9.727 3.936 1.134.061 2.103-.68 2.433-1.699l.864-2.67a2.5 2.5 0 0 0-1.178-2.963l-1.992-1.09a2.5 2.5 0 0 0-2.983.44l-1.222 1.244a.372.372 0 0 1-.168.105l-.008.002c-.546-.327-1.18-.908-1.772-1.615-.591-.706-1.087-1.475-1.38-2.119a.13.13 0 0 1-.002-.086.412.412 0 0 1 .112-.185l1.273-1.267a2.5 2.5 0 0 0 .643-2.45l-.505-1.794A2.5 2.5 0 0 0 6.98 5H3.5Zm-.463 2.452A.446.446 0 0 1 3.5 7h3.48a.5.5 0 0 1 .481.365l.505 1.794a.5.5 0 0 1-.129.49l-1.273 1.267c-.598.595-.947 1.573-.52 2.516.383.842.986 1.762 1.667 2.575.676.808 1.48 1.574 2.294 2.057.979.582 2.031.163 2.615-.43l1.222-1.244a.5.5 0 0 1 .596-.088l1.992 1.09a.5.5 0 0 1 .236.593l-.865 2.67c-.07.218-.257.327-.422.318-3.334-.18-6.272-1.25-8.436-3.369-2.16-2.113-3.655-5.375-3.906-10.152Z\",\"M17 4.059c0-1.573 1.732-2.53 3.064-1.694l7.869 4.941a2 2 0 0 1 0 3.388l-7.87 4.941c-1.331.837-3.063-.12-3.063-1.694V4.06ZM26.87 9 19 4.06v9.882l7.87-4.94ZM4.5 8c-1.371 0-2.527 1.123-2.469 2.544.274 6.595 2.317 11.383 5.576 14.571 3.253 3.183 7.603 4.66 12.28 4.861 1.123.049 2.09-.683 2.42-1.705l1.262-3.892a2.5 2.5 0 0 0-1.179-2.963l-3.01-1.648a2.5 2.5 0 0 0-2.984.44l-1.877 1.91a.395.395 0 0 1-.178.111c-.02.005-.03.004-.03.004l-.004-.002c-.747-.403-1.627-1.192-2.44-2.162-.805-.962-1.474-2.017-1.837-2.879a.165.165 0 0 1-.004-.11.427.427 0 0 1 .116-.191L12.04 15a2.5 2.5 0 0 0 .643-2.45l-.768-2.728A2.5 2.5 0 0 0 9.51 8H4.5Zm-.47 2.461a.456.456 0 0 1 .47-.46h5.009a.5.5 0 0 1 .481.364l.768 2.728a.5.5 0 0 1-.129.49L8.732 15.47c-.601.598-.938 1.562-.545 2.496.46 1.09 1.249 2.313 2.147 3.386.892 1.065 1.963 2.066 3.023 2.638.972.525 2 .128 2.588-.47l1.877-1.91a.5.5 0 0 1 .597-.089l3.011 1.648a.5.5 0 0 1 .236.593l-1.26 3.892a.446.446 0 0 1-.434.323c-4.317-.185-8.151-1.538-10.966-4.292-2.81-2.75-4.719-7.006-4.976-13.225Z\"]];","export default [[\"M2.469 1c-.82 0-1.524.674-1.466 1.536.167 2.444.928 4.318 2.07 5.679l-1.934 1.931a.5.5 0 1 0 .707.708l9.009-9a.5.5 0 0 0-.707-.708l-4.58 4.575a5.2 5.2 0 0 1-.536-.81c-.036-.068-.038-.203.1-.34l.424-.424a1.5 1.5 0 0 0 .354-1.56L5.703 2A1.5 1.5 0 0 0 4.29 1H2.47Zm6.337 9.997c-1.499-.103-2.986-.555-4.258-1.436l3.194-3.19a1.5 1.5 0 0 1 1.837-.073l.791.565a1.5 1.5 0 0 1 .492 1.846l-.659 1.436c-.241.526-.78.894-1.397.852Z\",\"M2.48 1c-.824 0-1.515.674-1.479 1.523.164 3.838 1.257 6.713 3.013 8.737l-2.887 2.884a.5.5 0 1 0 .706.708L14.845 1.854a.5.5 0 0 0-.707-.708L6.784 8.493c-.404-.478-.734-.972-.934-1.405-.04-.086-.03-.232.108-.369l1.61-1.604a1.5 1.5 0 0 0 .354-1.57l-.557-1.551A1.5 1.5 0 0 0 5.953 1H2.48Zm10.106 14c-2.67-.11-5.155-.847-7.14-2.384l2.772-2.768c.217.157.429.288.63.388.074.037.216.034.355-.109l1.354-1.387a1.5 1.5 0 0 1 1.896-.206l1.869 1.226a1.5 1.5 0 0 1 .59 1.758l-.892 2.501a1.464 1.464 0 0 1-1.434.982Z\",\"M21.707 3.707a1 1 0 0 0-1.414-1.414l-9.784 9.783a9.746 9.746 0 0 1-.986-1.664.144.144 0 0 1-.004-.1.418.418 0 0 1 .116-.19l1.61-1.572a2.5 2.5 0 0 0 .655-2.477l-.647-2.26A2.5 2.5 0 0 0 8.85 2H4.467C3.096 2 1.936 3.126 2.003 4.551c.243 5.169 1.72 9.108 4.097 11.933l-3.807 3.808a1 1 0 1 0 1.414 1.414l18-18Zm-3.34 18.289c-3.404-.155-6.623-1.037-9.3-2.843l4.426-4.422a.542.542 0 0 0 .034-.032l1.617-1.615a2.5 2.5 0 0 1 2.95-.434l2.585 1.389a2.5 2.5 0 0 1 1.19 2.985l-1.081 3.281c-.335 1.015-1.3 1.743-2.42 1.691Z\",\"M4.959 2C3.31 2 1.929 3.349 2.003 5.048c.336 7.638 2.572 13.368 6.123 17.409l-5.833 5.832a1 1 0 0 0 1.414 1.414l26-25.996a1 1 0 0 0-1.414-1.414L12.973 17.61c-.926-1.072-1.633-2.23-1.975-3.284-.05-.157-.015-.414.233-.662l2.87-2.873a3 3 0 0 0 .684-3.178l-1.383-3.67A3 3 0 0 0 10.595 2H4.959ZM25.43 29.999c-5.347-.233-10.374-1.726-14.403-4.824l4.967-4.973a8 8 0 0 0 1.65.78c.157.051.414.016.662-.233l2.848-2.851a3 3 0 0 1 3.536-.527l3.725 1.989a3 3 0 0 1 1.458 3.52l-1.53 5.025c-.38 1.253-1.552 2.153-2.913 2.094Z\"],[\"M1.003 2.536C.945 1.674 1.65 1 2.47 1h1.82a1.5 1.5 0 0 1 1.414 1l.207.586a1.5 1.5 0 0 1-.354 1.561l-.423.423c-.139.138-.137.273-.101.342a5.2 5.2 0 0 0 .537.81l4.58-4.576a.5.5 0 1 1 .706.708l-9.01 9a.5.5 0 0 1-.706-.708l1.934-1.931C1.93 6.855 1.17 4.98 1.003 2.535Zm2.78 4.969 1.074-1.073a6.358 6.358 0 0 1-.713-1.06c-.288-.555-.077-1.15.282-1.509l.423-.423a.5.5 0 0 0 .118-.52l-.207-.587A.5.5 0 0 0 4.29 2H2.47a.452.452 0 0 0-.468.468c.151 2.22.824 3.863 1.782 5.037Zm2.541.282L7.742 6.37a1.5 1.5 0 0 1 1.837-.072l.791.565a1.5 1.5 0 0 1 .492 1.846l-.659 1.436c-.241.526-.78.894-1.397.852-1.499-.103-2.986-.555-4.258-1.436l.721-.72c1.071.699 2.32 1.07 3.605 1.158a.44.44 0 0 0 .42-.27l.66-1.437a.5.5 0 0 0-.165-.615l-.791-.565a.5.5 0 0 0-.644.053l-.424.424c-.354.353-.967.583-1.527.247a3.661 3.661 0 0 1-.079-.05Z\",\"M1.001 2.523C.965 1.674 1.656 1 2.48 1h3.473a1.5 1.5 0 0 1 1.412.994l.557 1.552a1.5 1.5 0 0 1-.353 1.57L5.958 6.718c-.138.137-.148.283-.108.37.2.432.53.926.934 1.404l7.354-7.347a.5.5 0 0 1 .707.708L1.833 14.852a.5.5 0 0 1-.706-.708l2.887-2.884c-1.756-2.024-2.85-4.9-3.013-8.737Zm3.723 8.028 1.35-1.349c-.47-.548-.877-1.141-1.132-1.695-.255-.553-.051-1.136.31-1.496l1.611-1.605a.5.5 0 0 0 .118-.523l-.557-1.552A.5.5 0 0 0 5.954 2H2.48a.47.47 0 0 0-.48.48c.155 3.63 1.172 6.255 2.724 8.071Zm2.779.011.715-.714c.217.157.429.288.63.388.074.037.216.034.355-.109l1.354-1.387a1.5 1.5 0 0 1 1.896-.206l1.869 1.226a1.5 1.5 0 0 1 .59 1.758l-.892 2.501a1.464 1.464 0 0 1-1.434.982c-2.67-.11-5.155-.848-7.14-2.385l.715-.713c1.769 1.33 3.998 1.997 6.467 2.099a.465.465 0 0 0 .45-.318l.892-2.502a.5.5 0 0 0-.197-.586L11.905 9.37a.5.5 0 0 0-.632.069l-1.354 1.387c-.357.366-.954.584-1.516.306a5.72 5.72 0 0 1-.9-.57Z\",\"M21.707 3.707a1 1 0 0 0-1.414-1.414l-9.784 9.783a9.746 9.746 0 0 1-.986-1.664.144.144 0 0 1-.004-.1.418.418 0 0 1 .116-.19l1.61-1.572a2.5 2.5 0 0 0 .655-2.477l-.647-2.26A2.5 2.5 0 0 0 8.85 2H4.467C3.096 2 1.936 3.126 2.003 4.551c.243 5.169 1.72 9.108 4.097 11.933l-3.807 3.808a1 1 0 1 0 1.414 1.414l18-18ZM7.521 15.065l1.558-1.559c-.567-.751-1.055-1.545-1.383-2.28-.422-.948-.072-1.934.541-2.534l1.61-1.573a.5.5 0 0 0 .13-.495l-.647-2.26A.5.5 0 0 0 8.85 4H4.467A.451.451 0 0 0 4 4.458c.223 4.737 1.54 8.186 3.52 10.607Zm4.405 1.231 1.567-1.565a.542.542 0 0 0 .034-.032l1.617-1.615a2.5 2.5 0 0 1 2.95-.434l2.585 1.389a2.5 2.5 0 0 1 1.19 2.985l-1.081 3.281c-.335 1.015-1.3 1.743-2.42 1.691-3.405-.155-6.624-1.037-9.3-2.843l1.445-1.445c2.25 1.42 4.968 2.154 7.946 2.29a.443.443 0 0 0 .43-.32l1.081-3.28a.5.5 0 0 0-.238-.598l-2.584-1.388a.5.5 0 0 0-.59.086l-1.617 1.616c-.585.584-1.607.978-2.571.45a6.383 6.383 0 0 1-.444-.268Z\",\"M2.003 5.048C1.928 3.348 3.31 2 4.959 2h5.636a3 3 0 0 1 2.807 1.942l1.383 3.671a3 3 0 0 1-.685 3.178l-2.87 2.873c-.247.248-.283.505-.232.662.343 1.055 1.049 2.212 1.976 3.284L28.293 2.293a1 1 0 0 1 1.414 1.414l-26 25.996a1 1 0 0 1-1.414-1.414l5.833-5.832c-3.55-4.04-5.787-9.77-6.123-17.41Zm7.54 15.991 2.013-2.012c-1.102-1.25-2.004-2.677-2.46-4.084-.337-1.039.078-2.05.72-2.692l2.87-2.874a1 1 0 0 0 .228-1.059l-1.383-3.67A1 1 0 0 0 10.595 4H4.959c-.562 0-.98.452-.958.96.317 7.214 2.396 12.447 5.542 16.08Zm5.003.612 1.448-1.449a8 8 0 0 0 1.65.78c.157.051.414.016.662-.233l2.848-2.851a3 3 0 0 1 3.536-.527l3.725 1.989a3 3 0 0 1 1.458 3.52l-1.53 5.025c-.38 1.253-1.552 2.153-2.913 2.094-5.347-.233-10.374-1.726-14.403-4.824l1.427-1.428c3.601 2.689 8.12 4.038 13.063 4.253.398.018.782-.247.913-.677l1.53-5.026a1 1 0 0 0-.487-1.173l-3.725-1.989a1 1 0 0 0-1.179.176l-2.848 2.852c-.642.643-1.655 1.06-2.697.72-.832-.27-1.672-.698-2.478-1.232Z\"]];","export default [[\"M8.5 1a1.5 1.5 0 0 0-1.23 2.36c-.167.1-.324.219-.466.351C6.343 4.141 6 4.76 6 5.47 6 6.314 6.686 7 7.531 7H9.47C10.314 7 11 6.314 11 5.469c0-.71-.343-1.327-.804-1.758a2.784 2.784 0 0 0-.467-.351A1.5 1.5 0 0 0 8.5 1Zm-7 3C.685 4-.033 4.672.045 5.545c.188 2.095.948 3.647 2.053 4.708 1.101 1.057 2.509 1.59 3.935 1.717.626.055 1.167-.321 1.407-.844l.374-.816a1.5 1.5 0 0 0-.491-1.846l-.31-.221a1.5 1.5 0 0 0-1.931.16l-.106.105a.38.38 0 0 1-.183.107c-.044.009-.07.002-.092-.014-.463-.31-.996-.903-1.285-1.41a.17.17 0 0 1-.016-.127.402.402 0 0 1 .112-.192l.14-.138a1.5 1.5 0 0 0 .353-1.561L3.945 5A1.5 1.5 0 0 0 2.53 4H1.5Z\",\"<path d='M12 1a2 2 0 0 0-1.411 3.417 3.4 3.4 0 0 0-.636.498C9.398 5.467 9 6.245 9 7.125 9 8.161 9.84 9 10.875 9h2.25C14.161 9 15 8.16 15 7.125c0-.88-.398-1.658-.953-2.21a3.371 3.371 0 0 0-.636-.498A2 2 0 0 0 12 1Z'></path><path d='M2.5 4c-.82 0-1.52.675-1.469 1.533.194 3.172 1.287 5.48 2.898 7.028 1.606 1.543 3.685 2.29 5.783 2.418a1.444 1.444 0 0 0 1.393-.853l.797-1.737a1.5 1.5 0 0 0-.491-1.847l-1.026-.732a1.5 1.5 0 0 0-1.931.16l-.58.578a.41.41 0 0 1-.192.114.162.162 0 0 1-.123-.015c-.38-.218-.82-.597-1.226-1.045-.405-.446-.75-.932-.956-1.343-.037-.074-.035-.212.103-.35l.562-.56a1.5 1.5 0 0 0 .354-1.562L6.118 5a1.5 1.5 0 0 0-1.414-1H2.5Z'></path>\",\"<path d='M1.018 8.037C.977 6.894 1.905 6 3 6h4.263a2 2 0 0 1 1.882 1.325l.71 1.98a2 2 0 0 1-.47 2.093L7.45 13.324c.275.57.768 1.257 1.374 1.896.599.632 1.238 1.143 1.774 1.426l1.647-1.688a2 2 0 0 1 2.529-.275l2.358 1.548a2 2 0 0 1 .787 2.343l-1.104 3.098a1.968 1.968 0 0 1-1.92 1.315c-3.647-.13-7.047-1.249-9.586-3.712-2.545-2.47-4.105-6.175-4.29-11.238Z'></path><path d='M21.107 6.835a3.5 3.5 0 1 0-5.215 0 4.167 4.167 0 0 0-.824.838C14.322 8.678 14 9.992 14 11.333A2.667 2.667 0 0 0 16.666 14h3.667A2.667 2.667 0 0 0 23 11.333c0-1.341-.322-2.655-1.068-3.66a4.168 4.168 0 0 0-.825-.838Z'></path>\",\"<path d='M23.5 1a4.5 4.5 0 0 0-3.075 7.785C18.54 9.778 17 11.701 17 14.5a4.5 4.5 0 0 0 4.5 4.5h4a4.5 4.5 0 0 0 4.5-4.5c0-2.799-1.54-4.722-3.425-5.715A4.5 4.5 0 0 0 23.5 1Z'></path><path d='M4.5 8c-1.371 0-2.528 1.123-2.468 2.545.279 6.606 2.365 11.398 5.687 14.585 3.314 3.18 7.743 4.652 12.502 4.847 1.117.046 2.08-.678 2.415-1.694l1.282-3.886a2.5 2.5 0 0 0-1.19-2.985l-3.098-1.665a2.5 2.5 0 0 0-2.951.434l-1.947 1.945a.399.399 0 0 1-.178.11.102.102 0 0 1-.033.003h-.003l-.003-.002c-.762-.398-1.661-1.187-2.491-2.158-.824-.963-1.509-2.021-1.881-2.886a.162.162 0 0 1-.005-.11.426.426 0 0 1 .119-.192l1.924-1.88a2.5 2.5 0 0 0 .655-2.476l-.78-2.723A2.5 2.5 0 0 0 9.653 8H4.5Z'></path>\"],[\"M9.73 3.36a1.5 1.5 0 1 0-2.459 0c-.168.1-.325.219-.467.351C6.343 4.141 6 4.76 6 5.47 6 6.314 6.686 7 7.531 7H9.47C10.314 7 11 6.314 11 5.469c0-.71-.343-1.327-.804-1.758a2.784 2.784 0 0 0-.467-.351ZM8.5 2a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm0 2c-.326 0-.708.157-1.014.442C7.184 4.724 7 5.091 7 5.47c0 .293.238.531.531.531H9.47a.531.531 0 0 0 .53-.532c0-.378-.184-.745-.486-1.027C9.208 4.157 8.826 4 8.5 4ZM.045 5.545C-.033 4.672.685 4 1.5 4h1.03a1.5 1.5 0 0 1 1.414 1l.061.173a1.5 1.5 0 0 1-.354 1.56l-.139.14a.402.402 0 0 0-.112.19.17.17 0 0 0 .016.127c.289.508.822 1.101 1.285 1.411.022.016.048.023.092.014a.38.38 0 0 0 .183-.107l.106-.106a1.5 1.5 0 0 1 1.931-.16l.31.222a1.5 1.5 0 0 1 .491 1.846l-.374.816c-.24.523-.781.9-1.407.844-1.426-.127-2.834-.66-3.935-1.717C.993 9.193.233 7.64.045 5.545ZM1.5 5c-.29 0-.479.228-.459.455.17 1.892.844 3.207 1.75 4.076.91.874 2.09 1.333 3.33 1.443.154.013.324-.078.41-.265l.375-.816a.5.5 0 0 0-.164-.616l-.31-.22a.5.5 0 0 0-.644.053l-.105.105c-.351.35-.98.591-1.539.217-.606-.405-1.24-1.12-1.597-1.747-.318-.557-.1-1.163.258-1.52l.14-.139a.5.5 0 0 0 .118-.52l-.061-.173A.5.5 0 0 0 2.53 5H1.5Z\",\"<path d='M14 3c0 .554-.225 1.055-.589 1.417.23.14.445.307.636.498.555.552.953 1.33.953 2.21C15 8.161 14.16 9 13.125 9h-2.25A1.875 1.875 0 0 1 9 7.125c0-.88.398-1.658.953-2.21a3.4 3.4 0 0 1 .636-.498A2 2 0 1 1 14 3Zm-2-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm-1.341 3.623C11.063 5.221 11.567 5 12 5c.433 0 .937.221 1.341.623.4.398.659.931.659 1.502a.875.875 0 0 1-.875.875h-2.25A.875.875 0 0 1 10 7.125c0-.57.26-1.104.659-1.502Z'></path><path d='M2.5 4c-.82 0-1.52.675-1.469 1.533.194 3.172 1.287 5.48 2.898 7.028 1.606 1.543 3.685 2.29 5.783 2.418a1.444 1.444 0 0 0 1.393-.853l.797-1.737a1.5 1.5 0 0 0-.491-1.847l-1.026-.732a1.5 1.5 0 0 0-1.931.16l-.58.578a.41.41 0 0 1-.192.114.162.162 0 0 1-.123-.015c-.38-.218-.82-.597-1.226-1.045-.405-.446-.75-.932-.956-1.343-.037-.074-.035-.212.103-.35l.562-.56a1.5 1.5 0 0 0 .354-1.562L6.118 5a1.5 1.5 0 0 0-1.414-1H2.5Zm-.47 1.472A.457.457 0 0 1 2.5 5h2.204a.5.5 0 0 1 .471.333l.278.787a.5.5 0 0 1-.118.52l-.562.562c-.36.359-.567.95-.29 1.504.256.513.66 1.073 1.109 1.568.447.493.967.952 1.468 1.24.56.322 1.167.095 1.521-.258l.58-.579a.5.5 0 0 1 .643-.053l1.026.732a.5.5 0 0 1 .163.616l-.796 1.737a.445.445 0 0 1-.424.272c-1.907-.117-3.747-.791-5.152-2.141-1.4-1.346-2.41-3.403-2.592-6.368Z'></path>\",\"<path d='M1.018 8.037C.977 6.894 1.905 6 3 6h4.263a2 2 0 0 1 1.882 1.325l.71 1.98a2 2 0 0 1-.47 2.093L7.45 13.324c.275.57.768 1.257 1.374 1.896.599.632 1.238 1.143 1.774 1.426l1.647-1.688a2 2 0 0 1 2.529-.275l2.358 1.548a2 2 0 0 1 .787 2.343l-1.104 3.098a1.968 1.968 0 0 1-1.92 1.315c-3.647-.13-7.047-1.249-9.586-3.712-2.545-2.47-4.105-6.175-4.29-11.238Zm2-.037c.178 4.665 1.602 7.82 3.684 9.84 2.086 2.024 4.953 3.025 8.234 3.147l1.099-3.084-2.359-1.548-1.708 1.751c-.47.481-1.281.795-2.08.421-.871-.409-1.769-1.144-2.516-1.932-.75-.79-1.429-1.721-1.81-2.59-.342-.78-.051-1.572.425-2.046l1.986-1.978L7.263 8H3.018Z'></path><path d='M21.107 6.835a3.5 3.5 0 1 0-5.215 0 4.167 4.167 0 0 0-.824.838C14.322 8.678 14 9.992 14 11.333A2.667 2.667 0 0 0 16.666 14h3.667A2.667 2.667 0 0 0 23 11.333c0-1.341-.322-2.655-1.068-3.66a4.168 4.168 0 0 0-.825-.838ZM17 4.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM18.5 8c-.859 0-1.434.338-1.826.865-.418.563-.674 1.416-.674 2.468 0 .368.298.667.666.667h3.667a.667.667 0 0 0 .667-.667c0-1.052-.256-1.905-.674-2.468C19.934 8.338 19.358 8 18.5 8Z'></path>\",\"<path d='M26.575 8.785a4.5 4.5 0 1 0-6.15 0C18.54 9.778 17 11.701 17 14.5a4.5 4.5 0 0 0 4.5 4.5h4a4.5 4.5 0 0 0 4.5-4.5c0-2.799-1.54-4.722-3.425-5.715ZM23.5 3a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Zm0 7c-2.081 0-4.5 1.587-4.5 4.5a2.5 2.5 0 0 0 2.5 2.5h4a2.5 2.5 0 0 0 2.5-2.5c0-2.913-2.419-4.5-4.5-4.5Z'></path><path d='M2.032 10.545C1.972 9.123 3.129 8 4.5 8h5.153a2.5 2.5 0 0 1 2.403 1.812l.78 2.723a2.5 2.5 0 0 1-.655 2.476l-1.924 1.88a.426.426 0 0 0-.119.193.162.162 0 0 0 .005.11c.372.864 1.057 1.922 1.88 2.885.83.971 1.73 1.76 2.492 2.158l.006.002c.003 0 .013.001.033-.003a.399.399 0 0 0 .178-.11l1.947-1.945a2.5 2.5 0 0 1 2.95-.434l3.098 1.665a2.5 2.5 0 0 1 1.191 2.985l-1.282 3.886c-.334 1.016-1.298 1.74-2.415 1.694-4.76-.195-9.188-1.667-12.502-4.847-3.322-3.187-5.408-7.98-5.687-14.585ZM4.5 10a.455.455 0 0 0-.47.46c.263 6.22 2.207 10.477 5.073 13.227 2.874 2.758 6.79 4.11 11.2 4.292a.448.448 0 0 0 .434-.322l1.282-3.886a.5.5 0 0 0-.238-.597l-3.098-1.665a.5.5 0 0 0-.59.087l-1.947 1.945c-.587.586-1.596.971-2.558.469-1.08-.565-2.172-1.564-3.084-2.63-.919-1.074-1.727-2.301-2.198-3.396-.407-.944-.061-1.923.553-2.523l1.924-1.88a.5.5 0 0 0 .13-.496l-.78-2.723a.5.5 0 0 0-.48-.362H4.5Z'></path>\"]];","export default [[\"M5 10.5V7H4a3 3 0 0 1 0-6h6.5a.5.5 0 0 1 0 1H9v8.5a.5.5 0 0 1-1 0V2H6v8.5a.5.5 0 0 1-1 0Z\",\"M7 14.5V8H4.5a3.5 3.5 0 1 1 0-7h9a.5.5 0 0 1 0 1H12v12.5a.5.5 0 0 1-1 0V2H8v12.5a.5.5 0 0 1-1 0Z\",\"M7.68 14H10v7a1 1 0 1 0 2 0V4h4v17a1 1 0 1 0 2 0V4h3a1 1 0 1 0 0-2H7.68C4.482 2 2 4.75 2 8s2.482 6 5.68 6Z\",\"M10.5 17H14v12a1 1 0 1 0 2 0V4h6v25a1 1 0 1 0 2 0V4h5a1 1 0 1 0 0-2H10.5a7.5 7.5 0 1 0 0 15Z\"],[\"M5 7v3.5a.5.5 0 0 0 1 0V2h2v8.5a.5.5 0 0 0 1 0V2h1.5a.5.5 0 0 0 0-1H4a3 3 0 0 0 0 6h1ZM2 4a2 2 0 0 1 2-2h1v4H4a2 2 0 0 1-2-2Z\",\"M7 8v6.5a.5.5 0 0 0 1 0V2h3v12.5a.5.5 0 0 0 1 0V2h1.5a.5.5 0 0 0 0-1h-9a3.5 3.5 0 1 0 0 7H7ZM2 4.5A2.5 2.5 0 0 1 4.5 2H7v5H4.5A2.5 2.5 0 0 1 2 4.5Z\",\"M10 14H7.68C4.482 14 2 11.25 2 8s2.482-6 5.68-6H21a1 1 0 1 1 0 2h-3v17a1 1 0 1 1-2 0V4h-4v17a1 1 0 1 1-2 0v-7ZM4 8c0-2.272 1.709-4 3.68-4H10v8H7.68C5.709 12 4 10.273 4 8Z\",\"M14 17h-3.5a7.5 7.5 0 0 1 0-15H29a1 1 0 1 1 0 2h-5v25a1 1 0 1 1-2 0V4h-6v25a1 1 0 1 1-2 0V17ZM5 9.5A5.5 5.5 0 0 1 10.5 4H14v11h-3.5A5.5 5.5 0 0 1 5 9.5Z\"]];","export default [[\"M5.995 0A5.996 5.996 0 0 0 3.81 11.58c-.054-.473-.098-1.203.02-1.722.108-.468.7-2.98.7-2.98s-.177-.36-.177-.888c0-.834.483-1.456 1.086-1.456.513 0 .76.385.76.844 0 .513-.326 1.283-.499 1.999-.143.597.301 1.085.888 1.085 1.066 0 1.885-1.125 1.885-2.743 0-1.436-1.031-2.438-2.506-2.438-1.708 0-2.71 1.278-2.71 2.6 0 .514.198 1.066.445 1.367.049.06.054.114.04.173-.045.188-.149.597-.168.68-.025.11-.09.134-.203.08-.75-.35-1.22-1.44-1.22-2.324.001-1.89 1.373-3.627 3.963-3.627 2.078 0 3.696 1.48 3.696 3.464 0 2.067-1.302 3.73-3.109 3.73-.606 0-1.179-.315-1.371-.69l-.375 1.425c-.133.524-.498 1.175-.745 1.575A6.025 6.025 0 0 0 5.985 12a5.995 5.995 0 0 0 5.995-5.995A5.983 5.983 0 0 0 5.995 0Z\",\"M7.994 1a6.995 6.995 0 0 0-2.55 13.51c-.063-.552-.115-1.404.023-2.008.127-.547.818-3.478.818-3.478s-.208-.42-.208-1.035c0-.973.564-1.699 1.267-1.699.598 0 .887.45.887.985 0 .598-.38 1.497-.582 2.331-.167.697.351 1.266 1.036 1.266 1.244 0 2.199-1.312 2.199-3.2 0-1.675-1.203-2.844-2.924-2.844-1.992 0-3.161 1.491-3.161 3.034 0 .599.23 1.243.518 1.595a.208.208 0 0 1 .046.2c-.051.22-.172.697-.195.795-.029.127-.104.156-.236.092-.876-.408-1.423-1.68-1.423-2.711 0-2.205 1.602-4.231 4.623-4.231 2.424 0 4.312 1.727 4.312 4.041 0 2.412-1.52 4.352-3.627 4.352-.708 0-1.375-.368-1.6-.806l-.438 1.664c-.155.61-.58 1.37-.869 1.836A7.013 7.013 0 0 0 7.983 15a6.994 6.994 0 0 0 6.994-6.994A6.98 6.98 0 0 0 7.994 1Z\",\"M11.991 1C5.921 1 1 5.922 1 11.991c0 4.659 2.895 8.639 6.984 10.24-.1-.869-.181-2.207.035-3.157.2-.859 1.285-5.464 1.285-5.464s-.325-.66-.325-1.628c0-1.529.886-2.669 1.99-2.669.94 0 1.393.706 1.393 1.547 0 .941-.597 2.353-.914 3.664-.262 1.095.552 1.99 1.629 1.99 1.954 0 3.455-2.063 3.455-5.03 0-2.632-1.89-4.468-4.595-4.468-3.13 0-4.967 2.343-4.967 4.767 0 .941.362 1.954.815 2.506.09.108.1.208.072.316-.081.344-.271 1.095-.307 1.248-.046.2-.163.245-.372.145-1.375-.641-2.235-2.641-2.235-4.26 0-3.465 2.517-6.65 7.265-6.65 3.809 0 6.776 2.715 6.776 6.351 0 3.79-2.389 6.839-5.7 6.839-1.113 0-2.161-.579-2.515-1.266l-.687 2.614c-.244.96-.913 2.153-1.366 2.886 1.032.316 2.117.488 3.257.488 6.07 0 10.99-4.92 10.99-10.991A10.969 10.969 0 0 0 11.992 1Z\",\"M16 2C8.269 2 2 8.269 2 16c0 5.934 3.687 11.004 8.896 13.043-.127-1.106-.231-2.811.045-4.021.254-1.094 1.637-6.96 1.637-6.96s-.415-.84-.415-2.073c0-1.948 1.129-3.4 2.535-3.4 1.198 0 1.775.899 1.775 1.97 0 1.199-.761 2.997-1.164 4.668-.334 1.394.703 2.534 2.074 2.534 2.489 0 4.401-2.627 4.401-6.406 0-3.353-2.408-5.692-5.853-5.692-3.987 0-6.327 2.984-6.327 6.072 0 1.199.461 2.489 1.038 3.192a.416.416 0 0 1 .092.403c-.103.438-.345 1.394-.391 1.59-.058.254-.208.31-.473.184-1.752-.817-2.847-3.364-2.847-5.427 0-4.413 3.205-8.47 9.253-8.47 4.852 0 8.631 3.458 8.631 8.09 0 4.828-3.042 8.71-7.26 8.71-1.417 0-2.753-.736-3.203-1.612l-.876 3.33c-.31 1.222-1.163 2.743-1.739 3.676 1.314.403 2.696.622 4.148.622 7.732 0 14-6.268 14-14C30 8.269 23.731 2 16 2Z\"]];","export default [[\"M2 2.516A1.5 1.5 0 0 1 4.272 1.23l5.037 3.02a1.5 1.5 0 0 1-.01 2.58L4.26 9.793A1.5 1.5 0 0 1 2 8.502V2.516Z\",\"M2 2.503a1.5 1.5 0 0 1 2.231-1.31l8.95 4.998a1.5 1.5 0 0 1 0 2.619l-8.95 4.998A1.5 1.5 0 0 1 2 12.498V2.504Z\",\"M3 5.313c0-2.258 2.4-3.707 4.397-2.655l12.706 6.687c2.137 1.125 2.137 4.185 0 5.31L7.397 21.342C5.4 22.393 3 20.945 3 18.687V5.313Z\",\"M4 6.05c0-2.285 2.451-3.731 4.45-2.627l18.013 9.95c2.066 1.141 2.066 4.112 0 5.252L8.45 28.568C6.45 29.67 4 28.225 4 25.94V6.05Z\"],[\"M4.272 1.23A1.5 1.5 0 0 0 2 2.516v5.986a1.5 1.5 0 0 0 2.26 1.292L9.299 6.83a1.5 1.5 0 0 0 .011-2.579L4.272 1.23ZM3 2.516a.5.5 0 0 1 .757-.429L8.795 5.11a.5.5 0 0 1-.004.86L3.754 8.931A.5.5 0 0 1 3 8.502V2.516Z\",\"M4.231 1.193A1.5 1.5 0 0 0 2 2.503V12.5a1.5 1.5 0 0 0 2.231 1.31l8.95-5a1.5 1.5 0 0 0 0-2.618L4.23 1.193ZM3 2.503a.5.5 0 0 1 .744-.436l8.949 4.997a.5.5 0 0 1 0 .873l-8.95 4.998A.5.5 0 0 1 3 12.5V2.503Z\",\"M7.397 2.658C5.4 1.606 3 3.055 3 5.313v13.374c0 2.258 2.4 3.706 4.397 2.655l12.706-6.687c2.137-1.125 2.137-4.185 0-5.31L7.397 2.658ZM5 5.313a1 1 0 0 1 1.466-.885l12.706 6.687a1 1 0 0 1 0 1.77L6.466 19.572A1 1 0 0 1 5 18.687V5.313Z\",\"M8.45 3.423C6.452 2.32 4 3.765 4 6.05v19.892c0 2.284 2.45 3.73 4.45 2.627l18.012-9.943c2.067-1.14 2.067-4.11.001-5.252L8.451 3.423ZM6 6.05a1 1 0 0 1 1.484-.875l18.012 9.95a1 1 0 0 1 0 1.75L7.483 26.817A1 1 0 0 1 6 25.94V6.05Z\"]];","export default [[\"M8.146 1.146a.5.5 0 0 1 .708 0l1 1a.5.5 0 0 1 0 .708l-1 1a.5.5 0 1 1-.708-.708L8.293 3H6.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 1-1 0v-2A1.5 1.5 0 0 1 6.5 2h1.793l-.147-.146a.5.5 0 0 1 0-.708ZM3.854 3.854a.5.5 0 1 0-.708-.708l-.646.647-.646-.647a.5.5 0 1 0-.708.708l.647.646-.647.646a.5.5 0 1 0 .708.708l.646-.647.646.647a.5.5 0 1 0 .708-.708L3.207 4.5l.647-.646Zm4.292 1.292a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708.708l-.647.646.647.646a.5.5 0 0 1-.708.708L9.5 7.207l-.646.647a.5.5 0 1 1-.708-.708l.647-.646-.647-.646a.5.5 0 0 1 0-.708ZM5.5 7a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM5 8.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Z\",\"M11.854 1.146a.5.5 0 0 0-.708.708L12.293 3H9.5A2.5 2.5 0 0 0 7 5.5v2a.5.5 0 0 0 1 0v-2A1.5 1.5 0 0 1 9.5 4h2.793l-1.147 1.146a.5.5 0 0 0 .708.708l2-2a.5.5 0 0 0 0-.708l-2-2Zm-.708 7a.5.5 0 0 1 .708 0L13 9.293l1.146-1.147a.5.5 0 0 1 .708.708L13.707 10l1.147 1.146a.5.5 0 0 1-.708.708L13 10.707l-1.146 1.147a.5.5 0 0 1-.708-.708L12.293 10l-1.147-1.146a.5.5 0 0 1 0-.708Zm-9.292-4a.5.5 0 1 0-.708.708L2.293 6 1.146 7.146a.5.5 0 1 0 .708.708L3 6.707l1.146 1.147a.5.5 0 1 0 .708-.708L3.707 6l1.147-1.146a.5.5 0 1 0-.708-.708L3 5.293 1.854 4.146ZM7.5 10a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5ZM6 12.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Z\",\"M16.293 2.293a1 1 0 0 1 1.414 0l3 3a1 1 0 0 1 0 1.414l-3 3a1 1 0 0 1-1.414-1.414L17.586 7H13a1 1 0 0 0-1 1v5a1 1 0 1 1-2 0V8a3 3 0 0 1 3-3h4.586l-1.293-1.293a1 1 0 0 1 0-1.414ZM6.707 8.707a1 1 0 0 0-1.414-1.414L4 8.586 2.707 7.293a1 1 0 0 0-1.414 1.414L2.586 10l-1.293 1.293a1 1 0 1 0 1.414 1.414L4 11.414l1.293 1.293a1 1 0 0 0 1.414-1.414L5.414 10l1.293-1.293Zm10.581 3.591a1 1 0 0 1 1.414-.01l1.308 1.288 1.283-1.283a1 1 0 0 1 1.414 1.414l-1.272 1.272 1.267 1.249a1 1 0 1 1-1.404 1.424l-1.278-1.258-1.313 1.313a1 1 0 0 1-1.414-1.414l1.303-1.303-1.298-1.278a1 1 0 0 1-.01-1.414ZM11.5 16a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM10 19.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Z\",\"M21.22 2.375a1 1 0 0 1 1.405-.156l5 4a1 1 0 0 1 0 1.562l-5 4a1 1 0 1 1-1.25-1.562L24.15 8H17a1 1 0 0 0-1 1v8a1 1 0 1 1-2 0V9a3 3 0 0 1 3-3h7.15l-2.775-2.22a1 1 0 0 1-.156-1.405ZM9.707 9.707a1 1 0 0 0-1.414-1.414L6 10.586 3.707 8.293a1 1 0 0 0-1.414 1.414L4.586 12l-2.293 2.293a1 1 0 1 0 1.414 1.414L6 13.414l2.293 2.293a1 1 0 0 0 1.414-1.414L7.414 12l2.293-2.293Zm12.586 5.586a1 1 0 0 1 1.414 0L26 17.586l2.293-2.293a1 1 0 0 1 1.414 1.414L27.414 19l2.293 2.293a1 1 0 0 1-1.414 1.414L26 20.414l-2.293 2.293a1 1 0 0 1-1.414-1.414L24.586 19l-2.293-2.293a1 1 0 0 1 0-1.414ZM15 21a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm-2 4a2 2 0 1 1 4 0 2 2 0 0 1-4 0Z\"]];","export default [[\"M4.5 3a.5.5 0 0 1 .5.5V4h.5a.5.5 0 0 1 0 1H5v1h.5a.5.5 0 0 1 0 1H5v.5a.5.5 0 0 1-.5.5c-1.16 0-2.036-.233-2.632-.688A2.14 2.14 0 0 1 1.048 6H.5a.5.5 0 0 1 0-1h.548a2.14 2.14 0 0 1 .82-1.312C2.464 3.233 3.34 3 4.5 3Zm3 0a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5c1.16 0 2.036-.233 2.632-.688A2.14 2.14 0 0 0 10.952 6h.548a.5.5 0 0 0 0-1h-.548a2.14 2.14 0 0 0-.82-1.312C9.536 3.233 8.66 3 7.5 3Z\",\"M6.5 5a.5.5 0 0 1 .5.5V6h.5a.5.5 0 0 1 0 1H7v1h.5a.5.5 0 0 1 0 1H7v.5a.5.5 0 0 1-.5.5c-1.16 0-2.036-.233-2.632-.688A2.14 2.14 0 0 1 3.048 8H1.5a.5.5 0 0 1 0-1h1.548a2.14 2.14 0 0 1 .82-1.312C4.464 5.233 5.34 5 6.5 5Zm3 0a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5c1.16 0 2.036-.233 2.632-.688A2.14 2.14 0 0 0 12.952 8H14.5a.5.5 0 0 0 0-1h-1.548a2.14 2.14 0 0 0-.82-1.312C11.536 5.233 10.66 5 9.5 5Z\",\"M15 18a1 1 0 0 1-1-1V7a1 1 0 1 1 2 0h1.143c1.196 0 2.184.68 2.834 1.59.48.672.807 1.504.947 2.41H23a1 1 0 1 1 0 2h-2.076c-.14.906-.468 1.738-.947 2.41-.65.91-1.638 1.59-2.834 1.59H16a1 1 0 0 1-1 1ZM4.023 15.41c-.48-.672-.807-1.504-.947-2.41H1a1 1 0 1 1 0-2h2.076c.14-.906.468-1.738.947-2.41C4.673 7.68 5.661 7 6.857 7H8a1 1 0 1 1 2 0v2h1a1 1 0 1 1 0 2h-1v2h1a1 1 0 1 1 0 2h-1v2a1 1 0 1 1-2 0H6.857c-1.196 0-2.184-.68-2.834-1.59Z\",\"M12 21a1 1 0 1 0 2 0v-2h1a1 1 0 1 0 0-2h-1v-2h1a1 1 0 1 0 0-2h-1v-2a1 1 0 1 0-2 0h-2a5.002 5.002 0 0 0-4.9 4H3a1 1 0 1 0 0 2h2.1a5.002 5.002 0 0 0 4.9 4h2Zm10 0c2.42 0 4.44-1.72 4.901-4.005.032.003.066.005.099.005h2a1 1 0 1 0 0-2h-2c-.033 0-.067.002-.099.005A5.002 5.002 0 0 0 22 11h-2a1 1 0 1 0-2 0v10a1 1 0 1 0 2 0h2Z\"],[\"M4.5 3a.5.5 0 0 1 .5.5V4h.5a.5.5 0 0 1 0 1H5v1h.5a.5.5 0 0 1 0 1H5v.5a.5.5 0 0 1-.5.5c-1.16 0-2.036-.233-2.632-.688A2.14 2.14 0 0 1 1.048 6H.5a.5.5 0 0 1 0-1h.548a2.14 2.14 0 0 1 .82-1.312C2.464 3.233 3.34 3 4.5 3ZM4 4.018c-.753.057-1.233.242-1.525.465C2.144 4.736 2 5.078 2 5.5c0 .422.144.764.475 1.017.292.223.772.408 1.525.465V4.018ZM7.5 3a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5c1.16 0 2.036-.233 2.632-.688A2.14 2.14 0 0 0 10.952 6h.548a.5.5 0 0 0 0-1h-.548a2.14 2.14 0 0 0-.82-1.312C9.536 3.233 8.66 3 7.5 3ZM10 5.5c0-.422-.144-.764-.475-1.017-.292-.223-.772-.408-1.525-.465v2.964c.753-.057 1.233-.242 1.525-.465.331-.253.475-.595.475-1.017Z\",\"M6.5 5a.5.5 0 0 1 .5.5V6h.5a.5.5 0 0 1 0 1H7v1h.5a.5.5 0 0 1 0 1H7v.5a.5.5 0 0 1-.5.5c-1.16 0-2.036-.233-2.632-.688A2.14 2.14 0 0 1 3.048 8H1.5a.5.5 0 0 1 0-1h1.548a2.14 2.14 0 0 1 .82-1.312C4.464 5.233 5.34 5 6.5 5ZM6 6.018c-.753.057-1.233.242-1.525.465C4.144 6.736 4 7.078 4 7.5c0 .422.144.764.475 1.017.292.223.772.408 1.525.465V6.018ZM9.5 5a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5c1.16 0 2.036-.233 2.632-.688A2.14 2.14 0 0 0 12.952 8H14.5a.5.5 0 0 0 0-1h-1.548a2.14 2.14 0 0 0-.82-1.312C11.536 5.233 10.66 5 9.5 5Zm2.025 1.483c.331.253.475.595.475 1.017 0 .422-.144.764-.475 1.017-.292.223-.772.408-1.525.465V6.018c.753.057 1.233.242 1.525.465Z\",\"M14 17a1 1 0 1 0 2 0h1.143c1.196 0 2.184-.68 2.834-1.59.48-.672.807-1.504.947-2.41H23a1 1 0 1 0 0-2h-2.076c-.14-.906-.468-1.738-.947-2.41-.65-.91-1.638-1.59-2.834-1.59H16a1 1 0 1 0-2 0v10Zm2-2h1.143c.382 0 .822-.215 1.206-.753.383-.536.651-1.327.651-2.247 0-.92-.268-1.711-.65-2.247-.385-.538-.825-.753-1.207-.753H16v6Zm-6-6V7a1 1 0 1 0-2 0H6.857c-1.196 0-2.184.68-2.834 1.59-.48.672-.807 1.504-.947 2.41H1a1 1 0 1 0 0 2h2.076c.14.906.468 1.738.947 2.41.65.91 1.638 1.59 2.834 1.59H8a1 1 0 1 0 2 0v-2h1a1 1 0 1 0 0-2h-1v-2h1a1 1 0 1 0 0-2h-1Zm-4.35 5.247c.385.538.825.753 1.207.753H8V9H6.857c-.382 0-.822.215-1.206.753C5.268 10.289 5 11.08 5 12c0 .92.268 1.711.65 2.247Z\",\"M12 21a1 1 0 1 0 2 0v-2h1a1 1 0 1 0 0-2h-1v-2h1a1 1 0 1 0 0-2h-1v-2a1 1 0 1 0-2 0h-2a5.002 5.002 0 0 0-4.9 4H3a1 1 0 1 0 0 2h2.1a5.002 5.002 0 0 0 4.9 4h2Zm-2-2a3 3 0 1 1 0-6h2v6h-2Zm10-8h2c2.42 0 4.44 1.72 4.901 4.005.032-.003.066-.005.099-.005h2a1 1 0 1 1 0 2h-2c-.033 0-.067-.002-.099-.005A5.002 5.002 0 0 1 22 21h-2a1 1 0 1 1-2 0V11a1 1 0 1 1 2 0Zm5 5a3 3 0 0 1-3 3h-2v-6h2a3 3 0 0 1 3 3Z\"]];","export default [[\"M10.854 1.146a.5.5 0 0 1 0 .708l-.63.628a.508.508 0 0 0-.078.064l-8.37 8.372a.5.5 0 0 1-.63-.772L3.38 7.914c-.622-.106-1.125-.308-1.51-.602A2.14 2.14 0 0 1 1.047 6H.5a.5.5 0 0 1 0-1h.548a2.14 2.14 0 0 1 .82-1.312C2.464 3.233 3.34 3 4.5 3a.5.5 0 0 1 .5.5V4h.5a.5.5 0 0 1 0 1H5v1h.293L7 4.293V3.5a.5.5 0 0 1 .5-.5c.267 0 .519.012.756.037l1.89-1.89a.5.5 0 0 1 .708 0ZM7 7.107V7.5a.5.5 0 0 0 .5.5c1.16 0 2.036-.233 2.632-.688A2.14 2.14 0 0 0 10.952 6h.548a.5.5 0 0 0 0-1h-.548a2.131 2.131 0 0 0-.664-1.181L7 7.107Z\",\"M14.854 1.146a.5.5 0 0 1 0 .708l-.63.628a.508.508 0 0 0-.078.064L1.776 14.918a.5.5 0 0 1-.63-.772L5.38 9.914c-.622-.106-1.125-.308-1.51-.602A2.14 2.14 0 0 1 3.047 8H1.5a.5.5 0 0 1 0-1h1.548a2.14 2.14 0 0 1 .82-1.312C4.464 5.233 5.34 5 6.5 5a.5.5 0 0 1 .5.5V6h.5a.5.5 0 0 1 0 1H7v1h.293L9 6.293V5.5a.5.5 0 0 1 .5-.5c.267 0 .519.012.756.037l3.89-3.89a.5.5 0 0 1 .708 0ZM9 9.107V9.5a.5.5 0 0 0 .5.5c1.16 0 2.036-.233 2.632-.688A2.14 2.14 0 0 0 12.952 8H14.5a.5.5 0 0 0 0-1h-1.548a2.131 2.131 0 0 0-.664-1.181L9 9.107Z\",\"M22.707 1.293a1 1 0 0 1 0 1.414L21.45 3.965a1.007 1.007 0 0 0-.156.128L2.55 22.835a1 1 0 0 1-1.258-1.542l4.486-4.486c-.714-.265-1.313-.778-1.756-1.397-.48-.672-.807-1.504-.947-2.41H1a1 1 0 1 1 0-2h2.076c.14-.906.468-1.738.947-2.41C4.673 7.68 5.661 7 6.857 7H8a1 1 0 1 1 2 0v2h1a1 1 0 1 1 0 2h-1v1.586l4-4V7a1 1 0 0 1 1.937-.35l5.356-5.357a1 1 0 0 1 1.414 0ZM14 14.214V17a1 1 0 1 0 2 0h1.143c1.196 0 2.184-.68 2.834-1.59.48-.672.807-1.504.947-2.41H23a1 1 0 1 0 0-2h-2.076c-.14-.906-.468-1.738-.947-2.41a4.496 4.496 0 0 0-.152-.2L14 14.213Z\",\"M29.707 2.293a1 1 0 0 1 0 1.414l-1.259 1.259a1.01 1.01 0 0 0-.155.127L3.552 29.83a1 1 0 0 1-1.26-1.541L9.6 20.984A5.003 5.003 0 0 1 5.1 17H3a1 1 0 1 1 0-2h2.1a5.002 5.002 0 0 1 4.9-4h2a1 1 0 1 1 2 0v2h1a1 1 0 1 1 0 2h-1v1.584l4-4V11a1 1 0 0 1 1.936-.352l8.357-8.355a1 1 0 0 1 1.414 0ZM18 18.212V21a1 1 0 1 0 2 0h2c2.42 0 4.44-1.72 4.901-4.005.032.003.066.005.099.005h2a1 1 0 1 0 0-2h-2c-.033 0-.067.002-.099.005a5.006 5.006 0 0 0-2.373-3.32L18 18.212Z\"],[\"M10.854 1.146a.5.5 0 0 1 0 .708l-.63.628a.508.508 0 0 0-.078.064l-8.37 8.372a.5.5 0 0 1-.63-.772L3.38 7.914c-.622-.106-1.125-.308-1.51-.602A2.14 2.14 0 0 1 1.047 6H.5a.5.5 0 0 1 0-1h.548a2.14 2.14 0 0 1 .82-1.312C2.464 3.233 3.34 3 4.5 3a.5.5 0 0 1 .5.5V4h.5a.5.5 0 0 1 0 1H5v1h.293L7 4.293V3.5a.5.5 0 0 1 .5-.5c.267 0 .519.012.756.037l1.89-1.89a.5.5 0 0 1 .708 0Zm-8.379 5.37C2.144 6.265 2 5.923 2 5.5c0-.422.144-.764.475-1.017.292-.223.772-.408 1.525-.465v2.964c-.753-.057-1.233-.242-1.525-.465ZM7 7.107V7.5a.5.5 0 0 0 .5.5c1.16 0 2.036-.233 2.632-.688A2.14 2.14 0 0 0 10.952 6h.548a.5.5 0 0 0 0-1h-.548a2.131 2.131 0 0 0-.664-1.181l-.708.708c.292.248.42.575.42.973 0 .422-.144.764-.475 1.017-.292.223-.772.408-1.525.465v-.875l-1 1Z\",\"M14.854 1.146a.5.5 0 0 1 0 .708l-.63.628a.508.508 0 0 0-.078.064L1.776 14.918a.5.5 0 0 1-.63-.772L5.38 9.914c-.622-.106-1.125-.308-1.51-.602A2.14 2.14 0 0 1 3.047 8H1.5a.5.5 0 0 1 0-1h1.548a2.14 2.14 0 0 1 .82-1.312C4.464 5.233 5.34 5 6.5 5a.5.5 0 0 1 .5.5V6h.5a.5.5 0 0 1 0 1H7v1h.293L9 6.293V5.5a.5.5 0 0 1 .5-.5c.267 0 .519.012.756.037l3.89-3.89a.5.5 0 0 1 .708 0ZM6 6.018c-.753.057-1.233.242-1.525.465C4.144 6.736 4 7.078 4 7.5c0 .422.144.764.475 1.017.292.223.772.408 1.525.465V6.018Zm3 3.089V9.5a.5.5 0 0 0 .5.5c1.16 0 2.036-.233 2.632-.688A2.14 2.14 0 0 0 12.952 8H14.5a.5.5 0 0 0 0-1h-1.548a2.131 2.131 0 0 0-.664-1.181l-.708.708c.292.248.42.575.42.973 0 .422-.144.764-.475 1.017-.292.223-.772.408-1.525.465v-.875l-1 1Z\",\"M22.707 1.293a1 1 0 0 1 0 1.414L21.45 3.965a1.007 1.007 0 0 0-.156.128L2.55 22.835a1 1 0 0 1-1.258-1.542l4.486-4.486c-.714-.265-1.313-.778-1.756-1.397-.48-.672-.807-1.504-.947-2.41H1a1 1 0 1 1 0-2h2.076c.14-.906.468-1.738.947-2.41C4.673 7.68 5.661 7 6.857 7H8a1 1 0 1 1 2 0v2h1a1 1 0 1 1 0 2h-1v1.586l4-4V7a1 1 0 0 1 1.937-.35l5.356-5.357a1 1 0 0 1 1.414 0ZM7.586 15 8 14.586V9H6.857c-.382 0-.822.215-1.206.753C5.268 10.289 5 11.08 5 12c0 .92.268 1.711.65 2.247.385.538.825.753 1.207.753h.729ZM14 14.214V17a1 1 0 1 0 2 0h1.143c1.196 0 2.184-.68 2.834-1.59.48-.672.807-1.504.947-2.41H23a1 1 0 1 0 0-2h-2.076c-.14-.906-.468-1.738-.947-2.41a4.496 4.496 0 0 0-.152-.2l-1.43 1.429c.358.534.605 1.298.605 2.181 0 .92-.268 1.711-.65 2.247-.385.538-.825.753-1.207.753H16v-2.786l-2 2Z\",\"M29.707 2.293a1 1 0 0 1 0 1.414l-1.259 1.259a1.01 1.01 0 0 0-.155.127L3.552 29.83a1 1 0 0 1-1.26-1.541L9.6 20.984A5.003 5.003 0 0 1 5.1 17H3a1 1 0 1 1 0-2h2.1a5.002 5.002 0 0 1 4.9-4h2a1 1 0 1 1 2 0v2h1a1 1 0 1 1 0 2h-1v1.584l4-4V11a1 1 0 0 1 1.936-.352l8.357-8.355a1 1 0 0 1 1.414 0ZM11.583 19l.417-.417V13h-2a3 3 0 1 0 0 6h1.583ZM18 18.212V21a1 1 0 1 0 2 0h2c2.42 0 4.44-1.72 4.901-4.005.032.003.066.005.099.005h2a1 1 0 1 0 0-2h-2c-.033 0-.067.002-.099.005a5.006 5.006 0 0 0-2.373-3.32l-1.497 1.497A3.001 3.001 0 0 1 22 19h-2v-2.787l-2 2Z\"]];","export default [[\"M6 1.5a.5.5 0 0 0-1 0V5H1.5a.5.5 0 0 0 0 1H5v3.5a.5.5 0 0 0 1 0V6h3.5a.5.5 0 0 0 0-1H6V1.5Z\",\"M8 1.5a.5.5 0 0 0-1 0V7H1.5a.5.5 0 0 0 0 1H7v5.5a.5.5 0 0 0 1 0V8h5.5a.5.5 0 0 0 0-1H8V1.5Z\",\"M13 3a1 1 0 1 0-2 0v8H3a1 1 0 1 0 0 2h8v8a1 1 0 1 0 2 0v-8h8a1 1 0 1 0 0-2h-8V3Z\",\"M17 4a1 1 0 1 0-2 0v11H4a1 1 0 1 0 0 2h11v11a1 1 0 1 0 2 0V17h11a1 1 0 1 0 0-2H17V4Z\"]];","export default [[\"<path d='M6.707 6H7.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 1 0v.793l4.146-4.147a.5.5 0 0 1 .708.708L6.707 6Z'></path><path d='M1 2.5A1.5 1.5 0 0 1 2.5 1h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 1 1 0v4A1.5 1.5 0 0 1 9.5 11h-7A1.5 1.5 0 0 1 1 9.5v-7Z'></path>\",\"<path d='M8.707 8H10.5a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 1 0v1.793l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8Z'></path><path d='M2 4.5A2.5 2.5 0 0 1 4.5 2h5a.5.5 0 0 1 0 1h-5A1.5 1.5 0 0 0 3 4.5v7A1.5 1.5 0 0 0 4.5 13h7a1.5 1.5 0 0 0 1.5-1.5v-5a.5.5 0 0 1 1 0v5a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 2 11.5v-7Z'></path>\",\"<path d='M12 10.586V9a1 1 0 1 0-2 0v4a1 1 0 0 0 1 1h4a1 1 0 1 0 0-2h-1.586l7.293-7.293a1 1 0 0 0-1.414-1.414L12 10.586Z'></path><path d='M3 6a3 3 0 0 1 3-3h8a1 1 0 1 1 0 2H6a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-7a1 1 0 1 1 2 0v7a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Z'></path>\",\"<path d='M16.414 17H21a1 1 0 1 1 0 2h-7a1 1 0 0 1-1-1v-7a1 1 0 1 1 2 0v4.586L26.293 4.293a1 1 0 1 1 1.414 1.414L16.414 17Z'></path><path d='M4 7a3 3 0 0 1 3-3h12a1 1 0 1 1 0 2H7a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V13a1 1 0 1 1 2 0v12a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V7Z'></path>\"]];","export default [[\"<path d='M6 1.5a.5.5 0 0 0-1 0v4a.5.5 0 0 0 1 0v-4Z'></path><path d='M3.805 3.437a.5.5 0 1 0-.486-.874 4.5 4.5 0 1 0 4.361 0 .5.5 0 0 0-.485.874A3.507 3.507 0 0 1 9 6.5a3.5 3.5 0 1 1-5.195-3.063Z'></path>\",\"<path d='M8 1.5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0v-6Z'></path><path d='M4.75 3.736a.5.5 0 0 0-.5-.866 6.5 6.5 0 1 0 6.5 0 .5.5 0 0 0-.5.866 5.5 5.5 0 1 1-5.5 0Z'></path>\",\"<path d='M13 3a1 1 0 1 0-2 0v7a1 1 0 1 0 2 0V3Z'></path><path d='M16.979 4.498a1 1 0 0 0-1.108 1.665 7 7 0 1 1-7.742 0A1 1 0 0 0 7.02 4.498a9 9 0 1 0 9.958 0Z'></path>\",\"<path d='M17 3a1 1 0 1 0-2 0v11a1 1 0 1 0 2 0V3Z'></path><path d='M22.084 6.833c.598.397 1.166.86 1.694 1.389 4.296 4.296 4.296 11.26 0 15.556-4.296 4.296-11.26 4.296-15.556 0-4.296-4.296-4.296-11.26 0-15.556a11.056 11.056 0 0 1 1.694-1.39 1 1 0 1 0-1.108-1.664 13.057 13.057 0 0 0-2 1.64c-5.077 5.076-5.077 13.308 0 18.384 5.076 5.077 13.308 5.077 18.384 0 5.077-5.076 5.077-13.308 0-18.384a13.056 13.056 0 0 0-2-1.64 1 1 0 1 0-1.108 1.665Z'></path>\"]];","export default [[\"M10 6.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Z\",\"M13 8.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Z\",\"M19 12.5a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0Z\",\"M24 16.5a7.5 7.5 0 1 1-15 0 7.5 7.5 0 0 1 15 0Z\"],[\"M6.5 9a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Zm0 1a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Z\",\"M8.5 12a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm0 1a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Z\",\"M12.5 18a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11Zm0 1a6.5 6.5 0 1 0 0-13 6.5 6.5 0 0 0 0 13Z\",\"M16.5 23a6.5 6.5 0 1 0 0-13 6.5 6.5 0 0 0 0 13Zm0 1a7.5 7.5 0 1 0 0-15 7.5 7.5 0 0 0 0 15Z\"]];","export default [[\"M6.5 10a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm1.354-3.646a.5.5 0 1 0-.708-.708L6 6.793l-.396-.397a.5.5 0 1 0-.708.708l.75.75a.5.5 0 0 0 .708 0l1.5-1.5Z\",\"M8.5 13a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm2.104-5.146a.5.5 0 0 0-.708-.708L8 9.043l-.896-.897a.5.5 0 1 0-.708.708l1.25 1.25a.5.5 0 0 0 .708 0l2.25-2.25Z\",\"M12.5 19a6.5 6.5 0 1 0 0-13 6.5 6.5 0 0 0 0 13Zm3.354-8.146a.5.5 0 0 0-.708-.708l-3.896 3.897-1.396-1.397a.5.5 0 0 0-.708.708l1.75 1.75a.5.5 0 0 0 .708 0l4.25-4.25Z\",\"M16.5 24a7.5 7.5 0 1 0 0-15 7.5 7.5 0 0 0 0 15Zm3.854-9.646a.5.5 0 0 0-.708-.708L15 18.293l-1.646-1.647a.5.5 0 0 0-.708.708l2 2a.5.5 0 0 0 .708 0l5-5Z\"],[\"<path d='M7.854 6.354a.5.5 0 1 0-.708-.708L6 6.793l-.396-.397a.5.5 0 1 0-.708.708l.75.75a.5.5 0 0 0 .708 0l1.5-1.5Z'></path><path d='M10 6.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Zm-1 0a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Z'></path>\",\"<path d='M10.604 7.854a.5.5 0 0 0-.708-.708L8 9.043l-.896-.897a.5.5 0 1 0-.708.708l1.25 1.25a.5.5 0 0 0 .708 0l2.25-2.25Z'></path><path d='M4 8.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Zm1 0a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z'></path>\",\"<path d='M15.854 10.854a.5.5 0 0 0-.708-.708l-3.896 3.897-1.396-1.397a.5.5 0 0 0-.708.708l1.75 1.75a.5.5 0 0 0 .708 0l4.25-4.25Z'></path><path d='M6 12.5a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm1 0a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0Z'></path>\",\"<path d='M20.354 14.354a.5.5 0 0 0-.708-.708L15 18.293l-1.646-1.647a.5.5 0 0 0-.708.708l2 2a.5.5 0 0 0 .708 0l5-5Z'></path><path d='M9 16.5a7.5 7.5 0 1 0 15 0 7.5 7.5 0 0 0-15 0Zm1 0a6.5 6.5 0 1 1 13 0 6.5 6.5 0 0 1-13 0Z'></path>\"]];","export default [[\"M6.5 10a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7ZM5.354 4.646a.5.5 0 1 0-.708.708l3 3a.5.5 0 1 0 .708-.708l-3-3Z\",\"M8.5 13a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9ZM6.854 6.146a.5.5 0 1 0-.708.708l4 4a.5.5 0 0 0 .708-.708l-4-4Z\",\"M12.5 19a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13ZM9.354 8.646a.5.5 0 1 0-.708.708l7 7a.5.5 0 0 0 .708-.708l-7-7Z\",\"M16.5 24a7.5 7.5 0 1 1 0-15 7.5 7.5 0 0 1 0 15Zm-3.646-11.854a.5.5 0 0 0-.708.708l8 8a.5.5 0 0 0 .708-.708l-8-8Z\"],[\"M3 6.5a3.5 3.5 0 1 0 7 0 3.5 3.5 0 0 0-7 0Zm2.121-2.086A2.5 2.5 0 0 1 8.586 7.88L5.12 4.414Zm-.707.707A2.5 2.5 0 0 0 7.88 8.586L4.414 5.12Z\",\"M4 8.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0Zm2.404-2.803a3.5 3.5 0 0 1 4.9 4.9l-4.9-4.9Zm-.707.707a3.5 3.5 0 0 0 4.9 4.9l-4.9-4.9Z\",\"M6 12.5a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm2.98-4.227a5.5 5.5 0 0 1 7.746 7.746L8.98 8.274Zm-.707.707a5.5 5.5 0 0 0 7.746 7.746L8.274 8.98Z\",\"M9 16.5a7.5 7.5 0 1 0 15 0 7.5 7.5 0 0 0-15 0Zm3.27-4.936a6.5 6.5 0 0 1 9.165 9.165l-9.164-9.165Zm-.706.707a6.5 6.5 0 0 0 9.165 9.165l-9.165-9.165Z\"]];","export default [[\"M6.5 10a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7Zm-2-4a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Z\",\"M8.5 13a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9Zm-3-5a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Z\",\"M12.5 19a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13Zm-5-7a.5.5 0 0 0 0 1h10a.5.5 0 0 0 0-1h-10Z\",\"M16.5 24a7.5 7.5 0 1 1 0-15 7.5 7.5 0 0 1 0 15Zm-6-8a.5.5 0 0 0 0 1h12a.5.5 0 0 0 0-1h-12Z\"],[\"M3 6.5a3.5 3.5 0 1 0 7 0 3.5 3.5 0 0 0-7 0ZM4.05 6a2.5 2.5 0 0 1 4.9 0h-4.9Zm4.9 1h-4.9a2.5 2.5 0 0 0 4.9 0Z\",\"M4 8.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0ZM5.035 8a3.5 3.5 0 0 1 6.93 0h-6.93Zm0 1a3.5 3.5 0 0 0 6.93 0h-6.93Z\",\"M6 12.5a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm1.022-.5a5.5 5.5 0 0 1 10.956 0H7.022Zm0 1a5.5 5.5 0 0 0 10.956 0H7.022Z\",\"M9 16.5a7.5 7.5 0 1 0 15 0 7.5 7.5 0 0 0-15 0Zm1.019-.5a6.5 6.5 0 0 1 12.962 0H10.02Zm0 1a6.5 6.5 0 0 0 12.962 0H10.02Z\"]];","export default [[\"M6.5 10a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7Zm0-6a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z\",\"M8.5 13a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9Zm0-8a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z\",\"M12.5 19a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13Zm0-12a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11Z\",\"M16.5 24a7.5 7.5 0 1 1 0-15 7.5 7.5 0 0 1 0 15Zm0-14a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13Z\"]];","export default [[\"M3 1.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5V2H3v-.5ZM2 2v-.5A1.5 1.5 0 0 1 3.5 0h5A1.5 1.5 0 0 1 10 1.5V2h.5A1.5 1.5 0 0 1 12 3.5v4A1.5 1.5 0 0 1 10.5 9H10v.5A1.5 1.5 0 0 1 8.5 11h-5A1.5 1.5 0 0 1 2 9.5V9h-.5A1.5 1.5 0 0 1 0 7.5v-4A1.5 1.5 0 0 1 1.5 2H2Zm1 5v2.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5V7H3Zm1 1.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm-2-4a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5Z\",\"M4.5 2a.5.5 0 0 0-.5.5V4h8V2.5a.5.5 0 0 0-.5-.5h-7ZM13 4h1.5A1.5 1.5 0 0 1 16 5.5v5a1.5 1.5 0 0 1-1.5 1.5H13v1.5a1.5 1.5 0 0 1-1.5 1.5h-7A1.5 1.5 0 0 1 3 13.5V12H1.5A1.5 1.5 0 0 1 0 10.5v-5A1.5 1.5 0 0 1 1.5 4H3V2.5A1.5 1.5 0 0 1 4.5 1h7A1.5 1.5 0 0 1 13 2.5V4Zm-1 5H4v4.5a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5V9Zm-7 2.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm-2.677-5a.5.5 0 0 1 .5-.5h1.883a.5.5 0 1 1 0 1H2.823a.5.5 0 0 1-.5-.5Z\",\"M8 3a1 1 0 0 0-1 1v1h10V4a1 1 0 0 0-1-1H8ZM5 4v1H4a3 3 0 0 0-3 3v7a3 3 0 0 0 3 3h1v2a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3v-2h1a3 3 0 0 0 3-3V8a3 3 0 0 0-3-3h-1V4a3 3 0 0 0-3-3H8a3 3 0 0 0-3 3Zm0 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm3-2a1 1 0 0 0 0 2h2a1 1 0 1 0 0-2H8ZM7 20v-5h10v5a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1Zm2-3a1 1 0 1 0 0 2h6a1 1 0 1 0 0-2H9Z\",\"M9 6a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v2H9V6Zm18 2h-2V6a3 3 0 0 0-3-3H10a3 3 0 0 0-3 3v2H5a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h2v5a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3v-5h2a3 3 0 0 0 3-3v-8a3 3 0 0 0-3-3ZM9 18v9a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-9H9Zm2 3a1 1 0 0 1 1-1h8a1 1 0 1 1 0 2h-8a1 1 0 0 1-1-1Zm1 3a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2h-8ZM7 14a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm3-2a1 1 0 1 0 0 2h2a1 1 0 1 0 0-2h-2Z\"],[\"M3 1.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5V2H3v-.5ZM2 2h-.5A1.5 1.5 0 0 0 0 3.5v4A1.5 1.5 0 0 0 1.5 9H2v.5A1.5 1.5 0 0 0 3.5 11h5A1.5 1.5 0 0 0 10 9.5V9h.5A1.5 1.5 0 0 0 12 7.5v-4A1.5 1.5 0 0 0 10.5 2H10v-.5A1.5 1.5 0 0 0 8.5 0h-5A1.5 1.5 0 0 0 2 1.5V2Zm0 4.5V8h-.5a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5H10V6.5a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5Zm0-2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5Zm2 4a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5ZM3 7v2.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5V7H3Z\",\"M4.5 2a.5.5 0 0 0-.5.5V4h8V2.5a.5.5 0 0 0-.5-.5h-7ZM3 2.5V4H1.5A1.5 1.5 0 0 0 0 5.5v5A1.5 1.5 0 0 0 1.5 12H3v1.5A1.5 1.5 0 0 0 4.5 15h7a1.5 1.5 0 0 0 1.5-1.5V12h1.5a1.5 1.5 0 0 0 1.5-1.5v-5A1.5 1.5 0 0 0 14.5 4H13V2.5A1.5 1.5 0 0 0 11.5 1h-7A1.5 1.5 0 0 0 3 2.5ZM13 11h1.5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-13a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5H3V9h-.5a.5.5 0 0 1 0-1h11a.5.5 0 0 1 0 1H13v2Zm-9 2.5V9h8v4.5a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5ZM2.5 6a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Zm3 5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5Z\",\"M7 4a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v1H7V4ZM5 5V4a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v1h1a3 3 0 0 1 3 3v7a3 3 0 0 1-3 3h-1v2a3 3 0 0 1-3 3H8a3 3 0 0 1-3-3v-2H4a3 3 0 0 1-3-3V8a3 3 0 0 1 3-3h1Zm15 11h-1v-1a1 1 0 1 0 0-2H5a1 1 0 1 0 0 2v1H4a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1ZM7 15v5a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-5H7Zm0-6a1 1 0 0 1 1-1h2a1 1 0 1 1 0 2H8a1 1 0 0 1-1-1Zm1 9a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1Zm-3-8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"M10 5a1 1 0 0 0-1 1v2h14V6a1 1 0 0 0-1-1H10ZM7 6v2H5a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h2v5a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3v-5h2a3 3 0 0 0 3-3v-8a3 3 0 0 0-3-3h-2V6a3 3 0 0 0-3-3H10a3 3 0 0 0-3 3Zm20 14a1 1 0 0 0 1-1v-8a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h2v-2a1 1 0 1 1 0-2h18a1 1 0 1 1 0 2v2h2ZM9 27v-9h14v9a1 1 0 0 1-1 1H10a1 1 0 0 1-1-1Zm1-15a1 1 0 1 0 0 2h2a1 1 0 1 0 0-2h-2Zm2 8a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2h-8Zm-1 5a1 1 0 0 1 1-1h8a1 1 0 1 1 0 2h-8a1 1 0 0 1-1-1ZM7 14a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"]];","export default [[\"M1 0a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1H1Zm0 4a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H1Zm0 4a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1H1Zm4-8a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1H5Zm-.588 4.85a1 1 0 0 0-.484 1.33l.423.906a1 1 0 0 0 1.329.484l.906-.423a1 1 0 0 0 .484-1.329l-.423-.906a1 1 0 0 0-1.329-.484l-.906.423ZM9 0a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1H9Zm0 4a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H9Z\",\"M2 2a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2Zm0 4a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H2Zm0 4a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1H2Zm5-8a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H7Zm-.541 5.062a1 1 0 0 0-.484 1.329l.423.906a1 1 0 0 0 1.329.484l1.813-.846a1 1 0 0 0 .483-1.328L9.601 6.7a1 1 0 0 0-1.33-.483l-1.812.845ZM12 2a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1h-2Zm0 4a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1h-2Z\",\"M2.5 2A1.5 1.5 0 0 0 1 3.5v2A1.5 1.5 0 0 0 2.5 7h3A1.5 1.5 0 0 0 7 5.5v-2A1.5 1.5 0 0 0 5.5 2h-3Zm0 7A1.5 1.5 0 0 0 1 10.5v2A1.5 1.5 0 0 0 2.5 14h3A1.5 1.5 0 0 0 7 12.5v-2A1.5 1.5 0 0 0 5.5 9h-3Zm0 7A1.5 1.5 0 0 0 1 17.5v2A1.5 1.5 0 0 0 2.5 21h3A1.5 1.5 0 0 0 7 19.5v-2A1.5 1.5 0 0 0 5.5 16h-3Zm8-14A1.5 1.5 0 0 0 9 3.5v2A1.5 1.5 0 0 0 10.5 7h3A1.5 1.5 0 0 0 15 5.5v-2A1.5 1.5 0 0 0 13.5 2h-3Zm-.916 8.366a1.5 1.5 0 0 0-.725 1.994l.845 1.812a1.5 1.5 0 0 0 1.993.726l2.72-1.268a1.5 1.5 0 0 0 .725-1.994l-.846-1.812a1.5 1.5 0 0 0-1.993-.726l-2.719 1.268ZM18.5 2A1.5 1.5 0 0 0 17 3.5v2A1.5 1.5 0 0 0 18.5 7h3A1.5 1.5 0 0 0 23 5.5v-2A1.5 1.5 0 0 0 21.5 2h-3Zm0 7a1.5 1.5 0 0 0-1.5 1.5v2a1.5 1.5 0 0 0 1.5 1.5h3a1.5 1.5 0 0 0 1.5-1.5v-2A1.5 1.5 0 0 0 21.5 9h-3Z\",\"M4 3a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H4Zm0 9a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H4Zm0 9a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H4ZM14 3a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2h-4Zm-1.29 10.674a2 2 0 0 0-.968 2.658l1.268 2.72a2 2 0 0 0 2.657.966l3.626-1.69a2 2 0 0 0 .967-2.658l-1.268-2.719a2 2 0 0 0-2.658-.967l-3.625 1.69ZM24 3a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2h-4Zm0 9a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2h-4Z\"],[\"M1 0a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1H1Zm0 1h1v1H1V1Zm0 3a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H1Zm0 1h1v1H1V5ZM0 9a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V9Zm2 0H1v1h1V9Zm3-9a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1H5Zm0 1h1v1H5V1Zm-.588 3.85a1 1 0 0 0-.484 1.33l.423.906a1 1 0 0 0 1.329.484l.906-.423a1 1 0 0 0 .484-1.329l-.423-.906a1 1 0 0 0-1.329-.484l-.906.423ZM8 1a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V1Zm2 0H9v1h1V1ZM9 4a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H9Zm0 1h1v1H9V5Z\",\"M2 2a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2Zm0 1h2v1H2V3Zm0 3a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H2Zm0 1h2v1H2V7Zm-1 4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-1Zm3 0H2v1h2v-1Zm3-9a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H7Zm0 1h2v1H7V3Zm-.541 4.062a1 1 0 0 0-.484 1.329l.423.906a1 1 0 0 0 1.329.484l1.813-.846a1 1 0 0 0 .483-1.328L9.601 6.7a1 1 0 0 0-1.33-.483l-1.812.845ZM11 3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V3Zm3 0h-2v1h2V3Zm-2 3a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1h-2Zm0 1h2v1h-2V7Z\",\"M2.5 2A1.5 1.5 0 0 0 1 3.5v2A1.5 1.5 0 0 0 2.5 7h3A1.5 1.5 0 0 0 7 5.5v-2A1.5 1.5 0 0 0 5.5 2h-3ZM3 5V4h2v1H3Zm-.5 4A1.5 1.5 0 0 0 1 10.5v2A1.5 1.5 0 0 0 2.5 14h3A1.5 1.5 0 0 0 7 12.5v-2A1.5 1.5 0 0 0 5.5 9h-3Zm.5 3v-1h2v1H3Zm-2 5.5A1.5 1.5 0 0 1 2.5 16h3A1.5 1.5 0 0 1 7 17.5v2A1.5 1.5 0 0 1 5.5 21h-3A1.5 1.5 0 0 1 1 19.5v-2Zm2 .5v1h2v-1H3Zm7.5-16A1.5 1.5 0 0 0 9 3.5v2A1.5 1.5 0 0 0 10.5 7h3A1.5 1.5 0 0 0 15 5.5v-2A1.5 1.5 0 0 0 13.5 2h-3Zm.5 3V4h2v1h-2Zm-1.416 5.366a1.5 1.5 0 0 0-.725 1.994l.845 1.812a1.5 1.5 0 0 0 1.993.726l2.72-1.268a1.5 1.5 0 0 0 .725-1.994l-.846-1.812a1.5 1.5 0 0 0-1.993-.726l-2.719 1.268ZM17 3.5A1.5 1.5 0 0 1 18.5 2h3A1.5 1.5 0 0 1 23 3.5v2A1.5 1.5 0 0 1 21.5 7h-3A1.5 1.5 0 0 1 17 5.5v-2Zm2 .5v1h2V4h-2Zm-.5 5a1.5 1.5 0 0 0-1.5 1.5v2a1.5 1.5 0 0 0 1.5 1.5h3a1.5 1.5 0 0 0 1.5-1.5v-2A1.5 1.5 0 0 0 21.5 9h-3Zm.5 3v-1h2v1h-2Z\",\"M4 3a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H4Zm0 2h4v3H4V5Zm0 7a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H4Zm0 2h4v3H4v-3Zm-2 9a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-3Zm6 0H4v3h4v-3Zm6-20a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2h-4Zm0 2h4v3h-4V5Zm-1.29 8.674a2 2 0 0 0-.968 2.658l1.268 2.72a2 2 0 0 0 2.657.966l3.626-1.69a2 2 0 0 0 .967-2.658l-1.268-2.719a2 2 0 0 0-2.658-.967l-3.625 1.69ZM22 5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2V5Zm6 0h-4v3h4V5Zm-4 7a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2h-4Zm0 2h4v3h-4v-3Z\"]];","export default [[\"<path d='M6 1H2.5A1.5 1.5 0 0 0 1 2.5v7A1.5 1.5 0 0 0 2.5 11h6A1.5 1.5 0 0 0 10 9.5V5H7.5A1.5 1.5 0 0 1 6 3.5V1ZM4.354 7.354 5 6.707V8.5a.5.5 0 0 0 1 0V6.707l.646.647a.5.5 0 1 0 .708-.708l-1.5-1.5a.5.5 0 0 0-.708 0l-1.5 1.5a.5.5 0 1 0 .708.708Z'></path><path d='M9.85 4a1.5 1.5 0 0 0-.237-.351L7.67 1.495A1.5 1.5 0 0 0 7 1.067V3.5a.5.5 0 0 0 .5.5h2.35Z'></path>\",\"<path d='M9 1H3.5A1.5 1.5 0 0 0 2 2.5v11A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V6h-3.5A1.5 1.5 0 0 1 9 4.5V1ZM7.854 6.146a.5.5 0 0 0-.708 0l-2 2a.5.5 0 1 0 .708.708L7 7.707V12.5a.5.5 0 0 0 1 0V7.707l1.146 1.147a.5.5 0 1 0 .708-.708l-2-2Z'></path><path d='M13.826 5H10.5a.5.5 0 0 1-.5-.5V1.298c.046.034.09.07.132.11l3.397 3.201a1.5 1.5 0 0 1 .297.391Z'></path>\",\"<path d='M14 2H6a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V9h-4a3 3 0 0 1-3-3V2ZM8.707 13.707 11 11.414V17a1 1 0 1 0 2 0v-5.586l2.293 2.293a1 1 0 0 0 1.414-1.414l-4-4a1 1 0 0 0-1.414 0l-4 4a1 1 0 1 0 1.414 1.414Z'></path><path d='M20.727 7a2.999 2.999 0 0 0-.673-.937l-3.459-3.25A3.001 3.001 0 0 0 16 2.38V6a1 1 0 0 0 1 1h3.727Z'></path>\",\"<path d='M19 2H7a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h18a3 3 0 0 0 3-3V11h-6a3 3 0 0 1-3-3V2Zm-2.293 10.293a1 1 0 0 0-1.414 0l-5 5a1 1 0 1 0 1.414 1.414L15 15.414V25a1 1 0 1 0 2 0v-9.586l3.293 3.293a1 1 0 0 0 1.414-1.414l-5-5Z'></path><path d='M27.378 9H22a1 1 0 0 1-1-1V2.622c.102.078.2.164.293.257l5.828 5.828c.093.093.179.19.257.293Z'></path>\"],[\"<path d='m5 6.707-.646.647a.5.5 0 1 1-.708-.708l1.5-1.5a.5.5 0 0 1 .708 0l1.5 1.5a.5.5 0 1 1-.708.708L6 6.707V8.5a.5.5 0 0 1-1 0V6.707Z'></path><path d='M6.556 1a1.5 1.5 0 0 1 1.113.495l1.944 2.154A1.5 1.5 0 0 1 10 4.654V9.5A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-7A1.5 1.5 0 0 1 2.5 1h4.056ZM2 2.5a.5.5 0 0 1 .5-.5H6v1.5A1.5 1.5 0 0 0 7.5 5H9v4.5a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-7ZM8.583 4 7 2.246V3.5a.5.5 0 0 0 .5.5h1.083Z'></path>\",\"<path d='M7.854 6.146a.5.5 0 0 0-.708 0l-2 2a.5.5 0 1 0 .708.708L7 7.707V12.5a.5.5 0 0 0 1 0V7.707l1.146 1.147a.5.5 0 1 0 .708-.708l-2-2Z'></path><path d='M2 2.5A1.5 1.5 0 0 1 3.5 1h5.603a1.5 1.5 0 0 1 1.029.408l3.397 3.201c.3.284.471.679.471 1.092V13.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 13.5v-11ZM3.5 2a.5.5 0 0 0-.5.5v11a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5V6h-2.5A1.5 1.5 0 0 1 9 4.5V2H3.5Zm6.5.658L12.485 5H10.5a.5.5 0 0 1-.5-.5V2.658Z'></path>\",\"<path d='m11 11.414-2.293 2.293a1 1 0 0 1-1.414-1.414l4-4a1 1 0 0 1 1.414 0l4 4a1 1 0 0 1-1.414 1.414L13 11.414V17a1 1 0 1 1-2 0v-5.586Z'></path><path d='M6 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V8.25a3 3 0 0 0-.946-2.187l-3.459-3.25A3 3 0 0 0 14.541 2H6ZM5 5a1 1 0 0 1 1-1h8v2a3 3 0 0 0 3 3h2v10a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5Zm13.13 2L16 4.999V6a1 1 0 0 0 1 1h1.13Z'></path>\",\"<path d='M11.707 18.707 15 15.414V25a1 1 0 1 0 2 0v-9.586l3.293 3.293a1 1 0 0 0 1.414-1.414l-5-5a1 1 0 0 0-1.414 0l-5 5a1 1 0 1 0 1.414 1.414Z'></path><path d='M4 5a3 3 0 0 1 3-3h12.172a3 3 0 0 1 2.12.879l5.83 5.828A3 3 0 0 1 28 10.828V27a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v22a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V11h-4a3 3 0 0 1-3-3V4H7Zm14 1.414L24.586 9H22a1 1 0 0 1-1-1V5.414Z'></path>\"]];","export default [[\"M6 0a2 2 0 0 0-2 2h-.5A1.5 1.5 0 0 0 2 3.5V4a2 2 0 1 0 0 4v1.5A1.5 1.5 0 0 0 3.5 11h1.382a.5.5 0 0 0 .373-.834 1 1 0 1 1 1.491 0 .5.5 0 0 0 .372.834H9.5A1.5 1.5 0 0 0 11 9.5V7.118a.5.5 0 0 0-.834-.373 1 1 0 1 1 0-1.491.5.5 0 0 0 .834-.372V3.5A1.5 1.5 0 0 0 9.5 2H8a2 2 0 0 0-2-2Z\",\"M9.083 1a2.306 2.306 0 0 0-2.23 2.889H5.388a1.5 1.5 0 0 0-1.5 1.5v1.463A2.308 2.308 0 0 0 1 9.083a2.306 2.306 0 0 0 2.889 2.231V13.5a1.5 1.5 0 0 0 1.5 1.5h2.25a.5.5 0 0 0 .4-.8 1.306 1.306 0 1 1 2.09 0 .5.5 0 0 0 .4.8H13.5a1.5 1.5 0 0 0 1.5-1.5v-2.972a.5.5 0 0 0-.8-.4 1.306 1.306 0 1 1 0-2.09.5.5 0 0 0 .8-.4v-2.25a1.5 1.5 0 0 0-1.5-1.5h-2.186A2.309 2.309 0 0 0 9.084 1Z\",\"M12.5 2a3.5 3.5 0 0 0-3.464 4H8a3 3 0 0 0-3 3v1.036a3.5 3.5 0 1 0 0 6.929V19a3 3 0 0 0 3 3h2.5a1 1 0 0 0 .8-1.6 1.5 1.5 0 1 1 2.401 0 1 1 0 0 0 .8 1.6H18a3 3 0 0 0 3-3v-3.5a1 1 0 0 0-1.6-.8 1.5 1.5 0 1 1 0-2.401 1 1 0 0 0 1.6-.8V9a3 3 0 0 0-3-3h-2.036A3.5 3.5 0 0 0 12.5 2Z\",\"M17 1a5 5 0 0 0-4.9 6H10a3 3 0 0 0-3 3v3.1a5 5 0 1 0 0 9.8V26a3 3 0 0 0 3 3h3.535a1 1 0 0 0 .866-1.5 3 3 0 1 1 5.199 0 1 1 0 0 0 .865 1.5H26a3 3 0 0 0 3-3v-4.535a1 1 0 0 0-1.5-.866 3 3 0 1 1 0-5.199 1 1 0 0 0 1.5-.865V10a3 3 0 0 0-3-3h-4.1A5 5 0 0 0 17 1Z\"],[\"M6 1a1 1 0 0 0-.943 1.333.5.5 0 0 1-.472.667H3.5a.5.5 0 0 0-.5.5v1.085a.5.5 0 0 1-.667.472 1 1 0 1 0 0 1.886.5.5 0 0 1 .667.472V9.5a.5.5 0 0 0 .5.5h.563A2.002 2.002 0 0 1 6 7.5 2 2 0 0 1 7.937 10H9.5a.5.5 0 0 0 .5-.5V7.937A2.002 2.002 0 0 1 7.5 6 2 2 0 0 1 10 4.063V3.5a.5.5 0 0 0-.5-.5H7.415a.5.5 0 0 1-.472-.667A1 1 0 0 0 6 1ZM4 2a2 2 0 1 1 4 0h1.5A1.5 1.5 0 0 1 11 3.5v1.382a.5.5 0 0 1-.834.373 1 1 0 1 0 0 1.491.5.5 0 0 1 .834.372V9.5A1.5 1.5 0 0 1 9.5 11H7.118a.5.5 0 0 1-.373-.834 1 1 0 1 0-1.491 0 .5.5 0 0 1-.372.834H3.5A1.5 1.5 0 0 1 2 9.5V8a2 2 0 1 1 0-4v-.5A1.5 1.5 0 0 1 3.5 2H4Z\",\"M9.083 2a1.306 1.306 0 0 0-1.045 2.088.5.5 0 0 1-.4.8h-2.25a.5.5 0 0 0-.5.5v2.25a.5.5 0 0 1-.8.4 1.306 1.306 0 1 0 0 2.09.5.5 0 0 1 .8.4V13.5a.5.5 0 0 0 .5.5h1.464a2.308 2.308 0 0 1 2.231-2.889A2.306 2.306 0 0 1 11.315 14H13.5a.5.5 0 0 0 .5-.5v-2.185a2.31 2.31 0 0 1-2.889-2.232A2.306 2.306 0 0 1 14 6.853V5.388a.5.5 0 0 0-.5-.5h-2.972a.5.5 0 0 1-.4-.8A1.306 1.306 0 0 0 9.083 2ZM6.778 3.306a2.306 2.306 0 1 1 4.536.583H13.5a1.5 1.5 0 0 1 1.5 1.5v2.25a.5.5 0 0 1-.8.4 1.306 1.306 0 1 0 0 2.09.5.5 0 0 1 .8.4v2.97a1.5 1.5 0 0 1-1.5 1.5h-2.972a.5.5 0 0 1-.4-.8 1.306 1.306 0 1 0-2.09 0 .5.5 0 0 1-.4.8h-2.25a1.5 1.5 0 0 1-1.5-1.5v-2.185a2.306 2.306 0 1 1 0-4.462V5.39a1.5 1.5 0 0 1 1.5-1.5h1.464a2.308 2.308 0 0 1-.074-.583Z\",\"M12.5 4a1.5 1.5 0 0 0-1.2 2.4 1 1 0 0 1-.8 1.6H8a1 1 0 0 0-1 1v2.5a1 1 0 0 1-1.6.8 1.5 1.5 0 1 0 0 2.401 1 1 0 0 1 1.6.8V19a1 1 0 0 0 1 1h1.036a3.5 3.5 0 1 1 6.929 0H18a1 1 0 0 0 1-1v-2.036a3.5 3.5 0 1 1 0-6.929V9a1 1 0 0 0-1-1h-3.5a1 1 0 0 1-.8-1.6A1.5 1.5 0 0 0 12.5 4ZM9 5.5a3.5 3.5 0 1 1 6.964.5H18a3 3 0 0 1 3 3v2.5a1 1 0 0 1-1.6.8 1.5 1.5 0 1 0 0 2.401 1 1 0 0 1 1.6.8V19a3 3 0 0 1-3 3h-3.5a1 1 0 0 1-.8-1.6 1.5 1.5 0 1 0-2.401 0 1 1 0 0 1-.8 1.6H8a3 3 0 0 1-3-3v-2.036a3.5 3.5 0 1 1 0-6.929V9a3 3 0 0 1 3-3h1.036A3.523 3.523 0 0 1 9 5.5Z\",\"M17 3a3 3 0 0 0-2.6 4.5 1 1 0 0 1-.865 1.5H10a1 1 0 0 0-1 1v4.535a1 1 0 0 1-1.5.866 3 3 0 1 0 0 5.199 1 1 0 0 1 1.5.865V26a1 1 0 0 0 1 1h2.1a5 5 0 1 1 9.8 0H26a1 1 0 0 0 1-1v-3.1a5 5 0 1 1 0-9.8V10a1 1 0 0 0-1-1h-5.535a1 1 0 0 1-.866-1.5A3 3 0 0 0 17 3Zm-5 3a5 5 0 1 1 9.9 1H26a3 3 0 0 1 3 3v4.535a1 1 0 0 1-1.5.866 3 3 0 1 0 0 5.199 1 1 0 0 1 1.5.865V26a3 3 0 0 1-3 3h-5.535a1 1 0 0 1-.866-1.5 3 3 0 1 0-5.199 0 1 1 0 0 1-.865 1.5H10a3 3 0 0 1-3-3v-3.1a5 5 0 1 1 0-9.8V10a3 3 0 0 1 3-3h2.1a5.02 5.02 0 0 1-.1-1Z\"]];","export default [[\"<path d='M3 2H2v1h1V2Z'></path><path d='M0 .5A.5.5 0 0 1 .5 0h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-4ZM1 1v3h3V1H1Zm8 1H8v1h1V2Z'></path><path d='M6.5 0a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-4ZM7 4V1h3v3H7ZM3 8H2v1h1V8Z'></path><path d='M0 6.5A.5.5 0 0 1 .5 6h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-4ZM1 7v3h3V7H1Zm8 1h1v1h1v2h-1v-1H9V8Z'></path><path d='M8 10V8h1V7h1v1h1V7h-1V6H9v1H7V6H6v1h1v1H6v1h1v1H6v1h1v-1h1Z'></path><path d='M8 10v1h1v-1H8Z'></path>\",\"<path d='M5 3H3v2h2V3Z'></path><path d='M1 1.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-5ZM2 2v4h4V2H2Zm11 1h-2v2h2V3Z'></path><path d='M9 1.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-5Zm1 .5v4h4V2h-4Zm2 8V9h2v1h-1v1h-1v1h-1v-1h-1v-1h2Zm-2 0H9V9h1v1Zm2 3h-1v-1H9v1h1v1H9v1h1v-1h1v1h1v-2Zm1 0h-1v-1h1v1Zm1-1v1h-1v1h1v1h1v-3h-1Zm0-1h1v-1h-1v1Z'></path><path d='M14 11v1h-1v-1h1Zm-9 0H3v2h2v-2Z'></path><path d='M1 9.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-5Zm1 .5v4h4v-4H2Z'></path>\",\"<path d='M7 5H5v2h2V5Z'></path><path d='M1 2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2Zm2 1v6h6V3H3Zm16 2h-2v2h2V5Z'></path><path d='M14 1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1h-8Zm1 8V3h6v6h-6Zm-8 8H5v2h2v-2Z'></path><path d='M1 14a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-8Zm2 1v6h6v-6H3Zm16 2h2v2h2v4h-2v-2h-2v-4Z'></path><path d='M17 21v-4h2v-2h2v2h2v-2h-2v-2h-2v2h-4v-2h-2v2h2v2h-2v2h2v2h-2v2h2v-2h2Z'></path><path d='M17 21v2h2v-2h-2Z'></path>\",\"<path d='M10 6H6v4h4V6Z'></path><path d='M2 3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3Zm2 1v8h8V4H4Zm20 16v-2h4v2h-2v2h-2v2h-2v-2h-2v-2h4Zm-4 0h-2v-2h2v2Zm4 6h-2v-2h-4v2h2v2h-2v2h2v-2h2v2h2v-4Zm2 0h-2v-2h2v2Zm2-2v2h-2v2h2v2h2v-6h-2Zm0-2h2v-2h-2v2Z'></path><path d='M28 22v2h-2v-2h2ZM26 6h-4v4h4V6Z'></path><path d='M18 3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H19a1 1 0 0 1-1-1V3Zm2 1v8h8V4h-8ZM10 22H6v4h4v-4Z'></path><path d='M2 19a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V19Zm2 1v8h8v-8H4Z'></path>\"]];","export default [[\"<path d='M4 1a1 1 0 1 0 0 2 1 1 0 0 0 0-2ZM2 9.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM1 4a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm8 4a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm.5-6a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z'></path><path d='M7 6h4v1H7v4H6V7H1V6h5V1h1v5Z'></path>\",\"<path d='M9 8V1H8v7H1v1h7v6h1V9h6V8H9Z'></path><path d='M10 4.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0ZM3 12a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm0-7a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm8.5 5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm-6-8a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z'></path>\",\"<path d='M7.5 1a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5ZM19 2a4 4 0 1 0 0 8 4 4 0 0 0 0-8ZM2 8a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm15.5 6a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5ZM7 15a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z'></path><path d='M13 11h10v2H13v10h-2V13H1v-2h10V1h2v10Z'></path>\",\"<path d='M10 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm14 2a5 5 0 1 0 0 10 5 5 0 0 0 0-10Zm-1.5 14a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM6 8a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm3 11a4 4 0 1 0 0 8 4 4 0 0 0 0-8Z'></path><path d='M17 15h13v2H17v13h-2V17H2v-2h13V2h2v13Z'></path>\"],[\"<path d='M3 2a1 1 0 1 1 2 0 1 1 0 0 1-2 0ZM2 9.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM3.5 9a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1ZM2 3a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm6 6a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm1.5-7a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM9 3.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Z'></path><path d='M7 6h4v1H7v4H6V7H1V6h5V1h1v5Z'></path>\",\"<path d='M9 8V1H8v7H1v1h7v6h1V9h6V8H9Z'></path><path d='M10 4.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0ZM12.5 3a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM3 12a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm2-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2ZM3 5a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm7 6.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm1.5-.5a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm-6-9a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM5 3.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Z'></path>\",\"<path d='M5 3.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0ZM7.5 3a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1ZM15 6a4 4 0 1 1 8 0 4 4 0 0 1-8 0Zm4-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4ZM2 8a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm15.5 6a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Zm-.5 2.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0ZM7 15a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm-1 3a1 1 0 1 1 2 0 1 1 0 0 1-2 0Z'></path><path d='M13 11h10v2H13v10h-2V13H1v-2h10V1h2v10Z'></path>\",\"<path d='M7 5a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm3-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm9 5a5 5 0 1 1 10 0 5 5 0 0 1-10 0Zm5-3a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm-1.5 12a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM21 21.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM3 11a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm3-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm3 9a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm-2 4a2 2 0 1 1 4 0 2 2 0 0 1-4 0Z'></path><path d='M17 15h13v2H17v13h-2V17H2v-2h13V2h2v13Z'></path>\"]];","export default [[\"M5 4c0-.536-.443-1.032-1.044-.977-.571.052-1.32.217-1.929.753C1.401 4.326 1 5.199 1 6.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-.485c.009-.112.022-.228.043-.343.062-.34.166-.533.268-.608a2.3 2.3 0 0 0 .406-.362C4.865 4.527 5 4.297 5 4Zm5 0c0-.536-.443-1.032-1.044-.977-.571.052-1.32.217-1.929.753C6.401 4.326 6 5.199 6 6.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-.485c.009-.112.022-.228.043-.343.062-.34.166-.533.268-.608a2.3 2.3 0 0 0 .406-.362c.133-.16.268-.39.268-.687Z\",\"M7 4.5c0-.803-.672-1.558-1.575-1.413-.893.143-2.003.503-2.893 1.343C1.627 5.284 1 6.585 1 8.5v4A1.5 1.5 0 0 0 2.5 14h3A1.5 1.5 0 0 0 7 12.5v-3A1.5 1.5 0 0 0 5.5 8h-1a.475.475 0 0 1-.341-.139.26.26 0 0 1-.075-.246 2.06 2.06 0 0 1 .435-.92c.223-.256.561-.485 1.097-.606C6.309 5.933 7 5.354 7 4.5Zm7 0c0-.803-.672-1.558-1.575-1.413-.894.143-2.003.503-2.893 1.343C8.627 5.284 8 6.585 8 8.5v4A1.5 1.5 0 0 0 9.5 14h3a1.5 1.5 0 0 0 1.5-1.5v-3A1.5 1.5 0 0 0 12.5 8h-1a.475.475 0 0 1-.341-.139.26.26 0 0 1-.075-.246 2.06 2.06 0 0 1 .435-.92c.223-.256.561-.485 1.097-.606C13.309 5.933 14 5.354 14 4.5Z\",\"M11 5.5c0-1.348-1.12-2.577-2.606-2.419C5.589 3.38 3.683 4.49 2.506 6.12 1.355 7.713 1 9.669 1 11.5V17a3 3 0 0 0 3 3h4a3 3 0 0 0 3-3v-3.5a3 3 0 0 0-3-3 .973.973 0 0 1-.695-.284.611.611 0 0 1-.18-.544c.136-.802.357-1.14.53-1.3.172-.159.435-.274.953-.33C9.844 7.91 11 6.93 11 5.5Zm12 0c0-1.348-1.12-2.577-2.606-2.419-2.805.299-4.711 1.409-5.888 3.038C13.355 7.713 13 9.669 13 11.5V17a3 3 0 0 0 3 3h4a3 3 0 0 0 3-3v-3.5a3 3 0 0 0-3-3 .973.973 0 0 1-.695-.284.611.611 0 0 1-.18-.544c.136-.802.357-1.14.53-1.3.172-.159.435-.274.953-.33C21.844 7.91 23 6.93 23 5.5Z\",\"M15 7.5c0-1.36-1.119-2.55-2.572-2.445-3.988.286-6.654 1.69-8.299 3.795C2.51 10.925 2 13.53 2 16v8a3 3 0 0 0 3 3h7a3 3 0 0 0 3-3v-6a3 3 0 0 0-3-3H9c-.597 0-.945-.465-.894-.873.229-1.806.794-2.72 1.451-3.232.69-.537 1.659-.78 3.003-.86C13.87 9.957 15 8.902 15 7.5Zm15 0c0-1.36-1.119-2.55-2.572-2.445-3.988.286-6.654 1.69-8.299 3.795C17.51 10.925 17 13.53 17 16v8a3 3 0 0 0 3 3h7a3 3 0 0 0 3-3v-6a3 3 0 0 0-3-3h-3c-.597 0-.945-.465-.894-.873.229-1.806.794-2.72 1.451-3.232.69-.537 1.659-.78 3.003-.86C28.87 9.957 30 8.902 30 7.5Z\"],[\"M5 4c0-.536-.443-1.032-1.044-.977-.571.052-1.32.217-1.929.753C1.401 4.326 1 5.199 1 6.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-.485c.009-.112.022-.228.043-.343.062-.34.166-.533.268-.608a2.3 2.3 0 0 0 .406-.362C4.865 4.527 5 4.297 5 4ZM3.5 7H4v2H2V6.5c0-1.085.325-1.655.688-1.973.362-.319.835-.453 1.293-.502a1.358 1.358 0 0 1-.246.217c-.429.315-.59.846-.66 1.236C3 5.886 3 6.289 3 6.493V6.5a.5.5 0 0 0 .5.5ZM10 4c0-.536-.443-1.032-1.044-.977-.571.052-1.32.217-1.929.753C6.401 4.326 6 5.199 6 6.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-.485c.009-.112.022-.228.043-.343.062-.34.166-.533.268-.608a2.3 2.3 0 0 0 .406-.362c.133-.16.268-.39.268-.687ZM8.5 7H9v2H7V6.5c0-1.085.325-1.655.688-1.973.362-.319.835-.453 1.293-.502a1.358 1.358 0 0 1-.246.217c-.429.315-.59.846-.66 1.236C8 5.886 8 6.289 8 6.493V6.5a.5.5 0 0 0 .5.5Z\",\"M7 4.5c0-.803-.672-1.558-1.575-1.413-.893.143-2.003.503-2.893 1.343C1.627 5.284 1 6.585 1 8.5v4A1.5 1.5 0 0 0 2.5 14h3A1.5 1.5 0 0 0 7 12.5v-3A1.5 1.5 0 0 0 5.5 8h-1a.475.475 0 0 1-.341-.139.26.26 0 0 1-.075-.246 2.06 2.06 0 0 1 .435-.92c.223-.256.561-.485 1.097-.606C6.309 5.933 7 5.354 7 4.5Zm-1.416-.426C5.772 4.044 6 4.2 6 4.5c0 .25-.22.527-.604.613-.728.165-1.26.498-1.632.928a3.055 3.055 0 0 0-.656 1.358C2.901 8.334 3.72 9 4.5 9h1a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-4c0-1.677.539-2.701 1.218-3.342.694-.655 1.587-.959 2.366-1.084ZM14 4.5c0-.803-.672-1.558-1.575-1.413-.894.143-2.003.503-2.893 1.343C8.627 5.284 8 6.585 8 8.5v4A1.5 1.5 0 0 0 9.5 14h3a1.5 1.5 0 0 0 1.5-1.5v-3A1.5 1.5 0 0 0 12.5 8h-1a.475.475 0 0 1-.341-.139.26.26 0 0 1-.075-.246 2.06 2.06 0 0 1 .435-.92c.223-.256.561-.485 1.097-.606C13.309 5.933 14 5.354 14 4.5Zm-1.416-.426c.188-.03.416.125.416.426 0 .25-.22.527-.604.613-.729.165-1.26.498-1.632.928a3.056 3.056 0 0 0-.656 1.358C9.9 8.334 10.72 9 11.5 9h1a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-4c0-1.677.539-2.701 1.218-3.342.694-.655 1.587-.959 2.366-1.084Z\",\"M11 5.5c0-1.348-1.12-2.577-2.606-2.419C5.589 3.38 3.683 4.49 2.506 6.12 1.355 7.713 1 9.669 1 11.5V17a3 3 0 0 0 3 3h4a3 3 0 0 0 3-3v-3.5a3 3 0 0 0-3-3 .973.973 0 0 1-.695-.284.611.611 0 0 1-.18-.544c.136-.802.357-1.14.53-1.3.172-.159.435-.274.953-.33C9.844 7.91 11 6.93 11 5.5Zm-2.394-.43a.31.31 0 0 1 .257.093c.08.077.137.196.137.337 0 .227-.194.51-.605.553-.71.076-1.472.271-2.097.85-.623.576-.97 1.4-1.145 2.435C4.843 11.168 6.418 12.5 8 12.5a1 1 0 0 1 1 1V17a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-5.5c0-1.608.317-3.088 1.127-4.21.785-1.086 2.128-1.97 4.479-2.22ZM23 5.5c0-1.348-1.12-2.577-2.606-2.419-2.805.299-4.711 1.409-5.888 3.038C13.355 7.713 13 9.669 13 11.5V17a3 3 0 0 0 3 3h4a3 3 0 0 0 3-3v-3.5a3 3 0 0 0-3-3 .973.973 0 0 1-.695-.284.611.611 0 0 1-.18-.544c.136-.802.357-1.14.53-1.3.172-.159.435-.274.953-.33C21.844 7.91 23 6.93 23 5.5Zm-2.394-.43a.31.31 0 0 1 .257.093A.47.47 0 0 1 21 5.5c0 .227-.194.51-.605.553-.71.076-1.472.271-2.097.85-.623.576-.97 1.4-1.145 2.435-.31 1.83 1.265 3.162 2.847 3.162a1 1 0 0 1 1 1V17a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-5.5c0-1.608.317-3.088 1.127-4.21.785-1.086 2.129-1.97 4.479-2.22Z\",\"M15 7.5c0-1.36-1.119-2.55-2.572-2.445-3.988.286-6.654 1.69-8.299 3.795C2.51 10.925 2 13.53 2 16v8a3 3 0 0 0 3 3h7a3 3 0 0 0 3-3v-6a3 3 0 0 0-3-3H9c-.597 0-.945-.465-.894-.873.229-1.806.794-2.72 1.451-3.232.69-.537 1.659-.78 3.003-.86C13.87 9.957 15 8.902 15 7.5Zm-2.429-.45c.2-.015.429.153.429.45 0 .255-.215.518-.56.539-1.46.087-2.934.36-4.112 1.279-1.21.944-1.936 2.428-2.206 4.558C5.896 15.659 7.388 17 9 17h3a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-8c0-2.232.465-4.33 1.705-5.918 1.217-1.558 3.3-2.776 6.866-3.033ZM30 7.5c0-1.36-1.119-2.55-2.572-2.445-3.988.286-6.654 1.69-8.299 3.795C17.51 10.925 17 13.53 17 16v8a3 3 0 0 0 3 3h7a3 3 0 0 0 3-3v-6a3 3 0 0 0-3-3h-3c-.597 0-.945-.465-.894-.873.229-1.806.794-2.72 1.451-3.232.69-.537 1.659-.78 3.003-.86C28.87 9.957 30 8.902 30 7.5Zm-2.429-.45c.2-.015.429.153.429.45 0 .255-.215.518-.56.539-1.46.087-2.934.36-4.113 1.279-1.21.944-1.935 2.428-2.205 4.558C20.896 15.659 22.388 17 24 17h3a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-7a1 1 0 0 1-1-1v-8c0-2.232.465-4.33 1.705-5.918 1.217-1.558 3.3-2.776 6.866-3.033Z\"]];","export default [[\"M1 9c0 .536.443 1.032 1.044.977.571-.052 1.32-.217 1.929-.753C4.599 8.674 5 7.801 5 6.5v-3a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h.485a3.376 3.376 0 0 1-.043.343c-.062.34-.166.533-.268.608a2.301 2.301 0 0 0-.406.362A1.07 1.07 0 0 0 1 9Zm5 0c0 .536.443 1.032 1.044.977.571-.052 1.32-.217 1.929-.753C9.599 8.674 10 7.801 10 6.5v-3a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h.485a3.376 3.376 0 0 1-.043.343c-.062.34-.166.533-.268.608a2.301 2.301 0 0 0-.406.362A1.07 1.07 0 0 0 6 9Z\",\"M1 12.5c0 .803.672 1.558 1.575 1.413.893-.143 2.003-.503 2.893-1.343C6.373 11.716 7 10.415 7 8.5v-4A1.5 1.5 0 0 0 5.5 3h-3A1.5 1.5 0 0 0 1 4.5v3A1.5 1.5 0 0 0 2.5 9h1c.142 0 .266.06.341.139a.26.26 0 0 1 .075.246 2.06 2.06 0 0 1-.435.92c-.223.256-.561.485-1.097.606C1.691 11.067 1 11.646 1 12.5Zm7 0c0 .803.672 1.558 1.575 1.413.894-.143 2.003-.503 2.893-1.343C13.373 11.716 14 10.415 14 8.5v-4A1.5 1.5 0 0 0 12.5 3h-3A1.5 1.5 0 0 0 8 4.5v3A1.5 1.5 0 0 0 9.5 9h1c.142 0 .266.06.341.139a.26.26 0 0 1 .075.246 2.059 2.059 0 0 1-.435.92c-.223.256-.561.485-1.097.606C8.691 11.067 8 11.646 8 12.5Z\",\"M1 17.5c0 1.348 1.12 2.577 2.606 2.419 2.805-.299 4.711-1.409 5.888-3.038C10.645 15.287 11 13.331 11 11.5V6a3 3 0 0 0-3-3H4a3 3 0 0 0-3 3v3.5a3 3 0 0 0 3 3c.282 0 .534.117.695.284a.611.611 0 0 1 .18.544c-.136.802-.357 1.14-.53 1.3-.172.159-.435.274-.953.33C2.156 15.09 1 16.07 1 17.5Zm12 0c0 1.348 1.12 2.577 2.606 2.419 2.805-.299 4.711-1.409 5.888-3.038C22.645 15.287 23 13.331 23 11.5V6a3 3 0 0 0-3-3h-4a3 3 0 0 0-3 3v3.5a3 3 0 0 0 3 3c.282 0 .534.117.695.284a.611.611 0 0 1 .18.544c-.136.802-.357 1.14-.53 1.3-.172.159-.435.274-.953.33C14.156 15.09 13 16.07 13 17.5Z\",\"M2 24.5c0 1.36 1.119 2.55 2.572 2.445 3.988-.286 6.654-1.69 8.299-3.795C14.49 21.075 15 18.47 15 16V8a3 3 0 0 0-3-3H5a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h3c.597 0 .945.465.894.873-.229 1.806-.794 2.72-1.451 3.232-.69.537-1.659.78-3.003.86C3.13 22.043 2 23.098 2 24.5Zm15 0c0 1.36 1.119 2.55 2.572 2.445 3.988-.286 6.654-1.69 8.299-3.795C29.49 21.075 30 18.47 30 16V8a3 3 0 0 0-3-3h-7a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h3c.597 0 .945.465.894.873-.229 1.806-.794 2.72-1.451 3.232-.69.537-1.659.78-3.003.86-1.31.078-2.44 1.133-2.44 2.535Z\"],[\"M1 9c0 .536.443 1.032 1.044.977.571-.052 1.32-.217 1.929-.753C4.599 8.674 5 7.801 5 6.5v-3a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h.485a3.376 3.376 0 0 1-.043.343c-.062.34-.166.533-.268.608a2.301 2.301 0 0 0-.406.362A1.07 1.07 0 0 0 1 9Zm1.5-3H2V4h2v2.5c0 1.085-.325 1.655-.688 1.973-.362.319-.835.453-1.293.502a1.357 1.357 0 0 1 .246-.217c.429-.315.59-.846.66-1.236C3 7.114 3 6.711 3 6.507V6.5a.5.5 0 0 0-.5-.5ZM6 9c0 .536.443 1.032 1.044.977.571-.052 1.32-.217 1.929-.753C9.599 8.674 10 7.801 10 6.5v-3a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h.485a3.376 3.376 0 0 1-.043.343c-.062.34-.166.533-.268.608a2.301 2.301 0 0 0-.406.362A1.07 1.07 0 0 0 6 9Zm1.5-3H7V4h2v2.5c0 1.085-.325 1.655-.688 1.973-.362.319-.835.453-1.293.502a1.357 1.357 0 0 1 .246-.217c.429-.315.59-.846.66-1.236C8 7.114 8 6.711 8 6.507V6.5a.5.5 0 0 0-.5-.5Z\",\"M1 12.5c0 .803.672 1.558 1.575 1.413.893-.143 2.003-.503 2.893-1.343C6.373 11.716 7 10.415 7 8.5v-4A1.5 1.5 0 0 0 5.5 3h-3A1.5 1.5 0 0 0 1 4.5v3A1.5 1.5 0 0 0 2.5 9h1c.142 0 .266.06.341.139a.26.26 0 0 1 .075.246 2.06 2.06 0 0 1-.435.92c-.223.256-.561.485-1.097.606C1.691 11.067 1 11.646 1 12.5Zm1.416.426C2.228 12.956 2 12.8 2 12.5c0-.25.22-.527.604-.613.728-.165 1.26-.498 1.632-.928a3.04 3.04 0 0 0 .656-1.358C5.1 8.666 4.28 8 3.5 8h-1a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v4c0 1.677-.539 2.701-1.218 3.342-.694.655-1.587.959-2.366 1.084ZM8 12.5c0 .803.672 1.558 1.575 1.413.894-.143 2.003-.503 2.893-1.343C13.373 11.716 14 10.415 14 8.5v-4A1.5 1.5 0 0 0 12.5 3h-3A1.5 1.5 0 0 0 8 4.5v3A1.5 1.5 0 0 0 9.5 9h1c.142 0 .266.06.341.139a.26.26 0 0 1 .075.246 2.059 2.059 0 0 1-.435.92c-.223.256-.561.485-1.097.606C8.691 11.067 8 11.646 8 12.5Zm1.416.426C9.228 12.956 9 12.8 9 12.5c0-.25.22-.527.604-.613.729-.165 1.26-.498 1.632-.928.368-.423.557-.913.656-1.358C12.1 8.666 11.28 8 10.5 8h-1a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v4c0 1.677-.539 2.701-1.218 3.342-.694.655-1.587.959-2.366 1.084Z\",\"M1 17.5c0 1.348 1.12 2.577 2.606 2.419 2.805-.299 4.711-1.409 5.888-3.038C10.645 15.287 11 13.331 11 11.5V6a3 3 0 0 0-3-3H4a3 3 0 0 0-3 3v3.5a3 3 0 0 0 3 3c.282 0 .534.117.695.284a.611.611 0 0 1 .18.544c-.136.802-.357 1.14-.53 1.3-.172.159-.435.274-.953.33C2.156 15.09 1 16.07 1 17.5Zm2.394.43a.31.31 0 0 1-.257-.093A.469.469 0 0 1 3 17.5c0-.227.194-.51.605-.553.71-.076 1.472-.271 2.097-.85.623-.576.97-1.4 1.145-2.435C7.157 11.832 5.582 10.5 4 10.5a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v5.5c0 1.608-.317 3.088-1.127 4.21-.785 1.086-2.128 1.97-4.479 2.22ZM13 17.5c0 1.348 1.12 2.577 2.606 2.419 2.805-.299 4.711-1.409 5.888-3.038C22.645 15.287 23 13.331 23 11.5V6a3 3 0 0 0-3-3h-4a3 3 0 0 0-3 3v3.5a3 3 0 0 0 3 3c.282 0 .534.117.695.284a.611.611 0 0 1 .18.544c-.136.802-.357 1.14-.53 1.3-.172.159-.435.274-.953.33C14.156 15.09 13 16.07 13 17.5Zm2.394.43a.31.31 0 0 1-.257-.093A.47.47 0 0 1 15 17.5c0-.227.194-.51.605-.553.71-.076 1.472-.271 2.097-.85.623-.576.97-1.4 1.145-2.435.31-1.83-1.265-3.162-2.847-3.162a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v5.5c0 1.608-.317 3.088-1.127 4.21-.785 1.086-2.129 1.97-4.479 2.22Z\",\"M2 24.5c0 1.36 1.119 2.55 2.572 2.445 3.988-.286 6.654-1.69 8.299-3.795C14.49 21.075 15 18.47 15 16V8a3 3 0 0 0-3-3H5a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h3c.597 0 .945.465.894.873-.229 1.806-.794 2.72-1.451 3.232-.69.537-1.659.78-3.003.86C3.13 22.043 2 23.098 2 24.5Zm2.429.45c-.2.015-.429-.153-.429-.45 0-.255.215-.518.56-.539 1.46-.087 2.934-.36 4.112-1.279 1.21-.944 1.936-2.428 2.206-4.557C11.104 16.34 9.612 15 8 15H5a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v8c0 2.233-.465 4.33-1.705 5.919-1.217 1.557-3.3 2.776-6.866 3.032ZM17 24.5c0 1.36 1.119 2.55 2.572 2.445 3.988-.286 6.654-1.69 8.299-3.795C29.49 21.075 30 18.47 30 16V8a3 3 0 0 0-3-3h-7a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h3c.597 0 .945.465.894.873-.229 1.806-.794 2.72-1.451 3.232-.69.537-1.659.78-3.003.86-1.31.078-2.44 1.133-2.44 2.535Zm2.429.45c-.2.015-.429-.153-.429-.45 0-.255.215-.518.56-.539 1.46-.087 2.934-.36 4.113-1.279 1.21-.944 1.935-2.428 2.205-4.557C26.104 16.34 24.612 15 23 15h-3a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v8c0 2.233-.465 4.33-1.705 5.919-1.217 1.557-3.3 2.776-6.866 3.032Z\"]];","export default [[\"M4.5 3a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Zm0 4a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Zm0-1a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1ZM3 9.5a1.5 1.5 0 1 0 3 0 1.5 1.5 0 0 0-3 0Zm1 0a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0Zm4.783-7h.35L8.283.323h-.46L6.973 2.5h.352c.038 0 .07-.01.095-.03a.177.177 0 0 0 .052-.07l.147-.415h.867l.147.416c.012.029.03.053.054.072a.16.16 0 0 0 .096.027Zm-.642-1.493.236.666H7.73l.234-.663a2.121 2.121 0 0 0 .088-.279l.044.153c.016.047.031.088.045.123Zm-.14 3.316c.146 0 .27.014.374.042a.685.685 0 0 1 .253.117.44.44 0 0 1 .144.183c.03.072.045.153.045.242a.462.462 0 0 1-.09.274.494.494 0 0 1-.117.11.717.717 0 0 1-.171.084.621.621 0 0 1 .329.17.443.443 0 0 1 .106.308.611.611 0 0 1-.208.462.741.741 0 0 1-.252.137 1.112 1.112 0 0 1-.342.048h-.843V4.323H8Zm.063 1.832a.518.518 0 0 0 .177-.026.305.305 0 0 0 .113-.07.24.24 0 0 0 .058-.1.419.419 0 0 0 .017-.116.339.339 0 0 0-.02-.119.206.206 0 0 0-.063-.088.29.29 0 0 0-.114-.057.639.639 0 0 0-.171-.02h-.382v.596h.385Zm-.385-1.49v.588h.295a.846.846 0 0 0 .168-.015.345.345 0 0 0 .123-.05.22.22 0 0 0 .075-.09.317.317 0 0 0 .027-.137c0-.054-.007-.1-.022-.138a.2.2 0 0 0-.066-.092.284.284 0 0 0-.114-.05A.71.71 0 0 0 8 4.666h-.322Zm1.094 5.327a.083.083 0 0 0-.063-.027.086.086 0 0 0-.039.009.185.185 0 0 0-.034.022.601.601 0 0 1-.197.119.56.56 0 0 1-.115.025 1.148 1.148 0 0 1-.138.008.58.58 0 0 1-.441-.192.705.705 0 0 1-.134-.231.951.951 0 0 1-.048-.314.99.99 0 0 1 .045-.31.658.658 0 0 1 .126-.23.547.547 0 0 1 .197-.144.622.622 0 0 1 .25-.05.628.628 0 0 1 .336.083c.036.021.066.04.09.057a.13.13 0 0 0 .074.026.096.096 0 0 0 .057-.015.141.141 0 0 0 .034-.035l.152-.207a.91.91 0 0 0-.143-.115.872.872 0 0 0-.171-.092 1.096 1.096 0 0 0-.427-.08c-.107 0-.208.013-.303.038a1.001 1.001 0 0 0-.64.497 1.145 1.145 0 0 0-.103.27 1.33 1.33 0 0 0-.034.307c0 .161.024.31.073.446.049.136.119.253.21.352a.96.96 0 0 0 .332.233c.13.055.276.082.439.082.18 0 .335-.029.465-.087a.848.848 0 0 0 .329-.255l-.179-.19Z\",\"<path d='M5 3.5a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Z'></path><path d='M5 1a2 2 0 1 1 0 4 2 2 0 0 1 0-4Zm1 2a1 1 0 1 0-2 0 1 1 0 0 0 2 0ZM5 6a2 2 0 1 1 0 4 2 2 0 0 1 0-4Zm1 2a1 1 0 1 0-2 0 1 1 0 0 0 2 0Zm1 5a2 2 0 1 0-4 0 2 2 0 0 0 4 0Zm-2-1a1 1 0 1 1 0 2 1 1 0 0 1 0-2Zm6.473-7h.582L10.64 1.372h-.767L8.455 5h.588a.244.244 0 0 0 .157-.05.295.295 0 0 0 .088-.115l.245-.693h1.445l.245.693c.02.048.05.088.09.12.041.03.095.045.16.045Zm-1.07-2.488.392 1.11H9.718l.39-1.105a3.603 3.603 0 0 0 .148-.465 3.494 3.494 0 0 0 .147.46Zm-.235 3.86c.244 0 .451.023.623.07.173.045.314.11.422.195a.73.73 0 0 1 .24.305c.05.12.075.254.075.403a.77.77 0 0 1-.15.457.824.824 0 0 1-.195.183 1.22 1.22 0 0 1-.285.14c.247.058.43.153.548.285a.738.738 0 0 1 .177.512c0 .153-.03.296-.09.428a.955.955 0 0 1-.257.342 1.237 1.237 0 0 1-.42.228c-.165.053-.355.08-.57.08H8.88V6.372h1.287Zm.105 3.053c.12 0 .219-.015.295-.043a.51.51 0 0 0 .188-.117.4.4 0 0 0 .097-.165.699.699 0 0 0 .028-.195.555.555 0 0 0-.033-.198.344.344 0 0 0-.105-.147.485.485 0 0 0-.19-.095 1.065 1.065 0 0 0-.285-.033h-.637v.993h.642Zm-.642-2.483v.98h.492c.105 0 .199-.008.28-.025a.576.576 0 0 0 .205-.085.366.366 0 0 0 .125-.15.528.528 0 0 0 .045-.227.627.627 0 0 0-.037-.23.332.332 0 0 0-.11-.153.474.474 0 0 0-.19-.082 1.184 1.184 0 0 0-.273-.028h-.537Zm1.823 7.21a.139.139 0 0 0-.105-.045.143.143 0 0 0-.065.015.308.308 0 0 0-.057.037.998.998 0 0 1-.16.12.932.932 0 0 1-.36.12 1.9 1.9 0 0 1-.23.013c-.143 0-.279-.027-.405-.08a.966.966 0 0 1-.33-.24 1.175 1.175 0 0 1-.223-.385 1.585 1.585 0 0 1-.08-.523c0-.193.025-.365.075-.517.05-.152.12-.28.21-.383a.912.912 0 0 1 .328-.24c.127-.055.266-.082.417-.082a1.052 1.052 0 0 1 .56.138c.06.034.11.066.15.094a.217.217 0 0 0 .123.043.16.16 0 0 0 .095-.025.234.234 0 0 0 .057-.057l.253-.345a1.52 1.52 0 0 0-.238-.193 1.457 1.457 0 0 0-.285-.153 1.953 1.953 0 0 0-.713-.132c-.178 0-.346.02-.504.063a1.67 1.67 0 0 0-1.065.827 1.842 1.842 0 0 0-.173.45 2.216 2.216 0 0 0-.057.512c0 .269.04.516.122.743.082.227.199.423.35.588.152.165.336.294.553.387.217.092.46.138.732.138.3 0 .559-.049.775-.145.219-.097.401-.239.548-.425l-.298-.318Z'></path>\",\"<path d='M8.5 4.25a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5Z'></path><path d='M8.5 0a3.5 3.5 0 1 1 0 7 3.5 3.5 0 0 1 0-7ZM10 3.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0ZM8.5 8a3.5 3.5 0 1 1 0 7 3.5 3.5 0 0 1 0-7Zm1.5 3.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0Zm2 8a3.5 3.5 0 1 0-7 0 3.5 3.5 0 0 0 7 0ZM8.5 18a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3Zm9.65-12h.917L17.093.9h-1.21L13.907 6h.924c.098 0 .18-.026.245-.077a.433.433 0 0 0 .14-.179l.301-.889h1.94l.3.89a.47.47 0 0 0 .144.185c.063.047.145.07.248.07Zm-1.435-3.346.473 1.396H15.79l.47-1.39a5.691 5.691 0 0 0 .223-.71c.04.14.08.271.12.392.039.12.076.223.111.312ZM16.37 8.9c.352 0 .652.033.9.098.247.066.449.158.605.277.157.119.27.264.34.434.072.17.108.36.108.57 0 .115-.016.226-.049.333a.976.976 0 0 1-.154.297 1.22 1.22 0 0 1-.27.252c-.109.077-.24.144-.395.2.336.082.585.213.746.395.16.182.241.418.241.707a1.393 1.393 0 0 1-.497 1.095 1.77 1.77 0 0 1-.598.326c-.238.077-.51.116-.816.116h-2.037V8.9h1.876Zm.14 4.207c.156 0 .284-.02.382-.06.1-.039.178-.09.234-.153a.517.517 0 0 0 .116-.214.94.94 0 0 0 .031-.241.772.772 0 0 0-.038-.252.398.398 0 0 0-.126-.19.6.6 0 0 0-.235-.118 1.376 1.376 0 0 0-.37-.042h-.827v1.27h.833Zm-.833-3.321v1.26h.616c.13 0 .249-.01.354-.028a.718.718 0 0 0 .266-.098.435.435 0 0 0 .168-.193.703.703 0 0 0 .06-.308.85.85 0 0 0-.046-.3.432.432 0 0 0-.14-.197.589.589 0 0 0-.242-.105 1.62 1.62 0 0 0-.343-.031h-.693Zm2.338 10.912a.218.218 0 0 0-.185.007.37.37 0 0 0-.091.056 1.47 1.47 0 0 1-.207.158 1.133 1.133 0 0 1-.465.15 2.66 2.66 0 0 1-.294.014 1.26 1.26 0 0 1-.956-.424 1.593 1.593 0 0 1-.29-.514 2.132 2.132 0 0 1-.105-.696c0-.26.031-.49.094-.69.066-.203.157-.373.273-.51.12-.14.26-.247.42-.32.164-.072.343-.108.54-.108.123 0 .23.01.321.028a1.305 1.305 0 0 1 .42.158c.052.03.098.06.14.087.042.026.082.048.12.067a.262.262 0 0 0 .118.028.244.244 0 0 0 .147-.039.555.555 0 0 0 .091-.09l.4-.536a2.126 2.126 0 0 0-.736-.487 2.464 2.464 0 0 0-.476-.14 2.64 2.64 0 0 0-.539-.052c-.375 0-.72.064-1.032.192a2.35 2.35 0 0 0-.805.54 2.432 2.432 0 0 0-.522.825 2.86 2.86 0 0 0-.185 1.047c0 .373.057.72.171 1.04.115.317.278.592.49.825.215.231.475.413.78.546.309.13.657.196 1.044.196.422 0 .787-.067 1.095-.203.31-.137.569-.34.774-.609l-.47-.493a.21.21 0 0 0-.08-.053Z'></path>\",\"<path d='M11 6.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z'></path><path d='M11 1.5a4 4 0 1 1 0 8 4 4 0 0 1 0-8Zm2 4a2 2 0 1 0-4 0 2 2 0 0 0 4 0Zm-2 6a4 4 0 1 1 0 8 4 4 0 0 1 0-8Zm2 4a2 2 0 1 0-4 0 2 2 0 0 0 4 0Zm2 10a4 4 0 1 0-8 0 4 4 0 0 0 8 0Zm-4-2a2 2 0 1 1 0 4 2 2 0 0 1 0-4Zm12.337-15h1.179l-2.538-6.557H20.42L17.883 8.5h1.188a.494.494 0 0 0 .315-.1.556.556 0 0 0 .18-.229l.387-1.143h2.493l.387 1.143a.603.603 0 0 0 .184.239c.081.06.188.09.32.09Zm-1.845-4.302.607 1.795h-1.795l.603-1.786a7.28 7.28 0 0 0 .288-.914c.05.18.102.348.153.504.05.153.099.287.144.4Zm-.445 7.745c.453 0 .838.042 1.156.126.318.084.578.203.779.356.2.153.346.339.436.558.093.219.14.463.14.733 0 .147-.021.29-.063.428a1.258 1.258 0 0 1-.198.382 1.57 1.57 0 0 1-.347.324c-.14.1-.31.185-.508.257.432.105.751.274.958.508.207.234.31.537.31.91a1.793 1.793 0 0 1-.639 1.409 2.277 2.277 0 0 1-.769.417 3.403 3.403 0 0 1-1.048.149h-2.62v-6.557h2.413Zm.18 5.41c.2 0 .364-.026.49-.077a.777.777 0 0 0 .302-.198.664.664 0 0 0 .148-.275c.027-.102.04-.205.04-.31a.993.993 0 0 0-.049-.324.513.513 0 0 0-.162-.243.77.77 0 0 0-.301-.153 1.77 1.77 0 0 0-.477-.054h-1.062v1.633h1.07Zm-1.071-4.271v1.62h.792c.168 0 .32-.012.454-.036a.923.923 0 0 0 .342-.126.56.56 0 0 0 .216-.248.905.905 0 0 0 .077-.396c0-.156-.02-.285-.059-.387a.556.556 0 0 0-.18-.252.757.757 0 0 0-.31-.135 2.084 2.084 0 0 0-.441-.04h-.891Zm3.005 14.244a.279.279 0 0 0-.239.009.473.473 0 0 0-.117.072c-.09.08-.178.148-.265.202a1.468 1.468 0 0 1-.598.194 3.63 3.63 0 0 1-.378.018 1.62 1.62 0 0 1-1.229-.544 2.048 2.048 0 0 1-.373-.662 2.741 2.741 0 0 1-.136-.896c0-.333.041-.628.122-.886.084-.261.201-.48.351-.657a1.52 1.52 0 0 1 .54-.41c.21-.093.441-.14.693-.14.159 0 .297.013.414.037a1.679 1.679 0 0 1 .54.202c.066.04.126.077.18.113.054.033.105.061.153.085a.338.338 0 0 0 .153.036.315.315 0 0 0 .189-.05.72.72 0 0 0 .117-.116l.513-.689a2.74 2.74 0 0 0-.945-.625 3.161 3.161 0 0 0-.612-.18 3.395 3.395 0 0 0-.693-.068 3.47 3.47 0 0 0-1.328.248 3.02 3.02 0 0 0-1.035.693 3.125 3.125 0 0 0-.67 1.062 3.675 3.675 0 0 0-.238 1.345c0 .48.073.926.22 1.337.147.408.357.762.63 1.062.276.297.61.53 1.003.702.396.168.843.252 1.341.252.544 0 1.013-.087 1.409-.261.399-.177.73-.438.994-.783l-.602-.635a.268.268 0 0 0-.104-.067Z'></path>\"]];","export default [[\"M1 5.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM5.5 0a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11ZM8 5.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Z\",\"M1 7.5a6.5 6.5 0 1 1 13 0 6.5 6.5 0 0 1-13 0ZM7.5 0a7.5 7.5 0 1 0 0 15 7.5 7.5 0 0 0 0-15ZM12 7.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Z\",\"M3 12a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-11C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1Zm6 11a6 6 0 1 1-12 0 6 6 0 0 1 12 0Z\",\"M4 16C4 9.373 9.373 4 16 4s12 5.373 12 12-5.373 12-12 12S4 22.627 4 16ZM16 2C8.268 2 2 8.268 2 16s6.268 14 14 14 14-6.268 14-14S23.732 2 16 2Zm9 14a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z\"]];","export default [[\"M3 3.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm4 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm-1 0a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM9.5 5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm0-1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1ZM6.57 8.925c.066 0 .119.019.157.057a.19.19 0 0 1 .06.148v.37h-2.48v-.205a.348.348 0 0 1 .11-.255l1.097-1.1a4.81 4.81 0 0 0 .245-.268 1.68 1.68 0 0 0 .183-.252 1.15 1.15 0 0 0 .11-.253.922.922 0 0 0 .04-.272.632.632 0 0 0-.038-.228.446.446 0 0 0-.107-.167.415.415 0 0 0-.165-.1.619.619 0 0 0-.215-.035.63.63 0 0 0-.205.032.522.522 0 0 0-.165.088.534.534 0 0 0-.198.295c-.028.076-.065.127-.11.152-.045.025-.11.031-.195.018l-.325-.058c.025-.173.074-.325.145-.455a1.082 1.082 0 0 1 .638-.525c.14-.045.29-.067.45-.067.167 0 .319.025.457.075a.945.945 0 0 1 .585.532c.055.127.083.268.083.423 0 .133-.02.256-.06.37a1.456 1.456 0 0 1-.158.325 2.114 2.114 0 0 1-.23.3c-.088.096-.18.195-.277.295l-.815.832a1.72 1.72 0 0 1 .455-.072h.927Zm-3.982.112V9.5h-2v-.463h.733V6.93c0-.084.002-.17.007-.258l-.52.435a.229.229 0 0 1-.09.045.229.229 0 0 1-.15-.025.159.159 0 0 1-.045-.042l-.195-.268 1.103-.937h.507v3.157h.65Zm6.06-2.6c-.072.13-.12.282-.145.455l.325.058c.083.013.148.007.193-.018.046-.025.084-.076.112-.152a.57.57 0 0 1 .198-.295.607.607 0 0 1 .37-.12c.158 0 .285.044.38.132.095.089.142.218.142.388a.66.66 0 0 1-.035.22.381.381 0 0 1-.125.172.642.642 0 0 1-.237.11c-.1.027-.226.041-.378.043v.44c.183 0 .33.014.438.042a.63.63 0 0 1 .252.118.35.35 0 0 1 .115.182c.018.07.027.149.027.235a.56.56 0 0 1-.157.388.597.597 0 0 1-.195.135.698.698 0 0 1-.275.05.666.666 0 0 1-.242-.04.658.658 0 0 1-.305-.26 2.533 2.533 0 0 1-.098-.173.192.192 0 0 0-.137-.1.317.317 0 0 0-.2.023l-.273.112c.05.155.11.292.18.41a1.031 1.031 0 0 0 .607.485c.136.042.294.063.476.063.166 0 .324-.024.472-.073.15-.048.282-.119.395-.212a1.037 1.037 0 0 0 .37-.828.845.845 0 0 0-.16-.527c-.107-.14-.268-.244-.485-.313.09-.03.17-.067.242-.112a.656.656 0 0 0 .29-.393c.027-.088.04-.19.04-.305a.875.875 0 0 0-.294-.662 1 1 0 0 0-.346-.198 1.313 1.313 0 0 0-.45-.072c-.16 0-.31.022-.45.067a1.082 1.082 0 0 0-.638.525Z\",\"<path d='M3.5 5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z'></path><path d='M1 5a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm2-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm3 1a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm2-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm5-1a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm-1 2a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm-2.66 6.74c.09 0 .16.026.21.076a.26.26 0 0 1 .079.198v.486H6.61v-.27a.49.49 0 0 1 .144-.336l1.29-1.293c.11-.11.207-.215.29-.315.085-.102.155-.201.21-.297a1.163 1.163 0 0 0 .168-.612c0-.194-.05-.341-.15-.441-.1-.102-.24-.153-.422-.153a.663.663 0 0 0-.402.129.645.645 0 0 0-.135.14.577.577 0 0 0-.084.178c-.036.1-.085.167-.147.2-.06.033-.146.04-.258.022l-.438-.078c.032-.212.092-.398.18-.558a1.32 1.32 0 0 1 .33-.4c.132-.105.283-.184.453-.236.17-.054.353-.081.549-.081.206 0 .393.03.56.093.17.06.316.145.436.255.12.108.213.239.279.393.066.154.099.324.099.51 0 .16-.023.308-.07.444a1.754 1.754 0 0 1-.188.39 2.774 2.774 0 0 1-.273.357 9.587 9.587 0 0 1-.33.35l-.924.946a2.44 2.44 0 0 1 .585-.096h.978Zm-4.714.15v.61H2.184v-.61h.864V9.51a4.297 4.297 0 0 1 .012-.324l-.57.474a.283.283 0 0 1-.225.06.303.303 0 0 1-.09-.036.27.27 0 0 1-.06-.054l-.261-.351 1.338-1.134h.68v3.747h.754Zm7.159-3.074c-.088.16-.148.346-.18.558l.435.078c.114.018.201.01.261-.021.06-.034.11-.101.147-.201a.577.577 0 0 1 .084-.177.645.645 0 0 1 .135-.141.663.663 0 0 1 .402-.129c.182 0 .322.05.42.15.1.1.15.245.15.435 0 .09-.013.173-.039.249a.407.407 0 0 1-.135.195.708.708 0 0 1-.273.126c-.116.03-.265.045-.447.045v.582c.218 0 .39.016.516.048.128.03.224.074.288.132a.37.37 0 0 1 .126.207c.018.08.027.17.027.27a.64.64 0 0 1-.045.23.61.61 0 0 1-.345.355.745.745 0 0 1-.303.057.654.654 0 0 1-.435-.147.95.95 0 0 1-.153-.168 2.082 2.082 0 0 1-.126-.21.25.25 0 0 0-.18-.132.441.441 0 0 0-.267.033l-.366.15c.066.194.143.364.231.51.088.144.193.264.315.36.124.096.267.168.43.216.161.048.348.072.56.072.2 0 .391-.028.573-.084a1.42 1.42 0 0 0 .483-.258c.138-.114.248-.255.33-.423.082-.17.123-.366.123-.588 0-.502-.25-.835-.75-1 .108-.035.203-.08.285-.134a.801.801 0 0 0 .339-.471c.03-.106.045-.228.045-.366 0-.156-.03-.302-.093-.438a1.036 1.036 0 0 0-.26-.357 1.23 1.23 0 0 0-.42-.24c-.165-.06-.35-.09-.559-.09-.196 0-.379.027-.549.08a1.32 1.32 0 0 0-.78.636Z'></path>\",\"<path d='M4.25 7.5a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z'></path><path d='M0 7.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM3.5 6a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM8 7.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM11.5 6a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm8-2a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM18 7.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm-4.304 10.24a.49.49 0 0 1 .356.126.42.42 0 0 1 .13.324V19H9.574v-.45c0-.087.018-.18.054-.28a.673.673 0 0 1 .19-.27l1.89-1.903c.161-.162.302-.316.422-.463.12-.147.22-.291.297-.432a1.731 1.731 0 0 0 .234-.882c0-.261-.063-.46-.189-.599-.123-.14-.312-.211-.567-.211a.837.837 0 0 0-.819.571c-.063.165-.145.275-.247.329-.102.054-.248.066-.437.036l-.738-.13c.048-.328.14-.613.275-.856a2.1 2.1 0 0 1 .508-.607c.204-.162.437-.282.698-.36.26-.081.541-.122.841-.122.324 0 .615.048.873.144.261.093.483.224.666.392.183.168.323.369.419.603.099.23.148.486.148.765 0 .24-.034.462-.103.666a2.596 2.596 0 0 1-.275.585 4.162 4.162 0 0 1-.41.535c-.152.171-.316.345-.49.522l-1.282 1.314c.165-.05.328-.09.49-.117a2.75 2.75 0 0 1 .45-.04h1.224Zm-6.966.252V19H2.995v-1.008h1.26v-3.308a7.06 7.06 0 0 1 .018-.513l-.747.621a.461.461 0 0 1-.198.095.603.603 0 0 1-.18 0 .492.492 0 0 1-.153-.059.369.369 0 0 1-.099-.09l-.44-.585 2.042-1.714H5.65v5.553h1.08Zm10.549-4.532a2.493 2.493 0 0 0-.275.855l.738.13c.189.03.334.019.436-.035.102-.054.185-.164.248-.329a.834.834 0 0 1 .819-.571c.255 0 .444.07.567.211.126.138.189.336.189.594 0 .126-.015.242-.045.347a.53.53 0 0 1-.184.27c-.09.072-.22.129-.387.17a2.817 2.817 0 0 1-.662.064v.963c.324 0 .576.022.756.067.183.042.32.104.41.185.09.08.143.178.162.292.02.111.031.237.031.378 0 .108-.02.215-.059.32a.846.846 0 0 1-.463.486.985.985 0 0 1-.405.076.888.888 0 0 1-.536-.166c-.15-.114-.292-.296-.427-.545a.422.422 0 0 0-.297-.207.775.775 0 0 0-.45.05l-.621.252c.105.306.228.57.369.792.144.222.31.405.5.549.188.14.404.246.647.315.244.066.521.099.833.099.303 0 .594-.042.873-.126a2.16 2.16 0 0 0 .733-.387 1.86 1.86 0 0 0 .509-.644 2.05 2.05 0 0 0 .189-.909c0-.735-.363-1.23-1.089-1.485.156-.054.294-.12.414-.198a1.14 1.14 0 0 0 .306-.292c.084-.117.147-.254.189-.41.042-.159.063-.342.063-.549a1.588 1.588 0 0 0-.531-1.192 1.903 1.903 0 0 0-.639-.37 2.486 2.486 0 0 0-.864-.139c-.3 0-.58.04-.841.122a2.056 2.056 0 0 0-.698.36 2.1 2.1 0 0 0-.508.607Z'></path>\",\"<path d='M7 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path><path d='M2 11a4 4 0 1 1 8 0 4 4 0 0 1-8 0Zm4-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm6 2a4 4 0 1 1 8 0 4 4 0 0 1-8 0Zm4-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm10-2a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm-2 4a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm-5.406 13.32c.2 0 .358.056.474.168a.562.562 0 0 1 .174.432V26h-6.144v-.6c0-.116.024-.24.072-.372a.897.897 0 0 1 .252-.36l2.52-2.538c.216-.216.404-.422.564-.618.16-.196.292-.388.396-.576.104-.192.182-.382.234-.57.052-.192.078-.394.078-.606 0-.348-.084-.614-.252-.798-.164-.188-.416-.282-.756-.282a1.116 1.116 0 0 0-1.092.762c-.084.22-.194.366-.33.438-.136.072-.33.088-.582.048l-.984-.174c.064-.436.186-.816.366-1.14.184-.324.41-.594.678-.81.272-.216.582-.376.93-.48a3.766 3.766 0 0 1 1.122-.162c.432 0 .82.064 1.164.192.348.124.644.298.888.522.244.224.43.492.558.804.132.308.198.648.198 1.02 0 .32-.046.616-.138.888-.088.272-.21.532-.366.78a5.549 5.549 0 0 1-.546.714c-.204.228-.422.46-.654.696l-1.71 1.752c.22-.068.438-.12.654-.156.216-.036.416-.054.6-.054h1.632Zm-9.289.336V26h-4.98v-1.344h1.68v-4.41a9.413 9.413 0 0 1 .024-.684l-.996.828a.615.615 0 0 1-.264.126.804.804 0 0 1-.24 0 .656.656 0 0 1-.204-.078.492.492 0 0 1-.132-.12l-.588-.78 2.724-2.286h1.536v7.404h1.44Zm14.065-6.042c-.18.324-.302.704-.366 1.14l.984.174c.252.04.446.024.582-.048.136-.072.246-.218.33-.438a1.111 1.111 0 0 1 1.092-.762c.34 0 .592.094.756.282.168.184.252.448.252.792 0 .168-.02.322-.06.462a.706.706 0 0 1-.246.36 1.35 1.35 0 0 1-.516.228 3.755 3.755 0 0 1-.882.084v1.284c.432 0 .768.03 1.008.09.244.056.426.138.546.246.12.108.192.238.216.39.028.148.042.316.042.504 0 .144-.026.286-.078.426a1.129 1.129 0 0 1-.618.648 1.314 1.314 0 0 1-.54.102c-.272 0-.51-.074-.714-.222-.2-.152-.39-.394-.57-.726a.563.563 0 0 0-.396-.276 1.034 1.034 0 0 0-.6.066l-.828.336c.14.408.304.76.492 1.056.192.296.414.54.666.732.252.188.54.328.864.42.324.088.694.132 1.11.132.404 0 .792-.056 1.164-.168.372-.116.698-.288.978-.516.284-.228.51-.514.678-.858.168-.344.252-.748.252-1.212 0-.98-.484-1.64-1.452-1.98.208-.072.392-.16.552-.264.164-.108.3-.238.408-.39.112-.156.196-.338.252-.546.056-.212.084-.456.084-.732a2.117 2.117 0 0 0-.708-1.59 2.538 2.538 0 0 0-.852-.492 3.314 3.314 0 0 0-1.152-.186c-.4 0-.774.054-1.122.162a2.742 2.742 0 0 0-.93.48 2.805 2.805 0 0 0-.678.81Z'></path>\"]];","export default [[\"M10 3.21a1 1 0 0 0-1.336-.942l-6 2.142A1 1 0 0 0 2 5.352v1.46A1.662 1.662 0 0 0 2.662 10H9.5A1.5 1.5 0 0 0 11 8.5V5.887c0-.67-.43-1.212-1-1.415V3.21ZM9 4.472V3.209L3 5.352v1.12l6-2Z\",\"M14 4.214a1 1 0 0 0-1.342-.94l-10 3.636A1 1 0 0 0 2 7.85v1.953A1.668 1.668 0 0 0 2.668 13H13.5a1.5 1.5 0 0 0 1.5-1.5V7.404c0-.67-.43-1.212-1-1.415V4.214ZM13 5.99 3 9.452V7.85l10-3.636V5.99Z\",\"M20 9.52V5.733a1.5 1.5 0 0 0-2.049-1.396l-13 5.107A1.5 1.5 0 0 0 4 10.84v3.735l-.19.069a2.74 2.74 0 0 0 .93 5.317H19a3 3 0 0 0 3-3v-4.613a2.996 2.996 0 0 0-2-2.83Zm-2 0a2.854 2.854 0 0 0-.019.007L6 13.854v-2.672l12-4.715V9.52Z\",\"M28 8.428a2 2 0 0 0-2.683-1.88l-20 7.273A2 2 0 0 0 4 15.7v3.905A3.336 3.336 0 0 0 5.336 26H27a3 3 0 0 0 3-3v-8.191a2.996 2.996 0 0 0-2-2.83V8.428Zm-2 3.552L6 18.903V15.7l20-7.272v3.552Z\"],[\"M10 3.21a1 1 0 0 0-1.336-.942l-6 2.142A1 1 0 0 0 2 5.352v1.46A1.662 1.662 0 0 0 2.662 10H9.5A1.5 1.5 0 0 0 11 8.5V5.887c0-.67-.43-1.212-1-1.415V3.21ZM9 4.472l-6 2v-1.12l6-2.144v1.264Zm.342.94a.5.5 0 0 1 .658.474V8.5a.5.5 0 0 1-.5.5H2.662a.662.662 0 0 1-.21-1.29l6.89-2.297Z\",\"M14 4.214a1 1 0 0 0-1.342-.94l-10 3.636A1 1 0 0 0 2 7.85v1.953A1.668 1.668 0 0 0 2.668 13H13.5a1.5 1.5 0 0 0 1.5-1.5V7.404c0-.67-.43-1.212-1-1.415V4.214ZM13 5.99 3 9.452V7.85l10-3.636V5.99Zm.336.942a.5.5 0 0 1 .664.472V11.5a.5.5 0 0 1-.5.5H2.668a.668.668 0 0 1-.218-1.3l10.886-3.768Z\",\"M20 9.52V5.733a1.5 1.5 0 0 0-2.049-1.396l-13 5.107A1.5 1.5 0 0 0 4 10.84v3.735l-.19.069a2.74 2.74 0 0 0 .93 5.317H19a3 3 0 0 0 3-3v-4.613a2.996 2.996 0 0 0-2-2.83Zm-2 0a2.854 2.854 0 0 0-.019.007L6 13.854v-2.672l12-4.715V9.52Zm.66 1.888a1 1 0 0 1 1.34.94v4.614a1 1 0 0 1-1 1H4.74a.74.74 0 0 1-.251-1.436l14.171-5.118Z\",\"M28 8.428a2 2 0 0 0-2.683-1.88l-20 7.273A2 2 0 0 0 4 15.7v3.905A3.336 3.336 0 0 0 5.336 26H27a3 3 0 0 0 3-3v-8.191a2.996 2.996 0 0 0-2-2.83V8.428Zm-2 3.552L6 18.903V15.7l20-7.272v3.552Zm.673 1.884a1 1 0 0 1 1.327.945v8.19a1 1 0 0 1-1 1H5.336a1.336 1.336 0 0 1-.437-2.598l21.774-7.537Z\"]];","export default [[\"M1.5 2a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-9Z\",\"M1.5 3a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-13Z\",\"M3 5a1 1 0 0 0-1 1v13a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H3Z\",\"M3 5a1 1 0 0 0-1 1v20a1 1 0 0 0 1 1h26a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H3Z\"],[\"M1 2.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-7ZM2 3v6h8V3H2Z\",\"M1 3.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5v-9ZM2 4v8h12V4H2Z\",\"M2 6a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6Zm2 1v11h16V7H4Z\",\"M2 6a1 1 0 0 1 1-1h26a1 1 0 0 1 1 1v20a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6Zm2 1v18h24V7H4Z\"]];","export default [[\"M1 3.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Z\",\"M1.5 3a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1h-13Zm0 3a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1h-13ZM1 9.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13a.5.5 0 0 1-.5-.5Zm.5 2.5a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1h-13Z\",\"M3 5a1 1 0 0 0 0 2h18a1 1 0 1 0 0-2H3Zm0 4a1 1 0 0 0 0 2h18a1 1 0 1 0 0-2H3Zm-1 5a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm1 3a1 1 0 1 0 0 2h18a1 1 0 1 0 0-2H3Z\",\"M2 7a1 1 0 0 1 1-1h26a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm0 6a1 1 0 0 1 1-1h26a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm0 6a1 1 0 0 1 1-1h26a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm0 6a1 1 0 0 1 1-1h26a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Z\"]];","export default [[\"M1.5 3a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Zm0 2a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Zm0 2a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Zm0 2a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4ZM7 3.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-6Z\",\"M1 3.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5ZM9.5 3a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-5Zm-8 3a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6ZM1 9.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5Zm.5 2.5a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Z\",\"M2 6a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm12-1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-7ZM3 9a1 1 0 0 0 0 2h7a1 1 0 1 0 0-2H3Zm-1 5a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm1 3a1 1 0 1 0 0 2h7a1 1 0 1 0 0-2H3Z\",\"M3 6a1 1 0 0 0 0 2h12a1 1 0 1 0 0-2H3Zm0 6a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2H3Zm0 6a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2H3Zm0 6a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2H3ZM18 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H19a1 1 0 0 1-1-1V7Z\"],[\"M1.5 3a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Zm0 2a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Zm0 2a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Zm0 2a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Zm6-6a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-6a.5.5 0 0 0-.5-.5h-3ZM8 9V4h2v5H8Z\",\"M1 3.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5Zm8 0a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-9Zm1 .5v8h4V4h-4ZM1.5 6a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6ZM1 9.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5Zm.5 2.5a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Z\",\"M2 6a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm11 0a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-7a1 1 0 0 1-1-1V6Zm2 1v10h5V7h-5ZM3 9a1 1 0 0 0 0 2h7a1 1 0 1 0 0-2H3Zm-1 5a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm1 3a1 1 0 1 0 0 2h7a1 1 0 1 0 0-2H3Z\",\"M18 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H19a1 1 0 0 1-1-1V7Zm2 1v16h8V8h-8ZM2 7a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm0 6a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm0 6a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm0 6a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Z\"]];","export default [[\"M1.5 3a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Zm0 2a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9ZM1 7.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-2Z\",\"M1 3.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13a.5.5 0 0 1-.5-.5ZM1.5 9a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-13Zm0-3a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1h-13Z\",\"M2 6a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm1 7a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H3Zm0-4a1 1 0 0 0 0 2h18a1 1 0 1 0 0-2H3Z\",\"M3 6a1 1 0 0 0 0 2h26a1 1 0 1 0 0-2H3Zm0 6a1 1 0 1 0 0 2h26a1 1 0 1 0 0-2H3Zm-1 7a1 1 0 0 1 1-1h26a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-6Z\"],[\"M1 7.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-2ZM2 8v1h8V8H2ZM1 3.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Z\",\"M1.146 9.146A.5.5 0 0 1 1.5 9h13a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 .146-.354ZM2 10v2h12v-2H2ZM1 3.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13a.5.5 0 0 1-.5-.5Zm0 3a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13a.5.5 0 0 1-.5-.5Z\",\"M2 14a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-4Zm2 1v2h16v-2H4ZM2 6a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm0 4a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Z\",\"M2 19a1 1 0 0 1 1-1h26a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-6Zm2 1v4h24v-4H4ZM2 7a1 1 0 0 1 1-1h26a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm0 6a1 1 0 0 1 1-1h26a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Z\"]];","export default [[\"M2.5 1A1.5 1.5 0 0 0 1 2.5v2A1.5 1.5 0 0 0 2.5 6H5v3.293l-.646-.647a.5.5 0 1 0-.708.708l1.5 1.5a.499.499 0 0 0 .351.146h.006a.5.5 0 0 0 .35-.146l1.5-1.5a.5.5 0 1 0-.707-.708L6 9.293V6h2.5A1.5 1.5 0 0 0 10 4.5v-2A1.5 1.5 0 0 0 8.5 1h-6Z\",\"M3.5 1A1.5 1.5 0 0 0 2 2.5v3A1.5 1.5 0 0 0 3.5 7H7v6.293l-1.146-1.147a.5.5 0 0 0-.708.708l2 2a.5.5 0 0 0 .708 0l2-2a.5.5 0 0 0-.708-.708L8 13.293V7h3.5A1.5 1.5 0 0 0 13 5.5v-3A1.5 1.5 0 0 0 11.5 1h-8Z\",\"M7 1a3 3 0 0 0-3 3v3a3 3 0 0 0 3 3h4v9.586l-2.293-2.293a1 1 0 0 0-1.414 1.414l4 4a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L13 19.586V10h4a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3H7Z\",\"M9 2a3 3 0 0 0-3 3v5a3 3 0 0 0 3 3h6v13.586l-3.293-3.293a1 1 0 0 0-1.414 1.414l5 5a1 1 0 0 0 1.414 0l5-5a1 1 0 0 0-1.414-1.414L17 26.586V13h6a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H9Z\"],[\"M2.5 1A1.5 1.5 0 0 0 1 2.5v2A1.5 1.5 0 0 0 2.5 6H5v3.293l-.646-.647a.5.5 0 1 0-.708.708l1.5 1.5a.499.499 0 0 0 .351.146h.006a.5.5 0 0 0 .35-.146l1.5-1.5a.5.5 0 1 0-.707-.708L6 9.293V6h2.5A1.5 1.5 0 0 0 10 4.5v-2A1.5 1.5 0 0 0 8.5 1h-6ZM2 2.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-2Z\",\"M3.5 1A1.5 1.5 0 0 0 2 2.5v3A1.5 1.5 0 0 0 3.5 7H7v6.293l-1.146-1.147a.5.5 0 0 0-.708.708l2 2a.5.5 0 0 0 .708 0l2-2a.5.5 0 0 0-.708-.708L8 13.293V7h3.5A1.5 1.5 0 0 0 13 5.5v-3A1.5 1.5 0 0 0 11.5 1h-8ZM3 2.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-3Z\",\"M7 1a3 3 0 0 0-3 3v3a3 3 0 0 0 3 3h4v9.586l-2.293-2.293a1 1 0 0 0-1.414 1.414l4 4a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L13 19.586V10h4a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3H7Zm10 7a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h10Z\",\"M9 2a3 3 0 0 0-3 3v5a3 3 0 0 0 3 3h6v13.586l-3.293-3.293a1 1 0 0 0-1.414 1.414l5 5a1 1 0 0 0 1.414 0l5-5a1 1 0 0 0-1.414-1.414L17 26.586V13h6a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H9Zm14 9a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h14Z\"]];","export default [[\"<path d='M1 3.5A1.5 1.5 0 0 1 2.5 2h7A1.5 1.5 0 0 1 11 3.5v1.854A4 4 0 0 0 4.535 10H2.5A1.5 1.5 0 0 1 1 8.5v-5Z'></path><path d='M10.445 9.738a3 3 0 1 0-.707.707l1.409 1.408a.5.5 0 1 0 .707-.707l-1.409-1.408ZM6 8a2 2 0 1 1 4 0 2 2 0 0 1-4 0Z'></path>\",\"<path d='M1 4.5A1.5 1.5 0 0 1 2.5 3h11A1.5 1.5 0 0 1 15 4.5v6A4.5 4.5 0 1 0 6.758 13H2.5A1.5 1.5 0 0 1 1 11.5v-7Z'></path><path d='M13.3 12.6c.019.014.037.03.053.046l2.5 2.5a.5.5 0 0 1-.707.707l-2.5-2.5a.504.504 0 0 1-.046-.053 3.5 3.5 0 1 1 .7-.7ZM8 10.5a2.5 2.5 0 1 0 5 0 2.5 2.5 0 0 0-5 0Z'></path>\",\"<path d='M2 8a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v3.756A7.5 7.5 0 1 0 9.5 20H5a3 3 0 0 1-3-3V8Z'></path><path d='m20.032 18.617 3.675 3.676a1 1 0 0 1-1.414 1.414l-3.675-3.675a5.5 5.5 0 1 1 1.414-1.414ZM12 15.5a3.5 3.5 0 1 0 7 0 3.5 3.5 0 0 0-7 0Z'></path>\",\"<path d='M2 8a3 3 0 0 1 3-3h22a3 3 0 0 1 3 3v16c0 .509-.127.988-.35 1.407l-1.403-1.403A8.5 8.5 0 1 0 15.023 27H5a3 3 0 0 1-3-3V8Z'></path><path d='M25.749 24.335a6.5 6.5 0 1 0-1.414 1.414l4.958 4.958a1 1 0 0 0 1.414-1.414l-4.958-4.958ZM16 20.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0Z'></path>\"],[\"<path d='M2.5 2A1.5 1.5 0 0 0 1 3.5v5A1.5 1.5 0 0 0 2.5 10h2.035a3.975 3.975 0 0 1-.409-1H2.5a.5.5 0 0 1-.5-.5v-5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v1.035c.376.218.714.495 1 .82V3.5A1.5 1.5 0 0 0 9.5 2h-7Z'></path><path d='M10.445 9.738a3 3 0 1 0-.707.707l1.409 1.408a.5.5 0 1 0 .707-.707l-1.409-1.408ZM6 8a2 2 0 1 1 4 0 2 2 0 0 1-4 0Z'></path>\",\"<path d='M2.5 3A1.5 1.5 0 0 0 1 4.5v7A1.5 1.5 0 0 0 2.5 13h4.258a4.485 4.485 0 0 1-.502-1H2.5a.5.5 0 0 1-.5-.5v-7a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 .5.5v3.171c.574.71.937 1.596.992 2.565.005-.05.008-.1.008-.15V4.5A1.5 1.5 0 0 0 13.5 3h-11Z'></path><path d='M13.3 12.6c.019.014.037.03.053.046l2.5 2.5a.5.5 0 0 1-.707.707l-2.5-2.5a.504.504 0 0 1-.046-.053 3.5 3.5 0 1 1 .7-.7ZM8 10.5a2.5 2.5 0 1 0 5 0 2.5 2.5 0 0 0-5 0Z'></path>\",\"<path d='M4 8a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v1.5a7.537 7.537 0 0 1 2 2.256V8a3 3 0 0 0-3-3H5a3 3 0 0 0-3 3v9a3 3 0 0 0 3 3h4.5a7.482 7.482 0 0 1-1.073-2H5a1 1 0 0 1-1-1V8Z'></path><path d='m20.032 18.617 3.675 3.676a1 1 0 0 1-1.414 1.414l-3.675-3.675a5.5 5.5 0 1 1 1.414-1.414ZM12 15.5a3.5 3.5 0 1 0 7 0 3.5 3.5 0 0 0-7 0Z'></path>\",\"<path d='M4 8a1 1 0 0 1 1-1h22a1 1 0 0 1 1 1v8.496a8.462 8.462 0 0 1 1 4.004 8.47 8.47 0 0 1-.753 3.504l1.403 1.403c.223-.42.35-.898.35-1.407V8a3 3 0 0 0-3-3H5a3 3 0 0 0-3 3v16a3 3 0 0 0 3 3h10.023a8.544 8.544 0 0 1-1.735-2H5a1 1 0 0 1-1-1V8Z'></path><path d='M25.749 24.335a6.5 6.5 0 1 0-1.414 1.414l4.958 4.958a1 1 0 0 0 1.414-1.414l-4.958-4.958ZM16 20.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0Z'></path>\"]];","export default [[\"<path d='M1 3.5A1.5 1.5 0 0 1 2.5 2h7A1.5 1.5 0 0 1 11 3.5v2.258A4.5 4.5 0 0 0 4.027 10H2.5A1.5 1.5 0 0 1 1 8.5v-5Z'></path><path d='M8.5 7a2.5 2.5 0 0 0-1.952 4.062.5.5 0 1 1-.78.626 3.5 3.5 0 1 1 5.464 0 .5.5 0 1 1-.78-.626A2.5 2.5 0 0 0 8.5 7Z'></path><path d='m8.854 10.854 1-1a.5.5 0 0 0-.708-.708l-1 1a.5.5 0 0 0 .708.708Z'></path>\",\"<path d='M2.5 3A1.5 1.5 0 0 0 1 4.5v7A1.5 1.5 0 0 0 2.5 13h3.522A5.5 5.5 0 0 1 15 8.257V4.5A1.5 1.5 0 0 0 13.5 3h-11Zm11.3 8.91a.5.5 0 0 0-.708-.707l-1.331 1.331A1.001 1.001 0 1 0 11.5 14.5a1 1 0 0 0 .967-1.257l1.332-1.333Z'></path><path d='M8 12.5a3.5 3.5 0 1 1 6.233 2.187.5.5 0 1 0 .78.626 4.5 4.5 0 1 0-7.026 0 .5.5 0 0 0 .78-.626A3.484 3.484 0 0 1 8 12.5Z'></path>\",\"<path d='M5 5a3 3 0 0 0-3 3v9a3 3 0 0 0 3 3h3.055A9 9 0 0 1 22 11.515V8a3 3 0 0 0-3-3H5Zm15.177 12.707-1.694 1.694c.002.027.002.055.002.083a1.5 1.5 0 1 1-1.416-1.497l1.694-1.694a1 1 0 0 1 1.414 1.414Z'></path><path d='M12 19a5 5 0 1 1 9.167 2.764 1 1 0 1 0 1.666 1.108 7 7 0 1 0-11.665 0 1 1 0 1 0 1.665-1.108A4.972 4.972 0 0 1 12 19Z'></path>\",\"<path d='M2 8a3 3 0 0 1 3-3h22a3 3 0 0 1 3 3v9.45A10.97 10.97 0 0 0 22 14c-6.075 0-11 4.925-11 11 0 .683.062 1.351.181 2H5a3 3 0 0 1-3-3V8Z'></path><path d='M22 18a7 7 0 0 0-5.465 11.375 1 1 0 0 1-1.56 1.25 9 9 0 1 1 14.051 0 1 1 0 1 1-1.56-1.25A7 7 0 0 0 22 18Z'></path><path d='M22 27a1.5 1.5 0 0 0 1.496-1.608l2.723-2.812a1 1 0 1 0-1.438-1.39L22.06 24H22a1.5 1.5 0 0 0 0 3Zm-1 1a1 1 0 1 0 0 2h2a1 1 0 1 0 0-2h-2Z'></path>\"],[\"<path d='M2.5 2A1.5 1.5 0 0 0 1 3.5v5A1.5 1.5 0 0 0 2.5 10h1.527a4.551 4.551 0 0 1 0-1H2.5a.5.5 0 0 1-.5-.5v-5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v1.756c.356.126.691.295 1 .502V3.5A1.5 1.5 0 0 0 9.5 2h-7Z'></path><path d='M8.5 7a2.5 2.5 0 0 0-1.952 4.062.5.5 0 1 1-.78.626 3.5 3.5 0 1 1 5.464 0 .5.5 0 1 1-.78-.626A2.5 2.5 0 0 0 8.5 7Z'></path><path d='m8.854 10.854 1-1a.5.5 0 0 0-.708-.708l-1 1a.5.5 0 0 0 .708.708Z'></path>\",\"<path d='M1 4.5A1.5 1.5 0 0 1 2.5 3h11A1.5 1.5 0 0 1 15 4.5v3.757a5.507 5.507 0 0 0-1-.657V4.5a.5.5 0 0 0-.5-.5h-11a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h3.522a5.571 5.571 0 0 0 0 1H2.5A1.5 1.5 0 0 1 1 11.5v-7Zm12.8 7.41a.5.5 0 0 0-.708-.707l-1.331 1.331A1.001 1.001 0 1 0 11.5 14.5a1 1 0 0 0 .967-1.257l1.332-1.333Z'></path><path d='M8 12.5a3.5 3.5 0 1 1 6.233 2.187.5.5 0 1 0 .78.626 4.5 4.5 0 1 0-7.026 0 .5.5 0 0 0 .78-.626A3.484 3.484 0 0 1 8 12.5Z'></path>\",\"<path d='M5 7a1 1 0 0 0-1 1v9a1 1 0 0 0 1 1h3.055a9.097 9.097 0 0 0 0 2H5a3 3 0 0 1-3-3V8a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v3.515a8.968 8.968 0 0 0-2-1.003V8a1 1 0 0 0-1-1H5Zm15.177 10.707-1.694 1.694c.002.027.002.055.002.083a1.5 1.5 0 1 1-1.416-1.497l1.694-1.694a1 1 0 0 1 1.414 1.414Z'></path><path d='M12 19a5 5 0 1 1 9.167 2.764 1 1 0 1 0 1.666 1.108 7 7 0 1 0-11.665 0 1 1 0 1 0 1.665-1.108A4.972 4.972 0 0 1 12 19Z'></path>\",\"<path d='M4 8a1 1 0 0 1 1-1h22a1 1 0 0 1 1 1v7.779a11.053 11.053 0 0 1 2 1.671V8a3 3 0 0 0-3-3H5a3 3 0 0 0-3 3v16a3 3 0 0 0 3 3h6.181A11.057 11.057 0 0 1 11 25H5a1 1 0 0 1-1-1V8Z'></path><path d='M22 18a7 7 0 0 0-5.465 11.375 1 1 0 0 1-1.56 1.25 9 9 0 1 1 14.051 0 1 1 0 1 1-1.56-1.25A7 7 0 0 0 22 18Z'></path><path d='M22 27a1.5 1.5 0 0 0 1.496-1.608l2.723-2.812a1 1 0 1 0-1.438-1.39L22.06 24H22a1.5 1.5 0 0 0 0 3Zm-1 1a1 1 0 1 0 0 2h2a1 1 0 1 0 0-2h-2Z'></path>\"]];","export default [[\"M9.293 8 8.146 6.854a.5.5 0 1 1 .708-.708l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L9.293 9H5.5C3.08 9 1 7.27 1 5s2.08-4 4.5-4h3a.5.5 0 0 1 0 1h-3C3.502 2 2 3.404 2 5s1.502 3 3.5 3h3.793Z\",\"m12.293 10-2.147-2.146a.5.5 0 0 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L12.293 11H6.5a4.5 4.5 0 0 1 0-9h4a.5.5 0 0 1 0 1h-4a3.5 3.5 0 1 0 0 7h5.793Z\",\"m17.586 13-2.293-2.293a1 1 0 0 1 1.414-1.414l4 4a1 1 0 0 1 0 1.414l-4 4a1 1 0 0 1-1.414-1.414L17.586 15H9.5a6 6 0 0 1 0-12H15a1 1 0 1 1 0 2H9.5a4 4 0 1 0 0 8h8.086Z\",\"m24.586 19-4.293-4.293a1 1 0 1 1 1.414-1.414l6 6a1 1 0 0 1 0 1.414l-6 6a1 1 0 0 1-1.414-1.414L24.586 21H13a9 9 0 0 1 0-18h6a1 1 0 1 1 0 2h-6a7 7 0 0 0 0 14h11.586Z\"],[\"M9.293 8 8.146 6.854a.5.5 0 1 1 .708-.708l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L9.293 9H5.5C3.08 9 1 7.27 1 5s2.08-4 4.5-4h3a.5.5 0 0 1 0 1h-3C3.502 2 2 3.404 2 5s1.502 3 3.5 3h3.793Z\",\"m12.293 10-2.147-2.146a.5.5 0 0 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L12.293 11H6.5a4.5 4.5 0 0 1 0-9h4a.5.5 0 0 1 0 1h-4a3.5 3.5 0 1 0 0 7h5.793Z\",\"m17.586 13-2.293-2.293a1 1 0 0 1 1.414-1.414l4 4a1 1 0 0 1 0 1.414l-4 4a1 1 0 0 1-1.414-1.414L17.586 15H9.5a6 6 0 0 1 0-12H15a1 1 0 1 1 0 2H9.5a4 4 0 1 0 0 8h8.086Z\",\"m24.596 19-4.314-4.314a1 1 0 0 1 1.415-1.414l6.01 6.01a1 1 0 0 1 0 1.415l-6.01 6.01a1 1 0 0 1-1.415-1.414L24.575 21H12.99a9 9 0 1 1 0-18h6a1 1 0 1 1 0 2h-6a7 7 0 1 0 0 14h11.606Z\"]];","export default [[\"M8.854 1.146a.5.5 0 1 0-.708.708L9.293 3H5.5C3.08 3 1 4.73 1 7s2.08 4 4.5 4h3a.5.5 0 0 0 0-1h-3C3.502 10 2 8.596 2 7s1.502-3 3.5-3h3.793L8.146 5.146a.5.5 0 1 0 .708.708l2-2a.5.5 0 0 0 0-.708l-2-2Z\",\"M10.854 2.146a.5.5 0 0 0-.708.708L12.293 5H6.5a4.5 4.5 0 0 0 0 9h4a.5.5 0 0 0 0-1h-4a3.5 3.5 0 1 1 0-7h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3Z\",\"M16.707 3.293a1 1 0 1 0-1.414 1.414L17.586 7H9.5a6 6 0 1 0 0 12H15a1 1 0 1 0 0-2H9.5a4 4 0 0 1 0-8h8.086l-2.293 2.293a1 1 0 0 0 1.414 1.414l4-4a1 1 0 0 0 0-1.414l-4-4Z\",\"M21.707 3.293a1 1 0 0 0-1.414 1.414L24.586 9H13a9 9 0 0 0 0 18h6a1 1 0 1 0 0-2h-6a7 7 0 0 1 0-14h11.586l-4.293 4.293a1 1 0 1 0 1.414 1.414l6-6a1 1 0 0 0 0-1.414l-6-6Z\"],[\"M8.854 1.146a.5.5 0 1 0-.708.708L9.293 3H5.5C3.08 3 1 4.73 1 7s2.08 4 4.5 4h3a.5.5 0 0 0 0-1h-3C3.502 10 2 8.596 2 7s1.502-3 3.5-3h3.793L8.146 5.146a.5.5 0 1 0 .708.708l2-2a.5.5 0 0 0 0-.708l-2-2Z\",\"M10.854 2.146a.5.5 0 0 0-.708.708L12.293 5H6.5a4.5 4.5 0 0 0 0 9h4a.5.5 0 0 0 0-1h-4a3.5 3.5 0 1 1 0-7h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3Z\",\"M16.707 3.293a1 1 0 1 0-1.414 1.414L17.586 7H9.5a6 6 0 1 0 0 12H15a1 1 0 1 0 0-2H9.5a4 4 0 0 1 0-8h8.086l-2.293 2.293a1 1 0 0 0 1.414 1.414l4-4a1 1 0 0 0 0-1.414l-4-4Z\",\"M21.697 3.293a1 1 0 1 0-1.415 1.414L24.575 9H12.99a9 9 0 1 0 0 18h6a1 1 0 1 0 0-2h-6a7 7 0 1 1 0-14h11.606l-4.314 4.314a1 1 0 0 0 1.415 1.414l6.01-6.01a1 1 0 0 0 0-1.415l-6.01-6.01Z\"]];","export default [[\"M8 1.5a.5.5 0 0 0-1 0v2.066L4.777 2.084a.5.5 0 1 0-.554.832L6.599 4.5 4.223 6.084a.5.5 0 0 0 .554.832L7 5.434V7.5a.5.5 0 1 0 1 0V5.434l2.223 1.482a.5.5 0 0 0 .554-.832L8.401 4.5l2.376-1.584a.5.5 0 1 0-.554-.832L8 3.566V1.5ZM2 11a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"M10 2.5a.5.5 0 0 0-1 0v3.598L5.765 4.076a.5.5 0 1 0-.53.848L8.557 7 5.235 9.076a.5.5 0 1 0 .53.848L9 7.902V11.5a.5.5 0 0 0 1 0V7.902l3.235 2.022a.5.5 0 0 0 .53-.848L10.443 7l3.322-2.076a.5.5 0 0 0-.53-.848L10 6.098V2.5ZM2.5 15a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\",\"M16 2a1 1 0 1 0-2 0v6.668l-5.46-3.51a1 1 0 0 0-1.08 1.683l5.69 3.659-5.69 3.659a1 1 0 0 0 1.08 1.682l5.46-3.51V19a1 1 0 0 0 2 0v-6.668l5.46 3.51a1 1 0 0 0 1.08-1.683L16.85 10.5l5.69-3.659a1 1 0 0 0-1.08-1.682L16 8.669V2ZM3 23a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\",\"M20 4a1 1 0 1 0-2 0v8.3l-7.514-4.174a1 1 0 1 0-.971 1.748L16.94 14l-7.426 4.126a1 1 0 0 0 .97 1.748L18 15.7V24a1 1 0 1 0 2 0v-8.3l7.515 4.174a1 1 0 1 0 .97-1.748L21.06 14l7.427-4.126a1 1 0 1 0-.971-1.748L20 12.3V4ZM5.5 29a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z\"]];","export default [[\"<path d='M4 8.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5ZM4.5 6a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5ZM3 8.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM2.5 7a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M.5 1a.5.5 0 0 0-.5.5v8A1.5 1.5 0 0 0 1.5 11h9A1.5 1.5 0 0 0 12 9.5v-4A1.5 1.5 0 0 0 10.5 4H5V1.5a.5.5 0 0 0-.5-.5h-4ZM1 5h9.5a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V5Z'></path><path d='M6 2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5ZM9.5 2a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Z'></path>\",\"<path d='M5 10.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5ZM5.5 8a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6ZM4 10.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM3.5 9a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M.5 2a.5.5 0 0 0-.5.5v10A1.5 1.5 0 0 0 1.5 14h12a1.5 1.5 0 0 0 1.5-1.5v-6A1.5 1.5 0 0 0 13.5 5H6V2.5a.5.5 0 0 0-.5-.5h-5ZM1 12.5V6h12.5a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-12a.5.5 0 0 1-.5-.5Z'></path><path d='M7 3.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5Zm3.5-.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Z'></path>\",\"<path d='M9 16a1 1 0 0 1 1-1h8a1 1 0 1 1 0 2h-8a1 1 0 0 1-1-1Zm1-5a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2h-8Zm-3 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-1-3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M2 3a1 1 0 0 0-1 1v14a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3v-8a3 3 0 0 0-3-3H9V4a1 1 0 0 0-1-1H2Zm1 6h17a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9Z'></path><path d='M11 5a1 1 0 0 1 1-1h2a1 1 0 1 1 0 2h-2a1 1 0 0 1-1-1Zm7-1a1 1 0 1 0 0 2h2a1 1 0 1 0 0-2h-2Z'></path>\",\"<path d='M11 23a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H12a1 1 0 0 1-1-1Zm1-5a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2H12Zm-1-3a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H12a1 1 0 0 1-1-1Zm-3 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm1-5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-1-3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M3 4a1 1 0 0 0-1 1v21a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3V11a3 3 0 0 0-3-3H12V5a1 1 0 0 0-1-1H3Zm1 6h23a1 1 0 0 1 1 1v15a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V10Z'></path><path d='M14 6a1 1 0 0 1 1-1h3a1 1 0 1 1 0 2h-3a1 1 0 0 1-1-1Zm8-1a1 1 0 1 0 0 2h3a1 1 0 1 0 0-2h-3Z'></path>\"],[\"<path d='M4 8.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5ZM4.5 6a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5ZM3 8.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM2.5 7a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M.5 1a.5.5 0 0 0-.5.5v8A1.5 1.5 0 0 0 1.5 11h9A1.5 1.5 0 0 0 12 9.5v-4A1.5 1.5 0 0 0 10.5 4H5V1.5a.5.5 0 0 0-.5-.5h-4ZM4 4H1V2h3v2ZM1 5h9.5a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V5Z'></path><path d='M6 2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5ZM9.5 2a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Z'></path>\",\"<path d='M5 10.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5ZM5.5 8a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6ZM4 10.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM3.5 9a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M.5 2a.5.5 0 0 0-.5.5v10A1.5 1.5 0 0 0 1.5 14h12a1.5 1.5 0 0 0 1.5-1.5v-6A1.5 1.5 0 0 0 13.5 5H6V2.5a.5.5 0 0 0-.5-.5h-5ZM5 5H1V3h4v2Zm-4 7.5V6h12.5a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-12a.5.5 0 0 1-.5-.5Z'></path><path d='M7 3.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5Zm3.5-.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Z'></path>\",\"<path d='M9 16a1 1 0 0 1 1-1h8a1 1 0 1 1 0 2h-8a1 1 0 0 1-1-1Zm1-5a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2h-8Zm-3 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-1-3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M2 3a1 1 0 0 0-1 1v14a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3v-8a3 3 0 0 0-3-3H9V4a1 1 0 0 0-1-1H2Zm5 4H3V5h4v2ZM3 9h17a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9Z'></path><path d='M11 5a1 1 0 0 1 1-1h2a1 1 0 1 1 0 2h-2a1 1 0 0 1-1-1Zm7-1a1 1 0 1 0 0 2h2a1 1 0 1 0 0-2h-2Z'></path>\",\"<path d='M11 23a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H12a1 1 0 0 1-1-1Zm1-5a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2H12Zm-1-3a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H12a1 1 0 0 1-1-1Zm-3 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm1-5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-1-3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M3 4a1 1 0 0 0-1 1v21a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3V11a3 3 0 0 0-3-3H12V5a1 1 0 0 0-1-1H3Zm7 4H4V6h6v2Zm-6 2h23a1 1 0 0 1 1 1v15a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V10Z'></path><path d='M14 6a1 1 0 0 1 1-1h3a1 1 0 1 1 0 2h-3a1 1 0 0 1-1-1Zm8-1a1 1 0 1 0 0 2h3a1 1 0 1 0 0-2h-3Z'></path>\"]];","export default [[\"M2 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4ZM1 2a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm1.5 7a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 0-1 0v3A1.5 1.5 0 0 0 2.5 10h1.793l-.647.646a.5.5 0 0 0 .708.708l1.5-1.5A.498.498 0 0 0 6 9.503v-.006a.498.498 0 0 0-.146-.35l-1.5-1.5a.5.5 0 1 0-.708.707L4.293 9H2.5Zm5-2a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3Z\",\"M3.5 1a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5ZM2 3.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM5.5 12A1.5 1.5 0 0 1 4 10.5v-3a.5.5 0 0 0-1 0v3A2.5 2.5 0 0 0 5.5 13h1.793l-1.147 1.146a.5.5 0 0 0 .708.708l2-2a.5.5 0 0 0 0-.708l-2-2a.5.5 0 0 0-.708.708L7.293 12H5.5Zm5-2a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-4Z\",\"M5 1a4 4 0 1 0 0 8 4 4 0 0 0 0-8ZM3 5a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm4 12a1 1 0 0 1-1-1v-4a1 1 0 1 0-2 0v4a3 3 0 0 0 3 3h2.586l-1.293 1.293a1 1 0 1 0 1.414 1.414l3-3a1 1 0 0 0 0-1.414l-3-3a1 1 0 0 0-1.414 1.414L9.586 17H7Zm9-3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-6Z\",\"M7.5 2a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11ZM4 7.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM9 23a1 1 0 0 1-1-1v-7a1 1 0 1 0-2 0v7a3 3 0 0 0 3 3h3.586l-2.293 2.293a1 1 0 1 0 1.414 1.414l4-4a1 1 0 0 0 0-1.414l-4-4a1 1 0 0 0-1.414 1.414L12.586 23H9Zm10-5a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V19a1 1 0 0 0-1-1H19Z\"]];","export default [[\"M2 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4ZM1 2a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm6-.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5ZM7.5 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Zm0 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3ZM5.854 9.854l-1.5 1.5a.5.5 0 0 1-.708-.708L4.293 10H2.5A1.5 1.5 0 0 1 1 8.5v-3a.5.5 0 0 1 1 0v3a.5.5 0 0 0 .5.5h1.793l-.647-.646a.5.5 0 1 1 .708-.708l1.5 1.5a.5.5 0 0 1 0 .708ZM7.5 7a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3Z\",\"M3.5 1a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5ZM2 3.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm8-1a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm.5 1.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4ZM10 6.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5ZM5.5 12A1.5 1.5 0 0 1 4 10.5v-3a.5.5 0 0 0-1 0v3A2.5 2.5 0 0 0 5.5 13h1.793l-1.147 1.146a.5.5 0 0 0 .708.708l2-2a.5.5 0 0 0 0-.708l-2-2a.5.5 0 0 0-.708.708L7.293 12H5.5Zm5-4a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Zm0 2a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-4Z\",\"M5 1a4 4 0 1 0 0 8 4 4 0 0 0 0-8ZM3 5a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm12-2a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2h-6a1 1 0 0 1-1-1Zm1 2a1 1 0 1 0 0 2h6a1 1 0 1 0 0-2h-6Zm-1 4a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2h-6a1 1 0 0 1-1-1Zm-8 9a1 1 0 0 1-1-1v-5a1 1 0 1 0-2 0v5a3 3 0 0 0 3 3h2.586l-1.293 1.293a1 1 0 1 0 1.414 1.414l3-3a1 1 0 0 0 0-1.414l-3-3a1 1 0 0 0-1.414 1.414L9.586 18H7Zm9-7a1 1 0 1 0 0 2h6a1 1 0 1 0 0-2h-6Zm0 3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1h-6Z\",\"M7.5 2a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11ZM4 7.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM19 4a1 1 0 0 1 1-1h9a1 1 0 1 1 0 2h-9a1 1 0 0 1-1-1Zm1 2a1 1 0 1 0 0 2h9a1 1 0 1 0 0-2h-9Zm-1 4a1 1 0 0 1 1-1h9a1 1 0 1 1 0 2h-9a1 1 0 0 1-1-1Zm1 2a1 1 0 1 0 0 2h9a1 1 0 1 0 0-2h-9Zm0 3a1 1 0 1 0 0 2h9a1 1 0 1 0 0-2h-9Zm-7.293 14.707a1 1 0 0 1-1.414-1.414L13.586 26H9a3 3 0 0 1-3-3v-8a1 1 0 1 1 2 0v8a1 1 0 0 0 1 1h4.586l-2.293-2.293a1 1 0 0 1 1.414-1.414l4 4a1 1 0 0 1 0 1.414l-4 4ZM20 19a1 1 0 0 0-1 1v9a1 1 0 0 0 1 1h9a1 1 0 0 0 1-1v-9a1 1 0 0 0-1-1h-9Z\"]];","export default [[\"M5 8a1 1 0 0 1-1.78.625l-2-2.5a1 1 0 0 1 0-1.25l2-2.5A1 1 0 0 1 5 3v1.05c1.74.173 3.127.796 4.13 1.611 1.152.936 1.87 2.196 1.87 3.34a1 1 0 0 1-1.894.446C8.809 8.855 7.47 7.388 5 7.064V8Z\",\"M7 11a1 1 0 0 1-1.659.753l-4-3.5a1 1 0 0 1 0-1.506l4-3.5A1 1 0 0 1 7 4v1.036c2.713.2 4.668 1.216 5.974 2.587C14.412 9.133 15 11.009 15 12.5a1 1 0 0 1-1.8.6l-.054-.072c-.744-.993-1.246-1.662-2.132-2.154-.789-.438-1.968-.774-4.014-.855V11Z\",\"M11 17a2 2 0 0 1-3.48 1.345l-5-5.5a2 2 0 0 1 0-2.69l5-5.5A2 2 0 0 1 11 6v2.109c7.623.85 11 6.502 11 9.891a2 2 0 0 1-3.6 1.2c-.708-.944-1.516-1.935-2.857-2.73-1.03-.61-2.465-1.155-4.543-1.372V17Z\",\"M14 22a2 2 0 0 1-3.317 1.505l-8-7a2 2 0 0 1 0-3.01l8-7A2 2 0 0 1 14 8v3.064c5.532.364 9.328 2.24 11.854 4.687 2.777 2.69 3.829 5.886 4.126 7.966a2 2 0 0 1-3.394 1.697 11.996 11.996 0 0 1-.908-1.049l-.227-.288a30.088 30.088 0 0 0-.587-.734c-.553-.663-1.194-1.33-2.09-1.94-1.561-1.065-4.129-2.118-8.774-2.354v2.95Z\"],[\"M4.331 8.944A1 1 0 0 0 5 8v-.936c2.471.324 3.81 1.79 4.106 2.383A1 1 0 0 0 11 9c0-1.143-.718-2.403-1.87-3.339C8.128 4.846 6.74 4.223 5 4.05V3a1 1 0 0 0-1.78-.625l-2 2.5a1 1 0 0 0 0 1.25l2 2.5a1 1 0 0 0 1.111.319ZM4 5c4 0 6 2.5 6 4-.45-.9-2.117-2.612-5-2.944A8.747 8.747 0 0 0 4 6v2L2 5.5 4 3v2Z\",\"M6.413 11.91A1 1 0 0 0 7 11v-.981c2.046.081 3.225.417 4.014.855.886.492 1.388 1.161 2.132 2.154l.054.072a1 1 0 0 0 1.8-.6c0-1.49-.588-3.367-2.026-4.877C11.668 6.252 9.714 5.236 7 5.036V4a1 1 0 0 0-1.659-.753l-4 3.5a1 1 0 0 0 0 1.506l4 3.5a1 1 0 0 0 1.072.158ZM6 6c4.462 0 6.711 2.212 7.572 4.374.296.745.428 1.485.428 2.126l-.098-.13c-.393-.526-.76-1.015-1.192-1.449C11.655 9.865 10.206 9.14 7 9.018A26.43 26.43 0 0 0 6 9v2L2 7.5 6 4v2Z\",\"M9.721 18.865A2 2 0 0 0 11 17v-1.902c2.078.217 3.514.763 4.543 1.373 1.34.794 2.15 1.785 2.857 2.729A2 2 0 0 0 22 18c0-3.39-3.377-9.04-11-9.891V6a2 2 0 0 0-3.48-1.345l-5 5.5a2 2 0 0 0 0 2.69l5 5.5a2 2 0 0 0 2.201.52ZM9 10c3.835 0 6.52 1.264 8.278 2.855C19.187 14.583 20 16.698 20 18c-.816-1.088-1.927-2.471-3.898-3.507-1.284-.675-2.933-1.203-5.102-1.404A21.602 21.602 0 0 0 9 13v4l-5-5.5L9 6v4Z\",\"M12.826 23.821A2 2 0 0 0 14 22v-2.956c4.715.213 7.4 1.18 9.015 2.207 1.651 1.049 2.363 2.25 3.073 3.448.066.11.13.22.197.33a2 2 0 0 0 3.695-1.312c-.297-2.08-1.349-5.276-4.126-7.966-2.526-2.446-6.322-4.322-11.854-4.687V8a2 2 0 0 0-3.317-1.505l-8 7a2 2 0 0 0 0 3.01l8 7a2 2 0 0 0 2.143.316ZM12 13c6.753 0 10.747 2.224 13.066 4.815C27.006 19.982 27.772 22.406 28 24l-.197-.332c-.754-1.278-1.742-2.953-4.04-4.304-2.012-1.183-5.026-2.118-9.763-2.322A46.425 46.425 0 0 0 12 17v5l-8-7 8-7v5Z\"]];","export default [[\"M2.972 3a1 1 0 0 0-.977.786l-.96 4.394A1.5 1.5 0 0 0 2.5 10h7a1.5 1.5 0 0 0 1.463-1.829L9.98 3.787A1 1 0 0 0 9 3H2.973ZM9.5 9h-.52a2 2 0 0 0 .234-.638l.345-1.879.429 1.907A.5.5 0 0 1 9.5 9ZM7.353 5.854a.5.5 0 1 0-.706-.708L5 6.786l-.647-.641a.5.5 0 0 0-.704.71l1 .991a.5.5 0 0 0 .705 0l2-1.992Z\",\"M4.342 3a1.5 1.5 0 0 0-1.451 1.12l-1.829 7A1.5 1.5 0 0 0 2.513 13h10.963a1.5 1.5 0 0 0 1.475-1.773L13.676 4.33A1.501 1.501 0 0 0 12.186 3H4.341Zm9.134 9h-1.552c.098-.17.172-.357.218-.556l1.011-4.441.815 4.406a.5.5 0 0 1-.492.591ZM9.858 6.854a.5.5 0 0 0-.707-.708l-2.65 2.647-1.147-1.147a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .707 0l3.005-3Z\",\"M6.557 4a3 3 0 0 0-2.908 2.264l-2.532 10A3 3 0 0 0 4.025 20H20.03a3 3 0 0 0 2.942-3.592l-1.966-9.77A3.002 3.002 0 0 0 18.026 4H6.556ZM20.03 18h-1.39c.115-.24.203-.497.26-.767l1.133-5.286.977 4.856A1 1 0 0 1 20.03 18Zm-4.324-7.793a1 1 0 0 0-1.414-1.414L10.5 12.586l-1.793-1.793a1 1 0 0 0-1.414 1.414l2.5 2.5a1 1 0 0 0 1.414 0l4.5-4.5Z\",\"M8.558 6A3 3 0 0 0 5.65 8.266l-3.531 14A3 3 0 0 0 5.026 26h21.957a3 3 0 0 0 2.954-3.523l-2.45-13.84A3.002 3.002 0 0 0 24.507 6H8.558Zm18.425 18h-2.925c.2-.346.35-.726.44-1.132l1.935-8.708 1.535 8.666A1 1 0 0 1 26.983 24Zm-6.776-10.293a1 1 0 0 0-1.414-1.414l-5.236 5.236-2.298-2.68a1 1 0 0 0-1.518 1.302l3 3.5a1 1 0 0 0 1.466.056l6-6Z\"],[\"<path d='M7.354 5.147a.5.5 0 0 1-.001.707l-2 1.991a.5.5 0 0 1-.705.001l-1-.99a.5.5 0 0 1 .704-.711l.647.641 1.648-1.64a.5.5 0 0 1 .707.001Z'></path><path d='M1.995 3.786A1 1 0 0 1 2.972 3H9a1 1 0 0 1 .979.787l.984 4.384A1.5 1.5 0 0 1 9.501 10H2.499a1.5 1.5 0 0 1-1.464-1.82l.96-4.394ZM7.263 9H2.5a.5.5 0 0 1-.488-.607L2.972 4h6.029l-.77 4.181A.999.999 0 0 1 7.263 9ZM8.98 9h.52a.5.5 0 0 0 .489-.61L9.56 6.483l-.345 1.879c-.042.23-.123.445-.235.638Z'></path>\",\"<path d='M9.858 6.147a.5.5 0 0 1 0 .707l-3.005 3a.5.5 0 0 1-.707 0l-1.5-1.5a.5.5 0 1 1 .708-.708L6.5 8.793l2.651-2.647a.5.5 0 0 1 .707 0Z'></path><path d='M2.89 4.12A1.5 1.5 0 0 1 4.343 3h7.843c.787 0 1.408.598 1.491 1.33l1.275 6.897A1.5 1.5 0 0 1 13.476 13H2.514a1.5 1.5 0 0 1-1.452-1.88l1.829-7ZM11.925 12h1.552a.5.5 0 0 0 .492-.59l-.815-4.407-1.011 4.441c-.046.2-.12.386-.218.556Zm.74-7.644.02.107a.503.503 0 0 1-.011.148l-1.506 6.611a1 1 0 0 1-.975.778h-7.68a.5.5 0 0 1-.483-.626l1.828-7A.5.5 0 0 1 4.342 4h7.843a.5.5 0 0 1 .48.356Z'></path>\",\"<path d='M15.707 10.207a1 1 0 0 0-1.414-1.414L10.5 12.586l-1.793-1.793a1 1 0 0 0-1.414 1.414l2.5 2.5a1 1 0 0 0 1.414 0l4.5-4.5Z'></path><path d='M3.649 6.264A3 3 0 0 1 6.557 4h11.47a3.002 3.002 0 0 1 2.979 2.639l1.966 9.77a3 3 0 0 1-2.942 3.59h-4.515L15.48 20H4.025a3 3 0 0 1-2.908-3.736l2.532-10Zm15.336.47a.98.98 0 0 1-.008-.045 1 1 0 0 0-.95-.689H6.556a1 1 0 0 0-.97.755l-2.531 10A1 1 0 0 0 4.025 18h11.478a1.5 1.5 0 0 0 1.443-1.186l2.058-9.604c.02-.096.026-.19.02-.283l-.04-.194Zm-.084 10.5a3.424 3.424 0 0 1-.26.766h1.39a1 1 0 0 0 .98-1.197l-.977-4.856-1.133 5.286Z'></path>\",\"<path d='M20.207 12.293a1 1 0 0 1 0 1.414l-6 6a1 1 0 0 1-1.466-.056l-3-3.5a1 1 0 0 1 1.518-1.302l2.297 2.68 5.237-5.236a1 1 0 0 1 1.414 0Z'></path><path d='M5.65 8.266A3 3 0 0 1 8.557 6h15.949a3.002 3.002 0 0 1 2.98 2.638l2.45 13.839A3 3 0 0 1 26.983 26H5.026a3 3 0 0 1-2.908-3.734l3.531-14ZM20.595 24a2 2 0 0 0 1.95-1.566l2.937-13.217A1 1 0 0 0 24.507 8H8.558a1 1 0 0 0-.97.755l-3.531 14A1 1 0 0 0 5.027 24h15.57Zm3.462 0h2.925a1 1 0 0 0 .985-1.174l-1.535-8.666-1.935 8.708a3.98 3.98 0 0 1-.44 1.132Z'></path>\"]];","export default [[\"M9.5 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm-6 4a1.72 1.72 0 0 0-1.686 1.383L1.01 9.402A.5.5 0 0 0 1.5 10h.61l.284 1.136a1.14 1.14 0 0 0 2.212 0L4.89 10h.61a.5.5 0 0 0 .49-.598l-.804-4.02A1.72 1.72 0 0 0 3.5 4Zm6 0A2.5 2.5 0 0 0 7 6.5V7a1 1 0 0 0 1 1v2.5a1.5 1.5 0 0 0 3 0V8a1 1 0 0 0 1-1v-.5A2.5 2.5 0 0 0 9.5 4Zm-6-4a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z\",\"M4.5 1a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm0 4c-.812 0-1.534.52-1.79 1.29l-1.684 5.052A.5.5 0 0 0 1.5 12h1.576l.349 2.089a1.09 1.09 0 0 0 2.15 0L5.924 12H7.5a.5.5 0 0 0 .474-.658L6.291 6.29A1.887 1.887 0 0 0 4.5 5Zm8-4a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm0 4A2.5 2.5 0 0 0 10 7.5V9a1 1 0 0 0 1 1v3.5a1.5 1.5 0 0 0 3 0V10a1 1 0 0 0 1-1V7.5A2.5 2.5 0 0 0 12.5 5Z\",\"M18 1a3 3 0 1 0 0 6 3 3 0 0 0 0-6ZM6 8a3.562 3.562 0 0 0-3.455 2.698l-1.515 6.06A1 1 0 0 0 2 18h1.18l.644 3.22a2.213 2.213 0 0 0 4.345-.022L8.773 18H10a1 1 0 0 0 .97-1.242l-1.515-6.06A3.562 3.562 0 0 0 6 8Zm11 0a4 4 0 0 0-4 4v3a2 2 0 0 0 2 2v3a3 3 0 1 0 6 0v-3a2 2 0 0 0 2-2v-3a4 4 0 0 0-4-4h-2ZM6 1a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z\",\"M9.5 10a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm13 0a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm-13 1a3.014 3.014 0 0 0-2.885 2.138l-2.573 8.575A1 1 0 0 0 5 23h1.133l.665 4.657a2.73 2.73 0 0 0 5.404 0L12.867 23H14a1 1 0 0 0 .958-1.287l-2.573-8.575A3.014 3.014 0 0 0 9.5 11ZM22 11a5 5 0 0 0-5 5v4a2 2 0 0 0 2 2v4.5a3.5 3.5 0 1 0 7 0V22a2 2 0 0 0 2-2v-4a5 5 0 0 0-5-5h-1Z\"],[\"M8 1.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM9.5 1a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm-6 3a1.72 1.72 0 0 0-1.686 1.383L1.01 9.402A.5.5 0 0 0 1.5 10h.61l.284 1.136a1.14 1.14 0 0 0 2.212 0L4.89 10h.61a.5.5 0 0 0 .49-.598l-.804-4.02A1.72 1.72 0 0 0 3.5 4Zm-.706 1.579a.72.72 0 0 1 1.412 0L4.89 9H4.5a.5.5 0 0 0-.485.379l-.379 1.515a.14.14 0 0 1-.272 0l-.379-1.515A.5.5 0 0 0 2.5 9h-.39l.684-3.421ZM9.5 4A2.5 2.5 0 0 0 7 6.5V7a1 1 0 0 0 1 1v2.5a1.5 1.5 0 0 0 3 0V8a1 1 0 0 0 1-1v-.5A2.5 2.5 0 0 0 9.5 4ZM8 6.5a1.5 1.5 0 1 1 3 0V7a1 1 0 0 0-1 1v2.5a.5.5 0 0 1-1 0V8a1 1 0 0 0-1-1v-.5ZM3.5 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM3 1.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Z\",\"M4.5 1a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM4 2.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0ZM4.5 5c-.812 0-1.534.52-1.79 1.29l-1.684 5.052A.5.5 0 0 0 1.5 12h1.576l.349 2.089a1.09 1.09 0 0 0 2.15 0L5.924 12H7.5a.5.5 0 0 0 .474-.658L6.291 6.29A1.887 1.887 0 0 0 4.5 5Zm-.842 1.607a.887.887 0 0 1 1.684 0L6.806 11H5.5a.5.5 0 0 0-.493.418l-.418 2.507a.09.09 0 0 1-.178 0l-.418-2.507A.5.5 0 0 0 3.5 11H2.194l1.464-4.393ZM11 2.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm1.5-.5a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm0 3A2.5 2.5 0 0 0 10 7.5V9a1 1 0 0 0 1 1v3.5a1.5 1.5 0 0 0 3 0V10a1 1 0 0 0 1-1V7.5A2.5 2.5 0 0 0 12.5 5ZM11 7.5a1.5 1.5 0 0 1 3 0V9a1 1 0 0 0-1 1v3.5a.5.5 0 0 1-1 0V10a1 1 0 0 0-1-1V7.5Z\",\"M15 4a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm3-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2ZM6 8a3.562 3.562 0 0 0-3.455 2.698l-1.515 6.06A1 1 0 0 0 2 18h1.18l.644 3.22a2.213 2.213 0 0 0 4.345-.022L8.773 18H10a1 1 0 0 0 .97-1.242l-1.515-6.06A3.562 3.562 0 0 0 6 8Zm-1.515 3.183a1.562 1.562 0 0 1 3.03 0L8.719 16h-.775a1 1 0 0 0-.982.814l-.758 4.012a.213.213 0 0 1-.418.003l-.805-4.025A1 1 0 0 0 4 16h-.72l1.205-4.817ZM17 8a4 4 0 0 0-4 4v3a2 2 0 0 0 2 2v3a3 3 0 1 0 6 0v-3a2 2 0 0 0 2-2v-3a4 4 0 0 0-4-4h-2Zm-2 4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v3a2 2 0 0 0-2 2v3a1 1 0 1 1-2 0v-3a2 2 0 0 0-2-2v-3ZM6 1a3 3 0 1 0 0 6 3 3 0 0 0 0-6ZM5 4a1 1 0 1 1 2 0 1 1 0 0 1-2 0Z\",\"M13 6.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0ZM9.5 8a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM26 6.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0ZM22.5 8a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm-13 5c-.449 0-.845.296-.97.713L6.344 21H7a1 1 0 0 1 .99.859l.788 5.515a.73.73 0 0 0 1.444 0l.788-5.515A1 1 0 0 1 12 21h.656l-2.186-7.287A1.015 1.015 0 0 0 9.5 13Zm-2.885.138A3.014 3.014 0 0 1 9.5 11c1.318 0 2.503.862 2.885 2.138l2.573 8.575A1 1 0 0 1 14 23h-1.133l-.665 4.657a2.73 2.73 0 0 1-5.404 0L6.133 23H5a1 1 0 0 1-.958-1.287l2.573-8.575ZM22 13a3 3 0 0 0-3 3v4a2 2 0 0 1 2 2v4.5a1.5 1.5 0 0 0 3 0V22a2 2 0 0 1 2-2v-4a3 3 0 0 0-3-3h-1Zm-5 3a5 5 0 0 1 5-5h1a5 5 0 0 1 5 5v4a2 2 0 0 1-2 2v4.5a3.5 3.5 0 1 1-7 0V22a2 2 0 0 1-2-2v-4Z\"]];","export default [[\"<path d='M2.5 3a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM3 6.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM8.5 3a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h2ZM10 6.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1Z'></path><path d='M1.5 1A1.5 1.5 0 0 0 0 2.5v6A1.5 1.5 0 0 0 1.5 10h9A1.5 1.5 0 0 0 12 8.5v-6A1.5 1.5 0 0 0 10.5 1h-9ZM4 2H1.5a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5H4V2Zm1 7h5.5a.5.5 0 0 0 .5-.5v-6a.5.5 0 0 0-.5-.5H5v7Z'></path>\",\"<path d='M4.5 7a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h1Zm.5 3.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1ZM11.5 7a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3Zm1.5 3.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-1Z'></path><path d='M13.5 3A1.5 1.5 0 0 1 15 4.5v8a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 12.5v-8A1.5 1.5 0 0 1 2.5 3h11Zm.5 1.5a.5.5 0 0 0-.5-.5H7v1h7v-.5ZM6 5H2v1h4v7H2.5a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 .5-.5H6v1Zm1 8h6.5a.5.5 0 0 0 .5-.5V6H7v7Z'></path>\",\"<path d='M6.5 10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h1Zm.5 4.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1Zm9-4a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-1Zm2.5 3.5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h4Z'></path><path d='M19 4a3 3 0 0 1 3 3v9a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h14Zm1 3a1 1 0 0 0-1-1h-9v1h10ZM8 7V6H5a1 1 0 0 0-1 1h4Zm0 2v8H5a1 1 0 0 1-1-1V9h4Zm2 8V9h10v7a1 1 0 0 1-1 1h-9Z'></path>\",\"<path d='M7.5 12a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 .5-.5h2Zm.5 7.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-3ZM21 13a1 1 0 0 0-1-1h-7a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1v-2Zm6 7a1 1 0 0 0-1-1h-7a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1v-2Z'></path><path d='M27 5a3 3 0 0 1 3 3v15a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V8a3 3 0 0 1 3-3h22Zm1 3a1 1 0 0 0-1-1H11v2h17V8ZM9 9V7H5a1 1 0 0 0-1 1v1h5Zm0 2v13H5a1 1 0 0 1-1-1V11h5Zm2 13V11h17v12a1 1 0 0 1-1 1H11Z'></path>\"]];","export default [[\"M10.5 1a.5.5 0 0 1 .5.5v.049l-.002.134a21.955 21.955 0 0 1-.126 1.997 11.795 11.795 0 0 1-.312 1.748c-.144.53-.359 1.078-.707 1.426A.5.5 0 0 1 9.8 6.9L8 8.25V9.5a.5.5 0 0 1-.147.354l-1 1a.5.5 0 0 1-.707 0l-1-1-.009-.01-.169-.169a.5.5 0 0 1-.822.178l-2-2a.5.5 0 0 1 .178-.821l-.178-.178-.002-.003-.998-.997a.5.5 0 0 1 0-.707l1-1A.5.5 0 0 1 2.5 4h1.25L5.1 2.2a.5.5 0 0 1 .046-.054c.348-.347.895-.562 1.425-.707.551-.15 1.174-.247 1.749-.31A21.983 21.983 0 0 1 10.45 1h.05ZM6 5a1 1 0 1 0 2 0 1 1 0 0 0-2 0Z\",\"M13.5 2a.5.5 0 0 1 .5.5v.049l-.002.134a22.012 22.012 0 0 1-.126 1.998 11.808 11.808 0 0 1-.312 1.747c-.144.53-.359 1.078-.706 1.426a.5.5 0 0 1-.077.062L10 9.768V12.5a.5.5 0 0 1-.146.354l-1 1a.5.5 0 0 1-.708 0L6.153 11.86l-.007-.006L6 11.707l-.146.146a.5.5 0 0 1-.707 0l-1-1a.5.5 0 0 1 0-.707L4.292 10l-.147-.146-.006-.007-1.994-1.994a.5.5 0 0 1 0-.707l1-1A.5.5 0 0 1 3.5 6h2.732l1.852-2.777a.5.5 0 0 1 .062-.077c.348-.347.895-.562 1.426-.707.55-.15 1.173-.247 1.748-.31A21.985 21.985 0 0 1 13.45 2h.05ZM10 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"M20.995 3.903v-.002a1 1 0 0 0-.896-.896h-.007l-.013-.002L20.03 3l-.172-.013a19.347 19.347 0 0 0-2.656.01c-1.563.117-3.642.478-5.15 1.588a2.628 2.628 0 0 0-.427.399l-3.34 3.854-4.089-.818a1 1 0 0 0-.903.274l-1 1a1 1 0 0 0 0 1.414l3.305 3.305c-.656.78-1.195 1.624-1.53 2.427-.221.53-.376 1.094-.383 1.638-.008.551.138 1.16.608 1.63s1.079.616 1.63.608c.544-.007 1.107-.162 1.638-.383.803-.335 1.647-.873 2.427-1.53l3.305 3.305a1 1 0 0 0 1.414 0l1-1a1 1 0 0 0 .273-.903l-.817-4.088 3.854-3.34c.131-.114.272-.255.4-.428 1.109-1.508 1.47-3.587 1.587-5.15a19.365 19.365 0 0 0-.003-2.828l-.004-.049-.001-.013v-.005ZM13.5 12a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\",\"m24.686 16.771-4.838 4.277 2.063 4.538a1 1 0 0 1-.204 1.121l-2 2a1 1 0 0 1-1.414 0l-5.304-5.304-.026-.026-.003-.003a10.237 10.237 0 0 1-2.365 1.426c-.535.225-1.1.394-1.629.434-.502.038-1.175-.03-1.673-.527-.498-.498-.564-1.171-.527-1.673.04-.53.209-1.094.434-1.629.332-.79.835-1.629 1.426-2.365l-5.333-5.333a1 1 0 0 1 0-1.414l2-2a1 1 0 0 1 1.12-.203l4.565 2.074 4.295-4.809.02-.02c2.055-2.054 5.078-2.853 7.438-3.168a23.75 23.75 0 0 1 3.99-.184 13.602 13.602 0 0 1 .33.018l.02.002h.009c.487.04.875.425.917.912v.009l.002.02a8.99 8.99 0 0 1 .02.333 23.85 23.85 0 0 1-.164 4.009c-.304 2.369-1.09 5.406-3.148 7.464l-.021.021Zm-7.918-1.468a2.5 2.5 0 1 0 3.535-3.535 2.5 2.5 0 0 0-3.535 3.535Z\"],[\"<path d='M7 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z'></path><path d='M10.5 1a.5.5 0 0 1 .5.5v.049l-.002.134a21.955 21.955 0 0 1-.126 1.997 11.795 11.795 0 0 1-.312 1.748c-.144.53-.359 1.078-.707 1.426A.5.5 0 0 1 9.8 6.9L8 8.25V9.5a.5.5 0 0 1-.147.354l-1 1a.5.5 0 0 1-.707 0l-1-1-.009-.01-.169-.169a.5.5 0 0 1-.822.178l-2-2a.5.5 0 0 1 .178-.821l-.178-.178-.01-.01-.99-.99a.5.5 0 0 1 0-.708l1-1A.5.5 0 0 1 2.5 4h1.25L5.1 2.2a.5.5 0 0 1 .046-.054c.348-.347.895-.562 1.425-.707.551-.15 1.174-.247 1.749-.31A21.983 21.983 0 0 1 10.45 1h.05ZM7.205 7.596 7.2 7.6 5.547 8.84 3.16 6.453 4.4 4.8l.005-.006 1.47-1.961c.161-.146.482-.298.96-.429a10.92 10.92 0 0 1 1.595-.282c.547-.06 1.066-.091 1.45-.107l.109-.004-.004.11c-.016.383-.046.901-.107 1.449-.061.55-.151 1.115-.282 1.595-.13.478-.283.799-.429.96l-1.962 1.47Z'></path>\",\"<path d='M13.5 2a.5.5 0 0 1 .5.5v.049a16.81 16.81 0 0 1-.016.612c-.016.398-.048.942-.112 1.52a11.795 11.795 0 0 1-.312 1.747c-.144.53-.359 1.078-.707 1.426a.5.5 0 0 1-.076.062L10 9.768V12.5a.5.5 0 0 1-.147.354l-1 1a.5.5 0 0 1-.707 0l-2-2L6 11.707l-.147.146a.5.5 0 0 1-.707 0l-1-1a.5.5 0 0 1 0-.707L4.293 10l-.147-.146-.009-.01-1.99-1.99a.5.5 0 0 1 0-.708l1-1A.5.5 0 0 1 3.5 6h2.732l1.852-2.777a.5.5 0 0 1 .062-.077c.348-.347.895-.562 1.425-.707.551-.15 1.174-.247 1.749-.31A21.985 21.985 0 0 1 13.45 2h.05Zm-6.215 9.578L8.5 12.793l.5-.5v-1.859l-1.715 1.144ZM5.565 7 4.423 8.715 3.207 7.5l.5-.5h1.859Zm7.424-3.989-.11.004a20.98 20.98 0 0 0-1.449.107c-.55.061-1.115.151-1.595.282-.47.128-.787.277-.95.42L5.142 9.437l1.42 1.42 5.612-3.74c.144-.164.293-.481.42-.95.132-.481.222-1.046.283-1.596.06-.548.091-1.066.107-1.45l.004-.109Z'></path><path d='M11 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path>\",\"<path d='M13.5 12a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z'></path><path d='M20.99 3.902h.005v.006l.002.014.004.048a13.398 13.398 0 0 1 .044.79 19.27 19.27 0 0 1-.041 2.039c-.117 1.562-.478 3.64-1.588 5.15a2.626 2.626 0 0 1-.4.426l-3.853 3.34.817 4.089a1 1 0 0 1-.273.903l-1 1a1 1 0 0 1-1.414 0l-3.305-3.305c-.78.656-1.624 1.195-2.427 1.53-.53.221-1.094.376-1.638.383-.551.008-1.16-.138-1.63-.608s-.616-1.079-.608-1.63c.007-.544.162-1.107.383-1.638.335-.803.874-1.648 1.53-2.427l-3.305-3.305a1 1 0 0 1 0-1.414l1-1a1 1 0 0 1 .903-.274l4.088.818 3.34-3.854a2.63 2.63 0 0 1 .428-.4c1.508-1.109 3.587-1.47 5.15-1.587A19.347 19.347 0 0 1 20.03 3l.048.004.014.001h.005l.002.001a1 1 0 0 1 .896.896h-.005Zm-7.928 13.634.363-.314.446 2.235-1.48-1.48a3 3 0 0 0 .671-.44ZM6.023 11.61a3 3 0 0 1 .44-.671l.315-.363-2.235-.447 1.48 1.481Zm.996 3.824 1.548 1.549c-.606.492-1.228.875-1.777 1.104-.39.163-.692.227-.895.23a.468.468 0 0 1-.187-.024.467.467 0 0 1-.023-.187c.002-.203.066-.505.229-.895.229-.549.612-1.171 1.105-1.777ZM19.049 4.95a17.31 17.31 0 0 0-1.699.04c-1.48.11-3.079.444-4.113 1.205a.648.648 0 0 0-.101.098l-5.16 5.955a1 1 0 0 0 .048 1.362l2.366 2.366a1 1 0 0 0 1.362.049l5.955-5.161a.653.653 0 0 0 .098-.1C18.566 9.728 18.9 8.13 19.01 6.65c.05-.654.052-1.248.04-1.7Z'></path>\",\"<path d='M16.768 15.303a2.5 2.5 0 1 0 3.535-3.535 2.5 2.5 0 0 0-3.535 3.535Z'></path><path d='M27.08 4.003a1 1 0 0 1 .916.912v.003l.001.006.002.02.002.03.003.042c.004.061.01.15.015.26a23.813 23.813 0 0 1-.164 4.009c-.304 2.37-1.09 5.408-3.148 7.465l-.022.021-4.837 4.278 2.062 4.537a1 1 0 0 1-.203 1.121l-2 2a1 1 0 0 1-1.414 0l-5.322-5.322-.008-.008-.003-.003a10.242 10.242 0 0 1-2.365 1.427c-.536.225-1.1.393-1.629.433-.502.038-1.175-.029-1.673-.527s-.565-1.17-.527-1.673c.04-.53.208-1.093.433-1.629.333-.79.836-1.629 1.427-2.365l-5.333-5.333a1 1 0 0 1 0-1.414l2-2a1 1 0 0 1 1.12-.203l4.565 2.074 4.295-4.809.02-.02c2.055-2.054 5.078-2.853 7.438-3.168a23.747 23.747 0 0 1 3.989-.184 13.602 13.602 0 0 1 .33.018l.02.002h.01Zm-10.009 19.5 1.21-1.069 1.522 3.349-.803.803-2.622-2.623c.246-.117.48-.27.693-.46Zm-1.324-1.498a1 1 0 0 1-1.365-.038l-.005-.004-4.333-4.333a1 1 0 0 1-.039-1.374l6.721-7.526c1.58-1.566 4.046-2.284 6.27-2.58a21.748 21.748 0 0 1 3.044-.185 21.578 21.578 0 0 1-.17 3.066c-.285 2.234-.994 4.705-2.556 6.284l-7.567 6.69Zm-5.697-1.54 1.485 1.485a8.172 8.172 0 0 1-1.715 1.007c-.422.177-.766.265-1.004.282a1.173 1.173 0 0 1-.059.004l.003-.059c.018-.238.106-.582.283-1.004a8.17 8.17 0 0 1 1.008-1.715Zm-1.537-5.54a3 3 0 0 0-.47.704L5.414 13l.803-.803 3.366 1.53-1.07 1.197Z'></path>\"]];","export default [[\"<path d='M6.5 1a.5.5 0 0 0 0 1 3.5 3.5 0 0 1 3.494 3.286l-.14-.14a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0l1-1a.5.5 0 0 0-.708-.708l-.15.151A4.5 4.5 0 0 0 6.5 1ZM4 3H2.5A1.5 1.5 0 0 0 1 4.5v5A1.5 1.5 0 0 0 2.5 11h4A1.5 1.5 0 0 0 8 9.5V6H5.5A1.5 1.5 0 0 1 4 4.5V3Z'></path><path d='M7.777 5a1.5 1.5 0 0 0-.41-.438L5.548 3.276A1.5 1.5 0 0 0 5 3.034V4.5a.5.5 0 0 0 .5.5h2.277Z'></path>\",\"<path d='M8 1.5a.5.5 0 0 1 .5-.5 5.5 5.5 0 0 1 5.496 5.297l.15-.15a.5.5 0 0 1 .708.707l-1 1a.5.5 0 0 1-.708 0l-1-1a.5.5 0 0 1 .708-.708l.141.142A4.5 4.5 0 0 0 8.5 2a.5.5 0 0 1-.5-.5ZM7 3H2.5A1.5 1.5 0 0 0 1 4.5v9A1.5 1.5 0 0 0 2.5 15h7a1.5 1.5 0 0 0 1.5-1.5V7H8.5A1.5 1.5 0 0 1 7 5.5V3Z'></path><path d='M10.823 6a1.499 1.499 0 0 0-.306-.395l-2.39-2.207A1.5 1.5 0 0 0 8 3.293V5.5a.5.5 0 0 0 .5.5h2.323Z'></path>\",\"<path d='M14 3a1 1 0 0 1 1-1 6 6 0 0 1 5.987 5.599l.306-.306a1 1 0 1 1 1.414 1.414l-2 2a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414l.27.27A4 4 0 0 0 15 4a1 1 0 0 1-1-1ZM5 5a3 3 0 0 0-3 3v11a3 3 0 0 0 3 3h9a3 3 0 0 0 3-3v-7h-4a3 3 0 0 1-3-3V5H5Z'></path><path d='M16.054 9.063c.286.269.513.588.673.937H13a1 1 0 0 1-1-1V5.379c.214.119.414.264.595.435l3.46 3.25Z'></path>\",\"<path d='M19 2a1 1 0 1 0 0 2 6 6 0 0 1 6 6v.586l-1.293-1.293a1 1 0 1 0-1.414 1.414l3 3a1 1 0 0 0 1.414 0l3-3a1 1 0 0 0-1.414-1.414L27 10.586V10a8 8 0 0 0-8-8ZM5 6h9v6a3 3 0 0 0 3 3h6v12a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3Z'></path><path d='M22.121 12.707a3 3 0 0 1 .257.293H17a1 1 0 0 1-1-1V6.622c.102.078.2.164.293.257l5.828 5.828Z'></path>\"],[\"M6.5 1a.5.5 0 0 0 0 1 3.5 3.5 0 0 1 3.494 3.286l-.14-.14a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0l1-1a.5.5 0 0 0-.708-.708l-.15.151A4.5 4.5 0 0 0 6.5 1ZM4.682 3c.31 0 .613.096.866.276l1.819 1.286A1.5 1.5 0 0 1 8 5.787V9.5A1.5 1.5 0 0 1 6.5 11h-4A1.5 1.5 0 0 1 1 9.5v-5A1.5 1.5 0 0 1 2.5 3h2.182ZM2 4.5a.5.5 0 0 1 .5-.5H4v.5A1.5 1.5 0 0 0 5.5 6H7v3.5a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-5Zm4.254.5L5 4.113V4.5a.5.5 0 0 0 .5.5h.754Z\",\"M8 1.5a.5.5 0 0 1 .5-.5 5.5 5.5 0 0 1 5.496 5.297l.15-.15a.5.5 0 0 1 .708.707l-1 1a.5.5 0 0 1-.708 0l-1-1a.5.5 0 0 1 .708-.708l.141.142A4.5 4.5 0 0 0 8.5 2a.5.5 0 0 1-.5-.5ZM2.5 3A1.5 1.5 0 0 0 1 4.5v9A1.5 1.5 0 0 0 2.5 15h7a1.5 1.5 0 0 0 1.5-1.5V6.707a1.5 1.5 0 0 0-.483-1.102l-2.39-2.207A1.5 1.5 0 0 0 7.108 3H2.5ZM2 4.5a.5.5 0 0 1 .5-.5H7v1.5A1.5 1.5 0 0 0 8.5 7H10v6.5a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-9ZM9.471 6 8 4.642V5.5a.5.5 0 0 0 .5.5h.971Z\",\"M14 3a1 1 0 0 1 1-1 6 6 0 0 1 5.987 5.599l.306-.306a1 1 0 1 1 1.414 1.414l-2 2a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414l.27.27A4 4 0 0 0 15 4a1 1 0 0 1-1-1ZM5 5a3 3 0 0 0-3 3v11a3 3 0 0 0 3 3h9a3 3 0 0 0 3-3v-7.75a3 3 0 0 0-.946-2.187l-3.459-3.25A3 3 0 0 0 10.541 5H5ZM4 8a1 1 0 0 1 1-1h5v2a3 3 0 0 0 3 3h2v7a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V8Zm10.13 2L12 7.999V9a1 1 0 0 0 1 1h1.13Z\",\"M19 2a1 1 0 1 0 0 2 6 6 0 0 1 6 6v.586l-1.293-1.293a1 1 0 1 0-1.414 1.414l3 3a1 1 0 0 0 1.414 0l3-3a1 1 0 0 0-1.414-1.414L27 10.586V10a8 8 0 0 0-8-8ZM2 9a3 3 0 0 1 3-3h9.172a3 3 0 0 1 2.12.879l5.83 5.828A3 3 0 0 1 23 14.828V27a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V9Zm3-1a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1h15a1 1 0 0 0 1-1V15h-4a3 3 0 0 1-3-3V8H5Zm11 1.414L19.586 13H17a1 1 0 0 1-1-1V9.414Z\"]];","export default [[\"<path d='M5.5 1a.5.5 0 0 1 0 1 3.5 3.5 0 0 0-3.494 3.286l.14-.14a.5.5 0 1 1 .708.708l-1 1a.5.5 0 0 1-.708 0l-1-1a.5.5 0 1 1 .708-.708l.15.151A4.5 4.5 0 0 1 5.5 1Z'></path><path d='M7 3H5.5A1.5 1.5 0 0 0 4 4.5v5A1.5 1.5 0 0 0 5.5 11h4A1.5 1.5 0 0 0 11 9.5V6H8.5A1.5 1.5 0 0 1 7 4.5V3Z'></path><path d='M10.777 5a1.499 1.499 0 0 0-.41-.438l-1.82-1.286A1.5 1.5 0 0 0 8 3.034V4.5a.5.5 0 0 0 .5.5h2.277Z'></path>\",\"<path d='M8 1.5a.5.5 0 0 0-.5-.5 5.5 5.5 0 0 0-5.496 5.297l-.15-.15a.5.5 0 1 0-.708.707l1 1a.5.5 0 0 0 .708 0l1-1a.5.5 0 1 0-.708-.708l-.141.142A4.5 4.5 0 0 1 7.5 2a.5.5 0 0 0 .5-.5Z'></path><path d='M11 3H6.5A1.5 1.5 0 0 0 5 4.5v9A1.5 1.5 0 0 0 6.5 15h7a1.5 1.5 0 0 0 1.5-1.5V7h-2.5A1.5 1.5 0 0 1 11 5.5V3Z'></path><path d='M14.823 6a1.499 1.499 0 0 0-.306-.395l-2.39-2.207A1.506 1.506 0 0 0 12 3.293V5.5a.5.5 0 0 0 .5.5h2.323Z'></path>\",\"<path d='M10 3a1 1 0 0 0-1-1 6 6 0 0 0-5.987 5.599l-.306-.306a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l2-2a1 1 0 0 0-1.414-1.414l-.27.27A4 4 0 0 1 9 4a1 1 0 0 0 1-1ZM8 8a3 3 0 0 1 3-3h5v4a3 3 0 0 0 3 3h4v7a3 3 0 0 1-3 3h-9a3 3 0 0 1-3-3V8Z'></path><path d='M22.727 10a2.999 2.999 0 0 0-.673-.937l-3.459-3.25A3.001 3.001 0 0 0 18 5.38V9a1 1 0 0 0 1 1h3.727Z'></path>\",\"<path d='M12 2a1 1 0 1 1 0 2 6 6 0 0 0-6 6v.586l1.293-1.293a1 1 0 0 1 1.414 1.414l-3 3a1 1 0 0 1-1.414 0l-3-3a1 1 0 0 1 1.414-1.414L4 10.586V10a8 8 0 0 1 8-8Z'></path><path d='M13 6a3 3 0 0 0-3 3v18a3 3 0 0 0 3 3h15a3 3 0 0 0 3-3V15h-6a3 3 0 0 1-3-3V6h-9Z'></path><path d='M30.121 12.707a3 3 0 0 1 .257.293H25a1 1 0 0 1-1-1V6.622c.102.078.2.164.293.257l5.828 5.828Z'></path>\"],[\"<path d='M5.5 1a.5.5 0 0 1 0 1 3.5 3.5 0 0 0-3.494 3.286l.14-.14a.5.5 0 1 1 .708.708l-1 1a.5.5 0 0 1-.708 0l-1-1a.5.5 0 1 1 .708-.708l.15.151A4.5 4.5 0 0 1 5.5 1Z'></path><path d='M7.682 3c.31 0 .613.096.866.276l1.819 1.286A1.5 1.5 0 0 1 11 5.787V9.5A1.5 1.5 0 0 1 9.5 11h-4A1.5 1.5 0 0 1 4 9.5v-5A1.5 1.5 0 0 1 5.5 3h2.182ZM5 4.5a.5.5 0 0 1 .5-.5H7v.5A1.5 1.5 0 0 0 8.5 6H10v3.5a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-5Zm4.254.5L8 4.113V4.5a.5.5 0 0 0 .5.5h.754Z'></path>\",\"<path d='M8 1.5a.5.5 0 0 0-.5-.5 5.5 5.5 0 0 0-5.496 5.297l-.15-.15a.5.5 0 1 0-.708.707l1 1a.5.5 0 0 0 .708 0l1-1a.5.5 0 1 0-.708-.708l-.141.142A4.5 4.5 0 0 1 7.5 2a.5.5 0 0 0 .5-.5Z'></path><path d='M6.5 3A1.5 1.5 0 0 0 5 4.5v9A1.5 1.5 0 0 0 6.5 15h7a1.5 1.5 0 0 0 1.5-1.5V6.707a1.5 1.5 0 0 0-.483-1.102l-2.39-2.207A1.5 1.5 0 0 0 11.108 3H6.5ZM6 4.5a.5.5 0 0 1 .5-.5H11v1.5A1.5 1.5 0 0 0 12.5 7H14v6.5a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-9ZM13.471 6 12 4.642V5.5a.5.5 0 0 0 .5.5h.971Z'></path>\",\"M10 3a1 1 0 0 0-1-1 6 6 0 0 0-5.987 5.599l-.306-.306a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l2-2a1 1 0 0 0-1.414-1.414l-.27.27A4 4 0 0 1 9 4a1 1 0 0 0 1-1Zm1 2.5a3 3 0 0 0-3 3v11a3 3 0 0 0 3 3h9a3 3 0 0 0 3-3v-7.75a3 3 0 0 0-.946-2.187l-3.459-3.25a3 3 0 0 0-2.054-.813H11Zm-1 3a1 1 0 0 1 1-1h5v2a3 3 0 0 0 3 3h2v7a1 1 0 0 1-1 1h-9a1 1 0 0 1-1-1v-11Zm10.13 2L18 8.499V9.5a1 1 0 0 0 1 1h1.13Z\",\"<path d='M12 2a1 1 0 1 1 0 2 6 6 0 0 0-6 6v.586l1.293-1.293a1 1 0 0 1 1.414 1.414l-3 3a1 1 0 0 1-1.414 0l-3-3a1 1 0 0 1 1.414-1.414L4 10.586V10a8 8 0 0 1 8-8Z'></path><path d='M10 9a3 3 0 0 1 3-3h9.172a3 3 0 0 1 2.12.879l5.83 5.828A3 3 0 0 1 31 14.828V27a3 3 0 0 1-3 3H13a3 3 0 0 1-3-3V9Zm3-1a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1h15a1 1 0 0 0 1-1V15h-4a3 3 0 0 1-3-3V8h-9Zm11 1.414L27.586 13H25a1 1 0 0 1-1-1V9.414Z'></path>\"]];","export default [[\"<path d='M3 10a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM1 6.5a.5.5 0 0 1 .5-.5A4.5 4.5 0 0 1 6 10.5a.5.5 0 0 1-1 0A3.5 3.5 0 0 0 1.5 7a.5.5 0 0 1-.5-.5Z'></path><path d='M1 3.5a.5.5 0 0 1 .5-.5A7.5 7.5 0 0 1 9 10.5a.5.5 0 0 1-1 0A6.5 6.5 0 0 0 1.5 4a.5.5 0 0 1-.5-.5Z'></path><path d='M1 .5a.5.5 0 0 1 .5-.5C7.299 0 12 4.701 12 10.5a.5.5 0 0 1-1 0A9.5 9.5 0 0 0 1.5 1 .5.5 0 0 1 1 .5Z'></path>\",\"<path d='M1.5 2a.5.5 0 0 0 0 1C7.851 3 13 8.149 13 14.5a.5.5 0 0 0 1 0C14 7.596 8.404 2 1.5 2Z'></path><path d='M1 5.5a.5.5 0 0 1 .5-.5 9.5 9.5 0 0 1 9.5 9.5.5.5 0 0 1-1 0A8.5 8.5 0 0 0 1.5 6a.5.5 0 0 1-.5-.5Z'></path><path d='M1.5 8a.5.5 0 0 0 0 1A5.5 5.5 0 0 1 7 14.5a.5.5 0 0 0 1 0A6.5 6.5 0 0 0 1.5 8ZM1 13.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Z'></path>\",\"<path d='M3 2a1 1 0 0 0 0 2c9.389 0 17 7.611 17 17a1 1 0 1 0 2 0C22 10.507 13.493 2 3 2Z'></path><path d='M2 8a1 1 0 0 1 1-1c7.732 0 14 6.268 14 14a1 1 0 1 1-2 0C15 14.373 9.627 9 3 9a1 1 0 0 1-1-1Z'></path><path d='M3 12a1 1 0 1 0 0 2 7 7 0 0 1 7 7 1 1 0 1 0 2 0 9 9 0 0 0-9-9Z'></path><path d='M2 19.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path>\",\"<path d='M4 5a1 1 0 0 0 0 2c11.598 0 21 9.402 21 21a1 1 0 1 0 2 0C27 15.297 16.703 5 4 5Z'></path><path d='M3 12a1 1 0 0 1 1-1c9.389 0 17 7.611 17 17a1 1 0 1 1-2 0c0-8.284-6.716-15-15-15a1 1 0 0 1-1-1Z'></path><path d='M4 17a1 1 0 1 0 0 2 9 9 0 0 1 9 9 1 1 0 1 0 2 0c0-6.075-4.925-11-11-11Zm-1 9.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path>\"],[\"<path d='M3 10a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM1 6.5a.5.5 0 0 0 .5.5A3.5 3.5 0 0 1 5 10.5a.5.5 0 0 0 1 0A4.5 4.5 0 0 0 1.5 6a.5.5 0 0 0-.5.5Z'></path><path d='M1 3.5a.5.5 0 0 1 .5-.5A7.5 7.5 0 0 1 9 10.5a.5.5 0 0 1-1 0A6.5 6.5 0 0 0 1.5 4a.5.5 0 0 1-.5-.5Z'></path><path d='M1 .5a.5.5 0 0 1 .5-.5C7.299 0 12 4.701 12 10.5a.5.5 0 0 1-1 0A9.5 9.5 0 0 0 1.5 1 .5.5 0 0 1 1 .5Z'></path>\",\"<path d='M1.5 2a.5.5 0 0 0 0 1C7.851 3 13 8.149 13 14.5a.5.5 0 0 0 1 0C14 7.596 8.404 2 1.5 2Z'></path><path d='M1 5.5a.5.5 0 0 1 .5-.5 9.5 9.5 0 0 1 9.5 9.5.5.5 0 0 1-1 0A8.5 8.5 0 0 0 1.5 6a.5.5 0 0 1-.5-.5Z'></path><path d='M1.5 8a.5.5 0 0 0 0 1A5.5 5.5 0 0 1 7 14.5a.5.5 0 0 0 1 0A6.5 6.5 0 0 0 1.5 8ZM1 13.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Z'></path>\",\"<path d='M3 2a1 1 0 0 0 0 2c9.389 0 17 7.611 17 17a1 1 0 1 0 2 0C22 10.507 13.493 2 3 2Z'></path><path d='M2 8a1 1 0 0 1 1-1c7.732 0 14 6.268 14 14a1 1 0 1 1-2 0C15 14.373 9.627 9 3 9a1 1 0 0 1-1-1Z'></path><path d='M3 12a1 1 0 1 0 0 2 7 7 0 0 1 7 7 1 1 0 1 0 2 0 9 9 0 0 0-9-9Z'></path><path d='M2 19.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path>\",\"<path d='M4 5a1 1 0 0 0 0 2c11.598 0 21 9.402 21 21a1 1 0 1 0 2 0C27 15.297 16.703 5 4 5Z'></path><path d='M3 12a1 1 0 0 1 1-1c9.389 0 17 7.611 17 17a1 1 0 1 1-2 0c0-8.284-6.716-15-15-15a1 1 0 0 1-1-1Z'></path><path d='M4 17a1 1 0 1 0 0 2 9 9 0 0 1 9 9 1 1 0 1 0 2 0c0-6.075-4.925-11-11-11Zm-1 9.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path>\"]];","export default [[\"M1 2.5A1.5 1.5 0 0 1 2.5 1h5.667c.324 0 .64.105.9.3l1.333 1c.378.283.6.728.6 1.2v6A1.5 1.5 0 0 1 9.5 11h-7A1.5 1.5 0 0 1 1 9.5v-7ZM6 2v1.5a.5.5 0 0 0 1 0V2h1v2.5a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5V2h2ZM4.5 8a.5.5 0 0 0-.5.5V10h4V8.5a.5.5 0 0 0-.5-.5h-3Z\",\"M3.5 1A2.5 2.5 0 0 0 1 3.5v9A2.5 2.5 0 0 0 3.5 15h9a2.5 2.5 0 0 0 2.5-2.5V4.414a1.5 1.5 0 0 0-.44-1.06l-1.914-1.915A1.5 1.5 0 0 0 11.586 1H3.5ZM7 4.5V2H5v4.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5V2h-1v2.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5Zm-2 7a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5V14H5v-2.5Z\",\"M5 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V6.914a2 2 0 0 0-.586-1.414L18.5 2.586A2 2 0 0 0 17.086 2H5Zm5 5V4H8v5a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4h-1v3a1 1 0 0 1-1 1h-3a1 1 0 0 1-1-1ZM8 18a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v2H8v-2Z\",\"M5 2a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3V8.47a2 2 0 0 0-.586-1.414l-4.47-4.47A2 2 0 0 0 23.53 2H5Zm4 2h5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V4h2v8a1 1 0 0 1-1 1H10a1 1 0 0 1-1-1V4Zm1 18a1 1 0 0 0-1 1v5h13v-5a1 1 0 0 0-1-1H10Z\"],[\"M9.5 11A1.5 1.5 0 0 0 11 9.5v-6a1.5 1.5 0 0 0-.6-1.2l-1.333-1a1.5 1.5 0 0 0-.9-.3H2.5A1.5 1.5 0 0 0 1 2.5v7A1.5 1.5 0 0 0 2.5 11h7Zm-7-9a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5H3V8.5A1.5 1.5 0 0 1 4.5 7h3A1.5 1.5 0 0 1 9 8.5V10h.5a.5.5 0 0 0 .5-.5v-6a.5.5 0 0 0-.2-.4L9 2.5v2A1.5 1.5 0 0 1 7.5 6h-3A1.5 1.5 0 0 1 3 4.5V2h-.5ZM4 8.5V10h4V8.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5ZM6 2v1.5a.5.5 0 0 0 1 0V2h1v2.5a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5V2h2Z\",\"M11.586 1a1.5 1.5 0 0 1 1.06.44l1.915 1.914A1.5 1.5 0 0 1 15 4.414V12.5a2.5 2.5 0 0 1-2.5 2.5h-9A2.5 2.5 0 0 1 1 12.5v-9A2.5 2.5 0 0 1 3.5 1h8.086ZM3.5 2A1.5 1.5 0 0 0 2 3.5v9A1.5 1.5 0 0 0 3.5 14H4v-2.5A1.5 1.5 0 0 1 5.5 10h5a1.5 1.5 0 0 1 1.5 1.5V14h.5a1.5 1.5 0 0 0 1.5-1.5V4.414a.5.5 0 0 0-.146-.353L12 2.207V6.5A1.5 1.5 0 0 1 10.5 8h-5A1.5 1.5 0 0 1 4 6.5V2h-.5Zm7.5 9.5V14H5v-2.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5ZM10 2h1v4.5a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5V2h2v2.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5V2ZM9 2H8v2h1V2Z\",\"M17.086 2a2 2 0 0 1 1.414.586L21.414 5.5A2 2 0 0 1 22 6.914V19a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h12.086ZM5 4a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h1v-2a3 3 0 0 1 3-3h6a3 3 0 0 1 3 3v2h1a1 1 0 0 0 1-1V6.914l-2-2V9a3 3 0 0 1-3 3H9a3 3 0 0 1-3-3V4H5Zm10 13a1 1 0 0 1 1 1v2H8v-2a1 1 0 0 1 1-1h6Zm0-13h1v5a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V4h2v3a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1V4Zm-2 0h-1v2h1V4Z\",\"M23.53 2a2 2 0 0 1 1.414.586l4.47 4.47A2 2 0 0 1 30 8.47V27a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h18.53ZM5 4a1 1 0 0 0-1 1v22a1 1 0 0 0 1 1h2v-5a3 3 0 0 1 3-3h11a3 3 0 0 1 3 3v5h3a1 1 0 0 0 1-1V8.47l-4-4V12a3 3 0 0 1-3 3H10a3 3 0 0 1-3-3V4H5Zm17 24H9v-5a1 1 0 0 1 1-1h11a1 1 0 0 1 1 1v5ZM20 4h2v8a1 1 0 0 1-1 1H10a1 1 0 0 1-1-1V4h5v5a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V4Zm-2 0h-2v4h2V4Z\"]];","export default [[\"M2.5 1A1.5 1.5 0 0 0 1 2.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 1 .5-.5h1a.5.5 0 0 0 0-1h-1Zm7 10A1.5 1.5 0 0 0 11 9.5v-1a.5.5 0 0 0-1 0v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 0 0 1h1ZM11 2.5A1.5 1.5 0 0 0 9.5 1h-1a.5.5 0 0 0 0 1h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 0 1 0v-1ZM2.5 11A1.5 1.5 0 0 1 1 9.5v-1a.5.5 0 0 1 1 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 1 0 1h-1ZM1 6.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1H8a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1H1.5a.5.5 0 0 1-.5-.5ZM4 5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1H4Z\",\"M3.5 2A1.5 1.5 0 0 0 2 3.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 1 .5-.5h1a.5.5 0 0 0 0-1h-1Zm9 0A1.5 1.5 0 0 1 14 3.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 1 0-1h1ZM2 12.5A1.5 1.5 0 0 0 3.5 14h1a.5.5 0 0 0 0-1h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 0-1 0v1ZM12.5 14a1.5 1.5 0 0 0 1.5-1.5v-1a.5.5 0 0 0-1 0v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 0 0 1h1ZM2 8.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1H11v1a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V9H2.5a.5.5 0 0 1-.5-.5ZM5 6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v1H5V6Z\",\"M22 5a3 3 0 0 0-3-3h-1a1 1 0 1 0 0 2h1a1 1 0 0 1 1 1v1a1 1 0 1 0 2 0V5Zm-3 17a3 3 0 0 0 3-3v-1a1 1 0 1 0-2 0v1a1 1 0 0 1-1 1h-1a1 1 0 1 0 0 2h1ZM2 5a3 3 0 0 1 3-3h1a1 1 0 1 1 0 2H5a1 1 0 0 0-1 1v1a1 1 0 1 1-2 0V5Zm0 14a3 3 0 0 0 3 3h1a1 1 0 1 0 0-2H5a1 1 0 0 1-1-1v-1a1 1 0 1 0-2 0v1Zm0-6a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2h-5a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2H3a1 1 0 0 1-1-1Zm6-3a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2H8Z\",\"M6 3a3 3 0 0 0-3 3v2a1 1 0 0 0 2 0V6a1 1 0 0 1 1-1h2a1 1 0 0 0 0-2H6Zm20 26a3 3 0 0 0 3-3v-2a1 1 0 1 0-2 0v2a1 1 0 0 1-1 1h-2a1 1 0 1 0 0 2h2Zm3-23a3 3 0 0 0-3-3h-2a1 1 0 1 0 0 2h2a1 1 0 0 1 1 1v2a1 1 0 1 0 2 0V6ZM6 29a3 3 0 0 1-3-3v-2a1 1 0 1 1 2 0v2a1 1 0 0 0 1 1h2a1 1 0 1 1 0 2H6ZM2 17a1 1 0 0 1 1-1h26a1 1 0 1 1 0 2h-7v1a2 2 0 0 1-2 2h-8a2 2 0 0 1-2-2v-1H3a1 1 0 0 1-1-1Zm8-5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v2H10v-2Z\"]];","export default [[\"M8.946 1.727a.5.5 0 1 0-.892-.454L5.997 5.316 3.939 1.273a.5.5 0 1 0-.891.454l2.388 4.69-.76 1.492a2 2 0 1 0 .154 1.897.507.507 0 0 0 .021-.036l1.146-2.25 1.145 2.25a.507.507 0 0 0 .02.036 2 2 0 1 0 .155-1.897l-.76-1.491 2.389-4.691ZM4 9a1 1 0 1 0-2 0 1 1 0 0 0 2 0Zm3.993 0a1 1 0 1 1 2 0 1 1 0 0 1-2 0Z\",\"M10.972 1.664a.5.5 0 0 0-.944-.329L8 7.165l-2.028-5.83a.5.5 0 1 0-.944.33L7.47 8.686l-1.02 2.936a2 2 0 1 0 .548 1.468L8 10.21l1.002 2.88a2 2 0 1 0 .548-1.468L8.53 8.687l2.442-7.023ZM6 12.992v.016a1 1 0 1 1 0-.016ZM11 14a1 1 0 0 1-1-.99v-.02A1 1 0 1 1 11 14Z\",\"M7.084 3.4a1 1 0 0 1 1.832-.8L12 9.648l3.084-7.049a1 1 0 0 1 1.832.802l-3.825 8.742 1.774 4.053a3.5 3.5 0 1 1-.709 3.34 1.014 1.014 0 0 1-.072-.136L12 14.639 9.916 19.4a.981.981 0 0 1-.072.136A3.502 3.502 0 0 1 3 18.5a3.5 3.5 0 0 1 6.135-2.304l1.774-4.053L7.083 3.4ZM17.5 17a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3ZM8 18.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0Z\",\"M21.945 3.328a1 1 0 1 0-1.89-.657L16 14.331 11.944 2.67a1 1 0 1 0-1.889.657l4.886 14.047-1.872 5.383a4.5 4.5 0 1 0 .836 3.668.995.995 0 0 0 .04-.098L16 20.418l2.055 5.91a.997.997 0 0 0 .04.099A4.502 4.502 0 0 0 27 25.5a4.5 4.5 0 0 0-8.069-2.742l-1.872-5.383 4.886-14.047ZM22.5 23a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5ZM12 25.5a2.5 2.5 0 1 0-5 0 2.5 2.5 0 0 0 5 0Z\"],[\"M8.946 1.727a.5.5 0 1 0-.892-.454L5.997 5.316 3.939 1.273a.5.5 0 1 0-.891.454l2.388 4.69-.76 1.492a2 2 0 1 0 .154 1.897.507.507 0 0 0 .021-.036l1.146-2.25 1.145 2.25a.507.507 0 0 0 .02.036 2 2 0 1 0 .155-1.897l-.76-1.491 2.389-4.691ZM4 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm3.993 0a1 1 0 1 1 2 0 1 1 0 0 1-2 0Z\",\"M10.972 1.664a.5.5 0 0 0-.944-.329L8 7.165l-2.028-5.83a.5.5 0 1 0-.944.33L7.47 8.686l-1.02 2.936a2 2 0 1 0 .548 1.468L8 10.21l1.002 2.88a2 2 0 1 0 .548-1.468L8.53 8.687l2.442-7.023ZM6 12.992v.016a1 1 0 1 1 0-.016ZM11 14a1 1 0 0 1-1-.99v-.02A1 1 0 1 1 11 14Z\",\"M7.084 3.4a1 1 0 0 1 1.832-.8L12 9.648l3.084-7.049a1 1 0 0 1 1.832.802l-3.825 8.742 1.774 4.053a3.5 3.5 0 1 1-.709 3.34 1.014 1.014 0 0 1-.072-.136L12 14.639 9.916 19.4a.981.981 0 0 1-.072.136A3.502 3.502 0 0 1 3 18.5a3.5 3.5 0 0 1 6.135-2.304l1.774-4.053L7.083 3.4ZM17.5 17a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM8 18.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0Z\",\"M21.945 3.328a1 1 0 1 0-1.89-.657L16 14.331 11.944 2.67a1 1 0 1 0-1.889.657l4.886 14.047-1.872 5.383a4.5 4.5 0 1 0 .836 3.668.995.995 0 0 0 .04-.098L16 20.418l2.055 5.91a.997.997 0 0 0 .04.099A4.502 4.502 0 0 0 27 25.5a4.5 4.5 0 0 0-8.069-2.742l-1.872-5.383 4.886-14.047ZM22.5 23a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5ZM12 25.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Z\"]];","export default [[\"M3.75 6.001a.25.25 0 0 0 .25-.25V3.25A.25.25 0 0 1 4.25 3h.5a.25.25 0 0 1 .25.25v6.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 4 9.75V7.251a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 1-.25-.25V3.25A.25.25 0 0 1 1.25 3h.5a.25.25 0 0 1 .25.25v2.501c0 .138.111.25.25.25h1.5ZM6.25 4A.25.25 0 0 1 6 3.75v-.5A.25.25 0 0 1 6.25 3h2.647a.25.25 0 0 1 .176.073l.854.854a.25.25 0 0 1 .073.177v1.793a.25.25 0 0 1-.073.177l-.854.854A.25.25 0 0 1 8.897 7H7.25a.25.25 0 0 0-.25.25v1.5c0 .138.112.25.25.25h2.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-3.5A.25.25 0 0 1 6 9.75V7.105a.25.25 0 0 1 .073-.177l.854-.854a.25.25 0 0 1 .177-.073H8.75a.25.25 0 0 0 .25-.25V4.25A.25.25 0 0 0 8.75 4h-2.5Z\",\"M0 7.5a7.5 7.5 0 1 1 15 0 7.5 7.5 0 0 1-15 0Zm6-.75a.25.25 0 0 1-.25.25h-1.5A.25.25 0 0 1 4 6.75v-2.5A.25.25 0 0 0 3.75 4h-.5a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h2.5a.25.25 0 0 1 .25.25v2.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-6.5A.25.25 0 0 0 6.75 4h-.5a.25.25 0 0 0-.25.25v2.5ZM8.25 4a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h2.5a.25.25 0 0 1 .25.25v1.5a.25.25 0 0 1-.25.25H9.104a.25.25 0 0 0-.177.073l-.854.854A.25.25 0 0 0 8 8.104v2.646c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-2.5A.25.25 0 0 1 9 9.75v-1.5A.25.25 0 0 1 9.25 8h1.646a.25.25 0 0 0 .177-.073l.854-.854A.25.25 0 0 0 12 6.896V5.104a.25.25 0 0 0-.073-.177l-.854-.854A.25.25 0 0 0 10.896 4H8.25Z\",\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm8-1.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h3a.5.5 0 0 1 .5.5v3a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v3ZM12.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h3a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-2.293a.5.5 0 0 0-.353.146l-.708.708a.5.5 0 0 0-.146.353V16.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h2.293a.5.5 0 0 0 .353-.146l.708-.708a.5.5 0 0 0 .146-.353V8.207a.5.5 0 0 0-.146-.353l-.708-.708A.5.5 0 0 0 16.793 7H12.5Z\",\"M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Zm11-1.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h3a.5.5 0 0 1 .5.5v3a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v3Zm3.5-3.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h3a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-2.293a.5.5 0 0 0-.353.146l-.708.708a.5.5 0 0 0-.146.353V20.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h2.293a.5.5 0 0 0 .353-.146l.708-.708a.5.5 0 0 0 .146-.353v-3.586a.5.5 0 0 0-.146-.353l-.708-.708a.5.5 0 0 0-.353-.146H16.5Z\"],[\"M3.75 6A.25.25 0 0 0 4 5.75v-2.5A.25.25 0 0 1 4.25 3h.5a.25.25 0 0 1 .25.25v6.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 4 9.75v-2.5A.25.25 0 0 0 3.75 7h-2.5A.25.25 0 0 1 1 6.75v-3.5A.25.25 0 0 1 1.25 3h.5a.25.25 0 0 1 .25.25v2.5c0 .139.111.25.25.25h1.5Zm2.5-2A.25.25 0 0 1 6 3.75v-.5A.25.25 0 0 1 6.25 3h2.647a.25.25 0 0 1 .176.073l.854.854a.25.25 0 0 1 .073.176v1.794a.25.25 0 0 1-.073.177l-.854.854A.25.25 0 0 1 8.897 7H7.25a.25.25 0 0 0-.25.25v1.5c0 .138.112.25.25.25h2.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-3.5A.25.25 0 0 1 6 9.75V7.104a.25.25 0 0 1 .073-.176l.854-.854a.25.25 0 0 1 .177-.073H8.75A.25.25 0 0 0 9 5.75v-1.5A.25.25 0 0 0 8.75 4h-2.5Z\",\"<path d='M6 6.75a.25.25 0 0 1-.25.25h-1.5A.25.25 0 0 1 4 6.75v-2.5A.25.25 0 0 0 3.75 4h-.5a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h2.5a.25.25 0 0 1 .25.25v2.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-6.5A.25.25 0 0 0 6.75 4h-.5a.25.25 0 0 0-.25.25v2.5ZM8.25 4a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h2.5a.25.25 0 0 1 .25.25v1.5a.25.25 0 0 1-.25.25H9.104a.25.25 0 0 0-.177.073l-.854.854A.25.25 0 0 0 8 8.104v2.646c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-2.5A.25.25 0 0 1 9 9.75v-1.5A.25.25 0 0 1 9.25 8h1.646a.25.25 0 0 0 .177-.073l.854-.854A.25.25 0 0 0 12 6.896V5.104a.25.25 0 0 0-.073-.177l-.854-.854A.25.25 0 0 0 10.896 4H8.25Z'></path><path d='M7.5 0a7.5 7.5 0 1 0 0 15 7.5 7.5 0 0 0 0-15ZM1 7.5a6.5 6.5 0 1 1 13 0 6.5 6.5 0 0 1-13 0Z'></path>\",\"<path d='M9 10.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h3a.5.5 0 0 1 .5.5v3a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v3ZM12.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h3a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-2.293a.5.5 0 0 0-.353.146l-.708.708a.5.5 0 0 0-.146.353V16.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h2.293a.5.5 0 0 0 .353-.146l.708-.708a.5.5 0 0 0 .146-.353V8.207a.5.5 0 0 0-.146-.353l-.708-.708A.5.5 0 0 0 16.793 7H12.5Z'></path><path d='M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1ZM3 12a9 9 0 1 1 18 0 9 9 0 0 1-18 0Z'></path>\",\"<path d='M13 14.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h3a.5.5 0 0 1 .5.5v3a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v3Zm3.5-3.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h3a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-2.293a.5.5 0 0 0-.353.146l-.708.708a.5.5 0 0 0-.146.353V20.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h2.293a.5.5 0 0 0 .353-.146l.708-.708a.5.5 0 0 0 .146-.353v-3.586a.5.5 0 0 0-.146-.353l-.708-.708a.5.5 0 0 0-.353-.146H16.5Z'></path><path d='M16 2C8.268 2 2 8.268 2 16s6.268 14 14 14 14-6.268 14-14S23.732 2 16 2ZM4 16C4 9.373 9.373 4 16 4s12 5.373 12 12-5.373 12-12 12S4 22.627 4 16Z'></path>\"]];","export default [[\"M0 2.5A1.5 1.5 0 0 1 1.5 1h9A1.5 1.5 0 0 1 12 2.5v6a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 0 8.5v-6Zm2 .75A.25.25 0 0 1 2.25 3h1.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-1.5A.25.25 0 0 1 2 3.75v-.5Zm3 .25a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5ZM5.5 7a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4ZM2.25 5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h1.5A.25.25 0 0 0 4 5.75v-.5A.25.25 0 0 0 3.75 5h-1.5ZM2 7.25A.25.25 0 0 1 2.25 7h1.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-1.5A.25.25 0 0 1 2 7.75v-.5Z\",\"M1 3.5A1.5 1.5 0 0 1 2.5 2h11A1.5 1.5 0 0 1 15 3.5v8a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 11.5v-8Zm2 1.75A.25.25 0 0 1 3.25 5h1.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-1.5A.25.25 0 0 1 3 5.75v-.5Zm3 .25a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5ZM6.5 9a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6ZM3.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h1.5A.25.25 0 0 0 5 7.75v-.5A.25.25 0 0 0 4.75 7h-1.5ZM3 9.25A.25.25 0 0 1 3.25 9h1.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-1.5A.25.25 0 0 1 3 9.75v-.5Z\",\"M1 6a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3V6Zm4 1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1Zm0 4a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1Zm.5 3.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2ZM10 8a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2h-7a1 1 0 0 1-1-1Zm1 3a1 1 0 1 0 0 2h7a1 1 0 1 0 0-2h-7Zm-1 5a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2h-7a1 1 0 0 1-1-1Z\",\"M2 10a3 3 0 0 1 3-3h22a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V10Zm4 1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1Zm0 4a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1Zm.5 3.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2Zm4.5-7a1 1 0 0 1 1-1h13a1 1 0 1 1 0 2H12a1 1 0 0 1-1-1Zm1 3a1 1 0 1 0 0 2h13a1 1 0 1 0 0-2H12Zm-1 5a1 1 0 0 1 1-1h13a1 1 0 1 1 0 2H12a1 1 0 0 1-1-1Z\"],[\"<path d='M5 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5ZM5.5 5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4ZM5 7.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5ZM2.25 3a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h1.5A.25.25 0 0 0 4 3.75v-.5A.25.25 0 0 0 3.75 3h-1.5ZM2 5.25A.25.25 0 0 1 2.25 5h1.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-1.5A.25.25 0 0 1 2 5.75v-.5ZM2.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h1.5A.25.25 0 0 0 4 7.75v-.5A.25.25 0 0 0 3.75 7h-1.5Z'></path><path d='M0 2.5A1.5 1.5 0 0 1 1.5 1h9A1.5 1.5 0 0 1 12 2.5v6a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 0 8.5v-6ZM1.5 2a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-6a.5.5 0 0 0-.5-.5h-9Z'></path>\",\"<path d='M6 5.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5ZM6.5 7a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6ZM6 9.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5ZM3.25 5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h1.5A.25.25 0 0 0 5 5.75v-.5A.25.25 0 0 0 4.75 5h-1.5ZM3 7.25A.25.25 0 0 1 3.25 7h1.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-1.5A.25.25 0 0 1 3 7.75v-.5ZM3.25 9a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h1.5A.25.25 0 0 0 5 9.75v-.5A.25.25 0 0 0 4.75 9h-1.5Z'></path><path d='M1 3.5A1.5 1.5 0 0 1 2.5 2h11A1.5 1.5 0 0 1 15 3.5v8a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 11.5v-8ZM2.5 3a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-11Z'></path>\",\"<path d='M5 7.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1Zm.5 3.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2ZM5 15.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1ZM11 7a1 1 0 1 0 0 2h7a1 1 0 1 0 0-2h-7Zm-1 5a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2h-7a1 1 0 0 1-1-1Zm1 3a1 1 0 1 0 0 2h7a1 1 0 1 0 0-2h-7Z'></path><path d='M1 6a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3V6Zm3-1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H4Z'></path>\",\"<path d='M6 11.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1Zm.5 3.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2ZM6 19.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1Zm6-8.5a1 1 0 1 0 0 2h13a1 1 0 1 0 0-2H12Zm-1 5a1 1 0 0 1 1-1h13a1 1 0 1 1 0 2H12a1 1 0 0 1-1-1Zm1 3a1 1 0 1 0 0 2h13a1 1 0 1 0 0-2H12Z'></path><path d='M2 10a3 3 0 0 1 3-3h22a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V10Zm3-1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h22a1 1 0 0 0 1-1V10a1 1 0 0 0-1-1H5Z'></path>\"]];","export default [[\"<path d='M1.5 0A1.5 1.5 0 0 0 0 1.5v6A1.5 1.5 0 0 0 1.5 9h4.25l-.45-.6A1.5 1.5 0 0 1 6.5 6H7v-.5c0-.174.03-.342.086-.5H5.5a.5.5 0 0 1 0-1h2.983a1.5 1.5 0 0 1 1.217.6l2.292 3.056A1.51 1.51 0 0 0 12 7.5v-6A1.5 1.5 0 0 0 10.5 0h-9Zm4 2h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1 0-1ZM2.25 2h1.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-1.5A.25.25 0 0 1 2 2.75v-.5A.25.25 0 0 1 2.25 2ZM2 4.25A.25.25 0 0 1 2.25 4h1.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-1.5A.25.25 0 0 1 2 4.75v-.5ZM2.25 6h1.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-1.5A.25.25 0 0 1 2 6.75v-.5A.25.25 0 0 1 2.25 6Z'></path><path d='M8.9 5.2a.5.5 0 0 0-.9.3V7H6.5a.5.5 0 0 0-.4.8l3 4a.5.5 0 0 0 .9-.3V10h1.5a.5.5 0 0 0 .4-.8l-3-4ZM9 7l1.5 2H9v1L7.5 8H9V7Z'></path>\",\"<path d='M1 2.5A1.5 1.5 0 0 1 2.5 1h11A1.5 1.5 0 0 1 15 2.5v6.976l-2.328-2.913A1.5 1.5 0 0 0 11.482 6H6.5a.5.5 0 0 0 0 1h3.586c-.083.234-.108.49-.066.747l.043.253H6.5a.5.5 0 0 0 0 1h3a1.5 1.5 0 0 0-1.171 2.437l.45.563H2.5A1.5 1.5 0 0 1 1 10.5v-8Zm5 2a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 0-1h-6a.5.5 0 0 0-.5.5ZM3.25 4a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h1.5A.25.25 0 0 0 5 4.75v-.5A.25.25 0 0 0 4.75 4h-1.5ZM3 6.25v.5c0 .138.112.25.25.25h1.5A.25.25 0 0 0 5 6.75v-.5A.25.25 0 0 0 4.75 6h-1.5a.25.25 0 0 0-.25.25ZM3.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h1.5A.25.25 0 0 0 5 8.75v-.5A.25.25 0 0 0 4.75 8h-1.5Z'></path><path d='M11.89 7.188a.5.5 0 0 0-.883.394L11.41 10H9.5a.5.5 0 0 0-.39.812l4 5a.5.5 0 0 0 .883-.394L13.59 13h1.907a.5.5 0 0 0 .39-.812l-3.996-5Zm.42 2.125L14.456 12H12.41l.281 1.689L10.541 11h2.05l-.282-1.687Z'></path>\",\"<path d='M1 4a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v10l-3.6-4.8a3 3 0 0 0-4.636-.2H11a1 1 0 1 0 0 2h3c0 .123.008.247.023.372l.079.628H14a3 3 0 0 0-2.236 1H11a1 1 0 1 0 0 2 3 3 0 0 0 .6 1.8l1.65 2.2H4a3 3 0 0 1-3-3V4Zm4 1.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5ZM5.5 9a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2ZM5 13.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5ZM11 5a1 1 0 1 0 0 2h7a1 1 0 1 0 0-2h-7Z'></path><path d='M17.8 10.4a1 1 0 0 0-1.792.724l.36 2.876H14a1 1 0 0 0-.8 1.6l6 8a1 1 0 0 0 1.792-.724L20.632 20H23a1 1 0 0 0 .8-1.6l-6-8Zm.66 4.213L21 18h-2.633l.174 1.387L16 16h2.633l-.174-1.387Z'></path>\",\"<path d='M2 7a3 3 0 0 1 3-3h22a3 3 0 0 1 3 3v12c0 .152-.011.301-.033.447l-5.725-6.44A3 3 0 0 0 21.971 12H12a1 1 0 1 0 0 2h7.172c-.166.467-.217.98-.131 1.493l.084.507H12a1 1 0 1 0 0 2h7a3 3 0 0 0-2.828 4H5a3 3 0 0 1-3-3V7Zm4 1.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5Zm.5 3.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2ZM6 16.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5ZM12 8a1 1 0 1 0 0 2h13a1 1 0 1 0 0-2H12Z'></path><path d='M22.747 14.336a1 1 0 0 0-1.733.828L21.82 20H19a1 1 0 0 0-.747 1.664l8 9a1 1 0 0 0 1.733-.828L27.18 25H30a1 1 0 0 0 .747-1.664l-8-9Zm.81 3.92L27.773 23H24.82l.623 3.744L21.227 22h2.953l-.623-3.744Z'></path>\"],[\"<path d='M1.5 0A1.5 1.5 0 0 0 0 1.5v6A1.5 1.5 0 0 0 1.5 9h4.25l-.45-.6a1.498 1.498 0 0 1-.214-.4H1.5a.5.5 0 0 1-.5-.5v-6a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v4.833l.992 1.323c.005-.051.008-.103.008-.156v-6A1.5 1.5 0 0 0 10.5 0h-9Z'></path><path d='M8.026 4.077c.157-.052.318-.077.477-.077H5.5a.5.5 0 0 0 0 1h1.586a1.5 1.5 0 0 1 .94-.923ZM5.5 2a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4ZM2.25 2a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h1.5A.25.25 0 0 0 4 2.75v-.5A.25.25 0 0 0 3.75 2h-1.5ZM2 4.25A.25.25 0 0 1 2.25 4h1.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-1.5A.25.25 0 0 1 2 4.75v-.5ZM2.25 6a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h1.5A.25.25 0 0 0 4 6.75v-.5A.25.25 0 0 0 3.75 6h-1.5Zm6.65-.8a.5.5 0 0 0-.9.3V7H6.5a.5.5 0 0 0-.4.8l3 4a.5.5 0 0 0 .9-.3V10h1.5a.5.5 0 0 0 .4-.8l-3-4ZM9 7l1.5 2H9v1L7.5 8H9V7Z'></path>\",\"<path d='M1 2.5A1.5 1.5 0 0 1 2.5 1h11A1.5 1.5 0 0 1 15 2.5v6.976l-1-1.25V2.5a.5.5 0 0 0-.5-.5h-11a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h5.586c.055.156.136.304.243.437l.45.563H2.5A1.5 1.5 0 0 1 1 10.5v-8Z'></path><path d='M6.5 6h4.999a1.497 1.497 0 0 0-1.413 1H6.5a.5.5 0 0 1 0-1Zm0 2h3.563l.166 1H6.5a.5.5 0 0 1 0-1ZM6 4.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5ZM3.25 4a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h1.5A.25.25 0 0 0 5 4.75v-.5A.25.25 0 0 0 4.75 4h-1.5ZM3 6.25A.25.25 0 0 1 3.25 6h1.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-1.5A.25.25 0 0 1 3 6.75v-.5ZM3.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h1.5A.25.25 0 0 0 5 8.75v-.5A.25.25 0 0 0 4.75 8h-1.5Z'></path><path d='M11.89 7.188a.5.5 0 0 0-.883.394L11.41 10H9.5a.5.5 0 0 0-.39.812l4 5a.5.5 0 0 0 .883-.394L13.59 13h1.907a.5.5 0 0 0 .39-.812l-3.996-5Zm.42 2.125L14.456 12H12.41l.281 1.689L10.541 11h2.05l-.282-1.687Z'></path>\",\"<path d='M1 4a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v10l-2-2.666V4a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h7.75l1.5 2H4a3 3 0 0 1-3-3V4Z'></path><path d='M11 9h3.764A3 3 0 0 0 14 11h-3a1 1 0 1 1 0-2Zm0 4h.764A2.996 2.996 0 0 0 11 15a1 1 0 1 1 0-2ZM5 5.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1ZM5.5 9a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2ZM5 13.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1ZM11 5a1 1 0 1 0 0 2h7a1 1 0 1 0 0-2h-7Zm6.8 5.4a1 1 0 0 0-1.792.724l.36 2.876H14a1 1 0 0 0-.8 1.6l6 8a1 1 0 0 0 1.792-.724L20.632 20H23a1 1 0 0 0 .8-1.6l-6-8Zm.66 4.213L21 18h-2.633l.174 1.387L16 16h2.633l-.174-1.387Z'></path>\",\"<path d='M2 7a3 3 0 0 1 3-3h22a3 3 0 0 1 3 3v12c0 .152-.011.301-.033.447L28 17.235V7a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h11.172a3 3 0 0 0 0 2H5a3 3 0 0 1-3-3V7Z'></path><path d='M12 12h9.999a2.998 2.998 0 0 0-2.827 2H12a1 1 0 1 1 0-2Zm0 4h7.125l.334 2H12a1 1 0 1 1 0-2ZM6 8.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1Zm.5 3.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2ZM6 16.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1ZM12 8a1 1 0 1 0 0 2h13a1 1 0 1 0 0-2H12Z'></path><path d='M22.747 14.336a1 1 0 0 0-1.733.828L21.82 20H19a1 1 0 0 0-.747 1.664l8 9a1 1 0 0 0 1.733-.828L27.18 25H30a1 1 0 0 0 .747-1.664l-8-9Zm.81 3.92L27.773 23H24.82l.623 3.744L21.227 22h2.953l-.623-3.744Z'></path>\"]];","export default [[\"M10 4h.5a.5.5 0 0 0 .5-.5v-1A1.5 1.5 0 0 0 9.5 1h-6A1.5 1.5 0 0 0 2 2.5V8H.5a.5.5 0 0 0-.5.5v1A1.5 1.5 0 0 0 1.5 11h7A1.5 1.5 0 0 0 10 9.5V4ZM3.5 2a.5.5 0 0 0-.5.5v7c0 .175-.03.344-.085.5H8.5a.5.5 0 0 0 .5-.5V4H4.5a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 0-.5-.5Z\",\"M11.5 14a1.5 1.5 0 0 0 1.5-1.5V5h1.5a.5.5 0 0 0 .5-.5v-2A1.5 1.5 0 0 0 13.5 1H6a2 2 0 0 0-2 2v7H1.5a.5.5 0 0 0-.5.5V12a2 2 0 0 0 2 2h8.5ZM6 2a1 1 0 0 0-1 1v9c0 .364-.097.706-.268 1H11.5a.5.5 0 0 0 .5-.5V5H7.5a.5.5 0 0 1-.5-.5V3a1 1 0 0 0-1-1Z\",\"M5 15V5a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v2a1 1 0 0 1-1 1h-2v12a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3v-4a1 1 0 0 1 1-1h3ZM7 5a1 1 0 0 1 2 0v2a1 1 0 0 0 1 1h8v12a1 1 0 0 1-1 1H6.83c.11-.313.17-.65.17-1V5Z\",\"M6 21V6a3 3 0 0 1 3-3h18a3 3 0 0 1 3 3v2a1 1 0 0 1-1 1h-2v17a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3v-4a1 1 0 0 1 1-1h3ZM8 6a1 1 0 1 1 2 0v2a1 1 0 0 0 1 1h14v17a1 1 0 0 1-1 1H7.83c.11-.313.17-.65.17-1V6Z\"],[\"M10 4h.5a.5.5 0 0 0 .5-.5v-1A1.5 1.5 0 0 0 9.5 1h-6A1.5 1.5 0 0 0 2 2.5V8H.5a.5.5 0 0 0-.5.5v1A1.5 1.5 0 0 0 1.5 11h7A1.5 1.5 0 0 0 10 9.5V4ZM3.5 2a.5.5 0 0 0-.5.5v7c0 .175-.03.344-.085.5H8.5a.5.5 0 0 0 .5-.5V4H4.5a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 0-.5-.5Zm-2 8a.5.5 0 0 1-.5-.5V9h1v.5a.5.5 0 0 1-.5.5Zm3.415-8c.055.156.085.325.085.5V3h5v-.5a.5.5 0 0 0-.5-.5H4.915Z\",\"M11.5 14a1.5 1.5 0 0 0 1.5-1.5V5h1.5a.5.5 0 0 0 .5-.5v-2A1.5 1.5 0 0 0 13.5 1H6a2 2 0 0 0-2 2v7H1.5a.5.5 0 0 0-.5.5V12a2 2 0 0 0 2 2h8.5ZM6 2a1 1 0 0 0-1 1v9c0 .364-.097.706-.268 1H11.5a.5.5 0 0 0 .5-.5V5H7.5a.5.5 0 0 1-.5-.5V3a1 1 0 0 0-1-1ZM3.002 13A1 1 0 0 0 4 12v-1H2v1a1 1 0 0 0 1 1M7.732 2c.17.294.268.636.268 1v1h6V2.5a.5.5 0 0 0-.5-.5H7.732Z\",\"M17 23a3 3 0 0 0 3-3V8h2a1 1 0 0 0 1-1V5a3 3 0 0 0-3-3H8a3 3 0 0 0-3 3v10H2a1 1 0 0 0-1 1v4a3 3 0 0 0 3 3h13ZM8 4a1 1 0 0 0-1 1v15c0 .35-.06.687-.17 1H17a1 1 0 0 0 1-1V8h-8a1 1 0 0 1-1-1V5a1 1 0 0 0-1-1ZM4 21h.002A1 1 0 0 0 5 20v-3H3v3a1 1 0 0 0 1 1Zm6.83-17c.11.313.17.65.17 1v1h10V5a1 1 0 0 0-1-1h-9.17Z\",\"M24 29a3 3 0 0 0 3-3V9h2a1 1 0 0 0 1-1V6a3 3 0 0 0-3-3H9a3 3 0 0 0-3 3v15H3a1 1 0 0 0-1 1v4a3 3 0 0 0 3 3h19ZM9 5a1 1 0 0 0-1 1v20c0 .35-.06.687-.17 1H24a1 1 0 0 0 1-1V9H11a1 1 0 0 1-1-1V6a1 1 0 0 0-1-1ZM5 27h.002A1 1 0 0 0 6 26v-3H4v3a1 1 0 0 0 1 1Zm6.83-22c.11.313.17.65.17 1v1h16V6a1 1 0 0 0-1-1H11.83Z\"]];","export default [[\"<path d='M3 1.5a.5.5 0 0 1 1 0v1a.5.5 0 0 0 .5.5H9v1.027c.347.039.682.117 1 .23V3h.5a.5.5 0 0 0 .5-.5v-1A1.5 1.5 0 0 0 9.5 0h-6A1.5 1.5 0 0 0 2 1.5V7H.5a.5.5 0 0 0-.5.5v1A1.5 1.5 0 0 0 1.5 10h2.756a4.474 4.474 0 0 1-.229-1H2.915C2.97 8.844 3 8.675 3 8.5v-7Zm3.646 7.354 1 1a.5.5 0 0 0 .708 0l2-2a.5.5 0 0 0-.708-.708L8 8.793l-.646-.647a.5.5 0 1 0-.708.708Z'></path><path d='M5 8.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM8.5 6a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path>\",\"<path d='M5 3a1 1 0 1 1 2 0v1.5a.5.5 0 0 0 .5.5H12v1.022a5.5 5.5 0 0 1 1 .185V5h1.5a.5.5 0 0 0 .5-.5v-2A1.5 1.5 0 0 0 13.5 1H6a2 2 0 0 0-2 2v7H1.5a.5.5 0 0 0-.5.5V12a2 2 0 0 0 2 2h3.6a5.465 5.465 0 0 1-.393-1H4.732A1.99 1.99 0 0 0 5 12V3Zm6.354 10.354 2.5-2.5a.5.5 0 0 0-.708-.708L11 12.293l-.646-.647a.5.5 0 0 0-.708.708l1 1a.5.5 0 0 0 .708 0Z'></path><path d='M7 11.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM11.5 8a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M8 3a1 1 0 0 0-1 1v15c0 .35-.06.687-.17 1h1.682c.252.712.59 1.383 1.004 2H4a3 3 0 0 1-3-3v-4a1 1 0 0 1 1-1h3V4a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v2a1 1 0 0 1-1 1h-2v1.512a8.946 8.946 0 0 0-2-.457V7h-8a1 1 0 0 1-1-1V4a1 1 0 0 0-1-1Z'></path><path d='M20.207 16.207a1 1 0 0 0-1.414-1.414L16 17.586l-1.293-1.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l3.5-3.5Z'></path><path d='M10 17a7 7 0 1 1 14 0 7 7 0 0 1-14 0Zm7-5a5 5 0 1 0 0 10 5 5 0 0 0 0-10Z'></path>\",\"<path d='M9 5a1 1 0 0 0-1 1v20c0 .35-.06.687-.17 1h4.37a10.96 10.96 0 0 0 1.314 2H5a3 3 0 0 1-3-3v-4a1 1 0 0 1 1-1h3V6a3 3 0 0 1 3-3h18a3 3 0 0 1 3 3v2a1 1 0 0 1-1 1h-2v3.2a10.924 10.924 0 0 0-2-.786V9H11a1 1 0 0 1-1-1V6a1 1 0 0 0-1-1Z'></path><path d='M26.707 20.707a1 1 0 0 0-1.414-1.414L20.5 24.086l-1.793-1.793a1 1 0 0 0-1.414 1.414l2.5 2.5a1 1 0 0 0 1.414 0l5.5-5.5Z'></path><path d='M13 22a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"],[\"<path d='M3 1.5a.5.5 0 0 1 1 0v1a.5.5 0 0 0 .5.5H9v1.027c.347.039.682.117 1 .23V3h.5a.5.5 0 0 0 .5-.5v-1A1.5 1.5 0 0 0 9.5 0h-6A1.5 1.5 0 0 0 2 1.5V7H.5a.5.5 0 0 0-.5.5v1A1.5 1.5 0 0 0 1.5 10h2.756a4.474 4.474 0 0 1-.229-1H2.915C2.97 8.844 3 8.675 3 8.5v-7ZM1.501 9A.5.5 0 0 1 1 8.5V8h1v.5a.5.5 0 0 1-.499.5ZM5 1.5c0-.175-.03-.344-.085-.5H9.5a.5.5 0 0 1 .5.5V2H5v-.5Zm1.646 7.354 1 1a.5.5 0 0 0 .708 0l2-2a.5.5 0 0 0-.708-.708L8 8.793l-.646-.647a.5.5 0 1 0-.708.708Z'></path><path d='M5 8.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM8.5 6a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path>\",\"<path d='M6.6 14H3a2 2 0 0 1-2-2v-1.5a.5.5 0 0 1 .5-.5H4V3a2 2 0 0 1 2-2h7.5A1.5 1.5 0 0 1 15 2.5v2a.5.5 0 0 1-.5.5H13v1.207a5.48 5.48 0 0 0-1-.185V5H7.5a.5.5 0 0 1-.5-.5V3a1 1 0 0 0-2 0v9c0 .364-.097.706-.268 1h1.475c.099.349.23.683.393 1ZM2 12a1 1 0 0 0 1 1h.002A1 1 0 0 0 4 12v-1H2v1ZM13.5 2H7.732c.17.294.268.636.268 1v1h6V2.5a.5.5 0 0 0-.5-.5Zm-2.146 11.354 2.5-2.5a.5.5 0 0 0-.708-.708L11 12.293l-.646-.647a.5.5 0 0 0-.708.708l1 1a.5.5 0 0 0 .708 0Z'></path><path d='M7 11.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM11.5 8a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M7 4a1 1 0 0 1 2 0v2a1 1 0 0 0 1 1h8v1.055a8.946 8.946 0 0 1 2 .457V7h2a1 1 0 0 0 1-1V4a3 3 0 0 0-3-3H8a3 3 0 0 0-3 3v10H2a1 1 0 0 0-1 1v4a3 3 0 0 0 3 3h5.516a8.966 8.966 0 0 1-1.004-2H6.83c.11-.313.171-.65.171-1V4ZM4.002 20H4a1 1 0 0 1-1-1v-3h2v3a1 1 0 0 1-.998 1ZM11 4c0-.35-.06-.687-.17-1H20a1 1 0 0 1 1 1v1H11V4Z'></path><path d='M20.207 16.207a1 1 0 0 0-1.414-1.414L16 17.586l-1.293-1.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l3.5-3.5Z'></path><path d='M10 17a7 7 0 1 1 14 0 7 7 0 0 1-14 0Zm7-5a5 5 0 1 0 0 10 5 5 0 0 0 0-10Z'></path>\",\"<path d='M8 6a1 1 0 1 1 2 0v2a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V6a3 3 0 0 0-3-3H9a3 3 0 0 0-3 3v15H3a1 1 0 0 0-1 1v4a3 3 0 0 0 3 3h8.514a11.017 11.017 0 0 1-1.315-2H7.83c.11-.313.171-.65.171-1V6ZM5.002 27H5a1 1 0 0 1-1-1v-3h2v3a1 1 0 0 1-.998 1ZM12 6c0-.35-.06-.687-.17-1H27a1 1 0 0 1 1 1v1H12V6Z'></path><path d='M27 12.2V9h-2v2.414c.697.197 1.366.462 2 .785Zm-.293 8.507a1 1 0 0 0-1.414-1.414L20.5 24.086l-1.793-1.793a1 1 0 0 0-1.414 1.414l2.5 2.5a1 1 0 0 0 1.414 0l5.5-5.5Z'></path><path d='M13 22a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"]];","export default [[\"<path d='M3.5 1a.5.5 0 0 0-.5.5v7c0 .175-.03.344-.085.5h3.428l.1 1H1.5A1.5 1.5 0 0 1 0 8.5v-1A.5.5 0 0 1 .5 7H2V1.5A1.5 1.5 0 0 1 3.5 0h6A1.5 1.5 0 0 1 11 1.5v1a.5.5 0 0 1-.5.5H10v2.5l-1-.75V3H4.5a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 0-.5-.5Z'></path><path d='M7.254 5.064A.5.5 0 0 1 7.8 5.1l4 3a.5.5 0 0 1-.142.874l-.842.281L11.9 10.7a.5.5 0 0 1-.176.747l-1 .5a.5.5 0 0 1-.624-.147l-1.154-1.539-.592.593a.5.5 0 0 1-.852-.304l-.5-5a.5.5 0 0 1 .252-.486Z'></path>\",\"<path d='M6 2a1 1 0 0 0-1 1v9c0 .364-.097.706-.268 1h4.25l.036.228a1.5 1.5 0 0 0 .364.772H3a2 2 0 0 1-2-2v-1.5a.5.5 0 0 1 .5-.5H4V3a2 2 0 0 1 2-2h7.5A1.5 1.5 0 0 1 15 2.5v2a.5.5 0 0 1-.5.5H13v2.379l-1-.8V5H7.5a.5.5 0 0 1-.5-.5V3a1 1 0 0 0-1-1Z'></path><path d='M9.25 6.067a.5.5 0 0 1 .562.043l5 4a.5.5 0 0 1-.035.806l-1.084.723 1.723 2.584a.5.5 0 0 1-.192.724l-1 .5a.5.5 0 0 1-.64-.17l-1.723-2.584-1.084.723a.5.5 0 0 1-.771-.34l-1-6.5a.5.5 0 0 1 .244-.509Z'></path>\",\"<path d='M7 4a1 1 0 0 1 2 0v2a1 1 0 0 0 1 1h8v2.128l2 1.857V7h2a1 1 0 0 0 1-1V4a3 3 0 0 0-3-3H8a3 3 0 0 0-3 3v10H2a1 1 0 0 0-1 1v4a3 3 0 0 0 3 3h13c.487 0 .947-.116 1.353-.322l-.247-.495-.212.106A2 2 0 0 1 15.065 20H6.829c.11-.313.171-.65.171-1V4Z'></path><path d='M15.776 9.553a.5.5 0 0 1 .564.08l7 6.5a.5.5 0 0 1-.116.814l-1.553.777 1.776 3.552a.5.5 0 0 1-.223.671l-2 1a.5.5 0 0 1-.671-.223l-1.777-3.553-1.552.776a.5.5 0 0 1-.721-.395l-1-9.5a.5.5 0 0 1 .273-.5Z'></path>\",\"<path d='M8 6a1 1 0 1 1 2 0v2a1 1 0 0 0 1 1h14v5.672l2 2V9h2a1 1 0 0 0 1-1V6a3 3 0 0 0-3-3H9a3 3 0 0 0-3 3v15H3a1 1 0 0 0-1 1v4a3 3 0 0 0 3 3h17.497a1.999 1.999 0 0 1-1.997-2H7.83c.11-.313.17-.65.17-1V6Z'></path><path d='M22.309 14.538a.5.5 0 0 1 .545.108l8 8a.5.5 0 0 1-.136.804l-2.343 1.132 2.078 4.477a.5.5 0 0 1-.216.65l-2.286 1.231a.5.5 0 0 1-.69-.23l-2.072-4.46-2.47 1.2A.5.5 0 0 1 22 27V15a.5.5 0 0 1 .309-.462Z'></path>\"],[\"<path d='M3.5 1a.5.5 0 0 0-.5.5v7c0 .175-.03.344-.085.5h3.428l.1 1H1.5A1.5 1.5 0 0 1 0 8.5v-1A.5.5 0 0 1 .5 7H2V1.5A1.5 1.5 0 0 1 3.5 0h6A1.5 1.5 0 0 1 11 1.5v1a.5.5 0 0 1-.5.5H10v2.5l-1-.75V3H4.5a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 0-.5-.5Zm-2 8a.5.5 0 0 0 .5-.5V8H1v.5a.5.5 0 0 0 .5.5Zm3.415-8c.055.156.085.325.085.5V2h5v-.5a.5.5 0 0 0-.5-.5H4.915Z'></path><path d='M7.254 5.064A.5.5 0 0 1 7.8 5.1l4 3a.5.5 0 0 1-.142.874l-.842.281L11.9 10.7a.5.5 0 0 1-.176.747l-1 .5a.5.5 0 0 1-.624-.147l-1.154-1.539-.592.593a.5.5 0 0 1-.852-.304l-.5-5a.5.5 0 0 1 .252-.486Z'></path>\",\"<path d='M6 2a1 1 0 0 0-1 1v9c0 .364-.097.706-.268 1h4.25l.036.228a1.5 1.5 0 0 0 .364.772H3a2 2 0 0 1-2-2v-1.5a.5.5 0 0 1 .5-.5H4V3a2 2 0 0 1 2-2h7.5A1.5 1.5 0 0 1 15 2.5v2a.5.5 0 0 1-.5.5H13v2.379l-1-.8V5H7.5a.5.5 0 0 1-.5-.5V3a1 1 0 0 0-1-1ZM3.002 13A1 1 0 0 0 4 12v-1H2v1a1 1 0 0 0 1 1h.002Zm4.73-11c.17.294.268.636.268 1v1h6V2.5a.5.5 0 0 0-.5-.5H7.732Z'></path><path d='M9.25 6.067a.5.5 0 0 1 .562.043l5 4a.5.5 0 0 1-.035.806l-1.084.723 1.723 2.584a.5.5 0 0 1-.192.724l-1 .5a.5.5 0 0 1-.64-.17l-1.723-2.584-1.084.723a.5.5 0 0 1-.771-.34l-1-6.5a.5.5 0 0 1 .244-.509Z'></path>\",\"<path d='M8 3a1 1 0 0 0-1 1v15c0 .35-.06.687-.17 1h8.233a2 2 0 0 0 2.832 1.289l.21-.106.248.495A2.987 2.987 0 0 1 17 22H4a3 3 0 0 1-3-3v-4a1 1 0 0 1 1-1h3V4a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v2a1 1 0 0 1-1 1h-2v3.985l-2-1.857V7h-8a1 1 0 0 1-1-1V4a1 1 0 0 0-1-1ZM4 20h.002A1 1 0 0 0 5 19v-3H3v3a1 1 0 0 0 1 1Zm6.83-17c.11.313.17.65.17 1v1h10V4a1 1 0 0 0-1-1h-9.17Z'></path><path d='M15.776 9.553a.5.5 0 0 1 .564.08l7 6.5a.5.5 0 0 1-.116.814l-1.553.777 1.776 3.552a.5.5 0 0 1-.223.671l-2 1a.5.5 0 0 1-.671-.223l-1.777-3.553-1.552.776a.5.5 0 0 1-.721-.395l-1-9.5a.5.5 0 0 1 .273-.5Z'></path>\",\"<path d='M9 5a1 1 0 0 0-1 1v20c0 .35-.06.687-.17 1H20.5a2 2 0 0 0 1.997 2H5a3 3 0 0 1-3-3v-4a1 1 0 0 1 1-1h3V6a3 3 0 0 1 3-3h18a3 3 0 0 1 3 3v2a1 1 0 0 1-1 1h-2v7.672l-2-2V9H11a1 1 0 0 1-1-1V6a1 1 0 0 0-1-1ZM5 27h.002A1 1 0 0 0 6 26v-3H4v3a1 1 0 0 0 1 1Zm6.83-22c.11.313.17.65.17 1v1h16V6a1 1 0 0 0-1-1H11.83Z'></path><path d='M22.309 14.538a.5.5 0 0 1 .545.108l8 8a.5.5 0 0 1-.136.804l-2.343 1.132 2.078 4.477a.5.5 0 0 1-.216.65l-2.286 1.231a.5.5 0 0 1-.69-.23l-2.072-4.46-2.47 1.2A.5.5 0 0 1 22 27V15a.5.5 0 0 1 .309-.462Z'></path>\"]];","export default [[\"<path d='M3.5 1a.5.5 0 0 0-.5.5v7c0 .175-.03.344-.085.5H4.05c.076.357.234.7.475 1H1.5A1.5 1.5 0 0 1 0 8.5v-1A.5.5 0 0 1 .5 7H2V1.5A1.5 1.5 0 0 1 3.5 0h6A1.5 1.5 0 0 1 11 1.5v1a.5.5 0 0 1-.5.5H10v1.522c-.3-.24-.643-.398-1-.474V3H4.5a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 0-.5-.5Z'></path><path d='M9.49 5.408a1.4 1.4 0 0 0-1.98 0L5.408 7.51a1.4 1.4 0 0 0 0 1.98l2.102 2.102a1.4 1.4 0 0 0 1.98 0l2.102-2.102a1.4 1.4 0 0 0 0-1.98L9.49 5.408Zm-1.273.707a.4.4 0 0 1 .566 0l2.102 2.102a.4.4 0 0 1 0 .566l-2.102 2.102a.4.4 0 0 1-.566 0L6.115 8.783a.4.4 0 0 1 0-.566l2.102-2.102Z'></path>\",\"<path d='M6 2a1 1 0 0 0-1 1v9c0 .364-.097.706-.268 1h1.792c.055.068.114.134.177.197l.803.803H3a2 2 0 0 1-2-2v-1.5a.5.5 0 0 1 .5-.5H4V3a2 2 0 0 1 2-2h7.5A1.5 1.5 0 0 1 15 2.5v2a.5.5 0 0 1-.5.5H13v1.524c-.3-.24-.643-.398-1-.474V5H7.5a.5.5 0 0 1-.5-.5V3a1 1 0 0 0-1-1Z'></path><path d='M7.408 12.49a1.4 1.4 0 0 1 0-1.98l3.102-3.102a1.4 1.4 0 0 1 1.98 0l3.102 3.102a1.4 1.4 0 0 1 0 1.98l-3.102 3.102a1.4 1.4 0 0 1-1.98 0L7.408 12.49Zm.707-1.273a.4.4 0 0 0 0 .566l3.102 3.102a.4.4 0 0 0 .566 0l3.102-3.102a.4.4 0 0 0 0-.566l-3.102-3.102a.4.4 0 0 0-.566 0l-3.102 3.102Z'></path>\",\"<path d='M7 4a1 1 0 0 1 2 0v2a1 1 0 0 0 1 1h8v1.085c.702.13 1.384.4 2 .808V7h2a1 1 0 0 0 1-1V4a3 3 0 0 0-3-3H8a3 3 0 0 0-3 3v10H2a1 1 0 0 0-1 1v4a3 3 0 0 0 3 3h6.755l-1.182-1.185A5.43 5.43 0 0 1 8.905 20H6.829c.11-.313.171-.65.171-1V4Z'></path><path d='M19.423 23.03a3.4 3.4 0 0 1-4.816.001l-3.617-3.628a3.4 3.4 0 0 1 .007-4.809l3.62-3.606a3.4 3.4 0 0 1 4.8 0l3.615 3.604a3.4 3.4 0 0 1 .009 4.808l-3.618 3.63Zm-3.4-1.41a1.4 1.4 0 0 0 1.983-.001l3.618-3.63a1.4 1.4 0 0 0-.004-1.98l-3.615-3.605a1.4 1.4 0 0 0-1.977 0l-3.619 3.607a1.4 1.4 0 0 0-.003 1.98l3.617 3.628Z'></path>\",\"<path d='M8 6a1 1 0 1 1 2 0v2a1 1 0 0 0 1 1h14v2.89c.288.192.56.415.815.668L27 13.74V9h2a1 1 0 0 0 1-1V6a3 3 0 0 0-3-3H9a3 3 0 0 0-3 3v15H3a1 1 0 0 0-1 1v4a3 3 0 0 0 3 3h10.775l-1.994-2H7.83c.11-.313.171-.65.171-1V6Z'></path><path d='M24.408 29.995a3.4 3.4 0 0 1-4.816.001l-5.606-5.623a3.4 3.4 0 0 1 .008-4.81l5.608-5.589a3.4 3.4 0 0 1 4.8 0l5.605 5.587a3.4 3.4 0 0 1 .008 4.808l-5.607 5.626Zm-3.4-1.411a1.4 1.4 0 0 0 1.984 0l5.606-5.627a1.4 1.4 0 0 0-.003-1.98l-5.604-5.586a1.4 1.4 0 0 0-1.977 0l-5.609 5.59a1.4 1.4 0 0 0-.003 1.98l5.606 5.623Z'></path>\"],[\"<path d='M3.5 1a.5.5 0 0 0-.5.5v7c0 .175-.03.344-.085.5H4.05c.076.357.234.7.475 1H1.5A1.5 1.5 0 0 1 0 8.5v-1A.5.5 0 0 1 .5 7H2V1.5A1.5 1.5 0 0 1 3.5 0h6A1.5 1.5 0 0 1 11 1.5v1a.5.5 0 0 1-.5.5H10v1.522c-.3-.24-.643-.398-1-.474V3H4.5a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 0-.5-.5Zm-2 8a.5.5 0 0 0 .5-.5V8H1v.5a.5.5 0 0 0 .5.5Zm3.415-8c.055.156.085.325.085.5V2h5v-.5a.5.5 0 0 0-.5-.5H4.915Z'></path><path d='M9.49 5.408a1.4 1.4 0 0 0-1.98 0L5.408 7.51a1.4 1.4 0 0 0 0 1.98l2.102 2.102a1.4 1.4 0 0 0 1.98 0l2.102-2.102a1.4 1.4 0 0 0 0-1.98L9.49 5.408Zm-1.273.707a.4.4 0 0 1 .566 0l2.102 2.102a.4.4 0 0 1 0 .566l-2.102 2.102a.4.4 0 0 1-.566 0L6.115 8.783a.4.4 0 0 1 0-.566l2.102-2.102Z'></path>\",\"<path d='M6 2a1 1 0 0 0-1 1v9c0 .364-.097.706-.268 1h1.792c.055.068.114.134.177.197l.803.803H3a2 2 0 0 1-2-2v-1.5a.5.5 0 0 1 .5-.5H4V3a2 2 0 0 1 2-2h7.5A1.5 1.5 0 0 1 15 2.5v2a.5.5 0 0 1-.5.5H13v1.524c-.3-.24-.643-.398-1-.474V5H7.5a.5.5 0 0 1-.5-.5V3a1 1 0 0 0-1-1ZM3.002 13A1 1 0 0 0 4 12v-1H2v1a1 1 0 0 0 1 1h.002Zm4.73-11c.17.294.268.636.268 1v1h6V2.5a.5.5 0 0 0-.5-.5H7.732Z'></path><path d='M7.408 12.49a1.4 1.4 0 0 1 0-1.98l3.102-3.102a1.4 1.4 0 0 1 1.98 0l3.102 3.102a1.4 1.4 0 0 1 0 1.98l-3.102 3.102a1.4 1.4 0 0 1-1.98 0L7.408 12.49Zm.707-1.273a.4.4 0 0 0 0 .566l3.102 3.102a.4.4 0 0 0 .566 0l3.102-3.102a.4.4 0 0 0 0-.566l-3.102-3.102a.4.4 0 0 0-.566 0l-3.102 3.102Z'></path>\",\"<path d='M8 3a1 1 0 0 0-1 1v15c0 .35-.06.687-.17 1h2.075c.192.287.415.56.668.815L10.755 22H4a3 3 0 0 1-3-3v-4a1 1 0 0 1 1-1h3V4a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v2a1 1 0 0 1-1 1h-2v1.893a5.371 5.371 0 0 0-2-.808V7h-8a1 1 0 0 1-1-1V4a1 1 0 0 0-1-1ZM4 20h.002A1 1 0 0 0 5 19v-3H3v3a1 1 0 0 0 1 1Zm6.83-17c.11.313.17.65.17 1v1h10V4a1 1 0 0 0-1-1h-9.17Z'></path><path d='M19.423 23.03a3.4 3.4 0 0 1-4.816.001l-3.617-3.628a3.4 3.4 0 0 1 .007-4.809l3.62-3.606a3.4 3.4 0 0 1 4.8 0l3.615 3.604a3.4 3.4 0 0 1 .009 4.808l-3.618 3.63Zm-3.4-1.41a1.4 1.4 0 0 0 1.983-.001l3.618-3.63a1.4 1.4 0 0 0-.004-1.98l-3.615-3.605a1.4 1.4 0 0 0-1.977 0l-3.619 3.607a1.4 1.4 0 0 0-.003 1.98l3.617 3.628Z'></path>\",\"<path d='M9 5a1 1 0 0 0-1 1v20c0 .35-.06.687-.17 1h5.951l1.994 2H5a3 3 0 0 1-3-3v-4a1 1 0 0 1 1-1h3V6a3 3 0 0 1 3-3h18a3 3 0 0 1 3 3v2a1 1 0 0 1-1 1h-2v4.74l-1.185-1.182A5.434 5.434 0 0 0 25 11.89V9H11a1 1 0 0 1-1-1V6a1 1 0 0 0-1-1ZM5 27h.002A1 1 0 0 0 6 26v-3H4v3a1 1 0 0 0 1 1Zm6.83-22c.11.313.17.65.17 1v1h16V6a1 1 0 0 0-1-1H11.83Z'></path><path d='M24.408 29.995a3.4 3.4 0 0 1-4.816.001l-5.606-5.623a3.4 3.4 0 0 1 .008-4.81l5.608-5.589a3.4 3.4 0 0 1 4.8 0l5.605 5.587a3.4 3.4 0 0 1 .008 4.808l-5.607 5.626Zm-3.4-1.411a1.4 1.4 0 0 0 1.984 0l5.606-5.627a1.4 1.4 0 0 0-.003-1.98l-5.604-5.586a1.4 1.4 0 0 0-1.977 0l-5.609 5.59a1.4 1.4 0 0 0-.003 1.98l5.606 5.623Z'></path>\"]];","export default [[\"M1.5 0A1.5 1.5 0 0 0 0 1.5a.5.5 0 0 0 1 0 .5.5 0 0 1 .5-.5.5.5 0 0 0 0-1Zm8 11A1.5 1.5 0 0 0 11 9.5a.5.5 0 0 0-1 0 .5.5 0 0 1-.5.5.5.5 0 0 0 0 1ZM3 .5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1A.5.5 0 0 1 3 .5ZM6.5 0a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1ZM5 10.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1 0-1h1a.5.5 0 0 1 .5.5Zm2.5.5a.5.5 0 0 0 0-1h-1a.5.5 0 0 0 0 1h1ZM11 1.5A1.5 1.5 0 0 0 9.5 0a.5.5 0 0 0 0 1 .5.5 0 0 1 .5.5.5.5 0 0 0 1 0ZM1.5 11A1.5 1.5 0 0 1 0 9.5a.5.5 0 0 1 1 0 .5.5 0 0 0 .5.5.5.5 0 0 1 0 1Zm-1-8a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1A.5.5 0 0 1 .5 3ZM1 6.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM10.5 3a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Zm.5 3.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM3 2a1 1 0 0 0-1 1v2h3V2H3ZM2 8V6h3v3H3a1 1 0 0 1-1-1Zm6 1H6V6h3v2a1 1 0 0 1-1 1Zm1-6v2H6V2h2a1 1 0 0 1 1 1Z\",\"M1 2.5A1.5 1.5 0 0 1 2.5 1h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 1-1 0v-1Zm13 0A1.5 1.5 0 0 0 12.5 1h-1a.5.5 0 0 0 0 1h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 0 1 0v-1ZM2.5 14A1.5 1.5 0 0 1 1 12.5v-1a.5.5 0 0 1 1 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 1 0 1h-1ZM14 12.5a1.5 1.5 0 0 1-1.5 1.5h-1a.5.5 0 0 1 0-1h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 1 1 0v1ZM5.5 1a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5ZM5.5 13a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5Zm6-5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM13.5 5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM2 8.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM1.5 5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM4 3a1 1 0 0 0-1 1v3h4V3H4Zm0 9a1 1 0 0 1-1-1V8h4v4H4Zm8-1a1 1 0 0 1-1 1H8V8h4v3Zm0-7v3H8V3h3a1 1 0 0 1 1 1Z\",\"M8 3a1 1 0 0 1 1-1h1a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1Zm14 16a3 3 0 0 1-3 3h-1a1 1 0 1 1 0-2h1a1 1 0 0 0 1-1v-1a1 1 0 1 1 2 0v1Zm0-10a1 1 0 1 0-2 0v1a1 1 0 1 0 2 0V9ZM3 8a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0V9a1 1 0 0 1 1-1Zm6 14a1 1 0 1 1 0-2h1a1 1 0 1 1 0 2H9Zm4-19a1 1 0 0 1 1-1h1a1 1 0 1 1 0 2h-1a1 1 0 0 1-1-1Zm9 11a1 1 0 1 0-2 0v1a1 1 0 1 0 2 0v-1ZM3 13a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0v-1a1 1 0 0 1 1-1Zm11 9a1 1 0 1 1 0-2h1a1 1 0 1 1 0 2h-1Zm5-20a3 3 0 0 1 3 3v1a1 1 0 1 1-2 0V5a1 1 0 0 0-1-1h-1a1 1 0 1 1 0-2h1ZM5 2a3 3 0 0 0-3 3v1a1 1 0 0 0 2 0V5a1 1 0 0 1 1-1h1a1 1 0 1 0 0-2H5Zm0 20a3 3 0 0 1-3-3v-1a1 1 0 1 1 2 0v1a1 1 0 0 0 1 1h1a1 1 0 1 1 0 2H5ZM7 5a2 2 0 0 0-2 2v4h6V5H7Zm-2 8h6v6H7a2 2 0 0 1-2-2v-4Zm12 6h-4v-6h6v4a2 2 0 0 1-2 2ZM13 5v6h6V7a2 2 0 0 0-2-2h-4Z\",\"M3 6a3 3 0 0 1 3-3h2a1 1 0 0 1 0 2H6a1 1 0 0 0-1 1v2a1 1 0 0 1-2 0V6Zm26 20a3 3 0 0 1-3 3h-2a1 1 0 1 1 0-2h2a1 1 0 0 0 1-1v-2a1 1 0 1 1 2 0v2ZM26 3a3 3 0 0 1 3 3v2a1 1 0 1 1-2 0V6a1 1 0 0 0-1-1h-2a1 1 0 1 1 0-2h2ZM3 26a3 3 0 0 0 3 3h2a1 1 0 1 0 0-2H6a1 1 0 0 1-1-1v-2a1 1 0 1 0-2 0v2ZM13 5a1 1 0 1 1 0-2h1a1 1 0 1 1 0 2h-1Zm-1 23a1 1 0 0 0 1 1h1a1 1 0 1 0 0-2h-1a1 1 0 0 0-1 1ZM3 13a1 1 0 1 1 2 0v1a1 1 0 1 1-2 0v-1Zm25-1a1 1 0 0 0-1 1v1a1 1 0 1 0 2 0v-1a1 1 0 0 0-1-1ZM18 5a1 1 0 1 1 0-2h1a1 1 0 1 1 0 2h-1Zm-1 23a1 1 0 0 0 1 1h1a1 1 0 1 0 0-2h-1a1 1 0 0 0-1 1ZM3 18a1 1 0 1 1 2 0v1a1 1 0 1 1-2 0v-1Zm25-1a1 1 0 0 0-1 1v1a1 1 0 1 0 2 0v-1a1 1 0 0 0-1-1ZM9 7a2 2 0 0 0-2 2v6h8V7H9ZM7 17h8v8H9a2 2 0 0 1-2-2v-6Zm16 8h-6v-8h8v6a2 2 0 0 1-2 2ZM17 7v8h8V9a2 2 0 0 0-2-2h-6Z\"],[\"M1.5 0A1.5 1.5 0 0 0 0 1.5a.5.5 0 0 0 1 0 .5.5 0 0 1 .5-.5.5.5 0 0 0 0-1Zm8 11A1.5 1.5 0 0 0 11 9.5a.5.5 0 0 0-1 0 .5.5 0 0 1-.5.5.5.5 0 0 0 0 1ZM3 .5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1A.5.5 0 0 1 3 .5ZM6.5 0a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1ZM5 10.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1 0-1h1a.5.5 0 0 1 .5.5Zm2.5.5a.5.5 0 0 0 0-1h-1a.5.5 0 0 0 0 1h1ZM11 1.5A1.5 1.5 0 0 0 9.5 0a.5.5 0 0 0 0 1 .5.5 0 0 1 .5.5.5.5 0 0 0 1 0ZM1.5 11A1.5 1.5 0 0 1 0 9.5a.5.5 0 0 1 1 0 .5.5 0 0 0 .5.5.5.5 0 0 1 0 1Zm-1-8a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1A.5.5 0 0 1 .5 3ZM1 6.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM10.5 3a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Zm.5 3.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM9 8a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v5ZM3 3v2h2V3H3Zm0 3v2h2V6H3Zm3 0v2h2V6H6Zm2-1V3H6v2h2Z\",\"M1 2.5A1.5 1.5 0 0 1 2.5 1h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 1-1 0v-1Zm13 0A1.5 1.5 0 0 0 12.5 1h-1a.5.5 0 0 0 0 1h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 0 1 0v-1ZM2.5 14A1.5 1.5 0 0 1 1 12.5v-1a.5.5 0 0 1 1 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 1 0 1h-1ZM14 12.5a1.5 1.5 0 0 1-1.5 1.5h-1a.5.5 0 0 1 0-1h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 1 1 0v1ZM5.5 1a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5ZM5.5 13a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5Zm6-5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM13.5 5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM2 8.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM1.5 5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM3 4a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4Zm5 3h3V4H8v3Zm3 1H8v3h3V8ZM7 7V4H4v3h3ZM4 8v3h3V8H4Z\",\"M8 3a1 1 0 0 1 1-1h1a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1Zm14 16a3 3 0 0 1-3 3h-1a1 1 0 1 1 0-2h1a1 1 0 0 0 1-1v-1a1 1 0 1 1 2 0v1Zm0-10a1 1 0 1 0-2 0v1a1 1 0 1 0 2 0V9ZM3 8a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0V9a1 1 0 0 1 1-1Zm6 14a1 1 0 1 1 0-2h1a1 1 0 1 1 0 2H9Zm4-19a1 1 0 0 1 1-1h1a1 1 0 1 1 0 2h-1a1 1 0 0 1-1-1Zm9 11a1 1 0 1 0-2 0v1a1 1 0 1 0 2 0v-1ZM3 13a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0v-1a1 1 0 0 1 1-1Zm11 9a1 1 0 1 1 0-2h1a1 1 0 1 1 0 2h-1Zm5-20a3 3 0 0 1 3 3v1a1 1 0 1 1-2 0V5a1 1 0 0 0-1-1h-1a1 1 0 1 1 0-2h1ZM5 2a3 3 0 0 0-3 3v1a1 1 0 0 0 2 0V5a1 1 0 0 1 1-1h1a1 1 0 1 0 0-2H5Zm0 20a3 3 0 0 1-3-3v-1a1 1 0 1 1 2 0v1a1 1 0 0 0 1 1h1a1 1 0 1 1 0 2H5ZM17 5a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h10Zm-4 2v4h4V7h-4Zm0 10h4v-4h-4v4Zm-2-4H7v4h4v-4Zm0-2V7H7v4h4Z\",\"M3 6a3 3 0 0 1 3-3h2a1 1 0 0 1 0 2H6a1 1 0 0 0-1 1v2a1 1 0 0 1-2 0V6Zm26 20a3 3 0 0 1-3 3h-2a1 1 0 1 1 0-2h2a1 1 0 0 0 1-1v-2a1 1 0 1 1 2 0v2ZM26 3a3 3 0 0 1 3 3v2a1 1 0 1 1-2 0V6a1 1 0 0 0-1-1h-2a1 1 0 1 1 0-2h2ZM3 26a3 3 0 0 0 3 3h2a1 1 0 1 0 0-2H6a1 1 0 0 1-1-1v-2a1 1 0 1 0-2 0v2ZM13 5a1 1 0 1 1 0-2h1a1 1 0 1 1 0 2h-1Zm-1 23a1 1 0 0 0 1 1h1a1 1 0 1 0 0-2h-1a1 1 0 0 0-1 1ZM3 13a1 1 0 1 1 2 0v1a1 1 0 1 1-2 0v-1Zm25-1a1 1 0 0 0-1 1v1a1 1 0 1 0 2 0v-1a1 1 0 0 0-1-1ZM18 5a1 1 0 1 1 0-2h1a1 1 0 1 1 0 2h-1Zm-1 23a1 1 0 0 0 1 1h1a1 1 0 1 0 0-2h-1a1 1 0 0 0-1 1ZM3 18a1 1 0 1 1 2 0v1a1 1 0 1 1-2 0v-1Zm25-1a1 1 0 0 0-1 1v1a1 1 0 1 0 2 0v-1a1 1 0 0 0-1-1ZM7 9a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2V9Zm10 0v6h6V9h-6Zm-2 0H9v6h6V9Zm0 8H9v6h6v-6Zm2 0v6h6v-6h-6Z\"]];","export default [[\"<path d='M1.5 1a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h4a.5.5 0 0 1 0 1h-4A1.5 1.5 0 0 1 0 10.5v-9A1.5 1.5 0 0 1 1.5 0h9A1.5 1.5 0 0 1 12 1.5V5a.5.5 0 0 1-1 0V1.5a.5.5 0 0 0-.5-.5h-9Z'></path><path d='M6.8 4.1a.5.5 0 0 0-.798.45l.5 5a.5.5 0 0 0 .852.304l.592-.593L9.1 10.8a.5.5 0 0 0 .624.147l1-.5A.5.5 0 0 0 10.9 9.7L9.816 8.255l.842-.28A.5.5 0 0 0 10.8 7.1l-4-3Z'></path>\",\"<path d='M3.5 2A1.5 1.5 0 0 0 2 3.5v9A1.5 1.5 0 0 0 3.5 14H7a.5.5 0 0 1 0 1H3.5A2.5 2.5 0 0 1 1 12.5v-9A2.5 2.5 0 0 1 3.5 1h9A2.5 2.5 0 0 1 15 3.5v3a.5.5 0 0 1-1 0v-3A1.5 1.5 0 0 0 12.5 2h-9Z'></path><path d='M7.812 5.11a.5.5 0 0 0-.806.466l1 6.5a.5.5 0 0 0 .771.34l1.084-.723 1.723 2.584a.5.5 0 0 0 .64.17l1-.5a.5.5 0 0 0 .192-.724l-1.723-2.584 1.084-.723a.5.5 0 0 0 .035-.806l-5-4Z'></path>\",\"<path d='M5 4a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h6a1 1 0 1 1 0 2H5a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v6a1 1 0 1 1-2 0V5a1 1 0 0 0-1-1H5Z'></path><path d='M12.84 8.134a.5.5 0 0 0-.837.418l1 9.5a.5.5 0 0 0 .72.395l1.553-.776 1.777 3.553a.5.5 0 0 0 .67.223l2-1a.5.5 0 0 0 .224-.67l-1.776-3.553 1.553-.777a.5.5 0 0 0 .116-.813l-7-6.5Z'></path>\",\"<path d='M5 4a1 1 0 0 0-1 1v22a1 1 0 0 0 1 1h10a1 1 0 1 1 0 2H5a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h22a3 3 0 0 1 3 3v11a1 1 0 1 1-2 0V5a1 1 0 0 0-1-1H5Z'></path><path d='M17.854 11.146A.5.5 0 0 0 17 11.5v12a.5.5 0 0 0 .718.45l2.471-1.2 2.072 4.46a.5.5 0 0 0 .69.23l2.286-1.23a.5.5 0 0 0 .216-.651l-2.078-4.477 2.343-1.132a.5.5 0 0 0 .136-.803l-8-8Z'></path>\"]];","export default [[\"M10.606 6H2.182L1.028 9.336a.5.5 0 0 0 .675.62L10.606 6ZM2.182 5h8.424L1.703 1.043a.5.5 0 0 0-.675.62L2.182 5Z\",\"M14.61 8H2.806l-1.78 5.342a.5.5 0 0 0 .684.612L14.61 8ZM2.806 7H14.61L1.71 1.046a.5.5 0 0 0-.684.612L2.806 7Z\",\"M22.215 13H3.613L1.05 20.684a1 1 0 0 0 1.36 1.228L22.214 13ZM3.613 11h18.602L2.41 2.088a1 1 0 0 0-1.359 1.228L3.613 11Z\",\"M29.203 17H5.573L2.06 26.658a1 1 0 0 0 1.33 1.263L29.203 17ZM5.572 15h23.63L3.39 4.079a1 1 0 0 0-1.33 1.263L5.572 15Z\"],[\"M10.697 5.04 1.703 1.043a.5.5 0 0 0-.675.62L2.356 5.5 1.028 9.336a.5.5 0 0 0 .675.62l8.994-3.996A.506.506 0 0 0 11 5.5a.506.506 0 0 0-.303-.46ZM3.24 5l-.892-2.575L8.144 5H3.24Zm4.903 1H3.24l-.892 2.575L8.144 6Z\",\"M14.704 7.043 1.71 1.046a.5.5 0 0 0-.684.612L2.973 7.5l-1.947 5.842a.5.5 0 0 0 .684.612l12.994-5.997A.506.506 0 0 0 15 7.5a.505.505 0 0 0-.296-.457ZM3.86 7 2.34 2.438 12.223 7H3.86Zm8.364 1H3.86l-1.52 4.562L12.223 8Z\",\"M22.398 11.083 2.41 2.088a1 1 0 0 0-1.359 1.228L3.946 12 1.05 20.684a1 1 0 0 0 1.36 1.228l19.987-8.995a1.01 1.01 0 0 0 .602-.917c0-.4-.24-.76-.602-.917ZM5.721 11 3.67 4.848 17.34 11H5.721Zm11.62 2H5.721l-2.05 6.152L17.34 13Z\",\"M29.377 15.073 3.39 4.08a1 1 0 0 0-1.33 1.263L5.936 16 2.06 26.658a1 1 0 0 0 1.33 1.263l25.986-10.994c.372-.152.624-.526.624-.927s-.252-.775-.623-.927ZM7.7 15 4.724 6.815 24.07 15H7.7Zm16.37 2H7.7l-2.976 8.185L24.07 17Z\"]];","export default [[\"M3 1.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm8 0a1.5 1.5 0 0 1-2.147 1.354L6 5.707v2.378a1.5 1.5 0 1 1-1 0V5.707l-.425-.425a.5.5 0 0 1 .707-.707l.218.218 2.646-2.646A1.5 1.5 0 1 1 11 1.5ZM2.86 2.86a.5.5 0 0 1 .708 0l.571.572a.5.5 0 0 1-.707.707l-.571-.571a.5.5 0 0 1 0-.707ZM1.5 2a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\",\"M3.147 3.854a1.5 1.5 0 1 1 .707-.707l.4.4a.5.5 0 1 1-.708.707l-.4-.4ZM14 2.5a1.5 1.5 0 0 1-2.147 1.354L8 7.707v4.378a1.5 1.5 0 1 1-1 0V7.707l-.254-.253a.5.5 0 1 1 .708-.708l.046.047 3.646-3.646A1.5 1.5 0 1 1 14 2.5ZM5.454 4.746a.5.5 0 1 0-.708.708l.8.8a.5.5 0 1 0 .708-.708l-.8-.8ZM2.5 3a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z\",\"M5 1a3 3 0 1 0 1.11 5.788l.298.34A1 1 0 0 0 7.913 5.81l-.297-.34A3 3 0 0 0 5 1Zm14 0a3 3 0 0 0-2.616 4.47l-4.39 5.02a1 1 0 0 0-1.403 1.418l.409.468v4.795a3.001 3.001 0 1 0 2 0v-4.795l4.89-5.588A3 3 0 1 0 19 1ZM9.69 7.841a1 1 0 1 0-1.505 1.317l.766.876a1 1 0 1 0 1.505-1.318l-.766-.874ZM5 5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"M3 5a3 3 0 1 1 5.643 1.42l1.222 1.345a1 1 0 0 1-1.48 1.345L7.163 7.766A3 3 0 0 1 3 5Zm20 0a3 3 0 1 1 1.837 2.766L17 16.386v7.785a3.001 3.001 0 1 1-2 0v-7.784l-1.927-2.12a1 1 0 0 1 1.48-1.346L16 14.513l7.357-8.092A2.988 2.988 0 0 1 23 5ZM10.327 9.823a1 1 0 0 1 1.413.067l.625.687a1 1 0 0 1-1.48 1.346l-.625-.688a1 1 0 0 1 .067-1.412ZM6 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"]];","export default [[\"M0 2.5A1.5 1.5 0 0 1 1.5 1h8A1.5 1.5 0 0 1 11 2.5v2c0 .384-.144.735-.382 1 .238.265.382.616.382 1v2A1.5 1.5 0 0 1 9.5 10h-8A1.5 1.5 0 0 1 0 8.5v-2c0-.384.144-.735.382-1A1.494 1.494 0 0 1 0 4.5v-2Zm2 .75A.25.25 0 0 1 2.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 2 3.75v-.5Zm2 0A.25.25 0 0 1 4.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 4 3.75v-.5ZM6.5 3a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2ZM2 7.25A.25.25 0 0 1 2.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 2 7.75v-.5ZM4.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 5 7.75v-.5A.25.25 0 0 0 4.75 7h-.5ZM6 7.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Z\",\"M1 2.5A1.5 1.5 0 0 1 2.5 1h11A1.5 1.5 0 0 1 15 2.5v2c0 .384-.144.735-.382 1 .238.265.382.616.382 1v2c0 .384-.144.735-.382 1 .238.265.382.616.382 1v2a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 12.5v-2c0-.384.144-.735.382-1A1.494 1.494 0 0 1 1 8.5v-2c0-.384.144-.735.382-1A1.494 1.494 0 0 1 1 4.5v-2Zm2.25.5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 4 3.75v-.5A.25.25 0 0 0 3.75 3h-.5Zm2 0a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 3.75v-.5A.25.25 0 0 0 5.75 3h-.5ZM9 3.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5ZM3.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 4 7.75v-.5A.25.25 0 0 0 3.75 7h-.5ZM5 7.25A.25.25 0 0 1 5.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 5 7.75v-.5ZM9.5 7a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3ZM3 11.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5ZM5.25 11a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5Zm3.75.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Z\",\"M2 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v2c0 .768-.289 1.47-.764 2 .475.53.764 1.232.764 2v2c0 .768-.289 1.47-.764 2 .475.53.764 1.232.764 2v2a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 2 13v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 2 7V5Zm3 .5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm0 6a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm0 6a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm2-12a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm0 6a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm0 6a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm2-12a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm0 6a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm0 6a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1ZM12 6a1 1 0 0 1 1-1h5a1 1 0 1 1 0 2h-5a1 1 0 0 1-1-1Zm0 6a1 1 0 0 1 1-1h5a1 1 0 1 1 0 2h-5a1 1 0 0 1-1-1Zm0 6a1 1 0 0 1 1-1h5a1 1 0 1 1 0 2h-5a1 1 0 0 1-1-1Z\",\"M3 8a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v2c0 .768-.289 1.47-.764 2 .475.53.764 1.232.764 2v2c0 .768-.289 1.47-.764 2 .475.53.764 1.232.764 2v2a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 3 16v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 3 10V8Zm3 .5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm0 6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm0 6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3-12a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm0 6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm0 6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3-12a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm0 6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm0 6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM16 9a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2h-7a1 1 0 0 1-1-1Zm0 6a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2h-7a1 1 0 0 1-1-1Zm0 6a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2h-7a1 1 0 0 1-1-1Z\"],[\"M1.5 1A1.5 1.5 0 0 0 0 2.5v2c0 .384.144.735.382 1A1.494 1.494 0 0 0 0 6.5v2A1.5 1.5 0 0 0 1.5 10h8A1.5 1.5 0 0 0 11 8.5v-2c0-.384-.144-.735-.382-1 .238-.265.382-.616.382-1v-2A1.5 1.5 0 0 0 9.5 1h-8Zm0 5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-8ZM1 2.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-2Zm1 .75A.25.25 0 0 1 2.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 2 3.75v-.5ZM4.25 3a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 5 3.75v-.5A.25.25 0 0 0 4.75 3h-.5ZM6 3.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5ZM2.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 7.75v-.5A.25.25 0 0 0 2.75 7h-.5ZM4 7.25A.25.25 0 0 1 4.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 4 7.75v-.5ZM6.5 7a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Z\",\"<path d='M3 7.25A.25.25 0 0 1 3.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 3 7.75v-.5ZM5.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 7.75v-.5A.25.25 0 0 0 5.75 7h-.5ZM9 7.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5ZM3.25 11a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5Zm1.75.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5ZM9.5 11a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3ZM3.25 3a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 4 3.75v-.5A.25.25 0 0 0 3.75 3h-.5ZM5 3.25A.25.25 0 0 1 5.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 5 3.75v-.5ZM9.5 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Z'></path><path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v2c0 .384.144.735.382 1A1.494 1.494 0 0 0 1 6.5v2c0 .384.144.735.382 1a1.494 1.494 0 0 0-.382 1v2A1.5 1.5 0 0 0 2.5 14h11a1.5 1.5 0 0 0 1.5-1.5v-2c0-.384-.144-.735-.382-1 .238-.265.382-.616.382-1v-2c0-.384-.144-.735-.382-1 .238-.265.382-.616.382-1v-2A1.5 1.5 0 0 0 13.5 1h-11Zm11 8h-11a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5Zm-11 1h11a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5Zm0-5h11a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-11a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5Z'></path>\",\"<path d='M5.5 11a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Zm1.5.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm2.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Zm2.5 1a1 1 0 0 1 1-1h5a1 1 0 1 1 0 2h-5a1 1 0 0 1-1-1Zm-7 5.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm2.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Zm1.5.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm4-.5a1 1 0 1 0 0 2h5a1 1 0 1 0 0-2h-5ZM5 5.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1ZM7.5 5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Zm1.5.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm4-.5a1 1 0 1 0 0 2h5a1 1 0 1 0 0-2h-5Z'></path><path d='M2 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v2c0 .768-.289 1.47-.764 2 .475.53.764 1.232.764 2v2c0 .768-.289 1.47-.764 2 .475.53.764 1.232.764 2v2a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 2 13v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 2 7V5Zm2 8a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v2Zm16 4a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-2Zm-1-9H5a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1Z'></path>\",\"<path d='M6 20.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm5-.5a1 1 0 1 0 0 2h7a1 1 0 1 0 0-2h-7ZM6.5 14a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3.5 1a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2h-7a1 1 0 0 1-1-1ZM6 8.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM9.5 8a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm5-.5a1 1 0 1 0 0 2h7a1 1 0 1 0 0-2h-7Z'></path><path d='M3 8a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v2c0 .768-.289 1.47-.764 2 .475.53.764 1.232.764 2v2c0 .768-.289 1.47-.764 2 .475.53.764 1.232.764 2v2a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 3 16v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 3 10V8Zm3 11a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1H6Zm-1-5a1 1 0 0 1 1-1h20a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-2Zm1-7a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H6Z'></path>\"]];","export default [[\"<path d='M0 2.5A1.5 1.5 0 0 1 1.5 1h8A1.5 1.5 0 0 1 11 2.5v2c0 .187-.034.367-.097.532A2.518 2.518 0 0 0 10.5 5h-4A2.5 2.5 0 0 0 4 7.5V10H1.5A1.5 1.5 0 0 1 0 8.5v-2c0-.384.144-.735.382-1A1.494 1.494 0 0 1 0 4.5v-2Zm2.25.5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 3.75v-.5A.25.25 0 0 0 2.75 3h-.5Zm2 0a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 5 3.75v-.5A.25.25 0 0 0 4.75 3h-.5ZM6 3.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 0-1h-2a.5.5 0 0 0-.5.5ZM2.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 7.75v-.5A.25.25 0 0 0 2.75 7h-.5Z'></path><path d='M6.5 6A1.5 1.5 0 0 0 5 7.5v3A1.5 1.5 0 0 0 6.5 12h4a1.5 1.5 0 0 0 1.5-1.5v-3A1.5 1.5 0 0 0 10.5 6h-4ZM6 7.5a.5.5 0 0 1 .5-.5h2.75a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25H6v-.5Zm3.75.5a.25.25 0 0 0 .25-.25v-.5A.25.25 0 0 0 9.75 7h.75a.5.5 0 0 1 .5.5V8H9.75ZM6 10.5V9h5v1.5a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5Z'></path>\",\"<path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v2c0 .384.144.735.382 1A1.494 1.494 0 0 0 1 6.5v2c0 .384.144.735.382 1a1.494 1.494 0 0 0-.382 1v2A1.5 1.5 0 0 0 2.5 14H6v-2.25a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25V9.5A2.5 2.5 0 0 1 8.5 7h6c.171 0 .338.017.5.05V6.5c0-.384-.144-.735-.382-1 .238-.265.382-.616.382-1v-2A1.5 1.5 0 0 0 13.5 1h-11ZM3 3.25A.25.25 0 0 1 3.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 3 3.75v-.5Zm2 0A.25.25 0 0 1 5.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 5 3.75v-.5ZM9.5 3h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1ZM3 7.25A.25.25 0 0 1 3.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 3 7.75v-.5ZM5.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 5 7.75v-.5A.25.25 0 0 1 5.25 7Zm-2 4h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25Z'></path><path d='M7 9.5A1.5 1.5 0 0 1 8.5 8h6A1.5 1.5 0 0 1 16 9.5v5a1.5 1.5 0 0 1-1.5 1.5h-6A1.5 1.5 0 0 1 7 14.5v-5ZM8.5 9a.5.5 0 0 0-.5.5v.5h3.25a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25H8.5Zm6.5 1v-.5a.5.5 0 0 0-.5-.5h-.75a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25H15Zm-1.75-1h-1.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h1.5a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25ZM15 11H8v3.5a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5V11Z'></path>\",\"<path d='M4 1a3 3 0 0 0-3 3v2c0 .768.289 1.47.764 2A2.989 2.989 0 0 0 1 10v2c0 .768.289 1.47.764 2A2.989 2.989 0 0 0 1 16v2a3 3 0 0 0 3 3h4v-8a3 3 0 0 1 3-3h10c0-.768-.289-1.47-.764-2 .475-.53.764-1.232.764-2V4a3 3 0 0 0-3-3H4Zm0 3.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm0 6a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm.5 5.5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM6 4.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm.5 5.5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM6 16.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1ZM8.5 4a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM12 4h5a1 1 0 1 1 0 2h-5a1 1 0 1 1 0-2Z'></path><path d='M10 14a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H12a2 2 0 0 1-2-2v-8Zm10.25 0h-1.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25H12v2h10v-2h-1.25a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25ZM12 18v4h10v-4H12Z'></path>\",\"<path d='M5 4a3 3 0 0 0-3 3v2c0 .768.289 1.47.764 2A2.989 2.989 0 0 0 2 13v2c0 .768.289 1.47.764 2A2.989 2.989 0 0 0 2 19v2a3 3 0 0 0 3 3h6v-7c0-.768.289-1.47.764-2H11.5a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v.67c.313-.11.65-.17 1-.17h1a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1h4v-1c0-.768-.289-1.47-.764-2A2.99 2.99 0 0 0 28 9V7a3 3 0 0 0-3-3H5Zm.5 3h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5Zm0 6h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5ZM5 19.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM8.5 7h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5ZM8 13.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm.5 5.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5ZM11 7.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm5-.5h7a1 1 0 1 1 0 2h-7a1 1 0 1 1 0-2Z'></path><path d='M13 18a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H15a2 2 0 0 1-2-2V18Zm13.25 0h-1.5a.25.25 0 0 1 .25.25v1.5a.25.25 0 0 1-.25.25h-1.5a.25.25 0 0 1-.25-.25v-1.5a.25.25 0 0 1 .25-.25H15v3h14v-3h-1.25a.25.25 0 0 1 .25.25v1.5a.25.25 0 0 1-.25.25h-1.5a.25.25 0 0 1-.25-.25v-1.5a.25.25 0 0 1 .25-.25ZM29 23H15v6h14v-6Z'></path>\"],[\"<path d='M0 2.5A1.5 1.5 0 0 1 1.5 1h8A1.5 1.5 0 0 1 11 2.5v2c0 .187-.034.367-.097.532A2.518 2.518 0 0 0 10.5 5h-1a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-8a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h5c-.818 0-1.544.393-2 1h-3a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H4v1H1.5A1.5 1.5 0 0 1 0 8.5v-2c0-.384.144-.735.382-1A1.494 1.494 0 0 1 0 4.5v-2Z'></path><path d='M2.25 3a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 3.75v-.5A.25.25 0 0 0 2.75 3h-.5ZM4 3.25A.25.25 0 0 1 4.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 4 3.75v-.5ZM6.5 3a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2ZM2 7.25A.25.25 0 0 1 2.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 2 7.75v-.5ZM6.5 6A1.5 1.5 0 0 0 5 7.5v3A1.5 1.5 0 0 0 6.5 12h4a1.5 1.5 0 0 0 1.5-1.5v-3A1.5 1.5 0 0 0 10.5 6h-4ZM6 7.5a.5.5 0 0 1 .5-.5h2.75a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25H6v-.5Zm3.75.5a.25.25 0 0 0 .25-.25v-.5A.25.25 0 0 0 9.75 7h.75a.5.5 0 0 1 .5.5V8H9.75ZM6 10.5V9h5v1.5a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5Z'></path>\",\"<path d='M3 3.25A.25.25 0 0 1 3.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 3 3.75v-.5ZM5.25 3a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 3.75v-.5A.25.25 0 0 0 5.75 3h-.5ZM9 3.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Z'></path><path d='M1 2.5A1.5 1.5 0 0 1 2.5 1h11A1.5 1.5 0 0 1 15 2.5v2c0 .384-.144.735-.382 1 .238.265.382.616.382 1v.55a2.512 2.512 0 0 0-.5-.05H14v-.5a.5.5 0 0 0-.5-.5h-11a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h3.55c-.033.162-.05.329-.05.5v.5H2.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H6v1H2.5A1.5 1.5 0 0 1 1 12.5v-2c0-.384.144-.735.382-1A1.494 1.494 0 0 1 1 8.5v-2c0-.384.144-.735.382-1A1.494 1.494 0 0 1 1 4.5v-2ZM13.5 5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-11a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h11Z'></path><path d='M6 11.75v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25ZM3.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 4 7.75v-.5A.25.25 0 0 0 3.75 7h-.5ZM5 7.25A.25.25 0 0 1 5.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 5 7.75v-.5Zm-2 4a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5ZM7 9.5A1.5 1.5 0 0 1 8.5 8h6A1.5 1.5 0 0 1 16 9.5v5a1.5 1.5 0 0 1-1.5 1.5h-6A1.5 1.5 0 0 1 7 14.5v-5ZM8.5 9a.5.5 0 0 0-.5.5v.5h3.25a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25H8.5Zm6.5 1v-.5a.5.5 0 0 0-.5-.5h-.75a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25H15Zm-1.75-1h-1.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h1.5a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25ZM15 11H8v3.5a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5V11Z'></path>\",\"<path d='M4 4.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1ZM6.5 4a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Zm1.5.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm3 .5a1 1 0 0 1 1-1h5a1 1 0 1 1 0 2h-5a1 1 0 0 1-1-1Z'></path><path d='M1 4a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v2c0 .768-.289 1.47-.764 2 .475.53.764 1.232.764 2h-2a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h4v2H4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h4v2H4a3 3 0 0 1-3-3v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 1 12v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 1 6V4Zm18 2V4a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1Z'></path><path d='M4.5 10a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM4 16.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm2-6a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Zm3.5-2a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H12a2 2 0 0 1-2-2v-8Zm2 4v4h10v-4H12Zm0-4v2h10v-2h-1.25a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25h-1.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25H12Z'></path>\",\"<path d='M5.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM15 8a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2h-7a1 1 0 0 1-1-1Z'></path><path d='M5 4a3 3 0 0 0-3 3v2c0 .768.289 1.47.764 2A2.989 2.989 0 0 0 2 13v2c0 .768.289 1.47.764 2A2.989 2.989 0 0 0 2 19v2a3 3 0 0 0 3 3h6v-2H5a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1h6v-1c0-.35.06-.687.17-1H5a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1h20a1 1 0 0 1 1 1v1h2v-1c0-.768-.289-1.47-.764-2A2.99 2.99 0 0 0 28 9V7a3 3 0 0 0-3-3H5ZM4 7a1 1 0 0 1 1-1h20a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7Z'></path><path d='M24 14a1 1 0 0 0-1-1h-7a1 1 0 0 0-1 1h9Zm-11 .17v-.67a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h.264A3.01 3.01 0 0 1 13 14.17Zm-8-.67a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3-6a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM8 19.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm5-1.5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H15a2 2 0 0 1-2-2V18Zm13.25 0h-1.5a.25.25 0 0 1 .25.25v1.5a.25.25 0 0 1-.25.25h-1.5a.25.25 0 0 1-.25-.25v-1.5a.25.25 0 0 1 .25-.25H15v3h14v-3h-1.25a.25.25 0 0 1 .25.25v1.5a.25.25 0 0 1-.25.25h-1.5a.25.25 0 0 1-.25-.25v-1.5a.25.25 0 0 1 .25-.25ZM29 23H15v6h14v-6Z'></path>\"]];","export default [[\"<path d='M0 2.5A1.5 1.5 0 0 1 1.5 1h8A1.5 1.5 0 0 1 11 2.5v2c0 .083-.007.165-.02.245A4.48 4.48 0 0 0 8.5 4a.5.5 0 0 0 0-1h-2a.5.5 0 0 0 0 1h2a4.5 4.5 0 0 0-4.244 6H1.5A1.5 1.5 0 0 1 0 8.5v-2c0-.384.144-.735.382-1A1.494 1.494 0 0 1 0 4.5v-2Zm2 .75v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 3.75v-.5A.25.25 0 0 0 2.75 3h-.5a.25.25 0 0 0-.25.25Zm2 0v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 5 3.75v-.5A.25.25 0 0 0 4.75 3h-.5a.25.25 0 0 0-.25.25Zm-2 4v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 7.75v-.5A.25.25 0 0 0 2.75 7h-.5a.25.25 0 0 0-.25.25Zm7 .25a.5.5 0 0 0-1 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 0-1H9v-.5Z'></path><path d='M5 8.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM8.5 6a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path>\",\"<path d='M1 2.5A1.5 1.5 0 0 1 2.5 1h11A1.5 1.5 0 0 1 15 2.5v2c0 .384-.144.735-.382 1 .238.265.382.616.382 1v.757A5.5 5.5 0 0 0 6 11.5v-.25a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.25c0 .9.216 1.75.6 2.5H2.5A1.5 1.5 0 0 1 1 12.5v-2c0-.384.144-.735.382-1A1.494 1.494 0 0 1 1 8.5v-2c0-.384.144-.735.382-1A1.494 1.494 0 0 1 1 4.5v-2Zm2 .75v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 4 3.75v-.5A.25.25 0 0 0 3.75 3h-.5a.25.25 0 0 0-.25.25Zm2 0v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 3.75v-.5A.25.25 0 0 0 5.75 3h-.5a.25.25 0 0 0-.25.25ZM9.5 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3ZM3 7.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 4 7.75v-.5A.25.25 0 0 0 3.75 7h-.5a.25.25 0 0 0-.25.25ZM5.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 7.75v-.5A.25.25 0 0 0 5.75 7h-.5Zm-2 4a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5Z'></path><path d='M12 9.5a.5.5 0 0 0-1 0v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 0-1H12V9.5Z'></path><path d='M7 11.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM11.5 8a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M1 4a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v2c0 .768-.289 1.47-.764 2a3 3 0 0 1 .523.82A9 9 0 0 0 8.935 21H4a3 3 0 0 1-3-3v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 1 12v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 1 6V4Zm3 .5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-1 0Zm0 6v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-1 0Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM6 4.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-1 0Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM6 16.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-1 0ZM8.5 4a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM8 10.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-1 0ZM12 4a1 1 0 1 0 0 2h5a1 1 0 1 0 0-2h-5Z'></path><path d='M18 14a1 1 0 1 0-2 0v3a1 1 0 0 0 1 1h2a1 1 0 1 0 0-2h-1v-2Z'></path><path d='M10 17a7 7 0 1 1 14 0 7 7 0 0 1-14 0Zm7-5a5 5 0 1 0 0 10 5 5 0 0 0 0-10Z'></path>\",\"<path d='M2 7a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v2a2.99 2.99 0 0 1-.764 2c.428.478.705 1.094.756 1.773A10.949 10.949 0 0 0 22 11c-6.075 0-11 4.925-11 11 0 .683.062 1.351.181 2H5a3 3 0 0 1-3-3v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 2 15v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 2 9V7Zm3 .5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Zm0 6v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM8 7.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM8 19.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM11.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm-.5 6.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM16 7a1 1 0 1 0 0 2h7a1 1 0 1 0 0-2h-7Zm7 11a1 1 0 1 0-2 0v4a1 1 0 0 0 1 1h3a1 1 0 1 0 0-2h-2v-3Z'></path><path d='M13 22a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"],[\"<path d='M1.5 1A1.5 1.5 0 0 0 0 2.5v2c0 .384.144.735.382 1A1.494 1.494 0 0 0 0 6.5v2A1.5 1.5 0 0 0 1.5 10h2.756a4.474 4.474 0 0 1-.229-1H1.5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h3.258c.253-.378.561-.715.913-1H1.5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v1.756c.348.123.677.288.98.489.013-.08.02-.162.02-.245v-2A1.5 1.5 0 0 0 9.5 1h-8Z'></path><path d='M8.5 4a.5.5 0 0 0 0-1h-2a.5.5 0 0 0 0 1h2ZM2 3.25A.25.25 0 0 1 2.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 2 3.75v-.5ZM4.25 3a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 5 3.75v-.5A.25.25 0 0 0 4.75 3h-.5Zm-2 4a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 7.75v-.5A.25.25 0 0 0 2.75 7h-.5ZM9 7.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 0-1H9v-.5Z'></path><path d='M5 8.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM8.5 6a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path>\",\"<path d='M3 3.25A.25.25 0 0 1 3.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 3 3.75v-.5ZM5.25 3a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 3.75v-.5A.25.25 0 0 0 5.75 3h-.5ZM9 3.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Z'></path><path d='M1 2.5A1.5 1.5 0 0 1 2.5 1h11A1.5 1.5 0 0 1 15 2.5v2c0 .384-.144.735-.382 1 .238.265.382.616.382 1v.757a5.507 5.507 0 0 0-1-.657v-.1a.5.5 0 0 0-.5-.5h-11a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h4.1a5.463 5.463 0 0 0-.393 1H2.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h3.707c.099.349.23.683.393 1H2.5A1.5 1.5 0 0 1 1 12.5v-2c0-.384.144-.735.382-1A1.494 1.494 0 0 1 1 8.5v-2c0-.384.144-.735.382-1A1.494 1.494 0 0 1 1 4.5v-2ZM13.5 5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-11a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h11Z'></path><path d='M6 11.25a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5ZM3.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 4 7.75v-.5A.25.25 0 0 0 3.75 7h-.5ZM5 7.25A.25.25 0 0 1 5.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 5 7.75v-.5Zm-2 4a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5Zm9-1.75a.5.5 0 0 0-1 0v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 0-1H12V9.5Z'></path><path d='M7 11.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM11.5 8a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M4 4.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1ZM6.5 4a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Zm1.5.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm3 .5a1 1 0 0 1 1-1h5a1 1 0 1 1 0 2h-5a1 1 0 0 1-1-1Z'></path><path d='M1 4a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v2c0 .768-.289 1.47-.764 2a3 3 0 0 1 .523.82A8.966 8.966 0 0 0 17 8c-1.488 0-2.891.36-4.127 1H4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h4.936a8.935 8.935 0 0 0-.713 2H4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h4.223c.16.701.4 1.372.713 2H4a3 3 0 0 1-3-3v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 1 12v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 1 6V4Zm18 2V4a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1Z'></path><path d='M4.5 10a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM4 16.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm2-6a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Zm2-6a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Zm9.5 4a1 1 0 1 0-2 0v3a1 1 0 0 0 1 1h2a1 1 0 1 0 0-2h-1v-2Z'></path><path d='M10 17a7 7 0 1 1 14 0 7 7 0 0 1-14 0Zm7-5a5 5 0 1 0 0 10 5 5 0 0 0 0-10Z'></path>\",\"<path d='M5 7.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM8.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm4 .5a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2h-7a1 1 0 0 1-1-1Z'></path><path d='M2 7a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v2a2.99 2.99 0 0 1-.764 2c.428.478.705 1.094.756 1.773A10.949 10.949 0 0 0 22 11a10.96 10.96 0 0 0-4.589 1H5a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h7.779a10.968 10.968 0 0 0-1.03 2H5a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h6c0 .683.062 1.351.181 2H5a3 3 0 0 1-3-3v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 2 15v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 2 9V7Zm3-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H5Z'></path><path d='M5.5 13a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM5 19.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3-6a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM23 18a1 1 0 1 0-2 0v4a1 1 0 0 0 1 1h3a1 1 0 1 0 0-2h-2v-3Z'></path><path d='M13 22a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"]];","export default [[\"<path d='M0 2.5A1.5 1.5 0 0 1 1.5 1h8A1.5 1.5 0 0 1 11 2.5v2c0 .384-.144.735-.382 1 .141.158.25.346.314.553a3.102 3.102 0 0 0-1.341-.303c-.907 0-1.724.388-2.293 1.007a2.76 2.76 0 0 0-2.186 1.368A2.753 2.753 0 0 0 3.795 10H1.5A1.5 1.5 0 0 1 0 8.5v-2c0-.384.144-.735.382-1A1.494 1.494 0 0 1 0 4.5v-2Zm2 .75v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 3.75v-.5A.25.25 0 0 0 2.75 3h-.5a.25.25 0 0 0-.25.25Zm2 0v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 5 3.75v-.5A.25.25 0 0 0 4.75 3h-.5a.25.25 0 0 0-.25.25ZM6.5 3a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2ZM2 7.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 7.75v-.5A.25.25 0 0 0 2.75 7h-.5a.25.25 0 0 0-.25.25ZM4.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 5 7.75v-.5A.25.25 0 0 0 4.75 7h-.5Z'></path><path d='M9.591 7c-.74 0-1.38.431-1.68 1.056a1.5 1.5 0 0 0-1.85 1.009A1.5 1.5 0 0 0 6.538 12h3.67l.041.001a1.75 1.75 0 0 0 1.201-3.023A1.864 1.864 0 0 0 9.591 7Zm-2.59 2.496L7 9.483c0-.26.217-.483.5-.483.146 0 .276.06.367.155a.5.5 0 0 0 .861-.326.864.864 0 1 1 1.702.242.5.5 0 0 0 .219.543A.75.75 0 0 1 10.25 11H6.5a.5.5 0 0 1 0-1 .5.5 0 0 0 .5-.504Z'></path>\",\"<path d='M1 2.5A1.5 1.5 0 0 1 2.5 1h11A1.5 1.5 0 0 1 15 2.5v2c0 .384-.144.735-.382 1 .238.265.382.616.382 1v2c0 .277-.075.537-.206.76a3.552 3.552 0 0 0-1.84-.51c-.962 0-1.835.381-2.476 1a2.777 2.777 0 0 0-2.153 1.07A3.251 3.251 0 0 0 5.75 14H2.5A1.5 1.5 0 0 1 1 12.5v-2c0-.384.144-.735.382-1A1.494 1.494 0 0 1 1 8.5v-2c0-.384.144-.735.382-1A1.494 1.494 0 0 1 1 4.5v-2Zm2.25.5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 4 3.75v-.5A.25.25 0 0 0 3.75 3h-.5Zm2 0a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 3.75v-.5A.25.25 0 0 0 5.75 3h-.5ZM9 3.5a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5ZM3.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 4 7.75v-.5A.25.25 0 0 0 3.75 7h-.5ZM5 7.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 7.75v-.5A.25.25 0 0 0 5.75 7h-.5a.25.25 0 0 0-.25.25ZM9.5 7a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3ZM3 11.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25ZM5.25 11a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5Z'></path><path d='M12.955 10a2.32 2.32 0 0 0-1.959 1.077 1.517 1.517 0 0 0-1.911.925A2 2 0 1 0 9 16h4.923a2 2 0 0 0 1.342-3.483A2.318 2.318 0 0 0 12.955 10Zm-1.26 1.926a1.319 1.319 0 0 1 2.544.693.5.5 0 0 0 .219.536.999.999 0 0 1-.535 1.845H9a1 1 0 1 1 .336-1.942.5.5 0 0 0 .666-.515.508.508 0 0 1 .514-.543.52.52 0 0 1 .359.142.5.5 0 0 0 .82-.216Z'></path>\",\"<path d='M1 4a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v2c0 .768-.289 1.47-.764 2 .475.53.764 1.232.764 2v2c0 .069-.002.137-.007.205A5.505 5.505 0 0 0 19.5 12c-1.185 0-2.28.375-3.177 1.01a5 5 0 0 0-4.812 2.784A5.252 5.252 0 0 0 8.006 21H4a3 3 0 0 1-3-3v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 1 12v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 1 6V4Zm3 .5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-1 0Zm0 6v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-1 0Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM6 4.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-1 0Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM6 16.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-1 0ZM8.5 4a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM8 10.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-1 0Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM11 5a1 1 0 0 0 1 1h5a1 1 0 1 0 0-2h-5a1 1 0 0 0-1 1Zm1 5a1 1 0 1 0 0 2h5a1 1 0 1 0 0-2h-5Z'></path><path d='M19.5 14a3.49 3.49 0 0 0-2.586 1.142 3 3 0 0 0-3.873 2.365 3.25 3.25 0 0 0 .318 6.491h7.282l.109.002a3.25 3.25 0 0 0 2.154-5.683A3.5 3.5 0 0 0 19.5 14Zm-1.357 2.859a1.5 1.5 0 1 1 2.672 1.364 1 1 0 0 0 .457 1.39 1.25 1.25 0 0 1-.594 2.385h-7.359l-.018.001-.051.001a1.25 1.25 0 1 1 .48-2.404 1 1 0 0 0 1.328-1.26 1 1 0 0 1 1.562-1.122 1 1 0 0 0 1.523-.355Z'></path>\",\"<path d='M2 7a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v2a2.99 2.99 0 0 1-.764 2c.475.53.764 1.232.764 2v2c0 .546-.146 1.058-.4 1.499A6.98 6.98 0 0 0 25 16a6.974 6.974 0 0 0-4.928 2.03 5.502 5.502 0 0 0-5.744 3.597A6.027 6.027 0 0 0 11.802 24H5a3 3 0 0 1-3-3v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 2 15v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 2 9V7Zm3.5 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm0 6a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM5 19.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM8.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM8 13.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM11 7.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm-.5 6.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM16 7a1 1 0 1 0 0 2h7a1 1 0 1 0 0-2h-7Zm-1 7a1 1 0 0 0 1 1h7a1 1 0 1 0 0-2h-7a1 1 0 0 0-1 1Z'></path><path d='M25 18c-1.75 0-3.288.898-4.181 2.257a3.5 3.5 0 0 0-4.799 2.863 4.002 4.002 0 0 0 1.1 7.878h9.252L26.5 31a4.5 4.5 0 0 0 3.461-7.376A5 5 0 0 0 25 18Zm-2.835 4.015a3.002 3.002 0 0 1 5.751 1.692 1 1 0 0 0 .29.965 2.5 2.5 0 0 1-1.787 4.326H17.07C17.047 29 17.024 29 17 29a2 2 0 1 1 0-4h.034a1 1 0 0 0 .996-1.199 1.5 1.5 0 0 1 2.502-1.39 1 1 0 0 0 1.633-.396Z'></path>\"],[\"<path d='M2.25 3a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 3.75v-.5A.25.25 0 0 0 2.75 3h-.5ZM4 3.25A.25.25 0 0 1 4.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 4 3.75v-.5ZM6.5 3a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Z'></path><path d='M0 2.5A1.5 1.5 0 0 1 1.5 1h8A1.5 1.5 0 0 1 11 2.5v2c0 .384-.144.735-.382 1 .21.234.347.535.376.867A2.851 2.851 0 0 0 9.5 6h-8a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h3c-.219.29-.375.63-.45 1H1.5A1.5 1.5 0 0 1 0 8.5v-2c0-.384.144-.735.382-1A1.494 1.494 0 0 1 0 4.5v-2ZM1.5 2a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-8Z'></path><path d='M2 7.25A.25.25 0 0 1 2.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 2 7.75v-.5ZM4.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 5 7.75v-.5A.25.25 0 0 0 4.75 7h-.5Zm5.341 0c-.74 0-1.38.431-1.68 1.056a1.5 1.5 0 0 0-1.85 1.009A1.5 1.5 0 0 0 6.538 12h3.67l.041.001a1.75 1.75 0 0 0 1.201-3.023A1.864 1.864 0 0 0 9.591 7Zm-2.59 2.496L7 9.483c0-.26.217-.483.5-.483.146 0 .276.06.367.155a.5.5 0 0 0 .861-.326.864.864 0 1 1 1.702.242.5.5 0 0 0 .219.543A.75.75 0 0 1 10.25 11H6.5a.5.5 0 0 1 0-1 .5.5 0 0 0 .5-.504Z'></path>\",\"<path d='M3 7.25A.25.25 0 0 1 3.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 3 7.75v-.5ZM5.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 7.75v-.5A.25.25 0 0 0 5.75 7h-.5ZM9 7.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5ZM3.25 3a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 4 3.75v-.5A.25.25 0 0 0 3.75 3h-.5ZM5 3.25A.25.25 0 0 1 5.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 5 3.75v-.5ZM9.5 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Z'></path><path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v2c0 .384.144.735.382 1A1.494 1.494 0 0 0 1 6.5v2c0 .384.144.735.382 1a1.494 1.494 0 0 0-.382 1v2A1.5 1.5 0 0 0 2.5 14H6c0-.35.06-.687.17-1H2.5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h8.081c.602-.617 1.443-1 2.374-1 .619 0 1.198.17 1.694.464.219-.26.351-.597.351-.964v-2c0-.384-.144-.735-.382-1 .238-.265.382-.616.382-1v-2A1.5 1.5 0 0 0 13.5 1h-11Zm10.455 8H2.5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-.545ZM2.5 5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-11Z'></path><path d='M3.25 11a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5Zm1.75.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5ZM12.955 10a2.32 2.32 0 0 0-1.959 1.077 1.517 1.517 0 0 0-1.911.925A2 2 0 1 0 9 16h4.923a2 2 0 0 0 1.342-3.483A2.318 2.318 0 0 0 12.955 10Zm-1.26 1.926a1.319 1.319 0 0 1 2.544.693.5.5 0 0 0 .219.536.999.999 0 0 1-.535 1.845H9a1 1 0 1 1 .336-1.942.5.5 0 0 0 .666-.515.508.508 0 0 1 .514-.543.52.52 0 0 1 .359.142.5.5 0 0 0 .82-.216Z'></path>\",\"<path d='M4 4.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1ZM6.5 4a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Zm1.5.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm4-.5a1 1 0 1 0 0 2h5a1 1 0 1 0 0-2h-5Z'></path><path d='M1 4a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v2c0 .768-.289 1.47-.764 2 .475.53.764 1.232.764 2v2c0 .069-.002.137-.007.205A5.505 5.505 0 0 0 19 12.022V10a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h12a4.993 4.993 0 0 0-4 2H4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h4.299a5.242 5.242 0 0 0-.293 2H4a3 3 0 0 1-3-3v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 1 12v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 1 6V4Zm3 3h14a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1Z'></path><path d='M16 13h.338l-.015.01A5.087 5.087 0 0 0 16 13ZM4.5 10a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM4 16.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm2-6a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Zm2-6a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM8 16.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm3-5.5a1 1 0 0 1 1-1h5a1 1 0 1 1 0 2h-5a1 1 0 0 1-1-1Zm8.5 3a3.49 3.49 0 0 0-2.586 1.142 3 3 0 0 0-3.873 2.365 3.25 3.25 0 0 0 .318 6.491h7.282l.109.002a3.25 3.25 0 0 0 2.154-5.683A3.5 3.5 0 0 0 19.5 14Zm-1.357 2.859a1.5 1.5 0 1 1 2.672 1.364 1 1 0 0 0 .457 1.39 1.25 1.25 0 0 1-.594 2.385h-7.359l-.018.001-.051.001a1.25 1.25 0 1 1 .48-2.404 1 1 0 0 0 1.328-1.26 1 1 0 0 1 1.562-1.122 1 1 0 0 0 1.523-.355Z'></path>\",\"<path d='M5 13.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm5-.5a1 1 0 1 0 0 2h7a1 1 0 1 0 0-2h-7ZM5.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM15 8a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2h-7a1 1 0 0 1-1-1Z'></path><path d='M5 4a3 3 0 0 0-3 3v2c0 .768.289 1.47.764 2A2.989 2.989 0 0 0 2 13v2c0 .768.289 1.47.764 2A2.989 2.989 0 0 0 2 19v2a3 3 0 0 0 3 3h6.803a6.03 6.03 0 0 1 1.88-2H5a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1h15.102A6.974 6.974 0 0 1 25 16a6.98 6.98 0 0 1 2.6.499c.254-.441.4-.953.4-1.499v-2c0-.768-.289-1.47-.764-2A2.99 2.99 0 0 0 28 9V7a3 3 0 0 0-3-3H5Zm20 12H5a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1h20a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1ZM4 7a1 1 0 0 1 1-1h20a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7Z'></path><path d='M5.5 19a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM25 18c-1.75 0-3.288.898-4.181 2.257a3.5 3.5 0 0 0-4.799 2.863 4.002 4.002 0 0 0 1.1 7.878h9.252L26.5 31a4.5 4.5 0 0 0 3.461-7.376A5 5 0 0 0 25 18Zm-2.835 4.015a3.002 3.002 0 0 1 5.751 1.692 1 1 0 0 0 .29.965 2.5 2.5 0 0 1-1.787 4.326H17.07C17.047 29 17.024 29 17 29a2 2 0 1 1 0-4h.034a1 1 0 0 0 .996-1.199 1.5 1.5 0 0 1 2.502-1.39 1 1 0 0 0 1.633-.396Z'></path>\"]];","export default [[\"M0 1.5A1.5 1.5 0 0 1 1.5 0h8A1.5 1.5 0 0 1 11 1.5v2A1.5 1.5 0 0 1 9.5 5H6v1h2.5A1.5 1.5 0 0 1 10 7.5V8h.25a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-.75.75h-1.5a.75.75 0 0 1-.75-.75v-1.5A.75.75 0 0 1 8.75 8H9v-.5a.5.5 0 0 0-.5-.5H6v1h.25a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-.75.75h-1.5a.75.75 0 0 1-.75-.75v-1.5A.75.75 0 0 1 4.75 8H5V7H2.5a.5.5 0 0 0-.5.5V8h.25a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-.75.75H.75a.75.75 0 0 1-.75-.75v-1.5A.75.75 0 0 1 .75 8H1v-.5A1.5 1.5 0 0 1 2.5 6H5V5H1.5A1.5 1.5 0 0 1 0 3.5v-2Zm2.25.5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 2.75v-.5A.25.25 0 0 0 2.75 2h-.5Zm2 0a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 5 2.75v-.5A.25.25 0 0 0 4.75 2h-.5ZM6 2.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 0-1h-2a.5.5 0 0 0-.5.5Z\",\"M1 1.5A1.5 1.5 0 0 1 2.5 0h10A1.5 1.5 0 0 1 14 1.5v2c0 .384-.144.735-.382 1 .238.265.382.616.382 1v2A1.5 1.5 0 0 1 12.5 9H8v1h3.5a1.5 1.5 0 0 1 1.5 1.5v.5h.25a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-.75.75h-1.5a.75.75 0 0 1-.75-.75v-1.5a.75.75 0 0 1 .75-.75H12v-.5a.5.5 0 0 0-.5-.5H8v1h.25a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-.75.75h-1.5a.75.75 0 0 1-.75-.75v-1.5a.75.75 0 0 1 .75-.75H7v-1H3.5a.5.5 0 0 0-.5.5v.5h.25a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-.75.75h-1.5a.75.75 0 0 1-.75-.75v-1.5a.75.75 0 0 1 .75-.75H2v-.5A1.5 1.5 0 0 1 3.5 10H7V9H2.5A1.5 1.5 0 0 1 1 7.5v-2c0-.384.144-.735.382-1A1.494 1.494 0 0 1 1 3.5v-2Zm2 .75v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 4 2.75v-.5A.25.25 0 0 0 3.75 2h-.5a.25.25 0 0 0-.25.25Zm2 0v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 2.75v-.5A.25.25 0 0 0 5.75 2h-.5a.25.25 0 0 0-.25.25ZM8.5 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3ZM3 6.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 4 6.75v-.5A.25.25 0 0 0 3.75 6h-.5a.25.25 0 0 0-.25.25ZM5.25 6a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 6.75v-.5A.25.25 0 0 0 5.75 6h-.5ZM8 6.5a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5Z\",\"M2 3a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v2c0 .768-.289 1.47-.764 2 .475.53.764 1.232.764 2v2a3 3 0 0 1-3 3h-6v1h7a2 2 0 0 1 2 2v1h.75c.69 0 1.25.56 1.25 1.25v2.5c0 .69-.56 1.25-1.25 1.25h-3.5c-.69 0-1.25-.56-1.25-1.25v-2.5c0-.69.56-1.25 1.25-1.25H20v-1h-7v1h.75c.69 0 1.25.56 1.25 1.25v2.5c0 .69-.56 1.25-1.25 1.25h-3.5C9.56 23 9 22.44 9 21.75v-2.5c0-.69.56-1.25 1.25-1.25H11v-1H4v1h.75c.69 0 1.25.56 1.25 1.25v2.5C6 22.44 5.44 23 4.75 23h-3.5C.56 23 0 22.44 0 21.75v-2.5C0 18.56.56 18 1.25 18H2v-1a2 2 0 0 1 2-2h7v-1H5a3 3 0 0 1-3-3V9c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 2 5V3Zm3 .5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-1 0Zm0 6v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-1 0ZM7.5 3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM7 9.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-1 0ZM9.5 9a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM9 3.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-1 0Zm4-.5a1 1 0 1 0 0 2h5a1 1 0 1 0 0-2h-5Zm-1 7a1 1 0 0 0 1 1h5a1 1 0 1 0 0-2h-5a1 1 0 0 0-1 1Z\",\"M3 6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v2c0 .768-.289 1.47-.764 2 .475.53.764 1.232.764 2v2a3 3 0 0 1-3 3h-9v2h8a2 2 0 0 1 2 2v2a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2v-2h-8v2a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2v-2H7v2a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2v-2a2 2 0 0 1 2-2h8v-2H6a3 3 0 0 1-3-3v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 3 8V6Zm3 .5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Zm0 6v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM9.5 6a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM9 12.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM12.5 6a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm-.5 6.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM17 6a1 1 0 1 0 0 2h7a1 1 0 1 0 0-2h-7Zm-1 7a1 1 0 0 0 1 1h7a1 1 0 1 0 0-2h-7a1 1 0 0 0-1 1Z\"],[\"<path d='M2.25 2a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 2.75v-.5A.25.25 0 0 0 2.75 2h-.5ZM4 2.25A.25.25 0 0 1 4.25 2h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 4 2.75v-.5ZM6.5 2a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Z'></path><path d='M0 1.5A1.5 1.5 0 0 1 1.5 0h8A1.5 1.5 0 0 1 11 1.5v2A1.5 1.5 0 0 1 9.5 5H6v1h2.5A1.5 1.5 0 0 1 10 7.5V8h.25a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-.75.75h-1.5a.75.75 0 0 1-.75-.75v-1.5A.75.75 0 0 1 8.75 8H9v-.5a.5.5 0 0 0-.5-.5H6v1h.25a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-.75.75h-1.5a.75.75 0 0 1-.75-.75v-1.5A.75.75 0 0 1 4.75 8H5V7H2.5a.5.5 0 0 0-.5.5V8h.25a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-.75.75H.75a.75.75 0 0 1-.75-.75v-1.5A.75.75 0 0 1 .75 8H1v-.5A1.5 1.5 0 0 1 2.5 6H5V5H1.5A1.5 1.5 0 0 1 0 3.5v-2ZM1.5 1a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-8ZM5 9v1h1V9H5Zm4 1h1V9H9v1ZM1 9v1h1V9H1Z'></path>\",\"<path d='M3 6.25A.25.25 0 0 1 3.25 6h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 3 6.75v-.5ZM5.25 6a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 6.75v-.5A.25.25 0 0 0 5.75 6h-.5ZM8 6.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5ZM3.25 2a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 4 2.75v-.5A.25.25 0 0 0 3.75 2h-.5ZM5 2.25A.25.25 0 0 1 5.25 2h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 5 2.75v-.5ZM8.5 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Z'></path><path d='M1 1.5A1.5 1.5 0 0 1 2.5 0h10A1.5 1.5 0 0 1 14 1.5v2c0 .384-.144.735-.382 1 .238.265.382.616.382 1v2A1.5 1.5 0 0 1 12.5 9H8v1h3.5a1.5 1.5 0 0 1 1.5 1.5v.5h.25a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-.75.75h-1.5a.75.75 0 0 1-.75-.75v-1.5a.75.75 0 0 1 .75-.75H12v-.5a.5.5 0 0 0-.5-.5H8v1h.25a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-.75.75h-1.5a.75.75 0 0 1-.75-.75v-1.5a.75.75 0 0 1 .75-.75H7v-1H3.5a.5.5 0 0 0-.5.5v.5h.25a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-.75.75h-1.5a.75.75 0 0 1-.75-.75v-1.5a.75.75 0 0 1 .75-.75H2v-.5A1.5 1.5 0 0 1 3.5 10H7V9H2.5A1.5 1.5 0 0 1 1 7.5v-2c0-.384.144-.735.382-1A1.494 1.494 0 0 1 1 3.5v-2Zm1 4v2a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-10a.5.5 0 0 0-.5.5ZM2.5 1a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-10ZM7 14h1v-1H7v1Zm5-1v1h1v-1h-1ZM2 14h1v-1H2v1Z'></path>\",\"<path d='M5.5 3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Zm2 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Zm1.5.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm4-.5a1 1 0 1 0 0 2h5a1 1 0 1 0 0-2h-5ZM5 9.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm2 0a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1ZM9.5 9a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Zm2.5 1a1 1 0 0 1 1-1h5a1 1 0 1 1 0 2h-5a1 1 0 0 1-1-1Z'></path><path d='M2 3a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v2c0 .768-.289 1.47-.764 2 .475.53.764 1.232.764 2v2a3 3 0 0 1-3 3h-6v1h7a2 2 0 0 1 2 2v1h.75c.69 0 1.25.56 1.25 1.25v2.5c0 .69-.56 1.25-1.25 1.25h-3.5c-.69 0-1.25-.56-1.25-1.25v-2.5c0-.69.56-1.25 1.25-1.25H20v-1h-7v1h.75c.69 0 1.25.56 1.25 1.25v2.5c0 .69-.56 1.25-1.25 1.25h-3.5C9.56 23 9 22.44 9 21.75v-2.5c0-.69.56-1.25 1.25-1.25H11v-1H4v1h.75c.69 0 1.25.56 1.25 1.25v2.5C6 22.44 5.44 23 4.75 23h-3.5C.56 23 0 22.44 0 21.75v-2.5C0 18.56.56 18 1.25 18H2v-1a2 2 0 0 1 2-2h7v-1H5a3 3 0 0 1-3-3V9c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 2 5V3Zm18 2V3a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1ZM4 9v2a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1Zm7 12h2v-1h-2v1Zm-9-1v1h2v-1H2Zm18 1h2v-1h-2v1Z'></path>\",\"<path d='M6 12.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm4 .5a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2h-7a1 1 0 0 1-1-1ZM6.5 6a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM17 6a1 1 0 1 0 0 2h7a1 1 0 1 0 0-2h-7Z'></path><path d='M3 6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v2c0 .768-.289 1.47-.764 2 .475.53.764 1.232.764 2v2a3 3 0 0 1-3 3h-9v2h8a2 2 0 0 1 2 2v2a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2v-2h-8v2a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2v-2H7v2a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2v-2a2 2 0 0 1 2-2h8v-2H6a3 3 0 0 1-3-3v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 3 8V6Zm2 6v2a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1Zm1-7a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H6ZM5 25v3h2v-3H5Zm10 3h2v-3h-2v3Zm10-3v3h2v-3h-2Z'></path>\"]];","export default [[\"<path d='M1.5 1A1.5 1.5 0 0 0 0 2.5v2c0 .384.144.735.382 1A1.494 1.494 0 0 0 0 6.5v2A1.5 1.5 0 0 0 1.5 10H5V7.75a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 4 7.75v-.5A.25.25 0 0 1 4.25 7h.5a.25.25 0 0 1 .25.25V6.5C5 5.12 6.79 4 9 4a5.92 5.92 0 0 1 2 .334V2.5A1.5 1.5 0 0 0 9.5 1h-8ZM2 3.25A.25.25 0 0 1 2.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 2 3.75v-.5Zm2 0A.25.25 0 0 1 4.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 4 3.75v-.5ZM6.5 3h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1ZM2 7.25A.25.25 0 0 1 2.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 2 7.75v-.5Z'></path><path d='M6 6.5c0-.32.164-.574.353-.753a2.19 2.19 0 0 1 .694-.418C7.57 5.119 8.262 5 9 5s1.429.119 1.954.329c.26.104.505.24.693.418.189.179.353.433.353.753v4c0 .32-.164.574-.353.752a2.194 2.194 0 0 1-.694.42C10.43 11.881 9.739 12 9 12s-1.429-.119-1.953-.329a2.194 2.194 0 0 1-.694-.418C6.164 11.073 6 10.82 6 10.5v-4Zm1 1.98a.268.268 0 0 0 .04.046c.065.062.187.14.378.217C7.798 8.895 8.357 9 9 9c.643 0 1.202-.105 1.582-.257.191-.077.313-.155.378-.217a.266.266 0 0 0 .04-.045v-.829a3.356 3.356 0 0 1-.046.02C10.428 7.881 9.738 8 9 8s-1.429-.119-1.953-.329A3.216 3.216 0 0 1 7 7.652v.829Zm0 1.172v.829a.271.271 0 0 0 .04.045c.065.062.187.14.378.217.38.152.939.257 1.582.257.643 0 1.202-.105 1.582-.257a1.23 1.23 0 0 0 .378-.217.27.27 0 0 0 .04-.045v-.829a3.237 3.237 0 0 1-.046.02C10.428 9.881 9.738 10 9 10s-1.429-.119-1.953-.329A3.106 3.106 0 0 1 7 9.652ZM7.015 6.5a.38.38 0 0 0 .025.026c.065.062.187.14.378.217C7.798 6.895 8.357 7 9 7c.643 0 1.202-.105 1.582-.257.191-.077.313-.155.378-.217a.397.397 0 0 0 .025-.026.395.395 0 0 0-.025-.026 1.228 1.228 0 0 0-.378-.217C10.202 6.105 9.643 6 9 6c-.643 0-1.202.105-1.582.257a1.227 1.227 0 0 0-.378.217.38.38 0 0 0-.025.026Z'></path>\",\"<path d='M1 2.5A1.5 1.5 0 0 1 2.5 1h11A1.5 1.5 0 0 1 15 2.5v2c0 .384-.144.735-.382 1 .221.247.361.567.38.92C14.283 6.155 13.424 6 12.5 6 10.015 6 8 7.12 8 8.5V14H2.5A1.5 1.5 0 0 1 1 12.5v-2c0-.384.144-.735.382-1A1.494 1.494 0 0 1 1 8.5v-2c0-.384.144-.735.382-1A1.494 1.494 0 0 1 1 4.5v-2Zm2 .75v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 4 3.75v-.5A.25.25 0 0 0 3.75 3h-.5a.25.25 0 0 0-.25.25Zm2 0v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 3.75v-.5A.25.25 0 0 0 5.75 3h-.5a.25.25 0 0 0-.25.25ZM9.5 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3ZM3 7.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 4 7.75v-.5A.25.25 0 0 0 3.75 7h-.5a.25.25 0 0 0-.25.25ZM5.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 7.75v-.5A.25.25 0 0 0 5.75 7h-.5Zm-2 4a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5Zm1.75.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25Z'></path><path d='M9 8.5v6c0 .357.217.617.426.782.215.169.494.3.795.4.606.202 1.412.318 2.279.318s1.673-.116 2.28-.319c.3-.1.58-.23.794-.399.209-.165.426-.425.426-.782v-6c0-.357-.217-.617-.426-.782a2.645 2.645 0 0 0-.795-.4C14.173 7.117 13.367 7 12.5 7s-1.673.116-2.28.319c-.3.1-.58.23-.794.399C9.217 7.883 9 8.143 9 8.5Zm1 1.1c.072.03.146.056.22.081.607.203 1.413.319 2.28.319.867 0 1.673-.116 2.28-.319.075-.025.148-.051.22-.08v.855a.42.42 0 0 1-.045.04c-.09.07-.25.156-.492.237-.48.16-1.173.267-1.963.267s-1.484-.107-1.963-.267a1.689 1.689 0 0 1-.492-.237.42.42 0 0 1-.045-.04v-.855Zm5 2.856a.42.42 0 0 1-.045.04c-.09.07-.25.156-.492.237-.48.16-1.173.267-1.963.267s-1.484-.107-1.963-.267a1.689 1.689 0 0 1-.492-.237.42.42 0 0 1-.045-.04v-.855c.072.028.146.055.22.08.607.203 1.413.319 2.28.319.867 0 1.673-.116 2.28-.319.075-.025.148-.051.22-.08v.855Zm-5 1.145c.072.028.146.055.22.08.607.203 1.413.319 2.28.319.867 0 1.673-.116 2.28-.319.075-.025.148-.051.22-.08v.855a.42.42 0 0 1-.045.04c-.09.07-.25.156-.492.237-.48.16-1.173.267-1.963.267s-1.484-.107-1.963-.267a1.689 1.689 0 0 1-.492-.237.42.42 0 0 1-.045-.04v-.855Zm.537-5.334C11.017 8.107 11.71 8 12.5 8s1.484.107 1.963.267c.239.08.397.163.487.233a1.71 1.71 0 0 1-.487.233c-.48.16-1.173.267-1.963.267s-1.484-.107-1.963-.267a1.71 1.71 0 0 1-.487-.233c.09-.07.248-.153.487-.233Z'></path>\",\"<path d='M4 1a3 3 0 0 0-3 3v2c0 .768.289 1.47.764 2A2.989 2.989 0 0 0 1 10v2c0 .768.289 1.47.764 2A2.989 2.989 0 0 0 1 16v2a3 3 0 0 0 3 3h6v-8c0-2.761 3.582-5 8-5 .846 0 1.66.082 2.425.234A3.004 3.004 0 0 0 20.236 8c.475-.53.764-1.232.764-2V4a3 3 0 0 0-3-3H4Zm0 3.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm0 6a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm.5 5.5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM6 4.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm.5 5.5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM6 16.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1ZM8.5 4a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM8 10.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm.5 5.5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM11 5a1 1 0 0 1 1-1h5a1 1 0 1 1 0 2h-5a1 1 0 0 1-1-1Z'></path><path d='M12 13c0-.64.328-1.148.706-1.505.375-.355.865-.629 1.387-.838C15.143 10.237 16.525 10 18 10s2.857.237 3.907.657c.522.21 1.012.483 1.387.838.378.357.706.865.706 1.505v8c0 .64-.328 1.148-.706 1.505-.375.355-.865.629-1.387.838-1.05.42-2.432.657-3.907.657s-2.857-.237-3.907-.657c-.522-.21-1.012-.483-1.387-.838C12.328 22.148 12 21.64 12 21v-8Zm2 3.962a.537.537 0 0 0 .08.09c.13.123.373.28.756.434.76.304 1.878.514 3.164.514 1.286 0 2.404-.21 3.164-.514.383-.153.625-.31.756-.434a.537.537 0 0 0 .08-.09v-1.657l-.093.038c-1.05.42-2.432.657-3.907.657s-2.857-.237-3.907-.657a6.972 6.972 0 0 1-.093-.038v1.657Zm0 2.343v1.657a.537.537 0 0 0 .08.09c.13.123.373.28.756.434.76.304 1.878.514 3.164.514 1.286 0 2.404-.21 3.164-.514.383-.153.625-.31.756-.434a.537.537 0 0 0 .08-.09v-1.657l-.093.038c-1.05.42-2.432.657-3.907.657s-2.857-.237-3.907-.657a6.972 6.972 0 0 1-.093-.038ZM14.03 13a.736.736 0 0 0 .05.052c.13.123.373.28.756.434.76.304 1.878.514 3.164.514 1.286 0 2.404-.21 3.164-.514.383-.153.625-.31.756-.434a.785.785 0 0 0 .05-.052.761.761 0 0 0-.05-.052c-.13-.123-.373-.28-.756-.434C20.404 12.21 19.286 12 18 12c-1.286 0-2.404.21-3.164.514-.383.153-.625.31-.756.434a.761.761 0 0 0-.05.052Z'></path>\",\"<path d='M5 4a3 3 0 0 0-3 3v2c0 .768.289 1.47.764 2A2.989 2.989 0 0 0 2 13v2c0 .768.289 1.47.764 2A2.989 2.989 0 0 0 2 19v2a3 3 0 0 0 3 3h9v-7.5c0-3.038 4.253-5.5 9.5-5.5 1.477 0 2.876.195 4.123.544a3.005 3.005 0 0 0-.387-.544A2.99 2.99 0 0 0 28 9V7a3 3 0 0 0-3-3H5Zm.5 3h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5Zm0 6h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5ZM5 19.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM8.5 7h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5ZM8 13.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm.5 5.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5ZM11 7.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm.5 5.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5Zm-.5 6.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM16 7h7a1 1 0 1 1 0 2h-7a1 1 0 1 1 0-2Z'></path><path d='M16 16.5c0-.724.385-1.301.838-1.713.453-.411 1.052-.736 1.707-.988 1.317-.507 3.07-.799 4.955-.799 1.886 0 3.638.292 4.955.799.655.252 1.255.577 1.707.988.453.412.838.99.838 1.713v11c0 .724-.385 1.301-.838 1.713-.453.411-1.052.736-1.707.988-1.317.507-3.07.799-4.955.799-1.886 0-3.638-.292-4.955-.799-.655-.252-1.255-.577-1.707-.988-.453-.412-.838-.99-.838-1.713v-11Zm2 5.497c.004.018.032.098.184.236.205.187.558.401 1.079.601 1.035.399 2.533.666 4.237.666 1.704 0 3.202-.267 4.237-.666.521-.2.874-.414 1.08-.6.151-.139.179-.219.183-.237v-3.03a7.524 7.524 0 0 1-.545.234c-1.317.507-3.07.799-4.955.799-1.886 0-3.638-.292-4.955-.799a7.524 7.524 0 0 1-.545-.234v3.03Zm0 2.47v3.03c.004.018.032.098.184.236.205.187.558.401 1.079.601 1.035.399 2.533.666 4.237.666 1.704 0 3.202-.267 4.237-.666.521-.2.874-.414 1.08-.6.151-.139.179-.219.183-.237v-3.03a7.524 7.524 0 0 1-.545.234c-1.317.507-3.07.799-4.955.799-1.886 0-3.638-.292-4.955-.799a7.524 7.524 0 0 1-.545-.234Zm0-7.967c.007.023.04.102.184.233.205.187.558.401 1.079.601 1.035.399 2.533.666 4.237.666 1.704 0 3.202-.267 4.237-.666.521-.2.874-.414 1.08-.6.144-.132.176-.21.182-.234-.006-.023-.038-.102-.183-.233-.205-.187-.558-.401-1.079-.601C26.702 15.267 25.204 15 23.5 15c-1.704 0-3.202.267-4.237.666-.521.2-.874.414-1.08.6-.144.132-.176.21-.182.234Z'></path>\"],[\"<path d='M1.5 1A1.5 1.5 0 0 0 0 2.5v2c0 .384.144.735.382 1A1.494 1.494 0 0 0 0 6.5v2A1.5 1.5 0 0 0 1.5 10H5V9H1.5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h3.58c.12-.37.37-.71.72-1H1.5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v1.579c.355.057.69.144 1 .255V2.5A1.5 1.5 0 0 0 9.5 1h-8Z'></path><path d='M5 7.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 4 7.75v-.5A.25.25 0 0 1 4.25 7h.5a.25.25 0 0 1 .25.25Zm-3-4A.25.25 0 0 1 2.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 2 3.75v-.5ZM4.25 3a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 5 3.75v-.5A.25.25 0 0 0 4.75 3h-.5ZM6 3.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5ZM2.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 7.75v-.5A.25.25 0 0 0 2.75 7h-.5ZM6 6.5c0-.32.164-.574.353-.753a2.19 2.19 0 0 1 .694-.418C7.57 5.119 8.262 5 9 5s1.429.119 1.954.329c.26.104.505.24.693.418.189.179.353.433.353.753v4c0 .32-.164.574-.353.752a2.194 2.194 0 0 1-.694.42C10.43 11.881 9.739 12 9 12s-1.429-.119-1.953-.329a2.194 2.194 0 0 1-.694-.418C6.164 11.073 6 10.82 6 10.5v-4Zm1 1.98a.268.268 0 0 0 .04.046c.065.062.187.14.378.217C7.798 8.895 8.357 9 9 9c.643 0 1.202-.105 1.582-.257.191-.077.313-.155.378-.217a.266.266 0 0 0 .04-.045v-.829a3.356 3.356 0 0 1-.046.02C10.428 7.881 9.738 8 9 8s-1.429-.119-1.953-.329A3.216 3.216 0 0 1 7 7.652v.829Zm0 1.172v.829a.271.271 0 0 0 .04.045c.065.062.187.14.378.217.38.152.939.257 1.582.257.643 0 1.202-.105 1.582-.257a1.23 1.23 0 0 0 .378-.217.27.27 0 0 0 .04-.045v-.829a3.237 3.237 0 0 1-.046.02C10.428 9.881 9.738 10 9 10s-1.429-.119-1.953-.329A3.106 3.106 0 0 1 7 9.652ZM7.015 6.5a.38.38 0 0 0 .025.026c.065.062.187.14.378.217C7.798 6.895 8.357 7 9 7c.643 0 1.202-.105 1.582-.257.191-.077.313-.155.378-.217a.397.397 0 0 0 .025-.026.395.395 0 0 0-.025-.026 1.228 1.228 0 0 0-.378-.217C10.202 6.105 9.643 6 9 6c-.643 0-1.202.105-1.582.257a1.227 1.227 0 0 0-.378.217.38.38 0 0 0-.025.026Z'></path>\",\"<path d='M3 3.25A.25.25 0 0 1 3.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 3 3.75v-.5ZM5.25 3a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 3.75v-.5A.25.25 0 0 0 5.75 3h-.5ZM9 3.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Z'></path><path d='M1 2.5A1.5 1.5 0 0 1 2.5 1h11A1.5 1.5 0 0 1 15 2.5v2c0 .384-.144.735-.382 1 .221.247.361.567.38.92a6.556 6.556 0 0 0-1.188-.312A.498.498 0 0 0 13.5 6h-11a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H8v1H2.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H8v1H2.5A1.5 1.5 0 0 1 1 12.5v-2c0-.384.144-.735.382-1A1.494 1.494 0 0 1 1 8.5v-2c0-.384.144-.735.382-1A1.494 1.494 0 0 1 1 4.5v-2ZM13.5 5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-11a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h11Z'></path><path d='M3.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 4 7.75v-.5A.25.25 0 0 0 3.75 7h-.5ZM5 7.25A.25.25 0 0 1 5.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 5 7.75v-.5Zm-2 4a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5ZM5.25 11a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5ZM9 8.5v6c0 .357.217.617.426.782.215.169.494.3.795.4.606.202 1.412.318 2.279.318s1.673-.116 2.28-.319c.3-.1.58-.23.794-.399.209-.165.426-.425.426-.782v-6c0-.357-.217-.617-.426-.782a2.645 2.645 0 0 0-.795-.4C14.173 7.117 13.367 7 12.5 7s-1.673.116-2.28.319c-.3.1-.58.23-.794.399C9.217 7.883 9 8.143 9 8.5Zm1 1.1c.072.03.146.056.22.081.607.203 1.413.319 2.28.319.867 0 1.673-.116 2.28-.319.075-.025.148-.051.22-.08v.855a.42.42 0 0 1-.045.04c-.09.07-.25.156-.492.237-.48.16-1.173.267-1.963.267s-1.484-.107-1.963-.267a1.689 1.689 0 0 1-.492-.237.42.42 0 0 1-.045-.04v-.855Zm5 2.856a.42.42 0 0 1-.045.04c-.09.07-.25.156-.492.237-.48.16-1.173.267-1.963.267s-1.484-.107-1.963-.267a1.689 1.689 0 0 1-.492-.237.42.42 0 0 1-.045-.04v-.855c.072.028.146.055.22.08.607.203 1.413.319 2.28.319.867 0 1.673-.116 2.28-.319.075-.025.148-.051.22-.08v.855Zm-5 1.145c.072.028.146.055.22.08.607.203 1.413.319 2.28.319.867 0 1.673-.116 2.28-.319.075-.025.148-.051.22-.08v.855a.42.42 0 0 1-.045.04c-.09.07-.25.156-.492.237-.48.16-1.173.267-1.963.267s-1.484-.107-1.963-.267a1.689 1.689 0 0 1-.492-.237.42.42 0 0 1-.045-.04v-.855Zm.537-5.334C11.017 8.107 11.71 8 12.5 8s1.484.107 1.963.267c.239.08.397.163.487.233a1.71 1.71 0 0 1-.487.233c-.48.16-1.173.267-1.963.267s-1.484-.107-1.963-.267a1.71 1.71 0 0 1-.487-.233c.09-.07.248-.153.487-.233Z'></path>\",\"<path d='M4 4.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1ZM6.5 4a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Zm1.5.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm4-.5a1 1 0 1 0 0 2h5a1 1 0 1 0 0-2h-5Z'></path><path d='M1 4a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v2c0 .768-.289 1.47-.764 2 .067.075.13.153.19.234A12.474 12.474 0 0 0 18 8c-1.801 0-3.464.372-4.8 1H4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h6v2H4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h6v2H4a3 3 0 0 1-3-3v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 1 12v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 1 6V4Zm3 3h14a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1Z'></path><path d='M4.5 10a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM4 16.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm2-6a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Zm2-6a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM8 16.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm4-3.5c0-.64.328-1.148.706-1.505.375-.355.865-.629 1.387-.838C15.143 10.237 16.525 10 18 10s2.857.237 3.907.657c.522.21 1.012.483 1.387.838.378.357.706.865.706 1.505v8c0 .64-.328 1.148-.706 1.505-.375.355-.865.629-1.387.838-1.05.42-2.432.657-3.907.657s-2.857-.237-3.907-.657c-.522-.21-1.012-.483-1.387-.838C12.328 22.148 12 21.64 12 21v-8Zm2 3.962a.537.537 0 0 0 .08.09c.13.123.373.28.756.434.76.304 1.878.514 3.164.514 1.286 0 2.404-.21 3.164-.514.383-.153.625-.31.756-.434a.537.537 0 0 0 .08-.09v-1.657l-.093.038c-1.05.42-2.432.657-3.907.657s-2.857-.237-3.907-.657a6.972 6.972 0 0 1-.093-.038v1.657Zm0 2.343v1.657a.537.537 0 0 0 .08.09c.13.123.373.28.756.434.76.304 1.878.514 3.164.514 1.286 0 2.404-.21 3.164-.514.383-.153.625-.31.756-.434a.537.537 0 0 0 .08-.09v-1.657l-.093.038c-1.05.42-2.432.657-3.907.657s-2.857-.237-3.907-.657a6.972 6.972 0 0 1-.093-.038ZM14.03 13a.736.736 0 0 0 .05.052c.13.123.373.28.756.434.76.304 1.878.514 3.164.514 1.286 0 2.404-.21 3.164-.514.383-.153.625-.31.756-.434a.785.785 0 0 0 .05-.052.761.761 0 0 0-.05-.052c-.13-.123-.373-.28-.756-.434C20.404 12.21 19.286 12 18 12c-1.286 0-2.404.21-3.164.514-.383.153-.625.31-.756.434a.761.761 0 0 0-.05.052Z'></path>\",\"<path d='M5.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM15 8a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2h-7a1 1 0 0 1-1-1Z'></path><path d='M5 4a3 3 0 0 0-3 3v2c0 .768.289 1.47.764 2A2.989 2.989 0 0 0 2 13v2c0 .768.289 1.47.764 2A2.989 2.989 0 0 0 2 19v2a3 3 0 0 0 3 3h9v-2H5a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1h9v-1.5c0-.169.013-.335.039-.5H5a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1h13.037c1.545-.63 3.43-1 5.463-1 1.477 0 2.876.195 4.123.544a3.005 3.005 0 0 0-.387-.544A2.99 2.99 0 0 0 28 9V7a3 3 0 0 0-3-3H5ZM4 7a1 1 0 0 1 1-1h20a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7Z'></path><path d='M5 13.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3-6a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM8 19.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm12-6c-1.886 0-3.638.292-4.955.799-.655.252-1.255.577-1.707.988-.453.412-.838.99-.838 1.713v11c0 .724.385 1.301.838 1.713.453.411 1.052.736 1.707.988 1.317.507 3.07.799 4.955.799 1.886 0 3.638-.292 4.955-.799.655-.252 1.255-.577 1.707-.988.453-.412.838-.99.838-1.713v-11c0-.724-.385-1.301-.838-1.713-.453-.411-1.052-.736-1.707-.988-1.317-.507-3.07-.799-4.955-.799Zm-5.316 3.267c.205-.187.558-.401 1.079-.601C20.298 15.267 21.796 15 23.5 15c1.704 0 3.202.267 4.237.666.521.2.874.414 1.08.6.144.132.176.21.182.234-.006.023-.038.102-.183.233-.205.187-.558.401-1.079.601-1.035.399-2.533.666-4.237.666-1.704 0-3.202-.267-4.237-.666-.521-.2-.874-.414-1.08-.6-.144-.132-.176-.21-.182-.234.006-.023.038-.102.183-.233ZM29 16.493v.003-.003ZM18 27.497v-3.03c.176.084.358.162.545.234 1.317.507 3.07.799 4.955.799 1.886 0 3.638-.292 4.955-.799.187-.072.37-.15.545-.234v3.03c-.004.018-.032.098-.184.236-.205.187-.558.401-1.079.601-1.035.399-2.533.666-4.237.666-1.704 0-3.202-.267-4.237-.666-.521-.2-.874-.414-1.08-.6-.151-.139-.179-.219-.183-.237Zm11-8.53v3.03c-.004.018-.032.098-.184.236-.205.187-.558.401-1.079.601-1.035.399-2.533.666-4.237.666-1.704 0-3.202-.267-4.237-.666-.521-.2-.874-.414-1.08-.6-.151-.139-.179-.219-.183-.237v-3.03c.176.084.358.162.545.234 1.317.507 3.07.799 4.955.799 1.886 0 3.638-.292 4.955-.799.187-.072.37-.15.545-.234Z'></path>\"]];","export default [[\"<path d='M1.5 1A1.5 1.5 0 0 0 0 2.5v2c0 .384.144.735.382 1A1.494 1.494 0 0 0 0 6.5v2A1.5 1.5 0 0 0 1.5 10H4V7a2 2 0 0 1 2-2h4.915c.055-.156.085-.325.085-.5v-2A1.5 1.5 0 0 0 9.5 1h-8Zm.75 2h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 2 3.75v-.5A.25.25 0 0 1 2.25 3Zm2 0h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 4 3.75v-.5A.25.25 0 0 1 4.25 3ZM6 3.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5ZM2.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 2 7.75v-.5A.25.25 0 0 1 2.25 7Z'></path><path d='M5 7.5A1.5 1.5 0 0 1 6.5 6h4A1.5 1.5 0 0 1 12 7.5v3a1.5 1.5 0 0 1-1.5 1.5h-4A1.5 1.5 0 0 1 5 10.5v-3ZM6.707 7 8.5 8.793 10.293 7H6.707ZM11 7.707 9.207 9.5a1 1 0 0 1-1.414 0L6 7.707V10.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5V7.707Z'></path>\",\"<path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v2c0 .384.144.735.382 1A1.494 1.494 0 0 0 1 6.5v2c0 .384.144.735.382 1a1.494 1.494 0 0 0-.382 1v2A1.5 1.5 0 0 0 2.5 14H6v-2.25a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25V10a2 2 0 0 1 2-2h1.5a.5.5 0 0 1 0-1h3a.5.5 0 0 1 0 1H15V6.5c0-.384-.144-.735-.382-1 .238-.265.382-.616.382-1v-2A1.5 1.5 0 0 0 13.5 1h-11ZM3 3.25A.25.25 0 0 1 3.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 3 3.75v-.5Zm2 0A.25.25 0 0 1 5.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 5 3.75v-.5ZM9.5 3h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1ZM3 7.25A.25.25 0 0 1 3.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 3 7.75v-.5ZM5.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 5 7.75v-.5A.25.25 0 0 1 5.25 7Zm-2 4h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25Z'></path><path d='M7 10.5A1.5 1.5 0 0 1 8.5 9h6a1.5 1.5 0 0 1 1.5 1.5v4a1.5 1.5 0 0 1-1.5 1.5h-6A1.5 1.5 0 0 1 7 14.5v-4Zm1.767-.5 2.404 2.103a.5.5 0 0 0 .658 0L14.233 10H8.767Zm6.233.657-2.512 2.199a1.5 1.5 0 0 1-1.976 0L8 10.657V14.5a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5v-3.843Z'></path>\",\"<path d='M4 1a3 3 0 0 0-3 3v2c0 .768.289 1.47.764 2A2.989 2.989 0 0 0 1 10v2c0 .768.289 1.47.764 2A2.989 2.989 0 0 0 1 16v2a3 3 0 0 0 3 3h4v-7a3 3 0 0 1 3-3 1 1 0 0 1 1-1h5a1 1 0 0 1 1 1h3v-1c0-.768-.289-1.47-.764-2 .475-.53.764-1.232.764-2V4a3 3 0 0 0-3-3H4Zm.5 3a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Zm0 6a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM4 16.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1ZM6.5 4a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM6 10.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm.5 5.5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM8 4.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm.5 5.5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM12 4h5a1 1 0 1 1 0 2h-5a1 1 0 1 1 0-2Z'></path><path d='M10 15a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H12a2 2 0 0 1-2-2v-7Zm2 1.239V22h10v-5.761l-3.112 2.52a3 3 0 0 1-3.776 0L12 16.239ZM13.648 15l2.723 2.204a1 1 0 0 0 1.258 0L20.352 15h-6.704Z'></path>\",\"<path d='M5 4a3 3 0 0 0-3 3v2c0 .768.289 1.47.764 2A2.989 2.989 0 0 0 2 13v2c0 .768.289 1.47.764 2A2.989 2.989 0 0 0 2 19v2a3 3 0 0 0 3 3h6v-6a3 3 0 0 1 3-3h2a1 1 0 1 1 0-2h7a1 1 0 1 1 0 2h5v-2c0-.768-.289-1.47-.764-2A2.99 2.99 0 0 0 28 9V7a3 3 0 0 0-3-3H5Zm0 3.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm.5 5.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5ZM5 19.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM8.5 7h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5ZM8 13.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm.5 5.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5ZM11 7.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm.5 5.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5ZM16 7h7a1 1 0 1 1 0 2h-7a1 1 0 1 1 0-2Z'></path><path d='M13 20a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H16a3 3 0 0 1-3-3v-8Zm2 8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-7.713l-5.112 4.138a3 3 0 0 1-3.776 0L15 20.287V28Zm1.59-9 4.78 3.87a1 1 0 0 0 1.26 0L27.41 19H16.59Z'></path>\"],[\"<path d='M0 2.5A1.5 1.5 0 0 1 1.5 1h8A1.5 1.5 0 0 1 11 2.5v2c0 .175-.03.344-.085.5H9.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-8a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H6a2 2 0 0 0-1.732 1H1.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H4v1H1.5A1.5 1.5 0 0 1 0 8.5v-2c0-.384.144-.735.382-1A1.494 1.494 0 0 1 0 4.5v-2Z'></path><path d='M2.25 3a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 3.75v-.5A.25.25 0 0 0 2.75 3h-.5ZM4 3.25A.25.25 0 0 1 4.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 4 3.75v-.5ZM6.5 3a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2ZM2 7.25A.25.25 0 0 1 2.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 2 7.75v-.5Zm3 .25A1.5 1.5 0 0 1 6.5 6h4A1.5 1.5 0 0 1 12 7.5v3a1.5 1.5 0 0 1-1.5 1.5h-4A1.5 1.5 0 0 1 5 10.5v-3ZM6.707 7 8.5 8.793 10.293 7H6.707ZM11 7.707 9.207 9.5a1 1 0 0 1-1.414 0L6 7.707V10.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5V7.707Z'></path>\",\"<path d='M3.25 3a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 4 3.75v-.5A.25.25 0 0 0 3.75 3h-.5ZM5 3.25A.25.25 0 0 1 5.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 5 3.75v-.5ZM9.5 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Z'></path><path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v2c0 .384.144.735.382 1A1.494 1.494 0 0 0 1 6.5v2c0 .384.144.735.382 1a1.494 1.494 0 0 0-.382 1v2A1.5 1.5 0 0 0 2.5 14H6v-1H2.5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5H6c0-.364.097-.706.268-1H2.5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 .5.5V8h1V6.5c0-.384-.144-.735-.382-1 .238-.265.382-.616.382-1v-2A1.5 1.5 0 0 0 13.5 1h-11Zm0 4a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-11Z'></path><path d='M6 11.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25ZM12.5 8h-3a.5.5 0 0 1 0-1h3a.5.5 0 0 1 0 1ZM3 7.25A.25.25 0 0 1 3.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 3 7.75v-.5ZM5.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 7.75v-.5A.25.25 0 0 0 5.75 7h-.5Zm-2 4a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5ZM7 10.5A1.5 1.5 0 0 1 8.5 9h6a1.5 1.5 0 0 1 1.5 1.5v4a1.5 1.5 0 0 1-1.5 1.5h-6A1.5 1.5 0 0 1 7 14.5v-4Zm1 4a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5v-3.843l-2.512 2.198a1.5 1.5 0 0 1-1.976 0L8 10.657V14.5Zm.767-4.5 2.404 2.103a.5.5 0 0 0 .658 0L14.232 10H8.768Z'></path>\",\"<path d='M4 4.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1ZM6.5 4a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Zm1.5.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm4-.5a1 1 0 1 0 0 2h5a1 1 0 1 0 0-2h-5Z'></path><path d='M1 4a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v2c0 .768-.289 1.47-.764 2 .475.53.764 1.232.764 2v1h-2v-1a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h4.17c-.11.313-.17.65-.17 1v1H4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h4v2H4a3 3 0 0 1-3-3v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 1 12v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 1 6V4Zm3 3h14a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1Z'></path><path d='M17 10a1 1 0 0 1 1 1h-7a1 1 0 0 1 1-1h5ZM4.5 10a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM4 16.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm2-6a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Zm2-6a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Zm1.5 5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H12a2 2 0 0 1-2-2v-7Zm3.648 0 2.723 2.204a1 1 0 0 0 1.258 0L20.352 15h-6.704ZM12 22h10v-5.761l-3.112 2.52a3 3 0 0 1-3.776 0L12 16.239V22Z'></path>\",\"<path d='M5 7.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM8.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm5-.5a1 1 0 1 0 0 2h7a1 1 0 1 0 0-2h-7Z'></path><path d='M2 7a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v2a2.99 2.99 0 0 1-.764 2c.475.53.764 1.232.764 2v2h-2v-2a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h7.354a4 4 0 0 0-1.228 2H5a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h6v2H5a3 3 0 0 1-3-3v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 2 15v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 2 9V7Zm3-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H5Z'></path><path d='M24 14a1 1 0 0 1-1 1h-7a1 1 0 1 1 0-2h7a1 1 0 0 1 1 1ZM5.5 13a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM5 19.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3-6a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm1.5 7a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H16a3 3 0 0 1-3-3v-8Zm2 8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-7.713l-5.112 4.138a3 3 0 0 1-3.776 0L15 20.287V28Zm1.59-9 4.78 3.87a1 1 0 0 0 1.26 0L27.41 19H16.59Z'></path>\"]];","export default [[\"<path d='M0 2.5A1.5 1.5 0 0 1 1.5 1h8A1.5 1.5 0 0 1 11 2.5v1.717A3.142 3.142 0 0 0 9.85 4a2.8 2.8 0 0 0-1.35.33A2.8 2.8 0 0 0 7.15 4H8.5a.5.5 0 0 0 0-1h-2a.5.5 0 0 0 0 1h.65a3.15 3.15 0 0 0-2.517 5.04l.155.191c.015.018.03.037.047.054l.64.715H1.5A1.5 1.5 0 0 1 0 8.5v-2c0-.384.144-.735.382-1A1.494 1.494 0 0 1 0 4.5v-2Zm2 .75v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 3.75v-.5A.25.25 0 0 0 2.75 3h-.5a.25.25 0 0 0-.25.25Zm2 0v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 5 3.75v-.5A.25.25 0 0 0 4.75 3h-.5a.25.25 0 0 0-.25.25Zm-2 4v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 7.75v-.5A.25.25 0 0 0 2.75 7h-.5a.25.25 0 0 0-.25.25Z'></path><path d='M7.15 5a2.15 2.15 0 0 0-1.742 3.409l.156.19.015.019 2.549 2.84a.5.5 0 0 0 .744 0l2.55-2.84.002-.003.073-.084.011-.013A2.15 2.15 0 0 0 9.85 5a1.75 1.75 0 0 0-1.164.407 2.1 2.1 0 0 0-.186.176 2.098 2.098 0 0 0-.186-.176A1.753 1.753 0 0 0 7.15 5ZM6 7.15C6 6.515 6.515 6 7.15 6c.253 0 .404.075.524.175.136.114.241.263.39.474l.027.039a.5.5 0 0 0 .818 0l.027-.039c.149-.211.254-.36.39-.474.12-.1.271-.175.524-.175a1.15 1.15 0 0 1 .892 1.876l-.067.075L8.5 10.376 6.331 7.96l-.135-.166A1.142 1.142 0 0 1 6 7.15Z'></path>\",\"<path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v2c0 .384.144.735.382 1A1.494 1.494 0 0 0 1 6.5v2c0 .384.144.735.382 1a1.494 1.494 0 0 0-.382 1v2A1.5 1.5 0 0 0 2.5 14h6.088l-1.603-1.787a1.447 1.447 0 0 1-.046-.054l-.208-.255A3.69 3.69 0 0 1 6 9.7 3.7 3.7 0 0 1 9.7 6c.719 0 1.314.2 1.8.523A3.193 3.193 0 0 1 13.3 6c.612 0 1.189.149 1.697.411a1.492 1.492 0 0 0-.379-.911c.238-.265.382-.616.382-1v-2A1.5 1.5 0 0 0 13.5 1h-11Zm.75 2h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 3 3.75v-.5A.25.25 0 0 1 3.25 3Zm2 0h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 5 3.75v-.5A.25.25 0 0 1 5.25 3ZM9 3.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5ZM3.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 3 7.75v-.5A.25.25 0 0 1 3.25 7ZM5 7.25A.25.25 0 0 1 5.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 5 7.75v-.5Zm-2 4a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5ZM5.25 11h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25Z'></path><path d='M9.7 7a2.7 2.7 0 0 0-2.193 4.273l.207.254a.46.46 0 0 0 .015.019l3.399 3.788a.5.5 0 0 0 .744 0l3.399-3.789.002-.002.099-.112.01-.013A2.7 2.7 0 0 0 13.3 7c-.621 0-1.084.203-1.445.504-.132.11-.25.233-.354.357a2.872 2.872 0 0 0-.354-.357C10.785 7.203 10.322 7 9.7 7ZM8 9.7A1.7 1.7 0 0 1 9.7 8c.378 0 .616.114.806.272.199.166.35.382.544.657l.041.059a.5.5 0 0 0 .818 0l.041-.059c.193-.275.345-.491.544-.657.19-.158.428-.272.806-.272a1.7 1.7 0 0 1 1.317 2.775l-.092.104-3.025 3.372-3.018-3.364-.187-.23A1.69 1.69 0 0 1 8 9.7Z'></path>\",\"<path d='M4 1a3 3 0 0 0-3 3v2c0 .768.289 1.47.764 2A2.989 2.989 0 0 0 1 10v2c0 .768.289 1.47.764 2A2.989 2.989 0 0 0 1 16v2a3 3 0 0 0 3 3h7.01l-1.295-1.38a3.02 3.02 0 0 1-.139-.158l-.31-.382a3.013 3.013 0 0 1-.135-.178A6.3 6.3 0 0 1 14.3 9c1.037 0 1.935.247 2.699.66.764-.413 1.662-.66 2.7-.66.398 0 .787.037 1.165.107A2.996 2.996 0 0 0 20.236 8c.475-.53.764-1.232.764-2V4a3 3 0 0 0-3-3H4Zm.5 3a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Zm0 6a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM4 16.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1ZM6.5 4a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM6 10.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm.5 5.5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM8 4.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm.5 5.5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM11 5a1 1 0 0 1 1-1h5a1 1 0 1 1 0 2h-5a1 1 0 0 1-1-1Z'></path><path d='M14.3 11a4.3 4.3 0 0 0-3.484 6.817l.311.382.046.053 5.098 5.432a1 1 0 0 0 1.458 0l5.098-5.432.02-.022.148-.168.022-.025A4.3 4.3 0 0 0 19.7 11c-.994 0-1.744.327-2.329.814-.133.11-.256.23-.371.352a4.201 4.201 0 0 0-.371-.352C16.044 11.327 15.294 11 14.3 11ZM12 15.3a2.3 2.3 0 0 1 2.3-2.3c.506 0 .807.15 1.048.35.273.227.482.525.78.948l.054.078a1 1 0 0 0 1.636 0l.054-.078c.297-.423.507-.72.78-.948.24-.2.542-.35 1.048-.35a2.3 2.3 0 0 1 1.784 3.751l-.126.143L17 21.539l-4.344-4.63-.264-.323A2.285 2.285 0 0 1 12 15.3Z'></path>\",\"<path d='M2 7a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v2a2.99 2.99 0 0 1-.764 2c.475.53.764 1.232.764 2v.398A7.39 7.39 0 0 0 25.6 13c-1.437 0-2.628.402-3.6 1.045-.972-.643-2.163-1.045-3.6-1.045a7.4 7.4 0 0 0-6.466 11H5a3 3 0 0 1-3-3v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 2 15v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 2 9V7Zm3.5 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm0 6a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM5 19.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM8.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM8 13.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM11 7.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM15 8a1 1 0 0 0 1 1h7a1 1 0 1 0 0-2h-7a1 1 0 0 0-1 1Z'></path><path d='M18.4 15a5.4 5.4 0 0 0-4.387 8.546l.415.509.03.036 6.798 7.577a1 1 0 0 0 1.488 0l6.789-7.568A5.382 5.382 0 0 0 31 20.4a5.4 5.4 0 0 0-5.4-5.4c-1.244 0-2.17.406-2.892 1.008-.264.22-.498.465-.708.715a5.728 5.728 0 0 0-.709-.715C20.57 15.406 19.645 15 18.4 15ZM15 20.4a3.4 3.4 0 0 1 3.4-3.4c.756 0 1.233.229 1.611.544.399.332.703.765 1.089 1.314l.082.118a1 1 0 0 0 1.636 0l.082-.118c.386-.55.69-.982 1.089-1.314.378-.315.855-.544 1.611-.544a3.4 3.4 0 0 1 2.453 5.755L22 29.503l-6.036-6.73-.375-.46A3.38 3.38 0 0 1 15 20.4Z'></path>\"],[\"<path d='M1.5 1A1.5 1.5 0 0 0 0 2.5v2c0 .384.144.735.382 1A1.494 1.494 0 0 0 0 6.5v2A1.5 1.5 0 0 0 1.5 10h3.976l-.641-.715a1.518 1.518 0 0 1-.047-.054l-.155-.191A1.517 1.517 0 0 1 4.6 9H1.5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h2.717c.146-.373.362-.712.63-1H1.5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v1.504c.351.016.688.09 1 .213V2.5A1.5 1.5 0 0 0 9.5 1h-8Z'></path><path d='M8.5 4h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 0 1ZM2 3.25A.25.25 0 0 1 2.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 2 3.75v-.5ZM4.25 3a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 5 3.75v-.5A.25.25 0 0 0 4.75 3h-.5Zm-2 4a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 7.75v-.5A.25.25 0 0 0 2.75 7h-.5Zm4.9-2a2.15 2.15 0 0 0-1.742 3.409l.156.19.015.019 2.549 2.84a.5.5 0 0 0 .744 0l2.55-2.84.002-.003.073-.084.011-.013A2.15 2.15 0 0 0 9.85 5a1.75 1.75 0 0 0-1.164.407 2.1 2.1 0 0 0-.186.176 2.098 2.098 0 0 0-.186-.176A1.753 1.753 0 0 0 7.15 5ZM6 7.15C6 6.515 6.515 6 7.15 6c.253 0 .404.075.524.175.136.114.241.263.39.474l.027.039a.5.5 0 0 0 .818 0l.027-.039c.149-.211.254-.36.39-.474.12-.1.271-.175.524-.175a1.15 1.15 0 0 1 .892 1.876l-.067.075L8.5 10.376 6.331 7.96l-.135-.166A1.142 1.142 0 0 1 6 7.15Z'></path>\",\"<path d='M3.25 3a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 4 3.75v-.5A.25.25 0 0 0 3.75 3h-.5ZM5 3.25A.25.25 0 0 1 5.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 5 3.75v-.5ZM9.5 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Z'></path><path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v2c0 .384.144.735.382 1A1.494 1.494 0 0 0 1 6.5v2c0 .384.144.735.382 1a1.494 1.494 0 0 0-.382 1v2A1.5 1.5 0 0 0 2.5 14h6.088l-.897-1H2.5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h3.512a3.734 3.734 0 0 1 .054-1H2.5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 .114.013c.496.042.963.181 1.383.398a1.492 1.492 0 0 0-.379-.911c.238-.265.382-.616.382-1v-2A1.5 1.5 0 0 0 13.5 1h-11Zm0 4a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-11Z'></path><path d='M3 7.25A.25.25 0 0 1 3.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 3 7.75v-.5ZM5.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 7.75v-.5A.25.25 0 0 0 5.75 7h-.5Zm-2 4a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5Zm1.75.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5ZM9.7 7a2.7 2.7 0 0 0-2.193 4.273l.207.254a.46.46 0 0 0 .015.019l3.399 3.788a.5.5 0 0 0 .744 0l3.399-3.789.002-.002.099-.112.01-.013A2.7 2.7 0 0 0 13.3 7c-.621 0-1.084.203-1.445.504-.132.11-.25.233-.354.357a2.872 2.872 0 0 0-.354-.357C10.785 7.203 10.322 7 9.7 7ZM8 9.7A1.7 1.7 0 0 1 9.7 8c.378 0 .616.114.806.272.199.166.35.382.544.657l.041.059a.5.5 0 0 0 .818 0l.041-.059c.193-.275.345-.491.544-.657.19-.158.428-.272.806-.272a1.7 1.7 0 0 1 1.317 2.775l-.092.104-3.025 3.372-3.018-3.364-.187-.23A1.69 1.69 0 0 1 8 9.7Z'></path>\",\"<path d='M4.5 4a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Zm1.5.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1ZM8.5 4a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM12 4a1 1 0 1 0 0 2h5a1 1 0 1 0 0-2h-5Z'></path><path d='M4 1a3 3 0 0 0-3 3v2c0 .768.289 1.47.764 2A2.989 2.989 0 0 0 1 10v2c0 .768.289 1.47.764 2A2.989 2.989 0 0 0 1 16v2a3 3 0 0 0 3 3h7.01l-1.295-1.38a3.02 3.02 0 0 1-.139-.158l-.31-.382a3.186 3.186 0 0 1-.064-.08H4a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1h4.007a6.272 6.272 0 0 1 .426-2H4a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1h14a.99.99 0 0 1 .479.122A5.96 5.96 0 0 1 19.7 9c.398 0 .787.037 1.165.107A2.996 2.996 0 0 0 20.236 8c.475-.53.764-1.232.764-2V4a3 3 0 0 0-3-3H4Zm14 6H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1Z'></path><path d='M4 10.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Zm2-6a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM6 16.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm2-6a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm6.3.5a4.3 4.3 0 0 0-3.484 6.817l.311.382.046.053 5.098 5.432a1 1 0 0 0 1.458 0l5.098-5.432.02-.022.148-.168.022-.025A4.3 4.3 0 0 0 19.7 11c-.994 0-1.744.327-2.329.814-.133.11-.256.23-.371.352a4.201 4.201 0 0 0-.371-.352C16.044 11.327 15.294 11 14.3 11ZM12 15.3a2.3 2.3 0 0 1 2.3-2.3c.506 0 .807.15 1.048.35.273.227.482.525.78.948l.054.078a1 1 0 0 0 1.636 0l.054-.078c.297-.423.507-.72.78-.948.24-.2.542-.35 1.048-.35a2.3 2.3 0 0 1 1.784 3.751l-.126.143L17 21.539l-4.344-4.63-.264-.323A2.285 2.285 0 0 1 12 15.3Z'></path>\",\"<path d='M5.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM16 7a1 1 0 1 0 0 2h7a1 1 0 1 0 0-2h-7Z'></path><path d='M5 4a3 3 0 0 0-3 3v2c0 .768.289 1.47.764 2A2.989 2.989 0 0 0 2 13v2c0 .768.289 1.47.764 2A2.989 2.989 0 0 0 2 19v2a3 3 0 0 0 3 3h6.934a7.377 7.377 0 0 1-.76-2H5a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1h6.398a7.378 7.378 0 0 1 1.052-2H5a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1h20a1 1 0 0 1 1 1v.01a7.39 7.39 0 0 1 2 .388V13c0-.768-.289-1.47-.764-2A2.99 2.99 0 0 0 28 9V7a3 3 0 0 0-3-3H5ZM4 7a1 1 0 0 1 1-1h20a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7Z'></path><path d='M5 13.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3-6a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM8 19.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm7.4 1.5a5.4 5.4 0 0 0-4.387 8.546l.415.509.03.036 6.798 7.577a1 1 0 0 0 1.488 0l6.789-7.568A5.382 5.382 0 0 0 31 20.4a5.4 5.4 0 0 0-5.4-5.4c-1.244 0-2.17.406-2.892 1.008-.264.22-.498.465-.708.715a5.728 5.728 0 0 0-.709-.715C20.57 15.406 19.645 15 18.4 15ZM15 20.4a3.4 3.4 0 0 1 3.4-3.4c.756 0 1.233.229 1.611.544.399.332.703.765 1.089 1.314l.082.118a1 1 0 0 0 1.636 0l.082-.118c.386-.55.69-.982 1.089-1.314.378-.315.855-.544 1.611-.544a3.4 3.4 0 0 1 2.453 5.755L22 29.503l-6.036-6.73-.375-.46A3.38 3.38 0 0 1 15 20.4Z'></path>\"]];","export default [[\"<path d='M0 2.5A1.5 1.5 0 0 1 1.5 1h8A1.5 1.5 0 0 1 11 2.5v2c0 .384-.144.735-.382 1 .238.265.382.616.382 1v.55a2.493 2.493 0 0 0-.261-.039A2 2 0 0 0 9 6H6a2 2 0 0 0-2 2v1.5c0 .17.012.337.035.5H1.5A1.5 1.5 0 0 1 0 8.5v-2c0-.384.144-.735.382-1A1.494 1.494 0 0 1 0 4.5v-2Zm2.25.5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 3.75v-.5A.25.25 0 0 0 2.75 3h-.5Zm2 0a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 5 3.75v-.5A.25.25 0 0 0 4.75 3h-.5ZM6 3.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 0-1h-2a.5.5 0 0 0-.5.5ZM2.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 7.75v-.5A.25.25 0 0 0 2.75 7h-.5Z'></path><path d='M5 8a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v.085a1.5 1.5 0 1 1-.333 2.662A2.499 2.499 0 0 1 5 9.5V8Zm4 0H6v1.5a1.5 1.5 0 0 0 3 0V8Zm1.5 2a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path>\",\"<path d='M1 2.5A1.5 1.5 0 0 1 2.5 1h11A1.5 1.5 0 0 1 15 2.5v2c0 .384-.144.735-.382 1 .238.265.382.616.382 1v2a1.5 1.5 0 0 1-.136.626 2.982 2.982 0 0 0-.195-.051A2.249 2.249 0 0 0 12.75 8h-.25a.5.5 0 0 0 0-1h-3a.5.5 0 0 0 0 1H8.25A2.25 2.25 0 0 0 6 10.25v1a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v.75c0 .526.09 1.03.256 1.5H2.5A1.5 1.5 0 0 1 1 12.5v-2c0-.384.144-.735.382-1A1.494 1.494 0 0 1 1 8.5v-2c0-.384.144-.735.382-1A1.494 1.494 0 0 1 1 4.5v-2Zm2.25.5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 4 3.75v-.5A.25.25 0 0 0 3.75 3h-.5Zm2 0a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 3.75v-.5A.25.25 0 0 0 5.75 3h-.5ZM9 3.5a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5ZM3.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 4 7.75v-.5A.25.25 0 0 0 3.75 7h-.5ZM5 7.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 7.75v-.5A.25.25 0 0 0 5.75 7h-.5a.25.25 0 0 0-.25.25Zm-2 4v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25Z'></path><path d='M8.25 9C7.56 9 7 9.56 7 10.25v2.25c0 .98.402 1.865 1.05 2.5H7.5a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-.55c.3-.294.546-.641.726-1.026A2 2 0 1 0 14 10h-.026c-.116-.57-.62-1-1.225-1h-4.5ZM14 13h-.035a3.53 3.53 0 0 0 .035-.5V11a1 1 0 1 1 0 2Zm-3.5 2A2.5 2.5 0 0 1 8 12.5v-2.25a.25.25 0 0 1 .25-.25h4.5a.25.25 0 0 1 .25.25v2.25a2.5 2.5 0 0 1-2.5 2.5Z'></path>\",\"<path d='M1 4a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v2c0 .768-.289 1.47-.764 2 .475.53.764 1.232.764 2v2c0 .174-.015.345-.043.51A3.981 3.981 0 0 0 19 12h-2a1 1 0 1 0 0-2h-5a1 1 0 1 0 0 2 4 4 0 0 0-4 4v2.5c0 .877.15 1.718.427 2.5H4a3 3 0 0 1-3-3v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 1 12v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 1 6V4Zm3 .5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-1 0Zm0 6v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-1 0Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM6 4.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-1 0Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM6 16.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-1 0ZM8.5 4a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM8 10.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-1 0ZM11 5a1 1 0 0 0 1 1h5a1 1 0 1 0 0-2h-5a1 1 0 0 0-1 1Z'></path><path d='M12 14a2 2 0 0 0-2 2v2.5c0 1.33.472 2.55 1.257 3.5H11a1 1 0 1 0 0 2h9a1 1 0 1 0 0-2h-.257a5.51 5.51 0 0 0 .685-1.055 3 3 0 1 0 .311-5.934A2 2 0 0 0 19 14h-7Zm9 5h-.022a5.58 5.58 0 0 0 .022-.5V17a1 1 0 1 1 0 2Zm-5.5 3a3.5 3.5 0 0 1-3.5-3.5V16h7v2.5a3.5 3.5 0 0 1-3.5 3.5Z'></path>\",\"<path d='M2 7a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v2a2.99 2.99 0 0 1-.764 2c.475.53.764 1.232.764 2v2c0 .398-.078.778-.218 1.126A3.987 3.987 0 0 0 25 15h-2a1 1 0 1 0 0-2h-7a1 1 0 1 0 0 2h-1a4 4 0 0 0-4 4v4c0 .338.019.672.055 1H5a3 3 0 0 1-3-3v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 2 15v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 2 9V7Zm3 .5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Zm0 6v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM8 7.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM8 19.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM11.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm-.5 6.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM15 8a1 1 0 0 0 1 1h7a1 1 0 1 0 0-2h-7a1 1 0 0 0-1 1Z'></path><path d='M15 17a2 2 0 0 0-2 2v4a6.996 6.996 0 0 0 3.392 6H14a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2h-2.392a7.037 7.037 0 0 0 2.25-2.166A4.002 4.002 0 0 0 31 23a4 4 0 0 0-4-4 2 2 0 0 0-2-2H15Zm12 8a2.03 2.03 0 0 1-.284-.02A7.002 7.002 0 0 0 27 23v-2a2 2 0 1 1 0 4Zm-12-6h10v4a5 5 0 0 1-10 0v-4Z'></path>\"],[\"<path d='M2.25 3a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 3.75v-.5A.25.25 0 0 0 2.75 3h-.5ZM4 3.25A.25.25 0 0 1 4.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 4 3.75v-.5ZM6.5 3a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2Z'></path><path d='M0 2.5A1.5 1.5 0 0 1 1.5 1h8A1.5 1.5 0 0 1 11 2.5v2c0 .384-.144.735-.382 1 .238.265.382.616.382 1v.55a2.493 2.493 0 0 0-.261-.039 2.01 2.01 0 0 0-.824-.79A.5.5 0 0 0 9.5 6h-8a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H4v.5c0 .17.012.337.035.5H1.5A1.5 1.5 0 0 1 0 8.5v-2c0-.384.144-.735.382-1A1.494 1.494 0 0 1 0 4.5v-2ZM1.5 2a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-8Z'></path><path d='M2 7.25A.25.25 0 0 1 2.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 2 7.75v-.5ZM5 8a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v.085a1.5 1.5 0 1 1-.333 2.662A2.499 2.499 0 0 1 5 9.5V8Zm4 0H6v1.5a1.5 1.5 0 0 0 3 0V8Zm1.5 2a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path>\",\"<path d='M3.25 3a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 4 3.75v-.5A.25.25 0 0 0 3.75 3h-.5ZM5 3.25A.25.25 0 0 1 5.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 5 3.75v-.5ZM9.5 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Z'></path><path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v2c0 .384.144.735.382 1A1.494 1.494 0 0 0 1 6.5v2c0 .384.144.735.382 1a1.494 1.494 0 0 0-.382 1v2A1.5 1.5 0 0 0 2.5 14h3.756a4.474 4.474 0 0 1-.229-1H2.5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h3.514c.04-.367.17-.708.365-1H2.5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 .5.5v1.879c.27.18.499.418.67.696.065.015.13.032.194.051A1.5 1.5 0 0 0 15 8.5v-2c0-.384-.144-.735-.382-1 .238-.265.382-.616.382-1v-2A1.5 1.5 0 0 0 13.5 1h-11Zm0 4a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-11Z'></path><path d='M6 11.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25ZM12.5 8h-3a.5.5 0 0 1 0-1h3a.5.5 0 0 1 0 1ZM3 7.25A.25.25 0 0 1 3.25 7h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 3 7.75v-.5ZM5.25 7a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 7.75v-.5A.25.25 0 0 0 5.75 7h-.5Zm-2 4a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5Zm5-2C7.56 9 7 9.56 7 10.25v2.25c0 .98.402 1.865 1.05 2.5H7.5a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-.55c.3-.294.546-.641.726-1.026A2 2 0 1 0 14 10h-.026c-.116-.57-.62-1-1.225-1h-4.5ZM14 13h-.035a3.53 3.53 0 0 0 .035-.5V11a1 1 0 1 1 0 2Zm-3.5 2A2.5 2.5 0 0 1 8 12.5v-2.25a.25.25 0 0 1 .25-.25h4.5a.25.25 0 0 1 .25.25v2.25a2.5 2.5 0 0 1-2.5 2.5Z'></path>\",\"<path d='M4 4.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1ZM6.5 4a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Zm1.5.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm4-.5a1 1 0 1 0 0 2h5a1 1 0 1 0 0-2h-5Z'></path><path d='M1 4a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v2c0 .768-.289 1.47-.764 2 .475.53.764 1.232.764 2v2c0 .174-.015.345-.043.51A3.981 3.981 0 0 0 19 12v-2a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h5.354a4 4 0 0 0-1.228 2H4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h4.016c.046.697.187 1.368.41 2H4a3 3 0 0 1-3-3v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 1 12v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 1 6V4Zm3 3h14a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1Z'></path><path d='M18 11a1 1 0 0 1-1 1h-5a1 1 0 1 1 0-2h5a1 1 0 0 1 1 1ZM4.5 10a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5ZM4 16.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm2-6a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Zm2-6a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-.5-.5Zm3.5 4a2 2 0 0 0-2 2v2.5c0 1.33.472 2.55 1.257 3.5H11a1 1 0 1 0 0 2h9a1 1 0 1 0 0-2h-.257a5.51 5.51 0 0 0 .685-1.055 3 3 0 1 0 .311-5.934A2 2 0 0 0 19 14h-7Zm9 5h-.022a5.58 5.58 0 0 0 .022-.5V17a1 1 0 1 1 0 2Zm-5.5 3a3.5 3.5 0 0 1-3.5-3.5V16h7v2.5a3.5 3.5 0 0 1-3.5 3.5Z'></path>\",\"<path d='M5 7.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM8.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm5-.5a1 1 0 1 0 0 2h7a1 1 0 1 0 0-2h-7Z'></path><path d='M2 7a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v2a2.99 2.99 0 0 1-.764 2c.475.53.764 1.232.764 2v2c0 .398-.078.778-.218 1.126a3.994 3.994 0 0 0-1.79-1.002c.005-.04.008-.082.008-.124v-2a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h7.354a4 4 0 0 0-1.228 2H5a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h6v1c0 .338.019.672.055 1H5a3 3 0 0 1-3-3v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 2 15v-2c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 2 9V7Zm3-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H5Z'></path><path d='M24 14a1 1 0 0 1-1 1h-7a1 1 0 1 1 0-2h7a1 1 0 0 1 1 1ZM5.5 13a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM5 19.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm.5 5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3-6a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm3.5 4a2 2 0 0 0-2 2v4a6.996 6.996 0 0 0 3.392 6H14a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2h-2.392a7.037 7.037 0 0 0 2.25-2.166A4.002 4.002 0 0 0 31 23a4 4 0 0 0-4-4 2 2 0 0 0-2-2H15Zm12 8a2.03 2.03 0 0 1-.284-.02A7.002 7.002 0 0 0 27 23v-2a2 2 0 1 1 0 4Zm-12-6h10v4a5 5 0 0 1-10 0v-4Z'></path>\"]];","export default [[\"<path d='M11 7.5a3.5 3.5 0 1 0-7 0 3.5 3.5 0 0 0 7 0Z'></path><path d='M8 3.027A4.5 4.5 0 0 0 3.027 8H2.5A1.5 1.5 0 0 1 1 6.5v-4A1.5 1.5 0 0 1 2.5 1h4A1.5 1.5 0 0 1 8 2.5v.527Z'></path>\",\"<path d='M15 10.5a4.5 4.5 0 1 0-9 0 4.5 4.5 0 0 0 9 0Z'></path><path d='M11 5.022A5.5 5.5 0 0 0 5.022 11H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h5a2 2 0 0 1 2 2v1.022Z'></path>\",\"<path d='M22 15a7 7 0 1 0-14 0 7 7 0 0 0 14 0Z'></path><path d='M16 6.055A9 9 0 0 0 6.055 16H5.5A2.5 2.5 0 0 1 3 13.5v-8A2.5 2.5 0 0 1 5.5 3h8A2.5 2.5 0 0 1 16 5.5v.555Z'></path>\",\"<path d='M30 20c0-5.523-4.477-10-10-10s-10 4.477-10 10 4.477 10 10 10 10-4.477 10-10Z'></path><path d='M22 8.166C21.35 8.056 20.681 8 20 8 13.373 8 8 13.373 8 20c0 .681.057 1.35.166 2H6a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h13a3 3 0 0 1 3 3v2.166Z'></path>\"],[\"M8 4.035V2.5A1.5 1.5 0 0 0 6.5 1h-4A1.5 1.5 0 0 0 1 2.5v4A1.5 1.5 0 0 0 2.5 8h1.535A3.5 3.5 0 1 0 8 4.035ZM2.5 2h4a.5.5 0 0 1 .5.5v1.535A3.502 3.502 0 0 0 4.035 7H2.5a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5ZM5 7.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z\",\"M11 6.026V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h2.028A4.5 4.5 0 1 0 11 6.026ZM4 3h5a1 1 0 0 1 1 1v2.026A4.502 4.502 0 0 0 6.027 10H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Zm3 7.499a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z\",\"M16 8.07V5.5A2.5 2.5 0 0 0 13.5 3h-8A2.5 2.5 0 0 0 3 5.5v8A2.5 2.5 0 0 0 5.5 16h2.57A7.002 7.002 0 0 0 22 15a7.002 7.002 0 0 0-6-6.93ZM5.5 5h8a.5.5 0 0 1 .5.5v2.57A7.004 7.004 0 0 0 8.07 14H5.5a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 .5-.5ZM10 15a5 5 0 1 1 10 0 5 5 0 0 1-10 0Z\",\"M22 10.2V6a3 3 0 0 0-3-3H6a3 3 0 0 0-3 3v13a3 3 0 0 0 3 3h4.2c.927 4.564 4.962 8 9.8 8 5.523 0 10-4.477 10-10 0-4.838-3.436-8.873-8-9.8ZM6 5h13a1 1 0 0 1 1 1v4c-5.523 0-10 4.477-10 10H6a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1Zm6 15a8 8 0 1 1 16 0 8 8 0 0 1-16 0Z\"]];","export default [[\"M9 1a2 2 0 0 0-1.993 2.167L4.175 4.381a2 2 0 1 0 0 3.238l2.832 1.214a2 2 0 1 0 .331-.946L4.828 6.81a1.993 1.993 0 0 0 0-1.622l2.51-1.076A2 2 0 1 0 9 1Z\",\"M10 3.5a2.5 2.5 0 1 1 .522 1.53L5.92 6.87a2.504 2.504 0 0 1-.256 1.883l4.864 2.21a2.5 2.5 0 1 1-.445.896L4.959 9.53a2.5 2.5 0 1 1 .519-3.56l4.602-1.84A2.508 2.508 0 0 1 10 3.5Z\",\"M14 5.5a4.5 4.5 0 1 1 .795 2.555l-4.846 2.768a4.538 4.538 0 0 1-.223 2.226l5.069 2.896a4.5 4.5 0 1 1-.744 1.878L8.634 14.73a4.5 4.5 0 1 1 .57-5.783l4.845-2.77A4.532 4.532 0 0 1 14 5.5Z\",\"M25 2a5 5 0 0 0-4.711 6.68l-9.345 4.247a5 5 0 1 0-.01 6.159l9.236 4.617A5.006 5.006 0 0 0 25 30a5 5 0 1 0-3.935-8.085l-9.235-4.618a5.007 5.007 0 0 0 .004-2.578l9.5-4.318A5 5 0 1 0 25 2Z\"],[\"M7 3a2 2 0 1 1 .338 1.113L4.828 5.19a1.993 1.993 0 0 1 0 1.622l2.51 1.076a2 2 0 1 1-.331.946L4.175 7.619a2 2 0 1 1 0-3.238l2.832-1.214A2.026 2.026 0 0 1 7 3Zm2-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm0 6a1 1 0 1 0 0 2 1 1 0 0 0 0-2ZM2 6a1 1 0 1 1 2 0 1 1 0 0 1-2 0Z\",\"M12.5 1a2.5 2.5 0 0 0-2.42 3.13L5.478 5.97a2.5 2.5 0 1 0-.519 3.56l5.124 2.33a2.5 2.5 0 1 0 .445-.896L5.664 8.752A2.489 2.489 0 0 0 5.92 6.87l4.602-1.841A2.5 2.5 0 1 0 12.5 1ZM11 3.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm0 9a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM3.5 6a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z\",\"M18.5 1a4.5 4.5 0 0 0-4.45 5.177L9.206 8.945a4.5 4.5 0 1 0-.57 5.783l5.415 3.095a4.5 4.5 0 1 0 .744-1.878L9.727 13.05a4.492 4.492 0 0 0 .223-2.226l4.846-2.768A4.5 4.5 0 1 0 18.5 1ZM16 5.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Zm-13 6a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0ZM18.5 16a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z\",\"M25 2a5 5 0 0 0-4.711 6.68l-9.345 4.247a5 5 0 1 0-.01 6.159l9.236 4.617A5.006 5.006 0 0 0 25 30a5 5 0 1 0-3.935-8.085l-9.235-4.618a5.007 5.007 0 0 0 .004-2.578l9.5-4.318A5 5 0 1 0 25 2Zm-3 5a3 3 0 1 1 6 0 3 3 0 0 1-6 0ZM4 16a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm21 6a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z\"]];","export default [[\"<path d='M5.854.146a.5.5 0 0 0-.708 0l-2 2a.5.5 0 1 0 .708.708L5 1.707V6.5a.5.5 0 0 0 1 0V1.707l1.146 1.147a.5.5 0 1 0 .708-.708l-2-2Z'></path><path d='M3 5.5a.5.5 0 0 1 .5-.5.5.5 0 0 0 0-1A1.5 1.5 0 0 0 2 5.5v4A1.5 1.5 0 0 0 3.5 11h4A1.5 1.5 0 0 0 9 9.5v-4A1.5 1.5 0 0 0 7.5 4a.5.5 0 0 0 0 1 .5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-4Z'></path>\",\"<path d='M7.854 1.146a.5.5 0 0 0-.708 0l-3 3a.5.5 0 1 0 .708.708L7 2.707V9.5a.5.5 0 0 0 1 0V2.707l2.146 2.147a.5.5 0 0 0 .708-.708l-3-3Z'></path><path d='M4 7.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 0 0-1h-1A1.5 1.5 0 0 0 3 7.5v6A1.5 1.5 0 0 0 4.5 15h6a1.5 1.5 0 0 0 1.5-1.5v-6A1.5 1.5 0 0 0 10.5 6h-1a.5.5 0 0 0 0 1h1a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-6Z'></path>\",\"<path d='M12.707 1.293a1 1 0 0 0-1.414 0l-4 4a1 1 0 0 0 1.414 1.414L11 4.414V14a1 1 0 1 0 2 0V4.414l2.293 2.293a1 1 0 1 0 1.414-1.414l-4-4Z'></path><path d='M7 12a1 1 0 0 1 1-1h.5a1 1 0 1 0 0-2H8a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3v-8a3 3 0 0 0-3-3 1 1 0 1 0 0 2 1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-8Z'></path>\",\"<path d='M16.707 2.293a1 1 0 0 0-1.414 0l-5 5a1 1 0 1 0 1.414 1.414L15 5.414V18a1 1 0 1 0 2 0V5.414l3.293 3.293a1 1 0 1 0 1.414-1.414l-5-5Z'></path><path d='M9 15a1 1 0 0 1 1-1h2.444a1 1 0 1 0 0-2H10a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V15a3 3 0 0 0-3-3h-2.444a1 1 0 1 0 0 2H22a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H10a1 1 0 0 1-1-1V15Z'></path>\"]];","export default [[\"M6.428 1.242a.5.5 0 0 0-.856 0c-.149.246-.462.675-.917.898-.404.198-1.004.278-1.871-.32A.5.5 0 0 0 2 2.23v4.75c0 1.715 1.36 3.711 3.85 4.497a.5.5 0 0 0 .3 0C8.64 10.69 10 8.695 10 6.98V2.23a.5.5 0 0 0-.784-.412c-.867.599-1.467.52-1.871.32-.455-.222-.768-.65-.917-.897Z\",\"M8.41 1.215a.5.5 0 0 0-.82 0c-.19.272-.844.84-1.76 1.156-.891.307-1.976.358-3.073-.3A.5.5 0 0 0 2 2.5V9c0 2.298 2.09 4.944 5.868 5.982a.498.498 0 0 0 .264 0C11.91 13.944 14 11.298 14 9V2.5a.5.5 0 0 0-.757-.429c-1.097.658-2.182.607-3.073.3-.916-.316-1.57-.884-1.76-1.156Z\",\"M12.822 1.43a1 1 0 0 0-1.644 0c-.27.39-1.09 1.141-2.306 1.563-1.172.406-2.694.5-4.432-.352A1 1 0 0 0 3 3.538v10c0 3.61 2.785 7.792 8.735 9.426a1 1 0 0 0 .53 0C18.215 21.33 21 17.147 21 13.54v-10a1 1 0 0 0-1.44-.898c-1.738.852-3.26.758-4.432.352-1.216-.422-2.036-1.174-2.306-1.563Z\",\"M16.832 2.445a1 1 0 0 0-1.664 0c-.377.566-1.453 1.586-3.01 2.154-1.512.55-3.468.673-5.696-.486A1 1 0 0 0 5 5v13c0 4.505 3.355 9.856 10.725 11.962a1 1 0 0 0 .55 0C23.645 27.855 27 22.505 27 18V5a1 1 0 0 0-1.462-.887c-2.228 1.16-4.184 1.036-5.696.486-1.557-.568-2.633-1.588-3.01-2.154Z\"],[\"M6 1a.5.5 0 0 1 .428.242c.149.246.462.675.917.898.404.198 1.004.278 1.871-.32a.5.5 0 0 1 .784.41v4.75c0 1.715-1.36 3.711-3.85 4.497a.5.5 0 0 1-.3 0C3.36 10.69 2 8.695 2 6.98V2.23a.5.5 0 0 1 .784-.412c.867.599 1.467.52 1.871.32.455-.222.768-.65.917-.897A.5.5 0 0 1 6 1ZM3 3.072v3.909c0 1.18.96 2.788 3 3.492 2.04-.704 3-2.312 3-3.492V3.072c-.806.326-1.515.25-2.096-.035a3.022 3.022 0 0 1-.904-.7 3.022 3.022 0 0 1-.904.7c-.58.286-1.29.36-2.096.035Z\",\"M8 1a.5.5 0 0 1 .41.215c.19.272.844.84 1.76 1.156.891.307 1.976.358 3.073-.3A.5.5 0 0 1 14 2.5V9c0 2.298-2.09 4.944-5.868 5.982a.498.498 0 0 1-.264 0C4.09 13.944 2 11.298 2 9V2.5a.5.5 0 0 1 .757-.429c1.097.658 2.182.607 3.073.3.916-.316 1.57-.884 1.76-1.156A.5.5 0 0 1 8 1ZM3 3.298V9c0 1.68 1.59 3.996 5 4.98 3.41-.984 5-3.3 5-4.98V3.298c-1.143.436-2.25.33-3.155.018A5.442 5.442 0 0 1 8 2.24a5.442 5.442 0 0 1-1.845 1.077c-.905.312-2.012.418-3.155-.018Z\",\"M12 1a1 1 0 0 1 .822.43c.27.39 1.09 1.141 2.306 1.563 1.172.406 2.694.5 4.432-.352a1 1 0 0 1 1.44.897v10c0 3.61-2.785 7.792-8.735 9.426a1 1 0 0 1-.53 0C5.785 21.33 3 17.147 3 13.54v-10a1 1 0 0 1 1.44-.898c1.738.852 3.26.758 4.432.352 1.216-.422 2.036-1.174 2.306-1.563A1 1 0 0 1 12 1ZM5 4.994v8.545c0 2.501 1.947 5.935 7 7.421 5.053-1.486 7-4.92 7-7.421V4.994c-1.7.487-3.253.33-4.528-.112A7.602 7.602 0 0 1 12 3.462a7.602 7.602 0 0 1-2.472 1.42A7.426 7.426 0 0 1 5 4.994Z\",\"M16 2a1 1 0 0 1 .832.445c.377.566 1.453 1.586 3.01 2.154 1.512.55 3.468.673 5.696-.486A1 1 0 0 1 27 5v13c0 4.505-3.355 9.856-10.725 11.962a1 1 0 0 1-.55 0C8.355 27.855 5 22.505 5 18V5a1 1 0 0 1 1.462-.887c2.228 1.16 4.184 1.036 5.696.486 1.557-.568 2.633-1.588 3.01-2.154A1 1 0 0 1 16 2ZM7 6.515V18c0 3.446 2.572 8.015 9 9.958 6.428-1.943 9-6.512 9-9.958V6.515c-2.201.75-4.21.558-5.842-.037A9.153 9.153 0 0 1 16 4.525a9.153 9.153 0 0 1-3.158 1.953c-1.633.595-3.64.787-5.842.037Z\"]];","export default [[\"M6 1a.5.5 0 0 1 .428.242c.149.246.462.675.917.898.404.198 1.004.278 1.871-.32a.5.5 0 0 1 .784.41v4.75c0 1.715-1.36 3.711-3.85 4.497a.5.5 0 0 1-.3 0C3.36 10.69 2 8.695 2 6.98V2.23a.5.5 0 0 1 .784-.412c.867.599 1.467.52 1.871.32.455-.222.768-.65.917-.897A.5.5 0 0 1 6 1Zm1.854 4.854a.5.5 0 1 0-.708-.708L5.5 6.793l-.646-.647a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0l2-2Z\",\"M8 1a.5.5 0 0 1 .41.215c.19.272.844.84 1.76 1.156.891.307 1.976.358 3.073-.3A.5.5 0 0 1 14 2.5V9c0 2.298-2.09 4.944-5.868 5.982a.498.498 0 0 1-.264 0C4.09 13.944 2 11.298 2 9V2.5a.5.5 0 0 1 .757-.429c1.097.658 2.182.607 3.073.3.916-.316 1.57-.884 1.76-1.156A.5.5 0 0 1 8 1Zm3.354 5.354a.5.5 0 0 0-.708-.708L7 9.293 5.354 7.646a.5.5 0 1 0-.708.708l2 2a.5.5 0 0 0 .708 0l4-4Z\",\"M12 1a1 1 0 0 1 .822.43c.27.39 1.09 1.141 2.306 1.563 1.172.406 2.694.5 4.432-.352a1 1 0 0 1 1.44.897v10c0 3.61-2.785 7.792-8.735 9.426a1 1 0 0 1-.53 0C5.785 21.33 3 17.147 3 13.54v-10a1 1 0 0 1 1.44-.898c1.738.852 3.26.758 4.432.352 1.216-.422 2.036-1.174 2.306-1.563A1 1 0 0 1 12 1Zm4.707 9.707a1 1 0 0 0-1.414-1.414L11 13.586l-2.293-2.293a1 1 0 0 0-1.414 1.414l3 3a1 1 0 0 0 1.414 0l5-5Z\",\"M16 2a1 1 0 0 1 .832.445c.377.566 1.453 1.586 3.01 2.154 1.512.55 3.468.673 5.696-.486A1 1 0 0 1 27 5v13c0 4.505-3.355 9.856-10.725 11.962a1 1 0 0 1-.55 0C8.355 27.855 5 22.505 5 18V5a1 1 0 0 1 1.462-.887c2.228 1.16 4.184 1.036 5.696.486 1.557-.568 2.633-1.588 3.01-2.154A1 1 0 0 1 16 2Zm6.707 10.707a1 1 0 0 0-1.414-1.414L14 18.586l-3.293-3.29a1 1 0 0 0-1.414 1.416l4 3.995a1 1 0 0 0 1.414 0l8-8Z\"],[\"<path d='M7.854 5.854a.5.5 0 1 0-.708-.708L5.5 6.793l-.646-.647a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0l2-2Z'></path><path d='M6.428 1.242a.5.5 0 0 0-.856 0c-.149.246-.462.675-.917.898-.404.198-1.004.278-1.871-.32A.5.5 0 0 0 2 2.23v4.75c0 1.715 1.36 3.711 3.85 4.497a.5.5 0 0 0 .3 0C8.64 10.69 10 8.695 10 6.98V2.23a.5.5 0 0 0-.784-.412c-.867.599-1.467.52-1.871.32-.455-.222-.768-.65-.917-.897ZM3 6.98V3.072c.806.326 1.515.25 2.096-.035.378-.185.678-.448.904-.7.226.252.526.515.904.7.58.286 1.29.36 2.096.035v3.909c0 1.18-.96 2.788-3 3.492-2.04-.704-3-2.312-3-3.492Z'></path>\",\"<path d='M11.354 6.354a.5.5 0 0 0-.708-.708L7 9.293 5.354 7.646a.5.5 0 1 0-.708.708l2 2a.5.5 0 0 0 .708 0l4-4Z'></path><path d='M8.41 1.215a.5.5 0 0 0-.82 0c-.19.272-.844.84-1.76 1.156-.891.307-1.976.358-3.073-.3A.5.5 0 0 0 2 2.5V9c0 2.298 2.09 4.944 5.868 5.982a.498.498 0 0 0 .264 0C11.91 13.944 14 11.298 14 9V2.5a.5.5 0 0 0-.757-.429c-1.097.658-2.182.607-3.073.3-.916-.316-1.57-.884-1.76-1.156ZM3 9V3.298c1.143.436 2.25.33 3.155.018A5.442 5.442 0 0 0 8 2.24c.43.393 1.079.814 1.845 1.077.905.312 2.012.418 3.155-.018V9c0 1.68-1.59 3.996-5 4.98-3.41-.984-5-3.3-5-4.98Z'></path>\",\"<path d='M16.707 10.707a1 1 0 0 0-1.414-1.414L11 13.586l-2.293-2.293a1 1 0 0 0-1.414 1.414l3 3a1 1 0 0 0 1.414 0l5-5Z'></path><path d='M12.822 1.43a1 1 0 0 0-1.644 0c-.27.39-1.09 1.141-2.306 1.563-1.172.406-2.694.5-4.432-.352A1 1 0 0 0 3 3.538v10c0 3.61 2.785 7.792 8.735 9.426a1 1 0 0 0 .53 0C18.215 21.33 21 17.147 21 13.54v-10a1 1 0 0 0-1.44-.898c-1.738.852-3.26.758-4.432.352-1.216-.422-2.036-1.174-2.306-1.563ZM5 13.54V4.994c1.7.487 3.253.33 4.528-.112A7.602 7.602 0 0 0 12 3.462a7.602 7.602 0 0 0 2.472 1.42A7.426 7.426 0 0 0 19 4.994v8.545c0 2.501-1.947 5.935-7 7.421-5.053-1.486-7-4.92-7-7.421Z'></path>\",\"<path d='M22.707 12.707a1 1 0 0 0-1.414-1.414L14 18.586l-3.293-3.29a1 1 0 0 0-1.414 1.416l4 3.995a1 1 0 0 0 1.414 0l8-8Z'></path><path d='M16.832 2.445a1 1 0 0 0-1.664 0c-.377.566-1.453 1.586-3.01 2.154-1.512.55-3.468.673-5.696-.486A1 1 0 0 0 5 5v13c0 4.505 3.355 9.856 10.725 11.962a1 1 0 0 0 .55 0C23.645 27.855 27 22.505 27 18V5a1 1 0 0 0-1.462-.887c-2.228 1.16-4.184 1.036-5.696.486-1.557-.568-2.633-1.588-3.01-2.154ZM7 18V6.515c2.201.75 4.21.558 5.842-.037A9.153 9.153 0 0 0 16 4.525a9.153 9.153 0 0 0 3.158 1.953c1.633.595 3.64.787 5.842.037V18c0 3.446-2.572 8.015-9 9.958C9.572 26.015 7 21.446 7 18Z'></path>\"]];","export default [[\"<path d='M6 1a.5.5 0 0 1 .428.242c.149.246.462.675.917.898.404.198 1.004.278 1.871-.32a.5.5 0 0 1 .784.41v2.026a4.5 4.5 0 0 0-5.22 6.777C2.973 10.083 2 8.431 2 6.981V2.23a.5.5 0 0 1 .784-.412c.867.599 1.467.52 1.871.32.455-.222.768-.65.917-.897A.5.5 0 0 1 6 1Z'></path><path d='M10.354 7.854a.5.5 0 0 0-.708-.708L8 8.793l-.646-.647a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0l2-2Z'></path><path d='M5 8.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM8.5 6a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path>\",\"<path d='M8 1a.5.5 0 0 1 .41.215c.19.272.844.84 1.76 1.156.891.307 1.976.358 3.073-.3A.5.5 0 0 1 14 2.5v4.1a5.5 5.5 0 0 0-6.96 8.12C3.787 13.547 2 11.124 2 9V2.5a.5.5 0 0 1 .757-.429c1.097.658 2.182.607 3.073.3.916-.316 1.57-.884 1.76-1.156A.5.5 0 0 1 8 1Z'></path><path d='M13.854 10.854a.5.5 0 0 0-.708-.708L11 12.293l-.646-.647a.5.5 0 0 0-.708.708l1 1a.5.5 0 0 0 .708 0l2.5-2.5Z'></path><path d='M7 11.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM11.5 8a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M12 1a1 1 0 0 1 .822.43c.27.39 1.09 1.141 2.306 1.563 1.172.406 2.694.5 4.432-.352a1 1 0 0 1 1.44.897v5.398a9 9 0 0 0-11.307 13.32C5.145 20.316 3 16.706 3 13.539v-10a1 1 0 0 1 1.44-.898c1.738.852 3.26.758 4.432.352 1.216-.422 2.036-1.174 2.306-1.563A1 1 0 0 1 12 1Z'></path><path d='M20.207 16.207a1 1 0 0 0-1.414-1.414L16 17.586l-1.293-1.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l3.5-3.5Z'></path><path d='M10 17a7 7 0 1 1 14 0 7 7 0 0 1-14 0Zm7-5a5 5 0 1 0 0 10 5 5 0 0 0 0-10Z'></path>\",\"<path d='M16 2a1 1 0 0 1 .832.445c.377.566 1.453 1.586 3.01 2.154 1.512.55 3.468.673 5.696-.486A1 1 0 0 1 27 5v7.2c-1.5-.767-3.2-1.2-5-1.2-6.075 0-11 4.925-11 11a10.96 10.96 0 0 0 2.76 7.288C7.758 26.862 5 22.084 5 18V5a1 1 0 0 1 1.462-.887c2.228 1.16 4.184 1.036 5.696.486 1.557-.568 2.633-1.588 3.01-2.154A1 1 0 0 1 16 2Z'></path><path d='M26.707 20.707a1 1 0 0 0-1.414-1.414L20.5 24.086l-1.793-1.793a1 1 0 0 0-1.414 1.414l2.5 2.5a1 1 0 0 0 1.414 0l5.5-5.5Z'></path><path d='M13 22a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"],[\"<path d='M6.428 1.242a.5.5 0 0 0-.856 0c-.149.246-.462.675-.917.898-.404.198-1.004.278-1.871-.32A.5.5 0 0 0 2 2.23v4.75c0 1.45.973 3.103 2.78 4.053a4.474 4.474 0 0 1-.712-1.748C3.348 8.555 3 7.691 3 6.981V3.072c.806.326 1.515.25 2.096-.035.378-.185.678-.448.904-.7.226.252.526.515.904.7.58.286 1.29.36 2.096.035v.955c.347.039.682.117 1 .23V2.23a.5.5 0 0 0-.784-.412c-.867.599-1.467.52-1.871.32-.455-.222-.768-.65-.917-.897Z'></path><path d='M10.354 7.854a.5.5 0 0 0-.708-.708L8 8.793l-.646-.647a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0l2-2Z'></path><path d='M5 8.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM8.5 6a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path>\",\"<path d='M8.41 1.215a.5.5 0 0 0-.82 0c-.19.272-.844.84-1.76 1.156-.891.307-1.976.358-3.073-.3A.5.5 0 0 0 2 2.5V9c0 2.124 1.786 4.547 5.04 5.72a5.485 5.485 0 0 1-.733-1.402C4.06 12.169 3 10.373 3 9V3.298c1.143.436 2.25.33 3.155.018A5.442 5.442 0 0 0 8 2.24c.43.393 1.079.814 1.845 1.077.905.312 2.012.418 3.155-.018v2.909c.349.099.683.23 1 .393V2.5a.5.5 0 0 0-.757-.429c-1.097.658-2.182.607-3.073.3-.916-.316-1.57-.884-1.76-1.156Z'></path><path d='M13.854 10.854a.5.5 0 0 0-.708-.708L11 12.293l-.646-.647a.5.5 0 0 0-.708.708l1 1a.5.5 0 0 0 .708 0l2.5-2.5Z'></path><path d='M7 11.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM11.5 8a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M12.822 1.43a1 1 0 0 0-1.644 0c-.27.39-1.09 1.141-2.306 1.563-1.172.406-2.694.5-4.432-.352A1 1 0 0 0 3 3.538v10c0 3.168 2.145 6.777 6.693 8.718a8.96 8.96 0 0 1-1.427-3.077C5.956 17.502 5 15.291 5 13.54V4.994c1.7.487 3.253.33 4.528-.112A7.602 7.602 0 0 0 12 3.462a7.602 7.602 0 0 0 2.472 1.42A7.426 7.426 0 0 0 19 4.994v3.229c.701.16 1.372.4 2 .713V3.538a1 1 0 0 0-1.44-.897c-1.738.852-3.26.758-4.432.352-1.216-.422-2.036-1.174-2.306-1.563Z'></path><path d='M20.207 16.207a1 1 0 0 0-1.414-1.414L16 17.586l-1.293-1.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l3.5-3.5Z'></path><path d='M10 17a7 7 0 1 1 14 0 7 7 0 0 1-14 0Zm7-5a5 5 0 1 0 0 10 5 5 0 0 0 0-10Z'></path>\",\"<path d='M16.832 2.445a1 1 0 0 0-1.664 0c-.377.566-1.453 1.586-3.01 2.154-1.512.55-3.468.673-5.696-.486A1 1 0 0 0 5 5v13c0 4.084 2.757 8.862 8.76 11.288a11 11 0 0 1-2.021-3.317C8.406 23.711 7 20.548 7 18V6.515c2.201.75 4.21.558 5.842-.037A9.153 9.153 0 0 0 16 4.525a9.153 9.153 0 0 0 3.158 1.953c1.633.595 3.64.787 5.842.037v4.9c.697.196 1.366.46 2 .784V5a1 1 0 0 0-1.462-.887c-2.228 1.16-4.184 1.036-5.696.486-1.557-.568-2.633-1.588-3.01-2.154Z'></path><path d='M26.707 20.707a1 1 0 0 0-1.414-1.414L20.5 24.086l-1.793-1.793a1 1 0 0 0-1.414 1.414l2.5 2.5a1 1 0 0 0 1.414 0l5.5-5.5Z'></path><path d='M13 22a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"]];","export default [[\"M6 1a.5.5 0 0 1 .428.242c.149.246.462.675.917.898.404.198 1.004.278 1.871-.32a.5.5 0 0 1 .784.41v4.75c0 1.715-1.36 3.711-3.85 4.497a.5.5 0 0 1-.3 0C3.36 10.69 2 8.695 2 6.98V2.23a.5.5 0 0 1 .784-.412c.867.599 1.467.52 1.871.32.455-.222.768-.65.917-.897A.5.5 0 0 1 6 1Zm1.854 3.146a.5.5 0 0 0-.708 0L6 5.293 4.854 4.146a.5.5 0 1 0-.708.708L5.293 6 4.146 7.146a.5.5 0 1 0 .708.708L6 6.707l1.146 1.147a.5.5 0 1 0 .708-.708L6.707 6l1.147-1.146a.5.5 0 0 0 0-.708Z\",\"M8 1a.5.5 0 0 1 .41.215c.19.272.844.84 1.76 1.156.891.307 1.976.358 3.073-.3A.5.5 0 0 1 14 2.5V9c0 2.298-2.09 4.944-5.868 5.982a.498.498 0 0 1-.264 0C4.09 13.944 2 11.298 2 9V2.5a.5.5 0 0 1 .757-.429c1.097.658 2.182.607 3.073.3.916-.316 1.57-.884 1.76-1.156A.5.5 0 0 1 8 1Zm2.854 4.146a.5.5 0 0 0-.708 0L8 7.293 5.854 5.146a.5.5 0 1 0-.708.708L7.293 8l-2.147 2.146a.5.5 0 0 0 .708.708L8 8.707l2.146 2.147a.5.5 0 0 0 .708-.708L8.707 8l2.147-2.146a.5.5 0 0 0 0-.708Z\",\"M12 1a1 1 0 0 1 .822.43c.27.39 1.09 1.141 2.306 1.563 1.172.406 2.694.5 4.432-.352a1 1 0 0 1 1.44.897v10c0 3.61-2.785 7.792-8.735 9.426a1 1 0 0 1-.53 0C5.785 21.33 3 17.147 3 13.54v-10a1 1 0 0 1 1.44-.898c1.738.852 3.26.758 4.432.352 1.216-.422 2.036-1.174 2.306-1.563A1 1 0 0 1 12 1ZM8.293 8.293a1 1 0 0 1 1.414 0L12 10.586l2.293-2.293a1 1 0 1 1 1.414 1.414L13.414 12l2.293 2.293a1 1 0 0 1-1.414 1.414L12 13.414l-2.293 2.293a1 1 0 0 1-1.414-1.414L10.586 12 8.293 9.707a1 1 0 0 1 0-1.414Z\",\"M16 2a1 1 0 0 1 .832.445c.377.566 1.453 1.586 3.01 2.154 1.512.55 3.468.673 5.696-.486A1 1 0 0 1 27 5v13c0 4.505-3.355 9.856-10.725 11.962a1 1 0 0 1-.55 0C8.355 27.855 5 22.505 5 18V5a1 1 0 0 1 1.462-.887c2.228 1.16 4.184 1.036 5.696.486 1.557-.568 2.633-1.588 3.01-2.154A1 1 0 0 1 16 2Zm-4.707 18.707a1 1 0 0 1 0-1.414L14.586 16l-3.293-3.293a1 1 0 0 1 1.414-1.414L16 14.586l3.293-3.293a1 1 0 0 1 1.414 1.414L17.414 16l3.293 3.293a1 1 0 0 1-1.414 1.414L16 17.414l-3.293 3.293a1 1 0 0 1-1.414 0Z\"],[\"<path d='M4.146 4.146a.5.5 0 0 1 .708 0L6 5.293l1.146-1.147a.5.5 0 1 1 .708.708L6.707 6l1.147 1.146a.5.5 0 1 1-.708.708L6 6.707 4.854 7.854a.5.5 0 1 1-.708-.708L5.293 6 4.146 4.854a.5.5 0 0 1 0-.708Z'></path><path d='M6 1a.5.5 0 0 1 .428.242c.149.246.462.675.917.898.404.198 1.004.278 1.871-.32a.5.5 0 0 1 .784.41v4.75c0 1.715-1.36 3.711-3.85 4.497a.5.5 0 0 1-.3 0C3.36 10.69 2 8.695 2 6.98V2.23a.5.5 0 0 1 .784-.412c.867.599 1.467.52 1.871.32.455-.222.768-.65.917-.897A.5.5 0 0 1 6 1ZM3 3.072v3.909c0 1.18.96 2.788 3 3.492 2.04-.704 3-2.312 3-3.492V3.072c-.806.326-1.515.25-2.096-.035a3.022 3.022 0 0 1-.904-.7 3.022 3.022 0 0 1-.904.7c-.58.286-1.29.36-2.096.035Z'></path>\",\"<path d='M5.146 5.146a.5.5 0 0 1 .708 0L8 7.293l2.146-2.147a.5.5 0 0 1 .708.708L8.707 8l2.147 2.146a.5.5 0 0 1-.708.708L8 8.707l-2.146 2.147a.5.5 0 0 1-.708-.708L7.293 8 5.146 5.854a.5.5 0 0 1 0-.708Z'></path><path d='M8 1a.5.5 0 0 1 .41.215c.19.272.844.84 1.76 1.156.891.307 1.976.358 3.073-.3A.5.5 0 0 1 14 2.5V9c0 2.298-2.09 4.944-5.868 5.982a.498.498 0 0 1-.264 0C4.09 13.944 2 11.298 2 9V2.5a.5.5 0 0 1 .757-.429c1.097.658 2.182.607 3.073.3.916-.316 1.57-.884 1.76-1.156A.5.5 0 0 1 8 1ZM3 3.298V9c0 1.68 1.59 3.996 5 4.98 3.41-.984 5-3.3 5-4.98V3.298c-1.143.436-2.25.33-3.155.018A5.442 5.442 0 0 1 8 2.24a5.442 5.442 0 0 1-1.845 1.077c-.905.312-2.012.418-3.155-.018Z'></path>\",\"<path d='M8.293 8.293a1 1 0 0 1 1.414 0L12 10.586l2.293-2.293a1 1 0 1 1 1.414 1.414L13.414 12l2.293 2.293a1 1 0 0 1-1.414 1.414L12 13.414l-2.293 2.293a1 1 0 0 1-1.414-1.414L10.586 12 8.293 9.707a1 1 0 0 1 0-1.414Z'></path><path d='M12 1a1 1 0 0 1 .822.43c.27.39 1.09 1.141 2.306 1.563 1.172.406 2.694.5 4.432-.352a1 1 0 0 1 1.44.897v10c0 3.61-2.785 7.792-8.735 9.426a1 1 0 0 1-.53 0C5.785 21.33 3 17.147 3 13.54v-10a1 1 0 0 1 1.44-.898c1.738.852 3.26.758 4.432.352 1.216-.422 2.036-1.174 2.306-1.563A1 1 0 0 1 12 1ZM5 4.994v8.545c0 2.501 1.947 5.935 7 7.421 5.053-1.486 7-4.92 7-7.421V4.994c-1.7.487-3.253.33-4.528-.112A7.602 7.602 0 0 1 12 3.462a7.602 7.602 0 0 1-2.472 1.42A7.426 7.426 0 0 1 5 4.994Z'></path>\",\"<path d='M11.293 11.293a1 1 0 0 1 1.414 0L16 14.586l3.293-3.293a1 1 0 0 1 1.414 1.414L17.414 16l3.293 3.293a1 1 0 0 1-1.414 1.414L16 17.414l-3.293 3.293a1 1 0 0 1-1.414-1.414L14.586 16l-3.293-3.293a1 1 0 0 1 0-1.414Z'></path><path d='M16 2a1 1 0 0 1 .832.445c.377.566 1.453 1.586 3.01 2.154 1.512.55 3.468.673 5.696-.486A1 1 0 0 1 27 5v13c0 4.505-3.355 9.856-10.725 11.962a1 1 0 0 1-.55 0C8.355 27.855 5 22.505 5 18V5a1 1 0 0 1 1.462-.887c2.228 1.16 4.184 1.036 5.696.486 1.557-.568 2.633-1.588 3.01-2.154A1 1 0 0 1 16 2ZM7 6.515V18c0 3.446 2.572 8.015 9 9.958 6.428-1.943 9-6.512 9-9.958V6.515c-2.201.75-4.21.558-5.842-.037A9.153 9.153 0 0 1 16 4.525a9.153 9.153 0 0 1-3.158 1.953c-1.633.595-3.64.787-5.842.037Z'></path>\"]];","export default [[\"M7.22 2.072c-.387-.234-.657-.607-.792-.83a.5.5 0 0 0-.856 0c-.149.246-.462.675-.917.898-.404.198-1.004.278-1.871-.32A.5.5 0 0 0 2 2.23v4.75c0 1.715 1.36 3.711 3.85 4.497a.5.5 0 0 0 .3 0C8.64 10.69 10 8.695 10 6.98V2.23a.5.5 0 0 0-.784-.412 2.932 2.932 0 0 1-.693.365L6.207 4.5l1.647 1.646a.5.5 0 0 1 0 .708l-2 2a.5.5 0 1 1-.708-.708L6.793 6.5 5.146 4.854a.5.5 0 0 1 0-.708l2.075-2.074Z\",\"M8.977 1.747c-.28-.205-.476-.402-.566-.532a.5.5 0 0 0-.822 0c-.189.272-.843.84-1.76 1.156-.89.307-1.975.358-3.072-.3A.5.5 0 0 0 2 2.5V9c0 2.298 2.09 4.944 5.868 5.982a.498.498 0 0 0 .264 0C11.91 13.944 14 11.298 14 9V2.5a.5.5 0 0 0-.757-.429c-1.097.658-2.182.607-3.073.3a4.45 4.45 0 0 1-.311-.12L7.24 5.392l2.537 1.691a.5.5 0 0 1 .139.693l-2 3a.5.5 0 0 1-.832-.554l1.723-2.584-2.584-1.723a.5.5 0 0 1-.107-.736l2.86-3.433Z\",\"M13.97 2.437c-.58-.363-.976-.759-1.148-1.007a1 1 0 0 0-1.644 0c-.27.39-1.09 1.141-2.306 1.563-1.172.406-2.694.5-4.432-.352A1 1 0 0 0 3 3.538v10c0 3.61 2.785 7.792 8.735 9.426a1 1 0 0 0 .53 0C18.215 21.33 21 17.147 21 13.54v-10a1 1 0 0 0-1.44-.898c-1.37.671-2.606.756-3.642.562L11.496 8.73l4.018 2.412A1 1 0 0 1 15.8 12.6l-3 4a1 1 0 1 1-1.6-1.2l2.335-3.113-4.05-2.43a1 1 0 0 1-.266-1.482l4.75-5.938Z\",\"M17.9 3.525c-.514-.398-.879-.796-1.068-1.08a1 1 0 0 0-1.664 0c-.377.566-1.453 1.586-3.01 2.154-1.512.55-3.468.673-5.696-.486A1 1 0 0 0 5 5v13c0 4.505 3.355 9.856 10.725 11.962a1 1 0 0 0 .55 0C23.645 27.855 27 22.505 27 18V5a1 1 0 0 0-1.462-.887c-2.228 1.16-4.184 1.036-5.696.486a6.946 6.946 0 0 1-.184-.07l-.877 1.096-.013.015-4.287 5.145 5.074 3.383a1 1 0 0 1 .226 1.457l-4 5a1 1 0 1 1-1.562-1.25l3.319-4.148-5.093-3.395a1 1 0 0 1-.213-1.472l4.993-5.992.674-.843Z\"],[\"M6.428 1.242a.5.5 0 0 0-.856 0c-.149.246-.462.675-.917.898-.404.198-1.004.278-1.871-.32A.5.5 0 0 0 2 2.23v4.75c0 1.715 1.36 3.711 3.85 4.497a.5.5 0 0 0 .3 0C8.64 10.69 10 8.695 10 6.98V2.23a.5.5 0 0 0-.784-.412c-.867.599-1.467.52-1.871.32-.455-.222-.768-.65-.917-.897ZM3 6.98V3.072c.806.326 1.515.25 2.096-.035.378-.185.678-.448.904-.7.139.154.305.313.5.456L5.146 4.146a.5.5 0 0 0 0 .708L6.793 6.5 5.146 8.146a.5.5 0 1 0 .708.708l2-2a.5.5 0 0 0 0-.708L6.207 4.5l1.147-1.146a.5.5 0 0 0 .09-.125c.463.103.985.074 1.556-.157v3.909c0 1.18-.96 2.788-3 3.492-2.04-.704-3-2.312-3-3.492Z\",\"M8.41 1.215a.5.5 0 0 0-.82 0c-.19.272-.844.84-1.76 1.156-.891.307-1.976.358-3.073-.3A.5.5 0 0 0 2 2.5V9c0 2.298 2.09 4.944 5.868 5.982a.498.498 0 0 0 .264 0C11.91 13.944 14 11.298 14 9V2.5a.5.5 0 0 0-.757-.429c-1.097.658-2.182.607-3.073.3-.916-.316-1.57-.884-1.76-1.156ZM3 9V3.298c1.143.436 2.25.33 3.155.018A5.442 5.442 0 0 0 8 2.24c.1.092.213.185.335.277L6.115 5.18a.5.5 0 0 0 .108.736l2.584 1.723-1.723 2.584a.5.5 0 1 0 .832.554l2-3a.5.5 0 0 0-.139-.693L7.24 5.393l1.957-2.348a5.4 5.4 0 0 0 .648.271c.905.312 2.012.418 3.155-.018V9c0 1.68-1.59 3.996-5 4.98-3.41-.984-5-3.3-5-4.98Z\",\"M12.822 1.43a1 1 0 0 0-1.644 0c-.27.39-1.09 1.141-2.306 1.563-1.172.406-2.694.5-4.432-.352A1 1 0 0 0 3 3.538v10c0 3.61 2.785 7.792 8.735 9.426a1 1 0 0 0 .53 0C18.215 21.33 21 17.147 21 13.54v-10a1 1 0 0 0-1.44-.898c-1.738.852-3.26.758-4.432.352-1.216-.422-2.036-1.174-2.306-1.563ZM5 13.54V4.994c1.7.487 3.253.33 4.528-.112A7.602 7.602 0 0 0 12 3.462c.212.184.45.368.714.545L9.219 8.375a1 1 0 0 0 .267 1.483l4.049 2.43L11.2 15.4a1 1 0 1 0 1.6 1.2l3-4a1 1 0 0 0-.286-1.457L11.497 8.73l3.057-3.821A7.426 7.426 0 0 0 19 4.994v8.545c0 2.501-1.947 5.935-7 7.421-5.053-1.486-7-4.92-7-7.421Z\",\"M16.832 2.445a1 1 0 0 0-1.664 0c-.377.566-1.453 1.586-3.01 2.154-1.512.55-3.468.673-5.696-.486A1 1 0 0 0 5 5v13c0 4.505 3.355 9.856 10.725 11.962a1 1 0 0 0 .55 0C23.645 27.855 27 22.505 27 18V5a1 1 0 0 0-1.462-.887c-2.228 1.16-4.184 1.036-5.696.486-1.557-.568-2.633-1.588-3.01-2.154ZM7 18V6.515c2.201.75 4.21.558 5.842-.037A9.153 9.153 0 0 0 16 4.525c.191.184.403.369.635.55l-4.403 5.285a1 1 0 0 0 .213 1.472l5.093 3.395-3.319 4.148a1 1 0 1 0 1.562 1.25l4-5a1 1 0 0 0-.226-1.457l-5.074-3.383 3.871-4.646a9.1 9.1 0 0 0 .806.339c1.633.595 3.64.787 5.842.037V18c0 3.446-2.572 8.015-9 9.958C9.572 26.015 7 21.446 7 18Z\"]];","export default [[\"<path d='M1 1.5a.5.5 0 0 1 .5-.5h.18a1.5 1.5 0 0 1 1.471 1.206L3.31 3h5.184a1.5 1.5 0 0 1 1.301 2.246l-.573 1A1.5 1.5 0 0 1 7.92 7H3.5a.5.5 0 0 0 0 1h5a.5.5 0 0 1 0 1h-5a1.5 1.5 0 0 1-.553-2.895 1.502 1.502 0 0 1-.098-.31L2.17 2.401A.5.5 0 0 0 1.68 2H1.5a.5.5 0 0 1-.5-.5Z'></path><path d='M4 9a1 1 0 1 1 0 2 1 1 0 0 1 0-2Zm3.5 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2Z'></path>\",\"M1 2.5a.5.5 0 0 1 .5-.5h1.22a1.5 1.5 0 0 1 1.454 1.136L4.39 4h7.83a1.5 1.5 0 0 1 1.454 1.864l-.5 2A1.5 1.5 0 0 1 11.72 9H5.5a.5.5 0 0 0 0 1h7a.5.5 0 0 1 0 1h-7a1.5 1.5 0 0 1-.958-2.654 1.497 1.497 0 0 1-.216-.482L3.204 3.379A.5.5 0 0 0 2.72 3H1.5a.5.5 0 0 1-.5-.5ZM7 14a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm5-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\",\"M3 2a1 1 0 0 0 0 2h.306a1 1 0 0 1 .986.836l.22 1.317.753 5.271c.078.546.3 1.04.623 1.445A3 3 0 0 0 8 18h10.5a1 1 0 1 0 0-1.999H8a1 1 0 1 1 0-2h10.04a3 3 0 0 0 2.857-2.086l.96-3A3 3 0 0 0 19 5H6.347l-.082-.493A3 3 0 0 0 3.305 2H3Zm9 18.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm7 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z\",\"M2 4a1 1 0 0 1 1-1h1.38a3 3 0 0 1 2.934 2.378L7.87 8h18.129a3 3 0 0 1 2.875 3.856l-1.489 5A3 3 0 0 1 24.509 19H9.959A1 1 0 0 0 10 21h15a1 1 0 1 1 0 2H10a3 3 0 0 1-1.882-5.336 2.993 2.993 0 0 1-.436-1.032L6.081 9.207l-.724-3.414A1 1 0 0 0 4.38 5H3a1 1 0 0 1-1-1Zm11 25a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm11-2a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z\"],[\"M1.5 1a.5.5 0 0 0 0 1h.18a.5.5 0 0 1 .49.402l.679 3.392c.022.109.055.213.098.311A1.5 1.5 0 0 0 3.5 9H4a1 1 0 1 0 0 2 1 1 0 0 0 0-2h3.5a1 1 0 1 0 0 2 1 1 0 0 0 0-2h1a.5.5 0 0 0 0-1h-5a.5.5 0 0 1 0-1h4.42a1.5 1.5 0 0 0 1.302-.754l.573-1A1.5 1.5 0 0 0 8.494 3H3.5a.499.499 0 0 0-.183.035l-.166-.83A1.5 1.5 0 0 0 1.681 1H1.5Zm6.42 5a.5.5 0 0 0 .434-.251l.574-1A.5.5 0 0 0 8.494 4H3.51l.32 1.598A.5.5 0 0 0 4.32 6h3.6Z\",\"M1.5 2a.5.5 0 0 0 0 1h1.22a.5.5 0 0 1 .484.379l.308 1.232a.5.5 0 0 0 .006.021l.808 3.232c.044.176.118.338.216.482A1.5 1.5 0 0 0 5.5 11h7a.5.5 0 0 0 0-1h-7a.5.5 0 0 1 0-1h6.292a1.5 1.5 0 0 0 1.415-1.001l.705-2A1.5 1.5 0 0 0 12.497 4H4.39l-.216-.864A1.5 1.5 0 0 0 2.72 2H1.5Zm10.292 6a.5.5 0 0 0 .472-.334l.705-2A.5.5 0 0 0 12.497 5H4.64l.656 2.621A.5.5 0 0 0 5.78 8h6.011ZM8 13a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"M3 2a1 1 0 0 0 0 2h.306a1 1 0 0 1 .986.836l.22 1.317.753 5.271c.078.546.3 1.04.623 1.445A3 3 0 0 0 8 18h10.5a1 1 0 1 0 0-1.999H8a1 1 0 1 1 0-2h10.04a3 3 0 0 0 2.857-2.086l.96-3A3 3 0 0 0 19 5H6.347l-.082-.493A3 3 0 0 0 3.305 2H3Zm15.04 10a1 1 0 0 0 .953-.695l.96-3A1 1 0 0 0 19 7H6.653l.592 4.141a1 1 0 0 0 .99.859h9.805ZM12 20.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm5.5 1.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\",\"M3 3a1 1 0 0 0 0 2h1.38a1 1 0 0 1 .977.793l.724 3.414 1.601 7.425c.081.378.232.726.436 1.032A3 3 0 0 0 10 23h15a1 1 0 1 0 0-2H10a1 1 0 0 1-.041-2h14.55a3 3 0 0 0 2.875-2.144l1.489-5A3 3 0 0 0 25.998 8H7.869l-.555-2.622A3 3 0 0 0 4.38 3H3Zm21.509 14a1 1 0 0 0 .958-.715l1.49-5a1 1 0 0 0-.96-1.285h-17.7l1.34 6.21a1 1 0 0 0 .978.79h13.894ZM15 27a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm7 2a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"]];","export default [[\"<path d='M1 1.5a.5.5 0 0 1 .5-.5h.18a1.5 1.5 0 0 1 1.471 1.206L3.31 3H4v-.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V3h1v-.75A.25.25 0 0 1 8.25 2h.5a.25.25 0 0 1 .25.25v.836a1.502 1.502 0 0 1 .795 2.16l-.573 1A1.5 1.5 0 0 1 7.92 7H3.5a.5.5 0 0 0 0 1h5a.5.5 0 0 1 0 1h-5a1.5 1.5 0 0 1-.553-2.895 1.502 1.502 0 0 1-.098-.31L2.17 2.401A.5.5 0 0 0 1.68 2H1.5a.5.5 0 0 1-.5-.5Z'></path><path d='M4 9a1 1 0 1 1 0 2 1 1 0 0 1 0-2Zm3.5 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z'></path>\",\"M1.5 2a.5.5 0 0 0 0 1h1.22a.5.5 0 0 1 .484.379l1.122 4.485c.044.176.118.338.216.482A1.5 1.5 0 0 0 5.5 11h7a.5.5 0 0 0 0-1h-7a.5.5 0 0 1 0-1h6.22a1.5 1.5 0 0 0 1.454-1.136l.5-2A1.5 1.5 0 0 0 12.22 4H12V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5V4H9v-.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5V4h-.61l-.216-.864A1.5 1.5 0 0 0 2.72 2H1.5ZM8 13a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"<path d='M3 2a1 1 0 0 0 0 2h.306a1 1 0 0 1 .986.836l.22 1.317.753 5.271c.078.546.3 1.04.623 1.445A3 3 0 0 0 8 18h10.5a1 1 0 1 0 0-1.999H8a1 1 0 1 1 0-2h10.04a3 3 0 0 0 2.857-2.086l.96-3A3 3 0 0 0 19 5H6.347l-.082-.493A3 3 0 0 0 3.305 2H3Z'></path><path d='M7 4h7V3a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v1Zm8 0h5V3a1 1 0 0 0-1-1h-3a1 1 0 0 0-1 1v1Zm-3 16.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm5.5 1.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z'></path>\",\"<path d='M2 4a1 1 0 0 1 1-1h1.38a3 3 0 0 1 2.934 2.378L7.87 8h18.129a3 3 0 0 1 2.875 3.856l-1.489 5A3 3 0 0 1 24.509 19H9.959A1 1 0 0 0 10 21h15a1 1 0 1 1 0 2H10a3 3 0 0 1-1.882-5.336 2.993 2.993 0 0 1-.436-1.032L6.081 9.207l-.724-3.414A1 1 0 0 0 4.38 5H3a1 1 0 0 1-1-1Z'></path><path d='M25 7V4a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v3h6Zm-7 0V5a1 1 0 0 0-1-1h-7a1 1 0 0 0-1 1v2h9Zm-5 22a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm9 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z'></path>\"],[\"M1.5 1a.5.5 0 0 0 0 1h.18a.5.5 0 0 1 .49.402l.679 3.392c.022.109.055.213.098.311A1.5 1.5 0 0 0 3.5 9H4a1 1 0 1 0 0 2 1 1 0 0 0 0-2h3.5a1 1 0 1 0 0 2 1 1 0 0 0 0-2h1a.5.5 0 0 0 0-1h-5a.5.5 0 0 1 0-1h4.42a1.5 1.5 0 0 0 1.302-.754l.573-1A1.502 1.502 0 0 0 9 3.086V2.25A.25.25 0 0 0 8.75 2h-.5a.25.25 0 0 0-.25.25V3H7v-.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V3h-.5a.499.499 0 0 0-.183.035l-.166-.83A1.5 1.5 0 0 0 1.681 1H1.5Zm2.01 3 .32 1.598A.5.5 0 0 0 4.32 6h3.6a.5.5 0 0 0 .434-.251l.574-1A.5.5 0 0 0 8.494 4H3.51Z\",\"M1.5 2a.5.5 0 0 0 0 1h1.22a.5.5 0 0 1 .484.379l.308 1.232a.5.5 0 0 0 .006.021l.808 3.232c.044.176.118.338.216.482A1.5 1.5 0 0 0 5.5 11h7a.5.5 0 0 0 0-1h-7a.5.5 0 0 1 0-1h6.292a1.5 1.5 0 0 0 1.415-1.001l.705-2A1.5 1.5 0 0 0 12.497 4H12V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5V4H9v-.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5V4h-.61l-.216-.864A1.5 1.5 0 0 0 2.72 2H1.5Zm3.14 3 .656 2.621A.5.5 0 0 0 5.78 8h6.011a.5.5 0 0 0 .472-.334l.705-2A.5.5 0 0 0 12.497 5H4.64ZM8 13a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"M3 2a1 1 0 0 0 0 2h.306a1 1 0 0 1 .986.836l.22 1.317.753 5.271c.078.546.3 1.04.623 1.445A3 3 0 0 0 8 18h10.5a1 1 0 1 0 0-1.999H8a1 1 0 1 1 0-2h10.04a3 3 0 0 0 2.857-2.086l.96-3A3.003 3.003 0 0 0 20 5.17V3a1 1 0 0 0-1-1h-3a1 1 0 0 0-1 1v2h-1V3a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v2h-.653l-.082-.493A3 3 0 0 0 3.305 2H3Zm14 3h1V4h-1v1ZM6.653 7l.592 4.141a1 1 0 0 0 .99.859h9.805a1 1 0 0 0 .953-.695l.96-3A1 1 0 0 0 19 7H6.653ZM12 4v1H9V4h3Zm0 16.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm5.5 1.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\",\"M3 3a1 1 0 0 0 0 2h1.38a1 1 0 0 1 .977.793l.724 3.414 1.601 7.425c.081.378.232.726.436 1.032A3 3 0 0 0 10 23h15a1 1 0 1 0 0-2H10a1 1 0 0 1-.041-2h14.55a3 3 0 0 0 2.875-2.144l1.489-5A3 3 0 0 0 25.998 8H25V4a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v4h-1V5a1 1 0 0 0-1-1h-7a1 1 0 0 0-1 1v3H7.87l-.556-2.622A3 3 0 0 0 4.38 3H3Zm18 5h2V5h-2v3ZM8.298 10l1.34 6.21a1 1 0 0 0 .977.79h13.894a1 1 0 0 0 .958-.715l1.49-5a1 1 0 0 0-.96-1.285h-17.7ZM16 6v2h-5V6h5Zm-1 21a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm7 2a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"]];","export default [[\"M1.5 2a.5.5 0 0 1 0-1h.18a1.5 1.5 0 0 1 1.471 1.206L3.31 3h4.983l1.853-1.854a.5.5 0 0 1 .708.708l-9 9a.5.5 0 0 1-.708-.708l1.45-1.449a1.5 1.5 0 0 1 .351-2.592 1.502 1.502 0 0 1-.098-.31L2.17 2.401A.5.5 0 0 0 1.68 2H1.5Zm1.825 5.968L4.293 7H3.5a.5.5 0 0 0-.175.968ZM7.107 7l2.847-2.847c.085.35.045.737-.159 1.093l-.573 1A1.5 1.5 0 0 1 7.92 7h-.814Zm-2 2 1-1H8.5a.5.5 0 0 1 0 1H5.107ZM7.5 9a1 1 0 1 1 0 2 1 1 0 0 1 0-2Zm-2.741.348-1.41 1.41a1 1 0 0 0 1.41-1.41Z\",\"M14.854 1.854a.5.5 0 0 0-.708-.708L11.293 4H4.39l-.216-.864A1.5 1.5 0 0 0 2.72 2H1.5a.5.5 0 0 0 0 1h1.22a.5.5 0 0 1 .484.379l1.122 4.485c.044.176.118.338.216.482a1.498 1.498 0 0 0 .054 2.351l-3.45 3.45a.5.5 0 0 0 .708.707l13-13Zm-9.53 8.114L6.294 9H5.5a.5.5 0 0 0-.175.968ZM9.107 9l4.349-4.349c.232.338.329.772.218 1.213l-.5 2A1.5 1.5 0 0 1 11.72 9H9.107Zm-2 2 1-1H12.5a.5.5 0 0 1 0 1H7.107ZM7 14a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm5-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\",\"m2.707 22.707 20-20a1 1 0 0 0-1.414-1.414L17.586 5H6.347l-.082-.493A3 3 0 0 0 3.305 2H3a1 1 0 0 0 0 2h.306a1 1 0 0 1 .986.836l.22 1.317.753 5.271c.078.546.3 1.04.623 1.445A2.99 2.99 0 0 0 5 15c0 .723.256 1.386.682 1.904l-4.39 4.389a1 1 0 1 0 1.415 1.414Zm4.41-7.238L8.586 14H8a1 1 0 0 0-.883 1.47ZM14.214 14l7.426-7.426c.37.684.481 1.516.217 2.34l-.96 3A3 3 0 0 1 18.04 14h-3.826Zm-4 4 2-2H18.5a1 1 0 1 1 0 2h-8.286Zm.286 4a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm8.5-1.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z\",\"M29.707 3.707a1 1 0 0 0-1.414-1.414L22.585 8H7.869l-.555-2.622A3 3 0 0 0 4.38 3H3a1 1 0 0 0 0 2h1.38a1 1 0 0 1 .977.793l.724 3.414 1.601 7.425c.081.378.232.726.436 1.032A2.994 2.994 0 0 0 7 20c0 .977.467 1.845 1.19 2.393l-5.897 5.896a1 1 0 0 0 1.414 1.414l26-25.996ZM9.647 20.936 11.583 19H9.96a1 1 0 0 0-.312 1.936ZM17.212 19l10.48-10.478a2.999 2.999 0 0 1 1.18 3.334l-1.488 5A3 3 0 0 1 24.509 19h-7.297Zm-4.001 4 2-2H25a1 1 0 1 1 0 2H13.211ZM13 29a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm11-2a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z\"],[\"M1.68 1H1.5a.5.5 0 0 0 0 1h.18a.5.5 0 0 1 .49.402l.679 3.392c.022.109.055.213.098.311a1.5 1.5 0 0 0-.351 2.592l-1.45 1.45a.5.5 0 0 0 .708.707l9-9a.5.5 0 0 0-.708-.708L8.293 3H3.5a.499.499 0 0 0-.183.035l-.166-.83A1.5 1.5 0 0 0 1.681 1Zm5.613 3H3.51l.32 1.598A.5.5 0 0 0 4.32 6h.973l2-2Zm-3 3H3.5a.5.5 0 0 0-.175.968L4.293 7ZM4 11a.996.996 0 0 1-.652-.241l1.41-1.41A1 1 0 0 1 4 11Zm3.5-2H5.107l1-1H8.5a.5.5 0 0 1 0 1h-1Zm0 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2Zm.42-2h-.813L8.18 5.928a.5.5 0 0 0 .17-.17l1.605-1.605c.085.35.045.737-.159 1.093l-.573 1A1.5 1.5 0 0 1 7.92 7Z\",\"M14.854 1.854a.5.5 0 0 0-.708-.708L11.293 4H4.39l-.216-.864A1.5 1.5 0 0 0 2.72 2H1.5a.5.5 0 0 0 0 1h1.22a.5.5 0 0 1 .484.379l.308 1.232a.5.5 0 0 0 .006.021l.808 3.232c.044.176.118.338.216.482a1.498 1.498 0 0 0 .054 2.351l-3.45 3.45a.5.5 0 0 0 .708.707l13-13Zm-9.53 8.114L6.294 9H5.5a.5.5 0 0 0-.175.968ZM7.294 8l3-3H4.64l.656 2.621A.5.5 0 0 0 5.78 8h1.512Zm5.607-2.794.71-.71c.35.388.495.953.3 1.503l-.704 2A1.5 1.5 0 0 1 11.792 9H9.107l1-1h1.685a.5.5 0 0 0 .472-.334l.705-2a.497.497 0 0 0-.068-.46ZM7.107 11l1-1H12.5a.5.5 0 0 1 0 1H7.107ZM7 14a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm4 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"m2.707 22.707 20-20a1 1 0 0 0-1.414-1.414L17.586 5H6.347l-.082-.493A3 3 0 0 0 3.305 2H3a1 1 0 0 0 0 2h.306a1 1 0 0 1 .986.836l.22 1.317.753 5.271c.078.546.3 1.04.623 1.445A2.99 2.99 0 0 0 5 15c0 .723.256 1.386.682 1.904l-4.39 4.389a1 1 0 1 0 1.415 1.414Zm4.41-7.238L8.586 14H8a1 1 0 0 0-.883 1.47ZM10.586 12H8.235a1 1 0 0 1-.99-.859L6.653 7h8.933l-5 5Zm9.384-3.756 1.67-1.67c.37.684.481 1.516.217 2.34l-.96 3A3 3 0 0 1 18.04 14h-3.826l2-2h1.826a1 1 0 0 0 .953-.695l.96-3 .017-.06ZM10.214 18l2-2H18.5a1 1 0 1 1 0 2h-8.286Zm.286 4a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm7 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\",\"M29.707 3.707a1 1 0 0 0-1.414-1.414L22.585 8H7.869l-.555-2.622A3 3 0 0 0 4.38 3H3a1 1 0 0 0 0 2h1.38a1 1 0 0 1 .977.793l.724 3.414 1.601 7.425c.081.378.232.726.436 1.032A2.994 2.994 0 0 0 7 20c0 .977.467 1.845 1.19 2.393l-5.897 5.896a1 1 0 0 0 1.414 1.414l26-25.996ZM9.647 20.936 11.583 19H9.96a1 1 0 0 0-.312 1.936ZM13.583 17l7.001-7H8.298l1.34 6.21a1 1 0 0 0 .977.79h2.968ZM25 23H13.211l2-2H25a1 1 0 1 1 0 2Zm-.491-4h-7.297l2-2h5.297a1 1 0 0 0 .958-.715l1.49-5a1 1 0 0 0-.762-1.266l1.497-1.497a2.999 2.999 0 0 1 1.18 3.334l-1.488 5A3 3 0 0 1 24.509 19ZM15 27a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm7 2a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"]];","export default [[\"M5.999 3a5 5 0 0 1 3.856 1.816.5.5 0 1 0 .77-.637 6 6 0 0 0-9.253.002.5.5 0 1 0 .771.637A5 5 0 0 1 6 3Zm.892 3.21a2 2 0 0 0-2.489.587.5.5 0 0 1-.798-.602 3 3 0 0 1 4.79-.002.5.5 0 1 1-.797.602 2 2 0 0 0-.706-.585ZM6 10a1.001 1.001 0 0 1 0-2 1.001 1.001 0 0 1 0 2Z\",\"M2.806 5.65a9 9 0 0 1 10.4.009.5.5 0 0 0 .58-.816 10 10 0 0 0-11.557-.01.5.5 0 0 0 .577.817ZM7 12a1.001 1.001 0 0 0 2 0 1.001 1.001 0 0 0-2 0Zm2.275-1.716a3 3 0 0 0-2.56.005.5.5 0 0 1-.427-.904 4 4 0 0 1 3.411-.006.5.5 0 1 1-.424.905ZM4.788 7.932a6 6 0 0 1 6.437.008.5.5 0 0 0 .538-.843 7 7 0 0 0-7.51-.01.5.5 0 0 0 .535.845Z\",\"M21.563 6.054a16.5 16.5 0 0 0-19.13.003 1 1 0 1 0 1.16 1.63 14.5 14.5 0 0 1 16.81-.003 1 1 0 0 0 1.16-1.63ZM5.493 8.827a12.5 12.5 0 0 1 13.015.001 1 1 0 1 1-1.041 1.708 10.5 10.5 0 0 0-10.933-.001 1 1 0 1 1-1.04-1.708ZM12.003 11a7 7 0 0 0-3.492.932 1 1 0 0 0 .996 1.733 5 5 0 0 1 4.988.002 1 1 0 0 0 .998-1.733 7 7 0 0 0-3.49-.934ZM12 15a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z\",\"M26.653 9.062a16 16 0 0 0-21.311.005 1 1 0 1 0 1.332 1.492 14 14 0 0 1 18.648-.004 1 1 0 1 0 1.331-1.493ZM16 20a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm-.01-10a12 12 0 0 1 7.664 2.758 1 1 0 0 1-1.276 1.54 10 10 0 0 0-12.77.011 1 1 0 1 1-1.278-1.538A12 12 0 0 1 15.99 10Zm.019 5a7 7 0 0 0-4.65 1.759 1 1 0 0 0 1.327 1.497 5 5 0 0 1 6.638.009 1 1 0 1 0 1.33-1.495A7 7 0 0 0 16.008 15Z\"],[\"M8.13 3.476a5 5 0 0 0-5.987 1.342.5.5 0 1 1-.77-.637 6 6 0 0 1 9.253-.002.5.5 0 1 1-.771.637 5 5 0 0 0-1.725-1.34ZM6.89 6.21a2 2 0 0 0-2.489.587.5.5 0 0 1-.798-.602 3 3 0 0 1 4.79-.002.5.5 0 1 1-.797.602 2 2 0 0 0-.706-.585ZM5 9a1.001 1.001 0 0 0 2 0 1.001 1.001 0 0 0-2 0Z\",\"M2.806 5.65a9 9 0 0 1 10.4.009.5.5 0 0 0 .58-.816 10 10 0 0 0-11.557-.01.5.5 0 0 0 .577.817ZM7 12a1.001 1.001 0 0 0 2 0 1.001 1.001 0 0 0-2 0Zm2.275-1.716a3 3 0 0 0-2.56.005.5.5 0 0 1-.427-.904 4 4 0 0 1 3.411-.006.5.5 0 1 1-.424.905ZM4.788 7.932a6 6 0 0 1 6.437.008.5.5 0 0 0 .538-.843 7 7 0 0 0-7.51-.01.5.5 0 0 0 .535.845Z\",\"M21.563 6.054a16.5 16.5 0 0 0-19.13.003 1 1 0 1 0 1.16 1.63 14.5 14.5 0 0 1 16.81-.003 1 1 0 0 0 1.16-1.63ZM5.493 8.827a12.5 12.5 0 0 1 13.015.001 1 1 0 1 1-1.041 1.708 10.5 10.5 0 0 0-10.933-.001 1 1 0 1 1-1.04-1.708ZM12.003 11a7 7 0 0 0-3.492.932 1 1 0 0 0 .996 1.733 5 5 0 0 1 4.988.002 1 1 0 0 0 .998-1.733 7 7 0 0 0-3.49-.934ZM11 18a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm1-3a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z\",\"M26.653 9.062a16 16 0 0 0-21.311.005 1 1 0 1 0 1.332 1.492 14 14 0 0 1 18.648-.004 1 1 0 1 0 1.331-1.493ZM15 23a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm1-3a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm-.01-10a12 12 0 0 1 7.664 2.758 1 1 0 0 1-1.276 1.54 10 10 0 0 0-12.77.011 1 1 0 1 1-1.278-1.538A12 12 0 0 1 15.99 10Zm.019 5a7 7 0 0 0-4.65 1.759 1 1 0 0 0 1.327 1.497 5 5 0 0 1 6.638.009 1 1 0 1 0 1.33-1.495A7 7 0 0 0 16.008 15Z\"]];","export default [[\"<path d='M2.982 2.628a.5.5 0 0 1 .039.706A3.981 3.981 0 0 0 2 6c0 1.024.386 1.958 1.02 2.666a.5.5 0 0 1-.744.668A4.981 4.981 0 0 1 1 6c0-1.28.484-2.45 1.276-3.334a.5.5 0 0 1 .706-.038Zm6.036 0a.5.5 0 0 1 .706.038A4.981 4.981 0 0 1 11 6c0 1.28-.484 2.45-1.276 3.334a.5.5 0 0 1-.745-.668A3.981 3.981 0 0 0 10 6a3.981 3.981 0 0 0-1.02-2.666.5.5 0 0 1 .038-.706Z'></path><path d='M4.3 4.102a.5.5 0 0 1 .1.7 1.991 1.991 0 0 0 0 2.397.5.5 0 0 1-.8.6A2.987 2.987 0 0 1 3 6.002c0-.675.224-1.298.6-1.8a.5.5 0 0 1 .7-.099Zm3.4 0a.5.5 0 0 1 .7.1c.376.5.6 1.124.6 1.799A2.99 2.99 0 0 1 8.4 7.8a.5.5 0 0 1-.8-.601 1.991 1.991 0 0 0 0-2.397.5.5 0 0 1 .1-.7ZM5 6a1.001 1.001 0 0 0 2 0 1.001 1.001 0 0 0-2 0Z'></path>\",\"<path d='M3.674 3.846a.5.5 0 1 0-.721-.692A6.976 6.976 0 0 0 1 8c0 1.88.745 3.59 1.953 4.846a.5.5 0 0 0 .72-.692A5.976 5.976 0 0 1 2 8c0-1.611.637-3.075 1.674-4.154Zm9.373-.692a.5.5 0 0 0-.72.692A5.976 5.976 0 0 1 14 8a5.976 5.976 0 0 1-1.674 4.154.5.5 0 0 0 .721.692A6.977 6.977 0 0 0 15 8c0-1.88-.745-3.59-1.953-4.846Z'></path><path d='M4.982 4.628a.5.5 0 0 1 .039.706A3.981 3.981 0 0 0 4 8c0 1.024.386 1.958 1.02 2.666a.5.5 0 0 1-.744.668A4.981 4.981 0 0 1 3 8c0-1.28.484-2.45 1.276-3.334a.5.5 0 0 1 .706-.038Zm6.036 0a.5.5 0 0 1 .706.038A4.981 4.981 0 0 1 13 8c0 1.28-.484 2.45-1.276 3.334a.5.5 0 0 1-.745-.668A3.981 3.981 0 0 0 12 8a3.981 3.981 0 0 0-1.02-2.666.5.5 0 0 1 .038-.706ZM8 10c-1.102 0-2-.896-2-2s.898-2 2-2c1.102 0 2 .896 2 2s-.898 2-2 2Z'></path>\",\"<path d='M5.578 5.7a1 1 0 1 0-1.427-1.4A10.965 10.965 0 0 0 1 12c0 2.998 1.205 5.717 3.15 7.7a1 1 0 1 0 1.428-1.4A8.965 8.965 0 0 1 3 12c0-2.451.983-4.674 2.578-6.3ZM19.85 4.3a1 1 0 0 0-1.428 1.4A8.966 8.966 0 0 1 21 12a8.966 8.966 0 0 1-2.578 6.3 1 1 0 1 0 1.427 1.4A10.965 10.965 0 0 0 23 12c0-2.998-1.205-5.717-3.15-7.7Z'></path><path d='M8.198 7.255a1 1 0 0 1 .078 1.412A4.975 4.975 0 0 0 7 12c0 1.28.482 2.447 1.276 3.333a1 1 0 0 1-1.49 1.334A6.975 6.975 0 0 1 5 12c0-1.793.677-3.43 1.786-4.667a1 1 0 0 1 1.412-.078Zm7.604 0a1 1 0 0 1 1.412.078A6.975 6.975 0 0 1 19 12c0 1.793-.677 3.43-1.786 4.667a1 1 0 0 1-1.49-1.334A4.975 4.975 0 0 0 17 12c0-1.28-.482-2.447-1.276-3.333a1 1 0 0 1 .078-1.412ZM12 15c-1.653 0-3-1.344-3-3s1.347-3 3-3 3 1.344 3 3-1.347 3-3 3Z'></path>\",\"<path d='M7.32 6.279a1 1 0 0 1 .028 1.414A11.953 11.953 0 0 0 4 16c0 3.223 1.274 6.149 3.348 8.307a1 1 0 1 1-1.443 1.386A13.953 13.953 0 0 1 2 16c0-3.761 1.49-7.178 3.905-9.693A1 1 0 0 1 7.32 6.28Zm17.36 0a1 1 0 0 1 1.415.028A13.953 13.953 0 0 1 30 16c0 3.761-1.49 7.178-3.905 9.693a1 1 0 1 1-1.443-1.386A11.953 11.953 0 0 0 28 16c0-3.223-1.274-6.15-3.348-8.307a1 1 0 0 1 .029-1.414ZM16 20c-2.204 0-4-1.792-4-4s1.796-4 4-4c2.204 0 4 1.792 4 4s-1.796 4-4 4Z'></path><path d='M10.538 11.626a1 1 0 1 0-1.56-1.252A8.96 8.96 0 0 0 7 16a8.96 8.96 0 0 0 1.979 5.626 1 1 0 1 0 1.56-1.252A6.961 6.961 0 0 1 9 16c0-1.655.576-3.175 1.538-4.374Zm12.483-1.252a1 1 0 1 0-1.56 1.252A6.961 6.961 0 0 1 23 16a6.961 6.961 0 0 1-1.538 4.374 1 1 0 1 0 1.56 1.252A8.961 8.961 0 0 0 25 16a8.961 8.961 0 0 0-1.979-5.626Z'></path>\"],[\"<path d='M2.982 2.628a.5.5 0 0 1 .039.706A3.981 3.981 0 0 0 2 6c0 1.024.386 1.958 1.02 2.666a.5.5 0 0 1-.744.668A4.981 4.981 0 0 1 1 6c0-1.28.484-2.45 1.276-3.334a.5.5 0 0 1 .706-.038Zm6.036 0a.5.5 0 0 1 .706.038A4.981 4.981 0 0 1 11 6c0 1.28-.484 2.45-1.276 3.334a.5.5 0 0 1-.745-.668A3.981 3.981 0 0 0 10 6a3.981 3.981 0 0 0-1.02-2.666.5.5 0 0 1 .038-.706Z'></path><path d='M4.3 4.102a.5.5 0 0 1 .1.7 1.991 1.991 0 0 0 0 2.397.5.5 0 0 1-.8.6A2.987 2.987 0 0 1 3 6.002c0-.675.224-1.298.6-1.8a.5.5 0 0 1 .7-.099Zm3.4 0a.5.5 0 0 1 .7.1c.376.5.6 1.124.6 1.799A2.99 2.99 0 0 1 8.4 7.8a.5.5 0 0 1-.8-.601 1.991 1.991 0 0 0 0-2.397.5.5 0 0 1 .1-.7ZM5 6a1.001 1.001 0 0 0 2 0 1.001 1.001 0 0 0-2 0Z'></path>\",\"<path d='M3.674 3.846a.5.5 0 1 0-.721-.692A6.976 6.976 0 0 0 1 8c0 1.88.745 3.59 1.953 4.846a.5.5 0 0 0 .72-.692A5.976 5.976 0 0 1 2 8c0-1.611.637-3.075 1.674-4.154Zm9.373-.692a.5.5 0 0 0-.72.692A5.976 5.976 0 0 1 14 8a5.976 5.976 0 0 1-1.674 4.154.5.5 0 0 0 .721.692A6.977 6.977 0 0 0 15 8c0-1.88-.745-3.59-1.953-4.846Z'></path><path d='M4.982 4.628a.5.5 0 0 1 .039.706A3.981 3.981 0 0 0 4 8c0 1.024.386 1.958 1.02 2.666a.5.5 0 0 1-.744.668A4.981 4.981 0 0 1 3 8c0-1.28.484-2.45 1.276-3.334a.5.5 0 0 1 .706-.038Zm6.036 0a.5.5 0 0 1 .706.038A4.981 4.981 0 0 1 13 8c0 1.28-.484 2.45-1.276 3.334a.5.5 0 0 1-.745-.668A3.981 3.981 0 0 0 12 8a3.981 3.981 0 0 0-1.02-2.666.5.5 0 0 1 .038-.706ZM6 8c0-1.104.898-2 2-2 1.102 0 2 .896 2 2s-.898 2-2 2c-1.102 0-2-.896-2-2Zm2-1c-.55 0-1 .448-1 1s.45 1 1 1 1-.448 1-1-.45-1-1-1Z'></path>\",\"<path d='M5.578 5.7a1 1 0 1 0-1.427-1.4A10.965 10.965 0 0 0 1 12c0 2.998 1.205 5.717 3.15 7.7a1 1 0 1 0 1.428-1.4A8.965 8.965 0 0 1 3 12c0-2.451.983-4.674 2.578-6.3ZM19.85 4.3a1 1 0 0 0-1.428 1.4A8.966 8.966 0 0 1 21 12a8.966 8.966 0 0 1-2.578 6.3 1 1 0 1 0 1.427 1.4A10.965 10.965 0 0 0 23 12c0-2.998-1.205-5.717-3.15-7.7Z'></path><path d='M8.198 7.255a1 1 0 0 1 .078 1.412A4.975 4.975 0 0 0 7 12c0 1.28.482 2.447 1.276 3.333a1 1 0 0 1-1.49 1.334A6.975 6.975 0 0 1 5 12c0-1.793.677-3.43 1.786-4.667a1 1 0 0 1 1.412-.078Zm7.604 0a1 1 0 0 1 1.412.078A6.975 6.975 0 0 1 19 12c0 1.793-.677 3.43-1.786 4.667a1 1 0 0 1-1.49-1.334A4.975 4.975 0 0 0 17 12c0-1.28-.482-2.447-1.276-3.333a1 1 0 0 1 .078-1.412ZM9 12c0-1.657 1.346-3 3-3s3 1.343 3 3-1.346 3-3 3-3-1.343-3-3Zm3-1c-.55 0-1 .449-1 1 0 .551.45 1 1 1s1-.449 1-1c0-.551-.45-1-1-1Z'></path>\",\"<path d='M7.32 6.279a1 1 0 0 1 .028 1.414A11.953 11.953 0 0 0 4 16c0 3.223 1.274 6.149 3.348 8.307a1 1 0 1 1-1.443 1.386A13.953 13.953 0 0 1 2 16c0-3.761 1.49-7.178 3.905-9.693A1 1 0 0 1 7.32 6.28Zm17.36 0a1 1 0 0 1 1.415.028A13.953 13.953 0 0 1 30 16c0 3.761-1.49 7.178-3.905 9.693a1 1 0 1 1-1.443-1.386A11.953 11.953 0 0 0 28 16c0-3.223-1.274-6.15-3.348-8.307a1 1 0 0 1 .029-1.414ZM12 16c0-2.209 1.795-4 4-4s4 1.791 4 4-1.795 4-4 4-4-1.791-4-4Zm4-2c-1.101 0-2 .897-2 2s.899 2 2 2 2-.897 2-2-.899-2-2-2Z'></path><path d='M10.538 11.626a1 1 0 1 0-1.56-1.252A8.96 8.96 0 0 0 7 16a8.96 8.96 0 0 0 1.979 5.626 1 1 0 1 0 1.56-1.252A6.961 6.961 0 0 1 9 16c0-1.655.576-3.175 1.538-4.374Zm12.483-1.252a1 1 0 1 0-1.56 1.252A6.961 6.961 0 0 1 23 16a6.961 6.961 0 0 1-1.538 4.374 1 1 0 1 0 1.56 1.252A8.961 8.961 0 0 0 25 16a8.961 8.961 0 0 0-1.979-5.626Z'></path>\"]];","export default [[\"M7.5 0a.5.5 0 0 0-.5.5V1H2V.5a.5.5 0 0 0-1 0v2a.5.5 0 0 0 1 0V2h5v.5a.5.5 0 0 0 1 0v-2a.5.5 0 0 0-.5-.5ZM1 5.5A1.5 1.5 0 0 1 2.5 4h4A1.5 1.5 0 0 1 8 5.5v4A1.5 1.5 0 0 1 6.5 11h-4A1.5 1.5 0 0 1 1 9.5v-4ZM11.5 4a.5.5 0 0 1 0 1H11v5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1h.5V5h-.5a.5.5 0 0 1 0-1h2Z\",\"M10.5 1a.5.5 0 0 0-.5.5V2H3v-.5a.5.5 0 0 0-1 0v2a.5.5 0 0 0 1 0V3h7v.5a.5.5 0 0 0 1 0v-2a.5.5 0 0 0-.5-.5ZM2 7a2 2 0 0 1 2-2h5a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7Zm12.5 6a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1h.5V6h-.5a.5.5 0 0 1 0-1h2a.5.5 0 0 1 0 1H14v7h.5Z\",\"M16 2a1 1 0 0 0-1 1H5a1 1 0 0 0-2 0v2a1 1 0 1 0 2 0h10a1 1 0 1 0 2 0V3a1 1 0 0 0-1-1ZM3 9.5A2.5 2.5 0 0 1 5.5 7h9A2.5 2.5 0 0 1 17 9.5v9a2.5 2.5 0 0 1-2.5 2.5h-9A2.5 2.5 0 0 1 3 18.5v-9Zm18 9.498a1 1 0 1 1 0 2h-2a1 1 0 0 1 0-2v-10a1 1 0 0 1 0-2h2a1 1 0 0 1 0 2v10Z\",\"M22 1a1 1 0 0 0-1 1v1H5V2a1 1 0 0 0-2 0v4a1 1 0 0 0 2 0V5h16v1a1 1 0 1 0 2 0V2a1 1 0 0 0-1-1ZM3 12a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V12Zm23-1a1 1 0 1 1 0-2h4a1 1 0 1 1 0 2h-1v16h1a1 1 0 1 1 0 2h-4a1 1 0 1 1 0-2h1V11h-1Z\"],[\"M7.5 0a.5.5 0 0 0-.5.5V1H2V.5a.5.5 0 0 0-1 0v2a.5.5 0 0 0 1 0V2h5v.5a.5.5 0 0 0 1 0v-2a.5.5 0 0 0-.5-.5ZM1 5.5A1.5 1.5 0 0 1 2.5 4h4A1.5 1.5 0 0 1 8 5.5v4A1.5 1.5 0 0 1 6.5 11h-4A1.5 1.5 0 0 1 1 9.5v-4ZM2.5 5a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-4Zm9-1a.5.5 0 0 1 0 1H11v5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1h.5V5h-.5a.5.5 0 0 1 0-1h2Z\",\"M10.5 1a.5.5 0 0 0-.5.5V2H3v-.5a.5.5 0 0 0-1 0v2a.5.5 0 0 0 1 0V3h7v.5a.5.5 0 0 0 1 0v-2a.5.5 0 0 0-.5-.5ZM2 7a2 2 0 0 1 2-2h5a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7Zm2-1a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H4Zm10.5 7a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1h.5V6h-.5a.5.5 0 0 1 0-1h2a.5.5 0 0 1 0 1H14v7h.5Z\",\"M16 2a1 1 0 0 0-1 1H5a1 1 0 0 0-2 0v2a1 1 0 1 0 2 0h10a1 1 0 1 0 2 0V3a1 1 0 0 0-1-1ZM3 9.5A2.5 2.5 0 0 1 5.5 7h9A2.5 2.5 0 0 1 17 9.5v9.039a2.5 2.5 0 0 1-2.5 2.5h-9a2.5 2.5 0 0 1-2.5-2.5V9.5ZM5.5 9a.5.5 0 0 0-.5.5v9.039a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5V9.5a.5.5 0 0 0-.5-.5h-9ZM21 18.998a1 1 0 0 1 0 2h-2a1 1 0 1 1 0-2v-10a1 1 0 0 1 0-2h2a1 1 0 0 1 0 2v10Z\",\"M22 1a1 1 0 0 0-1 1v1H5V2a1 1 0 0 0-2 0v4a1 1 0 0 0 2 0V5h16v1a1 1 0 1 0 2 0V2a1 1 0 0 0-1-1ZM3 12a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V12Zm3-1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V12a1 1 0 0 0-1-1H6Zm20 0a1 1 0 1 1 0-2h4a1 1 0 1 1 0 2h-1v16h1a1 1 0 1 1 0 2h-4a1 1 0 1 1 0-2h1V11h-1Z\"]];","export default [[\"M4.417 2.521c-.694 0-1.26-.567-1.26-1.26C3.157.566 3.723 0 4.417 0c.693 0 1.26.566 1.26 1.26v1.261h-1.26ZM1.26 8.843c.695 0 1.261-.566 1.261-1.26v-1.26h-1.26A1.261 1.261 0 0 0 0 7.582c0 .694.566 1.26 1.26 1.26Zm3.157-2.521c-.694 0-1.26.567-1.26 1.26v3.157c0 .694.566 1.261 1.26 1.261.694 0 1.26-.567 1.26-1.26V7.582c0-.694-.566-1.26-1.26-1.26Zm1.26-1.905c0-.694-.567-1.26-1.26-1.26H1.261A1.262 1.262 0 0 0 0 4.416c0 .694.567 1.26 1.26 1.26h3.157c.693 0 1.26-.566 1.26-1.26Zm3.802 0c0-.694.566-1.26 1.26-1.26.694 0 1.261.566 1.261 1.26 0 .694-.567 1.26-1.26 1.26H9.478v-1.26Zm-1.896 1.26c.694 0 1.26-.566 1.26-1.26V1.26C8.843.567 8.277 0 7.583 0c-.694 0-1.26.567-1.26 1.26v3.157c0 .694.566 1.26 1.26 1.26Zm0 3.802c.694 0 1.26.566 1.26 1.26 0 .694-.566 1.261-1.26 1.261-.694 0-1.26-.566-1.26-1.26V9.478h1.26Zm-1.26-1.896c0 .694.566 1.26 1.26 1.26h3.156c.694 0 1.261-.566 1.261-1.26 0-.694-.567-1.26-1.26-1.26H7.582c-.694 0-1.26.566-1.26 1.26Z\",\"M6.153 3.941c-.81 0-1.47-.661-1.47-1.47 0-.81.66-1.471 1.47-1.471.81 0 1.47.66 1.47 1.47v1.471h-1.47ZM2.47 11.317c.81 0 1.471-.66 1.471-1.47v-1.47h-1.47c-.81 0-1.471.66-1.471 1.47 0 .81.66 1.47 1.47 1.47Zm3.683-2.941c-.81 0-1.47.662-1.47 1.47v3.683c0 .81.66 1.471 1.47 1.471.81 0 1.47-.661 1.47-1.47V9.846c0-.81-.66-1.47-1.47-1.47Zm1.47-2.223c0-.81-.66-1.47-1.47-1.47H2.471c-.81 0-1.471.66-1.471 1.47 0 .81.661 1.47 1.47 1.47h3.683c.81 0 1.47-.66 1.47-1.47Zm4.436 0c0-.81.66-1.47 1.47-1.47.81 0 1.471.66 1.471 1.47 0 .81-.66 1.47-1.47 1.47h-1.471v-1.47ZM9.847 7.624c.81 0 1.47-.661 1.47-1.47V2.47c0-.81-.66-1.47-1.47-1.47-.81 0-1.47.66-1.47 1.47v3.682c0 .81.66 1.47 1.47 1.47Zm0 4.435c.81 0 1.47.66 1.47 1.47 0 .81-.66 1.471-1.47 1.471-.81 0-1.47-.66-1.47-1.47v-1.471h1.47Zm-1.47-2.212c0 .81.66 1.47 1.47 1.47h3.682c.81 0 1.471-.66 1.471-1.47 0-.81-.661-1.47-1.47-1.47H9.846c-.81 0-1.47.66-1.47 1.47Z\",\"M9.098 5.622a2.317 2.317 0 0 1-2.31-2.31A2.316 2.316 0 0 1 9.097 1a2.316 2.316 0 0 1 2.31 2.311v2.311h-2.31ZM3.311 17.213a2.316 2.316 0 0 0 2.311-2.311v-2.31h-2.31A2.317 2.317 0 0 0 1 14.901a2.316 2.316 0 0 0 2.311 2.31Zm5.787-4.622a2.317 2.317 0 0 0-2.311 2.311v5.787A2.317 2.317 0 0 0 9.097 23a2.317 2.317 0 0 0 2.312-2.311v-5.787a2.317 2.317 0 0 0-2.311-2.31Zm2.31-3.494a2.316 2.316 0 0 0-2.31-2.31H3.311A2.317 2.317 0 0 0 1 9.097a2.317 2.317 0 0 0 2.31 2.313h5.787a2.316 2.316 0 0 0 2.31-2.312Zm6.97.001a2.316 2.316 0 0 1 2.31-2.311A2.316 2.316 0 0 1 23 9.097a2.316 2.316 0 0 1-2.311 2.312h-2.311V9.098Zm-3.476 2.311a2.316 2.316 0 0 0 2.311-2.311V3.31A2.316 2.316 0 0 0 14.903 1a2.316 2.316 0 0 0-2.311 2.31v5.787a2.316 2.316 0 0 0 2.31 2.31Zm0 6.969a2.316 2.316 0 0 1 2.31 2.31A2.316 2.316 0 0 1 14.903 23a2.316 2.316 0 0 1-2.31-2.311v-2.311h2.31Zm-2.31-3.476a2.316 2.316 0 0 0 2.31 2.311h5.787A2.317 2.317 0 0 0 23 14.903a2.317 2.317 0 0 0-2.311-2.312h-5.787a2.316 2.316 0 0 0-2.31 2.311Z\",\"M12.306 7.883a2.948 2.948 0 0 1-2.94-2.941A2.948 2.948 0 0 1 12.306 2a2.948 2.948 0 0 1 2.94 2.942v2.94h-2.94ZM4.942 22.634a2.948 2.948 0 0 0 2.94-2.94v-2.942h-2.94A2.949 2.949 0 0 0 2 19.693a2.948 2.948 0 0 0 2.942 2.941Zm7.364-5.882a2.948 2.948 0 0 0-2.94 2.941v7.365A2.949 2.949 0 0 0 12.305 30a2.949 2.949 0 0 0 2.941-2.942v-7.365a2.948 2.948 0 0 0-2.94-2.94Zm2.94-4.446a2.948 2.948 0 0 0-2.94-2.941H4.942A2.95 2.95 0 0 0 2 12.305a2.949 2.949 0 0 0 2.942 2.943h7.364a2.948 2.948 0 0 0 2.94-2.942Zm8.871 0a2.948 2.948 0 0 1 2.941-2.94A2.948 2.948 0 0 1 30 12.305a2.948 2.948 0 0 1-2.942 2.941h-2.94v-2.94Zm-4.423 2.941a2.948 2.948 0 0 0 2.94-2.94V4.94A2.948 2.948 0 0 0 19.694 2a2.948 2.948 0 0 0-2.941 2.94v7.365a2.948 2.948 0 0 0 2.94 2.941Zm-.001 8.87a2.948 2.948 0 0 1 2.941 2.941A2.948 2.948 0 0 1 19.694 30a2.948 2.948 0 0 1-2.94-2.942v-2.94h2.94Zm-2.94-4.423a2.948 2.948 0 0 0 2.94 2.94h7.365A2.949 2.949 0 0 0 30 19.695a2.949 2.949 0 0 0-2.942-2.941h-7.365a2.948 2.948 0 0 0-2.94 2.94Z\"]];","export default [[\"M6.063 4H1.5a.5.5 0 0 1 0-1h4.563a2 2 0 0 1 3.874 0h.563a.5.5 0 0 1 0 1h-.563a2 2 0 0 1-3.874 0ZM1.5 8a.5.5 0 0 0 0 1h.563a2 2 0 0 0 3.874 0H10.5a.5.5 0 0 0 0-1H5.937a2 2 0 0 0-3.874 0H1.5Z\",\"<path d='M7.05 4H2a.5.5 0 0 1 0-1h5.05a2.5 2.5 0 0 1 4.9 0H14a.5.5 0 0 1 0 1h-2.05a2.5 2.5 0 0 1-4.9 0ZM1.5 8.5A.5.5 0 0 1 2 8h1.05a2.5 2.5 0 0 1 4.9 0H14a.5.5 0 0 1 0 1H7.95a2.5 2.5 0 0 1-4.9 0H2a.5.5 0 0 1-.5-.5Z'></path><path d='M2 12a.5.5 0 0 0 0 1h6.05a2.5 2.5 0 0 0 4.9 0H14a.5.5 0 0 0 0-1h-1.05a2.5 2.5 0 0 0-4.9 0H2Z'></path>\",\"M21 5h-3.67a3.001 3.001 0 0 0-5.66 0H3a1 1 0 0 0 0 2h8.67a3.001 3.001 0 0 0 5.66 0H21a1 1 0 1 0 0-2ZM2 12a1 1 0 0 1 1-1h2.17a3.001 3.001 0 0 1 5.66 0H21a1 1 0 1 1 0 2H10.83a3.001 3.001 0 0 1-5.66 0H3a1 1 0 0 1-1-1Zm1 5a1 1 0 1 0 0 2h10.17a3.001 3.001 0 0 0 5.66 0H21a1 1 0 1 0 0-2h-2.17a3.001 3.001 0 0 0-5.66 0H3Z\",\"M22.874 9a4.002 4.002 0 0 1-7.748 0H3a1 1 0 0 1 0-2h12.126a4.002 4.002 0 0 1 7.748 0H29a1 1 0 1 1 0 2h-6.126Zm-10 6H29a1 1 0 1 1 0 2H12.874a4.002 4.002 0 0 1-7.748 0H3a1 1 0 1 1 0-2h2.126a4.002 4.002 0 0 1 7.748 0Zm14 8H29a1 1 0 1 1 0 2h-2.126a4.002 4.002 0 0 1-7.748 0H3a1 1 0 1 1 0-2h16.126a4.002 4.002 0 0 1 7.748 0Z\"],[\"M6.063 4H1.5a.5.5 0 0 1 0-1h4.563a2 2 0 0 1 3.874 0h.563a.5.5 0 0 1 0 1h-.563a2 2 0 0 1-3.874 0ZM7 3.5a1 1 0 1 1 2 0 1 1 0 0 1-2 0ZM5.937 9H10.5a.5.5 0 0 0 0-1H5.937a2 2 0 0 0-3.874 0H1.5a.5.5 0 0 0 0 1h.563a2 2 0 0 0 3.874 0ZM3 8.5a1 1 0 1 1 2 0 1 1 0 0 1-2 0Z\",\"<path d='M7.05 4H2a.5.5 0 0 1 0-1h5.05a2.5 2.5 0 0 1 4.9 0H14a.5.5 0 0 1 0 1h-2.05a2.5 2.5 0 0 1-4.9 0ZM8 3.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM7.95 9H14a.5.5 0 0 0 0-1H7.95a2.5 2.5 0 0 0-4.9 0H2a.5.5 0 0 0 0 1h1.05a2.5 2.5 0 0 0 4.9 0ZM4 8.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Z'></path><path d='M12.95 13H14a.5.5 0 0 0 0-1h-1.05a2.5 2.5 0 0 0-4.9 0H2a.5.5 0 0 0 0 1h6.05a2.5 2.5 0 0 0 4.9 0ZM9 12.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Z'></path>\",\"M17.33 7a3.001 3.001 0 0 1-5.66 0H3a1 1 0 0 1 0-2h8.67a3.001 3.001 0 0 1 5.66 0H21a1 1 0 1 1 0 2h-3.67ZM15.5 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-4.67 5H21a1 1 0 1 1 0 2H10.83a3.001 3.001 0 0 1-5.66 0H3a1 1 0 1 1 0-2h2.17a3.001 3.001 0 0 1 5.66 0ZM9 12a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm9.83 5H21a1 1 0 1 1 0 2h-2.17a3.001 3.001 0 0 1-5.66 0H3a1 1 0 1 1 0-2h10.17a3.001 3.001 0 0 1 5.66 0ZM17 18a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\",\"M22.874 9a4.002 4.002 0 0 1-7.748 0H3a1 1 0 0 1 0-2h12.126a4.002 4.002 0 0 1 7.748 0H29a1 1 0 1 1 0 2h-6.126ZM21 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm-8.126 7H29a1 1 0 1 1 0 2H12.874a4.002 4.002 0 0 1-7.748 0H3a1 1 0 1 1 0-2h2.126a4.002 4.002 0 0 1 7.748 0ZM11 16a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm15.874 7H29a1 1 0 1 1 0 2h-2.126a4.002 4.002 0 0 1-7.748 0H3a1 1 0 1 1 0-2h16.126a4.002 4.002 0 0 1 7.748 0ZM25 24a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z\"]];","export default [[\"M3 10.5a.5.5 0 0 0 1 0V5.937a2 2 0 0 0 0-3.874V1.5a.5.5 0 0 0-1 0v.563a2 2 0 0 0 0 3.874V10.5Zm5 0a.5.5 0 0 0 1 0v-.563a2 2 0 0 0 0-3.874V1.5a.5.5 0 0 0-1 0v4.563a2 2 0 0 0 0 3.874v.563Z\",\"<path d='M3.5 14.5A.5.5 0 0 1 3 14V8.95a2.5 2.5 0 0 1 0-4.9V2a.5.5 0 0 1 1 0v2.05a2.5 2.5 0 0 1 0 4.9V14a.5.5 0 0 1-.5.5Zm5 0A.5.5 0 0 1 8 14v-1.05a2.5 2.5 0 0 1 0-4.9V2a.5.5 0 0 1 1 0v6.05a2.5 2.5 0 0 1 0 4.9V14a.5.5 0 0 1-.5.5Z'></path><path d='M12 14a.5.5 0 0 0 1 0V7.95a2.5 2.5 0 0 0 0-4.9V2a.5.5 0 0 0-1 0v1.05a2.5 2.5 0 0 0 0 4.9V14Z'></path>\",\"M6 22a1 1 0 0 1-1-1v-8.67a3.001 3.001 0 0 1 0-5.66V3a1 1 0 1 1 2 0v3.67a3.001 3.001 0 0 1 0 5.66V21a1 1 0 0 1-1 1Zm6 0a1 1 0 0 1-1-1v-2.17a3.001 3.001 0 0 1 0-5.66V3a1 1 0 1 1 2 0v10.17a3.001 3.001 0 0 1 0 5.66V21a1 1 0 0 1-1 1Zm5-1a1 1 0 1 0 2 0V10.83a3.001 3.001 0 0 0 0-5.66V3a1 1 0 1 0-2 0v2.17a3.001 3.001 0 0 0 0 5.66V21Z\",\"M7 29a1 1 0 1 0 2 0V16.874a4.002 4.002 0 0 0 0-7.748V3a1 1 0 1 0-2 0v6.126a4.002 4.002 0 0 0 0 7.748V29Zm8 0a1 1 0 1 0 2 0v-2.126a4.002 4.002 0 0 0 0-7.748V3a1 1 0 1 0-2 0v16.126a4.002 4.002 0 0 0 0 7.748V29Zm9 1a1 1 0 0 1-1-1V12.874a4.002 4.002 0 0 1 0-7.748V3a1 1 0 1 1 2 0v2.126a4.002 4.002 0 0 1 0 7.748V29a1 1 0 0 1-1 1Z\"],[\"M3.5 11a.5.5 0 0 1-.5-.5V5.937a2 2 0 0 1 0-3.874V1.5a.5.5 0 0 1 1 0v.563a2 2 0 0 1 0 3.874V10.5a.5.5 0 0 1-.5.5Zm0-6a1 1 0 1 1 0-2 1 1 0 0 1 0 2ZM8 10.5a.5.5 0 0 0 1 0v-.563a2 2 0 0 0 0-3.874V1.5a.5.5 0 0 0-1 0v4.563a2 2 0 0 0 0 3.874v.563ZM8.5 9a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\",\"<path d='M3.5 14.5A.5.5 0 0 1 3 14V8.95a2.5 2.5 0 0 1 0-4.9V2a.5.5 0 0 1 1 0v2.05a2.5 2.5 0 0 1 0 4.9V14a.5.5 0 0 1-.5.5Zm0-6.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3ZM8 14a.5.5 0 0 0 1 0v-1.05a2.5 2.5 0 0 0 0-4.9V2a.5.5 0 0 0-1 0v6.05a2.5 2.5 0 0 0 0 4.9V14Zm.5-2a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Z'></path><path d='M12 14a.5.5 0 0 0 1 0V7.95a2.5 2.5 0 0 0 0-4.9V2a.5.5 0 0 0-1 0v1.05a2.5 2.5 0 0 0 0 4.9V14Zm.5-7a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Z'></path>\",\"M6 22a1 1 0 0 1-1-1v-8.67a3.001 3.001 0 0 1 0-5.66V3a1 1 0 1 1 2 0v3.67a3.001 3.001 0 0 1 0 5.66V21a1 1 0 0 1-1 1ZM6 8.5a1 1 0 1 1 0 2 1 1 0 0 1 0-2ZM11 21a1 1 0 1 0 2 0v-2.17a3.001 3.001 0 0 0 0-5.66V3a1 1 0 1 0-2 0v10.17a3.001 3.001 0 0 0 0 5.66V21Zm1-6a1 1 0 1 1 0 2 1 1 0 0 1 0-2Zm5 6a1 1 0 1 0 2 0V10.83a3.001 3.001 0 0 0 0-5.66V3a1 1 0 1 0-2 0v2.17a3.001 3.001 0 0 0 0 5.66V21Zm1-14a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z\",\"M8 30a1 1 0 0 1-1-1V16.874a4.002 4.002 0 0 1 0-7.748V3a1 1 0 1 1 2 0v6.126a4.002 4.002 0 0 1 0 7.748V29a1 1 0 0 1-1 1Zm0-19a2 2 0 1 1 0 4 2 2 0 0 1 0-4Zm7 18a1 1 0 1 0 2 0v-2.126a4.002 4.002 0 0 0 0-7.748V3a1 1 0 1 0-2 0v16.126a4.002 4.002 0 0 0 0 7.748V29Zm1-8a2 2 0 1 1 0 4 2 2 0 0 1 0-4Zm7 8a1 1 0 1 0 2 0V12.874a4.002 4.002 0 0 0 0-7.748V3a1 1 0 1 0-2 0v2.126a4.002 4.002 0 0 0 0 7.748V29Zm1-22a2 2 0 1 1 0 4 2 2 0 0 1 0-4Z\"]];","export default [[\"<path d='M6.5 1a2.5 2.5 0 0 0-2.04 1.053A2 2 0 0 0 2.054 4.46 2.5 2.5 0 0 0 3.5 9a2.497 2.497 0 0 0 3.071.76 3 3 0 0 1 4.417-4.007 2.5 2.5 0 0 0-2.03-2.71A2.5 2.5 0 0 0 6.501.999Z'></path><path d='M7 8a2 2 0 1 1 4 0 2 2 0 0 1-4 0Z'></path>\",\"<path d='M8.5 2c-1.025 0-1.947.44-2.586 1.142A3 3 0 0 0 2.08 6.694a3 3 0 0 0 2.613 5.225A2.995 2.995 0 0 0 7 13a2.99 2.99 0 0 0 2.009-.772 3.041 3.041 0 0 1 .033-.728 3 3 0 0 1 4.775-2.887c.304.086.588.218.845.39a3.5 3.5 0 0 0-2.997-4.998A3.5 3.5 0 0 0 8.5 1.999Z'></path><path d='M10 11a2 2 0 0 1 3.358-1.468 2 2 0 0 1 0 3.936 2 2 0 0 1-3.295-1.968A2.006 2.006 0 0 1 10 11Z'></path>\",\"<path d='M14 3c-1.442 0-2.74.61-3.652 1.585a5 5 0 0 0-7.26 5.35 5 5 0 0 0 3.636 9.012 4.496 4.496 0 0 0 5.682 1.63A5.484 5.484 0 0 1 12 18.5c0-1.287.443-2.47 1.181-3.405a5.502 5.502 0 0 1 9.455-2.22 5 5 0 0 0-4.037-6.84A5 5 0 0 0 14 3Z'></path><path d='M15.033 16.017a3.5 3.5 0 0 1 6.782-.642 3.5 3.5 0 0 1-2.503 6.12 3.5 3.5 0 0 1-4.279-5.478Z'></path>\",\"<path d='M18.5 4a6.49 6.49 0 0 0-5.117 2.492A6 6 0 0 0 5 12v.022A6.5 6.5 0 0 0 9.224 23.96 5.49 5.49 0 0 0 13.5 26a5.49 5.49 0 0 0 1.872-.327A6.488 6.488 0 0 1 15 23.5a6.48 6.48 0 0 1 1.018-3.494 6.5 6.5 0 0 1 11.968-2.992 6.53 6.53 0 0 1 1.209.991 6.001 6.001 0 0 0-4.355-8.947A6.502 6.502 0 0 0 18.5 4Z'></path><path d='M18 20.5a4.5 4.5 0 0 1 8.521-2.021 4.5 4.5 0 0 1-2.189 8.518 4.5 4.5 0 0 1-6.33-6.33A4.442 4.442 0 0 1 18 20.5Z'></path>\"],[\"M10.62 6.826a2.5 2.5 0 0 0-1.661-3.784 2.5 2.5 0 0 0-4.498-.989A2 2 0 0 0 2.054 4.46 2.5 2.5 0 0 0 3.5 9a2.5 2.5 0 0 0 3.87.16 2 2 0 1 0 3.25-2.333ZM6.5 2A1.5 1.5 0 0 1 8 3.5a.5.5 0 0 0 .5.5 1.5 1.5 0 0 1 1.336 2.183A2 2 0 0 0 7 8.046a.5.5 0 0 0-.193.191 1.5 1.5 0 0 1-2.614 0 .5.5 0 0 0-.499-.25 1.5 1.5 0 0 1-.821-2.85.5.5 0 0 0 .236-.682 1 1 0 0 1 1.346-1.346.5.5 0 0 0 .682-.236A1.5 1.5 0 0 1 6.5 2ZM8 8a1 1 0 1 1 2 0 1 1 0 0 1-2 0Z\",\"M14.108 9.835a3.5 3.5 0 0 0-2.443-5.83 3.5 3.5 0 0 0-5.751-.863A3 3 0 0 0 2.08 6.694a3 3 0 0 0 2.613 5.225A2.995 2.995 0 0 0 7 13c.814 0 1.552-.325 2.092-.85.295.157.62.266.963.317a2 2 0 0 0 3.303 1 2 2 0 0 0 .75-3.632ZM8.5 3c1.09 0 2.017.697 2.36 1.67a.5.5 0 0 0 .499.334 2.5 2.5 0 0 1 1.8 4.366 2 2 0 0 0-3.108 2.08 1.988 1.988 0 0 1-.75-.35.5.5 0 0 0-.7.1c-.366.487-.947.8-1.601.8-.71 0-1.335-.37-1.69-.93a.5.5 0 0 0-.6-.2 2 2 0 0 1-1.78-3.56.5.5 0 0 0 .2-.6 2 2 0 0 1 2.726-2.518.5.5 0 0 0 .619-.158A2.496 2.496 0 0 1 8.5 3Zm2.5 8a1 1 0 0 1 1.748-.663.5.5 0 0 0 .334.166 1 1 0 0 1 0 1.994.5.5 0 0 0-.334.166 1 1 0 0 1-1.692-.997.5.5 0 0 0 0-.333A.996.996 0 0 1 11 11Z\",\"M21.451 14.618A5 5 0 0 0 18.6 6.036a5 5 0 0 0-8.25-1.451 5 5 0 0 0-7.26 5.35 5 5 0 0 0 3.636 9.012A4.496 4.496 0 0 0 10.499 21c1.328 0 2.52-.575 3.343-1.488.116.055.235.107.356.153a3.501 3.501 0 0 0 5.113 1.83 3.5 3.5 0 0 0 2.503-6.12 3.492 3.492 0 0 0-.364-.757ZM14 5c1.397 0 2.573.956 2.906 2.25a1 1 0 0 0 1 .751L18 8a3 3 0 0 1 1.924 5.302 3.5 3.5 0 0 0-4.891 2.715c-.381.38-.676.847-.852 1.369l-.002-.001a1 1 0 0 0-1.484.313 2.501 2.501 0 0 1-4.517-.27 1 1 0 0 0-1.24-.577A3 3 0 0 1 4.69 11.3a1 1 0 0 0 .499-1.25 3 3 0 0 1 4.74-3.348 1 1 0 0 0 1.5-.25A2.998 2.998 0 0 1 14 5Zm3 11.5a1.5 1.5 0 0 1 2.965-.327 1 1 0 0 0 .399.6 1.5 1.5 0 0 1-1.134 2.703 1 1 0 0 0-.8.2A1.5 1.5 0 1 1 16.6 17.3a1 1 0 0 0 .4-.8Z\",\"M27.904 19.556A6.001 6.001 0 0 0 24.84 9.058a6.502 6.502 0 0 0-11.457-2.566A6 6 0 0 0 5 12v.022A6.5 6.5 0 0 0 9.224 23.96 5.49 5.49 0 0 0 13.5 26a5.48 5.48 0 0 0 3.641-1.378 4.502 4.502 0 0 0 7.191 2.375L24.5 27a4.5 4.5 0 0 0 3.404-7.444ZM18.5 6a4.5 4.5 0 0 1 4.482 4.09 1 1 0 0 0 1 .91H24a4 4 0 0 1 2.378 7.217 4.5 4.5 0 0 0-8.375 2.45 4.494 4.494 0 0 0-.787 1.451 1 1 0 0 0-.868.417A3.494 3.494 0 0 1 13.5 24a3.497 3.497 0 0 1-2.975-1.654 1 1 0 0 0-1.062-.45 4.5 4.5 0 0 1-2.98-8.42 1 1 0 0 0 .544-1.009 4 4 0 0 1 6.14-3.83 1 1 0 0 0 1.412-.348A4.498 4.498 0 0 1 18.5 6ZM20 20.5a2.5 2.5 0 0 1 4.832-.903 1 1 0 0 0 .571.57 2.501 2.501 0 0 1-1.27 4.806 1 1 0 0 0-.857.286 2.5 2.5 0 1 1-3.535-3.535 1 1 0 0 0 .286-.856A2.536 2.536 0 0 1 20 20.5Z\"]];","export default [[\"M2.854 1.146a.5.5 0 0 0-.708 0l-2 2a.5.5 0 1 0 .708.708L2 2.707V9.5a.5.5 0 0 0 1 0V2.707l1.146 1.147a.5.5 0 1 0 .708-.708l-2-2ZM6 2.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5ZM6.5 5a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3ZM6 8.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Z\",\"M3.854 2.146a.5.5 0 0 0-.708 0l-2 2a.5.5 0 1 0 .708.708L3 3.707V13.5a.5.5 0 0 0 1 0V3.707l1.146 1.147a.5.5 0 1 0 .708-.708l-2-2ZM8 3.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5ZM8.5 6a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3ZM8 9.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm.5 2.5a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Z\",\"M6.707 2.293a1 1 0 0 0-1.414 0l-4 4a1 1 0 0 0 1.414 1.414L5 5.414V21a1 1 0 1 0 2 0V5.414l2.293 2.293a1 1 0 0 0 1.414-1.414l-4-4ZM12 5a1 1 0 0 1 1-1h2a1 1 0 1 1 0 2h-2a1 1 0 0 1-1-1Zm1 4a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2h-4Zm-1 6a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2h-6a1 1 0 0 1-1-1Zm1 4a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2h-8Z\",\"M8.707 3.293a1 1 0 0 0-1.414 0l-5 5a1 1 0 0 0 1.414 1.414L7 6.414V27a1 1 0 1 0 2 0V6.414l3.293 3.293a1 1 0 0 0 1.414-1.414l-5-5ZM15 6a1 1 0 0 1 1-1h5a1 1 0 1 1 0 2h-5a1 1 0 0 1-1-1Zm1 6a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2h-8Zm-1 8a1 1 0 0 1 1-1h10a1 1 0 1 1 0 2H16a1 1 0 0 1-1-1Zm1 6a1 1 0 1 0 0 2h13a1 1 0 1 0 0-2H16Z\"],[\"M2.854 1.146a.5.5 0 0 0-.708 0l-2 2a.5.5 0 1 0 .708.708L2 2.707V9.5a.5.5 0 0 0 1 0V2.707l1.146 1.147a.5.5 0 1 0 .708-.708l-2-2ZM6 2.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5ZM6.5 5a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3ZM6 8.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Z\",\"M3.854 2.146a.5.5 0 0 0-.708 0l-2 2a.5.5 0 1 0 .708.708L3 3.707V13.5a.5.5 0 0 0 1 0V3.707l1.146 1.147a.5.5 0 1 0 .708-.708l-2-2ZM8.5 3a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2ZM8 6.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5ZM8.5 9a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4ZM8 12.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5Z\",\"M6.707 2.293a1 1 0 0 0-1.414 0l-4 4a1 1 0 0 0 1.414 1.414L5 5.414V21a1 1 0 1 0 2 0V5.414l2.293 2.293a1 1 0 0 0 1.414-1.414l-4-4ZM13 4a1 1 0 1 0 0 2h2a1 1 0 1 0 0-2h-2Zm-1 6a1 1 0 0 1 1-1h4a1 1 0 1 1 0 2h-4a1 1 0 0 1-1-1Zm1 4a1 1 0 1 0 0 2h6a1 1 0 1 0 0-2h-6Zm-1 6a1 1 0 0 1 1-1h8a1 1 0 1 1 0 2h-8a1 1 0 0 1-1-1Z\",\"M8.707 3.293a1 1 0 0 0-1.414 0l-5 5a1 1 0 0 0 1.414 1.414L7 6.414V27a1 1 0 1 0 2 0V6.414l3.293 3.293a1 1 0 0 0 1.414-1.414l-5-5ZM16 5a1 1 0 1 0 0 2h5a1 1 0 1 0 0-2h-5Zm-1 8a1 1 0 0 1 1-1h8a1 1 0 1 1 0 2h-8a1 1 0 0 1-1-1Zm1 6a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2H16Zm-1 8a1 1 0 0 1 1-1h13a1 1 0 1 1 0 2H16a1 1 0 0 1-1-1Z\"]];","export default [[\"M2.309 9.962a.498.498 0 0 0 .188.038h.006c.127 0 .254-.05.35-.146l2-2a.5.5 0 1 0-.707-.708L3 8.293V1.5a.5.5 0 0 0-1 0v6.793L.854 7.146a.5.5 0 1 0-.708.708l2 2a.499.499 0 0 0 .163.108ZM6.5 3a.5.5 0 0 1 0-1h4a.5.5 0 0 1 0 1h-4ZM6 5.5a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5Zm0 3a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 0-1h-2a.5.5 0 0 0-.5.5Z\",\"m4 12.293 1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 0 1 .708-.708L3 12.293V2.5a.5.5 0 0 1 1 0v9.793ZM8.5 4a.5.5 0 0 1 0-1h6a.5.5 0 0 1 0 1h-6ZM8 6.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 0-1h-4a.5.5 0 0 0-.5.5Zm.5 3.5a.5.5 0 0 1 0-1h3a.5.5 0 0 1 0 1h-3Zm0 3a.5.5 0 0 1 0-1h2a.5.5 0 0 1 0 1h-2Z\",\"m7 18.586 2.293-2.293a1 1 0 0 1 1.414 1.414l-4 4a1 1 0 0 1-1.414 0l-4-4a1 1 0 1 1 1.414-1.414L5 18.586V3a1 1 0 0 1 2 0v15.586ZM13 5a1 1 0 1 1 0-2h8a1 1 0 1 1 0 2h-8Zm-1 4a1 1 0 0 0 1 1h6a1 1 0 1 0 0-2h-6a1 1 0 0 0-1 1Zm1 6a1 1 0 1 1 0-2h4a1 1 0 1 1 0 2h-4Zm0 5a1 1 0 1 1 0-2h2a1 1 0 1 1 0 2h-2Z\",\"M15 4a1 1 0 0 0 1 1h13a1 1 0 1 0 0-2H16a1 1 0 0 0-1 1Zm1 8a1 1 0 1 1 0-2h10a1 1 0 1 1 0 2H16Zm-1 6a1 1 0 0 0 1 1h8a1 1 0 1 0 0-2h-8a1 1 0 0 0-1 1Zm0 7a1 1 0 0 0 1 1h5a1 1 0 1 0 0-2h-5a1 1 0 0 0-1 1Zm-8-.414V4a1 1 0 0 1 2 0v20.586l3.293-3.293a1 1 0 0 1 1.414 1.414l-5 5a1 1 0 0 1-1.414 0l-5-5a1 1 0 1 1 1.414-1.414L7 24.586Z\"]];","export default [[\"M8 1.5a.5.5 0 0 0-.825-.38L3.815 4H2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h1.815l3.36 2.88A.5.5 0 0 0 8 10.5v-9Zm1.729 2.055a.5.5 0 0 0-.458.89c.169.087.354.276.5.566a2.24 2.24 0 0 1-.004 1.986c-.146.29-.33.474-.492.557a.5.5 0 0 0 .45.892c.409-.206.724-.581.934-.998a3.252 3.252 0 0 0 .006-2.885c-.211-.42-.527-.797-.936-1.008Z\",\"M11 2.54a1 1 0 0 0-1.625-.78L5.327 4.998 2.01 4.965a1 1 0 0 0-1.01 1V10a1 1 0 0 0 1 1h3.325l4.05 3.24A1 1 0 0 0 11 13.46V2.54Zm1.668 2.03a.5.5 0 1 0-.336.942C13.28 5.849 14 6.748 14 8.035c0 1.298-.718 2.193-1.67 2.535a.5.5 0 0 0 .34.941C14.023 11.023 15 9.748 15 8.035c0-1.702-.979-2.984-2.332-3.466Z\",\"M16 3.707c0-1.336-1.616-2.006-2.56-1.06L8.085 8H4.5A2.5 2.5 0 0 0 2 10.5v3A2.5 2.5 0 0 0 4.5 16h3.586l5.353 5.354c.945.944 2.561.275 2.561-1.061V3.707ZM19.601 7.2A1 1 0 0 0 18.4 8.8 3.992 3.992 0 0 1 20 12a3.992 3.992 0 0 1-1.6 3.2 1 1 0 0 0 1.201 1.6A5.992 5.992 0 0 0 22 12a5.993 5.993 0 0 0-2.399-4.8Z\",\"M21.999 4.518c0-1.246-1.431-1.948-2.417-1.186L10.952 10H5a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h5.953l8.629 6.669c.986.762 2.417.059 2.417-1.187V4.518Zm3.391 5.559a1 1 0 0 0-.771 1.846 5.502 5.502 0 0 1 0 10.154 1 1 0 0 0 .771 1.846 7.502 7.502 0 0 0 0-13.846Z\"],[\"M8 1.5a.5.5 0 0 0-.825-.38L3.815 4H2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h1.815l3.36 2.88A.5.5 0 0 0 8 10.5v-9ZM4.325 4.88 7 2.587v6.826L4.325 7.12A.5.5 0 0 0 4 7H2V5h2a.5.5 0 0 0 .325-.12Zm5.404-1.325a.5.5 0 0 0-.458.89c.169.087.354.276.5.566a2.24 2.24 0 0 1-.004 1.986c-.146.29-.33.474-.492.557a.5.5 0 0 0 .45.892c.409-.206.724-.581.934-.998a3.252 3.252 0 0 0 .006-2.885c-.211-.42-.527-.797-.936-1.008Z\",\"M11 2.54a1 1 0 0 0-1.625-.78L5.327 4.998 2.01 4.965a1 1 0 0 0-1.01 1V10a1 1 0 0 0 1 1h3.325l4.05 3.24A1 1 0 0 0 11 13.46V2.54ZM5.812 5.89 10 2.54v10.92l-4.188-3.35A.5.5 0 0 0 5.5 10H2V5.965L5.495 6a.5.5 0 0 0 .317-.11Zm6.856-1.32a.5.5 0 1 0-.336.942C13.28 5.849 14 6.748 14 8.035c0 1.298-.718 2.193-1.67 2.535a.5.5 0 0 0 .34.941C14.023 11.023 15 9.748 15 8.035c0-1.702-.979-2.984-2.332-3.466Z\",\"M16 3.707c0-1.336-1.616-2.006-2.56-1.06L8.085 8H4.5A2.5 2.5 0 0 0 2 10.5v3A2.5 2.5 0 0 0 4.5 16h3.586l5.353 5.354c.945.944 2.561.275 2.561-1.061V3.707Zm-6.792 6L14 4.914v14.172l-4.793-4.793A1 1 0 0 0 8.5 14h-4a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 .5-.5h4a1 1 0 0 0 .708-.293ZM19.601 7.2A1 1 0 0 0 18.4 8.8 3.992 3.992 0 0 1 20 12a3.992 3.992 0 0 1-1.6 3.2 1 1 0 0 0 1.201 1.6A5.992 5.992 0 0 0 22 12a5.993 5.993 0 0 0-2.399-4.8Z\",\"M21.999 4.518c0-1.246-1.431-1.948-2.417-1.186L10.952 10H5a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h5.953l8.629 6.669c.986.762 2.417.059 2.417-1.187V4.518Zm-10.093 7.273 8.093-6.254v20.927l-8.093-6.255a1 1 0 0 0-.612-.209H5a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h6.294a1 1 0 0 0 .611-.209Zm13.484-1.714a1 1 0 0 0-.771 1.846 5.502 5.502 0 0 1 0 10.154 1 1 0 0 0 .771 1.846 7.502 7.502 0 0 0 0-13.846Z\"]];","export default [[\"M10.781 5.152a.139.139 0 0 0-.105-.045.144.144 0 0 0-.065.015.307.307 0 0 0-.057.038 1.006 1.006 0 0 1-.16.12.931.931 0 0 1-.36.12 1.913 1.913 0 0 1-.23.012c-.144 0-.279-.027-.405-.08a.966.966 0 0 1-.33-.24 1.175 1.175 0 0 1-.223-.385 1.586 1.586 0 0 1-.08-.522c0-.194.025-.366.075-.518.05-.152.12-.28.21-.382a.912.912 0 0 1 .328-.24c.126-.055.266-.083.417-.083a1.047 1.047 0 0 1 .56.138c.06.035.11.066.15.095a.217.217 0 0 0 .123.042.16.16 0 0 0 .095-.025.236.236 0 0 0 .057-.057l.253-.345c-.07-.07-.15-.135-.238-.193a1.456 1.456 0 0 0-.285-.152 1.95 1.95 0 0 0-.713-.132 1.913 1.913 0 0 0-.504.062 1.669 1.669 0 0 0-1.065.827 1.84 1.84 0 0 0-.173.45A2.216 2.216 0 0 0 8 4.185c0 .268.04.515.122.742.082.227.199.423.35.588.152.165.336.294.553.387.216.092.46.138.732.138.3 0 .559-.049.775-.145.219-.097.401-.239.548-.425l-.298-.318ZM4.555 6h-.582a.267.267 0 0 1-.16-.045.293.293 0 0 1-.09-.12l-.245-.693H2.033l-.245.693a.295.295 0 0 1-.088.115.244.244 0 0 1-.157.05H.955l1.418-3.628h.767L4.555 6Zm-1.26-1.378-.392-1.11a4.212 4.212 0 0 1-.075-.205 4.454 4.454 0 0 1-.073-.255 3.543 3.543 0 0 1-.147.465l-.39 1.105h1.077Zm2.883-2.25c.244 0 .451.023.623.07.173.045.314.11.422.195a.73.73 0 0 1 .24.305c.05.12.075.254.075.403a.77.77 0 0 1-.15.457.824.824 0 0 1-.195.183 1.22 1.22 0 0 1-.285.14c.247.058.43.153.548.285a.738.738 0 0 1 .177.512c0 .153-.03.296-.09.428a.954.954 0 0 1-.257.342 1.235 1.235 0 0 1-.42.228c-.165.053-.355.08-.57.08H4.89V2.372h1.287Zm.105 3.053c.12 0 .219-.015.295-.043a.525.525 0 0 0 .188-.117.398.398 0 0 0 .097-.165.698.698 0 0 0 .028-.195.555.555 0 0 0-.033-.198.344.344 0 0 0-.105-.147.484.484 0 0 0-.19-.095 1.064 1.064 0 0 0-.285-.033h-.637v.993h.642Zm-.642-2.483v.98h.492c.105 0 .199-.008.28-.025a.576.576 0 0 0 .205-.085.365.365 0 0 0 .125-.15.528.528 0 0 0 .045-.227.627.627 0 0 0-.037-.23.332.332 0 0 0-.11-.153.473.473 0 0 0-.19-.082 1.184 1.184 0 0 0-.273-.028h-.537Zm3.213 4.912a.5.5 0 1 0-.708-.708L5.5 9.793 4.354 8.646a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3Z\",\"M14.694 7.813a.194.194 0 0 0-.147-.063.201.201 0 0 0-.09.021.434.434 0 0 0-.081.053c-.075.067-.15.123-.224.168a1.13 1.13 0 0 1-.235.108 1.305 1.305 0 0 1-.27.06 2.677 2.677 0 0 1-.321.017c-.201 0-.39-.037-.567-.112a1.353 1.353 0 0 1-.462-.336 1.646 1.646 0 0 1-.312-.539 2.221 2.221 0 0 1-.112-.731c0-.27.035-.512.105-.725.07-.212.168-.39.294-.535.128-.147.281-.26.459-.336a1.45 1.45 0 0 1 .584-.116 1.465 1.465 0 0 1 .784.192c.084.05.154.094.21.134.059.04.116.06.172.06a.22.22 0 0 0 .133-.036.329.329 0 0 0 .08-.08l.354-.483a2.12 2.12 0 0 0-.333-.27 2.034 2.034 0 0 0-.399-.213 2.73 2.73 0 0 0-.998-.185c-.249 0-.485.028-.706.087a2.36 2.36 0 0 0-.61.248 2.289 2.289 0 0 0-.881.91 2.577 2.577 0 0 0-.242.63c-.053.227-.08.466-.08.718 0 .375.057.722.171 1.04.114.317.278.59.49.822.212.23.47.412.774.542.303.129.645.193 1.025.193.42 0 .782-.068 1.085-.203.306-.136.561-.334.767-.595l-.417-.445ZM5.978 9h-.816a.374.374 0 0 1-.224-.063.41.41 0 0 1-.126-.168l-.343-.97H2.446l-.343.97a.412.412 0 0 1-.123.16.342.342 0 0 1-.22.07H.937l1.985-5.078h1.075L5.976 9ZM4.213 7.07l-.55-1.554a5.906 5.906 0 0 1-.105-.287 6.241 6.241 0 0 1-.102-.357 4.895 4.895 0 0 1-.206.651L2.704 7.07h1.508ZM8.25 3.921c.34 0 .631.033.872.098a1.6 1.6 0 0 1 .591.273c.154.117.266.26.336.427.07.168.105.356.105.564a1.077 1.077 0 0 1-.21.64c-.07.094-.161.179-.273.256a1.673 1.673 0 0 1-.399.196c.345.081.6.214.767.399.165.184.248.423.248.717 0 .215-.042.414-.126.599a1.334 1.334 0 0 1-.36.48 1.73 1.73 0 0 1-.588.318A2.595 2.595 0 0 1 8.415 9H6.448V3.92H8.25Zm.147 4.274c.168 0 .306-.02.413-.06a.712.712 0 0 0 .263-.164.558.558 0 0 0 .136-.231.977.977 0 0 0 .039-.273.79.79 0 0 0-.046-.277.481.481 0 0 0-.147-.206.678.678 0 0 0-.266-.133 1.49 1.49 0 0 0-.399-.046h-.892v1.39h.899Zm-.9-3.476v1.372h.69c.147 0 .278-.011.392-.035a.806.806 0 0 0 .287-.119.511.511 0 0 0 .175-.21.738.738 0 0 0 .063-.318.878.878 0 0 0-.052-.322.465.465 0 0 0-.154-.214.663.663 0 0 0-.266-.115 1.657 1.657 0 0 0-.382-.039h-.752Zm3.357 6.135a.5.5 0 0 0-.708-.708L7.5 12.793l-1.146-1.147a.5.5 0 0 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3Z\",\"M21.043 10.14a.31.31 0 0 0-.265.01.525.525 0 0 0-.13.08 2.1 2.1 0 0 1-.295.225c-.097.056-.2.103-.31.14a2.23 2.23 0 0 1-.355.075c-.127.013-.267.02-.42.02a1.802 1.802 0 0 1-1.365-.605 2.276 2.276 0 0 1-.415-.735c-.1-.29-.15-.622-.15-.995 0-.37.045-.699.135-.985a2.12 2.12 0 0 1 .39-.73c.17-.2.37-.352.6-.455a1.88 1.88 0 0 1 .77-.155c.176 0 .33.013.46.04.133.026.248.06.345.1.1.036.185.078.255.125.073.043.14.085.2.125.06.036.116.068.17.095.053.026.11.04.17.04a.35.35 0 0 0 .21-.055.797.797 0 0 0 .13-.13l.57-.765a3.039 3.039 0 0 0-1.05-.695 3.51 3.51 0 0 0-.68-.2 3.771 3.771 0 0 0-.77-.075c-.537 0-1.029.091-1.475.275a3.347 3.347 0 0 0-1.895 1.95 4.085 4.085 0 0 0-.265 1.495c0 .533.081 1.028.245 1.485.163.453.396.846.7 1.18.306.33.678.59 1.115.78.44.186.936.28 1.49.28.603 0 1.125-.097 1.565-.29a2.798 2.798 0 0 0 1.105-.87l-.67-.705a.296.296 0 0 0-.115-.075ZM8.74 12H7.43a.582.582 0 0 1-.356-.1.67.67 0 0 1-.205-.265l-.43-1.27H3.67l-.43 1.27a.618.618 0 0 1-.2.255.55.55 0 0 1-.35.11H1.37l2.82-7.285h1.73L8.74 12ZM6.053 9.215 5.38 7.22a8.851 8.851 0 0 1-.16-.445c-.057-.174-.113-.36-.17-.56a7.872 7.872 0 0 1-.32 1.015l-.67 1.985h1.995Zm5.94-4.5c.504 0 .932.046 1.285.14.354.093.642.225.865.395.224.17.385.376.486.62.103.243.155.515.155.815 0 .163-.024.321-.07.475-.047.15-.12.291-.22.425-.1.13-.229.25-.386.36-.156.11-.345.205-.565.285.48.116.836.305 1.066.565.23.26.345.596.345 1.01a1.993 1.993 0 0 1-.71 1.565c-.23.196-.515.351-.855.465-.34.11-.729.165-1.165.165h-2.91V4.715h2.68Zm.2 6.01c.224 0 .405-.029.546-.085a.864.864 0 0 0 .334-.22.738.738 0 0 0 .165-.305c.03-.114.046-.229.046-.345 0-.134-.019-.254-.056-.36a.57.57 0 0 0-.18-.27.856.856 0 0 0-.335-.17c-.14-.04-.316-.06-.53-.06h-1.18v1.815h1.19Zm-1.19-4.745v1.8h.88a2.9 2.9 0 0 0 .506-.04c.15-.027.276-.074.38-.14a.621.621 0 0 0 .24-.275c.056-.117.085-.264.085-.44 0-.174-.022-.317-.066-.43a.618.618 0 0 0-.2-.28.84.84 0 0 0-.345-.15 2.31 2.31 0 0 0-.49-.045h-.99Zm6.204 9.227a1 1 0 0 0-1.414-1.414L11 18.586l-1.793-1.793a1 1 0 0 0-1.414 1.414l2.5 2.5a1 1 0 0 0 1.414 0l5.5-5.5Z\",\"M28.861 13.896a.433.433 0 0 0-.37.014.736.736 0 0 0-.183.113c-.14.126-.277.23-.413.315-.135.079-.28.144-.434.196a3.16 3.16 0 0 1-.497.104 5.666 5.666 0 0 1-.588.028 2.52 2.52 0 0 1-1.911-.847 3.183 3.183 0 0 1-.58-1.028c-.14-.407-.21-.87-.21-1.393 0-.518.062-.978.188-1.38.131-.406.313-.746.546-1.022a2.37 2.37 0 0 1 .84-.637 2.633 2.633 0 0 1 1.078-.217c.248 0 .462.02.644.056.187.038.348.084.483.14.14.052.26.11.357.175.103.061.196.12.28.175.084.052.164.096.238.133a.525.525 0 0 0 .238.056.49.49 0 0 0 .294-.077 1.08 1.08 0 0 0 .182-.182l.798-1.07a4.261 4.261 0 0 0-1.47-.974 4.917 4.917 0 0 0-.952-.28 5.28 5.28 0 0 0-1.078-.105c-.75 0-1.44.129-2.065.385a4.697 4.697 0 0 0-1.61 1.078 4.86 4.86 0 0 0-1.043 1.652 5.718 5.718 0 0 0-.37 2.094c0 .746.114 1.44.342 2.079.23.634.556 1.185.98 1.652.43.462.95.825 1.561 1.092.616.26 1.312.392 2.086.392.845 0 1.575-.136 2.191-.407a3.919 3.919 0 0 0 1.547-1.217L29.022 14a.414.414 0 0 0-.16-.104ZM11.636 16.5H9.802c-.205 0-.37-.046-.497-.14a.939.939 0 0 1-.287-.37l-.602-1.779H4.538l-.602 1.778a.866.866 0 0 1-.28.357.77.77 0 0 1-.49.154H1.318L5.266 6.301h2.422l3.948 10.2Zm-3.759-3.899-.945-2.793c-.07-.177-.144-.385-.224-.623a20.61 20.61 0 0 1-.238-.784 11.021 11.021 0 0 1-.448 1.421l-.938 2.78h2.793Zm8.315-6.3c.705 0 1.305.066 1.8.196.494.131.898.315 1.21.553.313.238.54.528.68.868.144.341.216.721.216 1.141 0 .23-.032.45-.098.665-.065.21-.168.409-.308.595-.14.182-.32.35-.538.504-.22.154-.483.287-.791.4.672.163 1.169.426 1.49.79.322.364.483.836.483 1.415 0 .433-.083.837-.252 1.21a2.79 2.79 0 0 1-.741.98 3.543 3.543 0 0 1-1.198.652c-.476.154-1.02.23-1.63.23H12.44V6.301h3.752Zm.28 8.415c.313 0 .567-.04.763-.12.201-.079.358-.181.47-.307.112-.127.189-.269.23-.428A1.88 1.88 0 0 0 18 13.38c0-.187-.026-.355-.077-.505a.798.798 0 0 0-.253-.378 1.198 1.198 0 0 0-.468-.238 2.753 2.753 0 0 0-.742-.083h-1.652v2.54h1.665Zm-1.666-6.644v2.52h1.232c.262 0 .497-.018.707-.056.21-.037.388-.102.532-.195a.87.87 0 0 0 .336-.386c.08-.163.12-.368.12-.616a1.7 1.7 0 0 0-.091-.602.866.866 0 0 0-.28-.392 1.177 1.177 0 0 0-.483-.21 3.241 3.241 0 0 0-.687-.063h-1.386Zm7.901 12.135a1 1 0 0 0-1.414-1.414L15.5 24.586l-2.793-2.793a1 1 0 0 0-1.414 1.414l3.5 3.5a1 1 0 0 0 1.414 0l6.5-6.5Z\"]];","export default [[\"M6 .5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1Zm0 3a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM5.5 6a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM6 9.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1Zm-2-6a.5.5 0 0 0-.777-.416l-3 2a.5.5 0 0 0 0 .832l3 2A.5.5 0 0 0 4 7.5v-4Zm3 0a.5.5 0 0 1 .777-.416l3 2a.5.5 0 0 1 0 .832l-3 2A.5.5 0 0 1 7 7.5v-4Z\",\"M7.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Zm0 3a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM8 7.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM7.5 10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Zm.5 3.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM6 5a.5.5 0 0 0-.765-.424l-4 2.5a.5.5 0 0 0 0 .848l4 2.5A.5.5 0 0 0 6 10V5Zm3 0a.5.5 0 0 1 .765-.424l4 2.5a.5.5 0 0 1 0 .848l-4 2.5A.5.5 0 0 1 9 10V5Z\",\"M13 2a1 1 0 1 0-2 0v2a1 1 0 1 0 2 0V2Zm0 6a1 1 0 1 0-2 0v2a1 1 0 1 0 2 0V8Zm-1 5a1 1 0 0 1 1 1v2a1 1 0 1 1-2 0v-2a1 1 0 0 1 1-1Zm1 7a1 1 0 1 0-2 0v2a1 1 0 1 0 2 0v-2ZM9 9a1 1 0 0 0-1.514-.857l-5 3a1 1 0 0 0 0 1.714l5 3A1 1 0 0 0 9 15V9Zm6 0a1 1 0 0 1 1.515-.857l5 3a1 1 0 0 1 0 1.714l-5 3A1 1 0 0 1 15 15V9Z\",\"M16 2a1 1 0 0 1 1 1v2a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1Zm0 6a1 1 0 0 1 1 1v2a1 1 0 1 1-2 0V9a1 1 0 0 1 1-1Zm1 7a1 1 0 1 0-2 0v2a1 1 0 1 0 2 0v-2Zm-1 5a1 1 0 0 1 1 1v2a1 1 0 1 1-2 0v-2a1 1 0 0 1 1-1Zm1 7a1 1 0 1 0-2 0v2a1 1 0 1 0 2 0v-2Zm-4-16a1 1 0 0 0-1.53-.848l-8 5a1 1 0 0 0 0 1.696l8 5A1 1 0 0 0 13 21V11Zm6 0a1 1 0 0 1 1.53-.848l8 5a1 1 0 0 1 0 1.696l-8 5A1 1 0 0 1 19 21V11Z\"],[\"M6 .5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1Zm0 3a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM5.5 6a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM6 9.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM3.736 3.06A.5.5 0 0 1 4 3.5v4a.5.5 0 0 1-.777.416l-3-2a.5.5 0 0 1 0-.832l3-2a.5.5 0 0 1 .513-.025ZM1.4 5.5 3 6.566V4.434L1.401 5.5Zm5.6-2a.5.5 0 0 1 .777-.416l3 2a.5.5 0 0 1 0 .832l-3 2A.5.5 0 0 1 7 7.5v-4Zm1 3.066L9.599 5.5 8 4.434v2.132Z\",\"M7.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Zm0 3a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM8 7.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM7.5 10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Zm.5 3.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM5.742 4.563A.5.5 0 0 1 6 5v5a.5.5 0 0 1-.765.424l-4-2.5a.5.5 0 0 1 0-.848l4-2.5a.5.5 0 0 1 .507-.013ZM2.443 7.5 5 9.098V5.902L2.443 7.5ZM9 5a.5.5 0 0 1 .765-.424l4 2.5a.5.5 0 0 1 0 .848l-4 2.5A.5.5 0 0 1 9 10V5Zm1 4.098L12.557 7.5 10 5.902v3.196Z\",\"M13 2a1 1 0 1 0-2 0v2a1 1 0 1 0 2 0V2Zm0 6a1 1 0 1 0-2 0v2a1 1 0 1 0 2 0V8Zm-1 5a1 1 0 0 1 1 1v2a1 1 0 1 1-2 0v-2a1 1 0 0 1 1-1Zm1 7a1 1 0 1 0-2 0v2a1 1 0 1 0 2 0v-2ZM8.493 8.13A1 1 0 0 1 9 9v6a1 1 0 0 1-1.514.857l-5-3a1 1 0 0 1 0-1.714l5-3a1 1 0 0 1 1.007-.013ZM4.943 12 7 13.234v-2.468L4.944 12ZM15 9a1 1 0 0 1 1.515-.857l5 3a1 1 0 0 1 0 1.714l-5 3A1 1 0 0 1 15 15V9Zm2 4.234L19.056 12 17 10.766v2.468Z\",\"M17 3a1 1 0 1 0-2 0v2a1 1 0 1 0 2 0V3Zm-4.515 7.125A1 1 0 0 1 13 11v10a1 1 0 0 1-1.53.848l-8-5a1 1 0 0 1 0-1.696l8-5a1 1 0 0 1 1.015-.027ZM5.887 16 11 19.196v-6.392L5.887 16Zm13.628-5.875A1 1 0 0 0 19 11v10a1 1 0 0 0 1.53.848l8-5a1 1 0 0 0 0-1.696l-8-5a1 1 0 0 0-1.015-.027ZM26.113 16 21 19.196v-6.392L26.113 16ZM16 8a1 1 0 0 1 1 1v2a1 1 0 1 1-2 0V9a1 1 0 0 1 1-1Zm1 7a1 1 0 1 0-2 0v2a1 1 0 1 0 2 0v-2Zm-1 5a1 1 0 0 1 1 1v2a1 1 0 1 1-2 0v-2a1 1 0 0 1 1-1Zm1 7a1 1 0 1 0-2 0v2a1 1 0 1 0 2 0v-2Z\"]];","export default [[\"M2 4a2 2 0 1 1 1.85-1.238l.9.676a1.992 1.992 0 0 1 1.969-.305l.552-.773a1.5 1.5 0 1 1 .814.581l-.553.774a1.992 1.992 0 0 1 .445 1.588l.42.18a1.5 1.5 0 1 1-.394.92l-.42-.18a2.01 2.01 0 0 1-.496.456L7.527 8a1.5 1.5 0 1 1-.949.316l-.44-1.32a1.99 1.99 0 0 1-1.154-.272l-1.26 1.26a2 2 0 1 1-.707-.707l1.26-1.261a1.99 1.99 0 0 1-.127-1.778l-.9-.676A1.992 1.992 0 0 1 2 4Z\",\"M1 3a2 2 0 0 0 3.016 1.723l1.539 1.539A2.98 2.98 0 0 0 5 8c0 .648.205 1.248.555 1.738l-1.539 1.539a2 2 0 1 0 .707.707l1.539-1.539a2.987 2.987 0 0 0 2.507.455l.69 1.52a1.5 1.5 0 1 0 .91-.414l-.69-1.52c.318-.215.592-.489.807-.807l1.52.691a1.5 1.5 0 1 0 .414-.91l-1.52-.69a3.006 3.006 0 0 0-.455-2.508l1.408-1.408a1.5 1.5 0 1 0-.707-.707L9.738 5.555A2.986 2.986 0 0 0 8 5a2.98 2.98 0 0 0-1.738.555L4.723 4.016A2 2 0 1 0 1 3Z\",\"M4.5 8a3.5 3.5 0 1 1 3.183-2.043l2.173 1.901A4.48 4.48 0 0 1 12.5 7a4.48 4.48 0 0 1 2.071.504l.838-.99a3 3 0 1 1 1.527 1.292l-.838.99a4.515 4.515 0 0 1 .802 3.653l.96.449a3 3 0 1 1-.846 1.812l-.96-.448c-.37.473-.83.87-1.356 1.166l.463 1.576a3 3 0 1 1-1.918.564l-.464-1.577a4.48 4.48 0 0 1-2.674-.681l-2.526 2.525a3.5 3.5 0 1 1-1.414-1.414l2.525-2.525A4.479 4.479 0 0 1 8 11.5c0-.774.195-1.501.539-2.137L6.366 7.462C5.826 7.802 5.186 8 4.5 8Z\",\"M6 10a4 4 0 1 1 3.446-1.968l3.078 3.077A5.973 5.973 0 0 1 16 10a5.98 5.98 0 0 1 2.882.736l1.755-2.223a3.5 3.5 0 1 1 1.57 1.24l-1.756 2.223a5.978 5.978 0 0 1 1.479 4.946l1.704.569a3.5 3.5 0 1 1-.632 1.897l-1.705-.568a6.028 6.028 0 0 1-1.666 1.957l1.198 2.287a3.5 3.5 0 1 1-1.771.929l-1.198-2.287c-.586.19-1.21.294-1.86.294a5.973 5.973 0 0 1-3.476-1.11l-2.214 2.214a4.5 4.5 0 1 1-1.414-1.414l2.213-2.213A5.972 5.972 0 0 1 10 16c0-1.296.41-2.496 1.11-3.476L8.031 9.446A3.982 3.982 0 0 1 6 10Z\"],[\"M0 2a2 2 0 0 0 3.25 1.562l.9.676a1.994 1.994 0 0 0 .127 1.778l-1.261 1.26a2 2 0 1 0 .707.707l1.261-1.26a1.99 1.99 0 0 0 1.154.272l.44 1.321A1.5 1.5 0 1 0 7.527 8l-.44-1.32a2.01 2.01 0 0 0 .496-.458l.42.18a1.5 1.5 0 1 0 .394-.92l-.42-.179a1.992 1.992 0 0 0-.445-1.589l.553-.772a1.5 1.5 0 1 0-.814-.582l-.552.773a1.992 1.992 0 0 0-1.968.305l-.901-.676A2 2 0 1 0 0 2Zm2 1a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm6.5-1a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1ZM2 10a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm5.5 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Zm2-3a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1ZM6 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\",\"M3 5a2 2 0 1 1 1.723-.984l1.539 1.539A2.98 2.98 0 0 1 8 5a2.98 2.98 0 0 1 1.738.555l1.408-1.408a1.5 1.5 0 1 1 .707.707l-1.408 1.408a2.987 2.987 0 0 1 .455 2.507l1.52.69a1.5 1.5 0 1 1-.414.91l-1.52-.69a3.008 3.008 0 0 1-.807.807l.691 1.52a1.5 1.5 0 1 1-.91.414l-.69-1.52a3.006 3.006 0 0 1-2.508-.455l-1.539 1.539a2 2 0 1 1-.707-.707l1.539-1.539A2.986 2.986 0 0 1 5 8c0-.648.205-1.248.555-1.738L4.016 4.723A1.99 1.99 0 0 1 3 5ZM2 3a1 1 0 1 0 2 0 1 1 0 0 0-2 0Zm10 .5a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0Zm1 7a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0Zm-3 3a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0ZM2 13a1 1 0 1 0 2 0 1 1 0 0 0-2 0Zm4-5a2 2 0 1 0 4 0 2 2 0 0 0-4 0Z\",\"M4.5 8a3.5 3.5 0 1 1 3.183-2.043l2.173 1.901A4.48 4.48 0 0 1 12.5 7a4.48 4.48 0 0 1 2.071.504l.838-.99a3 3 0 1 1 1.527 1.292l-.838.99a4.515 4.515 0 0 1 .802 3.653l.96.449-.003.003a3 3 0 1 1-.843 1.81l-.96-.45c-.37.474-.83.872-1.356 1.167l.463 1.576a3 3 0 1 1-1.918.564l-.464-1.577a4.48 4.48 0 0 1-2.674-.681l-2.526 2.525a3.5 3.5 0 1 1-1.414-1.414l2.525-2.525A4.479 4.479 0 0 1 8 11.5c0-.774.195-1.501.539-2.137L6.366 7.462C5.826 7.802 5.186 8 4.5 8ZM3 4.5a1.5 1.5 0 1 0 3 0 1.5 1.5 0 0 0-3 0ZM17 5a1 1 0 1 0 2 0 1 1 0 0 0-2 0Zm3 11a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm-6 4a1 1 0 1 0 2 0 1 1 0 0 0-2 0Zm-9.5 1a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Zm5.5-9.5a2.5 2.5 0 1 0 5 0 2.5 2.5 0 0 0-5 0Z\",\"M6 10a4 4 0 1 1 3.446-1.968l3.078 3.077A5.973 5.973 0 0 1 16 10a5.98 5.98 0 0 1 2.882.736l1.755-2.223a3.5 3.5 0 1 1 1.57 1.24l-1.756 2.223a5.978 5.978 0 0 1 1.479 4.946l1.704.569a3.5 3.5 0 1 1-.632 1.897l-1.705-.568a6.028 6.028 0 0 1-1.666 1.957l1.198 2.287a4.231 4.231 0 0 0-.034.007l.034-.007a3.5 3.5 0 1 1-1.771.929l-1.198-2.287c-.586.19-1.21.294-1.86.294a5.973 5.973 0 0 1-3.476-1.11l-2.214 2.214A4.48 4.48 0 0 1 11 25.5a4.5 4.5 0 1 1-2.104-3.81l2.213-2.213A5.972 5.972 0 0 1 10 16c0-1.296.41-2.496 1.11-3.477L8.031 9.446A3.981 3.981 0 0 1 6 10ZM4 6a2 2 0 1 0 4 0 2 2 0 0 0-4 0Zm18 .5a1.5 1.5 0 1 0 3 0 1.5 1.5 0 0 0-3 0Zm3 13a1.5 1.5 0 1 0 3 0 1.5 1.5 0 0 0-3 0Zm-5 7a1.5 1.5 0 1 0 3 0 1.5 1.5 0 0 0-3 0Zm-16-1a2.5 2.5 0 1 0 5 0 2.5 2.5 0 0 0-5 0Zm8-9.5a4 4 0 1 0 8 0 4 4 0 0 0-8 0Z\"]];","export default [[\"M1.5 0A1.5 1.5 0 0 0 0 1.5v8A1.5 1.5 0 0 0 1.5 11h8A1.5 1.5 0 0 0 11 9.5v-8A1.5 1.5 0 0 0 9.5 0h-8Z\",\"M2.5 1A1.5 1.5 0 0 0 1 2.5v10A1.5 1.5 0 0 0 2.5 14h10a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 12.5 1h-10Z\",\"M5 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H5Z\",\"M6 3a3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6Z\"],[\"M0 1.5A1.5 1.5 0 0 1 1.5 0h8A1.5 1.5 0 0 1 11 1.5v8A1.5 1.5 0 0 1 9.5 11h-8A1.5 1.5 0 0 1 0 9.5v-8ZM1.5 1a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-8Z\",\"M1 2.5A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v10a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 1 12.5v-10ZM2.5 2a.5.5 0 0 0-.5.5v10a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5v-10a.5.5 0 0 0-.5-.5h-10Z\",\"M2 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H5Z\",\"M3 6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-1a1 1 0 0 0-1 1v20a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H6Z\"]];","export default [[\"M9.5 0A1.5 1.5 0 0 1 11 1.5v8A1.5 1.5 0 0 1 9.5 11h-8A1.5 1.5 0 0 1 0 9.5v-8A1.5 1.5 0 0 1 1.5 0h8Zm-4 3a.5.5 0 0 1 .5.5v2.793l1.146-1.147a.5.5 0 1 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L5 6.293V3.5a.5.5 0 0 1 .5-.5Z\",\"M1 12.5A1.5 1.5 0 0 0 2.5 14h10a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 12.5 1h-10A1.5 1.5 0 0 0 1 2.5v10Zm6-8v4.793L4.854 7.146a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8 9.293V4.5a.5.5 0 0 0-1 0Z\",\"M2 19a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H5a3 3 0 0 0-3 3v14Zm9-12v7.586l-2.293-2.293a1 1 0 0 0-1.414 1.414l4 4a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L13 14.586V7a1 1 0 1 0-2 0Z\",\"M3 26a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6a3 3 0 0 0-3 3v20ZM15 8v13.586l-4.293-4.293a1 1 0 0 0-1.414 1.414l6 6a1 1 0 0 0 1.414 0l6-6a1 1 0 0 0-1.414-1.414L17 21.586V8a1 1 0 1 0-2 0Z\"],[\"<path d='M5.5 3a.5.5 0 0 1 .5.5v2.793l1.146-1.147a.5.5 0 1 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L5 6.293V3.5a.5.5 0 0 1 .5-.5Z'></path><path d='M11 1.5A1.5 1.5 0 0 0 9.5 0h-8A1.5 1.5 0 0 0 0 1.5v8A1.5 1.5 0 0 0 1.5 11h8A1.5 1.5 0 0 0 11 9.5v-8ZM9.5 1a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 .5-.5h8Z'></path>\",\"<path d='M7 9.293 4.854 7.146a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8 9.293V4.5a.5.5 0 0 0-1 0v4.793Z'></path><path d='M1 12.5A1.5 1.5 0 0 0 2.5 14h10a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 12.5 1h-10A1.5 1.5 0 0 0 1 2.5v10Zm1.5.5a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v10a.5.5 0 0 1-.5.5h-10Z'></path>\",\"<path d='M13 14.586V7a1 1 0 1 0-2 0v7.586l-2.293-2.293a1 1 0 0 0-1.414 1.414l4 4a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L13 14.586Z'></path><path d='M2 19a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H5a3 3 0 0 0-3 3v14Zm3 1a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H5Z'></path>\",\"<path d='m15 21.586-4.293-4.293a1 1 0 0 0-1.414 1.414l6 6a1 1 0 0 0 1.414 0l6-6a1 1 0 0 0-1.414-1.414L17 21.586V8a1 1 0 1 0-2 0v13.586Z'></path><path d='M3 26a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6a3 3 0 0 0-3 3v20Zm3 1a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h20a1 1 0 0 1 1 1v20a1 1 0 0 1-1 1H6Z'></path>\"]];","export default [[\"M9.5 0A1.5 1.5 0 0 1 11 1.5v8A1.5 1.5 0 0 1 9.5 11h-8A1.5 1.5 0 0 1 0 9.5v-8A1.5 1.5 0 0 1 1.5 0h8ZM5.854 7.854a.5.5 0 0 0 0-.708L4.707 6H7.5a.5.5 0 0 0 0-1H4.707l1.147-1.146a.5.5 0 1 0-.708-.708l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 0 0 .708 0Z\",\"M2.5 14A1.5 1.5 0 0 1 1 12.5v-10A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v10a1.5 1.5 0 0 1-1.5 1.5h-10Zm1.646-6.146a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7H10.5a.5.5 0 0 1 0 1H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3Z\",\"M5 22a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5Zm1.293-9.293a1 1 0 0 1 0-1.414l4-4a1 1 0 1 1 1.414 1.414L9.414 11H17a1 1 0 1 1 0 2H9.414l2.293 2.293a1 1 0 0 1-1.414 1.414l-4-4Z\",\"M29 26V6a3 3 0 0 0-3-3H6a3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3ZM7.293 16.707a1 1 0 0 1 0-1.414l6-6a1 1 0 1 1 1.414 1.414L10.414 15H24a1 1 0 1 1 0 2H10.414l4.293 4.293a1 1 0 0 1-1.414 1.414l-6-6Z\"],[\"<path d='M5.854 7.854a.5.5 0 0 0 0-.708L4.707 6H7.5a.5.5 0 0 0 0-1H4.707l1.147-1.146a.5.5 0 1 0-.708-.708l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 0 0 .708 0Z'></path><path d='M11 1.5A1.5 1.5 0 0 0 9.5 0h-8A1.5 1.5 0 0 0 0 1.5v8A1.5 1.5 0 0 0 1.5 11h8A1.5 1.5 0 0 0 11 9.5v-8ZM9.5 1a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 .5-.5h8Z'></path>\",\"<path d='m5.707 8 2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7H10.5a.5.5 0 0 1 0 1H5.707Z'></path><path d='M2.5 14A1.5 1.5 0 0 1 1 12.5v-10A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v10a1.5 1.5 0 0 1-1.5 1.5h-10ZM2 12.5a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5v-10a.5.5 0 0 0-.5-.5h-10a.5.5 0 0 0-.5.5v10Z'></path>\",\"<path d='m9.414 13 2.293 2.293a1 1 0 0 1-1.414 1.414l-4-4a1 1 0 0 1 0-1.414l4-4a1 1 0 1 1 1.414 1.414L9.414 11H17a1 1 0 1 1 0 2H9.414Z'></path><path d='M5 22a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5Zm-1-3a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v14Z'></path>\",\"<path d='M7.293 16.707a1 1 0 0 1 0-1.414l6-6a1 1 0 1 1 1.414 1.414L10.414 15H24a1 1 0 1 1 0 2H10.414l4.293 4.293a1 1 0 0 1-1.414 1.414l-6-6Z'></path><path d='M29 6v20a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3Zm-2 20V6a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v20a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1Z'></path>\"]];","export default [[\"M9.5 0A1.5 1.5 0 0 1 11 1.5v8A1.5 1.5 0 0 1 9.5 11h-8A1.5 1.5 0 0 1 0 9.5v-8A1.5 1.5 0 0 1 1.5 0h8ZM5.146 3.146a.5.5 0 0 0 0 .708L6.293 5H3.5a.5.5 0 0 0 0 1h2.793L5.146 7.146a.5.5 0 1 0 .708.708l2-2a.5.5 0 0 0 0-.708l-2-2a.5.5 0 0 0-.708 0Z\",\"M12.5 14a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 12.5 1h-10A1.5 1.5 0 0 0 1 2.5v10A1.5 1.5 0 0 0 2.5 14h10Zm-1.646-6.854-3-3a.5.5 0 1 0-.708.708L9.293 7H4.5a.5.5 0 0 0 0 1h4.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708Z\",\"M19 22a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H5a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h14Zm-1.293-10.707-4-4a1 1 0 1 0-1.414 1.414L14.586 11H7a1 1 0 1 0 0 2h7.586l-2.293 2.293a1 1 0 0 0 1.414 1.414l4-4a1 1 0 0 0 0-1.414Z\",\"M29 26V6a3 3 0 0 0-3-3H6a3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3Zm-4.293-10.707-6-6a1 1 0 1 0-1.414 1.414L21.586 15H8a1 1 0 1 0 0 2h13.586l-4.293 4.293a1 1 0 0 0 1.414 1.414l6-6a1 1 0 0 0 0-1.414Z\"],[\"<path d='M5.146 3.146a.5.5 0 0 0 0 .708L6.293 5H3.5a.5.5 0 0 0 0 1h2.793L5.146 7.146a.5.5 0 1 0 .708.708l2-2a.5.5 0 0 0 0-.708l-2-2a.5.5 0 0 0-.708 0Z'></path><path d='M9.5 0A1.5 1.5 0 0 1 11 1.5v8A1.5 1.5 0 0 1 9.5 11h-8A1.5 1.5 0 0 1 0 9.5v-8A1.5 1.5 0 0 1 1.5 0h8Zm.5 1.5a.5.5 0 0 0-.5-.5h-8a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-8Z'></path>\",\"<path d='m9.293 8-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L9.293 7H4.5a.5.5 0 0 0 0 1h4.793Z'></path><path d='M12.5 14a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 12.5 1h-10A1.5 1.5 0 0 0 1 2.5v10A1.5 1.5 0 0 0 2.5 14h10Zm.5-1.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v10Z'></path>\",\"<path d='m14.586 13-2.293 2.293a1 1 0 0 0 1.414 1.414l4-4a1 1 0 0 0 0-1.414l-4-4a1 1 0 1 0-1.414 1.414L14.586 11H7a1 1 0 1 0 0 2h7.586Z'></path><path d='M22 19V5a3 3 0 0 0-3-3H5a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3ZM20 5v14a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1Z'></path>\",\"<path d='m21.586 17-4.293 4.293a1 1 0 0 0 1.414 1.414l6-6a1 1 0 0 0 0-1.414l-6-6a1 1 0 1 0-1.414 1.414L21.586 15H8a1 1 0 1 0 0 2h13.586Z'></path><path d='M29 26V6a3 3 0 0 0-3-3H6a3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3ZM26 5a1 1 0 0 1 1 1v20a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h20Z'></path>\"]];","export default [[\"M9.5 0A1.5 1.5 0 0 1 11 1.5v8A1.5 1.5 0 0 1 9.5 11h-8A1.5 1.5 0 0 1 0 9.5v-8A1.5 1.5 0 0 1 1.5 0h8ZM3.146 5.854a.5.5 0 0 0 .708 0L5 4.707V7.5a.5.5 0 0 0 1 0V4.707l1.146 1.147a.5.5 0 1 0 .708-.708l-2-2a.5.5 0 0 0-.708 0l-2 2a.5.5 0 0 0 0 .708Z\",\"M1 2.5A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v10a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 1 12.5v-10Zm6.146 1.646a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8 5.707V10.5a.5.5 0 0 1-1 0V5.707L4.854 7.854a.5.5 0 1 1-.708-.708l3-3Z\",\"M2 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5Zm9.293 1.293a1 1 0 0 1 1.414 0l4 4a1 1 0 0 1-1.414 1.414L13 9.414V17a1 1 0 1 1-2 0V9.414l-2.293 2.293a1 1 0 0 1-1.414-1.414l4-4Z\",\"M29 26V6a3 3 0 0 0-3-3H6a3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3ZM15.293 7.293a1 1 0 0 1 1.414 0l6 6a1 1 0 0 1-1.414 1.414L17 10.414V24a1 1 0 1 1-2 0V10.414l-4.293 4.293a1 1 0 0 1-1.414-1.414l6-6Z\"],[\"<path d='M3.146 5.854a.5.5 0 0 0 .708 0L5 4.707V7.5a.5.5 0 0 0 1 0V4.707l1.146 1.147a.5.5 0 1 0 .708-.708l-2-2a.5.5 0 0 0-.708 0l-2 2a.5.5 0 0 0 0 .708Z'></path><path d='M11 1.5A1.5 1.5 0 0 0 9.5 0h-8A1.5 1.5 0 0 0 0 1.5v8A1.5 1.5 0 0 0 1.5 11h8A1.5 1.5 0 0 0 11 9.5v-8ZM9.5 1a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 .5-.5h8Z'></path>\",\"<path d='M7 5.707 4.854 7.854a.5.5 0 1 1-.708-.708l3-3a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8 5.707V10.5a.5.5 0 0 1-1 0V5.707Z'></path><path d='M1 2.5A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v10a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 1 12.5v-10ZM2.5 2a.5.5 0 0 0-.5.5v10a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5v-10a.5.5 0 0 0-.5-.5h-10Z'></path>\",\"<path d='m11 9.414-2.293 2.293a1 1 0 0 1-1.414-1.414l4-4a1 1 0 0 1 1.414 0l4 4a1 1 0 0 1-1.414 1.414L13 9.414V17a1 1 0 1 1-2 0V9.414Z'></path><path d='M2 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H5Z'></path>\",\"<path d='M15.293 7.293a1 1 0 0 1 1.414 0l6 6a1 1 0 0 1-1.414 1.414L17 10.414V24a1 1 0 1 1-2 0V10.414l-4.293 4.293a1 1 0 0 1-1.414-1.414l6-6Z'></path><path d='M29 6v20a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3Zm-2 20V6a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v20a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1Z'></path>\"]];","export default [[\"M9.5 0A1.5 1.5 0 0 1 11 1.5v8A1.5 1.5 0 0 1 9.5 11h-8A1.5 1.5 0 0 1 0 9.5v-8A1.5 1.5 0 0 1 1.5 0h8ZM5.354 3.646a.5.5 0 0 0-.708 0l-1.5 1.5a.5.5 0 0 0 0 .708l1.5 1.5a.5.5 0 1 0 .708-.708L4.707 6H6.5a.5.5 0 0 1 .5.5v1a.5.5 0 0 0 1 0v-1A1.5 1.5 0 0 0 6.5 5H4.707l.647-.646a.5.5 0 0 0 0-.708Z\",\"M12.5 1A1.5 1.5 0 0 1 14 2.5v10a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 1 12.5v-10A1.5 1.5 0 0 1 2.5 1h10ZM6.854 4.146a.5.5 0 0 0-.708 0l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 1 0 .708-.708L5.707 7H9.5a.5.5 0 0 1 .5.5v3a.5.5 0 0 0 1 0v-3A1.5 1.5 0 0 0 9.5 6H5.707l1.147-1.146a.5.5 0 0 0 0-.708Z\",\"M19 2a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h14Zm-4 10a1 1 0 0 1 1 1v4a1 1 0 1 0 2 0v-4a3 3 0 0 0-3-3H9.383l2.328-2.287a1 1 0 0 0-1.401-1.426l-4 3.928a1 1 0 0 0-.013 1.414l4 4.072a1 1 0 1 0 1.427-1.402L9.464 12H15Z\",\"M26 3a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h20ZM14.707 8.293a1 1 0 0 0-1.414 0l-5 5a1 1 0 0 0 0 1.414l5 5a1 1 0 0 0 1.414-1.414L11.414 15H21a1 1 0 0 1 1 1v7a1 1 0 1 0 2 0v-7a3 3 0 0 0-3-3h-9.586l3.293-3.293a1 1 0 0 0 0-1.414Z\"],[\"<path d='M5.354 3.646a.5.5 0 0 0-.708 0l-1.5 1.5a.5.5 0 0 0 0 .708l1.5 1.5a.5.5 0 1 0 .708-.708L4.707 6H6.5a.5.5 0 0 1 .5.5v1a.5.5 0 0 0 1 0v-1A1.5 1.5 0 0 0 6.5 5H4.707l.647-.646a.5.5 0 0 0 0-.708Z'></path><path d='M11 1.5A1.5 1.5 0 0 0 9.5 0h-8A1.5 1.5 0 0 0 0 1.5v8A1.5 1.5 0 0 0 1.5 11h8A1.5 1.5 0 0 0 11 9.5v-8ZM9.5 1a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 .5-.5h8Z'></path>\",\"<path d='M6.854 4.146a.5.5 0 0 0-.708 0l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 1 0 .708-.708L5.707 7H9.5a.5.5 0 0 1 .5.5v3a.5.5 0 0 0 1 0v-3A1.5 1.5 0 0 0 9.5 6H5.707l1.147-1.146a.5.5 0 0 0 0-.708Z'></path><path d='M14 2.5A1.5 1.5 0 0 0 12.5 1h-10A1.5 1.5 0 0 0 1 2.5v10A1.5 1.5 0 0 0 2.5 14h10a1.5 1.5 0 0 0 1.5-1.5v-10ZM12.5 2a.5.5 0 0 1 .5.5v10a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h10Z'></path>\",\"<path d='M15 12a1 1 0 0 1 1 1v4a1 1 0 1 0 2 0v-4a3 3 0 0 0-3-3H9.419l2.298-2.292a1 1 0 0 0-1.413-1.416l-4.01 4a1 1 0 0 0 0 1.416l4.01 4a1 1 0 0 0 1.413-1.416L9.419 12H15Z'></path><path d='M22 5a3 3 0 0 0-3-3H5a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V5Zm-3-1a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h14Z'></path>\",\"<path d='M14.707 8.293a1 1 0 0 0-1.414 0l-5 5a1 1 0 0 0 0 1.414l5 5a1 1 0 0 0 1.414-1.414L11.414 15H21a1 1 0 0 1 1 1v7a1 1 0 1 0 2 0v-7a3 3 0 0 0-3-3h-9.586l3.293-3.293a1 1 0 0 0 0-1.414Z'></path><path d='M29 6a3 3 0 0 0-3-3H6a3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3V6Zm-3-1a1 1 0 0 1 1 1v20a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h20Z'></path>\"]];","export default [[\"M0 1.5A1.5 1.5 0 0 1 1.5 0h8A1.5 1.5 0 0 1 11 1.5v8A1.5 1.5 0 0 1 9.5 11h-8A1.5 1.5 0 0 1 0 9.5v-8Zm5.646 2.146a.5.5 0 0 1 .708 0l1.5 1.5a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 1 1-.708-.708L6.293 6H4.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 1-1 0v-1A1.5 1.5 0 0 1 4.5 5h1.793l-.647-.646a.5.5 0 0 1 0-.708Z\",\"M1 2.5A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v10a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 1 12.5v-10Zm7.146 1.646a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 1 1-.708-.708L9.293 7H5.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 1-1 0v-3A1.5 1.5 0 0 1 5.5 6h3.793L8.146 4.854a.5.5 0 0 1 0-.708Z\",\"M2 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5Zm10.276 1.3a1 1 0 0 1 1.415-.013l4 3.928a1 1 0 0 1 .012 1.414l-4 4.072a1 1 0 1 1-1.427-1.402L14.536 12H9a1 1 0 0 0-1 1v4a1 1 0 1 1-2 0v-4a3 3 0 0 1 3-3h5.617L12.29 7.713a1 1 0 0 1-.013-1.414Z\",\"M3 6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm14.293 2.293a1 1 0 0 1 1.414 0l5 5a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414-1.414L20.586 15H11a1 1 0 0 0-1 1v7a1 1 0 1 1-2 0v-7a3 3 0 0 1 3-3h9.586l-3.293-3.293a1 1 0 0 1 0-1.414Z\"],[\"<path d='M5.646 3.646a.5.5 0 0 1 .708 0l1.5 1.5a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 1 1-.708-.708L6.293 6H4.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 1-1 0v-1A1.5 1.5 0 0 1 4.5 5h1.793l-.647-.646a.5.5 0 0 1 0-.708Z'></path><path d='M0 1.5A1.5 1.5 0 0 1 1.5 0h8A1.5 1.5 0 0 1 11 1.5v8A1.5 1.5 0 0 1 9.5 11h-8A1.5 1.5 0 0 1 0 9.5v-8ZM1.5 1a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-8Z'></path>\",\"<path d='M8.146 4.146a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 1 1-.708-.708L9.293 7H5.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 1-1 0v-3A1.5 1.5 0 0 1 5.5 6h3.793L8.146 4.854a.5.5 0 0 1 0-.708Z'></path><path d='M1 2.5A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v10a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 1 12.5v-10ZM2.5 2a.5.5 0 0 0-.5.5v10a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5v-10a.5.5 0 0 0-.5-.5h-10Z'></path>\",\"<path d='M9 12a1 1 0 0 0-1 1v4a1 1 0 1 1-2 0v-4a3 3 0 0 1 3-3h5.582l-2.298-2.292a1 1 0 1 1 1.412-1.416l4.01 4a1 1 0 0 1 0 1.416l-4.01 4a1 1 0 0 1-1.412-1.416L14.58 12H9Z'></path><path d='M2 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H5Z'></path>\",\"<path d='M17.293 8.293a1 1 0 0 1 1.414 0l5 5a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414-1.414L20.586 15H11a1 1 0 0 0-1 1v7a1 1 0 1 1-2 0v-7a3 3 0 0 1 3-3h9.586l-3.293-3.293a1 1 0 0 1 0-1.414Z'></path><path d='M3 6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-1a1 1 0 0 0-1 1v20a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H6Z'></path>\"]];","export default [[\"M0 1.5A1.5 1.5 0 0 1 1.5 0h8A1.5 1.5 0 0 1 11 1.5v8A1.5 1.5 0 0 1 9.5 11h-8A1.5 1.5 0 0 1 0 9.5v-8Zm7.273 5.704a.215.215 0 0 0-.156-.068.19.19 0 0 0-.092.024.33.33 0 0 0-.084.056c-.088.08-.178.148-.268.204a1.453 1.453 0 0 1-.284.132c-.1.035-.208.06-.328.076-.118.016-.25.024-.396.024a1.62 1.62 0 0 1-1.244-.536 1.934 1.934 0 0 1-.376-.64 2.568 2.568 0 0 1-.136-.868c0-.322.042-.609.128-.86a1.82 1.82 0 0 1 .36-.64c.154-.176.338-.309.552-.4a1.78 1.78 0 0 1 .712-.14c.152 0 .285.012.4.036a1.65 1.65 0 0 1 .54.192c.066.04.125.078.176.112.05.032.097.06.14.084a.277.277 0 0 0 .124.032.223.223 0 0 0 .136-.036.314.314 0 0 0 .084-.084l.36-.5a2.667 2.667 0 0 0-.836-.544 2.835 2.835 0 0 0-1.12-.208c-.424 0-.811.074-1.16.22a2.65 2.65 0 0 0-.904.608 2.754 2.754 0 0 0-.584.936c-.14.36-.208.758-.208 1.192 0 .43.064.826.192 1.188.13.363.317.675.56.936.242.262.534.466.876.612.344.147.73.22 1.16.22.48 0 .89-.077 1.232-.232.344-.154.633-.377.868-.668l-.424-.46Z\",\"M1 2.5A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v10a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 1 12.5v-10Zm8.965 7.38a.268.268 0 0 0-.195-.085c-.04 0-.079.01-.115.03a.412.412 0 0 0-.105.07c-.11.1-.222.185-.335.255a2.022 2.022 0 0 1-.765.26 3.69 3.69 0 0 1-.495.03 2.16 2.16 0 0 1-.86-.17 2.024 2.024 0 0 1-.695-.5 2.418 2.418 0 0 1-.47-.8 3.21 3.21 0 0 1-.17-1.085c0-.403.053-.761.16-1.075.106-.316.256-.583.45-.8.193-.22.423-.386.69-.5a2.22 2.22 0 0 1 .89-.175c.19 0 .356.015.5.045a2.129 2.129 0 0 1 .895.38c.063.04.121.075.175.105a.34.34 0 0 0 .155.04.28.28 0 0 0 .17-.045.393.393 0 0 0 .105-.105l.45-.625a3.335 3.335 0 0 0-1.045-.68c-.407-.173-.874-.26-1.4-.26a3.71 3.71 0 0 0-1.45.275c-.437.18-.814.434-1.13.76a3.445 3.445 0 0 0-.73 1.17 4.1 4.1 0 0 0-.26 1.49c0 .537.08 1.032.24 1.485.163.454.396.844.7 1.17a3.18 3.18 0 0 0 1.095.765c.43.184.913.275 1.45.275.6 0 1.113-.096 1.54-.29.43-.193.791-.471 1.085-.835l-.53-.575Z\",\"M2 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5Zm14.043 10.408a.429.429 0 0 0-.312-.136.38.38 0 0 0-.184.048.663.663 0 0 0-.168.112c-.176.16-.354.296-.536.408a2.903 2.903 0 0 1-.568.264c-.197.069-.416.12-.656.152a5.901 5.901 0 0 1-.792.048c-.49 0-.95-.091-1.376-.272a3.24 3.24 0 0 1-1.112-.8 3.87 3.87 0 0 1-.752-1.28c-.181-.507-.272-1.086-.272-1.736 0-.646.086-1.219.256-1.72.17-.507.41-.934.72-1.28.31-.352.678-.619 1.104-.8.432-.187.907-.28 1.424-.28.304 0 .57.024.8.072.235.042.44.098.616.168.176.064.33.136.464.216.134.08.25.154.352.224.102.064.195.12.28.168a.553.553 0 0 0 .248.064.446.446 0 0 0 .272-.072.627.627 0 0 0 .168-.168l.72-1a5.334 5.334 0 0 0-1.672-1.088c-.65-.278-1.397-.416-2.24-.416-.848 0-1.621.146-2.32.44A5.299 5.299 0 0 0 8.7 7.96a5.512 5.512 0 0 0-1.168 1.872c-.277.72-.416 1.514-.416 2.384 0 .858.128 1.65.384 2.376a5.429 5.429 0 0 0 1.12 1.872c.486.522 1.07.93 1.752 1.224.688.293 1.462.44 2.32.44.96 0 1.782-.155 2.464-.464a4.65 4.65 0 0 0 1.736-1.336l-.848-.92Z\",\"M3 6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm18.624 14.436a.59.59 0 0 0-.43-.187.521.521 0 0 0-.252.066.904.904 0 0 0-.231.154 5.03 5.03 0 0 1-.737.561 4.008 4.008 0 0 1-.781.363 4.527 4.527 0 0 1-.902.209 8.117 8.117 0 0 1-1.09.066 4.787 4.787 0 0 1-1.891-.374 4.455 4.455 0 0 1-1.53-1.1c-.432-.477-.777-1.063-1.033-1.76-.25-.697-.374-1.492-.374-2.387 0-.887.117-1.676.352-2.365.234-.697.564-1.283.99-1.76a4.17 4.17 0 0 1 1.518-1.1 4.884 4.884 0 0 1 1.958-.385c.418 0 .784.033 1.1.099.322.059.605.136.847.231.242.088.454.187.638.297.183.11.344.213.484.308.139.088.267.165.385.231a.762.762 0 0 0 .34.088c.162 0 .287-.033.375-.099a.866.866 0 0 0 .23-.231l.99-1.375c-.63-.616-1.396-1.115-2.298-1.496-.895-.381-1.922-.572-3.08-.572-1.166 0-2.23.202-3.19.605a7.27 7.27 0 0 0-2.486 1.672 7.577 7.577 0 0 0-1.606 2.574c-.382.99-.572 2.083-.572 3.278 0 1.18.176 2.27.528 3.267.359.997.872 1.855 1.54 2.574a7.033 7.033 0 0 0 2.409 1.683c.946.403 2.009.605 3.19.605 1.32 0 2.449-.213 3.388-.638a6.395 6.395 0 0 0 2.387-1.837l-1.166-1.265Z\"],[\"<path d='M7.273 7.204a.215.215 0 0 0-.156-.068.19.19 0 0 0-.092.024.33.33 0 0 0-.084.056c-.088.08-.178.148-.268.204a1.453 1.453 0 0 1-.284.132c-.1.035-.208.06-.328.076-.118.016-.25.024-.396.024a1.62 1.62 0 0 1-1.244-.536 1.934 1.934 0 0 1-.376-.64 2.568 2.568 0 0 1-.136-.868c0-.322.042-.609.128-.86a1.82 1.82 0 0 1 .36-.64c.154-.176.338-.309.552-.4a1.78 1.78 0 0 1 .712-.14c.152 0 .285.012.4.036a1.65 1.65 0 0 1 .54.192c.066.04.125.078.176.112.05.032.097.06.14.084a.277.277 0 0 0 .124.032.223.223 0 0 0 .136-.036.314.314 0 0 0 .084-.084l.36-.5a2.667 2.667 0 0 0-.836-.544 2.835 2.835 0 0 0-1.12-.208c-.424 0-.811.074-1.16.22a2.65 2.65 0 0 0-.904.608 2.754 2.754 0 0 0-.584.936c-.14.36-.208.758-.208 1.192 0 .43.064.826.192 1.188.13.363.317.675.56.936.242.262.534.466.876.612.344.147.73.22 1.16.22.48 0 .89-.077 1.232-.232.344-.154.633-.377.868-.668l-.424-.46Z'></path><path d='M1.5 0A1.5 1.5 0 0 0 0 1.5v8A1.5 1.5 0 0 0 1.5 11h8A1.5 1.5 0 0 0 11 9.5v-8A1.5 1.5 0 0 0 9.5 0h-8ZM1 1.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-8Z'></path>\",\"<path d='M9.965 9.88a.268.268 0 0 0-.195-.085c-.04 0-.079.01-.115.03a.412.412 0 0 0-.105.07c-.11.1-.222.185-.335.255a2.022 2.022 0 0 1-.765.26 3.69 3.69 0 0 1-.495.03 2.16 2.16 0 0 1-.86-.17 2.024 2.024 0 0 1-.695-.5 2.418 2.418 0 0 1-.47-.8 3.21 3.21 0 0 1-.17-1.085c0-.403.053-.761.16-1.075.106-.316.256-.583.45-.8.193-.22.423-.386.69-.5a2.22 2.22 0 0 1 .89-.175c.19 0 .356.015.5.045a2.129 2.129 0 0 1 .895.38c.063.04.121.075.175.105a.34.34 0 0 0 .155.04.28.28 0 0 0 .17-.045.393.393 0 0 0 .105-.105l.45-.625a3.335 3.335 0 0 0-1.045-.68c-.407-.173-.874-.26-1.4-.26a3.71 3.71 0 0 0-1.45.275c-.437.18-.814.434-1.13.76a3.445 3.445 0 0 0-.73 1.17 4.1 4.1 0 0 0-.26 1.49c0 .537.08 1.032.24 1.485.163.454.396.844.7 1.17a3.18 3.18 0 0 0 1.095.765c.43.184.913.275 1.45.275.6 0 1.113-.096 1.54-.29.43-.193.791-.471 1.085-.835l-.53-.575Z'></path><path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v10A1.5 1.5 0 0 0 2.5 14h10a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 12.5 1h-10ZM2 2.5a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v10a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10Z'></path>\",\"<path d='M16.043 15.408a.429.429 0 0 0-.312-.136.38.38 0 0 0-.184.048.663.663 0 0 0-.168.112c-.176.16-.354.296-.536.408a2.903 2.903 0 0 1-.568.264c-.197.069-.416.12-.656.152a5.901 5.901 0 0 1-.792.048c-.49 0-.95-.091-1.376-.272a3.24 3.24 0 0 1-1.112-.8 3.87 3.87 0 0 1-.752-1.28c-.181-.507-.272-1.086-.272-1.736 0-.646.086-1.219.256-1.72.17-.507.41-.934.72-1.28.31-.352.678-.619 1.104-.8.432-.187.907-.28 1.424-.28.304 0 .57.024.8.072.235.042.44.098.616.168.176.064.33.136.464.216.134.08.25.154.352.224.102.064.195.12.28.168a.553.553 0 0 0 .248.064.446.446 0 0 0 .272-.072.627.627 0 0 0 .168-.168l.72-1a5.334 5.334 0 0 0-1.672-1.088c-.65-.278-1.397-.416-2.24-.416-.848 0-1.621.146-2.32.44A5.299 5.299 0 0 0 8.7 7.96a5.512 5.512 0 0 0-1.168 1.872c-.277.72-.416 1.514-.416 2.384 0 .858.128 1.65.384 2.376a5.429 5.429 0 0 0 1.12 1.872c.486.522 1.07.93 1.752 1.224.688.293 1.462.44 2.32.44.96 0 1.782-.155 2.464-.464a4.65 4.65 0 0 0 1.736-1.336l-.848-.92Z'></path><path d='M5 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H5ZM4 5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V5Z'></path>\",\"<path d='M21.624 20.436a.59.59 0 0 0-.43-.187.521.521 0 0 0-.252.066.904.904 0 0 0-.231.154 5.03 5.03 0 0 1-.737.561 4.008 4.008 0 0 1-.781.363 4.527 4.527 0 0 1-.902.209 8.117 8.117 0 0 1-1.09.066 4.787 4.787 0 0 1-1.891-.374 4.455 4.455 0 0 1-1.53-1.1c-.432-.477-.777-1.063-1.033-1.76-.25-.697-.374-1.492-.374-2.387 0-.887.117-1.676.352-2.365.234-.697.564-1.283.99-1.76a4.17 4.17 0 0 1 1.518-1.1 4.884 4.884 0 0 1 1.958-.385c.418 0 .784.033 1.1.099.322.059.605.136.847.231.242.088.454.187.638.297.183.11.344.213.484.308.139.088.267.165.385.231a.762.762 0 0 0 .34.088c.162 0 .287-.033.375-.099a.866.866 0 0 0 .23-.231l.99-1.375c-.63-.616-1.396-1.115-2.298-1.496-.895-.381-1.922-.572-3.08-.572-1.166 0-2.23.202-3.19.605a7.27 7.27 0 0 0-2.486 1.672 7.577 7.577 0 0 0-1.606 2.574c-.382.99-.572 2.083-.572 3.278 0 1.18.176 2.27.528 3.267.359.997.872 1.855 1.54 2.574a7.033 7.033 0 0 0 2.409 1.683c.946.403 2.009.605 3.19.605 1.32 0 2.449-.213 3.388-.638a6.395 6.395 0 0 0 2.387-1.837l-1.166-1.265Z'></path><path d='M6 3a3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6ZM5 6a1 1 0 0 1 1-1h20a1 1 0 0 1 1 1v20a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6Z'></path>\"]];","export default [[\"M0 1.5A1.5 1.5 0 0 1 1.5 0h8A1.5 1.5 0 0 1 11 1.5v8A1.5 1.5 0 0 1 9.5 11h-8A1.5 1.5 0 0 1 0 9.5v-8Zm7.854 1.646a.5.5 0 0 0-.708 0L5.5 4.793 3.854 3.146a.5.5 0 1 0-.708.708L4.793 5.5 3.146 7.146a.5.5 0 1 0 .708.708L5.5 6.207l1.646 1.647a.5.5 0 1 0 .708-.708L6.207 5.5l1.647-1.646a.5.5 0 0 0 0-.708Z\",\"M1 2.5A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v10a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 1 12.5v-10Zm9.854 1.646a.5.5 0 0 0-.708 0L7.5 6.793 4.854 4.146a.5.5 0 1 0-.708.708L6.793 7.5l-2.647 2.646a.5.5 0 0 0 .708.708L7.5 8.207l2.646 2.647a.5.5 0 0 0 .708-.708L8.207 7.5l2.647-2.646a.5.5 0 0 0 0-.708Z\",\"M2 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5Zm13.707 3.293a1 1 0 0 0-1.414 0L12 10.586 9.707 8.293a1 1 0 0 0-1.414 1.414L10.586 12l-2.293 2.293a1 1 0 1 0 1.414 1.414L12 13.414l2.293 2.293a1 1 0 0 0 1.414-1.414L13.414 12l2.293-2.293a1 1 0 0 0 0-1.414Z\",\"M3 6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm18.707 4.293a1 1 0 0 0-1.414 0L16 14.586l-4.293-4.293a1 1 0 1 0-1.414 1.414L14.586 16l-4.293 4.293a1 1 0 1 0 1.414 1.414L16 17.414l4.293 4.293a1 1 0 0 0 1.414-1.414L17.414 16l4.293-4.293a1 1 0 0 0 0-1.414Z\"],[\"M0 1.5A1.5 1.5 0 0 1 1.5 0h8A1.5 1.5 0 0 1 11 1.5v8A1.5 1.5 0 0 1 9.5 11h-8A1.5 1.5 0 0 1 0 9.5v-8ZM1.5 1a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-8Zm1.646 2.146a.5.5 0 0 1 .708 0L5.5 4.793l1.646-1.647a.5.5 0 1 1 .708.708L6.207 5.5l1.647 1.646a.5.5 0 1 1-.708.708L5.5 6.207 3.854 7.854a.5.5 0 1 1-.708-.708L4.793 5.5 3.146 3.854a.5.5 0 0 1 0-.708Z\",\"M1 2.5A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v10a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 1 12.5v-10ZM2.5 2a.5.5 0 0 0-.5.5v10a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5v-10a.5.5 0 0 0-.5-.5h-10Zm1.646 2.146a.5.5 0 0 1 .708 0L7.5 6.793l2.646-2.647a.5.5 0 0 1 .708.708L8.207 7.5l2.647 2.646a.5.5 0 0 1-.708.708L7.5 8.207l-2.646 2.647a.5.5 0 0 1-.708-.708L6.793 7.5 4.146 4.854a.5.5 0 0 1 0-.708Z\",\"M2 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H5Zm3.293 4.293a1 1 0 0 1 1.414 0L12 10.586l2.293-2.293a1 1 0 1 1 1.414 1.414L13.414 12l2.293 2.293a1 1 0 0 1-1.414 1.414L12 13.414l-2.293 2.293a1 1 0 0 1-1.414-1.414L10.586 12 8.293 9.707a1 1 0 0 1 0-1.414Z\",\"M3 6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-1a1 1 0 0 0-1 1v20a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H6Zm4.293 5.293a1 1 0 0 1 1.414 0L16 14.586l4.293-4.293a1 1 0 1 1 1.414 1.414L17.414 16l4.293 4.293a1 1 0 0 1-1.414 1.414L16 17.414l-4.293 4.293a1 1 0 0 1-1.414-1.414L14.586 16l-4.293-4.293a1 1 0 0 1 0-1.414Z\"]];","export default [[\"M0 1.5A1.5 1.5 0 0 1 1.5 0h8A1.5 1.5 0 0 1 11 1.5v8A1.5 1.5 0 0 1 9.5 11h-8A1.5 1.5 0 0 1 0 9.5v-8ZM3 5a.5.5 0 0 0 .5-.5A1.5 1.5 0 0 1 5 3v1a.5.5 0 0 0-.5.5c0 .384-.144.735-.382 1 .238.265.382.616.382 1A.5.5 0 0 0 5 7v1a1.5 1.5 0 0 1-1.5-1.5A.5.5 0 0 0 3 6V5Zm4.5-.5A.5.5 0 0 0 8 5v1a.5.5 0 0 0-.5.5A1.5 1.5 0 0 1 6 8V7a.5.5 0 0 0 .5-.5c0-.384.144-.735.382-1a1.494 1.494 0 0 1-.382-1A.5.5 0 0 0 6 4V3a1.5 1.5 0 0 1 1.5 1.5Z\",\"M1 2.5A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v10a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 1 12.5v-10ZM3.5 7a.5.5 0 0 0 .5-.5v-2A1.5 1.5 0 0 1 5.5 3H6v1h-.5a.5.5 0 0 0-.5.5v2c0 .384-.144.735-.382 1 .238.265.382.616.382 1v2a.5.5 0 0 0 .5.5H6v1h-.5A1.5 1.5 0 0 1 4 10.5v-2a.5.5 0 0 0-.5-.5H3V7h.5Zm7.5-.5a.5.5 0 0 0 .5.5h.5v1h-.5a.5.5 0 0 0-.5.5v2A1.5 1.5 0 0 1 9.5 12H9v-1h.5a.5.5 0 0 0 .5-.5v-2c0-.384.144-.735.382-1a1.494 1.494 0 0 1-.382-1v-2a.5.5 0 0 0-.5-.5H9V3h.5A1.5 1.5 0 0 1 11 4.5v2Z\",\"M2 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5Zm7 3a1 1 0 0 1 1-1V5a3 3 0 0 0-3 3v2a1 1 0 0 1-1 1v2a1 1 0 0 1 1 1v2a3 3 0 0 0 3 3v-2a1 1 0 0 1-1-1v-2c0-.768-.289-1.47-.764-2 .475-.53.764-1.232.764-2V8Zm5-1a1 1 0 0 1 1 1v2c0 .768.289 1.47.764 2A2.989 2.989 0 0 0 15 14v2a1 1 0 0 1-1 1v2a3 3 0 0 0 3-3v-2a1 1 0 0 1 1-1v-2a1 1 0 0 1-1-1V8a3 3 0 0 0-3-3v2Z\",\"M3 6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm10 4a1 1 0 0 0-1 1v3c0 .768-.289 1.47-.764 2 .475.53.764 1.232.764 2v3a1 1 0 0 0 1 1v2a3 3 0 0 1-3-3v-3a1 1 0 0 0-1-1H8v-2h1a1 1 0 0 0 1-1v-3a3 3 0 0 1 3-3v2Zm6 0a1 1 0 0 1 1 1v3c0 .768.289 1.47.764 2A2.989 2.989 0 0 0 20 18v3a1 1 0 0 1-1 1v2a3 3 0 0 0 3-3v-3a1 1 0 0 1 1-1h1v-2h-1a1 1 0 0 1-1-1v-3a3 3 0 0 0-3-3v2Z\"],[\"<path d='M3 5a.5.5 0 0 0 .5-.5A1.5 1.5 0 0 1 5 3v1a.5.5 0 0 0-.5.5c0 .384-.144.735-.382 1 .238.265.382.616.382 1A.5.5 0 0 0 5 7v1a1.5 1.5 0 0 1-1.5-1.5A.5.5 0 0 0 3 6V5Zm5 0a.5.5 0 0 1-.5-.5A1.5 1.5 0 0 0 6 3v1a.5.5 0 0 1 .5.5c0 .384.144.735.382 1a1.494 1.494 0 0 0-.382 1A.5.5 0 0 1 6 7v1a1.5 1.5 0 0 0 1.5-1.5A.5.5 0 0 1 8 6V5Z'></path><path d='M0 1.5A1.5 1.5 0 0 1 1.5 0h8A1.5 1.5 0 0 1 11 1.5v8A1.5 1.5 0 0 1 9.5 11h-8A1.5 1.5 0 0 1 0 9.5v-8ZM1.5 1a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-8Z'></path>\",\"<path d='M3.5 7a.5.5 0 0 0 .5-.5v-2A1.5 1.5 0 0 1 5.5 3H6v1h-.5a.5.5 0 0 0-.5.5v2c0 .384-.144.735-.382 1 .238.265.382.616.382 1v2a.5.5 0 0 0 .5.5H6v1h-.5A1.5 1.5 0 0 1 4 10.5v-2a.5.5 0 0 0-.5-.5H3V7h.5Zm8 0a.5.5 0 0 1-.5-.5v-2A1.5 1.5 0 0 0 9.5 3H9v1h.5a.5.5 0 0 1 .5.5v2c0 .384.144.735.382 1a1.494 1.494 0 0 0-.382 1v2a.5.5 0 0 1-.5.5H9v1h.5a1.5 1.5 0 0 0 1.5-1.5v-2a.5.5 0 0 1 .5-.5h.5V7h-.5Z'></path><path d='M1 2.5A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v10a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 1 12.5v-10ZM2.5 2a.5.5 0 0 0-.5.5v10a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5v-10a.5.5 0 0 0-.5-.5h-10Z'></path>\",\"<path d='M14 7a1 1 0 0 1 1 1v2c0 .768.289 1.47.764 2A2.989 2.989 0 0 0 15 14v2a1 1 0 0 1-1 1v2a3 3 0 0 0 3-3v-2a1 1 0 0 1 1-1v-2a1 1 0 0 1-1-1V8a3 3 0 0 0-3-3v2Zm-4 0a1 1 0 0 0-1 1v2c0 .768-.289 1.47-.764 2 .475.53.764 1.232.764 2v2a1 1 0 0 0 1 1v2a3 3 0 0 1-3-3v-2a1 1 0 0 0-1-1v-2a1 1 0 0 0 1-1V8a3 3 0 0 1 3-3v2Z'></path><path d='M2 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H5Z'></path>\",\"<path d='M19 10a1 1 0 0 1 1 1v3c0 .768.289 1.47.764 2A2.989 2.989 0 0 0 20 18v3a1 1 0 0 1-1 1v2a3 3 0 0 0 3-3v-3a1 1 0 0 1 1-1h1v-2h-1a1 1 0 0 1-1-1v-3a3 3 0 0 0-3-3v2Zm-7 1a1 1 0 0 1 1-1V8a3 3 0 0 0-3 3v3a1 1 0 0 1-1 1H8v2h1a1 1 0 0 1 1 1v3a3 3 0 0 0 3 3v-2a1 1 0 0 1-1-1v-3c0-.768-.289-1.47-.764-2 .475-.53.764-1.232.764-2v-3Z'></path><path d='M3 6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-1a1 1 0 0 0-1 1v20a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H6Z'></path>\"]];","export default [[\"M1.5 0A1.5 1.5 0 0 0 0 1.5a.5.5 0 0 0 1 0 .5.5 0 0 1 .5-.5.5.5 0 0 0 0-1Zm8 11A1.5 1.5 0 0 0 11 9.5a.5.5 0 0 0-1 0 .5.5 0 0 1-.5.5.5.5 0 0 0 0 1ZM3 .5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1A.5.5 0 0 1 3 .5ZM6.5 0a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1ZM5 10.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1 0-1h1a.5.5 0 0 1 .5.5Zm2.5.5a.5.5 0 0 0 0-1h-1a.5.5 0 0 0 0 1h1ZM11 1.5A1.5 1.5 0 0 0 9.5 0a.5.5 0 0 0 0 1 .5.5 0 0 1 .5.5.5.5 0 0 0 1 0ZM1.5 11A1.5 1.5 0 0 1 0 9.5a.5.5 0 0 1 1 0 .5.5 0 0 0 .5.5.5.5 0 0 1 0 1Zm-1-8a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1A.5.5 0 0 1 .5 3ZM1 6.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM10.5 3a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Zm.5 3.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1Z\",\"M2.5 1A1.5 1.5 0 0 0 1 2.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 1 .5-.5h1a.5.5 0 0 0 0-1h-1Zm10 0A1.5 1.5 0 0 1 14 2.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 1 0-1h1ZM1 12.5A1.5 1.5 0 0 0 2.5 14h1a.5.5 0 0 0 0-1h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 0-1 0v1ZM12.5 14a1.5 1.5 0 0 0 1.5-1.5v-1a.5.5 0 0 0-1 0v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 0 0 1h1ZM5 1.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5ZM8.5 1a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1ZM5 13.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5Zm3.5-.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Zm5-5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Zm.5-2.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM1.5 8a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM2 5.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1Z\",\"M9 2a1 1 0 0 0 0 2h1a1 1 0 1 0 0-2H9Zm10 20a3 3 0 0 0 3-3v-1a1 1 0 1 0-2 0v1a1 1 0 0 1-1 1h-1a1 1 0 1 0 0 2h1Zm2-14a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0V9a1 1 0 0 1 1-1ZM4 9a1 1 0 1 0-2 0v1a1 1 0 1 0 2 0V9Zm4 12a1 1 0 0 0 1 1h1a1 1 0 1 0 0-2H9a1 1 0 0 0-1 1Zm6-19a1 1 0 1 0 0 2h1a1 1 0 1 0 0-2h-1Zm7 11a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0v-1a1 1 0 0 1 1-1ZM4 14a1 1 0 1 0-2 0v1a1 1 0 1 0 2 0v-1Zm9 7a1 1 0 0 0 1 1h1a1 1 0 1 0 0-2h-1a1 1 0 0 0-1 1Zm9-16a3 3 0 0 0-3-3h-1a1 1 0 1 0 0 2h1a1 1 0 0 1 1 1v1a1 1 0 1 0 2 0V5ZM2 5a3 3 0 0 1 3-3h1a1 1 0 1 1 0 2H5a1 1 0 0 0-1 1v1a1 1 0 1 1-2 0V5Zm0 14a3 3 0 0 0 3 3h1a1 1 0 1 0 0-2H5a1 1 0 0 1-1-1v-1a1 1 0 1 0-2 0v1Z\",\"M6 3a3 3 0 0 0-3 3v2a1 1 0 0 0 2 0V6a1 1 0 0 1 1-1h2a1 1 0 0 0 0-2H6Zm20 26a3 3 0 0 0 3-3v-2a1 1 0 1 0-2 0v2a1 1 0 0 1-1 1h-2a1 1 0 1 0 0 2h2Zm3-23a3 3 0 0 0-3-3h-2a1 1 0 1 0 0 2h2a1 1 0 0 1 1 1v2a1 1 0 1 0 2 0V6ZM6 29a3 3 0 0 1-3-3v-2a1 1 0 1 1 2 0v2a1 1 0 0 0 1 1h2a1 1 0 1 1 0 2H6Zm6-25a1 1 0 0 0 1 1h1a1 1 0 1 0 0-2h-1a1 1 0 0 0-1 1Zm1 25a1 1 0 1 1 0-2h1a1 1 0 1 1 0 2h-1ZM4 12a1 1 0 0 0-1 1v1a1 1 0 1 0 2 0v-1a1 1 0 0 0-1-1Zm23 1a1 1 0 1 1 2 0v1a1 1 0 1 1-2 0v-1ZM17 4a1 1 0 0 0 1 1h1a1 1 0 1 0 0-2h-1a1 1 0 0 0-1 1Zm1 25a1 1 0 1 1 0-2h1a1 1 0 1 1 0 2h-1ZM4 17a1 1 0 0 0-1 1v1a1 1 0 1 0 2 0v-1a1 1 0 0 0-1-1Zm23 1a1 1 0 1 1 2 0v1a1 1 0 1 1-2 0v-1Z\"]];","export default [[\"M0 1.5A1.5 1.5 0 0 1 1.5 0h8A1.5 1.5 0 0 1 11 1.5v8A1.5 1.5 0 0 1 9.5 11h-8A1.5 1.5 0 0 1 0 9.5v-8Zm5.145 7h1.08V2.716h-1.08V8.5Z\",\"M1 2.5A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v10a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 1 12.5v-10ZM6.805 11h1.35V3.77h-1.35V11Z\",\"M2 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5Zm8.787 13h2.16V6.432h-2.16V18Z\",\"M3 6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm11.506 18h2.97V8.094h-2.97V24Z\"],[\"<path d='M5.145 8.5h1.08V2.716h-1.08V8.5Z'></path><path d='M1.5 0A1.5 1.5 0 0 0 0 1.5v8A1.5 1.5 0 0 0 1.5 11h8A1.5 1.5 0 0 0 11 9.5v-8A1.5 1.5 0 0 0 9.5 0h-8ZM1 1.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-8Z'></path>\",\"<path d='M6.805 11h1.35V3.77h-1.35V11Z'></path><path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v10A1.5 1.5 0 0 0 2.5 14h10a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 12.5 1h-10ZM2 2.5a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v10a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10Z'></path>\",\"<path d='M10.912 18h2.16V6.432h-2.16V18Z'></path><path d='M5 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H5ZM4 5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V5Z'></path>\",\"<path d='M14.506 24h2.97V8.094h-2.97V24Z'></path><path d='M6 3a3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6ZM5 6a1 1 0 0 1 1-1h20a1 1 0 0 1 1 1v20a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6Z'></path>\"]];","export default [[\"M7.354 1.354a.5.5 0 1 0-.708-.708l-1.5 1.5a.5.5 0 0 0 0 .708l1.5 1.5a.5.5 0 1 0 .708-.708L6.707 3H9.5a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 0 0-1h-1A1.5 1.5 0 0 0 1 3.5v6A1.5 1.5 0 0 0 2.5 11h7A1.5 1.5 0 0 0 11 9.5v-6A1.5 1.5 0 0 0 9.5 2H6.707l.647-.646Z\",\"M10.854 1.854a.5.5 0 0 0-.708-.708l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 0 0 .708-.708L9.707 4H12.5a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 .5-.5h3a.5.5 0 0 0 0-1h-3A1.5 1.5 0 0 0 2 4.5v8A1.5 1.5 0 0 0 3.5 14h9a1.5 1.5 0 0 0 1.5-1.5v-8A1.5 1.5 0 0 0 12.5 3H9.707l1.147-1.146Z\",\"M15.293 9.707a1 1 0 0 0 1.414-1.414L15.414 7H18a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h3a1 1 0 0 0 0-2H6a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V8a3 3 0 0 0-3-3h-2.586l1.293-1.293a1 1 0 0 0-1.414-1.414l-3 3a1 1 0 0 0 0 1.414l3 3Z\",\"M20.293 12.707a1 1 0 0 0 1.414-1.414L19.414 9H25a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V10a1 1 0 0 1 1-1h6a1 1 0 1 0 0-2H7a3 3 0 0 0-3 3v16a3 3 0 0 0 3 3h18a3 3 0 0 0 3-3V10a3 3 0 0 0-3-3h-5.586l2.293-2.293a1 1 0 0 0-1.414-1.414l-4 4a1 1 0 0 0 0 1.414l4 4Z\"]];","export default [[\"<path d='M6.04 5.552a1.663 1.663 0 0 1-.515.072H4.72V3.548h.804c.2 0 .373.024.52.072a.94.94 0 0 1 .364.2.83.83 0 0 1 .216.32c.048.125.072.265.072.42 0 .162-.024.31-.072.444a.867.867 0 0 1-.22.336.994.994 0 0 1-.364.212Z'></path><path d='M0 1.5A1.5 1.5 0 0 1 1.5 0h8A1.5 1.5 0 0 1 11 1.5v8A1.5 1.5 0 0 1 9.5 11h-8A1.5 1.5 0 0 1 0 9.5v-8Zm6.529 1.352a3.3 3.3 0 0 0-1.004-.136h-1.88V8.5H4.72V6.464h.804c.376 0 .704-.047.984-.14a1.95 1.95 0 0 0 .704-.392c.186-.168.326-.368.42-.6a2.07 2.07 0 0 0 .14-.772c0-.27-.046-.518-.136-.744a1.488 1.488 0 0 0-.408-.584 1.932 1.932 0 0 0-.7-.38Z'></path>\",\"<path d='M8.3 7.315c-.184.06-.399.09-.645.09H6.65V4.81h1.005c.25 0 .466.03.65.09.183.056.335.14.455.25.12.11.21.243.27.4.06.156.09.331.09.525 0 .203-.03.388-.09.555-.06.163-.152.303-.275.42a1.26 1.26 0 0 1-.455.265Z'></path><path d='M1 2.5A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v10a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 1 12.5v-10Zm7.91 1.44c-.354-.114-.772-.17-1.255-.17h-2.35V11H6.65V8.454h1.005c.47 0 .88-.059 1.23-.175.353-.117.646-.28.88-.49.233-.21.408-.46.525-.75.116-.294.175-.615.175-.965 0-.337-.057-.647-.17-.93a1.86 1.86 0 0 0-.51-.73 2.416 2.416 0 0 0-.875-.475Z'></path>\",\"<path d='M12.58 12.104a3.325 3.325 0 0 1-1.033.144H9.94V8.096h1.608c.4 0 .747.048 1.04.144.293.09.536.224.728.4.192.176.336.389.432.64.096.25.144.53.144.84 0 .325-.048.621-.144.888a1.734 1.734 0 0 1-.44.672 1.987 1.987 0 0 1-.728.424Z'></path><path d='M2 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5Zm11.555 1.704c-.565-.182-1.235-.272-2.008-.272h-3.76V18H9.94v-4.072h1.608c.752 0 1.408-.094 1.968-.28.565-.187 1.035-.448 1.408-.784s.653-.736.84-1.2c.187-.47.28-.984.28-1.544 0-.539-.09-1.035-.272-1.488a2.976 2.976 0 0 0-.816-1.168c-.368-.326-.835-.579-1.4-.76Z'></path>\",\"<path d='M16.86 15.893c-.403.132-.876.198-1.418.198H13.23v-5.71h2.211c.55 0 1.027.067 1.43.199.404.124.738.308 1.002.55.264.242.461.535.593.88.133.344.198.73.198 1.155 0 .447-.066.854-.198 1.22-.132.36-.333.668-.605.925-.264.25-.597.443-1 .583Z'></path><path d='M3 6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm15.203 2.468c-.778-.25-1.698-.374-2.761-.374h-5.17V24h2.958v-5.6h2.211c1.034 0 1.937-.128 2.707-.384.777-.257 1.422-.616 1.936-1.078a4.404 4.404 0 0 0 1.154-1.65 5.694 5.694 0 0 0 .386-2.123 5.46 5.46 0 0 0-.374-2.046 4.092 4.092 0 0 0-1.122-1.606c-.506-.448-1.148-.796-1.925-1.045Z'></path>\"],[\"<path d='M6.529 2.852a3.3 3.3 0 0 0-1.004-.136h-1.88V8.5H4.72V6.464h.804c.376 0 .704-.047.984-.14a1.95 1.95 0 0 0 .704-.392c.186-.168.326-.368.42-.6a2.07 2.07 0 0 0 .14-.772c0-.27-.046-.518-.136-.744a1.488 1.488 0 0 0-.408-.584 1.932 1.932 0 0 0-.7-.38Zm-.488 2.7a1.663 1.663 0 0 1-.516.072H4.72V3.548h.804c.2 0 .373.024.52.072a.94.94 0 0 1 .364.2.83.83 0 0 1 .216.32c.048.125.072.265.072.42 0 .162-.024.31-.072.444a.867.867 0 0 1-.22.336.994.994 0 0 1-.364.212Z'></path><path d='M1.5 0A1.5 1.5 0 0 0 0 1.5v8A1.5 1.5 0 0 0 1.5 11h8A1.5 1.5 0 0 0 11 9.5v-8A1.5 1.5 0 0 0 9.5 0h-8ZM1 1.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-8Z'></path>\",\"<path d='M8.91 3.94c-.354-.114-.772-.17-1.255-.17h-2.35V11H6.65V8.454h1.005c.47 0 .88-.059 1.23-.175.353-.117.646-.28.88-.49.233-.21.408-.46.525-.75.116-.294.175-.615.175-.965 0-.337-.057-.647-.17-.93a1.86 1.86 0 0 0-.51-.73 2.416 2.416 0 0 0-.875-.475ZM8.3 7.315c-.184.06-.399.09-.645.09H6.65V4.81h1.005c.25 0 .466.03.65.09.183.056.335.14.455.25.12.11.21.243.27.4.06.156.09.331.09.525 0 .203-.03.388-.09.555-.06.163-.152.303-.275.42a1.26 1.26 0 0 1-.455.265Z'></path><path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v10A1.5 1.5 0 0 0 2.5 14h10a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 12.5 1h-10ZM2 2.5a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v10a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10Z'></path>\",\"<path d='M13.555 6.704c-.565-.182-1.235-.272-2.008-.272h-3.76V18H9.94v-4.072h1.608c.752 0 1.408-.094 1.968-.28.565-.187 1.035-.448 1.408-.784s.653-.736.84-1.2c.187-.47.28-.984.28-1.544 0-.539-.09-1.035-.272-1.488a2.976 2.976 0 0 0-.816-1.168c-.368-.326-.835-.579-1.4-.76Zm-.976 5.4a3.325 3.325 0 0 1-1.032.144H9.94V8.096h1.608c.4 0 .747.048 1.04.144.293.09.536.224.728.4.192.176.336.389.432.64.096.25.144.53.144.84 0 .325-.048.621-.144.888a1.734 1.734 0 0 1-.44.672 1.987 1.987 0 0 1-.728.424Z'></path><path d='M5 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H5ZM4 5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V5Z'></path>\",\"<path d='M18.203 8.468c-.778-.25-1.698-.374-2.761-.374h-5.17V24h2.958v-5.6h2.211c1.034 0 1.937-.128 2.707-.384.777-.257 1.422-.616 1.936-1.078a4.404 4.404 0 0 0 1.154-1.65 5.694 5.694 0 0 0 .386-2.123 5.46 5.46 0 0 0-.374-2.046 4.092 4.092 0 0 0-1.122-1.606c-.506-.448-1.148-.796-1.925-1.045Zm-1.343 7.425c-.403.132-.876.198-1.418.198H13.23v-5.71h2.211c.55 0 1.027.067 1.43.199.404.124.738.308 1.002.55.264.242.461.535.593.88.133.344.198.73.198 1.155 0 .447-.066.854-.198 1.22-.132.36-.333.668-.605.925-.264.25-.597.443-1 .583Z'></path><path d='M6 3a3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6ZM5 6a1 1 0 0 1 1-1h20a1 1 0 0 1 1 1v20a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6Z'></path>\"]];","export default [[\"M0 1.5A1.5 1.5 0 0 1 1.5 0h8A1.5 1.5 0 0 1 11 1.5v8A1.5 1.5 0 0 1 9.5 11h-8A1.5 1.5 0 0 1 0 9.5v-8ZM5.5 3C4.688 3 4 3.76 4 4.5a.5.5 0 0 1-1 0C3 3.24 4.103 2 5.5 2 6.826 2 8 2.972 8 4.286c0 1.146-.893 2.031-2 2.239A.5.5 0 0 1 5 6.5v-.429a.5.5 0 0 1 .5-.5c.883 0 1.5-.627 1.5-1.285C7 3.627 6.383 3 5.5 3ZM6 8.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\",\"M1 2.5A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v10a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 1 12.5v-10ZM7.5 4C6.658 4 6 4.606 6 5.5a.5.5 0 0 1-1 0C5 4.027 6.132 3 7.5 3 8.913 3 10 4.216 10 5.643c0 .489-.126.913-.377 1.257a2.028 2.028 0 0 1-.97.703C8.22 7.76 8 8.043 8 8.286V8.5a.5.5 0 0 1-1 0v-.214c0-.862.708-1.405 1.313-1.624.23-.083.394-.203.502-.35.107-.147.185-.357.185-.67C9 4.703 8.296 4 7.5 4Zm.5 6.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\",\"M2 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5Zm7.791 2.731c-.556.44-.791.943-.791 1.34a1 1 0 0 1-2 0c0-1.173.66-2.206 1.552-2.91C9.454 5.45 10.673 5 12 5c2.652 0 5 1.943 5 4.571 0 1.847-1.182 3.377-2.785 4.1C13.4 14.041 13 14.576 13 15a1 1 0 1 1-2 0c0-1.627 1.339-2.675 2.392-3.151C14.396 11.395 15 10.51 15 9.57 15 8.255 13.766 7 12 7c-.882 0-1.663.3-2.209.731ZM13 18a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\",\"M3 6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm13 3a4 4 0 0 0-4 4 1 1 0 1 1-2 0 6 6 0 1 1 8.337 5.527C17.464 18.897 17 19.496 17 20a1 1 0 1 1-2 0c0-1.705 1.397-2.823 2.558-3.314A4.001 4.001 0 0 0 16 9Zm1 15a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"],[\"<path d='M5.5 3C4.688 3 4 3.76 4 4.5a.5.5 0 0 1-1 0C3 3.24 4.103 2 5.5 2 6.826 2 8 2.972 8 4.286c0 1.146-.893 2.031-2 2.239A.5.5 0 0 1 5 6.5v-.429a.5.5 0 0 1 .5-.5c.883 0 1.5-.627 1.5-1.285C7 3.627 6.383 3 5.5 3ZM6 8.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z'></path><path d='M1.5 0A1.5 1.5 0 0 0 0 1.5v8A1.5 1.5 0 0 0 1.5 11h8A1.5 1.5 0 0 0 11 9.5v-8A1.5 1.5 0 0 0 9.5 0h-8ZM1 1.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-8Z'></path>\",\"<path d='M7.5 4C6.658 4 6 4.606 6 5.5a.5.5 0 0 1-1 0C5 4.027 6.132 3 7.5 3 8.913 3 10 4.216 10 5.643c0 .489-.126.913-.377 1.257a2.028 2.028 0 0 1-.97.703C8.22 7.76 8 8.043 8 8.286V8.5a.5.5 0 0 1-1 0v-.214c0-.862.708-1.405 1.313-1.624.23-.083.394-.203.502-.35.107-.147.185-.357.185-.67C9 4.703 8.296 4 7.5 4Zm.5 6.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z'></path><path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v10A1.5 1.5 0 0 0 2.5 14h10a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 12.5 1h-10ZM2 2.5a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v10a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10Z'></path>\",\"<path d='M9.791 7.731c-.556.44-.791.943-.791 1.34a1 1 0 0 1-2 0c0-1.173.66-2.206 1.552-2.91C9.454 5.45 10.673 5 12 5c2.652 0 5 1.943 5 4.571 0 1.847-1.182 3.377-2.785 4.1C13.4 14.041 13 14.576 13 15a1 1 0 1 1-2 0c0-1.627 1.339-2.675 2.392-3.151C14.396 11.395 15 10.51 15 9.57 15 8.255 13.766 7 12 7c-.882 0-1.663.3-2.209.731ZM12 19a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M2 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H5Z'></path>\",\"<path d='M16 9a4 4 0 0 0-4 4 1 1 0 1 1-2 0 6 6 0 1 1 8.337 5.527C17.464 18.897 17 19.496 17 20a1 1 0 1 1-2 0c0-1.705 1.397-2.823 2.558-3.314A4.001 4.001 0 0 0 16 9Zm0 16a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M3 6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-1a1 1 0 0 0-1 1v20a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H6Z'></path>\"]];","export default [[\"M0 1.5A1.5 1.5 0 0 1 1.5 0h8A1.5 1.5 0 0 1 11 1.5v8A1.5 1.5 0 0 1 9.5 11h-8A1.5 1.5 0 0 1 0 9.5v-8Zm7.12 2.392a.382.382 0 0 0 .104-.124l.268-.508a2.131 2.131 0 0 0-.736-.448 2.698 2.698 0 0 0-.944-.16c-.304 0-.574.047-.808.14a1.793 1.793 0 0 0-.592.372c-.16.155-.283.332-.368.532-.083.2-.124.406-.124.616 0 .264.037.487.112.668.077.179.178.328.304.448.125.12.268.218.428.292.16.075.322.139.488.192.165.054.328.103.488.148.16.046.302.102.428.168a.878.878 0 0 1 .3.24c.077.096.116.22.116.372 0 .272-.084.482-.252.628-.168.144-.406.216-.712.216-.2 0-.372-.026-.516-.08a2.302 2.302 0 0 1-.372-.184 7.41 7.41 0 0 1-.276-.18.376.376 0 0 0-.216-.084.252.252 0 0 0-.136.04.316.316 0 0 0-.104.092l-.316.516c.112.115.24.219.384.312a2.785 2.785 0 0 0 1.52.448c.32 0 .604-.048.852-.144.248-.098.457-.232.628-.4.173-.17.304-.369.392-.596.09-.229.136-.474.136-.736 0-.24-.04-.444-.116-.612a1.259 1.259 0 0 0-.3-.424 1.63 1.63 0 0 0-.428-.288 4.133 4.133 0 0 0-.492-.2A17.75 17.75 0 0 0 5.768 5a2.802 2.802 0 0 1-.428-.172.976.976 0 0 1-.304-.232.517.517 0 0 1-.112-.34.74.74 0 0 1 .056-.292.605.605 0 0 1 .168-.232.82.82 0 0 1 .284-.148c.112-.037.242-.056.392-.056.165 0 .308.022.428.064.122.04.229.086.32.136.09.051.168.098.232.14.066.04.128.06.184.06a.227.227 0 0 0 .132-.036Z\",\"M1 2.5A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v10a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 1 12.5v-10Zm8.025 2.74a.477.477 0 0 0 .13-.155l.335-.635a2.664 2.664 0 0 0-.92-.56c-.36-.133-.753-.2-1.18-.2-.38 0-.716.059-1.01.175-.293.117-.54.272-.74.465a2.02 2.02 0 0 0-.46.665c-.103.25-.155.507-.155.77 0 .33.047.609.14.835.097.224.224.41.38.56.157.15.335.272.535.365.2.094.404.174.61.24.207.067.41.129.61.185.2.057.379.127.535.21.157.08.282.18.375.3.097.12.145.275.145.465 0 .34-.105.602-.315.785-.21.18-.506.27-.89.27a1.86 1.86 0 0 1-.645-.1 2.878 2.878 0 0 1-.465-.23 9.266 9.266 0 0 1-.345-.225.47.47 0 0 0-.27-.105.315.315 0 0 0-.17.05.395.395 0 0 0-.13.115l-.395.645c.14.144.3.274.48.39a3.445 3.445 0 0 0 1.22.49c.224.047.45.07.68.07.4 0 .755-.06 1.065-.18.31-.123.572-.29.785-.5a2.1 2.1 0 0 0 .49-.745 2.48 2.48 0 0 0 .17-.92c0-.3-.048-.555-.145-.765a1.574 1.574 0 0 0-.375-.53 2.038 2.038 0 0 0-.535-.36 5.28 5.28 0 0 0-.615-.25c-.21-.073-.415-.141-.615-.205A3.503 3.503 0 0 1 6.8 6.41a1.22 1.22 0 0 1-.38-.29.646.646 0 0 1-.14-.425c0-.133.024-.255.07-.365a.756.756 0 0 1 .21-.29 1.04 1.04 0 0 1 .355-.185c.14-.046.304-.07.49-.07a1.6 1.6 0 0 1 .535.08c.154.05.287.107.4.17.114.064.21.122.29.175.084.05.16.075.23.075a.283.283 0 0 0 .165-.045Z\",\"M2 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5Zm12.74 3.784a.764.764 0 0 0 .207-.248l.536-1.016a4.262 4.262 0 0 0-1.472-.896 5.396 5.396 0 0 0-1.888-.32c-.608 0-1.146.093-1.616.28-.47.186-.864.434-1.184.744-.32.309-.565.664-.736 1.064a3.2 3.2 0 0 0-.248 1.232c0 .528.075.973.224 1.336.155.357.358.656.608.896s.536.434.856.584c.32.149.646.277.976.384.33.106.656.205.976.296.32.09.606.202.856.336.25.128.45.288.6.48.155.192.232.44.232.744 0 .544-.168.962-.504 1.256-.336.288-.81.432-1.424.432-.4 0-.744-.054-1.032-.16a4.605 4.605 0 0 1-.744-.368 14.735 14.735 0 0 1-.552-.36c-.154-.112-.298-.168-.432-.168a.505.505 0 0 0-.272.08.631.631 0 0 0-.208.184l-.632 1.032c.224.229.48.437.768.624.288.186.595.346.92.48.33.133.675.234 1.032.304.357.074.72.112 1.088.112.64 0 1.208-.096 1.704-.288a3.729 3.729 0 0 0 1.256-.8c.347-.342.608-.739.784-1.192.181-.459.272-.95.272-1.472 0-.48-.077-.888-.232-1.224a2.517 2.517 0 0 0-.6-.848 3.26 3.26 0 0 0-.856-.576 8.26 8.26 0 0 0-.984-.4 35.433 35.433 0 0 0-.984-.328 5.603 5.603 0 0 1-.856-.344 1.953 1.953 0 0 1-.608-.464 1.034 1.034 0 0 1-.224-.68c0-.214.037-.408.112-.584a1.21 1.21 0 0 1 .336-.464 1.64 1.64 0 0 1 .568-.296c.224-.075.486-.112.784-.112.33 0 .616.042.856.128.245.08.459.17.64.272a6.7 6.7 0 0 1 .464.28c.134.08.256.12.368.12a.453.453 0 0 0 .264-.072Z\",\"M3 6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm16.955 5.328c.103-.073.198-.187.286-.341l.737-1.397a5.861 5.861 0 0 0-2.024-1.232c-.792-.293-1.657-.44-2.596-.44-.836 0-1.577.128-2.222.385a4.93 4.93 0 0 0-1.628 1.023c-.44.425-.777.913-1.012 1.463a4.394 4.394 0 0 0-.341 1.694c0 .726.103 1.338.308 1.837.213.491.491.902.836 1.232.345.33.737.598 1.177.803.44.205.887.381 1.342.528.455.147.902.282 1.342.407.44.125.832.279 1.177.462.345.176.62.396.825.66.213.264.319.605.319 1.023 0 .748-.231 1.324-.693 1.727-.462.396-1.115.594-1.958.594-.55 0-1.023-.073-1.42-.22a6.332 6.332 0 0 1-1.022-.506 20.45 20.45 0 0 1-.76-.495c-.212-.154-.41-.231-.593-.231a.693.693 0 0 0-.374.11.867.867 0 0 0-.286.253l-.87 1.419c.309.315.66.601 1.057.858a7.67 7.67 0 0 0 1.265.66c.454.183.928.323 1.419.418.491.103.99.154 1.496.154.88 0 1.66-.132 2.343-.396a5.13 5.13 0 0 0 1.727-1.1 4.625 4.625 0 0 0 1.078-1.639c.25-.63.374-1.305.374-2.024 0-.66-.107-1.221-.32-1.683a3.464 3.464 0 0 0-.824-1.166 4.482 4.482 0 0 0-1.177-.792c-.44-.213-.891-.396-1.353-.55a48.39 48.39 0 0 0-1.353-.451 7.712 7.712 0 0 1-1.177-.473 2.684 2.684 0 0 1-.836-.638c-.206-.25-.308-.561-.308-.935 0-.293.051-.561.154-.803.102-.25.256-.462.462-.638.213-.176.473-.312.78-.407a3.412 3.412 0 0 1 1.079-.154c.455 0 .847.059 1.177.176.337.11.63.235.88.374.25.14.462.268.638.385a1 1 0 0 0 .506.165.624.624 0 0 0 .363-.099Z\"],[\"<path d='M7.12 3.892a.382.382 0 0 0 .104-.124l.268-.508a2.131 2.131 0 0 0-.736-.448 2.698 2.698 0 0 0-.944-.16c-.304 0-.574.047-.808.14a1.793 1.793 0 0 0-.592.372c-.16.155-.283.332-.368.532-.083.2-.124.406-.124.616 0 .264.037.487.112.668.077.179.178.328.304.448.125.12.268.218.428.292.16.075.322.139.488.192.165.054.328.103.488.148.16.046.302.102.428.168a.878.878 0 0 1 .3.24c.077.096.116.22.116.372 0 .272-.084.482-.252.628-.168.144-.406.216-.712.216-.2 0-.372-.026-.516-.08a2.302 2.302 0 0 1-.372-.184 7.41 7.41 0 0 1-.276-.18.376.376 0 0 0-.216-.084.252.252 0 0 0-.136.04.316.316 0 0 0-.104.092l-.316.516c.112.115.24.219.384.312a2.785 2.785 0 0 0 1.52.448c.32 0 .604-.048.852-.144.248-.098.457-.232.628-.4.173-.17.304-.369.392-.596.09-.229.136-.474.136-.736 0-.24-.04-.444-.116-.612a1.259 1.259 0 0 0-.3-.424 1.63 1.63 0 0 0-.428-.288 4.133 4.133 0 0 0-.492-.2A17.75 17.75 0 0 0 5.768 5a2.802 2.802 0 0 1-.428-.172.976.976 0 0 1-.304-.232.517.517 0 0 1-.112-.34.74.74 0 0 1 .056-.292.605.605 0 0 1 .168-.232.82.82 0 0 1 .284-.148c.112-.037.242-.056.392-.056.165 0 .308.022.428.064.122.04.229.086.32.136.09.051.168.098.232.14.066.04.128.06.184.06a.227.227 0 0 0 .132-.036Z'></path><path d='M1.5 0A1.5 1.5 0 0 0 0 1.5v8A1.5 1.5 0 0 0 1.5 11h8A1.5 1.5 0 0 0 11 9.5v-8A1.5 1.5 0 0 0 9.5 0h-8ZM1 1.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-8Z'></path>\",\"<path d='M9.025 5.24a.477.477 0 0 0 .13-.155l.335-.635a2.664 2.664 0 0 0-.92-.56c-.36-.133-.753-.2-1.18-.2-.38 0-.716.059-1.01.175-.293.117-.54.272-.74.465a2.02 2.02 0 0 0-.46.665c-.103.25-.155.507-.155.77 0 .33.047.609.14.835.097.224.224.41.38.56.157.15.335.272.535.365.2.094.404.174.61.24.207.067.41.129.61.185.2.057.379.127.535.21.157.08.282.18.375.3.097.12.145.275.145.465 0 .34-.105.602-.315.785-.21.18-.506.27-.89.27a1.86 1.86 0 0 1-.645-.1 2.878 2.878 0 0 1-.465-.23 9.266 9.266 0 0 1-.345-.225.47.47 0 0 0-.27-.105.315.315 0 0 0-.17.05.395.395 0 0 0-.13.115l-.395.645c.14.144.3.274.48.39a3.445 3.445 0 0 0 1.22.49c.224.047.45.07.68.07.4 0 .755-.06 1.065-.18.31-.123.572-.29.785-.5a2.1 2.1 0 0 0 .49-.745 2.48 2.48 0 0 0 .17-.92c0-.3-.048-.555-.145-.765a1.574 1.574 0 0 0-.375-.53 2.038 2.038 0 0 0-.535-.36 5.28 5.28 0 0 0-.615-.25c-.21-.073-.415-.141-.615-.205A3.503 3.503 0 0 1 6.8 6.41a1.22 1.22 0 0 1-.38-.29.646.646 0 0 1-.14-.425c0-.133.024-.255.07-.365a.756.756 0 0 1 .21-.29 1.04 1.04 0 0 1 .355-.185c.14-.046.304-.07.49-.07a1.6 1.6 0 0 1 .535.08c.154.05.287.107.4.17.114.064.21.122.29.175.084.05.16.075.23.075a.283.283 0 0 0 .165-.045Z'></path><path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v10A1.5 1.5 0 0 0 2.5 14h10a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 12.5 1h-10ZM2 2.5a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v10a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10Z'></path>\",\"<path d='M14.74 8.784a.764.764 0 0 0 .207-.248l.536-1.016a4.262 4.262 0 0 0-1.472-.896 5.396 5.396 0 0 0-1.888-.32c-.608 0-1.146.093-1.616.28-.47.186-.864.434-1.184.744-.32.309-.565.664-.736 1.064a3.2 3.2 0 0 0-.248 1.232c0 .528.075.973.224 1.336.155.357.358.656.608.896s.536.434.856.584c.32.149.646.277.976.384.33.106.656.205.976.296.32.09.606.202.856.336.25.128.45.288.6.48.155.192.232.44.232.744 0 .544-.168.962-.504 1.256-.336.288-.81.432-1.424.432-.4 0-.744-.054-1.032-.16a4.605 4.605 0 0 1-.744-.368 14.735 14.735 0 0 1-.552-.36c-.154-.112-.298-.168-.432-.168a.505.505 0 0 0-.272.08.631.631 0 0 0-.208.184l-.632 1.032c.224.229.48.437.768.624.288.186.595.346.92.48.33.133.675.234 1.032.304.357.074.72.112 1.088.112.64 0 1.208-.096 1.704-.288a3.729 3.729 0 0 0 1.256-.8c.347-.342.608-.739.784-1.192.181-.459.272-.95.272-1.472 0-.48-.077-.888-.232-1.224a2.517 2.517 0 0 0-.6-.848 3.26 3.26 0 0 0-.856-.576 8.26 8.26 0 0 0-.984-.4 35.433 35.433 0 0 0-.984-.328 5.603 5.603 0 0 1-.856-.344 1.953 1.953 0 0 1-.608-.464 1.034 1.034 0 0 1-.224-.68c0-.214.037-.408.112-.584a1.21 1.21 0 0 1 .336-.464 1.64 1.64 0 0 1 .568-.296c.224-.075.486-.112.784-.112.33 0 .616.042.856.128.245.08.459.17.64.272a6.7 6.7 0 0 1 .464.28c.134.08.256.12.368.12a.453.453 0 0 0 .264-.072Z'></path><path d='M5 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H5ZM4 5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V5Z'></path>\",\"<path d='M19.955 11.328c.103-.073.198-.187.286-.341l.737-1.397a5.861 5.861 0 0 0-2.024-1.232c-.792-.293-1.657-.44-2.596-.44-.836 0-1.577.128-2.222.385a4.93 4.93 0 0 0-1.628 1.023c-.44.425-.777.913-1.012 1.463a4.394 4.394 0 0 0-.341 1.694c0 .726.103 1.338.308 1.837.213.491.491.902.836 1.232.345.33.737.598 1.177.803.44.205.887.381 1.342.528.455.147.902.282 1.342.407.44.125.832.279 1.177.462.345.176.62.396.825.66.213.264.319.605.319 1.023 0 .748-.231 1.324-.693 1.727-.462.396-1.115.594-1.958.594-.55 0-1.023-.073-1.42-.22a6.332 6.332 0 0 1-1.022-.506 20.45 20.45 0 0 1-.76-.495c-.212-.154-.41-.231-.593-.231a.693.693 0 0 0-.374.11.867.867 0 0 0-.286.253l-.87 1.419c.309.315.66.601 1.057.858a7.67 7.67 0 0 0 1.265.66c.454.183.928.323 1.419.418.491.103.99.154 1.496.154.88 0 1.66-.132 2.343-.396a5.13 5.13 0 0 0 1.727-1.1 4.625 4.625 0 0 0 1.078-1.639c.25-.63.374-1.305.374-2.024 0-.66-.107-1.221-.32-1.683a3.464 3.464 0 0 0-.824-1.166 4.482 4.482 0 0 0-1.177-.792c-.44-.213-.891-.396-1.353-.55a48.39 48.39 0 0 0-1.353-.451 7.712 7.712 0 0 1-1.177-.473 2.684 2.684 0 0 1-.836-.638c-.206-.25-.308-.561-.308-.935 0-.293.051-.561.154-.803.102-.25.256-.462.462-.638.213-.176.473-.312.78-.407a3.412 3.412 0 0 1 1.079-.154c.455 0 .847.059 1.177.176.337.11.63.235.88.374.25.14.462.268.638.385a1 1 0 0 0 .506.165.624.624 0 0 0 .363-.099Z'></path><path d='M6 3a3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6ZM5 6a1 1 0 0 1 1-1h20a1 1 0 0 1 1 1v20a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6Z'></path>\"]];","export default [[\"<path d='M1 2.5A1.5 1.5 0 0 1 2.5 1h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 1 1 0v2A1.5 1.5 0 0 1 9.5 11h-7A1.5 1.5 0 0 1 1 9.5v-7Z'></path><path d='M8.146 1.146a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 1 1-.708-.708L9.293 4H9c-1.59 0-2.268.259-2.588.594C6.092 4.931 6 5.476 6 6.5v1a.5.5 0 0 1-1 0v-1c0-.976.057-1.93.688-2.594C6.317 3.24 7.39 3 9 3h.293L8.146 1.854a.5.5 0 0 1 0-.708Z'></path>\",\"<path d='M11.854 1.146a.5.5 0 0 0-.708.708L13.293 4H11.5c-1.71 0-2.85.539-3.56 1.279C7.24 6.006 7 6.885 7 7.5V10a.5.5 0 0 0 1 0V7.5c0-.385.16-1.006.66-1.529C9.15 5.461 10.01 5 11.5 5h1.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3Z'></path><path d='M2 4.5A2.5 2.5 0 0 1 4.5 2h4a.5.5 0 0 1 0 1h-4A1.5 1.5 0 0 0 3 4.5v7A1.5 1.5 0 0 0 4.5 13h7a1.5 1.5 0 0 0 1.5-1.5v-2a.5.5 0 0 1 1 0v2a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 2 11.5v-7Z'></path>\",\"<path d='M2 7a3 3 0 0 1 3-3h8a1 1 0 1 1 0 2H5a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h11a1 1 0 0 0 1-1v-2a1 1 0 1 1 2 0v2a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V7Z'></path><path d='M12.521 10.818c-.403.42-.521.913-.521 1.182v4a1 1 0 1 1-2 0v-4c0-.73.282-1.738 1.079-2.568C11.899 8.577 13.179 8 15 8h3.586l-2.293-2.293a1 1 0 0 1 1.414-1.414l4 4a1 1 0 0 1 0 1.414l-4 4a1 1 0 0 1-1.414-1.414L18.586 10H15c-1.379 0-2.1.423-2.479.818Z'></path>\",\"<path d='M22.707 3.293a1 1 0 1 0-1.414 1.414L25.586 9H19c-1.822 0-3.1.577-3.921 1.432C14.282 11.262 14 12.27 14 13v7a1 1 0 1 0 2 0v-7c0-.27.118-.762.521-1.182.38-.395 1.1-.818 2.479-.818h6.586l-4.293 4.293a1 1 0 0 0 1.414 1.414l6-6a1 1 0 0 0 0-1.414l-6-6Z'></path><path d='M3 8a3 3 0 0 1 3-3h12a1 1 0 1 1 0 2H6a1 1 0 0 0-1 1v17a1 1 0 0 0 1 1h17a1 1 0 0 0 1-1v-6a1 1 0 1 1 2 0v6a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V8Z'></path>\"]];","export default [[\"M6.5 1a.5.5 0 0 0-.5.5V4H3.5a.5.5 0 0 0-.5.5V7H.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .32-.116l6-5A.5.5 0 0 0 11 5.5v-4a.5.5 0 0 0-.5-.5h-4Z\",\"M9.5 2a.5.5 0 0 0-.5.5V5H5.5a.5.5 0 0 0-.5.5V9H1.5a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .307-.105l9-7A.5.5 0 0 0 15 6.5v-4a.5.5 0 0 0-.5-.5h-5Z\",\"M16 3a1 1 0 0 0-1 1v3h-3a1 1 0 0 0-1 1v3H7a1 1 0 0 0-1 1v3H3a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h7a1 1 0 0 0 .633-.226l11-9A1 1 0 0 0 22 11V4a1 1 0 0 0-1-1h-5Z\",\"M22 5a1 1 0 0 0-1 1v4h-5a1 1 0 0 0-1 1v4h-5a1 1 0 0 0-1 1v4H4a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 .614-.21l18-14A1 1 0 0 0 29 13V6a1 1 0 0 0-1-1h-6Z\"],[\"M6 1.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.18.384l-6 5A.5.5 0 0 1 4.5 11h-4a.5.5 0 0 1-.5-.5v-3A.5.5 0 0 1 .5 7H3V4.5a.5.5 0 0 1 .5-.5H6V1.5ZM7 2v2.5a.5.5 0 0 1-.5.5H4v2.5a.5.5 0 0 1-.5.5H1v2h3.319L10 5.266V2H7Z\",\"M9 2.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.193.395l-9 7A.5.5 0 0 1 5.5 14h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5H5V5.5a.5.5 0 0 1 .5-.5H9V2.5Zm1 .5v2.5a.5.5 0 0 1-.5.5H6v3.5a.5.5 0 0 1-.5.5H2v3h3.328L14 6.255V3h-4Z\",\"M15 4a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v7a1 1 0 0 1-.367.774l-11 9A1 1 0 0 1 10 21H3a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h3v-3a1 1 0 0 1 1-1h4V8a1 1 0 0 1 1-1h3V4Zm2 1v3a1 1 0 0 1-1 1h-3v3a1 1 0 0 1-1 1H8v3a1 1 0 0 1-1 1H4v2h5.643L20 10.526V5h-3Z\",\"M21 6a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v7a1 1 0 0 1-.386.79l-18 14A1 1 0 0 1 10 28H4a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h5v-4a1 1 0 0 1 1-1h5v-4a1 1 0 0 1 1-1h5V6Zm2 1v4a1 1 0 0 1-1 1h-5v4a1 1 0 0 1-1 1h-5v4a1 1 0 0 1-1 1H5v4h4.657L27 12.51V7h-4Z\"]];","export default [[\"M6.951 1.809c-.3-.921-1.603-.921-1.902 0l-.71 2.187h-2.3c-.969 0-1.372 1.24-.588 1.809l1.86 1.352-.71 2.187c-.3.92.755 1.687 1.539 1.118L6 9.11l1.86 1.352c.784.569 1.838-.197 1.54-1.118l-.711-2.187 1.86-1.352c.784-.57.38-1.809-.588-1.809h-2.3l-.71-2.187Z\",\"M8.951 2.36c-.3-.922-1.603-.922-1.902 0L5.866 6H2.04c-.97 0-1.373 1.238-.59 1.807l3.096 2.25-1.182 3.64c-.3.921.755 1.687 1.539 1.118L8 12.566l3.096 2.25c.784.57 1.838-.197 1.54-1.118l-1.183-3.64 3.096-2.25c.784-.57.38-1.809-.588-1.809h-3.827L8.95 2.36Z\",\"M13.902 2.898c-.599-1.843-3.205-1.843-3.804 0l-1.657 5.1H3.078c-1.938 0-2.743 2.48-1.176 3.619l4.339 3.152-1.658 5.1c-.598 1.843 1.51 3.375 3.078 2.236L12 18.953l4.339 3.152c1.567 1.14 3.676-.393 3.077-2.236l-1.657-5.1 4.339-3.152c1.567-1.14.762-3.618-1.176-3.618H15.56l-1.657-5.1Z\",\"M17.902 3.718c-.599-1.843-3.206-1.843-3.804 0l-2.366 7.28H4.078c-1.938 0-2.743 2.48-1.176 3.618l6.193 4.5-2.366 7.28c-.598 1.842 1.51 3.374 3.078 2.236l6.193-4.5 6.193 4.5c1.567 1.138 3.676-.394 3.077-2.236l-2.365-7.28 6.193-4.5c1.567-1.139.762-3.618-1.176-3.618h-7.655l-2.365-7.28Z\"],[\"M5.049 1.809c.3-.921 1.603-.921 1.902 0l.71 2.187h2.3c.969 0 1.372 1.24.588 1.809l-1.86 1.352.71 2.187c.3.92-.755 1.687-1.539 1.118L6 9.11l-1.86 1.352c-.784.569-1.839-.197-1.54-1.118l.711-2.187-1.86-1.352c-.784-.57-.38-1.809.588-1.809h2.3l.71-2.187Zm.95.309-.934 2.878H2.039l2.448 1.779-.935 2.878L6 7.873l2.448 1.78-.935-2.878 2.448-1.779H6.935L6 2.118Z\",\"M7.049 2.359c.3-.921 1.603-.921 1.902 0l1.183 3.64h3.827c.969 0 1.372 1.24.588 1.81l-3.096 2.249 1.182 3.64c.3.921-.755 1.687-1.539 1.118L8 12.566l-3.096 2.25c-.784.57-1.839-.197-1.54-1.118l1.183-3.64-3.096-2.25C.667 7.238 1.071 6 2.039 6h3.827L7.05 2.36Zm.95.309L6.594 6.999H2.039l3.684 2.677-1.407 4.33L8 11.33l3.684 2.677-1.407-4.331 3.684-2.677H9.407L8 2.668Z\",\"M10.098 2.898c.598-1.843 3.205-1.843 3.804 0l1.657 5.1h5.363c1.938 0 2.743 2.48 1.176 3.619l-4.339 3.152 1.657 5.1c.599 1.843-1.51 3.375-3.077 2.236l-4.34-3.152-4.338 3.152c-1.567 1.14-3.676-.393-3.078-2.236l1.658-5.1-4.339-3.152c-1.567-1.14-.762-3.618 1.176-3.618H8.44l1.657-5.101ZM12 3.516 9.894 10H3.078l5.514 4.006-2.106 6.482L12 16.481l5.514 4.006-2.106-6.482 5.514-4.006h-6.816L12 3.516Z\",\"M14.098 3.718c.598-1.843 3.205-1.843 3.804 0l2.365 7.28h7.655c1.938 0 2.743 2.48 1.176 3.618l-6.193 4.5 2.365 7.28c.6 1.842-1.51 3.374-3.077 2.236L16 24.132l-6.193 4.5c-1.567 1.138-3.676-.394-3.078-2.236l2.366-7.28-6.193-4.5c-1.567-1.139-.762-3.618 1.176-3.618h7.654l2.366-7.28ZM16 4.336l-2.815 8.662H4.078l7.368 5.354-2.815 8.662L16 21.66l7.368 5.354-2.814-8.662 7.368-5.354h-9.108L16 4.336Z\"]];","export default [[\"M8 6a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z\",\"M11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z\",\"M16 12a4 4 0 1 1-8 0 4 4 0 0 1 8 0Z\",\"M21 16a5 5 0 1 1-10 0 5 5 0 0 1 10 0Z\"],[\"M6 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm0 1a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\",\"M8 10a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm0 1a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z\",\"M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm0 1a4 4 0 1 0 0-8 4 4 0 0 0 0 8Z\",\"M16 20a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm0 1a5 5 0 1 0 0-10 5 5 0 0 0 0 10Z\"]];","export default [[\"M1 2a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2Z\",\"M1 2.5A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v10a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 1 12.5v-10Z\",\"M2 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5Z\",\"M3 6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Z\"],[\"M1 2a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2Zm8 0H2v7h7V2Z\",\"M1 2.5A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v10a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 1 12.5v-10ZM2.5 2a.5.5 0 0 0-.5.5v10a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5v-10a.5.5 0 0 0-.5-.5h-10Z\",\"M2 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H5Z\",\"M3 6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-1a1 1 0 0 0-1 1v20a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H6Z\"]];","export default [[\"M4 1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1H6v.027a4.49 4.49 0 0 1 2.825 1.44l.321-.32a.5.5 0 1 1 .708.707l-.434.434A4.5 4.5 0 1 1 5 2.028V2h-.5a.5.5 0 0 1-.5-.5ZM5.5 4a.5.5 0 0 1 .5.5v1.634a1 1 0 1 1-1 0V4.5a.5.5 0 0 1 .5-.5Z\",\"M6 1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1H8v.019c1.42.108 2.71.671 3.73 1.545l.416-.418a.5.5 0 0 1 .708.708l-.418.417A6.5 6.5 0 1 1 7 2.019V2h-.5a.5.5 0 0 1-.5-.5Zm2 3a.5.5 0 0 0-1 0v2.585a1.5 1.5 0 1 0 1 0V4.5Z\",\"M10 1a1 1 0 0 0 0 2h1v1.055A9.001 9.001 0 0 0 12 22a9 9 0 0 0 7.456-14.042l.751-.75a1 1 0 0 0-1.414-1.415l-.64.64A8.968 8.968 0 0 0 13 4.054V3h1a1 1 0 1 0 0-2h-4Zm2 7a1 1 0 0 1 1 1v3.268A2 2 0 0 1 12 16a2 2 0 0 1-1-3.732V9a1 1 0 0 1 1-1Z\",\"M12.5 3a1 1 0 0 1 1-1h5a1 1 0 1 1 0 2H17v1.041a11.947 11.947 0 0 1 6.749 2.796l.544-.544a1 1 0 1 1 1.414 1.414l-.544.544A11.953 11.953 0 0 1 28 17c0 6.627-5.373 12-12 12S4 23.627 4 17C4 10.71 8.84 5.55 15 5.041V4h-1.5a1 1 0 0 1-1-1Zm3.5 7a1 1 0 0 1 1 1v5.268A2 2 0 0 1 16 20a2 2 0 0 1-1-3.732V11a1 1 0 0 1 1-1Z\"],[\"<path d='M6 4.5a.5.5 0 0 0-1 0v1.634a1 1 0 1 0 1 0V4.5Z'></path><path d='M4.5 1a.5.5 0 0 0 0 1H5v.027a4.5 4.5 0 1 0 4.42 2.26l.434-.433a.5.5 0 0 0-.708-.708l-.32.322A4.49 4.49 0 0 0 6 2.028V2h.5a.5.5 0 0 0 0-1h-2ZM2 6.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z'></path>\",\"<path d='M9 8.5a1.5 1.5 0 1 1-2-1.415V4.5a.5.5 0 0 1 1 0v2.585A1.5 1.5 0 0 1 9 8.5Z'></path><path d='M6 1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1H8v.019c1.42.108 2.71.671 3.73 1.545l.416-.418a.5.5 0 0 1 .708.708l-.418.417A6.5 6.5 0 1 1 7 2.019V2h-.5a.5.5 0 0 1-.5-.5Zm-4 7a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0Z'></path>\",\"<path d='M12 16a2 2 0 0 0 1-3.732V9a1 1 0 1 0-2 0v3.268A2 2 0 0 0 12 16Z'></path><path d='M9 2a1 1 0 0 1 1-1h4a1 1 0 1 1 0 2h-1v1.055a8.968 8.968 0 0 1 5.154 2.377l.639-.64a1 1 0 1 1 1.414 1.415l-.75.751A9 9 0 1 1 3 13a8.999 8.999 0 0 1 7.999-8.945V3h-1a1 1 0 0 1-1-1ZM5 13a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z'></path>\",\"<path d='M16 20a2 2 0 0 0 1-3.732V11a1 1 0 1 0-2 0v5.268A2 2 0 0 0 16 20Z'></path><path d='M12.5 3a1 1 0 0 1 1-1h5a1 1 0 1 1 0 2H17v1.041a11.947 11.947 0 0 1 6.749 2.796l.544-.544a1 1 0 1 1 1.414 1.414l-.544.544A11.953 11.953 0 0 1 28 17c0 6.627-5.373 12-12 12S4 23.627 4 17C4 10.71 8.84 5.55 15 5.041V4h-1.5a1 1 0 0 1-1-1ZM6 17c0-5.523 4.477-10 10-10s10 4.477 10 10-4.477 10-10 10S6 22.523 6 17Z'></path>\"]];","export default [[\"M1 2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2Zm9 0H2v1h8V2ZM1 6a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V6Zm9 0H2v1h8V6ZM6.5 9a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-4Z\",\"M1 3.5A1.5 1.5 0 0 1 2.5 2h11A1.5 1.5 0 0 1 15 3.5v1A1.5 1.5 0 0 1 13.5 6h-11A1.5 1.5 0 0 1 1 4.5v-1ZM2.5 3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-11ZM1 8.5A1.5 1.5 0 0 1 2.5 7h11A1.5 1.5 0 0 1 15 8.5v1a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 9.5v-1ZM2.5 8a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-11ZM9 12a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1H9Z\",\"M2 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v1a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H5Zm-3 9a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v1a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3v-1Zm3-1a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1H5Zm8.5 6a1.5 1.5 0 0 0-1.5 1.5v1a1.5 1.5 0 0 0 1.5 1.5h7a1.5 1.5 0 0 0 1.5-1.5v-1a1.5 1.5 0 0 0-1.5-1.5h-7Z\",\"M3 6a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v3a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3-1a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H6ZM3 17a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v3a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3v-3Zm3-1a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1H6Zm13 9a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-1a2 2 0 0 0-2-2h-8Z\"]];","export default [[\"M1 4a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4Zm9 0H2v1h8V4ZM6 8a1 1 0 0 1 1-1h3a1 1 0 1 1 0 2H7a1 1 0 0 1-1-1Z\",\"M1 5.5A1.5 1.5 0 0 1 2.5 4h11A1.5 1.5 0 0 1 15 5.5v1A1.5 1.5 0 0 1 13.5 8h-11A1.5 1.5 0 0 1 1 6.5v-1ZM2.5 5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-11ZM8 10a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1v-1Z\",\"M2 9a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v1a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V9Zm3-1a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1H5Zm7 7.5a1.5 1.5 0 0 1 1.5-1.5h7a1.5 1.5 0 0 1 1.5 1.5v1a1.5 1.5 0 0 1-1.5 1.5h-7a1.5 1.5 0 0 1-1.5-1.5v-1Z\",\"M3 11a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v3a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3v-3Zm3-1a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1H6Zm11 11a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v1a2 2 0 0 1-2 2h-8a2 2 0 0 1-2-2v-1Z\"]];","export default [[\"M6.748 3.174A1.928 1.928 0 0 0 6.005 3a1.84 1.84 0 0 0-.65.148c-.147.058-.345.275-.345.722a.94.94 0 0 0 .588.866L6.256 5H10.5a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1h1.736a2.927 2.927 0 0 1-.226-1.13c0-.96.448-2.121 1.608-2.581C4.996 1.139 5.48 1 6.005 1c.626 0 1.172.18 1.54.34.226.098.448.21.651.35a1 1 0 0 1 .252 1.392c-.318.46-.935.549-1.393.252a2.336 2.336 0 0 0-.307-.16ZM5.87 7l.628.253A.8.8 0 0 1 7 7.995v.242c0 .2-.057.274-.071.288C6.649 8.802 6.317 9 6 9c-.305 0-.634-.085-.91-.188a3.192 3.192 0 0 1-.404-.183 1.01 1.01 0 0 0-1.364.367 1 1 0 0 0 .367 1.367c.224.128.461.231.703.321.395.149.975.316 1.612.316 1.106 0 1.92-.646 2.331-1.055C8.847 9.44 9 8.778 9 8.237v-.242c0-.347-.064-.683-.183-.995H5.87Z\",\"M6.546 4.202c.33-.122.573-.196.954-.2 0 0 .548.059.86.163.261.087.608.305.608.305a1 1 0 0 0 1.387-.257A1.01 1.01 0 0 0 10.1 2.82c-.24-.166-.505-.3-.772-.415-.443-.192-1.091-.403-1.828-.403-.613 0-1.191.154-1.65.324C4.549 2.81 4 4.1 4 5.22c0 .647.194 1.263.538 1.78H1.5a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1H8.234l-1.507-.664A1.22 1.22 0 0 1 6 5.219c0-.568.266-.913.546-1.017ZM10.687 9H7.812l.37.163c.497.22.818.712.818 1.256v.4c0 .391-.124.605-.242.697-.346.268-.78.487-1.258.487-.425 0-.868-.117-1.23-.252a3.745 3.745 0 0 1-.55-.246 1 1 0 0 0-.993 1.735c.267.153.554.277.842.385.481.18 1.176.378 1.931.378 1.083 0 1.938-.486 2.472-.897a2.43 2.43 0 0 0 .724-.892c.22-.442.304-.906.304-1.394v-.4c0-.501-.11-.984-.313-1.42Z\",\"M9.656 5.88c.641-.235 1.235-.38 1.667-.38.712 0 1.44.252 2.034.55.316.157.629.336.91.55a1.25 1.25 0 0 0 1.536-1.973 7.904 7.904 0 0 0-1.329-.814C13.705 3.429 12.578 3 11.323 3c-.875 0-1.799.265-2.527.532C6.936 4.214 6 6.039 6 7.788c0 1.234.505 2.384 1.354 3.212H3a1 1 0 1 0 0 2h18a1 1 0 1 0 0-2h-7.796l-3.45-1.366A1.985 1.985 0 0 1 8.5 7.788c0-.941.49-1.664 1.156-1.909ZM16.912 15h-2.59c.14.357.178.724.178 1.104 0 .693-.295 1.23-.725 1.493-.828.505-1.742.9-2.452.9-.666 0-1.448-.3-2.148-.686a7.876 7.876 0 0 1-1.093-.717 1.262 1.262 0 0 0-1.758.18c-.431.53-.348 1.33.181 1.76.453.367.952.684 1.462.966.823.455 2.056.997 3.356.997 1.437 0 2.852-.715 3.754-1.266 1.329-.81 1.923-2.26 1.923-3.627v-.164c0-.32-.03-.634-.088-.94Z\",\"M15.927 7c-.945 0-1.893.351-2.714.813-.722.406-1.195 1.324-1.195 2.55a3.51 3.51 0 0 0 2.127 3.226L17.433 15H29a1 1 0 1 1 0 2H3a1 1 0 1 1 0-2h7.959a6.51 6.51 0 0 1-1.94-4.638c0-1.884.736-4.047 2.724-5.164C12.808 4.598 14.274 4 15.927 4c1.617 0 3.02.564 3.975 1.08.57.307 1.153.683 1.623 1.09a1.5 1.5 0 0 1 .142 2.116c-.546.624-1.493.67-2.118.141a6.916 6.916 0 0 0-1.071-.707c-.713-.385-1.615-.72-2.552-.72Zm2.823 12a3.656 3.656 0 0 1 1.3 2.797v.929c0 .96-.297 1.643-.76 2-.83.64-2.036 1.274-3.548 1.274-1.056 0-2.112-.389-2.96-.837-.456-.24-.91-.51-1.308-.84a1.5 1.5 0 0 0-1.915 2.31c.558.464 1.181.845 1.822 1.183C12.446 28.38 14 29 15.74 29c2.386 0 4.22-1.004 5.38-1.898 1.7-1.309 1.93-3.324 1.93-5.305 0-.986-.218-1.937-.616-2.797h-3.686Z\"]];","export default [[\"M5.998.5a.5.5 0 1 0-1 0v1a.5.5 0 0 0 1 0v-1Zm0 9a.5.5 0 1 0-1 0v1a.5.5 0 0 0 1 0v-1Zm5-4a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1 0-1h1a.5.5 0 0 1 .5.5ZM1.5 6a.5.5 0 0 0 0-1h-1a.5.5 0 0 0 0 1h1Zm.108-4.39a.5.5 0 0 1 .707 0l.707.708a.5.5 0 1 1-.707.707l-.707-.707a.5.5 0 0 1 0-.707ZM8.68 7.975a.5.5 0 0 0-.708.707l.707.707a.5.5 0 1 0 .707-.707l-.707-.707Zm.706-6.365a.5.5 0 0 1 0 .708l-.707.707a.5.5 0 0 1-.707-.707l.707-.707a.5.5 0 0 1 .707 0ZM3.022 8.682a.5.5 0 0 0-.707-.707l-.708.708a.5.5 0 0 0 .708.707l.707-.708ZM5.5 3a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z\",\"M8 .5a.5.5 0 0 0-1 0v2a.5.5 0 0 0 1 0v-2Zm0 12a.5.5 0 0 0-1 0v2a.5.5 0 0 0 1 0v-2Zm7-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5ZM2.5 8a.5.5 0 0 0 0-1h-2a.5.5 0 0 0 0 1h2Zm10.303-5.803a.5.5 0 0 1 0 .707L11.39 4.318a.5.5 0 1 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0ZM4.318 11.39a.5.5 0 1 0-.707-.708l-1.414 1.414a.5.5 0 1 0 .707.707l1.414-1.414Zm8.485 1.413a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707ZM3.61 4.318a.5.5 0 0 0 .708-.707L2.904 2.197a.5.5 0 0 0-.707.707L3.61 4.318ZM7.5 4a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z\",\"M13.008 2a1 1 0 0 0-2 0v3a1 1 0 1 0 2 0V2ZM13 18.996a1 1 0 1 0-2 .007l.01 3.02a1 1 0 0 0 2-.006l-.01-3.02ZM23.01 12a1 1 0 0 1-1 1H19a1 1 0 0 1 0-2h3.01a1 1 0 0 1 1 1ZM5 13a1 1 0 1 0 0-2H2.01a1 1 0 1 0 0 2H5Zm-.78-8.774a1 1 0 0 1 1.415 0l2.121 2.122a1 1 0 1 1-1.414 1.414L4.221 5.641a1 1 0 0 1 0-1.415ZM17.648 16.25a1 1 0 0 0-1.41 1.42l2.143 2.129a1 1 0 1 0 1.41-1.42l-2.143-2.128Zm2.13-12.025a1 1 0 0 1 0 1.414L17.65 7.767a1 1 0 1 1-1.414-1.414l2.128-2.128a1 1 0 0 1 1.414 0ZM7.75 17.667a1 1 0 1 0-1.414-1.414l-2.115 2.115a1 1 0 1 0 1.415 1.414l2.115-2.115ZM12 7a5 5 0 1 0 0 10 5 5 0 0 0 0-10Z\",\"M17 3a1 1 0 0 0-2 0v4a1 1 0 1 0 2 0V3Zm.002 22a1 1 0 1 0-2 0v4.01a1 1 0 1 0 2 0V25ZM30 16.001a1 1 0 0 1-1 1h-4a1 1 0 1 1 0-2h4a1 1 0 0 1 1 1Zm-23 1a1 1 0 1 0 0-2H3.001a1 1 0 1 0 0 2h3.997Zm18.904-10.9a1 1 0 0 1 0 1.415l-2.828 2.828A1 1 0 1 1 21.66 8.93l2.83-2.83a1 1 0 0 1 1.414 0ZM10.349 23.073a1 1 0 0 0-1.414-1.414l-2.836 2.836a1 1 0 1 0 1.414 1.415l2.836-2.837ZM25.904 25.9a1 1 0 0 1-1.414 0l-2.829-2.828a1 1 0 0 1 1.415-1.414l2.828 2.828a1 1 0 0 1 0 1.415ZM8.933 10.344a1 1 0 0 0 1.415-1.414L7.52 6.104a1 1 0 0 0-1.414 1.414l2.826 2.826ZM16 10a6 6 0 1 0 0 12 6 6 0 0 0 0-12Z\"],[\"M5.498 0a.5.5 0 0 1 .5.5v1a.5.5 0 1 1-1 0v-1a.5.5 0 0 1 .5-.5Zm0 9a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Zm5-3a.5.5 0 0 0 0-1h-1a.5.5 0 0 0 0 1h1ZM2 5.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1 0-1h1a.5.5 0 0 1 .5.5Zm.315-3.89a.5.5 0 0 0-.707.708l.707.707a.5.5 0 1 0 .707-.707l-.707-.707Zm5.657 6.365a.5.5 0 0 1 .707 0l.707.707a.5.5 0 1 1-.707.707l-.707-.707a.5.5 0 0 1 0-.707Zm1.414-5.657a.5.5 0 0 0-.707-.707l-.707.707a.5.5 0 0 0 .707.707l.707-.707ZM3.022 7.975a.5.5 0 0 1 0 .707l-.707.708a.5.5 0 0 1-.708-.707l.708-.708a.5.5 0 0 1 .707 0ZM5.5 3a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5ZM4 5.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Z\",\"M7.5 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2a.5.5 0 0 1 .5-.5Zm0 12a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2a.5.5 0 0 1 .5-.5Zm7-4a.5.5 0 0 0 0-1h-2a.5.5 0 0 0 0 1h2ZM3 7.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5Zm9.803-4.596a.5.5 0 1 0-.707-.707L10.682 3.61a.5.5 0 1 0 .707.707l1.414-1.414Zm-8.485 7.778a.5.5 0 0 1 0 .707l-1.414 1.414a.5.5 0 1 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0Zm7.778 2.121a.5.5 0 0 0 .707-.707l-1.414-1.414a.5.5 0 0 0-.707.707l1.414 1.414ZM4.318 4.318a.5.5 0 0 1-.707 0L2.197 2.904a.5.5 0 0 1 .707-.707L4.318 3.61a.5.5 0 0 1 0 .707ZM7.5 4a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM5 7.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z\",\"M12.008 1a1 1 0 0 1 1 1v3a1 1 0 0 1-2 0V2a1 1 0 0 1 1-1Zm-.011 17a1 1 0 0 1 1.004.996l.01 3.021a1 1 0 0 1-2 .007L11 19.003A1 1 0 0 1 11.997 18Zm10.013-5a1 1 0 1 0 0-2H19a1 1 0 0 0 0 2h3.01ZM6 12a1 1 0 0 1-1 1H2.01a1 1 0 1 1 0-2H5a1 1 0 0 1 1 1Zm-.365-7.774A1 1 0 1 0 4.22 5.641l2.121 2.121a1 1 0 0 0 1.414-1.414l-2.12-2.122Zm10.599 12.029a1 1 0 0 1 1.414-.004l2.143 2.129a1 1 0 1 1-1.41 1.419l-2.143-2.13a1 1 0 0 1-.004-1.414ZM19.778 5.64a1 1 0 0 0-1.414-1.415l-2.128 2.128a1 1 0 1 0 1.414 1.414l2.128-2.128ZM7.75 16.253a1 1 0 0 1 0 1.414l-2.114 2.115a1 1 0 0 1-1.415-1.414l2.115-2.115a1 1 0 0 1 1.415 0ZM12 7a5 5 0 1 0 0 10 5 5 0 0 0 0-10Zm-3 5a3 3 0 1 1 6 0 3 3 0 0 1-6 0Z\",\"M16 2a1 1 0 0 1 1 1v4a1 1 0 0 1-2 0V3a1 1 0 0 1 1-1Zm.002 22a1 1 0 0 1 1 1v4.01a1 1 0 1 1-2 0V25a1 1 0 0 1 1-1ZM29 17.001a1 1 0 0 0 0-2h-4a1 1 0 1 0 0 2h4Zm-21-1a1 1 0 0 1-1 1H3.001a1 1 0 1 1 0-2h3.997a1 1 0 0 1 1 1Zm17.904-8.485A1 1 0 0 0 24.49 6.1l-2.83 2.83a1 1 0 0 0 1.415 1.414l2.828-2.828ZM10.349 21.66a1 1 0 0 1 0 1.413L7.513 25.91a1 1 0 1 1-1.414-1.415l2.836-2.836a1 1 0 0 1 1.414 0ZM24.49 25.9a1 1 0 0 0 1.414-1.414l-2.828-2.828a1 1 0 0 0-1.415 1.414l2.829 2.829ZM10.348 10.344a1 1 0 0 1-1.415 0L6.107 7.518A1 1 0 1 1 7.52 6.104l2.827 2.826a1 1 0 0 1 0 1.414ZM16 10a6 6 0 1 0 0 12 6 6 0 0 0 0-12Zm-4 6a4 4 0 1 1 8 0 4 4 0 0 1-8 0Z\"]];","export default [[\"M5.498 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Zm5.5 5.5a.5.5 0 0 1-.5.5H.5a.5.5 0 0 1 0-1h2.55a2.5 2.5 0 0 1 4.9 0h2.55a.5.5 0 0 1 .5.5Zm-9.39-3.889a.5.5 0 0 1 .707 0l.707.707a.5.5 0 1 1-.707.708l-.707-.708a.5.5 0 0 1 0-.707Zm7.778.707a.5.5 0 0 0-.707-.707l-.707.707a.5.5 0 0 0 .707.708l.707-.708ZM5.118 9.826l-.971-.97a.5.5 0 1 1 .706-.707l.645.644.65-.645a.5.5 0 0 1 .705.709l-.977.97a.498.498 0 0 1-.734.025.504.504 0 0 1-.024-.026Z\",\"M7.5 2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2a.5.5 0 0 1 .5-.5ZM15 9.5a.5.5 0 0 1-.5.5H.5a.5.5 0 0 1 0-1h3.535a3.5 3.5 0 0 1 6.93 0H14.5a.5.5 0 0 1 .5.5Zm-2.197-5.304a.5.5 0 0 1 0 .707L11.39 6.318a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0ZM3.61 6.318a.5.5 0 0 0 .708-.707L2.904 4.197a.5.5 0 1 0-.707.707L3.61 6.318Zm3.507 7.509-1.97-1.971a.5.5 0 1 1 .707-.707l1.644 1.645 1.65-1.646a.5.5 0 1 1 .706.708l-1.977 1.972a.498.498 0 0 1-.734.026.495.495 0 0 1-.026-.027Z\",\"<path d='M11.999 3a1 1 0 0 1 1 1v3a1 1 0 0 1-2 0V4a1 1 0 0 1 1-1ZM23 14a1 1 0 0 1-1 1H2a1 1 0 1 1 0-2h5.09a5.002 5.002 0 0 1 9.8 0H22a1 1 0 0 1 1 1Z'></path><path d='M4.21 6.226a1 1 0 0 1 1.415 0l2.121 2.122a1 1 0 1 1-1.414 1.414L4.211 7.64a1 1 0 0 1 0-1.415Zm15.559 1.413a1 1 0 0 0-1.415-1.414l-2.128 2.128a1 1 0 1 0 1.414 1.414l2.129-2.128Zm-8.517 13.029-1.96-1.96a1 1 0 1 1 1.415-1.414l1.291 1.291 1.296-1.292a1 1 0 0 1 1.412 1.416l-1.965 1.96a.997.997 0 0 1-.73.33.997.997 0 0 1-.759-.33Z'></path>\",\"M16.998 6a1 1 0 1 0-2 0v4a1 1 0 1 0 2 0V6Zm-9.96 14H3a1 1 0 0 1-1-.99V19a1 1 0 0 1 1-1h7.083a6.002 6.002 0 0 1 11.834 0H29a1 1 0 1 1-.001 2H7.038ZM25.902 9.102a1 1 0 0 1 0 1.414l-2.829 2.828a1 1 0 0 1-1.414-1.414l2.829-2.828a1 1 0 0 1 1.414 0ZM8.931 13.344a1 1 0 0 0 1.415-1.414L7.519 9.103a1 1 0 1 0-1.414 1.414l2.826 2.827ZM16 24.586l-2.293-2.292a1 1 0 1 0-1.414 1.414l2.963 2.962a.997.997 0 0 0 .763.331.997.997 0 0 0 .726-.331l2.962-2.962a1 1 0 0 0-1.414-1.414L16 24.586Z\"],[\"M5.998 1.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1Zm4.5 5.5a.5.5 0 1 0 0-1H7.95a2.5 2.5 0 0 0-4.9 0H.499a.5.5 0 1 0 0 1h10ZM5.5 5a1.5 1.5 0 0 1 1.415 1h-2.83A1.5 1.5 0 0 1 5.5 5ZM2.315 2.611a.5.5 0 0 0-.707.707l.707.708a.5.5 0 1 0 .707-.708l-.707-.707Zm7.071 0a.5.5 0 0 1 0 .707l-.707.708a.5.5 0 0 1-.707-.708l.707-.707a.5.5 0 0 1 .707 0ZM5.118 9.826l-.971-.97a.5.5 0 1 1 .706-.707l.645.644.65-.645a.5.5 0 0 1 .705.709l-.977.97a.498.498 0 0 1-.734.025.504.504 0 0 1-.024-.026Z\",\"M8 2.5a.5.5 0 0 0-1 0v2a.5.5 0 0 0 1 0v-2Zm6.5 7.5a.5.5 0 0 0 0-1h-3.535a3.5 3.5 0 0 0-6.93 0H.5a.5.5 0 0 0 0 1h14ZM9.95 9h-4.9a2.5 2.5 0 0 1 4.9 0Zm2.853-4.097a.5.5 0 1 0-.707-.707L10.682 5.61a.5.5 0 1 0 .707.708l1.414-1.415ZM4.318 6.318a.5.5 0 0 1-.707 0L2.197 4.904a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707Zm2.799 7.509-1.97-1.971a.5.5 0 1 1 .707-.707l1.644 1.645 1.65-1.646a.5.5 0 1 1 .706.708l-1.977 1.972a.498.498 0 0 1-.734.026.495.495 0 0 1-.026-.027Z\",\"<path d='M12.999 4a1 1 0 0 0-2 0v3a1 1 0 1 0 2 0V4ZM22 15a1 1 0 1 0 0-2h-5.11a5.002 5.002 0 0 0-9.8 0H2a1 1 0 1 0 0 2h20Zm-7.18-2H9.16a3.001 3.001 0 0 1 5.66 0ZM5.625 6.226a1 1 0 0 0-1.414 1.415l2.121 2.12a1 1 0 0 0 1.414-1.413l-2.12-2.122Z'></path><path d='M19.769 6.225a1 1 0 0 1 0 1.414L17.64 9.767a1 1 0 0 1-1.414-1.414l2.128-2.128a1 1 0 0 1 1.415 0Zm-8.517 14.443-1.96-1.96a1 1 0 1 1 1.415-1.414l1.291 1.291 1.296-1.292a1 1 0 0 1 1.412 1.416l-1.965 1.96a.997.997 0 0 1-.73.33.997.997 0 0 1-.759-.33Z'></path>\",\"M16.002 5a1 1 0 0 0-1 1v4a1 1 0 1 0 2 0V6a1 1 0 0 0-1-1ZM3.001 20A1 1 0 1 1 3 18h7.083a6.002 6.002 0 0 1 11.834 0H29a1 1 0 1 1 0 2H3.002Zm16.873-2a4.002 4.002 0 0 0-7.748 0h7.748ZM6.098 10.516a1 1 0 1 1 1.414-1.414l2.829 2.828a1 1 0 1 1-1.415 1.414l-2.828-2.828Zm15.556 2.828a1 1 0 0 0 1.415 0l2.826-2.827a1 1 0 0 0-1.414-1.414l-2.827 2.827a1 1 0 0 0 0 1.414Zm-6.4 13.326-2.961-2.962a1 1 0 0 1 1.414-1.414L16 24.586l2.294-2.292a1 1 0 1 1 1.414 1.414l-2.964 2.962a.997.997 0 0 1-.73.33.997.997 0 0 1-.759-.33Z\"]];","export default [[\"M5.498 1a.5.5 0 0 1 .5.5v1a.5.5 0 1 1-1 0v-1a.5.5 0 0 1 .5-.5Zm5.5 5.5a.5.5 0 0 1-.5.5H.5a.5.5 0 0 1 0-1h2.55a2.5 2.5 0 0 1 4.9 0h2.55a.5.5 0 0 1 .5.5Zm-9.39-3.889a.5.5 0 0 1 .707 0l.707.707a.5.5 0 1 1-.707.708l-.707-.708a.5.5 0 0 1 0-.707Zm7.778.707a.5.5 0 0 0-.707-.707l-.707.707a.5.5 0 0 0 .707.708l.707-.708ZM5.118 8.176l-.971.97a.5.5 0 0 0 .706.708l.645-.645.65.646a.5.5 0 0 0 .705-.71l-.977-.97a.498.498 0 0 0-.734-.025.508.508 0 0 0-.024.026Z\",\"M7.5 2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2a.5.5 0 0 1 .5-.5ZM15 9.5a.5.5 0 0 1-.5.5H.5a.5.5 0 0 1 0-1h3.535a3.5 3.5 0 0 1 6.93 0H14.5a.5.5 0 0 1 .5.5Zm-2.197-5.304a.5.5 0 0 1 0 .707L11.39 6.318a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0ZM3.61 6.318a.5.5 0 0 0 .708-.707L2.904 4.197a.5.5 0 1 0-.707.707L3.61 6.318Zm3.507 4.859-1.97 1.971a.5.5 0 1 0 .707.707l1.644-1.645 1.65 1.645a.5.5 0 1 0 .706-.707l-1.977-1.972a.498.498 0 0 0-.734-.026.495.495 0 0 0-.026.027Z\",\"<path d='M11.999 3a1 1 0 0 1 1 1v3a1 1 0 0 1-2 0V4a1 1 0 0 1 1-1ZM23 14a1 1 0 0 1-1 1H2a1 1 0 1 1 0-2h5.09a5.002 5.002 0 0 1 9.8 0H22a1 1 0 0 1 1 1Z'></path><path d='M4.21 6.226a1 1 0 0 1 1.415 0l2.121 2.122a1 1 0 1 1-1.414 1.414L4.211 7.64a1 1 0 0 1 0-1.415Zm15.559 1.413a1 1 0 0 0-1.415-1.414l-2.128 2.128a1 1 0 1 0 1.414 1.414l2.129-2.128Zm-8.517 9.694-1.96 1.96a1 1 0 1 0 1.415 1.414l1.291-1.291 1.296 1.292a1 1 0 0 0 1.412-1.416l-1.965-1.96a.997.997 0 0 0-.73-.33.997.997 0 0 0-.759.33Z'></path>\",\"M16.998 6a1 1 0 1 0-2 0v4a1 1 0 1 0 2 0V6Zm-9.96 14H3a1 1 0 0 1-1-.99V19a1 1 0 0 1 1-1h7.083a6.002 6.002 0 0 1 11.834 0H29a1 1 0 1 1-.001 2H7.038ZM25.902 9.102a1 1 0 0 1 0 1.414l-2.829 2.828a1 1 0 0 1-1.414-1.414l2.829-2.828a1 1 0 0 1 1.414 0Zm-16.97 4.242a1 1 0 0 0 1.414-1.414L7.519 9.103a1 1 0 1 0-1.414 1.414l2.826 2.827Zm6.322 8.989-2.961 2.96a1 1 0 0 0 1.414 1.415L16 24.416l2.294 2.292a1 1 0 0 0 1.414-1.414l-2.964-2.962a.997.997 0 0 0-.73-.33.997.997 0 0 0-.759.33Z\"],[\"M5.998 1.5a.5.5 0 1 0-1 0v1a.5.5 0 0 0 1 0v-1Zm4.5 5.5a.5.5 0 0 0 0-1H7.95a2.5 2.5 0 0 0-4.9 0H.5a.5.5 0 1 0 0 1h10ZM5.5 5a1.5 1.5 0 0 1 1.415 1h-2.83A1.5 1.5 0 0 1 5.5 5ZM2.315 2.611a.5.5 0 0 0-.707.707l.707.708a.5.5 0 1 0 .707-.708l-.707-.707Zm7.071 0a.5.5 0 0 1 0 .707l-.707.708a.5.5 0 1 1-.707-.708l.707-.707a.5.5 0 0 1 .707 0ZM5.118 8.176l-.971.97a.5.5 0 0 0 .706.708l.645-.645.65.646a.5.5 0 0 0 .705-.71l-.976-.97a.509.509 0 0 0-.377-.173.498.498 0 0 0-.382.174Z\",\"M8 2.5a.5.5 0 0 0-1 0v2a.5.5 0 0 0 1 0v-2Zm6.5 7.5a.5.5 0 0 0 0-1h-3.535a3.5 3.5 0 0 0-6.93 0H.5a.5.5 0 0 0 0 1h14ZM9.95 9h-4.9a2.5 2.5 0 0 1 4.9 0Zm2.853-4.097a.5.5 0 1 0-.707-.707L10.682 5.61a.5.5 0 1 0 .707.708l1.414-1.415ZM4.318 6.318a.5.5 0 0 1-.707 0L2.197 4.904a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707Zm2.799 4.859-1.97 1.971a.5.5 0 1 0 .707.707l1.644-1.645 1.65 1.645a.5.5 0 1 0 .706-.707l-1.977-1.972a.498.498 0 0 0-.734-.026.495.495 0 0 0-.026.027Z\",\"<path d='M12.999 4a1 1 0 0 0-2 0v3a1 1 0 1 0 2 0V4ZM22 15a1 1 0 1 0 0-2h-5.11a5.002 5.002 0 0 0-9.8 0H2a1 1 0 1 0 0 2h20Zm-7.18-2H9.16a3.001 3.001 0 0 1 5.66 0ZM5.625 6.226a1 1 0 0 0-1.414 1.415l2.121 2.12a1 1 0 0 0 1.414-1.413l-2.12-2.122Z'></path><path d='M19.769 6.225a1 1 0 0 1 0 1.414L17.64 9.767a1 1 0 0 1-1.414-1.414l2.128-2.128a1 1 0 0 1 1.415 0Zm-8.517 11.108-1.96 1.96a1 1 0 1 0 1.415 1.414l1.291-1.291 1.296 1.292a1 1 0 0 0 1.412-1.416l-1.965-1.96a.997.997 0 0 0-.73-.33.997.997 0 0 0-.759.33Z'></path>\",\"M15.998 5a1 1 0 0 1 1 1v4a1 1 0 1 1-2 0V6a1 1 0 0 1 1-1Zm8.961 15h4.04A1 1 0 1 0 29 18h-7.083a6.002 6.002 0 0 0-11.834 0H3a1 1 0 1 0 0 2h21.959Zm-5.085-2h-7.748a4.002 4.002 0 0 1 7.748 0Zm6.028-7.484a1 1 0 0 0-1.414-1.414l-2.829 2.828a1 1 0 0 0 1.415 1.414l2.828-2.828Zm-15.556 2.828a1 1 0 0 1-1.415 0l-2.826-2.827a1 1 0 0 1 1.414-1.414l2.827 2.827a1 1 0 0 1 0 1.414Zm4.908 8.989-2.961 2.96a1 1 0 0 0 1.414 1.415L16 24.416l2.294 2.292a1 1 0 0 0 1.414-1.414l-2.964-2.962a.997.997 0 0 0-.73-.33.997.997 0 0 0-.759.33Z\"]];","export default [[\"M7.864 2.46a4 4 0 0 0-5.818 3.108.5.5 0 0 1-.742.38.5.5 0 0 1-.274-.503 5 5 0 0 1 7.295-3.873A4.98 4.98 0 0 1 10 2.982V2.5a.5.5 0 0 1 1 0v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h.965a4.019 4.019 0 0 0-1.601-1.54Zm2.09 4.147.021-.162a.5.5 0 1 1 .995.111 4.968 4.968 0 0 1-.453 1.59 5.007 5.007 0 0 1-5.126 2.817A4.98 4.98 0 0 1 2 9v.5a.5.5 0 0 1-1.001 0v-2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-.964A4.02 4.02 0 0 0 4.07 9.504a4.011 4.011 0 0 0 4.31-.289 3.983 3.983 0 0 0 1.574-2.608Z\",\"M2 8.476a6.02 6.02 0 0 1 3.566-5.96A6.003 6.003 0 0 1 12.475 4H11.5a.5.5 0 0 0 0 1h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 1 0-1 0v.598a7.002 7.002 0 0 0-7.84-1.496 7.02 7.02 0 0 0-4.157 6.953A.5.5 0 1 0 2 8.476Zm1 4.426v.598a.5.5 0 0 1-1 0v-2a.5.5 0 0 1 .5-.5h2a.5.5 0 1 1 0 1h-.974a6.003 6.003 0 0 0 6.909 1.484A6.02 6.02 0 0 0 14 7.524a.5.5 0 1 1 .996-.08 7.02 7.02 0 0 1-4.157 6.954A7.002 7.002 0 0 1 3 12.902Z\",\"M12 4a8 8 0 0 0-8 8 1 1 0 1 1-2 0C2 6.477 6.477 2 12 2a9.97 9.97 0 0 1 7 2.859V4a1 1 0 1 1 2 0v3a1 1 0 0 1-1 1h-3a1 1 0 1 1 0-2h.292A7.968 7.968 0 0 0 12 4Zm9 7a1 1 0 0 1 1 1c0 5.523-4.477 10-10 10a9.969 9.969 0 0 1-7-2.859V20a1 1 0 1 1-2 0v-3a1 1 0 0 1 1-1h3a1 1 0 1 1 0 2h-.292A8 8 0 0 0 20 12a1 1 0 0 1 1-1Z\",\"M12.894 4.409c-5.673 1.52-9.303 6.862-8.861 12.513a1 1 0 0 1-1.994.156C1.523 10.483 5.756 4.251 12.376 2.477A13.995 13.995 0 0 1 26 6.199V4a1 1 0 1 1 2 0v5a1 1 0 0 1-1 1h-5a1 1 0 1 1 0-2h2.948a12 12 0 0 0-12.054-3.591Zm15.992 9.594a1 1 0 0 1 1.075.919c.516 6.595-3.717 12.827-10.338 14.6C14.57 30.878 9.421 29.286 6 25.803V28a1 1 0 1 1-2 0v-5a1 1 0 0 1 1-1h5a1 1 0 1 1 0 2H7.052a12 12 0 0 0 12.054 3.591c5.672-1.52 9.303-6.862 8.86-12.513a1 1 0 0 1 .92-1.075Z\"],[\"M7.864 2.46a4 4 0 0 0-5.818 3.108.5.5 0 0 1-.742.38.5.5 0 0 1-.274-.503 5 5 0 0 1 7.295-3.873A4.98 4.98 0 0 1 10 2.982V2.5a.5.5 0 0 1 1 0v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h.965a4.019 4.019 0 0 0-1.601-1.54Zm2.09 4.147.021-.162a.5.5 0 1 1 .995.111 4.968 4.968 0 0 1-.453 1.59 5.007 5.007 0 0 1-5.126 2.817A4.98 4.98 0 0 1 2 9v.5a.5.5 0 0 1-1.001 0v-2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-.964A4.02 4.02 0 0 0 4.07 9.504a4.011 4.011 0 0 0 4.31-.289 3.983 3.983 0 0 0 1.574-2.608Z\",\"M2 8.476a6.02 6.02 0 0 1 3.566-5.96A6.003 6.003 0 0 1 12.475 4H11.5a.5.5 0 0 0 0 1h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 1 0-1 0v.598a7.002 7.002 0 0 0-7.84-1.496 7.02 7.02 0 0 0-4.157 6.953A.5.5 0 1 0 2 8.476Zm1 4.425v.599a.5.5 0 0 1-1 0v-2a.5.5 0 0 1 .5-.5h2a.5.5 0 1 1 0 1h-.974a6.003 6.003 0 0 0 6.909 1.484A6.02 6.02 0 0 0 14 7.524a.5.5 0 1 1 .996-.08 7.02 7.02 0 0 1-4.157 6.954A7.002 7.002 0 0 1 3 12.9Z\",\"M12 4a8 8 0 0 0-8 8 1 1 0 1 1-2 0C2 6.477 6.477 2 12 2a9.97 9.97 0 0 1 7 2.859V4a1 1 0 1 1 2 0v3a1 1 0 0 1-1 1h-3a1 1 0 1 1 0-2h.292A7.968 7.968 0 0 0 12 4Zm9 7a1 1 0 0 1 1 1c0 5.523-4.477 10-10 10a9.969 9.969 0 0 1-7-2.859V20a1 1 0 1 1-2 0v-3a1 1 0 0 1 1-1h3a1 1 0 1 1 0 2h-.292A8 8 0 0 0 20 12a1 1 0 0 1 1-1Z\",\"M12.894 4.409c-5.673 1.52-9.303 6.862-8.861 12.513a1 1 0 0 1-1.994.156C1.523 10.483 5.756 4.251 12.376 2.477A13.995 13.995 0 0 1 26 6.199V4a1 1 0 1 1 2 0v5a1 1 0 0 1-1 1h-5a1 1 0 1 1 0-2h2.948a12 12 0 0 0-12.054-3.591Zm15.992 9.594a1 1 0 0 1 1.075.919c.516 6.595-3.717 12.827-10.338 14.6C14.57 30.878 9.421 29.286 6 25.803V28a1 1 0 1 1-2 0v-5a1 1 0 0 1 1-1h5a1 1 0 1 1 0 2H7.052a12 12 0 0 0 12.054 3.591c5.672-1.52 9.303-6.862 8.86-12.513a1 1 0 0 1 .92-1.075Z\"]];","export default [[\"<path d='M1.02 5.545A5 5 0 0 1 10 3h-.5a.5.5 0 0 0 0 1h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-1 0v1.184A6 6 0 0 0 .024 5.455a.5.5 0 0 0 .995.09Zm10.955 1a.5.5 0 0 0-.996-.09A5 5 0 0 1 1.999 9H2.5a.5.5 0 0 0 0-1h-2a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 1 0V9.32a6 6 0 0 0 10.975-2.774Z'></path><path d='M4 4a.5.5 0 0 1 .748-.434l3.5 2a.5.5 0 0 1 0 .868l-3.5 2A.5.5 0 0 1 4 8V4Z'></path>\",\"<path d='M2 8.476a6.02 6.02 0 0 1 3.565-5.96A6.003 6.003 0 0 1 12.475 4H11.5a.5.5 0 0 0 0 1h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 1 0-1 0v.599a7.002 7.002 0 0 0-7.84-1.497 7.02 7.02 0 0 0-4.157 6.953A.5.5 0 0 0 2 8.476Zm1 4.426v.598a.5.5 0 1 1-1 0v-2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-.975a6.003 6.003 0 0 0 6.91 1.484A6.02 6.02 0 0 0 14 7.524a.5.5 0 0 1 .997-.08 7.02 7.02 0 0 1-4.157 6.954A7.002 7.002 0 0 1 3 12.902Z'></path><path d='M6 5a.5.5 0 0 1 .757-.43l5 3a.5.5 0 0 1 0 .858l-5 3A.5.5 0 0 1 6 11V5Z'></path>\",\"<path d='M12 4a8 8 0 0 0-8 8 1 1 0 1 1-2 0C2 6.477 6.477 2 12 2a9.97 9.97 0 0 1 7 2.859V4a1 1 0 1 1 2 0v3a1 1 0 0 1-1 1h-3a1 1 0 1 1 0-2h.292A7.968 7.968 0 0 0 12 4Zm9 7a1 1 0 0 1 1 1c0 5.523-4.477 10-10 10a9.969 9.969 0 0 1-7-2.859V20a1 1 0 1 1-2 0v-3a1 1 0 0 1 1-1h3a1 1 0 1 1 0 2h-.292A8 8 0 0 0 20 12a1 1 0 0 1 1-1Z'></path><path d='M9 8.5a1 1 0 0 1 1.504-.864l6 3.5a1 1 0 0 1 0 1.728l-6 3.5A1 1 0 0 1 9 15.5v-7Z'></path>\",\"<path d='M12.893 4.408C7.22 5.928 3.59 11.269 4.033 16.92a1 1 0 0 1-1.995.156c-.516-6.594 3.717-12.826 10.338-14.6C17.43 1.12 22.579 2.714 26 6.198V4a1 1 0 1 1 2 0v5a1 1 0 0 1-1 1h-5a1 1 0 1 1 0-2h2.948a12 12 0 0 0-12.055-3.592Zm15.992 9.594a1 1 0 0 1 1.075.919c.516 6.594-3.717 12.827-10.338 14.6C14.57 30.877 9.421 29.285 6 25.802V28a1 1 0 1 1-2 0v-5a1 1 0 0 1 .994-1 .993.993 0 0 1 .091 0H10a1 1 0 1 1 0 2H7.052a12 12 0 0 0 12.053 3.59c5.673-1.52 9.303-6.862 8.86-12.513a1 1 0 0 1 .92-1.075Z'></path><path d='M12 11a1 1 0 0 1 1.521-.854l9 5.5a1 1 0 0 1 0 1.707l-9 5.5A1 1 0 0 1 12 21.999V11Z'></path>\"],[\"<path d='M6 1a5 5 0 0 0-4.98 4.545.5.5 0 0 1-.996-.09A6 6 0 0 1 11 2.684V1.5a.5.5 0 0 1 1 0v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h.5a4.992 4.992 0 0 0-4-2Zm5.521 5.002a.5.5 0 0 1 .454.543A6 6 0 0 1 1 9.319V10.5a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 .5 8h2a.5.5 0 0 1 0 1h-.501a5 5 0 0 0 8.98-2.545.5.5 0 0 1 .543-.453Z'></path><path d='M4 4a.5.5 0 0 1 .748-.434l3.5 2a.5.5 0 0 1 0 .868l-3.5 2A.5.5 0 0 1 4 8V4Zm1 3.138L6.992 6 5 4.862v2.276Z'></path>\",\"<path d='M5.565 2.516A6.02 6.02 0 0 0 2 8.476a.5.5 0 0 1-.997.08A7.02 7.02 0 0 1 5.16 1.601 7.002 7.002 0 0 1 13 3.099v-.6a.5.5 0 0 1 1 0v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h.974a6.003 6.003 0 0 0-6.909-1.483ZM3 13.5v-.598a7.002 7.002 0 0 0 7.84 1.496 7.02 7.02 0 0 0 4.157-6.954.5.5 0 1 0-.997.08 6.02 6.02 0 0 1-3.566 5.96 6.003 6.003 0 0 1-6.909-1.485H4.5a.5.5 0 1 0 0-1h-2a.5.5 0 0 0-.5.5v2a.5.5 0 1 0 1 0Z'></path><path d='M6 5a.5.5 0 0 1 .757-.43l5 3a.5.5 0 0 1 0 .858l-5 3A.5.5 0 0 1 6 11V5Zm1 5.116L10.528 8 7 5.883v4.233Z'></path>\",\"<path d='M4 12a8 8 0 0 1 13.292-6H17a1 1 0 1 0 0 2h3a1 1 0 0 0 1-1V4a1 1 0 1 0-2 0v.859A9.97 9.97 0 0 0 12 2C6.477 2 2 6.477 2 12a1 1 0 1 0 2 0Zm18 0a1 1 0 1 0-2 0 8 8 0 0 1-13.292 6H7a1 1 0 1 0 0-2H4a1 1 0 0 0-1 1v3a1 1 0 1 0 2 0v-.859A9.969 9.969 0 0 0 12 22c5.523 0 10-4.477 10-10Z'></path><path d='M9 8.5a1 1 0 0 1 1.504-.864l6 3.5a1 1 0 0 1 0 1.728l-6 3.5A1 1 0 0 1 9 15.5v-7Zm2 5.259L14.015 12 11 10.241v3.518Z'></path>\",\"<path d='M4.032 16.92C3.59 11.27 7.22 5.929 12.893 4.409A12 12 0 0 1 24.948 8H22a1 1 0 1 0 0 2h5a1 1 0 0 0 1-1V4a1 1 0 1 0-2 0v2.198c-3.42-3.484-8.57-5.077-13.624-3.722-6.62 1.774-10.854 8.006-10.338 14.6a1 1 0 1 0 1.994-.155Zm25.928-2a1 1 0 0 0-1.994.157c.442 5.651-3.188 10.993-8.861 12.513A12 12 0 0 1 7.052 24H10a1 1 0 1 0 0-2H5.085a.993.993 0 0 0-.091 0A1 1 0 0 0 4 23v5a1 1 0 1 0 2 0v-2.2a13.993 13.993 0 0 0 13.622 3.722c6.621-1.774 10.854-8.007 10.338-14.601Z'></path><path d='M12 11a1 1 0 0 1 1.521-.854l9 5.5a1 1 0 0 1 0 1.707l-9 5.5A1 1 0 0 1 12 21.999V11Zm2 9.216 6.082-3.716L14 12.783v7.434Z'></path>\"]];","export default [[\"<path d='M.5 5a.5.5 0 0 0 .5-.5v-2A1.5 1.5 0 0 1 2.5 1H3v1h-.5a.5.5 0 0 0-.5.5v2c0 .384-.144.735-.382 1 .238.265.382.616.382 1v2a.5.5 0 0 0 .5.5H3v1h-.5A1.5 1.5 0 0 1 1 8.5v-2A.5.5 0 0 0 .5 6H0V5h.5Zm9.5-.5a.5.5 0 0 0 .5.5h.5v1h-.5a.5.5 0 0 0-.5.5v2A1.5 1.5 0 0 1 8.5 10H8V9h.5a.5.5 0 0 0 .5-.5v-2c0-.384.144-.735.382-1A1.494 1.494 0 0 1 9 4.5v-2a.5.5 0 0 0-.5-.5H8V1h.5A1.5 1.5 0 0 1 10 2.5v2Z'></path><path d='M8.354 4.354a.5.5 0 1 0-.708-.708L4.5 6.793 3.354 5.646a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3.5-3.5Z'></path>\",\"<path d='M2 6.5a.5.5 0 0 1-.5.5H1v1h.5a.5.5 0 0 1 .5.5v3A1.5 1.5 0 0 0 3.5 13H4v-1h-.5a.5.5 0 0 1-.5-.5v-3c0-.384-.144-.735-.382-1 .238-.265.382-.616.382-1v-3a.5.5 0 0 1 .5-.5H4V2h-.5A1.5 1.5 0 0 0 2 3.5v3Zm12.5.5a.5.5 0 0 1-.5-.5v-3A1.5 1.5 0 0 0 12.5 2H12v1h.5a.5.5 0 0 1 .5.5v3c0 .384.144.735.382 1a1.494 1.494 0 0 0-.382 1v3a.5.5 0 0 1-.5.5H12v1h.5a1.5 1.5 0 0 0 1.5-1.5v-3a.5.5 0 0 1 .5-.5h.5V7h-.5Z'></path><path d='M11.854 5.854a.5.5 0 0 0-.708-.708L6.5 9.793 4.854 8.146a.5.5 0 1 0-.708.708l2 2a.5.5 0 0 0 .708 0l5-5Z'></path>\",\"<path d='M6 5a1 1 0 0 0-1 1v4c0 .768-.289 1.47-.764 2 .475.53.764 1.232.764 2v4a1 1 0 0 0 1 1h1v2H6a3 3 0 0 1-3-3v-4a1 1 0 0 0-1-1H1v-2h1a1 1 0 0 0 1-1V6a3 3 0 0 1 3-3h1v2H6Zm12 0a1 1 0 0 1 1 1v4c0 .768.289 1.47.764 2A2.989 2.989 0 0 0 19 14v4a1 1 0 0 1-1 1h-1v2h1a3 3 0 0 0 3-3v-4a1 1 0 0 1 1-1h1v-2h-1a1 1 0 0 1-1-1V6a3 3 0 0 0-3-3h-1v2h1Z'></path><path d='M16.707 11.207a1 1 0 0 0-1.414-1.414L10.5 14.586l-1.793-1.793a1 1 0 0 0-1.414 1.414l2.5 2.5a1 1 0 0 0 1.414 0l5.5-5.5Z'></path>\",\"M7 7a1 1 0 0 0-1 1v6c0 .768-.289 1.47-.764 2 .475.53.764 1.232.764 2v6a1 1 0 0 0 1 1h1v2H7a3 3 0 0 1-3-3v-6a1 1 0 0 0-1-1H2v-2h1a1 1 0 0 0 1-1V8a3 3 0 0 1 3-3h1v2H7Zm18 0a1 1 0 0 1 1 1v6c0 .768.289 1.47.764 2A2.989 2.989 0 0 0 26 18v6a1 1 0 0 1-1 1h-1v2h1a3 3 0 0 0 3-3v-6a1 1 0 0 1 1-1h1v-2h-1a1 1 0 0 1-1-1V8a3 3 0 0 0-3-3h-1v2h1Zm-1.793 5.707a1 1 0 0 0-1.414-1.414L13 20.086l-2.793-2.793a1 1 0 0 0-1.414 1.414l3.5 3.5a1 1 0 0 0 1.414 0l9.5-9.5Z\"]];","export default [[\"<path d='M1 4.5a.5.5 0 0 1-.5.5H0v1h.5a.5.5 0 0 1 .5.5v2A1.5 1.5 0 0 0 2.5 10H3V9h-.5a.5.5 0 0 1-.5-.5v-2c0-.384-.144-.735-.382-1 .238-.265.382-.616.382-1v-2a.5.5 0 0 1 .5-.5H3V1h-.5A1.5 1.5 0 0 0 1 2.5v2Zm9.5.5a.5.5 0 0 1-.5-.5v-2A1.5 1.5 0 0 0 8.5 1H8v1h.5a.5.5 0 0 1 .5.5v2c0 .384.144.735.382 1A1.494 1.494 0 0 0 9 6.5v2a.5.5 0 0 1-.5.5H8v1h.5A1.5 1.5 0 0 0 10 8.5v-2a.5.5 0 0 1 .5-.5h.5V5h-.5Z'></path><path d='M5.94 2.94a1.5 1.5 0 1 1 2.12 2.12l-.151.152a.503.503 0 0 0-.055-.066l-2-2a.502.502 0 0 0-.066-.055l.151-.152Zm-.849.848L2.939 5.939a.5.5 0 0 0-.139.27l-.293 1.706a.5.5 0 0 0 .578.578L4.792 8.2a.5.5 0 0 0 .269-.14l2.151-2.15a.503.503 0 0 1-.066-.055l-2-2a.502.502 0 0 1-.055-.066Z'></path>\",\"<path d='M1.5 7a.5.5 0 0 0 .5-.5v-3A1.5 1.5 0 0 1 3.5 2H4v1h-.5a.5.5 0 0 0-.5.5v3c0 .384-.144.735-.382 1 .238.265.382.616.382 1v3a.5.5 0 0 0 .5.5H4v1h-.5A1.5 1.5 0 0 1 2 11.5v-3a.5.5 0 0 0-.5-.5H1V7h.5ZM14 6.5a.5.5 0 0 0 .5.5h.5v1h-.5a.5.5 0 0 0-.5.5v3a1.5 1.5 0 0 1-1.5 1.5H12v-1h.5a.5.5 0 0 0 .5-.5v-3c0-.384.144-.735.382-1a1.494 1.494 0 0 1-.382-1v-3a.5.5 0 0 0-.5-.5H12V2h.5A1.5 1.5 0 0 1 14 3.5v3ZM9.44 3.44a1.5 1.5 0 0 1 2.12 2.12l-.29.292L9.148 3.73l.291-.29Z'></path><path d='M8.441 4.437 4.94 7.94a.5.5 0 0 0-.117.185L4.03 10.33a.5.5 0 0 0 .64.64l2.207-.793a.501.501 0 0 0 .185-.117l3.502-3.502L8.44 4.437Z'></path>\",\"<path d='M5 6a1 1 0 0 1 1-1h1V3H6a3 3 0 0 0-3 3v4a1 1 0 0 1-1 1H1v2h1a1 1 0 0 1 1 1v4a3 3 0 0 0 3 3h1v-2H6a1 1 0 0 1-1-1v-4c0-.768-.289-1.47-.764-2 .475-.53.764-1.232.764-2V6Zm14 0a1 1 0 0 0-1-1h-1V3h1a3 3 0 0 1 3 3v4a1 1 0 0 0 1 1h1v2h-1a1 1 0 0 0-1 1v4a3 3 0 0 1-3 3h-1v-2h1a1 1 0 0 0 1-1v-4c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 19 10V6Z'></path><path d='M12.879 5.879a3 3 0 1 1 4.242 4.242l-.293.293-4.242-4.242.293-.293Zm-1.707 1.707-4.293 4.293a1 1 0 0 0-.279.538l-.586 3.414a1 1 0 0 0 1.155 1.155l3.414-.586a1 1 0 0 0 .538-.279l4.293-4.293-4.242-4.242Z'></path>\",\"<path d='M6 8a1 1 0 0 1 1-1h1V5H7a3 3 0 0 0-3 3v6a1 1 0 0 1-1 1H2v2h1a1 1 0 0 1 1 1v6a3 3 0 0 0 3 3h1v-2H7a1 1 0 0 1-1-1v-6c0-.768-.289-1.47-.764-2 .475-.53.764-1.232.764-2V8Zm20 0a1 1 0 0 0-1-1h-1V5h1a3 3 0 0 1 3 3v6a1 1 0 0 0 1 1h1v2h-1a1 1 0 0 0-1 1v6a3 3 0 0 1-3 3h-1v-2h1a1 1 0 0 0 1-1v-6c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 26 14V8Z'></path><path d='M18.879 8.879a3 3 0 1 1 4.242 4.242l-.793.793-4.242-4.242.793-.793Zm-2.207 2.207-6.793 6.793a1 1 0 0 0-.234.369l-1.586 4.414a1 1 0 0 0 1.28 1.28l4.413-1.587a.998.998 0 0 0 .37-.234l6.792-6.793-4.242-4.242Z'></path>\"],[\"<path d='M1 4.5a.5.5 0 0 1-.5.5H0v1h.5a.5.5 0 0 1 .5.5v2A1.5 1.5 0 0 0 2.5 10H3V9h-.5a.5.5 0 0 1-.5-.5v-2c0-.384-.144-.735-.382-1 .238-.265.382-.616.382-1v-2a.5.5 0 0 1 .5-.5H3V1h-.5A1.5 1.5 0 0 0 1 2.5v2Zm9.5.5a.5.5 0 0 1-.5-.5v-2A1.5 1.5 0 0 0 8.5 1H8v1h.5a.5.5 0 0 1 .5.5v2c0 .384.144.735.382 1A1.494 1.494 0 0 0 9 6.5v2a.5.5 0 0 1-.5.5H8v1h.5A1.5 1.5 0 0 0 10 8.5v-2a.5.5 0 0 1 .5-.5h.5V5h-.5Z'></path><path d='M5.94 2.94a1.5 1.5 0 1 1 2.12 2.12l-3 3a.5.5 0 0 1-.268.14l-1.707.293a.5.5 0 0 1-.578-.578L2.8 6.208a.5.5 0 0 1 .14-.269l3-3Zm1.414.706a.5.5 0 0 0-.708 0l-.146.147.707.707.147-.146a.5.5 0 0 0 0-.708ZM6.5 5.207 5.793 4.5 3.759 6.534l-.147.854.854-.147L6.5 5.207Z'></path>\",\"<path d='M1.5 7a.5.5 0 0 0 .5-.5v-3A1.5 1.5 0 0 1 3.5 2H4v1h-.5a.5.5 0 0 0-.5.5v3c0 .384-.144.735-.382 1 .238.265.382.616.382 1v3a.5.5 0 0 0 .5.5H4v1h-.5A1.5 1.5 0 0 1 2 11.5v-3a.5.5 0 0 0-.5-.5H1V7h.5ZM14 6.5a.5.5 0 0 0 .5.5h.5v1h-.5a.5.5 0 0 0-.5.5v3a1.5 1.5 0 0 1-1.5 1.5H12v-1h.5a.5.5 0 0 0 .5-.5v-3c0-.384.144-.735.382-1a1.494 1.494 0 0 1-.382-1v-3a.5.5 0 0 0-.5-.5H12V2h.5A1.5 1.5 0 0 1 14 3.5v3Z'></path><path d='M9.44 3.44a1.5 1.5 0 0 1 2.12 2.12l-4.5 4.5a.501.501 0 0 1-.184.118l-2.207.793a.5.5 0 0 1-.64-.64l.793-2.207a.5.5 0 0 1 .117-.185l4.5-4.5Zm1.414.706a.5.5 0 0 0-.707 0l-.292.291.708.708.29-.291a.5.5 0 0 0 0-.708Zm-.999 1.706-.707-.707-3.422 3.422-.397 1.104 1.104-.397 3.422-3.422Z'></path>\",\"<path d='M5 6a1 1 0 0 1 1-1h1V3H6a3 3 0 0 0-3 3v4a1 1 0 0 1-1 1H1v2h1a1 1 0 0 1 1 1v4a3 3 0 0 0 3 3h1v-2H6a1 1 0 0 1-1-1v-4c0-.768-.289-1.47-.764-2 .475-.53.764-1.232.764-2V6Zm14 0a1 1 0 0 0-1-1h-1V3h1a3 3 0 0 1 3 3v4a1 1 0 0 0 1 1h1v2h-1a1 1 0 0 0-1 1v4a3 3 0 0 1-3 3h-1v-2h1a1 1 0 0 0 1-1v-4c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 19 10V6Z'></path><path d='M12.879 5.879a3 3 0 1 1 4.242 4.242l-6 6a1 1 0 0 1-.538.279l-3.414.586a1 1 0 0 1-1.155-1.155l.586-3.414a1 1 0 0 1 .279-.538l6-6Zm2.828 1.414a1 1 0 0 0-1.414 0L14 7.586 15.414 9l.293-.293a1 1 0 0 0 0-1.414ZM14 10.414 12.586 9l-4.068 4.068-.293 1.707 1.707-.293L14 10.414Z'></path>\",\"<path d='M6 8a1 1 0 0 1 1-1h1V5H7a3 3 0 0 0-3 3v6a1 1 0 0 1-1 1H2v2h1a1 1 0 0 1 1 1v6a3 3 0 0 0 3 3h1v-2H7a1 1 0 0 1-1-1v-6c0-.768-.289-1.47-.764-2 .475-.53.764-1.232.764-2V8Zm20 0a1 1 0 0 0-1-1h-1V5h1a3 3 0 0 1 3 3v6a1 1 0 0 0 1 1h1v2h-1a1 1 0 0 0-1 1v6a3 3 0 0 1-3 3h-1v-2h1a1 1 0 0 0 1-1v-6c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 26 14V8Z'></path><path d='M18.879 8.879a3 3 0 1 1 4.242 4.242l-9 9a.998.998 0 0 1-.369.234l-4.414 1.586a1 1 0 0 1-1.28-1.28l1.587-4.413a1 1 0 0 1 .234-.37l9-9Zm2.828 1.414a1 1 0 0 0-1.414 0l-.793.793 1.414 1.414.793-.793a1 1 0 0 0 0-1.414ZM19.5 13.914 18.086 12.5l-6.635 6.635-.793 2.207 2.207-.793 6.635-6.635Z'></path>\"]];","export default [[\"M2.5 1A1.5 1.5 0 0 0 1 2.5v6A1.5 1.5 0 0 0 2.5 10h7A1.5 1.5 0 0 0 11 8.5v-6A1.5 1.5 0 0 0 9.5 1h-7ZM8 4v2h2V4H8ZM7 4H5v2h2V4ZM4 4H2v2h2V4Zm1 3h2v2H5V7Zm4.5 2H8V7h2v1.5a.5.5 0 0 1-.5.5ZM2 8.5V7h2v2H2.5a.5.5 0 0 1-.5-.5Z\",\"M2.5 2A1.5 1.5 0 0 0 1 3.5v8A1.5 1.5 0 0 0 2.5 13h10a1.5 1.5 0 0 0 1.5-1.5v-8A1.5 1.5 0 0 0 12.5 2h-10Zm10 3H10v3h3V5h-.5ZM9 5H6v3h3V5ZM2.499 5H5v3H2V5h.499ZM6 9h3v3H6V9Zm6.5 3H10V9h3v2.5a.5.5 0 0 1-.5.5ZM2 11.5V9h3v3H2.5a.5.5 0 0 1-.5-.5Z\",\"M2 6a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v11a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V6Zm2 2v2h4V8H4Zm6 0v2h4V8h-4Zm6 0v2h4V8h-4Zm-6 4h4v2h-4v-2Zm6 0v2h4v-2h-4Zm-6 4h4v2h-4v-2Zm10 0h-4v2h3a1 1 0 0 0 1-1v-1ZM8 12v2H4v-2h4Zm0 4H4v1a1 1 0 0 0 1 1h3v-2Z\",\"M3 7a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v18a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V7Zm2.998 3H5v4h6v-4H5.998ZM13 10v4h6v-4h-6Zm8 0v4h6v-4h-6Zm-8 6h6v4h-6v-4Zm8 0v4h6v-4h-6Zm-8 6h6v4h-6v-4Zm8 0v4h5a1 1 0 0 0 1-1v-3h-6Zm-10-6H5v4h6v-4Zm-6 9v-3h6v4H6a1 1 0 0 1-1-1Z\"]];","export default [[\"<path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v6A1.5 1.5 0 0 0 2.5 10h2.026A2.391 2.391 0 0 1 4 8.595V9H2.5a.5.5 0 0 1-.5-.5V7h2v1.401a2.391 2.391 0 0 1 .701-1.6L5.502 6H5V4h2v.523c.3-.24.643-.399 1-.474V4h.363c.091-.005.183-.005.275 0H10v.522c.068.055.134.114.197.177l.803.803V2.5A1.5 1.5 0 0 0 9.5 1h-7ZM4 4v2H2V4h2Z'></path><path d='M9.49 5.408a1.4 1.4 0 0 0-1.98 0L5.408 7.51a1.4 1.4 0 0 0 0 1.98l2.102 2.102a1.4 1.4 0 0 0 1.98 0l2.102-2.102a1.4 1.4 0 0 0 0-1.98L9.49 5.408Zm-1.273.707a.4.4 0 0 1 .566 0l2.102 2.102a.4.4 0 0 1 0 .566l-2.102 2.102a.4.4 0 0 1-.566 0L6.115 8.783a.4.4 0 0 1 0-.566l2.102-2.102Z'></path>\",\"<path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v8A1.5 1.5 0 0 0 2.5 12h3.55c-.07-.33-.07-.67 0-1H6V8h2.504l1.3-1.3c.062-.062.128-.121.196-.176V4h3v2.524c.068.055.134.114.197.177l.803.802V2.5A1.5 1.5 0 0 0 12.5 1h-10ZM6 4h3v3H6V4ZM2 4h3v3H2V4Zm0 6.5V8h3v3H2.5a.5.5 0 0 1-.5-.5Z'></path><path d='M7.408 12.49a1.4 1.4 0 0 1 0-1.98l3.102-3.102a1.4 1.4 0 0 1 1.98 0l3.102 3.102a1.4 1.4 0 0 1 0 1.98l-3.102 3.102a1.4 1.4 0 0 1-1.98 0L7.408 12.49Zm.707-1.273a.4.4 0 0 0 0 .566l3.102 3.102a.4.4 0 0 0 .566 0l3.102-3.102a.4.4 0 0 0 0-.566l-3.102-3.102a.4.4 0 0 0-.566 0l-3.102 3.102Z'></path>\",\"<path d='M1 4a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v5.742l-.171-.17A5.38 5.38 0 0 0 17.238 8H19V6h-4v2h1.795a5.38 5.38 0 0 0-3.59 1.57l-.431.43H9v2h1.767l-1.182 1.177A5.394 5.394 0 0 0 8.09 18H4a3 3 0 0 1-3-3V4Zm8 2v2h4V6H9ZM3 6v2h4V6H3Zm4 4H3v2h4v-2Zm0 4H3v1a1 1 0 0 0 1 1h3v-2Z'></path><path d='M19.423 23.03a3.4 3.4 0 0 1-4.816.001l-3.617-3.628a3.4 3.4 0 0 1 .007-4.809l3.62-3.606a3.4 3.4 0 0 1 4.8 0l3.615 3.604a3.4 3.4 0 0 1 .009 4.808l-3.618 3.63Zm-3.4-1.41a1.4 1.4 0 0 0 1.983-.001l3.618-3.63a1.4 1.4 0 0 0-.004-1.98l-3.615-3.605a1.4 1.4 0 0 0-1.977 0l-3.619 3.607a1.4 1.4 0 0 0-.003 1.98l3.617 3.628Z'></path>\",\"<path d='M2 5a3 3 0 0 1 3-3h20a3 3 0 0 1 3 3v9.736l-2.185-2.178a5.44 5.44 0 0 0-.656-.558H26V8h-6v3.366a5.383 5.383 0 0 0-1.81 1.191L16.743 14H12v4h.729l-.147.147a5.4 5.4 0 0 0-.013 7.637l.215.216H5a3 3 0 0 1-3-3V5Zm8 3H4v4h6V8Zm2 0v4h6V8h-6Zm-2 6H4v4h6v-4Zm-6 9a1 1 0 0 0 1 1h5v-4H4v3Z'></path><path d='M24.407 29.995a3.4 3.4 0 0 1-4.816.001l-5.606-5.623a3.4 3.4 0 0 1 .008-4.81l5.608-5.589a3.4 3.4 0 0 1 4.8 0l5.605 5.587a3.4 3.4 0 0 1 .008 4.808l-5.607 5.626Zm-3.4-1.411a1.4 1.4 0 0 0 1.984 0l5.606-5.627a1.4 1.4 0 0 0-.003-1.98l-5.604-5.586a1.4 1.4 0 0 0-1.977 0l-5.609 5.59a1.4 1.4 0 0 0-.003 1.98l5.606 5.623Z'></path>\"]];","export default [[\"M2.5 1A1.5 1.5 0 0 0 1 2.5V4h3V1H2.5ZM5 1v3h2V1H5Zm3 0v3h3V2.5A1.5 1.5 0 0 0 9.5 1H8Zm3 4H8v2h3V5Zm0 3H8v3h1.5A1.5 1.5 0 0 0 11 9.5V8Zm-4 3V8H5v3h2Zm-3 0V8H1v1.5A1.5 1.5 0 0 0 2.5 11H4ZM1 7h3V5H1v2Zm4 0V5h2v2H5Z\",\"M2.5 1A1.5 1.5 0 0 0 1 2.5V5h4V1H2.5ZM6 1v4h3V1H6Zm4 0v4h4V2.5A1.5 1.5 0 0 0 12.5 1H10Zm4 5h-4v3h4V6Zm0 4h-4v4h2.5a1.5 1.5 0 0 0 1.5-1.5V10Zm-5 4v-4H6v4h3Zm-4 0v-4H1v2.5A1.5 1.5 0 0 0 2.5 14H5ZM1 9h4V6H1v3Zm5 0V6h3v3H6Z\",\"M5 2a3 3 0 0 0-3 3v3h6V2H5Zm5 0v6h4V2h-4Zm6 0v6h6V5a3 3 0 0 0-3-3h-3Zm6 8h-6v4h6v-4Zm0 6h-6v6h3a3 3 0 0 0 3-3v-3Zm-8 6v-6h-4v6h4Zm-6 0v-6H2v3a3 3 0 0 0 3 3h3Zm-6-8h6v-4H2v4Zm8 0v-4h4v4h-4Z\",\"M6 3a3 3 0 0 0-3 3v5h8V3H6Zm7 0v8h6V3h-6Zm8 0v8h8V6a3 3 0 0 0-3-3h-5Zm8 10h-8v6h8v-6Zm0 8h-8v8h5a3 3 0 0 0 3-3v-5Zm-10 8v-8h-6v8h6Zm-8 0v-8H3v5a3 3 0 0 0 3 3h5ZM3 19h8v-6H3v6Zm10 0v-6h6v6h-6Z\"],[\"M2.5 1A1.5 1.5 0 0 0 1 2.5v7A1.5 1.5 0 0 0 2.5 11h7A1.5 1.5 0 0 0 11 9.5v-7A1.5 1.5 0 0 0 9.5 1h-7ZM2 2.5a.5.5 0 0 1 .5-.5H4v2H2V2.5ZM2 5h2v2H2V5Zm0 3h2v2H2.5a.5.5 0 0 1-.5-.5V8Zm3 2V8h2v2H5Zm3 0V8h2v1.5a.5.5 0 0 1-.5.5H8Zm2-3H8V5h2v2Zm0-3H8V2h1.5a.5.5 0 0 1 .5.5V4ZM7 2v2H5V2h2ZM5 7V5h2v2H5Z\",\"M2.5 1A1.5 1.5 0 0 0 1 2.5v10A1.5 1.5 0 0 0 2.5 14h10a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 12.5 1h-10ZM2 2.5a.5.5 0 0 1 .5-.5H5v3H2V2.5ZM2 6h3v3H2V6Zm0 4h3v3H2.5a.5.5 0 0 1-.5-.5V10Zm4 3h3v-3H6v3Zm4 0h2.5a.5.5 0 0 0 .5-.5V10h-3v3Zm3-4V6h-3v3h3Zm0-4V2.5a.5.5 0 0 0-.5-.5H10v3h3ZM9 2H6v3h3V2ZM6 9V6h3v3H6Z\",\"M5 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H5ZM4 5a1 1 0 0 1 1-1h3v4H4V5Zm0 5h4v4H4v-4Zm0 6h4v4H5a1 1 0 0 1-1-1v-3Zm6 4v-4h4v4h-4Zm6 0v-4h4v3a1 1 0 0 1-1 1h-3Zm4-6h-4v-4h4v4Zm0-6h-4V4h3a1 1 0 0 1 1 1v3Zm-6-4v4h-4V4h4Zm-4 10v-4h4v4h-4Z\",\"M6 3a3 3 0 0 0-3 3v20a3 3 0 0 0 3 3h20a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6ZM5 6a1 1 0 0 1 1-1h5v6H5V6Zm0 7h6v6H5v-6Zm0 8h6v6H6a1 1 0 0 1-1-1v-5Zm8 6v-6h6v6h-6Zm8 0v-6h6v5a1 1 0 0 1-1 1h-5Zm6-8h-6v-6h6v6Zm0-8h-6V5h5a1 1 0 0 1 1 1v5Zm-8-6v6h-6V5h6Zm-6 14v-6h6v6h-6Z\"]];","export default [[\"<path d='M0 1.5A1.5 1.5 0 0 1 1.5 0h7A1.5 1.5 0 0 1 10 1.5v3.035a3.975 3.975 0 0 0-1-.409V3H7v1.126c-.355.091-.69.23-1 .41V3H4v2h1.354a4.018 4.018 0 0 0-.819 1H4v2c0 .345.044.68.126 1H1.5A1.5 1.5 0 0 1 0 7.5v-6ZM1 5h2V3H1v2Zm0 1v1.5a.5.5 0 0 0 .5.5H3V6H1Z'></path><path d='M5 8a3 3 0 1 1 5.445 1.738l1.409 1.408a.5.5 0 1 1-.707.707l-1.409-1.408A3 3 0 0 1 5 8Zm3-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z'></path>\",\"<path d='M0 2.49A1.5 1.5 0 0 1 1.5 1h10A1.5 1.5 0 0 1 13 2.5v4.258a4.485 4.485 0 0 0-1-.502V4H9v2.256a4.484 4.484 0 0 0-1 .502V4H5v3h2.671c-.352.285-.66.622-.913 1H5v3h1.027c.039.347.117.682.23 1H1.5A1.5 1.5 0 0 1 0 10.5V2.49ZM1 4v3h3V4H1Zm0 4v2.5a.5.5 0 0 0 .5.5H4V8H1Z'></path><path d='M7 10.5a3.5 3.5 0 1 1 6.3 2.1c.019.014.037.03.053.046l2.5 2.5a.5.5 0 0 1-.707.707l-2.5-2.5a.504.504 0 0 1-.046-.053A3.5 3.5 0 0 1 7 10.5ZM10.5 8a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path>\",\"<path d='M4 2a3 3 0 0 0-3 3v11a3 3 0 0 0 3 3h4.865A7.467 7.467 0 0 1 8 15.5c0-1.364.364-2.642 1-3.744V11h.5a7.538 7.538 0 0 1 2.256-2H9V7h4v1.427a7.467 7.467 0 0 1 2-.41V7h4v1.865a7.528 7.528 0 0 1 2 1.536V5a3 3 0 0 0-3-3H4Zm3 5v2H3V7h4Zm0 6H3v-2h4v2Zm-4 2h4v2H4a1 1 0 0 1-1-1v-1Z'></path><path d='M10 15.5a5.5 5.5 0 1 1 10.032 3.117l3.675 3.676a1 1 0 0 1-1.414 1.414l-3.675-3.675A5.5 5.5 0 0 1 10 15.5Zm5.5-3.5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M6 4a3 3 0 0 0-3 3v18a3 3 0 0 0 3 3h10.496a8.538 8.538 0 0 1-2.477-2H13v-1.496a8.462 8.462 0 0 1-1-4.004c0-1.448.362-2.81 1-4.004V16h.288a8.544 8.544 0 0 1 1.735-2H13v-4h6v2.132a8.551 8.551 0 0 1 2-.117V10h6v4h-1.023A8.482 8.482 0 0 1 29 20.5V7a3 3 0 0 0-3-3H6Zm5 6v4H5v-4h6Zm-6 6h6v4H5v-4Zm0 6h6v4H6a1 1 0 0 1-1-1v-3Z'></path><path d='M14 20.5a6.5 6.5 0 1 1 11.749 3.835l4.958 4.958a1 1 0 0 1-1.414 1.414l-4.958-4.958A6.5 6.5 0 0 1 14 20.5Zm6.5-4.5a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9Z'></path>\"]];","export default [[\"M2.5 0A1.5 1.5 0 0 0 1 1.5v9A1.5 1.5 0 0 0 2.5 12h7a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 9.5 0h-7Zm2 9h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1Z\",\"M3.5 1A1.5 1.5 0 0 0 2 2.5v11A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5v-11A1.5 1.5 0 0 0 12.5 1h-9Zm3 11h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1Z\",\"M6 1a3 3 0 0 0-3 3v16a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3H6Zm3 16h6a1 1 0 1 1 0 2H9a1 1 0 1 1 0-2Z\",\"M8 2a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H8Zm4 22h8a1 1 0 1 1 0 2h-8a1 1 0 1 1 0-2Z\"],[\"<path d='M4.5 9a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Z'></path><path d='M2.5 0A1.5 1.5 0 0 0 1 1.5v9A1.5 1.5 0 0 0 2.5 12h7a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 9.5 0h-7ZM2 1.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-9Z'></path>\",\"<path d='M6.5 12a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Z'></path><path d='M3.5 1A1.5 1.5 0 0 0 2 2.5v11A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5v-11A1.5 1.5 0 0 0 12.5 1h-9ZM3 2.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v11a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-11Z'></path>\",\"<path d='M9 17a1 1 0 1 0 0 2h6a1 1 0 1 0 0-2H9Z'></path><path d='M6 1a3 3 0 0 0-3 3v16a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3H6ZM5 4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V4Z'></path>\",\"<path d='M12 24a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2h-8Z'></path><path d='M8 2a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H8ZM7 5a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v22a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1V5Z'></path>\"]];","export default [[\"<path d='M.5 1a.5.5 0 0 0-.5.5v8A1.5 1.5 0 0 0 1.5 11h9A1.5 1.5 0 0 0 12 9.5v-4A1.5 1.5 0 0 0 10.5 4H5V1.5a.5.5 0 0 0-.5-.5h-4ZM1 5v4.5a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5H1Z'></path><path d='M6.5 2a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5Z'></path>\",\"<path d='M.5 2a.5.5 0 0 0-.5.5v10A1.5 1.5 0 0 0 1.5 14h12a1.5 1.5 0 0 0 1.5-1.5v-6A1.5 1.5 0 0 0 13.5 5H6V2.5a.5.5 0 0 0-.5-.5h-5ZM1 6v6.5a.5.5 0 0 0 .5.5h12a.5.5 0 0 0 .5-.5v-6a.5.5 0 0 0-.5-.5H1Z'></path><path d='M7 3.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5Zm3.5-.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Z'></path>\",\"<path d='M2 3a1 1 0 0 0-1 1v14a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3v-8a3 3 0 0 0-3-3H9V4a1 1 0 0 0-1-1H2Zm1 6v9a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-8a1 1 0 0 0-1-1H3Z'></path><path d='M11 5a1 1 0 0 1 1-1h2a1 1 0 1 1 0 2h-2a1 1 0 0 1-1-1Zm7-1a1 1 0 1 0 0 2h2a1 1 0 1 0 0-2h-2Z'></path>\",\"<path d='M3 4a1 1 0 0 0-1 1v21a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3V11a3 3 0 0 0-3-3H12V5a1 1 0 0 0-1-1H3Zm1 6v16a1 1 0 0 0 1 1h22a1 1 0 0 0 1-1V11a1 1 0 0 0-1-1H4Z'></path><path d='M14 6a1 1 0 0 1 1-1h3a1 1 0 1 1 0 2h-3a1 1 0 0 1-1-1Zm8-1a1 1 0 1 0 0 2h3a1 1 0 1 0 0-2h-3Z'></path>\"],[\"<path d='M.5 1a.5.5 0 0 0-.5.5v8A1.5 1.5 0 0 0 1.5 11h9A1.5 1.5 0 0 0 12 9.5v-4A1.5 1.5 0 0 0 10.5 4H5V1.5a.5.5 0 0 0-.5-.5h-4ZM4 4V2H1v2h3ZM1 5v4.5a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5H1Z'></path><path d='M6 2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5ZM9.5 2a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Z'></path>\",\"<path d='M.5 2a.5.5 0 0 0-.5.5v10A1.5 1.5 0 0 0 1.5 14h12a1.5 1.5 0 0 0 1.5-1.5v-6A1.5 1.5 0 0 0 13.5 5H6V2.5a.5.5 0 0 0-.5-.5h-5ZM5 5V3H1v2h4Zm-4 7.5a.5.5 0 0 0 .5.5h12a.5.5 0 0 0 .5-.5v-6a.5.5 0 0 0-.5-.5H1v6.5Z'></path><path d='M7 3.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5Zm3.5-.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1Z'></path>\",\"<path d='M2 3a1 1 0 0 0-1 1v14a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3v-8a3 3 0 0 0-3-3H9V4a1 1 0 0 0-1-1H2Zm5 4V5H3v2h4ZM3 9v9a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-8a1 1 0 0 0-1-1H3Z'></path><path d='M11 5a1 1 0 0 1 1-1h2a1 1 0 1 1 0 2h-2a1 1 0 0 1-1-1Zm7-1a1 1 0 1 0 0 2h2a1 1 0 1 0 0-2h-2Z'></path>\",\"<path d='M3 4a1 1 0 0 0-1 1v21a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3V11a3 3 0 0 0-3-3H12V5a1 1 0 0 0-1-1H3Zm7 4V6H4v2h6Zm-6 2v16a1 1 0 0 0 1 1h22a1 1 0 0 0 1-1V11a1 1 0 0 0-1-1H4Z'></path><path d='M14 6a1 1 0 0 1 1-1h3a1 1 0 1 1 0 2h-3a1 1 0 0 1-1-1Zm8-1a1 1 0 1 0 0 2h3a1 1 0 1 0 0-2h-3Z'></path>\"]];","export default [[\"M1 2.5A1.5 1.5 0 0 1 2.5 1h3.08a1.5 1.5 0 0 1 1.07.449l3.922 3.994a1.5 1.5 0 0 1-.01 2.111l-3.008 3.009a1.5 1.5 0 0 1-2.111.01L1.449 6.65A1.5 1.5 0 0 1 1 5.58V2.5ZM4 5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"M1 2.5A1.5 1.5 0 0 1 2.5 1h5.082a1.5 1.5 0 0 1 1.067.446l5.916 5.992a1.5 1.5 0 0 1-.007 2.114L9.556 14.56a1.5 1.5 0 0 1-2.115.007L1.446 8.65A1.5 1.5 0 0 1 1 7.582V2.5ZM5 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\",\"M2 5a3 3 0 0 1 3-3h6.173a3 3 0 0 1 2.119.877l7.827 7.811a3 3 0 0 1 .005 4.242l-6.174 6.19a3 3 0 0 1-4.246.002l-7.826-7.83A3 3 0 0 1 2 11.173V5Zm6 6a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z\",\"M2 5a3 3 0 0 1 3-3h9.172a3 3 0 0 1 2.12.879l11.826 11.825a3 3 0 0 1 .002 4.241l-9.156 9.17a3 3 0 0 1-4.243.003L2.881 16.294A3 3 0 0 1 2 14.17V5Zm7.5 8a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Z\"],[\"<path d='M4 5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v3.08c0 .403.162.789.449 1.07l3.994 3.922a1.5 1.5 0 0 0 2.111-.01l3.009-3.008a1.5 1.5 0 0 0 .01-2.111L6.65 1.449A1.5 1.5 0 0 0 5.58 1H2.5ZM2 2.5a.5.5 0 0 1 .5-.5h3.08a.5.5 0 0 1 .357.15L9.86 6.143a.5.5 0 0 1-.003.704l-3.01 3.009a.5.5 0 0 1-.704.003L2.15 5.937A.5.5 0 0 1 2 5.58V2.5Z'></path>\",\"<path d='M5 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm1-2a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path><path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v5.082c0 .401.16.786.446 1.067l5.995 5.918a1.5 1.5 0 0 0 2.115-.007l5.002-5.008a1.5 1.5 0 0 0 .007-2.114L8.649 1.446A1.5 1.5 0 0 0 7.582 1H2.5ZM2 2.5a.5.5 0 0 1 .5-.5h5.082a.5.5 0 0 1 .356.149l5.915 5.992a.5.5 0 0 1-.002.704l-5.002 5.008a.5.5 0 0 1-.705.003L2.149 7.938A.5.5 0 0 1 2 7.582V2.5Z'></path>\",\"<path d='M8 11a3 3 0 1 0 0-6 3 3 0 0 0 0 6ZM7 8a1 1 0 1 1 2 0 1 1 0 0 1-2 0Z'></path><path d='M5 2a3 3 0 0 0-3 3v6.172a3 3 0 0 0 .878 2.12l7.826 7.83a3 3 0 0 0 4.246-.002l6.174-6.19a3 3 0 0 0-.005-4.242l-7.827-7.811A3 3 0 0 0 11.172 2H5ZM4 5a1 1 0 0 1 1-1h6.173a1 1 0 0 1 .706.292l7.827 7.812a1 1 0 0 1 .002 1.414l-6.174 6.19a1 1 0 0 1-1.415 0l-7.826-7.83A1 1 0 0 1 4 11.173V5Z'></path>\",\"<path d='M9.5 13a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7ZM11 9.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z'></path><path d='M5 2a3 3 0 0 0-3 3v9.17a3 3 0 0 0 .88 2.124l11.841 11.824a3 3 0 0 0 4.243-.003l9.156-9.17a3 3 0 0 0-.002-4.241L16.293 2.879A3 3 0 0 0 14.172 2H5ZM4 5a1 1 0 0 1 1-1h9.172a1 1 0 0 1 .707.293l11.825 11.825a1 1 0 0 1 0 1.414l-9.155 9.17a1 1 0 0 1-1.415.001L4.294 14.878A1 1 0 0 1 4 14.171V5Z'></path>\"]];","export default [[\"M2.5 1A1.5 1.5 0 0 0 1 2.5v3.08c0 .403.162.789.449 1.07l3.994 3.922a1.5 1.5 0 0 0 2.111-.01l3.009-3.008a1.5 1.5 0 0 0 .01-2.111L6.65 1.449A1.5 1.5 0 0 0 5.58 1H2.5Zm5.854 4.646a.5.5 0 0 1 0 .708l-2 2a.5.5 0 1 1-.708-.708l2-2a.5.5 0 0 1 .708 0Zm-1.5-.792a.5.5 0 1 0-.708-.708l-2 2a.5.5 0 1 0 .708.708l2-2Z\",\"M1 2.5A1.5 1.5 0 0 1 2.5 1h5.082a1.5 1.5 0 0 1 1.067.446l5.916 5.992a1.5 1.5 0 0 1-.007 2.114L9.556 14.56a1.5 1.5 0 0 1-2.115.007L1.446 8.65A1.5 1.5 0 0 1 1 7.582V2.5Zm10.854 6.354a.5.5 0 0 0-.708-.708l-3 3a.5.5 0 0 0 .708.708l3-3Zm-1.5-2.208a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708l3-3a.5.5 0 0 1 .708 0Zm-1.5-.792a.5.5 0 1 0-.708-.708l-3 3a.5.5 0 1 0 .708.708l3-3Z\",\"M2 5a3 3 0 0 1 3-3h6.173a3 3 0 0 1 2.119.877l7.827 7.811a3 3 0 0 1 .005 4.242l-6.174 6.19a3 3 0 0 1-4.246.002l-7.826-7.83A3 3 0 0 1 2 11.173V5Zm14.707 8.707a1 1 0 0 0-1.414-1.414l-3 3a1 1 0 0 0 1.414 1.414l3-3Zm-2-3.414a1 1 0 0 1 0 1.414l-3 3a1 1 0 0 1-1.414-1.414l3-3a1 1 0 0 1 1.414 0Zm-2-.586a1 1 0 0 0-1.414-1.414l-3 3a1 1 0 1 0 1.414 1.414l3-3Z\",\"M2 5a3 3 0 0 1 3-3h9.172a3 3 0 0 1 2.12.879l11.826 11.825a3 3 0 0 1 .002 4.241l-9.156 9.17a3 3 0 0 1-4.243.003L2.881 16.294A3 3 0 0 1 2 14.17V5Zm20.707 12.707a1 1 0 0 0-1.414-1.414l-5 5a1 1 0 0 0 1.414 1.414l5-5Zm-2.5-3.914a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414-1.414l5-5a1 1 0 0 1 1.414 0Zm-2.5-1.086a1 1 0 0 0-1.414-1.414l-5 5a1 1 0 0 0 1.414 1.414l5-5Z\"],[\"<path d='M8.354 5.646a.5.5 0 0 1 0 .708l-2 2a.5.5 0 1 1-.708-.708l2-2a.5.5 0 0 1 .708 0Zm-1.5-.792a.5.5 0 1 0-.708-.708l-2 2a.5.5 0 1 0 .708.708l2-2Z'></path><path d='M1 2.5A1.5 1.5 0 0 1 2.5 1h3.08a1.5 1.5 0 0 1 1.07.449l3.922 3.994a1.5 1.5 0 0 1-.01 2.111l-3.008 3.009a1.5 1.5 0 0 1-2.111.01L1.449 6.65A1.5 1.5 0 0 1 1 5.58V2.5ZM2.5 2a.5.5 0 0 0-.5.5v3.08a.5.5 0 0 0 .15.357L6.143 9.86a.5.5 0 0 0 .704-.003l3.009-3.009a.5.5 0 0 0 .003-.704L5.937 2.15A.5.5 0 0 0 5.58 2H2.5Z'></path>\",\"<path d='M11.854 8.854a.5.5 0 0 0-.708-.708l-3 3a.5.5 0 0 0 .708.708l3-3Zm-1.5-2.208a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708l3-3a.5.5 0 0 1 .708 0Zm-1.5-.792a.5.5 0 1 0-.708-.708l-3 3a.5.5 0 1 0 .708.708l3-3Z'></path><path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v5.082c0 .401.16.786.446 1.067l5.995 5.918a1.5 1.5 0 0 0 2.115-.007l5.002-5.008a1.5 1.5 0 0 0 .007-2.114L8.649 1.446A1.5 1.5 0 0 0 7.582 1H2.5ZM2 2.5a.5.5 0 0 1 .5-.5h5.082a.5.5 0 0 1 .356.149l5.915 5.992a.5.5 0 0 1-.002.704l-5.002 5.008a.5.5 0 0 1-.705.003L2.149 7.938A.5.5 0 0 1 2 7.582V2.5Z'></path>\",\"<path d='M16.707 13.707a1 1 0 0 0-1.414-1.414l-3 3a1 1 0 0 0 1.414 1.414l3-3Zm-2-3.414a1 1 0 0 1 0 1.414l-3 3a1 1 0 0 1-1.414-1.414l3-3a1 1 0 0 1 1.414 0Zm-2-.586a1 1 0 0 0-1.414-1.414l-3 3a1 1 0 1 0 1.414 1.414l3-3Z'></path><path d='M5 2a3 3 0 0 0-3 3v6.172a3 3 0 0 0 .878 2.12l7.826 7.83a3 3 0 0 0 4.246-.002l6.174-6.19a3 3 0 0 0-.005-4.242l-7.827-7.811A3 3 0 0 0 11.172 2H5ZM4 5a1 1 0 0 1 1-1h6.173a1 1 0 0 1 .706.292l7.827 7.812a1 1 0 0 1 .002 1.414l-6.174 6.19a1 1 0 0 1-1.415 0l-7.826-7.83A1 1 0 0 1 4 11.173V5Z'></path>\",\"<path d='M22.707 17.707a1 1 0 0 0-1.414-1.414l-5 5a1 1 0 0 0 1.414 1.414l5-5Zm-2.5-3.914a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414-1.414l5-5a1 1 0 0 1 1.414 0Zm-2.5-1.086a1 1 0 0 0-1.414-1.414l-5 5a1 1 0 0 0 1.414 1.414l5-5Z'></path><path d='M5 2a3 3 0 0 0-3 3v9.17a3 3 0 0 0 .88 2.124l11.841 11.824a3 3 0 0 0 4.243-.003l9.156-9.17a3 3 0 0 0-.002-4.241L16.293 2.879A3 3 0 0 0 14.172 2H5ZM4 5a1 1 0 0 1 1-1h9.172a1 1 0 0 1 .707.293l11.825 11.825a1 1 0 0 1 0 1.414l-9.155 9.17a1 1 0 0 1-1.415.001L4.294 14.878A1 1 0 0 1 4 14.171V5Z'></path>\"]];","export default [[\"M1 2.5A1.5 1.5 0 0 1 2.5 1h3.08a1.5 1.5 0 0 1 1.07.449l3.922 3.994a1.5 1.5 0 0 1-.01 2.111l-3.008 3.009a1.5 1.5 0 0 1-2.111.01L1.449 6.65A1.5 1.5 0 0 1 1 5.58V2.5ZM6 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"M1 2.5A1.5 1.5 0 0 1 2.5 1h5.082a1.5 1.5 0 0 1 1.067.446l5.916 5.992a1.5 1.5 0 0 1-.007 2.114L9.556 14.56a1.5 1.5 0 0 1-2.115.007L1.446 8.65A1.5 1.5 0 0 1 1 7.582V2.5ZM8 10a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\",\"M2 5a3 3 0 0 1 3-3h6.173a3 3 0 0 1 2.119.877l7.827 7.811a3 3 0 0 1 .005 4.242l-6.174 6.19a3 3 0 0 1-4.246.002l-7.826-7.83A3 3 0 0 1 2 11.173V5Zm10 10a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z\",\"M2 5a3 3 0 0 1 3-3h9.172a3 3 0 0 1 2.12.879l11.826 11.825a3 3 0 0 1 .002 4.241l-9.156 9.17a3 3 0 0 1-4.243.003L2.881 16.294A3 3 0 0 1 2 14.17V5Zm13 15a5 5 0 1 0 0-10 5 5 0 0 0 0 10Z\"],[\"<path d='M6 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v3.08c0 .403.162.789.449 1.07l3.994 3.922a1.5 1.5 0 0 0 2.111-.01l3.009-3.008a1.5 1.5 0 0 0 .01-2.111L6.65 1.449A1.5 1.5 0 0 0 5.58 1H2.5ZM2 2.5a.5.5 0 0 1 .5-.5h3.08a.5.5 0 0 1 .357.15L9.86 6.143a.5.5 0 0 1-.003.704l-3.01 3.009a.5.5 0 0 1-.704.003L2.15 5.937A.5.5 0 0 1 2 5.58V2.5Z'></path>\",\"<path d='M8 10a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z'></path><path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v5.082c0 .401.16.786.446 1.067l5.995 5.918a1.5 1.5 0 0 0 2.115-.007l5.002-5.008a1.5 1.5 0 0 0 .007-2.114L8.649 1.446A1.5 1.5 0 0 0 7.582 1H2.5ZM2 2.5a.5.5 0 0 1 .5-.5h5.082a.5.5 0 0 1 .356.149l5.915 5.992a.5.5 0 0 1-.002.704l-5.002 5.008a.5.5 0 0 1-.705.003L2.149 7.938A.5.5 0 0 1 2 7.582V2.5Z'></path>\",\"<path d='M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z'></path><path d='M5 2a3 3 0 0 0-3 3v6.172a3 3 0 0 0 .878 2.12l7.826 7.83a3 3 0 0 0 4.246-.002l6.174-6.19a3 3 0 0 0-.005-4.242l-7.827-7.811A3 3 0 0 0 11.172 2H5ZM4 5a1 1 0 0 1 1-1h6.173a1 1 0 0 1 .706.292l7.827 7.812a1 1 0 0 1 .002 1.414l-6.174 6.19a1 1 0 0 1-1.415 0l-7.826-7.83A1 1 0 0 1 4 11.173V5Z'></path>\",\"<path d='M15 20a5 5 0 1 0 0-10 5 5 0 0 0 0 10Z'></path><path d='M5 2a3 3 0 0 0-3 3v9.17a3 3 0 0 0 .88 2.124l11.841 11.824a3 3 0 0 0 4.243-.003l9.156-9.17a3 3 0 0 0-.002-4.241L16.293 2.879A3 3 0 0 0 14.172 2H5ZM4 5a1 1 0 0 1 1-1h9.172a1 1 0 0 1 .707.293l11.825 11.825a1 1 0 0 1 0 1.414l-9.155 9.17a1 1 0 0 1-1.415.001L4.294 14.878A1 1 0 0 1 4 14.171V5Z'></path>\"]];","export default [[\"M1 5.586V3a2 2 0 0 1 2-2h2.586A2 2 0 0 1 7 1.586l.058.058a2 2 0 0 1 .822.26l3.062 1.768a2 2 0 0 1 .732 2.732L9.845 9.571a2 2 0 0 1-2.732.732l-.73-.422A2 2 0 0 1 4.086 9.5L1.586 7A2 2 0 0 1 1 5.586Zm9.442-1.048-1.158-.669.216.217a2 2 0 0 1 0 2.828l-2.29 2.29.403.233a1 1 0 0 0 1.366-.366l1.829-3.167a1 1 0 0 0-.366-1.366ZM4 5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"M1 7.586V4a2 2 0 0 1 2-2h3.586A2 2 0 0 1 8 2.586l.16.16a2 2 0 0 1 .904.265l4.9 2.829a2 2 0 0 1 .731 2.732l-2.535 4.392a2 2 0 0 1-2.732.732l-1.086-.627A2 2 0 0 1 5.586 13l-4-4A2 2 0 0 1 1 7.586Zm12.463-.88L10.285 4.87 12 6.586a2 2 0 0 1 0 2.828l-2.924 2.924.852.492a1 1 0 0 0 1.366-.367l2.535-4.391a1 1 0 0 0-.366-1.366ZM5 4a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z\",\"M1 6a3 3 0 0 1 3-3h6.172a3 3 0 0 1 2.12.879l.873.871 7.773 2.083a3 3 0 0 1 2.122 3.675l-2.26 8.43a3 3 0 0 1-3.674 2.121l-4.552-1.22-.453.454a3 3 0 0 1-4.242 0l-6-6A3 3 0 0 1 1 12.172V6Zm17.293 8.121-4.085 4.086 3.436.92a1 1 0 0 0 1.225-.707l2.259-8.43a1 1 0 0 0-.707-1.225L15.993 7.58l2.3 2.3a3 3 0 0 1 0 4.242ZM7 12a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z\",\"M2.07 7.183a3 3 0 0 1 3-3h8.172a3 3 0 0 1 2.121.879l1.04 1.04 10.942 2.931a3 3 0 0 1 2.107 3.726l-2.922 10.18a3 3 0 0 1-3.66 2.07l-4.11-1.1-2.568 2.567a3 3 0 0 1-4.243 0l-9-9a3 3 0 0 1-.879-2.121V7.183Zm22.293 11.121-3.97 3.972 2.994.802a1 1 0 0 0 1.22-.69l2.923-10.18a1 1 0 0 0-.703-1.243L19.231 8.93l5.132 5.132a3 3 0 0 1 0 4.242ZM9.5 15a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Z\"],[\"<path d='M4 5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M1 5.586V3a2 2 0 0 1 2-2h2.586A2 2 0 0 1 7 1.586l.058.058a2 2 0 0 1 .822.26l3.062 1.768a2 2 0 0 1 .732 2.732L9.845 9.571a2 2 0 0 1-2.732.732l-.73-.422A2 2 0 0 1 4.086 9.5L1.586 7A2 2 0 0 1 1 5.586Zm8.5-1.5-.217-.217 1.159.669a1 1 0 0 1 .366 1.366L8.979 9.071a1 1 0 0 1-1.366.366l-.403-.233 2.29-2.29a2 2 0 0 0 0-2.828ZM6.207 8.793a1 1 0 0 1-1.414 0l-2.5-2.5A1 1 0 0 1 2 5.586V3a1 1 0 0 1 1-1h2.586a1 1 0 0 1 .707.293l2.5 2.5a1 1 0 0 1 0 1.414L6.207 8.793Z'></path>\",\"M1 4v3.586A2 2 0 0 0 1.586 9l4 4a2 2 0 0 0 2.756.069l1.086.627a2 2 0 0 0 2.732-.732l2.535-4.392a2 2 0 0 0-.732-2.732L9.064 3.01a2 2 0 0 0-.904-.265L8 2.586A2 2 0 0 0 6.586 2H3a2 2 0 0 0-2 2Zm5.586-1a1 1 0 0 1 .707.293l4 4a1 1 0 0 1 0 1.414l-3.586 3.586a.999.999 0 0 1-1.414 0l-4-4A1 1 0 0 1 2 7.586V4a1 1 0 0 1 1-1h3.586Zm2.49 9.338L12 9.414a2 2 0 0 0 0-2.828L10.285 4.87l3.178 1.835a1 1 0 0 1 .366 1.366l-2.535 4.392a1 1 0 0 1-1.366.365l-.852-.491ZM4 6a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm1-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z\",\"<path d='M7 12a3 3 0 1 0 0-6 3 3 0 0 0 0 6ZM6 9a1 1 0 1 1 2 0 1 1 0 0 1-2 0Z'></path><path d='M1 6a3 3 0 0 1 3-3h6.172a3 3 0 0 1 2.12.879l.873.871 7.773 2.083a3 3 0 0 1 2.122 3.675l-2.26 8.43a3 3 0 0 1-3.674 2.121l-4.552-1.22-.453.454a3 3 0 0 1-4.242 0l-6-6A3 3 0 0 1 1 12.172V6Zm3-1a1 1 0 0 0-1 1v6.172a1 1 0 0 0 .293.707l6 6a1 1 0 0 0 1.414 0l6.172-6.172a1 1 0 0 0 0-1.414l-6-6A1 1 0 0 0 10.172 5H4Zm14.293 4.879-2.3-2.3 4.428 1.186a1 1 0 0 1 .707 1.225l-2.26 8.43a1 1 0 0 1-1.224.707l-3.436-.92 4.085-4.086a3 3 0 0 0 0-4.242Z'></path>\",\"<path d='M9.5 15a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm1.5-3.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z'></path><path d='M2.07 7.183a3 3 0 0 1 3-3h8.172a3 3 0 0 1 2.121.879l1.04 1.04 10.942 2.931a3 3 0 0 1 2.107 3.726l-2.923 10.18a3 3 0 0 1-3.66 2.071l-4.11-1.101-2.567 2.567a3 3 0 0 1-4.243 0l-9-9a3 3 0 0 1-.879-2.121V7.183Zm3-1a1 1 0 0 0-1 1v8.172a1 1 0 0 0 .293.707l9 9a1 1 0 0 0 1.414 0l8.172-8.172a1 1 0 0 0 0-1.414l-9-9a1 1 0 0 0-.707-.293H5.07Zm19.293 7.879L19.232 8.93l7.595 2.035a1 1 0 0 1 .703 1.242l-2.923 10.181a1 1 0 0 1-1.22.69l-2.995-.802 3.971-3.972a3 3 0 0 0 0-4.242Z'></path>\"]];","export default [[\"M5 10.5a.5.5 0 0 0 1 0v-.527A4.502 4.502 0 0 0 9.973 6h.527a.5.5 0 0 0 0-1h-.527A4.502 4.502 0 0 0 6 1.027V.5a.5.5 0 0 0-1 0v.527A4.502 4.502 0 0 0 1.027 5H.5a.5.5 0 0 0 0 1h.527A4.502 4.502 0 0 0 5 9.973v.527Zm1-1.535A3.502 3.502 0 0 0 8.965 6H6v2.965ZM5 6v2.965A3.502 3.502 0 0 1 2.035 6H5Zm1-1h2.965A3.502 3.502 0 0 0 6 2.035V5ZM5 2.035V5H2.035A3.502 3.502 0 0 1 5 2.035Z\",\"M7 14.5a.5.5 0 0 0 1 0v-1.522A5.502 5.502 0 0 0 12.978 8H14.5a.5.5 0 0 0 0-1h-1.522A5.502 5.502 0 0 0 8 2.022V.5a.5.5 0 0 0-1 0v1.522A5.502 5.502 0 0 0 2.022 7H.5a.5.5 0 0 0 0 1h1.522A5.502 5.502 0 0 0 7 12.978V14.5Zm1-2.527A4.502 4.502 0 0 0 11.973 8H8v3.973ZM7 8v3.973A4.502 4.502 0 0 1 3.027 8H7Zm1-1h3.973A4.502 4.502 0 0 0 8 3.027V7ZM7 3.027V7H3.027A4.502 4.502 0 0 1 7 3.027Z\",\"M11 22a1 1 0 1 0 2 0v-1.055A9.004 9.004 0 0 0 20.945 13H22a1 1 0 1 0 0-2h-1.055A9.004 9.004 0 0 0 13 3.055V2a1 1 0 1 0-2 0v1.055A9.004 9.004 0 0 0 3.055 11H2a1 1 0 1 0 0 2h1.055A9.004 9.004 0 0 0 11 20.945V22Zm2-3.07A7.004 7.004 0 0 0 18.93 13H13v5.93ZM11 13v5.93A7.004 7.004 0 0 1 5.07 13H11Zm2-2h5.93A7.004 7.004 0 0 0 13 5.07V11Zm-2-5.93V11H5.07A7.005 7.005 0 0 1 11 5.07Z\",\"M15 29a1 1 0 1 0 2 0v-2.045A11.003 11.003 0 0 0 26.955 17H29a1 1 0 1 0 0-2h-2.045A11.003 11.003 0 0 0 17 5.045V3a1 1 0 1 0-2 0v2.045A11.003 11.003 0 0 0 5.045 15H3a1 1 0 1 0 0 2h2.045A11.003 11.003 0 0 0 15 26.955V29Zm2-4.055A9.004 9.004 0 0 0 24.945 17H17v7.945ZM15 17v7.945A9.004 9.004 0 0 1 7.055 17H15Zm2-2h7.945A9.004 9.004 0 0 0 17 7.055V15Zm-2-7.945V15H7.055A9.004 9.004 0 0 1 15 7.055Z\"]];","export default [[\"M1.5 2a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Zm0 2a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6ZM1 6.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 0 1h-8a.5.5 0 0 1-.5-.5ZM1.5 8a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5Z\",\"M1.5 3a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1h-13Zm0 3a.5.5 0 0 0 0 1h10a.5.5 0 0 0 0-1h-10ZM1 9.5a.5.5 0 0 1 .5-.5h12a.5.5 0 0 1 0 1h-12a.5.5 0 0 1-.5-.5Zm.5 2.5a.5.5 0 0 0 0 1h8a.5.5 0 0 0 0-1h-8Z\",\"M3 3a1 1 0 0 0 0 2h18a1 1 0 1 0 0-2H3Zm0 5a1 1 0 0 0 0 2h14a1 1 0 1 0 0-2H3Zm-1 6a1 1 0 0 1 1-1h17a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm1 4a1 1 0 1 0 0 2h11a1 1 0 1 0 0-2H3Z\",\"M4 6a1 1 0 0 0 0 2h23a1 1 0 1 0 0-2H4Zm0 6a1 1 0 1 0 0 2h18a1 1 0 1 0 0-2H4Zm-1 7a1 1 0 0 1 1-1h22a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1Zm1 5a1 1 0 1 0 0 2h15a1 1 0 1 0 0-2H4Z\"]];","export default [[\"M5.873.998a3.126 3.126 0 0 1 2.868 4.374 3.126 3.126 0 0 1-1.87 5.631H2V1L5.873.998Zm0 3.752a.626.626 0 0 0 0-1.252H4.5v1.253h1.374ZM4.5 7.25v1.253h2.37a.626.626 0 0 0 0-1.252H4.5Z\",\"M4 1.996h4.249a3.751 3.751 0 0 1 3.389 5.361A3.751 3.751 0 0 1 9.249 14H4V1.996Zm4.249 4.502a.751.751 0 1 0 0-1.502H7v1.502h1.249ZM7 9.498h2.249a.751.751 0 1 1 0 1.502H7V9.498Z\",\"M5 3h7.5a5.5 5.5 0 0 1 4.671 8.404A5.5 5.5 0 0 1 13.5 21H5V3Zm7.503 11H9v2.999h4.5a1.5 1.5 0 1 0 0-3h-.997ZM9 10h3.5a1.5 1.5 0 1 0 0-3H9v3Z\",\"M7 4h10a7 7 0 0 1 5.35 11.515A7 7 0 0 1 18 28H7V4Zm10 10a3 3 0 1 0 0-6h-6v6h6Zm-6 4h7a3 3 0 1 1 0 6h-7v-6Z\"]];","export default [[\"M1.5 2a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Zm0 2a.5.5 0 0 0 0 1h5.002l.301-.301A2.39 2.39 0 0 1 7.8 4.1a.498.498 0 0 0-.3-.1h-6Zm0 2h4.002l-.801.801c-.064.064-.123.13-.178.199H1.5a.5.5 0 0 1 0-1Zm0 2h2.55c-.07.33-.07.67 0 1H1.5a.5.5 0 0 1 0-1Zm7.99-2.592a1.4 1.4 0 0 0-1.98 0L5.408 7.51a1.4 1.4 0 0 0 0 1.98l2.102 2.102a1.4 1.4 0 0 0 1.98 0l2.102-2.102a1.4 1.4 0 0 0 0-1.98L9.49 5.408Zm-1.273.707a.4.4 0 0 1 .566 0l2.102 2.102a.4.4 0 0 1 0 .566l-2.102 2.102a.4.4 0 0 1-.566 0L6.115 8.783a.4.4 0 0 1 0-.566l2.102-2.102Z\",\"M1.5 3a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1h-13Zm0 3a.5.5 0 0 0 0 1h8.004l.3-.3a2.391 2.391 0 0 1 1.593-.7H1.5Zm0 3h6.004l-.803.803a2.427 2.427 0 0 0-.177.197H1.5a.5.5 0 0 1 0-1Zm0 3h4.55c.076.357.234.7.474 1H1.5a.5.5 0 0 1 0-1Zm5.908.49a1.4 1.4 0 0 1 0-1.98l3.102-3.102a1.4 1.4 0 0 1 1.98 0l3.102 3.102a1.4 1.4 0 0 1 0 1.98l-3.102 3.102a1.4 1.4 0 0 1-1.98 0L7.408 12.49Zm.707-1.273a.4.4 0 0 0 0 .566l3.102 3.102a.4.4 0 0 0 .566 0l3.102-3.102a.4.4 0 0 0 0-.566l-3.102-3.102a.4.4 0 0 0-.566 0l-3.102 3.102Z\",\"M3 3a1 1 0 0 0 0 2h18a1 1 0 1 0 0-2H3Zm0 5a1 1 0 0 0 0 2h9.774l.43-.43A5.381 5.381 0 0 1 16.796 8H3Zm0 5h6.763l-.178.177A5.382 5.382 0 0 0 8.381 15H3a1 1 0 1 1 0-2Zm0 5h5.09a5.37 5.37 0 0 0 .815 2H3a1 1 0 1 1 0-2Zm16.423 5.03a3.4 3.4 0 0 1-4.816.001l-3.617-3.628a3.4 3.4 0 0 1 .007-4.809l3.62-3.606a3.4 3.4 0 0 1 4.8 0l3.615 3.604a3.4 3.4 0 0 1 .009 4.808l-3.618 3.63Zm-3.4-1.41a1.4 1.4 0 0 0 1.983-.001l3.618-3.63a1.4 1.4 0 0 0-.004-1.98l-3.615-3.605a1.4 1.4 0 0 0-1.977 0l-3.619 3.607a1.4 1.4 0 0 0-.003 1.98l3.617 3.628Z\",\"M4 6a1 1 0 0 0 0 2h23a1 1 0 1 0 0-2H4Zm0 6a1 1 0 1 0 0 2h12.743l1.447-1.443c.207-.206.426-.391.656-.557H4Zm0 6h8.729l-.147.147A5.38 5.38 0 0 0 11.365 20H4a1 1 0 1 1 0-2Zm0 6h7.387a5.384 5.384 0 0 0 1.182 1.784l.215.216H4a1 1 0 1 1 0-2Zm20.408 5.995a3.4 3.4 0 0 1-4.816.001l-5.606-5.623a3.4 3.4 0 0 1 .008-4.81l5.608-5.589a3.4 3.4 0 0 1 4.8 0l5.605 5.587a3.4 3.4 0 0 1 .008 4.808l-5.607 5.626Zm-3.4-1.411a1.4 1.4 0 0 0 1.984 0l5.606-5.627a1.4 1.4 0 0 0-.003-1.98l-5.604-5.586a1.4 1.4 0 0 0-1.977 0l-5.609 5.59a1.4 1.4 0 0 0-.003 1.98l5.606 5.623Z\"]];","export default [[\"M1 1.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Zm4 2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5ZM5.5 5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5ZM5 7.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5ZM1.5 9a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9ZM1 4a.5.5 0 0 1 .8-.4l2 1.5a.5.5 0 0 1 0 .8l-2 1.5A.5.5 0 0 1 1 7V4Z\",\"M2 3.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5Zm4 2a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5ZM6.5 7a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7ZM6 9.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5ZM2.5 11a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1h-11ZM2 6a.5.5 0 0 1 .8-.4l2 1.5a.5.5 0 0 1 0 .8l-2 1.5A.5.5 0 0 1 2 9V6Z\",\"M2 4a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm0 16a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm7-5a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2H9Zm-1-3a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1Zm1-5a1 1 0 0 0 0 2h12a1 1 0 1 0 0-2H9ZM2 9.5a.5.5 0 0 1 .82-.384l3 2.5a.5.5 0 0 1 0 .768l-3 2.5A.5.5 0 0 1 2 14.5v-5Z\",\"M2 6a1 1 0 0 1 1-1h26a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm8 5a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H11a1 1 0 0 1-1-1Zm1 4a1 1 0 1 0 0 2h18a1 1 0 1 0 0-2H11Zm-1 6a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H11a1 1 0 0 1-1-1Zm-7 4a1 1 0 1 0 0 2h26a1 1 0 1 0 0-2H3ZM2 12.5a.5.5 0 0 1 .787-.41l5 3.5a.5.5 0 0 1 0 .82l-5 3.5A.5.5 0 0 1 2 19.5v-7Z\"]];","export default [[\"M4 1h6v2H8.053l-2 6H8v2H2V9h1.945l2-6H4V1Z\",\"M6 2h7v2h-2.431l-3 8H10v2H3v-2h2.432l3-8H6V2Z\",\"M18 3H9v3h2.954l-3 12H6v3h9v-3h-2.953l3-12H18V3Z\",\"M24 4H12v3h4.27l-3.6 18H8v3h12v-3h-4.27l3.6-18H24V4Z\"]];","export default [[\"M9 1H1v2h3v8h2V3h3V1Zm.5 6a.5.5 0 0 1 .5.5V9h1.5a.5.5 0 0 1 0 1H10v1.5a.5.5 0 0 1-1 0V10H7.5a.5.5 0 0 1 0-1H9V7.5a.5.5 0 0 1 .5-.5Z\",\"M11 2H1v2h4v9h2V4h4V2Zm.5 6a.5.5 0 0 1 .5.5V11h2.5a.5.5 0 0 1 0 1H12v2.5a.5.5 0 0 1-1 0V12H8.5a.5.5 0 0 1 0-1H11V8.5a.5.5 0 0 1 .5-.5Z\",\"M17 3H2v3h6v14h3V6h6V3Zm1 10a1 1 0 0 1 1 1v3h3a1 1 0 1 1 0 2h-3v3a1 1 0 1 1-2 0v-3h-3a1 1 0 1 1 0-2h3v-3a1 1 0 0 1 1-1Z\",\"M23 4H4v3h8v19h3V7h8V4Zm1 14a1 1 0 0 1 1 1v4h4a1 1 0 1 1 0 2h-4v4a1 1 0 1 1-2 0v-4h-4a1 1 0 1 1 0-2h4v-4a1 1 0 0 1 1-1Z\"]];","export default [[\"M1 1v2h2.847l-.856 6h2.02l.856-6H9V1H1Zm0 9h6v1H1v-1Zm7.854-1.854a.5.5 0 1 0-.708.708L9.293 10l-1.147 1.146a.5.5 0 0 0 .708.708L10 10.707l1.146 1.147a.5.5 0 0 0 .708-.708L10.707 10l1.147-1.146a.5.5 0 0 0-.708-.708L10 9.293 8.854 8.146Z\",\"M2 2h9v2H7.513l-1.476 8H4.003L5.48 4H2V2Zm12.854 8.854a.5.5 0 0 0-.708-.707L12.5 11.793l-1.646-1.646a.5.5 0 0 0-.708.707l1.647 1.646-1.647 1.646a.5.5 0 0 0 .708.708l1.646-1.647 1.646 1.647a.5.5 0 0 0 .708-.707L13.207 12.5l1.647-1.646ZM1 13h8v1H1v-1Z\",\"M16 3v3h-5.16L9.015 17h-3.04L7.797 6H3V3h13Zm6.707 13.707a1 1 0 0 0-1.414-1.414L19 17.586l-2.293-2.293a1 1 0 1 0-1.414 1.414L17.586 19l-2.293 2.293a1 1 0 0 0 1.414 1.414L19 20.414l2.293 2.293a1 1 0 0 0 1.414-1.414L20.414 19l2.293-2.293ZM1 19h13v2H1v-2Z\",\"M5 4h17v3h-7.23l-2.833 17H8.896l2.833-17H5V4Zm24.707 17.707a1 1 0 0 0-1.414-1.414L25 23.586l-3.293-3.293a1 1 0 0 0-1.414 1.414L23.586 25l-3.293 3.293a1 1 0 0 0 1.414 1.414L25 26.414l3.293 3.293a1 1 0 0 0 1.414-1.414L26.414 25l3.293-3.293ZM2 26h17v2H2v-2Z\"]];","export default [[\"M1 1h10v3H9V3H7v6h1v2H4V9h1V3H3v1H1V1Z\",\"M2 2h12v3h-2V4H9v8h2v2H5v-2h2V4H4v1H2V2Z\",\"M3 3h17v5h-3V6h-4v12h3v3H7v-3h3V6H6v2H3V3Z\",\"M5 4h21v5h-3V7h-6v18h3v3h-9v-3h3V7H8v2H5V4Z\"]];","export default [[\"M1 11h10v1H1v-1ZM4 1v5a2 2 0 1 0 4 0V1h2v5a4 4 0 1 1-8 0V1h2Z\",\"M2 14h12v1H2v-1ZM5 2v6a3 3 0 0 0 6 0V2h2v6A5 5 0 0 1 3 8V2h2Z\",\"M3 21h18v2H3v-2ZM8 3v9a4 4 0 0 0 8 0V3h3v9a7 7 0 1 1-14 0V3h3Z\",\"M10 4v13a6 6 0 0 0 12 0V4h3v13a9 9 0 1 1-18 0V4h3ZM5 28h22v2H5v-2Z\"]];","export default [[\"M1 1.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Zm4 2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5ZM5.5 5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5ZM5 7.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5ZM1.5 9a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9ZM4 4a.5.5 0 0 0-.8-.4l-2 1.5a.5.5 0 0 0 0 .8l2 1.5A.5.5 0 0 0 4 7V4Z\",\"M2 3.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5Zm4 2a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5ZM6.5 7a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7ZM6 9.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5ZM2.5 11a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1h-11ZM5 6a.5.5 0 0 0-.8-.4l-2 1.5a.5.5 0 0 0 0 .8l2 1.5A.5.5 0 0 0 5 9V6Z\",\"M2 4a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm0 16a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm7-5a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2H9Zm-1-3a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1Zm1-5a1 1 0 0 0 0 2h12a1 1 0 1 0 0-2H9ZM6 9.5a.5.5 0 0 0-.82-.384l-3 2.5a.5.5 0 0 0 0 .768l3 2.5A.5.5 0 0 0 6 14.5v-5Z\",\"M2 6a1 1 0 0 1 1-1h26a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm8 5a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H11a1 1 0 0 1-1-1Zm1 4a1 1 0 1 0 0 2h18a1 1 0 1 0 0-2H11Zm-1 6a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H11a1 1 0 0 1-1-1Zm-7 4a1 1 0 1 0 0 2h26a1 1 0 1 0 0-2H3Zm5-12.5a.5.5 0 0 0-.787-.41l-5 3.5a.5.5 0 0 0 0 .82l5 3.5A.5.5 0 0 0 8 19.5v-7Z\"]];","export default [[\"M1.5 2a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Zm0 2a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Zm0 2a.5.5 0 0 0 0 1H4V6H1.5ZM4 8H1.5a.5.5 0 0 0 0 1H4V8Zm3.75-1a.25.25 0 0 1 .25.25V11a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V7.25A.25.25 0 0 1 5.25 7h.5a.25.25 0 0 1 .25.25v3.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-3.5A.25.25 0 0 1 7.25 7h.5Zm1.5 0a.25.25 0 0 0-.25.25v4.5c0 .138.112.25.25.25h2.5a.25.25 0 0 0 .25-.25v-4.5a.25.25 0 0 0-.25-.25h-2.5ZM11 11h-1v-1h1v1Zm-1-3h1v1h-1V8Z\",\"M1.5 3a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1h-13Zm0 3a.5.5 0 0 0 0 1h10a.5.5 0 0 0 0-1h-10ZM1 9.5a.5.5 0 0 1 .5-.5h12a.5.5 0 0 1 0 1h-12a.5.5 0 0 1-.5-.5Zm.5 2.5a.5.5 0 0 0 0 1H8v-1H1.5Zm10.25-1a.25.25 0 0 1 .25.25V15a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-3.75a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v3.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 1 .25-.25h.5Zm1.75 0a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-2Zm.5 4v-1h1v1h-1Zm1-3v1h-1v-1h1Z\",\"M3 2a1 1 0 0 0 0 2h18a1 1 0 1 0 0-2H3Zm0 5a1 1 0 0 0 0 2h14a1 1 0 1 0 0-2H3Zm-1 6a1 1 0 0 1 1-1h17a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm1 4h8v2H3a1 1 0 1 1 0-2Zm14.75-1a.25.25 0 0 1 .25.25V22a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-5.75a.25.25 0 0 1 .25-.25h1.5a.25.25 0 0 1 .25.25v5.5c0 .138.112.25.25.25H16v-5.75a.25.25 0 0 1 .25-.25h1.5ZM19 17a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-3a1 1 0 0 1-1-1v-6Zm3 1h-1v1h1v-1Zm0 3h-1v1h1v-1Z\",\"M3 7a1 1 0 0 1 1-1h23a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1Zm0 6a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1Zm0 6a1 1 0 0 1 1-1h22a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1Zm0 6a1 1 0 0 1 1-1h14v2H4a1 1 0 0 1-1-1Zm21.75-2a.25.25 0 0 1 .25.25V29a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-5.75a.25.25 0 0 1 .25-.25h1.5a.25.25 0 0 1 .25.25v5.5c0 .138.112.25.25.25H23v-5.75a.25.25 0 0 1 .25-.25h1.5ZM26 24a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-3a1 1 0 0 1-1-1v-6Zm3 1h-1v1h1v-1Zm0 3h-1v1h1v-1Z\"]];","export default [[\"<path d='M1.5 2a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9Zm0 2a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Zm3.585 2H1.5a.5.5 0 0 0 0 1h3.585a1.506 1.506 0 0 1 0-1Zm1.294 2.5-.5-.5H1.5a.5.5 0 0 0 0 1h4.379l.5-.5Z'></path><path d='M6.146 6.146a.5.5 0 0 0 0 .708L7.793 8.5l-1.647 1.646a.5.5 0 1 0 .708.708L8.5 9.207l1.646 1.647a.5.5 0 0 0 .708-.708L9.207 8.5l1.647-1.646a.5.5 0 0 0-.707-.708L8.5 7.793 6.854 6.146a.5.5 0 0 0-.708 0Z'></path>\",\"<path d='M1.5 3a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1h-13Zm0 3a.5.5 0 0 0 0 1h10a.5.5 0 0 0 0-1h-10ZM1 9.5a.5.5 0 0 1 .5-.5h6.585a1.506 1.506 0 0 0 0 1H1.5a.5.5 0 0 1-.5-.5ZM8.879 13l.909-.909A.498.498 0 0 0 9.5 12h-8a.5.5 0 0 0 0 1h7.379Z'></path><path d='m12 11.293 2.146-2.147a.5.5 0 0 1 .708.708L12.707 12l2.147 2.146a.5.5 0 0 1-.708.708L12 12.707l-2.146 2.147a.5.5 0 0 1-.708-.708L11.293 12 9.146 9.854a.5.5 0 1 1 .708-.708L12 11.293Z'></path>\",\"M3 3a1 1 0 0 0 0 2h18a1 1 0 1 0 0-2H3Zm0 5a1 1 0 0 0 0 2h14a1 1 0 1 0 0-2H3Zm-1 6a1 1 0 0 1 1-1h8.17a3.012 3.012 0 0 0 0 2H3a1 1 0 0 1-1-1Zm1 4h9.757l-.878.879A2.988 2.988 0 0 0 11.17 20H3a1 1 0 1 1 0-2Zm18.707-4.707a1 1 0 0 1 0 1.414L18.914 17.5l2.793 2.793a1 1 0 1 1-1.414 1.414L17.5 18.914l-2.793 2.793a1 1 0 0 1-1.414-1.414l2.793-2.793-2.793-2.793a1 1 0 0 1 1.414-1.414l2.793 2.793 2.793-2.793a1 1 0 0 1 1.414 0Z\",\"<path d='M4 6a1 1 0 0 0 0 2h23a1 1 0 1 0 0-2H4Zm0 6a1 1 0 1 0 0 2h18a1 1 0 1 0 0-2H4Zm12.17 8H4a1 1 0 1 1 0-2h12.17a3.012 3.012 0 0 0 0 2ZM19 24a.99.99 0 0 1 .575.182L17.757 26H4a1 1 0 1 1 0-2h15Z'></path><path d='M18.293 18.293a1 1 0 0 0 0 1.414L22.586 24l-4.293 4.293a1 1 0 0 0 1.414 1.414L24 25.414l4.293 4.293a1 1 0 0 0 1.414-1.414L25.414 24l4.293-4.293a1 1 0 0 0-1.414-1.414L24 22.586l-4.293-4.293a1 1 0 0 0-1.414 0Z'></path>\"]];","export default [[\"M6.372 1.166a.5.5 0 0 0-.744 0l-4.5 5A.5.5 0 0 0 1.5 7H4v3.5a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5V7h2.5a.5.5 0 0 0 .372-.834l-4.5-5Z\",\"M8.369 2.162a.5.5 0 0 0-.738 0l-5.5 6A.5.5 0 0 0 2.5 9H5v4.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5V9h2.5a.5.5 0 0 0 .369-.838l-5.5-6Z\",\"M12.747 2.336a1 1 0 0 0-1.494 0l-8 9A1 1 0 0 0 4 13h3v7a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-7h3a1 1 0 0 0 .747-1.664l-8-9Z\",\"M16.737 3.324a1 1 0 0 0-1.474 0l-11 12A1 1 0 0 0 5 17h5v10a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V17h5a1 1 0 0 0 .737-1.676l-11-12Z\"],[\"M6 1a.5.5 0 0 1 .372.166l4.5 5A.5.5 0 0 1 10.5 7H8v3.5a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5V7H1.5a.5.5 0 0 1-.372-.834l4.5-5A.5.5 0 0 1 6 1ZM2.623 6H4.5a.5.5 0 0 1 .5.5V10h2V6.5a.5.5 0 0 1 .5-.5h1.877L6 2.247 2.623 6Z\",\"M8 2a.5.5 0 0 1 .369.162l5.5 6A.5.5 0 0 1 13.5 9H11v4.5a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5V9H2.5a.5.5 0 0 1-.369-.838l5.5-6A.5.5 0 0 1 8 2ZM3.637 8H5.5a.5.5 0 0 1 .5.5V13h4V8.5a.5.5 0 0 1 .5-.5h1.863L8 3.24 3.637 8Z\",\"M12 2a1 1 0 0 1 .747.336l8 9A1 1 0 0 1 20 13h-3v7a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-7H4a1 1 0 0 1-.747-1.664l8-9A1 1 0 0 1 12 2Zm-5.773 9H8a1 1 0 0 1 1 1v7h6v-7a1 1 0 0 1 1-1h1.773L12 4.505 6.227 11Z\",\"M16 3a1 1 0 0 1 .737.324l11 12A1 1 0 0 1 27 17h-5v10a1 1 0 0 1-1 1H11a1 1 0 0 1-1-1V17H5a1 1 0 0 1-.737-1.676l11-12A1 1 0 0 1 16 3ZM7.273 15H11a1 1 0 0 1 1 1v10h8V16a1 1 0 0 1 1-1h3.727L16 5.48 7.273 15Z\"]];","export default [[\"M0 1.5A.5.5 0 0 1 .5 1h10a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5ZM7 3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H7ZM1 6a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H1Z\",\"M1 2.5a.5.5 0 0 1 .5-.5h12a.5.5 0 0 1 0 1h-12a.5.5 0 0 1-.5-.5ZM9.5 4A1.5 1.5 0 0 0 8 5.5v7A1.5 1.5 0 0 0 9.5 14h3a1.5 1.5 0 0 0 1.5-1.5v-7A1.5 1.5 0 0 0 12.5 4h-3Zm-7 4A1.5 1.5 0 0 0 1 9.5v3A1.5 1.5 0 0 0 2.5 14h3A1.5 1.5 0 0 0 7 12.5v-3A1.5 1.5 0 0 0 5.5 8h-3Z\",\"M2 3a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm13 3a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h5a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-5ZM4 13a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h5a2 2 0 0 0 2-2v-5a2 2 0 0 0-2-2H4Z\",\"M4 6a1 1 0 0 1 1-1h22a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1Zm16 3a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h5a3 3 0 0 0 3-3V12a3 3 0 0 0-3-3h-5ZM7 17a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h5a3 3 0 0 0 3-3v-6a3 3 0 0 0-3-3H7Z\"],[\"M0 1.5A.5.5 0 0 1 .5 1h10a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5ZM6 4a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V4Zm4 0H7v6h3V4ZM1 6a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H1Zm0 1h3v3H1V7Z\",\"M1 2.5a.5.5 0 0 1 .5-.5h12a.5.5 0 0 1 0 1h-12a.5.5 0 0 1-.5-.5Zm7 3A1.5 1.5 0 0 1 9.5 4h3A1.5 1.5 0 0 1 14 5.5v7a1.5 1.5 0 0 1-1.5 1.5h-3A1.5 1.5 0 0 1 8 12.5v-7ZM9.5 5a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-3Zm-7 3A1.5 1.5 0 0 0 1 9.5v3A1.5 1.5 0 0 0 2.5 14h3A1.5 1.5 0 0 0 7 12.5v-3A1.5 1.5 0 0 0 5.5 8h-3ZM2 9.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-3Z\",\"M2 3a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm11 5a2 2 0 0 1 2-2h5a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-5a2 2 0 0 1-2-2V8Zm7 0h-5v12h5V8ZM4 13a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h5a2 2 0 0 0 2-2v-5a2 2 0 0 0-2-2H4Zm0 2h5v5H4v-5Z\",\"M4 6a1 1 0 0 1 1-1h22a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1Zm13 6a3 3 0 0 1 3-3h5a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3h-5a3 3 0 0 1-3-3V12Zm3-1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V12a1 1 0 0 0-1-1h-5ZM7 17a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h5a3 3 0 0 0 3-3v-6a3 3 0 0 0-3-3H7Zm-1 3a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-6Z\"]];","export default [[\"M6 8.5a1.5 1.5 0 1 0 3 0V8a.5.5 0 0 0-.026-.158L8.694 7h1.175a2.023 2.023 0 0 0 1.995-2.355l-.37-2.227a.5.5 0 0 0-.14-.272l-1-1A.5.5 0 0 0 10 1H5.5a.5.5 0 0 0-.354.146L5 1.293v5.632l1 1.25V8.5Zm-2-2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v5Z\",\"M7 12.5a1.5 1.5 0 0 0 3 0v-1.421a.985.985 0 0 0-.05-.312L9.693 10h2.455a2.555 2.555 0 0 0 2.424-3.363l-1.024-3.071a1.5 1.5 0 0 0-.362-.586l-.54-.54A1.5 1.5 0 0 0 11.585 2H6.414a1.5 1.5 0 0 0-1.06.44L5 2.792v6.414l2 2V12.5Zm-3-3a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-7a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v7Z\",\"M10 19a3 3 0 1 0 6 0v-1.528a3 3 0 0 0-.317-1.341L15.618 16h3.554a3 3 0 0 0 2.12-.879l.614-.613a3 3 0 0 0 .79-2.85l-1.726-6.9a1 1 0 0 0-.523-.652l-4-2A1 1 0 0 0 16 2h-5.172a3 3 0 0 0-2.12.879L8 3.586v12.08l1.8 2.4a1 1 0 0 1 .2.6V19Zm-3-4a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v11Z\",\"M17.5 29a3.5 3.5 0 0 1-3.5-3.5v-1.17c0-.626-.22-1.23-.62-1.71L10 18.561V3.964A2.81 2.81 0 0 1 12.118 3H25a1 1 0 0 1 .707.293l2 2a1 1 0 0 1 .274.51l1.58 7.902a5 5 0 0 1-1.368 4.516l-.314.314A5 5 0 0 1 24.343 20h-4.725l.854 1.708A5 5 0 0 1 21 23.944V25.5a3.5 3.5 0 0 1-3.5 3.5ZM8 5v13a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2Z\"],[\"M4 6h.26L6 8.175V8.5a1.5 1.5 0 1 0 3 0V8a.5.5 0 0 0-.026-.158L8.694 7h1.175a2.023 2.023 0 0 0 1.995-2.355l-.37-2.227a.5.5 0 0 0-.14-.272l-1-1A.5.5 0 0 0 10 1H5.5a.5.5 0 0 0-.354.146L4.293 2H4v-.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5V6Zm3 2.5a.5.5 0 0 0 1 0v-.419l-.474-1.423A.5.5 0 0 1 8 6h1.87a1.023 1.023 0 0 0 1.008-1.19l-.345-2.07-.74-.74H5.707l-.853.854A.5.5 0 0 1 4.5 3H4v2h.5a.5.5 0 0 1 .39.188l2 2.5A.5.5 0 0 1 7 8v.5ZM3 6H2V2h1v4Z\",\"M4 9h.793L7 11.207V12.5a1.5 1.5 0 0 0 3 0v-1.421a.985.985 0 0 0-.05-.312L9.693 10h2.455a2.555 2.555 0 0 0 2.424-3.363l-1.024-3.071a1.5 1.5 0 0 0-.362-.586l-.54-.54A1.5 1.5 0 0 0 11.585 2H6.414a1.5 1.5 0 0 0-1.06.44l-.415.414A.5.5 0 0 1 4.586 3H4v-.5a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5V9Zm4 3.5a.5.5 0 0 0 1 0v-1.419l-.474-1.423A.5.5 0 0 1 9 9h3.149a1.555 1.555 0 0 0 1.475-2.047L12.6 3.883a.5.5 0 0 0-.12-.196l-.54-.54A.5.5 0 0 0 11.585 3H6.414a.5.5 0 0 0-.353.146l-.415.415A1.5 1.5 0 0 1 4.586 4H4v4h1a.5.5 0 0 1 .354.146l2.43 2.43A.74.74 0 0 1 8 11.1v1.4ZM3 9H2V3h1v6Z\",\"M7 15h.5l2.3 3.067a1 1 0 0 1 .2.6V19a3 3 0 1 0 6 0v-1.528a3 3 0 0 0-.317-1.341L15.618 16h3.554a3 3 0 0 0 2.12-.879l.614-.613a3 3 0 0 0 .79-2.85l-1.726-6.9a1 1 0 0 0-.523-.652l-4-2A1 1 0 0 0 16 2h-5.172a3 3 0 0 0-2.12.879l-.83.828A1 1 0 0 1 7.173 4H7a2 2 0 0 0-2-2H3a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2Zm5 4a1 1 0 1 0 2 0v-1.528a1 1 0 0 0-.106-.447l-.788-1.578A1 1 0 0 1 14 14h5.172a1 1 0 0 0 .707-.293l.613-.613a1 1 0 0 0 .263-.95l-1.614-6.455L15.764 4h-4.936a1 1 0 0 0-.707.293l-.828.828A3 3 0 0 1 7.172 6H7v7h1a1 1 0 0 1 .8.4l2.6 3.467a3 3 0 0 1 .6 1.8V19Zm-7-4H3V4h2v11Z\",\"M8 18h1.063a1 1 0 0 1 .768.36l3.55 4.26c.4.48.619 1.084.619 1.71v1.17a3.5 3.5 0 1 0 7 0v-1.556a5 5 0 0 0-.528-2.236L19.618 20h4.725a5 5 0 0 0 3.536-1.465l.314-.314a5 5 0 0 0 1.368-4.516l-1.58-7.901a1 1 0 0 0-.274-.511l-2-2A1 1 0 0 0 25 3H12.118a2.81 2.81 0 0 0-2.512 1.553.809.809 0 0 1-.724.447H8a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2Zm8 7.5a1.5 1.5 0 0 0 3 0v-1.556a3 3 0 0 0-.317-1.341l-1.577-3.156A1 1 0 0 1 18 18h6.343a3 3 0 0 0 2.122-.879l.314-.314a3 3 0 0 0 .82-2.71l-1.52-7.604L24.586 5H12.118a.81.81 0 0 0-.724.447A2.809 2.809 0 0 1 8.882 7H8v9h1.063a3 3 0 0 1 2.305 1.08l3.55 4.259A4.673 4.673 0 0 1 16 24.329V25.5ZM6 18H4V5h2v13Z\"]];","export default [[\"M6 2.5a1.5 1.5 0 1 1 3 0V3a.5.5 0 0 1-.026.158L8.694 4h1.175a2.023 2.023 0 0 1 1.995 2.355l-.37 2.227a.5.5 0 0 1-.14.272l-1 1A.5.5 0 0 1 10 10H5.5a.5.5 0 0 1-.354-.146L5 9.707V4.075l1-1.25V2.5Zm-2 2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-5Z\",\"M7 3.5a1.5 1.5 0 1 1 3 0v1.421c0 .106-.017.211-.05.312L9.693 6h2.455a2.555 2.555 0 0 1 2.424 3.363l-1.024 3.071a1.5 1.5 0 0 1-.362.587l-.54.54a1.5 1.5 0 0 1-1.061.439H6.414a1.5 1.5 0 0 1-1.06-.44L5 13.208V6.793l2-2V3.5Zm-3 3a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-7Z\",\"M10 5a3 3 0 1 1 6 0v1.528a3 3 0 0 1-.317 1.342l-.065.13h3.554a3 3 0 0 1 2.12.879l.614.613a3 3 0 0 1 .79 2.85l-1.726 6.9a1 1 0 0 1-.523.652l-4 2A.999.999 0 0 1 16 22h-5.172a3 3 0 0 1-2.12-.879L8 20.414V8.334l1.8-2.4a1 1 0 0 0 .2-.6V5ZM7 9a2 2 0 0 0-2-2H3a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2V9Z\",\"M17.5 3A3.5 3.5 0 0 0 14 6.5v1.17c0 .626-.22 1.23-.62 1.71L10 13.439v14.598a2.81 2.81 0 0 0 2.118.964H25a1 1 0 0 0 .707-.293l2-2a1 1 0 0 0 .274-.51l1.58-7.902a5 5 0 0 0-1.368-4.516l-.314-.315A5 5 0 0 0 24.343 12h-4.725l.854-1.708A5 5 0 0 0 21 8.056V6.5A3.5 3.5 0 0 0 17.5 3ZM8 27V14a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2Z\"],[\"M4 5h.26L6 2.825V2.5a1.5 1.5 0 1 1 3 0V3a.5.5 0 0 1-.026.158L8.694 4h1.175a2.023 2.023 0 0 1 1.995 2.355l-.37 2.227a.5.5 0 0 1-.14.272l-1 1A.5.5 0 0 1 10 10H5.5a.5.5 0 0 1-.354-.146L4.293 9H4v.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V5Zm3-2.5a.5.5 0 0 1 1 0v.419l-.474 1.423A.5.5 0 0 0 8 5h1.87a1.023 1.023 0 0 1 1.008 1.19l-.345 2.07-.74.74H5.707l-.853-.854A.5.5 0 0 0 4.5 8H4V6h.5a.5.5 0 0 0 .39-.188l2-2.5A.5.5 0 0 0 7 3v-.5ZM3 5H2v4h1V5Z\",\"M4 7h.793L7 4.793V3.5a1.5 1.5 0 1 1 3 0v1.421c0 .106-.017.211-.05.312L9.693 6h2.455a2.555 2.555 0 0 1 2.424 3.363l-1.024 3.071a1.5 1.5 0 0 1-.362.587l-.54.54a1.5 1.5 0 0 1-1.061.439H6.414a1.5 1.5 0 0 1-1.06-.44l-.415-.414A.5.5 0 0 0 4.586 13H4v.5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-7a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V7Zm4-3.5a.5.5 0 0 1 1 0v1.419l-.474 1.423A.5.5 0 0 0 9 7h3.149a1.555 1.555 0 0 1 1.475 2.047l-1.024 3.07a.5.5 0 0 1-.12.196l-.54.54a.5.5 0 0 1-.354.147H6.414a.5.5 0 0 1-.353-.146l-.415-.415A1.5 1.5 0 0 0 4.586 12H4V8h1a.5.5 0 0 0 .354-.146l2.43-2.43A.74.74 0 0 0 8 4.9V3.5ZM3 7H2v6h1V7Z\",\"M7 9h.5l2.3-3.067a1 1 0 0 0 .2-.6V5a3 3 0 1 1 6 0v1.528a3 3 0 0 1-.317 1.342l-.065.13h3.554a3 3 0 0 1 2.12.879l.614.613a3 3 0 0 1 .79 2.85l-1.726 6.9a1 1 0 0 1-.523.652l-4 2A.999.999 0 0 1 16 22h-5.172a3 3 0 0 1-2.12-.879l-.83-.828A1 1 0 0 0 7.173 20H7a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2Zm5-4a1 1 0 1 1 2 0v1.528a1 1 0 0 1-.106.447l-.788 1.578A1 1 0 0 0 14 10h5.172a1 1 0 0 1 .707.293l.613.613a1 1 0 0 1 .263.95l-1.614 6.455L15.764 20h-4.936a1 1 0 0 1-.707-.293l-.828-.828A3 3 0 0 0 7.172 18H7v-7h1a1 1 0 0 0 .8-.4l2.6-3.467a3 3 0 0 0 .6-1.8V5ZM5 9H3v11h2V9Z\",\"M8 14h1.063a1 1 0 0 0 .768-.36l3.55-4.26c.4-.48.619-1.084.619-1.71V6.5a3.5 3.5 0 1 1 7 0v1.556a5 5 0 0 1-.528 2.236L19.618 12h4.725a5 5 0 0 1 3.536 1.464l.314.315a5 5 0 0 1 1.368 4.516l-1.58 7.901a1 1 0 0 1-.274.511l-2 2A1 1 0 0 1 25 29H12.118a2.809 2.809 0 0 1-2.512-1.553.809.809 0 0 0-.724-.447H8a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V14a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2Zm8-7.5a1.5 1.5 0 0 1 3 0v1.556a3 3 0 0 1-.317 1.341l-1.577 3.156A1 1 0 0 0 18 14h6.343a3 3 0 0 1 2.122.879l.314.314a3 3 0 0 1 .82 2.71l-1.52 7.604L24.586 27H12.118a.81.81 0 0 1-.724-.447A2.809 2.809 0 0 0 8.882 25H8v-9h1.063a3 3 0 0 0 2.305-1.08l3.55-4.259A4.671 4.671 0 0 0 16 7.671V6.5ZM6 14H4v13h2V14Z\"]];","export default [[\"M7.354.646a.5.5 0 0 0-.708 0l-1.5 1.5a.5.5 0 0 0 0 .707l.647.647-1.075 1.074a3.497 3.497 0 0 0-3.193.951.5.5 0 0 0 0 .707L3.293 8l-2.147 2.146a.5.5 0 0 0 .708.708L4 8.707l1.768 1.768a.5.5 0 0 0 .707 0 3.497 3.497 0 0 0 .95-3.194L8.5 6.207l.646.646a.5.5 0 0 0 .708 0l1.5-1.5a.5.5 0 0 0 0-.707l-4-4Z\",\"m7.543 5.555-.424-.424a1.5 1.5 0 0 1 0-2.121l.778-.778a1.5 1.5 0 0 1 2.121 0l3.747 3.747a1.5 1.5 0 0 1 0 2.121l-.778.778a1.5 1.5 0 0 1-2.121 0l-.424-.424-1.241 1.241c.17.487.261 1.009.261 1.551 0 1.001-.388 1.768-.844 2.392-.568.777-1.636.758-2.236.158l-1.736-1.735-1.792 1.793a.5.5 0 0 1-.708-.708l1.793-1.793-1.74-1.74c-.597-.598-.62-1.662.153-2.232.629-.463 1.393-.847 2.4-.847.541 0 1.064.092 1.55.262l1.241-1.241Z\",\"m11.5 7.01.18.181-1.412 1.413a7.759 7.759 0 0 0-2.285-.343c-1.544 0-2.752.543-3.739 1.224-1.646 1.134-1.54 3.316-.366 4.49l2.367 2.366-3.952 3.952a1 1 0 1 0 1.414 1.414l3.952-3.952 2.365 2.364c1.179 1.178 3.366 1.276 4.496-.374.67-.979 1.221-2.188 1.221-3.727a7.74 7.74 0 0 0-.342-2.283l1.414-1.413.182.182a3 3 0 0 0 4.242 0l.889-.888a3 3 0 0 0 0-4.244L16.63 1.878a3 3 0 0 0-4.242 0l-.889.889a3 3 0 0 0 0 4.243Z\",\"m15.293 9.121.878.88-2.531 2.53a9.489 9.489 0 0 0-3.14-.53c-2.033 0-3.576.777-4.846 1.714-1.542 1.139-1.5 3.267-.305 4.463l3.53 3.53-5.586 5.585a1 1 0 1 0 1.414 1.414l5.586-5.586 3.525 3.526c1.2 1.2 3.336 1.235 4.471-.314.923-1.26 1.71-2.81 1.71-4.833a9.49 9.49 0 0 0-.53-3.14l2.53-2.531.88.878a3 3 0 0 0 4.242 0l1.586-1.586a3 3 0 0 0 0-4.242l-7.586-7.586a3 3 0 0 0-4.242 0l-1.586 1.586a3 3 0 0 0 0 4.242Z\"],[\"M7.354.646a.5.5 0 0 0-.708 0l-1.5 1.5a.5.5 0 0 0 0 .707l.647.647-1.075 1.074a3.497 3.497 0 0 0-3.193.951.5.5 0 0 0 0 .707L3.293 8l-2.147 2.146a.5.5 0 0 0 .708.708L4 8.707l1.768 1.768a.5.5 0 0 0 .707 0 3.497 3.497 0 0 0 .95-3.194L8.5 6.207l.646.646a.5.5 0 0 0 .708 0l1.5-1.5a.5.5 0 0 0 0-.707l-4-4ZM4.356 7.65l1.73 1.73a2.507 2.507 0 0 0 .307-2.106.5.5 0 0 1 .125-.498l1.628-1.629a.5.5 0 0 1 .708 0l.646.647.793-.793L7 1.707l-.793.793.647.646a.5.5 0 0 1 0 .707l-1.63 1.63a.5.5 0 0 1-.498.124 2.504 2.504 0 0 0-2.105.307l1.73 1.73.003.002.002.003Z\",\"m7.12 5.131.423.424-1.24 1.241a4.705 4.705 0 0 0-1.552-.262c-1.006 0-1.77.384-2.399.847-.772.57-.75 1.634-.153 2.232l1.74 1.74-1.793 1.793a.5.5 0 0 0 .708.708l1.792-1.793 1.736 1.735c.6.6 1.668.619 2.236-.158.456-.623.844-1.39.844-2.392 0-.542-.091-1.064-.261-1.551l1.241-1.241.424.424a1.5 1.5 0 0 0 2.121 0l.778-.778a1.5 1.5 0 0 0 0-2.121l-3.747-3.747a1.5 1.5 0 0 0-2.121 0l-.778.778a1.5 1.5 0 0 0 0 2.121Zm1.484.778a.5.5 0 0 0 0-.708l-.777-.777a.5.5 0 0 1 0-.707l.777-.778a.5.5 0 0 1 .707 0l3.746 3.747a.5.5 0 0 1 0 .707l-.777.778a.5.5 0 0 1-.707 0l-.777-.778a.5.5 0 0 0-.707 0L8.275 9.206a.548.548 0 0 0-.102.602 3.7 3.7 0 0 1 .288 1.438c0 .717-.27 1.28-.652 1.802a.475.475 0 0 1-.721.041L2.906 8.906a.475.475 0 0 1 .04-.72c.521-.384 1.081-.652 1.805-.652a3.7 3.7 0 0 1 1.439.29.548.548 0 0 0 .601-.103L8.604 5.91Z\",\"m11.5 7.01.18.181-1.412 1.413a7.759 7.759 0 0 0-2.285-.343c-1.544 0-2.752.543-3.739 1.224-1.646 1.134-1.54 3.316-.366 4.49l2.367 2.366-3.952 3.952a1 1 0 1 0 1.414 1.414l3.952-3.952 2.365 2.364c1.179 1.178 3.366 1.276 4.496-.374.67-.979 1.221-2.188 1.221-3.727a7.74 7.74 0 0 0-.342-2.283l1.414-1.413.182.182a3 3 0 0 0 4.242 0l.889-.888a3 3 0 0 0 0-4.244L16.63 1.878a3 3 0 0 0-4.242 0l-.889.889a3 3 0 0 0 0 4.243Zm-.233 3.422 2.535-2.534a1 1 0 0 0 0-1.414l-.889-.888a1 1 0 0 1 0-1.415l.89-.888a1 1 0 0 1 1.413 0l5.496 5.494a1 1 0 0 1 0 1.414l-.89.889a1 1 0 0 1-1.413 0l-.89-.89a1 1 0 0 0-1.413 0l-2.536 2.535c-.313.314-.374.794-.214 1.208a5.74 5.74 0 0 1 .385 2.075c0 1.022-.354 1.842-.87 2.596-.33.483-1.02.504-1.433.09L5.292 12.56c-.412-.412-.393-1.098.087-1.428.754-.52 1.572-.87 2.604-.87.732 0 1.432.136 2.077.385.413.16.893.1 1.207-.215Z\",\"m15.293 9.121.878.88-2.531 2.53a9.489 9.489 0 0 0-3.14-.53c-2.033 0-3.576.777-4.846 1.714-1.542 1.139-1.5 3.267-.305 4.463l3.53 3.53-5.586 5.585a1 1 0 1 0 1.414 1.414l5.586-5.586 3.525 3.526c1.2 1.2 3.336 1.235 4.471-.314.923-1.26 1.71-2.81 1.71-4.833a9.49 9.49 0 0 0-.53-3.14l2.53-2.531.88.878a3 3 0 0 0 4.242 0l1.586-1.586a3 3 0 0 0 0-4.242l-7.586-7.586a3 3 0 0 0-4.242 0l-1.586 1.586a3 3 0 0 0 0 4.242Zm-.676 5.262 3.676-3.676a1 1 0 0 0 0-1.414l-1.586-1.586a1 1 0 0 1 0-1.414l1.586-1.586a1 1 0 0 1 1.414 0l7.586 7.586a1 1 0 0 1 0 1.414l-1.586 1.586a1 1 0 0 1-1.414 0l-1.586-1.586a1 1 0 0 0-1.414 0l-3.676 3.676c-.314.314-.377.794-.204 1.203.378.896.587 1.88.587 2.914 0 1.453-.55 2.594-1.325 3.65-.345.472-1.03.496-1.443.083l-8.468-8.47c-.412-.411-.39-1.093.078-1.439C7.899 14.544 9.033 14 10.5 14c1.033 0 2.018.21 2.914.587.409.173.89.11 1.203-.204Z\"]];","export default [[\"M1.525 5.525A3.49 3.49 0 0 1 2.65 4.77l4.58 4.581a3.49 3.49 0 0 1-.754 1.124.5.5 0 0 1-.707 0L4 8.707l-2.146 2.147a.5.5 0 0 1-.708-.708L3.293 8 1.525 6.232a.5.5 0 0 1 0-.707ZM5 4.293l.793-.793-.646-.647a.5.5 0 0 1 0-.707l1.5-1.5a.5.5 0 0 1 .707 0l4 4a.5.5 0 0 1 0 .707l-1.5 1.5a.5.5 0 0 1-.707 0L8.5 6.207 7.707 7l3.147 3.146a.5.5 0 0 1-.708.708l-9-9a.5.5 0 1 1 .708-.708L5 4.293Z\",\"M1.146 1.854a.5.5 0 1 1 .708-.708l5.049 5.05.64-.64-.424-.425a1.5 1.5 0 0 1 0-2.121l.778-.778a1.5 1.5 0 0 1 2.121 0l3.747 3.747a1.5 1.5 0 0 1 0 2.121l-.778.778a1.5 1.5 0 0 1-2.121 0l-.424-.424-.64.64 5.052 5.052a.5.5 0 0 1-.708.708l-13-13Zm1.206 5.527c.56-.412 1.226-.76 2.075-.833l5.022 5.022c-.073.845-.426 1.514-.831 2.068-.568.777-1.636.758-2.236.158l-1.736-1.735-1.792 1.793a.5.5 0 0 1-.708-.708l1.793-1.793-1.74-1.74c-.597-.598-.62-1.662.153-2.232Z\",\"M1.291 2.707a1 1 0 0 1 1.415-1.414l7.212 7.212c.117.03.234.063.35.099L11.68 7.19l-.18-.18a3 3 0 0 1 0-4.244l.888-.889a3 3 0 0 1 4.242 0l5.496 5.494a3 3 0 0 1 0 4.244l-.89.888a3 3 0 0 1-4.241 0l-.183-.182-1.413 1.413c.036.116.069.232.1.35l7.207 7.208a1 1 0 1 1-1.415 1.414l-20-20Zm2.953 6.778c.195-.135.4-.264.612-.384l10.042 10.04a8.26 8.26 0 0 1-.378.604c-1.13 1.65-3.317 1.552-4.496.374L7.66 17.755l-3.952 3.952a1 1 0 0 1-1.414-1.414l3.952-3.952-2.367-2.366c-1.174-1.174-1.28-3.356.366-4.49Z\",\"M2.293 3.707a1 1 0 0 1 1.414-1.414l10.086 10.086L16.17 10l-.878-.879a3 3 0 0 1 0-4.242l1.585-1.586a3 3 0 0 1 4.243 0l7.586 7.586a3 3 0 0 1 0 4.242l-1.586 1.586a3 3 0 0 1-4.242 0l-.88-.879-2.378 2.38 10.086 10.085a1 1 0 0 1-1.414 1.414l-26-26Zm3.361 10.008c.725-.535 1.54-1.018 2.483-1.335l11.479 11.48c-.318.942-.8 1.755-1.327 2.474-1.135 1.55-3.27 1.515-4.47.314l-3.526-3.526-5.586 5.586a1 1 0 0 1-1.414-1.414l5.586-5.586-3.53-3.529c-1.196-1.196-1.237-3.324.305-4.463Z\"],[\"M1.525 5.525A3.49 3.49 0 0 1 2.65 4.77l.792.793a2.485 2.485 0 0 0-.82.351l3.465 3.465c.169-.254.286-.532.351-.82l.793.792a3.49 3.49 0 0 1-.755 1.124.5.5 0 0 1-.707 0L4 8.707l-2.146 2.147a.5.5 0 0 1-.708-.708L3.293 8 1.525 6.232a.5.5 0 0 1 0-.707ZM7.707 7l3.147 3.146a.5.5 0 0 1-.708.708l-9-9a.5.5 0 1 1 .708-.708L5 4.293l.793-.793-.646-.647a.5.5 0 0 1 0-.707l1.5-1.5a.5.5 0 0 1 .707 0l4 4a.5.5 0 0 1 0 .707l-1.5 1.5a.5.5 0 0 1-.707 0L8.5 6.207 7.707 7Zm-2-2L7 6.293l1.147-1.147a.5.5 0 0 1 .707 0l.646.647.793-.793L7 1.707l-.793.793.647.646a.5.5 0 0 1 0 .707L5.707 5Z\",\"M1.146 1.854a.5.5 0 1 1 .708-.708l5.049 5.05.64-.64-.424-.425a1.5 1.5 0 0 1 0-2.121l.778-.778a1.5 1.5 0 0 1 2.121 0l3.747 3.747a1.5 1.5 0 0 1 0 2.121l-.778.778a1.5 1.5 0 0 1-2.121 0l-.424-.424-.64.64 5.052 5.052a.5.5 0 0 1-.708.708l-13-13Zm7.949 6.533.993-.994a.5.5 0 0 1 .708 0l.777.778a.5.5 0 0 0 .707 0l.777-.778a.5.5 0 0 0 0-.707L9.311 2.94a.5.5 0 0 0-.707 0l-.777.778a.5.5 0 0 0 0 .707l.777.778a.5.5 0 0 1 0 .707l-.994.994 1.484 1.484ZM2.352 7.381c.56-.412 1.226-.76 2.075-.833l1.059 1.06a3.729 3.729 0 0 0-.735-.073c-.724 0-1.284.267-1.805.651a.475.475 0 0 0-.04.72L7.09 13.09a.475.475 0 0 0 .721-.04c.382-.522.652-1.086.652-1.803a3.73 3.73 0 0 0-.072-.735l1.059 1.06c-.073.845-.426 1.513-.831 2.067-.568.777-1.636.758-2.236.158l-1.736-1.735-1.792 1.793a.5.5 0 0 1-.708-.708l1.793-1.793-1.74-1.74c-.597-.598-.62-1.662.153-2.232Z\",\"M1.291 2.707a1 1 0 0 1 1.415-1.414l7.212 7.212c.117.03.234.063.35.099L11.68 7.19l-.18-.18a3 3 0 0 1 0-4.244l.888-.889a3 3 0 0 1 4.242 0l5.496 5.494a3 3 0 0 1 0 4.244l-.89.888a3 3 0 0 1-4.241 0l-.183-.182-1.413 1.413c.036.116.069.232.1.35l7.207 7.208a1 1 0 1 1-1.415 1.414l-20-20Zm12.568 9.74 2.246-2.246a1 1 0 0 1 1.415 0l.889.889a1 1 0 0 0 1.414 0l.889-.889a1 1 0 0 0 0-1.414l-5.496-5.494a1 1 0 0 0-1.414 0l-.889.888a1 1 0 0 0 0 1.415l.889.888a1 1 0 0 1 0 1.414l-2.246 2.245 2.303 2.303ZM4.244 9.485c.195-.135.4-.264.612-.384l1.49 1.49a5.43 5.43 0 0 0-.967.54c-.48.331-.499 1.017-.087 1.43l6.146 6.144c.414.413 1.102.392 1.432-.09a5.53 5.53 0 0 0 .537-.963l1.49 1.49a8.26 8.26 0 0 1-.377.603c-1.13 1.65-3.317 1.552-4.496.374L7.66 17.755l-3.952 3.952a1 1 0 0 1-1.414-1.414l3.952-3.952-2.367-2.366c-1.174-1.174-1.28-3.356.366-4.49Z\",\"M2.293 3.707a1 1 0 0 1 1.414-1.414l10.086 10.086L16.17 10l-.878-.879a3 3 0 0 1 0-4.242l1.585-1.586a3 3 0 0 1 4.243 0l7.586 7.586a3 3 0 0 1 0 4.242l-1.586 1.586a3 3 0 0 1-4.242 0l-.88-.879-2.378 2.38 10.086 10.085a1 1 0 0 1-1.414 1.414l-26-26Zm15.914 13.086 3.086-3.086a1 1 0 0 1 1.414 0l1.586 1.586a1 1 0 0 0 1.414 0l1.586-1.586a1 1 0 0 0 0-1.414l-7.586-7.586a1 1 0 0 0-1.414 0l-1.586 1.586a1 1 0 0 0 0 1.414l1.586 1.586a1 1 0 0 1 0 1.414l-3.086 3.086 3 3ZM5.654 13.715c.725-.535 1.54-1.018 2.483-1.335L9.8 14.043c-1.14.143-2.076.63-2.958 1.281-.469.346-.49 1.028-.078 1.44l8.468 8.469c.414.413 1.098.39 1.444-.082.645-.881 1.135-1.821 1.28-2.952l1.66 1.66c-.318.942-.8 1.755-1.327 2.474-1.135 1.55-3.27 1.515-4.47.314l-3.526-3.526-5.586 5.586a1 1 0 0 1-1.414-1.414l5.586-5.586-3.53-3.529c-1.196-1.196-1.237-3.324.305-4.463Z\"]];","export default [[\"M1.5 2A1.5 1.5 0 0 0 0 3.5v1a.5.5 0 0 0 .5.5.5.5 0 0 1 0 1 .5.5 0 0 0-.5.5v1A1.5 1.5 0 0 0 1.5 9h8A1.5 1.5 0 0 0 11 7.5v-1a.5.5 0 0 0-.5-.5.5.5 0 0 1 0-1 .5.5 0 0 0 .5-.5v-1A1.5 1.5 0 0 0 9.5 2h-8Zm2 2a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-4ZM7 6H4V5h3v1Z\",\"M1.5 3A1.5 1.5 0 0 0 0 4.5v2a.5.5 0 0 0 .5.5.5.5 0 0 1 0 1 .5.5 0 0 0-.5.5v2A1.5 1.5 0 0 0 1.5 12h12a1.5 1.5 0 0 0 1.5-1.5v-2a.5.5 0 0 0-.5-.5.5.5 0 0 1 0-1 .5.5 0 0 0 .5-.5v-2A1.5 1.5 0 0 0 13.5 3h-12Zm2 2a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-8ZM11 9H4V6h7v3Z\",\"M3 5a2 2 0 0 0-2 2v3a1 1 0 0 0 1 1 1 1 0 1 1 0 2 1 1 0 0 0-1 1v3a2 2 0 0 0 2 2h18a2 2 0 0 0 2-2v-3a1 1 0 0 0-1-1 1 1 0 1 1 0-2 1 1 0 0 0 1-1V7a2 2 0 0 0-2-2H3Zm5 4a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H8Zm7 4H9v-2h6v2Z\",\"M4 7a2 2 0 0 0-2 2v5a1 1 0 0 0 1 1 1 1 0 1 1 0 2 1 1 0 0 0-1 1v5a2 2 0 0 0 2 2h24a2 2 0 0 0 2-2v-5a1 1 0 0 0-1-1 1 1 0 1 1 0-2 1 1 0 0 0 1-1V9a2 2 0 0 0-2-2H4Zm5 5a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H9Zm13 6H10v-4h12v4Z\"],[\"M1 3.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v.585a1.5 1.5 0 0 0 0 2.83V7.5a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-.585a1.5 1.5 0 0 0 0-2.83V3.5ZM1.5 2A1.5 1.5 0 0 0 0 3.5v1a.5.5 0 0 0 .5.5.5.5 0 0 1 0 1 .5.5 0 0 0-.5.5v1A1.5 1.5 0 0 0 1.5 9h8A1.5 1.5 0 0 0 11 7.5v-1a.5.5 0 0 0-.5-.5.5.5 0 0 1 0-1 .5.5 0 0 0 .5-.5v-1A1.5 1.5 0 0 0 9.5 2h-8Zm2 2a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-4ZM7 6H4V5h3v1Z\",\"M1 4.5a.5.5 0 0 1 .5-.5h12a.5.5 0 0 1 .5.5v1.585a1.5 1.5 0 0 0 0 2.83V10.5a.5.5 0 0 1-.5.5h-12a.5.5 0 0 1-.5-.5V8.915a1.5 1.5 0 0 0 0-2.83V4.5ZM1.5 3A1.5 1.5 0 0 0 0 4.5v2a.5.5 0 0 0 .5.5.5.5 0 0 1 0 1 .5.5 0 0 0-.5.5v2A1.5 1.5 0 0 0 1.5 12h12a1.5 1.5 0 0 0 1.5-1.5v-2a.5.5 0 0 0-.5-.5.5.5 0 0 1 0-1 .5.5 0 0 0 .5-.5v-2A1.5 1.5 0 0 0 13.5 3h-12Zm2 2a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-8ZM11 9H4V6h7v3Z\",\"M3 5a2 2 0 0 0-2 2v3a1 1 0 0 0 1 1 1 1 0 1 1 0 2 1 1 0 0 0-1 1v3a2 2 0 0 0 2 2h18a2 2 0 0 0 2-2v-3a1 1 0 0 0-1-1 1 1 0 1 1 0-2 1 1 0 0 0 1-1V7a2 2 0 0 0-2-2H3Zm0 2h18v2.17a3.001 3.001 0 0 0 0 5.66V17H3v-2.17a3.001 3.001 0 0 0 0-5.66V7Zm5 2a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H8Zm7 4H9v-2h6v2Z\",\"M4 7a2 2 0 0 0-2 2v5a1 1 0 0 0 1 1 1 1 0 1 1 0 2 1 1 0 0 0-1 1v5a2 2 0 0 0 2 2h24a2 2 0 0 0 2-2v-5a1 1 0 0 0-1-1 1 1 0 1 1 0-2 1 1 0 0 0 1-1V9a2 2 0 0 0-2-2H4Zm0 2h24v4.17a3.001 3.001 0 0 0 0 5.66V23H4v-4.17a3.001 3.001 0 0 0 0-5.66V9Zm5 3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H9Zm13 6H10v-4h12v4Z\"]];","export default [[\"M0 3.5A1.5 1.5 0 0 1 1.5 2h8A1.5 1.5 0 0 1 11 3.5v1a.5.5 0 0 1-.5.5.5.5 0 0 0 0 1 .5.5 0 0 1 .5.5v1A1.5 1.5 0 0 1 9.5 9h-8A1.5 1.5 0 0 1 0 7.5v-1A.5.5 0 0 1 .5 6a.5.5 0 0 0 0-1 .5.5 0 0 1-.5-.5v-1Zm6 3V6h.5a.5.5 0 0 0 0-1H6v-.5a.5.5 0 0 0-1 0V5h-.5a.5.5 0 0 0 0 1H5v.5a.5.5 0 0 0 1 0Z\",\"M0 4.5A1.5 1.5 0 0 1 1.5 3h12A1.5 1.5 0 0 1 15 4.5v2a.5.5 0 0 1-.5.5.5.5 0 0 0 0 1 .5.5 0 0 1 .5.5v2a1.5 1.5 0 0 1-1.5 1.5h-12A1.5 1.5 0 0 1 0 10.5v-2A.5.5 0 0 1 .5 8a.5.5 0 0 0 0-1 .5.5 0 0 1-.5-.5v-2Zm8 5V8h1.5a.5.5 0 0 0 0-1H8V5.5a.5.5 0 0 0-1 0V7H5.5a.5.5 0 0 0 0 1H7v1.5a.5.5 0 0 0 1 0Z\",\"M1 7a2 2 0 0 1 2-2h18a2 2 0 0 1 2 2v3a1 1 0 0 1-1 1 1 1 0 1 0 0 2 1 1 0 0 1 1 1v3a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-3a1 1 0 0 1 1-1 1 1 0 1 0 0-2 1 1 0 0 1-1-1V7Zm12 8v-2h2a1 1 0 1 0 0-2h-2V9a1 1 0 1 0-2 0v2H9a1 1 0 1 0 0 2h2v2a1 1 0 1 0 2 0Z\",\"M2 9a2 2 0 0 1 2-2h24a2 2 0 0 1 2 2v5a1 1 0 0 1-1 1 1 1 0 1 0 0 2 1 1 0 0 1 1 1v5a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-5a1 1 0 0 1 1-1 1 1 0 1 0 0-2 1 1 0 0 1-1-1V9Zm14 11a1 1 0 0 0 1-1v-2h2a1 1 0 1 0 0-2h-2v-2a1 1 0 1 0-2 0v2h-2a1 1 0 1 0 0 2h2v2a1 1 0 0 0 1 1Z\"],[\"<path d='M6 6.5V6h.5a.5.5 0 0 0 0-1H6v-.5a.5.5 0 0 0-1 0V5h-.5a.5.5 0 0 0 0 1H5v.5a.5.5 0 0 0 1 0Z'></path><path d='M0 3.5A1.5 1.5 0 0 1 1.5 2h8A1.5 1.5 0 0 1 11 3.5v1a.5.5 0 0 1-.5.5.5.5 0 0 0 0 1 .5.5 0 0 1 .5.5v1A1.5 1.5 0 0 1 9.5 9h-8A1.5 1.5 0 0 1 0 7.5v-1A.5.5 0 0 1 .5 6a.5.5 0 0 0 0-1 .5.5 0 0 1-.5-.5v-1ZM1.5 3a.5.5 0 0 0-.5.5v.585a1.5 1.5 0 0 1 0 2.83V7.5a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-.585a1.5 1.5 0 0 1 0-2.83V3.5a.5.5 0 0 0-.5-.5h-8Z'></path>\",\"<path d='M8 9.5V8h1.5a.5.5 0 0 0 0-1H8V5.5a.5.5 0 0 0-1 0V7H5.5a.5.5 0 0 0 0 1H7v1.5a.5.5 0 0 0 1 0Z'></path><path d='M0 4.5A1.5 1.5 0 0 1 1.5 3h12A1.5 1.5 0 0 1 15 4.5v2a.5.5 0 0 1-.5.5.5.5 0 0 0 0 1 .5.5 0 0 1 .5.5v2a1.5 1.5 0 0 1-1.5 1.5h-12A1.5 1.5 0 0 1 0 10.5v-2A.5.5 0 0 1 .5 8a.5.5 0 0 0 0-1 .5.5 0 0 1-.5-.5v-2ZM1.5 4a.5.5 0 0 0-.5.5v1.585a1.5 1.5 0 0 1 0 2.83V10.5a.5.5 0 0 0 .5.5h12a.5.5 0 0 0 .5-.5V8.915a1.5 1.5 0 0 1 0-2.83V4.5a.5.5 0 0 0-.5-.5h-12Z'></path>\",\"<path d='M13 9a1 1 0 1 0-2 0v2H9a1 1 0 1 0 0 2h2v2a1 1 0 1 0 2 0v-2h2a1 1 0 1 0 0-2h-2V9Z'></path><path d='M3 5a2 2 0 0 0-2 2v3a1 1 0 0 0 1 1 1 1 0 1 1 0 2 1 1 0 0 0-1 1v3a2 2 0 0 0 2 2h18a2 2 0 0 0 2-2v-3a1 1 0 0 0-1-1 1 1 0 1 1 0-2 1 1 0 0 0 1-1V7a2 2 0 0 0-2-2H3Zm0 2h18v2.17a3.001 3.001 0 0 0 0 5.66V17H3v-2.17a3.001 3.001 0 0 0 0-5.66V7Z'></path>\",\"<path d='M16 20a1 1 0 0 0 1-1v-2h2a1 1 0 1 0 0-2h-2v-2a1 1 0 1 0-2 0v2h-2a1 1 0 1 0 0 2h2v2a1 1 0 0 0 1 1Z'></path><path d='M2 9a2 2 0 0 1 2-2h24a2 2 0 0 1 2 2v5a1 1 0 0 1-1 1 1 1 0 1 0 0 2 1 1 0 0 1 1 1v5a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-5a1 1 0 0 1 1-1 1 1 0 1 0 0-2 1 1 0 0 1-1-1V9Zm26 0H4v4.17a3.001 3.001 0 0 1 0 5.66V23h24v-4.17a3.001 3.001 0 0 1 0-5.66V9Z'></path>\"]];","export default [[\"M1.5 2a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-1 0v-7a.5.5 0 0 1 .5-.5Zm9 0a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-1 0v-7a.5.5 0 0 1 .5-.5Zm-7 1a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2ZM6 7.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5ZM5 5a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1H5Z\",\"M1.5 2a.5.5 0 0 1 .5.5v11a.5.5 0 0 1-1 0v-11a.5.5 0 0 1 .5-.5Zm13 0a.5.5 0 0 1 .5.5v11a.5.5 0 0 1-1 0v-11a.5.5 0 0 1 .5-.5Zm-11 2a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5ZM7 10.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5ZM5.5 7a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5Z\",\"M3 3a1 1 0 0 1 1 1v16a1 1 0 1 1-2 0V4a1 1 0 0 1 1-1Zm18 0a1 1 0 0 1 1 1v16a1 1 0 1 1-2 0V4a1 1 0 0 1 1-1ZM6 7a1 1 0 0 0 0 2h5a1 1 0 1 0 0-2H6Zm6 9a1 1 0 0 1 1-1h5a1 1 0 1 1 0 2h-5a1 1 0 0 1-1-1Zm-3-5a1 1 0 1 0 0 2h5a1 1 0 1 0 0-2H9Z\",\"M5 5a1 1 0 0 1 1 1v20a1 1 0 1 1-2 0V6a1 1 0 0 1 1-1Zm22 0a1 1 0 0 1 1 1v20a1 1 0 1 1-2 0V6a1 1 0 0 1 1-1ZM9 10a1 1 0 1 0 0 2h6a1 1 0 1 0 0-2H9Zm7 11a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2h-6a1 1 0 0 1-1-1Zm-3-6a1 1 0 1 0 0 2h6a1 1 0 1 0 0-2h-6Z\"]];","export default [[\"M2.5 0A1.5 1.5 0 0 0 1 1.5v9A1.5 1.5 0 0 0 2.5 12h7a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 9.5 0h-7ZM3 7a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7Zm0-4.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Z\",\"M3.5 1A1.5 1.5 0 0 0 2 2.5v11A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5v-11A1.5 1.5 0 0 0 12.5 1h-9Zm1 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Zm1 4A1.5 1.5 0 0 0 4 8.5v3A1.5 1.5 0 0 0 5.5 13h5a1.5 1.5 0 0 0 1.5-1.5v-3A1.5 1.5 0 0 0 10.5 7h-5ZM4 5.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Z\",\"M3 4a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v16a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V4Zm5 1a1 1 0 0 0 0 2h3a1 1 0 1 0 0-2H8Zm-1 9a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2v-3Zm0-5a1 1 0 0 1 1-1h8a1 1 0 1 1 0 2H8a1 1 0 0 1-1-1Z\",\"M5 5a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v22a3 3 0 0 1-3 3H8a3 3 0 0 1-3-3V5Zm4 2a1 1 0 0 1 1-1h4a1 1 0 1 1 0 2h-4a1 1 0 0 1-1-1Zm0 4a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H10a1 1 0 0 1-1-1Zm0 5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H11a2 2 0 0 1-2-2v-8Z\"],[\"<path d='M4 6a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H4ZM3 2.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5ZM3.5 4a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5Z'></path><path d='M1 1.5A1.5 1.5 0 0 1 2.5 0h7A1.5 1.5 0 0 1 11 1.5v9A1.5 1.5 0 0 1 9.5 12h-7A1.5 1.5 0 0 1 1 10.5v-9ZM2.5 1a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-7Z'></path>\",\"<path d='M5.5 7A1.5 1.5 0 0 0 4 8.5v3A1.5 1.5 0 0 0 5.5 13h5a1.5 1.5 0 0 0 1.5-1.5v-3A1.5 1.5 0 0 0 10.5 7h-5ZM4 3.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5ZM4.5 5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7Z'></path><path d='M2 2.5A1.5 1.5 0 0 1 3.5 1h9A1.5 1.5 0 0 1 14 2.5v11a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 13.5v-11ZM3.5 2a.5.5 0 0 0-.5.5v11a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-11a.5.5 0 0 0-.5-.5h-9Z'></path>\",\"<path d='M9 12a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H9ZM7 6a1 1 0 0 1 1-1h3a1 1 0 1 1 0 2H8a1 1 0 0 1-1-1Zm1 2a1 1 0 0 0 0 2h8a1 1 0 1 0 0-2H8Z'></path><path d='M3 4a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v16a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V4Zm3-1a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H6Z'></path>\",\"<path d='M11 14a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2H11ZM9 7a1 1 0 0 1 1-1h4a1 1 0 1 1 0 2h-4a1 1 0 0 1-1-1Zm1 3a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2H10Z'></path><path d='M5 5a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v22a3 3 0 0 1-3 3H8a3 3 0 0 1-3-3V5Zm3-1a1 1 0 0 0-1 1v22a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H8Z'></path>\"]];","export default [[\"M2.5 0A1.5 1.5 0 0 0 1 1.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 1 .5-.5h1a.5.5 0 0 0 0-1h-1Zm0 12A1.5 1.5 0 0 1 1 10.5v-1a.5.5 0 0 1 1 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 1 0 1h-1Zm8.5-1.5A1.5 1.5 0 0 1 9.5 12h-1a.5.5 0 0 1 0-1h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 1 1 0v1ZM9.5 0A1.5 1.5 0 0 1 11 1.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 1 0-1h1ZM4 6a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H4ZM3 2.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5ZM5.5 0a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1ZM5 11.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5Zm-3-7a.5.5 0 0 0-1 0v3a.5.5 0 0 0 1 0v-3Zm8.5-.5a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 1 .5-.5Zm-7 0a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5Z\",\"M6.5 1a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3ZM4 3.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5ZM5.5 7A1.5 1.5 0 0 0 4 8.5v3A1.5 1.5 0 0 0 5.5 13h5a1.5 1.5 0 0 0 1.5-1.5v-3A1.5 1.5 0 0 0 10.5 7h-5ZM3 5.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM2.5 9a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM14 5.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM13.5 9a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM4 5.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5ZM3.5 1A1.5 1.5 0 0 0 2 2.5v1a.5.5 0 0 0 1 0v-1a.5.5 0 0 1 .5-.5h1a.5.5 0 0 0 0-1h-1ZM14 2.5A1.5 1.5 0 0 0 12.5 1h-1a.5.5 0 0 0 0 1h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 0 1 0v-1ZM3.5 15A1.5 1.5 0 0 1 2 13.5v-1a.5.5 0 0 1 1 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 1 0 1h-1ZM14 13.5a1.5 1.5 0 0 1-1.5 1.5h-1a.5.5 0 0 1 0-1h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 1 1 0v1Zm-7.5.5a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Z\",\"M6 1a3 3 0 0 0-3 3v1a1 1 0 0 0 2 0V4a1 1 0 0 1 1-1h1a1 1 0 1 0 0-2H6Zm15 3a3 3 0 0 0-3-3h-1a1 1 0 1 0 0 2h1a1 1 0 0 1 1 1v1a1 1 0 1 0 2 0V4ZM6 23a3 3 0 0 1-3-3v-1a1 1 0 1 1 2 0v1a1 1 0 0 0 1 1h1a1 1 0 1 1 0 2H6Zm12 0a3 3 0 0 0 3-3v-1a1 1 0 1 0-2 0v1a1 1 0 0 1-1 1h-1a1 1 0 1 0 0 2h1ZM9 12a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H9ZM7 6a1 1 0 0 1 1-1h3a1 1 0 1 1 0 2H8a1 1 0 0 1-1-1Zm1 2a1 1 0 0 0 0 2h8a1 1 0 1 0 0-2H8Zm2-6a1 1 0 0 1 1-1h2a1 1 0 1 1 0 2h-2a1 1 0 0 1-1-1Zm1 19a1 1 0 1 0 0 2h2a1 1 0 1 0 0-2h-2ZM4 7a1 1 0 0 1 1 1v2a1 1 0 1 1-2 0V8a1 1 0 0 1 1-1Zm1 7a1 1 0 1 0-2 0v2a1 1 0 1 0 2 0v-2Zm15-7a1 1 0 0 1 1 1v2a1 1 0 1 1-2 0V8a1 1 0 0 1 1-1Zm1 7a1 1 0 1 0-2 0v2a1 1 0 1 0 2 0v-2Z\",\"M8 2a3 3 0 0 0-3 3v1a1 1 0 0 0 2 0V5a1 1 0 0 1 1-1h1a1 1 0 0 0 0-2H8Zm16 0a3 3 0 0 1 3 3v1a1 1 0 1 1-2 0V5a1 1 0 0 0-1-1h-1a1 1 0 1 1 0-2h1ZM6 9a1 1 0 0 1 1 1v4a1 1 0 1 1-2 0v-4a1 1 0 0 1 1-1Zm1 9a1 1 0 1 0-2 0v4a1 1 0 1 0 2 0v-4Zm19-9a1 1 0 0 1 1 1v4a1 1 0 1 1-2 0v-4a1 1 0 0 1 1-1Zm1 9a1 1 0 1 0-2 0v4a1 1 0 1 0 2 0v-4Zm0 9a3 3 0 0 1-3 3h-1a1 1 0 1 1 0-2h1a1 1 0 0 0 1-1v-1a1 1 0 1 1 2 0v1ZM8 30a3 3 0 0 1-3-3v-1a1 1 0 1 1 2 0v1a1 1 0 0 0 1 1h1a1 1 0 1 1 0 2H8Zm3-16a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2H11ZM9 7a1 1 0 0 1 1-1h4a1 1 0 1 1 0 2h-4a1 1 0 0 1-1-1Zm1 3a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2H10Zm2-7a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2h-6a1 1 0 0 1-1-1Zm1 25a1 1 0 1 0 0 2h6a1 1 0 1 0 0-2h-6Z\"]];","export default [[\"M1 2.5A1.5 1.5 0 0 1 2.5 1h2a1.5 1.5 0 0 1 1.415 1H10a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H5.915A1.5 1.5 0 0 1 4.5 6h-2A1.5 1.5 0 0 1 1 4.5v-2ZM6 4V3h4v1H6ZM5 2.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5ZM2 10h4.085A1.5 1.5 0 0 0 7.5 11h2A1.5 1.5 0 0 0 11 9.5v-2A1.5 1.5 0 0 0 9.5 6h-2a1.5 1.5 0 0 0-1.415 1H2a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1Zm5.5-3a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Z\",\"M2 3.5A1.5 1.5 0 0 1 3.5 2h3a1.5 1.5 0 0 1 1.415 1H13a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7.915A1.5 1.5 0 0 1 6.5 8h-3A1.5 1.5 0 0 1 2 6.5v-3ZM8 6V4h5v2H8ZM7 3.5v3a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5Zm7 6A1.5 1.5 0 0 0 12.5 8h-3a1.5 1.5 0 0 0-1.415 1H3a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h5.085A1.5 1.5 0 0 0 9.5 14h3a1.5 1.5 0 0 0 1.5-1.5v-3Zm-5 3v-3a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5Z\",\"M2 5a3 3 0 0 1 3-3h4c1.306 0 2.418.835 2.83 2H20a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-8.17A3.001 3.001 0 0 1 9 12H5a3 3 0 0 1-3-3V5Zm10 3V6h8v2h-8ZM9 4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h4ZM4 20h8.17A3.001 3.001 0 0 0 15 22h4a3 3 0 0 0 3-3v-4a3 3 0 0 0-3-3h-4a3.001 3.001 0 0 0-2.83 2H4a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2Zm11 0a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4Z\",\"M2 5a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3h12a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H16a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5Zm14 6V7h12v4H16Zm-3-7a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h8Zm3 15a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3h-8a3 3 0 0 1-3-3H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h12Zm2 8v-8a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1h-8a1 1 0 0 1-1-1Z\"]];","export default [[\"M3 3v-.5A1.5 1.5 0 0 1 4.5 1h3A1.5 1.5 0 0 1 9 2.5V3h1.5A1.5 1.5 0 0 1 12 4.5V7H9v-.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5V7H5v-.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5V7H0V4.5A1.5 1.5 0 0 1 1.5 3H3Zm1-.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5V3H4v-.5ZM0 8v1.5A1.5 1.5 0 0 0 1.5 11h9A1.5 1.5 0 0 0 12 9.5V8H9v.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5V8H5v.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5V8H0Z\",\"M5 4.5V5H2.5A1.5 1.5 0 0 0 1 6.5V9h4v-.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5V9h2v-.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5V9h4V6.5A1.5 1.5 0 0 0 13.5 5H11v-.5A1.5 1.5 0 0 0 9.5 3h-3A1.5 1.5 0 0 0 5 4.5ZM6.5 4a.5.5 0 0 0-.5.5V5h4v-.5a.5.5 0 0 0-.5-.5h-3Zm8.5 6h-4v.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5V10H7v.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5V10H1v2.5A1.5 1.5 0 0 0 2.5 14h11a1.5 1.5 0 0 0 1.5-1.5V10Z\",\"M6 6a3 3 0 0 1 3-3h6a3 3 0 0 1 3 3v1h2a3 3 0 0 1 3 3v3h-5v-1a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v1h-4v-1a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v1H1v-3a3 3 0 0 1 3-3h2V6Zm10 0v1H8V6a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1ZM1 15v3a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3v-3h-5v1a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1v-1h-4v1a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-1H1Z\",\"M12 5a3 3 0 0 0-3 3v1H5a3 3 0 0 0-3 3v6h6v-2a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2h8v-2a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2h6v-6a3 3 0 0 0-3-3h-4V8a3 3 0 0 0-3-3h-8Zm9 4V8a1 1 0 0 0-1-1h-8a1 1 0 0 0-1 1v1h10Zm9 11h-6v1a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1v-1h-8v1a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1v-1H2v4a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3v-4Z\"],[\"M3 3v-.5A1.5 1.5 0 0 1 4.5 1h3A1.5 1.5 0 0 1 9 2.5V3h1.5A1.5 1.5 0 0 1 12 4.5v5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 0 9.5v-5A1.5 1.5 0 0 1 1.5 3H3Zm1-.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5V3H4v-.5Zm-3 7V8h2v.5a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5V8h2v.5a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5V8h2v1.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5Zm2-3V7H1V4.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5V7H9v-.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5V7H5v-.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Z\",\"M5 4.5V5H2.5A1.5 1.5 0 0 0 1 6.5v6A1.5 1.5 0 0 0 2.5 14h11a1.5 1.5 0 0 0 1.5-1.5v-6A1.5 1.5 0 0 0 13.5 5H11v-.5A1.5 1.5 0 0 0 9.5 3h-3A1.5 1.5 0 0 0 5 4.5ZM6.5 4a.5.5 0 0 0-.5.5V5h4v-.5a.5.5 0 0 0-.5-.5h-3ZM5 10H2v2.5a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5V10h-3v.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5V10H7v.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5V10Zm0-1v-.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5V9h2v-.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5V9h3V6.5a.5.5 0 0 0-.5-.5h-11a.5.5 0 0 0-.5.5V9h3Z\",\"M6 6a3 3 0 0 1 3-3h6a3 3 0 0 1 3 3v1h2a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3v-8a3 3 0 0 1 3-3h2V6Zm10 0v1H8V6a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1ZM4 9h16a1 1 0 0 1 1 1v3h-3v-1a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v1h-4v-1a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v1H3v-3a1 1 0 0 1 1-1Zm14 6v1a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1v-1h-4v1a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-1H3v3a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-3h-3Z\",\"M9 8a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v1h4a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V12a3 3 0 0 1 3-3h4V8Zm12 0v1H11V8a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1ZM5 11h22a1 1 0 0 1 1 1v6h-4v-2a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v2h-8v-2a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v2H4v-6a1 1 0 0 1 1-1Zm19 9v1a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1v-1h-8v1a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1v-1H4v4a1 1 0 0 0 1 1h22a1 1 0 0 0 1-1v-4h-4Z\"]];","export default [[\"M2.5 0a.5.5 0 0 1 .447.276l2 4a.5.5 0 1 1-.894.448L3.69 4H1.31l-.362.724a.5.5 0 1 1-.894-.448l2-4A.5.5 0 0 1 2.5 0Zm0 1.618L3.191 3H1.81l.69-1.382Zm8.354.236a.5.5 0 0 0-.707-.708l-9 9a.5.5 0 0 0 .707.708l9-9Zm-3 5.292a.5.5 0 0 1 0 .708L6.207 9.5l1.647 1.646a.5.5 0 0 1-.707.708l-2-2a.5.5 0 0 1 0-.708l2-2a.5.5 0 0 1 .707 0Zm1.293 4a.5.5 0 0 0 .707.708l2-2a.5.5 0 0 0 0-.708l-2-2a.5.5 0 1 0-.707.708L10.793 9.5l-1.646 1.646Z\",\"M3.5 1a.5.5 0 0 1 .464.314l2 5a.5.5 0 1 1-.928.372L4.762 6H2.239l-.275.686a.5.5 0 0 1-.928-.372l2-5A.5.5 0 0 1 3.5 1Zm0 1.846L4.362 5H2.639L3.5 2.846Zm10.354.008a.5.5 0 0 0-.707-.708l-11 11a.5.5 0 0 0 .707.708l11-11Zm-3 7.292a.5.5 0 0 1 0 .708L9.207 12.5l1.647 1.646a.5.5 0 0 1-.707.708l-2-2a.5.5 0 0 1 0-.708l2-2a.5.5 0 0 1 .707 0Zm1.293 4a.5.5 0 0 0 .707.708l2-2a.5.5 0 0 0 0-.708l-2-2a.5.5 0 0 0-.707.708l1.646 1.646-1.646 1.646Z\",\"M5 1a1 1 0 0 1 .92.606l3 7a1 1 0 0 1-1.84.788L6.484 8H3.517l-.598 1.394a1 1 0 0 1-1.838-.788l3-7A1 1 0 0 1 5 1Zm.626 5L5 4.539 4.374 6h1.252ZM3 21a1 1 0 0 1 0-1.414L19.586 3A1 1 0 1 1 21 4.414L4.414 21A1 1 0 0 1 3 21Zm12.707-5.707a1 1 0 0 1 0 1.414L13.414 19l2.293 2.293a1 1 0 0 1-1.414 1.414l-3-3a1 1 0 0 1 0-1.414l3-3a1 1 0 0 1 1.414 0Zm2.586 6a1 1 0 0 0 1.414 1.414l3-3a1 1 0 0 0 0-1.414l-3-3a1 1 0 0 0-1.414 1.414L20.586 19l-2.293 2.293Z\",\"M7.5 2a1 1 0 0 1 .912.59l4.5 10a1 1 0 1 1-1.824.82L10.003 11H4.997l-1.085 2.41a1 1 0 1 1-1.824-.82l4.5-10A1 1 0 0 1 7.5 2Zm1.603 7L7.5 5.437 5.897 9h3.206ZM4 28a1 1 0 0 1 0-1.414L26.586 4A1 1 0 1 1 28 5.414L5.414 28A1 1 0 0 1 4 28Zm15.664-8.747a1 1 0 0 1 .083 1.411L16.338 24.5l3.41 3.836a1 1 0 0 1-1.495 1.328l-4-4.5a1 1 0 0 1 0-1.328l4-4.5a1 1 0 0 1 1.411-.083Zm4.589 9.083a1 1 0 0 0 1.494 1.328l4-4.5a1 1 0 0 0 0-1.328l-4-4.5a1 1 0 0 0-1.494 1.328l3.409 3.836-3.41 3.836Z\"],[\"M2.5 0a.5.5 0 0 1 .447.276l2 4a.5.5 0 1 1-.894.448L3.69 4H1.31l-.362.724a.5.5 0 1 1-.894-.448l2-4A.5.5 0 0 1 2.5 0Zm0 1.618L3.191 3H1.81l.69-1.382Zm8.354.236a.5.5 0 0 0-.707-.708l-9 9a.5.5 0 0 0 .707.708l9-9Zm-3 5.292a.5.5 0 0 1 0 .708L6.207 9.5l1.647 1.646a.5.5 0 0 1-.707.708l-2-2a.5.5 0 0 1 0-.708l2-2a.5.5 0 0 1 .707 0Zm1.293 4a.5.5 0 0 0 .707.708l2-2a.5.5 0 0 0 0-.708l-2-2a.5.5 0 1 0-.707.708L10.793 9.5l-1.646 1.646Z\",\"M3.5 1a.5.5 0 0 1 .464.314l2 5a.5.5 0 0 1-.928.372L4.76 6H2.238l-.274.686a.5.5 0 0 1-.928-.372l2-5A.5.5 0 0 1 3.5 1Zm0 1.846L4.36 5H2.638L3.5 2.846Zm10.353.008a.5.5 0 1 0-.707-.708l-11 11a.5.5 0 0 0 .707.708l11-11Zm-3 7.292a.5.5 0 0 1 0 .708L9.207 12.5l1.646 1.646a.5.5 0 0 1-.707.708l-2-2a.5.5 0 0 1 0-.708l2-2a.5.5 0 0 1 .707 0Zm1.293 4a.5.5 0 0 0 .707.708l2-2a.5.5 0 0 0 0-.708l-2-2a.5.5 0 0 0-.707.708l1.647 1.646-1.647 1.646Z\",\"M5 1a1 1 0 0 1 .92.606l3 7a1 1 0 0 1-1.84.788L6.484 8H3.517l-.598 1.394a1 1 0 0 1-1.838-.788l3-7A1 1 0 0 1 5 1Zm.626 5L5 4.539 4.374 6h1.252ZM3 21a1 1 0 0 1 0-1.414L19.586 3A1 1 0 1 1 21 4.414L4.414 21A1 1 0 0 1 3 21Zm12.707-5.707a1 1 0 0 1 0 1.414L13.414 19l2.293 2.293a1 1 0 0 1-1.414 1.414l-3-3a1 1 0 0 1 0-1.414l3-3a1 1 0 0 1 1.414 0Zm2.586 6a1 1 0 0 0 1.414 1.414l3-3a1 1 0 0 0 0-1.414l-3-3a1 1 0 0 0-1.414 1.414L20.586 19l-2.293 2.293Z\",\"M7.5 2a1 1 0 0 1 .912.59l4.5 10a1 1 0 1 1-1.824.82L10.003 11H4.997l-1.085 2.41a1 1 0 1 1-1.824-.82l4.5-10A1 1 0 0 1 7.5 2Zm1.603 7L7.5 5.437 5.897 9h3.206ZM4 28a1 1 0 0 1 0-1.414L26.586 4A1 1 0 1 1 28 5.414L5.414 28A1 1 0 0 1 4 28Zm15.664-8.747a1 1 0 0 1 .083 1.411L16.338 24.5l3.41 3.836a1 1 0 0 1-1.495 1.328l-4-4.5a1 1 0 0 1 0-1.328l4-4.5a1 1 0 0 1 1.411-.083Zm4.589 9.083a1 1 0 0 0 1.494 1.328l4-4.5a1 1 0 0 0 0-1.328l-4-4.5a1 1 0 0 0-1.494 1.328l3.409 3.836-3.41 3.836Z\"]];","export default [[\"M2.5 0a.5.5 0 0 1 .447.276l2 4a.5.5 0 1 1-.894.448L3.69 4H1.31l-.362.724a.5.5 0 1 1-.894-.448l2-4A.5.5 0 0 1 2.5 0Zm0 1.618L3.191 3H1.81l.69-1.382ZM7.5 8a.5.5 0 0 0 0 1h.733l.666 1-.815 1.223a.5.5 0 0 0 .832.554l.584-.876.584.876a.5.5 0 0 0 .832-.554L10.101 10l.667-1h.732a.5.5 0 1 0 0-1H10v-.5a.5.5 0 1 0-1 0V8H7.5Zm2.066 1-.066.099L9.434 9h.132Zm1.288-7.146a.5.5 0 0 0-.707-.708l-9 9a.5.5 0 0 0 .707.708l9-9Z\",\"M3.5 1a.5.5 0 0 1 .464.314l2 5a.5.5 0 1 1-.928.372L4.762 6H2.239l-.275.686a.5.5 0 0 1-.928-.372l2-5A.5.5 0 0 1 3.5 1Zm0 1.846L4.362 5H2.639L3.5 2.846Zm10.354.008a.5.5 0 0 0-.707-.708l-11 11a.5.5 0 0 0 .707.708l11-11ZM9 10.5a.5.5 0 0 1 .5-.5h2v-.5a.5.5 0 0 1 1 0v.5h2a.5.5 0 1 1 0 1h-.75l-1.125 1.5 1.275 1.7a.5.5 0 0 1-.8.6L12 13.333 10.9 14.8a.5.5 0 0 1-.8-.6l1.275-1.7L10.25 11H9.5a.5.5 0 0 1-.5-.5Zm3 1.167.5-.667h-1l.5.667Z\",\"M5 1a1 1 0 0 1 .92.606l3 7a1 1 0 0 1-1.84.788L6.484 8H3.517l-.598 1.394a1 1 0 0 1-1.838-.788l3-7A1 1 0 0 1 5 1Zm.626 5L5 4.539 4.374 6h1.252ZM3 21a1 1 0 0 1 0-1.414L19.586 3A1 1 0 1 1 21 4.414L4.414 21A1 1 0 0 1 3 21Zm10-5a1 1 0 0 1 1-1h3v-.5a1 1 0 1 1 2 0v.5h3a1 1 0 1 1 0 2h-.586l-2 2 2.293 2.293a1 1 0 0 1-1.414 1.414L18 20.414l-2.293 2.293a1 1 0 0 1-1.414-1.414L16.586 19l-2-2H14a1 1 0 0 1-1-1Zm5 1.586.586-.586h-1.172l.586.586Z\",\"M7.5 2a1 1 0 0 1 .912.59l4.5 10a1 1 0 1 1-1.824.82L10.003 11H4.997l-1.085 2.41a1 1 0 1 1-1.824-.82l4.5-10A1 1 0 0 1 7.5 2Zm1.603 7L7.5 5.437 5.897 9h3.206ZM4 28a1 1 0 0 1 0-1.414L26.586 4A1 1 0 1 1 28 5.414L5.414 28A1 1 0 0 1 4 28Zm14-7a1 1 0 0 1 1-1h4v-1a1 1 0 1 1 2 0v1h4a1 1 0 1 1 0 2h-1.067l-2.562 2.733 3.359 3.583a1 1 0 1 1-1.46 1.368L24 26.195l-3.27 3.489a1 1 0 1 1-1.46-1.368l3.36-3.583L20.066 22H19a1 1 0 0 1-1-1Zm6 2.271L25.192 22h-2.384L24 23.271Z\"],[\"M2.5 0a.5.5 0 0 1 .447.276l2 4a.5.5 0 1 1-.894.448L3.69 4H1.31l-.362.724a.5.5 0 1 1-.894-.448l2-4A.5.5 0 0 1 2.5 0Zm0 1.618L3.191 3H1.81l.69-1.382ZM7.5 8a.5.5 0 0 0 0 1h.733l.666 1-.815 1.223a.5.5 0 0 0 .832.554l.584-.876.584.876a.5.5 0 0 0 .832-.554L10.101 10l.667-1h.732a.5.5 0 1 0 0-1H10v-.5a.5.5 0 1 0-1 0V8H7.5Zm2.066 1-.066.099L9.434 9h.132Zm1.288-7.146a.5.5 0 0 0-.707-.708l-9 9a.5.5 0 0 0 .707.708l9-9Z\",\"M3.5 1a.5.5 0 0 1 .464.314l2 5a.5.5 0 1 1-.928.372L4.762 6H2.239l-.275.686a.5.5 0 0 1-.928-.372l2-5A.5.5 0 0 1 3.5 1Zm0 1.846L4.362 5H2.639L3.5 2.846Zm10.354.008a.5.5 0 0 0-.707-.708l-11 11a.5.5 0 0 0 .707.708l11-11ZM9 10.5a.5.5 0 0 1 .5-.5h2v-.5a.5.5 0 0 1 1 0v.5h2a.5.5 0 1 1 0 1h-.75l-1.125 1.5 1.275 1.7a.5.5 0 0 1-.8.6L12 13.333 10.9 14.8a.5.5 0 0 1-.8-.6l1.275-1.7L10.25 11H9.5a.5.5 0 0 1-.5-.5Zm3 1.167.5-.667h-1l.5.667Z\",\"M5 1a1 1 0 0 1 .919.606l3 7a1 1 0 1 1-1.838.788L6.483 8H3.516L2.92 9.394a1 1 0 1 1-1.838-.788l3-7A1 1 0 0 1 5 1Zm.626 5L5 4.539 4.373 6h1.253ZM3 21a1 1 0 0 1 0-1.414L19.586 3A1 1 0 1 1 21 4.414L4.414 21A1 1 0 0 1 3 21Zm10-5a1 1 0 0 1 1-1h3v-.5a1 1 0 1 1 2 0v.5h3a1 1 0 1 1 0 2h-.586l-2 2 2.293 2.293a1 1 0 0 1-1.414 1.414L18 20.414l-2.293 2.293a1 1 0 0 1-1.414-1.414L16.586 19l-2-2H14a1 1 0 0 1-1-1Zm5 1.586.586-.586h-1.172l.586.586Z\",\"M7.5 2a1 1 0 0 1 .912.59l4.5 10a1 1 0 0 1-1.824.82L10.003 11H4.996l-1.084 2.41a1 1 0 1 1-1.824-.82l4.5-10A1 1 0 0 1 7.5 2Zm1.603 7L7.5 5.437 5.896 9h3.207ZM4 28a1 1 0 0 1 0-1.414L26.586 4A1 1 0 1 1 28 5.414L5.414 28A1 1 0 0 1 4 28Zm14-7a1 1 0 0 1 1-1h4v-1a1 1 0 1 1 2 0v1h4a1 1 0 0 1 0 2h-1.067l-2.563 2.733 3.36 3.583a1 1 0 1 1-1.46 1.368L24 26.195l-3.27 3.489a1 1 0 1 1-1.46-1.368l3.359-3.583L20.066 22H19a1 1 0 0 1-1-1Zm6 2.271L25.192 22h-2.384L24 23.271Z\"]];","export default [[\"M5.5 1A1.5 1.5 0 0 0 4 2.5V3H1.5a.5.5 0 0 0 0 1h.566l.816 5.712A1.5 1.5 0 0 0 4.367 11h3.266a1.5 1.5 0 0 0 1.485-1.288L9.934 4h.566a.5.5 0 0 0 0-1H8v-.5A1.5 1.5 0 0 0 6.5 1h-1ZM7 3v-.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5V3h2Z\",\"M5 2.5A1.5 1.5 0 0 1 6.5 1h3A1.5 1.5 0 0 1 11 2.5V3h2.5a.5.5 0 0 1 0 1h-.543l-.794 8.726A2.5 2.5 0 0 1 9.673 15H6.327a2.5 2.5 0 0 1-2.49-2.274L3.044 4H2.5a.5.5 0 0 1 0-1H5v-.5Zm5 0V3H6v-.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5ZM6.5 6a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-1 0v-5a.5.5 0 0 1 .5-.5Zm3 0a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-1 0v-5a.5.5 0 0 1 .5-.5Z\",\"M8 5a3 3 0 0 1 3-3h2a3 3 0 0 1 3 3h3.5a1 1 0 1 1 0 2h-.564l-.814 12.2A3 3 0 0 1 15.13 22H8.87a3 3 0 0 1-2.993-2.8L5.064 7H4.5a1 1 0 0 1 0-2H8Zm5-1a1 1 0 0 1 1 1h-4a1 1 0 0 1 1-1h2Zm-3 4a1 1 0 0 1 1 1v8a1 1 0 1 1-2 0V9a1 1 0 0 1 1-1Zm4 0a1 1 0 0 1 1 1v8a1 1 0 1 1-2 0V9a1 1 0 0 1 1-1Z\",\"M10 5a3 3 0 0 1 3-3h6a3 3 0 0 1 3 3h4a1 1 0 1 1 0 2h-1.087l-1.752 19.272A3 3 0 0 1 20.174 29h-8.348a3 3 0 0 1-2.987-2.728L7.087 7H6a1 1 0 0 1 0-2h4Zm9-1a1 1 0 0 1 1 1h-8a1 1 0 0 1 1-1h6Zm-5 5a1 1 0 0 1 1 1v13a1 1 0 1 1-2 0V10a1 1 0 0 1 1-1Zm4 0a1 1 0 0 1 1 1v13a1 1 0 1 1-2 0V10a1 1 0 0 1 1-1Z\"],[\"M5.5 1A1.5 1.5 0 0 0 4 2.5V3H1.5a.5.5 0 0 0 0 1h.566l.816 5.712A1.5 1.5 0 0 0 4.367 11h3.266a1.5 1.5 0 0 0 1.485-1.288L9.934 4h.566a.5.5 0 0 0 0-1H8v-.5A1.5 1.5 0 0 0 6.5 1h-1ZM7 3v-.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5V3h2ZM3.077 4l.795 5.57a.5.5 0 0 0 .495.43h3.266a.5.5 0 0 0 .495-.43L8.924 4H3.077Z\",\"<path d='M7 6.5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0v-5ZM9.5 6a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-1 0v-5a.5.5 0 0 1 .5-.5Z'></path><path d='M6.5 1A1.5 1.5 0 0 0 5 2.5V3H2.5a.5.5 0 0 0 0 1h.543l.794 8.726A2.5 2.5 0 0 0 6.327 15h3.347a2.5 2.5 0 0 0 2.49-2.274L12.956 4h.543a.5.5 0 0 0 0-1H11v-.5A1.5 1.5 0 0 0 9.5 1h-3ZM10 3v-.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5V3h4ZM4.048 4l.785 8.636A1.5 1.5 0 0 0 6.326 14h3.348a1.5 1.5 0 0 0 1.493-1.364L11.953 4H4.048Z'></path>\",\"<path d='M10 8a1 1 0 0 1 1 1v8a1 1 0 1 1-2 0V9a1 1 0 0 1 1-1Zm5 1a1 1 0 1 0-2 0v8a1 1 0 1 0 2 0V9Z'></path><path d='M11 2a3 3 0 0 0-3 3H4.5a1 1 0 0 0 0 2h.564l.814 12.2A3 3 0 0 0 8.87 22h6.258a3 3 0 0 0 2.993-2.8L18.936 7h.564a1 1 0 1 0 0-2H16a3 3 0 0 0-3-3h-2Zm3 3a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1h4ZM7.069 7h9.862l-.804 12.067a1 1 0 0 1-.998.933H8.87a1 1 0 0 1-.998-.933L7.07 7Z'></path>\",\"<path d='M14 9a1 1 0 0 1 1 1v13a1 1 0 1 1-2 0V10a1 1 0 0 1 1-1Zm5 1a1 1 0 1 0-2 0v13a1 1 0 1 0 2 0V10Z'></path><path d='M13 2a3 3 0 0 0-3 3H6a1 1 0 0 0 0 2h1.087l1.752 19.272A3 3 0 0 0 11.826 29h8.348a3 3 0 0 0 2.987-2.728L24.913 7H26a1 1 0 1 0 0-2h-4a3 3 0 0 0-3-3h-6Zm7 3a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1h8ZM9.095 7h13.81l-1.736 19.09a1 1 0 0 1-.995.91h-8.348a1 1 0 0 1-.995-.91L9.095 7Z'></path>\"]];","export default [[\"M8 1.5a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5H5v1H3.5A1.5 1.5 0 0 0 2 7.5V8h-.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H3v-.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5V8h-.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H9v-.5A1.5 1.5 0 0 0 7.5 6H6V5h1.5a.5.5 0 0 0 .5-.5v-3Z\",\"M4 1.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5H8v2h3.5A1.5 1.5 0 0 1 13 9.5v.5h1.5a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5H12v-.5a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5v.5h1.5a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5H3v-.5A1.5 1.5 0 0 1 4.5 8H7V6H4.5a.5.5 0 0 1-.5-.5v-4Z\",\"M17 3a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h3v3H7a3 3 0 0 0-3 3v1H3a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H6v-1a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v1h-1a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-1v-1a3 3 0 0 0-3-3h-4V9h3a1 1 0 0 0 1-1V3Z\",\"M22 5a2 2 0 0 0-2-2h-8a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h3v5h-5a3 3 0 0 0-3 3v2H6a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2H9v-2a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v2h-1a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-1v-2a3 3 0 0 0-3-3h-5v-5h3a2 2 0 0 0 2-2V5Z\"],[\"M7.5 1a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5H6v1h1.5A1.5 1.5 0 0 1 9 7.5V8h.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5H8v-.5a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 0-.5.5V8h.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5H2v-.5A1.5 1.5 0 0 1 3.5 6H5V5H3.5a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 .5-.5h4ZM2 9v1h1V9H2Zm6 0v1h1V9H8ZM7 4H4V2h3v2Z\",\"M4.5 1a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5H7v2H4.5A1.5 1.5 0 0 0 3 9.5v.5H1.5a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5H4v-.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v.5h-1.5a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5H13v-.5A1.5 1.5 0 0 0 11.5 8H8V6h2.5a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-6ZM11 11v3h3v-3h-3Zm-9 0v3h3v-3H2Zm8-6H5V2h5v3Z\",\"M16 2a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1h-3v3h4a3 3 0 0 1 3 3v1h1a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h1v-1a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v1h1a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h1v-1a3 3 0 0 1 3-3h4V9H8a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h8Zm-1 2H9v3h6V4Zm5 16v-2h-2v2h2ZM4 18h2v2H4v-2Z\",\"M20 3a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-3v5h5a3 3 0 0 1 3 3v2h1a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1v-2a1 1 0 0 0-1-1H10a1 1 0 0 0-1 1v2h1a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1v-2a3 3 0 0 1 3-3h5v-5h-3a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h8ZM6 23v4h4v-4H6Zm16 0v4h4v-4h-4ZM20 9h-8V5h8v4Z\"]];","export default [[\"<path d='M7 .5a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H4v1H2.5A1.5 1.5 0 0 0 1 5.5V6H.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H2v-.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5V6h-.5a.5.5 0 0 0-.5.5v.586a1.494 1.494 0 0 1 .861.784L7 7.316 7.086 7a1.501 1.501 0 0 1 1.417-1H8v-.5A1.5 1.5 0 0 0 6.5 4H5V3h1.5a.5.5 0 0 0 .5-.5v-2Z'></path><path d='M8.985 7.621a.5.5 0 1 0-.97-.242l-1 4a.5.5 0 0 0 .97.242l1-4Zm-3.131.526a.5.5 0 0 1 0 .707l-.647.646.647.647a.5.5 0 1 1-.708.707l-1-1a.5.5 0 0 1 0-.707l1-1a.5.5 0 0 1 .708 0Zm4.292 0a.5.5 0 0 0 0 .707l.647.646-.647.647a.5.5 0 0 0 .708.707l1-1a.5.5 0 0 0 0-.707l-1-1a.5.5 0 0 0-.708 0Z'></path>\",\"<path d='M11.974 8.658a.5.5 0 1 0-.948-.316l-2 6a.5.5 0 1 0 .948.316l2-6Zm-4.12.488a.5.5 0 0 1 0 .708L6.207 11.5l1.647 1.646a.5.5 0 1 1-.708.708l-2-2a.5.5 0 0 1 0-.707l2-2a.5.5 0 0 1 .708 0Zm5.292.001a.5.5 0 0 0 0 .707l1.647 1.646-1.647 1.647a.5.5 0 0 0 .708.707l2-2a.5.5 0 0 0 0-.707l-2-2a.5.5 0 0 0-.708 0Z'></path><path d='M6.5 0a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5H5v1h1.5A1.5 1.5 0 0 1 8 6.5V7h.5a.5.5 0 0 1 .5.5v2.003A1.5 1.5 0 0 0 6.44 8.44L6 8.88V7.5a.5.5 0 0 1 .5-.5H7v-.5a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 0-.5.5V7h.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2A.5.5 0 0 1 .5 7H1v-.5A1.5 1.5 0 0 1 2.5 5H4V4H2.5a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 .5-.5h4Z'></path>\",\"<path d='M15 2a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h3v2H6a3 3 0 0 0-3 3v1H2a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a.995.995 0 0 0 .6-.2 3 3 0 0 1 .279-3.92L7 14.757V14a1 1 0 0 0-1-1H5v-1a1 1 0 0 1 1-1h8c.057 0 .112.005.166.014a2.995 2.995 0 0 1 1.335-1.612A2.986 2.986 0 0 0 14 9h-3V7h3a1 1 0 0 0 1-1V2Z'></path><path d='M17.98 12.196a1 1 0 1 0-1.96-.392l-2 10a1 1 0 0 0 1.96.392l2-10Zm-5.273 1.097a1 1 0 0 1 0 1.414L10.414 17l2.293 2.293a1 1 0 0 1-1.414 1.414l-3-3a1 1 0 0 1 0-1.414l3-3a1 1 0 0 1 1.414 0Zm6.586 1.414a1 1 0 1 1 1.414-1.414l3 3a1 1 0 0 1 0 1.414l-3 3a1 1 0 1 1-1.414-1.414L21.585 17l-2.292-2.293Z'></path>\",\"<path d='M16 2a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1h-3v3h4a3 3 0 0 1 3 3v1h-2v-1a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v1h1a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h1v-1a3 3 0 0 1 3-3h4V9H8a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h8Zm7.316 14.052a1 1 0 0 1 .632 1.265l-4 11.999a1 1 0 1 1-1.897-.632l4-12a1 1 0 0 1 1.265-.632Z'></path><path d='M15.707 19.707a1 1 0 1 0-1.414-1.414l-4 4a1 1 0 0 0 0 1.414l4 4a1 1 0 0 0 1.414-1.414L12.414 23l3.293-3.293Zm10.585 0a1 1 0 0 1 1.414-1.414l4 4a1 1 0 0 1 0 1.414l-4 4a1 1 0 0 1-1.414-1.414L29.585 23l-3.293-3.293Z'></path>\"],[\"<path d='M7 .5a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H4v1H2.5A1.5 1.5 0 0 0 1 5.5V6H.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H2v-.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5V6h-.5a.5.5 0 0 0-.5.5v.586a1.494 1.494 0 0 1 .861.784L7 7.316V7h.086a1.501 1.501 0 0 1 1.417-1H8v-.5A1.5 1.5 0 0 0 6.5 4H5V3h1.5a.5.5 0 0 0 .5-.5v-2ZM1 8V7h1v1H1Zm2-6h3V1H3v1Z'></path><path d='M8.985 7.621a.5.5 0 1 0-.97-.242l-1 4a.5.5 0 0 0 .97.242l1-4Zm-3.131.526a.5.5 0 0 1 0 .707l-.647.646.647.647a.5.5 0 1 1-.708.707l-1-1a.5.5 0 0 1 0-.707l1-1a.5.5 0 0 1 .708 0Zm4.292 0a.5.5 0 0 0 0 .707l.647.646-.647.647a.5.5 0 0 0 .708.707l1-1a.5.5 0 0 0 0-.707l-1-1a.5.5 0 0 0-.708 0Z'></path>\",\"<path d='M7 .5a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5H4v1H2.5A1.5 1.5 0 0 0 1 6.5V7H.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H2v-.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5V7h-.5a.5.5 0 0 0-.5.5v1.379l.44-.44c.163-.163.355-.281.56-.354V8h1v.085a1.495 1.495 0 0 1 1 1.418V7.5a.5.5 0 0 0-.5-.5H8v-.5A1.5 1.5 0 0 0 6.5 5H5V4h1.5a.5.5 0 0 0 .5-.5v-3ZM1 9V8h1v1H1Zm2-6h3V1H3v2Z'></path><path d='M11.974 8.658a.5.5 0 1 0-.948-.316l-2 6a.5.5 0 1 0 .948.316l2-6Zm-4.12.488a.5.5 0 0 1 0 .708L6.207 11.5l1.647 1.646a.5.5 0 1 1-.708.708l-2-2a.5.5 0 0 1 0-.707l2-2a.5.5 0 0 1 .708 0Zm5.292.001a.5.5 0 0 0 0 .707l1.647 1.646-1.647 1.647a.5.5 0 0 0 .708.707l2-2a.5.5 0 0 0 0-.707l-2-2a.5.5 0 0 0-.708 0Z'></path>\",\"<path d='M15 2a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h3v2H6a3 3 0 0 0-3 3v1H2a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a.995.995 0 0 0 .6-.2 3 3 0 0 1 .279-3.92L7 14.757V14a1 1 0 0 0-1-1H5v-1a1 1 0 0 1 1-1h8c.057 0 .112.005.166.014a2.995 2.995 0 0 1 1.335-1.612A2.986 2.986 0 0 0 14 9h-3V7h3a1 1 0 0 0 1-1V2ZM7 3h6v2H7V3ZM3 15h2v2H3v-2Z'></path><path d='M17.98 12.196a1 1 0 1 0-1.96-.392l-2 10a1 1 0 0 0 1.96.392l2-10Zm-5.273 1.097a1 1 0 0 1 0 1.414L10.414 17l2.293 2.293a1 1 0 0 1-1.414 1.414l-3-3a1 1 0 0 1 0-1.414l3-3a1 1 0 0 1 1.414 0Zm6.586 1.414a1 1 0 1 1 1.414-1.414l3 3a1 1 0 0 1 0 1.414l-3 3a1 1 0 1 1-1.414-1.414L21.585 17l-2.292-2.293Z'></path>\",\"<path d='M16 2a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1h-3v3h4a3 3 0 0 1 3 3v1h-2v-1a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v1h1a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h1v-1a3 3 0 0 1 3-3h4V9H8a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h8Zm-1 2H9v3h6V4ZM6 18H4v2h2v-2Z'></path><path d='M23.316 16.052a1 1 0 0 1 .632 1.265l-4 11.999a1 1 0 1 1-1.897-.632l4-12a1 1 0 0 1 1.265-.632Zm-7.609 3.655a1 1 0 1 0-1.414-1.414l-4 4a1 1 0 0 0 0 1.414l4 4a1 1 0 0 0 1.414-1.414L12.414 23l3.293-3.293Zm10.585 0a1 1 0 0 1 1.414-1.414l4 4a1 1 0 0 1 0 1.414l-4 4a1 1 0 0 1-1.414-1.414L29.585 23l-3.293-3.293Z'></path>\"]];","export default [[\"m7.854 3.146-2-2a.5.5 0 0 0-.708 0l-2 2a.5.5 0 0 0 0 .708L5 5.707V6.5H3.5A1.5 1.5 0 0 0 2 8h-.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H3a.5.5 0 0 1 .5-.5h4A.5.5 0 0 1 8 8v.085a1.5 1.5 0 1 0 1 0V8a1.5 1.5 0 0 0-1.5-1.5H6v-.793l1.854-1.853a.5.5 0 0 0 0-.708Z\",\"M7.854 1.146a.5.5 0 0 0-.708 0l-3 3a.5.5 0 0 0 0 .708L7 7.707V8.5H4.5A1.5 1.5 0 0 0 3 10H1.5a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5H4a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v.05a2.5 2.5 0 1 0 1 0V10a1.5 1.5 0 0 0-1.5-1.5H8v-.793l2.854-2.853a.5.5 0 0 0 0-.708l-3-3Z\",\"M12.707 1.293a1 1 0 0 0-1.414 0l-4.23 4.23a1 1 0 0 0 0 1.415L11 10.876V12H7a3 3 0 0 0-3 3H2a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H6a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v.126A4.002 4.002 0 0 0 19 23a4 4 0 0 0 1-7.874V15a3 3 0 0 0-3-3h-4v-1.124l3.938-3.938a1 1 0 0 0 0-1.414l-4.23-4.231Z\",\"M16.707 2.293a1 1 0 0 0-1.414 0l-5.5 5.5a1 1 0 0 0 0 1.414L15 14.414V16H9a3 3 0 0 0-3 3v1H3a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-8a1 1 0 0 0-1-1H8v-1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v1c0 .033.002.066.005.099a5.002 5.002 0 0 0 .995 9.9 5 5 0 0 0 .995-9.9c.003-.033.005-.066.005-.1v-1a3 3 0 0 0-3-3h-6v-1.585l5.207-5.207a1 1 0 0 0 0-1.414l-5.5-5.5Z\"],[\"m7.854 3.146-2-2a.5.5 0 0 0-.708 0l-2 2a.5.5 0 0 0 0 .708L5 5.707V6.5H3.5A1.5 1.5 0 0 0 2 8h-.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H3a.5.5 0 0 1 .5-.5h4A.5.5 0 0 1 8 8v.085a1.5 1.5 0 1 0 1 0V8a1.5 1.5 0 0 0-1.5-1.5H6v-.793l1.854-1.853a.5.5 0 0 0 0-.708ZM4.207 3.5 5.5 2.207 6.793 3.5 5.5 4.793 4.207 3.5ZM8 9.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0ZM2 9h1v1H2V9Z\",\"M7.854 1.146a.5.5 0 0 0-.708 0l-3 3a.5.5 0 0 0 0 .708L7 7.707V8.5H4.5A1.5 1.5 0 0 0 3 10H1.5a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5H4a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v.05a2.5 2.5 0 1 0 1 0V10a1.5 1.5 0 0 0-1.5-1.5H8v-.793l2.854-2.853a.5.5 0 0 0 0-.708l-3-3ZM5.207 4.5 7.5 2.207 9.793 4.5 7.5 6.793 5.207 4.5Zm8.793 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM2 11h3v3H2v-3Z\",\"M12.707 1.293a1 1 0 0 0-1.414 0l-4.23 4.23a1 1 0 0 0 0 1.415L11 10.876V12H7a3 3 0 0 0-3 3H2a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1H6a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v.126A4.002 4.002 0 0 0 19 23a4 4 0 0 0 1-7.874V15a3 3 0 0 0-3-3h-4v-1.124l3.938-3.938a1 1 0 0 0 0-1.414l-4.23-4.231ZM11.954 9l-2.77-2.77L12 3.414l2.817 2.817L12.047 9a1.005 1.005 0 0 0-.093 0ZM19 17a2 2 0 1 1 .002 4A2 2 0 0 1 19 17ZM7 17v4H3v-4h4Z\",\"M16.707 2.293a1 1 0 0 0-1.414 0l-5.5 5.5a1 1 0 0 0 0 1.414L15 14.414V16H9a3 3 0 0 0-3 3v1H3a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-8a1 1 0 0 0-1-1H8v-1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v1c0 .033.002.066.005.099a5.002 5.002 0 0 0 .995 9.9 5 5 0 0 0 .995-9.9c.003-.033.005-.066.005-.1v-1a3 3 0 0 0-3-3h-6v-1.585l5.207-5.207a1 1 0 0 0 0-1.414l-5.5-5.5ZM11.914 8.5 16 4.414 20.086 8.5 16 12.586 11.914 8.5ZM4 28v-6h6v6H4Zm21-6a3 3 0 1 1 0 6 3 3 0 0 1 0-6Z\"]];","export default [[\"M3.5 0A1.5 1.5 0 0 0 3 2.915V8a2 2 0 0 0 2 2h1.085a1.5 1.5 0 1 0 0-1H5a1 1 0 0 1-1-1V5.732c.294.17.636.268 1 .268h1.085a1.5 1.5 0 1 0 0-1H5a1 1 0 0 1-1-1V2.915A1.5 1.5 0 0 0 3.5 0Z\",\"M5 1a2 2 0 0 0-1 3.732V11a2 2 0 0 0 2 2h2a2 2 0 1 0 .268-1H6a1 1 0 0 1-1-1V7.732c.294.17.636.268 1 .268h2a2 2 0 1 0 .268-1H6a1 1 0 0 1-1-1V5a2 2 0 1 0 0-4Z\",\"M7 1a3 3 0 0 0-1 5.83V17a4 4 0 0 0 4 4h4.17a3.001 3.001 0 1 0 0-2H10a2 2 0 0 1-2-2v-4.535c.588.34 1.271.535 2 .535h4.17a3.001 3.001 0 1 0 0-2H10a2 2 0 0 1-2-2V6.83A3.001 3.001 0 0 0 7 1Z\",\"M9 2a4 4 0 0 0-1 7.874V23a4 4 0 0 0 4 4h8.126A4.002 4.002 0 0 0 28 26a4 4 0 0 0-7.874-1H12a2 2 0 0 1-2-2v-6.535c.588.34 1.271.535 2 .535h8.126A4.002 4.002 0 0 0 28 16a4 4 0 0 0-7.874-1H12a2 2 0 0 1-2-2V9.874A4.002 4.002 0 0 0 9 2Z\"],[\"M3.5 0A1.5 1.5 0 0 0 3 2.915V8a2 2 0 0 0 2 2h1.085a1.5 1.5 0 1 0 0-1H5a1 1 0 0 1-1-1V5.732c.294.17.636.268 1 .268h1.085a1.5 1.5 0 1 0 0-1H5a1 1 0 0 1-1-1V2.915A1.5 1.5 0 0 0 3.5 0ZM3 1.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0ZM7.5 5a.5.5 0 1 1 0 1 .5.5 0 0 1 0-1Zm0 4a.5.5 0 1 1 0 1 .5.5 0 0 1 0-1Z\",\"M5 1a2 2 0 0 0-1 3.732V11a2 2 0 0 0 2 2h2a2 2 0 1 0 .268-1H6a1 1 0 0 1-1-1V7.732c.294.17.636.268 1 .268h2a2 2 0 1 0 .268-1H6a1 1 0 0 1-1-1V5a2 2 0 1 0 0-4ZM4 3a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm6 4a1 1 0 1 1 0 2 1 1 0 0 1 0-2Zm0 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z\",\"M7 1a3 3 0 0 0-1 5.83V17a4 4 0 0 0 4 4h4.17a3.001 3.001 0 1 0 0-2H10a2 2 0 0 1-2-2v-4.535c.588.34 1.271.535 2 .535h4.17a3.001 3.001 0 1 0 0-2H10a2 2 0 0 1-2-2V6.83A3.001 3.001 0 0 0 7 1ZM6 4a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm11 7a1 1 0 1 1 0 2 1 1 0 0 1 0-2Zm0 8a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z\",\"M9 2a4 4 0 0 0-1 7.874V23a4 4 0 0 0 4 4h8.126A4.002 4.002 0 0 0 28 26a4 4 0 0 0-7.874-1H12a2 2 0 0 1-2-2v-6.535c.588.34 1.271.535 2 .535h8.126A4.002 4.002 0 0 0 28 16a4 4 0 0 0-7.874-1H12a2 2 0 0 1-2-2V9.874A4.002 4.002 0 0 0 9 2ZM7 6a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm17 8a2 2 0 1 1 0 4 2 2 0 0 1 0-4Zm0 10a2 2 0 1 1 0 4 2 2 0 0 1 0-4Z\"]];","export default [[\"M2.5 0A1.5 1.5 0 0 0 2 2.915V8a2 2 0 0 0 2 2h.115a1.333 1.333 0 0 1 0-1H4a1 1 0 0 1-1-1V5.732c.294.17.636.268 1 .268h1.085c.183.517.64.903 1.197.984.104-.477.427-.777.806-.901.123-.374.418-.695.887-.815l.007-.002A1.5 1.5 0 0 0 5.085 5H4a1 1 0 0 1-1-1V2.915A1.5 1.5 0 0 0 2.5 0Zm5.96 6.176a1 1 0 0 0 .72-.72l.06-.237c.07-.268.45-.268.52 0l.06.237a1 1 0 0 0 .72.72l.237.06c.268.07.268.45 0 .52l-.236.06a1 1 0 0 0-.72.72l-.061.236c-.07.27-.45.27-.52 0l-.06-.236a1 1 0 0 0-.72-.72l-.237-.06c-.268-.07-.268-.45 0-.52l.237-.06ZM5.515 9.212a2 2 0 0 0 1.697-1.697l.04-.283c.042-.286.455-.286.496 0l.04.283a2 2 0 0 0 1.697 1.697l.283.04c.286.041.286.455 0 .495l-.283.04a2 2 0 0 0-1.697 1.698l-.04.283c-.041.286-.454.286-.495 0l-.04-.283a2 2 0 0 0-1.698-1.697l-.283-.04c-.286-.041-.286-.455 0-.496l.283-.04Z\",\"M4 1a2 2 0 0 0-1 3.732V11a2 2 0 0 0 2 2h1.212a1.288 1.288 0 0 1 0-1H5a1 1 0 0 1-1-1V7.732c.294.17.636.268 1 .268h2a2 2 0 0 0 2.153 1.994 2 2 0 0 0 .118-.49l.036-.325c.083-.743.686-1.098 1.266-1.066a1.06 1.06 0 0 1 .389-.503A2 2 0 0 0 7.268 7H5a1 1 0 0 1-1-1V5a2 2 0 1 0 0-4Zm9.277 6.104a1.63 1.63 0 0 1-1.173 1.173l-.521.134c-.11.028-.11.185 0 .213l.52.134a1.63 1.63 0 0 1 1.174 1.173l.134.521c.028.11.185.11.213 0l.134-.52a1.63 1.63 0 0 1 1.173-1.174l.522-.134c.11-.028.11-.185 0-.213l-.522-.134a1.63 1.63 0 0 1-1.173-1.173l-.134-.521c-.028-.11-.185-.11-.213 0l-.134.52Zm-5.662 5.161a3 3 0 0 0 2.65-2.65l.036-.326c.027-.237.371-.237.398 0l.036.326a3 3 0 0 0 2.65 2.65l.326.036c.237.027.237.371 0 .398l-.326.036a3 3 0 0 0-2.65 2.65l-.036.326c-.027.237-.371.237-.398 0l-.036-.326a3 3 0 0 0-2.65-2.65l-.326-.036c-.237-.027-.237-.371 0-.398l.326-.036Z\",\"<path d='M6 1a3 3 0 0 0-1 5.83V17a4 4 0 0 0 4 4h2.549c-.04-.01-.08-.018-.12-.026l-1.164-.211c-1.088-.198-1.706-.985-1.853-1.85A2 2 0 0 1 7 17v-4.535c.588.34 1.271.535 2 .535h4.17c.025.068.051.135.08.2.322-1.554 1.866-2.114 3.07-1.681.219-.103.468-.175.748-.206l.326-.036a1 1 0 0 0 .883-.883l.034-.307a3.001 3.001 0 0 0-5.14.913H9a2 2 0 0 1-2-2V6.83A3.001 3.001 0 0 0 6 1Zm11.615 12.265a3 3 0 0 0 2.65-2.65l.036-.326c.027-.237.371-.237.398 0l.036.326a3 3 0 0 0 2.65 2.65l.326.036c.237.027.237.371 0 .398l-.326.036a3 3 0 0 0-2.65 2.65l-.036.326c-.027.237-.372.237-.398 0l-.036-.326a3 3 0 0 0-2.65-2.65l-.326-.036c-.237-.027-.237-.371 0-.398l.326-.036Z'></path><path d='M11.787 17.993a3.983 3.983 0 0 0 3.206-3.206l.212-1.164c.06-.328.53-.328.59 0l.212 1.164a3.983 3.983 0 0 0 3.206 3.206l1.163.212c.329.06.329.53 0 .59l-1.163.212a3.983 3.983 0 0 0-3.206 3.206l-.212 1.164c-.06.328-.53.328-.59 0l-.212-1.164a3.983 3.983 0 0 0-3.206-3.206l-1.164-.212c-.328-.06-.328-.53 0-.59l1.164-.212Z'></path>\",\"<path d='M3 6a4 4 0 1 1 5 3.874V13a2 2 0 0 0 2 2h7.062a2.215 2.215 0 0 0-.75 1.231L16.13 17H10a3.982 3.982 0 0 1-2-.535V23a2 2 0 0 0 2 2h.053c.283.321.676.57 1.177.688l2.678.634c.46.11.866.349 1.179.678H10a4 4 0 0 1-4-4V9.874A4.002 4.002 0 0 1 3 6Zm17.906 23.849a4 4 0 0 0 5.077-4.22 2.52 2.52 0 0 1-.213.059l-2.677.634a2.385 2.385 0 0 0-1.77 1.771l-.417 1.756ZM22 12c.48 0 .94.085 1.367.24l-.318 1.083a1 1 0 0 1-.678.678l-1.24.363a2.18 2.18 0 0 0-1.099.718 2.28 2.28 0 0 0-1.745-.573A4.001 4.001 0 0 1 22 12Zm2.968 1.886a3 3 0 0 1-2.034 2.034l-1.239.363c-.195.058-.196.335 0 .392l1.24.364a3 3 0 0 1 2.033 2.034l.364 1.239c.057.195.334.195.392 0l.363-1.24a3 3 0 0 1 2.034-2.033l1.24-.364c.195-.057.195-.334 0-.392l-1.24-.363a3 3 0 0 1-2.034-2.034l-.363-1.24c-.058-.195-.335-.195-.392 0l-.364 1.24Z'></path><path d='M17.625 19.367a4.385 4.385 0 0 1-3.258 3.258l-2.676.633c-.255.06-.255.423 0 .484l2.678.634a4.385 4.385 0 0 1 3.256 3.258l.633 2.675c.06.255.423.255.484 0l.634-2.677a4.385 4.385 0 0 1 3.256-3.256l2.677-.634c.255-.06.255-.424 0-.484l-2.675-.633a4.385 4.385 0 0 1-3.258-3.256l-.634-2.678c-.06-.255-.424-.255-.484 0l-.633 2.676Z'></path>\"],[\"M2.5 0A1.5 1.5 0 0 0 2 2.915V8a2 2 0 0 0 2 2h.115a1.333 1.333 0 0 1 0-1H4a1 1 0 0 1-1-1V5.732c.294.17.636.268 1 .268h1.085c.183.517.64.903 1.197.984.104-.477.427-.777.806-.901.123-.374.418-.695.887-.815l.007-.002A1.5 1.5 0 0 0 5.085 5H4a1 1 0 0 1-1-1V2.915A1.5 1.5 0 0 0 2.5 0ZM2 1.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0ZM6.5 5a.5.5 0 1 1 0 1 .5.5 0 0 1 0-1Zm1.96 1.176a1 1 0 0 0 .72-.72l.06-.237c.07-.268.45-.268.52 0l.06.237a1 1 0 0 0 .72.72l.237.06c.268.07.268.45 0 .52l-.236.06a1 1 0 0 0-.72.72l-.061.236c-.07.27-.45.27-.52 0l-.06-.236a1 1 0 0 0-.72-.72l-.237-.06c-.268-.07-.268-.45 0-.52l.237-.06ZM5.515 9.212a2 2 0 0 0 1.697-1.697l.04-.283c.042-.286.455-.286.496 0l.04.283a2 2 0 0 0 1.697 1.697l.283.04c.286.041.286.455 0 .495l-.283.04a2 2 0 0 0-1.697 1.698l-.04.283c-.041.286-.454.286-.495 0l-.04-.283a2 2 0 0 0-1.698-1.697l-.283-.04c-.286-.041-.286-.455 0-.496l.283-.04Z\",\"M4 1a2 2 0 0 0-1 3.732V11a2 2 0 0 0 2 2h1.212a1.288 1.288 0 0 1 0-1H5a1 1 0 0 1-1-1V7.732c.294.17.636.268 1 .268h2a2 2 0 0 0 2.153 1.994 2 2 0 0 0 .118-.49l.036-.325c.01-.087.027-.168.05-.244a1 1 0 1 1 .618-.711c.186-.086.393-.122.598-.11a1.06 1.06 0 0 1 .389-.504A2 2 0 0 0 7.268 7H5a1 1 0 0 1-1-1V5a2 2 0 1 0 0-4ZM3 3a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm10.277 4.104a1.63 1.63 0 0 1-1.173 1.173l-.521.134c-.11.028-.11.185 0 .213l.52.134a1.63 1.63 0 0 1 1.174 1.173l.134.521c.028.11.185.11.213 0l.134-.52a1.63 1.63 0 0 1 1.173-1.174l.522-.134c.11-.028.11-.185 0-.213l-.522-.134a1.63 1.63 0 0 1-1.173-1.173l-.134-.521c-.028-.11-.185-.11-.213 0l-.134.52Zm-5.662 5.161a3 3 0 0 0 2.65-2.65l.036-.326c.027-.237.371-.237.398 0l.036.326a3 3 0 0 0 2.65 2.65l.326.036c.237.027.237.371 0 .398l-.326.036a3 3 0 0 0-2.65 2.65l-.036.326c-.027.237-.371.237-.398 0l-.036-.326a3 3 0 0 0-2.65-2.65l-.326-.036c-.237-.027-.237-.371 0-.398l.326-.036Z\",\"<path d='M6 1a3 3 0 0 0-1 5.83V17a4 4 0 0 0 4 4h2.549c-.04-.01-.08-.018-.12-.026l-1.164-.211c-1.088-.198-1.706-.985-1.853-1.85A2 2 0 0 1 7 17v-4.535c.588.34 1.271.535 2 .535h4.17c.025.068.051.135.08.2.226-1.095 1.06-1.697 1.954-1.805a.999.999 0 0 1 1.567-.031 2.3 2.3 0 0 1 .297-.05l.326-.037a1 1 0 0 0 .883-.883l.034-.307a3.001 3.001 0 0 0-5.14.913H9a2 2 0 0 1-2-2V6.83A3.001 3.001 0 0 0 6 1ZM5 4a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm12.615 9.265a3 3 0 0 0 2.65-2.65l.036-.326c.027-.237.371-.237.398 0l.036.326a3 3 0 0 0 2.65 2.65l.326.036c.237.027.237.371 0 .398l-.326.036a3 3 0 0 0-2.65 2.65l-.036.326c-.027.237-.372.237-.398 0l-.036-.326a3 3 0 0 0-2.65-2.65l-.326-.036c-.237-.027-.237-.371 0-.398l.326-.036Z'></path><path d='M11.787 17.993a3.983 3.983 0 0 0 3.206-3.206l.212-1.164c.06-.328.53-.328.59 0l.212 1.164a3.983 3.983 0 0 0 3.206 3.206l1.163.212c.329.06.329.53 0 .59l-1.163.212a3.983 3.983 0 0 0-3.206 3.206l-.212 1.164c-.06.328-.53.328-.59 0l-.212-1.164a3.983 3.983 0 0 0-3.206-3.206l-1.164-.212c-.328-.06-.328-.53 0-.59l1.164-.212Z'></path>\",\"<path d='M3 6a4 4 0 1 1 5 3.874V13a2 2 0 0 0 2 2h7.062a2.215 2.215 0 0 0-.75 1.231L16.13 17H10a3.982 3.982 0 0 1-2-.535V23a2 2 0 0 0 2 2h.053c.283.321.676.57 1.177.688l2.678.634c.46.11.866.349 1.179.678H10a4 4 0 0 1-4-4V9.874A4.002 4.002 0 0 1 3 6Zm4-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm13.906 25.849a4 4 0 0 0 5.077-4.22 2.52 2.52 0 0 1-.213.059l-1.773.42a2 2 0 0 1-2.62 1.793c-.021.063-.04.127-.055.192l-.416 1.756Zm2.461-17.609a4.001 4.001 0 0 0-5.08 2.27 2.28 2.28 0 0 1 1.745.572 2.1 2.1 0 0 1 .515-.456 1.994 1.994 0 0 1 1.75-.604l.074-.021a1 1 0 0 0 .678-.678l.318-1.083Zm-.433 3.68a3 3 0 0 0 2.034-2.034l.364-1.24c.057-.195.334-.195.392 0l.363 1.24a3 3 0 0 0 2.034 2.034l1.24.363c.195.058.195.335 0 .392l-1.24.364a3 3 0 0 0-2.034 2.034l-.363 1.239c-.058.195-.335.195-.392 0l-.364-1.24a3 3 0 0 0-2.033-2.033l-1.24-.364c-.196-.057-.195-.334 0-.392l1.24-.363Z'></path><path d='M14.367 22.625a4.385 4.385 0 0 0 3.258-3.258l.633-2.676c.06-.255.423-.255.484 0l.634 2.678a4.385 4.385 0 0 0 3.258 3.256l2.675.633c.255.06.255.423 0 .484l-2.677.634a4.385 4.385 0 0 0-3.256 3.256l-.634 2.677c-.06.255-.424.255-.484 0l-.633-2.675a4.385 4.385 0 0 0-3.256-3.258l-2.678-.634c-.255-.06-.255-.424 0-.484l2.676-.633Z'></path>\"]];","export default [[\"<path d='M5 9a.5.5 0 0 0 .5-.5A1.5 1.5 0 0 1 7 7v1a.5.5 0 0 0-.5.5c0 .384-.144.735-.382 1 .238.265.382.616.382 1a.5.5 0 0 0 .5.5v1a1.5 1.5 0 0 1-1.5-1.5.5.5 0 0 0-.5-.5V9Zm3.5 0a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm.5 1.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM12 9a.5.5 0 0 1-.5-.5A1.5 1.5 0 0 0 10 7v1a.5.5 0 0 1 .5.5c0 .384.144.735.382 1a1.494 1.494 0 0 0-.382 1 .5.5 0 0 1-.5.5v1a1.5 1.5 0 0 0 1.5-1.5.5.5 0 0 1 .5-.5V9Z'></path><path d='M6.854.146A.5.5 0 0 1 7 .5v2a.5.5 0 0 1-.5.5H5v1h1.5A1.5 1.5 0 0 1 8 5.5V6h.5a.5.5 0 0 1 .5.5V7H8a1 1 0 0 0-1-1v-.5a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 0-.5.5V6h.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2A.5.5 0 0 1 .5 6H1v-.5A1.5 1.5 0 0 1 2.5 4H4V3H2.5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .354.146Z'></path>\",\"M7 .5a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5H4v1H2.5A1.5 1.5 0 0 0 1 6.5V7H.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H2v-.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5V7h-.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H7V9c0-.816.05-1 .05-1A2.5 2.5 0 0 1 8 6.5 1.5 1.5 0 0 0 6.5 5H5V4h1.5a.5.5 0 0 0 .5-.5v-3Zm1 10a.5.5 0 0 1-.5.5H7v1h.5a.5.5 0 0 1 .5.5v2A1.5 1.5 0 0 0 9.5 16h.5v-1h-.5a.5.5 0 0 1-.5-.5v-2c0-.384-.144-.735-.382-1 .238-.265.382-.616.382-1v-2a.5.5 0 0 1 .5-.5h.5V7h-.5A1.5 1.5 0 0 0 8 8.5v2Zm7.5.5a.5.5 0 0 1-.5-.5v-2A1.5 1.5 0 0 0 13.5 7H13v1h.5a.5.5 0 0 1 .5.5v2c0 .384.144.735.382 1a1.494 1.494 0 0 0-.382 1v2a.5.5 0 0 1-.5.5H13v1h.5a1.5 1.5 0 0 0 1.5-1.5v-2a.5.5 0 0 1 .5-.5h.5v-1h-.5ZM12 9.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm0 2a.5.5 0 0 0-1 0v1.293l-.354.353a.5.5 0 0 0 .708.708l.5-.5A.5.5 0 0 0 12 13v-1.5Z\",\"<path d='M15 2a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h3v2H6a3 3 0 0 0-3 3v1H2a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H5v-1a1 1 0 0 1 1-1h3.87c1.003-1.33 2.7-2 4.13-2h-3V7h3a1 1 0 0 0 1-1V2Z'></path><path d='M14 13c-.73 0-1 .461-1 .667v1.666c0 .665-.252 1.23-.65 1.667.398.436.65 1.002.65 1.667v1.666c0 .206.27.667 1 .667v2c-1.478 0-3-1.03-3-2.667v-1.666c0-.206-.27-.667-1-.667v-2c.73 0 1-.461 1-.667v-1.666C11 12.03 12.522 11 14 11v2Zm7 .667c0-.206-.27-.667-1-.667v-2c1.478 0 3 1.03 3 2.667v1.666c0 .206.27.667 1 .667v2c-.73 0-1 .461-1 .667v1.666C23 21.97 21.478 23 20 23v-2c.73 0 1-.461 1-.667v-1.666c0-.665.252-1.23.65-1.667a2.434 2.434 0 0 1-.65-1.667v-1.666ZM17 18a1 1 0 0 1 1 1v1a1 1 0 0 1-.293.707l-1 1a1 1 0 0 1-1.414-1.414l.707-.707V19a1 1 0 0 1 1-1Zm0-2a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path>\",\"M17 3a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h3v3H7a3 3 0 0 0-3 3v1H3a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H6v-1a1 1 0 0 1 1-1h9c.835-.628 1.874-1 3-1 .085 0 .168.005.25.015A2.992 2.992 0 0 0 17 12h-4V9h3a1 1 0 0 0 1-1V3Zm1 15a1 1 0 0 1 1-1v-2a3 3 0 0 0-3 3v3a1 1 0 0 1-1 1h-1v2h1a1 1 0 0 1 1 1v3a3 3 0 0 0 3 3v-2a1 1 0 0 1-1-1v-3c0-.768-.289-1.47-.764-2 .475-.53.764-1.232.764-2v-3Zm10 0a1 1 0 0 0-1-1v-2a3 3 0 0 1 3 3v3a1 1 0 0 0 1 1h1v2h-1a1 1 0 0 0-1 1v3a3 3 0 0 1-3 3v-2a1 1 0 0 0 1-1v-3c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 28 21v-3Zm-5 6a1 1 0 0 1 1 1v1.5a1 1 0 0 1-.168.555l-1 1.5a1 1 0 0 1-1.664-1.11L22 26.197V25a1 1 0 0 1 1-1Zm0-3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"],[\"<path d='M5 9a.5.5 0 0 0 .5-.5A1.5 1.5 0 0 1 7 7v1a.5.5 0 0 0-.5.5c0 .384-.144.735-.382 1 .238.265.382.616.382 1a.5.5 0 0 0 .5.5v1a1.5 1.5 0 0 1-1.5-1.5.5.5 0 0 0-.5-.5V9Zm3.5 0a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm.5 1.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1ZM12 9a.5.5 0 0 1-.5-.5A1.5 1.5 0 0 0 10 7v1a.5.5 0 0 1 .5.5c0 .384.144.735.382 1a1.494 1.494 0 0 0-.382 1 .5.5 0 0 1-.5.5v1a1.5 1.5 0 0 0 1.5-1.5.5.5 0 0 1 .5-.5V9Z'></path><path d='M6.854.146A.5.5 0 0 1 7 .5v2a.5.5 0 0 1-.5.5H5v1h1.5A1.5 1.5 0 0 1 8 5.5V6h.5a.5.5 0 0 1 .5.5V7H8a1 1 0 0 0-1-1v-.5a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 0-.5.5V6h.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2A.5.5 0 0 1 .5 6H1v-.5A1.5 1.5 0 0 1 2.5 4H4V3H2.5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .354.146ZM1 7v1h1V7H1Zm5-5H3V1h3v1Z'></path>\",\"M7 .5a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5H4v1H2.5A1.5 1.5 0 0 0 1 6.5V7H.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H2v-.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5V7h-.5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5H7V8h.05A2.5 2.5 0 0 1 8 6.5 1.5 1.5 0 0 0 6.5 5H5V4h1.5a.5.5 0 0 0 .5-.5v-3ZM1 9V8h1v1H1Zm2-6h3V1H3v2Zm5 7.5a.5.5 0 0 1-.5.5H7v1h.5a.5.5 0 0 1 .5.5v2A1.5 1.5 0 0 0 9.5 16h.5v-1h-.5a.5.5 0 0 1-.5-.5v-2c0-.384-.144-.735-.382-1 .238-.265.382-.616.382-1v-2a.5.5 0 0 1 .5-.5h.5V7h-.5A1.5 1.5 0 0 0 8 8.5v2Zm7.5.5a.5.5 0 0 1-.5-.5v-2A1.5 1.5 0 0 0 13.5 7H13v1h.5a.5.5 0 0 1 .5.5v2c0 .384.144.735.382 1a1.494 1.494 0 0 0-.382 1v2a.5.5 0 0 1-.5.5H13v1h.5a1.5 1.5 0 0 0 1.5-1.5v-2a.5.5 0 0 1 .5-.5h.5v-1h-.5ZM12 9.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm0 2a.5.5 0 0 0-1 0v1.293l-.354.353a.5.5 0 0 0 .708.708l.5-.5A.5.5 0 0 0 12 13v-1.5Z\",\"<path d='M15 2a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h3v2H6a3 3 0 0 0-3 3v1H2a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H5v-1a1 1 0 0 1 1-1h3.87c1.003-1.33 2.7-2 4.13-2h-3V7h3a1 1 0 0 0 1-1V2ZM7 3h6v2H7V3ZM5 15H3v2h2v-2Z'></path><path d='M14 13c-.73 0-1 .461-1 .667v1.666c0 .665-.252 1.23-.65 1.667.398.436.65 1.002.65 1.667v1.666c0 .206.27.667 1 .667v2c-1.478 0-3-1.03-3-2.667v-1.666c0-.206-.27-.667-1-.667v-2c.73 0 1-.461 1-.667v-1.666C11 12.03 12.522 11 14 11v2Zm7 .667c0-.206-.27-.667-1-.667v-2c1.478 0 3 1.03 3 2.667v1.666c0 .206.27.667 1 .667v2c-.73 0-1 .461-1 .667v1.666C23 21.97 21.478 23 20 23v-2c.73 0 1-.461 1-.667v-1.666c0-.665.252-1.23.65-1.667a2.434 2.434 0 0 1-.65-1.667v-1.666ZM17 18a1 1 0 0 1 1 1v1a1 1 0 0 1-.293.707l-1 1a1 1 0 0 1-1.414-1.414l.707-.707V19a1 1 0 0 1 1-1Zm0-2a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path>\",\"M17 3a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h3v3H7a3 3 0 0 0-3 3v1H3a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H6v-1a1 1 0 0 1 1-1h9c.835-.628 1.874-1 3-1 .085 0 .168.005.25.015A2.992 2.992 0 0 0 17 12h-4V9h3a1 1 0 0 0 1-1V3ZM9 4h6v3H9V4ZM6 18H4v2h2v-2Zm12 0a1 1 0 0 1 1-1v-2a3 3 0 0 0-3 3v3a1 1 0 0 1-1 1h-1v2h1a1 1 0 0 1 1 1v3a3 3 0 0 0 3 3v-2a1 1 0 0 1-1-1v-3c0-.768-.289-1.47-.764-2 .475-.53.764-1.232.764-2v-3Zm10 0a1 1 0 0 0-1-1v-2a3 3 0 0 1 3 3v3a1 1 0 0 0 1 1h1v2h-1a1 1 0 0 0-1 1v3a3 3 0 0 1-3 3v-2a1 1 0 0 0 1-1v-3c0-.768.289-1.47.764-2A2.989 2.989 0 0 1 28 21v-3Zm-5 6a1 1 0 0 1 1 1v1.5a1 1 0 0 1-.168.555l-1 1.5a1 1 0 0 1-1.664-1.11L22 26.197V25a1 1 0 0 1 1-1Zm0-3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"]];","export default [[\"M7.5 1a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5H6v1h1.5A1.5 1.5 0 0 1 9 7.5V8h.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5H8v-.5a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 0-.5.5V8h.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5H2v-.5A1.5 1.5 0 0 1 3.5 6H5V5H3.5a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 .5-.5h4ZM7 4H4V2h3v2Z\",\"M4.5 1a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5H7v2H4.5A1.5 1.5 0 0 0 3 9.5v.5H1.5a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5H4v-.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v.5h-1.5a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5H13v-.5A1.5 1.5 0 0 0 11.5 8H8V6h2.5a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-6ZM10 5H5V2h5v3Z\",\"M16 2a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1h-3v3h4a3 3 0 0 1 3 3v1h1a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h1v-1a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v1h1a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h1v-1a3 3 0 0 1 3-3h4V9H8a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h8Zm-1 2H9v3h6V4Z\",\"M20 3a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-3v5h5a3 3 0 0 1 3 3v2h1a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1v-2a1 1 0 0 0-1-1H10a1 1 0 0 0-1 1v2h1a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1v-2a3 3 0 0 1 3-3h5v-5h-3a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h8Zm0 6h-8V5h8v4Z\"]];","export default [[\"M4 3.915a1.5 1.5 0 1 0-1 0V7a2 2 0 0 0 2 2h1a2 2 0 1 0 .268-1H5a1 1 0 0 1-1-1V3.915Z\",\"M5 4.915a1.5 1.5 0 1 0-1 0V10a2 2 0 0 0 2 2h2.05a2.5 2.5 0 1 0 0-1H6a1 1 0 0 1-1-1V4.915Z\",\"M8 6.732a2 2 0 1 0-2 0V14a4 4 0 0 0 4 4h3.126A4.002 4.002 0 0 0 21 17a4 4 0 0 0-7.874-1H10a2 2 0 0 1-2-2V6.732Z\",\"M10 9.83a3.001 3.001 0 1 0-2 0V20a4 4 0 0 0 4 4h5.1a5.002 5.002 0 0 0 9.9-1 5 5 0 0 0-9.9-1H12a2 2 0 0 1-2-2V9.83Z\"],[\"M4 3.915a1.5 1.5 0 1 0-1 0V7a2 2 0 0 0 2 2h1a2 2 0 1 0 .268-1H5a1 1 0 0 1-1-1V3.915ZM8 8a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z\",\"M5 4.915a1.5 1.5 0 1 0-1 0V10a2 2 0 0 0 2 2h2.05a2.5 2.5 0 1 0 0-1H6a1 1 0 0 1-1-1V4.915ZM10.5 10a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3Z\",\"M8 6.732a2 2 0 1 0-2 0V14a4 4 0 0 0 4 4h3.126A4.002 4.002 0 0 0 21 17a4 4 0 0 0-7.874-1H10a2 2 0 0 1-2-2V6.732ZM17 15a2 2 0 1 1 0 4 2 2 0 0 1 0-4Z\",\"M10 9.83a3.001 3.001 0 1 0-2 0V20a4 4 0 0 0 4 4h5.1a5.002 5.002 0 0 0 9.9-1 5 5 0 0 0-9.9-1H12a2 2 0 0 1-2-2V9.83ZM22 20a3 3 0 1 1 0 6 3 3 0 0 1 0-6Z\"]];","export default [[\"M1 .5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H4v2h2v-.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5V6H4v2.5a.5.5 0 0 0 .5.5H6v-.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5V10H4.5A1.5 1.5 0 0 1 3 8.5V3H1.5a.5.5 0 0 1-.5-.5v-2Z\",\"M1 1.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5H5v2h3v-.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5V8H5v3.5a.5.5 0 0 0 .5.5H8v-.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5V13H5.5A1.5 1.5 0 0 1 4 11.5V5H1.5a.5.5 0 0 1-.5-.5v-3Z\",\"M2 2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H8v4h5v-1a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-7a1 1 0 0 1-1-1v-1H8v5a1 1 0 0 0 1 1h4v-1a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-7a1 1 0 0 1-1-1v-1H9a3 3 0 0 1-3-3V7H3a1 1 0 0 1-1-1V2Z\",\"M3 5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-3v4h7v-1a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-8a2 2 0 0 1-2-2v-1h-7v7a1 1 0 0 0 1 1h6v-1a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-8a2 2 0 0 1-2-2v-1h-6a3 3 0 0 1-3-3V11H5a2 2 0 0 1-2-2V5Z\"],[\"M1 .5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H4v2h2v-.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5V6H4v2.5a.5.5 0 0 0 .5.5H6v-.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5V10H4.5A1.5 1.5 0 0 1 3 8.5V3H1.5a.5.5 0 0 1-.5-.5v-2ZM2 1v1h3V1H2Zm5 4v1h3V5H7Zm0 5V9h3v1H7Z\",\"M1 1.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5H5v2h3v-.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5V8H5v3.5a.5.5 0 0 0 .5.5H8v-.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5V13H5.5A1.5 1.5 0 0 1 4 11.5V5H1.5a.5.5 0 0 1-.5-.5v-3ZM9 14h5v-2H9v2Zm0-5V7h5v2H9ZM7 4H2V2h5v2Z\",\"M2 2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H8v4h5v-1a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-7a1 1 0 0 1-1-1v-1H8v5a1 1 0 0 0 1 1h4v-1a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-7a1 1 0 0 1-1-1v-1H9a3 3 0 0 1-3-3V7H3a1 1 0 0 1-1-1V2Zm13 17v2h5v-2h-5ZM4 3v2h6V3H4Zm11 8v2h5v-2h-5Z\",\"M3 5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-3v4h7v-1a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-8a2 2 0 0 1-2-2v-1h-7v7a1 1 0 0 0 1 1h6v-1a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-8a2 2 0 0 1-2-2v-1h-6a3 3 0 0 1-3-3V11H5a2 2 0 0 1-2-2V5Zm10 0H5v4h8V5Zm14 9h-8v4h8v-4Zm-8 10h8v4h-8v-4Z\"]];","export default [[\"M1 2.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H4v2.5a.5.5 0 0 0 .5.5H6v-.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5V9H4.5A1.5 1.5 0 0 1 3 7.5V5H1.5a.5.5 0 0 1-.5-.5v-2Z\",\"M1 2.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5H5v4.5a.5.5 0 0 0 .5.5H8v-.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5V12H5.5A1.5 1.5 0 0 1 4 10.5V6H1.5a.5.5 0 0 1-.5-.5v-3Z\",\"M2 5a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H8v5a1 1 0 0 0 1 1h4v-1a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-7a1 1 0 0 1-1-1v-1H9a3 3 0 0 1-3-3v-5H3a1 1 0 0 1-1-1V5Z\",\"M3 8a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-3v5.5a.5.5 0 0 0 .5.5H17v-1a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-8a2 2 0 0 1-2-2v-1h-6.5A2.5 2.5 0 0 1 8 19.5V14H5a2 2 0 0 1-2-2V8Z\"],[\"M1 2.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H4v2.5a.5.5 0 0 0 .5.5H6v-.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5V9H4.5A1.5 1.5 0 0 1 3 7.5V5H1.5a.5.5 0 0 1-.5-.5v-2ZM2 3v1h3V3H2Zm5 5v1h3V8H7Z\",\"M1 2.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5H5v4.5a.5.5 0 0 0 .5.5H8v-.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5V12H5.5A1.5 1.5 0 0 1 4 10.5V6H1.5a.5.5 0 0 1-.5-.5v-3ZM2 3v2h5V3H2Zm12 8H9v2h5v-2Z\",\"M2 5a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H8v5a1 1 0 0 0 1 1h4v-1a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-7a1 1 0 0 1-1-1v-1H9a3 3 0 0 1-3-3v-5H3a1 1 0 0 1-1-1V5Zm2 1v2h6V6H4Zm11 12v-2h5v2h-5Z\",\"M3 8a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-3v5.5a.5.5 0 0 0 .5.5H17v-1a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-8a2 2 0 0 1-2-2v-1h-6.5A2.5 2.5 0 0 1 8 19.5V14H5a2 2 0 0 1-2-2V8Zm10 0H5v4h8V8Zm14 11h-8v4h8v-4Z\"]];","export default [[\"M8.5 1a.5.5 0 0 0-.5.5V2h-.5A1.5 1.5 0 0 0 6 3.5V5H5V3.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5V6h1v1.5A1.5 1.5 0 0 0 7.5 9H8v.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5V8h-.5a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5H8v.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2Z\",\"M10.5 1a.5.5 0 0 0-.5.5V3h-.5A1.5 1.5 0 0 0 8 4.5V7H6V4.5a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5V8h2v2.5A1.5 1.5 0 0 0 9.5 12h.5v1.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 0-.5.5V11h-.5a.5.5 0 0 1-.5-.5v-6a.5.5 0 0 1 .5-.5h.5v1.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-4Z\",\"M17 2a1 1 0 0 0-1 1v1h-1a3 3 0 0 0-3 3v4H9V8a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-3h3v4a3 3 0 0 0 3 3h1v1a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v1h-1a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h1v1a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1h-4Z\",\"M23 4a2 2 0 0 0-2 2v1h-2a3 3 0 0 0-3 3v5h-5v-3a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-3h5v5a3 3 0 0 0 3 3h2v1a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v1h-2a1 1 0 0 1-1-1V10a1 1 0 0 1 1-1h2v1a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-4Z\"],[\"M8 1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5V3h-.5a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5H8v-.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5V9h-.5A1.5 1.5 0 0 1 6 7.5V6H5v1.5a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5V5h1V3.5A1.5 1.5 0 0 1 7.5 2H8v-.5ZM9 9h1V8H9v1Zm0-6h1V2H9v1ZM4 4v3H2V4h2Z\",\"M10.5 1a.5.5 0 0 0-.5.5V3h-.5A1.5 1.5 0 0 0 8 4.5V7H6V4.5a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5V8h2v2.5A1.5 1.5 0 0 0 9.5 12h.5v1.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 0-.5.5V11h-.5a.5.5 0 0 1-.5-.5v-6a.5.5 0 0 1 .5-.5h.5v1.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-4Zm.5 4h3V2h-3v3Zm0 8h3v-3h-3v3ZM5 5v5H2V5h3Z\",\"M16 3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V6h-1a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h1v-1a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-1h-1a3 3 0 0 1-3-3v-4H9v3a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v3h3V7a3 3 0 0 1 3-3h1V3Zm4 1h-2v2h2V4ZM4 9v6h3V9H4Zm16 11h-2v-2h2v2Z\",\"M21 6a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2V9h-2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h2v-1a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-1h-2a3 3 0 0 1-3-3v-5h-5v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v3h5v-5a3 3 0 0 1 3-3h2V6Zm2 20h4v-4h-4v4Zm0-16h4V6h-4v4ZM9 12v8H5v-8h4Z\"]];","export default [[\"M4.197 1.753a1.5 1.5 0 0 1 2.606 0L10.8 8.756A1.5 1.5 0 0 1 9.498 11H1.502A1.5 1.5 0 0 1 .2 8.756l3.997-7.003ZM5 3.5a.5.5 0 1 1 1 0v3a.5.5 0 0 1-1 0v-3Zm1 5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\",\"M6.188 2.77a1.5 1.5 0 0 1 2.623 0l5 9.002A1.5 1.5 0 0 1 12.501 14H2.498a1.5 1.5 0 0 1-1.311-2.228l5-9.001ZM7.5 5a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 1 .5-.5Zm.5 6.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\",\"M9.395 3.515c1.152-2.016 4.059-2.016 5.21 0L22.6 17.512c1.142 2-.302 4.488-2.605 4.488H4.005C1.702 22 .258 19.512 1.4 17.512L9.395 3.515ZM11 9a1 1 0 1 1 2 0v5a1 1 0 1 1-2 0V9Zm2 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\",\"M13.395 3.514c1.152-2.016 4.058-2.016 5.21 0L30.6 24.512c1.143 2-.301 4.488-2.605 4.488H4.006C1.703 29 .259 26.512 1.4 24.512L13.395 3.514ZM15 10a1 1 0 1 1 2 0v9a1 1 0 1 1-2 0v-9Zm2 13a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"],[\"<path d='M5 3.5a.5.5 0 1 1 1 0v3a.5.5 0 0 1-1 0v-3Zm1 5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z'></path><path d='M6.803 1.753a1.5 1.5 0 0 0-2.606 0L.2 8.756A1.5 1.5 0 0 0 1.502 11h7.996A1.5 1.5 0 0 0 10.8 8.756L6.803 1.753Zm-1.737.496a.5.5 0 0 1 .868 0l3.998 7.003a.5.5 0 0 1-.434.748H1.502a.5.5 0 0 1-.434-.748L5.066 2.25Z'></path>\",\"<path d='M7.5 5a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 1 .5-.5Zm0 7a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path><path d='M6.188 2.77a1.5 1.5 0 0 1 2.623 0l5 9.001A1.5 1.5 0 0 1 12.501 14H2.498a1.5 1.5 0 0 1-1.311-2.229l5-9Zm1.749.486a.5.5 0 0 0-.874 0l-5 9.001a.5.5 0 0 0 .436.743H12.5a.5.5 0 0 0 .437-.743l-5-9Z'></path>\",\"<path d='M11 9a1 1 0 1 1 2 0v5a1 1 0 1 1-2 0V9Zm1 10a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M9.395 3.515c1.152-2.016 4.059-2.016 5.21 0L22.6 17.512c1.142 2-.302 4.488-2.605 4.488H4.005C1.702 22 .258 19.512 1.4 17.512L9.395 3.515Zm3.473.992a1 1 0 0 0-1.736 0L3.137 18.504A1 1 0 0 0 4.005 20h15.99a1 1 0 0 0 .868-1.496L12.868 4.507Z'></path>\",\"<path d='M17 23a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM16 9a1 1 0 0 0-1 1v9a1 1 0 1 0 2 0v-9a1 1 0 0 0-1-1Z'></path><path d='M13.395 3.514c1.152-2.016 4.058-2.016 5.21 0L30.6 24.512c1.143 2-.301 4.488-2.605 4.488H4.006C1.703 29 .259 26.512 1.4 24.512L13.395 3.514Zm3.473.992a1 1 0 0 0-1.736 0L3.138 25.504A1 1 0 0 0 4.006 27h23.988a1 1 0 0 0 .869-1.496L16.868 4.506Z'></path>\"]];","export default [[\"M8.067 9.737H6.802c-1.138 0-1.987-.585-1.987-1.987V5.506H3.78V4.29c1.139-.295 1.615-1.275 1.67-2.124h1.182v1.927h1.38v1.413h-1.38V7.46c0 .586.296.788.766.788h.669v1.49ZM9.604 0H2.396A2.404 2.404 0 0 0 0 2.396v7.208A2.403 2.403 0 0 0 2.396 12h7.208A2.403 2.403 0 0 0 12 9.604V2.396A2.404 2.404 0 0 0 9.604 0Z\",\"M10.412 12.36H8.936c-1.329 0-2.319-.683-2.319-2.318V7.423H5.41V6.005c1.329-.345 1.885-1.488 1.949-2.478h1.379v2.248h1.61v1.648h-1.61v2.28c0 .684.345.92.894.92h.78v1.737ZM12.204 1H3.795A2.804 2.804 0 0 0 1 3.796v8.408A2.804 2.804 0 0 0 3.796 15h8.409A2.804 2.804 0 0 0 15 12.204V3.796A2.805 2.805 0 0 0 12.204 1Z\",\"M15.79 18.852h-2.32c-2.087 0-3.643-1.074-3.643-3.643v-4.115H7.93V8.866c2.088-.543 2.961-2.339 3.062-3.894h2.167v3.532h2.53v2.59h-2.53v3.583c0 1.074.543 1.445 1.405 1.445h1.226v2.73ZM18.607 1H5.393A4.407 4.407 0 0 0 1 5.393v13.214A4.406 4.406 0 0 0 5.393 23h13.214A4.406 4.406 0 0 0 23 18.607V5.393A4.407 4.407 0 0 0 18.607 1Z\",\"M20.823 24.72h-2.951c-2.657 0-4.637-1.366-4.637-4.636v-5.237H10.82V12.01c2.657-.69 3.769-2.976 3.897-4.956h2.758v4.496h3.22v3.296h-3.22v4.56c0 1.367.691 1.839 1.788 1.839h1.56v3.475ZM24.409 2H7.591C4.516 2 2 4.517 2 7.592v16.817c0 3.075 2.516 5.59 5.591 5.59h16.818C27.483 30 30 27.485 30 24.41V7.592C30 4.517 27.483 2 24.409 2Z\"]];","export default [[\"M6 0a6 6 0 1 0 0 12A6 6 0 0 0 6 0Zm0 10.4a4.4 4.4 0 1 1 0-8.8 4.4 4.4 0 0 1 0 8.8Zm2.72-5.88a1.24 1.24 0 1 1-1.24-1.24 1.248 1.248 0 0 1 1.24 1.24Zm0 2.96a1.24 1.24 0 1 1-1.24-1.24 1.248 1.248 0 0 1 1.24 1.24Zm-2.96 0a1.24 1.24 0 1 1-2.48 0 1.24 1.24 0 0 1 2.48 0Zm0-2.96a1.24 1.24 0 1 1-2.48 0 1.24 1.24 0 0 1 2.48 0Z\",\"M8 1a7 7 0 1 0 0 14A7 7 0 0 0 8 1Zm0 12.133A5.133 5.133 0 1 1 8 2.867a5.133 5.133 0 0 1 0 10.266Zm3.173-6.86a1.446 1.446 0 1 1-1.446-1.446 1.456 1.456 0 0 1 1.446 1.446Zm0 3.454A1.446 1.446 0 1 1 9.727 8.28a1.456 1.456 0 0 1 1.446 1.447Zm-3.453 0a1.447 1.447 0 1 1-2.893 0 1.447 1.447 0 0 1 2.893 0Zm0-3.454a1.447 1.447 0 1 1-2.893 0 1.447 1.447 0 0 1 2.893 0Z\",\"M12 1a11 11 0 1 0 0 22 11 11 0 0 0 0-22Zm0 19.067a8.067 8.067 0 1 1 0-16.133 8.067 8.067 0 0 1 0 16.133Zm4.987-10.78a2.274 2.274 0 1 1-2.274-2.274 2.288 2.288 0 0 1 2.274 2.274Zm0 5.426a2.273 2.273 0 1 1-2.274-2.273 2.288 2.288 0 0 1 2.274 2.273Zm-5.427 0a2.273 2.273 0 1 1-4.546 0 2.273 2.273 0 0 1 4.546 0Zm0-5.426a2.274 2.274 0 1 1-4.547 0 2.274 2.274 0 0 1 4.547 0Z\",\"M16 2a14 14 0 1 0 0 28 14 14 0 0 0 0-28Zm0 24.267a10.267 10.267 0 1 1 0-20.534 10.267 10.267 0 0 1 0 20.534Zm6.347-13.72a2.893 2.893 0 1 1-2.894-2.894 2.912 2.912 0 0 1 2.894 2.894Zm0 6.906a2.894 2.894 0 1 1-2.894-2.893 2.912 2.912 0 0 1 2.894 2.893Zm-6.907 0a2.894 2.894 0 1 1-5.787 0 2.894 2.894 0 0 1 5.787 0Zm0-6.906a2.893 2.893 0 1 1-5.787 0 2.893 2.893 0 0 1 5.787 0Z\"]];","export default [[\"M7.117 5.081 11.488 0h-1.035L6.657 4.412 3.625 0H.13l4.584 6.672L.13 12h1.036l4.008-4.66L8.375 12h3.496L7.117 5.081Zm-1.419 1.65-.464-.665L1.538.78H3.13l2.983 4.266.464.664 3.877 5.546H8.862L5.698 6.73Z\",\"M9.303 6.928 14.403 1h-1.209L8.767 6.147 5.23 1H1.15L6.5 8.784 1.15 15h1.208l4.676-5.436L10.77 15h4.08L9.303 6.928ZM7.648 8.852l-.542-.775L2.795 1.91H4.65l3.48 4.977.541.775 4.523 6.47H11.34l-3.691-5.28Z\",\"M14.048 10.316 22.062 1h-1.9l-6.958 8.089L7.647 1h-6.41L9.64 13.231 1.237 23h1.899l7.348-8.542L16.354 23h6.41l-8.716-12.684Zm-2.601 3.023-.852-1.218L3.82 2.43h2.917l5.468 7.82.851 1.219 7.108 10.166h-2.917l-5.8-8.296Z\",\"M18.607 13.856 28.806 2h-2.417l-8.856 10.294L10.459 2H2.301l10.697 15.567L2.3 30h2.417l9.352-10.871L21.54 30h8.16L18.606 13.856Zm-3.311 3.848-1.084-1.55L5.59 3.82h3.713l6.959 9.954 1.083 1.55 9.046 12.94h-3.712l-7.382-10.56Z\"]];","export default [[\"<path d='M5 2a.5.5 0 0 0 0 1 3 3 0 0 1 0 6 .5.5 0 0 0 0 1c1.48 0 2.773-.804 3.465-2H10a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H8.465A3.998 3.998 0 0 0 5 2Z'></path><path d='M7 6a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z'></path>\",\"<path d='M7 2a.5.5 0 0 0 0 1 5 5 0 0 1 0 10 .5.5 0 0 0 0 1c2.22 0 4.16-1.207 5.197-3H14a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-1.803A5.998 5.998 0 0 0 7 2Z'></path><path d='M10 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z'></path>\",\"<path d='M11 2a1 1 0 1 0 0 2 8 8 0 1 1 0 16 1 1 0 1 0 0 2c4.1 0 7.625-2.468 9.168-6H22a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1h-1.832A10.002 10.002 0 0 0 11 2Z'></path><path d='M16 12a5 5 0 1 1-10 0 5 5 0 0 1 10 0Z'></path>\",\"<path d='M15 3a1 1 0 1 0 0 2c6.075 0 11 4.925 11 11s-4.925 11-11 11a1 1 0 1 0 0 2c5.408 0 10.045-3.302 12.004-8H29a1 1 0 0 0 1-1v-8a1 1 0 0 0-1-1h-1.996C25.044 6.302 20.408 3 15 3Z'></path><path d='M22 16a7 7 0 1 1-14 0 7 7 0 0 1 14 0Z'></path>\"]];","export default [[\"m2.707 8 1.147-1.146a.5.5 0 1 0-.708-.708l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 0 0 .708-.708L2.707 9H6.5C8.92 9 11 7.27 11 5S8.92 1 6.5 1h-3a.5.5 0 0 0 0 1h3C8.498 2 10 3.404 10 5S8.498 8 6.5 8H2.707Z\",\"m3.707 11 2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L3.707 10H9.5a3.5 3.5 0 1 0 0-7h-4a.5.5 0 0 1 0-1h4a4.5 4.5 0 1 1 0 9H3.707Z\",\"m6.414 13 2.293-2.293a1 1 0 0 0-1.414-1.414l-4 4a1 1 0 0 0 0 1.414l4 4a1 1 0 0 0 1.414-1.414L6.414 15H15a6 6 0 0 0 0-12H9a1 1 0 1 0 0 2h6a4 4 0 0 1 0 8H6.414Z\",\"m7.414 19 4.293-4.293a1 1 0 1 0-1.414-1.415l-6 6a1 1 0 0 0 0 1.415l6 6a1 1 0 0 0 1.414-1.414L7.414 21H19a9 9 0 0 0 0-18h-6a1 1 0 1 0 0 2h6a7 7 0 1 1 0 14H7.414Z\"],[\"m2.707 8 1.147-1.146a.5.5 0 1 0-.708-.708l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 0 0 .708-.708L2.707 9H6.5C8.92 9 11 7.27 11 5S8.92 1 6.5 1h-3a.5.5 0 0 0 0 1h3C8.498 2 10 3.404 10 5S8.498 8 6.5 8H2.707Z\",\"m3.707 11 2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L3.707 10H9.5a3.5 3.5 0 1 0 0-7h-4a.5.5 0 0 1 0-1h4a4.5 4.5 0 1 1 0 9H3.707Z\",\"m6.414 13 2.293-2.293a1 1 0 0 0-1.414-1.414l-4 4a1 1 0 0 0 0 1.414l4 4a1 1 0 0 0 1.414-1.414L6.414 15H15a6 6 0 0 0 0-12H9a1 1 0 1 0 0 2h6a4 4 0 0 1 0 8H6.414Z\",\"m7.393 19 4.314-4.314a1 1 0 0 0-1.414-1.414l-6.01 6.01a1 1 0 0 0 0 1.415l6.01 6.01a1 1 0 0 0 1.414-1.414L7.414 21H19a9 9 0 1 0 0-18h-6a1 1 0 1 0 0 2h6a7 7 0 1 1 0 14H7.393Z\"]];","export default [[\"M3.146 1.146a.5.5 0 1 1 .708.708L2.707 3H6.5C8.92 3 11 4.73 11 7s-2.08 4-4.5 4h-3a.5.5 0 0 1 0-1h3C8.498 10 10 8.596 10 7S8.498 4 6.5 4H2.707l1.147 1.146a.5.5 0 1 1-.708.708l-2-2a.5.5 0 0 1 0-.708l2-2Z\",\"M5.146 2.146a.5.5 0 1 1 .708.708L3.707 5H9.5a4.5 4.5 0 1 1 0 9h-4a.5.5 0 0 1 0-1h4a3.5 3.5 0 1 0 0-7H3.707l2.147 2.146a.5.5 0 1 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3Z\",\"M7.293 3.293a1 1 0 0 1 1.414 1.414L6.414 7H15a6 6 0 1 1 0 12H9a1 1 0 1 1 0-2h6a4 4 0 1 0 0-8H6.414l2.293 2.293a1 1 0 1 1-1.414 1.414l-4-4a1 1 0 0 1 0-1.414l4-4Z\",\"M10.293 3.293a1 1 0 1 1 1.414 1.414L7.414 9H19a9 9 0 0 1 0 18h-6a1 1 0 1 1 0-2h6a7 7 0 1 0 0-14H7.414l4.293 4.293a1 1 0 0 1-1.414 1.414l-6-6a1 1 0 0 1 0-1.414l6-6Z\"],[\"M3.146 1.146a.5.5 0 1 1 .708.708L2.707 3H6.5C8.92 3 11 4.73 11 7s-2.08 4-4.5 4h-3a.5.5 0 0 1 0-1h3C8.498 10 10 8.596 10 7S8.498 4 6.5 4H2.707l1.147 1.146a.5.5 0 1 1-.708.708l-2-2a.5.5 0 0 1 0-.708l2-2Z\",\"M5.146 2.146a.5.5 0 1 1 .708.708L3.707 5H9.5a4.5 4.5 0 1 1 0 9h-4a.5.5 0 0 1 0-1h4a3.5 3.5 0 1 0 0-7H3.707l2.147 2.146a.5.5 0 1 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3Z\",\"M7.293 3.293a1 1 0 0 1 1.414 1.414L6.414 7H15a6 6 0 1 1 0 12H9a1 1 0 1 1 0-2h6a4 4 0 1 0 0-8H6.414l2.293 2.293a1 1 0 1 1-1.414 1.414l-4-4a1 1 0 0 1 0-1.414l4-4Z\",\"M10.293 3.293a1 1 0 0 1 1.414 1.414L7.415 9H19a9 9 0 0 1 0 18h-6a1 1 0 1 1 0-2h6a7 7 0 0 0 0-14H7.393l4.314 4.314a1 1 0 0 1-1.414 1.414l-6.01-6.01a1 1 0 0 1 0-1.415l6.01-6.01Z\"]];","export default [[\"<g clip-path='url(#a)'><path d='M8.864 4.992a.75.75 0 0 0 1.06 1.06l.374-.373a2.843 2.843 0 0 0-4.021-4.02l-.268.268a.75.75 0 0 0 1.06 1.06l.269-.268a1.343 1.343 0 0 1 1.9 1.9l-.374.373ZM5 1.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1Zm-2.146.646a.5.5 0 0 0-.708.708l1 1a.5.5 0 1 0 .708-.708l-1-1ZM1 4.5a.5.5 0 0 1 .5-.5h1a.5.5 0 1 1 0 1h-1a.5.5 0 0 1-.5-.5Zm6 6a.5.5 0 1 0 1 0v-1a.5.5 0 0 0-1 0v1Zm1.854-2.354 1 1a.5.5 0 0 1-.708.708l-1-1a.5.5 0 0 1 .708-.708ZM10.5 8a.5.5 0 0 0 0-1h-1a.5.5 0 1 0 0 1h1ZM3.164 5.906a.75.75 0 0 1 0 1.06l-.412.413a1.34 1.34 0 0 0 1.894 1.894l.387-.387a.75.75 0 0 1 1.06 1.061l-.386.387A2.84 2.84 0 0 1 1.69 6.318l.412-.412a.75.75 0 0 1 1.06 0Z'></path></g><defs><clipPath id='a'><path d='M0 0h12v12H0z'></path></clipPath></defs>\",\"M7 1.5a.5.5 0 0 0-1 0v3a.5.5 0 0 0 1 0v-3Zm-4.146.646a.5.5 0 1 0-.708.708l2 2a.5.5 0 1 0 .708-.708l-2-2ZM1 6.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm8 8a.5.5 0 0 0 1 0v-3a.5.5 0 0 0-1 0v3Zm4.854-.646a.5.5 0 0 1-.707 0l-2-2a.5.5 0 0 1 .707-.708l2 2a.5.5 0 0 1 0 .708ZM14.5 10a.5.5 0 1 0 0-1h-3a.5.5 0 0 0 0 1h3ZM4.52 8.305a.75.75 0 0 1 0 1.06l-1.59 1.59a1.498 1.498 0 0 0 2.12 2.119l1.546-1.547a.75.75 0 1 1 1.06 1.06L6.11 14.135a2.998 2.998 0 0 1-4.24-4.24l1.59-1.59a.75.75 0 0 1 1.06 0Zm7.027-1.725a.75.75 0 1 0 1.06 1.06l1.522-1.52a2.998 2.998 0 0 0-4.24-4.24L8.342 3.425a.75.75 0 0 0 1.061 1.06L10.95 2.94a1.498 1.498 0 0 1 2.118 2.118L11.547 6.58Z\",\"M9 2a1 1 0 1 0-2 0v3a1 1 0 1 0 2 0V2Zm-5.293.293a1 1 0 0 0-1.414 1.414l2.125 2.125a1 1 0 0 0 1.414-1.414L3.707 2.293ZM1 8a1 1 0 0 1 1-1h3a1 1 0 1 1 0 2H2a1 1 0 0 1-1-1Zm14 14a1 1 0 1 0 2 0v-3a1 1 0 1 0-2 0v3Zm6.707-.293a1 1 0 0 1-1.414 0l-2.125-2.125a1 1 0 0 1 1.414-1.414l2.125 2.125a1 1 0 0 1 0 1.414ZM22 17a1 1 0 1 0 0-2h-3a1 1 0 1 0 0 2h3ZM7.59 10.389a1.25 1.25 0 0 1 0 1.767l-3.214 3.215a3.006 3.006 0 1 0 4.25 4.25l3.251-3.25a1.25 1.25 0 0 1 1.768 1.768l-3.25 3.25a5.506 5.506 0 1 1-7.787-7.786l3.215-3.214a1.25 1.25 0 0 1 1.768 0Zm8.795 1.484a1.25 1.25 0 1 0 1.768 1.768l3.217-3.217a5.506 5.506 0 1 0-7.787-7.786l-3.225 3.226a1.25 1.25 0 0 0 1.767 1.768l3.226-3.226a3.006 3.006 0 1 1 4.25 4.25l-3.216 3.217Z\",\"M21.777 15.826a1.25 1.25 0 1 0 1.756 1.78l4.522-4.462A6.511 6.511 0 1 0 18.882 3.9L13.91 8.862a1.25 1.25 0 1 0 1.766 1.77l4.972-4.962a4.011 4.011 0 1 1 5.651 5.694l-4.522 4.462ZM12 3a1 1 0 1 0-2 0v4.5a1 1 0 1 0 2 0V3Zm-7.293.293a1 1 0 1 0-1.414 1.414l4 4a1 1 0 1 0 1.414-1.414l-4-4ZM2 11a1 1 0 0 1 1-1h4.5a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm18 18a1 1 0 1 0 2 0v-4.5a1 1 0 1 0-2 0V29Zm8.707-.293a1 1 0 0 1-1.414 0l-4-4a1 1 0 0 1 1.414-1.414l4 4a1 1 0 0 1 0 1.414ZM29 22a1 1 0 1 0 0-2h-4.5a1 1 0 1 0 0 2H29Zm-18.857-7.57a1.25 1.25 0 0 1-.01 1.768l-4.467 4.415a4.015 4.015 0 1 0 5.658 5.698l4.53-4.517a1.25 1.25 0 0 1 1.765 1.77l-4.53 4.517a6.515 6.515 0 1 1-9.18-9.246l4.467-4.416a1.25 1.25 0 0 1 1.767.01Z\"],[\"M10.311 1.682c-.916-.91-2.4-.91-3.315 0l-.85.844a.5.5 0 0 0 .705.71l.85-.844a1.355 1.355 0 0 1 1.906 0c.524.52.524 1.363 0 1.884l-.881.874a.5.5 0 1 0 .705.71l.88-.875a2.325 2.325 0 0 0 0-3.303ZM3.274 6.85a.5.5 0 0 0-.705-.71l-.88.875a2.325 2.325 0 0 0 0 3.303c.915.91 2.399.91 3.315 0l.846-.84a.5.5 0 0 0-.705-.71l-.846.84a1.355 1.355 0 0 1-1.906 0 1.325 1.325 0 0 1 0-1.883l.88-.875ZM4.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5ZM2.854 2.146a.5.5 0 1 0-.708.708l1 1a.5.5 0 1 0 .708-.708l-1-1ZM1 4.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5Zm6 6a.5.5 0 0 0 1 0v-1a.5.5 0 0 0-1 0v1Zm1.854-2.354 1 1a.5.5 0 0 1-.708.708l-1-1a.5.5 0 1 1 .708-.708ZM10.5 8a.5.5 0 0 0 0-1h-1a.5.5 0 0 0 0 1h1Z\",\"M11.557 7.274a.5.5 0 1 0 .707.707l1.86-1.86A3 3 0 0 0 9.88 1.88L8.113 3.646a.5.5 0 1 0 .707.708l1.768-1.768a2 2 0 0 1 2.828 2.828l-1.86 1.86ZM4.445 8.727a.5.5 0 0 0-.707-.707l-1.86 1.86a3 3 0 1 0 4.243 4.242l1.768-1.768a.5.5 0 1 0-.707-.707l-1.768 1.768a2 2 0 0 1-2.828-2.829l1.86-1.86ZM6.5 1a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 1 .5-.5ZM2.854 2.147a.5.5 0 1 0-.708.707l2 2a.5.5 0 0 0 .708-.707l-2-2ZM1 6.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm8 8a.5.5 0 0 0 1 0v-3a.5.5 0 1 0-1 0v3Zm4.854-.646a.5.5 0 0 1-.708 0l-2-2a.5.5 0 0 1 .708-.707l2 2a.5.5 0 0 1 0 .707ZM14.5 10a.5.5 0 0 0 0-1h-3a.5.5 0 0 0 0 1h3Z\",\"M21.39 2.61a5.5 5.5 0 0 0-7.779 0L10.93 5.294a1 1 0 0 0 1.414 1.414l2.682-2.682a3.5 3.5 0 0 1 4.95 4.95l-2.75 2.75a1 1 0 1 0 1.414 1.414l2.75-2.75a5.5 5.5 0 0 0 0-7.778ZM2.61 21.39a5.5 5.5 0 0 0 7.779 0l2.682-2.683a1 1 0 0 0-1.414-1.414l-2.682 2.682a3.5 3.5 0 0 1-4.95-4.95l2.75-2.75a1 1 0 1 0-1.414-1.414l-2.75 2.75a5.5 5.5 0 0 0 0 7.778ZM8 1a1 1 0 0 1 1 1v3a1 1 0 1 1-2 0V2a1 1 0 0 1 1-1ZM3.707 2.293a1 1 0 0 0-1.414 1.414l2.125 2.125a1 1 0 0 0 1.414-1.414L3.707 2.293ZM1 8a1 1 0 0 1 1-1h3a1 1 0 0 1 0 2H2a1 1 0 0 1-1-1Zm14 14a1 1 0 1 0 2 0v-3a1 1 0 1 0-2 0v3Zm6.707-.293a1 1 0 0 1-1.414 0l-2.125-2.125a1 1 0 0 1 1.414-1.414l2.125 2.125a1 1 0 0 1 0 1.414ZM22 17a1 1 0 1 0 0-2h-3a1 1 0 1 0 0 2h3Z\",\"M11 2a1 1 0 0 1 1 1v4.5a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1Zm17.096 1.904a6.5 6.5 0 0 0-9.192 0l-4.39 4.389a1 1 0 1 0 1.415 1.414l4.389-4.389a4.5 4.5 0 1 1 6.364 6.364l-4.5 4.5a1 1 0 0 0 1.414 1.414l4.5-4.5a6.5 6.5 0 0 0 0-9.192ZM3.904 28.096a6.5 6.5 0 0 0 9.192 0l4.39-4.389a1 1 0 1 0-1.415-1.414l-4.389 4.389a4.5 4.5 0 0 1-6.364-6.364l4.5-4.5a1 1 0 1 0-1.414-1.414l-4.5 4.5a6.5 6.5 0 0 0 0 9.192Zm.803-24.803a1 1 0 0 0-1.414 1.414l4 4a1 1 0 0 0 1.414-1.414l-4-4ZM2 11a1 1 0 0 1 1-1h4.5a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm18 18a1 1 0 1 0 2 0v-4.5a1 1 0 1 0-2 0V29Zm8.707-.293a1 1 0 0 1-1.414 0l-4-4a1 1 0 0 1 1.414-1.414l4 4a1 1 0 0 1 0 1.414ZM29 22a1 1 0 1 0 0-2h-4.5a1 1 0 1 0 0 2H29Z\"]];","export default [[\"M4 4a2 2 0 0 1 3.96-.4.5.5 0 0 0 .98-.2A3 3 0 0 0 3 4v2.085A1.5 1.5 0 0 0 2 7.5v2A1.5 1.5 0 0 0 3.5 11h5A1.5 1.5 0 0 0 10 9.5v-2A1.5 1.5 0 0 0 8.5 6H4V4Z\",\"M8 2a3 3 0 0 0-3 3v3h7.5A1.5 1.5 0 0 1 14 9.5v4a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 13.5v-4A1.5 1.5 0 0 1 3.5 8H4V5a4 4 0 1 1 8 0v.5a.5.5 0 0 1-1 0V5a3 3 0 0 0-3-3Zm0 10.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\"M12 3a4 4 0 0 0-4 4v5h10a3 3 0 0 1 3 3v5a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3v-5a3 3 0 0 1 3-3V7a6 6 0 1 1 12 0v1a1 1 0 1 1-2 0V7a4 4 0 0 0-4-4Zm0 16a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\",\"M16 4a6 6 0 0 0-6 6v6h15a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3v-8a3 3 0 0 1 3-3h1v-6a8 8 0 1 1 16 0v1a1 1 0 1 1-2 0v-1a6 6 0 0 0-6-6Zm0 21a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"],[\"M4 4a2 2 0 0 1 3.96-.4.5.5 0 0 0 .98-.2A3 3 0 0 0 3 4v2.085A1.5 1.5 0 0 0 2 7.5v2A1.5 1.5 0 0 0 3.5 11h5A1.5 1.5 0 0 0 10 9.5v-2A1.5 1.5 0 0 0 8.5 6H4V4Zm-.5 3h5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5Z\",\"<path d='M8 12.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M8 2a3 3 0 0 0-3 3v3h7.5A1.5 1.5 0 0 1 14 9.5v4a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 13.5v-4A1.5 1.5 0 0 1 3.5 8H4V5a4 4 0 1 1 8 0v.5a.5.5 0 0 1-1 0V5a3 3 0 0 0-3-3ZM3.5 9a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-9Z'></path>\",\"<path d='M12 19a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z'></path><path d='M12 3a4 4 0 0 0-4 4v5h10a3 3 0 0 1 3 3v5a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3v-5a3 3 0 0 1 3-3V7a6 6 0 1 1 12 0v1a1 1 0 1 1-2 0V7a4 4 0 0 0-4-4ZM6 14a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1H6Z'></path>\",\"<path d='M16 25a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z'></path><path d='M16 4a6 6 0 0 0-6 6v6h15a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3v-8a3 3 0 0 1 3-3h1v-6a8 8 0 1 1 16 0v1a1 1 0 1 1-2 0v-1a6 6 0 0 0-6-6ZM7 18a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1v-8a1 1 0 0 0-1-1H7Z'></path>\"]];","export default [[\"<path d='M4.5 9a.5.5 0 0 1-.5-.5v-3H2.5a.5.5 0 0 1-.354-.854l3.5-3.5a.5.5 0 0 1 .708 0l3.5 3.5A.5.5 0 0 1 9.5 5.5H8v3a.5.5 0 0 1-.5.5h-3Z'></path><path d='M1.5 9a.5.5 0 0 1 .5.5v.5h8v-.5a.5.5 0 0 1 1 0v1a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5Z'></path>\",\"<path d='M6.5 12a.5.5 0 0 1-.5-.5V6H4.5a.5.5 0 0 1-.376-.83l3.5-4a.5.5 0 0 1 .752 0l3.5 4A.5.5 0 0 1 11.5 6H10v5.5a.5.5 0 0 1-.5.5h-3Z'></path><path d='M1.5 12a.5.5 0 0 1 .5.5v1a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 1 1 0v1a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 13.5v-1a.5.5 0 0 1 .5-.5Z'></path>\",\"<path d='M9 18a1 1 0 0 1-1-1v-6H6a1 1 0 0 1-.76-1.65l6-7a1 1 0 0 1 1.52 0l6 7A1 1 0 0 1 18 11h-2v6a1 1 0 0 1-1 1H9Z'></path><path d='M3 17a1 1 0 0 1 1 1v1a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-1a1 1 0 1 1 2 0v1a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3v-1a1 1 0 0 1 1-1Z'></path>\",\"<path d='M13 25a1 1 0 0 1-1-1V13H8a1 1 0 0 1-.747-1.664l8-9a1 1 0 0 1 1.494 0l8 9A1 1 0 0 1 24 13h-4v11a1 1 0 0 1-1 1h-6Z'></path><path d='M3 24a1 1 0 0 1 1 1v2a1 1 0 0 0 1 1h22a1 1 0 0 0 1-1v-2a1 1 0 1 1 2 0v2a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3v-2a1 1 0 0 1 1-1Z'></path>\"],[\"<path d='M4.5 9a.5.5 0 0 1-.5-.5v-3H2.5a.5.5 0 0 1-.354-.854l3.5-3.5a.5.5 0 0 1 .708 0l3.5 3.5A.5.5 0 0 1 9.5 5.5H8v3a.5.5 0 0 1-.5.5h-3ZM5 4.5V8h2V4.5h1.293L6 2.207 3.707 4.5H5Z'></path><path d='M2 9.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-1 0v.5H2v-.5Z'></path>\",\"<path d='M6.5 12a.5.5 0 0 1-.5-.5V6H4.5a.5.5 0 0 1-.376-.83l3.5-4a.5.5 0 0 1 .752 0l3.5 4A.5.5 0 0 1 11.5 6H10v5.5a.5.5 0 0 1-.5.5h-3ZM7 5v6h2V5h1.398L8 2.26 5.602 5H7Z'></path><path d='M2 12.5a.5.5 0 0 0-1 0v1A1.5 1.5 0 0 0 2.5 15h11a1.5 1.5 0 0 0 1.5-1.5v-1a.5.5 0 0 0-1 0v1a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-1Z'></path>\",\"<path d='M9 18a1 1 0 0 1-1-1v-6H6a1 1 0 0 1-.76-1.65l6-7a1 1 0 0 1 1.52 0l6 7A1 1 0 0 1 18 11h-2v6a1 1 0 0 1-1 1H9Zm1-9v7h4V9h1.826L12 4.537 8.174 9H10Z'></path><path d='M4 18a1 1 0 1 0-2 0v1a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-1a1 1 0 1 0-2 0v1a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1Z'></path>\",\"<path d='M13 25a1 1 0 0 1-1-1V13H8a1 1 0 0 1-.747-1.664l8-9a1 1 0 0 1 1.494 0l8 9A1 1 0 0 1 24 13h-4v11a1 1 0 0 1-1 1h-6Zm1-14v12h4V11h3.773L16 4.505 10.227 11H14Z'></path><path d='M4 25a1 1 0 1 0-2 0v2a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3v-2a1 1 0 1 0-2 0v2a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-2Z'></path>\"]];","export default [[\"M7.641 5.386a2.5 2.5 0 1 0-3.283 0c-.384.181-.745.42-1.062.701C2.55 6.752 2 7.7 2 8.781 2 10.007 2.993 11 4.219 11H7.78A2.219 2.219 0 0 0 10 8.781c0-1.08-.549-2.029-1.296-2.694a4.484 4.484 0 0 0-1.063-.701Z\",\"M8 2a3 3 0 0 0-1.852 5.36C4.3 8.111 3 9.953 3 12.094A2.906 2.906 0 0 0 5.906 15h4.188A2.906 2.906 0 0 0 13 12.094c0-2.141-1.3-3.983-3.148-4.734A3 3 0 0 0 8 2Z\",\"M12 2a5 5 0 0 0-3.32 8.738C5.908 12.038 4 14.913 4 18.218A3.781 3.781 0 0 0 7.781 22h8.438A3.781 3.781 0 0 0 20 18.219c0-3.306-1.909-6.181-4.68-7.48A5 5 0 0 0 12 2Z\",\"M16 2a7 7 0 0 0-4.008 12.74C7.76 16.392 5 20.623 5 25.5A4.5 4.5 0 0 0 9.5 30h13a4.5 4.5 0 0 0 4.5-4.5c0-4.877-2.76-9.108-6.992-10.76A7 7 0 0 0 16 2Z\"],[\"M7.641 5.386a2.5 2.5 0 1 0-3.283 0c-.384.181-.745.42-1.062.701C2.55 6.752 2 7.7 2 8.781 2 10.007 2.993 11 4.219 11H7.78A2.219 2.219 0 0 0 10 8.781c0-1.08-.549-2.029-1.296-2.694a4.484 4.484 0 0 0-1.063-.701ZM6 5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm0 1c-.689 0-1.449.31-2.04.835C3.374 7.357 3 8.05 3 8.78 3 9.454 3.546 10 4.219 10H7.78A1.22 1.22 0 0 0 9 8.781c0-.73-.373-1.424-.96-1.946C7.448 6.31 6.688 6 6 6Z\",\"M9.852 7.36a3 3 0 1 0-3.704 0C4.3 8.111 3 9.953 3 12.094A2.906 2.906 0 0 0 5.906 15h4.188A2.906 2.906 0 0 0 13 12.094c0-2.141-1.3-3.983-3.148-4.734ZM6 5a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm2 3c-2.2 0-4 1.823-4 4.094C4 13.147 4.853 14 5.906 14h4.188A1.906 1.906 0 0 0 12 12.094C12 9.824 10.2 8 8 8Z\",\"M15.32 10.738a5 5 0 1 0-6.641 0C5.91 12.038 4 14.913 4 18.218A3.781 3.781 0 0 0 7.781 22h8.438A3.781 3.781 0 0 0 20 18.219c0-3.306-1.909-6.181-4.68-7.48ZM9 7a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm3 5c-3.285 0-6 2.755-6 6.219C6 19.202 6.797 20 7.781 20h8.438c.983 0 1.781-.797 1.781-1.781C18 14.755 15.285 12 12 12Z\",\"M20.008 14.74a7 7 0 1 0-8.016 0C7.76 16.392 5 20.623 5 25.5A4.5 4.5 0 0 0 9.5 30h13a4.5 4.5 0 0 0 4.5-4.5c0-4.877-2.76-9.108-6.992-10.76ZM11 9a5 5 0 1 1 10 0 5 5 0 0 1-10 0Zm5 7c-5.184 0-9 4.188-9 9.5A2.5 2.5 0 0 0 9.5 28h13a2.5 2.5 0 0 0 2.5-2.5c0-5.312-3.816-9.5-9-9.5Z\"]];","export default [[\"M2 3.5a2.5 2.5 0 1 1 4.106 1.916c.079.043.155.09.23.139-.21.258-.336.587-.336.945V11H2.5A1.5 1.5 0 0 1 1 9.5v-.75c0-1.43.758-2.705 1.894-3.334A2.495 2.495 0 0 1 2 3.5ZM7 7a1 1 0 0 1 1-1 1 1 0 0 1 1-1h1a1 1 0 0 1 1 1 1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1V7Zm1 0v4h3V7H8Z\",\"M4 4.5a2.5 2.5 0 1 1 4.106 1.916c.424.234.795.56 1.094.948A2.499 2.499 0 0 0 8 9.5v3.45c-.162.033-.329.05-.5.05h-2A2.5 2.5 0 0 1 3 10.5v-.75c0-1.43.758-2.705 1.894-3.334A2.495 2.495 0 0 1 4 4.5ZM10.585 8H10.5A1.5 1.5 0 0 0 9 9.5v5a1.5 1.5 0 0 0 1.5 1.5h4a1.5 1.5 0 0 0 1.5-1.5v-5A1.5 1.5 0 0 0 14.5 8h-.085A1.5 1.5 0 0 0 13 7h-1a1.5 1.5 0 0 0-1.415 1ZM10.5 9h.085A1.5 1.5 0 0 0 12 10h1a1.5 1.5 0 0 0 1.415-1h.085a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-5a.5.5 0 0 1 .5-.5Zm1-.5A.5.5 0 0 1 12 8h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5Z\",\"M3 5.5a4.5 4.5 0 1 1 7.55 3.309c.45.239.877.523 1.265.844A2.494 2.494 0 0 0 11 11.5v7.374A4.01 4.01 0 0 1 10 19H5a4 4 0 0 1-4-4v-1.125c0-1.732.964-3.21 2.18-4.217.39-.323.818-.61 1.27-.85A4.488 4.488 0 0 1 3 5.5ZM13 13a2 2 0 0 1 2-2h.5c.456-.607 1.182-1 2-1h2c.818 0 1.544.393 2 1h.5a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-7a2 2 0 0 1-2-2v-9Zm8.95 0a2.5 2.5 0 0 1-2.45 2h-2a2.5 2.5 0 0 1-2.45-2H15v9h7v-9h-.05ZM17 12.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 0-1h-2a.5.5 0 0 0-.5.5Z\",\"M5 7.5a5.5 5.5 0 1 1 8.908 4.317 7.533 7.533 0 0 1 2.777 2.44A4.988 4.988 0 0 0 15 18v5.584A4.983 4.983 0 0 1 13 24H8a5 5 0 0 1-5-5v-.5a7.5 7.5 0 0 1 4.092-6.683A5.49 5.49 0 0 1 5 7.5ZM20.5 15H20a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h7a3 3 0 0 0 3-3V18a3 3 0 0 0-3-3h-.5a2.496 2.496 0 0 0-2-1h-2c-.818 0-1.544.393-2 1Zm-.5 2h.05a2.5 2.5 0 0 0 2.45 2h2a2.5 2.5 0 0 0 2.45-2H27a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-7a1 1 0 0 1-1-1V18a1 1 0 0 1 1-1Zm2-.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Z\"],[\"M7 3.5c0 .77-.347 1.457-.894 1.916.079.043.155.09.23.139-.21.258-.336.587-.336.945v.051A2.356 2.356 0 0 0 4.5 6C3.156 6 2 7.193 2 8.75v.75a.5.5 0 0 0 .5.5H6v1H2.5A1.5 1.5 0 0 1 1 9.5v-.75c0-1.43.758-2.705 1.894-3.334A2.5 2.5 0 1 1 7 3.5ZM4.5 2a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM7 7a1 1 0 0 1 1-1 1 1 0 0 1 1-1h1a1 1 0 0 1 1 1 1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1V7Zm1 0v4h3V7H8Z\",\"M9 4.5c0 .77-.347 1.457-.894 1.916.424.234.795.56 1.094.948-.289.176-.54.41-.736.684C8 7.404 7.282 7 6.5 7 5.156 7 4 8.193 4 9.75v.75A1.5 1.5 0 0 0 5.5 12h2c.175 0 .344-.03.5-.085v1.035c-.162.033-.329.05-.5.05h-2A2.5 2.5 0 0 1 3 10.5v-.75c0-1.43.758-2.705 1.894-3.334A2.5 2.5 0 1 1 9 4.5ZM6.5 3a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm4.085 5H10.5A1.5 1.5 0 0 0 9 9.5v5a1.5 1.5 0 0 0 1.5 1.5h4a1.5 1.5 0 0 0 1.5-1.5v-5A1.5 1.5 0 0 0 14.5 8h-.085A1.5 1.5 0 0 0 13 7h-1a1.5 1.5 0 0 0-1.415 1ZM10.5 9h.085A1.5 1.5 0 0 0 12 10h1a1.5 1.5 0 0 0 1.415-1h.085a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-5a.5.5 0 0 1 .5-.5Zm1-.5A.5.5 0 0 1 12 8h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5Z\",\"M12 5.5a4.488 4.488 0 0 1-1.45 3.309c.45.239.877.523 1.265.844A2.494 2.494 0 0 0 11 11.5v.125a5.069 5.069 0 0 0-.456-.427C9.63 10.44 8.474 10 7.5 10c-.974 0-2.13.44-3.044 1.198C3.543 11.955 3 12.915 3 13.875V15a2 2 0 0 0 2 2h5a1.99 1.99 0 0 0 1-.268v2.142A4.01 4.01 0 0 1 10 19H5a4 4 0 0 1-4-4v-1.125c0-1.732.964-3.21 2.18-4.217.39-.323.818-.61 1.27-.85A4.5 4.5 0 1 1 12 5.5ZM7.5 3a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5ZM13 13a2 2 0 0 1 2-2h.5c.456-.607 1.182-1 2-1h2c.818 0 1.544.393 2 1h.5a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-7a2 2 0 0 1-2-2v-9Zm8.95 0a2.5 2.5 0 0 1-2.45 2h-2a2.5 2.5 0 0 1-2.45-2H15v9h7v-9h-.05ZM17 12.5a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 0-1h-2a.5.5 0 0 0-.5.5Z\",\"M16 7.5a5.49 5.49 0 0 1-2.092 4.317 7.533 7.533 0 0 1 2.777 2.44 5.014 5.014 0 0 0-1.276 1.76A5.5 5.5 0 0 0 5 18.5v.5a3 3 0 0 0 3 3h5c.768 0 1.47-.289 2-.764v2.348A4.983 4.983 0 0 1 13 24H8a5 5 0 0 1-5-5v-.5a7.5 7.5 0 0 1 4.092-6.683A5.5 5.5 0 1 1 16 7.5ZM10.5 4a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Zm10 11H20a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h7a3 3 0 0 0 3-3V18a3 3 0 0 0-3-3h-.5a2.496 2.496 0 0 0-2-1h-2c-.818 0-1.544.393-2 1Zm-.5 2h.05a2.5 2.5 0 0 0 2.45 2h2a2.5 2.5 0 0 0 2.45-2H27a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-7a1 1 0 0 1-1-1V18a1 1 0 0 1 1-1Zm2-.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5Z\"]];","export default [[\"<path d='M2 3.5a2.5 2.5 0 1 1 4.867.805A4.502 4.502 0 0 0 4.757 11H2.5A1.5 1.5 0 0 1 1 9.5v-.75c0-1.43.758-2.705 1.894-3.334A2.495 2.495 0 0 1 2 3.5Zm7 4a.5.5 0 0 0-1 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 0-1H9v-.5Z'></path><path d='M5 8.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM8.5 6a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path>\",\"<path d='M2 4.5a2.5 2.5 0 1 1 4.106 1.916c.561.31 1.03.778 1.36 1.345a5.508 5.508 0 0 0-1.285 5.145A2.503 2.503 0 0 1 5.5 13h-2A2.5 2.5 0 0 1 1 10.5v-.75c0-1.43.758-2.705 1.894-3.334A2.495 2.495 0 0 1 2 4.5Zm10 5a.5.5 0 0 0-1 0v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 0-1H12V9.5Z'></path><path d='M7 11.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM11.5 8a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M3 5.5a4.5 4.5 0 1 1 7.55 3.309c.447.237.872.52 1.258.839A8.99 8.99 0 0 0 8 17c0 .687.077 1.357.223 2H5a4 4 0 0 1-4-4v-1.125c0-1.732.964-3.21 2.18-4.217.39-.323.818-.61 1.27-.85A4.488 4.488 0 0 1 3 5.5ZM18 14a1 1 0 1 0-2 0v3.077a1 1 0 0 0 1 1h2a1 1 0 1 0 0-2h-1V14Z'></path><path d='M10 17a7 7 0 1 1 14 0 7 7 0 0 1-14 0Zm7-5a5 5 0 1 0 0 10 5 5 0 0 0 0-10Z'></path>\",\"<path d='M4 7.5a5.5 5.5 0 1 1 8.908 4.317 7.525 7.525 0 0 1 2.151 1.649A10.979 10.979 0 0 0 11 22c0 .683.062 1.351.181 2H7a5 5 0 0 1-5-5v-.5a7.5 7.5 0 0 1 4.092-6.683A5.49 5.49 0 0 1 4 7.5ZM23 18a1 1 0 1 0-2 0v4a1 1 0 0 0 1 1h3a1 1 0 1 0 0-2h-2v-3Z'></path><path d='M13 22a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"],[\"<path d='M4.758 11H2.5A1.5 1.5 0 0 1 1 9.5v-.75c0-1.43.758-2.705 1.894-3.334a2.5 2.5 0 1 1 3.974-1.11c-.87.338-1.61.94-2.12 1.708A2.266 2.266 0 0 0 4.5 6C3.156 6 2 7.193 2 8.75v.75a.5.5 0 0 0 .5.5h1.756c.126.356.295.691.502 1ZM4.5 2a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM9 7.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 0-1H9v-.5Z'></path><path d='M5 8.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM8.5 6a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path>\",\"<path d='M7 4.5c0 .77-.347 1.457-.894 1.916.561.31 1.03.778 1.36 1.345a5.521 5.521 0 0 0-.672.891C6.404 7.666 5.504 7 4.5 7 3.156 7 2 8.193 2 9.75v.75A1.5 1.5 0 0 0 3.5 12h2c.18 0 .354-.032.515-.09.025.341.082.674.166.996A2.503 2.503 0 0 1 5.5 13h-2A2.5 2.5 0 0 1 1 10.5v-.75c0-1.43.758-2.705 1.894-3.334A2.5 2.5 0 1 1 7 4.5ZM4.5 3a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM12 9.5a.5.5 0 0 0-1 0v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 0-1H12V9.5Z'></path><path d='M7 11.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM11.5 8a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M12 5.5a4.488 4.488 0 0 1-1.45 3.309c.447.237.872.52 1.258.839A9.045 9.045 0 0 0 10.29 11c-.867-.636-1.904-1-2.79-1-.974 0-2.13.44-3.044 1.198C3.543 11.955 3 12.915 3 13.875V15a2 2 0 0 0 2 2h3c0 .687.077 1.357.223 2H5a4 4 0 0 1-4-4v-1.125c0-1.732.964-3.21 2.18-4.217.39-.323.818-.61 1.27-.85A4.5 4.5 0 1 1 12 5.5ZM7.5 3a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5ZM18 14a1 1 0 1 0-2 0v3.077a1 1 0 0 0 1 1h2a1 1 0 1 0 0-2h-1V14Z'></path><path d='M10 17a7 7 0 1 1 14 0 7 7 0 0 1-14 0Zm7-5a5 5 0 1 0 0 10 5 5 0 0 0 0-10Z'></path>\",\"<path d='M15 7.5a5.49 5.49 0 0 1-2.092 4.317 7.525 7.525 0 0 1 2.151 1.649c-.518.422-.997.89-1.431 1.399A5.5 5.5 0 0 0 4 18.5v.5a3 3 0 0 0 3 3h4c0 .683.062 1.351.181 2H7a5 5 0 0 1-5-5v-.5a7.5 7.5 0 0 1 4.092-6.683A5.5 5.5 0 1 1 15 7.5ZM9.5 4a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM23 18a1 1 0 1 0-2 0v4a1 1 0 0 0 1 1h3a1 1 0 1 0 0-2h-2v-3Z'></path><path d='M13 22a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"]];","export default [[\"M8 1a1.5 1.5 0 0 0-1.17 2.438 1.8 1.8 0 0 0-.39.483 1.5 1.5 0 1 0-2.61.517 1.8 1.8 0 0 0-.39.483 1.5 1.5 0 1 0-2.61.517 1.777 1.777 0 0 0-.558 1.775l.137.544a1.64 1.64 0 0 0 3.182 0l.102-.406a1.64 1.64 0 0 0 2.898-.594l.102-.406a1.64 1.64 0 0 0 2.898-.594l.137-.544a1.777 1.777 0 0 0-.558-1.775A1.5 1.5 0 0 0 8 1ZM6.24 4.502c.013-.085.033-.17.059-.251a1.504 1.504 0 0 1-.129.187l.07.064Zm-3 1c.013-.085.033-.17.059-.251a1.504 1.504 0 0 1-.129.187l.07.064ZM9 7.5a.5.5 0 0 1 .5-.5h1a.499.499 0 0 1 .5.497V8.5a.5.5 0 0 1-.997.053C8.45 9.648 5.503 11 1.5 11a.5.5 0 0 1 0-1c3.602 0 6.254-1.16 7.693-2.105A.5.5 0 0 1 9 7.5Z\",\"M12.5 3.5c0 .35-.12.671-.32.926.484.403.755 1.045.642 1.725l-.253 1.52a1.59 1.59 0 0 1-3.138 0l-.253-1.52a1.844 1.844 0 0 1 .642-1.725A1.5 1.5 0 1 1 12.5 3.5Zm-4 2c0 .35-.12.671-.32.926.484.403.755 1.045.642 1.725l-.253 1.52a1.59 1.59 0 0 1-3.138 0l-.253-1.52a1.844 1.844 0 0 1 .642-1.725A1.5 1.5 0 1 1 8.5 5.5Zm-4 2c0 .35-.12.67-.32.926.484.403.755 1.045.642 1.725l-.253 1.52a1.59 1.59 0 0 1-3.138 0l-.253-1.52a1.844 1.844 0 0 1 .642-1.725A1.5 1.5 0 1 1 4.5 7.5Zm8 1.5a.5.5 0 0 0 0 1h.92c-1.625 1.647-5.276 4-10.92 4a.5.5 0 0 0 0 1c5.765 0 9.627-2.34 11.5-4.166v.666a.5.5 0 0 0 1 0v-2a.5.5 0 0 0-.5-.5h-2Z\",\"M16.5 2a2.5 2.5 0 0 0-2.123 3.821 2.991 2.991 0 0 0-.88 2.767l.228 1.137a2.83 2.83 0 0 0 5.55 0l.227-1.137a2.991 2.991 0 0 0-.88-2.767A2.5 2.5 0 0 0 16.5 2Zm-6 3a2.5 2.5 0 0 0-2.123 3.821 2.991 2.991 0 0 0-.88 2.767l.228 1.137a2.83 2.83 0 0 0 5.55 0l.227-1.137a2.991 2.991 0 0 0-.88-2.767A2.5 2.5 0 0 0 10.5 5Zm-6 3a2.5 2.5 0 0 0-2.123 3.821 2.991 2.991 0 0 0-.88 2.767l.228 1.137a2.83 2.83 0 0 0 5.55 0l.227-1.137a2.991 2.991 0 0 0-.88-2.767A2.5 2.5 0 0 0 4.5 8ZM19 12a1 1 0 1 0 0 2h.444c-2.544 2.204-4.6 3.533-6.75 4.383-2.532 1-5.274 1.37-9.256 1.619a1 1 0 1 0 .124 1.996c4.018-.251 7.026-.632 9.868-1.756 2.503-.989 4.816-2.529 7.57-4.946V16a1 1 0 1 0 2 0v-3a1 1 0 0 0-1-1h-3Z\",\"<path d='M20.5 5a3 3 0 0 0-2.465 4.71 2.994 2.994 0 0 0-.995 2.919l.668 3.114a2.856 2.856 0 0 0 5.584 0l.667-3.114a2.994 2.994 0 0 0-.994-2.919A3 3 0 0 0 20.5 5Zm-8 3a3 3 0 0 0-2.465 4.71 2.994 2.994 0 0 0-.995 2.919l.668 3.114a2.856 2.856 0 0 0 5.584 0l.667-3.114a2.994 2.994 0 0 0-.994-2.919A3 3 0 0 0 12.5 8ZM5 11a3 3 0 0 0-2.465 4.71 2.994 2.994 0 0 0-.995 2.919l.668 3.114a2.855 2.855 0 0 0 5.584 0l.667-3.114a2.994 2.994 0 0 0-.994-2.919A3 3 0 0 0 5 11Z'></path><path d='M24 17a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 1 1-2 0v-1.015c-2.974 3.992-6.311 6.461-10.03 7.944C13.714 29.626 9.034 30 4 30a1 1 0 1 1 0-2c4.966 0 9.336-.376 13.23-1.929 3.576-1.426 6.814-3.871 9.735-8.071H25a1 1 0 0 1-1-1Z'></path>\"],[\"M8 2a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm-1.5.5a1.5 1.5 0 1 1 2.67.938c.481.42.728 1.091.558 1.775l-.137.544a1.64 1.64 0 0 1-2.898.594l-.102.406a1.64 1.64 0 0 1-2.898.594l-.102.406a1.64 1.64 0 0 1-3.182 0l-.137-.544A1.777 1.777 0 0 1 .83 5.438a1.5 1.5 0 1 1 2.61-.517 1.8 1.8 0 0 1 .39-.483 1.5 1.5 0 1 1 2.61-.517 1.8 1.8 0 0 1 .39-.483A1.494 1.494 0 0 1 6.5 2.5Zm-.201 1.75a1.504 1.504 0 0 1-.129.188l.07.064c.013-.085.033-.17.059-.251ZM4.5 3.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0ZM3.17 5.438c.048-.059.09-.121.129-.187a1.764 1.764 0 0 0-.06.251 1.786 1.786 0 0 0-.069-.064ZM1.5 4.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Zm8 2.5a.5.5 0 0 0-.307.895C7.754 8.84 5.103 10 1.5 10a.5.5 0 0 0 0 1c4.003 0 6.95-1.352 8.503-2.447A.5.5 0 0 0 11 8.5v-1a.5.5 0 0 0-.5-.5h-1Zm-6.879.515.136-.545a.78.78 0 1 0-1.515 0l.137.545a.64.64 0 0 0 1.242 0ZM5.757 5.97l-.136.545a.64.64 0 0 1-1.242 0l-.137-.545a.78.78 0 1 1 1.515 0Zm2.864-.455.136-.545a.78.78 0 1 0-1.515 0l.137.545a.64.64 0 0 0 1.242 0Z\",\"M12.18 4.426a1.5 1.5 0 1 0-2.36 0 1.844 1.844 0 0 0-.642 1.725l.253 1.52a1.59 1.59 0 0 0 3.138 0l.253-1.52a1.843 1.843 0 0 0-.642-1.725ZM10.5 3.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Zm1.335 2.486-.253 1.52a.59.59 0 0 1-1.164 0l-.254-1.52a.847.847 0 1 1 1.671 0Zm-3.655.44a1.5 1.5 0 1 0-2.36 0 1.844 1.844 0 0 0-.642 1.725l.253 1.52a1.59 1.59 0 0 0 3.138 0l.253-1.52a1.844 1.844 0 0 0-.642-1.725ZM6.5 5.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Zm1.336 2.486-.254 1.52a.59.59 0 0 1-1.164 0l-.254-1.52a.847.847 0 1 1 1.672 0Zm-3.656.44a1.5 1.5 0 1 0-2.36 0 1.844 1.844 0 0 0-.642 1.725l.253 1.52a1.59 1.59 0 0 0 3.138 0l.253-1.52a1.844 1.844 0 0 0-.642-1.725ZM2.5 7.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Zm1.082 4.007.254-1.52a.847.847 0 1 0-1.672 0l.254 1.52a.59.59 0 0 0 1.164 0ZM12 9.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-.666C12.127 12.66 8.265 15 2.5 15a.5.5 0 0 1 0-1c5.644 0 9.295-2.353 10.92-4h-.92a.5.5 0 0 1-.5-.5Z\",\"M18.623 5.821a2.5 2.5 0 1 0-4.246 0 2.991 2.991 0 0 0-.88 2.767l.228 1.137a2.83 2.83 0 0 0 5.55 0l.227-1.137a2.991 2.991 0 0 0-.88-2.767ZM16.5 4a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm-.06 3a1 1 0 0 0-.981 1.196l.227 1.137a.83.83 0 0 0 1.628 0l.227-1.137A1 1 0 0 0 16.56 7h-.122ZM13 7.5c0 .485-.138.938-.377 1.321a2.991 2.991 0 0 1 .879 2.767l-.227 1.137a2.83 2.83 0 0 1-5.55 0l-.227-1.137a2.991 2.991 0 0 1 .88-2.767A2.5 2.5 0 1 1 13 7.5Zm-3 0a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Zm.44 2.5h.12a1 1 0 0 1 .98 1.196l-.226 1.137a.83.83 0 0 1-1.628 0l-.227-1.137a1 1 0 0 1 .98-1.196Zm-3.817 1.821a2.5 2.5 0 1 0-4.246 0 2.991 2.991 0 0 0-.88 2.767l.228 1.137a2.83 2.83 0 0 0 5.55 0l.227-1.137a2.991 2.991 0 0 0-.88-2.767ZM4.5 10a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm-.06 3a1 1 0 0 0-.981 1.196l.227 1.137a.83.83 0 0 0 1.627 0l.228-1.137A1 1 0 0 0 4.56 13h-.122ZM19 12a1 1 0 1 0 0 2h.444c-2.544 2.204-4.6 3.533-6.75 4.383-2.532 1-5.274 1.37-9.256 1.619a1 1 0 1 0 .124 1.996c4.018-.251 7.026-.632 9.868-1.756 2.503-.989 4.816-2.529 7.57-4.946V16a1 1 0 1 0 2 0v-3a1 1 0 0 0-1-1h-3Z\",\"<path d='M22.965 9.71a3 3 0 1 0-4.93 0 2.994 2.994 0 0 0-.995 2.919l.668 3.114a2.856 2.856 0 0 0 5.584 0l.667-3.114a2.994 2.994 0 0 0-.994-2.919ZM20.5 7a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm-.526 4a1 1 0 0 0-.978 1.21l.667 3.114a.856.856 0 0 0 1.673 0l.668-3.114a1 1 0 0 0-.978-1.21h-1.052Zm-5.009 1.71a3 3 0 1 0-4.93 0 2.994 2.994 0 0 0-.995 2.919l.668 3.114a2.856 2.856 0 0 0 5.584 0l.667-3.114a2.994 2.994 0 0 0-.994-2.919ZM12.5 10a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm-.526 4a1 1 0 0 0-.978 1.21l.667 3.114a.856.856 0 0 0 1.673 0l.668-3.115A1 1 0 0 0 13.026 14h-1.052Zm-4.509 1.71a3 3 0 1 0-4.93 0 2.994 2.994 0 0 0-.995 2.919l.668 3.114a2.855 2.855 0 0 0 5.584 0l.667-3.114a2.994 2.994 0 0 0-.994-2.919ZM4 14a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm.474 3a1 1 0 0 0-.978 1.21l.667 3.114a.855.855 0 0 0 1.673 0l.668-3.115A1 1 0 0 0 5.526 17H4.474Z'></path><path d='M25 16a1 1 0 1 0 0 2h1.965c-2.92 4.2-6.16 6.645-9.735 8.071-3.894 1.553-8.264 1.93-13.23 1.93a1 1 0 1 0 0 2c5.034 0 9.714-.375 13.97-2.072 3.719-1.483 7.056-3.952 10.03-7.944V21a1 1 0 1 0 2 0v-4a1 1 0 0 0-1-1h-4Z'></path>\"]];","export default [[\"<path d='M7 .5a.5.5 0 0 1 .5-.5A4.5 4.5 0 0 1 12 4.5a.5.5 0 0 1-1 0A3.5 3.5 0 0 0 7.5 1 .5.5 0 0 1 7 .5Zm-.5 3c0 .753-.333 1.427-.859 1.886.385.181.746.42 1.063.701C7.45 6.752 8 7.7 8 8.781V9.5A1.5 1.5 0 0 1 6.5 11h-5A1.5 1.5 0 0 1 0 9.5v-.719c0-1.08.549-2.029 1.296-2.694.317-.281.678-.52 1.063-.701A2.5 2.5 0 1 1 6.5 3.5Z'></path><path d='M7.5 2a.5.5 0 0 0 0 1A1.5 1.5 0 0 1 9 4.5a.5.5 0 0 0 1 0A2.5 2.5 0 0 0 7.5 2Zm0 3a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path>\",\"<path d='M3 5a3 3 0 1 1 4.852 2.36C9.7 8.111 11 9.953 11 12.094A2.906 2.906 0 0 1 8.094 15H3.906A2.906 2.906 0 0 1 1 12.094C1 9.953 2.3 8.11 4.148 7.36A2.995 2.995 0 0 1 3 5Zm7.5-1a.5.5 0 0 0 0 1A1.5 1.5 0 0 1 12 6.5a.5.5 0 0 0 1 0A2.5 2.5 0 0 0 10.5 4Z'></path><path d='M10 2.5a.5.5 0 0 1 .5-.5A4.5 4.5 0 0 1 15 6.5a.5.5 0 0 1-1 0A3.5 3.5 0 0 0 10.5 3a.5.5 0 0 1-.5-.5Zm.5 4.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path>\",\"<path d='M15 1a1 1 0 1 0 0 2 7 7 0 0 1 7 7 1 1 0 1 0 2 0 9 9 0 0 0-9-9ZM3 7a5 5 0 1 1 8.311 3.747 6.45 6.45 0 0 1 1.629 1.15c1.303 1.27 2.06 3.095 2.06 5.323A4.78 4.78 0 0 1 10.219 22H5.78A4.781 4.781 0 0 1 1 17.219c0-2.228.757-4.053 2.06-5.321a6.435 6.435 0 0 1 1.629-1.151A4.988 4.988 0 0 1 3 7Z'></path><path d='M15 11a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm-1-5a1 1 0 0 1 1-1 5 5 0 0 1 5 5 1 1 0 1 1-2 0 3 3 0 0 0-3-3 1 1 0 0 1-1-1Z'></path>\",\"<path d='M5 9a7 7 0 1 1 11.008 5.74C20.24 16.392 23 20.623 23 25.5a4.5 4.5 0 0 1-4.5 4.5h-13A4.5 4.5 0 0 1 1 25.5c0-4.877 2.76-9.108 6.992-10.76A6.992 6.992 0 0 1 5 9Zm17 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm-1-5a1 1 0 0 1 1-1 5 5 0 0 1 5 5 1 1 0 1 1-2 0 3 3 0 0 0-3-3 1 1 0 0 1-1-1Z'></path><path d='M22 3a1 1 0 1 0 0 2 7 7 0 0 1 7 7 1 1 0 1 0 2 0 9 9 0 0 0-9-9Z'></path>\"],[\"<path d='M7 .5a.5.5 0 0 1 .5-.5A4.5 4.5 0 0 1 12 4.5a.5.5 0 0 1-1 0A3.5 3.5 0 0 0 7.5 1 .5.5 0 0 1 7 .5Zm-.5 3c0 .753-.333 1.427-.859 1.886.385.181.746.42 1.063.701C7.45 6.752 8 7.7 8 8.781V9.5A1.5 1.5 0 0 1 6.5 11h-5A1.5 1.5 0 0 1 0 9.5v-.719c0-1.08.549-2.029 1.296-2.694.317-.281.678-.52 1.063-.701A2.5 2.5 0 1 1 6.5 3.5Zm-1 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM1.96 6.835C2.552 6.31 3.312 6 4 6c.689 0 1.449.31 2.04.835.587.522.96 1.215.96 1.946V9.5a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-.719c0-.73.373-1.424.96-1.946Z'></path><path d='M7.5 2a.5.5 0 0 0 0 1A1.5 1.5 0 0 1 9 4.5a.5.5 0 0 0 1 0A2.5 2.5 0 0 0 7.5 2Zm0 3a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path>\",\"<path d='M9 5c0 .958-.45 1.811-1.148 2.36C9.7 8.111 11 9.953 11 12.094A2.906 2.906 0 0 1 8.094 15H3.906A2.906 2.906 0 0 1 1 12.094C1 9.953 2.3 8.11 4.148 7.36A3 3 0 1 1 9 5ZM6 3a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm-4 9.094C2 9.824 3.8 8 6 8s4 1.823 4 4.094A1.906 1.906 0 0 1 8.094 14H3.906A1.906 1.906 0 0 1 2 12.094ZM10.5 4a.5.5 0 0 0 0 1A1.5 1.5 0 0 1 12 6.5a.5.5 0 0 0 1 0A2.5 2.5 0 0 0 10.5 4Z'></path><path d='M10 2.5a.5.5 0 0 1 .5-.5A4.5 4.5 0 0 1 15 6.5a.5.5 0 0 1-1 0A3.5 3.5 0 0 0 10.5 3a.5.5 0 0 1-.5-.5Zm.5 4.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z'></path>\",\"<path d='M15 1a1 1 0 1 0 0 2 7 7 0 0 1 7 7 1 1 0 1 0 2 0 9 9 0 0 0-9-9Zm-2 6c0 1.492-.653 2.83-1.689 3.747a6.45 6.45 0 0 1 1.629 1.15c1.303 1.27 2.06 3.095 2.06 5.323A4.78 4.78 0 0 1 10.219 22H5.78A4.781 4.781 0 0 1 1 17.219c0-2.228.757-4.053 2.06-5.321a6.435 6.435 0 0 1 1.629-1.151A5 5 0 1 1 13 7ZM8 4a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm-3.545 9.331C5.33 12.48 6.568 12 8 12s2.67.48 3.545 1.331C12.414 14.176 13 15.46 13 17.22A2.781 2.781 0 0 1 10.219 20H5.78A2.781 2.781 0 0 1 3 17.219c0-1.76.587-3.043 1.455-3.888Z'></path><path d='M15 11a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm-1-5a1 1 0 0 1 1-1 5 5 0 0 1 5 5 1 1 0 1 1-2 0 3 3 0 0 0-3-3 1 1 0 0 1-1-1Z'></path>\",\"<path d='M19 9a6.992 6.992 0 0 1-2.992 5.74C20.24 16.392 23 20.623 23 25.5a4.5 4.5 0 0 1-4.5 4.5h-13A4.5 4.5 0 0 1 1 25.5c0-4.877 2.76-9.108 6.992-10.76A7 7 0 1 1 19 9Zm-7-5a5 5 0 1 0 0 10 5 5 0 0 0 0-10ZM3 25.5c0-5.312 3.816-9.5 9-9.5s9 4.188 9 9.5a2.5 2.5 0 0 1-2.5 2.5h-13A2.5 2.5 0 0 1 3 25.5ZM22 13a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm-1-5a1 1 0 0 1 1-1 5 5 0 0 1 5 5 1 1 0 1 1-2 0 3 3 0 0 0-3-3 1 1 0 0 1-1-1Z'></path><path d='M22 3a1 1 0 1 0 0 2 7 7 0 0 1 7 7 1 1 0 1 0 2 0 9 9 0 0 0-9-9Z'></path>\"]];","export default [[\"M8 4.5c0 .524-.201 1-.531 1.357C8.372 6.328 9 7.222 9 8.286V9a1.5 1.5 0 0 1-1.5 1.5h-3A1.5 1.5 0 0 1 3 9v-.714c0-1.064.628-1.958 1.531-2.429A2 2 0 1 1 8 4.5ZM2 3A1.5 1.5 0 0 0 .8 5.4C.314 5.765 0 6.346 0 7v.5A1.5 1.5 0 0 0 1.5 9H2v-.714c0-1.15.518-2.127 1.307-2.8A2.011 2.011 0 0 0 3.2 5.4 1.5 1.5 0 0 0 2 3Zm8.5 6H10v-.714c0-1.15-.518-2.127-1.307-2.8.035-.03.07-.059.107-.086a1.5 1.5 0 1 1 2.4 0c.486.365.8.946.8 1.6v.5A1.5 1.5 0 0 1 10.5 9Z\",\"M10.5 5c0 .894-.47 1.68-1.176 2.121.742.15 1.328.438 1.765.854.674.641.911 1.507.911 2.382V11.5a1.5 1.5 0 0 1-1.5 1.5h-5A1.5 1.5 0 0 1 4 11.5v-1.143c0-.875.237-1.741.911-2.382.437-.416 1.023-.704 1.765-.854A2.5 2.5 0 1 1 10.5 5ZM3.93 7.398a2 2 0 1 0-2.86 0C.436 7.788 0 8.433 0 9.214V10a1 1 0 0 0 1 1h2v-.643c0-.968.244-2.04 1.02-2.9l-.09-.059ZM15 11h-2v-.643c0-.968-.245-2.04-1.02-2.9l.09-.059a2 2 0 1 1 2.86 0c.633.39 1.07 1.035 1.07 1.816V10a1 1 0 0 1-1 1Z\",\"M8 9a4 4 0 1 1 6.8 2.857A4.995 4.995 0 0 1 17 16v2a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2v-2c0-1.724.873-3.244 2.2-4.143A3.988 3.988 0 0 1 8 9Zm12 9h-1v-2c0-1.68-.592-3.221-1.578-4.428.37-.78.578-1.651.578-2.572a6 6 0 0 0-.252-1.727 3 3 0 0 1 3.666 4.509c.956.697 1.586 1.801 1.586 3.075V15a3 3 0 0 1-3 3ZM6 9a6 6 0 0 1 .252-1.727 3 3 0 0 0-3.666 4.509C1.63 12.479 1 13.583 1 14.857V15a3 3 0 0 0 3 3h1v-2c0-1.68.592-3.221 1.578-4.428A5.976 5.976 0 0 1 6 9Z\",\"M11 11a5 5 0 1 1 8.376 3.688 6.32 6.32 0 0 1 1.645 1.081C22.298 16.936 23 18.588 23 20.5V23a3 3 0 0 1-3 3h-8a3 3 0 0 1-3-3v-2.5c0-1.912.702-3.564 1.98-4.73a6.32 6.32 0 0 1 1.644-1.082A4.987 4.987 0 0 1 11 11Zm12 0c0 .85-.151 1.664-.429 2.417.057.087.118.171.182.253a5.746 5.746 0 0 0-.372.213 6.857 6.857 0 0 1-.141.293l.13.117C24.098 15.872 25 18.078 25 20.5V22h3a3 3 0 0 0 3-3v-1c0-1.904-1.135-3.483-2.753-4.33a3.5 3.5 0 0 0-5.458-4.383c.138.548.211 1.122.211 1.713ZM9.76 14.176a6.98 6.98 0 0 1-.14-.293 5.717 5.717 0 0 0-.374-.213c.065-.082.126-.166.183-.253A6.986 6.986 0 0 1 9 11c0-.591.073-1.165.211-1.714a3.5 3.5 0 0 0-5.458 4.383C2.136 14.518 1 16.097 1 18v1a3 3 0 0 0 3 3h3v-1.5c0-2.422.902-4.628 2.63-6.207l.13-.117Z\"],[\"M7.469 5.357a2 2 0 1 0-2.938 0c-.307.16-.583.37-.813.619A2.01 2.01 0 0 0 3.2 5.4a1.5 1.5 0 1 0-2.4 0C.314 5.765 0 6.346 0 7v.5A1.5 1.5 0 0 0 1.5 9h1c.195 0 .382-.037.553-.105A1.5 1.5 0 0 0 4.5 10h3a1.5 1.5 0 0 0 1.447-1.105c.171.068.358.105.553.105h1A1.5 1.5 0 0 0 12 7.5V7c0-.654-.314-1.235-.8-1.6a1.5 1.5 0 1 0-2.4 0 2.01 2.01 0 0 0-.518.576 2.989 2.989 0 0 0-.813-.619ZM2 6a1 1 0 0 1 1 1v.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5V7a1 1 0 0 1 1-1Zm0-1a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1Zm8.5-.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM9 7a1 1 0 1 1 2 0v.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5V7ZM6 5a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm0 1c1.148 0 2 .84 2 1.786V8.5a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-.714C4 6.84 4.852 6 6 6Z\",\"M9.324 7.121a2.5 2.5 0 1 0-2.648 0c-.742.15-1.328.438-1.765.854-.07.066-.135.135-.195.206a2.318 2.318 0 0 0-.786-.783 2 2 0 1 0-2.86 0C.436 7.788 0 8.433 0 9.214V10a1 1 0 0 0 1 1h3v.5A1.5 1.5 0 0 0 5.5 13h5a1.5 1.5 0 0 0 1.5-1.5V11h3a1 1 0 0 0 1-1v-.786c0-.781-.437-1.427-1.07-1.816a2 2 0 1 0-2.86 0 2.318 2.318 0 0 0-.786.783 2.764 2.764 0 0 0-.195-.206c-.437-.416-1.023-.704-1.765-.854ZM8 6.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3ZM3.5 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM12 9.214c0-.6.597-1.214 1.5-1.214s1.5.613 1.5 1.214V10h-3v-.786ZM13.5 7a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm-11 1C3.404 8 4 8.613 4 9.214V10H1v-.786C1 8.614 1.596 8 2.5 8ZM5 10.357c0-.703.188-1.265.6-1.658C6.018 8.302 6.747 8 8 8s1.982.302 2.4.7c.412.392.6.954.6 1.657V11.5a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-1.143Z\",\"M14.8 11.857a4 4 0 1 0-5.6 0 5.03 5.03 0 0 0-.915.796 3.942 3.942 0 0 0-.871-.871 3 3 0 1 0-4.827 0C1.63 12.479 1 13.583 1 14.857V15a3 3 0 0 0 3 3h2c.35 0 .687-.06 1-.17V18a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-.17c.313.11.65.17 1 .17h2a3 3 0 0 0 3-3v-.143c0-1.274-.63-2.378-1.586-3.075a3 3 0 1 0-4.827 0c-.335.244-.63.538-.872.871a5.028 5.028 0 0 0-.915-.796ZM12 7a2 2 0 1 1 0 4 2 2 0 0 1 0-4Zm0 6a3 3 0 0 1 3 3v2H9v-2a3 3 0 0 1 3-3Zm-8-3a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm-1 4.857C3 13.877 3.849 13 5 13s2 .877 2 1.857V15a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-.143Zm14 0c0-.98.849-1.857 2-1.857s2 .877 2 1.857V15a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1v-.143ZM19 11a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\",\"M19.376 14.688a5 5 0 1 0-6.752 0 6.397 6.397 0 0 0-1.346.825 5.295 5.295 0 0 0-2.032-1.843 3.5 3.5 0 1 0-5.493 0C2.136 14.517 1 16.096 1 18v1a3 3 0 0 0 3 3h5v1a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3v-1h5a3 3 0 0 0 3-3v-1c0-1.904-1.135-3.483-2.753-4.33a3.5 3.5 0 1 0-5.493 0 5.295 5.295 0 0 0-2.032 1.843 6.397 6.397 0 0 0-1.346-.825ZM16 8a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm0 8c1.593 0 2.837.483 3.672 1.245C20.497 18 21 19.099 21 20.5V23a1 1 0 0 1-1 1h-8a1 1 0 0 1-1-1v-2.5c0-1.402.503-2.5 1.328-3.255C13.163 16.483 14.407 16 16 16Zm6.984 4c-.07-1.049-.357-2.008-.84-2.84C22.556 15.964 23.83 15 25.5 15c2.047 0 3.5 1.45 3.5 3v1a1 1 0 0 1-1 1h-5.016ZM9.857 17.16c-.484.832-.771 1.791-.84 2.84H4a1 1 0 0 1-1-1v-1c0-1.55 1.453-3 3.5-3 1.669 0 2.943.964 3.357 2.16ZM6.5 10a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3ZM27 11.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z\"]];","export default [[\"<path d='M2 3.5a2.5 2.5 0 1 1 4.867.805A4.502 4.502 0 0 0 4.757 11H2.5A1.5 1.5 0 0 1 1 9.5v-.75c0-1.43.758-2.705 1.894-3.334A2.495 2.495 0 0 1 2 3.5ZM9.5 9a.5.5 0 0 0 0-1h-2a.5.5 0 0 0 0 1h2Z'></path><path d='M5 8.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM8.5 6a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path>\",\"<path d='M2 4.5a2.5 2.5 0 1 1 4.106 1.916c.561.31 1.03.778 1.36 1.345a5.508 5.508 0 0 0-1.285 5.145A2.503 2.503 0 0 1 5.5 13h-2A2.5 2.5 0 0 1 1 10.5v-.75c0-1.43.758-2.705 1.894-3.334A2.495 2.495 0 0 1 2 4.5Zm12 7a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1 0-1h4a.5.5 0 0 1 .5.5Z'></path><path d='M7 11.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM11.5 8a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M3 5.5a4.5 4.5 0 1 1 7.55 3.309c.447.237.872.52 1.258.839A8.99 8.99 0 0 0 8 17c0 .687.077 1.357.223 2H5a4 4 0 0 1-4-4v-1.125c0-1.732.964-3.21 2.18-4.217.39-.323.818-.61 1.27-.85A4.488 4.488 0 0 1 3 5.5ZM21 17a1 1 0 0 1-1 1h-6a1 1 0 1 1 0-2h6a1 1 0 0 1 1 1Z'></path><path d='M10 17a7 7 0 1 1 14 0 7 7 0 0 1-14 0Zm7-5a5 5 0 1 0 0 10 5 5 0 0 0 0-10Z'></path>\",\"<path d='M4 7.5a5.5 5.5 0 1 1 8.908 4.317 7.525 7.525 0 0 1 2.151 1.649A10.979 10.979 0 0 0 11 22c0 .683.062 1.351.181 2H7a5 5 0 0 1-5-5v-.5a7.5 7.5 0 0 1 4.092-6.683A5.49 5.49 0 0 1 4 7.5ZM27 22a1 1 0 0 1-1 1h-8a1 1 0 1 1 0-2h8a1 1 0 0 1 1 1Z'></path><path d='M13 22a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"],[\"<path d='M4.758 11H2.5A1.5 1.5 0 0 1 1 9.5v-.75c0-1.43.758-2.705 1.894-3.334a2.5 2.5 0 1 1 3.974-1.11c-.87.338-1.61.94-2.12 1.708A2.266 2.266 0 0 0 4.5 6C3.156 6 2 7.193 2 8.75v.75a.5.5 0 0 0 .5.5h1.756c.126.356.295.691.502 1ZM4.5 2a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm5 7a.5.5 0 0 0 0-1h-2a.5.5 0 0 0 0 1h2Z'></path><path d='M5 8.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM8.5 6a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path>\",\"<path d='M7 4.5c0 .77-.347 1.457-.894 1.916.561.31 1.03.778 1.36 1.345a5.521 5.521 0 0 0-.672.891C6.404 7.666 5.504 7 4.5 7 3.156 7 2 8.193 2 9.75v.75A1.5 1.5 0 0 0 3.5 12h2c.18 0 .354-.032.515-.09.025.341.082.674.166.996A2.503 2.503 0 0 1 5.5 13h-2A2.5 2.5 0 0 1 1 10.5v-.75c0-1.43.758-2.705 1.894-3.334A2.5 2.5 0 1 1 7 4.5ZM4.5 3a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm9.5 8.5a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1 0-1h4a.5.5 0 0 1 .5.5Z'></path><path d='M7 11.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM11.5 8a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M12 5.5a4.488 4.488 0 0 1-1.45 3.309c.447.237.872.52 1.258.839A9.045 9.045 0 0 0 10.29 11c-.867-.636-1.904-1-2.79-1-.974 0-2.13.44-3.044 1.198C3.543 11.955 3 12.915 3 13.875V15a2 2 0 0 0 2 2h3c0 .687.077 1.357.223 2H5a4 4 0 0 1-4-4v-1.125c0-1.732.964-3.21 2.18-4.217.39-.323.818-.61 1.27-.85A4.5 4.5 0 1 1 12 5.5ZM7.5 3a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5ZM21 17a1 1 0 0 1-1 1h-6a1 1 0 1 1 0-2h6a1 1 0 0 1 1 1Z'></path><path d='M10 17a7 7 0 1 1 14 0 7 7 0 0 1-14 0Zm7-5a5 5 0 1 0 0 10 5 5 0 0 0 0-10Z'></path>\",\"<path d='M15 7.5a5.49 5.49 0 0 1-2.092 4.317 7.525 7.525 0 0 1 2.151 1.649c-.518.422-.997.89-1.431 1.399A5.5 5.5 0 0 0 4 18.5v.5a3 3 0 0 0 3 3h4c0 .683.062 1.351.181 2H7a5 5 0 0 1-5-5v-.5a7.5 7.5 0 0 1 4.092-6.683A5.5 5.5 0 1 1 15 7.5ZM9.5 4a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM27 22a1 1 0 0 1-1 1h-8a1 1 0 1 1 0-2h8a1 1 0 0 1 1 1Z'></path><path d='M13 22a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"]];","export default [[\"<path d='M4.5 1a2.5 2.5 0 0 0-1.606 4.416C1.758 6.045 1 7.319 1 8.75v.75A1.5 1.5 0 0 0 2.5 11h2.258a4.502 4.502 0 0 1 2.11-6.695A2.5 2.5 0 0 0 4.5 1Zm4 6a.5.5 0 0 1 .5.5V8h.5a.5.5 0 0 1 0 1H9v.5a.5.5 0 0 1-1 0V9h-.5a.5.5 0 0 1 0-1H8v-.5a.5.5 0 0 1 .5-.5Z'></path><path d='M8.5 5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM6 8.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path>\",\"<path d='M4.5 2a2.5 2.5 0 0 0-1.606 4.416C1.758 7.045 1 8.319 1 9.75v.75A2.5 2.5 0 0 0 3.5 13h2c.236 0 .465-.033.681-.094a5.508 5.508 0 0 1 1.286-5.145 3.616 3.616 0 0 0-1.36-1.345A2.5 2.5 0 0 0 4.5 2ZM12 9.5a.5.5 0 0 0-1 0V11H9.5a.5.5 0 0 0 0 1H11v1.5a.5.5 0 0 0 1 0V12h1.5a.5.5 0 0 0 0-1H12V9.5Z'></path><path d='M11.5 7a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9ZM8 11.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z'></path>\",\"<path d='M7.5 1a4.5 4.5 0 0 0-3.05 7.809c-.452.24-.88.526-1.27.849C1.964 10.665 1 12.143 1 13.875V15a4 4 0 0 0 4 4h3.223A9.029 9.029 0 0 1 8 17a8.99 8.99 0 0 1 3.808-7.352 7.515 7.515 0 0 0-1.258-.84A4.5 4.5 0 0 0 7.5 1ZM18 14a1 1 0 1 0-2 0v2h-2a1 1 0 1 0 0 2h2v2a1 1 0 1 0 2 0v-2h2a1 1 0 1 0 0-2h-2v-2Z'></path><path d='M17 10a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-5 7a5 5 0 1 1 10 0 5 5 0 0 1-10 0Z'></path>\",\"<path d='M9.5 2a5.5 5.5 0 0 0-3.408 9.817A7.5 7.5 0 0 0 2 18.5v.5a5 5 0 0 0 5 5h4.181A11.057 11.057 0 0 1 11 22c0-3.444 1.582-6.517 4.06-8.534a7.525 7.525 0 0 0-2.152-1.649A5.5 5.5 0 0 0 9.5 2ZM23 18a1 1 0 1 0-2 0v3h-3a1 1 0 1 0 0 2h3v3a1 1 0 1 0 2 0v-3h3a1 1 0 1 0 0-2h-3v-3Z'></path><path d='M22 13a9 9 0 1 0 0 18 9 9 0 0 0 0-18Zm-7 9a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z'></path>\"],[\"<path d='M2.5 11h2.258a4.485 4.485 0 0 1-.502-1H2.5a.5.5 0 0 1-.5-.5v-.75C2 7.193 3.156 6 4.5 6c.084 0 .167.005.249.014a4.515 4.515 0 0 1 2.118-1.709 2.5 2.5 0 1 0-3.974 1.11C1.759 6.046 1 7.32 1 8.75v.75A1.5 1.5 0 0 0 2.5 11ZM3 3.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM8.5 7a.5.5 0 0 1 .5.5V8h.5a.5.5 0 0 1 0 1H9v.5a.5.5 0 0 1-1 0V9h-.5a.5.5 0 0 1 0-1H8v-.5a.5.5 0 0 1 .5-.5Z'></path><path d='M8.5 5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM6 8.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path>\",\"<path d='M6.106 6.416a2.5 2.5 0 1 0-3.213 0C1.759 7.045 1 8.319 1 9.75v.75A2.5 2.5 0 0 0 3.5 13h2c.236 0 .465-.033.681-.094a5.486 5.486 0 0 1-.166-.997c-.16.059-.334.091-.515.091h-2A1.5 1.5 0 0 1 2 10.5v-.75C2 8.193 3.156 7 4.5 7c1.004 0 1.903.666 2.294 1.652.194-.32.42-.618.673-.891a3.616 3.616 0 0 0-1.36-1.345ZM3 4.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm9 5a.5.5 0 0 0-1 0V11H9.5a.5.5 0 0 0 0 1H11v1.5a.5.5 0 0 0 1 0V12h1.5a.5.5 0 0 0 0-1H12V9.5Z'></path><path d='M11.5 7a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9ZM8 11.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z'></path>\",\"<path d='M10.55 8.809a4.5 4.5 0 1 0-6.1 0c-.452.24-.88.526-1.27.849C1.964 10.665 1 12.143 1 13.875V15a4 4 0 0 0 4 4h3.223A9.029 9.029 0 0 1 8 17H5a2 2 0 0 1-2-2v-1.125c0-.96.543-1.92 1.456-2.677C5.37 10.44 6.526 10 7.5 10c.886 0 1.923.364 2.791 1 .453-.505.961-.96 1.517-1.352a7.515 7.515 0 0 0-1.258-.84ZM5 5.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0ZM18 14a1 1 0 1 0-2 0v2h-2a1 1 0 1 0 0 2h2v2a1 1 0 1 0 2 0v-2h2a1 1 0 1 0 0-2h-2v-2Z'></path><path d='M17 10a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-5 7a5 5 0 1 1 10 0 5 5 0 0 1-10 0Z'></path>\",\"<path d='M12.908 11.817a5.5 5.5 0 1 0-6.816 0A7.5 7.5 0 0 0 2 18.5v.5a5 5 0 0 0 5 5h4.181A11.057 11.057 0 0 1 11 22H7a3 3 0 0 1-3-3v-.5a5.5 5.5 0 0 1 9.628-3.635 11.07 11.07 0 0 1 1.431-1.4 7.525 7.525 0 0 0-2.151-1.648ZM6 7.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM23 18a1 1 0 1 0-2 0v3h-3a1 1 0 1 0 0 2h3v3a1 1 0 1 0 2 0v-3h3a1 1 0 1 0 0-2h-3v-3Z'></path><path d='M22 13a9 9 0 1 0 0 18 9 9 0 0 0 0-18Zm-7 9a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z'></path>\"]];","export default [[\"<path d='M2 3.5a2.5 2.5 0 1 1 4.95.5H6.5A2.5 2.5 0 0 0 4 6.5v1.786a2.5 2.5 0 0 0 .732 1.768L5.68 11H2.5A1.5 1.5 0 0 1 1 9.5v-.75c0-1.43.758-2.705 1.894-3.334A2.495 2.495 0 0 1 2 3.5ZM7.25 8a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z'></path><path d='M5 6.5A1.5 1.5 0 0 1 6.5 5h1.786a1.5 1.5 0 0 1 1.06.44l1.8 1.8a1.5 1.5 0 0 1 0 2.12l-1.785 1.786a1.5 1.5 0 0 1-2.122 0l-1.8-1.8A1.5 1.5 0 0 1 5 8.286V6.5ZM6.5 6a.5.5 0 0 0-.5.5v1.786a.5.5 0 0 0 .146.353l1.8 1.8a.5.5 0 0 0 .708 0l1.785-1.785a.5.5 0 0 0 0-.708l-1.8-1.8A.5.5 0 0 0 8.286 6H6.5Z'></path>\",\"<path d='M2 4.5a2.5 2.5 0 1 1 4.106 1.916c.199.11.386.24.56.386A2.491 2.491 0 0 0 6 8.5v3.103c0 .444.118.876.337 1.254A2.496 2.496 0 0 1 5.5 13h-2A2.5 2.5 0 0 1 1 10.5v-.75c0-1.43.758-2.705 1.894-3.334A2.495 2.495 0 0 1 2 4.5Zm8 6.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M7 8.5A1.5 1.5 0 0 1 8.5 7h2.804a1.5 1.5 0 0 1 1.09.47l2.773 2.937a1.5 1.5 0 0 1 .004 2.056l-2.863 3.053a1.5 1.5 0 0 1-2.186.002l-2.714-2.886A1.5 1.5 0 0 1 7 11.603V8.5ZM8.5 8a.5.5 0 0 0-.5.5v3.103a.5.5 0 0 0 .136.343l2.714 2.887a.5.5 0 0 0 .729 0l2.863-3.054a.5.5 0 0 0-.002-.685l-2.772-2.937A.5.5 0 0 0 11.304 8H8.5Z'></path>\",\"<path d='M3 5.5a4.5 4.5 0 1 1 8.742 1.507A5 5 0 0 0 7 12v4.054A5 5 0 0 0 7.96 19H5a4 4 0 0 1-4-4v-1.125c0-1.732.964-3.21 2.18-4.217.39-.323.818-.61 1.27-.85A4.488 4.488 0 0 1 3 5.5ZM13.5 15a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z'></path><path d='M9 12a3 3 0 0 1 3-3h4.056a3 3 0 0 1 2.117.875l4.115 4.098a3 3 0 0 1 .008 4.244l-4.056 4.07a3 3 0 0 1-4.246.003l-4.115-4.115A3 3 0 0 1 9 16.054V12Zm3-1a1 1 0 0 0-1 1v4.054a1 1 0 0 0 .293.707l4.115 4.115a1 1 0 0 0 1.415-.001l4.057-4.07a1 1 0 0 0-.003-1.415l-4.115-4.099a1 1 0 0 0-.706-.291H12Z'></path>\",\"<path d='M4 7.5a5.5 5.5 0 1 1 8.908 4.317c.358.183.7.394 1.022.63A5 5 0 0 0 11 17v5.642c0 .463.064.92.188 1.358H7a5 5 0 0 1-5-5v-.5a7.5 7.5 0 0 1 4.092-6.683A5.49 5.49 0 0 1 4 7.5ZM18.5 21a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z'></path><path d='M13 17a3 3 0 0 1 3-3h5.645a3 3 0 0 1 2.117.874l5.526 5.506a3 3 0 0 1 .008 4.243l-5.644 5.664a3 3 0 0 1-4.246.003l-5.527-5.526A3 3 0 0 1 13 22.642V17Zm3-1a1 1 0 0 0-1 1v5.642a1 1 0 0 0 .293.707l5.527 5.527a1 1 0 0 0 1.415-.001l5.645-5.664a1 1 0 0 0-.003-1.414L22.35 16.29a1 1 0 0 0-.706-.291H16Z'></path>\"],[\"<path d='M4.5 2a1.5 1.5 0 0 0 0 3c-.228.303-.388.66-.46 1.047C2.904 6.282 2 7.374 2 8.75v.75a.5.5 0 0 0 .5.5h2.18l.052.054.947.946H2.5A1.5 1.5 0 0 1 1 9.5v-.75c0-1.43.758-2.705 1.894-3.334A2.5 2.5 0 1 1 6.95 4H6.5c-.212 0-.418.026-.615.076A1.5 1.5 0 0 0 4.5 2Zm2.75 6a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z'></path><path d='M5 6.5A1.5 1.5 0 0 1 6.5 5h1.786a1.5 1.5 0 0 1 1.06.44l1.8 1.8a1.5 1.5 0 0 1 0 2.12l-1.785 1.786a1.5 1.5 0 0 1-2.122 0l-1.8-1.8A1.5 1.5 0 0 1 5 8.286V6.5ZM6.5 6a.5.5 0 0 0-.5.5v1.786a.5.5 0 0 0 .146.353l1.8 1.8a.5.5 0 0 0 .708 0l1.785-1.785a.5.5 0 0 0 0-.708l-1.8-1.8A.5.5 0 0 0 8.286 6H6.5Z'></path>\",\"<path d='M7 4.5c0 .77-.347 1.457-.894 1.916.199.11.386.24.56.386a2.5 2.5 0 0 0-.527.873A2.377 2.377 0 0 0 4.5 7C3.156 7 2 8.193 2 9.75v.75A1.5 1.5 0 0 0 3.5 12h2c.182 0 .357-.033.519-.092.04.335.15.658.318.949A2.496 2.496 0 0 1 5.5 13h-2A2.5 2.5 0 0 1 1 10.5v-.75c0-1.43.758-2.705 1.894-3.334A2.5 2.5 0 1 1 7 4.5ZM4.5 3a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm5.5 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'></path><path d='M7 8.5A1.5 1.5 0 0 1 8.5 7h2.804a1.5 1.5 0 0 1 1.09.47l2.773 2.937a1.5 1.5 0 0 1 .004 2.056l-2.863 3.053a1.5 1.5 0 0 1-2.186.002l-2.714-2.886A1.5 1.5 0 0 1 7 11.603V8.5ZM8.5 8a.5.5 0 0 0-.5.5v3.103a.5.5 0 0 0 .136.343l2.714 2.887a.5.5 0 0 0 .729 0l2.863-3.054a.5.5 0 0 0-.002-.685l-2.772-2.937A.5.5 0 0 0 11.304 8H8.5Z'></path>\",\"<path d='M7.96 19H5a4 4 0 0 1-4-4v-1.125c0-1.732.964-3.21 2.18-4.217.39-.323.818-.61 1.27-.85a4.5 4.5 0 1 1 7.291-1.802 5.002 5.002 0 0 0-4.325 2.995c-.956.024-2.072.46-2.96 1.197C3.543 11.955 3 12.915 3 13.875V15a2 2 0 0 0 2 2h2.09a5 5 0 0 0 .87 2ZM7.5 3a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Zm6 12a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z'></path><path d='M9 12a3 3 0 0 1 3-3h4.056a3 3 0 0 1 2.117.875l4.115 4.098a3 3 0 0 1 .008 4.244l-4.056 4.07a3 3 0 0 1-4.246.003l-4.115-4.115A3 3 0 0 1 9 16.054V12Zm3-1a1 1 0 0 0-1 1v4.054a1 1 0 0 0 .293.707l4.115 4.115a1 1 0 0 0 1.415-.001l4.057-4.07a1 1 0 0 0-.003-1.415l-4.115-4.099a1 1 0 0 0-.706-.291H12Z'></path>\",\"<path d='M15 7.5a5.49 5.49 0 0 1-2.092 4.317c.358.183.7.394 1.022.63-.657.3-1.237.736-1.705 1.274A5.5 5.5 0 0 0 4 18.5v.5a3 3 0 0 0 3 3h4v.642c0 .463.064.92.188 1.358H7a5 5 0 0 1-5-5v-.5a7.5 7.5 0 0 1 4.092-6.683A5.5 5.5 0 1 1 15 7.5ZM9.5 4a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Zm9 17a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z'></path><path d='M13 17a3 3 0 0 1 3-3h5.645a3 3 0 0 1 2.117.874l5.526 5.506a3 3 0 0 1 .008 4.243l-5.644 5.664a3 3 0 0 1-4.246.003l-5.527-5.526A3 3 0 0 1 13 22.642V17Zm3-1a1 1 0 0 0-1 1v5.642a1 1 0 0 0 .293.707l5.527 5.527a1 1 0 0 0 1.415-.001l5.645-5.664a1 1 0 0 0-.003-1.414L22.35 16.29a1 1 0 0 0-.706-.291H16Z'></path>\"]];","export default [[\"<path d='M4.5 1a2.5 2.5 0 0 0-1.606 4.416C1.758 6.045 1 7.319 1 8.75v.75A1.5 1.5 0 0 0 2.5 11h2.258a4.502 4.502 0 0 1 2.11-6.695A2.5 2.5 0 0 0 4.5 1Zm3.793 7-.147-.146a.5.5 0 1 1 .708-.708l1 1a.5.5 0 0 1 0 .708l-1 1a.5.5 0 0 1-.708-.708L8.293 9H7.5a.5.5 0 0 1 0-1h.793Z'></path><path d='M8.5 5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM6 8.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path>\",\"<path d='M4.5 2a2.5 2.5 0 0 0-1.606 4.416C1.758 7.045 1 8.319 1 9.75v.75A2.5 2.5 0 0 0 3.5 13h2c.236 0 .465-.033.681-.094a5.508 5.508 0 0 1 1.286-5.145 3.616 3.616 0 0 0-1.36-1.345A2.5 2.5 0 0 0 4.5 2Zm7.793 9-.647-.646a.5.5 0 0 1 .708-.708l1.5 1.5a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708-.708l.647-.646H9.5a.5.5 0 0 1 0-1h2.793Z'></path><path d='M11.5 7a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9ZM8 11.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z'></path>\",\"<path d='M7.5 1a4.5 4.5 0 0 0-3.05 7.809c-.452.24-.88.526-1.27.849C1.964 10.665 1 12.143 1 13.875V15a4 4 0 0 0 4 4h3.223A9.029 9.029 0 0 1 8 17a8.99 8.99 0 0 1 3.808-7.352 7.515 7.515 0 0 0-1.258-.84A4.5 4.5 0 0 0 7.5 1Zm10.086 15-.293-.293a1 1 0 0 1 1.414-1.414l2 2a1 1 0 0 1 0 1.414l-2 2a1 1 0 0 1-1.414-1.414l.293-.293H14a1 1 0 1 1 0-2h3.586Z'></path><path d='M17 10a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-5 7a5 5 0 1 1 10 0 5 5 0 0 1-10 0Z'></path>\",\"<path d='M9.5 2a5.5 5.5 0 0 0-3.408 9.817A7.5 7.5 0 0 0 2 18.5v.5a5 5 0 0 0 5 5h4.181A11.057 11.057 0 0 1 11 22c0-3.444 1.582-6.517 4.06-8.534a7.525 7.525 0 0 0-2.152-1.649A5.5 5.5 0 0 0 9.5 2Zm14.086 19-1.293-1.293a1 1 0 0 1 1.414-1.414l3 3a1 1 0 0 1 0 1.414l-3 3a1 1 0 0 1-1.414-1.414L23.586 23H18a1 1 0 1 1 0-2h5.586Z'></path><path d='M22 13a9 9 0 1 0 0 18 9 9 0 0 0 0-18Zm-7 9a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z'></path>\"],[\"<path d='M2.5 11h2.258a4.485 4.485 0 0 1-.502-1H2.5a.5.5 0 0 1-.5-.5v-.75C2 7.193 3.156 6 4.5 6c.084 0 .167.005.249.014a4.515 4.515 0 0 1 2.118-1.709 2.5 2.5 0 1 0-3.974 1.11C1.759 6.046 1 7.32 1 8.75v.75A1.5 1.5 0 0 0 2.5 11ZM3 3.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM8.293 8l-.147-.146a.5.5 0 1 1 .708-.708l1 1a.5.5 0 0 1 0 .708l-1 1a.5.5 0 0 1-.708-.708L8.293 9H7.5a.5.5 0 0 1 0-1h.793Z'></path><path d='M8.5 5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM6 8.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path>\",\"<path d='M6.106 6.416a2.5 2.5 0 1 0-3.213 0C1.759 7.045 1 8.319 1 9.75v.75A2.5 2.5 0 0 0 3.5 13h2c.236 0 .465-.033.681-.094a5.486 5.486 0 0 1-.166-.997c-.16.059-.334.091-.515.091h-2A1.5 1.5 0 0 1 2 10.5v-.75C2 8.193 3.156 7 4.5 7c1.004 0 1.903.666 2.294 1.652.194-.32.42-.618.673-.891a3.616 3.616 0 0 0-1.36-1.345ZM3 4.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm8.646 5.854.647.646H9.5a.5.5 0 0 0 0 1h2.793l-.647.646a.5.5 0 0 0 .708.708l1.5-1.5a.5.5 0 0 0 0-.708l-1.5-1.5a.5.5 0 0 0-.708.708Z'></path><path d='M11.5 7a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9ZM8 11.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z'></path>\",\"<path d='M10.55 8.809a4.5 4.5 0 1 0-6.1 0c-.452.24-.88.526-1.27.849C1.964 10.665 1 12.143 1 13.875V15a4 4 0 0 0 4 4h3.223A9.029 9.029 0 0 1 8 17H5a2 2 0 0 1-2-2v-1.125c0-.96.543-1.92 1.456-2.677C5.37 10.44 6.526 10 7.5 10c.886 0 1.923.364 2.791 1 .453-.505.961-.96 1.517-1.352a7.515 7.515 0 0 0-1.258-.84ZM5 5.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0ZM14 18h3.586l-.293.293a1 1 0 0 0 1.414 1.414l2-2a1 1 0 0 0 0-1.414l-2-2a1 1 0 0 0-1.414 1.414l.293.293H14a1 1 0 1 0 0 2Z'></path><path d='M17 10a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-5 7a5 5 0 1 1 10 0 5 5 0 0 1-10 0Z'></path>\",\"<path d='M12.908 11.817a5.5 5.5 0 1 0-6.816 0A7.5 7.5 0 0 0 2 18.5v.5a5 5 0 0 0 5 5h4.181A11.057 11.057 0 0 1 11 22H7a3 3 0 0 1-3-3v-.5a5.5 5.5 0 0 1 9.628-3.635 11.07 11.07 0 0 1 1.431-1.4 7.525 7.525 0 0 0-2.151-1.648ZM6 7.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM18 23h5.586l-1.293 1.293a1 1 0 0 0 1.414 1.414l3-3a1 1 0 0 0 0-1.414l-3-3a1 1 0 0 0-1.414 1.414L23.586 21H18a1 1 0 1 0 0 2Z'></path><path d='M22 13a9 9 0 1 0 0 18 9 9 0 0 0 0-18Zm-7 9a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z'></path>\"]];","export default [[\"<g clip-path='url(#a)'><path d='M2 3.5a2.5 2.5 0 1 1 4.106 1.916c.068.037.135.077.2.119L4.273 9.599c-.23.461-.294.946-.224 1.401H2.5A1.5 1.5 0 0 1 1 9.5v-.75c0-1.43.758-2.705 1.894-3.334A2.495 2.495 0 0 1 2 3.5ZM8.5 7a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Zm.5 3a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z'></path><path d='M7.293 5.797c.497-.995 1.917-.995 2.414 0l2.125 4.25A1.35 1.35 0 0 1 10.625 12h-4.25a1.35 1.35 0 0 1-1.207-1.954l2.125-4.249Zm1.52.447a.35.35 0 0 0-.626 0l-2.125 4.25a.35.35 0 0 0 .313.506h4.25a.35.35 0 0 0 .313-.506l-2.125-4.25Z'></path></g><defs><clipPath id='a'><path d='M0 0h12v12H0z'></path></clipPath></defs>\",\"<g clip-path='url(#a)'><path d='M2 4.5a2.5 2.5 0 1 1 4.106 1.916C7.242 7.045 8 8.319 8 9.75v.105l-1.564 2.964c-.29.117-.605.181-.936.181h-2A2.5 2.5 0 0 1 1 10.5v-.75c0-1.43.758-2.705 1.894-3.334A2.495 2.495 0 0 1 2 4.5Zm8.963 5.506a.5.5 0 1 1 1 0v1.5a.5.5 0 0 1-1 0v-1.5Zm1 3.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z'></path><path d='M10.252 7.73a1.37 1.37 0 0 1 2.423 0l3.052 5.783a1.7 1.7 0 0 1-1.504 2.493h-5.52A1.7 1.7 0 0 1 7.2 13.513l3.052-5.782Zm1.539.467a.37.37 0 0 0-.655 0L8.085 13.98a.7.7 0 0 0 .619 1.027h5.52a.7.7 0 0 0 .618-1.027l-3.051-5.782Z'></path></g><defs><clipPath id='a'><path d='M0 0h16v16H0z'></path></clipPath></defs>\",\"<path d='M3 5.5a4.5 4.5 0 1 1 7.55 3.309 7.516 7.516 0 0 1 1.36.925c-.17.213-.326.444-.468.693l-4.554 7.968c-.114.2-.213.401-.298.605H5a4 4 0 0 1-4-4v-1.125c0-1.732.964-3.21 2.18-4.217.39-.323.818-.61 1.27-.85A4.488 4.488 0 0 1 3 5.5ZM15 15a1 1 0 1 1 2 0v2a1 1 0 1 1-2 0v-2Zm2 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path><path d='M13.395 11.543c1.152-2.016 4.058-2.016 5.21 0l4.553 7.969c1.143 2-.3 4.488-2.604 4.488h-9.108c-2.303 0-3.747-2.488-2.604-4.488l4.553-7.97Zm3.473.992a1 1 0 0 0-1.736 0l-4.554 7.969A1 1 0 0 0 11.446 22h9.108a1 1 0 0 0 .868-1.496l-4.554-7.969Z'></path>\",\"<path d='M5 7.5a5.5 5.5 0 1 1 8.908 4.317 7.533 7.533 0 0 1 3.25 3.225L12.203 24H8a5 5 0 0 1-5-5v-.5a7.5 7.5 0 0 1 4.092-6.683A5.49 5.49 0 0 1 5 7.5ZM21 20a1 1 0 1 1 2 0v4a1 1 0 0 1-2 0v-4Zm2 7a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path><path d='M19.462 15.523c1.104-1.995 3.972-1.995 5.076 0l6.055 10.951C31.717 28.507 30.247 31 27.924 31H16.076c-2.323 0-3.793-2.493-2.669-4.526l6.055-10.95Zm3.326.968a.9.9 0 0 0-1.576 0l-6.055 10.95c-.387.7.12 1.559.92 1.559h11.847c.8 0 1.306-.858.919-1.558L22.788 16.49Z'></path>\"],[\"<g clip-path='url(#a)'><path d='M7 3.5c0 .77-.347 1.457-.894 1.916.068.037.135.077.2.119l-.453.904A2.337 2.337 0 0 0 4.5 6C3.156 6 2 7.193 2 8.75v.75a.5.5 0 0 0 .5.5h1.616a2.306 2.306 0 0 0-.067 1H2.5A1.5 1.5 0 0 1 1 9.5v-.75c0-1.43.758-2.705 1.894-3.334A2.5 2.5 0 1 1 7 3.5ZM4.5 2a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm4 5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Zm.5 3a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z'></path><path d='M7.293 5.797c.497-.995 1.917-.995 2.414 0l2.125 4.25A1.35 1.35 0 0 1 10.625 12h-4.25a1.35 1.35 0 0 1-1.207-1.954l2.125-4.249Zm1.52.447a.35.35 0 0 0-.626 0l-2.125 4.25a.35.35 0 0 0 .313.506h4.25a.35.35 0 0 0 .313-.506l-2.125-4.25Z'></path></g><defs><clipPath id='a'><path d='M0 0h12v12H0z'></path></clipPath></defs>\",\"<g clip-path='url(#a)'><path d='M7 4.5c0 .77-.347 1.457-.894 1.916C7.242 7.045 8 8.319 8 9.75v.105l-1.564 2.964c-.29.117-.605.181-.936.181h-2A2.5 2.5 0 0 1 1 10.5v-.75c0-1.43.758-2.705 1.894-3.334A2.5 2.5 0 1 1 7 4.5ZM4.5 3a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM2 9.75v.75A1.5 1.5 0 0 0 3.5 12h2A1.5 1.5 0 0 0 7 10.5v-.75C7 8.193 5.844 7 4.5 7S2 8.193 2 9.75Zm8.963.256a.5.5 0 1 1 1 0v1.5a.5.5 0 0 1-1 0v-1.5Zm1 3.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z'></path><path d='M10.252 7.73a1.37 1.37 0 0 1 2.423 0l3.052 5.783a1.7 1.7 0 0 1-1.504 2.493h-5.52A1.7 1.7 0 0 1 7.2 13.513l3.052-5.782Zm1.539.467a.37.37 0 0 0-.655 0L8.085 13.98a.7.7 0 0 0 .619 1.027h5.52a.7.7 0 0 0 .618-1.027l-3.051-5.782Z'></path></g><defs><clipPath id='a'><path d='M0 0h16v16H0z'></path></clipPath></defs>\",\"<g clip-path='url(#a)'><path d='M12 5.5a4.488 4.488 0 0 1-1.45 3.309 7.516 7.516 0 0 1 1.36.925c-.17.213-.326.444-.468.693l-.596 1.042a5.144 5.144 0 0 0-.302-.271C9.63 10.44 8.474 10 7.5 10c-.974 0-2.13.44-3.044 1.198C3.543 11.955 3 12.915 3 13.875V15a2 2 0 0 0 2 2h2.685l-.797 1.395c-.114.2-.213.401-.298.605H5a4 4 0 0 1-4-4v-1.125c0-1.732.964-3.21 2.18-4.217.39-.323.818-.61 1.27-.85A4.5 4.5 0 1 1 12 5.5ZM7.5 3a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5ZM15 15a1 1 0 1 1 2 0v2a1 1 0 1 1-2 0v-2Zm2 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path><path d='M13.395 11.543c1.152-2.016 4.058-2.016 5.21 0l4.553 7.969c1.143 2-.3 4.488-2.604 4.488h-9.108c-2.303 0-3.747-2.488-2.604-4.488l4.553-7.97Zm3.473.992a1 1 0 0 0-1.736 0l-4.554 7.969A1 1 0 0 0 11.446 22h9.108a1 1 0 0 0 .868-1.496l-4.554-7.969Z'></path></g><defs><clipPath id='a'><path d='M0 0h24v24H0z'></path></clipPath></defs>\",\"<path d='M16 7.5a5.49 5.49 0 0 1-2.092 4.317 7.533 7.533 0 0 1 3.25 3.225l-1.278 2.31A5.502 5.502 0 0 0 5 18.5v.5a3 3 0 0 0 3 3h5c.108 0 .214-.006.319-.017L12.204 24H8a5 5 0 0 1-5-5v-.5a7.5 7.5 0 0 1 4.092-6.683A5.5 5.5 0 1 1 16 7.5ZM10.5 4a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM21 20a1 1 0 1 1 2 0v4a1 1 0 0 1-2 0v-4Zm2 7a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path><path d='M19.462 15.523c1.104-1.995 3.972-1.995 5.076 0l6.055 10.951C31.717 28.507 30.247 31 27.924 31H16.076c-2.323 0-3.793-2.493-2.669-4.526l6.055-10.95Zm3.326.968a.9.9 0 0 0-1.576 0l-6.055 10.95c-.387.7.12 1.559.92 1.559h11.847c.8 0 1.306-.858.919-1.558L22.788 16.49Z'></path>\"]];","export default [[\"<path d='M2 3.5a2.5 2.5 0 1 1 4.867.805A4.502 4.502 0 0 0 4.757 11H2.5A1.5 1.5 0 0 1 1 9.5v-.75c0-1.43.758-2.705 1.894-3.334A2.495 2.495 0 0 1 2 3.5Zm8.354 4.354a.5.5 0 0 0-.708-.708L8 8.793l-.646-.647a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0l2-2Z'></path><path d='M5 8.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM8.5 6a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path>\",\"<path d='M2 4.5a2.5 2.5 0 1 1 4.106 1.916c.561.31 1.03.778 1.36 1.345a5.508 5.508 0 0 0-1.285 5.145A2.503 2.503 0 0 1 5.5 13h-2A2.5 2.5 0 0 1 1 10.5v-.75c0-1.43.758-2.705 1.894-3.334A2.495 2.495 0 0 1 2 4.5Zm9.354 8.854 2.5-2.5a.5.5 0 0 0-.708-.708L11 12.293l-.646-.647a.5.5 0 0 0-.708.708l1 1a.5.5 0 0 0 .708 0Z'></path><path d='M7 11.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM11.5 8a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M3 5.5a4.5 4.5 0 1 1 7.55 3.309c.447.237.872.52 1.258.839A8.99 8.99 0 0 0 8 17c0 .687.077 1.357.223 2H5a4 4 0 0 1-4-4v-1.125c0-1.732.964-3.21 2.18-4.217.39-.323.818-.61 1.27-.85A4.488 4.488 0 0 1 3 5.5Zm17.207 10.707a1 1 0 0 0-1.414-1.414L16 17.586l-1.293-1.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l3.5-3.5Z'></path><path d='M10 17a7 7 0 1 1 14 0 7 7 0 0 1-14 0Zm7-5a5 5 0 1 0 0 10 5 5 0 0 0 0-10Z'></path>\",\"<path d='M4 7.5a5.5 5.5 0 1 1 8.908 4.317 7.525 7.525 0 0 1 2.151 1.649A10.979 10.979 0 0 0 11 22c0 .683.062 1.351.181 2H7a5 5 0 0 1-5-5v-.5a7.5 7.5 0 0 1 4.092-6.683A5.49 5.49 0 0 1 4 7.5Zm22.707 13.207a1 1 0 0 0-1.414-1.414L20.5 24.086l-1.793-1.793a1 1 0 0 0-1.414 1.414l2.5 2.5a1 1 0 0 0 1.414 0l5.5-5.5Z'></path><path d='M13 22a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"],[\"<path d='M4.758 11H2.5A1.5 1.5 0 0 1 1 9.5v-.75c0-1.43.758-2.705 1.894-3.334a2.5 2.5 0 1 1 3.974-1.11c-.87.338-1.61.94-2.12 1.708A2.266 2.266 0 0 0 4.5 6C3.156 6 2 7.193 2 8.75v.75a.5.5 0 0 0 .5.5h1.756c.126.356.295.691.502 1ZM4.5 2a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm5.854 5.854a.5.5 0 0 0-.708-.708L8 8.793l-.646-.647a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0l2-2Z'></path><path d='M5 8.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM8.5 6a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path>\",\"<path d='M7 4.5c0 .77-.347 1.457-.894 1.916.561.31 1.03.778 1.36 1.345a5.521 5.521 0 0 0-.672.891C6.404 7.666 5.504 7 4.5 7 3.156 7 2 8.193 2 9.75v.75A1.5 1.5 0 0 0 3.5 12h2c.18 0 .354-.032.515-.09.025.341.082.674.166.996A2.503 2.503 0 0 1 5.5 13h-2A2.5 2.5 0 0 1 1 10.5v-.75c0-1.43.758-2.705 1.894-3.334A2.5 2.5 0 1 1 7 4.5ZM4.5 3a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm6.854 10.354 2.5-2.5a.5.5 0 0 0-.708-.708L11 12.293l-.646-.647a.5.5 0 0 0-.708.708l1 1a.5.5 0 0 0 .708 0Z'></path><path d='M7 11.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM11.5 8a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M12 5.5a4.488 4.488 0 0 1-1.45 3.309c.447.237.872.52 1.258.839A9.045 9.045 0 0 0 10.29 11c-.867-.636-1.904-1-2.79-1-.974 0-2.13.44-3.044 1.198C3.543 11.955 3 12.915 3 13.875V15a2 2 0 0 0 2 2h3c0 .687.077 1.357.223 2H5a4 4 0 0 1-4-4v-1.125c0-1.732.964-3.21 2.18-4.217.39-.323.818-.61 1.27-.85A4.5 4.5 0 1 1 12 5.5ZM7.5 3a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Zm12.707 13.207a1 1 0 0 0-1.414-1.414L16 17.586l-1.293-1.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l3.5-3.5Z'></path><path d='M10 17a7 7 0 1 1 14 0 7 7 0 0 1-14 0Zm7-5a5 5 0 1 0 0 10 5 5 0 0 0 0-10Z'></path>\",\"<path d='M15 7.5a5.49 5.49 0 0 1-2.092 4.317 7.525 7.525 0 0 1 2.151 1.649c-.518.422-.997.89-1.431 1.399A5.5 5.5 0 0 0 4 18.5v.5a3 3 0 0 0 3 3h4c0 .683.062 1.351.181 2H7a5 5 0 0 1-5-5v-.5a7.5 7.5 0 0 1 4.092-6.683A5.5 5.5 0 1 1 15 7.5ZM9.5 4a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Zm17.207 16.707a1 1 0 0 0-1.414-1.414L20.5 24.086l-1.793-1.793a1 1 0 0 0-1.414 1.414l2.5 2.5a1 1 0 0 0 1.414 0l5.5-5.5Z'></path><path d='M13 22a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"]];","export default [[\"<path d='M4 1.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm0 4a1.5 1.5 0 1 1 3 0V6h.882a1.5 1.5 0 0 1 1.342.83L10.3 8.981a1.394 1.394 0 1 1-2.494 1.247l-.477-.953A.5.5 0 0 0 6.882 9H5.5A1.5 1.5 0 0 1 4 7.5v-2Z'></path><path d='M2.715 5.289a.5.5 0 0 0-.43-.904A4 4 0 1 0 6.857 10.8a.5.5 0 0 0-.714-.7 3 3 0 1 1-3.428-4.811Z'></path>\",\"<path d='M7 2.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm0 4a1.5 1.5 0 1 1 3 0V8h1a1.5 1.5 0 0 1 1.2.6l1.74 2.32c.643.857.031 2.08-1.04 2.08a1.3 1.3 0 0 1-1.04-.52l-.96-1.28a.5.5 0 0 0-.4-.2h-2A1.5 1.5 0 0 1 7 9.5v-3Z'></path><path d='M5.667 6.227a.5.5 0 1 0-.334-.943A5.002 5.002 0 0 0 7 15c1.693 0 3.19-.842 4.093-2.128a.5.5 0 0 0-.818-.575 4 4 0 1 1-4.608-6.07Z'></path>\",\"<path d='M12 1a3 3 0 1 0 0 6 3 3 0 0 0 0-6ZM7.5 11.67a5 5 0 1 0 6.229 7.663 1 1 0 0 1 1.49 1.334A7 7 0 1 1 6.5 9.938a1 1 0 0 1 1.001 1.732Z'></path><path d='M12 8a3 3 0 0 0-3 3v4a3 3 0 0 0 3 3h2.93a1 1 0 0 1 .832.445l.927 1.391A2.614 2.614 0 0 0 18.864 21c2.126 0 3.363-2.403 2.127-4.133l-2.579-3.61A3 3 0 0 0 15.971 12H15v-1a3 3 0 0 0-3-3Z'></path>\",\"<path d='M15.5 9a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm0 1a3.5 3.5 0 0 0-3.5 3.5V18a4 4 0 0 0 4 4h3.301a2 2 0 0 1 1.715.971l1.569 2.613a2.915 2.915 0 0 0 2.5 1.416c2.276 0 3.674-2.493 2.487-4.436l-2.841-4.65A4 4 0 0 0 21.317 16H19v-2.5a3.5 3.5 0 0 0-3.5-3.5Z'></path><path d='M9.867 13.571a1 1 0 0 1-.368 1.366 7 7 0 1 0 9.563 9.563 1 1 0 1 1 1.732 1A9 9 0 1 1 8.501 13.204a1 1 0 0 1 1.366.367Z'></path>\"],[\"<path d='M4 1.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM5.5 1a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1ZM4 5.5a1.5 1.5 0 1 1 3 0V6h.882a1.5 1.5 0 0 1 1.342.83L10.3 8.981a1.394 1.394 0 1 1-2.494 1.247l-.477-.953A.5.5 0 0 0 6.882 9H5.5A1.5 1.5 0 0 1 4 7.5v-2ZM5.5 5a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h1.382a1.5 1.5 0 0 1 1.342.83l.476.952a.394.394 0 0 0 .706-.353L8.329 7.276A.5.5 0 0 0 7.882 7H6.5a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 0-.5-.5Z'></path><path d='M2.715 5.288a.5.5 0 0 0-.43-.903A4 4 0 1 0 6.857 10.8a.5.5 0 0 0-.714-.7 3 3 0 1 1-3.428-4.811Z'></path>\",\"<path d='M7 2.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM8.5 2a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1ZM7 6.5a1.5 1.5 0 1 1 3 0V8h1a1.5 1.5 0 0 1 1.2.6l1.74 2.32c.643.857.031 2.08-1.04 2.08a1.3 1.3 0 0 1-1.04-.52l-.96-1.28a.5.5 0 0 0-.4-.2h-2A1.5 1.5 0 0 1 7 9.5v-3ZM8.5 6a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h2a1.5 1.5 0 0 1 1.2.6l.96 1.28a.3.3 0 0 0 .48-.36L11.4 9.2A.5.5 0 0 0 11 9H9.5a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 0-.5-.5Z'></path><path d='M5.667 6.227a.5.5 0 1 0-.334-.943A5.002 5.002 0 0 0 7 15c1.693 0 3.19-.842 4.093-2.128a.5.5 0 0 0-.818-.575 4 4 0 1 1-4.608-6.07Z'></path>\",\"<path d='M9 4a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm3-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm-4.5 8.67a5 5 0 1 0 6.229 7.663 1 1 0 0 1 1.49 1.334A7 7 0 1 1 6.5 9.938a1 1 0 0 1 1.001 1.732Z'></path><path d='M12 8a3 3 0 0 0-3 3v4a3 3 0 0 0 3 3h2.93a1 1 0 0 1 .832.445l.927 1.391A2.614 2.614 0 0 0 18.864 21c2.126 0 3.363-2.403 2.127-4.133l-2.579-3.61A3 3 0 0 0 15.971 12H15v-1a3 3 0 0 0-3-3Zm-1 3a1 1 0 1 1 2 0v2a1 1 0 0 0 1 1h1.97a1 1 0 0 1 .815.419l2.578 3.61a.614.614 0 1 1-1.01.698l-.927-1.391A3 3 0 0 0 14.93 16H12a1 1 0 0 1-1-1v-4Z'></path>\",\"<path d='M15.5 9a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7ZM17 5.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm-5 8a3.5 3.5 0 1 1 7 0V16h2.317a4 4 0 0 1 3.414 1.914l2.841 4.65C28.76 24.507 27.362 27 25.084 27a2.915 2.915 0 0 1-2.5-1.416l-1.568-2.613A2 2 0 0 0 19.301 22H16a4 4 0 0 1-4-4v-4.5Zm3.5-1.5a1.5 1.5 0 0 0-1.5 1.5V18a2 2 0 0 0 2 2h3.301a4 4 0 0 1 3.43 1.942l1.568 2.613a.915.915 0 1 0 1.567-.948l-2.842-4.65A2 2 0 0 0 21.317 18H18a1 1 0 0 1-1-1v-3.5a1.5 1.5 0 0 0-1.5-1.5Z'></path><path d='M9.867 13.571a1 1 0 0 1-.368 1.366 7 7 0 1 0 9.563 9.563 1 1 0 1 1 1.732 1A9 9 0 1 1 8.501 13.204a1 1 0 0 1 1.366.367Z'></path>\"]];","export default [[\"M5.547 2.06c.037-.01.073-.02.11-.028l.002-.006h.003l.007.003a3.723 3.723 0 0 1 2.5.326c.729.37 1.344.981 1.535 1.696a.5.5 0 0 1-.353.613l-2.278.61.415 1.868c.303.039.589.106.858.196 1.272.424 2.086 1.338 2.402 1.693.046.051.08.09.106.115a.5.5 0 1 1-.708.707c-.047-.047-.102-.108-.166-.178-.35-.385-.963-1.06-1.95-1.388a3.492 3.492 0 0 0-.307-.087l.265 1.191a.5.5 0 0 1-.976.217L6.68 8.112c-1.006.057-2.285.512-3.868 1.778a.5.5 0 0 1-.624-.78C3.83 7.796 5.253 7.233 6.46 7.125l-.354-1.592-2.55.683a.5.5 0 0 1-.613-.353c-.192-.715.035-1.552.482-2.238.455-.698 1.186-1.315 2.122-1.566Zm2.948 1.798-.642.172a3.533 3.533 0 0 0-.66-.987c.182.051.358.12.523.203.338.172.6.39.779.612Zm-3.85-.155c-.06.345-.109.752-.131 1.221l-.62.166a2.37 2.37 0 0 1 .369-.918c.108-.166.236-.324.382-.469Z\",\"M7.61 1.376c-1.577.426-2.817 1.449-3.616 2.53a5.967 5.967 0 0 0-.878 1.647c-.172.524-.242 1.064-.12 1.523a.5.5 0 0 0 .613.354l4.878-1.308.802 2.888c-1.714-.093-3.763.435-6.079 2.082a.5.5 0 0 0 .58.815c2.33-1.657 4.274-2.04 5.785-1.87l.443 1.596a.5.5 0 0 0 .964-.267l-.304-1.094a5.69 5.69 0 0 1 2.451 1.563.5.5 0 0 0 .742-.67 6.7 6.7 0 0 0-3.503-2.01l-.915-3.291L14.13 4.61a.5.5 0 0 0 .353-.613c-.123-.459-.454-.892-.865-1.26a5.967 5.967 0 0 0-1.584-.987c-1.233-.537-2.82-.802-4.4-.382l-.01.003-.014.004Zm5.653 2.432-2.352.63-.004-.018c-.184-.686-.75-1.479-1.32-2.06a6.304 6.304 0 0 0-.2-.196c.808.02 1.583.214 2.248.504.536.232.986.521 1.317.816a2.8 2.8 0 0 1 .311.324ZM6.31 5.67a.519.519 0 0 1-.005-.018c-.184-.686-.09-1.656.112-2.443.023-.091.049-.182.076-.27A6.086 6.086 0 0 0 4.798 4.5c-.347.47-.593.945-.732 1.365-.053.16-.088.306-.108.436l2.352-.63Zm.86 7.455a.499.499 0 0 1 .749.101l.015.022c.016.021.04.054.072.094.065.08.159.186.272.29.245.225.5.368.722.368.222 0 .477-.143.722-.368a2.778 2.778 0 0 0 .344-.384l.01-.014.006-.008a.5.5 0 0 1 .836 0l.01.014.006.008c.016.021.04.054.072.094.065.08.159.186.272.29.245.225.5.368.722.368.222 0 .477-.143.722-.368a2.789 2.789 0 0 0 .36-.407l.003-.004a.5.5 0 1 1 .83.558l-.002.002-.002.004-.009.013a2.655 2.655 0 0 1-.131.173 3.777 3.777 0 0 1-.372.397c-.298.274-.792.632-1.4.632-.606 0-1.1-.358-1.398-.632a3.498 3.498 0 0 1-.101-.097 3.366 3.366 0 0 1-.1.097c-.3.274-.794.632-1.4.632-.607 0-1.101-.358-1.4-.632a3.476 3.476 0 0 1-.1-.097 3.476 3.476 0 0 1-.1.097c-.3.274-.794.632-1.4.632-.607 0-1.101-.358-1.4-.632a3.467 3.467 0 0 1-.1-.097 3.467 3.467 0 0 1-.1.097c-.3.274-.794.632-1.4.632-.607 0-1.101-.358-1.4-.632a3.77 3.77 0 0 1-.502-.57l-.009-.013-.002-.004-.001-.001-.001-.001a.5.5 0 0 1 .83-.559l.003.005a1.463 1.463 0 0 0 .089.117c.064.08.158.186.271.29.245.225.5.368.722.368.222 0 .477-.143.722-.368a2.778 2.778 0 0 0 .344-.384l.008-.01.008-.012a.493.493 0 0 1 .208-.18.497.497 0 0 1 .628.179 1.463 1.463 0 0 0 .089.117c.064.08.158.186.271.29.245.225.5.368.722.368.222 0 .477-.143.722-.368a2.778 2.778 0 0 0 .344-.384l.014-.02a.498.498 0 0 1 .09-.103Z\",\"m5.657 10.67 6.49-1.74 1.053 4.09c-2.512-.165-5.484.652-8.806 3.185a1 1 0 1 0 1.212 1.59c3.357-2.559 6.087-3.028 8.127-2.705l.299 1.16a1 1 0 0 0 1.956-.405 7.66 7.66 0 0 1 2.248 1.8 1 1 0 1 0 1.529-1.29 9.628 9.628 0 0 0-4.395-2.928l-1.291-5.014 6.56-1.758a1 1 0 0 0 .707-1.224c-.195-.73-.712-1.392-1.318-1.934-.624-.558-1.426-1.063-2.333-1.457-1.808-.786-4.14-1.177-6.47-.553S7.071 3.617 5.9 5.201c-.588.795-1.03 1.633-1.292 2.428-.255.773-.37 1.604-.175 2.334a1 1 0 0 0 1.225.707Zm3.561-6.005c-.214.98-.31 2.11-.133 3.016l-2.619.701.04-.128c.187-.566.521-1.216 1-1.863a8.468 8.468 0 0 1 1.712-1.726Zm9.576.414-2.618.702c-.3-.872-.948-1.804-1.623-2.545a8.47 8.47 0 0 1 2.345.638c.738.321 1.353.717 1.797 1.114.035.03.067.061.099.091ZM4.741 19.329a1 1 0 0 0-1.486 1.338l.002.002.002.003.005.005.015.016a4.255 4.255 0 0 0 .199.197c.127.118.311.275.54.433C4.454 21.625 5.156 22 6 22c.721 0 1.284-.168 1.757-.465.1-.061.193-.129.28-.198.44.3 1.133.663 1.963.663.721 0 1.284-.168 1.757-.465a3.18 3.18 0 0 0 .28-.198c.44.3 1.132.663 1.963.663.721 0 1.284-.168 1.757-.465a3.18 3.18 0 0 0 .28-.198c.44.3 1.133.663 1.963.663.721 0 1.284-.168 1.757-.465.362-.226.656-.527.857-.733l.093-.095a1 1 0 0 0-1.414-1.414l-.146.147c-.2.203-.306.31-.451.4-.125.079-.313.16-.696.16-.261 0-.56-.125-.846-.323a2.918 2.918 0 0 1-.397-.332l-.015-.015-.015-.017a1 1 0 0 0-1.414-.04l-.016.016-.01.01-.14.14c-.2.204-.306.31-.451.401-.125.079-.313.16-.696.16-.261 0-.56-.125-.846-.323a2.918 2.918 0 0 1-.397-.332l-.015-.015-.015-.017a1 1 0 0 0-1.44-.014l-.14.14c-.2.204-.306.31-.451.401-.125.079-.313.16-.696.16-.261 0-.56-.125-.846-.323a2.908 2.908 0 0 1-.397-.332l-.015-.015-.015-.017a.998.998 0 0 0-1.44-.014l-.14.14c-.2.204-.306.31-.451.401-.125.079-.313.16-.696.16-.261 0-.56-.125-.846-.323a2.908 2.908 0 0 1-.413-.348Z\",\"M22.564 4.04c-2.274-.989-5.2-1.48-8.116-.709a1.8 1.8 0 0 0-.072.02c-2.911.79-5.2 2.678-6.675 4.672-.742 1.003-1.297 2.057-1.623 3.048-.32.97-.452 1.98-.22 2.844a1 1 0 0 0 1.224.708l8.73-2.34 1.322 4.743c-3.6-.048-7.864 1.04-12.675 4.133a1 1 0 1 0 1.082 1.682c4.8-3.085 8.884-3.97 12.155-3.796l.34 1.223a1 1 0 1 0 1.927-.536l-.113-.407c3.005.63 5.195 2.134 6.443 3.382a1 1 0 1 0 1.414-1.414c-1.623-1.623-4.5-3.535-8.451-4.102l-1.511-5.426L26.4 9.446a1 1 0 0 0 .708-1.225c-.232-.864-.852-1.672-1.614-2.352-.778-.696-1.785-1.331-2.93-1.829ZM11.892 7.2c-.34 1.317-.533 2.868-.41 4.173l-3.678.986c.038-.201.095-.422.174-.662.25-.763.698-1.63 1.331-2.485a11.146 11.146 0 0 1 2.758-2.632 13.28 13.28 0 0 0-.175.62Zm12.752.646-3.679.986c-.546-1.191-1.49-2.438-2.44-3.408a13.273 13.273 0 0 0-.464-.45c1.33.084 2.6.42 3.706.9.976.425 1.796.95 2.395 1.486.188.169.348.332.482.486ZM4.707 25.293a1 1 0 0 0-1.414 1.414c.057.057.12.133.224.261l.16.195c.185.221.424.498.716.764C4.983 28.464 5.837 29 7 29c1.214 0 2.202-.715 2.799-1.264.07-.065.137-.13.201-.193.064.063.131.128.201.193C10.798 28.286 11.786 29 13 29s2.202-.715 2.799-1.264c.07-.065.137-.13.201-.193.064.063.131.128.201.193C16.798 28.286 17.786 29 19 29s2.202-.715 2.799-1.264c.07-.065.137-.13.201-.193.064.063.131.128.201.193C22.798 28.286 23.786 29 25 29c1.163 0 2.017-.536 2.607-1.073a7.69 7.69 0 0 0 .716-.764l.16-.195c.105-.128.167-.204.224-.26a1 1 0 0 0-1.414-1.415c-.134.134-.288.322-.415.477l-.094.114c-.166.2-.335.392-.523.564-.371.338-.767.552-1.261.552-.443 0-.955-.285-1.444-.735a5.563 5.563 0 0 1-.688-.769l-.023-.032-.01-.014-.005-.008-.001-.002a1 1 0 0 0-1.658.001v.001l-.006.008a4.414 4.414 0 0 1-.178.233c-.13.16-.316.373-.543.582-.49.45-1 .735-1.444.735-.443 0-.955-.285-1.444-.735a5.563 5.563 0 0 1-.688-.769l-.024-.034-.009-.012-.005-.008-.001-.002a1 1 0 0 0-1.658.001v.001l-.006.008a4.414 4.414 0 0 1-.178.233c-.13.16-.316.373-.543.582-.49.45-1 .735-1.444.735-.443 0-.955-.285-1.444-.735a5.563 5.563 0 0 1-.721-.816l-.006-.009a1 1 0 0 0-1.659.002l-.005.008a3.515 3.515 0 0 1-.178.233c-.13.16-.316.373-.543.582-.49.45-1 .735-1.444.735-.494 0-.89-.214-1.26-.552a5.547 5.547 0 0 1-.524-.564l-.094-.113a6.561 6.561 0 0 0-.415-.478Z\"],[\"M5.547 2.06c.037-.01.073-.02.11-.028l.002-.006h.003l.007.003a3.723 3.723 0 0 1 2.5.326c.729.37 1.344.981 1.535 1.696a.5.5 0 0 1-.353.613l-2.278.61.415 1.868c.303.039.589.106.858.196 1.272.424 2.086 1.338 2.402 1.693.046.051.08.09.106.115a.5.5 0 1 1-.708.707c-.047-.047-.102-.108-.166-.178-.35-.385-.963-1.06-1.95-1.388a3.492 3.492 0 0 0-.307-.087l.265 1.191a.5.5 0 0 1-.976.217L6.68 8.112c-1.006.057-2.285.512-3.868 1.778a.5.5 0 0 1-.624-.78C3.83 7.796 5.253 7.233 6.46 7.125l-.354-1.592-2.55.683a.5.5 0 0 1-.613-.353c-.192-.715.035-1.552.482-2.238.455-.698 1.186-1.315 2.122-1.566Zm2.948 1.798-.642.172a3.533 3.533 0 0 0-.66-.987c.182.051.358.12.523.203.338.172.6.39.779.612Zm-3.85-.155c-.06.345-.109.752-.131 1.221l-.62.166a2.37 2.37 0 0 1 .369-.918c.108-.166.236-.324.382-.469Z\",\"M7.61 1.376c-1.577.426-2.817 1.449-3.616 2.53a5.967 5.967 0 0 0-.878 1.647c-.172.524-.242 1.064-.12 1.523a.5.5 0 0 0 .613.354l4.878-1.308.802 2.888c-1.714-.093-3.763.435-6.079 2.082a.5.5 0 0 0 .58.815c2.33-1.657 4.274-2.04 5.785-1.87l.443 1.596a.5.5 0 0 0 .964-.267l-.304-1.094a5.69 5.69 0 0 1 2.451 1.563.5.5 0 0 0 .742-.67 6.7 6.7 0 0 0-3.503-2.01l-.915-3.291L14.13 4.61a.5.5 0 0 0 .353-.613c-.123-.459-.454-.892-.865-1.26a5.967 5.967 0 0 0-1.584-.987c-1.233-.537-2.82-.802-4.4-.382l-.01.003-.014.004Zm-.335 4.036 2.67-.716a.514.514 0 0 1-.004-.017c-.12-.444-.548-1.089-1.067-1.619a3.854 3.854 0 0 0-.716-.591 1.097 1.097 0 0 0-.274-.124 1.096 1.096 0 0 0-.175.243c-.119.216-.233.52-.324.871-.185.718-.233 1.492-.114 1.935a.525.525 0 0 1 .004.018Zm5.988-1.604-2.352.63-.004-.018c-.184-.686-.75-1.479-1.32-2.06a6.304 6.304 0 0 0-.2-.196c.808.02 1.583.214 2.248.504.536.232.986.521 1.317.816a2.8 2.8 0 0 1 .311.324ZM6.31 5.67a.519.519 0 0 1-.005-.018c-.184-.686-.09-1.656.112-2.443.023-.091.049-.182.076-.27A6.086 6.086 0 0 0 4.798 4.5c-.347.47-.593.945-.732 1.365-.053.16-.088.306-.108.436l2.352-.63Zm.86 7.455a.499.499 0 0 1 .749.101l.015.022c.016.021.04.054.072.094.065.08.159.186.272.29.245.225.5.368.722.368.222 0 .477-.143.722-.368a2.778 2.778 0 0 0 .344-.384l.01-.014.006-.008a.5.5 0 0 1 .836 0l.01.014.006.008c.016.021.04.054.072.094.065.08.159.186.272.29.245.225.5.368.722.368.222 0 .477-.143.722-.368a2.789 2.789 0 0 0 .36-.407l.003-.004a.5.5 0 1 1 .83.558l-.002.002-.002.004-.009.013a2.655 2.655 0 0 1-.131.173 3.777 3.777 0 0 1-.372.397c-.298.274-.792.632-1.4.632-.606 0-1.1-.358-1.398-.632a3.498 3.498 0 0 1-.101-.097 3.366 3.366 0 0 1-.1.097c-.3.274-.794.632-1.4.632-.607 0-1.101-.358-1.4-.632a3.476 3.476 0 0 1-.1-.097 3.476 3.476 0 0 1-.1.097c-.3.274-.794.632-1.4.632-.607 0-1.101-.358-1.4-.632a3.467 3.467 0 0 1-.1-.097 3.467 3.467 0 0 1-.1.097c-.3.274-.794.632-1.4.632-.607 0-1.101-.358-1.4-.632a3.77 3.77 0 0 1-.502-.57l-.009-.013-.002-.004-.001-.001-.001-.001a.5.5 0 0 1 .83-.559l.003.005a1.463 1.463 0 0 0 .089.117c.064.08.158.186.271.29.245.225.5.368.722.368.222 0 .477-.143.722-.368a2.778 2.778 0 0 0 .344-.384l.008-.01.008-.012a.493.493 0 0 1 .208-.18.497.497 0 0 1 .628.179 1.463 1.463 0 0 0 .089.117c.064.08.158.186.271.29.245.225.5.368.722.368.222 0 .477-.143.722-.368a2.778 2.778 0 0 0 .344-.384l.014-.02a.498.498 0 0 1 .09-.103Z\",\"M11.225 1.487c-2.33.624-4.154 2.13-5.327 3.714-.588.795-1.03 1.633-1.292 2.428-.254.773-.37 1.604-.174 2.334a1 1 0 0 0 1.224.707l6.49-1.74 1.054 4.09c-2.512-.165-5.484.652-8.806 3.184a1 1 0 1 0 1.212 1.591c3.357-2.56 6.087-3.029 8.127-2.705l.299 1.16a1 1 0 0 0 1.956-.405 7.659 7.659 0 0 1 2.248 1.8 1 1 0 1 0 1.529-1.29 9.626 9.626 0 0 0-4.395-2.928l-1.291-5.014 6.56-1.758a1 1 0 0 0 .707-1.224c-.196-.73-.712-1.392-1.319-1.934-.623-.558-1.426-1.063-2.332-1.457-1.808-.786-4.14-1.177-6.47-.553Zm-2.14 6.194-2.619.701.04-.128c.187-.566.521-1.216 1-1.863a8.468 8.468 0 0 1 1.712-1.726c-.214.98-.31 2.11-.134 3.016Zm1.94-.52 3.21-.86c-.225-.552-.735-1.292-1.361-1.93-.35-.357-.69-.633-.963-.797a1.935 1.935 0 0 0-.149-.082 1.932 1.932 0 0 0-.088.145c-.155.28-.31.688-.435 1.172-.223.865-.295 1.761-.215 2.352Zm7.769-2.082-2.618.702c-.3-.872-.949-1.804-1.624-2.545.838.101 1.636.33 2.345.638.739.321 1.354.717 1.798 1.114l.099.091ZM7.575 19.095a.996.996 0 0 0-.319.237l-.013.013a2.895 2.895 0 0 1-.397.332C6.56 19.875 6.26 20 6 20c-.383 0-.57-.082-.696-.16-.145-.09-.25-.197-.451-.4a37.626 37.626 0 0 0-.146-.147 1 1 0 0 0-1.414 1.414l.093.095c.2.206.495.506.857.733C4.716 21.832 5.279 22 6 22c.843 0 1.545-.375 1.983-.677L8 21.31l.017.012c.438.302 1.14.677 1.983.677.843 0 1.545-.375 1.983-.677L12 21.31l.018.012c.437.302 1.139.677 1.982.677s1.545-.375 1.983-.677L16 21.31l.017.012c.438.302 1.14.677 1.983.677.721 0 1.284-.168 1.757-.465.362-.227.656-.527.857-.733l.093-.095a1 1 0 0 0-1.414-1.414l-.146.147c-.2.203-.306.31-.451.4-.125.078-.313.16-.696.16-.261 0-.56-.125-.846-.323a2.905 2.905 0 0 1-.397-.332l-.013-.013a1.05 1.05 0 0 0-.308-.232 1.002 1.002 0 0 0-1.18.232l-.013.013a2.905 2.905 0 0 1-.397.332c-.286.198-.585.323-.846.323s-.56-.125-.846-.323a2.905 2.905 0 0 1-.397-.332l-.013-.013a.971.971 0 0 0-.313-.235 1 1 0 0 0-1.175.235l-.013.013a2.905 2.905 0 0 1-.397.332c-.286.198-.585.323-.846.323s-.56-.125-.846-.323a2.895 2.895 0 0 1-.397-.332l-.013-.013a.998.998 0 0 0-1.17-.237Z\",\"m14.412 3.341.016-.004c2.923-.779 5.857-.288 8.136.703 1.145.498 2.152 1.133 2.93 1.829.762.68 1.382 1.488 1.614 2.352a1 1 0 0 1-.708 1.225l-8.655 2.32 1.51 5.425c3.952.567 6.83 2.479 8.452 4.102a1 1 0 1 1-1.414 1.414c-1.248-1.248-3.438-2.752-6.443-3.382l.113.407a1 1 0 1 1-1.927.536l-.34-1.223c-3.272-.174-7.355.71-12.155 3.796a1 1 0 1 1-1.082-1.682c4.81-3.092 9.076-4.181 12.675-4.133l-1.321-4.743-8.731 2.34a1 1 0 0 1-1.225-.708c-.231-.864-.098-1.874.22-2.844.327-.991.882-2.045 1.624-3.048 1.475-1.994 3.764-3.882 6.675-4.672l.036-.01Zm-.962 7.504 5.546-1.485c-.427-.812-1.116-1.737-1.9-2.536-.54-.551-1.079-.993-1.534-1.267a2.39 2.39 0 0 0-.537-.254.718.718 0 0 0-.094-.021.734.734 0 0 0-.07.065c-.093.097-.21.255-.338.488-.257.465-.502 1.117-.695 1.865-.279 1.083-.413 2.229-.378 3.145Zm11.194-2.999-3.68.986c-.545-1.19-1.488-2.438-2.44-3.408a13.285 13.285 0 0 0-.463-.45c1.33.084 2.6.42 3.706.9.976.425 1.796.95 2.395 1.486.188.169.348.332.482.486Zm-13.162 3.527c-.123-1.305.07-2.856.41-4.172.053-.21.112-.417.175-.621A11.146 11.146 0 0 0 9.31 9.212c-.633.856-1.08 1.722-1.331 2.485-.08.24-.136.46-.174.662l3.678-.986Zm-6.775 13.92a1 1 0 0 0-1.414 1.414c.057.057.12.133.224.261l.16.195c.185.221.424.498.716.764C4.983 28.464 5.837 29 7 29c1.214 0 2.202-.715 2.799-1.264.07-.065.137-.13.201-.193.064.063.131.128.201.193C10.798 28.286 11.786 29 13 29s2.202-.715 2.799-1.264c.07-.065.137-.13.201-.193.064.063.131.128.201.193C16.798 28.286 17.786 29 19 29s2.202-.715 2.799-1.264c.07-.065.137-.13.201-.193.064.063.131.128.201.193C22.798 28.286 23.786 29 25 29c1.163 0 2.017-.536 2.607-1.073a7.69 7.69 0 0 0 .716-.764l.16-.195c.105-.128.167-.204.224-.26a1 1 0 0 0-1.414-1.415c-.134.134-.288.322-.415.477l-.094.114c-.166.2-.335.392-.523.564-.371.338-.767.552-1.261.552-.443 0-.955-.285-1.444-.735a5.563 5.563 0 0 1-.688-.769l-.023-.032-.01-.014-.005-.008-.001-.002a1 1 0 0 0-1.658.001v.001l-.006.008a4.414 4.414 0 0 1-.178.233c-.13.16-.316.373-.543.582-.49.45-1 .735-1.444.735-.443 0-.955-.285-1.444-.735a5.563 5.563 0 0 1-.688-.769l-.024-.034-.009-.012-.005-.008-.001-.002a1 1 0 0 0-1.658.001v.001l-.006.008-.01.012a3.03 3.03 0 0 1-.168.221c-.13.16-.316.373-.543.582-.49.45-1 .735-1.444.735-.443 0-.955-.285-1.444-.735a5.563 5.563 0 0 1-.721-.816l-.006-.009a1 1 0 0 0-1.659.002l-.005.008a3.515 3.515 0 0 1-.178.233c-.13.16-.316.373-.543.582-.49.45-1 .735-1.444.735-.494 0-.89-.214-1.26-.552a5.547 5.547 0 0 1-.524-.564l-.093-.113c-.128-.156-.282-.345-.416-.478Z\"]];","export default [[\"<path d='M10.862 3.855a.5.5 0 0 1-.707 0l-.512-.51-.668.68a4.48 4.48 0 0 0-3.114.83.5.5 0 0 0-.014-.727l-.378-.345-.703.713.41.371a.5.5 0 0 0 .578.068c-.261.201-.5.43-.71.684a.5.5 0 0 0-.148-.45l-.409-.39-.702.712.421.401a.5.5 0 0 0 .566.087 4.48 4.48 0 0 0-.76 2.85l-.874.874a1 1 0 0 1-1.258.127L.874 10.844a.5.5 0 0 1-.71-.704l1.01-1.019a1 1 0 0 1 .136-1.247l.972-.972a1 1 0 0 1 .034-1.379l3.226-3.226-.445-.44a.5.5 0 1 1 .703-.71l1.038 1.025.813-.816-.501-.5a.5.5 0 1 1 .706-.708l3.005 3a.5.5 0 0 1 .001.707ZM8.358 2.062l-.806.811.404.404.178.177.801-.816-.577-.576Zm2.007 5.792a.5.5 0 0 0-.707-.708L8.01 8.793l-.646-.647a.5.5 0 1 0-.707.708l1 1a.5.5 0 0 0 .707 0l2-2Z'></path><path d='M5.011 8.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Zm3.5-2.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path>\",\"<path d='M12.153 4.85a.5.5 0 0 0 .706-.708L8.867.164a.5.5 0 1 0-.706.709l.996.992-1.252 1.252-2.04-1.971a.5.5 0 0 0-.695.72l1.003.968L1.937 7.07a1 1 0 0 0 0 1.415l.281.281-.898.898a1 1 0 0 0-.044 1.368L.167 12.143a.5.5 0 1 0 .708.707l1.108-1.11a1 1 0 0 0 1.372-.04l.898-.9.387.387a1 1 0 0 0 1.366.045A5.501 5.501 0 0 1 10.92 6.03l-.986-.953 1.221-1.221.998.994Zm-1.706-1.7L9.214 4.382l-.59-.57 1.242-1.241.58.579Zm-6.58 3.409.703-.704.034.03.742.73a.5.5 0 0 1-.7.713l-.743-.73a.505.505 0 0 1-.036-.04Zm1.507-1.507.705-.705.033.031.748.771a.5.5 0 0 1-.718.697l-.748-.771a.512.512 0 0 1-.02-.023Zm8.491 5.802a.5.5 0 0 0-.707-.708l-2.147 2.147-.646-.647a.5.5 0 0 0-.707.708l1 1a.5.5 0 0 0 .707 0l2.5-2.5Z'></path><path d='M7.011 11.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0Zm4.5-3.5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M18.716 7.712a1 1 0 0 1-1.415.003l-.538-.535-.828.882a9.001 9.001 0 0 0-7.884 9.903 2.984 2.984 0 0 1-.968-.324l-.792.711a2.57 2.57 0 0 1-2.67.477l-.89.884a1 1 0 0 1-1.41-1.417l.875-.87a2.573 2.573 0 0 1 .469-2.714l.74-.818a3.001 3.001 0 0 1 .468-3.475L9.299 4.68l-.98-.943a1 1 0 0 1 1.387-1.441l2.515 2.42 1.006-1.056-.982-.978a1 1 0 0 1 1.41-1.417l5.057 5.032a1 1 0 0 1 .004 1.414Zm-4.07-2.64-.984 1.031.72.692.963-1.026-.7-.697Zm-8.78 6.184 1.464 1.46A1 1 0 0 0 8.742 11.3L7.24 9.802l-1.375 1.454Zm2.408-2.547.033.033 1.304 1.279a1 1 0 0 0 1.4-1.429L9.707 7.314a.776.776 0 0 0-.061-.055l-1.372 1.45Zm11.959 7.495a1 1 0 0 0-1.414-1.414l-2.793 2.793-1.293-1.293a1 1 0 1 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l3.5-3.5Z'></path><path d='M9.976 16.96a7 7 0 1 1 14 0 7 7 0 0 1-14 0Zm7-5a5 5 0 1 0 0 10.001 5 5 0 0 0 0-10Z'></path>\",\"<path d='M17.295 3.291a1 1 0 0 1 1.414.004l4.99 5.015a1 1 0 1 1-1.417 1.41l-.512-.514-1.537 1.52.367.362C15.187 11.776 11 16.4 11 22c0 .334.015.665.044.992a3 3 0 0 1-1.51-.415l-.733.672a2.887 2.887 0 0 1-3.07.532l-2.014 1.951a1 1 0 0 1-1.391-1.436l1.944-1.883a2.888 2.888 0 0 1 .548-3.342l.726-.72a3 3 0 0 1 .281-3.79l7.465-7.856-.984-.967a1 1 0 1 1 1.402-1.427l2.777 2.73 1.578-1.56-.772-.776a1 1 0 0 1 .004-1.414Zm2.178 3.607-1.562 1.546.895.88 1.553-1.536-.886-.89Zm-4.734 5.813a1 1 0 0 0-.015-1.414L13.206 9.81a1.023 1.023 0 0 0-.036-.034l-1.387 1.44.023.023 1.52 1.487a1 1 0 0 0 1.413-.015Zm-4.553.163-1.388 1.44 1.552 1.422a1 1 0 1 0 1.35-1.474l-1.514-1.388Zm16.53 7.837a1 1 0 0 0-1.415-1.414L20.51 24.09l-1.793-1.793A1 1 0 0 0 17.3 23.71l2.5 2.5a1 1 0 0 0 1.415 0l5.5-5.5Z'></path><path d='M13.009 22.004a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"],[\"<path d='M10.85 3.855a.5.5 0 0 1-.706 0l-.507-.505-.662.675a4.55 4.55 0 0 0-1.584.113l-.152-.152L6.242 3l-.784.784.378.344a.5.5 0 1 1-.672.74l-.414-.376-.28.281.415.396a.5.5 0 0 1 .143.468 4.516 4.516 0 0 0-.25.334.5.5 0 0 1-.583-.078l-.433-.413-.75.75 1.133 1.133A4.507 4.507 0 0 0 4.01 8.82l-.884.884a1 1 0 0 1-1.258.127L.863 10.844a.5.5 0 0 1-.71-.704l1.01-1.019A1 1 0 0 1 1.3 7.874l.972-.972a1 1 0 0 1 .034-1.379L5.53 2.297l-.445-.44a.5.5 0 1 1 .703-.71l1.044 1.03.812-.816-.506-.505a.5.5 0 1 1 .706-.708l3.005 3a.5.5 0 0 1 0 .707ZM8.354 2.068l-.807.81.398.399.185.182.8-.815-.576-.576ZM2.905 7.682l-.9.9.415.414.9-.9-.415-.414Zm7.449.172a.5.5 0 0 0-.708-.708L8 8.793l-.646-.647a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0l2-2Z'></path><path d='M5 8.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM8.5 6a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path>\",\"<path d='M12.85 4.849a.5.5 0 0 1-.708.001l-.998-.994-1.222 1.221.988.954a5.465 5.465 0 0 0-1.51.384l.177-.177-2.702-2.702-.81.81c.013.01.025.02.036.033l.748.77a.5.5 0 1 1-.718.697l-.748-.771a.508.508 0 0 1-.023-.025l-.803.804c.012.01.024.02.035.032l.743.729a.5.5 0 1 1-.7.713L3.891 6.6a.503.503 0 0 1-.039-.042l-1.22 1.22 2.702 2.703 1.08-1.08a5.473 5.473 0 0 0-.408 1.821 1 1 0 0 1-1.379-.034l-.386-.386-.898.898a1 1 0 0 1-1.372.04L.864 12.85a.5.5 0 0 1-.708-.706l1.109-1.111a1 1 0 0 1 .044-1.368l.898-.898-.281-.281a1 1 0 0 1 0-1.415l4.236-4.236-1.003-.969a.5.5 0 1 1 .695-.72l2.04 1.972 1.252-1.252L8.15.873a.5.5 0 0 1 .706-.709l3.992 3.978a.5.5 0 0 1 .001.707ZM9.853 2.57l-1.24 1.241.59.57 1.231-1.232-.58-.579Zm-7.13 7.093-.708.708.62.62.708-.707-.62-.62Zm11.131 1.191a.5.5 0 0 0-.708-.708L11 12.293l-.646-.647a.5.5 0 0 0-.708.708l1 1a.5.5 0 0 0 .708 0l2.5-2.5Z'></path><path d='M7 11.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM11.5 8a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M17.29 7.715a1 1 0 1 0 1.41-1.417l-5.055-5.032a1 1 0 1 0-1.411 1.417l.988.984-1.007 1.055-2.52-2.425a1 1 0 0 0-1.387 1.441l.98.943L3.86 10.42a3.001 3.001 0 0 0-.467 3.475l-.74.817a2.573 2.573 0 0 0-.47 2.714l-.874.87a1 1 0 1 0 1.41 1.418l.89-.884c.881.35 1.921.196 2.67-.477l.792-.71c.309.166.64.274.98.325a9.102 9.102 0 0 1 .014-2.064 1 1 0 0 1-.287-.206l-2.454-2.519a1 1 0 0 1-.01-1.385l.522-.553 1.482 1.477a1 1 0 1 0 1.412-1.416L7.212 9.787l1.035-1.095a.59.59 0 0 0 .049.051L9.6 10.022A1 1 0 1 0 11 8.593L9.695 7.315a1.01 1.01 0 0 0-.079-.07l1.042-1.102 2.647 2.648a8.94 8.94 0 0 1 2.63-.729l.823-.876.532.53ZM4.136 16.054l.577-.637.86.882-.63.565a.573.573 0 0 1-.807-.81ZM15.34 5.774l-.964 1.027-.72-.692.984-1.031.7.696Zm4.882 10.43a1 1 0 0 0-1.415-1.414l-2.792 2.793-1.293-1.293a1 1 0 1 0-1.415 1.414l2 2a1 1 0 0 0 1.415 0l3.5-3.5Z'></path><path d='M9.965 16.96a7 7 0 1 1 14 0 7 7 0 0 1-14 0Zm7-5a5 5 0 1 0 0 10.001 5 5 0 0 0 0-10Z'></path>\",\"<path d='M17.295 3.291a1 1 0 0 1 1.414.004l4.99 5.015a1 1 0 1 1-1.417 1.41l-.512-.514-1.537 1.52.367.362a10.93 10.93 0 0 0-2.573.651L14.56 8.272l-1.411 1.486.057.051 1.518 1.487a1 1 0 0 1-1.399 1.43l-1.519-1.488a.942.942 0 0 1-.032-.033l-1.587 1.67 1.514 1.386a1 1 0 0 1-1.351 1.475l-1.54-1.411-1.535 1.614a1 1 0 0 0-.015 1.362l3.06 3.364c.194.214.46.324.726.327a11.153 11.153 0 0 0-.002 2 2.998 2.998 0 0 1-1.51-.415l-.733.672a2.887 2.887 0 0 1-3.07.532l-2.014 1.951a1 1 0 0 1-1.391-1.436l1.944-1.883a2.888 2.888 0 0 1 .548-3.342l.726-.72a3 3 0 0 1 .281-3.79l7.465-7.856-.984-.967a1 1 0 1 1 1.402-1.427l2.777 2.73 1.578-1.56-.772-.776a1 1 0 0 1 .004-1.414Zm2.178 3.607-1.562 1.546.895.88 1.553-1.536-.886-.89Zm-12.6 12.95-.646.643a.887.887 0 0 0 1.223 1.283l.64-.587-1.216-1.338Zm19.843.863a1 1 0 0 0-1.415-1.414L20.51 24.09l-1.793-1.793A1 1 0 0 0 17.3 23.71l2.5 2.5a1 1 0 0 0 1.415 0l5.5-5.5Z'></path><path d='M13.009 22.004a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"]];","export default [[\"M5.382 0C4.62 0 4 .619 4 1.382V4H2.74l-.2-.498A.798.798 0 0 0 1 3.798v.47a1.999 1.999 0 0 0 0 3.464v.47a.798.798 0 0 0 1.54.296L2.738 8H4v2.618a1.382 1.382 0 0 0 2.68.472L7.806 8H10a2 2 0 1 0 0-4H7.805L6.68.91A1.382 1.382 0 0 0 5.382 0Z\",\"m12.982 6.058-3.147.121-1.722-4.478A1.093 1.093 0 0 0 6 2.093v4.234l-1.846.071-.63-1.094a.818.818 0 0 0-1.525.408v.854c-.584.22-1 .778-1 1.435s.416 1.215 1 1.435v.842a.817.817 0 0 0 1.524.409l.627-1.084 1.849.071v4.234a1.093 1.093 0 0 0 2.113.392l1.723-4.479 3.147.121a1.943 1.943 0 1 0 0-3.884Z\",\"M10.412 1a1.868 1.868 0 0 0-1.865 1.961l.334 6.694-1.888.094-.928-1.855A1.618 1.618 0 0 0 3 8.618v1.33l-.051.003a2.051 2.051 0 0 0 0 4.098L3 14.05v1.331a1.618 1.618 0 0 0 3.065.724l.928-1.855 1.888.094-.334 6.694a1.868 1.868 0 0 0 3.6.787l2.869-7.174 4.937.247a2.903 2.903 0 1 0 0-5.798l-4.937.247-2.87-7.174A1.868 1.868 0 0 0 10.412 1Z\",\"M13.74 2a2.148 2.148 0 0 0-2.142 2.312l.665 8.652-2.82.163-1.4-2.332A1.639 1.639 0 0 0 5 11.64v1.744l-.56.032a2.589 2.589 0 0 0 0 5.17l.56.032v1.456a1.927 1.927 0 0 0 3.65.862l1.025-2.048 2.588.15-.665 8.65a2.148 2.148 0 0 0 4.12 1.002l3.904-9.228 6.325.365a3.832 3.832 0 1 0 0-7.652l-6.325.365-3.905-9.228A2.148 2.148 0 0 0 13.74 2Z\"],[\"M5.382 1A.382.382 0 0 0 5 1.382V5H3.061l-.3-.752A.394.394 0 0 0 2 4.394v.545l-.333.118a1 1 0 0 0 0 1.886L2 7.061v.545a.394.394 0 0 0 .76.146L3.062 7H5v3.618a.382.382 0 0 0 .74.13L7.105 7H10a1 1 0 1 0 0-2H7.104L5.741 1.252A.382.382 0 0 0 5.382 1ZM4 1.382A1.382 1.382 0 0 1 6.681.91L7.805 4H10a2 2 0 1 1 0 4H7.805L6.68 11.09A1.382 1.382 0 0 1 4 10.618V8h-.261l-.05.123a1.394 1.394 0 0 1-2.683-.387 1.999 1.999 0 0 1 0-3.472 1.395 1.395 0 0 1 2.683-.387L3.74 4H4V1.382Z\",\"m12.982 6.058-2.654.102-1.642-4.269A1.39 1.39 0 0 0 6 2.389v3.937l-.867.033-.425-.739A1.45 1.45 0 0 0 2 6.344v.22c-.584.22-1 .778-1 1.435s.416 1.215 1 1.435v.208a1.451 1.451 0 0 0 2.707.726l.422-.73.871.033v3.937a1.39 1.39 0 0 0 2.686.498l1.642-4.27 2.654.102a1.943 1.943 0 1 0 0-3.884v.004Zm.038 2.885-3.011-.116-.357-.014-1.899 4.937a.389.389 0 0 1-.752-.139v-4.9l-2.435-.094-.151.261-.573.991A.452.452 0 0 1 3 9.643V8.557l-.481-.018a.538.538 0 0 1 0-1.078L3 7.443V6.345a.451.451 0 0 1 .841-.225l.576 1 .151.262 2.433-.094V2.389a.389.389 0 0 1 .752-.139l1.899 4.937.357-.014 3.011-.116a.943.943 0 1 1 0 1.886Z\",\"M10.716 3a.157.157 0 0 0-.157.165L10.951 11H6.382l-.935-1.87A.236.236 0 0 0 5 9.236V11H4a1 1 0 1 0 0 2h1v1.764a.236.236 0 0 0 .447.106L6.382 13h4.57l-.393 7.835a.157.157 0 0 0 .303.066L14.022 13H20a1 1 0 1 0 0-2h-5.977l-3.16-7.901A.157.157 0 0 0 10.715 3Zm-2.154.265a2.157 2.157 0 0 1 4.157-.909L15.377 9H20a3 3 0 1 1 0 6h-4.623l-2.658 6.644a2.157 2.157 0 0 1-4.157-.909L8.849 15H7.618l-.382.764a2.236 2.236 0 0 1-4.235-.934 3.001 3.001 0 0 1 0-5.66 2.236 2.236 0 0 1 4.235-.934L7.618 9h1.23l-.286-5.735Z\",\"M14.05 4a.435.435 0 0 0-.434.468l.776 10.095-5.787.222L7 12.11v2.737l-1.963.075a1.078 1.078 0 0 0 0 2.156L7 17.153v2.61a.236.236 0 0 0 .447.106l1.324-2.648 5.621.216-.776 10.095a.435.435 0 0 0 .834.203l4.285-10.13 7.306.28a1.887 1.887 0 1 0 0-3.77l-7.306.28-4.285-10.13a.435.435 0 0 0-.4-.265Zm-2.428.621a2.435 2.435 0 0 1 4.67-1.135l3.747 8.858 5.925-.228a3.887 3.887 0 1 1 0 7.768l-5.925-.228-3.748 8.858a2.435 2.435 0 0 1-4.67-1.135l.618-8.023-2.256-.087-.747 1.495a2.236 2.236 0 0 1-4.236-1v-.686l-.04-.002a3.078 3.078 0 0 1 0-6.152l.04-.002v-.964a1.958 1.958 0 0 1 3.636-1.008l1.075 1.791 2.528-.097-.617-8.023Z\"]];","export default [[\"<path d='M5.824 1.12A.498.498 0 0 0 5.5 1h-.004A.5.5 0 0 0 5 1.5V8H1.5a.5.5 0 0 0-.477.65l.407 1.298A1.5 1.5 0 0 0 2.86 11h5.151a1.5 1.5 0 0 0 1.389-.933l.562-1.377A.5.5 0 0 0 9.5 8H6V7h3a.5.5 0 0 0 .41-.787L5.914 1.22a.502.502 0 0 0-.09-.1Z'></path><path d='M3.615 4.013a.5.5 0 0 0-.562.263l-1 2A.5.5 0 0 0 2.5 7h1a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.385-.487Z'></path>\",\"<path d='M8 9h4.5a.5.5 0 0 0 .407-.79L7.912 1.215A.503.503 0 0 0 7.5 1a.5.5 0 0 0-.5.5V10H2.18a1 1 0 0 0-.954 1.299l.22.702c.402-.014.807.132 1.113.438.16.161.296.321.386.428l.026.03.013.015.015.017a.203.203 0 0 1 .017-.013 1.731 1.731 0 0 0 .24-.258l.005-.006-.001.002-.001.002-.001.002-.001.001-.002.004A1.503 1.503 0 0 1 4.5 12c.496 0 .961.246 1.237.656l-.002-.004.001.002.004.004.007.01.035.044a1.731 1.731 0 0 0 .2.207l.016.011a.16.16 0 0 1 .019-.014l.025-.02a1.731 1.731 0 0 0 .219-.244l-.001.002-.001.002-.002.004-.002.003A1.503 1.503 0 0 1 7.5 12c.496 0 .961.246 1.237.656l-.002-.004.001.002.004.004.007.01.035.044a1.731 1.731 0 0 0 .2.207.26.26 0 0 1 .016.011.16.16 0 0 1 .019-.014l.025-.02a1.731 1.731 0 0 0 .214-.238l.005-.006-.001.002-.001.002-.002.004-.002.003A1.503 1.503 0 0 1 10.5 12c.496 0 .961.246 1.237.656l-.002-.004.005.006.007.01.035.044a1.733 1.733 0 0 0 .2.207l.016.011a.158.158 0 0 1 .019-.014l.025-.02a1.72 1.72 0 0 0 .219-.244l-.002.004-.002.004-.002.003a1.498 1.498 0 0 1 1.172-.661l.254-.624A1 1 0 0 0 12.756 10H8V9Z'></path><path d='M5.628 4.517a.5.5 0 0 0-.562.235l-2 3.5A.5.5 0 0 0 3.5 9h2a.5.5 0 0 0 .5-.5V5a.5.5 0 0 0-.372-.483Zm7.457 8.704a.5.5 0 0 1 .694-.136l-.008.002a.5.5 0 0 1 .136.694v.002l-.002.002-.002.002a.062.062 0 0 0-.009.012l-.029.04a3.75 3.75 0 0 1-.473.53c-.298.275-.793.632-1.399.632s-1.1-.357-1.399-.632a1.613 1.613 0 0 1-.1-.101l-.034.034a1.599 1.599 0 0 1-.068.067c-.298.275-.793.632-1.399.632s-1.1-.357-1.399-.632a1.652 1.652 0 0 1-.1-.101l-.034.034a1.45 1.45 0 0 1-.068.067c-.298.275-.793.632-1.399.632s-1.1-.357-1.399-.632a1.652 1.652 0 0 1-.1-.101l-.034.034a1.45 1.45 0 0 1-.068.067c-.298.275-.792.632-1.399.632-.54 0-.909-.173-1.207-.44a3.616 3.616 0 0 1-.375-.404c-.091-.107-.174-.205-.272-.302a.5.5 0 0 1 .707-.707c.13.129.24.258.33.365.01.01.018.021.027.032.102.119.175.203.251.271.12.108.252.185.54.185.221 0 .476-.143.721-.368a2.801 2.801 0 0 0 .33-.366l.014-.019a.251.251 0 0 0 .017-.023l.003-.004a.5.5 0 0 1 .843.017l.007.01a2.712 2.712 0 0 0 .344.385c.245.225.5.368.722.368.222 0 .477-.143.722-.368a2.801 2.801 0 0 0 .33-.366l.014-.019a.251.251 0 0 0 .017-.023l.003-.004a.5.5 0 0 1 .843.017l.007.01a2.712 2.712 0 0 0 .344.385c.245.225.5.368.722.368.222 0 .477-.143.722-.368a2.801 2.801 0 0 0 .361-.408l.003-.004a.5.5 0 0 1 .843.017l.007.01a2.712 2.712 0 0 0 .344.385c.245.225.5.368.722.368.222 0 .477-.143.722-.368a2.801 2.801 0 0 0 .361-.408l.003-.004Z'></path>\",\"<path d='M12.65 1.24A.996.996 0 0 0 12 1h-.008A1 1 0 0 0 11 2v12.976c-2.778-.109-6.312-.588-7.96-.83-1.165-.172-2.064 1.002-1.602 2.081l1.24 2.892c.268.096.52.252.736.468l.13.132c.1.1.234.237.288.272h.002c.012.002.063.01.166.01.103-.015.376-.194.529-.355a2.073 2.073 0 0 1 1.49-.632 2.013 2.013 0 0 1 1.472.653c.134.14.407.319.522.335.09-.016.363-.195.517-.355a2.045 2.045 0 0 1 1.49-.633 2.013 2.013 0 0 1 1.47.653c.135.14.408.319.523.335.09-.016.363-.195.517-.355a2.07 2.07 0 0 1 1.49-.633 2.013 2.013 0 0 1 1.47.653c.135.14.408.319.523.335a.64.64 0 0 0 .17-.016 4.57 4.57 0 0 0 .272-.267l.13-.132a2.08 2.08 0 0 1 1.47-.586c.55.015 1.068.255 1.436.665.134.14.407.319.522.335.119 0 .17-.016.17-.016a4.57 4.57 0 0 0 .272-.267l.13-.132c.216-.216.469-.372.738-.468l1.235-2.883c.465-1.084-.444-2.26-1.61-2.082-1.634.249-5.115.733-7.948.83V13h6a1 1 0 0 0 .82-1.573L12.828 1.44a1.006 1.006 0 0 0-.179-.2Z'></path><path d='M9.247 5.531a1 1 0 0 0-1.125.49l-3 5.5A1 1 0 0 0 6 13.001h3a1 1 0 0 0 1-1V6.5a1 1 0 0 0-.753-.97Zm8.79 16.806c.488.333 1.171.663 1.963.663 1.436 0 2.106-.68 2.595-1.178l.112-.114a.999.999 0 1 0-1.414-1.414l-.125.126c-.403.411-.57.581-1.168.581-.524 0-1.099-.498-1.255-.667a1 1 0 0 0-1.452-.04l-.125.125c-.403.411-.57.581-1.168.581-.524 0-1.099-.498-1.255-.667a1 1 0 0 0-.74-.33.93.93 0 0 0-.745.325c-.16.174-.736.672-1.26.672s-1.099-.498-1.255-.667a1 1 0 0 0-1.485-.005C9.1 20.502 8.524 21 8 21s-1.099-.498-1.255-.667a1 1 0 0 0-.74-.33.969.969 0 0 0-.745.325C5.1 20.502 4.523 21 4 21c-.596 0-.764-.17-1.168-.58l-.125-.127a1 1 0 1 0-1.414 1.414l.112.114.003.003C1.898 22.32 2.568 23 4 23c.812 0 1.51-.347 2-.688.49.341 1.188.688 2 .688s1.51-.347 2-.688c.49.341 1.188.688 2 .688s1.51-.347 2-.688c.49.341 1.188.688 2 .688.967 0 1.586-.309 2.037-.663Z'></path>\",\"<path d='M15.695 2.048a1 1 0 0 1 1.119.37l10 14A1 1 0 0 1 26 18h-9v2.992c4.102-.077 9.45-.647 11.526-.884 1.151-.132 2.002 1.031 1.55 2.086l-.88 2.055a3 3 0 0 0-3.296.64 8.262 8.262 0 0 0-.522.594l-.047.057c-.09.108-.203.243-.303.349a3.272 3.272 0 0 1-.517-.552 3 3 0 0 0-4.98 0 3.425 3.425 0 0 1-.51.546 3.227 3.227 0 0 1-.51-.546 3 3 0 0 0-4.98 0 3.425 3.425 0 0 1-.51.546 3.227 3.227 0 0 1-.51-.546 3 3 0 0 0-4.978-.002 3.39 3.39 0 0 1-.517.552c-.106-.112-.222-.253-.314-.364l-.036-.043a8.22 8.22 0 0 0-.522-.593 3.029 3.029 0 0 0-2.905-.79l-.815-1.902c-.451-1.054.397-2.22 1.552-2.086 2.014.233 7.1.781 11.024.877V3a1 1 0 0 1 .695-.952Z'></path><path d='M12.242 8.53a1 1 0 0 0-1.124.5l-4 7.5A1 1 0 0 0 8 18h4a1 1 0 0 0 1-1V9.5a1 1 0 0 0-.758-.97Zm9.78 20.026c.684.68 1.737 1.452 3 1.452 1.817 0 2.879-1.296 3.449-1.992l.061-.074a3.59 3.59 0 0 1 .197-.227.999.999 0 1 0-1.414-1.414 6.04 6.04 0 0 0-.39.447c-.565.69-1.098 1.26-1.903 1.26-.906 0-1.897-1.156-2.17-1.558-.371-.553-1.29-.553-1.66 0-.221.33-1.236 1.558-2.17 1.558-.906 0-1.897-1.156-2.17-1.558-.371-.553-1.29-.553-1.66 0-.221.33-1.236 1.558-2.17 1.558-.906 0-1.897-1.156-2.17-1.558-.371-.553-1.29-.553-1.66 0-.221.33-1.236 1.558-2.17 1.558-.804 0-1.338-.57-1.903-1.26a6.55 6.55 0 0 0-.39-.447.999.999 0 1 0-1.414 1.414c.059.06.123.138.196.227l.062.074c.57.696 1.633 1.992 3.449 1.992 1.264 0 2.317-.772 3-1.452.684.68 1.736 1.452 3 1.452s2.317-.772 3-1.452c.684.68 1.736 1.452 3 1.452s2.317-.772 3-1.452Z'></path>\"],[\"M5.206 1.095a.497.497 0 0 1 .708.124L9.41 6.213A.5.5 0 0 1 9 7H6v1h3.5a.5.5 0 0 1 .463.69l-.562 1.377A1.5 1.5 0 0 1 8.012 11H2.861A1.5 1.5 0 0 1 1.43 9.948L1.023 8.65A.5.5 0 0 1 1.5 8H5V7H2.5a.5.5 0 0 1-.4-.8L5 2.333V1.5a.5.5 0 0 1 .206-.405ZM5 4 3.5 6H5V4Zm1 2h2.04L6 3.086V6ZM2.384 9.65a.5.5 0 0 0 .477.35h5.151a.5.5 0 0 0 .463-.311L8.756 9H2.181l.203.648Z\",\"M7 1.5a.5.5 0 0 1 .91-.285l4.997 6.994A.5.5 0 0 1 12.5 9H8v1h4.756a1 1 0 0 1 .925 1.379l-.254.623a1.497 1.497 0 0 0-1.172.661v-.002h.002l.002-.005.002-.004-.001.002-.004.004a1.72 1.72 0 0 1-.214.238l-.025.02a.158.158 0 0 0-.02.014.252.252 0 0 0-.015-.011 1.372 1.372 0 0 1-.05-.042.498.498 0 0 0 .134-.189l.69-1.687H2.18l.486 1.549a4.601 4.601 0 0 0-.107-.11A1.493 1.493 0 0 0 1.446 12l-.22-.701A1 1 0 0 1 2.18 10H7V9H3.5a.5.5 0 0 1-.416-.777L7 2.349V1.5Zm0 2.651L4.434 8H7V4.151ZM8 8h3.528L8 3.06V8Zm5.085 5.221a.5.5 0 0 1 .694-.136l-.008.002a.5.5 0 0 1 .136.694v.002l-.002.002-.002.002a.062.062 0 0 0-.009.012l-.029.04a3.75 3.75 0 0 1-.473.53c-.298.275-.793.632-1.399.632s-1.1-.357-1.399-.632a1.613 1.613 0 0 1-.1-.101l-.034.034a1.599 1.599 0 0 1-.068.067c-.298.275-.793.632-1.399.632s-1.1-.357-1.399-.632a1.652 1.652 0 0 1-.1-.101l-.034.034a1.45 1.45 0 0 1-.068.067c-.298.275-.793.632-1.399.632s-1.1-.357-1.399-.632a1.652 1.652 0 0 1-.1-.101l-.034.034a1.45 1.45 0 0 1-.068.067c-.298.275-.792.632-1.399.632-.54 0-.909-.173-1.207-.44a3.616 3.616 0 0 1-.375-.404c-.091-.107-.174-.205-.272-.302a.5.5 0 0 1 .707-.707c.13.129.24.258.33.365.01.01.018.021.027.032.102.119.175.203.251.271.12.108.252.185.54.185.221 0 .476-.143.721-.368a2.801 2.801 0 0 0 .33-.366l.014-.019a.251.251 0 0 0 .017-.023l.003-.004a.5.5 0 0 1 .843.017l.007.01a2.712 2.712 0 0 0 .344.385c.245.225.5.368.722.368.222 0 .477-.143.722-.368a2.801 2.801 0 0 0 .33-.366l.014-.019a.251.251 0 0 0 .017-.023l.003-.004a.5.5 0 0 1 .843.017l.007.01a2.712 2.712 0 0 0 .344.385c.245.225.5.368.722.368.222 0 .477-.143.722-.368a2.801 2.801 0 0 0 .361-.408l.003-.004a.5.5 0 0 1 .843.017l.007.01a2.712 2.712 0 0 0 .344.385c.245.225.5.368.722.368.222 0 .477-.143.722-.368a2.801 2.801 0 0 0 .361-.408l.003-.004Z\",\"<path d='M11.413 1.19a.995.995 0 0 1 1.178.004 1 1 0 0 1 .236.244l6.992 9.989a1 1 0 0 1-.82 1.573h-6v1.983c2.834-.096 6.315-.58 7.948-.829 1.167-.178 2.076.998 1.611 2.082l-1.235 2.881a1.99 1.99 0 0 0-.737.469l-.131.132c-.1.103-.24.244-.272.267 0 0-.051.016-.17.016-.115-.016-.388-.195-.522-.335a2.008 2.008 0 0 0-.425-.359l1.305-3.046c-2.099.3-5.67.747-8.374.74-2.62-.008-6.25-.455-8.373-.75l1.314 3.066c-.15.092-.288.202-.41.329-.152.16-.425.34-.528.355a1.03 1.03 0 0 1-.166-.01h-.002a3.02 3.02 0 0 1-.287-.272l-.131-.132a1.989 1.989 0 0 0-.737-.468l-1.239-2.89c-.462-1.08.437-2.253 1.602-2.082 1.648.242 5.182.721 7.96.83V13H6a1 1 0 0 1-.8-1.6L11 3.667V2c0-.333.162-.628.413-.81ZM11 7l-3 4h3V7Zm2 4h4.08L13 5.172V11Z'></path><path d='M18.037 22.337c.488.333 1.171.663 1.963.663 1.436 0 2.106-.68 2.595-1.178l.112-.114a.999.999 0 1 0-1.414-1.414l-.125.126c-.403.411-.57.581-1.168.581-.524 0-1.099-.498-1.255-.667a1 1 0 0 0-1.452-.04l-.125.125c-.403.411-.57.581-1.168.581-.524 0-1.099-.498-1.255-.667a1 1 0 0 0-.74-.33.93.93 0 0 0-.745.325c-.16.174-.736.672-1.26.672s-1.099-.498-1.255-.667a1 1 0 0 0-1.485-.005C9.1 20.502 8.524 21 8 21s-1.099-.498-1.255-.667a1 1 0 0 0-.74-.33.969.969 0 0 0-.745.325C5.1 20.502 4.523 21 4 21c-.596 0-.764-.17-1.168-.58l-.125-.127a1 1 0 1 0-1.414 1.414l.112.114.003.003C1.898 22.32 2.568 23 4 23c.812 0 1.51-.347 2-.688.49.341 1.188.688 2 .688s1.51-.347 2-.688c.49.341 1.188.688 2 .688s1.51-.347 2-.688c.49.341 1.188.688 2 .688.967 0 1.586-.309 2.037-.663Z'></path>\",\"M15 3a1 1 0 0 1 1.822-.57l9.992 13.989A1 1 0 0 1 26 18h-9v2.992c4.102-.077 9.45-.647 11.526-.884 1.151-.132 2.002 1.031 1.55 2.086l-.88 2.055a3.008 3.008 0 0 0-2.142-.08l.848-1.979c-2.697.295-8.05.821-11.905.81-3.681-.01-8.781-.518-11.398-.808l.958 2.236a3.037 3.037 0 0 0-2.318-.33l-.815-1.903c-.451-1.054.397-2.22 1.552-2.086 2.014.233 7.1.781 11.024.877V18H8a1 1 0 0 1-.809-1.588l7.81-10.737V3Zm0 6.075L9.964 16H15V9.075ZM17 16h7.057L17 6.12V16Zm5.022 12.556c.684.68 1.737 1.452 3 1.452 1.817 0 2.879-1.296 3.449-1.992l.061-.074a3.59 3.59 0 0 1 .197-.227.999.999 0 1 0-1.414-1.414 6.04 6.04 0 0 0-.39.447c-.565.69-1.098 1.26-1.903 1.26-.906 0-1.897-1.156-2.17-1.558-.371-.553-1.29-.553-1.66 0-.221.33-1.236 1.558-2.17 1.558-.906 0-1.897-1.156-2.17-1.558-.371-.553-1.29-.553-1.66 0-.221.33-1.236 1.558-2.17 1.558-.906 0-1.897-1.156-2.17-1.558-.371-.553-1.29-.553-1.66 0-.221.33-1.236 1.558-2.17 1.558-.804 0-1.338-.57-1.903-1.26a6.55 6.55 0 0 0-.39-.447.999.999 0 1 0-1.414 1.414c.059.06.123.138.196.227l.062.074c.57.696 1.633 1.992 3.449 1.992 1.264 0 2.317-.772 3-1.452.684.68 1.736 1.452 3 1.452s2.317-.772 3-1.452c.684.68 1.736 1.452 3 1.452s2.317-.772 3-1.452Z\"]];","export default [[\"M7 8.123V7h1v1.5a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 0-1H9V1.5a.5.5 0 0 0-1 0V6H7V4.803a1.5 1.5 0 0 0-.252-.832L5.213 1.668A1.5 1.5 0 0 0 3.965 1H3.5A1.5 1.5 0 0 0 2 2.5v1.793l-.56.56A1.5 1.5 0 0 0 1 5.915v2.171A1.5 1.5 0 1 0 2.915 10h2.074A1.5 1.5 0 1 0 7 8.123ZM3.5 2h.465a.5.5 0 0 1 .416.223l1.535 2.302A.5.5 0 0 1 6 4.803V6H4.25L3 4.333V2.5a.5.5 0 0 1 .5-.5Zm-2 7a.5.5 0 1 1 0 1 .5.5 0 0 1 0-1Zm4.403.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Z\",\"M9 11.085V10h1v.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 0-1H11V2.5a.5.5 0 0 0-1 0V7H9v-.5a1.5 1.5 0 0 0-.176-.706l-1.6-3A1.5 1.5 0 0 0 5.9 2H4.5A1.5 1.5 0 0 0 3 3.5v2.117l-.802 1.404A1.5 1.5 0 0 0 2 7.766v3.32A1.5 1.5 0 1 0 3.915 13h3.17A1.5 1.5 0 1 0 9 11.085ZM4.5 3h1.4a.5.5 0 0 1 .441.265l1.6 3A.5.5 0 0 1 8 6.5V8H5.755L4 5.587V3.5a.5.5 0 0 1 .5-.5ZM3 9V8h.5a.5.5 0 0 1 0 1H3Zm0 2v-1h.5a.5.5 0 0 1 0 1H3Zm7-2H9V8h1v1Zm-7.5 3a.5.5 0 1 1 0 1 .5.5 0 0 1 0-1Zm5.5.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Z\",\"M4 4a2 2 0 0 1 2-2h2.681a3 3 0 0 1 2.758 1.818l2.318 5.41c.106.248.178.507.215.772H16V3a1 1 0 1 1 2 0v12.948l4.013.052a1 1 0 1 1-.026 2l-5-.065a1 1 0 0 1-.987-1V15h-2v1.764A3 3 0 1 1 9.17 20H6.83A3.001 3.001 0 1 1 2 16.764V11a3 3 0 0 1 1.2-2.4L4 8V4Zm1 12a1 1 0 1 0 0-2H4v2h1Zm7-5.59a1 1 0 0 0-.08-.393L9.6 4.607A1 1 0 0 0 8.681 4H6v3.667L8.5 11H12v-.59ZM14 12v1h2v-1h-2Zm-9 1a1 1 0 1 0 0-2H4v2h1Zm-1 5a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm7 1a1 1 0 1 0 2 0 1 1 0 0 0-2 0Z\",\"M18 23.05V21h2v2a1 1 0 0 0 1 1h8a1 1 0 1 0 0-2h-7V6a1 1 0 1 0-2 0v8h-2a3 3 0 0 0-.353-1.412l-3.2-6A3 3 0 0 0 11.8 5H9a3 3 0 0 0-3 3v3.965l-1.664 1.11A3 3 0 0 0 3 15.57v7.48A3.5 3.5 0 1 0 8.965 26h3.07A3.501 3.501 0 1 0 18 23.05ZM8 8a1 1 0 0 1 1-1h2.8a1 1 0 0 1 .882.53l3.2 6A1 1 0 0 1 16 14v2h-4.55L8 12.12V8Zm-3 8h1a1 1 0 1 1 0 2H5v-2Zm0 3h1a1 1 0 1 1 0 2H5v-2Zm13 0v-3h2v3h-2ZM5.5 24a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3Zm8.5 1.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Z\"],[\"M4.989 10H2.915A1.5 1.5 0 1 1 1 8.085v-2.17c0-.399.158-.78.44-1.061L2 4.293V2.5A1.5 1.5 0 0 1 3.5 1h.465c.501 0 .97.25 1.248.668l1.535 2.303A1.5 1.5 0 0 1 7 4.803V6h1V1.5a.5.5 0 0 1 1 0V8h2.5a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5V7H7v1.123A1.5 1.5 0 1 1 4.989 10ZM3 2.5v1.833L4.25 6H6V4.803a.5.5 0 0 0-.084-.278L4.381 2.223A.5.5 0 0 0 3.965 2H3.5a.5.5 0 0 0-.5.5ZM4 7a.5.5 0 0 1-.4-.2L2.446 5.261l-.3.3A.5.5 0 0 0 2 5.914v2.171c.426.151.764.489.915.915h2.074c.162-.458.54-.814 1.011-.945V7H4ZM1.5 9a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm4.403.5a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0Z\",\"M10.5 2a.5.5 0 0 1 .5.5V10h3.5a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5V10H9v1.085A1.5 1.5 0 1 1 7.085 13h-3.17A1.5 1.5 0 1 1 2 11.085v-3.32a1.5 1.5 0 0 1 .198-.744L3 5.617V3.5A1.5 1.5 0 0 1 4.5 2h1.4a1.5 1.5 0 0 1 1.324.794l1.6 3A1.5 1.5 0 0 1 9 6.5V7h1V2.5a.5.5 0 0 1 .5-.5ZM7.085 12c.151-.426.489-.764.915-.915V9H5.5a.5.5 0 0 1-.404-.206L3.55 6.67l-.484.849A.5.5 0 0 0 3 7.766V8h.5a.5.5 0 0 1 0 1H3v1h.5a.5.5 0 0 1 0 1H3v.085c.426.151.764.489.915.915h3.17ZM10 9V8H9v1h1ZM4 5.587 5.755 8H8V6.5a.5.5 0 0 0-.059-.235l-1.6-3A.5.5 0 0 0 5.9 3H4.5a.5.5 0 0 0-.5.5v2.087ZM2.5 12a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm5.5.5a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0Z\",\"M4 4a2 2 0 0 1 2-2h2.681a3 3 0 0 1 2.758 1.818l2.318 5.41c.106.248.178.507.215.772H16V3a1 1 0 1 1 2 0v12.948l4.013.052a1 1 0 1 1-.026 2l-5-.065a1 1 0 0 1-.987-1V15h-2v1.764A3 3 0 1 1 9.17 20H6.83A3.001 3.001 0 1 1 2 16.764V11a3 3 0 0 1 1.2-2.4L4 8V4Zm5.17 14A3.001 3.001 0 0 1 12 16v-3H8a1 1 0 0 1-.8-.4L5.04 9.72l-.64.48a1 1 0 0 0-.4.8h1a1 1 0 1 1 0 2H4v1h1a1 1 0 1 1 0 2H4c1.306 0 2.417.835 2.83 2h2.34ZM16 12h-2v1h2v-1Zm-4-1v-.59a1 1 0 0 0-.08-.393L9.6 4.607A1 1 0 0 0 8.681 4H6v3.667L8.5 11H12Zm-8 7a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm7 1a1 1 0 1 0 2 0 1 1 0 0 0-2 0Z\",\"M18 23.05V21h2v2a1 1 0 0 0 1 1h8a1 1 0 1 0 0-2h-7V6a1 1 0 1 0-2 0v8h-2a3 3 0 0 0-.353-1.412l-3.2-6A3 3 0 0 0 11.8 5H9a3 3 0 0 0-3 3v3.965l-1.664 1.11A3 3 0 0 0 3 15.57v7.48A3.5 3.5 0 1 0 8.965 26h3.07A3.501 3.501 0 1 0 18 23.05ZM9 7h2.8a1 1 0 0 1 .882.53l3.2 6A1 1 0 0 1 16 14v2h-4.55L8 12.12V8a1 1 0 0 1 1-1Zm7 11v4.035A3.5 3.5 0 0 0 12.337 24H8.663A3.5 3.5 0 0 0 5 22.035V21h1a1 1 0 1 0 0-2H5v-1h1a1 1 0 1 0 0-2H5v-.43a1 1 0 0 1 .445-.832l1.386-.923 3.422 3.85A1 1 0 0 0 11 18h5Zm4-2v3h-2v-3h2ZM5.5 24a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3Zm8.5 1.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Z\"]];","export default [[\"M1 2.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1H6v2h2V4h1v1h.5A1.5 1.5 0 0 1 11 6.5v2a1.5 1.5 0 0 1-1.064 1.436 1.5 1.5 0 0 1-2.85.064H5.914a1.5 1.5 0 0 1-2.83 0H2.5a.5.5 0 0 1-.5-.5V9h-.5a.5.5 0 0 1 0-1H2V3h-.5a.5.5 0 0 1-.5-.5ZM3 3v2h2V3H3Zm1.5 6a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm3.5.5a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0Z\",\"M1 2.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1H8v4h2.5V6h-1a.5.5 0 0 1 0-1h4a.5.5 0 0 1 0 1h-1v1h.277c.645 0 1.22.412 1.425 1.026l1.334 4A1.5 1.5 0 0 1 14.113 14h-.38a2 2 0 0 1-3.465 0H6.732a2 2 0 0 1-3.464 0H2.5a.5.5 0 0 1-.5-.5V12h-.5a.5.5 0 0 1 0-1H2V3h-.5a.5.5 0 0 1-.5-.5ZM3 3v4h4V3H3Zm2 9a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm6 1a1 1 0 1 0 2 0 1 1 0 0 0-2 0Z\",\"M1 4a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2h-1v6h3v-1h-1a1 1 0 1 1 0-2h5a1 1 0 1 1 0 2h-1v1h.436c1.375 0 2.579.935 2.913 2.272l1 4a3 3 0 0 1-2.682 3.72 3.5 3.5 0 0 1-6.33.008h-3.674a3.5 3.5 0 0 1-6.326 0H4a1 1 0 0 1-1-1v-2H2a1 1 0 1 1 0-2h1V5H2a1 1 0 0 1-1-1Zm4 1v6h6V5H5Zm2.5 13a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm8.5 1.5a1.5 1.5 0 1 0 3 0 1.5 1.5 0 0 0-3 0Z\",\"M2 4a1 1 0 0 1 1-1h15a1 1 0 1 1 0 2h-1v9h4v-2h-1a1 1 0 1 1 0-2h6a1 1 0 1 1 0 2h-1v2a3.003 3.003 0 0 1 2.867 2.21l1.909 7A3 3 0 0 1 26.88 27h-1.416A3.998 3.998 0 0 1 22 29a3.998 3.998 0 0 1-3.465-2h-5.07A3.998 3.998 0 0 1 10 29a3.998 3.998 0 0 1-3.465-2H5a1 1 0 0 1-1-1v-3H3a1 1 0 1 1 0-2h1V5H3a1 1 0 0 1-1-1Zm4 1v9h9V5H6Zm4 18a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm10 2a2 2 0 1 0 4 0 2 2 0 0 0-4 0Z\"],[\"M1 2.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1H6v2h2V4h1v1h.5A1.5 1.5 0 0 1 11 6.5v2a1.5 1.5 0 0 1-1.064 1.436 1.5 1.5 0 0 1-2.85.064H5.914a1.5 1.5 0 0 1-2.83 0H2.5a.5.5 0 0 1-.5-.5V9h-.5a.5.5 0 0 1 0-1H2V3h-.5a.5.5 0 0 1-.5-.5ZM7.085 9a1.5 1.5 0 0 1 2.769-.147A.498.498 0 0 0 10 8.5v-2a.5.5 0 0 0-.5-.5H3v3h.085a1.5 1.5 0 0 1 2.83 0h1.17ZM3 3v2h2V3H3Zm1.5 6a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm3.5.5a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0Z\",\"M1 2.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1H8v4h2V6h-.5a.5.5 0 0 1 0-1h4a.5.5 0 0 1 0 1H13v1.017a1.502 1.502 0 0 1 1.202 1.009l1.334 4A1.5 1.5 0 0 1 14.113 14h-.38a2 2 0 0 1-3.465 0H6.732a2 2 0 0 1-3.464 0H2.5a.5.5 0 0 1-.5-.5V12h-.5a.5.5 0 0 1 0-1H2V3h-.5a.5.5 0 0 1-.5-.5ZM10 13a2 2 0 1 1 4 0h.113a.5.5 0 0 0 .474-.658l-1.333-4A.502.502 0 0 0 12.778 8H3v5a2 2 0 1 1 4 0h3Zm2-7h-1v1h1V6ZM3 3v4h4V3H3Zm2 9a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm6 1a1 1 0 1 0 2 0 1 1 0 0 0-2 0Z\",\"M1 4a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2h-1v6h2v-1a1 1 0 1 1 0-2h5a1 1 0 1 1 0 2v1.053a3.003 3.003 0 0 1 2.349 2.22l1 4a3 3 0 0 1-2.682 3.718 3.5 3.5 0 0 1-6.33.009h-3.674a3.5 3.5 0 0 1-6.326 0H4a1 1 0 0 1-1-1v-2H2a1 1 0 1 1 0-2h1V5H2a1 1 0 0 1-1-1Zm13.035 15a3.501 3.501 0 0 1 6.907-.136 1 1 0 0 0 .467-1.107l-1-4a1.003 1.003 0 0 0-.973-.757H5v4.05A3.5 3.5 0 0 1 10.965 19h3.07ZM18 10h-1v1h1v-1ZM5 5v6h6V5H5Zm2.5 13a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm8.5 1.5a1.5 1.5 0 1 0 3 0 1.5 1.5 0 0 0-3 0Z\",\"M2 4a1 1 0 0 1 1-1h15a1 1 0 1 1 0 2h-1v9h3v-2a1 1 0 1 1 0-2h6a1 1 0 1 1 0 2v2.182a3.001 3.001 0 0 1 1.867 2.029l1.909 7A3 3 0 0 1 26.88 27h-1.416A3.998 3.998 0 0 1 22 29a3.998 3.998 0 0 1-3.465-2h-5.07A3.998 3.998 0 0 1 10 29a3.998 3.998 0 0 1-3.465-2H5a1 1 0 0 1-1-1v-3H3a1 1 0 1 1 0-2h1V5H3a1 1 0 0 1-1-1Zm16 21a4 4 0 0 1 8 0h.881a1 1 0 0 0 .965-1.263l-1.909-7A1.003 1.003 0 0 0 24.97 16H6v9a4 4 0 0 1 8 0h4Zm6-13h-2v2h2v-2ZM6 5v9h9V5H6Zm4 18a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm10 2a2 2 0 1 0 4 0 2 2 0 0 0-4 0Z\"]];","export default [[\"M1 3.5A1.5 1.5 0 0 1 2.5 2h4a1.5 1.5 0 0 1 1.415 1h.908a1.5 1.5 0 0 1 1.393.943l.677 1.693a1.5 1.5 0 0 1 .107.557V8.5A1.5 1.5 0 0 1 9.5 10h-.585a1.5 1.5 0 0 1-2.83 0h-1.17a1.5 1.5 0 0 1-2.85-.064A1.5 1.5 0 0 1 1 8.5v-5Zm8.287.814A.5.5 0 0 0 8.823 4H8v2h1.961l-.674-1.686ZM3.5 9a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm3.5.5a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0Z\",\"M1 3.5A1.5 1.5 0 0 1 2.5 2h7A1.5 1.5 0 0 1 11 3.5V4h.882a1.5 1.5 0 0 1 1.342.83l1.618 3.235a1.5 1.5 0 0 1 .158.671V11.5a1.5 1.5 0 0 1-1.5 1.5H12a2 2 0 1 1-4 0H6a2 2 0 1 1-3.998-.085A1.5 1.5 0 0 1 1 11.5v-8ZM11 8h2.691l-1.362-2.724A.5.5 0 0 0 11.882 5H11v3Zm2.5 2a.5.5 0 0 0 0 1h.5v-1h-.5ZM4 12a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm5 1a1 1 0 1 0 2 0 1 1 0 0 0-2 0Z\",\"M1 6a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3h1.167a3 3 0 0 1 2.769 1.846l1.833 4.4c.033.078.062.158.088.238a.995.995 0 0 1 .132.663c.007.084.011.168.011.253V17a3 3 0 0 1-3 3h-1.035a3.501 3.501 0 0 1-6.93 0h-2.07a3.5 3.5 0 0 1-6.95-.165A3.001 3.001 0 0 1 1 17V6Zm19.5 6-1.41-3.385A1 1 0 0 0 18.167 8H17v4h3.5ZM19 16a1 1 0 0 0 1 1h1v-2h-1a1 1 0 0 0-1 1ZM6.5 18a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm7.5 1.5a1.5 1.5 0 1 0 3 0 1.5 1.5 0 0 0-3 0Z\",\"M2 7a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v1h2.264a3 3 0 0 1 2.683 1.658l2.736 5.473a3 3 0 0 1 .317 1.34V23a3 3 0 0 1-3 3h-3.126a4.002 4.002 0 0 1-7.748 0h-3.252a4.002 4.002 0 0 1-7.748 0H5a3 3 0 0 1-3-3V7Zm26 13h-2a1 1 0 1 0 0 2h2v-2Zm-.618-5-2.224-4.447a1 1 0 0 0-.894-.553H22v5h5.382ZM9 23a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm9 2a2 2 0 1 0 4 0 2 2 0 0 0-4 0Z\"],[\"M2.5 2A1.5 1.5 0 0 0 1 3.5v5a1.5 1.5 0 0 0 1.064 1.436 1.5 1.5 0 0 0 2.85.064h1.171a1.5 1.5 0 0 0 2.83 0H9.5A1.5 1.5 0 0 0 11 8.5V6.193a1.5 1.5 0 0 0-.107-.557l-.677-1.693A1.5 1.5 0 0 0 8.823 3h-.908A1.5 1.5 0 0 0 6.5 2h-4Zm6.415 7A1.504 1.504 0 0 0 8 8.085V7h2v1.5a.5.5 0 0 1-.5.5h-.585ZM7 8.085A1.508 1.508 0 0 0 6.085 9h-1.17a1.5 1.5 0 0 0-2.769-.147A.498.498 0 0 1 2 8.5v-5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4.585ZM8 6V4h.823a.5.5 0 0 1 .464.314L9.961 6H8ZM3.5 9a.5.5 0 1 1 0 1 .5.5 0 0 1 0-1Zm3.5.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Z\",\"M1 3.5A1.5 1.5 0 0 1 2.5 2h7A1.5 1.5 0 0 1 11 3.5V4h.882a1.5 1.5 0 0 1 1.342.83l1.618 3.235c.022.045.042.09.06.137a.498.498 0 0 1 .09.385c.005.05.008.099.008.15V11.5a1.5 1.5 0 0 1-1.5 1.5H12a2 2 0 1 1-4 0H6a2 2 0 1 1-3.998-.085A1.5 1.5 0 0 1 1 11.5v-8ZM8.268 12A2 2 0 0 1 10 11V3.5a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .294.456A1.999 1.999 0 0 1 5.732 12h2.536ZM11 11.268c.304.175.557.428.732.732H13.5a.5.5 0 0 0 .5-.5V11h-.5a.5.5 0 0 1 0-1h.5V9h-3v2.268ZM13.691 8l-1.362-2.724A.5.5 0 0 0 11.882 5H11v3h2.691ZM4 12a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm5 1a1 1 0 1 0 2 0 1 1 0 0 0-2 0Z\",\"M1 6a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3h1.167a3 3 0 0 1 2.769 1.846l1.833 4.4c.033.078.062.158.088.238a.995.995 0 0 1 .132.663c.007.084.011.168.011.253V17a3 3 0 0 1-3 3h-1.035a3.501 3.501 0 0 1-6.93 0h-2.07a3.5 3.5 0 0 1-6.95-.165A3.001 3.001 0 0 1 1 17V6Zm11.337 12A3.504 3.504 0 0 1 15 16.035V6a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v11c0 .34.17.64.428.82a3.5 3.5 0 0 1 6.235.18h2.674ZM17 16.337A3.515 3.515 0 0 1 18.663 18H20a1 1 0 0 0 1-1h-1a1 1 0 1 1 0-2h1v-1h-4v2.337ZM20.5 12l-1.41-3.385A1 1 0 0 0 18.167 8H17v4h3.5Zm-14 6a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm7.5 1.5a1.5 1.5 0 1 0 3 0 1.5 1.5 0 0 0-3 0Z\",\"M5 4a3 3 0 0 0-3 3v16a3 3 0 0 0 3 3h.126a4.002 4.002 0 0 0 7.748 0h3.252a4.002 4.002 0 0 0 7.748 0H27a3 3 0 0 0 3-3v-6.528c0-.1-.005-.2-.015-.299a1.007 1.007 0 0 0-.181-.768 2.997 2.997 0 0 0-.12-.274l-2.737-5.473A3 3 0 0 0 24.264 8H22V7a3 3 0 0 0-3-3H5Zm18.874 20A4.008 4.008 0 0 0 22 21.535V17h6v3h-2a1 1 0 1 0 0 2h2v1a1 1 0 0 1-1 1h-3.126ZM20 21a4.002 4.002 0 0 0-3.874 3h-3.252a4.002 4.002 0 0 0-7.748 0H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v14Zm5.158-10.447L27.382 15H22v-5h2.264a1 1 0 0 1 .894.553ZM9 23a2 2 0 1 1 0 4 2 2 0 0 1 0-4Zm9 2a2 2 0 1 1 4 0 2 2 0 0 1-4 0Z\"]];","export default [[\"M6 9.465a4 4 0 1 1 0-6.93 4 4 0 1 1 0 6.93ZM1 6a3 3 0 0 1 4.126-2.782A3.987 3.987 0 0 0 4 6c0 1.081.429 2.062 1.126 2.782A3 3 0 0 1 1 6Zm5.874-2.782a3 3 0 1 1 0 5.563A3.987 3.987 0 0 0 8 6a3.987 3.987 0 0 0-1.126-2.782ZM6 3.764c.614.55 1 1.348 1 2.236 0 .888-.386 1.687-1 2.236C5.386 7.686 5 6.888 5 6c0-.888.386-1.687 1-2.236Z\",\"M8 12.584a5 5 0 1 1 0-9.168 5 5 0 1 1 0 9.168ZM2 8a4 4 0 0 1 4.876-3.904A4.99 4.99 0 0 0 5 8a4.99 4.99 0 0 0 1.876 3.904A4 4 0 0 1 2 8Zm7.124-3.904a4 4 0 1 1 0 7.808A4.99 4.99 0 0 0 11 8a4.99 4.99 0 0 0-1.876-3.904ZM8 4.536a3.998 3.998 0 0 1 0 6.93A3.998 3.998 0 0 1 6 8c0-1.48.804-2.773 2-3.465Z\",\"M12 17.745a7 7 0 1 1 0-11.49 7 7 0 1 1 0 11.49ZM3 12a5 5 0 0 1 7.5-4.33A6.97 6.97 0 0 0 9 12c0 1.635.56 3.14 1.5 4.33A5 5 0 0 1 3 12Zm10.5-4.33a5 5 0 1 1 0 8.662A6.97 6.97 0 0 0 15 12a6.97 6.97 0 0 0-1.5-4.33ZM12 9c.628.835 1 1.874 1 3a4.978 4.978 0 0 1-1 3 4.978 4.978 0 0 1-1-3c0-1.126.372-2.165 1-3Z\",\"M3 16a7 7 0 0 1 11.666-5.218A8.959 8.959 0 0 0 13 16a8.96 8.96 0 0 0 1.666 5.218A7 7 0 0 1 3 16Zm13 6.708a9 9 0 1 1 0-13.417A9 9 0 1 1 22 25a8.967 8.967 0 0 1-6-2.29Zm1.334-11.926a7 7 0 1 1 0 10.436A8.959 8.959 0 0 0 19 16a8.959 8.959 0 0 0-1.666-5.218ZM16 12.392A6.968 6.968 0 0 1 17 16c0 1.32-.365 2.554-1 3.608A6.968 6.968 0 0 1 15 16c0-1.32.365-2.554 1-3.608Z\"],[\"M6 9.465a4 4 0 1 1 0-6.93 4 4 0 1 1 0 6.93ZM1 6a3 3 0 0 1 4.126-2.782A3.987 3.987 0 0 0 4 6c0 1.081.429 2.062 1.126 2.782A3 3 0 0 1 1 6Zm5.874-2.782a3 3 0 1 1 0 5.563A3.987 3.987 0 0 0 8 6a3.987 3.987 0 0 0-1.126-2.782ZM6 3.764c.614.55 1 1.348 1 2.236 0 .888-.386 1.687-1 2.236C5.386 7.686 5 6.888 5 6c0-.888.386-1.687 1-2.236Z\",\"M8 12.584a5 5 0 1 1 0-9.168 5 5 0 1 1 0 9.168ZM2 8a4 4 0 0 1 4.876-3.904A4.99 4.99 0 0 0 5 8a4.99 4.99 0 0 0 1.876 3.904A4 4 0 0 1 2 8Zm7.124-3.904a4 4 0 1 1 0 7.808A4.99 4.99 0 0 0 11 8a4.99 4.99 0 0 0-1.876-3.904ZM8 4.536a3.998 3.998 0 0 1 0 6.93A3.998 3.998 0 0 1 6 8c0-1.48.804-2.773 2-3.465Z\",\"M12 17.745a7 7 0 1 1 0-11.49 7 7 0 1 1 0 11.49ZM3 12a5 5 0 0 1 7.5-4.33A6.97 6.97 0 0 0 9 12c0 1.635.56 3.14 1.5 4.33A5 5 0 0 1 3 12Zm10.5-4.33a5 5 0 1 1 0 8.662A6.97 6.97 0 0 0 15 12a6.97 6.97 0 0 0-1.5-4.33ZM12 9c.628.835 1 1.874 1 3a4.978 4.978 0 0 1-1 3 4.978 4.978 0 0 1-1-3c0-1.126.372-2.165 1-3Z\",\"M16 22.708a9 9 0 1 1 0-13.417A9 9 0 1 1 22 25a8.967 8.967 0 0 1-6-2.29ZM3 16a7 7 0 0 1 11.666-5.218A8.959 8.959 0 0 0 13 16a8.96 8.96 0 0 0 1.666 5.218A7 7 0 0 1 3 16Zm14.334-5.218a7 7 0 1 1 0 10.436A8.959 8.959 0 0 0 19 16a8.959 8.959 0 0 0-1.666-5.218ZM16 12.392A6.968 6.968 0 0 1 17 16c0 1.32-.365 2.554-1 3.608A6.968 6.968 0 0 1 15 16c0-1.32.365-2.554 1-3.608Z\"]];","export default [[\"M5.986 2.527a4 4 0 1 0 0 6.945l.014.01.014-.01a4 4 0 1 0 0-6.945L6 2.517l-.014.01Zm-.86.691a3 3 0 1 0 0 5.563A3.984 3.984 0 0 1 4 6c0-1.08.429-2.06 1.126-2.78Zm2.869 2.988a3.987 3.987 0 0 0-1.12-2.988 3 3 0 1 1 0 5.563 3.988 3.988 0 0 0 1.12-2.575Z\",\"M8.007 12.587 8 12.591l-.007-.004a5 5 0 1 1 0-9.174L8 3.409l.007.004a5 5 0 1 1 0 9.174Zm-2.973-5.17a4.993 4.993 0 0 1 1.842-3.32 4 4 0 1 0 0 7.808 4.994 4.994 0 0 1-1.842-4.489Zm4.09 4.487a4 4 0 1 0 0-7.808A4.993 4.993 0 0 1 11 8v.064a4.99 4.99 0 0 1-1.876 3.84Z\",\"M11.957 17.775a7 7 0 1 1 0-11.55l.043-.04.043.04a7 7 0 1 1 0 11.55l-.043.04-.043-.04ZM8 7c.91 0 1.765.244 2.5.67A6.97 6.97 0 0 0 9 12a6.144 6.144 0 0 0 .007.305 6.967 6.967 0 0 0 1.493 4.026A5 5 0 1 1 8 7Zm6.993 5.305a6.967 6.967 0 0 1-1.493 4.026 5 5 0 1 0 0-8.662A6.97 6.97 0 0 1 15 12v.02\",\"M15.953 22.75a9 9 0 1 1 0-13.5L16 9.197l.047.053A9 9 0 1 1 22 25a8.966 8.966 0 0 1-5.953-2.25l-.047.053-.047-.053ZM10 9c1.793 0 3.428.674 4.666 1.782A8.959 8.959 0 0 0 13 16v.023a8.954 8.954 0 0 0 1.666 5.195A7 7 0 1 1 10 9Zm8.993 7.363a8.954 8.954 0 0 1-1.66 4.855 7 7 0 1 0 0-10.436A8.959 8.959 0 0 1 19 16v.023\"]];","export default [[\"m5.986 9.473.014.01.014-.01a4 4 0 1 0 0-6.945L6 2.517l-.014.01a4 4 0 1 0 0 6.945Zm2.009-3.674a3.986 3.986 0 0 0-1.12-2.58 3 3 0 1 1 0 5.563A3.987 3.987 0 0 0 8 5.987m-2 2.25a2.999 2.999 0 0 0 0-4.473 2.993 2.993 0 0 0-.993 2.435c.053.808.426 1.53.993 2.037Z\",\"M8.007 3.413a5 5 0 1 1 0 9.174L8 12.591l-.007-.004a5 5 0 1 1 0-9.174L8 3.409l.007.004ZM10 4a4 4 0 1 1-.876 7.904 4.994 4.994 0 0 0 1.837-4.534 4.994 4.994 0 0 0-1.837-3.274A4.02 4.02 0 0 1 10 4ZM6.048 8.621A4.003 4.003 0 0 0 8 11.465 3.998 3.998 0 0 0 10 8c0-1.48-.803-2.773-2-3.465a4.004 4.004 0 0 0-1.952 4.086Z\",\"M12.043 6.225a7 7 0 1 1 0 11.55l-.043.04-.043-.04a7 7 0 1 1 0-11.55l.043-.04.043.04ZM16 7a5 5 0 1 1-2.5 9.33A6.967 6.967 0 0 0 15 12a6.97 6.97 0 0 0-1.5-4.33A4.977 4.977 0 0 1 16 7Zm-4.997 5.174A4.975 4.975 0 0 0 12 15.001c.629-.836 1-1.875 1-3.001a4.976 4.976 0 0 0-1-3 4.975 4.975 0 0 0-.997 3.174Z\",\"M16.047 9.25A9 9 0 1 1 22 25a8.966 8.966 0 0 1-5.953-2.25l-.047.053-.047-.053a9 9 0 1 1 0-13.5L16 9.197l.047.053ZM22 9a7 7 0 1 1-4.666 12.218A8.954 8.954 0 0 0 19 16a8.959 8.959 0 0 0-1.666-5.218A6.974 6.974 0 0 1 22 9Zm-6.998 7.16A6.962 6.962 0 0 0 16 19.608 6.964 6.964 0 0 0 17 16c0-1.32-.365-2.554-1-3.608A6.96 6.96 0 0 0 15 16m0 0c0 .053 0 .107.002.16L15 16Z\"]];","export default [[\"M6.014 9.473 6 9.483l-.014-.01a4 4 0 1 1 0-6.945L6 2.517l.014.01a4 4 0 1 1 0 6.945ZM4.005 5.799a3.986 3.986 0 0 1 1.12-2.58 3 3 0 1 0 0 5.563A3.987 3.987 0 0 1 4 5.987m2 2.25a2.999 2.999 0 0 1 0-4.473 2.993 2.993 0 0 1 .993 2.435A2.993 2.993 0 0 1 6 8.236Z\",\"M7.993 3.413a5 5 0 1 0 0 9.174l.007.004.007-.004a5 5 0 1 0 0-9.174L8 3.409l-.007.004ZM6 4a4 4 0 1 0 .876 7.904A4.994 4.994 0 0 1 5.039 7.37a4.994 4.994 0 0 1 1.837-3.274A4.014 4.014 0 0 0 6 4Zm3.952 4.621A4.003 4.003 0 0 1 8 11.465 3.998 3.998 0 0 1 6 8c0-1.48.803-2.773 2-3.465a4.004 4.004 0 0 1 1.952 4.086Z\",\"M11.957 6.225a7 7 0 1 0 0 11.55l.043.04.043-.04a7 7 0 1 0 0-11.55L12 6.185l-.043.04ZM8 7a5 5 0 1 0 2.5 9.33A6.967 6.967 0 0 1 9 12c0-1.635.56-3.14 1.5-4.33A4.977 4.977 0 0 0 8 7Zm4.997 5.174A4.975 4.975 0 0 1 12 15.001 4.975 4.975 0 0 1 11 12a4.97 4.97 0 0 1 1-3 4.975 4.975 0 0 1 .997 3.174Z\",\"M15.953 9.25a9 9 0 1 0 0 13.5l.047.053.047-.053A9 9 0 1 0 22 7c-2.283 0-4.367.85-5.953 2.25L16 9.197l-.047.053ZM10 9a7 7 0 1 0 4.666 12.218A8.954 8.954 0 0 1 13 16a8.96 8.96 0 0 1 1.666-5.218A6.974 6.974 0 0 0 10 9Zm6.998 7.16A6.964 6.964 0 0 1 16 19.608 6.964 6.964 0 0 1 15 16c0-1.32.365-2.554 1-3.608A6.96 6.96 0 0 1 17 16m0 0c0 .053 0 .107-.002.16L17 16Z\"]];","export default [[\"<path d='M5.986 2.527a4 4 0 1 0 0 6.945l-.272-.19A3.996 3.996 0 0 1 4 6c0-1.36.679-2.56 1.714-3.283l.272-.19Zm.028 6.946a4 4 0 1 0 0-6.945l.272.19A3.996 3.996 0 0 1 8 6c0 1.36-.679 2.56-1.714 3.283l-.272.19Z'></path><path d='M7 6c0-.888-.386-1.686-1-2.236-.614.55-1 1.348-1 2.236 0 .888.386 1.686 1 2.236.614-.55 1-1.348 1-2.236Z'></path>\",\"<path d='M7.993 3.413a5 5 0 1 0 0 9.174l-.216-.107a5 5 0 0 1 0-8.96l.216-.107Zm.014 9.174a5 5 0 1 0 0-9.174l.216.107a5 5 0 0 1 0 8.96l-.216.107Z'></path><path d='M10 8c0-1.48-.804-2.773-2-3.465A3.998 3.998 0 0 0 6 8c0 1.48.804 2.773 2 3.465A3.998 3.998 0 0 0 10 8Z'></path>\",\"<path d='M11.957 6.225a7 7 0 1 0 0 11.55l-.624-.558A6.985 6.985 0 0 1 9 12c0-2.073.903-3.937 2.333-5.217l.624-.558Zm.086 11.55a7 7 0 1 0 0-11.55l.624.558A6.985 6.985 0 0 1 15 12a6.985 6.985 0 0 1-2.333 5.217l-.623.558Z'></path><path d='M13 12a4.975 4.975 0 0 0-1-3c-.629.836-1 1.874-1 3s.371 2.165 1 3c.629-.835 1-1.874 1-3Z'></path>\",\"<path d='M15.953 9.25a9 9 0 1 0 0 13.5l-.703-.797A8.97 8.97 0 0 1 13 16a8.97 8.97 0 0 1 2.25-5.953l.703-.797Zm.094 13.5A9 9 0 1 0 22 7c-2.283 0-4.367.85-5.953 2.25l.703.797A8.97 8.97 0 0 1 19 16a8.97 8.97 0 0 1-2.25 5.953l-.703.797Z'></path><path d='M17 16c0-1.32-.365-2.554-1-3.608A6.964 6.964 0 0 0 15 16c0 1.32.365 2.555 1 3.608A6.964 6.964 0 0 0 17 16Z'></path>\"]];","export default [[\"M0 2.5A1.5 1.5 0 0 1 1.5 1h9A1.5 1.5 0 0 1 12 2.5v6a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 0 8.5v-6Zm4 1.276v3.447a.5.5 0 0 0 .707.456l3.792-1.724a.5.5 0 0 0 0-.91L4.707 3.32A.5.5 0 0 0 4 3.776Z\",\"M1 4.5A1.5 1.5 0 0 1 2.5 3h11A1.5 1.5 0 0 1 15 4.5v7a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 11.5v-7Zm5 1.309v4.382a.5.5 0 0 0 .724.447l4.382-2.19a.5.5 0 0 0 0-.895L6.724 5.362A.5.5 0 0 0 6 5.809Z\",\"M1 7a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3V7Zm8 2.618v4.764a1 1 0 0 0 1.447.894l4.764-2.382a1 1 0 0 0 0-1.788l-4.764-2.382A1 1 0 0 0 9 9.618Z\",\"M2 9a3 3 0 0 1 3-3h22a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V9Zm10 3.618v6.764a1 1 0 0 0 1.447.894l6.764-3.382a1 1 0 0 0 0-1.788l-6.764-3.382a1 1 0 0 0-1.447.894Z\"],[\"<path d='M4.414 2.866A1 1 0 0 0 3 3.776v3.447a1 1 0 0 0 1.414.91L8.206 6.41c.781-.355.781-1.465 0-1.82L4.414 2.866ZM7.792 5.5 4 7.223V3.777L7.792 5.5Z'></path><path d='M1.5 1A1.5 1.5 0 0 0 0 2.5v6A1.5 1.5 0 0 0 1.5 10h9A1.5 1.5 0 0 0 12 8.5v-6A1.5 1.5 0 0 0 10.5 1h-9ZM1 2.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-6Z'></path>\",\"<path d='M6.447 4.915A1 1 0 0 0 5 5.809v4.382a1 1 0 0 0 1.447.894l4.382-2.19a1 1 0 0 0 0-1.79l-4.382-2.19ZM6 5.809 10.382 8 6 10.191V5.809Z'></path><path d='M2.5 3A1.5 1.5 0 0 0 1 4.5v7A1.5 1.5 0 0 0 2.5 13h11a1.5 1.5 0 0 0 1.5-1.5v-7A1.5 1.5 0 0 0 13.5 3h-11ZM2 4.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-7Z'></path>\",\"<path d='M10.894 7.83A2 2 0 0 0 8 9.617v4.764a2 2 0 0 0 2.894 1.789l4.764-2.382c1.475-.737 1.475-2.84 0-3.578l-4.764-2.38ZM10 9.617 14.764 12 10 14.382V9.618Z'></path><path d='M4 4a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H4ZM3 7a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7Z'></path>\",\"<path d='m13.894 21.17 6.764-3.381c1.474-.737 1.474-2.84 0-3.578l-6.764-3.382A2 2 0 0 0 11 12.618v6.764a2 2 0 0 0 2.894 1.789ZM13 19.383v-6.764L19.764 16 13 19.382Z'></path><path d='M5 6a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3V9a3 3 0 0 0-3-3H5ZM4 9a1 1 0 0 1 1-1h22a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V9Z'></path>\"]];","export default [[\"M1 4.5A1.5 1.5 0 0 1 2.5 3h4a1.5 1.5 0 0 1 1.471 1.205l.858-.429A1.5 1.5 0 0 1 11 5.118v1.764a1.5 1.5 0 0 1-2.17 1.342l-.859-.43A1.5 1.5 0 0 1 6.5 9h-4A1.5 1.5 0 0 1 1 7.5v-3Z\",\"M1 5.5A1.5 1.5 0 0 1 2.5 4h7A1.5 1.5 0 0 1 11 5.5v.445l1.909-.819A1.5 1.5 0 0 1 15 6.505v2.987a1.5 1.5 0 0 1-2.09 1.38L11 10.055v.445A1.5 1.5 0 0 1 9.5 12h-7A1.5 1.5 0 0 1 1 10.5v-5Z\",\"M5 6a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h9a3 3 0 0 0 2.963-2.53l1.44 1.076c1.483 1.11 3.597.05 3.597-1.802V9.256c0-1.853-2.114-2.911-3.598-1.802l-1.439 1.077A3 3 0 0 0 14 6H5Z\",\"M3 11a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v1.004l2.003-1.497C26.652 9.275 29 10.45 29 12.509v6.979c0 2.058-2.347 3.234-3.996 2.003L23 19.995V21a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V11Z\"],[\"M2.5 3A1.5 1.5 0 0 0 1 4.5v3A1.5 1.5 0 0 0 2.5 9h4a1.5 1.5 0 0 0 1.471-1.205l.858.429A1.5 1.5 0 0 0 11 6.882V5.118a1.5 1.5 0 0 0-2.17-1.342l-.859.43A1.5 1.5 0 0 0 6.5 3h-4ZM8 5.309v1.382l1.276.638A.5.5 0 0 0 10 6.882V5.118a.5.5 0 0 0-.724-.447L8 5.309ZM2 4.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-3Z\",\"M2.5 4A1.5 1.5 0 0 0 1 5.5v5A1.5 1.5 0 0 0 2.5 12h7a1.5 1.5 0 0 0 1.5-1.5v-.445l1.91.817A1.5 1.5 0 0 0 15 9.492V6.505a1.5 1.5 0 0 0-2.09-1.379L11 5.945V5.5A1.5 1.5 0 0 0 9.5 4h-7ZM11 7.033v1.934l2.304.985a.5.5 0 0 0 .696-.46V6.505a.5.5 0 0 0-.697-.46L11 7.033ZM2 5.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-5Z\",\"M5 6a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h9a3 3 0 0 0 2.963-2.53l1.44 1.076c1.483 1.11 3.597.05 3.597-1.802V9.256c0-1.853-2.114-2.911-3.598-1.802L16.963 8.53A3 3 0 0 0 14 6H5Zm12 5v2l2.6 1.944a.25.25 0 0 0 .4-.2V9.256a.25.25 0 0 0-.4-.2L17 11ZM4 9a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V9Z\",\"M6 8a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-1.005l2.004 1.496c1.65 1.231 3.996.055 3.996-2.003v-6.979c0-2.058-2.348-3.234-3.997-2.002L23 12.004V11a3 3 0 0 0-3-3H6Zm17 6.501v2.998l3.2 2.39a.5.5 0 0 0 .8-.401v-6.979a.5.5 0 0 0-.8-.4L23 14.5ZM5 11a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V11Z\"]];","export default [[\"<path d='M0 3.5A2.5 2.5 0 0 1 2.5 1h6A2.5 2.5 0 0 1 11 3.5v1.258A4.479 4.479 0 0 0 8.5 4c-.544 0-1.065.096-1.547.273a1.018 1.018 0 0 0-.242-.167l-1.764-.882a1 1 0 0 0-1.447.894v1.764a1 1 0 0 0 .806.982A4.489 4.489 0 0 0 4.027 9H2.5A2.5 2.5 0 0 1 0 6.5v-3ZM8.5 7a.5.5 0 0 1 .5.5V8h.5a.5.5 0 0 1 0 1H9v.5a.5.5 0 0 1-1 0V9h-.5a.5.5 0 0 1 0-1H8v-.5a.5.5 0 0 1 .5-.5Z'></path><path d='M8.5 5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM6 8.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path>\",\"<path d='M1 3.5A2.5 2.5 0 0 1 3.5 1h9A2.5 2.5 0 0 1 15 3.5v3.757a5.516 5.516 0 0 0-4.746-1.115.993.993 0 0 0-.543-1.036L6.947 3.724a1 1 0 0 0-1.447.894v2.764a1 1 0 0 0 1.447.895L7.1 8.2A5.472 5.472 0 0 0 6.022 11H3.5A2.5 2.5 0 0 1 1 8.5v-5Zm11 6a.5.5 0 0 0-1 0V11H9.5a.5.5 0 0 0 0 1H11v1.5a.5.5 0 0 0 1 0V12h1.5a.5.5 0 0 0 0-1H12V9.5Z'></path><path d='M11.5 7a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9ZM8 11.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z'></path>\",\"<path d='M1 4a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v6.292A8.966 8.966 0 0 0 17 8c-.58 0-1.146.055-1.695.16a1.06 1.06 0 0 0-.094-.054l-4.764-2.382A1 1 0 0 0 9 6.618v4.764c0 .337.16.62.398.799A8.957 8.957 0 0 0 8 17H4a3 3 0 0 1-3-3V4Z'></path><path d='M18 14a1 1 0 1 0-2 0v2h-2a1 1 0 1 0 0 2h2v2a1 1 0 1 0 2 0v-2h2a1 1 0 1 0 0-2h-2v-2Z'></path><path d='M17 10a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-5 7a5 5 0 1 1 10 0 5 5 0 0 1-10 0Z'></path>\",\"<path d='M1 4a3 3 0 0 1 3-3h22a3 3 0 0 1 3 3v10.45A10.97 10.97 0 0 0 21 11c-.419 0-.832.023-1.238.069a.99.99 0 0 0-.55-.963l-6.765-3.382A1 1 0 0 0 11 7.618v6.764a1 1 0 0 0 1.233.974A10.945 10.945 0 0 0 10.045 21H4a3 3 0 0 1-3-3V4Z'></path><path d='M22 18a1 1 0 1 0-2 0v3h-3a1 1 0 1 0 0 2h3v3a1 1 0 1 0 2 0v-3h3a1 1 0 1 0 0-2h-3v-3Z'></path><path d='M21 13a9 9 0 1 0 0 18 9 9 0 0 0 0-18Zm-7 9a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z'></path>\"],[\"<path d='M2.5 1A2.5 2.5 0 0 0 0 3.5v3A2.5 2.5 0 0 0 2.5 9h1.527a4.551 4.551 0 0 1 0-1H2.5A1.5 1.5 0 0 1 1 6.5v-3A1.5 1.5 0 0 1 2.5 2h6A1.5 1.5 0 0 1 10 3.5v.756c.356.126.691.295 1 .502V3.5A2.5 2.5 0 0 0 8.5 1h-6Z'></path><path d='M6.935 3.658c.229.115.41.274.545.458a4.47 4.47 0 0 0-1.07.398l-1.686-.843A.5.5 0 0 0 4 4.118v1.764a.5.5 0 0 0 .529.5 4.47 4.47 0 0 0-.379.96A1.498 1.498 0 0 1 3 5.882V4.118a1.5 1.5 0 0 1 2.17-1.341l1.765.881ZM8.5 7a.5.5 0 0 1 .5.5V8h.5a.5.5 0 0 1 0 1H9v.5a.5.5 0 0 1-1 0V9h-.5a.5.5 0 0 1 0-1H8v-.5a.5.5 0 0 1 .5-.5Z'></path><path d='M8.5 5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM6 8.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path>\",\"<path d='M3.5 1A2.5 2.5 0 0 0 1 3.5v5A2.5 2.5 0 0 0 3.5 11h2.522a5.48 5.48 0 0 1 .185-1H3.5A1.5 1.5 0 0 1 2 8.5v-5A1.5 1.5 0 0 1 3.5 2h9A1.5 1.5 0 0 1 14 3.5v3.1c.358.183.693.404 1 .657V3.5A2.5 2.5 0 0 0 12.5 1h-9Z'></path><path d='M9.935 4.658c.57.285.846.842.828 1.39a5.465 5.465 0 0 0-1.112.27.501.501 0 0 0-.163-.765L6.724 4.17A.5.5 0 0 0 6 4.618v2.764a.5.5 0 0 0 .724.447l1.51-.755a5.526 5.526 0 0 0-1.568 1.8A1.502 1.502 0 0 1 5 7.383V4.618a1.5 1.5 0 0 1 2.17-1.341l2.765 1.381ZM12 9.5a.5.5 0 0 0-1 0V11H9.5a.5.5 0 0 0 0 1H11v1.5a.5.5 0 0 0 1 0V12h1.5a.5.5 0 0 0 0-1H12V9.5Z'></path><path d='M11.5 7a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9ZM8 11.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0Z'></path>\",\"<path d='M4 1a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h4c0-.687.077-1.357.223-2H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v4.936c.728.361 1.4.819 2 1.356V4a3 3 0 0 0-3-3H4Z'></path><path d='M15.658 7.21c.383.192.666.476.85.803a8.96 8.96 0 0 0-2.63.543L10 6.618v4.725a9.005 9.005 0 0 0-1.093 1.714A1.982 1.982 0 0 1 8 11.382V6.618a2 2 0 0 1 2.894-1.789l4.764 2.382ZM18 14a1 1 0 1 0-2 0v2h-2a1 1 0 1 0 0 2h2v2a1 1 0 1 0 2 0v-2h2a1 1 0 1 0 0-2h-2v-2Z'></path><path d='M17 10a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-5 7a5 5 0 1 1 10 0 5 5 0 0 1-10 0Z'></path>\",\"<path d='M4 1a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h6.045a10.96 10.96 0 0 1 .37-2H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h22a1 1 0 0 1 1 1v8.779a11.053 11.053 0 0 1 2 1.671V4a3 3 0 0 0-3-3H4Z'></path><path d='M19.658 9.21a1.977 1.977 0 0 1 1.106 1.792c-1.012.022-1.991.18-2.918.457l.918-.46L12 7.619v6.764l2.471-1.236a11.056 11.056 0 0 0-2.903 3.19A1.998 1.998 0 0 1 10 14.382V7.618a2 2 0 0 1 2.894-1.789l6.764 3.382ZM22 18a1 1 0 1 0-2 0v3h-3a1 1 0 1 0 0 2h3v3a1 1 0 1 0 2 0v-3h3a1 1 0 1 0 0-2h-3v-3Z'></path><path d='M21 13a9 9 0 1 0 0 18 9 9 0 0 0 0-18Zm-7 9a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z'></path>\"]];","export default [[\"M11.854.854a.5.5 0 0 0-.708-.708L10.293 1H1.5A1.5 1.5 0 0 0 0 2.5v6a1.5 1.5 0 0 0 1.305 1.487l-1.159 1.16a.5.5 0 0 0 .708.707l11-11Zm-7.85 6.435A.514.514 0 0 1 4 7.223V3.777a.5.5 0 0 1 .707-.456l2.244 1.02L4.004 7.29ZM8.77 5.352l3.19-3.192c.026.11.039.223.039.34v6a1.5 1.5 0 0 1-1.5 1.5H4.121L7.89 6.232l.61-.277a.499.499 0 0 0 .27-.603Z\",\"M14.854 1.854a.5.5 0 0 0-.708-.708L12.293 3H2.5A1.5 1.5 0 0 0 1 4.5v7a1.5 1.5 0 0 0 1.305 1.488l-1.159 1.158a.5.5 0 0 0 .708.708l13-13ZM6 9.293V5.809a.5.5 0 0 1 .724-.447L8.862 6.43 6 9.293Zm5.106-.846L8.243 9.88 5.12 13h8.38a1.5 1.5 0 0 0 1.5-1.5v-7c0-.383-.144-.733-.38-.998l-3.872 3.872.358.179a.5.5 0 0 1 0 .894Z\",\"M22.707 2.707a1 1 0 0 0-1.414-1.414L18.586 4H4a3 3 0 0 0-3 3v10a3 3 0 0 0 1.825 2.761l-1.532 1.532a1 1 0 1 0 1.414 1.414l20-20ZM9 13.586V9.618a1 1 0 0 1 1.447-.894l2.277 1.138L9 13.586ZM20 20H8.243L22.65 5.593c.223.42.35.898.35 1.407v10a3 3 0 0 1-3 3Z\",\"M29.707 3.707a1 1 0 0 0-1.414-1.414L24.586 6H5a3 3 0 0 0-3 3v14a3 3 0 0 0 2.61 2.975l-2.317 2.318a1 1 0 1 0 1.414 1.414l26-26ZM12 18.586v-5.968a1 1 0 0 1 1.447-.894l3.61 1.805L12 18.586Zm8.211-1.692-1.725.863L10.243 26H27a3 3 0 0 0 3-3V9c0-.767-.288-1.466-.76-1.996l-8.57 8.569a1 1 0 0 1-.459 1.321Z\"],[\"<path d='M11.854.854a.5.5 0 0 0-.708-.708L10.293 1H1.5A1.5 1.5 0 0 0 0 2.5v6a1.5 1.5 0 0 0 1.305 1.487l-1.159 1.16a.5.5 0 0 0 .708.707l11-11ZM2.293 9H1.5a.5.5 0 0 1-.5-.5v-6a.5.5 0 0 1 .5-.5h7.793l-2.12 2.12-2.76-1.254A1 1 0 0 0 3 3.776v3.447c0 .302.13.562.328.742L2.293 9Zm4.125-4.125-2.29 2.29L4 7.224V3.777l2.418 1.098Zm2.362.467-1.481 1.48.907-.412a.993.993 0 0 0 .573-1.068Z'></path><path d='M10.5 9H5.121l-1 1H10.5A1.5 1.5 0 0 0 12 8.5v-6c0-.117-.013-.23-.039-.34L11 3.121V8.5a.5.5 0 0 1-.5.5Z'></path>\",\"<path d='M14.854 1.854a.5.5 0 0 0-.708-.708L12.293 3H2.5A1.5 1.5 0 0 0 1 4.5v7a1.5 1.5 0 0 0 1.305 1.488l-1.159 1.158a.5.5 0 0 0 .708.708l13-13ZM3.293 12H2.5a.5.5 0 0 1-.5-.5v-7a.5.5 0 0 1 .5-.5h8.793L9.068 6.225l-2.62-1.31A1 1 0 0 0 5 5.809v4.382c0 .033.002.065.005.097L3.293 12Zm5.03-5.03L6 9.293V5.809L8.323 6.97Zm2.624.204-.739.74.174.086-.521.26-2.236 2.237 3.204-1.603a1 1 0 0 0 .118-1.72Z'></path><path d='M13.5 12H6.121l-1 1H13.5a1.5 1.5 0 0 0 1.5-1.5v-7c0-.383-.144-.733-.38-.998l-.711.71A.5.5 0 0 1 14 4.5v7a.5.5 0 0 1-.5.5Z'></path>\",\"<path d='M22.707 2.707a1 1 0 0 0-1.414-1.414L18.586 4H4a3 3 0 0 0-3 3v10a3 3 0 0 0 1.825 2.761l-1.532 1.532a1 1 0 1 0 1.414 1.414l20-20ZM4.586 18H4a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h12.586l-3.117 3.117-2.575-1.288A2 2 0 0 0 8 9.618v4.764c0 .066.003.13.01.195L4.585 18Zm7.393-7.393L10 12.586V9.618l1.979.99Zm4.731.926-3.46 3.46 2.408-1.204c.9-.45 1.25-1.41 1.052-2.256Z'></path><path d='M20 18h-9.757l-2 2H20a3 3 0 0 0 3-3V7c0-.509-.127-.988-.35-1.407L21 7.243V17a1 1 0 0 1-1 1Z'></path>\",\"<path d='M29.707 3.707a1 1 0 0 0-1.414-1.414L24.586 6H5a3 3 0 0 0-3 3v14a3 3 0 0 0 2.61 2.975l-2.317 2.318a1 1 0 1 0 1.414 1.414l26-26ZM6.586 24H5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h17.586l-4.784 4.783-3.908-1.954A2 2 0 0 0 11 12.618v6.764c0 .066.003.13.01.195L6.585 24Zm9.726-9.726L13 17.586v-4.968l3.312 1.656Zm5.088.569-5.15 5.15 4.408-2.204c1.16-.58 1.407-2.006.742-2.946Z'></path><path d='M27 24H12.243l-2 2H27a3 3 0 0 0 3-3V9c0-.767-.288-1.466-.76-1.996l-1.422 1.42A.995.995 0 0 1 28 9v14a1 1 0 0 1-1 1Z'></path>\"]];","export default [[\"<path d='M11.56.44a1.5 1.5 0 0 0-2.12 0l-.153.15a.503.503 0 0 1 .066.055l2 2c.02.021.039.043.055.066l.152-.151a1.5 1.5 0 0 0 0-2.122Zm-5.12 3 2.15-2.153a.502.502 0 0 0 .055.066l2 2c.021.02.043.039.066.055l-2.15 2.153a.5.5 0 0 1-.27.139l-1.706.293a.5.5 0 0 1-.578-.578L6.3 3.708a.5.5 0 0 1 .14-.269Z'></path><path d='M5 7h3.5a.5.5 0 0 1 .5.5A4.5 4.5 0 1 1 4.5 3a.5.5 0 0 1 .5.5V7ZM4 4.035a3.5 3.5 0 0 0 0 6.93v-6.93ZM7.965 8A3.502 3.502 0 0 1 5 10.965V8h2.965Z'></path>\",\"<path d='M13.44.44a1.5 1.5 0 1 1 2.12 2.12l-.29.292L13.148.73l.291-.29Zm-.999.997L8.94 4.94a.5.5 0 0 0-.117.185L8.03 7.33a.5.5 0 0 0 .64.64l2.207-.793a.501.501 0 0 0 .185-.117l3.502-3.502-2.122-2.122Z'></path><path d='M7 9h5.5a.5.5 0 0 1 .5.5A6.5 6.5 0 1 1 6.5 3a.5.5 0 0 1 .5.5V9ZM6 4.022a5.5 5.5 0 0 0 0 10.956V4.022ZM7 10v4.978A5.502 5.502 0 0 0 11.978 10H7Z'></path>\",\"<path d='M18.879.879A3 3 0 1 1 23.12 5.12l-.293.293-4.242-4.242.293-.293Zm-1.707 1.707-4.293 4.293a1 1 0 0 0-.279.538l-.586 3.414a1 1 0 0 0 1.155 1.155l3.414-.586a1 1 0 0 0 .538-.279l4.293-4.293-4.242-4.242Z'></path><path d='M9.693 5.273a1 1 0 0 1 .314.727v7.993H18a1 1 0 0 1 .998 1.058A9.507 9.507 0 0 1 0 14.493a9.506 9.506 0 0 1 8.949-9.491 1 1 0 0 1 .744.27ZM8.007 7.135A7.51 7.51 0 0 0 8 21.85V13.5h.007V7.135ZM10 15.993v5.991a7.512 7.512 0 0 0 6.865-5.99H10Z'></path>\",\"<path d='M26.879 1.879A3 3 0 1 1 31.12 6.12l-.793.793-4.242-4.242.793-.793Zm-2.207 2.207-6.793 6.793a.998.998 0 0 0-.234.369l-1.586 4.414a1 1 0 0 0 1.28 1.28l4.413-1.587a.998.998 0 0 0 .37-.234l6.792-6.793-4.242-4.242Z'></path><path d='M13.697 7.278a1 1 0 0 1 .308.722v10.995H25a1 1 0 0 1 1 1.043C25.713 26.693 20.23 32 13.504 32 6.6 32 1 26.401 1 19.495 1 12.77 6.307 7.285 12.962 7a1 1 0 0 1 .735.277Zm-1.692 1.818C6.915 9.823 3 14.202 3 19.495c0 5.29 3.911 9.668 9 10.398V19h.005V9.096ZM14 20.996v8.993c5.069-.235 9.2-4.062 9.904-8.994H14Z'></path>\"],[\"<path d='M9.44.44a1.5 1.5 0 0 1 2.12 2.12l-3 3a.5.5 0 0 1-.268.14l-1.707.293a.5.5 0 0 1-.578-.578L6.3 3.708a.5.5 0 0 1 .14-.269l3-3Zm1.414.706a.5.5 0 0 0-.707 0L10 1.293l.707.707.147-.146a.5.5 0 0 0 0-.708ZM10 2.707 9.293 2 7.259 4.034l-.147.854.854-.147L10 2.707Z'></path><path d='M5 7V3.5a.5.5 0 0 0-.5-.5A4.5 4.5 0 1 0 9 7.5a.5.5 0 0 0-.5-.5H5Zm-4 .5a3.5 3.5 0 0 1 3-3.465v6.93A3.5 3.5 0 0 1 1 7.5Zm4 3.465A3.502 3.502 0 0 0 7.965 8H5v2.965Z'></path>\",\"<path d='M13.44.44a1.5 1.5 0 1 1 2.12 2.12l-4.5 4.5a.501.501 0 0 1-.184.118L8.67 7.97a.5.5 0 0 1-.64-.64l.793-2.207a.5.5 0 0 1 .117-.185l4.5-4.5Zm1.414.706a.5.5 0 0 0-.707 0l-.292.291.708.708.29-.291a.5.5 0 0 0 0-.708Zm-.998 1.706-.708-.707-3.422 3.422-.397 1.104 1.104-.397 3.422-3.422Z'></path><path d='M7 9V3.5a.5.5 0 0 0-.5-.5A6.5 6.5 0 1 0 13 9.5a.5.5 0 0 0-.5-.5H7Zm-6 .5a5.5 5.5 0 0 1 5-5.478v10.956A5.5 5.5 0 0 1 1 9.5Zm6 5.478A5.502 5.502 0 0 0 11.978 10H7v4.978Z'></path>\",\"<path d='M23.121.879a3 3 0 0 0-4.242 0l-6 6a1 1 0 0 0-.279.538l-.586 3.414a1 1 0 0 0 1.155 1.155l3.414-.586a1 1 0 0 0 .538-.279l6-6a3 3 0 0 0 0-4.242Zm-2.828 1.414a1 1 0 1 1 1.414 1.414L21.414 4 20 2.586l.293-.293ZM18.586 4l-4.068 4.068-.293 1.707 1.707-.293L20 5.414 18.586 4Z'></path><path d='M9.693 5.273a1 1 0 0 1 .314.727v7.993H18a1 1 0 0 1 .998 1.058A9.507 9.507 0 0 1 0 14.493a9.506 9.506 0 0 1 8.949-9.491 1 1 0 0 1 .744.27ZM8.007 7.135A7.51 7.51 0 0 0 8 21.85V13.5h.007V7.135ZM10 15.993v5.991a7.512 7.512 0 0 0 6.865-5.99H10Z'></path>\",\"<path d='M31.121 1.879a3 3 0 0 0-4.242 0l-9 9a.998.998 0 0 0-.234.369l-1.586 4.414a1 1 0 0 0 1.28 1.28l4.413-1.587a.998.998 0 0 0 .37-.234l9-9a3 3 0 0 0 0-4.242Zm-2.828 1.414a1 1 0 1 1 1.414 1.414l-.793.793L27.5 4.086l.793-.793ZM26.086 5.5l-6.635 6.635-.793 2.207 2.207-.793L27.5 6.914 26.086 5.5Z'></path><path d='M13.697 7.278a1 1 0 0 1 .308.722v10.995H25a1 1 0 0 1 1 1.043C25.713 26.693 20.23 32 13.504 32 6.6 32 1 26.401 1 19.495 1 12.77 6.307 7.285 12.962 7a1 1 0 0 1 .735.277Zm-1.692 1.818C6.915 9.823 3 14.202 3 19.495c0 5.29 3.911 9.668 9 10.398V19h.005V9.096ZM14 20.996v8.993c5.069-.235 9.2-4.062 9.904-8.994H14Z'></path>\"]];","export default [[\"M4.732 7A2 2 0 1 0 3 8h6a2 2 0 1 0-1.732-1H4.732ZM3 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Zm6 2a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\",\"M6.236 10A3 3 0 1 0 4 11h8a3 3 0 1 0-2.236-1H6.236ZM4 6a2 2 0 1 1 0 4 2 2 0 0 1 0-4Zm8 4a2 2 0 1 1 0-4 2 2 0 0 1 0 4Z\",\"M9.242 14A4.5 4.5 0 1 0 5.5 16h13a4.5 4.5 0 1 0-3.742-2H9.242ZM5.5 9a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5Zm13 5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5Z\",\"M12.472 20A6 6 0 1 0 7.5 21.98V22h17v-.02A6 6 0 1 0 19.528 20h-7.056ZM8 12a4 4 0 1 1 0 8 4 4 0 0 1 0-8Zm16 8a4 4 0 1 1 0-8 4 4 0 0 1 0 8Z\"]];","export default [[\"<path d='M7.571 2.458A1.25 1.25 0 1 0 6.25 2H4.124c-.551 0-1.07.26-1.401.701l-1.54 2.056a1 1 0 0 0 1.601 1.199L4.25 4h.57l-.362 1.564a1 1 0 0 0 .398 1.182L8 8.775V11a1 1 0 1 0 2 0V8.638a1.75 1.75 0 0 0-.801-1.47l-2.18-1.406.136-.544.287.382a1 1 0 0 0 .8.4H10a1 1 0 1 0 0-2H8.742l-1.05-1.4a1.501 1.501 0 0 0-.12-.142Z'></path><path d='M3.975 7.313c.1.101.213.193.338.274l1.332.859-.178.356a2 2 0 0 1-.375.52L2.854 11.56a1 1 0 0 1-1.414-1.414l2.238-2.238.297-.595Z'></path>\",\"<path d='M9.463 4.438A1.75 1.75 0 1 0 7.775 4H5.793a2 2 0 0 0-1.798 1.126l-.972 1.998A1 1 0 1 0 4.822 8l.971-2h1.068L6.43 7.847a1 1 0 0 0 .368 1.11L10 11.271V14a1 1 0 1 0 2 0v-2.73a2 2 0 0 0-.829-1.62L9.076 8.136l.254-1.017.6.592a1 1 0 0 0 .702.289H13a1 1 0 1 0 0-2h-1.957l-1.58-1.562Z'></path><path d='M6.063 9.649c.048.041.097.081.15.119l1.546 1.117-.159.477a3 3 0 0 1-.738 1.186l-2.036 2.01a1 1 0 1 1-1.405-1.424l2.036-2.01a1 1 0 0 0 .246-.395l.36-1.08Z'></path>\",\"<path d='M14.242 5.888A2.501 2.501 0 1 0 11.5 5H8.54a3.5 3.5 0 0 0-3.123 1.92l-1.635 3.23a2 2 0 1 0 3.569 1.806L8.848 9h.315l-.573 3.19a2 2 0 0 0 .628 2.13L13 17.48V20a2 2 0 1 0 4 0v-3.456a2 2 0 0 0-.718-1.535l-3.024-2.527.457-2.127.572.385c.2.135.422.232.656.288l2.599.615a2 2 0 0 0 .922-3.892l-2.245-.532-1.977-1.331Z'></path><path d='M7.423 14.672a4 4 0 0 0 .762.847l2.321 1.938-.112.226a3 3 0 0 1-.86 1.044l-3.132 2.405a2 2 0 0 1-2.435-3.173l2.948-2.264.508-1.023Z'></path>\",\"<path d='M18.11 7.788A3.001 3.001 0 1 0 14.764 7h-3.167a4 4 0 0 0-3.604 2.264l-1.829 3.797a2 2 0 1 0 3.604 1.736L11.597 11h.738l-.82 4.73.003.002c-.061.454.035.919.275 1.311l-.004.014.023.017c.14.219.323.414.55.57L18 21.548V28a2 2 0 1 0 4 0v-7.5a2 2 0 0 0-.862-1.644l-4.03-2.79.71-2.837.266.275a2 2 0 0 0 .732.48l4.597 1.727a2 2 0 1 0 1.407-3.744l-4.178-1.57-2.532-2.61Z'></path><path d='M14.545 21.592a1.006 1.006 0 0 1-.056-.039l-3.34-2.48-.753 2.37a2 2 0 0 1-.508.825L5.86 26.203a2 2 0 1 0 2.795 2.861l4.027-3.936a6 6 0 0 0 1.526-2.475l.336-1.06Z'></path>\"],[\"M6.75 0a1.75 1.75 0 0 0-1.732 2h-.893a1.76 1.76 0 0 0-1.4.7L1.3 4.6a1.5 1.5 0 0 0 2.329 1.888c.01.095.03.19.06.28l-.422.843-1.828 1.828a1.5 1.5 0 0 0 2.121 2.122l1.885-1.885c.19-.19.348-.41.469-.65l.155-.31.931.601V10.5a1.5 1.5 0 0 0 3 0V8.636a1.74 1.74 0 0 0-.8-1.47L8.942 7H9.5a1.5 1.5 0 1 0 0-3h-.75l-.76-1.014A1.75 1.75 0 0 0 6.75 0ZM6 1.75a.75.75 0 1 1 1.5 0 .75.75 0 0 1-1.5 0ZM5.525 3a1.744 1.744 0 0 0 1.574.465L8.25 5H9.5a.5.5 0 0 1 0 1H8.125a.75.75 0 0 1-.6-.3l-.612-.816-.43 1.716L8.657 8A.749.749 0 0 1 9 8.636V10.5a.5.5 0 0 1-1 0V8.772L4.85 6.74a.5.5 0 0 1-.2-.591L5.149 4h-.9L2.9 5.8a.5.5 0 1 1-.8-.6l1.425-1.9a.75.75 0 0 1 .6-.3h1.4Zm-1.4 5.131.252-.505.846.545-.204.408a1.5 1.5 0 0 1-.281.389l-1.885 1.886a.499.499 0 1 1-.707-.707l1.885-1.886a.5.5 0 0 0 .094-.13Z\",\"M9 1a2 2 0 0 0-1.732 3H5.655a1.741 1.741 0 0 0-1.565.967l-.931 1.862a1.5 1.5 0 0 0 2.357 1.777c.012.21.068.416.166.602l-.456 1.37a.513.513 0 0 1-.121.2l-1.666 1.661a1.5 1.5 0 0 0 2.121 2.122L7.226 12.9c.383-.385.673-.853.846-1.368l.114-.341.814.581V13.5a1.5 1.5 0 0 0 3 0v-2.371a1.753 1.753 0 0 0-.733-1.424l-1.022-.73c.099.017.2.025.3.025H12.5a1.5 1.5 0 0 0 0-3h-1.445l-1.21-1.187A2 2 0 0 0 9 1ZM8 3a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm.3 2c.196 0 .385.077.525.215L10.645 7H12.5a.5.5 0 0 1 0 1h-1.956a.748.748 0 0 1-.525-.215l-.828-.812-.526 2.1 2.022 1.445a.75.75 0 0 1 .313.611V13.5a.5.5 0 0 1-1 0v-2.243l-1.484-1.06.002-.004-.851-.612-.003.008-.852-.609.003-.01-.165-.118a.538.538 0 0 1-.114-.536L7.076 6H5.81l-.862 1.724a.5.5 0 0 1-.894-.448l.93-1.861A.749.749 0 0 1 5.654 5H8.3ZM6.48 9.973l.852.608-.21.629a2.51 2.51 0 0 1-.6.978l-1.67 1.666a.5.5 0 1 1-.707-.707l1.666-1.667c.165-.164.289-.365.362-.586l.307-.921Z\",\"M13 1a3 3 0 0 0-2.83 4H8.462a3.362 3.362 0 0 0-3.006 1.84L4.057 9.577A3 3 0 0 0 6.62 13.94l-.539 1.145-1.961 1.58a3 3 0 0 0 3.767 4.672l2.314-1.868c.31-.25.58-.543.803-.87V19a3 3 0 0 0 6 0v-3.448a3.36 3.36 0 0 0-.77-2.152l.048.012a3 3 0 1 0 1.455-5.82l-1.5-.374-1.338-.895A3 3 0 0 0 13 1Zm-1 3a1 1 0 1 1 2 0 1 1 0 0 1-2 0ZM8.461 7h3.434c.272 0 .537.08.763.231l2.761 1.841 1.832.458a1 1 0 0 1-.485 1.94l-1.939-.484a1.377 1.377 0 0 1-.429-.19l-1-.666-.249 1.206-.005-.01-.364 1.753.598.491.002-.006 1.126.926a1.374 1.374 0 0 1 .5 1.062V19a1 1 0 1 1-2 0v-3.152l-3.132-2.575a1 1 0 0 1-.357-.907L10.12 9H8.843L7.62 11.4a1 1 0 0 1-1.842-.15 1 1 0 0 1 .06-.763l1.4-2.738A1.375 1.375 0 0 1 8.461 7Zm-.767 9.353.778-1.65c.042.04.086.078.131.115l1.457 1.199-.56 1.188c-.13.274-.322.516-.558.707l-2.315 1.867a1 1 0 0 1-1.254-1.557l2.321-1.869Z\",\"M16.5 2a3.5 3.5 0 0 0-3.16 5.006l-2.006.005A3.5 3.5 0 0 0 8.21 8.946L6.35 12.67a3 3 0 0 0 4.21 3.924c.044.217.112.429.202.632L9.453 21.15a1.03 1.03 0 0 1-.241.391l-3.335 3.337a3 3 0 0 0 4.243 4.243l3.332-3.333a7.024 7.024 0 0 0 1.691-2.736l.614-1.842 1.243.86V27a3 3 0 1 0 6 0v-6.238a3.5 3.5 0 0 0-1.508-2.878l-2.35-1.627 2.805 1.052a3 3 0 0 0 2.106-5.618l-3.391-1.272-2.095-2.094A3.5 3.5 0 0 0 16.5 2ZM15 5.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm-3.662 3.51L15.79 9h.02a1.499 1.499 0 0 1 1.043.44l2.7 2.7 3.798 1.424a1 1 0 0 1-.702 1.872l-3.899-1.462a1.5 1.5 0 0 1-.534-.344l-.899-.899-1 4.003 4.037 2.795c.404.28.646.741.646 1.233V27a1 1 0 1 1-2 0v-5.976l-6.07-4.202a1 1 0 0 1-.389-1.108l.866-4.708-1.756.004-1.724 3.449a1 1 0 0 1-1.79-.895L10 9.84a1.501 1.501 0 0 1 1.338-.83Zm.011 12.778.983-2.948 1.713 1.186-.796 2.39a5.006 5.006 0 0 1-1.208 1.954l-3.335 3.337a1 1 0 0 1-1.415-1.414l3.333-3.332c.33-.33.577-.731.725-1.173Z\"]];","export default [[\"M0 2.5A1.5 1.5 0 0 1 1.5 1h9A1.5 1.5 0 0 1 12 2.5V5H0V2.5Zm2 1a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5ZM7.25 3a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 8 3.75v-.5A.25.25 0 0 0 7.75 3h-.5ZM9 3.25A.25.25 0 0 1 9.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 9 3.75v-.5ZM0 6v3.5A1.5 1.5 0 0 0 1.5 11h9A1.5 1.5 0 0 0 12 9.5V6H0Z\",\"M1 3.5A1.5 1.5 0 0 1 2.5 2h11A1.5 1.5 0 0 1 15 3.5V6H1V3.5Zm2 1a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm7.25-.5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5Zm1.75.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5ZM1 7v5.5A1.5 1.5 0 0 0 2.5 14h11a1.5 1.5 0 0 0 1.5-1.5V7H1Z\",\"M1 6a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v3H1V6Zm3 1a1 1 0 0 0 1 1h7.5a1 1 0 1 0 0-2H5a1 1 0 0 0-1 1Zm11.5-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM1 11v7a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3v-7H1Z\",\"M2 8a3 3 0 0 1 3-3h22a3 3 0 0 1 3 3v4H2V8Zm4 1a1 1 0 0 1 1-1h11a1 1 0 1 1 0 2H7a1 1 0 0 1-1-1Zm15.5-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM2 14v10a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3V14H2Z\"],[\"<path d='M2 3.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5ZM7.25 3a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 8 3.75v-.5A.25.25 0 0 0 7.75 3h-.5ZM9 3.25A.25.25 0 0 1 9.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 9 3.75v-.5Z'></path><path d='M0 2.5A1.5 1.5 0 0 1 1.5 1h9A1.5 1.5 0 0 1 12 2.5v7a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 0 9.5v-7ZM1.5 2a.5.5 0 0 0-.5.5V5h10V2.5a.5.5 0 0 0-.5-.5h-9ZM11 6H1v3.5a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5V6Z'></path>\",\"<path d='M3.5 4a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Zm6.5.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5ZM12.25 4a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5Z'></path><path d='M1 3.5A1.5 1.5 0 0 1 2.5 2h11A1.5 1.5 0 0 1 15 3.5v9a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 12.5v-9ZM2.5 3a.5.5 0 0 0-.5.5V6h12V3.5a.5.5 0 0 0-.5-.5h-11ZM2 12.5V7h12v5.5a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5Z'></path>\",\"<path d='M5 6a1 1 0 0 0 0 2h7.5a1 1 0 1 0 0-2H5Zm10 .5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Z'></path><path d='M1 6a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3V6Zm3-1a1 1 0 0 0-1 1v3h18V6a1 1 0 0 0-1-1H4ZM3 18a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-7H3v7Z'></path>\",\"<path d='M7 8a1 1 0 1 0 0 2h11a1 1 0 1 0 0-2H7Zm14 .5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Z'></path><path d='M2 8a3 3 0 0 1 3-3h22a3 3 0 0 1 3 3v16a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V8Zm3-1a1 1 0 0 0-1 1v4h24V8a1 1 0 0 0-1-1H5ZM4 24V14h24v10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1Z'></path>\"]];","export default [[\"<path d='M0 2.5A1.5 1.5 0 0 1 1.5 1h9A1.5 1.5 0 0 1 12 2.5v3h-.146A4.497 4.497 0 0 0 9.5 4.112V3.75a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25V4c-.344 0-.678.039-1 .112V3.75a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25v.5c0 .07.03.135.077.18A4.514 4.514 0 0 0 5.146 5.5H0v-3ZM1.5 4a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 0-1H2a.5.5 0 0 0-.5.5Zm2.968 2.5H0v3A1.5 1.5 0 0 0 1.5 11h3.258A4.479 4.479 0 0 1 4 8.5c0-.718.168-1.398.468-2ZM8.5 7a.5.5 0 0 1 .5.5V8h.5a.5.5 0 0 1 0 1H9v.5a.5.5 0 0 1-1 0V9h-.5a.5.5 0 0 1 0-1H8v-.5a.5.5 0 0 1 .5-.5Z'></path><path d='M5 8.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM8.5 6a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path>\",\"<path d='M2.5 2A1.5 1.5 0 0 0 1 3.5V6h14V3.5A1.5 1.5 0 0 0 13.5 2h-11Zm1 2h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1 0-1Zm6.5.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5ZM12.25 4h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25ZM1 7h7.337A5.493 5.493 0 0 0 6 11.5c0 .9.216 1.75.6 2.5H2.5A1.5 1.5 0 0 1 1 12.5V7Zm11 6.5V12h1.5a.5.5 0 0 0 0-1H12V9.5a.5.5 0 0 0-1 0V11H9.5a.5.5 0 0 0 0 1H11v1.5a.5.5 0 0 0 1 0Z'></path><path d='M7 11.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM11.5 8a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M1 6a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v3h-1.873A8.95 8.95 0 0 0 17 8c-1.488 0-2.891.36-4.127 1H1V6Zm3 1a1 1 0 0 0 1 1h7.5a1 1 0 1 0 0-2H5a1 1 0 0 0-1 1Zm11.5-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM10.292 11H1v7a3 3 0 0 0 3 3h4.936A8.963 8.963 0 0 1 8 17c0-2.305.867-4.408 2.292-6ZM17 13a1 1 0 0 0-1 1v2h-2a1 1 0 1 0 0 2h2v2a1 1 0 1 0 2 0v-2h2a1 1 0 1 0 0-2h-2v-2a1 1 0 0 0-1-1Z'></path><path d='M10 17a7 7 0 1 1 14 0 7 7 0 0 1-14 0Zm7-5a5 5 0 1 0 0 10 5 5 0 0 0 0-10Z'></path>\",\"<path d='M5 5a3 3 0 0 0-3 3v4h15.411A10.96 10.96 0 0 1 22 11c1.638 0 3.192.358 4.589 1H30V8a3 3 0 0 0-3-3H5Zm2 3h11a1 1 0 1 1 0 2H7a1 1 0 0 1 0-2Zm14 .5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5ZM2 14h12.45A10.97 10.97 0 0 0 11 22c0 1.8.433 3.5 1.2 5H5a3 3 0 0 1-3-3V14Zm20 3a1 1 0 0 0-1 1v3h-3a1 1 0 1 0 0 2h3v3a1 1 0 1 0 2 0v-3h3a1 1 0 1 0 0-2h-3v-3a1 1 0 0 0-1-1Z'></path><path d='M13 22a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"],[\"<path d='M1.5 1A1.5 1.5 0 0 0 0 2.5v7A1.5 1.5 0 0 0 1.5 11h3.258a4.485 4.485 0 0 1-.502-1H1.5a.5.5 0 0 1-.5-.5V6h3.758c.253-.378.561-.715.913-1H1V2.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v2.258c.378.253.715.561 1 .913V2.5A1.5 1.5 0 0 0 10.5 1h-9Z'></path><path d='M2.5 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Zm4.5.25A.25.25 0 0 1 7.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 7 3.75v-.5ZM9.25 3a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5A.25.25 0 0 0 9.75 3h-.5ZM8.5 7a.5.5 0 0 1 .5.5V8h.5a.5.5 0 0 1 0 1H9v.5a.5.5 0 0 1-1 0V9h-.5a.5.5 0 0 1 0-1H8v-.5a.5.5 0 0 1 .5-.5Z'></path><path d='M5 8.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0ZM8.5 6a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z'></path>\",\"<path d='M3 4.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm7.25-.5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5Zm1.75.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5Z'></path><path d='M2.5 2A1.5 1.5 0 0 0 1 3.5v9A1.5 1.5 0 0 0 2.5 14h4.1a5.465 5.465 0 0 1-.393-1H2.5a.5.5 0 0 1-.5-.5V7h6.337c.895-.63 1.986-1 3.163-1 1.33 0 2.55.472 3.5 1.257V3.5A1.5 1.5 0 0 0 13.5 2h-11Zm9 4H2V3.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 .5.5V6h-2.5Z'></path><path d='M12 13.5V12h1.5a.5.5 0 0 0 0-1H12V9.5a.5.5 0 0 0-1 0V11H9.5a.5.5 0 0 0 0 1H11v1.5a.5.5 0 0 0 1 0Z'></path><path d='M7 11.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM11.5 8a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M4 3a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h4.936a8.935 8.935 0 0 1-.713-2H4a1 1 0 0 1-1-1v-7h7.292a9.035 9.035 0 0 1 2.58-2H3V6a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v2.936c.728.361 1.4.819 2 1.356V6a3 3 0 0 0-3-3H4Z'></path><path d='M4 7a1 1 0 0 1 1-1h7.5a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1Zm11.5-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM17 13a1 1 0 0 0-1 1v2h-2a1 1 0 1 0 0 2h2v2a1 1 0 1 0 2 0v-2h2a1 1 0 1 0 0-2h-2v-2a1 1 0 0 0-1-1Z'></path><path d='M10 17a7 7 0 1 1 14 0 7 7 0 0 1-14 0Zm7-5a5 5 0 1 0 0 10 5 5 0 0 0 0-10Z'></path>\",\"<path d='M5 5a3 3 0 0 0-3 3v16a3 3 0 0 0 3 3h7.2a10.924 10.924 0 0 1-.786-2H5a1 1 0 0 1-1-1V14h10.45a11.02 11.02 0 0 1 2.961-2H4V8a1 1 0 0 1 1-1h22a1 1 0 0 1 1 1v4h-1.411A11.03 11.03 0 0 1 30 14.45V8a3 3 0 0 0-3-3H5Z'></path><path d='M6 9a1 1 0 0 1 1-1h11a1 1 0 1 1 0 2H7a1 1 0 0 1-1-1Zm15.5-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM22 17a1 1 0 0 0-1 1v3h-3a1 1 0 1 0 0 2h3v3a1 1 0 1 0 2 0v-3h3a1 1 0 1 0 0-2h-3v-3a1 1 0 0 0-1-1Z'></path><path d='M13 22a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"]];","export default [[\"M0 2.5A1.5 1.5 0 0 1 1.5 1h9A1.5 1.5 0 0 1 12 2.5V5H0V2.5Zm2 1a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5ZM7.25 3a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 8 3.75v-.5A.25.25 0 0 0 7.75 3h-.5ZM9 3.25A.25.25 0 0 1 9.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 9 3.75v-.5ZM0 6v3.5A1.5 1.5 0 0 0 1.5 11h9A1.5 1.5 0 0 0 12 9.5V6H0Zm4.277 1.416a.5.5 0 0 0-.554-.832l-1.5 1a.5.5 0 0 0 0 .832l1.5 1a.5.5 0 0 0 .554-.832L3.401 8l.876-.584Zm3.307-.693a.5.5 0 0 0 .139.693L8.599 8l-.876.584a.5.5 0 0 0 .554.832l1.5-1a.5.5 0 0 0 0-.832l-1.5-1a.5.5 0 0 0-.693.139Zm-.637.5a.5.5 0 1 0-.894-.446l-1 2a.5.5 0 1 0 .894.447l1-2Z\",\"M1 3.5A1.5 1.5 0 0 1 2.5 2h11A1.5 1.5 0 0 1 15 3.5V6H1V3.5Zm2 1a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm7.25-.5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5Zm1.75.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5ZM1 7v5.5A1.5 1.5 0 0 0 2.5 14h11a1.5 1.5 0 0 0 1.5-1.5V7H1Zm4.8 1.9a.5.5 0 0 0-.6-.8l-2 1.5a.5.5 0 0 0 0 .8l2 1.5a.5.5 0 0 0 .6-.8L4.333 10 5.8 8.9Zm4.3-.7a.5.5 0 0 0 .1.7l1.467 1.1-1.467 1.1a.5.5 0 0 0 .6.8l2-1.5a.5.5 0 0 0 0-.8l-2-1.5a.5.5 0 0 0-.7.1Zm-.684.577a.5.5 0 0 0-.832-.554l-2 3a.5.5 0 0 0 .832.554l2-3Z\",\"M1 6a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v3H1V6Zm3 1a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1Zm11.5-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM1 11v7a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3v-7H1Zm7.555 2.832a1 1 0 0 0-1.11-1.664l-3 2a1 1 0 0 0 0 1.664l3 2a1 1 0 0 0 1.11-1.664L6.803 15l1.752-1.168Zm6.613-1.387a1 1 0 0 0 .277 1.387L17.197 15l-1.752 1.168a1 1 0 0 0 1.11 1.664l3-2a1 1 0 0 0 0-1.664l-3-2a1 1 0 0 0-1.387.277ZM14.3 13.6a1 1 0 0 0-1.6-1.2l-3 4a1 1 0 1 0 1.6 1.2l3-4Z\",\"M2 8a3 3 0 0 1 3-3h22a3 3 0 0 1 3 3v4H2V8Zm4 1a1 1 0 0 1 1-1h11a1 1 0 1 1 0 2H7a1 1 0 0 1-1-1Zm15.5-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM2 14v10a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3V14H2Zm9.6 2.8a1 1 0 0 0-1.2-1.6l-4 3a1 1 0 0 0 0 1.6l4 3a1 1 0 0 0 1.2-1.6L8.667 19l2.933-2.2Zm8.6-1.4a1 1 0 0 0 .2 1.4l2.933 2.2-2.933 2.2a1 1 0 1 0 1.2 1.6l4-3a1 1 0 0 0 0-1.6l-4-3a1 1 0 0 0-1.4.2Zm-1.368 1.155a1 1 0 0 0-1.664-1.11l-4 6a1 1 0 1 0 1.664 1.11l4-6Z\"],[\"<path d='M2.5 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Zm4.5.25A.25.25 0 0 1 7.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 7 3.75v-.5ZM9.25 3a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5A.25.25 0 0 0 9.75 3h-.5ZM4.277 7.416a.5.5 0 0 0-.554-.832l-1.5 1a.5.5 0 0 0 0 .832l1.5 1a.5.5 0 0 0 .554-.832L3.401 8l.876-.584Zm3.307-.693a.5.5 0 0 0 .139.693L8.599 8l-.876.584a.5.5 0 0 0 .554.832l1.5-1a.5.5 0 0 0 0-.832l-1.5-1a.5.5 0 0 0-.693.139Zm-.637.501a.5.5 0 1 0-.894-.447l-1 2a.5.5 0 1 0 .894.447l1-2Z'></path><path d='M1.5 1A1.5 1.5 0 0 0 0 2.5v7A1.5 1.5 0 0 0 1.5 11h9A1.5 1.5 0 0 0 12 9.5v-7A1.5 1.5 0 0 0 10.5 1h-9ZM1 2.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5V5H1V2.5Zm0 7V6h10v3.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5Z'></path>\",\"<path d='M3 4.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm7.25-.5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5Zm1.75.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5ZM5.8 8.9a.5.5 0 0 0-.6-.8l-2 1.5a.5.5 0 0 0 0 .8l2 1.5a.5.5 0 0 0 .6-.8L4.333 10 5.8 8.9Zm4.3-.7a.5.5 0 0 0 .1.7l1.467 1.1-1.467 1.1a.5.5 0 0 0 .6.8l2-1.5a.5.5 0 0 0 0-.8l-2-1.5a.5.5 0 0 0-.7.1Zm-.684.577a.5.5 0 0 0-.832-.554l-2 3a.5.5 0 0 0 .832.554l2-3Z'></path><path d='M2.5 2A1.5 1.5 0 0 0 1 3.5v9A1.5 1.5 0 0 0 2.5 14h11a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 13.5 2h-11ZM2 3.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 .5.5V6H2V3.5ZM2 7v5.5a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5V7H2Z'></path>\",\"<path d='M4 7a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1Zm11.5-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm-9.445 7.332a1 1 0 0 0-1.11-1.664l-3 2a1 1 0 0 0 0 1.664l3 2a1 1 0 0 0 1.11-1.664L6.803 15l1.752-1.168Zm6.613-1.387a1 1 0 0 0 .277 1.387L17.197 15l-1.752 1.168a1 1 0 0 0 1.11 1.664l3-2a1 1 0 0 0 0-1.664l-3-2a1 1 0 0 0-1.387.277ZM14.3 13.6a1 1 0 0 0-1.6-1.2l-3 4a1 1 0 1 0 1.6 1.2l3-4Z'></path><path d='M4 3a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H4ZM3 6a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v3H3V6Zm0 5v7a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-7H3Z'></path>\",\"<path d='M7 8a1 1 0 0 0 0 2h11a1 1 0 1 0 0-2H7Zm14 .5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm-12.7 7.4a1 1 0 0 1-.2 1.4L8.667 19l2.933 2.2a1 1 0 1 1-1.2 1.6l-4-3a1 1 0 0 1 0-1.6l4-3a1 1 0 0 1 1.4.2Zm8.6 1.4a1 1 0 0 1 1.2-1.6l4 3a1 1 0 0 1 0 1.6l-4 3a1 1 0 0 1-1.2-1.6l2.933-2.2-2.933-2.2Zm-1.845-1.632a1 1 0 0 1 .277 1.387l-4 6a1 1 0 0 1-1.664-1.11l4-6a1 1 0 0 1 1.387-.277Z'></path><path d='M5 5a3 3 0 0 0-3 3v16a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3V8a3 3 0 0 0-3-3H5Zm23 7V8a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v4h24ZM4 14v10a1 1 0 0 0 1 1h22a1 1 0 0 0 1-1V14H4Z'></path>\"]];","export default [[\"<path d='M1.5 1A1.5 1.5 0 0 0 0 2.5v3h5.333c.286-.41.743-.762 1.314-1.022A.25.25 0 0 1 6.5 4.25v-.5a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.432c.315-.08.65-.135 1-.163V3.75a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.27c.992.077 1.87.38 2.5.826V2.5A1.5 1.5 0 0 0 10.5 1h-9ZM2 3.5h3a.5.5 0 0 1 0 1H2a.5.5 0 0 1 0-1Zm-2 3h5v4c0 .171.028.338.08.5H1.5A1.5 1.5 0 0 1 0 9.5v-3Z'></path><path d='M9 5c-.738 0-1.429.119-1.953.329a2.195 2.195 0 0 0-.694.418C6.164 5.926 6 6.18 6 6.5v4c0 .32.164.574.353.752.188.178.432.315.694.42C7.57 11.881 8.262 12 9 12s1.429-.119 1.954-.329c.26-.104.505-.24.693-.418.189-.179.353-.433.353-.753v-4c0-.32-.164-.574-.353-.753a2.196 2.196 0 0 0-.694-.418C10.43 5.119 9.739 5 9 5ZM7.04 6.474c.065-.062.187-.14.378-.217C7.798 6.105 8.357 6 9 6c.643 0 1.202.105 1.582.257.191.077.313.155.378.217l.025.026a.397.397 0 0 1-.025.026c-.065.062-.187.14-.378.217C10.202 6.895 9.643 7 9 7c-.643 0-1.202-.105-1.582-.257a1.227 1.227 0 0 1-.378-.217.38.38 0 0 1-.025-.026.38.38 0 0 1 .025-.026ZM7 10.481v-.829l.047.02C7.57 9.881 8.262 10 9 10s1.429-.119 1.954-.329L11 9.652v.829a.27.27 0 0 1-.04.045 1.23 1.23 0 0 1-.378.217c-.38.152-.939.257-1.582.257-.643 0-1.202-.105-1.582-.257a1.229 1.229 0 0 1-.378-.217.271.271 0 0 1-.04-.045Zm4-2.829v.829a.266.266 0 0 1-.04.045c-.065.062-.187.14-.378.217C10.202 8.895 9.643 9 9 9c-.643 0-1.202-.105-1.582-.257a1.227 1.227 0 0 1-.378-.217.268.268 0 0 1-.04-.045v-.829l.047.02C7.57 7.881 8.262 8 9 8s1.429-.119 1.954-.329L11 7.652Z'></path>\",\"M1 3.5A1.5 1.5 0 0 1 2.5 2h11A1.5 1.5 0 0 1 15 3.5V6H1V3.5Zm2 1a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 0-1h-4a.5.5 0 0 0-.5.5Zm7.25-.5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5Zm1.75.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25ZM8.9 7H1v5.5A1.5 1.5 0 0 0 2.5 14H8V8.5c0-.563.335-1.082.9-1.5ZM9 8.5v6c0 .357.217.617.426.782.215.169.494.3.795.4.606.202 1.412.318 2.279.318s1.673-.116 2.28-.319c.3-.1.58-.23.794-.399.209-.165.426-.425.426-.782v-6c0-.357-.217-.617-.426-.782a2.645 2.645 0 0 0-.795-.4C14.173 7.117 13.367 7 12.5 7s-1.673.116-2.28.319c-.3.1-.58.23-.794.399C9.217 7.883 9 8.143 9 8.5Zm1 1.1c.072.03.146.056.22.081.607.203 1.413.319 2.28.319.867 0 1.673-.116 2.28-.319.075-.025.148-.051.22-.08v.855a.42.42 0 0 1-.045.04c-.09.07-.25.156-.492.237-.48.16-1.173.267-1.963.267s-1.484-.107-1.963-.267a1.689 1.689 0 0 1-.492-.237.42.42 0 0 1-.045-.04v-.855Zm5 2.856a.42.42 0 0 1-.045.04c-.09.07-.25.156-.492.237-.48.16-1.173.267-1.963.267s-1.484-.107-1.963-.267a1.689 1.689 0 0 1-.492-.237.42.42 0 0 1-.045-.04v-.855c.072.028.146.055.22.08.607.203 1.413.319 2.28.319.867 0 1.673-.116 2.28-.319.075-.025.148-.051.22-.08v.855Zm-5 1.145c.072.028.146.055.22.08.607.203 1.413.319 2.28.319.867 0 1.673-.116 2.28-.319.075-.025.148-.051.22-.08v.855a.42.42 0 0 1-.045.04c-.09.07-.25.156-.492.237-.48.16-1.173.267-1.963.267s-1.484-.107-1.963-.267a1.689 1.689 0 0 1-.492-.237.42.42 0 0 1-.045-.04v-.855Zm.537-5.334C11.017 8.107 11.71 8 12.5 8s1.484.107 1.963.267c.239.08.397.163.487.233a1.71 1.71 0 0 1-.487.233c-.48.16-1.173.267-1.963.267s-1.484-.107-1.963-.267a1.71 1.71 0 0 1-.487-.233c.09-.07.248-.153.487-.233Z\",\"M4 3a3 3 0 0 0-3 3v3h12.2c1.336-.628 2.999-1 4.8-1 1.801 0 3.464.372 4.8 1h.2V6a3 3 0 0 0-3-3H4Zm1 3h7.5a1 1 0 1 1 0 2H5a1 1 0 0 1 0-2Zm10 .5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5ZM1 11h9.666c-.428.613-.666 1.289-.666 2v8H4a3 3 0 0 1-3-3v-7Zm17-1c-1.475 0-2.857.237-3.907.657-.522.21-1.012.483-1.387.838-.378.357-.706.865-.706 1.505v8c0 .64.328 1.148.706 1.505.375.355.865.629 1.387.838 1.05.42 2.432.657 3.907.657s2.857-.237 3.907-.657c.522-.21 1.012-.483 1.387-.838.378-.357.706-.865.706-1.505v-8c0-.64-.328-1.148-.706-1.505-.375-.355-.865-.629-1.387-.838C20.857 10.237 19.475 10 18 10Zm-3.92 2.948c.13-.123.373-.28.756-.434C15.596 12.21 16.714 12 18 12c1.286 0 2.404.21 3.164.514.383.153.625.31.756.434.021.02.038.037.05.052a.785.785 0 0 1-.05.052c-.13.123-.373.28-.756.434-.76.304-1.878.514-3.164.514-1.286 0-2.404-.21-3.164-.514-.383-.153-.625-.31-.756-.434a.761.761 0 0 1-.05-.052.761.761 0 0 1 .05-.052ZM14 20.962v-1.657l.093.038c1.05.42 2.432.657 3.907.657s2.857-.237 3.907-.657l.093-.038v1.657a.537.537 0 0 1-.08.09c-.13.123-.373.28-.756.434-.76.304-1.878.514-3.164.514-1.286 0-2.404-.21-3.164-.514-.383-.153-.625-.31-.756-.434a.537.537 0 0 1-.08-.09Zm8-5.657v1.657a.537.537 0 0 1-.08.09c-.13.123-.373.28-.756.434-.76.304-1.878.514-3.164.514-1.286 0-2.404-.21-3.164-.514-.383-.153-.625-.31-.756-.434a.537.537 0 0 1-.08-.09v-1.657l.093.038c1.05.42 2.432.657 3.907.657s2.857-.237 3.907-.657l.093-.038Zm.009 5.642v-.002l-.002.006.002-.004Z\",\"M5 5a3 3 0 0 0-3 3v4h16.037c1.545-.63 3.43-1 5.463-1 2.034 0 3.918.37 5.463 1H30V8a3 3 0 0 0-3-3H5Zm2 3h11a1 1 0 1 1 0 2H7a1 1 0 0 1 0-2Zm14 .5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5ZM2 14h13.036c-.662.75-1.036 1.6-1.036 2.5V27H5a3 3 0 0 1-3-3V14Zm14 2.5c0-.724.385-1.301.838-1.713.453-.411 1.052-.736 1.707-.988 1.317-.507 3.07-.799 4.955-.799 1.886 0 3.638.292 4.955.799.655.252 1.255.577 1.707.988.453.412.838.99.838 1.713v11c0 .724-.385 1.301-.838 1.713-.453.411-1.052.736-1.707.988-1.317.507-3.07.799-4.955.799-1.886 0-3.638-.292-4.955-.799-.655-.252-1.255-.577-1.707-.988-.453-.412-.838-.99-.838-1.713v-11Zm2 5.497c.004.018.032.098.184.236.205.187.558.401 1.079.601 1.035.399 2.533.666 4.237.666 1.704 0 3.202-.267 4.237-.666.521-.2.874-.414 1.08-.6.151-.139.179-.219.183-.237v-3.03a7.524 7.524 0 0 1-.545.234c-1.317.507-3.07.799-4.955.799-1.886 0-3.638-.292-4.955-.799a7.524 7.524 0 0 1-.545-.234v3.03Zm0 2.47v3.03c.004.018.032.098.184.236.205.187.558.401 1.079.601 1.035.399 2.533.666 4.237.666 1.704 0 3.202-.267 4.237-.666.521-.2.874-.414 1.08-.6.151-.139.179-.219.183-.237v-3.03a7.524 7.524 0 0 1-.545.234c-1.317.507-3.07.799-4.955.799-1.886 0-3.638-.292-4.955-.799a7.524 7.524 0 0 1-.545-.234Zm0 3.027v.003-.004ZM18 16.5s.04.102.184.233c.205.187.558.401 1.079.601 1.035.399 2.533.666 4.237.666 1.704 0 3.202-.267 4.237-.666.521-.2.874-.414 1.08-.6.144-.132.177-.21.183-.234-.006-.023-.04-.102-.184-.233-.205-.187-.558-.401-1.079-.601C26.702 15.267 25.204 15 23.5 15c-1.704 0-3.202.267-4.237.666-.521.2-.874.414-1.08.6a.695.695 0 0 0-.182.234Z\"],[\"<path d='M0 2.5A1.5 1.5 0 0 1 1.5 1h9A1.5 1.5 0 0 1 12 2.5v2.346a4.208 4.208 0 0 0-1-.512V2.5a.5.5 0 0 0-.5-.5h-9a.5.5 0 0 0-.5.5V5h4.8c-.35.29-.6.63-.72 1H1v3.5a.5.5 0 0 0 .5.5H5v.5c0 .171.028.338.08.5H1.5A1.5 1.5 0 0 1 0 9.5v-7Z'></path><path d='M2 3.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5ZM7.25 3a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 8 3.75v-.5A.25.25 0 0 0 7.75 3h-.5ZM9 3.25A.25.25 0 0 1 9.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 9 3.75v-.5ZM6 6.5c0-.32.164-.574.353-.753a2.19 2.19 0 0 1 .694-.418C7.57 5.119 8.262 5 9 5s1.429.119 1.954.329c.26.104.505.24.693.418.189.179.353.433.353.753v4c0 .32-.164.574-.353.752a2.194 2.194 0 0 1-.694.42C10.43 11.881 9.739 12 9 12s-1.429-.119-1.953-.329a2.194 2.194 0 0 1-.694-.418C6.164 11.073 6 10.82 6 10.5v-4Zm1 1.98a.268.268 0 0 0 .04.046c.065.062.187.14.378.217C7.798 8.895 8.357 9 9 9c.643 0 1.202-.105 1.582-.257.191-.077.313-.155.378-.217a.266.266 0 0 0 .04-.045v-.829a3.356 3.356 0 0 1-.046.02C10.428 7.881 9.738 8 9 8s-1.429-.119-1.953-.329A3.216 3.216 0 0 1 7 7.652v.829Zm0 1.172v.829a.271.271 0 0 0 .04.045c.065.062.187.14.378.217.38.152.939.257 1.582.257.643 0 1.202-.105 1.582-.257a1.23 1.23 0 0 0 .378-.217.27.27 0 0 0 .04-.045v-.829a3.237 3.237 0 0 1-.046.02C10.428 9.881 9.738 10 9 10s-1.429-.119-1.953-.329A3.106 3.106 0 0 1 7 9.652ZM7.015 6.5a.38.38 0 0 0 .025.026c.065.062.187.14.378.217C7.798 6.895 8.357 7 9 7c.643 0 1.202-.105 1.582-.257.191-.077.313-.155.378-.217a.397.397 0 0 0 .025-.026.395.395 0 0 0-.025-.026 1.228 1.228 0 0 0-.378-.217C10.202 6.105 9.643 6 9 6c-.643 0-1.202.105-1.582.257a1.227 1.227 0 0 0-.378.217.38.38 0 0 0-.025.026Z'></path>\",\"<path d='M3 4.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm7.25-.5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5Zm1.75.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5Z'></path><path d='M2.5 2A1.5 1.5 0 0 0 1 3.5v9A1.5 1.5 0 0 0 2.5 14H8v-1H2.5a.5.5 0 0 1-.5-.5V7h6.9c.82-.607 2.128-1 3.6-1 .925 0 1.785.155 2.5.421V3.5A1.5 1.5 0 0 0 13.5 2h-11Zm10 4H2V3.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 .5.5V6h-1.5Z'></path><path d='M9 8.5v6c0 .357.217.617.426.782.215.169.494.3.795.4.606.202 1.412.318 2.279.318s1.673-.116 2.28-.319c.3-.1.58-.23.794-.399.209-.165.426-.425.426-.782v-6c0-.357-.217-.617-.426-.782a2.645 2.645 0 0 0-.795-.4C14.173 7.117 13.367 7 12.5 7s-1.673.116-2.28.319c-.3.1-.58.23-.794.399C9.217 7.883 9 8.143 9 8.5Zm1 1.1c.072.03.146.056.22.081.607.203 1.413.319 2.28.319.867 0 1.673-.116 2.28-.319.075-.025.148-.051.22-.08v.855a.42.42 0 0 1-.045.04c-.09.07-.25.156-.492.237-.48.16-1.173.267-1.963.267s-1.484-.107-1.963-.267a1.689 1.689 0 0 1-.492-.237.42.42 0 0 1-.045-.04v-.855Zm5 2.856a.42.42 0 0 1-.045.04c-.09.07-.25.156-.492.237-.48.16-1.173.267-1.963.267s-1.484-.107-1.963-.267a1.689 1.689 0 0 1-.492-.237.42.42 0 0 1-.045-.04v-.855c.072.028.146.055.22.08.607.203 1.413.319 2.28.319.867 0 1.673-.116 2.28-.319.075-.025.148-.051.22-.08v.855Zm-5 1.145c.072.028.146.055.22.08.607.203 1.413.319 2.28.319.867 0 1.673-.116 2.28-.319.075-.025.148-.051.22-.08v.855a.42.42 0 0 1-.045.04c-.09.07-.25.156-.492.237-.48.16-1.173.267-1.963.267s-1.484-.107-1.963-.267a1.689 1.689 0 0 1-.492-.237.42.42 0 0 1-.045-.04v-.855Zm.537-5.334C11.017 8.107 11.71 8 12.5 8s1.484.107 1.963.267c.239.08.397.163.487.233a1.71 1.71 0 0 1-.487.233c-.48.16-1.173.267-1.963.267s-1.484-.107-1.963-.267a1.71 1.71 0 0 1-.487-.233c.09-.07.248-.153.487-.233Z'></path>\",\"<path d='M1 6a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v3.097a9.886 9.886 0 0 0-2-.734V6a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v3h10.2c-1.099.516-1.978 1.204-2.534 2H3v7a1 1 0 0 0 1 1h6v2H4a3 3 0 0 1-3-3V6Z'></path><path d='M5 6a1 1 0 0 0 0 2h7.5a1 1 0 1 0 0-2H5Zm10 .5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm-.5 4c-1.475 0-2.857.237-3.907.657-.522.21-1.012.483-1.387.838-.378.357-.706.865-.706 1.505v8c0 .64.328 1.148.706 1.505.375.355.865.629 1.387.838 1.05.42 2.432.657 3.907.657s2.857-.237 3.907-.657c.522-.21 1.012-.483 1.387-.838.378-.357.706-.865.706-1.505v-8c0-.64-.328-1.148-.706-1.505-.375-.355-.865-.629-1.387-.838C20.857 10.237 19.475 10 18 10Zm-3.92 2.948c.13-.123.373-.28.756-.434C15.596 12.21 16.714 12 18 12c1.286 0 2.404.21 3.164.514.383.153.625.31.756.434.021.02.038.037.05.052a.785.785 0 0 1-.05.052c-.13.123-.373.28-.756.434-.76.304-1.878.514-3.164.514-1.286 0-2.404-.21-3.164-.514-.383-.153-.625-.31-.756-.434a.761.761 0 0 1-.05-.052.761.761 0 0 1 .05-.052ZM14 20.962v-1.657l.093.038c1.05.42 2.432.657 3.907.657s2.857-.237 3.907-.657l.093-.038v1.657a.537.537 0 0 1-.08.09c-.13.123-.373.28-.756.434-.76.304-1.878.514-3.164.514-1.286 0-2.404-.21-3.164-.514-.383-.153-.625-.31-.756-.434a.537.537 0 0 1-.08-.09Zm8-5.657v1.657a.537.537 0 0 1-.08.09c-.13.123-.373.28-.756.434-.76.304-1.878.514-3.164.514-1.286 0-2.404-.21-3.164-.514-.383-.153-.625-.31-.756-.434a.537.537 0 0 1-.08-.09v-1.657l.093.038c1.05.42 2.432.657 3.907.657s2.857-.237 3.907-.657l.093-.038Zm.009 5.642v-.002l-.002.006.002-.004Z'></path>\",\"<path d='M2 8a3 3 0 0 1 3-3h22a3 3 0 0 1 3 3v4.489a11.148 11.148 0 0 0-2-.834V8a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v4h14.037c-1.26.514-2.295 1.2-3.001 2H4v10a1 1 0 0 0 1 1h9v2H5a3 3 0 0 1-3-3V8Z'></path><path d='M7 8a1 1 0 1 0 0 2h11a1 1 0 1 0 0-2H7Zm14 .5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm-1 5c-1.886 0-3.638.292-4.955.799-.655.252-1.255.577-1.707.988-.453.412-.838.99-.838 1.713v11c0 .724.385 1.301.838 1.713.453.411 1.052.736 1.707.988 1.317.507 3.07.799 4.955.799 1.886 0 3.638-.292 4.955-.799.655-.252 1.255-.577 1.707-.988.453-.412.838-.99.838-1.713v-11c0-.724-.385-1.301-.838-1.713-.453-.411-1.052-.736-1.707-.988-1.317-.507-3.07-.799-4.955-.799Zm-5.316 3.267c.205-.187.558-.401 1.079-.601C20.298 15.267 21.796 15 23.5 15c1.704 0 3.202.267 4.237.666.521.2.874.414 1.08.6.144.132.176.21.182.234-.006.023-.038.102-.183.233-.205.187-.558.401-1.079.601-1.035.399-2.533.666-4.237.666-1.704 0-3.202-.267-4.237-.666-.521-.2-.874-.414-1.08-.6-.144-.132-.176-.21-.182-.234.006-.023.038-.102.183-.233ZM18 27.497v-3.03c.176.084.358.162.545.234 1.317.507 3.07.799 4.955.799 1.886 0 3.638-.292 4.955-.799.187-.072.37-.15.545-.234v3.03c-.004.018-.032.098-.184.236-.205.187-.558.401-1.079.601-1.035.399-2.533.666-4.237.666-1.704 0-3.202-.267-4.237-.666-.521-.2-.874-.414-1.08-.6-.151-.139-.179-.219-.183-.237Zm11-8.53v3.03c-.004.018-.032.098-.184.236-.205.187-.558.401-1.079.601-1.035.399-2.533.666-4.237.666-1.704 0-3.202-.267-4.237-.666-.521-.2-.874-.414-1.08-.6-.151-.139-.179-.219-.183-.237v-3.03c.176.084.358.162.545.234 1.317.507 3.07.799 4.955.799 1.886 0 3.638-.292 4.955-.799.187-.072.37-.15.545-.234Z'></path>\"]];","export default [[\"M0 2.5A1.5 1.5 0 0 1 1.5 1h9A1.5 1.5 0 0 1 12 2.5V5H0V2.5Zm2.5.5a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Zm4.5.25A.25.25 0 0 1 7.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 7 3.75v-.5Zm2 0A.25.25 0 0 1 9.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 9 3.75v-.5ZM0 6v3.5A1.5 1.5 0 0 0 1.5 11h9A1.5 1.5 0 0 0 12 9.5V6H0Zm2.5 1a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7Z\",\"M1 3.5A1.5 1.5 0 0 1 2.5 2h11A1.5 1.5 0 0 1 15 3.5V6H1V3.5Zm2 1a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm7-.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5Zm2 0a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5ZM1 7v5.5A1.5 1.5 0 0 0 2.5 14h11a1.5 1.5 0 0 0 1.5-1.5V7H1Zm2 1.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Z\",\"M1 6a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v3H1V6Zm3 1a1 1 0 0 1 1-1h7.5a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1Zm11-.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM1 11v7a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3v-7H1Zm3 2a1 1 0 0 1 1-1h12.5a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1Zm0 3a1 1 0 0 1 1-1h9a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1Z\",\"M2 8a3 3 0 0 1 3-3h22a3 3 0 0 1 3 3v4H2V8Zm4 1a1 1 0 0 1 1-1h11a1 1 0 1 1 0 2H7a1 1 0 0 1-1-1Zm15-.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM2 14v10a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3V14H2Zm4 3a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H7a1 1 0 0 1-1-1Zm0 4a1 1 0 0 1 1-1h9a1 1 0 1 1 0 2H7a1 1 0 0 1-1-1Z\"],[\"<path d='M2.5 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Zm4.5.25A.25.25 0 0 1 7.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 7 3.75v-.5ZM9.25 3a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5A.25.25 0 0 0 9.75 3h-.5ZM2.5 7a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7Z'></path><path d='M1.5 1A1.5 1.5 0 0 0 0 2.5v7A1.5 1.5 0 0 0 1.5 11h9A1.5 1.5 0 0 0 12 9.5v-7A1.5 1.5 0 0 0 10.5 1h-9ZM1 2.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5V5H1V2.5Zm0 7V6h10v3.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5Z'></path>\",\"<path d='M3.5 4a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Zm6.5.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5ZM12.25 4a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5ZM3 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Zm.5 1.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5Z'></path><path d='M1 3.5A1.5 1.5 0 0 1 2.5 2h11A1.5 1.5 0 0 1 15 3.5v9a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 12.5v-9ZM2.5 3a.5.5 0 0 0-.5.5V6h12V3.5a.5.5 0 0 0-.5-.5h-11ZM2 12.5V7h12v5.5a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5Z'></path>\",\"<path d='M5 6a1 1 0 0 0 0 2h7.5a1 1 0 1 0 0-2H5Zm10 .5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM4 13a1 1 0 0 1 1-1h12.5a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1Zm1 2a1 1 0 1 0 0 2h9a1 1 0 1 0 0-2H5Z'></path><path d='M1 6a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3V6Zm3-1a1 1 0 0 0-1 1v3h18V6a1 1 0 0 0-1-1H4ZM3 18v-7h18v7a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1Z'></path>\",\"<path d='M7 8a1 1 0 0 0 0 2h11a1 1 0 1 0 0-2H7Zm14 .5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1ZM6 17a1 1 0 0 1 1-1h18a1 1 0 1 1 0 2H7a1 1 0 0 1-1-1Zm1 3a1 1 0 1 0 0 2h9a1 1 0 1 0 0-2H7Z'></path><path d='M2 8a3 3 0 0 1 3-3h22a3 3 0 0 1 3 3v16a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V8Zm3-1a1 1 0 0 0-1 1v4h24V8a1 1 0 0 0-1-1H5ZM4 24V14h24v10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1Z'></path>\"]];","export default [[\"<path d='M0 2.5A1.5 1.5 0 0 1 1.5 1h9A1.5 1.5 0 0 1 12 2.5v3h-.146A4.497 4.497 0 0 0 9.5 4.112V3.75a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25V4c-.344 0-.678.039-1 .112V3.75a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25v.5c0 .07.03.135.077.18A4.514 4.514 0 0 0 5.146 5.5H0v-3ZM1.5 4a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 0-1H2a.5.5 0 0 0-.5.5Zm2.968 2.5H0v3A1.5 1.5 0 0 0 1.5 11h3.258A4.479 4.479 0 0 1 4 8.5c0-.718.168-1.398.468-2Z'></path><path d='M8.5 12a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7ZM7.29 6.312c-.31.172-.58.407-.79.688h.625c.044-.247.1-.478.164-.688ZM6 8.5c0 .171.017.338.05.5h.963a9.481 9.481 0 0 1 0-1H6.05c-.033.162-.05.329-.05.5Zm.5 1.5c.21.281.48.516.79.688-.066-.21-.12-.44-.165-.688H6.5Zm1.644 0c.036.17.077.326.123.463.08.239.163.397.233.487.07-.09.153-.248.233-.487A4.25 4.25 0 0 0 8.856 10h-.712Zm1.73 0a5.566 5.566 0 0 1-.163.688c.31-.172.578-.407.79-.688h-.626Zm1.076-1a2.511 2.511 0 0 0 0-1h-.963a9.481 9.481 0 0 1 0 1h.963ZM8.985 9a8.445 8.445 0 0 0 0-1h-.97a8.445 8.445 0 0 0 0 1h.97Zm.89-2h.625a2.512 2.512 0 0 0-.79-.688c.066.21.12.44.165.688Zm-1.608-.463A4.253 4.253 0 0 0 8.144 7h.712a4.253 4.253 0 0 0-.123-.463A1.71 1.71 0 0 0 8.5 6.05a1.71 1.71 0 0 0-.233.487Z'></path>\",\"<path d='M2.5 2A1.5 1.5 0 0 0 1 3.5V6h14V3.5A1.5 1.5 0 0 0 13.5 2h-11Zm1 2h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1 0-1Zm6.5.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5ZM12.25 4h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5a.25.25 0 0 1 .25-.25ZM1 7h7.337A5.493 5.493 0 0 0 6 11.5c0 .9.216 1.75.6 2.5H2.5A1.5 1.5 0 0 1 1 12.5V7Z'></path><path d='M11.5 16a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9Zm-1.458-7.683A3.514 3.514 0 0 0 8.337 10h1.267a7.28 7.28 0 0 1 .367-1.504l.071-.179ZM8 11.5c0 .17.012.337.035.5h1.476a11.217 11.217 0 0 1 0-1H8.035a3.53 3.53 0 0 0-.035.5Zm.337 1.5c.352.742.958 1.34 1.705 1.683a4.69 4.69 0 0 1-.07-.179A7.279 7.279 0 0 1 9.603 13H8.337Zm2.278 0c.071.44.172.83.293 1.153.123.329.258.56.382.701.125.14.197.146.21.146.013 0 .085-.005.21-.146.124-.14.26-.372.382-.701.121-.322.222-.713.293-1.153h-1.77Zm2.781 0a7.284 7.284 0 0 1-.367 1.504l-.071.179A3.514 3.514 0 0 0 14.663 13h-1.267Zm1.569-1a3.538 3.538 0 0 0 0-1h-1.476a11.127 11.127 0 0 1 0 1h1.476Zm-2.477 0a10.212 10.212 0 0 0 0-1h-1.976a10.212 10.212 0 0 0 0 1h1.976Zm.908-2h1.267a3.514 3.514 0 0 0-1.705-1.683A7.184 7.184 0 0 1 13.396 10Zm-2.489-1.153A6.09 6.09 0 0 0 10.616 10h1.77a6.09 6.09 0 0 0-.293-1.153c-.123-.329-.258-.56-.382-.701-.125-.14-.197-.146-.21-.146-.013 0-.085.005-.21.146-.124.14-.26.372-.382.701Z'></path>\",\"<path d='M1 6a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v3h-1.873A8.95 8.95 0 0 0 17 8c-1.488 0-2.891.36-4.127 1H1V6Zm3 1a1 1 0 0 0 1 1h7.5a1 1 0 1 0 0-2H5a1 1 0 0 0-1 1Zm11.5-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM10.292 11H1v7a3 3 0 0 0 3 3h4.936A8.963 8.963 0 0 1 8 17c0-2.305.867-4.408 2.292-6Z'></path><path d='M17 24a7 7 0 1 1 0-14 7 7 0 0 1 0 14Zm-2.422-11.375A5.026 5.026 0 0 0 13 14h1.25c.089-.495.199-.957.328-1.375ZM12 17c0 .343.034.677.1 1h1.926a18.962 18.962 0 0 1 0-2H12.1c-.066.323-.1.657-.1 1Zm1 3c.422.562.96 1.032 1.578 1.375-.13-.418-.24-.88-.327-1.375H13Zm3.288 0c.072.34.155.651.247.926.158.477.326.795.465.975.14-.18.307-.498.465-.975.092-.275.175-.586.247-.926h-1.424Zm3.462 0c-.089.495-.199.957-.328 1.375A5.026 5.026 0 0 0 21 20h-1.25Zm2.15-2a5.022 5.022 0 0 0 0-2h-1.926a18.962 18.962 0 0 1 0 2H21.9Zm-3.93 0a16.856 16.856 0 0 0 0-2h-1.94a16.856 16.856 0 0 0 0 2h1.94Zm1.78-4H21a5.026 5.026 0 0 0-1.578-1.375c.13.418.24.88.328 1.375Zm-3.215-.926a8.503 8.503 0 0 0-.247.926h1.424a8.503 8.503 0 0 0-.247-.926c-.158-.477-.326-.795-.465-.975-.14.18-.307.498-.465.975Z'></path>\",\"<path d='M5 5a3 3 0 0 0-3 3v4h15.411A10.96 10.96 0 0 1 22 11c1.638 0 3.192.358 4.589 1H30V8a3 3 0 0 0-3-3H5Zm2 3h11a1 1 0 1 1 0 2H7a1 1 0 0 1 0-2Zm14 .5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5ZM2 14h12.45A10.97 10.97 0 0 0 11 22c0 1.8.433 3.5 1.2 5H5a3 3 0 0 1-3-3V14Z'></path><path d='M22 31a9 9 0 1 1 0-18 9 9 0 0 1 0 18Zm-2.915-15.366A7.029 7.029 0 0 0 16.255 18h2.125a13.26 13.26 0 0 1 .562-2.008 9.8 9.8 0 0 1 .143-.358ZM15 22c0 .695.101 1.366.29 2h2.8c-.06-.645-.09-1.315-.09-2s.03-1.355.09-2h-2.8a7.001 7.001 0 0 0-.29 2Zm1.255 4a7.029 7.029 0 0 0 2.83 2.366 9.8 9.8 0 0 1-.143-.358c-.224-.6-.414-1.275-.562-2.008h-2.125Zm4.171 0c.113.48.243.918.389 1.306.247.658.517 1.121.765 1.402.25.282.395.292.42.292.026 0 .17-.01.42-.292.248-.28.518-.744.765-1.402.146-.389.277-.826.389-1.306h-3.148Zm5.194 0a13.264 13.264 0 0 1-.562 2.008 9.8 9.8 0 0 1-.143.358A7.029 7.029 0 0 0 27.745 26H25.62Zm3.09-2c.189-.634.29-1.305.29-2 0-.695-.101-1.366-.29-2h-2.8c.06.645.09 1.315.09 2s-.03 1.355-.09 2h2.8Zm-4.81 0a19.8 19.8 0 0 0 .1-2 19.8 19.8 0 0 0-.1-2h-3.8a19.8 19.8 0 0 0-.1 2c0 .697.035 1.367.1 2h3.8Zm1.72-6h2.125a7.029 7.029 0 0 0-2.83-2.366 9.8 9.8 0 0 1 .143.358c.224.6.414 1.275.562 2.008Zm-4.805-1.306A10.63 10.63 0 0 0 20.426 18h3.148a10.63 10.63 0 0 0-.389-1.306c-.247-.658-.517-1.121-.765-1.402-.25-.282-.395-.292-.42-.292-.026 0-.17.01-.42.292-.248.28-.518.744-.765 1.402Z'></path>\"],[\"<path d='M1.5 1A1.5 1.5 0 0 0 0 2.5v7A1.5 1.5 0 0 0 1.5 11h3.258a4.485 4.485 0 0 1-.502-1H1.5a.5.5 0 0 1-.5-.5V6h3.758c.253-.378.561-.715.913-1H1V2.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v2.258c.378.253.715.561 1 .913V2.5A1.5 1.5 0 0 0 10.5 1h-9Z'></path><path d='M2.5 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Zm4.5.25A.25.25 0 0 1 7.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 7 3.75v-.5ZM9.25 3a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5A.25.25 0 0 0 9.75 3h-.5Zm-.75 9a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7ZM7.29 6.312c-.31.172-.58.407-.79.688h.625c.044-.247.1-.478.164-.688ZM6 8.5c0 .171.017.338.05.5h.963a9.481 9.481 0 0 1 0-1H6.05c-.033.162-.05.329-.05.5Zm.5 1.5c.21.281.48.516.79.688-.066-.21-.12-.44-.165-.688H6.5Zm1.644 0c.036.17.077.326.123.463.08.239.163.397.233.487.07-.09.153-.248.233-.487A4.25 4.25 0 0 0 8.856 10h-.712Zm1.73 0a5.566 5.566 0 0 1-.163.688c.31-.172.578-.407.79-.688h-.626Zm1.076-1a2.511 2.511 0 0 0 0-1h-.963a9.481 9.481 0 0 1 0 1h.963ZM8.985 9a8.445 8.445 0 0 0 0-1h-.97a8.445 8.445 0 0 0 0 1h.97Zm.89-2h.625a2.512 2.512 0 0 0-.79-.688c.066.21.12.44.165.688Zm-1.608-.463A4.253 4.253 0 0 0 8.144 7h.712a4.253 4.253 0 0 0-.123-.463A1.71 1.71 0 0 0 8.5 6.05a1.71 1.71 0 0 0-.233.487Z'></path>\",\"<path d='M3 4.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm7.25-.5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5Zm1.75.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5Z'></path><path d='M2.5 2A1.5 1.5 0 0 0 1 3.5v9A1.5 1.5 0 0 0 2.5 14h4.1a5.465 5.465 0 0 1-.393-1H2.5a.5.5 0 0 1-.5-.5V7h6.337c.895-.63 1.986-1 3.163-1 1.33 0 2.55.472 3.5 1.257V3.5A1.5 1.5 0 0 0 13.5 2h-11Zm9 4H2V3.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 .5.5V6h-2.5Z'></path><path d='M11.5 16a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9Zm-1.458-7.683A3.514 3.514 0 0 0 8.337 10h1.267a7.28 7.28 0 0 1 .367-1.504l.071-.179ZM8 11.5c0 .17.012.337.035.5h1.476a11.217 11.217 0 0 1 0-1H8.035a3.53 3.53 0 0 0-.035.5Zm.337 1.5c.352.742.958 1.34 1.705 1.683a4.69 4.69 0 0 1-.07-.179A7.279 7.279 0 0 1 9.603 13H8.337Zm2.278 0c.071.44.172.83.293 1.153.123.329.258.56.382.701.125.14.197.146.21.146.013 0 .085-.005.21-.146.124-.14.26-.372.382-.701.121-.322.222-.713.293-1.153h-1.77Zm2.781 0a7.284 7.284 0 0 1-.367 1.504l-.071.179A3.514 3.514 0 0 0 14.663 13h-1.267Zm1.569-1a3.538 3.538 0 0 0 0-1h-1.476a11.127 11.127 0 0 1 0 1h1.476Zm-2.477 0a10.212 10.212 0 0 0 0-1h-1.976a10.212 10.212 0 0 0 0 1h1.976Zm.908-2h1.267a3.514 3.514 0 0 0-1.705-1.683A7.184 7.184 0 0 1 13.396 10Zm-2.489-1.153A6.09 6.09 0 0 0 10.616 10h1.77a6.09 6.09 0 0 0-.293-1.153c-.123-.329-.258-.56-.382-.701-.125-.14-.197-.146-.21-.146-.013 0-.085.005-.21.146-.124.14-.26.372-.382.701Z'></path>\",\"<path d='M4 3a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h4.936a8.935 8.935 0 0 1-.713-2H4a1 1 0 0 1-1-1v-7h7.292a9.035 9.035 0 0 1 2.58-2H3V6a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v2.936c.728.361 1.4.819 2 1.356V6a3 3 0 0 0-3-3H4Z'></path><path d='M4 7a1 1 0 0 1 1-1h7.5a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1Zm11.5-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM17 24a7 7 0 1 1 0-14 7 7 0 0 1 0 14Zm-2.422-11.375A5.026 5.026 0 0 0 13 14h1.25c.089-.495.199-.957.328-1.375ZM12 17c0 .343.034.677.1 1h1.926a18.962 18.962 0 0 1 0-2H12.1c-.066.323-.1.657-.1 1Zm1 3c.422.562.96 1.032 1.578 1.375-.13-.418-.24-.88-.327-1.375H13Zm3.288 0c.072.34.155.651.247.926.158.477.326.795.465.975.14-.18.307-.498.465-.975.092-.275.175-.586.247-.926h-1.424Zm3.462 0c-.089.495-.199.957-.328 1.375A5.026 5.026 0 0 0 21 20h-1.25Zm2.15-2a5.022 5.022 0 0 0 0-2h-1.926a18.962 18.962 0 0 1 0 2H21.9Zm-3.93 0a16.856 16.856 0 0 0 0-2h-1.94a16.856 16.856 0 0 0 0 2h1.94Zm1.78-4H21a5.026 5.026 0 0 0-1.578-1.375c.13.418.24.88.328 1.375Zm-3.215-.926a8.503 8.503 0 0 0-.247.926h1.424a8.503 8.503 0 0 0-.247-.926c-.158-.477-.326-.795-.465-.975-.14.18-.307.498-.465.975Z'></path>\",\"<path d='M5 5a3 3 0 0 0-3 3v16a3 3 0 0 0 3 3h7.2a10.924 10.924 0 0 1-.786-2H5a1 1 0 0 1-1-1V14h10.45a11.02 11.02 0 0 1 2.961-2H4V8a1 1 0 0 1 1-1h22a1 1 0 0 1 1 1v4h-1.411A11.03 11.03 0 0 1 30 14.45V8a3 3 0 0 0-3-3H5Z'></path><path d='M6 9a1 1 0 0 1 1-1h11a1 1 0 1 1 0 2H7a1 1 0 0 1-1-1Zm15.5-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM22 31a9 9 0 1 1 0-18 9 9 0 0 1 0 18Zm-2.915-15.366A7.029 7.029 0 0 0 16.255 18h2.125a13.26 13.26 0 0 1 .562-2.008 9.8 9.8 0 0 1 .143-.358ZM15 22c0 .695.101 1.366.29 2h2.8c-.06-.645-.09-1.315-.09-2s.03-1.355.09-2h-2.8a7.001 7.001 0 0 0-.29 2Zm1.255 4a7.029 7.029 0 0 0 2.83 2.366 9.8 9.8 0 0 1-.143-.358c-.224-.6-.414-1.275-.562-2.008h-2.125Zm4.171 0c.113.48.243.918.389 1.306.247.658.517 1.121.765 1.402.25.282.395.292.42.292.026 0 .17-.01.42-.292.248-.28.518-.744.765-1.402.146-.389.277-.826.389-1.306h-3.148Zm5.194 0a13.264 13.264 0 0 1-.562 2.008 9.8 9.8 0 0 1-.143.358A7.029 7.029 0 0 0 27.745 26H25.62Zm3.09-2c.189-.634.29-1.305.29-2 0-.695-.101-1.366-.29-2h-2.8c.06.645.09 1.315.09 2s-.03 1.355-.09 2h2.8Zm-4.81 0a19.8 19.8 0 0 0 .1-2 19.8 19.8 0 0 0-.1-2h-3.8a19.8 19.8 0 0 0-.1 2c0 .697.035 1.367.1 2h3.8Zm1.72-6h2.125a7.029 7.029 0 0 0-2.83-2.366 9.8 9.8 0 0 1 .143.358c.224.6.414 1.275.562 2.008Zm-4.805-1.306A10.63 10.63 0 0 0 20.426 18h3.148a10.63 10.63 0 0 0-.389-1.306c-.247-.658-.517-1.121-.765-1.402-.25-.282-.395-.292-.42-.292-.026 0-.17.01-.42.292-.248.28-.518.744-.765 1.402Z'></path>\"]];","export default [[\"<path d='M0 2.5A1.5 1.5 0 0 1 1.5 1h9A1.5 1.5 0 0 1 12 2.5V5h-.671A4.481 4.481 0 0 0 8.5 4a4.481 4.481 0 0 0-2.829 1H0V2.5Zm2 1a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5ZM7.25 3a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 8 3.75v-.5A.25.25 0 0 0 7.75 3h-.5ZM9 3.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5A.25.25 0 0 0 9.75 3h-.5a.25.25 0 0 0-.25.25ZM4.758 6H0v3.5A1.5 1.5 0 0 0 1.5 11h3.258A4.479 4.479 0 0 1 4 8.5c0-.925.28-1.785.758-2.5Zm3.742.5a.5.5 0 1 1 0 1 .5.5 0 0 1 0-1Zm.5 3a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 1 0v1Z'></path><path d='M8.5 5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM6 8.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path>\",\"<path d='M1 3.5A1.5 1.5 0 0 1 2.5 2h11A1.5 1.5 0 0 1 15 3.5V6H1V3.5Zm2 1a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 0-1h-4a.5.5 0 0 0-.5.5Zm7.25-.5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5Zm1.75.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25ZM8.337 7H1v5.5A1.5 1.5 0 0 0 2.5 14h4.1a5.47 5.47 0 0 1-.6-2.5c0-1.86.923-3.505 2.337-4.5ZM12 9.5a.5.5 0 1 0-1 0 .5.5 0 0 0 1 0Zm-1 4a.5.5 0 0 0 1 0v-2a.5.5 0 0 0-1 0v2Z'></path><path d='M7 11.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM11.5 8a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M1 6a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v3h-1.873A8.95 8.95 0 0 0 17 8c-1.488 0-2.891.36-4.127 1H1V6Zm3 1a1 1 0 0 0 1 1h7.5a1 1 0 1 0 0-2H5a1 1 0 0 0-1 1Zm11.5-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM10.292 11H1v7a3 3 0 0 0 3 3h4.936A8.963 8.963 0 0 1 8 17c0-2.305.867-4.408 2.292-6ZM18 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-1 7a1 1 0 0 1-1-1v-3a1 1 0 1 1 2 0v3a1 1 0 0 1-1 1Z'></path><path d='M10 17a7 7 0 1 1 14 0 7 7 0 0 1-14 0Zm7-5a5 5 0 1 0 0 10 5 5 0 0 0 0-10Z'></path>\",\"<path d='M2 8a3 3 0 0 1 3-3h22a3 3 0 0 1 3 3v4h-3.411A10.96 10.96 0 0 0 22 11a10.96 10.96 0 0 0-4.589 1H2V8Zm4 1a1 1 0 0 0 1 1h11a1 1 0 1 0 0-2H7a1 1 0 0 0-1 1Zm15.5-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5ZM14.45 14H2v10a3 3 0 0 0 3 3h7.2c-.767-1.5-1.2-3.2-1.2-5a10.97 10.97 0 0 1 3.45-8ZM23 18a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-1 9a1 1 0 0 1-1-1v-5a1 1 0 1 1 2 0v5a1 1 0 0 1-1 1Z'></path><path d='M13 22a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"],[\"<path d='M1.5 1A1.5 1.5 0 0 0 0 2.5v7A1.5 1.5 0 0 0 1.5 11h3.258a4.485 4.485 0 0 1-.502-1H1.5a.5.5 0 0 1-.5-.5V6h3.758c.253-.378.561-.715.913-1H1V2.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v2.258c.378.253.715.561 1 .913V2.5A1.5 1.5 0 0 0 10.5 1h-9Z'></path><path d='M2.5 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Zm4.5.25A.25.25 0 0 1 7.25 3h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 7 3.75v-.5ZM9.25 3a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5A.25.25 0 0 0 9.75 3h-.5ZM8.5 6.5a.5.5 0 1 1 0 1 .5.5 0 0 1 0-1Zm.5 3a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 1 0v1Z'></path><path d='M8.5 5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7ZM6 8.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Z'></path>\",\"<path d='M3 4.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5Zm7.25-.5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5Zm1.75.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5Z'></path><path d='M2.5 2A1.5 1.5 0 0 0 1 3.5v9A1.5 1.5 0 0 0 2.5 14h4.1a5.465 5.465 0 0 1-.393-1H2.5a.5.5 0 0 1-.5-.5V7h6.337c.895-.63 1.986-1 3.163-1 1.33 0 2.55.472 3.5 1.257V3.5A1.5 1.5 0 0 0 13.5 2h-11Zm9 4H2V3.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 .5.5V6h-2.5Z'></path><path d='M12 9.5a.5.5 0 1 0-1 0 .5.5 0 0 0 1 0Zm-1 4a.5.5 0 0 0 1 0v-2a.5.5 0 0 0-1 0v2Z'></path><path d='M7 11.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM11.5 8a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'></path>\",\"<path d='M4 3a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h4.936a8.935 8.935 0 0 1-.713-2H4a1 1 0 0 1-1-1v-7h7.292a9.035 9.035 0 0 1 2.58-2H3V6a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v2.936c.728.361 1.4.819 2 1.356V6a3 3 0 0 0-3-3H4Z'></path><path d='M4 7a1 1 0 0 1 1-1h7.5a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1Zm11.5-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm0 7.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-1 7a1 1 0 0 1-1-1v-3a1 1 0 1 1 2 0v3a1 1 0 0 1-1 1Z'></path><path d='M10 17a7 7 0 1 1 14 0 7 7 0 0 1-14 0Zm7-5a5 5 0 1 0 0 10 5 5 0 0 0 0-10Z'></path>\",\"<path d='M5 5a3 3 0 0 0-3 3v16a3 3 0 0 0 3 3h7.2a10.924 10.924 0 0 1-.786-2H5a1 1 0 0 1-1-1V14h10.45a11.02 11.02 0 0 1 2.961-2H4V8a1 1 0 0 1 1-1h22a1 1 0 0 1 1 1v4h-1.411A11.03 11.03 0 0 1 30 14.45V8a3 3 0 0 0-3-3H5Z'></path><path d='M6 9a1 1 0 0 1 1-1h11a1 1 0 1 1 0 2H7a1 1 0 0 1-1-1Zm15.5-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1ZM23 18a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-1 9a1 1 0 0 1-1-1v-5a1 1 0 1 1 2 0v5a1 1 0 0 1-1 1Z'></path><path d='M13 22a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-7a7 7 0 1 0 0 14 7 7 0 0 0 0-14Z'></path>\"]];","export default [[\"M2 1.5A1.5 1.5 0 0 1 3.5 0h7A1.5 1.5 0 0 1 12 1.5V3H1.5a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5V9H3.5A1.5 1.5 0 0 1 2 7.5V4h10v3.5A1.5 1.5 0 0 1 10.5 9H10v.5A1.5 1.5 0 0 1 8.5 11h-7A1.5 1.5 0 0 1 0 9.5v-6A1.5 1.5 0 0 1 1.5 2H2v-.5ZM7.25 1a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 8 1.75v-.5A.25.25 0 0 0 7.75 1h-.5ZM9 1.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5A.25.25 0 0 0 9.75 1h-.5a.25.25 0 0 0-.25.25Z\",\"M3 3.5A1.5 1.5 0 0 1 4.5 2h9A1.5 1.5 0 0 1 15 3.5V6H3V5h-.5a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5V12H4.5A1.5 1.5 0 0 1 3 10.5V7h12v3.5a1.5 1.5 0 0 1-1.5 1.5H13v.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 1 12.5v-7A1.5 1.5 0 0 1 2.5 4H3v-.5Zm2 1a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5Zm5.25-.5a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5Zm1.75.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25Z\",\"M5 5a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v3H4a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1H8a3 3 0 0 1-3-3v-5h18v5a3 3 0 0 1-3 3h-1v1a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3h1V5Zm3 1a1 1 0 0 0 1 1h4a1 1 0 1 0 0-2H9a1 1 0 0 0-1 1Zm7.5-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Z\",\"M6 7a3 3 0 0 1 3-3h18a3 3 0 0 1 3 3v4H6v-1H5a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1v-1H9a3 3 0 0 1-3-3v-8h24v8a3 3 0 0 1-3 3h-1v1a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V11a3 3 0 0 1 3-3h1V7Zm4 1a1 1 0 0 0 1 1h8a1 1 0 1 0 0-2h-8a1 1 0 0 0-1 1Zm12.5-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Zm2.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Z\"],[\"M2 1.5A1.5 1.5 0 0 1 3.5 0h7A1.5 1.5 0 0 1 12 1.5v6A1.5 1.5 0 0 1 10.5 9H10v.5A1.5 1.5 0 0 1 8.5 11h-7A1.5 1.5 0 0 1 0 9.5v-6A1.5 1.5 0 0 1 1.5 2H2v-.5Zm7 8V9H3.5A1.5 1.5 0 0 1 2 7.5V3h-.5a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5ZM3 3h8V1.5a.5.5 0 0 0-.5-.5h-.75a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 9 1.75v-.5A.25.25 0 0 1 9.25 1h-1.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 7 1.75v-.5A.25.25 0 0 1 7.25 1H3.5a.5.5 0 0 0-.5.5V3Zm0 1v3.5a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5V4H3Z\",\"<path d='M5.5 4a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Zm4.5.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5ZM12.25 4a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5Z'></path><path d='M4.5 2A1.5 1.5 0 0 0 3 3.5V4h-.5A1.5 1.5 0 0 0 1 5.5v7A1.5 1.5 0 0 0 2.5 14h9a1.5 1.5 0 0 0 1.5-1.5V12h.5a1.5 1.5 0 0 0 1.5-1.5v-7A1.5 1.5 0 0 0 13.5 2h-9ZM12 12v.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-7a.5.5 0 0 1 .5-.5H3v5.5A1.5 1.5 0 0 0 4.5 12H12ZM4 6V3.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5V6H4Zm0 4.5V7h10v3.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5Z'></path>\",\"<path d='M9 5a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2H9Zm6 .5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Z'></path><path d='M8 2a3 3 0 0 0-3 3v1H4a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3v-1h1a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H8Zm9 16v1a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h1v7a3 3 0 0 0 3 3h9ZM7 8V5a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3H7Zm0 7v-5h14v5a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1Z'></path>\",\"<path d='M11 7a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2h-8Zm11 .5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1Zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1Z'></path><path d='M9 4a3 3 0 0 0-3 3v1H5a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h18a3 3 0 0 0 3-3v-1h1a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H9Zm15 20v1a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V11a1 1 0 0 1 1-1h1v11a3 3 0 0 0 3 3h15ZM8 21v-8h20v8a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1ZM27 6a1 1 0 0 1 1 1v4H8V7a1 1 0 0 1 1-1h18Z'></path>\"]];","export default [[\"M3.5 11A1.5 1.5 0 0 1 2 9.5v-7A1.5 1.5 0 0 1 3.5 1h5A1.5 1.5 0 0 1 10 2.5v7A1.5 1.5 0 0 1 8.5 11h-5ZM6 3.253c.194-.15.435-.253.716-.253C7.445 3 8 3.61 8 4.318c0 .357-.139.684-.368.924l-1.27 1.33a.5.5 0 0 1-.724 0L4.394 5.268A1.335 1.335 0 0 1 4 4.318C4 3.61 4.555 3 5.284 3c.281 0 .522.103.716.253ZM5.5 8.5A.5.5 0 0 1 6 8h1.5a.5.5 0 1 1 0 1H6a.5.5 0 0 1-.5-.5Zm-.5 0a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z\",\"M3 12.5A1.5 1.5 0 0 0 4.5 14h7a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 11.5 1h-7A1.5 1.5 0 0 0 3 2.5v10Zm4-3a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm.5 1.5a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Zm-1.5.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM5.5 10a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm3.455-7c-.382 0-.705.162-.955.388A1.415 1.415 0 0 0 7.045 3C6.172 3 5.5 3.733 5.5 4.591a1.613 1.613 0 0 0 .478 1.15l1.66 1.74a.5.5 0 0 0 .724 0l1.694-1.774c.276-.289.444-.684.444-1.116C10.5 3.733 9.828 3 8.955 3Z\",\"M7 22a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H7Zm6.432-17c-.562 0-1.045.206-1.432.506-.387-.3-.87-.506-1.432-.506C9.11 5 8 6.221 8 7.636a2.67 2.67 0 0 0 .788 1.9l2.489 2.609a1 1 0 0 0 1.446 0l2.541-2.661A2.668 2.668 0 0 0 16 7.636C16 6.221 14.89 5 13.432 5ZM8 16a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm2-1a1 1 0 0 1 1-1h5a1 1 0 1 1 0 2h-5a1 1 0 0 1-1-1Zm0 3a1 1 0 0 1 1-1h5a1 1 0 1 1 0 2h-5a1 1 0 0 1-1-1Zm-1 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\",\"M8 30a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v22a3 3 0 0 1-3 3H8Zm6-7a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2h-8Zm-1-3a1 1 0 0 1 1-1h8a1 1 0 1 1 0 2h-8a1 1 0 0 1-1-1Zm-3 5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm1-5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm6.91-13c-.763 0-1.41.324-1.91.776C15.5 7.324 14.853 7 14.09 7 12.345 7 11 8.465 11 10.182a3.226 3.226 0 0 0 .955 2.3l3.322 3.481a1 1 0 0 0 1.446 0l3.389-3.549A3.223 3.223 0 0 0 21 10.182C21 8.465 19.656 7 17.91 7Z\"],[\"<path d='M5.5 8.5A.5.5 0 0 1 6 8h1.5a.5.5 0 1 1 0 1H6a.5.5 0 0 1-.5-.5Zm-1 .5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm2.216-6c-.281 0-.522.103-.716.253A1.158 1.158 0 0 0 5.284 3C4.555 3 4 3.61 4 4.318a1.335 1.335 0 0 0 .394.95l1.244 1.304a.5.5 0 0 0 .724 0l1.27-1.33c.23-.24.368-.567.368-.924C8 3.61 7.445 3 6.716 3Z'></path><path d='M3.5 11A1.5 1.5 0 0 1 2 9.5v-7A1.5 1.5 0 0 1 3.5 1h5A1.5 1.5 0 0 1 10 2.5v7A1.5 1.5 0 0 1 8.5 11h-5ZM3 9.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0-.5.5v7Z'></path>\",\"<path d='M7 10.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5Zm.5 1.5a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Zm-1.5.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0ZM5.5 11a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Zm3.455-7c-.382 0-.705.162-.955.388A1.415 1.415 0 0 0 7.045 4C6.172 4 5.5 4.733 5.5 5.591a1.613 1.613 0 0 0 .478 1.15l1.66 1.74a.5.5 0 0 0 .724 0l1.694-1.774c.276-.289.444-.684.444-1.116C10.5 4.733 9.828 4 8.955 4Z'></path><path d='M4.5 15A1.5 1.5 0 0 1 3 13.5v-10A1.5 1.5 0 0 1 4.5 2h7A1.5 1.5 0 0 1 13 3.5v10a1.5 1.5 0 0 1-1.5 1.5h-7ZM4 13.5a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-10a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5v10Z'></path>\",\"<path d='M10 15a1 1 0 0 1 1-1h5a1 1 0 1 1 0 2h-5a1 1 0 0 1-1-1Zm-2 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm2 2a1 1 0 0 1 1-1h5a1 1 0 1 1 0 2h-5a1 1 0 0 1-1-1Zm-2 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm5.432-14c-.562 0-1.045.206-1.432.506-.387-.3-.87-.506-1.432-.506C9.11 5 8 6.221 8 7.636a2.67 2.67 0 0 0 .788 1.9l2.489 2.609a1 1 0 0 0 1.446 0l2.541-2.661A2.667 2.667 0 0 0 16 7.636C16 6.221 14.89 5 13.432 5Z'></path><path d='M7 22a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H7Zm-1-3a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v14Z'></path>\",\"<path d='M14 23a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2h-8Zm-1-3a1 1 0 0 1 1-1h8a1 1 0 1 1 0 2h-8a1 1 0 0 1-1-1Zm-3 5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm1-5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm5-12.224C16.5 7.324 17.147 7 17.91 7 19.655 7 21 8.465 21 10.182c0 .863-.336 1.654-.888 2.232l-3.389 3.55a1 1 0 0 1-1.446 0l-3.322-3.482a3.226 3.226 0 0 1-.955-2.3C11 8.465 12.344 7 14.09 7c.763 0 1.41.324 1.91.776Z'></path><path d='M5 27a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H8a3 3 0 0 0-3 3v22Zm3 1a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v22a1 1 0 0 1-1 1H8Z'></path>\"]];","export default [[\"M1 2.5A1.5 1.5 0 0 1 2.5 1h6A1.5 1.5 0 0 1 10 2.5v7A1.5 1.5 0 0 1 8.5 11h-6A1.5 1.5 0 0 1 1 9.5v-7ZM2 3v1h1V3H2Zm2 0v1h5V3H4ZM3 5H2v2h1V5Zm1 2V5h5v2H4ZM3 8H2v1.5a.5.5 0 0 0 .5.5H3V8Zm1 2h4.5a.5.5 0 0 0 .5-.5V8H4v2Z\",\"M2 2.5A1.5 1.5 0 0 1 3.5 1h9A1.5 1.5 0 0 1 14 2.5v11a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 13.5v-11ZM13 4H6v2h7V4ZM5 4H3v2h2V4ZM3 7h2v3H3V7Zm0 4h2v3H3.5a.5.5 0 0 1-.5-.5V11Zm9.5 3H6v-3h7v2.5a.5.5 0 0 1-.5.5ZM6 7v3h7V7H6Z\",\"M3 5a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V5Zm16 2H9v3h10V7ZM7 7H5v3h2V7Zm-2 8v-3h2v3H5Zm0 4v-2h2v3H6a1 1 0 0 1-1-1Zm13 1H9v-3h10v2a1 1 0 0 1-1 1Zm-9-8v3h10v-3H9Z\",\"M4 5a3 3 0 0 1 3-3h18a3 3 0 0 1 3 3v22a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V5Zm22 4H11v5h15V9ZM9 9H6v5h3V9Zm-3 7h3v5H6v-5Zm0 7h3v5H7a1 1 0 0 1-1-1v-4Zm19 5H11v-5h15v4a1 1 0 0 1-1 1ZM11 16v5h15v-5H11Z\"]];","export default [[\"<g clip-path='url(#a)'><path d='M2.5 1A1.5 1.5 0 0 0 1 2.5v7A1.5 1.5 0 0 0 2.5 11h1.55a2.306 2.306 0 0 1 .066-1H4V8h1.073l.5-1H4V5h2.61C7.42 3.892 9 3.754 10 4.585V2.5A1.5 1.5 0 0 0 8.5 1h-6ZM2 4V3h1v1H2Zm2 0V3h5v1H4ZM2 7V5h1v2H2Zm0 2.5V8h1v2h-.5a.5.5 0 0 1-.5-.5ZM8.5 7a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5Zm.5 3a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z'></path><path d='M7.293 5.797c.497-.995 1.917-.995 2.414 0l2.125 4.25A1.35 1.35 0 0 1 10.625 12h-4.25a1.35 1.35 0 0 1-1.207-1.954l2.125-4.249Zm1.52.447a.35.35 0 0 0-.626 0l-2.125 4.25a.35.35 0 0 0 .313.506h4.25a.35.35 0 0 0 .313-.506l-2.125-4.25Z'></path></g><defs><clipPath id='a'><path d='M0 0h12v12H0z'></path></clipPath></defs>\",\"<g clip-path='url(#a)'><path d='M3.5 1A1.5 1.5 0 0 0 2 2.5v11A1.5 1.5 0 0 0 3.5 15h2.593a2.661 2.661 0 0 1-.075-1H6v-3h1.396l.527-1H6V7h3.528c.467-.667 1.201-1 1.935-1 .826 0 1.652.421 2.097 1.264l.44.834V2.5A1.5 1.5 0 0 0 12.5 1h-9Zm7.963 5H6V4h7v2h-1.537ZM3 4h2v2H3V4Zm2 3v3H3V7h2Zm0 4v3H3.5a.5.5 0 0 1-.5-.5V11h2Z'></path><path d='M10.963 10.006a.5.5 0 1 1 1 0v1.5a.5.5 0 0 1-1 0v-1.5Zm1 3.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z'></path><path d='m12.675 7.73 3.052 5.783a1.7 1.7 0 0 1-1.504 2.493h-5.52A1.7 1.7 0 0 1 7.2 13.513l3.052-5.782a1.37 1.37 0 0 1 2.423 0Zm-.884.467a.37.37 0 0 0-.655 0L8.085 13.98a.7.7 0 0 0 .619 1.027h5.52a.7.7 0 0 0 .618-1.027l-3.051-5.782Z'></path></g><defs><clipPath id='a'><path d='M0 0h16v16H0z'></path></clipPath></defs>\",\"<g clip-path='url(#a)'><path d='M6 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h.288a5.151 5.151 0 0 1-.003-2H6a1 1 0 0 1-1-1v-2h2v1.2l2-3.5V12h1.543l.899-1.573a5.24 5.24 0 0 1 .27-.427H9V7h10v1.713a5.235 5.235 0 0 1 1.558 1.714L21 11.2V5a3 3 0 0 0-3-3H6Zm-1 8V7h2v3H5Zm0 2h2v3H5v-3Z'></path><path d='M15 15a1 1 0 1 1 2 0v2a1 1 0 1 1-2 0v-2Zm2 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path><path d='M13.395 11.543c1.152-2.016 4.058-2.016 5.21 0l4.553 7.969c1.143 2-.3 4.488-2.604 4.488h-9.108c-2.303 0-3.747-2.488-2.604-4.488l4.553-7.97Zm3.473.992a1 1 0 0 0-1.736 0l-4.554 7.969A1 1 0 0 0 11.446 22h9.108a1 1 0 0 0 .868-1.496l-4.554-7.969Z'></path></g><defs><clipPath id='a'><path d='M0 0h24v24H0z'></path></clipPath></defs>\",\"<path d='M7 2a3 3 0 0 0-3 3v22a3 3 0 0 0 3 3h4.188A5.231 5.231 0 0 1 11 26.412V23h1.757l1.106-2H11v-5h5.627l.866-1.566a5.54 5.54 0 0 1 .268-.434H11V9h15v4.677c.186.231.356.484.507.757l1.493 2.7V5a3 3 0 0 0-3-3H7ZM6 9h3v5H6V9Zm3 7v5H6v-5h3Zm0 7v5H7a1 1 0 0 1-1-1v-4h3Z'></path><path d='M21 20a1 1 0 1 1 2 0v4a1 1 0 0 1-2 0v-4Zm2 7a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'></path><path d='M19.462 15.523c1.104-1.995 3.972-1.995 5.076 0l6.055 10.951C31.717 28.507 30.247 31 27.924 31H16.076c-2.323 0-3.793-2.493-2.669-4.526l6.055-10.95Zm3.326.968a.9.9 0 0 0-1.576 0l-6.055 10.95c-.387.7.12 1.559.92 1.559h11.847c.8 0 1.306-.858.919-1.558L22.788 16.49Z'></path>\"]];","export default [[\"M4.95 4A2.503 2.503 0 0 1 3 5.95V7h1.5a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-4A.5.5 0 0 1 .5 7H2V5.95A2.5 2.5 0 1 1 4.95 3h1.343l1.853-1.854a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1 0 .708L9 5.707V7.05a2.5 2.5 0 1 1-1 0V5.707L6.293 4H4.95ZM2.5 2a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM7 9.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm.207-6L8.5 4.793 9.793 3.5 8.5 2.207 7.207 3.5Z\",\"M0 4.5A3.5 3.5 0 0 1 6.965 4h1.328l2.853-2.854a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1 0 .708L12 7.707v1.328a3.5 3.5 0 1 1-1 0V7.707L8.293 5H6.965A3.502 3.502 0 0 1 4 7.965V9h2.5a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-6A.5.5 0 0 1 .5 9H3V7.965A3.5 3.5 0 0 1 0 4.5ZM3.5 2a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5ZM9 12.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Zm.207-8L11.5 6.793 13.793 4.5 11.5 2.207 9.207 4.5Z\",\"M6 1a5 5 0 0 0-1 9.9V13H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-8a1 1 0 0 0-1-1H7v-2.1A5.006 5.006 0 0 0 10.9 7h2.686L17 10.414V13.1a5.002 5.002 0 0 0 1 9.9 5 5 0 0 0 1-9.9v-2.686l3.707-3.707a1 1 0 0 0 0-1.414l-4-4a1 1 0 0 0-1.414 0L13.586 5H10.9A5.002 5.002 0 0 0 6 1ZM3 6a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm15-2.586L15.414 6 18 8.586 20.586 6 18 3.414ZM18 15a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z\",\"M23.293 2.293a1 1 0 0 1 1.414 0l6 6a1 1 0 0 1 0 1.414L25 15.414v2.669A6.002 6.002 0 0 1 24 30a6 6 0 0 1-1-11.917v-2.669L17.586 10h-3.669A6.005 6.005 0 0 1 9 14.917V18h4a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V19a1 1 0 0 1 1-1h4v-3.083A6.002 6.002 0 0 1 8 3a6.002 6.002 0 0 1 5.917 5h3.669l5.707-5.707ZM24 4.414 19.414 9 24 13.585 28.586 9 24 4.414ZM8 5a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm12 19a4 4 0 1 1 8 0 4 4 0 0 1-8 0Z\"],[\"M4.95 4A2.503 2.503 0 0 1 3 5.95V7h1.5a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-4A.5.5 0 0 1 .5 7H2V5.95A2.5 2.5 0 1 1 4.95 3h1.343l1.853-1.854a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1 0 .708L9 5.707V7.05a2.5 2.5 0 1 1-1 0V5.707L6.293 4H4.95ZM2.5 2a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM1 8v3h3V8H1Zm6 1.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm.207-6L8.5 4.793 9.793 3.5 8.5 2.207 7.207 3.5Z\",\"<path d='M3.5 7.5v2' stroke='#000'></path><path d='M3.5 1a3.5 3.5 0 1 0 3.465 4h1.328L11 7.707v1.328a3.5 3.5 0 1 0 1 0V7.707l2.854-2.853a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708 0L8.293 4H6.965A3.5 3.5 0 0 0 3.5 1ZM1 4.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0ZM11.5 10a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Zm0-3.207L9.207 4.5 11.5 2.207 13.793 4.5 11.5 6.793Z'></path><path d='M.5 9a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5v-6a.5.5 0 0 0-.5-.5h-6Zm.5 6v-5h5v5H1Z'></path>\",\"M6 1a5 5 0 0 0-1 9.9V13H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-8a1 1 0 0 0-1-1H7v-2.1A5.006 5.006 0 0 0 10.9 7h2.686L17 10.414V13.1a5.002 5.002 0 0 0 1 9.9 5 5 0 0 0 1-9.9v-2.686l3.707-3.707a1 1 0 0 0 0-1.414l-4-4a1 1 0 0 0-1.414 0L13.586 5H10.9A5.002 5.002 0 0 0 6 1ZM3 6a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm15-2.586L15.414 6 18 8.586 20.586 6 18 3.414ZM3 15v6h6v-6H3Zm15 0a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z\",\"M23.293 2.293a1 1 0 0 1 1.414 0l6 6a1 1 0 0 1 0 1.414L25 15.414v2.669A6.002 6.002 0 0 1 24 30a6 6 0 0 1-1-11.917v-2.669L17.586 10h-3.669A6.005 6.005 0 0 1 9 14.917V18h4a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V19a1 1 0 0 1 1-1h4v-3.083A6.002 6.002 0 0 1 8 3a6.002 6.002 0 0 1 5.917 5h3.669l5.707-5.707ZM24 4.414 19.414 9 24 13.585 28.586 9 24 4.414ZM8 5a4 4 0 1 0 0 8 4 4 0 0 0 0-8ZM4 20v8h8v-8H4Zm16 4a4 4 0 1 1 8 0 4 4 0 0 1-8 0Z\"]];","export default [[\"M5.5 11a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11Zm.646-5.854.647-.646H3.5a.5.5 0 0 1 0-1h3.293l-.647-.646a.5.5 0 0 1 .708-.708l1.5 1.5a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708-.708Zm1.708 2.208a.5.5 0 1 0-.708-.708L5.5 8.293l-.646-.647a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0l2-2Z\",\"M7.5 15a7.5 7.5 0 1 0 0-15 7.5 7.5 0 0 0 0 15Zm2.854-5.146a.5.5 0 0 0-.708-.708L7 11.793l-1.146-1.147a.5.5 0 0 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3ZM9.293 5H4.5a.5.5 0 0 0 0 1h4.793L7.646 7.646a.5.5 0 0 0 .708.708l2.5-2.5a.498.498 0 0 0-.004-.71L8.354 2.645a.5.5 0 0 0-.708.708L9.293 5Z\",\"M12 23c6.075 0 11-4.925 11-11S18.075 1 12 1 1 5.925 1 12s4.925 11 11 11Zm.793-11.207L14.586 10H7a1 1 0 1 1 0-2h7.586l-1.793-1.793a1 1 0 0 1 1.414-1.414l3.5 3.5a1 1 0 0 1 0 1.414l-3.5 3.5a1 1 0 0 1-1.414-1.414Zm3.914 3.414a1 1 0 0 0-1.414-1.414L12 17.086l-1.293-1.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4Z\",\"M16 30c7.732 0 14-6.268 14-14S23.732 2 16 2 2 8.268 2 16s6.268 14 14 14Zm.293-13.707L19.586 13H10a1 1 0 1 1 0-2h9.586l-3.293-3.293a1 1 0 0 1 1.414-1.414l5 5a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414-1.414Zm4.414 4.414a1 1 0 0 0-1.414-1.414L15 23.586l-1.793-1.793a1 1 0 0 0-1.414 1.414l2.5 2.5a1 1 0 0 0 1.414 0l5-5Z\"],[\"M1 5.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM5.5 0a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11Zm2.854 3.646a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708-.708l.647-.646H3.5a.5.5 0 0 1 0-1h3.293l-.647-.646a.5.5 0 0 1 .708-.708l1.5 1.5Zm-.5 3a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708 0l-1-1a.5.5 0 1 1 .708-.708l.646.647 1.646-1.647a.5.5 0 0 1 .708 0Z\",\"M1 7.5a6.5 6.5 0 1 1 13 0 6.5 6.5 0 0 1-13 0ZM7.5 0a7.5 7.5 0 1 0 0 15 7.5 7.5 0 0 0 0-15Zm-3 5h4.793L7.646 3.354a.5.5 0 0 1 .708-.708l2.496 2.497a.503.503 0 0 1 .117.535.5.5 0 0 1-.113.176l-2.5 2.5a.5.5 0 0 1-.708-.708L9.293 6H4.5a.5.5 0 0 1 0-1Zm5.854 4.854a.5.5 0 0 0-.708-.708L7 11.793l-1.146-1.147a.5.5 0 0 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3Z\",\"M3 12a9 9 0 1 1 18 0 9 9 0 0 1-18 0Zm9-11C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1Zm.793 10.793L14.586 10H7a1 1 0 0 1 0-2h7.586l-1.793-1.793a1 1 0 0 1 1.414-1.414l3.5 3.5a1 1 0 0 1 0 1.414l-3.5 3.5a1 1 0 0 1-1.414-1.414Zm3.914 3.414a1 1 0 0 0-1.414-1.414L12 17.086l-1.293-1.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4Z\",\"M4 16C4 9.373 9.373 4 16 4s12 5.373 12 12-5.373 12-12 12S4 22.627 4 16ZM16 2C8.268 2 2 8.268 2 16s6.268 14 14 14 14-6.268 14-14S23.732 2 16 2Zm.293 14.293L19.586 13H10a1 1 0 1 1 0-2h9.586l-3.293-3.293a1 1 0 0 1 1.414-1.414l5 5a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414-1.414Zm4.414 4.414a1 1 0 0 0-1.414-1.414L15 23.586l-1.793-1.793a1 1 0 0 0-1.414 1.414l2.5 2.5a1 1 0 0 0 1.414 0l5-5Z\"]];","export default [[\"M5.5 11a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11ZM4.032 2.5a.5.5 0 0 0-.435.253l-1.422 2.5a.5.5 0 0 0 0 .494l1.422 2.5a.5.5 0 0 0 .435.253h2.892a.5.5 0 0 0 .43-.246l1.471-2.5a.5.5 0 0 0 0-.508l-1.47-2.5a.5.5 0 0 0-.431-.246H4.032Zm-.847 3 1.137-2h2.316l1.176 2-1.176 2H4.322l-1.137-2Z\",\"M7.5 15a7.5 7.5 0 1 0 0-15 7.5 7.5 0 0 0 0 15ZM5.44 3.507a.493.493 0 0 0-.429.25l-1.99 3.5a.493.493 0 0 0 0 .487l1.99 3.5c.088.154.252.25.43.25h4.048a.493.493 0 0 0 .425-.244l2.06-3.5a.493.493 0 0 0 0-.5l-2.06-3.5a.493.493 0 0 0-.425-.243H5.44ZM4.017 7.5l1.71-3.007h3.48L10.976 7.5l-1.769 3.007h-3.48L4.017 7.5Z\",\"M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM9.635 6a2 2 0 0 0-1.739 1.011l-2.274 4a2 2 0 0 0 0 1.978l2.274 4A2 2 0 0 0 9.635 18h4.63a2 2 0 0 0 1.724-.986l2.353-4a2 2 0 0 0 0-2.028l-2.353-4A2 2 0 0 0 14.265 6h-4.63Zm0 2h4.63l2.353 4-2.352 4H9.634L7.36 12l2.275-4Z\",\"M16 30c7.732 0 14-6.268 14-14S23.732 2 16 2 2 8.268 2 16s6.268 14 14 14ZM13.044 8a3 3 0 0 0-2.608 1.517l-2.843 5a3 3 0 0 0 0 2.966l2.843 5A3 3 0 0 0 13.044 24h5.79a3 3 0 0 0 2.586-1.479l2.941-5a3 3 0 0 0 0-3.042l-2.94-5A3 3 0 0 0 18.834 8h-5.791Zm-.87 2.506a1 1 0 0 1 .87-.506h5.79a1 1 0 0 1 .863.493l2.94 5a1 1 0 0 1 0 1.014l-2.94 5a1 1 0 0 1-.862.493h-5.791a1 1 0 0 1-.87-.506l-2.843-5a1 1 0 0 1 0-.988l2.844-5Z\"],[\"M1 5.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM5.5 0a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11ZM4.032 2.5a.5.5 0 0 0-.435.253l-1.422 2.5a.5.5 0 0 0 0 .494l1.422 2.5a.5.5 0 0 0 .435.253h2.892a.5.5 0 0 0 .43-.246l1.471-2.5a.5.5 0 0 0 0-.508l-1.47-2.5a.5.5 0 0 0-.431-.246H4.032Zm-.847 3 1.137-2h2.316l1.176 2-1.176 2H4.322l-1.137-2Z\",\"M1 7.5a6.5 6.5 0 1 1 13 0 6.5 6.5 0 0 1-13 0ZM7.5 0a7.5 7.5 0 1 0 0 15 7.5 7.5 0 0 0 0-15ZM5.44 3.507a.493.493 0 0 0-.429.25l-1.99 3.5a.493.493 0 0 0 0 .487l1.99 3.5c.088.154.252.25.43.25h4.048a.493.493 0 0 0 .425-.244l2.06-3.5a.493.493 0 0 0 0-.5l-2.06-3.5a.493.493 0 0 0-.425-.243H5.44ZM4.017 7.5l1.71-3.007h3.48L10.976 7.5l-1.769 3.007h-3.48L4.017 7.5Z\",\"M3 12a9 9 0 1 0 18 0 9 9 0 0 0-18 0Zm9 11C5.925 23 1 18.075 1 12S5.925 1 12 1s11 4.925 11 11-4.925 11-11 11ZM9.635 6a2 2 0 0 0-1.739 1.011l-2.274 4a2 2 0 0 0 0 1.978l2.274 4A2 2 0 0 0 9.635 18h4.63a2 2 0 0 0 1.724-.986l2.353-4a2 2 0 0 0 0-2.028l-2.353-4A2 2 0 0 0 14.265 6h-4.63Zm0 2h4.63l2.353 4-2.352 4H9.634L7.36 12l2.275-4Z\",\"M4 16C4 9.373 9.373 4 16 4s12 5.373 12 12-5.373 12-12 12S4 22.627 4 16ZM16 2C8.268 2 2 8.268 2 16s6.268 14 14 14 14-6.268 14-14S23.732 2 16 2Zm-2.956 6a3 3 0 0 0-2.608 1.517l-2.843 5a3 3 0 0 0 0 2.966l2.843 5A3 3 0 0 0 13.044 24h5.79a3 3 0 0 0 2.586-1.479l2.941-5a3 3 0 0 0 0-3.042l-2.94-5A3 3 0 0 0 18.834 8h-5.791Zm-.87 2.506a1 1 0 0 1 .87-.506h5.79a1 1 0 0 1 .863.493l2.94 5a1 1 0 0 1 0 1.014l-2.94 5a1 1 0 0 1-.862.493h-5.791a1 1 0 0 1-.87-.506l-2.843-5a1 1 0 0 1 0-.988l2.844-5Z\"]];","export default [[\"<path d='M4.872 4.934C3.495 5.099 2.36 6.11 1.916 6.777a.5.5 0 0 1-.832-.555c.556-.834 1.921-2.072 3.67-2.281 1.68-.202 3.545.561 5.246 3.114V5.5a.5.5 0 0 1 1 0v3a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1 0-1h1.917C7.78 5.327 6.134 4.782 4.872 4.934Z'></path><path d='M6 7.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z'></path>\",\"<path d='M6.355 6.229c-1.696.41-2.98 1.906-3.448 2.562a.5.5 0 1 1-.814-.58c.498-.7 1.964-2.454 4.026-2.954C7.175 5 8.37 5.079 9.625 5.76c1.106.602 2.239 1.66 3.375 3.325V7.5a.5.5 0 0 1 1 0v3a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1 0-1h1.907c-1.16-1.79-2.265-2.82-3.26-3.36-1.03-.56-1.968-.611-2.792-.411Z'></path><path d='M8 9.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z'></path>\",\"<path d='M10.835 9.437c-2.427.054-4.682 1.588-6.076 3.214a1 1 0 1 1-1.518-1.302c1.606-1.874 4.351-3.84 7.55-3.911 2.79-.063 5.66 1.316 8.209 4.879V10.5a1 1 0 1 1 2 0v5a1 1 0 0 1-1 1h-5a1 1 0 1 1 0-2h3.052c-2.47-3.994-5.065-5.11-7.217-5.063Z'></path><path d='M11 14a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z'></path>\",\"<path d='M13.176 13.235c-3.102.554-5.4 3.145-6.395 4.39a1 1 0 1 1-1.562-1.249c1.004-1.255 3.707-4.414 7.605-5.11 3.581-.64 7.755.84 12.176 6.574V15a1 1 0 1 1 2 0v5.982a1.011 1.011 0 0 1-.044.312.996.996 0 0 1-.997.706H20a1 1 0 1 1 0-2h4.113c-4.445-6.22-8.222-7.25-10.937-6.765Z'></path><path d='M15 19a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z'></path>\"],[\"<path d='M4.872 4.934C3.495 5.099 2.36 6.11 1.916 6.777a.5.5 0 0 1-.832-.555c.556-.834 1.921-2.072 3.67-2.281 1.68-.202 3.545.561 5.246 3.114V5.5a.5.5 0 0 1 1 0v3a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1 0-1h1.917C7.78 5.327 6.134 4.782 4.872 4.934Z'></path><path d='M6 7.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z'></path>\",\"<path d='M6.355 6.228c-1.696.41-2.98 1.906-3.448 2.562a.5.5 0 1 1-.814-.58c.498-.7 1.964-2.454 4.026-2.954C7.175 5 8.37 5.078 9.625 5.76c1.106.602 2.239 1.66 3.375 3.325V7.5a.5.5 0 0 1 1 0v3a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1 0-1h1.908c-1.16-1.791-2.266-2.82-3.26-3.361-1.031-.56-1.97-.611-2.793-.411Z'></path><path d='M8 9.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z'></path>\",\"<path d='M10.835 9.437c-2.427.054-4.682 1.588-6.076 3.214a1 1 0 1 1-1.518-1.302c1.606-1.874 4.351-3.84 7.55-3.911 2.79-.063 5.66 1.316 8.209 4.879V10.5a1 1 0 1 1 2 0v5a1 1 0 0 1-1 1h-5a1 1 0 1 1 0-2h3.052c-2.47-3.994-5.065-5.11-7.217-5.063Z'></path><path d='M11 14a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z'></path>\",\"<path d='M13.176 13.235c-3.102.554-5.4 3.145-6.395 4.39a1 1 0 1 1-1.562-1.249c1.004-1.255 3.707-4.414 7.605-5.11 3.581-.64 7.755.84 12.176 6.574V15a1 1 0 1 1 2 0v5.982a1.011 1.011 0 0 1-.044.312.996.996 0 0 1-.997.706H20a1 1 0 1 1 0-2h4.113c-4.445-6.22-8.222-7.25-10.937-6.765Z'></path><path d='M15 19a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z'></path>\"]];","export default [[\"M8 1a3 3 0 0 0-2.916 3.709L1.397 8.396a1.56 1.56 0 0 0 2.207 2.208l3.688-3.688A3 3 0 0 0 10.95 3.45a.5.5 0 0 0-.845-.263L9 4.293 7.707 3l1.105-1.105a.5.5 0 0 0-.263-.845A3.014 3.014 0 0 0 8 1Z\",\"M11.5 1a3.5 3.5 0 0 0-3.32 4.612l-6.283 6.284a1.56 1.56 0 0 0 2.207 2.208l6.284-6.285a3.5 3.5 0 0 0 4.462-4.336.5.5 0 0 0-.832-.208L12.5 4.793 11.207 3.5l1.518-1.518a.5.5 0 0 0-.208-.832A3.5 3.5 0 0 0 11.5 1Z\",\"M10 7.5a6.5 6.5 0 0 1 8.97-6.014 1 1 0 0 1 .327 1.632L16.914 5.5 18.5 7.086l2.382-2.382a1 1 0 0 1 1.632.327 6.5 6.5 0 0 1-7.84 8.71l-7.552 7.552a3 3 0 0 1-4.243 0l-.172-.172a3 3 0 0 1 0-4.242l7.553-7.553A6.504 6.504 0 0 1 10 7.5Z\",\"M16 8.5a7.5 7.5 0 0 1 10.784-6.744 1 1 0 0 1 .269 1.605L24.414 6 26 7.586l2.639-2.639a1 1 0 0 1 1.606.269 7.5 7.5 0 0 1-9.36 10.315L7.62 28.793a3 3 0 0 1-4.243 0l-.172-.172a3 3 0 0 1 0-4.242L16.47 11.116A7.487 7.487 0 0 1 16 8.5Z\"],[\"M5 4a3 3 0 0 1 4.436-2.635.5.5 0 0 1 .114.793L8.207 3.5l.293.293L9.842 2.45a.5.5 0 0 1 .793.114 3 3 0 0 1-3.343 4.351l-3.688 3.688a1.56 1.56 0 0 1-2.207-2.208L5.084 4.71A3.006 3.006 0 0 1 5 4Zm3-2a2 2 0 0 0-1.88 2.681.5.5 0 0 1-.117.524L2.104 9.104a.56.56 0 0 0 .793.792l3.898-3.898a.5.5 0 0 1 .524-.117 2 2 0 0 0 2.662-2.155L8.855 4.854a.5.5 0 0 1-.707 0l-1-1a.5.5 0 0 1 0-.708L8.274 2.02A2.023 2.023 0 0 0 8 2Z\",\"M8 4.5a3.5 3.5 0 0 1 4.517-3.35.5.5 0 0 1 .208.832L11.207 3.5 12.5 4.793l1.518-1.518a.5.5 0 0 1 .832.209 3.5 3.5 0 0 1-4.462 4.336l-6.284 6.284a1.56 1.56 0 0 1-2.207-2.208L8.18 5.612A3.497 3.497 0 0 1 8 4.5Zm3.284-2.49A2.5 2.5 0 0 0 9.22 5.528a.5.5 0 0 1-.102.56l-6.515 6.515a.56.56 0 1 0 .793.792L9.911 6.88a.5.5 0 0 1 .56-.102 2.5 2.5 0 0 0 3.52-2.063l-1.138 1.138a.5.5 0 0 1-.707 0l-2-2a.5.5 0 0 1 0-.708l1.137-1.137Z\",\"M10 7.5a6.5 6.5 0 0 1 8.97-6.014 1 1 0 0 1 .327 1.632L16.914 5.5 18.5 7.086l2.382-2.382a1 1 0 0 1 1.632.327 6.5 6.5 0 0 1-7.84 8.71l-7.552 7.552a3 3 0 0 1-4.243 0l-.172-.172a3 3 0 0 1 0-4.242l7.553-7.553A6.504 6.504 0 0 1 10 7.5ZM16.5 3a4.5 4.5 0 0 0-4.164 6.21 1 1 0 0 1-.218 1.086l-7.996 7.997a1 1 0 0 0 0 1.414l.171.172a1 1 0 0 0 1.414 0l7.997-7.997a1 1 0 0 1 1.087-.218 4.5 4.5 0 0 0 6.208-4.25l-1.792 1.793a1 1 0 0 1-1.414 0l-3-3a1 1 0 0 1 0-1.414L16.585 3H16.5Z\",\"M16 8.5a7.5 7.5 0 0 1 10.784-6.744 1 1 0 0 1 .269 1.605L24.414 6 26 7.586l2.639-2.639a1 1 0 0 1 1.606.269 7.5 7.5 0 0 1-9.36 10.315L7.62 28.793a3 3 0 0 1-4.243 0l-.172-.172a3 3 0 0 1 0-4.242L16.47 11.116A7.487 7.487 0 0 1 16 8.5ZM23.5 3a5.5 5.5 0 0 0-4.947 7.907 1 1 0 0 1-.191 1.146l-13.74 13.74a1 1 0 0 0 0 1.414l.171.172a1 1 0 0 0 1.414 0l13.74-13.74a1 1 0 0 1 1.146-.192 5.5 5.5 0 0 0 7.817-5.943l-2.203 2.203a1 1 0 0 1-1.414 0l-3-3a1 1 0 0 1 0-1.414l2.203-2.203A5.538 5.538 0 0 0 23.5 3Z\"]];","export default [[\"<path d='M3.45 1.05a3.001 3.001 0 0 1 3.39 1.985l.243-.24 2.121 2.12-1.04 1.041 2.44 2.44a1.56 1.56 0 0 1-2.208 2.208L4.71 6.916A3 3 0 0 1 1.05 3.45a.5.5 0 0 1 .844-.263L3 4.293 4.293 3 3.188 1.895a.5.5 0 0 1 .263-.845Zm6.254-.024c.378.066.676.272.836.432.16.16.366.458.433.837.072.411-.03.881-.441 1.293l-.62.62-2.122-2.12.62-.621c.412-.412.882-.513 1.294-.441Z'></path><path d='m4.362 7.984.887.887-1.122 1.121a.5.5 0 0 1-.176.115l-2.274.86a.5.5 0 0 1-.645-.644l.848-2.262a.5.5 0 0 1 .114-.178l.276-.276a3.984 3.984 0 0 0 2.092.377Z'></path>\",\"<path d='M3.483 1.15a3.5 3.5 0 0 1 4.336 4.462l.274.274 3.043-3.043 2.121 2.121-3.043 3.044 3.89 3.888a1.56 1.56 0 0 1-2.208 2.208L5.612 7.819A3.5 3.5 0 0 1 1.15 3.483a.5.5 0 0 1 .832-.208L3.5 4.793 4.792 3.5 3.274 1.982a.5.5 0 0 1 .209-.832Zm10.166.018c.307.055.576.227.816.467.24.241.412.51.467.817.057.313-.021.594-.146.831a2.94 2.94 0 0 1-.467.619c-.109.115-.232.236-.353.356l-2.124-2.123c.12-.122.242-.245.357-.353a2.9 2.9 0 0 1 .619-.467c.236-.125.518-.203.83-.147Z'></path><path d='M5.306 8.928 7.3 10.922l-2.095 2.094a.499.499 0 0 1-.105.08l-3.302 1.89a.5.5 0 0 1-.682-.685l1.932-3.345a.499.499 0 0 1 .079-.104l1.88-1.88c.1-.012.2-.027.299-.044Z'></path>\",\"<path d='M4.955 1.358a6 6 0 0 1 8.043 5.51l2.228-2.228 4.242 4.243-3.086 3.086 4.91 4.91a3 3 0 0 1 0 4.242l-.172.172a3 3 0 0 1-4.243 0l-8.46-8.462a6 6 0 0 1-7.06-7.873 1 1 0 0 1 1.647-.367l2.494 2.495L7.084 5.5 4.59 3.005a1 1 0 0 1 .366-1.647Zm16.743 5.295-.815.815-4.243-4.242.815-.816c.58-.58 1.314-1.056 2.14-1.189.879-.14 1.75.129 2.457.836.707.707.976 1.577.835 2.456-.132.827-.609 1.56-1.189 2.14Z'></path><path d='M5.094 14.772 3.455 16.41a1 1 0 0 0-.213.317L1.156 21.64a1 1 0 0 0 1.311 1.311l4.915-2.086a.999.999 0 0 0 .316-.213l2.856-2.856-2.83-2.83a8.05 8.05 0 0 1-2.63-.195Z'></path>\",\"<path d='M5.544 1.756a7.5 7.5 0 0 1 10.315 9.36l.39.392 5.923-5.922 4.242 4.242-5.922 5.922 8.629 8.629a3 3 0 0 1 0 4.242l-.172.172a3 3 0 0 1-4.242 0L11.445 15.53a7.5 7.5 0 0 1-9.36-10.315 1 1 0 0 1 1.605-.269l3.138 3.139L8.414 6.5 5.275 3.361a1 1 0 0 1 .27-1.605Zm23.067 5.876-.783.782-4.242-4.242.782-.783c.58-.58 1.314-1.057 2.14-1.19.879-.14 1.75.13 2.457.836.707.708.976 1.578.835 2.457-.132.826-.609 1.56-1.189 2.14Z'></path><path d='m9.807 17.95-4.514 4.514a1 1 0 0 0-.182.25l-3.01 5.838a1 1 0 0 0 1.347 1.347l5.839-3.01a.998.998 0 0 0 .248-.182l5.13-5.128-3.8-3.799a9.442 9.442 0 0 1-1.058.17Z'></path>\"],[\"M4 1c-.519 0-1.009.132-1.435.365a.5.5 0 0 0-.114.793L3.793 3.5l-.293.293L2.158 2.45a.5.5 0 0 0-.793.114 3.001 3.001 0 0 0 1.67 4.277l-1.04 1.04a.5.5 0 0 0-.115.179l-.848 2.262a.5.5 0 0 0 .645.643l2.274-.86a.5.5 0 0 0 .176-.114l1.83-1.829 2.44 2.44a1.56 1.56 0 0 0 2.207-2.207l-2.44-2.44 2.368-2.368c.412-.412.513-.882.44-1.293a1.624 1.624 0 0 0-.432-.837 1.626 1.626 0 0 0-.836-.432c-.412-.072-.882.029-1.294.44l-1.568 1.57A3.001 3.001 0 0 0 4 1Zm.854 2.146L3.726 2.02A2 2 0 0 1 5.88 4.68a.5.5 0 0 0 .117.524l3.898 3.899a.56.56 0 1 1-.792.792l-3.9-3.898a.5.5 0 0 0-.523-.117 2 2 0 0 1-2.66-2.154l1.127 1.128a.5.5 0 0 0 .708 0l1-1a.5.5 0 0 0 0-.708Zm2.13 1.161c-.013.137-.037.27-.068.402l.54.54 1.041-1.04L7.79 3.5l-.806.806ZM5.25 7.457l-.54-.541a2.959 2.959 0 0 1-.402.068l-1.529 1.53-.422 1.127 1.14-.432L5.25 7.456ZM9.53 2.01c-.1-.018-.239-.011-.413.163l-.62.62.707.707.62-.62c.174-.174.181-.312.164-.413a.63.63 0 0 0-.155-.303.63.63 0 0 0-.303-.154Z\",\"M4.5 1a3.5 3.5 0 0 0-1.017.15.5.5 0 0 0-.209.832L4.792 3.5 3.5 4.793 1.982 3.275a.5.5 0 0 0-.832.209A3.5 3.5 0 0 0 5.612 7.82l.274.273-2.759 2.759a.499.499 0 0 0-.08.104L1.118 14.3a.5.5 0 0 0 .68.684L5.1 13.097a.499.499 0 0 0 .105-.08l2.802-2.802 3.889 3.889a1.56 1.56 0 0 0 2.207-2.208l-3.889-3.888 3.544-3.544.175-.174c.133-.13.268-.263.386-.388a2.94 2.94 0 0 0 .467-.62c.125-.236.203-.517.146-.83-.055-.307-.226-.576-.467-.817-.24-.24-.51-.412-.816-.467a1.273 1.273 0 0 0-.831.147c-.229.12-.435.294-.62.467-.124.117-.257.252-.387.384l-.174.177-3.544 3.543-.274-.274A3.5 3.5 0 0 0 4.499 1Zm1.353 2.146L4.716 2.01a2.5 2.5 0 0 1 2.063 3.52.5.5 0 0 0 .102.56l6.515 6.515a.56.56 0 0 1-.793.792L6.088 6.881a.5.5 0 0 0-.56-.102 2.5 2.5 0 0 1-3.52-2.063l1.138 1.138a.5.5 0 0 0 .707 0l2-2a.5.5 0 0 0 0-.708ZM8.8 6.593l.707.707 2.807-2.806-.707-.707L8.8 6.593ZM7.3 9.508 6.593 8.8 3.88 11.512l-.974 1.686 1.639-.936L7.3 9.507Zm5.24-6.658-.197.2-.03.03.707.707.03-.03c.07-.07.136-.136.2-.197.123-.122.235-.232.339-.343.155-.165.255-.294.312-.4.051-.1.053-.153.046-.188-.007-.043-.04-.136-.19-.286-.15-.15-.244-.183-.286-.19-.036-.007-.09-.006-.188.046a1.994 1.994 0 0 0-.4.312c-.111.104-.22.215-.343.339Z\",\"M7 1a5.99 5.99 0 0 0-2.045.358 1 1 0 0 0-.366 1.647L7.084 5.5 5.498 7.086 3.004 4.59a1 1 0 0 0-1.647.367 6 6 0 0 0 5.51 8.04L3.455 16.41a1 1 0 0 0-.213.317L1.156 21.64a1 1 0 0 0 1.311 1.311l4.915-2.086a.999.999 0 0 0 .316-.213l4.27-4.27 4.91 4.91a3 3 0 0 0 4.242 0l.171-.172a3 3 0 0 0 0-4.242l-4.909-4.91 5.316-5.316c.58-.58 1.057-1.313 1.19-2.14.14-.879-.13-1.749-.837-2.456-.707-.707-1.577-.977-2.456-.836-.826.133-1.56.61-2.14 1.19L13 6.867A6 6 0 0 0 7 1Zm2.206 3.793-1.77-1.77a4 4 0 0 1 3.326 5.34 1 1 0 0 0 .233 1.047l8.882 8.883a1 1 0 0 1 0 1.414l-.171.172a1 1 0 0 1-1.415 0L9.41 10.995a1 1 0 0 0-1.048-.234A4 4 0 0 1 3.024 7.44L4.79 9.208a1 1 0 0 0 1.415 0l3-3a1 1 0 0 0 0-1.414Zm4.348 4.347 1.414 1.415 3.12-3.12-1.415-1.414-3.119 3.12Zm-3 5.829L9.14 13.554l-4.133 4.133-1.043 2.457 2.457-1.043 4.133-4.132Zm9.358-11.773c-.276.044-.646.233-1.043.629l-.782.782 1.414 1.414.783-.782c.396-.396.584-.766.629-1.042.035-.224-.007-.457-.276-.726-.269-.269-.501-.31-.725-.275Z\",\"M8.828 1a7.474 7.474 0 0 0-3.284.756 1 1 0 0 0-.269 1.605L8.414 6.5 6.828 8.086 3.69 4.947a1 1 0 0 0-1.606.269 7.5 7.5 0 0 0 9.36 10.315l.392.39-6.543 6.543a1 1 0 0 0-.182.25l-3.01 5.838a1 1 0 0 0 1.347 1.347l5.839-3.01a.998.998 0 0 0 .248-.182l6.543-6.543 8.629 8.629a3 3 0 0 0 4.242 0l.172-.172a3 3 0 0 0 0-4.242l-8.628-8.629 8.118-8.118c.58-.58 1.057-1.314 1.19-2.14.14-.879-.13-1.75-.836-2.457-.708-.707-1.578-.976-2.457-.835-.826.132-1.56.609-2.14 1.189l-8.118 8.119-.391-.391A7.5 7.5 0 0 0 8.829 1Zm1.707 4.793L7.832 3.09a5.5 5.5 0 0 1 5.943 7.818 1 1 0 0 0 .192 1.145l13.74 13.74a1 1 0 0 1 0 1.414l-.172.172a1 1 0 0 1-1.414 0l-13.74-13.74a1 1 0 0 0-1.146-.192 5.5 5.5 0 0 1-7.817-5.943l2.703 2.703a1 1 0 0 0 1.414 0l3-3a1 1 0 0 0 0-1.414Zm7.129 7.129 1.414 1.414L25 8.414 23.586 7l-5.922 5.922Zm-3 5.828-1.414-1.414-6.432 6.432-1.506 2.92 2.92-1.505 6.432-6.433Zm12.16-14.575c-.276.044-.645.232-1.042.628L25 5.586 26.414 7l.783-.783c.396-.396.584-.765.629-1.042.035-.224-.007-.456-.276-.725-.269-.27-.501-.311-.725-.276Z\"]];","export default [[\"M4.773 8.012V4.443l3.136 1.784-3.136 1.785Zm6.976-4.692a1.507 1.507 0 0 0-1.06-1.068C9.753 2 6 2 6 2s-3.753 0-4.688.252A1.508 1.508 0 0 0 .25 3.32C0 4.262 0 6.227 0 6.227s0 1.965.25 2.907c.14.52.545.93 1.062 1.068.935.253 4.688.253 4.688.253s3.753 0 4.689-.253a1.507 1.507 0 0 0 1.06-1.068C12 8.192 12 6.227 12 6.227s0-1.965-.25-2.907Z\",\"M6.569 10.014V5.85l3.658 2.081-3.659 2.082Zm8.139-5.473a1.758 1.758 0 0 0-1.238-1.247C12.378 3 8 3 8 3s-4.378 0-5.47.295A1.76 1.76 0 0 0 1.293 4.54C1 5.64 1 7.932 1 7.932s0 2.293.292 3.391A1.76 1.76 0 0 0 2.53 12.57c1.092.295 5.47.295 5.47.295s4.378 0 5.47-.295a1.758 1.758 0 0 0 1.237-1.246C15 10.225 15 7.932 15 7.932s0-2.293-.293-3.392Z\",\"M9.75 15.021V8.48l5.75 3.271-5.75 3.271Zm12.79-8.6a2.763 2.763 0 0 0-1.944-1.958C18.88 4 12 4 12 4s-6.88 0-8.595.463A2.765 2.765 0 0 0 1.46 6.42C1 8.147 1 11.75 1 11.75s0 3.602.46 5.329a2.765 2.765 0 0 0 1.945 1.958C5.12 19.5 12 19.5 12 19.5s6.88 0 8.596-.463a2.763 2.763 0 0 0 1.944-1.958c.46-1.727.46-5.33.46-5.33s0-3.603-.46-5.33Z\",\"M13.137 20.027v-8.326l7.317 4.163-7.317 4.163ZM29.415 9.081a3.517 3.517 0 0 0-2.475-2.492C24.756 6 16 6 16 6s-8.756 0-10.939.589a3.52 3.52 0 0 0-2.476 2.492C2 11.278 2 15.864 2 15.864s0 4.585.585 6.783a3.52 3.52 0 0 0 2.476 2.492c2.183.589 10.939.589 10.939.589s8.756 0 10.94-.589a3.517 3.517 0 0 0 2.475-2.492C30 20.449 30 15.864 30 15.864s0-4.586-.585-6.783Z\"]];","export default [[\"M8.04 0H3.96A3.96 3.96 0 0 0 0 3.96v4.08A3.96 3.96 0 0 0 3.96 12h4.08A3.96 3.96 0 0 0 12 8.04V3.96A3.96 3.96 0 0 0 8.04 0ZM2.713 4.373c-.049.095-.049.218-.049.465V6.02c0 .646 0 .97.126 1.217.11.217.287.393.505.504.246.126.57.126 1.217.126h2.25c.247 0 .37 0 .465-.048a.443.443 0 0 0 .193-.193c.048-.095.048-.218.048-.465V5.979c0-.646 0-.97-.126-1.217a1.158 1.158 0 0 0-.504-.504c-.247-.126-.57-.126-1.218-.126H3.37c-.246 0-.37 0-.464.048a.443.443 0 0 0-.193.193Zm5.998 3.24L8.094 7.1l-.019-.015c-.088-.074-.135-.113-.173-.158a.711.711 0 0 1-.157-.335c-.01-.062-.01-.128-.01-.258v-.666c0-.13 0-.196.01-.258a.711.711 0 0 1 .157-.335c.041-.047.091-.09.192-.173l.618-.515c.15-.125.226-.188.287-.203.124-.03.253.03.31.145.027.056.027.155.027.352v2.64c0 .197 0 .296-.027.352a.272.272 0 0 1-.31.145c-.061-.015-.138-.078-.288-.204Z\",\"M10.38 1H5.62A4.62 4.62 0 0 0 1 5.62v4.76A4.62 4.62 0 0 0 5.62 15h4.76A4.62 4.62 0 0 0 15 10.38V5.62A4.62 4.62 0 0 0 10.38 1ZM4.165 6.102c-.057.11-.057.255-.057.543v1.379c0 .753 0 1.13.147 1.419.13.253.335.46.589.589.288.146.665.146 1.42.146h2.625c.288 0 .432 0 .542-.056a.516.516 0 0 0 .225-.225c.057-.11.057-.255.057-.543V7.975c0-.753 0-1.13-.147-1.419a1.351 1.351 0 0 0-.589-.589c-.288-.146-.665-.146-1.42-.146H4.932c-.288 0-.432 0-.542.056a.517.517 0 0 0-.225.225Zm6.998 3.78-.72-.6-.022-.018a1.608 1.608 0 0 1-.202-.184.83.83 0 0 1-.183-.391c-.012-.072-.012-.149-.012-.3v-.777c0-.153 0-.23.012-.301a.83.83 0 0 1 .183-.391c.048-.056.106-.105.224-.202l.72-.601c.176-.146.264-.22.335-.237a.318.318 0 0 1 .362.17c.032.065.032.18.032.41v3.08c0 .23 0 .345-.032.41a.318.318 0 0 1-.362.17c-.07-.017-.16-.091-.335-.238Z\",\"M15.74 1H8.26A7.26 7.26 0 0 0 1 8.26v7.48A7.26 7.26 0 0 0 8.26 23h7.48A7.26 7.26 0 0 0 23 15.74V8.26A7.26 7.26 0 0 0 15.74 1ZM5.973 9.018c-.089.173-.089.4-.089.852v2.167c0 1.185 0 1.778.23 2.23.204.398.528.722.926.926.453.23 1.046.23 2.232.23h4.124c.453 0 .68 0 .853-.089a.812.812 0 0 0 .353-.354c.09-.173.09-.399.09-.852v-2.167c0-1.184 0-1.777-.231-2.23a2.123 2.123 0 0 0-.925-.925c-.453-.23-1.046-.23-2.232-.23H7.179c-.453 0-.679 0-.852.088a.812.812 0 0 0-.354.354Zm9.866 4.997-.035-.029a2.526 2.526 0 0 1-.316-.289 1.304 1.304 0 0 1-.288-.614c-.02-.113-.02-.234-.02-.473v-1.22c0-.24 0-.36.02-.473.04-.226.139-.438.288-.614.074-.088.166-.165.35-.318l1.134-.944c.275-.23.414-.345.525-.373a.5.5 0 0 1 .569.267c.05.103.05.283.05.644v4.842c0 .36 0 .54-.05.644a.5.5 0 0 1-.569.266c-.111-.027-.25-.143-.526-.373l-1.132-.943Z\",\"M20.76 2h-9.52A9.24 9.24 0 0 0 2 11.24v9.52A9.24 9.24 0 0 0 11.24 30h9.52A9.24 9.24 0 0 0 30 20.76v-9.52A9.24 9.24 0 0 0 20.76 2ZM8.33 12.205c-.114.22-.114.508-.114 1.084v2.758c0 1.508 0 2.263.294 2.839.258.506.67.919 1.177 1.177.576.294 1.331.294 2.84.294h5.25c.576 0 .864 0 1.085-.113.195-.1.352-.257.45-.45.113-.221.113-.509.113-1.085V15.95c0-1.508 0-2.263-.293-2.838a2.702 2.702 0 0 0-1.178-1.178c-.576-.294-1.33-.294-2.84-.294h-5.25c-.576 0-.864 0-1.085.113a1.04 1.04 0 0 0-.45.45Zm13.996 7.56-1.44-1.2-.044-.037c-.205-.17-.314-.262-.403-.368a1.658 1.658 0 0 1-.367-.782c-.025-.144-.025-.297-.025-.601v-1.554c0-.304 0-.457.025-.601.051-.288.177-.558.367-.782.095-.111.211-.21.447-.405l1.441-1.2c.351-.293.527-.44.67-.475a.636.636 0 0 1 .723.339c.064.131.064.36.064.82v6.162c0 .46 0 .689-.064.82a.636.636 0 0 1-.724.34c-.142-.035-.318-.183-.67-.476Z\"]];","export default async function importIconSet(name) {\n\tswitch (name) {\n\t\tcase 'abc':\n\t\t\treturn await import('../icons/abc');\n\t\tcase 'accessibility':\n\t\t\treturn await import('../icons/accessibility');\n\t\tcase 'actionAiSparkle':\n\t\t\treturn await import('../icons/actionAiSparkle');\n\t\tcase 'action':\n\t\t\treturn await import('../icons/action');\n\t\tcase 'activity':\n\t\t\treturn await import('../icons/activity');\n\t\tcase 'addItemAbove':\n\t\t\treturn await import('../icons/addItemAbove');\n\t\tcase 'addItemBelow':\n\t\t\treturn await import('../icons/addItemBelow');\n\t\tcase 'addItemLeft':\n\t\t\treturn await import('../icons/addItemLeft');\n\t\tcase 'addItemRight':\n\t\t\treturn await import('../icons/addItemRight');\n\t\tcase 'addressBook':\n\t\t\treturn await import('../icons/addressBook');\n\t\tcase 'addressCard':\n\t\t\treturn await import('../icons/addressCard');\n\t\tcase 'agile':\n\t\t\treturn await import('../icons/agile');\n\t\tcase 'aiSparkle':\n\t\t\treturn await import('../icons/aiSparkle');\n\t\tcase 'alignCenter':\n\t\t\treturn await import('../icons/alignCenter');\n\t\tcase 'alignLeft':\n\t\t\treturn await import('../icons/alignLeft');\n\t\tcase 'alignRight':\n\t\t\treturn await import('../icons/alignRight');\n\t\tcase 'analyticsCenter':\n\t\t\treturn await import('../icons/analyticsCenter');\n\t\tcase 'anchor':\n\t\t\treturn await import('../icons/anchor');\n\t\tcase 'appsee':\n\t\t\treturn await import('../icons/appsee');\n\t\tcase 'arena':\n\t\t\treturn await import('../icons/arena');\n\t\tcase 'arrowClockwise':\n\t\t\treturn await import('../icons/arrowClockwise');\n\t\tcase 'arrowCounterclockwise':\n\t\t\treturn await import('../icons/arrowCounterclockwise');\n\t\tcase 'arrowDownDot':\n\t\t\treturn await import('../icons/arrowDownDot');\n\t\tcase 'arrowDown':\n\t\t\treturn await import('../icons/arrowDown');\n\t\tcase 'arrowDownLeft':\n\t\t\treturn await import('../icons/arrowDownLeft');\n\t\tcase 'arrowDownMost':\n\t\t\treturn await import('../icons/arrowDownMost');\n\t\tcase 'arrowDownRectangle':\n\t\t\treturn await import('../icons/arrowDownRectangle');\n\t\tcase 'arrowDownRight':\n\t\t\treturn await import('../icons/arrowDownRight');\n\t\tcase 'arrowEnter':\n\t\t\treturn await import('../icons/arrowEnter');\n\t\tcase 'arrowExit':\n\t\t\treturn await import('../icons/arrowExit');\n\t\tcase 'arrowLeft':\n\t\t\treturn await import('../icons/arrowLeft');\n\t\tcase 'arrowLeftMost':\n\t\t\treturn await import('../icons/arrowLeftMost');\n\t\tcase 'arrowMove':\n\t\t\treturn await import('../icons/arrowMove');\n\t\tcase 'arrowReorder':\n\t\t\treturn await import('../icons/arrowReorder');\n\t\tcase 'arrowRight':\n\t\t\treturn await import('../icons/arrowRight');\n\t\tcase 'arrowRightLeft':\n\t\t\treturn await import('../icons/arrowRightLeft');\n\t\tcase 'arrowRightMost':\n\t\t\treturn await import('../icons/arrowRightMost');\n\t\tcase 'arrowThreeSplitLeft':\n\t\t\treturn await import('../icons/arrowThreeSplitLeft');\n\t\tcase 'arrowThreeSplitRight':\n\t\t\treturn await import('../icons/arrowThreeSplitRight');\n\t\tcase 'arrowUpDot':\n\t\t\treturn await import('../icons/arrowUpDot');\n\t\tcase 'arrowUpDown':\n\t\t\treturn await import('../icons/arrowUpDown');\n\t\tcase 'arrowUp':\n\t\t\treturn await import('../icons/arrowUp');\n\t\tcase 'arrowUpLeft':\n\t\t\treturn await import('../icons/arrowUpLeft');\n\t\tcase 'arrowUpMost':\n\t\t\treturn await import('../icons/arrowUpMost');\n\t\tcase 'arrowUpRight':\n\t\t\treturn await import('../icons/arrowUpRight');\n\t\tcase 'arrowsDecision':\n\t\t\treturn await import('../icons/arrowsDecision');\n\t\tcase 'arrowsDoubleLeft':\n\t\t\treturn await import('../icons/arrowsDoubleLeft');\n\t\tcase 'arrowsDoubleRight':\n\t\t\treturn await import('../icons/arrowsDoubleRight');\n\t\tcase 'asterisk':\n\t\t\treturn await import('../icons/asterisk');\n\t\tcase 'bag':\n\t\t\treturn await import('../icons/bag');\n\t\tcase 'ban':\n\t\t\treturn await import('../icons/ban');\n\t\tcase 'barcode':\n\t\t\treturn await import('../icons/barcode');\n\t\tcase 'beaker':\n\t\t\treturn await import('../icons/beaker');\n\t\tcase 'bell':\n\t\t\treturn await import('../icons/bell');\n\t\tcase 'bellSlash':\n\t\t\treturn await import('../icons/bellSlash');\n\t\tcase 'bind':\n\t\t\treturn await import('../icons/bind');\n\t\tcase 'binoculars':\n\t\t\treturn await import('../icons/binoculars');\n\t\tcase 'boardFlexible':\n\t\t\treturn await import('../icons/boardFlexible');\n\t\tcase 'boardGuided':\n\t\t\treturn await import('../icons/boardGuided');\n\t\tcase 'book':\n\t\t\treturn await import('../icons/book');\n\t\tcase 'bookOpen':\n\t\t\treturn await import('../icons/bookOpen');\n\t\tcase 'bookmark':\n\t\t\treturn await import('../icons/bookmark');\n\t\tcase 'bot':\n\t\t\treturn await import('../icons/bot');\n\t\tcase 'box':\n\t\t\treturn await import('../icons/box');\n\t\tcase 'boxes':\n\t\t\treturn await import('../icons/boxes');\n\t\tcase 'bracketRound':\n\t\t\treturn await import('../icons/bracketRound');\n\t\tcase 'branchFork':\n\t\t\treturn await import('../icons/branchFork');\n\t\tcase 'briefcase':\n\t\t\treturn await import('../icons/briefcase');\n\t\tcase 'broadcastTower':\n\t\t\treturn await import('../icons/broadcastTower');\n\t\tcase 'bug':\n\t\t\treturn await import('../icons/bug');\n\t\tcase 'bugSearch':\n\t\t\treturn await import('../icons/bugSearch');\n\t\tcase 'buildingFactory':\n\t\t\treturn await import('../icons/buildingFactory');\n\t\tcase 'buildingFeed':\n\t\t\treturn await import('../icons/buildingFeed');\n\t\tcase 'building':\n\t\t\treturn await import('../icons/building');\n\t\tcase 'buildingWarehouse':\n\t\t\treturn await import('../icons/buildingWarehouse');\n\t\tcase 'bullseyeArrow':\n\t\t\treturn await import('../icons/bullseyeArrow');\n\t\tcase 'bundle':\n\t\t\treturn await import('../icons/bundle');\n\t\tcase 'calendarCheck':\n\t\t\treturn await import('../icons/calendarCheck');\n\t\tcase 'calendarClock':\n\t\t\treturn await import('../icons/calendarClock');\n\t\tcase 'calendarDaysClock':\n\t\t\treturn await import('../icons/calendarDaysClock');\n\t\tcase 'calendarDays':\n\t\t\treturn await import('../icons/calendarDays');\n\t\tcase 'calendarDaysSearch':\n\t\t\treturn await import('../icons/calendarDaysSearch');\n\t\tcase 'calendar':\n\t\t\treturn await import('../icons/calendar');\n\t\tcase 'calendarTriangleExclamation':\n\t\t\treturn await import('../icons/calendarTriangleExclamation');\n\t\tcase 'camera':\n\t\t\treturn await import('../icons/camera');\n\t\tcase 'cameraPlus':\n\t\t\treturn await import('../icons/cameraPlus');\n\t\tcase 'caretDown':\n\t\t\treturn await import('../icons/caretDown');\n\t\tcase 'caretDownMultiple':\n\t\t\treturn await import('../icons/caretDownMultiple');\n\t\tcase 'caretLeft':\n\t\t\treturn await import('../icons/caretLeft');\n\t\tcase 'caretLeftMultiple':\n\t\t\treturn await import('../icons/caretLeftMultiple');\n\t\tcase 'caretRight':\n\t\t\treturn await import('../icons/caretRight');\n\t\tcase 'caretRightMultiple':\n\t\t\treturn await import('../icons/caretRightMultiple');\n\t\tcase 'caretUpDown':\n\t\t\treturn await import('../icons/caretUpDown');\n\t\tcase 'caretUp':\n\t\t\treturn await import('../icons/caretUp');\n\t\tcase 'catalogBuilder':\n\t\t\treturn await import('../icons/catalogBuilder');\n\t\tcase 'catalog':\n\t\t\treturn await import('../icons/catalog');\n\t\tcase 'catalogSlash':\n\t\t\treturn await import('../icons/catalogSlash');\n\t\tcase 'cd':\n\t\t\treturn await import('../icons/cd');\n\t\tcase 'cellphone':\n\t\t\treturn await import('../icons/cellphone');\n\t\tcase 'change':\n\t\t\treturn await import('../icons/change');\n\t\tcase 'changePast':\n\t\t\treturn await import('../icons/changePast');\n\t\tcase 'changePlanned':\n\t\t\treturn await import('../icons/changePlanned');\n\t\tcase 'chartArea':\n\t\t\treturn await import('../icons/chartArea');\n\t\tcase 'chartBarColumn':\n\t\t\treturn await import('../icons/chartBarColumn');\n\t\tcase 'chartBarGroup':\n\t\t\treturn await import('../icons/chartBarGroup');\n\t\tcase 'chartBarHorizontal':\n\t\t\treturn await import('../icons/chartBarHorizontal');\n\t\tcase 'chartBarSearch':\n\t\t\treturn await import('../icons/chartBarSearch');\n\t\tcase 'chartBarVerticalCircleCheck':\n\t\t\treturn await import('../icons/chartBarVerticalCircleCheck');\n\t\tcase 'chartBarVertical':\n\t\t\treturn await import('../icons/chartBarVertical');\n\t\tcase 'chartBox':\n\t\t\treturn await import('../icons/chartBox');\n\t\tcase 'chartBubble':\n\t\t\treturn await import('../icons/chartBubble');\n\t\tcase 'chartBulletHorizontal':\n\t\t\treturn await import('../icons/chartBulletHorizontal');\n\t\tcase 'chartBulletVertical':\n\t\t\treturn await import('../icons/chartBulletVertical');\n\t\tcase 'chartColumnAndTotal':\n\t\t\treturn await import('../icons/chartColumnAndTotal');\n\t\tcase 'chartControl':\n\t\t\treturn await import('../icons/chartControl');\n\t\tcase 'chartDependency':\n\t\t\treturn await import('../icons/chartDependency');\n\t\tcase 'chartDial':\n\t\t\treturn await import('../icons/chartDial');\n\t\tcase 'chartDonut':\n\t\t\treturn await import('../icons/chartDonut');\n\t\tcase 'chartForecast':\n\t\t\treturn await import('../icons/chartForecast');\n\t\tcase 'chartFunnel':\n\t\t\treturn await import('../icons/chartFunnel');\n\t\tcase 'chartGeomap':\n\t\t\treturn await import('../icons/chartGeomap');\n\t\tcase 'chartHeatmap':\n\t\t\treturn await import('../icons/chartHeatmap');\n\t\tcase 'chartHistogram':\n\t\t\treturn await import('../icons/chartHistogram');\n\t\tcase 'chartLine':\n\t\t\treturn await import('../icons/chartLine');\n\t\tcase 'chartNavigator':\n\t\t\treturn await import('../icons/chartNavigator');\n\t\tcase 'chartPareto':\n\t\t\treturn await import('../icons/chartPareto');\n\t\tcase 'chartPie':\n\t\t\treturn await import('../icons/chartPie');\n\t\tcase 'chartPivotTable':\n\t\t\treturn await import('../icons/chartPivotTable');\n\t\tcase 'chartPyramid':\n\t\t\treturn await import('../icons/chartPyramid');\n\t\tcase 'chartRelativeCompare':\n\t\t\treturn await import('../icons/chartRelativeCompare');\n\t\tcase 'chartSankey':\n\t\t\treturn await import('../icons/chartSankey');\n\t\tcase 'chartSemiDonut':\n\t\t\treturn await import('../icons/chartSemiDonut');\n\t\tcase 'chartSpeedometer':\n\t\t\treturn await import('../icons/chartSpeedometer');\n\t\tcase 'chartSpider':\n\t\t\treturn await import('../icons/chartSpider');\n\t\tcase 'chartSpline':\n\t\t\treturn await import('../icons/chartSpline');\n\t\tcase 'chartStepline':\n\t\t\treturn await import('../icons/chartStepline');\n\t\tcase 'chartSunburst':\n\t\t\treturn await import('../icons/chartSunburst');\n\t\tcase 'chartText':\n\t\t\treturn await import('../icons/chartText');\n\t\tcase 'chartThreshold':\n\t\t\treturn await import('../icons/chartThreshold');\n\t\tcase 'chartTreemap':\n\t\t\treturn await import('../icons/chartTreemap');\n\t\tcase 'chartTrend':\n\t\t\treturn await import('../icons/chartTrend');\n\t\tcase 'chartWorkbench':\n\t\t\treturn await import('../icons/chartWorkbench');\n\t\tcase 'chatAiSparkle':\n\t\t\treturn await import('../icons/chatAiSparkle');\n\t\tcase 'chatCircleExclamation':\n\t\t\treturn await import('../icons/chatCircleExclamation');\n\t\tcase 'chat':\n\t\t\treturn await import('../icons/chat');\n\t\tcase 'chatHeart':\n\t\t\treturn await import('../icons/chatHeart');\n\t\tcase 'chatLock':\n\t\t\treturn await import('../icons/chatLock');\n\t\tcase 'chatTriangleExclamation':\n\t\t\treturn await import('../icons/chatTriangleExclamation');\n\t\tcase 'check':\n\t\t\treturn await import('../icons/check');\n\t\tcase 'checkStrong':\n\t\t\treturn await import('../icons/checkStrong');\n\t\tcase 'checkboxChecked':\n\t\t\treturn await import('../icons/checkboxChecked');\n\t\tcase 'checkboxIndeterminate':\n\t\t\treturn await import('../icons/checkboxIndeterminate');\n\t\tcase 'checkboxUnchecked':\n\t\t\treturn await import('../icons/checkboxUnchecked');\n\t\tcase 'checklist':\n\t\t\treturn await import('../icons/checklist');\n\t\tcase 'chevronDown':\n\t\t\treturn await import('../icons/chevronDown');\n\t\tcase 'chevronLeft':\n\t\t\treturn await import('../icons/chevronLeft');\n\t\tcase 'chevronRight':\n\t\t\treturn await import('../icons/chevronRight');\n\t\tcase 'chevronUp':\n\t\t\treturn await import('../icons/chevronUp');\n\t\tcase 'chip':\n\t\t\treturn await import('../icons/chip');\n\t\tcase 'circleArrowDown':\n\t\t\treturn await import('../icons/circleArrowDown');\n\t\tcase 'circleArrowLeft':\n\t\t\treturn await import('../icons/circleArrowLeft');\n\t\tcase 'circleArrowRight':\n\t\t\treturn await import('../icons/circleArrowRight');\n\t\tcase 'circleArrowUp':\n\t\t\treturn await import('../icons/circleArrowUp');\n\t\tcase 'circleBackward':\n\t\t\treturn await import('../icons/circleBackward');\n\t\tcase 'circleCaretDown':\n\t\t\treturn await import('../icons/circleCaretDown');\n\t\tcase 'circleCaretLeft':\n\t\t\treturn await import('../icons/circleCaretLeft');\n\t\tcase 'circleCaretRight':\n\t\t\treturn await import('../icons/circleCaretRight');\n\t\tcase 'circleCaretUp':\n\t\t\treturn await import('../icons/circleCaretUp');\n\t\tcase 'circleCheck':\n\t\t\treturn await import('../icons/circleCheck');\n\t\tcase 'circleChevronDown':\n\t\t\treturn await import('../icons/circleChevronDown');\n\t\tcase 'circleChevronLeft':\n\t\t\treturn await import('../icons/circleChevronLeft');\n\t\tcase 'circleChevronRight':\n\t\t\treturn await import('../icons/circleChevronRight');\n\t\tcase 'circleChevronUp':\n\t\t\treturn await import('../icons/circleChevronUp');\n\t\tcase 'circleClose':\n\t\t\treturn await import('../icons/circleClose');\n\t\tcase 'circleDashed':\n\t\t\treturn await import('../icons/circleDashed');\n\t\tcase 'circleDownload':\n\t\t\treturn await import('../icons/circleDownload');\n\t\tcase 'circleEllipsis':\n\t\t\treturn await import('../icons/circleEllipsis');\n\t\tcase 'circleExclamation':\n\t\t\treturn await import('../icons/circleExclamation');\n\t\tcase 'circle':\n\t\t\treturn await import('../icons/circle');\n\t\tcase 'circleFlagEvent':\n\t\t\treturn await import('../icons/circleFlagEvent');\n\t\tcase 'circleForward':\n\t\t\treturn await import('../icons/circleForward');\n\t\tcase 'circleHalf':\n\t\t\treturn await import('../icons/circleHalf');\n\t\tcase 'circleInfo':\n\t\t\treturn await import('../icons/circleInfo');\n\t\tcase 'circleLock':\n\t\t\treturn await import('../icons/circleLock');\n\t\tcase 'circleMinus':\n\t\t\treturn await import('../icons/circleMinus');\n\t\tcase 'circleMinusVertical':\n\t\t\treturn await import('../icons/circleMinusVertical');\n\t\tcase 'circleNext':\n\t\t\treturn await import('../icons/circleNext');\n\t\tcase 'circlePause':\n\t\t\treturn await import('../icons/circlePause');\n\t\tcase 'circlePencil':\n\t\t\treturn await import('../icons/circlePencil');\n\t\tcase 'circlePlay':\n\t\t\treturn await import('../icons/circlePlay');\n\t\tcase 'circlePlus':\n\t\t\treturn await import('../icons/circlePlus');\n\t\tcase 'circlePrevious':\n\t\t\treturn await import('../icons/circlePrevious');\n\t\tcase 'circleQuarter':\n\t\t\treturn await import('../icons/circleQuarter');\n\t\tcase 'circleQuestion':\n\t\t\treturn await import('../icons/circleQuestion');\n\t\tcase 'circleRecord':\n\t\t\treturn await import('../icons/circleRecord');\n\t\tcase 'circleSemiCheck':\n\t\t\treturn await import('../icons/circleSemiCheck');\n\t\tcase 'circleSemiPercentage':\n\t\t\treturn await import('../icons/circleSemiPercentage');\n\t\tcase 'circleShuffle':\n\t\t\treturn await import('../icons/circleShuffle');\n\t\tcase 'circleStop':\n\t\t\treturn await import('../icons/circleStop');\n\t\tcase 'circleThick':\n\t\t\treturn await import('../icons/circleThick');\n\t\tcase 'circleThreeQuarter':\n\t\t\treturn await import('../icons/circleThreeQuarter');\n\t\tcase 'circleUser':\n\t\t\treturn await import('../icons/circleUser');\n\t\tcase 'circleWorkflowSkip':\n\t\t\treturn await import('../icons/circleWorkflowSkip');\n\t\tcase 'clearCache':\n\t\t\treturn await import('../icons/clearCache');\n\t\tcase 'clipboardCheck':\n\t\t\treturn await import('../icons/clipboardCheck');\n\t\tcase 'clipboardCheckShield':\n\t\t\treturn await import('../icons/clipboardCheckShield');\n\t\tcase 'clipboardExclamation':\n\t\t\treturn await import('../icons/clipboardExclamation');\n\t\tcase 'clipboard':\n\t\t\treturn await import('../icons/clipboard');\n\t\tcase 'clipboardLines':\n\t\t\treturn await import('../icons/clipboardLines');\n\t\tcase 'clipboardSlash':\n\t\t\treturn await import('../icons/clipboardSlash');\n\t\tcase 'clipboardWithoutFormat':\n\t\t\treturn await import('../icons/clipboardWithoutFormat');\n\t\tcase 'clipboards':\n\t\t\treturn await import('../icons/clipboards');\n\t\tcase 'clock':\n\t\t\treturn await import('../icons/clock');\n\t\tcase 'cloneExclamation':\n\t\t\treturn await import('../icons/cloneExclamation');\n\t\tcase 'clone':\n\t\t\treturn await import('../icons/clone');\n\t\tcase 'close':\n\t\t\treturn await import('../icons/close');\n\t\tcase 'cloudCheckmark':\n\t\t\treturn await import('../icons/cloudCheckmark');\n\t\tcase 'cloud':\n\t\t\treturn await import('../icons/cloud');\n\t\tcase 'cloudSlash':\n\t\t\treturn await import('../icons/cloudSlash');\n\t\tcase 'codeEdit':\n\t\t\treturn await import('../icons/codeEdit');\n\t\tcase 'code':\n\t\t\treturn await import('../icons/code');\n\t\tcase 'codeSearch':\n\t\t\treturn await import('../icons/codeSearch');\n\t\tcase 'cohortAnalysis':\n\t\t\treturn await import('../icons/cohortAnalysis');\n\t\tcase 'collapse':\n\t\t\treturn await import('../icons/collapse');\n\t\tcase 'combine':\n\t\t\treturn await import('../icons/combine');\n\t\tcase 'command':\n\t\t\treturn await import('../icons/command');\n\t\tcase 'commentBlank':\n\t\t\treturn await import('../icons/commentBlank');\n\t\tcase 'commentEmojiSmile':\n\t\t\treturn await import('../icons/commentEmojiSmile');\n\t\tcase 'comment':\n\t\t\treturn await import('../icons/comment');\n\t\tcase 'commentPlus':\n\t\t\treturn await import('../icons/commentPlus');\n\t\tcase 'compass':\n\t\t\treturn await import('../icons/compass');\n\t\tcase 'componentBundle':\n\t\t\treturn await import('../icons/componentBundle');\n\t\tcase 'component':\n\t\t\treturn await import('../icons/component');\n\t\tcase 'conferenceRoom':\n\t\t\treturn await import('../icons/conferenceRoom');\n\t\tcase 'configurationItem':\n\t\t\treturn await import('../icons/configurationItem');\n\t\tcase 'connectViewDocument':\n\t\t\treturn await import('../icons/connectViewDocument');\n\t\tcase 'console':\n\t\t\treturn await import('../icons/console');\n\t\tcase 'contractHistory':\n\t\t\treturn await import('../icons/contractHistory');\n\t\tcase 'crop':\n\t\t\treturn await import('../icons/crop');\n\t\tcase 'cube':\n\t\t\treturn await import('../icons/cube');\n\t\tcase 'currencyExchange':\n\t\t\treturn await import('../icons/currencyExchange');\n\t\tcase 'currency':\n\t\t\treturn await import('../icons/currency');\n\t\tcase 'cursor':\n\t\t\treturn await import('../icons/cursor');\n\t\tcase 'cursorMove':\n\t\t\treturn await import('../icons/cursorMove');\n\t\tcase 'dashGridBottomLeft':\n\t\t\treturn await import('../icons/dashGridBottomLeft');\n\t\tcase 'dashGridBottomRight':\n\t\t\treturn await import('../icons/dashGridBottomRight');\n\t\tcase 'dashSquare':\n\t\t\treturn await import('../icons/dashSquare');\n\t\tcase 'dashboardDial':\n\t\t\treturn await import('../icons/dashboardDial');\n\t\tcase 'databaseArrowUp':\n\t\t\treturn await import('../icons/databaseArrowUp');\n\t\tcase 'databaseBook':\n\t\t\treturn await import('../icons/databaseBook');\n\t\tcase 'databaseComponent':\n\t\t\treturn await import('../icons/databaseComponent');\n\t\tcase 'databaseDiamond':\n\t\t\treturn await import('../icons/databaseDiamond');\n\t\tcase 'databaseError':\n\t\t\treturn await import('../icons/databaseError');\n\t\tcase 'database':\n\t\t\treturn await import('../icons/database');\n\t\tcase 'databaseFlagEvent':\n\t\t\treturn await import('../icons/databaseFlagEvent');\n\t\tcase 'databaseSearch':\n\t\t\treturn await import('../icons/databaseSearch');\n\t\tcase 'decimal':\n\t\t\treturn await import('../icons/decimal');\n\t\tcase 'deleteColumn':\n\t\t\treturn await import('../icons/deleteColumn');\n\t\tcase 'deleteRow':\n\t\t\treturn await import('../icons/deleteRow');\n\t\tcase 'desk':\n\t\t\treturn await import('../icons/desk');\n\t\tcase 'diamondExclamation':\n\t\t\treturn await import('../icons/diamondExclamation');\n\t\tcase 'diamond':\n\t\t\treturn await import('../icons/diamond');\n\t\tcase 'directionArrowDown':\n\t\t\treturn await import('../icons/directionArrowDown');\n\t\tcase 'directionArrowLeft':\n\t\t\treturn await import('../icons/directionArrowLeft');\n\t\tcase 'directionArrowRight':\n\t\t\treturn await import('../icons/directionArrowRight');\n\t\tcase 'directionArrowSlightLeft':\n\t\t\treturn await import('../icons/directionArrowSlightLeft');\n\t\tcase 'directionArrowSlightRight':\n\t\t\treturn await import('../icons/directionArrowSlightRight');\n\t\tcase 'directionArrowUp':\n\t\t\treturn await import('../icons/directionArrowUp');\n\t\tcase 'documentArchive':\n\t\t\treturn await import('../icons/documentArchive');\n\t\tcase 'documentAudio':\n\t\t\treturn await import('../icons/documentAudio');\n\t\tcase 'documentBlank':\n\t\t\treturn await import('../icons/documentBlank');\n\t\tcase 'documentBlankSlash':\n\t\t\treturn await import('../icons/documentBlankSlash');\n\t\tcase 'documentCertificate':\n\t\t\treturn await import('../icons/documentCertificate');\n\t\tcase 'documentChecklistSearch':\n\t\t\treturn await import('../icons/documentChecklistSearch');\n\t\tcase 'documentCode':\n\t\t\treturn await import('../icons/documentCode');\n\t\tcase 'documentExcel':\n\t\t\treturn await import('../icons/documentExcel');\n\t\tcase 'document':\n\t\t\treturn await import('../icons/document');\n\t\tcase 'documentImage':\n\t\t\treturn await import('../icons/documentImage');\n\t\tcase 'documentInfected':\n\t\t\treturn await import('../icons/documentInfected');\n\t\tcase 'documentPdf':\n\t\t\treturn await import('../icons/documentPdf');\n\t\tcase 'documentPlus':\n\t\t\treturn await import('../icons/documentPlus');\n\t\tcase 'documentPowerpoint':\n\t\t\treturn await import('../icons/documentPowerpoint');\n\t\tcase 'documentPpt':\n\t\t\treturn await import('../icons/documentPpt');\n\t\tcase 'documentQuestionMark':\n\t\t\treturn await import('../icons/documentQuestionMark');\n\t\tcase 'documentSpeedometer':\n\t\t\treturn await import('../icons/documentSpeedometer');\n\t\tcase 'documentTemplateEnvelope':\n\t\t\treturn await import('../icons/documentTemplateEnvelope');\n\t\tcase 'documentTemplate':\n\t\t\treturn await import('../icons/documentTemplate');\n\t\tcase 'documentTxt':\n\t\t\treturn await import('../icons/documentTxt');\n\t\tcase 'documentVideo':\n\t\t\treturn await import('../icons/documentVideo');\n\t\tcase 'documentWorkflow':\n\t\t\treturn await import('../icons/documentWorkflow');\n\t\tcase 'documentXls':\n\t\t\treturn await import('../icons/documentXls');\n\t\tcase 'documents':\n\t\t\treturn await import('../icons/documents');\n\t\tcase 'documentsPencil':\n\t\t\treturn await import('../icons/documentsPencil');\n\t\tcase 'door':\n\t\t\treturn await import('../icons/door');\n\t\tcase 'doubleChevronLeft':\n\t\t\treturn await import('../icons/doubleChevronLeft');\n\t\tcase 'doubleChevronRight':\n\t\t\treturn await import('../icons/doubleChevronRight');\n\t\tcase 'doubleSlashForward':\n\t\t\treturn await import('../icons/doubleSlashForward');\n\t\tcase 'downloadCode':\n\t\t\treturn await import('../icons/downloadCode');\n\t\tcase 'download':\n\t\t\treturn await import('../icons/download');\n\t\tcase 'downloadSlash':\n\t\t\treturn await import('../icons/downloadSlash');\n\t\tcase 'draft':\n\t\t\treturn await import('../icons/draft');\n\t\tcase 'dragDots':\n\t\t\treturn await import('../icons/dragDots');\n\t\tcase 'dragResize':\n\t\t\treturn await import('../icons/dragResize');\n\t\tcase 'drawTool':\n\t\t\treturn await import('../icons/drawTool');\n\t\tcase 'drawer':\n\t\t\treturn await import('../icons/drawer');\n\t\tcase 'dropdownCaret':\n\t\t\treturn await import('../icons/dropdownCaret');\n\t\tcase 'droplet':\n\t\t\treturn await import('../icons/droplet');\n\t\tcase 'duplicate':\n\t\t\treturn await import('../icons/duplicate');\n\t\tcase 'dynamicSegment':\n\t\t\treturn await import('../icons/dynamicSegment');\n\t\tcase 'elevator':\n\t\t\treturn await import('../icons/elevator');\n\t\tcase 'ellipsisHorizontal':\n\t\t\treturn await import('../icons/ellipsisHorizontal');\n\t\tcase 'ellipsisVertical':\n\t\t\treturn await import('../icons/ellipsisVertical');\n\t\tcase 'emojiNegative':\n\t\t\treturn await import('../icons/emojiNegative');\n\t\tcase 'emojiNeutral':\n\t\t\treturn await import('../icons/emojiNeutral');\n\t\tcase 'emojiPositive':\n\t\t\treturn await import('../icons/emojiPositive');\n\t\tcase 'emojiSlightlyNegative':\n\t\t\treturn await import('../icons/emojiSlightlyNegative');\n\t\tcase 'emojiSmile':\n\t\t\treturn await import('../icons/emojiSmile');\n\t\tcase 'enterpriseAssetManagement':\n\t\t\treturn await import('../icons/enterpriseAssetManagement');\n\t\tcase 'envelopeArrow':\n\t\t\treturn await import('../icons/envelopeArrow');\n\t\tcase 'envelope':\n\t\t\treturn await import('../icons/envelope');\n\t\tcase 'envelopeMinus':\n\t\t\treturn await import('../icons/envelopeMinus');\n\t\tcase 'envelopeOpen':\n\t\t\treturn await import('../icons/envelopeOpen');\n\t\tcase 'envelopePlus':\n\t\t\treturn await import('../icons/envelopePlus');\n\t\tcase 'eraser':\n\t\t\treturn await import('../icons/eraser');\n\t\tcase 'escalator':\n\t\t\treturn await import('../icons/escalator');\n\t\tcase 'exclamation':\n\t\t\treturn await import('../icons/exclamation');\n\t\tcase 'expand':\n\t\t\treturn await import('../icons/expand');\n\t\tcase 'eye':\n\t\t\treturn await import('../icons/eye');\n\t\tcase 'eyeSlash':\n\t\t\treturn await import('../icons/eyeSlash');\n\t\tcase 'facebook':\n\t\t\treturn await import('../icons/facebook');\n\t\tcase 'fieldName':\n\t\t\treturn await import('../icons/fieldName');\n\t\tcase 'filter':\n\t\t\treturn await import('../icons/filter');\n\t\tcase 'filterHide':\n\t\t\treturn await import('../icons/filterHide');\n\t\tcase 'filterShow':\n\t\t\treturn await import('../icons/filterShow');\n\t\tcase 'fire':\n\t\t\treturn await import('../icons/fire');\n\t\tcase 'fitWidth':\n\t\t\treturn await import('../icons/fitWidth');\n\t\tcase 'flagEventAdd':\n\t\t\treturn await import('../icons/flagEventAdd');\n\t\tcase 'flagEvent':\n\t\t\treturn await import('../icons/flagEvent');\n\t\tcase 'flag':\n\t\t\treturn await import('../icons/flag');\n\t\tcase 'flashlight':\n\t\t\treturn await import('../icons/flashlight');\n\t\tcase 'flexDistributeBottom':\n\t\t\treturn await import('../icons/flexDistributeBottom');\n\t\tcase 'flexDistributeCenter':\n\t\t\treturn await import('../icons/flexDistributeCenter');\n\t\tcase 'flexDistributeSpaceAround':\n\t\t\treturn await import('../icons/flexDistributeSpaceAround');\n\t\tcase 'flexDistributeSpaceBetween':\n\t\t\treturn await import('../icons/flexDistributeSpaceBetween');\n\t\tcase 'flexDistributeSpaceEvenly':\n\t\t\treturn await import('../icons/flexDistributeSpaceEvenly');\n\t\tcase 'flexDistributeTop':\n\t\t\treturn await import('../icons/flexDistributeTop');\n\t\tcase 'flexJustifyCenter':\n\t\t\treturn await import('../icons/flexJustifyCenter');\n\t\tcase 'flexJustifyLeft':\n\t\t\treturn await import('../icons/flexJustifyLeft');\n\t\tcase 'flexJustifyRight':\n\t\t\treturn await import('../icons/flexJustifyRight');\n\t\tcase 'flexJustifySpaceAround':\n\t\t\treturn await import('../icons/flexJustifySpaceAround');\n\t\tcase 'flexJustifySpaceBetween':\n\t\t\treturn await import('../icons/flexJustifySpaceBetween');\n\t\tcase 'flexJustifySpaceEvenly':\n\t\t\treturn await import('../icons/flexJustifySpaceEvenly');\n\t\tcase 'floorplan':\n\t\t\treturn await import('../icons/floorplan');\n\t\tcase 'flowOutput':\n\t\t\treturn await import('../icons/flowOutput');\n\t\tcase 'folderCirclePlus':\n\t\t\treturn await import('../icons/folderCirclePlus');\n\t\tcase 'folder':\n\t\t\treturn await import('../icons/folder');\n\t\tcase 'folderOpenCircleCheck':\n\t\t\treturn await import('../icons/folderOpenCircleCheck');\n\t\tcase 'folderOpen':\n\t\t\treturn await import('../icons/folderOpen');\n\t\tcase 'food':\n\t\t\treturn await import('../icons/food');\n\t\tcase 'form':\n\t\t\treturn await import('../icons/form');\n\t\tcase 'formula':\n\t\t\treturn await import('../icons/formula');\n\t\tcase 'fullscreen':\n\t\t\treturn await import('../icons/fullscreen');\n\t\tcase 'gearChanges':\n\t\t\treturn await import('../icons/gearChanges');\n\t\tcase 'gear':\n\t\t\treturn await import('../icons/gear');\n\t\tcase 'gearMinus':\n\t\t\treturn await import('../icons/gearMinus');\n\t\tcase 'gearShieldCheckmark':\n\t\t\treturn await import('../icons/gearShieldCheckmark');\n\t\tcase 'gem':\n\t\t\treturn await import('../icons/gem');\n\t\tcase 'glasses':\n\t\t\treturn await import('../icons/glasses');\n\t\tcase 'globeClock':\n\t\t\treturn await import('../icons/globeClock');\n\t\tcase 'globe':\n\t\t\treturn await import('../icons/globe');\n\t\tcase 'globePin':\n\t\t\treturn await import('../icons/globePin');\n\t\tcase 'graduationCap':\n\t\t\treturn await import('../icons/graduationCap');\n\t\tcase 'gridAlignItemsBaseline':\n\t\t\treturn await import('../icons/gridAlignItemsBaseline');\n\t\tcase 'gridAlignItemsBottom':\n\t\t\treturn await import('../icons/gridAlignItemsBottom');\n\t\tcase 'gridAlignItemsCenter':\n\t\t\treturn await import('../icons/gridAlignItemsCenter');\n\t\tcase 'gridAlignItemsStretch':\n\t\t\treturn await import('../icons/gridAlignItemsStretch');\n\t\tcase 'gridAlignItemsTop':\n\t\t\treturn await import('../icons/gridAlignItemsTop');\n\t\tcase 'gridDistributeContentBottom':\n\t\t\treturn await import('../icons/gridDistributeContentBottom');\n\t\tcase 'gridDistributeContentCenter':\n\t\t\treturn await import('../icons/gridDistributeContentCenter');\n\t\tcase 'gridDistributeContentSpaceAround':\n\t\t\treturn await import('../icons/gridDistributeContentSpaceAround');\n\t\tcase 'gridDistributeContentSpaceBetween':\n\t\t\treturn await import('../icons/gridDistributeContentSpaceBetween');\n\t\tcase 'gridDistributeContentSpaceEvenly':\n\t\t\treturn await import('../icons/gridDistributeContentSpaceEvenly');\n\t\tcase 'gridDistributeContentStretch':\n\t\t\treturn await import('../icons/gridDistributeContentStretch');\n\t\tcase 'gridDistributeContentTop':\n\t\t\treturn await import('../icons/gridDistributeContentTop');\n\t\tcase 'grid':\n\t\t\treturn await import('../icons/grid');\n\t\tcase 'gridFour':\n\t\t\treturn await import('../icons/gridFour');\n\t\tcase 'gridJustifyContentCenter':\n\t\t\treturn await import('../icons/gridJustifyContentCenter');\n\t\tcase 'gridJustifyContentLeft':\n\t\t\treturn await import('../icons/gridJustifyContentLeft');\n\t\tcase 'gridJustifyContentRight':\n\t\t\treturn await import('../icons/gridJustifyContentRight');\n\t\tcase 'gridJustifyContentSpaceAround':\n\t\t\treturn await import('../icons/gridJustifyContentSpaceAround');\n\t\tcase 'gridJustifyContentSpaceBetween':\n\t\t\treturn await import('../icons/gridJustifyContentSpaceBetween');\n\t\tcase 'gridJustifyContentSpaceEvenly':\n\t\t\treturn await import('../icons/gridJustifyContentSpaceEvenly');\n\t\tcase 'gridJustifyContentStretch':\n\t\t\treturn await import('../icons/gridJustifyContentStretch');\n\t\tcase 'gridJustifyItemsBaseline':\n\t\t\treturn await import('../icons/gridJustifyItemsBaseline');\n\t\tcase 'gridJustifyItemsCenter':\n\t\t\treturn await import('../icons/gridJustifyItemsCenter');\n\t\tcase 'gridJustifyItemsLeft':\n\t\t\treturn await import('../icons/gridJustifyItemsLeft');\n\t\tcase 'gridJustifyItemsRight':\n\t\t\treturn await import('../icons/gridJustifyItemsRight');\n\t\tcase 'gridJustifyItemsStretch':\n\t\t\treturn await import('../icons/gridJustifyItemsStretch');\n\t\tcase 'gridThree':\n\t\t\treturn await import('../icons/gridThree');\n\t\tcase 'gridVertical':\n\t\t\treturn await import('../icons/gridVertical');\n\t\tcase 'groupLines':\n\t\t\treturn await import('../icons/groupLines');\n\t\tcase 'hammerCode':\n\t\t\treturn await import('../icons/hammerCode');\n\t\tcase 'hammerJson':\n\t\t\treturn await import('../icons/hammerJson');\n\t\tcase 'hammerPayload':\n\t\t\treturn await import('../icons/hammerPayload');\n\t\tcase 'handGear':\n\t\t\treturn await import('../icons/handGear');\n\t\tcase 'handshake':\n\t\t\treturn await import('../icons/handshake');\n\t\tcase 'harddrive':\n\t\t\treturn await import('../icons/harddrive');\n\t\tcase 'heading1':\n\t\t\treturn await import('../icons/heading1');\n\t\tcase 'heading2':\n\t\t\treturn await import('../icons/heading2');\n\t\tcase 'heading3':\n\t\t\treturn await import('../icons/heading3');\n\t\tcase 'heading4':\n\t\t\treturn await import('../icons/heading4');\n\t\tcase 'headset':\n\t\t\treturn await import('../icons/headset');\n\t\tcase 'healthScreening':\n\t\t\treturn await import('../icons/healthScreening');\n\t\tcase 'healthStatus':\n\t\t\treturn await import('../icons/healthStatus');\n\t\tcase 'heart':\n\t\t\treturn await import('../icons/heart');\n\t\tcase 'heartbeat':\n\t\t\treturn await import('../icons/heartbeat');\n\t\tcase 'home':\n\t\t\treturn await import('../icons/home');\n\t\tcase 'hr':\n\t\t\treturn await import('../icons/hr');\n\t\tcase 'id':\n\t\t\treturn await import('../icons/id');\n\t\tcase 'image':\n\t\t\treturn await import('../icons/image');\n\t\tcase 'imagePlus':\n\t\t\treturn await import('../icons/imagePlus');\n\t\tcase 'imageSlash':\n\t\t\treturn await import('../icons/imageSlash');\n\t\tcase 'images':\n\t\t\treturn await import('../icons/images');\n\t\tcase 'inboxArchive':\n\t\t\treturn await import('../icons/inboxArchive');\n\t\tcase 'inbox':\n\t\t\treturn await import('../icons/inbox');\n\t\tcase 'inboxQueue':\n\t\t\treturn await import('../icons/inboxQueue');\n\t\tcase 'indicatorCheck':\n\t\t\treturn await import('../icons/indicatorCheck');\n\t\tcase 'insertColumnLeft':\n\t\t\treturn await import('../icons/insertColumnLeft');\n\t\tcase 'insertColumnRight':\n\t\t\treturn await import('../icons/insertColumnRight');\n\t\tcase 'insertRowAfter':\n\t\t\treturn await import('../icons/insertRowAfter');\n\t\tcase 'insertRowBefore':\n\t\t\treturn await import('../icons/insertRowBefore');\n\t\tcase 'instagram':\n\t\t\treturn await import('../icons/instagram');\n\t\tcase 'integer':\n\t\t\treturn await import('../icons/integer');\n\t\tcase 'inventoryCirclePlus':\n\t\t\treturn await import('../icons/inventoryCirclePlus');\n\t\tcase 'inventory':\n\t\t\treturn await import('../icons/inventory');\n\t\tcase 'isolation':\n\t\t\treturn await import('../icons/isolation');\n\t\tcase 'itemIndent':\n\t\t\treturn await import('../icons/itemIndent');\n\t\tcase 'itemUnindent':\n\t\t\treturn await import('../icons/itemUnindent');\n\t\tcase 'journal':\n\t\t\treturn await import('../icons/journal');\n\t\tcase 'journalList':\n\t\t\treturn await import('../icons/journalList');\n\t\tcase 'journalPencil':\n\t\t\treturn await import('../icons/journalPencil');\n\t\tcase 'key':\n\t\t\treturn await import('../icons/key');\n\t\tcase 'keyboard':\n\t\t\treturn await import('../icons/keyboard');\n\t\tcase 'keys':\n\t\t\treturn await import('../icons/keys');\n\t\tcase 'kpi':\n\t\t\treturn await import('../icons/kpi');\n\t\tcase 'label':\n\t\t\treturn await import('../icons/label');\n\t\tcase 'laptopCheckUser':\n\t\t\treturn await import('../icons/laptopCheckUser');\n\t\tcase 'laptop':\n\t\t\treturn await import('../icons/laptop');\n\t\tcase 'layersMiddle':\n\t\t\treturn await import('../icons/layersMiddle');\n\t\tcase 'layout':\n\t\t\treturn await import('../icons/layout');\n\t\tcase 'letterAb':\n\t\t\treturn await import('../icons/letterAb');\n\t\tcase 'letterAs':\n\t\t\treturn await import('../icons/letterAs');\n\t\tcase 'letterAbBracket':\n\t\t\treturn await import('../icons/letterAbBracket');\n\t\tcase 'lifesaver':\n\t\t\treturn await import('../icons/lifesaver');\n\t\tcase 'lightbulb':\n\t\t\treturn await import('../icons/lightbulb');\n\t\tcase 'lightning':\n\t\t\treturn await import('../icons/lightning');\n\t\tcase 'lightningSlash':\n\t\t\treturn await import('../icons/lightningSlash');\n\t\tcase 'lineDiagonal':\n\t\t\treturn await import('../icons/lineDiagonal');\n\t\tcase 'link':\n\t\t\treturn await import('../icons/link');\n\t\tcase 'linkedin':\n\t\t\treturn await import('../icons/linkedin');\n\t\tcase 'list':\n\t\t\treturn await import('../icons/list');\n\t\tcase 'listHide':\n\t\t\treturn await import('../icons/listHide');\n\t\tcase 'listKey':\n\t\t\treturn await import('../icons/listKey');\n\t\tcase 'listMarker':\n\t\t\treturn await import('../icons/listMarker');\n\t\tcase 'listShow':\n\t\t\treturn await import('../icons/listShow');\n\t\tcase 'liveFeed':\n\t\t\treturn await import('../icons/liveFeed');\n\t\tcase 'liveFeedVertical':\n\t\t\treturn await import('../icons/liveFeedVertical');\n\t\tcase 'loader':\n\t\t\treturn await import('../icons/loader');\n\t\tcase 'lock':\n\t\t\treturn await import('../icons/lock');\n\t\tcase 'longArrowLeft':\n\t\t\treturn await import('../icons/longArrowLeft');\n\t\tcase 'longArrowRight':\n\t\t\treturn await import('../icons/longArrowRight');\n\t\tcase 'magic':\n\t\t\treturn await import('../icons/magic');\n\t\tcase 'magicSlash':\n\t\t\treturn await import('../icons/magicSlash');\n\t\tcase 'magnifyingGlassAiSparkle':\n\t\t\treturn await import('../icons/magnifyingGlassAiSparkle');\n\t\tcase 'magnifyingGlassCheck':\n\t\t\treturn await import('../icons/magnifyingGlassCheck');\n\t\tcase 'magnifyingGlass':\n\t\t\treturn await import('../icons/magnifyingGlass');\n\t\tcase 'magnifyingGlassFilter':\n\t\t\treturn await import('../icons/magnifyingGlassFilter');\n\t\tcase 'magnifyingGlassMinus':\n\t\t\treturn await import('../icons/magnifyingGlassMinus');\n\t\tcase 'magnifyingGlassPlus':\n\t\t\treturn await import('../icons/magnifyingGlassPlus');\n\t\tcase 'mapDirection':\n\t\t\treturn await import('../icons/mapDirection');\n\t\tcase 'map':\n\t\t\treturn await import('../icons/map');\n\t\tcase 'mapPin':\n\t\t\treturn await import('../icons/mapPin');\n\t\tcase 'mapPins':\n\t\t\treturn await import('../icons/mapPins');\n\t\tcase 'marker':\n\t\t\treturn await import('../icons/marker');\n\t\tcase 'market':\n\t\t\treturn await import('../icons/market');\n\t\tcase 'maximize':\n\t\t\treturn await import('../icons/maximize');\n\t\tcase 'mediaBack':\n\t\t\treturn await import('../icons/mediaBack');\n\t\tcase 'mediaNext':\n\t\t\treturn await import('../icons/mediaNext');\n\t\tcase 'megaphone':\n\t\t\treturn await import('../icons/megaphone');\n\t\tcase 'mention':\n\t\t\treturn await import('../icons/mention');\n\t\tcase 'menu':\n\t\t\treturn await import('../icons/menu');\n\t\tcase 'microphone':\n\t\t\treturn await import('../icons/microphone');\n\t\tcase 'microphoneSlash':\n\t\t\treturn await import('../icons/microphoneSlash');\n\t\tcase 'microsoftTeams':\n\t\t\treturn await import('../icons/microsoftTeams');\n\t\tcase 'minimize':\n\t\t\treturn await import('../icons/minimize');\n\t\tcase 'minus':\n\t\t\treturn await import('../icons/minus');\n\t\tcase 'minusVertical':\n\t\t\treturn await import('../icons/minusVertical');\n\t\tcase 'modal':\n\t\t\treturn await import('../icons/modal');\n\t\tcase 'modelessDialog':\n\t\t\treturn await import('../icons/modelessDialog');\n\t\tcase 'monitorExclamation':\n\t\t\treturn await import('../icons/monitorExclamation');\n\t\tcase 'monitor':\n\t\t\treturn await import('../icons/monitor');\n\t\tcase 'moon':\n\t\t\treturn await import('../icons/moon');\n\t\tcase 'moveItemDown':\n\t\t\treturn await import('../icons/moveItemDown');\n\t\tcase 'moveItemLeft':\n\t\t\treturn await import('../icons/moveItemLeft');\n\t\tcase 'moveItemRight':\n\t\t\treturn await import('../icons/moveItemRight');\n\t\tcase 'moveItemUp':\n\t\t\treturn await import('../icons/moveItemUp');\n\t\tcase 'moveLinkLeft':\n\t\t\treturn await import('../icons/moveLinkLeft');\n\t\tcase 'moveLinkRight':\n\t\t\treturn await import('../icons/moveLinkRight');\n\t\tcase 'new':\n\t\t\treturn await import('../icons/new');\n\t\tcase 'news':\n\t\t\treturn await import('../icons/news');\n\t\tcase 'note':\n\t\t\treturn await import('../icons/note');\n\t\tcase 'number':\n\t\t\treturn await import('../icons/number');\n\t\tcase 'numberedList':\n\t\t\treturn await import('../icons/numberedList');\n\t\tcase 'officialVerification':\n\t\t\treturn await import('../icons/officialVerification');\n\t\tcase 'okta':\n\t\t\treturn await import('../icons/okta');\n\t\tcase 'ongoing':\n\t\t\treturn await import('../icons/ongoing');\n\t\tcase 'openLinkLeft':\n\t\t\treturn await import('../icons/openLinkLeft');\n\t\tcase 'openLinkRight':\n\t\t\treturn await import('../icons/openLinkRight');\n\t\tcase 'optionKey':\n\t\t\treturn await import('../icons/optionKey');\n\t\tcase 'outagePast':\n\t\t\treturn await import('../icons/outagePast');\n\t\tcase 'outagePlanned':\n\t\t\treturn await import('../icons/outagePlanned');\n\t\tcase 'packageSearch':\n\t\t\treturn await import('../icons/packageSearch');\n\t\tcase 'palette':\n\t\t\treturn await import('../icons/palette');\n\t\tcase 'panelDisplayBottom':\n\t\t\treturn await import('../icons/panelDisplayBottom');\n\t\tcase 'panelDisplayLeftCollapse':\n\t\t\treturn await import('../icons/panelDisplayLeftCollapse');\n\t\tcase 'panelDisplayLeftExpand':\n\t\t\treturn await import('../icons/panelDisplayLeftExpand');\n\t\tcase 'panelDisplayLeft':\n\t\t\treturn await import('../icons/panelDisplayLeft');\n\t\tcase 'panelDisplayMiddle':\n\t\t\treturn await import('../icons/panelDisplayMiddle');\n\t\tcase 'panelDisplayPopout':\n\t\t\treturn await import('../icons/panelDisplayPopout');\n\t\tcase 'panelDisplayRightCollapse':\n\t\t\treturn await import('../icons/panelDisplayRightCollapse');\n\t\tcase 'panelDisplayRightExpand':\n\t\t\treturn await import('../icons/panelDisplayRightExpand');\n\t\tcase 'panelDisplayRight':\n\t\t\treturn await import('../icons/panelDisplayRight');\n\t\tcase 'paperclip':\n\t\t\treturn await import('../icons/paperclip');\n\t\tcase 'pause':\n\t\t\treturn await import('../icons/pause');\n\t\tcase 'pencil':\n\t\t\treturn await import('../icons/pencil');\n\t\tcase 'pencilPage':\n\t\t\treturn await import('../icons/pencilPage');\n\t\tcase 'percentage':\n\t\t\treturn await import('../icons/percentage');\n\t\tcase 'phoneArrowsSwap':\n\t\t\treturn await import('../icons/phoneArrowsSwap');\n\t\tcase 'phoneClose':\n\t\t\treturn await import('../icons/phoneClose');\n\t\tcase 'phoneDown':\n\t\t\treturn await import('../icons/phoneDown');\n\t\tcase 'phone':\n\t\t\treturn await import('../icons/phone');\n\t\tcase 'phoneIncoming':\n\t\t\treturn await import('../icons/phoneIncoming');\n\t\tcase 'phoneKeypad':\n\t\t\treturn await import('../icons/phoneKeypad');\n\t\tcase 'phoneOutgoing':\n\t\t\treturn await import('../icons/phoneOutgoing');\n\t\tcase 'phonePause':\n\t\t\treturn await import('../icons/phonePause');\n\t\tcase 'phonePlay':\n\t\t\treturn await import('../icons/phonePlay');\n\t\tcase 'phoneSlash':\n\t\t\treturn await import('../icons/phoneSlash');\n\t\tcase 'phoneUser':\n\t\t\treturn await import('../icons/phoneUser');\n\t\tcase 'pilcrow':\n\t\t\treturn await import('../icons/pilcrow');\n\t\tcase 'pinterest':\n\t\t\treturn await import('../icons/pinterest');\n\t\tcase 'play':\n\t\t\treturn await import('../icons/play');\n\t\tcase 'playbook':\n\t\t\treturn await import('../icons/playbook');\n\t\tcase 'plug':\n\t\t\treturn await import('../icons/plug');\n\t\tcase 'plugSlash':\n\t\t\treturn await import('../icons/plugSlash');\n\t\tcase 'plus':\n\t\t\treturn await import('../icons/plus');\n\t\tcase 'popIn':\n\t\t\treturn await import('../icons/popIn');\n\t\tcase 'power':\n\t\t\treturn await import('../icons/power');\n\t\tcase 'presenceAvailable':\n\t\t\treturn await import('../icons/presenceAvailable');\n\t\tcase 'presenceAway':\n\t\t\treturn await import('../icons/presenceAway');\n\t\tcase 'presenceBusy':\n\t\t\treturn await import('../icons/presenceBusy');\n\t\tcase 'presence':\n\t\t\treturn await import('../icons/presence');\n\t\tcase 'presenceOffline':\n\t\t\treturn await import('../icons/presenceOffline');\n\t\tcase 'printer':\n\t\t\treturn await import('../icons/printer');\n\t\tcase 'processBlocks':\n\t\t\treturn await import('../icons/processBlocks');\n\t\tcase 'publish':\n\t\t\treturn await import('../icons/publish');\n\t\tcase 'puzzle':\n\t\t\treturn await import('../icons/puzzle');\n\t\tcase 'qrCode':\n\t\t\treturn await import('../icons/qrCode');\n\t\tcase 'quadrantChartBubble':\n\t\t\treturn await import('../icons/quadrantChartBubble');\n\t\tcase 'quoteLeft':\n\t\t\treturn await import('../icons/quoteLeft');\n\t\tcase 'quoteRight':\n\t\t\treturn await import('../icons/quoteRight');\n\t\tcase 'radioAbcScale':\n\t\t\treturn await import('../icons/radioAbcScale');\n\t\tcase 'radioButton':\n\t\t\treturn await import('../icons/radioButton');\n\t\tcase 'radioNumericScale':\n\t\t\treturn await import('../icons/radioNumericScale');\n\t\tcase 'ramp':\n\t\t\treturn await import('../icons/ramp');\n\t\tcase 'recordActivityDetails':\n\t\t\treturn await import('../icons/recordActivityDetails');\n\t\tcase 'recordActivity':\n\t\t\treturn await import('../icons/recordActivity');\n\t\tcase 'recordActivityStream':\n\t\t\treturn await import('../icons/recordActivityStream');\n\t\tcase 'recordActivityStreamVertical':\n\t\t\treturn await import('../icons/recordActivityStreamVertical');\n\t\tcase 'rectangleArrowDown':\n\t\t\treturn await import('../icons/rectangleArrowDown');\n\t\tcase 'rectangleSearch':\n\t\t\treturn await import('../icons/rectangleSearch');\n\t\tcase 'rectangleSpeedometer':\n\t\t\treturn await import('../icons/rectangleSpeedometer');\n\t\tcase 'redoBottom':\n\t\t\treturn await import('../icons/redoBottom');\n\t\tcase 'redoTop':\n\t\t\treturn await import('../icons/redoTop');\n\t\tcase 'regularExpression':\n\t\t\treturn await import('../icons/regularExpression');\n\t\tcase 'relatedList':\n\t\t\treturn await import('../icons/relatedList');\n\t\tcase 'replaceAll':\n\t\t\treturn await import('../icons/replaceAll');\n\t\tcase 'replace':\n\t\t\treturn await import('../icons/replace');\n\t\tcase 'reply':\n\t\t\treturn await import('../icons/reply');\n\t\tcase 'reservation':\n\t\t\treturn await import('../icons/reservation');\n\t\tcase 'restroom':\n\t\t\treturn await import('../icons/restroom');\n\t\tcase 'roadmap':\n\t\t\treturn await import('../icons/roadmap');\n\t\tcase 'rocketship':\n\t\t\treturn await import('../icons/rocketship');\n\t\tcase 'rotateClockwise':\n\t\t\treturn await import('../icons/rotateClockwise');\n\t\tcase 'rotateCounterClockwise':\n\t\t\treturn await import('../icons/rotateCounterClockwise');\n\t\tcase 'rssFeed':\n\t\t\treturn await import('../icons/rssFeed');\n\t\tcase 'save':\n\t\t\treturn await import('../icons/save');\n\t\tcase 'scanner':\n\t\t\treturn await import('../icons/scanner');\n\t\tcase 'scissor':\n\t\t\treturn await import('../icons/scissor');\n\t\tcase 'score':\n\t\t\treturn await import('../icons/score');\n\t\tcase 'scoreList':\n\t\t\treturn await import('../icons/scoreList');\n\t\tcase 'scoreListLightning':\n\t\t\treturn await import('../icons/scoreListLightning');\n\t\tcase 'scriptCheck':\n\t\t\treturn await import('../icons/scriptCheck');\n\t\tcase 'scriptCursor':\n\t\t\treturn await import('../icons/scriptCursor');\n\t\tcase 'scriptDiamond':\n\t\t\treturn await import('../icons/scriptDiamond');\n\t\tcase 'script':\n\t\t\treturn await import('../icons/script');\n\t\tcase 'selectAll':\n\t\t\treturn await import('../icons/selectAll');\n\t\tcase 'selectElement':\n\t\t\treturn await import('../icons/selectElement');\n\t\tcase 'send':\n\t\t\treturn await import('../icons/send');\n\t\tcase 'separate':\n\t\t\treturn await import('../icons/separate');\n\t\tcase 'serverboxApplication':\n\t\t\treturn await import('../icons/serverboxApplication');\n\t\tcase 'serverboxClock':\n\t\t\treturn await import('../icons/serverboxClock');\n\t\tcase 'serverboxCloud':\n\t\t\treturn await import('../icons/serverboxCloud');\n\t\tcase 'serverboxCluster':\n\t\t\treturn await import('../icons/serverboxCluster');\n\t\tcase 'serverboxDatabase':\n\t\t\treturn await import('../icons/serverboxDatabase');\n\t\tcase 'serverboxEmail':\n\t\t\treturn await import('../icons/serverboxEmail');\n\t\tcase 'serverbox':\n\t\t\treturn await import('../icons/serverbox');\n\t\tcase 'serverboxHealth':\n\t\t\treturn await import('../icons/serverboxHealth');\n\t\tcase 'serverboxJava':\n\t\t\treturn await import('../icons/serverboxJava');\n\t\tcase 'shapes':\n\t\t\treturn await import('../icons/shapes');\n\t\tcase 'share':\n\t\t\treturn await import('../icons/share');\n\t\tcase 'shareIos':\n\t\t\treturn await import('../icons/shareIos');\n\t\tcase 'shieldCheck':\n\t\t\treturn await import('../icons/shieldCheck');\n\t\tcase 'shieldCircleCheckmark':\n\t\t\treturn await import('../icons/shieldCircleCheckmark');\n\t\tcase 'shieldClose':\n\t\t\treturn await import('../icons/shieldClose');\n\t\tcase 'shieldCrack':\n\t\t\treturn await import('../icons/shieldCrack');\n\t\tcase 'shield':\n\t\t\treturn await import('../icons/shield');\n\t\tcase 'shoppingCart':\n\t\t\treturn await import('../icons/shoppingCart');\n\t\tcase 'shoppingCartFull':\n\t\t\treturn await import('../icons/shoppingCartFull');\n\t\tcase 'shoppingCartSlash':\n\t\t\treturn await import('../icons/shoppingCartSlash');\n\t\tcase 'signal':\n\t\t\treturn await import('../icons/signal');\n\t\tcase 'signalLive':\n\t\t\treturn await import('../icons/signalLive');\n\t\tcase 'size':\n\t\t\treturn await import('../icons/size');\n\t\tcase 'slack':\n\t\t\treturn await import('../icons/slack');\n\t\tcase 'sliders':\n\t\t\treturn await import('../icons/sliders');\n\t\tcase 'slidersVertical':\n\t\t\treturn await import('../icons/slidersVertical');\n\t\tcase 'smoke':\n\t\t\treturn await import('../icons/smoke');\n\t\tcase 'sortAscending':\n\t\t\treturn await import('../icons/sortAscending');\n\t\tcase 'sortDescending':\n\t\t\treturn await import('../icons/sortDescending');\n\t\tcase 'speaker':\n\t\t\treturn await import('../icons/speaker');\n\t\tcase 'spellCheck':\n\t\t\treturn await import('../icons/spellCheck');\n\t\tcase 'splitVertical':\n\t\t\treturn await import('../icons/splitVertical');\n\t\tcase 'spokes':\n\t\t\treturn await import('../icons/spokes');\n\t\tcase 'squareArrowDown':\n\t\t\treturn await import('../icons/squareArrowDown');\n\t\tcase 'squareArrowLeft':\n\t\t\treturn await import('../icons/squareArrowLeft');\n\t\tcase 'squareArrowRight':\n\t\t\treturn await import('../icons/squareArrowRight');\n\t\tcase 'squareArrowUp':\n\t\t\treturn await import('../icons/squareArrowUp');\n\t\tcase 'squareArrowUpLeft':\n\t\t\treturn await import('../icons/squareArrowUpLeft');\n\t\tcase 'squareArrowUpRight':\n\t\t\treturn await import('../icons/squareArrowUpRight');\n\t\tcase 'squareC':\n\t\t\treturn await import('../icons/squareC');\n\t\tcase 'squareClose':\n\t\t\treturn await import('../icons/squareClose');\n\t\tcase 'squareCurlyBracket':\n\t\t\treturn await import('../icons/squareCurlyBracket');\n\t\tcase 'squareDashed':\n\t\t\treturn await import('../icons/squareDashed');\n\t\tcase 'square':\n\t\t\treturn await import('../icons/square');\n\t\tcase 'squareI':\n\t\t\treturn await import('../icons/squareI');\n\t\tcase 'squareLoop':\n\t\t\treturn await import('../icons/squareLoop');\n\t\tcase 'squareP':\n\t\t\treturn await import('../icons/squareP');\n\t\tcase 'squareQuestion':\n\t\t\treturn await import('../icons/squareQuestion');\n\t\tcase 'squareS':\n\t\t\treturn await import('../icons/squareS');\n\t\tcase 'squareShare':\n\t\t\treturn await import('../icons/squareShare');\n\t\tcase 'stairs':\n\t\t\treturn await import('../icons/stairs');\n\t\tcase 'star':\n\t\t\treturn await import('../icons/star');\n\t\tcase 'status':\n\t\t\treturn await import('../icons/status');\n\t\tcase 'stop':\n\t\t\treturn await import('../icons/stop');\n\t\tcase 'stopwatch':\n\t\t\treturn await import('../icons/stopwatch');\n\t\tcase 'streamAllInput':\n\t\t\treturn await import('../icons/streamAllInput');\n\t\tcase 'streamOneInput':\n\t\t\treturn await import('../icons/streamOneInput');\n\t\tcase 'strikethrough':\n\t\t\treturn await import('../icons/strikethrough');\n\t\tcase 'sunChevronDown':\n\t\t\treturn await import('../icons/sunChevronDown');\n\t\tcase 'sunChevronUp':\n\t\t\treturn await import('../icons/sunChevronUp');\n\t\tcase 'sun':\n\t\t\treturn await import('../icons/sun');\n\t\tcase 'sync':\n\t\t\treturn await import('../icons/sync');\n\t\tcase 'syncPlay':\n\t\t\treturn await import('../icons/syncPlay');\n\t\tcase 'syntaxCheck':\n\t\t\treturn await import('../icons/syntaxCheck');\n\t\tcase 'syntaxPencil':\n\t\t\treturn await import('../icons/syntaxPencil');\n\t\tcase 'tableDiamond':\n\t\t\treturn await import('../icons/tableDiamond');\n\t\tcase 'table':\n\t\t\treturn await import('../icons/table');\n\t\tcase 'tableGrid':\n\t\t\treturn await import('../icons/tableGrid');\n\t\tcase 'tableSearch':\n\t\t\treturn await import('../icons/tableSearch');\n\t\tcase 'tablet':\n\t\t\treturn await import('../icons/tablet');\n\t\tcase 'tabset':\n\t\t\treturn await import('../icons/tabset');\n\t\tcase 'tagDetail':\n\t\t\treturn await import('../icons/tagDetail');\n\t\tcase 'tagDot':\n\t\t\treturn await import('../icons/tagDot');\n\t\tcase 'tag':\n\t\t\treturn await import('../icons/tag');\n\t\tcase 'tags':\n\t\t\treturn await import('../icons/tags');\n\t\tcase 'target':\n\t\t\treturn await import('../icons/target');\n\t\tcase 'textBold':\n\t\t\treturn await import('../icons/textBold');\n\t\tcase 'textDiamond':\n\t\t\treturn await import('../icons/textDiamond');\n\t\tcase 'text':\n\t\t\treturn await import('../icons/text');\n\t\tcase 'textIndent':\n\t\t\treturn await import('../icons/textIndent');\n\t\tcase 'textItalic':\n\t\t\treturn await import('../icons/textItalic');\n\t\tcase 'textStyleAdd':\n\t\t\treturn await import('../icons/textStyleAdd');\n\t\tcase 'textStyleClear':\n\t\t\treturn await import('../icons/textStyleClear');\n\t\tcase 'textType':\n\t\t\treturn await import('../icons/textType');\n\t\tcase 'textUnderline':\n\t\t\treturn await import('../icons/textUnderline');\n\t\tcase 'textUnindent':\n\t\t\treturn await import('../icons/textUnindent');\n\t\tcase 'textUtf8':\n\t\t\treturn await import('../icons/textUtf8');\n\t\tcase 'textX':\n\t\t\treturn await import('../icons/textX');\n\t\tcase 'thickArrowUp':\n\t\t\treturn await import('../icons/thickArrowUp');\n\t\tcase 'thresholdBar':\n\t\t\treturn await import('../icons/thresholdBar');\n\t\tcase 'thumbsDown':\n\t\t\treturn await import('../icons/thumbsDown');\n\t\tcase 'thumbsUp':\n\t\t\treturn await import('../icons/thumbsUp');\n\t\tcase 'thumbtack':\n\t\t\treturn await import('../icons/thumbtack');\n\t\tcase 'thumbtackSlash':\n\t\t\treturn await import('../icons/thumbtackSlash');\n\t\tcase 'ticket':\n\t\t\treturn await import('../icons/ticket');\n\t\tcase 'ticketPlus':\n\t\t\treturn await import('../icons/ticketPlus');\n\t\tcase 'timeline':\n\t\t\treturn await import('../icons/timeline');\n\t\tcase 'todayDashed':\n\t\t\treturn await import('../icons/todayDashed');\n\t\tcase 'today':\n\t\t\treturn await import('../icons/today');\n\t\tcase 'toggle':\n\t\t\treturn await import('../icons/toggle');\n\t\tcase 'toolbox':\n\t\t\treturn await import('../icons/toolbox');\n\t\tcase 'translatedHtml':\n\t\t\treturn await import('../icons/translatedHtml');\n\t\tcase 'translatedText':\n\t\t\treturn await import('../icons/translatedText');\n\t\tcase 'trash':\n\t\t\treturn await import('../icons/trash');\n\t\tcase 'treeCode':\n\t\t\treturn await import('../icons/treeCode');\n\t\tcase 'treeConditions':\n\t\t\treturn await import('../icons/treeConditions');\n\t\tcase 'tree':\n\t\t\treturn await import('../icons/tree');\n\t\tcase 'treeFlowAiSparkle':\n\t\t\treturn await import('../icons/treeFlowAiSparkle');\n\t\tcase 'treeFlow':\n\t\t\treturn await import('../icons/treeFlow');\n\t\tcase 'treeJson':\n\t\t\treturn await import('../icons/treeJson');\n\t\tcase 'treeSelected':\n\t\t\treturn await import('../icons/treeSelected');\n\t\tcase 'treeSubflow':\n\t\t\treturn await import('../icons/treeSubflow');\n\t\tcase 'treeViewLong':\n\t\t\treturn await import('../icons/treeViewLong');\n\t\tcase 'treeViewShort':\n\t\t\treturn await import('../icons/treeViewShort');\n\t\tcase 'treeWorkflow':\n\t\t\treturn await import('../icons/treeWorkflow');\n\t\tcase 'triangleExclamation':\n\t\t\treturn await import('../icons/triangleExclamation');\n\t\tcase 'tumblr':\n\t\t\treturn await import('../icons/tumblr');\n\t\tcase 'twilio':\n\t\t\treturn await import('../icons/twilio');\n\t\tcase 'twitter':\n\t\t\treturn await import('../icons/twitter');\n\t\tcase 'unbind':\n\t\t\treturn await import('../icons/unbind');\n\t\tcase 'undoBottom':\n\t\t\treturn await import('../icons/undoBottom');\n\t\tcase 'undoTop':\n\t\t\treturn await import('../icons/undoTop');\n\t\tcase 'unlink':\n\t\t\treturn await import('../icons/unlink');\n\t\tcase 'unlock':\n\t\t\treturn await import('../icons/unlock');\n\t\tcase 'upload':\n\t\t\treturn await import('../icons/upload');\n\t\tcase 'userClipboard':\n\t\t\treturn await import('../icons/userClipboard');\n\t\tcase 'userClock':\n\t\t\treturn await import('../icons/userClock');\n\t\tcase 'userEscalation':\n\t\t\treturn await import('../icons/userEscalation');\n\t\tcase 'userFeed':\n\t\t\treturn await import('../icons/userFeed');\n\t\tcase 'user':\n\t\t\treturn await import('../icons/user');\n\t\tcase 'userGroup':\n\t\t\treturn await import('../icons/userGroup');\n\t\tcase 'userMinus':\n\t\t\treturn await import('../icons/userMinus');\n\t\tcase 'userPlus':\n\t\t\treturn await import('../icons/userPlus');\n\t\tcase 'userTag':\n\t\t\treturn await import('../icons/userTag');\n\t\tcase 'userTransfer':\n\t\t\treturn await import('../icons/userTransfer');\n\t\tcase 'userTriangleExclamation':\n\t\t\treturn await import('../icons/userTriangleExclamation');\n\t\tcase 'userVerify':\n\t\t\treturn await import('../icons/userVerify');\n\t\tcase 'userWheelchair':\n\t\t\treturn await import('../icons/userWheelchair');\n\t\tcase 'vacation':\n\t\t\treturn await import('../icons/vacation');\n\t\tcase 'vaccineCheck':\n\t\t\treturn await import('../icons/vaccineCheck');\n\t\tcase 'vehicleAirplane':\n\t\t\treturn await import('../icons/vehicleAirplane');\n\t\tcase 'vehicleBoat':\n\t\t\treturn await import('../icons/vehicleBoat');\n\t\tcase 'vehicleForklift':\n\t\t\treturn await import('../icons/vehicleForklift');\n\t\tcase 'vehicleRail':\n\t\t\treturn await import('../icons/vehicleRail');\n\t\tcase 'vehicleTruck':\n\t\t\treturn await import('../icons/vehicleTruck');\n\t\tcase 'vennEmpty':\n\t\t\treturn await import('../icons/vennEmpty');\n\t\tcase 'vennIntersection':\n\t\t\treturn await import('../icons/vennIntersection');\n\t\tcase 'vennLeft':\n\t\t\treturn await import('../icons/vennLeft');\n\t\tcase 'vennRight':\n\t\t\treturn await import('../icons/vennRight');\n\t\tcase 'vennUnion':\n\t\t\treturn await import('../icons/vennUnion');\n\t\tcase 'videoChat':\n\t\t\treturn await import('../icons/videoChat');\n\t\tcase 'video':\n\t\t\treturn await import('../icons/video');\n\t\tcase 'videoPlus':\n\t\t\treturn await import('../icons/videoPlus');\n\t\tcase 'videoSlash':\n\t\t\treturn await import('../icons/videoSlash');\n\t\tcase 'vizDesigner':\n\t\t\treturn await import('../icons/vizDesigner');\n\t\tcase 'voicemail':\n\t\t\treturn await import('../icons/voicemail');\n\t\tcase 'walk':\n\t\t\treturn await import('../icons/walk');\n\t\tcase 'windowCirclePlus':\n\t\t\treturn await import('../icons/windowCirclePlus');\n\t\tcase 'windowCode':\n\t\t\treturn await import('../icons/windowCode');\n\t\tcase 'windowDatabase':\n\t\t\treturn await import('../icons/windowDatabase');\n\t\tcase 'windowDialog':\n\t\t\treturn await import('../icons/windowDialog');\n\t\tcase 'window':\n\t\t\treturn await import('../icons/window');\n\t\tcase 'windowGlobe':\n\t\t\treturn await import('../icons/windowGlobe');\n\t\tcase 'windowInfo':\n\t\t\treturn await import('../icons/windowInfo');\n\t\tcase 'windows':\n\t\t\treturn await import('../icons/windows');\n\t\tcase 'wishlist':\n\t\t\treturn await import('../icons/wishlist');\n\t\tcase 'workNote':\n\t\t\treturn await import('../icons/workNote');\n\t\tcase 'workNoteTriangleExclamation':\n\t\t\treturn await import('../icons/workNoteTriangleExclamation');\n\t\tcase 'workflowApprovalAction':\n\t\t\treturn await import('../icons/workflowApprovalAction');\n\t\tcase 'workflow':\n\t\t\treturn await import('../icons/workflow');\n\t\tcase 'workflowOnHold':\n\t\t\treturn await import('../icons/workflowOnHold');\n\t\tcase 'workflowSkip':\n\t\t\treturn await import('../icons/workflowSkip');\n\t\tcase 'wrench':\n\t\t\treturn await import('../icons/wrench');\n\t\tcase 'wrenchPencil':\n\t\t\treturn await import('../icons/wrenchPencil');\n\t\tcase 'youtube':\n\t\t\treturn await import('../icons/youtube');\n\t\tcase 'zoom':\n\t\t\treturn await import('../icons/zoom');\n\t}\n}\n","import importIconSetAsESM from './import-icon-set';\nimport {dangerouslyCreateElementFromString} from '@servicenow/ui-renderer-snabbdom';\nimport DOMPurify from 'dompurify';\nimport {domPurifyConfig} from '@servicenow/library-enhanced-utils';\n\nexport const cache = new Map();\nconst NOW_ICON_CACHE_NAME = 'now-icon-cache';\n\nfunction initCache() {\n\ttry {\n\t\tconst cacheString = localStorage.getItem(NOW_ICON_CACHE_NAME);\n\t\tif (!cacheString) {\n\t\t\tlocalStorage.setItem(NOW_ICON_CACHE_NAME, '{}');\n\t\t} else {\n\t\t\ttry {\n\t\t\t\tconst localStorageCache = JSON.parse(cacheString);\n\t\t\t\tfor (let key of Object.keys(localStorageCache)) {\n\t\t\t\t\tconst iconResult = JSON.parse(localStorageCache[key]);\n\t\t\t\t\tconst icon = iconResult.isPathFragment ? (\n\t\t\t\t\t\t<path attr-d={iconResult.data} />\n\t\t\t\t\t) : (\n\t\t\t\t\t\tdangerouslyCreateElementFromString(\n\t\t\t\t\t\t\tDOMPurify.sanitize(\n\t\t\t\t\t\t\t\t`<svg>${iconResult.data}</svg>`,\n\t\t\t\t\t\t\t\tdomPurifyConfig,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t).children\n\t\t\t\t\t);\n\n\t\t\t\t\tconst result = {\n\t\t\t\t\t\ticon,\n\t\t\t\t\t\tpixelSize: iconResult.pixelSize,\n\t\t\t\t\t\tisLoading: false,\n\t\t\t\t\t\tisLoaded: true,\n\t\t\t\t\t};\n\t\t\t\t\tcache.set(key, result);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tlocalStorage.setItem(NOW_ICON_CACHE_NAME, '{}');\n\t\t\t}\n\t\t}\n\t} catch (e) {\n\t\t// swallow the exception, as the icons will still show up.\n\t}\n}\n\ninitCache();\n\nconst assetLoadQueue = {};\n\nexport const queueAssetLoad = (key) => {\n\treturn new Promise((resolve) => {\n\t\tassetLoadQueue[key] = assetLoadQueue[key] || [];\n\t\tassetLoadQueue[key].push(resolve);\n\t});\n};\n\nexport const emptyAssetLoadQueue = (key) => {\n\tif (assetLoadQueue[key]?.length) {\n\t\tfor (let i = assetLoadQueue[key].length - 1; i >= 0; i--) {\n\t\t\tassetLoadQueue[key][i]();\n\t\t\tassetLoadQueue[key].pop();\n\t\t}\n\t}\n};\n\nasync function getOpenedCache() {\n\tlet openedCache;\n\t// Only doing \"'caches' in self\" is not enough for Firefox v78 ESR, we actually need to try to open the cache to see if it could be used\n\tif ('caches' in self) {\n\t\ttry {\n\t\t\tconst {caches} = self;\n\t\t\topenedCache = await caches.open(NOW_ICON_CACHE_NAME);\n\t\t} catch (e) {\n\t\t\t// console.log(e);\n\t\t}\n\t}\n\n\treturn openedCache;\n}\n\nconst PROMISED_OPENED_CACHE = getOpenedCache();\n\nexport async function importIconSet(name) {\n\tconst cache = await PROMISED_OPENED_CACHE;\n\tif (!cache) {\n\t\treturn (await importIconSetAsESM(name)).default;\n\t}\n\n\tconst request = new Request(`/fake-request/now-icon/${name}.json`, {\n\t\tcache: 'only-if-cached',\n\t\tmode: 'same-origin',\n\t\theaders: {'Content-Type': 'application/json'},\n\t});\n\tconst response = await cache.match(request);\n\n\tif (typeof response === 'undefined') {\n\t\tconst module = await importIconSetAsESM(name);\n\t\tif (module.default) {\n\t\t\t(window.requestIdleCallback || window.setTimeout)(() => {\n\t\t\t\ttry {\n\t\t\t\t\tconst serializedContent = JSON.stringify(module.default);\n\t\t\t\t\tcache.put(\n\t\t\t\t\t\trequest,\n\t\t\t\t\t\tnew Response(serializedContent, {\n\t\t\t\t\t\t\tstatus: 200,\n\t\t\t\t\t\t\theaders: {'Content-Type': 'application/json'},\n\t\t\t\t\t\t}),\n\t\t\t\t\t);\n\t\t\t\t} catch (e) {\n\t\t\t\t\tconsole.error(`icon set ${name} could not be cached`); // eslint-disable-line no-console\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn module.default;\n\t} else {\n\t\treturn response.json().catch(async () => {\n\t\t\t// the cache entry is invalid, delete and re-fetch module\n\t\t\tawait cache.delete(request);\n\t\t\treturn importIconSet(name);\n\t\t});\n\t}\n}\n","// supported variants and the index they are stored at in the icon set\nexport const VARIANTS = {\n\tFill: 0,\n\tOutline: 1,\n};\n\nexport const ICON_SIZES = {\n\tsm: {pixelSize: 12, indexInSet: 0},\n\tmd: {pixelSize: 16, indexInSet: 1},\n\tlg: {pixelSize: 24, indexInSet: 2},\n\txl: {pixelSize: 32, indexInSet: 3},\n};\n","import camelCase from 'lodash/camelCase';\nimport {dangerouslyCreateElementFromString} from '@servicenow/ui-renderer-snabbdom';\n\nimport aliases from '../aliases.json';\nimport {importIconSet} from '../utils/cache';\nimport {ICON_SIZES, VARIANTS} from './maps';\nimport {emptyAssetLoadQueue} from './cache';\n\n/**\n * Replaces `Start` and `End` in the icon name with the appropriate direction\n *\n * @param {string} name - camel-case icon name\n * @param {\"rtl\"|\"ltr\"} dir\n * @param {boolean} supportRtl\n * @returns {string} updated icon name\n */\nconst convertLogicalDir = (name, dir) => {\n\tif (!name) {\n\t\treturn '';\n\t}\n\n\tconst isRTL = dir === 'rtl';\n\n\treturn name\n\t\t.replace('Start', isRTL ? 'Right' : 'Left')\n\t\t.replace('End', isRTL ? 'Left' : 'Right');\n};\n\nconst cache = {};\n/**\n * Gets icon set from in memory cache, localStorage, or dynamic import\n *\n * @param {string} name - camel-case icon set name\n */\nconst getIconSet = async (name) => {\n\tlet iconSet = cache[name];\n\n\tif (iconSet) return iconSet;\n\n\ticonSet = await importIconSet(name);\n\n\tcache[name] = iconSet;\n\n\treturn iconSet;\n};\n\n/**\n * Accesses the icon info from the icon-set, returning relevant data.\n *\n * @param {string} name - camel-case icon name\n * @param {\"xs\"|\"sm\"|\"md\"|\"lg\"} size\n * @param {\"rtl\"|\"ltr\"} dir\n * @param {boolean} supportRtl\n *\n * @returns {{data: string, isPathFragment: boolean, pixelSize: number}}\n */\nasync function getIconDataFromCamel(name, size, dir) {\n\tif (!name || !size) return null;\n\n\t// arrowStartFill -> arrowLeftFill\n\tconst logicalName = convertLogicalDir(name, dir);\n\n\t// arrowLeftFill ->\n\t//   baseName = arrowLeft\n\t//   variant = Fill\n\tconst match = logicalName.match(/(.+)(Fill|Outline)$/);\n\tif (!match) return null;\n\tconst [, baseName, variant] = match;\n\tif (!(variant in VARIANTS) && !(size in ICON_SIZES)) {\n\t\treturn null;\n\t}\n\n\t// convert possible alias to updated name\n\tconst realName = aliases[baseName] || baseName;\n\tconst icons = await getIconSet(realName);\n\n\tif (icons) {\n\t\tconst variantIndex = VARIANTS[variant];\n\t\tconst {pixelSize, indexInSet} = ICON_SIZES[size];\n\n\t\t// some icons are identical for both variants. These only have a single\n\t\t// entry in the set\n\t\tconst allSizes = icons[variantIndex] || icons[0];\n\t\tconst data = allSizes[indexInSet];\n\n\t\treturn {\n\t\t\tdata,\n\t\t\tisPathFragment: !data.startsWith('<'),\n\t\t\tpixelSize,\n\t\t};\n\t}\n\n\treturn null;\n}\n\n/**\n * Returns a string that contains the icon data. Primarily supports\n * backwards-compatibility where the icon-set would be directly indexed by the\n * full name, variant, and pixel size\n *\n * @param {string} nameVariantSize - full camel-case icon description. e.g.: \"workflowFill12\"\n * @param {\"ltr\"|\"rtl\"} dir\n *\n * @returns {string} the inner SVG data as a string (usually a <path>, but may\n * also be a <g> or other shape)\n */\nexport async function getIconStringFromCamel(nameVariantSize, dir) {\n\tif (!nameVariantSize) return null;\n\n\tconst nameAndVariant = nameVariantSize.slice(0, -2);\n\tconst pixelSizeStr = nameVariantSize.slice(-2);\n\n\tconst size = Object.keys(ICON_SIZES).find((size) => {\n\t\tconst {pixelSize} = ICON_SIZES[size];\n\t\treturn String(pixelSize) === pixelSizeStr;\n\t});\n\n\tconst result = await getIconDataFromCamel(nameAndVariant, size, dir);\n\tif (!result) return null;\n\n\treturn result.isPathFragment\n\t\t? `<path d='${result.data}'></path>`\n\t\t: result.data;\n}\n\n/**\n * Returns the appropriate JSX nodes and pixel size information for an icon\n * name and size\n *\n * @param {string} name - either camelCase or kebab-case icon name and variant, e.g: \"workflow-fill\"\n * @param {\"xs\"|\"sm\"|\"md\"|\"lg\"} size\n * @param {\"ltr\"|\"rtl\"} dir\n *\n * @returns {{icon: JSX, pixelSize: number}}\n */\nexport async function getIconNode(name, size, dir = 'ltr') {\n\tconst result = await getIconDataFromCamel(camelCase(name), size, dir);\n\tif (!result) return null;\n\n\tconst key = `${name}_${size}`;\n\ttry {\n\t\tvar cacheString = localStorage.getItem('now-icon-cache');\n\t\tvar localStorageCache = JSON.parse(cacheString);\n\t\tlocalStorageCache[key] = JSON.stringify(result);\n\t\tlocalStorage.setItem('now-icon-cache', JSON.stringify(localStorageCache));\n\t} catch (e) {\n\t\t// swallow the exception, as the icons will still show up.\n\t}\n\n\tconst icon = result.isPathFragment ? (\n\t\t<path attr-d={result.data} />\n\t) : (\n\t\tdangerouslyCreateElementFromString(`<g>${result.data}</g>`).children\n\t);\n\temptyAssetLoadQueue(key);\n\n\treturn {\n\t\ticon,\n\t\tpixelSize: result.pixelSize,\n\t\tisLoading: false,\n\t\tisLoaded: true,\n\t};\n}\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {toEmbeddableUrl} from '@servicenow/library-enhanced-utils';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {getIconNode} from './utils/decode-icon';\nimport {cache, queueAssetLoad} from './utils/cache';\nimport styles from './_now-icon.scss';\nimport {ICON_SIZES} from './utils/maps';\nimport {configAriaLabelRoleSchema} from '@servicenow/library-schemas';\nimport {filterAriaAttributes} from '@servicenow/library-enhanced-utils';\n\nconst {COMPONENT_RENDER_REQUESTED} = actionTypes;\nconst SUPPORT_RTL_MAP = new Map([\n\t['-left-', '-right-'],\n\t['-right-', '-left-'],\n]);\nconst LOGICAL_NAME_MAP = new Map([\n\t['-start-', '-end-'],\n\t['-end-', '-start-'],\n]);\n\nconst getIconName = (icon, dir, supportRtl) =>\n\tsupportRtl && dir === 'rtl'\n\t\t? icon.replace(/-left-|-right-/g, (match) => SUPPORT_RTL_MAP.get(match))\n\t\t: dir === 'rtl'\n\t\t\t? icon.replace(/-start-|-end-/g, (match) => LOGICAL_NAME_MAP.get(match))\n\t\t\t: icon;\n\nconst view = (state) => {\n\tconst {icon, size, dir, spin, configAria, supportRtl} = state.properties;\n\tconst key = `${getIconName(icon, dir, supportRtl)}_${size}`;\n\tconst hasLabel =\n\t\tconfigAria && configAria.icon && Boolean(configAria.icon['aria-label']);\n\n\tconst result = cache.has(key) && cache.get(key);\n\n\tif (!result && !size) return null;\n\n\treturn icon.includes('.') || icon.includes(':') ? (\n\t\t<img\n\t\t\tclass={{\n\t\t\t\t'now-icon': true,\n\t\t\t\t'is-custom': true,\n\t\t\t\t[`-${size}`]: size,\n\t\t\t}}\n\t\t\tsrc={toEmbeddableUrl(icon)}\n\t\t\talt=\"\"\n\t\t\t{...filterAriaAttributes(configAria, 'icon')}\n\t\t\trole=\"presentation\"\n\t\t/>\n\t) : (\n\t\t<svg\n\t\t\tclass={{\n\t\t\t\t'now-icon': true,\n\t\t\t\t'-spin': spin,\n\t\t\t\t[`-${size}`]: size,\n\t\t\t}}\n\t\t\tkey={key}\n\t\t\t{...filterAriaAttributes(configAria, 'icon')}\n\t\t\trole={hasLabel ? 'img' : undefined}\n\t\t\taria-hidden={hasLabel ? undefined : 'true'}\n\t\t\tattr-viewBox={`0 0 ${ICON_SIZES[size].pixelSize} ${ICON_SIZES[size].pixelSize}`}\n\t\t>\n\t\t\t{result && result.icon ? result.icon : null}\n\t\t</svg>\n\t);\n};\n/**\n * A symbol used to launch an action, add clarity, or provide additional context.\n *\n * ```jsx\n * <now-icon icon=\"address-book-outline\" size=\"md\" />\n * ```\n *\n * Note: You can horizontally mirror any direction-sensitive icon used\n * with a right-to-left language. Set the document\n * `dir` attribute to \"rtl\" and replace `-left` or `-right` in\n * the icon name with `-start` and `-end`. If you do not want the\n * icon to mirror horizontally, use the explicit direction in the icon name instead.\n * For example, use `arrow-left-fill` instead of `arrow-start-fill`.\n *\n * ```jsx\n * <document dir=\"rtl\">\n *   <now-icon icon=\"arrow-start-fill\" />\n * </document>\n * ```\n *\n * @seismicElement now-icon\n * @summary Custom icon set for the Now Design System.\n * @uib.label Icon\n * @uib.icon icon\n * @uib.description A symbol used to launch an action, add clarity, or provide additional context.\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties icon, size, configAria, supportRtl\n * @uib.layout.accessibility.children configAria\n * @uib.layout.accessibility.icon accessibility-outline\n * @uib.layout.internationalization.children supportRtl\n * @uib.layout.internationalization.icon translated-text-outline\n */\ncreateEnhancedElement('now-icon', {\n\tproperties: {\n\t\t/**\n\t\t * Name of the icon in dash-case, including the `-fill` or `-outline` suffix to\n\t\t * indicate whether the icon is filled or outlined.\n\t\t * Can also be set to a relative or absolute path to an img to create a custom icon\n\t\t * @type {string}\n\t\t * @uib.label Icon\n\t\t * @uib.defaultValue circle-question-outline\n\t\t * @uib.description Name of the icon in dash-case, including the '-fill' or '-outline' suffix to indicate whether the icon is filled or outlined.\n\t\t * @uib.fieldType icon\n\t\t */\n\t\ticon: {required: true, schema: {type: 'string'}},\n\t\t/**\n\t\t * When true, the icon flips along the inline axis if the document dir=\"rtl\".\n\t\t * Set this property for icons that are tied to writing direction\n\t\t * @type {boolean}\n\t\t * @uib.label Flip icon direction\n\t\t * @uib.description When true, the icon flips along the inline axis if the document dir=\"rtl\". Set this property for icons that are tied to writing direction\n\t\t */\n\t\tsupportRtl: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Size of the icon.\n\t\t * @type {('sm'|'md'|'lg'|'xl')}\n\t\t * @uib.description Size of the icon in the format 'sm', 'md', 'lg', or 'xl'\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: {type: 'string', enum: ['sm', 'md', 'lg', 'xl']},\n\t\t},\n\t\t/**\n\t\t * When true, the icon spins. For example, set this property to true\n\t\t * when used with the `loader-fill` icon.\n\t\t * @type {boolean}\n\t\t */\n\t\tspin: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * now-icon. The value of each key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s. These ARIA\n\t\t * properties are set on the specified element.\n\t\t * The 'icon' key corresponds to the svg element in\n\t\t * now-icon. See https://www.w3.org/TR/wai-aria-1.2/#img for\n\t\t * properties and accepted values.\n\t\t * @type {{ 'icon': {'aria-*': string}}}\n\t\t * @uib.label ARIA properties\n\t\t * @uib.description Sets ARIA properties on the inner html 'svg' element\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\ticon: configAriaLabelRoleSchema,\n\t\t\t\t},\n\t\t\t\tadditionalProperties: false,\n\t\t\t},\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_RENDER_REQUESTED]: async ({\n\t\t\tupdateState,\n\t\t\taction,\n\t\t\tproperties: {icon, supportRtl, size, dir},\n\t\t}) => {\n\t\t\tif (!size) {\n\t\t\t\taction.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst name = getIconName(icon, dir, supportRtl);\n\t\t\tconst key = `${name}_${size}`;\n\n\t\t\t// if icon in cache, no need to re-get it\n\t\t\tif (cache.has(key)) {\n\t\t\t\tconst value = cache.get(key);\n\t\t\t\tif (value.isLoading) {\n\t\t\t\t\treturn queueAssetLoad(key).then(() => {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\t\tpath: 'iconResolved',\n\t\t\t\t\t\t\tvalue: key,\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (value.isLoaded) return;\n\t\t\t}\n\n\t\t\tcache.set(key, {\n\t\t\t\tisLoading: true,\n\t\t\t\tisLoaded: false,\n\t\t\t});\n\n\t\t\t// theoretically we could prevent this render as we have not resolved the\n\t\t\t// svg yet but let's render the empty icon ASAP to avoid late layout shifts\n\t\t\tconst result = await getIconNode(name, size);\n\n\t\t\tif (result) {\n\t\t\t\tcache.set(key, result);\n\t\t\t\tupdateState({\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'iconResolved',\n\t\t\t\t\tvalue: key,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t},\n\tview,\n\tstyles,\n});\n","import {t} from 'sn-translate';\n\nexport default function localizePresence(presence) {\n\tconst busy = t({\n\t\tkey: 'now-icon-presence-busy',\n\t\tmessage: 'busy',\n\t\tcomment:\n\t\t\t\"Adjective. Represents a user's online status - e.g. busy, away, available, or offline.\",\n\t});\n\tconst away = t({\n\t\tkey: 'now-icon-presence-away',\n\t\tmessage: 'away',\n\t\tcomment:\n\t\t\t\"Adjective. Represents a user's online status - e.g. busy, away, available, or offline.\",\n\t});\n\tconst available = t({\n\t\tkey: 'now-icon-presence-available',\n\t\tmessage: 'available',\n\t\tcomment:\n\t\t\t\"Adjective. Represents a user's online status - e.g. busy, away, available, or offline.\",\n\t});\n\tconst offline = t({\n\t\tkey: 'now-icon-presence-offline',\n\t\tmessage: 'offline',\n\t\tcomment:\n\t\t\t\"Adjective. Represents a user's online status - e.g. busy, away, available, or offline.\",\n\t});\n\treturn {\n\t\tbusy,\n\t\taway,\n\t\tavailable,\n\t\toffline,\n\t}[presence];\n}\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_now-icon.scss';\nimport {getIconNode} from './utils/decode-icon';\nimport {cache} from './utils/cache';\nimport localizePresence from './utils/localize-presence';\n\nconst {COMPONENT_RENDER_REQUESTED} = actionTypes;\n\nconst backgroundPaths = {\n\tsm: 'M2 6.5C2 8.98529 4.01471 11 6.5 11C8.98529 11 11 8.98529 11 6.5C11 4.01471 8.98529 2 6.5 2C4.01471 2 2 4.01471 2 6.5Z',\n\tmd: 'M3 8.5C3 11.5376 5.46243 14 8.5 14C11.5376 14 14 11.5376 14 8.5C14 5.46243 11.5376 3 8.5 3C5.46243 3 3 5.46243 3 8.5Z',\n\tlg: 'M12.5 21C17.1944 21 21 17.1944 21 12.5C21 7.80558 17.1944 4 12.5 4C7.80558 4 4 7.80558 4 12.5C4 17.1944 7.80558 21 12.5 21Z',\n\txl: 'M16.5 26C21.7467 26 26 21.7467 26 16.5C26 11.2533 21.7467 7 16.5 7C11.2533 7 7 11.2533 7 16.5C7 21.7467 11.2533 26 16.5 26Z',\n};\n\n// Safe to assume this is the base for now. If base font size has the potential to change in the future, we'll have to make this dynamic somehow.\nconst BASE_FONT_SIZE = 16;\n\nconst view = (state) => {\n\tconst {size, presence} = state.properties;\n\tconst windowsHighContrast = window.matchMedia(\n\t\t'(forced-colors: active)',\n\t).matches;\n\tconst iconName = `presence-${presence}-fill`;\n\tconst key = `${iconName}_${size}_ltr`;\n\tconst result = cache.has(key) && cache.get(key);\n\tif (!result) return null;\n\n\tconst iconRems = result.pixelSize / BASE_FONT_SIZE;\n\tconst presenceLabel = localizePresence(presence);\n\n\treturn (\n\t\t<svg\n\t\t\trole=\"img\"\n\t\t\taria-label={presenceLabel}\n\t\t\tclass={{\n\t\t\t\t'now-icon-presence': true,\n\t\t\t\t[`-${presence}`]: size,\n\t\t\t\t'high-contrast': windowsHighContrast,\n\t\t\t}}\n\t\t\tstyle={{\n\t\t\t\tinlineSize: `${iconRems}rem`,\n\t\t\t\tblockSize: `${iconRems}rem`,\n\t\t\t}}\n\t\t\tkey={key}\n\t\t\tattr-viewBox={`0 0 ${result.pixelSize} ${result.pixelSize}`}\n\t\t>\n\t\t\t{windowsHighContrast ? (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<path attr-d={backgroundPaths[size]} attr-fill=\"canvas\" />\n\t\t\t\t\t{result.icon}\n\t\t\t\t</Fragment>\n\t\t\t) : (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<path attr-d={backgroundPaths[size]} attr-fill=\"white\" />\n\t\t\t\t\t{result.icon}\n\t\t\t\t</Fragment>\n\t\t\t)}\n\t\t</svg>\n\t);\n};\n\n/**\n * Presence indicator icon that shows the status and availability of a user.\n *\n * ```jsx\n * <now-icon-presence presence=\"available\" size=\"lg\" />\n *\n * <now-icon-presence presence=\"busy\" show-pattern />\n * ```\n *\n * Note: Per [WCAG Success Criterion 1.4.1](https://www.w3.org/TR/WCAG21/#use-of-color),\n * use of these icons alone is not an accessible method to communicate a\n * user's online presence. Set the `show-pattern` property to render a\n * different glyph shape for each `presence` value. For screen reader users,\n * an 'aria-label' is provided with this component by default. A utility method\n * called `localizePresence` is also available. This method can be used to provide an\n * internationalized version of the `presence` value in a tooltip or\n * other supplemental aids for users with limited color vision.\n *\n * ```js\n * import {localizePresence} from '@servicenow/now-icon';\n * import {t} from 'sn-translate';\n *\n * const a11yLabel = t('User Status: {0}', localizePresence(presence));\n * ```\n *\n * @seismicElement now-icon-presence\n * @summary Presence indicator icon used to show availability of a user.\n */\ncreateEnhancedElement('now-icon-presence', {\n\tproperties: {\n\t\t/**\n\t\t * Presence of the user that drives the visual display of the icon.\n\t\t * @type {('available'|'busy'|'away'|'offline')}\n\t\t */\n\t\tpresence: {},\n\t\t/**\n\t\t * Size of the icon.\n\t\t * @type {('sm'|'md'|'lg'|'xl')}\n\t\t */\n\t\tsize: {default: 'md'},\n\t\t/**\n\t\t * Deprecated\n\t\t * @private\n\t\t */\n\t\taccessibilityMode: {default: false},\n\t\t/**\n\t\t * Deprecated\n\t\t * @private\n\t\t */\n\n\t\tshowPattern: {default: false},\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_RENDER_REQUESTED]: async ({\n\t\t\tupdateState,\n\t\t\taction,\n\t\t\tproperties: {size, presence},\n\t\t}) => {\n\t\t\tconst iconName = `presence-${presence}-fill`;\n\t\t\tconst key = `${iconName}_${size}_ltr`;\n\n\t\t\tif (!cache.has(key)) {\n\t\t\t\taction.preventDefault();\n\n\t\t\t\tconst result = await getIconNode(iconName, size);\n\t\t\t\tcache.set(key, result);\n\t\t\t\tupdateState({\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'iconResolved',\n\t\t\t\t\tvalue: key,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t},\n\tview,\n\tstyles,\n});\n","import './now-icon';\nimport './now-icon-presence';\nexport {default as localizePresence} from './utils/localize-presence';\nimport {getIconStringFromCamel} from './utils/decode-icon';\nimport * as info from '../package.json';\n\nconst {name, version} = info;\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n\nexport const getIcon = async (nameAndSize) =>\n\tgetIconStringFromCamel(nameAndSize);\n\n// return\nexport const iconSet = new Proxy(\n\t{},\n\t{\n\t\tget() {\n\t\t\t/* eslint-disable-next-line no-console */\n\t\t\tconsole.warn(\n\t\t\t\t'iconSet has been deprecated. Please import async getIcon instead.',\n\t\t\t);\n\t\t\treturn '';\n\t\t},\n\t},\n);\n","import '@servicenow/now-icon';\n\nexport const getFormFieldMessageIds = (componentId, messages) => {\n\tif (Array.isArray(messages) && messages.length) {\n\t\treturn messages\n\t\t\t.map((message, index) => {\n\t\t\t\treturn `${componentId}-message-${index}`;\n\t\t\t})\n\t\t\t.join(' ');\n\t}\n\treturn '';\n};\n\nconst renderFormField = (\n\tcomponentId,\n\tmessages,\n\tstartIndex = 0,\n\tmessagesMode = 'auto',\n) => {\n\tif (Array.isArray(messages) && messages.length) {\n\t\tconst isAriaHidden = messagesMode === 'visual-only';\n\t\tconst isA11yLabel = messagesMode === 'sr-only';\n\n\t\treturn messages.map(({status = 'suggestion', icon, content}, index) => (\n\t\t\t<div\n\t\t\t\taria-hidden={isAriaHidden}\n\t\t\t\tkey={`${componentId}-message-${index + startIndex}`}\n\t\t\t\tid={!isAriaHidden && `${componentId}-message-${index + startIndex}`}\n\t\t\t\tclass={{\n\t\t\t\t\t'now-form-field-message': true,\n\t\t\t\t\t['-' + status]: status,\n\t\t\t\t\t'now-a11y-label': isA11yLabel,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{icon ? (\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\tclassName=\"now-form-field-message-icon now-m-inline-end--xs\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\ticon={icon}\n\t\t\t\t\t/>\n\t\t\t\t) : undefined}\n\t\t\t\t<p className=\"now-form-field-message-label\">\n\t\t\t\t\t<span className=\"now-line-height-crop\">{content}</span>\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t));\n\t}\n};\n\n/**\n * Proxy the function call to allow for easier way to support open-close principle.\n * The idea here to to maintain backward compatibility, but begin to support arbitary arguments\n */\nexport const renderFormFieldMessages = new Proxy(renderFormField, {\n\tapply(target, thisArg, args) {\n\t\t// If we have more than 1 arguments, then we can assume the original function\n\t\t// declaration was called.  This could be expended for an isObject style check:\n\t\t// !Array.isArray(args?.[0]) && typeof(args?.[0]) === object ... or some such\n\t\tif (args.length > 1) return target.apply(thisArg, args);\n\n\t\t// destrcut out the object and correctly map it to the arguement list\n\t\t// we can eat the pain so consumers don't have to\n\t\tconst {\n\t\t\tcomponentId,\n\t\t\tmessages,\n\t\t\tstartIndex = 0,\n\t\t\tmessagesMode = 'auto',\n\t\t} = args?.[0] ?? {};\n\n\t\treturn target.apply(thisArg, [\n\t\t\tcomponentId,\n\t\t\tmessages,\n\t\t\tstartIndex,\n\t\t\tmessagesMode,\n\t\t]);\n\t},\n});\n\nexport const getAriaDescribedByList = ({\n\tlabel,\n\thelperContent,\n\toptional,\n\tnowId,\n\tmessages,\n\tlayout,\n}) => {\n\tconst describedBy = [];\n\n\tconst formFieldMessageIds = getFormFieldMessageIds(nowId, messages);\n\tif (optional) {\n\t\tdescribedBy.push('form-field-label-optional');\n\t}\n\tif (label || helperContent) {\n\t\tif (layout === 'vertical') {\n\t\t\tdescribedBy.push('form-field-label-start');\n\t\t}\n\t\tdescribedBy.push('form-field-label-inline');\n\t\tif (layout === 'horizontal') {\n\t\t\tdescribedBy.push('form-field-label-start');\n\t\t}\n\t\tdescribedBy.push('form-field-label-end');\n\t}\n\tif (formFieldMessageIds) {\n\t\tdescribedBy.push(formFieldMessageIds);\n\t}\n\n\treturn describedBy.join(' ');\n};\n","import '@servicenow/now-button';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-popover';\nimport {t} from 'sn-translate';\nimport {createCustomElement} from '@servicenow/ui-core';\nimport styles from './_popover-content.scss';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\n\ncreateCustomElement('now-form-popover-content', {\n\tview: (state) => (\n\t\t<div className=\"now-form-field-popover-content\">\n\t\t\t{state.properties.content}\n\t\t</div>\n\t),\n\tproperties: {\n\t\tcontent: {},\n\t},\n\tstyles,\n});\n\nconst renderFormFieldRequiredOrOptional = (\n\trequired,\n\toptional,\n\thideRequiredIndicator,\n\tinvalid,\n) => {\n\tif (required && !hideRequiredIndicator) {\n\t\treturn (\n\t\t\t<now-icon\n\t\t\t\tclass={{\n\t\t\t\t\t'now-form-field-label-icon': true,\n\t\t\t\t\t'is-invalid': invalid,\n\t\t\t\t}}\n\t\t\t\ticon=\"asterisk-fill\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\tdata-truncation\n\t\t\t\tdata-truncationforcetooltip\n\t\t\t\tdata-truncationtext={t('Required')}\n\t\t\t/>\n\t\t);\n\t} else if (optional) {\n\t\treturn (\n\t\t\t<span\n\t\t\t\tclass={{\n\t\t\t\t\t'now-form-field-label-identifier': true,\n\t\t\t\t\t'is-invalid': invalid,\n\t\t\t\t}}\n\t\t\t\tid=\"form-field-label-optional\"\n\t\t\t>\n\t\t\t\t({t('Optional')})\n\t\t\t</span>\n\t\t);\n\t}\n};\n\nconst renderFormFieldHelper = (helperContent, invalid, label) => {\n\tif (helperContent) {\n\t\treturn (\n\t\t\t<now-popover className=\"now-form-field-popover\" focusPanel>\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\tbutton: {'aria-label': t('More information, {0}', label)},\n\t\t\t\t\t}}\n\t\t\t\t\tclass={{'now-form-field-button': true, 'is-invalid': invalid}}\n\t\t\t\t\ticon=\"circle-info-outline\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tbare\n\t\t\t\t\thide-padding\n\t\t\t\t\ton-keydown={(e) => e.stopPropagation()}\n\t\t\t\t/>\n\t\t\t\t<now-form-popover-content slot=\"content\" content={helperContent} />\n\t\t\t</now-popover>\n\t\t);\n\t}\n};\n\nconst renderFormFieldHelperRequiredorOptional = (\n\trequired,\n\toptional,\n\thideRequiredIndicator,\n\thelperContent,\n\tinvalid,\n\tlabel,\n) => {\n\treturn (\n\t\t<Fragment>\n\t\t\t{renderFormFieldRequiredOrOptional(\n\t\t\t\trequired,\n\t\t\t\toptional,\n\t\t\t\thideRequiredIndicator,\n\t\t\t\tinvalid,\n\t\t\t)}\n\t\t\t{renderFormFieldHelper(helperContent, invalid, label)}\n\t\t</Fragment>\n\t);\n};\n\nexport const renderLabelEnd = () => {\n\treturn (\n\t\t<span id=\"form-field-label-end\" className=\"now-form-field-label-end\">\n\t\t\t<slot name=\"label-end\" />\n\t\t</span>\n\t);\n};\n\nexport const renderLabelInline = (opened) => {\n\treturn (\n\t\t<span className=\"now-form-field-label-inline\">\n\t\t\t<slot\n\t\t\t\tname=\"label-inline\"\n\t\t\t\ton-keydown={(e) => e.stopPropagation()}\n\t\t\t\ton-click={(e) => {\n\t\t\t\t\tif (!opened) {\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t/>\n\t\t</span>\n\t);\n};\n\nexport const renderLabelStart = (opened) => {\n\treturn (\n\t\t<span id=\"form-field-label-start\" className=\"now-form-field-label-start\">\n\t\t\t<slot\n\t\t\t\tname=\"label-start\"\n\t\t\t\ton-keydown={(e) => e.stopPropagation()}\n\t\t\t\ton-click={(e) => {\n\t\t\t\t\tif (!opened) {\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t/>\n\t\t</span>\n\t);\n};\n\nexport const renderFormFieldLabel = (\n\tcomponentId,\n\tinvalid,\n\trequired,\n\toptional,\n\tlabel,\n\thelperContent,\n\thideRequiredIndicator,\n\trenderAsElement = 'label',\n\tlayout = 'vertical',\n\topened = false,\n\twrapLabel,\n) => {\n\tif (label || helperContent) {\n\t\tif (renderAsElement === 'label') {\n\t\t\treturn (\n\t\t\t\t<div className=\"now-form-field-label\">\n\t\t\t\t\t{layout === 'horizontal' &&\n\t\t\t\t\t\trenderFormFieldHelperRequiredorOptional(\n\t\t\t\t\t\t\trequired,\n\t\t\t\t\t\t\toptional,\n\t\t\t\t\t\t\thideRequiredIndicator,\n\t\t\t\t\t\t\thelperContent,\n\t\t\t\t\t\t\tinvalid,\n\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t)}\n\t\t\t\t\t{layout === 'horizontal' && renderLabelInline(opened)}\n\t\t\t\t\t{layout === 'vertical' && renderLabelStart(opened)}\n\t\t\t\t\t{/*eslint-disable-next-line jsx-a11y/label-has-associated-control*/}\n\t\t\t\t\t<label\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'now-form-field-label-label': true,\n\t\t\t\t\t\t\t'is-invalid': invalid,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\thtmlFor={`form-field-${componentId}`}\n\t\t\t\t\t\tid={`form-field-${componentId}-label`}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"now-line-height-crop\">\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName=\"now-form-field-label-text\"\n\t\t\t\t\t\t\t\tdata-truncation={!wrapLabel ? true : undefined}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</label>\n\t\t\t\t\t{layout === 'horizontal' && renderLabelStart(opened)}\n\t\t\t\t\t{layout === 'vertical' &&\n\t\t\t\t\t\trenderFormFieldHelperRequiredorOptional(\n\t\t\t\t\t\t\trequired,\n\t\t\t\t\t\t\toptional,\n\t\t\t\t\t\t\thideRequiredIndicator,\n\t\t\t\t\t\t\thelperContent,\n\t\t\t\t\t\t\tinvalid,\n\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t)}\n\t\t\t\t\t{layout === 'vertical' && renderLabelInline(opened)}\n\t\t\t\t\t{layout === 'vertical' && renderLabelEnd()}\n\t\t\t\t</div>\n\t\t\t);\n\t\t} else if (renderAsElement === 'span') {\n\t\t\treturn (\n\t\t\t\t<div className=\"now-form-field-label\">\n\t\t\t\t\t{layout === 'horizontal' &&\n\t\t\t\t\t\trenderFormFieldHelperRequiredorOptional(\n\t\t\t\t\t\t\trequired,\n\t\t\t\t\t\t\toptional,\n\t\t\t\t\t\t\thideRequiredIndicator,\n\t\t\t\t\t\t\thelperContent,\n\t\t\t\t\t\t\tinvalid,\n\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t)}\n\t\t\t\t\t{layout === 'horizontal' && renderLabelInline(opened)}\n\t\t\t\t\t{layout === 'vertical' && renderLabelStart(opened)}\n\t\t\t\t\t<span\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'now-form-field-label-label': true,\n\t\t\t\t\t\t\t'is-invalid': invalid,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tid={`form-field-${componentId}-label`}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"now-line-height-crop\">\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName=\"now-form-field-label-text\"\n\t\t\t\t\t\t\t\tdata-truncation={!wrapLabel ? true : undefined}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</span>\n\t\t\t\t\t{layout === 'horizontal' && renderLabelStart(opened)}\n\t\t\t\t\t{layout === 'vertical' &&\n\t\t\t\t\t\trenderFormFieldHelperRequiredorOptional(\n\t\t\t\t\t\t\trequired,\n\t\t\t\t\t\t\toptional,\n\t\t\t\t\t\t\thideRequiredIndicator,\n\t\t\t\t\t\t\thelperContent,\n\t\t\t\t\t\t\tinvalid,\n\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t)}\n\t\t\t\t\t{layout === 'vertical' && renderLabelInline(opened)}\n\t\t\t\t\t{layout === 'vertical' && renderLabelEnd()}\n\t\t\t\t</div>\n\t\t\t);\n\t\t} else if (renderAsElement === 'legend') {\n\t\t\treturn (\n\t\t\t\t<legend\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'now-form-field-legend': true,\n\t\t\t\t\t\t['-' + layout]: layout,\n\t\t\t\t\t\t'will-wrap': wrapLabel,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<span\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'now-form-field-label': true,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{layout === 'horizontal' &&\n\t\t\t\t\t\t\trenderFormFieldHelperRequiredorOptional(\n\t\t\t\t\t\t\t\trequired,\n\t\t\t\t\t\t\t\toptional,\n\t\t\t\t\t\t\t\thideRequiredIndicator,\n\t\t\t\t\t\t\t\thelperContent,\n\t\t\t\t\t\t\t\tinvalid,\n\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t{layout === 'horizontal' && renderLabelInline(opened)}\n\t\t\t\t\t\t{layout === 'vertical' && renderLabelStart(opened)}\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'now-form-field-label-label': true,\n\t\t\t\t\t\t\t\t'is-invalid': invalid,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tid={`form-field-${componentId}-label`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"now-line-height-crop\">\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName=\"now-form-field-label-text\"\n\t\t\t\t\t\t\t\t\tdata-truncation={!wrapLabel ? true : undefined}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t{layout === 'vertical' &&\n\t\t\t\t\t\t\trenderFormFieldHelperRequiredorOptional(\n\t\t\t\t\t\t\t\trequired,\n\t\t\t\t\t\t\t\toptional,\n\t\t\t\t\t\t\t\thideRequiredIndicator,\n\t\t\t\t\t\t\t\thelperContent,\n\t\t\t\t\t\t\t\tinvalid,\n\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t{layout === 'vertical' && renderLabelInline(opened)}\n\t\t\t\t\t\t{layout === 'vertical' && renderLabelEnd()}\n\t\t\t\t\t\t{layout === 'horizontal' && renderLabelStart(opened)}\n\t\t\t\t\t</span>\n\t\t\t\t</legend>\n\t\t\t);\n\t\t}\n\t}\n};\n","import {TOOLTIP_HIDE, TOOLTIP_SHOW} from '@servicenow/behavior-tooltip';\n\n/**\n * Shared focus event handler for now-input components. Sets focus on the input field\n * on the component when focus is initially set.\n * @param {HTMLElement} host\n */\nexport const handleFocus = (host) => {\n\tconst focusTarget = host.shadowRoot.querySelector('input.now-input-native');\n\n\tif (focusTarget) {\n\t\tfocusTarget.focus();\n\t}\n};\n\nconst showPlaceholderTooltip = (dispatch) => (event) => {\n\tdispatch(TOOLTIP_SHOW, {target: event.target});\n};\n\nconst hidePlaceholderTooltip = (dispatch) => (event) => {\n\tdispatch(TOOLTIP_HIDE, {target: event.target});\n};\n\nexport const handlePlaceholderTooltipVisibility = (\n\te,\n\tdispatch,\n\tstate,\n\tupdateState,\n) => {\n\tconst {placeholderTooltipDisplay} = state;\n\tconst input = e.target;\n\tif (input.value != '') {\n\t\tif (placeholderTooltipDisplay) {\n\t\t\thidePlaceholderTooltip(dispatch)(e);\n\t\t\tupdateState({placeholderTooltipDisplay: false});\n\t\t}\n\t\treturn;\n\t}\n\tif (e.type === 'mouseenter' || e.type === 'focusin' || e.type === 'input') {\n\t\tshowPlaceholderTooltip(dispatch)(e);\n\t\tupdateState({placeholderTooltipDisplay: true});\n\t} else if (e.type === 'mouseleave' || e.type === 'focusout') {\n\t\thidePlaceholderTooltip(dispatch)(e);\n\t\tupdateState({placeholderTooltipDisplay: false});\n\t}\n};\n","export const messagesSchema = {\n\ttype: 'array',\n\titems: {\n\t\ttype: 'object',\n\t\tproperties: {\n\t\t\tcontent: {type: 'string', translatable: true},\n\t\t\tstatus: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['critical', 'warning', 'positive', 'info', 'suggestion'],\n\t\t\t},\n\t\t\ticon: {nowUIType: 'icon', type: 'string'},\n\t\t},\n\t},\n};\n","let v4 =\n\t'(0*)(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])(?:\\\\.(0*)(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])){3}';\nlet v6frag = '[0-9a-fA-F]{1,4}';\n\n/**\n * validates if passed in string is a valid IP address (IPv4 or IPv6)\n * @param {string} address ip string we wish to test\n * @return {boolean} valid or not\n */\nfunction isIPAddress(address) {\n\treturn isIPV4Address(address) || isIPV6Address(address);\n}\n\n/**\n * validates if passed in string is a valid IP address (IPv4)\n * @param {string} address ip string we wish to test\n * @return {boolean} valid or not\n */\nfunction isIPV4Address(address) {\n\tlet reg = '^' + v4 + '$';\n\tlet re = new RegExp(reg);\n\treturn re.test(address);\n}\n\n/**\n * validates if passed in string is a valid IP address (IPv6)\n * @param {string} address ip string we wish to test\n * @return {boolean} valid or not\n */\nfunction isIPV6Address(address) {\n\tlet reg =\n\t\t'^((?:' +\n\t\tv6frag +\n\t\t':){7}(?:' +\n\t\tv6frag +\n\t\t'|:)|' +\n\t\t'(?:' +\n\t\tv6frag +\n\t\t':){6}(?:' +\n\t\tv4 +\n\t\t'|:' +\n\t\tv6frag +\n\t\t'|:)|' +\n\t\t'(?:' +\n\t\tv6frag +\n\t\t':){5}(?::' +\n\t\tv4 +\n\t\t'|(:' +\n\t\tv6frag +\n\t\t'){1,2}|:)|' +\n\t\t'(?:' +\n\t\tv6frag +\n\t\t':){4}(?:(:' +\n\t\tv6frag +\n\t\t'){0,1}:' +\n\t\tv4 +\n\t\t'|(:' +\n\t\tv6frag +\n\t\t'){1,3}|:)|' +\n\t\t'(?:' +\n\t\tv6frag +\n\t\t':){3}(?:(:' +\n\t\tv6frag +\n\t\t'){0,2}:' +\n\t\tv4 +\n\t\t'|(:' +\n\t\tv6frag +\n\t\t'){1,4}|:)|' +\n\t\t'(?:' +\n\t\tv6frag +\n\t\t':){2}(?:(:' +\n\t\tv6frag +\n\t\t'){0,3}:' +\n\t\tv4 +\n\t\t'|(:' +\n\t\tv6frag +\n\t\t'){1,5}|:)|' +\n\t\t'(?:' +\n\t\tv6frag +\n\t\t':){1}(?:(:' +\n\t\tv6frag +\n\t\t'){0,4}:' +\n\t\tv4 +\n\t\t'|(:' +\n\t\tv6frag +\n\t\t'){1,6}|:)|' +\n\t\t'(?::((?::' +\n\t\tv6frag +\n\t\t'){0,5}:' +\n\t\tv4 +\n\t\t'|(?::' +\n\t\tv6frag +\n\t\t'){1,7}|:)))(%[0-9a-zA-Z]{1,})?$';\n\tlet re = new RegExp(reg);\n\treturn re.test(address);\n}\n\nexport {isIPAddress, isIPV4Address, isIPV6Address};\n","export const fieldLayoutSchema = {\n\ttype: 'object',\n\tproperties: {\n\t\tlayout: {\n\t\t\tdefault: 'vertical',\n\t\t\tschema: {type: 'string', enum: ['vertical', 'horizontal']},\n\t\t},\n\t\tcolumns: {default: [], schema: {type: 'array'}},\n\t},\n};\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {createRef} from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_now-input.scss';\nimport {\n\trenderFormFieldMessages,\n\trenderFormFieldLabel,\n\trenderLabelEnd,\n\tgetAriaDescribedByList,\n} from './form-field';\nimport {handleFocus, handlePlaceholderTooltipVisibility} from './utils/helper';\nimport {messagesSchema} from './schemas/messages-schema';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {isIPAddress} from './utils/ipaddress';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {\n\tfilterAriaAttributes,\n\tgetColumnStyles,\n\tgetCaretCoordinates,\n} from '@servicenow/library-enhanced-utils';\nimport {configAriaLabelRoleSchema} from '@servicenow/library-schemas';\nimport debounce from 'lodash/debounce';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport {fieldLayoutSchema} from './schemas/field-layout-schema';\n\nconst timeoutIds = {};\n\nconst {\n\tCOMPONENT_DOM_READY,\n\tARIA_LIVE_REGION_UPDATE_REQUESTED,\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_PROPERTY_CHANGED,\n} = actionTypes;\n\nconst addFakeHighlighting = (input, selectionStart, selectionEnd) => {\n\tlet content = input.value;\n\tconst beforeSelection = content.substring(0, selectionStart);\n\tconst selectedText = content.substring(selectionStart, selectionEnd);\n\tconst afterSelection = content.substring(selectionEnd, content.length);\n\tinput.previousElementSibling.innerHTML = `<span>${beforeSelection}<span class='now-input-native-selection'>${selectedText}</span>${afterSelection}</span>`;\n};\n\nconst removeFakeHighlighting = (input, timeout = 0) => {\n\tif (\n\t\tinput.previousElementSibling?.classList.contains(\n\t\t\t'now-input-native-backdrop',\n\t\t)\n\t) {\n\t\treturn setTimeout(() => {\n\t\t\tinput.previousElementSibling.innerHTML = `<span>${input.value}</span>`;\n\t\t\tinput.previousElementSibling.scrollLeft = input.scrollLeft;\n\t\t}, timeout);\n\t}\n\treturn null;\n};\n\nconst renderInput = ({\n\tupdateState,\n\tdispatch,\n\tstate,\n\tnowId,\n\tlabel,\n\thelperContent,\n\toptional,\n\tmessages,\n\trequired,\n\tinvalid,\n\tdisabled,\n\tmax,\n\tplaceholder,\n\tmaxlength,\n\tmin,\n\tminlength,\n\tmultiple,\n\tname = `input-${nowId}`,\n\tpattern,\n\treadonly,\n\tstep,\n\ttype,\n\tvalue = '',\n\tenableCaretSlot,\n\tcaretSlotContainer,\n\tselection,\n\tupdateProperties,\n\thasCaretSlot,\n\tconfigAria,\n\ttimeoutIds,\n\tdebounceCaret,\n\tdebounceCaretWhileTyping,\n\tdebounceInput,\n\tplaceholderOverflow,\n\tfieldLayout: {layout},\n}) => (\n\t<input\n\t\tid={`form-field-${nowId}`}\n\t\tclassName=\"now-input-native\"\n\t\taria-describedby={getAriaDescribedByList({\n\t\t\tlabel,\n\t\t\thelperContent,\n\t\t\toptional,\n\t\t\tnowId,\n\t\t\tmessages,\n\t\t\tlayout,\n\t\t})}\n\t\taria-required={required ? 'true' : 'false'}\n\t\taria-invalid={invalid ? 'true' : 'false'}\n\t\tdisabled={disabled}\n\t\tmax={max}\n\t\tdata-tooltip={placeholder}\n\t\tmaxlength={maxlength}\n\t\tmin={min}\n\t\tminlength={minlength}\n\t\tmultiple={multiple}\n\t\tname={name}\n\t\tpattern={pattern && pattern.length ? pattern : undefined}\n\t\tplaceholder={placeholder}\n\t\treadonly={readonly}\n\t\trequired={required}\n\t\tstep={step}\n\t\ttype={type}\n\t\tvalue={!value && readonly ? '—' : value}\n\t\taria-label={!value && readonly ? '' : undefined}\n\t\tautocomplete=\"off\"\n\t\ton-mouseenter={(e) => {\n\t\t\tupdateState({hasHover: true});\n\t\t\tif (placeholderOverflow) {\n\t\t\t\thandlePlaceholderTooltipVisibility(e, dispatch, state, updateState);\n\t\t\t}\n\t\t}}\n\t\ton-mouseleave={(e) => {\n\t\t\tupdateState({hasHover: false});\n\t\t\tif (placeholderOverflow) {\n\t\t\t\thandlePlaceholderTooltipVisibility(e, dispatch, state, updateState);\n\t\t\t}\n\t\t}}\n\t\ton-focus={\n\t\t\tdisabled || readonly\n\t\t\t\t? undefined\n\t\t\t\t: (e) => {\n\t\t\t\t\t\tupdateState({hasFocus: true});\n\t\t\t\t\t\tif (hasCaretSlot) {\n\t\t\t\t\t\t\thandleCaretMoved(\n\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tcaretSlotContainer.current,\n\t\t\t\t\t\t\t\tselection,\n\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t\tdebounceCaret,\n\t\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t}\n\t\ton-focusin={(e) => {\n\t\t\tif (placeholderOverflow) {\n\t\t\t\thandlePlaceholderTooltipVisibility(e, dispatch, state, updateState);\n\t\t\t}\n\t\t}}\n\t\ton-focusout={(e) => {\n\t\t\tif (placeholderOverflow) {\n\t\t\t\thandlePlaceholderTooltipVisibility(e, dispatch, state, updateState);\n\t\t\t}\n\t\t}}\n\t\ton-blur={(e) =>\n\t\t\thandleBlur(\n\t\t\t\te,\n\t\t\t\tupdateState,\n\t\t\t\tdispatch,\n\t\t\t\ttype,\n\t\t\t\tupdateProperties,\n\t\t\t\tstate.properties,\n\t\t\t\ttimeoutIds,\n\t\t\t\thasCaretSlot,\n\t\t\t\tselection,\n\t\t\t)\n\t\t}\n\t\ton-input={(e) =>\n\t\t\thandleInput(\n\t\t\t\te,\n\t\t\t\tdispatch,\n\t\t\t\tstate,\n\t\t\t\tupdateState,\n\t\t\t\tenableCaretSlot,\n\t\t\t\tcaretSlotContainer.current,\n\t\t\t\tdebounceCaretWhileTyping,\n\t\t\t\tdebounceInput,\n\t\t\t)\n\t\t}\n\t\ton-keydown={(e) => handleKeydown(e, dispatch)}\n\t\ton-mouseup={\n\t\t\thasCaretSlot\n\t\t\t\t? (e) => {\n\t\t\t\t\t\tconst event = {target: e.target, key: e.key};\n\t\t\t\t\t\t// setTimeout here is used because the selectionStart and selectionEnd of the input\n\t\t\t\t\t\t// need to update before the handler is called.\n\t\t\t\t\t\tsetTimeout(\n\t\t\t\t\t\t\t() =>\n\t\t\t\t\t\t\t\thandleCaretMoved(\n\t\t\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\tcaretSlotContainer.current,\n\t\t\t\t\t\t\t\t\tselection,\n\t\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t\t\tdebounceCaret,\n\t\t\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t: undefined\n\t\t}\n\t\ton-keyup={\n\t\t\thasCaretSlot\n\t\t\t\t? (e) =>\n\t\t\t\t\t\thandleCaretMoved(\n\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tcaretSlotContainer.current,\n\t\t\t\t\t\t\tselection,\n\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\tdebounceCaret,\n\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t)\n\t\t\t\t: undefined\n\t\t}\n\t\ton-select={\n\t\t\thasCaretSlot\n\t\t\t\t? (e) =>\n\t\t\t\t\t\thandleCaretMoved(\n\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tcaretSlotContainer.current,\n\t\t\t\t\t\t\tselection,\n\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\tdebounceCaret,\n\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t)\n\t\t\t\t: undefined\n\t\t}\n\t\ton-scroll={\n\t\t\thasCaretSlot\n\t\t\t\t? (e) => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\te.target.previousElementSibling?.classList.contains(\n\t\t\t\t\t\t\t\t'now-input-native-backdrop',\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\te.target.previousElementSibling.scrollLeft = e.target.scrollLeft;\n\t\t\t\t\t\t}\n\t\t\t\t\t\thandleCaretMoved(\n\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tcaretSlotContainer.current,\n\t\t\t\t\t\t\tselection,\n\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\tdebounceCaret,\n\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t: undefined\n\t\t}\n\t\ton-paste={(e) => {\n\t\t\tif (hasCaretSlot) removeFakeHighlighting(e.target);\n\t\t}}\n\t\ton-mousedown={(e) => {\n\t\t\tif (hasCaretSlot) removeFakeHighlighting(e.target);\n\t\t}}\n\t\t{...filterAriaAttributes(configAria, 'input')}\n\t/>\n);\n\nconst repositionCaretSlotContainer = (input, caretSlotContainer) => {\n\tconst coords = getCaretCoordinates(input, input.selectionEnd);\n\tconst rect = input.getBoundingClientRect();\n\tconst container = caretSlotContainer.getBoundingClientRect();\n\tlet inline = coords.inline - input.scrollLeft;\n\tif (inline < 0) {\n\t\t// stay in left bounds\n\t\tinline = 0;\n\t} else if (inline > rect.width) {\n\t\t// stay in right bounds\n\t\tinline = rect.width - container.width;\n\t} else if (inline + container.width > rect.width) {\n\t\t// display to the left instead of the right\n\t\tinline -= container.width;\n\t}\n\tcaretSlotContainer.style['inset-block-start'] = rect.height + 'px';\n\tcaretSlotContainer.style['inset-inline-start'] = 10 + inline + 'px';\n};\n\nconst handleCaretMoved = (\n\te,\n\tdispatch,\n\tcaretSlotContainer,\n\tselection,\n\tupdateState,\n\tdebounceCaret,\n\tpauseFakeHighlighting,\n) => {\n\tconst input = e.target;\n\tconst selectionStart = input.selectionStart;\n\tconst selectionEnd = input.selectionEnd;\n\tif (\n\t\tinput.previousElementSibling?.classList.contains(\n\t\t\t'now-input-native-backdrop',\n\t\t) &&\n\t\t!pauseFakeHighlighting\n\t) {\n\t\tif (selectionStart < selectionEnd) {\n\t\t\taddFakeHighlighting(input, selectionStart, selectionEnd);\n\t\t} else {\n\t\t\tremoveFakeHighlighting(input);\n\t\t}\n\t}\n\tconst selectedText = input.value.substring(selectionStart, selectionEnd);\n\tconst movementKeys = [\n\t\t'ArrowLeft',\n\t\t'ArrowRight',\n\t\t'ArrowUp',\n\t\t'ArrowDown',\n\t\t'Home',\n\t\t'End',\n\t\t'Meta',\n\t];\n\tif (e.key && !movementKeys.includes(e.key)) {\n\t\treturn;\n\t}\n\tdebounceCaret(() => {\n\t\trepositionCaretSlotContainer(input, caretSlotContainer);\n\t\tif (selectedText !== selection) {\n\t\t\tdispatch(({properties: {name}}) => {\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'NOW_INPUT#SELECTION_CHANGED',\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tselection: selectedText,\n\t\t\t\t\t\tselectionStart,\n\t\t\t\t\t\tselectionEnd,\n\t\t\t\t\t\tfieldValue: input.value,\n\t\t\t\t\t\tfieldElement: input,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t});\n\t\t\tupdateState({selection: selectedText});\n\t\t}\n\t});\n};\n\nconst handleInput = (\n\te,\n\tdispatch,\n\tstate,\n\tupdateState,\n\tenableCaretSlot,\n\tcaretSlotContainer,\n\tdebounceCaretWhileTyping,\n\tdebounceInput,\n) => {\n\tconst fieldValue = e.target.value;\n\tconst fieldElement = e.target;\n\tconst data = e.data;\n\tconst {placeholderOverflow} = state;\n\tif (placeholderOverflow) {\n\t\thandlePlaceholderTooltipVisibility(e, dispatch, state, updateState);\n\t}\n\tif (enableCaretSlot) {\n\t\tcaretSlotContainer.style.insetInlineStart = '-9999px';\n\t\tdebounceCaretWhileTyping(() => {\n\t\t\trepositionCaretSlotContainer(fieldElement, caretSlotContainer);\n\t\t});\n\t}\n\n\tdebounceInput(() => {\n\t\tdispatch(({properties: {name}}) => {\n\t\t\treturn {\n\t\t\t\ttype: 'NOW_INPUT#INPUT',\n\t\t\t\tpayload: {name, data, fieldValue, fieldElement},\n\t\t\t};\n\t\t});\n\t});\n};\n\nconst handleKeydown = (e, dispatch) => {\n\tconst key = e.key;\n\tconst fieldValue = e.target.value;\n\tif (key === 'Enter') {\n\t\tdispatch(({properties: {name}}) => {\n\t\t\treturn {\n\t\t\t\ttype: 'NOW_INPUT#ENTER_KEYDOWN',\n\t\t\t\tpayload: {name, fieldValue},\n\t\t\t};\n\t\t});\n\t}\n};\n\nconst announceMessage = (label, content, dispatch) => {\n\tconst announcement = label + ' ' + content.content;\n\treturn dispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\tmessage: announcement,\n\t\ttype: 'polite',\n\t});\n};\n\n/**\n * Strips leading zeros from an IP. If this changes the value then update\n * the \"value\" property and ensure the native input reflect the correct\n * value\n */\nconst stripIPZeros = (value, updateProperties, nativeInput) => {\n\tconst newVal = value.replace(/\\b0+\\B/g, '');\n\tif (newVal !== value) {\n\t\tupdateProperties(() => {\n\t\t\treturn {\n\t\t\t\tpath: 'value',\n\t\t\t\tvalue: newVal,\n\t\t\t\tshouldUpdate: true,\n\t\t\t};\n\t\t});\n\t\t// need to explicitly force the native input value as the\n\t\t// property update might be skipped if the value is \"the same\", e.g\n\t\t// \"192.168.0.1\" someone types one more 0 => \"192.168.00.1\" => we\n\t\t// strip that 0 and the property update won't trigger a re-render\n\t\tnativeInput.value = newVal;\n\t}\n\treturn newVal;\n};\n\nconst handleBlur = (\n\te,\n\tupdateState,\n\tdispatch,\n\ttype,\n\tupdateProperties,\n\tproperties,\n\ttimeoutIds,\n\thasCaretSlot,\n\tselection,\n) => {\n\tlet valid,\n\t\t{value} = e.target,\n\t\tforceValueChange = false;\n\tconst {name} = e.target;\n\tlet fromHB = true;\n\tif (type === 'ip' && value) {\n\t\tconst oldVal = value;\n\t\tvalue = stripIPZeros(value, updateProperties, e.target);\n\t\tforceValueChange = value !== oldVal && value !== properties.value;\n\t\tvalid = e.target.validity.valid && isIPAddress(value);\n\t} else {\n\t\tvalid = e.target.validity.valid;\n\t}\n\tupdateState({hasFocus: false});\n\tdispatch(() => {\n\t\treturn {\n\t\t\ttype: 'NOW_INPUT#INVALID_SET',\n\t\t\tpayload: {\n\t\t\t\tname,\n\t\t\t\tvalue: !valid,\n\t\t\t\tfieldValue: value,\n\t\t\t\ttype,\n\t\t\t\tfromHandleBlur: fromHB,\n\t\t\t},\n\t\t};\n\t});\n\tdispatch(({properties}) => {\n\t\tconst {disabled, readonly, invalid, value: previousValue} = properties;\n\t\treturn {\n\t\t\ttype: 'NOW_INPUT#VALUE_SET',\n\t\t\tpayload: {name, value},\n\t\t\tshouldDispatch:\n\t\t\t\t!disabled &&\n\t\t\t\t!readonly &&\n\t\t\t\t!invalid &&\n\t\t\t\t(value !== previousValue || forceValueChange),\n\t\t};\n\t});\n\tif (hasCaretSlot) {\n\t\ttimeoutIds[properties.nowId] = {id: removeFakeHighlighting(e.target, 150)};\n\t\tif (selection) {\n\t\t\tconst input = e.target;\n\t\t\tconst oldScrollLeft = input.scrollLeft;\n\t\t\tsetTimeout(() => {\n\t\t\t\tinput.scrollLeft = oldScrollLeft;\n\t\t\t}, 0);\n\t\t}\n\t}\n};\n\nconst view = (state, {dispatch, updateState, updateProperties}) => {\n\tconst {\n\t\thasFocus,\n\t\thasHover,\n\t\tdebounceCaret,\n\t\tdebounceInput,\n\t\tdebounceCaretWhileTyping,\n\t} = state;\n\tconst {\n\t\tsize,\n\t\tdisabled,\n\t\thelperContent,\n\t\thideRequiredIndicator,\n\t\tinvalid,\n\t\tlabel,\n\t\tmessages,\n\t\toptional,\n\t\treadonly,\n\t\trequired,\n\t\ttype,\n\t\tnowId,\n\t\talign,\n\t\tmessagesMode,\n\t\tfieldLayout: {layout, columns},\n\t\tenableCaretSlot,\n\t\twrapLabel,\n\t} = state.properties;\n\tconst hasCaretSlot = enableCaretSlot && !disabled && !readonly;\n\tconst caretSlotContainer = createRef();\n\treturn (\n\t\t<div\n\t\t\tstyle={\n\t\t\t\tlayout === 'horizontal' ? {...getColumnStyles(columns)} : undefined\n\t\t\t}\n\t\t\tclass={{\n\t\t\t\t'now-input': true,\n\t\t\t\t[`-${size}`]: size,\n\t\t\t\t'now-form-field-layout': true,\n\t\t\t\t[`-${layout}`]: layout,\n\t\t\t\t'will-wrap': wrapLabel,\n\t\t\t}}\n\t\t>\n\t\t\t{renderFormFieldLabel(\n\t\t\t\tnowId,\n\t\t\t\tinvalid,\n\t\t\t\trequired,\n\t\t\t\toptional,\n\t\t\t\tlabel,\n\t\t\t\thelperContent,\n\t\t\t\thideRequiredIndicator,\n\t\t\t\t'label',\n\t\t\t\tlayout,\n\t\t\t\tfalse,\n\t\t\t\twrapLabel,\n\t\t\t)}\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'now-input-field': true,\n\t\t\t\t\t'now-form-field': true,\n\t\t\t\t\t'is-invalid': invalid,\n\t\t\t\t\t'is-disabled': disabled,\n\t\t\t\t\t'is-readonly': readonly,\n\t\t\t\t\t'has-focus': hasFocus,\n\t\t\t\t\t'has-hover': hasHover,\n\t\t\t\t\t'is-number': type === 'number',\n\t\t\t\t\t['-' + align]: align,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"now-form-field-slot -start\">\n\t\t\t\t\t<slot name=\"start\" />\n\t\t\t\t</div>\n\t\t\t\t{hasCaretSlot ? (\n\t\t\t\t\t<div className=\"now-input-native-container\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'now-input-native-backdrop': true,\n\t\t\t\t\t\t\t\t[type]: true,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{renderInput({\n\t\t\t\t\t\t\t...state.properties,\n\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\tupdateProperties,\n\t\t\t\t\t\t\thasCaretSlot,\n\t\t\t\t\t\t\tcaretSlotContainer,\n\t\t\t\t\t\t\ttimeoutIds,\n\t\t\t\t\t\t\tdebounceCaret,\n\t\t\t\t\t\t\tdebounceCaretWhileTyping,\n\t\t\t\t\t\t\tdebounceInput,\n\t\t\t\t\t\t})}\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\trenderInput({\n\t\t\t\t\t\t...state,\n\t\t\t\t\t\t...state.properties,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tupdateProperties,\n\t\t\t\t\t\thasCaretSlot,\n\t\t\t\t\t\tcaretSlotContainer,\n\t\t\t\t\t\ttimeoutIds,\n\t\t\t\t\t\tdebounceCaret,\n\t\t\t\t\t\tdebounceCaretWhileTyping,\n\t\t\t\t\t\tdebounceInput,\n\t\t\t\t\t})\n\t\t\t\t)}\n\t\t\t\t{enableCaretSlot && (\n\t\t\t\t\t<div className=\"now-input-caret-container\" ref={caretSlotContainer}>\n\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\tname=\"caret\"\n\t\t\t\t\t\t\ton-focusin={() => {\n\t\t\t\t\t\t\t\tif (timeoutIds[nowId]?.id) {\n\t\t\t\t\t\t\t\t\tclearTimeout(timeoutIds[nowId].id);\n\t\t\t\t\t\t\t\t\ttimeoutIds[nowId] = {};\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\tif (timeoutIds[nowId]?.id) {\n\t\t\t\t\t\t\t\t\tclearTimeout(timeoutIds[nowId].id);\n\t\t\t\t\t\t\t\t\ttimeoutIds[nowId] = {};\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t<div className=\"now-form-field-slot -end\">\n\t\t\t\t\t<slot name=\"end\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{layout === 'horizontal' && renderLabelEnd()}\n\t\t\t<div className=\"now-form-field-messages\">\n\t\t\t\t{renderFormFieldMessages({\n\t\t\t\t\tcomponentId: nowId,\n\t\t\t\t\tmessages,\n\t\t\t\t\tmessagesMode,\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\n/**\n * Accepts user input in the form of text, values, or symbols.\n *\n * ```jsx\n * <now-input label=\"First Name\" placeholder=\"Susan\" />\n *\n * <now-input label=\"Email\" placeholder=\"susan@email.net\">\n *   <now-button-iconic slot=\"start\" icon=\"envelope-outline\" variant=\"tertiary\" bare />\n * </now-input>\n * ```\n *\n * @seismicElement now-input\n * @summary Accepts user input in the form of text, values, or symbols.\n * @uib.label Input\n * @uib.icon input\n * @uib.description Accepts user input in the form of text, values, or symbols.\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties size, type, disabled, readonly, autofocus, value, manageValue, name, placeholder, minlength, maxlength, multiple, min, max, step, label, wrapLabel, required, hideRequiredIndicator, optional, helperContent, invalid, manageInvalid, pattern, messages, configAria, align, fieldLayout, landmark, enableCaretSlot\n * @uib.layout.value.children value, manageValue, name, placeholder, minlength, maxlength, multiple, align, enableCaretSlot\n * @uib.layout.value.icon pencil-outline\n * @uib.layout.number.children min, max, step\n * @uib.layout.number.icon integer-outline\n * @uib.layout.label.children label, wrapLabel, required, hideRequiredIndicator, optional, helperContent\n * @uib.layout.label.icon text-outline\n * @uib.layout.validation.children invalid, manageInvalid, pattern, messages\n * @uib.layout.validation.icon syntax-check-outline\n * @uib.layout.accessibility.children configAria, landmark\n * @uib.actions NOW_INPUT#INVALID_SET, NOW_INPUT#VALUE_SET, NOW_INPUT#INPUT, NOW_INPUT#ENTER_KEYDOWN, NOW_INPUT#SELECTION_CHANGED\n */\ncreateEnhancedElement('now-input', {\n\tproperties: {\n\t\t/**\n\t\t * Text alignment within a field.\n\t\t * - `start`: Left align the text in the field.\n\t\t * - `center`: Center the text in the field.\n\t\t * - `end`: Right align the text in the field.\n\t\t * By default: Number fields = `end`. All other field types = `start`.\n\t\t * @type {('start'|'center'|'end')}\n\t\t * @uib.label Text align\n\t\t * @uib.description By default: Number fields = `end`. All other field types = `start`.\n\t\t */\n\t\talign: {schema: {type: 'string', enum: ['start', 'center', 'end']}},\n\t\t/**\n\t\t * When true, the focus is automatically placed inside the input\n\t\t * on page load.\n\t\t * @type {boolean}\n\t\t * @uib.label Auto-focus\n\t\t * @uib.description Select to automatically place the focus inside the input on page load.\n\t\t */\n\t\tautofocus: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, the user cannot interact with the field\n\t\t * or change its value and the field appears unavailable.\n\t\t * @type {boolean}\n\t\t * @uib.description Select to prevent the user from interacting with the field or changing its value. The field appears unavailable.\n\t\t */\n\t\tdisabled: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, a slot will be added to the component that follows the user's text cursor.\n\t\t * @type {boolean}\n\t\t * @uib.description When true, a slot will be added to the component that follows the user's text cursor.\n\t\t * @uib.defaultValue false\n\t\t */\n\t\tenableCaretSlot: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t * @uib.label Helper Content\n\t\t * @uib.fieldType string\n\t\t * @uib.description If set, an iconic button with a popover appears next to the field label for displaying additional hint text to the user, such as password requirements or other instructions for completing the field. Use plain text to allow the text to be translatable.\n\t\t * @uib.translatable true\n\t\t */\n\t\thelperContent: {},\n\t\t/**\n\t\t * When true, the required indicator is visually hidden. Use this for\n\t\t * forms where most fields are required, along with the `optional` flag\n\t\t * for any fields that are not required.\n\t\t * @type {boolean}\n\t\t * @uib.label Hide Required Indicator\n\t\t * @uib.description Select to hide the required indicator. Use this for forms where most fields are required, along with the `optional` flag for any fields that are not required.\n\t\t */\n\t\thideRequiredIndicator: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, indicates that the field value is invalid,\n\t\t * which is visually reflected in the field display.\n\t\t * @type {boolean}\n\t\t * @uib.description Select to indicate that the field value is invalid.\n\t\t */\n\t\tinvalid: {default: false, manageable: true, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `invalid` property.\n\t\t * An action with type `NOW_INPUT#INVALID_SET` will be dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the invalid property. Use the invalid set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageInvalid: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * User-visible label for the field.\n\t\t * @type {string}\n\t\t * @uib.description User-visible label for the field.\n\t\t * @uib.defaultValue Label\n\t\t * @uib.translatable true\n\t\t */\n\t\tlabel: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Maximum value that the user can enter in the field.\n\t\t * @type {number}\n\t\t * @uib.label Max. value\n\t\t * @uib.fieldType number\n\t\t * @uib.description Sets a maximum number value for number input fields.\n\t\t */\n\t\tmax: {schema: {type: ['number', 'null']}},\n\t\t/**\n\t\t * Maximum number of characters that the user can enter in the field.\n\t\t * @type {number}\n\t\t * @uib.label Max. characters\n\t\t * @uib.fieldType number\n\t\t * @uib.description Sets a maximum number of characters for the input field.\n\t\t */\n\t\tmaxlength: {schema: {type: ['number', 'null']}},\n\t\t/**\n\t\t * Array of inline alert messages that display below the field.\n\t\t * @type {Array.<{status: ('critical'|'warning'|'positive'|'info'|'suggestion'), content: (string|JSX), icon: string}>}\n\t\t * @uib.label Alert messages\n\t\t * @uib.description Array of inline alert messages that display below the field.\n\t\t * @uib.fieldType collection\n\t\t * @uib.typeMetadata.collection.cardProperties.heading { \"heading\": \"content\", \"icon\": \"icon\" }\n\t\t */\n\t\tmessages: {\n\t\t\tdefault: [],\n\t\t\tschema: messagesSchema,\n\t\t},\n\t\t/**\n\t\t * Minimum value that the user can enter in the field.\n\t\t * @type {number}\n\t\t * @uib.label Min. value\n\t\t * @uib.fieldType number\n\t\t * @uib.description Sets a minimum number value for number input fields.\n\t\t */\n\t\tmin: {schema: {type: ['number', 'null']}},\n\t\t/**\n\t\t * Minimum number of characters that the user can enter in the field.\n\t\t * @type {number}\n\t\t * @uib.label Min. characters\n\t\t * @uib.fieldType number\n\t\t * @uib.description Sets a minimum number of characters for the input field.\n\t\t */\n\t\tminlength: {schema: {type: ['number', 'null']}},\n\t\t/**\n\t\t * When true, the user can enter multiple comma-separated email\n\t\t * addresses in inputs of type=\"email\".\n\t\t * @type {boolean}\n\t\t * @uib.label Multiple addresses allowed\n\t\t * @uib.description Lets users enter multiple comma-separated email addresses in email fields.\n\t\t */\n\t\tmultiple: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Name of the field control. Dispatched along with the field value\n\t\t * when the user interacts with the field.\n\t\t * @type {string}\n\t\t * @uib.label Identifier\n\t\t * @uib.description Name of the input field.\n\t\t */\n\t\tname: {schema: {type: 'string'}},\n\t\t/**\n\t\t * When true, the field is optional and does not need to be completed\n\t\t * before submitting the form.\n\t\t * @type {boolean}\n\t\t * @uib.description Indicates that the user does not have to enter a value in the input field before proceeding.\n\t\t */\n\t\toptional: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * A regular expression against which user input is validated.\n\t\t * The applicable regex for each IP address format overrides this property\n\t\t * if the type=\"ip\".\n\t\t * @type {string}\n\t\t * @uib.label Validation pattern\n\t\t * @uib.description Regular expression to validate user input against.\n\t\t * @uib.fieldType string\n\t\t * @uib.typeMetadata.emptyStateBehavior NULL\n\t\t */\n\t\tpattern: {schema: {type: ['string', 'null', 'boolean']}},\n\t\t/**\n\t\t * Hint text displayed in the input when the user has not yet entered a\n\t\t * value.\n\t\t * @type {string}\n\t\t * @uib.label Placeholder text\n\t\t * @uib.description Placeholder text for the input field that helps the user understand what input is expected.\n\t\t * @uib.translatable true\n\t\t */\n\t\tplaceholder: {schema: {type: 'string'}},\n\t\t/**\n\t\t * When true, the user cannot modify the value of the field.\n\t\t * @type {boolean}\n\t\t * @uib.label Read Only\n\t\t * @uib.description Makes the field read-only and prevents users from modifying the value.\n\t\t */\n\t\treadonly: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, the user must enter a value in the\n\t\t * input field before they can submit the form.\n\t\t * @type {boolean}\n\t\t * @uib.description Indicates that the user must enter a value in the input field before proceeding.\n\t\t */\n\t\trequired: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Sets the input size.\n\t\t * @type {('sm'|'md')}\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Small\", \"value\": \"sm\"}, {\"label\": \"Medium\", \"value\": \"md\"}]\n\t\t * @uib.defaultValue md\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['sm', 'md'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * For inputs of type=\"number\", defines the valid input values.\n\t\t * @type {(number|'any')}\n\t\t * @uib.description Defines the valid values for number inputs. Enter a number or 'any'.\n\t\t * @uib.fieldType\n\t\t */\n\t\tstep: {\n\t\t\tdefault: 'any',\n\t\t\tschema: {oneOf: [{type: 'number'}, {const: 'any'}]},\n\t\t},\n\t\t/**\n\t\t * Type of control to render, based on the type of expected value.\n\t\t * @type {('email'|'ip'|'number'|'text')}\n\t\t * @uib.description The type of input field. Can be 'email', 'ip', 'number', or 'text'.\n\t\t */\n\t\ttype: {\n\t\t\tdefault: 'text',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['email', 'ip', 'number', 'text'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Value of the input field.\n\t\t * @type {string}\n\t\t * @uib.description The value of the input field. Unless the input field has pre-populated data, leave this property empty.\n\t\t * @uib.translatable true\n\t\t */\n\t\tvalue: {manageable: true, schema: {type: 'string'}},\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `value` property.\n\t\t * An action with type `NOW_INPUT#VALUE_SET` will be dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the value property. Use the value set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageValue: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * now-input. The value of the key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s. These ARIA\n\t\t * properties are set on the specified element.\n\t\t * The 'input' key corresponds to the native input in\n\t\t * now-input. See https://www.w3.org/TR/wai-aria-1.2/#button for\n\t\t * properties and accepted values.\n\t\t * See https://www.w3.org/TR/wai-aria-1.2/#alert or https://www.w3.org/TR/wai-aria-1.2/#status\n\t\t * for properties and accepted values.\n\t\t * @type {{ input: { 'aria-*': string, role: string }}}\n\t\t * @uib.label ARIA properties\n\t\t * @uib.description Configures ARIA properties\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tinput: configAriaLabelRoleSchema,\n\t\t\t\t},\n\t\t\t\tadditionalProperties: false,\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: {layout: 'vertical'},\n\t\t\tschema: fieldLayoutSchema,\n\t\t},\n\t\t/**\n\t\t * The messages display mode. Useful for when messages are rendered outside the shadowRoot.\n\t\t * - \"auto\" (Default): will be visible to sighted users and read by screen readers.\n\t\t * - \"visual-only\": will not be read by screen readers.\n\t\t * - \"sr-only\": will not be visible to sighted users.\n\t\t * @type {('auto'|'visual-only'|'sr-only')}\n\t\t * @private\n\t\t */\n\t\tmessagesMode: {\n\t\t\tdefault: 'auto',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['auto', 'visual-only', 'sr-only'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Includes this component as a target for the Now-Trigger-Library's\n\t\t * Landmark Focus feature.\n\t\t * @type {boolean}\n\t\t * @uib.label Landmark\n\t\t * @uib.description Allow the Landmark Focus keyboard shortcut to focus this input\n\t\t */\n\t\tlandmark: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Sets debounce length for the caret slot in milliseconds. Debounce is only observed while\n\t\t * typing.\n\t\t * @type {number}\n\t\t */\n\t\tdebounceCaretLength: {default: 800, schema: {type: 'number'}},\n\t\t/**\n\t\t * Set to true to wrap the label if it does not fit on one line.\n\t\t * @type {boolean}\n\t\t * @uib.description Wraps the label if it does not fit on one line.\n\t\t */\n\t\twrapLabel: {default: false, schema: {type: 'boolean'}},\n\t},\n\tinitialState: {\n\t\tplaceholderTooltipDisplay: false,\n\t\tplaceholderOverflow: false,\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the user moves focus away from the field.\n\t\t * Payload contains these properties:\n\t\t * - `name`: String. Value of the `name` property.\n\t\t * - `value`: Boolean. Value of the `invalid` property, which is based on\n\t\t *   the values of the `required` and `pattern` properties.\n\t\t * - `fieldValue`: String. Value entered in the field.\n\t\t * - `type`: String. Value of the `type` property.\n\t\t *\n\t\t * Set the `manage-invalid` property to override the default behavior and\n\t\t * handle this action manually.\n\t\t * @type {{name: string, value: boolean, fieldValue: string, type: string}}\n\t\t * @uib.description Dispatched when the field is blurred.\n\t\t */\n\t\t'NOW_INPUT#INVALID_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tvalue: {type: 'boolean'},\n\t\t\t\t\tfieldValue: {type: 'string'},\n\t\t\t\t\ttype: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user moves focus away from the field\n\t\t * and the value is valid. Payload contains these properties:\n\t\t * - `name`: String. Value of the `name` property.\n\t\t * - `value`: String. Value entered in the field.\n\t\t *\n\t\t * Set the `manage-value` property to override the default behavior and\n\t\t * handle this action manually.\n\t\t * @type {{name: string, value: string}}\n\t\t * @uib.description Dispatched when the field is blurred and the input value is valid.\n\t\t */\n\t\t'NOW_INPUT#VALUE_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tvalue: {type: 'boolean'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user enters data in the field by typing or\n\t\t * pasting text. The system does not validate the value or update\n\t\t * the `value` property. Payload contains these properties:\n\t\t * - `name`: String. Value of the `name` property.\n\t\t * - `data`: String. Value entered in the field that caused the event to fire.\n\t\t * - `fieldValue`: String. Current value of the field when the event fired.\n\t\t * @type {{name: string, data: string, fieldValue: string}}\n\t\t * @uib.label Text entered\n\t\t * @uib.description A user types or pastes text in the field.\n\t\t */\n\t\t'NOW_INPUT#INPUT': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tdata: {type: 'string'},\n\t\t\t\t\tfieldValue: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user presses the Enter key while focus is inside\n\t\t * the input.\n\t\t * @type {{name: string, value: string}}\n\t\t */\n\t\t'NOW_INPUT#ENTER_KEYDOWN': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tfieldValue: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user selects or deselects text within the input, either by clicking or using the keyboard.\n\t\t * The payload contains:\n\t\t * - `name`: Name of the input field.\n\t\t * - `selection`: The text that is currently selected in the input or an empty string if no text is selected.\n\t\t * - `selectionStart`: The index of the first selected character in the input.\n\t\t * - `selectionEnd`: The index of the last selected character in the input.\n\t\t * - `fieldValue`: Current content in the input.\n\t\t * - `fieldElement`: Reference to the native input HTMLElement.\n\t\t *\n\t\t * @type {{name: string, selection: string, selectionStart: number, selectionEnd: number, fieldValue: string, fieldElement: object}}\n\t\t * @uib.description Dispatched when the user selects or deselects text within the input, either by clicking or using the keyboard.\n\t\t */\n\t\t'NOW_INPUT#SELECTION_CHANGED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tselection: {type: 'string'},\n\t\t\t\t\tselectionStart: {type: 'number'},\n\t\t\t\t\tselectionEnd: {type: 'number'},\n\t\t\t\t\tfieldValue: {type: 'string'},\n\t\t\t\t\tfieldElement: {type: 'object'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot for field decorators. Located at the end\n\t\t * of the input field.\n\t\t */\n\t\tend: {},\n\t\t/**\n\t\t * Slot for field decorators. Located at the beginning\n\t\t * of the input field.\n\t\t */\n\t\tstart: {},\n\t\t/**\n\t\t * Slot for label end metadata. Located at the end of the label.\n\t\t */\n\t\t'label-end': {},\n\t\t/**\n\t\t * Slot for label, located inline after the label. For the `horizontal` layout, it is placed before the label.\n\t\t */\n\t\t'label-inline': {},\n\t\t/**\n\t\t * Floating slot that follows the text area caret as the user types or moves within the field.\n\t\t */\n\t\tcaret: {},\n\t\t/**\n\t\t * Slot for label, located at the start of the label. For the `horizontal` field layout, it is placed after the label.\n\t\t */\n\t\t'label-start': {},\n\t},\n\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_READY]: ({host, properties, updateProperties}) => {\n\t\t\tlet input;\n\t\t\tif (properties.autofocus) {\n\t\t\t\tinput = host.shadowRoot.querySelector('input');\n\t\t\t\tif (input) {\n\t\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\t\tinput.focus();\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst {value, type} = properties;\n\t\t\tif (value && type === 'ip') {\n\t\t\t\tinput = input ? input : host.shadowRoot.querySelector('input');\n\t\t\t\tstripIPZeros(value, updateProperties, input);\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_DOM_TREE_READY]: ({host, properties, updateState}) => {\n\t\t\tconst inputField = host.shadowRoot.querySelector('.now-input-native');\n\t\t\tif (properties.placeholder) {\n\t\t\t\tconst tempValue = inputField.value;\n\t\t\t\tif (properties.type === 'number') inputField.type = 'text';\n\t\t\t\tinputField.value = inputField.placeholder;\n\t\t\t\tif (inputField.scrollWidth > inputField.clientWidth) {\n\t\t\t\t\tupdateState({placeholderOverflow: true});\n\t\t\t\t}\n\t\t\t\tinputField.value = tempValue;\n\t\t\t\tif (properties.type === 'number') inputField.type = 'number';\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\t\thost,\n\t\t\taction,\n\t\t\tproperties,\n\t\t\tdispatch,\n\t\t\tupdateProperties,\n\t\t}) => {\n\t\t\tconst {name, value, previousValue} = action.payload;\n\t\t\tconst fromInputPropertyChanged = true;\n\t\t\tif (name === 'value' || name === 'pattern' || name === 'type') {\n\t\t\t\tlet valid;\n\t\t\t\tconst nativeInput = host.shadowRoot.querySelector('input');\n\t\t\t\tconst {name, type} = properties;\n\t\t\t\tlet {value} = properties;\n\n\t\t\t\tif (nativeInput) {\n\t\t\t\t\tif (type === 'ip' && value) {\n\t\t\t\t\t\tvalue = stripIPZeros(value, updateProperties, nativeInput);\n\t\t\t\t\t\tvalid = nativeInput.validity.valid && isIPAddress(value);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvalid = nativeInput.validity.valid;\n\t\t\t\t\t}\n\t\t\t\t\tdispatch(() => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttype: 'NOW_INPUT#INVALID_SET',\n\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\t\tvalue: !valid,\n\t\t\t\t\t\t\t\tfieldValue: value,\n\t\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\t\tfromInputPropertyChanged,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (name === 'messages') {\n\t\t\t\tconst messagesLength = value.length;\n\t\t\t\tconst previousMessagesLength = previousValue ? previousValue.length : 0;\n\t\t\t\tif (messagesLength > previousMessagesLength) {\n\t\t\t\t\tfor (let i = previousMessagesLength; i < messagesLength; i++) {\n\t\t\t\t\t\tannounceMessage(properties.label, value[i], dispatch);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst {enableCaretSlot, disabled, readonly} = properties;\n\t\t\tif (name === 'value' && enableCaretSlot && !disabled && !readonly) {\n\t\t\t\tconst input = host.shadowRoot.querySelector('input');\n\t\t\t\tconst caretSlotContainer = host.shadowRoot.querySelector(\n\t\t\t\t\t'.now-input-caret-container',\n\t\t\t\t);\n\t\t\t\trepositionCaretSlotContainer(input, caretSlotContainer);\n\t\t\t}\n\t\t},\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: (host) => {\n\t\t\t\t\thandleFocus(host);\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{behavior: truncationBehavior},\n\t\t{behavior: tooltipBehavior},\n\t],\n\tstyles,\n\tview,\n\tsetInitialState({properties: {debounceCaretLength}}) {\n\t\treturn {\n\t\t\tdebounceInput: debounce((fn) => fn(), 250),\n\t\t\tdebounceCaret: debounce((fn) => fn(), 250),\n\t\t\tdebounceCaretWhileTyping: debounce((fn) => fn(), debounceCaretLength),\n\t\t};\n\t},\n});\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport styles from './_now-input-password.scss';\nimport {\n\trenderFormFieldMessages,\n\trenderFormFieldLabel,\n\trenderLabelEnd,\n\tgetAriaDescribedByList,\n} from './form-field';\nimport {handleFocus, handlePlaceholderTooltipVisibility} from './utils/helper';\nimport {messagesSchema} from './schemas/messages-schema';\nimport '@servicenow/now-button';\nimport '@servicenow/now-icon';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {t} from 'sn-translate';\nimport {actionTypes} from '@servicenow/ui-core';\nconst {\n\tCOMPONENT_DOM_READY,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tARIA_LIVE_REGION_UPDATE_REQUESTED,\n\tCOMPONENT_DOM_TREE_READY,\n} = actionTypes;\nimport {filterAriaAttributes} from '@servicenow/library-enhanced-utils';\nimport {configAriaLabelRoleSchema} from '@servicenow/library-schemas';\nimport {fieldLayoutSchema} from './schemas/field-layout-schema';\nimport {getColumnStyles} from '@servicenow/library-enhanced-utils';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\n\nconst announceMessage = (label, content, dispatch) => {\n\tconst announcement = label + ' ' + content.content;\n\treturn dispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\tmessage: announcement,\n\t\ttype: 'polite',\n\t});\n};\n\nconst runPasswordValidation = (\n\te,\n\trequirements,\n\tstate,\n\tupdateState,\n\tdispatch,\n) => {\n\tconst {placeholderOverflow} = state;\n\tif (placeholderOverflow) {\n\t\thandlePlaceholderTooltipVisibility(e, dispatch, state, updateState);\n\t}\n\tconst fieldValue = e.target.value;\n\tconst data = e.data;\n\tlet validations = requirements.map((req) => {\n\t\tif (!fieldValue) {\n\t\t\treturn req;\n\t\t}\n\t\tconst valid = new RegExp(req.pattern).test(fieldValue);\n\t\treturn {\n\t\t\t...req,\n\t\t\tvalid: valid,\n\t\t};\n\t});\n\tupdateState({validations});\n\tdispatch(({properties: {name}}) => {\n\t\treturn {\n\t\t\ttype: 'NOW_INPUT_PASSWORD#INPUT',\n\t\t\tpayload: {name, data, fieldValue},\n\t\t};\n\t});\n};\n\nconst handleBlur = (e, validations, updateState, dispatch) => {\n\tconst {name, value} = e.target;\n\tconst {valid} = e.target.validity;\n\tupdateState({hasFocus: false});\n\tconst requirementsNotMet =\n\t\tArray.isArray(validations) &&\n\t\tvalidations.length > 0 &&\n\t\tvalidations.some((req) => req.valid === false);\n\tdispatch(() => {\n\t\treturn {\n\t\t\ttype: 'NOW_INPUT_PASSWORD#INVALID_SET',\n\t\t\tpayload: {\n\t\t\t\tname: name,\n\t\t\t\tvalue: Boolean(!valid || requirementsNotMet),\n\t\t\t\tfieldValue: value,\n\t\t\t},\n\t\t};\n\t});\n\tupdateState(({properties}) => {\n\t\tconst {invalid} = properties;\n\t\treturn {operation: 'set', validations: [], shouldUpdate: !invalid};\n\t});\n\tdispatch(({properties}) => {\n\t\tconst {disabled, readonly, invalid, value: previousValue} = properties;\n\t\treturn {\n\t\t\ttype: 'NOW_INPUT_PASSWORD#VALUE_SET',\n\t\t\tpayload: {name, value},\n\t\t\tshouldDispatch:\n\t\t\t\t!disabled && !readonly && !invalid && value !== previousValue,\n\t\t};\n\t});\n};\n\nconst handleMaskButtonClick = (disabled, updateState) => {\n\tupdateState(({state}) => {\n\t\treturn {\n\t\t\toperation: 'set',\n\t\t\tpath: 'masked',\n\t\t\tvalue: !state.masked,\n\t\t\tshouldUpdate: !disabled,\n\t\t};\n\t});\n};\n\nconst getMessagesAndValidations = (compact, messages, validations = []) => {\n\tif (compact) {\n\t\tconst validationErrors = validations\n\t\t\t.filter((req) => req.valid === false)\n\t\t\t.map((req) => {\n\t\t\t\treturn {\n\t\t\t\t\tstatus: 'critical',\n\t\t\t\t\ticon: 'exclamation-circle-outline',\n\t\t\t\t\tcontent: req.label,\n\t\t\t\t};\n\t\t\t});\n\t\treturn [...validationErrors, ...messages];\n\t}\n\treturn messages;\n};\n\nconst renderValidations = (compact, validations, componentId) => {\n\tif (compact) {\n\t\treturn;\n\t}\n\treturn validations.map((req, index) => {\n\t\tlet validity;\n\t\t// eslint-disable-next-line no-prototype-builtins\n\t\tif (req.hasOwnProperty('valid')) {\n\t\t\tvalidity = req.valid ? 'valid' : 'invalid';\n\t\t}\n\t\treturn (\n\t\t\t<span\n\t\t\t\tclass={{\n\t\t\t\t\t'now-input-password-validation': true,\n\t\t\t\t\t['-' + validity]: validity,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<now-icon\n\t\t\t\t\tid={`${componentId}-message-${index}`}\n\t\t\t\t\tclassName=\"now-m-inline-end--xs\"\n\t\t\t\t\ticon={\n\t\t\t\t\t\tvalidity === 'valid'\n\t\t\t\t\t\t\t? 'check-circle-fill'\n\t\t\t\t\t\t\t: validity === 'invalid'\n\t\t\t\t\t\t\t\t? 'exclamation-circle-outline'\n\t\t\t\t\t\t\t\t: 'check-circle-outline'\n\t\t\t\t\t}\n\t\t\t\t\taria-label={\n\t\t\t\t\t\tvalidity === 'valid'\n\t\t\t\t\t\t\t? t('Met requirement: {0}.', req.label)\n\t\t\t\t\t\t\t: t('Unmet requirement: {0}.', req.label)\n\t\t\t\t\t}\n\t\t\t\t\trole=\"img\"\n\t\t\t\t/>\n\t\t\t\t<span aria-hidden=\"true\">{req.label}</span>\n\t\t\t</span>\n\t\t);\n\t});\n};\n\nconst renderMaskButton = (size, masked, disabled, updateState) => {\n\treturn (\n\t\t<now-button-iconic\n\t\t\tclassName=\"now-input-password-mask-button\"\n\t\t\tslot=\"end\"\n\t\t\tsize=\"sm\"\n\t\t\ticon={masked ? 'eye-outline' : 'eye-slash-outline'}\n\t\t\tvariant=\"tertiary\"\n\t\t\tbare\n\t\t\thide-padding={size === 'sm'}\n\t\t\tdisabled={disabled}\n\t\t\ton-click={() => handleMaskButtonClick(disabled, updateState)}\n\t\t\ttooltip-content={masked ? t('Unmask password') : t('Mask password')}\n\t\t\tconfig-aria={{\n\t\t\t\t'aria-label': masked ? t('Unmask password') : t('Mask password'),\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nconst view = (state, {updateState, dispatch}) => {\n\tconst {\n\t\tsize,\n\t\tcompact,\n\t\tdisabled,\n\t\tdisableUnmask,\n\t\thelperContent: customHelperContent,\n\t\thideRequiredIndicator,\n\t\tinvalid,\n\t\tlabel,\n\t\tmessages,\n\t\tname,\n\t\toptional,\n\t\tplaceholder,\n\t\treadonly,\n\t\trequired,\n\t\trequirements,\n\t\tvalue = '',\n\t\tconfigAria,\n\t\tnowId,\n\t\talign,\n\t\tfieldLayout: {layout, columns},\n\t\twrapLabel,\n\t} = state.properties;\n\tconst {masked, validations, hasFocus, hasHover, placeholderOverflow} = state;\n\n\tconst messagesAndValidations = getMessagesAndValidations(\n\t\tcompact,\n\t\tmessages,\n\t\tvalidations,\n\t);\n\n\tconst allMessages = compact\n\t\t? messagesAndValidations\n\t\t: [...requirements, ...messagesAndValidations];\n\n\tconst startIndex = compact ? 0 : requirements.length;\n\n\tconst helperContent =\n\t\tcompact && !customHelperContent ? (\n\t\t\t<ul className=\"now-form-field-popover-ul\">\n\t\t\t\t{requirements.map((req) => {\n\t\t\t\t\treturn <li>{req.label}</li>;\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t) : (\n\t\t\tcustomHelperContent\n\t\t);\n\n\treturn (\n\t\t<div\n\t\t\tstyle={\n\t\t\t\tlayout === 'horizontal' ? {...getColumnStyles(columns)} : undefined\n\t\t\t}\n\t\t\tclass={{\n\t\t\t\t'now-input': true,\n\t\t\t\t'now-form-field-layout': true,\n\t\t\t\t[`-${size}`]: size,\n\t\t\t\t[`-${layout}`]: layout,\n\t\t\t\t'will-wrap': wrapLabel,\n\t\t\t}}\n\t\t>\n\t\t\t{renderFormFieldLabel(\n\t\t\t\tnowId,\n\t\t\t\tinvalid,\n\t\t\t\trequired,\n\t\t\t\toptional,\n\t\t\t\tlabel,\n\t\t\t\thelperContent,\n\t\t\t\thideRequiredIndicator,\n\t\t\t\t'label',\n\t\t\t\tlayout,\n\t\t\t\tfalse,\n\t\t\t\twrapLabel,\n\t\t\t)}\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'now-input-field': true,\n\t\t\t\t\t'now-form-field': true,\n\t\t\t\t\t'is-invalid': invalid,\n\t\t\t\t\t'is-disabled': disabled,\n\t\t\t\t\t'is-readonly': readonly,\n\t\t\t\t\t'has-focus': hasFocus && !readonly,\n\t\t\t\t\t'has-hover': hasHover,\n\t\t\t\t\t['-' + align]: align,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<input\n\t\t\t\t\tid={`form-field-${nowId}`}\n\t\t\t\t\tclassName=\"now-input-native\"\n\t\t\t\t\taria-describedby={getAriaDescribedByList({\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\thelperContent,\n\t\t\t\t\t\toptional,\n\t\t\t\t\t\tnowId,\n\t\t\t\t\t\tmessages: allMessages,\n\t\t\t\t\t\tlayout,\n\t\t\t\t\t})}\n\t\t\t\t\taria-required={required ? 'true' : 'false'}\n\t\t\t\t\taria-invalid={invalid ? 'true' : 'false'}\n\t\t\t\t\tdata-tooltip={placeholder}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tname={name}\n\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\treadonly={readonly}\n\t\t\t\t\trequired={required}\n\t\t\t\t\ttype={(readonly && !value) || !masked ? 'text' : 'password'}\n\t\t\t\t\tvalue={!value && readonly ? '—' : value}\n\t\t\t\t\taria-label={!value && readonly ? '' : undefined}\n\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\ton-mouseenter={(e) => {\n\t\t\t\t\t\tupdateState({hasHover: true});\n\t\t\t\t\t\tif (placeholderOverflow) {\n\t\t\t\t\t\t\thandlePlaceholderTooltipVisibility(\n\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\ton-mouseleave={(e) => {\n\t\t\t\t\t\tupdateState({hasHover: false});\n\t\t\t\t\t\tif (placeholderOverflow) {\n\t\t\t\t\t\t\thandlePlaceholderTooltipVisibility(\n\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\ton-focusin={(e) => {\n\t\t\t\t\t\tif (placeholderOverflow) {\n\t\t\t\t\t\t\thandlePlaceholderTooltipVisibility(\n\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\ton-focusout={(e) => {\n\t\t\t\t\t\tif (placeholderOverflow) {\n\t\t\t\t\t\t\thandlePlaceholderTooltipVisibility(\n\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\ton-input={(e) =>\n\t\t\t\t\t\trunPasswordValidation(e, requirements, state, updateState, dispatch)\n\t\t\t\t\t}\n\t\t\t\t\ton-focus={() => updateState({hasFocus: true})}\n\t\t\t\t\ton-blur={(e) => handleBlur(e, validations, updateState, dispatch)}\n\t\t\t\t\t{...filterAriaAttributes(configAria, 'input')}\n\t\t\t\t/>\n\t\t\t\t{!disableUnmask && (!readonly || value)\n\t\t\t\t\t? renderMaskButton(size, masked, disabled, updateState)\n\t\t\t\t\t: undefined}\n\t\t\t</div>\n\t\t\t{layout === 'horizontal' && renderLabelEnd()}\n\t\t\t<div className=\"now-form-field-messages\">\n\t\t\t\t{renderValidations(compact, validations || requirements, nowId)}\n\t\t\t\t{renderFormFieldMessages(nowId, messagesAndValidations, startIndex)}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\n/**\n * The password input accepts a password and includes a label to help guide the user.\n *\n * ```jsx\n * <now-input-password label=\"Enter new password\" />\n * ```\n *\n * @seismicElement now-input-password\n * @summary Form element for inputting passwords.\n * @uib.label Input password\n * @uib.icon input-password\n * @uib.description Form element for passwords\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties size, disabled, readonly, autofocus, value, manageValue, name, placeholder, disableUnmask, requirements, compact, label, wrapLabel, required, hideRequiredIndicator, optional, helperContent, invalid, manageInvalid, messages, configAria, align, fieldLayout, landmark\n * @uib.layout.value.children value, manageValue, name, placeholder, disableUnmask, align\n * @uib.layout.value.icon pencil-outline\n * @uib.layout.requirements.children requirements, compact\n * @uib.layout.requirements.icon asterisk-outline\n * @uib.layout.label.children label, wrapLabel, required, hideRequiredIndicator, optional, helperContent\n * @uib.layout.label.icon text-outline\n * @uib.layout.validation.children invalid, manageInvalid, messages\n * @uib.layout.validation.icon syntax-check-outline\n * @uib.layout.accessibility.children configAria, landmark\n * @uib.actions NOW_INPUT_PASSWORD#INVALID_SET, NOW_INPUT_PASSWORD#VALUE_SET, NOW_INPUT_PASSWORD#INPUT\n */\ncreateEnhancedElement('now-input-password', {\n\tproperties: {\n\t\t/**\n\t\t * Alignment of the text within the field.\n\t\t * @type {('start'|'center'|'end')}\n\t\t * @uib.label Text align\n\t\t * @uib.description Alignment of the text within the field.\n\t\t */\n\t\talign: {schema: {type: 'string', enum: ['start', 'center', 'end']}},\n\t\t/**\n\t\t * When true, the focus is automatically placed inside the input\n\t\t * on page load.\n\t\t * @type {boolean}\n\t\t * @uib.label Auto-focus\n\t\t * @uib.description Set to automatically place focus inside the input on page load.\n\t\t */\n\t\tautofocus: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, password requirements display in the input field popover\n\t\t * instead of below the input field. Validation errors for passwords\n\t\t * that fail to meet requirements appear below the input field.\n\t\t * @type {boolean}\n\t\t * @uib.label Place password requirements in icon\n\t\t * @uib.description Set to display password requirements in the input field popover instead of below the input field. Validation errors for passwords that fail to meet requirements appear below the input field\n\t\t */\n\t\tcompact: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, the user cannot interact with the field\n\t\t * or change its value and the field appears greyed out.\n\t\t * @type {boolean}\n\t\t * @uib.description Set to prevent the user from interacting with the field. The field appears grayed out.\n\t\t */\n\t\tdisabled: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, disables the user's ability to view the password\n\t\t * value in plain text using a `mask`/`unmask` button.\n\t\t * @type {boolean}\n\t\t * @uib.label Disable show password option\n\t\t * @uib.description Set to disable the user's ability to view the password value in plain text using a 'mask'/'unmask' button.\n\t\t */\n\t\tdisableUnmask: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t * @uib.label Helper Content\n\t\t * @uib.fieldType string\n\t\t * @uib.description If set, an iconic button with popover appears next to the field label for displaying additional hint text to the user, such as password requirements or other instructions for completing the field. Use plain text to allow the text to be translatable.\n\t\t * @uib.translatable true\n\t\t */\n\t\thelperContent: {},\n\t\t/**\n\t\t * When true, the required indicator is visually hidden. Use this for\n\t\t * forms where most fields are required, along with the `optional` flag\n\t\t * for any fields that are not required.\n\t\t * @type {boolean}\n\t\t * @uib.label Hide Required Indicator\n\t\t * @uib.description Set to hide the required indicator. Use this for forms where most fields are required, along with the `optional` flag for any fields that are not required.\n\t\t */\n\t\thideRequiredIndicator: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, indicates that the field value is invalid,\n\t\t * which is visually reflected in the field display.\n\t\t * @type {boolean}\n\t\t * @uib.description When set, the field appears invalid indicating incorrect input.\n\t\t */\n\t\tinvalid: {manageable: true, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `invalid` property.\n\t\t * An action with type `NOW_INPUT_PASSWORD#INVALID_SET` will be dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the invalid property. Use the invalid set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageInvalid: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * User-visible label for the field.\n\t\t * @type {string}\n\t\t * @uib.description Field label to tell users what to enter in the field.\n\t\t * @uib.defaultValue Label\n\t\t * @uib.translatable true\n\t\t */\n\t\tlabel: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Array of inline alert messages that are displayed below the field.\n\t\t * @type {Array.<{status: ('critical'|'warning'|'positive'|'info'|'suggestion'), content: (string|JSX), icon: string}>}\n\t\t * @uib.label Alert messages\n\t\t * @uib.description Array of inline alert messages that display below the field.\n\t\t * @uib.fieldType collection\n\t\t * @uib.typeMetadata.collection.cardProperties.heading { \"heading\": \"content\", \"icon\": \"icon\" }\n\t\t */\n\t\tmessages: {\n\t\t\tdefault: [],\n\t\t\tschema: messagesSchema,\n\t\t},\n\t\t/**\n\t\t * Name of the field control. Dispatched along with the field value\n\t\t * on user interaction.\n\t\t * @type {string}\n\t\t * @uib.label Identifier\n\t\t * @uib.description Reference name for the input field.\n\t\t */\n\t\tname: {schema: {type: 'string'}},\n\t\t/**\n\t\t * When true, the field is optional and does not need to be completed\n\t\t * before submitting the form.\n\t\t * @type {boolean}\n\t\t * @uib.description Set to indicate that the user does not have to enter a value in the input field before proceeding.\n\t\t */\n\t\toptional: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Hint text displayed in the input when the user has not yet entered a\n\t\t * value.\n\t\t * @type {string}\n\t\t * @uib.label Placeholder text\n\t\t * @uib.description Placeholder text for the input field. This text should hint to the user what input is expected.\n\t\t * @uib.translatable true\n\t\t */\n\t\tplaceholder: {schema: {type: 'string'}},\n\t\t/**\n\t\t * When true, the user cannot modify the value of the field.\n\t\t * @type {boolean}\n\t\t * @uib.label Read-only\n\t\t * @uib.description When set, the user cannot modify the value of the input field. The input field is not disabled in this setting.\n\t\t */\n\t\treadonly: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, the user must enter a value in the\n\t\t * input field before they can submit the form.\n\t\t * @type {boolean}\n\t\t * @uib.description Set to indicate that the user must enter a value in the input field before proceeding.\n\t\t */\n\t\trequired: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Array of requirements for the user-entered password. Each requirement\n\t\t * must contain a label describing the requirement and the RegEx pattern\n\t\t * against which the password must validate.\n\t\t * @type {Array.<{label: string, pattern: RegExp}>}\n\t\t * @uib.description Array of requirements for the user-entered password. Each requirement must contain a label describing the requirement and the RegEx pattern against which the password must validate\n\t\t * @uib.fieldType collection\n\t\t * @uib.typeMetadata.collection.cardProperties.heading { \"heading\": \"label\" }\n\t\t */\n\t\trequirements: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tlabel: {type: 'string', translatable: true},\n\t\t\t\t\t\tpattern: {type: 'string'},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Sets the input size.\n\t\t * @type {('sm'|'md')}\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Small\", \"value\": \"sm\"}, {\"label\": \"Medium\", \"value\": \"md\"}]\n\t\t * @uib.defaultValue md\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['sm', 'md'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * The value of the input field.\n\t\t * @type {string}\n\t\t * @uib.description The value of the input field. Unless the input field has pre-populated data, leave this property empty.\n\t\t * @uib.translatable true\n\t\t */\n\t\tvalue: {manageable: true, schema: {type: 'string'}},\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `value` property.\n\t\t * An action with type `NOW_INPUT_PASSWORD#VALUE_SET` will be dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the value property. Use the value set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageValue: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * now-input-password. The value of the key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s. These ARIA\n\t\t * properties are set on the specified element.\n\t\t * The 'input' key corresponds to the native input in\n\t\t * now-input-password. See https://www.w3.org/TR/wai-aria-1.2/#button for\n\t\t * properties and accepted values.\n\t\t * See https://www.w3.org/TR/wai-aria-1.2/#alert or https://www.w3.org/TR/wai-aria-1.2/#status\n\t\t * for properties and accepted values.\n\t\t * @type {{ input: { 'aria-*': string, role: string  }}}\n\t\t * @uib.label ARIA properties\n\t\t * @uib.description Configures ARIA properties\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tinput: configAriaLabelRoleSchema,\n\t\t\t\t},\n\t\t\t\tadditionalProperties: false,\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: {layout: 'vertical'},\n\t\t\tschema: fieldLayoutSchema,\n\t\t},\n\t\t/**\n\t\t * Includes this component as a target for the Now-Trigger-Library's\n\t\t * Landmark Focus feature.\n\t\t * @type {boolean}\n\t\t * @uib.label Landmark\n\t\t * @uib.description Allow the Landmark Focus keyboard shortcut to focus this input\n\t\t */\n\t\tlandmark: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Set to true to wrap the label if it does not fit on one line.\n\t\t * @type {boolean}\n\t\t * @uib.description Wraps the label if it does not fit on one line.\n\t\t */\n\t\twrapLabel: {default: false, schema: {type: 'boolean'}},\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot for label end metadata. Located at the end of label.\n\t\t */\n\t\t'label-end': {},\n\t\t/**\n\t\t * Slot for label, located inline after the label.\n\t\t */\n\t\t'label-inline': {},\n\t\t/**\n\t\t * Slot for label, located at the start of the label. For the `horizontal` field layout, it is placed after the label.\n\t\t */\n\t\t'label-start': {},\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_READY]: ({host, properties}) => {\n\t\t\tif (properties.autofocus) {\n\t\t\t\tconst input = host.shadowRoot.querySelector('input');\n\t\t\t\tif (input) {\n\t\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\t\tinput.focus();\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({action, properties, dispatch}) => {\n\t\t\tconst {name, value, previousValue} = action.payload;\n\t\t\tif (name === 'messages') {\n\t\t\t\tconst messagesLength = value.length;\n\t\t\t\tconst previousMessagesLength = previousValue ? previousValue.length : 0;\n\t\t\t\tif (messagesLength > previousMessagesLength) {\n\t\t\t\t\tfor (let i = previousMessagesLength; i < messagesLength; i++) {\n\t\t\t\t\t\tannounceMessage(properties.label, value[i], dispatch);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t[COMPONENT_DOM_TREE_READY]: ({host, properties, updateState}) => {\n\t\t\tconst inputField = host.shadowRoot.querySelector('.now-input-native');\n\t\t\tif (properties.placeholder) {\n\t\t\t\tconst tempValue = inputField.value;\n\t\t\t\tinputField.value = inputField.placeholder;\n\t\t\t\tif (inputField.scrollWidth > inputField.clientWidth) {\n\t\t\t\t\tupdateState({placeholderOverflow: true});\n\t\t\t\t}\n\t\t\t\tinputField.value = tempValue;\n\t\t\t}\n\t\t},\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the user moves focus away from the field.\n\t\t * Payload contains these properties:\n\t\t * - `name`: String. Value of the `name` property.\n\t\t * - `value`: Boolean. Value of the `invalid` property, which is based on\n\t\t *   the values of the `required` and `pattern` properties.\n\t\t * - `fieldValue`: String. Value entered in the field.\n\t\t *\n\t\t * Set the `manage-invalid` property to override the default behavior and\n\t\t * handle this action manually.\n\t\t * @type {{name: string, value: boolean, fieldValue: string}}\n\t\t * @uib.description Dispatched when the user moves focus away from the field and the value is invalid\n\t\t */\n\t\t'NOW_INPUT_PASSWORD#INVALID_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tvalue: {type: 'boolean'},\n\t\t\t\t\tfieldValue: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user moves focus away from the field\n\t\t * and the value is valid. Payload contains these properties:\n\t\t * - `name`: String. Value of the `name` property.\n\t\t * - `value`: String. Value entered in the field.\n\t\t *\n\t\t * Set the `manage-value` property to override the default behavior and\n\t\t * handle this action manually.\n\t\t * @type {{name: string, value: string}}\n\t\t * @uib.description Dispatched when the user moves focus away from the field and the value is valid\n\t\t */\n\t\t'NOW_INPUT_PASSWORD#VALUE_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tvalue: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user enters data in the field by typing or\n\t\t * pasting text. The system does not validate the value or update\n\t\t * the `value` property. Payload contains these properties:\n\t\t * - `name`: String. Value of the `name` property.\n\t\t * - `data`: String. Value entered in the field that caused the event to fire.\n\t\t * - `fieldValue`: String. Current value of the field when the event fired.\n\t\t * @type {{name: string, data: string, fieldValue: string}}\n\t\t * @uib.description Dispatched when the user enters data in the field by typing or pasting text\n\t\t */\n\t\t'NOW_INPUT_PASSWORD#INPUT': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tdata: {type: 'string'},\n\t\t\t\t\tfieldValue: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tinitialState: {\n\t\tmasked: true,\n\t\tplaceholderTooltipDisplay: false,\n\t\tplaceholderOverflow: false,\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: (host) => {\n\t\t\t\t\thandleFocus(host);\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{behavior: truncationBehavior},\n\t\t{behavior: tooltipBehavior},\n\t],\n\tstyles,\n\tview,\n});\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport styles from './_now-input-phone.scss';\nimport '@servicenow/now-dropdown';\nimport '@servicenow/now-button';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport './now-input.js';\nimport {t} from 'sn-translate';\nimport {makeRedispatchEffect} from '@servicenow/library-enhanced-utils';\nimport {messagesSchema} from './schemas/messages-schema';\nimport {configAriaLabelSchema} from '@servicenow/library-schemas';\nimport {fieldLayoutSchema} from './schemas/field-layout-schema';\n\nconst handleCallButtonClick = (disabled, dispatch) => {\n\tdispatch(() => {\n\t\treturn {\n\t\t\ttype: 'NOW_INPUT_PHONE#BUTTON_CLICKED',\n\t\t\tpayload: {},\n\t\t\tshouldDispatch: !disabled,\n\t\t};\n\t});\n};\n\nconst getNumberValue = (readonly, selectedCountryCode, number) => {\n\tif (readonly && selectedCountryCode) {\n\t\treturn `+${selectedCountryCode} ${number}`;\n\t}\n\n\treturn number;\n};\n\nconst renderCountryCodeDropdown = (\n\tsize,\n\treadonly,\n\tdisabled,\n\tcountryCodes,\n\tselectedCountryCode,\n) => {\n\tif (readonly) return;\n\n\tif (Array.isArray(countryCodes) && countryCodes.length) {\n\t\treturn (\n\t\t\t<now-dropdown-custom-target\n\t\t\t\tclassName=\"now-input-phone-dropdown\"\n\t\t\t\tslot=\"start\"\n\t\t\t\titems={countryCodes.map((item) => {\n\t\t\t\t\treturn {id: item.code, label: item.name};\n\t\t\t\t})}\n\t\t\t\tselected-items={[selectedCountryCode]}\n\t\t\t\tdisable-listeners={disabled}\n\t\t\t\tsearch=\"contains\"\n\t\t\t\tconfig-aria={{panel: {'aria-label': t('Select country code')}}}\n\t\t\t>\n\t\t\t\t<now-button-bare\n\t\t\t\t\thide-block-padding\n\t\t\t\t\tsize={size}\n\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\ticon-end=\"caret-down-fill\"\n\t\t\t\t\tlabel={`+${selectedCountryCode}`}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t'aria-label': t('Country code: +{0}', selectedCountryCode),\n\t\t\t\t\t\t'aria-haspopup': 'listbox',\n\t\t\t\t\t\t'aria-expanded': 'false',\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</now-dropdown-custom-target>\n\t\t);\n\t}\n};\n\nconst view = (state, {dispatch}) => {\n\tconst {\n\t\tsize,\n\t\tautofocus,\n\t\tcountryCodes,\n\t\tdisabled,\n\t\thelperContent,\n\t\thideRequiredIndicator,\n\t\tinvalid,\n\t\tlabel,\n\t\tmanageInvalid,\n\t\tmanageValue,\n\t\tmax,\n\t\tmaxlength,\n\t\tmessages,\n\t\tmin,\n\t\tminlength,\n\t\tname,\n\t\tnumber,\n\t\toptional,\n\t\tpattern,\n\t\tplaceholder,\n\t\treadonly,\n\t\trequired,\n\t\tconfigAria,\n\t\tselectedCountryCode = countryCodes &&\n\t\t\tcountryCodes.length &&\n\t\t\tcountryCodes[0].code,\n\t\talign,\n\t\tfieldLayout,\n\t\twrapLabel,\n\t} = state.properties;\n\tconst callLabel = t({\n\t\tcode: 'now-input-phone-call-button-label',\n\t\tmessage: 'Call',\n\t\tcomment: 'Verb. Label for action button in phone input field.',\n\t});\n\treturn (\n\t\t<now-input\n\t\t\tclass={{'now-input': true, [`-${size}`]: size}}\n\t\t\talign={align}\n\t\t\tautofocus={autofocus}\n\t\t\tdisabled={disabled}\n\t\t\thelper-content={helperContent}\n\t\t\thide-required-indicator={hideRequiredIndicator}\n\t\t\tinvalid={invalid}\n\t\t\tlabel={label}\n\t\t\tsize={size}\n\t\t\tmax={max}\n\t\t\tmaxlength={maxlength}\n\t\t\tmessages={messages}\n\t\t\tmin={min}\n\t\t\tminlength={minlength}\n\t\t\tname={name}\n\t\t\toptional={optional}\n\t\t\tpattern={!readonly ? pattern : undefined}\n\t\t\tplaceholder={placeholder}\n\t\t\treadonly={readonly}\n\t\t\trequired={required}\n\t\t\ttype=\"text\"\n\t\t\tvalue={\n\t\t\t\t!number && readonly\n\t\t\t\t\t? '—'\n\t\t\t\t\t: getNumberValue(readonly, selectedCountryCode, number)\n\t\t\t}\n\t\t\taria-label={!number && readonly ? '' : undefined}\n\t\t\tmanage-invalid={manageInvalid}\n\t\t\tmanage-value={manageValue}\n\t\t\tconfig-aria={configAria}\n\t\t\tfield-layout={fieldLayout}\n\t\t\twrap-label={wrapLabel}\n\t\t>\n\t\t\t<slot\n\t\t\t\tslot=\"label-start\"\n\t\t\t\tname=\"label-start\"\n\t\t\t\ton-keydown={(e) => e.stopPropagation()}\n\t\t\t\ton-click={(e) => e.stopPropagation()}\n\t\t\t/>\n\t\t\t<slot\n\t\t\t\tslot=\"label-inline\"\n\t\t\t\tname=\"label-inline\"\n\t\t\t\ton-keydown={(e) => e.stopPropagation()}\n\t\t\t\ton-click={(e) => e.stopPropagation()}\n\t\t\t/>\n\t\t\t<slot slot=\"label-end\" name=\"label-end\" />\n\t\t\t{renderCountryCodeDropdown(\n\t\t\t\tsize,\n\t\t\t\treadonly,\n\t\t\t\tdisabled,\n\t\t\t\tcountryCodes,\n\t\t\t\tselectedCountryCode,\n\t\t\t)}\n\t\t\t{number || (!readonly && !number) ? (\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tslot=\"end\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\ticon=\"phone-outline\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tbare\n\t\t\t\t\thide-padding={size === 'sm'}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\ton-click={() => handleCallButtonClick(disabled, dispatch)}\n\t\t\t\t\ttooltip-content={callLabel}\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t'aria-label': callLabel,\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t) : undefined}\n\t\t</now-input>\n\t);\n};\n\n/**\n * Phone inputs provide a text box for a phone number,\n * including country and other identifying codes.\n *\n * ```jsx\n * <now-input-phone />\n * ```\n *\n * @seismicElement now-input-phone\n * @summary Form element for input of telephone numbers with country code and CTI.\n * @uib.label Input phone\n * @uib.icon input-phone\n * @uib.description Phone inputs provide a text box for a phone number, including country and other identifying codes\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties size, disabled, readonly, autofocus, value, manageValue, number, name, placeholder, minlength, maxlength, countryCodes, selectedCountryCode, label, wrapLabel, required, hideRequiredIndicator, optional, helperContent, invalid, manageInvalid, pattern, messages, configAria, align, fieldLayout, landmark\n * @uib.layout.value.children value, manageValue, number, name, placeholder, minlength, maxlength, align\n * @uib.layout.value.icon pencil-outline\n * @uib.layout.countryCode.children countryCodes, selectedCountryCode\n * @uib.layout.countryCode.icon number-outline\n * @uib.layout.label.children label, wrapLabel, required, hideRequiredIndicator, optional, helperContent\n * @uib.layout.label.icon text-outline\n * @uib.layout.validation.children invalid, manageInvalid, pattern, messages\n * @uib.layout.validation.icon syntax-check-outline\n * @uib.layout.accessibility.children configAria, landmark\n * @uib.actions NOW_INPUT_PHONE#INVALID_SET, NOW_INPUT_PHONE#VALUE_SET, NOW_INPUT_PHONE#INPUT, NOW_INPUT_PHONE#BUTTON_CLICKED, NOW_INPUT_PHONE#COUNTRY_CODE_SET\n */\ncreateEnhancedElement('now-input-phone', {\n\tproperties: {\n\t\t/**\n\t\t * Alignment of the text within the field.\n\t\t * @type {('start'|'center'|'end')}\n\t\t * @uib.label Text align\n\t\t * @uib.description Alignment of the text within the field.\n\t\t */\n\t\talign: {schema: {type: 'string', enum: ['start', 'center', 'end']}},\n\t\t/**\n\t\t * When true, the focus is automatically placed inside the input\n\t\t * on page load.\n\t\t * @type {boolean}\n\t\t * @uib.label Auto-focus\n\t\t * @uib.description Set to automatically place focus inside the input on page load.\n\t\t */\n\t\tautofocus: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Array of country codes to display in the dropdown inside of the field.\n\t\t * @type {Array.<{code: string, name: string}>}\n\t\t * @uib.description Array of country codes to display in the dropdown inside of the field.\n\t\t */\n\t\tcountryCodes: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tcode: {type: 'string'},\n\t\t\t\t\t\tname: {type: 'string', translatable: true},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * A `code` value matching an object from the `countryCodes` array that\n\t\t * is selected in the country code dropdown menu.\n\t\t * @type {string}\n\t\t * @uib.description A `code` value matching an object from the `countryCodes` array that is selected in the country code dropdown menu\n\t\t */\n\t\tselectedCountryCode: {schema: {type: 'string'}},\n\t\t/**\n\t\t * When true, the user cannot interact with the field\n\t\t * or change its value and the field appears greyed out.\n\t\t * @type {boolean}\n\t\t * @uib.description Set to prevent the user from interacting with the field. The field appears grayed out.\n\t\t */\n\t\tdisabled: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * phone number requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t * @uib.label Helper text\n\t\t * @uib.fieldType string\n\t\t * @uib.description If set, an iconic button with a popover appears next to the field label for displaying additional hint text to the user, such as password requirements or other instructions for completing the field. Use plain text to allow for translation.\n\t\t * @uib.translatable true\n\t\t */\n\t\thelperContent: {},\n\t\t/**\n\t\t * When true, the required indicator is visually hidden. Use this for\n\t\t * forms where most fields are required, along with the `optional` flag\n\t\t * for any fields that are not required.\n\t\t * @type {boolean}\n\t\t * @uib.label Hide Required Indicator\n\t\t * @uib.description Set to hide the required indicator. Use this for forms where most fields are required, along with the `optional` flag for any fields that are not required.\n\t\t */\n\t\thideRequiredIndicator: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, indicates that the field value is invalid,\n\t\t * which is visually reflected in the field display.\n\t\t * @type {boolean}\n\t\t * @uib.description When set, the field appears invalid indicating incorrect input.\n\t\t */\n\t\tinvalid: {manageable: true, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `invalid` property.\n\t\t * An action with type `NOW_INPUT_PHONE#INVALID_SET` will be dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the invalid property. Use the invalid set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageInvalid: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * User-visible label for the field.\n\t\t * @type {string}\n\t\t * @uib.description Field label to tell users what to enter in the field.\n\t\t * @uib.defaultValue Label\n\t\t * @uib.translatable true\n\t\t */\n\t\tlabel: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Maximum value that the user can enter in the field.\n\t\t * @type {number}\n\t\t */\n\t\tmax: {schema: {type: 'number'}},\n\t\t/**\n\t\t * Maximum number of characters that the user can enter in the field.\n\t\t * @type {number}\n\t\t * @uib.label Max. characters\n\t\t * @uib.fieldType number\n\t\t * @uib.description Maximum number of characters for the input field.\n\t\t */\n\t\tmaxlength: {schema: {type: 'number'}},\n\t\t/**\n\t\t * Array of inline alert messages that are displayed below the field.\n\t\t * @type {Array.<{status: ('critical'|'warning'|'positive'|'info'|'suggestion'), content: (string|JSX), icon: string}>}\n\t\t * @uib.label Alert messages\n\t\t * @uib.description Array of inline alert messages that are displayed below the field.\n\t\t * @uib.fieldType collection\n\t\t * @uib.typeMetadata.collection.cardProperties.heading { \"heading\": \"content\", \"icon\": \"icon\" }\n\t\t */\n\t\tmessages: {\n\t\t\tdefault: [],\n\t\t\tschema: messagesSchema,\n\t\t},\n\t\t/**\n\t\t * Minimum value that the user can enter in the field.\n\t\t * @type {number}\n\t\t */\n\t\tmin: {schema: {type: 'number'}},\n\t\t/**\n\t\t * Minimum number of characters that the user can enter in the field.\n\t\t * @type {number}\n\t\t * @uib.label Min. characters\n\t\t * @uib.fieldType number\n\t\t * @uib.description Minimum number of characters for the input field.\n\t\t */\n\t\tminlength: {schema: {type: 'number'}},\n\t\t/**\n\t\t * Name of the field control. Dispatched along with the field value\n\t\t * on user interaction.\n\t\t * @type {string}\n\t\t * @uib.label Identifier\n\t\t * @uib.description Reference name for the input field.\n\t\t */\n\t\tname: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Portion of the phone number (excluding the country code) present\n\t\t * in the main input area of the phone input field.\n\t\t * @type {string}\n\t\t * @uib.description Portion of the phone number (excluding the country code) present in the main input area of the phone input field.\n\t\t */\n\t\tnumber: {schema: {type: 'string'}},\n\t\t/**\n\t\t * When true, the field is optional and does not need to be completed\n\t\t * before submitting the form.\n\t\t * @type {boolean}\n\t\t * @uib.description Set to indicate that the user does not have to enter a value in the input field before proceeding.\n\t\t */\n\t\toptional: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * A regular expression against which the user input is validated.\n\t\t * @type {string}\n\t\t * @uib.label Validation pattern\n\t\t * @uib.description Regular expression for which user input is validated.\n\t\t * @uib.fieldType string\n\t\t * @uib.typeMetadata.emptyStateBehavior NULL\n\t\t */\n\t\tpattern: {\n\t\t\tdefault: '[0-9]{3}-[0-9]{3}-[0-9]{4}',\n\t\t\tschema: {type: ['string', 'null', 'boolean']},\n\t\t},\n\t\t/**\n\t\t * Hint text displayed in the input when the user has not yet entered a\n\t\t * value.\n\t\t * @type {string}\n\t\t * @uib.label Placeholder text\n\t\t * @uib.description Placeholder text for the input field. This text should hint to the user what input is expected.\n\t\t * @uib.translatable true\n\t\t */\n\t\tplaceholder: {schema: {type: 'string'}},\n\t\t/**\n\t\t * When true, the user cannot modify the value of the field.\n\t\t * @type {boolean}\n\t\t * @uib.label Read-only\n\t\t * @uib.description When set, the user cannot modify the value of the input field. The input field is not disabled in this setting.\n\t\t */\n\t\treadonly: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, the user must enter a value in the\n\t\t * input field before they can submit the form.\n\t\t * @type {boolean}\n\t\t * @uib.description Set to indicate that the user must enter a value in the input field before proceeding.\n\t\t */\n\t\trequired: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Sets the input size.\n\t\t * @type {('sm'|'md')}\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Small\", \"value\": \"sm\"}, {\"label\": \"Medium\", \"value\": \"md\"}]\n\t\t * @uib.defaultValue md\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['sm', 'md'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * The value of the overall phone input field, including both the\n\t\t * country code and numeric string.\n\t\t * @type {string}\n\t\t * @uib.description The value of the input field. Unless the input field has pre-populated data, leave this property empty.\n\t\t * @uib.translatable true\n\t\t */\n\t\tvalue: {manageable: true, schema: {type: 'string'}},\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `value` property.\n\t\t * An action with type `NOW_INPUT_PHONE#VALUE_SET` will be dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the value property. Use the value set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageValue: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * now-input-phone. The value of the key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s. These ARIA\n\t\t * properties are set on the specified element.\n\t\t * The 'input' key corresponds to the native input in\n\t\t * now-input-phone. See https://www.w3.org/TR/wai-aria-1.2/#button for\n\t\t * properties and accepted values.\n\t\t * See https://www.w3.org/TR/wai-aria-1.2/#alert or https://www.w3.org/TR/wai-aria-1.2/#status\n\t\t * for properties and accepted values.\n\t\t * @type {{ input: { 'aria-*': string, role: string  }}}\n\t\t * @uib.label ARIA properties\n\t\t * @uib.description Configures ARIA properties\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tinput: configAriaLabelSchema,\n\t\t\t\t},\n\t\t\t\tadditionalProperties: false,\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: {layout: 'vertical'},\n\t\t\tschema: fieldLayoutSchema,\n\t\t},\n\t\t/**\n\t\t * Includes this component as a target for the Now-Trigger-Library's\n\t\t * Landmark Focus feature.\n\t\t * @type {boolean}\n\t\t * @uib.label Landmark\n\t\t * @uib.description Allow the Landmark Focus keyboard shortcut to focus this input\n\t\t */\n\t\tlandmark: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Set to true to wrap the label if it does not fit on one line.\n\t\t * @type {boolean}\n\t\t * @uib.description Wraps the label if it does not fit on one line.\n\t\t */\n\t\twrapLabel: {default: false, schema: {type: 'boolean'}},\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the user clicks the CTI button.\n\t\t * @type {{}}\n\t\t * @uib.description Dispatched when the user clicks the CTI (phone) button.\n\t\t */\n\t\t'NOW_INPUT_PHONE#BUTTON_CLICKED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user selects a country code from the dropdown.\n\t\t * Payload contains the `code` value from the corresponding\n\t\t * configuration object in the `countryCodes` array.\n\t\t * @type {{value: string}}\n\t\t * @uib.description Dispatched when the user selects a country code from the dropdown\n\t\t */\n\t\t'NOW_INPUT_PHONE#COUNTRY_CODE_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tvalue: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user moves focus away from the field.\n\t\t * Payload contains these properties:\n\t\t * - `name`: String. Value of the `name` property.\n\t\t * - `value`: Boolean. Value of the `invalid` property, which is based on\n\t\t *   the values of the `required` and `pattern` properties.\n\t\t * - `fieldValue`: String. Value entered in the field.\n\t\t *\n\t\t * Set the `manage-invalid` property to override the default behavior and\n\t\t * handle this action manually.\n\t\t * @type {{name: string, value: boolean, fieldValue: string}}\n\t\t * @uib.description Dispatched when the field is blurred and the input value is invalid\n\t\t */\n\t\t'NOW_INPUT_PHONE#INVALID_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tvalue: {type: 'boolean'},\n\t\t\t\t\tfieldValue: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user selects a country code from the dropdown\n\t\t * or updates the main phone number input value.\n\t\t * Payload contains the concatenation of the country code and phone number.\n\t\t * Set the `manage-value` property to override the default behavior and\n\t\t * handle this action manually.\n\t\t * @type {{name: string, value: string}}\n\t\t * @uib.description Dispatched when the field is blurred and the input value is valid\n\t\t */\n\t\t'NOW_INPUT_PHONE#VALUE_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tvalue: {type: 'boolean'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user enters data in the field by typing or\n\t\t * pasting text. The system does not validate the value or update\n\t\t * the `value` property. Payload contains these properties:\n\t\t * - `name`: String. Value of the `name` property.\n\t\t * - `data`: String. Value entered in the field that caused the event to fire.\n\t\t * - `fieldValue`: String. Current value of the field when the event fired.\n\t\t *\n\t\t * @type {{name: string, data: string, fieldValue: string}}\n\t\t * @uib.description Dispatched when the user enters data in the input field by typing or pasting text\n\t\t */\n\t\t'NOW_INPUT_PHONE#INPUT': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tdata: {type: 'string'},\n\t\t\t\t\tfieldValue: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot for label end metadata. Located at the end of label.\n\t\t */\n\t\t'label-end': {},\n\t\t/**\n\t\t * Slot for label, located inline after the label. For the `horizontal` layout, it is placed before the label.\n\t\t */\n\t\t'label-inline': {},\n\t\t/**\n\t\t * Slot for label, located at the start of the label. For the `horizontal` field layout, it is placed after the label.\n\t\t */\n\t\t'label-start': {},\n\t},\n\tactionHandlers: {\n\t\t'NOW_DROPDOWN_CUSTOM_TARGET#SELECTED_ITEMS_SET': ({\n\t\t\taction,\n\t\t\tupdateProperties,\n\t\t\tdispatch,\n\t\t}) => {\n\t\t\tupdateProperties({selectedCountryCode: action.payload.value[0]});\n\t\t\tdispatch(({properties}) => {\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'NOW_INPUT_PHONE#COUNTRY_CODE_SET',\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tname: properties.name,\n\t\t\t\t\t\tvalue: action.payload.value[0],\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t});\n\t\t\tdispatch(({properties}) => {\n\t\t\t\tconst fullNumber = action.payload.value[0] + '-' + properties.number;\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'NOW_INPUT_PHONE#VALUE_SET',\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tname: properties.name,\n\t\t\t\t\t\tvalue: fullNumber,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\t\t'NOW_INPUT#INVALID_SET': makeRedispatchEffect(\n\t\t\t'NOW_INPUT_PHONE#INVALID_SET',\n\t\t),\n\t\t'NOW_INPUT#INPUT': makeRedispatchEffect('NOW_INPUT_PHONE#INPUT'),\n\t\t'NOW_INPUT#VALUE_SET': ({action, dispatch}) => {\n\t\t\tdispatch(({properties}) => {\n\t\t\t\tconst fullNumber =\n\t\t\t\t\tproperties.selectedCountryCode + '-' + action.payload.value;\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'NOW_INPUT_PHONE#VALUE_SET',\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tname: properties.name,\n\t\t\t\t\t\tvalue: fullNumber,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: (host) => {\n\t\t\t\t\tconst focusTarget = host.shadowRoot.querySelector('now-input');\n\n\t\t\t\t\tif (focusTarget) {\n\t\t\t\t\t\tfocusTarget.focus();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t],\n\tstyles,\n\tview,\n});\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport styles from './_now-input-url.scss';\nimport '@servicenow/now-button';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {t} from 'sn-translate';\nimport {\n\tgetFormFieldMessageIds,\n\trenderFormFieldMessages,\n\trenderFormFieldLabel,\n\trenderLabelEnd,\n\tgetAriaDescribedByList,\n} from './form-field';\nimport {handleFocus, handlePlaceholderTooltipVisibility} from './utils/helper';\nimport {messagesSchema} from './schemas/messages-schema';\nimport {actionTypes} from '@servicenow/ui-core';\nconst {\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_TREE_RENDERED,\n\tARIA_LIVE_REGION_UPDATE_REQUESTED,\n} = actionTypes;\nimport {\n\tfilterAriaAttributes,\n\tsanitizeHref,\n} from '@servicenow/library-enhanced-utils';\nimport {\n\tconfigAriaLabelRoleSchema,\n\tconfigAriaLabelSchema,\n} from '@servicenow/library-schemas';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {fieldLayoutSchema} from './schemas/field-layout-schema';\nimport {getColumnStyles} from '@servicenow/library-enhanced-utils';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\n\nconst handleInput = (e, dispatch, state, updateState) => {\n\tconst fieldValue = e.target.value;\n\tconst data = e.data;\n\tconst {placeholderOverflow} = state;\n\tif (placeholderOverflow) {\n\t\thandlePlaceholderTooltipVisibility(e, dispatch, state, updateState);\n\t}\n\tdispatch(({properties: {name}}) => {\n\t\treturn {type: 'NOW_INPUT_URL#INPUT', payload: {name, data, fieldValue}};\n\t});\n};\n\nconst announceMessage = (label, content, dispatch) => {\n\tconst announcement = label + ' ' + content.content;\n\treturn dispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\tmessage: announcement,\n\t\ttype: 'polite',\n\t});\n};\n\nconst handleInputBlur = (e, disabled, readonly, updateState, dispatch) => {\n\tif (disabled || readonly) {\n\t\treturn;\n\t}\n\tconst {valid} = e.target.validity;\n\tconst {name, value} = e.target;\n\tdispatch(() => {\n\t\treturn {\n\t\t\ttype: 'NOW_INPUT_URL#INVALID_SET',\n\t\t\tpayload: {name, value: !valid, fieldValue: value},\n\t\t};\n\t});\n\tupdateState({hasFocus: false, restoreFocus: valid});\n\tupdateState(({properties}) => {\n\t\treturn {\n\t\t\tpath: 'editing',\n\t\t\toperation: 'set',\n\t\t\tvalue: false,\n\t\t\tshouldUpdate: !properties.invalid,\n\t\t};\n\t});\n\tdispatch(({properties}) => {\n\t\tconst {disabled, readonly, value: previousValue, invalid} = properties;\n\t\treturn {\n\t\t\ttype: 'NOW_INPUT_URL#VALUE_SET',\n\t\t\tpayload: {name, value},\n\t\t\tshouldDispatch:\n\t\t\t\t!disabled && !readonly && !invalid && value !== previousValue,\n\t\t};\n\t});\n};\n\nconst handleEditButtonClick = (e, disabled, readonly, updateState) => {\n\tif (disabled || readonly) {\n\t\treturn;\n\t}\n\tupdateState({editing: true, restoreFocus: true, shouldRender: true});\n};\n\nconst _renderTextLink = (\n\tlabel,\n\tvalue,\n\tdisabled,\n\tdispatch,\n\tformFieldMessageIds,\n\tconfigAria,\n) => {\n\tif (!value) return;\n\n\tconst describedByItems = formFieldMessageIds\n\t\t? ['linkLabel'].concat(formFieldMessageIds.split(' ')).join(' ')\n\t\t: 'linkLabel';\n\tif (!disabled) {\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t<a\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\tdispatch(() => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\ttype: 'NOW_TEXT_LINK#CLICKED',\n\t\t\t\t\t\t\t\tpayload: {},\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t\thref={sanitizeHref(value)}\n\t\t\t\t\tclassName=\"now-input-url-text-link now-text-link -primary show-underline\"\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\taria-label={`${label} ${value}`}\n\t\t\t\t\t{...filterAriaAttributes(configAria, 'link')}\n\t\t\t\t\taria-describedby={describedByItems}\n\t\t\t\t>\n\t\t\t\t\t{value}\n\t\t\t\t</a>\n\t\t\t\t<span id=\"linkLabel\" className=\"now-a11y-label\">\n\t\t\t\t\t{t('Link opens in new window or tab')}\n\t\t\t\t</span>\n\t\t\t</Fragment>\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t// why is it like this? https://www.scottohara.me/blog/2021/05/28/disabled-links.html\n\t\t\t<a\n\t\t\t\tclassName=\"now-input-url-text-link\"\n\t\t\t\trole=\"link\"\n\t\t\t\taria-label={`${label} ${value}`}\n\t\t\t\t{...filterAriaAttributes(configAria, 'link')}\n\t\t\t\taria-disabled=\"true\"\n\t\t\t\taria-describedby={describedByItems}\n\t\t\t>\n\t\t\t\t{value}\n\t\t\t</a>\n\t\t);\n\t}\n};\n\nconst view = (state, {dispatch, updateState}) => {\n\tconst {\n\t\tsize,\n\t\tdisabled,\n\t\thelperContent,\n\t\thideRequiredIndicator,\n\t\tinvalid,\n\t\tlabel,\n\t\tmaxlength,\n\t\tmessages,\n\t\tminlength,\n\t\tname,\n\t\toptional,\n\t\tpattern,\n\t\tplaceholder,\n\t\treadonly,\n\t\trequired,\n\t\tvalue = '',\n\t\tconfigAria,\n\t\tnowId,\n\t\talign,\n\t\tfieldLayout: {layout, columns},\n\t\twrapLabel,\n\t} = state.properties;\n\tconst {editing, hasFocus, hasHover, placeholderOverflow} = state;\n\tconst renderAsElement = !editing && value ? 'span' : 'label';\n\tconst editLabel = t({\n\t\tcode: 'now-input-url-edit-button-label',\n\t\tmessage: 'Edit',\n\t\tcomment: 'Verb. Label for action button to edit the url field.',\n\t});\n\n\treturn (\n\t\t<div\n\t\t\tstyle={\n\t\t\t\tlayout === 'horizontal' ? {...getColumnStyles(columns)} : undefined\n\t\t\t}\n\t\t\tclass={{\n\t\t\t\t'now-input': true,\n\t\t\t\t'now-form-field-layout': true,\n\t\t\t\t[`-${size}`]: size,\n\t\t\t\t[`-${layout}`]: layout,\n\t\t\t\t'will-wrap': wrapLabel,\n\t\t\t}}\n\t\t>\n\t\t\t{renderFormFieldLabel(\n\t\t\t\tnowId,\n\t\t\t\tinvalid,\n\t\t\t\trequired,\n\t\t\t\toptional,\n\t\t\t\tlabel,\n\t\t\t\thelperContent,\n\t\t\t\thideRequiredIndicator,\n\t\t\t\trenderAsElement,\n\t\t\t\tlayout,\n\t\t\t\tfalse,\n\t\t\t\twrapLabel,\n\t\t\t)}\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'now-input-field': true,\n\t\t\t\t\t'now-form-field': true,\n\t\t\t\t\t'is-url': true,\n\t\t\t\t\t'is-invalid': invalid,\n\t\t\t\t\t'is-disabled': disabled,\n\t\t\t\t\t'is-readonly': readonly && !value,\n\t\t\t\t\t'has-focus': hasFocus && !readonly && !value,\n\t\t\t\t\t'has-hover': hasHover,\n\t\t\t\t\t'is-hidden': !editing && value,\n\t\t\t\t\t['-' + align]: align,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<input\n\t\t\t\t\tid={`form-field-${nowId}`}\n\t\t\t\t\tclassName=\"now-input-native\"\n\t\t\t\t\taria-describedby={getAriaDescribedByList({\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\thelperContent,\n\t\t\t\t\t\toptional,\n\t\t\t\t\t\tnowId,\n\t\t\t\t\t\tmessages,\n\t\t\t\t\t\tlayout,\n\t\t\t\t\t})}\n\t\t\t\t\taria-required={required ? 'true' : 'false'}\n\t\t\t\t\taria-invalid={invalid ? 'true' : 'false'}\n\t\t\t\t\tdata-tooltip={placeholder}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tmaxlength={maxlength}\n\t\t\t\t\tminlength={minlength}\n\t\t\t\t\tname={name}\n\t\t\t\t\tpattern={pattern}\n\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\treadonly={readonly}\n\t\t\t\t\trequired={required}\n\t\t\t\t\ttype={readonly && !value ? 'text' : 'url'}\n\t\t\t\t\tvalue={!value && readonly ? '—' : value}\n\t\t\t\t\taria-label={!value && readonly ? '' : undefined}\n\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\ton-mouseenter={(e) => {\n\t\t\t\t\t\tupdateState({hasHover: true});\n\t\t\t\t\t\tif (placeholderOverflow) {\n\t\t\t\t\t\t\thandlePlaceholderTooltipVisibility(\n\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\ton-mouseleave={(e) => {\n\t\t\t\t\t\tupdateState({hasHover: false});\n\t\t\t\t\t\tif (placeholderOverflow) {\n\t\t\t\t\t\t\thandlePlaceholderTooltipVisibility(\n\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\ton-focusin={(e) => {\n\t\t\t\t\t\tif (placeholderOverflow) {\n\t\t\t\t\t\t\thandlePlaceholderTooltipVisibility(\n\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\ton-focusout={(e) => {\n\t\t\t\t\t\tif (placeholderOverflow) {\n\t\t\t\t\t\t\thandlePlaceholderTooltipVisibility(\n\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\ton-focus={() => updateState({hasFocus: true})}\n\t\t\t\t\ton-keydown={(e) => {\n\t\t\t\t\t\tif (e.key === 'Enter' || e.key === 'Escape') {\n\t\t\t\t\t\t\te.target.blur();\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\ton-blur={(e) =>\n\t\t\t\t\t\thandleInputBlur(e, disabled, readonly, updateState, dispatch)\n\t\t\t\t\t}\n\t\t\t\t\ton-input={(e) => handleInput(e, dispatch, state, updateState)}\n\t\t\t\t\t{...filterAriaAttributes(configAria, 'input')}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'now-input-field': true,\n\t\t\t\t\t'now-input-url': true,\n\t\t\t\t\t'now-form-field': true,\n\t\t\t\t\t'is-disabled': disabled,\n\t\t\t\t\t'is-readonly': readonly,\n\t\t\t\t\t'is-hidden': editing || !value,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{_renderTextLink(\n\t\t\t\t\tlabel,\n\t\t\t\t\tvalue,\n\t\t\t\t\tdisabled,\n\t\t\t\t\tdispatch,\n\t\t\t\t\tgetFormFieldMessageIds(nowId, messages),\n\t\t\t\t\tconfigAria,\n\t\t\t\t)}\n\t\t\t\t{!readonly ? (\n\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tclassName=\"now-input-url-button\"\n\t\t\t\t\t\ticon=\"pencil-outline\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\ttooltip-content={editLabel}\n\t\t\t\t\t\tconfig-aria={\n\t\t\t\t\t\t\tconfigAria?.button\n\t\t\t\t\t\t\t\t? configAria\n\t\t\t\t\t\t\t\t: {button: {'aria-label': editLabel}}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbare\n\t\t\t\t\t\thide-padding={size === 'sm'}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\ton-click={(e) => {\n\t\t\t\t\t\t\thandleEditButtonClick(e, disabled, readonly, updateState);\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t) : undefined}\n\t\t\t</div>\n\t\t\t{layout === 'horizontal' && renderLabelEnd()}\n\t\t\t<div className=\"now-form-field-messages\">\n\t\t\t\t{renderFormFieldMessages(nowId, messages)}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\n/**\n * Accepts user input in the form of URLs.\n *\n * ```jsx\n * <now-input-url />\n * ```\n *\n * @seismicElement now-input-url\n * @summary Accepts hyperlinks as input for entering and editing web addresses.\n * @uib.label Input URL\n * @uib.icon input-url\n * @uib.description Accepts URLs as input for entering and editing web addresses.\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties size, disabled, readonly, value, manageValue, name, placeholder, minlength, maxlength, label, wrapLabel, required, hideRequiredIndicator, optional, helperContent, invalid, manageInvalid, pattern, messages, configAria, align, fieldLayout, landmark\n * @uib.layout.value.children value, manageValue, name, placeholder, minlength, maxlength, align\n * @uib.layout.value.icon pencil-outline\n * @uib.layout.label.children label, wrapLabel, required, hideRequiredIndicator, optional, helperContent\n * @uib.layout.label.icon text-outline\n * @uib.layout.validation.children invalid, manageInvalid, pattern, messages\n * @uib.layout.validation.icon syntax-check-outline\n * @uib.layout.accessibility.children configAria, landmark\n * @uib.actions NOW_INPUT_URL#INVALID_SET, NOW_INPUT_URL#VALUE_SET, NOW_INPUT_URL#INPUT\n */\ncreateEnhancedElement('now-input-url', {\n\tproperties: {\n\t\t/**\n\t\t * Alignment of the text within the field.\n\t\t * @type {('start'|'center'|'end')}\n\t\t * @uib.label Text align\n\t\t * @uib.description Alignment of the text within the field.\n\t\t */\n\t\talign: {schema: {type: 'string', enum: ['start', 'center', 'end']}},\n\t\t/**\n\t\t * When true, the user cannot interact with the field\n\t\t * or change its value and the field appears greyed out.\n\t\t * @type {boolean}\n\t\t * @uib.description Prevents the user from interacting with the field. The field appears grayed out.\n\t\t */\n\t\tdisabled: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * URL requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t * @uib.label Helper Content\n\t\t * @uib.fieldType string\n\t\t * @uib.description If set, an iconic button with a popover appears next to the field label for displaying additional hint text to the user, such as password requirements or other instructions for completing the field. Use plain text to allow translation.\n\t\t * @uib.translatable true\n\t\t */\n\t\thelperContent: {},\n\t\t/**\n\t\t * When true, the required indicator is visually hidden. Use this for\n\t\t * forms where most fields are required, along with the `optional` flag\n\t\t * for any fields that are not required.\n\t\t * @type {boolean}\n\t\t * @uib.label Hide Required Indicator\n\t\t * @uib.description Hides the required indicator. Use this for forms where most fields are required, along with the `optional` flag for any fields that are not required.\n\t\t */\n\t\thideRequiredIndicator: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, indicates that the field value is invalid,\n\t\t * which is visually reflected in the field display.\n\t\t * @type {boolean}\n\t\t * @uib.description If set, the field appears invalid, indicating incorrect input.\n\t\t */\n\t\tinvalid: {manageable: true, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `invalid` property.\n\t\t * An action with type `NOW_INPUT_URL#INVALID_SET` will be dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the invalid property. Use the invalid set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageInvalid: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * User-visible label for the field.\n\t\t * @type {string}\n\t\t * @uib.description Field label to tell users what to enter in the field.\n\t\t * @uib.defaultValue Label\n\t\t * @uib.translatable true\n\t\t */\n\t\tlabel: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Maximum number of characters that the user can enter in the field.\n\t\t * @type {number}\n\t\t * @uib.label Max. characters\n\t\t * @uib.fieldType number\n\t\t * @uib.description Maximum number of characters that the user can enter in the field.\n\t\t */\n\t\tmaxlength: {schema: {type: 'number'}},\n\t\t/**\n\t\t * Array of inline alert messages that display below the field.\n\t\t * @type {Array.<{status: ('critical'|'warning'|'positive'|'info'|'suggestion'), content: (string|JSX), icon: string}>}\n\t\t * @uib.label Alert messages\n\t\t * @uib.description Array of inline alert messages that display below the field.\n\t\t * @uib.fieldType collection\n\t\t * @uib.typeMetadata.collection.cardProperties.heading { \"heading\": \"content\", \"icon\": \"icon\" }\n\t\t */\n\t\tmessages: {\n\t\t\tdefault: [],\n\t\t\tschema: messagesSchema,\n\t\t},\n\t\t/**\n\t\t * Minimum number of characters that the user can enter in the field.\n\t\t * @type {number}\n\t\t * @uib.label Min. characters\n\t\t * @uib.fieldType number\n\t\t * @uib.description Minimum number of characters that the user can enter in the field.\n\t\t */\n\t\tminlength: {schema: {type: 'number'}},\n\t\t/**\n\t\t * Name of the field control. Dispatched along with the field value\n\t\t * when the user interacts with the field.\n\t\t * @type {string}\n\t\t * @uib.label Identifier\n\t\t * @uib.description Reference name of the field control.\n\t\t */\n\t\tname: {schema: {type: 'string'}},\n\t\t/**\n\t\t * When true, the field is optional and does not need to be completed\n\t\t * before submitting the form. Adds a visual indicator.\n\t\t * @type {boolean}\n\t\t * @uib.description Set to indicate that the user does not have to enter a value in the input field before proceeding.\n\t\t */\n\t\toptional: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * A regular expression against which the user input is validated.\n\t\t * @type {string}\n\t\t * @uib.label Validation pattern\n\t\t * @uib.description A regular expression to validate user input against.\n\t\t * @uib.fieldType string\n\t\t * @uib.typeMetadata.emptyStateBehavior NULL\n\t\t */\n\t\tpattern: {schema: {type: ['string', 'null', 'boolean']}},\n\t\t/**\n\t\t * Hint text displayed in the input when the user has not yet entered a\n\t\t * value.\n\t\t * @type {string}\n\t\t * @uib.label Placeholder text\n\t\t * @uib.description Placeholder text displayed in the input when the user has not yet entered a value. This text should hint to the user what input is expected.\n\t\t * @uib.translatable true\n\t\t */\n\t\tplaceholder: {schema: {type: 'string'}},\n\t\t/**\n\t\t * When true, the user cannot modify the value of the field.\n\t\t * @type {boolean}\n\t\t * @uib.label Read-only\n\t\t * @uib.description Set to prevent the user from modifying the value of the input field. The input field is not disabled in this setting.\n\t\t */\n\t\treadonly: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, the user must enter a value in the\n\t\t * input field before they can submit the form.\n\t\t * @type {boolean}\n\t\t * @uib.description Set to indicate that the user must enter a value in the input field before proceeding.\n\t\t */\n\t\trequired: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Sets the input size.\n\t\t * @type {('sm'|'md')}\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Small\", \"value\": \"sm\"}, {\"label\": \"Medium\", \"value\": \"md\"}]\n\t\t * @uib.defaultValue md\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['sm', 'md'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * The value of the input field.\n\t\t * @type {string}\n\t\t * @uib.description The value of the input field. Unless the input field has pre-populated data, leave this property empty.\n\t\t * @uib.translatable true\n\t\t */\n\t\tvalue: {manageable: true, schema: {type: 'string'}},\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `value` property.\n\t\t * An action with type `NOW_INPUT_URL#VALUE_SET` will be dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the value property. Use the value set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageValue: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * An object whose keys reference specific HTML elements within the\n\t\t * now-input-url. The value of each key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s. These ARIA\n\t\t * properties are set on the specified element.\n\t\t * The 'input' key corresponds to the native input when the field is in edit mode.\n\t\t * See https://www.w3.org/TR/wai-aria-1.2/#input for\n\t\t * properties and accepted values.\n\t\t * The 'link' key corresponds to the link tag when the field is not in edit mode.\n\t\t * See https://www.w3.org/TR/wai-aria-1.2/#link for\n\t\t * properties and accepted values.\n\t\t * The 'button' key corresponds to the button that toggles edit mode.\n\t\t * See https://www.w3.org/TR/wai-aria-1.2/#button for\n\t\t * properties and accepted values.\n\t\t * @type {{ input: { 'aria-*': string, role: string  }, link: { 'aria-*': string, role: string  }, button: { 'aria-*': string, role: string  }}}\n\t\t * @uib.label ARIA properties\n\t\t * @uib.description Configures ARIA properties\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tinput: configAriaLabelRoleSchema,\n\t\t\t\t\tlink: configAriaLabelSchema,\n\t\t\t\t\tbutton: configAriaLabelSchema,\n\t\t\t\t},\n\t\t\t\tadditionalProperties: false,\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: {layout: 'vertical'},\n\t\t\tschema: fieldLayoutSchema,\n\t\t},\n\t\t/**\n\t\t * Includes this component as a target for the Now-Trigger-Library's\n\t\t * Landmark Focus feature.\n\t\t * @type {boolean}\n\t\t * @uib.label Landmark\n\t\t * @uib.description Allow the Landmark Focus keyboard shortcut to focus this input\n\t\t */\n\t\tlandmark: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Set to true to wrap the label if it does not fit on one line.\n\t\t * @type {boolean}\n\t\t * @uib.description Wraps the label if it does not fit on one line.\n\t\t */\n\t\twrapLabel: {default: false, schema: {type: 'boolean'}},\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the user moves focus away from the field.\n\t\t * Payload contains these properties:\n\t\t * - `name`: String. Value of the `name` property.\n\t\t * - `value`: Boolean. Value of the `invalid` property, which is based on\n\t\t *   the values of the `required` and `pattern` properties.\n\t\t * - `fieldValue`: String. Value entered in the field.\n\t\t *\n\t\t * Set the `manage-invalid` property to override the default behavior and\n\t\t * handle this action manually.\n\t\t * @type {{name: string, value: boolean, fieldValue: string}}\n\t\t * @uib.description Dispatched when the user moves focus away from the field and the value is invalid\n\t\t */\n\t\t'NOW_INPUT_URL#INVALID_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tvalue: {type: 'boolean'},\n\t\t\t\t\tfieldValue: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user moves focus away from the field\n\t\t * and the value is valid. Payload contains these properties:\n\t\t * - `name`: String. Value of the `name` property.\n\t\t * - `value`: String. Value entered in the field.\n\t\t *\n\t\t * Set the `manage-value` property to override the default behavior and\n\t\t * handle this action manually.\n\t\t * @type {{name: string, value: string}}\n\t\t * @uib.description Dispatched when the user moves focus away from the field and the value is valid\n\t\t */\n\t\t'NOW_INPUT_URL#VALUE_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tvalue: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user enters data in the field by typing or\n\t\t * pasting text. The system does not validate the value or update\n\t\t * the `value` property. Payload contains these properties:\n\t\t * - `name`: String. Value of the `name` property.\n\t\t * - `data`: String. Value entered in the field that caused the event to fire.\n\t\t * - `fieldValue`: String. Current value of the field when the event fired.\n\t\t * @type {{name: string, data: string, fieldValue: string}}\n\t\t * @uib.description Dispatched when the user enters data in the field by typing or pasting text\n\t\t */\n\t\t'NOW_INPUT_URL#INPUT': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tdata: {type: 'string'},\n\t\t\t\t\tfieldValue: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tinitialState: {\n\t\tediting: false,\n\t\trestoreFocus: false,\n\t\tplaceholderTooltipDisplay: false,\n\t},\n\n\tslots: {\n\t\t/**\n\t\t * Slot for label end metadata. Located at the end of label.\n\t\t */\n\t\t'label-end': {},\n\t\t/**\n\t\t * Slot for label, located inline after the label. For the `horizontal` layout, it is placed before the label.\n\t\t */\n\t\t'label-inline': {},\n\t\t/**\n\t\t * Slot for label, located at the start of the label. For the `horizontal` field layout, it is placed after the label.\n\t\t */\n\t\t'label-start': {},\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_TREE_READY]: ({host, properties, updateState}) => {\n\t\t\tconst inputField = host.shadowRoot.querySelector('.now-input-native');\n\t\t\tif (properties.placeholder) {\n\t\t\t\tconst tempValue = inputField.value;\n\t\t\t\tinputField.value = inputField.placeholder;\n\t\t\t\tif (inputField.scrollWidth > inputField.clientWidth) {\n\t\t\t\t\tupdateState({placeholderOverflow: true});\n\t\t\t\t}\n\t\t\t\tinputField.value = tempValue;\n\t\t\t}\n\t\t},\n\n\t\t[COMPONENT_TREE_RENDERED]: ({state, host, updateState}) => {\n\t\t\tif (state.restoreFocus) {\n\t\t\t\tif (state.editing) {\n\t\t\t\t\tconst input = host.shadowRoot.querySelector('input');\n\t\t\t\t\tinput && input.focus();\n\t\t\t\t} else {\n\t\t\t\t\tconst textLink = host.shadowRoot.querySelector('now-text-link');\n\t\t\t\t\ttextLink && textLink.focus();\n\t\t\t\t}\n\t\t\t\tupdateState({restoreFocus: false, shouldRender: false});\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({action, dispatch, properties}) => {\n\t\t\tconst {name, value, previousValue} = action.payload;\n\t\t\tif (name === 'messages') {\n\t\t\t\tconst messagesLength = value.length;\n\t\t\t\tconst previousMessagesLength = previousValue ? previousValue.length : 0;\n\t\t\t\tif (messagesLength > previousMessagesLength) {\n\t\t\t\t\tfor (let i = previousMessagesLength; i < messagesLength; i++) {\n\t\t\t\t\t\tannounceMessage(properties.label, value[i], dispatch);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: (host) => {\n\t\t\t\t\thandleFocus(host);\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{behavior: truncationBehavior},\n\t\t{behavior: tooltipBehavior},\n\t],\n\tstyles,\n\tview,\n});\n","import './now-input';\nimport './now-input-password';\nimport './now-input-phone';\nimport './now-input-url';\n\nimport * as info from '../package.json';\n\nconst {name, version} = info;\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n\nexport {\n\tgetFormFieldMessageIds,\n\trenderFormFieldMessages,\n\trenderFormFieldLabel,\n\trenderLabelEnd,\n\tgetAriaDescribedByList,\n} from './form-field';\nexport {messagesSchema} from './schemas/messages-schema';\nexport {fieldLayoutSchema} from './schemas/field-layout-schema';\n","/* eslint-disable */\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined'\n\t\t? factory(exports)\n\t\t: typeof define === 'function' && define.amd\n\t\t\t? define(['exports'], factory)\n\t\t\t: factory((global['fanow-legacy-icons'] = {}));\n})(this, function (exports) {\n\t'use strict';\n\n\tvar prefix = 'fasn';\n\tvar faActivityLineCircleSolid = {\n\t\tprefix: 'fasn',\n\t\ticonName: 'activity-line-circle-solid',\n\t\ticon: [\n\t\t\t500,\n\t\t\t500,\n\t\t\t[],\n\t\t\t'',\n\t\t\t'M121.495327,235.202492 L-5.68434189e-14,235.202492 C7.78816199,104.361371 116.82243,2.76691096e-14 249.221184,0 C383.17757,0 490.654206,102.803738 498.442368,233.64486 L367.601246,233.64486 L325.545171,87.2274143 C322.429907,79.4392523 314.641745,76.3239875 308.411215,77.8816199 C302.180685,79.4392523 299.065421,84.1121495 295.950156,91.9003115 L191.588785,348.909657 L158.878505,247.663551 C157.320872,239.875389 151.090343,235.202492 144.859813,235.202492 L121.495327,235.202492 Z M355.140187,266.35514 L500,266.35514 C492.211838,395.638629 383.17757,500 250.778816,500 C119.937695,500 12.4610592,397.196262 3.1152648,267.912773 L130.841121,267.912773 L177.570093,411.214953 C179.127726,417.445483 183.800623,422.11838 191.588785,422.11838 C199.376947,422.11838 202.492212,415.88785 205.607477,408.099688 L309.968847,154.205607 L342.679128,255.451713 C344.23676,258.566978 345.794393,266.35514 355.140187,266.35514 Z',\n\t\t],\n\t};\n\tvar faActivityLineCircle = {\n\t\tprefix: 'fasn',\n\t\ticonName: 'activity-line-circle',\n\t\ticon: [\n\t\t\t500,\n\t\t\t500,\n\t\t\t[],\n\t\t\t'',\n\t\t\t'M250,500 C388.104839,500 500,388.104839 500,250 C500,111.895161 388.104839,0 250,0 C111.895161,0 0,111.895161 0,250 C0,388.104839 111.895161,500 250,500 Z M250,48.3870968 C361.391129,48.3870968 451.612903,138.608871 451.612903,250 C451.612903,361.391129 361.391129,451.612903 250,451.612903 C138.608871,451.612903 48.3870968,361.391129 48.3870968,250 C48.3870968,138.608871 138.608871,48.3870968 250,48.3870968 Z',\n\t\t],\n\t};\n\tvar faActivityLine = {\n\t\tprefix: 'fasn',\n\t\ticonName: 'activity-line',\n\t\ticon: [\n\t\t\t502,\n\t\t\t359,\n\t\t\t[],\n\t\t\t'',\n\t\t\t'M371.786662,233.311809 L500,233.492802 L500,269.044991 L482.864628,268.941306 L482.864628,269.044991 L358.987874,268.191738 C353.428804,268.165882 348.516138,264.571879 346.783777,259.271371 L312.162409,151.141004 L202.790948,419.682847 C197.309447,432.145505 179.494568,431.783519 174.478477,419.088156 L126.929041,268.734717 L7.32885143,269.044991 L7.32885143,269.027075 L0,269.044991 L0,232.587837 L136.857798,232.174139 C143.994091,232.251707 153.069596,238.715741 155.474216,245.386625 L189.759455,352.508602 L300.630572,80.4503247 C305.775943,68.7633506 322.582432,69.3321856 326.926263,81.3294334 L371.786662,233.311809 Z',\n\t\t],\n\t};\n\tvar faArrowToLeftNoBar = {\n\t\tprefix: 'fasn',\n\t\ticonName: 'arrow-to-left-no-bar',\n\t\ticon: [\n\t\t\t384,\n\t\t\t320,\n\t\t\t[],\n\t\t\t'',\n\t\t\t'M35.4,264a12,12,0,0,1,0-17L183.8,99a12,12,0,0,1,17,0l19.6,19.6a11.87,11.87,0,0,1-.2,17.1l-97.1,93.8H403.9a12,12,0,0,1,12,12v28a12,12,0,0,1-12,12H123.1l97.1,93.7a12,12,0,0,1,.2,17.1l-19.6,19.6a11.92,11.92,0,0,1-17,.1Z',\n\t\t],\n\t};\n\tvar faArrowToLeft = {\n\t\tprefix: 'fasn',\n\t\ticonName: 'arrow-to-left',\n\t\ticon: [\n\t\t\t448,\n\t\t\t512,\n\t\t\t[],\n\t\t\t'',\n\t\t\t'M347.9,109.4,227.4,224.2l197.72.28a23.94,23.94,0,0,1,24,24v32a23.94,23.94,0,0,1-24,24L227.4,304.2,347.9,419a24,24,0,0,1,.4,34.3l-22.2,22.2a23.9,23.9,0,0,1-33.9,0L97.8,281.1a23.9,23.9,0,0,1,0-33.9L292.2,52.9a23.9,23.9,0,0,1,33.9,0l22.2,22.2A23.85,23.85,0,0,1,347.9,109.4Z',\n\t\t],\n\t};\n\tvar faArrowToRightNoBar = {\n\t\tprefix: 'fasn',\n\t\ticonName: 'arrow-to-right-no-bar',\n\t\ticon: [\n\t\t\t384,\n\t\t\t320,\n\t\t\t[],\n\t\t\t'',\n\t\t\t'M412.4,264a12,12,0,0,0,0-17L264,99a12,12,0,0,0-17,0l-19.6,19.6a11.87,11.87,0,0,0,.2,17.1l97.1,93.8H43.9a12,12,0,0,0-12,12v28a12,12,0,0,0,12,12H324.7l-97.1,93.7a12,12,0,0,0-.2,17.1L247,411.9a11.92,11.92,0,0,0,17,.1Z',\n\t\t],\n\t};\n\tvar faArrowToRight = {\n\t\tprefix: 'fasn',\n\t\ticonName: 'arrow-to-right',\n\t\ticon: [\n\t\t\t448,\n\t\t\t512,\n\t\t\t[],\n\t\t\t'',\n\t\t\t'M101.09,75.1l22.2-22.2a23.9,23.9,0,0,1,33.9,0l194.4,194.3a23.9,23.9,0,0,1,0,33.9L157.19,475.5a23.9,23.9,0,0,1-33.9,0l-22.2-22.2a24,24,0,0,1,.4-34.3L222,304.2l-197.72.28a23.94,23.94,0,0,1-24-24v-32a23.94,23.94,0,0,1,24-24L222,224.2,101.49,109.4A23.85,23.85,0,0,1,101.09,75.1Z',\n\t\t],\n\t};\n\tvar faNowLogo = {\n\t\tprefix: 'fasn',\n\t\ticonName: 'now-logo',\n\t\ticon: [\n\t\t\t432,\n\t\t\t120,\n\t\t\t[],\n\t\t\t'',\n\t\t\t'M401.159 2.367l-25.172 65.579-24.242-65.579h-25.572l-24.467 65.579-24.947-65.579h-30.595l45.506 114.75h22.824l24.465-65.341 24.465 65.341h22.826l45.505-114.75zM0 117.117V2.367h29.464v9.227C38.185 4.497 49.028 0 61.755 0c15.793 0 30.171 7.098 39.6 18.456 7.543 8.99 11.784 20.585 11.784 40.222v58.439H82.5V56.311c0-11.356-2.594-17.27-6.836-21.53-4.008-4.022-10.136-6.389-17.207-6.389-12.965 0-23.57 8.282-27.813 14.198v74.527H0zM189.347 100.931c-19.432 0-32.732-14.629-32.732-32.728 0-18.105 13.3-32.983 32.732-32.983 19.438 0 32.73 14.878 32.73 32.983 0 18.1-13.292 32.728-32.73 32.728m.383-98.564c-35.873-.207-65.548 29.147-65.845 65.154-.157 19.061 7.777 36.272 20.561 48.373 4.65 4.398 11.837 4.825 16.88.89 7.452-5.816 17.022-9.282 28.021-9.282 10.998 0 20.568 3.469 28.02 9.282 5.084 3.966 12.302 3.46 16.978-.985 12.602-11.976 20.465-28.932 20.465-47.723 0-36.157-29.107-65.502-65.08-65.709',\n\t\t],\n\t};\n\tvar faPhoneSlash = {\n\t\tprefix: 'fasn',\n\t\ticonName: 'phone-slash',\n\t\ticon: [\n\t\t\t512,\n\t\t\t512,\n\t\t\t[],\n\t\t\t'',\n\t\t\t'M28.39,511.9A28.48,28.48,0,0,1,8.14,463.32l455-455.18a28.53,28.53,0,0,1,40.5,40.2l-455,455.18A28.55,28.55,0,0,1,28.39,511.9Z',\n\t\t],\n\t};\n\tvar faPhoneSquare = {\n\t\tprefix: 'fasn',\n\t\ticonName: 'phone-square',\n\t\ticon: [\n\t\t\t448,\n\t\t\t512,\n\t\t\t[],\n\t\t\t'',\n\t\t\t'M0,80V432a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V80a48,48,0,0,0-48-48H48A48,48,0,0,0,0,80Zm64,46a15,15,0,0,1,11.63-14.61l65-15a15,15,0,0,1,17.16,8.71l30,70a15,15,0,0,1-4.29,17.52l-37.89,31A231.83,231.83,0,0,0,256.39,334.39l31-37.89a15,15,0,0,1,17.52-4.29l70,30a15,15,0,0,1,8.71,17.16l-15,65A15,15,0,0,1,354,416C193.95,416,64,286.29,64,126Z',\n\t\t],\n\t};\n\tvar faPhoneVolume = {\n\t\tprefix: 'fasn',\n\t\ticonName: 'phone-volume',\n\t\ticon: [\n\t\t\t385,\n\t\t\t483,\n\t\t\t[],\n\t\t\t'',\n\t\t\t'M359.34,482C176.33,497.56,15.61,361.8.06,179.06a17.19,17.19,0,0,1,11.85-17.82l72.75-23.44a17.19,17.19,0,0,1,20.44,8.27l41.05,77A17.19,17.19,0,0,1,143,243.5l-40.24,39.07A265.63,265.63,0,0,0,240,398.29L271.68,352a17.19,17.19,0,0,1,19.58-6.6l82.83,27.45a17.19,17.19,0,0,1,11.61,18.75l-10.81,75.67A17.19,17.19,0,0,1,359.34,482ZM157,125.61a64.05,64.05,0,0,1,32.57,56.31,12.05,12.05,0,0,1-14.91,11.61l-8-2a12.09,12.09,0,0,1-9.17-11.34,32.06,32.06,0,0,0-15-25.92,12.09,12.09,0,0,1-5.26-13.61l2.31-7.95A12.05,12.05,0,0,1,157,125.61ZM190.77.72A192.27,192.27,0,0,1,314.66,214.9a12,12,0,0,1-14.73,9.6l-7.8-1.91a12,12,0,0,1-9-13.71A160.23,160.23,0,0,0,180.27,31.06a12,12,0,0,1-7.4-14.64l2.24-7.71a12,12,0,0,1,15.66-8ZM173.48,62.64A128.19,128.19,0,0,1,252.36,199a12.06,12.06,0,0,1-14.8,10.07l-7.83-1.92A12,12,0,0,1,220.64,194,96.13,96.13,0,0,0,162,92.63a12,12,0,0,1-6.86-14.43l2.24-7.74a12.06,12.06,0,0,1,16.11-7.81Z',\n\t\t],\n\t};\n\tvar faPhone = {\n\t\tprefix: 'fasn',\n\t\ticonName: 'phone',\n\t\ticon: [\n\t\t\t512,\n\t\t\t512,\n\t\t\t[],\n\t\t\t'',\n\t\t\t'M0,48C0,304.47,207.91,512,464,512a24,24,0,0,0,23.39-18.6l24-104a24,24,0,0,0-13.93-27.46l-112-48a24,24,0,0,0-28,6.86l-49.6,60.62A370.92,370.92,0,0,1,130.58,204.17l60.62-49.6a24,24,0,0,0,6.86-28l-48-112A24,24,0,0,0,122.6.62l-104,24A24,24,0,0,0,0,48Z',\n\t\t],\n\t};\n\tvar faServicenowLogo = {\n\t\tprefix: 'fasn',\n\t\ticonName: 'servicenow-logo',\n\t\ticon: [\n\t\t\t106,\n\t\t\t15,\n\t\t\t[],\n\t\t\t'',\n\t\t\t'M96,15.69H93.92L89.7,5h2.84l2.31,6.1L97.12,5h2.37l2.25,6.1L104.07,5h2.84l-4.22,10.68h-2.12L98.3,9.61ZM84.47,5a6.12,6.12,0,0,0-4.2,10.56,1.2,1.2,0,0,0,1.56.09,4.32,4.32,0,0,1,5.2,0,1.2,1.2,0,0,0,1.57-.1A6.12,6.12,0,0,0,84.47,5Zm0,9.17a3,3,0,0,1-3-3,3,3,0,1,1,6.07,0A3,3,0,0,1,84.43,14.18ZM66.87,15.69V5h2.74v.86a4.65,4.65,0,0,1,3-1.08,4.75,4.75,0,0,1,3.67,1.72,5.4,5.4,0,0,1,1.1,3.74v5.44H74.52V10a2.58,2.58,0,0,0-.63-2,2.21,2.21,0,0,0-1.6-.6,3.36,3.36,0,0,0-2.57,1.32v6.94Zm-1.12-5.44a5.17,5.17,0,0,0-5-5.46c-3.15,0-5.16,2.6-5.16,5.57a5.32,5.32,0,0,0,5.55,5.55A5.74,5.74,0,0,0,65.48,14l-1.61-1.63A3.77,3.77,0,0,1,61.2,13.6a2.79,2.79,0,0,1-2.86-2.53h7.34A5.22,5.22,0,0,0,65.75,10.25ZM58.47,9A2.31,2.31,0,0,1,60.74,7.1,2.13,2.13,0,0,1,62.84,9Zm-3.31,4.54a5.6,5.6,0,0,1-4.8,2.4,5.56,5.56,0,1,1,0-11.12,5.66,5.66,0,0,1,4.46,2.14l-2,1.78a3.08,3.08,0,0,0-2.45-1.28,2.86,2.86,0,0,0-2.87,2.93,2.82,2.82,0,0,0,2.93,2.91A3.12,3.12,0,0,0,53,11.86ZM40.58,15.69h2.84V5H40.58ZM42,0a1.83,1.83,0,1,1-1.86,1.83A1.82,1.82,0,0,1,42,0M33.75,11.53,36.66,5h3L34.74,15.69h-2L27.9,5h3ZM26.15,4.9a4.68,4.68,0,0,0-3,1.08V5H20.42V15.69h2.84V8.86a3.4,3.4,0,0,1,2.58-1.32A2.88,2.88,0,0,1,27,7.71V5a4.58,4.58,0,0,0-.83-.08m-6.94,5.35a5.17,5.17,0,0,0-5-5.46c-3.14,0-5.15,2.6-5.15,5.57a5.32,5.32,0,0,0,5.55,5.55A5.75,5.75,0,0,0,19,14l-1.62-1.63a3.75,3.75,0,0,1-2.67,1.24,2.79,2.79,0,0,1-2.86-2.53h7.34A4.25,4.25,0,0,0,19.21,10.25ZM11.93,9A2.31,2.31,0,0,1,14.2,7.1,2.13,2.13,0,0,1,16.3,9ZM1.38,12.43a4.43,4.43,0,0,0,2.9,1.06c.77,0,1.36-.38,1.36-.91,0-1.6-5.14-1-5.14-4.46,0-2,2-3.33,4.07-3.33A6.55,6.55,0,0,1,8.15,5.87L6.82,7.94a3.55,3.55,0,0,0-2-.73c-.79,0-1.45.31-1.45.86,0,1.39,5.14.84,5.14,4.54,0,2-2,3.3-4.22,3.3A7.34,7.34,0,0,1,0,14.48Z',\n\t\t],\n\t};\n\tvar icons$1 = {\n\t\tfaActivityLineCircleSolid: faActivityLineCircleSolid,\n\t\tfaActivityLineCircle: faActivityLineCircle,\n\t\tfaActivityLine: faActivityLine,\n\t\tfaArrowToLeftNoBar: faArrowToLeftNoBar,\n\t\tfaArrowToLeft: faArrowToLeft,\n\t\tfaArrowToRightNoBar: faArrowToRightNoBar,\n\t\tfaArrowToRight: faArrowToRight,\n\t\tfaNowLogo: faNowLogo,\n\t\tfaPhoneSlash: faPhoneSlash,\n\t\tfaPhoneSquare: faPhoneSquare,\n\t\tfaPhoneVolume: faPhoneVolume,\n\t\tfaPhone: faPhone,\n\t\tfaServicenowLogo: faServicenowLogo,\n\t};\n\n\texports['default'] = icons$1;\n\texports.prefix = prefix;\n\texports.faActivityLineCircleSolid = faActivityLineCircleSolid;\n\texports.faActivityLineCircle = faActivityLineCircle;\n\texports.faActivityLine = faActivityLine;\n\texports.faArrowToLeftNoBar = faArrowToLeftNoBar;\n\texports.faArrowToLeft = faArrowToLeft;\n\texports.faArrowToRightNoBar = faArrowToRightNoBar;\n\texports.faArrowToRight = faArrowToRight;\n\texports.faNowLogo = faNowLogo;\n\texports.faPhoneSlash = faPhoneSlash;\n\texports.faPhoneSquare = faPhoneSquare;\n\texports.faPhoneVolume = faPhoneVolume;\n\texports.faPhone = faPhone;\n\texports.faServicenowLogo = faServicenowLogo;\n\n\tObject.defineProperty(exports, '__esModule', {value: true});\n});\n","const SCROLL_CONTAINER_CLASS = 'scroll-container';\nconst ROW_DEFINITIONS_PROP = 'rowDefinitions';\n\nconst SHADE_ALTERNATE_ROWS_USER_PREFERENCE_KEY = 'table.highlighting';\nconst USE_SHADE_ALTERNATE_ROWS_USER_PREFERENCE =\n\t'useShadeAlternateRowsUserPref';\nconst SHADE_ALTERNATE_ROWS_ON = 'shadeAlternateRowsOn';\nconst SHADE_ALTERNATE_ROWS_OFF = 'shadeAlternateRowsOff';\nconst SHADE_ALTERNATE_ROWS_ENUMS = [\n\tUSE_SHADE_ALTERNATE_ROWS_USER_PREFERENCE,\n\tSHADE_ALTERNATE_ROWS_ON,\n\tSHADE_ALTERNATE_ROWS_OFF,\n];\n\nconst WRAP_CELL_CONTENT_USER_PREFERENCE_KEY = 'table.wrap';\nconst USE_LINE_BREAKS_USER_PREFERENCE = 'useLineBreaksUserPref';\nconst WRAP_ON = 'wrapOn';\nconst WRAP_OFF = 'wrapOff';\nconst WRAP_CELL_CONTENT_ENUMS = [\n\tUSE_LINE_BREAKS_USER_PREFERENCE,\n\tWRAP_ON,\n\tWRAP_OFF,\n];\n\nconst COLUMN_FILTERING_USER_PREFERENCE_KEY = 'glide.ui.list_header_search.open';\n\nconst LIST_ICON_CACHE = 'list-icon-cache';\n\nconst USER_PREF_UPDATED = 'USER_PREF_UPDATED';\n\nconst LAYOUT_OPTIONS = {\n\tLIST: 'list',\n\tGALLERY: 'gallery',\n};\n\n/** @type {\"sm\"} */\nconst SMALL = 'sm';\n\n/** @type {\"md\"} */\nconst MEDIUM = 'md';\n\n/** @type {\"lg\"} */\nconst LARGE = 'lg';\n\nconst ICON_SIZES = {\n\tSMALL,\n\tMEDIUM,\n\tLARGE,\n};\n\nconst ICON_NAMES = {\n\tTRIANGLE_EXCLAMATION_OUTLINE: 'triangle-exclamation-outline',\n\tDRAG_DOTS_FILL: 'drag-dots-fill',\n\tCHEVRON_END_FILL: 'chevron-end-fill',\n\tELLIPSIS_V_FILL: 'ellipsis-v-fill',\n\tNEW_OUTLINE: 'new-outline',\n\tMAGIC_OUTLINE: 'magic-outline',\n\tOPEN_LINK_OUTLINE: 'open-link-outline',\n\tPENCIL_OUTLINE: 'pencil-outline',\n\tCIRCLE_CHECK_OUTLINE: 'circle-check-outline',\n\tCIRCLE_CLOSE_OUTLINE: 'circle-close-outline',\n\tSORT_DESCENDING_FILL: 'sort-descending-fill',\n\tSORT_ASCENDING_FILL: 'sort-ascending-fill',\n};\n\nconst LIST_ICON_SET = [\n\t{ name: ICON_NAMES.TRIANGLE_EXCLAMATION_OUTLINE, size: ICON_SIZES.SMALL },\n\t{ name: ICON_NAMES.DRAG_DOTS_FILL, size: ICON_SIZES.SMALL },\n\t{ name: ICON_NAMES.CHEVRON_END_FILL, size: ICON_SIZES.MEDIUM },\n\t{ name: ICON_NAMES.ELLIPSIS_V_FILL, size: ICON_SIZES.SMALL },\n\t{ name: ICON_NAMES.NEW_OUTLINE, size: ICON_SIZES.SMALL },\n\t{ name: ICON_NAMES.MAGIC_OUTLINE, size: ICON_SIZES.SMALL },\n\t{ name: ICON_NAMES.OPEN_LINK_OUTLINE, size: ICON_SIZES.MEDIUM },\n\t{ name: ICON_NAMES.PENCIL_OUTLINE, size: ICON_SIZES.SMALL },\n\t{ name: ICON_NAMES.CIRCLE_CHECK_OUTLINE, size: ICON_SIZES.MEDIUM },\n\t{ name: ICON_NAMES.CIRCLE_CLOSE_OUTLINE, size: ICON_SIZES.MEDIUM },\n\t{ name: ICON_NAMES.SORT_ASCENDING_FILL, size: ICON_SIZES.SMALL },\n\t{ name: ICON_NAMES.SORT_DESCENDING_FILL, size: ICON_SIZES.SMALL },\n];\n\nmodule.exports = {\n\tSCROLL_CONTAINER_CLASS,\n\tROW_DEFINITIONS_PROP,\n\tUSE_SHADE_ALTERNATE_ROWS_USER_PREFERENCE,\n\tSHADE_ALTERNATE_ROWS_ON,\n\tSHADE_ALTERNATE_ROWS_OFF,\n\tSHADE_ALTERNATE_ROWS_ENUMS,\n\tSHADE_ALTERNATE_ROWS_USER_PREFERENCE_KEY,\n\tUSE_LINE_BREAKS_USER_PREFERENCE,\n\tCOLUMN_FILTERING_USER_PREFERENCE_KEY,\n\tWRAP_ON,\n\tWRAP_OFF,\n\tWRAP_CELL_CONTENT_ENUMS,\n\tWRAP_CELL_CONTENT_USER_PREFERENCE_KEY,\n\tLIST_ICON_CACHE,\n\tLIST_ICON_SET,\n\tICON_SIZES,\n\tICON_NAMES,\n\tUSER_PREF_UPDATED,\n\tLAYOUT_OPTIONS,\n};\n","exports.TABLE_DEFAULT_ICON_SIZE = 'md';\nexports.WRAP_CELL_CONTENT_USER_PREFERENCE = 'table.wrap';\n\nexports.ICON_SIZE_SMALL = 'sm';\nexports.ICON_SIZE_MEDIUM = 'md';\n\nexports.GROUP_ACTION_CLICKED = 'GROUP_ACTION_CLICKED';\nexports.NOW_LIST_BRIDGE_ACTION = 'NOW_LIST#BRIDGE_ACTION';\n","const { TABLE_DEFAULT_ICON_SIZE } = require('../table/constants.js');\n\nexports.ACTIONABLE_MESSAGE_ICON_SIZE = TABLE_DEFAULT_ICON_SIZE;\n\nconst ACTIONABLE_MESSAGE_STATUS_CRITICAL = 'critical';\nconst ACTIONABLE_MESSAGE_STATUS_HIGH = 'high';\nconst ACTIONABLE_MESSAGE_STATUS_MODERATE = 'moderate';\nconst ACTIONABLE_MESSAGE_STATUS_WARNING = 'warning';\nconst ACTIONABLE_MESSAGE_STATUS_INFO = 'info';\nconst ACTIONABLE_MESSAGE_STATUS_POSITIVE = 'positive';\nconst ACTIONABLE_MESSAGE_STATUS_LOW = 'low';\n\nexports.ACTIONABLE_MESSAGE_BUTTON_CLASS = 'actionable-message-button';\n\nexports.ACTIONABLE_MESSAGE_STATUS_DEFAULT = ACTIONABLE_MESSAGE_STATUS_INFO;\n\n/** @type {Array<string>} */\nexports.ACTIONABLE_MESSAGE_STATUS_ENUMS = [\n\tACTIONABLE_MESSAGE_STATUS_CRITICAL,\n\tACTIONABLE_MESSAGE_STATUS_HIGH,\n\tACTIONABLE_MESSAGE_STATUS_MODERATE,\n\tACTIONABLE_MESSAGE_STATUS_WARNING,\n\tACTIONABLE_MESSAGE_STATUS_INFO,\n\tACTIONABLE_MESSAGE_STATUS_POSITIVE,\n\tACTIONABLE_MESSAGE_STATUS_LOW,\n];\n\n/** @type {object} */\nexports.ACTIONABLE_MESSAGE_ICONS_DICT = {\n\t[ACTIONABLE_MESSAGE_STATUS_CRITICAL]: 'triangle-exclamation-outline',\n\t[ACTIONABLE_MESSAGE_STATUS_HIGH]: 'triangle-exclamation-outline',\n\t[ACTIONABLE_MESSAGE_STATUS_MODERATE]: 'circle-info-outline',\n\t[ACTIONABLE_MESSAGE_STATUS_WARNING]: 'circle-exclamation-outline',\n\t[ACTIONABLE_MESSAGE_STATUS_INFO]: 'circle-info-outline',\n\t[ACTIONABLE_MESSAGE_STATUS_POSITIVE]: 'circle-check-outline',\n\t[ACTIONABLE_MESSAGE_STATUS_LOW]: 'circle-info-outline',\n};\n","exports.CURRENCY_DEFAULT = 'USD';\n//Default locale if browser locale can't be fetched\nexports.CURRENCY_LOCALE_DEFAULT = 'en-US';\nexports.CURRENCY_VALUE_DEFAULT = 0;\n","exports.DATE_TIME_FORMAT_DEFAULT = 'yyyy-MM-dd THH:mm:ss.SSS XXX';\nexports.DEFAULT_DATE_FORMAT = 'yyyy-MM-dd';\n\nexports.DATE_EDITOR_VARIANT_SHORT = 'date';\nexports.DATE_EDITOR_VARIANT_LONG = 'date-time';\n\nexports.TIME_AGO_DISPLAY_NONE = 'none';\nexports.TIME_AGO_DISPLAY_UNDER_MAIN_VALUE = 'underMainValue';\nexports.TIME_AGO_DISPLAY_AS_MAIN_VALUE = 'asMainValue';\n\nexports.TIME_AGO_DISPLAY_ENUMS = [\n\texports.TIME_AGO_DISPLAY_NONE,\n\texports.TIME_AGO_DISPLAY_UNDER_MAIN_VALUE,\n\texports.TIME_AGO_DISPLAY_AS_MAIN_VALUE,\n];\n\nexports.SECONDS_FORMAT = ':ss';\nexports.SECONDS_FORMAT_WITH_DOTS = '.ss';\n\nexports.DATE_TIME_AGO_FORMAT = 'glide.ui.date_format';\nexports.SHORT_DATE_TIME_FORMAT = 'glide.ui.short_date_format';\n","/** @type {string} */\nexports.EMPTY_CELL_VALUE = '';\nexports.MAX_CHARACTERS_DEFAULT = 4000;\nexports.HIGHLIGHTED_VALUE = 'highlightedValue';\n\n// classnames\nexports.SPECIAL_COLUMN_CELL = 'special-column-cell';\nexports.SPECIAL_COLUMN_CELL_CONTENT = 'special-column-cell-content';\nexports.DATA_COLUMN_CLASS = 'data-column';\nexports.ROW_CELL_CLASS = 'row-cell';\nexports.CELL_CONTENT_CLASS = 'cell-content';\n\nexports.RECENTLY_UPDATED_ROWS_ICON_NAME = 'new-outline';\nexports.RECENTLY_UPDATED_ROWS_ICON_SIZE = 'sm';\n","const { TABLE_DEFAULT_ICON_SIZE } = require('../../table/constants');\n\nexports.ICON_CELL_ICON_SIZE = TABLE_DEFAULT_ICON_SIZE;\n\nexports.ICON_CELL_COLOR_DEFAULT = '';\nexports.ICON_CELL_COLOR_CRITICAL = 'critical';\nexports.ICON_CELL_COLOR_HIGH = 'high';\nexports.ICON_CELL_COLOR_MODERATE = 'moderate';\nexports.ICON_CELL_COLOR_WARNING = 'warning';\nexports.ICON_CELL_COLOR_INFO = 'info';\nexports.ICON_CELL_COLOR_POSITIVE = 'positive';\nexports.ICON_CELL_COLOR_LOW = 'low';\n\nexports.ICON_CELL_COLORS_ENUMS = [\n\texports.ICON_CELL_COLOR_DEFAULT,\n\texports.ICON_CELL_COLOR_CRITICAL,\n\texports.ICON_CELL_COLOR_HIGH,\n\texports.ICON_CELL_COLOR_MODERATE,\n\texports.ICON_CELL_COLOR_WARNING,\n\texports.ICON_CELL_COLOR_INFO,\n\texports.ICON_CELL_COLOR_POSITIVE,\n\texports.ICON_CELL_COLOR_LOW,\n];\n","exports.NUMBER_DEFAULT_VALUE = 0;\n\nexports.NUMBER_FORMAT_INTEGER = 'integer';\nexports.NUMBER_FORMAT_PERCENT = 'percent';\nexports.NUMBER_FORMAT_DECIMAL = 'decimal';\nexports.NUMBER_FORMAT_LONG_INT = 'longint';\nexports.NUMBER_DEFAULT_LOCALE = 'en-US';\nexports.NUMBER_FORMAT_ENUMS = [\n\texports.NUMBER_FORMAT_INTEGER,\n\texports.NUMBER_FORMAT_PERCENT,\n\texports.NUMBER_FORMAT_DECIMAL,\n];\n\nexports.DECIMAL_PLACES_DEFAULT = 2;\n","exports.MAX_PILL_COUNT_FOR_GALLERY = 2;\nexports.DEFAULT_PILL_SIZE = 'sm';\nexports.XS_PILL_SIZE = 'xs';\nexports.MAX_PILL_LIMIT_DEFAULT = 3;\nexports.MAX_MAX_PILL_LIMIT = 10;\n","const { TABLE_DEFAULT_ICON_SIZE } = require('../../table/constants');\n\nexports.URL_ICON_SIZE = TABLE_DEFAULT_ICON_SIZE;\nexports.URL_ICON = 'open-link-outline';\nexports.OPENS_IN_NEW_DEFAULT = false;\n","import { t } from 'sn-translate';\n\nexport const OPENS_IN_CURRENT_TAB_TOOLTIP = t('Opens URL in the current tab');\nexport const OPENS_IN_NEW_TOOLTIP = t('Opens URL in a new tab/window');\n","exports.TABLE_DEFAULT_ICON_SIZE = 'md';\nexports.WRAP_CELL_CONTENT_USER_PREFERENCE = 'table.wrap';\n\nexports.ICON_SIZE_SMALL = 'sm';\nexports.ICON_SIZE_MEDIUM = 'md';\n","exports.PERSON_CELL_ICON_SIZE = 'sm';\n\nexports.NOW_LIST_CELL_PERSON_CLICKED = 'NOW_LIST#CELL_PERSON_CLICKED';\n\nexports.PERSON_DISPLAY_TYPE_AVATAR = 'avatar';\nexports.PERSON_DISPLAY_TYPE_NAME = 'name';\nexports.PERSON_DISPLAY_TYPE_BOTH = 'both';\nexports.PERSON_DISPLAY_TYPE_ENUMS = [\n\texports.PERSON_DISPLAY_TYPE_AVATAR,\n\texports.PERSON_DISPLAY_TYPE_NAME,\n\texports.PERSON_DISPLAY_TYPE_BOTH,\n];\nexports.PERSON_DISPLAY_TYPE_DEFAULT = exports.PERSON_DISPLAY_TYPE_BOTH;\n","exports.DEFAULT_PILL_SIZE = 'sm';\nexports.MAX_PILL_LIMIT_DEFAULT = 3;\nexports.MAX_MAX_PILL_LIMIT = 10;\n","/** @type {string} */\nexports.EMPTY_CELL_VALUE = '';\nexports.MAX_CHARACTERS_DEFAULT = 4000;\nexports.HIGHLIGHTED_VALUE = 'highlightedValue';\nexports.PRESERVE_WHITESPACE_SYS_PROP = 'glide.lists.preserve_whitespace';\n\n// classnames\nexports.SPECIAL_COLUMN_CELL = 'special-column-cell';\nexports.SPECIAL_COLUMN_CELL_CONTENT = 'special-column-cell-content';\nexports.DATA_COLUMN_CLASS = 'data-column';\nexports.ROW_CELL_CLASS = 'row-cell';\nexports.CELL_CONTENT_CLASS = 'cell-content';\n\nexports.RECENTLY_UPDATED_ROWS_ICON_NAME = 'new-outline';\nexports.RECENTLY_UPDATED_ROWS_ICON_SIZE = 'sm';\n","exports.TEXT_ALIGNMENT_DEFAULT = 'default';\nexports.TEXT_ALIGNMENT_CENTER = 'center';\nexports.TEXT_ALIGNMENT_INVERSE = 'inverse';\n\nexports.TEXT_ALIGNMENT_ENUMS = [\n\texports.TEXT_ALIGNMENT_DEFAULT,\n\texports.TEXT_ALIGNMENT_CENTER,\n\texports.TEXT_ALIGNMENT_INVERSE,\n];\n\nexports.ALIGNMENT_CLASS_PREFIX = 'text-align-';\n\nexports.RELATIVE_TO_TEXT_ALIGNMENT_START = 'textStart';\nexports.RELATIVE_TO_TEXT_ALIGNMENT_END = 'textEnd';\nexports.RELATIVE_TO_TEXT_ALIGNMENT_ENUMS = [\n\texports.RELATIVE_TO_TEXT_ALIGNMENT_START,\n\texports.RELATIVE_TO_TEXT_ALIGNMENT_END,\n];\n","const {\n\tTEXT_ALIGNMENT_DEFAULT,\n\tTEXT_ALIGNMENT_ENUMS,\n} = require('./alignmentTypes/alignmentTypes');\nconst {\n\tCOLUMN_TYPES_ENUMS,\n\tSPECIAL_TYPE_ACTIONS,\n\tSPECIAL_TYPE_SELECTION,\n\tTYPE_STRING,\n\tSPECIAL_TYPE_ROW_DRAG_HANDLE,\n\tSPECIAL_TYPE_GROUP_TOGGLE,\n\tSPECIAL_TYPE_GROUP_BADGE,\n\tSPECIAL_TYPE_PARENT_TOGGLE,\n\tSPECIAL_TYPE_PARENT_BADGE,\n} = require('./columnTypes/columnTypes');\nconst {\n\tnumberTypeProperties,\n\tpercentCompleteTypeProperties,\n\tdateTimeTypeProperties,\n\turlTypeProperties,\n\tpillsTypeProperties,\n\tpersonTypeProperties,\n\tcurrencyTypeProperties,\n\tcustomTypeProperties,\n\theaderIconProperties,\n\tchoiceTypeProperties,\n} = require('./columnTypes/typeSpecificSchemas');\nconst { galleryConfigSchema } = require('./galleryConfig/galleryConfig');\nconst { SORT_ENUMS, SORT_NONE } = require('./sortTypes/sortTypes');\n\nmodule.exports = {\n\tcolumnDefinitionsSchema: {\n\t\ttype: 'object',\n\t\tproperties: {\n\t\t\tcolumnHeaderTextTooltip: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t\tcolumnFilteringInfo: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcolumnFilterCustomValueEditorEmittedActions: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t},\n\t\t\tcolumns: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tkey: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tpattern: `^(?:(?!:${SPECIAL_TYPE_ACTIONS} | ${SPECIAL_TYPE_SELECTION} | ${SPECIAL_TYPE_ROW_DRAG_HANDLE} | ${SPECIAL_TYPE_GROUP_TOGGLE} | ${SPECIAL_TYPE_GROUP_BADGE} | ${SPECIAL_TYPE_PARENT_TOGGLE} | ${SPECIAL_TYPE_PARENT_BADGE}).)*$`, // disallows configuring a column with unique special keys\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttype: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tenum: COLUMN_TYPES_ENUMS,\n\t\t\t\t\t\t\tdefault: TYPE_STRING,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t},\n\t\t\t\t\t\talignment: {\n\t\t\t\t\t\t\tenum: TEXT_ALIGNMENT_ENUMS,\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: TEXT_ALIGNMENT_DEFAULT,\n\t\t\t\t\t\t},\n\t\t\t\t\t\theaderCellAlignment: {\n\t\t\t\t\t\t\tenum: TEXT_ALIGNMENT_ENUMS,\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: TEXT_ALIGNMENT_DEFAULT,\n\t\t\t\t\t\t},\n\t\t\t\t\t\theaderTextDisabled: {\n\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\t},\n\t\t\t\t\t\trenderAsLink: {\n\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcellEditingDisabled: {\n\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\t},\n\t\t\t\t\t\twidth: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tpattern: '\\\\d+(px|%)?',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmaxCharacters: {\n\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t\tdefault: 4000,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsortDirection: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: SORT_NONE,\n\t\t\t\t\t\t\tenum: SORT_ENUMS,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfirstDayOfWeek: {\n\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t\tdefault: 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t\ticons: {\n\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\tstartIcons: {\n\t\t\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\t\t\tproperties: headerIconProperties,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tmaxItems: 3,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tendIcons: {\n\t\t\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\t\t\tproperties: headerIconProperties,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tmaxItems: 3,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcolumnFilterConfig: {\n\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\tcustomTopText: {\n\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\toperators: {\n\t\t\t\t\t\t\t\t\ttype: ['array', null],\n\t\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\t\tid: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\trequiresValue: {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: true,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tselectedOperator: {\n\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\t\t\ttype: [\n\t\t\t\t\t\t\t\t\t\t'string',\n\t\t\t\t\t\t\t\t\t\t'number',\n\t\t\t\t\t\t\t\t\t\t'boolean',\n\t\t\t\t\t\t\t\t\t\t'array',\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tvalueEditorCustomComponentTag: {\n\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tvalueEditorCustomComponentDefaultProps: {\n\t\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\t\tpatternProperties: {\n\t\t\t\t\t\t\t\t\t\t'[\\\\w\\\\W]*': {\n\t\t\t\t\t\t\t\t\t\t\ttype: [\n\t\t\t\t\t\t\t\t\t\t\t\t'number',\n\t\t\t\t\t\t\t\t\t\t\t\t'string',\n\t\t\t\t\t\t\t\t\t\t\t\t'boolean',\n\t\t\t\t\t\t\t\t\t\t\t\t'object',\n\t\t\t\t\t\t\t\t\t\t\t\t'array',\n\t\t\t\t\t\t\t\t\t\t\t\t'null',\n\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\toneOf: [\n\t\t\t\t\t\t\t// parent columns cannot have column header actions or cell actions\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'Parent Column',\n\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\tchildren: {\n\t\t\t\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'Leaf Column',\n\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\tcolumnHeaderActions: {\n\t\t\t\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\t\t\t\tdefault: [],\n\t\t\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\t\t\tid: {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\trequired: ['id', 'label', 'action'],\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tcellActions: {\n\t\t\t\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\t\t\t\tdefault: [],\n\t\t\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\t\t\tid: {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\trequired: ['id', 'label', 'action'],\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t...numberTypeProperties,\n\t\t\t\t\t\t...percentCompleteTypeProperties,\n\t\t\t\t\t\t...dateTimeTypeProperties,\n\t\t\t\t\t\t...urlTypeProperties,\n\t\t\t\t\t\t...personTypeProperties,\n\t\t\t\t\t\t...pillsTypeProperties,\n\t\t\t\t\t\t...currencyTypeProperties,\n\t\t\t\t\t\t...customTypeProperties,\n\t\t\t\t\t\t...choiceTypeProperties,\n\t\t\t\t\t},\n\t\t\t\t\trequired: ['key'],\n\t\t\t\t},\n\t\t\t},\n\t\t\tgalleryConfig: galleryConfigSchema,\n\t\t\trequired: ['columns'],\n\t\t},\n\t},\n};\n","exports.TYPE_BOOLEAN = 'boolean';\nexports.TYPE_CHOICE = 'choice';\nexports.TYPE_CURRENCY = 'currency';\nexports.TYPE_CUSTOM = 'custom';\nexports.TYPE_DATE_TIME = 'dateTime';\nexports.TYPE_ICON = 'icon';\nexports.TYPE_LINK = 'link';\nexports.TYPE_NUMBER = 'number';\nexports.TYPE_PERCENT_COMPLETE = 'percent_complete';\nexports.TYPE_PERSON = 'person';\nexports.TYPE_PILLS = 'pills';\nexports.TYPE_STRING = 'string';\nexports.TYPE_URL = 'url';\nexports.TYPE_HTML = 'html';\nexports.TYPE_IMAGE = 'image';\n\nexports.COLUMN_TYPES_ENUMS = [\n\texports.TYPE_STRING,\n\texports.TYPE_NUMBER,\n\texports.TYPE_BOOLEAN,\n\texports.TYPE_DATE_TIME,\n\texports.TYPE_LINK,\n\texports.TYPE_URL,\n\texports.TYPE_ICON,\n\texports.TYPE_PERSON,\n\texports.TYPE_PILLS,\n\texports.TYPE_CURRENCY,\n\texports.TYPE_CUSTOM,\n\texports.TYPE_CHOICE,\n\texports.TYPE_PERCENT_COMPLETE,\n\texports.TYPE_HTML,\n\texports.TYPE_IMAGE,\n];\n\n// the below column types are unique and are configured differently from data columns\n// there can only be one per list of each\nexports.SPECIAL_TYPE_ROW_DRAG_HANDLE = 'rowDrag';\nexports.SPECIAL_TYPE_GROUP_TOGGLE = 'groupToggle';\nexports.SPECIAL_TYPE_GROUP_BADGE = 'groupBadge';\nexports.SPECIAL_TYPE_ACTIONS = 'rowActions';\nexports.SPECIAL_TYPE_SELECTION = 'selection';\nexports.SPECIAL_TYPE_PARENT_BADGE = 'parentBadge';\nexports.SPECIAL_TYPE_PARENT_TOGGLE = 'parentToggle';\n","const {\n\tCURRENCY_DEFAULT,\n\tCURRENCY_LOCALE_DEFAULT,\n} = require('../../../shared/views/fields/currency/currencyConstants');\nconst {\n\tTIME_AGO_DISPLAY_ENUMS,\n\tTIME_AGO_DISPLAY_NONE,\n} = require('../../../shared/views/fields/dateTime/constants');\nconst {\n\tDECIMAL_PLACES_DEFAULT,\n\tNUMBER_FORMAT_ENUMS,\n\tNUMBER_FORMAT_INTEGER,\n\tNUMBER_DEFAULT_LOCALE,\n} = require('../../../shared/views/fields/number/constants');\nconst {\n\tOPENS_IN_NEW_DEFAULT,\n} = require('../../../shared/views/fields/url/urlConstants');\nconst {\n\tPERSON_DISPLAY_TYPE_DEFAULT,\n\tPERSON_DISPLAY_TYPE_ENUMS,\n} = require('../../../shared/views/table/tableBody/tableRow/rowCell/personCellType/personCellConstants');\nconst {\n\tMAX_PILL_LIMIT_DEFAULT,\n\tMAX_MAX_PILL_LIMIT,\n} = require('../../../shared/views/table/tableBody/tableRow/rowCell/pillsCellType/pillsCellConstants.js');\n\nexports.numberTypeProperties = {\n\tnumberFormat: {\n\t\ttype: 'string',\n\t\tenum: NUMBER_FORMAT_ENUMS,\n\t\tdefault: NUMBER_FORMAT_INTEGER,\n\t},\n\tdecimalPlaces: {\n\t\ttype: 'number',\n\t\tdefault: DECIMAL_PLACES_DEFAULT,\n\t},\n\tlocale: {\n\t\ttype: 'string',\n\t\tdefault: NUMBER_DEFAULT_LOCALE,\n\t},\n};\n\nexports.percentCompleteTypeProperties = {\n\tthresholdColors: {\n\t\ttype: 'string',\n\t},\n};\n\nexports.dateTimeTypeProperties = {\n\tdateTimeFormat: {\n\t\ttype: 'string',\n\t\tpattern: '^((?!Y|D|A|Z|X).)*$', // date-fns-tz doesn't allow the use of these capital letters like moment – reference the format docs specified in the readme docs.\n\t},\n\ttimeZone: {\n\t\ttype: 'string',\n\t\tpattern:\n\t\t\t// disallow everything but letters and _, forward slash in the middle\n\t\t\t'[^0-9!@#$%^&*()+\\\\-=\\\\[\\\\]{};\\':\"\\\\\\\\|,.<>\\\\?\\\\s\\\\n]/[^0-9!@#$%^&*()+\\\\-=\\\\[\\\\]{};\\':\"\\\\\\\\|,.<>\\\\?\\\\s\\\\n]',\n\t},\n\ttimeAgoDisplay: {\n\t\tenum: TIME_AGO_DISPLAY_ENUMS,\n\t\ttype: 'string',\n\t\tdefault: TIME_AGO_DISPLAY_NONE,\n\t},\n};\n\nexports.actionableLinkTypeProperties = {\n\tdisabled: {\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t},\n};\n\nexports.urlTypeProperties = {\n\topensInNew: {\n\t\ttype: 'boolean',\n\t\tdefault: OPENS_IN_NEW_DEFAULT,\n\t},\n\tdisabled: {\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t},\n};\n\nexports.pillsTypeProperties = {\n\tmaxPillLimit: {\n\t\ttype: 'number',\n\t\tdefault: MAX_PILL_LIMIT_DEFAULT,\n\t\tmaximum: MAX_MAX_PILL_LIMIT,\n\t},\n\tpillsChoices: {\n\t\ttype: 'array',\n\t\titems: {\n\t\t\ttype: 'object',\n\t\t\tproperties: {\n\t\t\t\tkey: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\tlabel: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\tcanEdit: {\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\tdefault: true,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n};\n\nexports.choiceTypeProperties = {\n\tchoices: {\n\t\ttype: 'array',\n\t\titems: {\n\t\t\ttype: 'object',\n\t\t\tproperties: {\n\t\t\t\tkey: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\tlabel: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tdefaultChoiceKey: {\n\t\ttype: 'string',\n\t},\n};\n\nexports.personTypeProperties = {\n\tdisplay: {\n\t\tenum: PERSON_DISPLAY_TYPE_ENUMS,\n\t\ttype: 'string',\n\t\tdefault: PERSON_DISPLAY_TYPE_DEFAULT,\n\t},\n\tdisabled: {\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t},\n};\n\nexports.currencyTypeProperties = {\n\tcurrency: {\n\t\ttype: 'string',\n\t\tdefault: CURRENCY_DEFAULT,\n\t},\n\tlocale: {\n\t\ttype: 'string',\n\t\tdefault: CURRENCY_LOCALE_DEFAULT,\n\t},\n};\n\nexports.customTypeProperties = {\n\tcomponentTag: {\n\t\ttype: 'string',\n\t},\n\tplaceholderDimensions: {\n\t\ttype: 'object',\n\t\tproperties: {\n\t\t\twidth: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\theight: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t},\n\tcellContentDimensions: {\n\t\ttype: 'object',\n\t\tproperties: {\n\t\t\twidth: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\theight: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t},\n\tdefaultComponentProps: {\n\t\ttype: 'object',\n\t\tpatternProperties: {\n\t\t\t'[\\\\w\\\\W]*': {\n\t\t\t\ttype: [\n\t\t\t\t\t'number',\n\t\t\t\t\t'string',\n\t\t\t\t\t'boolean',\n\t\t\t\t\t'object',\n\t\t\t\t\t'array',\n\t\t\t\t\t'null',\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n};\n\nexports.headerIconProperties = {\n\tvalue: {\n\t\ttype: 'string',\n\t},\n\tcolor: {\n\t\ttype: 'string',\n\t},\n\tlabel: {\n\t\ttype: 'string',\n\t},\n};\n","// TODO: Add details for schema to the docs in story STRY59778130\nmodule.exports = {\n\tgalleryConfigSchema: {\n\t\ttype: 'object',\n\t\tproperties: {\n\t\t\tfields: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\theading: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tcolumn: { type: 'string' },\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\tproperties: {},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\trequired: ['column'],\n\t\t\t\t\t},\n\t\t\t\t\ttagline: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tcolumn: { type: 'string' },\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\tproperties: {},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\trequired: ['column'],\n\t\t\t\t\t},\n\t\t\t\t\tmetadata: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tcolumn: { type: 'string' },\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\tproperties: {},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\trequired: ['column'],\n\t\t\t\t\t},\n\t\t\t\t\tbodyText: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tcolumn: { type: 'string' },\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\tproperties: {},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\trequired: ['column'],\n\t\t\t\t\t},\n\t\t\t\t\tsupplementaryFields: {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\tcolumn: { type: 'string' },\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\t\tproperties: {},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\trequired: ['column'],\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: [],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: [\n\t\t\t\t\t'heading',\n\t\t\t\t\t'tagline',\n\t\t\t\t\t'metadata',\n\t\t\t\t\t'bodyText',\n\t\t\t\t\t'supplementaryFields',\n\t\t\t\t],\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tshowLabel: { type: 'boolean' },\n\t\t\t\t\tfullWidth: { type: 'boolean' },\n\t\t\t\t\tenableOnlySingleSelection: { type: 'boolean' },\n\t\t\t\t\tgalleryItemTooltip: { type: 'string' },\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\trequired: ['fields'],\n\t},\n};\n","exports.SORT_NONE = 'none';\nexports.SORT_ASCENDING = 'ascending';\nexports.SORT_DESCENDING = 'descending';\n\nexports.SORT_ENUMS = [\n\texports.SORT_NONE,\n\texports.SORT_ASCENDING,\n\texports.SORT_DESCENDING,\n];\n","/* this file contains constants to configure the builtin overlays for when the list is unconfigured or empty */\nimport { t } from 'sn-translate';\n\nconst {\n\tOVERLAY_TYPE_MESSAGE,\n\tOVERLAY_DEFAULT_HEADING_LEVEL,\n} = require('./overlayConfigConsts');\n\n// overlay config for when rowDefinitions or rows is undefined (empty)\nconst OVERLAY_NO_ROWS_ILLUSTRATION = 'no-data';\nconst OVERLAY_NO_ROWS_HEADING_LABEL = t('No data to display.');\n\n/** @constant\n    @type {OverlayDefinition}\n*/\nexport const OVERLAY_NO_ROWS_CONFIG = {\n\tshowColumnHeaders: true,\n\ttype: OVERLAY_TYPE_MESSAGE,\n\tmessageConfig: {\n\t\tillustration: OVERLAY_NO_ROWS_ILLUSTRATION,\n\t\theading: {\n\t\t\tlevel: OVERLAY_DEFAULT_HEADING_LEVEL,\n\t\t\tlabel: OVERLAY_NO_ROWS_HEADING_LABEL,\n\t\t},\n\t},\n};\n\n// overlay config for when duplicate row keys are found\nconst OVERLAY_DUPLICATE_ROW_KEYS_ILLUSTRATION = 'no-data';\nconst OVERLAY_DUPLICATE_ROW_KEYS_LABEL = t('Invalid row data.');\nconst OVERLAY_DUPLICATE_ROW_KEYS_CONTENT = t('Duplicate row keys found.');\n/** @constant\n    @type {OverlayDefinition}\n*/\nexport const OVERLAY_DUPLICATE_ROW_KEYS_CONFIG = {\n\tshowColumnHeaders: true,\n\ttype: OVERLAY_TYPE_MESSAGE,\n\tmessageConfig: {\n\t\tillustration: OVERLAY_DUPLICATE_ROW_KEYS_ILLUSTRATION,\n\t\theading: {\n\t\t\tlevel: OVERLAY_DEFAULT_HEADING_LEVEL,\n\t\t\tlabel: OVERLAY_DUPLICATE_ROW_KEYS_LABEL,\n\t\t},\n\t\tcontent: OVERLAY_DUPLICATE_ROW_KEYS_CONTENT,\n\t},\n};\n\n// overlay config for when columnsDefinitions or columns is undefined (unconfig error)\nconst OVERLAY_NO_COLS_ILLUSTRATION = 'unconfigured';\nconst OVERLAY_NO_COLS_HEADING_LABEL = t(\n\t'One or more property values are invalid.'\n);\nconst OVERLAY_NO_COLS_CONTENT = t('Please check the column configuration.');\n/** @constant\n    @type {OverlayDefinition}\n*/\nexport const OVERLAY_NO_COLS_CONFIG = {\n\tshowColumnHeaders: false,\n\ttype: OVERLAY_TYPE_MESSAGE,\n\tmessageConfig: {\n\t\tillustration: OVERLAY_NO_COLS_ILLUSTRATION,\n\t\theading: {\n\t\t\tlevel: OVERLAY_DEFAULT_HEADING_LEVEL,\n\t\t\tlabel: OVERLAY_NO_COLS_HEADING_LABEL,\n\t\t},\n\t\tcontent: OVERLAY_NO_COLS_CONTENT,\n\t},\n};\n","const OVERLAY_SHOW_COLUMN_HEADERS_DEFAULT = false;\n\n/** @const {OverlayType} */\nconst OVERLAY_TYPE_MESSAGE = 'message';\n/** @const {OverlayType} */\nconst OVERLAY_TYPE_LOADER = 'loader';\n/** @const {OverlayType} */\nconst OVERLAY_TYPE_SKELETON_LOADER = 'skeletonLoader';\n/** @const {OverlayType} */\nconst OVERLAY_TYPE_CUSTOM = 'custom';\n\nconst OVERLAY_TYPE_ENUMS = [\n\tOVERLAY_TYPE_MESSAGE,\n\tOVERLAY_TYPE_LOADER,\n\tOVERLAY_TYPE_SKELETON_LOADER,\n\tOVERLAY_TYPE_CUSTOM,\n];\nconst OVERLAY_TYPE_DEFAULT = OVERLAY_TYPE_MESSAGE;\n\nconst OVERLAY_DEFAULT_HEADING_LEVEL = 5;\n\nconst OVERLAY_ILLUSTRATION_ENUMS = [\n\t'add-attachment',\n\t'add-data',\n\t'completed-tasks',\n\t'error',\n\t'first-time-user',\n\t'interrupted',\n\t'no-activities',\n\t'no-data',\n\t'no-search-results',\n\t'offline',\n\t'permissions',\n\t'unconfigured',\n];\n\nconst OVERLAY_LOADER_SIZES_ENUMS = ['md', 'lg'];\n\nconst OVERLAY_SKELETON_LOADER_DEFAULT_NUM_COLUMNS = 6; // set by designers\nconst OVERLAY_SKELETON_LOADER_NUM_ROWS = 25; // magic number that will probably fill the space\n\nmodule.exports = {\n\tOVERLAY_DEFAULT_HEADING_LEVEL,\n\tOVERLAY_ILLUSTRATION_ENUMS,\n\tOVERLAY_LOADER_SIZES_ENUMS,\n\tOVERLAY_SHOW_COLUMN_HEADERS_DEFAULT,\n\tOVERLAY_SKELETON_LOADER_DEFAULT_NUM_COLUMNS,\n\tOVERLAY_SKELETON_LOADER_NUM_ROWS,\n\tOVERLAY_TYPE_CUSTOM,\n\tOVERLAY_TYPE_DEFAULT,\n\tOVERLAY_TYPE_ENUMS,\n\tOVERLAY_TYPE_LOADER,\n\tOVERLAY_TYPE_MESSAGE,\n\tOVERLAY_TYPE_SKELETON_LOADER,\n};\n","const {\n\tOVERLAY_DEFAULT_HEADING_LEVEL,\n\tOVERLAY_ILLUSTRATION_ENUMS,\n\tOVERLAY_LOADER_SIZES_ENUMS,\n\tOVERLAY_SHOW_COLUMN_HEADERS_DEFAULT,\n\tOVERLAY_SKELETON_LOADER_DEFAULT_NUM_COLUMNS,\n\tOVERLAY_TYPE_CUSTOM,\n\tOVERLAY_TYPE_LOADER,\n\tOVERLAY_TYPE_MESSAGE,\n\tOVERLAY_TYPE_SKELETON_LOADER,\n} = require('./overlayConfigConsts');\n\nconst commonProperties = {\n\tshowColumnHeaders: {\n\t\ttype: 'boolean',\n\t\tdefault: OVERLAY_SHOW_COLUMN_HEADERS_DEFAULT,\n\t},\n};\n\nmodule.exports = {\n\toverlayDefinitionSchema: {\n\t\ttype: 'object',\n\t\toneOf: [\n\t\t\t{\n\t\t\t\tname: 'Message',\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\ttype: {\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tenum: [OVERLAY_TYPE_MESSAGE],\n\t\t\t\t\t},\n\t\t\t\t\t...commonProperties,\n\t\t\t\t\tmessageConfig: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t// schema sourced from now-template-message-empty-state\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tactions: {\n\t\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\tlabel: { type: 'string' },\n\t\t\t\t\t\t\t\t\t\ticon: { type: 'string' },\n\t\t\t\t\t\t\t\t\t\tvariant: { type: 'string' },\n\t\t\t\t\t\t\t\t\t\tdisabled: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\ttooltipContent: { type: 'string' },\n\t\t\t\t\t\t\t\t\t\tclickActionType: { type: 'string' },\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\theading: {\n\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\tlabel: { type: 'string' },\n\t\t\t\t\t\t\t\t\tlevel: {\n\t\t\t\t\t\t\t\t\t\tdefault: OVERLAY_DEFAULT_HEADING_LEVEL,\n\t\t\t\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t\t\t\t\tenum: [1, 2, 3, 4, 5, 6],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tillustration: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tenum: OVERLAY_ILLUSTRATION_ENUMS,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: ['type'],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Loader',\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\ttype: {\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tenum: [OVERLAY_TYPE_LOADER],\n\t\t\t\t\t},\n\t\t\t\t\tloaderConfig: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t// schema sourced from now-loader\n\t\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tsize: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tenum: OVERLAY_LOADER_SIZES_ENUMS,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t...commonProperties,\n\t\t\t\t},\n\t\t\t\trequired: ['type'],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Skeleton loader',\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\ttype: {\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tenum: [OVERLAY_TYPE_SKELETON_LOADER],\n\t\t\t\t\t},\n\t\t\t\t\tskeletonLoaderConfig: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tnumColumns: {\n\t\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t\t\tdefault: OVERLAY_SKELETON_LOADER_DEFAULT_NUM_COLUMNS,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t...commonProperties,\n\t\t\t\t},\n\t\t\t\trequired: ['type'],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Custom',\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\ttype: {\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tenum: [OVERLAY_TYPE_CUSTOM],\n\t\t\t\t\t},\n\t\t\t\t\tcustomConfig: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tcomponentTag: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdefaultComponentProps: {\n\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcustomOverlayEmittedActions: {\n\t\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t...commonProperties,\n\t\t\t\t},\n\t\t\t\trequired: ['type'],\n\t\t\t},\n\t\t],\n\t},\n};\n","// schemas sourced from now-dropdown https://code.devsnc.com/dev/design-system/tree/dev/components/dropdown/src/typedefs\nconst DROPDOWN_ITEM_SCHEMA = {\n\ttype: 'object',\n\tproperties: {\n\t\tid: { type: ['string', 'number'] },\n\t\tlabel: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tsublabel: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcount: { type: 'number' },\n\t\ticon: { type: 'string' },\n\t\tpresence: {\n\t\t\ttype: 'string',\n\t\t\tenum: ['available', 'away', 'busy', 'offline'],\n\t\t},\n\t\tdisabled: { type: 'boolean' },\n\t},\n};\n\nconst DROPDOWN_SECTION_SCHEMA = {\n\ttype: 'object',\n\tproperties: {\n\t\tid: { type: ['string', 'number'] },\n\t\tlabel: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tchildren: {\n\t\t\ttype: 'array',\n\t\t\titems: DROPDOWN_ITEM_SCHEMA,\n\t\t},\n\t},\n};\n\nmodule.exports = {\n\tpopoverDefinitionSchema: {\n\t\ttype: 'object',\n\t\tproperties: {\n\t\t\ttarget: {\n\t\t\t\toneOf: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Column Header Cell',\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tcolumnRowIndex: { type: 'number', default: 1 },\n\t\t\t\t\t\t\tcolumnCellIndex: { type: 'number', default: 1 },\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Row Cell',\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\trowIndex: { type: 'number', default: 1 },\n\t\t\t\t\t\t\tcellIndex: { type: 'number', default: 1 },\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\tconfig: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tpositions: {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\ttarget: {\n\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tdismissOnScroll: {\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t},\n\t\t\t\t\tdisableScroll: {\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t},\n\t\t\t\t\tdismissable: {\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tcontent: {\n\t\t\t\toneOf: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Text + Buttons',\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tpopoverType: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttext: { type: 'string' },\n\t\t\t\t\t\t\tbuttons: {\n\t\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\ticon: {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tariaLabel: {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\ttooltipContent: {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tsize: {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tvariant: {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Action Dropdown',\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tpopoverType: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tactions: {\n\t\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\toneOf: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tname: 'Dropdown section',\n\t\t\t\t\t\t\t\t\t\t\t...DROPDOWN_SECTION_SCHEMA,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tname: 'Dropdown item',\n\t\t\t\t\t\t\t\t\t\t\t...DROPDOWN_ITEM_SCHEMA,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\trequired: ['label', 'actions'],\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Custom Type',\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tpopoverType: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcomponentTag: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdefaultComponentProps: {\n\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\trequired: ['componentTag'],\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Cell Edit Type',\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tpopoverType: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\thighlightedMessage: {\n\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\tshowIcon: {\n\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ticon: {\n\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tvariant: {\n\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcomponentTag: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbuttonsConfig: {\n\t\t\t\t\t\t\t\tshowRetry: {\n\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdisableApply: {\n\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\thideAll: {\n\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tisLoading: {\n\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdefaultComponentProps: {\n\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\trequired: ['popoverType', 'defaultComponentProps'],\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Choice Column Filter Type',\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tpopoverType: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\trequired: ['popoverType'],\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n};\n","exports.ROW_ALIGNMENT_DEFAULT = 'default';\nexports.ROW_ALIGNMENT_CENTER = 'center';\nexports.ROW_ALIGNMENT_INVERSE = 'inverse';\nexports.ROW_ALIGNMENT_ENUMS = [\n\texports.ROW_ALIGNMENT_DEFAULT,\n\texports.ROW_ALIGNMENT_CENTER,\n\texports.ROW_ALIGNMENT_INVERSE,\n];\n","exports.POSITION_TABLE_START = 'start';\nexports.POSITION_TABLE_END = 'end';\nexports.POSITION_ENUMS = [\n\texports.POSITION_TABLE_START,\n\texports.POSITION_TABLE_END,\n];\nexports.DEFAULT_ROW_ACTION_NUM_ICONS = 4;\nexports.DEFAULT_ROW_ACTION_ICON = 'magic-outline';\n","const {\n\tACTIONABLE_MESSAGE_STATUS_ENUMS,\n\tACTIONABLE_MESSAGE_STATUS_DEFAULT,\n} = require('../../shared/views/actionableMessage/constants');\nconst {\n\tICON_CELL_COLOR_DEFAULT,\n\tICON_CELL_COLORS_ENUMS,\n} = require('../../shared/views/fields/icon/iconConstants');\nconst {\n\tEMPTY_CELL_VALUE,\n} = require('../../shared/views/table/tableBody/tableRow/rowCell/rowCellConstants');\n\nconst { ROW_ALIGNMENT_ENUMS } = require('./rowAlignments/rowAlignment');\nconst {\n\tDEFAULT_ROW_ACTION_ICON,\n\tDEFAULT_ROW_ACTION_NUM_ICONS,\n\tPOSITION_ENUMS,\n\tPOSITION_TABLE_START,\n} = require('./rowConfigConsts');\nconst { ROW_TYPE_ENUMS } = require('./rowTypes/rowTypes');\n\nconst DEFAULT_ROW_SCHEMA = {\n\ttype: {\n\t\ttype: 'string',\n\t\tenum: ROW_TYPE_ENUMS,\n\t},\n\tkey: {\n\t\ttype: 'string',\n\t},\n\texcludedActions: {\n\t\ttype: 'array',\n\t\titems: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tdefault: [],\n\t},\n\t/**\n\t * @deprecated This property is deprecated and may be removed in a future release. Use excludedActions instead.\n\t */\n\tdisableActions: {\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t},\n\tselectionDisabled: {\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t},\n\tisSelected: {\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t},\n\tcells: {\n\t\ttype: 'object',\n\t\tpatternProperties: {\n\t\t\t'[\\\\w\\\\W]*': {\n\t\t\t\tactions: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\titems: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tid: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\trequired: ['id', 'label', 'action'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlabel: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tdefault: EMPTY_CELL_VALUE,\n\t\t\t\t},\n\t\t\t\teditingDisabled: {\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\tdefault: false,\n\t\t\t\t},\n\t\t\t\tdisabled: {\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\tdefault: false,\n\t\t\t\t},\n\t\t\t\timageSrc: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\tkey: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\tcolor: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tdefault: ICON_CELL_COLOR_DEFAULT,\n\t\t\t\t\tenum: ICON_CELL_COLORS_ENUMS,\n\t\t\t\t},\n\t\t\t\tvalue: {\n\t\t\t\t\ttype: ['string', 'number', 'boolean', 'array'],\n\t\t\t\t\tdefault: EMPTY_CELL_VALUE,\n\t\t\t\t},\n\t\t\t\thighlightedValue: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tvalue: 'string',\n\t\t\t\t\t\tvariant: 'string',\n\t\t\t\t\t\tcolor: 'string',\n\t\t\t\t\t\tshowIcon: 'boolean',\n\t\t\t\t\t\ticonName: 'string',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmetadata: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t},\n\t\t\t\thref: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tmetadata: {\n\t\ttype: 'object',\n\t},\n};\n\nconst GROUPED_ROW_SCHEMA = {\n\tgroupedRowLabel: {\n\t\ttype: 'string',\n\t},\n\tgroupActions: {\n\t\ttype: 'array',\n\t\tdefault: [],\n\t\titems: {\n\t\t\ttype: 'object',\n\t\t\tproperties: {\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\tlabel: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\taction: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\tgroupRowHref: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t},\n\t\t\trequired: ['id', 'label', 'action'],\n\t\t},\n\t},\n};\n\nconst CUSTOM_ROW_SCHEMA = {\n\tcomponentTag: {\n\t\ttype: 'string',\n\t},\n\tcomponentProps: {\n\t\ttype: 'object',\n\t\tpatternProperties: {\n\t\t\t'[\\\\w\\\\W]*': {\n\t\t\t\ttype: [\n\t\t\t\t\t'number',\n\t\t\t\t\t'string',\n\t\t\t\t\t'boolean',\n\t\t\t\t\t'object',\n\t\t\t\t\t'array',\n\t\t\t\t\t'null',\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n\tcontentAlignment: {\n\t\ttype: 'string',\n\t\tenum: ROW_ALIGNMENT_ENUMS,\n\t},\n\tplaceholderDimensions: {\n\t\ttype: 'object',\n\t\tproperties: {\n\t\t\twidth: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\theight: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t},\n\trowContentDimensions: {\n\t\ttype: 'object',\n\t\tproperties: {\n\t\t\twidth: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\theight: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t},\n};\n\nconst ACTIONABLE_MESSAGE_SCHEMA = {\n\ttype: 'object',\n\tproperties: {\n\t\tstatus: {\n\t\t\ttype: 'string',\n\t\t\tdefault: ACTIONABLE_MESSAGE_STATUS_DEFAULT,\n\t\t\tenums: ACTIONABLE_MESSAGE_STATUS_ENUMS,\n\t\t\trequired: false,\n\t\t},\n\t\ttext: {\n\t\t\ttype: 'string',\n\t\t\trequired: true,\n\t\t},\n\t\taction: {\n\t\t\ttype: 'object',\n\t\t\tproperties: {\n\t\t\t\taction: 'string',\n\t\t\t\tlabel: 'string',\n\t\t\t\trequired: ['action', 'label'],\n\t\t\t},\n\t\t},\n\t},\n};\n\nmodule.exports = {\n\trowDefinitionsSchema: {\n\t\ttype: 'object',\n\t\tproperties: {\n\t\t\tactions: {\n\t\t\t\ttype: 'object',\n\t\t\t\tposition: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tdefault: POSITION_TABLE_START,\n\t\t\t\t\tenum: POSITION_ENUMS,\n\t\t\t\t},\n\t\t\t\tnumActionIcons: {\n\t\t\t\t\ttype: 'number',\n\t\t\t\t\tdefault: DEFAULT_ROW_ACTION_NUM_ICONS,\n\t\t\t\t},\n\t\t\t\tactionsItems: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\titems: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tid: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ticon: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: DEFAULT_ROW_ACTION_ICON,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\trequired: ['id', 'label', 'action'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\trows: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\t...DEFAULT_ROW_SCHEMA,\n\t\t\t\t\t\t...GROUPED_ROW_SCHEMA,\n\t\t\t\t\t\t...CUSTOM_ROW_SCHEMA,\n\t\t\t\t\t\tisGroupExpanded: {\n\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tgroupedRowCount: {\n\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tvisualTreatment: {\n\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\tisHighlighted: {\n\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tshowUpdatedIcon: {\n\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tisGrayedOut: {\n\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: {\n\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t...DEFAULT_ROW_SCHEMA,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcustomCellEmittedActions: {\n\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\trequired: ['key', 'cells'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tmetadata: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t\trequired: ['rows'],\n\t\t\ttopActionableMessage: ACTIONABLE_MESSAGE_SCHEMA,\n\t\t\tbottomActionableMessage: ACTIONABLE_MESSAGE_SCHEMA,\n\t\t\thighlightedContent: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\tdefault: [],\n\t\t\t},\n\t\t},\n\t},\n};\n","exports.ROW_TYPE_DEFAULT = 'default';\nexports.ROW_TYPE_GROUPED = 'grouped';\nexports.ROW_TYPE_CUSTOM = 'custom';\nexports.ROW_TYPE_ENUMS = [\n\texports.ROW_TYPE_DEFAULT,\n\texports.ROW_TYPE_GROUPED,\n\texports.ROW_TYPE_CUSTOM,\n];\n","import {t} from 'sn-translate';\n\nexport const shouldRenderAriaLabel = (label) => {\n\treturn (\n\t\t!label ||\n\t\t![\n\t\t\tt('Loading'),\n\t\t\tt('Loading...'),\n\t\t\tt('Loading…'),\n\t\t\tt('loading'),\n\t\t\tt('loading...'),\n\t\t\tt('loading…'),\n\t\t].includes(label)\n\t);\n};\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport styles from './_now-loader.scss';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-button';\nimport {t} from 'sn-translate';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {shouldRenderAriaLabel} from './utils/helper';\nimport {actionTypes} from '@servicenow/ui-core';\nconst {\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tARIA_LIVE_REGION_UPDATE_REQUESTED,\n} = actionTypes;\n\nconst renderLabel = (label) => {\n\tif (label) {\n\t\treturn <div className=\"now-loader-label\">{label}</div>;\n\t}\n};\n\nconst renderActionButton = (action, dispatch) => {\n\tif (action) {\n\t\treturn (\n\t\t\t<now-button\n\t\t\t\tclassName=\"now-m-block-start--xl\"\n\t\t\t\tlabel={action}\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\ton-click={() => {\n\t\t\t\t\tdispatch(() => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttype: 'NOW_LOADER#ACTION_CLICKED',\n\t\t\t\t\t\t\tpayload: {action},\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t}\n};\n\nconst view = (state, {dispatch}) => {\n\tconst {label, action, size} = state.properties;\n\n\treturn (\n\t\t<div className=\"now-loader\">\n\t\t\t<now-icon\n\t\t\t\tclassName=\"now-loader-icon\"\n\t\t\t\ticon=\"loader-fill\"\n\t\t\t\tsize={size}\n\t\t\t\tspin\n\t\t\t\tconfig-aria={\n\t\t\t\t\tshouldRenderAriaLabel(label)\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\ticon: {\n\t\t\t\t\t\t\t\t\t'aria-label': t('Loading'),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{renderLabel(label)}\n\t\t\t{renderActionButton(action, dispatch)}\n\t\t</div>\n\t);\n};\n\n/**\n * Loaders are stand-in elements that indicate a loading status to users.\n * Use loaders to facilitate the transition and retrieval of data between states and pages,\n * especially in cases where the timing can be variable.\n *\n * ```jsx\n * <now-loader />\n *\n * <now-loader label=\"Loading\" action=\"Cancel\" />\n * ```\n *\n * @seismicElement now-loader\n * @summary An animated spinner to indicate a loading state.\n * @uib.label Loader\n * @uib.icon loader\n * @uib.description An animated spinner to indicate a loading state\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties size, label, action, announceLabel\n * @uib.actions NOW_LOADER#ACTION_CLICKED\n */\ncreateEnhancedElement('now-loader', {\n\tproperties: {\n\t\t/**\n\t\t * A simple description of the current loading activity.\n\t\t * @type {string}\n\t\t * @uib.description Descriptive text for the loader. If you do not want to display a label, leave this property empty.\n\t\t * @uib.translatable true\n\t\t */\n\t\tlabel: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Sets the loader size, either medium (md) or large (lg).\n\t\t * @type {('md'|'lg')}\n\t\t * @uib.description Size of the loader’s spinner.\n\t\t */\n\t\tsize: {default: 'lg', schema: {type: 'string', enum: ['md', 'lg']}},\n\t\t/**\n\t\t * The name of an action to display inside a simple button, placed under the loading indicator.\n\t\t * @type {string}\n\t\t * @uib.label Action label\n\t\t * @uib.description Label for the action button. If you do not want to add an action button, leave this property empty.\n\t\t * @uib.translatable true\n\t\t */\n\t\taction: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Enable this property to announce the label when the component is rendered.\n\t\t * `ARIA_LIVE_REGION_UPDATE_REQUESTED` action is dispatched with the component label value.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to announce the label when the component is rendered.\n\t\t */\n\t\tannounceLabel: {default: false, schema: {type: 'boolean'}},\n\t},\n\tview,\n\tstyles,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t},\n\t],\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the user clicks on an action button in the loader.\n\t\t * @type {{action: string}}\n\t\t * @uib.label Button clicked\n\t\t * @uib.description Dispatched when the optional button is clicked\n\t\t */\n\t\t'NOW_LOADER#ACTION_CLICKED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\taction: {\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_TREE_READY]: ({properties, dispatch}) => {\n\t\t\tconst {announceLabel, label} = properties;\n\t\t\tif (label && announceLabel) {\n\t\t\t\t// NVDA does not announce the message without setTimeout when the component is rendered\n\t\t\t\tsetTimeout(\n\t\t\t\t\t() =>\n\t\t\t\t\t\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\t\t\t\t\tmessage: label,\n\t\t\t\t\t\t\ttype: 'polite',\n\t\t\t\t\t\t}),\n\t\t\t\t\t50,\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({properties, dispatch, action}) => {\n\t\t\tconst {announceLabel, label} = properties;\n\t\t\tconst {name} = action.payload;\n\t\t\tif (name === 'label' && announceLabel && label) {\n\t\t\t\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\t\t\tmessage: label,\n\t\t\t\t\ttype: 'polite',\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t},\n});\n","import {createCustomElement, actionTypes} from '@servicenow/ui-core';\nimport lottie from 'lottie-web';\nimport themeBehavior from '@servicenow/behavior-theme';\nimport {configAriaLabelSchema} from '@servicenow/library-schemas';\nimport {filterAriaAttributes} from '@servicenow/library-enhanced-utils';\nimport {themeAnimation} from './utils/theme-animation';\n\nimport {effectProxy} from './utils/';\n\nconst {COMPONENT_DOM_READY, COMPONENT_DISCONNECTED} = actionTypes;\nconst NOW_ANIMATION_CUSTOM_PREFIX = '--now-animation-custom-';\n\nconst getAnimationPathFromTokenId = (tokenId, state) => {\n\tconst {\n\t\tbehaviors: {theme},\n\t} = state;\n\tlet path;\n\tif (theme) {\n\t\tObject.keys(theme).forEach((hook) => {\n\t\t\tif (hook == `${NOW_ANIMATION_CUSTOM_PREFIX}${tokenId}`) {\n\t\t\t\tpath = theme[hook];\n\t\t\t}\n\t\t});\n\t\treturn path;\n\t}\n\treturn;\n};\n\nexport const injectAria = (svg, configAriaToUse) => {\n\tif (svg) {\n\t\t// Iterate over the object's properties and set each attribute\n\t\tfor (const [name, value] of Object.entries(configAriaToUse)) {\n\t\t\tsvg.setAttribute(name, value);\n\t\t}\n\t}\n};\n\nconst view = (state, {dispatch}) => {\n\tconst {\n\t\tanimation,\n\t\tproperties: {src, tokenId},\n\t} = state;\n\treturn (\n\t\t<div\n\t\t\tclassName=\"now-animation\"\n\t\t\ton-click={() => {\n\t\t\t\tdispatch('NOW_ANIMATION#CLICKED', {animation, src, tokenId});\n\t\t\t}}\n\t\t\ton-mouseenter={() => {\n\t\t\t\tdispatch('NOW_ANIMATION#MOUSEENTER', {animation, src, tokenId});\n\t\t\t}}\n\t\t\ton-mouseleave={() => {\n\t\t\t\tdispatch('NOW_ANIMATION#MOUSELEAVE', {animation, src, tokenId});\n\t\t\t}}\n\t\t></div>\n\t);\n};\n\n/**\n * The `now-animation` component allows users to display [lottie](https://https://lottiefiles.com/) based animations with the addition of optional theming and/or canvas based web-worker performance optimization support.\n *\n * ### Example Interactive Sparkle Animation Implementation\n * The `interactive-sparkle` animation has specific frame segments to support mouseenter and mouseleave events.\n *\n * <img width=\"1634\" alt=\"guidance\" src=\"https://code.devsnc.com/storage/user/3897/files/7ec42e94-4cbc-4426-8b62-f851dd05823d\">\n *\n * ```jsx\n * <now-animation\n * \tsrc=\"/images/@servicenow/now-animation/interactive-sparkle/index.json\"\n * \t/>\n * //See interactive-sparkle example\n *createCustomElement('sn-interactive-sparkle', {\n *\tview,\n *\tactionHandlers: {\n *\t\t['NOW_ANIMATION#MOUSEENTER']: {\n *\t\t\tstopPropagation: true,\n *\t\t\teffect: ({action: {payload}}) => {\n *\t\t\t\tconst {animation} = payload;\n *\t\t\t\tanimation.playSegments([0, 40], true);\n *\t\t\t},\n *\t\t},\n *\t\t['NOW_ANIMATION#MOUSELEAVE']: {\n *\t\t\tstopPropagation: true,\n *\t\t\teffect: ({action: {payload}}) => {\n *\t\t\t\tconst {animation} = payload;\n *\t\t\t\tanimation.playSegments([50, 90], true);\n *\t\t\t},\n *\t\t},\n *\t},\n * });\n * ```\n * ### Example Inline Sparkle Implementation\n * The `inline-sparkle` animation is intended to be used for page level loading.\n *\n * <img width=\"1434\" alt=\"guidance\" src=\"https://code.devsnc.com/storage/user/3897/files/db9247e6-28d7-4cee-b744-332c243c6a3f\">\n *\n * ```jsx\n *\t<now-animation\n *\t\tsrc=\"/images/@servicenow/now-animation/inline-sparke/index.json\"\n *\t/>\n *\n *\t// Arbitrary example\n *\t// When page loads sparkle is in initial static state (section #1),\n *\n *const INTRO = {segment: [1, 91], complete: false}; // section #2\n *const LOOP = {segment: [92, 203], complete: false}; // section #3\n *const OUTRO = {segment: [204, 274], complete: false}; // section #4\n *let loopCount = 0;\n *\n * //See inline-sparkle example\n *createCustomElement('sn-inline-sparkle', {\n *\tview,\n *\tactionHandlers: {\n *\t\t['NOW_ANIMATION#CLICKED']: {\n *\t\t\tstopPropagation: true,\n *\t\t\teffect: ({action: {payload}}) => {\n *\t\t\t\tconst {animation} = payload;\n *\t\t\t\tanimation.onComplete = () => {\n *\t\t\t\t\tconsole.log('onComplete');\n *\t\t\t\tif (OUTRO.complete) {\n *\t\t\t\t\t\tconsole.log('outro done');\n *\t\t\t\t\t\t// reset for next use\n *\t\t\t\t\t\tdelete animation.onComplete;\n *\t\t\t\t\t\tINTRO.complete = false;\n *\t\t\t\t\t\tOUTRO.complete = false;\n *\t\t\t\t\t\tLOOP.complete = false;\n *\t\t\t\t\t\tloopCount = 0;\n *\t\t\t\t\t} else {\n *\t\t\t\t\t\tconsole.log('start loop');\n *\t\t\t\t\t\tif (loopCount > 1) {\n *\t\t\t\t\t\t\tLOOP.complete = true;\n *\t\t\t\t\t\t\tOUTRO.complete = true;\n *\t\t\t\t\t\t\tanimation.playSegments(OUTRO.segment, true); // lastly the \"complete\" listener will be called\n * \t\t\t\t\t\t} else {\n *\t\t\t\t\t\t\tloopCount++;\n *\t\t\t\t\t\t\tconsole.log('play loop', {loopCount});\n *\t\t\t\t\t\t\tanimation.playSegments(LOOP.segment, true); // will call \"complete\" listener when done, will continue here until LOOP.complete is true\n *\t\t\t\t\t\t}\n *\t\t\t\t\t\t// after content is loaded/processing is complete, application will set LOOP.complete = true;\n *\t\t\t\t\t}\n *\t\t\t\t};\n *\t\t\t\t// event to trigger animation transition to loading (#2),\n *\t\t\t\tanimation.playSegments(INTRO.segment, true); // will trigger \"complete\" listener when done\n *\t\t\t\tanimation.play();\n *\t\t\t},\n *\t\t},\n *\t},\n *});\n * ```\n * @seismicElement now-animation\n * @summary A wrapper component around the lottie-web player to display animations, it add support for web-worker performance enhancements for canvas render mode and theming for the SVG render mode.\n * @uib.label Animation\n * @uib.icon illustration\n * @uib.description An animation component that wraps the lottie player to display animations.\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties tokenId, src, autoplay, loop, configAria\n * @uib.actions NOW_ANIMATION#CLICKED, NOW_ANIMATION#MOUSEENTER, NOW_ANIMATION#MOUSELEAVE, NOW_ANIMATION#CONTENT_VISIBLE, NOW_ANIMATION#FETCH_FAILED\n */\ncreateCustomElement('now-animation', {\n\tproperties: {\n\t\t/**\n\t\t * The tokenId is a unique key suffix to be added to '--now-animation-custom-'.\n\t\t * This will enable dynamic style token creation, used to contain the animation.\n\t\t * Example tokenId=\"my-itsm-workspace-animation\".\n\t\t * The component will look for the deployed style token: \"--now-animation-custom-my-itsm-workspace-animation\"\n\t\t * and read it's value as a JSON.\n\t\t * @type {string}\n\t\t * @uib.description The unique key suffix to be added to '--now-animation-custom-' to enable style design token creation, that will contain the animation JSON.\n\t\t **/\n\t\ttokenId: {\n\t\t\tschema: {\n\t\t\t\tdefault: '',\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Source (path) from where the animation would be displayed.\n\t\t * @type {string}\n\t\t * @uib.label Animation source (path)\n\t\t * @uib.description Source (path) from where the animation would be displayed.\n\t\t */\n\t\tsrc: {required: false, schema: {type: 'string'}},\n\t\t/**\n\t\t * Loop property controls whether the animation should repeat continuously or play only once.\n\t\t * @type {boolean}\n\t\t * @uib.label Loop\n\t\t * @uib.description loop property controls whether the animation should repeat continuously or play only once.\n\t\t */\n\t\tloop: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * It is used to control whether the animation starts playing automatically when it's loaded.\n\t\t * @type {boolean}\n\t\t * @uib.label Autoplay\n\t\t * @uib.description It is used to control whether the animation starts playing automatically when it's loaded.\n\t\t */\n\t\tautoplay: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * now-animation. The value of the key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s. These ARIA\n\t\t * properties are set on the specified element.\n\t\t * The 'animation' key corresponds to the entire container in now-animation.\n\t\t * See https://www.w3.org/TR/wai-aria-1.2/#img\n\t\t * @type {{ animation: {'aria-*': string, role: string }}}\n\t\t * @uib.label ARIA properties\n\t\t * @uib.description Configures ARIA properties.\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tanimation: {...configAriaLabelSchema},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tinitialState: {\n\t\tmethod: 'stop',\n\t\tanimation: null,\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_READY]: {\n\t\t\teffect: async ({state, dispatch}) => {\n\t\t\t\tconst {src, tokenId} = state.properties;\n\n\t\t\t\t//remove the animation instances if they already exist\n\t\t\t\tif (state.animation && Object.keys(state.animation).length !== 0) {\n\t\t\t\t\tstate.animation.destroy();\n\t\t\t\t}\n\n\t\t\t\tlet animationPath = src;\n\t\t\t\tif (tokenId) {\n\t\t\t\t\tconst themedPath = getAnimationPathFromTokenId(tokenId, state);\n\t\t\t\t\tif (themedPath) {\n\t\t\t\t\t\tanimationPath = themedPath;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!animationPath) return;\n\n\t\t\t\tdispatch('FETCH_ANIMATION', {path: animationPath});\n\t\t\t},\n\t\t},\n\t\tFETCH_ANIMATION: effectProxy,\n\t\t['PRIVATE#ANIMATION_FETCH_SUCCEEDED']: {\n\t\t\teffect: async (coeffects) => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {payload: data},\n\t\t\t\t\thost,\n\t\t\t\t\tstate,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tdispatch,\n\t\t\t\t} = coeffects;\n\n\t\t\t\tconst {loop, autoplay, configAria, src, tokenId} = state.properties;\n\t\t\t\tconst getCanvas = host.shadowRoot.querySelector('.now-animation');\n\n\t\t\t\tif (!data) return;\n\n\t\t\t\tconst animation = lottie.loadAnimation({\n\t\t\t\t\tcontainer: getCanvas,\n\t\t\t\t\trenderer: 'svg',\n\t\t\t\t\tloop,\n\t\t\t\t\tautoplay,\n\t\t\t\t\tanimationData: data?.animation ? data.animation : data,\n\t\t\t\t});\n\n\t\t\t\t/*\n\t\t\t\t * Support OS based \"prefers reduced motion\" setting\n\t\t\t\t **/\n\t\t\t\tconst mediaQuery = window.matchMedia(\n\t\t\t\t\t'(prefers-reduced-motion: reduce)',\n\t\t\t\t);\n\t\t\t\tif (mediaQuery.matches) {\n\t\t\t\t\tanimation.setSpeed(0.5);\n\t\t\t\t}\n\n\t\t\t\tconst handleAnimationLoad = () => {\n\t\t\t\t\tconst svg = host.shadowRoot.querySelector('svg');\n\n\t\t\t\t\t//Inject aria attributes\n\t\t\t\t\tconst configAriaToUse = {\n\t\t\t\t\t\t...filterAriaAttributes(configAria, 'animation'),\n\t\t\t\t\t};\n\n\t\t\t\t\tif (svg) injectAria(svg, configAriaToUse);\n\n\t\t\t\t\tif (data?.theme && data.theme?.length > 0) {\n\t\t\t\t\t\tthemeAnimation(data.theme, svg, host);\n\t\t\t\t\t}\n\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpath: 'animation',\n\t\t\t\t\t\tvalue: animation,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: true,\n\t\t\t\t\t});\n\n\t\t\t\t\tdispatch('NOW_ANIMATION#CONTENT_VISIBLE', {animation, src, tokenId});\n\t\t\t\t};\n\n\t\t\t\tanimation.addEventListener('DOMLoaded', handleAnimationLoad, {\n\t\t\t\t\tonce: true,\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\t['PRIVATE#ANIMATION_FETCH_FAILED']: {\n\t\t\teffect: ({action: {payload}, dispatch}) => {\n\t\t\t\tdispatch('NOW_ANIMATION#FETCH_FAILED', {...payload});\n\t\t\t},\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: ({state: {animation}}) => {\n\t\t\tif (!animation) return;\n\t\t\tanimation.destroy();\n\t\t},\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the lottie animation is rendered on the page.\n\t\t * @uib.description Dispatched when the lottie animation is rendered on the page. The payload will include animation, src, and tokenId.\n\t\t * @type {{object}}\n\t\t * Each event will return a reference to the lottie animation instance, the src and tokenId properties, allowing users to interact with the lottie API directly. The src and tokenId properties are included if user needs to distinguish in the use case where a single event handler is shared.\n\t\t * `['NOW_ANIMATION#CLICKED]:({action:{payload}}) => {\n\t\t * \t\tconst {animation} = payload;\n\t\t * \t\tanimation.play();\n\t\t * }`\n\t\t * See [Lottie Usage for animation instance](https://airbnb.io/projects/lottie-web/).\n\t\t */\n\t\t'NOW_ANIMATION#CONTENT_VISIBLE': {default: false, schema: {type: 'object'}},\n\t\t/**\n\t\t * Dispatched when the animation is clicked.\n\t\t * @type {{object}}\n\t\t * @uib.description Dispatched when the animation is clicked. The payload will include animation, src, and tokenId.\n\t\t */\n\t\t'NOW_ANIMATION#CLICKED': {default: false, schema: {type: 'object'}},\n\t\t/**\n\t\t * Dispatched on mouseenter of the animation. The payload will include animation, src, and tokenId.\n\t\t * @type {{object}}\n\t\t * @uib.description Dispatched on mouseenter of the animation\n\t\t */\n\t\t'NOW_ANIMATION#MOUSEENTER': {default: false, schema: {type: 'object'}},\n\t\t/**\n\t\t * Dispatched on mouseleave of the animation.\n\t\t * @type {{object}}\n\t\t * @uib.description Dispatched on mouseleave of the animation. The payload will include animation, src, and tokenId.\n\t\t */\n\t\t'NOW_ANIMATION#MOUSELEAVE': {default: false, schema: {type: 'object'}},\n\t\t/**\n\t\t * Dispatched when the lottie animation fetch fails.\n\t\t * @type {{object}}\n\t\t * @uib.description Dispatched when the lottie animation fetch fails.\n\t\t */\n\t\t'NOW_ANIMATION#FETCH_FAILED': {default: false, schema: {type: 'object'}},\n\t},\n\tview,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: themeBehavior,\n\t\t\toptions: {\n\t\t\t\titems: [`${NOW_ANIMATION_CUSTOM_PREFIX}*`],\n\t\t\t},\n\t\t},\n\t],\n});\n","import {createHttpEffect} from '@servicenow/ui-effect-http';\nexport const rgbToHsv = (rgb) => {\n\tconst parts = rgb.split(',');\n\tlet h, s, v;\n\tlet r = parts[0];\n\tlet g = parts[1];\n\tlet b = parts[2];\n\tr /= 255;\n\tg /= 255;\n\tb /= 255;\n\tconst maxc = Math.max(r, g, b);\n\tconst minc = Math.min(r, g, b);\n\tv = maxc;\n\tif (minc == maxc) {\n\t\treturn `0.0, 0.0, ${v}`;\n\t}\n\ts = (maxc - minc) / maxc;\n\tconst rc = (maxc - r) / (maxc - minc);\n\tconst gc = (maxc - g) / (maxc - minc);\n\tconst bc = (maxc - b) / (maxc - minc);\n\tif (r == maxc) h = 0.0 + bc - gc;\n\telse if (g == maxc) h = 2.0 + rc - bc;\n\telse h = 4.0 + gc - rc;\n\th = (h / 6.0) % 1.0;\n\treturn {\n\t\th: Math.round(h * 360 * 100) / 100,\n\t\ts: Math.round(s * 100 * 100) / 100,\n\t\tv: Math.round(v * 100 * 100) / 100,\n\t};\n};\n\nconst clr = (c1, c2, c3) => Math.round(Math.min(Math.max(c1, c2), c3));\n\nexport const hsvToRgb = (obj) => {\n\tvar hue = obj.h / 60,\n\t\tsat = obj.s / 100,\n\t\tval = obj.v / 100,\n\t\thue2 = Math.floor(hue),\n\t\th = hue - hue2,\n\t\tval1 = val * (1 - sat),\n\t\tval2 = val * (1 - h * sat),\n\t\tval3 = val * (1 - (1 - h) * sat),\n\t\tkey = hue2 % 6,\n\t\tred = [val, val2, val1, val1, val3, val][key],\n\t\tgreen = [val3, val, val, val2, val1, val1][key],\n\t\tblue = [val1, val1, val3, val, val, val2][key];\n\treturn {\n\t\tr: clr(red * 255, 0, 255),\n\t\tg: clr(green * 255, 0, 255),\n\t\tb: clr(blue * 255, 0, 255),\n\t};\n};\n\nexport const effectProxy = (coeffects, proxyFn = createHttpEffect) => {\n\t// This is to stub the createHttpEffect\n\tconst {\n\t\taction: {\n\t\t\tpayload: {path},\n\t\t},\n\t} = coeffects;\n\tconst fetchAnimation = proxyFn(path, {\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tsuccessActionType: 'PRIVATE#ANIMATION_FETCH_SUCCEEDED',\n\t\terrorActionType: 'PRIVATE#ANIMATION_FETCH_FAILED',\n\t});\n\treturn fetchAnimation.effect(...fetchAnimation.args, coeffects);\n};\n","import {rgbToHsv, hsvToRgb} from './';\n\nconst HSV = 'hsv';\nconst modify = (modifiers, svg) => {\n\tmodifiers.forEach((mod) => {\n\t\tconst {value = '79,82,189', source, space, offset, target} = mod;\n\t\tlet rgb = value; //default is polaris primary color\n\t\tif (window?.ux_globals?.theme?.theme) {\n\t\t\trgb = window.ux_globals.theme.theme[source];\n\t\t}\n\t\tif (rgb && space == HSV) {\n\t\t\tconst {h, s, v} = rgbToHsv(rgb);\n\t\t\tlet newH = Math.round(h + offset.h);\n\t\t\tif (newH < 0) newH = 360 + newH;\n\t\t\tconst {r, g, b} = hsvToRgb({h: newH, s, v});\n\t\t\tsvg.style.setProperty(target, `${r},${g},${b}`);\n\t\t} else {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(\n\t\t\t\t'Unable to modify color - missing or invalid source or unsupported color space (hsv only)',\n\t\t\t\t{target, space},\n\t\t\t);\n\t\t}\n\t});\n};\n\nexport const themeAnimation = (theme, svg, host) => {\n\tif (svg) {\n\t\tlet modifiers = [];\n\t\tconst style = document.createElement('STYLE');\n\t\tstyle.type = 'text/css';\n\t\tsvg.prepend(style);\n\t\tlet css = '';\n\t\ttheme.forEach((node) => {\n\t\t\tif (node.modifier) modifiers.push(node.modifier);\n\t\t\tconst {selector, rules, deleteNode} = node;\n\t\t\tif (deleteNode) {\n\t\t\t\tconst matches = host.shadowRoot.querySelectorAll(selector);\n\t\t\t\tArray.prototype.forEach.call(matches, function (node) {\n\t\t\t\t\tnode.parentNode.removeChild(node);\n\t\t\t\t});\n\t\t\t}\n\t\t\tcss += `${selector} {`;\n\t\t\tif (rules) {\n\t\t\t\trules.forEach((rule) => {\n\t\t\t\t\tcss += `${rule};`;\n\t\t\t\t});\n\t\t\t}\n\t\t\tcss += `}\\n`;\n\t\t});\n\t\tstyle.appendChild(document.createTextNode(css));\n\t\tmodify(modifiers, svg);\n\t}\n};\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport styles from './_now-loader-custom.scss';\nimport '@servicenow/now-progress-bar';\nimport '@servicenow/now-animation';\nimport {shouldRenderAriaLabel} from './utils/helper';\nimport {t} from 'sn-translate';\nimport {actionTypes} from '@servicenow/ui-core';\nconst {\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tARIA_LIVE_REGION_UPDATE_REQUESTED,\n} = actionTypes;\n\nconst renderProgressBar = (progressBarObj, size, label) => {\n\tif (!progressBarObj || Object.keys(progressBarObj).length === 0) return;\n\n\tconst {max, value, pathType} = progressBarObj;\n\tconst sizeMap = {sm: 'xs', md: 'sm', lg: 'md'};\n\tconst progressBarSize = sizeMap[size] || size;\n\n\treturn (\n\t\t<now-progress-bar\n\t\t\tclass={{\n\t\t\t\t'now-m-block-start--xs': size === 'sm',\n\t\t\t\t'now-m-block-start--sm': size === 'md' || size === 'lg',\n\t\t\t}}\n\t\t\tpath-type={pathType}\n\t\t\tsize={progressBarSize}\n\t\t\tmax={max}\n\t\t\tvalue={value}\n\t\t\tconfig-aria={\n\t\t\t\tshouldRenderAriaLabel(label)\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tprogressbar: {\n\t\t\t\t\t\t\t\t'aria-label': t('Loading'),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t/>\n\t);\n};\n\nconst renderAnimation = (animationObject, label) => {\n\tif (!animationObject || !(animationObject.src || animationObject.tokenId)) {\n\t\treturn;\n\t}\n\n\tconst {src, tokenId, loop = true, autoplay = true} = animationObject;\n\n\treturn (\n\t\t<now-animation\n\t\t\tclassName=\"now-loader-custom-animation\"\n\t\t\tsrc={src}\n\t\t\ttokenId={tokenId}\n\t\t\tloop={loop}\n\t\t\tautoplay={autoplay}\n\t\t\tconfig-aria={\n\t\t\t\tshouldRenderAriaLabel(label)\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tanimation: {\n\t\t\t\t\t\t\t\t'aria-label': t('Loading'),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t/>\n\t);\n};\n\nconst showLabel = (host, label) => {\n\tif (label) {\n\t\tconst labelEl = host.shadowRoot.querySelector('.now-loader-custom-label');\n\t\tif (labelEl) {\n\t\t\tlabelEl.style.display = 'block';\n\t\t}\n\t}\n};\n\nconst view = (state) => {\n\tconst {size, configAnimation, progressBarProps, label} = state.properties;\n\n\treturn (\n\t\t<div className=\"now-loader-custom\">\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'now-loader-custom-container': true,\n\t\t\t\t\t['-' + size]: size,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{renderAnimation(configAnimation, label)}\n\t\t\t\t{renderProgressBar(progressBarProps, size, label)}\n\t\t\t\t{label ? <p className=\"now-loader-custom-label\">{label}</p> : undefined}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\n/**\n * A custom loader component that displays a Lottie animation from a specified source, an optional progress bar to\n * indicate loading progress, and an optional label to provide additional context or information.\n * ```jsx\n * <now-loader-custom\n * \tconfigAnimation={{\n * \t\tsrc: '/images/@servicenow/now-loader/custom-default-spinner-med-204x56/index.json',\n * \t\tloop: true,\n * \t\tautoPlay: true\n * \t}}\n * \tprogressBarProps={{\n * \t\tpathType: 'initial',\n * \t}}\n * \tlabel=\"Loading\"\n * />\n * ```\n * ### Generic Page Loaders\n * | Size | Path | Image |\n * |------|------|-------|\n * | Small | /images/@servicenow/now-loader/custom-default-spinner-sm-162x40/index.json | ![default-spinner-sm](https://code.devsnc.com/storage/user/3897/files/3f2b2ce6-11f2-4487-ac9d-8a045846ab30) |\n * | Medium| /images/@servicenow/now-loader/custom-default-spinner-med-204x56/index.json | ![default-spinner-md](https://code.devsnc.com/storage/user/3897/files/5aa97f28-8159-48bf-9a53-e99f297d294e) |\n * | Large | /images/@servicenow/now-loader/custom-default-spinner-lg-254x80/index.json | ![default-spinner-lg](https://code.devsnc.com/storage/user/3897/files/00cb4633-3b66-4d41-a99f-d4277241818e) |\n *\n * ### GenAI Loaders\n * | Size | Path | Image |\n * |------|------|-------|\n * | XX Small | /images/@servicenow/now-loader/custom-genai-loader-xx-sm-16x16/index.json | ![genai-xxs](https://code.devsnc.com/storage/user/3897/files/6d555d01-730f-4c1b-977d-df9ef6e9b0fc) |\n * | X Small | /images/@servicenow/now-loader/custom-genai-loader-x-sm-24x24/index.json | ![genai-xs](https://code.devsnc.com/storage/user/3897/files/9ce3c295-b766-4279-a2d4-185b5f713fce) |\n * | Small | /images/@servicenow/now-loader/custom-genai-loader-sm-162x40/index.json | ![genai-sm](https://code.devsnc.com/storage/user/3897/files/842bf5ba-6f22-4110-a268-e1262d96e356) |\n * | Medium | /images/@servicenow/now-loader/custom-genai-loader-med-204x88/index.json | ![genai-md](https://code.devsnc.com/storage/user/3897/files/e18b8d12-4de4-414a-b091-c52529148e9b) |\n * | Large | /images/@servicenow/now-loader/custom-genai-loader-lg-254x128/index.json | ![genai-lg](https://code.devsnc.com/storage/user/3897/files/3ed895a3-2e97-4b1a-8a10-866e1e2a372a) |\n *\n * @seismicElement now-loader-custom\n * @summary Renders Lottie animation with optional progress bar and label.\n * @uib.label Loader Custom\n * @uib.icon loader\n * @uib.description Renders Lottie animation with optional progress bar and label.\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties configAnimation, label, size, progressBarProps, announceLabel\n * @uib.layout.label.children label, announceLabel\n * @uib.layout.label.icon text-outline\n * @uib.layout.progress.children size, progressBarProps\n * @uib.layout.progress.icon loader-outline\n * @uib.actions NOW_LOADER_CUSTOM#ANIMATION_VISIBLE\n */\ncreateEnhancedElement('now-loader-custom', {\n\tproperties: {\n\t\t/**\n\t\t * An object that holds all the information that is needed to render the animation.\n\t\t * @type {{src: string, tokenId: string, loop: boolean, autoplay: boolean}}\n\t\t * @uib.label Animation properties\n\t\t * @uib.description An object that holds all the information that is needed to render the animation.\n\t\t * @uib.defaultValue {\"loop\": true, \"autoplay\": true}\n\t\t */\n\t\tconfigAnimation: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tsrc: {type: 'string'},\n\t\t\t\t\ttokenId: {type: 'string'},\n\t\t\t\t\tloop: {type: 'boolean'},\n\t\t\t\t\tautoplay: {type: 'boolean'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Sets the size of the progress bar and label to accompany the animation when set.\n\t\t * @type {('sm'|'md'|'lg')}\n\t\t * @uib.label Size\n\t\t * @uib.description Sets the size of the progress bar and label to accompany the animation when set\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: {type: 'string', enum: ['sm', 'md', 'lg']},\n\t\t},\n\t\t/**\n\t\t * An optional label can be displayed with the animation.\n\t\t * @type {string}\n\t\t * @uib.optional\n\t\t * @uib.label Label\n\t\t * @uib.description An optional label can be displayed with the animation.\n\t\t */\n\t\tlabel: {required: false, schema: {type: 'string'}},\n\t\t/**\n\t\t * An object that holds all the information that is needed to render the progress bar.\n\t\t * @type {{pathType: ('initial'|'positive'|'alert'|'error'|'inactive'|'pink'|'green'|'orange'|'gray'), max: number, value: number}}\n\t\t * @uib.label Progress Bar properties\n\t\t * @uib.description An object that holds all the information that is needed to render the progress bar.\n\t\t */\n\t\tprogressBarProps: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tpathType: {\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tenum: [\n\t\t\t\t\t\t\t'initial',\n\t\t\t\t\t\t\t'positive',\n\t\t\t\t\t\t\t'alert',\n\t\t\t\t\t\t\t'error',\n\t\t\t\t\t\t\t'inactive',\n\t\t\t\t\t\t\t'pink',\n\t\t\t\t\t\t\t'green',\n\t\t\t\t\t\t\t'orange',\n\t\t\t\t\t\t\t'gray',\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t\tmax: {type: 'number'},\n\t\t\t\t\tvalue: {type: 'number'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Enable this property to announce the label when the component is rendered.\n\t\t * `ARIA_LIVE_REGION_UPDATE_REQUESTED` action is dispatched with the component label value.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to announce the label when the component is rendered.\n\t\t */\n\t\tannounceLabel: {default: false, schema: {type: 'boolean'}},\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the lottie animation is rendered on the page.\n\t\t * @uib.description Dispatched when the lottie animation is rendered on the page.\n\t\t * @type {{object}}\n\t\t */\n\t\t'NOW_LOADER_CUSTOM#ANIMATION_VISIBLE': {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t['NOW_ANIMATION#CONTENT_VISIBLE']: ({\n\t\t\thost,\n\t\t\tproperties,\n\t\t\taction: {payload},\n\t\t\tdispatch,\n\t\t}) => {\n\t\t\tconst {label} = properties;\n\t\t\tconst customLoader = host.shadowRoot.querySelector(\n\t\t\t\t'.now-loader-custom-container',\n\t\t\t);\n\n\t\t\tconst animation = host.shadowRoot.querySelector('now-animation');\n\n\t\t\tconst animationWidth = animation.offsetWidth;\n\t\t\tcustomLoader.style.maxWidth = `${animationWidth}px`;\n\n\t\t\tshowLabel(host, label);\n\t\t\tdispatch('NOW_LOADER_CUSTOM#ANIMATION_VISIBLE', {...payload});\n\t\t},\n\t\t[COMPONENT_DOM_TREE_READY]: ({properties, dispatch}) => {\n\t\t\tconst {announceLabel, label} = properties;\n\t\t\tif (label && announceLabel) {\n\t\t\t\t// NVDA does not announce the message without setTimeout when the component is rendered\n\t\t\t\tsetTimeout(\n\t\t\t\t\t() =>\n\t\t\t\t\t\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\t\t\t\t\tmessage: label,\n\t\t\t\t\t\t\ttype: 'polite',\n\t\t\t\t\t\t}),\n\t\t\t\t\t50,\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({properties, dispatch, action}) => {\n\t\t\tconst {announceLabel, label} = properties;\n\t\t\tconst {name} = action.payload;\n\t\t\tif (name === 'label' && announceLabel && label) {\n\t\t\t\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\t\t\tmessage: label,\n\t\t\t\t\ttype: 'polite',\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t['NOW_ANIMATION#FETCH_FAILED']: ({host, properties}) => {\n\t\t\tconst {label} = properties;\n\t\t\tshowLabel(host, label);\n\t\t},\n\t},\n\tstyles,\n\tview,\n});\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport styles from './_now-loader-skeleton.scss';\n\nconst view = () => {\n\treturn (\n\t\t<div className=\"now-loader-skeleton\" role=\"presentation\">\n\t\t\t{[100, 75, 50, 25].map((percentage) => (\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'now-loader-skeleton-bone': true,\n\t\t\t\t\t\t[`has-width-${percentage}`]: true,\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t))}\n\t\t</div>\n\t);\n};\n\n/**\n * Skeleton loaders are stand-in elements that indicate a text-based loading status to users.\n * Use skeleton loaders to facilitate the transition and retrieval of data between states and pages,\n * especially in cases where the timing can be variable. Note that this component is purely decorative,\n * and all accessibility requirements including a visible text indicating the loading status as well\n * as aria messaging for visibly impaired users is the responsibility of the user.\n *\n * ```jsx\n * <now-loader-skeleton />\n * ```\n *\n * @seismicElement now-loader-skeleton\n * @summary An animated skeleton to indicate a loading state.\n * @uib.label Skeleton Loader\n * @uib.icon loader\n * @uib.description An animated skeleton to indicate a loading state\n * @uib.category primitives\n * @uib.associatedTypes global.core\n */\ncreateEnhancedElement('now-loader-skeleton', {\n\tview,\n\tstyles,\n});\n","import './now-loader';\nimport './now-loader-custom';\nimport './now-loader-skeleton';\nimport * as info from '../package.json';\n\nconst {name, version} = info;\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n","const TAIL_LENGTH = 20;\nconst OFFSET = 8;\nconst MIN_SIZE = TAIL_LENGTH + OFFSET * 2;\n\nexport default function setTailPosition({\n\tpanel,\n\tcontentArea,\n\ttargetDimensions,\n\tcontentDimensions,\n\tcontentAreaDimensions,\n\ttargetPosition,\n\tcontentPosition,\n}) {\n\tconst {offset, direction} = getTailPosition({\n\t\ttargetDimensions,\n\t\tcontentDimensions,\n\t\tcontentAreaDimensions,\n\t\ttargetPosition,\n\t\tcontentPosition,\n\t});\n\tif (offset >= 0) {\n\t\tcontentArea.style.setProperty('--popover-tail', `${offset}px`);\n\t}\n\tpanel.tailDirection = direction;\n}\n\nfunction getMinOffset(targetDimensions, contentDimensions, dim) {\n\t// space to display tail with OFFSET padding on both sides\n\tif (targetDimensions[dim] >= MIN_SIZE && contentDimensions[dim] >= MIN_SIZE) {\n\t\treturn OFFSET;\n\t}\n\t// no space to display any padding\n\tif (contentDimensions[dim] <= MIN_SIZE) {\n\t\treturn 0;\n\t}\n\t// in between - center the tail by dividing the available space\n\treturn (targetDimensions[dim] - TAIL_LENGTH) / 2;\n}\n\nexport function getTailPosition({\n\ttargetDimensions,\n\tcontentDimensions,\n\tcontentAreaDimensions,\n\ttargetPosition,\n\tcontentPosition,\n}) {\n\tlet offset, direction;\n\tif (\n\t\tcontentPosition[0] === targetPosition[0] &&\n\t\tcontentPosition[1] !== targetPosition[1]\n\t) {\n\t\t// block positions match, so alignment is on inline / horizontal axis\n\t\tdirection = contentPosition[1] === 'end' ? 'right' : 'left';\n\t\tconst minYOffset = getMinOffset(\n\t\t\ttargetDimensions,\n\t\t\tcontentDimensions,\n\t\t\t'height',\n\t\t);\n\t\tif (contentPosition[0] === 'top') {\n\t\t\toffset = minYOffset;\n\t\t} else if (contentPosition[0] === 'center') {\n\t\t\tconst middleOfTarget = targetDimensions.height / 2;\n\t\t\tconst deltaY = targetDimensions.top - contentAreaDimensions.top;\n\t\t\toffset = deltaY + middleOfTarget - TAIL_LENGTH / 2;\n\t\t} else if (contentPosition[0] === 'bottom') {\n\t\t\toffset = contentAreaDimensions.height - minYOffset - TAIL_LENGTH;\n\t\t}\n\t} else if (\n\t\tcontentPosition[1] === targetPosition[1] &&\n\t\tcontentPosition[0] !== targetPosition[0]\n\t) {\n\t\t// inline positions match, so alignment is on block / vertical axis\n\t\tdirection = contentPosition[0] === 'top' ? 'up' : 'down';\n\t\tconst minXOffset = getMinOffset(\n\t\t\ttargetDimensions,\n\t\t\tcontentDimensions,\n\t\t\t'width',\n\t\t);\n\t\tif (contentPosition[1] === 'start') {\n\t\t\toffset = minXOffset;\n\t\t} else if (contentPosition[1] === 'center') {\n\t\t\tconst middleOfTarget = targetDimensions.width / 2;\n\t\t\tconst deltaX = targetDimensions.left - contentAreaDimensions.left;\n\t\t\toffset = deltaX + middleOfTarget - TAIL_LENGTH / 2;\n\t\t} else if (contentPosition[1] === 'end') {\n\t\t\toffset = contentAreaDimensions.width - minXOffset - TAIL_LENGTH;\n\t\t}\n\t}\n\n\treturn {\n\t\tdirection,\n\t\toffset,\n\t};\n}\n","import find from 'lodash/find';\n\nconst HOIST_TAG = 'SEISMIC-HOIST';\nconst POPOVER_PANEL_TAG = 'NOW-POPOVER-PANEL';\n\nexport function getContent(host) {\n\treturn host.querySelectorAll('[slot=content]');\n}\n\nexport function getFirstTrigger(host) {\n\treturn host.querySelector('[slot=trigger]');\n}\n\n/**\n * Gets the parent popover panel of the current panel, if it exists.\n *\n * @param {HTMLElement} panel - The panel to recurse.\n * @returns {(HTMLElement|null)}\n */\n\nfunction getNextPanel(panel) {\n\tlet parent = panel.nowPopover;\n\n\twhile ((parent = parent.getRootNode().host) !== undefined) {\n\t\t// If we end up at seismic-hoist, our next\n\t\t// parent should be now-popover-panel. This\n\t\t// happens for non-slotted content.\n\t\tif (parent.tagName === HOIST_TAG) {\n\t\t\tparent = parent.parentNode;\n\t\t}\n\n\t\t// If we're slotted, we can find the panel in the direct parent\n\t\tconst directParent = parent.closest(POPOVER_PANEL_TAG);\n\t\tif (directParent) {\n\t\t\tparent = directParent;\n\t\t}\n\n\t\tif (parent.tagName === POPOVER_PANEL_TAG) {\n\t\t\treturn parent;\n\t\t}\n\t}\n\n\treturn null;\n}\n\n/**\n * Checks if the given element is a popover panel that is nested within a\n * another panel.\n *\n * @param {HTMLElement[]} path - The elements in the event path\n * @param {HTMLElement} panel - The root panel\n *\n * @returns {boolean} `true` if the element is itself a panel that is\n * originally contained within the `panel`. Otherwise, returns `false`.\n */\nexport function isInPanel(path, panel) {\n\tif (!panel) return false;\n\n\tfor (const node of path) {\n\t\tif (node === panel || node === panel.nowPopover) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (node.tagName === POPOVER_PANEL_TAG) {\n\t\t\tconst nextPanel = getNextPanel(node);\n\t\t\tif (nextPanel && isInPanel([nextPanel], panel)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn false;\n}\n\n/**\n * Determine which slotted trigger was interacted with.\n */\nexport function findTriggerFromEvent(event, slot) {\n\tconst assignedNodes = slot.assignedNodes({flatten: true});\n\n\tif (assignedNodes.length === 0) {\n\t\treturn null;\n\t}\n\n\tif (assignedNodes.length === 1) {\n\t\treturn assignedNodes[0];\n\t}\n\n\t// if there are multiple slotted triggers, the one that we want will be right\n\t// before the <slot> node in the composed path\n\treturn find(event.composedPath(), (node, index, path) => {\n\t\tconst nextNode = path[index + 1];\n\t\treturn nextNode === slot;\n\t});\n}\n\n/**\n * Dynamically create a `<now-popover-panel />` element in the correct location\n * in the DOM and hoist slotted content to that element. We want Seismic to\n * control hoisting the content so that actions and events can be re-routed\n * correctly, but we still need want to include the now-popover-panel as a\n * parent to ensure we have the correct markup and styles required to use\n * getBestFitInfo.\n *\n * We also can't hoist the now-popover-panel directly, because it wouldn't be\n * able to take the content (slotted into the parent now-popover) along with\n * it.\n */\nexport async function hoist(host, container, nodes) {\n\tconst panel = document.createElement(POPOVER_PANEL_TAG);\n\n\t// provide a reference back to the original <now-popover> from the panel\n\t// element. This is used so that we can figure out the original DOM order of\n\t// elements when we receive an event from the hoisted panel.\n\tpanel.nowPopover = host;\n\n\t// Seismic will render the panel asynchronously, so we need to wait for that\n\t// to happen. Since we're creating the panel outside of a normal view\n\t// function/render hierarchy, we can't really listen for an action to be\n\t// dispatched from the panel. Instead, we have a custom callback function\n\t// that panel calls once it has been rendered :(\n\treturn await new Promise((resolve) => {\n\t\tpanel.onReady = resolve;\n\n\t\tcontainer.append(panel);\n\n\t\tfor (const node of nodes) {\n\t\t\tnode.nowHoistAppendTo = panel;\n\t\t\tnode.nowHoist = true;\n\t\t}\n\t});\n}\n\nexport function unhoist(panel, content) {\n\tfor (const node of content) {\n\t\tnode.nowHoist = false;\n\t\tdelete node.nowHoistAppendTo;\n\t}\n\n\tif (panel) {\n\t\tpanel.remove();\n\t}\n}\n\n/**\n * Attaches a listener to the container, then fires a fake event from the given element\n * to identify all ancestor elements in the element's DOM tree. More efficient than\n * climbing the tree recursively.\n * @param {string} id - unique ID\n * @param {HTMLElement} element - the element to find ancestors of\n * @param {HTMLElement} container - the topmost element to resolve to\n */\nexport const findAncestors = (id, element, container) =>\n\tnew Promise((resolve) => {\n\t\tconst eventName = `findAncestors-${id}`;\n\t\tconst findListener = async (e) => {\n\t\t\tcontainer.removeEventListener(eventName, findListener);\n\t\t\tconst path = e.composedPath();\n\t\t\tconst length = path.length;\n\t\t\tconst ancestors = new Set(path);\n\n\t\t\t// This is gross but since popovers are hoisted,\n\t\t\t// any child popovers will lose context of their parent's\n\t\t\t// scroll containers. To fix this, we can lookup the parent\n\t\t\t// popover and recurse for its ancestors, then merge\n\t\t\t// the hoisted and non-hoisted ancestor lists. Ideally we\n\t\t\t// could memoize these but since we don't control data on\n\t\t\t// the host, it's risky to store the memoized nodes\n\t\t\t// in a public property.\n\t\t\tfor (let idx = 0; idx < length; idx++) {\n\t\t\t\tconst node = path[idx];\n\t\t\t\tif (\n\t\t\t\t\tnode !== element &&\n\t\t\t\t\tnode.nodeType === Node.ELEMENT_NODE &&\n\t\t\t\t\tnode.tagName === POPOVER_PANEL_TAG\n\t\t\t\t) {\n\t\t\t\t\tconst parentAncestors = await findAncestors(\n\t\t\t\t\t\tnode.nowId,\n\t\t\t\t\t\tnode.nowPopover,\n\t\t\t\t\t\tcontainer,\n\t\t\t\t\t);\n\n\t\t\t\t\tparentAncestors.forEach((ancestor) => ancestors.add(ancestor));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tresolve(ancestors);\n\t\t};\n\n\t\tcontainer.addEventListener(eventName, findListener);\n\t\tconst event = new CustomEvent(eventName, {\n\t\t\tbubbles: true,\n\t\t\tcomposed: true,\n\t\t\tcancelable: false,\n\t\t});\n\t\telement.dispatchEvent(event);\n\t});\n","import isEmpty from 'lodash/isEmpty';\nimport forEachRight from 'lodash/forEachRight';\nimport debounce from 'lodash/debounce';\n\n/**\n * Factory function to provide a way to have multiple callbacks triggered from\n * a single (optionally debounced) DOM event listener on the window.\n *\n * This has a couple of benefits over direct `addEventListeners`\n *\n * - Re-using a single event listener to run multiple callbacks leads to a\n *   performance gain in Chrome + Safari (Firefox doesn't seem to care much)\n *\n * - Callbacks can be deleted just by just ID, rather than needing to maintain\n *   a reference to the callback that was used in `addEventListener`\n *\n * - We can easily guarantee execution order when multiple instances listen\n *   to the same event.\n *\n * Callbacks are run in reverse order, so newer callbacks happen first. If any\n * callback returns an explicit `false`, other callbacks are not run.\n */\nexport default function createBatchedListener(eventType, {batch = false} = {}) {\n\tconst callbacks = {};\n\n\tlet runCallbacks = (event) =>\n\t\tforEachRight(callbacks, (callback) => callback(event));\n\tif (batch) {\n\t\trunCallbacks = debounce(runCallbacks, 500);\n\t}\n\n\treturn {\n\t\tadd(id, callback) {\n\t\t\tconst needsToAttach = isEmpty(callbacks);\n\t\t\tcallbacks[id] = callback;\n\n\t\t\tif (needsToAttach) {\n\t\t\t\twindow.addEventListener(eventType, runCallbacks, true);\n\t\t\t}\n\t\t},\n\n\t\tremove(id) {\n\t\t\tdelete callbacks[id];\n\t\t\tconst canDetach = isEmpty(callbacks);\n\n\t\t\tif (canDetach) {\n\t\t\t\twindow.removeEventListener(eventType, runCallbacks, true);\n\t\t\t}\n\t\t},\n\t};\n}\n","/**\n * Sets up an Observer that calls the given callback\n */\nexport default function createObserver(Observer) {\n\tconst observed = new Map();\n\n\treturn {\n\t\tadd(id, target, callback, ...observerArgs) {\n\t\t\tconst observer = new Observer(callback, ...observerArgs);\n\t\t\tobserver.observe(target);\n\t\t\tobserved.set(id, {observer, target});\n\t\t},\n\n\t\tremove(id) {\n\t\t\tconst value = observed.get(id);\n\t\t\tif (!value) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst {observer, target} = value;\n\n\t\t\tobserver.unobserve(target);\n\t\t\tobserved.delete(id);\n\t\t},\n\t};\n}\n","import {findAncestors} from './dom';\n\n/**\n * Attaches scroll listeners to all ancestor elements of the given host element\n * that have shadow roots (because scroll events do not automatically bubble\n * through shadow boundaries). When any of the scroll listeners are fired,\n * trigger the callback function.\n * @param {HTMLElement} host\n * @param {string} componentId\n * @param {function} callback\n */\nexport default function createScrollListener() {\n\tconst attached = new Map();\n\n\treturn {\n\t\tasync add(id, host, container, callback) {\n\t\t\tconst ancestors = await findAncestors(id, host, container);\n\t\t\tconst targets = [];\n\t\t\tancestors.forEach((el) => el.shadowRoot && targets.push(el));\n\n\t\t\tconst listener = (e) => {\n\t\t\t\tconst [source] = e.composedPath();\n\t\t\t\tif (ancestors.has(source)) {\n\t\t\t\t\tcallback(e);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tfor (const target of targets) {\n\t\t\t\ttarget.shadowRoot.addEventListener('scroll', listener, true);\n\t\t\t}\n\n\t\t\tattached.set(id, {targets, listener});\n\t\t},\n\t\tremove(id) {\n\t\t\tconst value = attached.get(id);\n\t\t\tif (!value) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst {targets, listener} = value;\n\t\t\tfor (const target of targets) {\n\t\t\t\ttarget.shadowRoot.removeEventListener('scroll', listener, true);\n\t\t\t}\n\n\t\t\tattached.delete(id);\n\t\t},\n\t};\n}\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {\n\tlayerEvents,\n\tfit,\n\tfindTabbableNodes,\n} from '@servicenow/library-enhanced-utils';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {createRef} from '@servicenow/ui-renderer-snabbdom';\nimport isEqual from 'lodash/isEqual';\nimport once from 'lodash/once';\nimport noop from 'lodash/noop';\nimport setTailPosition from './utils/tail';\nimport {\n\tgetContent,\n\tgetFirstTrigger,\n\tisInPanel,\n\tfindTriggerFromEvent,\n\thoist,\n\tunhoist,\n} from './utils/dom';\nimport createGlobalListener from './utils/global-event-listener';\nimport createObserver from './utils/observer';\nimport createScrollListener from './utils/scroll-listener';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport focusBehavior, {handleFocusTrap} from '@servicenow/behavior-focus';\nimport {configAriaLabelRoleSchema} from '@servicenow/library-schemas';\n\nconst {\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_PROPERTY_CHANGED,\n} = actionTypes;\n\nconst {resolveFitProperties, getBestFitInfo} = fit;\n\nconst onWindowResize = createGlobalListener('resize', {batch: true});\nconst clickListener = createGlobalListener('mousedown');\nconst keydownListener = createGlobalListener('keydown');\nconst scrollListener = createScrollListener();\nconst intersectionObserver = createObserver(IntersectionObserver);\nconst resizeObserver = createObserver(ResizeObserver);\n\n/**\n * Closes the popover. Removes any listeners that we've added and moves the\n * content back into the normal, non-hoisted location\n */\nfunction closePopover({id, panel, host, dispatch, updateState}) {\n\tlayerEvents.remove(id);\n\tclickListener.remove(id);\n\tkeydownListener.remove(id);\n\tonWindowResize.remove(id);\n\tscrollListener.remove(id);\n\tintersectionObserver.remove(id);\n\tresizeObserver.remove(id);\n\n\tconst content = getContent(host);\n\tunhoist(panel, content);\n\n\tupdateState({\n\t\toperation: 'set',\n\t\tpath: 'panel',\n\t\tvalue: null,\n\t});\n\n\tdispatch('NOW_POPOVER#CONTENT_HIDDEN', {});\n}\n\n/**\n * Opens the popover. Hoists the content nodes to the proper location and then\n * calls fit.\n */\nasync function openPopover({\n\thost,\n\tcontainer,\n\tdisableScroll,\n\tbare,\n\tdispatch,\n\tupdateState,\n\tinteractionType,\n\tconfigAria,\n}) {\n\tconst content = getContent(host);\n\n\t// invalid markup. No content has been slotted\n\tif (content.length === 0) {\n\t\treturn;\n\t}\n\n\tconst panel = await hoist(host, container, content);\n\tpanel.disableScroll = disableScroll;\n\tpanel.bare = bare;\n\tpanel.configAria = configAria;\n\tpanel.interactionType = interactionType;\n\n\tupdateState({\n\t\tshouldRender: false,\n\t\toperation: 'assign',\n\t\tvalue: {\n\t\t\tpanel,\n\t\t\tfinishedOpening: false,\n\t\t},\n\t});\n\n\tdispatch(() => ({type: 'PRIVATE#CHECK_FIT', payload: {}}));\n}\n\nfunction handleKeyDown(event, dispatch) {\n\t// escape closes the popover and refocuses the trigger\n\tif (event.key === 'Escape') {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\n\t\tdispatch(() => ({\n\t\t\ttype: 'NOW_POPOVER#OPENED_SET',\n\t\t\tpayload: {\n\t\t\t\tvalue: false,\n\t\t\t\tactionSource: 'escape-press',\n\t\t\t},\n\t\t}));\n\n\t\t// return false to ensure parent popovers don't also respond to Escape\n\t\treturn false;\n\t}\n}\n\nfunction handleClick(event, host, panel, dispatch, updateState) {\n\tconst path = event.composedPath();\n\n\t// DEF0088795: The click event originates from the hoisted element in the\n\t// DOM. But if that hoisted component defines a Seismic eventHandler,\n\t// Seismic will re-emit that event from the original (unhoisted) content\n\t// host.\n\t//\n\t// So even though it feels like a single click event, there are actually 2\n\t// events being propagated, each with a different path. We need to know if\n\t// both of these events originate from the panel in order to correctly\n\t// _not_ dispatch OPENED_SET.\n\t//\n\t// `path` will include `panel` on the first click event, since the panel is\n\t// dynamically created and holds the hoisted element.\n\t//\n\t// `path` will include `host` on the 2nd click event, since the host is a\n\t// parent of the original (unhoisted) content node.\n\t//\n\t// We also need to guard against events coming from a nested popover panel\n\t// (e.g.: when we have a <now-select> in the content of a bigger\n\t// <now-popover>). These panels are hoisted independently, so the outer\n\t// panel is not in the composedPath of the inner panel.\n\n\tconst hostInPath = isInPanel(path, panel);\n\n\tif (!hostInPath) {\n\t\tupdateState({\n\t\t\tshouldRender: false,\n\t\t\toperation: 'set',\n\t\t\tpath: 'restoreFocus',\n\t\t\tvalue: false,\n\t\t});\n\t\tdispatch(() => ({\n\t\t\ttype: 'NOW_POPOVER#OPENED_SET',\n\t\t\tpayload: {\n\t\t\t\tvalue: false,\n\t\t\t\tactionSource: 'outside-click',\n\t\t\t\tpath,\n\t\t\t},\n\t\t}));\n\t}\n}\n\n/**\n * Once the popover is opened and we've fit the panel, we want to set up a\n * bunch of listeners to track things like: outside clicks, tab navigation,\n * scrolling, and focus management.\n */\nfunction handlePopoverOpened({\n\tid,\n\thost,\n\tpanel,\n\tupdateFit,\n\ttarget,\n\tcontent,\n\ttrigger,\n\tcontainer,\n\tdispatch,\n\tupdateState,\n\tfitContent,\n\tfitContentArea,\n\tcontentPosition,\n\tinteractionType,\n\tfocusPanel,\n\tbare,\n}) {\n\t// refit any time the window is resized. This is not using `updateFit`\n\t// because we do want to allow the fit position to change (otherwise a resize\n\t// might make panel content inaccessible).\n\tlet isWindowResizing = false;\n\tonWindowResize.add(id, () => {\n\t\tisWindowResizing = true;\n\t\tdispatch(() => ({type: 'PRIVATE#CHECK_FIT'}));\n\t});\n\tclickListener.add(id, (event) => {\n\t\thandleClick(event, host, panel, dispatch, updateState);\n\t});\n\tkeydownListener.add(id, (event) =>\n\t\thandleTabPress({\n\t\t\tevent,\n\t\t\tpanel,\n\t\t\tdispatch,\n\t\t\ttrigger,\n\t\t\tinteractionType,\n\t\t\tfocusPanel,\n\t\t\tbare,\n\t\t\tupdateState,\n\t\t}),\n\t);\n\tlayerEvents.add({\n\t\tid,\n\t\tevents: ['keydown'],\n\t\tcallback: (event) => {\n\t\t\thandleKeyDown(event, dispatch);\n\t\t},\n\t});\n\n\t// for dialog type popovers: we want to move focus to the first item in the\n\t// panel once the panel has been opened. However, we need to delay this until\n\t// the IntersectionObserver has fired and sets the visibility of contentArea\n\t// to visible.\n\n\t// when focusPanel is set to true and popover is not bare and without\n\t// interactive content, focus is applied to popover panel\n\n\tconst findFocusableNodes =\n\t\t(focusPanel && !bare) || interactionType === 'dialog'\n\t\t\t? once(findTabbableNodes)\n\t\t\t: noop;\n\n\t// When the target element is scrolled out-of-view, we want to stop showing\n\t// the panel. Similarly, when the target is scrolled back into view, we want\n\t// to show the panel again.\n\t//\n\t// Unlike Chrome/Firefox, Safari may not immediately trigger the callback\n\t// when the IntersectionObserver is first connected, so we can't rely on that\n\t// callback to initialize `targetVisible` or the correct styles. Since we\n\t// just called fit, assume that we're all good to display this until we get\n\t// an IntersectionObserver event that says we can't.\n\tlet targetVisible = true;\n\tfitContentArea.style.display = 'block';\n\tfitContentArea.style.visibility = 'visible';\n\n\tintersectionObserver.add(id, target, (entries) => {\n\t\ttargetVisible = entries[0].intersectionRatio > 0;\n\t\tfitContentArea.style.display = targetVisible ? 'block' : 'none';\n\t\tfitContentArea.style.visibility = targetVisible ? 'visible' : 'hidden';\n\n\t\tif (targetVisible) {\n\t\t\tconst focusableNodes = findFocusableNodes(panel);\n\t\t\tconst nodesLength = focusableNodes?.length ?? 0;\n\t\t\tif (nodesLength === 0 && focusPanel && !bare) {\n\t\t\t\tfitContent.setAttribute('tabIndex', '-1');\n\t\t\t\tfitContent.focus();\n\t\t\t} else if (nodesLength > 0 && interactionType === 'dialog') {\n\t\t\t\tfocusableNodes[0].focus();\n\t\t\t}\n\t\t}\n\t});\n\n\t// refit when scrolling, but force the position to remain the same\n\tscrollListener.add(id, host, container, () => {\n\t\tif (targetVisible) {\n\t\t\tupdateFit();\n\t\t}\n\t});\n\n\tif (contentPosition.includes('center')) {\n\t\tresizeObserver.add(id, fitContent, () => {\n\t\t\t// Only call update fit if the resize is caused content not window resize\n\t\t\tif (isWindowResizing) {\n\t\t\t\tisWindowResizing = false;\n\t\t\t} else if (targetVisible) {\n\t\t\t\tupdateFit();\n\t\t\t}\n\t\t});\n\t}\n\n\t// tell the world that we're all good to go :+1:\n\tdispatch(() => ({\n\t\ttype: 'NOW_POPOVER#CONTENT_VISIBLE',\n\t\tpayload: {\n\t\t\tcontent,\n\t\t},\n\t}));\n}\n\nfunction trapFocus(event, panel, trigger) {\n\tif (event.target === trigger) {\n\t\treturn event.preventDefault();\n\t}\n\n\tconst didFocus = handleFocusTrap(event, panel);\n\tif (didFocus) event.preventDefault();\n}\n\n/**\n * Event handler for when the `Tab` key is pressed while the popover is opened.\n * Depending on the interactionType property we will focus different elements.\n */\nconst handleTabPress = ({\n\tevent,\n\ttrigger,\n\tpanel,\n\tdispatch,\n\tinteractionType,\n\tfocusPanel,\n\tbare,\n\tupdateState,\n}) => {\n\tif (event.key !== 'Tab') return;\n\n\tif (!bare && focusPanel && findTabbableNodes(panel)?.length === 0) {\n\t\tevent.preventDefault();\n\t\treturn;\n\t}\n\n\t// When content contains interactive content, but shouldn't be\n\t// focused when the panel is first opened. When focus lands in\n\t// the panel, treat it like a dialog.\n\tif (interactionType === 'combo') {\n\t\tconst isTabInPanel = event.composedPath().includes(panel);\n\t\tif (isTabInPanel) {\n\t\t\ttrapFocus(event, panel, trigger);\n\t\t} else {\n\t\t\tupdateState({\n\t\t\t\tshouldRender: false,\n\t\t\t\toperation: 'set',\n\t\t\t\tpath: 'restoreFocus',\n\t\t\t\tvalue: false,\n\t\t\t});\n\t\t}\n\t\treturn;\n\t}\n\n\t// when the popover does not contain interactive content, we can just let the\n\t// browser natively handle the Tab.\n\tif (interactionType === 'none') {\n\t\tupdateState({\n\t\t\tshouldRender: false,\n\t\t\toperation: 'set',\n\t\t\tpath: 'restoreFocus',\n\t\t\tvalue: false,\n\t\t});\n\t\tdispatch(() => ({\n\t\t\ttype: 'NOW_POPOVER#OPENED_SET',\n\t\t\tpayload: {\n\t\t\t\tvalue: false,\n\t\t\t\tactionSource: 'tab-press',\n\t\t\t},\n\t\t}));\n\t\treturn;\n\t}\n\n\t// listbox interactions do not have a focus trap. shift-tab returns focus\n\t// back to the trigger element. Regular tab moves focus to the item after the\n\t// trigger, which can be handled natively. Regardless, the popover is closed\n\tif (interactionType === 'listbox') {\n\t\tconst isTabInPanel = event.composedPath().includes(panel);\n\t\tif (event.shiftKey && trigger) {\n\t\t\tevent.preventDefault();\n\t\t} else if (isTabInPanel) {\n\t\t\tevent.preventDefault();\n\t\t\tupdateState({\n\t\t\t\tshouldRender: false,\n\t\t\t\toperation: 'set',\n\t\t\t\tpath: 'restoreFocus',\n\t\t\t\tvalue: true,\n\t\t\t});\n\t\t} else {\n\t\t\tupdateState({\n\t\t\t\tshouldRender: false,\n\t\t\t\toperation: 'set',\n\t\t\t\tpath: 'restoreFocus',\n\t\t\t\tvalue: false,\n\t\t\t});\n\t\t}\n\t\tdispatch('NOW_POPOVER#OPENED_SET', {\n\t\t\tvalue: false,\n\t\t\tactionSource: 'tab-press',\n\t\t});\n\t\treturn;\n\t}\n\n\t// dialog types trap focus within the content and keep the popover open\n\tif (interactionType === 'dialog') {\n\t\ttrapFocus(event, panel, trigger);\n\t}\n};\n\n/**\n * Callback when the something in the `trigger` slot has been clicked. Need to\n * keep track of which trigger was clicked (in case multiple triggers are slotted\n * in), and then toggle the open state of the panel.\n */\nconst handleSlotClick = ({event, dispatch, updateState, slot}) => {\n\tconst clickedTrigger = findTriggerFromEvent(event, slot);\n\n\t// this can happen if you click, drag, and release off one trigger and on to\n\t// another. In that case the composedPath no longer includes the original\n\t// trigger.\n\tif (!clickedTrigger) {\n\t\treturn;\n\t}\n\n\t// keep track of which trigger was clicked. This is needed to know where to\n\t// position the panel (when there is no explicit `position-target`) and to\n\t// track which element to restore focus to once the panel is closed.\n\tupdateState({\n\t\toperation: 'set',\n\t\tpath: 'clickedTrigger',\n\t\tvalue: clickedTrigger,\n\t\tshouldRender: false,\n\t});\n\n\tdispatch(({properties}) => {\n\t\treturn {\n\t\t\ttype: 'NOW_POPOVER#OPENED_SET',\n\t\t\tpayload: {\n\t\t\t\tvalue: !properties.opened,\n\t\t\t\t...(properties.opened && {actionSource: 'trigger-click'}),\n\t\t\t},\n\t\t};\n\t});\n};\n\nconst view = (state, {dispatch, updateState}) => {\n\tconst {opened} = state.properties;\n\n\tconst ref = createRef();\n\n\treturn (\n\t\t<slot\n\t\t\tname=\"trigger\"\n\t\t\tref={ref}\n\t\t\ton-slotchange={\n\t\t\t\topened ? () => dispatch(() => ({type: 'PRIVATE#CHECK_FIT'})) : undefined\n\t\t\t}\n\t\t\ton-click={(event) =>\n\t\t\t\thandleSlotClick({\n\t\t\t\t\tevent,\n\t\t\t\t\tdispatch,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tslot: ref.current,\n\t\t\t\t})\n\t\t\t}\n\t\t/>\n\t);\n};\n\n/**\n * A popover lets you float temporary contextual content over other content,\n * relative to a triggering element.\n *\n * Popover content is placed in a panel element, which optionally provides\n * a visual tail that points the content back to its triggering element.\n * Both the content and triggering elements are customizable.\n *\n * In order to correctly position the content, the popover will hoist the\n * content out of the normal DOM flow and append it to the body. Therefore, the\n * content element that is used must be a Now® Experience UI Component in order\n * to correctly encapsulate styles and propagate actions.\n *\n * ```jsx\n * <now-popover>\n *\t <now-button slot=\"trigger\" label=\"Check out my popover\" />\n *\t <now-my-dialog slot=\"content\" />\n * </now-popover>\n * ```\n *\n * `now-popover` elements define a `refit()` method that can be used to force\n * the popover to recalculate the position of the panel. This is useful when\n * something changes the layout or causes elements to move when the popover is\n * already open.\n *\n * @seismicElement now-popover\n * @summary Temporary contextual content that displays over other content when a user selects the triggering element.\n * @uib.label Custom popover\n * @uib.icon custom-modal\n * @uib.description Temporary panel that floats over other content to provide contextual help and information when a user selects a triggering element\n * @uib.category popover\n * @uib.associatedTypes global.core\n * @uib.properties positioningToTrigger, hideTail, disableScroll, positions, configAria, focusPanel\n * @uib.actions NOW_POPOVER#CONTENT_HIDDEN, NOW_POPOVER#CONTENT_VISIBLE\n * @uib.slots content\n * @uib.layout.accessibility.children configAria\n * @uib.layout.accessibility.icon accessibility-outline\n */\ncreateEnhancedElement('now-popover', {\n\tproperties: {\n\t\t/**\n\t\t * Private property used by UIB to provide a more user-friendly control for positioning.\n\t\t * Maps values to the `positions` property using scripted policy.\n\t\t * @uib.label Positioning to trigger\n\t\t * @uib.description Sets the popover position relative to the triggering component.\n\t\t * Auto - default position\n\t\t * Top - aligns to top of the target.\n\t\t * Bottom - aligns to bottom of the target.\n\t\t * Start - aligns at the start of the target.\n\t\t * End- aligns at the end of the target.\n\t\t * @uib.defaultValue auto\n\t\t * @uib.typeMetadata.disabledConfigurationModes ['binding', 'script']\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Auto\",\"value\": \"auto\"},{\"label\": \"Top\",\"value\": \"top\"},{\"label\": \"Bottom\",\"value\": \"bottom\"},{\"label\": \"Start\",\"value\": \"start\"},{\"label\": \"End\",\"value\": \"end\"}]\n\t\t * @private\n\t\t */\n\t\tpositioningToTrigger: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['auto', 'top', 'bottom', 'start', 'end'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Type of content displayed in the popover. These types are similar to\n\t\t * ARIA roles and control how the popover manages focus.\n\t\t *\n\t\t * Valid values are:\n\t\t * - \"dialog\": Content contains interactive content. Focus\n\t\t *   stays within the content while the popover is opened.\n\t\t *   An example of this is a calendar picker.\n\t\t * - \"listbox\": Content contains a list of items that a user\n\t\t *   can select from (typically using the arrow keys). Focus does not stay\n\t\t *   within the content when the popover is opened. An example of this is\n\t\t *   a dropdown.\n\t\t * - \"combo\": Content contains interactive content, but isn't\n\t\t *   focused when the panel is first opened. After an interaction\n\t\t *   (e.g., arrow key press) moves focus into the panel, the panel is then\n\t\t *   treated as if it were a dialog (with a focus trap). An example of this\n\t\t *   is now-date-time.\n\t\t * - \"none\": Content contains no interactive content.\n\t\t *   An example of this is a tooltip.\n\t\t *\n\t\t * @type {(\"dialog\"|\"none\"|\"listbox\"|\"combo\")}\n\t\t */\n\t\tinteractionType: {\n\t\t\tdefault: 'dialog',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['dialog', 'none', 'listbox', 'combo'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * If true, the popover panel receives focus.\n\t\t * @type {boolean}\n\t\t */\n\t\tfocusPanel: {default: false, schema: {type: 'boolean'}},\n\n\t\t/**\n\t\t * If true, the popover does not include a visual tail that points\n\t\t * the content back to the trigger. Setting this property to true\n\t\t * changes the default value of the `positions` property.\n\t\t *\n\t\t * See the `positions` property for more details.\n\t\t * @type {boolean}\n\t\t */\n\t\thideTail: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * The element that triggers the content. If not specified,\n\t\t * the trigger slot triggers the content.\n\t\t *\n\t\t * @type {HTMLElement}\n\t\t **/\n\t\tpositionTarget: {\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t\t/**\n\t\t * When true, the popover opens. The value of this property automatically updates\n\t\t * when the user opens or closes the popover unless the `manage-opened` property is set.\n\t\t * You can use the `manage-opened` property to override the default behavior and handle the\n\t\t * `NOW_POPOVER#OPENED_SET` action manually.\n\t\t *\n\t\t * Note: Popover content may not be\n\t\t * positioned and visible when `NOW_POPOVER#OPENED_SET`\n\t\t * dispatches. See `NOW_POPOVER#CONTENT_VISIBLE` for\n\t\t * an action that dispatches only when content is correctly\n\t\t * positioned.\n\t\t * @type {{value: boolean}}\n\t\t */\n\t\topened: {default: false, manageable: true, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * A list of possible positions to place the content relative to its\n\t\t * target, in order of preference. The content is placed in the\n\t\t * position that fits best.\n\t\t *\n\t\t * Each object in `positions` specifies which points on the target and\n\t\t * content elements align. The value of a point describes the\n\t\t * block then inline location on the edge of the element:\n\t\t *\n\t\t *  - top-start\n\t\t *  - top-center\n\t\t *  - top-end\n\t\t *  - center-end\n\t\t *  - bottom-end\n\t\t *  - bottom-center\n\t\t *  - bottom-start\n\t\t *  - center-start\n\t\t *\n\t\t * In a left-to-right language, `top-start` would be at the topmost and\n\t\t * leftmost point of the element, with each successive value moving\n\t\t * clockwise around the element.\n\t\t *\n\t\t * For example:\n\t\t *\n\t\t * The following aligns the bottom center of the content to the top center\n\t\t * of the target, which is commonly used for tooltip-like content:\n\t\t *\n\t\t *   { target: 'top-center', content: 'bottom-center' }\n\t\t *\n\t\t * To have the content positioned to the right of the target (in a\n\t\t * left-to-right language):\n\t\t *\n\t\t *   { target: 'center-end', content: 'center-start' }\n\t\t *\n\t\t * A common dropdown position, where content is aligned to the start of the\n\t\t * target and opens below the target:\n\t\t *\n\t\t *   { target: 'bottom-start', content: 'top-start' }\n\t\t *\n\t\t *\n\t\t * The default value depends on whether or not the popover includes a tail.\n\t\t * With a tail, the default positions center the content and the trigger:\n\t\t *\n\t\t *  [\n\t\t *    { target: 'top-center', content: 'bottom-center' },\n\t\t *    { target: 'bottom-center', content: 'top-center' },\n\t\t *    { target: 'center-end', content: 'center-start' },\n\t\t *    { target: 'center-start', content: 'center-end' }\n\t\t *  ]\n\t\t *\n\t\t * Without a tail, the default positions align the content and target\n\t\t * along an axis:\n\t\t *\n\t\t * \t[\n\t\t * \t\t{ target: 'bottom-start', content: 'top-start' },\n\t\t * \t\t{ target: 'bottom-end', content: 'top-end' },\n\t\t * \t\t{ target: 'top-start', content: 'bottom-start' },\n\t\t * \t\t{ target: 'top-end', content: 'bottom-end' },\n\t\t * \t\t{ target: 'top-end', content: 'top-start' },\n\t\t * \t\t{ target: 'bottom-end', content: 'bottom-start' },\n\t\t * \t\t{ target: 'top-start', content: 'top-end' },\n\t\t * \t\t{ target: 'bottom-start', content: 'bottom-end' }\n\t\t * \t];\n\t\t *\n\t\t * When overriding the default value, provide\n\t\t * multiple position objects to this property. This practice allows for\n\t\t * alternative placements in the case where the content does not\n\t\t * completely fit in the preferred position.\n\t\t *\n\t\t * @type {Array<{target: string, content: string}>}\n\t\t */\n\t\tpositions: {\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\toneOf: [\n\t\t\t\t\t\t{type: 'string'},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\ttarget: {\n\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\tenum: [\n\t\t\t\t\t\t\t\t\t\t'top-start',\n\t\t\t\t\t\t\t\t\t\t'top-center',\n\t\t\t\t\t\t\t\t\t\t'top-end',\n\t\t\t\t\t\t\t\t\t\t'center-start',\n\t\t\t\t\t\t\t\t\t\t'center-end',\n\t\t\t\t\t\t\t\t\t\t'bottom-start',\n\t\t\t\t\t\t\t\t\t\t'bottom-center',\n\t\t\t\t\t\t\t\t\t\t'bottom-end',\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\tenum: [\n\t\t\t\t\t\t\t\t\t\t'top-start',\n\t\t\t\t\t\t\t\t\t\t'top-center',\n\t\t\t\t\t\t\t\t\t\t'top-end',\n\t\t\t\t\t\t\t\t\t\t'center-start',\n\t\t\t\t\t\t\t\t\t\t'center-end',\n\t\t\t\t\t\t\t\t\t\t'bottom-start',\n\t\t\t\t\t\t\t\t\t\t'bottom-center',\n\t\t\t\t\t\t\t\t\t\t'bottom-end',\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\trequired: ['target'],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t\tshouldRenderWhenSet: false,\n\t\t},\n\t\t/**\n\t\t * Optional sizing constraints to enforce on the popover content. Valid keys are:\n\t\t *\n\t\t *  - width\n\t\t *  - minWidth\n\t\t *  - maxWidth\n\t\t *  - height\n\t\t *  - minHeight\n\t\t *  - maxHeight\n\t\t *\n\t\t * The value for each key must be a positive integer representing a\n\t\t * pixel value to apply to the corresponding content style.\n\t\t * Alternatively, you can specify the string `\"target\"` to have the content\n\t\t * match the value of the target element.\n\t\t *\n\t\t * For example, to ensure the content is at least 400x200 pixels:\n\t\t *\n\t\t *  {\n\t\t *\t\t\"minWidth\": 400,\n\t\t *\t\t\"minHeight\": 200\n\t\t *  }\n\t\t *\n\t\t * To ensure that the content is always as wide as its target:\n\t\t *\n\t\t *\t{\n\t\t *\t\t\"width\": \"target\"\n\t\t *\t}\n\t\t *\n\t\t * @private\n\t\t * @type {PopoverConstrain}\n\t\t */\n\t\tconstrain: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\twidth: {oneOf: [{const: 'target'}, {type: 'number'}]},\n\t\t\t\t\tminWidth: {oneOf: [{const: 'target'}, {type: 'number'}]},\n\t\t\t\t\tmaxWidth: {oneOf: [{const: 'target'}, {type: 'number'}]},\n\t\t\t\t\theight: {oneOf: [{const: 'target'}, {type: 'number'}]},\n\t\t\t\t\tminHeight: {oneOf: [{const: 'target'}, {type: 'number'}]},\n\t\t\t\t\tmaxHeight: {oneOf: [{const: 'target'}, {type: 'number'}]},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Number of pixels to shift the popover content away from the trigger.\n\t\t * @type {number}\n\t\t * @private\n\t\t */\n\t\toffset: {schema: {type: ['array', 'number']}},\n\t\t/**\n\t\t * Which element to hoist the popover panel to.\n\t\t * @type {HTMLElement}\n\t\t * @private\n\t\t */\n\t\tcontainer: {\n\t\t\tget default() {\n\t\t\t\treturn document.body;\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * If true, content in the popover panel will not overflow with a scrollbar.\n\t\t * Use this flag if your popover content already contains a custom\n\t\t * scroll container for handling overflowed content.\n\t\t * @type {boolean}\n\t\t */\n\t\tdisableScroll: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * If true, content in the popover panel appears with no border or tail.\n\t\t * @type {boolean}\n\t\t */\n\t\tbare: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * now-popover. The value of each key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s. These ARIA\n\t\t * properties are set on the specified element.\n\t\t * The 'panel' key corresponds to the entire container in now-popover-panel.\n\t\t * See https://www.w3.org/TR/wai-aria-1.2/#dialog\n\t\t * for properties and accepted values.\n\t\t * @type {{ panel: { 'aria-*': string, role: string } }}\n\t\t * @uib.label ARIA properties\n\t\t * @uib.description Configures ARIA properties\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tpanel: {...configAriaLabelRoleSchema, required: ['aria-label']},\n\t\t\t\t},\n\t\t\t\tadditionalProperties: false,\n\t\t\t},\n\t\t},\n\t},\n\tinitialState: {\n\t\t/**\n\t\t * Whether or not the popover should restore\n\t\t * focus to the trigger element when the popover\n\t\t * is closed\n\t\t */\n\t\trestoreFocus: true,\n\t\t/**\n\t\t * A reference to the `now-popover-panel` element that is dynamically\n\t\t * created when the popover is opened.\n\t\t */\n\t\tpanel: undefined,\n\t\t/**\n\t\t * Because Seismic dispatches and renders are asynchronous, the panel and\n\t\t * its contents are not rendered and hoisted immediately when the `opened`\n\t\t * prop is set. This state value tracks when we know that the DOM is in a\n\t\t * good spot and we can add event listeners and fire\n\t\t * `NOW_POPOVER#CONTENT_VISIBLE`\n\t\t */\n\t\tfinishedOpening: false,\n\t\t/**\n\t\t * When multiple triggers are slotted in, this value tracks which one of those\n\t\t * triggers is responsible for causing the popover to be opened.\n\t\t */\n\t\tclickedTrigger: undefined,\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_CONNECTED]: function handleConnected({\n\t\t\tupdateState,\n\t\t\tdispatch,\n\t\t\tproperties,\n\t\t\thost,\n\t\t\tupdateProperties,\n\t\t}) {\n\t\t\t// In standalone HTML apps, the Seismic default value for `container`\n\t\t\t// is evaluated before `document.body` exists\n\t\t\tif (!properties.container) {\n\t\t\t\tupdateProperties({container: document.body});\n\t\t\t}\n\n\t\t\t// Adds a public `refit()` method on the host of the popover, which will\n\t\t\t// force the popover to re-run fit. This works kind of like the focus\n\t\t\t// behavior, where we're adding public methods to give the consumer control\n\t\t\t// over when to do something that doesn't really fit in the props-down\n\t\t\t// actions-up model.\n\t\t\thost.refit = () => dispatch('PRIVATE#CHECK_FIT');\n\t\t\tconst {\n\t\t\t\tinteractionType,\n\t\t\t\tdisableScroll,\n\t\t\t\tconfigAria,\n\t\t\t\tcontainer,\n\t\t\t\topened,\n\t\t\t\tbare,\n\t\t\t} = properties;\n\n\t\t\tif (opened) {\n\t\t\t\topenPopover({\n\t\t\t\t\thost,\n\t\t\t\t\tcontainer,\n\t\t\t\t\tdisableScroll,\n\t\t\t\t\tbare,\n\t\t\t\t\tdispatch,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tinteractionType,\n\t\t\t\t\tconfigAria,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: function handleDisconnected({\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\tstate,\n\t\t\tproperties,\n\t\t}) {\n\t\t\tif (properties.opened) {\n\t\t\t\tclosePopover({\n\t\t\t\t\tpanel: state.panel,\n\t\t\t\t\tid: action.meta.id,\n\t\t\t\t\thost: action.payload.host,\n\t\t\t\t\tdispatch,\n\t\t\t\t\tupdateState,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: function handlePropertyChanged({\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\tproperties,\n\t\t\tstate,\n\t\t\tupdateState,\n\t\t}) {\n\t\t\tconst {host, name, value, previousValue} = action.payload;\n\n\t\t\t// If a property related to fit changes we need to re-run fit\n\t\t\tif (\n\t\t\t\tname === 'positions' ||\n\t\t\t\tname === 'offset' ||\n\t\t\t\tname === 'constrain' ||\n\t\t\t\t(name === 'positionTarget' && previousValue)\n\t\t\t) {\n\t\t\t\t// Deep equality check because non-scalar props (offset, position,\n\t\t\t\t// etc) might change all the time and this is cheaper than recalcing\n\t\t\t\t// all of fit.\n\t\t\t\tif (!isEqual(value, previousValue)) {\n\t\t\t\t\tdispatch(() => ({type: 'PRIVATE#CHECK_FIT'}));\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (name === 'opened') {\n\t\t\t\tconst {\n\t\t\t\t\tcontainer,\n\t\t\t\t\tdisableScroll,\n\t\t\t\t\tbare,\n\t\t\t\t\tinteractionType,\n\t\t\t\t\tconfigAria,\n\t\t\t\t\tpositionTarget,\n\t\t\t\t} = properties;\n\t\t\t\tconst {id} = action.meta;\n\t\t\t\tconst {restoreFocus} = state;\n\n\t\t\t\tif (value) {\n\t\t\t\t\topenPopover({\n\t\t\t\t\t\thost,\n\t\t\t\t\t\tcontainer,\n\t\t\t\t\t\tdisableScroll,\n\t\t\t\t\t\tbare,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tinteractionType,\n\t\t\t\t\t\tconfigAria,\n\t\t\t\t\t});\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tshouldRender: false,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tpath: 'restoreFocus',\n\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tconst isTop = layerEvents.isTopLayer(id);\n\t\t\t\t\tclosePopover({\n\t\t\t\t\t\tid,\n\t\t\t\t\t\thost,\n\t\t\t\t\t\tpanel: state.panel,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t});\n\t\t\t\t\tconst trigger =\n\t\t\t\t\t\tstate.clickedTrigger || getFirstTrigger(host) || positionTarget;\n\t\t\t\t\tif (restoreFocus && trigger && isTop) {\n\t\t\t\t\t\tif (interactionType === 'combo') {\n\t\t\t\t\t\t\ttrigger.focus({input: true});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttrigger.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Checks to see if we have everything we need to run fit. If so,\n\t\t * do it and apply the styles to the panel.\n\t\t */\n\t\t'PRIVATE#CHECK_FIT': {\n\t\t\tstopPropagation: true,\n\t\t\teffect: ({host, state, action, dispatch, properties, updateState}) => {\n\t\t\t\tconst {panel, clickedTrigger} = state;\n\t\t\t\tconst {\n\t\t\t\t\tdir,\n\t\t\t\t\topened,\n\t\t\t\t\tcontainer,\n\t\t\t\t\tpositionTarget,\n\t\t\t\t\tinteractionType,\n\t\t\t\t\tfocusPanel,\n\t\t\t\t\tbare,\n\t\t\t\t} = properties;\n\t\t\t\tconst content = getContent(host);\n\t\t\t\tconst trigger = clickedTrigger || getFirstTrigger(host);\n\t\t\t\tconst target = positionTarget || trigger;\n\t\t\t\tconst fitContentArea =\n\t\t\t\t\tpanel && panel.shadowRoot.querySelector('.fit-content-area');\n\t\t\t\tconst fitContent =\n\t\t\t\t\tpanel && panel.shadowRoot.querySelector('.fit-content');\n\n\t\t\t\tif (!opened || !target || !content || !fitContentArea || !fitContent) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Switching from content center position to non center position while\n\t\t\t\t// open can cause incorrect calculations.\n\t\t\t\tfitContent.removeAttribute('style');\n\n\t\t\t\t// Sets up an IntersectionObserver to adjust the 'fitContent'\n\t\t\t\t// maxWidth based on visibility: if not fully visible,sets\n\t\t\t\t// maxWidth to 100% to enable horizontal scrolling.\n\t\t\t\tconst id = action.meta.id;\n\t\t\t\tintersectionObserver.add(\n\t\t\t\t\tid,\n\t\t\t\t\tfitContent,\n\t\t\t\t\t(entries) => {\n\t\t\t\t\t\tentries.forEach((entry) => {\n\t\t\t\t\t\t\tif (!entry.isIntersecting) {\n\t\t\t\t\t\t\t\tfitContent.style.maxWidth = '100%';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\troot: null,\n\t\t\t\t\t\tthreshold: 1.0,\n\t\t\t\t\t},\n\t\t\t\t);\n\n\t\t\t\t// Use 'constrain.width' value instead of 'target' if\n\t\t\t\t// 'target.offsetWidth.' is less than 'constrain.width'.\n\t\t\t\t// Defaults to browser width if 'maxWidth' is unspecified.\n\t\t\t\tconst constrain = properties.constrain ?? {};\n\t\t\t\tconstrain.maxWidth =\n\t\t\t\t\tconstrain?.maxWidth === 'target' && constrain?.width\n\t\t\t\t\t\t? target.offsetWidth > constrain.width\n\t\t\t\t\t\t\t? 'target'\n\t\t\t\t\t\t\t: constrain.width\n\t\t\t\t\t\t: (constrain.maxWidth ?? document.documentElement.clientWidth);\n\n\t\t\t\t// set up a smaller, more focused fit function that we can call on\n\t\t\t\t// scroll or content resize. We don't want to go through the entire\n\t\t\t\t// PRIVATE#CHECK_FIT action for a couple reasons:\n\t\t\t\t//\n\t\t\t\t// - dispatched actions are scheduled, causing a somewhat noticeable\n\t\t\t\t// delay between the target moving and the panel refitting to catch up.\n\t\t\t\t//\n\t\t\t\t// - when scrolling: we don't want to let the fit position of the panel\n\t\t\t\t// change, because it's a poor user experience when the panel moves\n\t\t\t\t// around a lot after opening.\n\t\t\t\tlet fitProps = {\n\t\t\t\t\t...resolveFitProperties({\n\t\t\t\t\t\tdir,\n\t\t\t\t\t\tpositions: properties.positions,\n\t\t\t\t\t\tconstrain: constrain,\n\t\t\t\t\t\thideTail: properties.hideTail || bare,\n\t\t\t\t\t\toffset: properties.offset,\n\t\t\t\t\t}),\n\t\t\t\t\ttarget,\n\t\t\t\t\tcontainer,\n\t\t\t\t\tcontent: fitContent,\n\t\t\t\t\tcontentArea: fitContentArea,\n\t\t\t\t};\n\n\t\t\t\tconst updateFit = () => {\n\t\t\t\t\t// run fit calc\n\t\t\t\t\tconst fitInfo = getBestFitInfo({...fitProps});\n\n\t\t\t\t\t// apply styles from fitInfo\n\t\t\t\t\tObject.assign(fitContentArea.style, fitInfo.style.contentArea);\n\t\t\t\t\tObject.assign(fitContent.style, fitInfo.style.content);\n\n\t\t\t\t\t// position tail\n\t\t\t\t\tif (!properties.hideTail) {\n\t\t\t\t\t\tconst {dimensions, targetPosition, contentPosition} = fitInfo;\n\t\t\t\t\t\tsetTailPosition({\n\t\t\t\t\t\t\tcontentArea: fitContentArea,\n\t\t\t\t\t\t\ttargetPosition,\n\t\t\t\t\t\t\tcontentPosition,\n\t\t\t\t\t\t\ttargetDimensions: dimensions.target,\n\t\t\t\t\t\t\tpanel: state.panel,\n\t\t\t\t\t\t\tcontentAreaDimensions: dimensions.contentArea,\n\t\t\t\t\t\t\tcontentDimensions: dimensions.content,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\treturn fitInfo;\n\t\t\t\t};\n\n\t\t\t\tconst fitInfo = updateFit();\n\n\t\t\t\t// Let the first call to fit calculate the position and size of the\n\t\t\t\t// content. When we call updateFit again on scroll, we want to force\n\t\t\t\t// the same position and minimum content size\n\t\t\t\tfitProps.positions = [\n\t\t\t\t\t[fitInfo.targetPosition, fitInfo.contentPosition],\n\t\t\t\t];\n\n\t\t\t\t// set up listeners and handle focus, but only when we first open.\n\t\t\t\t// don't want to redo this stuff if PRIVATE#CHECK_FIT is called again\n\t\t\t\t// while the panel is already open.\n\t\t\t\tif (!state.finishedOpening) {\n\t\t\t\t\thandlePopoverOpened({\n\t\t\t\t\t\tid: action.meta.id,\n\t\t\t\t\t\thost,\n\t\t\t\t\t\tpanel,\n\t\t\t\t\t\ttarget,\n\t\t\t\t\t\tupdateFit,\n\t\t\t\t\t\tcontent,\n\t\t\t\t\t\ttrigger,\n\t\t\t\t\t\tcontainer,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tfitContent,\n\t\t\t\t\t\tfitContentArea,\n\t\t\t\t\t\tcontentPosition: fitInfo.contentPosition,\n\t\t\t\t\t\tinteractionType,\n\t\t\t\t\t\tfocusPanel,\n\t\t\t\t\t\tbare,\n\t\t\t\t\t});\n\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tshouldRender: false,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tpath: 'finishedOpening',\n\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when a user opens or closes the popover. Payload contains a\n\t\t * `value` property, which is `true` when the popover opens and\n\t\t * `false` when the popover closes. Payload also contains a `actionSource` property\n\t\t * which is one of `outside-click`, `trigger-click`, `tab-press`, `escape-press` that\n\t\t * indicates by what action the popover was closed. `actionSource` property will\n\t\t * be present only when the popover is closed.\n\t\t *\n\t\t * Note: Because rendering is asynchronous, the popover content DOM may not be in\n\t\t * the correct state when this action is dispatched.\n\t\t *\n\t\t * Use `NOW_POPOVER#CONTENT_VISIBLE` and `NOW_POPOVER#CONTENT_HIDDEN` actions\n\t\t * to run additional logic once the popover content is rendered in or\n\t\t * removed from the DOM respectively. Set the `manage-opened` property to override the default\n\t\t * behavior and handle this action manually.\n\t\t * @type {{value: boolean}}\n\t\t */\n\t\t'NOW_POPOVER#OPENED_SET': {},\n\n\t\t/**\n\t\t * Dispatched when the popover opens and renders the content. Unlike\n\t\t * `NOW_POPOVER#OPENED_SET`, this action only fires after the popover\n\t\t * content is rendered in the DOM. The `content` property refers to\n\t\t * the current element in popover's `content` slot.\n\t\t * @uib.description Dispatched when the popover opens and renders the content\n\t\t * @type {{content: NodeList}}\n\t\t */\n\t\t'NOW_POPOVER#CONTENT_VISIBLE': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tcontent: {type: 'array'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Dispatched when the popover content has been closed and removed. Unlike\n\t\t * `NOW_POPOVER#OPENED_SET`, this action only fires after the popover\n\t\t * content is fully removed from the DOM.\n\t\t * @uib.description Dispatched when the popover content has been closed and removed\n\t\t * @type {{}}\n\t\t */\n\t\t'NOW_POPOVER#CONTENT_HIDDEN': {schema: {type: 'object'}},\n\t},\n\tslots: {\n\t\t/**\n\t\t * The trigger element that the popover content is positioned in relation to.\n\t\t * If the `manage-opened` property is not set, then clicking on this slot will\n\t\t * toggle the opened state of the popover.\n\t\t */\n\t\ttrigger: {},\n\n\t\t/**\n\t\t * The popover content that is visible when the `opened` property\n\t\t * is true. This *must* be a component and cannot inherit\n\t\t * styles from a parent element. If the content is not interactive,\n\t\t * you should wrap it in an `aria-live` region so that a\n\t\t * screenreader announces it when the popover opens.\n\t\t */\n\t\tcontent: {},\n\t},\n\tbehaviors: [{behavior: focusBehavior}],\n\tview,\n});\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport styles from './_now-popover-panel.scss';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {filterAriaAttributes} from '@servicenow/library-enhanced-utils';\nimport {configAriaSchema} from '@servicenow/library-schemas';\n\nconst {COMPONENT_DOM_READY} = actionTypes;\n// DEF0415693: Applying the class for safari only to fix the rendering glitch\nconst isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n\nconst view = (state) => {\n\tconst {tailDirection, disableScroll, bare, configAria, interactionType} =\n\t\tstate.properties;\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'fit-content-area': true,\n\t\t\t\t'has-tail': tailDirection && !bare,\n\t\t\t\t[`-${tailDirection}`]: tailDirection && !bare,\n\t\t\t\t'disable-scroll': disableScroll,\n\t\t\t\t'is-bare': bare,\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'fit-content': true,\n\t\t\t\t\t'fit-content-transform': isSafari,\n\t\t\t\t}}\n\t\t\t\trole={interactionType === 'dialog' ? 'dialog' : undefined}\n\t\t\t\t{...filterAriaAttributes(configAria, 'panel')}\n\t\t\t\ton-blur={(e) => e.target.parentElement.classList.remove('has-focus')}\n\t\t\t\ton-focus={(e) => e.target.parentElement.classList.add('has-focus')}\n\t\t\t>\n\t\t\t\t<slot name=\"content\" />\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\n/**\n * Panel element that holds markup and styles required to correctly position\n * popover content relative to its trigger element.\n *\n * This component should not be used outside of the now-popover implementation.\n *\n * ```jsx\n * <now-popover-panel tail-direction=\"up\">\n *   <now-my-dialog slot=\"content\" />\n * </now-popover>\n * ```\n *\n * @seismicElement now-popover-panel\n * @private\n * @summary A container for popover content.\n */\ncreateEnhancedElement('now-popover-panel', {\n\tproperties: {\n\t\t/**\n\t\t * Direction to display the tail.\n\t\t * @type {\"up\"|\"down\"|\"left\"|\"right\"}\n\t\t * @private\n\t\t */\n\t\ttailDirection: {},\n\t\t/**\n\t\t * Function to call once the panel has\n\t\t * been rendered\n\t\t * @type {(HTMLElement) => void}\n\t\t * @private\n\t\t */\n\t\tonReady: {},\n\t\t/**\n\t\t * If true, content in the popover panel will not overflow with a scrollbar.\n\t\t * Use this flag if your popover content already contains a custom\n\t\t * scroll container for handling overflowed content.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tdisableScroll: {},\n\t\t/**\n\t\t * If true, panel displays without border and tail.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tbare: {},\n\t\t/**\n\t\t * Type of content displayed in the popover. These types are similar to\n\t\t * ARIA roles and control how the popover manages focus.\n\t\t *\n\t\t * Valid values are:\n\t\t * - \"dialog\": Content contains interactive content. Focus\n\t\t *   stays within the content while the popover is opened.\n\t\t *   An example of this is a calendar picker.\n\t\t * - \"listbox\": Content contains a list of items that a user\n\t\t *   can select from (typically using the arrow keys). Focus does not stay\n\t\t *   within the content when the popover is opened. An example of this is\n\t\t *   a dropdown.\n\t\t * - \"combo\": Content contains interactive content, but isn't\n\t\t *   focused when the panel is first opened. After an interaction\n\t\t *   (e.g., arrow key press) moves focus into the panel, the panel is then\n\t\t *   treated as if it were a dialog (with a focus trap). An example of this\n\t\t *   is now-date-time.\n\t\t * - \"none\": Content contains no interactive content.\n\t\t *   An example of this is a tooltip.\n\t\t *\n\t\t * @type {(\"dialog\"|\"none\"|\"listbox\"|\"combo\")}\n\t\t * @private\n\t\t */\n\t\tinteractionType: {\n\t\t\tdefault: 'dialog',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['dialog', 'none', 'listbox', 'combo'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * now-popover-panel. The value of each key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s. These ARIA\n\t\t * properties are set on the specified element.\n\t\t * The 'panel' key corresponds to the entire container in now-popover-panel.\n\t\t * See https://www.w3.org/TR/wai-aria-1.2/#dialog\n\t\t * for properties and accepted values.\n\t\t * @type {{ panel: { 'aria-*': string, role: string } }}\n\t\t * @uib.label ARIA properties\n\t\t * @uib.description Configures ARIA properties\n\t\t * @uib.defaultValue {}\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tpanel: configAriaSchema,\n\t\t\t\t},\n\t\t\t\tadditionalProperties: false,\n\t\t\t},\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_READY]({host, properties}) {\n\t\t\tproperties.onReady(host);\n\t\t},\n\t},\n\tslots: {\n\t\t/**\n\t\t * Contains popover content to float above other content on the\n\t\t * page.\n\t\t */\n\t\tcontent: {},\n\t},\n\tstyles,\n\tview,\n});\n","import './now-popover';\nimport './now-popover-panel';\nimport * as info from '../package.json';\n\nconst {name, version} = info;\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport styles from './_now-progress-bar.scss';\nimport {isNil, isNaN, isFinite, toNumber} from 'lodash';\nimport {filterAriaAttributes} from '@servicenow/library-enhanced-utils';\nimport {configAriaLabelSchema} from '@servicenow/library-schemas';\n\nconst getProgress = (value, max) => {\n\tif (isIndeterminate(value)) {\n\t\treturn undefined;\n\t} else if (value < 0) {\n\t\treturn 0;\n\t} else if (value > max) {\n\t\treturn 100;\n\t} else if (value <= max) {\n\t\treturn (value * 100) / max;\n\t}\n};\n\nconst isIndeterminate = (value) => {\n\tif (isNaN(toNumber(value)) || isNil(toNumber(value)) || !isFinite(value)) {\n\t\treturn true;\n\t}\n\treturn false;\n};\n\nconst renderLabel = (label, labelPosition, nowId, size) => {\n\tif (!label) return;\n\treturn (\n\t\t<div\n\t\t\tid={`progress-bar-${nowId}-label`}\n\t\t\tclass={{\n\t\t\t\t'now-progress-bar-label': true,\n\t\t\t\t['-' + labelPosition]: labelPosition,\n\t\t\t\t['-' + size]: size,\n\t\t\t}}\n\t\t>\n\t\t\t{label}\n\t\t</div>\n\t);\n};\n\n/** @seismicView now-progress-bar */\nconst view = (state) => {\n\tconst {label, labelPosition, pathType, size, value, max, configAria, nowId} =\n\t\tstate.properties;\n\n\treturn (\n\t\t<div className=\"now-progress-bar\">\n\t\t\t{labelPosition === 'top' &&\n\t\t\t\trenderLabel(label, labelPosition, nowId, size)}\n\t\t\t<div className=\"now-progress-bar-bar\">\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'now-progress-bar-track': true,\n\t\t\t\t\t\t['-' + size]: size,\n\t\t\t\t\t\t'is-indeterminate': isIndeterminate(value),\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\trole=\"progressbar\"\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'now-progress-bar-path': true,\n\t\t\t\t\t\t\t['is-' + pathType]: pathType,\n\t\t\t\t\t\t\t'is-indeterminate': isIndeterminate(value),\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t{...filterAriaAttributes(configAria, 'progressbar')}\n\t\t\t\t\t\taria-labelledby={label ? `progress-bar-${nowId}-label` : undefined}\n\t\t\t\t\t\taria-valuemin={isIndeterminate(value) ? undefined : 0}\n\t\t\t\t\t\taria-valuemax={isIndeterminate(value) ? undefined : max}\n\t\t\t\t\t\taria-valuenow={isIndeterminate(value) ? undefined : value}\n\t\t\t\t\t\tstyle={{inlineSize: getProgress(value, max) + `%`}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{labelPosition === 'bottom' &&\n\t\t\t\trenderLabel(label, labelPosition, nowId, size)}\n\t\t</div>\n\t);\n};\n\n/**\n * A linear indicator that provides feedback about an ongoing, user-initiated process.\n * Progress bar can represent a process that is loading or in progress.\n * When it represents progress, an indicator shows how much the user has completed out of the total.\n *\n * ```jsx\n * <now-progress-bar label=\"Loading...\" />\n * <now-progress-bar path-type=\"alert\" size=\"lg\" value=\"0.25\" label=\"Upload Error\" />\n * ```\n *\n * @seismicElement now-progress-bar\n * @summary A progress bar displays a path showing the completion or loading progress of an ongoing, user-initiated process.\n * @uib.label Progress bar\n * @uib.icon progress-bar\n * @uib.description Horizontal bar that fills with color to show progress\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties label, labelPosition, size, pathType, max, value, configAria\n * @uib.layout.label.children label, labelPosition\n * @uib.layout.label.icon text-outline\n * @uib.layout.value.children value, max\n * @uib.layout.value.icon pencil-outline\n * @uib.layout.accessibility.children configAria\n * @uib.layout.accessibility.icon accessibility-outline\n */\ncreateEnhancedElement('now-progress-bar', {\n\tpresentational: true,\n\tproperties: {\n\t\t/**\n\t\t * Label for the progress bar.\n\t\t * @type {string}\n\t\t * @uib.defaultValue\n\t\t * @uib.translatable true\n\t\t */\n\t\tlabel: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Where to display the label for the progress bar (above or below).\n\t\t * @type {('top'|'bottom')}\n\t\t * @uib.defaultValue top\n\t\t */\n\t\tlabelPosition: {\n\t\t\tdefault: 'top',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['top', 'bottom'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Sets the progress bar styles. This indicates display progress by\n\t\t * animating a bar along the length of a fixed, visible path.\n\t\t * @type {('initial'|'positive'|'alert'|'error'|'inactive'|'pink'|'green'|'orange'|'gray')}\n\t\t * @uib.label Style\n\t\t * @uib.description Sets the progress bar style.\n\t\t */\n\t\tpathType: {\n\t\t\tdefault: 'initial',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'initial',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'alert',\n\t\t\t\t\t'error',\n\t\t\t\t\t'inactive',\n\t\t\t\t\t'pink',\n\t\t\t\t\t'green',\n\t\t\t\t\t'orange',\n\t\t\t\t\t'gray',\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Describes how much work the task indicated by the\n\t\t * progress bar requires. If present, must have a value greater than zero\n\t\t * and be a valid floating point number.\n\t\t * Default value: 1.\n\t\t * @type {number}\n\t\t * @uib.label Max. value\n\t\t * @uib.description Sets the value that the progress bar must reach in order to be complete. If present, must have a value greater than zero and be a valid floating point number.\n\t\t */\n\t\tmax: {default: 1, schema: {type: 'number', minimum: 0}},\n\t\t/**\n\t\t * Specifies how much of the represented task is complete.\n\t\t * If the `max` property is provided, must be a valid floating point number between `0` and the value of the `max` property.\n\t\t * If the `max` property is omitted, must be a valid floating point number between `0` and `1`.\n\t\t *\n\t\t * If a valid value (one that can be coerced to a number) is provided,\n\t\t * then a determinate progress bar displays.\n\t\t * If no value is provided, or an invalid value is provided, then an\n\t\t * indeterminate progress bar displays.\n\t\t * @type {number}\n\t\t * @uib.label Value\n\t\t * @uib.description Specifies how much of the represented task is complete. If the `max` property is provided, must be a valid floating point number between `0` and the value of the `max` property. If the `max` property is omitted, must be a valid floating point number between `0` and `1`. If a valid value (one that can be coerced to a number) is provided, then a determinate progress bar displays. If no value is provided, or an invalid value is provided, then an indeterminate progress bar displays.\n\t\t * @uib.defaultValue 0.25\n\t\t */\n\t\tvalue: {schema: {type: 'number', minimum: 0}},\n\t\t/**\n\t\t * Sets the height of the progress bar track.\n\t\t * @type {('xs'|'sm'|'md'|'lg')}\n\t\t * @uib.description Sets the height of the progress bar track.\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: {type: 'string', enum: ['xs', 'sm', 'md', 'lg']},\n\t\t},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * now-progress-bar. The value of each key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s. These ARIA\n\t\t * properties are set on the specified element. The 'progressbar'\n\t\t * key corresponds to the inner html `<div>` with a role of 'progressbar'.\n\t\t * Note: if you do not use the label property, you must provide an accessible\n\t\t * name to the progressbar by setting an `aria-label` or this will result\n\t\t * in an accessibility violation.\n\t\t *\n\t\t * @type {{ progressbar: {'aria-*': string, role: string} }}\n\t\t * @uib.label ARIA properties\n\t\t * @uib.description ARIA properties that are set on the inner html. See https://www.w3.org/TR/wai-aria-1.2/#progressbar for properties and accepted values.\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\toneOf: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tprogressbar: {...configAriaLabelSchema},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tadditionalProperties: false,\n\t\t\t\t\t},\n\t\t\t\t\tconfigAriaLabelSchema,\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n\tview,\n\tstyles,\n});\n","import './now-progress-bar';\nimport * as info from '../package.json';\n\nconst {name, version} = info;\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport styles from './_now-radio-buttons.scss';\nimport {\n\trenderFormFieldMessages,\n\trenderFormFieldLabel,\n\trenderLabelEnd,\n\tgetAriaDescribedByList,\n} from '@servicenow/now-input';\nimport {messagesSchema} from '@servicenow/now-input';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {fieldLayoutSchema} from '@servicenow/now-input';\nimport {getColumnStyles} from '@servicenow/library-enhanced-utils';\n\nconst {COMPONENT_BOOTSTRAPPED} = actionTypes;\n\nconst handleBlur = (e, dispatch) => {\n\tdispatch(({properties}) => {\n\t\tconst {required, value, name, invalid} = properties;\n\t\treturn {\n\t\t\ttype: 'NOW_RADIO_BUTTONS#INVALID_SET',\n\t\t\tpayload: {name, value: true},\n\t\t\tshouldDispatch: Boolean(required && !value && !invalid),\n\t\t};\n\t});\n};\n\nconst handleClick = (e, option, dispatch) => {\n\tif (option.disabled || option.readonly) {\n\t\treturn;\n\t}\n\tdispatch(({properties}) => {\n\t\tconst {disabled, readonly, name} = properties;\n\t\treturn {\n\t\t\ttype: 'NOW_RADIO_BUTTONS#VALUE_SET',\n\t\t\tpayload: {name, value: option.id},\n\t\t\tshouldDispatch: !disabled && !readonly,\n\t\t};\n\t});\n\tdispatch(({properties}) => {\n\t\tconst {required, name, invalid} = properties;\n\t\treturn {\n\t\t\ttype: 'NOW_RADIO_BUTTONS#INVALID_SET',\n\t\t\tpayload: {name, value: false},\n\t\t\tshouldDispatch: required && invalid,\n\t\t};\n\t});\n};\n\nconst renderRadioButtons = (\n\tlayout,\n\tnowId,\n\tlabel,\n\thelperContent,\n\tmessages,\n\toptions,\n\tinvalid,\n\treadonly,\n\tdisabled,\n\tsize,\n\tvalue,\n\trequired,\n\toptional,\n\tdispatch,\n\torientation,\n\tname = `radio-buttons-${nowId}`,\n) => {\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'now-radio-buttons': true,\n\t\t\t\t['-' + layout]: layout,\n\t\t\t}}\n\t\t\tid={`form-field-${nowId}`}\n\t\t\trole=\"radiogroup\"\n\t\t\taria-describedby={getAriaDescribedByList({\n\t\t\t\tlabel,\n\t\t\t\thelperContent,\n\t\t\t\toptional,\n\t\t\t\tnowId,\n\t\t\t\tmessages,\n\t\t\t\tlayout: orientation,\n\t\t\t})}\n\t\t\taria-invalid={invalid ? 'true' : undefined}\n\t\t\taria-label={label}\n\t\t>\n\t\t\t{options.map((option) => {\n\t\t\t\treturn (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'now-radio-button': true,\n\t\t\t\t\t\t\t'is-invalid': invalid,\n\t\t\t\t\t\t\t'is-readonly': readonly || option.readonly,\n\t\t\t\t\t\t\t'is-disabled': disabled || option.disabled,\n\t\t\t\t\t\t\t[`-${size}`]: size,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tid={`radio-${nowId}-${option.id}`}\n\t\t\t\t\t\t\tclassName=\"now-radio-button-input\"\n\t\t\t\t\t\t\tautofocus={option.autofocus}\n\t\t\t\t\t\t\tchecked={option.checked || option.id === value}\n\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\tdisabled || readonly || option.disabled || option.readonly\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\trequired={required}\n\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\tvalue={option.id}\n\t\t\t\t\t\t\ton-click={(e) => handleClick(e, option, dispatch)}\n\t\t\t\t\t\t\ton-blur={(e) => handleBlur(e, dispatch)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<label\n\t\t\t\t\t\t\tclassName=\"now-radio-button-label\"\n\t\t\t\t\t\t\thtmlFor={`radio-${nowId}-${option.id}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"now-line-height-crop\">{option.label}</span>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n};\n\nconst view = (state, {dispatch}) => {\n\tconst {\n\t\tdisabled,\n\t\thelperContent,\n\t\thideRequiredIndicator,\n\t\tinvalid,\n\t\tlabel,\n\t\tlayout,\n\t\tmessages,\n\t\toptional,\n\t\toptions,\n\t\treadonly,\n\t\trequired,\n\t\tsize,\n\t\tvalue,\n\t\tnowId,\n\t\tfieldLayout,\n\t\twrapLabel,\n\t} = state.properties;\n\tconst renderAsElement = 'legend';\n\tconst {layout: orientation, columns} = fieldLayout;\n\n\tif (orientation === 'horizontal') {\n\t\treturn (\n\t\t\t<fieldset\n\t\t\t\tclass={{\n\t\t\t\t\t'now-radio-buttons-fieldset': true,\n\t\t\t\t\t['-' + 'field-' + orientation]: orientation,\n\t\t\t\t\t['-' + size]: size,\n\t\t\t\t\t'will-wrap': wrapLabel,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"now-radio-buttons-fieldset-child\"\n\t\t\t\t\tstyle={{...getColumnStyles(columns)}}\n\t\t\t\t>\n\t\t\t\t\t{renderFormFieldLabel(\n\t\t\t\t\t\tnowId,\n\t\t\t\t\t\tinvalid,\n\t\t\t\t\t\trequired,\n\t\t\t\t\t\toptional,\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\thelperContent,\n\t\t\t\t\t\thideRequiredIndicator,\n\t\t\t\t\t\trenderAsElement,\n\t\t\t\t\t\torientation,\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\twrapLabel,\n\t\t\t\t\t)}\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{renderRadioButtons(\n\t\t\t\t\t\t\tlayout,\n\t\t\t\t\t\t\tnowId,\n\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\thelperContent,\n\t\t\t\t\t\t\tmessages,\n\t\t\t\t\t\t\toptions,\n\t\t\t\t\t\t\tinvalid,\n\t\t\t\t\t\t\treadonly,\n\t\t\t\t\t\t\tdisabled,\n\t\t\t\t\t\t\tsize,\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\trequired,\n\t\t\t\t\t\t\toptional,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\torientation,\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{renderFormFieldMessages(nowId, messages, 0)}\n\t\t\t\t\t</div>\n\t\t\t\t\t{renderLabelEnd()}\n\t\t\t\t</div>\n\t\t\t</fieldset>\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t<fieldset\n\t\t\t\tclass={{\n\t\t\t\t\t'now-radio-buttons-fieldset': true,\n\t\t\t\t\t['-' + 'field-' + orientation]: orientation,\n\t\t\t\t\t['-' + size]: size,\n\t\t\t\t\t'will-wrap': wrapLabel,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"now-radio-buttons-fieldset-child\">\n\t\t\t\t\t{renderFormFieldLabel(\n\t\t\t\t\t\tnowId,\n\t\t\t\t\t\tinvalid,\n\t\t\t\t\t\trequired,\n\t\t\t\t\t\toptional,\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\thelperContent,\n\t\t\t\t\t\thideRequiredIndicator,\n\t\t\t\t\t\trenderAsElement,\n\t\t\t\t\t\torientation,\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\twrapLabel,\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{renderRadioButtons(\n\t\t\t\t\tlayout,\n\t\t\t\t\tnowId,\n\t\t\t\t\tlabel,\n\t\t\t\t\thelperContent,\n\t\t\t\t\tmessages,\n\t\t\t\t\toptions,\n\t\t\t\t\tinvalid,\n\t\t\t\t\treadonly,\n\t\t\t\t\tdisabled,\n\t\t\t\t\tsize,\n\t\t\t\t\tvalue,\n\t\t\t\t\trequired,\n\t\t\t\t\toptional,\n\t\t\t\t\tdispatch,\n\t\t\t\t\torientation,\n\t\t\t\t)}\n\t\t\t\t{renderFormFieldMessages(nowId, messages, 0)}\n\t\t\t</fieldset>\n\t\t);\n\t}\n};\n\n/**\n * A selectable input that lets the user choose\n * a single option in a predefined set of mutually exclusive options.\n *\n * ```jsx\n * <now-radio-buttons\n *   label=\"Choose one:\"\n *   name=\"choice\"\n *   options={[{id: 'opt1', label: 'Option 1'}]}\n * />\n * ```\n *\n * @seismicElement now-radio-buttons\n * @summary An interactive control for selecting a single input from a group of mutually exclusive choices.\n * @uib.label Radio buttons\n * @uib.icon radio-buttons\n * @uib.description An interactive control for selecting a single input from a group of mutually exclusive choices.\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties size, layout, options, value, manageValue, name, disabled, readonly, label, wrapLabel, helperContent, optional, required, hideRequiredIndicator, invalid, manageInvalid, messages, fieldLayout\n * @uib.layout.label.children label, wrapLabel, required, hideRequiredIndicator, optional, helperContent\n * @uib.layout.label.icon text-outline\n * @uib.layout.validation.children invalid, manageInvalid, messages\n * @uib.layout.validation.icon syntax-check-outline\n * @uib.innerComponents now-button-iconic, now-icon, now-popover, now-input\n */\ncreateEnhancedElement('now-radio-buttons', {\n\tproperties: {\n\t\t/**\n\t\t * When true, the user cannot interact with the field\n\t\t * or change its value and the field appears greyed out.\n\t\t * @type {boolean}\n\t\t * @uib.description Gray out and prevent interaction\n\t\t */\n\t\tdisabled: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t * @uib.label Helper text\n\t\t * @uib.description Whether to include an iconic button with popover next to the field label for displaying additional hint text to the user. Use plain text to allow the text to be translatable\n\t\t * @uib.fieldType string\n\t\t * @uib.translatable true\n\t\t */\n\t\thelperContent: {},\n\t\t/**\n\t\t * When true, the required indicator is visually hidden. Use this for\n\t\t * forms where most fields are required, along with the `optional` flag\n\t\t * for any fields that are not required.\n\t\t * @type {boolean}\n\t\t * @uib.label Hide Required Indicator\n\t\t * @uib.description When true, the required indicator is visually hidden. Use this for forms where most fields are required, along with the `optional` flag for any fields that are not required.\n\t\t */\n\t\thideRequiredIndicator: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, indicates that the field value is invalid,\n\t\t * which is visually reflected in the field display.\n\t\t * @type {boolean}\n\t\t * @uib.description Set this flag to indicate that the field is in an incorrect state, which will be visually reflected in the field display.\n\t\t */\n\t\tinvalid: {default: false, manageable: true, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `invalid` property.\n\t\t * An action with type `NOW_RADIO_BUTTONS#INVALID_SET` will be dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the invalid property. Use the invalid set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageInvalid: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * User-visible label for the field.\n\t\t * @type {string}\n\t\t * @uib.description Label describing the overall purpose of the radio group field\n\t\t * @uib.defaultValue Choose one:\n\t\t * @uib.translatable true\n\t\t */\n\t\tlabel: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Determines whether the radio buttons are vertical or horizontal.\n\t\t * @type {('vertical'|'horizontal')}\n\t\t * @uib.description Whether the radio buttons should be laid out vertically or horizontally\n\t\t */\n\t\tlayout: {\n\t\t\tdefault: 'vertical',\n\t\t\tschema: {type: 'string', enum: ['vertical', 'horizontal']},\n\t\t},\n\t\t/**\n\t\t * Array of inline alert messages that display below the field.\n\t\t * @type {Array.<{status: ('critical'|'warning'|'positive'|'info'|'suggestion'), content: (string|JSX), icon: string}>}\n\t\t * @uib.label Alert messages\n\t\t * @uib.description Array of inline alert messages that are displayed below the field\n\t\t * @uib.fieldType collection\n\t\t * @uib.typeMetadata.collection.cardProperties.heading { \"heading\": \"content\", \"icon\": \"icon\" }\n\t\t */\n\t\tmessages: {\n\t\t\tdefault: [],\n\t\t\tschema: messagesSchema,\n\t\t},\n\t\t/**\n\t\t * When true, the field is optional and does not need to be completed\n\t\t * before submitting the form. Results in a visual indicator.\n\t\t * @type {boolean}\n\t\t * @uib.description Visually indicates that the field is optional\n\t\t * @uib.defaultValue false\n\t\t */\n\t\toptional: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Array of configuration objects to set behavior\n\t\t * for the radio group. Each object must contain a unique `id`.\n\t\t * @type {Array.<{id: (string|number), label: string, checked: boolean, readonly: boolean, disabled: boolean}>}\n\t\t * @uib.description Array of objects providing configuration for the options available within the radio group\n\t\t * @uib.defaultValue [{\"id\": \"one\", \"label\": \"Option 1\", \"checked\": true}, {\"id\": \"two\", \"label\": \"Option 2\"}, {\"id\": \"three\", \"label\": \"Option 3\"}]\n\t\t * @uib.typeMetadata.emptyStateBehavior EMPTY_ARRAY\n\t\t * @uib.fieldType collection\n\t\t * @uib.typeMetadata.collection.cardProperties.heading { \"heading\": \"label\" }\n\t\t */\n\t\toptions: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tid: {type: ['string', 'number']},\n\t\t\t\t\t\tlabel: {type: 'string', translatable: true},\n\t\t\t\t\t\tchecked: {type: 'boolean'},\n\t\t\t\t\t\treadonly: {type: 'boolean'},\n\t\t\t\t\t\tdisabled: {type: 'boolean'},\n\t\t\t\t\t},\n\t\t\t\t\trequired: ['id'],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Name of the field control. Must be unique if there are multiple\n\t\t * radio group components on a page.\n\t\t * @type {string}\n\t\t * @uib.label Identifier\n\t\t * @uib.description Name passed along in dispatched actions. Required. If an identifier is not provided, the radio group will not function correctly.\n\t\t * @uib.defaultValue radio\n\t\t * @uib.required\n\t\t */\n\t\tname: {schema: {type: 'string'}},\n\t\t/**\n\t\t * When true, the user cannot modify the value of the field.\n\t\t * @type {boolean}\n\t\t * @uib.label Read-only\n\t\t * @uib.description By enabling this property, the user cannot modify the value of the field. The field is not disabled in this setting.\n\t\t * @uib.defaultValue false\n\t\t */\n\t\treadonly: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, the user must enter a value in the\n\t\t * input field before they can submit the form.\n\t\t * @type {boolean}\n\t\t * @uib.description This property allows you to indicate that the user must enter a value in the field before proceeding.\n\t\t * @uib.defaultValue false\n\t\t */\n\t\trequired: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Size of the radio button.\n\t\t * @type {('sm'|'md')}\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Small\", \"value\": \"sm\"}, {\"label\": \"Medium\", \"value\": \"md\"}]\n\t\t * @uib.defaultValue md\n\t\t */\n\t\tsize: {default: 'md', schema: {type: 'string', enum: ['sm', 'md']}},\n\t\t/**\n\t\t * The `id` of the option selected by the user, or\n\t\t * the first option passed in with `checked` set to `true`.\n\t\t * @type {(string|number)}\n\t\t * @uib.label Selected option\n\t\t * @uib.defaultValue one\n\t\t * @uib.description Contains the `id` value of the option selected by the user, or the first option passed in with a `checked` value.\n\t\t */\n\t\tvalue: {manageable: true, schema: {type: ['string', 'number']}},\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `value` property.\n\t\t * An action with type `NOW_RADIO_BUTTONS#VALUE_SET` will be dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the value property. Use the value set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageValue: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, form field and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: {layout: 'vertical'},\n\t\t\tschema: fieldLayoutSchema,\n\t\t},\n\t\t/**\n\t\t * Set to true to wrap the label if it does not fit on one line.\n\t\t * @type {boolean}\n\t\t * @uib.description Wraps the label if it does not fit on one line.\n\t\t */\n\t\twrapLabel: {default: false, schema: {type: 'boolean'}},\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot for label end metadata. Located at the end of the label.\n\t\t */\n\t\t'label-end': {},\n\t\t/**\n\t\t * Slot for label, located inline after the label. For the `horizontal` field layout, it is placed before the label.\n\t\t */\n\t\t'label-inline': {},\n\t\t/**\n\t\t * Slot for label, located at the start of the label. For the `horizontal` field layout, it is placed after the label.\n\t\t */\n\t\t'label-start': {},\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: ({properties, updateProperties}) => {\n\t\t\tconst {options} = properties;\n\t\t\tconst selectedOption = options.find((option) => option?.checked);\n\t\t\tif (selectedOption) {\n\t\t\t\tupdateProperties({value: selectedOption.id});\n\t\t\t}\n\t\t},\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the user interacts with a radio button in the group.\n\t\t * Payload contains the name of the control and the `id` of the\n\t\t * currently selected radio button.\n\t\t * @type {{name: string, value: (string|number)}}\n\t\t * @uib.description Dispatched when the user interacts with a radio button in the group\n\t\t */\n\t\t'NOW_RADIO_BUTTONS#VALUE_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'object'},\n\t\t\t\t\tvalue: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: (host) => {\n\t\t\t\t\tconst focusTarget = host.shadowRoot.querySelector(\n\t\t\t\t\t\t'input.now-radio-button-input',\n\t\t\t\t\t);\n\n\t\t\t\t\tif (focusTarget) {\n\t\t\t\t\t\tfocusTarget.focus();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{behavior: truncationBehavior},\n\t\t{behavior: tooltipBehavior},\n\t],\n\tstyles,\n\tview,\n});\n","import './now-radio-buttons';\nimport * as info from '../package.json';\n\nconst {name, version} = info;\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n","export const orderedSizeMap = ['sm', 'md', 'lg'];\nexport const pixelSizeMap = {\n\tsm: 56,\n\tmd: 216,\n\tlg: 352,\n};\n\nconst aMap = {\n\t'add-attachment': {},\n\t'add-data': {},\n\t'completed-tasks': {},\n\terror: {},\n\t'first-time-user': {},\n\tinterrupted: {},\n\t'no-activities': {},\n\t'no-data': {},\n\t'no-search-results': {},\n\toffline: {},\n\tpermissions: {},\n\tunconfigured: {},\n};\n\n// initialize all illustrations with all sizes\nObject.keys(aMap).forEach((key) => {\n\taMap[key].sizes = {};\n\taMap[key].type = 'svg';\n\torderedSizeMap.forEach((size) => {\n\t\taMap[key].sizes[size] = {loaded: false, isLoading: false, data: null};\n\t});\n});\n\nexport const assetMap = aMap;\n","export default class ThemeableIllustration {\n\tstatic SM = 'sm';\n\tstatic MD = 'md';\n\tstatic LG = 'lg';\n\tstatic AUTO = 'auto';\n\n\tconstructor() {\n\t\tthis.LINEAR_GRADIENT = 'lineargradient';\n\t\tthis.LINEAR_FIX = 'linearGradient';\n\t\tthis.RADIAL_GRADIENT = 'radialgradient';\n\t\tthis.RADIAL_FIX = 'radialGradient';\n\t\tthis.prefix = '--now-illustration';\n\t\tthis.delayHash = {};\n\t}\n\n\tisBrokenGradient(node) {\n\t\treturn (\n\t\t\tnode.localName === this.LINEAR_GRADIENT ||\n\t\t\tnode.localName === this.RADIAL_GRADIENT\n\t\t);\n\t}\n\n\thasBadGradient(svg = '') {\n\t\treturn (\n\t\t\tsvg.indexOf(this.LINEAR_FIX) > -1 || svg.indexOf(this.RADIAL_FIX) > -1\n\t\t);\n\t}\n\n\tfix(node) {\n\t\tconst attrs = [];\n\t\t//get all attributes\n\t\tfor (const attr of node.attributes) {\n\t\t\tattrs.push(attr); //attr.name, attr.value\n\t\t}\n\n\t\t//get all children\n\t\tconst children = [];\n\t\tif (node.hasChildNodes()) {\n\t\t\tnode.childNodes.forEach((n) => {\n\t\t\t\tchildren.push(n.cloneNode(true));\n\t\t\t});\n\t\t}\n\n\t\t//create correct node\n\t\tconst tag =\n\t\t\tnode.localName === this.RADIAL_GRADIENT\n\t\t\t\t? this.RADIAL_FIX\n\t\t\t\t: node.localName === this.LINEAR_GRADIENT\n\t\t\t\t\t? this.LINEAR_FIX\n\t\t\t\t\t: node.localName;\n\t\tconst lg = document.createElementNS('http://www.w3.org/2000/svg', tag);\n\n\t\t//replace\n\t\tnode.replaceWith(lg);\n\n\t\t//add attr back on\n\t\tattrs.forEach((a) => {\n\t\t\tlg.setAttribute(a.name, a.value);\n\t\t});\n\n\t\t//add children\n\t\tchildren.forEach((c) => {\n\t\t\tlg.appendChild(c);\n\t\t});\n\t}\n\n\tfindAndFixGradients(node) {\n\t\tif (node.localName && node.localName !== 'style') {\n\t\t\tif (this.isBrokenGradient(node)) {\n\t\t\t\tthis.fix(node);\n\t\t\t} else if (node.hasChildNodes()) {\n\t\t\t\tnode.childNodes.forEach((n) => {\n\t\t\t\t\tthis.findAndFixGradients(n);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tgetHookName(illustration, size) {\n\t\treturn `${this.prefix}--${illustration}-${size}--url`;\n\t}\n\thasThemeImageUrl({behaviors: {theme}}, {illustration, size}) {\n\t\tif (size === this.constructor.AUTO) {\n\t\t\treturn (\n\t\t\t\tthis.hasThemeImageUrl(\n\t\t\t\t\t{behaviors: {theme}},\n\t\t\t\t\t{illustration, size: this.constructor.SM},\n\t\t\t\t) &&\n\t\t\t\tthis.hasThemeImageUrl(\n\t\t\t\t\t{behaviors: {theme}},\n\t\t\t\t\t{illustration, size: this.constructor.MD},\n\t\t\t\t) &&\n\t\t\t\tthis.hasThemeImageUrl(\n\t\t\t\t\t{behaviors: {theme}},\n\t\t\t\t\t{illustration, size: this.constructor.LG},\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t\tconst hookName = this.getHookName(illustration, size);\n\t\treturn theme?.[hookName] !== undefined;\n\t}\n\tcancelDelay(illustration, size) {\n\t\twindow.cancelAnimationFrame(this.delayHash[illustration][size].requestId);\n\t}\n\tstartDelay(illustration, size, fn, delay, start = Date.now()) {\n\t\tif (!this.delayHash[illustration]) this.delayHash[illustration] = {};\n\t\tthis.delayHash[illustration][size] = {\n\t\t\tdelay,\n\t\t\tstart,\n\t\t\trequestId: null,\n\t\t};\n\t\tthis.delayHash[illustration][size].requestId = requestAnimationFrame(\n\t\t\tthis.intervalFn(illustration, size, fn),\n\t\t);\n\t}\n\tintervalFn(illustration, size, fn) {\n\t\treturn () => {\n\t\t\tconst {start, delay} = this.delayHash[illustration][size];\n\t\t\tconst delta = Date.now() - start;\n\t\t\tif (delta > delay) fn();\n\t\t\telse this.startDelay(illustration, size, fn, delay, start);\n\t\t};\n\t}\n\tgetUrlFromHook({behaviors: {theme}}, {illustration, size}) {\n\t\tconst hookName = this.getHookName(illustration, size);\n\t\tif (hookName && theme) {\n\t\t\tconst url = theme[hookName];\n\t\t\tif (url.indexOf('url') === 0) return url.substring(4, url.length - 1);\n\t\t\treturn url;\n\t\t}\n\t}\n\tsupportsAutoSize(state, properties) {\n\t\treturn (\n\t\t\tthis.hasThemeImageUrl(state, {\n\t\t\t\tillustration: properties.illustration,\n\t\t\t\tsize: this.constructor.SM,\n\t\t\t}) &&\n\t\t\tthis.hasThemeImageUrl(state, {\n\t\t\t\tillustration: properties.illustration,\n\t\t\t\tsize: this.constructor.MD,\n\t\t\t}) &&\n\t\t\tthis.hasThemeImageUrl(state, {\n\t\t\t\tillustration: properties.illustration,\n\t\t\t\tsize: this.constructor.LG,\n\t\t\t})\n\t\t);\n\t}\n\n\tgetThemeHookAutoSizes({behaviors: {theme}}, {illustration}) {\n\t\treturn {\n\t\t\t[this.constructor.SM]:\n\t\t\t\ttheme[this.getHookName(illustration, this.constructor.SM)],\n\t\t\t[this.constructor.MD]:\n\t\t\t\ttheme[this.getHookName(illustration, this.constructor.MD)],\n\t\t\t[this.constructor.LG]:\n\t\t\t\ttheme[this.getHookName(illustration, this.constructor.LG)],\n\t\t};\n\t}\n}\n","export const SVG = 'svg';\nexport const CACHE_VERSION = 3;\nexport const NOW_ILLUSTRATION_CACHE_NAME = `now-illustration-svg-cache-v${CACHE_VERSION}`;\nexport const LOCAL_STORAGE_KEY = (str, path) => {\n\treturn `${NOW_ILLUSTRATION_CACHE_NAME}${path}`;\n};\nimport {declarativeOperations} from '@servicenow/ui-core';\nimport ThemeableIllustration from '../themeable-illustration';\n\nexport const sharedFetchSucceeded = (assetMap, resolveAssetLoadQueue) => {\n\treturn {\n\t\tstopPropagation: true,\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\taction: {\n\t\t\t\t\tpayload,\n\t\t\t\t\tmeta: {illustration, size, themeHookUrl},\n\t\t\t\t},\n\t\t\t\tupdateState,\n\t\t\t} = coeffects;\n\t\t\tconst ti = new ThemeableIllustration();\n\t\t\t// Because Safari + VO we have to ensure the svg is hidden or it will be annouced\n\t\t\t// at the img level + the svg level\n\t\t\tlet inlineSVG = '';\n\t\t\tif (assetMap[illustration].type === SVG) {\n\t\t\t\tinlineSVG = payload;\n\t\t\t}\n\n\t\t\tif (inlineSVG) {\n\t\t\t\tif (ti.hasBadGradient(inlineSVG)) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpath: 'hasBadGradient',\n\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\t\t\tshouldRender: false,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tconst resourcePath = themeHookUrl || `${illustration}-${size}.svg`;\n\t\t\t\tconst key = LOCAL_STORAGE_KEY`${resourcePath}`;\n\t\t\t\tlocalStorage.setItem(key, inlineSVG);\n\t\t\t\tassetMap[illustration].sizes[size].loaded = true;\n\t\t\t\tassetMap[illustration].sizes[size].isLoading = false;\n\t\t\t\tassetMap[illustration].sizes[size].data = inlineSVG;\n\n\t\t\t\tresolveAssetLoadQueue({\n\t\t\t\t\tsize,\n\t\t\t\t\tillustration,\n\t\t\t\t\tdata: assetMap[illustration].sizes[size].data,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t};\n};\n\nexport const sharedFetchFailed = (assetMap) => {\n\treturn {\n\t\tstopPropagation: true,\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\taction: {\n\t\t\t\t\tmeta: {illustration, size},\n\t\t\t\t},\n\t\t\t\tupdateState,\n\t\t\t} = coeffects;\n\t\t\tdelete assetMap[illustration].sizes[size];\n\t\t\tupdateState({data: '', size: null, type: null});\n\t\t},\n\t};\n};\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {createElementFromNode} from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_now-illustration.scss';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {orderedSizeMap, pixelSizeMap, assetMap} from './maps.js';\nimport resizeBehavior from '@servicenow/behavior-resize';\nimport themeBehavior from '@servicenow/behavior-theme';\nimport {declarativeOperations} from '@servicenow/ui-core';\nimport ThemeableIllustration from './themeable-illustration';\nimport {createHttpEffect} from '@servicenow/ui-effect-http';\nimport {\n\tSVG,\n\tLOCAL_STORAGE_KEY,\n\tsharedFetchSucceeded,\n\tsharedFetchFailed,\n} from './utils/shared-effect-http';\nconst {\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_RENDERED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_PROPERTY_CHANGED,\n} = actionTypes;\nconst ti = new ThemeableIllustration();\nconst init = ({state, properties, updateState, dispatch, host}) => {\n\tif (properties.size === ThemeableIllustration.AUTO) {\n\t\tupdateResizeObserver({properties, dispatch});\n\t\tforceHostMeasure({\n\t\t\thost,\n\t\t\tupdateState,\n\t\t\tdispatch,\n\t\t});\n\t} else {\n\t\tprocessSize({\n\t\t\tproperties,\n\t\t\tupdateState,\n\t\t\tthemeHookUrl: ti.hasThemeImageUrl(state, properties)\n\t\t\t\t? ti.getUrlFromHook(state, properties)\n\t\t\t\t: null,\n\t\t\tdispatch,\n\t\t});\n\t}\n};\n\nconst processSize = ({properties, updateState, themeHookUrl, dispatch}) => {\n\tconst {size} = properties;\n\tupdateState({\n\t\toperation: 'set',\n\t\tpath: 'requestedSize',\n\t\tvalue: size,\n\t\tshouldRender: false,\n\t});\n\tprocessRequestedSize({\n\t\tsize,\n\t\tillustration: properties.illustration,\n\t\tupdateState,\n\t\tthemeHookUrl,\n\t\tdispatch,\n\t});\n};\n\nconst processRequestedSize = ({\n\tsize,\n\tillustration,\n\tupdateState,\n\tthemeHookUrl,\n\tdispatch,\n}) => {\n\tgetCorrectAsset(\n\t\t{size, illustration, themeHookUrl, dispatch},\n\t\tupdateState,\n\t).then((toUse) => {\n\t\tupdateState({\n\t\t\tasset: {...toUse.asset, type: toUse.type},\n\t\t\tcurrentSize: toUse.size,\n\t\t});\n\t});\n};\n\nconst fetchAsset = createHttpEffect(\n\t'/images/@servicenow/now-illustration/:illustrationName',\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tpathParams: ['illustrationName'],\n\t\tstreaming: {parsePartsAsJson: false, emitCompletedResponse: true},\n\t\tsuccessActionType: 'PRIVATE#ASSET_FETCH_SUCCEEDED',\n\t\terrorActionType: 'PRIVATE#ASSET_FETCH_FAILED',\n\t},\n);\n\nconst fetchCustomUrlAsset = createHttpEffect('/:directory/:file', {\n\tmethod: 'GET',\n\tbatch: false,\n\tencodeURIComponent: false,\n\tpathParams: ['directory', 'file'],\n\tstreaming: {parsePartsAsJson: false, emitCompletedResponse: true},\n\tsuccessActionType: 'PRIVATE#ASSET_FETCH_CUSTOM_URL_SUCCEEDED',\n\terrorActionType: 'PRIVATE#ASSET_FETCH_CUSTOM_URL_FAILED',\n});\n\nexport const fetchFromCache = (dispatch, illustration, size, themeHookUrl) => {\n\tlet parts;\n\tif (themeHookUrl) {\n\t\tconst url = themeHookUrl.startsWith('/')\n\t\t\t? themeHookUrl.substring(1)\n\t\t\t: themeHookUrl;\n\t\tparts = url.split('/');\n\t}\n\tconst illustrationName = themeHookUrl || `${illustration}-${size}.svg`;\n\tconst key = LOCAL_STORAGE_KEY`${illustrationName}`;\n\tconst svgString = localStorage.getItem(key);\n\tif (!svgString) {\n\t\tdispatch(\n\t\t\tthemeHookUrl\n\t\t\t\t? 'PRIVATE#ASSET_FETCH_CUSTOM_URL_REQUESTED'\n\t\t\t\t: 'PRIVATE#ASSET_FETCH_REQUESTED',\n\t\t\tthemeHookUrl ? {directory: parts[0], file: parts[1]} : {illustrationName},\n\t\t\t{illustration, size, themeHookUrl, illustrationName},\n\t\t);\n\t\treturn;\n\t}\n\treturn svgString;\n};\n\nconst assetLoadQueue = {};\nconst queueAssetLoad = ({size, illustration}) => {\n\treturn new Promise((resolve) => {\n\t\tassetLoadQueue[illustration] = assetLoadQueue[illustration] || {};\n\t\tassetLoadQueue[illustration][size] =\n\t\t\tassetLoadQueue[illustration][size] || [];\n\t\tassetLoadQueue[illustration][size].push(resolve);\n\t});\n};\n\nconst resolveAssetLoadQueue = ({size, illustration, data}) => {\n\tif (!assetLoadQueue[illustration] || !assetLoadQueue[illustration][size]) {\n\t\treturn;\n\t}\n\tfor (const res of assetLoadQueue[illustration][size]) {\n\t\tres(data);\n\t}\n};\n\n/**\n * Fetch one asset in one size and store information about it\n * in the asset map\n * @param {*} param0\n */\nconst loadAsset = (\n\t{size, illustration, themeHookUrl, dispatch},\n\tupdateState,\n) => {\n\tif (assetMap[illustration].sizes[size].isLoading) {\n\t\treturn queueAssetLoad({size, illustration});\n\t} else {\n\t\tassetMap[illustration].sizes[size].isLoading = true;\n\t\tqueueAssetLoad({size, illustration});\n\t}\n\n\tconst svgString = fetchFromCache(dispatch, illustration, size, themeHookUrl);\n\n\tif (!svgString) {\n\t\treturn Promise.resolve('');\n\t} else {\n\t\t// Because Safari + VO we have to ensure the svg is hidden or it will be annouced\n\t\t// at the img level + the svg level\n\t\tif (assetMap[illustration].type === SVG) {\n\t\t\tif (ti.hasBadGradient(svgString)) {\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'hasBadGradient',\n\t\t\t\t\tvalue: true,\n\t\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\t\tshouldRender: false,\n\t\t\t\t});\n\t\t\t}\n\t\t\tassetMap[illustration].sizes[size].loaded = true;\n\t\t\tassetMap[illustration].sizes[size].isLoading = false;\n\t\t\tassetMap[illustration].sizes[size].data = svgString;\n\t\t\tresolveAssetLoadQueue({\n\t\t\t\tsize,\n\t\t\t\tillustration,\n\t\t\t\tdata: assetMap[illustration].sizes[size].data,\n\t\t\t});\n\t\t}\n\t}\n\treturn Promise.resolve(svgString);\n};\n\n/**\n * Gets the image data for a size/illustration combo.\n * Note that this might return the data of a different image size\n * if the requested size doesn't exist\n * Only assets whitelisted in the assetmap can be loaded\n * Note that we can easily switch to allowing custom illustrations by dynamically\n * changing the asset map\n * Returns the data and the size associated with it\n * @param {*} param0\n */\nconst getCorrectAsset = (\n\t{size, illustration, themeHookUrl, dispatch},\n\tupdateState,\n) => {\n\treturn new Promise((resolve) => {\n\t\t// asset is not whitelisted or has no available sizes\n\t\tif (\n\t\t\t!size ||\n\t\t\t!illustration ||\n\t\t\t!assetMap[illustration] ||\n\t\t\t!assetMap[illustration].sizes\n\t\t) {\n\t\t\tresolve({data: '', size, type: null});\n\t\t\treturn;\n\t\t}\n\n\t\t// that size doesn't exist\n\t\tif (!assetMap[illustration].sizes[size]) {\n\t\t\tresolve(\n\t\t\t\tgetCorrectAsset(\n\t\t\t\t\t{\n\t\t\t\t\t\tsize: getNextSize({size, illustration}),\n\t\t\t\t\t\tillustration,\n\t\t\t\t\t\tthemeHookUrl,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t},\n\t\t\t\t\tupdateState,\n\t\t\t\t),\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tif (!assetMap[illustration].sizes[size].loaded) {\n\t\t\tresolve(\n\t\t\t\tloadAsset(\n\t\t\t\t\t{size, illustration, themeHookUrl, dispatch},\n\t\t\t\t\tupdateState,\n\t\t\t\t).then(() => {\n\t\t\t\t\treturn getCorrectAsset(\n\t\t\t\t\t\t{size, illustration, themeHookUrl, dispatch},\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t);\n\t\t\t\t}),\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tresolve({\n\t\t\tasset: assetMap[illustration].sizes[size],\n\t\t\tsize,\n\t\t\ttype: assetMap[illustration].type,\n\t\t});\n\t});\n};\n\n/**\n * For a given illustration and `size` property gets the next \"logical\"\n * size based on requirements: try smaller first if no smaller ones then try bigger\n * @param {*} param0\n */\nconst getNextSize = ({size, illustration}) => {\n\tif (!assetMap[illustration] || !assetMap[illustration].sizes) {\n\t\treturn '';\n\t}\n\n\tconst availableSizes = Object.keys(assetMap[illustration].sizes),\n\t\tordered = orderedSizeMap.reduce((acc, val) => {\n\t\t\tif (availableSizes.indexOf(val) !== -1 || val === size) {\n\t\t\t\tacc.push(val);\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, []),\n\t\ti = ordered.indexOf(size);\n\n\tif (ordered.length === 1) {\n\t\t// no other size available\n\t\treturn 'null';\n\t}\n\n\tif (i === 0) {\n\t\t// no smaller size, go up\n\t\treturn ordered[i + 1];\n\t} else {\n\t\treturn ordered[i - 1];\n\t}\n};\n\n/**\n * in auto mode the size of the comp changed, see if we need to change the requestedSize\n * @param {*} param0\n */\nconst pixelSizeChanged = ({updateState, width, height, dispatch}) => {\n\tconst smallerSide = Math.min(width, height);\n\tlet newSize = '';\n\n\tif (smallerSide <= pixelSizeMap.md) {\n\t\tnewSize = ThemeableIllustration.SM;\n\t} else if (smallerSide <= pixelSizeMap.lg) {\n\t\tnewSize = ThemeableIllustration.MD;\n\t} else {\n\t\tnewSize = ThemeableIllustration.LG;\n\t}\n\n\tupdateState({\n\t\toperation: 'set',\n\t\tpath: 'requestedSize',\n\t\tvalue: newSize,\n\t\tshouldRender: false,\n\t});\n\tdispatch('NOW_TILE_ICON#REQUESTED_SIZE_CHANGED');\n};\n\nconst updateResizeObserver = ({properties, forceRemove, dispatch}) => {\n\tif (properties.size === 'auto' && !forceRemove) {\n\t\tdispatch('NOW_RESIZE#ENABLE');\n\t} else {\n\t\tdispatch('NOW_RESIZE#DISABLE');\n\t}\n};\n\n/**\n * force a host size measure as the resizeobserver doesn't kick on init\n */\nconst forceHostMeasure = ({host, updateState, dispatch}) => {\n\trequestAnimationFrame(() => {\n\t\tconst rect = host.getBoundingClientRect();\n\t\tpixelSizeChanged({\n\t\t\tupdateState,\n\t\t\twidth: rect.width,\n\t\t\theight: rect.height,\n\t\t\tdispatch,\n\t\t});\n\t});\n};\nconst renderImage = (state) => {\n\tconst {\n\t\tasset: {data},\n\t\tproperties: {alt},\n\t} = state;\n\tconst fig = document.createElement('FIGURE');\n\tfig.classList.add('now-illustration');\n\t//adding unique class to fix DEF0522940\n\tconst klass = `c__${(Math.random() + 1).toString(36).substring(10)}`;\n\tfig.classList.add(klass);\n\tfig.innerHTML = data;\n\tconst vnode = createElementFromNode(fig);\n\tvnode.children[0].data.attrs['role'] = 'img';\n\tvnode.children[0].data.attrs['aria-label'] = alt;\n\tvnode.children[0].data.attrs['aria-hidden'] = alt ? 'false' : 'true';\n\treturn vnode;\n};\nconst view = (state) => {\n\t// no asset available\n\tif (!state.asset || !state.currentSize) {\n\t\treturn <span />;\n\t}\n\n\treturn renderImage(state);\n};\n\n/**\n * An SVG asset that can be added to clarify container text or convey additional information to the user.\n *\n * ```jsx\n * <now-illustration illustration=\"add-attachment\" size=\"auto\" />\n * ```\n *\n * @seismicElement now-illustration\n * @summary Multi-size set of illustrations loaded on-demand. The component will first check the currently applied theme for any of the following 'Next Experience' design tokens for the image URL to load:\n `--now-illustration--add-attachment-sm--url`,\n `--now-illustration--add-attachment-md--url`,\n `--now-illustration--add-attachment-lg--url`,\n `--now-illustration--add-data-sm--url`,\n `--now-illustration--add-data-md--url`,\n `--now-illustration--add-data-lg--url`,\n `--now-illustration--completed-tasks-sm--url`,\n `--now-illustration--completed-tasks-md--url`,\n `--now-illustration--completed-tasks-lg--url`,\n `--now-illustration--error-sm--url`,\n `--now-illustration--error-md--url`,\n `--now-illustration--error-lg--url`,\n `--now-illustration--first-time-user-sm--url`,\n `--now-illustration--first-time-user-md--url`,\n `--now-illustration--first-time-user-lg--url`,\n `--now-illustration--interrupted-sm--url`,\n `--now-illustration--interrupted-md--url`,\n `--now-illustration--interrupted-lg--url`,\n `--now-illustration--no-activities-sm--url`,\n `--now-illustration--no-activities-md--url`,\n `--now-illustration--no-activities-lg--url`,\n `--now-illustration--no-data-sm--url`,\n `--now-illustration--no-data-md--url`,\n `--now-illustration--no-data-lg--url`,\n `--now-illustration--no-search-results-sm--url`,\n `--now-illustration--no-search-results-md--url`,\n `--now-illustration--no-search-results-lg--url`,\n `--now-illustration--offline-sm--url`,\n `--now-illustration--offline-md--url`,\n `--now-illustration--offline-lg--url`,\n `--now-illustration--permissions-sm--url`,\n `--now-illustration--permissions-md--url`,\n `--now-illustration--permissions-lg--url`,\n `--now-illustration--unconfigured-sm--url`,\n `--now-illustration--unconfigured-md--url`,\n `--now-illustration--unconfigured-lg--url`\n * @uib.label Illustration\n * @uib.icon illustration\n * @uib.description An SVG asset that can be added to clarify container text or convey additional information to the user.\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties illustration, size, alt\n * @uib.layout.accessibility.children alt\n * @uib.layout.accessibility.icon accessibility-outline\n */\n\ncreateEnhancedElement('now-illustration', {\n\tproperties: {\n\t\t/**\n\t\t * Requested size used to pick the right illustration asset. If using `auto`, then\n\t\t * the component chooses the appropriate illustration asset based on the current\n\t\t * size of the now-illustration component. Note: When using `auto` mode, do not\n\t\t * set the illustration `display` to an inline value.\n\t\t * @type {('sm'|'md'|'lg'|'auto')}\n\t\t * @uib.description Requested size used to pick the right illustration asset. If using `auto` then the component chooses the appropriate illustration asset based on the current size of the now-illustration component. Note: When using `auto` mode, do not set the illustration `display` to an inline value\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'auto',\n\t\t\tschema: {type: 'string', enum: ['sm', 'md', 'lg', 'auto']},\n\t\t},\n\t\t/**\n\t\t * Descriptive text to use for the illustration. By default, there is no alternative text.\n\t\t * @type {(string)}\n\t\t * @uib.label Alt text\n\t\t * @uib.description Descriptive text to use for the illustration. By default, there is no alternative text.\n\t\t */\n\t\talt: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Name of the illustration to use.\n\t\t * @type {('add-attachment'|'add-data'|'completed-tasks'|'error'|'first-time-user'|'interrupted'|'no-activities'|'no-data'|'no-search-results'|'offline'|'permissions'|'unconfigured')}\n\t\t * @uib.description Name of the illustration to use\n\t\t * @uib.defaultValue add-attachment\n\t\t */\n\t\tillustration: {\n\t\t\trequired: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'add-attachment',\n\t\t\t\t\t'add-data',\n\t\t\t\t\t'completed-tasks',\n\t\t\t\t\t'error',\n\t\t\t\t\t'first-time-user',\n\t\t\t\t\t'interrupted',\n\t\t\t\t\t'no-activities',\n\t\t\t\t\t'no-data',\n\t\t\t\t\t'no-search-results',\n\t\t\t\t\t'offline',\n\t\t\t\t\t'permissions',\n\t\t\t\t\t'unconfigured',\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n\tinitialState: {\n\t\tcurrentSize: null,\n\t\tasset: null,\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: resizeBehavior,\n\t\t\toptions: {\n\t\t\t\ttimer: {type: 'throttle', wait: 30},\n\t\t\t\tpreventRender: true,\n\t\t\t\tcomponentManaged: true,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbehavior: themeBehavior,\n\t\t\toptions: {\n\t\t\t\titems: [\n\t\t\t\t\t'--now-illustration--add-attachment-sm--url',\n\t\t\t\t\t'--now-illustration--add-attachment-md--url',\n\t\t\t\t\t'--now-illustration--add-attachment-lg--url',\n\t\t\t\t\t'--now-illustration--add-data-sm--url',\n\t\t\t\t\t'--now-illustration--add-data-md--url',\n\t\t\t\t\t'--now-illustration--add-data-lg--url',\n\t\t\t\t\t'--now-illustration--completed-tasks-sm--url',\n\t\t\t\t\t'--now-illustration--completed-tasks-md--url',\n\t\t\t\t\t'--now-illustration--completed-tasks-lg--url',\n\t\t\t\t\t'--now-illustration--error-sm--url',\n\t\t\t\t\t'--now-illustration--error-md--url',\n\t\t\t\t\t'--now-illustration--error-lg--url',\n\t\t\t\t\t'--now-illustration--first-time-user-sm--url',\n\t\t\t\t\t'--now-illustration--first-time-user-md--url',\n\t\t\t\t\t'--now-illustration--first-time-user-lg--url',\n\t\t\t\t\t'--now-illustration--interrupted-sm--url',\n\t\t\t\t\t'--now-illustration--interrupted-md--url',\n\t\t\t\t\t'--now-illustration--interrupted-lg--url',\n\t\t\t\t\t'--now-illustration--no-activities-sm--url',\n\t\t\t\t\t'--now-illustration--no-activities-md--url',\n\t\t\t\t\t'--now-illustration--no-activities-lg--url',\n\t\t\t\t\t'--now-illustration--no-data-sm--url',\n\t\t\t\t\t'--now-illustration--no-data-md--url',\n\t\t\t\t\t'--now-illustration--no-data-lg--url',\n\t\t\t\t\t'--now-illustration--no-search-results-sm--url',\n\t\t\t\t\t'--now-illustration--no-search-results-md--url',\n\t\t\t\t\t'--now-illustration--no-search-results-lg--url',\n\t\t\t\t\t'--now-illustration--offline-sm--url',\n\t\t\t\t\t'--now-illustration--offline-md--url',\n\t\t\t\t\t'--now-illustration--offline-lg--url',\n\t\t\t\t\t'--now-illustration--permissions-sm--url',\n\t\t\t\t\t'--now-illustration--permissions-md--url',\n\t\t\t\t\t'--now-illustration--permissions-lg--url',\n\t\t\t\t\t'--now-illustration--unconfigured-sm--url',\n\t\t\t\t\t'--now-illustration--unconfigured-md--url',\n\t\t\t\t\t'--now-illustration--unconfigured-lg--url',\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t],\n\tactionHandlers: {\n\t\t[COMPONENT_RENDERED]: ({state, host}) => {\n\t\t\tconst {hasBadGradient} = state;\n\t\t\tif (hasBadGradient) {\n\t\t\t\thost.shadowRoot.childNodes.forEach((node) => {\n\t\t\t\t\tti.findAndFixGradients(node);\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\n\t\t['PRIVATE#THEME_CHANGED']: ({\n\t\t\tstate,\n\t\t\tproperties,\n\t\t\tupdateState,\n\t\t\tdispatch,\n\t\t\thost,\n\t\t}) => {\n\t\t\tconst {illustration, size} = properties;\n\t\t\tti.cancelDelay(illustration, size);\n\t\t\tinit({state, properties, updateState, dispatch, host});\n\t\t},\n\t\t[COMPONENT_CONNECTED]: ({\n\t\t\tstate,\n\t\t\tproperties,\n\t\t\tupdateState,\n\t\t\tdispatch,\n\t\t\thost,\n\t\t}) => {\n\t\t\t/*\n\t\t\t * If the theme behavior does not dispatch PRIVATE#THEME_CHANGED, we need to call init via callback...\n\t\t\t * If we do receive the PRIVATE#THEME_CHANGED event we'll cancel this startDelay...\n\t\t\t * Otherwise this call will start loading the default image before we get a chance to determine if there is a image url in the theme hook.\n\t\t\t */\n\t\t\tconst callback = () =>\n\t\t\t\tinit({state, properties, updateState, dispatch, host});\n\t\t\tconst {illustration, size} = properties;\n\t\t\tti.startDelay(illustration, size, callback, 100);\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: ({host, properties, dispatch}) => {\n\t\t\tupdateResizeObserver({properties, host, dispatch, forceRemove: true});\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\t\thost,\n\t\t\tstate,\n\t\t\tproperties,\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t}) => {\n\t\t\tconst {name, value, previousValue} = action.payload;\n\n\t\t\tif (name === 'size') {\n\t\t\t\tif (\n\t\t\t\t\tvalue === ThemeableIllustration.AUTO &&\n\t\t\t\t\tpreviousValue !== ThemeableIllustration.AUTO\n\t\t\t\t) {\n\t\t\t\t\tforceHostMeasure({host, updateState, dispatch});\n\t\t\t\t} else {\n\t\t\t\t\tconst {illustration} = properties;\n\t\t\t\t\tconst themeHookUrl = ti.hasThemeImageUrl(state, {\n\t\t\t\t\t\tillustration,\n\t\t\t\t\t\tsize: value,\n\t\t\t\t\t})\n\t\t\t\t\t\t? ti.getUrlFromHook(state, {illustration, size: value})\n\t\t\t\t\t\t: null;\n\t\t\t\t\tprocessSize({properties, updateState, themeHookUrl, dispatch});\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (name === 'illustration') {\n\t\t\t\tconst {size} = properties;\n\n\t\t\t\tconst themeHookUrl = ti.hasThemeImageUrl(state, {\n\t\t\t\t\tillustration: value,\n\t\t\t\t\tsize,\n\t\t\t\t})\n\t\t\t\t\t? ti.getUrlFromHook(state, {illustration: value, size})\n\t\t\t\t\t: null;\n\n\t\t\t\tprocessRequestedSize({\n\t\t\t\t\tsize,\n\t\t\t\t\tillustration: value,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tthemeHookUrl,\n\t\t\t\t\tdispatch,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t['NOW_RESIZE#ELEMENT_RESIZED']: ({\n\t\t\tupdateState,\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\tstate,\n\t\t}) => {\n\t\t\tconst {width, height} = action.payload;\n\t\t\tif (state?.asset?.data && ti.hasBadGradient(state.asset.data)) {\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'hasBadGradient',\n\t\t\t\t\tvalue: true,\n\t\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\t\tshouldRender: false,\n\t\t\t\t});\n\t\t\t}\n\t\t\tpixelSizeChanged({updateState, width, height, dispatch});\n\t\t},\n\t\t['NOW_TILE_ICON#REQUESTED_SIZE_CHANGED']: {\n\t\t\tstopPropagation: true,\n\t\t\teffect: ({state, properties, updateState, dispatch}) => {\n\t\t\t\tconst illustration = properties.illustration;\n\t\t\t\tconst size = state.requestedSize;\n\n\t\t\t\tconst themeHookUrl = ti.hasThemeImageUrl(state, {illustration, size})\n\t\t\t\t\t? ti.getUrlFromHook(state, {illustration, size})\n\t\t\t\t\t: null;\n\t\t\t\tprocessRequestedSize({\n\t\t\t\t\tsize: state.requestedSize,\n\t\t\t\t\tillustration: properties.illustration,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tthemeHookUrl,\n\t\t\t\t\tdispatch,\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\t['PRIVATE#ASSET_FETCH_CUSTOM_URL_REQUESTED']: fetchCustomUrlAsset,\n\t\t['PRIVATE#ASSET_FETCH_REQUESTED']: fetchAsset,\n\t\t['PRIVATE#ASSET_FETCH_CUSTOM_URL_SUCCEEDED']: sharedFetchSucceeded(\n\t\t\tassetMap,\n\t\t\tresolveAssetLoadQueue,\n\t\t),\n\t\t['PRIVATE#ASSET_FETCH_CUSTOM_URL_FAILED']: sharedFetchFailed(assetMap),\n\n\t\t['PRIVATE#ASSET_FETCH_SUCCEEDED']: sharedFetchSucceeded(\n\t\t\tassetMap,\n\t\t\tresolveAssetLoadQueue,\n\t\t),\n\t\t['PRIVATE#ASSET_FETCH_FAILED']: sharedFetchFailed(assetMap),\n\t},\n\tstyles,\n\tview,\n});\n","import {createCustomElement} from '@servicenow/ui-core';\nimport styles from './_now-illustration-custom.scss';\nimport {createElementFromNode} from '@servicenow/ui-renderer-snabbdom';\nimport {actionTypes} from '@servicenow/ui-core';\nimport themeBehavior from '@servicenow/behavior-theme';\nimport ThemeableIllustration from './themeable-illustration';\n\nconst ti = new ThemeableIllustration();\n\nconst {COMPONENT_RENDERED, COMPONENT_CONNECTED} = actionTypes;\n\nconst delayHash = {};\n\nconst NOW_ILLUSTRATION_CUSTOM_PREFIX = '--now-illustration-custom-';\n\nconst getImagePathFromTokenId = (tokenId, state) => {\n\tconst {\n\t\tbehaviors: {theme},\n\t} = state;\n\tlet path;\n\tObject.keys(theme).forEach((hook) => {\n\t\tif (hook == `${NOW_ILLUSTRATION_CUSTOM_PREFIX}${tokenId}`) {\n\t\t\tpath = theme[hook];\n\t\t}\n\t});\n\treturn path;\n};\n\nconst loadImage = async (svgPath, fallback) => {\n\tconst request = new Request(svgPath);\n\tconst resp = await fetch(request);\n\tif (resp.ok) {\n\t\tconst svg = await resp.text();\n\t\tif (!svg) return;\n\t\t// gradients will be correct when initally loaded, but will be converted to LINEAR_GRADIENT and/or RADIAL_GRADIENT with rendered to DOM (innerHTML)\n\t\treturn {svg, hasBadGradient: ti.hasBadGradient(svg)};\n\t} else if (fallback) {\n\t\treturn loadImage(fallback);\n\t}\n\treturn;\n};\n\nconst init = async ({state, properties, updateState}) => {\n\tconst {src, tokenId} = properties;\n\tlet illustrationPath, fallback;\n\tif (tokenId) {\n\t\tillustrationPath = getImagePathFromTokenId(tokenId, state);\n\t\tif (!illustrationPath) {\n\t\t\tillustrationPath = src;\n\t\t} else {\n\t\t\tfallback = src;\n\t\t}\n\t} else if (src) {\n\t\tillustrationPath = src;\n\t}\n\n\tif (!illustrationPath) return;\n\n\tconst {svg, hasBadGradient} = await loadImage(illustrationPath, fallback);\n\n\tif (!svg) return;\n\n\tupdateState({\n\t\tsvg,\n\t\thasBadGradient,\n\t});\n};\n\nconst cancelDelay = (svg) => {\n\twindow.cancelAnimationFrame(delayHash[svg].requestId);\n};\nconst startDelay = (svg, fn, delay, start = Date.now()) => {\n\tif (!delayHash[svg]) delayHash[svg] = {};\n\tdelayHash[svg] = {\n\t\tdelay,\n\t\tstart,\n\t\trequestId: null,\n\t};\n\tdelayHash[svg].requestId = requestAnimationFrame(intervalFn(svg, fn));\n};\nconst intervalFn = (svg, fn) => {\n\treturn () => {\n\t\tconst {start, delay} = delayHash[svg];\n\t\tconst delta = Date.now() - start;\n\t\tif (delta > delay) fn();\n\t\telse startDelay(svg, fn, delay, start);\n\t};\n};\n\nconst view = (state) => {\n\tconst {\n\t\tsvg,\n\t\tproperties: {width, height},\n\t} = state;\n\n\tif (!svg) {\n\t\treturn <span />;\n\t}\n\n\tconst fig = document.createElement('FIGURE');\n\tfig.classList.add('now-illustration-custom');\n\tlet styles = '';\n\tstyles = width ? `width:${width};` : '';\n\tstyles += height ? `height:${height};` : '';\n\tfig.setAttribute('style', styles);\n\tconst parser = new DOMParser();\n\tconst {documentElement} = parser.parseFromString(svg, 'image/svg+xml');\n\tfig.appendChild(documentElement);\n\treturn createElementFromNode(fig);\n};\n/**\n * Themeable images are inline SVG images containing an encapsulated style block that may contain themeing information.\n * now-illustration-custom has 2 primary themeing features:\n * 1) The component supports the use of a token-id, a dynamic suffix appended to the base style token `--now-illustration-custom-`, the complete style token can then be added to the `imagery style record` of a theme which will contain the svg source url. This provides the flexibility for multiple images to be rendered into the component based on which theme is applied.\n *    The below example would retrieve the the complete style token `--now-illustration-custom-my-svg-image` from the theme and render the svg image.\n *    Example imagery style record configuration\n * ```json\n * {\n *  \"properties\": {\n *  \t\"--now-illustration-custom-my-svg-image\": \"/images/my-custom-image.svg\"\n *  \t}\n * \t}\n * ```\n ***Component usage example, the optional src property could also be added as a fallback image if token-id fails to resolve / or is missing from the applied theme.\n * ```jsx\n *\t\t<now-illustration-custom token-id=\"my-svg-image\" src=\"/my-fallback-image.svg\" width=\"200px\" />\n *\n * ```\n * 2) The second themeing feature is the ability to embed the **Next Experience** themeing style tokens within a custom svg.\n *  ```xml\n *  \t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 250 250\">\n\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t.primary {fill:rgb(var(--now-color_brand--primary));}\n\t\t\t\t\t.secondary {fill:rgb(var(--now-color_brand--secondary));}\n\t\t\t\t</style>\n\t\t\t\t<g>\n\t\t\t\t\t<path class=\"secondary\" d=\"M68.4,151.6c0-48.7,39.6-88.3,88.3-88.3c8.1,0,16,1.1,23.5,3.2V19.2H14.1v166.2h61.1\n\t\tC70.8,175,68.4,163.6,68.4,151.6z\"/>\n\t\t\t\t</g>\n\t\t\t\t<circle class=\"primary\" cx=\"157.4\" cy=\"151.4\" r=\"86.8\"/>\n\t\t</svg>\n  ```\n * 2) The secondsrc property is used to configure the component to a single image source, the same image will be rendered regardless of which theme is applied.\n *\n *```jsx\n * <now-illustration-custom src=\"/images/my-custom-image.svg\" width=\"200px\" />\n *\n * ```\n *\n * 2) The svg image has dynamic color hooks embedded, allowing for the image to match the applied theme's color palette, will work for both dynamic and static images sources.\n *\n *\n * @seismicElement now-illustration-custom\n * @summary Theme-able inline svg illustration component.\n * @uib.label Custom Illustration\n * @uib.icon illustration\n * @uib.description An SVG asset that can be added to clarify container text or convey additional information to the user.\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties src, tokenId, alt, width, height\n * @uib.layout.accessibility.children alt\n * @uib.layout.accessibility.icon accessibility-outline\n */\n\ncreateCustomElement('now-illustration-custom', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\t/**\n\t\t * tokenId is a unique key suffix to be added to '--now-illustration-custom-'\n\t\t * This will enable dynamic style token creation, used to contain the svg image url\n\t\t * Example tokenId=\"my-itsm-workspace-svg-image\"\n\t\t * The component will look for the deployed style token: \"--now-illustration-custom-my-itsm-workspace-svg-image\"\n\t\t * and read it's value as an svg image url\n\t\t * @type {string}\n\t\t * @uib.description The unique key suffix to be added to '--now-illustration-custom-' to enable style design token creation, that will contain the svg image url.\n\t\t **/\n\t\ttokenId: {\n\t\t\tschema: {\n\t\t\t\tdefault: '',\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * The inline svg image URL.\n\t\t * @type {string}\n\t\t *\n\t\t * @uib.optional\n\t\t * @uib.label SVG Image source\n\t\t * @uib.description URL of the inline svg image to show\n\t\t */\n\t\tsrc: {required: false, schema: {type: 'string'}},\n\n\t\t/**\n\t\t * Alternative text to use on the <img> tag of the illustration. By default, there is no alternative text.\n\t\t * @type {(string)}\n\t\t * @uib.label Alt text\n\t\t * @uib.description Alternative text to use on the <img> tag of the illustration. By default, there is no alternative text.\n\t\t */\n\t\talt: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Intrinsic width of the image in pixels.\n\t\t * @type {number}\n\t\t * @uib.label width\n\t\t * @uib.description width for the inline SVG, value including units ex: 100px, 100%, etc\n\t\t */\n\t\twidth: {default: '100%', schema: {type: 'string'}},\n\t\t/**\n\t\t * Intrinsic height of the image in pixels.\n\t\t * @type {number}\n\t\t * @uib.label height\n\t\t * @uib.description height for the inline SVG, value including units, ex: 100px, 100%, etc.\n\t\t */\n\t\theight: {default: '100%', schema: {type: 'string'}},\n\t},\n\tinitialState: {\n\t\tsvg: '',\n\t\thasBadGradient: false,\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: themeBehavior,\n\t\t\toptions: {\n\t\t\t\titems: ['--now-illustration-custom-*'],\n\t\t\t},\n\t\t},\n\t],\n\tactionHandlers: {\n\t\t[COMPONENT_RENDERED]: ({state, host}) => {\n\t\t\tconst {hasBadGradient} = state;\n\t\t\tif (hasBadGradient) {\n\t\t\t\thost.shadowRoot.childNodes.forEach((node) => {\n\t\t\t\t\tti.findAndFixGradients(node);\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t['PRIVATE#THEME_CHANGED']: ({\n\t\t\tstate,\n\t\t\tproperties,\n\t\t\tupdateState,\n\t\t\tdispatch,\n\t\t\thost,\n\t\t}) => {\n\t\t\tconst {svg} = properties;\n\t\t\tcancelDelay(svg);\n\t\t\tinit({state, properties, updateState, dispatch, host});\n\t\t},\n\t\t[COMPONENT_CONNECTED]: ({\n\t\t\tstate,\n\t\t\tproperties,\n\t\t\tupdateState,\n\t\t\tdispatch,\n\t\t\thost,\n\t\t}) => {\n\t\t\t/*\n\t\t\t * If the theme behavior does not dispatch PRIVATE#THEME_CHANGED, we need to call init via callback...\n\t\t\t * If we do receive the PRIVATE#THEME_CHANGED event we'll cancel this startDelay...\n\t\t\t * Otherwise this call will start loading the default image before we get a chance to determine if there is a image url in the theme hook.\n\t\t\t */\n\t\t\tconst callback = () =>\n\t\t\t\tinit({state, properties, updateState, dispatch, host});\n\t\t\tconst {svg} = properties;\n\t\t\tstartDelay(svg, callback, 100);\n\t\t},\n\t},\n});\n","import './now-illustration';\nimport './now-illustration-custom';\nimport * as info from '../package.json';\n\nconst {name, version} = info;\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {extensionSplit} from '@servicenow/library-enhanced-utils';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport styles from './_now-message.scss';\n\nconst view = (state) => {\n\tconst {alignment} = state.properties;\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'now-message': true,\n\t\t\t\t...extensionSplit(alignment),\n\t\t\t}}\n\t\t>\n\t\t\t<slot name=\"media\" />\n\t\t\t<div className=\"now-message-child\">\n\t\t\t\t<slot name=\"message\" />\n\t\t\t\t<slot name=\"actions\" />\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\n/**\n * Lets you compose messages using standard\n * interactions, patterns, behaviors and applied styles. Use cases include\n * empty states, boolean feedback, and confirmation messages.\n *\n * ```jsx\n * <now-message>\n * \t<img\n * \t\tslot=\"media\"\n * \t\tclassName=\"now-m-inline-end--xxl\"\n * \t\tsrc=\"...\"\n * \t\talt=\"...\"\n * \t/>\n * \t<div slot=\"message\" className=\"now-m-block--xl now-m-inline-end--xl\">\n * \t\t<h3 className=\"now-heading--lg now-m-block--0\">...</h3>\n * \t\t<p className=\"now-m-block-start--lg now-m-block-end--0\">...</p>\n * \t</div>\n * \t<div slot=\"actions\" className=\"now-align\">\n * \t\t<now-button\n * \t\t\tlabel=\"...\"\n * \t\t\tclassName=\"now-m-inline-end--sm\"\n * \t\t/>\n * \t\t<now-button label=\"...\" />\n * \t</div>\n * </now-message>\n * ```\n *\n * @seismicElement now-message\n * @summary Message framework allowing various alignments of slotted content.\n * @uib.label Message\n * @uib.icon message\n * @uib.description A framework for presenting cohesive messages, including text, images, and actions.\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties alignment\n **/\ncreateEnhancedElement('now-message', {\n\tproperties: {\n\t\t/**\n\t\t * Sets the alignment. Options include: adaptive (will transition from horizontal to\n\t\t * vertical and vice versa), vertical, vertical-centered, or horizontal.\n\t\t * @type {('adaptive'|'vertical'|'vertical-centered')}\n\t\t * @uib.description Sets the alignment\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Adaptive\", \"value\": \"adaptive\"},{\"label\": \"Vertical\", \"value\": \"vertical\"},{\"label\": \"Vertical centered\", \"value\": \"vertical-centered\"}, {\"label\": \"Horizontal\", \"value\": \"horizontal\"}]\n\t\t * @uib.defaultValue adaptive\n\t\t */\n\t\talignment: {\n\t\t\tdefault: 'adaptive',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['adaptive', 'vertical', 'vertical-centered'],\n\t\t\t},\n\t\t},\n\t},\n\tbehaviors: [{behavior: focusBehavior}],\n\tstyles,\n\tslots: {\n\t\t/**\n\t\t * Slot for media. Add illustration, tile icon, or image that brings visual\n\t\t * impact and meaning to the message.\n\t\t */\n\t\tmedia: {},\n\t\t/**\n\t\t * Slot for message. The heading should contain a title that conveys the purpose of\n\t\t * the component. The body should give users guidance on taking an action.\n\t\t */\n\t\tmessage: {},\n\t\t/**\n\t\t * Slot for buttons that perform actions.\n\t\t */\n\t\tactions: {},\n\t},\n\tview,\n});\n","import './now-message';\nimport * as info from '../package.json';\n\nconst {name, version} = info;\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport styles from './_now-template-message-empty-state.scss';\nimport '@servicenow/now-button';\nimport '@servicenow/now-illustration';\nimport '@servicenow/now-message';\nimport resizeBehavior from '@servicenow/behavior-resize';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {configAriaLabelRoleSchema} from '@servicenow/library-schemas';\n\nconst renderIllustration = (illustration) => {\n\tif (illustration) {\n\t\treturn (\n\t\t\t<now-illustration\n\t\t\t\tclassName=\"now-template-message-empty-state-illustration\"\n\t\t\t\tslot=\"media\"\n\t\t\t\tsize=\"auto\"\n\t\t\t\tillustration={illustration}\n\t\t\t/>\n\t\t);\n\t}\n};\n\nconst renderHeading = (heading, content) => {\n\tconst {level, label} = heading;\n\tconst TagName = level ? `h${level}` : 'p';\n\treturn (\n\t\t<TagName\n\t\t\tclass={{\n\t\t\t\t'now-template-message-empty-state-heading': true,\n\t\t\t\t'no-content': !content,\n\t\t\t}}\n\t\t>\n\t\t\t{label}\n\t\t</TagName>\n\t);\n};\n\nconst renderContent = (content) => {\n\tif (content) {\n\t\treturn (\n\t\t\t<p className=\"now-template-message-empty-state-content\">{content}</p>\n\t\t);\n\t}\n};\n\nconst renderAction = (action, size, dispatch) => {\n\treturn (\n\t\t<now-button\n\t\t\tclassName=\"now-template-message-empty-state-action\"\n\t\t\tsize={size === 'sm' ? 'sm' : 'md'}\n\t\t\tvariant={action.variant}\n\t\t\tlabel={action.label}\n\t\t\ticon={action.icon}\n\t\t\tdisabled={action.disabled}\n\t\t\ttooltip-content={action.tooltipContent}\n\t\t\tconfig-aria={action.configAria}\n\t\t\ton-click={() => {\n\t\t\t\tif (action.disabled) return;\n\t\t\t\tconst type =\n\t\t\t\t\taction.clickActionType ||\n\t\t\t\t\t'NOW_TEMPLATE_MESSAGE_EMPTY_STATE#ACTION_CLICKED';\n\t\t\t\tdispatch(type, {action});\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nconst renderActions = (actions, size, dispatch) => {\n\tif (Array.isArray(actions) && actions.length) {\n\t\treturn (\n\t\t\t<div slot=\"actions\" className=\"now-template-message-empty-state-actions\">\n\t\t\t\t{actions.map((action) => renderAction(action, size, dispatch))}\n\t\t\t</div>\n\t\t);\n\t}\n};\n\nconst view = (state, {dispatch}) => {\n\tconst {actions, alignment, content, heading, illustration} = state.properties;\n\tconst {size} = state;\n\treturn (\n\t\t<now-message\n\t\t\tclass={{\n\t\t\t\t'now-template-message-empty-state': true,\n\t\t\t\t[`-${size}`]: size,\n\t\t\t\t[`-${alignment}`]: alignment,\n\t\t\t}}\n\t\t\talignment={alignment}\n\t\t>\n\t\t\t{renderIllustration(illustration)}\n\t\t\t<div slot=\"message\" className=\"now-template-message-empty-state-messages\">\n\t\t\t\t{renderHeading(heading, content)}\n\t\t\t\t{renderContent(content)}\n\t\t\t</div>\n\t\t\t{renderActions(actions, size, dispatch)}\n\t\t</now-message>\n\t);\n};\n\n/**\n * A message that displays when there is no information or incomplete details to show in a dedicated space.\n *\n * ```jsx\n * <now-template-message-empty-state\n *   heading={{label: \"No results found\", level: \"4\"}}\n *   content=\"Please try your search again\"\n *   illustration=\"no-search-results\"\n *   actions={[{label: 'Go', variant: 'primary'}]}\n * />\n * ```\n *\n * @seismicElement now-template-message-empty-state\n * @summary Displays an illustration, heading, short description, and optional action buttons.\n * @uib.label Empty state\n * @uib.icon template-message-empty-state\n * @uib.description A message that displays when there is no information or incomplete details to show in a dedicated space.\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties illustration, alignment, heading, content, actions\n * @uib.layout.message.children heading, content, actions\n * @uib.layout.message.icon chat-outline\n * @uib.actions NOW_TEMPLATE_MESSAGE_EMPTY_STATE#ACTION_CLICKED\n */\ncreateEnhancedElement('now-template-message-empty-state', {\n\tproperties: {\n\t\t/**\n\t\t * An array of objects that defines the buttons displayed.\n\t\t * The keys for each object are properties for `now-button`. See\n\t\t * `now-button` for more information on using these properties.\n\t\t * - `label`: String. Label describing the action. Required.\n\t\t * - `icon`: String. Icon displayed with the label.\n\t\t * - `variant`: String. Button style variant.\n\t\t * - `disabled`: Boolean. Set to `true` to mute the button color and disable user click interactions.\n\t\t * - `tooltipContent`: String. Text to display in the optional tooltip associated with the button.\n\t\t * - `configAria`: Object. ARIA attributes to set on the action button.\n\t\t * - `clickActionType`: String. Overrides the default action type dispatched when the user clicks the action. Default: `\"NOW_TEMPLATE_MESSAGE_EMPTY_STATE#ACTION_CLICKED\"`.\n\t\t * @type {{ label: string, icon: string, variant: string, disabled: boolean, tooltipContent: string, configAria: object, clickActionType: string}[]}\n\t\t * @uib.description Array of action buttons to display in the component\n\t\t * @uib.fieldType collection\n\t\t * @uib.typeMetadata.collection.cardProperties.heading { \"heading\": \"label\", \"icon\": \"icon\" }\n\t\t */\n\t\tactions: {\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tlabel: {type: 'string', translatable: true},\n\t\t\t\t\t\ticon: {nowUIType: 'icon', type: 'string'},\n\t\t\t\t\t\tvariant: {type: 'string'},\n\t\t\t\t\t\ttooltipContent: {type: 'string'},\n\t\t\t\t\t\tclickActionType: {type: 'string'},\n\t\t\t\t\t\tdisabled: {type: 'boolean'},\n\t\t\t\t\t\tconfigAria: configAriaLabelRoleSchema,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Sets the alignment. Options include `adaptive` or `vertical-centered`\n\t\t * @type {('adaptive'|'vertical-centered')}\n\t\t * @uib.description Sets the alignment\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Adaptive\", \"value\": \"adaptive\"},{\"label\": \"Vertical centered\", \"value\": \"vertical-centered\"}, {\"label\": \"Horizontal\", \"value\": \"horizontal\"}]\n\t\t * @uib.defaultValue vertical-centered\n\t\t */\n\t\talignment: {\n\t\t\tdefault: 'vertical-centered',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['vertical-centered', 'adaptive'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Secondary text to display in the empty state message.\n\t\t * @type {string}\n\t\t * @uib.description Secondary text to display in the empty state message\n\t\t * @uib.defaultValue Please try your search again\n\t\t * @uib.translatable true\n\t\t */\n\t\tcontent: {\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\t/**\n\t\t * An object with properties to configure the primary text for the empty state:\n\t\t * - `label`: Text content for the heading.\n\t\t * - `level`: HTML heading element number used to render the heading. If not provided, it will render as a `p` tag.\n\t\t * @type {{label: string, level: (1|2|3|4|5|6)}}\n\t\t * @uib.description Primary text to display in the empty state message\n\t\t * @uib.defaultValue {\"label\": \"No results found\"}\n\t\t */\n\t\theading: {\n\t\t\trequired: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tlabel: {type: 'string', translatable: true},\n\t\t\t\t\tlevel: {type: 'number', enum: [1, 2, 3, 4, 5, 6]},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Name of the illustration to use.\n\t\t * @type {('add-attachment'|'add-data'|'completed-tasks'|'error'|'first-time-user'|'interrupted'|'no-activities'|'no-data'|'no-search-results'|'offline'|'permissions'|'unconfigured')}\n\t\t * @uib.description Name of the illustration to use\n\t\t * @uib.defaultValue no-search-results\n\t\t * @uib.typeMetadata.choices [{\"label\": \"No illustration\", \"value\": \"\"}, {\"label\": \"Add attachment\", \"value\": \"add-attachment\"}, {\"label\": \"Add data\", \"value\": \"add-data\"}, {\"label\": \"Completed tasks\", \"value\": \"completed-tasks\"}, {\"label\": \"Error\", \"value\": \"error\"}, {\"label\": \"First time user\", \"value\": \"first-time-user\"}, {\"label\": \"Interrupted\", \"value\": \"interrupted\"}, {\"label\": \"No activities\", \"value\": \"no-activities\"}, {\"label\": \"No data\", \"value\": \"no-data\"}, {\"label\": \"No search results\", \"value\": \"no-search-results\"}, {\"label\": \"Offline\", \"value\": \"offline\"}, {\"label\": \"Permissions\", \"value\": \"permissions\"}, {\"label\": \"Unconfigured\", \"value\": \"unconfigured\"}]\n\t\t */\n\t\tillustration: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'add-attachment',\n\t\t\t\t\t'add-data',\n\t\t\t\t\t'completed-tasks',\n\t\t\t\t\t'error',\n\t\t\t\t\t'first-time-user',\n\t\t\t\t\t'interrupted',\n\t\t\t\t\t'no-activities',\n\t\t\t\t\t'no-data',\n\t\t\t\t\t'no-search-results',\n\t\t\t\t\t'offline',\n\t\t\t\t\t'permissions',\n\t\t\t\t\t'unconfigured',\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the user clicks an action button. The payload includes a\n\t\t * reference to the clicked action. You can override the action type\n\t\t * by configuring `clickActionType`.\n\t\t * @type {{action: Object}}\n\t\t */\n\t\t'NOW_TEMPLATE_MESSAGE_EMPTY_STATE#ACTION_CLICKED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\taction: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tlabel: {type: 'string'},\n\t\t\t\t\t\t\ticon: {type: 'string'},\n\t\t\t\t\t\t\tvariant: {type: 'string'},\n\t\t\t\t\t\t\tdisabled: {type: 'boolean'},\n\t\t\t\t\t\t\tclickActionType: {type: 'string'},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tinitialState: {\n\t\tsize: 'sm',\n\t},\n\tbehaviors: [\n\t\t{behavior: focusBehavior},\n\t\t{\n\t\t\tbehavior: resizeBehavior,\n\t\t\toptions: {\n\t\t\t\ttimer: {type: 'throttle', wait: 500},\n\t\t\t\tpreventRender: true,\n\t\t\t},\n\t\t},\n\t],\n\tactionHandlers: {\n\t\t['NOW_RESIZE#ELEMENT_RESIZED']: ({action, properties, updateState}) => {\n\t\t\tconst {width, height} = action.payload;\n\t\t\tconst {alignment} = properties;\n\t\t\tif (\n\t\t\t\t(alignment === 'vertical-centered' && width >= 500) ||\n\t\t\t\t(alignment === 'horizontal' && height >= 500)\n\t\t\t) {\n\t\t\t\tupdateState({size: 'lg'});\n\t\t\t} else if (\n\t\t\t\t(alignment === 'vertical-centered' && width >= 250) ||\n\t\t\t\t(alignment === 'horizontal' && height >= 250)\n\t\t\t) {\n\t\t\t\tupdateState({size: 'md'});\n\t\t\t} else {\n\t\t\t\tupdateState({size: 'sm'});\n\t\t\t}\n\t\t},\n\t},\n\tstyles,\n\tview,\n});\n","import './now-template-message-empty-state';\nimport * as info from '../package.json';\n\nconst {name, version} = info;\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {toEmbeddableUrl} from '@servicenow/library-enhanced-utils';\nimport {filterAriaAttributes} from '@servicenow/library-enhanced-utils';\nimport styles from './_now-text-link.scss';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-tooltip';\nimport {t} from 'sn-translate';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport tooltipBehavior, {\n\tTOOLTIP_ADD_TARGET,\n\tTOOLTIP_REMOVE_TARGET,\n} from '@servicenow/behavior-tooltip';\nimport {configAriaLabelRoleHasPopUpSchema} from '@servicenow/library-schemas';\n\nconst _renderIcon = (icon, logicalProperty, iconSize) => {\n\tif (icon) {\n\t\treturn (\n\t\t\t<now-icon\n\t\t\t\tclass={{\n\t\t\t\t\t'now-text-link-icon': true,\n\t\t\t\t\t['now-m-' + logicalProperty + '--xxs']: true,\n\t\t\t\t}}\n\t\t\t\ticon={icon}\n\t\t\t\tsize={iconSize}\n\t\t\t\taria-hidden=\"true\"\n\t\t\t/>\n\t\t);\n\t}\n};\n\nconst handleTooltipShow = (e, dispatch, showTooltip) => {\n\tif (!showTooltip) return;\n\treturn dispatch(TOOLTIP_ADD_TARGET, {target: e});\n};\n\nconst removeJavaScriptProtocol = (href, id) => {\n\tconst normalizedHref = href.trim().toLowerCase();\n\tconst allowedJavascriptCases = ['javascript:void(0)', 'javascript:void(0);'];\n\tif (\n\t\t!normalizedHref.startsWith('javascript:') ||\n\t\tallowedJavascriptCases.includes(normalizedHref)\n\t) {\n\t\treturn toEmbeddableUrl(href);\n\t} else {\n\t\tprocess.env.NODE_ENV === 'development'\n\t\t\t? console.warn(\n\t\t\t\t\t`[@servicenow/now-text-link: ${id}] \"javascript\" is considered an unsafe URL protocol and this URL has been removed.`,\n\t\t\t\t)\n\t\t\t: undefined;\n\t}\n};\n\nconst view = (state, {dispatch}) => {\n\tconst {\n\t\tlabel = '',\n\t\thref = '',\n\t\ticonStart,\n\t\ticonEnd,\n\t\ticonSize,\n\t\tvariant,\n\t\tunderlined,\n\t\topensWindow,\n\t\tconfigAria,\n\t\tdownload,\n\t\tnowId,\n\t\tshowTooltip,\n\t} = state.properties;\n\n\treturn (\n\t\t<a\n\t\t\ton-click={() => {\n\t\t\t\tdispatch(() => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'NOW_TEXT_LINK#CLICKED',\n\t\t\t\t\t\tpayload: {},\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t}}\n\t\t\thref={removeJavaScriptProtocol(href, nowId)}\n\t\t\tclass={{\n\t\t\t\t'now-text-link': true,\n\t\t\t\t['-' + variant]: variant,\n\t\t\t\t'show-underline': underlined,\n\t\t\t}}\n\t\t\ttarget={opensWindow ? '_blank' : undefined}\n\t\t\trel={opensWindow ? 'noopener' : undefined}\n\t\t\tattr-download={download}\n\t\t\tdata-ariadescribedby={label}\n\t\t\tdata-tooltip={label}\n\t\t\thook-insert={({elm: target}) => {\n\t\t\t\thandleTooltipShow(target, dispatch, showTooltip);\n\t\t\t}}\n\t\t\thook-destroy={({elm: target}) => {\n\t\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, {target});\n\t\t\t}}\n\t\t\t{...filterAriaAttributes(configAria, 'link')}\n\t\t>\n\t\t\t{_renderIcon(iconStart, 'inline-end', iconSize)}\n\t\t\t{label}\n\t\t\t{_renderIcon(iconEnd, 'inline-start', iconSize)}\n\t\t\t{opensWindow ? (\n\t\t\t\t<span id=\"linkLabel\" className=\"now-a11y-label\">\n\t\t\t\t\t{t('Link opens in new window or tab')}\n\t\t\t\t</span>\n\t\t\t) : null}\n\t\t</a>\n\t);\n};\n\n/**\n * A text link is a stylized element of text that is linked to another resource.\n * You can distinguish a text link from regular body text by its secondary color.\n *\n * Text links are different from buttons. Buttons are reserved for actions.\n * See the usage guidance for the Button component for more information.\n *\n * ```jsx\n * <now-text-link label=\"Link text\" href=\"http://example.com\" variant=\"secondary\" />\n * ```\n *\n * @seismicElement now-text-link\n * @summary A styled link displayed as a text label.\n * @uib.label Text link\n * @uib.icon text-link\n * @uib.description A text link is a stylized element of text that is linked to another resource\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties label, href, opensWindow, download, variant, underlined, iconStart, iconEnd, iconSize, configAria, landmark, showTooltip\n * @uib.layout.identifier.children iconStart, iconEnd, iconSize\n * @uib.layout.identifier.icon image-outline\n * @uib.layout.accessibility.children showTooltip, configAria, landmark\n * @uib.layout.accessibility.icon accessibility-outline\n * @uib.actions NOW_TEXT_LINK#CLICKED\n */\ncreateEnhancedElement('now-text-link', {\n\tproperties: {\n\t\t/**\n\t\t * Text displayed as a link.\n\t\t * @type {string}\n\t\t * @uib.description Text displayed as a link\n\t\t * @uib.defaultValue Link\n\t\t * @uib.translatable true\n\t\t */\n\t\tlabel: {required: true, schema: {type: 'string'}},\n\t\t/**\n\t\t * Link URL opened when the user clicks link text.\n\t\t * @type {string}\n\t\t * @uib.label Link\n\t\t * @uib.description URL opened when the user clicks link text\n\t\t * @uib.defaultValue https://www.servicenow.com/\n\t\t */\n\t\thref: {required: true, schema: {type: 'string'}},\n\t\t/**\n\t\t * Sets link colors.\n\t\t * @type {('primary'|'secondary')}\n\t\t * @uib.label Variant\n\t\t * @uib.description Sets link colors\n\t\t */\n\t\tvariant: {\n\t\t\tdefault: 'primary',\n\t\t\tschema: {type: 'string', enum: ['primary', 'secondary']},\n\t\t},\n\t\t/**\n\t\t * If defined, specifies the icon to display at the start of the text link.\n\t\t * See the `now-icon` component documentation for valid inputs.\n\t\t * @type {string}\n\t\t * @uib.label Icon left of label\n\t\t * @uib.description Displays an icon at the start of the text link.\n\t\t * @uib.fieldType icon\n\t\t */\n\t\ticonStart: {schema: {type: 'string'}},\n\t\t/**\n\t\t * If defined, specifies the icon to display at the end of the text link.\n\t\t * See the `now-icon` component documentation for valid inputs.\n\t\t * @type {string}\n\t\t * @uib.label Icon right of label\n\t\t * @uib.description Displays an icon at the end of the text link.\n\t\t * @uib.fieldType icon\n\t\t */\n\t\ticonEnd: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Size of the optional icons on the left and right sides of the link.\n\t\t * @type {('sm'|'md'|'lg'|'xl')}\n\t\t * @uib.description Size of the optional icons on the left and right sides of the link\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Small\", \"value\": \"sm\"}, {\"label\": \"Medium\", \"value\": \"md\"}, {\"label\": \"Large\", \"value\": \"lg\"}, {\"label\": \"Extra large\", \"value\": \"xl\"}]\n\t\t * @uib.defaultValue md\n\t\t */\n\t\ticonSize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: {type: 'string', enum: ['sm', 'md', 'lg', 'xl']},\n\t\t},\n\t\t/**\n\t\t * When true, underlines the link at all times, not only on hover.\n\t\t * All links show underline on hover.\n\t\t * @type {boolean}\n\t\t * @uib.description Select to underline the link at all times\n\t\t */\n\t\tunderlined: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Opens link in a new window or tab (depending on user's browser\n\t\t * configuration). \"Link opens in new window\" is announced\n\t\t * to assistive technology users.\n\t\t *\n\t\t * Note: Open links in new browser windows or tabs sparingly\n\t\t * because it is less accessible for users.\n\t\t * @type {boolean}\n\t\t * @uib.label Open new window\n\t\t * @uib.description Opens link in a new window or tab (depending on user's browser configuration). \"Link opens in new window\" is announced to assistive technology users.\n\t\t */\n\t\topensWindow: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * now-text-link. The value of each key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s. These ARIA\n\t\t * properties are set on the specified element.\n\t\t * The 'link' key corresponds to the inner html `<a>` element in\n\t\t * now-text-link. See https://www.w3.org/TR/wai-aria-1.2/#link for\n\t\t * properties and accepted values.\n\t\t * @type {{ link: {'aria-*': string, role: string} }}\n\t\t * @uib.label ARIA properties\n\t\t * @uib.description Configure ARIA properties\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\toneOf: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tlink: configAriaLabelRoleHasPopUpSchema,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tadditionalProperties: false,\n\t\t\t\t\t},\n\t\t\t\t\tconfigAriaLabelRoleHasPopUpSchema,\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * When true, the browser downloads the file instead of\n\t\t * navigating to a URL. Provide the value as a string to pre-populate the\n\t\t * filename of the downloaded file.\n\t\t * @type {(string|boolean)}\n\t\t * @uib.label Filename override\n\t\t * @uib.description Set to instruct the browser to download a file instead of navigating to a URL. Provide the value as a string to pre-populate the filename of the downloaded file\n\t\t * @uib.fieldType string\n\t\t */\n\t\tdownload: {schema: {type: ['string', 'boolean']}},\n\t\t/**\n\t\t * When true, shows a tooltip with full link text on hover or keyboard focus.\n\t\t * Use this property when truncating the link text with CSS.\n\t\t * @type {boolean}\n\t\t * @uib.description When true, shows a tooltip with full link text on hover or keyboard focus. Use this property when truncating the link text with CSS.\n\t\t */\n\t\tshowTooltip: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Includes this component as a target for the Now-Trigger-Library's\n\t\t * Landmark Focus feature.\n\t\t * @type {boolean}\n\t\t * @uib.label Landmark\n\t\t * @uib.description Allow the Landmark Focus keyboard shortcut to focus this link\n\t\t */\n\t\tlandmark: {schema: {type: 'boolean'}},\n\t},\n\tview,\n\tstyles,\n\tbehaviors: [{behavior: focusBehavior}, {behavior: tooltipBehavior}],\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the link is clicked.\n\t\t * @type {{}}\n\t\t * @uib.description Dispatched when the link is clicked\n\t\t */\n\t\t'NOW_TEXT_LINK#CLICKED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t},\n});\n","import './now-text-link';\nimport * as info from '../package.json';\n\nconst {name, version} = info;\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n","/**\n * Creates a mirror textarea to calculate width based on cols when autoresize is enabled.\n */\nexport function calculateWidthBasedOnCols(element) {\n\tvar properties = [\n\t\t'direction', // RTL support\n\t\t'boxSizing',\n\t\t'overflowX',\n\t\t'overflowY', // copy the scrollbar for IE\n\n\t\t'borderTopWidth',\n\t\t'borderRightWidth',\n\t\t'borderBottomWidth',\n\t\t'borderLeftWidth',\n\t\t'borderStyle',\n\n\t\t'paddingTop',\n\t\t'paddingRight',\n\t\t'paddingBottom',\n\t\t'paddingLeft',\n\n\t\t// https://developer.mozilla.org/en-US/docs/Web/CSS/font\n\t\t'fontStyle',\n\t\t'fontVariant',\n\t\t'fontWeight',\n\t\t'fontStretch',\n\t\t'fontSize',\n\t\t'fontSizeAdjust',\n\t\t'lineHeight',\n\t\t'fontFamily',\n\n\t\t'textAlign',\n\t\t'textTransform',\n\t\t'textIndent',\n\t\t'textDecoration', // might not make a difference, but better be safe\n\n\t\t'letterSpacing',\n\t\t'wordSpacing',\n\n\t\t'tabSize',\n\t\t'MozTabSize',\n\t];\n\n\t// The mirror textarea will replicate the textarea's style\n\tvar ta = document.createElement('textarea');\n\tta.id = 'textarea-mirror';\n\tdocument.body.appendChild(ta);\n\n\tvar style = ta.style;\n\tvar computed = window.getComputedStyle\n\t\t? window.getComputedStyle(element)\n\t\t: ta.currentStyle; // currentStyle for IE < 9\n\n\tstyle.visibility = 'hidden'; // not 'display: none' because we want rendering\n\n\t// Transfer the element's properties to the textarea\n\tproperties.forEach((prop) => {\n\t\tstyle[prop] = computed[prop];\n\t});\n\n\tstyle.overflow = computed.overflow;\n\tta.cols = element.cols;\n\tconst width = ta.clientWidth + 'px';\n\tdocument.body.removeChild(ta);\n\treturn width;\n}\n\n/**\n * Calculates height based on rows passed when autoresize is enabled.\n */\nexport function calculateHeightBasedOnRows(textarea, rows) {\n\tconst computedStyles = getComputedStyle(textarea);\n\treturn `${\n\t\trows * parseFloat(computedStyles.lineHeight) +\n\t\tparseFloat(computedStyles.paddingBlockStart) +\n\t\tparseFloat(computedStyles.paddingBlockEnd) +\n\t\tparseFloat(computedStyles.borderBlockEndWidth) +\n\t\tparseFloat(computedStyles.borderBlockStartWidth)\n\t}px`;\n}\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {createRef} from '@servicenow/ui-renderer-snabbdom';\nimport debounce from 'lodash/debounce';\nimport styles from './_now-textarea.scss';\nimport {t} from 'sn-translate';\nimport {\n\tgetFormFieldMessageIds,\n\trenderFormFieldLabel,\n\trenderFormFieldMessages,\n\trenderLabelEnd,\n\tmessagesSchema,\n\tfieldLayoutSchema,\n} from '@servicenow/now-input';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport {configAriaLabelRoleSchema} from '@servicenow/library-schemas';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {\n\tfilterAriaAttributes,\n\tgetColumnStyles,\n\tgetCaretCoordinates,\n\thandleErrorMessages,\n\tdomPurifyConfig,\n} from '@servicenow/library-enhanced-utils';\nimport {calculateWidthBasedOnCols, calculateHeightBasedOnRows} from './utils';\nimport reduceMotionBehavior from '@servicenow/behavior-reduce-motion';\nimport DOMPurify from 'dompurify';\n\nconst {\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_DOM_READY,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tARIA_LIVE_REGION_UPDATE_REQUESTED,\n} = actionTypes;\n\nconst timeoutIds = {};\n\nconst addFakeHighlighting = (textarea, selectionStart, selectionEnd) => {\n\tif (textarea.previousElementSibling) {\n\t\tlet content = textarea.value.replace(/\\n$/g, '\\n\\n');\n\t\tconst beforeSelection = content.substring(0, selectionStart);\n\t\tconst selectedText = content.substring(selectionStart, selectionEnd);\n\t\tconst afterSelection = content.substring(selectionEnd, content.length);\n\t\tconst textareaHtml = `<span style=\"display: block;\">${beforeSelection}<span class=\"now-textarea-field-selection\">${selectedText}</span>${afterSelection}</span>`;\n\t\tconst sanitizedHtml = DOMPurify.sanitize(textareaHtml, domPurifyConfig);\n\t\ttextarea.previousElementSibling.innerHTML = sanitizedHtml;\n\t\ttextarea.style.setProperty('background-color', 'transparent', 'important');\n\t}\n};\nconst removeFakeHighlighting = (textarea, timeout = 0) => {\n\tif (textarea.previousElementSibling) {\n\t\treturn setTimeout(() => {\n\t\t\tconst textareaHtml = `<span style=\"display: block;\">${textarea.value.replace(/\\n$/g, '\\n\\n')}</span>`;\n\t\t\tconst sanitizedHtml = DOMPurify.sanitize(textareaHtml, domPurifyConfig);\n\t\t\ttextarea.previousElementSibling.innerHTML = sanitizedHtml;\n\t\t\ttextarea.style['background-color'] = '';\n\t\t}, timeout);\n\t}\n\treturn null;\n};\n\n// called on input and paste to update the scrolltop as a native scroll event does not occur when the textarea scrolls\n// due to those two events. Requires a setTimeout as the content needs to be populated in the backdrop div and\n// the textarea needs time to update before we are able to grab the new scrollTop and set it on the backdrop div\nconst updateScrollTop = (textarea) => {\n\tsetTimeout(\n\t\t() => (textarea.previousElementSibling.scrollTop = textarea.scrollTop),\n\t\t100,\n\t);\n};\n\nconst announceMessage = (label, content, dispatch) => {\n\tconst announcement = label + ' ' + content.content;\n\treturn dispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\tmessage: announcement,\n\t\ttype: 'polite',\n\t});\n};\n\nconst toggleScrollbar = (el, firstRender = false) => {\n\tif (firstRender && el.value == '') return;\n\n\trequestAnimationFrame(() => {\n\t\tif (el.scrollHeight - el.clientHeight <= 1) {\n\t\t\t// If the difference between scrollHeight and clientHeight is less than or equal to the 1, hide the scrollbar\n\t\t\tel.style.overflowY = 'hidden';\n\t\t\t// adding the same styling to the backdrop div if present\n\t\t\tif (el.previousElementSibling) {\n\t\t\t\tel.previousElementSibling.style.overflowY = 'hidden';\n\t\t\t}\n\t\t} else {\n\t\t\t// Otherwise, show the scrollbar\n\t\t\tel.style.overflowY = 'auto';\n\t\t\tif (el.previousElementSibling) {\n\t\t\t\tel.previousElementSibling.style.overflowY = 'auto';\n\t\t\t}\n\t\t}\n\t});\n};\n\nconst getResizeHelperElement = (textarea) => {\n\tconst wrapper = textarea.parentElement;\n\treturn wrapper.querySelector('.now-textarea-field-copy');\n};\n\nconst adjustHeight = (textarea, helper) => {\n\tif (helper && helper.dataset) {\n\t\thelper.dataset.replicatedValue = textarea.value;\n\t}\n};\n\nconst setMaxHeight = (textarea, maxHeight) => {\n\ttextarea.style.maxHeight = maxHeight;\n\tconst helper = getResizeHelperElement(textarea);\n\thelper.style.maxHeight = maxHeight;\n\tconst backdrop = textarea.previousElementSibling;\n\tif (backdrop && backdrop.classList.contains('now-textarea-field-backdrop')) {\n\t\tbackdrop.style.maxHeight = maxHeight;\n\t}\n};\n\nconst addManuallyResizedClassIfNeeded = debounce((textarea, rows, cols) => {\n\trequestAnimationFrame(() => {\n\t\tconst inlineStyleDefined =\n\t\t\t!!textarea.style.height || !!textarea.style.width;\n\t\tif (!inlineStyleDefined) return;\n\n\t\tconst resizeWrapper = textarea.parentElement;\n\t\tif (resizeWrapper.classList.contains('is-autoresize')) {\n\t\t\tresizeWrapper.classList.remove('is-autoresize');\n\t\t\tif (rows) textarea.style.minHeight = '';\n\t\t\tif (cols) textarea.style.inlineSize = '';\n\t\t}\n\t});\n}, 10);\n\nconst handleReportManualResize = (e, rows, cols) => {\n\tif (e.buttons === 0) return;\n\tconst textarea = e.target;\n\taddManuallyResizedClassIfNeeded(textarea, rows, cols);\n};\n\nconst runMicroTasks = (calls, callIndex = 0) => {\n\tif (!calls || calls.length === 0) return;\n\n\trequestAnimationFrame(() => {\n\t\tcalls[callIndex]();\n\t\tif (callIndex < calls.length - 1) runMicroTasks(calls, callIndex + 1);\n\t});\n};\n\nconst repositionCaretSlotContainer = (\n\ttextarea,\n\tcaretSlotContainer,\n\te,\n\tprevCaretPos,\n\tupdateState,\n) => {\n\tconst coords = getCaretCoordinates(\n\t\ttextarea,\n\t\ttextarea.selectionEnd,\n\t\t{},\n\t\te,\n\t\tprevCaretPos,\n\t);\n\tconst rect = textarea.getBoundingClientRect();\n\tconst container = caretSlotContainer.getBoundingClientRect();\n\tlet block = coords.top - textarea.scrollTop;\n\tif (block < 0) {\n\t\t// stay in top bounds\n\t\tblock = 0;\n\t} else if (block > rect.height) {\n\t\t// stay in bottom bounds\n\t\tblock = rect.height - container.height;\n\t} else if (block + coords.height + container.height < rect.height) {\n\t\t// room to show below text caret\n\t\tblock += coords.height;\n\t} else {\n\t\t// show above text caret\n\t\tblock -= container.height + 5;\n\t}\n\tlet inline = coords.inline; // room to show to the right of the text caret\n\tif (inline + container.width > rect.width) {\n\t\t// show to the left of the text caret\n\t\tinline -= container.width;\n\t}\n\tcaretSlotContainer.style['inset-block-start'] = block + 'px';\n\tcaretSlotContainer.style['inset-inline-start'] = inline + 'px';\n\tupdateState({\n\t\tpath: 'prevCaretPos',\n\t\toperation: 'set',\n\t\tvalue: coords,\n\t\tshouldRender: true,\n\t});\n};\n\nconst handleInput = (\n\te,\n\tmaxlength,\n\tautoresize,\n\tupdateState,\n\tdispatch,\n\tenableCaretSlot,\n\tcaretSlotContainer,\n\tdebounceCaretWhileTyping,\n\tdebounceInput,\n\tprevCaretPos,\n) => {\n\tconst data = e.data;\n\tconst textarea = e.target;\n\tif (maxlength) {\n\t\tconst currentLength = textarea.value.length || 0;\n\t\tconst charsRemaining = parseInt(maxlength) - currentLength;\n\t\tupdateState({charsRemaining});\n\t}\n\tif (enableCaretSlot) {\n\t\tcaretSlotContainer.style.insetInlineStart = '-9999px';\n\t\tdebounceCaretWhileTyping(() => {\n\t\t\trepositionCaretSlotContainer(\n\t\t\t\ttextarea,\n\t\t\t\tcaretSlotContainer,\n\t\t\t\te,\n\t\t\t\tprevCaretPos,\n\t\t\t\tupdateState,\n\t\t\t);\n\t\t});\n\t\tupdateScrollTop(textarea);\n\t}\n\tdebounceInput(() => {\n\t\tif (autoresize && enableCaretSlot) {\n\t\t\tconst helper = getResizeHelperElement(textarea);\n\t\t\trunMicroTasks([\n\t\t\t\t() => adjustHeight(textarea, helper),\n\t\t\t\t() => toggleScrollbar(textarea),\n\t\t\t]);\n\t\t} else if (autoresize) {\n\t\t\tconst helper = getResizeHelperElement(textarea);\n\t\t\trunMicroTasks([\n\t\t\t\t() => adjustHeight(textarea, helper),\n\t\t\t\t() => toggleScrollbar(textarea),\n\t\t\t]);\n\t\t}\n\t\tdispatch(({properties: {name}}) => {\n\t\t\treturn {\n\t\t\t\ttype: 'NOW_TEXTAREA#INPUT',\n\t\t\t\tpayload: {\n\t\t\t\t\tname,\n\t\t\t\t\tdata,\n\t\t\t\t\tfieldValue: textarea.value,\n\t\t\t\t\tfieldElement: textarea,\n\t\t\t\t},\n\t\t\t};\n\t\t});\n\t});\n};\n\nconst handleCaretMoved = (\n\te,\n\tdispatch,\n\tcaretSlotContainer,\n\tselection,\n\tupdateState,\n\tdebounceCaret,\n\tpauseFakeHighlighting,\n\tprevCaretPos,\n) => {\n\tconst textarea = e.target;\n\tconst selectionStart = textarea.selectionStart;\n\tconst selectionEnd = textarea.selectionEnd;\n\tif (textarea.previousElementSibling && !pauseFakeHighlighting) {\n\t\tif (selectionStart < selectionEnd) {\n\t\t\taddFakeHighlighting(textarea, selectionStart, selectionEnd);\n\t\t} else {\n\t\t\tremoveFakeHighlighting(textarea);\n\t\t}\n\t}\n\tconst selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\tconst movementKeys = [\n\t\t'ArrowLeft',\n\t\t'ArrowRight',\n\t\t'ArrowUp',\n\t\t'ArrowDown',\n\t\t'Home',\n\t\t'End',\n\t\t'Meta',\n\t];\n\tif (e.key && !movementKeys.includes(e.key)) {\n\t\treturn;\n\t}\n\tdebounceCaret(() => {\n\t\trepositionCaretSlotContainer(\n\t\t\ttextarea,\n\t\t\tcaretSlotContainer,\n\t\t\te,\n\t\t\tprevCaretPos,\n\t\t\tupdateState,\n\t\t);\n\t\tif (selectedText !== selection) {\n\t\t\tdispatch(({properties: {name}}) => {\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'NOW_TEXTAREA#SELECTION_CHANGED',\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tselection: selectedText,\n\t\t\t\t\t\tselectionStart,\n\t\t\t\t\t\tselectionEnd,\n\t\t\t\t\t\tfieldValue: textarea.value,\n\t\t\t\t\t\tfieldElement: textarea,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t});\n\t\t\tupdateState({selection: selectedText});\n\t\t}\n\t});\n};\n\nconst validateAndUpdate = (\n\te,\n\tdispatch,\n\tupdateState,\n\tproperties,\n\tupdateProperties,\n) => {\n\tconst textarea = e.target;\n\tconst {disabled, readonly} = properties;\n\tconst {valid} = textarea.validity;\n\tconst {name, value} = textarea;\n\tupdateState({hasFocus: false});\n\tif (!disabled && !readonly) {\n\t\thandleErrorMessages({\n\t\t\tvalidity: textarea.validity,\n\t\t\tupdateProperties,\n\t\t\tvalue,\n\t\t});\n\t}\n\tdispatch(({properties}) => {\n\t\tconst {disabled, readonly} = properties;\n\t\treturn {\n\t\t\ttype: 'NOW_TEXTAREA#INVALID_SET',\n\t\t\tpayload: {name: name, value: !valid, fieldValue: value},\n\t\t\tshouldDispatch: !disabled && !readonly,\n\t\t};\n\t});\n\tdispatch(({properties}) => {\n\t\tconst {disabled, readonly, invalid} = properties;\n\t\treturn {\n\t\t\ttype: 'NOW_TEXTAREA#VALUE_SET',\n\t\t\tpayload: {name: name, value: value},\n\t\t\tshouldDispatch: !disabled && !readonly && !invalid,\n\t\t};\n\t});\n};\n\nconst getCharsRemaining = (\n\tdispatch,\n\tproperties,\n\tupdateState,\n\tupdateProperties,\n) => {\n\tconst {name, value, maxlength} = properties;\n\tconst currentLength = (value && value.length) || 0;\n\tconst charsRemaining = parseInt(maxlength) - currentLength;\n\tupdateState({charsRemaining});\n\tconst shouldDispatch = charsRemaining < 0;\n\tif (shouldDispatch) {\n\t\thandleErrorMessages({\n\t\t\tadditionalValidation: !shouldDispatch,\n\t\t\tupdateProperties,\n\t\t\tvalue,\n\t\t});\n\t}\n\tdispatch(() => {\n\t\treturn {\n\t\t\ttype: 'NOW_TEXTAREA#INVALID_SET',\n\t\t\tpayload: {name: name, value: true, fieldValue: value},\n\t\t\tshouldDispatch,\n\t\t};\n\t});\n};\n\nconst setMinHeight = (textarea, minHeight) => {\n\tconst helper = getResizeHelperElement(textarea);\n\thelper.style.minHeight = minHeight;\n\ttextarea.style.minHeight = minHeight;\n};\n\nconst setHelperWidth = (textarea) => {\n\tconst width = calculateWidthBasedOnCols(textarea);\n\tconst helper = getResizeHelperElement(textarea);\n\thelper.style.inlineSize = width;\n\ttextarea.style.inlineSize = width;\n};\n\nconst setHelperHeight = (\n\ttextarea,\n\trows,\n\tautoresizeRowsLimit,\n\tdisableMaxHeight,\n) => {\n\tconst height = calculateHeightBasedOnRows(textarea, rows);\n\tif (!disableMaxHeight && (autoresizeRowsLimit || 0) < (rows || 2)) {\n\t\trunMicroTasks([\n\t\t\t() => setMinHeight(textarea, parseInt(height) <= 256 ? height : '256px'),\n\t\t]);\n\t} else {\n\t\trunMicroTasks([() => setMinHeight(textarea, height)]);\n\t}\n};\n\nconst renderCharacterCounter = (\n\tshowCounter,\n\tmaxlength,\n\tcharsRemaining,\n\tnowId,\n) => {\n\tif (showCounter && maxlength) {\n\t\tconst ariaLive = charsRemaining >= 0 ? 'polite' : 'assertive';\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={`text-area-character-count${nowId}`}\n\t\t\t\tclass={{\n\t\t\t\t\t'now-textarea-character-counter': true,\n\t\t\t\t\t'-warning': charsRemaining / parseInt(maxlength) < 0.2,\n\t\t\t\t\t'-error': charsRemaining <= 0,\n\t\t\t\t}}\n\t\t\t\taria-live={ariaLive}\n\t\t\t\taria-relevant=\"text\"\n\t\t\t\taria-atomic=\"true\"\n\t\t\t>\n\t\t\t\t{charsRemaining >= 0\n\t\t\t\t\t? t('Characters left: {0}', charsRemaining)\n\t\t\t\t\t: t('Maximum length exceeded. Characters left: {0}', charsRemaining)}\n\t\t\t</div>\n\t\t);\n\t}\n};\n\nconst getCharacterCounterId = (showCounter, maxlength, nowId) => {\n\tif (showCounter && maxlength) {\n\t\treturn `text-area-character-count${nowId}`;\n\t}\n\treturn '';\n};\n\nconst createAriaDescribedByList = (\n\tnowId,\n\tmessages,\n\tshowCounter,\n\tmaxlength,\n\tlabel,\n\thelperContent,\n\tlayout,\n) => {\n\tconst characterCounterId = getCharacterCounterId(\n\t\tshowCounter,\n\t\tmaxlength,\n\t\tnowId,\n\t);\n\tconst formFieldMessageIds = getFormFieldMessageIds(nowId, messages);\n\tconst describedBy = [];\n\tif (label || helperContent) {\n\t\tif (layout === 'vertical') {\n\t\t\tdescribedBy.push('form-field-label-start');\n\t\t}\n\t\tdescribedBy.push('form-field-label-inline');\n\t\tif (layout === 'horizontal') {\n\t\t\tdescribedBy.push('form-field-label-start');\n\t\t}\n\t\tdescribedBy.push('form-field-label-end');\n\t}\n\tif (formFieldMessageIds) {\n\t\tdescribedBy.push(formFieldMessageIds);\n\t}\n\tif (characterCounterId) {\n\t\tdescribedBy.push(characterCounterId);\n\t}\n\tif (describedBy.length > 0) {\n\t\treturn describedBy.join(' ');\n\t}\n};\n\nconst view = (state, {dispatch, updateState, updateProperties}) => {\n\tconst {\n\t\tcharsRemaining,\n\t\tselection,\n\t\tdebounceInput,\n\t\tdebounceCaret,\n\t\tdebounceCaretWhileTyping,\n\t\tresizeObserver,\n\t\tprevCaretPos,\n\t} = state;\n\tconst {\n\t\tsize,\n\t\tautoresize,\n\t\tdisableMaxHeight,\n\t\tdisableMinHeight,\n\t\tcols,\n\t\tdisabled,\n\t\thelperContent,\n\t\thideRequiredIndicator,\n\t\tinvalid,\n\t\tlabel,\n\t\tmaxlength,\n\t\tmessages,\n\t\tminlength,\n\t\toptional,\n\t\tplaceholder,\n\t\treadonly,\n\t\trequired,\n\t\tresize,\n\t\trows,\n\t\tshowBorders,\n\t\tshowCounter,\n\t\tvalue = '',\n\t\tconfigAria,\n\t\tnowId,\n\t\tcolor,\n\t\tname = `textarea-${nowId}`,\n\t\tfieldLayout: {layout, columns},\n\t\tenableCaretSlot,\n\t\twrapLabel,\n\t} = state.properties;\n\tconst caretSlotContainer = createRef();\n\tconst hasCaretSlot = enableCaretSlot && !disabled && !readonly;\n\tconst shouldAnimate = !state.behaviors['reduce-motion'];\n\n\treturn (\n\t\t<div\n\t\t\tstyle={\n\t\t\t\tlayout === 'horizontal' ? {...getColumnStyles(columns)} : undefined\n\t\t\t}\n\t\t\tclass={{\n\t\t\t\t'now-textarea': true,\n\t\t\t\t'now-form-field-layout': true,\n\t\t\t\t[`-${size}`]: size,\n\t\t\t\t'disable-max-height': disableMaxHeight,\n\t\t\t\t['-' + layout]: layout,\n\t\t\t\t'will-wrap': wrapLabel,\n\t\t\t\t'should-animate': shouldAnimate,\n\t\t\t}}\n\t\t>\n\t\t\t{renderFormFieldLabel(\n\t\t\t\tnowId,\n\t\t\t\tinvalid,\n\t\t\t\trequired,\n\t\t\t\toptional,\n\t\t\t\tlabel,\n\t\t\t\thelperContent,\n\t\t\t\thideRequiredIndicator,\n\t\t\t\t'label',\n\t\t\t\tlayout,\n\t\t\t\tfalse,\n\t\t\t\twrapLabel,\n\t\t\t)}\n\t\t\t<div\n\t\t\t\tkey={'now-textarea-container'}\n\t\t\t\tclass={{\n\t\t\t\t\t'now-textarea-container': true,\n\t\t\t\t\t'show-borders': showBorders,\n\t\t\t\t\t'has-label': label,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"now-textarea-slot\">\n\t\t\t\t\t<slot\n\t\t\t\t\t\tname=\"start\"\n\t\t\t\t\t\ton-slotchange={() => {\n\t\t\t\t\t\t\tdispatch('PRIVATE#SET_DECORATORS');\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'now-textarea-wrapper': true,\n\t\t\t\t\t\t'is-autoresize': !!autoresize,\n\t\t\t\t\t\t'has-backdrop': hasCaretSlot,\n\t\t\t\t\t\t'disable-min-height': disableMinHeight,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{hasCaretSlot && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'now-textarea-field-backdrop': true,\n\t\t\t\t\t\t\t\t[`-${color}`]: color && !readonly,\n\t\t\t\t\t\t\t\t'is-invalid': invalid,\n\t\t\t\t\t\t\t\t'is-disabled': disabled,\n\t\t\t\t\t\t\t\t'is-readonly': readonly,\n\t\t\t\t\t\t\t\t'has-slotted-content': state.hasSlottedContent,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t<textarea\n\t\t\t\t\t\tid={`form-field-${nowId}`}\n\t\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\t\tif (!resizeObserver) {\n\t\t\t\t\t\t\t\tlet newResizeObserver;\n\t\t\t\t\t\t\t\tif (hasCaretSlot && resize) {\n\t\t\t\t\t\t\t\t\tnewResizeObserver = new ResizeObserver((entries) => {\n\t\t\t\t\t\t\t\t\t\tfor (const entry of entries) {\n\t\t\t\t\t\t\t\t\t\t\tentry.target.previousElementSibling.style.width =\n\t\t\t\t\t\t\t\t\t\t\t\tentry.target.style.width;\n\t\t\t\t\t\t\t\t\t\t\tentry.target.previousElementSibling.style.height =\n\t\t\t\t\t\t\t\t\t\t\t\tentry.target.style.height;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\tnewResizeObserver.observe(elm);\n\t\t\t\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\t\t\t\tresizeObserver: newResizeObserver,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\thook-destroy={({elm}) => {\n\t\t\t\t\t\t\tif (resizeObserver) resizeObserver.unobserve(elm);\n\t\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\t\tresizeObserver: null,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'now-textarea-field': true,\n\t\t\t\t\t\t\t[`-${color}`]: color && !readonly,\n\t\t\t\t\t\t\t['-resize-' + (readonly ? 'none' : resize)]: resize,\n\t\t\t\t\t\t\t'is-invalid': invalid,\n\t\t\t\t\t\t\t'is-disabled': disabled,\n\t\t\t\t\t\t\t'is-readonly': readonly,\n\t\t\t\t\t\t\t'has-slotted-content': state.hasSlottedContent,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\taria-label={!value && readonly ? '' : undefined}\n\t\t\t\t\t\t{...filterAriaAttributes(configAria, 'textarea')}\n\t\t\t\t\t\taria-describedby={createAriaDescribedByList(\n\t\t\t\t\t\t\tnowId,\n\t\t\t\t\t\t\tmessages,\n\t\t\t\t\t\t\tshowCounter,\n\t\t\t\t\t\t\tmaxlength,\n\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\thelperContent,\n\t\t\t\t\t\t\tlayout,\n\t\t\t\t\t\t)}\n\t\t\t\t\t\taria-required={required ? 'true' : 'false'}\n\t\t\t\t\t\taria-invalid={invalid ? 'true' : 'false'}\n\t\t\t\t\t\tcols={cols}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\tmaxlength={showCounter ? undefined : maxlength}\n\t\t\t\t\t\tminlength={minlength}\n\t\t\t\t\t\tname={name}\n\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\treadonly={readonly}\n\t\t\t\t\t\trequired={required}\n\t\t\t\t\t\trows={rows}\n\t\t\t\t\t\tvalue={!value && readonly ? '—' : value}\n\t\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\t\ton-blur={(e) => {\n\t\t\t\t\t\t\tvalidateAndUpdate(\n\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t\tstate.properties,\n\t\t\t\t\t\t\t\tupdateProperties,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif (hasCaretSlot) {\n\t\t\t\t\t\t\t\ttimeoutIds[nowId] = {id: removeFakeHighlighting(e.target, 150)};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ton-input={(e) => {\n\t\t\t\t\t\t\thandleInput(\n\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\tmaxlength,\n\t\t\t\t\t\t\t\tautoresize,\n\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tenableCaretSlot,\n\t\t\t\t\t\t\t\tcaretSlotContainer.current,\n\t\t\t\t\t\t\t\tdebounceCaretWhileTyping,\n\t\t\t\t\t\t\t\tdebounceInput,\n\t\t\t\t\t\t\t\tprevCaretPos,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\ttoggleScrollbar(e.target);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ton-focus={\n\t\t\t\t\t\t\tdisabled || readonly\n\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t: (e) => {\n\t\t\t\t\t\t\t\t\t\tupdateState({hasFocus: true});\n\t\t\t\t\t\t\t\t\t\tif (hasCaretSlot) {\n\t\t\t\t\t\t\t\t\t\t\thandleCaretMoved(\n\t\t\t\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t\t\t\tcaretSlotContainer.current,\n\t\t\t\t\t\t\t\t\t\t\t\tselection,\n\t\t\t\t\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t\t\t\t\t\tdebounceCaret,\n\t\t\t\t\t\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\t\t\t\t\t\tprevCaretPos,\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\ton-mouseup={\n\t\t\t\t\t\t\thasCaretSlot\n\t\t\t\t\t\t\t\t? (e) => {\n\t\t\t\t\t\t\t\t\t\tconst event = {\n\t\t\t\t\t\t\t\t\t\t\ttarget: e.target,\n\t\t\t\t\t\t\t\t\t\t\tkey: e.key,\n\t\t\t\t\t\t\t\t\t\t\tclientX: e.clientX,\n\t\t\t\t\t\t\t\t\t\t\tclientY: e.clientY,\n\t\t\t\t\t\t\t\t\t\t\ttype: e.type,\n\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t// setTimeout here is used because the selectionStart and selectionEnd of the textarea\n\t\t\t\t\t\t\t\t\t\t// need to update before the handler is called.\n\t\t\t\t\t\t\t\t\t\tsetTimeout(\n\t\t\t\t\t\t\t\t\t\t\t() =>\n\t\t\t\t\t\t\t\t\t\t\t\thandleCaretMoved(\n\t\t\t\t\t\t\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t\t\t\t\tcaretSlotContainer.current,\n\t\t\t\t\t\t\t\t\t\t\t\t\tselection,\n\t\t\t\t\t\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdebounceCaret,\n\t\t\t\t\t\t\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\t\t\t\t\t\t\tprevCaretPos,\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\ton-keyup={\n\t\t\t\t\t\t\thasCaretSlot\n\t\t\t\t\t\t\t\t? (e) =>\n\t\t\t\t\t\t\t\t\t\thandleCaretMoved(\n\t\t\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t\t\tcaretSlotContainer.current,\n\t\t\t\t\t\t\t\t\t\t\tselection,\n\t\t\t\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t\t\t\t\tdebounceCaret,\n\t\t\t\t\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\t\t\t\t\tprevCaretPos,\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\ton-select={\n\t\t\t\t\t\t\tenableCaretSlot && !disabled && !readonly\n\t\t\t\t\t\t\t\t? (e) => {\n\t\t\t\t\t\t\t\t\t\t// discard if timeout is active\n\t\t\t\t\t\t\t\t\t\tif (timeoutIds[nowId] && timeoutIds[nowId].id) {\n\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\thandleCaretMoved(\n\t\t\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t\t\tcaretSlotContainer.current,\n\t\t\t\t\t\t\t\t\t\t\tselection,\n\t\t\t\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t\t\t\t\tdebounceCaret,\n\t\t\t\t\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\t\t\t\t\tprevCaretPos,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\ton-scroll={\n\t\t\t\t\t\t\thasCaretSlot\n\t\t\t\t\t\t\t\t? (e) => {\n\t\t\t\t\t\t\t\t\t\te.target.previousElementSibling.scrollTop =\n\t\t\t\t\t\t\t\t\t\t\te.target.scrollTop;\n\t\t\t\t\t\t\t\t\t\thandleCaretMoved(\n\t\t\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t\t\tcaretSlotContainer.current,\n\t\t\t\t\t\t\t\t\t\t\tselection,\n\t\t\t\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t\t\t\t\tdebounceCaret,\n\t\t\t\t\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\t\t\t\t\tprevCaretPos,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\ton-click={(e) => toggleScrollbar(e.target)}\n\t\t\t\t\t\ton-mousemove={(e) => handleReportManualResize(e, rows, cols)}\n\t\t\t\t\t\ton-mouseover={(e) => {\n\t\t\t\t\t\t\tif (hasCaretSlot) {\n\t\t\t\t\t\t\t\te.target.previousElementSibling?.classList.add('hover');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ton-mouseout={(e) => {\n\t\t\t\t\t\t\tif (hasCaretSlot) {\n\t\t\t\t\t\t\t\te.target.previousElementSibling?.classList.remove('hover');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ton-paste={(e) => {\n\t\t\t\t\t\t\tif (hasCaretSlot) {\n\t\t\t\t\t\t\t\tconst textarea = e.target;\n\t\t\t\t\t\t\t\tremoveFakeHighlighting(textarea);\n\t\t\t\t\t\t\t\tupdateScrollTop(textarea);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ttoggleScrollbar(e.target);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ton-mousedown={(e) => {\n\t\t\t\t\t\t\tif (hasCaretSlot) removeFakeHighlighting(e.target);\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t{autoresize && <div className={'now-textarea-field-copy'}></div>}\n\t\t\t\t</div>\n\t\t\t\t{enableCaretSlot && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"now-textarea-caret-container\"\n\t\t\t\t\t\tref={caretSlotContainer}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\tname=\"caret\"\n\t\t\t\t\t\t\ton-focusin={() => {\n\t\t\t\t\t\t\t\tif (timeoutIds[nowId]?.id) {\n\t\t\t\t\t\t\t\t\tclearTimeout(timeoutIds[nowId].id);\n\t\t\t\t\t\t\t\t\ttimeoutIds[nowId] = {};\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\tif (timeoutIds[nowId]?.id) {\n\t\t\t\t\t\t\t\t\tclearTimeout(timeoutIds[nowId].id);\n\t\t\t\t\t\t\t\t\ttimeoutIds[nowId] = {};\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{layout === 'horizontal' && renderLabelEnd()}\n\t\t\t<div className=\"now-form-field-messages\">\n\t\t\t\t{renderCharacterCounter(showCounter, maxlength, charsRemaining, nowId)}\n\t\t\t\t{renderFormFieldMessages(nowId, messages, 0)}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\n/**\n * Form element that provides an input area in which a user can enter a large amount of text.\n *\n * It can include such content as placeholder text, alert messages, and helper content.\n * In addition, you can configure this text area to:\n *   - Enforce whether data entry in the text area is required or optional.\n *   - Enforce a minimum and/or maximum number of characters a user must enter.\n *   - Automatically resize the text area as a user enters data.\n *   - Make the text area read-only.\n *   - Disable the text area.\n *   - Display a popover icon with additional helper text.\n *   - Change the look of the text area when incorrect data is entered in the text area.\n *   - Enable the text area to be scaled vertically and/or horizontally.\n *   - Define the height of the text area (in characters).\n *   - Change the text area background color.\n *\n *\n * ```jsx\n *    // Small textarea with label end slot\n * \t<now-textarea label=\"Small with label end slot\" size=\"sm\">\n *\t  <now-highlighted-value\n *\t    slot=\"label-end\"\n *\t    label=\"VIP\"\n *\t    icon=\"star-outline\"\n *\t    color=\"blue\"\n *\t  />\n *\t</now-textarea>\n *\n *    // Small textarea with placeholder\n *\t<now-textarea\n *\t  style={{marginBlockEnd: 0}}\n *\t  label=\"Small with placeholder\"\n *\t  size=\"sm\"\n *\t  placeholder=\"Small with placeholder\"\n *\t/>\n *\n *    // Required data entry\n *\t<now-textarea style={{marginBlockStart: 0}} label=\"Required\" required />\n *\n *\t<now-textarea label=\"Required with label end slot\" required>\n *\t  <now-highlighted-value\n *\t    slot=\"label-end\"\n *\t    label=\"VIP\"\n *\t    icon=\"star-outline\"\n *\t    color=\"blue\"\n *\t  />\n *\t</now-textarea>\n * ```\n *\n * @seismicElement now-textarea\n * @summary Form element that provides an input area in which a user can enter a large amount of text.\n * @uib.label Textarea\n * @uib.icon textarea\n * @uib.description Form element that provides an input area in which a user can enter a large amount of text.\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties size, color, disabled, readonly, autofocus, label, wrapLabel, value, manageValue, placeholder, rows, cols, maxlength, minlength, helperContent, messages, invalid, manageInvalid, required, hideRequiredIndicator, optional, autoresize, autoresizeRowsLimit, resize, disableMinHeight, disableMaxHeight, showCounter, name, configAria, fieldLayout, landmark, enableCaretSlot\n * @uib.layout.value.children value, manageValue, name, placeholder, minlength, maxlength, showCounter, enableCaretSlot\n * @uib.layout.value.icon pencil-outline\n * @uib.layout.label.children label, wrapLabel, required, hideRequiredIndicator, optional, helperContent\n * @uib.layout.label.icon text-outline\n * @uib.layout.size.children resize, rows, cols, autoresize, disableMinHeight, disableMaxHeight, autoresizeRowsLimit\n * @uib.layout.size.icon fullscreen-outline\n * @uib.layout.validation.children invalid, manageInvalid, messages\n * @uib.layout.validation.icon syntax-check-outline\n * @uib.layout.accessibility.children configAria, landmark\n * @uib.actions NOW_TEXTAREA#INPUT, NOW_TEXTAREA#INVALID_SET, NOW_TEXTAREA#VALUE_SET, NOW_TEXTAREA#SELECTION_CHANGED\n * @uib.innerComponents now-button-iconic, now-icon, now-popover, now-input\n */\ncreateEnhancedElement('now-textarea', {\n\tproperties: {\n\t\t/**\n\t\t * Sets the size of the text area component, either small (sm) or medium (md).\n\t\t * @type {('sm'|'md')}\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Small\", \"value\": \"sm\"}, {\"label\": \"Medium\", \"value\": \"md\"}]\n\t\t * @uib.defaultValue md\n\t\t * @uib.description Sets the size of the text area component, either small (sm) or medium (md).\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['sm', 'md'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Sets the background color of the text area.\n\t\t * @type {('initial'|'blue'|'yellow'|'green'|'critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'brown'|'gray'|'green-yellow'|'magenta'|'orange'|'pink'|'purple'|'teal')}\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [ {\"label\": \"Initial\", \"value\": \"initial\"}, {\"label\": \"Blue\", \"value\": \"blue\"}, {\"label\": \"Yellow\", \"value\": \"yellow\"},{\"label\": \"Green\", \"value\": \"green\"} ]\n\t\t * @uib.defaultValue initial\n\t\t * @uib.description Sets the background color of the text area.\n\t\t */\n\t\tcolor: {\n\t\t\tdefault: 'initial',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'initial',\n\t\t\t\t\t'blue',\n\t\t\t\t\t'yellow',\n\t\t\t\t\t'green',\n\t\t\t\t\t'critical',\n\t\t\t\t\t'high',\n\t\t\t\t\t'warning',\n\t\t\t\t\t'moderate',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'info',\n\t\t\t\t\t'low',\n\t\t\t\t\t'brown',\n\t\t\t\t\t'gray',\n\t\t\t\t\t'green-yellow',\n\t\t\t\t\t'magenta',\n\t\t\t\t\t'orange',\n\t\t\t\t\t'pink',\n\t\t\t\t\t'purple',\n\t\t\t\t\t'teal',\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * When true, focus is automatically placed inside the\n\t\t * text area on page load.\n\t\t * @type {boolean}\n\t\t * @uib.label Auto-focus\n\t\t * @uib.description When true, focus is automatically placed inside the text area on page load.\n\t\t */\n\t\tautofocus: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, the text area height automatically increases as the\n\t\t * user types in the text area.\n\t\t * @type {boolean}\n\t\t * @uib.label Auto-resize\n\t\t * @uib.description When true, the text area height automatically increases as the user types in the text area.\n\t\t */\n\t\tautoresize: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, the default minimum height of 64px is ignored. Use with rows={1} to create a single-line text area.\n\t\t * @type {boolean}\n\t\t * @uib.description When true, the default minimum height of 64px is ignored. Use with rows={1} to create a single-line text area.\n\t\t */\n\t\tdisableMinHeight: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, the default maximum height of 256px is ignored.\n\t\t * @type {boolean}\n\t\t * @uib.description When true, the default maximum height of 256px is ignored.\n\t\t */\n\t\tdisableMaxHeight: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, disables the text area. The user cannot interact with the text area\n\t\t * or change its value. The text area appears grayed out.\n\t\t * @type {boolean}\n\t\t * @uib.description Disables the text area. The text area appears grayed out and cannot be modified by the user.\n\t\t * @uib.defaultValue false\n\t\t */\n\t\tdisabled: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, a slot will be added to the component that follows the user's text cursor.\n\t\t * @type {boolean}\n\t\t * @uib.description When true, a slot will be added to the component that follows the user's text cursor.\n\t\t * @uib.defaultValue false\n\t\t */\n\t\tenableCaretSlot: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When defined, an iconic button with a popover appears next to the text area\n\t\t * label. When hovered over, it displays additional hint text to the user, such as\n\t\t * password requirements or other instructions for entering data into the text area.\n\t\t * Use plain text so the text is translatable. If you do not want to add helper content, leave this property empty.\n\t\t * @type {(string|JSX)}\n\t\t * @uib.label Helper text\n\t\t * @uib.fieldType string\n\t\t * @uib.description When defined, an iconic button with popover appears next to the text area label for displaying additional hint text to the user, such as password requirements or other instructions for completing the field. Use plain text so the text is translatable. If you do not want to add helper content, leave this property empty.\n\t\t * @uib.translatable true\n\t\t */\n\t\thelperContent: {},\n\t\t/**\n\t\t * When true, the required indicator is visually hidden. Use this option for\n\t\t * forms where most fields are required. Then use the `optional` flag\n\t\t * for any fields that are not required.\n\t\t * @type {boolean}\n\t\t * @uib.description When true, the required indicator is visually hidden. Use this for forms where most fields are required. Then use the `optional` flag for any fields that are not required.\n\t\t */\n\t\thideRequiredIndicator: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, the text area is in an incorrect state.\n\t\t * This state is visually reflected in the text area display.\n\t\t * @type {boolean}\n\t\t * @uib.description When true, the text area appears visually invalid, indicating incorrect input.\n\t\t * @uib.defaultValue false\n\t\t */\n\t\tinvalid: {manageable: true, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `invalid` property.\n\t\t * An action with type `NOW_TEXTAREA#INVALID_SET` will be dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the invalid property. Use the invalid set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageInvalid: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * String that describes the overall purpose of the text area field.\n\t\t * @type {string}\n\t\t * @uib.description String that describes the overall purpose of the text area field.\n\t\t * @uib.defaultValue Textarea\n\t\t * @uib.translatable true\n\t\t */\n\t\tlabel: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Maximum number of characters that a user can enter in the text area.\n\t\t * @type {number}\n\t\t * @uib.label Max. characters\n\t\t * @uib.description Maximum number of characters that a user can enter in the text area.\n\t\t * @uib.typeMetadata.emptyStateBehavior UNDEFINED\n\t\t */\n\t\tmaxlength: {schema: {type: 'number'}},\n\t\t/**\n\t\t * Array of inline alert messages that display below the text area.\n\t\t * @type {Array.<{status: ('critical'|'warning'|'positive'|'info'|'suggestion'), content: (string|JSX), icon: string}>}\n\t\t * @uib.label Alert messages\n\t\t * @uib.description Array of inline alert messages that display below the text area.\n\t\t * @uib.fieldType collection\n\t\t * @uib.typeMetadata.collection.cardProperties.heading { \"heading\": \"content\", \"icon\": \"icon\" }\n\t\t */\n\t\tmessages: {\n\t\t\tdefault: [],\n\t\t\tschema: messagesSchema,\n\t\t},\n\t\t/**\n\t\t * Minimum number of characters that a user must enter in the text area.\n\t\t * @type {number}\n\t\t * @uib.label Min. characters\n\t\t * @uib.description Minimum number of characters that a user must enter in the text area.\n\t\t * @uib.typeMetadata.emptyStateBehavior UNDEFINED\n\t\t */\n\t\tminlength: {schema: {type: 'number'}},\n\t\t/**\n\t\t * Reference name of the text area control. This name is dispatched along with the text area value\n\t\t * on user interaction.\n\t\t * @type {string}\n\t\t * @uib.label Identifier\n\t\t * @uib.description Reference name for the text area control. This name is dispatched along with the text area value on user interaction.\n\t\t */\n\t\tname: {schema: {type: 'string'}},\n\t\t/**\n\t\t * When true, entering data in the text area is optional and does not need to be completed by\n\t\t * a user before completing the form.\n\t\t * @type {boolean}\n\t\t * @uib.description When true, entering data in the text area is optional and does not need to be completed by the user before completing the form.\n\t\t */\n\t\toptional: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Hint text to display in the text area before text has been input.\n\t\t * @type {string}\n\t\t * @uib.label Placeholder text\n\t\t * @uib.description Hint text to display in the text area before text has been input.\n\t\t * @uib.translatable true\n\t\t */\n\t\tplaceholder: {schema: {type: 'string'}},\n\t\t/**\n\t\t * When true, the text area is enabled, but the user cannot modify its contents.\n\t\t * @type {boolean}\n\t\t * @uib.label Read-only\n\t\t * @uib.description When true, the text area is enabled, but the user cannot modify its contents.\n\t\t */\n\t\treadonly: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, a user must enter a value in the\n\t\t * text area before they can complete the form.\n\t\t * @type {boolean}\n\t\t * @uib.description When true, a user must enter a value in the text area before they can complete the form.\n\t\t */\n\t\trequired: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Defines whether a user can resize the text area vertically, horizontally,\n\t\t * in both directions, or neither direction.\n\t\t * @type {('both'|'horizontal'|'none'|'vertical')}\n\t\t * @uib.description Defines whether a user can resize the text area vertically, horizontally, in both directions, or neither direction.\n\t\t */\n\t\tresize: {\n\t\t\tdefault: 'vertical',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['both', 'horizontal', 'none', 'vertical'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Height of the text area, in lines.\n\t\t * @type {number}\n\t\t * @uib.label Height (rows)\n\t\t * @uib.description Height of the text area, in characters.\n\t\t * @uib.typeMetadata.emptyStateBehavior UNDEFINED\n\t\t */\n\t\trows: {schema: {type: 'number'}},\n\t\t/**\n\t\t * Width of the text area, in characters.\n\t\t * @type {number}\n\t\t * @uib.label Width (columns)\n\t\t * @uib.description Width of the text area, in characters.\n\t\t * @uib.typeMetadata.emptyStateBehavior UNDEFINED\n\t\t */\n\t\tcols: {schema: {type: 'number'}},\n\t\t/**\n\t\t * The maximum number of rows to display when the 'autoresize' property is set to true.\n\t\t * @type {number}\n\t\t * @uib.label Autoresize rows limit\n\t\t * @uib.description Max number of rows when Autoresize is true\n\t\t * @uib.typeMetadata.emptyStateBehavior UNDEFINED\n\t\t */\n\t\tautoresizeRowsLimit: {schema: {type: 'number'}},\n\t\t/**\n\t\t * Deprecated. Only works in classic workspace / initial theme.\n\t\t * Control borders through theming.\n\t\t * @private\n\t\t */\n\t\tshowBorders: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, displays a character counter beneath the text area.\n\t\t * This value shows the number of remaining characters that can be typed in the text area.\n\t\t * This count is derived by subtracting the number of characters currently entered from the value of the `maxlength` property.\n\t\t * When set, and a user types past `maxlength`, the counter goes below 0 and the text area becomes invalid.\n\t\t * @type {boolean}\n\t\t * @uib.label Show character counter\n\t\t * @uib.description Indicates whether to display a character counter beneath the text area to show the user the number of remaining characters.\n\t\t */\n\t\tshowCounter: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Content of the text area.\n\t\t * @type {string}\n\t\t * @uib.description Content of the text area.\n\t\t * @uib.translatable true\n\t\t */\n\t\tvalue: {manageable: true, schema: {type: 'string'}},\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `value` property.\n\t\t * An action with type `NOW_TEXTAREA#VALUE_SET` will be dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the value property. Use the value set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageValue: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * now-textarea. The value of the key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s. These ARIA\n\t\t * properties are set on the specified element.\n\t\t * See https://www.w3.org/TR/wai-aria-1.2/#textbox for properties and accepted values.\n\t\t * @type {{ textarea: {'aria-*': string, role: string }}}\n\t\t * @uib.label ARIA properties\n\t\t * @uib.description Configures ARIA properties.\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\ttextarea: configAriaLabelRoleSchema,\n\t\t\t\t},\n\t\t\t\tadditionalProperties: false,\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: {layout: 'vertical'},\n\t\t\tschema: fieldLayoutSchema,\n\t\t},\n\t\t/**\n\t\t * Includes this component as a target for the Now-Trigger-Library's\n\t\t * Landmark Focus feature.\n\t\t * @type {boolean}\n\t\t * @uib.label Landmark\n\t\t * @uib.description Allow the Landmark Focus keyboard shortcut to focus this textarea\n\t\t */\n\t\tlandmark: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Sets debounce length in milliseconds. Debounce is only observed in\n\t\t * the `handleInput` and `handleCaretMoved` events.\n\t\t * @type {number}\n\t\t */\n\t\tdebounceLength: {default: 250, schema: {type: 'number'}},\n\t\t/**\n\t\t * Sets debounce length for the caret slot in milliseconds. Debounce is only observed while\n\t\t * typing.\n\t\t * @type {number}\n\t\t */\n\t\tdebounceCaretLength: {default: 800, schema: {type: 'number'}},\n\t\t/**\n\t\t * Set to true to wrap the label if it does not fit on one line.\n\t\t * @type {boolean}\n\t\t * @uib.description Wraps the label if it does not fit on one line.\n\t\t */\n\t\twrapLabel: {default: false, schema: {type: 'boolean'}},\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot for field decorators. Located at the beginning of the textarea field.\n\t\t */\n\t\tstart: {},\n\t\t/**\n\t\t * Slot for label end metadata. Located at the end of the label.\n\t\t */\n\t\t'label-end': {},\n\t\t/**\n\t\t * Slot for label, located inline after the label. For the `horizontal` layout, it is placed before the label.\n\t\t */\n\t\t'label-inline': {},\n\t\t/**\n\t\t * Floating slot that follows the text area caret as the user types or moves within the field.\n\t\t */\n\t\tcaret: {},\n\t\t/**\n\t\t * Slot for label, located at the start of the label. For the `horizontal` field layout, it is placed after the label.\n\t\t */\n\t\t'label-start': {},\n\t},\n\tinitialState: {\n\t\thasSlottedContent: false,\n\t\tselection: '',\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_CONNECTED]: ({\n\t\t\tproperties,\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\tupdateProperties,\n\t\t}) => {\n\t\t\tif (properties.maxlength) {\n\t\t\t\tgetCharsRemaining(dispatch, properties, updateState, updateProperties);\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_DOM_READY]: ({host, properties, updateProperties}) => {\n\t\t\tconst {\n\t\t\t\trows,\n\t\t\t\tautoresize,\n\t\t\t\tautoresizeRowsLimit,\n\t\t\t\tdisableMaxHeight,\n\t\t\t\tautofocus,\n\t\t\t\tcols,\n\t\t\t\tinvalid,\n\t\t\t\tvalue,\n\t\t\t} = properties;\n\t\t\tconst textarea = host.shadowRoot.querySelector('textarea');\n\t\t\tif (!textarea) return;\n\t\t\tif (autofocus) {\n\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\ttextarea.focus();\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (autoresize) {\n\t\t\t\tconst microTasks = [];\n\n\t\t\t\tif (value) {\n\t\t\t\t\tconst helper = getResizeHelperElement(textarea);\n\t\t\t\t\tmicroTasks.push(() => adjustHeight(textarea, helper));\n\t\t\t\t}\n\n\t\t\t\tmicroTasks.push(() => toggleScrollbar(textarea, true));\n\n\t\t\t\tif (!disableMaxHeight && (autoresizeRowsLimit || 0) > (rows || 2)) {\n\t\t\t\t\tmicroTasks.push(() =>\n\t\t\t\t\t\tsetMaxHeight(\n\t\t\t\t\t\t\ttextarea,\n\t\t\t\t\t\t\tcalculateHeightBasedOnRows(textarea, autoresizeRowsLimit),\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (autoresize) {\n\t\t\t\t\tif (rows) {\n\t\t\t\t\t\tsetHelperHeight(\n\t\t\t\t\t\t\ttextarea,\n\t\t\t\t\t\t\trows,\n\t\t\t\t\t\t\tautoresizeRowsLimit,\n\t\t\t\t\t\t\tdisableMaxHeight,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (cols) {\n\t\t\t\t\t\tmicroTasks.push(() => setHelperWidth(textarea, cols));\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\trunMicroTasks(microTasks);\n\t\t\t}\n\t\t\tif (invalid) {\n\t\t\t\thandleErrorMessages({\n\t\t\t\t\tadditionalValidation: false,\n\t\t\t\t\tupdateProperties,\n\t\t\t\t\tvalue,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\t\taction,\n\t\t\tproperties,\n\t\t\thost,\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\tstate,\n\t\t\tupdateProperties,\n\t\t}) => {\n\t\t\tconst {name, value, previousValue} = action.payload;\n\t\t\tconst {\n\t\t\t\trows,\n\t\t\t\tcols,\n\t\t\t\tautoresize,\n\t\t\t\tautoresizeRowsLimit,\n\t\t\t\tdisableMaxHeight,\n\t\t\t\tmaxlength,\n\t\t\t\tenableCaretSlot,\n\t\t\t\tdisabled,\n\t\t\t\treadonly,\n\t\t\t} = properties;\n\t\t\tconst {hasFocus, resizeObserver, prevCaretPos} = state;\n\n\t\t\tconst textarea = host.shadowRoot.querySelector('textarea');\n\n\t\t\tif ((name === 'value' && maxlength) || (name === 'maxlength' && value)) {\n\t\t\t\tgetCharsRemaining(dispatch, properties, updateState, updateProperties);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t(name === 'value' && autoresize) ||\n\t\t\t\t(name === 'autoresize' && value)\n\t\t\t) {\n\t\t\t\tconst helper = getResizeHelperElement(textarea);\n\t\t\t\trunMicroTasks([\n\t\t\t\t\t() => adjustHeight(textarea, helper),\n\t\t\t\t\t() => toggleScrollbar(textarea),\n\t\t\t\t]);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tautoresize &&\n\t\t\t\tname === 'autoresizeRowsLimit' &&\n\t\t\t\t(value || 0 > (rows || 2))\n\t\t\t) {\n\t\t\t\trequestAnimationFrame(() =>\n\t\t\t\t\tsetMaxHeight(textarea, calculateHeightBasedOnRows(textarea, value)),\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (name === 'autoresize') {\n\t\t\t\tif (autoresize) {\n\t\t\t\t\ttextarea.style.height = '';\n\t\t\t\t\ttextarea.style.width = '';\n\t\t\t\t}\n\t\t\t\tconst maxHeight =\n\t\t\t\t\tvalue && (autoresizeRowsLimit || 0) > (rows || 2)\n\t\t\t\t\t\t? calculateHeightBasedOnRows(textarea, autoresizeRowsLimit)\n\t\t\t\t\t\t: disableMaxHeight\n\t\t\t\t\t\t\t? 'none'\n\t\t\t\t\t\t\t: '256px';\n\t\t\t\trunMicroTasks([\n\t\t\t\t\t() => setMaxHeight(textarea, maxHeight),\n\t\t\t\t\t() => toggleScrollbar(textarea),\n\t\t\t\t]);\n\t\t\t}\n\n\t\t\tif (name === 'disableMaxHeight') {\n\t\t\t\trequestAnimationFrame(() =>\n\t\t\t\t\tsetMaxHeight(textarea, value ? 'none' : '256px'),\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (name === 'value' && enableCaretSlot && !disabled && !readonly) {\n\t\t\t\tif (hasFocus) {\n\t\t\t\t\trequestAnimationFrame(() => removeFakeHighlighting(textarea));\n\t\t\t\t}\n\t\t\t\tconst textarea = host.shadowRoot.querySelector('textarea');\n\t\t\t\tconst caretSlotContainer = host.shadowRoot.querySelector(\n\t\t\t\t\t'.now-textarea-caret-container',\n\t\t\t\t);\n\t\t\t\trepositionCaretSlotContainer(\n\t\t\t\t\ttextarea,\n\t\t\t\t\tcaretSlotContainer,\n\t\t\t\t\tnull,\n\t\t\t\t\tprevCaretPos,\n\t\t\t\t\tupdateState,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (name === 'messages') {\n\t\t\t\tconst messagesLength = value.length;\n\t\t\t\tconst previousMessagesLength = previousValue ? previousValue.length : 0;\n\t\t\t\tif (messagesLength > previousMessagesLength) {\n\t\t\t\t\tfor (let i = previousMessagesLength; i < messagesLength; i++) {\n\t\t\t\t\t\tannounceMessage(properties.label, value[i], dispatch);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (autoresize) {\n\t\t\t\tif (name === 'cols') {\n\t\t\t\t\trunMicroTasks([() => setHelperWidth(textarea, cols)]);\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tname === 'rows' ||\n\t\t\t\t\tname === 'autoresizeRowsLimit' ||\n\t\t\t\t\tname === 'disableMaxHeight'\n\t\t\t\t) {\n\t\t\t\t\tif (rows) {\n\t\t\t\t\t\tsetHelperHeight(\n\t\t\t\t\t\t\ttextarea,\n\t\t\t\t\t\t\trows,\n\t\t\t\t\t\t\tautoresizeRowsLimit,\n\t\t\t\t\t\t\tdisableMaxHeight,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (name === 'enableCaretSlot' && value && !resizeObserver) {\n\t\t\t\tconst resizeObserver = new ResizeObserver((entries) => {\n\t\t\t\t\tfor (const entry of entries) {\n\t\t\t\t\t\tentry.target.previousElementSibling.style.width =\n\t\t\t\t\t\t\tentry.target.style.width;\n\t\t\t\t\t\tentry.target.previousElementSibling.style.height =\n\t\t\t\t\t\t\tentry.target.style.height;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tresizeObserver.observe(textarea);\n\t\t\t\tupdateState({\n\t\t\t\t\tresizeObserver,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t'NOW_POPOVER#CONTENT_VISIBLE': ({dispatch, state}) => {\n\t\t\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\t\tmessage: state.properties.helperContent,\n\t\t\t\ttype: 'polite',\n\t\t\t});\n\t\t},\n\t\t'PRIVATE#SET_DECORATORS': {\n\t\t\tstopPropagation: true,\n\t\t\teffect: ({host, updateState}) => {\n\t\t\t\tconst slotEl = host.shadowRoot.querySelector(\"[name='start']\");\n\t\t\t\tconst slottedNodes = slotEl.assignedNodes();\n\t\t\t\tupdateState({hasSlottedContent: slottedNodes.length > 0});\n\t\t\t},\n\t\t},\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when focus leaves the text area field (blurred) and the content is invalid.\n\t\t * The payload contains:\n\t\t *  - `name`: Name of the text area field.\n\t\t *  - `value`: Flag that indicates whether the content of the text area field is invalid based on the settings in the `required` and `pattern` properties.\n\t\t *  - `fieldValue`: Current content in the text area field.\n\t\t *\n\t\t * To override the default behavior of this action and handle the error manually,\n\t\t * set the `manage-invalid` property to true.\n\t\t *\n\t\t * @type {{name: string, value: boolean, fieldValue: string}}\n\t\t * @uib.description Dispatched when focus leaves the text area field (blurred) and the content is invalid.\n\t\t */\n\t\t'NOW_TEXTAREA#INVALID_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tvalue: {type: 'boolean'},\n\t\t\t\t\tfieldValue: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when focus leaves the text area field (blurred) and the content is valid.\n\t\t * The payload contains:\n\t\t *  - `name`: Name of the text area field.\n\t\t *  - `value`: Current content in the text area field.\n\t\t *\n\t\t * To override the default behavior of this action and handle the content manually,\n\t\t * set the `manage-invalid` property to true.\n\t\t *\n\t\t * @type {{name: string, value: string}}\n\t\t * @uib.label Focus moved\n\t\t * @uib.description A user moves focus from the textarea and there's a valid value in the field.\n\t\t */\n\t\t'NOW_TEXTAREA#VALUE_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tvalue: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user enters data in the text area by typing or\n\t\t * pasting text. Internal validation is not performed and the\n\t\t * `value` property is not updated at this point.\n\t\t * The payload contains:\n\t\t *  - `name`: Name of the text area field.\n\t\t *  - `fieldValue`: Current content in the text area.\n\t\t *  - `data`: Content that was in the text area prior to the `input` event.\n\t\t *  - `fieldElement`: Reference to the native text area HTMLElement.\n\t\t *\n\t\t * @type {{name: string, data: string, fieldValue: string, fieldElement: object}}\n\t\t * @uib.label Text entered\n\t\t * @uib.description A user types or pastes text in the textarea.\n\t\t */\n\t\t'NOW_TEXTAREA#INPUT': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tdata: {type: 'string'},\n\t\t\t\t\tfieldValue: {type: 'string'},\n\t\t\t\t\tfieldElement: {type: 'object'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user selects or deselects text within the textarea, either by clicking or using the keyboard.\n\t\t * The payload contains:\n\t\t * - `name`: Name of the text area field.\n\t\t * - `selection`: The text that is currently selected in the text area or an empty string if no text is selected.\n\t\t * - `selectionStart`: The starting index of the selected text.\n\t\t * - `selectionEnd`: The ending index of the selected text.\n\t\t * - `fieldValue`: Current content in the text area.\n\t\t * - `fieldElement`: Reference to the native text area HTMLElement.\n\t\t *\n\t\t * @type {{name: string, selection: string, selectionStart: number, selectionEnd: number, fieldValue: string, fieldElement: object}}\n\t\t * @uib.description Dispatched when the user selects or deselects text within the textarea, either by clicking or using the keyboard.\n\t\t */\n\t\t'NOW_TEXTAREA#SELECTION_CHANGED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tselection: {type: 'string'},\n\t\t\t\t\tselectionStart: {type: 'number'},\n\t\t\t\t\tselectionEnd: {type: 'number'},\n\t\t\t\t\tfieldValue: {type: 'string'},\n\t\t\t\t\tfieldElement: {type: 'object'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: (host) => {\n\t\t\t\t\tconst focusTarget = host.shadowRoot.querySelector(\n\t\t\t\t\t\t'textarea.now-textarea-field',\n\t\t\t\t\t);\n\n\t\t\t\t\tif (focusTarget) {\n\t\t\t\t\t\tfocusTarget.focus();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{behavior: truncationBehavior},\n\t\t{behavior: tooltipBehavior},\n\t\t{behavior: reduceMotionBehavior},\n\t],\n\tstyles,\n\tview,\n\tsetInitialState({properties: {debounceLength, debounceCaretLength}}) {\n\t\treturn {\n\t\t\tdebounceInput: debounce((fn) => fn(), debounceLength),\n\t\t\tdebounceCaret: debounce((fn) => fn(), debounceLength),\n\t\t\tdebounceCaretWhileTyping: debounce((fn) => fn(), debounceCaretLength),\n\t\t\tprevCaretPos: null,\n\t\t};\n\t},\n});\n","import './now-textarea';\nimport * as info from '../package.json';\n\nconst {name, version} = info;\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n","const TOOLTIP_TAG = 'NOW_TOOLTIP';\n\n/**\n * Attaches a listener to the container, then fires a fake event from the given element\n * to identify all ancestor elements in the element's DOM tree. More efficient than\n * climbing the tree recursively.\n * @param {string} id - unique ID\n * @param {HTMLElement} element - the element to find ancestors of\n * @param {HTMLElement} container - the topmost element to resolve to\n */\nexport const findAncestors = (id, element, container) =>\n\tnew Promise((resolve) => {\n\t\tconst eventName = `findAncestors-${id}`;\n\t\tconst findListener = async (e) => {\n\t\t\tcontainer.removeEventListener(eventName, findListener);\n\t\t\tconst path = e.composedPath();\n\t\t\tconst length = path.length;\n\t\t\tconst ancestors = new Set(path);\n\n\t\t\tfor (let idx = 0; idx < length; idx++) {\n\t\t\t\tconst node = path[idx];\n\t\t\t\tif (\n\t\t\t\t\tnode !== element &&\n\t\t\t\t\tnode.nodeType === Node.ELEMENT_NODE &&\n\t\t\t\t\tnode.tagName === TOOLTIP_TAG\n\t\t\t\t) {\n\t\t\t\t\tconst parentAncestors = await findAncestors(\n\t\t\t\t\t\tnode.nowId,\n\t\t\t\t\t\tnode.nowPopover,\n\t\t\t\t\t\tcontainer,\n\t\t\t\t\t);\n\n\t\t\t\t\tparentAncestors.forEach((ancestor) => ancestors.add(ancestor));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tresolve(ancestors);\n\t\t};\n\n\t\tcontainer.addEventListener(eventName, findListener);\n\t\tconst event = new CustomEvent(eventName, {\n\t\t\tbubbles: true,\n\t\t\tcomposed: true,\n\t\t\tcancelable: false,\n\t\t});\n\t\telement.dispatchEvent(event);\n\t});\n","import {debounce} from 'lodash';\nimport {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {layerEvents, fit} from '@servicenow/library-enhanced-utils';\nimport {actionTypes} from '@servicenow/ui-core';\nimport styles from './_now-tooltip.scss';\nimport {schedule} from './scheduler';\nimport createScrollListener from './utils/scroll-listener';\n\nconst {\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_RENDERED,\n\tCOMPONENT_PROPERTY_CHANGED,\n} = actionTypes;\nconst {getBestFitInfo, resolveFitProperties} = fit;\nconst listenerMap = new WeakMap();\nconst hoistMap = new WeakMap();\nconst FIT_CONSTRAIN = {minHeight: 24, maxWidth: 304};\nconst SEISMIC_HOIST_TAG = 'SEISMIC-HOIST';\nconst debounceDispatch = debounce((fn) => fn(), 250);\n\nconst scrollListener = createScrollListener();\n\nconst fitTooltip = ({host, properties}) => {\n\tconst {\n\t\ttargetRef: target,\n\t\tcontainer,\n\t\tposition,\n\t\toffset,\n\t\topened,\n\t\tcontent: label,\n\t\tdir,\n\t} = properties;\n\tconst fitContentArea = host.shadowRoot.querySelector('.fit-content-area');\n\tconst fitContent = host.shadowRoot.querySelector('.fit-content');\n\tconst slottedElements = fitContent?.querySelector('slot').assignedNodes();\n\tconst haveTooltipContent = Boolean(label || slottedElements.length);\n\tconst tooltipVisible = Boolean(\n\t\topened && target && fitContent && haveTooltipContent,\n\t);\n\n\tif (tooltipVisible) {\n\t\tfitContent.querySelector('.now-line-height-crop').textContent = label;\n\t\tfitContent.removeAttribute('style');\n\n\t\tconst fitProps = {\n\t\t\t...resolveFitProperties({\n\t\t\t\tdir,\n\t\t\t\tpositions: position,\n\t\t\t\tconstrain: FIT_CONSTRAIN,\n\t\t\t\thideTail: true,\n\t\t\t\toffset: Array.isArray(offset)\n\t\t\t\t\t? offset\n\t\t\t\t\t: [0, 0, offset, offset, offset, offset],\n\t\t\t}),\n\t\t\ttarget,\n\t\t\tcontainer,\n\t\t\tcontent: fitContent,\n\t\t\tcontentArea: fitContentArea,\n\t\t};\n\n\t\tconst fitStyle = getBestFitInfo({...fitProps}).style;\n\n\t\tObject.assign(fitContentArea.style, fitStyle.contentArea);\n\t\tObject.assign(fitContent.style, fitStyle.content, {\n\t\t\tvisibility: 'visible',\n\t\t\theight: null,\n\t\t});\n\t} else if (fitContent) {\n\t\tfitContentArea.removeAttribute('style');\n\t\tfitContent.removeAttribute('style');\n\t}\n};\n\n/**\n * Refitting when the default slot changes ensures\n * the tooltip is positioned correctly on the target.\n *\n * This only matters if the tooltip is opened when the\n * slot changes. It's rare, but does happen.\n */\nfunction refitOnSlotChange(records) {\n\tfor (const record of records) {\n\t\tconst {target} = record;\n\t\tconst maybeHoistHost = target?.parentNode?.closest(SEISMIC_HOIST_TAG);\n\t\tif (hoistMap.has(maybeHoistHost)) {\n\t\t\tfitTooltip({\n\t\t\t\thost: maybeHoistHost,\n\t\t\t\tproperties: maybeHoistHost.sourceElement.getProperties(),\n\t\t\t});\n\t\t}\n\t}\n}\n\nconst observer = new MutationObserver(refitOnSlotChange);\nlet targetObserver;\n\nconst handleKeydown = (dispatch, event) => {\n\tif (event.key === 'Escape') {\n\t\tevent.stopPropagation();\n\t\tdispatch(() => {\n\t\t\treturn {\n\t\t\t\ttype: 'NOW_TOOLTIP#OPENED_SET',\n\t\t\t\tpayload: {value: false, target: 'keyboard'},\n\t\t\t};\n\t\t});\n\t}\n};\n\nconst addTargetListeners = (\n\ttargetRef,\n\tcomponentId,\n\tdelay,\n\tdispatch,\n\thost,\n\tcontainer,\n\tupdateState,\n) => {\n\tif (!targetRef || listenerMap.has(targetRef)) return;\n\tconst showTooltip = () => {\n\t\tschedule(\n\t\t\tcomponentId,\n\t\t\t() => {\n\t\t\t\tupdateState({\n\t\t\t\t\tisTooltipVisible: true,\n\t\t\t\t});\n\t\t\t\tscrollListener.add(componentId, host, container, () => {\n\t\t\t\t\tdebounceDispatch(() => {\n\t\t\t\t\t\tdispatch('PRIVATE#SCROLL_END');\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\tdispatch(() => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'NOW_TOOLTIP#OPENED_SET',\n\t\t\t\t\t\tpayload: {value: true, target: 'target'},\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t},\n\t\t\tdelay.show || delay,\n\t\t);\n\t};\n\n\tconst hideTooltip = () => {\n\t\tschedule(\n\t\t\tcomponentId,\n\t\t\t() => {\n\t\t\t\tupdateState({\n\t\t\t\t\tisTooltipVisible: false,\n\t\t\t\t});\n\t\t\t\tscrollListener.remove(componentId);\n\t\t\t\tdispatch(() => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'NOW_TOOLTIP#OPENED_SET',\n\t\t\t\t\t\tpayload: {value: false, target: 'target'},\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t},\n\t\t\tdelay.hide || delay,\n\t\t);\n\t};\n\ttargetRef.addEventListener('mouseover', showTooltip, false);\n\ttargetRef.addEventListener('mouseout', hideTooltip, false);\n\ttargetRef.addEventListener('focus', showTooltip, false);\n\ttargetRef.addEventListener('blur', hideTooltip, false);\n\n\tlistenerMap.set(targetRef, {showTooltip, hideTooltip});\n};\n\nconst removeTargetListeners = (targetRef, id) => {\n\tif (!targetRef || !listenerMap.has(targetRef)) return;\n\tconst {showTooltip, hideTooltip} = listenerMap.get(targetRef);\n\ttargetRef.removeEventListener('mouseover', showTooltip, false);\n\ttargetRef.removeEventListener('mouseout', hideTooltip, false);\n\ttargetRef.removeEventListener('focus', showTooltip, false);\n\ttargetRef.removeEventListener('blur', hideTooltip, false);\n\n\tlistenerMap.delete(targetRef);\n\n\tscrollListener.remove(id);\n};\n\nconst view = () => {\n\treturn (\n\t\t<span className=\"fit-content-area\">\n\t\t\t<span className=\"fit-content\">\n\t\t\t\t<span className=\"now-tooltip\" aria-hidden=\"true\">\n\t\t\t\t\t{/* state.properties.content is added here */}\n\t\t\t\t\t{/*\n\t\t\t\t\t\tNOTE: Snabbdom throws an error when the slotted\n\t\t\t\t\t\telement type (tag) changes while tooltip is opened\n\t\t\t\t\t\tand hoisted.\n\n\t\t\t\t\t\tIf the type of node (e.g., div) is changed between\n\t\t\t\t\t\trender states, snabbdom won't be able to diff\n\t\t\t\t\t\tthe new node because it's been hoisted out\n\t\t\t\t\t\tof the current DOM context, and snabbdom\n\t\t\t\t\t\tdepends on the parent node to know where to insert\n\t\t\t\t\t\tthe new node.\n\n\t\t\t\t\t\tThe reason this bug doesn't happen when the node\n\t\t\t\t\t\tremains the same is because snabbdom works off of\n\t\t\t\t\t\tmemoizing each DOM node. So as long as the node\n\t\t\t\t\t\tdoesn't change tag type, Snabbdom retains\n\t\t\t\t\t\tthe reference and continues to update it.\n\t\t\t\t\t*/}\n\t\t\t\t\t<slot>\n\t\t\t\t\t\t<span className=\"now-line-height-crop\" />\n\t\t\t\t\t</slot>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t</span>\n\t);\n};\n\n/**\n * Descriptive text that appears when the user hovers over or tabs to an element.\n *\n * ```jsx\n * import {createCustomElement} from '@servicenow/ui-core';\n * import snabbdom, {Fragment} from '@servicenow/ui-renderer-snabbdom';\n * import '@servicenow/now-tooltip';\n *\n * const view = (state, {updateState}) => {\n *   const setTargetRef = (ref) => setTimeout(() => updateState({targetRef: ref}));\n *   return (\n *     <Fragment>\n *       <span\n *         hook-insert={({elm}) => setTargetRef(elm)}\n *         hook-destroy={() => setTargetRef(null)}\n *         aria-describedby=\"tooltip1\">\n *           Hover over me for a tooltip\n *       </span>\n *       <now-tooltip\n *         id=\"tooltip1\"\n *         target-ref={state.targetRef}\n *         content=\"This text will appear in the tooltip\"\n *         delay={500}\n *       />\n *     </Fragment>\n *   );\n * };\n *\n * createCustomElement('sn-text-with-tooltip', {\n *   renderer: {\n *     type: snabbdom,\n *     view\n *   }\n * });\n * ```\n *\n * Alternatively, you can slot in content.\n *\n * ```jsx\n * <now-tooltip\n *    id=\"tooltip2\"\n *    target-ref={state.targetRef}>\n *    I am <strong>rich content</strong>\n * </now-tooltip>\n * ```\n *\n * @seismicElement now-tooltip\n * @summary Descriptive text to inform the user of the purpose of or context for an element.\n */\ncreateEnhancedElement('now-tooltip', {\n\tproperties: {\n\t\t/**\n\t\t * The target HTML element that the tooltip appears over when\n\t\t * the user hovers over or tabs to it.\n\t\t * @type {HTMLElement}\n\t\t */\n\t\ttargetRef: {},\n\t\t/**\n\t\t * Text that displays within the tooltip. If you want to display complex content,\n\t\t * use the default slot instead. This property is ignored when the slot is used.\n\t\t * @type {string}\n\t\t */\n\t\tcontent: {schema: {type: 'string'}},\n\t\t/**\n\t\t * True when the user hovers over or tabs to the tooltip's target element.\n\t\t * Use `manage-opened` to override the default behavior and handle the\n\t\t * `NOW_TOOLTIP#OPENED_SET` action manually.\n\t\t * @type {boolean}\n\t\t */\n\t\topened: {default: false, manageable: true, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Time delay in milliseconds after the user interacts with the\n\t\t * target element before the the tooltip appears or\n\t\t * disappears. Can be specified as an object with `show` and `hide`\n\t\t * keys, or as a simple number that applies to both.\n\t\t * @type {(number | {show: number, hide: number})}\n\t\t */\n\t\tdelay: {\n\t\t\tdefault: 300,\n\t\t\tschema: {\n\t\t\t\toneOf: [\n\t\t\t\t\t{type: 'number'},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {show: {type: 'number'}, hide: {type: 'number'}},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Element that the tooltip must fit within.\n\t\t *\n\t\t * @type {HTMLElement}\n\t\t */\n\t\tcontainer: {\n\t\t\tget default() {\n\t\t\t\treturn document.body;\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Array of possible positions to place the tooltip relative to its target element.\n\t\t * @type {Array<string>}\n\t\t */\n\t\tposition: {\n\t\t\tdefault: [\n\t\t\t\t'top-center bottom-center',\n\t\t\t\t'bottom-center top-center',\n\t\t\t\t'center-end center-start',\n\t\t\t\t'center-start center-end',\n\t\t\t\t'top-end top-start',\n\t\t\t\t'bottom-end bottom-start',\n\t\t\t\t'top-start top-end',\n\t\t\t\t'bottom-start bottom-end',\n\t\t\t],\n\t\t\tschema: {type: 'array', items: {type: 'string'}},\n\t\t},\n\t\t/**\n\t\t * Number of pixels to shift the tooltip from its target element.\n\t\t * @type {number | Array<number>}\n\t\t */\n\t\toffset: {\n\t\t\tdefault: 8,\n\t\t\tschema: {\n\t\t\t\toneOf: [{type: 'number'}, {type: 'array', items: {type: 'number'}}],\n\t\t\t},\n\t\t},\n\t\t/** @private */\n\t\tariaLabel: {\n\t\t\treflect: true,\n\t\t\tcomputed: ({properties: {content}}) => content,\n\t\t},\n\t\t/** @private */\n\t\tariaHidden: {\n\t\t\treflect: true,\n\t\t\tcomputed: ({properties}) => (properties.opened ? undefined : 'true'),\n\t\t},\n\t\t/** @private */\n\t\trole: {\n\t\t\treflect: true,\n\t\t\tdefault: 'tooltip',\n\t\t},\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['mouseover', 'mouseout'],\n\t\t\teffect: ({properties, dispatch, action}) => {\n\t\t\t\tconst {event} = action.meta;\n\t\t\t\tconst {nowId, delay} = properties;\n\t\t\t\tconst value = event.type === 'mouseover' ? true : false;\n\n\t\t\t\tschedule(\n\t\t\t\t\tnowId,\n\t\t\t\t\t() =>\n\t\t\t\t\t\tdispatch(() => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\ttype: 'NOW_TOOLTIP#OPENED_SET',\n\t\t\t\t\t\t\t\tpayload: {value, target: 'content'},\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}),\n\t\t\t\t\tdelay.show || delay,\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t],\n\tactionHandlers: {\n\t\t[COMPONENT_CONNECTED]: ({\n\t\t\thost,\n\t\t\taction,\n\t\t\tproperties,\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t}) => {\n\t\t\tconst {\n\t\t\t\tmeta: {id, hoistHost},\n\t\t\t} = action;\n\t\t\tconst {targetRef, delay, container} = properties;\n\t\t\tconst tooltipHost = hoistHost || host;\n\t\t\taddTargetListeners(\n\t\t\t\ttargetRef,\n\t\t\t\tid,\n\t\t\t\tdelay,\n\t\t\t\tdispatch,\n\t\t\t\ttooltipHost,\n\t\t\t\tcontainer,\n\t\t\t\tupdateState,\n\t\t\t);\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: ({properties, action}) => {\n\t\t\tconst {\n\t\t\t\tmeta: {id},\n\t\t\t} = action;\n\t\t\tremoveTargetListeners(properties.targetRef, id);\n\t\t\tlayerEvents.remove(properties.nowId);\n\t\t\ttargetObserver.disconnect();\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]({host, properties, action}) {\n\t\t\tconst {name, value} = action.payload;\n\t\t\tconst tooltipHost = action.meta.hoistHost || host;\n\t\t\tif (name === 'opened' && !value) {\n\t\t\t\thoistMap.delete(tooltipHost);\n\t\t\t\tlayerEvents.remove(properties.nowId);\n\t\t\t\tlistenerMap.delete(tooltipHost);\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_RENDERED]: ({\n\t\t\tproperties,\n\t\t\thost,\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\tupdateProperties,\n\t\t\tupdateState,\n\t\t}) => {\n\t\t\tconst {\n\t\t\t\tpayload: {previousRenderProperties},\n\t\t\t\tmeta: {id, hoistHost},\n\t\t\t} = action;\n\t\t\tconst {\n\t\t\t\topened,\n\t\t\t\tcontent,\n\t\t\t\tcontainer,\n\t\t\t\tposition,\n\t\t\t\toffset,\n\t\t\t\ttargetRef,\n\t\t\t\tnowHoist,\n\t\t\t} = properties;\n\t\t\tconst tooltipHost = hoistHost || host;\n\n\t\t\tif (!nowHoist && opened) {\n\t\t\t\treturn updateProperties({nowHoist: true});\n\t\t\t} else if (nowHoist && !opened) {\n\t\t\t\treturn updateProperties({nowHoist: false});\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tcontent !== previousRenderProperties.content ||\n\t\t\t\tcontainer !== previousRenderProperties.container ||\n\t\t\t\tposition !== previousRenderProperties.position ||\n\t\t\t\toffset !== previousRenderProperties.offset ||\n\t\t\t\topened\n\t\t\t) {\n\t\t\t\tfitTooltip({properties, host: tooltipHost});\n\t\t\t}\n\n\t\t\tif (targetRef !== previousRenderProperties.targetRef) {\n\t\t\t\tconst {delay} = properties;\n\t\t\t\tremoveTargetListeners(previousRenderProperties.targetRef, id);\n\t\t\t\taddTargetListeners(\n\t\t\t\t\ttargetRef,\n\t\t\t\t\tid,\n\t\t\t\t\tdelay,\n\t\t\t\t\tdispatch,\n\t\t\t\t\ttooltipHost,\n\t\t\t\t\tcontainer,\n\t\t\t\t\tupdateState,\n\t\t\t\t);\n\t\t\t\tfitTooltip({properties, host: tooltipHost});\n\t\t\t}\n\n\t\t\tif (opened && !listenerMap.has(tooltipHost)) {\n\t\t\t\thoistMap.set(tooltipHost, true);\n\t\t\t\tobserver.observe(tooltipHost, {\n\t\t\t\t\tchildList: true,\n\t\t\t\t\tsubtree: true,\n\t\t\t\t\tcharacterData: true,\n\t\t\t\t});\n\t\t\t\tconst boundHandler = (event) => handleKeydown(dispatch, event);\n\t\t\t\tlayerEvents.add({id, events: ['keydown'], callback: boundHandler});\n\t\t\t\tlistenerMap.set(tooltipHost, boundHandler);\n\t\t\t}\n\n\t\t\tif (opened) {\n\t\t\t\ttargetObserver = new MutationObserver(() => {\n\t\t\t\t\tfitTooltip({properties, host: tooltipHost});\n\t\t\t\t});\n\t\t\t\ttargetObserver.observe(targetRef, {\n\t\t\t\t\tattributes: true,\n\t\t\t\t\tattributeFilter: ['style', 'aria-valuenow'],\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t'PRIVATE#CHECK_FIT': {\n\t\t\tstopPropagation: true,\n\t\t\tmodifier: {\n\t\t\t\tname: 'throttle',\n\t\t\t\tlimit: 10,\n\t\t\t},\n\t\t\teffect: ({host, action, properties}) => {\n\t\t\t\tfitTooltip({properties, host: action.meta.hoistHost || host});\n\t\t\t},\n\t\t},\n\t\t'PRIVATE#SCROLL_END': {\n\t\t\teffect: ({host, state, properties, action}) => {\n\t\t\t\tif (state.isTooltipVisible) {\n\t\t\t\t\tfitTooltip({properties, host: action.meta.hoistHost || host});\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\tinitialState: {\n\t\tisTooltipVisible: false,\n\t},\n\tview,\n\tstyles,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the tooltip opens or closes.\n\t\t * Set the `manage-opened` property to override the default behavior and\n\t\t * handle this action manually.\n\t\t * @type {{value: boolean}}\n\t\t */\n\t\t'NOW_TOOLTIP#OPENED_SET': {},\n\t},\n\tslots: {\n\t\t/**\n\t\t * Complex content to display inside the tooltip body.\n\t\t * When this slot is used, the `content` property is ignored.\n\t\t *\n\t\t * If the content is plain text,\n\t\t * use the `content` property instead.\n\t\t * @defaultSlot\n\t\t */\n\t\tdefaultSlot: {},\n\t},\n});\n","import {findAncestors} from './dom';\n\n/**\n * Attaches scroll listeners to all ancestor elements of the given host element\n * that have shadow roots (because scroll events do not automatically bubble\n * through shadow boundaries). When any of the scroll listeners are fired,\n * trigger the callback function.\n * @param {HTMLElement} host\n * @param {string} componentId\n * @param {function} callback\n */\nexport default function createScrollListener() {\n\tconst attached = new Map();\n\n\treturn {\n\t\tasync add(id, host, container, callback) {\n\t\t\tconst ancestors = await findAncestors(id, host, container);\n\t\t\tconst targets = [];\n\t\t\tancestors.forEach((el) => el.shadowRoot && targets.push(el));\n\n\t\t\tconst listener = (e) => {\n\t\t\t\tconst [source] = e.composedPath();\n\t\t\t\tif (ancestors.has(source)) {\n\t\t\t\t\tcallback(e);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tfor (const target of targets) {\n\t\t\t\ttarget.shadowRoot.addEventListener('scroll', listener, true);\n\t\t\t}\n\n\t\t\tattached.set(id, {targets, listener});\n\t\t},\n\t\tremove(id) {\n\t\t\tconst value = attached.get(id);\n\t\t\tif (!value) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst {targets, listener} = value;\n\t\t\tfor (const target of targets) {\n\t\t\t\ttarget.shadowRoot.removeEventListener('scroll', listener, true);\n\t\t\t}\n\n\t\t\tattached.delete(id);\n\t\t},\n\t};\n}\n","import './now-tooltip';\nimport * as info from '../package.json';\n\nconst {name, version} = info;\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n\nexport {\n\tTOOLTIP_DELAY,\n\tTimeoutStore as timeoutMap,\n\tschedule,\n\tunschedule,\n\tcreateTooltipActionHandler,\n} from './scheduler';\n","export default new Map();\n","import TimeoutStore from './store';\n\n// TODO-SEISMIC-HACK: Remove if we can switch to a scheduled/cancellable action\n// instead of implementing our own approach\n// This scheduling is necessary because changing the target of the tooltip\n// breaks its internal timing mechanism. This is necessary for WCAG which\n// is rigid in its allowable timing\nconst TOOLTIP_DELAY = 300;\n\nconst schedule = (key, fn, ms = TOOLTIP_DELAY) => {\n\twindow.clearTimeout(TimeoutStore.get(key));\n\tconst newTimeout = window.setTimeout(fn, ms);\n\tTimeoutStore.set(key, newTimeout);\n};\n\nconst unschedule = (key) => {\n\tif (TimeoutStore.has(key)) {\n\t\twindow.clearTimeout(TimeoutStore.get(key));\n\t}\n};\n\n/*\n  This action handler should be used in the component managing the tooltip\n  It allows for keyboard esc functionality and generally hiding the tooltip\n*/\nconst createTooltipActionHandler = (hideTooltipCB) => {\n\treturn {\n\t\t'NOW_TOOLTIP#OPENED_SET': ({action, properties, updateState}) => {\n\t\t\tconst {value, target} = action.payload;\n\t\t\tconst componentId = properties.nowId;\n\n\t\t\tif (target === 'content' && value) {\n\t\t\t\tunschedule(componentId);\n\t\t\t}\n\n\t\t\tif ((target === 'content' || target === 'keyboard') && !value) {\n\t\t\t\tschedule(componentId, hideTooltipCB.bind(null, updateState));\n\t\t\t}\n\t\t},\n\t};\n};\n\nexport {\n\tTOOLTIP_DELAY,\n\tTimeoutStore,\n\tschedule,\n\tunschedule,\n\tcreateTooltipActionHandler,\n};\n","const random = len => crypto.getRandomValues(new Uint8Array(len));\n\nlet IDX = 256,\n\tHEX = [];\nfor (; IDX--; ) HEX[IDX] = (IDX + 256).toString(16).substring(1);\n\n/*#__INLINE__*/\nconst to_hex = (arr) => {\n\tlet i = 0,\n\t\toutput = '';\n\t// @ts-ignore\n\tfor (; i < arr.length; i++) output += HEX[arr[i]];\n\treturn output;\n};\n\n/*\nAnatomy of a Traceparent\n\n00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01\n^  ^                                ^                ^ \n|  |                                |                |\n|  |                                |                flags (2 hex)\n|  |                                parent-id (16 hex)\n|  trace-id (32 hex)\nversion (2 hex)\n*/\n\nconst trace_id_size = 16;\nconst parent_id_size = 8;\n\nconst W3C_TRACEPARENT_VERSION = '00';\n\nconst SAMPLED_FLAG = 0b00000001;\n\nconst traceparent = (\n\tversion,\n\ttrace_id,\n\tparent_id,\n\tflags,\n) => ({\n\tversion,\n\ttrace_id,\n\tparent_id,\n\tflags,\n\n\tchild(sampled) {\n\t\treturn traceparent(\n\t\t\tthis.version,\n\t\t\tthis.trace_id,\n\t\t\tto_hex(random(parent_id_size)),\n\t\t\tsampled === undefined\n\t\t\t\t? this.flags\n\t\t\t\t: sampled\n\t\t\t\t? this.flags | SAMPLED_FLAG\n\t\t\t\t: this.flags & ~SAMPLED_FLAG,\n\t\t);\n\t},\n\n\ttoString() {\n\t\tconst flags = this.flags.toString(16).padStart(2, '0');\n\t\treturn `${this.version}-${this.trace_id}-${this.parent_id}-${flags}`;\n\t},\n});\n\nexport function make(sampled) {\n\tconst total_size = trace_id_size + parent_id_size;\n\tconst id = random(total_size);\n\n\treturn traceparent(\n\t\tW3C_TRACEPARENT_VERSION,\n\t\tto_hex(id.slice(0, trace_id_size)),\n\t\tto_hex(id.slice(trace_id_size, total_size)),\n\t\tsampled ? SAMPLED_FLAG : 0b00000000,\n\t);\n}\n\nexport function parse(value) {\n\tif (value.length > 55) return null;\n\tconst segs = value.split('-');\n\treturn traceparent(segs[0], segs[1], segs[2], parseInt(segs[3], 16));\n}\n\n// ~> Utils\n\nexport function is_sampled(id) {\n\treturn !!(id.flags & SAMPLED_FLAG);\n}","const config = {\n\tdebug: false,\n\tenableTrace: false,\n\tenableCounter: false,\n\tenableGauge: false,\n\tenableHistogram: false,\n\tenableInteractions: false,\n\tenableTrack: false,\n\tenableMousemoveInteractions: false,\n\tenableScrollInteractions: false,\n\tenableKeypressInteractions: false,\n\tenableClickInteractions: false\n};\n\nexport const set = (key, value) => config[key] = value;\nexport const get = key => config[key];\n\n/*\n\tinteractionScrollElements: []\n*/","export const EXCEPTION_TYPE = 'exception.type';\nexport const EXCEPTION_MESSAGE = 'exception.message';\nexport const EXCEPTION_STACKTRACE = 'exception.stacktrace';","import {parse, make} from './tctx';\n\nconst metaEl = Array.from(document.getElementsByTagName('meta')).find(\n\te => e.getAttribute('name') === 'traceparent'\n);\nconst traceparent = (metaEl && metaEl.content) ? parse(metaEl.content) : make();\n\nexport const defaultParentId = traceparent.parent_id;\nexport const defaultTraceId = traceparent.trace_id;\nexport const defaultTraceFlag = traceparent.flags;\nexport const defaultTraceParent = traceparent.toString();\nexport const createSpanId = () => make().parent_id;\nexport const createTraceId = () => make().trace_id;\nexport const createTraceParentHeader = (spanId, traceId) => `${traceparent.version}-${traceId}-${spanId}-${traceparent.flags.toString(16).padStart(2, '0')}`;","let user = {};\n\nexport const set = (id, attributes = {}) => {\n\tuser = {...attributes, id};\n};\n\nexport const get = () => ({...user});","let page = {};\n\nexport const set = (id, attributes = {}) => {\n\tpage = {\n\t\t...attributes,\n\t\tid: id || location.href.replace(location.origin, ''),\n\t};\n};\n\nexport const get = () => ({...page});","let application = {};\n\nexport const set = (name, version, attributes = {}) => {\n\tapplication = {...attributes, name, version};\n};\n\nexport const get = () => ({...application});","import {get as getUser} from './user';\nimport {get as getPage} from './page';\nimport {get as getApplication} from './application';\nimport {get as getConfigValue} from './config';\n\nexport default function getItemMetadata() {\n\treturn {\n\t\tapplication: getApplication(),\n\t\tuser: getUser(),\n\t\tpage: getPage()\n\t}\n}","export const SPAN_KIND = {\n    // Unspecified. Do NOT use as default.\n    // Implementations MAY assume SpanKind to be INTERNAL when receiving UNSPECIFIED.\n    UNSPECIFIED: 0,\n  \n    // Indicates that the span represents an internal operation within an application,\n    // as opposed to an operation happening at the boundaries. Default value.\n    INTERNAL: 1,\n  \n    // Indicates that the span covers server-side handling of an RPC or other\n    // remote network request.\n    SERVER: 2,\n  \n    // Indicates that the span describes a request to some remote service.\n    CLIENT: 3,\n  \n    // Indicates that the span describes a producer sending a message to a broker.\n    // Unlike CLIENT and SERVER, there is often no direct critical path latency relationship\n    // between producer and consumer spans. A PRODUCER span ends when the message was accepted\n    // by the broker while the logical processing of the message might span a much longer time.\n    PRODUCER: 4,\n  \n    // Indicates that the span describes consumer receiving a message from a broker.\n    // Like the PRODUCER kind, there is often no direct critical path latency relationship\n    // between producer and consumer spans.\n    CONSUMER: 5,\n  };","// Invalid span\nexport const INVALID_TRACE_ID = '00000000000000000000000000000000';\nexport const INVALID_SPAN_ID = '0000000000000000';","import {get as getConfigValue} from './config';\nimport {EXCEPTION_TYPE, EXCEPTION_MESSAGE, EXCEPTION_STACKTRACE} from './attributes';\nimport {createSpanId, createTraceId, defaultTraceParent} from './traceparent';\nimport getItemMetadata from './getItemMetadata';\nimport { SPAN_KIND } from './spanKind';\nimport { INVALID_SPAN_ID, INVALID_TRACE_ID } from './constants';\n\n\n\nconst noop = () => null;\nconst getCurrentTime = () => performance.timeOrigin + performance.now();\n\nexport default function createTracer(exporter) {\n\treturn function trace(name, options = {}) {\n\t\tif (getConfigValue('enableTrace')) {\n\t\t\tconst {attributes = {}, links = [], parentSpan, events = [], kind = SPAN_KIND.INTERNAL} = options;\n\t\t\tconst parentSpanId = parentSpan ? parentSpan.id : undefined;\n\t\t\tconst traceId = parentSpan ? parentSpan.traceId : (options.traceId || createTraceId());\n\t\t\tconst {page, user, application} = getItemMetadata();\n\n\t\t\treturn {\n\t\t\t\ttype: 'trace',\n\t\t\t\tid: createSpanId(),\n\t\t\t\ttraceId,\n\t\t\t\tlinks,\n\t\t\t\tevents,\n\t\t\t\tstatus: 0,\n\t\t\t\tattributes,\n\t\t\t\tapplication,\n\t\t\t\tuser,\n\t\t\t\tpage,\n\t\t\t\tname,\n\t\t\t\tdocumentTraceParent: defaultTraceParent,\n\t\t\t\tstartTime: getCurrentTime(),\n\t\t\t\tparentSpanId,\n\t\t\t\tendTime: null,\n\t\t\t\tduration: null,\n\t\t\t\tkind,\n\t\t\t\tsetStatus(status) {\n\t\t\t\t\tthis.status = status;\n\t\t\t\t},\n\t\t\t\taddEvent(event, attributes, now = Date.now()) {\n\t\t\t\t\tthis.events.push({name: event, attributes, time: now});\n\t\t\t\t},\n\t\t\t\tend() {\n\t\t\t\t\tthis.endTime = getCurrentTime();\n\t\t\t\t\tthis.duration = this.endTime - this.startTime;\n\t\t\t\t\texporter(this);\n\t\t\t\t},\n\t\t\t\trecordException(exception, now = Date.now()) {\n\t\t\t\t\tconst attributes = {};\n\t\t\t\t\tif (typeof exception === 'string') {\n\t\t\t\t\t\tattributes[EXCEPTION_MESSAGE] = exception;\n\t\t\t\t\t} else if (exception) {\n\t\t\t\t\t\tif (exception.code) {\n\t\t\t\t\t\t\tattributes[EXCEPTION_TYPE] = exception.code.toString();\n\t\t\t\t\t\t} else if (exception.name) {\n\t\t\t\t\t\t\tattributes[EXCEPTION_TYPE] = exception.name;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (exception.message) {\n\t\t\t\t\t\t\tattributes[EXCEPTION_MESSAGE] = exception.message;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (exception.stack) {\n\t\t\t\t\t\t\tattributes[EXCEPTION_STACKTRACE] = exception.stack;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// these are minimum requirements from spec\n\t\t\t\t\tif (\n\t\t\t\t\t\tattributes[EXCEPTION_TYPE] ||\n\t\t\t\t\t\tattributes[EXCEPTION_MESSAGE]\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.addEvent('exception', attributes, now);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconsole.warn(`Failed to record an exception ${exception}`);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tsetAttribute(key, value) {\n\t\t\t\t\tthis.attributes[key] = value;\n\t\t\t\t}\n\t\t\t};\n\t\t} else {\n\t\t\treturn  {\n\t\t\t\tid: INVALID_SPAN_ID,\n\t\t\t\ttraceId: INVALID_TRACE_ID,\n\t\t\t\tlinks: [],\n\t\t\t\tevents: [],\n\t\t\t\tattributes: {},\n\t\t\t\tstatus: 0,\n\t\t\t\tname,\n\t\t\t\tstartTime: null,\n\t\t\t\tendTime: null,\n\t\t\t\tparentSpanId: null,\n\t\t\t\tsetStatus: noop,\n\t\t\t\taddEvent: noop,\n\t\t\t\tend: noop,\n\t\t\t\trecordException: noop,\n\t\t\t\tsetAttribute: noop\n\t\t\t};\n\t\t}\n\t}\n};\n","import {defaultTraceParent, createTraceId} from './traceparent';\nimport {get as getConfigValue} from './config';\nimport getItemMetadata from './getItemMetadata';\n\nexport default function createTracker(exporter) {\n\treturn function track(name, options = {}) {\n\t\tif (!getConfigValue('enableTrack'))\n\t\t\treturn;\n\n\t\tconst {attributes, time = Date.now(), traceId} = options;\n\t\tconst {page, user, application} = getItemMetadata();\n\t\tconst event = {\n\t\t\tname,\n\t\t\ttype: 'usage',\n\t\t\tattributes,\n\t\t\tapplication,\n\t\t\tuser,\n\t\t\tpage,\n\t\t\ttimestamp: time,\n\t\t\ttraceId: traceId || createTraceId(),\n\t\t\tdocumentTraceParent: defaultTraceParent\n\t\t};\n\n\t\texporter(event);\n\t}\n}","import {defaultTraceParent, createTraceId} from './traceparent';\nimport {make} from './tctx';\nimport {get as getConfigValue} from './config';\nimport getItemMetadata from './getItemMetadata';\n\nconst isEnabled = type => {\n\tswitch (type) {\n\t\tcase 'counter':\n\t\t\treturn getConfigValue('enableCounter');\n\t\t\tbreak;\n\t\tcase 'gauge':\n\t\t\treturn getConfigValue('enableGauge');\n\t\t\tbreak;\n\t\tcase 'histogram':\n\t\t\treturn getConfigValue('enableHistogram');\n\t\t\tbreak;\n\t}\n};\n\nconst createMetric = (name, options, type, cb) => {\n\tconst id = make().parent_id;\n\n\treturn function metric(value, attributes) {\n\t\tif (!isEnabled(type))\n\t\t\treturn;\n\n\t\tif (attributes)\n\t\t\toptions.attributes = {...options.attributes, ...attributes};\n\n\t\tcb({\n\t\t\t...options,\n\t\t\tid,\n\t\t\tname,\n\t\t\ttype,\n\t\t\tvalue,\n\t\t\ttraceId: options.traceId || createTraceId()\n\t\t});\n\t}\n};\n\nconst applyAppUserAttributes = metric => {\n\tif (!metric.attributes)\n\t\tmetric.attributes = {};\n\n\tconst {page, application, user} = getItemMetadata();\n\n\tmetric.timestamp = Date.now();\n\tmetric.application = application;\n\tmetric.user = user;\n\tmetric.page = page;\n\tmetric.documentTraceParent = defaultTraceParent;\n\n\treturn metric;\n};\n\nexport default function createMetrics(exporter) {\n\tconst metricCallback = metric => exporter(applyAppUserAttributes(metric));\n\n\treturn {\n\t\tcreateCounter(name, options = {}) {\n\t\t\treturn createMetric(name, options, 'counter', metricCallback)\n\t\t},\n\t\tcreateGauge(name, options = {}) {\n\t\t\treturn createMetric(name, options, 'gauge', metricCallback)\n\t\t},\n\t\tcreateHistogram(name, options = {}) {\n\t\t\treturn createMetric(name, options, 'histogram', metricCallback)\n\t\t}\n\t};\n}","import {defaultTraceParent, createTraceId} from './traceparent';\nimport {get as getConfigValue} from './config';\nimport getItemMetadata from './getItemMetadata';\n\nconst observedScrollElements = new Set();\nobservedScrollElements.add(window);\n\nconst addScrollElement = el => {\n\tobservedScrollElements.add(el);\n\treturn () => observedScrollElements.delete(el);\n};\n\nconst isEnabled = type => {\n\tif (!getConfigValue('enableInteractions'))\n\t\treturn false;\n\n\tswitch(type) {\n\t\tcase 'move':\n\t\t\treturn getConfigValue('enableMousemoveInteractions');\n\t\tcase 'scroll':\n\t\t\treturn getConfigValue('enableScrollInteractions');\n\t\tcase 'keypress':\n\t\t\treturn getConfigValue('enableKeypressInteractions');\n\t\tcase 'click':\n\t\t\treturn getConfigValue('enableClickInteractions');\n\t}\n}\n\nexport default function initInteractionsTracker(exporter) {\n\tif (!getConfigValue('enableInteractions'))\n\t\treturn false;\n\tconst movementInterval = 100;\n\tconst resizeInterval = 100;\n\tconst scrollInterval = 100;\n\n\tlet lastResize = 0;\n\tlet windowWidth = window.innerWidth;\n\tlet windowHeight = window.innerHeight;\n\tlet pageWidth  = document.documentElement.scrollWidth;\n\tlet pageHeight = document.documentElement.scrollHeight;\n\n\twindow.addEventListener('resize', e => {\n\t\tconst now = Date.now();\n\t\tif (now > lastResize + resizeInterval) {\n\t\t\twindowWidth = window.innerWidth;\n\t\t\twindowHeight = window.innerHeight;\n\t\t\tpageWidth  = document.documentElement.scrollWidth;\n\t\t\tpageHeight = document.documentElement.scrollHeight;\n\t\t\tlastResize = now;\n\t\t}\n\t});\n\n\tconst createEvent = (name, e) => {\n\t\tconst {clientX, clientY, pageX, pageY, screenX, screenY, target} = e;\n\t\tconst {page, user, application} = getItemMetadata();\n\n\t\treturn {\n\t\t\tattributes: {\n\t\t\t\tclientX,\n\t\t\t\tclientX,\n\t\t\t\tpageX,\n\t\t\t\tpageY,\n\t\t\t\tscreenX,\n\t\t\t\tscreenY,\n\t\t\t\ttarget: target.tagName.toLowerCase(),\n\t\t\t\twindowWidth,\n\t\t\t\twindowHeight,\n\t\t\t\tpageWidth,\n\t\t\t\tpageHeight,\n\t\t\t\tscrollTop: name === 'scroll' ? target.scrollTop : undefined\n\t\t\t},\n\t\t\tname,\n\t\t\tapplication,\n\t\t\tuser,\n\t\t\tpage,\n\t\t\ttype: 'interaction',\n\t\t\ttimestamp: Date.now(),\n\t\t\ttraceId: createTraceId(),\n\t\t\tdocumentTraceParent: defaultTraceParent\n\t\t};\n\t};\n\n\tobservedScrollElements.forEach(el => {\n\t\tlet lastScroll = 0;\n\t\tel.addEventListener('scroll', e => {\n\t\t\tif (!isEnabled('scroll')) return;\n\t\t\tconst now = Date.now();\n\t\t\tif (now > lastScroll + scrollInterval) {\n\t\t\t\tconst event = createEvent('scroll', e);\n\t\t\t\tlastScroll = now;\n\t\t\t\texporter(event);\n\t\t\t}\n\t\t})\n\t});\n\n\tlet lastMovement = 0;\n\tdocument.addEventListener('mousemove', e => {\n\t\tif (!isEnabled('move')) return;\n\t\tconst now = Date.now();\n\t\tif (now > lastMovement + movementInterval) {\n\t\t\tconst {clientX, clientY, pageX, pageY, screenX, screenY, target} = e;\n\n\t\t\tconst event = createEvent('mousemove', e);\n\t\t\tlastMovement = now;\n\t\t\texporter(event);\n\t\t}\n\t});\n\n\tdocument.addEventListener('click', e => {\n\t\tif (!isEnabled('click')) return;\n\t\tconst event = createEvent('click', e);\n\t\texporter(event);\n\t});\n\n\tdocument.addEventListener('keypress', e => {\n\t\tif (!isEnabled('keypress')) return;\n\t\tconst event = createEvent('keypress', e);\n\t\texporter(event);\n\t});\n}","const observers = new Set();\nexport default observers;","const values = {\n\tevents: [],\n\tflushed: false\n};\n\nexport const set = (key, value) => values[key] = value;\n\nexport const get = key => values[key];","import {get as getConfigValue} from './config';\nimport observers from './observers';\nimport {get} from './queuedEvents';\n\nconst notifyTraceSubscriber = ({\n\ttype, \n\tid,\n\ttraceId,\n\tlinks,\n\tevents,\n\tstatus,\n\tattributes,\n\tapplication,\n\tuser,\n\tpage,\n\tname,\n\tdocumentTraceParent,\n\tstartTime,\n\tparentSpanId,\n\tendTime,\n\tduration,\n\tkind\n}) => {\n\tobservers.forEach(observer => observer({\n\t\ttype,\n\t\tid,\n\t\ttraceId,\n\t\tlinks,\n\t\tevents,\n\t\tstatus,\n\t\tattributes,\n\t\tapplication,\n\t\tuser,\n\t\tpage,\n\t\tname,\n\t\tdocumentTraceParent,\n\t\tstartTime,\n\t\tparentSpanId,\n\t\tendTime,\n\t\tduration,\n\t\tkind\n\t}));\n}\n\nexport default function exporter(event) {\n\tconst debug = getConfigValue('debug');\n\tconst hasBeenFlushed = get('flushed');\n\tconst queuedEvents = get('events');\n\n\tif (debug)\n\t\tconsole.dir(event);\n\n\tif(event.type === 'trace') {\n\t\tnotifyTraceSubscriber(event);\n\t\treturn;\n\t}\n\n\tobservers.forEach(observer => observer(event));\n\tif (!hasBeenFlushed) \n\t\tqueuedEvents.push(event);\n}","import { INVALID_SPAN_ID, INVALID_TRACE_ID } from './constants';\n\nconst VALID_TRACE_ID_REGEX = /^([0-9a-f]{32})$/i;\nconst VALID_SPAN_ID_REGEX = /^[0-9a-f]{16}$/i;\n\nexport function isValidTraceId(traceId) {\n  return VALID_TRACE_ID_REGEX.test(traceId) && traceId !== INVALID_TRACE_ID;\n}\n\nexport function isValidSpanId(spanId) {\n  return VALID_SPAN_ID_REGEX.test(spanId) && spanId !== INVALID_SPAN_ID;\n}\n\nexport function isSpanContextValid(spanContext) {\n  return (\n    isValidTraceId(spanContext.traceId) && isValidSpanId(spanContext.spanId)\n  );\n}\n","import {\n\tcreateAnalyticsApi,\n\tsetUser,\n\tgetUser,\n\tsetPage,\n\tgetPage,\n\tsetConfigValue,\n\tgetConfigValue,\n\tonEvent,\n\tcreateTraceParent,\n\tcreateTraceId,\n\tcreateTraceParentHeader,\n\tgetQueuedEvents,\n\tsetApplication,\n\tgetApplication,\n\tisSpanContextValid,\n\tisValidSpanId,\n\tisValidTraceId\n} from '@servicenow/ui-analytics-core';\nconst {trace, track, metrics: {createCounter, createGauge, createHistogram}} = createAnalyticsApi();\n\nexport {trace};\nexport {track};\nexport {createCounter};\nexport {createGauge};\nexport {createHistogram};\nexport {setUser};\nexport {getUser};\nexport {setPage};\nexport {getPage};\nexport {setConfigValue};\nexport {getConfigValue};\nexport {onEvent};\nexport {createTraceParent};\nexport {createTraceId};\nexport {createTraceParentHeader};\nexport {getQueuedEvents};\nexport {setApplication};\nexport {getApplication};\nexport {isSpanContextValid};\nexport {isValidSpanId};\nexport {isValidTraceId};\n","import {set as setConfigValue} from './config'\nimport createTracer from './createTracer';\nimport createTracker from './createTracker';\nimport createMetrics from './createMetrics';\nimport {set as setPage} from './page';\nimport initInteractionsTracker from './initInteractionsTracker';\nimport exporter from './exporter';\n\nexport {setPage as page};\n\nexport default function createAnalyticsApi(apiConfig) {\n\tfor (const k in apiConfig)\n\t\tsetConfigValue(k, apiConfig[k]);\n\n\tsetPage();\n\n\tinitInteractionsTracker(exporter);\n\treturn {\n\t\ttrace: createTracer(exporter),\n\t\ttrack: createTracker(exporter),\n\t\tmetrics: createMetrics(exporter)\n\t};\n};","import {actionTypes} from '@servicenow/ui-internal';\nimport pkgJsonContent from '../package.json';\n\nexport const DISPATCH_EVENT = 'DISPATCH_CUSTOM_EVENT';\nexport const COMPONENT_ID_ATTRIBUTE = 'component-id';\nexport const ATTRIBUTE_SET = 'ATTRIBUTE_SET';\nexport const STORE_UPDATED = 'STORE_UPDATED';\nexport const HANDLE_ACTIONS = 'handle-actions';\nexport const PROPERTIES_SET = 'PROPERTIES_SET';\nexport const SHOULD_NOT_PROPAGATE = [PROPERTIES_SET, STORE_UPDATED];\nexport const PARSE_PROP_CONF_KEY = 'unstableParse';\nexport const SET_INITIAL_STATE = 'SET_INITIAL_STATE';\nexport const COMPONENT_NAME_ATTR = 'component-name';\nexport const COMPONENT_NAME_PROP = 'componentName';\nexport const HOIST_APPEND_TO_PROP = 'hoistAppendTo';\nexport const HOIST_APPEND_TO_ATTR = 'hoist-append-to';\nexport const HOIST_ATTR = 'hoist';\nexport const SEISMIC_HOIST_TAG_NAME = 'SEISMIC-HOIST';\nexport const HOIST_FIRST_SCROLL_PARENT = 'now-unstable-first-scroll-parent';\nexport const DEFER_ATTRIBUTE = 'defer';\nexport const APPEND_TO_PAYLOAD_PROP_NAME = 'appendToPayload';\nexport const APPEND_TO_META_PROP_NAME = 'appendToMeta';\nexport const PROPERTY_SELECTOR_SIGIL = '@';\nexport const PROPERTIES_SET_LIFECYCLE = 'onPropertiesSet';\n\n// legacy life cycle functions\nexport const ON_CONNECT_LIFECYCLE = 'onConnect';\nexport const ON_DISCONNECT_LIFECYCLE = 'onDisconnect';\nexport const ON_BOOTSTRAP_LIFECYCLE = 'onBootstrap';\n\n// public action types\nexport const {COMPONENT_CONNECTED} = actionTypes;\nexport const {COMPONENT_DISCONNECTED} = actionTypes;\nexport const {COMPONENT_BOOTSTRAPPED} = actionTypes;\nexport const {COMPONENT_PROPERTY_CHANGED} = actionTypes;\nexport const {COMPONENT_RENDERED} = actionTypes;\nexport const {COMPONENT_DOM_READY} = actionTypes;\nexport const {COMPONENT_PROPERTY_UPDATE_REQUESTED} = actionTypes;\nexport const {COMPONENT_RENDER_REQUESTED} = actionTypes;\nexport const {COMPONENT_DOM_TREE_READY} = actionTypes;\nexport const {COMPONENT_TREE_RENDERED} = actionTypes;\nexport const {COMPONENT_ACTION_DISPATCHED} = actionTypes;\nexport const {COMPONENT_INTERACTIVE} = actionTypes;\n\n// now namespace\nexport const NOW_HOIST_ATTR = 'now-hoist';\nexport const NOW_HOIST_PROP = 'nowHoist';\nexport const NOW_HOIST_APPEND_TO_ATTR = 'now-hoist-append-to';\nexport const NOW_HOIST_PREPEND_TO_ATTR = 'now-hoist-prepend-to';\nexport const NOW_HOIST_APPEND_TO_PROP = 'nowHoistAppendTo';\nexport const NOW_HOIST_PREPEND_TO_PROP = 'nowHoistPrependTo';\nexport const NOW_ID_ATTR = 'now-id';\nexport const NOW_ID_PROP = 'nowId';\nexport const NOW_COMPONENT_NAME_ATTR = 'now-name';\nexport const NOW_COMPONENT_NAME_PROP = 'nowName';\nexport const NOW_ENABLE_PROPERTY_SETTING_PREVENTION_ATTR = 'now-enable-property-setting-prevention';\nexport const NOW_ENABLE_PROPERTY_SETTING_PREVENTION_PROP = 'nowEnablePropertySettingPrevention';\nexport const NOW_LOGGING_LEVELS_PROP = 'nowLoggingLevels';\nexport const NOW_PLACEHOLDER_HEIGHT_PROP = 'nowPlaceholderHeight';\nexport const NOW_PLACEHOLDER_WIDTH_PROP = 'nowPlaceholderWidth';\n\n// priorities\nexport const NOW_PRIORITY_ATTR = 'now-priority';\nexport const NOW_PRIORITY_PROP = 'nowPriority';\nexport const PRIORITY_LEVEL_LOW = 'low';\nexport const PRIORITY_LEVEL_MEDIUM = 'medium';\n\n// modes\nexport const NOW_MODE_ATTR = 'now-mode';\nexport const NOW_MODE_PROP = 'nowMode';\nexport const COMPONENT_MODE_ACTIVE = 'active';\nexport const COMPONENT_MODE_SUSPEND = 'suspend';\nexport const COMPONENT_MODE_DETACH = 'detach';\n\n// metrics\nexport const NOW_METRIC_TYPES_PROP = 'nowMetricTypes';\nexport const NOW_METRICS_LEVEL_PROP = 'nowMetricsLevel';\n\nexport const NOW_UI_EVENT = 'NOW_UI_EVENT';\n// now event types\nexport const STATE_UPDATED = 'STATE_UPDATED';\nexport const ACTION_DISPATCHED = 'ACTION_DISPATCHED';\nexport const ACTION_HANDLED = 'ACTION_HANDLED';\nexport const PROPAGATION_STOPPED = 'PROPAGATION_STOPPED';\nexport const DEFAULT_PREVENTED = 'DEFAULT_PREVENTED';\n\nexport const SCHEDULE_IMMEDIATELY_DO_NOT_USE_OR_YOU_WILL_BE_IMMEDIATELY_FIRED =\n\t'SCHEDULE_IMMEDIATELY_DO_NOT_USE_OR_YOU_WILL_BE_IMMEDIATELY_FIRED';\nexport const COMPONENT_INTERNAL_ACTION = 'NOW_COMPONENT_INTERNAL_ACTION';\n\nexport const HELPERS_IMMEDIATE = 'HELPERS_IMMEDIATE';\nexport const HELPERS_DEFER = 'HELPERS_DEFER';\nexport const HELPERS_SCHEDULED = 'HELPERS_SCHEDULED';\nexport const PACKAGE_NAME = '@servivcenow/ui-core';\n\nexport const SHADOW_ROOT_MODE_CLOSED = 'closed';\nexport const SHADOW_ROOT_MODE_OPEN = 'open';\n\nexport const COMPONENT_STATE_UPDATED = 'SEISMIC_COMPONENT_STATE_UPDATED';\n\n// Avoid re-render prop used to avoid component re-render if new & old states are same\nexport const NOW_AVOID_RENDER_PROP = 'nowAvoidRender';\n\nexport const ARIA_LIVE_REGION_UPDATE_REQUESTED = 'SEISMIC_ARIA_LIVE_REGION_UPDATE_REQUESTED';\nexport const ARIA_LIVE_POLITE = 'polite';\nexport const ARIA_LIVE_ASSERTIVE = 'assertive';\n\nexport const SPAN_KIND_CLIENT = 3;\nexport const SPAN_FOR_RENDER = 'RENDER';\nexport const SPAN_FOR_ACTION_HANDLED = 'ACTION_HANDLE';\nexport const SPAN_FOR_DISPATCH = 'ACTION_DISPATCH';\nexport const SPAN_FOR_UPDATE_PROPERTIES = 'UPDATE_PROPERTIES';\nexport const SPAN_FOR_SET_PROPERTY = 'SET_PROPERTY';\n\nexport const SPAN_FOR_UPDATE_STATE = 'UPDATE_STATE';\nexport const SPAN_FOR_UPDATE_CONTEXT = 'UPDATE_CONTEXT';\n\nexport const SPAN_FOR_COMPONENT_CONNECTED = 'CONNECTED';\nexport const SPAN_FOR_COMPONENT_DISCONNECTED = 'DISCONNECTED';\nexport const SPAN_FOR_COMPONENT_BOOTSTRAPPED = 'BOOTSTRAPPED';\nexport const SPAN_FOR_COMPONENT_RENDERED = 'RENDERED';\nexport const SPAN_FOR_COMPONENT_DOM_READY = 'DOM_READY';\nexport const SPAN_FOR_COMPONENT_PROPERTY_CHANGED = 'PROPERTY_CHANGED';\nexport const SPAN_FOR_COMPONENT_RENDER_REQUESTED = 'RENDER_REQUESTED';\nexport const SPAN_FOR_COMPONENT_DOM_TREE_READY = 'DOM_TREE_READY';\nexport const SPAN_FOR_COMPONENT_TREE_RENDERED = 'TREE_RENDERED';\nexport const SPAN_FOR_COMPONENT_ERROR_THROWN = 'ERROR_THROWN';\nexport const SPAN_LIFECYCLE_EVENTS = {\n\t[actionTypes.COMPONENT_CONNECTED]: SPAN_FOR_COMPONENT_CONNECTED,\n\t[actionTypes.COMPONENT_DISCONNECTED]: SPAN_FOR_COMPONENT_DISCONNECTED,\n\t[actionTypes.COMPONENT_BOOTSTRAPPED]: SPAN_FOR_COMPONENT_BOOTSTRAPPED,\n\t[actionTypes.COMPONENT_RENDERED]: SPAN_FOR_COMPONENT_RENDERED,\n\t[actionTypes.COMPONENT_DOM_READY]: SPAN_FOR_COMPONENT_DOM_READY,\n\t[actionTypes.COMPONENT_PROPERTY_CHANGED]: SPAN_FOR_COMPONENT_PROPERTY_CHANGED,\n\t[actionTypes.COMPONENT_RENDER_REQUESTED]: SPAN_FOR_COMPONENT_RENDER_REQUESTED,\n\t[actionTypes.COMPONENT_DOM_TREE_READY]: SPAN_FOR_COMPONENT_DOM_TREE_READY,\n\t[actionTypes.COMPONENT_TREE_RENDERED]: SPAN_FOR_COMPONENT_TREE_RENDERED,\n\t[actionTypes.COMPONENT_ERROR_THROWN]: SPAN_FOR_COMPONENT_ERROR_THROWN\n};\n\nexport const SPAN_ATTR_COMPONENT_CONNECTED = 'connected';\nexport const SPAN_ATTR_COMPONENT_SUSPENDED = 'suspended';\nexport const SPAN_ATTR_COMPONENT_DETACHED = 'detached';\nexport const SPAN_ATTR_COMPONENT_INTERSECTED = 'intersected';\nexport const SPAN_ATTR_COMPONENT_RENDER_SKIPPED = 'renderSkipped';\nexport const SPAN_ATTR_COMPONENT_EVENT_DEFAULT_PREVENTED = 'defaultPrevented';\nexport const SPAN_ATTR_COMPONENT_EVENT_PROPAGATION_STOPPED = 'propagationStopped';\nexport const SPAN_ATTR_DISPATCH_ACTION_TYPE = 'actionType';\nexport const SPAN_ATTR_DISPATCH_ACTION_INTERNAL_TYPE = 'internalActionType';\nexport const SPAN_ATTR_DISPATCH_PAYLOAD = 'payload';\nexport const SPAN_ATTR_DISPATCH_SHOULD_DISPATCH = 'shouldDispatch';\nexport const SPAN_ATTR_DISPATCH_UNDEFINED = 'isActionUndefined';\nexport const SPAN_ATTR_DISPATCH_FLAG_HOST_DISPATCH = 'undocumentedHostDispatch';\nexport const SPAN_ATTR_UPDATE_PROPERTIES_SHOULD_UPDATE = 'shouldUpdate';\nexport const SPAN_ATTR_UPDATE_PROPERTIES_PROPNAME = 'propertyName';\nexport const SPAN_ATTR_UPDATE_PROPERTIES_PROPVALUE = 'propertyValue';\nexport const SPAN_ATTR_UPDATE_PROPERTIES_PROP = 'property';\n\nexport const SPAN_ATTR_SET_PROPERTY_SKIPED = 'setSkipped';\nexport const SPAN_ATTR_UPDATE_CONTEXT_SHOULD_BATCH = 'shouldBatch';\n\nexport const SPAN_ATTR_RENDER_CAUSE = 'renderCause';\nexport const SPAN_ATTR_UPDATE_PAYLOAD = 'updatePayload';\nexport const SPAN_ATTR_DID_UPDATE = 'didUpdate';\nexport const SPAN_ATTR_SHOULD_RENDER = 'shouldRender';\n\nexport const SPAN_ATTR_TASK_SCHEDULED = 'taskScheduled';\nexport const SPAN_ATTR_TASK_STARTED = 'taskStarted';\nexport const SPAN_ATTR_TASK_DEDUPED = 'taskDeduped';\nexport const SPAN_ATTR_TASK_COMPLETED = 'taskCompleted';\n\nexport const SPAN_ATTR_CONDITIONAL = 'conditional';\nexport const SPAN_ATTR_SKIP_FOR_DETACHED_COMPONENT = 'skipForDetachedComponent';\nexport const SPAN_ATTR_STORE_UPDATE = 'storeUpdate';\n\nexport const PACKAGE_JSON_VERSION = pkgJsonContent.version;\n","import {PACKAGE_JSON_VERSION} from './constants';\n\nlet componentRegistry = {};\nconst stats = {\n\tconstructedByTagName: {},\n\tdefinedTagNames: [],\n\tdeferredByTagName: {}\n};\n\nexport const defineRegistry = registry => {\n\tcomponentRegistry = registry;\n\tstats.constructedByTagName = {};\n\tstats.definedTagNames = [];\n\tstats.deferredByTagName = {};\n};\n\nexport const get = () => {\n\tconst countByTagName = {};\n\tfor (const k in componentRegistry) {\n\t\tconst tagName = componentRegistry[k].tagName.toLowerCase();\n\t\tif (!countByTagName[tagName]) countByTagName[tagName] = 0;\n\n\t\tcountByTagName[tagName]++; // eslint-disable-line no-plusplus\n\t}\n\n\tlet totalConstructed = 0;\n\tfor (const k in stats.constructedByTagName) {\n\t\ttotalConstructed += stats.constructedByTagName[k];\n\t}\n\n\tconst unusedTagNames = [];\n\tfor (let i = 0; i < stats.definedTagNames.length; i++) {\n\t\tconst tagName = stats.definedTagNames[i];\n\t\tif (!stats.constructedByTagName[tagName]) {\n\t\t\tunusedTagNames.push(tagName);\n\t\t}\n\t}\n\n\treturn {\n\t\tversion: PACKAGE_JSON_VERSION,\n\t\tdefinitions: {\n\t\t\ttotal: stats.definedTagNames.length,\n\t\t\tunusedTagNames,\n\t\t\ttagNames: [...stats.definedTagNames]\n\t\t},\n\t\tconstructed: {\n\t\t\ttotal: totalConstructed,\n\t\t\tcountByTagName: stats.constructedByTagName\n\t\t},\n\t\tconnected: {\n\t\t\ttotal: Object.keys(componentRegistry).length,\n\t\t\tcountByTagName,\n\t\t\tdeferredByTagName: stats.deferredByTagName,\n\t\t\tnodes: {...componentRegistry}\n\t\t}\n\t};\n};\n\nexport const set = (statName, tagName) => {\n\tswitch (statName) {\n\t\tcase 'constructed':\n\t\t\tstats.constructedByTagName[tagName] = stats.constructedByTagName[tagName] || 0;\n\t\t\tstats.constructedByTagName[tagName]++; // eslint-disable-line no-plusplus\n\t\t\tbreak;\n\t\tcase 'defined':\n\t\t\tstats.definedTagNames.push(tagName);\n\t\t\tbreak;\n\t\tcase 'defer':\n\t\t\tstats.deferredByTagName[tagName] = stats.deferredByTagName[tagName] || 0;\n\t\t\tstats.deferredByTagName[tagName]++; // eslint-disable-line no-plusplus\n\t\t\tbreak;\n\t\tcase 'undefer':\n\t\t\tstats.deferredByTagName[tagName] = stats.deferredByTagName[tagName] || 0;\n\t\t\tif (stats.deferredByTagName[tagName]) stats.deferredByTagName[tagName]--; // eslint-disable-line no-plusplus\n\t\t\tbreak;\n\t}\n};\n","import {SPAN_ATTR_TASK_DEDUPED} from '../constants';\n\n/**\n * Maintains task insert order but (when dedupe==true) will skip earlier tasks\n * if there's another task for the same element enqueued later\n */\nexport default class Queue {\n\tconstructor(dedupe, doNotDedup = [], whenQueueIsEmptyForElementCb) {\n\t\tthis._els = new WeakMap();\n\t\tthis._tasks = [];\n\t\tthis._dedupe = dedupe;\n\t\tthis._doNotDedup = doNotDedup;\n\t\tthis._whenQueueIsEmptyForElementCb = whenQueueIsEmptyForElementCb;\n\t}\n\n\tpush(task) {\n\t\tconst {el} = task.meta;\n\t\tthis._els.set(el, this.sizeForElement(el) + 1);\n\t\tthis._tasks.push(task);\n\t}\n\n\t// this value may be a little misleading because it doesn't account for\n\t// possible task duplicates\n\tget length() {\n\t\treturn this._tasks.length;\n\t}\n\n\tsizeForElement(el) {\n\t\treturn this._els.get(el) || 0;\n\t}\n\n\tshift() {\n\t\twhile (this._tasks.length) {\n\t\t\tconst task = this._tasks.shift();\n\t\t\tconst {el} = task.meta;\n\t\t\tconst existingCount = this._els.get(el);\n\t\t\tif (existingCount === 1) {\n\t\t\t\tthis._els.delete(el);\n\t\t\t\tif (this._whenQueueIsEmptyForElementCb) this._whenQueueIsEmptyForElementCb(el);\n\t\t\t} else {\n\t\t\t\tthis._els.set(el, existingCount - 1);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\texistingCount === 1 ||\n\t\t\t\t!this._dedupe ||\n\t\t\t\tthis._doNotDedup.indexOf(task.type) !== -1 ||\n\t\t\t\t!el.isConnected\n\t\t\t)\n\t\t\t\treturn task;\n\t\t\telse {\n\t\t\t\tif (task.meta?.span)\n\t\t\t\t\ttask.meta.span.addEvent(SPAN_ATTR_TASK_DEDUPED, {\n\t\t\t\t\t\ttype: task.type,\n\t\t\t\t\t\tqueueSize: this._tasks.length\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n}\n","import {mark} from '@servicenow/ui-metrics';\n\nexport default function metrics(meta, type, taskType, priority, queue) {\n\tconst {interactionId, el} = meta;\n\tmark(el, interactionId, type, {type: taskType, priority, queueLength: queue.length});\n}\n","import {defer, requestIdleCallbackPollyfill, raf, isThrottled} from '@servicenow/ui-internal';\nimport {getConfigItem, configConstants} from '@servicenow/ui-config';\nimport {types as schedulerTypes} from '@servicenow/ui-metrics';\nimport Queue from './queue';\nimport metrics from './metrics';\nimport {\n\tSPAN_ATTR_TASK_COMPLETED,\n\tSPAN_ATTR_TASK_SCHEDULED,\n\tSPAN_ATTR_TASK_STARTED\n} from '../constants';\n\nconst {ENABLE_SCHEDULER_STATS, SCHEDULER_RAF_TIMEOUT} = configConstants;\nconst enableSchedulerStats = getConfigItem(ENABLE_SCHEDULER_STATS);\nconst COMPONENT_RENDER = 'COMPONENT_RENDER';\nconst STATE_SET = 'STATE_SET';\nconst ACTION_HANDLER = 'ACTION_HANDLER';\nconst LEGACY_LIFECYCLE_FN = 'LEGACY_LIFECYCLE_FN';\nconst IMMEDIATE = 'IMMEDIATE';\nconst DEFER_IDLE = 'DEFER_IDLE';\nconst REFLECT_PROPERTIES = 'REFLECT_PROPERTIES';\nconst DISPATCH = 'DISPATCH';\nconst CLEANUP = 'CLEANUP';\nconst PROPERTY_SET = 'PROPERTY_SET';\nconst DEFER_HELPER_EXECUTION = 'DEFER_HELPER_EXECUTION';\nconst WHEN_COMPONENT_IS_IDLE = 'WHEN_COMPONENT_IS_IDLE';\nconst WHEN_ALL_COMPONENTS_IDLE = 'WHEN_ALL_COMPONENTS_IDLE';\nconst constants = {\n\tCOMPONENT_RENDER,\n\tSTATE_SET,\n\tACTION_HANDLER,\n\tLEGACY_LIFECYCLE_FN,\n\tIMMEDIATE,\n\tDEFER_IDLE,\n\tREFLECT_PROPERTIES,\n\tDISPATCH,\n\tCLEANUP,\n\tPROPERTY_SET,\n\tDEFER_HELPER_EXECUTION,\n\tWHEN_COMPONENT_IS_IDLE,\n\tWHEN_ALL_COMPONENTS_IDLE\n};\n\nconst P0 = 'PRIORITY_0';\nconst P0_5 = 'PRIORITY_0_5';\nconst P1 = 'PRIORITY_1';\nconst P2 = 'PRIORITY_2';\nconst P3 = 'PRIORITY_3';\nconst p0_5Queue = new Queue(false, []);\nconst p1Queue = new Queue(true, [], whenQueueIsEmptyForElement);\nconst p2Queue = new Queue(false, [], whenQueueIsEmptyForElement);\nconst p3Queue = new Queue(true, [WHEN_COMPONENT_IS_IDLE, WHEN_ALL_COMPONENTS_IDLE]);\nconst queueEmptyForElCallbacks = [];\nlet stats = {};\n\nconst types = {\n\t[IMMEDIATE]: {priority: P0},\n\t[DEFER_HELPER_EXECUTION]: {priority: P0_5},\n\t[COMPONENT_RENDER]: {priority: P1},\n\t[STATE_SET]: {priority: P2},\n\t[PROPERTY_SET]: {priority: P2},\n\t[ACTION_HANDLER]: {priority: P2},\n\t[LEGACY_LIFECYCLE_FN]: {priority: P2},\n\t[DISPATCH]: {priority: P2},\n\t[DEFER_IDLE]: {priority: P3},\n\t[REFLECT_PROPERTIES]: {priority: P3},\n\t[WHEN_COMPONENT_IS_IDLE]: {priority: P3},\n\t[WHEN_ALL_COMPONENTS_IDLE]: {priority: P3}\n};\n\nconst idleTimeout = process.env.UNSAFE_SEISMIC_TASK_TIMEOUT ? 100 : -1;\n\nlet highPriorityPending = false;\nlet mediumPriorityPending = false;\nlet lowPriorityPending = false;\n\nglobalThis.nowUiFramework = globalThis.nowUiFramework || {};\nglobalThis.nowUiFramework.__getSchedulerStats = () =>\n\tObject.entries(stats)\n\t\t.sort(([priority1], [priority2]) => priority1.localeCompare(priority2))\n\t\t.map(\n\t\t\t([\n\t\t\t\tpriority,\n\t\t\t\t{\n\t\t\t\t\tmaxQueueDepth,\n\t\t\t\t\ttotalQueued,\n\t\t\t\t\ttotalQueueTime,\n\t\t\t\t\tmaxQueueTime,\n\t\t\t\t\ttotalExecutions,\n\t\t\t\t\ttotalExecutionTime,\n\t\t\t\t\tmaxExecutionTime\n\t\t\t\t}\n\t\t\t]) => ({\n\t\t\t\tpriority,\n\t\t\t\tinQueue: {\n\t\t\t\t\t[P0]: 0,\n\t\t\t\t\t[P0_5]: p0_5Queue.length,\n\t\t\t\t\t[P1]: p1Queue.length,\n\t\t\t\t\t[P2]: p2Queue.length,\n\t\t\t\t\t[P3]: p3Queue.length\n\t\t\t\t}[priority],\n\t\t\t\tmaxQueueDepth,\n\t\t\t\ttotalQueued,\n\t\t\t\taverageQueueTime: totalQueueTime / totalQueued,\n\t\t\t\tmaxQueueTime,\n\t\t\t\ttotalExecutions,\n\t\t\t\taverageExecutionTime: totalExecutionTime / totalExecutions,\n\t\t\t\tmaxExecutionTime\n\t\t\t})\n\t\t);\nglobalThis.nowUiFramework.__resetSchedulerStats = () => {\n\tstats = {};\n};\n\nconst getDefaultStats = () => ({\n\tmaxQueueDepth: 0,\n\ttotalQueued: 0,\n\ttotalQueueTime: 0,\n\tmaxQueueTime: 0,\n\ttotalExecutions: 0,\n\ttotalExecutionTime: 0,\n\tmaxExecutionTime: 0\n});\n\nconst trackTaskScheduled = (task, priority, queue) => {\n\tif (!enableSchedulerStats) return;\n\tstats[priority] = stats[priority] || getDefaultStats();\n\ttask.scheduled = performance.now();\n\tstats[priority].totalQueued++;\n\tconst queueSize = queue ? queue.length : 0;\n\tif (queueSize > stats[priority].maxQueueDepth) stats[priority].maxQueueDepth = queueSize;\n};\n\nconst trackTaskStart = (task, priority) => {\n\tif (!enableSchedulerStats) return;\n\tstats[priority] = stats[priority] || getDefaultStats();\n\ttask.started = performance.now();\n\tconst queueTime = task.started - task.scheduled;\n\tstats[priority].totalQueueTime += queueTime;\n\tif (queueTime > stats[priority].maxQueueTime) stats[priority].maxQueueTime = queueTime;\n};\n\nconst trackTaskCompleted = (task, priority) => {\n\tif (!enableSchedulerStats) return;\n\tstats[priority] = stats[priority] || getDefaultStats();\n\tconst executionTime = performance.now() - task.started;\n\tstats[priority].totalExecutionTime += executionTime;\n\tstats[priority].totalExecutions++;\n\tif (executionTime > stats[priority].maxExecutionTime)\n\t\tstats[priority].maxExecutionTime = executionTime;\n};\n\nfunction schedule(task) {\n\tconst {type, fn, meta = {}} = task;\n\tif (!fn) {\n\t\tconst error = new Error('a fn is required for scheduling a task');\n\t\tif (meta.span) {\n\t\t\tmeta.span.recordException(error);\n\t\t}\n\t\tthrow error;\n\t}\n\tif (!type) {\n\t\tconst error = new Error('a type is required for scheduling a task');\n\t\tif (meta.span) {\n\t\t\tmeta.span.recordException(error);\n\t\t}\n\t\tthrow error;\n\t}\n\n\tconst {\n\t\t[type]: {priority = P2}\n\t} = types;\n\n\tswitch (priority) {\n\t\tcase P0:\n\t\t\tmetrics(meta, schedulerTypes.SCHEDULE, type, 'P0', []);\n\t\t\tif (meta.span) {\n\t\t\t\tmeta.span.addEvent(SPAN_ATTR_TASK_SCHEDULED, {type, priority: 'P0', queueSize: 0});\n\t\t\t\tmeta.span.addEvent(SPAN_ATTR_TASK_STARTED, {type, priority: 'P0', queueSize: 0});\n\t\t\t}\n\t\t\ttrackTaskScheduled(task, P0);\n\t\t\ttrackTaskStart(task, priority);\n\t\t\tfn(meta);\n\t\t\tif (meta.span) {\n\t\t\t\tmeta.span.addEvent(SPAN_ATTR_TASK_COMPLETED, {\n\t\t\t\t\ttype,\n\t\t\t\t\tpriority: 'P0',\n\t\t\t\t\tqueueSize: 0\n\t\t\t\t});\n\t\t\t}\n\t\t\ttrackTaskCompleted(task, priority);\n\t\t\tbreak;\n\t\tcase P0_5:\n\t\t\tmetrics(meta, schedulerTypes.SCHEDULE, type, 'P0_5', p0_5Queue);\n\t\t\tif (meta.span) {\n\t\t\t\tmeta.span.addEvent(SPAN_ATTR_TASK_SCHEDULED, {\n\t\t\t\t\ttype,\n\t\t\t\t\tpriority: 'P0_5',\n\t\t\t\t\tqueueSize: p0_5Queue.length\n\t\t\t\t});\n\t\t\t}\n\t\t\tp0_5Queue.push(task);\n\t\t\ttrackTaskScheduled(task, priority, p0_5Queue);\n\t\t\trunDeferredTask();\n\t\t\tbreak;\n\t\tcase P1:\n\t\t\tmetrics(meta, schedulerTypes.SCHEDULE, type, 'P1', p1Queue);\n\t\t\tif (meta.span) {\n\t\t\t\tmeta.span.addEvent(SPAN_ATTR_TASK_SCHEDULED, {\n\t\t\t\t\ttype,\n\t\t\t\t\tpriority: 'P1',\n\t\t\t\t\tqueueSize: p1Queue.length\n\t\t\t\t});\n\t\t\t}\n\t\t\tp1Queue.push(task);\n\t\t\ttrackTaskScheduled(task, priority, p1Queue);\n\t\t\trunHighPriorityTasks();\n\t\t\tbreak;\n\t\tcase P2:\n\t\t\tmetrics(meta, schedulerTypes.SCHEDULE, type, 'P2', p2Queue);\n\t\t\tif (meta.span) {\n\t\t\t\tmeta.span.addEvent(SPAN_ATTR_TASK_SCHEDULED, {\n\t\t\t\t\ttype,\n\t\t\t\t\tpriority: 'P2',\n\t\t\t\t\tqueueSize: p2Queue.length\n\t\t\t\t});\n\t\t\t}\n\t\t\tp2Queue.push(task);\n\t\t\ttrackTaskScheduled(task, priority, p2Queue);\n\t\t\trunMediumPriorityTasks();\n\t\t\tbreak;\n\t\tcase P3:\n\t\t\tmetrics(meta, schedulerTypes.SCHEDULE, type, 'P3', p3Queue);\n\t\t\tif (meta.span) {\n\t\t\t\tmeta.span.addEvent(SPAN_ATTR_TASK_SCHEDULED, {\n\t\t\t\t\ttype,\n\t\t\t\t\tpriority: 'P3',\n\t\t\t\t\tqueueSize: p3Queue.length\n\t\t\t\t});\n\t\t\t}\n\t\t\tp3Queue.push(task);\n\t\t\ttrackTaskScheduled(task, priority, p3Queue);\n\t\t\trunLowPriorityTasks();\n\t\t\tbreak;\n\t}\n}\n\nlet isRendering = false;\nconst requestAnimationFrameTimeout = getConfigItem(SCHEDULER_RAF_TIMEOUT);\n\nfunction runDeferredTask() {\n\tdefer(() => {\n\t\tconst task = p0_5Queue.shift();\n\t\tif (task) {\n\t\t\tmetrics(task.meta, schedulerTypes.EXECUTE, task.type, 'P0_5', p0_5Queue);\n\t\t\ttrackTaskStart(task, P0_5);\n\t\t\tif (task.meta.span) {\n\t\t\t\ttask.meta.span.addEvent(SPAN_ATTR_TASK_STARTED, {\n\t\t\t\t\ttype: task.type,\n\t\t\t\t\tpriority: 'P0_5',\n\t\t\t\t\tqueueSize: p0_5Queue.length\n\t\t\t\t});\n\t\t\t}\n\t\t\ttask.fn(task.meta);\n\t\t\tif (task.meta.span) {\n\t\t\t\ttask.meta.span.addEvent(SPAN_ATTR_TASK_COMPLETED, {\n\t\t\t\t\ttype: task.type,\n\t\t\t\t\tpriority: 'P0_5',\n\t\t\t\t\tqueueSize: p0_5Queue.length\n\t\t\t\t});\n\t\t\t}\n\t\t\ttrackTaskCompleted(task, P0_5);\n\t\t}\n\t}, 0);\n}\n\nfunction runHighPriorityTasks() {\n\tif (highPriorityPending) return;\n\n\thighPriorityPending = true;\n\tisRendering = true;\n\tconst requestAnimationFrameTimeoutId = defer(() => {\n\t\tflushIdleQueues();\n\t\tisRendering = false;\n\t}, requestAnimationFrameTimeout);\n\traf(() => {\n\t\tclearTimeout(requestAnimationFrameTimeoutId);\n\t\tlet task;\n\t\tconst start = Date.now();\n\t\twhile ((task = p1Queue.shift())) {\n\t\t\tmetrics(task.meta, schedulerTypes.EXECUTE, task.type, 'P1', p1Queue);\n\t\t\ttrackTaskStart(task, P1);\n\t\t\tif (task.meta.span) {\n\t\t\t\ttask.meta.span.addEvent(SPAN_ATTR_TASK_STARTED, {\n\t\t\t\t\ttype: task.type,\n\t\t\t\t\tpriority: 'P1',\n\t\t\t\t\tqueueSize: p1Queue.length\n\t\t\t\t});\n\t\t\t}\n\t\t\ttask.fn(task.meta);\n\t\t\tif (task.meta.span) {\n\t\t\t\ttask.meta.span.addEvent(SPAN_ATTR_TASK_COMPLETED, {\n\t\t\t\t\ttype: task.type,\n\t\t\t\t\tpriority: 'P1',\n\t\t\t\t\tqueueSize: p1Queue.length\n\t\t\t\t});\n\t\t\t}\n\t\t\ttrackTaskCompleted(task, P1);\n\t\t\tif (Date.now() - start >= 100) break;\n\t\t}\n\n\t\tisRendering = false;\n\t\thighPriorityPending = false;\n\t\tif (p1Queue.length) runHighPriorityTasks();\n\n\t\tif (p2Queue.length) runMediumPriorityTasks();\n\n\t\tif (p3Queue.length) runLowPriorityTasks();\n\t});\n}\n\nfunction runMediumPriorityTasks() {\n\tif (mediumPriorityPending) return;\n\tif (isRendering) return;\n\n\tmediumPriorityPending = true;\n\trequestIdleCallbackPollyfill(\n\t\tdeadline => {\n\t\t\tlet task;\n\n\t\t\twhile (deadline.timeRemaining() > 1 && (task = p2Queue.shift())) {\n\t\t\t\tmetrics(task.meta, schedulerTypes.EXECUTE, task.type, 'P2', p2Queue);\n\t\t\t\ttrackTaskStart(task, P2);\n\t\t\t\tif (task.meta.span) {\n\t\t\t\t\ttask.meta.span.addEvent(SPAN_ATTR_TASK_STARTED, {\n\t\t\t\t\t\ttype: task.type,\n\t\t\t\t\t\tpriority: 'P2',\n\t\t\t\t\t\tqueueSize: p2Queue.length\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\ttask.fn(task.meta);\n\t\t\t\tif (task.meta.span) {\n\t\t\t\t\ttask.meta.span.addEvent(SPAN_ATTR_TASK_COMPLETED, {\n\t\t\t\t\t\ttype: task.type,\n\t\t\t\t\t\tpriority: 'P2',\n\t\t\t\t\t\tqueueSize: p2Queue.length\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\ttrackTaskCompleted(task, P2);\n\t\t\t}\n\n\t\t\tmediumPriorityPending = false;\n\t\t\tif (p2Queue.length) runMediumPriorityTasks();\n\n\t\t\tif (p3Queue.length) runLowPriorityTasks();\n\t\t},\n\t\t{timeout: idleTimeout}\n\t);\n}\n\nfunction runLowPriorityTasks() {\n\tif (mediumPriorityPending) return;\n\n\tif (lowPriorityPending) return;\n\n\tif (isRendering) return;\n\n\tlowPriorityPending = true;\n\trequestIdleCallbackPollyfill(\n\t\tdeadline => {\n\t\t\tlet task;\n\t\t\twhile (deadline.timeRemaining() > 1 && (task = p3Queue.shift())) {\n\t\t\t\tmetrics(task.meta, schedulerTypes.EXECUTE, task.type, 'P3', p3Queue);\n\t\t\t\ttrackTaskStart(task, P3);\n\t\t\t\tif (task.meta.span) {\n\t\t\t\t\ttask.meta.span.addEvent(SPAN_ATTR_TASK_STARTED, {\n\t\t\t\t\t\ttype: task.type,\n\t\t\t\t\t\tpriority: 'P3',\n\t\t\t\t\t\tqueueSize: p3Queue.length\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\ttask.fn(task.meta);\n\t\t\t\tif (task.meta.span) {\n\t\t\t\t\ttask.meta.span.addEvent(SPAN_ATTR_TASK_COMPLETED, {\n\t\t\t\t\t\ttype: task.type,\n\t\t\t\t\t\tpriority: 'P3',\n\t\t\t\t\t\tqueueSize: p3Queue.length\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\ttrackTaskCompleted(task, P3);\n\t\t\t}\n\n\t\t\tlowPriorityPending = false;\n\t\t\tif (p3Queue.length) runLowPriorityTasks();\n\t\t},\n\t\t{timeout: idleTimeout}\n\t);\n}\n\nfunction flushIdleQueues() {\n\tlet task;\n\twhile ((task = p0_5Queue.shift())) {\n\t\tif (task.meta.span) {\n\t\t\ttask.meta.span.addEvent(SPAN_ATTR_TASK_STARTED, {\n\t\t\t\ttype: task.type,\n\t\t\t\tpriority: 'P0_5',\n\t\t\t\tqueueSize: p0_5Queue.length\n\t\t\t});\n\t\t}\n\t\ttask.fn(task.meta);\n\t\tif (task.meta.span) {\n\t\t\ttask.meta.span.addEvent(SPAN_ATTR_TASK_COMPLETED, {\n\t\t\t\ttype: task.type,\n\t\t\t\tpriority: 'P0_5',\n\t\t\t\tqueueSize: p0_5Queue.length\n\t\t\t});\n\t\t}\n\t}\n\twhile ((task = p1Queue.shift())) {\n\t\tif (task.meta.span) {\n\t\t\ttask.meta.span.addEvent(SPAN_ATTR_TASK_STARTED, {\n\t\t\t\ttype: task.type,\n\t\t\t\tpriority: 'P1',\n\t\t\t\tqueueSize: p1Queue.length\n\t\t\t});\n\t\t}\n\t\ttask.fn(task.meta);\n\t\tif (task.meta.span) {\n\t\t\ttask.meta.span.addEvent(SPAN_ATTR_TASK_COMPLETED, {\n\t\t\t\ttype: task.type,\n\t\t\t\tpriority: 'P1',\n\t\t\t\tqueueSize: p1Queue.length\n\t\t\t});\n\t\t}\n\t}\n\thighPriorityPending = false;\n\twhile ((task = p2Queue.shift())) {\n\t\tif (task.meta.span) {\n\t\t\ttask.meta.span.addEvent(SPAN_ATTR_TASK_STARTED, {\n\t\t\t\ttype: task.type,\n\t\t\t\tpriority: 'P2',\n\t\t\t\tqueueSize: p2Queue.length\n\t\t\t});\n\t\t}\n\t\ttask.fn(task.meta);\n\t\tif (task.meta.span) {\n\t\t\ttask.meta.span.addEvent(SPAN_ATTR_TASK_COMPLETED, {\n\t\t\t\ttype: task.type,\n\t\t\t\tpriority: 'P2',\n\t\t\t\tqueueSize: p2Queue.length\n\t\t\t});\n\t\t}\n\t}\n\twhile ((task = p3Queue.shift())) {\n\t\tif (task.meta.span) {\n\t\t\ttask.meta.span.addEvent(SPAN_ATTR_TASK_STARTED, {\n\t\t\t\ttype: task.type,\n\t\t\t\tpriority: 'P3',\n\t\t\t\tqueueSize: p3Queue.length\n\t\t\t});\n\t\t}\n\t\ttask.fn(task.meta);\n\t\tif (task.meta.span) {\n\t\t\ttask.meta.span.addEvent(SPAN_ATTR_TASK_COMPLETED, {\n\t\t\t\ttype: task.type,\n\t\t\t\tpriority: 'P3',\n\t\t\t\tqueueSize: p3Queue.length\n\t\t\t});\n\t\t}\n\t}\n}\n\nfunction isQueueFlushEnabled() {\n\treturn (\n\t\tprocess.env.UNSAFE_SEISMIC_EMIT_CUSTOM_EVENT || window.nowUiFramework.queueFlushEnabled === true\n\t);\n}\n\nlet flushing = false;\n// eslint-disable-next-line no-inner-declarations\nfunction flushQueues() {\n\tflushing = true;\n\tlet task;\n\n\twhile ((task = p0_5Queue.shift())) task.fn(task.meta);\n\twhile ((task = p1Queue.shift())) task.fn(task.meta);\n\twhile ((task = p2Queue.shift())) task.fn(task.meta);\n\twhile ((task = p3Queue.shift())) task.fn(task.meta);\n\n\tdefer(() => {\n\t\tif (p0_5Queue.length || p1Queue.length || p2Queue.length || p3Queue.length)\n\t\t\treturn flushQueues();\n\n\t\tflushing = false;\n\t\tconst event = new CustomEvent('SEISMIC_QUEUE_FLUSHED', {composed: true, bubbles: true});\n\t\treturn document.dispatchEvent(event);\n\t}, 0);\n}\n\ndocument.addEventListener('FLUSH_SEISMIC_QUEUE', () => {\n\tif (!flushing && isQueueFlushEnabled()) flushQueues();\n});\n\ndocument.addEventListener(\n\t'visibilitychange',\n\t() => {\n\t\tif (isThrottled()) flushIdleQueues();\n\t},\n\tfalse\n);\n\nfunction countHighPriorityTasks(element) {\n\treturn p1Queue.sizeForElement(element);\n}\n\nfunction countAllHighPriorityTasks() {\n\treturn p1Queue.length;\n}\n\nfunction countAllMediumPriorityTasks() {\n\treturn p2Queue.length;\n}\n\nfunction countMediumPriorityTasks(element) {\n\treturn p2Queue.sizeForElement(element);\n}\n\nfunction addQueueEmptyForElCb(fn) {\n\tqueueEmptyForElCallbacks.push(fn);\n}\n\nfunction whenQueueIsEmptyForElement(el) {\n\tconst len = queueEmptyForElCallbacks.length;\n\tfor (let i = 0; i < len; i++) queueEmptyForElCallbacks[i](el);\n}\n\nexport {\n\tschedule,\n\tconstants as types,\n\tcountHighPriorityTasks,\n\tcountMediumPriorityTasks,\n\taddQueueEmptyForElCb,\n\tcountAllHighPriorityTasks,\n\tcountAllMediumPriorityTasks\n};\n","import {createLogger} from '@servicenow/ui-internal';\n\nexport default createLogger({\n\tmodule: '@servicenow/ui-core'\n});\n","import {\n\tschedule,\n\ttypes,\n\tcountHighPriorityTasks,\n\tcountMediumPriorityTasks,\n\tcountAllHighPriorityTasks,\n\tcountAllMediumPriorityTasks\n} from './scheduler';\nimport log from './log';\nimport {\n\tgetHostPendingNetworkActionCount,\n\tgetPendingNetworkActionCount\n} from '@servicenow/ui-internal';\nimport {getConfigItem, configConstants} from '@servicenow/ui-config';\n\nconst {\n\tWHEN_COMPONENT_IS_IDLE_TIMEOUT,\n\tWHEN_COMPONENT_IS_IDLE_THROTTLE,\n\tWHEN_COMPONENT_IS_IDLE_MIN_INTERVAL\n} = configConstants;\nconst timeout = getConfigItem(WHEN_COMPONENT_IS_IDLE_TIMEOUT);\nconst throttle = getConfigItem(WHEN_COMPONENT_IS_IDLE_THROTTLE);\nconst interval = getConfigItem(WHEN_COMPONENT_IS_IDLE_MIN_INTERVAL);\nconst {WHEN_COMPONENT_IS_IDLE, WHEN_ALL_COMPONENTS_IDLE} = types;\n\nconst check = el => {\n\treturn new Promise(resolve => {\n\t\tschedule({\n\t\t\tfn() {\n\t\t\t\tresolve(\n\t\t\t\t\tgetHostPendingNetworkActionCount(el) +\n\t\t\t\t\t\tcountHighPriorityTasks(el) +\n\t\t\t\t\t\tcountMediumPriorityTasks(el)\n\t\t\t\t);\n\t\t\t},\n\t\t\ttype: WHEN_COMPONENT_IS_IDLE,\n\t\t\tmeta: {el, interactionId: 'componentIdleCheck'}\n\t\t});\n\t});\n};\n\nconst pause = () =>\n\tnew Promise(resolve => {\n\t\tsetTimeout(() => resolve(), throttle);\n\t});\n\nconst checkAll = () => {\n\treturn new Promise(resolve => {\n\t\tschedule({\n\t\t\tfn() {\n\t\t\t\tresolve(\n\t\t\t\t\tgetPendingNetworkActionCount() +\n\t\t\t\t\t\tcountAllMediumPriorityTasks() +\n\t\t\t\t\t\tcountAllHighPriorityTasks()\n\t\t\t\t);\n\t\t\t},\n\t\t\ttype: WHEN_ALL_COMPONENTS_IDLE,\n\t\t\tmeta: {el: {}, interactionId: 'allComponentsIdleCheck'}\n\t\t});\n\t});\n};\n\nexport function whenAllComponentsIdle(payload = {}) {\n\treturn new Promise(resolve => {\n\t\tschedule({\n\t\t\tasync fn() {\n\t\t\t\tlet busy = true;\n\t\t\t\tlet didPause = false;\n\t\t\t\tconst {withTimeOutInfo = false} = payload;\n\t\t\t\tconst timeoutId = setTimeout(() => {\n\t\t\t\t\tbusy = false;\n\t\t\t\t\tresolve(withTimeOutInfo ? {didPause, timedOut: true} : didPause);\n\t\t\t\t}, timeout);\n\n\t\t\t\twhile (busy) {\n\t\t\t\t\tbusy = await checkAll();\n\t\t\t\t\tif (busy) {\n\t\t\t\t\t\tdidPause = true;\n\t\t\t\t\t\tawait pause();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tclearTimeout(timeoutId);\n\t\t\t\tresolve(withTimeOutInfo ? {didPause, timedOut: false} : didPause);\n\t\t\t},\n\t\t\ttype: WHEN_ALL_COMPONENTS_IDLE,\n\t\t\tmeta: {el: {}, interactionId: 'whenAllComponentsIdle'}\n\t\t});\n\t});\n}\n\nexport default function whenComponentIsIdle(el) {\n\treturn new Promise(resolve => {\n\t\tschedule({\n\t\t\tasync fn() {\n\t\t\t\tlet busy = true;\n\t\t\t\tconst timeoutId = setTimeout(() => {\n\t\t\t\t\tlog('whenComponentIsIdle timed out.', {\n\t\t\t\t\t\thost: el,\n\t\t\t\t\t\torigin: 'whenComponentIsIdle'\n\t\t\t\t\t});\n\t\t\t\t\tbusy = false;\n\t\t\t\t\tresolve(el);\n\t\t\t\t}, timeout);\n\n\t\t\t\twhile (busy) {\n\t\t\t\t\tconst start = Date.now();\n\t\t\t\t\tbusy = await check(el);\n\t\t\t\t\tconst end = Date.now();\n\t\t\t\t\t// throttle in case of network activity, i.e. something is pending, but component is otherwise idle\n\t\t\t\t\t// if not there will be numerous unnecessary checks while waiting for network request to complete\n\t\t\t\t\tif (busy && end - start < interval) await pause();\n\t\t\t\t}\n\n\t\t\t\tclearTimeout(timeoutId);\n\t\t\t\tresolve(el);\n\t\t\t},\n\t\t\ttype: WHEN_COMPONENT_IS_IDLE,\n\t\t\tmeta: {el, interactionId: 'whenComponentIsIdle'}\n\t\t});\n\t});\n}\n","import {getConfigItem, configConstants} from '@servicenow/ui-config';\nimport Ajv from 'ajv';\n\nconst {VALIDATE_SCHEMAS} = configConstants;\nconst validateSchemas = getConfigItem(VALIDATE_SCHEMAS);\n\nlet ajv;\nif (validateSchemas) {\n\tajv = new Ajv();\n\tajv.addKeyword('fn', {\n\t\tvalidate: function validateFn(schema, data) {\n\t\t\tif (data instanceof Function) return true;\n\n\t\t\tif (data === undefined || data === null) return true;\n\n\t\t\tvalidateFn.errors = [\n\t\t\t\t{\n\t\t\t\t\tmessage: 'should be a function',\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tlevel: 'error'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t];\n\t\t\treturn false;\n\t\t}\n\t});\n\tajv.addKeyword('deprecated', {\n\t\tvalidate: function validateDeprecation(schema) {\n\t\t\tif (!schema) return true;\n\n\t\t\tconst message = typeof schema === 'boolean' ? 'has been deprecated' : schema;\n\t\t\tvalidateDeprecation.errors = [\n\t\t\t\t{\n\t\t\t\t\tmessage,\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tlevel: 'warn'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t];\n\n\t\t\treturn false;\n\t\t}\n\t});\n} else {\n\tajv = {compile: () => () => true};\n}\n\nexport default ajv;\n","import {toLower} from '@servicenow/ui-internal';\n\n/**\n * Returns a string representing the host element, i.e. `<sn-component component-id=\"123\" />`\n * @private\n * @param {host} host\n * @returns {string}\n */\nfunction getComponentName(host) {\n\treturn `<${toLower(host.tagName)} component-id=\"${host.getAttribute('component-id')}\" />`;\n}\n\nexport default getComponentName;\n","import {createLogger, memoize} from '@servicenow/ui-internal';\n\nconst logger = createLogger({\n\tmodule: '@servicenow/ui-core'\n});\n\n// Prevent the same validation error message from being printed more than once\nexport default memoize(logger, {profileName: 'ui-core logger'});\n","import log from '../logValidationError';\n\nfunction getPath(pathPrefix, dataPath) {\n\tif (!pathPrefix && !dataPath) return '';\n\n\tif (!pathPrefix && dataPath.startsWith('.')) return `${dataPath.substr(1)} `;\n\n\treturn `${pathPrefix}${dataPath} `;\n}\n\n/**\n * Run a validator against a value to determine its validity. If it is not valid, log an error.\n * @private\n * @param {Function} validator The validator built from one of the methods in ./build\n * @param {any} value The value to run the schema validation against\n * @param {Object} options\n * @param {string} options.pathPrefix Name of the value being validated. Optional\n * @param {string} options.errorPrefix Prefix for the error message\n * @returns {boolean} Whether the value passed validation\n */\nfunction validateSchema(\n\tvalidator,\n\tvalue,\n\t{pathPrefix = '', errorPrefix = '', shouldLog = true} = {}\n) {\n\tconst isValid = validator(value);\n\tif (!isValid) {\n\t\t// If there are errors, only report the first one\n\t\tconst [{dataPath, message, params: {level = 'error'} = {}}] = validator.errors;\n\n\t\tconst path = getPath(pathPrefix, dataPath);\n\t\tconst errorMessage = `${path}${message}`;\n\n\t\tif (shouldLog) log(`${errorPrefix}${errorMessage}`, {level, origin: 'validateSchema'});\n\t}\n\treturn isValid;\n}\n\nexport default validateSchema;\n","import ajv from '../ajv';\nimport getComponentName from '../getComponentName';\nimport validateSchema from '../validate/validateSchema';\n\n/**\n * Build the validator for the action payload schema\n * @private\n * @param {*} payloadSchema The schema provided by the user in config.actions[key].schema\n * @returns {Function(value, host)} The function to validate the action's payload\n */\nfunction buildActionPayloadValidator(payloadSchema) {\n\tif (process.env.NODE_ENV !== 'production') {\n\t\tlet validate;\n\n\t\ttry {\n\t\t\tvalidate = ajv.compile(payloadSchema);\n\t\t} catch (e) {\n\t\t\tconsole.error(e); // eslint-disable-line no-console\n\t\t\treturn () => false;\n\t\t}\n\n\t\treturn function validateActionPayload(value, host) {\n\t\t\tconst component = getComponentName(host);\n\n\t\t\treturn validateSchema(validate, value, {\n\t\t\t\tpathPrefix: 'payload',\n\t\t\t\terrorPrefix: `Action payload for ${component}: `\n\t\t\t});\n\t\t};\n\t}\n\n\treturn () => true;\n}\n\nexport default buildActionPayloadValidator;\n","import ajv from '../ajv';\nimport getComponentName from '../getComponentName';\nimport validateSchema from '../validate/validateSchema';\n\n/**\n * Build the validator for the properties of a component\n * @private\n * @param {*} propertyDefinitions The definitions of properties passed into createCustomElement's config.properties\n * @returns {Function(properties, host)} The function to validate the component's properties\n */\nfunction buildPropertiesValidator(propertyDefinitions) {\n\tif (process.env.NODE_ENV !== 'production') {\n\t\tconst baseSchema = {\n\t\t\ttype: 'object',\n\t\t\tproperties: {},\n\t\t\trequired: [],\n\t\t\tdependencies: {}\n\t\t};\n\n\t\tfor (const propertyName in propertyDefinitions) {\n\t\t\tconst {schema, required, dependencies} = propertyDefinitions[propertyName];\n\t\t\tif (schema) baseSchema.properties[propertyName] = schema;\n\t\t\tif (required) baseSchema.required.push(propertyName);\n\t\t\tif (dependencies) baseSchema.dependencies[propertyName] = dependencies;\n\t\t}\n\n\t\tlet validate;\n\t\ttry {\n\t\t\tvalidate = ajv.compile(baseSchema);\n\t\t} catch (e) {\n\t\t\tconsole.error(e); // eslint-disable-line no-console\n\t\t\treturn () => false;\n\t\t}\n\n\t\treturn function validateProperties(properties, host) {\n\t\t\tconst component = getComponentName(host);\n\t\t\treturn validateSchema(validate, properties, {errorPrefix: `Property for ${component}: `});\n\t\t};\n\t}\n\n\treturn () => true;\n}\n\nexport default buildPropertiesValidator;\n","export const PRESENTATIONAL = Symbol('__presentational__');\nexport const VARIABLES = Symbol('__variables__');\nexport const COMPONENT_ID = Symbol('__componentId__');\nexport const CONNECTED = Symbol('__connected__');\nexport const PROPERTY_DEFS = Symbol('__propertyDefs__');\nexport const STATE = Symbol('__state__');\nexport const PROPS = Symbol('__props__');\nexport const ACTIONS = Symbol('__actions__');\nexport const ACTION_HANDLERS = Symbol('__actionHandlers__');\nexport const DISPATCH = Symbol('__dispatch__');\nexport const CONDITIONAL_DISPATCH = Symbol('__conditional_dispatch__');\nexport const ROOT_NODE = Symbol('__rootNode__');\nexport const VERSION = Symbol('__version__');\nexport const ATTACHED_ROOT_NODE = Symbol('__attached_root_node__');\nexport const UNHOIST = '__unHoist__';\nexport const DEFERRED = '__deferred__';\nexport const RENDER = Symbol('__render__');\nexport const LAST_HANDLE_STATE_CHANGE = Symbol('__last_handle_state_change__');\nexport const RENDER_SCHEDULED = Symbol('__render_scheduled__');\nexport const LAST_STATE_RENDERED = Symbol('__last_state_rendered__');\nexport const LAST_STATE_CHANGE = Symbol('__last_state_change__');\nexport const EVENT_HANDLERS = Symbol('__event_handlers__');\nexport const LIFE_CYCLE_COEFFECTS = Symbol('__life_cycle_coeffects__');\nexport const BOOTSTRAP_LIFECYCLE_RAN = Symbol('__bootstrap_lifecycle_ran__');\nexport const CONFIG = Symbol('__config__');\nexport const REMOVE_ACTION_HANDLERS = Symbol('__remove_action_handlers__');\nexport const RENDERED_ONCE = Symbol('__renders__');\nexport const TREE_RENDERED_ONCE = Symbol('__tree_renders__');\nexport const HELPERS_IMMEDIATE = Symbol('__helpers_immediate__');\nexport const HELPERS_DEFER = Symbol('__helpers_defer__');\nexport const HELPERS_SCHEDULED = Symbol('__helpers_defer__');\nexport const RETARGETED_ACTION_TYPES = Symbol('__retargeted_action_types__');\nexport const TARGETED_ACTION_TYPES = Symbol('__targeted_action_types__');\nexport const STYLE_PROXY = Symbol('__style_proxy__');\nexport const GET_RESOLVED_PROPERTY = Symbol('__get_resolved_property__');\nexport const HOIST_CHANGED = Symbol('__hoist_changed__');\nexport const HOIST_PARENT_CHANGED = Symbol('__hoist_parent_changed__');\nexport const SET_PROPERTY = Symbol('__set_property__');\nexport const HOIST_COMPOSED_PATH = Symbol('__hoist_composed_path__');\nexport const BOOTSTRAPPED_HANDLED = Symbol('__bootstrapped_handled__');\nexport const CONNECTED_HANDLED = Symbol('__connected_handled__');\nexport const PREVIOUS_RENDER_STATE = Symbol('__previous_render_state__');\nexport const PREVIOUS_RENDER_PROPERTIES = Symbol('__previous_render_properties__');\nexport const PREVIOUS_TREE_RENDER_STATE = Symbol('__previous_tree_render_state__');\nexport const PREVIOUS_TREE_RENDER_PROPERTIES = Symbol('__previous_tree_render_properties__');\nexport const CHILDREN_TO_BE_RENDERED = Symbol('__children_to_be_rendered__');\nexport const CHECK_IF_TREE_RENDERED = Symbol('__check_if_tree_rendered__');\nexport const CHILD_IS_RENDERING = Symbol('__child_is_rendering__');\nexport const CHILD_HAS_RENDERED = Symbol('__child_has_rendered__');\nexport const NOTIFY_PARENT_THAT_CHILD_IS_RENDERING = Symbol(\n\t'__notify_parent_that_child_is_rendering__'\n);\nexport const NOTIFY_PARENT_THAT_CHILD_TREE_HAS_RENDERED = Symbol(\n\t'__notify_parent_that_child_tree_has_rendered__'\n);\nexport const NEEDS_TO_KNOW_ABOUT_TREE_RENDERS = Symbol('__needs_to_know_about_tree_renders__');\nexport const ANCESTOR_ROOT_NODE = Symbol('__ancestor_root_node__');\nexport const ANCESTOR_PATH = Symbol('__ancestor_path__');\nexport const UPDATE_AFFECTED_COMPONENTS = Symbol('__update_affected_components__');\nexport const RUNTIME_ACTION_HANDLERS = Symbol('__runtime_action_handlers__');\nexport const USING_INTERSECTION_OBSERVER = Symbol('__using_intersection_observer__');\nexport const INTERSECTED = Symbol('__intersected__');\nexport const INTERSECTION_TRIGGERED = Symbol('__intersection_triggered__');\nexport const REMOVE_INTERSECTED_STYLES = Symbol('__remove_intersected_styles__');\nexport const DETACHED_SHADOW_ROOT_CHILDREN_FRAGMENT = Symbol(\n\t'__detached_shadow_root_children_fragment__'\n);\nexport const DETACHED_COMPONENT_PROPERTY_MAP = Symbol('__detached_component_property_map__');\nexport const LOW_PRIORITY_PENDING = Symbol('__low_priority_pending__');\nexport const INTERACTIVE_TIMESTAMP = Symbol('__interactive_timestamp__');\nexport const CONNECTED_TIMESTAMP = Symbol('__connected_timestamp__');\nexport const CHILDREN_TO_BE_INTERACTIVE = Symbol('__children_to_be_interactive__');\nexport const SELECTABLE_PROPERTIES = Symbol('__SELECTABLE_PROPERTIES__');\nexport const PROPERTIES_WITH_SELECTOR = Symbol('__properties_with_selector__');\nexport const TREE_RENDERED_ONCE_TIMESTAMP = Symbol('__tree_rendered_once_timestamp__');\nexport const RENDERED_ONCE_TIMESTAMP = Symbol('__rendered_once_timestamp__');\nexport const CONNECTED_DEFERRED_TIMESTAMP = Symbol('__connected_deferred_timestamp__');\nexport const CONTEXT = Symbol('__context__');\nexport const CONTEXT_VIEW_KEY = Symbol('__context_view_key__');\nexport const CONTEXT_RESOLVED_VALUE = Symbol('__context_resolved_value__');\nexport const REMOVE_UPDATE_CUSTOM_ELEMENT_OBSERVER = Symbol(\n\t'__remove_update_custom_element_observer__'\n);\nexport const PREVIOUS_INTERACTION_ID = Symbol('__previous_interaction_id__');\n\nexport {INTERNAL_HOST_DISPATCH} from '@servicenow/ui-internal';\n","import {VARIABLES} from '../symbols';\n\nexport default function getHostVariables(host) {\n\tif (!host) return null;\n\n\treturn host[VARIABLES];\n}\n","import {sandbox, locations} from '@servicenow/ui-internal';\nimport getHostVariables from '../getHostVariables';\nimport {DISPATCH} from '../../symbols';\nimport log from '../../log';\n\nconst {INTERCEPTOR} = locations;\n\nfunction sandboxInterceptor(effectInterceptor) {\n\tconst {fn, type, position} = effectInterceptor;\n\treturn {\n\t\t...effectInterceptor,\n\t\tfn: function sandboxedInterceptor(context) {\n\t\t\tconst {\n\t\t\t\tcoeffects: {host}\n\t\t\t} = context;\n\t\t\tif (type === 'effect')\n\t\t\t\t// don't need to wrap seismic defined interceptors\n\t\t\t\treturn fn(context);\n\n\t\t\tconst hostVariables = getHostVariables(host);\n\t\t\treturn sandbox(fn, {\n\t\t\t\targs: [context],\n\t\t\t\tlocation: INTERCEPTOR,\n\t\t\t\thost,\n\t\t\t\tdetails: {\n\t\t\t\t\ttype,\n\t\t\t\t\tposition\n\t\t\t\t},\n\t\t\t\tdispatch: hostVariables[DISPATCH],\n\t\t\t\tlog\n\t\t\t});\n\t\t}\n\t};\n}\n\nfunction forEachInterceptor(interceptors, target, map) {\n\tmap.set(target, interceptors.map(sandboxInterceptor));\n}\n\nexport function createInterceptors(actionHandlers) {\n\tconst actionHandlerInterceptors = {};\n\n\tfor (const k in actionHandlers) {\n\t\tactionHandlerInterceptors[k] = new Map();\n\t\tconst {length: handlerCount} = actionHandlers[k];\n\t\tfor (let i = 0; i < handlerCount; i++) {\n\t\t\tconst {\n\t\t\t\tinterceptors: {before, after},\n\t\t\t\targs,\n\t\t\t\teffect,\n\t\t\t\thandlers = [],\n\t\t\t\ttarget = 'host',\n\t\t\t\tbehaviorOptions,\n\t\t\t\tcapture,\n\t\t\t\teventHandler,\n\t\t\t\tmodifier,\n\t\t\t\tdescendantOnly\n\t\t\t} = actionHandlers[k][i];\n\t\t\tlet combinedInterceptors = actionHandlerInterceptors[k].has(target)\n\t\t\t\t? actionHandlerInterceptors[k].get(target)\n\t\t\t\t: [];\n\n\t\t\tconst effectInterceptor = effect\n\t\t\t\t? {\n\t\t\t\t\t\tfn: function createEffectHandlerInterceptor(context) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...context,\n\t\t\t\t\t\t\t\teffects: [\n\t\t\t\t\t\t\t\t\t...context.effects,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\teffect,\n\t\t\t\t\t\t\t\t\t\targs: [...args, context.coeffects],\n\t\t\t\t\t\t\t\t\t\tmodifier,\n\t\t\t\t\t\t\t\t\t\toptions: behaviorOptions,\n\t\t\t\t\t\t\t\t\t\tdescendantOnly\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttype: 'effect',\n\t\t\t\t\t\tcapture,\n\t\t\t\t\t\teventHandler\n\t\t\t\t  }\n\t\t\t\t: null;\n\n\t\t\tconst handlerInterceptors = handlers.map(handler => ({\n\t\t\t\tfn: function createHandlersInterceptor(context) {\n\t\t\t\t\tconst {effect, args = []} = handler;\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...context,\n\t\t\t\t\t\teffects: [\n\t\t\t\t\t\t\t...context.effects,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\teffect,\n\t\t\t\t\t\t\t\targs: [...args, context.coeffects],\n\t\t\t\t\t\t\t\tmodifier,\n\t\t\t\t\t\t\t\toptions: behaviorOptions,\n\t\t\t\t\t\t\t\tdescendantOnly\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\ttype: 'effect',\n\t\t\t\tcapture,\n\t\t\t\teventHandler\n\t\t\t}));\n\n\t\t\tcombinedInterceptors = [\n\t\t\t\t...combinedInterceptors,\n\t\t\t\t...before,\n\t\t\t\t...(effectInterceptor ? [effectInterceptor] : []),\n\t\t\t\t...handlerInterceptors,\n\t\t\t\t...after\n\t\t\t];\n\t\t\tactionHandlerInterceptors[k].set(target, combinedInterceptors);\n\t\t}\n\n\t\tactionHandlerInterceptors[k].forEach(forEachInterceptor);\n\t}\n\n\treturn actionHandlerInterceptors;\n}\n","const TAKE_LATEST = 'takeLatest';\n\nexport default function normalizeModifiers(modifiers, modifier) {\n\treturn Object.keys(modifier).length ? modifier : modifiers.length ? {name: TAKE_LATEST} : {};\n}\n","import normalizeModifiers from './normalizeModifiers';\nimport log from '../../log';\n\nfunction typeInterceptor(fn, type, position) {\n\treturn {fn, type, position};\n}\n\nfunction mapInterceptors(interceptors) {\n\tconst mapped = {before: [], after: []};\n\tconst {length: interceptorCount} = interceptors;\n\tfor (let i = 0; i < interceptorCount; i++) {\n\t\tconst interceptor = interceptors[i];\n\t\tconst {before, after} = interceptor;\n\t\tif (!before && !after) {\n\t\t\tmapped.before.push(typeInterceptor(interceptor));\n\t\t\tcontinue;\n\t\t}\n\t\tif (before) mapped.before.push(typeInterceptor(before, 'before', mapped.before.length));\n\t\tif (after) mapped.after.unshift(typeInterceptor(after, 'after', mapped.after.length));\n\t}\n\n\treturn mapped;\n}\n\nfunction normalizeHandlers(handlers, tagName) {\n\tif (handlers.length) {\n\t\tlog(`Please update action handler definition in <${tagName}>`, {\n\t\t\ttagName,\n\t\t\torigin: 'normalizeHandlers',\n\t\t\tdocs: 'https://developer.servicenow.com/dev.do#!/guide/orlando/now-experience/ui-framework/now-experience-ui-framework-101/action-handlers'\n\t\t});\n\t}\n\n\treturn handlers.map(handler =>\n\t\ttypeof handler === 'function'\n\t\t\t? {\n\t\t\t\t\teffect: handler,\n\t\t\t\t\targs: []\n\t\t\t  }\n\t\t\t: {\n\t\t\t\t\t...handler,\n\t\t\t\t\teffect: handler.effect || handler.fn,\n\t\t\t\t\targs: handler.args || []\n\t\t\t  }\n\t);\n}\n\nexport function normalizeActionHandler(actionHandler, tagName) {\n\tconst {\n\t\thandlers = [],\n\t\targs = [],\n\t\tinterceptors = [],\n\t\tstopPropagation,\n\t\tprivate: isPrivate,\n\t\ttarget,\n\t\tmodifiers = [],\n\t\tmodifier = {},\n\t\tcapture = false,\n\t\teventHandler = false,\n\t\tdescendantOnly = false\n\t} = actionHandler;\n\n\tif (typeof actionHandler === 'function') {\n\t\treturn {\n\t\t\tstopPropagation,\n\t\t\teffect: actionHandler,\n\t\t\thandlers: [],\n\t\t\targs,\n\t\t\tinterceptors: mapInterceptors(interceptors),\n\t\t\ttarget,\n\t\t\tmodifier: normalizeModifiers(modifiers, modifier),\n\t\t\tcapture,\n\t\t\teventHandler,\n\t\t\tdescendantOnly\n\t\t};\n\t}\n\n\tfunction effectDelegate(...args) {\n\t\t// Effect delegate function to enable stubbing in tests\n\t\treturn actionHandler.effect(...args);\n\t}\n\n\treturn {\n\t\tstopPropagation: stopPropagation || isPrivate,\n\t\teffect: typeof actionHandler.effect === 'function' ? effectDelegate : actionHandler.effect,\n\t\thandlers: normalizeHandlers(handlers, tagName),\n\t\targs,\n\t\tinterceptors: mapInterceptors(interceptors),\n\t\ttarget,\n\t\tmodifier: normalizeModifiers(modifiers, modifier),\n\t\tcapture,\n\t\teventHandler,\n\t\tdescendantOnly\n\t};\n}\n","import {APPEND_TO_PAYLOAD_PROP_NAME} from '../../constants';\n\nexport function appendToPayload(el, payload) {\n\tconst appendToPayload = el[APPEND_TO_PAYLOAD_PROP_NAME];\n\tif (!appendToPayload) return payload;\n\n\treturn {...payload, ...appendToPayload};\n}\n","import log from '../log';\nimport {allLogTypes as logTypes} from '@servicenow/ui-internal';\n\nfunction isAlphaNumeric(str) {\n\treturn /^[a-z]+[a-z0-9]*$/i.test(str);\n}\n\nfunction assertValidPropertyNames(properties) {\n\tif (process.env.NODE_ENV === 'development') {\n\t\tconst {length: propertiesCount} = properties;\n\t\tfor (let i = 0; i < propertiesCount; i++) {\n\t\t\tconst property = properties[i];\n\t\t\tif (isAlphaNumeric(property) === false) {\n\t\t\t\tlog(`Invalid property name ${property}`, {\n\t\t\t\t\tlevel: logTypes.ERROR,\n\t\t\t\t\torigin: 'assertValidPropertyNames'\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\treturn true;\n}\n\nexport default assertValidPropertyNames;\n","const shouldReturnEmptyString = (schema = {}) =>\n\tschema.type === 'string' ||\n\t(Array.isArray(schema.type) && schema.type.indexOf('string') !== -1) ||\n\t(schema.oneOf && schema.oneOf.find(({type}) => type === 'string'));\n\n/**\n * @private\n * @param {*} value\n * @param {*} defaultValue\n * @returns resolved safe string value\n */\nconst fetchSafeStringValue = (value, defaultValue) => {\n\tif (value || defaultValue === undefined) return value;\n\n\treturn defaultValue;\n};\n\n/**\n * @private\n * @param {*} propertyDefinition\n * @param {*} values\n * @param {*} defaultValue\n * @returns resolved value\n **/\nconst resolveValue = (propertyDefinition, values, defaultValue) => {\n\tconst {length: valueCount} = values;\n\tvar hasSchema = propertyDefinition?.schema;\n\n\tfor (let i = 0; i < valueCount; i++) {\n\t\tconst value = values[i];\n\t\tif (typeof value === 'string') {\n\t\t\tif (!hasSchema) return fetchSafeStringValue(value, defaultValue);\n\t\t\telse if (\n\t\t\t\tvalue.length ||\n\t\t\t\t(propertyDefinition.schema && shouldReturnEmptyString(propertyDefinition.schema))\n\t\t\t)\n\t\t\t\treturn value;\n\t\t} else {\n\t\t\tif (value !== undefined && !propertyDefinition.readOnly) return value;\n\t\t}\n\t}\n\n\treturn defaultValue;\n};\n\nexport default function resolveProperties(\n\tstate = {properties: {}},\n\tpropertyDefinitions,\n\tinstanceProperties = {}\n) {\n\tconst resolvedProperties = {};\n\n\tfor (const k in propertyDefinitions) {\n\t\tresolvedProperties[k] = resolveValue(\n\t\t\tpropertyDefinitions[k],\n\t\t\t[instanceProperties[k], state.properties[k]],\n\t\t\tpropertyDefinitions[k].default\n\t\t);\n\t}\n\n\treturn resolvedProperties;\n}\n","import renderer from '@servicenow/ui-renderer-default';\n\nexport const DEFAULT_RENDERER = {\n\ttype: renderer,\n\ttransformState: state => state,\n\tview: () => null\n};\n","export {default as createUpdateStateEffect} from './updateStateEffect';\n","import {memoize, kebabCase} from '@servicenow/ui-internal';\n\nexport default memoize(\n\tfunction toAttributeName(propName) {\n\t\treturn kebabCase(propName);\n\t},\n\t{profileName: 'toAttributeName'}\n);\n","import getHostVariables from '../utils/getHostVariables';\nimport {PROPERTY_DEFS} from '../symbols';\n\nexport default function isSelectableProperty(componentRegistry, id, name) {\n\tconst el = componentRegistry[id];\n\tconst hostVariables = getHostVariables(el);\n\tif (el) {\n\t\tconst propertyDefs = hostVariables[PROPERTY_DEFS];\n\n\t\treturn (propertyDefs[name] && propertyDefs[name].selectable) || false;\n\t}\n\n\treturn false;\n}\n","import {PROPERTY_SELECTOR_SIGIL} from '../constants';\nimport {isEqual} from '@servicenow/ui-utils';\n\n/**\n * function to remove the entry from the resolvedSelectedPropertyMapping\n * 1. remove the entry if found\n * 2. If the entry to be deleted has impacted consumer components, those impacted ones will be cleared too\n * @param resolvedMappings\n * @param selectedMappings\n * @returns {(function(*, *, *): void)}\n */\nexport default (resolvedMappings, selectedMappings) =>\n\tfunction removeResolvedPropertyMapping(providerId, providerPropName, newValue) {\n\t\tif (!providerId) return;\n\t\tif (!resolvedMappings.has(providerId)) return;\n\n\t\tif (providerPropName) {\n\t\t\tconst existingResolvedProviderMapping = resolvedMappings.get(providerId);\n\t\t\tif (!existingResolvedProviderMapping.has(providerPropName)) return;\n\t\t\tif (!isEqual(newValue, existingResolvedProviderMapping.get(providerPropName))) {\n\t\t\t\texistingResolvedProviderMapping.delete(providerPropName);\n\t\t\t\tif (existingResolvedProviderMapping.size === 0) resolvedMappings.delete(providerId);\n\t\t\t\tdeleteImpactedMapping(selectedMappings, providerId, providerPropName, resolvedMappings);\n\t\t\t}\n\t\t} else {\n\t\t\tresolvedMappings.get(providerId).forEach((value, propName) => {\n\t\t\t\tdeleteImpactedMapping(selectedMappings, providerId, propName, resolvedMappings);\n\t\t\t});\n\t\t\tresolvedMappings.delete(providerId);\n\t\t}\n\t};\n\n// need to clear cached values for selectable consumer values down the chain\nfunction deleteImpactedMapping(selectedMappings, providerId, providerPropName, resolvedMappings) {\n\tconst selectorKey = `${providerId}${PROPERTY_SELECTOR_SIGIL}${providerPropName}`;\n\tconst impactedMappings = selectedMappings[selectorKey];\n\tif (!impactedMappings) return;\n\n\tfor (const impactedMappingKey in impactedMappings) {\n\t\tconst [componentId, componentPropName] = impactedMappingKey.split(PROPERTY_SELECTOR_SIGIL);\n\t\tconst existingResolvedEntry = resolvedMappings.get(componentId);\n\t\tif (existingResolvedEntry && existingResolvedEntry.has(componentPropName)) {\n\t\t\texistingResolvedEntry.delete(componentPropName);\n\t\t\tif (existingResolvedEntry.size === 0) resolvedMappings.delete(componentId);\n\n\t\t\tdeleteImpactedMapping(selectedMappings, componentId, componentPropName, resolvedMappings);\n\t\t}\n\t}\n}\n","import {getSelectorParts, isSelectableProperty, isSelector} from './';\n\nfunction resolveSelectorChain(id, name, path, propertyResolver, componentRegistry) {\n\tconst property = propertyResolver(componentRegistry, id, name, path);\n\tif (property && property[0] === '@') {\n\t\tconst [id, name, path] = getSelectorParts(property);\n\t\treturn resolveSelectorChain(id, name, path, propertyResolver, componentRegistry);\n\t}\n\n\treturn property;\n}\n\n/**\n * Returns property selector parts for a single property\n * @function resolveSelectedProperty\n * @private\n *\n * @param {Object} componentRegistry - Component registry\n * @param {function} propertyResolver - Returns the value for a property\n * @param {Object} property - property to be resolved\n * @param {Object} propertyDef - property definition from the config\n * @returns {Object} - The  resolved property\n */\nexport default function resolveSelectedProperty(\n\tcomponentRegistry,\n\tpropertyResolver,\n\tproperty,\n\tpropertyDef\n) {\n\tconst [id, name, path] = getSelectorParts(property);\n\n\tif (!id || !name) return property;\n\n\tconst defaultValue = propertyDef && propertyDef.default;\n\tif (!isSelectableProperty(componentRegistry, id, name))\n\t\treturn !isSelector(defaultValue) ? defaultValue : undefined;\n\n\tconst resolvedValue = resolveSelectorChain(id, name, path, propertyResolver, componentRegistry);\n\tif (resolvedValue !== undefined) return resolvedValue;\n\n\treturn !isSelector(defaultValue) ? defaultValue : undefined;\n}\n","import {resolveSelectedProperty} from './index';\nimport {selectablePropertyResolver} from '../utils';\n\nexport default function resolveProviderSelectedProperty(\n\tpropertyValue,\n\tproviderPropPath,\n\tcomponentRegistry,\n\tpropertyDef\n) {\n\tif (providerPropPath) {\n\t\treturn resolveSelectedProperty(\n\t\t\tcomponentRegistry,\n\t\t\tselectablePropertyResolver,\n\t\t\tpropertyValue.substring(0, propertyValue.length - providerPropPath.length),\n\t\t\tpropertyDef\n\t\t);\n\t}\n\treturn resolveSelectedProperty(\n\t\tcomponentRegistry,\n\t\tselectablePropertyResolver,\n\t\tpropertyValue,\n\t\tpropertyDef\n\t);\n}\n","import {get} from '@servicenow/ui-internal';\n\n/**\n * Utility function to get resolved value with a path\n * @param resolvedValue\n * @param path\n * @returns {*}\n */\nexport default function getResolvedValue(resolvedValue, path) {\n\tif (resolvedValue && path) return get(resolvedValue, path);\n\n\treturn resolvedValue;\n}\n","import {getSelectorParts} from '../property-selectors';\nimport {getHostVariables, isComputedProperty} from './index';\nimport {PROPERTY_DEFS} from '../symbols';\n\n/**\n * Util function to determine if a resolved selected property should be added to the mapping\n * If provider's property is computed, it always needs to be recalculated at runtime\n * So returns false\n * @param propValue\n * @param componentRegistry\n * @returns {boolean}\n */\nexport default function shouldAddToResolvedPropertyMapping(propValue, componentRegistry) {\n\tconst [id, name] = getSelectorParts(propValue);\n\tconst component = componentRegistry[id];\n\tif (!component) return false;\n\n\treturn !isComputedProperty(name, getHostVariables(component)?.[PROPERTY_DEFS]);\n}\n","import {\n\taddResolvedPropertyMappingWithKey,\n\tgetResolvedProperty,\n\tresolveMappingHasKey\n} from './index';\nimport resolveProviderSelectedProperty from './resolveProviderSelectedProperty';\nimport getResolvedValue from '../utils/getResolvedValue';\nimport shouldAddToResolvedPropertyMapping from '../utils/shouldAddToResolvedPropertyMapping';\n\n/**\n * Returns property selector parts for a set of properties\n * @function resolveSelectedProperties\n * @private\n *\n * @param {Object} componentRegistry - Component registry\n * @param {function} propertyResolver - Returns the value for a property\n * @param {Object} properties - A set of properties to be resolved\n * @param {Object} propertiesDef - property definition from the config\n * @param {Object} propWithSelector - A variable from the component\n * @returns {Object} - A set of resolved properties\n */\nexport default function resolveSelectedProperties(\n\tcomponentRegistry,\n\tpropertyResolver,\n\tproperties,\n\tpropertiesDef = {},\n\tpropWithSelector\n) {\n\tif (Object.entries(propWithSelector).length === 0) {\n\t\treturn properties;\n\t}\n\n\tconst resolved = {...properties};\n\tfor (const propName in propWithSelector) {\n\t\tconst [id, path] = propWithSelector[propName];\n\t\tconst hasBeenResolved = resolveMappingHasKey(id);\n\n\t\tif (hasBeenResolved) {\n\t\t\tconst resolvedValueObj = getResolvedProperty(id);\n\t\t\tresolved[propName] = getResolvedValue(resolvedValueObj, path);\n\t\t} else {\n\t\t\tconst propDef = propertiesDef[propName];\n\t\t\tconst resolvedValue = resolveProviderSelectedProperty(\n\t\t\t\tproperties[propName],\n\t\t\t\tpath,\n\t\t\t\tcomponentRegistry,\n\t\t\t\tpropDef\n\t\t\t);\n\t\t\tresolved[propName] = getResolvedValue(resolvedValue, path);\n\t\t\tif (shouldAddToResolvedPropertyMapping(properties[propName], componentRegistry))\n\t\t\t\taddResolvedPropertyMappingWithKey(id, resolvedValue);\n\t\t}\n\t}\n\treturn resolved;\n}\n","import {memoize} from '@servicenow/ui-internal';\n\nconst getParts = memoize(\n\tvalue => {\n\t\tconst slashIndex = value.indexOf('/');\n\n\t\tif (slashIndex === -1) return [];\n\n\t\tconst [delimeter, pathSplitIndex] = getDelimeterDetail(value);\n\n\t\treturn [\n\t\t\tvalue.substring(1, slashIndex),\n\t\t\tvalue.substring(\n\t\t\t\tslashIndex + 1,\n\t\t\t\tpathSplitIndex === -1\n\t\t\t\t\t? value.length\n\t\t\t\t\t: delimeter === '.'\n\t\t\t\t\t? pathSplitIndex\n\t\t\t\t\t: pathSplitIndex + 1\n\t\t\t),\n\t\t\tpathSplitIndex !== -1 ? value.substring(pathSplitIndex + 1) : ''\n\t\t];\n\t},\n\t{profileName: 'getParts'}\n);\n\nconst getDelimeterDetail = selector => {\n\tconst {length: selectorLength} = selector;\n\tfor (let i = 0; i < selectorLength; i++) {\n\t\tconst value = selector.charAt(i);\n\t\tif (value === '.') return [value, i];\n\t\tif (value === '[') return [value, i - 1];\n\t}\n\n\treturn ['', -1];\n};\n\n/**\n * Returns property selector parts, id and property name\n * @function getSelectorParts\n * @private\n *\n * @param {Object} mappings - A object that will contain mappings\n * @returns {Array} - Property selector parts, id, property name and path\n */\nexport default function getSelectorParts(value) {\n\tif (typeof value !== 'string') return [];\n\tif (value[0] !== '@') return [];\n\n\treturn getParts(value);\n}\n","import {memoize} from '@servicenow/ui-internal';\n\nconst hasSeperator = memoize(value => value.indexOf('/') > 0, {profileName: 'hasSeperator'});\n\nexport default function isSelector(value) {\n\treturn typeof value === 'string' && value[0] === '@' && hasSeperator(value);\n}\n","import {COMPONENT_ID} from '../symbols';\nimport {updateSelectedPropertyMappings, getHostVariables} from '../utils';\n\nexport default function unstableAddRenderOnPropertySelectorValueChange(host, propertySelector) {\n\tconst hostVariables = getHostVariables(host);\n\tupdateSelectedPropertyMappings(propertySelector, propertySelector, hostVariables[COMPONENT_ID]);\n}\n","import {getHostVariables} from '../utils';\nimport {COMPONENT_ID} from '../symbols';\nimport {removeMappings} from '../property-selectors';\n\nexport default function unstableRemoveRenderOnPropertySelectorValueChange(host, propertySelector) {\n\tconst hostVariables = getHostVariables(host);\n\tremoveMappings(hostVariables[COMPONENT_ID], propertySelector);\n}\n","import createAddMapping from './createAddMapping';\nimport createRemoveMappings from './createRemoveMappings';\nimport createGetAffected from './createGetAffected';\nimport createGetComponentAffected from './createGetComponentAffected';\nimport createAddResolvedPropertyMapping from './createAddResolvedPropertyMapping';\nimport createAddSelectablePropertyMapping from './createAddSelectablePropertyMapping';\nimport resolvedMappingHasKey from './resolvedMappingHasKey';\nimport getResolvedPropertyValue from './getResolvedPropertyValue';\nimport createRemoveResolvedPropertyMapping from './createRemoveResolvedPropertyMapping';\nimport createAddResolvedPropertyMappingWithKey from './createAddResolvedPropertyMappingWithKey';\n\nconst mappings = {};\nconst resolvedPropertyMappings = new Map();\n\nexport const addMapping = createAddMapping(mappings);\nexport const removeMappings = createRemoveMappings(mappings);\nexport const getAffected = createGetAffected(mappings);\nexport const getComponentAffected = createGetComponentAffected(mappings);\nexport const addResolvedPropertyMapping =\n\tcreateAddResolvedPropertyMapping(resolvedPropertyMappings);\nexport const removeResolvedMapping = createRemoveResolvedPropertyMapping(\n\tresolvedPropertyMappings,\n\tmappings\n);\nexport const addResolvedPropertyMappingWithKey =\n\tcreateAddResolvedPropertyMappingWithKey(resolvedPropertyMappings);\nexport const addSelectableResolvedPropertyMapping =\n\tcreateAddSelectablePropertyMapping(resolvedPropertyMappings);\nexport const resolveMappingHasKey = resolvedMappingHasKey(resolvedPropertyMappings);\nexport const getResolvedProperty = getResolvedPropertyValue(resolvedPropertyMappings);\nexport {default as resolveSelectedProperty} from './resolveSelectedProperty';\nexport {default as resolveSelectedProperties} from './resolveSelectedProperties';\nexport {default as getSelectorParts} from './getSelectorParts';\nexport {default as isSelectableProperty} from './isSelectableProperty';\nexport {default as isSelector} from './isSelector';\n\n// Unstable APIs\nexport {default as createUnstableResolvePropertySelectorValue} from './createUnstableResolvePropertySelectorValue';\nexport {default as unstableAddRenderOnPropertySelectorValueChange} from './unstableAddRenderOnPropertySelectorValueChange';\nexport {default as unstableRemoveRenderOnPropertySelectorValueChange} from './unstableRemoveRenderOnPropertySelectorValueChange';\n","/**\n * Create a function to update the existing map with a providerDetail key and its resolved value\n * Sample mapping Obj\n * mappings: {\n * \tproviderComponent{\n * \t\tproviderProp: resolvedValue\n * \t\t}\n * }\n * @param resolvedMappings\n * @returns {(function(*, *): void)}\n */\nexport default function createAddResolvedPropertyMapping(resolvedMappings) {\n\treturn function addResolvedPropertyMapping(providerDetail, resolvedValue) {\n\t\tconst {providerId, providerPropName} = providerDetail;\n\t\tif (!resolvedMappings.has(providerId)) resolvedMappings.set(providerId, new Map());\n\t\tresolvedMappings.get(providerId).set(providerPropName, resolvedValue);\n\t};\n}\n","import {PROPERTY_SELECTOR_SIGIL} from '../constants';\n\n/**\n * Create a function for mapping a provider compoent id, property selector, to a consumer component id, property name and path\n * Sample mapping Obj\n * mappings: {\n * \tproviderComponent@providerProp: {\n * \t\tselectorId@selectorProp: 'pathValue'\n * \t}\n * }\n * @function createAddMapping\n * @private\n * @param {Object} mappings\n * @returns {function} - A function for adding a mapping\n */\nexport default function createAddMapping(mappings) {\n\t/**\n\t * @function addMapping\n\t * @private\n\t * @param {Object} providerDetail - A object that will contain providerId, providerPropName, providerPropPath\n\t * @param {Object} consumerDetail - A object that will contain consumerId, consumerPropName\n\t */\n\treturn function addMapping(providerDetail, consumerDetail) {\n\t\tconst {providerId, providerPropName, providerPropPath} = providerDetail;\n\t\tconst {consumerId, consumerPropName} = consumerDetail;\n\t\tconst providerKey = `${providerId}${PROPERTY_SELECTOR_SIGIL}${providerPropName}`;\n\t\tconst consumerKey = `${consumerId}${PROPERTY_SELECTOR_SIGIL}${consumerPropName}`;\n\n\t\tif (!mappings[providerKey]) mappings[providerKey] = {}; // eslint-disable-line no-param-reassign\n\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tmappings[providerKey][consumerKey] = providerPropPath;\n\t};\n}\n","import {PROPERTY_SELECTOR_SIGIL} from '../constants';\n/**\n * Create a function removing mapped components by component id and optionally property name\n * @function createRemoveMappings\n * @private\n *\n * @param {Object} mappings - A object that will contain mappings\n * @returns {function} - A function for removing mapped components by component id and optionally property name\n */\nexport default mappings =>\n\tfunction removeMappings(elementId, propertyName) {\n\t\tif (elementId && propertyName) {\n\t\t\tfor (const key in mappings) {\n\t\t\t\tconst selectorKey = mappings[key][`${elementId}${PROPERTY_SELECTOR_SIGIL}${propertyName}`];\n\t\t\t\tif (selectorKey === '' || selectorKey)\n\t\t\t\t\tdelete mappings[key][`${elementId}${PROPERTY_SELECTOR_SIGIL}${propertyName}`]; // eslint-disable-line no-param-reassign\n\n\t\t\t\tif (Object.keys(mappings[key]).length === 0) delete mappings[key]; // eslint-disable-line no-param-reassign\n\t\t\t}\n\t\t}\n\n\t\tif (elementId && !propertyName) {\n\t\t\tfor (const key in mappings) {\n\t\t\t\tfor (const subKey in mappings[key]) {\n\t\t\t\t\tconst componentId = subKey.split(PROPERTY_SELECTOR_SIGIL)[0];\n\t\t\t\t\tif (componentId === elementId) delete mappings[key][subKey]; // eslint-disable-line no-param-reassign\n\t\t\t\t}\n\n\t\t\t\tif (Object.keys(mappings[key]).length === 0) delete mappings[key]; // eslint-disable-line no-param-reassign\n\t\t\t}\n\t\t}\n\t};\n","import {PROPERTY_SELECTOR_SIGIL} from '../constants';\nimport isSelectableProperty from './isSelectableProperty';\n/**\n * Create a function for getting components affected by a property name and source component id\n * @function createGetAffected\n * @private\n *\n * @param {Object} mappings - A object that will contain mappings\n * @returns {function} - A function for getting components affected by a property name and source component id\n */\nexport default mappings =>\n\tfunction getAffected(propertyName, providerId, componentRegistry, includeSource = true) {\n\t\tconst sourceAffected = includeSource\n\t\t\t? {[`${providerId}${PROPERTY_SELECTOR_SIGIL}${propertyName}`]: ''}\n\t\t\t: {};\n\t\tlet componentsAffected = {\n\t\t\t...mappings[`${providerId}${PROPERTY_SELECTOR_SIGIL}${propertyName}`]\n\t\t};\n\n\t\tif (!Object.keys(componentsAffected).length) return sourceAffected;\n\n\t\tif (!isSelectableProperty(componentRegistry, providerId, propertyName)) return sourceAffected;\n\n\t\t(function getAffectedSelectorChain(componentMap) {\n\t\t\tfor (const selectorMap in componentMap) {\n\t\t\t\tif (mappings[selectorMap]) {\n\t\t\t\t\tcomponentsAffected = {\n\t\t\t\t\t\t...componentsAffected,\n\t\t\t\t\t\t...mappings[selectorMap]\n\t\t\t\t\t};\n\t\t\t\t\tgetAffectedSelectorChain(mappings[selectorMap]);\n\t\t\t\t}\n\t\t\t}\n\t\t})(componentsAffected);\n\n\t\treturn {\n\t\t\t...sourceAffected,\n\t\t\t...componentsAffected\n\t\t};\n\t};\n","import {PROPERTY_SELECTOR_SIGIL} from '../constants';\n\n// TODO: this should be refactored to remove some redundancy with creatGetAffected\nexport default mappings =>\n\tfunction getComponentAffected(propertyName, providerId) {\n\t\tlet componentsAffected = {\n\t\t\t...mappings[`${providerId}${PROPERTY_SELECTOR_SIGIL}${propertyName}`]\n\t\t};\n\n\t\tif (!Object.keys(componentsAffected).length) return componentsAffected;\n\n\t\t(function getAffectedSelectorChain(componentMap) {\n\t\t\tfor (const selectorMap in componentMap) {\n\t\t\t\tif (mappings[selectorMap]) {\n\t\t\t\t\tcomponentsAffected = {\n\t\t\t\t\t\t...componentsAffected,\n\t\t\t\t\t\t...mappings[selectorMap]\n\t\t\t\t\t};\n\t\t\t\t\tgetAffectedSelectorChain(mappings[selectorMap]);\n\t\t\t\t}\n\t\t\t}\n\t\t})(componentsAffected);\n\n\t\treturn componentsAffected;\n\t};\n","import {PROPERTY_SELECTOR_SIGIL} from '../constants';\n\n/**\n * Create a function to add to resolvedPropertyMappings with a key and its resolved value\n * The key should look like this: providerComponent@providerProp\n * @param resolvedMappings\n * @returns {(function(*, *): void)}\n */\nexport default function createAddResolvedPropertyMappingWithKey(resolvedMappings) {\n\treturn function (key, resolvedValue) {\n\t\tconst [componentId, componentPropName] = key.split(PROPERTY_SELECTOR_SIGIL);\n\t\tif (!resolvedMappings.has(componentId)) resolvedMappings.set(componentId, new Map());\n\t\tresolvedMappings.get(componentId).set(componentPropName, resolvedValue);\n\t};\n}\n","export default function createAddSelectablePropertyMapping(resolvedMappings) {\n\treturn function (consumerDetail, resolvedValue) {\n\t\tconst {consumerId, consumerPropName} = consumerDetail;\n\t\tif (!resolvedMappings.has(consumerId)) resolvedMappings.set(consumerId, new Map());\n\t\tresolvedMappings.get(consumerId).set(consumerPropName, resolvedValue);\n\t};\n}\n","import {PROPERTY_SELECTOR_SIGIL} from '../constants';\n\nexport default resolvedMappings =>\n\tfunction resolvedMappingHasKey(key) {\n\t\tconst [componentId, componentPropName] = key.split(PROPERTY_SELECTOR_SIGIL);\n\t\tif (!resolvedMappings.has(componentId)) return false;\n\n\t\treturn resolvedMappings.get(componentId).has(componentPropName);\n\t};\n","import {PROPERTY_SELECTOR_SIGIL} from '../constants';\n\nexport default resolvedMappings =>\n\tfunction getResolvedPropertyValue(key) {\n\t\tconst [componentId, componentPropName] = key.split(PROPERTY_SELECTOR_SIGIL);\n\t\tif (!resolvedMappings.has(componentId)) return;\n\t\treturn resolvedMappings.get(componentId).get(componentPropName);\n\t};\n","import {toString, get} from '@servicenow/ui-internal';\nimport toAttributeName from './toAttributeName';\nimport {isSelector} from '../property-selectors';\n\nexport default function getInitialPropertyValue(el, key, propertyDefs = {}) {\n\tif (propertyDefs[key] && propertyDefs[key].readOnly) return propertyDefs[key].default;\n\n\tconst property = el[key];\n\tconst attr = toAttributeName(key);\n\tconst unstablePreserveEmptyStr =\n\t\t(propertyDefs[key] && propertyDefs[key].unstablePreserveEmptyStr) || false;\n\n\tif (key !== 'style' && el.hasAttribute(attr) && !isSelector(property)) {\n\t\tconst value = el.getAttribute(attr);\n\t\tconst preserve =\n\t\t\tunstablePreserveEmptyStr || get(propertyDefs, `[${key}].schema.type`) === 'string';\n\n\t\treturn value || (preserve ? value : true);\n\t}\n\n\t// property.toString() will return [object CSSStyleDeclaration] if the style property is a true style property\n\t// vs. a style object (key, value) that is passed via JSX in the view layer\n\treturn key === 'style'\n\t\t? toString(property) === '[object Object]'\n\t\t\t? property\n\t\t\t: undefined\n\t\t: property;\n}\n","export default function filterPropertyDefinitions(properties, fn) {\n\tconst filteredPropertyDefs = {};\n\tif (!properties) return filteredPropertyDefs;\n\n\tconst keys = Object.keys(properties);\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tconst k = keys[i];\n\t\tconst value = properties[k];\n\t\tif (fn(value)) filteredPropertyDefs[k] = value;\n\t}\n\n\treturn filteredPropertyDefs;\n}\n","import {toLower} from '@servicenow/ui-internal';\nimport {SEISMIC_HOIST_TAG_NAME} from '../constants';\n\nconst doc = window.document;\nconst styleFragments = {};\n\nexport function removeStyleFragmentFromCache(tagName) {\n\tdelete styleFragments[tagName.toUpperCase()];\n}\n\n/**\n * @function\n * @param {String} [style]\n * @param {Array.<String>} [stylesheetsContent]\n * @param {String} [tagName]\n * @returns {HTMLElement}\n */\nexport default function createStyleFragment(style, stylesheetsContent, tagName) {\n\tconst cachedStyleFragment = styleFragments[tagName];\n\tif (cachedStyleFragment) return cachedStyleFragment.content.cloneNode(true);\n\n\tlet styleFragment;\n\tconst externalStylesFragment = document.head.querySelector(`#now-${toLower(tagName)}-styles`);\n\tif (externalStylesFragment) {\n\t\tstyleFragment = mergeStylesheets(externalStylesFragment, stylesheetsContent);\n\t} else {\n\t\tlet styles = '';\n\t\tstyleFragment = doc.createElement('template');\n\n\t\tif (style) styles += style;\n\n\t\tif (stylesheetsContent) styles += stylesheetsContent;\n\n\t\tstyleFragment.innerHTML = `<style type=\"text/css\">${styles}</style>`;\n\t}\n\n\tif (tagName !== SEISMIC_HOIST_TAG_NAME) styleFragments[tagName] = styleFragment;\n\n\treturn styleFragment.content.cloneNode(true);\n}\n\nfunction mergeStylesheets(externalStylesFragment, stylesheetsContent) {\n\tif (!stylesheetsContent) return externalStylesFragment;\n\n\t// this case should be rare, if ever; ideally we should deprecate support for config.stylesheets\n\tconst externalStylesEl = externalStylesFragment.content.cloneNode(true).children[0];\n\texternalStylesEl.textContent = `${stylesheetsContent}\\n${externalStylesEl.textContent}`;\n\tconst mergedStyleFragment = doc.createElement('template');\n\tmergedStyleFragment.content.appendChild(externalStylesEl);\n\n\treturn mergedStyleFragment;\n}\n","export default [];\n","export default function isComputedProperty(name, definitions) {\n\treturn definitions[name] && definitions[name].computed;\n}\n","import {memoize, camelCase} from '@servicenow/ui-internal';\n\nexport default memoize(\n\tfunction toPropertyName(attrName) {\n\t\treturn camelCase(attrName);\n\t},\n\t{profileName: 'toPropertyName'}\n);\n","export default function isReadOnlyProperty(name, definitions) {\n\treturn definitions[name] && definitions[name].readOnly;\n}\n","import isReadOnlyProperty from './isReadOnlyProperty';\nimport toPropertyName from './toPropertyName';\nimport isComputedProperty from './isComputedProperty';\nimport {memoize} from '@servicenow/ui-internal';\n\nconst shouldSetMemoized = memoize(\n\tfunction shouldSetAttribute(tagName, name, defs) {\n\t\tconst readOnly = isReadOnlyProperty(toPropertyName(name), defs);\n\t\tconst computedProperty = isComputedProperty(toPropertyName(name), defs);\n\n\t\treturn !readOnly && !computedProperty;\n\t},\n\t{profileName: 'shouldSetAttribute'}\n);\n\nexport default function shouldSetAttribute(tagName, isReflecting, name, defs = {}) {\n\treturn isReflecting || shouldSetMemoized(tagName, name, defs);\n}\n","import isReadOnlyProperty from './isReadOnlyProperty';\nimport toPropertyName from './toPropertyName';\nimport isComputedProperty from './isComputedProperty';\nimport {memoize} from '@servicenow/ui-internal';\n\nexport default memoize(\n\tfunction shouldSetProperty(tagName, name, defs = {}, setReadOnly = false) {\n\t\tconst propertyName = toPropertyName(name);\n\t\tconst readOnly = isReadOnlyProperty(propertyName, defs);\n\t\tconst computedProperty = isComputedProperty(propertyName, defs);\n\n\t\treturn (!readOnly || (readOnly && setReadOnly)) && !computedProperty;\n\t},\n\t{\n\t\tcreateCacheKey: (tagName, name, defs, setReadOnly) => `${tagName}|${name}|${setReadOnly}`,\n\t\tprofileName: 'shouldSetProperty'\n\t}\n);\n","const beforeNextTick = Promise.resolve().then.bind(Promise.resolve());\nexport default beforeNextTick;\n","import {mark, types as metrics} from '@servicenow/ui-metrics';\n\nconst performanceApiExists =\n\tperformance &&\n\ttypeof performance.mark === 'function' &&\n\ttypeof performance.measure === 'function';\nlet {__ENABLE_NOW_UI_PERFORMANCE__} = window;\nlet uiPerfEnabled =\n\tprocess.env.NODE_ENV === 'performance' ||\n\tprocess.env.NODE_ENV === 'test' ||\n\t__ENABLE_NOW_UI_PERFORMANCE__;\n\ntry {\n\tdelete window.__ENABLE_NOW_UI_PERFORMANCE__;\n\n\tObject.defineProperty(window, '__ENABLE_NOW_UI_PERFORMANCE__', {\n\t\tconfigurable: true,\n\t\tget() {\n\t\t\treturn __ENABLE_NOW_UI_PERFORMANCE__;\n\t\t},\n\t\tset(value) {\n\t\t\t__ENABLE_NOW_UI_PERFORMANCE__ = value;\n\t\t\tuiPerfEnabled =\n\t\t\t\tprocess.env.NODE_ENV === 'performance' || process.env.NODE_ENV === 'test' || value;\n\t\t}\n\t});\n} catch (e) {\n\t// fail silently\n}\n\nexport default function measure(fn, host, marker, interactionId, options) {\n\tif (!performanceApiExists) return fn();\n\n\tmark(host, interactionId, metrics.RENDER_START, options);\n\n\tlet startMarker;\n\tif (uiPerfEnabled) {\n\t\tstartMarker = `${marker}-start`;\n\t\tperformance.mark(startMarker);\n\t}\n\tfn();\n\tmark(host, interactionId, metrics.RENDER_END, options);\n\tif (uiPerfEnabled) performance.measure(marker, startMarker);\n}\n","import getHostVariables from './getHostVariables';\nimport {PROPS} from '../symbols';\nimport {get} from '@servicenow/ui-internal';\n\nexport default function selectablePropertyResolver(componentRegistry, id, name, path) {\n\tconst el = componentRegistry[id];\n\tif (el) {\n\t\tconst hostVariables = getHostVariables(el);\n\t\tconst property = hostVariables[PROPS][name];\n\t\tif (path) {\n\t\t\treturn property && property[0] === '@'\n\t\t\t\t? path[0] === '['\n\t\t\t\t\t? `${property}${path}`\n\t\t\t\t\t: `${property}.${path}`\n\t\t\t\t: get(property, path);\n\t\t}\n\n\t\treturn property;\n\t}\n\n\treturn undefined;\n}\n","import {setInteractionId} from '@servicenow/ui-metrics';\nimport {CONDITIONAL_DISPATCH} from '../symbols';\nimport {COMPONENT_PROPERTY_CHANGED} from '../constants';\nimport {get} from '@servicenow/ui-internal';\nimport getHostVariables from './getHostVariables';\n\nexport default function triggerPropertyChangeAction(\n\tel,\n\tpropertyDetail,\n\taffectedPropDetail,\n\tinteractionId,\n\tactiveSpan = null\n) {\n\tconst {propName: name, path} = affectedPropDetail;\n\tlet {previousValue, value} = propertyDetail;\n\tif (path) {\n\t\tpreviousValue = get(previousValue, path);\n\t\tvalue = get(value, path);\n\t}\n\tconst hostVariables = getHostVariables(el);\n\thostVariables[CONDITIONAL_DISPATCH](\n\t\tCOMPONENT_PROPERTY_CHANGED,\n\t\t{\n\t\t\tname,\n\t\t\tpreviousValue,\n\t\t\tvalue,\n\t\t\thost: el\n\t\t},\n\t\tsetInteractionId(\n\t\t\t{\n\t\t\t\tinternal: true,\n\t\t\t\tspan: activeSpan\n\t\t\t},\n\t\t\tinteractionId\n\t\t)\n\t);\n}\n","import {memoize} from '@servicenow/ui-internal';\nimport {NOW_METRIC_TYPES_PROP, NOW_METRICS_LEVEL_PROP, NOW_LOGGING_LEVELS_PROP} from '../constants';\n\nconst skipRenderPropsList = [\n\tNOW_METRIC_TYPES_PROP,\n\tNOW_METRICS_LEVEL_PROP,\n\tNOW_LOGGING_LEVELS_PROP\n];\n\nexport const isPropToSkipRender = memoize(\n\t(_tagName, propName, propDef) =>\n\t\tskipRenderPropsList.includes(propName) || propDef?.shouldRenderWhenSet === false,\n\t{\n\t\tcreateCacheKey: (tagName, propName) => `${tagName}|${propName}`,\n\t\tprofileName: `isPropToSkipRender`\n\t}\n);\n","import triggerPropertyChangeAction from './triggerPropertyChangeAction';\nimport {\n\tHOIST_APPEND_TO_PROP,\n\tHOIST_ATTR,\n\tNOW_HOIST_APPEND_TO_PROP,\n\tNOW_HOIST_PREPEND_TO_PROP,\n\tNOW_HOIST_PROP,\n\tPROPERTY_SELECTOR_SIGIL\n} from '../constants';\nimport {HOIST_CHANGED, HOIST_PARENT_CHANGED, PROPERTY_DEFS, RENDER, VARIABLES} from '../symbols';\nimport log from '../log';\nimport {isPropToSkipRender} from './isPropToSkipRender';\n\nexport default function triggerComponentUpdates(\n\tcomponentRegistry,\n\taffected,\n\tpropertyDetails,\n\tinteractionId,\n\tlabel,\n\toptions = {}\n) {\n\tconst {value} = propertyDetails;\n\tconst renderList = [];\n\tfor (const id in affected) {\n\t\tconst [elementId, propName] = id.split(PROPERTY_SELECTOR_SIGIL);\n\t\tconst el = componentRegistry[elementId];\n\t\trenderList.push({\n\t\t\telementId,\n\t\t\ttagName: el?.tagName,\n\t\t\tpropName,\n\t\t\tpropDef: el?.[VARIABLES]?.[PROPERTY_DEFS]?.[propName]\n\t\t});\n\n\t\tif (el && propName) {\n\t\t\ttriggerPropertyChangeAction(\n\t\t\t\tel,\n\t\t\t\tpropertyDetails,\n\t\t\t\t{propName, path: affected[id]},\n\t\t\t\tinteractionId,\n\t\t\t\toptions.activeSpan\n\t\t\t);\n\n\t\t\tif (propName === NOW_HOIST_PROP || propName === HOIST_ATTR) el[HOIST_CHANGED](value);\n\n\t\t\tif (\n\t\t\t\tpropName === HOIST_APPEND_TO_PROP ||\n\t\t\t\tpropName === NOW_HOIST_APPEND_TO_PROP ||\n\t\t\t\tpropName === NOW_HOIST_PREPEND_TO_PROP\n\t\t\t)\n\t\t\t\tel[HOIST_PARENT_CHANGED](propName);\n\t\t}\n\t}\n\n\tfor (let i = 0; i < renderList.length; i++) {\n\t\tconst {elementId, tagName, propName, propDef} = renderList[i];\n\t\tif (componentRegistry[elementId]) {\n\t\t\tif (!isPropToSkipRender(tagName, propName, propDef))\n\t\t\t\tcomponentRegistry[elementId][RENDER](interactionId, label, {\n\t\t\t\t\tpropName,\n\t\t\t\t\tvalue,\n\t\t\t\t\tactiveSpan: options.activeSpan\n\t\t\t\t});\n\t\t} else {\n\t\t\tlog(\n\t\t\t\t`Component with id \"${elementId}\" could not be re-rendered from a change in property \"${propName}\" because the component is disconnected or not known.`,\n\t\t\t\t{\n\t\t\t\t\tcomponentId: elementId,\n\t\t\t\t\torigin: 'triggerComponentUpdates'\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n}\n","import {addMapping, getSelectorParts, removeMappings} from '../property-selectors';\n\nexport default function updateSelectedPropertyMappings(\n\tpropertyValue,\n\tconsumerPropName,\n\tconsumerId,\n\tshouldRemove = true\n) {\n\tconst [providerId, providerPropName, providerPropPath] = getSelectorParts(propertyValue);\n\n\tif (shouldRemove) removeMappings(consumerId, consumerPropName);\n\n\tif (providerId && providerPropName)\n\t\taddMapping({providerId, providerPropName, providerPropPath}, {consumerId, consumerPropName});\n}\n","import beforeNextTick from './beforeNextTick';\n\nconst defaultLifecycleFn = (node, dispatch, next) => next();\nconst defaultAsyncLifecycleFn = (node, dispatch, next) =>\n\tbeforeNextTick(() => defaultLifecycleFn(node, dispatch, next));\n\nexport default function createLifecycleFunctions(\n\trendererOnConnect,\n\trendererOnDisconnect,\n\tshouldRunAsync\n) {\n\tif (shouldRunAsync && !rendererOnConnect) {\n\t\t// only the legacy react renderer should match this case\n\t\treturn {\n\t\t\tonConnect: defaultAsyncLifecycleFn,\n\t\t\tonDisconnect: rendererOnDisconnect || defaultLifecycleFn\n\t\t};\n\t}\n\n\treturn {\n\t\tonConnect: rendererOnConnect || defaultAsyncLifecycleFn,\n\t\tonDisconnect: rendererOnDisconnect || defaultLifecycleFn\n\t};\n}\n","import {NOW_UI_EVENT} from '../constants';\n\nexport function emitNowUiEvent(type, detail) {\n\tif (!window.__ENABLE_NOW_UI_EVENT__) return;\n\tconst event = new CustomEvent(NOW_UI_EVENT, {\n\t\tcomposed: true,\n\t\tbubbles: true,\n\t\tdetail: {\n\t\t\ttype,\n\t\t\t...detail\n\t\t}\n\t});\n\tdocument.dispatchEvent(event);\n}\n","import {toPropertyName} from '../utils';\n\nexport default function camelCaseProperties(state) {\n\tfor (const k in state.properties) {\n\t\tconst newKey = toPropertyName(k);\n\t\tif (newKey !== k) {\n\t\t\tstate.properties[newKey] = state.properties[k];\n\t\t\tdelete state.properties[k];\n\t\t}\n\t}\n\treturn state;\n}\n","/**\n * Unescape reserved characters and seismic\n * Currently, only @ is reserved, we can expand this later if needed\n *\n * @private\n * @param state\n * @param container\n * @returns Object - State\n */\nexport default function unescapeReservedCharacters(state) {\n\tfor (const k in state.properties) {\n\t\tconst value = state.properties[k];\n\t\tif (typeof value === 'string' && (value.startsWith('\\\\@') || value.startsWith('\\\\\\\\@'))) {\n\t\t\tstate.properties[k] = value.slice(1);\n\t\t}\n\t}\n\treturn state;\n}\n","import {GET_RESOLVED_PROPERTY} from '../symbols';\nimport {HOIST_ATTR, NOW_HOIST_PROP, NOW_HOIST_ATTR} from '../constants';\n\nexport default function isHoisted(host) {\n\treturn (\n\t\thost[GET_RESOLVED_PROPERTY](HOIST_ATTR) ||\n\t\thost[GET_RESOLVED_PROPERTY](NOW_HOIST_PROP) ||\n\t\thost.hasAttribute(NOW_HOIST_ATTR) ||\n\t\thost.hasAttribute(HOIST_ATTR)\n\t);\n}\n","import {ROOT_NODE} from '../symbols';\n\nexport function getHoistTarget(hostVariables) {\n\treturn hostVariables[ROOT_NODE].host;\n}\n","import getHostVariables from './getHostVariables';\nimport {COMPONENT_ID} from '../symbols';\nimport {SEISMIC_HOIST_TAG_NAME} from '../constants';\n\nexport default function getRootNode(node) {\n\tconst rootNode = node.getRootNode();\n\n\tif (rootNode.host && rootNode.host.tagName === SEISMIC_HOIST_TAG_NAME)\n\t\treturn rootNode.host.sourceElement;\n\n\tif (rootNode !== document) return rootNode.host;\n\n\tif (node.assignedSlot) return getRootNode(node.assignedSlot);\n\n\tlet {parentNode} = node;\n\twhile (parentNode !== document.body) {\n\t\tconst parentVariables = getHostVariables(parentNode);\n\n\t\tif (parentVariables && parentVariables[COMPONENT_ID]) return parentNode;\n\n\t\tparentNode = parentNode.parentNode; // eslint-disable-line prefer-destructuring\n\t}\n\n\treturn null;\n}\n","import {isPlainObject} from '@servicenow/ui-internal';\nimport log from '../log';\n\nexport function normalizeActionMeta(meta, {host}) {\n\tlet normalizedMeta = meta;\n\tif (!isPlainObject(meta)) {\n\t\tnormalizedMeta = {...meta};\n\t\tif (process.env.NODE_ENV !== 'production') {\n\t\t\tlog(\n\t\t\t\t`While dispatching an action, Expected meta to be an Object but found ${meta}. This will result in inconsistent behavior when passing meta to an action handler`,\n\t\t\t\t{\n\t\t\t\t\thost,\n\t\t\t\t\torigin: 'normalizeActionMeta'\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\treturn normalizedMeta;\n}\n","import {HELPERS_DEFER} from '../../constants';\nimport {schedule, types} from '../../scheduler';\nconst {DEFER_HELPER_EXECUTION} = types;\n\n// the origin event handler for an action is ran as a microtask because it has to wait to see if\n// preventDefault has been called by an ancestor. because of this back-to-back dispatches\n// triggered from a user event such as a click can cause stale state or properties in helper\n// callbacks (or just event handlers) in the view. so far this is only replicable programmtically\n// doing something like btn.click(); btn.click(); where these clicks dispatch an action that then updates\n// state or properties in an effect hander and the dispatch callback in the view relies on state\n// or properties. eventually this use case needs to be accounted for in the scheduler design.\nexport default function deferHelperExecution(executionTiming, fn, meta) {\n\treturn executionTiming === HELPERS_DEFER\n\t\t? schedule({fn, type: DEFER_HELPER_EXECUTION, meta})\n\t\t: fn();\n}\n","export default class ConsoleLogExporter {\n    constructor() { }\n    extractInfo(log) {\n        return {\n            time: new Date(log.timestamp),\n            timestamp: log.timestamp,\n            attributes: log.attributes,\n            traceId: log.context?.traceId,\n            spanId: log.context?.spanId,\n        };\n    }\n    export(logs) {\n        logs.forEach((log) => {\n            console[log.level](`[SNUiLogger]: ${log.message}`, this.extractInfo(log));\n        });\n    }\n}\n","/**\n * Logs has a specific schema. All of the values in a Log object are primitive,\n * except context and attributes, which are objects, where keys map to primitive types.\n * This will ensure no reference is carried over.\n * @param logs array of Log's\n * @returns deep copied array of Log's\n */\nexport const fastDeepCopy = (logs) => logs.map(log => ({\n    ...log,\n    attributes: log.attributes && { ...log.attributes },\n    context: log.context && { ...log.context },\n}));\nexport const getCurrentTime = () => performance.timeOrigin + performance.now();\n","import ConsoleLogExporter from \"./exporter/consoleLogExporter\";\nimport { fastDeepCopy } from './utils';\nexport default class LogQueue {\n    _queue;\n    _backedLogs = [];\n    _logLevel; // TODO: for what?\n    _cleanUpTimeInterval;\n    _collectTimeInterval;\n    _queueLocked = false;\n    _collectIntervalId;\n    _cleanupIntervalId;\n    _exporter;\n    subscribers = new Set();\n    constructor(options = {}) {\n        const { logLevel = 'debug', cleanUpTimeInterval = 60000, collectTimeInterval = 5000, exporter = new ConsoleLogExporter(), } = options;\n        this._logLevel = logLevel;\n        this._cleanUpTimeInterval = cleanUpTimeInterval;\n        this._collectTimeInterval = collectTimeInterval;\n        this._exporter = exporter;\n        this._queue = [];\n        this.startLogInterval();\n        this.startCleanupInterval();\n    }\n    /**\n     * Start the log collection interval.\n     * This will notify subscribers with the current log queue.\n     */\n    startLogInterval() {\n        try {\n            this._collectIntervalId = window.setInterval(async () => {\n                this._exporter.export(this._queue);\n                this.notifySubscribers().catch(e => console.error('Something went wrong while notifying subscribers: ', e));\n            }, this._collectTimeInterval);\n        }\n        catch (e) {\n            console.error('Something went wrong while setting up log interval: ', e);\n        }\n    }\n    /**\n     * Start the log cleanup interval.\n     * This will clear the log queue if logs were not emitted within the time interval.\n     */\n    startCleanupInterval() {\n        try {\n            this._cleanupIntervalId = window.setInterval(() => this.clear(), this._cleanUpTimeInterval);\n        }\n        catch (e) {\n            console.error('Something went wrong while setting up log cleanup interval: ', e);\n        }\n    }\n    /**\n     * No more logs will be send to the subscribers.\n     */\n    stopLogInterval() {\n        window.clearInterval(this._collectIntervalId);\n    }\n    /**\n     * Stop clearing the log queue.\n     */\n    stopCleanupInterval() {\n        window.clearInterval(this._cleanupIntervalId);\n    }\n    lock() {\n        this._queueLocked = true;\n    }\n    unlock() {\n        this._queueLocked = false;\n        this._queue = this._queue.concat(fastDeepCopy(this._backedLogs));\n        this._backedLogs = [];\n    }\n    /**\n     * Push to the log queue. If queue is locked, push to backed logs queue.\n     * @param log\n     * @returns void\n     */\n    push(log) {\n        if (this._queueLocked) {\n            this._backedLogs.push(log);\n            return;\n        }\n        this._queue.push(log);\n    }\n    /**\n     * Clear the log queue. If queue is locked, clears backed up logs queue.\n     * @returns true if queue was cleared, false if queue was locked and cleared backed logs\n     */\n    clear() {\n        if (this._queueLocked) {\n            console.info('Log queue is currently locked. Queueing cleanup.');\n            this._backedLogs = []; // TODO: is this worth it?\n            return false;\n        }\n        this._queue = [];\n        return true;\n    }\n    forceFlush() {\n        this._queue = [];\n    }\n    /**\n     * @returns deep copied array of Log's\n     */\n    getLogs() {\n        return fastDeepCopy(this._queue);\n    }\n    set logLevel(level) {\n        this._logLevel = level;\n    }\n    get logLevel() {\n        return this._logLevel;\n    }\n    /**\n     * Subscribe to log collection.\n     * @param callback function to call when logs are emitted\n     * @returns function that can be called to unsubscribe from log collection\n     */\n    subscribe(callback) {\n        this.subscribers.add(callback);\n        return () => this.subscribers.delete(callback);\n    }\n    async notifySubscribers() {\n        // don't allow any more logs to be pushed to main queue while we're emitting\n        this.lock();\n        const logsToEmit = fastDeepCopy(this._queue);\n        this.forceFlush();\n        this.unlock();\n        this.subscribers.forEach(notify => notify(logsToEmit));\n    }\n}\n","import { getCurrentTime } from \"./utils\";\nexport default class Logger {\n    name;\n    loggerProvider;\n    context = { traceId: '', spanId: '' };\n    constructor(name, loggerProvider) {\n        this.name = name;\n        this.loggerProvider = loggerProvider;\n    }\n    _emit(log) {\n        this.loggerProvider.push(log);\n    }\n    emit(message, options) {\n        this._emit({\n            loggerName: this.name,\n            message,\n            timestamp: getCurrentTime(),\n            attributes: options.attributes,\n            level: options.level,\n        });\n    }\n    info(message, attributes = {}) {\n        this._emit({\n            loggerName: this.name,\n            message,\n            timestamp: getCurrentTime(),\n            attributes,\n            level: 'info',\n        });\n    }\n    debug(message, attributes = {}) {\n        this._emit({\n            loggerName: this.name,\n            message,\n            timestamp: getCurrentTime(),\n            attributes,\n            level: 'debug',\n        });\n    }\n    warn(message, attributes = {}) {\n        this._emit({\n            loggerName: this.name,\n            message,\n            timestamp: getCurrentTime(),\n            attributes,\n            level: 'warn',\n        });\n    }\n    error(message, attributes = {}) {\n        this._emit({\n            loggerName: this.name,\n            message,\n            timestamp: getCurrentTime(),\n            attributes,\n            level: 'error',\n        });\n    }\n    set logContext(context) {\n        this.context = context;\n        this.loggerProvider.context = context;\n    }\n    get logContext() {\n        return this.context;\n    }\n}\n","import LogQueue from '../logQueue';\nimport Logger from '../logger';\nexport default class LoggerProvider {\n    _logLevel;\n    _logQueue;\n    _context;\n    loggers = new Map();\n    _isLoggingEnabled = true;\n    constructor(options = {}) {\n        const { logLevel = 'debug', cleanUpTimeInterval = 60000, collectTimeInterval = 5000, context, // TODO: do we need initial value? this is going to be dynamic,\n        exporter, } = options;\n        this._logLevel = logLevel;\n        this._context = context || { traceId: '', spanId: '' };\n        this._logQueue = new LogQueue({\n            cleanUpTimeInterval,\n            collectTimeInterval,\n            exporter,\n        });\n    }\n    push(log) {\n        if (!this._isLoggingEnabled)\n            return;\n        log.context = this._context;\n        this._logQueue.push(log);\n    }\n    clear() {\n        this._logQueue.clear();\n    }\n    set logLevel(level) {\n        this._logLevel = level;\n    }\n    get logLevel() {\n        return this._logLevel;\n    }\n    getLogger(name) {\n        let logger = this.loggers.get(name);\n        if (!logger) {\n            logger = new Logger(name, this);\n            this.loggers.set(name, logger);\n        }\n        return logger;\n    }\n    set context(context) {\n        this._context = context;\n    }\n    get context() {\n        return this._context;\n    }\n    enableLogging() {\n        this._isLoggingEnabled = true;\n        this._logQueue.startLogInterval();\n        this._logQueue.startCleanupInterval();\n    }\n    disableLogging() {\n        this._isLoggingEnabled = false;\n        this._logQueue.stopLogInterval();\n        this._logQueue.stopCleanupInterval();\n    }\n    get isLoggingEnabled() {\n        return this._isLoggingEnabled;\n    }\n    get logQueue() {\n        return this._logQueue;\n    }\n    subscribe(callback) {\n        return this._logQueue.subscribe(callback);\n    }\n}\n","import {getConfigItem, configConstants, observeConfigItem} from '@servicenow/ui-config';\nimport {createInteractionId} from '@servicenow/ui-metrics';\nimport deferHelperExecution from './deferHelperExecution';\nimport {LoggerProvider} from '@devsnc/sn-ui-logger';\n\nglobalThis.nowUiFramework = globalThis.nowUiFramework || {};\nconst {LOGGING_ENABLED, LOGGING_LEVELS} = configConstants;\nconst globalLoggerProvider = getLoggerProvider();\nif (!getConfigItem(LOGGING_ENABLED)) globalLoggerProvider.disableLogging();\n\nconst loggerFunctions = globalThis.nowUiFrameworkLogs.logTypes;\nconst observer = (path, value) => {\n\tswitch (path) {\n\t\tcase LOGGING_ENABLED:\n\t\t\tif (value) globalLoggerProvider.enableLogging();\n\t\t\telse globalLoggerProvider.disableLogging();\n\t\t\tbreak;\n\t\tcase LOGGING_LEVELS:\n\t\t\tglobalLoggerProvider.logLevel = value;\n\t\t\tbreak;\n\t}\n};\n\nobserveConfigItem(LOGGING_ENABLED, observer);\nobserveConfigItem(LOGGING_LEVELS, observer);\n\nexport function getLoggerProvider() {\n\tconst globalLoggerProvider = globalThis.nowUiFramework.snUiLoggerProvider;\n\tif (globalLoggerProvider) {\n\t\treturn globalLoggerProvider;\n\t}\n\n\tconst {LOGGING_LEVELS, LOGS_OBSERVER_INTERVAL, LOGS_CLEANUP_INTERVAL, LOG_EXPORTER} =\n\t\tconfigConstants;\n\n\tglobalThis.nowUiFramework.snUiLoggerProvider = new LoggerProvider({\n\t\tcollectTimeInterval: getConfigItem(LOGS_OBSERVER_INTERVAL),\n\t\tcleanupTimeInterval: getConfigItem(LOGS_CLEANUP_INTERVAL),\n\t\tlogLevel: getConfigItem(LOGGING_LEVELS),\n\t\texporter: getConfigItem(LOG_EXPORTER)\n\t});\n\treturn globalThis.nowUiFramework.snUiLoggerProvider;\n}\n\nexport function getComponentLogger(host) {\n\tconst logger = {};\n\n\tconst globalLoggerProvider = globalThis.nowUiFramework.snUiLoggerProvider;\n\tif (!globalLoggerProvider) return logger;\n\n\treturn globalLoggerProvider.getLogger(host.tagName.toLowerCase());\n}\n\nexport function setLogContext({traceId = createInteractionId(), spanId}) {\n\tconst globalLoggerProvider = globalThis.nowUiFramework.snUiLoggerProvider;\n\tif (globalLoggerProvider) globalLoggerProvider.context = {traceId, spanId};\n}\n\nexport default function createComponentLogger(host, executionTiming) {\n\tconst logger = {};\n\tloggerFunctions.forEach(loggerFn => {\n\t\tlogger[loggerFn] = function logFn(...args) {\n\t\t\tdeferHelperExecution(\n\t\t\t\texecutionTiming,\n\t\t\t\t() => {\n\t\t\t\t\tconst loggerClass = getComponentLogger(host);\n\t\t\t\t\tif (loggerClass[loggerFn] && typeof loggerClass[loggerFn] === 'function')\n\t\t\t\t\t\tloggerClass[loggerFn](...args);\n\t\t\t\t\telse if (loggerClass?.info) loggerClass.info(...args);\n\t\t\t\t},\n\t\t\t\t{el: host}\n\t\t\t);\n\t\t};\n\t});\n\treturn logger;\n}\n","import {createInteractionId, applyInteractionId} from '@servicenow/ui-metrics';\nimport {normalizeActionMeta} from './normalizeActionMeta';\nimport {setLogContext} from './helpers/createComponentLogger';\n\nfunction applyMetricsToDispatch(dispatch) {\n\treturn (type, payload, meta = {}, error) => {\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tmeta = normalizeActionMeta(meta, {});\n\t\tapplyInteractionId(meta);\n\t\treturn dispatch(type, payload, meta, error);\n\t};\n}\n\nfunction applyMetricsToLogger(logger, traceId, spanId) {\n\tsetLogContext({traceId, spanId});\n\treturn logger;\n}\n\nexport default function applyMetrics(helpers, spanId, interactionId = createInteractionId()) {\n\tconst withMetrics = typeof helpers === 'function' ? applyMetricsToDispatch(helpers) : {};\n\n\tif (helpers.updateState)\n\t\twithMetrics.updateState = (...args) => helpers.updateState(...args, {interactionId});\n\n\tif (helpers.updateContext)\n\t\twithMetrics.updateContext = (...args) => helpers.updateContext(...args, {interactionId});\n\n\tif (helpers.updateProperties)\n\t\twithMetrics.updateProperties = (...args) => helpers.updateProperties(...args, {interactionId});\n\n\tif (helpers.dispatch) withMetrics.dispatch = applyMetricsToDispatch(helpers.dispatch);\n\n\tif (helpers.logger)\n\t\twithMetrics.logger = applyMetricsToLogger(helpers.logger, interactionId, spanId);\n\n\treturn withMetrics;\n}\n","import {memoize} from '@servicenow/ui-internal';\nimport {PROPERTY_DEFS} from '../symbols';\nimport filterPropertyDefinitions from './filterPropertyDefinitions';\nimport getHostVariables from './getHostVariables';\n\nconst filterComputedProperties = memoize(\n\thost => {\n\t\tconst hostVariables = getHostVariables(host);\n\t\treturn filterPropertyDefinitions(hostVariables[PROPERTY_DEFS], d => d.computed);\n\t},\n\t{createCacheKey: host => host.tagName, profileName: 'filterComputedProperties'}\n);\n\nexport default filterComputedProperties;\n","import {sandbox, locations} from '@servicenow/ui-internal';\nimport log from '../log';\n\nexport default function computeProperty(name, propertyDefinition, {state, host}) {\n\treturn sandbox(propertyDefinition.computed, {\n\t\targs: [state],\n\t\tdispatch: host.helpers,\n\t\thost,\n\t\tlocation: locations.PROPERTY,\n\t\tdetails: {compute: true, name},\n\t\tlog\n\t});\n}\n","export default function quickEquals(newValue, oldValue) {\n\tif (newValue === oldValue) {\n\t\treturn true;\n\t}\n\n\t// If its a primitive and doesnt match we should bail out before going further\n\tif (isPrimitiveOrNull(newValue) || isPrimitiveOrNull(oldValue)) return false;\n\n\t// Trying to rule out anything that might cause false positive for typeof === object later on\n\tif (!supportedType(newValue)) return false;\n\tif (!supportedType(oldValue)) return false;\n\n\tif (!quickEqualsType(newValue, oldValue)) return false;\n\tif (quickEqualsEmptyValue(oldValue, newValue)) return true;\n\n\tif (Array.isArray(newValue)) {\n\t\tconst {length: newValueLength} = newValue;\n\t\tconst {length: oldValueLength} = oldValue;\n\t\tif (newValueLength !== oldValueLength) return false;\n\t\tif (newValueLength > 10) return false;\n\t\tif (newValueLength < 1) return false;\n\n\t\tfor (let i = 0; i < newValueLength; i++) {\n\t\t\tif (!isPrimitiveOrNull(newValue[i]) || !isPrimitiveOrNull(oldValue[i])) {\n\t\t\t\treturn false;\n\t\t\t} else if (newValue[i] !== oldValue[i]) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t} else if (typeof newValue === 'object') {\n\t\tconst keys = Object.keys(newValue);\n\t\tconst {length: newKeyLength} = keys;\n\t\tconst {length: oldKeyLength} = Object.keys(oldValue);\n\n\t\tif (newKeyLength !== oldKeyLength) return false;\n\t\tif (newKeyLength > 6) return false;\n\t\tfor (let key in keys) {\n\t\t\tkey = keys[key];\n\t\t\tif (isPrimitive(newValue[key]) && isPrimitive(oldValue[key])) {\n\t\t\t\tif (newValue[key] !== oldValue[key]) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tcontinue;\n\t\t\t} else if (isUndefinedOrNull(newValue[key]) || isUndefinedOrNull(oldValue[key])) {\n\t\t\t\treturn false;\n\t\t\t} else if (\n\t\t\t\tObject.keys(newValue[key]).length === 2 &&\n\t\t\t\tObject.keys(oldValue[key]).length === 2\n\t\t\t) {\n\t\t\t\tconst currentKeys = Object.keys(newValue[key]);\n\t\t\t\tconst current1 = newValue[key][currentKeys[0]];\n\t\t\t\tconst current2 = newValue[key][currentKeys[1]];\n\t\t\t\tconst old1 = oldValue[key][currentKeys[0]];\n\t\t\t\tconst old2 = oldValue[key][currentKeys[1]];\n\t\t\t\tif (\n\t\t\t\t\t!isPrimitiveOrNull(current1) ||\n\t\t\t\t\t!isPrimitiveOrNull(current2) ||\n\t\t\t\t\t!isPrimitiveOrNull(old1) ||\n\t\t\t\t\t!isPrimitiveOrNull(old2)\n\t\t\t\t) {\n\t\t\t\t\treturn false;\n\t\t\t\t} else if (current1 !== old1 || current2 !== old2) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\treturn false;\n}\n\nexport function supportedType(value) {\n\tif (value instanceof Set) {\n\t\treturn false;\n\t} else if (value instanceof Map) {\n\t\treturn false;\n\t} else if (typeof value === 'function') {\n\t\treturn false;\n\t} else if (Object.getOwnPropertySymbols(value).length > 0) {\n\t\treturn false;\n\t} else if (value instanceof HTMLElement) {\n\t\treturn false;\n\t} else if (value instanceof DOMRect) {\n\t\treturn false;\n\t}\n\n\treturn true;\n}\n\nfunction isPrimitiveOrNull(value) {\n\treturn isPrimitive(value) || isUndefinedOrNull(value);\n}\n\nfunction isPrimitive(value) {\n\tconst type = typeof value;\n\tif (type === 'object' || type === 'function') return false;\n\n\tif (type === 'string') return true;\n\tif (type === 'bigint') return true;\n\tif (type === 'boolean') return true;\n\tif (type === 'number') return true;\n\n\treturn false;\n}\n\nfunction isUndefinedOrNull(value) {\n\treturn value === null || value === undefined;\n}\n\nconst quickEqualsType = (newValue, oldValue) => {\n\tif (typeof newValue !== typeof oldValue) return false;\n\telse if (Array.isArray(newValue) !== Array.isArray(oldValue)) return false;\n\treturn true;\n};\n\nconst quickEqualsEmptyValue = (newValue, oldValue) => {\n\tif (Object.keys(newValue).length == 0 && Object.keys(oldValue).length == 0) return true;\n\treturn false;\n};\n","import getHostVariables from './getHostVariables';\nimport {ANCESTOR_ROOT_NODE} from '../symbols';\nimport {ACTIVE_SPAN} from '@servicenow/ui-internal';\n\nexport function getActiveSpan(host) {\n\tif (!host) return;\n\tconst hostVariables = getHostVariables(host);\n\tif (!hostVariables[ANCESTOR_ROOT_NODE]) return;\n\treturn hostVariables[ANCESTOR_ROOT_NODE][ACTIVE_SPAN];\n}\n","// TODO: account for p2.computed relying on p1.computed; use getters???\nimport {UPDATE_AFFECTED_COMPONENTS, PROPS} from '../symbols';\nimport filterComputedProperties from './filterComputedProperties';\nimport computeProperty from './computeProperty';\nimport quickEquals from './helpers/quickEquals';\nimport {getActiveSpan} from '../utils/activeSpan';\n\nexport default function resolveComputedProperties(state, host, hostVariables, interactionId) {\n\tconst computed = filterComputedProperties(host);\n\tstate.properties = state.properties || {};\n\n\tfor (const k in computed) {\n\t\tconst previousValue = hostVariables[PROPS][k];\n\n\t\tstate.properties[k] = computeProperty(k, computed[k], {state, host});\n\t\thostVariables[PROPS][k] = state.properties[k]; // eslint-disable-line no-param-reassign\n\n\t\tif (!quickEquals(state.properties[k], previousValue)) {\n\t\t\thost[UPDATE_AFFECTED_COMPONENTS]({\n\t\t\t\tname: k,\n\t\t\t\tpropertyDetails: {\n\t\t\t\t\tpreviousValue,\n\t\t\t\t\tvalue: state.properties[k]\n\t\t\t\t},\n\t\t\t\tinteractionId,\n\t\t\t\tincludeSource: false,\n\t\t\t\tactiveSpan: getActiveSpan(host)\n\t\t\t});\n\t\t}\n\t}\n\n\treturn state;\n}\n","import filterComputedProperties from './filterComputedProperties';\nimport computeProperty from './computeProperty';\n\nexport default function computeProperties(state, host) {\n\tconst computed = filterComputedProperties(host);\n\n\tfor (const k in computed) state.properties[k] = computeProperty(k, computed[k], {state, host});\n\n\treturn state;\n}\n","import {getConfigItem, configConstants} from '@servicenow/ui-config';\nimport {INTERSECTION_TRIGGERED} from '../symbols';\nconst {INTERSECT_ROOT_MARGIN} = configConstants;\nfunction intersection(entries) {\n\tentries.forEach(entry => {\n\t\tif (entry.isIntersecting) {\n\t\t\tentry.target[INTERSECTION_TRIGGERED]();\n\t\t\tobserver.unobserve(entry.target);\n\t\t}\n\t});\n}\n\n// The distance away from the viewport when a component should render\nconst VIEWPORT_INTERSECTION_MARGIN = getConfigItem(INTERSECT_ROOT_MARGIN);\nconst options = {rootMargin: VIEWPORT_INTERSECTION_MARGIN};\n\nlet observer;\nif (!window.IntersectionObserver) observer = {observe() {}, unobserve() {}};\nelse observer = new IntersectionObserver(intersection, options);\n\nexport default observer;\n","import getHostVariables from './getHostVariables';\nimport {ROOT_NODE} from '../symbols';\n\nexport default function applyIntersectStyles(el, config, options) {\n\tconst {width, height} = options;\n\n\tif (!width && !height) return;\n\n\tconst hostVariables = getHostVariables(el);\n\tconst rootNode = hostVariables[ROOT_NODE];\n\n\tconst styles = `:host {${width ? `width: ${width};` : ''}${height ? `height: ${height};` : ''}}`;\n\n\treturn applyWithTag(rootNode, styles);\n}\n\nfunction applyWithTag(rootNode, styles) {\n\tconst styleElement = window.document.createElement('style');\n\tstyleElement.type = 'text/css';\n\tstyleElement.innerHTML = styles;\n\trootNode.appendChild(styleElement);\n\n\treturn () => rootNode.removeChild(styleElement);\n}\n","export function assign(target, source) {\n\tif (target && typeof target === 'object') Object.assign(target, source);\n}\n","export function merge(target, source) {\n\tfor (const k in source) {\n\t\tif (target[k] === undefined) target[k] = source[k]; // eslint-disable-line no-param-reassign\n\t\tif (typeof target[k] === 'object' && typeof source[k] === 'object') merge(target[k], source[k]);\n\t\telse target[k] = source[k]; // eslint-disable-line no-param-reassign\n\t}\n}\n","import {get as _get, set as _set} from '@servicenow/ui-internal';\nimport {assign as _assign} from './assign';\nimport {merge as _merge} from './merge';\n\nfunction operateAtPath(operationFn, obj, path, value) {\n\tif (!path) return operationFn(obj, value);\n\n\tconst location = _get(obj, path);\n\tif (location === undefined || typeof location !== 'object') return _set(obj, path, value);\n\n\treturn operationFn(location, value);\n}\n\n// Object\nexport const set = (obj, {path, value}) => _set(obj, path, value);\nexport const assign = (obj, {path, value}) => operateAtPath(_assign, obj, path, value);\nexport const merge = (obj, {path, value}) => operateAtPath(_merge, obj, path, value);\n\n// Array\nexport const pop = (obj, {path}) => _get(obj, path).pop();\nexport const push = (obj, {path, value}) => _get(obj, path).push(value);\nexport const shift = (obj, {path}) => _get(obj, path).shift();\nexport const unshift = (obj, {path, value}) => _get(obj, path).unshift(value);\nexport const splice = (obj, {path, start = 0, deleteCount = 0, addItems = []}) =>\n\t_get(obj, path).splice(start, deleteCount, ...addItems);\nexport const concat = (obj, {path, value}) => {\n\tconst arr = _get(obj, path);\n\treturn arr.push.apply(arr, value); // eslint-disable-line prefer-spread\n};\n\nexport const declarativeOperations = {\n\tSET: 'set',\n\tASSIGN: 'assign',\n\tMERGE: 'merge',\n\tPOP: 'pop',\n\tPUSH: 'push',\n\tSHIFT: 'shift',\n\tUNSHIFT: 'unshift',\n\tSPLICE: 'splice',\n\tCONCAT: 'concat'\n};\n\n// TODO: Map / Set / Date\n","import {getConfigItem, configConstants} from '@servicenow/ui-config';\n\nconst {PAGE_OPT_OUT_PROPERTY_DEEP_COMPARE, PAGE_OPT_OUT_STATE_DEEP_COMPARE} = configConstants;\nconst propertyOptOutPages = (getConfigItem(PAGE_OPT_OUT_PROPERTY_DEEP_COMPARE) || '').split(',');\nconst stateOptOutPages = (getConfigItem(PAGE_OPT_OUT_STATE_DEEP_COMPARE) || '').split(',');\n\nexport default function shouldOptOutOfDeepCompareForPage(type) {\n\tconst pages = type === 'property' ? propertyOptOutPages : stateOptOutPages;\n\treturn pages.find(page => window.location.href.includes(page));\n}\n","import {requestIdleCallback} from '@servicenow/ui-utils';\nimport log from '../log';\n\nconst styleSheetsContent = {};\nconst PREFIX = 'SEISMIC_STYLES';\n\nconst get = (version, tagName) => {\n\tlet contents = styleSheetsContent[tagName];\n\tif (contents) return contents;\n\n\ttry {\n\t\tconst errorText = `<title>Error</title>`;\n\t\tcontents = localStorage.getItem(`${PREFIX}_${tagName}${version}`);\n\t\tif (contents.includes(errorText)) contents = '';\n\t} catch (e) {\n\t\tlog(`The stylesheets content for the tag, ${tagName}, could not be retrieved.`);\n\t}\n\n\treturn contents;\n};\n\nconst set = (version, tagName, contents) => {\n\ttry {\n\t\tstyleSheetsContent[tagName] = contents;\n\t\trequestIdleCallback(() => {\n\t\t\tlocalStorage.setItem(`${PREFIX}_${tagName}${version}`, contents);\n\t\t});\n\t} catch (e) {\n\t\tlog(`The stylesheets content for the custom element, ${name}, could not be cached.`);\n\t}\n};\n\nexport default {set, get};\n","const styleSheetsRequestCache = new Map();\n\nexport default {\n\thas: key => styleSheetsRequestCache.has(key),\n\tget: key => styleSheetsRequestCache.get(key),\n\tset: (key, value) => styleSheetsRequestCache.set(key, value),\n\tclear: () => styleSheetsRequestCache.clear()\n};\n","import styleSheetsRequestCache from './styleSheetsRequestCache';\n\nexport default async function resolveStylesheetsContent(stylesheets) {\n\ttry {\n\t\tconst errorText = `<title>Error</title>`;\n\t\tconst responses = await Promise.all(\n\t\t\tstylesheets.map(stylesheet => {\n\t\t\t\tif (styleSheetsRequestCache.has(stylesheet)) {\n\t\t\t\t\treturn styleSheetsRequestCache.get(stylesheet);\n\t\t\t\t}\n\t\t\t\tconst request = fetch(stylesheet);\n\t\t\t\tstyleSheetsRequestCache.set(stylesheet, request);\n\t\t\t\treturn request;\n\t\t\t})\n\t\t);\n\t\tlet text = await Promise.all(\n\t\t\tresponses.map(response => (response.clone ? response.clone() : response).text())\n\t\t);\n\t\ttext = text.filter(t => !t.includes(errorText));\n\t\treturn text.join(' ');\n\t} catch (e) {\n\t\treturn '';\n\t}\n}\n","import {memoize, pendingNetworkActionCountForHost} from '@servicenow/ui-internal';\nimport {createInteractionId, mark, types as metrics} from '@servicenow/ui-metrics';\nimport {getSelectorParts, getAffected} from '../property-selectors';\nimport {PROPERTY_SELECTOR_SIGIL, COMPONENT_INTERACTIVE} from '../constants';\nimport {\n\tCHILDREN_TO_BE_INTERACTIVE,\n\tANCESTOR_ROOT_NODE,\n\tCOMPONENT_ID,\n\tPROPS,\n\tINTERACTIVE_TIMESTAMP,\n\tSELECTABLE_PROPERTIES,\n\tCONDITIONAL_DISPATCH\n} from '../symbols';\nimport getHostVariables from './getHostVariables';\nimport {countHighPriorityTasks, countMediumPriorityTasks} from '../scheduler';\n\nconst isProvider = memoize(\n\tel => {\n\t\tconst variables = getHostVariables(el);\n\t\treturn variables[SELECTABLE_PROPERTIES] && variables[SELECTABLE_PROPERTIES].length;\n\t},\n\t{createCacheKey: el => el.tagName, profileName: 'isProvider'}\n);\n\nconst areProvidersInteractive = (el, componentRegistry) => {\n\tconst variables = getHostVariables(el);\n\tconst properties = variables[PROPS];\n\n\tfor (const k in properties) {\n\t\tconst value = properties[k];\n\t\tconst [id] = getSelectorParts(value);\n\t\tif (id) {\n\t\t\tconst providerEl = componentRegistry[id];\n\t\t\tif (providerEl) {\n\t\t\t\tconst providerVariables = getHostVariables(providerEl);\n\t\t\t\tif (providerVariables && !providerVariables[INTERACTIVE_TIMESTAMP]) return false;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn true;\n};\n\nconst notifySubscribers = (el, componentRegistry) => {\n\tconst variables = getHostVariables(el);\n\tconst selectabledProperties = variables[SELECTABLE_PROPERTIES];\n\tconst selectabledPropertiesLength = (selectabledProperties && selectabledProperties.length) || 0;\n\n\tfor (let i = 0; i < selectabledPropertiesLength; i++) {\n\t\tconst propertyName = selectabledProperties[i];\n\t\tconst affectedComponents = getAffected(\n\t\t\tpropertyName,\n\t\t\tvariables[COMPONENT_ID],\n\t\t\tcomponentRegistry,\n\t\t\tfalse\n\t\t);\n\n\t\tfor (const id in affectedComponents) {\n\t\t\tconst [componentId] = id.split(PROPERTY_SELECTOR_SIGIL);\n\t\t\tconst subscriberEl = componentRegistry[componentId];\n\t\t\tif (subscriberEl) markComponentInteractive(subscriberEl, componentRegistry);\n\t\t}\n\t}\n};\n\nexport default function markComponentInteractive(el, componentRegistry) {\n\tconst variables = getHostVariables(el);\n\tif (!variables || variables[INTERACTIVE_TIMESTAMP]) return;\n\n\tif (countHighPriorityTasks(el)) return false;\n\tif (countMediumPriorityTasks(el)) return false;\n\tif (pendingNetworkActionCountForHost(el)) return false;\n\n\tconst childrenToBeInteractive = variables[CHILDREN_TO_BE_INTERACTIVE];\n\tif (!childrenToBeInteractive) return false;\n\n\tfor (const k in childrenToBeInteractive) return false;\n\n\tconst providersInteractive = areProvidersInteractive(el, componentRegistry);\n\tif (!providersInteractive) return false;\n\n\tconst interactiveTimestamp = performance.now();\n\tvariables[INTERACTIVE_TIMESTAMP] = interactiveTimestamp;\n\tmark(el, createInteractionId(), metrics.INTERACTIVE, {});\n\tvariables[CONDITIONAL_DISPATCH](\n\t\tCOMPONENT_INTERACTIVE,\n\t\t{host: el, interactiveTimestamp},\n\t\t{internal: true}\n\t);\n\n\tconst parentEl = variables[ANCESTOR_ROOT_NODE];\n\tif (parentEl) {\n\t\tconst parentVariables = getHostVariables(parentEl);\n\t\tdelete parentVariables[CHILDREN_TO_BE_INTERACTIVE][variables[COMPONENT_ID]];\n\t\tmarkComponentInteractive(parentEl, componentRegistry);\n\t}\n\n\tif (isProvider(el)) notifySubscribers(el, componentRegistry);\n}\n","import getHostVariables from './getHostVariables';\nimport {ANCESTOR_ROOT_NODE} from '../symbols';\n\nexport default function getAncestorNode(host) {\n\treturn getHostVariables(host)[ANCESTOR_ROOT_NODE];\n}\n","const updateCustomElementResolvers = {};\nconst updateCustomElementObservers = {};\n// eslint-disable-next-line prefer-destructuring\nconst HMR_ENABLED = process.env.HMR_ENABLED;\n\nexport function addUpdateCustomElementObserver(tagName, observer) {\n\tif (HMR_ENABLED) {\n\t\tconst observers = (updateCustomElementObservers[tagName] =\n\t\t\tupdateCustomElementObservers[tagName] || new Set());\n\t\tobservers.add(observer);\n\t\treturn () => observers.delete(observer);\n\t}\n}\n\nexport function setUpdateConfigResolver(tagName, resolver) {\n\tif (HMR_ENABLED) {\n\t\tupdateCustomElementResolvers[tagName] = resolver;\n\t}\n}\n\nlet unstableUpdateCustomElement;\nif (HMR_ENABLED) {\n\tunstableUpdateCustomElement = (tagName, config = {}, meta = {}) => {\n\t\tif (!updateCustomElementResolvers[tagName]) {\n\t\t\treturn {\n\t\t\t\taccept: false,\n\t\t\t\treason: `unknown tag \"${tagName}\"`\n\t\t\t};\n\t\t}\n\t\tconst {supportedConfigKeys, modifiedConfig} = updateCustomElementResolvers[tagName](\n\t\t\tconfig,\n\t\t\tmeta\n\t\t);\n\t\tconst modifiedConfigKeys = Object.keys(modifiedConfig);\n\t\tif (modifiedConfigKeys.length === 0) {\n\t\t\treturn {\n\t\t\t\taccept: true,\n\t\t\t\treason: 'nothing updated'\n\t\t\t};\n\t\t}\n\t\tconst unsupportedConfigKeys = modifiedConfigKeys.filter(\n\t\t\tkey => !supportedConfigKeys.includes(key)\n\t\t);\n\t\tif (unsupportedConfigKeys.length > 0) {\n\t\t\treturn {\n\t\t\t\taccept: false,\n\t\t\t\treason: `unsupported config: [${unsupportedConfigKeys.join(', ')}]`\n\t\t\t};\n\t\t}\n\t\tfor (const observer of updateCustomElementObservers[tagName]) {\n\t\t\tobserver(modifiedConfig);\n\t\t}\n\t\treturn {\n\t\t\taccept: true,\n\t\t\treason: `updated config: [${modifiedConfigKeys.join(', ')}]`\n\t\t};\n\t};\n}\n\nlet unstableRemoveUpdateForTag;\nif (process.env.NODE_ENV === 'test') {\n\tunstableRemoveUpdateForTag = tagName => {\n\t\tdelete updateCustomElementResolvers[tagName];\n\t\tdelete updateCustomElementObservers[tagName];\n\t};\n}\n\nexport {unstableUpdateCustomElement, unstableRemoveUpdateForTag};\n","export default function getSpanOptions(host) {\n\treturn {\n\t\tattributes: {\n\t\t\ttagName: host.tagName?.toLowerCase(),\n\t\t\tcomponentId: host.nowId\n\t\t}\n\t};\n}\n","import {guid} from '@servicenow/ui-internal';\nimport {getComponentName} from './getComponentName';\nimport {COMPONENT_ID, ROOT_NODE} from '../../symbols';\nimport {SEISMIC_HOIST_TAG_NAME, APPEND_TO_META_PROP_NAME} from '../../constants';\n\nexport function createMetaData(host, actionMeta, hostVariables) {\n\tconst componentName = getComponentName(host) || actionMeta.componentName;\n\tconst id = hostVariables[COMPONENT_ID];\n\tconst appendToMeta = actionMeta.retargeted ? actionMeta.appended : host[APPEND_TO_META_PROP_NAME];\n\n\treturn {\n\t\t...actionMeta,\n\t\t...(appendToMeta !== undefined ? {appended: appendToMeta} : {}),\n\t\thoistHost:\n\t\t\thostVariables[ROOT_NODE].host.tagName === SEISMIC_HOIST_TAG_NAME\n\t\t\t\t? hostVariables[ROOT_NODE].host\n\t\t\t\t: undefined,\n\t\tcomponentName,\n\t\tid,\n\t\tactionId: guid()\n\t};\n}\n","import {getHostVariables} from '../../utils';\nimport {COMPONENT_NAME_PROP, COMPONENT_NAME_ATTR} from '../../constants';\nimport {PROPS} from '../../symbols';\n\nexport function getComponentName(el) {\n\tconst hostVariables = getHostVariables(el);\n\treturn hostVariables[PROPS] && hostVariables[PROPS].hasOwnProperty(COMPONENT_NAME_PROP)\n\t\t? hostVariables[PROPS][COMPONENT_NAME_PROP]\n\t\t: el[COMPONENT_NAME_PROP] || el.getAttribute(COMPONENT_NAME_ATTR);\n}\n","import {\n\tSTORE_UPDATED,\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_RENDERED,\n\tCOMPONENT_DOM_READY,\n\tSET_INITIAL_STATE,\n\tNOW_UI_EVENT,\n\tPROPERTIES_SET,\n\tDISPATCH_EVENT,\n\tCOMPONENT_PROPERTY_UPDATE_REQUESTED,\n\tCOMPONENT_RENDER_REQUESTED\n} from '../../constants';\n\nconst internalActionTypes = [\n\tPROPERTIES_SET,\n\tDISPATCH_EVENT,\n\tSTORE_UPDATED,\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_RENDERED,\n\tCOMPONENT_DOM_READY,\n\tSET_INITIAL_STATE,\n\tNOW_UI_EVENT,\n\t'SEISMIC_COMPONENT_ERROR_THROWN',\n\tCOMPONENT_PROPERTY_UPDATE_REQUESTED,\n\tCOMPONENT_RENDER_REQUESTED\n];\n\n// TODO: memoize\nexport function isInternalActionType(type, internal = false) {\n\treturn internalActionTypes.includes(type) && !internal;\n}\n","// TODO: move to const internalActionTypes.NAME\nimport {\n\tSTORE_UPDATED,\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_RENDERED,\n\tCOMPONENT_DOM_READY,\n\tSET_INITIAL_STATE,\n\tNOW_UI_EVENT,\n\tPROPERTIES_SET,\n\tDISPATCH_EVENT,\n\tCOMPONENT_PROPERTY_UPDATE_REQUESTED,\n\tCOMPONENT_RENDER_REQUESTED\n} from '../../constants';\n\nconst internalActionTypes = {\n\tPROPERTIES_SET,\n\tDISPATCH_EVENT,\n\tSTORE_UPDATED,\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_RENDERED,\n\tCOMPONENT_DOM_READY,\n\tSET_INITIAL_STATE,\n\tNOW_UI_EVENT,\n\tCOMPONENT_ERROR_THROWN: 'SEISMIC_COMPONENT_ERROR_THROWN',\n\tCOMPONENT_PROPERTY_UPDATE_REQUESTED,\n\tCOMPONENT_RENDER_REQUESTED\n};\n\n// TODO: memoize\nexport function getInternalActionName(type) {\n\tfor (const k in internalActionTypes) {\n\t\tif (internalActionTypes[k] === type) return k;\n\t}\n}\n","import * as uiAnalyticsConsumer from '@servicenow/ui-analytics-consumer';\nimport {getInteractionId, setInteractionId} from '@servicenow/ui-metrics';\nimport {\n\tCOMPONENT_DISCONNECTED,\n\tSCHEDULE_IMMEDIATELY_DO_NOT_USE_OR_YOU_WILL_BE_IMMEDIATELY_FIRED\n} from '../../constants';\nimport {HELPERS_SCHEDULED, HELPERS_IMMEDIATE, INTERNAL_HOST_DISPATCH} from '../../symbols';\nimport {normalizeActionMeta, getHostVariables} from '../../utils';\nimport {getActiveSpan} from '../../utils/activeSpan';\nconst {isValidTraceId} = uiAnalyticsConsumer;\n// this is done so that we don't break anyone dispatching from a disconnect\n// function or action handler; people are relying on this to unsubscribe from\n// AMB and other types of clean up. the AMB effect should be changed into a\n// behavior that has a COMPONENT_DISCONNECTED handler, so that people don't\n// have to manually clean up or rely on this broken functionality.\nexport function wrapDispatch(host, action) {\n\tconst hostVariables = getHostVariables(host);\n\tconst interactionId = getInteractionId(action.meta);\n\tconst span = action.meta.actionSpan || action.meta.span || getActiveSpan(host);\n\tconst helpers = action.meta[SCHEDULE_IMMEDIATELY_DO_NOT_USE_OR_YOU_WILL_BE_IMMEDIATELY_FIRED]\n\t\t? hostVariables[HELPERS_IMMEDIATE]\n\t\t: hostVariables[HELPERS_SCHEDULED];\n\tconst {\n\t\tupdateState: originalUpdateState,\n\t\tupdateProperties: originalUpdateProperties,\n\t\tupdateContext: originalUpdateContext,\n\t\tdispatch: originalDispatch,\n\t\tlogger\n\t} = helpers;\n\tconst updateState = (...args) => originalUpdateState(...args, {interactionId, span});\n\tconst updateProperties = (...args) => originalUpdateProperties(...args, {interactionId, span});\n\tconst updateContext = (...args) => originalUpdateContext(...args, {interactionId, span});\n\tlet dispatch;\n\n\tif (\n\t\taction.type !== COMPONENT_DISCONNECTED &&\n\t\t!action.meta[SCHEDULE_IMMEDIATELY_DO_NOT_USE_OR_YOU_WILL_BE_IMMEDIATELY_FIRED]\n\t) {\n\t\tdispatch = (type, payload, meta = {}, error) => {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tmeta = normalizeActionMeta(meta, {host});\n\t\t\tmeta[INTERNAL_HOST_DISPATCH] = true; // eslint-disable-line no-param-reassign\n\t\t\tif (!meta.span && span && isValidTraceId(span.traceId)) {\n\t\t\t\tmeta.span = span;\n\t\t\t}\n\t\t\tmeta.parentActionId = action.meta.actionId;\n\t\t\tsetInteractionId(meta, interactionId);\n\t\t\treturn originalDispatch(type, payload, meta, error);\n\t\t};\n\t} else {\n\t\tdispatch = (type, payload, meta = {}, error) => {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tmeta = normalizeActionMeta(meta, {host});\n\t\t\tmeta[INTERNAL_HOST_DISPATCH] = true;\n\t\t\tsetInteractionId(meta, interactionId);\n\t\t\tif (!meta.span && span && isValidTraceId(span.traceId)) {\n\t\t\t\tmeta.span = span;\n\t\t\t}\n\t\t\tmeta.parentActionId = action.meta.actionId;\n\t\t\tmeta[SCHEDULE_IMMEDIATELY_DO_NOT_USE_OR_YOU_WILL_BE_IMMEDIATELY_FIRED] = true; // eslint-disable-line no-param-reassign\n\t\t\treturn originalDispatch(type, payload, meta, error);\n\t\t};\n\t}\n\n\tdispatch.updateState = updateState;\n\tdispatch.updateProperties = updateProperties;\n\tdispatch.updateContext = updateContext;\n\tdispatch.logger = logger;\n\n\treturn {\n\t\tupdateState,\n\t\tupdateProperties,\n\t\tupdateContext,\n\t\tdispatch,\n\t\tlogger\n\t};\n}\n","import {SEISMIC_HOIST_TAG_NAME} from '../../constants';\n\nexport function wasActionDispatchedByDescendant(composedPath, host) {\n\t/*\n\t\taction was dispatched from within hook or event handlers in view\n\n\t\tview(state, {dispatch}) {\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<p on-click={() => dispatch('SN-BUTTON#BUTTON_CLICKED', {})}>I am a paragraph. Click me.</p>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t */\n\tif (!composedPath.length) return true;\n\n\tlet slotted = false;\n\tfor (let i = 0; i < composedPath.length; i++) {\n\t\tconst el = composedPath[i];\n\t\tif (el.tagName === 'SLOT') slotted = true;\n\n\t\tif (el.host) {\n\t\t\t/*\n\t\t\t\tif the first shadowRoot encountered belongs to the host and a slot is not in the path\n\t\t\t\te.g., button dispatches and component that owns view should handle\n\n\t\t\t\tview() {\n\t\t\t\t\treturn <p><sn-button></sn-button></p>;\n\t\t\t\t}\n\t\t\t */\n\t\t\tif (el.host === host || el.host.tagName === SEISMIC_HOIST_TAG_NAME)\n\t\t\t\treturn slotted ? false : true;\n\n\t\t\t/*\n\t\t\t\tif content is slotted and first shadowRoot encountered does not belong to the host\n\t\t\t\te.g., button dispatches and component that owns view should handle\n\n\t\t\t\tview() {\n\t\t\t\t\treturn <slotted-child><sn-button></sn-button></slotted-child>;\n\t\t\t\t},\n\t\t\t */\n\t\t\treturn slotted ? true : false;\n\t\t}\n\t}\n}\n","import {createEventActionDetails} from './utils';\nimport {CONFIG, HOIST_COMPOSED_PATH} from '../symbols';\nimport {SEISMIC_HOIST_TAG_NAME, PROPAGATION_STOPPED, DEFAULT_PREVENTED} from '../constants';\nimport {getHostVariables, emitNowUiEvent} from '../utils';\n\nconst allowedPropertyUpdates = ['payload', 'error', 'meta'];\n\nfunction getPath(meta, host) {\n\tif (meta.event.path) return meta.event.path;\n\n\tconst path = [];\n\tlet el = host;\n\tlet parentNode = el.parentNode || el.host;\n\twhile (parentNode) {\n\t\tpath.push(el);\n\t\tel = parentNode;\n\t\tparentNode = el.parentNode || el.host;\n\t}\n\n\treturn [...path, document, window];\n}\n\nfunction getComposedPath(meta, host) {\n\tconst hoistComposedPath = meta[HOIST_COMPOSED_PATH];\n\n\tif (!hoistComposedPath) return meta.event.composedPath();\n\n\tconst composedPath = [];\n\tfor (let i = 0; i < hoistComposedPath.length; i++) {\n\t\tconst el = hoistComposedPath[i];\n\t\tif (el.tagName === SEISMIC_HOIST_TAG_NAME) break;\n\n\t\tcomposedPath.push(el);\n\t}\n\n\treturn [...composedPath, ...getPath(meta, host)];\n}\n\nexport function addActionHandler(\n\ttargetEl,\n\ttargetSelector,\n\thost,\n\ttype,\n\tcapture,\n\teventHandler,\n\thandler\n) {\n\tconst hostVariables = getHostVariables(host);\n\tconst listener = event => {\n\t\tconst config = hostVariables[CONFIG];\n\t\tconst detail = createEventActionDetails(type, host, event, capture, eventHandler);\n\t\tconst emitPropagationStopped = () => {\n\t\t\temitNowUiEvent(PROPAGATION_STOPPED, {host, action: detail});\n\t\t};\n\t\thandler(\n\t\t\ttargetEl,\n\t\t\ttargetSelector,\n\t\t\thost,\n\t\t\ttype,\n\t\t\tnew Proxy(\n\t\t\t\t{\n\t\t\t\t\t...detail,\n\t\t\t\t\tstopPropagation() {\n\t\t\t\t\t\temitPropagationStopped();\n\t\t\t\t\t\treturn event.stopPropagation();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tget(action, key) {\n\t\t\t\t\t\tconst {payload, meta} = action;\n\t\t\t\t\t\tif (key === 'defaultPrevented') {\n\t\t\t\t\t\t\treturn payload && payload.event\n\t\t\t\t\t\t\t\t? payload.event.defaultPrevented\n\t\t\t\t\t\t\t\t: event.defaultPrevented;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (key === 'preventDefault') {\n\t\t\t\t\t\t\treturn function preventDefault() {\n\t\t\t\t\t\t\t\temitNowUiEvent(DEFAULT_PREVENTED, {host, action});\n\t\t\t\t\t\t\t\treturn payload && payload.event\n\t\t\t\t\t\t\t\t\t? payload.event.preventDefault()\n\t\t\t\t\t\t\t\t\t: event.preventDefault();\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (key === 'composedPath') return () => getComposedPath(meta, host);\n\n\t\t\t\t\t\treturn action[key];\n\t\t\t\t\t},\n\t\t\t\t\tset(action, key, value) {\n\t\t\t\t\t\tif (allowedPropertyUpdates.includes(key)) {\n\t\t\t\t\t\t\taction[key] = value; // eslint-disable-line no-param-reassign\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t)\n\t\t);\n\n\t\tif (config && config.shouldStopPropagation[type]) {\n\t\t\temitPropagationStopped();\n\t\t\tevent.stopPropagation();\n\t\t}\n\t};\n\n\ttargetEl.addEventListener(type, listener, capture);\n\treturn function removeActionHandler() {\n\t\ttargetEl.removeEventListener(type, listener, capture);\n\t};\n}\n","import {locations} from '@servicenow/ui-internal';\nimport {getHostVariables} from '../../utils';\nimport {createMetaData} from './createMetaData';\nimport {appendToPayload} from './appendToPayload';\nimport {COMPONENT_ID} from '../../symbols';\n\nexport function createEventActionDetails(actionType, host, event, capture, eventHandler) {\n\tconst {detail = {}} = event;\n\tconst {\n\t\ttype = actionType,\n\t\tpayload = eventHandler ? appendToPayload(host, {event, host}) : undefined,\n\t\terror = null,\n\t\tmeta = createMetaData(\n\t\t\thost,\n\t\t\t{\n\t\t\t\teventHandler,\n\t\t\t\tcapture,\n\t\t\t\teffectType: locations.EVENT,\n\t\t\t\tevent,\n\t\t\t\thost,\n\t\t\t\tget path() {\n\t\t\t\t\treturn event\n\t\t\t\t\t\t.composedPath()\n\t\t\t\t\t\t.map(el => {\n\t\t\t\t\t\t\tconst hostVariables = getHostVariables(el);\n\t\t\t\t\t\t\treturn hostVariables && hostVariables[COMPONENT_ID];\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.filter(componentId => componentId);\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetHostVariables(host)\n\t\t)\n\t} = detail;\n\n\treturn {type, payload, error, meta};\n}\n","const consumerCache = {};\n\nexport const addConsumer = (key, host) => {\n\tif (!consumerCache[key]) {\n\t\tconsumerCache[key] = new Set();\n\t\treturn consumerCache[key].add(host);\n\t} else if (consumerCache[key].has(host)) {\n\t\treturn;\n\t}\n\n\tconsumerCache[key].add(host);\n};\n\nexport const removeConsumer = host => {\n\tReflect.ownKeys(consumerCache).forEach(k => {\n\t\tif (consumerCache[k].has(host)) {\n\t\t\tconsumerCache[k].delete(host);\n\t\t}\n\t});\n};\n\nexport const getConsumers = key => {\n\treturn (consumerCache[key] && consumerCache[key].values()) || new Set().values();\n};\n\nexport const removeConsumersForContextKey = key => {\n\tif (consumerCache[key]) consumerCache[key].clear();\n};\n\nexport const removeAllConsumers = () => {\n\tReflect.ownKeys(consumerCache).forEach(k => {\n\t\tdelete consumerCache[k];\n\t});\n};\n","import {CONTEXT_RESOLVED_VALUE} from '../symbols';\nimport log from '../log';\n\nconst contexts = new Map();\nconst getContext = contextKey => {\n\tif (contexts.has(contextKey)) {\n\t\tconst context = contexts.get(contextKey) || {};\n\t\tconst resolvedValue = context[CONTEXT_RESOLVED_VALUE];\n\t\tif (resolvedValue !== undefined) {\n\t\t\treturn resolvedValue;\n\t\t} else if (context.default !== undefined) {\n\t\t\treturn context.default;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nconst setContext = (contextKey, value) => {\n\tif (contexts.has(contextKey)) {\n\t\tcontexts.get(contextKey)[CONTEXT_RESOLVED_VALUE] = value;\n\t} else {\n\t\tif (process.env.NODE_ENV !== 'production') {\n\t\t\tlog(\n\t\t\t\t`The context \"${contextKey?.toString()}\" could not be accessed. Context must be defined using the \"createContext\" function. \"createContext\" can imported from @servicenow/ui-core.`,\n\t\t\t\t{\n\t\t\t\t\torigin: 'context'\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n};\n\nexport default contexts;\nexport {getContext, setContext};\n","import ajv from '../ajv';\n\nconst noop = () => true;\n\n/**\n * Build the validator for a context\n * @private\n * @param {*} propertyDefinitions The definitions of properties passed into createCustomElement's config.properties\n * @returns {Function(properties, host)} The function to validate the component's properties\n */\nfunction buildContextValidator(schema) {\n\tif (!schema) return noop;\n\n\tif (process.env.NODE_ENV !== 'production') {\n\t\tlet validate;\n\t\ttry {\n\t\t\tvalidate = ajv.compile(schema);\n\t\t} catch (e) {\n\t\t\tconsole.error(e); // eslint-disable-line no-console\n\t\t\treturn () => false;\n\t\t}\n\n\t\treturn validate;\n\t}\n\n\treturn noop;\n}\n\nexport default buildContextValidator;\n","import contexts from './contexts';\nimport buildContextValidator from '../utils/schema/build/buildContextValidator';\nimport {guid} from '@servicenow/ui-internal';\n\nexport const prefix = guid();\n\nexport default function createContext(name, definition = {}) {\n\tconst key = Symbol(`${prefix}_${name}`);\n\tcontexts.set(key, {...definition, validate: buildContextValidator(definition.schema)});\n\treturn key;\n}\n","import {memoize} from '@servicenow/ui-internal';\nimport log from '../log';\nimport {addConsumer} from './consumers';\nimport {prefix} from './createContext';\nimport {getContext} from './contexts';\n\nconst shouldNotResolveContext = memoize(key => !key.toString().includes(prefix), {\n\tprofileName: 'shouldNotResolveContext'\n});\n\nexport default function createContextProxy(host) {\n\treturn new Proxy(\n\t\t{},\n\t\t{\n\t\t\tget(target, prop) {\n\t\t\t\tif (shouldNotResolveContext(prop)) {\n\t\t\t\t\tif (process.env.NODE_ENV !== 'production') {\n\t\t\t\t\t\tlog(\n\t\t\t\t\t\t\t`The context ${prop.toString()} could not be accessed. Context must be defined using the \"createContext\" function. \"createContext\" can imported from @servicenow/ui-core.`,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\thost: this,\n\t\t\t\t\t\t\t\torigin: 'createContextProxy'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn target[prop];\n\t\t\t\t}\n\n\t\t\t\taddConsumer(prop, host);\n\t\t\t\treturn getContext(prop);\n\t\t\t},\n\t\t\tset(target, prop) {\n\t\t\t\tif (process.env.NODE_ENV !== 'production') {\n\t\t\t\t\tlog(`Cannot set context value ${prop.toString()}. updateContext must be used.`, {\n\t\t\t\t\t\thost: this,\n\t\t\t\t\t\torigin: 'createContextProxy'\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t);\n}\n","// WeakMap: host -> WeakMap: effectFn -> {actionType: value}\nexport default new WeakMap();\n","import {allLogTypes as logTypes, defer} from '@servicenow/ui-internal';\nimport hostMap from './hostMap';\nimport log from '../../log';\nimport {timingMetricTypes, logTimingMetrics} from '@servicenow/ui-metrics';\n\nfunction createDebounce(fn, {delay = 0, maxWait, collate = false}, host, ctx, runEffectFn) {\n\tlet debounceVariables = getDebounceVariables();\n\tconst validMaxWait = Number.isInteger(maxWait);\n\tconst shouldCollate = collate === true;\n\tconst tDelay = !Number.isInteger(delay) ? 0 : delay;\n\tconst tMaxWait = validMaxWait ? maxWait : 0;\n\n\tconst componentName = host?.tagName;\n\tlogTimingMetrics(timingMetricTypes.DEBOUNCE, tDelay, componentName);\n\n\tif (validMaxWait && tMaxWait < tDelay) {\n\t\tlog(\n\t\t\t'For the debounce modifier configurations, the property maxWait should be greater than the property delay.',\n\t\t\t{level: logTypes.WARN, host, origin: 'debounce'}\n\t\t);\n\t}\n\n\tconst finishDebounce = fn => {\n\t\tinvokeFn(shouldCollate, debounceVariables, runEffectFn, fn, ctx);\n\t\tdebounceVariables = getDebounceVariables();\n\t};\n\n\tconst collateData = coeffects => {\n\t\tconst {\n\t\t\taction: {payload = {}}\n\t\t} = coeffects;\n\t\tdebounceVariables.collated.push({action: {payload}});\n\t};\n\n\treturn function debouncedEffect(...args) {\n\t\tclearTimeout(debounceVariables.delayId);\n\t\tdebounceVariables.lastArgs = args;\n\t\tdebounceVariables.saveEventProps();\n\t\tif (shouldCollate) collateData(args[args.length - 1]);\n\t\tdebounceVariables.delayId = defer(() => finishDebounce(fn), tDelay);\n\t\tif (validMaxWait && tMaxWait && !debounceVariables.maxWaitId)\n\t\t\tdebounceVariables.maxWaitId = defer(() => finishDebounce(fn), tMaxWait);\n\t};\n}\n\nconst invokeFn = (accumulate, debounceVariables, runEffectFn, fn, ctx) => {\n\tdebounceVariables.retrieveEventProps();\n\tconst {collated, lastArgs} = debounceVariables;\n\tclearTimers(debounceVariables);\n\tif (accumulate) {\n\t\tconst coeffects = lastArgs[lastArgs.length - 1];\n\t\tcoeffects.collated = collated;\n\t}\n\trunEffectFn(fn, lastArgs, ctx);\n};\n\nconst clearTimers = ({delayId, maxWaitId}) => {\n\tclearTimeout(delayId);\n\tclearTimeout(maxWaitId);\n};\n\nconst getDebounceVariables = () => ({\n\tdelayId: null,\n\tmaxWaitId: null,\n\tlastArgs: null,\n\tcollated: [],\n\tevent: {\n\t\teventPath: [],\n\t\tcurrentTarget: null\n\t},\n\tsaveEventProps() {\n\t\tif (!this.lastArgs || this.lastArgs.length === 0) return;\n\t\tconst coeffects = this.lastArgs[this.lastArgs.length - 1];\n\t\tconst event = coeffects.action?.payload.event;\n\t\tthis.event.eventPath = event?.composedPath();\n\t\tthis.event.currentTarget = event?.currentTarget;\n\t},\n\tretrieveEventProps() {\n\t\tif (!this.lastArgs || this.lastArgs.length === 0) return;\n\t\tconst coeffects = this.lastArgs[this.lastArgs.length - 1];\n\t\tconst event = coeffects.action?.payload.event;\n\t\tif (typeof event === 'undefined') return;\n\t\tevent.composedPath = () => this.event.eventPath;\n\t\tObject.defineProperty(event, 'currentTarget', {\n\t\t\tvalue: this.event.currentTarget,\n\t\t\twritable: false\n\t\t});\n\t}\n});\n\n/**\n * Debounce modifier for effect functions\n *\n * @param host\n * @param actionType\n * @param effectFn\n * @param modifier\n */\nexport default function debounce(host, actionType, effectFn, modifier, ctx, runEffectFn) {\n\tif (!hostMap.has(host)) hostMap.set(host, new WeakMap());\n\n\tconst effectMap = hostMap.get(host);\n\n\tif (!effectMap.has(effectFn)) effectMap.set(effectFn, {});\n\n\tconst actionMappings = effectMap.get(effectFn);\n\tif (!actionMappings[actionType])\n\t\tactionMappings[actionType] = createDebounce(effectFn, modifier, host, ctx, runEffectFn);\n\n\treturn actionMappings[actionType];\n}\n","import hostMap from './hostMap';\nimport {defer} from '@servicenow/ui-internal';\n\nfunction createThrottle(fn, {limit = 0}, ctx, runEffectFn) {\n\tlet free = true;\n\treturn function throttledEffect(...args) {\n\t\tif (!free) return;\n\n\t\tfree = false;\n\t\trunEffectFn(fn, args, ctx);\n\t\tdefer(() => {\n\t\t\tfree = true;\n\t\t}, limit);\n\t};\n}\n\n/**\n * Throttle modifier for effect functions\n *\n * @param host\n * @param actionType\n * @param effectFn\n * @param modifier\n */\nexport default function throttle(host, actionType, effectFn, modifier, ctx, runEffectFn) {\n\tif (!hostMap.has(host)) hostMap.set(host, new WeakMap());\n\n\tconst effectMap = hostMap.get(host);\n\n\tif (!effectMap.has(effectFn)) effectMap.set(effectFn, {});\n\n\tconst actionMappings = effectMap.get(effectFn);\n\tif (!actionMappings[actionType])\n\t\tactionMappings[actionType] = createThrottle(effectFn, modifier, ctx, runEffectFn);\n\n\treturn actionMappings[actionType];\n}\n","export const DEBOUNCE = 'debounce';\nexport const TAKE_LATEST = 'takeLatest';\nexport const THROTTLE = 'throttle';\n","import {mark, types as metrics} from '@servicenow/ui-metrics';\n\n/**\n * Runs effect function (includes async and generator functions)\n *\n * @param fn\n * @param args\n * @returns {Promise}\n */\nexport default function runEffect(fn, args, {host, interactionId, type}) {\n\tmark(host, interactionId, metrics.EFFECT_START, {type});\n\tconst generator = fn(...args);\n\n\tif (!generator || !generator.next) {\n\t\tmark(host, interactionId, metrics.EFFECT_END, {type});\n\t\treturn Promise.resolve(generator);\n\t}\n\n\tfunction runner(verb, arg) {\n\t\tif (fn.cancelled) {\n\t\t\tmark(host, interactionId, metrics.EFFECT_END, {type});\n\t\t\treturn Promise.resolve(generator.return());\n\t\t}\n\n\t\tlet result;\n\t\ttry {\n\t\t\tresult = generator[verb](arg);\n\t\t} catch (err) {\n\t\t\tmark(host, interactionId, metrics.EFFECT_END, {type});\n\t\t\treturn Promise.reject(err);\n\t\t}\n\n\t\tif (result.done) {\n\t\t\tmark(host, interactionId, metrics.EFFECT_END, {type});\n\t\t\treturn Promise.resolve(result.value);\n\t\t}\n\n\t\tmark(host, interactionId, metrics.EFFECT_END, {type});\n\t\treturn Promise.resolve(result.value).then(onResolved, onRejected);\n\t}\n\n\tconst onResolved = runner.bind(runner, 'next');\n\tconst onRejected = runner.bind(runner, 'throw');\n\treturn onResolved();\n}\n","import {\n\tdebounce,\n\ttakeLatest,\n\tthrottle,\n\tgetTargetElement,\n\thostMap,\n\tmodifierTypes\n} from './modifiers';\nimport runEffect from './runEffect';\n\nexport default function effectRunner(effect, ctx, ...args) {\n\tconst {effect: effectFn, modifier = {}} = effect;\n\tconst coeffects = args[args.length - 1];\n\tif (!coeffects) return runEffect(effectFn, args, ctx);\n\n\tconst targetElement = getTargetElement(coeffects);\n\tswitch (modifier.name) {\n\t\tcase modifierTypes.DEBOUNCE:\n\t\t\treturn debounce(\n\t\t\t\ttargetElement,\n\t\t\t\tcoeffects.action.type,\n\t\t\t\teffectFn,\n\t\t\t\tmodifier,\n\t\t\t\tctx,\n\t\t\t\trunEffect\n\t\t\t)(...args);\n\t\tcase modifierTypes.TAKE_LATEST:\n\t\t\treturn runEffect(takeLatest(targetElement, coeffects.action.type, effectFn), args, ctx).then(\n\t\t\t\t() => {\n\t\t\t\t\tdelete hostMap.get(targetElement).get(effectFn)[coeffects.action.type];\n\t\t\t\t}\n\t\t\t);\n\t\tcase modifierTypes.THROTTLE:\n\t\t\treturn throttle(\n\t\t\t\ttargetElement,\n\t\t\t\tcoeffects.action.type,\n\t\t\t\teffectFn,\n\t\t\t\tmodifier,\n\t\t\t\tctx,\n\t\t\t\trunEffect\n\t\t\t)(...args);\n\t\tdefault:\n\t\t\treturn runEffect(effectFn, args, ctx);\n\t}\n}\n","/**\n * Parse target element from coeffects\n *\n * @param coeffects\n */\nexport default function getTargetElement(coeffects) {\n\tif (\n\t\tcoeffects &&\n\t\tcoeffects.action &&\n\t\tcoeffects.action.payload &&\n\t\tcoeffects.action.payload.event &&\n\t\tcoeffects.action.payload.event.target\n\t)\n\t\treturn coeffects.action.payload.event.target;\n\n\treturn coeffects.host;\n}\n","import hostMap from './hostMap';\n\nfunction createCancelable(fn) {\n\treturn function cancelableEffect(...args) {\n\t\treturn fn(...args);\n\t};\n}\n\n/**\n * Take the latest effect and cancel any previously started effect fns\n *\n * Currently only supports generator fns\n *\n * @param host\n * @param actionType\n * @param effectFn\n * @returns {R|*}\n */\nexport default function takeLatest(host, actionType, effectFn) {\n\tif (!hostMap.has(host)) hostMap.set(host, new WeakMap());\n\n\tconst effectMap = hostMap.get(host);\n\n\tif (!effectMap.has(effectFn)) effectMap.set(effectFn, {});\n\n\tconst actionMappings = effectMap.get(effectFn);\n\tif (actionMappings[actionType]) actionMappings[actionType].cancelled = true;\n\n\tactionMappings[actionType] = createCancelable(effectFn);\n\n\treturn actionMappings[actionType];\n}\n","import {getInteractionId} from '@servicenow/ui-metrics';\nimport {dispatchError, locations} from '@servicenow/ui-internal';\nimport log from '../log';\nimport {effectRunner} from '../effects';\n\nfunction sandboxEffect(effect, dispatch, action, host) {\n\tconst {\n\t\ttype: actionType,\n\t\tmeta: {effectType = ''},\n\t\tpayload = {}\n\t} = action;\n\tlet location = '';\n\tlet details = {};\n\n\tif (effectType === locations.EVENT) {\n\t\tconst {event} = payload;\n\t\tconst {type} = event;\n\t\tlocation = locations.EVENT;\n\t\tdetails = {type, event};\n\t} else {\n\t\tlocation = locations.EFFECT;\n\t\tdetails = {actionType};\n\t}\n\n\treturn function sandboxedEffect(...args) {\n\t\ttry {\n\t\t\t// there can be multiple handlers for a given action type defined\n\t\t\t// by multiple behaviors; we only want to apply the options specific\n\t\t\t// to the effects for a single behavior, type, and effect combination\n\t\t\tconst {options} = effect;\n\t\t\tif (options) {\n\t\t\t\tconst {payload, meta} = args[args.length - 1].action;\n\n\t\t\t\tif (meta.options === null || meta.options === undefined) meta.options = options;\n\n\t\t\t\tif (payload === null || payload === undefined) {\n\t\t\t\t\targs[args.length - 1].action.payload = {options}; // eslint-disable-line no-param-reassign\n\t\t\t\t} else if (typeof payload === 'object') {\n\t\t\t\t\t// TODO: payload.options could have be applied from a previous behavior\n\t\t\t\t\t// or it could be part of the payload dispatched; not sure what to log\n\t\t\t\t\t// or how to properly handle this scenario. if options were part of the metadata\n\t\t\t\t\t// instead it would solved the problem.\n\t\t\t\t\t// if (typeof payload.options === 'object')\n\t\t\t\t\tpayload.options = options;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst transactionCtx = {\n\t\t\t\tinteractionId: getInteractionId(action.meta),\n\t\t\t\thost,\n\t\t\t\ttype: action.type\n\t\t\t};\n\t\t\teffectRunner(effect, transactionCtx, ...args);\n\t\t} catch (error) {\n\t\t\tdispatchError(error, {\n\t\t\t\tdispatch,\n\t\t\t\thost,\n\t\t\t\tlocation,\n\t\t\t\tdetails,\n\t\t\t\tmetadata: {internal: true, span: action.meta ? action.meta.span : null},\n\t\t\t\tlog\n\t\t\t});\n\t\t}\n\t};\n}\n\nexport {sandboxEffect};\n","import {getHostVariables} from '../utils';\nimport {HELPERS_IMMEDIATE, HOIST_COMPOSED_PATH, INTERNAL_HOST_DISPATCH} from '../symbols';\n\nexport function onActionHoisted(targetEl, targetSelector, host, actionType, action = {}) {\n\tconst {type, payload, meta, error} = action;\n\tconst hostVariables = getHostVariables(host);\n\n\t// stop this event from propagating, since we'll turn around and redispatch\n\t// from the original host\n\tif (meta.event) meta.event.stopPropagation();\n\n\thostVariables[HELPERS_IMMEDIATE].dispatch(\n\t\ttype,\n\t\tpayload,\n\t\t{\n\t\t\t...meta,\n\t\t\tretargeted: true,\n\t\t\t[HOIST_COMPOSED_PATH]: meta.event.composedPath(),\n\t\t\t[INTERNAL_HOST_DISPATCH]: true\n\t\t},\n\t\terror\n\t);\n}\n","import * as uiAnalyticsConsumer from '@servicenow/ui-analytics-consumer';\nimport {applyInteractionId, getInteractionId} from '@servicenow/ui-metrics';\nimport {beforeNextTick, emitNowUiEvent, getSpanOptions} from '../utils';\nimport {createContext} from './createContext';\nimport {\n\tCOMPONENT_ID,\n\tCONFIG,\n\tDISPATCH,\n\tRETARGETED_ACTION_TYPES,\n\tBOOTSTRAPPED_HANDLED,\n\tCONNECTED_HANDLED\n} from '../symbols';\nimport {sandboxEffect} from './sandboxEffect';\nimport {\n\tACTION_HANDLED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_DISCONNECTED,\n\tSEISMIC_HOIST_TAG_NAME,\n\tCOMPONENT_PROPERTY_UPDATE_REQUESTED,\n\tCOMPONENT_RENDER_REQUESTED,\n\tCOMPONENT_TREE_RENDERED,\n\tCOMPONENT_RENDERED,\n\tCOMPONENT_DOM_READY,\n\tCOMPONENT_DOM_TREE_READY,\n\tSPAN_KIND_CLIENT,\n\tSPAN_ATTR_DISPATCH_ACTION_TYPE,\n\tSPAN_ATTR_COMPONENT_EVENT_DEFAULT_PREVENTED,\n\tSPAN_ATTR_COMPONENT_EVENT_PROPAGATION_STOPPED,\n\tSPAN_LIFECYCLE_EVENTS,\n\tSPAN_FOR_ACTION_HANDLED\n} from '../constants';\nimport {normalizeActionHandler} from '../utils/config/normalizeActionHandler';\nimport getHostVariables from '../utils/getHostVariables';\nimport {addActionHandler} from './customEventActionHandler';\nimport {onActionHoisted} from './onActionHoisted';\nimport {wasActionDispatchedByDescendant} from './utils';\nconst {trace, isValidTraceId} = uiAnalyticsConsumer;\n// defer the execution of the origin handler to support preventDefault\nfunction runEffects(fn, isOrigin) {\n\treturn isOrigin ? beforeNextTick(() => fn()) : fn();\n}\n\nexport function onAction(targetEl, targetSelector, host, actionType, action = {}) {\n\tconst hostVariables = getHostVariables(host);\n\tconst {type = actionType, meta = {path: [], eventHandler: false}} = action;\n\tconst {path, eventHandler, event, capture} = meta;\n\tconst [origin] = path;\n\tconst isOrigin = hostVariables[COMPONENT_ID] === origin;\n\n\tif (eventHandler)\n\t\t// interaction ids aren't applied to native events dispacthed by the browser\n\t\tapplyInteractionId(meta);\n\n\tconst isImmediate = [\n\t\tCOMPONENT_DISCONNECTED,\n\t\tCOMPONENT_DOM_READY,\n\t\tCOMPONENT_DOM_TREE_READY,\n\t\tCOMPONENT_TREE_RENDERED,\n\t\tCOMPONENT_RENDERED,\n\t\tCOMPONENT_RENDER_REQUESTED,\n\t\tCOMPONENT_PROPERTY_UPDATE_REQUESTED\n\t].includes(actionType);\n\n\tif (event && !eventHandler) {\n\t\tconst hoistElm = event.composedPath().find(elem => elem.tagName === SEISMIC_HOIST_TAG_NAME);\n\t\tconst hoistElmVariables = getHostVariables(hoistElm);\n\t\tif (\n\t\t\thoistElm &&\n\t\t\thoistElmVariables &&\n\t\t\t!hoistElmVariables[RETARGETED_ACTION_TYPES].some(actionType => actionType === type)\n\t\t) {\n\t\t\taddActionHandler(\n\t\t\t\thoistElm,\n\t\t\t\ttargetSelector,\n\t\t\t\thoistElm.sourceElement,\n\t\t\t\ttype,\n\t\t\t\tcapture,\n\t\t\t\teventHandler,\n\t\t\t\tonActionHoisted\n\t\t\t);\n\t\t\thoistElmVariables[RETARGETED_ACTION_TYPES] = [\n\t\t\t\t...hoistElmVariables[RETARGETED_ACTION_TYPES],\n\t\t\t\ttype\n\t\t\t];\n\t\t}\n\t}\n\n\trunEffects(() => {\n\t\tconst startTime = performance.now();\n\t\tconst interceptors =\n\t\t\thostVariables[CONFIG].interceptors[type] &&\n\t\t\thostVariables[CONFIG].interceptors[type].has(targetSelector)\n\t\t\t\t? hostVariables[CONFIG].interceptors[type].get(targetSelector)\n\t\t\t\t: null;\n\n\t\tif (!interceptors || !interceptors.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst onActionSpan = trace(SPAN_FOR_ACTION_HANDLED, {\n\t\t\t...getSpanOptions(host),\n\t\t\ttraceId: getInteractionId(action.meta),\n\t\t\tkind: SPAN_KIND_CLIENT,\n\t\t\tparentSpan: action.meta.span\n\t\t});\n\t\tonActionSpan.setAttribute(SPAN_ATTR_DISPATCH_ACTION_TYPE, SPAN_LIFECYCLE_EVENTS[type] || type);\n\n\t\tconst {length: interceptorCount} = interceptors;\n\t\tif ((isOrigin && action.defaultPrevented) || (!isOrigin && action.propagationStopped)) {\n\t\t\tif (isOrigin) {\n\t\t\t\tonActionSpan.setAttribute(SPAN_ATTR_COMPONENT_EVENT_DEFAULT_PREVENTED, true);\n\t\t\t} else {\n\t\t\t\tonActionSpan.setAttribute(SPAN_ATTR_COMPONENT_EVENT_PROPAGATION_STOPPED, true);\n\t\t\t}\n\t\t\tonActionSpan.end();\n\t\t\treturn;\n\t\t}\n\n\t\tif (actionType === COMPONENT_BOOTSTRAPPED) hostVariables[BOOTSTRAPPED_HANDLED] = true; // eslint-disable-line no-param-reassign\n\t\tif (actionType === COMPONENT_CONNECTED) hostVariables[CONNECTED_HANDLED] = true; // eslint-disable-line no-param-reassign\n\t\tif (isValidTraceId(onActionSpan.traceId)) action.meta.actionSpan = onActionSpan;\n\n\t\tconst context = createContext(host, action);\n\t\tlet ctx = context;\n\t\tfor (let i = 0; i < interceptorCount; i++) {\n\t\t\tconst interceptor = interceptors[i];\n\t\t\tctx = interceptor.fn(ctx) || ctx;\n\t\t}\n\n\t\tconst {effects} = ctx;\n\t\tconst {length: effectCount} = effects;\n\t\tfor (let i = 0; i < effectCount; i++) {\n\t\t\tconst effect = effects[i];\n\t\t\tif (typeof effect === 'function') {\n\t\t\t\tconst normalizedEffect = normalizeActionHandler(effect, host.tagName.toLowerCase());\n\t\t\t\tsandboxEffect(\n\t\t\t\t\tnormalizedEffect,\n\t\t\t\t\thostVariables[DISPATCH],\n\t\t\t\t\taction,\n\t\t\t\t\thost\n\t\t\t\t)(...normalizedEffect.args);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (!effect.descendantOnly || wasActionDispatchedByDescendant(action.composedPath(), host))\n\t\t\t\tsandboxEffect(effect, hostVariables[DISPATCH], action, host)(...effect.args);\n\t\t}\n\t\tonActionSpan.end();\n\t\tconst endTime = performance.now();\n\t\temitNowUiEvent(ACTION_HANDLED, {\n\t\t\thost,\n\t\t\taction,\n\t\t\ttargetSelector,\n\t\t\tinterceptors,\n\t\t\tcontext: ctx,\n\t\t\tduration: endTime - startTime\n\t\t});\n\t}, isOrigin && !eventHandler && !isImmediate);\n}\n","import {STATE} from '../symbols';\nimport {getHostVariables} from '../utils';\nimport {wrapDispatch} from './utils';\nimport createContextProxy from '../context/createContextProxy';\n\nexport function createContext(host, action) {\n\tconst properties = host.getResolvedProperties();\n\tconst hostVariables = getHostVariables(host);\n\n\treturn {\n\t\tcoeffects: {\n\t\t\tstate: {...hostVariables[STATE], properties: host.getProperties()},\n\t\t\tcontext: createContextProxy(host),\n\t\t\tproperties,\n\t\t\thost,\n\t\t\taction,\n\t\t\t...wrapDispatch(host, action)\n\t\t},\n\t\teffects: []\n\t};\n}\n","import {getHostVariables} from '../../utils';\nimport {addActionHandler} from '../customEventActionHandler';\nimport {onAction} from '../onAction';\nimport {COMPONENT_ACTION_DISPATCHED} from '../../constants';\nimport {\n\tRUNTIME_ACTION_HANDLERS,\n\tTARGETED_ACTION_TYPES,\n\tANCESTOR_ROOT_NODE,\n\tCONFIG,\n\tACTION_HANDLERS,\n\tPRESENTATIONAL\n} from '../../symbols';\n\nconst shouldApplyActionHandler = (hostVariables, type) =>\n\t!hostVariables[PRESENTATIONAL] &&\n\t!hostVariables[RUNTIME_ACTION_HANDLERS].includes(type) &&\n\thostVariables[TARGETED_ACTION_TYPES].includes(COMPONENT_ACTION_DISPATCHED);\n\nconst createActionHandler = (host, hostVariables, type) => {\n\thostVariables[RUNTIME_ACTION_HANDLERS].push(type);\n\n\tif (\n\t\thostVariables[CONFIG].interceptors[type] &&\n\t\thostVariables[CONFIG].interceptors[type].has('host')\n\t) {\n\t\tconst interceptors = [\n\t\t\t...hostVariables[CONFIG].interceptors[type].get('host'),\n\t\t\t...hostVariables[CONFIG].interceptors[COMPONENT_ACTION_DISPATCHED].get('host')\n\t\t];\n\t\thostVariables[CONFIG].interceptors[type].set('host', interceptors);\n\t\treturn;\n\t}\n\n\thostVariables[CONFIG].interceptors[type] =\n\t\thostVariables[CONFIG].interceptors[COMPONENT_ACTION_DISPATCHED]; // eslint-disable-line no-param-reassign\n\tconst removeActionHandler = addActionHandler(host, 'host', host, type, false, false, onAction);\n\thostVariables[ACTION_HANDLERS].push(removeActionHandler);\n\thostVariables[TARGETED_ACTION_TYPES] = [...hostVariables[TARGETED_ACTION_TYPES], type]; // eslint-disable-line no-param-reassign\n};\n\nexport function applyRuntimeActionHandlers(host, type) {\n\tlet parent = host;\n\tlet parentVariables = getHostVariables(parent);\n\n\twhile (parent) {\n\t\tif (shouldApplyActionHandler(parentVariables, type))\n\t\t\tcreateActionHandler(parent, parentVariables, type);\n\n\t\tparent = parentVariables[ANCESTOR_ROOT_NODE];\n\t\tparentVariables = getHostVariables(parent);\n\t}\n}\n","import {normalizeActionHandler} from './normalizeActionHandler';\nimport {sandbox, locations} from '@servicenow/ui-internal';\nimport log from '../../log';\n\nconst {LIFECYCLE} = locations;\nimport {\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tPROPERTIES_SET_LIFECYCLE,\n\tON_CONNECT_LIFECYCLE,\n\tON_DISCONNECT_LIFECYCLE,\n\tON_BOOTSTRAP_LIFECYCLE\n} from '../../constants';\nimport getHostVariables from '../getHostVariables';\nimport {HELPERS_SCHEDULED} from '../../symbols';\nimport {wrapDispatch} from '../../actions/utils';\n\nconst lifeCycleFnsToHandlerMap = {\n\t[COMPONENT_CONNECTED]: {lifecycle: ON_CONNECT_LIFECYCLE, display: 'COMPONENT_CONNECTED'},\n\t[COMPONENT_DISCONNECTED]: {lifecycle: ON_DISCONNECT_LIFECYCLE, display: 'COMPONENT_DISCONNECTED'},\n\t[COMPONENT_BOOTSTRAPPED]: {lifecycle: ON_BOOTSTRAP_LIFECYCLE, display: 'COMPONENT_BOOTSTRAPPED'},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\tlifecycle: PROPERTIES_SET_LIFECYCLE,\n\t\tdisplay: 'COMPONENT_PROPERTY_CHANGED'\n\t}\n};\n\nfunction createOnPropertyChangeHandler(config, def) {\n\tconst {properties} = config;\n\tconst onPropertiesSet = config[def.lifecycle];\n\tconst fns = {};\n\tfor (const k in properties) {\n\t\tconst {onChange} = properties[k];\n\t\tif (typeof onChange === 'function') fns[k] = onChange;\n\t}\n\n\tif (!Object.keys(fns).length && !onPropertiesSet) return;\n\n\treturn function onPropertyChange({\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: {host, name, previousValue, value}\n\t\t}\n\t}) {\n\t\tconst hostVariables = getHostVariables(host);\n\n\t\tif (onPropertiesSet) {\n\t\t\tsandbox(onPropertiesSet, {\n\t\t\t\targs: [host, hostVariables[HELPERS_SCHEDULED]],\n\t\t\t\tdispatch,\n\t\t\t\thost,\n\t\t\t\tlocation: LIFECYCLE,\n\t\t\t\tdetails: {name: def.lifecycle},\n\t\t\t\tlog\n\t\t\t});\n\t\t}\n\n\t\tconst fn = fns[name];\n\t\tif (fn) {\n\t\t\tsandbox(fn, {\n\t\t\t\targs: [value, previousValue, hostVariables[HELPERS_SCHEDULED]],\n\t\t\t\tdispatch,\n\t\t\t\thost,\n\t\t\t\tlocation: LIFECYCLE,\n\t\t\t\tdetails: {name: def.lifecycle},\n\t\t\t\tlog\n\t\t\t});\n\t\t}\n\t};\n}\n\nexport function lifeCycleFnsToHandlers(configs, tagName) {\n\tconst actionHandlers = {};\n\tfor (const k in lifeCycleFnsToHandlerMap) {\n\t\tconst def = lifeCycleFnsToHandlerMap[k];\n\t\tconst {length: configsCount} = configs;\n\t\tconst actionType = k;\n\t\tactionHandlers[actionType] = [];\n\n\t\tfor (let i = 0; i < configsCount; i++) {\n\t\t\tconst config = configs[i];\n\t\t\tif (actionType === COMPONENT_PROPERTY_CHANGED) {\n\t\t\t\tconst onPropertyChangeEffect = createOnPropertyChangeHandler(config, def);\n\t\t\t\tif (onPropertyChangeEffect) {\n\t\t\t\t\tactionHandlers[actionType].push(\n\t\t\t\t\t\tnormalizeActionHandler(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\teffect: onPropertyChangeEffect,\n\t\t\t\t\t\t\t\ttype: 'effect'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttagName\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst fn = config[def.lifecycle];\n\t\t\t\tif (typeof fn === 'function') {\n\t\t\t\t\tactionHandlers[actionType].push(\n\t\t\t\t\t\tnormalizeActionHandler(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\teffect({\n\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\taction,\n\t\t\t\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\t\t\t\tpayload: {host}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}) {\n\t\t\t\t\t\t\t\t\tconst wrappedDispatch = wrapDispatch(host, action);\n\t\t\t\t\t\t\t\t\tconst helpers = wrappedDispatch.dispatch;\n\t\t\t\t\t\t\t\t\tObject.assign(helpers, wrappedDispatch);\n\n\t\t\t\t\t\t\t\t\tsandbox(fn, {\n\t\t\t\t\t\t\t\t\t\targs: config.options ? [host, helpers, config.options] : [host, helpers],\n\t\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\t\t\t\tlocation: LIFECYCLE,\n\t\t\t\t\t\t\t\t\t\tdetails: {name: def.lifecycle},\n\t\t\t\t\t\t\t\t\t\tlog\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\ttype: 'effect'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttagName\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn actionHandlers;\n}\n","import log from '../../log';\n\n// this code executes before an instance is created. @servicenow/ui-internal/sandbox currently relies on host and dispatch.\n// refactoring @servicenow/ui-internal/sandbox to support this single use case - all other user code is executed after an\n// instance is created - didn't seem worth it. Even if we move to a lazy configuration initialization in the constructor\n// dispatch won't be created until connectedCallback is executed.\nfunction sandbox(fn, options, message) {\n\ttry {\n\t\treturn fn(options);\n\t} catch (error) {\n\t\tlog(message, {origin: 'sandbox', host: options ? options.host : null});\n\t\treturn {};\n\t}\n}\n\nexport function mergeBehaviorInitialState(\n\tbehaviors,\n\tcomponentInitialState,\n\tcomponentSetInitialState,\n\ttagName\n) {\n\tconst behaviorState = {};\n\tconst {length: behaviorsCount} = behaviors;\n\n\tfor (let i = 0; i < behaviorsCount; i++) {\n\t\tconst {\n\t\t\tname,\n\t\t\toptions,\n\t\t\tbehavior: {initialState: behaviorInitialState, options: behaviorOptions}\n\t\t} = behaviors[i];\n\t\tbehaviorState[name] =\n\t\t\ttypeof behaviorInitialState === 'function'\n\t\t\t\t? sandbox(\n\t\t\t\t\t\tbehaviorInitialState,\n\t\t\t\t\t\toptions || behaviorOptions,\n\t\t\t\t\t\t`The initialState function for the ${name} behavior threw an error when defining <${tagName} />`\n\t\t\t\t  )\n\t\t\t\t: behaviorInitialState;\n\t}\n\n\tfunction setInitialState({host, properties, context}) {\n\t\tconst behaviorStateDynamic = behaviorState;\n\t\tfor (let i = 0; i < behaviorsCount; i++) {\n\t\t\tconst {\n\t\t\t\tname,\n\t\t\t\toptions,\n\t\t\t\tbehavior: {setInitialState: behaviorSetInitialState, options: behaviorOptions}\n\t\t\t} = behaviors[i];\n\n\t\t\tif (typeof behaviorSetInitialState === 'function') {\n\t\t\t\tbehaviorStateDynamic[name] = {\n\t\t\t\t\t...behaviorState[name],\n\t\t\t\t\t...sandbox(\n\t\t\t\t\t\tbehaviorSetInitialState,\n\t\t\t\t\t\t{host, properties, context, options: options || behaviorOptions},\n\t\t\t\t\t\t`The setInitialState function for the ${name} behavior threw an error when defining <${tagName} />`\n\t\t\t\t\t)\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\t...(Object.keys(behaviorStateDynamic).length ? {behaviors: behaviorStateDynamic} : {}),\n\t\t\t...(typeof componentSetInitialState === 'function' &&\n\t\t\t\tsandbox(\n\t\t\t\t\tcomponentSetInitialState,\n\t\t\t\t\t{host, properties, context},\n\t\t\t\t\t`The setInitialState function for ${tagName} threw an error`\n\t\t\t\t))\n\t\t};\n\t}\n\n\tconst initialState = {\n\t\t...(Object.keys(behaviorState).length ? {behaviors: behaviorState} : {}),\n\t\t...componentInitialState\n\t};\n\n\treturn {\n\t\tinitialState,\n\t\tsetInitialState\n\t};\n}\n","import {memoize} from '@servicenow/ui-internal';\nimport toPropertyName from '../toPropertyName';\nimport {\n\tCOMPONENT_NAME_ATTR,\n\tHOIST_ATTR,\n\tHOIST_APPEND_TO_ATTR,\n\tDEFER_ATTRIBUTE,\n\tNOW_HOIST_PROP,\n\tNOW_HOIST_APPEND_TO_PROP,\n\tNOW_HOIST_PREPEND_TO_PROP,\n\tNOW_ID_PROP,\n\tNOW_MODE_PROP,\n\tNOW_COMPONENT_NAME_PROP,\n\tNOW_ENABLE_PROPERTY_SETTING_PREVENTION_PROP,\n\tNOW_METRIC_TYPES_PROP,\n\tNOW_METRICS_LEVEL_PROP,\n\tNOW_LOGGING_LEVELS_PROP,\n\tNOW_PLACEHOLDER_HEIGHT_PROP,\n\tNOW_PLACEHOLDER_WIDTH_PROP,\n\tNOW_PRIORITY_PROP,\n\tPRIORITY_LEVEL_LOW,\n\tPRIORITY_LEVEL_MEDIUM,\n\tNOW_AVOID_RENDER_PROP\n} from '../../constants';\nimport log from '../../log';\n\nexport const mergeBehaviorProperties = memoize(mergeBehaviorPropertiesInner, {\n\tprofileName: 'mergeBehaviorProperties',\n\tcreateCacheKey: (b, p, t) => t\n});\n\nfunction mergeBehaviorPropertiesInner(behaviors, properties, tagName) {\n\tconst mergedProperties = {};\n\tconst {length: behaviorsCount} = behaviors;\n\tconst behaviorNames = {};\n\n\tfor (const k in properties) mergedProperties[k] = properties[k];\n\n\tfor (let i = 0; i < behaviorsCount; i++) {\n\t\tconst {\n\t\t\tname,\n\t\t\tbehavior: {properties: behaviorProperties}\n\t\t} = behaviors[i];\n\t\tfor (const k in behaviorProperties) {\n\t\t\tif (mergedProperties[k]) {\n\t\t\t\tlog(`Behavior ${name} overwrote property ${k} for ${tagName}.`, {\n\t\t\t\t\ttagName,\n\t\t\t\t\torigin: 'mergeBehaviorProperties'\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tmergedProperties[k] = behaviorProperties[k];\n\t\t\tbehaviorNames[k] = name;\n\t\t}\n\t}\n\n\treturn {\n\t\t...mergedProperties,\n\t\t[toPropertyName(DEFER_ATTRIBUTE)]: {},\n\t\t[toPropertyName(HOIST_ATTR)]: {\n\t\t\t...(mergedProperties[toPropertyName(HOIST_ATTR)] || {}),\n\t\t\treflect: true\n\t\t},\n\t\t[toPropertyName(HOIST_APPEND_TO_ATTR)]: {\n\t\t\t...(mergedProperties[toPropertyName(HOIST_APPEND_TO_ATTR)] || {}),\n\t\t\treflect: true\n\t\t},\n\t\t[toPropertyName(COMPONENT_NAME_ATTR)]: {reflect: true}, // @temporary add component-name\n\t\t[NOW_HOIST_PROP]: {...(mergedProperties[NOW_HOIST_PROP] || {}), reflect: true},\n\t\t[NOW_HOIST_APPEND_TO_PROP]: {\n\t\t\t...(mergedProperties[NOW_HOIST_APPEND_TO_PROP] || {}),\n\t\t\treflect: true\n\t\t},\n\t\t[NOW_HOIST_PREPEND_TO_PROP]: {\n\t\t\t...(mergedProperties[NOW_HOIST_PREPEND_TO_PROP] || {}),\n\t\t\treflect: true\n\t\t},\n\t\t[NOW_PLACEHOLDER_HEIGHT_PROP]: {\n\t\t\t...(mergedProperties[NOW_PLACEHOLDER_HEIGHT_PROP] || {}),\n\t\t\tschema: {type: 'string'}\n\t\t},\n\t\t[NOW_PLACEHOLDER_WIDTH_PROP]: {\n\t\t\t...(mergedProperties[NOW_PLACEHOLDER_WIDTH_PROP] || {}),\n\t\t\tschema: {type: 'string'}\n\t\t},\n\t\t[NOW_ID_PROP]: {},\n\t\t[NOW_MODE_PROP]: {},\n\t\t[NOW_COMPONENT_NAME_PROP]: {},\n\t\t[NOW_ENABLE_PROPERTY_SETTING_PREVENTION_PROP]: {},\n\t\t[NOW_LOGGING_LEVELS_PROP]: {\n\t\t\t...(mergedProperties[NOW_LOGGING_LEVELS_PROP] || []),\n\t\t\tschema: {type: ['array', 'boolean'], items: {type: 'string'}}\n\t\t},\n\t\t[NOW_METRIC_TYPES_PROP]: {\n\t\t\t...(mergedProperties[NOW_METRIC_TYPES_PROP] || {}),\n\t\t\tschema: {type: 'array', items: {type: 'string'}}\n\t\t},\n\t\t[NOW_METRICS_LEVEL_PROP]: {\n\t\t\t...(mergedProperties[NOW_METRICS_LEVEL_PROP] || {}),\n\t\t\tschema: {type: 'integer', minimum: 0, maximum: 5}\n\t\t},\n\t\t[NOW_PRIORITY_PROP]: {\n\t\t\t...(mergedProperties[NOW_PRIORITY_PROP] || {}),\n\t\t\tschema: {type: 'string', enum: [PRIORITY_LEVEL_LOW, PRIORITY_LEVEL_MEDIUM]}\n\t\t},\n\t\t[NOW_AVOID_RENDER_PROP]: {\n\t\t\t...(mergedProperties[NOW_AVOID_RENDER_PROP] || {default: false}),\n\t\t\tschema: {type: 'boolean'}\n\t\t}\n\t};\n}\n","import {normalizeActionHandler} from './normalizeActionHandler';\n\nexport function normalizeActionHandlers(actionHandlers, tagName) {\n\tconst normalizedActionHandlers = {};\n\n\tfor (const k in actionHandlers)\n\t\tnormalizedActionHandlers[k] = normalizeActionHandler(actionHandlers[k], tagName);\n\n\treturn normalizedActionHandlers;\n}\n","import {normalizeActionHandlers} from './normalizeActionHandlers';\nimport {memoize} from '@servicenow/ui-internal';\n\nexport const normalizeBehaviors = memoize(normalizeBehaviorsInner, {\n\tprofileName: 'normalizeBehaviors',\n\tcreateCacheKey: (b, t) => t\n});\n\nfunction normalizeBehaviorsInner(behaviors = [], tagName) {\n\tconst {length: behaviorsCount} = behaviors;\n\tconst normalizedBehaviors = [];\n\tfor (let i = 0; i < behaviorsCount; i++) {\n\t\tconst {behavior, options = {}} = behaviors[i] || {};\n\t\tconst resolvedBehavior = behavior || behaviors[i] || {};\n\t\tconst {name} = resolvedBehavior;\n\t\tconst {initialState = {}, actionHandlers, eventHandlers = [], actions} = resolvedBehavior;\n\n\t\tnormalizedBehaviors[i] = {\n\t\t\tbehavior: {\n\t\t\t\t...resolvedBehavior,\n\t\t\t\tactionHandlers: normalizeActionHandlers(actionHandlers, tagName),\n\t\t\t\tinitialState,\n\t\t\t\teventHandlers,\n\t\t\t\tactions,\n\t\t\t\toptions\n\t\t\t},\n\t\t\tname\n\t\t};\n\t}\n\n\treturn normalizedBehaviors;\n}\n","export function getStopPropagation(actionHandlers) {\n\tconst stopPropagation = {};\n\tfor (const k in actionHandlers) {\n\t\tif (actionHandlers[k].some(v => v.stopPropagation)) stopPropagation[k] = true;\n\t}\n\n\treturn stopPropagation;\n}\n","import {buildActionPayloadValidator} from '../schema';\n\nexport function applyPayloadValidators(actions) {\n\tfor (const k in actions) {\n\t\tconst action = actions[k];\n\t\tconst {schema} = action;\n\t\tif (schema) action.validate = buildActionPayloadValidator(schema);\n\t}\n\n\treturn actions;\n}\n","import log from '../../log';\n\nexport function mergeBehaviorActions(actions, behaviors, tagName) {\n\tconst mergedActions = {};\n\tconst {length: behaviorsCount} = behaviors;\n\tconst behaviorNames = {};\n\n\tfor (let i = 0; i < behaviorsCount; i++) {\n\t\tconst {\n\t\t\tname,\n\t\t\tbehavior: {actions: behaviorActions = {}}\n\t\t} = behaviors[i];\n\n\t\tfor (const k in behaviorActions) {\n\t\t\tif (mergedActions[k]) {\n\t\t\t\tlog(`Behavior ${name} overwrote action ${k} for ${tagName}.`, {\n\t\t\t\t\ttagName,\n\t\t\t\t\torigin: 'mergeBehaviorActions'\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tmergedActions[k] = behaviorActions[k];\n\t\t\tbehaviorNames[k] = name;\n\t\t}\n\t}\n\n\tfor (const k in actions) {\n\t\tif (mergedActions[k]) {\n\t\t\tlog(\n\t\t\t\t`The component definition for ${tagName} overwrote action ${k} defined by the ${behaviorNames[k]} behavior.`,\n\t\t\t\t{tagName, origin: 'mergeBehaviorActions'}\n\t\t\t);\n\t\t}\n\n\t\tmergedActions[k] = actions[k];\n\t}\n\n\treturn mergedActions;\n}\n","import {\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_RENDERED,\n\tCOMPONENT_DOM_READY,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_PROPERTY_UPDATE_REQUESTED,\n\tCOMPONENT_RENDER_REQUESTED,\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_TREE_RENDERED,\n\tCOMPONENT_STATE_UPDATED,\n\tCOMPONENT_INTERACTIVE\n} from '../../constants';\n\nconst actions = {\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_RENDERED,\n\tCOMPONENT_DOM_READY,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_PROPERTY_UPDATE_REQUESTED,\n\tCOMPONENT_RENDER_REQUESTED,\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_TREE_RENDERED,\n\tCOMPONENT_STATE_UPDATED,\n\tCOMPONENT_INTERACTIVE\n};\n\nexport function getActionsToDispatch(interceptors) {\n\tconst shouldDispatch = {};\n\n\tfor (const k in actions) {\n\t\tconst type = actions[k];\n\t\tconst intercpetorsByType = interceptors[type];\n\t\tif (intercpetorsByType && intercpetorsByType.has('host')) shouldDispatch[type] = true;\n\t}\n\n\treturn shouldDispatch;\n}\n","import {ARIA_LIVE_ASSERTIVE, ARIA_LIVE_POLITE} from '../constants';\nimport {getConfigItem, configConstants} from '@servicenow/ui-config';\nimport log from '../log';\nimport {allLogTypes as logTypes} from '@servicenow/ui-internal';\n\nexport const politeId = 'SEISMIC_ARIA_LIVE_REGION_POLITE';\nexport const assertiveId = 'SEISMIC_ARIA_LIVE_REGION_ASSERTIVE';\n\nconst applyAriaLiveRegionAttributes = (el, type, id) => {\n\tconst live = type === ARIA_LIVE_ASSERTIVE || type === ARIA_LIVE_POLITE ? type : ARIA_LIVE_POLITE;\n\tel.setAttribute('id', id || (type === ARIA_LIVE_ASSERTIVE ? assertiveId : politeId));\n\tel.setAttribute('aria-live', live);\n\tel.setAttribute('aria-atomic', true);\n\tapplyStyles(el);\n};\n\nconst applyStyles = el => {\n\tel.style.position = 'absolute';\n\tel.style.overflow = 'hidden';\n\tel.style.width = '1px';\n\tel.style.height = '0px';\n\tel.style.margin = 0;\n\tel.style.border = 'none';\n\tel.style.padding = 0;\n\tel.style.whiteSpace = 'nowrap';\n\tel.style.clip = 'rect(0 0 0 0)';\n\tel.style.clipPath = 'inset(50%)';\n};\n\nconst politeTimeout = getConfigItem(configConstants.ARIA_LIVE_POLITE_TIMEOUT);\nconst assertiveTimeout = getConfigItem(configConstants.ARIA_LIVE_ASSERTIVE_TIMEOUT);\n\nconst createAriaLiveRegionEl = (id, type) => {\n\tconst el = document.createElement('SPAN');\n\tapplyAriaLiveRegionAttributes(el, type, id);\n\tdocument.body.appendChild(el);\n\treturn el;\n};\n\nconst getAriaLiveRegionEl = type => {\n\tconst id = type === ARIA_LIVE_ASSERTIVE ? assertiveId : politeId;\n\treturn document.querySelector(`#${id}`) || createAriaLiveRegionEl(id, type);\n};\n\nconst upsertComponentLiveContentNode = ({\n\tariaLiveRegionEl,\n\thost,\n\ttextNode,\n\treplaceContent = false\n}) => {\n\tconst id = `${host.tagName}_${host.getAttribute('now-id')}`;\n\tconst curNode = ariaLiveRegionEl.querySelector(`#${id}`);\n\tif (curNode) {\n\t\tif (replaceContent) {\n\t\t\tcurNode.innerHTML = '';\n\t\t}\n\t\tcurNode.appendChild(textNode);\n\t\treturn curNode;\n\t} else {\n\t\tconst newNode = document.createElement('SPAN');\n\t\tnewNode.setAttribute('id', id);\n\t\tnewNode.appendChild(textNode);\n\t\tariaLiveRegionEl.appendChild(newNode);\n\t\treturn newNode;\n\t}\n};\nexport const actionHandler = {\n\tstopPropagation: true,\n\teffect({\n\t\thost,\n\t\taction: {\n\t\t\tpayload: {message, type = ARIA_LIVE_POLITE, replaceContent = false}\n\t\t}\n\t}) {\n\t\tif (type !== ARIA_LIVE_ASSERTIVE && type !== ARIA_LIVE_POLITE) {\n\t\t\tprocess.env.NODE_ENV !== 'production' &&\n\t\t\t\tlog(\n\t\t\t\t\t`\"ARIA_LIVE_REGION_UPDATE_REQUESTED\" was dispatched with action.type: ${type}. Only action.type of \"assertive\" or \"polite\" is allowed.`,\n\t\t\t\t\t{level: logTypes.WARN, host, origin: 'dispatch'}\n\t\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst ariaLiveRegionEl = getAriaLiveRegionEl(type);\n\t\tconst textNode = document.createTextNode(message);\n\t\tconst ariaLiveRegionCompNode = upsertComponentLiveContentNode({\n\t\t\tariaLiveRegionEl,\n\t\t\thost,\n\t\t\ttextNode,\n\t\t\treplaceContent\n\t\t});\n\t\tsetTimeout(\n\t\t\t() => {\n\t\t\t\tif (textNode.parentNode === ariaLiveRegionCompNode)\n\t\t\t\t\tariaLiveRegionCompNode.removeChild(textNode);\n\t\t\t},\n\t\t\ttype === ARIA_LIVE_ASSERTIVE ? assertiveTimeout : politeTimeout\n\t\t);\n\t}\n};\n","import {createInterceptors} from './createInterceptors';\nimport {lifeCycleFnsToHandlers} from './lifeCycleFnsToHandlers';\nimport {mergeBehaviorActionHandlers} from './mergeBehaviorActionHandlers';\nimport {mergeBehaviorInitialState} from './mergeBehaviorInitialState';\nimport {mergeBehaviorProperties} from './mergeBehaviorProperties';\nimport {mergeLifeCycleActionHandlers} from './mergeLifeCycleActionHandlers';\nimport {normalizeActionHandlers} from './normalizeActionHandlers';\nimport {normalizeActionHandler} from './normalizeActionHandler';\nimport {normalizeBehaviors} from './normalizeBehaviors';\nimport {getStopPropagation} from './getStopPropagation';\nimport {mergeActions} from './mergeActions';\nimport {mergeEventActionHandlers} from './mergeEventActionHandlers';\nimport {applyPayloadValidators} from './applyPayloadValidators';\nimport {mergeBehaviorActions} from './mergeBehaviorActions';\nimport {getActionsToDispatch} from './getActionsToDispatch';\nimport {normalizeBehaviorEventHandlers} from './normalizeBehaviorEventHandlers';\nimport {SHADOW_ROOT_MODE_OPEN, ARIA_LIVE_REGION_UPDATE_REQUESTED} from '../../constants';\nimport {actionHandler as ariaLiveRegionActionHandler} from '../../accessibility/ariaLiveRegion';\n\nexport function normalizeConfig(config) {\n\tconst {\n\t\teventHandlers: componentEventHandlers = [],\n\t\tactionHandlers = {},\n\t\tbehaviors = [],\n\t\tproperties = {},\n\t\tname,\n\t\tinitialState,\n\t\tsetInitialState,\n\t\tactions = {},\n\t\tshadowRootOptions: {mode: shadowRootMode = SHADOW_ROOT_MODE_OPEN} = {}\n\t} = config;\n\n\tconst normalizedBehaviors = normalizeBehaviors(behaviors, name);\n\tconst eventHandlers = [\n\t\t...componentEventHandlers,\n\t\t...normalizeBehaviorEventHandlers(normalizedBehaviors)\n\t];\n\tconst mergedActionHandlers = mergeEventActionHandlers(\n\t\tmergeBehaviorActionHandlers(\n\t\t\tnormalizedBehaviors,\n\t\t\tmergeActions(\n\t\t\t\tmergeLifeCycleActionHandlers(\n\t\t\t\t\tlifeCycleFnsToHandlers(\n\t\t\t\t\t\t[config, ...normalizedBehaviors.map(({behavior}) => behavior)],\n\t\t\t\t\t\tname\n\t\t\t\t\t),\n\t\t\t\t\tnormalizeActionHandlers(actionHandlers, name)\n\t\t\t\t),\n\t\t\t\tactions,\n\t\t\t\tname\n\t\t\t)\n\t\t),\n\t\teventHandlers,\n\t\tname\n\t);\n\n\tmergedActionHandlers[ARIA_LIVE_REGION_UPDATE_REQUESTED] = [\n\t\tnormalizeActionHandler(ariaLiveRegionActionHandler)\n\t];\n\n\tconst interceptors = createInterceptors(mergedActionHandlers);\n\tconst mergedInitialStates = mergeBehaviorInitialState(\n\t\tnormalizedBehaviors,\n\t\tinitialState,\n\t\tsetInitialState,\n\t\tname\n\t);\n\n\treturn {\n\t\tshouldDispatch: getActionsToDispatch(interceptors),\n\t\teventHandlers,\n\t\tshouldStopPropagation: getStopPropagation(mergedActionHandlers),\n\t\tactions: applyPayloadValidators(mergeBehaviorActions(actions, normalizedBehaviors, name)),\n\t\tactionTypes: {}, // TODO: add action data types for validation\n\t\tinitialState: mergedInitialStates.initialState,\n\t\tsetInitialState: mergedInitialStates.setInitialState,\n\t\tproperties: mergeBehaviorProperties(normalizedBehaviors, properties, name),\n\t\tinterceptors,\n\t\tbehaviors: normalizedBehaviors,\n\t\tshadowRootOptions: {\n\t\t\tmode: shadowRootMode\n\t\t}\n\t};\n}\n","export function normalizeBehaviorEventHandlers(normalizedBehaviors) {\n\tconst normalizedBehaviorEventHandlers = [];\n\tconst {length: numberOfBehaviors} = normalizedBehaviors;\n\tfor (let i = 0; i < numberOfBehaviors; i++) {\n\t\tconst {\n\t\t\tbehavior: {eventHandlers = [], options = {}}\n\t\t} = normalizedBehaviors[i];\n\t\tconst {length: numberOfEvents} = eventHandlers;\n\t\tfor (let k = 0; k < numberOfEvents; k++)\n\t\t\tnormalizedBehaviorEventHandlers.push({...eventHandlers[k], behaviorOptions: {...options}});\n\t}\n\n\treturn normalizedBehaviorEventHandlers;\n}\n","import {normalizeActionHandler} from './normalizeActionHandler';\n\nexport function mergeEventActionHandlers(actionHandlers, eventHandlers, tagName) {\n\tconst {length: eventHandlerCount} = eventHandlers;\n\tfor (let i = 0; i < eventHandlerCount; i++) {\n\t\tconst {\n\t\t\tevents = [],\n\t\t\teffect,\n\t\t\tmodifiers = [],\n\t\t\tmodifier = {},\n\t\t\tinterceptors = [],\n\t\t\ttarget,\n\t\t\tcapture,\n\t\t\tbehaviorOptions\n\t\t} = eventHandlers[i];\n\t\tconst {length: eventsCount} = events;\n\t\tfor (let j = 0; j < eventsCount; j++) {\n\t\t\tconst eventName = events[j];\n\t\t\tactionHandlers[eventName] = actionHandlers[eventName] || []; // eslint-disable-line no-param-reassign\n\t\t\tconst normalizedActionHandler = {\n\t\t\t\t...normalizeActionHandler(\n\t\t\t\t\t{effect, modifiers, modifier, interceptors, target, capture, eventHandler: true},\n\t\t\t\t\ttagName\n\t\t\t\t),\n\t\t\t\t...(behaviorOptions && {behaviorOptions})\n\t\t\t};\n\t\t\tactionHandlers[eventName].push(normalizedActionHandler);\n\t\t}\n\t}\n\n\treturn actionHandlers;\n}\n","export function mergeBehaviorActionHandlers(behaviors, actionHandlers) {\n\tconst mergedActionHandlers = {...actionHandlers};\n\tconst {length: behaviorsCount} = behaviors;\n\tfor (let i = 0; i < behaviorsCount; i++) {\n\t\tconst {\n\t\t\tbehavior: {actionHandlers: behaviorActionHandlers, options}\n\t\t} = behaviors[i];\n\t\tfor (const k in behaviorActionHandlers) {\n\t\t\tconst behaviorActionHandler = {...behaviorActionHandlers[k], behaviorOptions: options};\n\t\t\tif (mergedActionHandlers[k]) mergedActionHandlers[k].push(behaviorActionHandler);\n\t\t\telse mergedActionHandlers[k] = [behaviorActionHandler];\n\t\t}\n\t}\n\n\treturn mergedActionHandlers;\n}\n","import {normalizeActionHandler} from './normalizeActionHandler';\n\n// TODO: this format should be deprecated in paris\nexport function mergeActions(actionHandlers, actions, tagName) {\n\tfor (const k in actions) {\n\t\tconst {\n\t\t\thandlers = [],\n\t\t\teffect: actionEffect,\n\t\t\targs: actionArgs,\n\t\t\tinterceptors: actionInterceptors,\n\t\t\tprivate: isPrivate\n\t\t} = actions[k];\n\t\tconst {length: handlersCount} = handlers;\n\n\t\tactionHandlers[k] = actionHandlers[k] || []; // eslint-disable-line no-param-reassign\n\t\tfor (let i = 0; i < handlersCount; i++) {\n\t\t\tconst handler = handlers[i];\n\t\t\tconst {effect} = handler;\n\t\t\tconst {fn, args = []} = effect || handler;\n\t\t\tif (typeof fn === 'function') {\n\t\t\t\tconst {interceptors} = handler;\n\t\t\t\tactionHandlers[k].push(\n\t\t\t\t\tnormalizeActionHandler({effect: fn, args, interceptors, private: isPrivate}, tagName)\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tactionHandlers[k].push(normalizeActionHandler({...handler, private: isPrivate}, tagName));\n\t\t\t}\n\t\t}\n\n\t\tif ((handlersCount === 0 && isPrivate) || actionEffect || actionInterceptors) {\n\t\t\tactionHandlers[k].push(\n\t\t\t\tnormalizeActionHandler(\n\t\t\t\t\t{\n\t\t\t\t\t\teffect: actionEffect || (() => ({})),\n\t\t\t\t\t\tinterceptors: actionInterceptors,\n\t\t\t\t\t\targs: actionArgs,\n\t\t\t\t\t\tprivate: isPrivate\n\t\t\t\t\t},\n\t\t\t\t\ttagName\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}\n\n\treturn actionHandlers;\n}\n","export function mergeLifeCycleActionHandlers(lifecycleActionHandlers, componentActionHandlers) {\n\tconst mergedActionHandlers = {};\n\n\tfor (const k in componentActionHandlers) {\n\t\tmergedActionHandlers[k] = mergedActionHandlers[k] || [];\n\t\tmergedActionHandlers[k].push(componentActionHandlers[k]);\n\t}\n\n\tfor (const k in lifecycleActionHandlers) {\n\t\tconst actionHandlers = lifecycleActionHandlers[k] || [];\n\t\tmergedActionHandlers[k] = mergedActionHandlers[k] || [];\n\t\tmergedActionHandlers[k] = [...mergedActionHandlers[k], ...actionHandlers];\n\t}\n\n\treturn mergedActionHandlers;\n}\n","import {PROPERTY_SELECTOR_SIGIL} from '../../constants';\n\nexport default function isValuePropertySelector(value) {\n\tif (typeof value !== 'string') return false;\n\n\treturn value.startsWith(PROPERTY_SELECTOR_SIGIL);\n}\n","import {isRef, subscribeToRef} from '@servicenow/ui-internal';\n\nconst refUnsubs = new Map();\nexport function parseRefProperty(host, name, value) {\n\tconst isReference = isRef(value);\n\tlet unsubs = refUnsubs.get(host);\n\tconst ref = unsubs?.get(name)?.ref;\n\n\tif (ref && (ref.current !== value || isReference)) {\n\t\tif (unsubs) {\n\t\t\tunsubs.get(name)?.fn();\n\t\t\tunsubs.delete(name);\n\t\t\tif (unsubs.size === 0) {\n\t\t\t\trefUnsubs.delete(host);\n\t\t\t\tunsubs = null;\n\t\t\t}\n\t\t}\n\t}\n\n\tif (isReference) {\n\t\trefUnsubs.set(\n\t\t\thost,\n\t\t\t(unsubs || new Map()).set(name, {fn: subscribeToRef(value, host, name), ref: value})\n\t\t);\n\t\treturn value.current;\n\t}\n\treturn value;\n}\n\nexport function getUnsubscribe(host, propName) {\n\treturn refUnsubs.get(host)?.get(propName);\n}\n\nexport function getHostUnsubs(host) {\n\treturn refUnsubs.get(host);\n}\n","const types = ['number', 'integer', 'boolean', 'array', 'object', 'null'];\n\nexport default types;\n","import {toLower} from '@servicenow/ui-internal';\n\n/**\n * Parse the property value\n * @private\n *\n * @param {*} value The value of the property\n * @param {*} schemaType The type of the property defined in its schema\n */\nexport default function parse(value, schemaType, name, tagName) {\n\tif (schemaType === 'boolean' && value === '') return true;\n\n\ttry {\n\t\treturn JSON.parse(value);\n\t} catch (e) {\n\t\t// throw to take advantage of sandbox logging and dispatching\n\t\tthrow new Error(\n\t\t\t`Parsing failed for property ${name} on component ${toLower(\n\t\t\t\ttagName\n\t\t\t)}: expected to be type ${schemaType} but received string.`\n\t\t);\n\t}\n}\n","import {PARSE_PROP_CONF_KEY, PACKAGE_NAME} from '../../constants';\nimport isValuePropertySelector from './isValuePropertySelector';\nimport {\n\tsandbox,\n\tlocations,\n\ttoLower,\n\tkebabCase,\n\tallLogTypes as logTypes\n} from '@servicenow/ui-internal';\nimport log from '../../log';\nimport {default as validParseTypes} from './types';\nimport {parseRefProperty} from './refProperty';\nimport parse from './parse';\n\n/**\n * Parse any property that is configured with `unstableParse: true`, or any property that has a\n * defined schema with a parseable type\n */\nexport default function parseProperties(properties, defs = {}, {host, dispatch}) {\n\tconst parsedProperties = {};\n\tfor (const k in properties) {\n\t\tconst value = properties[k];\n\t\tconst unstableParse = defs[k] && defs[k][PARSE_PROP_CONF_KEY];\n\n\t\tconst schemaType = defs[k] && defs[k].schema && defs[k].schema.type;\n\t\tconst isValidParseType = validParseTypes.includes(schemaType);\n\t\tconst resolvedValue = defs[k] && defs[k].resolveRef ? parseRefProperty(host, k, value) : value;\n\t\tconst shouldUnstableParse =\n\t\t\t(unstableParse || validParseTypes.includes(schemaType)) &&\n\t\t\t!isValuePropertySelector(resolvedValue) &&\n\t\t\ttypeof resolvedValue === 'string';\n\n\t\tif (shouldUnstableParse && isValidParseType && !host.hasAttribute(kebabCase(k))) {\n\t\t\tconst component = `<${toLower(host.tagName)} />`;\n\t\t\tlog(\n\t\t\t\t`For property ${k} on component ${component}: expected to be type ${schemaType} but received string. ${PACKAGE_NAME} will attempt to parse this value, but you should set this to the correct type.`,\n\t\t\t\t{level: logTypes.WARN, host, origin: 'parseProperties'}\n\t\t\t);\n\t\t}\n\n\t\tparsedProperties[k] = shouldUnstableParse\n\t\t\t? sandbox(parse, {\n\t\t\t\t\targs: [resolvedValue, schemaType, k, host.tagName],\n\t\t\t\t\thost,\n\t\t\t\t\tdispatch,\n\t\t\t\t\tlocation: locations.PROPERTY,\n\t\t\t\t\tdetails: {parse: true, name: k},\n\t\t\t\t\tlog\n\t\t\t  })\n\t\t\t: resolvedValue;\n\t}\n\n\treturn parsedProperties;\n}\n","import {getConfigItem, configConstants} from '@servicenow/ui-config';\nimport {memoize} from '@servicenow/ui-internal';\nimport {getInteractionId} from '@servicenow/ui-metrics';\nimport {\n\tDISPATCH_EVENT,\n\tSCHEDULE_IMMEDIATELY_DO_NOT_USE_OR_YOU_WILL_BE_IMMEDIATELY_FIRED,\n\tCOMPONENT_PROPERTY_UPDATE_REQUESTED\n} from '../constants';\nimport {COMPONENT_ID, PRESENTATIONAL} from '../symbols';\nimport {getHostVariables} from '../utils';\nimport {schedule, types} from '../scheduler';\nimport {applyRuntimeActionHandlers} from './utils';\n\nconst {ENABLE_ACTION_DISPATCHED_HANDLING} = configConstants;\nconst shouldApplyRuntimeActionHandlers = memoize(\n\t() => getConfigItem(ENABLE_ACTION_DISPATCHED_HANDLING) === true,\n\t{profileName: 'shouldApplyRuntimeActionHandlers'}\n);\n\nconst {DISPATCH, IMMEDIATE} = types;\n\nfunction addEventGetters(event) {\n\tObject.defineProperty(event, 'path', {\n\t\tget() {\n\t\t\treturn event.composedPath();\n\t\t}\n\t});\n\t// FIXME: is there a better, faster way than this?\n\tObject.defineProperties(event.detail.meta, {\n\t\tevent: {\n\t\t\tvalue: event,\n\t\t\tenumerable: true\n\t\t},\n\t\tpath: {\n\t\t\tget() {\n\t\t\t\treturn event\n\t\t\t\t\t.composedPath()\n\t\t\t\t\t.map(el => {\n\t\t\t\t\t\tconst variables = getHostVariables(el);\n\t\t\t\t\t\treturn variables && variables[COMPONENT_ID];\n\t\t\t\t\t})\n\t\t\t\t\t.filter(componentId => componentId);\n\t\t\t}\n\t\t}\n\t});\n\n\treturn event;\n}\n\nfunction dispatchLegacyEvent(host, detail) {\n\tconst event = new CustomEvent(DISPATCH_EVENT, {composed: true, bubbles: true, detail});\n\thost.dispatchEvent(addEventGetters(event));\n}\n\nexport function customEventDispatcher(host, {type, payload, meta, error}) {\n\tconst hostVariables = getHostVariables(host);\n\tconst presentational = hostVariables[PRESENTATIONAL];\n\n\tconst shouldBubble = meta.internal && type !== COMPONENT_PROPERTY_UPDATE_REQUESTED ? false : true;\n\tconst event = new CustomEvent(type, {\n\t\tcomposed: shouldBubble,\n\t\tbubbles: shouldBubble,\n\t\tcancelable: true,\n\t\tdetail: {\n\t\t\ttype,\n\t\t\tpayload,\n\t\t\terror,\n\t\t\tmeta\n\t\t}\n\t});\n\n\tschedule({\n\t\tfn() {\n\t\t\tif (process.env.UNSAFE_SEISMIC_EMIT_CUSTOM_EVENT) {\n\t\t\t\tdispatchLegacyEvent(host, {\n\t\t\t\t\ttype,\n\t\t\t\t\tpayload,\n\t\t\t\t\terror,\n\t\t\t\t\t// spread or Object.defineProperties fails because the meta reference is the same\n\t\t\t\t\tmeta: {...meta}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (!presentational && shouldApplyRuntimeActionHandlers())\n\t\t\t\tapplyRuntimeActionHandlers(host, type);\n\t\t\treturn host.dispatchEvent(addEventGetters(event));\n\t\t},\n\t\tmeta: {el: host, interactionId: getInteractionId(meta), span: meta.span},\n\t\ttype: meta[SCHEDULE_IMMEDIATELY_DO_NOT_USE_OR_YOU_WILL_BE_IMMEDIATELY_FIRED]\n\t\t\t? IMMEDIATE\n\t\t\t: DISPATCH\n\t});\n\n\treturn event;\n}\n","import * as uiAnalyticsConsumer from '@servicenow/ui-analytics-consumer';\nimport {\n\tmark,\n\tgetInteractionId,\n\ttypes as metrics,\n\tcreateInteractionId\n} from '@servicenow/ui-metrics';\nimport {getHostInfo, allLogTypes as logTypes} from '@servicenow/ui-internal';\nimport {customEventDispatcher} from './customEventDispatcher';\nimport {\n\tcreateMetaData,\n\tappendToPayload,\n\tisPropertyUpdate,\n\tnormalizeActionMeta,\n\tvalidateActionPayload,\n\tisInternalActionType,\n\tgetInternalActionName,\n\tisStoreUpdate,\n\thasActionHandlerForType,\n\tskipForDetachedComponent\n} from './utils';\nimport {\n\tHELPERS_SCHEDULED,\n\tHELPERS_IMMEDIATE,\n\tPRESENTATIONAL,\n\tANCESTOR_PATH,\n\tINTERNAL_HOST_DISPATCH\n} from '../symbols';\nimport {emitNowUiEvent, getHostVariables, getSpanOptions} from '../utils';\nimport log from '../log';\nimport {\n\tACTION_DISPATCHED,\n\tSCHEDULE_IMMEDIATELY_DO_NOT_USE_OR_YOU_WILL_BE_IMMEDIATELY_FIRED,\n\tPROPERTIES_SET,\n\tDISPATCH_EVENT,\n\tSPAN_FOR_DISPATCH,\n\tSPAN_KIND_CLIENT,\n\tSPAN_ATTR_DISPATCH_ACTION_TYPE,\n\tSPAN_ATTR_DISPATCH_UNDEFINED,\n\tSPAN_ATTR_DISPATCH_FLAG_HOST_DISPATCH,\n\tSPAN_ATTR_SKIP_FOR_DETACHED_COMPONENT,\n\tSPAN_ATTR_STORE_UPDATE,\n\tSPAN_ATTR_DISPATCH_ACTION_INTERNAL_TYPE\n} from '../constants';\nimport {addActionHandlerForUnknownType} from './addActionHandlerForUnknownType';\nconst {trace, isValidTraceId} = uiAnalyticsConsumer;\nexport function createDispatcher(host, dispatcher = customEventDispatcher) {\n\tconst hostVariables = getHostVariables(host);\n\n\treturn function dispatch(type, payload = {}, meta = {}, error = null) {\n\t\tconst isExternalHostDispatch = meta[INTERNAL_HOST_DISPATCH] !== true;\n\t\tlet span = meta.span;\n\t\tif (isExternalHostDispatch) {\n\t\t\tspan = trace(SPAN_FOR_DISPATCH, {\n\t\t\t\t...getSpanOptions(host),\n\t\t\t\ttraceId: createInteractionId(),\n\t\t\t\tkind: SPAN_KIND_CLIENT,\n\t\t\t\t...(meta.span && isValidTraceId(meta.span.traceId) && {parentSpan: meta.span})\n\t\t\t});\n\t\t\tspan.setAttribute(SPAN_ATTR_DISPATCH_ACTION_TYPE, type);\n\t\t\tspan.setAttribute(SPAN_ATTR_DISPATCH_FLAG_HOST_DISPATCH, true);\n\t\t\tif (isValidTraceId(span.traceId)) meta.span = span;\n\t\t}\n\t\tif (type === undefined) {\n\t\t\tlog(\n\t\t\t\t`You are dispatching an action that is type: ${type}.  We will send undefined actions to the upside down place in the next release.`,\n\t\t\t\t{level: logTypes.WARN, host, origin: 'dispatch'}\n\t\t\t);\n\t\t\tif (span) {\n\t\t\t\tspan.setAttribute(SPAN_ATTR_DISPATCH_ACTION_TYPE, 'undefined');\n\t\t\t\tspan.setAttribute(SPAN_ATTR_DISPATCH_UNDEFINED, true);\n\t\t\t}\n\t\t}\n\n\t\tif (skipForDetachedComponent(host, type, payload)) {\n\t\t\tspan && span.setAttribute(SPAN_ATTR_SKIP_FOR_DETACHED_COMPONENT, true);\n\t\t\tif (isExternalHostDispatch) {\n\t\t\t\tspan.end();\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif (isStoreUpdate(type)) {\n\t\t\thostVariables[HELPERS_SCHEDULED].updateState(payload, {\n\t\t\t\t[SCHEDULE_IMMEDIATELY_DO_NOT_USE_OR_YOU_WILL_BE_IMMEDIATELY_FIRED]: true,\n\t\t\t\tinteractionId: getInteractionId(meta)\n\t\t\t});\n\t\t\tspan && span.setAttribute(SPAN_ATTR_STORE_UPDATE, true);\n\t\t\tif (isExternalHostDispatch) {\n\t\t\t\tspan.end();\n\t\t\t}\n\t\t\treturn log(\n\t\t\t\t`${type} is a private action type and has been deprecated. Please use updateState.`,\n\t\t\t\t{host, origin: 'dispatch'}\n\t\t\t);\n\t\t}\n\n\t\tif (isInternalActionType(type, meta.internal)) {\n\t\t\tconst {tagName, componentId} = getHostInfo(host);\n\t\t\tlog(`${getInternalActionName(type)} cannot be dispatched as it is an internal action type`, {\n\t\t\t\ttagName,\n\t\t\t\tcomponentId,\n\t\t\t\thost,\n\t\t\t\torigin: 'dispatch'\n\t\t\t});\n\n\t\t\t// Only return if the type is not one of the following, in order to maintain backwards compatibility\n\t\t\tif (![PROPERTIES_SET, DISPATCH_EVENT].includes(type)) {\n\t\t\t\tspan && span.setAttribute(SPAN_ATTR_DISPATCH_ACTION_INTERNAL_TYPE, true);\n\t\t\t\tif (isExternalHostDispatch) {\n\t\t\t\t\tspan.end();\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (isPropertyUpdate(type)) {\n\t\t\tif (isExternalHostDispatch) {\n\t\t\t\tspan.end();\n\t\t\t}\n\t\t\treturn hostVariables[HELPERS_IMMEDIATE].updateProperties(payload, {\n\t\t\t\tinteractionId: getInteractionId(meta)\n\t\t\t});\n\t\t}\n\n\t\tvalidateActionPayload(host, type, payload, hostVariables); // TODO: fix\n\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tmeta = normalizeActionMeta(meta, {host});\n\n\t\tconst action = {\n\t\t\ttype,\n\t\t\tpayload: meta.retargeted ? payload : appendToPayload(host, payload),\n\t\t\tmeta: createMetaData(host, meta, hostVariables),\n\t\t\terror\n\t\t};\n\n\t\temitNowUiEvent(ACTION_DISPATCHED, {\n\t\t\thost,\n\t\t\taction,\n\t\t\tancestorPath: hostVariables?.[ANCESTOR_PATH]?.map(ancestorElement => {\n\t\t\t\treturn {componentId: ancestorElement.nowId, componentName: ancestorElement.tagName};\n\t\t\t})\n\t\t});\n\n\t\tif (\n\t\t\t!hostVariables[PRESENTATIONAL] &&\n\t\t\t!meta.internal &&\n\t\t\t!hasActionHandlerForType(hostVariables, type)\n\t\t)\n\t\t\taddActionHandlerForUnknownType(host, type, hostVariables);\n\n\t\tmark(host, getInteractionId(action.meta), metrics.DISPATCH, {type});\n\t\tif (isExternalHostDispatch) {\n\t\t\tspan.end();\n\t\t}\n\t\treturn dispatcher(host, action);\n\t};\n}\n","import {\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_MODE_DETACH,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tNOW_MODE_PROP\n} from '../../constants';\n\nexport function skipForDetachedComponent(host, type, payload) {\n\tif (host[NOW_MODE_PROP] !== COMPONENT_MODE_DETACH) return false;\n\tconst allowedLifeCycleActions = [\n\t\tCOMPONENT_CONNECTED,\n\t\tCOMPONENT_BOOTSTRAPPED,\n\t\tCOMPONENT_DISCONNECTED\n\t];\n\tif (allowedLifeCycleActions.includes(type)) return false;\n\tif (type !== COMPONENT_PROPERTY_CHANGED) return true;\n\treturn payload.name !== NOW_MODE_PROP;\n}\n","export default function isStoreUpdate(actionType) {\n\treturn actionType === 'STORE_UPDATED';\n}\n","import {PROPERTIES_SET} from '../../constants';\n\nexport function isPropertyUpdate(type) {\n\treturn type === PROPERTIES_SET;\n}\n","import {CONFIG} from '../../symbols';\nimport log from '../../log';\n\nexport function validateActionPayload(host, type, payload, hostVariables) {\n\tconst {[type]: {validate} = {}} = hostVariables[CONFIG].actions;\n\n\tif (\n\t\t(process.env.NODE_ENV !== 'production' && payload && typeof payload !== 'object') ||\n\t\tArray.isArray(payload)\n\t) {\n\t\tlog(\n\t\t\t`Expected payload of ${type} to be an Object but found ${payload}. This will result in inconsistent behavior when combined with behavior options or appendToPayload.`,\n\t\t\t{host, origin: 'validateActionPayload'}\n\t\t);\n\t}\n\n\tif (typeof validate === 'function') validate(payload, host);\n}\n","import {TARGETED_ACTION_TYPES} from '../../symbols';\n\nexport function hasActionHandlerForType(hostVariables, type) {\n\treturn hostVariables[TARGETED_ACTION_TYPES].some(actionType => actionType === type);\n}\n","import {normalizeActionHandler} from '../utils/config/normalizeActionHandler';\nimport {createInterceptors} from '../utils/config/createInterceptors';\nimport {ACTION_HANDLERS, TARGETED_ACTION_TYPES, CONFIG} from '../symbols';\nimport {addActionHandler} from './customEventActionHandler';\nimport {onAction} from './onAction';\n\nexport function addActionHandlerForUnknownType(host, type, hostVariables) {\n\tif (!(type in hostVariables[CONFIG].interceptors)) {\n\t\tconst actionHandler = normalizeActionHandler(() => {}, host.tagName);\n\n\t\tconst interceptors = createInterceptors({\n\t\t\t[type]: actionHandler\n\t\t});\n\n\t\thostVariables[CONFIG].interceptors = {...hostVariables[CONFIG].interceptors, ...interceptors}; // eslint-disable-line no-param-reassign\n\t}\n\n\tconst removeActionHandler = addActionHandler(host, null, host, type, false, false, onAction);\n\thostVariables[ACTION_HANDLERS].push(removeActionHandler);\n\thostVariables[TARGETED_ACTION_TYPES] = [...hostVariables[TARGETED_ACTION_TYPES], type]; // eslint-disable-line no-param-reassign\n}\n","import {applyInteractionId, getInteractionId} from '@servicenow/ui-metrics';\nimport {CONFIG, DISPATCH, INTERNAL_HOST_DISPATCH, PRESENTATIONAL} from '../symbols';\nimport {emitNowUiEvent, getHostVariables, getSpanOptions} from '../utils';\nimport {\n\tACTION_DISPATCHED,\n\tSPAN_ATTR_DISPATCH_ACTION_TYPE,\n\tSPAN_FOR_DISPATCH,\n\tSPAN_KIND_CLIENT,\n\tSPAN_LIFECYCLE_EVENTS,\n\tSPAN_ATTR_CONDITIONAL\n} from '../constants';\nimport * as uiAnalyticsConsumer from '@servicenow/ui-analytics-consumer';\nimport {getActiveSpan} from '../utils/activeSpan';\nconst {trace, isValidTraceId} = uiAnalyticsConsumer;\n\nexport function createConditionalDispatch(host) {\n\tconst hostVariables = getHostVariables(host);\n\tconst spanOptions = getSpanOptions(host);\n\treturn function dispatch(type, payload, meta, error) {\n\t\tapplyInteractionId(meta);\n\t\tif (!hostVariables[PRESENTATIONAL] && hostVariables[CONFIG].shouldDispatch[type]) {\n\t\t\tlet lifecycleSpan;\n\t\t\tlet traceName;\n\t\t\tif ((traceName = SPAN_LIFECYCLE_EVENTS[type])) {\n\t\t\t\tlet parentSpan = meta.span || getActiveSpan(host);\n\t\t\t\tlifecycleSpan = trace(SPAN_FOR_DISPATCH, {\n\t\t\t\t\t...spanOptions,\n\t\t\t\t\ttraceId: getInteractionId(meta),\n\t\t\t\t\tkind: SPAN_KIND_CLIENT,\n\t\t\t\t\t...(parentSpan && isValidTraceId(parentSpan.traceId) && {parentSpan})\n\t\t\t\t});\n\t\t\t\tlifecycleSpan.setAttribute(SPAN_ATTR_DISPATCH_ACTION_TYPE, traceName);\n\t\t\t\tlifecycleSpan.setAttribute(SPAN_ATTR_CONDITIONAL, true);\n\t\t\t\tif (isValidTraceId(lifecycleSpan.traceId)) meta.span = lifecycleSpan;\n\t\t\t\tmeta[INTERNAL_HOST_DISPATCH] = true;\n\t\t\t}\n\t\t\tconst result = hostVariables[DISPATCH](type, payload, meta, error);\n\t\t\tlifecycleSpan && lifecycleSpan.end();\n\t\t\treturn result;\n\t\t}\n\t\temitNowUiEvent(ACTION_DISPATCHED, {host, action: {type, payload, meta, error}});\n\t};\n}\n","import {getHostVariables} from '../utils';\nimport {allLogTypes as logTypes} from '@servicenow/ui-internal';\n\nimport {onAction} from './onAction';\nimport {onActionHoisted} from './onActionHoisted';\nimport {addActionHandler} from './customEventActionHandler';\nimport {isHoisted, getHoistTarget} from './utils';\nimport {RETARGETED_ACTION_TYPES, TARGETED_ACTION_TYPES} from '../symbols';\nimport {SEISMIC_HOIST_TAG_NAME} from '../constants';\nimport log from '../log';\n\nfunction resolveCaptureHandlerMetaData(interceptors) {\n\tconst {length: interceptorCount} = interceptors;\n\tfor (let i = 0; i < interceptorCount; i++) {\n\t\tconst {capture, eventHandler} = interceptors[i];\n\t\tif (capture !== undefined && eventHandler !== undefined) return {capture, eventHandler};\n\t}\n\treturn {capture: false, eventHandler: false};\n}\n\nexport function addActionHandlers(host, actions) {\n\tconst handlers = [];\n\tconst hoisted = isHoisted(host);\n\tconst hostVariables = getHostVariables(host);\n\n\tif (actions[undefined]) {\n\t\tlog(\n\t\t\t'You are registering an action handler for a type that is: undefined.  We will send undefined actions to the upside down place in the next release.',\n\t\t\t{level: logTypes.WARN, host, origin: 'addActionHandlers'}\n\t\t);\n\t}\n\n\tfor (const k in actions) {\n\t\tactions[k].forEach(function forEachTarget(interceptors, targetSelector) {\n\t\t\tconst {capture, eventHandler} = resolveCaptureHandlerMetaData(interceptors);\n\t\t\tconst resolvedTarget =\n\t\t\t\ttargetSelector === 'host'\n\t\t\t\t\t? host\n\t\t\t\t\t: typeof targetSelector === 'string'\n\t\t\t\t\t? document.querySelector(targetSelector)\n\t\t\t\t\t: targetSelector;\n\n\t\t\tif (hoisted) {\n\t\t\t\tconst hoistElem = getHoistTarget(hostVariables);\n\t\t\t\tif (hoistElem.tagName === SEISMIC_HOIST_TAG_NAME) {\n\t\t\t\t\tconst hoistElemVariables = getHostVariables(hoistElem);\n\t\t\t\t\thandlers.push(\n\t\t\t\t\t\taddActionHandler(\n\t\t\t\t\t\t\thoistElem,\n\t\t\t\t\t\t\ttargetSelector,\n\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\tk,\n\t\t\t\t\t\t\tcapture,\n\t\t\t\t\t\t\teventHandler,\n\t\t\t\t\t\t\tonActionHoisted\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t\thoistElemVariables[RETARGETED_ACTION_TYPES] = [\n\t\t\t\t\t\t...hoistElemVariables[RETARGETED_ACTION_TYPES],\n\t\t\t\t\t\tk\n\t\t\t\t\t];\n\t\t\t\t}\n\t\t\t}\n\t\t\thandlers.push(\n\t\t\t\taddActionHandler(resolvedTarget, targetSelector, host, k, capture, eventHandler, onAction)\n\t\t\t);\n\t\t\thostVariables[TARGETED_ACTION_TYPES] = [...hostVariables[TARGETED_ACTION_TYPES], k]; // eslint-disable-line no-param-reassign\n\t\t});\n\t}\n\n\treturn handlers;\n}\n","export function removeActionHandlers(handlers) {\n\tconst {length: actionsHandlersCount} = handlers;\n\n\tfor (let i = 0; i < actionsHandlersCount; i++) handlers[i]();\n\n\treturn [];\n}\n",null,null,null,null,null,null,"import getHostVariables from '../getHostVariables';\nimport {STATE, CONTEXT} from '../../symbols';\n\nexport default function getStatePropsContext(host, interactionId) {\n\tconst hostVariables = getHostVariables(host);\n\tconst properties = host.getResolvedProperties(interactionId);\n\tconst state = hostVariables[STATE] || {};\n\tconst context = hostVariables[CONTEXT];\n\n\treturn {properties, state, context};\n}\n","const {\n\tdeclarativeOperations: {SET, ASSIGN, MERGE}\n} = operations;\nimport * as operations from '../operators/operations';\nimport getStatePropsContext from './getStatePropsContext';\nimport {get, isPlainObject} from '@servicenow/ui-internal';\n\nconst isEmptyStateUpdate = value => {\n\treturn (\n\t\t// (value instanceof Map && value.size === 0) ||\n\t\tisPlainObject(value) && Object.keys(value).length === 0\n\t);\n};\n\nfunction isPrimitive(value) {\n\tconst type = typeof value;\n\tif (type === 'object' || type === 'function') return false;\n\n\tif (type === 'string') return true;\n\tif (type === 'bigint') return true;\n\tif (type === 'boolean') return true;\n\tif (type === 'number') return true;\n\n\treturn false;\n}\n\nconst isPrimitiveOrNull = value => isPrimitive(value) || value === null;\n\nexport function isDeclarativeUpdate(update = {}) {\n\tconst {operation, path, value} = update;\n\treturn operation && (path || value);\n}\n\nexport function isValidOperation(operation) {\n\treturn operations[operation] !== undefined;\n}\n\nexport function isBatch(update) {\n\treturn Array.isArray(update) && update.every(u => isDeclarativeUpdate(u) || isUpdater(u));\n}\n\nexport function isUpdater(update) {\n\treturn typeof update === 'function';\n}\n\nexport function resolveUpdate(host, hostVariables, update, interactionId) {\n\tif (!isUpdater(update)) return update;\n\n\tconst statePropsContext = getStatePropsContext(host, interactionId);\n\treturn update(statePropsContext) || statePropsContext;\n}\n\nexport function isValidOptimisationOperation(operation) {\n\treturn operation && [SET, ASSIGN, MERGE].includes(operation);\n}\n\nexport function shouldUpdateState(currentState, update) {\n\tconst declarativeUpdate = !!isDeclarativeUpdate(update);\n\tconst {path = '', value, operation} = update;\n\tif (declarativeUpdate && operation !== SET && operation !== ASSIGN && operation !== MERGE)\n\t\treturn true;\n\n\tconst updateKeys = declarativeUpdate ? null : Object.keys(update);\n\tif (updateKeys === null || updateKeys.length === 1) {\n\t\tconst currentValue = declarativeUpdate ? get(currentState, path) : currentState[updateKeys[0]];\n\t\tconst nextValue = declarativeUpdate ? value : update[updateKeys[0]];\n\t\tif (\n\t\t\tisPrimitiveOrNull(nextValue) &&\n\t\t\tisPrimitiveOrNull(currentValue) &&\n\t\t\tnextValue === currentValue\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (isEmptyStateUpdate(nextValue) && isEmptyStateUpdate(currentValue)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (isPlainObject(currentValue) && isPlainObject(nextValue)) {\n\t\t\tconst nextValueKeys = Object.keys(nextValue);\n\t\t\tconst currentValueKeys = Object.keys(currentValue);\n\n\t\t\tif (nextValueKeys.length <= 2 && nextValueKeys.length === currentValueKeys.length) {\n\t\t\t\tconst currentValue1 = currentValue[nextValueKeys[0]];\n\t\t\t\tconst currentValue2 = currentValue[nextValueKeys[1]];\n\t\t\t\tconst nextValue1 = nextValue[nextValueKeys[0]];\n\t\t\t\tconst nextValue2 = nextValue[nextValueKeys[1]];\n\n\t\t\t\tif (\n\t\t\t\t\tdeclarativeUpdate &&\n\t\t\t\t\toperation === SET &&\n\t\t\t\t\t(nextValueKeys[0] !== currentValueKeys[0] || nextValueKeys[1] !== currentValueKeys[1])\n\t\t\t\t)\n\t\t\t\t\treturn true;\n\n\t\t\t\tif (\n\t\t\t\t\tisPrimitiveOrNull(nextValue1) &&\n\t\t\t\t\tisPrimitiveOrNull(currentValue1) &&\n\t\t\t\t\tnextValue1 === currentValue1 &&\n\t\t\t\t\tisPrimitiveOrNull(nextValue2) &&\n\t\t\t\t\tisPrimitiveOrNull(currentValue2) &&\n\t\t\t\t\tnextValue2 === currentValue2\n\t\t\t\t) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn true;\n}\n","import * as uiAnalyticsConsumer from '@servicenow/ui-analytics-consumer';\nimport {createInteractionId, mark, types as metrics} from '@servicenow/ui-metrics';\nimport {produce} from 'immer';\nimport {\n\tisDeclarativeUpdate,\n\tisValidOperation,\n\tisBatch,\n\tresolveUpdate,\n\tisValidOptimisationOperation,\n\tshouldUpdateState\n} from './utils';\nimport * as operations from '../operators/operations';\nimport getHostVariables from '../getHostVariables';\nimport {schedule, types} from '../../scheduler';\nimport deferHelperExecution from './deferHelperExecution';\nimport {STATE, RENDER, COMPONENT_ID, CONDITIONAL_DISPATCH, PROPS} from '../../symbols';\nimport {\n\tHELPERS_SCHEDULED,\n\tSCHEDULE_IMMEDIATELY_DO_NOT_USE_OR_YOU_WILL_BE_IMMEDIATELY_FIRED,\n\tSTATE_UPDATED,\n\tHELPERS_DEFER,\n\tCOMPONENT_STATE_UPDATED,\n\tNOW_AVOID_RENDER_PROP,\n\tSPAN_ATTR_UPDATE_PAYLOAD,\n\tSPAN_ATTR_DID_UPDATE,\n\tSPAN_ATTR_SHOULD_RENDER,\n\tSPAN_FOR_UPDATE_STATE,\n\tSPAN_KIND_CLIENT\n} from '../../constants';\nimport log from '../../log';\nimport {emitNowUiEvent, shouldOptOutOfDeepCompareForPage, getSpanOptions} from '../';\nimport {get, isSelectiveEqual} from '@servicenow/ui-internal';\nimport {getConfigItem, configConstants} from '@servicenow/ui-config';\n\nconst {ENABLE_DECLARATIVE_STATE_UPDATE_DEEP_COMPARE} = configConstants;\nlet optOutDeepCompare = shouldOptOutOfDeepCompareForPage('state');\nconst shouldDeepCompareValues = getConfigItem(ENABLE_DECLARATIVE_STATE_UPDATE_DEEP_COMPARE);\nconst {IMMEDIATE, STATE_SET} = types;\nconst {\n\tdeclarativeOperations: {ASSIGN}\n} = operations;\nconst {trace, isValidTraceId} = uiAnalyticsConsumer;\n\nwindow.addEventListener(\n\t'popstate',\n\t() => (optOutDeepCompare = shouldOptOutOfDeepCompareForPage('state'))\n);\n\nfunction handleStateUpdate(host, hostVariables, update, interactionId) {\n\tconst resolvedUpdate = resolveUpdate(host, hostVariables, update, interactionId);\n\tconst {\n\t\tshouldUpdate = true,\n\t\toperation = ASSIGN,\n\t\tpath = '',\n\t\tstart,\n\t\tdeleteCount,\n\t\taddItems,\n\t\tshouldRender = true,\n\t\tvalue\n\t} = resolvedUpdate;\n\n\tif (!shouldUpdate || !shouldUpdateState(hostVariables[STATE], resolvedUpdate))\n\t\treturn {didUpdate: false, shouldRender: false};\n\n\t// this an extremly naive implementation. it doesn't account\n\t// for operations like push or pop that you'd want to perform\n\t// before diffing the values\n\tif (shouldDeepCompareValues && !optOutDeepCompare && path && operation && value) {\n\t\tconst nextValue = value;\n\t\tconst currentValue = get(hostVariables[STATE], path);\n\t\tif (isSelectiveEqual(currentValue, nextValue)) return {didUpdate: false, shouldRender: false};\n\t}\n\n\tconst previousState = hostVariables[STATE];\n\tconst props = hostVariables[PROPS];\n\tconst avoidRender = props && props[NOW_AVOID_RENDER_PROP];\n\tif (avoidRender && isValidOptimisationOperation(operation)) {\n\t\ttry {\n\t\t\tconst target = isDeclarativeUpdate(resolvedUpdate) ? value : resolvedUpdate;\n\t\t\tconst source = path ? get(previousState, path) : previousState;\n\t\t\tif (isSelectiveEqual(source, target)) return {didUpdate: false, shouldRender: false};\n\t\t} catch (error) {\n\t\t\tlog('Error while performing same state re-render optimisation pre-validation', {\n\t\t\t\terror,\n\t\t\t\thost,\n\t\t\t\torigin: 'handleStateUpdate'\n\t\t\t});\n\t\t}\n\t}\n\n\tconst nextState = produce(hostVariables[STATE] || {}, draftState => {\n\t\tif (operation === 'replace') return value;\n\n\t\tif (!isValidOperation(operation)) {\n\t\t\tlog(`Invalid update state operation: ${operation}`, {host, origin: 'handleStateUpdate'});\n\t\t\treturn;\n\t\t}\n\t\ttry {\n\t\t\toperations[operation](draftState, {\n\t\t\t\tpath,\n\t\t\t\tvalue: isDeclarativeUpdate(resolvedUpdate) ? value : resolvedUpdate,\n\t\t\t\tstart,\n\t\t\t\tdeleteCount,\n\t\t\t\taddItems: Array.isArray(addItems) ? addItems : []\n\t\t\t});\n\t\t} catch (error) {\n\t\t\tlog('Error while performing state update', {error, host, origin: 'handleStateUpdate'});\n\t\t}\n\t});\n\n\tif (nextState === previousState) return {didUpdate: false, shouldRender: false};\n\n\thostVariables[STATE] = nextState; // eslint-disable-line no-param-reassign\n\treturn {didUpdate: true, shouldRender};\n}\n\nfunction handleStateUpdateBatch(host, hostVariables, batch, interactionId) {\n\treturn batch.reduce(\n\t\t(acc, update) => {\n\t\t\tconst {shouldRender, didUpdate} = handleStateUpdate(\n\t\t\t\thost,\n\t\t\t\thostVariables,\n\t\t\t\tupdate,\n\t\t\t\tinteractionId\n\t\t\t);\n\n\t\t\tconst result = {...acc};\n\t\t\tif (didUpdate) result.didUpdate = true;\n\n\t\t\tif (shouldRender) result.shouldRender = true;\n\n\t\t\treturn result;\n\t\t},\n\t\t{didUpdate: false, shouldRender: false}\n\t);\n}\n\nconst resolveUpdateForMark = update => (typeof update === 'function' ? 'FUNCTION' : update);\nconst transformUpdateForMark = (update, isBatch) => {\n\tif (isBatch) return update.map(resolveUpdateForMark);\n\n\treturn resolveUpdateForMark(update);\n};\n\nexport default function createUpdateState(host, executionTiming) {\n\tconst hostVariables = getHostVariables(host);\n\n\treturn function updateState(update, options = {}) {\n\t\tconst interactionId = options.interactionId || createInteractionId();\n\t\tconst {span: activeSpan} = options;\n\t\tif (executionTiming === HELPERS_DEFER)\n\t\t\tmark(host, interactionId, metrics.DEFER, {deferred: metrics.UPDATE_STATE});\n\t\tconst meta = {el: host, interactionId};\n\t\tif (activeSpan && isValidTraceId(activeSpan.traceId)) meta.span = activeSpan;\n\t\tdeferHelperExecution(\n\t\t\texecutionTiming,\n\t\t\t() => {\n\t\t\t\t// TODO: Remove this immediate option for a better scheduling alternative\n\t\t\t\t// https://code.devsnc.com/gist/dylan-mozlowski/07bf0ab13b2c8a12f0cc6e59bf4cf911\n\t\t\t\tconst {\n\t\t\t\t\t[SCHEDULE_IMMEDIATELY_DO_NOT_USE_OR_YOU_WILL_BE_IMMEDIATELY_FIRED]:\n\t\t\t\t\t\toptionallyImmediate = false\n\t\t\t\t} = options;\n\t\t\t\tconst updateStateSpan = trace(SPAN_FOR_UPDATE_STATE, {\n\t\t\t\t\t...getSpanOptions(host),\n\t\t\t\t\ttraceId: interactionId,\n\t\t\t\t\tkind: SPAN_KIND_CLIENT,\n\t\t\t\t\tparentSpan: meta.span\n\t\t\t\t});\n\t\t\t\tschedule({\n\t\t\t\t\tfn() {\n\t\t\t\t\t\tconst resolvedUpdate = resolveUpdate(host, hostVariables, update, interactionId);\n\t\t\t\t\t\tconst shouldBatch = isBatch(resolvedUpdate);\n\n\t\t\t\t\t\tmark(host, interactionId, metrics.UPDATE_STATE, {\n\t\t\t\t\t\t\tupdate: transformUpdateForMark(resolvedUpdate, shouldBatch)\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tconst previousState = hostVariables[STATE];\n\t\t\t\t\t\tconst updateHandler = shouldBatch ? handleStateUpdateBatch : handleStateUpdate;\n\t\t\t\t\t\tconst {didUpdate, shouldRender} = updateHandler(\n\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\thostVariables,\n\t\t\t\t\t\t\tresolvedUpdate,\n\t\t\t\t\t\t\tinteractionId\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (!didUpdate) {\n\t\t\t\t\t\t\tupdateStateSpan.setAttribute(SPAN_ATTR_DID_UPDATE, false);\n\t\t\t\t\t\t\tupdateStateSpan.end();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tupdateStateSpan.setAttribute(\n\t\t\t\t\t\t\tSPAN_ATTR_UPDATE_PAYLOAD,\n\t\t\t\t\t\t\ttransformUpdateForMark(resolvedUpdate, shouldBatch)\n\t\t\t\t\t\t);\n\t\t\t\t\t\temitNowUiEvent(STATE_UPDATED, {\n\t\t\t\t\t\t\tcomponentId: hostVariables[COMPONENT_ID],\n\t\t\t\t\t\t\tpreviousState,\n\t\t\t\t\t\t\tnextState: hostVariables[STATE]\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tif (shouldRender) {\n\t\t\t\t\t\t\tupdateStateSpan.setAttribute(SPAN_ATTR_SHOULD_RENDER, true);\n\t\t\t\t\t\t\thost[RENDER](interactionId, metrics.UPDATE_STATE, {\n\t\t\t\t\t\t\t\tupdate: transformUpdateForMark(resolvedUpdate, shouldBatch),\n\t\t\t\t\t\t\t\tactiveSpan: updateStateSpan\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tupdateStateSpan.setAttribute(SPAN_ATTR_SHOULD_RENDER, false);\n\t\t\t\t\t\t}\n\t\t\t\t\t\thostVariables[CONDITIONAL_DISPATCH](\n\t\t\t\t\t\t\tCOMPONENT_STATE_UPDATED,\n\t\t\t\t\t\t\t{previousState, update},\n\t\t\t\t\t\t\t{internal: true, span: updateStateSpan}\n\t\t\t\t\t\t);\n\t\t\t\t\t\tupdateStateSpan.end();\n\t\t\t\t\t},\n\t\t\t\t\tmeta: {...meta, span: updateStateSpan},\n\t\t\t\t\ttype: executionTiming !== HELPERS_SCHEDULED || optionallyImmediate ? IMMEDIATE : STATE_SET\n\t\t\t\t});\n\t\t\t},\n\t\t\tmeta\n\t\t);\n\t};\n}\n","import {getConsumers} from './consumers';\nimport {RENDER} from '../symbols';\nimport {types as metrics} from '@servicenow/ui-metrics';\n\nexport default function renderContextConsumers(ctxKey, interactionId, details) {\n\tconst consumers = getConsumers(ctxKey);\n\n\tfor (const consumer of consumers) {\n\t\tconsumer[RENDER](interactionId, metrics.UPDATE_CONTEXT, details);\n\t}\n}\n","import * as uiAnalyticsConsumer from '@servicenow/ui-analytics-consumer';\nimport getStatePropsContext from './getStatePropsContext';\nimport {createInteractionId, mark, types as metrics} from '@servicenow/ui-metrics';\nimport {produce} from 'immer';\nimport {isValidOperation, isBatch, isUpdater} from './utils';\nimport * as operations from '../operators/operations';\nimport getHostVariables from '../getHostVariables';\nimport {schedule, types} from '../../scheduler';\nimport deferHelperExecution from './deferHelperExecution';\nimport {\n\tHELPERS_SCHEDULED,\n\tSCHEDULE_IMMEDIATELY_DO_NOT_USE_OR_YOU_WILL_BE_IMMEDIATELY_FIRED,\n\tHELPERS_DEFER,\n\tSPAN_FOR_UPDATE_CONTEXT,\n\tSPAN_KIND_CLIENT,\n\tSPAN_ATTR_UPDATE_CONTEXT_SHOULD_BATCH,\n\tSPAN_ATTR_UPDATE_PAYLOAD,\n\tSPAN_ATTR_DID_UPDATE,\n\tSPAN_ATTR_SHOULD_RENDER\n} from '../../constants';\nimport log from '../../log';\nimport renderContextConsumers from '../../context/renderContextConsumers';\nimport {getContext, setContext} from '../../context/contexts';\nimport {getSpanOptions} from '../';\nconst {trace} = uiAnalyticsConsumer;\nconst {IMMEDIATE, STATE_SET} = types;\nconst {\n\tdeclarativeOperations: {ASSIGN}\n} = operations;\n\nconst resolveUpdate = (host, hostVariables, update, interactionId) => {\n\tif (!isUpdater(update)) return update;\n\n\tconst statePropsContext = getStatePropsContext(host, interactionId);\n\treturn update(statePropsContext);\n};\n\nfunction handleContextUpdate(host, hostVariables, update, interactionId) {\n\tconst resolvedUpdate = resolveUpdate(host, hostVariables, update, interactionId);\n\n\tif (!resolvedUpdate) return {didUpdate: false, shouldRender: false};\n\n\tconst {context: contextKey} = resolvedUpdate;\n\tconst previousContext = getContext(contextKey);\n\tconst {\n\t\tshouldUpdate = true,\n\t\toperation = previousContext !== null && typeof previousContext === 'object' ? ASSIGN : '',\n\t\tpath = '',\n\t\tstart,\n\t\tdeleteCount,\n\t\taddItems,\n\t\tshouldRender = true,\n\t\tvalue\n\t} = resolvedUpdate;\n\n\tif (!shouldUpdate) return {didUpdate: false, shouldRender: false};\n\n\tconst nextContext = produce(getContext(contextKey) || {}, draftState => {\n\t\tif (!operation) return value;\n\n\t\tif (!isValidOperation(operation)) {\n\t\t\tlog(`Invalid update context operation: ${operation}`, {host, origin: 'handleContextUpdate'});\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\toperations[operation](draftState, {\n\t\t\t\tpath,\n\t\t\t\tvalue,\n\t\t\t\tstart,\n\t\t\t\tdeleteCount,\n\t\t\t\taddItems: Array.isArray(addItems) ? addItems : []\n\t\t\t});\n\t\t} catch (error) {\n\t\t\tlog('Error while performing context update', {error, host, origin: 'handleContextUpdate'});\n\t\t}\n\t});\n\n\tif (nextContext === previousContext) return {didUpdate: false, shouldRender: false};\n\n\tsetContext(contextKey, nextContext);\n\treturn {didUpdate: true, shouldRender};\n}\n\nfunction handleContextUpdateBatch(host, hostVariables, batch, interactionId) {\n\treturn batch.reduce(\n\t\t(acc, update) => {\n\t\t\tconst {shouldRender, didUpdate} = handleContextUpdate(\n\t\t\t\thost,\n\t\t\t\thostVariables,\n\t\t\t\tupdate,\n\t\t\t\tinteractionId\n\t\t\t);\n\n\t\t\tconst result = {...acc};\n\t\t\tif (didUpdate) result.didUpdate = true;\n\n\t\t\tif (shouldRender) result.shouldRender = true;\n\n\t\t\treturn result;\n\t\t},\n\t\t{didUpdate: false, shouldRender: false}\n\t);\n}\n\nconst resolveUpdateForMark = update => (update === 'function' ? 'FUNCTION' : update);\nconst transformUpdateForMark = (update, isBatch) => {\n\tif (isBatch) return update.map(resolveUpdateForMark);\n\n\treturn resolveUpdateForMark(update);\n};\n\nexport default function createUpdateContext(host, executionTiming) {\n\tconst hostVariables = getHostVariables(host);\n\n\treturn function updateContext(update, options = {}) {\n\t\tconst interactionId = options.interactionId || createInteractionId();\n\t\tconst activeSpan = options.span;\n\t\tif (executionTiming === HELPERS_DEFER)\n\t\t\tmark(host, interactionId, metrics.DEFER, {deferred: metrics.UPDATE_CONTEXT});\n\t\tconst meta = {el: host, interactionId, span: activeSpan};\n\t\tdeferHelperExecution(\n\t\t\texecutionTiming,\n\t\t\t() => {\n\t\t\t\t// TODO: Remove this immediate option for a better scheduling alternative\n\t\t\t\t// https://code.devsnc.com/gist/dylan-mozlowski/07bf0ab13b2c8a12f0cc6e59bf4cf911\n\t\t\t\tconst {\n\t\t\t\t\t[SCHEDULE_IMMEDIATELY_DO_NOT_USE_OR_YOU_WILL_BE_IMMEDIATELY_FIRED]:\n\t\t\t\t\t\toptionallyImmediate = false\n\t\t\t\t} = options;\n\t\t\t\tconst updateContextSpan = trace(SPAN_FOR_UPDATE_CONTEXT, {\n\t\t\t\t\t...getSpanOptions(host),\n\t\t\t\t\ttraceId: interactionId,\n\t\t\t\t\tkind: SPAN_KIND_CLIENT,\n\t\t\t\t\tparentSpan: activeSpan\n\t\t\t\t});\n\t\t\t\tschedule({\n\t\t\t\t\tfn() {\n\t\t\t\t\t\tconst shouldBatch = isBatch(update);\n\t\t\t\t\t\tconst transformedUpdate = transformUpdateForMark(update, shouldBatch);\n\t\t\t\t\t\tmark(host, interactionId, metrics.UPDATE_CONTEXT, {\n\t\t\t\t\t\t\tupdate: transformedUpdate\n\t\t\t\t\t\t});\n\t\t\t\t\t\tupdateContextSpan.setAttribute(SPAN_ATTR_UPDATE_CONTEXT_SHOULD_BATCH, shouldBatch);\n\t\t\t\t\t\tupdateContextSpan.setAttribute(SPAN_ATTR_UPDATE_PAYLOAD, transformedUpdate);\n\t\t\t\t\t\tconst updateHandler = shouldBatch ? handleContextUpdateBatch : handleContextUpdate;\n\t\t\t\t\t\tconst {didUpdate, shouldRender} = updateHandler(\n\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\thostVariables,\n\t\t\t\t\t\t\tupdate,\n\t\t\t\t\t\t\tinteractionId\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (!didUpdate) {\n\t\t\t\t\t\t\tupdateContextSpan.setAttribute(SPAN_ATTR_DID_UPDATE, false);\n\t\t\t\t\t\t\tupdateContextSpan.end();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (shouldRender) {\n\t\t\t\t\t\t\tconst contexts = shouldBatch ? update.map(({context}) => context) : [update.context];\n\t\t\t\t\t\t\tfor (let i = 0; i < contexts.length; i++) {\n\t\t\t\t\t\t\t\trenderContextConsumers(contexts[i], interactionId, {\n\t\t\t\t\t\t\t\t\tupdate: transformUpdateForMark(update, shouldBatch),\n\t\t\t\t\t\t\t\t\tactiveSpan: updateContextSpan\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tupdateContextSpan.setAttribute(SPAN_ATTR_SHOULD_RENDER, false);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tupdateContextSpan.end();\n\t\t\t\t\t},\n\t\t\t\t\tmeta: {...meta, span: updateContextSpan},\n\t\t\t\t\ttype: executionTiming !== HELPERS_SCHEDULED || optionallyImmediate ? IMMEDIATE : STATE_SET\n\t\t\t\t});\n\t\t\t},\n\t\t\tmeta\n\t\t);\n\t};\n}\n","import * as uiAnalyticsConsumer from '@servicenow/ui-analytics-consumer';\nimport {mark, types as metrics} from '@servicenow/ui-metrics';\nimport log from '../../log';\nimport * as operations from '../operators/operations';\nimport {splitPath} from '@servicenow/ui-internal';\nimport {schedule, types} from '../../scheduler';\nimport {properties as parseProperties} from '../parse';\nimport getHostVariables from '../getHostVariables';\nimport getStatePropsContext from './getStatePropsContext';\nimport deferHelperExecution from './deferHelperExecution';\nimport {\n\tHELPERS_SCHEDULED as HELPERS_SCHEDULED_CONST,\n\tHELPERS_DEFER,\n\tSPAN_FOR_UPDATE_PROPERTIES,\n\tSPAN_ATTR_UPDATE_PROPERTIES_PROPNAME,\n\tSPAN_ATTR_UPDATE_PROPERTIES_PROPVALUE,\n\tSPAN_ATTR_UPDATE_PROPERTIES_SHOULD_UPDATE,\n\tSPAN_ATTR_UPDATE_PROPERTIES_PROP,\n\tSPAN_KIND_CLIENT\n} from '../../constants';\nimport {HELPERS_SCHEDULED, SET_PROPERTY, PROPS} from '../../symbols';\nimport quickEquals from './quickEquals';\nimport {getSpanOptions} from '../';\n\nconst {IMMEDIATE, PROPERTY_SET} = types;\nconst {\n\tdeclarativeOperations: {ASSIGN}\n} = operations;\nconst {trace, isValidTraceId} = uiAnalyticsConsumer;\n\nconst setProperties = (host, properties, propertyDefs, options) => {\n\tconst {interactionId, span: activeSpan} = options;\n\tconst hostVariables = getHostVariables(host);\n\tconst {dispatch} = hostVariables[HELPERS_SCHEDULED];\n\tconst parsedProperties = parseProperties(properties, propertyDefs, {host, dispatch});\n\tfor (const k in parsedProperties) {\n\t\t// for backwards compatibility an undefined must still be set on the instance\n\t\tif (!propertyDefs.hasOwnProperty(k)) {\n\t\t\thost[k] = parsedProperties[k]; // eslint-disable-line no-param-reassign\n\t\t\tif (process.env.NODE_ENV === 'development') {\n\t\t\t\tlog(\n\t\t\t\t\t`${host.tagName.toLowerCase()} is missing a property definition for \"${k}\".  Properties set with missing definitions will not be available to the view or action handlers.`,\n\t\t\t\t\t{host, origin: 'setProperties'}\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\t// FIXME: Not handling cases where component starts with no old props\n\t\t\tconst old = hostVariables[PROPS][k];\n\t\t\tconst current = parsedProperties[k];\n\t\t\tif (quickEquals(old, current)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (activeSpan) {\n\t\t\t\tactiveSpan.setAttribute(SPAN_ATTR_UPDATE_PROPERTIES_PROPNAME, k);\n\t\t\t\tactiveSpan.setAttribute(SPAN_ATTR_UPDATE_PROPERTIES_PROPVALUE, current);\n\t\t\t\thost[SET_PROPERTY](k, parsedProperties[k], true, {interactionId, span: activeSpan});\n\t\t\t}\n\t\t\t// eslint-disable-line no-param-reassign\n\t\t\telse host[SET_PROPERTY](k, parsedProperties[k], true, {interactionId}); // eslint-disable-line no-param-reassign\n\t\t}\n\t}\n};\n\nexport default function createUpdateProperties(host, propertyDefs, executionTiming) {\n\treturn function updateProperties(update, options = {}) {\n\t\tconst {interactionId, span: activeSpan} = options;\n\t\tif (executionTiming === HELPERS_DEFER) {\n\t\t\tmark(host, interactionId, metrics.DEFER, {deferred: metrics.UPDATE_PROPERTIES});\n\t\t}\n\n\t\tconst meta = {el: host, interactionId};\n\t\tif (activeSpan && isValidTraceId(activeSpan.traceId)) {\n\t\t\tmeta.span = activeSpan;\n\t\t}\n\n\t\tdeferHelperExecution(\n\t\t\texecutionTiming,\n\t\t\t() => {\n\t\t\t\tconst updatePropSpan = trace(SPAN_FOR_UPDATE_PROPERTIES, {\n\t\t\t\t\t...getSpanOptions(host),\n\t\t\t\t\ttraceId: interactionId,\n\t\t\t\t\tkind: SPAN_KIND_CLIENT,\n\t\t\t\t\t...(meta.span && isValidTraceId(meta.span.traceId) && {parentSpan: meta.span})\n\t\t\t\t});\n\t\t\t\tschedule({\n\t\t\t\t\tfn() {\n\t\t\t\t\t\tmark(host, interactionId, metrics.UPDATE_PROPERTIES, {\n\t\t\t\t\t\t\tupdate: typeof update === 'function' ? 'DECLARATIVE' : 'OBJECT'\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (typeof update === 'function') {\n\t\t\t\t\t\t\tconst stateProps = getStatePropsContext(host, interactionId);\n\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\tshouldUpdate = true,\n\t\t\t\t\t\t\t\toperation = ASSIGN,\n\t\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\tstart,\n\t\t\t\t\t\t\t\tdeleteCount,\n\t\t\t\t\t\t\t\taddItems\n\t\t\t\t\t\t\t} = update(stateProps);\n\n\t\t\t\t\t\t\tif (shouldUpdate) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tconst propertyPath = splitPath(path);\n\t\t\t\t\t\t\t\t\tconst propertyLen = propertyPath.length;\n\t\t\t\t\t\t\t\t\tconst [name] = propertyPath;\n\t\t\t\t\t\t\t\t\tconst propertyValue = host[name];\n\t\t\t\t\t\t\t\t\tif (propertyValue === null || typeof propertyValue !== 'object') {\n\t\t\t\t\t\t\t\t\t\tupdatePropSpan.setAttribute(SPAN_ATTR_UPDATE_PROPERTIES_PROPNAME, name);\n\t\t\t\t\t\t\t\t\t\tupdatePropSpan.setAttribute(SPAN_ATTR_UPDATE_PROPERTIES_PROPVALUE, value);\n\t\t\t\t\t\t\t\t\t\tsetProperties(host, {[name]: value}, propertyDefs, {\n\t\t\t\t\t\t\t\t\t\t\tinteractionId,\n\t\t\t\t\t\t\t\t\t\t\t...(isValidTraceId(updatePropSpan.traceId) && {span: updatePropSpan})\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tconst propertyValue = {};\n\t\t\t\t\t\t\t\t\t\tlet pvRef = propertyValue;\n\t\t\t\t\t\t\t\t\t\tlet hostRef = host;\n\t\t\t\t\t\t\t\t\t\tfor (let i = 0; i < propertyLen; i++) {\n\t\t\t\t\t\t\t\t\t\t\tconst name = propertyPath[i];\n\t\t\t\t\t\t\t\t\t\t\tconst value = hostRef[name];\n\t\t\t\t\t\t\t\t\t\t\tif (value === null || typeof value !== 'object') break;\n\t\t\t\t\t\t\t\t\t\t\tif (Array.isArray(value)) pvRef[name] = value.slice();\n\t\t\t\t\t\t\t\t\t\t\telse pvRef[name] = {...value};\n\n\t\t\t\t\t\t\t\t\t\t\tpvRef = pvRef[name];\n\t\t\t\t\t\t\t\t\t\t\thostRef = hostRef[name];\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\toperations[operation](propertyValue, {\n\t\t\t\t\t\t\t\t\t\t\tpath: propertyLen ? propertyPath : [],\n\t\t\t\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\t\t\t\tstart,\n\t\t\t\t\t\t\t\t\t\t\tdeleteCount,\n\t\t\t\t\t\t\t\t\t\t\taddItems: Array.isArray(addItems) ? addItems : []\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\tsetProperties(host, propertyValue, propertyDefs, {\n\t\t\t\t\t\t\t\t\t\t\tinteractionId,\n\t\t\t\t\t\t\t\t\t\t\t...(isValidTraceId(updatePropSpan.traceId) && {span: updatePropSpan})\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tupdatePropSpan.end();\n\t\t\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\t\t\tupdatePropSpan.recordException(error);\n\t\t\t\t\t\t\t\t\tlog('Error while performing properties update', {\n\t\t\t\t\t\t\t\t\t\terror,\n\t\t\t\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\t\t\t\torigin: 'updateProperties'\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tupdatePropSpan.setAttribute(SPAN_ATTR_UPDATE_PROPERTIES_SHOULD_UPDATE, false);\n\t\t\t\t\t\t\t\tupdatePropSpan.end();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tupdatePropSpan.setAttribute(SPAN_ATTR_UPDATE_PROPERTIES_PROP, update);\n\t\t\t\t\t\t\tupdatePropSpan.end();\n\t\t\t\t\t\t\tsetProperties(host, update, propertyDefs, {\n\t\t\t\t\t\t\t\tinteractionId,\n\t\t\t\t\t\t\t\t...(isValidTraceId(updatePropSpan.traceId) && {span: updatePropSpan})\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\ttype: executionTiming !== HELPERS_SCHEDULED_CONST ? IMMEDIATE : PROPERTY_SET,\n\t\t\t\t\tmeta: {...meta, span: updatePropSpan}\n\t\t\t\t});\n\t\t\t},\n\t\t\tmeta\n\t\t);\n\t};\n}\n","import {applyInteractionId, mark, getInteractionId, types as metrics} from '@servicenow/ui-metrics';\nimport * as uiAnalyticsConsumer from '@servicenow/ui-analytics-consumer';\nimport getStatePropsContext from './getStatePropsContext';\nimport deferHelperExecution from './deferHelperExecution';\nimport {\n\tSCHEDULE_IMMEDIATELY_DO_NOT_USE_OR_YOU_WILL_BE_IMMEDIATELY_FIRED,\n\tHELPERS_SCHEDULED,\n\tHELPERS_DEFER,\n\tSPAN_FOR_DISPATCH,\n\tSPAN_KIND_CLIENT,\n\tSPAN_ATTR_DISPATCH_ACTION_TYPE,\n\tSPAN_ATTR_DISPATCH_PAYLOAD,\n\tSPAN_ATTR_DISPATCH_SHOULD_DISPATCH\n} from '../../constants';\nimport {normalizeActionMeta} from '../normalizeActionMeta';\nimport {getSpanOptions} from '../';\nimport {INTERNAL_HOST_DISPATCH} from '../../symbols';\n\nconst {trace, isValidTraceId} = uiAnalyticsConsumer;\nconst wrapDispatch = (host, shouldWrap) => {\n\tif (shouldWrap === HELPERS_SCHEDULED) return host.dispatch;\n\n\treturn function dispatch(type, payload, meta = {}, error) {\n\t\tmeta[SCHEDULE_IMMEDIATELY_DO_NOT_USE_OR_YOU_WILL_BE_IMMEDIATELY_FIRED] = true; // eslint-disable-line no-param-reassign\n\t\tmeta[INTERNAL_HOST_DISPATCH] = true; // eslint-disable-line no-param-reassign\n\t\treturn host.dispatch(type, payload, meta, error);\n\t};\n};\n\nexport default function createDispatch(host, executionTiming) {\n\treturn function dispatch(typeOrFn, payload, meta = {}, error) {\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tmeta = normalizeActionMeta(meta, {host});\n\t\tconst interactionId = getInteractionId(meta);\n\t\tconst dispatchSpan = trace(SPAN_FOR_DISPATCH, {\n\t\t\t...getSpanOptions(host),\n\t\t\ttraceId: interactionId,\n\t\t\tkind: SPAN_KIND_CLIENT,\n\t\t\tparentSpan: meta.span && isValidTraceId(meta.span.traceId) ? meta.span : null\n\t\t});\n\t\tif (executionTiming === HELPERS_DEFER)\n\t\t\tmark(host, interactionId, metrics.DEFER, {deferred: metrics.DISPATCH, type: typeOrFn});\n\n\t\tdeferHelperExecution(\n\t\t\texecutionTiming,\n\t\t\t() => {\n\t\t\t\tconst wrappedDispatch = wrapDispatch(host, executionTiming);\n\t\t\t\tif (typeof typeOrFn === 'function') {\n\t\t\t\t\tconst statePropsContext = getStatePropsContext(host, interactionId);\n\t\t\t\t\tconst {\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tpayload,\n\t\t\t\t\t\tmeta = {},\n\t\t\t\t\t\terror,\n\t\t\t\t\t\tshouldDispatch = true\n\t\t\t\t\t} = typeOrFn(statePropsContext);\n\t\t\t\t\tdispatchSpan.setAttribute(SPAN_ATTR_DISPATCH_ACTION_TYPE, type);\n\t\t\t\t\tdispatchSpan.setAttribute(SPAN_ATTR_DISPATCH_PAYLOAD, payload);\n\t\t\t\t\tif (isValidTraceId(dispatchSpan.traceId)) meta.span = dispatchSpan;\n\t\t\t\t\tif (shouldDispatch) {\n\t\t\t\t\t\tapplyInteractionId(meta);\n\t\t\t\t\t\tdispatchSpan.end();\n\t\t\t\t\t\twrappedDispatch(type, payload, meta, error);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdispatchSpan.setAttribute(SPAN_ATTR_DISPATCH_SHOULD_DISPATCH, false);\n\t\t\t\t\t\tdispatchSpan.end();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tapplyInteractionId(meta);\n\t\t\t\t\tif (isValidTraceId(dispatchSpan.traceId)) meta.span = dispatchSpan;\n\t\t\t\t\tdispatchSpan.setAttribute(SPAN_ATTR_DISPATCH_ACTION_TYPE, typeOrFn);\n\t\t\t\t\tdispatchSpan.setAttribute(SPAN_ATTR_DISPATCH_PAYLOAD, payload);\n\t\t\t\t\tdispatchSpan.end();\n\t\t\t\t\twrappedDispatch(typeOrFn, payload, meta, error);\n\t\t\t\t}\n\t\t\t},\n\t\t\t{...meta, el: host, interactionId, span: dispatchSpan}\n\t\t);\n\t};\n}\n","import log from '../../log';\nimport createUpdateState from './createUpdateState';\nimport createUpdateContext from './createUpdateContext';\nimport createUpdateProperties from './createUpdateProperties';\nimport createDispatch from './createDispatch';\nimport createComponentLogger from './createComponentLogger';\n\nexport default function createHelpers(host, propertyDefs, executionTiming = null, options = {}) {\n\tconst wrappedDispatch = createDispatch(host, executionTiming);\n\tconst dispatch = (...args) => {\n\t\tlog(\n\t\t\t`Please update the view for ${host.tagName.toLowerCase()} from using dispatch as the second argument to an object with dispatch, updateState, and updateProperties`,\n\t\t\t{host, origin: 'createHelpers'}\n\t\t);\n\t\twrappedDispatch(...args);\n\t};\n\tconst logger = createComponentLogger(host, executionTiming);\n\tif (options.presentational) return {dispatch: wrappedDispatch, logger};\n\n\tdispatch.dispatch = wrappedDispatch;\n\tdispatch.updateState = createUpdateState(host, executionTiming);\n\tdispatch.updateProperties = createUpdateProperties(host, propertyDefs, executionTiming);\n\tdispatch.updateContext = createUpdateContext(host, executionTiming);\n\tdispatch.logger = logger;\n\treturn dispatch;\n}\n","import {toLower} from '@servicenow/ui-internal';\nimport {\n\tSEISMIC_HOIST_TAG_NAME,\n\tHOIST_ATTR,\n\tNOW_HOIST_ATTR,\n\tCOMPONENT_ID_ATTRIBUTE,\n\tHOIST_APPEND_TO_ATTR,\n\tHOIST_APPEND_TO_PROP,\n\tNOW_HOIST_APPEND_TO_ATTR,\n\tNOW_HOIST_APPEND_TO_PROP,\n\tCOMPONENT_NAME_ATTR,\n\tHOIST_FIRST_SCROLL_PARENT,\n\tNOW_HOIST_PREPEND_TO_PROP,\n\tNOW_HOIST_PREPEND_TO_ATTR,\n\tNOW_HOIST_PROP,\n\tNOW_MODE_ATTR,\n\tNOW_COMPONENT_NAME_ATTR\n} from './constants';\nimport {\n\tROOT_NODE,\n\tATTACHED_ROOT_NODE,\n\tCONFIG,\n\tVARIABLES,\n\tCOMPONENT_ID,\n\tPROPERTY_DEFS,\n\tPROPS,\n\tRETARGETED_ACTION_TYPES,\n\tGET_RESOLVED_PROPERTY\n} from './symbols';\nimport {isHoisted, getHoistTarget, getHostVariables} from './utils';\n\nclass SeismicHoistElement extends HTMLElement {\n\tconstructor() {\n\t\tsuper();\n\n\t\tconst variables = {};\n\t\tthis[VARIABLES] = variables;\n\n\t\tvariables[RETARGETED_ACTION_TYPES] = [];\n\t}\n}\n\nconst hoistTagName = SEISMIC_HOIST_TAG_NAME.toLowerCase();\nwindow.customElements &&\n\t!window.customElements.get(hoistTagName) &&\n\twindow.customElements.define(hoistTagName, SeismicHoistElement);\n\nconst cast = (sourceEl, name, value) =>\n\tsourceEl[VARIABLES][PROPERTY_DEFS][name] && sourceEl[VARIABLES][PROPERTY_DEFS][name].unstableParse\n\t\t? JSON.stringify(sourceEl[VARIABLES][PROPS][name])\n\t\t: value;\n\nexport function createTargetAttr(tagName, componentId) {\n\treturn `${toLower(tagName)}[component-id=\"${componentId}\"]`;\n}\n\nexport function createTarget(sourceEl) {\n\tconst targetEl = document.createElement(hoistTagName);\n\tconst sourceVariables = getHostVariables(sourceEl);\n\tconst targetVariables = getHostVariables(targetEl);\n\tconst {\n\t\t[CONFIG]: {shadowRootOptions}\n\t} = sourceVariables;\n\ttargetVariables[ATTACHED_ROOT_NODE] = targetEl.attachShadow(shadowRootOptions);\n\ttargetEl.setAttribute(\n\t\t'target-for',\n\t\tcreateTargetAttr(sourceEl.tagName, sourceVariables[COMPONENT_ID])\n\t);\n\tconst {attributes} = sourceEl;\n\tconst {length: attributeCount} = sourceEl.attributes;\n\tfor (let i = 0; i < attributeCount; i++) {\n\t\tconst {name, value} = attributes[i];\n\t\tif (!omitAttrs.includes(name)) targetEl.setAttribute(name, cast(sourceEl, name, value));\n\t}\n\n\ttargetEl.sourceElement = sourceEl;\n\treturn targetEl;\n}\n\nexport const omitAttrs = [\n\tNOW_MODE_ATTR,\n\tNOW_COMPONENT_NAME_ATTR,\n\tNOW_HOIST_ATTR,\n\tNOW_HOIST_APPEND_TO_ATTR,\n\tNOW_HOIST_PREPEND_TO_ATTR,\n\tHOIST_ATTR,\n\tHOIST_APPEND_TO_ATTR,\n\tCOMPONENT_ID_ATTRIBUTE,\n\tCOMPONENT_NAME_ATTR\n];\n\nconst getParent = element => {\n\tconst parent = element.parentNode;\n\tif (parent && parent.host) return parent.host;\n\n\treturn parent;\n};\n\nconst overflowRegex = /(auto|scroll)/;\nconst getFirstScrollParent = sourceEl => {\n\tlet style = getComputedStyle(sourceEl);\n\tconst excludeStaticParent = style.position === 'absolute';\n\tlet parent = sourceEl;\n\n\tif (style.position === 'fixed') return document.body;\n\n\twhile ((parent = getParent(parent)) !== null) {\n\t\tif (parent === document.body) break;\n\n\t\tstyle = getComputedStyle(parent);\n\t\tif (excludeStaticParent && style.position === 'static') continue;\n\n\t\tif (overflowRegex.test(style.overflow + style.overflowY + style.overflowX)) return parent;\n\t}\n\n\treturn document.body;\n};\n\nconst shouldPrepend = sourceEl =>\n\tsourceEl[GET_RESOLVED_PROPERTY](NOW_HOIST_PREPEND_TO_PROP) ||\n\tsourceEl.getAttribute(NOW_HOIST_PREPEND_TO_ATTR);\n\nconst shouldAppend = sourceEl =>\n\tsourceEl[GET_RESOLVED_PROPERTY](HOIST_APPEND_TO_PROP) ||\n\tsourceEl.getAttribute(HOIST_APPEND_TO_ATTR) ||\n\tsourceEl[GET_RESOLVED_PROPERTY](NOW_HOIST_APPEND_TO_PROP) ||\n\tsourceEl.getAttribute(NOW_HOIST_APPEND_TO_ATTR);\n\nconst getAppendToEl = sourceEl => {\n\t// TODO: log and warn about legacy attributes, props\n\tconst hoistAppendToSelector = shouldAppend(sourceEl);\n\tconst hoistPrependToSelector = shouldPrepend(sourceEl);\n\n\tif (\n\t\thoistAppendToSelector === HOIST_FIRST_SCROLL_PARENT ||\n\t\thoistPrependToSelector === HOIST_FIRST_SCROLL_PARENT\n\t)\n\t\treturn getFirstScrollParent(sourceEl);\n\n\tconst selectorOrNode = hoistPrependToSelector || hoistAppendToSelector;\n\tif (!selectorOrNode) return document.body;\n\n\tconst node =\n\t\ttypeof selectorOrNode === 'string'\n\t\t\t? document.querySelector(selectorOrNode)\n\t\t\t: selectorOrNode instanceof HTMLElement\n\t\t\t? selectorOrNode\n\t\t\t: undefined;\n\n\treturn node || document.body;\n};\n\nexport function shouldHoistAttribute(host, name) {\n\treturn isHoisted(host) && !omitAttrs.includes(name);\n}\n\nexport function hoistAttribute(host, name, value) {\n\tconst hostVariables = getHostVariables(host);\n\tconst target = getHoistTarget(hostVariables);\n\tif (target.tagName === SEISMIC_HOIST_TAG_NAME) target.setAttribute(name, value);\n}\n\nexport function unhoistAttribute(host, name) {\n\tconst hostVariables = getHostVariables(host);\n\tconst target = getHoistTarget(hostVariables);\n\tif (target.tagName === SEISMIC_HOIST_TAG_NAME) target.removeAttribute(name);\n}\n\nexport function moveStyles(sourceEl, targetEl, deprioritizeStyles, onStateChange) {\n\tconst sourceVariables = getHostVariables(sourceEl);\n\tconst targetVariables = getHostVariables(targetEl);\n\tif (deprioritizeStyles) onStateChange(targetVariables[ATTACHED_ROOT_NODE], () => null);\n\n\tif (\n\t\tsourceVariables[ATTACHED_ROOT_NODE].adoptedStyleSheets &&\n\t\tsourceVariables[ATTACHED_ROOT_NODE].adoptedStyleSheets.length &&\n\t\t!targetVariables[ATTACHED_ROOT_NODE].adoptedStyleSheets.length\n\t) {\n\t\ttargetVariables[ATTACHED_ROOT_NODE].adoptedStyleSheets = [\n\t\t\t...sourceVariables[ATTACHED_ROOT_NODE].adoptedStyleSheets\n\t\t]; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tconst sourceElRootNode = sourceVariables[ATTACHED_ROOT_NODE];\n\t\tconst {length: sourceElRootNodeChildCount} = sourceElRootNode.children;\n\t\tif (\n\t\t\tsourceElRootNodeChildCount &&\n\t\t\tsourceElRootNode.firstChild.tagName === 'STYLE' &&\n\t\t\t!targetVariables[ATTACHED_ROOT_NODE].length\n\t\t) {\n\t\t\ttargetVariables[ATTACHED_ROOT_NODE].appendChild(\n\t\t\t\tsourceElRootNode.removeChild(sourceElRootNode.firstChild)\n\t\t\t);\n\t\t\twhile (sourceElRootNode.firstChild) sourceElRootNode.removeChild(sourceElRootNode.firstChild);\n\t\t}\n\t}\n}\n\nexport function moveChildren(sourceEl, targetEl) {\n\tif (sourceEl.children.length) {\n\t\tconst fragment = document.createDocumentFragment();\n\n\t\twhile (sourceEl.firstChild) fragment.appendChild(sourceEl.removeChild(sourceEl.firstChild));\n\n\t\ttargetEl.appendChild(fragment);\n\t}\n}\n\nfunction connectTarget(sourceEl, targetEl) {\n\tconst hoistAppendToEl = getAppendToEl(sourceEl);\n\tif (shouldPrepend(sourceEl)) hoistAppendToEl.prepend(targetEl);\n\telse hoistAppendToEl.appendChild(targetEl);\n}\n\nfunction disconnectTarget(targetEl) {\n\ttargetEl.parentNode.removeChild(targetEl);\n}\n\nexport default function hoist(sourceEl, deprioritizeStyles, onStateChange) {\n\tif (\n\t\t!sourceEl[GET_RESOLVED_PROPERTY](HOIST_ATTR) &&\n\t\t!sourceEl.hasAttribute(HOIST_ATTR) &&\n\t\t!sourceEl[GET_RESOLVED_PROPERTY](NOW_HOIST_PROP) &&\n\t\t!sourceEl.hasAttribute(NOW_HOIST_ATTR)\n\t)\n\t\treturn;\n\n\tconst targetEl = createTarget(sourceEl);\n\n\tconst sourceVariables = getHostVariables(sourceEl);\n\tconst targetVariables = getHostVariables(targetEl);\n\n\t// these blocks cover the case when the hoist property is set to true after the source has already been connected and\n\t// possibly rendered. this appends the styles to the target shadowRoot then clears out the remaining child nodes\n\t// that were rendered in the source shadowRoot. it would be more efficient to never render the source shadowRoot,\n\t// but there isn't a way to know if a node will be hoisted in the future.\n\tmoveStyles(sourceEl, targetEl, deprioritizeStyles, onStateChange);\n\tmoveChildren(sourceEl, targetEl);\n\n\tconnectTarget(sourceEl, targetEl);\n\tsourceVariables[ROOT_NODE] = targetVariables[ATTACHED_ROOT_NODE]; // eslint-disable-line no-param-reassign\n\n\treturn function unhoist() {\n\t\tsourceVariables[ROOT_NODE] = sourceVariables[ATTACHED_ROOT_NODE]; // eslint-disable-line no-param-reassign\n\t\tmoveStyles(targetEl, sourceEl, deprioritizeStyles, onStateChange);\n\t\tmoveChildren(targetEl, sourceEl);\n\t\tdisconnectTarget(targetEl);\n\t};\n}\n","import {toLower} from '@servicenow/ui-internal';\nimport {\n\tcreateStyleFragment,\n\tgetHostVariables,\n\tstyleSheetsContentCache,\n\tresolveStylesheetsContent\n} from './utils';\nimport {VERSION, ROOT_NODE} from './symbols';\n\nconst view = () => null;\nconst stylesMap = new Map();\n\nexport default async function applyStyles(el, config) {\n\tconst {\n\t\tstyles = '',\n\t\tstylesheets = [],\n\t\trenderer: {type: {onStateChange = () => null, deprioritizeStyles = false} = {}} = {}\n\t} = config;\n\n\t// eslint-disable-next-line nonblock-statement-body-position\n\tif (!styles && !stylesheets.length) return;\n\n\tconst hostVariables = getHostVariables(el);\n\tconst rootNode = hostVariables[ROOT_NODE];\n\tconst {tagName} = el;\n\n\tif (\n\t\tDocument &&\n\t\t'adoptedStyleSheets' in Document.prototype &&\n\t\t(process.env.NODE_ENV === 'production' || process.env.NODE_ENV === 'test')\n\t)\n\t\treturn applyWithAdoptedStylesSheets(el, tagName, rootNode, styles, stylesheets);\n\n\tapplyWithTag(el, tagName, rootNode, styles, stylesheets, deprioritizeStyles, onStateChange);\n}\n\nasync function applyWithAdoptedStylesSheets(el, tagName, rootNode, styles = '', stylesheets) {\n\tif (!stylesMap.has(tagName)) {\n\t\tconst externalStyles = document.head.querySelector(`#now-${toLower(tagName)}-styles`);\n\t\tif (externalStyles) {\n\t\t\tconst styleEl = externalStyles.content.cloneNode(true).querySelector('style');\n\t\t\tstyles = styleEl ? styleEl.textContent : styles; // eslint-disable-line no-param-reassign\n\t\t}\n\n\t\tlet stylesheetsContent = '';\n\n\t\tif (stylesheets && stylesheets.length) {\n\t\t\tstylesheetsContent = styleSheetsContentCache.get(el, tagName);\n\t\t\tif (!stylesheetsContent) {\n\t\t\t\tconst previousDisplaValue = el.style.display;\n\t\t\t\tel.style.setProperty('display', 'none', 'important');\n\t\t\t\tstylesheetsContent = await resolveStylesheetsContent(stylesheets);\n\t\t\t\tel.style.setProperty('display', previousDisplaValue);\n\t\t\t}\n\t\t}\n\n\t\tconst sheet = new CSSStyleSheet();\n\t\tsheet.replace(`${styles} ${stylesheetsContent}`);\n\t\tstylesMap.set(tagName, [sheet]);\n\t}\n\n\trootNode.adoptedStyleSheets = stylesMap.get(tagName); // eslint-disable-line no-param-reassign\n}\n\nasync function applyWithTag(\n\tel,\n\ttagName,\n\trootNode,\n\tstyles,\n\tstylesheets,\n\tdeprioritizeStyles,\n\tonStateChange\n) {\n\tlet stylesheetsContent = '';\n\n\t// eslint-disable-next-line nonblock-statement-body-position\n\tif (deprioritizeStyles) onStateChange(rootNode, view);\n\n\tif (stylesheets && stylesheets.length) {\n\t\tconst version = getHostVariables(VERSION) || '';\n\t\tstylesheetsContent = styleSheetsContentCache.get(version, tagName);\n\t\tif (!stylesheetsContent) {\n\t\t\tconst previousDisplaValue = el.style.display;\n\t\t\tel.style.setProperty('display', 'none', 'important');\n\t\t\tstylesheetsContent = await resolveStylesheetsContent(stylesheets);\n\t\t\tel.style.setProperty('display', previousDisplaValue);\n\t\t\tif (stylesheetsContent) styleSheetsContentCache.set(version, tagName, stylesheetsContent);\n\t\t}\n\t}\n\n\tconst styleFragment = createStyleFragment(styles, stylesheetsContent, tagName);\n\trootNode.appendChild(styleFragment);\n}\n","import {getHostVariables} from './utils';\nimport {ROOT_NODE} from './symbols';\n\nexport default function removeStyles(el) {\n\tconst hostVariables = getHostVariables(el);\n\tconst nodes = [...hostVariables[ROOT_NODE].childNodes];\n\tconst {length: nodeCount} = nodes;\n\n\tfor (let i = 0; i < nodeCount; i++) {\n\t\tconst node = nodes[i];\n\t\tif (node && (node.tagName === 'STYLE' || node.tagName === 'SCRIPT'))\n\t\t\thostVariables[ROOT_NODE].removeChild(node);\n\t}\n}\n","import {mark, types as metrics} from '@servicenow/ui-metrics';\nimport {memoize, toString} from '@servicenow/ui-internal';\nimport {filterPropertyDefinitions, toAttributeName, getHostVariables} from '../utils';\nimport reflectQueue from '../utils/reflectQueue'; // TODO: why is this required?\nimport {schedule, types} from '../scheduler';\nimport {PROPERTY_DEFS} from '../symbols';\n\nconst {REFLECT_PROPERTIES} = types;\n\nconst isAria = memoize(name => name.indexOf('aria') === 0, {profileName: 'isAria'});\n\nconst shouldRemoveAttribute = (name, value) => {\n\tif (isAria(name)) return !toString(value);\n\n\treturn !value;\n};\n\nconst getAttributeValue = (name, value) => {\n\tif (isAria(name)) return toString(value);\n\n\treturn value === true ? '' : value;\n};\n\nconst filterRelectedProperties = memoize(\n\thost => {\n\t\tconst hostVariables = getHostVariables(host);\n\t\tconst properties = filterPropertyDefinitions(hostVariables[PROPERTY_DEFS], d => d.reflect);\n\t\tconst keys = Object.keys(properties);\n\t\treturn {\n\t\t\tproperties,\n\t\t\tkeys\n\t\t};\n\t},\n\t{createCacheKey: host => host.tagName, profileName: 'filterRelectedProperties'}\n);\nconst filterUnstableParseProperties = memoize(\n\thost => {\n\t\tconst hostVariables = getHostVariables(host);\n\t\treturn filterPropertyDefinitions(hostVariables[PROPERTY_DEFS], d => d.unstableParse);\n\t},\n\t{createCacheKey: host => host.tagName, profileName: 'filterUnstableParseProperties'}\n);\nconst resolveValue = (propName, propDef, state) => {\n\tif (propDef.computed) {\n\t\tconst computedValue = propDef.computed(state);\n\t\tif (computedValue !== undefined) return computedValue;\n\t}\n\tconst stateValue = state.properties[propName];\n\tif (stateValue !== undefined) return stateValue;\n\n\treturn propDef.default || null;\n};\n\nexport function reflectProperty(propName, propDef, state, host, usingUnstableParse) {\n\tconst value = resolveValue(propName, propDef, state);\n\tconst attributeName = toAttributeName(propName);\n\tconst attributeValue = getAttributeValue(attributeName, value);\n\n\tif (shouldRemoveAttribute(attributeName, value) && host.hasAttribute(attributeName)) {\n\t\treflectQueue.push(attributeName);\n\n\t\thost.removeAttribute(attributeName);\n\t} else {\n\t\tif (\n\t\t\thost.getAttribute(attributeName) !== attributeValue &&\n\t\t\t((value !== null && value !== undefined && value !== false) ||\n\t\t\t\t(isAria(attributeName) && attributeValue))\n\t\t) {\n\t\t\treflectQueue.push(attributeName);\n\n\t\t\tif (usingUnstableParse[propName])\n\t\t\t\thost.setAttribute(attributeName, JSON.stringify(attributeValue), true);\n\t\t\telse host.setAttribute(attributeName, attributeValue, true);\n\t\t}\n\t}\n}\n\nexport default function reflectProperties(state, host, interactionId) {\n\tconst {properties: reflected, keys} = filterRelectedProperties(host);\n\tconst usingUnstableParse = filterUnstableParseProperties(host);\n\n\tschedule({\n\t\tfn() {\n\t\t\tmark(host, interactionId, metrics.PROPERTY_REFLECTION, {properties: keys});\n\t\t\tfor (const propName in reflected)\n\t\t\t\treflectProperty(propName, reflected[propName], state, host, usingUnstableParse);\n\t\t},\n\t\ttype: REFLECT_PROPERTIES,\n\t\tmeta: {el: host, interactionId}\n\t});\n\n\treturn state;\n}\n","import {sandbox, locations} from '@servicenow/ui-internal';\nimport {camelCaseProperties, unescapeReservedCharacters, resolveComputedProperties} from '../utils';\nimport reflectProperties from './reflectProperties';\nimport log from '../log';\n\nexport {reflectProperty} from './reflectProperties';\n\nexport default function shapeRenderData(\n\tstate,\n\thost,\n\thostVariables,\n\ttransform,\n\tdispatch,\n\tinteractionId\n) {\n\tconst transformedState = reflectProperties(\n\t\tunescapeReservedCharacters(\n\t\t\tresolveComputedProperties(camelCaseProperties(state), host, hostVariables, interactionId)\n\t\t),\n\t\thost,\n\t\tinteractionId\n\t);\n\n\treturn (\n\t\tsandbox(transform, {\n\t\t\targs: [transformedState],\n\t\t\thost,\n\t\t\tlocation: locations.TRANSFORM_STATE,\n\t\t\tdispatch,\n\t\t\tlog\n\t\t}) || transformedState\n\t);\n}\n","import {\n\taddResolvedPropertyMapping,\n\taddSelectableResolvedPropertyMapping,\n\tgetResolvedProperty,\n\tgetSelectorParts,\n\tremoveResolvedMapping\n} from '../property-selectors';\nimport {getHostVariables} from './index';\nimport {PROPERTY_DEFS} from '../symbols';\nimport resolveProviderSelectedProperty from '../property-selectors/resolveProviderSelectedProperty';\nimport shouldAddToResolvedPropertyMapping from './shouldAddToResolvedPropertyMapping';\nimport quickEquals from './helpers/quickEquals';\nimport getResolvedValue from './getResolvedValue';\nimport updateResolvedValue from './updateResolvedValue';\n\n/**\n * function to update resolvedSelectedPropertyMapping so that we don't need to re-resolve the same property if found\n\n * @param propertyDetails\n * @param consumerPropName\n * @param consumerId\n * @param componentRegistry\n * @param propertyDef\n * @param propertiesWithSelector\n */\nexport default function updateResolvedSelectedPropertyMappings(\n\tpropertyDetails,\n\tconsumerPropName,\n\tconsumerId,\n\tcomponentRegistry = {},\n\tpropertyDef = {},\n\tpropertiesWithSelector = {}\n) {\n\tconst {previousValue, value} = propertyDetails;\n\tconst [previousProviderId, previousProviderPropName, previousProviderPath] =\n\t\tgetSelectorParts(previousValue);\n\tconst [providerId, providerPropName, providerPropPath] = getSelectorParts(value);\n\tif (previousProviderId && previousProviderPropName) {\n\t\tif (!shouldAddToResolvedPropertyMapping(previousValue, componentRegistry)) return;\n\t\t//when the property value has been resolved and added to the mapping\n\t\t//if the new value is different, need to update the mapping accordingly\n\t\tconst [id] = propertiesWithSelector[consumerPropName];\n\t\tconst alreadyResolvedValue = getResolvedProperty(id);\n\t\tif (\n\t\t\talreadyResolvedValue &&\n\t\t\t!quickEquals(getResolvedValue(alreadyResolvedValue, previousProviderPath), value)\n\t\t) {\n\t\t\tconst newValue = updateResolvedValue(alreadyResolvedValue, previousProviderPath, value);\n\t\t\tremoveResolvedMapping(previousProviderId, previousProviderPropName, newValue);\n\t\t\taddResolvedPropertyMapping(\n\t\t\t\t{providerId: previousProviderId, providerPropName: previousProviderPropName},\n\t\t\t\tnewValue\n\t\t\t);\n\t\t}\n\t} else if (providerId && providerPropName) {\n\t\tif (!shouldAddToResolvedPropertyMapping(value, componentRegistry)) return;\n\n\t\tconst resolvedValue = resolveProviderSelectedProperty(\n\t\t\tvalue,\n\t\t\tproviderPropPath,\n\t\t\tcomponentRegistry,\n\t\t\tpropertyDef\n\t\t);\n\t\tremoveResolvedMapping(providerId, providerPropName, resolvedValue);\n\t\taddResolvedPropertyMapping({providerId, providerPropName}, resolvedValue);\n\t} else if (consumerId && consumerPropName) {\n\t\t// when providerId & providerPropName is empty, it means that consumer itself is a provider when it's selectable\n\t\tconst consumerComponent = componentRegistry[consumerId];\n\t\tif (!consumerComponent) return;\n\n\t\tconst consumerPropDef = getHostVariables(consumerComponent)[PROPERTY_DEFS];\n\t\tif (consumerPropDef[consumerPropName]?.selectable) {\n\t\t\tremoveResolvedMapping(consumerId, consumerPropName, value);\n\t\t\taddSelectableResolvedPropertyMapping({consumerId, consumerPropName}, value);\n\t\t}\n\t}\n}\n","import {set} from '@servicenow/ui-utils';\n\n/**\n * Utility function to update resolved value with a path\n */\nexport default function updateResolvedValue(alreadyResolvedValue, path, newValue) {\n\tif (!path) return newValue;\n\t//deals with scenario when selected property has a path, e.g. arrayProp[1], objProp.foo\n\tconst updatedValue = alreadyResolvedValue;\n\tset(updatedValue, path, newValue);\n\treturn updatedValue;\n}\n","import {addResolvedPropertyMapping, isSelector} from '../property-selectors';\n\n/**\n * function to update resolvedSelectedPropertyMapping when the property value does not contain selector\n * but itself is selectable, it could become a provider property for other consumer components\n * @param {string} propertyValue\n * @param {string} providerPropName\n * @param {string} providerId\n */\nexport default function addResolvedSelectedPropertyMappingWithResolvedValue(\n\tpropertyValue,\n\tproviderPropName,\n\tproviderId\n) {\n\tif (isSelector(propertyValue)) return;\n\n\taddResolvedPropertyMapping({providerId, providerPropName}, propertyValue);\n}\n","import isSelector from './isSelector';\nimport {getSelectorParts} from './index';\nimport {PROPERTY_SELECTOR_SIGIL} from '../constants';\n\n/**\n * function to update an object of selectedProperties\n * example obj:\n * resolvedSelectedPropertyMapKey = providerComponentId@PropName\n * {\n *     propertyName: [resolvedSelectedPropertyMapKey, pathValue]\n * }\n * @param {string} propertyName\n * @param {string} propertyValue\n * @param {object} selectedProperties\n */\nexport default function updatePropertiesWithSelector(\n\tpropertyName,\n\tpropertyValue,\n\tselectedProperties\n) {\n\tif (!isSelector(propertyValue)) return;\n\n\tconst [id, name, path] = getSelectorParts(propertyValue);\n\tconst key = `${id}${PROPERTY_SELECTOR_SIGIL}${name}`;\n\tselectedProperties[propertyName] = [key, path];\n}\n","import * as uiAnalyticsConsumer from '@servicenow/ui-analytics-consumer';\nimport {set as setStat} from './stats';\nimport {\n\tcreateInteractionId,\n\tmark,\n\ttypes as metrics,\n\tsetInteractionId\n} from '@servicenow/ui-metrics';\nimport {buildPropertiesValidator} from './utils/schema';\nimport {\n\tsandbox,\n\tlocations,\n\tguid,\n\tpendingNetworkActionCountForHost,\n\tclearPendingNetworkActionsForHost,\n\taddPendingNetworkActionForHostCb,\n\tisEqual\n} from '@servicenow/ui-internal';\nimport {normalizeConfig} from './utils/config';\nimport {\n\tCOMPONENT_ID_ATTRIBUTE,\n\tDEFER_ATTRIBUTE,\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_RENDERED as COMPONENT_RENDERED_ACTION_TYPE,\n\tNOW_MODE_PROP,\n\tNOW_ENABLE_PROPERTY_SETTING_PREVENTION_PROP,\n\tCOMPONENT_MODE_SUSPEND,\n\tCOMPONENT_MODE_DETACH,\n\tNOW_ID_ATTR,\n\tCOMPONENT_DOM_READY,\n\tSCHEDULE_IMMEDIATELY_DO_NOT_USE_OR_YOU_WILL_BE_IMMEDIATELY_FIRED,\n\tHELPERS_SCHEDULED as HELPERS_SCHEDULED_CONST,\n\tHELPERS_DEFER as HELPERS_DEFER_CONST,\n\tHELPERS_IMMEDIATE as HELPERS_IMMEDIATE_CONST,\n\tSTATE_UPDATED,\n\tCOMPONENT_INTERNAL_ACTION,\n\tCOMPONENT_PROPERTY_UPDATE_REQUESTED,\n\tCOMPONENT_RENDER_REQUESTED,\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_TREE_RENDERED,\n\tSHADOW_ROOT_MODE_CLOSED,\n\tNOW_PLACEHOLDER_HEIGHT_PROP,\n\tNOW_PLACEHOLDER_WIDTH_PROP,\n\tNOW_HOIST_PROP,\n\tHOIST_ATTR,\n\tNOW_PRIORITY_PROP,\n\tNOW_PRIORITY_ATTR,\n\tPRIORITY_LEVEL_LOW,\n\tSPAN_FOR_RENDER,\n\tSPAN_FOR_SET_PROPERTY,\n\tSPAN_KIND_CLIENT,\n\tSPAN_ATTR_COMPONENT_CONNECTED,\n\tSPAN_ATTR_COMPONENT_DETACHED,\n\tSPAN_ATTR_COMPONENT_INTERSECTED,\n\tSPAN_ATTR_COMPONENT_EVENT_DEFAULT_PREVENTED,\n\tSPAN_ATTR_COMPONENT_RENDER_SKIPPED,\n\tSPAN_ATTR_COMPONENT_SUSPENDED,\n\tSPAN_ATTR_SET_PROPERTY_SKIPED,\n\tSPAN_ATTR_UPDATE_PROPERTIES_PROPNAME,\n\tSPAN_ATTR_UPDATE_PROPERTIES_PROPVALUE,\n\tSPAN_ATTR_RENDER_CAUSE,\n\tPACKAGE_JSON_VERSION\n} from './constants';\nimport {\n\tPRESENTATIONAL,\n\tVARIABLES,\n\tCOMPONENT_ID,\n\tCONNECTED,\n\tPROPERTY_DEFS,\n\tSTATE,\n\tPROPS,\n\tDISPATCH,\n\tCONDITIONAL_DISPATCH,\n\tBOOTSTRAPPED_HANDLED,\n\tCONNECTED_HANDLED,\n\tUNHOIST,\n\tHOIST_CHANGED,\n\tHOIST_PARENT_CHANGED,\n\tGET_RESOLVED_PROPERTY,\n\tROOT_NODE,\n\tVERSION,\n\tATTACHED_ROOT_NODE,\n\tDEFERRED,\n\tCONFIG,\n\tACTION_HANDLERS,\n\tTARGETED_ACTION_TYPES,\n\tRENDERED_ONCE,\n\tTREE_RENDERED_ONCE,\n\tHELPERS_SCHEDULED,\n\tHELPERS_DEFER,\n\tHELPERS_IMMEDIATE,\n\tRENDER,\n\tSTYLE_PROXY,\n\tSET_PROPERTY,\n\tPREVIOUS_RENDER_STATE,\n\tPREVIOUS_RENDER_PROPERTIES,\n\tPREVIOUS_TREE_RENDER_STATE,\n\tPREVIOUS_TREE_RENDER_PROPERTIES,\n\tCHECK_IF_TREE_RENDERED,\n\tCHILD_IS_RENDERING,\n\tCHILDREN_TO_BE_RENDERED,\n\tCHILD_HAS_RENDERED,\n\tNOTIFY_PARENT_THAT_CHILD_IS_RENDERING,\n\tNOTIFY_PARENT_THAT_CHILD_TREE_HAS_RENDERED,\n\tNEEDS_TO_KNOW_ABOUT_TREE_RENDERS,\n\tANCESTOR_ROOT_NODE,\n\tANCESTOR_PATH,\n\tUPDATE_AFFECTED_COMPONENTS,\n\tRUNTIME_ACTION_HANDLERS,\n\tINTERSECTED,\n\tUSING_INTERSECTION_OBSERVER,\n\tINTERSECTION_TRIGGERED,\n\tREMOVE_INTERSECTED_STYLES,\n\tDETACHED_SHADOW_ROOT_CHILDREN_FRAGMENT,\n\tDETACHED_COMPONENT_PROPERTY_MAP,\n\tLOW_PRIORITY_PENDING,\n\tCONNECTED_TIMESTAMP,\n\tCHILDREN_TO_BE_INTERACTIVE,\n\tSELECTABLE_PROPERTIES,\n\tTREE_RENDERED_ONCE_TIMESTAMP,\n\tRENDERED_ONCE_TIMESTAMP,\n\tCONNECTED_DEFERRED_TIMESTAMP,\n\tCONTEXT,\n\tPROPERTIES_WITH_SELECTOR,\n\tREMOVE_UPDATE_CUSTOM_ELEMENT_OBSERVER\n} from './symbols';\nimport {\n\tresolveRenderer,\n\tassertValidPropertyNames,\n\tresolveProperties,\n\tgetInitialPropertyValue,\n\tisReflecting,\n\tclearReflection,\n\tfilterPropertyDefinitions,\n\tshouldSetAttribute,\n\tshouldSetProperty,\n\ttoPropertyName,\n\ttoAttributeName,\n\tcreateLifecycleFunctions,\n\tmeasure,\n\tselectablePropertyResolver,\n\ttriggerComponentUpdates,\n\tupdateSelectedPropertyMappings,\n\tcamelCaseProperties,\n\tunescapeReservedCharacters,\n\tisHoisted,\n\tgetHoistTarget,\n\temitNowUiEvent,\n\tgetHostVariables,\n\tgetRootNode,\n\tapplyMetrics,\n\tresolveComputedProperties,\n\tcomputeProperties,\n\tintersectionObserver,\n\tapplyIntersectStyles,\n\tshouldOptOutOfDeepCompareForPage,\n\tmarkComponentInteractive,\n\tcreateOnStateChangeArgs,\n\tremoveStyleFragmentFromCache,\n\tsetUpdateConfigResolver,\n\taddUpdateCustomElementObserver,\n\tgetSpanOptions,\n\tresolveParentTraceId\n} from './utils';\n\nimport createContextProxy from './context/createContextProxy';\nimport {removeConsumer as removeContextConsumer} from './context/consumers';\nimport validateContext from './context/validateContext';\nimport {property as parseProperty, properties as parseProperties} from './utils/parse';\nimport log from './log';\nimport {\n\tcreateDispatcher,\n\tcreateConditionalDispatch,\n\taddActionHandlers,\n\tremoveActionHandlers\n} from './actions';\nimport createHelpers from './utils/helpers';\nimport {shouldHoistAttribute, hoistAttribute, unhoistAttribute, default as hoist} from './hoist';\nimport applyStyles from './applyStyles';\nimport removeStyles from './removeStyles';\nimport {\n\tschedule,\n\ttypes,\n\tcountHighPriorityTasks,\n\tcountMediumPriorityTasks,\n\taddQueueEmptyForElCb\n} from './scheduler';\nimport {default as shapeRenderData, reflectProperty} from './shape-render-data';\nimport {\n\tgetAffected,\n\tresolveSelectedProperty,\n\tresolveSelectedProperties,\n\tremoveMappings,\n\tgetComponentAffected,\n\tremoveResolvedMapping\n} from './property-selectors';\nimport {mergeBehaviorProperties} from './utils/config/mergeBehaviorProperties';\nimport {normalizeBehaviors} from './utils/config/normalizeBehaviors';\nimport {getConfigItem, configConstants} from '@servicenow/ui-config';\nimport quickEquals from './utils/helpers/quickEquals';\nimport updateResolvedSelectedPropertyMappings from './utils/updateResolvedSelectedPropertyMappings';\nimport addResolvedSelectedPropertyMappingWithResolvedValue from './utils/addResolvedSelectedPropertyMappingWithResolvedValue';\nimport updatePropertiesWithSelector from './property-selectors/updatePropertiesWithSelector';\nimport {getActiveSpan} from './utils/activeSpan';\n\nconst {isValidTraceId, trace} = uiAnalyticsConsumer;\nconst {ENABLE_SCHEDULER_QUEUE_COUNTS, METRICS_COMPONENT_INTERACTIVE_ENABLED} = configConstants;\nconst enableSchedulerQueueCounts = getConfigItem(ENABLE_SCHEDULER_QUEUE_COUNTS);\nconst {COMPONENT_RENDER, DEFER_IDLE} = types;\nconst {ENABLE_PROPERTY_DEEP_COMPARE} = configConstants;\n\nconst enableDeepPropertyCompare = getConfigItem(ENABLE_PROPERTY_DEEP_COMPARE);\nlet optOutDeepCompare = shouldOptOutOfDeepCompareForPage('property');\nwindow.addEventListener(\n\t'popstate',\n\t() => (optOutDeepCompare = shouldOptOutOfDeepCompareForPage('property'))\n);\n\nconst shouldMarkInteractive = getConfigItem(METRICS_COMPONENT_INTERACTIVE_ENABLED);\nconst idleCallback = shouldMarkInteractive\n\t? el => markComponentInteractive(el, componentRegistryForInteractive)\n\t: () => null;\nlet componentRegistryForInteractive;\naddPendingNetworkActionForHostCb(idleCallback);\naddQueueEmptyForElCb(idleCallback);\n\nfunction clearRootNode(host, rootNode, onStateChange) {\n\tsandbox(onStateChange, {\n\t\targs: [rootNode, () => null, {}, host[HELPERS_DEFER]],\n\t\thost,\n\t\tdetails: {\n\t\t\ttype: 'onStateChange'\n\t\t},\n\t\tlocation: locations.RENDERER,\n\t\tdispatch: host[DISPATCH],\n\t\tlog\n\t});\n}\n\nfunction getResolvedState(hostVariables, componentRegistry) {\n\treturn {\n\t\t...hostVariables[STATE],\n\t\tproperties: resolveSelectedProperties(\n\t\t\tcomponentRegistry,\n\t\t\tselectablePropertyResolver,\n\t\t\t{...hostVariables[PROPS]},\n\t\t\thostVariables[PROPERTY_DEFS],\n\t\t\thostVariables[PROPERTIES_WITH_SELECTOR]\n\t\t)\n\t};\n}\n\nexport default function createElementClass(config) {\n\tconst {componentRegistry, presentational, state: initialState, name: tagName} = config;\n\tconst renderer = resolveRenderer(config);\n\tconst {\n\t\ttype: {\n\t\t\tonStateChange,\n\t\t\tonConnect: rendererOnConnect,\n\t\t\tonDisconnect: rendererOnDisconnect,\n\t\t\tdeprioritizeStyles = false // eslint-disable-line no-unused-vars\n\t\t},\n\t\ttransformState = props => props,\n\t\tcoeffects: useCoeffectsLikeObjectInView,\n\t\tview\n\t} = renderer;\n\n\tlet initialized = false;\n\tlet normalizedConfig;\n\tlet onConnect;\n\tlet onDisconnect;\n\tlet combinedPropertyDefs;\n\tlet shadowRootOptions;\n\tlet validateProperties;\n\tlet propertyKeys;\n\tlet rendererView;\n\tconst selectabledProperties = [];\n\tcomponentRegistryForInteractive = componentRegistryForInteractive || componentRegistry;\n\n\tfunction initialize() {\n\t\tif (initialized) return;\n\n\t\tinitialized = true;\n\t\tnormalizedConfig = normalizeConfig(config);\n\t\tconst lifecycleFns = createLifecycleFunctions(\n\t\t\trendererOnConnect,\n\t\t\trendererOnDisconnect,\n\t\t\tdeprioritizeStyles\n\t\t);\n\t\tonConnect = lifecycleFns.onConnect;\n\t\tonDisconnect = lifecycleFns.onDisconnect;\n\n\t\tcombinedPropertyDefs = normalizedConfig.properties;\n\t\tshadowRootOptions = normalizedConfig.shadowRootOptions;\n\n\t\tvalidateProperties = buildPropertiesValidator(combinedPropertyDefs);\n\t\tpropertyKeys = Object.keys(combinedPropertyDefs);\n\n\t\trendererView = view;\n\n\t\tfor (const k in combinedPropertyDefs) {\n\t\t\tif (combinedPropertyDefs[k].selectable) selectabledProperties.push(k);\n\t\t}\n\n\t\tconst {length: propertyKeysCount} = propertyKeys;\n\t\tfor (let i = 0; i < propertyKeysCount; i++) {\n\t\t\tconst name = propertyKeys[i];\n\t\t\taccessors[name] = {\n\t\t\t\tget() {\n\t\t\t\t\treturn this.getProperty(name);\n\t\t\t\t},\n\t\t\t\tset(value) {\n\t\t\t\t\tthis[SET_PROPERTY](name, value);\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\n\t\tObject.defineProperties(SeismicElement.prototype, accessors);\n\n\t\tassertValidPropertyNames(propertyKeys);\n\t}\n\n\tsetUpdateConfigResolver(tagName, (update, updateMeta) => {\n\t\tconst {comparison = {}} = updateMeta;\n\t\tconst modifiedConfig = {};\n\t\tfor (const configKey in update) {\n\t\t\tif (configKey in comparison) {\n\t\t\t\tif (comparison[configKey]) {\n\t\t\t\t\tmodifiedConfig[configKey] = update[configKey];\n\t\t\t\t}\n\t\t\t} else if (update[configKey] !== config[configKey]) {\n\t\t\t\tmodifiedConfig[configKey] = update[configKey];\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tsupportedConfigKeys: presentational\n\t\t\t\t? ['styles', 'view']\n\t\t\t\t: ['styles', 'view', 'actionHandlers'],\n\t\t\tmodifiedConfig\n\t\t};\n\t});\n\taddUpdateCustomElementObserver(tagName, update => {\n\t\tif (update.styles) {\n\t\t\tconfig.styles = update.styles;\n\t\t\tremoveStyleFragmentFromCache(tagName);\n\t\t}\n\t\tif (update.actionHandlers) {\n\t\t\tconfig.actionHandlers = update.actionHandlers;\n\t\t\tnormalizedConfig = normalizeConfig(config);\n\t\t}\n\t\tif (update.view) {\n\t\t\tconfig.view = update.view;\n\t\t\trendererView = update.view;\n\t\t}\n\t});\n\n\tclass SeismicElement extends HTMLElement {\n\t\tconstructor() {\n\t\t\tsuper();\n\n\t\t\tinitialize();\n\n\t\t\tconst variables = {};\n\t\t\tthis[VARIABLES] = variables;\n\n\t\t\tvariables[SELECTABLE_PROPERTIES] = selectabledProperties;\n\t\t\tvariables[PROPERTIES_WITH_SELECTOR] = {};\n\t\t\tvariables[PRESENTATIONAL] = presentational;\n\t\t\tvariables[PROPS] = {};\n\t\t\tvariables[CHILDREN_TO_BE_INTERACTIVE] = {};\n\t\t\tvariables[INTERSECTED] = true;\n\t\t\tvariables[CONFIG] = normalizedConfig;\n\t\t\tvariables[PROPERTY_DEFS] = combinedPropertyDefs;\n\t\t\tvariables[ANCESTOR_PATH] = [];\n\t\t\tif (!presentational) {\n\t\t\t\tvariables[TARGETED_ACTION_TYPES] = [];\n\t\t\t\tvariables[PREVIOUS_RENDER_STATE] = {};\n\t\t\t\tvariables[PREVIOUS_RENDER_PROPERTIES] = {};\n\t\t\t\tvariables[PREVIOUS_TREE_RENDER_STATE] = {};\n\t\t\t\tvariables[PREVIOUS_TREE_RENDER_PROPERTIES] = {};\n\t\t\t\tvariables[RENDERED_ONCE] = false;\n\t\t\t\tvariables[TREE_RENDERED_ONCE] = false;\n\t\t\t\tvariables[ACTION_HANDLERS] = [];\n\t\t\t\tvariables[RUNTIME_ACTION_HANDLERS] = [];\n\t\t\t}\n\n\t\t\tvariables[VERSION] = PACKAGE_JSON_VERSION; // For CSS externalization. TODO Revisit this logic\n\n\t\t\tconst shadowRoot = this.attachShadow(shadowRootOptions);\n\t\t\tvariables[ROOT_NODE] = shadowRoot;\n\t\t\tvariables[ATTACHED_ROOT_NODE] = shadowRoot;\n\t\t\tthis.upgradeProperties();\n\n\t\t\t// ui-metrics checks this to know if marks for this component are valid.\n\t\t\t// Components that are not bootstrapped don't have enough data to emit\n\t\t\t// a valid mark\n\t\t\tthis.__DO_NOT_USE_BOOTSTRAPPED__ = false;\n\n\t\t\tvariables[STYLE_PROXY] = new Proxy(super.style, {\n\t\t\t\tset: (style, key, value) => {\n\t\t\t\t\tstyle[key] = value; // eslint-disable-line no-param-reassign\n\t\t\t\t\tif (this.__DO_NOT_USE_BOOTSTRAPPED__ && isHoisted(this))\n\t\t\t\t\t\tgetHoistTarget(variables).style[key] = value;\n\n\t\t\t\t\treturn true;\n\t\t\t\t},\n\t\t\t\tget(style, key) {\n\t\t\t\t\tif (typeof style[key] === 'function') return style[key].bind(style);\n\n\t\t\t\t\treturn style[key];\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tsetStat('constructed', this.tagName.toLowerCase());\n\t\t}\n\n\t\tget [CONFIG]() {\n\t\t\treturn normalizedConfig;\n\t\t}\n\n\t\tget [PROPERTY_DEFS]() {\n\t\t\treturn combinedPropertyDefs;\n\t\t}\n\n\t\tget version() {\n\t\t\treturn PACKAGE_JSON_VERSION;\n\t\t}\n\n\t\tstatic get observedAttributes() {\n\t\t\tconst pKeys = Object.keys(\n\t\t\t\tmergeBehaviorProperties(\n\t\t\t\t\tnormalizeBehaviors(config.behaviors || [], tagName),\n\t\t\t\t\tconfig.properties || {},\n\t\t\t\t\ttagName\n\t\t\t\t)\n\t\t\t);\n\t\t\treturn pKeys.map(toAttributeName);\n\t\t}\n\n\t\tupgradeProperties() {\n\t\t\tconst {length: propertyKeysCount} = propertyKeys;\n\t\t\tfor (let i = 0; i < propertyKeysCount; i++) {\n\t\t\t\tconst name = propertyKeys[i];\n\t\t\t\tif (this.hasOwnProperty(name)) {\n\t\t\t\t\tconst value = this[name];\n\t\t\t\t\tdelete this[name];\n\t\t\t\t\tthis[name] = value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tgetComponentId() {\n\t\t\tconst variables = getHostVariables(this);\n\t\t\treturn variables[COMPONENT_ID];\n\t\t}\n\n\t\tsetComponentId() {\n\t\t\tconst variables = getHostVariables(this);\n\t\t\tvariables[COMPONENT_ID] = this.getAttribute(COMPONENT_ID_ATTRIBUTE) || guid();\n\t\t\tthis.setAttribute(NOW_ID_ATTR, variables[COMPONENT_ID], false);\n\t\t\tthis.setAttribute(COMPONENT_ID_ATTRIBUTE, variables[COMPONENT_ID], false);\n\t\t}\n\n\t\tgetProperty(name) {\n\t\t\tconst variables = getHostVariables(this);\n\t\t\treturn variables[PROPS][name];\n\t\t}\n\n\t\t[SET_PROPERTY](name, value, updateProperties = false, options = {}) {\n\t\t\tconst {interactionId = createInteractionId(), span: activeSpan} = options;\n\t\t\tconst variables = getHostVariables(this);\n\n\t\t\tconst parentSpan = activeSpan || getActiveSpan(this);\n\t\t\t// get noisy during initialize, ex setting nowId\n\t\t\tconst setPropSpan =\n\t\t\t\tthis.__DO_NOT_USE_BOOTSTRAPPED__ === true\n\t\t\t\t\t? trace(SPAN_FOR_SET_PROPERTY, {\n\t\t\t\t\t\t\t...getSpanOptions(this),\n\t\t\t\t\t\t\ttraceId: interactionId,\n\t\t\t\t\t\t\tkind: SPAN_KIND_CLIENT,\n\t\t\t\t\t\t\tparentSpan\n\t\t\t\t\t  })\n\t\t\t\t\t: null;\n\n\t\t\tif (setPropSpan && (value === null || typeof value !== 'object')) {\n\t\t\t\tsetPropSpan.setAttribute(SPAN_ATTR_UPDATE_PROPERTIES_PROPNAME, name);\n\t\t\t\tsetPropSpan.setAttribute(SPAN_ATTR_UPDATE_PROPERTIES_PROPVALUE, value);\n\t\t\t}\n\n\t\t\tif (variables[PROPS][NOW_MODE_PROP] === COMPONENT_MODE_DETACH) {\n\t\t\t\tif (name !== NOW_MODE_PROP) {\n\t\t\t\t\tif (!this[DETACHED_COMPONENT_PROPERTY_MAP])\n\t\t\t\t\t\tthis[DETACHED_COMPONENT_PROPERTY_MAP] = new Map();\n\n\t\t\t\t\tthis[DETACHED_COMPONENT_PROPERTY_MAP].set(name, {\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tupdateProperties,\n\t\t\t\t\t\tinteractionId\n\t\t\t\t\t});\n\t\t\t\t\tif (setPropSpan) {\n\t\t\t\t\t\tsetPropSpan.setAttribute(SPAN_ATTR_SET_PROPERTY_SKIPED, 'detached');\n\t\t\t\t\t\tsetPropSpan.end();\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst valueOrDefault = parseProperty(\n\t\t\t\tname,\n\t\t\t\tvalue === undefined ? combinedPropertyDefs[name].default : value,\n\t\t\t\tcombinedPropertyDefs[name],\n\t\t\t\tthis,\n\t\t\t\tvariables[DISPATCH] || createDispatcher(this)\n\t\t\t);\n\n\t\t\tif (quickEquals(valueOrDefault, variables[PROPS][name])) {\n\t\t\t\tif (setPropSpan) {\n\t\t\t\t\tsetPropSpan.setAttribute(SPAN_ATTR_SET_PROPERTY_SKIPED, 'quick-equal');\n\t\t\t\t\tsetPropSpan.end();\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// we might want to consider doing some of this in createUpdateProperties like we\n\t\t\t// do for createUpdateState, so that we never even get this far if the property\n\t\t\t// update is declarative\n\t\t\tif (\n\t\t\t\t(enableDeepPropertyCompare && !optOutDeepCompare) || combinedPropertyDefs[name].deepCompare\n\t\t\t\t\t? isEqual(variables[PROPS][name], valueOrDefault)\n\t\t\t\t\t: variables[PROPS][name] === valueOrDefault\n\t\t\t) {\n\t\t\t\tif (setPropSpan) {\n\t\t\t\t\tsetPropSpan.setAttribute(SPAN_ATTR_SET_PROPERTY_SKIPED, 'equal');\n\t\t\t\t\tsetPropSpan.end();\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (this.__DO_NOT_USE_BOOTSTRAPPED__ !== true) {\n\t\t\t\tvariables[PROPS][name] = valueOrDefault;\n\t\t\t\tsetPropSpan && setPropSpan.end();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!shouldSetProperty(tagName, name, combinedPropertyDefs, updateProperties)) {\n\t\t\t\tif (setPropSpan) {\n\t\t\t\t\tsetPropSpan.setAttribute(SPAN_ATTR_SET_PROPERTY_SKIPED, 'readonly-computed');\n\t\t\t\t\tsetPropSpan.end();\n\t\t\t\t}\n\t\t\t\treturn log(`Cannot set read only or computed property ${name}.`, {\n\t\t\t\t\thost: this,\n\t\t\t\t\torigin: String(SET_PROPERTY)\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (variables[PROPS][NOW_ENABLE_PROPERTY_SETTING_PREVENTION_PROP]) {\n\t\t\t\tconst event = variables[DISPATCH](\n\t\t\t\t\tCOMPONENT_PROPERTY_UPDATE_REQUESTED,\n\t\t\t\t\t{name, value: variables[PROPS][name], nextValue: valueOrDefault, host: this},\n\t\t\t\t\tsetInteractionId(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[SCHEDULE_IMMEDIATELY_DO_NOT_USE_OR_YOU_WILL_BE_IMMEDIATELY_FIRED]: true,\n\t\t\t\t\t\t\t[COMPONENT_INTERNAL_ACTION]: true,\n\t\t\t\t\t\t\tinternal: true,\n\t\t\t\t\t\t\tinternalPropertyUpdateRequested: updateProperties,\n\t\t\t\t\t\t\t...(setPropSpan && isValidTraceId(setPropSpan.traceId) && {span: setPropSpan})\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinteractionId\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\tif (event.defaultPrevented) {\n\t\t\t\t\tsetPropSpan && setPropSpan.end();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst previousValue = variables[PROPS][name];\n\t\t\tvariables[PROPS][name] = valueOrDefault;\n\n\t\t\t// If nowPlaceholderHeight or Width changes, we want to replace the previous intersect styles so long as:\n\t\t\t// We are currently observing for an intersection (because otherwise we don't want to apply these styles)\n\t\t\t// We have not intersected yet (these styles should only be applied when the component has not intersected yet)\n\t\t\tif (\n\t\t\t\tvariables[USING_INTERSECTION_OBSERVER] &&\n\t\t\t\t[NOW_PLACEHOLDER_HEIGHT_PROP, NOW_PLACEHOLDER_WIDTH_PROP].includes(name) &&\n\t\t\t\t!variables[INTERSECTED] &&\n\t\t\t\tpreviousValue !== valueOrDefault\n\t\t\t) {\n\t\t\t\tconst removeIntersectedStyles = applyIntersectStyles(this, config, {\n\t\t\t\t\theight: variables[PROPS][NOW_PLACEHOLDER_HEIGHT_PROP],\n\t\t\t\t\twidth: variables[PROPS][NOW_PLACEHOLDER_WIDTH_PROP]\n\t\t\t\t});\n\n\t\t\t\tif (variables[REMOVE_INTERSECTED_STYLES]) variables[REMOVE_INTERSECTED_STYLES]();\n\n\t\t\t\tvariables[REMOVE_INTERSECTED_STYLES] = removeIntersectedStyles;\n\t\t\t}\n\n\t\t\tconst propertyDetails = {\n\t\t\t\tpreviousValue,\n\t\t\t\tvalue: valueOrDefault\n\t\t\t};\n\n\t\t\tupdatePropertiesWithSelector(name, valueOrDefault, variables[PROPERTIES_WITH_SELECTOR]);\n\t\t\tupdateSelectedPropertyMappings(valueOrDefault, name, variables[COMPONENT_ID]);\n\t\t\tupdateResolvedSelectedPropertyMappings(\n\t\t\t\tpropertyDetails,\n\t\t\t\tname,\n\t\t\t\tvariables[COMPONENT_ID],\n\t\t\t\tcomponentRegistry,\n\t\t\t\tnormalizedConfig.properties[name],\n\t\t\t\tvariables[PROPERTIES_WITH_SELECTOR]\n\t\t\t);\n\t\t\tthis[UPDATE_AFFECTED_COMPONENTS]({\n\t\t\t\tname,\n\t\t\t\tpropertyDetails,\n\t\t\t\tinteractionId,\n\t\t\t\tincludeSource: true,\n\t\t\t\t...(setPropSpan && isValidTraceId(setPropSpan.traceId) && {activeSpan: setPropSpan})\n\t\t\t});\n\t\t\tsetPropSpan && setPropSpan.end();\n\t\t}\n\n\t\t[UPDATE_AFFECTED_COMPONENTS]({\n\t\t\tname,\n\t\t\tpropertyDetails,\n\t\t\tinteractionId,\n\t\t\tincludeSource,\n\t\t\tactiveSpan\n\t\t}) {\n\t\t\tconst variables = getHostVariables(this);\n\n\t\t\tconst allAffectedComponents = getAffected(\n\t\t\t\tname,\n\t\t\t\tvariables[COMPONENT_ID],\n\t\t\t\tcomponentRegistry,\n\t\t\t\tincludeSource\n\t\t\t);\n\t\t\ttriggerComponentUpdates(\n\t\t\t\tcomponentRegistry,\n\t\t\t\tallAffectedComponents,\n\t\t\t\tpropertyDetails,\n\t\t\t\tinteractionId,\n\t\t\t\t'PROPERTY_SET',\n\t\t\t\t{activeSpan}\n\t\t\t);\n\t\t}\n\n\t\t[HOIST_CHANGED](value) {\n\t\t\tconst variables = getHostVariables(this);\n\n\t\t\tif ((value && variables[UNHOIST]) || (!value && !variables[UNHOIST])) return;\n\n\t\t\tif (!presentational) {\n\t\t\t\tvariables[ACTION_HANDLERS] = removeActionHandlers(variables[ACTION_HANDLERS]);\n\t\t\t\tvariables[TARGETED_ACTION_TYPES] = [];\n\t\t\t}\n\n\t\t\tif (value) {\n\t\t\t\t// render null to host's shadowRoot to ensure cleanup\n\t\t\t\tclearRootNode(this, variables[ATTACHED_ROOT_NODE], onStateChange);\n\t\t\t\tvariables[UNHOIST] = hoist(this, deprioritizeStyles, onStateChange);\n\t\t\t} else {\n\t\t\t\ttypeof variables[UNHOIST] === 'function' && variables[UNHOIST]();\n\t\t\t\tdelete variables[UNHOIST];\n\t\t\t}\n\n\t\t\tif (!presentational)\n\t\t\t\tvariables[ACTION_HANDLERS] = addActionHandlers(this, normalizedConfig.interceptors);\n\t\t}\n\n\t\t[HOIST_PARENT_CHANGED](propName) {\n\t\t\tconst variables = getHostVariables(this);\n\n\t\t\tconst resolvedState = getResolvedState(variables, componentRegistry, this);\n\t\t\t// reflect hoist targeting properties immediately, these attributes are used when hoisting\n\t\t\t[HOIST_ATTR, NOW_HOIST_PROP, propName].forEach(p => {\n\t\t\t\treflectProperty(p, combinedPropertyDefs[p], resolvedState, this, {});\n\t\t\t});\n\t\t\tif (!presentational) {\n\t\t\t\tvariables[ACTION_HANDLERS] = removeActionHandlers(variables[ACTION_HANDLERS]);\n\t\t\t\tvariables[TARGETED_ACTION_TYPES] = [];\n\t\t\t}\n\n\t\t\ttypeof variables[UNHOIST] === 'function' && variables[UNHOIST]();\n\t\t\tvariables[UNHOIST] = hoist(this, deprioritizeStyles, onStateChange);\n\n\t\t\tif (!presentational)\n\t\t\t\tvariables[ACTION_HANDLERS] = addActionHandlers(this, normalizedConfig.interceptors);\n\t\t}\n\n\t\t[GET_RESOLVED_PROPERTY](propName) {\n\t\t\tconst variables = getHostVariables(this);\n\n\t\t\treturn resolveSelectedProperty(\n\t\t\t\tcomponentRegistry,\n\t\t\t\tselectablePropertyResolver,\n\t\t\t\tvariables[PROPS][propName],\n\t\t\t\tnormalizedConfig.properties[propName]\n\t\t\t);\n\t\t}\n\n\t\tsetAttribute(name, value, isReflecting = false) {\n\t\t\tif (!shouldSetAttribute(tagName, isReflecting, name, combinedPropertyDefs)) {\n\t\t\t\treturn log(`Cannot set read only or computed property ${name}`, {\n\t\t\t\t\thost: this,\n\t\t\t\t\torigin: 'setAttribute'\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (shouldHoistAttribute(this, name)) hoistAttribute(this, name, value);\n\n\t\t\treturn HTMLElement.prototype.setAttribute.call(this, name, value);\n\t\t}\n\n\t\tremoveAttribute(name) {\n\t\t\tif (shouldHoistAttribute(this, name)) unhoistAttribute(this, name);\n\n\t\t\tHTMLElement.prototype.removeAttribute.call(this, name);\n\t\t}\n\n\t\tgenerateDeferGetterAndSetter() {\n\t\t\tconst variables = getHostVariables(this);\n\n\t\t\tvariables[DEFERRED] = true;\n\t\t\tObject.defineProperty(this, DEFER_ATTRIBUTE, {\n\t\t\t\tget: () => variables[DEFERRED],\n\t\t\t\tset: value => {\n\t\t\t\t\tif (variables[DEFERRED] === value) return;\n\n\t\t\t\t\tvariables[DEFERRED] = value;\n\t\t\t\t\tif (!variables[CONNECTED]) {\n\t\t\t\t\t\tsetStat('undefer', this.tagName.toLowerCase());\n\t\t\t\t\t\tthis.connectedCallback();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlog(\n\t\t\t\t\t\t\t`${this.tagName.toLowerCase()}[component-id=\"${\n\t\t\t\t\t\t\t\tvariables[COMPONENT_ID]\n\t\t\t\t\t\t\t}\"] cannot be deferred. It is already connected.`,\n\t\t\t\t\t\t\t{host: this, origin: 'generateDeferGetterAndSetter'}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tconfigurable: true\n\t\t\t});\n\t\t}\n\n\t\tshouldLegacyDefer() {\n\t\t\treturn this.hasAttribute(DEFER_ATTRIBUTE) && !this.__DO_NOT_USE_BOOTSTRAPPED__;\n\t\t}\n\n\t\tsetInitialProperties() {\n\t\t\tconst variables = getHostVariables(this);\n\n\t\t\tconst defaults = {};\n\t\t\tconst {length: propertyKeysCount} = propertyKeys;\n\t\t\tfor (let i = 0; i < propertyKeysCount; i++) {\n\t\t\t\tconst name = propertyKeys[i];\n\t\t\t\tdefaults[name] = getInitialPropertyValue(this, name, combinedPropertyDefs);\n\t\t\t}\n\n\t\t\tconst propertyDefs = combinedPropertyDefs;\n\t\t\tvariables[PROPS] = parseProperties(\n\t\t\t\tresolveProperties(\n\t\t\t\t\tinitialState,\n\t\t\t\t\tfilterPropertyDefinitions(propertyDefs, def => !def.computed),\n\t\t\t\t\tdefaults\n\t\t\t\t),\n\t\t\t\tpropertyDefs,\n\t\t\t\t{host: this, dispatch: variables[DISPATCH]}\n\t\t\t);\n\n\t\t\tconst properties = variables[PROPS];\n\t\t\tfor (const k in properties) {\n\t\t\t\tupdatePropertiesWithSelector(k, properties[k], variables[PROPERTIES_WITH_SELECTOR]);\n\t\t\t\tupdateSelectedPropertyMappings(\n\t\t\t\t\tproperties[k],\n\t\t\t\t\tk,\n\t\t\t\t\tvariables[COMPONENT_ID],\n\t\t\t\t\tthis.__DO_NOT_USE_BOOTSTRAPPED__\n\t\t\t\t);\n\n\t\t\t\tif (combinedPropertyDefs[k] && combinedPropertyDefs[k].selectable) {\n\t\t\t\t\taddResolvedSelectedPropertyMappingWithResolvedValue(\n\t\t\t\t\t\tproperties[k],\n\t\t\t\t\t\tk,\n\t\t\t\t\t\tvariables[COMPONENT_ID]\n\t\t\t\t\t);\n\t\t\t\t\ttriggerComponentUpdates(\n\t\t\t\t\t\tcomponentRegistry,\n\t\t\t\t\t\tgetComponentAffected(k, variables[COMPONENT_ID]),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: variables[PROPS][k]\n\t\t\t\t\t\t},\n\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t'INITIAL_PROPERTY_SET',\n\t\t\t\t\t\t{activeSpan: getActiveSpan(this)}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tgetResolvedProperties(interactionId) {\n\t\t\tconst variables = getHostVariables(this);\n\t\t\tconst state = getResolvedState(variables, componentRegistry, this);\n\t\t\tconst resolvedProperties = resolveComputedProperties(state, this, variables, interactionId);\n\t\t\treturn unescapeReservedCharacters(resolvedProperties).properties;\n\t\t}\n\n\t\tgetProperties() {\n\t\t\tconst variables = getHostVariables(this);\n\n\t\t\treturn {...variables[PROPS]};\n\t\t}\n\n\t\tattributeChangedCallback(name, oldValue, newValue) {\n\t\t\tconst variables = getHostVariables(this);\n\t\t\tif (name === DEFER_ATTRIBUTE) return (this[DEFER_ATTRIBUTE] = newValue);\n\n\t\t\tif (!variables[CONNECTED]) return;\n\n\t\t\tconst propName = toPropertyName(name);\n\t\t\tconst propValue = this[propName];\n\t\t\tif (isReflecting(name)) return clearReflection(name);\n\n\t\t\t// vdom renderers set prop, then attribute values on nodes; this check prevents a double render\n\t\t\t// while allowing for direct attribute setting and removal, e.g., el.setAttribute, el.removeAttribute\n\t\t\t// 1. if newValue is null and propValue is falsey then the property was set already and removeAttribute was called\n\t\t\t// 2. if propValue is truthy and newValue is a string and values are equal then the property was set\n\t\t\t//    already and setAttribute was called\n\t\t\t// 3. if propValue is truthy and newValue is empty string setAttribute was called after setting property to true\n\t\t\t// 4. if propValue is falsey and newValue is null removeAttribute was called after setting property to false\n\t\t\tif (newValue === null && !propValue) return;\n\n\t\t\tif (propValue && typeof newValue === 'string' && propValue === newValue) return;\n\n\t\t\tif (typeof propValue === 'boolean') {\n\t\t\t\tif (\n\t\t\t\t\tpropValue &&\n\t\t\t\t\tnewValue === '' &&\n\t\t\t\t\t!combinedPropertyDefs[propName].unstablePreserveEmptyStr\n\t\t\t\t)\n\t\t\t\t\treturn;\n\n\t\t\t\tif (!propValue && newValue === null) return;\n\t\t\t}\n\n\t\t\t// if newValue is null then removeAttribute was called, We should set the property to undefined, which will\n\t\t\t// be set to default in the setter if necessary\n\t\t\tif (variables[CONNECTED] && oldValue !== newValue)\n\t\t\t\tthis[propName] = newValue === null ? undefined : newValue;\n\t\t}\n\n\t\tconnectedCallback() {\n\t\t\tconst variables = getHostVariables(this);\n\t\t\t// if a node is quickly connected and disconnected then by the time\n\t\t\t// connectedCallback is called it can actually be disconnected\n\t\t\tif (!this.isConnected) return;\n\t\t\tif (this.shouldLegacyDefer()) {\n\t\t\t\tvariables[CONNECTED_DEFERRED_TIMESTAMP] = performance.now();\n\t\t\t\tsetStat('defer', this.tagName.toLowerCase());\n\t\t\t\treturn this.generateDeferGetterAndSetter();\n\t\t\t}\n\n\t\t\tvariables[REMOVE_UPDATE_CUSTOM_ELEMENT_OBSERVER] = addUpdateCustomElementObserver(\n\t\t\t\ttagName,\n\t\t\t\tupdate => {\n\t\t\t\t\tvariables[CONFIG] = normalizedConfig;\n\t\t\t\t\tif (update.styles) {\n\t\t\t\t\t\tremoveStyles(this);\n\t\t\t\t\t\tapplyStyles(this, config);\n\t\t\t\t\t}\n\t\t\t\t\tif (update.actionHandlers && !presentational) {\n\t\t\t\t\t\tvariables[ACTION_HANDLERS] = removeActionHandlers(variables[ACTION_HANDLERS]);\n\t\t\t\t\t\tvariables[ACTION_HANDLERS] = addActionHandlers(this, normalizedConfig.interceptors);\n\t\t\t\t\t}\n\t\t\t\t\tif (update.view) {\n\t\t\t\t\t\tthis[RENDER]();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\n\t\t\t// We haven't called `setInitialProperties()` yet until later in the\n\t\t\t// connect, so `this[NOW_PRIORITY_PROP]` may not have the default value\n\t\t\t// from the property config.\n\t\t\tconst priorityLevel =\n\t\t\t\tthis[NOW_PRIORITY_PROP] === undefined\n\t\t\t\t\t? combinedPropertyDefs[NOW_PRIORITY_PROP]\n\t\t\t\t\t\t? combinedPropertyDefs[NOW_PRIORITY_PROP].default\n\t\t\t\t\t\t: undefined\n\t\t\t\t\t: this[NOW_PRIORITY_PROP];\n\t\t\tif (priorityLevel === PRIORITY_LEVEL_LOW && !variables[LOW_PRIORITY_PENDING]) {\n\t\t\t\tthis.setAttribute(NOW_PRIORITY_ATTR, priorityLevel);\n\t\t\t\tvariables[LOW_PRIORITY_PENDING] = true;\n\t\t\t\tschedule({\n\t\t\t\t\tfn: () => {\n\t\t\t\t\t\tif (!variables[CONNECTED]) this.connectedCallback();\n\t\t\t\t\t\tthis.removeAttribute(NOW_PRIORITY_ATTR);\n\t\t\t\t\t\tdelete variables[LOW_PRIORITY_PENDING];\n\t\t\t\t\t},\n\t\t\t\t\ttype: DEFER_IDLE,\n\t\t\t\t\tmeta: {el: this, interactionId: createInteractionId()}\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvariables[CONNECTED] = true;\n\t\t\tvariables[CONNECTED_TIMESTAMP] = performance.now();\n\t\t\tthis.setComponentId();\n\t\t\tthis.dispatch = createDispatcher(this);\n\t\t\tvariables[HELPERS_SCHEDULED] = createHelpers(\n\t\t\t\tthis,\n\t\t\t\tcombinedPropertyDefs,\n\t\t\t\tHELPERS_SCHEDULED_CONST,\n\t\t\t\t{presentational}\n\t\t\t);\n\t\t\tvariables[HELPERS_IMMEDIATE] = createHelpers(\n\t\t\t\tthis,\n\t\t\t\tcombinedPropertyDefs,\n\t\t\t\tHELPERS_IMMEDIATE_CONST,\n\t\t\t\t{presentational}\n\t\t\t);\n\t\t\tvariables[HELPERS_DEFER] = createHelpers(this, combinedPropertyDefs, HELPERS_DEFER_CONST, {\n\t\t\t\tpresentational\n\t\t\t});\n\t\t\tthis.helpers = variables[HELPERS_SCHEDULED]; // @servicenow/ui-internal relies on this\n\t\t\tvariables[DISPATCH] = this.dispatch;\n\t\t\tvariables[CONDITIONAL_DISPATCH] = createConditionalDispatch(this);\n\t\t\tvariables[UNHOIST] = hoist(this, deprioritizeStyles, onStateChange);\n\t\t\tconst rootNode = getRootNode(this);\n\t\t\tvariables[ANCESTOR_ROOT_NODE] = rootNode && rootNode.nowId ? rootNode : null;\n\t\t\tif (variables[ANCESTOR_ROOT_NODE]) {\n\t\t\t\tvariables[ANCESTOR_ROOT_NODE][VARIABLES][CHILDREN_TO_BE_INTERACTIVE][\n\t\t\t\t\tvariables[COMPONENT_ID]\n\t\t\t\t] = true;\n\t\t\t\tvariables[ANCESTOR_PATH] = [\n\t\t\t\t\tvariables[ANCESTOR_ROOT_NODE],\n\t\t\t\t\t...(variables[ANCESTOR_ROOT_NODE]?.[VARIABLES]?.[ANCESTOR_PATH] || [])\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\tvariables[ANCESTOR_PATH] = [];\n\t\t\t}\n\t\t\tthis.__DO_NOT_USE_OR_YOU_WILL_BE_FIRED_BY_YOUR_PARENT__ =\n\t\t\t\t(variables[ANCESTOR_ROOT_NODE] && variables[ANCESTOR_ROOT_NODE].nowId) || null;\n\t\t\tvariables[CHILDREN_TO_BE_RENDERED] = {};\n\t\t\tvariables[NEEDS_TO_KNOW_ABOUT_TREE_RENDERS] =\n\t\t\t\tnormalizedConfig.shouldDispatch[COMPONENT_DOM_TREE_READY] ||\n\t\t\t\tnormalizedConfig.shouldDispatch[COMPONENT_TREE_RENDERED] ||\n\t\t\t\t(variables[ANCESTOR_ROOT_NODE] &&\n\t\t\t\t\tvariables[ANCESTOR_ROOT_NODE][VARIABLES][NEEDS_TO_KNOW_ABOUT_TREE_RENDERS]);\n\n\t\t\tif (!presentational)\n\t\t\t\tvariables[ACTION_HANDLERS] = addActionHandlers(this, normalizedConfig.interceptors);\n\n\t\t\tif (componentRegistry[this.getComponentId()] !== undefined)\n\t\t\t\tlog(\n\t\t\t\t\t`The componentId- ${this.getComponentId()} already exists. Component identifiers must be unique.`\n\t\t\t\t);\n\n\t\t\tcomponentRegistry[this.getComponentId()] = this;\n\n\t\t\t// This must be called here syncronously instead of in the callback of onConnect\n\t\t\t// just below. If any code gets added that could prevent this[RENDER] being called\n\t\t\t// between here and inside the onConnect callback just below, it will break the\n\t\t\t// TREE_RENDERED and TREE_READY lifecycles\n\t\t\tthis[NOTIFY_PARENT_THAT_CHILD_IS_RENDERING]();\n\n\t\t\tsandbox(onConnect, {\n\t\t\t\targs: [\n\t\t\t\t\tvariables[ROOT_NODE],\n\t\t\t\t\tthis.dispatch,\n\t\t\t\t\t() => {\n\t\t\t\t\t\tthis.setInitialProperties();\n\t\t\t\t\t\tif (!presentational && !variables[STATE]) {\n\t\t\t\t\t\t\t// Set variables[STATE] to just initialState and not include setInitialState\n\t\t\t\t\t\t\t// for backwards compatibility: so that initialState is still available\n\t\t\t\t\t\t\t// within a computed property's computed() method\n\t\t\t\t\t\t\tvariables[STATE] = {...normalizedConfig.initialState};\n\n\t\t\t\t\t\t\tconst initialState = {\n\t\t\t\t\t\t\t\t...variables[STATE],\n\t\t\t\t\t\t\t\t...normalizedConfig.setInitialState({\n\t\t\t\t\t\t\t\t\thost: this,\n\t\t\t\t\t\t\t\t\tproperties: unescapeReservedCharacters(\n\t\t\t\t\t\t\t\t\t\tcomputeProperties(\n\t\t\t\t\t\t\t\t\t\t\tcamelCaseProperties(getResolvedState(variables, componentRegistry, this)),\n\t\t\t\t\t\t\t\t\t\t\tthis\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t).properties,\n\t\t\t\t\t\t\t\t\tcontext: createContextProxy(this)\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\temitNowUiEvent(STATE_UPDATED, {\n\t\t\t\t\t\t\t\tcomponentId: variables[COMPONENT_ID],\n\t\t\t\t\t\t\t\tpreviousState: undefined,\n\t\t\t\t\t\t\t\tnextState: initialState\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tvariables[STATE] = initialState;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tthis[RENDER](resolveParentTraceId(this));\n\n\t\t\t\t\t\t// this is to handle the case in which a renderer has not already set the properties on the host because it is async.\n\t\t\t\t\t\t// i do not want to unconditionally move hoisting initialization here without a design and supporting tests.\n\t\t\t\t\t\t// this change is backwards compatible with existing hoist use cases and renderers.\n\t\t\t\t\t\tif (typeof variables[UNHOIST] !== 'function' && isHoisted(this)) {\n\t\t\t\t\t\t\tif (presentational) {\n\t\t\t\t\t\t\t\tvariables[UNHOIST] = hoist(this, deprioritizeStyles, onStateChange);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tremoveActionHandlers(variables[ACTION_HANDLERS]);\n\t\t\t\t\t\t\t\tvariables[TARGETED_ACTION_TYPES] = [];\n\t\t\t\t\t\t\t\tvariables[UNHOIST] = hoist(this, deprioritizeStyles, onStateChange);\n\t\t\t\t\t\t\t\tvariables[ACTION_HANDLERS] = addActionHandlers(this, normalizedConfig.interceptors);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tapplyStyles(this, config);\n\n\t\t\t\t\t\tvariables[USING_INTERSECTION_OBSERVER] =\n\t\t\t\t\t\t\tvariables[PROPS][NOW_PLACEHOLDER_HEIGHT_PROP] ||\n\t\t\t\t\t\t\tvariables[PROPS][NOW_PLACEHOLDER_WIDTH_PROP];\n\t\t\t\t\t\tif (variables[USING_INTERSECTION_OBSERVER]) {\n\t\t\t\t\t\t\tvariables[INTERSECTED] = false;\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tvariables[PROPS][NOW_PLACEHOLDER_HEIGHT_PROP] ||\n\t\t\t\t\t\t\t\tvariables[PROPS][NOW_PLACEHOLDER_WIDTH_PROP]\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tvariables[REMOVE_INTERSECTED_STYLES] = applyIntersectStyles(this, config, {\n\t\t\t\t\t\t\t\t\theight: variables[PROPS][NOW_PLACEHOLDER_HEIGHT_PROP],\n\t\t\t\t\t\t\t\t\twidth: variables[PROPS][NOW_PLACEHOLDER_WIDTH_PROP]\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tintersectionObserver.observe(this);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!this.__DO_NOT_USE_BOOTSTRAPPED__) {\n\t\t\t\t\t\t\tthis.__DO_NOT_USE_BOOTSTRAPPED__ = true;\n\n\t\t\t\t\t\t\tvariables[CONDITIONAL_DISPATCH](\n\t\t\t\t\t\t\t\tCOMPONENT_BOOTSTRAPPED,\n\t\t\t\t\t\t\t\t{host: this},\n\t\t\t\t\t\t\t\t{internal: true}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tvariables[CONDITIONAL_DISPATCH](COMPONENT_CONNECTED, {host: this}, {internal: true});\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\thost: this,\n\t\t\t\tdetails: {\n\t\t\t\t\ttype: 'onConnect'\n\t\t\t\t},\n\t\t\t\tlocation: locations.RENDERER,\n\t\t\t\tdispatch: variables[DISPATCH],\n\t\t\t\tlog\n\t\t\t});\n\t\t}\n\n\t\tdisconnectedCallback() {\n\t\t\tconst variables = getHostVariables(this);\n\n\t\t\tif (!variables[CONNECTED]) return;\n\n\t\t\tvariables[CONNECTED] = false;\n\t\t\t// render null to ensure that view specific clean up hooks are called\n\t\t\tclearRootNode(this, variables[ROOT_NODE], onStateChange);\n\n\t\t\tremoveStyles(this);\n\t\t\tif (variables[USING_INTERSECTION_OBSERVER] && !variables[INTERSECTED])\n\t\t\t\tintersectionObserver.unobserve(this);\n\n\t\t\tif (\n\t\t\t\t(!normalizedConfig.shouldDispatch[COMPONENT_BOOTSTRAPPED] &&\n\t\t\t\t\t!normalizedConfig.shouldDispatch[COMPONENT_CONNECTED]) ||\n\t\t\t\t(normalizedConfig.shouldDispatch[COMPONENT_BOOTSTRAPPED] &&\n\t\t\t\t\tvariables[BOOTSTRAPPED_HANDLED]) ||\n\t\t\t\t(normalizedConfig.shouldDispatch[COMPONENT_CONNECTED] && variables[CONNECTED_HANDLED])\n\t\t\t) {\n\t\t\t\tvariables[CONDITIONAL_DISPATCH](\n\t\t\t\t\tCOMPONENT_DISCONNECTED,\n\t\t\t\t\t{host: this},\n\t\t\t\t\t{\n\t\t\t\t\t\tinternal: true,\n\t\t\t\t\t\t[SCHEDULE_IMMEDIATELY_DO_NOT_USE_OR_YOU_WILL_BE_IMMEDIATELY_FIRED]: true\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tsandbox(onDisconnect, {\n\t\t\t\targs: [\n\t\t\t\t\tvariables[ROOT_NODE],\n\t\t\t\t\tthis.dispatch,\n\t\t\t\t\t() => {\n\t\t\t\t\t\ttypeof variables[UNHOIST] === 'function' && variables[UNHOIST]();\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\thost: this,\n\t\t\t\tdetails: {\n\t\t\t\t\ttype: 'onDisconnect'\n\t\t\t\t},\n\t\t\t\tlocation: locations.RENDERER,\n\t\t\t\tdispatch: variables[DISPATCH],\n\t\t\t\tlog\n\t\t\t});\n\n\t\t\tremoveResolvedMapping(variables[COMPONENT_ID]);\n\n\t\t\tif (presentational) {\n\t\t\t\tremoveMappings(variables[COMPONENT_ID]);\n\t\t\t} else {\n\t\t\t\tvariables[CONNECTED_HANDLED] = false;\n\t\t\t\tvariables[ACTION_HANDLERS] = removeActionHandlers(variables[ACTION_HANDLERS]);\n\t\t\t\tvariables[TARGETED_ACTION_TYPES] = [];\n\t\t\t\tremoveMappings(variables[COMPONENT_ID]);\n\t\t\t\tvariables[RENDERED_ONCE] = false;\n\t\t\t\tvariables[TREE_RENDERED_ONCE] = false;\n\t\t\t\tclearPendingNetworkActionsForHost(this);\n\t\t\t}\n\n\t\t\tremoveContextConsumer(this);\n\n\t\t\t// there are cases where connectedCallback has not executed, but disconnectedCallback does\n\t\t\tthis.getComponentId() && delete componentRegistry[this.getComponentId()];\n\n\t\t\tif (typeof variables[REMOVE_UPDATE_CUSTOM_ELEMENT_OBSERVER] === 'function') {\n\t\t\t\tvariables[REMOVE_UPDATE_CUSTOM_ELEMENT_OBSERVER]();\n\t\t\t}\n\t\t}\n\n\t\t[RENDER](interactionId, source = metrics.CONNECTION, options = {}) {\n\t\t\tconst parentSpan = options.activeSpan || getActiveSpan(this);\n\t\t\tconst renderSpan = trace(SPAN_FOR_RENDER, {\n\t\t\t\t...getSpanOptions(this),\n\t\t\t\ttraceId: interactionId,\n\t\t\t\tkind: SPAN_KIND_CLIENT,\n\t\t\t\tparentSpan: parentSpan && isValidTraceId(parentSpan.traceId) ? parentSpan : null\n\t\t\t});\n\t\t\tconst variables = getHostVariables(this);\n\t\t\trenderSpan.setAttribute(SPAN_ATTR_RENDER_CAUSE, source);\n\t\t\toptions.cause = source; // eslint-disable-line no-param-reassign\n\n\t\t\tif (enableSchedulerQueueCounts) {\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\toptions.highPriorityTaskCount = countHighPriorityTasks(this);\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\toptions.mediumPriorityTaskCount = countMediumPriorityTasks(this);\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\toptions.pendingNetworkActionCount = pendingNetworkActionCountForHost(this);\n\t\t\t}\n\n\t\t\t// tell parent that a child is rendering. Once this is called,\n\t\t\t// this[NOTIFY_PARENT_THAT_CHILD_TREE_HAS_RENDERED]() must be called at some point,\n\t\t\t// either directly or via this[CHECK_IF_TREE_RENDERED]()\n\t\t\tthis[NOTIFY_PARENT_THAT_CHILD_IS_RENDERING]({interactionId});\n\n\t\t\tif (!this.isConnected) {\n\t\t\t\tthis[NOTIFY_PARENT_THAT_CHILD_TREE_HAS_RENDERED]({interactionId});\n\t\t\t\trenderSpan.setAttribute(SPAN_ATTR_COMPONENT_CONNECTED, false);\n\t\t\t\trenderSpan.end();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tschedule({\n\t\t\t\tfn: () => {\n\t\t\t\t\tif (!this.isConnected) {\n\t\t\t\t\t\tthis[NOTIFY_PARENT_THAT_CHILD_TREE_HAS_RENDERED]({interactionId});\n\t\t\t\t\t\trenderSpan.setAttribute(SPAN_ATTR_COMPONENT_CONNECTED, false);\n\t\t\t\t\t\trenderSpan.end();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (variables[PROPS][NOW_MODE_PROP] === COMPONENT_MODE_SUSPEND) {\n\t\t\t\t\t\tthis[NOTIFY_PARENT_THAT_CHILD_TREE_HAS_RENDERED]({interactionId});\n\t\t\t\t\t\trenderSpan.setAttribute(SPAN_ATTR_COMPONENT_SUSPENDED, true);\n\t\t\t\t\t\trenderSpan.end();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (variables[PROPS][NOW_MODE_PROP] === COMPONENT_MODE_DETACH) {\n\t\t\t\t\t\tconst fragment = document.createDocumentFragment();\n\n\t\t\t\t\t\tif (!this[DETACHED_SHADOW_ROOT_CHILDREN_FRAGMENT]) {\n\t\t\t\t\t\t\twhile (variables[ROOT_NODE].firstChild) {\n\t\t\t\t\t\t\t\tfragment.appendChild(\n\t\t\t\t\t\t\t\t\tvariables[ROOT_NODE].removeChild(variables[ROOT_NODE].firstChild)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthis[DETACHED_SHADOW_ROOT_CHILDREN_FRAGMENT] = fragment;\n\t\t\t\t\t\t\tthis[NOTIFY_PARENT_THAT_CHILD_TREE_HAS_RENDERED]({interactionId});\n\t\t\t\t\t\t}\n\t\t\t\t\t\trenderSpan.setAttribute(SPAN_ATTR_COMPONENT_DETACHED, true);\n\t\t\t\t\t\trenderSpan.end();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// If we are observing for an intersection, and it has not happened yet, then cancel the render\n\t\t\t\t\tif (variables[USING_INTERSECTION_OBSERVER] && !variables[INTERSECTED]) {\n\t\t\t\t\t\tthis[NOTIFY_PARENT_THAT_CHILD_TREE_HAS_RENDERED]({interactionId});\n\t\t\t\t\t\trenderSpan.setAttribute(SPAN_ATTR_COMPONENT_INTERSECTED, false);\n\t\t\t\t\t\trenderSpan.end();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst state = getResolvedState(variables, componentRegistry);\n\t\t\t\t\tvalidateProperties(state.properties, this);\n\t\t\t\t\tvalidateContext(variables[CONTEXT], this);\n\n\t\t\t\t\tconst updatedState = shapeRenderData(\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\tthis,\n\t\t\t\t\t\tvariables,\n\t\t\t\t\t\ttransformState,\n\t\t\t\t\t\tvariables[DISPATCH],\n\t\t\t\t\t\tinteractionId\n\t\t\t\t\t);\n\n\t\t\t\t\tconst event = variables[CONDITIONAL_DISPATCH](\n\t\t\t\t\t\tCOMPONENT_RENDER_REQUESTED,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpreviousRenderState: variables[PREVIOUS_RENDER_STATE],\n\t\t\t\t\t\t\tpreviousRenderProperties: variables[PREVIOUS_RENDER_PROPERTIES],\n\t\t\t\t\t\t\thost: this\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfirstRenderOnConnect: !variables[RENDERED_ONCE],\n\t\t\t\t\t\t\t[COMPONENT_INTERNAL_ACTION]: true,\n\t\t\t\t\t\t\tinternal: true,\n\t\t\t\t\t\t\t[SCHEDULE_IMMEDIATELY_DO_NOT_USE_OR_YOU_WILL_BE_IMMEDIATELY_FIRED]: true,\n\t\t\t\t\t\t\trenderCause: options.cause,\n\t\t\t\t\t\t\t...(isValidTraceId(renderSpan.traceId) && {span: renderSpan})\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\n\t\t\t\t\tif (event && event.defaultPrevented) {\n\t\t\t\t\t\tthis[NOTIFY_PARENT_THAT_CHILD_TREE_HAS_RENDERED]({interactionId});\n\t\t\t\t\t\trenderSpan.setAttribute(SPAN_ATTR_COMPONENT_EVENT_DEFAULT_PREVENTED, true);\n\t\t\t\t\t\trenderSpan.end();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tlet shouldSkipRender = false;\n\t\t\t\t\tif (this[DETACHED_SHADOW_ROOT_CHILDREN_FRAGMENT]) {\n\t\t\t\t\t\tif (this[DETACHED_COMPONENT_PROPERTY_MAP]) {\n\t\t\t\t\t\t\tthis[DETACHED_COMPONENT_PROPERTY_MAP].forEach(\n\t\t\t\t\t\t\t\t({name, value, updateProperties, interactionId}) => {\n\t\t\t\t\t\t\t\t\tshouldSkipRender = shouldSkipRender || this[VARIABLES][PROPS][name] !== value;\n\t\t\t\t\t\t\t\t\tthis[SET_PROPERTY](name, value, updateProperties, {interactionId});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvariables[ROOT_NODE].appendChild(this[DETACHED_SHADOW_ROOT_CHILDREN_FRAGMENT]);\n\t\t\t\t\t\tdelete this[DETACHED_SHADOW_ROOT_CHILDREN_FRAGMENT];\n\t\t\t\t\t\tdelete this[DETACHED_COMPONENT_PROPERTY_MAP];\n\t\t\t\t\t\tif (shouldSkipRender) {\n\t\t\t\t\t\t\trenderSpan.setAttribute(SPAN_ATTR_COMPONENT_RENDER_SKIPPED, true);\n\t\t\t\t\t\t\trenderSpan.end();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tmeasure(\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tconst [state, helpers] = createOnStateChangeArgs(\n\t\t\t\t\t\t\t\tuseCoeffectsLikeObjectInView,\n\t\t\t\t\t\t\t\tvariables[COMPONENT_ID],\n\t\t\t\t\t\t\t\tupdatedState,\n\t\t\t\t\t\t\t\tcreateContextProxy(this),\n\t\t\t\t\t\t\t\tapplyMetrics(variables[HELPERS_DEFER], renderSpan.id),\n\t\t\t\t\t\t\t\tthis\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsandbox(onStateChange, {\n\t\t\t\t\t\t\t\targs: [\n\t\t\t\t\t\t\t\t\tvariables[ROOT_NODE],\n\t\t\t\t\t\t\t\t\trendererView,\n\t\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\t\thelpers,\n\t\t\t\t\t\t\t\t\tinteractionId,\n\t\t\t\t\t\t\t\t\tisValidTraceId(renderSpan.traceId) ? renderSpan : null\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\thost: this,\n\t\t\t\t\t\t\t\tdetails: {\n\t\t\t\t\t\t\t\t\ttype: 'onStateChange'\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tlocation: locations.RENDERER,\n\t\t\t\t\t\t\t\tdispatch: variables[DISPATCH],\n\t\t\t\t\t\t\t\tlog\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\tthis,\n\t\t\t\t\t\t`render-${tagName}#${variables[COMPONENT_ID]}`,\n\t\t\t\t\t\tinteractionId,\n\t\t\t\t\t\toptions\n\t\t\t\t\t);\n\n\t\t\t\t\tif (!variables[RENDERED_ONCE]) {\n\t\t\t\t\t\tvariables[CONDITIONAL_DISPATCH](\n\t\t\t\t\t\t\tCOMPONENT_DOM_READY,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpreviousRenderState: variables[PREVIOUS_RENDER_STATE],\n\t\t\t\t\t\t\t\tpreviousRenderProperties: variables[PREVIOUS_RENDER_PROPERTIES],\n\t\t\t\t\t\t\t\thost: this\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tinternal: true,\n\t\t\t\t\t\t\t\tfirstRenderOnConnect: true,\n\t\t\t\t\t\t\t\t[SCHEDULE_IMMEDIATELY_DO_NOT_USE_OR_YOU_WILL_BE_IMMEDIATELY_FIRED]: true,\n\t\t\t\t\t\t\t\t...(isValidTraceId(renderSpan.traceId) && {span: renderSpan})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tvariables[CONDITIONAL_DISPATCH](\n\t\t\t\t\t\tCOMPONENT_RENDERED_ACTION_TYPE,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpreviousRenderState: variables[PREVIOUS_RENDER_STATE],\n\t\t\t\t\t\t\tpreviousRenderProperties: variables[PREVIOUS_RENDER_PROPERTIES],\n\t\t\t\t\t\t\thost: this\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tinternal: true,\n\t\t\t\t\t\t\tfirstRenderOnConnect: !variables[RENDERED_ONCE],\n\t\t\t\t\t\t\t[SCHEDULE_IMMEDIATELY_DO_NOT_USE_OR_YOU_WILL_BE_IMMEDIATELY_FIRED]: true,\n\t\t\t\t\t\t\t...(isValidTraceId(renderSpan.traceId) && {span: renderSpan})\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\n\t\t\t\t\tvariables[RENDERED_ONCE] = true;\n\t\t\t\t\tvariables[RENDERED_ONCE_TIMESTAMP] =\n\t\t\t\t\t\tvariables[RENDERED_ONCE_TIMESTAMP] || performance.now();\n\t\t\t\t\tvariables[PREVIOUS_RENDER_STATE] = updatedState;\n\t\t\t\t\tvariables[PREVIOUS_RENDER_PROPERTIES] = state.properties;\n\n\t\t\t\t\tthis[CHECK_IF_TREE_RENDERED](\n\t\t\t\t\t\tinteractionId,\n\t\t\t\t\t\toptions,\n\t\t\t\t\t\tisValidTraceId(renderSpan.traceId) ? renderSpan : null\n\t\t\t\t\t);\n\t\t\t\t\trenderSpan.end();\n\t\t\t\t},\n\t\t\t\ttype: COMPONENT_RENDER,\n\t\t\t\tmeta: {\n\t\t\t\t\tel: this,\n\t\t\t\t\tinteractionId,\n\t\t\t\t\t...(isValidTraceId(renderSpan.traceId) && {span: renderSpan})\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\t[INTERSECTION_TRIGGERED]() {\n\t\t\tconst variables = getHostVariables(this);\n\n\t\t\tvariables[INTERSECTED] = true;\n\t\t\tif (variables[REMOVE_INTERSECTED_STYLES]) {\n\t\t\t\tvariables[REMOVE_INTERSECTED_STYLES]();\n\t\t\t\tvariables[REMOVE_INTERSECTED_STYLES] = null;\n\t\t\t}\n\n\t\t\tthis[RENDER](createInteractionId(), metrics.INTERSECTION);\n\t\t}\n\n\t\t[CHECK_IF_TREE_RENDERED](interactionId, options = {}, activeSpan = null) {\n\t\t\tconst variables = getHostVariables(this);\n\t\t\tconst parentSpan = activeSpan || getActiveSpan(this);\n\t\t\tif (enableSchedulerQueueCounts) {\n\t\t\t\toptions.highPriorityTaskCount = countHighPriorityTasks(this);\n\t\t\t\toptions.mediumPriorityTaskCount = countMediumPriorityTasks(this);\n\t\t\t\toptions.pendingNetworkActionCount = pendingNetworkActionCountForHost(this);\n\t\t\t}\n\n\t\t\t// Check if all children are complete. if so, dispatch that this component is also complete\n\t\t\tif (Object.keys(variables[CHILDREN_TO_BE_RENDERED]).length) return;\n\n\t\t\tif (!variables[TREE_RENDERED_ONCE]) {\n\t\t\t\tvariables[CONDITIONAL_DISPATCH](\n\t\t\t\t\tCOMPONENT_DOM_TREE_READY,\n\t\t\t\t\t{\n\t\t\t\t\t\tpreviousRenderState: variables[PREVIOUS_TREE_RENDER_STATE],\n\t\t\t\t\t\tpreviousRenderProperties: variables[PREVIOUS_TREE_RENDER_PROPERTIES],\n\t\t\t\t\t\thost: this\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tinternal: true,\n\t\t\t\t\t\tfirstRenderOnConnect: true,\n\t\t\t\t\t\t[SCHEDULE_IMMEDIATELY_DO_NOT_USE_OR_YOU_WILL_BE_IMMEDIATELY_FIRED]: true,\n\t\t\t\t\t\t...(parentSpan && isValidTraceId(parentSpan.traceId) && {span: parentSpan})\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tmark(this, interactionId, metrics.RENDER_TREE, options);\n\t\t\tvariables[CONDITIONAL_DISPATCH](\n\t\t\t\tCOMPONENT_TREE_RENDERED,\n\t\t\t\t{\n\t\t\t\t\tpreviousRenderState: variables[PREVIOUS_TREE_RENDER_STATE],\n\t\t\t\t\tpreviousRenderProperties: variables[PREVIOUS_TREE_RENDER_PROPERTIES],\n\t\t\t\t\thost: this\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tinternal: true,\n\t\t\t\t\tfirstRenderOnConnect: !variables[TREE_RENDERED_ONCE],\n\t\t\t\t\t[SCHEDULE_IMMEDIATELY_DO_NOT_USE_OR_YOU_WILL_BE_IMMEDIATELY_FIRED]: true,\n\t\t\t\t\t...(parentSpan && isValidTraceId(parentSpan.traceId) && {span: parentSpan})\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tvariables[TREE_RENDERED_ONCE] = true;\n\t\t\tvariables[TREE_RENDERED_ONCE_TIMESTAMP] =\n\t\t\t\tvariables[TREE_RENDERED_ONCE_TIMESTAMP] || performance.now();\n\t\t\tvariables[PREVIOUS_TREE_RENDER_STATE] = variables[PREVIOUS_RENDER_STATE];\n\t\t\tvariables[PREVIOUS_TREE_RENDER_PROPERTIES] = variables[PREVIOUS_RENDER_PROPERTIES];\n\n\t\t\tthis[NOTIFY_PARENT_THAT_CHILD_TREE_HAS_RENDERED]({\n\t\t\t\tinteractionId,\n\t\t\t\t...(parentSpan && isValidTraceId(parentSpan.traceId) && {activeSpan: parentSpan})\n\t\t\t});\n\t\t}\n\n\t\t[CHILD_IS_RENDERING](child) {\n\t\t\tconst variables = getHostVariables(this);\n\t\t\tconst childVariables = getHostVariables(child);\n\t\t\tvariables[CHILDREN_TO_BE_RENDERED][childVariables[COMPONENT_ID]] = true;\n\t\t}\n\n\t\t[CHILD_HAS_RENDERED]({child, interactionId, activeSpan = null}) {\n\t\t\tconst variables = getHostVariables(this);\n\t\t\tconst childVariables = getHostVariables(child);\n\t\t\tdelete variables[CHILDREN_TO_BE_RENDERED][childVariables[COMPONENT_ID]];\n\n\t\t\tthis[CHECK_IF_TREE_RENDERED](interactionId, {}, activeSpan);\n\t\t}\n\n\t\t[NOTIFY_PARENT_THAT_CHILD_IS_RENDERING]() {\n\t\t\tconst variables = getHostVariables(this);\n\t\t\tconst parentHost = variables[ANCESTOR_ROOT_NODE];\n\t\t\tif (parentHost && getHostVariables(parentHost)[NEEDS_TO_KNOW_ABOUT_TREE_RENDERS])\n\t\t\t\tparentHost[CHILD_IS_RENDERING](this);\n\t\t}\n\n\t\t[NOTIFY_PARENT_THAT_CHILD_TREE_HAS_RENDERED]({interactionId, activeSpan = null}) {\n\t\t\tconst variables = getHostVariables(this);\n\t\t\tconst parentHost = variables[ANCESTOR_ROOT_NODE];\n\t\t\tif (parentHost && getHostVariables(parentHost)[NEEDS_TO_KNOW_ABOUT_TREE_RENDERS])\n\t\t\t\tparentHost[CHILD_HAS_RENDERED]({child: this, interactionId, activeSpan});\n\t\t}\n\t}\n\n\tconst accessors = {\n\t\tnowElementConfig: {\n\t\t\tget() {\n\t\t\t\tinitialize();\n\t\t\t\treturn normalizedConfig;\n\t\t\t}\n\t\t},\n\t\tnowRootNode: {\n\t\t\tget() {\n\t\t\t\tif (!initialized || shadowRootOptions.mode === SHADOW_ROOT_MODE_CLOSED) return null;\n\n\t\t\t\treturn getHostVariables(this)[ROOT_NODE];\n\t\t\t}\n\t\t},\n\t\tstyle: {\n\t\t\tget() {\n\t\t\t\treturn getHostVariables(this)[STYLE_PROXY];\n\t\t\t},\n\t\t\tset() {\n\t\t\t\tlog('setting style property directly is not supported');\n\t\t\t}\n\t\t}\n\t};\n\treturn SeismicElement;\n}\n","import {DEFAULT_RENDERER} from '../defaults';\nimport {get} from '@servicenow/ui-internal';\n\nexport default function resolveRenderer(config = {}) {\n\tconst type = get(config, 'renderer.type', config.type || DEFAULT_RENDERER.type);\n\tconst coeffects = get(config, 'renderer.coeffects', null);\n\tconst transformProps = get(\n\t\tconfig,\n\t\t'renderer.transformProps',\n\t\tconfig.transformProps || DEFAULT_RENDERER.transformState\n\t);\n\tconst transformState = get(\n\t\tconfig,\n\t\t'renderer.transformState',\n\t\tconfig.transformState || transformProps\n\t);\n\tconst view = get(config, 'renderer.view', config.view || DEFAULT_RENDERER.view);\n\n\treturn {\n\t\ttype,\n\t\ttransformState,\n\t\tview,\n\t\tcoeffects\n\t};\n}\n","import {PARSE_PROP_CONF_KEY, PACKAGE_NAME} from '../../constants';\nimport isValuePropertySelector from './isValuePropertySelector';\nimport {\n\tsandbox,\n\tlocations,\n\ttoLower,\n\tkebabCase,\n\tallLogTypes as logTypes\n} from '@servicenow/ui-internal';\nimport log from '../../log';\nimport {parseRefProperty} from './refProperty';\nimport {default as validParseTypes} from './types';\nimport parse from './parse';\n\nexport default function parseProperty(name, value, def = {}, host, dispatch) {\n\tconst unstableParse = def[PARSE_PROP_CONF_KEY];\n\tconst schemaType = def.schema && def.schema.type;\n\tconst isValidParseType = validParseTypes.includes(schemaType);\n\tconst resolvedValue = def.resolveRef ? parseRefProperty(host, name, value) : value;\n\tconst shouldUnstableParse =\n\t\t(unstableParse || validParseTypes.includes(schemaType)) &&\n\t\t!isValuePropertySelector(resolvedValue) &&\n\t\ttypeof resolvedValue === 'string';\n\n\tif (shouldUnstableParse && isValidParseType && !host.hasAttribute(kebabCase(name))) {\n\t\tconst component = `<${toLower(host.tagName)} />`;\n\t\tlog(\n\t\t\t`For property ${name} on component ${component}: expected to be type ${schemaType} but received string. ${PACKAGE_NAME} will attempt to parse this value, but you should set this to the correct type.`,\n\t\t\t{level: logTypes.WARN, host, origin: 'parseProperty'}\n\t\t);\n\t}\n\n\treturn shouldUnstableParse\n\t\t? sandbox(parse, {\n\t\t\t\targs: [resolvedValue, schemaType, name, host.tagName],\n\t\t\t\thost,\n\t\t\t\tdispatch,\n\t\t\t\tlocation: locations.PROPERTY,\n\t\t\t\tdetails: {parse: true, name},\n\t\t\t\tlog\n\t\t  })\n\t\t: resolvedValue;\n}\n","import reflectQueue from './reflectQueue';\nexport default function isReflecting(name) {\n\tconst {length: reflectCount} = reflectQueue;\n\tfor (let i = 0; i < reflectCount; i++) {\n\t\tif (name === reflectQueue[i]) return name;\n\t}\n}\n","import reflectQueue from './reflectQueue';\n\nexport default function clearReflection(name) {\n\tlet index = reflectQueue.indexOf(name);\n\twhile (index !== -1) {\n\t\treflectQueue.splice(index, 1);\n\t\tindex = reflectQueue.indexOf(name);\n\t}\n\n\treturn reflectQueue;\n}\n","import {createInteractionId} from '@servicenow/ui-metrics';\nimport getHostVariables from './getHostVariables';\nimport {ANCESTOR_ROOT_NODE, PREVIOUS_INTERACTION_ID} from '../symbols';\n\nexport default function resolveParentTraceId(host) {\n\tconst variables = getHostVariables(host);\n\n\tif (variables[ANCESTOR_ROOT_NODE]) {\n\t\tconst parentVariables = getHostVariables(variables[ANCESTOR_ROOT_NODE]);\n\t\tconst interactionId = parentVariables[PREVIOUS_INTERACTION_ID];\n\t\tif (interactionId) {\n\t\t\tvariables[PREVIOUS_INTERACTION_ID] = interactionId;\n\t\t\treturn interactionId;\n\t\t}\n\t}\n\n\tconst interactionId = createInteractionId();\n\tvariables[PREVIOUS_INTERACTION_ID] = interactionId;\n\treturn interactionId;\n}\n","import getComponentName from '../utils/schema/getComponentName';\nimport validateSchema from '../utils/schema/validate/validateSchema';\nimport contexts from './contexts';\nimport {isPlainObject} from '@servicenow/ui-utils';\n\nexport default function validateContext(context, host) {\n\tif (isPlainObject(context)) {\n\t\tconst contextKeys = Reflect.ownKeys(context);\n\t\tfor (let i = 0; i < contextKeys.length; i++) {\n\t\t\tconst k = contextKeys[i];\n\t\t\tif (contexts.has(k)) {\n\t\t\t\tconst {validate} = contexts.get(k);\n\t\t\t\tvalidateSchema(validate, context[k], {\n\t\t\t\t\terrorPrefix: `Context property for ${getComponentName(host)}: `\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n}\n","import log from '../log';\nimport {CONTEXT_VIEW_KEY} from '../symbols';\n\nexport default function createOnStateChangeArgs(\n\tuseCoeffectsLikeObjectInView,\n\tcomponentId,\n\tstate,\n\tcontext,\n\thelpers,\n\thost\n) {\n\tif (useCoeffectsLikeObjectInView) {\n\t\tconst {properties} = state;\n\t\tconst stateSansProperties = {...state};\n\t\tdelete stateSansProperties.properties;\n\n\t\treturn [{state: stateSansProperties, properties, context, ...helpers, host}, undefined];\n\t}\n\n\tlet contextKey = 'context';\n\tif (state.context) {\n\t\tcontextKey = CONTEXT_VIEW_KEY;\n\t\tconst message =\n\t\t\t'A \"context\" property key already exists in the view derived state object. The context value was assigned to a symbol.' +\n\t\t\t' The symbol constant, \"contextViewKey\", can imported from @servicenow/ui-core.';\n\t\tlog(message, {host, origin: 'createOnStateChangeArgs'});\n\t}\n\n\treturn [{componentId, ...state, [contextKey]: context}, helpers];\n}\n","import {getConfigItem, configConstants} from '@servicenow/ui-config';\nimport ajv from '../ajv';\nimport validateSchema from '../validate/validateSchema';\n\nconst {VALIDATE_SCHEMAS} = configConstants;\nconst validateSchemas = getConfigItem(VALIDATE_SCHEMAS);\n\n/**\n * Build the validator for the config of a component\n * @private\n * @param {*} schema The schema of the config to validate against\n * @returns {Function(config, errorPrefix, options)} The function to validate the component's properties\n */\nfunction buildConfigValidator(schema) {\n\tif (validateSchemas) {\n\t\tlet validate;\n\t\ttry {\n\t\t\tvalidate = ajv.compile(schema);\n\t\t} catch (e) {\n\t\t\tconsole.error(e); // eslint-disable-line no-console\n\t\t\treturn () => false;\n\t\t}\n\n\t\treturn function validator(config, errorPrefix, options = {}) {\n\t\t\treturn validateSchema(validate, config, {errorPrefix, ...options});\n\t\t};\n\t}\n\n\treturn () => true;\n}\n\nexport default buildConfigValidator;\n","import buildConfigValidator from './utils/schema/build/buildConfigValidator';\nimport {SHADOW_ROOT_MODE_CLOSED, SHADOW_ROOT_MODE_OPEN} from './constants';\nimport {modifierTypes} from './effects';\n\nconst TYPE_ARRAY = {type: 'array'};\nconst TYPE_BOOLEAN = {type: 'boolean'};\nconst TYPE_FN = {fn: true};\nconst TYPE_NUMBER = {type: 'number'};\nconst TYPE_OBJECT = {type: 'object'};\nconst TYPE_STRING = {type: 'string'};\n\nconst properties = {\n\t...TYPE_OBJECT,\n\tadditionalProperties: {\n\t\t...TYPE_OBJECT,\n\t\tproperties: {\n\t\t\tdefault: {},\n\t\t\tcomputed: TYPE_FN,\n\t\t\trequired: TYPE_BOOLEAN,\n\t\t\tselectable: TYPE_BOOLEAN,\n\t\t\treflect: TYPE_BOOLEAN,\n\t\t\tdeepCompare: TYPE_BOOLEAN,\n\t\t\tresolveRef: TYPE_BOOLEAN,\n\t\t\tschema: TYPE_OBJECT,\n\t\t\tunstableParse: {\n\t\t\t\t...TYPE_BOOLEAN,\n\t\t\t\tdeprecated: 'has been deprecated, use Type Schemas instead'\n\t\t\t},\n\t\t\tunstablePreserveEmptyStr: {\n\t\t\t\t...TYPE_BOOLEAN,\n\t\t\t\tdeprecated: 'has been deprecated, use Type Schemas instead'\n\t\t\t},\n\t\t\tdependencies: {\n\t\t\t\t...TYPE_ARRAY,\n\t\t\t\titems: TYPE_STRING\n\t\t\t},\n\t\t\tonChange: TYPE_FN\n\t\t},\n\t\tadditionalProperties: false\n\t}\n};\n\nconst interceptors = {\n\t...TYPE_ARRAY,\n\titems: {\n\t\tanyOf: [\n\t\t\t{\n\t\t\t\t...TYPE_OBJECT,\n\t\t\t\tproperties: {\n\t\t\t\t\tbefore: TYPE_FN,\n\t\t\t\t\tafter: TYPE_FN\n\t\t\t\t},\n\t\t\t\tadditionalProperties: false\n\t\t\t},\n\t\t\tTYPE_FN\n\t\t]\n\t}\n};\n\nconst actions = {\n\t...TYPE_OBJECT,\n\tadditionalProperties: {\n\t\t...TYPE_OBJECT,\n\t\tproperties: {\n\t\t\thandlers: {\n\t\t\t\t...TYPE_ARRAY,\n\t\t\t\tdeprecated: 'has been deprecated, use actions handlers instead',\n\t\t\t\titems: {\n\t\t\t\t\tanyOf: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...TYPE_OBJECT,\n\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\teffect: TYPE_FN,\n\t\t\t\t\t\t\t\tfn: TYPE_FN,\n\t\t\t\t\t\t\t\targs: TYPE_ARRAY\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tadditionalProperties: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTYPE_FN\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\tinterceptors: {\n\t\t\t\t...interceptors,\n\t\t\t\tdeprecated: 'has been deprecated, use actions handler `interceptors` instead'\n\t\t\t},\n\t\t\teffect: {\n\t\t\t\t...TYPE_FN,\n\t\t\t\tdeprecated: 'has been deprecated, use actions handlers instead'\n\t\t\t},\n\t\t\tprivate: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdeprecated: 'has been deprecated, use actions handlers `stopPropagation` instead'\n\t\t\t},\n\t\t\tschema: TYPE_OBJECT\n\t\t},\n\t\tadditionalProperties: false\n\t}\n};\n\nconst actionHandlers = {\n\t...TYPE_OBJECT,\n\tadditionalProperties: {\n\t\tanyOf: [\n\t\t\t{\n\t\t\t\t...TYPE_OBJECT,\n\t\t\t\tproperties: {\n\t\t\t\t\teffect: TYPE_FN,\n\t\t\t\t\targs: TYPE_ARRAY,\n\t\t\t\t\tdescendantOnly: TYPE_BOOLEAN,\n\t\t\t\t\tstopPropagation: TYPE_BOOLEAN,\n\t\t\t\t\tinterceptors,\n\t\t\t\t\tmodifier: {\n\t\t\t\t\t\tanyOf: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t...TYPE_OBJECT,\n\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\tname: {\n\t\t\t\t\t\t\t\t\t\t...TYPE_STRING,\n\t\t\t\t\t\t\t\t\t\tenum: [modifierTypes.DEBOUNCE]\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tdelay: TYPE_NUMBER,\n\t\t\t\t\t\t\t\t\tmaxWait: TYPE_NUMBER,\n\t\t\t\t\t\t\t\t\tcollate: TYPE_BOOLEAN\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tadditionalProperties: false\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t...TYPE_OBJECT,\n\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\tname: {\n\t\t\t\t\t\t\t\t\t\t...TYPE_STRING,\n\t\t\t\t\t\t\t\t\t\tenum: [modifierTypes.THROTTLE]\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tlimit: TYPE_NUMBER\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tadditionalProperties: false\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t...TYPE_OBJECT,\n\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\tname: {\n\t\t\t\t\t\t\t\t\t\t...TYPE_STRING,\n\t\t\t\t\t\t\t\t\t\tenum: [modifierTypes.TAKE_LATEST]\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tadditionalProperties: false\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tadditionalProperties: false\n\t\t\t},\n\t\t\tTYPE_FN\n\t\t]\n\t}\n};\n\nconst eventHandlers = {\n\t...TYPE_ARRAY,\n\titems: {\n\t\t...TYPE_OBJECT,\n\t\tproperties: {\n\t\t\tevents: {\n\t\t\t\t...TYPE_ARRAY,\n\t\t\t\tminItems: 1,\n\t\t\t\titems: TYPE_STRING\n\t\t\t},\n\t\t\teffect: TYPE_FN,\n\t\t\ttarget: {\n\t\t\t\tanyOf: [TYPE_OBJECT, TYPE_STRING]\n\t\t\t},\n\t\t\tcapture: TYPE_BOOLEAN,\n\t\t\tmodifier: {\n\t\t\t\tanyOf: [\n\t\t\t\t\t{\n\t\t\t\t\t\t...TYPE_OBJECT,\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tname: {\n\t\t\t\t\t\t\t\t...TYPE_STRING,\n\t\t\t\t\t\t\t\tenum: [modifierTypes.DEBOUNCE]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdelay: TYPE_NUMBER,\n\t\t\t\t\t\t\tmaxWait: TYPE_NUMBER,\n\t\t\t\t\t\t\tcollate: TYPE_BOOLEAN\n\t\t\t\t\t\t},\n\t\t\t\t\t\tadditionalProperties: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t...TYPE_OBJECT,\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tname: {\n\t\t\t\t\t\t\t\t...TYPE_STRING,\n\t\t\t\t\t\t\t\tenum: [modifierTypes.THROTTLE]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tlimit: TYPE_NUMBER\n\t\t\t\t\t\t},\n\t\t\t\t\t\tadditionalProperties: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t...TYPE_OBJECT,\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tname: {\n\t\t\t\t\t\t\t\t...TYPE_STRING,\n\t\t\t\t\t\t\t\tenum: [modifierTypes.TAKE_LATEST]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tadditionalProperties: false\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\t\trequired: ['events', 'effect'],\n\t\tadditionalProperties: false\n\t}\n};\n\nconst initialState = {};\n\nconst setInitialState = {\n\t...TYPE_FN\n};\n\nconst onBootstrap = {\n\t...TYPE_FN,\n\tdeprecated: 'life cycle has been deprecated, use `COMPONENT_BOOTSTRAPPED` action handler instead'\n};\nconst onConnect = {\n\t...TYPE_FN,\n\tdeprecated: 'life cycle has been deprecated, use `COMPONENT_CONNECTED` action handler instead'\n};\n\nconst onDisconnect = {\n\t...TYPE_FN,\n\tdeprecated: 'life cycle has been deprecated, use `COMPONENT_DISCONNECTED` action handler instead'\n};\n\nconst onPropertiesSet = {\n\t...TYPE_FN,\n\tdeprecated: true\n};\n\nconst behavior = {\n\t...TYPE_OBJECT,\n\tproperties: {\n\t\tname: TYPE_STRING,\n\t\tproperties,\n\t\tactions,\n\t\tactionHandlers,\n\t\tdispatches: TYPE_OBJECT,\n\t\teventHandlers,\n\t\tinitialState,\n\t\tsetInitialState,\n\t\tonBootstrap,\n\t\tonConnect,\n\t\tonDisconnect,\n\t\tonPropertiesSet\n\t},\n\tadditionalProperties: false\n};\n\nconst presentationalBehavior = {\n\t...TYPE_OBJECT,\n\tproperties: {\n\t\tname: TYPE_STRING,\n\t\tproperties\n\t},\n\tadditionalProperties: false\n};\n\nconst validator = buildConfigValidator({\n\t...TYPE_OBJECT,\n\tproperties: {\n\t\tbehaviors: {\n\t\t\t...TYPE_ARRAY,\n\t\t\titems: {\n\t\t\t\tanyOf: [\n\t\t\t\t\tbehavior,\n\t\t\t\t\t{\n\t\t\t\t\t\t...TYPE_OBJECT,\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tbehavior,\n\t\t\t\t\t\t\toptions: TYPE_OBJECT\n\t\t\t\t\t\t},\n\t\t\t\t\t\tadditionalProperties: false\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\tuniqueItems: true\n\t\t},\n\t\tactions,\n\t\tactionHandlers,\n\t\teventHandlers,\n\t\tinitialState,\n\t\tsetInitialState,\n\t\tproperties,\n\t\trenderer: {\n\t\t\t...TYPE_OBJECT,\n\t\t\tproperties: {\n\t\t\t\tview: TYPE_FN,\n\t\t\t\ttransformState: TYPE_FN,\n\t\t\t\ttransformProps: TYPE_FN,\n\t\t\t\ttype: TYPE_OBJECT\n\t\t\t},\n\t\t\tadditionalProperties: false\n\t\t},\n\t\tview: TYPE_FN,\n\t\ttransformState: TYPE_FN,\n\t\ttransformProps: TYPE_FN,\n\t\ttype: TYPE_OBJECT,\n\t\tresources: {\n\t\t\t...TYPE_OBJECT,\n\t\t\tdeprecated: 'has been deprecated, use effects instead'\n\t\t},\n\t\tactionTypes: {\n\t\t\t...TYPE_ARRAY,\n\t\t\tdeprecated: true\n\t\t},\n\t\tactionTypesToProps: {\n\t\t\t...TYPE_OBJECT,\n\t\t\tdeprecated: true\n\t\t},\n\t\tonBootstrap,\n\t\tonConnect,\n\t\tonDisconnect,\n\t\tonPropertiesSet,\n\t\tdispatches: TYPE_OBJECT,\n\t\tslots: TYPE_OBJECT,\n\t\tstyles: TYPE_STRING,\n\t\tstylesheets: {\n\t\t\t...TYPE_ARRAY,\n\t\t\titems: TYPE_STRING\n\t\t},\n\t\tshadowRootOptions: {\n\t\t\t...TYPE_OBJECT,\n\t\t\tproperties: {\n\t\t\t\tmode: {\n\t\t\t\t\t...TYPE_STRING,\n\t\t\t\t\tenum: [SHADOW_ROOT_MODE_OPEN, SHADOW_ROOT_MODE_CLOSED]\n\t\t\t\t}\n\t\t\t},\n\t\t\tadditionalProperties: false\n\t\t}\n\t},\n\tadditionalProperties: false\n});\n\nconst presentationalValidator = buildConfigValidator({\n\t...TYPE_OBJECT,\n\tproperties: {\n\t\tbehaviors: {\n\t\t\t...TYPE_ARRAY,\n\t\t\titems: {\n\t\t\t\tanyOf: [\n\t\t\t\t\tpresentationalBehavior,\n\t\t\t\t\t{\n\t\t\t\t\t\t...TYPE_OBJECT,\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tbehavior: presentationalBehavior,\n\t\t\t\t\t\t\toptions: TYPE_OBJECT\n\t\t\t\t\t\t},\n\t\t\t\t\t\tadditionalProperties: false\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\tuniqueItems: true\n\t\t},\n\t\tproperties,\n\t\trenderer: {\n\t\t\t...TYPE_OBJECT,\n\t\t\tproperties: {\n\t\t\t\ttype: TYPE_OBJECT\n\t\t\t},\n\t\t\tadditionalProperties: false\n\t\t},\n\t\tview: TYPE_FN,\n\t\ttransformProps: TYPE_FN,\n\t\tstyles: TYPE_STRING,\n\t\tshadowRootOptions: {\n\t\t\t...TYPE_OBJECT,\n\t\t\tproperties: {\n\t\t\t\tmode: {\n\t\t\t\t\t...TYPE_STRING,\n\t\t\t\t\tenum: [SHADOW_ROOT_MODE_OPEN, SHADOW_ROOT_MODE_CLOSED]\n\t\t\t\t}\n\t\t\t},\n\t\t\tadditionalProperties: false\n\t\t}\n\t},\n\tadditionalProperties: false\n});\n\nexport function validatePresentationalConfig(name, config, options) {\n\treturn presentationalValidator(config, `Config for ${name}: `, options);\n}\n\nexport default function validateConfig(name, config, options) {\n\treturn validator(config, `Config for ${name}: `, options);\n}\n","import {set as setStat} from './stats';\nimport {getConfigItem, configConstants} from '@servicenow/ui-config';\nimport createElementClass from './createElementClass';\nimport log from './log';\nimport validateConfig, {validatePresentationalConfig} from './validateConfig';\nconst {CHECK_FOR_POSSIBLE_PRESENTATIONAL_COMPONENTS, POSSIBLE_PRESENTATIONAL_COMPONENTS} =\n\tconfigConstants;\nconst checkForPossiblePresentationalComponents = getConfigItem(\n\tCHECK_FOR_POSSIBLE_PRESENTATIONAL_COMPONENTS\n);\nconst possiblePresentationalComponents = getConfigItem(POSSIBLE_PRESENTATIONAL_COMPONENTS);\n\n/**\n * Define a custom element.\n * @function createCustomElement\n * @example\n * import {createCustomElement} from '@servicenow/ui-core';\n *\n * createCustomElement('sn-hello-world', {\n *   properties: {\n *     name: {\n *       default: 'Fred'\n *     }\n *   },\n *   transformState: ({properties}) => properties,\n *   view: ({name}) => <p>Hello {name}!</p>\n * });\n * @param {string} elementName - The tag name of the custom element.\n * @param {Object} config - The custom element configuration.\n * @param {function} [config.setInitialState] - Function that returns the initial state for a component.\n * @param {Object} [config.properties] - The properties used by a custom element.\n * @param {*} [config.properties.&lt;name&gt;.default] - The default value of the property.\n * @param {function} [config.properties.&lt;name&gt;.computed] - A function that computes the property value.\n * @param {boolean} [config.properties.&lt;name&gt;.reflect] - Reflect property change to corresponding attribute. This value is `false` by default, but for a limited, finite subset of keys that overlap with HTML Attribute keys, it is `true` and cannot be set to `false`.\n * @param {boolean} [config.properties.&lt;name&gt;.unstableParse] - Deprecated, use Type Schemas instead. Parse attribute values when corresponding properties are set. This value is `false` by default.\n * @param {boolean} [config.properties.&lt;name&gt;.unstablePreserveEmptyStr] - Deprecated, use Type Schemas instead. Preserve an empty string when attribute, property is present instead of converting the value to a boolean.\n * @param {boolean} [config.properties.&lt;name&gt;.readOnly] - Property cannot be externally set. This value is `false` by default.\n * @param {boolean} [config.properties.&lt;name&gt;.schema] - Schema that will validate the passed in value of the property during development. This value is `null` by default.\n * @param {boolean} [config.properties.&lt;name&gt;.selectable] - A selectable property can be selected or pointed by other component and map to its local property.\n * @param {boolean} [config.properties.&lt;name&gt;.shouldRenderWhenSet] - Property value change should trigger component render. This value is `true` by default.\n * @param {Object} [config.actions] - The actions the custom element dispatches.\n * @param {boolean} [config.actions.&lt;type&gt;.schema] - Schema that will validate if the payload of the action dispatched from this element is correct.\n * @param {Object} [config.actionHandlers] - Handlers to run when the action type is dispatched.\n * @param {function} [config.actionHandlers.&lt;type&gt;] - The action handler as an effect function or config object.\n * @param {function} [config.view] - A function that renders transformed component state and properties to virtual DOM.\n * @param {function} [config.transformState] - A function that executes before a component's state is passed to the view.\n * @param {Array} [config.behaviors] - Behaviors applied to the custom element.\n * @param {Object} [config.shadowRootOptions] - Options applied to the shadowRoot of a custom element.\n * @param {String} [config.shadowRootOptions.mode] - Mode of the shadowRoot.  Allowed values are `open` and `closed`.  When `closed` access is denied to `shadowRoot` from the element.  This value is `open` by default.\n */\nexport default function createCustomElementFactory(options) {\n\tconst {componentRegistry, presentational = false} = options;\n\n\treturn function createCustomElement(name, config = {}) {\n\t\tif (customElements.get(name))\n\t\t\treturn log(`The custom element, ${name}, has already been defined.`);\n\n\t\tif (presentational) {\n\t\t\tvalidatePresentationalConfig(name, config);\n\t\t} else {\n\t\t\tif (\n\t\t\t\tcheckForPossiblePresentationalComponents &&\n\t\t\t\tvalidatePresentationalConfig(name, config, {shouldLog: false})\n\t\t\t)\n\t\t\t\tpossiblePresentationalComponents.push(name);\n\n\t\t\tvalidateConfig(name, config);\n\t\t}\n\n\t\tcustomElements.define(\n\t\t\tname,\n\t\t\tcreateElementClass({\n\t\t\t\tpresentational,\n\t\t\t\t...config,\n\t\t\t\tname,\n\t\t\t\tcomponentRegistry\n\t\t\t})\n\t\t);\n\n\t\tsetStat('defined', name.toLowerCase());\n\t};\n}\n","import {selectablePropertyResolver} from '../utils';\nimport resolveSelectedProperty from './resolveSelectedProperty';\n\nexport default function createUnstableResolvePropertySelectorValue(componentRegistry) {\n\treturn function unstableResolvePropertySelectorValue(propertySelector) {\n\t\treturn resolveSelectedProperty(\n\t\t\tcomponentRegistry,\n\t\t\tselectablePropertyResolver,\n\t\t\tpropertySelector,\n\t\t\t{}\n\t\t);\n\t};\n}\n","import {NOW_UI_EVENT} from './constants';\n\nconst emitNowUiEvent = (type, detail) => {\n\tif (!window.__ENABLE_NOW_UI_EVENT__) return;\n\tconst event = new CustomEvent(NOW_UI_EVENT, {\n\t\tcomposed: true,\n\t\tbubbles: true,\n\t\tdetail: {\n\t\t\ttype,\n\t\t\t...detail\n\t\t}\n\t});\n\tdocument.dispatchEvent(event);\n};\n\nexport default emitNowUiEvent;\n","import {\n\tAMB_GC,\n\tGARBAGE_COLLECTOR_INTERVAL,\n\tTIME_TO_WAIT_AFTER_DISCONNECT,\n\tGQL_CACHE_CAPACITY,\n\tGQL_CACHING_ENABLED,\n\tGQL_CACHING_REFRESH_DELAY,\n\tHTTP_CACHING_REFRESH_DELAY,\n\tHTTP_CACHE_CAPACITY,\n\tHTTP_CACHING_ENABLED,\n\tCHECK_FOR_POSSIBLE_PRESENTATIONAL_COMPONENTS,\n\tLOGGING_ENABLED,\n\tLOGGING_LEVELS,\n\tLOGS_OBSERVER_INTERVAL,\n\tLOGS_CLEANUP_INTERVAL,\n\tVALIDATE_SCHEMAS,\n\tENABLE_SCHEDULER_STATS,\n\tMETRICS_COMPONENT_INTERACTIVE_ENABLED,\n\tARIA_LIVE_ASSERTIVE_TIMEOUT,\n\tARIA_LIVE_POLITE_TIMEOUT,\n\tWHEN_COMPONENT_IS_IDLE_TIMEOUT,\n\tWHEN_COMPONENT_IS_IDLE_THROTTLE,\n\tWHEN_COMPONENT_IS_IDLE_MIN_INTERVAL,\n\tMETRICS_OBSERVER_INTERVAL,\n\tSCHEDULER_RAF_TIMEOUT,\n\tMETRICS_MARK_PRUNING_INTERVAL,\n\tMETRICS_MARK_EXPIRATION,\n\tMETRICS_PRUNE_MARKS\n} from '../constants';\n\nexport const devConfig = {};\n\n// AMB GC\ndevConfig[AMB_GC] = {};\ndevConfig[AMB_GC][GARBAGE_COLLECTOR_INTERVAL] = 20000;\ndevConfig[AMB_GC][TIME_TO_WAIT_AFTER_DISCONNECT] = 5000;\n\n// Caching\ndevConfig[GQL_CACHING_ENABLED] = true;\ndevConfig[GQL_CACHING_REFRESH_DELAY] = 500;\ndevConfig[GQL_CACHE_CAPACITY] = 3;\ndevConfig[HTTP_CACHING_ENABLED] = true;\ndevConfig[HTTP_CACHE_CAPACITY] = 3;\ndevConfig[HTTP_CACHING_REFRESH_DELAY] = 500;\n\n// Logging\ndevConfig[LOGGING_ENABLED] = true;\ndevConfig[LOGGING_LEVELS] = true;\ndevConfig[LOGS_OBSERVER_INTERVAL] = 1000;\ndevConfig[LOGS_CLEANUP_INTERVAL] = 60000;\n\n// Validation\ndevConfig[VALIDATE_SCHEMAS] = true;\ndevConfig[CHECK_FOR_POSSIBLE_PRESENTATIONAL_COMPONENTS] = true;\n\ndevConfig[ENABLE_SCHEDULER_STATS] = true;\n\ndevConfig[METRICS_COMPONENT_INTERACTIVE_ENABLED] = true;\n\ndevConfig[ARIA_LIVE_ASSERTIVE_TIMEOUT] = 500;\ndevConfig[ARIA_LIVE_POLITE_TIMEOUT] = 5000;\n\ndevConfig[WHEN_COMPONENT_IS_IDLE_TIMEOUT] = 5000;\ndevConfig[WHEN_COMPONENT_IS_IDLE_THROTTLE] = 50;\ndevConfig[WHEN_COMPONENT_IS_IDLE_MIN_INTERVAL] = 25;\n\ndevConfig[METRICS_OBSERVER_INTERVAL] = 3000;\ndevConfig[SCHEDULER_RAF_TIMEOUT] = 0;\n\ndevConfig[METRICS_MARK_PRUNING_INTERVAL] = 300000;\ndevConfig[METRICS_MARK_EXPIRATION] = 300000;\ndevConfig[METRICS_PRUNE_MARKS] = true;\n","import {memoize} from '@servicenow/ui-utils';\nimport {\n\tAMB_GC,\n\tGQL_CACHE_CAPACITY,\n\tGQL_CACHING_ENABLED,\n\tHTTP_CACHE_CAPACITY,\n\tHTTP_CACHING_ENABLED,\n\tDISABLE_GQL_BATCHING,\n\tDISABLE_REST_BATCHING,\n\tENABLE_ACTION_DISPATCHED_HANDLING,\n\tGARBAGE_COLLECTOR_INTERVAL,\n\tINTERSECT_ROOT_MARGIN,\n\tVALIDATE_SCHEMAS,\n\tCHECK_FOR_POSSIBLE_PRESENTATIONAL_COMPONENTS,\n\tPOSSIBLE_PRESENTATIONAL_COMPONENTS,\n\tLOGGING_ENABLED,\n\tLOGGING_LEVELS,\n\tLOGS_OBSERVER_INTERVAL,\n\tLOGS_CLEANUP_INTERVAL,\n\tMEMOIZE,\n\tMETRICS_LEVEL,\n\tMETRICS_OBSERVER_INTERVAL,\n\tMETRICS_TYPES,\n\tQUEUE_FLUSH_ENABLED,\n\tTELEMETRY_MARKING_ENABLED,\n\tTIME_TO_WAIT_AFTER_DISCONNECT,\n\tENABLE_SCHEDULER_STATS,\n\tMETRICS_COMPONENT_INTERACTIVE_ENABLED,\n\tARIA_LIVE_ASSERTIVE_TIMEOUT,\n\tARIA_LIVE_POLITE_TIMEOUT,\n\tWHEN_COMPONENT_IS_IDLE_TIMEOUT,\n\tWHEN_COMPONENT_IS_IDLE_THROTTLE,\n\tWHEN_COMPONENT_IS_IDLE_MIN_INTERVAL,\n\tSCHEDULER_RAF_TIMEOUT,\n\tMETRICS_MARK_PRUNING_INTERVAL,\n\tMETRICS_MARK_EXPIRATION,\n\tMETRICS_PRUNE_MARKS\n} from '../constants';\n\nexport const prodConfig = {};\n\n// AMB GC\nprodConfig[AMB_GC] = {};\nprodConfig[AMB_GC][GARBAGE_COLLECTOR_INTERVAL] = 5000;\nprodConfig[AMB_GC][TIME_TO_WAIT_AFTER_DISCONNECT] = 1000;\n\n// Caching\nprodConfig[GQL_CACHING_ENABLED] = false;\nprodConfig[GQL_CACHE_CAPACITY] = 200;\nprodConfig[HTTP_CACHING_ENABLED] = false;\nprodConfig[HTTP_CACHE_CAPACITY] = 200;\n\n// Request Batching\nprodConfig[DISABLE_GQL_BATCHING] = false;\nprodConfig[DISABLE_REST_BATCHING] = false;\n\n// Memoize\nprodConfig[MEMOIZE] = memoize;\n\n// Validation\nprodConfig[VALIDATE_SCHEMAS] = false;\nprodConfig[CHECK_FOR_POSSIBLE_PRESENTATIONAL_COMPONENTS] = false;\nprodConfig[POSSIBLE_PRESENTATIONAL_COMPONENTS] = [];\n\n// Metrics\n//\n// Heads up that these following 2 config values are a little tricky when\n// unset:\n// - When `metricTypes` is not defined, then fall back to checking `metricsLevel`\n// - When `metricsLevel` is not defined, then nothing is marked\nprodConfig[METRICS_TYPES] = null;\nprodConfig[METRICS_LEVEL] = null;\nprodConfig[METRICS_OBSERVER_INTERVAL] = 3000;\nprodConfig[ENABLE_SCHEDULER_STATS] = false;\nprodConfig[TELEMETRY_MARKING_ENABLED] = true;\n\n// Custom Event Dispatching\nprodConfig[ENABLE_ACTION_DISPATCHED_HANDLING] = false;\n\n// Intersection Observer\nprodConfig[INTERSECT_ROOT_MARGIN] = '500px';\n\n// Queue Flush Enabled\nprodConfig[QUEUE_FLUSH_ENABLED] = false;\n\n// Logging\nprodConfig[LOGGING_ENABLED] = false;\nprodConfig[LOGGING_LEVELS] = null;\nprodConfig[LOGS_OBSERVER_INTERVAL] = 1000;\nprodConfig[LOGS_CLEANUP_INTERVAL] = 60000;\n\nprodConfig[METRICS_COMPONENT_INTERACTIVE_ENABLED] = false;\n\nprodConfig[ARIA_LIVE_ASSERTIVE_TIMEOUT] = 500;\nprodConfig[ARIA_LIVE_POLITE_TIMEOUT] = 5000;\n\nprodConfig[WHEN_COMPONENT_IS_IDLE_TIMEOUT] = 5000;\nprodConfig[WHEN_COMPONENT_IS_IDLE_THROTTLE] = 50;\nprodConfig[WHEN_COMPONENT_IS_IDLE_MIN_INTERVAL] = 25;\n\nprodConfig[SCHEDULER_RAF_TIMEOUT] = 0;\n\nprodConfig[METRICS_MARK_PRUNING_INTERVAL] = 300000;\nprodConfig[METRICS_MARK_EXPIRATION] = 300000;\nprodConfig[METRICS_PRUNE_MARKS] = true;\n","import {\n\tENABLE_SCHEDULER_STATS,\n\tGQL_CACHING_REFRESH_DELAY,\n\tHTTP_CACHING_REFRESH_DELAY,\n\tINTERSECT_ROOT_MARGIN,\n\tLOGGING_ENABLED,\n\tMETRICS_COMPONENT_INTERACTIVE_ENABLED,\n\tMETRICS_TYPES,\n\tVALIDATE_SCHEMAS,\n\tARIA_LIVE_ASSERTIVE_TIMEOUT,\n\tARIA_LIVE_POLITE_TIMEOUT,\n\tWHEN_COMPONENT_IS_IDLE_TIMEOUT,\n\tWHEN_COMPONENT_IS_IDLE_THROTTLE,\n\tWHEN_COMPONENT_IS_IDLE_MIN_INTERVAL,\n\tMETRICS_OBSERVER_INTERVAL,\n\tSCHEDULER_RAF_TIMEOUT,\n\tMETRICS_MARK_PRUNING_INTERVAL,\n\tMETRICS_MARK_EXPIRATION,\n\tMETRICS_PRUNE_MARKS\n} from '../constants';\n\nexport const testConfig = {};\n// caching\ntestConfig[GQL_CACHING_REFRESH_DELAY] = 500;\ntestConfig[HTTP_CACHING_REFRESH_DELAY] = 500;\n\n// Metrics\ntestConfig[METRICS_TYPES] = ['TEST'];\ntestConfig[ENABLE_SCHEDULER_STATS] = false;\n\n// Intersection Observer\ntestConfig[INTERSECT_ROOT_MARGIN] = '400px';\n\n// Logging\ntestConfig[LOGGING_ENABLED] = true;\n\n// Validation\ntestConfig[VALIDATE_SCHEMAS] = true;\n\ntestConfig[METRICS_COMPONENT_INTERACTIVE_ENABLED] = true;\n\ntestConfig[ARIA_LIVE_ASSERTIVE_TIMEOUT] = 500;\ntestConfig[ARIA_LIVE_POLITE_TIMEOUT] = 5000;\n\ntestConfig[WHEN_COMPONENT_IS_IDLE_TIMEOUT] = 600;\ntestConfig[WHEN_COMPONENT_IS_IDLE_THROTTLE] = 50;\ntestConfig[WHEN_COMPONENT_IS_IDLE_MIN_INTERVAL] = 25;\n\ntestConfig[METRICS_OBSERVER_INTERVAL] = 3000;\n\ntestConfig[SCHEDULER_RAF_TIMEOUT] = 0;\n\ntestConfig[METRICS_MARK_PRUNING_INTERVAL] = 300000;\ntestConfig[METRICS_MARK_EXPIRATION] = 300000;\ntestConfig[METRICS_PRUNE_MARKS] = true;\n","import {devConfig} from './dev';\nimport {prodConfig} from './prod';\nimport {testConfig} from './test';\n\nimport {DEV, PROD, TEST} from '../constants';\n\n/***\n * @function getConfigForEnv\n * @description gets the default config values for the process.env\n */\nexport const getConfigForEnv = () => {\n\tconst configEnv = process.env.NODE_ENV ? process.env.NODE_ENV : PROD;\n\tif (configEnv === PROD) return prodConfig;\n\n\tif (configEnv === DEV) return {...prodConfig, ...devConfig};\n\n\tif (configEnv === TEST) return {...prodConfig, ...testConfig};\n\n\treturn {};\n};\n","import {get, set} from '@servicenow/ui-utils';\nimport {\n\tNOW_UI_CONFIG,\n\tNOW_UI_FRAMEWORK,\n\tNOW_UI_FRAMEWORK_CONFIG_KEYS,\n\tNXUI_SYS_PROPS\n} from './constants';\nimport {default as emitNowUiEvent} from './emitNowUiEvent';\nimport {getConfigForEnv} from './configs/index';\n\nconst configInstance = {};\n\n/***\n * Private\n */\n\n/***\n * @function getConfigFromGlobal\n * @description checks the globalThis object for configs\n */\nconst getConfigFromGlobal = () => {\n\tconst globalConfig = {};\n\n\tif (!globalThis[NOW_UI_FRAMEWORK]) return globalConfig;\n\n\tNOW_UI_FRAMEWORK_CONFIG_KEYS.forEach(key => {\n\t\tif (globalThis[NOW_UI_FRAMEWORK][key] !== undefined)\n\t\t\tglobalConfig[key] = globalThis[NOW_UI_FRAMEWORK][key];\n\t});\n\n\treturn globalConfig;\n};\n\nconst getConfigFromSysProps = () => {\n\tconst nxuiConfig = {};\n\n\tif (!globalThis.ux_globals?.nxui?.sysprops) return nxuiConfig;\n\n\tconst sysPropKeys = Object.keys(NXUI_SYS_PROPS);\n\tfor (const sysProp in globalThis.ux_globals.nxui.sysprops) {\n\t\tif (sysPropKeys.indexOf(sysProp) > -1) {\n\t\t\tconst configKey = NXUI_SYS_PROPS[sysProp];\n\t\t\tconst sysPropValue = globalThis.ux_globals.nxui.sysprops[sysProp];\n\t\t\tif (sysPropValue === 'true') nxuiConfig[configKey] = true;\n\t\t\telse if (sysPropValue === 'false') nxuiConfig[configKey] = false;\n\t\t\telse nxuiConfig[configKey] = sysPropValue;\n\t\t}\n\t}\n\n\treturn nxuiConfig;\n};\n\nconst observeredProperties = {};\n\n/***\n * Public\n */\n\n/**\n * getConfig\n * @description returns the config instance\n * @function getConfig\n */\nexport const getConfig = () => {\n\t// Need to whitelist keys\n\tconst globalConfig = getConfigFromGlobal();\n\tconst sysPropConfig = getConfigFromSysProps();\n\tconst envConfig = getConfigForEnv();\n\n\t// Build Config Object -> Env Defaults -> Sys Props -> Global Config -> Overrides\n\tconst configObj = {...envConfig, ...sysPropConfig, ...globalConfig, ...configInstance};\n\treturn configObj;\n};\n\n/**\n * observeConfigItem\n * @description returns a function to remove the observer\n * @param {String} path\n * @param {Function} fn\n * @function observeConfigItem\n */\nexport const observeConfigItem = (path, fn) => {\n\tconst observers = observeredProperties[path] || (observeredProperties[path] = new Set());\n\tobservers.add(fn);\n\treturn () => observers.delete(fn);\n};\n\n/**\n * Getter for Config\n * @param {String} path\n * @returns {Object} Returns the key and value for the config item\n */\nexport const getConfigItem = path => {\n\tconst overridden = get(configInstance, path);\n\tif (overridden !== undefined) return overridden;\n\n\tconst globalVar = get(getConfigFromGlobal(), path);\n\tif (globalVar !== undefined) return globalVar;\n\n\tconst sysPropVar = get(getConfigFromSysProps(), path);\n\tif (sysPropVar !== undefined) return sysPropVar;\n\n\treturn get(getConfigForEnv(), path, undefined);\n};\n\n/**\n * Setter for Config\n * @function setConfigItem\n * @description Setter for the Seismic config\n * @param {String} path\n * @param {*} value\n * @returns {Object} Returns the key and value for the config item that was set\n *\n * Is it a junk drawer or do we want to whitelist keys?\n */\nexport const setConfigItem = (path, value) => {\n\tif (getConfigItem(path) === value) return;\n\n\temitNowUiEvent(NOW_UI_CONFIG, {path, value, previousValue: getConfigItem(path)});\n\tconst retVal = set(configInstance, path, value);\n\tconst observers = observeredProperties[path];\n\tif (observers) observers.forEach(fn => fn(path, value));\n\n\treturn retVal;\n};\n","import {getConfigItem, setConfigItem} from '../config';\nimport {EMBEDDABLE_BASE_URL} from '../constants';\n\n/**\n * Description: Setter for `baseUrl` for Embeddable environment\n * @param {string} url - value to be used as baseurl\n * @returns {void}\n */\nexport const setEmbeddableBaseUrl = url => setConfigItem(EMBEDDABLE_BASE_URL, url);\n/**\n * Description: Getter for `baseUrl` , used by HttpEffect, GraphQLEffect for preparing request `url`\n * @returns {string}\n */\nexport const getEmbeddableBaseUrl = () => getConfigItem(EMBEDDABLE_BASE_URL) || '';\n","import amb from 'amb-client-js';\n\nlet ambClient;\nlet clientUrl;\nexport default function getAMBClient(url = null) {\n\tif (!ambClient) {\n\t\tclientUrl = url;\n\t\tambClient = amb.getClient(clientUrl);\n\t}\n\tif (clientUrl !== url) throw new Error('Subsequent amb client request has different url');\n\treturn ambClient;\n}\n","import cuid from 'cuid';\n\nexport default function createSubscriptionId() {\n\treturn cuid();\n}\n","/**\n * Module that just exports window.setInterval to make it easier to mock and test\n */\n\nexport default setInterval;\n","import {getConfigItem} from '@servicenow/ui-config';\nimport {DISCONNECTED_TIME} from '@servicenow/ui-internal';\nimport setInterval from './utils/setInterval';\n\nconst garbageCollectors = [];\nexport const GARBAGE_COLLECTOR_INTERVAL = getConfigItem('ambGC.GARBAGE_COLLECTOR_INTERVAL') || 5000;\nexport const TIME_TO_WAIT_AFTER_DISCONNECT =\n\tgetConfigItem('ambGC.TIME_TO_WAIT_AFTER_DISCONNECT') || 1000;\n\nsetInterval(() => {\n\tgarbageCollectors.forEach(garbageCollector => {\n\t\tgarbageCollector.__map.forEach((value, key) => {\n\t\t\tif (!value.host.isConnected) {\n\t\t\t\t// Component has disconnected. To avoid unsubscribing a component that may\n\t\t\t\t// immediately reconnect, flag the component for removal in the next interval if\n\t\t\t\t// the component has not already been flagged. If it is already flagged and enough time\n\t\t\t\t// has passed, remove it.\n\t\t\t\tif (!value.host[DISCONNECTED_TIME]) value.host[DISCONNECTED_TIME] = Date.now();\n\t\t\t\telse if (Date.now() - value.host[DISCONNECTED_TIME] > TIME_TO_WAIT_AFTER_DISCONNECT)\n\t\t\t\t\tgarbageCollector.delete(key);\n\t\t\t}\n\t\t});\n\t});\n}, GARBAGE_COLLECTOR_INTERVAL);\n\nexport default function createGarbageCollectorMap(cleanup) {\n\tconst map = new Map();\n\n\tfunction remove(key) {\n\t\tif (map.has(key)) {\n\t\t\tcleanup(key, map.get(key).value);\n\t\t\tmap.delete(key);\n\t\t}\n\t}\n\n\tconst garbageCollectorMap = {\n\t\tset(key, value, host) {\n\t\t\tremove(key);\n\t\t\tmap.set(key, {value, host});\n\t\t},\n\t\thas(key) {\n\t\t\treturn map.has(key);\n\t\t},\n\t\tget(key) {\n\t\t\tconst mapValue = map.get(key);\n\n\t\t\treturn mapValue && mapValue.value;\n\t\t},\n\t\tdelete(key) {\n\t\t\tremove(key);\n\t\t},\n\t\tforEach(callback, thisArg) {\n\t\t\tmap.forEach((entry, key) => callback(entry.value, key), thisArg);\n\t\t},\n\t\t__map: map\n\t};\n\n\tgarbageCollectors.push(garbageCollectorMap);\n\n\treturn garbageCollectorMap;\n}\n","import getAMBClient from './getAMBClient';\nimport {createSubscriptionId, createRegistryId, replaceChannelParameters} from './utils';\nimport {get, defer} from '@servicenow/ui-internal';\nimport createGarbageCollectorMap from './createGarbageCollectorMap';\n\nconst ambChannelRegistry = createGarbageCollectorMap((registryId, channelListener) => {\n\tchannelListener.unsubscribe();\n});\n\nfunction createSubscriptionCallback(dispatch, successActionType, errorActionType, actionMetaData) {\n\t// use setTimeout (defer) because of an AMB client subscription timing issue\n\treturn response =>\n\t\tdefer(() => {\n\t\t\tif (response.successful) {\n\t\t\t\tdispatch(successActionType, {response}, actionMetaData);\n\t\t\t} else {\n\t\t\t\tconst {error} = response;\n\t\t\t\tdispatch(errorActionType, error, actionMetaData, true);\n\t\t\t}\n\t\t});\n}\n\nexport const AMB_CHANNEL_SUBSCRIBE_STARTED = 'AMB_CHANNEL_SUBSCRIBE_STARTED';\nexport const AMB_CHANNEL_SUBSCRIBE_SUCCEEDED = 'AMB_CHANNEL_SUBSCRIBE_SUCCEEDED';\nexport const AMB_CHANNEL_SUBSCRIBE_FAILED = 'AMB_CHANNEL_SUBSCRIBE_FAILED';\nexport const AMB_CHANNEL_UNSUBSCRIBE_SUCCEEDED = 'AMB_CHANNEL_UNSUBSCRIBE_SUCCEEDED';\nexport const AMB_MESSAGE_RECEIVED = 'AMB_MESSAGE_RECEIVED';\n\nexport function ambSubscriptionEffect(\n\tambClient,\n\tsubscriptionId,\n\tambChannelRegistry,\n\tchannelId,\n\toptions = {},\n\tcoeffects\n) {\n\tconst {\n\t\tsubscribeStartedActionType = AMB_CHANNEL_SUBSCRIBE_STARTED,\n\t\tsubscribeSucceededActionType = AMB_CHANNEL_SUBSCRIBE_SUCCEEDED,\n\t\tsubscribeFailedActionType = AMB_CHANNEL_SUBSCRIBE_FAILED,\n\t\tunsubscribeSucceededActionType = AMB_CHANNEL_UNSUBSCRIBE_SUCCEEDED,\n\t\tmessageReceivedActionType = AMB_MESSAGE_RECEIVED,\n\t\tencodeURIComponentForChannelId = true\n\t} = options;\n\tconst {\n\t\taction,\n\t\taction: {\n\t\t\tmeta: {id: containerId}\n\t\t},\n\t\tdispatch,\n\t\thost\n\t} = coeffects;\n\tconst registryId = createRegistryId(containerId, subscriptionId);\n\tconst resolvedChannel = replaceChannelParameters(\n\t\tchannelId,\n\t\taction.payload,\n\t\tencodeURIComponentForChannelId\n\t);\n\tconst metaData = {...action.meta, channelId: resolvedChannel};\n\tconst shouldSubscribe = get(action, 'payload.subscribe', false);\n\tconst subscriptionCallback = createSubscriptionCallback(\n\t\tdispatch,\n\t\tsubscribeSucceededActionType,\n\t\tsubscribeFailedActionType,\n\t\tmetaData\n\t);\n\n\tif (!ambChannelRegistry.has(registryId)) {\n\t\tambChannelRegistry.set(\n\t\t\tregistryId,\n\t\t\tambClient.getChannel(resolvedChannel, {\n\t\t\t\tsubscriptionCallback\n\t\t\t}),\n\t\t\thost\n\t\t);\n\t}\n\n\tlet channelListener = ambChannelRegistry.get(registryId);\n\tconst channelIdChanged = resolvedChannel !== channelListener.getName();\n\tif (channelIdChanged) {\n\t\tambChannelRegistry.set(\n\t\t\tregistryId,\n\t\t\tambClient.getChannel(resolvedChannel, {\n\t\t\t\tsubscriptionCallback\n\t\t\t}),\n\t\t\thost\n\t\t);\n\t\tchannelListener = ambChannelRegistry.get(registryId);\n\t}\n\n\tconst isSubscribed = channelListener.getCallback() !== undefined;\n\tconst listenerFn = message => {\n\t\tdispatch(messageReceivedActionType, message, metaData);\n\t};\n\tif (!isSubscribed && shouldSubscribe) {\n\t\tdispatch(subscribeStartedActionType, {}, metaData);\n\t\tchannelListener.subscribe(listenerFn);\n\t} else if (isSubscribed && !shouldSubscribe) {\n\t\tambChannelRegistry.delete(registryId);\n\t\tchannelListener.unsubscribe(listenerFn);\n\t\tdispatch(unsubscribeSucceededActionType, {}, metaData);\n\t}\n}\n\n/**\n * Effect to manage an an amb channel subscription.\n *\n * @function createAmbSubscriptionEffect\n * @example\n * import {createAmbSubscriptionEffect} from '@servicenow/ui-effect-amb';\n *\n * const recordWatcherHandler = createAmbSubscriptionEffect('/rw/default/:table/:filter', {\n *      subscribeStartedActionType: 'RECORD_WATCHER_SUBSCRIBE_STARTED',\n *      subscribeSucceededActionType: 'RECORD_WATCHER_SUBSCRIBED',\n *      subscribeFailedActionType: 'RECORD_WATCHER_SUBSCRIBE_FAILED',\n *      unsubscribeSucceededActionType: 'RECORD_WATCHER_UNSUBSCRIBED',\n *      messageReceivedActionType: 'RECORD_WATCHER_ITEM_CHANGED'\n * });\n *\n * const recordItemComponent = createCustomElement('sn-record-item', {\n *      renderer: {\n *          view: (state, dispatch) => {\n *              const {table, filter} = state.properties;\n *              function subscribe() {\n *                  dispatch('RECORD_WATCHER_SUBSCRIPTION_CHANGED', {\n *                      table,\n *                      filter,\n *                      subscribe: true\n *                  });\n *              }\n *\n *              function unsubscribe() {\n *                  dispatch('RECORD_WATCHER_SUBSCRIPTION_CHANGED', {\n *                      table,\n *                      filter,\n *                      subscribe: false\n *                  });\n *              }\n *\n *              return (\n *                  <div>\n *                      <button on-click='subscribe'>Subscribe</button>\n *                      <button on-click='unsubscribe'>Unsubscribe</button>\n *                  </div>\n *              );\n *          }\n *      },\n *\t    properties: {\n *          table: {},\n *          filter: {}\n *\t    },\n *      actionHandlers: {\n *\t\t    'RECORD_WATCHER_SUBSCRIPTION_CHANGED': recordWatcherHandler\n *\t\t}\n * });\n *\n * @param {String} channelId - AMB Channel ID\n * @param {Object} options\n * @param {String} options.subscribeStartedActionType - Action dispatched when an amb subscription is started\n * @param {String} options.subscribeSucceededActionType - Action dispatched if an amb subscription succeeds\n * @param {String} options.subscribeFailedActionType - Action dispatched if an amb subscription fails\n * @param {String} options.unsubscribeSucceededActionType - Action dispatched when an amb unsubscribe is successful\n * @param {String} options.messageReceivedActionType - Action dispatched when a message is received on a channel\n * @param {Boolean} options.encodeURIComponentForChannelId - Encode channel id URL (default: true)\n *\n * @return {Object} AMB Subscription Effect Descriptor\n */\nexport default function createAmbSubscriptionEffect(channelId, options) {\n\treturn {\n\t\teffect: ambSubscriptionEffect,\n\t\targs: [getAMBClient(), createSubscriptionId(), ambChannelRegistry, channelId, options]\n\t};\n}\n","export default function createRegistryId(containerId, subscriptionId) {\n\treturn `${containerId}-${subscriptionId}`;\n}\n","import pathToRegexp from 'path-to-regexp';\n\nexport default function replaceChannelParameters(\n\tchannelId,\n\tchannelParams = {},\n\tencodeURIComponentForChannelId = true\n) {\n\tconst toPath = pathToRegexp.compile(channelId);\n\tconst toPathOptions = encodeURIComponentForChannelId === false ? {encode: str => str} : {};\n\treturn toPath(channelParams, toPathOptions);\n}\n","import getAMBClient from './getAMBClient';\nimport {createSubscriptionId} from './utils';\nimport {get, toUpper} from '@servicenow/ui-internal';\nimport createGarbageCollectorMap from './createGarbageCollectorMap';\n\nconst eventSubscriptionRegistry = createGarbageCollectorMap((subscriptionId, eventIds) => {\n\teventIds.forEach(id => getAMBClient().unsubscribeFromEvent(id));\n});\n\nexport function ambEventEffect(subscriptionId, ambClient, eventSubscriptionRegistry, coeffects) {\n\tconst {action, dispatch, host} = coeffects;\n\tconst shouldSubscribe = get(action, 'payload.subscribe', false);\n\tif (!eventSubscriptionRegistry.has(subscriptionId) && shouldSubscribe) {\n\t\tconst eventMap = ambClient.getEvents();\n\t\tconst eventIds = [];\n\t\tfor (const key in eventMap) {\n\t\t\teventIds.push(\n\t\t\t\tambClient.subscribeToEvent(eventMap[key], () => dispatch(toUpper(`AMB_EVENT_${key}`)))\n\t\t\t);\n\t\t}\n\n\t\teventSubscriptionRegistry.set(subscriptionId, eventIds, host);\n\t} else if (eventSubscriptionRegistry.has(subscriptionId) && !shouldSubscribe) {\n\t\teventSubscriptionRegistry.delete(subscriptionId);\n\t}\n}\n\n/**\n * Effect to subscribe to AMB events.\n *\n * Dispatches the following actions when the corresponding AMB event occurs:\n *  * AMB_EVENT_CONNECTION_INITIALIZED\n *  * AMB_EVENT_CONNECTION_OPENED\n *  * AMB_EVENT_CONNECTION_CLOSED\n *  * AMB_EVENT_CONNECTION_BROKEN\n *  * AMB_EVENT_SESSION_LOGGED_IN\n *  * AMB_EVENT_SESSION_LOGGED_OUT\n *  * AMB_EVENT_SESSION_INVALIDATED\n *\n * @function createAmbEventEffect\n * @example\n * import {createCustomElement} from '@servicenow/ui-core';\n * import {createAmbEventEffect} from '@servicenow/ui-effect-amb';\n *\n * import {\n *  AMB_EVENT_SUBSCRIPTION_CHANGED,\n *  AMB_EVENT_SESSION_LOGGED_IN,\n *  AMB_EVENT_SESSION_LOGGED_OUT\n * } from './actions';\n *\n * createCustomElement('user-status', {\n *  renderer: {\n *      view(state) {\n *          if(state.loggedIn)\n *              return <h1>Logged In</h1>\n *          else\n *              return <h1>Logged Out</h1>\n *      }\n *  },\n *  actionHandlers: {\n *      [COMPONENT_CONNECTED]: () => {\n *          dispatch(AMB_EVENT_SUBSCRIPTION_CHANGED, {subscribe: true});\n *      },\n *      [COMPONENT_DISCONNECTED]: () => {\n *          dispatch(AMB_EVENT_SUBSCRIPTION_CHANGED, {subscribe: false});\n *      },\n *      [AMB_EVENT_SUBSCRIPTION_CHANGED]: createAmbEventEffect(),\n *      [AMB_EVENT_SESSION_LOGGED_IN]: ({updateState}) => updateState({loggedIn: true}),\n *      [AMB_EVENT_SESSION_LOGGED_OUT]: ({updateState}) => updateState({loggedIn: false})\n *  }\n * });\n *\n * @return {Object} AMB Event Effect Descriptor\n */\nexport default function createAmbEventEffect() {\n\treturn {\n\t\teffect: ambEventEffect,\n\t\targs: [createSubscriptionId(), getAMBClient(), eventSubscriptionRegistry]\n\t};\n}\n","import {domainSeparationProperties} from '@servicenow/ui-effect-helpers';\n\nconst SUPPORTED_KINDS = ['OperationDefinition'];\n\nfunction canAddDomainSeparationDirective(definition) {\n\treturn (\n\t\t(SUPPORTED_KINDS.includes(definition.kind) && definition.operation === 'query') ||\n\t\tdefinition.operation === 'mutation'\n\t);\n}\n\n/**\n *\n * @param document\n * @param domainContext\n * @returns {*}\n */\nexport default function addDomainContextToGraphQLDocument(document, domainContext) {\n\tif (domainContext) {\n\t\tconst domainDirective = createDomainDirective(\n\t\t\tdomainContext[domainSeparationProperties.NOW_DS_RECORD_TABLE],\n\t\t\tdomainContext[domainSeparationProperties.NOW_DS_RECORD_ID],\n\t\t\tdomainContext[domainSeparationProperties.NOW_DS_DOMAIN_ID],\n\t\t\tdomainContext[domainSeparationProperties.NOW_DS_DOMAIN_SCOPE]\n\t\t);\n\t\tif (domainDirective) {\n\t\t\treturn {\n\t\t\t\t...document,\n\t\t\t\tdefinitions: document.definitions.map(def => ({\n\t\t\t\t\t...def,\n\t\t\t\t\tdirectives: [\n\t\t\t\t\t\t...def.directives,\n\t\t\t\t\t\t...insertIf(canAddDomainSeparationDirective(def), domainDirective)\n\t\t\t\t\t]\n\t\t\t\t}))\n\t\t\t};\n\t\t}\n\t}\n\treturn document;\n}\n\nexport function createDomainDirective(recordTable, recordId, domainId, domainScope) {\n\tconst recordArgument = createRecordArgument(recordTable, recordId);\n\tconst domainArgument = createDomainArgument(domainId, domainScope);\n\tconst args = [\n\t\t...insertIf(recordArgument !== undefined, recordArgument),\n\t\t...insertIf(domainArgument !== undefined, domainArgument)\n\t];\n\n\tif (!args.length) return undefined;\n\n\treturn {\n\t\tkind: 'Directive',\n\t\tname: {kind: 'Name', value: 'domain'},\n\t\targuments: args\n\t};\n}\n\nexport function createRecordArgument(table, id) {\n\tif (!isValidRecordArgument(table, id)) return undefined;\n\n\treturn {\n\t\tkind: 'Argument',\n\t\tname: {kind: 'Name', value: 'record'},\n\t\tvalue: {\n\t\t\tkind: 'ObjectValue',\n\t\t\tfields: [\n\t\t\t\t{\n\t\t\t\t\tkind: 'ObjectField',\n\t\t\t\t\tname: {kind: 'Name', value: 'tableName'},\n\t\t\t\t\tvalue: {kind: 'StringValue', value: table}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tkind: 'ObjectField',\n\t\t\t\t\tname: {kind: 'Name', value: 'id'},\n\t\t\t\t\tvalue: {kind: 'StringValue', value: id}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t};\n}\n\nexport function createDomainArgument(id, scope) {\n\tif (!isValidDomainArgument(id, scope)) return undefined;\n\n\treturn {\n\t\tkind: 'Argument',\n\t\tname: {kind: 'Name', value: 'domain'},\n\t\tvalue: {\n\t\t\tkind: 'ObjectValue',\n\t\t\tfields: [\n\t\t\t\t...insertIf(id !== undefined, {\n\t\t\t\t\tkind: 'ObjectField',\n\t\t\t\t\tname: {kind: 'Name', value: 'id'},\n\t\t\t\t\tvalue: {kind: 'StringValue', value: id}\n\t\t\t\t}),\n\t\t\t\t...insertIf(scope !== undefined, {\n\t\t\t\t\tkind: 'ObjectField',\n\t\t\t\t\tname: {kind: 'Name', value: 'scope'},\n\t\t\t\t\tvalue: {kind: 'EnumValue', value: scope}\n\t\t\t\t})\n\t\t\t]\n\t\t}\n\t};\n}\n\nexport function isValidRecordArgument(table, id) {\n\treturn table !== undefined && id !== undefined;\n}\n\nexport function isValidDomainArgument(id, scope) {\n\treturn id !== undefined || scope !== undefined;\n}\n\nexport function insertIf(condition, value) {\n\treturn condition ? [value] : [];\n}\n","export default function isSubscriptionResult(result) {\n\tconst {data} = result;\n\treturn data?.GlideRecord_Subscription;\n}\n","import Mustache from 'mustache';\nimport {memoize} from '@servicenow/ui-internal';\n\nconst mustacheTokens = ['#', '^', '>', '&', 'name'];\n\nfunction TemplateVarsMissingException(query, expectedTemplateVars) {\n\tthis.name = 'TemplateVarsMissingException';\n\tthis.message = 'template_vars missing for GraphQL query';\n\tthis.query = query;\n\tthis.expectedTemplateVars = expectedTemplateVars;\n\tthis.stack = new Error(this.message).stack;\n}\n\nTemplateVarsMissingException.prototype = new Error();\n\n/**\n * Match template vars up with query template, throw if missing any vars\n *\n * @private\n * @param queryStr\n * @param templateParts\n * @param templateVars\n * @throws TemplateVarsMissingException\n * @return {void}\n */\nfunction assertValidTemplateVars(queryStr, templateParts, templateVars) {\n\tconst {length: templatePartsLength} = templateParts;\n\tfor (let i = 0; i < templatePartsLength; i++) {\n\t\tif (!templateVars[templateParts[i]])\n\t\t\tthrow new TemplateVarsMissingException(queryStr, templateParts);\n\t}\n}\n\n/**\n * Parse template variable tokens from query\n *\n * @private\n * @param queryStr\n * @return [Array<String>] tokens\n */\nfunction getTokens(queryStr) {\n\tconst parts = Mustache.parse(queryStr);\n\tconst tokens = [];\n\tconst {length: partsLength} = parts;\n\n\tfor (let i = 0; i < partsLength; i++) {\n\t\tconst part = parts[i];\n\t\tif (mustacheTokens.includes(part[0])) tokens.push(part[1]);\n\t}\n\n\treturn tokens;\n}\n\nconst memGetTokens = memoize(getTokens, {profileName: 'getTokens'});\n\nexport default function replaceQueryTemplateVariables(queryStr = '', templateVars = {}) {\n\tconst tokens = memGetTokens(queryStr);\n\tassertValidTemplateVars(queryStr, tokens, templateVars);\n\treturn Mustache.render(queryStr, templateVars);\n}\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n  extendStatics = Object.setPrototypeOf ||\n      ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n      function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n  return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n  if (typeof b !== \"function\" && b !== null)\n      throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n  extendStatics(d, b);\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n  __assign = Object.assign || function __assign(t) {\n      for (var s, i = 1, n = arguments.length; i < n; i++) {\n          s = arguments[i];\n          for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n      }\n      return t;\n  }\n  return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n  var t = {};\n  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n      t[p] = s[p];\n  if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n      for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n          if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n              t[p[i]] = s[p[i]];\n      }\n  return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n  if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n  return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n  return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n  function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n  var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n  var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n  var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n  var _, done = false;\n  for (var i = decorators.length - 1; i >= 0; i--) {\n      var context = {};\n      for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n      for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n      context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n      var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n      if (kind === \"accessor\") {\n          if (result === void 0) continue;\n          if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n          if (_ = accept(result.get)) descriptor.get = _;\n          if (_ = accept(result.set)) descriptor.set = _;\n          if (_ = accept(result.init)) initializers.unshift(_);\n      }\n      else if (_ = accept(result)) {\n          if (kind === \"field\") initializers.unshift(_);\n          else descriptor[key] = _;\n      }\n  }\n  if (target) Object.defineProperty(target, contextIn.name, descriptor);\n  done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n  var useValue = arguments.length > 2;\n  for (var i = 0; i < initializers.length; i++) {\n      value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n  }\n  return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n  return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n  if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n  return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n  if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n  return new (P || (P = Promise))(function (resolve, reject) {\n      function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n      function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n      function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n      step((generator = generator.apply(thisArg, _arguments || [])).next());\n  });\n}\n\nexport function __generator(thisArg, body) {\n  var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n  return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n  function verb(n) { return function (v) { return step([n, v]); }; }\n  function step(op) {\n      if (f) throw new TypeError(\"Generator is already executing.\");\n      while (g && (g = 0, op[0] && (_ = 0)), _) try {\n          if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n          if (y = 0, t) op = [op[0] & 2, t.value];\n          switch (op[0]) {\n              case 0: case 1: t = op; break;\n              case 4: _.label++; return { value: op[1], done: false };\n              case 5: _.label++; y = op[1]; op = [0]; continue;\n              case 7: op = _.ops.pop(); _.trys.pop(); continue;\n              default:\n                  if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                  if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                  if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                  if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                  if (t[2]) _.ops.pop();\n                  _.trys.pop(); continue;\n          }\n          op = body.call(thisArg, _);\n      } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n      if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n  }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n  if (k2 === undefined) k2 = k;\n  var desc = Object.getOwnPropertyDescriptor(m, k);\n  if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n      desc = { enumerable: true, get: function() { return m[k]; } };\n  }\n  Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n  if (k2 === undefined) k2 = k;\n  o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n  for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n  var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n  if (m) return m.call(o);\n  if (o && typeof o.length === \"number\") return {\n      next: function () {\n          if (o && i >= o.length) o = void 0;\n          return { value: o && o[i++], done: !o };\n      }\n  };\n  throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n  var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n  if (!m) return o;\n  var i = m.call(o), r, ar = [], e;\n  try {\n      while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n  }\n  catch (error) { e = { error: error }; }\n  finally {\n      try {\n          if (r && !r.done && (m = i[\"return\"])) m.call(i);\n      }\n      finally { if (e) throw e.error; }\n  }\n  return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n  for (var ar = [], i = 0; i < arguments.length; i++)\n      ar = ar.concat(__read(arguments[i]));\n  return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n  for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n  for (var r = Array(s), k = 0, i = 0; i < il; i++)\n      for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n          r[k] = a[j];\n  return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n      if (ar || !(i in from)) {\n          if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n          ar[i] = from[i];\n      }\n  }\n  return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n  return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n  if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n  var g = generator.apply(thisArg, _arguments || []), i, q = [];\n  return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n  function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n  function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n  function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n  function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n  function fulfill(value) { resume(\"next\", value); }\n  function reject(value) { resume(\"throw\", value); }\n  function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n  var i, p;\n  return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n  function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n  if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n  var m = o[Symbol.asyncIterator], i;\n  return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n  function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n  function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n  if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n  return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n  Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n  o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n  ownKeys = Object.getOwnPropertyNames || function (o) {\n    var ar = [];\n    for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n    return ar;\n  };\n  return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n  if (mod && mod.__esModule) return mod;\n  var result = {};\n  if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n  __setModuleDefault(result, mod);\n  return result;\n}\n\nexport function __importDefault(mod) {\n  return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n  if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n  if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n  return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n  if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n  if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n  if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n  return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n  if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n  return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n  if (value !== null && value !== void 0) {\n    if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n    var dispose, inner;\n    if (async) {\n      if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n      dispose = value[Symbol.asyncDispose];\n    }\n    if (dispose === void 0) {\n      if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n      dispose = value[Symbol.dispose];\n      if (async) inner = dispose;\n    }\n    if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n    if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n    env.stack.push({ value: value, dispose: dispose, async: async });\n  }\n  else if (async) {\n    env.stack.push({ async: true });\n  }\n  return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n  var e = new Error(message);\n  return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n  function fail(e) {\n    env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n    env.hasError = true;\n  }\n  var r, s = 0;\n  function next() {\n    while (r = env.stack.pop()) {\n      try {\n        if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n        if (r.dispose) {\n          var result = r.dispose.call(r.value);\n          if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n        }\n        else s |= 1;\n      }\n      catch (e) {\n        fail(e);\n      }\n    }\n    if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n    if (env.hasError) throw env.error;\n  }\n  return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n  if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n      return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n          return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n      });\n  }\n  return path;\n}\n\nexport default {\n  __extends,\n  __assign,\n  __rest,\n  __decorate,\n  __param,\n  __esDecorate,\n  __runInitializers,\n  __propKey,\n  __setFunctionName,\n  __metadata,\n  __awaiter,\n  __generator,\n  __createBinding,\n  __exportStar,\n  __values,\n  __read,\n  __spread,\n  __spreadArrays,\n  __spreadArray,\n  __await,\n  __asyncGenerator,\n  __asyncDelegator,\n  __asyncValues,\n  __makeTemplateObject,\n  __importStar,\n  __importDefault,\n  __classPrivateFieldGet,\n  __classPrivateFieldSet,\n  __classPrivateFieldIn,\n  __addDisposableResource,\n  __disposeResources,\n  __rewriteRelativeImportExtension,\n};\n","export function invariant(condition, message) {\n  const booleanCondition = Boolean(condition);\n\n  if (!booleanCondition) {\n    throw new Error(\n      message != null ? message : 'Unexpected invariant triggered.',\n    );\n  }\n}\n","import { invariant } from '../jsutils/invariant.mjs';\nconst LineRegExp = /\\r\\n|[\\n\\r]/g;\n/**\n * Represents a location in a Source.\n */\n\n/**\n * Takes a Source and a UTF-8 character offset, and returns the corresponding\n * line and column as a SourceLocation.\n */\nexport function getLocation(source, position) {\n  let lastLineStart = 0;\n  let line = 1;\n\n  for (const match of source.body.matchAll(LineRegExp)) {\n    typeof match.index === 'number' || invariant(false);\n\n    if (match.index >= position) {\n      break;\n    }\n\n    lastLineStart = match.index + match[0].length;\n    line += 1;\n  }\n\n  return {\n    line,\n    column: position + 1 - lastLineStart,\n  };\n}\n","import { getLocation } from './location.mjs';\n\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\nexport function printLocation(location) {\n  return printSourceLocation(\n    location.source,\n    getLocation(location.source, location.start),\n  );\n}\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\n\nexport function printSourceLocation(source, sourceLocation) {\n  const firstLineColumnOffset = source.locationOffset.column - 1;\n  const body = ''.padStart(firstLineColumnOffset) + source.body;\n  const lineIndex = sourceLocation.line - 1;\n  const lineOffset = source.locationOffset.line - 1;\n  const lineNum = sourceLocation.line + lineOffset;\n  const columnOffset = sourceLocation.line === 1 ? firstLineColumnOffset : 0;\n  const columnNum = sourceLocation.column + columnOffset;\n  const locationStr = `${source.name}:${lineNum}:${columnNum}\\n`;\n  const lines = body.split(/\\r\\n|[\\n\\r]/g);\n  const locationLine = lines[lineIndex]; // Special case for minified documents\n\n  if (locationLine.length > 120) {\n    const subLineIndex = Math.floor(columnNum / 80);\n    const subLineColumnNum = columnNum % 80;\n    const subLines = [];\n\n    for (let i = 0; i < locationLine.length; i += 80) {\n      subLines.push(locationLine.slice(i, i + 80));\n    }\n\n    return (\n      locationStr +\n      printPrefixedLines([\n        [`${lineNum} |`, subLines[0]],\n        ...subLines.slice(1, subLineIndex + 1).map((subLine) => ['|', subLine]),\n        ['|', '^'.padStart(subLineColumnNum)],\n        ['|', subLines[subLineIndex + 1]],\n      ])\n    );\n  }\n\n  return (\n    locationStr +\n    printPrefixedLines([\n      // Lines specified like this: [\"prefix\", \"string\"],\n      [`${lineNum - 1} |`, lines[lineIndex - 1]],\n      [`${lineNum} |`, locationLine],\n      ['|', '^'.padStart(columnNum)],\n      [`${lineNum + 1} |`, lines[lineIndex + 1]],\n    ])\n  );\n}\n\nfunction printPrefixedLines(lines) {\n  const existingLines = lines.filter(([_, line]) => line !== undefined);\n  const padLen = Math.max(...existingLines.map(([prefix]) => prefix.length));\n  return existingLines\n    .map(([prefix, line]) => prefix.padStart(padLen) + (line ? ' ' + line : ''))\n    .join('\\n');\n}\n","import { isObjectLike } from '../jsutils/isObjectLike.mjs';\nimport { getLocation } from '../language/location.mjs';\nimport {\n  printLocation,\n  printSourceLocation,\n} from '../language/printLocation.mjs';\n\nfunction toNormalizedOptions(args) {\n  const firstArg = args[0];\n\n  if (firstArg == null || 'kind' in firstArg || 'length' in firstArg) {\n    return {\n      nodes: firstArg,\n      source: args[1],\n      positions: args[2],\n      path: args[3],\n      originalError: args[4],\n      extensions: args[5],\n    };\n  }\n\n  return firstArg;\n}\n/**\n * A GraphQLError describes an Error found during the parse, validate, or\n * execute phases of performing a GraphQL operation. In addition to a message\n * and stack trace, it also includes information about the locations in a\n * GraphQL document and/or execution result that correspond to the Error.\n */\n\nexport class GraphQLError extends Error {\n  /**\n   * An array of `{ line, column }` locations within the source GraphQL document\n   * which correspond to this error.\n   *\n   * Errors during validation often contain multiple locations, for example to\n   * point out two things with the same name. Errors during execution include a\n   * single location, the field which produced the error.\n   *\n   * Enumerable, and appears in the result of JSON.stringify().\n   */\n\n  /**\n   * An array describing the JSON-path into the execution response which\n   * corresponds to this error. Only included for errors during execution.\n   *\n   * Enumerable, and appears in the result of JSON.stringify().\n   */\n\n  /**\n   * An array of GraphQL AST Nodes corresponding to this error.\n   */\n\n  /**\n   * The source GraphQL document for the first location of this error.\n   *\n   * Note that if this Error represents more than one node, the source may not\n   * represent nodes after the first node.\n   */\n\n  /**\n   * An array of character offsets within the source GraphQL document\n   * which correspond to this error.\n   */\n\n  /**\n   * The original error thrown from a field resolver during execution.\n   */\n\n  /**\n   * Extension fields to add to the formatted error.\n   */\n\n  /**\n   * @deprecated Please use the `GraphQLErrorOptions` constructor overload instead.\n   */\n  constructor(message, ...rawArgs) {\n    var _this$nodes, _nodeLocations$, _ref;\n\n    const { nodes, source, positions, path, originalError, extensions } =\n      toNormalizedOptions(rawArgs);\n    super(message);\n    this.name = 'GraphQLError';\n    this.path = path !== null && path !== void 0 ? path : undefined;\n    this.originalError =\n      originalError !== null && originalError !== void 0\n        ? originalError\n        : undefined; // Compute list of blame nodes.\n\n    this.nodes = undefinedIfEmpty(\n      Array.isArray(nodes) ? nodes : nodes ? [nodes] : undefined,\n    );\n    const nodeLocations = undefinedIfEmpty(\n      (_this$nodes = this.nodes) === null || _this$nodes === void 0\n        ? void 0\n        : _this$nodes.map((node) => node.loc).filter((loc) => loc != null),\n    ); // Compute locations in the source for the given nodes/positions.\n\n    this.source =\n      source !== null && source !== void 0\n        ? source\n        : nodeLocations === null || nodeLocations === void 0\n        ? void 0\n        : (_nodeLocations$ = nodeLocations[0]) === null ||\n          _nodeLocations$ === void 0\n        ? void 0\n        : _nodeLocations$.source;\n    this.positions =\n      positions !== null && positions !== void 0\n        ? positions\n        : nodeLocations === null || nodeLocations === void 0\n        ? void 0\n        : nodeLocations.map((loc) => loc.start);\n    this.locations =\n      positions && source\n        ? positions.map((pos) => getLocation(source, pos))\n        : nodeLocations === null || nodeLocations === void 0\n        ? void 0\n        : nodeLocations.map((loc) => getLocation(loc.source, loc.start));\n    const originalExtensions = isObjectLike(\n      originalError === null || originalError === void 0\n        ? void 0\n        : originalError.extensions,\n    )\n      ? originalError === null || originalError === void 0\n        ? void 0\n        : originalError.extensions\n      : undefined;\n    this.extensions =\n      (_ref =\n        extensions !== null && extensions !== void 0\n          ? extensions\n          : originalExtensions) !== null && _ref !== void 0\n        ? _ref\n        : Object.create(null); // Only properties prescribed by the spec should be enumerable.\n    // Keep the rest as non-enumerable.\n\n    Object.defineProperties(this, {\n      message: {\n        writable: true,\n        enumerable: true,\n      },\n      name: {\n        enumerable: false,\n      },\n      nodes: {\n        enumerable: false,\n      },\n      source: {\n        enumerable: false,\n      },\n      positions: {\n        enumerable: false,\n      },\n      originalError: {\n        enumerable: false,\n      },\n    }); // Include (non-enumerable) stack trace.\n\n    /* c8 ignore start */\n    // FIXME: https://github.com/graphql/graphql-js/issues/2317\n\n    if (\n      originalError !== null &&\n      originalError !== void 0 &&\n      originalError.stack\n    ) {\n      Object.defineProperty(this, 'stack', {\n        value: originalError.stack,\n        writable: true,\n        configurable: true,\n      });\n    } else if (Error.captureStackTrace) {\n      Error.captureStackTrace(this, GraphQLError);\n    } else {\n      Object.defineProperty(this, 'stack', {\n        value: Error().stack,\n        writable: true,\n        configurable: true,\n      });\n    }\n    /* c8 ignore stop */\n  }\n\n  get [Symbol.toStringTag]() {\n    return 'GraphQLError';\n  }\n\n  toString() {\n    let output = this.message;\n\n    if (this.nodes) {\n      for (const node of this.nodes) {\n        if (node.loc) {\n          output += '\\n\\n' + printLocation(node.loc);\n        }\n      }\n    } else if (this.source && this.locations) {\n      for (const location of this.locations) {\n        output += '\\n\\n' + printSourceLocation(this.source, location);\n      }\n    }\n\n    return output;\n  }\n\n  toJSON() {\n    const formattedError = {\n      message: this.message,\n    };\n\n    if (this.locations != null) {\n      formattedError.locations = this.locations;\n    }\n\n    if (this.path != null) {\n      formattedError.path = this.path;\n    }\n\n    if (this.extensions != null && Object.keys(this.extensions).length > 0) {\n      formattedError.extensions = this.extensions;\n    }\n\n    return formattedError;\n  }\n}\n\nfunction undefinedIfEmpty(array) {\n  return array === undefined || array.length === 0 ? undefined : array;\n}\n/**\n * See: https://spec.graphql.org/draft/#sec-Errors\n */\n\n/**\n * Prints a GraphQLError to a string, representing useful location information\n * about the error's position in the source.\n *\n * @deprecated Please use `error.toString` instead. Will be removed in v17\n */\nexport function printError(error) {\n  return error.toString();\n}\n/**\n * Given a GraphQLError, format it according to the rules described by the\n * Response Format, Errors section of the GraphQL Specification.\n *\n * @deprecated Please use `error.toJSON` instead. Will be removed in v17\n */\n\nexport function formatError(error) {\n  return error.toJSON();\n}\n","/**\n * Return true if `value` is object-like. A value is object-like if it's not\n * `null` and has a `typeof` result of \"object\".\n */\nexport function isObjectLike(value) {\n  return typeof value == 'object' && value !== null;\n}\n","import { GraphQLError } from './GraphQLError.mjs';\n/**\n * Produces a GraphQLError representing a syntax error, containing useful\n * descriptive information about the syntax error's position in the source.\n */\n\nexport function syntaxError(source, position, description) {\n  return new GraphQLError(`Syntax Error: ${description}`, {\n    source,\n    positions: [position],\n  });\n}\n","/**\n * Contains a range of UTF-8 character offsets and token references that\n * identify the region of the source from which the AST derived.\n */\nexport class Location {\n  /**\n   * The character offset at which this Node begins.\n   */\n\n  /**\n   * The character offset at which this Node ends.\n   */\n\n  /**\n   * The Token at which this Node begins.\n   */\n\n  /**\n   * The Token at which this Node ends.\n   */\n\n  /**\n   * The Source document the AST represents.\n   */\n  constructor(startToken, endToken, source) {\n    this.start = startToken.start;\n    this.end = endToken.end;\n    this.startToken = startToken;\n    this.endToken = endToken;\n    this.source = source;\n  }\n\n  get [Symbol.toStringTag]() {\n    return 'Location';\n  }\n\n  toJSON() {\n    return {\n      start: this.start,\n      end: this.end,\n    };\n  }\n}\n/**\n * Represents a range of characters represented by a lexical token\n * within a Source.\n */\n\nexport class Token {\n  /**\n   * The kind of Token.\n   */\n\n  /**\n   * The character offset at which this Node begins.\n   */\n\n  /**\n   * The character offset at which this Node ends.\n   */\n\n  /**\n   * The 1-indexed line number on which this Token appears.\n   */\n\n  /**\n   * The 1-indexed column number at which this Token begins.\n   */\n\n  /**\n   * For non-punctuation tokens, represents the interpreted value of the token.\n   *\n   * Note: is undefined for punctuation tokens, but typed as string for\n   * convenience in the parser.\n   */\n\n  /**\n   * Tokens exist as nodes in a double-linked-list amongst all tokens\n   * including ignored tokens. <SOF> is always the first node and <EOF>\n   * the last.\n   */\n  constructor(kind, start, end, line, column, value) {\n    this.kind = kind;\n    this.start = start;\n    this.end = end;\n    this.line = line;\n    this.column = column; // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\n    this.value = value;\n    this.prev = null;\n    this.next = null;\n  }\n\n  get [Symbol.toStringTag]() {\n    return 'Token';\n  }\n\n  toJSON() {\n    return {\n      kind: this.kind,\n      value: this.value,\n      line: this.line,\n      column: this.column,\n    };\n  }\n}\n/**\n * The list of all possible AST node types.\n */\n\n/**\n * @internal\n */\nexport const QueryDocumentKeys = {\n  Name: [],\n  Document: ['definitions'],\n  OperationDefinition: [\n    'name',\n    'variableDefinitions',\n    'directives',\n    'selectionSet',\n  ],\n  VariableDefinition: ['variable', 'type', 'defaultValue', 'directives'],\n  Variable: ['name'],\n  SelectionSet: ['selections'],\n  Field: ['alias', 'name', 'arguments', 'directives', 'selectionSet'],\n  Argument: ['name', 'value'],\n  FragmentSpread: ['name', 'directives'],\n  InlineFragment: ['typeCondition', 'directives', 'selectionSet'],\n  FragmentDefinition: [\n    'name', // Note: fragment variable definitions are deprecated and will removed in v17.0.0\n    'variableDefinitions',\n    'typeCondition',\n    'directives',\n    'selectionSet',\n  ],\n  IntValue: [],\n  FloatValue: [],\n  StringValue: [],\n  BooleanValue: [],\n  NullValue: [],\n  EnumValue: [],\n  ListValue: ['values'],\n  ObjectValue: ['fields'],\n  ObjectField: ['name', 'value'],\n  Directive: ['name', 'arguments'],\n  NamedType: ['name'],\n  ListType: ['type'],\n  NonNullType: ['type'],\n  SchemaDefinition: ['description', 'directives', 'operationTypes'],\n  OperationTypeDefinition: ['type'],\n  ScalarTypeDefinition: ['description', 'name', 'directives'],\n  ObjectTypeDefinition: [\n    'description',\n    'name',\n    'interfaces',\n    'directives',\n    'fields',\n  ],\n  FieldDefinition: ['description', 'name', 'arguments', 'type', 'directives'],\n  InputValueDefinition: [\n    'description',\n    'name',\n    'type',\n    'defaultValue',\n    'directives',\n  ],\n  InterfaceTypeDefinition: [\n    'description',\n    'name',\n    'interfaces',\n    'directives',\n    'fields',\n  ],\n  UnionTypeDefinition: ['description', 'name', 'directives', 'types'],\n  EnumTypeDefinition: ['description', 'name', 'directives', 'values'],\n  EnumValueDefinition: ['description', 'name', 'directives'],\n  InputObjectTypeDefinition: ['description', 'name', 'directives', 'fields'],\n  DirectiveDefinition: ['description', 'name', 'arguments', 'locations'],\n  SchemaExtension: ['directives', 'operationTypes'],\n  ScalarTypeExtension: ['name', 'directives'],\n  ObjectTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n  InterfaceTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n  UnionTypeExtension: ['name', 'directives', 'types'],\n  EnumTypeExtension: ['name', 'directives', 'values'],\n  InputObjectTypeExtension: ['name', 'directives', 'fields'],\n};\nconst kindValues = new Set(Object.keys(QueryDocumentKeys));\n/**\n * @internal\n */\n\nexport function isNode(maybeNode) {\n  const maybeKind =\n    maybeNode === null || maybeNode === void 0 ? void 0 : maybeNode.kind;\n  return typeof maybeKind === 'string' && kindValues.has(maybeKind);\n}\n/** Name */\n\nvar OperationTypeNode;\n\n(function (OperationTypeNode) {\n  OperationTypeNode['QUERY'] = 'query';\n  OperationTypeNode['MUTATION'] = 'mutation';\n  OperationTypeNode['SUBSCRIPTION'] = 'subscription';\n})(OperationTypeNode || (OperationTypeNode = {}));\n\nexport { OperationTypeNode };\n","/**\n * The set of allowed directive location values.\n */\nvar DirectiveLocation;\n\n(function (DirectiveLocation) {\n  DirectiveLocation['QUERY'] = 'QUERY';\n  DirectiveLocation['MUTATION'] = 'MUTATION';\n  DirectiveLocation['SUBSCRIPTION'] = 'SUBSCRIPTION';\n  DirectiveLocation['FIELD'] = 'FIELD';\n  DirectiveLocation['FRAGMENT_DEFINITION'] = 'FRAGMENT_DEFINITION';\n  DirectiveLocation['FRAGMENT_SPREAD'] = 'FRAGMENT_SPREAD';\n  DirectiveLocation['INLINE_FRAGMENT'] = 'INLINE_FRAGMENT';\n  DirectiveLocation['VARIABLE_DEFINITION'] = 'VARIABLE_DEFINITION';\n  DirectiveLocation['SCHEMA'] = 'SCHEMA';\n  DirectiveLocation['SCALAR'] = 'SCALAR';\n  DirectiveLocation['OBJECT'] = 'OBJECT';\n  DirectiveLocation['FIELD_DEFINITION'] = 'FIELD_DEFINITION';\n  DirectiveLocation['ARGUMENT_DEFINITION'] = 'ARGUMENT_DEFINITION';\n  DirectiveLocation['INTERFACE'] = 'INTERFACE';\n  DirectiveLocation['UNION'] = 'UNION';\n  DirectiveLocation['ENUM'] = 'ENUM';\n  DirectiveLocation['ENUM_VALUE'] = 'ENUM_VALUE';\n  DirectiveLocation['INPUT_OBJECT'] = 'INPUT_OBJECT';\n  DirectiveLocation['INPUT_FIELD_DEFINITION'] = 'INPUT_FIELD_DEFINITION';\n})(DirectiveLocation || (DirectiveLocation = {}));\n\nexport { DirectiveLocation };\n/**\n * The enum type representing the directive location values.\n *\n * @deprecated Please use `DirectiveLocation`. Will be remove in v17.\n */\n","/**\n * The set of allowed kind values for AST nodes.\n */\nvar Kind;\n\n(function (Kind) {\n  Kind['NAME'] = 'Name';\n  Kind['DOCUMENT'] = 'Document';\n  Kind['OPERATION_DEFINITION'] = 'OperationDefinition';\n  Kind['VARIABLE_DEFINITION'] = 'VariableDefinition';\n  Kind['SELECTION_SET'] = 'SelectionSet';\n  Kind['FIELD'] = 'Field';\n  Kind['ARGUMENT'] = 'Argument';\n  Kind['FRAGMENT_SPREAD'] = 'FragmentSpread';\n  Kind['INLINE_FRAGMENT'] = 'InlineFragment';\n  Kind['FRAGMENT_DEFINITION'] = 'FragmentDefinition';\n  Kind['VARIABLE'] = 'Variable';\n  Kind['INT'] = 'IntValue';\n  Kind['FLOAT'] = 'FloatValue';\n  Kind['STRING'] = 'StringValue';\n  Kind['BOOLEAN'] = 'BooleanValue';\n  Kind['NULL'] = 'NullValue';\n  Kind['ENUM'] = 'EnumValue';\n  Kind['LIST'] = 'ListValue';\n  Kind['OBJECT'] = 'ObjectValue';\n  Kind['OBJECT_FIELD'] = 'ObjectField';\n  Kind['DIRECTIVE'] = 'Directive';\n  Kind['NAMED_TYPE'] = 'NamedType';\n  Kind['LIST_TYPE'] = 'ListType';\n  Kind['NON_NULL_TYPE'] = 'NonNullType';\n  Kind['SCHEMA_DEFINITION'] = 'SchemaDefinition';\n  Kind['OPERATION_TYPE_DEFINITION'] = 'OperationTypeDefinition';\n  Kind['SCALAR_TYPE_DEFINITION'] = 'ScalarTypeDefinition';\n  Kind['OBJECT_TYPE_DEFINITION'] = 'ObjectTypeDefinition';\n  Kind['FIELD_DEFINITION'] = 'FieldDefinition';\n  Kind['INPUT_VALUE_DEFINITION'] = 'InputValueDefinition';\n  Kind['INTERFACE_TYPE_DEFINITION'] = 'InterfaceTypeDefinition';\n  Kind['UNION_TYPE_DEFINITION'] = 'UnionTypeDefinition';\n  Kind['ENUM_TYPE_DEFINITION'] = 'EnumTypeDefinition';\n  Kind['ENUM_VALUE_DEFINITION'] = 'EnumValueDefinition';\n  Kind['INPUT_OBJECT_TYPE_DEFINITION'] = 'InputObjectTypeDefinition';\n  Kind['DIRECTIVE_DEFINITION'] = 'DirectiveDefinition';\n  Kind['SCHEMA_EXTENSION'] = 'SchemaExtension';\n  Kind['SCALAR_TYPE_EXTENSION'] = 'ScalarTypeExtension';\n  Kind['OBJECT_TYPE_EXTENSION'] = 'ObjectTypeExtension';\n  Kind['INTERFACE_TYPE_EXTENSION'] = 'InterfaceTypeExtension';\n  Kind['UNION_TYPE_EXTENSION'] = 'UnionTypeExtension';\n  Kind['ENUM_TYPE_EXTENSION'] = 'EnumTypeExtension';\n  Kind['INPUT_OBJECT_TYPE_EXTENSION'] = 'InputObjectTypeExtension';\n})(Kind || (Kind = {}));\n\nexport { Kind };\n/**\n * The enum type representing the possible kind values of AST nodes.\n *\n * @deprecated Please use `Kind`. Will be remove in v17.\n */\n","/**\n * An exported enum describing the different kinds of tokens that the\n * lexer emits.\n */\nvar TokenKind;\n\n(function (TokenKind) {\n  TokenKind['SOF'] = '<SOF>';\n  TokenKind['EOF'] = '<EOF>';\n  TokenKind['BANG'] = '!';\n  TokenKind['DOLLAR'] = '$';\n  TokenKind['AMP'] = '&';\n  TokenKind['PAREN_L'] = '(';\n  TokenKind['PAREN_R'] = ')';\n  TokenKind['SPREAD'] = '...';\n  TokenKind['COLON'] = ':';\n  TokenKind['EQUALS'] = '=';\n  TokenKind['AT'] = '@';\n  TokenKind['BRACKET_L'] = '[';\n  TokenKind['BRACKET_R'] = ']';\n  TokenKind['BRACE_L'] = '{';\n  TokenKind['PIPE'] = '|';\n  TokenKind['BRACE_R'] = '}';\n  TokenKind['NAME'] = 'Name';\n  TokenKind['INT'] = 'Int';\n  TokenKind['FLOAT'] = 'Float';\n  TokenKind['STRING'] = 'String';\n  TokenKind['BLOCK_STRING'] = 'BlockString';\n  TokenKind['COMMENT'] = 'Comment';\n})(TokenKind || (TokenKind = {}));\n\nexport { TokenKind };\n/**\n * The enum type representing the token kinds values.\n *\n * @deprecated Please use `TokenKind`. Will be remove in v17.\n */\n","/**\n * ```\n * WhiteSpace ::\n *   - \"Horizontal Tab (U+0009)\"\n *   - \"Space (U+0020)\"\n * ```\n * @internal\n */\nexport function isWhiteSpace(code) {\n  return code === 0x0009 || code === 0x0020;\n}\n/**\n * ```\n * Digit :: one of\n *   - `0` `1` `2` `3` `4` `5` `6` `7` `8` `9`\n * ```\n * @internal\n */\n\nexport function isDigit(code) {\n  return code >= 0x0030 && code <= 0x0039;\n}\n/**\n * ```\n * Letter :: one of\n *   - `A` `B` `C` `D` `E` `F` `G` `H` `I` `J` `K` `L` `M`\n *   - `N` `O` `P` `Q` `R` `S` `T` `U` `V` `W` `X` `Y` `Z`\n *   - `a` `b` `c` `d` `e` `f` `g` `h` `i` `j` `k` `l` `m`\n *   - `n` `o` `p` `q` `r` `s` `t` `u` `v` `w` `x` `y` `z`\n * ```\n * @internal\n */\n\nexport function isLetter(code) {\n  return (\n    (code >= 0x0061 && code <= 0x007a) || // A-Z\n    (code >= 0x0041 && code <= 0x005a) // a-z\n  );\n}\n/**\n * ```\n * NameStart ::\n *   - Letter\n *   - `_`\n * ```\n * @internal\n */\n\nexport function isNameStart(code) {\n  return isLetter(code) || code === 0x005f;\n}\n/**\n * ```\n * NameContinue ::\n *   - Letter\n *   - Digit\n *   - `_`\n * ```\n * @internal\n */\n\nexport function isNameContinue(code) {\n  return isLetter(code) || isDigit(code) || code === 0x005f;\n}\n","import { isWhiteSpace } from './characterClasses.mjs';\n/**\n * Produces the value of a block string from its parsed raw value, similar to\n * CoffeeScript's block string, Python's docstring trim or Ruby's strip_heredoc.\n *\n * This implements the GraphQL spec's BlockStringValue() static algorithm.\n *\n * @internal\n */\n\nexport function dedentBlockStringLines(lines) {\n  var _firstNonEmptyLine2;\n\n  let commonIndent = Number.MAX_SAFE_INTEGER;\n  let firstNonEmptyLine = null;\n  let lastNonEmptyLine = -1;\n\n  for (let i = 0; i < lines.length; ++i) {\n    var _firstNonEmptyLine;\n\n    const line = lines[i];\n    const indent = leadingWhitespace(line);\n\n    if (indent === line.length) {\n      continue; // skip empty lines\n    }\n\n    firstNonEmptyLine =\n      (_firstNonEmptyLine = firstNonEmptyLine) !== null &&\n      _firstNonEmptyLine !== void 0\n        ? _firstNonEmptyLine\n        : i;\n    lastNonEmptyLine = i;\n\n    if (i !== 0 && indent < commonIndent) {\n      commonIndent = indent;\n    }\n  }\n\n  return lines // Remove common indentation from all lines but first.\n    .map((line, i) => (i === 0 ? line : line.slice(commonIndent))) // Remove leading and trailing blank lines.\n    .slice(\n      (_firstNonEmptyLine2 = firstNonEmptyLine) !== null &&\n        _firstNonEmptyLine2 !== void 0\n        ? _firstNonEmptyLine2\n        : 0,\n      lastNonEmptyLine + 1,\n    );\n}\n\nfunction leadingWhitespace(str) {\n  let i = 0;\n\n  while (i < str.length && isWhiteSpace(str.charCodeAt(i))) {\n    ++i;\n  }\n\n  return i;\n}\n/**\n * @internal\n */\n\nexport function isPrintableAsBlockString(value) {\n  if (value === '') {\n    return true; // empty string is printable\n  }\n\n  let isEmptyLine = true;\n  let hasIndent = false;\n  let hasCommonIndent = true;\n  let seenNonEmptyLine = false;\n\n  for (let i = 0; i < value.length; ++i) {\n    switch (value.codePointAt(i)) {\n      case 0x0000:\n      case 0x0001:\n      case 0x0002:\n      case 0x0003:\n      case 0x0004:\n      case 0x0005:\n      case 0x0006:\n      case 0x0007:\n      case 0x0008:\n      case 0x000b:\n      case 0x000c:\n      case 0x000e:\n      case 0x000f:\n        return false;\n      // Has non-printable characters\n\n      case 0x000d:\n        //  \\r\n        return false;\n      // Has \\r or \\r\\n which will be replaced as \\n\n\n      case 10:\n        //  \\n\n        if (isEmptyLine && !seenNonEmptyLine) {\n          return false; // Has leading new line\n        }\n\n        seenNonEmptyLine = true;\n        isEmptyLine = true;\n        hasIndent = false;\n        break;\n\n      case 9: //   \\t\n\n      case 32:\n        //  <space>\n        hasIndent || (hasIndent = isEmptyLine);\n        break;\n\n      default:\n        hasCommonIndent && (hasCommonIndent = hasIndent);\n        isEmptyLine = false;\n    }\n  }\n\n  if (isEmptyLine) {\n    return false; // Has trailing empty lines\n  }\n\n  if (hasCommonIndent && seenNonEmptyLine) {\n    return false; // Has internal indent\n  }\n\n  return true;\n}\n/**\n * Print a block string in the indented block form by adding a leading and\n * trailing blank line. However, if a block string starts with whitespace and is\n * a single-line, adding a leading blank line would strip that whitespace.\n *\n * @internal\n */\n\nexport function printBlockString(value, options) {\n  const escapedValue = value.replace(/\"\"\"/g, '\\\\\"\"\"'); // Expand a block string's raw value into independent lines.\n\n  const lines = escapedValue.split(/\\r\\n|[\\n\\r]/g);\n  const isSingleLine = lines.length === 1; // If common indentation is found we can fix some of those cases by adding leading new line\n\n  const forceLeadingNewLine =\n    lines.length > 1 &&\n    lines\n      .slice(1)\n      .every((line) => line.length === 0 || isWhiteSpace(line.charCodeAt(0))); // Trailing triple quotes just looks confusing but doesn't force trailing new line\n\n  const hasTrailingTripleQuotes = escapedValue.endsWith('\\\\\"\"\"'); // Trailing quote (single or double) or slash forces trailing new line\n\n  const hasTrailingQuote = value.endsWith('\"') && !hasTrailingTripleQuotes;\n  const hasTrailingSlash = value.endsWith('\\\\');\n  const forceTrailingNewline = hasTrailingQuote || hasTrailingSlash;\n  const printAsMultipleLines =\n    !(options !== null && options !== void 0 && options.minimize) && // add leading and trailing new lines only if it improves readability\n    (!isSingleLine ||\n      value.length > 70 ||\n      forceTrailingNewline ||\n      forceLeadingNewLine ||\n      hasTrailingTripleQuotes);\n  let result = ''; // Format a multi-line block quote to account for leading space.\n\n  const skipLeadingNewLine = isSingleLine && isWhiteSpace(value.charCodeAt(0));\n\n  if ((printAsMultipleLines && !skipLeadingNewLine) || forceLeadingNewLine) {\n    result += '\\n';\n  }\n\n  result += escapedValue;\n\n  if (printAsMultipleLines || forceTrailingNewline) {\n    result += '\\n';\n  }\n\n  return '\"\"\"' + result + '\"\"\"';\n}\n","import { syntaxError } from '../error/syntaxError.mjs';\nimport { Token } from './ast.mjs';\nimport { dedentBlockStringLines } from './blockString.mjs';\nimport { isDigit, isNameContinue, isNameStart } from './characterClasses.mjs';\nimport { TokenKind } from './tokenKind.mjs';\n/**\n * Given a Source object, creates a Lexer for that source.\n * A Lexer is a stateful stream generator in that every time\n * it is advanced, it returns the next token in the Source. Assuming the\n * source lexes, the final Token emitted by the lexer will be of kind\n * EOF, after which the lexer will repeatedly return the same EOF token\n * whenever called.\n */\n\nexport class Lexer {\n  /**\n   * The previously focused non-ignored token.\n   */\n\n  /**\n   * The currently focused non-ignored token.\n   */\n\n  /**\n   * The (1-indexed) line containing the current token.\n   */\n\n  /**\n   * The character offset at which the current line begins.\n   */\n  constructor(source) {\n    const startOfFileToken = new Token(TokenKind.SOF, 0, 0, 0, 0);\n    this.source = source;\n    this.lastToken = startOfFileToken;\n    this.token = startOfFileToken;\n    this.line = 1;\n    this.lineStart = 0;\n  }\n\n  get [Symbol.toStringTag]() {\n    return 'Lexer';\n  }\n  /**\n   * Advances the token stream to the next non-ignored token.\n   */\n\n  advance() {\n    this.lastToken = this.token;\n    const token = (this.token = this.lookahead());\n    return token;\n  }\n  /**\n   * Looks ahead and returns the next non-ignored token, but does not change\n   * the state of Lexer.\n   */\n\n  lookahead() {\n    let token = this.token;\n\n    if (token.kind !== TokenKind.EOF) {\n      do {\n        if (token.next) {\n          token = token.next;\n        } else {\n          // Read the next token and form a link in the token linked-list.\n          const nextToken = readNextToken(this, token.end); // @ts-expect-error next is only mutable during parsing.\n\n          token.next = nextToken; // @ts-expect-error prev is only mutable during parsing.\n\n          nextToken.prev = token;\n          token = nextToken;\n        }\n      } while (token.kind === TokenKind.COMMENT);\n    }\n\n    return token;\n  }\n}\n/**\n * @internal\n */\n\nexport function isPunctuatorTokenKind(kind) {\n  return (\n    kind === TokenKind.BANG ||\n    kind === TokenKind.DOLLAR ||\n    kind === TokenKind.AMP ||\n    kind === TokenKind.PAREN_L ||\n    kind === TokenKind.PAREN_R ||\n    kind === TokenKind.SPREAD ||\n    kind === TokenKind.COLON ||\n    kind === TokenKind.EQUALS ||\n    kind === TokenKind.AT ||\n    kind === TokenKind.BRACKET_L ||\n    kind === TokenKind.BRACKET_R ||\n    kind === TokenKind.BRACE_L ||\n    kind === TokenKind.PIPE ||\n    kind === TokenKind.BRACE_R\n  );\n}\n/**\n * A Unicode scalar value is any Unicode code point except surrogate code\n * points. In other words, the inclusive ranges of values 0x0000 to 0xD7FF and\n * 0xE000 to 0x10FFFF.\n *\n * SourceCharacter ::\n *   - \"Any Unicode scalar value\"\n */\n\nfunction isUnicodeScalarValue(code) {\n  return (\n    (code >= 0x0000 && code <= 0xd7ff) || (code >= 0xe000 && code <= 0x10ffff)\n  );\n}\n/**\n * The GraphQL specification defines source text as a sequence of unicode scalar\n * values (which Unicode defines to exclude surrogate code points). However\n * JavaScript defines strings as a sequence of UTF-16 code units which may\n * include surrogates. A surrogate pair is a valid source character as it\n * encodes a supplementary code point (above U+FFFF), but unpaired surrogate\n * code points are not valid source characters.\n */\n\nfunction isSupplementaryCodePoint(body, location) {\n  return (\n    isLeadingSurrogate(body.charCodeAt(location)) &&\n    isTrailingSurrogate(body.charCodeAt(location + 1))\n  );\n}\n\nfunction isLeadingSurrogate(code) {\n  return code >= 0xd800 && code <= 0xdbff;\n}\n\nfunction isTrailingSurrogate(code) {\n  return code >= 0xdc00 && code <= 0xdfff;\n}\n/**\n * Prints the code point (or end of file reference) at a given location in a\n * source for use in error messages.\n *\n * Printable ASCII is printed quoted, while other points are printed in Unicode\n * code point form (ie. U+1234).\n */\n\nfunction printCodePointAt(lexer, location) {\n  const code = lexer.source.body.codePointAt(location);\n\n  if (code === undefined) {\n    return TokenKind.EOF;\n  } else if (code >= 0x0020 && code <= 0x007e) {\n    // Printable ASCII\n    const char = String.fromCodePoint(code);\n    return char === '\"' ? \"'\\\"'\" : `\"${char}\"`;\n  } // Unicode code point\n\n  return 'U+' + code.toString(16).toUpperCase().padStart(4, '0');\n}\n/**\n * Create a token with line and column location information.\n */\n\nfunction createToken(lexer, kind, start, end, value) {\n  const line = lexer.line;\n  const col = 1 + start - lexer.lineStart;\n  return new Token(kind, start, end, line, col, value);\n}\n/**\n * Gets the next token from the source starting at the given position.\n *\n * This skips over whitespace until it finds the next lexable token, then lexes\n * punctuators immediately or calls the appropriate helper function for more\n * complicated tokens.\n */\n\nfunction readNextToken(lexer, start) {\n  const body = lexer.source.body;\n  const bodyLength = body.length;\n  let position = start;\n\n  while (position < bodyLength) {\n    const code = body.charCodeAt(position); // SourceCharacter\n\n    switch (code) {\n      // Ignored ::\n      //   - UnicodeBOM\n      //   - WhiteSpace\n      //   - LineTerminator\n      //   - Comment\n      //   - Comma\n      //\n      // UnicodeBOM :: \"Byte Order Mark (U+FEFF)\"\n      //\n      // WhiteSpace ::\n      //   - \"Horizontal Tab (U+0009)\"\n      //   - \"Space (U+0020)\"\n      //\n      // Comma :: ,\n      case 0xfeff: // <BOM>\n\n      case 0x0009: // \\t\n\n      case 0x0020: // <space>\n\n      case 0x002c:\n        // ,\n        ++position;\n        continue;\n      // LineTerminator ::\n      //   - \"New Line (U+000A)\"\n      //   - \"Carriage Return (U+000D)\" [lookahead != \"New Line (U+000A)\"]\n      //   - \"Carriage Return (U+000D)\" \"New Line (U+000A)\"\n\n      case 0x000a:\n        // \\n\n        ++position;\n        ++lexer.line;\n        lexer.lineStart = position;\n        continue;\n\n      case 0x000d:\n        // \\r\n        if (body.charCodeAt(position + 1) === 0x000a) {\n          position += 2;\n        } else {\n          ++position;\n        }\n\n        ++lexer.line;\n        lexer.lineStart = position;\n        continue;\n      // Comment\n\n      case 0x0023:\n        // #\n        return readComment(lexer, position);\n      // Token ::\n      //   - Punctuator\n      //   - Name\n      //   - IntValue\n      //   - FloatValue\n      //   - StringValue\n      //\n      // Punctuator :: one of ! $ & ( ) ... : = @ [ ] { | }\n\n      case 0x0021:\n        // !\n        return createToken(lexer, TokenKind.BANG, position, position + 1);\n\n      case 0x0024:\n        // $\n        return createToken(lexer, TokenKind.DOLLAR, position, position + 1);\n\n      case 0x0026:\n        // &\n        return createToken(lexer, TokenKind.AMP, position, position + 1);\n\n      case 0x0028:\n        // (\n        return createToken(lexer, TokenKind.PAREN_L, position, position + 1);\n\n      case 0x0029:\n        // )\n        return createToken(lexer, TokenKind.PAREN_R, position, position + 1);\n\n      case 0x002e:\n        // .\n        if (\n          body.charCodeAt(position + 1) === 0x002e &&\n          body.charCodeAt(position + 2) === 0x002e\n        ) {\n          return createToken(lexer, TokenKind.SPREAD, position, position + 3);\n        }\n\n        break;\n\n      case 0x003a:\n        // :\n        return createToken(lexer, TokenKind.COLON, position, position + 1);\n\n      case 0x003d:\n        // =\n        return createToken(lexer, TokenKind.EQUALS, position, position + 1);\n\n      case 0x0040:\n        // @\n        return createToken(lexer, TokenKind.AT, position, position + 1);\n\n      case 0x005b:\n        // [\n        return createToken(lexer, TokenKind.BRACKET_L, position, position + 1);\n\n      case 0x005d:\n        // ]\n        return createToken(lexer, TokenKind.BRACKET_R, position, position + 1);\n\n      case 0x007b:\n        // {\n        return createToken(lexer, TokenKind.BRACE_L, position, position + 1);\n\n      case 0x007c:\n        // |\n        return createToken(lexer, TokenKind.PIPE, position, position + 1);\n\n      case 0x007d:\n        // }\n        return createToken(lexer, TokenKind.BRACE_R, position, position + 1);\n      // StringValue\n\n      case 0x0022:\n        // \"\n        if (\n          body.charCodeAt(position + 1) === 0x0022 &&\n          body.charCodeAt(position + 2) === 0x0022\n        ) {\n          return readBlockString(lexer, position);\n        }\n\n        return readString(lexer, position);\n    } // IntValue | FloatValue (Digit | -)\n\n    if (isDigit(code) || code === 0x002d) {\n      return readNumber(lexer, position, code);\n    } // Name\n\n    if (isNameStart(code)) {\n      return readName(lexer, position);\n    }\n\n    throw syntaxError(\n      lexer.source,\n      position,\n      code === 0x0027\n        ? 'Unexpected single quote character (\\'), did you mean to use a double quote (\")?'\n        : isUnicodeScalarValue(code) || isSupplementaryCodePoint(body, position)\n        ? `Unexpected character: ${printCodePointAt(lexer, position)}.`\n        : `Invalid character: ${printCodePointAt(lexer, position)}.`,\n    );\n  }\n\n  return createToken(lexer, TokenKind.EOF, bodyLength, bodyLength);\n}\n/**\n * Reads a comment token from the source file.\n *\n * ```\n * Comment :: # CommentChar* [lookahead != CommentChar]\n *\n * CommentChar :: SourceCharacter but not LineTerminator\n * ```\n */\n\nfunction readComment(lexer, start) {\n  const body = lexer.source.body;\n  const bodyLength = body.length;\n  let position = start + 1;\n\n  while (position < bodyLength) {\n    const code = body.charCodeAt(position); // LineTerminator (\\n | \\r)\n\n    if (code === 0x000a || code === 0x000d) {\n      break;\n    } // SourceCharacter\n\n    if (isUnicodeScalarValue(code)) {\n      ++position;\n    } else if (isSupplementaryCodePoint(body, position)) {\n      position += 2;\n    } else {\n      break;\n    }\n  }\n\n  return createToken(\n    lexer,\n    TokenKind.COMMENT,\n    start,\n    position,\n    body.slice(start + 1, position),\n  );\n}\n/**\n * Reads a number token from the source file, either a FloatValue or an IntValue\n * depending on whether a FractionalPart or ExponentPart is encountered.\n *\n * ```\n * IntValue :: IntegerPart [lookahead != {Digit, `.`, NameStart}]\n *\n * IntegerPart ::\n *   - NegativeSign? 0\n *   - NegativeSign? NonZeroDigit Digit*\n *\n * NegativeSign :: -\n *\n * NonZeroDigit :: Digit but not `0`\n *\n * FloatValue ::\n *   - IntegerPart FractionalPart ExponentPart [lookahead != {Digit, `.`, NameStart}]\n *   - IntegerPart FractionalPart [lookahead != {Digit, `.`, NameStart}]\n *   - IntegerPart ExponentPart [lookahead != {Digit, `.`, NameStart}]\n *\n * FractionalPart :: . Digit+\n *\n * ExponentPart :: ExponentIndicator Sign? Digit+\n *\n * ExponentIndicator :: one of `e` `E`\n *\n * Sign :: one of + -\n * ```\n */\n\nfunction readNumber(lexer, start, firstCode) {\n  const body = lexer.source.body;\n  let position = start;\n  let code = firstCode;\n  let isFloat = false; // NegativeSign (-)\n\n  if (code === 0x002d) {\n    code = body.charCodeAt(++position);\n  } // Zero (0)\n\n  if (code === 0x0030) {\n    code = body.charCodeAt(++position);\n\n    if (isDigit(code)) {\n      throw syntaxError(\n        lexer.source,\n        position,\n        `Invalid number, unexpected digit after 0: ${printCodePointAt(\n          lexer,\n          position,\n        )}.`,\n      );\n    }\n  } else {\n    position = readDigits(lexer, position, code);\n    code = body.charCodeAt(position);\n  } // Full stop (.)\n\n  if (code === 0x002e) {\n    isFloat = true;\n    code = body.charCodeAt(++position);\n    position = readDigits(lexer, position, code);\n    code = body.charCodeAt(position);\n  } // E e\n\n  if (code === 0x0045 || code === 0x0065) {\n    isFloat = true;\n    code = body.charCodeAt(++position); // + -\n\n    if (code === 0x002b || code === 0x002d) {\n      code = body.charCodeAt(++position);\n    }\n\n    position = readDigits(lexer, position, code);\n    code = body.charCodeAt(position);\n  } // Numbers cannot be followed by . or NameStart\n\n  if (code === 0x002e || isNameStart(code)) {\n    throw syntaxError(\n      lexer.source,\n      position,\n      `Invalid number, expected digit but got: ${printCodePointAt(\n        lexer,\n        position,\n      )}.`,\n    );\n  }\n\n  return createToken(\n    lexer,\n    isFloat ? TokenKind.FLOAT : TokenKind.INT,\n    start,\n    position,\n    body.slice(start, position),\n  );\n}\n/**\n * Returns the new position in the source after reading one or more digits.\n */\n\nfunction readDigits(lexer, start, firstCode) {\n  if (!isDigit(firstCode)) {\n    throw syntaxError(\n      lexer.source,\n      start,\n      `Invalid number, expected digit but got: ${printCodePointAt(\n        lexer,\n        start,\n      )}.`,\n    );\n  }\n\n  const body = lexer.source.body;\n  let position = start + 1; // +1 to skip first firstCode\n\n  while (isDigit(body.charCodeAt(position))) {\n    ++position;\n  }\n\n  return position;\n}\n/**\n * Reads a single-quote string token from the source file.\n *\n * ```\n * StringValue ::\n *   - `\"\"` [lookahead != `\"`]\n *   - `\"` StringCharacter+ `\"`\n *\n * StringCharacter ::\n *   - SourceCharacter but not `\"` or `\\` or LineTerminator\n *   - `\\u` EscapedUnicode\n *   - `\\` EscapedCharacter\n *\n * EscapedUnicode ::\n *   - `{` HexDigit+ `}`\n *   - HexDigit HexDigit HexDigit HexDigit\n *\n * EscapedCharacter :: one of `\"` `\\` `/` `b` `f` `n` `r` `t`\n * ```\n */\n\nfunction readString(lexer, start) {\n  const body = lexer.source.body;\n  const bodyLength = body.length;\n  let position = start + 1;\n  let chunkStart = position;\n  let value = '';\n\n  while (position < bodyLength) {\n    const code = body.charCodeAt(position); // Closing Quote (\")\n\n    if (code === 0x0022) {\n      value += body.slice(chunkStart, position);\n      return createToken(lexer, TokenKind.STRING, start, position + 1, value);\n    } // Escape Sequence (\\)\n\n    if (code === 0x005c) {\n      value += body.slice(chunkStart, position);\n      const escape =\n        body.charCodeAt(position + 1) === 0x0075 // u\n          ? body.charCodeAt(position + 2) === 0x007b // {\n            ? readEscapedUnicodeVariableWidth(lexer, position)\n            : readEscapedUnicodeFixedWidth(lexer, position)\n          : readEscapedCharacter(lexer, position);\n      value += escape.value;\n      position += escape.size;\n      chunkStart = position;\n      continue;\n    } // LineTerminator (\\n | \\r)\n\n    if (code === 0x000a || code === 0x000d) {\n      break;\n    } // SourceCharacter\n\n    if (isUnicodeScalarValue(code)) {\n      ++position;\n    } else if (isSupplementaryCodePoint(body, position)) {\n      position += 2;\n    } else {\n      throw syntaxError(\n        lexer.source,\n        position,\n        `Invalid character within String: ${printCodePointAt(\n          lexer,\n          position,\n        )}.`,\n      );\n    }\n  }\n\n  throw syntaxError(lexer.source, position, 'Unterminated string.');\n} // The string value and lexed size of an escape sequence.\n\nfunction readEscapedUnicodeVariableWidth(lexer, position) {\n  const body = lexer.source.body;\n  let point = 0;\n  let size = 3; // Cannot be larger than 12 chars (\\u{00000000}).\n\n  while (size < 12) {\n    const code = body.charCodeAt(position + size++); // Closing Brace (})\n\n    if (code === 0x007d) {\n      // Must be at least 5 chars (\\u{0}) and encode a Unicode scalar value.\n      if (size < 5 || !isUnicodeScalarValue(point)) {\n        break;\n      }\n\n      return {\n        value: String.fromCodePoint(point),\n        size,\n      };\n    } // Append this hex digit to the code point.\n\n    point = (point << 4) | readHexDigit(code);\n\n    if (point < 0) {\n      break;\n    }\n  }\n\n  throw syntaxError(\n    lexer.source,\n    position,\n    `Invalid Unicode escape sequence: \"${body.slice(\n      position,\n      position + size,\n    )}\".`,\n  );\n}\n\nfunction readEscapedUnicodeFixedWidth(lexer, position) {\n  const body = lexer.source.body;\n  const code = read16BitHexCode(body, position + 2);\n\n  if (isUnicodeScalarValue(code)) {\n    return {\n      value: String.fromCodePoint(code),\n      size: 6,\n    };\n  } // GraphQL allows JSON-style surrogate pair escape sequences, but only when\n  // a valid pair is formed.\n\n  if (isLeadingSurrogate(code)) {\n    // \\u\n    if (\n      body.charCodeAt(position + 6) === 0x005c &&\n      body.charCodeAt(position + 7) === 0x0075\n    ) {\n      const trailingCode = read16BitHexCode(body, position + 8);\n\n      if (isTrailingSurrogate(trailingCode)) {\n        // JavaScript defines strings as a sequence of UTF-16 code units and\n        // encodes Unicode code points above U+FFFF using a surrogate pair of\n        // code units. Since this is a surrogate pair escape sequence, just\n        // include both codes into the JavaScript string value. Had JavaScript\n        // not been internally based on UTF-16, then this surrogate pair would\n        // be decoded to retrieve the supplementary code point.\n        return {\n          value: String.fromCodePoint(code, trailingCode),\n          size: 12,\n        };\n      }\n    }\n  }\n\n  throw syntaxError(\n    lexer.source,\n    position,\n    `Invalid Unicode escape sequence: \"${body.slice(position, position + 6)}\".`,\n  );\n}\n/**\n * Reads four hexadecimal characters and returns the positive integer that 16bit\n * hexadecimal string represents. For example, \"000f\" will return 15, and \"dead\"\n * will return 57005.\n *\n * Returns a negative number if any char was not a valid hexadecimal digit.\n */\n\nfunction read16BitHexCode(body, position) {\n  // readHexDigit() returns -1 on error. ORing a negative value with any other\n  // value always produces a negative value.\n  return (\n    (readHexDigit(body.charCodeAt(position)) << 12) |\n    (readHexDigit(body.charCodeAt(position + 1)) << 8) |\n    (readHexDigit(body.charCodeAt(position + 2)) << 4) |\n    readHexDigit(body.charCodeAt(position + 3))\n  );\n}\n/**\n * Reads a hexadecimal character and returns its positive integer value (0-15).\n *\n * '0' becomes 0, '9' becomes 9\n * 'A' becomes 10, 'F' becomes 15\n * 'a' becomes 10, 'f' becomes 15\n *\n * Returns -1 if the provided character code was not a valid hexadecimal digit.\n *\n * HexDigit :: one of\n *   - `0` `1` `2` `3` `4` `5` `6` `7` `8` `9`\n *   - `A` `B` `C` `D` `E` `F`\n *   - `a` `b` `c` `d` `e` `f`\n */\n\nfunction readHexDigit(code) {\n  return code >= 0x0030 && code <= 0x0039 // 0-9\n    ? code - 0x0030\n    : code >= 0x0041 && code <= 0x0046 // A-F\n    ? code - 0x0037\n    : code >= 0x0061 && code <= 0x0066 // a-f\n    ? code - 0x0057\n    : -1;\n}\n/**\n * | Escaped Character | Code Point | Character Name               |\n * | ----------------- | ---------- | ---------------------------- |\n * | `\"`               | U+0022     | double quote                 |\n * | `\\`               | U+005C     | reverse solidus (back slash) |\n * | `/`               | U+002F     | solidus (forward slash)      |\n * | `b`               | U+0008     | backspace                    |\n * | `f`               | U+000C     | form feed                    |\n * | `n`               | U+000A     | line feed (new line)         |\n * | `r`               | U+000D     | carriage return              |\n * | `t`               | U+0009     | horizontal tab               |\n */\n\nfunction readEscapedCharacter(lexer, position) {\n  const body = lexer.source.body;\n  const code = body.charCodeAt(position + 1);\n\n  switch (code) {\n    case 0x0022:\n      // \"\n      return {\n        value: '\\u0022',\n        size: 2,\n      };\n\n    case 0x005c:\n      // \\\n      return {\n        value: '\\u005c',\n        size: 2,\n      };\n\n    case 0x002f:\n      // /\n      return {\n        value: '\\u002f',\n        size: 2,\n      };\n\n    case 0x0062:\n      // b\n      return {\n        value: '\\u0008',\n        size: 2,\n      };\n\n    case 0x0066:\n      // f\n      return {\n        value: '\\u000c',\n        size: 2,\n      };\n\n    case 0x006e:\n      // n\n      return {\n        value: '\\u000a',\n        size: 2,\n      };\n\n    case 0x0072:\n      // r\n      return {\n        value: '\\u000d',\n        size: 2,\n      };\n\n    case 0x0074:\n      // t\n      return {\n        value: '\\u0009',\n        size: 2,\n      };\n  }\n\n  throw syntaxError(\n    lexer.source,\n    position,\n    `Invalid character escape sequence: \"${body.slice(\n      position,\n      position + 2,\n    )}\".`,\n  );\n}\n/**\n * Reads a block string token from the source file.\n *\n * ```\n * StringValue ::\n *   - `\"\"\"` BlockStringCharacter* `\"\"\"`\n *\n * BlockStringCharacter ::\n *   - SourceCharacter but not `\"\"\"` or `\\\"\"\"`\n *   - `\\\"\"\"`\n * ```\n */\n\nfunction readBlockString(lexer, start) {\n  const body = lexer.source.body;\n  const bodyLength = body.length;\n  let lineStart = lexer.lineStart;\n  let position = start + 3;\n  let chunkStart = position;\n  let currentLine = '';\n  const blockLines = [];\n\n  while (position < bodyLength) {\n    const code = body.charCodeAt(position); // Closing Triple-Quote (\"\"\")\n\n    if (\n      code === 0x0022 &&\n      body.charCodeAt(position + 1) === 0x0022 &&\n      body.charCodeAt(position + 2) === 0x0022\n    ) {\n      currentLine += body.slice(chunkStart, position);\n      blockLines.push(currentLine);\n      const token = createToken(\n        lexer,\n        TokenKind.BLOCK_STRING,\n        start,\n        position + 3, // Return a string of the lines joined with U+000A.\n        dedentBlockStringLines(blockLines).join('\\n'),\n      );\n      lexer.line += blockLines.length - 1;\n      lexer.lineStart = lineStart;\n      return token;\n    } // Escaped Triple-Quote (\\\"\"\")\n\n    if (\n      code === 0x005c &&\n      body.charCodeAt(position + 1) === 0x0022 &&\n      body.charCodeAt(position + 2) === 0x0022 &&\n      body.charCodeAt(position + 3) === 0x0022\n    ) {\n      currentLine += body.slice(chunkStart, position);\n      chunkStart = position + 1; // skip only slash\n\n      position += 4;\n      continue;\n    } // LineTerminator\n\n    if (code === 0x000a || code === 0x000d) {\n      currentLine += body.slice(chunkStart, position);\n      blockLines.push(currentLine);\n\n      if (code === 0x000d && body.charCodeAt(position + 1) === 0x000a) {\n        position += 2;\n      } else {\n        ++position;\n      }\n\n      currentLine = '';\n      chunkStart = position;\n      lineStart = position;\n      continue;\n    } // SourceCharacter\n\n    if (isUnicodeScalarValue(code)) {\n      ++position;\n    } else if (isSupplementaryCodePoint(body, position)) {\n      position += 2;\n    } else {\n      throw syntaxError(\n        lexer.source,\n        position,\n        `Invalid character within String: ${printCodePointAt(\n          lexer,\n          position,\n        )}.`,\n      );\n    }\n  }\n\n  throw syntaxError(lexer.source, position, 'Unterminated string.');\n}\n/**\n * Reads an alphanumeric + underscore name from the source.\n *\n * ```\n * Name ::\n *   - NameStart NameContinue* [lookahead != NameContinue]\n * ```\n */\n\nfunction readName(lexer, start) {\n  const body = lexer.source.body;\n  const bodyLength = body.length;\n  let position = start + 1;\n\n  while (position < bodyLength) {\n    const code = body.charCodeAt(position);\n\n    if (isNameContinue(code)) {\n      ++position;\n    } else {\n      break;\n    }\n  }\n\n  return createToken(\n    lexer,\n    TokenKind.NAME,\n    start,\n    position,\n    body.slice(start, position),\n  );\n}\n","export function devAssert(condition, message) {\n  const booleanCondition = Boolean(condition);\n\n  if (!booleanCondition) {\n    throw new Error(message);\n  }\n}\n","const MAX_ARRAY_LENGTH = 10;\nconst MAX_RECURSIVE_DEPTH = 2;\n/**\n * Used to print values in error messages.\n */\n\nexport function inspect(value) {\n  return formatValue(value, []);\n}\n\nfunction formatValue(value, seenValues) {\n  switch (typeof value) {\n    case 'string':\n      return JSON.stringify(value);\n\n    case 'function':\n      return value.name ? `[function ${value.name}]` : '[function]';\n\n    case 'object':\n      return formatObjectValue(value, seenValues);\n\n    default:\n      return String(value);\n  }\n}\n\nfunction formatObjectValue(value, previouslySeenValues) {\n  if (value === null) {\n    return 'null';\n  }\n\n  if (previouslySeenValues.includes(value)) {\n    return '[Circular]';\n  }\n\n  const seenValues = [...previouslySeenValues, value];\n\n  if (isJSONable(value)) {\n    const jsonValue = value.toJSON(); // check for infinite recursion\n\n    if (jsonValue !== value) {\n      return typeof jsonValue === 'string'\n        ? jsonValue\n        : formatValue(jsonValue, seenValues);\n    }\n  } else if (Array.isArray(value)) {\n    return formatArray(value, seenValues);\n  }\n\n  return formatObject(value, seenValues);\n}\n\nfunction isJSONable(value) {\n  return typeof value.toJSON === 'function';\n}\n\nfunction formatObject(object, seenValues) {\n  const entries = Object.entries(object);\n\n  if (entries.length === 0) {\n    return '{}';\n  }\n\n  if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n    return '[' + getObjectTag(object) + ']';\n  }\n\n  const properties = entries.map(\n    ([key, value]) => key + ': ' + formatValue(value, seenValues),\n  );\n  return '{ ' + properties.join(', ') + ' }';\n}\n\nfunction formatArray(array, seenValues) {\n  if (array.length === 0) {\n    return '[]';\n  }\n\n  if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n    return '[Array]';\n  }\n\n  const len = Math.min(MAX_ARRAY_LENGTH, array.length);\n  const remaining = array.length - len;\n  const items = [];\n\n  for (let i = 0; i < len; ++i) {\n    items.push(formatValue(array[i], seenValues));\n  }\n\n  if (remaining === 1) {\n    items.push('... 1 more item');\n  } else if (remaining > 1) {\n    items.push(`... ${remaining} more items`);\n  }\n\n  return '[' + items.join(', ') + ']';\n}\n\nfunction getObjectTag(object) {\n  const tag = Object.prototype.toString\n    .call(object)\n    .replace(/^\\[object /, '')\n    .replace(/]$/, '');\n\n  if (tag === 'Object' && typeof object.constructor === 'function') {\n    const name = object.constructor.name;\n\n    if (typeof name === 'string' && name !== '') {\n      return name;\n    }\n  }\n\n  return tag;\n}\n","import { inspect } from './inspect.mjs';\n/**\n * A replacement for instanceof which includes an error warning when multi-realm\n * constructors are detected.\n * See: https://expressjs.com/en/advanced/best-practice-performance.html#set-node_env-to-production\n * See: https://webpack.js.org/guides/production/\n */\n\nexport const instanceOf =\n  /* c8 ignore next 6 */\n  // FIXME: https://github.com/graphql/graphql-js/issues/2317\n  globalThis.process && globalThis.process.env.NODE_ENV === 'production'\n    ? function instanceOf(value, constructor) {\n        return value instanceof constructor;\n      }\n    : function instanceOf(value, constructor) {\n        if (value instanceof constructor) {\n          return true;\n        }\n\n        if (typeof value === 'object' && value !== null) {\n          var _value$constructor;\n\n          // Prefer Symbol.toStringTag since it is immune to minification.\n          const className = constructor.prototype[Symbol.toStringTag];\n          const valueClassName = // We still need to support constructor's name to detect conflicts with older versions of this library.\n            Symbol.toStringTag in value // @ts-expect-error TS bug see, https://github.com/microsoft/TypeScript/issues/38009\n              ? value[Symbol.toStringTag]\n              : (_value$constructor = value.constructor) === null ||\n                _value$constructor === void 0\n              ? void 0\n              : _value$constructor.name;\n\n          if (className === valueClassName) {\n            const stringifiedValue = inspect(value);\n            throw new Error(`Cannot use ${className} \"${stringifiedValue}\" from another module or realm.\n\nEnsure that there is only one instance of \"graphql\" in the node_modules\ndirectory. If different versions of \"graphql\" are the dependencies of other\nrelied on modules, use \"resolutions\" to ensure only one version is installed.\n\nhttps://yarnpkg.com/en/docs/selective-version-resolutions\n\nDuplicate \"graphql\" modules cannot be used at the same time since different\nversions may have different capabilities and behavior. The data from one\nversion used in the function from another could produce confusing and\nspurious results.`);\n          }\n        }\n\n        return false;\n      };\n","import { devAssert } from '../jsutils/devAssert.mjs';\nimport { inspect } from '../jsutils/inspect.mjs';\nimport { instanceOf } from '../jsutils/instanceOf.mjs';\n\n/**\n * A representation of source input to GraphQL. The `name` and `locationOffset` parameters are\n * optional, but they are useful for clients who store GraphQL documents in source files.\n * For example, if the GraphQL input starts at line 40 in a file named `Foo.graphql`, it might\n * be useful for `name` to be `\"Foo.graphql\"` and location to be `{ line: 40, column: 1 }`.\n * The `line` and `column` properties in `locationOffset` are 1-indexed.\n */\nexport class Source {\n  constructor(\n    body,\n    name = 'GraphQL request',\n    locationOffset = {\n      line: 1,\n      column: 1,\n    },\n  ) {\n    typeof body === 'string' ||\n      devAssert(false, `Body must be a string. Received: ${inspect(body)}.`);\n    this.body = body;\n    this.name = name;\n    this.locationOffset = locationOffset;\n    this.locationOffset.line > 0 ||\n      devAssert(\n        false,\n        'line in locationOffset is 1-indexed and must be positive.',\n      );\n    this.locationOffset.column > 0 ||\n      devAssert(\n        false,\n        'column in locationOffset is 1-indexed and must be positive.',\n      );\n  }\n\n  get [Symbol.toStringTag]() {\n    return 'Source';\n  }\n}\n/**\n * Test if the given value is a Source object.\n *\n * @internal\n */\n\nexport function isSource(source) {\n  return instanceOf(source, Source);\n}\n","import { syntaxError } from '../error/syntaxError.mjs';\nimport { Location, OperationTypeNode } from './ast.mjs';\nimport { DirectiveLocation } from './directiveLocation.mjs';\nimport { Kind } from './kinds.mjs';\nimport { isPunctuatorTokenKind, Lexer } from './lexer.mjs';\nimport { isSource, Source } from './source.mjs';\nimport { TokenKind } from './tokenKind.mjs';\n/**\n * Configuration options to control parser behavior\n */\n\n/**\n * Given a GraphQL source, parses it into a Document.\n * Throws GraphQLError if a syntax error is encountered.\n */\nexport function parse(source, options) {\n  const parser = new Parser(source, options);\n  return parser.parseDocument();\n}\n/**\n * Given a string containing a GraphQL value (ex. `[42]`), parse the AST for\n * that value.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Values directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: valueFromAST().\n */\n\nexport function parseValue(source, options) {\n  const parser = new Parser(source, options);\n  parser.expectToken(TokenKind.SOF);\n  const value = parser.parseValueLiteral(false);\n  parser.expectToken(TokenKind.EOF);\n  return value;\n}\n/**\n * Similar to parseValue(), but raises a parse error if it encounters a\n * variable. The return type will be a constant value.\n */\n\nexport function parseConstValue(source, options) {\n  const parser = new Parser(source, options);\n  parser.expectToken(TokenKind.SOF);\n  const value = parser.parseConstValueLiteral();\n  parser.expectToken(TokenKind.EOF);\n  return value;\n}\n/**\n * Given a string containing a GraphQL Type (ex. `[Int!]`), parse the AST for\n * that type.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Types directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: typeFromAST().\n */\n\nexport function parseType(source, options) {\n  const parser = new Parser(source, options);\n  parser.expectToken(TokenKind.SOF);\n  const type = parser.parseTypeReference();\n  parser.expectToken(TokenKind.EOF);\n  return type;\n}\n/**\n * This class is exported only to assist people in implementing their own parsers\n * without duplicating too much code and should be used only as last resort for cases\n * such as experimental syntax or if certain features could not be contributed upstream.\n *\n * It is still part of the internal API and is versioned, so any changes to it are never\n * considered breaking changes. If you still need to support multiple versions of the\n * library, please use the `versionInfo` variable for version detection.\n *\n * @internal\n */\n\nexport class Parser {\n  constructor(source, options = {}) {\n    const sourceObj = isSource(source) ? source : new Source(source);\n    this._lexer = new Lexer(sourceObj);\n    this._options = options;\n    this._tokenCounter = 0;\n  }\n  /**\n   * Converts a name lex token into a name parse node.\n   */\n\n  parseName() {\n    const token = this.expectToken(TokenKind.NAME);\n    return this.node(token, {\n      kind: Kind.NAME,\n      value: token.value,\n    });\n  } // Implements the parsing rules in the Document section.\n\n  /**\n   * Document : Definition+\n   */\n\n  parseDocument() {\n    return this.node(this._lexer.token, {\n      kind: Kind.DOCUMENT,\n      definitions: this.many(\n        TokenKind.SOF,\n        this.parseDefinition,\n        TokenKind.EOF,\n      ),\n    });\n  }\n  /**\n   * Definition :\n   *   - ExecutableDefinition\n   *   - TypeSystemDefinition\n   *   - TypeSystemExtension\n   *\n   * ExecutableDefinition :\n   *   - OperationDefinition\n   *   - FragmentDefinition\n   *\n   * TypeSystemDefinition :\n   *   - SchemaDefinition\n   *   - TypeDefinition\n   *   - DirectiveDefinition\n   *\n   * TypeDefinition :\n   *   - ScalarTypeDefinition\n   *   - ObjectTypeDefinition\n   *   - InterfaceTypeDefinition\n   *   - UnionTypeDefinition\n   *   - EnumTypeDefinition\n   *   - InputObjectTypeDefinition\n   */\n\n  parseDefinition() {\n    if (this.peek(TokenKind.BRACE_L)) {\n      return this.parseOperationDefinition();\n    } // Many definitions begin with a description and require a lookahead.\n\n    const hasDescription = this.peekDescription();\n    const keywordToken = hasDescription\n      ? this._lexer.lookahead()\n      : this._lexer.token;\n\n    if (keywordToken.kind === TokenKind.NAME) {\n      switch (keywordToken.value) {\n        case 'schema':\n          return this.parseSchemaDefinition();\n\n        case 'scalar':\n          return this.parseScalarTypeDefinition();\n\n        case 'type':\n          return this.parseObjectTypeDefinition();\n\n        case 'interface':\n          return this.parseInterfaceTypeDefinition();\n\n        case 'union':\n          return this.parseUnionTypeDefinition();\n\n        case 'enum':\n          return this.parseEnumTypeDefinition();\n\n        case 'input':\n          return this.parseInputObjectTypeDefinition();\n\n        case 'directive':\n          return this.parseDirectiveDefinition();\n      }\n\n      if (hasDescription) {\n        throw syntaxError(\n          this._lexer.source,\n          this._lexer.token.start,\n          'Unexpected description, descriptions are supported only on type definitions.',\n        );\n      }\n\n      switch (keywordToken.value) {\n        case 'query':\n        case 'mutation':\n        case 'subscription':\n          return this.parseOperationDefinition();\n\n        case 'fragment':\n          return this.parseFragmentDefinition();\n\n        case 'extend':\n          return this.parseTypeSystemExtension();\n      }\n    }\n\n    throw this.unexpected(keywordToken);\n  } // Implements the parsing rules in the Operations section.\n\n  /**\n   * OperationDefinition :\n   *  - SelectionSet\n   *  - OperationType Name? VariableDefinitions? Directives? SelectionSet\n   */\n\n  parseOperationDefinition() {\n    const start = this._lexer.token;\n\n    if (this.peek(TokenKind.BRACE_L)) {\n      return this.node(start, {\n        kind: Kind.OPERATION_DEFINITION,\n        operation: OperationTypeNode.QUERY,\n        name: undefined,\n        variableDefinitions: [],\n        directives: [],\n        selectionSet: this.parseSelectionSet(),\n      });\n    }\n\n    const operation = this.parseOperationType();\n    let name;\n\n    if (this.peek(TokenKind.NAME)) {\n      name = this.parseName();\n    }\n\n    return this.node(start, {\n      kind: Kind.OPERATION_DEFINITION,\n      operation,\n      name,\n      variableDefinitions: this.parseVariableDefinitions(),\n      directives: this.parseDirectives(false),\n      selectionSet: this.parseSelectionSet(),\n    });\n  }\n  /**\n   * OperationType : one of query mutation subscription\n   */\n\n  parseOperationType() {\n    const operationToken = this.expectToken(TokenKind.NAME);\n\n    switch (operationToken.value) {\n      case 'query':\n        return OperationTypeNode.QUERY;\n\n      case 'mutation':\n        return OperationTypeNode.MUTATION;\n\n      case 'subscription':\n        return OperationTypeNode.SUBSCRIPTION;\n    }\n\n    throw this.unexpected(operationToken);\n  }\n  /**\n   * VariableDefinitions : ( VariableDefinition+ )\n   */\n\n  parseVariableDefinitions() {\n    return this.optionalMany(\n      TokenKind.PAREN_L,\n      this.parseVariableDefinition,\n      TokenKind.PAREN_R,\n    );\n  }\n  /**\n   * VariableDefinition : Variable : Type DefaultValue? Directives[Const]?\n   */\n\n  parseVariableDefinition() {\n    return this.node(this._lexer.token, {\n      kind: Kind.VARIABLE_DEFINITION,\n      variable: this.parseVariable(),\n      type: (this.expectToken(TokenKind.COLON), this.parseTypeReference()),\n      defaultValue: this.expectOptionalToken(TokenKind.EQUALS)\n        ? this.parseConstValueLiteral()\n        : undefined,\n      directives: this.parseConstDirectives(),\n    });\n  }\n  /**\n   * Variable : $ Name\n   */\n\n  parseVariable() {\n    const start = this._lexer.token;\n    this.expectToken(TokenKind.DOLLAR);\n    return this.node(start, {\n      kind: Kind.VARIABLE,\n      name: this.parseName(),\n    });\n  }\n  /**\n   * ```\n   * SelectionSet : { Selection+ }\n   * ```\n   */\n\n  parseSelectionSet() {\n    return this.node(this._lexer.token, {\n      kind: Kind.SELECTION_SET,\n      selections: this.many(\n        TokenKind.BRACE_L,\n        this.parseSelection,\n        TokenKind.BRACE_R,\n      ),\n    });\n  }\n  /**\n   * Selection :\n   *   - Field\n   *   - FragmentSpread\n   *   - InlineFragment\n   */\n\n  parseSelection() {\n    return this.peek(TokenKind.SPREAD)\n      ? this.parseFragment()\n      : this.parseField();\n  }\n  /**\n   * Field : Alias? Name Arguments? Directives? SelectionSet?\n   *\n   * Alias : Name :\n   */\n\n  parseField() {\n    const start = this._lexer.token;\n    const nameOrAlias = this.parseName();\n    let alias;\n    let name;\n\n    if (this.expectOptionalToken(TokenKind.COLON)) {\n      alias = nameOrAlias;\n      name = this.parseName();\n    } else {\n      name = nameOrAlias;\n    }\n\n    return this.node(start, {\n      kind: Kind.FIELD,\n      alias,\n      name,\n      arguments: this.parseArguments(false),\n      directives: this.parseDirectives(false),\n      selectionSet: this.peek(TokenKind.BRACE_L)\n        ? this.parseSelectionSet()\n        : undefined,\n    });\n  }\n  /**\n   * Arguments[Const] : ( Argument[?Const]+ )\n   */\n\n  parseArguments(isConst) {\n    const item = isConst ? this.parseConstArgument : this.parseArgument;\n    return this.optionalMany(TokenKind.PAREN_L, item, TokenKind.PAREN_R);\n  }\n  /**\n   * Argument[Const] : Name : Value[?Const]\n   */\n\n  parseArgument(isConst = false) {\n    const start = this._lexer.token;\n    const name = this.parseName();\n    this.expectToken(TokenKind.COLON);\n    return this.node(start, {\n      kind: Kind.ARGUMENT,\n      name,\n      value: this.parseValueLiteral(isConst),\n    });\n  }\n\n  parseConstArgument() {\n    return this.parseArgument(true);\n  } // Implements the parsing rules in the Fragments section.\n\n  /**\n   * Corresponds to both FragmentSpread and InlineFragment in the spec.\n   *\n   * FragmentSpread : ... FragmentName Directives?\n   *\n   * InlineFragment : ... TypeCondition? Directives? SelectionSet\n   */\n\n  parseFragment() {\n    const start = this._lexer.token;\n    this.expectToken(TokenKind.SPREAD);\n    const hasTypeCondition = this.expectOptionalKeyword('on');\n\n    if (!hasTypeCondition && this.peek(TokenKind.NAME)) {\n      return this.node(start, {\n        kind: Kind.FRAGMENT_SPREAD,\n        name: this.parseFragmentName(),\n        directives: this.parseDirectives(false),\n      });\n    }\n\n    return this.node(start, {\n      kind: Kind.INLINE_FRAGMENT,\n      typeCondition: hasTypeCondition ? this.parseNamedType() : undefined,\n      directives: this.parseDirectives(false),\n      selectionSet: this.parseSelectionSet(),\n    });\n  }\n  /**\n   * FragmentDefinition :\n   *   - fragment FragmentName on TypeCondition Directives? SelectionSet\n   *\n   * TypeCondition : NamedType\n   */\n\n  parseFragmentDefinition() {\n    const start = this._lexer.token;\n    this.expectKeyword('fragment'); // Legacy support for defining variables within fragments changes\n    // the grammar of FragmentDefinition:\n    //   - fragment FragmentName VariableDefinitions? on TypeCondition Directives? SelectionSet\n\n    if (this._options.allowLegacyFragmentVariables === true) {\n      return this.node(start, {\n        kind: Kind.FRAGMENT_DEFINITION,\n        name: this.parseFragmentName(),\n        variableDefinitions: this.parseVariableDefinitions(),\n        typeCondition: (this.expectKeyword('on'), this.parseNamedType()),\n        directives: this.parseDirectives(false),\n        selectionSet: this.parseSelectionSet(),\n      });\n    }\n\n    return this.node(start, {\n      kind: Kind.FRAGMENT_DEFINITION,\n      name: this.parseFragmentName(),\n      typeCondition: (this.expectKeyword('on'), this.parseNamedType()),\n      directives: this.parseDirectives(false),\n      selectionSet: this.parseSelectionSet(),\n    });\n  }\n  /**\n   * FragmentName : Name but not `on`\n   */\n\n  parseFragmentName() {\n    if (this._lexer.token.value === 'on') {\n      throw this.unexpected();\n    }\n\n    return this.parseName();\n  } // Implements the parsing rules in the Values section.\n\n  /**\n   * Value[Const] :\n   *   - [~Const] Variable\n   *   - IntValue\n   *   - FloatValue\n   *   - StringValue\n   *   - BooleanValue\n   *   - NullValue\n   *   - EnumValue\n   *   - ListValue[?Const]\n   *   - ObjectValue[?Const]\n   *\n   * BooleanValue : one of `true` `false`\n   *\n   * NullValue : `null`\n   *\n   * EnumValue : Name but not `true`, `false` or `null`\n   */\n\n  parseValueLiteral(isConst) {\n    const token = this._lexer.token;\n\n    switch (token.kind) {\n      case TokenKind.BRACKET_L:\n        return this.parseList(isConst);\n\n      case TokenKind.BRACE_L:\n        return this.parseObject(isConst);\n\n      case TokenKind.INT:\n        this.advanceLexer();\n        return this.node(token, {\n          kind: Kind.INT,\n          value: token.value,\n        });\n\n      case TokenKind.FLOAT:\n        this.advanceLexer();\n        return this.node(token, {\n          kind: Kind.FLOAT,\n          value: token.value,\n        });\n\n      case TokenKind.STRING:\n      case TokenKind.BLOCK_STRING:\n        return this.parseStringLiteral();\n\n      case TokenKind.NAME:\n        this.advanceLexer();\n\n        switch (token.value) {\n          case 'true':\n            return this.node(token, {\n              kind: Kind.BOOLEAN,\n              value: true,\n            });\n\n          case 'false':\n            return this.node(token, {\n              kind: Kind.BOOLEAN,\n              value: false,\n            });\n\n          case 'null':\n            return this.node(token, {\n              kind: Kind.NULL,\n            });\n\n          default:\n            return this.node(token, {\n              kind: Kind.ENUM,\n              value: token.value,\n            });\n        }\n\n      case TokenKind.DOLLAR:\n        if (isConst) {\n          this.expectToken(TokenKind.DOLLAR);\n\n          if (this._lexer.token.kind === TokenKind.NAME) {\n            const varName = this._lexer.token.value;\n            throw syntaxError(\n              this._lexer.source,\n              token.start,\n              `Unexpected variable \"$${varName}\" in constant value.`,\n            );\n          } else {\n            throw this.unexpected(token);\n          }\n        }\n\n        return this.parseVariable();\n\n      default:\n        throw this.unexpected();\n    }\n  }\n\n  parseConstValueLiteral() {\n    return this.parseValueLiteral(true);\n  }\n\n  parseStringLiteral() {\n    const token = this._lexer.token;\n    this.advanceLexer();\n    return this.node(token, {\n      kind: Kind.STRING,\n      value: token.value,\n      block: token.kind === TokenKind.BLOCK_STRING,\n    });\n  }\n  /**\n   * ListValue[Const] :\n   *   - [ ]\n   *   - [ Value[?Const]+ ]\n   */\n\n  parseList(isConst) {\n    const item = () => this.parseValueLiteral(isConst);\n\n    return this.node(this._lexer.token, {\n      kind: Kind.LIST,\n      values: this.any(TokenKind.BRACKET_L, item, TokenKind.BRACKET_R),\n    });\n  }\n  /**\n   * ```\n   * ObjectValue[Const] :\n   *   - { }\n   *   - { ObjectField[?Const]+ }\n   * ```\n   */\n\n  parseObject(isConst) {\n    const item = () => this.parseObjectField(isConst);\n\n    return this.node(this._lexer.token, {\n      kind: Kind.OBJECT,\n      fields: this.any(TokenKind.BRACE_L, item, TokenKind.BRACE_R),\n    });\n  }\n  /**\n   * ObjectField[Const] : Name : Value[?Const]\n   */\n\n  parseObjectField(isConst) {\n    const start = this._lexer.token;\n    const name = this.parseName();\n    this.expectToken(TokenKind.COLON);\n    return this.node(start, {\n      kind: Kind.OBJECT_FIELD,\n      name,\n      value: this.parseValueLiteral(isConst),\n    });\n  } // Implements the parsing rules in the Directives section.\n\n  /**\n   * Directives[Const] : Directive[?Const]+\n   */\n\n  parseDirectives(isConst) {\n    const directives = [];\n\n    while (this.peek(TokenKind.AT)) {\n      directives.push(this.parseDirective(isConst));\n    }\n\n    return directives;\n  }\n\n  parseConstDirectives() {\n    return this.parseDirectives(true);\n  }\n  /**\n   * ```\n   * Directive[Const] : @ Name Arguments[?Const]?\n   * ```\n   */\n\n  parseDirective(isConst) {\n    const start = this._lexer.token;\n    this.expectToken(TokenKind.AT);\n    return this.node(start, {\n      kind: Kind.DIRECTIVE,\n      name: this.parseName(),\n      arguments: this.parseArguments(isConst),\n    });\n  } // Implements the parsing rules in the Types section.\n\n  /**\n   * Type :\n   *   - NamedType\n   *   - ListType\n   *   - NonNullType\n   */\n\n  parseTypeReference() {\n    const start = this._lexer.token;\n    let type;\n\n    if (this.expectOptionalToken(TokenKind.BRACKET_L)) {\n      const innerType = this.parseTypeReference();\n      this.expectToken(TokenKind.BRACKET_R);\n      type = this.node(start, {\n        kind: Kind.LIST_TYPE,\n        type: innerType,\n      });\n    } else {\n      type = this.parseNamedType();\n    }\n\n    if (this.expectOptionalToken(TokenKind.BANG)) {\n      return this.node(start, {\n        kind: Kind.NON_NULL_TYPE,\n        type,\n      });\n    }\n\n    return type;\n  }\n  /**\n   * NamedType : Name\n   */\n\n  parseNamedType() {\n    return this.node(this._lexer.token, {\n      kind: Kind.NAMED_TYPE,\n      name: this.parseName(),\n    });\n  } // Implements the parsing rules in the Type Definition section.\n\n  peekDescription() {\n    return this.peek(TokenKind.STRING) || this.peek(TokenKind.BLOCK_STRING);\n  }\n  /**\n   * Description : StringValue\n   */\n\n  parseDescription() {\n    if (this.peekDescription()) {\n      return this.parseStringLiteral();\n    }\n  }\n  /**\n   * ```\n   * SchemaDefinition : Description? schema Directives[Const]? { OperationTypeDefinition+ }\n   * ```\n   */\n\n  parseSchemaDefinition() {\n    const start = this._lexer.token;\n    const description = this.parseDescription();\n    this.expectKeyword('schema');\n    const directives = this.parseConstDirectives();\n    const operationTypes = this.many(\n      TokenKind.BRACE_L,\n      this.parseOperationTypeDefinition,\n      TokenKind.BRACE_R,\n    );\n    return this.node(start, {\n      kind: Kind.SCHEMA_DEFINITION,\n      description,\n      directives,\n      operationTypes,\n    });\n  }\n  /**\n   * OperationTypeDefinition : OperationType : NamedType\n   */\n\n  parseOperationTypeDefinition() {\n    const start = this._lexer.token;\n    const operation = this.parseOperationType();\n    this.expectToken(TokenKind.COLON);\n    const type = this.parseNamedType();\n    return this.node(start, {\n      kind: Kind.OPERATION_TYPE_DEFINITION,\n      operation,\n      type,\n    });\n  }\n  /**\n   * ScalarTypeDefinition : Description? scalar Name Directives[Const]?\n   */\n\n  parseScalarTypeDefinition() {\n    const start = this._lexer.token;\n    const description = this.parseDescription();\n    this.expectKeyword('scalar');\n    const name = this.parseName();\n    const directives = this.parseConstDirectives();\n    return this.node(start, {\n      kind: Kind.SCALAR_TYPE_DEFINITION,\n      description,\n      name,\n      directives,\n    });\n  }\n  /**\n   * ObjectTypeDefinition :\n   *   Description?\n   *   type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition?\n   */\n\n  parseObjectTypeDefinition() {\n    const start = this._lexer.token;\n    const description = this.parseDescription();\n    this.expectKeyword('type');\n    const name = this.parseName();\n    const interfaces = this.parseImplementsInterfaces();\n    const directives = this.parseConstDirectives();\n    const fields = this.parseFieldsDefinition();\n    return this.node(start, {\n      kind: Kind.OBJECT_TYPE_DEFINITION,\n      description,\n      name,\n      interfaces,\n      directives,\n      fields,\n    });\n  }\n  /**\n   * ImplementsInterfaces :\n   *   - implements `&`? NamedType\n   *   - ImplementsInterfaces & NamedType\n   */\n\n  parseImplementsInterfaces() {\n    return this.expectOptionalKeyword('implements')\n      ? this.delimitedMany(TokenKind.AMP, this.parseNamedType)\n      : [];\n  }\n  /**\n   * ```\n   * FieldsDefinition : { FieldDefinition+ }\n   * ```\n   */\n\n  parseFieldsDefinition() {\n    return this.optionalMany(\n      TokenKind.BRACE_L,\n      this.parseFieldDefinition,\n      TokenKind.BRACE_R,\n    );\n  }\n  /**\n   * FieldDefinition :\n   *   - Description? Name ArgumentsDefinition? : Type Directives[Const]?\n   */\n\n  parseFieldDefinition() {\n    const start = this._lexer.token;\n    const description = this.parseDescription();\n    const name = this.parseName();\n    const args = this.parseArgumentDefs();\n    this.expectToken(TokenKind.COLON);\n    const type = this.parseTypeReference();\n    const directives = this.parseConstDirectives();\n    return this.node(start, {\n      kind: Kind.FIELD_DEFINITION,\n      description,\n      name,\n      arguments: args,\n      type,\n      directives,\n    });\n  }\n  /**\n   * ArgumentsDefinition : ( InputValueDefinition+ )\n   */\n\n  parseArgumentDefs() {\n    return this.optionalMany(\n      TokenKind.PAREN_L,\n      this.parseInputValueDef,\n      TokenKind.PAREN_R,\n    );\n  }\n  /**\n   * InputValueDefinition :\n   *   - Description? Name : Type DefaultValue? Directives[Const]?\n   */\n\n  parseInputValueDef() {\n    const start = this._lexer.token;\n    const description = this.parseDescription();\n    const name = this.parseName();\n    this.expectToken(TokenKind.COLON);\n    const type = this.parseTypeReference();\n    let defaultValue;\n\n    if (this.expectOptionalToken(TokenKind.EQUALS)) {\n      defaultValue = this.parseConstValueLiteral();\n    }\n\n    const directives = this.parseConstDirectives();\n    return this.node(start, {\n      kind: Kind.INPUT_VALUE_DEFINITION,\n      description,\n      name,\n      type,\n      defaultValue,\n      directives,\n    });\n  }\n  /**\n   * InterfaceTypeDefinition :\n   *   - Description? interface Name Directives[Const]? FieldsDefinition?\n   */\n\n  parseInterfaceTypeDefinition() {\n    const start = this._lexer.token;\n    const description = this.parseDescription();\n    this.expectKeyword('interface');\n    const name = this.parseName();\n    const interfaces = this.parseImplementsInterfaces();\n    const directives = this.parseConstDirectives();\n    const fields = this.parseFieldsDefinition();\n    return this.node(start, {\n      kind: Kind.INTERFACE_TYPE_DEFINITION,\n      description,\n      name,\n      interfaces,\n      directives,\n      fields,\n    });\n  }\n  /**\n   * UnionTypeDefinition :\n   *   - Description? union Name Directives[Const]? UnionMemberTypes?\n   */\n\n  parseUnionTypeDefinition() {\n    const start = this._lexer.token;\n    const description = this.parseDescription();\n    this.expectKeyword('union');\n    const name = this.parseName();\n    const directives = this.parseConstDirectives();\n    const types = this.parseUnionMemberTypes();\n    return this.node(start, {\n      kind: Kind.UNION_TYPE_DEFINITION,\n      description,\n      name,\n      directives,\n      types,\n    });\n  }\n  /**\n   * UnionMemberTypes :\n   *   - = `|`? NamedType\n   *   - UnionMemberTypes | NamedType\n   */\n\n  parseUnionMemberTypes() {\n    return this.expectOptionalToken(TokenKind.EQUALS)\n      ? this.delimitedMany(TokenKind.PIPE, this.parseNamedType)\n      : [];\n  }\n  /**\n   * EnumTypeDefinition :\n   *   - Description? enum Name Directives[Const]? EnumValuesDefinition?\n   */\n\n  parseEnumTypeDefinition() {\n    const start = this._lexer.token;\n    const description = this.parseDescription();\n    this.expectKeyword('enum');\n    const name = this.parseName();\n    const directives = this.parseConstDirectives();\n    const values = this.parseEnumValuesDefinition();\n    return this.node(start, {\n      kind: Kind.ENUM_TYPE_DEFINITION,\n      description,\n      name,\n      directives,\n      values,\n    });\n  }\n  /**\n   * ```\n   * EnumValuesDefinition : { EnumValueDefinition+ }\n   * ```\n   */\n\n  parseEnumValuesDefinition() {\n    return this.optionalMany(\n      TokenKind.BRACE_L,\n      this.parseEnumValueDefinition,\n      TokenKind.BRACE_R,\n    );\n  }\n  /**\n   * EnumValueDefinition : Description? EnumValue Directives[Const]?\n   */\n\n  parseEnumValueDefinition() {\n    const start = this._lexer.token;\n    const description = this.parseDescription();\n    const name = this.parseEnumValueName();\n    const directives = this.parseConstDirectives();\n    return this.node(start, {\n      kind: Kind.ENUM_VALUE_DEFINITION,\n      description,\n      name,\n      directives,\n    });\n  }\n  /**\n   * EnumValue : Name but not `true`, `false` or `null`\n   */\n\n  parseEnumValueName() {\n    if (\n      this._lexer.token.value === 'true' ||\n      this._lexer.token.value === 'false' ||\n      this._lexer.token.value === 'null'\n    ) {\n      throw syntaxError(\n        this._lexer.source,\n        this._lexer.token.start,\n        `${getTokenDesc(\n          this._lexer.token,\n        )} is reserved and cannot be used for an enum value.`,\n      );\n    }\n\n    return this.parseName();\n  }\n  /**\n   * InputObjectTypeDefinition :\n   *   - Description? input Name Directives[Const]? InputFieldsDefinition?\n   */\n\n  parseInputObjectTypeDefinition() {\n    const start = this._lexer.token;\n    const description = this.parseDescription();\n    this.expectKeyword('input');\n    const name = this.parseName();\n    const directives = this.parseConstDirectives();\n    const fields = this.parseInputFieldsDefinition();\n    return this.node(start, {\n      kind: Kind.INPUT_OBJECT_TYPE_DEFINITION,\n      description,\n      name,\n      directives,\n      fields,\n    });\n  }\n  /**\n   * ```\n   * InputFieldsDefinition : { InputValueDefinition+ }\n   * ```\n   */\n\n  parseInputFieldsDefinition() {\n    return this.optionalMany(\n      TokenKind.BRACE_L,\n      this.parseInputValueDef,\n      TokenKind.BRACE_R,\n    );\n  }\n  /**\n   * TypeSystemExtension :\n   *   - SchemaExtension\n   *   - TypeExtension\n   *\n   * TypeExtension :\n   *   - ScalarTypeExtension\n   *   - ObjectTypeExtension\n   *   - InterfaceTypeExtension\n   *   - UnionTypeExtension\n   *   - EnumTypeExtension\n   *   - InputObjectTypeDefinition\n   */\n\n  parseTypeSystemExtension() {\n    const keywordToken = this._lexer.lookahead();\n\n    if (keywordToken.kind === TokenKind.NAME) {\n      switch (keywordToken.value) {\n        case 'schema':\n          return this.parseSchemaExtension();\n\n        case 'scalar':\n          return this.parseScalarTypeExtension();\n\n        case 'type':\n          return this.parseObjectTypeExtension();\n\n        case 'interface':\n          return this.parseInterfaceTypeExtension();\n\n        case 'union':\n          return this.parseUnionTypeExtension();\n\n        case 'enum':\n          return this.parseEnumTypeExtension();\n\n        case 'input':\n          return this.parseInputObjectTypeExtension();\n      }\n    }\n\n    throw this.unexpected(keywordToken);\n  }\n  /**\n   * ```\n   * SchemaExtension :\n   *  - extend schema Directives[Const]? { OperationTypeDefinition+ }\n   *  - extend schema Directives[Const]\n   * ```\n   */\n\n  parseSchemaExtension() {\n    const start = this._lexer.token;\n    this.expectKeyword('extend');\n    this.expectKeyword('schema');\n    const directives = this.parseConstDirectives();\n    const operationTypes = this.optionalMany(\n      TokenKind.BRACE_L,\n      this.parseOperationTypeDefinition,\n      TokenKind.BRACE_R,\n    );\n\n    if (directives.length === 0 && operationTypes.length === 0) {\n      throw this.unexpected();\n    }\n\n    return this.node(start, {\n      kind: Kind.SCHEMA_EXTENSION,\n      directives,\n      operationTypes,\n    });\n  }\n  /**\n   * ScalarTypeExtension :\n   *   - extend scalar Name Directives[Const]\n   */\n\n  parseScalarTypeExtension() {\n    const start = this._lexer.token;\n    this.expectKeyword('extend');\n    this.expectKeyword('scalar');\n    const name = this.parseName();\n    const directives = this.parseConstDirectives();\n\n    if (directives.length === 0) {\n      throw this.unexpected();\n    }\n\n    return this.node(start, {\n      kind: Kind.SCALAR_TYPE_EXTENSION,\n      name,\n      directives,\n    });\n  }\n  /**\n   * ObjectTypeExtension :\n   *  - extend type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition\n   *  - extend type Name ImplementsInterfaces? Directives[Const]\n   *  - extend type Name ImplementsInterfaces\n   */\n\n  parseObjectTypeExtension() {\n    const start = this._lexer.token;\n    this.expectKeyword('extend');\n    this.expectKeyword('type');\n    const name = this.parseName();\n    const interfaces = this.parseImplementsInterfaces();\n    const directives = this.parseConstDirectives();\n    const fields = this.parseFieldsDefinition();\n\n    if (\n      interfaces.length === 0 &&\n      directives.length === 0 &&\n      fields.length === 0\n    ) {\n      throw this.unexpected();\n    }\n\n    return this.node(start, {\n      kind: Kind.OBJECT_TYPE_EXTENSION,\n      name,\n      interfaces,\n      directives,\n      fields,\n    });\n  }\n  /**\n   * InterfaceTypeExtension :\n   *  - extend interface Name ImplementsInterfaces? Directives[Const]? FieldsDefinition\n   *  - extend interface Name ImplementsInterfaces? Directives[Const]\n   *  - extend interface Name ImplementsInterfaces\n   */\n\n  parseInterfaceTypeExtension() {\n    const start = this._lexer.token;\n    this.expectKeyword('extend');\n    this.expectKeyword('interface');\n    const name = this.parseName();\n    const interfaces = this.parseImplementsInterfaces();\n    const directives = this.parseConstDirectives();\n    const fields = this.parseFieldsDefinition();\n\n    if (\n      interfaces.length === 0 &&\n      directives.length === 0 &&\n      fields.length === 0\n    ) {\n      throw this.unexpected();\n    }\n\n    return this.node(start, {\n      kind: Kind.INTERFACE_TYPE_EXTENSION,\n      name,\n      interfaces,\n      directives,\n      fields,\n    });\n  }\n  /**\n   * UnionTypeExtension :\n   *   - extend union Name Directives[Const]? UnionMemberTypes\n   *   - extend union Name Directives[Const]\n   */\n\n  parseUnionTypeExtension() {\n    const start = this._lexer.token;\n    this.expectKeyword('extend');\n    this.expectKeyword('union');\n    const name = this.parseName();\n    const directives = this.parseConstDirectives();\n    const types = this.parseUnionMemberTypes();\n\n    if (directives.length === 0 && types.length === 0) {\n      throw this.unexpected();\n    }\n\n    return this.node(start, {\n      kind: Kind.UNION_TYPE_EXTENSION,\n      name,\n      directives,\n      types,\n    });\n  }\n  /**\n   * EnumTypeExtension :\n   *   - extend enum Name Directives[Const]? EnumValuesDefinition\n   *   - extend enum Name Directives[Const]\n   */\n\n  parseEnumTypeExtension() {\n    const start = this._lexer.token;\n    this.expectKeyword('extend');\n    this.expectKeyword('enum');\n    const name = this.parseName();\n    const directives = this.parseConstDirectives();\n    const values = this.parseEnumValuesDefinition();\n\n    if (directives.length === 0 && values.length === 0) {\n      throw this.unexpected();\n    }\n\n    return this.node(start, {\n      kind: Kind.ENUM_TYPE_EXTENSION,\n      name,\n      directives,\n      values,\n    });\n  }\n  /**\n   * InputObjectTypeExtension :\n   *   - extend input Name Directives[Const]? InputFieldsDefinition\n   *   - extend input Name Directives[Const]\n   */\n\n  parseInputObjectTypeExtension() {\n    const start = this._lexer.token;\n    this.expectKeyword('extend');\n    this.expectKeyword('input');\n    const name = this.parseName();\n    const directives = this.parseConstDirectives();\n    const fields = this.parseInputFieldsDefinition();\n\n    if (directives.length === 0 && fields.length === 0) {\n      throw this.unexpected();\n    }\n\n    return this.node(start, {\n      kind: Kind.INPUT_OBJECT_TYPE_EXTENSION,\n      name,\n      directives,\n      fields,\n    });\n  }\n  /**\n   * ```\n   * DirectiveDefinition :\n   *   - Description? directive @ Name ArgumentsDefinition? `repeatable`? on DirectiveLocations\n   * ```\n   */\n\n  parseDirectiveDefinition() {\n    const start = this._lexer.token;\n    const description = this.parseDescription();\n    this.expectKeyword('directive');\n    this.expectToken(TokenKind.AT);\n    const name = this.parseName();\n    const args = this.parseArgumentDefs();\n    const repeatable = this.expectOptionalKeyword('repeatable');\n    this.expectKeyword('on');\n    const locations = this.parseDirectiveLocations();\n    return this.node(start, {\n      kind: Kind.DIRECTIVE_DEFINITION,\n      description,\n      name,\n      arguments: args,\n      repeatable,\n      locations,\n    });\n  }\n  /**\n   * DirectiveLocations :\n   *   - `|`? DirectiveLocation\n   *   - DirectiveLocations | DirectiveLocation\n   */\n\n  parseDirectiveLocations() {\n    return this.delimitedMany(TokenKind.PIPE, this.parseDirectiveLocation);\n  }\n  /*\n   * DirectiveLocation :\n   *   - ExecutableDirectiveLocation\n   *   - TypeSystemDirectiveLocation\n   *\n   * ExecutableDirectiveLocation : one of\n   *   `QUERY`\n   *   `MUTATION`\n   *   `SUBSCRIPTION`\n   *   `FIELD`\n   *   `FRAGMENT_DEFINITION`\n   *   `FRAGMENT_SPREAD`\n   *   `INLINE_FRAGMENT`\n   *\n   * TypeSystemDirectiveLocation : one of\n   *   `SCHEMA`\n   *   `SCALAR`\n   *   `OBJECT`\n   *   `FIELD_DEFINITION`\n   *   `ARGUMENT_DEFINITION`\n   *   `INTERFACE`\n   *   `UNION`\n   *   `ENUM`\n   *   `ENUM_VALUE`\n   *   `INPUT_OBJECT`\n   *   `INPUT_FIELD_DEFINITION`\n   */\n\n  parseDirectiveLocation() {\n    const start = this._lexer.token;\n    const name = this.parseName();\n\n    if (Object.prototype.hasOwnProperty.call(DirectiveLocation, name.value)) {\n      return name;\n    }\n\n    throw this.unexpected(start);\n  } // Core parsing utility functions\n\n  /**\n   * Returns a node that, if configured to do so, sets a \"loc\" field as a\n   * location object, used to identify the place in the source that created a\n   * given parsed object.\n   */\n\n  node(startToken, node) {\n    if (this._options.noLocation !== true) {\n      node.loc = new Location(\n        startToken,\n        this._lexer.lastToken,\n        this._lexer.source,\n      );\n    }\n\n    return node;\n  }\n  /**\n   * Determines if the next token is of a given kind\n   */\n\n  peek(kind) {\n    return this._lexer.token.kind === kind;\n  }\n  /**\n   * If the next token is of the given kind, return that token after advancing the lexer.\n   * Otherwise, do not change the parser state and throw an error.\n   */\n\n  expectToken(kind) {\n    const token = this._lexer.token;\n\n    if (token.kind === kind) {\n      this.advanceLexer();\n      return token;\n    }\n\n    throw syntaxError(\n      this._lexer.source,\n      token.start,\n      `Expected ${getTokenKindDesc(kind)}, found ${getTokenDesc(token)}.`,\n    );\n  }\n  /**\n   * If the next token is of the given kind, return \"true\" after advancing the lexer.\n   * Otherwise, do not change the parser state and return \"false\".\n   */\n\n  expectOptionalToken(kind) {\n    const token = this._lexer.token;\n\n    if (token.kind === kind) {\n      this.advanceLexer();\n      return true;\n    }\n\n    return false;\n  }\n  /**\n   * If the next token is a given keyword, advance the lexer.\n   * Otherwise, do not change the parser state and throw an error.\n   */\n\n  expectKeyword(value) {\n    const token = this._lexer.token;\n\n    if (token.kind === TokenKind.NAME && token.value === value) {\n      this.advanceLexer();\n    } else {\n      throw syntaxError(\n        this._lexer.source,\n        token.start,\n        `Expected \"${value}\", found ${getTokenDesc(token)}.`,\n      );\n    }\n  }\n  /**\n   * If the next token is a given keyword, return \"true\" after advancing the lexer.\n   * Otherwise, do not change the parser state and return \"false\".\n   */\n\n  expectOptionalKeyword(value) {\n    const token = this._lexer.token;\n\n    if (token.kind === TokenKind.NAME && token.value === value) {\n      this.advanceLexer();\n      return true;\n    }\n\n    return false;\n  }\n  /**\n   * Helper function for creating an error when an unexpected lexed token is encountered.\n   */\n\n  unexpected(atToken) {\n    const token =\n      atToken !== null && atToken !== void 0 ? atToken : this._lexer.token;\n    return syntaxError(\n      this._lexer.source,\n      token.start,\n      `Unexpected ${getTokenDesc(token)}.`,\n    );\n  }\n  /**\n   * Returns a possibly empty list of parse nodes, determined by the parseFn.\n   * This list begins with a lex token of openKind and ends with a lex token of closeKind.\n   * Advances the parser to the next lex token after the closing token.\n   */\n\n  any(openKind, parseFn, closeKind) {\n    this.expectToken(openKind);\n    const nodes = [];\n\n    while (!this.expectOptionalToken(closeKind)) {\n      nodes.push(parseFn.call(this));\n    }\n\n    return nodes;\n  }\n  /**\n   * Returns a list of parse nodes, determined by the parseFn.\n   * It can be empty only if open token is missing otherwise it will always return non-empty list\n   * that begins with a lex token of openKind and ends with a lex token of closeKind.\n   * Advances the parser to the next lex token after the closing token.\n   */\n\n  optionalMany(openKind, parseFn, closeKind) {\n    if (this.expectOptionalToken(openKind)) {\n      const nodes = [];\n\n      do {\n        nodes.push(parseFn.call(this));\n      } while (!this.expectOptionalToken(closeKind));\n\n      return nodes;\n    }\n\n    return [];\n  }\n  /**\n   * Returns a non-empty list of parse nodes, determined by the parseFn.\n   * This list begins with a lex token of openKind and ends with a lex token of closeKind.\n   * Advances the parser to the next lex token after the closing token.\n   */\n\n  many(openKind, parseFn, closeKind) {\n    this.expectToken(openKind);\n    const nodes = [];\n\n    do {\n      nodes.push(parseFn.call(this));\n    } while (!this.expectOptionalToken(closeKind));\n\n    return nodes;\n  }\n  /**\n   * Returns a non-empty list of parse nodes, determined by the parseFn.\n   * This list may begin with a lex token of delimiterKind followed by items separated by lex tokens of tokenKind.\n   * Advances the parser to the next lex token after last item in the list.\n   */\n\n  delimitedMany(delimiterKind, parseFn) {\n    this.expectOptionalToken(delimiterKind);\n    const nodes = [];\n\n    do {\n      nodes.push(parseFn.call(this));\n    } while (this.expectOptionalToken(delimiterKind));\n\n    return nodes;\n  }\n\n  advanceLexer() {\n    const { maxTokens } = this._options;\n\n    const token = this._lexer.advance();\n\n    if (maxTokens !== undefined && token.kind !== TokenKind.EOF) {\n      ++this._tokenCounter;\n\n      if (this._tokenCounter > maxTokens) {\n        throw syntaxError(\n          this._lexer.source,\n          token.start,\n          `Document contains more that ${maxTokens} tokens. Parsing aborted.`,\n        );\n      }\n    }\n  }\n}\n/**\n * A helper function to describe a token as a string for debugging.\n */\n\nfunction getTokenDesc(token) {\n  const value = token.value;\n  return getTokenKindDesc(token.kind) + (value != null ? ` \"${value}\"` : '');\n}\n/**\n * A helper function to describe a token kind as a string for debugging.\n */\n\nfunction getTokenKindDesc(kind) {\n  return isPunctuatorTokenKind(kind) ? `\"${kind}\"` : kind;\n}\n",null,"import gql from 'graphql-tag';\nimport replaceQueryTemplateVariables from './replaceQueryTemplateVariables';\nimport addQueryNameToGraphQLDocument from './addQueryNameToGraphQLDocument';\nimport addDomainContextToGraphQLDocument from './addDomainContextToGraphQLDocument';\n\nexport function createGraphQLDocument(query = '') {\n\treturn gql(query);\n}\n\nexport function getGraphQLDocument(query, templateVars, domainContext, operationName) {\n\tconst updatedQuery = replaceQueryTemplateVariables(query, templateVars);\n\treturn addQueryNameToGraphQLDocument(\n\t\taddDomainContextToGraphQLDocument(createGraphQLDocument(updatedQuery), domainContext),\n\t\toperationName\n\t);\n}\n","/**\n * addQueryNameToGraphQLDocument\n * Add name to query document\n *\n * @param document\n * @param queryName\n * @returns {*}\n */\nexport default function addQueryNameToGraphQLDocument(document, queryName) {\n\treturn {\n\t\t...document,\n\t\tdefinitions: document.definitions.map(def => ({\n\t\t\t...def,\n\t\t\t...addIf(isQueryOrMutationOperation(def), {name: {kind: 'Name', value: queryName}})\n\t\t}))\n\t};\n}\n\nfunction isQueryOrMutationOperation(definition) {\n\treturn (\n\t\t(definition.kind === 'OperationDefinition' && definition.operation === 'query') ||\n\t\tdefinition.operation === 'mutation'\n\t);\n}\n\nfunction addIf(condition, value) {\n\treturn condition ? value : {};\n}\n","import {camelCase} from '@servicenow/ui-internal';\n\nexport default function getOperationName(tagName) {\n\treturn camelCase(tagName.toLowerCase());\n}\n","import {getGlobalObject} from '../utils';\nimport {createSnHttp} from '@servicenow/ui-utils';\n\nconst root = getGlobalObject();\nlet localSnHttp = null;\n\nconst createSnHttpForGql = async () => {\n\tif (!localSnHttp) {\n\t\tconst snHttpConfig = {\n\t\t\txsrfToken: root.g_ck,\n\t\t\txTransactionSource: root.transaction_source,\n\t\t\tbatching: false\n\t\t};\n\t\tconst snHttpFactory = createSnHttp(snHttpConfig);\n\t\tlocalSnHttp = await snHttpFactory();\n\t}\n\treturn localSnHttp;\n};\n\nexport default createSnHttpForGql;\n","export default function getGlobalObject() {\n\tif (typeof self !== 'undefined') return self;\n\n\tif (typeof window !== 'undefined') return window;\n\n\tif (typeof global !== 'undefined') return global;\n\n\tthrow new Error('Unable to locate global object');\n}\n","/**\n * Prints a string as a GraphQL StringValue literal. Replaces control characters\n * and excluded characters (\" U+0022 and \\\\ U+005C) with escape sequences.\n */\nexport function printString(str) {\n  return `\"${str.replace(escapedRegExp, escapedReplacer)}\"`;\n} // eslint-disable-next-line no-control-regex\n\nconst escapedRegExp = /[\\x00-\\x1f\\x22\\x5c\\x7f-\\x9f]/g;\n\nfunction escapedReplacer(str) {\n  return escapeSequences[str.charCodeAt(0)];\n} // prettier-ignore\n\nconst escapeSequences = [\n  '\\\\u0000',\n  '\\\\u0001',\n  '\\\\u0002',\n  '\\\\u0003',\n  '\\\\u0004',\n  '\\\\u0005',\n  '\\\\u0006',\n  '\\\\u0007',\n  '\\\\b',\n  '\\\\t',\n  '\\\\n',\n  '\\\\u000B',\n  '\\\\f',\n  '\\\\r',\n  '\\\\u000E',\n  '\\\\u000F',\n  '\\\\u0010',\n  '\\\\u0011',\n  '\\\\u0012',\n  '\\\\u0013',\n  '\\\\u0014',\n  '\\\\u0015',\n  '\\\\u0016',\n  '\\\\u0017',\n  '\\\\u0018',\n  '\\\\u0019',\n  '\\\\u001A',\n  '\\\\u001B',\n  '\\\\u001C',\n  '\\\\u001D',\n  '\\\\u001E',\n  '\\\\u001F',\n  '',\n  '',\n  '\\\\\"',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '', // 2F\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '', // 3F\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '', // 4F\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '\\\\\\\\',\n  '',\n  '',\n  '', // 5F\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '', // 6F\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '',\n  '\\\\u007F',\n  '\\\\u0080',\n  '\\\\u0081',\n  '\\\\u0082',\n  '\\\\u0083',\n  '\\\\u0084',\n  '\\\\u0085',\n  '\\\\u0086',\n  '\\\\u0087',\n  '\\\\u0088',\n  '\\\\u0089',\n  '\\\\u008A',\n  '\\\\u008B',\n  '\\\\u008C',\n  '\\\\u008D',\n  '\\\\u008E',\n  '\\\\u008F',\n  '\\\\u0090',\n  '\\\\u0091',\n  '\\\\u0092',\n  '\\\\u0093',\n  '\\\\u0094',\n  '\\\\u0095',\n  '\\\\u0096',\n  '\\\\u0097',\n  '\\\\u0098',\n  '\\\\u0099',\n  '\\\\u009A',\n  '\\\\u009B',\n  '\\\\u009C',\n  '\\\\u009D',\n  '\\\\u009E',\n  '\\\\u009F',\n];\n","import { devAssert } from '../jsutils/devAssert.mjs';\nimport { inspect } from '../jsutils/inspect.mjs';\nimport { isNode, QueryDocumentKeys } from './ast.mjs';\nimport { Kind } from './kinds.mjs';\n/**\n * A visitor is provided to visit, it contains the collection of\n * relevant functions to be called during the visitor's traversal.\n */\n\nexport const BREAK = Object.freeze({});\n/**\n * visit() will walk through an AST using a depth-first traversal, calling\n * the visitor's enter function at each node in the traversal, and calling the\n * leave function after visiting that node and all of its child nodes.\n *\n * By returning different values from the enter and leave functions, the\n * behavior of the visitor can be altered, including skipping over a sub-tree of\n * the AST (by returning false), editing the AST by returning a value or null\n * to remove the value, or to stop the whole traversal by returning BREAK.\n *\n * When using visit() to edit an AST, the original AST will not be modified, and\n * a new version of the AST with the changes applied will be returned from the\n * visit function.\n *\n * ```ts\n * const editedAST = visit(ast, {\n *   enter(node, key, parent, path, ancestors) {\n *     // @return\n *     //   undefined: no action\n *     //   false: skip visiting this node\n *     //   visitor.BREAK: stop visiting altogether\n *     //   null: delete this node\n *     //   any value: replace this node with the returned value\n *   },\n *   leave(node, key, parent, path, ancestors) {\n *     // @return\n *     //   undefined: no action\n *     //   false: no action\n *     //   visitor.BREAK: stop visiting altogether\n *     //   null: delete this node\n *     //   any value: replace this node with the returned value\n *   }\n * });\n * ```\n *\n * Alternatively to providing enter() and leave() functions, a visitor can\n * instead provide functions named the same as the kinds of AST nodes, or\n * enter/leave visitors at a named key, leading to three permutations of the\n * visitor API:\n *\n * 1) Named visitors triggered when entering a node of a specific kind.\n *\n * ```ts\n * visit(ast, {\n *   Kind(node) {\n *     // enter the \"Kind\" node\n *   }\n * })\n * ```\n *\n * 2) Named visitors that trigger upon entering and leaving a node of a specific kind.\n *\n * ```ts\n * visit(ast, {\n *   Kind: {\n *     enter(node) {\n *       // enter the \"Kind\" node\n *     }\n *     leave(node) {\n *       // leave the \"Kind\" node\n *     }\n *   }\n * })\n * ```\n *\n * 3) Generic visitors that trigger upon entering and leaving any node.\n *\n * ```ts\n * visit(ast, {\n *   enter(node) {\n *     // enter any node\n *   },\n *   leave(node) {\n *     // leave any node\n *   }\n * })\n * ```\n */\n\nexport function visit(root, visitor, visitorKeys = QueryDocumentKeys) {\n  const enterLeaveMap = new Map();\n\n  for (const kind of Object.values(Kind)) {\n    enterLeaveMap.set(kind, getEnterLeaveForKind(visitor, kind));\n  }\n  /* eslint-disable no-undef-init */\n\n  let stack = undefined;\n  let inArray = Array.isArray(root);\n  let keys = [root];\n  let index = -1;\n  let edits = [];\n  let node = root;\n  let key = undefined;\n  let parent = undefined;\n  const path = [];\n  const ancestors = [];\n  /* eslint-enable no-undef-init */\n\n  do {\n    index++;\n    const isLeaving = index === keys.length;\n    const isEdited = isLeaving && edits.length !== 0;\n\n    if (isLeaving) {\n      key = ancestors.length === 0 ? undefined : path[path.length - 1];\n      node = parent;\n      parent = ancestors.pop();\n\n      if (isEdited) {\n        if (inArray) {\n          node = node.slice();\n          let editOffset = 0;\n\n          for (const [editKey, editValue] of edits) {\n            const arrayKey = editKey - editOffset;\n\n            if (editValue === null) {\n              node.splice(arrayKey, 1);\n              editOffset++;\n            } else {\n              node[arrayKey] = editValue;\n            }\n          }\n        } else {\n          node = Object.defineProperties(\n            {},\n            Object.getOwnPropertyDescriptors(node),\n          );\n\n          for (const [editKey, editValue] of edits) {\n            node[editKey] = editValue;\n          }\n        }\n      }\n\n      index = stack.index;\n      keys = stack.keys;\n      edits = stack.edits;\n      inArray = stack.inArray;\n      stack = stack.prev;\n    } else if (parent) {\n      key = inArray ? index : keys[index];\n      node = parent[key];\n\n      if (node === null || node === undefined) {\n        continue;\n      }\n\n      path.push(key);\n    }\n\n    let result;\n\n    if (!Array.isArray(node)) {\n      var _enterLeaveMap$get, _enterLeaveMap$get2;\n\n      isNode(node) || devAssert(false, `Invalid AST Node: ${inspect(node)}.`);\n      const visitFn = isLeaving\n        ? (_enterLeaveMap$get = enterLeaveMap.get(node.kind)) === null ||\n          _enterLeaveMap$get === void 0\n          ? void 0\n          : _enterLeaveMap$get.leave\n        : (_enterLeaveMap$get2 = enterLeaveMap.get(node.kind)) === null ||\n          _enterLeaveMap$get2 === void 0\n        ? void 0\n        : _enterLeaveMap$get2.enter;\n      result =\n        visitFn === null || visitFn === void 0\n          ? void 0\n          : visitFn.call(visitor, node, key, parent, path, ancestors);\n\n      if (result === BREAK) {\n        break;\n      }\n\n      if (result === false) {\n        if (!isLeaving) {\n          path.pop();\n          continue;\n        }\n      } else if (result !== undefined) {\n        edits.push([key, result]);\n\n        if (!isLeaving) {\n          if (isNode(result)) {\n            node = result;\n          } else {\n            path.pop();\n            continue;\n          }\n        }\n      }\n    }\n\n    if (result === undefined && isEdited) {\n      edits.push([key, node]);\n    }\n\n    if (isLeaving) {\n      path.pop();\n    } else {\n      var _node$kind;\n\n      stack = {\n        inArray,\n        index,\n        keys,\n        edits,\n        prev: stack,\n      };\n      inArray = Array.isArray(node);\n      keys = inArray\n        ? node\n        : (_node$kind = visitorKeys[node.kind]) !== null &&\n          _node$kind !== void 0\n        ? _node$kind\n        : [];\n      index = -1;\n      edits = [];\n\n      if (parent) {\n        ancestors.push(parent);\n      }\n\n      parent = node;\n    }\n  } while (stack !== undefined);\n\n  if (edits.length !== 0) {\n    // New root\n    return edits[edits.length - 1][1];\n  }\n\n  return root;\n}\n/**\n * Creates a new visitor instance which delegates to many visitors to run in\n * parallel. Each visitor will be visited for each node before moving on.\n *\n * If a prior visitor edits a node, no following visitors will see that node.\n */\n\nexport function visitInParallel(visitors) {\n  const skipping = new Array(visitors.length).fill(null);\n  const mergedVisitor = Object.create(null);\n\n  for (const kind of Object.values(Kind)) {\n    let hasVisitor = false;\n    const enterList = new Array(visitors.length).fill(undefined);\n    const leaveList = new Array(visitors.length).fill(undefined);\n\n    for (let i = 0; i < visitors.length; ++i) {\n      const { enter, leave } = getEnterLeaveForKind(visitors[i], kind);\n      hasVisitor || (hasVisitor = enter != null || leave != null);\n      enterList[i] = enter;\n      leaveList[i] = leave;\n    }\n\n    if (!hasVisitor) {\n      continue;\n    }\n\n    const mergedEnterLeave = {\n      enter(...args) {\n        const node = args[0];\n\n        for (let i = 0; i < visitors.length; i++) {\n          if (skipping[i] === null) {\n            var _enterList$i;\n\n            const result =\n              (_enterList$i = enterList[i]) === null || _enterList$i === void 0\n                ? void 0\n                : _enterList$i.apply(visitors[i], args);\n\n            if (result === false) {\n              skipping[i] = node;\n            } else if (result === BREAK) {\n              skipping[i] = BREAK;\n            } else if (result !== undefined) {\n              return result;\n            }\n          }\n        }\n      },\n\n      leave(...args) {\n        const node = args[0];\n\n        for (let i = 0; i < visitors.length; i++) {\n          if (skipping[i] === null) {\n            var _leaveList$i;\n\n            const result =\n              (_leaveList$i = leaveList[i]) === null || _leaveList$i === void 0\n                ? void 0\n                : _leaveList$i.apply(visitors[i], args);\n\n            if (result === BREAK) {\n              skipping[i] = BREAK;\n            } else if (result !== undefined && result !== false) {\n              return result;\n            }\n          } else if (skipping[i] === node) {\n            skipping[i] = null;\n          }\n        }\n      },\n    };\n    mergedVisitor[kind] = mergedEnterLeave;\n  }\n\n  return mergedVisitor;\n}\n/**\n * Given a visitor instance and a node kind, return EnterLeaveVisitor for that kind.\n */\n\nexport function getEnterLeaveForKind(visitor, kind) {\n  const kindVisitor = visitor[kind];\n\n  if (typeof kindVisitor === 'object') {\n    // { Kind: { enter() {}, leave() {} } }\n    return kindVisitor;\n  } else if (typeof kindVisitor === 'function') {\n    // { Kind() {} }\n    return {\n      enter: kindVisitor,\n      leave: undefined,\n    };\n  } // { enter() {}, leave() {} }\n\n  return {\n    enter: visitor.enter,\n    leave: visitor.leave,\n  };\n}\n/**\n * Given a visitor instance, if it is leaving or not, and a node kind, return\n * the function the visitor runtime should call.\n *\n * @deprecated Please use `getEnterLeaveForKind` instead. Will be removed in v17\n */\n\n/* c8 ignore next 8 */\n\nexport function getVisitFn(visitor, kind, isLeaving) {\n  const { enter, leave } = getEnterLeaveForKind(visitor, kind);\n  return isLeaving ? leave : enter;\n}\n","import { printBlockString } from './blockString.mjs';\nimport { printString } from './printString.mjs';\nimport { visit } from './visitor.mjs';\n/**\n * Converts an AST into a string, using one set of reasonable\n * formatting rules.\n */\n\nexport function print(ast) {\n  return visit(ast, printDocASTReducer);\n}\nconst MAX_LINE_LENGTH = 80;\nconst printDocASTReducer = {\n  Name: {\n    leave: (node) => node.value,\n  },\n  Variable: {\n    leave: (node) => '$' + node.name,\n  },\n  // Document\n  Document: {\n    leave: (node) => join(node.definitions, '\\n\\n'),\n  },\n  OperationDefinition: {\n    leave(node) {\n      const varDefs = wrap('(', join(node.variableDefinitions, ', '), ')');\n      const prefix = join(\n        [\n          node.operation,\n          join([node.name, varDefs]),\n          join(node.directives, ' '),\n        ],\n        ' ',\n      ); // Anonymous queries with no directives or variable definitions can use\n      // the query short form.\n\n      return (prefix === 'query' ? '' : prefix + ' ') + node.selectionSet;\n    },\n  },\n  VariableDefinition: {\n    leave: ({ variable, type, defaultValue, directives }) =>\n      variable +\n      ': ' +\n      type +\n      wrap(' = ', defaultValue) +\n      wrap(' ', join(directives, ' ')),\n  },\n  SelectionSet: {\n    leave: ({ selections }) => block(selections),\n  },\n  Field: {\n    leave({ alias, name, arguments: args, directives, selectionSet }) {\n      const prefix = wrap('', alias, ': ') + name;\n      let argsLine = prefix + wrap('(', join(args, ', '), ')');\n\n      if (argsLine.length > MAX_LINE_LENGTH) {\n        argsLine = prefix + wrap('(\\n', indent(join(args, '\\n')), '\\n)');\n      }\n\n      return join([argsLine, join(directives, ' '), selectionSet], ' ');\n    },\n  },\n  Argument: {\n    leave: ({ name, value }) => name + ': ' + value,\n  },\n  // Fragments\n  FragmentSpread: {\n    leave: ({ name, directives }) =>\n      '...' + name + wrap(' ', join(directives, ' ')),\n  },\n  InlineFragment: {\n    leave: ({ typeCondition, directives, selectionSet }) =>\n      join(\n        [\n          '...',\n          wrap('on ', typeCondition),\n          join(directives, ' '),\n          selectionSet,\n        ],\n        ' ',\n      ),\n  },\n  FragmentDefinition: {\n    leave: (\n      { name, typeCondition, variableDefinitions, directives, selectionSet }, // Note: fragment variable definitions are experimental and may be changed\n    ) =>\n      // or removed in the future.\n      `fragment ${name}${wrap('(', join(variableDefinitions, ', '), ')')} ` +\n      `on ${typeCondition} ${wrap('', join(directives, ' '), ' ')}` +\n      selectionSet,\n  },\n  // Value\n  IntValue: {\n    leave: ({ value }) => value,\n  },\n  FloatValue: {\n    leave: ({ value }) => value,\n  },\n  StringValue: {\n    leave: ({ value, block: isBlockString }) =>\n      isBlockString ? printBlockString(value) : printString(value),\n  },\n  BooleanValue: {\n    leave: ({ value }) => (value ? 'true' : 'false'),\n  },\n  NullValue: {\n    leave: () => 'null',\n  },\n  EnumValue: {\n    leave: ({ value }) => value,\n  },\n  ListValue: {\n    leave: ({ values }) => '[' + join(values, ', ') + ']',\n  },\n  ObjectValue: {\n    leave: ({ fields }) => '{' + join(fields, ', ') + '}',\n  },\n  ObjectField: {\n    leave: ({ name, value }) => name + ': ' + value,\n  },\n  // Directive\n  Directive: {\n    leave: ({ name, arguments: args }) =>\n      '@' + name + wrap('(', join(args, ', '), ')'),\n  },\n  // Type\n  NamedType: {\n    leave: ({ name }) => name,\n  },\n  ListType: {\n    leave: ({ type }) => '[' + type + ']',\n  },\n  NonNullType: {\n    leave: ({ type }) => type + '!',\n  },\n  // Type System Definitions\n  SchemaDefinition: {\n    leave: ({ description, directives, operationTypes }) =>\n      wrap('', description, '\\n') +\n      join(['schema', join(directives, ' '), block(operationTypes)], ' '),\n  },\n  OperationTypeDefinition: {\n    leave: ({ operation, type }) => operation + ': ' + type,\n  },\n  ScalarTypeDefinition: {\n    leave: ({ description, name, directives }) =>\n      wrap('', description, '\\n') +\n      join(['scalar', name, join(directives, ' ')], ' '),\n  },\n  ObjectTypeDefinition: {\n    leave: ({ description, name, interfaces, directives, fields }) =>\n      wrap('', description, '\\n') +\n      join(\n        [\n          'type',\n          name,\n          wrap('implements ', join(interfaces, ' & ')),\n          join(directives, ' '),\n          block(fields),\n        ],\n        ' ',\n      ),\n  },\n  FieldDefinition: {\n    leave: ({ description, name, arguments: args, type, directives }) =>\n      wrap('', description, '\\n') +\n      name +\n      (hasMultilineItems(args)\n        ? wrap('(\\n', indent(join(args, '\\n')), '\\n)')\n        : wrap('(', join(args, ', '), ')')) +\n      ': ' +\n      type +\n      wrap(' ', join(directives, ' ')),\n  },\n  InputValueDefinition: {\n    leave: ({ description, name, type, defaultValue, directives }) =>\n      wrap('', description, '\\n') +\n      join(\n        [name + ': ' + type, wrap('= ', defaultValue), join(directives, ' ')],\n        ' ',\n      ),\n  },\n  InterfaceTypeDefinition: {\n    leave: ({ description, name, interfaces, directives, fields }) =>\n      wrap('', description, '\\n') +\n      join(\n        [\n          'interface',\n          name,\n          wrap('implements ', join(interfaces, ' & ')),\n          join(directives, ' '),\n          block(fields),\n        ],\n        ' ',\n      ),\n  },\n  UnionTypeDefinition: {\n    leave: ({ description, name, directives, types }) =>\n      wrap('', description, '\\n') +\n      join(\n        ['union', name, join(directives, ' '), wrap('= ', join(types, ' | '))],\n        ' ',\n      ),\n  },\n  EnumTypeDefinition: {\n    leave: ({ description, name, directives, values }) =>\n      wrap('', description, '\\n') +\n      join(['enum', name, join(directives, ' '), block(values)], ' '),\n  },\n  EnumValueDefinition: {\n    leave: ({ description, name, directives }) =>\n      wrap('', description, '\\n') + join([name, join(directives, ' ')], ' '),\n  },\n  InputObjectTypeDefinition: {\n    leave: ({ description, name, directives, fields }) =>\n      wrap('', description, '\\n') +\n      join(['input', name, join(directives, ' '), block(fields)], ' '),\n  },\n  DirectiveDefinition: {\n    leave: ({ description, name, arguments: args, repeatable, locations }) =>\n      wrap('', description, '\\n') +\n      'directive @' +\n      name +\n      (hasMultilineItems(args)\n        ? wrap('(\\n', indent(join(args, '\\n')), '\\n)')\n        : wrap('(', join(args, ', '), ')')) +\n      (repeatable ? ' repeatable' : '') +\n      ' on ' +\n      join(locations, ' | '),\n  },\n  SchemaExtension: {\n    leave: ({ directives, operationTypes }) =>\n      join(\n        ['extend schema', join(directives, ' '), block(operationTypes)],\n        ' ',\n      ),\n  },\n  ScalarTypeExtension: {\n    leave: ({ name, directives }) =>\n      join(['extend scalar', name, join(directives, ' ')], ' '),\n  },\n  ObjectTypeExtension: {\n    leave: ({ name, interfaces, directives, fields }) =>\n      join(\n        [\n          'extend type',\n          name,\n          wrap('implements ', join(interfaces, ' & ')),\n          join(directives, ' '),\n          block(fields),\n        ],\n        ' ',\n      ),\n  },\n  InterfaceTypeExtension: {\n    leave: ({ name, interfaces, directives, fields }) =>\n      join(\n        [\n          'extend interface',\n          name,\n          wrap('implements ', join(interfaces, ' & ')),\n          join(directives, ' '),\n          block(fields),\n        ],\n        ' ',\n      ),\n  },\n  UnionTypeExtension: {\n    leave: ({ name, directives, types }) =>\n      join(\n        [\n          'extend union',\n          name,\n          join(directives, ' '),\n          wrap('= ', join(types, ' | ')),\n        ],\n        ' ',\n      ),\n  },\n  EnumTypeExtension: {\n    leave: ({ name, directives, values }) =>\n      join(['extend enum', name, join(directives, ' '), block(values)], ' '),\n  },\n  InputObjectTypeExtension: {\n    leave: ({ name, directives, fields }) =>\n      join(['extend input', name, join(directives, ' '), block(fields)], ' '),\n  },\n};\n/**\n * Given maybeArray, print an empty string if it is null or empty, otherwise\n * print all items together separated by separator if provided\n */\n\nfunction join(maybeArray, separator = '') {\n  var _maybeArray$filter$jo;\n\n  return (_maybeArray$filter$jo =\n    maybeArray === null || maybeArray === void 0\n      ? void 0\n      : maybeArray.filter((x) => x).join(separator)) !== null &&\n    _maybeArray$filter$jo !== void 0\n    ? _maybeArray$filter$jo\n    : '';\n}\n/**\n * Given array, print each item on its own line, wrapped in an indented `{ }` block.\n */\n\nfunction block(array) {\n  return wrap('{\\n', indent(join(array, '\\n')), '\\n}');\n}\n/**\n * If maybeString is not null or empty, then wrap with start and end, otherwise print an empty string.\n */\n\nfunction wrap(start, maybeString, end = '') {\n  return maybeString != null && maybeString !== ''\n    ? start + maybeString + end\n    : '';\n}\n\nfunction indent(str) {\n  return wrap('  ', str.replace(/\\n/g, '\\n  '));\n}\n\nfunction hasMultilineItems(maybeArray) {\n  var _maybeArray$some;\n\n  // FIXME: https://github.com/graphql/graphql-js/issues/2203\n\n  /* c8 ignore next */\n  return (_maybeArray$some =\n    maybeArray === null || maybeArray === void 0\n      ? void 0\n      : maybeArray.some((str) => str.includes('\\n'))) !== null &&\n    _maybeArray$some !== void 0\n    ? _maybeArray$some\n    : false;\n}\n","import {print, stripIgnoredCharacters} from 'graphql';\n\nexport default function documentToQueryString(document) {\n\treturn stripIgnoredCharacters(print(document));\n}\n","import { printBlockString } from '../language/blockString.mjs';\nimport { isPunctuatorTokenKind, Lexer } from '../language/lexer.mjs';\nimport { isSource, Source } from '../language/source.mjs';\nimport { TokenKind } from '../language/tokenKind.mjs';\n/**\n * Strips characters that are not significant to the validity or execution\n * of a GraphQL document:\n *   - UnicodeBOM\n *   - WhiteSpace\n *   - LineTerminator\n *   - Comment\n *   - Comma\n *   - BlockString indentation\n *\n * Note: It is required to have a delimiter character between neighboring\n * non-punctuator tokens and this function always uses single space as delimiter.\n *\n * It is guaranteed that both input and output documents if parsed would result\n * in the exact same AST except for nodes location.\n *\n * Warning: It is guaranteed that this function will always produce stable results.\n * However, it's not guaranteed that it will stay the same between different\n * releases due to bugfixes or changes in the GraphQL specification.\n *\n * Query example:\n *\n * ```graphql\n * query SomeQuery($foo: String!, $bar: String) {\n *   someField(foo: $foo, bar: $bar) {\n *     a\n *     b {\n *       c\n *       d\n *     }\n *   }\n * }\n * ```\n *\n * Becomes:\n *\n * ```graphql\n * query SomeQuery($foo:String!$bar:String){someField(foo:$foo bar:$bar){a b{c d}}}\n * ```\n *\n * SDL example:\n *\n * ```graphql\n * \"\"\"\n * Type description\n * \"\"\"\n * type Foo {\n *   \"\"\"\n *   Field description\n *   \"\"\"\n *   bar: String\n * }\n * ```\n *\n * Becomes:\n *\n * ```graphql\n * \"\"\"Type description\"\"\" type Foo{\"\"\"Field description\"\"\" bar:String}\n * ```\n */\n\nexport function stripIgnoredCharacters(source) {\n  const sourceObj = isSource(source) ? source : new Source(source);\n  const body = sourceObj.body;\n  const lexer = new Lexer(sourceObj);\n  let strippedBody = '';\n  let wasLastAddedTokenNonPunctuator = false;\n\n  while (lexer.advance().kind !== TokenKind.EOF) {\n    const currentToken = lexer.token;\n    const tokenKind = currentToken.kind;\n    /**\n     * Every two non-punctuator tokens should have space between them.\n     * Also prevent case of non-punctuator token following by spread resulting\n     * in invalid token (e.g. `1...` is invalid Float token).\n     */\n\n    const isNonPunctuator = !isPunctuatorTokenKind(currentToken.kind);\n\n    if (wasLastAddedTokenNonPunctuator) {\n      if (isNonPunctuator || currentToken.kind === TokenKind.SPREAD) {\n        strippedBody += ' ';\n      }\n    }\n\n    const tokenBody = body.slice(currentToken.start, currentToken.end);\n\n    if (tokenKind === TokenKind.BLOCK_STRING) {\n      strippedBody += printBlockString(currentToken.value, {\n        minimize: true,\n      });\n    } else {\n      strippedBody += tokenBody;\n    }\n\n    wasLastAddedTokenNonPunctuator = isNonPunctuator;\n  }\n\n  return strippedBody;\n}\n","/**\n * shouldCache\n * @description Checks the current env and query to see if we should cache.\n * Safeguards against users that are impersonating other users as well as mutation or\n * subscription GQL requests\n * @param {*} query - The API query to check\n * @param {*} windowObj - globalThis to check for keys\n * @returns Boolean\n */\nexport const shouldCache = (query, windowObj) => {\n\tif (!query || !windowObj) return false;\n\n\tif (windowObj.NOW?.user?.isImpersonating === true) return false;\n\n\tif (query.definitions) {\n\t\tif (\n\t\t\tquery.definitions.every(d => d.operation === 'mutation') ||\n\t\t\tquery.definitions.every(d => d.operation === 'subscription')\n\t\t)\n\t\t\treturn false;\n\t}\n\n\treturn true;\n};\n","import {configConstants, getConfigItem} from '@servicenow/ui-config';\nimport {shouldCache} from './shouldCache';\nimport {getUserSysId, makeLRUCachePolicy, makePersistentCache} from '@servicenow/ui-effect-helpers';\nimport {getGraphQLDocument, isSubscriptionResult} from '../utils';\nimport documentToQueryString from './documentToQueryString';\n\nconst {GQL_CACHE_MAX_PERSIST, GQL_CACHE_CAPACITY, GQL_CACHING_ENABLED} = configConstants;\n\nlet persistantCache;\n\nconst getCache = async function () {\n\tif (persistantCache) {\n\t\treturn persistantCache;\n\t}\n\ttry {\n\t\tpersistantCache = await makePersistentCache({\n\t\t\tdbName: 'Seismic',\n\t\t\tstoreName: 'gqlQueries',\n\t\t\tschemaVersion: 1,\n\t\t\toptions: {cachePolicy: makeLRUCachePolicy(getConfigItem(GQL_CACHE_CAPACITY))}\n\t\t});\n\t} catch (e) {\n\t\treturn null;\n\t}\n\treturn persistantCache;\n};\n\nexport async function clearGraphQLResultsCache() {\n\tawait (await getCache())?.clear();\n}\n\nexport function shouldDoResultCaching(operation) {\n\tconst {transactionMetaData} = operation;\n\treturn (\n\t\tgetConfigItem(GQL_CACHING_ENABLED) &&\n\t\ttransactionMetaData?.cacheable &&\n\t\tshouldCache(transactionMetaData?.query, globalThis)\n\t);\n}\n\n// @TODO: add Domain info to cacheQueryKey\nconst getCacheQueryKey = ({query, variables, params = {}}) => {\n\tlet resolvedQuery = query,\n\t\tresolvedVariables = variables,\n\t\tresolvedParams = params;\n\tif (typeof resolvedQuery !== 'string') resolvedQuery = JSON.stringify(resolvedQuery);\n\n\tif (typeof resolvedVariables !== 'string') resolvedVariables = JSON.stringify(resolvedVariables);\n\n\tif (typeof resolvedParams !== 'string') resolvedParams = JSON.stringify(resolvedParams);\n\n\tconst userToken = getUserSysId(globalThis);\n\treturn `${resolvedQuery}:${resolvedVariables}:${resolvedParams}:${userToken}`;\n};\n\nexport async function checkCacheForResult(operation, batchItem, fetchFunc) {\n\tconst {\n\t\toperationName,\n\t\tvariables,\n\t\ttemplateVars,\n\t\tdomainContext,\n\t\ttransactionMetaData: {query, params} = {}\n\t} = operation;\n\tconst gqlDocument = getGraphQLDocument(query, templateVars, domainContext, operationName);\n\tconst queryString = documentToQueryString(gqlDocument);\n\tconst cacheQueryKey = getCacheQueryKey({query: queryString, variables, params});\n\n\tconst cache = await getCache();\n\tconst isCached = cache ? await cache.has(cacheQueryKey) : false;\n\n\tif (isCached) {\n\t\tconst refetchPromise = () => {\n\t\t\treturn makeRefetchRequest([batchItem], fetchFunc);\n\t\t};\n\t\tconst cachedResult = await cache.get(cacheQueryKey);\n\t\tconst {headers} = cachedResult;\n\t\tconst cachedDate = new Date(headers?.date);\n\n\t\tif (cachedDate) {\n\t\t\tconst minutesSinceCached = (Date.now() - cachedDate) / 1000 / 60;\n\n\t\t\tif (minutesSinceCached < (getConfigItem(GQL_CACHE_MAX_PERSIST) || 2880)) {\n\t\t\t\treturn {\n\t\t\t\t\tisCachedResult: true,\n\t\t\t\t\trefetchPromise,\n\t\t\t\t\t...cachedResult\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n}\n\n//For refetch requests clear out any streaming since it is not needed as the request will happen in the background\n//after the main request\nfunction makeRefetchRequest(batchItems = [], fetchFunc) {\n\tbatchItems.forEach(currItem => currItem?.operation?.queryContext?.clearStreaming());\n\treturn fetchFunc(batchItems);\n}\n\nexport async function storeResultInCache(operation, result, headers) {\n\tconst {query, variables, cacheable, transactionMetaData: {params} = {}} = operation;\n\tconst {data = null, errors = []} = result;\n\tconst payload = {data, errors, headers};\n\n\t// Check equality ?\n\tif (\n\t\tgetConfigItem(GQL_CACHING_ENABLED) &&\n\t\t!query.startsWith('mutation') &&\n\t\tcacheable &&\n\t\t!isSubscriptionResult(result)\n\t) {\n\t\tconst cache = await getCache();\n\t\tif (cache) {\n\t\t\tconst cacheQueryKey = getCacheQueryKey({query, variables, params});\n\t\t\tawait cache.set(cacheQueryKey, payload);\n\t\t\trequestIdleCallback(() => cache.persist());\n\t\t}\n\t}\n}\n","import * as uiAnalyticsConsumer from '@servicenow/ui-analytics-consumer';\nimport {\n\tSPAN_ATTR_GQL_BATCH,\n\tSPAN_DOCUMENT_TRACE_PARENT,\n\tSPAN_KIND_CLIENT,\n\tSPAN_TRACE_PARENT,\n\tSPNA_ATTR_GQL_QUERY\n} from '../constants';\n\nconst {createTraceParentHeader, trace} = uiAnalyticsConsumer;\n\n/**\n * Adds a key value pair to the span attributes.\n * @param {Span} span The span to add the attribute to.\n * @param {string} key The key of the attribute.\n * @param {string} value The value of the attribute.\n */\nfunction appendSpanAttribute(span, key, value) {\n\tif (!span) return;\n\tconst current = span.attributes[key] || [];\n\tcurrent.push(value);\n\tspan.setAttribute(key, current);\n}\n\n/**\n * Starts batch tracing for GraphQL operations.\n * @param {Object} params The parameters for batch tracing.\n * @returns {Span} The GraphQL batch span.\n */\nfunction startBatchTracing(params) {\n\tconst {operation, maxBatchSize, batchInterval, gqlBatchSpan: existingGqlBatchSpan} = params;\n\tif (existingGqlBatchSpan) return existingGqlBatchSpan;\n\n\tconst activeSpan = operation?.queryContext?.getActiveSpan();\n\tif (!activeSpan) return null;\n\n\tconst spanAttributes = {\n\t\t'config.maxSize': maxBatchSize,\n\t\t'config.interval': `${batchInterval}ms`\n\t};\n\n\tconst gqlBatchSpan = trace('seismic.gql.batch', {\n\t\tkind: SPAN_KIND_CLIENT,\n\t\tattributes: {...spanAttributes, tagName: 'GraphQL', componentId: 'batching'}\n\t});\n\treturn gqlBatchSpan;\n}\n\n/**\n * Updates headers with span information.\n * @param {Object} params The parameters for updating headers.\n */\nfunction updateHeadersWithSpan(params) {\n\tconst {query, batch, headers = {}, operations, index, gqlBatchSpan, queryContext} = params;\n\tconst activeSpan = queryContext?.getActiveSpan();\n\tif (!activeSpan) return;\n\n\tsetSpanAttributes(activeSpan, query, batch);\n\theaders[SPAN_DOCUMENT_TRACE_PARENT] = activeSpan.documentTraceParent;\n\n\tconst activeTraceParent = createTraceParentHeader(activeSpan.id, activeSpan.traceId);\n\tif (batch) {\n\t\tupdateBatchHeaders(headers, operations, index, gqlBatchSpan, activeSpan, activeTraceParent);\n\t} else {\n\t\theaders[SPAN_TRACE_PARENT] = activeTraceParent;\n\t}\n}\n\nfunction setSpanAttributes(activeSpan, query, batch) {\n\tif (query && typeof query === 'string') {\n\t\tactiveSpan.setAttribute(SPNA_ATTR_GQL_QUERY, query.substring(0, 50));\n\t}\n\tactiveSpan.setAttribute(SPAN_ATTR_GQL_BATCH, batch);\n}\n\nfunction updateBatchHeaders(\n\theaders,\n\toperations,\n\tindex,\n\tgqlBatchSpan,\n\tactiveSpan,\n\tactiveTraceParent\n) {\n\toperations[index][SPAN_TRACE_PARENT] = activeTraceParent;\n\toperations[index][SPAN_DOCUMENT_TRACE_PARENT] = activeSpan.documentTraceParent;\n\tif (gqlBatchSpan) {\n\t\theaders[SPAN_TRACE_PARENT] = createTraceParentHeader(gqlBatchSpan.id, gqlBatchSpan.traceId);\n\t}\n}\n\nfunction crossLinkBatchSpan(gqlBatchSpan, activeSpan) {\n\tif (gqlBatchSpan && activeSpan) {\n\t\t//use span.addLink API when available.\n\t\tactiveSpan.links.push({\n\t\t\tcontext: {\n\t\t\t\tspanId: gqlBatchSpan.id,\n\t\t\t\ttraceId: gqlBatchSpan.traceId\n\t\t\t},\n\t\t\tattributes: {\n\t\t\t\t'link.type': 'gql.batch'\n\t\t\t}\n\t\t});\n\t\tgqlBatchSpan.links.push({\n\t\t\tcontext: {\n\t\t\t\tspanId: activeSpan.id,\n\t\t\t\ttraceId: activeSpan.traceId\n\t\t\t},\n\t\t\tattributes: {\n\t\t\t\t'link.type': 'gql.batch.item'\n\t\t\t}\n\t\t});\n\t}\n}\n\n/*\n * Tracks the batch event for the GraphQL operations.\n * @param {Object} operation The operation object.\n * @param {Span} gqlBatchSpan The GraphQL batch span.\n * @param {Array} queue The queue of operations.\n */\n\nfunction addEventToBatchSpan(operation, gqlBatchSpan, queue) {\n\tif (!operation || !gqlBatchSpan || !queue) return;\n\n\tconst ts = Date.now();\n\tconst eventDetails = {\n\t\toperationName: operation.operationName,\n\t\tqueueSize: queue.length\n\t};\n\n\tgqlBatchSpan.addEvent('items.queue.add', eventDetails, ts);\n\tconst activeSpan = operation.queryContext?.getActiveSpan();\n\tif (activeSpan) {\n\t\tactiveSpan.addEvent('gql.batch.enqueue', eventDetails, ts);\n\t}\n}\n\n/**\n * Completes batch tracking for GraphQL operations.\n * @param {Span} gqlBatchSpan The GraphQL batch span.\n * @param {boolean} isBatched Indicates if the operations are batched.\n * @param {Array} operations The list of operations.\n * @returns {Span|null} The updated GraphQL batch span or null.\n */\nfunction completeBatchTracking(gqlBatchSpan, isBatched, operations) {\n\tif (gqlBatchSpan && isBatched) {\n\t\tconst batchEnd = Date.now();\n\t\tconst queueSize = operations.length;\n\t\tconst batchStart = (gqlBatchSpan.events || []).find(event => event.name === 'items.queue.add');\n\t\tconst batchProcessingTime = batchStart ? batchEnd - batchStart.time : 0;\n\n\t\tgqlBatchSpan.addEvent('items.queue.send', {queueSize}, batchEnd);\n\t\tgqlBatchSpan.setAttribute('items.queue.size', queueSize);\n\n\t\tif (batchProcessingTime > 0) {\n\t\t\tgqlBatchSpan.setAttribute('gql.batch.queuing.delay', batchProcessingTime);\n\t\t\toperations.forEach(({queryContext}) => {\n\t\t\t\tconst operationSpan = queryContext?.getActiveSpan();\n\t\t\t\tconst gqlBatchQueueEvent = operationSpan?.events.find(\n\t\t\t\t\tevent => event.name === 'gql.batch.enqueue'\n\t\t\t\t);\n\t\t\t\tif (gqlBatchQueueEvent) {\n\t\t\t\t\toperationSpan.setAttribute('gql.batch.queuing.delay', batchEnd - gqlBatchQueueEvent.time);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tgqlBatchSpan.end();\n\t}\n\treturn null;\n}\n\nexport {\n\tappendSpanAttribute,\n\tstartBatchTracing,\n\tupdateHeadersWithSpan,\n\tcompleteBatchTracking,\n\taddEventToBatchSpan,\n\tcrossLinkBatchSpan\n};\n","import {mark, types as metrics} from '@servicenow/ui-metrics';\nimport createSnHttp from './snHttp';\nimport documentToQueryString from './documentToQueryString';\nimport {defer} from '@servicenow/ui-internal';\nimport {checkCacheForResult, shouldDoResultCaching, storeResultInCache} from './resultsCache';\nimport {getGraphQLDocument} from '../utils/graphQLDocument';\nimport {\n\tstartBatchTracing,\n\tcompleteBatchTracking,\n\tupdateHeadersWithSpan,\n\taddEventToBatchSpan,\n\tcrossLinkBatchSpan\n} from '../utils/traceHelper';\n\nconst DEFAULT_GQL_ENDPOINT = '/api/now/graphql';\nconst DEFAULT_BATCH_INTERVAL = 50;\nconst DEFAULT_MAX_BATCH_SIZE = 10;\nconst DEFAULT_BATCHING_ENABLED = true;\n\n//The instance does not support streaming GraphQL requests with 'batched' GraphQL requests,\n//so double check here again we only get one operation\nexport function createMultipartConfiguration(operations) {\n\tif (operations?.length !== 1) return null;\n\n\tconst {queryContext} = operations[0];\n\tif (!queryContext?.isStreamingRequest()) return null;\n\n\treturn {\n\t\tmultipartConsumer: ({body, headers} = {}) => queryContext.dataReceived(body, headers),\n\t\tparsePartsAsJson: true,\n\t\temitCompletedResponse: false\n\t};\n}\n\n//For now we do not allow streaming within streaming when batching, when this is resolved, we can\n//remove the 'operation.queryContext.isStreamingRequest()' check\nexport function canDoSnHttpLevelBatching(operations) {\n\tif (!Array.isArray(operations)) return;\n\n\tlet canDoBatching;\n\tfor (var operation of operations) {\n\t\tif (operation.__unstableDisableBatching || operation?.queryContext?.isStreamingRequest()) {\n\t\t\tcanDoBatching = false;\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn canDoBatching;\n}\n\nexport default function createQueryBatcher({\n\tbatchInterval = DEFAULT_BATCH_INTERVAL,\n\tmaxBatchSize = DEFAULT_MAX_BATCH_SIZE,\n\tbatchingEnabled = DEFAULT_BATCHING_ENABLED\n} = {}) {\n\tlet queue = [];\n\tlet gqlBatchSpan;\n\n\tasync function enqueue(operation) {\n\t\tgqlBatchSpan = startBatchTracing({operation, maxBatchSize, batchInterval, gqlBatchSpan});\n\t\tlet deferredResolve, deferredReject;\n\t\tconst promise = new Promise((resolve, reject) => {\n\t\t\tdeferredResolve = resolve;\n\t\t\tdeferredReject = reject;\n\t\t});\n\t\tconst batchItem = {\n\t\t\toperation,\n\t\t\tdeferredResolve,\n\t\t\tdeferredReject\n\t\t};\n\n\t\tif (shouldDoResultCaching(operation)) {\n\t\t\tconst cacheResult = await checkCacheForResult(operation, batchItem, makeRequest);\n\t\t\tif (cacheResult) return cacheResult;\n\t\t}\n\t\tif (shouldNotDoGraphQLLevelBatching(operation)) {\n\t\t\tmakeRequest([batchItem]);\n\t\t\treturn promise;\n\t\t}\n\t\tqueue.push(batchItem);\n\t\taddEventToBatchSpan(operation, gqlBatchSpan, queue);\n\t\tif (queue.length === 1) {\n\t\t\tscheduleFlush();\n\t\t}\n\n\t\tif (queue.length === maxBatchSize) flushQueue();\n\t\treturn promise;\n\t}\n\n\t/**\n\t * This function determines if this graphQL operation should be batched.\n\t * If it defines any custom headers, or batching is not enabled globally,\n\t * or the query is known to be unstable, or it is a streaming graphql request,\n\t * or it has query params, we do not batch\n\t * @param {*} operation\n\t * @returns {boolean}\n\t */\n\tfunction shouldNotDoGraphQLLevelBatching(operation) {\n\t\tconst {transactionMetaData = {}, headers = [], queryContext} = operation;\n\t\treturn (\n\t\t\tObject.keys(headers).length ||\n\t\t\t!batchingEnabled ||\n\t\t\ttransactionMetaData?.__unstableDisableBatching ||\n\t\t\tqueryContext?.isStreamingRequest() ||\n\t\t\tObject.keys(transactionMetaData?.params || {}).length\n\t\t);\n\t}\n\n\tfunction scheduleFlush() {\n\t\tdefer(() => {\n\t\t\tif (queue.length) flushQueue();\n\t\t\telse gqlBatchSpan = null;\n\t\t}, batchInterval);\n\t}\n\n\tfunction flushQueue() {\n\t\tif (!queue.length) {\n\t\t\tgqlBatchSpan = null;\n\t\t\treturn;\n\t\t}\n\n\t\tconst batchItems = queue;\n\t\tqueue = [];\n\t\tif (gqlBatchSpan)\n\t\t\tgqlBatchSpan.addEvent(\n\t\t\t\t'items.queue.flush',\n\t\t\t\t{\n\t\t\t\t\tqueueSize: batchItems.length\n\t\t\t\t},\n\t\t\t\tDate.now()\n\t\t\t);\n\t\tmakeRequest(batchItems);\n\t}\n\n\tfunction makeRequest(batchItems = []) {\n\t\treturn sendRequestWithCanOmitQuery(batchItems, true);\n\t}\n\n\tasync function sendRequestWithCanOmitQuery(batchItems, canOmitQuery) {\n\t\tconst operations = await Promise.all(\n\t\t\tbatchItems.map(async ({operation}) => {\n\t\t\t\tconst {\n\t\t\t\t\toperationName,\n\t\t\t\t\tvariables,\n\t\t\t\t\ttemplateVars,\n\t\t\t\t\tdomainContext,\n\t\t\t\t\ttransactionMetaData: {\n\t\t\t\t\t\tcacheable,\n\t\t\t\t\t\tinteractionId,\n\t\t\t\t\t\t__unstableDisableBatching,\n\t\t\t\t\t\t__unstableQueryHash,\n\t\t\t\t\t\tquery,\n\t\t\t\t\t\thost\n\t\t\t\t\t},\n\t\t\t\t\tqueryContext\n\t\t\t\t} = operation;\n\t\t\t\treturn {\n\t\t\t\t\toperationName,\n\t\t\t\t\tquery:\n\t\t\t\t\t\t__unstableQueryHash && canOmitQuery\n\t\t\t\t\t\t\t? ''\n\t\t\t\t\t\t\t: documentToQueryString(\n\t\t\t\t\t\t\t\t\tgetGraphQLDocument(query, templateVars, domainContext, operationName)\n\t\t\t\t\t\t\t  ),\n\t\t\t\t\tvariables,\n\t\t\t\t\tnowUxInteraction:\n\t\t\t\t\t\t(window.nowUiFramework &&\n\t\t\t\t\t\t\t(window.nowUiFramework.getUxrInteractionIdByHost?.(host) ||\n\t\t\t\t\t\t\t\twindow.nowUiFramework.uxrInteractionId)) ||\n\t\t\t\t\t\tnull,\n\t\t\t\t\tnowUiInteraction: interactionId,\n\t\t\t\t\tcacheable,\n\t\t\t\t\t__unstableDisableBatching,\n\t\t\t\t\textensions: {\n\t\t\t\t\t\t...(__unstableQueryHash && {\n\t\t\t\t\t\t\tpersistedQuery: {version: 1, sha256Hash: __unstableQueryHash}\n\t\t\t\t\t\t})\n\t\t\t\t\t},\n\t\t\t\t\tqueryContext\n\t\t\t\t};\n\t\t\t})\n\t\t);\n\n\t\tconst resolvers = batchItems.map(({deferredResolve, deferredReject}) => ({\n\t\t\tdeferredResolve,\n\t\t\tdeferredReject\n\t\t}));\n\n\t\tconst headers = batchItems[0].operation.headers || {};\n\t\tif (window.nowUiFramework && window.nowUiFramework.uxrInteractionId)\n\t\t\theaders['NOW-UX-INTERACTION'] = operations[0].nowUxInteraction;\n\n\t\tconst mergedParams = {};\n\t\tconst isBatched = operations.length !== 1 || !shouldNotDoGraphQLLevelBatching(operations[0]);\n\t\tfor (let i = 0; i < batchItems.length; i++) {\n\t\t\tconst {\n\t\t\t\ttransactionMetaData: {host, interactionId, actionType, params},\n\t\t\t\tquery,\n\t\t\t\tvariables,\n\t\t\t\tqueryContext\n\t\t\t} = batchItems[i].operation;\n\t\t\tmark(host, interactionId, metrics.GQL, {\n\t\t\t\ttype: actionType,\n\t\t\t\tquery,\n\t\t\t\tvariables,\n\t\t\t\tpath: DEFAULT_GQL_ENDPOINT,\n\t\t\t\tbatch: isBatched\n\t\t\t});\n\t\t\tupdateHeadersWithSpan({\n\t\t\t\tqueryContext,\n\t\t\t\tquery,\n\t\t\t\tbatch: isBatched,\n\t\t\t\theaders,\n\t\t\t\tgqlBatchSpan,\n\t\t\t\toperations,\n\t\t\t\tindex: i\n\t\t\t});\n\t\t\tcrossLinkBatchSpan(gqlBatchSpan, queryContext?.getActiveSpan());\n\t\t\tObject.assign(mergedParams, params);\n\t\t}\n\t\tconst snHttpRef =\n\t\t\t(window?.nowUiFramework?.batchGQLEffectRequests && window?.nowUiFramework?.snHttp) ||\n\t\t\t(await createSnHttp());\n\t\treturn snHttpRef\n\t\t\t.request(DEFAULT_GQL_ENDPOINT, 'POST', {\n\t\t\t\t//Only send the request in a batch format (in array) if we have more than one operation\n\t\t\t\tdata: operations.length === 1 ? operations[0] : operations,\n\t\t\t\theaders,\n\t\t\t\tbatch: canDoSnHttpLevelBatching(operations),\n\t\t\t\tmultipartConfig: createMultipartConfiguration(operations),\n\t\t\t\tparams: mergedParams,\n\t\t\t\tspan: gqlBatchSpan\n\t\t\t})\n\t\t\t.then(async result => {\n\t\t\t\treturn processResult(result, operations, resolvers, batchItems);\n\t\t\t})\n\t\t\t.catch(error => {\n\t\t\t\tfor (let i = 0; i < resolvers.length; i++) {\n\t\t\t\t\tconst {deferredReject} = resolvers[i];\n\t\t\t\t\tdeferredReject(error);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tgqlBatchSpan = completeBatchTracking(gqlBatchSpan, isBatched, operations);\n\t\t\t});\n\t}\n\n\tfunction checkResultForErrors(result, operations) {\n\t\tconst {data: results, headers = {}} = result;\n\n\t\tif (operations.length > 1 && results.length !== operations.length) {\n\t\t\tconst error = new Error();\n\t\t\terror.response = {\n\t\t\t\theaders\n\t\t\t};\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\tfunction processResult(result, operations, resolvers, batchItems) {\n\t\tcheckResultForErrors(result, operations);\n\t\tconst {data, headers = {}} = result;\n\t\tlet results = data;\n\n\t\t//If we didn't batch our request, convert it back to an array\n\t\tif (!Array.isArray(results)) {\n\t\t\tresults = [results];\n\t\t}\n\n\t\tconst returnResult = [];\n\t\tfor (let i = 0; i < results.length; i++) {\n\t\t\tconst currOperation = operations[i];\n\t\t\tconst queryContext = currOperation?.queryContext;\n\t\t\tconst {deferredResolve} = resolvers[i];\n\n\t\t\tlet currResults = results[i];\n\t\t\t//For streaming queries get the final result from the QueryContext\n\t\t\tif (queryContext?.wasStreamingResponse(headers)) currResults = queryContext?.response;\n\n\t\t\tconst {data = null, errors = []} = currResults || {};\n\n\t\t\t// need to re-run the entire query because a persisted query wasn't found, run without persisted\n\t\t\tif (errors.some(({message}) => message === 'PersistedQueryNotFound')) {\n\t\t\t\tqueryContext?.resetContext();\n\t\t\t\treturn sendRequestWithCanOmitQuery(batchItems, false);\n\t\t\t}\n\n\t\t\tif (!errors.length) storeResultInCache(currOperation, currResults, headers);\n\n\t\t\treturnResult.push({data, errors, headers});\n\t\t\tdeferredResolve({data, errors, headers});\n\t\t}\n\n\t\treturn returnResult;\n\t}\n\n\treturn {\n\t\tenqueue\n\t};\n}\n","import {getConfigItem, configConstants} from '@servicenow/ui-config';\nimport createQueryBatcher from './createQueryBatcher';\n\nconst {DISABLE_GQL_BATCHING} = configConstants;\nconst batchingEnabled = !getConfigItem(DISABLE_GQL_BATCHING);\n\nconst batcher = createQueryBatcher({\n\tbatchingEnabled\n});\n\nexport default function sendRequest(\n\toperationName = '',\n\tvariables = {},\n\ttemplateVars = {},\n\tdomainContext = {},\n\theaders = {},\n\ttransactionMetaData,\n\tqueryContext\n) {\n\tconst operation = {\n\t\tvariables,\n\t\ttemplateVars,\n\t\tdomainContext,\n\t\theaders,\n\t\toperationName,\n\t\ttransactionMetaData,\n\t\tqueryContext\n\t};\n\n\treturn batcher.enqueue(operation);\n}\n","export default function createRegistryId(containerId, subscriptionId) {\n\treturn `${containerId}-${subscriptionId}`;\n}\n","import amb from 'amb-client-js';\n\nlet ambClient;\nlet clientUrl;\nexport default function getAMBClient(url = null) {\n\tif (!ambClient) {\n\t\tclientUrl = url;\n\t\tambClient = amb.getClient(clientUrl);\n\t}\n\tif (clientUrl !== url) throw new Error('Subsequent amb client request has different url');\n\treturn ambClient;\n}\n","import {get, defer} from '@servicenow/ui-internal';\n\nconst ENTER = 'enter';\nconst CHANGE = 'change';\nconst EXIT = 'exit';\nconst ABANDONED = 'abandoned';\n\nexport const GRAPHQL_SUBSCRIPTION_STARTED = 'GRAPHQL_SUBSCRIPTION_STARTED';\nexport const GRAPHQL_SUBSCRIPTION_SUCCEEDED = 'GRAPHQL_SUBSCRIPTION_SUCCEEDED';\nexport const GRAPHQL_SUBSCRIPTION_FAILED = 'GRAPHQL_SUBSCRIPTION_FAILED';\nexport const GRAPHQL_UNSUBSCRIBE_SUCCEEDED = 'GRAPHQL_UNSUBSCRIBE_SUCCEEDED';\nexport const GRAPHQL_SUBSCRIPTION_ITEM_ENTERED = 'GRAPHQL_SUBSCRIPTION_ITEM_ENTERED';\nexport const GRAPHQL_SUBSCRIPTION_ITEM_CHANGED = 'GRAPHQL_SUBSCRIPTION_ITEM_CHANGED';\nexport const GRAPHQL_SUBSCRIPTION_ITEM_EXITED = 'GRAPHQL_SUBSCRIPTION_ITEM_EXITED';\nexport const GRAPHQL_SUBSCRIPTION_CONDITION_ABANDONED = 'GRAPHQL_SUBSCRIPTION_CONDITION_ABANDONED';\n\nfunction createSubscriptionCallback(dispatch, successActionType, errorActionType, actionMetaData) {\n\t// use setTimeout because of an AMB client subscription timing issue\n\treturn response =>\n\t\tdefer(() => {\n\t\t\tif (response.successful) {\n\t\t\t\tdispatch(successActionType, {response}, actionMetaData);\n\t\t\t} else {\n\t\t\t\tconst {error} = response;\n\t\t\t\tdispatch(errorActionType, error, actionMetaData, true);\n\t\t\t}\n\t\t});\n}\n\n/**\n * Manges AMB subscription\n *\n * State should follow:\n * channelId has changed, always unsubscribe first\n * isSubscribed: true, shouldSubscribe: true    = Do nothing\n * isSubscribed: true, shouldSubscribe: false   = unsubscribe\n * isSubscribed: false, shouldSubscribe: true   = subscribe\n * isSubscribed: false, shouldSubscribe: false  = Do nothing\n *\n * @private\n * @param config\n */\nexport default function handleAMBSubscription(config) {\n\tconst {\n\t\tshouldSubscribe,\n\t\tambClient,\n\t\tambChannelRegistry,\n\t\toptions,\n\t\tactionMetaData,\n\t\tregistryId,\n\t\tchannelId,\n\t\tserializedSubscription: serializedGraphQLSubscription,\n\t\tdispatch\n\t} = config;\n\n\tconst {\n\t\tsubscriptionStartedActionType = GRAPHQL_SUBSCRIPTION_STARTED,\n\t\tsubscriptionSuccessActionType = GRAPHQL_SUBSCRIPTION_SUCCEEDED,\n\t\tsubscriptionFailedActionType = GRAPHQL_SUBSCRIPTION_FAILED,\n\t\tunsubscribeSuccessActionType = GRAPHQL_UNSUBSCRIBE_SUCCEEDED,\n\t\titemEnteredActionType = GRAPHQL_SUBSCRIPTION_ITEM_ENTERED,\n\t\titemChangedActionType = GRAPHQL_SUBSCRIPTION_ITEM_CHANGED,\n\t\titemExitedActionType = GRAPHQL_SUBSCRIPTION_ITEM_EXITED,\n\t\tconditionAbandonedActionType = GRAPHQL_SUBSCRIPTION_CONDITION_ABANDONED\n\t} = options;\n\n\tconst subscriptionCallback = createSubscriptionCallback(\n\t\tdispatch,\n\t\tsubscriptionSuccessActionType,\n\t\tsubscriptionFailedActionType,\n\t\tactionMetaData\n\t);\n\n\tif (!ambChannelRegistry.has(registryId)) {\n\t\tambChannelRegistry.set(\n\t\t\tregistryId,\n\t\t\tambClient.getChannel(channelId, {\n\t\t\t\tsubscriptionCallback,\n\t\t\t\tserializedGraphQLSubscription\n\t\t\t})\n\t\t);\n\t}\n\n\tlet channelListener = ambChannelRegistry.get(registryId);\n\tconst channelIdChanged = channelId !== channelListener.getName();\n\n\tif (channelIdChanged) {\n\t\tchannelListener.unsubscribe();\n\t\tambChannelRegistry.set(\n\t\t\tregistryId,\n\t\t\tambClient.getChannel(channelId, {\n\t\t\t\tsubscriptionCallback,\n\t\t\t\tserializedGraphQLSubscription\n\t\t\t})\n\t\t);\n\t\tchannelListener = ambChannelRegistry.get(registryId);\n\t}\n\n\tconst isSubscribed = channelListener.getCallback() !== undefined;\n\tif (!isSubscribed && shouldSubscribe) {\n\t\tdispatch(subscriptionStartedActionType, {}, actionMetaData);\n\t\tchannelListener.subscribe(message => {\n\t\t\tconst fields = get(message, 'data.data.GlideRecord_Subscription', {});\n\t\t\tfor (const key in fields) {\n\t\t\t\tif (key === '__typename') return;\n\n\t\t\t\tconst state = get(fields[key], '_subscription.subscription_state');\n\t\t\t\tswitch (state) {\n\t\t\t\t\tcase CHANGE:\n\t\t\t\t\t\tdispatch(itemChangedActionType, message.data.data, actionMetaData);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase ENTER:\n\t\t\t\t\t\tdispatch(itemEnteredActionType, message.data.data, actionMetaData);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase EXIT:\n\t\t\t\t\t\tdispatch(itemExitedActionType, message.data.data, actionMetaData);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase ABANDONED:\n\t\t\t\t\t\tdispatch(conditionAbandonedActionType, message.data.data, actionMetaData);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else if (isSubscribed && !shouldSubscribe) {\n\t\tchannelListener.unsubscribe();\n\t\tambChannelRegistry.delete(registryId);\n\t\tdispatch(unsubscribeSuccessActionType, {}, actionMetaData);\n\t}\n}\n","import getChannelsFromSubscriptionQuery from './getChannelsFromSubscriptionQuery';\nimport handleAMBSubscription from './handleAMBSubscription';\n\n/**\n * Sets up handlers for each gql amb subscription\n *\n * @private\n * @param action\n * @param options\n * @param resultData\n * @param actionMetaData\n * @param dispatch\n * @param registryId\n * @param ambClient\n * @param ambChannelRegistry\n */\nexport default function handleGraphQLSubscription(\n\taction,\n\toptions,\n\tresultData,\n\tactionMetaData,\n\tdispatch,\n\tregistryId,\n\tambClient,\n\tambChannelRegistry\n) {\n\tconst {payload} = action;\n\tconst {subscribe: shouldSubscribe = false} = payload;\n\tconst channels = getChannelsFromSubscriptionQuery(resultData);\n\tconst {length: channelsLength} = channels;\n\tfor (let i = 0; i < channelsLength; i++) {\n\t\thandleAMBSubscription({\n\t\t\tshouldSubscribe,\n\t\t\tregistryId,\n\t\t\t...channels[i],\n\t\t\tambClient,\n\t\t\tambChannelRegistry,\n\t\t\toptions,\n\t\t\tactionMetaData,\n\t\t\tdispatch\n\t\t});\n\t}\n}\n","import {get, values} from '@servicenow/ui-internal';\n\n/**\n * Gets a list of channel ids and serialized graphql subscriptions from a given subscription query result.\n *\n * @private\n * @method getChannelsFromSubscriptionQuery\n * @param {Object} data Subscription query results.\n * @returns {Array} Object containing channel id and serialized graphql subscription for AMB.\n */\nexport default function getChannelsFromSubscriptionQuery(data) {\n\tconst items = values(get(data, 'GlideRecord_Subscription'));\n\tconst channels = [];\n\tconst {length: itemsLength} = items;\n\n\tfor (let i = 0; i < itemsLength; i++) {\n\t\tconst item = items[i];\n\t\tconst channelId = get(item, '_subscription.subscription_channel');\n\t\tconst serializedSubscription = get(item, '_subscription.serialized_subscription');\n\n\t\tif (channelId && serializedSubscription) channels.push({channelId, serializedSubscription});\n\t}\n\n\treturn channels;\n}\n","import {set} from '@servicenow/ui-utils';\n\nexport default class QueryContext {\n\tconstructor(contextArguments) {\n\t\tconst {\n\t\t\tinitialPayloadActionType,\n\t\t\tadditionalDataActionType,\n\t\t\tsuccessActionType,\n\t\t\tdispatch,\n\t\t\tactionMetaData = {},\n\t\t\tspan\n\t\t} = contextArguments;\n\t\tthis.initialPayloadActionType = initialPayloadActionType;\n\t\tthis.additionalDataActionType = additionalDataActionType;\n\t\tthis.successActionType = successActionType;\n\t\tthis.dispatchFunction = dispatch;\n\t\tthis.actionMetadata = actionMetaData;\n\t\tthis.activeSpan = span;\n\t\tthis.resetContext();\n\t}\n\n\tdataReceived(dataReceived, responseHeaders = null) {\n\t\tif (dataReceived === null || dataReceived === undefined || dataReceived.data === undefined) {\n\t\t\tif (this.initialPayloadEmpty) this.setFirstDataReceived({data: {}});\n\t\t\treturn;\n\t\t}\n\n\t\t//Set initial payload data\n\t\tif (this.initialPayloadEmpty) {\n\t\t\tthis.setFirstDataReceived(dataReceived);\n\t\t\tthis.dispatchInitialPayloadAction(responseHeaders);\n\t\t} else {\n\t\t\tthis.updateDataReceived(dataReceived);\n\t\t\tthis.dispatchAdditionalDataAction(dataReceived, responseHeaders);\n\t\t}\n\t}\n\n\tsetFirstDataReceived(data) {\n\t\tthis.initialPayloadEmpty = false;\n\t\tthis.finalPayload = data;\n\t}\n\n\tupdateDataReceived(updatePayload) {\n\t\t//Merge new data\n\t\tif (Array.isArray(updatePayload.path))\n\t\t\tset(this.finalPayload.data, updatePayload.path, updatePayload.data);\n\n\t\t//Merge any new errors\n\t\tconst receivedErrors = updatePayload.errors;\n\t\tif (Array.isArray(receivedErrors) && receivedErrors.length) {\n\t\t\tif (!Array.isArray(this.finalPayload.errors)) this.finalPayload.errors = [];\n\n\t\t\tthis.finalPayload.errors = this.finalPayload.errors.concat(receivedErrors);\n\t\t}\n\t}\n\n\tsuccessPayloadReceived(payload, responseHeaders = null) {\n\t\t//If we've already received data then we can ignore this payload and just dispatch the\n\t\t//success action, otherwise we set the payload, and if they have designated a dataReceivedActionType\n\t\t//we dispatch that also\n\t\tif (this.initialPayloadEmpty) {\n\t\t\tthis.setFirstDataReceived(payload);\n\t\t\tthis.dispatchInitialPayloadAction(responseHeaders, false);\n\t\t}\n\n\t\tthis.dispatchSuccessAction(responseHeaders);\n\t}\n\n\tdispatchInitialPayloadAction(responseHeaders, shouldClone = true) {\n\t\t//Don't dispatch if we have a PersistedQueryException! Seems kind of arbitrary here, not sure where\n\t\t//else to put this check\n\t\tconst {errors = []} = this.finalPayload;\n\t\tif (errors.some(({errorType}) => errorType === 'PersistedQueryNotFound')) return;\n\n\t\tif (this.dispatchFunction && this.initialPayloadActionType) {\n\t\t\tthis.dispatchFunction(\n\t\t\t\tthis.initialPayloadActionType,\n\t\t\t\t//Since this is just JSON from the graphql response, we can do a stringify/parse to clone it\n\t\t\t\tshouldClone ? JSON.parse(JSON.stringify(this.finalPayload)) : this.finalPayload,\n\t\t\t\t{\n\t\t\t\t\t...this.actionMetadata,\n\t\t\t\t\tresponseHeaders\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\tdispatchAdditionalDataAction(dataReceived, responseHeaders) {\n\t\tif (this.dispatchFunction && this.additionalDataActionType) {\n\t\t\tthis.dispatchFunction(this.additionalDataActionType, dataReceived, {\n\t\t\t\t...this.actionMetadata,\n\t\t\t\tresponseHeaders\n\t\t\t});\n\t\t}\n\t}\n\n\tdispatchSuccessAction(responseHeaders) {\n\t\tif (this.dispatchFunction && this.successActionType) {\n\t\t\tthis.dispatchFunction(this.successActionType, this.finalPayload, {\n\t\t\t\t...this.actionMetadata,\n\t\t\t\t...(this.activeSpan && {span: this.activeSpan}),\n\t\t\t\tresponseHeaders\n\t\t\t});\n\t\t}\n\t}\n\n\tget response() {\n\t\treturn this.finalPayload;\n\t}\n\n\tisStreamingRequest() {\n\t\treturn Boolean(this.initialPayloadActionType || this.additionalDataActionType);\n\t}\n\n\twasStreamingResponse(headers) {\n\t\treturn Boolean(\n\t\t\theaders?.['content-type']?.includes('multipart/mixed') && this.isStreamingRequest()\n\t\t);\n\t}\n\n\tclearStreaming() {\n\t\tthis.initialPayloadActionType = undefined;\n\t\tthis.additionalDataActionType = undefined;\n\t}\n\n\tresetContext() {\n\t\tthis.finalPayload = {data: {}};\n\t\tthis.initialPayloadEmpty = true;\n\t}\n\n\tgetActiveSpan() {\n\t\treturn this.activeSpan;\n\t}\n\n\t//We dont want this to serialize to anything in case it is included in requests\n\ttoJSON() {\n\t\treturn null;\n\t}\n}\n","import * as uiAnalyticsConsumer from '@servicenow/ui-analytics-consumer';\nimport {getInteractionId} from '@servicenow/ui-metrics';\nimport {createHttpErrorAction, resolveDomainContext} from '@servicenow/ui-effect-helpers';\nimport {sendRequest} from './http';\nimport {configConstants, getConfigItem} from '@servicenow/ui-config';\n\nimport {\n\tcreateSubscriptionId,\n\tcreateRegistryId,\n\tgetAMBClient,\n\thandleGraphQLSubscription\n} from './subscriptions';\n\nimport {createGraphQLDocument, getOperationName, getSpanOptions} from './utils';\n\nimport {\n\tdefer,\n\tpick,\n\taddPendingNetworkActionForHost,\n\tisEqual,\n\tremovePendingNetworkActionForHost\n} from '@servicenow/ui-internal';\n\nimport documentToQueryString from './http/documentToQueryString';\nimport QueryContext from './queryContext';\nimport {SPAN_FOR_GRAPHQL, SPAN_KIND_CLIENT} from './constants';\nconst {trace, isValidTraceId} = uiAnalyticsConsumer;\nconst ambChannelRegistry = new Map();\n\nexport const GRAPHQL_REQUEST_STARTED = 'GRAPHQL_REQUEST_STARTED';\nexport const GRAPHQL_REQUEST_SUCCEEDED = 'GRAPHQL_REQUEST_SUCCEEDED';\nexport const GRAPHQL_REQUEST_FAILED = 'GRAPHQL_REQUEST_FAILED';\nexport const GRAPHQL_CACHE_UPDATED = 'GRAPHQL_CACHE_UPDATED';\n\nconst {GQL_CACHING_REFRESH_DELAY} = configConstants;\n\nconst cacheDelay = getConfigItem(GQL_CACHING_REFRESH_DELAY) || 10000;\n\nexport async function hashQuery(rawQuery) {\n\tconst gqlDoc = createGraphQLDocument(rawQuery);\n\tconst queryString = documentToQueryString(gqlDoc);\n\tconst msgUint8 = new TextEncoder().encode(queryString);\n\tconst hashBuffer = await crypto.subtle.digest('SHA-256', msgUint8);\n\tconst hashArray = Array.from(new Uint8Array(hashBuffer));\n\tconst hashHex = hashArray.map(b => b.toString(16).padStart(2, '0')).join('');\n\treturn hashHex;\n}\n\nexport function* gqlEffect(\n\tquery,\n\toptions = {},\n\tsubscriptionId,\n\tgetAMBClient,\n\tambChannelRegistry,\n\tcoeffects\n) {\n\tconst {\n\t\tvariableList = [],\n\t\ttemplateVarList = [],\n\t\theaderList = [],\n\t\tcacheable = false,\n\t\t__unstableQueryHash = null,\n\t\tstartActionType = GRAPHQL_REQUEST_STARTED,\n\t\tstreaming = null,\n\t\tsuccessActionType = GRAPHQL_REQUEST_SUCCEEDED,\n\t\terrorActionType = GRAPHQL_REQUEST_FAILED,\n\t\tcacheUpdateActionType = GRAPHQL_CACHE_UPDATED,\n\t\tqueryParams = []\n\t} = options;\n\n\tconst containerId = coeffects.action.meta.id;\n\tconst registryId = createRegistryId(containerId, subscriptionId);\n\n\tconst {action, dispatch, host} = coeffects;\n\tconst {payload = {}} = action;\n\tconst variables = pick(payload, variableList);\n\tconst templateVars = pick(payload, templateVarList);\n\tconst headers = pick(payload, headerList);\n\tconst params = pick(payload, queryParams);\n\n\tconst parentSpan = action.meta.span;\n\tconst gqlSpan =\n\t\tparentSpan &&\n\t\ttrace(SPAN_FOR_GRAPHQL, {\n\t\t\t...getSpanOptions(host),\n\t\t\tkind: SPAN_KIND_CLIENT,\n\t\t\ttraceId: parentSpan.traceId,\n\t\t\t...(isValidTraceId(parentSpan.traceId) && {parentSpan})\n\t\t});\n\n\tconst actionMetaData = {\n\t\t...action.meta,\n\t\t...(gqlSpan && isValidTraceId(gqlSpan.traceId) && {span: gqlSpan}),\n\t\toptions: {\n\t\t\tquery,\n\t\t\tvariables,\n\t\t\ttemplateVars,\n\t\t\theaders\n\t\t}\n\t};\n\taddPendingNetworkActionForHost(action, host);\n\ttry {\n\t\tconst queryContext = new QueryContext({\n\t\t\tinitialPayloadActionType: streaming?.initialPayloadActionType,\n\t\t\tadditionalDataActionType: streaming?.additionalDataActionType,\n\t\t\tsuccessActionType,\n\t\t\tdispatch,\n\t\t\tactionMetaData,\n\t\t\tspan: gqlSpan && isValidTraceId(gqlSpan.traceId) ? gqlSpan : null\n\t\t});\n\t\tconst operationName = getOperationName(host.tagName);\n\t\tconst domainContext = resolveDomainContext(host);\n\n\t\tif (domainContext) actionMetaData.domainContext = domainContext;\n\n\t\tdispatch(startActionType, {}, actionMetaData);\n\t\tconst interactionId = getInteractionId(action.meta);\n\n\t\tconst result = yield sendRequest(\n\t\t\toperationName,\n\t\t\tvariables,\n\t\t\ttemplateVars,\n\t\t\tdomainContext,\n\t\t\theaders,\n\t\t\t{\n\t\t\t\thost,\n\t\t\t\tinteractionId,\n\t\t\t\tactionType: action.type,\n\t\t\t\tcacheable,\n\t\t\t\t__unstableDisableBatching: payload.__unstableDisableBatching,\n\t\t\t\t__unstableQueryHash,\n\t\t\t\tquery,\n\t\t\t\tparams\n\t\t\t},\n\t\t\tqueryContext\n\t\t);\n\t\tconst {\n\t\t\theaders: responseHeaders,\n\t\t\tisCachedResult = false,\n\t\t\trefetchPromise = null,\n\t\t\t...successPayload\n\t\t} = result;\n\n\t\tqueryContext.successPayloadReceived(successPayload, responseHeaders);\n\t\tif (isCachedResult && refetchPromise) {\n\t\t\tdefer(() => {\n\t\t\t\trefetchPromise().then(refetchResult => {\n\t\t\t\t\t// compare cachedResult and refetchResult, refetch result will not be streamed\n\t\t\t\t\t// so can use refetchResult directly for comparison\n\t\t\t\t\tif (!isEqual(queryContext.finalPayload.data, refetchResult[0].data)) {\n\t\t\t\t\t\tdispatch(cacheUpdateActionType, refetchResult[0], {\n\t\t\t\t\t\t\t...actionMetaData,\n\t\t\t\t\t\t\tspan: gqlSpan,\n\t\t\t\t\t\t\tresponseHeaders\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}, cacheDelay);\n\t\t}\n\n\t\t// isSubscription() searches for path 'definitions[0].operation' in the original document\n\t\t// for better performance, shortcut subscription detection without using createGraphQLDocument\n\t\tif (query?.trimStart().startsWith('subscription')) {\n\t\t\tconst {data} = result;\n\t\t\tconst ambClient = getAMBClient();\n\t\t\thandleGraphQLSubscription(\n\t\t\t\taction,\n\t\t\t\toptions,\n\t\t\t\tdata,\n\t\t\t\tactionMetaData,\n\t\t\t\tdispatch,\n\t\t\t\tregistryId,\n\t\t\t\tambClient,\n\t\t\t\tambChannelRegistry\n\t\t\t);\n\t\t}\n\t} catch (error) {\n\t\tconst {response = {}, result} = error;\n\t\tconst {status, statusText} = response;\n\t\tconst responseHeaders = response?.headers;\n\n\t\tdispatch(\n\t\t\terrorActionType,\n\t\t\terror,\n\t\t\t{\n\t\t\t\t...actionMetaData,\n\t\t\t\t...(gqlSpan && isValidTraceId(gqlSpan.traceId) && {span: gqlSpan}),\n\t\t\t\tresponseHeaders\n\t\t\t},\n\t\t\ttrue\n\t\t);\n\n\t\t// Standard action dispatched on HTTP errors from the server\n\t\tconst {\n\t\t\ttype,\n\t\t\tpayload,\n\t\t\tmeta,\n\t\t\terror: httpError\n\t\t} = createHttpErrorAction(status, statusText, '', result, actionMetaData);\n\t\tif (gqlSpan && isValidTraceId(gqlSpan.traceId)) meta.span = gqlSpan;\n\t\tdispatch(type, payload, meta, httpError);\n\t} finally {\n\t\tremovePendingNetworkActionForHost(action, host);\n\t\tif (gqlSpan) gqlSpan.end();\n\t}\n}\n\n/**\n * Effect that makes a GraphQL request and dispatches actions at relevant parts of the life cycle:\n *  - Before the request is sent\n *  - After the request has returned (success or error)\n *\n * The Success and Action Types that are returned also contain a `meta` property with helpful information\n * useful for debugging purposes including the response headers.\n *\n * @function createGraphQLEffect\n * @example\n * import {createGraphQLEffect} from '@servicenow/ui-effect-graphql';\n *\n * const incidentQuery = `query ($sys_id: String!) {\n *                          GlideRecord_Query (sys_id: $sys_id) {\n *                            incident {\n *                              _results {\n *                                sys_id {\n *                                  displayValue\n *                                }\n *                              }\n *                            }\n *                          }\n *                        }`;\n *\n * const fetchIncidentEffect = createGraphQLEffect(incidentQuery, {\n *     variableList: ['sys_id']\n * });\n *\n * // Register with component action handlers:\n * {\n *     actionHandlers:{\n *         'INCIDENT_FETCHED': fetchIncidentEffect\n *     }\n * }\n *\n * @param {String} query - GraphQL query\n * @param {Object} options\n * @param {Array<String>} options.variableList - GraphQL variables to use from action payload\n * @param {Array<String>} options.templateVarList - Template variables to use from action payload\n * @param {Object<String>} options.headerList - GraphQL request headers\n * @param {String} options.startActionType - Action to be dispatched when the GraphQL request has been issued\n * @param {Object} options.streaming - A JSON object to describe how to handle data when a streaming GraphQL response is expected\n * @param {String} options.&lt;streaming&gt;.initialPayloadActionType - The action to be dispatched when the initial part of the GraphQL payload is received\n * @param {String} options.&lt;streaming&gt;.additionalDataActionType - The action to be dispatched when a streaming update for the GraphQL response is received, this action (assuming the GraphQL Endpoint & schema support it) will be called multiple times until the whole payload is received. The updates will be received in the following format https://github.com/graphql/graphql-wg/blob/main/rfcs/DeferStream.md#payload-format\n * @param {String} options.successActionType - Action to be dispatched when the GraphQL request has either successfully completed or failed with an error not related to network issue\n * @param {String} options.cacheUpdateActionType - Action to be dispatched when the GraphQL cache has been updated with a new value\n * @param {String} options.errorActionType - Action to be dispatched only when the GraphQL request has failed due to network errors, not due to errors thrown in Glide\n * @param {String} options.subscriptionStartedActionType - Action to be dispatched when GraphQL subscription starts\n * @param {String} options.subscriptionSuccessActionType - Action to be dispatched when GraphQL subscription succeeds\n * @param {String} options.subscriptionFailedActionType - Action to be dispatched when GraphQL subscription fails\n * @param {String} options.unsubscribeSuccessActionType - Action to be dispatched when unsubscribing from GraphQL subscription\n * @param {String} options.itemEnteredActionType - Action to be dispatched when an item enters the GraphQL subscription query\n * @param {String} options.itemChangedActionType - Action to be dispatched when an item has changed in the GraphQL subscription query\n * @param {String} options.itemExitedActionType - Action to be dispatched when an item exits the GraphQL subscription query\n * @param {Array<String>} options.queryParams - Array of properties in dispatched action to map values to URL query string variables (\"api/users?id=abc123)\n * @return {Object} GraphQL Effect Descriptor\n */\n\nexport default function createGraphQLEffect(query, options) {\n\treturn {\n\t\teffect: gqlEffect,\n\t\targs: [query, options, createSubscriptionId(), getAMBClient, ambChannelRegistry]\n\t};\n}\n","import {guid} from '@servicenow/ui-internal';\n\nexport default function createSubscriptionId() {\n\treturn guid();\n}\n","/**\n * @private\n * @param status\n * @param statusText\n * @param message\n * @param data\n * @param meta\n * @returns {{payload: {data: *, statusText: *, message: *, status: *}, meta: *, type: string, error: boolean}}\n */\nexport default function createHttpErrorAction(status, statusText, message, data, meta) {\n\treturn {\n\t\ttype: 'HTTP_ERROR_OCCURRED',\n\t\tpayload: {\n\t\t\tstatus,\n\t\t\tstatusText,\n\t\t\tmessage,\n\t\t\tdata\n\t\t},\n\t\tmeta: {\n\t\t\t...meta,\n\t\t\tstopPropagation: false,\n\t\t\tstatus,\n\t\t\tstatusText\n\t\t},\n\t\terror: true\n\t};\n}\n","import {domainSeparationProperties, memoize, kebabCase} from '@servicenow/ui-internal';\n\nconst toAttributeName = memoize(\n\tfunction toAttributeName(propName) {\n\t\treturn kebabCase(propName);\n\t},\n\t{profileName: 'effect-helpers-toAttributeName'}\n);\n\nconst {NOW_DS_DOMAIN_ID, NOW_DS_DOMAIN_SCOPE, NOW_DS_RECORD_ID, NOW_DS_RECORD_TABLE} =\n\tdomainSeparationProperties;\n\nfunction isValidRecordArgument(table, id) {\n\treturn table && id;\n}\n\nfunction getDomainProp(el, name) {\n\treturn el[name] || (el.getAttribute && el.getAttribute(toAttributeName(name)));\n}\n\nfunction createDomainContextProperty(el) {\n\tconst table = getDomainProp(el, NOW_DS_RECORD_TABLE);\n\tconst sysId = getDomainProp(el, NOW_DS_RECORD_ID);\n\tconst domain = getDomainProp(el, NOW_DS_DOMAIN_ID);\n\tconst scope = getDomainProp(el, NOW_DS_DOMAIN_SCOPE);\n\tconst domainContext = {\n\t\t...(isValidRecordArgument(table, sysId) && {\n\t\t\t[NOW_DS_RECORD_TABLE]: table,\n\t\t\t[NOW_DS_RECORD_ID]: sysId\n\t\t}),\n\t\t...(domain && {\n\t\t\t[NOW_DS_DOMAIN_ID]: domain\n\t\t}),\n\t\t...(scope && {\n\t\t\t[NOW_DS_DOMAIN_SCOPE]: scope\n\t\t})\n\t};\n\treturn hasDomainProps(domainContext) ? domainContext : undefined;\n}\n\nexport function getSeismicHoistTargetFor(seismicHoistElement) {\n\treturn seismicHoistElement.sourceElement;\n}\n\nfunction isSeismicHoistElement(el) {\n\treturn el.tagName === 'SEISMIC-HOIST';\n}\n\n/**\n * Element contains a reserved domain separation property\n *\n * @param el\n * @return boolean\n */\nfunction hasDomainProps(el) {\n\treturn !!(\n\t\t(getDomainProp(el, NOW_DS_RECORD_TABLE) && getDomainProp(el, NOW_DS_RECORD_ID)) ||\n\t\tgetDomainProp(el, NOW_DS_DOMAIN_ID) ||\n\t\tgetDomainProp(el, NOW_DS_DOMAIN_SCOPE)\n\t);\n}\n\n/**\n *\n * @param element\n * @returns Object|undefined\n */\nexport default function resolveDomainContext(element) {\n\tlet el = element;\n\twhile (el) {\n\t\tif (!isSeismicHoistElement(el) && hasDomainProps(el)) return createDomainContextProperty(el);\n\t\tel = isSeismicHoistElement(el) ? getSeismicHoistTargetFor(el) : el.parentNode || el.host;\n\t}\n\treturn undefined;\n}\n","/**\n * Find any existing user info that may exist on the window\n * @param {*} windowObj\n */\nexport const getUserSysId = windowObj => {\n\t// we should only get this default user in a dev scenario or there is a bug with UXF\n\tconst userSysId = 'defaultSeismicUser';\n\n\tif (!windowObj) {\n\t\tsetUserSysId(userSysId);\n\t\treturn userSysId;\n\t}\n\n\t// Check for tempUserSysId\n\tif (windowObj.nowUiFramework && windowObj.nowUiFramework.tempUserSysId)\n\t\treturn windowObj.nowUiFramework.tempUserSysId;\n\n\t// Jelly && UXF based pages\n\tif (windowObj.NOW && windowObj.NOW.user && windowObj.NOW.user.userID)\n\t\treturn windowObj.NOW.user.userID;\n\n\t// Fall back on window token\n\tif (windowObj.g_ck) return windowObj.g_ck;\n\n\t//Is there a better way I'm missing?\n\tsetUserSysId(userSysId);\n\treturn userSysId;\n};\n\nexport const setUserSysId = userSysId => {\n\tglobalThis.nowUiFramework = globalThis.nowUiFramework || {};\n\tglobalThis.nowUiFramework.tempUserSysId = userSysId;\n};\n","// Simple LRU cache policy for use with the persistent IndexedDB cache\n\n// const {log} = console;\n\nexport const makeLRUCachePolicy = capacity => {\n\tlet lruArray = [];\n\n\tconst initLRU = all => {\n\t\tconst entries = Object.values(all);\n\t\t// log(`entries=${JSON.stringify(entries, null, 2)}`);\n\n\t\t// Sort all by timestamp in newest first order\n\t\tentries.sort((a, b) => {\n\t\t\tconst dateA = a.cachePolicyState.lastAccessed;\n\t\t\tconst dateB = b.cachePolicyState.lastAccessed;\n\t\t\t// log(`dateB=${dateB}`);\n\t\t\t// log(`dateA=${dateA}`);\n\t\t\tconst result = dateB - dateA;\n\t\t\t// log(`result=${result}`);\n\n\t\t\treturn result;\n\t\t});\n\t\t// log(`sorted=${JSON.stringify(all, null, 2)}`);\n\n\t\tfor (const entry of entries) lruArray.push(entry.key);\n\n\t\t// log(`lruArray=${JSON.stringify(lruArray, null, 2)}`);\n\t};\n\n\tconst evict = capacity => {\n\t\tconst len = lruArray.length;\n\t\tif (len > capacity) {\n\t\t\t// Even if this is over by more than one, we trim it to capacity\n\t\t\tconst keysToDelete = lruArray.splice(capacity, len - capacity);\n\t\t\t// log(`evict(): keysToDelete=${JSON.stringify(keysToDelete, null, 2)}`);\n\t\t\treturn keysToDelete;\n\t\t}\n\n\t\treturn [];\n\t};\n\n\t// Bump key to the front and evict if we are over capacity\n\tconst updateLRU = key => {\n\t\tconst index = lruArray.findIndex(k => k === key);\n\t\tlet keysToDelete;\n\t\tif (index === -1) {\n\t\t\t// Not found, so first evict to make space, then prepend the new key\n\t\t\tkeysToDelete = evict(capacity - 1);\n\t\t} else {\n\t\t\tkeysToDelete = evict(capacity);\n\t\t\tlruArray.splice(index, 1);\n\t\t}\n\t\tlruArray = [key, ...lruArray];\n\t\t// log(`updateLRU(): lruArray=${JSON.stringify(lruArray, null, 2)}`);\n\n\t\tconst result = {keysToDelete, state: {lastAccessed: new Date()}};\n\t\t// log(`updateLRU(): result=${JSON.stringify(result, null, 2)}`);\n\t\treturn result;\n\t};\n\n\tconst deleteFromLRU = key => {\n\t\tconst index = lruArray.findIndex(k => k === key);\n\t\tif (index === -1) return;\n\n\t\tlruArray.splice(index, 1);\n\t};\n\n\tconst clearLRU = () => {\n\t\tlruArray = [];\n\t};\n\n\treturn {\n\t\tcapacity,\n\t\tonInit: initLRU,\n\t\tonHit: updateLRU,\n\t\tonSet: updateLRU,\n\t\tonDelete: deleteFromLRU,\n\t\tonClear: clearLRU\n\t};\n};\n","import {configConstants, getConfigItem} from '@servicenow/ui-config';\n\n// Persistent database key/value cache implemented over IndexedDB with an async interface\n\nconst {log, error} = console;\nconst {GQL_CACHE_CAPACITY} = configConstants;\n\nconst cacheCapacity = getConfigItem(GQL_CACHE_CAPACITY);\n\nexport const openStore = async params => {\n\tconst {dbName, storeName, schemaVersion, options = {}} = params;\n\n\tlet db = undefined;\n\tconst cachePolicy = {\n\t\tcapacity: cacheCapacity,\n\t\tonInit: () => [],\n\t\tonHit: () => ({keysToDelete: [], state: []}),\n\t\tonSet: () => ({keysToDelete: [], state: []}),\n\t\tonDelete: () => [],\n\t\tonClear: () => undefined,\n\t\t...options.cachePolicy // Caller-provided options override the defaults above\n\t};\n\n\tconst getStore = mode => db.transaction(storeName, mode).objectStore(storeName);\n\n\tconst self = {\n\t\tasync get(key, defaultValue = undefined) {\n\t\t\treturn new Promise(resolve => {\n\t\t\t\tconst store = getStore('readwrite');\n\t\t\t\tconst getRequest = store.get(key);\n\n\t\t\t\tgetRequest.onerror = err => {\n\t\t\t\t\terror(\n\t\t\t\t\t\t`Error retrieving item in getter for '${key}': Error code: ${err.target.errorCode}`\n\t\t\t\t\t);\n\t\t\t\t\tresolve(defaultValue);\n\t\t\t\t};\n\n\t\t\t\tgetRequest.onsuccess = event => {\n\t\t\t\t\t// log(`Item for ${key} is ${event.target.result}`);\n\t\t\t\t\tconst entry = event.target.result;\n\n\t\t\t\t\t// Create a set request and save the metadata for this key/value (don't resolve this request until the set is complete)\n\t\t\t\t\tconst {keysToDelete} = cachePolicy.onHit(key);\n\n\t\t\t\t\t// TODO: Delete all keys the cachePolicy asked us to\n\t\t\t\t\tfor (const key of keysToDelete) store.delete(key);\n\t\t\t\t\t// TODO: Probably don't really need to wait for these to delete, so let's not for now\n\n\t\t\t\t\tself\n\t\t\t\t\t\t.set(key, entry.value)\n\t\t\t\t\t\t.then(() => resolve(entry.value))\n\t\t\t\t\t\t.catch(() => resolve(defaultValue));\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\n\t\tasync getAll(includeMetaData = false) {\n\t\t\treturn new Promise(resolve => {\n\t\t\t\t// log(`getAll(): dbName=${dbName}, storeName=${storeName}`);\n\t\t\t\tconst store = getStore('readonly');\n\t\t\t\tconst getAllKeysRequest = store.getAllKeys();\n\t\t\t\tconst all = {};\n\n\t\t\t\tgetAllKeysRequest.onerror = err => {\n\t\t\t\t\terror(`Error in getAll(): Error code: ${err.target.errorCode}`);\n\t\t\t\t\tresolve({});\n\t\t\t\t};\n\n\t\t\t\tgetAllKeysRequest.onsuccess = event => {\n\t\t\t\t\t// log(`Result for getAll() is ${JSON.stringify(event.target.result)}`);\n\n\t\t\t\t\t// Get all the entries\n\t\t\t\t\tconst keys = event.target.result;\n\t\t\t\t\tlet numRemaining = keys.length;\n\t\t\t\t\tif (numRemaining === 0) resolve({});\n\n\t\t\t\t\tfor (const key of keys) {\n\t\t\t\t\t\tconst getRequest = store.get(key);\n\n\t\t\t\t\t\tgetRequest.onerror = err => {\n\t\t\t\t\t\t\terror(`Error in getAll(): Error code: ${err.target.errorCode}`);\n\t\t\t\t\t\t\tresolve({});\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tgetRequest.onsuccess = event => {\n\t\t\t\t\t\t\tconst entry = event.target.result;\n\t\t\t\t\t\t\tall[key] = includeMetaData ? entry : entry.value;\n\t\t\t\t\t\t\tnumRemaining -= 1;\n\t\t\t\t\t\t\tif (numRemaining === 0) resolve(all);\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\n\t\tasync set(key, value) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tconst store = getStore('readwrite');\n\n\t\t\t\tconst {keysToDelete, state} = cachePolicy.onSet(key);\n\n\t\t\t\tconst putRequest = store.put({key, value, cachePolicyState: state}, key);\n\n\t\t\t\t// TODO: Delete all keys the cachePolicy asked us to\n\t\t\t\tfor (const key of keysToDelete) store.delete(key);\n\t\t\t\t// TODO: Probably don't really need to wait for these to delete, so let's not for now\n\n\t\t\t\tputRequest.onerror = err => {\n\t\t\t\t\terror(`Error setting item in set() for '${key}': Error code: ${err.target.errorCode}`);\n\t\t\t\t\treject(err.target.errorCode);\n\t\t\t\t};\n\n\t\t\t\tputRequest.onsuccess = event => {\n\t\t\t\t\t// log(`Item for ${key} is ${event.target.result}`);\n\t\t\t\t\tresolve(event.target.value);\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\n\t\tasync setMultiple(obj) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tconst store = getStore('readwrite');\n\n\t\t\t\tlet numRequestsMade = 0;\n\t\t\t\tlet numRequestsComplete = 0;\n\n\t\t\t\tfor (const [key, value] of obj) {\n\t\t\t\t\tconst {keysToDelete, state} = cachePolicy.onSet(key);\n\n\t\t\t\t\t// TODO: Delete all keys the cachePolicy asked us to\n\t\t\t\t\tfor (const key of keysToDelete) store.delete(key);\n\t\t\t\t\t// TODO: Probably don't really need to wait for these to delete, so let's not for now\n\n\t\t\t\t\tconst putRequest = store.put({key, value, cachePolicyState: state}, key);\n\n\t\t\t\t\t// TODO: Should abort() if any failures and ideally abort the txn\n\t\t\t\t\tputRequest.onerror = err => {\n\t\t\t\t\t\terror(`Error setting item in setMultiple: Error code: ${err.target.errorCode}`);\n\t\t\t\t\t\tnumRequestsComplete += 1;\n\t\t\t\t\t\tif (numRequestsComplete === numRequestsMade) reject(err.target.errorCode);\n\t\t\t\t\t};\n\n\t\t\t\t\tputRequest.onsuccess = () => {\n\t\t\t\t\t\tnumRequestsComplete += 1;\n\t\t\t\t\t\tif (numRequestsComplete === numRequestsMade) resolve();\n\t\t\t\t\t};\n\n\t\t\t\t\tnumRequestsMade += 1;\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\n\t\tasync has(key) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tconst store = getStore('readonly');\n\t\t\t\tconst countRequest = store.count(key);\n\n\t\t\t\tcountRequest.onerror = err => {\n\t\t\t\t\terror(`Error getting count for '${key}': Error code: ${err.target.errorCode}`);\n\t\t\t\t\treject(err.target.errorCode);\n\t\t\t\t};\n\n\t\t\t\tcountRequest.onsuccess = () => {\n\t\t\t\t\tresolve(countRequest.result > 0);\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\n\t\tasync clear() {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tconst store = getStore('readwrite');\n\t\t\t\tconst clearRequest = store.clear();\n\n\t\t\t\tclearRequest.onerror = err => {\n\t\t\t\t\terror(`IndexedDB clear failed.  Error code: ${err.target.errorCode}`);\n\t\t\t\t\treject(err.target.errorCode);\n\t\t\t\t};\n\n\t\t\t\tclearRequest.onsuccess = () => {\n\t\t\t\t\t// options.onClear();\n\t\t\t\t\tresolve();\n\t\t\t\t\t// log('Store Cleared');\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\n\t\tasync delete(key) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tconst store = getStore('readwrite');\n\t\t\t\tconst deleteRequest = store.delete(key);\n\n\t\t\t\tdeleteRequest.onerror = err => {\n\t\t\t\t\terror(`IndexedDB clear failed.  Error code: ${err.target.errorCode}`);\n\t\t\t\t\treject(err.target.errorCode);\n\t\t\t\t};\n\n\t\t\t\tdeleteRequest.onsuccess = () => {\n\t\t\t\t\tresolve();\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\n\t\tasync size() {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tconst store = getStore('readonly');\n\t\t\t\tconst countRequest = store.count();\n\n\t\t\t\tcountRequest.onerror = err => {\n\t\t\t\t\terror(\n\t\t\t\t\t\t`Error getting total record count for ${storeName}: Error code: ${err.target.errorCode}`\n\t\t\t\t\t);\n\t\t\t\t\treject(err.target.errorCode);\n\t\t\t\t};\n\n\t\t\t\tcountRequest.onsuccess = () => {\n\t\t\t\t\tresolve(countRequest.result);\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\n\t\tclose() {\n\t\t\tdb.close();\n\t\t}\n\t};\n\n\t// Open the database and return an object that can reference the db via closure\n\treturn new Promise((resolve, reject) => {\n\t\tif (!globalThis.indexedDB) {\n\t\t\treject(\n\t\t\t\t'Browser does not seem to support IndexedDB, which is required for this feature to work.'\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst dbRequest = globalThis.indexedDB.open(dbName, schemaVersion);\n\n\t\tdbRequest.onsuccess = event => {\n\t\t\tdb = event.target.result;\n\t\t\t// log('openStore.onsuccess');\n\n\t\t\t// Give the policy a chance to update its internal state\n\t\t\tself.getAll(true).then(allEntries => {\n\t\t\t\tcachePolicy.onInit(allEntries);\n\t\t\t\tresolve(self);\n\t\t\t});\n\t\t};\n\n\t\tdbRequest.onerror = err => {\n\t\t\tlog(`err=${dbRequest.error}`);\n\t\t\terror(\n\t\t\t\t`openStore: IndexedDB error: ${err.target.errorCode}.\\nBrowser possibly does not support IndexedDB.`\n\t\t\t);\n\t\t\treject(err.target.error);\n\t\t};\n\n\t\tdbRequest.onupgradeneeded = event => {\n\t\t\t// log('openStore.onupgradeneeded');\n\n\t\t\tdb = event.target.result;\n\n\t\t\ttry {\n\t\t\t\tdb.createObjectStore(storeName, {\n\t\t\t\t\tautoIncrement: true\n\t\t\t\t});\n\t\t\t} catch (e) {\n\t\t\t\terror(`EXCEPTION: ${e}`);\n\t\t\t}\n\t\t};\n\t});\n};\n\nasync function dropDatabaseImpl(dbName) {\n\treturn new Promise((resolve, reject) => {\n\t\tif (!globalThis.indexedDB) {\n\t\t\treject(\n\t\t\t\t'Browser does not seem to support IndexedDB, which is required for this feature to work.'\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tvar deleteRequest = globalThis.indexedDB.deleteDatabase(dbName);\n\n\t\tdeleteRequest.onsuccess = () => {\n\t\t\t// log('Deleted database successfully');\n\t\t\tresolve();\n\t\t};\n\n\t\tdeleteRequest.onerror = err => {\n\t\t\terror(`Error deleting database with name: ${dbName}  Error code: ${deleteRequest.error}`);\n\t\t\treject(err.target.errorCode);\n\t\t};\n\n\t\tdeleteRequest.onblocked = () => {\n\t\t\t// log('Database is busy.  Please try again later.  Goodbye.');\n\t\t\treject('Database is busy.');\n\t\t};\n\t});\n}\n\n// Drop an entire database\nexport async function dropDatabase(dbName) {\n\tlet result;\n\t// This needs to run at least twice if the database was recently closed\n\tdo {\n\t\ttry {\n\t\t\tresult = await dropDatabaseImpl(dbName);\n\t\t} catch (e) {\n\t\t\t// Database was busy and could not be deleted\n\t\t}\n\t} while (result);\n}\n\n// // Drop a single, named store within a given database\n// async function dropStoreImpl(storeName, dbName, version) {\n// \tlog('dropStore 1');\n// \t// Open the database and return an object that can reference the db via closure\n// \treturn new Promise((resolve, reject) => {\n// \t\tif (!globalThis.indexedDB) {\n// \t\t\treject(\n// \t\t\t\t'Browser does not seem to support IndexedDB, which is required for this feature to work.'\n// \t\t\t);\n// \t\t\treturn;\n// \t\t}\n\n// \t\tlog('dropStore 2');\n// \t\tconst dbRequest = globalThis.indexedDB.open(dbName, version);\n// \t\tlog('dropStore 3');\n\n// \t\tdbRequest.onsuccess = () => {\n// \t\t\tlog('opened!');\n// \t\t\tresolve();\n// \t\t};\n\n// \t\tdbRequest.onerror = err => {\n// \t\t\tlog(`err=${JSON.stringify(err)}`);\n// \t\t\terror(`dropStore: IndexedDB error: ${err.target.errorCode}`);\n// \t\t\treject(err.target.error);\n// \t\t};\n\n// \t\tlog('dropStore 4');\n\n// \t\tdbRequest.onupgradeneeded = event => {\n// \t\t\tlog('dbRequest.onupgradeneeded');\n// \t\t\tconst db = event.target.result;\n// \t\t\tlog(`db=${db} storeName=${storeName}`);\n\n// \t\t\tdb.deleteObjectStore(storeName);\n// \t\t\tresolve();\n// \t\t};\n\n// \t\tlog('dropStore 6');\n// \t});\n// }\n\n// export async function dropStore(storeName, dbName, version) {\n// \ttry {\n// \t\tawait dropStoreImpl(storeName, dbName, version);\n// \t} catch (e) {\n// \t\tlog(`dropStore Exception: ${e}`);\n// \t}\n// }\n","import {openStore} from './store';\n\nconst cachePromises = {};\n\n// A persistent cache backed by IndexedDB\nexport const makePersistentCache = async ({dbName, storeName, schemaVersion, options}) => {\n\t// In case multiple clients want caches for the same store, we use the previously created promise to ensure\n\t// they all end up with the same one.  They will all get back the same resolved promise.\n\tconst dbKey = `${dbName}_${storeName}_${schemaVersion}`;\n\tif (cachePromises[dbKey]) return cachePromises[dbKey];\n\n\tconst creationPromise = new Promise((resolve, reject) => {\n\t\tconst map = new Map();\n\n\t\t// Persistent cache\n\t\topenStore({dbName, storeName, schemaVersion, options})\n\t\t\t.then(store => {\n\t\t\t\tlet inMemoryCacheHits = 0;\n\t\t\t\tlet persistentCacheHits = 0;\n\n\t\t\t\t// Return an object with the interface methods we expose\n\t\t\t\tconst self = {\n\t\t\t\t\tname() {\n\t\t\t\t\t\treturn dbName;\n\t\t\t\t\t},\n\n\t\t\t\t\tversion() {\n\t\t\t\t\t\treturn schemaVersion;\n\t\t\t\t\t},\n\n\t\t\t\t\tasync has(key) {\n\t\t\t\t\t\treturn map.has(key) || (await store.has(key));\n\t\t\t\t\t},\n\n\t\t\t\t\tasync set(key, value) {\n\t\t\t\t\t\t// log(`cache.set('${key}', '${value}')`);\n\t\t\t\t\t\t// NOTE: We always set directly into the in-memory Map, never into the underlying IndexedDB\n\t\t\t\t\t\tmap.set(key, value);\n\t\t\t\t\t},\n\n\t\t\t\t\tasync get(key, defaultValue = undefined) {\n\t\t\t\t\t\t// log(`cache.get(${key},${defaultValue})`);\n\t\t\t\t\t\tlet value = map.get(key);\n\t\t\t\t\t\tif (value !== undefined) {\n\t\t\t\t\t\t\tinMemoryCacheHits += 1;\n\t\t\t\t\t\t\t// log(`inMemoryCacheHits: ${inMemoryCacheHits}`);\n\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Check the persistent cache\n\t\t\t\t\t\tvalue = await store.get(key, defaultValue);\n\t\t\t\t\t\tif (value !== undefined) {\n\t\t\t\t\t\t\tpersistentCacheHits += 1;\n\t\t\t\t\t\t\t// log(`persistentCacheHits: ${persistentCacheHits}`);\n\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn defaultValue;\n\t\t\t\t\t},\n\n\t\t\t\t\tasync getAll(includeMetadata = false) {\n\t\t\t\t\t\t// Get the persistent entries first\n\t\t\t\t\t\tconst result = await store.getAll(includeMetadata);\n\n\t\t\t\t\t\t// In-memory cache entries will overwrite persistent entries\n\t\t\t\t\t\tfor (const [key, value] of map.entries()) result[key] = value;\n\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t},\n\n\t\t\t\t\t// Delete from both the in-memory and persistent caches\n\t\t\t\t\tasync delete(key) {\n\t\t\t\t\t\tawait store.delete(key);\n\t\t\t\t\t\tmap.delete(key);\n\t\t\t\t\t},\n\n\t\t\t\t\tasync clear() {\n\t\t\t\t\t\tmap.clear();\n\t\t\t\t\t\tawait store.clear();\n\t\t\t\t\t\tinMemoryCacheHits = 0;\n\t\t\t\t\t\tpersistentCacheHits = 0;\n\t\t\t\t\t},\n\n\t\t\t\t\tclose() {\n\t\t\t\t\t\tself.clear();\n\t\t\t\t\t\tstore.close();\n\t\t\t\t\t},\n\n\t\t\t\t\t// Force all locally cached values into the database\n\t\t\t\t\tasync persist() {\n\t\t\t\t\t\tconst entries = map.entries();\n\t\t\t\t\t\tawait store.setMultiple(entries);\n\t\t\t\t\t\tmap.clear();\n\t\t\t\t\t},\n\n\t\t\t\t\tinMemorySize() {\n\t\t\t\t\t\treturn map.size;\n\t\t\t\t\t},\n\n\t\t\t\t\tasync persistedSize() {\n\t\t\t\t\t\treturn await store.size();\n\t\t\t\t\t},\n\n\t\t\t\t\tinMemoryCacheHits() {\n\t\t\t\t\t\treturn inMemoryCacheHits;\n\t\t\t\t\t},\n\n\t\t\t\t\tpersistentCacheHits() {\n\t\t\t\t\t\treturn persistentCacheHits;\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tresolve(self);\n\t\t\t})\n\t\t\t.catch(e => {\n\t\t\t\treject(e);\n\t\t\t});\n\t});\n\n\t// Remember this promise so we can return it again if another caller asks for the same cache\n\tcachePromises[dbKey] = creationPromise;\n\treturn creationPromise;\n};\n","import {getConfigItem, configConstants} from '@servicenow/ui-config';\n\nconst {DISABLE_REST_BATCHING} = configConstants;\nexport default function isBatchingEnabled() {\n\tif (typeof getConfigItem(DISABLE_REST_BATCHING) === 'boolean')\n\t\treturn !getConfigItem(DISABLE_REST_BATCHING);\n\n\treturn true;\n}\n","import getGlobalObject from './getGlobalObject';\nimport isBatchingEnabled from './isBatchingEnabled';\nimport {createSnHttp} from '@servicenow/ui-utils';\n\nconst root = getGlobalObject();\nconst {navigator} = root;\n\nconst createSnHttpForRest = createSnHttp({\n\txsrfToken: root.g_ck,\n\txTransactionSource: root.transaction_source,\n\tmaxConcurrent: navigator && navigator.userAgent.indexOf('Trident/7.0') !== -1 ? 1 : 4,\n\tbatching: isBatchingEnabled(root)\n});\n\nexport default createSnHttpForRest;\n","export default function getGlobalObject() {\n\tif (typeof self !== 'undefined') return self;\n\n\tif (typeof window !== 'undefined') return window;\n\n\tif (typeof global !== 'undefined') return global;\n\n\tthrow new Error('Unable to locate global object');\n}\n","import {memoize} from '@servicenow/ui-internal';\n\nfunction containsNonAsciiChars(str = '') {\n\treturn typeof str !== 'string' ? false : [...str].some(char => char.charCodeAt(0) > 127);\n}\n\nconst memoizedContainsNonAsciiChars = memoize(containsNonAsciiChars, {\n\tprofileName: 'containsNonAsciiChars'\n});\n\n/**\n * Removes headers with non ascii values\n * @private\n * @param headers\n */\nexport default function filterHeaders(headers) {\n\tconst nonAsciiHeader = {};\n\tfor (const key in headers) {\n\t\tif (!memoizedContainsNonAsciiChars(headers[key])) nonAsciiHeader[key] = headers[key];\n\t}\n\n\treturn nonAsciiHeader;\n}\n","import {omit, pick, whenIdle} from '@servicenow/ui-internal';\nimport {configConstants, getConfigItem} from '@servicenow/ui-config';\nimport {getUserSysId, makePersistentCache, makeLRUCachePolicy} from '@servicenow/ui-effect-helpers';\nimport createSnHttp from './snHttp';\nimport filterHeaders from './filterHeaders';\nimport log from './log';\n\nconst IGNORED_HEADERS = ['NOW-UI-INTERACTION', 'NOW-UX-INTERACTION'];\nconst {HTTP_CACHING_ENABLED, HTTP_CACHE_CAPACITY, HTTP_CACHE_MAX_PERSIST} = configConstants;\nconst isCacheEnabled = getConfigItem(HTTP_CACHING_ENABLED);\nconst cacheCapacity = getConfigItem(HTTP_CACHE_CAPACITY);\nconst cacheMaxPersist = getConfigItem(HTTP_CACHE_MAX_PERSIST) || 2880;\n\nlet persistantCache;\n\nconst getCache = async function () {\n\tif (persistantCache) {\n\t\treturn persistantCache;\n\t}\n\ttry {\n\t\tpersistantCache = await makePersistentCache({\n\t\t\tdbName: 'Seismic',\n\t\t\tstoreName: 'gqlQueries',\n\t\t\tschemaVersion: 1,\n\t\t\toptions: {cachePolicy: makeLRUCachePolicy(cacheCapacity)}\n\t\t});\n\t} catch (e) {\n\t\treturn null;\n\t}\n\treturn persistantCache;\n};\n\nconst getCacheKey = ({url, headers, params}) => {\n\tconst stringifiedHeaders = JSON.stringify(omit(headers, IGNORED_HEADERS));\n\tconst stringifiedParams = JSON.stringify(params);\n\n\t// @FIXME: This is more fragile than a faberge egg.  Find or create a public API to get a user sys_id\n\tconst userToken = getUserSysId(globalThis);\n\n\treturn `${url}:${stringifiedHeaders}:${stringifiedParams}:${userToken}`;\n};\n\nexport default async function sendRequest(url, method, options) {\n\tconst snHttp = window?.nowUiFramework?.snHttp || (await createSnHttp());\n\tconst {\n\t\theaders = {},\n\t\tparams,\n\t\tdata,\n\t\tonUploadProgress = () => {},\n\t\tbatch = true,\n\t\tcacheable = false,\n\t\tcancelPromiseSymbol\n\t} = options;\n\n\tconst abortController = new AbortController();\n\tconst updatedHeaders = filterHeaders(headers);\n\tconst cacheKey = getCacheKey({url, headers: updatedHeaders, params});\n\tconst cacheRequested = cacheable;\n\tconst shouldCache = cacheRequested && method === 'GET';\n\tconst isImpersonating = window.NOW?.user?.isImpersonating;\n\tconst promise = () => {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tsnHttp\n\t\t\t\t.request(url, method, {\n\t\t\t\t\theaders: updatedHeaders,\n\t\t\t\t\tparams,\n\t\t\t\t\tdata,\n\t\t\t\t\tonUploadProgress,\n\t\t\t\t\tbatch,\n\t\t\t\t\tsignal: abortController.signal\n\t\t\t\t})\n\t\t\t\t.then(async results => {\n\t\t\t\t\tif (isCacheEnabled && shouldCache && !isImpersonating) {\n\t\t\t\t\t\tconst cache = await getCache();\n\t\t\t\t\t\tif (cache) {\n\t\t\t\t\t\t\tconst dataToCache = pick(results, ['data', 'headers', 'status', 'statusText']);\n\t\t\t\t\t\t\t// add now as the cached date if its not on the header\n\t\t\t\t\t\t\tif (!dataToCache?.headers?.date) {\n\t\t\t\t\t\t\t\tif (dataToCache?.headers) {\n\t\t\t\t\t\t\t\t\tdataToCache.headers.date = Date.now();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tawait cache.set(cacheKey, dataToCache);\n\n\t\t\t\t\t\t\twhenIdle(() => cache.persist());\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tresolve(results);\n\t\t\t\t})\n\t\t\t\t.catch(error => {\n\t\t\t\t\tconst {response: {data, status, statusText, headers} = {}, message} = error;\n\n\t\t\t\t\treject({\n\t\t\t\t\t\tdata,\n\t\t\t\t\t\tstatus,\n\t\t\t\t\t\tstatusText,\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t...(updatedHeaders && {headers: updatedHeaders}),\n\t\t\t\t\t\t\t...(headers && {responseHeaders: headers}),\n\t\t\t\t\t\t\t...(params && {params}),\n\t\t\t\t\t\t\t...(data && {data})\n\t\t\t\t\t\t},\n\t\t\t\t\t\t...(message && {message})\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t});\n\t};\n\n\tif (cancelPromiseSymbol) {\n\t\tpromise[cancelPromiseSymbol] = () => {\n\t\t\tabortController.abort();\n\t\t};\n\t}\n\tconst cache = await getCache();\n\tconst isCached = cache ? await cache.has(cacheKey) : false;\n\tif (shouldCache && isCached) {\n\t\tconst cachedResult = await cache.get(cacheKey);\n\n\t\tconst {headers} = cachedResult;\n\t\tconst cachedDate = new Date(headers?.date);\n\t\tif (headers?.date && cachedDate) {\n\t\t\tconst minutesSinceCached = (Date.now() - cachedDate) / 1000 / 60;\n\t\t\tif (minutesSinceCached < cacheMaxPersist) {\n\t\t\t\treturn {\n\t\t\t\t\tisCachedResult: true,\n\t\t\t\t\trefetchPromise: promise,\n\t\t\t\t\t...cachedResult\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t} else if (cacheRequested && !shouldCache) {\n\t\tlog(`HTTP caching not available for ${method} method requests`);\n\t}\n\n\treturn {\n\t\tisCachedResult: false,\n\t\trequestPromise: promise\n\t};\n}\n","import pathToRegexp from 'path-to-regexp';\n\nexport default function replacePathParameters(\n\turl = '',\n\tpathParams = {},\n\t{encodeURIComponent} = {}\n) {\n\tconst toPath = pathToRegexp.compile(url);\n\tconst toPathOptions = encodeURIComponent === false ? {encode: str => str} : {};\n\treturn toPath(pathParams, toPathOptions);\n}\n","import {mark, types as metrics, getInteractionId} from '@servicenow/ui-metrics';\nimport {createHttpErrorAction} from '@servicenow/ui-effect-helpers';\nimport sendRequest from './sendRequest';\nimport replacePathParameters from './replacePathParams';\nimport {\n\tget,\n\tpick,\n\tisEqual,\n\taddPendingNetworkActionForHost,\n\tremovePendingNetworkActionForHost,\n\tdefer\n} from '@servicenow/ui-internal';\n\nimport {configConstants, getConfigItem} from '@servicenow/ui-config';\n\nimport log from './log';\n\nexport const HTTP_REQUEST_STARTED = 'HTTP_REQUEST_STARTED';\nexport const HTTP_REQUEST_PROGRESS_UPDATED = 'HTTP_REQUEST_PROGRESS_UPDATED';\nexport const HTTP_REQUEST_SUCCEEDED = 'HTTP_REQUEST_SUCCEEDED';\nexport const HTTP_REQUEST_FAILED = 'HTTP_REQUEST_FAILED';\nexport const HTTP_CACHE_UPDATED = 'HTTP_CACHE_UPDATED';\n\nconst {HTTP_CACHING_REFRESH_DELAY} = configConstants;\n\nconst cacheDelay = getConfigItem(HTTP_CACHING_REFRESH_DELAY) || 10000;\n\nexport function* httpEffect(url, options = {}, coeffects) {\n\tconst {\n\t\tmethod = 'GET',\n\t\theaders = {},\n\t\theaderList = [],\n\t\tpathParams = [],\n\t\tqueryParams = [],\n\t\tdataParam = 'data',\n\t\tbatch = true,\n\t\tcacheable = false,\n\t\tencodeURIComponent = true,\n\t\tcancelPromiseSymbol,\n\t\tstartActionType = HTTP_REQUEST_STARTED,\n\t\tprogressActionType = HTTP_REQUEST_PROGRESS_UPDATED,\n\t\tsuccessActionType = HTTP_REQUEST_SUCCEEDED,\n\t\terrorActionType = HTTP_REQUEST_FAILED,\n\t\tcacheUpdateActionType = HTTP_CACHE_UPDATED\n\t} = options;\n\n\tconst {action, dispatch, host} = coeffects;\n\tconst {payload} = action;\n\tconst updatedUrl = replacePathParameters(url, pick(payload, pathParams), {\n\t\tencodeURIComponent\n\t});\n\tconst params = pick(payload, queryParams);\n\tconst data = get(payload, dataParam, undefined);\n\tconst metaData = {\n\t\t...action.meta,\n\t\trequest: {\n\t\t\turl,\n\t\t\tupdatedUrl,\n\t\t\tparams,\n\t\t\tdata,\n\t\t\t...options\n\t\t}\n\t};\n\n\tfunction onUploadProgress(progressEvent) {\n\t\tdispatch(progressActionType, {progressEvent}, metaData);\n\t}\n\n\taddPendingNetworkActionForHost(action, host);\n\ttry {\n\t\tdispatch(startActionType, {}, metaData);\n\t\tconst interactionId = getInteractionId(action.meta);\n\n\t\tif (updatedUrl.indexOf('/null') !== -1 || updatedUrl.indexOf('/undefined') !== -1) {\n\t\t\tconst {tagName, nowId} = host;\n\t\t\tlog(\n\t\t\t\t`An HTTP request with the url of ${updatedUrl} was made. Please verify that ${updatedUrl} is a valid URL.`,\n\t\t\t\t{\n\t\t\t\t\ttagName,\n\t\t\t\t\tcomponentId: nowId,\n\t\t\t\t\thost,\n\t\t\t\t\torigin: 'httpEffect'\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\theaders['NOW-UI-INTERACTION'] = interactionId;\n\t\tif (window.nowUiFramework && window.nowUiFramework.uxrInteractionId)\n\t\t\theaders['NOW-UX-INTERACTION'] = window.nowUiFramework.uxrInteractionId;\n\n\t\tmark(host, interactionId, metrics.HTTP, {\n\t\t\tpath: updatedUrl,\n\t\t\ttype: action.type,\n\t\t\tbatch\n\t\t});\n\n\t\tconst request = sendRequest(updatedUrl, method, {\n\t\t\theaders: {\n\t\t\t\t...pick(payload, headerList),\n\t\t\t\t...headers\n\t\t\t},\n\t\t\tparams,\n\t\t\t...(data && {data}),\n\t\t\tonUploadProgress,\n\t\t\tbatch,\n\t\t\tcacheable,\n\t\t\tcancelPromiseSymbol\n\t\t});\n\n\t\tlet result = yield request;\n\n\t\tconst {isCachedResult = false, requestPromise = async () => {}} = result;\n\n\t\tif (!isCachedResult) {\n\t\t\tresult = yield requestPromise();\n\t\t}\n\n\t\tconst {headers: responseHeaders, data: successData, refetchPromise = null} = result;\n\n\t\tif (isCachedResult && refetchPromise) {\n\t\t\tdispatch(successActionType, successData, {...metaData, responseHeaders});\n\t\t\tdefer(() => {\n\t\t\t\trefetchPromise().then(refetchResult => {\n\t\t\t\t\t// compare cachedResult and refetchResult\n\t\t\t\t\tif (!isEqual(successData, refetchResult.data)) {\n\t\t\t\t\t\tdispatch(cacheUpdateActionType, refetchResult.data, {\n\t\t\t\t\t\t\t...metaData,\n\t\t\t\t\t\t\tresponseHeaders: refetchResult.headers\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}, cacheDelay);\n\t\t} else {\n\t\t\tdispatch(successActionType, successData, {...metaData, responseHeaders});\n\t\t}\n\t} catch (error) {\n\t\tmetaData.responseHeaders = get(error, 'options.responseHeaders', null);\n\t\tdispatch(errorActionType, error, metaData, true);\n\n\t\t// Standard action dispatched on HTTP errors from the server\n\t\tconst {status, statusText, message, data} = error;\n\t\tconst {\n\t\t\ttype,\n\t\t\tpayload,\n\t\t\tmeta,\n\t\t\terror: httpError\n\t\t} = createHttpErrorAction(status, statusText, message, data, metaData);\n\t\tdispatch(type, payload, meta, httpError);\n\t} finally {\n\t\tremovePendingNetworkActionForHost(action, host);\n\t}\n}\n\n/**\n * Effect that makes an HTTP request and dispatches actions at relevant parts of the life cycle:\n *  - Before the request is sent\n *  - After the request has returned (success or error)\n *  - Upload of progress updates\n *\n * The Success and Action Types that are returned also contain a `meta` property with helpful information\n * useful for debugging purposes including the response headers.\n *\n * @function createHttpEffect\n * @example\n * import {createHttpEffect} from '@servicenow/ui-effect-http';\n *\n * const USER_FETCH_SUCCESS = 'USER_FETCH_SUCCESS'\n *\n * const fetchUserEffect = createHttpEffect('api/users/:id', {\n *      method: 'POST'\n *      headers: {},\n *      pathParams: ['id']\n *      dataParam: 'data',\n *      successActionType: USER_FETCH_SUCCESS\n * });\n *\n * // Register with component action handlers:\n * {\n *     actionHandlers: {\n *         'USER_FETCHED': fetchUserEffect,\n *         [USER_FETCH_SUCCESS]: ({action, updateState}) => {...}\n *     }\n * }\n *\n * @param {String} url - URL to endpoint\n * @param {Object} options\n * @param {String} options.method - Request method: GET, POST, PUT, PATCH, DELETE (default: GET)\n * @param {Object} options.headers - Request headers\n * @param {Object<String>} options.headerList - dynamic HTTP request headers\n * @param {Boolean} options.batch - Enable or disable batching for requests made by this effect (default: true)\n * @param {Boolean} options.encodeURIComponent - Encode URL (default: true)\n * @param {String} options.dataParam - Property in dispatched action to map to the data property of the HTTP request\n * @param {Array<String>} options.pathParams - Array of properties in dispatched action to map values to dynamic path variables (\"api/users/:id\")\n * @param {Array<String>} options.queryParams - Array of properties in dispatched action to map values to URL query string variables (\"api/users?id=abc123)\n * @param {String} options.startActionType - Action to be dispatched when the HTTP request has been issued\n * @param {String} options.progressActionType - Action to be dispatched when onprogress is triggered during the HTTP request\n * @param {String} options.successActionType - Action to be dispatched when the HTTP request has successfully completed. The response data will be available as payload which will be of type object for application/json content-type and String for others\n * @param {String} options.errorActionType - Action to be dispatched when the HTTP request has failed\n * @return {Object} Http Effect Descriptor\n */\nexport default function createHttpEffect(url, options) {\n\treturn {\n\t\teffect: httpEffect,\n\t\targs: [url, options]\n\t};\n}\n","const callAsync = Promise.resolve().then.bind(Promise.resolve());\nexport default callAsync;\n","const ERROR = 'error';\nconst WARN = 'warn';\nconst INFO = 'info';\nconst DEBUG = 'debug';\nconst TRACE = 'trace';\nconst EMIT = 'emit';\n\nexport const logTypes = [ERROR, WARN, INFO, DEBUG, TRACE, EMIT];\nexport const allLogTypes = {\n\tERROR,\n\tWARN,\n\tINFO,\n\tDEBUG,\n\tTRACE,\n\tEMIT\n};\n","export default function createLogContext({\n\thost,\n\ttagName: componentName,\n\tcomponentId,\n\tlevel,\n\terror,\n\tdocs,\n\torigin,\n\tmodule,\n\tmessage,\n\tpostfix\n}) {\n\tconst tempHost = host ? host : {};\n\tconst {\n\t\ttagName = null,\n\t\tnowId = null,\n\t\t__DO_NOT_USE_OR_YOU_WILL_BE_FIRED_BY_YOUR_PARENT__ = null,\n\t\tnowLoggingLevels = null\n\t} = tempHost;\n\n\tconst logContext = {\n\t\tcomponentName: tagName ? tagName : componentName,\n\t\tcomponentId: nowId ? nowId : componentId,\n\t\tparentComponentId: __DO_NOT_USE_OR_YOU_WILL_BE_FIRED_BY_YOUR_PARENT__,\n\t\tlevel,\n\t\terror,\n\t\tdocs,\n\t\torigin,\n\t\tmodule,\n\t\tpostfix,\n\t\tnowLoggingLevels\n\t};\n\n\tlogContext.logMessage = getLogMessage(logContext, message);\n\treturn logContext;\n}\n\nconst getLogMessage = (logContext, message) => {\n\tconst {componentName, componentId, docs, error, postfix, module, origin} = logContext;\n\tconst componentMsg = componentName\n\t\t? `<${componentName.toLowerCase()} ${componentId ? `component-id=\"${componentId}\"` : ''}/>`\n\t\t: '';\n\n\tlet startMessage = '';\n\tif (componentMsg && origin)\n\t\tstartMessage = `For component ${componentMsg} with origin '${origin}': `;\n\telse if (componentMsg) startMessage = `For component ${componentMsg}: `;\n\telse if (origin) startMessage = `At origin '${origin}': `;\n\n\treturn `${module} ${startMessage}${message}${error ? `\\n${error.stack}` : ''}${\n\t\tdocs ? `\\nDocumentation: ${docs}` : `\\n${postfix}`\n\t}`;\n};\n","import {logTypes} from './constants';\nimport {getConfigItem, configConstants, observeConfigItem} from '@servicenow/ui-config';\nconst {LOGGING_ENABLED, LOGGING_LEVELS} = configConstants;\n\nlet globalLoggingEnabled = getConfigItem(LOGGING_ENABLED);\nlet globalLoggingLevels = getConfigItem(LOGGING_LEVELS);\n\nconst observer = (path, value) => {\n\tswitch (path) {\n\t\tcase LOGGING_ENABLED:\n\t\t\tglobalLoggingEnabled = value;\n\t\t\tbreak;\n\t\tcase LOGGING_LEVELS:\n\t\t\tglobalLoggingLevels = value;\n\t\t\tbreak;\n\t}\n};\n\nobserveConfigItem(LOGGING_ENABLED, observer);\nobserveConfigItem(LOGGING_LEVELS, observer);\n\nexport default function shouldLog(logContext, options) {\n\tconst {always, level: logType} = options;\n\tif (always) return true;\n\n\tif (!logTypes.includes(logType)) return false;\n\n\tconst {nowLoggingLevels} = logContext;\n\n\tif (nowLoggingLevels === true || nowLoggingLevels === false) return nowLoggingLevels;\n\n\tif (Array.isArray(nowLoggingLevels)) return nowLoggingLevels.includes(logType);\n\n\tif (globalLoggingLevels === true || globalLoggingLevels === false) return globalLoggingLevels;\n\n\tif (Array.isArray(globalLoggingLevels)) return globalLoggingLevels.includes(logType);\n\n\treturn !!globalLoggingEnabled;\n}\n","export default new Set();\n","import logObservers from './logObservers';\n\nexport default function observe(observer) {\n\tif (typeof observer === 'function') {\n\t\tconst observerObj = {observer, logsToSend: []};\n\t\tlogObservers.add(observerObj);\n\t\treturn () => logObservers.delete(observerObj);\n\t}\n}\n","import {getConfigItem, configConstants, observeConfigItem} from '@servicenow/ui-config';\nimport logObservers from './logObservers';\nimport {defer, whenIdle} from '@servicenow/ui-utils';\n\nconst {LOGS_OBSERVER_INTERVAL} = configConstants;\nlet timeoutId;\nlet logsObserverInterval = getConfigItem(LOGS_OBSERVER_INTERVAL);\n\nconst observer = (path, value) => {\n\tif (path === LOGS_OBSERVER_INTERVAL) {\n\t\tlogsObserverInterval = value;\n\t}\n};\n\nobserveConfigItem(LOGS_OBSERVER_INTERVAL, observer);\n\nconst addLog = logContext => {\n\tfor (const observer of logObservers) observer.logsToSend.push(logContext);\n};\n\nconst notifyLogObserver = observer => {\n\tconst {logsToSend} = observer;\n\tobserver.observer(logsToSend.splice(0, logsToSend.length));\n};\n\nexport default function notifyLogObservers(logContext) {\n\tif (logObservers.size) {\n\t\tlet timeExpired = false;\n\t\tif (logContext) addLog(logContext);\n\t\tclearTimeout(timeoutId);\n\t\ttimeoutId = defer(() => {\n\t\t\twhenIdle(deadLine => {\n\t\t\t\tfor (const observer of logObservers) {\n\t\t\t\t\tif (deadLine.timeRemaining() > 0) {\n\t\t\t\t\t\tif (observer.logsToSend.length) notifyLogObserver(observer);\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttimeExpired = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (timeExpired) notifyLogObservers();\n\t\t\t});\n\t\t}, logsObserverInterval || 1000);\n\t}\n}\n","import {logTypes, allLogTypes} from './constants';\nimport {default as createLogContext} from './createLogContext';\nimport {default as shouldLog} from './shouldLog';\nimport {default as observe} from './observe';\nimport {default as notifyLogObservers} from './notifyLogObservers';\n\nglobalThis.nowUiFrameworkLogs = {\n\tobserve,\n\tlogTypes\n};\n\nexport {shouldLog, observe, createLogContext, notifyLogObservers, allLogTypes};\n","import {\n\tcreateLogContext,\n\tshouldLog,\n\tnotifyLogObservers,\n\tallLogTypes as logTypes\n} from './logHandler';\nconst tagNameCache = {};\n\nconst defaults = {\n\tsupport: 'https://developer.servicenow.com/now-experience-ui-framework/support',\n\tmodule: '@servicenow/ui-core'\n};\n\nconst logOptionDefaults = {\n\tlevel: logTypes.WARN,\n\terror: null,\n\talways: false,\n\tdocs: null,\n\ttagName: null,\n\tcomponentId: null\n};\n\n/**\n * Creates a logger.\n * @function createLogger\n * @private\n * @param {Object} config - The logger configuration.\n * @param {string} [config.support] - Link to NX UI Documentation & Support\n * @param {string} [config.module] - Module name.\n */\nexport default function createLogger(options = {}) {\n\tconst loggerOptions = {...defaults, ...options};\n\tconst {module, support} = loggerOptions;\n\tconst postfix = `Visit ${support} for more information about UI Framework on Next Experience.`;\n\treturn async function log(message, options = {}) {\n\t\tconst logOptions = {...logOptionDefaults, message, module, postfix, ...options};\n\t\tconst resolvedLogContext = createLogContext(logOptions);\n\t\tif (shouldLog(resolvedLogContext, logOptions)) {\n\t\t\tconst {level} = logOptions;\n\t\t\tconst logger = console[level] || console.log; // eslint-disable-line no-console\n\t\t\tconst {componentName, logMessage} = resolvedLogContext;\n\t\t\tif (componentName) {\n\t\t\t\tif (componentName in tagNameCache && message in tagNameCache[componentName]) return;\n\n\t\t\t\ttagNameCache[componentName] = tagNameCache[componentName] || {};\n\t\t\t\ttagNameCache[componentName][message] = true;\n\t\t\t}\n\t\t\tlogger(logMessage);\n\t\t\tnotifyLogObservers(resolvedLogContext);\n\t\t}\n\t};\n}\n","import {toLower} from '@servicenow/ui-utils';\n\nexport default function getHostInfo(host) {\n\treturn {\n\t\ttagName: toLower(host.tagName),\n\t\tcomponentId: host.getAttribute('component-id')\n\t};\n}\n","import {memoize} from '@servicenow/ui-utils';\n\nexport default function memoizeProfiler(func, options = {}) {\n\tconst {createCacheKey, profileName} = options;\n\treturn memoize(func, createCacheKey || (arg1 => arg1), {profileName});\n}\n","export default function getSpanOptions(host) {\n\treturn {\n\t\tattributes: {\n\t\t\ttagName: host.tagName?.toLowerCase(),\n\t\t\tcomponentId: host.nowId\n\t\t}\n\t};\n}\n","import {applyInteractionId, mark, types as metrics, getInteractionId} from '@servicenow/ui-metrics';\nimport getSpanOptions from './getSpanOptions';\nimport * as uiAnalyticsConsumer from '@servicenow/ui-analytics-consumer';\nconst {trace} = uiAnalyticsConsumer;\nimport {\n\terrorTypes,\n\tlocations,\n\tNOW_ID_PROP,\n\tSPAN_FOR_COMPONENT_ERROR_THROWN,\n\tSPAN_KIND_CLIENT,\n\tSPAN_FOR_DISPATCH,\n\tSPAN_ATTR_DISPATCH_ACTION_TYPE,\n\tSPAN_ATTR_DISPATCH_MESSAGE\n} from './constants';\nimport {allLogTypes as logTypes} from './logHandler';\nimport {findKey} from '@servicenow/ui-utils';\nimport {INTERNAL_HOST_DISPATCH} from './symbols';\n/**\n * Wrap the execution of code with a try catch and dispatch the error\n * @function sandbox\n * @private\n * @example\n * import {sandbox, errorTypes, locations} from '@servicenow/ui-internal'\n *\n * sandbox(\n *   onChange,\n *   {\n *     args: [value, previousValue, dispatch],\n *     dispatch,\n *     host,\n *     location: locations.LIFECYCLE,\n *     details: {name: 'onChange', propertyName},\n *     errorType: errorTypes.COMPONENT_ERROR_THROWN\n *   }\n * )\n *\n * @param {Function} fn - arbitrary function to execute\n * @param {Object} options - The sandbox options\n * @param {Array} [options.args] - Arguments to pass into the fn.\n * @param {Object} [options.dispatch] - Dispatch function, required.\n * @param {string} [options.location] - Enum of acceptable locations, import {locations} from '@servicenow/ui-internal', required.\n * @param {Object} [options.host] - The host most closely related to the executing code.\n * @param {Object} [options.details] - Object to store arbitrary data\n * @param {string} [options.errorType] - Type of action to dispatch on error caught. Default is COMPONENT_ERROR_THROWN\n * @param {Object} [options.metadata] - Metadata to be passed to the dispatch function\n * @param {function} [options.log] - Logger to log the error\n * @returns {any} Value returned from the function\n */\nfunction sandbox(fn, options = {}) {\n\tconst {args = []} = options;\n\ttry {\n\t\tconst value = fn(...args);\n\t\treturn value;\n\t} catch (error) {\n\t\tnotify(error, options);\n\t}\n}\n\nexport function notify(\n\terror,\n\t{\n\t\tdispatch,\n\t\thost,\n\t\tlocation,\n\t\tdetails = {},\n\t\terrorType = errorTypes.COMPONENT_ERROR_THROWN,\n\t\tmetadata = {},\n\t\tlog\n\t}\n) {\n\tconst tagName = host.tagName && host.tagName.toLowerCase();\n\tconst componentId = host[NOW_ID_PROP];\n\tconst errorActionType = findKey(errorTypes, val => val === errorType);\n\tapplyInteractionId(metadata);\n\tconst interactionId = getInteractionId(metadata);\n\tmark(host, interactionId, metrics.ERROR, {location});\n\n\t// This if statement prevents a recursive loop when an error is thrown within the COMPONENT_ERROR_THROWN effect\n\tif (!isRecursive({location, details})) {\n\t\tconst lifecycleSpan =\n\t\t\terrorType !== errorTypes.COMPONENT_ERROR_THROWN\n\t\t\t\t? null\n\t\t\t\t: trace(SPAN_FOR_DISPATCH, {\n\t\t\t\t\t\t...getSpanOptions(host),\n\t\t\t\t\t\ttraceId: interactionId,\n\t\t\t\t\t\tkind: SPAN_KIND_CLIENT,\n\t\t\t\t\t\tparentSpan: metadata.span\n\t\t\t\t  });\n\t\tif (lifecycleSpan) {\n\t\t\tlifecycleSpan.setAttribute(SPAN_ATTR_DISPATCH_ACTION_TYPE, SPAN_FOR_COMPONENT_ERROR_THROWN);\n\t\t\tlifecycleSpan.setAttribute(SPAN_ATTR_DISPATCH_MESSAGE, error.message);\n\t\t\tmetadata.span = lifecycleSpan;\n\t\t\tmetadata[INTERNAL_HOST_DISPATCH] = true;\n\t\t}\n\t\tdispatch(errorType, {host, location, details, error}, {internal: true, ...metadata}, true);\n\t\tlifecycleSpan && lifecycleSpan.end();\n\t}\n\n\tif (log) {\n\t\tlog(\n\t\t\t`An Error occured in <${tagName} component-id=\"${componentId}\"/>. ${errorActionType} action type is dispatched with error details.`,\n\t\t\t{error, level: logTypes.ERROR, host, origin: 'sandbox'}\n\t\t);\n\t}\n}\n\nfunction isRecursive({location, details}) {\n\tif (location === locations.EFFECT && details.actionType === errorTypes.COMPONENT_ERROR_THROWN)\n\t\treturn true;\n\n\treturn false;\n}\n\nexport default sandbox;\n","const x = 2147483648;\nconst baseId =\n\tMath.floor(Math.random() * x).toString(36) +\n\tMath.abs(Math.floor(Math.random() * x) ^ Date.now()).toString(36);\n\nlet count = 0;\nexport default function guid() {\n\tcount = count + 1;\n\treturn `${baseId}-${count}`;\n}\n","import callAsync from './callAsync';\n\n/**\n * Creates a react-like ref that prohibits access to the actual element.\n */\nexport default function createAriaRef() {\n\tconst subscriptionMap = new Map();\n\tconst childAriaRefToPath = new WeakMap();\n\tlet __current;\n\tlet __parent;\n\n\tconst ref = {\n\t\tisAriaRef: true,\n\t\tsetCurrent(value) {\n\t\t\t__current = value;\n\t\t\tcallAsync(() => {\n\t\t\t\tsubscriptionMap.forEach(attributeToCallback => {\n\t\t\t\t\tfor (const attribute in attributeToCallback) attributeToCallback[attribute](this);\n\t\t\t\t});\n\t\t\t});\n\t\t},\n\t\tsetParentAriaRef(parentAriaRef) {\n\t\t\t__parent = parentAriaRef;\n\t\t},\n\t\tgetParentAriaRef() {\n\t\t\treturn __parent;\n\t\t},\n\t\tisSet() {\n\t\t\treturn !!__current;\n\t\t},\n\t\tsetId(id) {\n\t\t\t__current.id = id;\n\t\t},\n\t\tgetAttribute(name) {\n\t\t\treturn __current.getAttribute(name);\n\t\t},\n\t\tgetRootNode() {\n\t\t\treturn __current.getRootNode();\n\t\t},\n\t\tcloneNode(deep) {\n\t\t\treturn __current.cloneNode(deep);\n\t\t},\n\t\tsetChildQuerySelector(childAriaRef, path) {\n\t\t\tchildAriaRefToPath.set(childAriaRef, path);\n\t\t},\n\t\tgetChildQuerySelector(childAriaRef) {\n\t\t\treturn childAriaRefToPath.get(childAriaRef);\n\t\t},\n\t\tcontains(node) {\n\t\t\tif (__current) return __current.contains(node);\n\n\t\t\treturn false;\n\t\t},\n\t\tsubscribe({element, attribute}, cb) {\n\t\t\tlet attributeToCallback = subscriptionMap.get(element);\n\t\t\tif (attributeToCallback) {\n\t\t\t\tconst oldCb = attributeToCallback[attribute];\n\t\t\t\tif (oldCb) oldCb(null);\n\t\t\t} else {\n\t\t\t\tattributeToCallback = {};\n\t\t\t\tsubscriptionMap.set(element, attributeToCallback);\n\t\t\t}\n\n\t\t\tattributeToCallback[attribute] = cb;\n\t\t\tcb(this);\n\t\t},\n\t\tunsubscribe({element, attribute}) {\n\t\t\tconst attributeToCallback = subscriptionMap.get(element);\n\t\t\tif (attributeToCallback) {\n\t\t\t\tconst cb = attributeToCallback[attribute];\n\n\t\t\t\tif (cb) cb(null);\n\n\t\t\t\tdelete attributeToCallback[attribute];\n\t\t\t\tif (Object.keys(attributeToCallback).length === 0) subscriptionMap.delete(element);\n\t\t\t}\n\t\t}\n\t};\n\n\tObject.seal(ref);\n\n\treturn ref;\n}\n","import {CREATE_REF_SYMBOL} from '../constants';\n\nexport default function isRef(ref) {\n\treturn ref && ref[CREATE_REF_SYMBOL] ? true : false;\n}\n","import {\n\tCREATE_REF_SYMBOL,\n\tCREATE_REF_SUBSCRIBE_SYMBOL,\n\tCREATE_REF_COMP_PROPS_SUBSCRIPTIONS_SYMBOL\n} from '../constants';\n/**\n * Creates a react-like ref.\n * @method createRef\n * @returns {{current: null}}\n */\nexport default function createRef() {\n\tlet current = null;\n\tconst subscriptions = new Map();\n\tconst ref = {\n\t\t[CREATE_REF_SYMBOL]: true,\n\t\tset current(val) {\n\t\t\tif (current !== val) {\n\t\t\t\tcurrent = val;\n\t\t\t\tfor (const [component, props] of subscriptions) {\n\t\t\t\t\tfor (const name of props) component[name] = val;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tget current() {\n\t\t\treturn current;\n\t\t},\n\t\t[CREATE_REF_SUBSCRIBE_SYMBOL](component, propertyName) {\n\t\t\tsubscriptions.set(component, (subscriptions.get(component) || new Set()).add(propertyName));\n\t\t\treturn () => {\n\t\t\t\tconst propList = subscriptions.get(component);\n\t\t\t\tpropList?.delete(propertyName);\n\t\t\t\tpropList?.size === 0 && subscriptions.delete(component);\n\t\t\t};\n\t\t},\n\t\t[CREATE_REF_COMP_PROPS_SUBSCRIPTIONS_SYMBOL](component) {\n\t\t\tconst compSubscriptions = subscriptions.get(component);\n\t\t\treturn compSubscriptions ? [...compSubscriptions] : [];\n\t\t}\n\t};\n\tObject.seal(ref);\n\treturn ref;\n}\n","import {CREATE_REF_SUBSCRIBE_SYMBOL} from '../constants';\n\nexport default function subscribeToRef(ref, component, propertyName) {\n\treturn ref && ref[CREATE_REF_SUBSCRIBE_SYMBOL](component, propertyName);\n}\n","const registry = new WeakMap();\nconst networkActionsEmptyForElCallbacks = [];\nlet globalCount = 0;\n\nexport function getPendingNetworkActionCount() {\n\treturn globalCount;\n}\n\nexport function pendingNetworkActionCountForHost(host) {\n\treturn registry.has(host) ? registry.get(host).size : 0;\n}\n\nexport function addPendingNetworkActionForHost(pendingNetworkAction, host) {\n\tif (!registry.has(host)) registry.set(host, new Set());\n\tregistry.get(host).add(pendingNetworkAction);\n\tglobalCount++;\n}\n\nexport function removePendingNetworkActionForHost(pendingNetworkAction, host) {\n\tif (!registry.has(host)) return;\n\tif (!registry.get(host).delete(pendingNetworkAction)) return;\n\tglobalCount--;\n\tconst len = networkActionsEmptyForElCallbacks.length;\n\tfor (let i = 0; i < len; i++) networkActionsEmptyForElCallbacks[i](host);\n}\n\nexport function clearPendingNetworkActionsForHost(host) {\n\tif (!registry.has(host)) return;\n\tconst networkActions = registry.get(host);\n\tglobalCount -= networkActions.size;\n\tnetworkActions.clear();\n}\n\nexport function addPendingNetworkActionForHostCb(fn) {\n\tnetworkActionsEmptyForElCallbacks.push(fn);\n}\n\nexport function getHostPendingNetworkActionCount(host) {\n\treturn (registry.has(host) && registry.get(host).size) || 0;\n}\n","import * as uiAnalyticsConsumer from '@servicenow/ui-analytics-consumer';\nconst {createTraceId, getConfigValue} = uiAnalyticsConsumer;\n\nconst x = 2147483648;\nconst baseId =\n\tMath.floor(Math.random() * x).toString(36) +\n\tMath.abs(Math.floor(Math.random() * x) ^ Date.now()).toString(36);\n\nlet count = 0;\n\nfunction isTracingEnabled() {\n\treturn getConfigValue('enableTrace') === true;\n}\n\nexport default function createTransactionId() {\n\tif (isTracingEnabled()) {\n\t\treturn createTraceId();\n\t} else {\n\t\tcount = count + 1;\n\t\treturn `${baseId}-${count}`;\n\t}\n}\n","import {INTERACTION_ID} from './symbols';\nimport createInteractionId from './createInteractionId';\n\nexport default function applyInteractionId(meta) {\n\tif (!meta[INTERACTION_ID]) meta[INTERACTION_ID] = createInteractionId(); // eslint-disable-line no-param-reassign\n\n\treturn meta;\n}\n","import {LIB_NAME} from './constants';\nimport isObject from './isObject';\n\nexport default function validateMeta(meta, callerName) {\n\tif (process.env.NODE_ENV === 'development') {\n\t\tif (!isObject(meta))\n\t\t\tconsole.warn(`${LIB_NAME} ${callerName}() arguments[0] meta must be an object.`); // eslint-disable-line no-console\n\t}\n}\n","import {INTERACTION_ID} from './symbols';\nimport validateMeta from './validateMeta';\n\n/**\n * Retrieves the interactionId from an action\n * @function getInteractionId\n * @example\n * import {getInteractionId} from '@servicenow/ui-metrics';\n *\n * const captureClickEvent = (coeffects, target) => {\n * \t const {action, host} = coeffects;\n *\n *   mark(host, getInteractionId(action.meta), 'CLICK_EVENT', {eventTarget: target});\n * }\n *\n * @param {Object} meta - The meta data from the action object\n */\nexport default function getInteractionId(meta) {\n\tvalidateMeta(meta, 'getInteractionId');\n\treturn meta[INTERACTION_ID];\n}\n","import {INTERACTION_ID} from './symbols';\nimport validateSetInteractionIdArguments from './validateSetInteractionIdArguments';\n\nexport default function setInteractionId(meta, id) {\n\tvalidateSetInteractionIdArguments(meta, 'setInteractionId', id);\n\tmeta[INTERACTION_ID] = id; // eslint-disable-line no-param-reassign\n\treturn meta;\n}\n","import validateMeta from './validateMeta';\nimport {LIB_NAME} from './constants';\n\nexport default function validateSetInteractionIdArguments(meta, fnName, id) {\n\tvalidateMeta(meta, fnName);\n\tif (process.env.NODE_ENV === 'development') {\n\t\tif (typeof id !== 'string')\n\t\t\tconsole.warn(`${LIB_NAME} ${fnName}() arguments[1] interactionId must be a string.`); // eslint-disable-line no-console\n\t}\n}\n","import * as uiAnalyticsConsumer from '@servicenow/ui-analytics-consumer';\nimport {levels} from './constants';\nconst {createHistogram} = uiAnalyticsConsumer;\nconst types = {};\nfor (const k in levels) {\n\ttypes[k] = {\n\t\tlevel: levels[k],\n\t\thistogram: createHistogram(k)\n\t};\n}\n\nexport default types;\n","import levels from './levels';\nimport * as uiAnalyticsConsumer from '@servicenow/ui-analytics-consumer';\nconst {createHistogram} = uiAnalyticsConsumer;\n\n/**\n * Defines a custom metric\n * @function defineMetric\n * @example\n * import {defineMetric} from '@servicenow/ui-metrics';\n *\n * export const initCustomMetrics = () => {\n *\t\tif (shouldPersistMetrics) {\n *\t\t\tsetInteractionId();\n *\t\t\twindow.addEventListener('unload', () => {\n *\t\t\t\tpersistMetrics();\n *\t\t\t});\n *\n *\t\t\tdefineMetric('NAVIGATE', 4);\n *\t\t\tpersistAtInterval(intervalDuration);\n *\t\t}\n * };\n *\n * @param {String} name\n * @param {Number} level\n */\nexport default function defineMetric(name, level = 0) {\n\tif (levels[name]) throw new Error(`@servicenow/ui-metrics ${name} is already a defined metric.`);\n\tif (!Number.isInteger(level) || level > 5 || level < 0)\n\t\tthrow new Error(`@servicenow/ui-metrics ${level} is not valid metric level.`);\n\n\tlevels[name] = {level, histogram: createHistogram(name)};\n}\n","export default new Set();\n","export default [];\n","import {types} from './constants';\n\nconst {GQL, HTTP, RENDER_START, UPDATE_PROPERTIES, DISPATCH, UPDATE_STATE} = types;\n\nlet totalGQL = 0;\nlet totalHTTP = 0;\nlet totalRenders = 0;\nlet totalPropChange = 0;\nlet totalDispatch = 0;\nlet totalStateUpdates = 0;\n\nexport const getCounters = () => ({\n\ttotalGQL,\n\ttotalHTTP,\n\ttotalRenders,\n\ttotalPropChange,\n\ttotalDispatch,\n\ttotalStateUpdates\n});\n\nexport const clearCounters = () => {\n\ttotalGQL = 0;\n\ttotalHTTP = 0;\n\ttotalRenders = 0;\n\ttotalPropChange = 0;\n\ttotalDispatch = 0;\n\ttotalStateUpdates = 0;\n};\n\nexport const increment = type => {\n\tswitch (type) {\n\t\tcase GQL:\n\t\t\ttotalGQL++;\n\t\t\tbreak;\n\t\tcase HTTP:\n\t\t\ttotalHTTP++;\n\t\t\tbreak;\n\t\tcase RENDER_START:\n\t\t\ttotalRenders++;\n\t\t\tbreak;\n\t\tcase UPDATE_PROPERTIES:\n\t\t\ttotalPropChange++;\n\t\t\tbreak;\n\t\tcase DISPATCH:\n\t\t\ttotalDispatch++;\n\t\t\tbreak;\n\t\tcase UPDATE_STATE:\n\t\t\ttotalStateUpdates++;\n\t\t\tbreak;\n\t}\n};\n","import levels from './levels';\nimport {getConfigItem, configConstants, observeConfigItem} from '@servicenow/ui-config';\n\nconst {METRICS_LEVEL, METRICS_TYPES, TELEMETRY_MARKING_ENABLED, METRICS_ELEMENT_CONFIG_ENABLED} =\n\tconfigConstants;\n\nlet globalMetricsLevel = parseInt(getConfigItem(METRICS_LEVEL));\nlet globalMetricsLevelIsInteger = Number.isInteger(globalMetricsLevel);\nlet globalMetricTypes = getConfigItem(METRICS_TYPES);\nlet globalIsTelemetryEnabled = getConfigItem(TELEMETRY_MARKING_ENABLED);\nlet globalElementMetricsConfigEnabled = getConfigItem(METRICS_ELEMENT_CONFIG_ENABLED);\n\nlet resolvedLevels = {};\nconst isMetricTypeValid = level => {\n\tif (resolvedLevels[level]) return true;\n\n\tconst isValid = Number.isInteger(level) && level >= 0 && level <= 5;\n\n\tif (isValid) resolvedLevels[level] = true;\n\n\treturn isValid;\n};\n\nconst observer = (path, value) => {\n\tresolvedLevels = {};\n\n\tswitch (path) {\n\t\tcase METRICS_LEVEL:\n\t\t\tglobalMetricsLevel = value;\n\t\t\tglobalMetricsLevelIsInteger = Number.isInteger(globalMetricsLevel);\n\t\t\tbreak;\n\t\tcase METRICS_TYPES:\n\t\t\tglobalMetricTypes = value;\n\t\t\tbreak;\n\t\tcase TELEMETRY_MARKING_ENABLED:\n\t\t\tglobalIsTelemetryEnabled = value;\n\t\t\tbreak;\n\t\tcase METRICS_ELEMENT_CONFIG_ENABLED:\n\t\t\tglobalElementMetricsConfigEnabled = value;\n\t\t\tbreak;\n\t}\n};\n\nobserveConfigItem(METRICS_LEVEL, observer);\nobserveConfigItem(METRICS_TYPES, observer);\nobserveConfigItem(TELEMETRY_MARKING_ENABLED, observer);\nobserveConfigItem(METRICS_ELEMENT_CONFIG_ENABLED, observer);\n\nexport default function shouldMark(context, metricType) {\n\tif (globalIsTelemetryEnabled === false) return false;\n\n\t// non-bootstrapped components don't have enough\n\t// data to send a valid mark\n\tif (!context.ready) return false;\n\n\tif (globalElementMetricsConfigEnabled && Array.isArray(context.nowMetricTypes))\n\t\treturn context.nowMetricTypes.includes(metricType);\n\n\tif (Array.isArray(globalMetricTypes)) return globalMetricTypes.includes(metricType);\n\n\tconst {level = -1} = levels[metricType] || {};\n\n\tif (!isMetricTypeValid(level)) return false;\n\n\tif (globalElementMetricsConfigEnabled && Number.isInteger(context.nowMetricsLevel))\n\t\treturn level >= context.nowMetricsLevel;\n\n\treturn globalMetricsLevelIsInteger && level >= globalMetricsLevel;\n}\n","export default new Set();\n","import levels from './levels';\nimport resolveContext from './resolveContext';\nimport * as uiAnalyticsConsumer from '@servicenow/ui-analytics-consumer';\nimport augment from './augment';\nimport {getConfigItem, configConstants} from '@servicenow/ui-config';\nimport {defer, whenIdle} from '@servicenow/ui-utils';\nimport marks from './marks';\nimport {increment as incrementCount} from './counters';\nimport shouldMark from './shouldMark';\nimport {types} from './constants';\nimport observers from './observers';\nimport validateMarkArguments from './validateMarkArguments';\n\nconst {track} = uiAnalyticsConsumer;\nconst {\n\tMETRICS_OBSERVER_INTERVAL,\n\tMETRICS_USE_WINDOW_PERFORMANCE,\n\tMETRICS_MARK_PRUNING_INTERVAL,\n\tMETRICS_MARK_EXPIRATION,\n\tMETRICS_PRUNE_MARKS\n} = configConstants;\nlet timeoutId;\nconst latest = [];\nconst MARK_PRUNING_INTERVAL = getConfigItem(METRICS_MARK_PRUNING_INTERVAL);\nconst MARK_EXPIRATION = getConfigItem(METRICS_MARK_EXPIRATION);\nconst PRUNE_MARKS = getConfigItem(METRICS_PRUNE_MARKS);\n\nlet {performance} = window;\nif (!getConfigItem(METRICS_USE_WINDOW_PERFORMANCE)) {\n\ttry {\n\t\tperformance = window.top.performance; // eslint-disable-line prefer-destructuring\n\t} catch (e) {\n\t\t/* catch if !window.top */\n\t}\n}\n\nconst callObservers = () => {\n\tif (observers.size) {\n\t\tclearTimeout(timeoutId);\n\t\ttimeoutId = defer(() => {\n\t\t\twhenIdle(() => {\n\t\t\t\tconst latestSlice = latest.splice(0);\n\t\t\t\tif (latestSlice.length) observers.forEach(observer => observer([...latestSlice]));\n\t\t\t});\n\t\t}, getConfigItem(METRICS_OBSERVER_INTERVAL));\n\t}\n};\n\nconst unresolvedResourceMarks = [];\n\nconst isMatch = (mark, resource) => {\n\tif (isMarkBatchedRequest(mark) && isResourceBatchApi(resource)) return true;\n\n\tif (resource.name.includes(mark?.options?.path)) return true;\n\n\treturn false;\n};\n\nconst isResourceBatchApi = resource => resource.name.includes('/api/now/v1/batch');\nconst isMarkBatchedRequest = mark => mark?.options?.batch;\n\n// not currently supported in component unit testing environment\nif (window.PerformanceObserver) {\n\tconst observer = new PerformanceObserver(list => {\n\t\tconst resources = list.getEntries().sort((a, b) => {\n\t\t\tif (a.startTime < b.startTime) return -1;\n\t\t\tif (a.startTime > b.startTime) return 1;\n\n\t\t\treturn 0;\n\t\t});\n\n\t\tfor (let m = 0; m < unresolvedResourceMarks.length; m++) {\n\t\t\tconst mark = unresolvedResourceMarks[m];\n\n\t\t\tfor (let e = 0; e < resources.length; e++) {\n\t\t\t\tconst resource = resources[e];\n\n\t\t\t\tif (resource.startTime > mark.markTime && isMatch(mark, resource)) {\n\t\t\t\t\tmark.options.resource = resource.toJSON();\n\t\t\t\t\tunresolvedResourceMarks.splice(m, 1);\n\t\t\t\t\tm -= 1;\n\t\t\t\t\tlatest.push(mark);\n\t\t\t\t\tcallObservers();\n\t\t\t\t\tif (!isMarkBatchedRequest(mark)) resources.splice(e, 1);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\tobserver.observe({\n\t\tentryTypes: ['resource']\n\t});\n}\n\nif (PRUNE_MARKS && MARK_PRUNING_INTERVAL > 0) {\n\tsetInterval(() => {\n\t\tconst now = performance.now();\n\n\t\tfor (let i = 0; i < unresolvedResourceMarks.length; i++) {\n\t\t\tif (now - unresolvedResourceMarks[i].markTime >= MARK_EXPIRATION) {\n\t\t\t\tif (process.env.NODE_ENV !== 'production') {\n\t\t\t\t\tconst count = unresolvedResourceMarks.length - i;\n\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t`@servicenow/ui-metrics Pruning ${count} unresolved resource mark${\n\t\t\t\t\t\t\tcount > 1 ? 's' : ''\n\t\t\t\t\t\t}.`\n\t\t\t\t\t); // eslint-disable-line no-console\n\t\t\t\t}\n\t\t\t\tunresolvedResourceMarks.splice(i);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tfor (let i = 0; i < marks.length; i++) {\n\t\t\tif (now - marks[i].markTime >= MARK_EXPIRATION) {\n\t\t\t\tif (process.env.NODE_ENV !== 'production') {\n\t\t\t\t\tconst count = marks.length - i;\n\t\t\t\t\tconsole.info(\n\t\t\t\t\t\t`@servicenow/ui-metrics Pruning ${marks.length - i} expired mark${\n\t\t\t\t\t\t\tcount > 1 ? 's' : ''\n\t\t\t\t\t\t}.`\n\t\t\t\t\t); // eslint-disable-line no-console\n\t\t\t\t}\n\t\t\t\tmarks.splice(i);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}, MARK_PRUNING_INTERVAL);\n}\n\n/**\n * Marks a Seismic friendly performance marker\n * @function mark\n * @example\n * import {mark} from '@servicenow/ui-metrics';\n *\n * actionHandlers: {\n * \t\t[COMPONENT_TREE_RENDERED]({host, action: {meta}}) {\n *\t\t\tif (hasFetched && !loading && !interactive) {\n *\n * \t\t\t\t// Mark a custom defined metric and flip interactive\n * \t\t\t\t// Initial interactive state is false\n *\t\t\t\tmark(host, getInteractionId(meta), metrics.HERO_INTERACTIVE);\n *\t\t\t\tupdateState({\n *\t\t\t\t\tshouldRender: false,\n *\t\t\t\t\tpath: 'interactive',\n *\t\t\t\t\tvalue: true,\n *\t\t\t\t\toperation: 'set'\n *\t\t\t\t});\n *\t\t\t}\n *\t\t}\n * }\n *\n * @param {Object} context - (Optional) Context object to attach mark to\n * @param {String} interactionId - The id of the action that trigger the mark. Helps track client transactions during the interaction\n * @param {String} event - The metric type you are marking (custom metrics must be defined first).\n * @param {Object} options - (Optional) Typically this is the label or type of the mark.  Labels should be `:` delimited.\n * @param {String} type - (Optional) The category of metric.  Defaults to `performance`.  Other common options are `usage` || `both`.\n */\nexport default function mark(\n\tcontext = {},\n\tinteractionId,\n\tevent,\n\toptions = {},\n\ttype = 'performance'\n) {\n\tconst resolvedContext = resolveContext(context);\n\tconst {componentName, componentId, parentComponentId} = resolvedContext;\n\tincrementCount(event, {componentName, componentId, parentComponentId});\n\tif (!shouldMark(resolvedContext, event)) return;\n\n\tvalidateMarkArguments(resolvedContext, interactionId, event, options, type);\n\tconst mark = {\n\t\tcomponentName,\n\t\tcomponentId,\n\t\tparentComponentId,\n\t\tmarkTime: performance.now(),\n\t\tinteractionId,\n\t\tevent,\n\t\toptions,\n\t\ttype\n\t};\n\tconst augmentedMark = augment(mark);\n\n\tif (event === types.HTTP || event === types.GQL) {\n\t\tunresolvedResourceMarks.push(augmentedMark);\n\t\taugmentedMark.options.resource = {\n\t\t\tunresolved: true\n\t\t};\n\t}\n\n\tif (type === 'performance' || type === 'all') {\n\t\tconst {histogram} = levels[event];\n\t\thistogram(event?.value || event, augmentedMark);\n\t}\n\tif (type === 'usage') {\n\t\ttrack(event, {attributes: augmentedMark});\n\t}\n\n\tmarks.push(augmentedMark);\n\n\tif (observers.size && !augmentedMark?.options?.resource?.unresolved) {\n\t\tlatest.push(augmentedMark);\n\t\tcallObservers();\n\t}\n}\n","import {SEISMIC_HOIST_TAG_NAME} from './constants';\n\nexport default function resolveContext(context) {\n\tconst isSeismicElement = context.nowId;\n\tif (!isSeismicElement) return context;\n\n\tconst resolvedHost = context.tagName === SEISMIC_HOIST_TAG_NAME ? context.sourceElement : context;\n\n\treturn {\n\t\tcomponentName: resolvedHost.tagName,\n\t\tcomponentId: resolvedHost.nowId,\n\t\tparentComponentId: resolvedHost.__DO_NOT_USE_OR_YOU_WILL_BE_FIRED_BY_YOUR_PARENT__,\n\t\tmetricTypes: resolvedHost.metricTypes,\n\t\tmetricsLevel: resolvedHost.metricsLevel,\n\t\tready: resolvedHost.__DO_NOT_USE_BOOTSTRAPPED__\n\t};\n}\n","import augmenters from './augmenters';\n\nexport default function augment(obj) {\n\tif (!augmenters.size) return obj;\n\n\treturn [...augmenters].reduceRight((acc, val) => val(acc), obj);\n}\n","import levels from './levels';\n\nconst getMetricTypes = () => ({...levels});\n\nexport default getMetricTypes;\n","import {timingMetricTypes, timings} from './constants';\nimport {clearDeferMetrics, getDeferMetrics, logDuration} from '@servicenow/ui-utils';\nimport {isPerfMetricsEnabled} from './metrics';\n\nlet debounceMetrics = {};\n//Have to do this to avoid circular dependency between utils and metrics packages\nlet deferMetrics = getDeferMetrics();\n\nexport const clearTimingMetrics = () => {\n\tdebounceMetrics = {};\n\tclearDeferMetrics();\n\tdeferMetrics = getDeferMetrics();\n};\n\nexport const logTimingMetrics = (type, duration = 0, componentName) => {\n\tif (!isPerfMetricsEnabled()) return;\n\tswitch (type) {\n\t\tcase timingMetricTypes.DEFER:\n\t\t\tlogDuration(deferMetrics, duration, componentName);\n\t\t\tbreak;\n\t\tcase timingMetricTypes.DEBOUNCE:\n\t\t\tlogDuration(debounceMetrics, duration, componentName);\n\t\t\tbreak;\n\t}\n};\n\nexport function getCountersHistogram() {\n\treturn {\n\t\t[timingMetricTypes.DEFER]: getHistogram(deferMetrics),\n\t\t[timingMetricTypes.DEBOUNCE]: getHistogram(debounceMetrics)\n\t};\n}\n\nfunction getHistogram(metrics) {\n\tconst histogram = {\n\t\t[timings.LOWER_BOUNDARY]: {},\n\t\t[timings.MIDDLE]: {},\n\t\t[timings.UPPER_BOUNDARY]: {}\n\t};\n\tObject.keys(metrics).forEach(componentName => {\n\t\tconst delayTimeArray = metrics[componentName] || [];\n\t\tdelayTimeArray.forEach(delayTime => {\n\t\t\tif (delayTime <= 50) {\n\t\t\t\thistogram[timings.LOWER_BOUNDARY][componentName] =\n\t\t\t\t\t(histogram[timings.LOWER_BOUNDARY][componentName]\n\t\t\t\t\t\t? histogram[timings.LOWER_BOUNDARY][componentName]\n\t\t\t\t\t\t: 0) + 1;\n\t\t\t} else if (delayTime > 100) {\n\t\t\t\thistogram[timings.UPPER_BOUNDARY][componentName] =\n\t\t\t\t\t(histogram[timings.UPPER_BOUNDARY][componentName]\n\t\t\t\t\t\t? histogram[timings.UPPER_BOUNDARY][componentName]\n\t\t\t\t\t\t: 0) + 1;\n\t\t\t} else {\n\t\t\t\thistogram[timings.MIDDLE][componentName] =\n\t\t\t\t\t(histogram[timings.MIDDLE][componentName]\n\t\t\t\t\t\t? histogram[timings.MIDDLE][componentName]\n\t\t\t\t\t\t: 0) + 1;\n\t\t\t}\n\t\t});\n\t});\n\treturn histogram;\n}\n","import {getCountersHistogram, clearTimingMetrics} from './timingMetrics';\n\nlet perfMetricsEnabled = false;\n\nexport const collectMetrics = (options = {}) => {\n\tconst {shouldClear = false, shouldDisable = false} = options;\n\n\t// Disable metric collection if needed\n\tif (shouldDisable) perfMetricsEnabled = false;\n\n\t// Collect metrics\n\tconst counters = getCounters();\n\n\t// Clear metric collection objects if needed\n\tif (shouldClear) clearPerfMetrics();\n\treturn {counters};\n};\n\nconst getCounters = () => {\n\treturn getCountersHistogram();\n};\n\nexport const enable = () => {\n\tperfMetricsEnabled = true;\n};\n\nexport const isPerfMetricsEnabled = () => {\n\treturn perfMetricsEnabled;\n};\n\nexport const clearPerfMetrics = () => {\n\tclearTimingMetrics();\n};\n","import marks from './marks';\n\nexport default function clearMarks() {\n\tmarks.length = 0;\n}\n","import marks from './marks';\n\nexport default function getMarks() {\n\treturn [...marks];\n}\n","import observers from './observers';\n\nexport default function observe(observer) {\n\tobservers.add(observer);\n\treturn () => observers.delete(observer);\n}\n","import augmenters from './augmenters';\n\nexport default function addMarkAugmenter(augmenter) {\n\tif (typeof augmenter !== 'function') return () => {};\n\n\taugmenters.add(augmenter);\n\treturn () => augmenters.delete(augmenter);\n}\n","export const ARIA_PREFIX = 'aria';\nexport const ATTR_PREFIX = 'attr';\nexport const DATA_PREFIX = 'data';\nexport const HOOK_PREFIX = 'hook';\nexport const EVENT_PREFIX = 'on';\n\nexport const MODULES = [\n\t'hook',\n\t'ref',\n\t'now-aria-ref',\n\t'on',\n\t'style',\n\t'class',\n\t'attrs',\n\t'props',\n\t'dataset'\n];\n\nexport const ACRONYM_PROPS = ['innerHTML', 'outerHTML'];\n\nexport const APPEND_TO_PAYLOAD = 'append-to-payload';\nexport const APPEND_TO_META = 'append-to-meta';\n\nexport const BASE_ATTRIBUTES = [\n\t'path',\n\t'context',\n\t'context-modifier',\n\t'key',\n\t'alt',\n\t'async',\n\t'autocomplete',\n\t'autofocus',\n\t'autoplay',\n\t'capture',\n\t'checked',\n\t'default',\n\t'defer',\n\t'disabled',\n\t'draggable',\n\t'dropzone',\n\t'hidden',\n\t'href',\n\t'hreflang',\n\t'http-equiv',\n\t'icon',\n\t'id',\n\t'is',\n\t'maxlength',\n\t'minlength',\n\t'media',\n\t'method',\n\t'multiple',\n\t'name',\n\t'placeholder',\n\t'readonly',\n\t'rel',\n\t'required',\n\t'reversed',\n\t'role',\n\t'rows',\n\t'rowspan',\n\t'selected',\n\t'slot',\n\t'src',\n\t'tabindex',\n\t'target',\n\t'title',\n\t'type',\n\t'value'\n];\n\nexport const CUSTOM_ELEMENT_ATTRIBUTES = [\n\t...BASE_ATTRIBUTES,\n\t'component-id',\n\t'listen-to',\n\t'dangerouslySetInnerHTML',\n\t'suppressContentEditableWarning',\n\t'suppressHydrationWarning'\n];\n\nexport const NON_CUSTOM_ELEMENT_ATTRIBUTES = [\n\t...BASE_ATTRIBUTES,\n\t'accept',\n\t'accept-charset',\n\t'accesskey',\n\t'action',\n\t'align',\n\t'allow',\n\t'autocapitalize',\n\t'background',\n\t'bgcolor',\n\t'border',\n\t'buffered',\n\t'challenge',\n\t'charset',\n\t'cite',\n\t'code',\n\t'codebase',\n\t'color',\n\t'cols',\n\t'colspan',\n\t'content',\n\t'contenteditable',\n\t'contextmenu',\n\t'controls',\n\t'coords',\n\t'crossorigin',\n\t'datetime',\n\t'decoding',\n\t'dir',\n\t'dirname',\n\t'download',\n\t'enctype',\n\t'for',\n\t'form',\n\t'formaction',\n\t'formenctype',\n\t'formmethod',\n\t'formnovalidate',\n\t'formtarget',\n\t'headers',\n\t'height',\n\t'high',\n\t'integrity',\n\t'intrinsicsize',\n\t'inputmode',\n\t'ismap',\n\t'itemprop',\n\t'keytype',\n\t'kind',\n\t'label',\n\t'lang',\n\t'language',\n\t'list',\n\t'loop',\n\t'low',\n\t'manifest',\n\t'max',\n\t'min',\n\t'muted',\n\t'novalidate',\n\t'open',\n\t'optimum',\n\t'pattern',\n\t'ping',\n\t'poster',\n\t'preload',\n\t'radiogroup',\n\t'referrerpolicy',\n\t'sandbox',\n\t'scope',\n\t'scoped',\n\t'shape',\n\t'size',\n\t'sizes',\n\t'span',\n\t'spellcheck',\n\t'srcdoc',\n\t'srclang',\n\t'srcset',\n\t'start',\n\t'step',\n\t'summary',\n\t'translate',\n\t'usemap',\n\t'width',\n\t'wrap'\n];\n","import {getConfigItem, configConstants} from '@servicenow/ui-config';\nimport {createInteractionId, mark, types as metrics} from '@servicenow/ui-metrics';\nimport {\n\tsandbox,\n\tlocations,\n\tcamelCase,\n\tmemoize,\n\tallLogTypes as logTypes\n} from '@servicenow/ui-internal';\nimport {\n\tMODULES,\n\tARIA_PREFIX,\n\tATTR_PREFIX,\n\tDATA_PREFIX,\n\tHOOK_PREFIX,\n\tEVENT_PREFIX,\n\tCUSTOM_ELEMENT_ATTRIBUTES,\n\tNON_CUSTOM_ELEMENT_ATTRIBUTES,\n\tACRONYM_PROPS\n} from '../constants';\nimport log from '../log';\nimport {INTERACTION_ID} from '../symbols';\n\nconst {MEMOIZE_SNABBDOM_PROP_PARTS} = configConstants;\nconst shouldMemoizePropParts = getConfigItem(MEMOIZE_SNABBDOM_PROP_PARTS);\n\nconst isNil = value => value === null || value === undefined;\n\n// TODO: investigate the benifit and drawbacks of memoizing this.  This does make it faster but at the cost of memory.\nconst memoizedCamelCase = memoize(camelCase, {profileName: 'snabbdom-camelCase'});\nconst isCustomElement = tag => tag.indexOf('-') > 0;\nconst memoizedIsCustomElement = memoize(isCustomElement, {profileName: 'snabbdom-isCustomElement'});\n\nfunction convertToLoadedEvent(value) {\n\tconst [fn, ...args] = value;\n\treturn (event, vnode) => {\n\t\tfn.apply(vnode, [...args, event, vnode]);\n\t};\n}\n\nconst getPropKeyParts = key => {\n\tconst index = key.indexOf('-');\n\tconst prefix = index > 0 ? key.substring(0, index) : null;\n\tconst name =\n\t\tprefix === ATTR_PREFIX || DATA_PREFIX || HOOK_PREFIX || EVENT_PREFIX\n\t\t\t? key.slice(index + 1)\n\t\t\t: key;\n\n\treturn {index, prefix, name};\n};\n\nconst memoizedGetPropKeyParts = shouldMemoizePropParts\n\t? memoize(getPropKeyParts, {profileName: 'snabbdom-getPropKeyParts'})\n\t: getPropKeyParts;\n\n/**\n * Move props into the proper module fields so they can properly be handled by modules registered with snabbdom.\n * @private\n * @method formatProps\n * @param tagName element name\n * @param {object} props Properties to format by prefixes\n * @returns {{hook: {}, ref: {}, now-aria-ref: {}, on: {}, style: {}, class: {}, attrs: {}, props: {}, dataset: {}}}\n */\nexport default function formatProps(tagName, props) {\n\tconst result = {\n\t\thook: {},\n\t\tref: null,\n\t\t'now-aria-ref': null,\n\t\ton: {},\n\t\tstyle: {},\n\t\tclass: {},\n\t\tattrs: {},\n\t\tprops: {}\n\t};\n\n\tconst isCustomTag = memoizedIsCustomElement(tagName);\n\n\t// this is the fastest way to iterate over an object's keys:\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tconst keys = Object.keys(props);\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tconst key = keys[i];\n\t\tconst value = props[key];\n\t\tif (key === 'key') {\n\t\t\tresult.key = value;\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst {index: keyIndex, prefix, name: keyName} = memoizedGetPropKeyParts(key);\n\t\tif (keyIndex > 0) {\n\t\t\tif (prefix === ATTR_PREFIX) {\n\t\t\t\tresult.attrs[keyName] = isNil(value) ? false : value;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (prefix === ARIA_PREFIX) {\n\t\t\t\tresult.attrs[key] = isNil(value) ? false : value;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (prefix === DATA_PREFIX) {\n\t\t\t\t// Perf: Defer defining dataset on the resulting vnode as snabbdom will\n\t\t\t\t// otherwise do un-necessary reading from the DOM in the dataset module.\n\t\t\t\tif (!result.dataset) result.dataset = {};\n\n\t\t\t\tresult.dataset[keyName] = value;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (prefix === HOOK_PREFIX && typeof value === 'function') {\n\t\t\t\tconst name = keyName;\n\n\t\t\t\tresult.hook[name] = (vnode, ...rest) => {\n\t\t\t\t\tconst host = vnode.elm && vnode.elm.getRootNode().host;\n\n\t\t\t\t\tif (!host) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\treturn value(vnode, ...rest);\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\tlog(`An Error occured while executing hook-${name}`, {\n\t\t\t\t\t\t\t\terror: e,\n\t\t\t\t\t\t\t\tlevel: logTypes.ERROR,\n\t\t\t\t\t\t\t\torigin: 'formatProps'\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn sandbox(\n\t\t\t\t\t\t(host, vnode, ...rest) => {\n\t\t\t\t\t\t\tconst interactionId = host[INTERACTION_ID] || createInteractionId();\n\t\t\t\t\t\t\tmark(host, interactionId, metrics.HOOK_START, {name, tagName: vnode.elm.tagName});\n\t\t\t\t\t\t\tvalue(vnode, ...rest);\n\t\t\t\t\t\t\tmark(host, interactionId, metrics.HOOK_END, {name, tagName: vnode.elm.tagName});\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\targs: [host, vnode, ...rest],\n\t\t\t\t\t\t\tdispatch: host.helpers,\n\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\tlocation: locations.VIEW,\n\t\t\t\t\t\t\tdetails: {name},\n\t\t\t\t\t\t\tlog\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t};\n\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Backwards compatibility for snabbdom's `loaded event` feature:\n\t\t\t//\n\t\t\t//   on-click={[function handler() {}, a, b]}\n\t\t\t//\n\t\t\t// would automatically bind `a` and `b` as the first args to the handler:\n\t\t\t//\n\t\t\t//   handler(a, b, event, vnode);\n\t\t\t//\n\t\t\t// This was supported in snabbdom@0.7 but removed in snabbdom@2.0\n\t\t\t// https://github.com/snabbdom/snabbdom/pull/804\n\t\t\tif (\n\t\t\t\tprefix === EVENT_PREFIX &&\n\t\t\t\tArray.isArray(value) &&\n\t\t\t\ttypeof value[0] === 'function' &&\n\t\t\t\tvalue.length > 1\n\t\t\t) {\n\t\t\t\tresult.on[keyName] = convertToLoadedEvent(value);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (MODULES.includes(prefix)) {\n\t\t\t\tresult[prefix][keyName] = value;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tif (MODULES.includes(key)) {\n\t\t\tresult[key] = value;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (isCustomTag) {\n\t\t\tif (CUSTOM_ELEMENT_ATTRIBUTES.includes(key)) {\n\t\t\t\tresult.attrs[key] = isNil(value) ? false : value;\n\t\t\t\tif (!result.key && key === 'component-id') result.key = value;\n\t\t\t}\n\t\t\tif (process.env.NODE_ENV !== 'production') {\n\t\t\t\tconst lowerKey = memoizedCamelCase(key).toLowerCase();\n\t\t\t\tif (\n\t\t\t\t\tNON_CUSTOM_ELEMENT_ATTRIBUTES.includes(lowerKey) &&\n\t\t\t\t\t!NON_CUSTOM_ELEMENT_ATTRIBUTES.includes(key)\n\t\t\t\t) {\n\t\t\t\t\tlog(\n\t\t\t\t\t\t`For tag <${tagName}>: the property '${key}' matches the standard HTML5 attribute '${lowerKey}'. Please use standard HTML attributes & avoid props matching standard HTML attributes`,\n\t\t\t\t\t\t{level: logTypes.WARN, tagName}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif (NON_CUSTOM_ELEMENT_ATTRIBUTES.includes(key))\n\t\t\t\tresult.attrs[key] = isNil(value) ? false : value;\n\t\t}\n\n\t\tif (ACRONYM_PROPS.includes(key)) {\n\t\t\tresult.props[key] = value;\n\t\t\tcontinue;\n\t\t}\n\n\t\tresult.props[memoizedCamelCase(key)] = value;\n\t}\n\n\treturn result;\n}\n","/**\n * Formats children to be rendered by snabbdom\n * - recursively flatten + compact arrays\n * - filter out boolean/Symbol values (snabbdom throws on these)\n */\n\nfunction recurse(arr, result) {\n\tconst {length} = arr;\n\tfor (let i = 0; i < length; i++) {\n\t\tconst item = arr[i];\n\t\tif (Array.isArray(item)) recurse(item, result);\n\t\telse if (\n\t\t\ttypeof item !== 'boolean' &&\n\t\t\ttypeof item !== 'symbol' &&\n\t\t\titem !== null &&\n\t\t\titem !== undefined\n\t\t)\n\t\t\tresult.push(item);\n\t}\n\n\treturn result;\n}\n\nexport default function formatChildren(arr) {\n\treturn recurse(arr, []);\n}\n",null,null,null,null,null,null,null,null,null,"import {guid} from '@servicenow/ui-internal';\nimport accessibilityTargets from '../utils/accessibilityTargets';\nimport ariaRefAssignments from '../utils/ariaRefAssignments';\n\n/**\n * Checks for aria attributes that are set to an aria ref,\n * and replaces the value with a generated id that will be\n * later assigned to a clone of the element the aria ref\n * is referencing.\n */\nconst checkForAriaAttributes = (oldVnode, vnode, {destroy} = {}) => {\n\tif (!process.env.UNSAFE_ENABLE_SNABBDOM_ACCESSIBILITY) return;\n\n\tconst {\n\t\tdata: {attrs}\n\t} = vnode;\n\n\tconst oldAriaAttrs = (oldVnode && oldVnode.data && oldVnode.data.aria_attrs) || {};\n\tfor (const key in oldAriaAttrs) {\n\t\tif (oldVnode.data.aria_refs && oldVnode.data.aria_refs[key])\n\t\t\toldVnode.data.aria_refs[key].unsubscribe({element: vnode.elm, attribute: key});\n\t}\n\n\tfor (const key in attrs) {\n\t\tif (key.startsWith('aria-') && attrs[key].isAriaRef) {\n\t\t\tif (!vnode.data.aria_refs) vnode.data.aria_refs = {};\n\t\t\tif (!vnode.data.aria_attrs) vnode.data.aria_attrs = {};\n\n\t\t\tconst id = `a${guid()}`; // guid() sometimes starts with a number which isn't allowed for ids\n\t\t\tconst targetRef = attrs[key];\n\n\t\t\tvnode.data.aria_refs[key] = targetRef;\n\t\t\tvnode.data.aria_attrs[key] = true;\n\t\t\tattrs[key] = id;\n\n\t\t\taccessibilityTargets[accessibilityTargets.length - 1].push({\n\t\t\t\telement: vnode.elm,\n\t\t\t\ttargetRef,\n\t\t\t\tid,\n\t\t\t\tariaAttribute: key\n\t\t\t});\n\t\t}\n\t}\n\n\tconst ariaRef = vnode.data['now-aria-ref'];\n\tif (ariaRef && typeof ariaRef === 'object') {\n\t\t// Queue the ref to be set after the patch is complete, otherwise\n\t\t// the element won't have its entire DOM structure and can't be accurately\n\t\t// cloned to other shadowRoots\n\t\tariaRefAssignments[ariaRefAssignments.length - 1].push({\n\t\t\tariaRef,\n\t\t\telement: destroy ? null : vnode.elm\n\t\t});\n\t}\n};\n\nexport default {\n\tcreate: (oldVnode, vnode) => checkForAriaAttributes(null, vnode),\n\tupdate: (oldVnode, vnode) => checkForAriaAttributes(oldVnode, vnode),\n\tdestroy: vnode => checkForAriaAttributes(null, vnode, {destroy: true})\n};\n","/**\n * Assigns or executes a ref.\n * @private\n * @param vnode\n */\nconst getRef = vnode => {\n\tconst ref = vnode.data.ref; // eslint-disable-line prefer-destructuring\n\n\tif (ref && typeof ref === 'function') ref(vnode.elm);\n\telse if (ref && typeof ref === 'object') ref.current = vnode.elm;\n};\n\nexport default {\n\tcreate: (oldVnode, vnode) => getRef(vnode),\n\tupdate: (oldVnode, vnode) => getRef(vnode),\n\tdestroy: vnode => getRef(vnode)\n};\n","// This is a modified version of the snabbdom props module. Unlike the upstream\n// module, this implementation does set removed properties to `undefined`\nconst updateProps = (oldVnode, vnode) => {\n\tlet {\n\t\tdata: {props: oldProps}\n\t} = oldVnode;\n\tlet {\n\t\tdata: {props},\n\t\t// eslint-disable-next-line prefer-const\n\t\telm\n\t} = vnode;\n\n\tif (!oldProps && !props) return;\n\n\tif (oldProps === props) return;\n\n\toldProps = oldProps || {};\n\tprops = props || {};\n\n\tfor (const key in oldProps) {\n\t\tif (!props.hasOwnProperty(key)) elm[key] = key === 'className' ? '' : undefined;\n\t}\n\n\tfor (const key in props) {\n\t\tconst cur = props[key];\n\t\tconst old = oldProps[key];\n\t\tif (old !== cur && (key !== 'value' || elm[key] !== cur)) elm[key] = cur;\n\t}\n};\n\nexport default {\n\tcreate: updateProps,\n\tupdate: updateProps\n};\n","// TODO (webpack v5): drop the `build/package/` part of these import paths.\n// Snabbdom>=1 uses the package.json#exports field that webpack v4 doesn't know\n// about\n//\n// https://github.com/webpack/webpack/issues/9509\n// https://webpack.js.org/guides/package-exports/\nimport {init} from 'snabbdom/build/package/init';\nimport {classModule} from 'snabbdom/build/package/modules/class';\nimport {styleModule} from 'snabbdom/build/package/modules/style';\nimport {eventListenersModule} from 'snabbdom/build/package/modules/eventlisteners';\nimport {attributesModule} from 'snabbdom/build/package/modules/attributes';\nimport {datasetModule} from 'snabbdom/build/package/modules/dataset';\nimport {denyUnlessSigned} from 'snabbdom-signature';\nimport {ref, props, aria} from '../modules';\nimport accessibilityDecorator from './accessibilityDecorator';\n\n// NOTE: aria module must be before attrs module\nconst patch = init([\n\tprops,\n\tclassModule,\n\tstyleModule,\n\teventListenersModule,\n\taria,\n\tattributesModule,\n\tdatasetModule,\n\tref,\n\tdenyUnlessSigned\n]);\n\nexport default process.env.UNSAFE_ENABLE_SNABBDOM_ACCESSIBILITY\n\t? accessibilityDecorator(patch)\n\t: patch;\n",null,"// TODO (webpack v5): drop the `build/package/` part of these import paths.\n// Snabbdom>=1 uses the package.json#exports field that webpack v4 doesn't know\n// about\n//\n// https://github.com/webpack/webpack/issues/9509\n// https://webpack.js.org/guides/package-exports/\nimport {toVNode} from 'snabbdom/build/package/tovnode';\nimport {sign} from 'snabbdom-signature';\n\n/**\n * Creates an element for the virtual DOM from an existing DOM node\n * @method createElementFromNode\n * @param {Node} node DOM node to convert\n * @returns {VNode} The vnode to use in the virtual DOM\n */\nexport default function createElementFromNode(node) {\n\tconst vnode = sign(toVNode(node));\n\tfixNamespace(vnode); // fixes issue with missing namespace for svgs: https://github.com/snabbdom/snabbdom/issues/388\n\treturn vnode;\n}\n\nconst fixNamespace = (vnode, xmlns = vnode.data && vnode.data.attrs && vnode.data.attrs.xmlns) => {\n\tconst {children, data} = vnode;\n\n\tif (data && !data.ns && xmlns) data.ns = xmlns;\n\n\tif (children) {\n\t\tconst {length: childrenCount} = children;\n\t\tfor (let i = 0; i < childrenCount; i++) fixNamespace(children[i], xmlns);\n\t}\n};\n","import {\n\tcreateInteractionId,\n\tsetInteractionId,\n\tmark,\n\ttypes as metrics\n} from '@servicenow/ui-metrics';\nimport {\n\terrorTypes,\n\tlocations,\n\ttoLower,\n\tallLogTypes as logTypes,\n\tACTIVE_SPAN\n} from '@servicenow/ui-internal';\nimport {patch} from './utils';\nimport {VNODE, INTERACTION_ID} from './symbols';\nimport createElementFromNode from './createElementFromNode';\nimport log from './log';\n\nconst noop = () => null;\n\nconst helperNoop = Object.assign(noop, {\n\tdispatch: noop,\n\tupdateState: noop,\n\tupdateProperties: noop\n});\n\n/**\n * Renders a view using Snabbdom\n * @method render\n * @param {HTMLElement} element Element to append rendered view to\n * @param {Function} handler Render function\n * @param {Object} [props = {}] Optional properties object\n * @param {Object } [helpers] Optional object containing helpful functions, such as dispatch, updateState, and updateProperties\n * @param {Function} [helpers.dispatch] Optional function for dispatching actions\n * @param {Function} [helpers.updateState] Optional function for updating component state\n * @param {Function} [helpers.updateProperties] Optional function for updating component properties\n * @param {String} [interactionId] Optional identifier used by ui-metrics for instrumentation\n * @returns {VNode}\n */\nexport default function onStateChange(\n\telement,\n\thandler,\n\tprops = {},\n\thelpers = helperNoop,\n\tinteractionId = createInteractionId(),\n\tspan\n) {\n\t// The renderer is sometimes used to render DOM to native elements, typically in test fixtures\n\t// or example code.  Since we're not in a shadowRoot, we're not in a framework element, we\n\t// shouldn't mark as context is not complete, e.g. componentId, componentName, etc are missing\n\t// from `element.host`.\n\tconst isShadowRoot = element instanceof ShadowRoot;\n\n\ttry {\n\t\tconst result = handler(props, helpers);\n\n\t\tconst prev = element[VNODE] || createElementFromNode(element);\n\t\tconst styles = [];\n\t\tconst {children} = prev;\n\t\tconst {length: childrenCount} = children;\n\t\tfor (let i = 0; i < childrenCount; i++) {\n\t\t\tconst child = children[i];\n\t\t\tif (\n\t\t\t\tchild &&\n\t\t\t\ttypeof child.sel === 'string' &&\n\t\t\t\t(child.sel.startsWith('style') || child.sel.startsWith('link'))\n\t\t\t)\n\t\t\t\tstyles.push(child);\n\t\t}\n\n\t\tconst next = {\n\t\t\t...prev,\n\t\t\tchildren: [].concat(result, styles)\n\t\t};\n\n\t\tconst {host = {}} = element;\n\t\thost[INTERACTION_ID] = interactionId; // eslint-disable-line no-param-reassign\n\t\tif (span) host[ACTIVE_SPAN] = span; // eslint-disable-line no-param-reassign\n\t\tif (isShadowRoot) mark(host, interactionId, metrics.PATCH_START, {location: locations.VIEW});\n\n\t\tconst vnode = patch(prev, next);\n\n\t\tif (isShadowRoot) mark(host, interactionId, metrics.PATCH_END, {location: locations.VIEW});\n\n\t\telement[VNODE] = vnode; // eslint-disable-line no-param-reassign\n\t\tdelete host[INTERACTION_ID]; // eslint-disable-line no-param-reassign\n\t\tqueueMicrotask(() => {\n\t\t\tdelete host[ACTIVE_SPAN]; // eslint-disable-line no-param-reassign\n\t\t});\n\t\treturn vnode;\n\t} catch (e) {\n\t\tconst {host = {}} = element;\n\t\tconst metadata = setInteractionId({internal: true}, interactionId);\n\n\t\tif (isShadowRoot) mark(host, interactionId, metrics.ERROR, {location: locations.VIEW});\n\n\t\thelpers.dispatch(\n\t\t\terrorTypes.COMPONENT_ERROR_THROWN,\n\t\t\t{\n\t\t\t\thost,\n\t\t\t\tlocation: locations.VIEW,\n\t\t\t\terror: e,\n\t\t\t\tdetails: {boundaryError: true}\n\t\t\t},\n\t\t\tmetadata,\n\t\t\ttrue\n\t\t);\n\n\t\tconst tagName = toLower(host.tagName);\n\t\tconst componentId = host.getAttribute('component-id');\n\n\t\tlog(\n\t\t\t`An Error occurred in <${tagName} component-id=\"${componentId}\"/>. COMPONENT_ERROR_THROWN action type is dispatched with error details.`,\n\t\t\t{error: e, level: logTypes.ERROR, host, origin: 'onStateChange'}\n\t\t);\n\n\t\treturn createElementFromNode(element);\n\t}\n}\n",null,"// TODO (webpack v5): drop the `build/package/` part of these import paths.\n// Snabbdom>=1 uses the package.json#exports field that webpack v4 doesn't know\n// about\n//\n// https://github.com/webpack/webpack/issues/9509\n// https://webpack.js.org/guides/package-exports/\nimport {signingH} from 'snabbdom-signature';\nimport {h as unsignedH} from 'snabbdom/build/package/h';\nimport {formatProps, validateProps, flat, formatChildren} from './utils';\n\nconst signedH = signingH(unsignedH);\n\n/**\n * Creates an element for the virtual DOM\n * @method createElement\n * @param {(string|function)} tag Name of the tag or a functional component\n * @param {object} [props] Properties\n * @param {object} [children] Child nodes\n * @returns {*}\n */\nexport default function createElement(tag, props, ...children) {\n\tif (typeof tag === 'function') return tag(props || {}, flat(children));\n\n\treturn signedH(\n\t\ttag,\n\t\tprops ? formatProps(tag, validateProps(props)) : {},\n\t\tformatChildren(children)\n\t);\n}\n","// this is required for envs that don't support arr.flat, i.e., JSDOM\n// babel polyfill doesn't package flat polyfill\nexport default function flat(arr) {\n\tif (arr.flat) return arr.flat(Infinity);\n\n\treturn arr.reduce(function reducer(acc, val) {\n\t\tif (Array.isArray(val)) val.reduce(reducer, acc);\n\t\telse acc.push(val);\n\t\treturn acc;\n\t}, []);\n}\n","import {APPEND_TO_PAYLOAD} from '../constants';\nimport log from '../log';\n\nexport default function validateProps(props) {\n\tif (!props[APPEND_TO_PAYLOAD]) return props;\n\n\tconst {[APPEND_TO_PAYLOAD]: appendToPayload, ...nonAppendProps} = props;\n\tif (appendToPayload && typeof appendToPayload !== 'object') {\n\t\tlog(`Expected ${APPEND_TO_PAYLOAD} property to be an Object. Found ${appendToPayload}`, {\n\t\t\torigin: 'validateProps'\n\t\t});\n\t\treturn nonAppendProps;\n\t}\n\n\treturn props;\n}\n","// @jsx createElement\nimport createElement from './createElement'; // eslint-disable-line no-unused-vars\n\nfunction insertChildern(children, name) {\n\tif (!children) return null;\n\n\tif (children && !name) return children;\n\n\tconst slotted = [];\n\tconst {length: childrenCount} = children;\n\tfor (let i = 0; i < childrenCount; i++) {\n\t\tconst child = children[i];\n\t\tif (name === (child.data && child.data.props && child.data.props.slot)) slotted.push(child);\n\t}\n\n\treturn slotted;\n}\n\n/**\n * Creates a slot using snabbdom\n * @method createSlot\n * @param children\n * @param name\n * @returns {*}\n */\nexport default function createSlot(children, name) {\n\treturn <slot name={name}>{insertChildern(children, name)}</slot>;\n}\n","import createElementFromNode from './createElementFromNode';\n\n/**\n * Creates an element for the virtual DOM from a string of HTML. WARNING: This method does not\n * sanitize the HTML string passed to it. If you use this method you may be vulnerable to\n * XSS attacks if you do not take the right precautions.\n *\n * @method dangerouslyCreateElementFromString\n * @param {String} html String of html to parse and convert to a vnode\n * @returns {VNode} The vnode to use in the virtual DOM\n */\nexport default function dangerouslyCreateElementFromString(html) {\n\tif (!document || !document.createElement) return;\n\n\tconst element = document.createElement('div');\n\telement.innerHTML = html;\n\treturn createElementFromNode(element.firstChild);\n}\n","/**\n * Helper component for returning an array of vnodes from a view function\n *\n * @example\n * import {Fragment} from '@servicenow/ui-renderer-snabbdom';\n *\n * function view(state, dispatch) {\n *     return (\n *         <Fragment>\n *             <div>Foo</div>\n *             <div>Bar</div>\n *             <div>Baz</div>\n *         </Fragment>\n *     );\n * }\n *\n * @method Fragment\n * @param props\n * @param children\n * @returns {*}\n */\nexport default function Fragment(props, children) {\n\treturn children;\n}\n","import createElementFromNode from './createElementFromNode';\nimport {allLogTypes as logTypes} from '@servicenow/ui-internal';\nimport log from './log';\n\n/**\n * Creates an element for the virtual DOM from a string of HTML. WARNING: This method does not\n * sanitize the HTML string passed to it. If you use this method you may be vulnerable to\n * XSS attacks if you do not take the right precautions.\n *\n * @method createElementFromString\n * @param {String} html String of html to parse and convert to a vnode\n * @returns {VNode} The vnode to use in the virtual DOM\n */\nexport default function createElementFromString(html) {\n\tlog(\n\t\t'createElementFromString has been deprecated. Please use dangerouslyCreateElementFromString and make sure you are taking the necessary precautions to prevent XSS attacks',\n\t\t{level: logTypes.ERROR, origin: 'createElementFromString'}\n\t);\n\n\tif (!document || !document.createElement) return;\n\n\tconst element = document.createElement('div');\n\telement.innerHTML = html;\n\treturn createElementFromNode(element.firstChild);\n}\n","import {patch} from './utils';\nimport {VNODE} from './symbols';\n\n/**\n * Patches an empty tree to a container so we run hooks and cleanup\n * @param {HTMLElement} element Element being disconnected\n * @param {Function} [dispatch] function contextualized to the element\n * @param {Function} [next] function to call after disconnect\n */\nexport default function onDisconnect(element, dispatch, next = () => null) {\n\tconst prev = element[VNODE];\n\n\tconst styles = [];\n\tconst {children} = prev;\n\tconst {length: childrenCount} = children;\n\tfor (let i = 0; i < childrenCount; i++) {\n\t\tconst child = children[i];\n\t\tif (\n\t\t\tchild &&\n\t\t\ttypeof child.sel === 'string' &&\n\t\t\t(child.sel.startsWith('style') || child.sel.startsWith('link'))\n\t\t)\n\t\t\tstyles.push(child);\n\t}\n\n\tconst nextEl = {\n\t\t...prev,\n\t\tchildren: styles\n\t};\n\n\tpatch(prev, nextEl, {disconnect: true});\n\n\tdelete element[VNODE]; // eslint-disable-line no-param-reassign\n\tnext();\n}\n","/**\n * Converts a string to [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n *\n * @example\n * kebabCase('Foo Bar');\n * // => 'foo-bar'\n *\n * @function kebabCase\n * @param {string} str The string to convert.\n * @return {string} Returns the kebab cased string.\n */\nexport default function kebabCase(str) {\n\tif (typeof str !== 'string') return '';\n\n\treturn str\n\t\t.trim()\n\t\t.replace(/(\\B[A-Z]|\\B[0-9])/g, '-$1')\n\t\t.replace(/[\\s_]+/g, '-')\n\t\t.toLowerCase();\n}\n","import kebabCase from './kebabCase';\n\n/**\n * Converts a string to [camel case](https://en.wikipedia.org/wiki/Camel_case).\n *\n * @example\n * camelCase('Foo Bar');\n * // => 'fooBar'\n *\n * @function camelCase\n * @param {string} str The string to convert.\n * @return {string} Returns the camel cased string.\n */\nexport default function camelCase(str) {\n\treturn kebabCase(str)\n\t\t.replace(/[-_]+/g, ' ')\n\t\t.replace(/[^\\w\\s]/g, '')\n\t\t.replace(/ (.)/g, $1 => $1.toUpperCase())\n\t\t.replace(/ /g, '');\n}\n","/**\n * Converts a value to string.  If given `null` or `undefined`, an empty string is returned.\n * @function toString\n * @param value The value to convert.\n * @return {string} Returns converted string value.\n */\nexport default function toString(value) {\n\tif (value === null || value === undefined) return '';\n\n\treturn value.toString();\n}\n","/**\n * Converts a string to lower case similar to [String#toLowerCase](https://mdn.io/toLowerCase).\n *\n * @example\n * toLower('FOO BAR');\n * // => 'foo bar'\n *\n * @function toLower\n * @param {string} str The string to convert.\n * @return {string} Returns the lower cased string.\n */\nexport default function toLower(str) {\n\tif (typeof str !== 'string') return '';\n\n\treturn str.toLowerCase();\n}\n","/**\n * Converts a string to upper case similar to [String#toUpperCase](https://mdn.io/toUpperCase).\n *\n * @example\n * toUpper('foo bar');\n * // => 'FOO BAR'\n *\n * @function toUpper\n * @param {string} str The string to convert.\n * @return {string} Returns the upper cased string.\n */\nexport default function toUpper(str) {\n\tif (typeof str !== 'string') return '';\n\n\treturn str.toUpperCase();\n}\n","let trackStats = false;\nlet stats = {};\nfunction recordStat(profileName, hit) {\n\tlet stat = stats[profileName];\n\n\tif (!stat) {\n\t\tstat = {calls: 0, hits: 0, size: 0};\n\t\tstats[profileName] = stat;\n\t}\n\n\tstat.calls += 1;\n\tif (hit) stat.hits += 1;\n\telse stat.size += 1;\n}\n/**\n * Creates a new function that memoizes the result of the provided `func` function.  When the\n * `resolver` function is specified, its returned value is used as the cache key of the memoized\n * function. By default, the first argument of the memoized function is used as the cache key.\n *\n * The cache is exposed as the `cache` property on the returned memoized function. It can be\n * customized by replacing the `memoize.Cache` constructor with one whose instances implement the\n * same [instance methods](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map#Instance_methods)\n * of `Map`.\n *\n * @function memoize\n * @param {Function} func The function to have its output memoized.\n * @param {Object} options Additional memoize options.\n * @param {Function} options.createCacheKey The function to resolve the cache key. Must return a string.\n * @param {string} options.profileName A unique name to use to track this function and its performance. Optional but highly encouraged to set it\n * @param {string} options.snabbdom Set to true if the function is returning JSX and is using snabbdom-renderer\n * @return {Function} Returns a new memoized function.\n */\nexport default function memoize(func, createCacheKey, options) {\n\tlet cck = createCacheKey;\n\tlet profileName;\n\tlet snabbdom = false;\n\tif (options === undefined && typeof createCacheKey === 'object') {\n\t\tcck = createCacheKey.createCacheKey;\n\t\tprofileName = createCacheKey.profileName;\n\t\tsnabbdom = createCacheKey.snabbdom;\n\t} else if (typeof options === 'object') {\n\t\tcck = createCacheKey || options.createCacheKey;\n\t\tprofileName = options.profileName;\n\t\tsnabbdom = options.snabbdom;\n\t}\n\n\tconst memoized = function (...args) {\n\t\tconst key = cck ? cck.apply(this, args) : args[0];\n\t\tconst {cache} = memoized;\n\n\t\tif (cache.has(key)) {\n\t\t\tif (trackStats) recordStat(profileName, true);\n\n\t\t\tconst result = cache.get(key);\n\t\t\treturn snabbdom ? cloneVnode(result) : result;\n\t\t}\n\n\t\tif (trackStats) recordStat(profileName, false);\n\n\t\tconst result = func.apply(this, args);\n\t\tconst cacheValue = snabbdom ? cloneVnode(result) : result;\n\t\tmemoized.cache = cache.set(key, cacheValue) || cache;\n\n\t\treturn cacheValue;\n\t};\n\tmemoized.cache = new (memoize.Cache || Map)();\n\treturn memoized;\n}\n\nmemoize.Cache = Map;\n\nmemoize.collectStats = function collectStats(value = true) {\n\ttrackStats = value;\n};\n\nmemoize.clearStats = function clearStats() {\n\tstats = {};\n};\n\nmemoize.getStats = function getStats() {\n\treturn Object.keys(stats).reduce((obj, current) => {\n\t\tconst {hits, calls} = stats[current];\n\t\tconst stat = {\n\t\t\t...stats[current],\n\t\t\tusage: calls ? `${((hits / calls) * 100).toFixed(4)}%` : '0.0000%'\n\t\t};\n\t\treturn {\n\t\t\t...obj,\n\t\t\t[current]: stat\n\t\t};\n\t}, {});\n};\n\nfunction cloneVnode(vnode) {\n\tif (!vnode) return vnode;\n\treturn {\n\t\tchildren:\n\t\t\tvnode.children !== undefined ? vnode.children.map(child => cloneVnode(child)) : undefined,\n\t\tdata: vnode.data,\n\t\telm: undefined,\n\t\tkey: vnode.key,\n\t\tsel: vnode.sel,\n\t\ttext: vnode.text\n\t};\n}\n","/**\n * Finds the key of the first element predicate that returns truthy.\n *\n * @example\n * findKey({foo: 0, bar: 1}, value => value === 1);\n * // => 'bar'\n *\n * @function findKey\n * @param {Object} object The object to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @return {*} Returns the key of the first matched element, otherwise `undefined`.\n */\nexport default function findKey(object, predicate) {\n\tif (!object) return;\n\n\tconst result = Object.entries(object).find(([key, value]) => predicate(value, key));\n\tif (result) {\n\t\tconst [key] = result;\n\t\treturn key;\n\t}\n}\n","import memoize from './memoize';\n\n/**\n * Splits a property path into parts.\n * @function splitPath\n * @private\n * @param {string} path String path to split into parts.\n * @return {Array<(string)>} An array of path parts.\n */\nconst splitPathMemoized = memoize(\n\tfunction splitPath(path) {\n\t\t// Added support using Symbol as keys\n\t\tif (typeof path === 'symbol') return [path];\n\n\t\tif (typeof path !== 'string' && !Array.isArray(path)) return [];\n\n\t\tif (Array.isArray(path)) return path;\n\n\t\tconst keys = path.split('.');\n\n\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\tconst part = keys[i];\n\t\t\tconst {length: partLength} = part;\n\t\t\tif (part.charAt(partLength - 1) === ']') {\n\t\t\t\tconst index = [];\n\t\t\t\tlet char = '[';\n\t\t\t\tlet indexStartPosition = part.indexOf(char);\n\t\t\t\tconst key = part.substring(0, indexStartPosition);\n\n\t\t\t\tif (key)\n\t\t\t\t\t// key will be empty for `[0].bar`\n\t\t\t\t\tindex.push(key);\n\n\t\t\t\twhile (indexStartPosition < partLength) {\n\t\t\t\t\tif (char !== '[' && char !== ']') {\n\t\t\t\t\t\tconst indexEndPosition = part.indexOf(']', indexStartPosition);\n\t\t\t\t\t\tlet arrayPart = part.substring(indexStartPosition, indexEndPosition);\n\n\t\t\t\t\t\t// If the part inside the array access is wrapped in quotes, remove them\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tarrayPart.charAt(0) === arrayPart.charAt(arrayPart.length - 1) &&\n\t\t\t\t\t\t\t[\"'\", '\"'].includes(arrayPart.charAt(0))\n\t\t\t\t\t\t)\n\t\t\t\t\t\t\tarrayPart = arrayPart.slice(1, -1);\n\n\t\t\t\t\t\tindex.push(arrayPart); // this could be [0] or [foo]\n\t\t\t\t\t\tindexStartPosition = indexEndPosition;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tindexStartPosition += 1;\n\t\t\t\t\t}\n\n\t\t\t\t\tchar = part.charAt(indexStartPosition);\n\t\t\t\t}\n\n\t\t\t\tconst {length: indexLength} = index;\n\t\t\t\tif (indexLength) {\n\t\t\t\t\tkeys.splice(i, 1, ...index);\n\t\t\t\t\ti += indexLength - 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn keys;\n\t},\n\tnull,\n\t{profileName: 'splitPath'}\n);\n\nexport {splitPathMemoized as splitPath};\n","import {splitPath} from './splitPath';\n\n/**\n * Gets the property value at `path` from `object`.  If the value cannot\n * resolved or is `undefined`, the `defaultValue` is returned.\n *\n * @example\n * const object = { 'foo': [{ 'bar': { 'baz': 1 } }] }\n * get(object, 'foo[0].bar.baz');\n * // => 1\n *\n * @function get\n * @param {Object} object The object to query.\n * @param {string} path The path of the property to get.\n * @param {*} [defaultValue] The returned value for unresolved properties.\n * @return {*} Returns the value from the specified `path`.\n */\nexport default function get(object, path, defaultValue) {\n\tif (!object || !path) return defaultValue;\n\n\tconst parts = splitPath(path);\n\tlet here = object;\n\tconst {length: partsCount} = parts;\n\tfor (let i = 0; i < partsCount; i++) {\n\t\tif (!here || !Object.prototype.hasOwnProperty.call(here, parts[i])) return defaultValue;\n\t\there = here[parts[i]];\n\t}\n\n\treturn here !== undefined ? here : defaultValue;\n}\n","import {splitPath} from './splitPath';\n\n/**\n * Sets the property value at `path` on `object`.  If a portion of the `path` does not exist, it\n * will be created.\n *\n * Note: This method mutates the object.\n *\n * @example\n * const object = { foo: [{ bar: { baz: 3 } }] };\n * set(object, 'foo[0].bar.baz', 4);\n *\n * @function set\n * @param {Object} object The object to modify.\n * @param {string} path The path of the property to set.\n * @param {*} value The value to set.\n */\nexport default function set(object, path, value) {\n\tif (!object || !path) return;\n\n\tconst parts = splitPath(path);\n\n\tlet here = object;\n\tlet next;\n\tconst {length: partsCount} = parts;\n\tfor (let i = 0; i < partsCount; i++) {\n\t\tconst shouldSet = i + 1 === partsCount;\n\t\tconst part = parts[i];\n\t\tnext = here[part];\n\t\tif (!next) {\n\t\t\tconst nextNext = parts[i + 1];\n\t\t\tconst index = Number.parseInt(nextNext);\n\t\t\tnext = here[part] = index == nextNext && !Number.isNaN(index) ? [] : {}; // eslint-disable-line eqeqeq, no-multi-assign\n\t\t}\n\t\tif (shouldSet) here[part] = value;\n\n\t\there = next;\n\t}\n}\n","/**\n * Creates an object composed of the picked properties from the `source` object.\n * @example\n * const object = { foo: 0, bar: 1, baz: 2 };\n * pick(object, ['bar', 'baz']);\n * // => { bar: 1, baz: 2 }\n *\n * @function pick\n * @param {Object} source The object to pick from.\n * @param {(string[]|string)} path The property path(s) to pick.\n * @return {Object} Returns an object with the picked properties.\n */\nexport default function pick(source, path) {\n\tconst values = {};\n\tif (!path || !path.length || !source) return {};\n\n\tconst paths = typeof path === 'string' ? [path] : path;\n\tconst {length: pathLength} = paths;\n\tfor (let i = 0; i < pathLength; i++) {\n\t\tconst key = paths[i];\n\t\tif (source.hasOwnProperty(key)) values[key] = source[key];\n\t}\n\n\treturn values;\n}\n","/**\n * Creates an object composed of all but the omitted properties from the `source` object.\n * @example\n * const object = { foo: 0, bar: 1, baz: 2 };\n * omit(object, ['bar', 'baz']);\n * // => { foo: 0 }\n *\n * @function omit\n * @param {Object} source The object to omit from.\n * @param {(string[]|string)} path The property path(s) to omit.\n * @return {Object} Returns an object without the omitted properties.\n */\nexport default function omit(source, path) {\n\tif (!path || !path.length || !source) return source;\n\n\tconst values = {};\n\tconst paths = typeof path === 'string' ? [path] : path;\n\tconst {length: pathLength} = paths;\n\tfor (const key in source) {\n\t\tlet shouldOmit = false;\n\t\tfor (let i = 0; i < pathLength; i++) {\n\t\t\tif (key === paths[i]) shouldOmit = true;\n\t\t}\n\n\t\tif (!shouldOmit) values[key] = source[key];\n\t}\n\n\treturn values;\n}\n","/**\n * Creates an array of the own enumerable string-keyed property values from the `source` object.\n * @example\n * function Foo() {\n *   this.bar = 0;\n *   this.baz = 1;\n * }\n * Foo.prototype.qux = 2\n *\n * values(new Foo);\n * // => [0, 1]\n *\n * @function values\n * @param {Object} source The object to query.\n * @return {Array<*>} Returns an array of property values.\n */\nexport default function values(source) {\n\tconst values = [];\n\tif (!source) return values;\n\n\tconst entries = Object.entries(source);\n\tconst {length: entriesLength} = entries;\n\tfor (let i = 0; i < entriesLength; i++) values.push(entries[i][1]);\n\n\treturn values;\n}\n","/**\n * This method does nothing and returns undefined.\n *\n * @example\n * noop()\n * // => undefined\n *\n * @function noop\n */\nexport default function noop() {\n\t// No operation performed.\n}\n","function isArrayEqual(source, target, options) {\n\tconst {length: sourceLength} = source;\n\tconst {length: targetLength} = target;\n\n\tif (sourceLength !== targetLength) return false;\n\n\tfor (let i = 0; i < sourceLength; i++) {\n\t\tif (!isEqual(source[i], target[i], options)) return false;\n\t}\n\n\treturn true;\n}\n\nfunction isObjectEqual(source, target, options) {\n\tif ((!source && target) || (source && !target)) return false;\n\n\tconst sourceKeys = Object.keys(source);\n\tconst targetKeys = Object.keys(target);\n\tconst {length: sourceKeyLength} = sourceKeys;\n\tconst {length: targetKeyLength} = targetKeys;\n\n\tif (sourceKeyLength !== targetKeyLength) return false;\n\n\treturn sourceKeys.every(key => isEqual(source[key], target[key], options));\n}\n\nfunction isObjectTagEqual(source, target, options) {\n\tconst {classes = true} = options;\n\tconst sourceTag = Object.prototype.toString.call(source);\n\tconst targetTag = Object.prototype.toString.call(target);\n\n\tif (sourceTag !== targetTag) return false;\n\n\tswitch (sourceTag) {\n\t\tcase '[object Boolean]':\n\t\tcase '[object Number]':\n\t\tcase '[object Date]':\n\t\t\treturn eq(+source, +target);\n\n\t\tcase '[object Set]':\n\t\t\treturn isArrayEqual([...source], [...target], options);\n\n\t\tcase '[object Map]':\n\t\t\treturn isObjectEqual(Object.fromEntries(source), Object.fromEntries(target), options);\n\n\t\tcase '[object String]':\n\t\t\treturn `${source}` === `${target}`;\n\n\t\tcase '[object Object]':\n\t\t\tif (!classes && source.constructor !== Object) return source === target;\n\t\t\treturn isObjectEqual(source, target, options);\n\t}\n}\n\nexport const eq = function (source, target) {\n\t// Given:\n\t// const source = { 'a': 1 };\n\t// const target = { 'a': 1 };\n\t//\n\t// Results:\n\t// eq(source, source)  => true\n\t// eq(source, target) => false\n\t// eq('a', 'a') => true\n\t// eq('a', Object('a')) => false\n\t// eq(NaN, NaN) => true\n\treturn source === target || (source !== source && target !== target);\n};\n\n/**\n * Performs a deep equality check between two values.\n *\n * @example\n * const foo = { a: 1 };\n * const bar = { a: 1 };\n *\n * isEqual(foo, bar);\n * // => true\n *\n * foo === bar\n * // => false\n *\n * @function isEqual\n * @param {*} source The value to compare.\n * @param {*} target The value to compare `source` against.\n * @return {boolean} Returns `true` if the values are equal, otherwise `false`.\n */\nexport default function isEqual(source, target, options = {}) {\n\tif (source === target) return true;\n\n\tif (Array.isArray(source) && Array.isArray(target)) return isArrayEqual(source, target, options);\n\n\tconst result = isObjectTagEqual(source, target, options);\n\tif (result !== undefined) return result;\n\n\tif (typeof source === 'object' && typeof target === 'object')\n\t\treturn isObjectEqual(source, target, options);\n\n\treturn typeof source === 'function' && typeof target === 'function' && source === target;\n}\n","import {eq} from './isEqual';\n/**\n * Performs a deep equality check between two object values selectively.\n *\n * @example\n * const source = { a: 1, b:1 };\n * const target = { a: 1 };\n *\n * isObjectMatches(foo, bar);\n * // => true\n * const source = { a: 1, b:1 };\n * const target = { a: 2 };\n *\n * foo === bar\n * // => false\n *\n * @function isObjectMatches\n * @param {*} source The value to compare.\n * @param {*} target The value to compare `source` against selectively.\n * @return {boolean} Returns `true` if the target values are selectively equal, otherwise `false`.\n */\n\nfunction isObjectMatches(source, target, options = {}) {\n\tif (!source || !target) return false;\n\tif (typeof target !== 'object' && typeof source !== 'object') return false;\n\tfor (var key in target) {\n\t\tif (target.hasOwnProperty(key) && !source.hasOwnProperty(key)) return false;\n\t\tif (source.hasOwnProperty(key) && !isSelectiveEqual(source[key], target[key], options))\n\t\t\treturn false;\n\t}\n\treturn true;\n}\n\n/**\n * Performs a deep equality check between two values of array.\n *\n * @example\n * const source = [{ a: 1 }, { b:1 }];\n * const target = [{ a: 1 }, { b:1 }];\n *\n * isArrayMatches(foo, bar);\n * // => true\n *\n * foo === bar\n * // => false\n *\n * @function isArrayMatches\n * @param {*} source The value to compare.\n * @param {*} target The value to compare `source` against selectively.\n * @return {boolean} Returns `true` if the target values are selectively equal, otherwise `false`.\n */\n\nfunction isArrayMatches(source, target, options) {\n\tconst {length: sourceLength} = source;\n\tconst {length: targetLength} = target;\n\n\tif (sourceLength !== targetLength) return false;\n\n\tfor (let i = 0; i < sourceLength; i++) {\n\t\tif (!isSelectiveEqual(source[i], target[i], options)) return false;\n\t}\n\n\treturn true;\n}\n\n/**\n * Performs a deep equality check between two values selectively.\n *\n * @example\n * const source = { a: 1, b:1 };\n * const target = { a: 1 };\n *\n * isSelectiveEqual(foo, bar);\n * // => true\n *\n * foo === bar\n * // => false\n *\n * @function isSelectiveEqual\n * @param {*} source The value to compare.\n * @param {*} target The value to compare `source` against selectively.\n * @return {boolean} Returns `true` if the target values are selectively equal, otherwise `false`.\n */\n\nexport default function isSelectiveEqual(source, target, options = {}) {\n\tif (source === target) return true;\n\tif (Array.isArray(source) && Array.isArray(target))\n\t\treturn isArrayMatches(source, target, options);\n\tconst result = isObjectTagMatches(source, target, options);\n\tif (result !== undefined) return result;\n\n\tif (typeof source === 'object' && typeof target === 'object')\n\t\treturn isObjectMatches(source, target, options);\n\n\treturn typeof source === 'function' && typeof target === 'function' && source === target;\n}\n\n/**\n * Performs a object type comparision based on different data types of object and delegates the comparision to respective functions\n *\n * @example\n * const source = { a: 1, b:1 };\n * const target = { a: 1 };\n *\n * isObjectTagMatches(foo, bar);\n * // => true\n *\n * const source = { a: 1, b:1 };\n * const target = { a: 2 };\n * // => false\n *\n * @function isObjectTagMatches\n * @param {*} source The value to compare.\n * @param {*} target The value to compare `source` against selectively.\n * @return {boolean} Returns `true` if the target values are selectively equal, otherwise `false`.\n */\n\nfunction isObjectTagMatches(source, target, options) {\n\tconst {classes = true} = options;\n\tconst sourceTag = Object.prototype.toString.call(source);\n\tconst targetTag = Object.prototype.toString.call(target);\n\n\tif (sourceTag !== targetTag) return false;\n\n\tswitch (sourceTag) {\n\t\tcase '[object Boolean]':\n\t\tcase '[object Number]':\n\t\tcase '[object Date]':\n\t\t\treturn eq(+source, +target);\n\n\t\tcase '[object Set]':\n\t\t\treturn isArrayMatches([...source], [...target], options);\n\n\t\tcase '[object Map]':\n\t\t\treturn isObjectMatches(Object.fromEntries(source), Object.fromEntries(target), options);\n\n\t\tcase '[object String]':\n\t\t\treturn `${source}` === `${target}`;\n\n\t\tcase '[object Object]':\n\t\t\tif (!classes && source.constructor !== Object) return source === target;\n\t\t\treturn isObjectMatches(source, target, options);\n\t}\n}\n","/**\n * Checks whether a value is a plain object, an object with a prototype of `Object`.\n *\n * @example\n * isPlainObject(new Date());\n * // => false\n *\n * isPlainObject({ foo: 1, bar: 2 });\n * // => true\n *\n * @function isPlainObject\n * @param {*} value The value to check.\n * @return {boolean} Returns `true` if `value` is a plain object, else `false`.\n */\nexport default function isPlainObject(value) {\n\treturn (\n\t\t!!value &&\n\t\ttypeof value === 'object' &&\n\t\tObject.prototype.toString.call(value) === '[object Object]'\n\t);\n}\n","const globalValueToBoolean = value => value === true || value === 'true';\n\nexport default () =>\n\tdocument.hidden &&\n\t!globalValueToBoolean(\n\t\twindow?.ux_globals?.sysprops?.['sn_nxui_framework.scheduler.unchained.defer.off']\n\t) &&\n\t!globalValueToBoolean(\n\t\twindow?.ux_globals?.nxui?.sysprops?.['sn_nxui_framework.scheduler.unchained.defer.off']\n\t);\n","const nextTick = fn => {\n\tconst channel = new MessageChannel();\n\tchannel.port1.onmessage = () => fn();\n\tchannel.port2.postMessage(null);\n};\nexport default nextTick;\n","//Have to have the following logic within utils package to avoid circular dependency\nlet deferMetrics = {};\nconst UNKNOWN_COMPONENT_NAME = 'UNKNOWN';\n\nexport function clearDeferMetrics() {\n\tdeferMetrics = {};\n}\n\nexport function logDuration(metrics, duration = 0, incomingComponentName) {\n\tconst componentName = incomingComponentName ? incomingComponentName : UNKNOWN_COMPONENT_NAME;\n\tif (!metrics[componentName]) metrics[componentName] = [];\n\n\tmetrics[componentName].push(duration);\n}\n\nexport function getDeferMetrics() {\n\treturn deferMetrics;\n}\n\nexport function logDeferTiming(duration) {\n\tlogDuration(deferMetrics, duration);\n}\n","import isThrottled from './isThrottled';\nimport nextTick from './nextTick';\nimport {logDeferTiming} from './deferMetrics';\n\nexport default function defer(fn, duration = 0) {\n\tlogDeferTiming(duration);\n\treturn isThrottled() ? nextTick(fn) : setTimeout(fn, duration);\n}\n","import defer from './defer';\n\nexport function requestIdleCallbackPollyfill(callback) {\n\tdefer(function requestIdleCallbackPollyfillTimeout() {\n\t\tconst start = Date.now();\n\t\tconst maxBusy = 100;\n\t\tcallback({\n\t\t\tdidTimeout: false,\n\t\t\ttimeRemaining() {\n\t\t\t\treturn Math.max(0, maxBusy - (Date.now() - start));\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * This method queues a function to be called during a browser's idle periods\n * @example\n * requestIdleCallback(() => {})\n *\n * @function requestIdleCallback\n * @param {Function} callback The callback function to execute\n * @return {Object} undefined\n */\nconst requestIdleCallback = window.requestIdleCallback || requestIdleCallbackPollyfill;\n\n/*\nChromium based browsers have a bug in which Iframes and rIC do not work well together.\n\nSee -\n\nhttps://bugs.chromium.org/p/chromium/issues/detail?id=1240307\nhttps://bugs.chromium.org/p/chromium/issues/detail?id=1240317\n\nso when we see an Iframe on Chromium, we force rIC to be called every X milliseconds to\nensure the tasks are run.\n\nDO NOT MOVE THIS TO A UTILS FILE, we want to get rid of this logic ASAP rather than reuse it\nelsewhere\n*/\nconst isChromium = window?.navigator?.userAgentData?.brands?.some(b => b.brand === 'Chromium');\nconst isIframe = window?.location !== window?.parent?.location;\n// eslint-disable-next-line no-undef\nconst isWebWorker = typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope;\n\nconst rIC =\n\tisWebWorker || (isChromium && isIframe) ? requestIdleCallbackPollyfill : requestIdleCallback;\n\nexport default rIC;\n","import isThrottled from './isThrottled';\nimport {default as requestIdleCallback, requestIdleCallbackPollyfill} from './requestIdleCallback';\n\nexport default function whenIdle(fn) {\n\treturn isThrottled() ? requestIdleCallbackPollyfill(fn) : requestIdleCallback(fn);\n}\n","import isThrottled from './isThrottled';\nimport nextTick from './nextTick';\n\nexport default function raf(fn) {\n\treturn isThrottled() ? nextTick(fn) : requestAnimationFrame(fn);\n}\n","/**\n *\n * @param {*} snHttpFactoryConfig\n * @returns A function, that when called, will create an instance of sn-http-request\n */\nconst createSnHttp = snHttpFactoryConfig => async () => {\n\tconst snHttpRequest = await import('sn-http-request');\n\tconst {snHttpFactory} = snHttpRequest;\n\tconst snHttp = snHttpFactory(snHttpFactoryConfig);\n\n\treturn snHttp;\n};\n\nexport default createSnHttp;\n","'use strict';\n\n// FNV_PRIMES and FNV_OFFSETS from\n// http://www.isthe.com/chongo/tech/comp/fnv/index.html#FNV-param\n\nconst FNV_PRIMES = {\n\t32: 16777619n,\n\t64: 1099511628211n,\n\t128: 309485009821345068724781371n,\n\t256: 374144419156711147060143317175368453031918731002211n,\n\t512: 35835915874844867368919076489095108449946327955754392558399825615420669938882575126094039892345713852759n,\n\t1024: 5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082573n\n};\n\nconst FNV_OFFSETS = {\n\t32: 2166136261n,\n\t64: 14695981039346656037n,\n\t128: 144066263297769815596495629667062367629n,\n\t256: 100029257958052580907070968620625704837092796014241193945225284501741471925557n,\n\t512: 9659303129496669498009435400716310466090418745672637896108374329434462657994582932197716438449813051892206539805784495328239340083876191928701583869517785n,\n\t1024: 14197795064947621068722070641403218320880622795441933960878474914617582723252296732303717722150864096521202355549365628174669108571814760471015076148029755969804077320157692458563003215304957150157403644460363550505412711285966361610267868082893823963790439336411086884584107735010676915n\n};\n\n// Legacy implementation for 32-bit + number types\nfunction fnv1a(string) {\n\t// Handle Unicode code points > 0x7f\n\tlet hash = Number(FNV_OFFSETS[32]);\n\tlet isUnicoded = false;\n\n\tfor (let i = 0; i < string.length; i++) {\n\t\tlet characterCode = string.charCodeAt(i);\n\n\t\t// Non-ASCII characters trigger the Unicode escape logic\n\t\tif (characterCode > 0x7F && !isUnicoded) {\n\t\t\tstring = unescape(encodeURIComponent(string));\n\t\t\tcharacterCode = string.charCodeAt(i);\n\t\t\tisUnicoded = true;\n\t\t}\n\n\t\thash ^= characterCode;\n\t\thash += (hash << 1) + (hash << 4) + (hash << 7) + (hash << 8) + (hash << 24);\n\t}\n\n\treturn hash >>> 0;\n}\n\nfunction bigInt(string, {size = 32} = {}) {\n\tif (!FNV_PRIMES[size]) {\n\t\tthrow new Error('The `size` option must be one of 32, 64, 128, 256, 512, or 1024');\n\t}\n\n\tlet hash = FNV_OFFSETS[size];\n\tconst fnvPrime = FNV_PRIMES[size];\n\n\t// Handle Unicode code points > 0x7f\n\tlet isUnicoded = false;\n\n\tfor (let i = 0; i < string.length; i++) {\n\t\tlet characterCode = string.charCodeAt(i);\n\n\t\t// Non-ASCII characters trigger the Unicode escape logic\n\t\tif (characterCode > 0x7F && !isUnicoded) {\n\t\t\tstring = unescape(encodeURIComponent(string));\n\t\t\tcharacterCode = string.charCodeAt(i);\n\t\t\tisUnicoded = true;\n\t\t}\n\n\t\thash ^= BigInt(characterCode);\n\t\thash = BigInt.asUintN(size, hash * fnvPrime);\n\t}\n\n\treturn hash;\n}\n\nmodule.exports = fnv1a;\nmodule.exports.bigInt = bigInt;\n","// This code will get run by jest once the environment is set up\nconst {\n\tformatLog,\n\tgetAnnotationTypeAndValue,\n\twriteLog,\n} = require('@servicenow/commons-test-js-utils');\nconst {uniqBy} = require('lodash');\nconst fs = require('fs-extra');\nconst path = require('path');\n\n// Use a dedicated folder for all temp files to keep things contained\nconst tempFolderName = '.sdlc-annotations-temp-jest';\nconst tempFolderPath = path.join(process.cwd(), tempFolderName);\n\n// Get per-worker file path to avoid race conditions between Jest workers\n// Only valid when called from a worker process (where JEST_WORKER_ID exists)\nconst getWorkerFilePath = () => {\n\tconst workerId = process.env.JEST_WORKER_ID || '1';\n\treturn path.join(tempFolderPath, `worker-${workerId}.json`);\n};\n\nclass SdlcReporter {\n\tconstructor() {\n\t\t// Store test results in memory for matching in onRunComplete\n\t\tthis.testResultsMap = new Map(); // Store uniqueKey -> {testName, suiteName}\n\t}\n\n\t// Called from test code (in worker process)\n\tannotation(...tasks) {\n\n\t\ttry {\n\t\t\tconst filePath = getWorkerFilePath();\n\t\t\tfs.ensureDirSync(tempFolderPath);\n\t\t\tfs.ensureFileSync(filePath);\n\t\t\tconst validated = getAnnotationTypeAndValue(tasks);\n\n\t\t\t// Get current test info from Jest's expect state\n\t\t\t// Use testPath + currentTestName as unique key to match with test results\n\t\t\tlet uniqueKey = '';\n\t\t\ttry {\n\t\t\t\tconst state = expect.getState();\n\t\t\t\tuniqueKey = `${state.testPath}::${state.currentTestName}`;\n\t\t\t} catch (e) {\n\t\t\t\t// Fallback if expect.getState() not available\n\t\t\t\tuniqueKey = '';\n\t\t\t}\n\n\t\t\tconst log = fs.readJsonSync(filePath, {throws: false}) || [];\n\t\t\tlog.push({validated, uniqueKey});\n\t\t\tfs.writeJsonSync(filePath, log);\n\t\t} catch (e) {\n\t\t\t// Log warning but don't fail the test - annotations are metadata\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn('[SDLC Reporter] Failed to record annotation:', e.message);\n\t\t}\n\t}\n\n\t// Called in main process for each test case\n\t// Format must match junit reporter output for maven sdlc-plugin to merge them:\n\t// - suiteName = relative filepath from cwd with forward slashes (matches jest-junit's {filepath} template)\n\t// - testName = describe blocks + test title (matches junit's testcase name attribute)\n\t// NOTE: jest-junit computes {filepath} as path.relative(process.cwd(), testFilePath),\n\t// NOT relative to rootDir. We must use cwd to match, regardless of jest rootDir config.\n\tonTestCaseResult(test, result) {\n\t\t// Collect test results for matching in onRunComplete\n\t\tconst uniqueKey = `${test.path}::${result.fullName}`;\n\t\t// Use relative filepath from cwd as suiteName to match jest-junit reporter behavior.\n\t\t// jest-junit resolves cwd with realpathSync before computing the relative path, so we must\n\t\t// do the same - otherwise symlinked working directories (common in monorepos) produce\n\t\t// mismatched paths and annotations are orphaned.\n\t\t// See: https://github.com/jest-community/jest-junit/blob/master/index.js#L23\n\t\t// Normalize to forward slashes for cross-platform compatibility (Windows uses backslashes)\n\t\tconst relativePath = path.relative(fs.realpathSync(process.cwd()), test.path);\n\t\tconst suiteName = relativePath.split(path.sep).join('/');\n\t\tthis.testResultsMap.set(uniqueKey, {\n\t\t\ttestName: result.fullName,\n\t\t\tsuiteName,\n\t\t});\n\t}\n\n\t// Called in main process after all tests complete\n\tonRunComplete() {\n\t\ttry {\n\t\t\t// Read all worker files\n\t\t\tif (!fs.existsSync(tempFolderPath)) \n\t\t\t\treturn;\n\t\t\t\n\n\t\t\tconst workerFiles = fs.readdirSync(tempFolderPath)\n\t\t\t\t.filter(f => f.startsWith('worker-') && f.endsWith('.json'))\n\t\t\t\t.map(f => path.join(tempFolderPath, f));\n\n\t\t\tlet allAnnotations = [];\n\t\t\tfor (const file of workerFiles) {\n\t\t\t\tconst log = fs.readJsonSync(file, {throws: false}) || [];\n\t\t\t\tallAnnotations = allAnnotations.concat(log);\n\t\t\t}\n\n\t\t\t// Match annotations with test results using uniqueKey\n\t\t\tconst matchedLogs = [];\n\t\t\tfor (const annotation of allAnnotations) {\n\t\t\t\tconst testResult = this.testResultsMap.get(annotation.uniqueKey);\n\t\t\t\tif (testResult) {\n\t\t\t\t\tmatchedLogs.push({\n\t\t\t\t\t\tvalidated: annotation.validated,\n\t\t\t\t\t\ttestName: testResult.testName,\n\t\t\t\t\t\tsuiteName: testResult.suiteName,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (matchedLogs.length > 0) {\n\t\t\t\t// Deduplicate by suite+test+validated to allow multiple different annotations per test\n\t\t\t\t// while still removing true duplicates (e.g., same annotation called twice)\n\t\t\t\tconst uniqueLogs = uniqBy(matchedLogs, x => `${x.suiteName}${x.testName}${JSON.stringify(x.validated)}`);\n\t\t\t\tconst formattedLog = uniqueLogs.map(item =>\n\t\t\t\t\tformatLog(item.suiteName, item.testName, item.validated)\n\t\t\t\t);\n\t\t\t\twriteLog(formattedLog);\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn('[SDLC Reporter] Failed to process annotations:', e.message);\n\t\t} finally {\n\t\t\t// Always clean up temp folder and clear map\n\t\t\tfs.removeSync(tempFolderPath);\n\t\t\tthis.testResultsMap.clear();\n\t\t}\n\t}\n\n\t// Keep for backwards compatibility - called per test file\n\tonTestResult() {\n\t\t// No-op: processing moved to onRunComplete to handle all workers\n\t}\n}\n\nmodule.exports = SdlcReporter;\n","const SdlcReporter = require('./SdlcReporter');\n\nmodule.exports = SdlcReporter;","/**\n * Retrieve strategy from node (required when there's multiple instance of @tectonic/test-api)\n * @param {*} node \n * @returns undefined if Symbol('__strategy__') not found, the strategy if Symbol('__strategy__') exists\n */\nconst getStrategyFromNode = node => {\n\tif (!node)\n\t\treturn undefined;\n\t\n\tconst keys = Object.getOwnPropertySymbols(node);\n\tfor (const key of keys) {\n\t\tif (typeof key === 'symbol' && key.description === '__strategy__')\n\t\t\treturn node[key];\n\t}\n\n\treturn undefined;\n};\n\nmodule.exports = {\n\tWAIT_FOR_INTERVAL_DEFAULT: 20, // in milliseconds\n\tWAIT_FOR_TIMEOUT_DEFAULT: 500, // in milliseconds\n\tWAIT_UNTIL_INTERVAL_DEFAULT: 500, // in milliseconds\n\tWAIT_UNTIL_TIMEOUT_DEFAULT: 5000, // in milliseconds\n\tSTRATEGY: Symbol('__strategy__'),\n\tgetStrategyFromNode\n};\n","if (process.env.UNSAFE_SEISMIC_EMIT_CUSTOM_EVENT) {\n\tconst chai = require('chai');\n\tconst {chaiA11yAxe} = require('chai-a11y-axe');\n\n\tconst setupChaiAxe = () => {\n\t\tchai.use(chaiA11yAxe);\n\t};\n\tmodule.exports = {setupChaiAxe};\n} else \n\tmodule.exports = {setupChaiAxe() {}};","\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (url, options) {\n  if (!options) {\n    options = {};\n  }\n\n  if (!url) {\n    return url;\n  }\n\n  url = String(url.__esModule ? url.default : url); // If url is already wrapped in quotes, remove them\n\n  if (/^['\"].*['\"]$/.test(url)) {\n    url = url.slice(1, -1);\n  }\n\n  if (options.hash) {\n    url += options.hash;\n  } // Should url be wrapped?\n  // See https://drafts.csswg.org/css-values-3/#urls\n\n\n  if (/[\"'() \\t\\n]|(%20)/.test(url) || options.needQuotes) {\n    return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n  }\n\n  return url;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","'use strict';\n\nvar compileSchema = require('./compile')\n  , resolve = require('./compile/resolve')\n  , Cache = require('./cache')\n  , SchemaObject = require('./compile/schema_obj')\n  , stableStringify = require('fast-json-stable-stringify')\n  , formats = require('./compile/formats')\n  , rules = require('./compile/rules')\n  , $dataMetaSchema = require('./data')\n  , util = require('./compile/util');\n\nmodule.exports = Ajv;\n\nAjv.prototype.validate = validate;\nAjv.prototype.compile = compile;\nAjv.prototype.addSchema = addSchema;\nAjv.prototype.addMetaSchema = addMetaSchema;\nAjv.prototype.validateSchema = validateSchema;\nAjv.prototype.getSchema = getSchema;\nAjv.prototype.removeSchema = removeSchema;\nAjv.prototype.addFormat = addFormat;\nAjv.prototype.errorsText = errorsText;\n\nAjv.prototype._addSchema = _addSchema;\nAjv.prototype._compile = _compile;\n\nAjv.prototype.compileAsync = require('./compile/async');\nvar customKeyword = require('./keyword');\nAjv.prototype.addKeyword = customKeyword.add;\nAjv.prototype.getKeyword = customKeyword.get;\nAjv.prototype.removeKeyword = customKeyword.remove;\nAjv.prototype.validateKeyword = customKeyword.validate;\n\nvar errorClasses = require('./compile/error_classes');\nAjv.ValidationError = errorClasses.Validation;\nAjv.MissingRefError = errorClasses.MissingRef;\nAjv.$dataMetaSchema = $dataMetaSchema;\n\nvar META_SCHEMA_ID = 'http://json-schema.org/draft-07/schema';\n\nvar META_IGNORE_OPTIONS = [ 'removeAdditional', 'useDefaults', 'coerceTypes', 'strictDefaults' ];\nvar META_SUPPORT_DATA = ['/properties'];\n\n/**\n * Creates validator instance.\n * Usage: `Ajv(opts)`\n * @param {Object} opts optional options\n * @return {Object} ajv instance\n */\nfunction Ajv(opts) {\n  if (!(this instanceof Ajv)) return new Ajv(opts);\n  opts = this._opts = util.copy(opts) || {};\n  setLogger(this);\n  this._schemas = {};\n  this._refs = {};\n  this._fragments = {};\n  this._formats = formats(opts.format);\n\n  this._cache = opts.cache || new Cache;\n  this._loadingSchemas = {};\n  this._compilations = [];\n  this.RULES = rules();\n  this._getId = chooseGetId(opts);\n\n  opts.loopRequired = opts.loopRequired || Infinity;\n  if (opts.errorDataPath == 'property') opts._errorDataPathProperty = true;\n  if (opts.serialize === undefined) opts.serialize = stableStringify;\n  this._metaOpts = getMetaSchemaOptions(this);\n\n  if (opts.formats) addInitialFormats(this);\n  if (opts.keywords) addInitialKeywords(this);\n  addDefaultMetaSchema(this);\n  if (typeof opts.meta == 'object') this.addMetaSchema(opts.meta);\n  if (opts.nullable) this.addKeyword('nullable', {metaSchema: {type: 'boolean'}});\n  addInitialSchemas(this);\n}\n\n\n\n/**\n * Validate data using schema\n * Schema will be compiled and cached (using serialized JSON as key. [fast-json-stable-stringify](https://github.com/epoberezkin/fast-json-stable-stringify) is used to serialize.\n * @this   Ajv\n * @param  {String|Object} schemaKeyRef key, ref or schema object\n * @param  {Any} data to be validated\n * @return {Boolean} validation result. Errors from the last validation will be available in `ajv.errors` (and also in compiled schema: `schema.errors`).\n */\nfunction validate(schemaKeyRef, data) {\n  var v;\n  if (typeof schemaKeyRef == 'string') {\n    v = this.getSchema(schemaKeyRef);\n    if (!v) throw new Error('no schema with key or ref \"' + schemaKeyRef + '\"');\n  } else {\n    var schemaObj = this._addSchema(schemaKeyRef);\n    v = schemaObj.validate || this._compile(schemaObj);\n  }\n\n  var valid = v(data);\n  if (v.$async !== true) this.errors = v.errors;\n  return valid;\n}\n\n\n/**\n * Create validating function for passed schema.\n * @this   Ajv\n * @param  {Object} schema schema object\n * @param  {Boolean} _meta true if schema is a meta-schema. Used internally to compile meta schemas of custom keywords.\n * @return {Function} validating function\n */\nfunction compile(schema, _meta) {\n  var schemaObj = this._addSchema(schema, undefined, _meta);\n  return schemaObj.validate || this._compile(schemaObj);\n}\n\n\n/**\n * Adds schema to the instance.\n * @this   Ajv\n * @param {Object|Array} schema schema or array of schemas. If array is passed, `key` and other parameters will be ignored.\n * @param {String} key Optional schema key. Can be passed to `validate` method instead of schema object or id/ref. One schema per instance can have empty `id` and `key`.\n * @param {Boolean} _skipValidation true to skip schema validation. Used internally, option validateSchema should be used instead.\n * @param {Boolean} _meta true if schema is a meta-schema. Used internally, addMetaSchema should be used instead.\n * @return {Ajv} this for method chaining\n */\nfunction addSchema(schema, key, _skipValidation, _meta) {\n  if (Array.isArray(schema)){\n    for (var i=0; i<schema.length; i++) this.addSchema(schema[i], undefined, _skipValidation, _meta);\n    return this;\n  }\n  var id = this._getId(schema);\n  if (id !== undefined && typeof id != 'string')\n    throw new Error('schema id must be string');\n  key = resolve.normalizeId(key || id);\n  checkUnique(this, key);\n  this._schemas[key] = this._addSchema(schema, _skipValidation, _meta, true);\n  return this;\n}\n\n\n/**\n * Add schema that will be used to validate other schemas\n * options in META_IGNORE_OPTIONS are alway set to false\n * @this   Ajv\n * @param {Object} schema schema object\n * @param {String} key optional schema key\n * @param {Boolean} skipValidation true to skip schema validation, can be used to override validateSchema option for meta-schema\n * @return {Ajv} this for method chaining\n */\nfunction addMetaSchema(schema, key, skipValidation) {\n  this.addSchema(schema, key, skipValidation, true);\n  return this;\n}\n\n\n/**\n * Validate schema\n * @this   Ajv\n * @param {Object} schema schema to validate\n * @param {Boolean} throwOrLogError pass true to throw (or log) an error if invalid\n * @return {Boolean} true if schema is valid\n */\nfunction validateSchema(schema, throwOrLogError) {\n  var $schema = schema.$schema;\n  if ($schema !== undefined && typeof $schema != 'string')\n    throw new Error('$schema must be a string');\n  $schema = $schema || this._opts.defaultMeta || defaultMeta(this);\n  if (!$schema) {\n    this.logger.warn('meta-schema not available');\n    this.errors = null;\n    return true;\n  }\n  var valid = this.validate($schema, schema);\n  if (!valid && throwOrLogError) {\n    var message = 'schema is invalid: ' + this.errorsText();\n    if (this._opts.validateSchema == 'log') this.logger.error(message);\n    else throw new Error(message);\n  }\n  return valid;\n}\n\n\nfunction defaultMeta(self) {\n  var meta = self._opts.meta;\n  self._opts.defaultMeta = typeof meta == 'object'\n                            ? self._getId(meta) || meta\n                            : self.getSchema(META_SCHEMA_ID)\n                              ? META_SCHEMA_ID\n                              : undefined;\n  return self._opts.defaultMeta;\n}\n\n\n/**\n * Get compiled schema from the instance by `key` or `ref`.\n * @this   Ajv\n * @param  {String} keyRef `key` that was passed to `addSchema` or full schema reference (`schema.id` or resolved id).\n * @return {Function} schema validating function (with property `schema`).\n */\nfunction getSchema(keyRef) {\n  var schemaObj = _getSchemaObj(this, keyRef);\n  switch (typeof schemaObj) {\n    case 'object': return schemaObj.validate || this._compile(schemaObj);\n    case 'string': return this.getSchema(schemaObj);\n    case 'undefined': return _getSchemaFragment(this, keyRef);\n  }\n}\n\n\nfunction _getSchemaFragment(self, ref) {\n  var res = resolve.schema.call(self, { schema: {} }, ref);\n  if (res) {\n    var schema = res.schema\n      , root = res.root\n      , baseId = res.baseId;\n    var v = compileSchema.call(self, schema, root, undefined, baseId);\n    self._fragments[ref] = new SchemaObject({\n      ref: ref,\n      fragment: true,\n      schema: schema,\n      root: root,\n      baseId: baseId,\n      validate: v\n    });\n    return v;\n  }\n}\n\n\nfunction _getSchemaObj(self, keyRef) {\n  keyRef = resolve.normalizeId(keyRef);\n  return self._schemas[keyRef] || self._refs[keyRef] || self._fragments[keyRef];\n}\n\n\n/**\n * Remove cached schema(s).\n * If no parameter is passed all schemas but meta-schemas are removed.\n * If RegExp is passed all schemas with key/id matching pattern but meta-schemas are removed.\n * Even if schema is referenced by other schemas it still can be removed as other schemas have local references.\n * @this   Ajv\n * @param  {String|Object|RegExp} schemaKeyRef key, ref, pattern to match key/ref or schema object\n * @return {Ajv} this for method chaining\n */\nfunction removeSchema(schemaKeyRef) {\n  if (schemaKeyRef instanceof RegExp) {\n    _removeAllSchemas(this, this._schemas, schemaKeyRef);\n    _removeAllSchemas(this, this._refs, schemaKeyRef);\n    return this;\n  }\n  switch (typeof schemaKeyRef) {\n    case 'undefined':\n      _removeAllSchemas(this, this._schemas);\n      _removeAllSchemas(this, this._refs);\n      this._cache.clear();\n      return this;\n    case 'string':\n      var schemaObj = _getSchemaObj(this, schemaKeyRef);\n      if (schemaObj) this._cache.del(schemaObj.cacheKey);\n      delete this._schemas[schemaKeyRef];\n      delete this._refs[schemaKeyRef];\n      return this;\n    case 'object':\n      var serialize = this._opts.serialize;\n      var cacheKey = serialize ? serialize(schemaKeyRef) : schemaKeyRef;\n      this._cache.del(cacheKey);\n      var id = this._getId(schemaKeyRef);\n      if (id) {\n        id = resolve.normalizeId(id);\n        delete this._schemas[id];\n        delete this._refs[id];\n      }\n  }\n  return this;\n}\n\n\nfunction _removeAllSchemas(self, schemas, regex) {\n  for (var keyRef in schemas) {\n    var schemaObj = schemas[keyRef];\n    if (!schemaObj.meta && (!regex || regex.test(keyRef))) {\n      self._cache.del(schemaObj.cacheKey);\n      delete schemas[keyRef];\n    }\n  }\n}\n\n\n/* @this   Ajv */\nfunction _addSchema(schema, skipValidation, meta, shouldAddSchema) {\n  if (typeof schema != 'object' && typeof schema != 'boolean')\n    throw new Error('schema should be object or boolean');\n  var serialize = this._opts.serialize;\n  var cacheKey = serialize ? serialize(schema) : schema;\n  var cached = this._cache.get(cacheKey);\n  if (cached) return cached;\n\n  shouldAddSchema = shouldAddSchema || this._opts.addUsedSchema !== false;\n\n  var id = resolve.normalizeId(this._getId(schema));\n  if (id && shouldAddSchema) checkUnique(this, id);\n\n  var willValidate = this._opts.validateSchema !== false && !skipValidation;\n  var recursiveMeta;\n  if (willValidate && !(recursiveMeta = id && id == resolve.normalizeId(schema.$schema)))\n    this.validateSchema(schema, true);\n\n  var localRefs = resolve.ids.call(this, schema);\n\n  var schemaObj = new SchemaObject({\n    id: id,\n    schema: schema,\n    localRefs: localRefs,\n    cacheKey: cacheKey,\n    meta: meta\n  });\n\n  if (id[0] != '#' && shouldAddSchema) this._refs[id] = schemaObj;\n  this._cache.put(cacheKey, schemaObj);\n\n  if (willValidate && recursiveMeta) this.validateSchema(schema, true);\n\n  return schemaObj;\n}\n\n\n/* @this   Ajv */\nfunction _compile(schemaObj, root) {\n  if (schemaObj.compiling) {\n    schemaObj.validate = callValidate;\n    callValidate.schema = schemaObj.schema;\n    callValidate.errors = null;\n    callValidate.root = root ? root : callValidate;\n    if (schemaObj.schema.$async === true)\n      callValidate.$async = true;\n    return callValidate;\n  }\n  schemaObj.compiling = true;\n\n  var currentOpts;\n  if (schemaObj.meta) {\n    currentOpts = this._opts;\n    this._opts = this._metaOpts;\n  }\n\n  var v;\n  try { v = compileSchema.call(this, schemaObj.schema, root, schemaObj.localRefs); }\n  catch(e) {\n    delete schemaObj.validate;\n    throw e;\n  }\n  finally {\n    schemaObj.compiling = false;\n    if (schemaObj.meta) this._opts = currentOpts;\n  }\n\n  schemaObj.validate = v;\n  schemaObj.refs = v.refs;\n  schemaObj.refVal = v.refVal;\n  schemaObj.root = v.root;\n  return v;\n\n\n  /* @this   {*} - custom context, see passContext option */\n  function callValidate() {\n    /* jshint validthis: true */\n    var _validate = schemaObj.validate;\n    var result = _validate.apply(this, arguments);\n    callValidate.errors = _validate.errors;\n    return result;\n  }\n}\n\n\nfunction chooseGetId(opts) {\n  switch (opts.schemaId) {\n    case 'auto': return _get$IdOrId;\n    case 'id': return _getId;\n    default: return _get$Id;\n  }\n}\n\n/* @this   Ajv */\nfunction _getId(schema) {\n  if (schema.$id) this.logger.warn('schema $id ignored', schema.$id);\n  return schema.id;\n}\n\n/* @this   Ajv */\nfunction _get$Id(schema) {\n  if (schema.id) this.logger.warn('schema id ignored', schema.id);\n  return schema.$id;\n}\n\n\nfunction _get$IdOrId(schema) {\n  if (schema.$id && schema.id && schema.$id != schema.id)\n    throw new Error('schema $id is different from id');\n  return schema.$id || schema.id;\n}\n\n\n/**\n * Convert array of error message objects to string\n * @this   Ajv\n * @param  {Array<Object>} errors optional array of validation errors, if not passed errors from the instance are used.\n * @param  {Object} options optional options with properties `separator` and `dataVar`.\n * @return {String} human readable string with all errors descriptions\n */\nfunction errorsText(errors, options) {\n  errors = errors || this.errors;\n  if (!errors) return 'No errors';\n  options = options || {};\n  var separator = options.separator === undefined ? ', ' : options.separator;\n  var dataVar = options.dataVar === undefined ? 'data' : options.dataVar;\n\n  var text = '';\n  for (var i=0; i<errors.length; i++) {\n    var e = errors[i];\n    if (e) text += dataVar + e.dataPath + ' ' + e.message + separator;\n  }\n  return text.slice(0, -separator.length);\n}\n\n\n/**\n * Add custom format\n * @this   Ajv\n * @param {String} name format name\n * @param {String|RegExp|Function} format string is converted to RegExp; function should return boolean (true when valid)\n * @return {Ajv} this for method chaining\n */\nfunction addFormat(name, format) {\n  if (typeof format == 'string') format = new RegExp(format);\n  this._formats[name] = format;\n  return this;\n}\n\n\nfunction addDefaultMetaSchema(self) {\n  var $dataSchema;\n  if (self._opts.$data) {\n    $dataSchema = require('./refs/data.json');\n    self.addMetaSchema($dataSchema, $dataSchema.$id, true);\n  }\n  if (self._opts.meta === false) return;\n  var metaSchema = require('./refs/json-schema-draft-07.json');\n  if (self._opts.$data) metaSchema = $dataMetaSchema(metaSchema, META_SUPPORT_DATA);\n  self.addMetaSchema(metaSchema, META_SCHEMA_ID, true);\n  self._refs['http://json-schema.org/schema'] = META_SCHEMA_ID;\n}\n\n\nfunction addInitialSchemas(self) {\n  var optsSchemas = self._opts.schemas;\n  if (!optsSchemas) return;\n  if (Array.isArray(optsSchemas)) self.addSchema(optsSchemas);\n  else for (var key in optsSchemas) self.addSchema(optsSchemas[key], key);\n}\n\n\nfunction addInitialFormats(self) {\n  for (var name in self._opts.formats) {\n    var format = self._opts.formats[name];\n    self.addFormat(name, format);\n  }\n}\n\n\nfunction addInitialKeywords(self) {\n  for (var name in self._opts.keywords) {\n    var keyword = self._opts.keywords[name];\n    self.addKeyword(name, keyword);\n  }\n}\n\n\nfunction checkUnique(self, id) {\n  if (self._schemas[id] || self._refs[id])\n    throw new Error('schema with key or id \"' + id + '\" already exists');\n}\n\n\nfunction getMetaSchemaOptions(self) {\n  var metaOpts = util.copy(self._opts);\n  for (var i=0; i<META_IGNORE_OPTIONS.length; i++)\n    delete metaOpts[META_IGNORE_OPTIONS[i]];\n  return metaOpts;\n}\n\n\nfunction setLogger(self) {\n  var logger = self._opts.logger;\n  if (logger === false) {\n    self.logger = {log: noop, warn: noop, error: noop};\n  } else {\n    if (logger === undefined) logger = console;\n    if (!(typeof logger == 'object' && logger.log && logger.warn && logger.error))\n      throw new Error('logger must implement log, warn and error methods');\n    self.logger = logger;\n  }\n}\n\n\nfunction noop() {}\n","'use strict';\n\n\nvar Cache = module.exports = function Cache() {\n  this._cache = {};\n};\n\n\nCache.prototype.put = function Cache_put(key, value) {\n  this._cache[key] = value;\n};\n\n\nCache.prototype.get = function Cache_get(key) {\n  return this._cache[key];\n};\n\n\nCache.prototype.del = function Cache_del(key) {\n  delete this._cache[key];\n};\n\n\nCache.prototype.clear = function Cache_clear() {\n  this._cache = {};\n};\n","'use strict';\n\nvar MissingRefError = require('./error_classes').MissingRef;\n\nmodule.exports = compileAsync;\n\n\n/**\n * Creates validating function for passed schema with asynchronous loading of missing schemas.\n * `loadSchema` option should be a function that accepts schema uri and returns promise that resolves with the schema.\n * @this  Ajv\n * @param {Object}   schema schema object\n * @param {Boolean}  meta optional true to compile meta-schema; this parameter can be skipped\n * @param {Function} callback an optional node-style callback, it is called with 2 parameters: error (or null) and validating function.\n * @return {Promise} promise that resolves with a validating function.\n */\nfunction compileAsync(schema, meta, callback) {\n  /* eslint no-shadow: 0 */\n  /* global Promise */\n  /* jshint validthis: true */\n  var self = this;\n  if (typeof this._opts.loadSchema != 'function')\n    throw new Error('options.loadSchema should be a function');\n\n  if (typeof meta == 'function') {\n    callback = meta;\n    meta = undefined;\n  }\n\n  var p = loadMetaSchemaOf(schema).then(function () {\n    var schemaObj = self._addSchema(schema, undefined, meta);\n    return schemaObj.validate || _compileAsync(schemaObj);\n  });\n\n  if (callback) {\n    p.then(\n      function(v) { callback(null, v); },\n      callback\n    );\n  }\n\n  return p;\n\n\n  function loadMetaSchemaOf(sch) {\n    var $schema = sch.$schema;\n    return $schema && !self.getSchema($schema)\n            ? compileAsync.call(self, { $ref: $schema }, true)\n            : Promise.resolve();\n  }\n\n\n  function _compileAsync(schemaObj) {\n    try { return self._compile(schemaObj); }\n    catch(e) {\n      if (e instanceof MissingRefError) return loadMissingSchema(e);\n      throw e;\n    }\n\n\n    function loadMissingSchema(e) {\n      var ref = e.missingSchema;\n      if (added(ref)) throw new Error('Schema ' + ref + ' is loaded but ' + e.missingRef + ' cannot be resolved');\n\n      var schemaPromise = self._loadingSchemas[ref];\n      if (!schemaPromise) {\n        schemaPromise = self._loadingSchemas[ref] = self._opts.loadSchema(ref);\n        schemaPromise.then(removePromise, removePromise);\n      }\n\n      return schemaPromise.then(function (sch) {\n        if (!added(ref)) {\n          return loadMetaSchemaOf(sch).then(function () {\n            if (!added(ref)) self.addSchema(sch, ref, undefined, meta);\n          });\n        }\n      }).then(function() {\n        return _compileAsync(schemaObj);\n      });\n\n      function removePromise() {\n        delete self._loadingSchemas[ref];\n      }\n\n      function added(ref) {\n        return self._refs[ref] || self._schemas[ref];\n      }\n    }\n  }\n}\n","'use strict';\n\nvar resolve = require('./resolve');\n\nmodule.exports = {\n  Validation: errorSubclass(ValidationError),\n  MissingRef: errorSubclass(MissingRefError)\n};\n\n\nfunction ValidationError(errors) {\n  this.message = 'validation failed';\n  this.errors = errors;\n  this.ajv = this.validation = true;\n}\n\n\nMissingRefError.message = function (baseId, ref) {\n  return 'can\\'t resolve reference ' + ref + ' from id ' + baseId;\n};\n\n\nfunction MissingRefError(baseId, ref, message) {\n  this.message = message || MissingRefError.message(baseId, ref);\n  this.missingRef = resolve.url(baseId, ref);\n  this.missingSchema = resolve.normalizeId(resolve.fullPath(this.missingRef));\n}\n\n\nfunction errorSubclass(Subclass) {\n  Subclass.prototype = Object.create(Error.prototype);\n  Subclass.prototype.constructor = Subclass;\n  return Subclass;\n}\n","'use strict';\n\nvar util = require('./util');\n\nvar DATE = /^(\\d\\d\\d\\d)-(\\d\\d)-(\\d\\d)$/;\nvar DAYS = [0,31,28,31,30,31,30,31,31,30,31,30,31];\nvar TIME = /^(\\d\\d):(\\d\\d):(\\d\\d)(\\.\\d+)?(z|[+-]\\d\\d(?::?\\d\\d)?)?$/i;\nvar HOSTNAME = /^(?=.{1,253}\\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\\.?$/i;\nvar URI = /^(?:[a-z][a-z0-9+\\-.]*:)(?:\\/?\\/(?:(?:[a-z0-9\\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\\.[a-z0-9\\-._~!$&'()*+,;=:]+)\\]|(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)|(?:[a-z0-9\\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\\d*)?(?:\\/(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\\/(?:(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\\/(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\\/(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\\?(?:[a-z0-9\\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;\nvar URIREF = /^(?:[a-z][a-z0-9+\\-.]*:)?(?:\\/?\\/(?:(?:[a-z0-9\\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\\.[a-z0-9\\-._~!$&'()*+,;=:]+)\\]|(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)|(?:[a-z0-9\\-._~!$&'\"()*+,;=]|%[0-9a-f]{2})*)(?::\\d*)?(?:\\/(?:[a-z0-9\\-._~!$&'\"()*+,;=:@]|%[0-9a-f]{2})*)*|\\/(?:(?:[a-z0-9\\-._~!$&'\"()*+,;=:@]|%[0-9a-f]{2})+(?:\\/(?:[a-z0-9\\-._~!$&'\"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\\-._~!$&'\"()*+,;=:@]|%[0-9a-f]{2})+(?:\\/(?:[a-z0-9\\-._~!$&'\"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\\?(?:[a-z0-9\\-._~!$&'\"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\\-._~!$&'\"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;\n// uri-template: https://tools.ietf.org/html/rfc6570\nvar URITEMPLATE = /^(?:(?:[^\\x00-\\x20\"'<>%\\\\^`{|}]|%[0-9a-f]{2})|\\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\\*)?)*\\})*$/i;\n// For the source: https://gist.github.com/dperini/729294\n// For test cases: https://mathiasbynens.be/demo/url-regex\n// @todo Delete current URL in favour of the commented out URL rule when this issue is fixed https://github.com/eslint/eslint/issues/7983.\n// var URL = /^(?:(?:https?|ftp):\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!10(?:\\.\\d{1,3}){3})(?!127(?:\\.\\d{1,3}){3})(?!169\\.254(?:\\.\\d{1,3}){2})(?!192\\.168(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u{00a1}-\\u{ffff}0-9]+-)*[a-z\\u{00a1}-\\u{ffff}0-9]+)(?:\\.(?:[a-z\\u{00a1}-\\u{ffff}0-9]+-)*[a-z\\u{00a1}-\\u{ffff}0-9]+)*(?:\\.(?:[a-z\\u{00a1}-\\u{ffff}]{2,})))(?::\\d{2,5})?(?:\\/[^\\s]*)?$/iu;\nvar URL = /^(?:(?:http[s\\u017F]?|ftp):\\/\\/)(?:(?:[\\0-\\x08\\x0E-\\x1F!-\\x9F\\xA1-\\u167F\\u1681-\\u1FFF\\u200B-\\u2027\\u202A-\\u202E\\u2030-\\u205E\\u2060-\\u2FFF\\u3001-\\uD7FF\\uE000-\\uFEFE\\uFF00-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+(?::(?:[\\0-\\x08\\x0E-\\x1F!-\\x9F\\xA1-\\u167F\\u1681-\\u1FFF\\u200B-\\u2027\\u202A-\\u202E\\u2030-\\u205E\\u2060-\\u2FFF\\u3001-\\uD7FF\\uE000-\\uFEFE\\uFF00-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])*)?@)?(?:(?!10(?:\\.[0-9]{1,3}){3})(?!127(?:\\.[0-9]{1,3}){3})(?!169\\.254(?:\\.[0-9]{1,3}){2})(?!192\\.168(?:\\.[0-9]{1,3}){2})(?!172\\.(?:1[6-9]|2[0-9]|3[01])(?:\\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9a-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+-)*(?:[0-9a-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+)(?:\\.(?:(?:[0-9a-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+-)*(?:[0-9a-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+)*(?:\\.(?:(?:[a-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\\/(?:[\\0-\\x08\\x0E-\\x1F!-\\x9F\\xA1-\\u167F\\u1681-\\u1FFF\\u200B-\\u2027\\u202A-\\u202E\\u2030-\\u205E\\u2060-\\u2FFF\\u3001-\\uD7FF\\uE000-\\uFEFE\\uFF00-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])*)?$/i;\nvar UUID = /^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;\nvar JSON_POINTER = /^(?:\\/(?:[^~/]|~0|~1)*)*$/;\nvar JSON_POINTER_URI_FRAGMENT = /^#(?:\\/(?:[a-z0-9_\\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i;\nvar RELATIVE_JSON_POINTER = /^(?:0|[1-9][0-9]*)(?:#|(?:\\/(?:[^~/]|~0|~1)*)*)$/;\n\n\nmodule.exports = formats;\n\nfunction formats(mode) {\n  mode = mode == 'full' ? 'full' : 'fast';\n  return util.copy(formats[mode]);\n}\n\n\nformats.fast = {\n  // date: http://tools.ietf.org/html/rfc3339#section-5.6\n  date: /^\\d\\d\\d\\d-[0-1]\\d-[0-3]\\d$/,\n  // date-time: http://tools.ietf.org/html/rfc3339#section-5.6\n  time: /^(?:[0-2]\\d:[0-5]\\d:[0-5]\\d|23:59:60)(?:\\.\\d+)?(?:z|[+-]\\d\\d(?::?\\d\\d)?)?$/i,\n  'date-time': /^\\d\\d\\d\\d-[0-1]\\d-[0-3]\\d[t\\s](?:[0-2]\\d:[0-5]\\d:[0-5]\\d|23:59:60)(?:\\.\\d+)?(?:z|[+-]\\d\\d(?::?\\d\\d)?)$/i,\n  // uri: https://github.com/mafintosh/is-my-json-valid/blob/master/formats.js\n  uri: /^(?:[a-z][a-z0-9+\\-.]*:)(?:\\/?\\/)?[^\\s]*$/i,\n  'uri-reference': /^(?:(?:[a-z][a-z0-9+\\-.]*:)?\\/?\\/)?(?:[^\\\\\\s#][^\\s#]*)?(?:#[^\\\\\\s]*)?$/i,\n  'uri-template': URITEMPLATE,\n  url: URL,\n  // email (sources from jsen validator):\n  // http://stackoverflow.com/questions/201323/using-a-regular-expression-to-validate-an-email-address#answer-8829363\n  // http://www.w3.org/TR/html5/forms.html#valid-e-mail-address (search for 'willful violation')\n  email: /^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,\n  hostname: HOSTNAME,\n  // optimized https://www.safaribooksonline.com/library/view/regular-expressions-cookbook/9780596802837/ch07s16.html\n  ipv4: /^(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)$/,\n  // optimized http://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses\n  ipv6: /^\\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(?:%.+)?\\s*$/i,\n  regex: regex,\n  // uuid: http://tools.ietf.org/html/rfc4122\n  uuid: UUID,\n  // JSON-pointer: https://tools.ietf.org/html/rfc6901\n  // uri fragment: https://tools.ietf.org/html/rfc3986#appendix-A\n  'json-pointer': JSON_POINTER,\n  'json-pointer-uri-fragment': JSON_POINTER_URI_FRAGMENT,\n  // relative JSON-pointer: http://tools.ietf.org/html/draft-luff-relative-json-pointer-00\n  'relative-json-pointer': RELATIVE_JSON_POINTER\n};\n\n\nformats.full = {\n  date: date,\n  time: time,\n  'date-time': date_time,\n  uri: uri,\n  'uri-reference': URIREF,\n  'uri-template': URITEMPLATE,\n  url: URL,\n  email: /^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,\n  hostname: HOSTNAME,\n  ipv4: /^(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)$/,\n  ipv6: /^\\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(?:%.+)?\\s*$/i,\n  regex: regex,\n  uuid: UUID,\n  'json-pointer': JSON_POINTER,\n  'json-pointer-uri-fragment': JSON_POINTER_URI_FRAGMENT,\n  'relative-json-pointer': RELATIVE_JSON_POINTER\n};\n\n\nfunction isLeapYear(year) {\n  // https://tools.ietf.org/html/rfc3339#appendix-C\n  return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n}\n\n\nfunction date(str) {\n  // full-date from http://tools.ietf.org/html/rfc3339#section-5.6\n  var matches = str.match(DATE);\n  if (!matches) return false;\n\n  var year = +matches[1];\n  var month = +matches[2];\n  var day = +matches[3];\n\n  return month >= 1 && month <= 12 && day >= 1 &&\n          day <= (month == 2 && isLeapYear(year) ? 29 : DAYS[month]);\n}\n\n\nfunction time(str, full) {\n  var matches = str.match(TIME);\n  if (!matches) return false;\n\n  var hour = matches[1];\n  var minute = matches[2];\n  var second = matches[3];\n  var timeZone = matches[5];\n  return ((hour <= 23 && minute <= 59 && second <= 59) ||\n          (hour == 23 && minute == 59 && second == 60)) &&\n         (!full || timeZone);\n}\n\n\nvar DATE_TIME_SEPARATOR = /t|\\s/i;\nfunction date_time(str) {\n  // http://tools.ietf.org/html/rfc3339#section-5.6\n  var dateTime = str.split(DATE_TIME_SEPARATOR);\n  return dateTime.length == 2 && date(dateTime[0]) && time(dateTime[1], true);\n}\n\n\nvar NOT_URI_FRAGMENT = /\\/|:/;\nfunction uri(str) {\n  // http://jmrware.com/articles/2009/uri_regexp/URI_regex.html + optional protocol + required \".\"\n  return NOT_URI_FRAGMENT.test(str) && URI.test(str);\n}\n\n\nvar Z_ANCHOR = /[^\\\\]\\\\Z/;\nfunction regex(str) {\n  if (Z_ANCHOR.test(str)) return false;\n  try {\n    new RegExp(str);\n    return true;\n  } catch(e) {\n    return false;\n  }\n}\n","'use strict';\n\nvar resolve = require('./resolve')\n  , util = require('./util')\n  , errorClasses = require('./error_classes')\n  , stableStringify = require('fast-json-stable-stringify');\n\nvar validateGenerator = require('../dotjs/validate');\n\n/**\n * Functions below are used inside compiled validations function\n */\n\nvar ucs2length = util.ucs2length;\nvar equal = require('fast-deep-equal');\n\n// this error is thrown by async schemas to return validation errors via exception\nvar ValidationError = errorClasses.Validation;\n\nmodule.exports = compile;\n\n\n/**\n * Compiles schema to validation function\n * @this   Ajv\n * @param  {Object} schema schema object\n * @param  {Object} root object with information about the root schema for this schema\n * @param  {Object} localRefs the hash of local references inside the schema (created by resolve.id), used for inline resolution\n * @param  {String} baseId base ID for IDs in the schema\n * @return {Function} validation function\n */\nfunction compile(schema, root, localRefs, baseId) {\n  /* jshint validthis: true, evil: true */\n  /* eslint no-shadow: 0 */\n  var self = this\n    , opts = this._opts\n    , refVal = [ undefined ]\n    , refs = {}\n    , patterns = []\n    , patternsHash = {}\n    , defaults = []\n    , defaultsHash = {}\n    , customRules = [];\n\n  root = root || { schema: schema, refVal: refVal, refs: refs };\n\n  var c = checkCompiling.call(this, schema, root, baseId);\n  var compilation = this._compilations[c.index];\n  if (c.compiling) return (compilation.callValidate = callValidate);\n\n  var formats = this._formats;\n  var RULES = this.RULES;\n\n  try {\n    var v = localCompile(schema, root, localRefs, baseId);\n    compilation.validate = v;\n    var cv = compilation.callValidate;\n    if (cv) {\n      cv.schema = v.schema;\n      cv.errors = null;\n      cv.refs = v.refs;\n      cv.refVal = v.refVal;\n      cv.root = v.root;\n      cv.$async = v.$async;\n      if (opts.sourceCode) cv.source = v.source;\n    }\n    return v;\n  } finally {\n    endCompiling.call(this, schema, root, baseId);\n  }\n\n  /* @this   {*} - custom context, see passContext option */\n  function callValidate() {\n    /* jshint validthis: true */\n    var validate = compilation.validate;\n    var result = validate.apply(this, arguments);\n    callValidate.errors = validate.errors;\n    return result;\n  }\n\n  function localCompile(_schema, _root, localRefs, baseId) {\n    var isRoot = !_root || (_root && _root.schema == _schema);\n    if (_root.schema != root.schema)\n      return compile.call(self, _schema, _root, localRefs, baseId);\n\n    var $async = _schema.$async === true;\n\n    var sourceCode = validateGenerator({\n      isTop: true,\n      schema: _schema,\n      isRoot: isRoot,\n      baseId: baseId,\n      root: _root,\n      schemaPath: '',\n      errSchemaPath: '#',\n      errorPath: '\"\"',\n      MissingRefError: errorClasses.MissingRef,\n      RULES: RULES,\n      validate: validateGenerator,\n      util: util,\n      resolve: resolve,\n      resolveRef: resolveRef,\n      usePattern: usePattern,\n      useDefault: useDefault,\n      useCustomRule: useCustomRule,\n      opts: opts,\n      formats: formats,\n      logger: self.logger,\n      self: self\n    });\n\n    sourceCode = vars(refVal, refValCode) + vars(patterns, patternCode)\n                   + vars(defaults, defaultCode) + vars(customRules, customRuleCode)\n                   + sourceCode;\n\n    if (opts.processCode) sourceCode = opts.processCode(sourceCode, _schema);\n    // console.log('\\n\\n\\n *** \\n', JSON.stringify(sourceCode));\n    var validate;\n    try {\n      var makeValidate = new Function(\n        'self',\n        'RULES',\n        'formats',\n        'root',\n        'refVal',\n        'defaults',\n        'customRules',\n        'equal',\n        'ucs2length',\n        'ValidationError',\n        sourceCode\n      );\n\n      validate = makeValidate(\n        self,\n        RULES,\n        formats,\n        root,\n        refVal,\n        defaults,\n        customRules,\n        equal,\n        ucs2length,\n        ValidationError\n      );\n\n      refVal[0] = validate;\n    } catch(e) {\n      self.logger.error('Error compiling schema, function code:', sourceCode);\n      throw e;\n    }\n\n    validate.schema = _schema;\n    validate.errors = null;\n    validate.refs = refs;\n    validate.refVal = refVal;\n    validate.root = isRoot ? validate : _root;\n    if ($async) validate.$async = true;\n    if (opts.sourceCode === true) {\n      validate.source = {\n        code: sourceCode,\n        patterns: patterns,\n        defaults: defaults\n      };\n    }\n\n    return validate;\n  }\n\n  function resolveRef(baseId, ref, isRoot) {\n    ref = resolve.url(baseId, ref);\n    var refIndex = refs[ref];\n    var _refVal, refCode;\n    if (refIndex !== undefined) {\n      _refVal = refVal[refIndex];\n      refCode = 'refVal[' + refIndex + ']';\n      return resolvedRef(_refVal, refCode);\n    }\n    if (!isRoot && root.refs) {\n      var rootRefId = root.refs[ref];\n      if (rootRefId !== undefined) {\n        _refVal = root.refVal[rootRefId];\n        refCode = addLocalRef(ref, _refVal);\n        return resolvedRef(_refVal, refCode);\n      }\n    }\n\n    refCode = addLocalRef(ref);\n    var v = resolve.call(self, localCompile, root, ref);\n    if (v === undefined) {\n      var localSchema = localRefs && localRefs[ref];\n      if (localSchema) {\n        v = resolve.inlineRef(localSchema, opts.inlineRefs)\n            ? localSchema\n            : compile.call(self, localSchema, root, localRefs, baseId);\n      }\n    }\n\n    if (v === undefined) {\n      removeLocalRef(ref);\n    } else {\n      replaceLocalRef(ref, v);\n      return resolvedRef(v, refCode);\n    }\n  }\n\n  function addLocalRef(ref, v) {\n    var refId = refVal.length;\n    refVal[refId] = v;\n    refs[ref] = refId;\n    return 'refVal' + refId;\n  }\n\n  function removeLocalRef(ref) {\n    delete refs[ref];\n  }\n\n  function replaceLocalRef(ref, v) {\n    var refId = refs[ref];\n    refVal[refId] = v;\n  }\n\n  function resolvedRef(refVal, code) {\n    return typeof refVal == 'object' || typeof refVal == 'boolean'\n            ? { code: code, schema: refVal, inline: true }\n            : { code: code, $async: refVal && !!refVal.$async };\n  }\n\n  function usePattern(regexStr) {\n    var index = patternsHash[regexStr];\n    if (index === undefined) {\n      index = patternsHash[regexStr] = patterns.length;\n      patterns[index] = regexStr;\n    }\n    return 'pattern' + index;\n  }\n\n  function useDefault(value) {\n    switch (typeof value) {\n      case 'boolean':\n      case 'number':\n        return '' + value;\n      case 'string':\n        return util.toQuotedString(value);\n      case 'object':\n        if (value === null) return 'null';\n        var valueStr = stableStringify(value);\n        var index = defaultsHash[valueStr];\n        if (index === undefined) {\n          index = defaultsHash[valueStr] = defaults.length;\n          defaults[index] = value;\n        }\n        return 'default' + index;\n    }\n  }\n\n  function useCustomRule(rule, schema, parentSchema, it) {\n    if (self._opts.validateSchema !== false) {\n      var deps = rule.definition.dependencies;\n      if (deps && !deps.every(function(keyword) {\n        return Object.prototype.hasOwnProperty.call(parentSchema, keyword);\n      }))\n        throw new Error('parent schema must have all required keywords: ' + deps.join(','));\n\n      var validateSchema = rule.definition.validateSchema;\n      if (validateSchema) {\n        var valid = validateSchema(schema);\n        if (!valid) {\n          var message = 'keyword schema is invalid: ' + self.errorsText(validateSchema.errors);\n          if (self._opts.validateSchema == 'log') self.logger.error(message);\n          else throw new Error(message);\n        }\n      }\n    }\n\n    var compile = rule.definition.compile\n      , inline = rule.definition.inline\n      , macro = rule.definition.macro;\n\n    var validate;\n    if (compile) {\n      validate = compile.call(self, schema, parentSchema, it);\n    } else if (macro) {\n      validate = macro.call(self, schema, parentSchema, it);\n      if (opts.validateSchema !== false) self.validateSchema(validate, true);\n    } else if (inline) {\n      validate = inline.call(self, it, rule.keyword, schema, parentSchema);\n    } else {\n      validate = rule.definition.validate;\n      if (!validate) return;\n    }\n\n    if (validate === undefined)\n      throw new Error('custom keyword \"' + rule.keyword + '\"failed to compile');\n\n    var index = customRules.length;\n    customRules[index] = validate;\n\n    return {\n      code: 'customRule' + index,\n      validate: validate\n    };\n  }\n}\n\n\n/**\n * Checks if the schema is currently compiled\n * @this   Ajv\n * @param  {Object} schema schema to compile\n * @param  {Object} root root object\n * @param  {String} baseId base schema ID\n * @return {Object} object with properties \"index\" (compilation index) and \"compiling\" (boolean)\n */\nfunction checkCompiling(schema, root, baseId) {\n  /* jshint validthis: true */\n  var index = compIndex.call(this, schema, root, baseId);\n  if (index >= 0) return { index: index, compiling: true };\n  index = this._compilations.length;\n  this._compilations[index] = {\n    schema: schema,\n    root: root,\n    baseId: baseId\n  };\n  return { index: index, compiling: false };\n}\n\n\n/**\n * Removes the schema from the currently compiled list\n * @this   Ajv\n * @param  {Object} schema schema to compile\n * @param  {Object} root root object\n * @param  {String} baseId base schema ID\n */\nfunction endCompiling(schema, root, baseId) {\n  /* jshint validthis: true */\n  var i = compIndex.call(this, schema, root, baseId);\n  if (i >= 0) this._compilations.splice(i, 1);\n}\n\n\n/**\n * Index of schema compilation in the currently compiled list\n * @this   Ajv\n * @param  {Object} schema schema to compile\n * @param  {Object} root root object\n * @param  {String} baseId base schema ID\n * @return {Integer} compilation index\n */\nfunction compIndex(schema, root, baseId) {\n  /* jshint validthis: true */\n  for (var i=0; i<this._compilations.length; i++) {\n    var c = this._compilations[i];\n    if (c.schema == schema && c.root == root && c.baseId == baseId) return i;\n  }\n  return -1;\n}\n\n\nfunction patternCode(i, patterns) {\n  return 'var pattern' + i + ' = new RegExp(' + util.toQuotedString(patterns[i]) + ');';\n}\n\n\nfunction defaultCode(i) {\n  return 'var default' + i + ' = defaults[' + i + '];';\n}\n\n\nfunction refValCode(i, refVal) {\n  return refVal[i] === undefined ? '' : 'var refVal' + i + ' = refVal[' + i + '];';\n}\n\n\nfunction customRuleCode(i) {\n  return 'var customRule' + i + ' = customRules[' + i + '];';\n}\n\n\nfunction vars(arr, statement) {\n  if (!arr.length) return '';\n  var code = '';\n  for (var i=0; i<arr.length; i++)\n    code += statement(i, arr);\n  return code;\n}\n","'use strict';\n\nvar URI = require('uri-js')\n  , equal = require('fast-deep-equal')\n  , util = require('./util')\n  , SchemaObject = require('./schema_obj')\n  , traverse = require('json-schema-traverse');\n\nmodule.exports = resolve;\n\nresolve.normalizeId = normalizeId;\nresolve.fullPath = getFullPath;\nresolve.url = resolveUrl;\nresolve.ids = resolveIds;\nresolve.inlineRef = inlineRef;\nresolve.schema = resolveSchema;\n\n/**\n * [resolve and compile the references ($ref)]\n * @this   Ajv\n * @param  {Function} compile reference to schema compilation funciton (localCompile)\n * @param  {Object} root object with information about the root schema for the current schema\n * @param  {String} ref reference to resolve\n * @return {Object|Function} schema object (if the schema can be inlined) or validation function\n */\nfunction resolve(compile, root, ref) {\n  /* jshint validthis: true */\n  var refVal = this._refs[ref];\n  if (typeof refVal == 'string') {\n    if (this._refs[refVal]) refVal = this._refs[refVal];\n    else return resolve.call(this, compile, root, refVal);\n  }\n\n  refVal = refVal || this._schemas[ref];\n  if (refVal instanceof SchemaObject) {\n    return inlineRef(refVal.schema, this._opts.inlineRefs)\n            ? refVal.schema\n            : refVal.validate || this._compile(refVal);\n  }\n\n  var res = resolveSchema.call(this, root, ref);\n  var schema, v, baseId;\n  if (res) {\n    schema = res.schema;\n    root = res.root;\n    baseId = res.baseId;\n  }\n\n  if (schema instanceof SchemaObject) {\n    v = schema.validate || compile.call(this, schema.schema, root, undefined, baseId);\n  } else if (schema !== undefined) {\n    v = inlineRef(schema, this._opts.inlineRefs)\n        ? schema\n        : compile.call(this, schema, root, undefined, baseId);\n  }\n\n  return v;\n}\n\n\n/**\n * Resolve schema, its root and baseId\n * @this Ajv\n * @param  {Object} root root object with properties schema, refVal, refs\n * @param  {String} ref  reference to resolve\n * @return {Object} object with properties schema, root, baseId\n */\nfunction resolveSchema(root, ref) {\n  /* jshint validthis: true */\n  var p = URI.parse(ref)\n    , refPath = _getFullPath(p)\n    , baseId = getFullPath(this._getId(root.schema));\n  if (Object.keys(root.schema).length === 0 || refPath !== baseId) {\n    var id = normalizeId(refPath);\n    var refVal = this._refs[id];\n    if (typeof refVal == 'string') {\n      return resolveRecursive.call(this, root, refVal, p);\n    } else if (refVal instanceof SchemaObject) {\n      if (!refVal.validate) this._compile(refVal);\n      root = refVal;\n    } else {\n      refVal = this._schemas[id];\n      if (refVal instanceof SchemaObject) {\n        if (!refVal.validate) this._compile(refVal);\n        if (id == normalizeId(ref))\n          return { schema: refVal, root: root, baseId: baseId };\n        root = refVal;\n      } else {\n        return;\n      }\n    }\n    if (!root.schema) return;\n    baseId = getFullPath(this._getId(root.schema));\n  }\n  return getJsonPointer.call(this, p, baseId, root.schema, root);\n}\n\n\n/* @this Ajv */\nfunction resolveRecursive(root, ref, parsedRef) {\n  /* jshint validthis: true */\n  var res = resolveSchema.call(this, root, ref);\n  if (res) {\n    var schema = res.schema;\n    var baseId = res.baseId;\n    root = res.root;\n    var id = this._getId(schema);\n    if (id) baseId = resolveUrl(baseId, id);\n    return getJsonPointer.call(this, parsedRef, baseId, schema, root);\n  }\n}\n\n\nvar PREVENT_SCOPE_CHANGE = util.toHash(['properties', 'patternProperties', 'enum', 'dependencies', 'definitions']);\n/* @this Ajv */\nfunction getJsonPointer(parsedRef, baseId, schema, root) {\n  /* jshint validthis: true */\n  parsedRef.fragment = parsedRef.fragment || '';\n  if (parsedRef.fragment.slice(0,1) != '/') return;\n  var parts = parsedRef.fragment.split('/');\n\n  for (var i = 1; i < parts.length; i++) {\n    var part = parts[i];\n    if (part) {\n      part = util.unescapeFragment(part);\n      schema = schema[part];\n      if (schema === undefined) break;\n      var id;\n      if (!PREVENT_SCOPE_CHANGE[part]) {\n        id = this._getId(schema);\n        if (id) baseId = resolveUrl(baseId, id);\n        if (schema.$ref) {\n          var $ref = resolveUrl(baseId, schema.$ref);\n          var res = resolveSchema.call(this, root, $ref);\n          if (res) {\n            schema = res.schema;\n            root = res.root;\n            baseId = res.baseId;\n          }\n        }\n      }\n    }\n  }\n  if (schema !== undefined && schema !== root.schema)\n    return { schema: schema, root: root, baseId: baseId };\n}\n\n\nvar SIMPLE_INLINED = util.toHash([\n  'type', 'format', 'pattern',\n  'maxLength', 'minLength',\n  'maxProperties', 'minProperties',\n  'maxItems', 'minItems',\n  'maximum', 'minimum',\n  'uniqueItems', 'multipleOf',\n  'required', 'enum'\n]);\nfunction inlineRef(schema, limit) {\n  if (limit === false) return false;\n  if (limit === undefined || limit === true) return checkNoRef(schema);\n  else if (limit) return countKeys(schema) <= limit;\n}\n\n\nfunction checkNoRef(schema) {\n  var item;\n  if (Array.isArray(schema)) {\n    for (var i=0; i<schema.length; i++) {\n      item = schema[i];\n      if (typeof item == 'object' && !checkNoRef(item)) return false;\n    }\n  } else {\n    for (var key in schema) {\n      if (key == '$ref') return false;\n      item = schema[key];\n      if (typeof item == 'object' && !checkNoRef(item)) return false;\n    }\n  }\n  return true;\n}\n\n\nfunction countKeys(schema) {\n  var count = 0, item;\n  if (Array.isArray(schema)) {\n    for (var i=0; i<schema.length; i++) {\n      item = schema[i];\n      if (typeof item == 'object') count += countKeys(item);\n      if (count == Infinity) return Infinity;\n    }\n  } else {\n    for (var key in schema) {\n      if (key == '$ref') return Infinity;\n      if (SIMPLE_INLINED[key]) {\n        count++;\n      } else {\n        item = schema[key];\n        if (typeof item == 'object') count += countKeys(item) + 1;\n        if (count == Infinity) return Infinity;\n      }\n    }\n  }\n  return count;\n}\n\n\nfunction getFullPath(id, normalize) {\n  if (normalize !== false) id = normalizeId(id);\n  var p = URI.parse(id);\n  return _getFullPath(p);\n}\n\n\nfunction _getFullPath(p) {\n  return URI.serialize(p).split('#')[0] + '#';\n}\n\n\nvar TRAILING_SLASH_HASH = /#\\/?$/;\nfunction normalizeId(id) {\n  return id ? id.replace(TRAILING_SLASH_HASH, '') : '';\n}\n\n\nfunction resolveUrl(baseId, id) {\n  id = normalizeId(id);\n  return URI.resolve(baseId, id);\n}\n\n\n/* @this Ajv */\nfunction resolveIds(schema) {\n  var schemaId = normalizeId(this._getId(schema));\n  var baseIds = {'': schemaId};\n  var fullPaths = {'': getFullPath(schemaId, false)};\n  var localRefs = {};\n  var self = this;\n\n  traverse(schema, {allKeys: true}, function(sch, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex) {\n    if (jsonPtr === '') return;\n    var id = self._getId(sch);\n    var baseId = baseIds[parentJsonPtr];\n    var fullPath = fullPaths[parentJsonPtr] + '/' + parentKeyword;\n    if (keyIndex !== undefined)\n      fullPath += '/' + (typeof keyIndex == 'number' ? keyIndex : util.escapeFragment(keyIndex));\n\n    if (typeof id == 'string') {\n      id = baseId = normalizeId(baseId ? URI.resolve(baseId, id) : id);\n\n      var refVal = self._refs[id];\n      if (typeof refVal == 'string') refVal = self._refs[refVal];\n      if (refVal && refVal.schema) {\n        if (!equal(sch, refVal.schema))\n          throw new Error('id \"' + id + '\" resolves to more than one schema');\n      } else if (id != normalizeId(fullPath)) {\n        if (id[0] == '#') {\n          if (localRefs[id] && !equal(sch, localRefs[id]))\n            throw new Error('id \"' + id + '\" resolves to more than one schema');\n          localRefs[id] = sch;\n        } else {\n          self._refs[id] = fullPath;\n        }\n      }\n    }\n    baseIds[jsonPtr] = baseId;\n    fullPaths[jsonPtr] = fullPath;\n  });\n\n  return localRefs;\n}\n","'use strict';\n\nvar ruleModules = require('../dotjs')\n  , toHash = require('./util').toHash;\n\nmodule.exports = function rules() {\n  var RULES = [\n    { type: 'number',\n      rules: [ { 'maximum': ['exclusiveMaximum'] },\n               { 'minimum': ['exclusiveMinimum'] }, 'multipleOf', 'format'] },\n    { type: 'string',\n      rules: [ 'maxLength', 'minLength', 'pattern', 'format' ] },\n    { type: 'array',\n      rules: [ 'maxItems', 'minItems', 'items', 'contains', 'uniqueItems' ] },\n    { type: 'object',\n      rules: [ 'maxProperties', 'minProperties', 'required', 'dependencies', 'propertyNames',\n               { 'properties': ['additionalProperties', 'patternProperties'] } ] },\n    { rules: [ '$ref', 'const', 'enum', 'not', 'anyOf', 'oneOf', 'allOf', 'if' ] }\n  ];\n\n  var ALL = [ 'type', '$comment' ];\n  var KEYWORDS = [\n    '$schema', '$id', 'id', '$data', '$async', 'title',\n    'description', 'default', 'definitions',\n    'examples', 'readOnly', 'writeOnly',\n    'contentMediaType', 'contentEncoding',\n    'additionalItems', 'then', 'else'\n  ];\n  var TYPES = [ 'number', 'integer', 'string', 'array', 'object', 'boolean', 'null' ];\n  RULES.all = toHash(ALL);\n  RULES.types = toHash(TYPES);\n\n  RULES.forEach(function (group) {\n    group.rules = group.rules.map(function (keyword) {\n      var implKeywords;\n      if (typeof keyword == 'object') {\n        var key = Object.keys(keyword)[0];\n        implKeywords = keyword[key];\n        keyword = key;\n        implKeywords.forEach(function (k) {\n          ALL.push(k);\n          RULES.all[k] = true;\n        });\n      }\n      ALL.push(keyword);\n      var rule = RULES.all[keyword] = {\n        keyword: keyword,\n        code: ruleModules[keyword],\n        implements: implKeywords\n      };\n      return rule;\n    });\n\n    RULES.all.$comment = {\n      keyword: '$comment',\n      code: ruleModules.$comment\n    };\n\n    if (group.type) RULES.types[group.type] = group;\n  });\n\n  RULES.keywords = toHash(ALL.concat(KEYWORDS));\n  RULES.custom = {};\n\n  return RULES;\n};\n","'use strict';\n\nvar util = require('./util');\n\nmodule.exports = SchemaObject;\n\nfunction SchemaObject(obj) {\n  util.copy(obj, this);\n}\n","'use strict';\n\n// https://mathiasbynens.be/notes/javascript-encoding\n// https://github.com/bestiejs/punycode.js - punycode.ucs2.decode\nmodule.exports = function ucs2length(str) {\n  var length = 0\n    , len = str.length\n    , pos = 0\n    , value;\n  while (pos < len) {\n    length++;\n    value = str.charCodeAt(pos++);\n    if (value >= 0xD800 && value <= 0xDBFF && pos < len) {\n      // high surrogate, and there is a next character\n      value = str.charCodeAt(pos);\n      if ((value & 0xFC00) == 0xDC00) pos++; // low surrogate\n    }\n  }\n  return length;\n};\n","'use strict';\n\n\nmodule.exports = {\n  copy: copy,\n  checkDataType: checkDataType,\n  checkDataTypes: checkDataTypes,\n  coerceToTypes: coerceToTypes,\n  toHash: toHash,\n  getProperty: getProperty,\n  escapeQuotes: escapeQuotes,\n  equal: require('fast-deep-equal'),\n  ucs2length: require('./ucs2length'),\n  varOccurences: varOccurences,\n  varReplace: varReplace,\n  schemaHasRules: schemaHasRules,\n  schemaHasRulesExcept: schemaHasRulesExcept,\n  schemaUnknownRules: schemaUnknownRules,\n  toQuotedString: toQuotedString,\n  getPathExpr: getPathExpr,\n  getPath: getPath,\n  getData: getData,\n  unescapeFragment: unescapeFragment,\n  unescapeJsonPointer: unescapeJsonPointer,\n  escapeFragment: escapeFragment,\n  escapeJsonPointer: escapeJsonPointer\n};\n\n\nfunction copy(o, to) {\n  to = to || {};\n  for (var key in o) to[key] = o[key];\n  return to;\n}\n\n\nfunction checkDataType(dataType, data, strictNumbers, negate) {\n  var EQUAL = negate ? ' !== ' : ' === '\n    , AND = negate ? ' || ' : ' && '\n    , OK = negate ? '!' : ''\n    , NOT = negate ? '' : '!';\n  switch (dataType) {\n    case 'null': return data + EQUAL + 'null';\n    case 'array': return OK + 'Array.isArray(' + data + ')';\n    case 'object': return '(' + OK + data + AND +\n                          'typeof ' + data + EQUAL + '\"object\"' + AND +\n                          NOT + 'Array.isArray(' + data + '))';\n    case 'integer': return '(typeof ' + data + EQUAL + '\"number\"' + AND +\n                           NOT + '(' + data + ' % 1)' +\n                           AND + data + EQUAL + data +\n                           (strictNumbers ? (AND + OK + 'isFinite(' + data + ')') : '') + ')';\n    case 'number': return '(typeof ' + data + EQUAL + '\"' + dataType + '\"' +\n                          (strictNumbers ? (AND + OK + 'isFinite(' + data + ')') : '') + ')';\n    default: return 'typeof ' + data + EQUAL + '\"' + dataType + '\"';\n  }\n}\n\n\nfunction checkDataTypes(dataTypes, data, strictNumbers) {\n  switch (dataTypes.length) {\n    case 1: return checkDataType(dataTypes[0], data, strictNumbers, true);\n    default:\n      var code = '';\n      var types = toHash(dataTypes);\n      if (types.array && types.object) {\n        code = types.null ? '(': '(!' + data + ' || ';\n        code += 'typeof ' + data + ' !== \"object\")';\n        delete types.null;\n        delete types.array;\n        delete types.object;\n      }\n      if (types.number) delete types.integer;\n      for (var t in types)\n        code += (code ? ' && ' : '' ) + checkDataType(t, data, strictNumbers, true);\n\n      return code;\n  }\n}\n\n\nvar COERCE_TO_TYPES = toHash([ 'string', 'number', 'integer', 'boolean', 'null' ]);\nfunction coerceToTypes(optionCoerceTypes, dataTypes) {\n  if (Array.isArray(dataTypes)) {\n    var types = [];\n    for (var i=0; i<dataTypes.length; i++) {\n      var t = dataTypes[i];\n      if (COERCE_TO_TYPES[t]) types[types.length] = t;\n      else if (optionCoerceTypes === 'array' && t === 'array') types[types.length] = t;\n    }\n    if (types.length) return types;\n  } else if (COERCE_TO_TYPES[dataTypes]) {\n    return [dataTypes];\n  } else if (optionCoerceTypes === 'array' && dataTypes === 'array') {\n    return ['array'];\n  }\n}\n\n\nfunction toHash(arr) {\n  var hash = {};\n  for (var i=0; i<arr.length; i++) hash[arr[i]] = true;\n  return hash;\n}\n\n\nvar IDENTIFIER = /^[a-z$_][a-z$_0-9]*$/i;\nvar SINGLE_QUOTE = /'|\\\\/g;\nfunction getProperty(key) {\n  return typeof key == 'number'\n          ? '[' + key + ']'\n          : IDENTIFIER.test(key)\n            ? '.' + key\n            : \"['\" + escapeQuotes(key) + \"']\";\n}\n\n\nfunction escapeQuotes(str) {\n  return str.replace(SINGLE_QUOTE, '\\\\$&')\n            .replace(/\\n/g, '\\\\n')\n            .replace(/\\r/g, '\\\\r')\n            .replace(/\\f/g, '\\\\f')\n            .replace(/\\t/g, '\\\\t');\n}\n\n\nfunction varOccurences(str, dataVar) {\n  dataVar += '[^0-9]';\n  var matches = str.match(new RegExp(dataVar, 'g'));\n  return matches ? matches.length : 0;\n}\n\n\nfunction varReplace(str, dataVar, expr) {\n  dataVar += '([^0-9])';\n  expr = expr.replace(/\\$/g, '$$$$');\n  return str.replace(new RegExp(dataVar, 'g'), expr + '$1');\n}\n\n\nfunction schemaHasRules(schema, rules) {\n  if (typeof schema == 'boolean') return !schema;\n  for (var key in schema) if (rules[key]) return true;\n}\n\n\nfunction schemaHasRulesExcept(schema, rules, exceptKeyword) {\n  if (typeof schema == 'boolean') return !schema && exceptKeyword != 'not';\n  for (var key in schema) if (key != exceptKeyword && rules[key]) return true;\n}\n\n\nfunction schemaUnknownRules(schema, rules) {\n  if (typeof schema == 'boolean') return;\n  for (var key in schema) if (!rules[key]) return key;\n}\n\n\nfunction toQuotedString(str) {\n  return '\\'' + escapeQuotes(str) + '\\'';\n}\n\n\nfunction getPathExpr(currentPath, expr, jsonPointers, isNumber) {\n  var path = jsonPointers // false by default\n              ? '\\'/\\' + ' + expr + (isNumber ? '' : '.replace(/~/g, \\'~0\\').replace(/\\\\//g, \\'~1\\')')\n              : (isNumber ? '\\'[\\' + ' + expr + ' + \\']\\'' : '\\'[\\\\\\'\\' + ' + expr + ' + \\'\\\\\\']\\'');\n  return joinPaths(currentPath, path);\n}\n\n\nfunction getPath(currentPath, prop, jsonPointers) {\n  var path = jsonPointers // false by default\n              ? toQuotedString('/' + escapeJsonPointer(prop))\n              : toQuotedString(getProperty(prop));\n  return joinPaths(currentPath, path);\n}\n\n\nvar JSON_POINTER = /^\\/(?:[^~]|~0|~1)*$/;\nvar RELATIVE_JSON_POINTER = /^([0-9]+)(#|\\/(?:[^~]|~0|~1)*)?$/;\nfunction getData($data, lvl, paths) {\n  var up, jsonPointer, data, matches;\n  if ($data === '') return 'rootData';\n  if ($data[0] == '/') {\n    if (!JSON_POINTER.test($data)) throw new Error('Invalid JSON-pointer: ' + $data);\n    jsonPointer = $data;\n    data = 'rootData';\n  } else {\n    matches = $data.match(RELATIVE_JSON_POINTER);\n    if (!matches) throw new Error('Invalid JSON-pointer: ' + $data);\n    up = +matches[1];\n    jsonPointer = matches[2];\n    if (jsonPointer == '#') {\n      if (up >= lvl) throw new Error('Cannot access property/index ' + up + ' levels up, current level is ' + lvl);\n      return paths[lvl - up];\n    }\n\n    if (up > lvl) throw new Error('Cannot access data ' + up + ' levels up, current level is ' + lvl);\n    data = 'data' + ((lvl - up) || '');\n    if (!jsonPointer) return data;\n  }\n\n  var expr = data;\n  var segments = jsonPointer.split('/');\n  for (var i=0; i<segments.length; i++) {\n    var segment = segments[i];\n    if (segment) {\n      data += getProperty(unescapeJsonPointer(segment));\n      expr += ' && ' + data;\n    }\n  }\n  return expr;\n}\n\n\nfunction joinPaths (a, b) {\n  if (a == '\"\"') return b;\n  return (a + ' + ' + b).replace(/([^\\\\])' \\+ '/g, '$1');\n}\n\n\nfunction unescapeFragment(str) {\n  return unescapeJsonPointer(decodeURIComponent(str));\n}\n\n\nfunction escapeFragment(str) {\n  return encodeURIComponent(escapeJsonPointer(str));\n}\n\n\nfunction escapeJsonPointer(str) {\n  return str.replace(/~/g, '~0').replace(/\\//g, '~1');\n}\n\n\nfunction unescapeJsonPointer(str) {\n  return str.replace(/~1/g, '/').replace(/~0/g, '~');\n}\n","'use strict';\n\nvar KEYWORDS = [\n  'multipleOf',\n  'maximum',\n  'exclusiveMaximum',\n  'minimum',\n  'exclusiveMinimum',\n  'maxLength',\n  'minLength',\n  'pattern',\n  'additionalItems',\n  'maxItems',\n  'minItems',\n  'uniqueItems',\n  'maxProperties',\n  'minProperties',\n  'required',\n  'additionalProperties',\n  'enum',\n  'format',\n  'const'\n];\n\nmodule.exports = function (metaSchema, keywordsJsonPointers) {\n  for (var i=0; i<keywordsJsonPointers.length; i++) {\n    metaSchema = JSON.parse(JSON.stringify(metaSchema));\n    var segments = keywordsJsonPointers[i].split('/');\n    var keywords = metaSchema;\n    var j;\n    for (j=1; j<segments.length; j++)\n      keywords = keywords[segments[j]];\n\n    for (j=0; j<KEYWORDS.length; j++) {\n      var key = KEYWORDS[j];\n      var schema = keywords[key];\n      if (schema) {\n        keywords[key] = {\n          anyOf: [\n            schema,\n            { $ref: 'https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#' }\n          ]\n        };\n      }\n    }\n  }\n\n  return metaSchema;\n};\n","'use strict';\n\nvar metaSchema = require('./refs/json-schema-draft-07.json');\n\nmodule.exports = {\n  $id: 'https://github.com/ajv-validator/ajv/blob/master/lib/definition_schema.js',\n  definitions: {\n    simpleTypes: metaSchema.definitions.simpleTypes\n  },\n  type: 'object',\n  dependencies: {\n    schema: ['validate'],\n    $data: ['validate'],\n    statements: ['inline'],\n    valid: {not: {required: ['macro']}}\n  },\n  properties: {\n    type: metaSchema.properties.type,\n    schema: {type: 'boolean'},\n    statements: {type: 'boolean'},\n    dependencies: {\n      type: 'array',\n      items: {type: 'string'}\n    },\n    metaSchema: {type: 'object'},\n    modifying: {type: 'boolean'},\n    valid: {type: 'boolean'},\n    $data: {type: 'boolean'},\n    async: {type: 'boolean'},\n    errors: {\n      anyOf: [\n        {type: 'boolean'},\n        {const: 'full'}\n      ]\n    }\n  }\n};\n","'use strict';\nmodule.exports = function generate__limit(it, $keyword, $ruleType) {\n  var out = ' ';\n  var $lvl = it.level;\n  var $dataLvl = it.dataLevel;\n  var $schema = it.schema[$keyword];\n  var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n  var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n  var $breakOnError = !it.opts.allErrors;\n  var $errorKeyword;\n  var $data = 'data' + ($dataLvl || '');\n  var $isData = it.opts.$data && $schema && $schema.$data,\n    $schemaValue;\n  if ($isData) {\n    out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n    $schemaValue = 'schema' + $lvl;\n  } else {\n    $schemaValue = $schema;\n  }\n  var $isMax = $keyword == 'maximum',\n    $exclusiveKeyword = $isMax ? 'exclusiveMaximum' : 'exclusiveMinimum',\n    $schemaExcl = it.schema[$exclusiveKeyword],\n    $isDataExcl = it.opts.$data && $schemaExcl && $schemaExcl.$data,\n    $op = $isMax ? '<' : '>',\n    $notOp = $isMax ? '>' : '<',\n    $errorKeyword = undefined;\n  if (!($isData || typeof $schema == 'number' || $schema === undefined)) {\n    throw new Error($keyword + ' must be number');\n  }\n  if (!($isDataExcl || $schemaExcl === undefined || typeof $schemaExcl == 'number' || typeof $schemaExcl == 'boolean')) {\n    throw new Error($exclusiveKeyword + ' must be number or boolean');\n  }\n  if ($isDataExcl) {\n    var $schemaValueExcl = it.util.getData($schemaExcl.$data, $dataLvl, it.dataPathArr),\n      $exclusive = 'exclusive' + $lvl,\n      $exclType = 'exclType' + $lvl,\n      $exclIsNumber = 'exclIsNumber' + $lvl,\n      $opExpr = 'op' + $lvl,\n      $opStr = '\\' + ' + $opExpr + ' + \\'';\n    out += ' var schemaExcl' + ($lvl) + ' = ' + ($schemaValueExcl) + '; ';\n    $schemaValueExcl = 'schemaExcl' + $lvl;\n    out += ' var ' + ($exclusive) + '; var ' + ($exclType) + ' = typeof ' + ($schemaValueExcl) + '; if (' + ($exclType) + ' != \\'boolean\\' && ' + ($exclType) + ' != \\'undefined\\' && ' + ($exclType) + ' != \\'number\\') { ';\n    var $errorKeyword = $exclusiveKeyword;\n    var $$outStack = $$outStack || [];\n    $$outStack.push(out);\n    out = ''; /* istanbul ignore else */\n    if (it.createErrors !== false) {\n      out += ' { keyword: \\'' + ($errorKeyword || '_exclusiveLimit') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} ';\n      if (it.opts.messages !== false) {\n        out += ' , message: \\'' + ($exclusiveKeyword) + ' should be boolean\\' ';\n      }\n      if (it.opts.verbose) {\n        out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n      }\n      out += ' } ';\n    } else {\n      out += ' {} ';\n    }\n    var __err = out;\n    out = $$outStack.pop();\n    if (!it.compositeRule && $breakOnError) {\n      /* istanbul ignore if */\n      if (it.async) {\n        out += ' throw new ValidationError([' + (__err) + ']); ';\n      } else {\n        out += ' validate.errors = [' + (__err) + ']; return false; ';\n      }\n    } else {\n      out += ' var err = ' + (__err) + ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n    }\n    out += ' } else if ( ';\n    if ($isData) {\n      out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \\'number\\') || ';\n    }\n    out += ' ' + ($exclType) + ' == \\'number\\' ? ( (' + ($exclusive) + ' = ' + ($schemaValue) + ' === undefined || ' + ($schemaValueExcl) + ' ' + ($op) + '= ' + ($schemaValue) + ') ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaValueExcl) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) : ( (' + ($exclusive) + ' = ' + ($schemaValueExcl) + ' === true) ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaValue) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) || ' + ($data) + ' !== ' + ($data) + ') { var op' + ($lvl) + ' = ' + ($exclusive) + ' ? \\'' + ($op) + '\\' : \\'' + ($op) + '=\\'; ';\n    if ($schema === undefined) {\n      $errorKeyword = $exclusiveKeyword;\n      $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword;\n      $schemaValue = $schemaValueExcl;\n      $isData = $isDataExcl;\n    }\n  } else {\n    var $exclIsNumber = typeof $schemaExcl == 'number',\n      $opStr = $op;\n    if ($exclIsNumber && $isData) {\n      var $opExpr = '\\'' + $opStr + '\\'';\n      out += ' if ( ';\n      if ($isData) {\n        out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \\'number\\') || ';\n      }\n      out += ' ( ' + ($schemaValue) + ' === undefined || ' + ($schemaExcl) + ' ' + ($op) + '= ' + ($schemaValue) + ' ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaExcl) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) || ' + ($data) + ' !== ' + ($data) + ') { ';\n    } else {\n      if ($exclIsNumber && $schema === undefined) {\n        $exclusive = true;\n        $errorKeyword = $exclusiveKeyword;\n        $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword;\n        $schemaValue = $schemaExcl;\n        $notOp += '=';\n      } else {\n        if ($exclIsNumber) $schemaValue = Math[$isMax ? 'min' : 'max']($schemaExcl, $schema);\n        if ($schemaExcl === ($exclIsNumber ? $schemaValue : true)) {\n          $exclusive = true;\n          $errorKeyword = $exclusiveKeyword;\n          $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword;\n          $notOp += '=';\n        } else {\n          $exclusive = false;\n          $opStr += '=';\n        }\n      }\n      var $opExpr = '\\'' + $opStr + '\\'';\n      out += ' if ( ';\n      if ($isData) {\n        out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \\'number\\') || ';\n      }\n      out += ' ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' || ' + ($data) + ' !== ' + ($data) + ') { ';\n    }\n  }\n  $errorKeyword = $errorKeyword || $keyword;\n  var $$outStack = $$outStack || [];\n  $$outStack.push(out);\n  out = ''; /* istanbul ignore else */\n  if (it.createErrors !== false) {\n    out += ' { keyword: \\'' + ($errorKeyword || '_limit') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { comparison: ' + ($opExpr) + ', limit: ' + ($schemaValue) + ', exclusive: ' + ($exclusive) + ' } ';\n    if (it.opts.messages !== false) {\n      out += ' , message: \\'should be ' + ($opStr) + ' ';\n      if ($isData) {\n        out += '\\' + ' + ($schemaValue);\n      } else {\n        out += '' + ($schemaValue) + '\\'';\n      }\n    }\n    if (it.opts.verbose) {\n      out += ' , schema:  ';\n      if ($isData) {\n        out += 'validate.schema' + ($schemaPath);\n      } else {\n        out += '' + ($schema);\n      }\n      out += '         , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n    }\n    out += ' } ';\n  } else {\n    out += ' {} ';\n  }\n  var __err = out;\n  out = $$outStack.pop();\n  if (!it.compositeRule && $breakOnError) {\n    /* istanbul ignore if */\n    if (it.async) {\n      out += ' throw new ValidationError([' + (__err) + ']); ';\n    } else {\n      out += ' validate.errors = [' + (__err) + ']; return false; ';\n    }\n  } else {\n    out += ' var err = ' + (__err) + ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n  }\n  out += ' } ';\n  if ($breakOnError) {\n    out += ' else { ';\n  }\n  return out;\n}\n","'use strict';\nmodule.exports = function generate__limitItems(it, $keyword, $ruleType) {\n  var out = ' ';\n  var $lvl = it.level;\n  var $dataLvl = it.dataLevel;\n  var $schema = it.schema[$keyword];\n  var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n  var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n  var $breakOnError = !it.opts.allErrors;\n  var $errorKeyword;\n  var $data = 'data' + ($dataLvl || '');\n  var $isData = it.opts.$data && $schema && $schema.$data,\n    $schemaValue;\n  if ($isData) {\n    out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n    $schemaValue = 'schema' + $lvl;\n  } else {\n    $schemaValue = $schema;\n  }\n  if (!($isData || typeof $schema == 'number')) {\n    throw new Error($keyword + ' must be number');\n  }\n  var $op = $keyword == 'maxItems' ? '>' : '<';\n  out += 'if ( ';\n  if ($isData) {\n    out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \\'number\\') || ';\n  }\n  out += ' ' + ($data) + '.length ' + ($op) + ' ' + ($schemaValue) + ') { ';\n  var $errorKeyword = $keyword;\n  var $$outStack = $$outStack || [];\n  $$outStack.push(out);\n  out = ''; /* istanbul ignore else */\n  if (it.createErrors !== false) {\n    out += ' { keyword: \\'' + ($errorKeyword || '_limitItems') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schemaValue) + ' } ';\n    if (it.opts.messages !== false) {\n      out += ' , message: \\'should NOT have ';\n      if ($keyword == 'maxItems') {\n        out += 'more';\n      } else {\n        out += 'fewer';\n      }\n      out += ' than ';\n      if ($isData) {\n        out += '\\' + ' + ($schemaValue) + ' + \\'';\n      } else {\n        out += '' + ($schema);\n      }\n      out += ' items\\' ';\n    }\n    if (it.opts.verbose) {\n      out += ' , schema:  ';\n      if ($isData) {\n        out += 'validate.schema' + ($schemaPath);\n      } else {\n        out += '' + ($schema);\n      }\n      out += '         , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n    }\n    out += ' } ';\n  } else {\n    out += ' {} ';\n  }\n  var __err = out;\n  out = $$outStack.pop();\n  if (!it.compositeRule && $breakOnError) {\n    /* istanbul ignore if */\n    if (it.async) {\n      out += ' throw new ValidationError([' + (__err) + ']); ';\n    } else {\n      out += ' validate.errors = [' + (__err) + ']; return false; ';\n    }\n  } else {\n    out += ' var err = ' + (__err) + ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n  }\n  out += '} ';\n  if ($breakOnError) {\n    out += ' else { ';\n  }\n  return out;\n}\n","'use strict';\nmodule.exports = function generate__limitLength(it, $keyword, $ruleType) {\n  var out = ' ';\n  var $lvl = it.level;\n  var $dataLvl = it.dataLevel;\n  var $schema = it.schema[$keyword];\n  var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n  var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n  var $breakOnError = !it.opts.allErrors;\n  var $errorKeyword;\n  var $data = 'data' + ($dataLvl || '');\n  var $isData = it.opts.$data && $schema && $schema.$data,\n    $schemaValue;\n  if ($isData) {\n    out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n    $schemaValue = 'schema' + $lvl;\n  } else {\n    $schemaValue = $schema;\n  }\n  if (!($isData || typeof $schema == 'number')) {\n    throw new Error($keyword + ' must be number');\n  }\n  var $op = $keyword == 'maxLength' ? '>' : '<';\n  out += 'if ( ';\n  if ($isData) {\n    out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \\'number\\') || ';\n  }\n  if (it.opts.unicode === false) {\n    out += ' ' + ($data) + '.length ';\n  } else {\n    out += ' ucs2length(' + ($data) + ') ';\n  }\n  out += ' ' + ($op) + ' ' + ($schemaValue) + ') { ';\n  var $errorKeyword = $keyword;\n  var $$outStack = $$outStack || [];\n  $$outStack.push(out);\n  out = ''; /* istanbul ignore else */\n  if (it.createErrors !== false) {\n    out += ' { keyword: \\'' + ($errorKeyword || '_limitLength') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schemaValue) + ' } ';\n    if (it.opts.messages !== false) {\n      out += ' , message: \\'should NOT be ';\n      if ($keyword == 'maxLength') {\n        out += 'longer';\n      } else {\n        out += 'shorter';\n      }\n      out += ' than ';\n      if ($isData) {\n        out += '\\' + ' + ($schemaValue) + ' + \\'';\n      } else {\n        out += '' + ($schema);\n      }\n      out += ' characters\\' ';\n    }\n    if (it.opts.verbose) {\n      out += ' , schema:  ';\n      if ($isData) {\n        out += 'validate.schema' + ($schemaPath);\n      } else {\n        out += '' + ($schema);\n      }\n      out += '         , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n    }\n    out += ' } ';\n  } else {\n    out += ' {} ';\n  }\n  var __err = out;\n  out = $$outStack.pop();\n  if (!it.compositeRule && $breakOnError) {\n    /* istanbul ignore if */\n    if (it.async) {\n      out += ' throw new ValidationError([' + (__err) + ']); ';\n    } else {\n      out += ' validate.errors = [' + (__err) + ']; return false; ';\n    }\n  } else {\n    out += ' var err = ' + (__err) + ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n  }\n  out += '} ';\n  if ($breakOnError) {\n    out += ' else { ';\n  }\n  return out;\n}\n","'use strict';\nmodule.exports = function generate__limitProperties(it, $keyword, $ruleType) {\n  var out = ' ';\n  var $lvl = it.level;\n  var $dataLvl = it.dataLevel;\n  var $schema = it.schema[$keyword];\n  var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n  var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n  var $breakOnError = !it.opts.allErrors;\n  var $errorKeyword;\n  var $data = 'data' + ($dataLvl || '');\n  var $isData = it.opts.$data && $schema && $schema.$data,\n    $schemaValue;\n  if ($isData) {\n    out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n    $schemaValue = 'schema' + $lvl;\n  } else {\n    $schemaValue = $schema;\n  }\n  if (!($isData || typeof $schema == 'number')) {\n    throw new Error($keyword + ' must be number');\n  }\n  var $op = $keyword == 'maxProperties' ? '>' : '<';\n  out += 'if ( ';\n  if ($isData) {\n    out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \\'number\\') || ';\n  }\n  out += ' Object.keys(' + ($data) + ').length ' + ($op) + ' ' + ($schemaValue) + ') { ';\n  var $errorKeyword = $keyword;\n  var $$outStack = $$outStack || [];\n  $$outStack.push(out);\n  out = ''; /* istanbul ignore else */\n  if (it.createErrors !== false) {\n    out += ' { keyword: \\'' + ($errorKeyword || '_limitProperties') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schemaValue) + ' } ';\n    if (it.opts.messages !== false) {\n      out += ' , message: \\'should NOT have ';\n      if ($keyword == 'maxProperties') {\n        out += 'more';\n      } else {\n        out += 'fewer';\n      }\n      out += ' than ';\n      if ($isData) {\n        out += '\\' + ' + ($schemaValue) + ' + \\'';\n      } else {\n        out += '' + ($schema);\n      }\n      out += ' properties\\' ';\n    }\n    if (it.opts.verbose) {\n      out += ' , schema:  ';\n      if ($isData) {\n        out += 'validate.schema' + ($schemaPath);\n      } else {\n        out += '' + ($schema);\n      }\n      out += '         , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n    }\n    out += ' } ';\n  } else {\n    out += ' {} ';\n  }\n  var __err = out;\n  out = $$outStack.pop();\n  if (!it.compositeRule && $breakOnError) {\n    /* istanbul ignore if */\n    if (it.async) {\n      out += ' throw new ValidationError([' + (__err) + ']); ';\n    } else {\n      out += ' validate.errors = [' + (__err) + ']; return false; ';\n    }\n  } else {\n    out += ' var err = ' + (__err) + ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n  }\n  out += '} ';\n  if ($breakOnError) {\n    out += ' else { ';\n  }\n  return out;\n}\n","'use strict';\nmodule.exports = function generate_allOf(it, $keyword, $ruleType) {\n  var out = ' ';\n  var $schema = it.schema[$keyword];\n  var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n  var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n  var $breakOnError = !it.opts.allErrors;\n  var $it = it.util.copy(it);\n  var $closingBraces = '';\n  $it.level++;\n  var $nextValid = 'valid' + $it.level;\n  var $currentBaseId = $it.baseId,\n    $allSchemasEmpty = true;\n  var arr1 = $schema;\n  if (arr1) {\n    var $sch, $i = -1,\n      l1 = arr1.length - 1;\n    while ($i < l1) {\n      $sch = arr1[$i += 1];\n      if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) {\n        $allSchemasEmpty = false;\n        $it.schema = $sch;\n        $it.schemaPath = $schemaPath + '[' + $i + ']';\n        $it.errSchemaPath = $errSchemaPath + '/' + $i;\n        out += '  ' + (it.validate($it)) + ' ';\n        $it.baseId = $currentBaseId;\n        if ($breakOnError) {\n          out += ' if (' + ($nextValid) + ') { ';\n          $closingBraces += '}';\n        }\n      }\n    }\n  }\n  if ($breakOnError) {\n    if ($allSchemasEmpty) {\n      out += ' if (true) { ';\n    } else {\n      out += ' ' + ($closingBraces.slice(0, -1)) + ' ';\n    }\n  }\n  return out;\n}\n","'use strict';\nmodule.exports = function generate_anyOf(it, $keyword, $ruleType) {\n  var out = ' ';\n  var $lvl = it.level;\n  var $dataLvl = it.dataLevel;\n  var $schema = it.schema[$keyword];\n  var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n  var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n  var $breakOnError = !it.opts.allErrors;\n  var $data = 'data' + ($dataLvl || '');\n  var $valid = 'valid' + $lvl;\n  var $errs = 'errs__' + $lvl;\n  var $it = it.util.copy(it);\n  var $closingBraces = '';\n  $it.level++;\n  var $nextValid = 'valid' + $it.level;\n  var $noEmptySchema = $schema.every(function($sch) {\n    return (it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all));\n  });\n  if ($noEmptySchema) {\n    var $currentBaseId = $it.baseId;\n    out += ' var ' + ($errs) + ' = errors; var ' + ($valid) + ' = false;  ';\n    var $wasComposite = it.compositeRule;\n    it.compositeRule = $it.compositeRule = true;\n    var arr1 = $schema;\n    if (arr1) {\n      var $sch, $i = -1,\n        l1 = arr1.length - 1;\n      while ($i < l1) {\n        $sch = arr1[$i += 1];\n        $it.schema = $sch;\n        $it.schemaPath = $schemaPath + '[' + $i + ']';\n        $it.errSchemaPath = $errSchemaPath + '/' + $i;\n        out += '  ' + (it.validate($it)) + ' ';\n        $it.baseId = $currentBaseId;\n        out += ' ' + ($valid) + ' = ' + ($valid) + ' || ' + ($nextValid) + '; if (!' + ($valid) + ') { ';\n        $closingBraces += '}';\n      }\n    }\n    it.compositeRule = $it.compositeRule = $wasComposite;\n    out += ' ' + ($closingBraces) + ' if (!' + ($valid) + ') {   var err =   '; /* istanbul ignore else */\n    if (it.createErrors !== false) {\n      out += ' { keyword: \\'' + ('anyOf') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} ';\n      if (it.opts.messages !== false) {\n        out += ' , message: \\'should match some schema in anyOf\\' ';\n      }\n      if (it.opts.verbose) {\n        out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n      }\n      out += ' } ';\n    } else {\n      out += ' {} ';\n    }\n    out += ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n    if (!it.compositeRule && $breakOnError) {\n      /* istanbul ignore if */\n      if (it.async) {\n        out += ' throw new ValidationError(vErrors); ';\n      } else {\n        out += ' validate.errors = vErrors; return false; ';\n      }\n    }\n    out += ' } else {  errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } ';\n    if (it.opts.allErrors) {\n      out += ' } ';\n    }\n  } else {\n    if ($breakOnError) {\n      out += ' if (true) { ';\n    }\n  }\n  return out;\n}\n","'use strict';\nmodule.exports = function generate_comment(it, $keyword, $ruleType) {\n  var out = ' ';\n  var $schema = it.schema[$keyword];\n  var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n  var $breakOnError = !it.opts.allErrors;\n  var $comment = it.util.toQuotedString($schema);\n  if (it.opts.$comment === true) {\n    out += ' console.log(' + ($comment) + ');';\n  } else if (typeof it.opts.$comment == 'function') {\n    out += ' self._opts.$comment(' + ($comment) + ', ' + (it.util.toQuotedString($errSchemaPath)) + ', validate.root.schema);';\n  }\n  return out;\n}\n","'use strict';\nmodule.exports = function generate_const(it, $keyword, $ruleType) {\n  var out = ' ';\n  var $lvl = it.level;\n  var $dataLvl = it.dataLevel;\n  var $schema = it.schema[$keyword];\n  var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n  var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n  var $breakOnError = !it.opts.allErrors;\n  var $data = 'data' + ($dataLvl || '');\n  var $valid = 'valid' + $lvl;\n  var $isData = it.opts.$data && $schema && $schema.$data,\n    $schemaValue;\n  if ($isData) {\n    out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n    $schemaValue = 'schema' + $lvl;\n  } else {\n    $schemaValue = $schema;\n  }\n  if (!$isData) {\n    out += ' var schema' + ($lvl) + ' = validate.schema' + ($schemaPath) + ';';\n  }\n  out += 'var ' + ($valid) + ' = equal(' + ($data) + ', schema' + ($lvl) + '); if (!' + ($valid) + ') {   ';\n  var $$outStack = $$outStack || [];\n  $$outStack.push(out);\n  out = ''; /* istanbul ignore else */\n  if (it.createErrors !== false) {\n    out += ' { keyword: \\'' + ('const') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { allowedValue: schema' + ($lvl) + ' } ';\n    if (it.opts.messages !== false) {\n      out += ' , message: \\'should be equal to constant\\' ';\n    }\n    if (it.opts.verbose) {\n      out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n    }\n    out += ' } ';\n  } else {\n    out += ' {} ';\n  }\n  var __err = out;\n  out = $$outStack.pop();\n  if (!it.compositeRule && $breakOnError) {\n    /* istanbul ignore if */\n    if (it.async) {\n      out += ' throw new ValidationError([' + (__err) + ']); ';\n    } else {\n      out += ' validate.errors = [' + (__err) + ']; return false; ';\n    }\n  } else {\n    out += ' var err = ' + (__err) + ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n  }\n  out += ' }';\n  if ($breakOnError) {\n    out += ' else { ';\n  }\n  return out;\n}\n","'use strict';\nmodule.exports = function generate_contains(it, $keyword, $ruleType) {\n  var out = ' ';\n  var $lvl = it.level;\n  var $dataLvl = it.dataLevel;\n  var $schema = it.schema[$keyword];\n  var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n  var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n  var $breakOnError = !it.opts.allErrors;\n  var $data = 'data' + ($dataLvl || '');\n  var $valid = 'valid' + $lvl;\n  var $errs = 'errs__' + $lvl;\n  var $it = it.util.copy(it);\n  var $closingBraces = '';\n  $it.level++;\n  var $nextValid = 'valid' + $it.level;\n  var $idx = 'i' + $lvl,\n    $dataNxt = $it.dataLevel = it.dataLevel + 1,\n    $nextData = 'data' + $dataNxt,\n    $currentBaseId = it.baseId,\n    $nonEmptySchema = (it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all));\n  out += 'var ' + ($errs) + ' = errors;var ' + ($valid) + ';';\n  if ($nonEmptySchema) {\n    var $wasComposite = it.compositeRule;\n    it.compositeRule = $it.compositeRule = true;\n    $it.schema = $schema;\n    $it.schemaPath = $schemaPath;\n    $it.errSchemaPath = $errSchemaPath;\n    out += ' var ' + ($nextValid) + ' = false; for (var ' + ($idx) + ' = 0; ' + ($idx) + ' < ' + ($data) + '.length; ' + ($idx) + '++) { ';\n    $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true);\n    var $passData = $data + '[' + $idx + ']';\n    $it.dataPathArr[$dataNxt] = $idx;\n    var $code = it.validate($it);\n    $it.baseId = $currentBaseId;\n    if (it.util.varOccurences($code, $nextData) < 2) {\n      out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' ';\n    } else {\n      out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' ';\n    }\n    out += ' if (' + ($nextValid) + ') break; }  ';\n    it.compositeRule = $it.compositeRule = $wasComposite;\n    out += ' ' + ($closingBraces) + ' if (!' + ($nextValid) + ') {';\n  } else {\n    out += ' if (' + ($data) + '.length == 0) {';\n  }\n  var $$outStack = $$outStack || [];\n  $$outStack.push(out);\n  out = ''; /* istanbul ignore else */\n  if (it.createErrors !== false) {\n    out += ' { keyword: \\'' + ('contains') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} ';\n    if (it.opts.messages !== false) {\n      out += ' , message: \\'should contain a valid item\\' ';\n    }\n    if (it.opts.verbose) {\n      out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n    }\n    out += ' } ';\n  } else {\n    out += ' {} ';\n  }\n  var __err = out;\n  out = $$outStack.pop();\n  if (!it.compositeRule && $breakOnError) {\n    /* istanbul ignore if */\n    if (it.async) {\n      out += ' throw new ValidationError([' + (__err) + ']); ';\n    } else {\n      out += ' validate.errors = [' + (__err) + ']; return false; ';\n    }\n  } else {\n    out += ' var err = ' + (__err) + ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n  }\n  out += ' } else { ';\n  if ($nonEmptySchema) {\n    out += '  errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } ';\n  }\n  if (it.opts.allErrors) {\n    out += ' } ';\n  }\n  return out;\n}\n","'use strict';\nmodule.exports = function generate_custom(it, $keyword, $ruleType) {\n  var out = ' ';\n  var $lvl = it.level;\n  var $dataLvl = it.dataLevel;\n  var $schema = it.schema[$keyword];\n  var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n  var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n  var $breakOnError = !it.opts.allErrors;\n  var $errorKeyword;\n  var $data = 'data' + ($dataLvl || '');\n  var $valid = 'valid' + $lvl;\n  var $errs = 'errs__' + $lvl;\n  var $isData = it.opts.$data && $schema && $schema.$data,\n    $schemaValue;\n  if ($isData) {\n    out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n    $schemaValue = 'schema' + $lvl;\n  } else {\n    $schemaValue = $schema;\n  }\n  var $rule = this,\n    $definition = 'definition' + $lvl,\n    $rDef = $rule.definition,\n    $closingBraces = '';\n  var $compile, $inline, $macro, $ruleValidate, $validateCode;\n  if ($isData && $rDef.$data) {\n    $validateCode = 'keywordValidate' + $lvl;\n    var $validateSchema = $rDef.validateSchema;\n    out += ' var ' + ($definition) + ' = RULES.custom[\\'' + ($keyword) + '\\'].definition; var ' + ($validateCode) + ' = ' + ($definition) + '.validate;';\n  } else {\n    $ruleValidate = it.useCustomRule($rule, $schema, it.schema, it);\n    if (!$ruleValidate) return;\n    $schemaValue = 'validate.schema' + $schemaPath;\n    $validateCode = $ruleValidate.code;\n    $compile = $rDef.compile;\n    $inline = $rDef.inline;\n    $macro = $rDef.macro;\n  }\n  var $ruleErrs = $validateCode + '.errors',\n    $i = 'i' + $lvl,\n    $ruleErr = 'ruleErr' + $lvl,\n    $asyncKeyword = $rDef.async;\n  if ($asyncKeyword && !it.async) throw new Error('async keyword in sync schema');\n  if (!($inline || $macro)) {\n    out += '' + ($ruleErrs) + ' = null;';\n  }\n  out += 'var ' + ($errs) + ' = errors;var ' + ($valid) + ';';\n  if ($isData && $rDef.$data) {\n    $closingBraces += '}';\n    out += ' if (' + ($schemaValue) + ' === undefined) { ' + ($valid) + ' = true; } else { ';\n    if ($validateSchema) {\n      $closingBraces += '}';\n      out += ' ' + ($valid) + ' = ' + ($definition) + '.validateSchema(' + ($schemaValue) + '); if (' + ($valid) + ') { ';\n    }\n  }\n  if ($inline) {\n    if ($rDef.statements) {\n      out += ' ' + ($ruleValidate.validate) + ' ';\n    } else {\n      out += ' ' + ($valid) + ' = ' + ($ruleValidate.validate) + '; ';\n    }\n  } else if ($macro) {\n    var $it = it.util.copy(it);\n    var $closingBraces = '';\n    $it.level++;\n    var $nextValid = 'valid' + $it.level;\n    $it.schema = $ruleValidate.validate;\n    $it.schemaPath = '';\n    var $wasComposite = it.compositeRule;\n    it.compositeRule = $it.compositeRule = true;\n    var $code = it.validate($it).replace(/validate\\.schema/g, $validateCode);\n    it.compositeRule = $it.compositeRule = $wasComposite;\n    out += ' ' + ($code);\n  } else {\n    var $$outStack = $$outStack || [];\n    $$outStack.push(out);\n    out = '';\n    out += '  ' + ($validateCode) + '.call( ';\n    if (it.opts.passContext) {\n      out += 'this';\n    } else {\n      out += 'self';\n    }\n    if ($compile || $rDef.schema === false) {\n      out += ' , ' + ($data) + ' ';\n    } else {\n      out += ' , ' + ($schemaValue) + ' , ' + ($data) + ' , validate.schema' + (it.schemaPath) + ' ';\n    }\n    out += ' , (dataPath || \\'\\')';\n    if (it.errorPath != '\"\"') {\n      out += ' + ' + (it.errorPath);\n    }\n    var $parentData = $dataLvl ? 'data' + (($dataLvl - 1) || '') : 'parentData',\n      $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : 'parentDataProperty';\n    out += ' , ' + ($parentData) + ' , ' + ($parentDataProperty) + ' , rootData )  ';\n    var def_callRuleValidate = out;\n    out = $$outStack.pop();\n    if ($rDef.errors === false) {\n      out += ' ' + ($valid) + ' = ';\n      if ($asyncKeyword) {\n        out += 'await ';\n      }\n      out += '' + (def_callRuleValidate) + '; ';\n    } else {\n      if ($asyncKeyword) {\n        $ruleErrs = 'customErrors' + $lvl;\n        out += ' var ' + ($ruleErrs) + ' = null; try { ' + ($valid) + ' = await ' + (def_callRuleValidate) + '; } catch (e) { ' + ($valid) + ' = false; if (e instanceof ValidationError) ' + ($ruleErrs) + ' = e.errors; else throw e; } ';\n      } else {\n        out += ' ' + ($ruleErrs) + ' = null; ' + ($valid) + ' = ' + (def_callRuleValidate) + '; ';\n      }\n    }\n  }\n  if ($rDef.modifying) {\n    out += ' if (' + ($parentData) + ') ' + ($data) + ' = ' + ($parentData) + '[' + ($parentDataProperty) + '];';\n  }\n  out += '' + ($closingBraces);\n  if ($rDef.valid) {\n    if ($breakOnError) {\n      out += ' if (true) { ';\n    }\n  } else {\n    out += ' if ( ';\n    if ($rDef.valid === undefined) {\n      out += ' !';\n      if ($macro) {\n        out += '' + ($nextValid);\n      } else {\n        out += '' + ($valid);\n      }\n    } else {\n      out += ' ' + (!$rDef.valid) + ' ';\n    }\n    out += ') { ';\n    $errorKeyword = $rule.keyword;\n    var $$outStack = $$outStack || [];\n    $$outStack.push(out);\n    out = '';\n    var $$outStack = $$outStack || [];\n    $$outStack.push(out);\n    out = ''; /* istanbul ignore else */\n    if (it.createErrors !== false) {\n      out += ' { keyword: \\'' + ($errorKeyword || 'custom') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { keyword: \\'' + ($rule.keyword) + '\\' } ';\n      if (it.opts.messages !== false) {\n        out += ' , message: \\'should pass \"' + ($rule.keyword) + '\" keyword validation\\' ';\n      }\n      if (it.opts.verbose) {\n        out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n      }\n      out += ' } ';\n    } else {\n      out += ' {} ';\n    }\n    var __err = out;\n    out = $$outStack.pop();\n    if (!it.compositeRule && $breakOnError) {\n      /* istanbul ignore if */\n      if (it.async) {\n        out += ' throw new ValidationError([' + (__err) + ']); ';\n      } else {\n        out += ' validate.errors = [' + (__err) + ']; return false; ';\n      }\n    } else {\n      out += ' var err = ' + (__err) + ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n    }\n    var def_customError = out;\n    out = $$outStack.pop();\n    if ($inline) {\n      if ($rDef.errors) {\n        if ($rDef.errors != 'full') {\n          out += '  for (var ' + ($i) + '=' + ($errs) + '; ' + ($i) + '<errors; ' + ($i) + '++) { var ' + ($ruleErr) + ' = vErrors[' + ($i) + ']; if (' + ($ruleErr) + '.dataPath === undefined) ' + ($ruleErr) + '.dataPath = (dataPath || \\'\\') + ' + (it.errorPath) + '; if (' + ($ruleErr) + '.schemaPath === undefined) { ' + ($ruleErr) + '.schemaPath = \"' + ($errSchemaPath) + '\"; } ';\n          if (it.opts.verbose) {\n            out += ' ' + ($ruleErr) + '.schema = ' + ($schemaValue) + '; ' + ($ruleErr) + '.data = ' + ($data) + '; ';\n          }\n          out += ' } ';\n        }\n      } else {\n        if ($rDef.errors === false) {\n          out += ' ' + (def_customError) + ' ';\n        } else {\n          out += ' if (' + ($errs) + ' == errors) { ' + (def_customError) + ' } else {  for (var ' + ($i) + '=' + ($errs) + '; ' + ($i) + '<errors; ' + ($i) + '++) { var ' + ($ruleErr) + ' = vErrors[' + ($i) + ']; if (' + ($ruleErr) + '.dataPath === undefined) ' + ($ruleErr) + '.dataPath = (dataPath || \\'\\') + ' + (it.errorPath) + '; if (' + ($ruleErr) + '.schemaPath === undefined) { ' + ($ruleErr) + '.schemaPath = \"' + ($errSchemaPath) + '\"; } ';\n          if (it.opts.verbose) {\n            out += ' ' + ($ruleErr) + '.schema = ' + ($schemaValue) + '; ' + ($ruleErr) + '.data = ' + ($data) + '; ';\n          }\n          out += ' } } ';\n        }\n      }\n    } else if ($macro) {\n      out += '   var err =   '; /* istanbul ignore else */\n      if (it.createErrors !== false) {\n        out += ' { keyword: \\'' + ($errorKeyword || 'custom') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { keyword: \\'' + ($rule.keyword) + '\\' } ';\n        if (it.opts.messages !== false) {\n          out += ' , message: \\'should pass \"' + ($rule.keyword) + '\" keyword validation\\' ';\n        }\n        if (it.opts.verbose) {\n          out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n        }\n        out += ' } ';\n      } else {\n        out += ' {} ';\n      }\n      out += ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n      if (!it.compositeRule && $breakOnError) {\n        /* istanbul ignore if */\n        if (it.async) {\n          out += ' throw new ValidationError(vErrors); ';\n        } else {\n          out += ' validate.errors = vErrors; return false; ';\n        }\n      }\n    } else {\n      if ($rDef.errors === false) {\n        out += ' ' + (def_customError) + ' ';\n      } else {\n        out += ' if (Array.isArray(' + ($ruleErrs) + ')) { if (vErrors === null) vErrors = ' + ($ruleErrs) + '; else vErrors = vErrors.concat(' + ($ruleErrs) + '); errors = vErrors.length;  for (var ' + ($i) + '=' + ($errs) + '; ' + ($i) + '<errors; ' + ($i) + '++) { var ' + ($ruleErr) + ' = vErrors[' + ($i) + ']; if (' + ($ruleErr) + '.dataPath === undefined) ' + ($ruleErr) + '.dataPath = (dataPath || \\'\\') + ' + (it.errorPath) + ';  ' + ($ruleErr) + '.schemaPath = \"' + ($errSchemaPath) + '\";  ';\n        if (it.opts.verbose) {\n          out += ' ' + ($ruleErr) + '.schema = ' + ($schemaValue) + '; ' + ($ruleErr) + '.data = ' + ($data) + '; ';\n        }\n        out += ' } } else { ' + (def_customError) + ' } ';\n      }\n    }\n    out += ' } ';\n    if ($breakOnError) {\n      out += ' else { ';\n    }\n  }\n  return out;\n}\n","'use strict';\nmodule.exports = function generate_dependencies(it, $keyword, $ruleType) {\n  var out = ' ';\n  var $lvl = it.level;\n  var $dataLvl = it.dataLevel;\n  var $schema = it.schema[$keyword];\n  var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n  var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n  var $breakOnError = !it.opts.allErrors;\n  var $data = 'data' + ($dataLvl || '');\n  var $errs = 'errs__' + $lvl;\n  var $it = it.util.copy(it);\n  var $closingBraces = '';\n  $it.level++;\n  var $nextValid = 'valid' + $it.level;\n  var $schemaDeps = {},\n    $propertyDeps = {},\n    $ownProperties = it.opts.ownProperties;\n  for ($property in $schema) {\n    if ($property == '__proto__') continue;\n    var $sch = $schema[$property];\n    var $deps = Array.isArray($sch) ? $propertyDeps : $schemaDeps;\n    $deps[$property] = $sch;\n  }\n  out += 'var ' + ($errs) + ' = errors;';\n  var $currentErrorPath = it.errorPath;\n  out += 'var missing' + ($lvl) + ';';\n  for (var $property in $propertyDeps) {\n    $deps = $propertyDeps[$property];\n    if ($deps.length) {\n      out += ' if ( ' + ($data) + (it.util.getProperty($property)) + ' !== undefined ';\n      if ($ownProperties) {\n        out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', \\'' + (it.util.escapeQuotes($property)) + '\\') ';\n      }\n      if ($breakOnError) {\n        out += ' && ( ';\n        var arr1 = $deps;\n        if (arr1) {\n          var $propertyKey, $i = -1,\n            l1 = arr1.length - 1;\n          while ($i < l1) {\n            $propertyKey = arr1[$i += 1];\n            if ($i) {\n              out += ' || ';\n            }\n            var $prop = it.util.getProperty($propertyKey),\n              $useData = $data + $prop;\n            out += ' ( ( ' + ($useData) + ' === undefined ';\n            if ($ownProperties) {\n              out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \\'' + (it.util.escapeQuotes($propertyKey)) + '\\') ';\n            }\n            out += ') && (missing' + ($lvl) + ' = ' + (it.util.toQuotedString(it.opts.jsonPointers ? $propertyKey : $prop)) + ') ) ';\n          }\n        }\n        out += ')) {  ';\n        var $propertyPath = 'missing' + $lvl,\n          $missingProperty = '\\' + ' + $propertyPath + ' + \\'';\n        if (it.opts._errorDataPathProperty) {\n          it.errorPath = it.opts.jsonPointers ? it.util.getPathExpr($currentErrorPath, $propertyPath, true) : $currentErrorPath + ' + ' + $propertyPath;\n        }\n        var $$outStack = $$outStack || [];\n        $$outStack.push(out);\n        out = ''; /* istanbul ignore else */\n        if (it.createErrors !== false) {\n          out += ' { keyword: \\'' + ('dependencies') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { property: \\'' + (it.util.escapeQuotes($property)) + '\\', missingProperty: \\'' + ($missingProperty) + '\\', depsCount: ' + ($deps.length) + ', deps: \\'' + (it.util.escapeQuotes($deps.length == 1 ? $deps[0] : $deps.join(\", \"))) + '\\' } ';\n          if (it.opts.messages !== false) {\n            out += ' , message: \\'should have ';\n            if ($deps.length == 1) {\n              out += 'property ' + (it.util.escapeQuotes($deps[0]));\n            } else {\n              out += 'properties ' + (it.util.escapeQuotes($deps.join(\", \")));\n            }\n            out += ' when property ' + (it.util.escapeQuotes($property)) + ' is present\\' ';\n          }\n          if (it.opts.verbose) {\n            out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n          }\n          out += ' } ';\n        } else {\n          out += ' {} ';\n        }\n        var __err = out;\n        out = $$outStack.pop();\n        if (!it.compositeRule && $breakOnError) {\n          /* istanbul ignore if */\n          if (it.async) {\n            out += ' throw new ValidationError([' + (__err) + ']); ';\n          } else {\n            out += ' validate.errors = [' + (__err) + ']; return false; ';\n          }\n        } else {\n          out += ' var err = ' + (__err) + ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n        }\n      } else {\n        out += ' ) { ';\n        var arr2 = $deps;\n        if (arr2) {\n          var $propertyKey, i2 = -1,\n            l2 = arr2.length - 1;\n          while (i2 < l2) {\n            $propertyKey = arr2[i2 += 1];\n            var $prop = it.util.getProperty($propertyKey),\n              $missingProperty = it.util.escapeQuotes($propertyKey),\n              $useData = $data + $prop;\n            if (it.opts._errorDataPathProperty) {\n              it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers);\n            }\n            out += ' if ( ' + ($useData) + ' === undefined ';\n            if ($ownProperties) {\n              out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \\'' + (it.util.escapeQuotes($propertyKey)) + '\\') ';\n            }\n            out += ') {  var err =   '; /* istanbul ignore else */\n            if (it.createErrors !== false) {\n              out += ' { keyword: \\'' + ('dependencies') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { property: \\'' + (it.util.escapeQuotes($property)) + '\\', missingProperty: \\'' + ($missingProperty) + '\\', depsCount: ' + ($deps.length) + ', deps: \\'' + (it.util.escapeQuotes($deps.length == 1 ? $deps[0] : $deps.join(\", \"))) + '\\' } ';\n              if (it.opts.messages !== false) {\n                out += ' , message: \\'should have ';\n                if ($deps.length == 1) {\n                  out += 'property ' + (it.util.escapeQuotes($deps[0]));\n                } else {\n                  out += 'properties ' + (it.util.escapeQuotes($deps.join(\", \")));\n                }\n                out += ' when property ' + (it.util.escapeQuotes($property)) + ' is present\\' ';\n              }\n              if (it.opts.verbose) {\n                out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n              }\n              out += ' } ';\n            } else {\n              out += ' {} ';\n            }\n            out += ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } ';\n          }\n        }\n      }\n      out += ' }   ';\n      if ($breakOnError) {\n        $closingBraces += '}';\n        out += ' else { ';\n      }\n    }\n  }\n  it.errorPath = $currentErrorPath;\n  var $currentBaseId = $it.baseId;\n  for (var $property in $schemaDeps) {\n    var $sch = $schemaDeps[$property];\n    if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) {\n      out += ' ' + ($nextValid) + ' = true; if ( ' + ($data) + (it.util.getProperty($property)) + ' !== undefined ';\n      if ($ownProperties) {\n        out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', \\'' + (it.util.escapeQuotes($property)) + '\\') ';\n      }\n      out += ') { ';\n      $it.schema = $sch;\n      $it.schemaPath = $schemaPath + it.util.getProperty($property);\n      $it.errSchemaPath = $errSchemaPath + '/' + it.util.escapeFragment($property);\n      out += '  ' + (it.validate($it)) + ' ';\n      $it.baseId = $currentBaseId;\n      out += ' }  ';\n      if ($breakOnError) {\n        out += ' if (' + ($nextValid) + ') { ';\n        $closingBraces += '}';\n      }\n    }\n  }\n  if ($breakOnError) {\n    out += '   ' + ($closingBraces) + ' if (' + ($errs) + ' == errors) {';\n  }\n  return out;\n}\n","'use strict';\nmodule.exports = function generate_enum(it, $keyword, $ruleType) {\n  var out = ' ';\n  var $lvl = it.level;\n  var $dataLvl = it.dataLevel;\n  var $schema = it.schema[$keyword];\n  var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n  var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n  var $breakOnError = !it.opts.allErrors;\n  var $data = 'data' + ($dataLvl || '');\n  var $valid = 'valid' + $lvl;\n  var $isData = it.opts.$data && $schema && $schema.$data,\n    $schemaValue;\n  if ($isData) {\n    out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n    $schemaValue = 'schema' + $lvl;\n  } else {\n    $schemaValue = $schema;\n  }\n  var $i = 'i' + $lvl,\n    $vSchema = 'schema' + $lvl;\n  if (!$isData) {\n    out += ' var ' + ($vSchema) + ' = validate.schema' + ($schemaPath) + ';';\n  }\n  out += 'var ' + ($valid) + ';';\n  if ($isData) {\n    out += ' if (schema' + ($lvl) + ' === undefined) ' + ($valid) + ' = true; else if (!Array.isArray(schema' + ($lvl) + ')) ' + ($valid) + ' = false; else {';\n  }\n  out += '' + ($valid) + ' = false;for (var ' + ($i) + '=0; ' + ($i) + '<' + ($vSchema) + '.length; ' + ($i) + '++) if (equal(' + ($data) + ', ' + ($vSchema) + '[' + ($i) + '])) { ' + ($valid) + ' = true; break; }';\n  if ($isData) {\n    out += '  }  ';\n  }\n  out += ' if (!' + ($valid) + ') {   ';\n  var $$outStack = $$outStack || [];\n  $$outStack.push(out);\n  out = ''; /* istanbul ignore else */\n  if (it.createErrors !== false) {\n    out += ' { keyword: \\'' + ('enum') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { allowedValues: schema' + ($lvl) + ' } ';\n    if (it.opts.messages !== false) {\n      out += ' , message: \\'should be equal to one of the allowed values\\' ';\n    }\n    if (it.opts.verbose) {\n      out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n    }\n    out += ' } ';\n  } else {\n    out += ' {} ';\n  }\n  var __err = out;\n  out = $$outStack.pop();\n  if (!it.compositeRule && $breakOnError) {\n    /* istanbul ignore if */\n    if (it.async) {\n      out += ' throw new ValidationError([' + (__err) + ']); ';\n    } else {\n      out += ' validate.errors = [' + (__err) + ']; return false; ';\n    }\n  } else {\n    out += ' var err = ' + (__err) + ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n  }\n  out += ' }';\n  if ($breakOnError) {\n    out += ' else { ';\n  }\n  return out;\n}\n","'use strict';\nmodule.exports = function generate_format(it, $keyword, $ruleType) {\n  var out = ' ';\n  var $lvl = it.level;\n  var $dataLvl = it.dataLevel;\n  var $schema = it.schema[$keyword];\n  var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n  var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n  var $breakOnError = !it.opts.allErrors;\n  var $data = 'data' + ($dataLvl || '');\n  if (it.opts.format === false) {\n    if ($breakOnError) {\n      out += ' if (true) { ';\n    }\n    return out;\n  }\n  var $isData = it.opts.$data && $schema && $schema.$data,\n    $schemaValue;\n  if ($isData) {\n    out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n    $schemaValue = 'schema' + $lvl;\n  } else {\n    $schemaValue = $schema;\n  }\n  var $unknownFormats = it.opts.unknownFormats,\n    $allowUnknown = Array.isArray($unknownFormats);\n  if ($isData) {\n    var $format = 'format' + $lvl,\n      $isObject = 'isObject' + $lvl,\n      $formatType = 'formatType' + $lvl;\n    out += ' var ' + ($format) + ' = formats[' + ($schemaValue) + ']; var ' + ($isObject) + ' = typeof ' + ($format) + ' == \\'object\\' && !(' + ($format) + ' instanceof RegExp) && ' + ($format) + '.validate; var ' + ($formatType) + ' = ' + ($isObject) + ' && ' + ($format) + '.type || \\'string\\'; if (' + ($isObject) + ') { ';\n    if (it.async) {\n      out += ' var async' + ($lvl) + ' = ' + ($format) + '.async; ';\n    }\n    out += ' ' + ($format) + ' = ' + ($format) + '.validate; } if (  ';\n    if ($isData) {\n      out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \\'string\\') || ';\n    }\n    out += ' (';\n    if ($unknownFormats != 'ignore') {\n      out += ' (' + ($schemaValue) + ' && !' + ($format) + ' ';\n      if ($allowUnknown) {\n        out += ' && self._opts.unknownFormats.indexOf(' + ($schemaValue) + ') == -1 ';\n      }\n      out += ') || ';\n    }\n    out += ' (' + ($format) + ' && ' + ($formatType) + ' == \\'' + ($ruleType) + '\\' && !(typeof ' + ($format) + ' == \\'function\\' ? ';\n    if (it.async) {\n      out += ' (async' + ($lvl) + ' ? await ' + ($format) + '(' + ($data) + ') : ' + ($format) + '(' + ($data) + ')) ';\n    } else {\n      out += ' ' + ($format) + '(' + ($data) + ') ';\n    }\n    out += ' : ' + ($format) + '.test(' + ($data) + '))))) {';\n  } else {\n    var $format = it.formats[$schema];\n    if (!$format) {\n      if ($unknownFormats == 'ignore') {\n        it.logger.warn('unknown format \"' + $schema + '\" ignored in schema at path \"' + it.errSchemaPath + '\"');\n        if ($breakOnError) {\n          out += ' if (true) { ';\n        }\n        return out;\n      } else if ($allowUnknown && $unknownFormats.indexOf($schema) >= 0) {\n        if ($breakOnError) {\n          out += ' if (true) { ';\n        }\n        return out;\n      } else {\n        throw new Error('unknown format \"' + $schema + '\" is used in schema at path \"' + it.errSchemaPath + '\"');\n      }\n    }\n    var $isObject = typeof $format == 'object' && !($format instanceof RegExp) && $format.validate;\n    var $formatType = $isObject && $format.type || 'string';\n    if ($isObject) {\n      var $async = $format.async === true;\n      $format = $format.validate;\n    }\n    if ($formatType != $ruleType) {\n      if ($breakOnError) {\n        out += ' if (true) { ';\n      }\n      return out;\n    }\n    if ($async) {\n      if (!it.async) throw new Error('async format in sync schema');\n      var $formatRef = 'formats' + it.util.getProperty($schema) + '.validate';\n      out += ' if (!(await ' + ($formatRef) + '(' + ($data) + '))) { ';\n    } else {\n      out += ' if (! ';\n      var $formatRef = 'formats' + it.util.getProperty($schema);\n      if ($isObject) $formatRef += '.validate';\n      if (typeof $format == 'function') {\n        out += ' ' + ($formatRef) + '(' + ($data) + ') ';\n      } else {\n        out += ' ' + ($formatRef) + '.test(' + ($data) + ') ';\n      }\n      out += ') { ';\n    }\n  }\n  var $$outStack = $$outStack || [];\n  $$outStack.push(out);\n  out = ''; /* istanbul ignore else */\n  if (it.createErrors !== false) {\n    out += ' { keyword: \\'' + ('format') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { format:  ';\n    if ($isData) {\n      out += '' + ($schemaValue);\n    } else {\n      out += '' + (it.util.toQuotedString($schema));\n    }\n    out += '  } ';\n    if (it.opts.messages !== false) {\n      out += ' , message: \\'should match format \"';\n      if ($isData) {\n        out += '\\' + ' + ($schemaValue) + ' + \\'';\n      } else {\n        out += '' + (it.util.escapeQuotes($schema));\n      }\n      out += '\"\\' ';\n    }\n    if (it.opts.verbose) {\n      out += ' , schema:  ';\n      if ($isData) {\n        out += 'validate.schema' + ($schemaPath);\n      } else {\n        out += '' + (it.util.toQuotedString($schema));\n      }\n      out += '         , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n    }\n    out += ' } ';\n  } else {\n    out += ' {} ';\n  }\n  var __err = out;\n  out = $$outStack.pop();\n  if (!it.compositeRule && $breakOnError) {\n    /* istanbul ignore if */\n    if (it.async) {\n      out += ' throw new ValidationError([' + (__err) + ']); ';\n    } else {\n      out += ' validate.errors = [' + (__err) + ']; return false; ';\n    }\n  } else {\n    out += ' var err = ' + (__err) + ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n  }\n  out += ' } ';\n  if ($breakOnError) {\n    out += ' else { ';\n  }\n  return out;\n}\n","'use strict';\nmodule.exports = function generate_if(it, $keyword, $ruleType) {\n  var out = ' ';\n  var $lvl = it.level;\n  var $dataLvl = it.dataLevel;\n  var $schema = it.schema[$keyword];\n  var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n  var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n  var $breakOnError = !it.opts.allErrors;\n  var $data = 'data' + ($dataLvl || '');\n  var $valid = 'valid' + $lvl;\n  var $errs = 'errs__' + $lvl;\n  var $it = it.util.copy(it);\n  $it.level++;\n  var $nextValid = 'valid' + $it.level;\n  var $thenSch = it.schema['then'],\n    $elseSch = it.schema['else'],\n    $thenPresent = $thenSch !== undefined && (it.opts.strictKeywords ? (typeof $thenSch == 'object' && Object.keys($thenSch).length > 0) || $thenSch === false : it.util.schemaHasRules($thenSch, it.RULES.all)),\n    $elsePresent = $elseSch !== undefined && (it.opts.strictKeywords ? (typeof $elseSch == 'object' && Object.keys($elseSch).length > 0) || $elseSch === false : it.util.schemaHasRules($elseSch, it.RULES.all)),\n    $currentBaseId = $it.baseId;\n  if ($thenPresent || $elsePresent) {\n    var $ifClause;\n    $it.createErrors = false;\n    $it.schema = $schema;\n    $it.schemaPath = $schemaPath;\n    $it.errSchemaPath = $errSchemaPath;\n    out += ' var ' + ($errs) + ' = errors; var ' + ($valid) + ' = true;  ';\n    var $wasComposite = it.compositeRule;\n    it.compositeRule = $it.compositeRule = true;\n    out += '  ' + (it.validate($it)) + ' ';\n    $it.baseId = $currentBaseId;\n    $it.createErrors = true;\n    out += '  errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; }  ';\n    it.compositeRule = $it.compositeRule = $wasComposite;\n    if ($thenPresent) {\n      out += ' if (' + ($nextValid) + ') {  ';\n      $it.schema = it.schema['then'];\n      $it.schemaPath = it.schemaPath + '.then';\n      $it.errSchemaPath = it.errSchemaPath + '/then';\n      out += '  ' + (it.validate($it)) + ' ';\n      $it.baseId = $currentBaseId;\n      out += ' ' + ($valid) + ' = ' + ($nextValid) + '; ';\n      if ($thenPresent && $elsePresent) {\n        $ifClause = 'ifClause' + $lvl;\n        out += ' var ' + ($ifClause) + ' = \\'then\\'; ';\n      } else {\n        $ifClause = '\\'then\\'';\n      }\n      out += ' } ';\n      if ($elsePresent) {\n        out += ' else { ';\n      }\n    } else {\n      out += ' if (!' + ($nextValid) + ') { ';\n    }\n    if ($elsePresent) {\n      $it.schema = it.schema['else'];\n      $it.schemaPath = it.schemaPath + '.else';\n      $it.errSchemaPath = it.errSchemaPath + '/else';\n      out += '  ' + (it.validate($it)) + ' ';\n      $it.baseId = $currentBaseId;\n      out += ' ' + ($valid) + ' = ' + ($nextValid) + '; ';\n      if ($thenPresent && $elsePresent) {\n        $ifClause = 'ifClause' + $lvl;\n        out += ' var ' + ($ifClause) + ' = \\'else\\'; ';\n      } else {\n        $ifClause = '\\'else\\'';\n      }\n      out += ' } ';\n    }\n    out += ' if (!' + ($valid) + ') {   var err =   '; /* istanbul ignore else */\n    if (it.createErrors !== false) {\n      out += ' { keyword: \\'' + ('if') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { failingKeyword: ' + ($ifClause) + ' } ';\n      if (it.opts.messages !== false) {\n        out += ' , message: \\'should match \"\\' + ' + ($ifClause) + ' + \\'\" schema\\' ';\n      }\n      if (it.opts.verbose) {\n        out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n      }\n      out += ' } ';\n    } else {\n      out += ' {} ';\n    }\n    out += ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n    if (!it.compositeRule && $breakOnError) {\n      /* istanbul ignore if */\n      if (it.async) {\n        out += ' throw new ValidationError(vErrors); ';\n      } else {\n        out += ' validate.errors = vErrors; return false; ';\n      }\n    }\n    out += ' }   ';\n    if ($breakOnError) {\n      out += ' else { ';\n    }\n  } else {\n    if ($breakOnError) {\n      out += ' if (true) { ';\n    }\n  }\n  return out;\n}\n","'use strict';\n\n//all requires must be explicit because browserify won't work with dynamic requires\nmodule.exports = {\n  '$ref': require('./ref'),\n  allOf: require('./allOf'),\n  anyOf: require('./anyOf'),\n  '$comment': require('./comment'),\n  const: require('./const'),\n  contains: require('./contains'),\n  dependencies: require('./dependencies'),\n  'enum': require('./enum'),\n  format: require('./format'),\n  'if': require('./if'),\n  items: require('./items'),\n  maximum: require('./_limit'),\n  minimum: require('./_limit'),\n  maxItems: require('./_limitItems'),\n  minItems: require('./_limitItems'),\n  maxLength: require('./_limitLength'),\n  minLength: require('./_limitLength'),\n  maxProperties: require('./_limitProperties'),\n  minProperties: require('./_limitProperties'),\n  multipleOf: require('./multipleOf'),\n  not: require('./not'),\n  oneOf: require('./oneOf'),\n  pattern: require('./pattern'),\n  properties: require('./properties'),\n  propertyNames: require('./propertyNames'),\n  required: require('./required'),\n  uniqueItems: require('./uniqueItems'),\n  validate: require('./validate')\n};\n","'use strict';\nmodule.exports = function generate_items(it, $keyword, $ruleType) {\n  var out = ' ';\n  var $lvl = it.level;\n  var $dataLvl = it.dataLevel;\n  var $schema = it.schema[$keyword];\n  var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n  var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n  var $breakOnError = !it.opts.allErrors;\n  var $data = 'data' + ($dataLvl || '');\n  var $valid = 'valid' + $lvl;\n  var $errs = 'errs__' + $lvl;\n  var $it = it.util.copy(it);\n  var $closingBraces = '';\n  $it.level++;\n  var $nextValid = 'valid' + $it.level;\n  var $idx = 'i' + $lvl,\n    $dataNxt = $it.dataLevel = it.dataLevel + 1,\n    $nextData = 'data' + $dataNxt,\n    $currentBaseId = it.baseId;\n  out += 'var ' + ($errs) + ' = errors;var ' + ($valid) + ';';\n  if (Array.isArray($schema)) {\n    var $additionalItems = it.schema.additionalItems;\n    if ($additionalItems === false) {\n      out += ' ' + ($valid) + ' = ' + ($data) + '.length <= ' + ($schema.length) + '; ';\n      var $currErrSchemaPath = $errSchemaPath;\n      $errSchemaPath = it.errSchemaPath + '/additionalItems';\n      out += '  if (!' + ($valid) + ') {   ';\n      var $$outStack = $$outStack || [];\n      $$outStack.push(out);\n      out = ''; /* istanbul ignore else */\n      if (it.createErrors !== false) {\n        out += ' { keyword: \\'' + ('additionalItems') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schema.length) + ' } ';\n        if (it.opts.messages !== false) {\n          out += ' , message: \\'should NOT have more than ' + ($schema.length) + ' items\\' ';\n        }\n        if (it.opts.verbose) {\n          out += ' , schema: false , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n        }\n        out += ' } ';\n      } else {\n        out += ' {} ';\n      }\n      var __err = out;\n      out = $$outStack.pop();\n      if (!it.compositeRule && $breakOnError) {\n        /* istanbul ignore if */\n        if (it.async) {\n          out += ' throw new ValidationError([' + (__err) + ']); ';\n        } else {\n          out += ' validate.errors = [' + (__err) + ']; return false; ';\n        }\n      } else {\n        out += ' var err = ' + (__err) + ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n      }\n      out += ' } ';\n      $errSchemaPath = $currErrSchemaPath;\n      if ($breakOnError) {\n        $closingBraces += '}';\n        out += ' else { ';\n      }\n    }\n    var arr1 = $schema;\n    if (arr1) {\n      var $sch, $i = -1,\n        l1 = arr1.length - 1;\n      while ($i < l1) {\n        $sch = arr1[$i += 1];\n        if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) {\n          out += ' ' + ($nextValid) + ' = true; if (' + ($data) + '.length > ' + ($i) + ') { ';\n          var $passData = $data + '[' + $i + ']';\n          $it.schema = $sch;\n          $it.schemaPath = $schemaPath + '[' + $i + ']';\n          $it.errSchemaPath = $errSchemaPath + '/' + $i;\n          $it.errorPath = it.util.getPathExpr(it.errorPath, $i, it.opts.jsonPointers, true);\n          $it.dataPathArr[$dataNxt] = $i;\n          var $code = it.validate($it);\n          $it.baseId = $currentBaseId;\n          if (it.util.varOccurences($code, $nextData) < 2) {\n            out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' ';\n          } else {\n            out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' ';\n          }\n          out += ' }  ';\n          if ($breakOnError) {\n            out += ' if (' + ($nextValid) + ') { ';\n            $closingBraces += '}';\n          }\n        }\n      }\n    }\n    if (typeof $additionalItems == 'object' && (it.opts.strictKeywords ? (typeof $additionalItems == 'object' && Object.keys($additionalItems).length > 0) || $additionalItems === false : it.util.schemaHasRules($additionalItems, it.RULES.all))) {\n      $it.schema = $additionalItems;\n      $it.schemaPath = it.schemaPath + '.additionalItems';\n      $it.errSchemaPath = it.errSchemaPath + '/additionalItems';\n      out += ' ' + ($nextValid) + ' = true; if (' + ($data) + '.length > ' + ($schema.length) + ') {  for (var ' + ($idx) + ' = ' + ($schema.length) + '; ' + ($idx) + ' < ' + ($data) + '.length; ' + ($idx) + '++) { ';\n      $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true);\n      var $passData = $data + '[' + $idx + ']';\n      $it.dataPathArr[$dataNxt] = $idx;\n      var $code = it.validate($it);\n      $it.baseId = $currentBaseId;\n      if (it.util.varOccurences($code, $nextData) < 2) {\n        out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' ';\n      } else {\n        out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' ';\n      }\n      if ($breakOnError) {\n        out += ' if (!' + ($nextValid) + ') break; ';\n      }\n      out += ' } }  ';\n      if ($breakOnError) {\n        out += ' if (' + ($nextValid) + ') { ';\n        $closingBraces += '}';\n      }\n    }\n  } else if ((it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all))) {\n    $it.schema = $schema;\n    $it.schemaPath = $schemaPath;\n    $it.errSchemaPath = $errSchemaPath;\n    out += '  for (var ' + ($idx) + ' = ' + (0) + '; ' + ($idx) + ' < ' + ($data) + '.length; ' + ($idx) + '++) { ';\n    $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true);\n    var $passData = $data + '[' + $idx + ']';\n    $it.dataPathArr[$dataNxt] = $idx;\n    var $code = it.validate($it);\n    $it.baseId = $currentBaseId;\n    if (it.util.varOccurences($code, $nextData) < 2) {\n      out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' ';\n    } else {\n      out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' ';\n    }\n    if ($breakOnError) {\n      out += ' if (!' + ($nextValid) + ') break; ';\n    }\n    out += ' }';\n  }\n  if ($breakOnError) {\n    out += ' ' + ($closingBraces) + ' if (' + ($errs) + ' == errors) {';\n  }\n  return out;\n}\n","'use strict';\nmodule.exports = function generate_multipleOf(it, $keyword, $ruleType) {\n  var out = ' ';\n  var $lvl = it.level;\n  var $dataLvl = it.dataLevel;\n  var $schema = it.schema[$keyword];\n  var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n  var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n  var $breakOnError = !it.opts.allErrors;\n  var $data = 'data' + ($dataLvl || '');\n  var $isData = it.opts.$data && $schema && $schema.$data,\n    $schemaValue;\n  if ($isData) {\n    out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n    $schemaValue = 'schema' + $lvl;\n  } else {\n    $schemaValue = $schema;\n  }\n  if (!($isData || typeof $schema == 'number')) {\n    throw new Error($keyword + ' must be number');\n  }\n  out += 'var division' + ($lvl) + ';if (';\n  if ($isData) {\n    out += ' ' + ($schemaValue) + ' !== undefined && ( typeof ' + ($schemaValue) + ' != \\'number\\' || ';\n  }\n  out += ' (division' + ($lvl) + ' = ' + ($data) + ' / ' + ($schemaValue) + ', ';\n  if (it.opts.multipleOfPrecision) {\n    out += ' Math.abs(Math.round(division' + ($lvl) + ') - division' + ($lvl) + ') > 1e-' + (it.opts.multipleOfPrecision) + ' ';\n  } else {\n    out += ' division' + ($lvl) + ' !== parseInt(division' + ($lvl) + ') ';\n  }\n  out += ' ) ';\n  if ($isData) {\n    out += '  )  ';\n  }\n  out += ' ) {   ';\n  var $$outStack = $$outStack || [];\n  $$outStack.push(out);\n  out = ''; /* istanbul ignore else */\n  if (it.createErrors !== false) {\n    out += ' { keyword: \\'' + ('multipleOf') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { multipleOf: ' + ($schemaValue) + ' } ';\n    if (it.opts.messages !== false) {\n      out += ' , message: \\'should be multiple of ';\n      if ($isData) {\n        out += '\\' + ' + ($schemaValue);\n      } else {\n        out += '' + ($schemaValue) + '\\'';\n      }\n    }\n    if (it.opts.verbose) {\n      out += ' , schema:  ';\n      if ($isData) {\n        out += 'validate.schema' + ($schemaPath);\n      } else {\n        out += '' + ($schema);\n      }\n      out += '         , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n    }\n    out += ' } ';\n  } else {\n    out += ' {} ';\n  }\n  var __err = out;\n  out = $$outStack.pop();\n  if (!it.compositeRule && $breakOnError) {\n    /* istanbul ignore if */\n    if (it.async) {\n      out += ' throw new ValidationError([' + (__err) + ']); ';\n    } else {\n      out += ' validate.errors = [' + (__err) + ']; return false; ';\n    }\n  } else {\n    out += ' var err = ' + (__err) + ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n  }\n  out += '} ';\n  if ($breakOnError) {\n    out += ' else { ';\n  }\n  return out;\n}\n","'use strict';\nmodule.exports = function generate_not(it, $keyword, $ruleType) {\n  var out = ' ';\n  var $lvl = it.level;\n  var $dataLvl = it.dataLevel;\n  var $schema = it.schema[$keyword];\n  var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n  var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n  var $breakOnError = !it.opts.allErrors;\n  var $data = 'data' + ($dataLvl || '');\n  var $errs = 'errs__' + $lvl;\n  var $it = it.util.copy(it);\n  $it.level++;\n  var $nextValid = 'valid' + $it.level;\n  if ((it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all))) {\n    $it.schema = $schema;\n    $it.schemaPath = $schemaPath;\n    $it.errSchemaPath = $errSchemaPath;\n    out += ' var ' + ($errs) + ' = errors;  ';\n    var $wasComposite = it.compositeRule;\n    it.compositeRule = $it.compositeRule = true;\n    $it.createErrors = false;\n    var $allErrorsOption;\n    if ($it.opts.allErrors) {\n      $allErrorsOption = $it.opts.allErrors;\n      $it.opts.allErrors = false;\n    }\n    out += ' ' + (it.validate($it)) + ' ';\n    $it.createErrors = true;\n    if ($allErrorsOption) $it.opts.allErrors = $allErrorsOption;\n    it.compositeRule = $it.compositeRule = $wasComposite;\n    out += ' if (' + ($nextValid) + ') {   ';\n    var $$outStack = $$outStack || [];\n    $$outStack.push(out);\n    out = ''; /* istanbul ignore else */\n    if (it.createErrors !== false) {\n      out += ' { keyword: \\'' + ('not') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} ';\n      if (it.opts.messages !== false) {\n        out += ' , message: \\'should NOT be valid\\' ';\n      }\n      if (it.opts.verbose) {\n        out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n      }\n      out += ' } ';\n    } else {\n      out += ' {} ';\n    }\n    var __err = out;\n    out = $$outStack.pop();\n    if (!it.compositeRule && $breakOnError) {\n      /* istanbul ignore if */\n      if (it.async) {\n        out += ' throw new ValidationError([' + (__err) + ']); ';\n      } else {\n        out += ' validate.errors = [' + (__err) + ']; return false; ';\n      }\n    } else {\n      out += ' var err = ' + (__err) + ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n    }\n    out += ' } else {  errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } ';\n    if (it.opts.allErrors) {\n      out += ' } ';\n    }\n  } else {\n    out += '  var err =   '; /* istanbul ignore else */\n    if (it.createErrors !== false) {\n      out += ' { keyword: \\'' + ('not') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} ';\n      if (it.opts.messages !== false) {\n        out += ' , message: \\'should NOT be valid\\' ';\n      }\n      if (it.opts.verbose) {\n        out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n      }\n      out += ' } ';\n    } else {\n      out += ' {} ';\n    }\n    out += ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n    if ($breakOnError) {\n      out += ' if (false) { ';\n    }\n  }\n  return out;\n}\n","'use strict';\nmodule.exports = function generate_oneOf(it, $keyword, $ruleType) {\n  var out = ' ';\n  var $lvl = it.level;\n  var $dataLvl = it.dataLevel;\n  var $schema = it.schema[$keyword];\n  var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n  var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n  var $breakOnError = !it.opts.allErrors;\n  var $data = 'data' + ($dataLvl || '');\n  var $valid = 'valid' + $lvl;\n  var $errs = 'errs__' + $lvl;\n  var $it = it.util.copy(it);\n  var $closingBraces = '';\n  $it.level++;\n  var $nextValid = 'valid' + $it.level;\n  var $currentBaseId = $it.baseId,\n    $prevValid = 'prevValid' + $lvl,\n    $passingSchemas = 'passingSchemas' + $lvl;\n  out += 'var ' + ($errs) + ' = errors , ' + ($prevValid) + ' = false , ' + ($valid) + ' = false , ' + ($passingSchemas) + ' = null; ';\n  var $wasComposite = it.compositeRule;\n  it.compositeRule = $it.compositeRule = true;\n  var arr1 = $schema;\n  if (arr1) {\n    var $sch, $i = -1,\n      l1 = arr1.length - 1;\n    while ($i < l1) {\n      $sch = arr1[$i += 1];\n      if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) {\n        $it.schema = $sch;\n        $it.schemaPath = $schemaPath + '[' + $i + ']';\n        $it.errSchemaPath = $errSchemaPath + '/' + $i;\n        out += '  ' + (it.validate($it)) + ' ';\n        $it.baseId = $currentBaseId;\n      } else {\n        out += ' var ' + ($nextValid) + ' = true; ';\n      }\n      if ($i) {\n        out += ' if (' + ($nextValid) + ' && ' + ($prevValid) + ') { ' + ($valid) + ' = false; ' + ($passingSchemas) + ' = [' + ($passingSchemas) + ', ' + ($i) + ']; } else { ';\n        $closingBraces += '}';\n      }\n      out += ' if (' + ($nextValid) + ') { ' + ($valid) + ' = ' + ($prevValid) + ' = true; ' + ($passingSchemas) + ' = ' + ($i) + '; }';\n    }\n  }\n  it.compositeRule = $it.compositeRule = $wasComposite;\n  out += '' + ($closingBraces) + 'if (!' + ($valid) + ') {   var err =   '; /* istanbul ignore else */\n  if (it.createErrors !== false) {\n    out += ' { keyword: \\'' + ('oneOf') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { passingSchemas: ' + ($passingSchemas) + ' } ';\n    if (it.opts.messages !== false) {\n      out += ' , message: \\'should match exactly one schema in oneOf\\' ';\n    }\n    if (it.opts.verbose) {\n      out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n    }\n    out += ' } ';\n  } else {\n    out += ' {} ';\n  }\n  out += ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n  if (!it.compositeRule && $breakOnError) {\n    /* istanbul ignore if */\n    if (it.async) {\n      out += ' throw new ValidationError(vErrors); ';\n    } else {\n      out += ' validate.errors = vErrors; return false; ';\n    }\n  }\n  out += '} else {  errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; }';\n  if (it.opts.allErrors) {\n    out += ' } ';\n  }\n  return out;\n}\n","'use strict';\nmodule.exports = function generate_pattern(it, $keyword, $ruleType) {\n  var out = ' ';\n  var $lvl = it.level;\n  var $dataLvl = it.dataLevel;\n  var $schema = it.schema[$keyword];\n  var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n  var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n  var $breakOnError = !it.opts.allErrors;\n  var $data = 'data' + ($dataLvl || '');\n  var $isData = it.opts.$data && $schema && $schema.$data,\n    $schemaValue;\n  if ($isData) {\n    out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n    $schemaValue = 'schema' + $lvl;\n  } else {\n    $schemaValue = $schema;\n  }\n  var $regexp = $isData ? '(new RegExp(' + $schemaValue + '))' : it.usePattern($schema);\n  out += 'if ( ';\n  if ($isData) {\n    out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \\'string\\') || ';\n  }\n  out += ' !' + ($regexp) + '.test(' + ($data) + ') ) {   ';\n  var $$outStack = $$outStack || [];\n  $$outStack.push(out);\n  out = ''; /* istanbul ignore else */\n  if (it.createErrors !== false) {\n    out += ' { keyword: \\'' + ('pattern') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { pattern:  ';\n    if ($isData) {\n      out += '' + ($schemaValue);\n    } else {\n      out += '' + (it.util.toQuotedString($schema));\n    }\n    out += '  } ';\n    if (it.opts.messages !== false) {\n      out += ' , message: \\'should match pattern \"';\n      if ($isData) {\n        out += '\\' + ' + ($schemaValue) + ' + \\'';\n      } else {\n        out += '' + (it.util.escapeQuotes($schema));\n      }\n      out += '\"\\' ';\n    }\n    if (it.opts.verbose) {\n      out += ' , schema:  ';\n      if ($isData) {\n        out += 'validate.schema' + ($schemaPath);\n      } else {\n        out += '' + (it.util.toQuotedString($schema));\n      }\n      out += '         , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n    }\n    out += ' } ';\n  } else {\n    out += ' {} ';\n  }\n  var __err = out;\n  out = $$outStack.pop();\n  if (!it.compositeRule && $breakOnError) {\n    /* istanbul ignore if */\n    if (it.async) {\n      out += ' throw new ValidationError([' + (__err) + ']); ';\n    } else {\n      out += ' validate.errors = [' + (__err) + ']; return false; ';\n    }\n  } else {\n    out += ' var err = ' + (__err) + ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n  }\n  out += '} ';\n  if ($breakOnError) {\n    out += ' else { ';\n  }\n  return out;\n}\n","'use strict';\nmodule.exports = function generate_properties(it, $keyword, $ruleType) {\n  var out = ' ';\n  var $lvl = it.level;\n  var $dataLvl = it.dataLevel;\n  var $schema = it.schema[$keyword];\n  var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n  var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n  var $breakOnError = !it.opts.allErrors;\n  var $data = 'data' + ($dataLvl || '');\n  var $errs = 'errs__' + $lvl;\n  var $it = it.util.copy(it);\n  var $closingBraces = '';\n  $it.level++;\n  var $nextValid = 'valid' + $it.level;\n  var $key = 'key' + $lvl,\n    $idx = 'idx' + $lvl,\n    $dataNxt = $it.dataLevel = it.dataLevel + 1,\n    $nextData = 'data' + $dataNxt,\n    $dataProperties = 'dataProperties' + $lvl;\n  var $schemaKeys = Object.keys($schema || {}).filter(notProto),\n    $pProperties = it.schema.patternProperties || {},\n    $pPropertyKeys = Object.keys($pProperties).filter(notProto),\n    $aProperties = it.schema.additionalProperties,\n    $someProperties = $schemaKeys.length || $pPropertyKeys.length,\n    $noAdditional = $aProperties === false,\n    $additionalIsSchema = typeof $aProperties == 'object' && Object.keys($aProperties).length,\n    $removeAdditional = it.opts.removeAdditional,\n    $checkAdditional = $noAdditional || $additionalIsSchema || $removeAdditional,\n    $ownProperties = it.opts.ownProperties,\n    $currentBaseId = it.baseId;\n  var $required = it.schema.required;\n  if ($required && !(it.opts.$data && $required.$data) && $required.length < it.opts.loopRequired) {\n    var $requiredHash = it.util.toHash($required);\n  }\n\n  function notProto(p) {\n    return p !== '__proto__';\n  }\n  out += 'var ' + ($errs) + ' = errors;var ' + ($nextValid) + ' = true;';\n  if ($ownProperties) {\n    out += ' var ' + ($dataProperties) + ' = undefined;';\n  }\n  if ($checkAdditional) {\n    if ($ownProperties) {\n      out += ' ' + ($dataProperties) + ' = ' + ($dataProperties) + ' || Object.keys(' + ($data) + '); for (var ' + ($idx) + '=0; ' + ($idx) + '<' + ($dataProperties) + '.length; ' + ($idx) + '++) { var ' + ($key) + ' = ' + ($dataProperties) + '[' + ($idx) + ']; ';\n    } else {\n      out += ' for (var ' + ($key) + ' in ' + ($data) + ') { ';\n    }\n    if ($someProperties) {\n      out += ' var isAdditional' + ($lvl) + ' = !(false ';\n      if ($schemaKeys.length) {\n        if ($schemaKeys.length > 8) {\n          out += ' || validate.schema' + ($schemaPath) + '.hasOwnProperty(' + ($key) + ') ';\n        } else {\n          var arr1 = $schemaKeys;\n          if (arr1) {\n            var $propertyKey, i1 = -1,\n              l1 = arr1.length - 1;\n            while (i1 < l1) {\n              $propertyKey = arr1[i1 += 1];\n              out += ' || ' + ($key) + ' == ' + (it.util.toQuotedString($propertyKey)) + ' ';\n            }\n          }\n        }\n      }\n      if ($pPropertyKeys.length) {\n        var arr2 = $pPropertyKeys;\n        if (arr2) {\n          var $pProperty, $i = -1,\n            l2 = arr2.length - 1;\n          while ($i < l2) {\n            $pProperty = arr2[$i += 1];\n            out += ' || ' + (it.usePattern($pProperty)) + '.test(' + ($key) + ') ';\n          }\n        }\n      }\n      out += ' ); if (isAdditional' + ($lvl) + ') { ';\n    }\n    if ($removeAdditional == 'all') {\n      out += ' delete ' + ($data) + '[' + ($key) + ']; ';\n    } else {\n      var $currentErrorPath = it.errorPath;\n      var $additionalProperty = '\\' + ' + $key + ' + \\'';\n      if (it.opts._errorDataPathProperty) {\n        it.errorPath = it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers);\n      }\n      if ($noAdditional) {\n        if ($removeAdditional) {\n          out += ' delete ' + ($data) + '[' + ($key) + ']; ';\n        } else {\n          out += ' ' + ($nextValid) + ' = false; ';\n          var $currErrSchemaPath = $errSchemaPath;\n          $errSchemaPath = it.errSchemaPath + '/additionalProperties';\n          var $$outStack = $$outStack || [];\n          $$outStack.push(out);\n          out = ''; /* istanbul ignore else */\n          if (it.createErrors !== false) {\n            out += ' { keyword: \\'' + ('additionalProperties') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { additionalProperty: \\'' + ($additionalProperty) + '\\' } ';\n            if (it.opts.messages !== false) {\n              out += ' , message: \\'';\n              if (it.opts._errorDataPathProperty) {\n                out += 'is an invalid additional property';\n              } else {\n                out += 'should NOT have additional properties';\n              }\n              out += '\\' ';\n            }\n            if (it.opts.verbose) {\n              out += ' , schema: false , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n            }\n            out += ' } ';\n          } else {\n            out += ' {} ';\n          }\n          var __err = out;\n          out = $$outStack.pop();\n          if (!it.compositeRule && $breakOnError) {\n            /* istanbul ignore if */\n            if (it.async) {\n              out += ' throw new ValidationError([' + (__err) + ']); ';\n            } else {\n              out += ' validate.errors = [' + (__err) + ']; return false; ';\n            }\n          } else {\n            out += ' var err = ' + (__err) + ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n          }\n          $errSchemaPath = $currErrSchemaPath;\n          if ($breakOnError) {\n            out += ' break; ';\n          }\n        }\n      } else if ($additionalIsSchema) {\n        if ($removeAdditional == 'failing') {\n          out += ' var ' + ($errs) + ' = errors;  ';\n          var $wasComposite = it.compositeRule;\n          it.compositeRule = $it.compositeRule = true;\n          $it.schema = $aProperties;\n          $it.schemaPath = it.schemaPath + '.additionalProperties';\n          $it.errSchemaPath = it.errSchemaPath + '/additionalProperties';\n          $it.errorPath = it.opts._errorDataPathProperty ? it.errorPath : it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers);\n          var $passData = $data + '[' + $key + ']';\n          $it.dataPathArr[$dataNxt] = $key;\n          var $code = it.validate($it);\n          $it.baseId = $currentBaseId;\n          if (it.util.varOccurences($code, $nextData) < 2) {\n            out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' ';\n          } else {\n            out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' ';\n          }\n          out += ' if (!' + ($nextValid) + ') { errors = ' + ($errs) + '; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete ' + ($data) + '[' + ($key) + ']; }  ';\n          it.compositeRule = $it.compositeRule = $wasComposite;\n        } else {\n          $it.schema = $aProperties;\n          $it.schemaPath = it.schemaPath + '.additionalProperties';\n          $it.errSchemaPath = it.errSchemaPath + '/additionalProperties';\n          $it.errorPath = it.opts._errorDataPathProperty ? it.errorPath : it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers);\n          var $passData = $data + '[' + $key + ']';\n          $it.dataPathArr[$dataNxt] = $key;\n          var $code = it.validate($it);\n          $it.baseId = $currentBaseId;\n          if (it.util.varOccurences($code, $nextData) < 2) {\n            out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' ';\n          } else {\n            out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' ';\n          }\n          if ($breakOnError) {\n            out += ' if (!' + ($nextValid) + ') break; ';\n          }\n        }\n      }\n      it.errorPath = $currentErrorPath;\n    }\n    if ($someProperties) {\n      out += ' } ';\n    }\n    out += ' }  ';\n    if ($breakOnError) {\n      out += ' if (' + ($nextValid) + ') { ';\n      $closingBraces += '}';\n    }\n  }\n  var $useDefaults = it.opts.useDefaults && !it.compositeRule;\n  if ($schemaKeys.length) {\n    var arr3 = $schemaKeys;\n    if (arr3) {\n      var $propertyKey, i3 = -1,\n        l3 = arr3.length - 1;\n      while (i3 < l3) {\n        $propertyKey = arr3[i3 += 1];\n        var $sch = $schema[$propertyKey];\n        if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) {\n          var $prop = it.util.getProperty($propertyKey),\n            $passData = $data + $prop,\n            $hasDefault = $useDefaults && $sch.default !== undefined;\n          $it.schema = $sch;\n          $it.schemaPath = $schemaPath + $prop;\n          $it.errSchemaPath = $errSchemaPath + '/' + it.util.escapeFragment($propertyKey);\n          $it.errorPath = it.util.getPath(it.errorPath, $propertyKey, it.opts.jsonPointers);\n          $it.dataPathArr[$dataNxt] = it.util.toQuotedString($propertyKey);\n          var $code = it.validate($it);\n          $it.baseId = $currentBaseId;\n          if (it.util.varOccurences($code, $nextData) < 2) {\n            $code = it.util.varReplace($code, $nextData, $passData);\n            var $useData = $passData;\n          } else {\n            var $useData = $nextData;\n            out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ';\n          }\n          if ($hasDefault) {\n            out += ' ' + ($code) + ' ';\n          } else {\n            if ($requiredHash && $requiredHash[$propertyKey]) {\n              out += ' if ( ' + ($useData) + ' === undefined ';\n              if ($ownProperties) {\n                out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \\'' + (it.util.escapeQuotes($propertyKey)) + '\\') ';\n              }\n              out += ') { ' + ($nextValid) + ' = false; ';\n              var $currentErrorPath = it.errorPath,\n                $currErrSchemaPath = $errSchemaPath,\n                $missingProperty = it.util.escapeQuotes($propertyKey);\n              if (it.opts._errorDataPathProperty) {\n                it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers);\n              }\n              $errSchemaPath = it.errSchemaPath + '/required';\n              var $$outStack = $$outStack || [];\n              $$outStack.push(out);\n              out = ''; /* istanbul ignore else */\n              if (it.createErrors !== false) {\n                out += ' { keyword: \\'' + ('required') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \\'' + ($missingProperty) + '\\' } ';\n                if (it.opts.messages !== false) {\n                  out += ' , message: \\'';\n                  if (it.opts._errorDataPathProperty) {\n                    out += 'is a required property';\n                  } else {\n                    out += 'should have required property \\\\\\'' + ($missingProperty) + '\\\\\\'';\n                  }\n                  out += '\\' ';\n                }\n                if (it.opts.verbose) {\n                  out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n                }\n                out += ' } ';\n              } else {\n                out += ' {} ';\n              }\n              var __err = out;\n              out = $$outStack.pop();\n              if (!it.compositeRule && $breakOnError) {\n                /* istanbul ignore if */\n                if (it.async) {\n                  out += ' throw new ValidationError([' + (__err) + ']); ';\n                } else {\n                  out += ' validate.errors = [' + (__err) + ']; return false; ';\n                }\n              } else {\n                out += ' var err = ' + (__err) + ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n              }\n              $errSchemaPath = $currErrSchemaPath;\n              it.errorPath = $currentErrorPath;\n              out += ' } else { ';\n            } else {\n              if ($breakOnError) {\n                out += ' if ( ' + ($useData) + ' === undefined ';\n                if ($ownProperties) {\n                  out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \\'' + (it.util.escapeQuotes($propertyKey)) + '\\') ';\n                }\n                out += ') { ' + ($nextValid) + ' = true; } else { ';\n              } else {\n                out += ' if (' + ($useData) + ' !== undefined ';\n                if ($ownProperties) {\n                  out += ' &&   Object.prototype.hasOwnProperty.call(' + ($data) + ', \\'' + (it.util.escapeQuotes($propertyKey)) + '\\') ';\n                }\n                out += ' ) { ';\n              }\n            }\n            out += ' ' + ($code) + ' } ';\n          }\n        }\n        if ($breakOnError) {\n          out += ' if (' + ($nextValid) + ') { ';\n          $closingBraces += '}';\n        }\n      }\n    }\n  }\n  if ($pPropertyKeys.length) {\n    var arr4 = $pPropertyKeys;\n    if (arr4) {\n      var $pProperty, i4 = -1,\n        l4 = arr4.length - 1;\n      while (i4 < l4) {\n        $pProperty = arr4[i4 += 1];\n        var $sch = $pProperties[$pProperty];\n        if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) {\n          $it.schema = $sch;\n          $it.schemaPath = it.schemaPath + '.patternProperties' + it.util.getProperty($pProperty);\n          $it.errSchemaPath = it.errSchemaPath + '/patternProperties/' + it.util.escapeFragment($pProperty);\n          if ($ownProperties) {\n            out += ' ' + ($dataProperties) + ' = ' + ($dataProperties) + ' || Object.keys(' + ($data) + '); for (var ' + ($idx) + '=0; ' + ($idx) + '<' + ($dataProperties) + '.length; ' + ($idx) + '++) { var ' + ($key) + ' = ' + ($dataProperties) + '[' + ($idx) + ']; ';\n          } else {\n            out += ' for (var ' + ($key) + ' in ' + ($data) + ') { ';\n          }\n          out += ' if (' + (it.usePattern($pProperty)) + '.test(' + ($key) + ')) { ';\n          $it.errorPath = it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers);\n          var $passData = $data + '[' + $key + ']';\n          $it.dataPathArr[$dataNxt] = $key;\n          var $code = it.validate($it);\n          $it.baseId = $currentBaseId;\n          if (it.util.varOccurences($code, $nextData) < 2) {\n            out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' ';\n          } else {\n            out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' ';\n          }\n          if ($breakOnError) {\n            out += ' if (!' + ($nextValid) + ') break; ';\n          }\n          out += ' } ';\n          if ($breakOnError) {\n            out += ' else ' + ($nextValid) + ' = true; ';\n          }\n          out += ' }  ';\n          if ($breakOnError) {\n            out += ' if (' + ($nextValid) + ') { ';\n            $closingBraces += '}';\n          }\n        }\n      }\n    }\n  }\n  if ($breakOnError) {\n    out += ' ' + ($closingBraces) + ' if (' + ($errs) + ' == errors) {';\n  }\n  return out;\n}\n","'use strict';\nmodule.exports = function generate_propertyNames(it, $keyword, $ruleType) {\n  var out = ' ';\n  var $lvl = it.level;\n  var $dataLvl = it.dataLevel;\n  var $schema = it.schema[$keyword];\n  var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n  var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n  var $breakOnError = !it.opts.allErrors;\n  var $data = 'data' + ($dataLvl || '');\n  var $errs = 'errs__' + $lvl;\n  var $it = it.util.copy(it);\n  var $closingBraces = '';\n  $it.level++;\n  var $nextValid = 'valid' + $it.level;\n  out += 'var ' + ($errs) + ' = errors;';\n  if ((it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all))) {\n    $it.schema = $schema;\n    $it.schemaPath = $schemaPath;\n    $it.errSchemaPath = $errSchemaPath;\n    var $key = 'key' + $lvl,\n      $idx = 'idx' + $lvl,\n      $i = 'i' + $lvl,\n      $invalidName = '\\' + ' + $key + ' + \\'',\n      $dataNxt = $it.dataLevel = it.dataLevel + 1,\n      $nextData = 'data' + $dataNxt,\n      $dataProperties = 'dataProperties' + $lvl,\n      $ownProperties = it.opts.ownProperties,\n      $currentBaseId = it.baseId;\n    if ($ownProperties) {\n      out += ' var ' + ($dataProperties) + ' = undefined; ';\n    }\n    if ($ownProperties) {\n      out += ' ' + ($dataProperties) + ' = ' + ($dataProperties) + ' || Object.keys(' + ($data) + '); for (var ' + ($idx) + '=0; ' + ($idx) + '<' + ($dataProperties) + '.length; ' + ($idx) + '++) { var ' + ($key) + ' = ' + ($dataProperties) + '[' + ($idx) + ']; ';\n    } else {\n      out += ' for (var ' + ($key) + ' in ' + ($data) + ') { ';\n    }\n    out += ' var startErrs' + ($lvl) + ' = errors; ';\n    var $passData = $key;\n    var $wasComposite = it.compositeRule;\n    it.compositeRule = $it.compositeRule = true;\n    var $code = it.validate($it);\n    $it.baseId = $currentBaseId;\n    if (it.util.varOccurences($code, $nextData) < 2) {\n      out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' ';\n    } else {\n      out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' ';\n    }\n    it.compositeRule = $it.compositeRule = $wasComposite;\n    out += ' if (!' + ($nextValid) + ') { for (var ' + ($i) + '=startErrs' + ($lvl) + '; ' + ($i) + '<errors; ' + ($i) + '++) { vErrors[' + ($i) + '].propertyName = ' + ($key) + '; }   var err =   '; /* istanbul ignore else */\n    if (it.createErrors !== false) {\n      out += ' { keyword: \\'' + ('propertyNames') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { propertyName: \\'' + ($invalidName) + '\\' } ';\n      if (it.opts.messages !== false) {\n        out += ' , message: \\'property name \\\\\\'' + ($invalidName) + '\\\\\\' is invalid\\' ';\n      }\n      if (it.opts.verbose) {\n        out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n      }\n      out += ' } ';\n    } else {\n      out += ' {} ';\n    }\n    out += ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n    if (!it.compositeRule && $breakOnError) {\n      /* istanbul ignore if */\n      if (it.async) {\n        out += ' throw new ValidationError(vErrors); ';\n      } else {\n        out += ' validate.errors = vErrors; return false; ';\n      }\n    }\n    if ($breakOnError) {\n      out += ' break; ';\n    }\n    out += ' } }';\n  }\n  if ($breakOnError) {\n    out += ' ' + ($closingBraces) + ' if (' + ($errs) + ' == errors) {';\n  }\n  return out;\n}\n","'use strict';\nmodule.exports = function generate_ref(it, $keyword, $ruleType) {\n  var out = ' ';\n  var $lvl = it.level;\n  var $dataLvl = it.dataLevel;\n  var $schema = it.schema[$keyword];\n  var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n  var $breakOnError = !it.opts.allErrors;\n  var $data = 'data' + ($dataLvl || '');\n  var $valid = 'valid' + $lvl;\n  var $async, $refCode;\n  if ($schema == '#' || $schema == '#/') {\n    if (it.isRoot) {\n      $async = it.async;\n      $refCode = 'validate';\n    } else {\n      $async = it.root.schema.$async === true;\n      $refCode = 'root.refVal[0]';\n    }\n  } else {\n    var $refVal = it.resolveRef(it.baseId, $schema, it.isRoot);\n    if ($refVal === undefined) {\n      var $message = it.MissingRefError.message(it.baseId, $schema);\n      if (it.opts.missingRefs == 'fail') {\n        it.logger.error($message);\n        var $$outStack = $$outStack || [];\n        $$outStack.push(out);\n        out = ''; /* istanbul ignore else */\n        if (it.createErrors !== false) {\n          out += ' { keyword: \\'' + ('$ref') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { ref: \\'' + (it.util.escapeQuotes($schema)) + '\\' } ';\n          if (it.opts.messages !== false) {\n            out += ' , message: \\'can\\\\\\'t resolve reference ' + (it.util.escapeQuotes($schema)) + '\\' ';\n          }\n          if (it.opts.verbose) {\n            out += ' , schema: ' + (it.util.toQuotedString($schema)) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n          }\n          out += ' } ';\n        } else {\n          out += ' {} ';\n        }\n        var __err = out;\n        out = $$outStack.pop();\n        if (!it.compositeRule && $breakOnError) {\n          /* istanbul ignore if */\n          if (it.async) {\n            out += ' throw new ValidationError([' + (__err) + ']); ';\n          } else {\n            out += ' validate.errors = [' + (__err) + ']; return false; ';\n          }\n        } else {\n          out += ' var err = ' + (__err) + ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n        }\n        if ($breakOnError) {\n          out += ' if (false) { ';\n        }\n      } else if (it.opts.missingRefs == 'ignore') {\n        it.logger.warn($message);\n        if ($breakOnError) {\n          out += ' if (true) { ';\n        }\n      } else {\n        throw new it.MissingRefError(it.baseId, $schema, $message);\n      }\n    } else if ($refVal.inline) {\n      var $it = it.util.copy(it);\n      $it.level++;\n      var $nextValid = 'valid' + $it.level;\n      $it.schema = $refVal.schema;\n      $it.schemaPath = '';\n      $it.errSchemaPath = $schema;\n      var $code = it.validate($it).replace(/validate\\.schema/g, $refVal.code);\n      out += ' ' + ($code) + ' ';\n      if ($breakOnError) {\n        out += ' if (' + ($nextValid) + ') { ';\n      }\n    } else {\n      $async = $refVal.$async === true || (it.async && $refVal.$async !== false);\n      $refCode = $refVal.code;\n    }\n  }\n  if ($refCode) {\n    var $$outStack = $$outStack || [];\n    $$outStack.push(out);\n    out = '';\n    if (it.opts.passContext) {\n      out += ' ' + ($refCode) + '.call(this, ';\n    } else {\n      out += ' ' + ($refCode) + '( ';\n    }\n    out += ' ' + ($data) + ', (dataPath || \\'\\')';\n    if (it.errorPath != '\"\"') {\n      out += ' + ' + (it.errorPath);\n    }\n    var $parentData = $dataLvl ? 'data' + (($dataLvl - 1) || '') : 'parentData',\n      $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : 'parentDataProperty';\n    out += ' , ' + ($parentData) + ' , ' + ($parentDataProperty) + ', rootData)  ';\n    var __callValidate = out;\n    out = $$outStack.pop();\n    if ($async) {\n      if (!it.async) throw new Error('async schema referenced by sync schema');\n      if ($breakOnError) {\n        out += ' var ' + ($valid) + '; ';\n      }\n      out += ' try { await ' + (__callValidate) + '; ';\n      if ($breakOnError) {\n        out += ' ' + ($valid) + ' = true; ';\n      }\n      out += ' } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ';\n      if ($breakOnError) {\n        out += ' ' + ($valid) + ' = false; ';\n      }\n      out += ' } ';\n      if ($breakOnError) {\n        out += ' if (' + ($valid) + ') { ';\n      }\n    } else {\n      out += ' if (!' + (__callValidate) + ') { if (vErrors === null) vErrors = ' + ($refCode) + '.errors; else vErrors = vErrors.concat(' + ($refCode) + '.errors); errors = vErrors.length; } ';\n      if ($breakOnError) {\n        out += ' else { ';\n      }\n    }\n  }\n  return out;\n}\n","'use strict';\nmodule.exports = function generate_required(it, $keyword, $ruleType) {\n  var out = ' ';\n  var $lvl = it.level;\n  var $dataLvl = it.dataLevel;\n  var $schema = it.schema[$keyword];\n  var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n  var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n  var $breakOnError = !it.opts.allErrors;\n  var $data = 'data' + ($dataLvl || '');\n  var $valid = 'valid' + $lvl;\n  var $isData = it.opts.$data && $schema && $schema.$data,\n    $schemaValue;\n  if ($isData) {\n    out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n    $schemaValue = 'schema' + $lvl;\n  } else {\n    $schemaValue = $schema;\n  }\n  var $vSchema = 'schema' + $lvl;\n  if (!$isData) {\n    if ($schema.length < it.opts.loopRequired && it.schema.properties && Object.keys(it.schema.properties).length) {\n      var $required = [];\n      var arr1 = $schema;\n      if (arr1) {\n        var $property, i1 = -1,\n          l1 = arr1.length - 1;\n        while (i1 < l1) {\n          $property = arr1[i1 += 1];\n          var $propertySch = it.schema.properties[$property];\n          if (!($propertySch && (it.opts.strictKeywords ? (typeof $propertySch == 'object' && Object.keys($propertySch).length > 0) || $propertySch === false : it.util.schemaHasRules($propertySch, it.RULES.all)))) {\n            $required[$required.length] = $property;\n          }\n        }\n      }\n    } else {\n      var $required = $schema;\n    }\n  }\n  if ($isData || $required.length) {\n    var $currentErrorPath = it.errorPath,\n      $loopRequired = $isData || $required.length >= it.opts.loopRequired,\n      $ownProperties = it.opts.ownProperties;\n    if ($breakOnError) {\n      out += ' var missing' + ($lvl) + '; ';\n      if ($loopRequired) {\n        if (!$isData) {\n          out += ' var ' + ($vSchema) + ' = validate.schema' + ($schemaPath) + '; ';\n        }\n        var $i = 'i' + $lvl,\n          $propertyPath = 'schema' + $lvl + '[' + $i + ']',\n          $missingProperty = '\\' + ' + $propertyPath + ' + \\'';\n        if (it.opts._errorDataPathProperty) {\n          it.errorPath = it.util.getPathExpr($currentErrorPath, $propertyPath, it.opts.jsonPointers);\n        }\n        out += ' var ' + ($valid) + ' = true; ';\n        if ($isData) {\n          out += ' if (schema' + ($lvl) + ' === undefined) ' + ($valid) + ' = true; else if (!Array.isArray(schema' + ($lvl) + ')) ' + ($valid) + ' = false; else {';\n        }\n        out += ' for (var ' + ($i) + ' = 0; ' + ($i) + ' < ' + ($vSchema) + '.length; ' + ($i) + '++) { ' + ($valid) + ' = ' + ($data) + '[' + ($vSchema) + '[' + ($i) + ']] !== undefined ';\n        if ($ownProperties) {\n          out += ' &&   Object.prototype.hasOwnProperty.call(' + ($data) + ', ' + ($vSchema) + '[' + ($i) + ']) ';\n        }\n        out += '; if (!' + ($valid) + ') break; } ';\n        if ($isData) {\n          out += '  }  ';\n        }\n        out += '  if (!' + ($valid) + ') {   ';\n        var $$outStack = $$outStack || [];\n        $$outStack.push(out);\n        out = ''; /* istanbul ignore else */\n        if (it.createErrors !== false) {\n          out += ' { keyword: \\'' + ('required') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \\'' + ($missingProperty) + '\\' } ';\n          if (it.opts.messages !== false) {\n            out += ' , message: \\'';\n            if (it.opts._errorDataPathProperty) {\n              out += 'is a required property';\n            } else {\n              out += 'should have required property \\\\\\'' + ($missingProperty) + '\\\\\\'';\n            }\n            out += '\\' ';\n          }\n          if (it.opts.verbose) {\n            out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n          }\n          out += ' } ';\n        } else {\n          out += ' {} ';\n        }\n        var __err = out;\n        out = $$outStack.pop();\n        if (!it.compositeRule && $breakOnError) {\n          /* istanbul ignore if */\n          if (it.async) {\n            out += ' throw new ValidationError([' + (__err) + ']); ';\n          } else {\n            out += ' validate.errors = [' + (__err) + ']; return false; ';\n          }\n        } else {\n          out += ' var err = ' + (__err) + ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n        }\n        out += ' } else { ';\n      } else {\n        out += ' if ( ';\n        var arr2 = $required;\n        if (arr2) {\n          var $propertyKey, $i = -1,\n            l2 = arr2.length - 1;\n          while ($i < l2) {\n            $propertyKey = arr2[$i += 1];\n            if ($i) {\n              out += ' || ';\n            }\n            var $prop = it.util.getProperty($propertyKey),\n              $useData = $data + $prop;\n            out += ' ( ( ' + ($useData) + ' === undefined ';\n            if ($ownProperties) {\n              out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \\'' + (it.util.escapeQuotes($propertyKey)) + '\\') ';\n            }\n            out += ') && (missing' + ($lvl) + ' = ' + (it.util.toQuotedString(it.opts.jsonPointers ? $propertyKey : $prop)) + ') ) ';\n          }\n        }\n        out += ') {  ';\n        var $propertyPath = 'missing' + $lvl,\n          $missingProperty = '\\' + ' + $propertyPath + ' + \\'';\n        if (it.opts._errorDataPathProperty) {\n          it.errorPath = it.opts.jsonPointers ? it.util.getPathExpr($currentErrorPath, $propertyPath, true) : $currentErrorPath + ' + ' + $propertyPath;\n        }\n        var $$outStack = $$outStack || [];\n        $$outStack.push(out);\n        out = ''; /* istanbul ignore else */\n        if (it.createErrors !== false) {\n          out += ' { keyword: \\'' + ('required') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \\'' + ($missingProperty) + '\\' } ';\n          if (it.opts.messages !== false) {\n            out += ' , message: \\'';\n            if (it.opts._errorDataPathProperty) {\n              out += 'is a required property';\n            } else {\n              out += 'should have required property \\\\\\'' + ($missingProperty) + '\\\\\\'';\n            }\n            out += '\\' ';\n          }\n          if (it.opts.verbose) {\n            out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n          }\n          out += ' } ';\n        } else {\n          out += ' {} ';\n        }\n        var __err = out;\n        out = $$outStack.pop();\n        if (!it.compositeRule && $breakOnError) {\n          /* istanbul ignore if */\n          if (it.async) {\n            out += ' throw new ValidationError([' + (__err) + ']); ';\n          } else {\n            out += ' validate.errors = [' + (__err) + ']; return false; ';\n          }\n        } else {\n          out += ' var err = ' + (__err) + ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n        }\n        out += ' } else { ';\n      }\n    } else {\n      if ($loopRequired) {\n        if (!$isData) {\n          out += ' var ' + ($vSchema) + ' = validate.schema' + ($schemaPath) + '; ';\n        }\n        var $i = 'i' + $lvl,\n          $propertyPath = 'schema' + $lvl + '[' + $i + ']',\n          $missingProperty = '\\' + ' + $propertyPath + ' + \\'';\n        if (it.opts._errorDataPathProperty) {\n          it.errorPath = it.util.getPathExpr($currentErrorPath, $propertyPath, it.opts.jsonPointers);\n        }\n        if ($isData) {\n          out += ' if (' + ($vSchema) + ' && !Array.isArray(' + ($vSchema) + ')) {  var err =   '; /* istanbul ignore else */\n          if (it.createErrors !== false) {\n            out += ' { keyword: \\'' + ('required') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \\'' + ($missingProperty) + '\\' } ';\n            if (it.opts.messages !== false) {\n              out += ' , message: \\'';\n              if (it.opts._errorDataPathProperty) {\n                out += 'is a required property';\n              } else {\n                out += 'should have required property \\\\\\'' + ($missingProperty) + '\\\\\\'';\n              }\n              out += '\\' ';\n            }\n            if (it.opts.verbose) {\n              out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n            }\n            out += ' } ';\n          } else {\n            out += ' {} ';\n          }\n          out += ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if (' + ($vSchema) + ' !== undefined) { ';\n        }\n        out += ' for (var ' + ($i) + ' = 0; ' + ($i) + ' < ' + ($vSchema) + '.length; ' + ($i) + '++) { if (' + ($data) + '[' + ($vSchema) + '[' + ($i) + ']] === undefined ';\n        if ($ownProperties) {\n          out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', ' + ($vSchema) + '[' + ($i) + ']) ';\n        }\n        out += ') {  var err =   '; /* istanbul ignore else */\n        if (it.createErrors !== false) {\n          out += ' { keyword: \\'' + ('required') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \\'' + ($missingProperty) + '\\' } ';\n          if (it.opts.messages !== false) {\n            out += ' , message: \\'';\n            if (it.opts._errorDataPathProperty) {\n              out += 'is a required property';\n            } else {\n              out += 'should have required property \\\\\\'' + ($missingProperty) + '\\\\\\'';\n            }\n            out += '\\' ';\n          }\n          if (it.opts.verbose) {\n            out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n          }\n          out += ' } ';\n        } else {\n          out += ' {} ';\n        }\n        out += ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } ';\n        if ($isData) {\n          out += '  }  ';\n        }\n      } else {\n        var arr3 = $required;\n        if (arr3) {\n          var $propertyKey, i3 = -1,\n            l3 = arr3.length - 1;\n          while (i3 < l3) {\n            $propertyKey = arr3[i3 += 1];\n            var $prop = it.util.getProperty($propertyKey),\n              $missingProperty = it.util.escapeQuotes($propertyKey),\n              $useData = $data + $prop;\n            if (it.opts._errorDataPathProperty) {\n              it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers);\n            }\n            out += ' if ( ' + ($useData) + ' === undefined ';\n            if ($ownProperties) {\n              out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \\'' + (it.util.escapeQuotes($propertyKey)) + '\\') ';\n            }\n            out += ') {  var err =   '; /* istanbul ignore else */\n            if (it.createErrors !== false) {\n              out += ' { keyword: \\'' + ('required') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \\'' + ($missingProperty) + '\\' } ';\n              if (it.opts.messages !== false) {\n                out += ' , message: \\'';\n                if (it.opts._errorDataPathProperty) {\n                  out += 'is a required property';\n                } else {\n                  out += 'should have required property \\\\\\'' + ($missingProperty) + '\\\\\\'';\n                }\n                out += '\\' ';\n              }\n              if (it.opts.verbose) {\n                out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n              }\n              out += ' } ';\n            } else {\n              out += ' {} ';\n            }\n            out += ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } ';\n          }\n        }\n      }\n    }\n    it.errorPath = $currentErrorPath;\n  } else if ($breakOnError) {\n    out += ' if (true) {';\n  }\n  return out;\n}\n","'use strict';\nmodule.exports = function generate_uniqueItems(it, $keyword, $ruleType) {\n  var out = ' ';\n  var $lvl = it.level;\n  var $dataLvl = it.dataLevel;\n  var $schema = it.schema[$keyword];\n  var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n  var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n  var $breakOnError = !it.opts.allErrors;\n  var $data = 'data' + ($dataLvl || '');\n  var $valid = 'valid' + $lvl;\n  var $isData = it.opts.$data && $schema && $schema.$data,\n    $schemaValue;\n  if ($isData) {\n    out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n    $schemaValue = 'schema' + $lvl;\n  } else {\n    $schemaValue = $schema;\n  }\n  if (($schema || $isData) && it.opts.uniqueItems !== false) {\n    if ($isData) {\n      out += ' var ' + ($valid) + '; if (' + ($schemaValue) + ' === false || ' + ($schemaValue) + ' === undefined) ' + ($valid) + ' = true; else if (typeof ' + ($schemaValue) + ' != \\'boolean\\') ' + ($valid) + ' = false; else { ';\n    }\n    out += ' var i = ' + ($data) + '.length , ' + ($valid) + ' = true , j; if (i > 1) { ';\n    var $itemType = it.schema.items && it.schema.items.type,\n      $typeIsArray = Array.isArray($itemType);\n    if (!$itemType || $itemType == 'object' || $itemType == 'array' || ($typeIsArray && ($itemType.indexOf('object') >= 0 || $itemType.indexOf('array') >= 0))) {\n      out += ' outer: for (;i--;) { for (j = i; j--;) { if (equal(' + ($data) + '[i], ' + ($data) + '[j])) { ' + ($valid) + ' = false; break outer; } } } ';\n    } else {\n      out += ' var itemIndices = {}, item; for (;i--;) { var item = ' + ($data) + '[i]; ';\n      var $method = 'checkDataType' + ($typeIsArray ? 's' : '');\n      out += ' if (' + (it.util[$method]($itemType, 'item', it.opts.strictNumbers, true)) + ') continue; ';\n      if ($typeIsArray) {\n        out += ' if (typeof item == \\'string\\') item = \\'\"\\' + item; ';\n      }\n      out += ' if (typeof itemIndices[item] == \\'number\\') { ' + ($valid) + ' = false; j = itemIndices[item]; break; } itemIndices[item] = i; } ';\n    }\n    out += ' } ';\n    if ($isData) {\n      out += '  }  ';\n    }\n    out += ' if (!' + ($valid) + ') {   ';\n    var $$outStack = $$outStack || [];\n    $$outStack.push(out);\n    out = ''; /* istanbul ignore else */\n    if (it.createErrors !== false) {\n      out += ' { keyword: \\'' + ('uniqueItems') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { i: i, j: j } ';\n      if (it.opts.messages !== false) {\n        out += ' , message: \\'should NOT have duplicate items (items ## \\' + j + \\' and \\' + i + \\' are identical)\\' ';\n      }\n      if (it.opts.verbose) {\n        out += ' , schema:  ';\n        if ($isData) {\n          out += 'validate.schema' + ($schemaPath);\n        } else {\n          out += '' + ($schema);\n        }\n        out += '         , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n      }\n      out += ' } ';\n    } else {\n      out += ' {} ';\n    }\n    var __err = out;\n    out = $$outStack.pop();\n    if (!it.compositeRule && $breakOnError) {\n      /* istanbul ignore if */\n      if (it.async) {\n        out += ' throw new ValidationError([' + (__err) + ']); ';\n      } else {\n        out += ' validate.errors = [' + (__err) + ']; return false; ';\n      }\n    } else {\n      out += ' var err = ' + (__err) + ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n    }\n    out += ' } ';\n    if ($breakOnError) {\n      out += ' else { ';\n    }\n  } else {\n    if ($breakOnError) {\n      out += ' if (true) { ';\n    }\n  }\n  return out;\n}\n","'use strict';\nmodule.exports = function generate_validate(it, $keyword, $ruleType) {\n  var out = '';\n  var $async = it.schema.$async === true,\n    $refKeywords = it.util.schemaHasRulesExcept(it.schema, it.RULES.all, '$ref'),\n    $id = it.self._getId(it.schema);\n  if (it.opts.strictKeywords) {\n    var $unknownKwd = it.util.schemaUnknownRules(it.schema, it.RULES.keywords);\n    if ($unknownKwd) {\n      var $keywordsMsg = 'unknown keyword: ' + $unknownKwd;\n      if (it.opts.strictKeywords === 'log') it.logger.warn($keywordsMsg);\n      else throw new Error($keywordsMsg);\n    }\n  }\n  if (it.isTop) {\n    out += ' var validate = ';\n    if ($async) {\n      it.async = true;\n      out += 'async ';\n    }\n    out += 'function(data, dataPath, parentData, parentDataProperty, rootData) { \\'use strict\\'; ';\n    if ($id && (it.opts.sourceCode || it.opts.processCode)) {\n      out += ' ' + ('/\\*# sourceURL=' + $id + ' */') + ' ';\n    }\n  }\n  if (typeof it.schema == 'boolean' || !($refKeywords || it.schema.$ref)) {\n    var $keyword = 'false schema';\n    var $lvl = it.level;\n    var $dataLvl = it.dataLevel;\n    var $schema = it.schema[$keyword];\n    var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n    var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n    var $breakOnError = !it.opts.allErrors;\n    var $errorKeyword;\n    var $data = 'data' + ($dataLvl || '');\n    var $valid = 'valid' + $lvl;\n    if (it.schema === false) {\n      if (it.isTop) {\n        $breakOnError = true;\n      } else {\n        out += ' var ' + ($valid) + ' = false; ';\n      }\n      var $$outStack = $$outStack || [];\n      $$outStack.push(out);\n      out = ''; /* istanbul ignore else */\n      if (it.createErrors !== false) {\n        out += ' { keyword: \\'' + ($errorKeyword || 'false schema') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} ';\n        if (it.opts.messages !== false) {\n          out += ' , message: \\'boolean schema is false\\' ';\n        }\n        if (it.opts.verbose) {\n          out += ' , schema: false , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n        }\n        out += ' } ';\n      } else {\n        out += ' {} ';\n      }\n      var __err = out;\n      out = $$outStack.pop();\n      if (!it.compositeRule && $breakOnError) {\n        /* istanbul ignore if */\n        if (it.async) {\n          out += ' throw new ValidationError([' + (__err) + ']); ';\n        } else {\n          out += ' validate.errors = [' + (__err) + ']; return false; ';\n        }\n      } else {\n        out += ' var err = ' + (__err) + ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n      }\n    } else {\n      if (it.isTop) {\n        if ($async) {\n          out += ' return data; ';\n        } else {\n          out += ' validate.errors = null; return true; ';\n        }\n      } else {\n        out += ' var ' + ($valid) + ' = true; ';\n      }\n    }\n    if (it.isTop) {\n      out += ' }; return validate; ';\n    }\n    return out;\n  }\n  if (it.isTop) {\n    var $top = it.isTop,\n      $lvl = it.level = 0,\n      $dataLvl = it.dataLevel = 0,\n      $data = 'data';\n    it.rootId = it.resolve.fullPath(it.self._getId(it.root.schema));\n    it.baseId = it.baseId || it.rootId;\n    delete it.isTop;\n    it.dataPathArr = [\"\"];\n    if (it.schema.default !== undefined && it.opts.useDefaults && it.opts.strictDefaults) {\n      var $defaultMsg = 'default is ignored in the schema root';\n      if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg);\n      else throw new Error($defaultMsg);\n    }\n    out += ' var vErrors = null; ';\n    out += ' var errors = 0;     ';\n    out += ' if (rootData === undefined) rootData = data; ';\n  } else {\n    var $lvl = it.level,\n      $dataLvl = it.dataLevel,\n      $data = 'data' + ($dataLvl || '');\n    if ($id) it.baseId = it.resolve.url(it.baseId, $id);\n    if ($async && !it.async) throw new Error('async schema in sync schema');\n    out += ' var errs_' + ($lvl) + ' = errors;';\n  }\n  var $valid = 'valid' + $lvl,\n    $breakOnError = !it.opts.allErrors,\n    $closingBraces1 = '',\n    $closingBraces2 = '';\n  var $errorKeyword;\n  var $typeSchema = it.schema.type,\n    $typeIsArray = Array.isArray($typeSchema);\n  if ($typeSchema && it.opts.nullable && it.schema.nullable === true) {\n    if ($typeIsArray) {\n      if ($typeSchema.indexOf('null') == -1) $typeSchema = $typeSchema.concat('null');\n    } else if ($typeSchema != 'null') {\n      $typeSchema = [$typeSchema, 'null'];\n      $typeIsArray = true;\n    }\n  }\n  if ($typeIsArray && $typeSchema.length == 1) {\n    $typeSchema = $typeSchema[0];\n    $typeIsArray = false;\n  }\n  if (it.schema.$ref && $refKeywords) {\n    if (it.opts.extendRefs == 'fail') {\n      throw new Error('$ref: validation keywords used in schema at path \"' + it.errSchemaPath + '\" (see option extendRefs)');\n    } else if (it.opts.extendRefs !== true) {\n      $refKeywords = false;\n      it.logger.warn('$ref: keywords ignored in schema at path \"' + it.errSchemaPath + '\"');\n    }\n  }\n  if (it.schema.$comment && it.opts.$comment) {\n    out += ' ' + (it.RULES.all.$comment.code(it, '$comment'));\n  }\n  if ($typeSchema) {\n    if (it.opts.coerceTypes) {\n      var $coerceToTypes = it.util.coerceToTypes(it.opts.coerceTypes, $typeSchema);\n    }\n    var $rulesGroup = it.RULES.types[$typeSchema];\n    if ($coerceToTypes || $typeIsArray || $rulesGroup === true || ($rulesGroup && !$shouldUseGroup($rulesGroup))) {\n      var $schemaPath = it.schemaPath + '.type',\n        $errSchemaPath = it.errSchemaPath + '/type';\n      var $schemaPath = it.schemaPath + '.type',\n        $errSchemaPath = it.errSchemaPath + '/type',\n        $method = $typeIsArray ? 'checkDataTypes' : 'checkDataType';\n      out += ' if (' + (it.util[$method]($typeSchema, $data, it.opts.strictNumbers, true)) + ') { ';\n      if ($coerceToTypes) {\n        var $dataType = 'dataType' + $lvl,\n          $coerced = 'coerced' + $lvl;\n        out += ' var ' + ($dataType) + ' = typeof ' + ($data) + '; var ' + ($coerced) + ' = undefined; ';\n        if (it.opts.coerceTypes == 'array') {\n          out += ' if (' + ($dataType) + ' == \\'object\\' && Array.isArray(' + ($data) + ') && ' + ($data) + '.length == 1) { ' + ($data) + ' = ' + ($data) + '[0]; ' + ($dataType) + ' = typeof ' + ($data) + '; if (' + (it.util.checkDataType(it.schema.type, $data, it.opts.strictNumbers)) + ') ' + ($coerced) + ' = ' + ($data) + '; } ';\n        }\n        out += ' if (' + ($coerced) + ' !== undefined) ; ';\n        var arr1 = $coerceToTypes;\n        if (arr1) {\n          var $type, $i = -1,\n            l1 = arr1.length - 1;\n          while ($i < l1) {\n            $type = arr1[$i += 1];\n            if ($type == 'string') {\n              out += ' else if (' + ($dataType) + ' == \\'number\\' || ' + ($dataType) + ' == \\'boolean\\') ' + ($coerced) + ' = \\'\\' + ' + ($data) + '; else if (' + ($data) + ' === null) ' + ($coerced) + ' = \\'\\'; ';\n            } else if ($type == 'number' || $type == 'integer') {\n              out += ' else if (' + ($dataType) + ' == \\'boolean\\' || ' + ($data) + ' === null || (' + ($dataType) + ' == \\'string\\' && ' + ($data) + ' && ' + ($data) + ' == +' + ($data) + ' ';\n              if ($type == 'integer') {\n                out += ' && !(' + ($data) + ' % 1)';\n              }\n              out += ')) ' + ($coerced) + ' = +' + ($data) + '; ';\n            } else if ($type == 'boolean') {\n              out += ' else if (' + ($data) + ' === \\'false\\' || ' + ($data) + ' === 0 || ' + ($data) + ' === null) ' + ($coerced) + ' = false; else if (' + ($data) + ' === \\'true\\' || ' + ($data) + ' === 1) ' + ($coerced) + ' = true; ';\n            } else if ($type == 'null') {\n              out += ' else if (' + ($data) + ' === \\'\\' || ' + ($data) + ' === 0 || ' + ($data) + ' === false) ' + ($coerced) + ' = null; ';\n            } else if (it.opts.coerceTypes == 'array' && $type == 'array') {\n              out += ' else if (' + ($dataType) + ' == \\'string\\' || ' + ($dataType) + ' == \\'number\\' || ' + ($dataType) + ' == \\'boolean\\' || ' + ($data) + ' == null) ' + ($coerced) + ' = [' + ($data) + ']; ';\n            }\n          }\n        }\n        out += ' else {   ';\n        var $$outStack = $$outStack || [];\n        $$outStack.push(out);\n        out = ''; /* istanbul ignore else */\n        if (it.createErrors !== false) {\n          out += ' { keyword: \\'' + ($errorKeyword || 'type') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \\'';\n          if ($typeIsArray) {\n            out += '' + ($typeSchema.join(\",\"));\n          } else {\n            out += '' + ($typeSchema);\n          }\n          out += '\\' } ';\n          if (it.opts.messages !== false) {\n            out += ' , message: \\'should be ';\n            if ($typeIsArray) {\n              out += '' + ($typeSchema.join(\",\"));\n            } else {\n              out += '' + ($typeSchema);\n            }\n            out += '\\' ';\n          }\n          if (it.opts.verbose) {\n            out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n          }\n          out += ' } ';\n        } else {\n          out += ' {} ';\n        }\n        var __err = out;\n        out = $$outStack.pop();\n        if (!it.compositeRule && $breakOnError) {\n          /* istanbul ignore if */\n          if (it.async) {\n            out += ' throw new ValidationError([' + (__err) + ']); ';\n          } else {\n            out += ' validate.errors = [' + (__err) + ']; return false; ';\n          }\n        } else {\n          out += ' var err = ' + (__err) + ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n        }\n        out += ' } if (' + ($coerced) + ' !== undefined) {  ';\n        var $parentData = $dataLvl ? 'data' + (($dataLvl - 1) || '') : 'parentData',\n          $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : 'parentDataProperty';\n        out += ' ' + ($data) + ' = ' + ($coerced) + '; ';\n        if (!$dataLvl) {\n          out += 'if (' + ($parentData) + ' !== undefined)';\n        }\n        out += ' ' + ($parentData) + '[' + ($parentDataProperty) + '] = ' + ($coerced) + '; } ';\n      } else {\n        var $$outStack = $$outStack || [];\n        $$outStack.push(out);\n        out = ''; /* istanbul ignore else */\n        if (it.createErrors !== false) {\n          out += ' { keyword: \\'' + ($errorKeyword || 'type') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \\'';\n          if ($typeIsArray) {\n            out += '' + ($typeSchema.join(\",\"));\n          } else {\n            out += '' + ($typeSchema);\n          }\n          out += '\\' } ';\n          if (it.opts.messages !== false) {\n            out += ' , message: \\'should be ';\n            if ($typeIsArray) {\n              out += '' + ($typeSchema.join(\",\"));\n            } else {\n              out += '' + ($typeSchema);\n            }\n            out += '\\' ';\n          }\n          if (it.opts.verbose) {\n            out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n          }\n          out += ' } ';\n        } else {\n          out += ' {} ';\n        }\n        var __err = out;\n        out = $$outStack.pop();\n        if (!it.compositeRule && $breakOnError) {\n          /* istanbul ignore if */\n          if (it.async) {\n            out += ' throw new ValidationError([' + (__err) + ']); ';\n          } else {\n            out += ' validate.errors = [' + (__err) + ']; return false; ';\n          }\n        } else {\n          out += ' var err = ' + (__err) + ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n        }\n      }\n      out += ' } ';\n    }\n  }\n  if (it.schema.$ref && !$refKeywords) {\n    out += ' ' + (it.RULES.all.$ref.code(it, '$ref')) + ' ';\n    if ($breakOnError) {\n      out += ' } if (errors === ';\n      if ($top) {\n        out += '0';\n      } else {\n        out += 'errs_' + ($lvl);\n      }\n      out += ') { ';\n      $closingBraces2 += '}';\n    }\n  } else {\n    var arr2 = it.RULES;\n    if (arr2) {\n      var $rulesGroup, i2 = -1,\n        l2 = arr2.length - 1;\n      while (i2 < l2) {\n        $rulesGroup = arr2[i2 += 1];\n        if ($shouldUseGroup($rulesGroup)) {\n          if ($rulesGroup.type) {\n            out += ' if (' + (it.util.checkDataType($rulesGroup.type, $data, it.opts.strictNumbers)) + ') { ';\n          }\n          if (it.opts.useDefaults) {\n            if ($rulesGroup.type == 'object' && it.schema.properties) {\n              var $schema = it.schema.properties,\n                $schemaKeys = Object.keys($schema);\n              var arr3 = $schemaKeys;\n              if (arr3) {\n                var $propertyKey, i3 = -1,\n                  l3 = arr3.length - 1;\n                while (i3 < l3) {\n                  $propertyKey = arr3[i3 += 1];\n                  var $sch = $schema[$propertyKey];\n                  if ($sch.default !== undefined) {\n                    var $passData = $data + it.util.getProperty($propertyKey);\n                    if (it.compositeRule) {\n                      if (it.opts.strictDefaults) {\n                        var $defaultMsg = 'default is ignored for: ' + $passData;\n                        if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg);\n                        else throw new Error($defaultMsg);\n                      }\n                    } else {\n                      out += ' if (' + ($passData) + ' === undefined ';\n                      if (it.opts.useDefaults == 'empty') {\n                        out += ' || ' + ($passData) + ' === null || ' + ($passData) + ' === \\'\\' ';\n                      }\n                      out += ' ) ' + ($passData) + ' = ';\n                      if (it.opts.useDefaults == 'shared') {\n                        out += ' ' + (it.useDefault($sch.default)) + ' ';\n                      } else {\n                        out += ' ' + (JSON.stringify($sch.default)) + ' ';\n                      }\n                      out += '; ';\n                    }\n                  }\n                }\n              }\n            } else if ($rulesGroup.type == 'array' && Array.isArray(it.schema.items)) {\n              var arr4 = it.schema.items;\n              if (arr4) {\n                var $sch, $i = -1,\n                  l4 = arr4.length - 1;\n                while ($i < l4) {\n                  $sch = arr4[$i += 1];\n                  if ($sch.default !== undefined) {\n                    var $passData = $data + '[' + $i + ']';\n                    if (it.compositeRule) {\n                      if (it.opts.strictDefaults) {\n                        var $defaultMsg = 'default is ignored for: ' + $passData;\n                        if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg);\n                        else throw new Error($defaultMsg);\n                      }\n                    } else {\n                      out += ' if (' + ($passData) + ' === undefined ';\n                      if (it.opts.useDefaults == 'empty') {\n                        out += ' || ' + ($passData) + ' === null || ' + ($passData) + ' === \\'\\' ';\n                      }\n                      out += ' ) ' + ($passData) + ' = ';\n                      if (it.opts.useDefaults == 'shared') {\n                        out += ' ' + (it.useDefault($sch.default)) + ' ';\n                      } else {\n                        out += ' ' + (JSON.stringify($sch.default)) + ' ';\n                      }\n                      out += '; ';\n                    }\n                  }\n                }\n              }\n            }\n          }\n          var arr5 = $rulesGroup.rules;\n          if (arr5) {\n            var $rule, i5 = -1,\n              l5 = arr5.length - 1;\n            while (i5 < l5) {\n              $rule = arr5[i5 += 1];\n              if ($shouldUseRule($rule)) {\n                var $code = $rule.code(it, $rule.keyword, $rulesGroup.type);\n                if ($code) {\n                  out += ' ' + ($code) + ' ';\n                  if ($breakOnError) {\n                    $closingBraces1 += '}';\n                  }\n                }\n              }\n            }\n          }\n          if ($breakOnError) {\n            out += ' ' + ($closingBraces1) + ' ';\n            $closingBraces1 = '';\n          }\n          if ($rulesGroup.type) {\n            out += ' } ';\n            if ($typeSchema && $typeSchema === $rulesGroup.type && !$coerceToTypes) {\n              out += ' else { ';\n              var $schemaPath = it.schemaPath + '.type',\n                $errSchemaPath = it.errSchemaPath + '/type';\n              var $$outStack = $$outStack || [];\n              $$outStack.push(out);\n              out = ''; /* istanbul ignore else */\n              if (it.createErrors !== false) {\n                out += ' { keyword: \\'' + ($errorKeyword || 'type') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \\'';\n                if ($typeIsArray) {\n                  out += '' + ($typeSchema.join(\",\"));\n                } else {\n                  out += '' + ($typeSchema);\n                }\n                out += '\\' } ';\n                if (it.opts.messages !== false) {\n                  out += ' , message: \\'should be ';\n                  if ($typeIsArray) {\n                    out += '' + ($typeSchema.join(\",\"));\n                  } else {\n                    out += '' + ($typeSchema);\n                  }\n                  out += '\\' ';\n                }\n                if (it.opts.verbose) {\n                  out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n                }\n                out += ' } ';\n              } else {\n                out += ' {} ';\n              }\n              var __err = out;\n              out = $$outStack.pop();\n              if (!it.compositeRule && $breakOnError) {\n                /* istanbul ignore if */\n                if (it.async) {\n                  out += ' throw new ValidationError([' + (__err) + ']); ';\n                } else {\n                  out += ' validate.errors = [' + (__err) + ']; return false; ';\n                }\n              } else {\n                out += ' var err = ' + (__err) + ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n              }\n              out += ' } ';\n            }\n          }\n          if ($breakOnError) {\n            out += ' if (errors === ';\n            if ($top) {\n              out += '0';\n            } else {\n              out += 'errs_' + ($lvl);\n            }\n            out += ') { ';\n            $closingBraces2 += '}';\n          }\n        }\n      }\n    }\n  }\n  if ($breakOnError) {\n    out += ' ' + ($closingBraces2) + ' ';\n  }\n  if ($top) {\n    if ($async) {\n      out += ' if (errors === 0) return data;           ';\n      out += ' else throw new ValidationError(vErrors); ';\n    } else {\n      out += ' validate.errors = vErrors; ';\n      out += ' return errors === 0;       ';\n    }\n    out += ' }; return validate;';\n  } else {\n    out += ' var ' + ($valid) + ' = errors === errs_' + ($lvl) + ';';\n  }\n\n  function $shouldUseGroup($rulesGroup) {\n    var rules = $rulesGroup.rules;\n    for (var i = 0; i < rules.length; i++)\n      if ($shouldUseRule(rules[i])) return true;\n  }\n\n  function $shouldUseRule($rule) {\n    return it.schema[$rule.keyword] !== undefined || ($rule.implements && $ruleImplementsSomeKeyword($rule));\n  }\n\n  function $ruleImplementsSomeKeyword($rule) {\n    var impl = $rule.implements;\n    for (var i = 0; i < impl.length; i++)\n      if (it.schema[impl[i]] !== undefined) return true;\n  }\n  return out;\n}\n","'use strict';\n\nvar IDENTIFIER = /^[a-z_$][a-z0-9_$-]*$/i;\nvar customRuleCode = require('./dotjs/custom');\nvar definitionSchema = require('./definition_schema');\n\nmodule.exports = {\n  add: addKeyword,\n  get: getKeyword,\n  remove: removeKeyword,\n  validate: validateKeyword\n};\n\n\n/**\n * Define custom keyword\n * @this  Ajv\n * @param {String} keyword custom keyword, should be unique (including different from all standard, custom and macro keywords).\n * @param {Object} definition keyword definition object with properties `type` (type(s) which the keyword applies to), `validate` or `compile`.\n * @return {Ajv} this for method chaining\n */\nfunction addKeyword(keyword, definition) {\n  /* jshint validthis: true */\n  /* eslint no-shadow: 0 */\n  var RULES = this.RULES;\n  if (RULES.keywords[keyword])\n    throw new Error('Keyword ' + keyword + ' is already defined');\n\n  if (!IDENTIFIER.test(keyword))\n    throw new Error('Keyword ' + keyword + ' is not a valid identifier');\n\n  if (definition) {\n    this.validateKeyword(definition, true);\n\n    var dataType = definition.type;\n    if (Array.isArray(dataType)) {\n      for (var i=0; i<dataType.length; i++)\n        _addRule(keyword, dataType[i], definition);\n    } else {\n      _addRule(keyword, dataType, definition);\n    }\n\n    var metaSchema = definition.metaSchema;\n    if (metaSchema) {\n      if (definition.$data && this._opts.$data) {\n        metaSchema = {\n          anyOf: [\n            metaSchema,\n            { '$ref': 'https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#' }\n          ]\n        };\n      }\n      definition.validateSchema = this.compile(metaSchema, true);\n    }\n  }\n\n  RULES.keywords[keyword] = RULES.all[keyword] = true;\n\n\n  function _addRule(keyword, dataType, definition) {\n    var ruleGroup;\n    for (var i=0; i<RULES.length; i++) {\n      var rg = RULES[i];\n      if (rg.type == dataType) {\n        ruleGroup = rg;\n        break;\n      }\n    }\n\n    if (!ruleGroup) {\n      ruleGroup = { type: dataType, rules: [] };\n      RULES.push(ruleGroup);\n    }\n\n    var rule = {\n      keyword: keyword,\n      definition: definition,\n      custom: true,\n      code: customRuleCode,\n      implements: definition.implements\n    };\n    ruleGroup.rules.push(rule);\n    RULES.custom[keyword] = rule;\n  }\n\n  return this;\n}\n\n\n/**\n * Get keyword\n * @this  Ajv\n * @param {String} keyword pre-defined or custom keyword.\n * @return {Object|Boolean} custom keyword definition, `true` if it is a predefined keyword, `false` otherwise.\n */\nfunction getKeyword(keyword) {\n  /* jshint validthis: true */\n  var rule = this.RULES.custom[keyword];\n  return rule ? rule.definition : this.RULES.keywords[keyword] || false;\n}\n\n\n/**\n * Remove keyword\n * @this  Ajv\n * @param {String} keyword pre-defined or custom keyword.\n * @return {Ajv} this for method chaining\n */\nfunction removeKeyword(keyword) {\n  /* jshint validthis: true */\n  var RULES = this.RULES;\n  delete RULES.keywords[keyword];\n  delete RULES.all[keyword];\n  delete RULES.custom[keyword];\n  for (var i=0; i<RULES.length; i++) {\n    var rules = RULES[i].rules;\n    for (var j=0; j<rules.length; j++) {\n      if (rules[j].keyword == keyword) {\n        rules.splice(j, 1);\n        break;\n      }\n    }\n  }\n  return this;\n}\n\n\n/**\n * Validate keyword definition\n * @this  Ajv\n * @param {Object} definition keyword definition object.\n * @param {Boolean} throwError true to throw exception if definition is invalid\n * @return {boolean} validation result\n */\nfunction validateKeyword(definition, throwError) {\n  validateKeyword.errors = null;\n  var v = this._validateKeyword = this._validateKeyword\n                                  || this.compile(definitionSchema, true);\n\n  if (v(definition)) return true;\n  validateKeyword.errors = v.errors;\n  if (throwError)\n    throw new Error('custom keyword definition is invalid: '  + this.errorsText(v.errors));\n  else\n    return false;\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _amb = _interopRequireDefault(require(\"./amb.Logger\"));\n\nvar _amb2 = require(\"./amb.Helper\");\n\nvar _amb3 = _interopRequireDefault(require(\"./amb.MessageClientBuilder\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Channel = function Channel(cometd, channelName, initialized) {\n  var subscribeOptionsCallback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () {\n    return {};\n  };\n  var subscription = null;\n  var subscriptionCallbackResponse = null;\n  var listeners = [];\n  var listenerCallbackQueue = [];\n  var LOGGER = new _amb.default('amb.Channel');\n  var idCounter = 0;\n  var _initialized = initialized;\n\n  function _disconnected() {\n    var status = cometd.getStatus();\n    return status === 'disconnecting' || status === 'disconnected';\n  }\n\n  function getSubscriptionCommandSender() {\n    return (0, _amb3.default)().getServerConnection().getSubscriptionCommandSender();\n  }\n\n  return {\n    /**\n     * Subscribe to have this channel's messages be published to the specified\n     * callback.\n     *\n     * @return Integer id for the newly registered listener\n     */\n    subscribe:\n    /*Integer*/\n    function subscribe(listener) {\n      if (!listener.getCallback()) {\n        LOGGER.addErrorMessage('Cannot subscribe to channel: ' + channelName + ', callback not provided');\n        return;\n      }\n\n      for (var i = 0; i < listeners.length; i++) {\n        if (listeners[i] === listener) {\n          LOGGER.debug('Channel listener already in the list');\n          return listener.getID();\n        }\n      }\n\n      listeners.push(listener);\n      var listenerSubCallback = listener.getSubscriptionCallback();\n\n      if (listenerSubCallback) {\n        if (subscriptionCallbackResponse) {\n          listenerSubCallback(subscriptionCallbackResponse);\n        } else {\n          listenerCallbackQueue.push(listenerSubCallback);\n        }\n      }\n\n      if (!subscription && _initialized) {\n        try {\n          this.subscribeToCometD();\n        } catch (e) {\n          LOGGER.addErrorMessage(e);\n          return;\n        }\n      }\n\n      return ++idCounter;\n    },\n    resubscribe:\n    /*void*/\n    function resubscribe() {\n      subscription = null;\n\n      for (var i = 0; i < listeners.length; i++) {\n        listeners[i].resubscribe();\n      }\n    },\n    _handleResponse:\n    /*void*/\n    function _handleResponse(\n    /*Hash*/\n    message) {\n      for (var i = 0; i < listeners.length; i++) {\n        listeners[i].getCallback()(message);\n      }\n    },\n\n    /**\n     * Remove listener from channel, so callback pertaining to listener\n     * no longer receives messages published to channel. When the last\n     * listener is removed, the subscription is destroyed.\n     */\n    unsubscribe:\n    /*void*/\n    function unsubscribe(\n    /*amb.ChannelListener*/\n    listener) {\n      if (!listener) {\n        LOGGER.addErrorMessage('Cannot unsubscribe from channel: ' + channelName + ', listener argument does not exist');\n        return;\n      } // Remove listener\n\n\n      for (var i = 0; i < listeners.length; i++) {\n        if (listeners[i].getID() === listener.getID()) {\n          listeners.splice(i, 1);\n          break;\n        }\n      } // Unsubscribe if we've removed the last listener\n\n\n      if (listeners.length < 1 && subscription && !_disconnected()) this.unsubscribeFromCometD();\n    },\n    publish:\n    /*void*/\n    function publish(\n    /*Hash*/\n    message) {\n      cometd.publish(channelName, message);\n    },\n    subscribeToCometD:\n    /*void*/\n    function subscribeToCometD() {\n      LOGGER.debug(\"subscribeToCometD channelName : \" + channelName + \", subscription : \" + subscription);\n      if (getSubscriptionCommandSender()) getSubscriptionCommandSender().subscribeToChannel(this);else this._subscribeToCometD(this.subscriptionCallback);\n    },\n    _subscribeToCometD: function _subscribeToCometD(overLoadedSubscriptionCallBack) {\n      LOGGER.debug(\"_subscribeToCometD channelName : \" + channelName);\n      var subscribeOptions = subscribeOptionsCallback();\n      if ((0, _amb2.isNil)(subscribeOptions) || (0, _amb2.isEmptyObject)(subscribeOptions)) subscription = cometd.subscribe(channelName, this._handleResponse.bind(this), overLoadedSubscriptionCallBack);else {\n        var subscribeOptionsWrapper = {\n          \"subscribeOptions\": subscribeOptions\n        };\n        subscription = cometd.subscribe(channelName, this._handleResponse.bind(this), subscribeOptionsWrapper, overLoadedSubscriptionCallBack);\n      }\n      LOGGER.debug('Successfully subscribed to channel: ' + channelName + ', Subscribe options: ' + subscribeOptions);\n    },\n\n    /**\n     * Callback that gets fired when a cometd channel subscription is completed.\n     * Triggers channel listener callbacks.\n     * @param response\n     */\n    subscriptionCallback: function subscriptionCallback(response) {\n      LOGGER.debug(\"Cometd subscription callback completed for channel: \" + channelName);\n      LOGGER.debug(\"Listener callback queue size: \" + listenerCallbackQueue.length);\n      subscriptionCallbackResponse = response;\n      listenerCallbackQueue.map(function (listenerSubCallback) {\n        listenerSubCallback(subscriptionCallbackResponse);\n      });\n      listenerCallbackQueue = [];\n    },\n    unsubscribeFromCometD:\n    /*void*/\n    function unsubscribeFromCometD() {\n      LOGGER.debug(\"unsubscribeFromCometD  from : \" + channelName + ', subscription : ' + subscription);\n\n      if (subscription !== null) {\n        if (getSubscriptionCommandSender()) getSubscriptionCommandSender().unsubscribeToChannel(this);else this._unsubscribeFromCometD();\n      }\n    },\n    _unsubscribeFromCometD:\n    /*void*/\n    function _unsubscribeFromCometD() {\n      LOGGER.debug(\"_unsubscribeFromCometD  from : \" + channelName + ', subscription : ' + subscription);\n\n      if (subscription !== null) {\n        cometd.unsubscribe(subscription);\n        subscription = null;\n        subscriptionCallbackResponse = null;\n        LOGGER.debug('Successfully unsubscribed from channel: ' + channelName);\n      }\n    },\n    resubscribeToCometD:\n    /*void*/\n    function resubscribeToCometD() {\n      LOGGER.debug(\"Resubscribe to \" + channelName);\n      if (getSubscriptionCommandSender()) getSubscriptionCommandSender().subscribeToChannel(this);else this._subscribeToCometD(this.subscriptionCallback);\n    },\n    getSubscribeOptionsCallback: function getSubscribeOptionsCallback() {\n      return subscribeOptionsCallback;\n    },\n    getName: function getName() {\n      return channelName;\n    },\n\n    /**\n     * Returns the array of amb.ChannelListeners.\n     * @returns {Array}\n     */\n    getChannelListeners: function getChannelListeners() {\n      return listeners;\n    },\n\n    /**\n     * Returns the array of channel listener subscription callbacks\n     * For unit testing.\n     * @returns {Array}\n     */\n    getListenerCallbackQueue: function getListenerCallbackQueue() {\n      return listenerCallbackQueue;\n    },\n\n    /**\n     * Don't use this, for unit testing.\n     * Need the ability to set the subscription callback response from cometd subscribe callback\n     *\n     * @param response\n     */\n    setSubscriptionCallbackResponse: function setSubscriptionCallbackResponse(response) {\n      subscriptionCallbackResponse = response;\n    }\n  };\n};\n\nvar _default = Channel;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _amb = _interopRequireDefault(require(\"./amb.Logger\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * A listener for an amb channel\n * Returned from amb.getChannel. Client only interacts with cometd through this object.\n * @param channel - amb.Channel\n * @param serverConnection - amb.ServerConnection\n * @param subscriptionCallback - Callback to call on\n * @return amb.ChannelListener this listener\n */\nvar ChannelListener = function ChannelListener(channel, serverConnection, subscriptionCallback) {\n  var id;\n  var messageCallback;\n  var LOGGER = new _amb.default('amb.ChannelListener');\n  var currentChannel = channel;\n  return {\n    getCallback:\n    /*Function*/\n    function getCallback() {\n      return messageCallback;\n    },\n    getSubscriptionCallback: function getSubscriptionCallback() {\n      return subscriptionCallback;\n    },\n    getID:\n    /*Integer*/\n    function getID() {\n      return id;\n    },\n    setNewChannel: function setNewChannel(channel) {\n      currentChannel.unsubscribe(this);\n      currentChannel = channel;\n      this.subscribe(messageCallback);\n    },\n\n    /**\n     * Register this listener with its channel.\n     *\n     * @return amb.ChannelListener this listener\n     */\n    subscribe:\n    /*amb.ChannelListener*/\n    function subscribe(\n    /*Function*/\n    callback) {\n      messageCallback = callback;\n      id = currentChannel.subscribe(this);\n      return this;\n    },\n    resubscribe:\n    /*amb.channelListener*/\n    function resubscribe() {\n      return this.subscribe(messageCallback);\n    },\n\n    /**\n     * Unregister this listener from its channel.\n     *\n     * @return amb.ChannelListener this listener\n     */\n    unsubscribe:\n    /*amb.ChannelListener*/\n    function unsubscribe() {\n      currentChannel.unsubscribe(this);\n      LOGGER.debug(\"Unsubscribed from channel: \" + currentChannel.getName());\n      return this;\n    },\n    publish:\n    /*void*/\n    function publish(\n    /*Hash*/\n    message) {\n      currentChannel.publish(message);\n    },\n    getName:\n    /*String*/\n    function getName() {\n      return currentChannel.getName();\n    }\n  };\n};\n\nvar _default = ChannelListener;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _amb = _interopRequireDefault(require(\"./amb.Logger\"));\n\nvar _amb2 = _interopRequireDefault(require(\"./amb.ChannelListener\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ChannelRedirect = function ChannelRedirect(\n/*cometd*/\ncometd,\n/*amb.ServerConnection*/\nserverConnection) {\n  var _metaChannel;\n\n  var _cometd = cometd;\n  var LOGGER = new _amb.default('amb.ChannelRedirect');\n\n  function _switchToChannel(fromChannel, toChannel) {\n    var listeners = fromChannel.getChannelListeners();\n\n    for (var i = 0; i < listeners.length; i++) {\n      var listener = listeners[i];\n      listener.setNewChannel(toChannel);\n    }\n  }\n\n  function _onAdvice(advice) {\n    LOGGER.debug('_onAdvice:' + advice.data.clientId);\n    var fromChannel = serverConnection.getChannel(advice.data.fromChannel);\n    var toChannel = serverConnection.getChannel(advice.data.toChannel);\n\n    if (!fromChannel || !toChannel) {\n      LOGGER.debug('Could not redirect from ' + advice.data.fromChannel + ' to ' + advice.data.toChannel);\n      return;\n    }\n\n    _switchToChannel(fromChannel, toChannel);\n\n    LOGGER.debug('published channel switch event, fromChannel:' + fromChannel.getName() + ', toChannel:' + toChannel.getName());\n  }\n\n  return {\n    initialize: function initialize(\n    /*Function*/\n    onSubscriptionCompleted) {\n      var channelName = '/sn/meta/channel_redirect/' + _cometd.getClientId();\n\n      var newMetaChannel = serverConnection.getChannel(channelName); // Only do this when we're creating a new redirect channel\n\n      if (!_metaChannel || newMetaChannel !== _metaChannel) {\n        // Delete old redirect channel in case of reconnection\n        if (_metaChannel) serverConnection.removeChannel(_metaChannel.getName());\n        _metaChannel = newMetaChannel; //channelRedirect meta channelListener will not get redirected\n\n        new _amb2.default(_metaChannel, serverConnection, onSubscriptionCompleted).subscribe(_onAdvice);\n      } else _metaChannel.subscribeToCometD();\n\n      LOGGER.debug(\"ChannelRedirect initialized: \" + channelName);\n    },\n    _onAdvice: _onAdvice\n  };\n};\n\nvar _default = ChannelRedirect;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar CrossClientChannel = function CrossClientChannel() {\n  _classCallCheck(this, CrossClientChannel);\n\n  _defineProperty(this, \"emit\", function (eventName, message) {\n    window.localStorage.setItem(eventName, JSON.stringify(message));\n    window.localStorage.removeItem(eventName);\n  });\n\n  _defineProperty(this, \"on\", function (eventName, listener) {\n    window.addEventListener('storage', function (_ref) {\n      var key = _ref.key,\n          newValue = _ref.newValue;\n\n      if (key === eventName && newValue) {\n        listener(JSON.parse(newValue));\n      }\n    });\n  });\n};\n\nvar _default = CrossClientChannel;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar EventManager = function EventManager(events) {\n  var _subscriptions = [];\n  var _idCounter = 0;\n  return {\n    subscribe:\n    /*Number*/\n    function subscribe(\n    /*String*/\n    event,\n    /*Function*/\n    callback) {\n      var id = _idCounter++;\n\n      _subscriptions.push({\n        event: event,\n        callback: callback,\n        id: id\n      });\n\n      return id;\n    },\n    unsubscribe:\n    /*void*/\n    function unsubscribe(\n    /* Number */\n    id) {\n      for (var i = 0; i < _subscriptions.length; i++) {\n        if (id === _subscriptions[i].id) _subscriptions.splice(i, 1);\n      }\n    },\n    publish:\n    /*void*/\n    function publish(event, args) {\n      var subscriptions = this._getSubscriptions(event);\n\n      for (var i = 0; i < subscriptions.length; i++) {\n        subscriptions[i].callback.apply(null, args);\n      }\n    },\n    getEvents:\n    /*Hash*/\n    function getEvents() {\n      return events;\n    },\n    _getSubscriptions: function _getSubscriptions(\n    /*String*/\n    event) {\n      var subscriptions = [];\n\n      for (var i = 0; i < _subscriptions.length; i++) {\n        if (_subscriptions[i].event === event) subscriptions.push(_subscriptions[i]);\n      }\n\n      return subscriptions;\n    }\n  };\n};\n\nvar _default = EventManager;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\n/**\n * Models a simple function queue\n * @param queueSize the maximum allowed queue size\n */\nvar _defaultMaxFunctionQueueSize = 0x7ffffff; // pseudo-infinity: max 32-bit signed int\n\nvar FunctionQueue = function FunctionQueue() {\n  var queueSize = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _defaultMaxFunctionQueueSize;\n  var queueBuffer = [];\n  var maxQueueSize = Math.max(1, Math.floor(queueSize));\n  return {\n    /**\n     * Adds an item to this queue.\n     * @param item  item to add to this queue\n     * @returns  true if the item was added; otherwise false (queue is full)\n     */\n    enqueue: function enqueue(item) {\n      if (this.getAvailableSpace() > 0) {\n        queueBuffer.push(item);\n        return true;\n      }\n\n      return false;\n    },\n\n    /**\n     * Adds multiple items to this queue.\n     * @param items  items to add to this queue\n     * @returns  true if all the items were added; false if insufficient room\n     */\n    enqueueMultiple: function enqueueMultiple(items) {\n      if (this.getAvailableSpace() >= items.length) {\n        queueBuffer = queueBuffer.concat(items);\n        return true;\n      }\n\n      return false;\n    },\n\n    /**\n     * Removes and returns an item from this queue.\n     * @returns  the item removed; otherwise an undefined is returned\n     */\n    dequeue: function dequeue() {\n      var result;\n      if (queueBuffer.length > 0) result = queueBuffer.shift();\n      return result;\n    },\n\n    /**\n     * Removes and returns up to a specified number of items from this queue.\n     * @param count the # of items to remove (if more than contained in queue or negative, undefined is returned)\n     * @returns  an array of containing the items removed, or undefined if count is out of range.\n     */\n    dequeueMultiple: function dequeueMultiple(count) {\n      var retbuf;\n\n      if (count >= 0) {\n        if (queueBuffer.length >= count) {\n          retbuf = [];\n\n          if (count > 0) {\n            retbuf = queueBuffer.slice(0, count);\n            queueBuffer = queueBuffer.slice(count);\n          }\n        }\n      }\n\n      return retbuf;\n    },\n\n    /**\n     * Removes all items from this queue.\n     */\n    clear: function clear() {\n      queueBuffer = [];\n    },\n\n    /**\n     * Returns the # of items in this queue.\n     * @returns  the # of items in this queue.\n     */\n    getSize: function getSize() {\n      return queueBuffer.length;\n    },\n\n    /**\n     * Returns the maximum capacity of this queue.\n     * @returns  the maximum capacity of this queue.\n     */\n    getCapacity: function getCapacity() {\n      return maxQueueSize;\n    },\n\n    /**\n     * Returns the space currently available for more items.\n     * @returns  the space currently available for more items.\n     */\n    getAvailableSpace: function getAvailableSpace() {\n      return maxQueueSize - queueBuffer.length;\n    },\n    getQueueBuffer: function getQueueBuffer() {\n      return queueBuffer;\n    }\n  };\n};\n\nvar _default = FunctionQueue;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _amb = _interopRequireDefault(require(\"./amb.Logger\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar GraphQLSubscriptionExtension = function GraphQLSubscriptionExtension() {\n  var LOGGER = new _amb.default('amb.GraphQLSubscriptionExtension');\n  var RW_GRAPHQL_CHANNEL = '/rw/graphql';\n  var META_SUBSCRIBE = '/meta/subscribe';\n  var graphQLSubscriptions = {};\n\n  this.isGraphQLChannel = function (channel) {\n    return channel && channel.startsWith(RW_GRAPHQL_CHANNEL);\n  };\n\n  this.addGraphQLChannel = function (channel, graphQLSubscription) {\n    graphQLSubscriptions[channel] = graphQLSubscription;\n  };\n\n  this.removeGraphQLChannel = function (channel) {\n    delete graphQLSubscriptions[channel];\n  };\n\n  this.getGraphQLSubscriptions = function () {\n    return graphQLSubscriptions;\n  };\n\n  this.outgoing = function (message) {\n    if (message.channel === META_SUBSCRIBE && this.isGraphQLChannel(message.subscription)) {\n      if (!message.ext) message.ext = {};\n\n      if (graphQLSubscriptions[message.subscription]) {\n        LOGGER.debug('Subscribing with GraphQL subscription:' + graphQLSubscriptions[message.subscription]);\n        message.ext.serializedGraphQLSubscription = graphQLSubscriptions[message.subscription];\n      }\n    }\n\n    return message;\n  };\n};\n\nvar _default = GraphQLSubscriptionExtension;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.isEmptyObject = exports.isObject = exports.isNil = exports.isNull = exports.isUndefined = void 0;\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar isUndefined = function isUndefined(value) {\n  return value === undefined;\n};\n\nexports.isUndefined = isUndefined;\n\nvar isNull = function isNull(value) {\n  return value === null;\n};\n\nexports.isNull = isNull;\n\nvar isNil = function isNil(value) {\n  return isNull(value) || isUndefined(value);\n};\n\nexports.isNil = isNil;\n\nvar isObject = function isObject(x) {\n  return x != null && _typeof(x) === 'object';\n};\n\nexports.isObject = isObject;\n\nvar isEmptyObject = function isEmptyObject(obj) {\n  return isObject(obj) && Object.keys(obj).length === 0;\n};\n\nexports.isEmptyObject = isEmptyObject;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _amb = _interopRequireDefault(require(\"./amb.Properties\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Logger = function Logger(callerType) {\n  function print(\n  /*String*/\n  message) {\n    if (window.console) console.log(callerType + ' ' + message);\n  }\n\n  return {\n    debug: function debug(\n    /*String*/\n    message) {\n      if (_amb.default.logLevel === 'debug') print('[DEBUG] ' + message);\n    },\n    addInfoMessage:\n    /*void*/\n    function addInfoMessage(\n    /*String*/\n    message) {\n      print('[INFO] ' + message);\n    },\n    addErrorMessage:\n    /*void*/\n    function addErrorMessage(\n    /*String*/\n    message) {\n      print('[ERROR] ' + message);\n    },\n    addWarnMessage:\n    /*void*/\n    function addWarnMessage(\n    /*String*/\n    message) {\n      print('[WARN] ' + message);\n    }\n  };\n};\n\nvar _default = Logger;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _cometd = _interopRequireDefault(require(\"cometd\"));\n\nvar _amb = _interopRequireDefault(require(\"./amb.ServerConnection\"));\n\nvar _amb2 = _interopRequireDefault(require(\"./amb.Logger\"));\n\nvar _amb3 = _interopRequireDefault(require(\"./amb.ChannelListener\"));\n\nvar _amb4 = _interopRequireDefault(require(\"./amb.GraphQLSubscriptionExtension\"));\n\nvar _amb5 = require(\"./amb.Properties\");\n\nvar _amb6 = _interopRequireDefault(require(\"./amb.SessionExtension\"));\n\nvar _amb7 = _interopRequireDefault(require(\"./amb.TokenManagementExtension\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar MessageClient = function MessageClient() {\n  var cometd = new _cometd.default.CometD();\n  cometd.registerTransport(_amb5.WEBSOCKET_TYPE_NAME, new _cometd.default.WebSocketTransport(), 0);\n  cometd.registerTransport('long-polling', new _cometd.default.LongPollingTransport(), 1);\n  cometd.unregisterTransport('callback-polling'); // Register extension needed for GraphQL subscriptions.\n\n  var graphQLSubscriptionExtension = new _amb4.default();\n  cometd.registerExtension('graphQLSubscription', graphQLSubscriptionExtension);\n  var sessionExtension = new _amb6.default();\n  cometd.registerExtension(\"sessionExtension\", sessionExtension);\n  var tokenManagementExtension = new _amb7.default();\n  cometd.registerExtension(_amb5.TOKEN_MANAGEMENT_EXTENSION, tokenManagementExtension);\n  var serverConnection = new _amb.default(cometd);\n  var LOGGER = new _amb2.default('amb.MessageClient');\n  var connected = false;\n  return {\n    getServerConnection: function getServerConnection() {\n      return serverConnection;\n    },\n    isLoggedIn: function isLoggedIn() {\n      return serverConnection.isLoggedIn();\n    },\n    loginComplete: function loginComplete() {\n      serverConnection.loginComplete();\n    },\n    reestablishSession: function reestablishSession() {\n      serverConnection.reestablishSession();\n    },\n\n    /**\n     * Server Connection\n     */\n    connect:\n    /*void*/\n    function connect() {\n      if (connected) {\n        LOGGER.addInfoMessage(\">>> connection exists, request satisfied\");\n        return;\n      }\n\n      connected = true;\n      serverConnection.connect();\n    },\n    reload:\n    /*void*/\n    function reload() {\n      connected = false;\n      serverConnection.reload();\n    },\n    abort:\n    /*void*/\n    function abort() {\n      connected = false;\n      serverConnection.abort();\n    },\n    disconnect:\n    /*void*/\n    function disconnect() {\n      connected = false;\n      serverConnection.disconnect();\n    },\n    // For unit testing.\n    isConnected: function isConnected() {\n      return connected;\n    },\n\n    /**\n     * Connection Events\n     */\n    getConnectionEvents:\n    /*Hash*/\n    function getConnectionEvents() {\n      return serverConnection.getEvents();\n    },\n    subscribeToEvent:\n    /*Number*/\n    function subscribeToEvent(\n    /*String*/\n    event,\n    /*Function*/\n    callback) {\n      return serverConnection.subscribeToEvent(event, callback);\n    },\n    unsubscribeFromEvent:\n    /*void*/\n    function unsubscribeFromEvent(\n    /*Number*/\n    id) {\n      serverConnection.unsubscribeFromEvent(id);\n    },\n    getConnectionState:\n    /*String*/\n    function getConnectionState() {\n      return serverConnection.getConnectionState();\n    },\n\n    /**\n     * Client info\n     */\n    getClientId:\n    /*String*/\n    function getClientId() {\n      return cometd.getClientId();\n    },\n\n    /**\n     * Channels\n     */\n    getChannel:\n    /*amb.ChannelListener*/\n    function getChannel(channelName, subscriptionConfig) {\n      var _ref = subscriptionConfig || {},\n          subscriptionCallback = _ref.subscriptionCallback,\n          serializedGraphQLSubscription = _ref.serializedGraphQLSubscription,\n          subscribeOptionsCallback = _ref.subscribeOptionsCallback;\n\n      var channel = serverConnection.getChannel(channelName, subscribeOptionsCallback);\n\n      if (graphQLSubscriptionExtension.isGraphQLChannel(channelName)) {\n        if (serializedGraphQLSubscription) graphQLSubscriptionExtension.addGraphQLChannel(channelName, serializedGraphQLSubscription);else LOGGER.addErrorMessage(\"Serialized subscription not present for GraphQL channel \" + channelName);\n      }\n\n      return new _amb3.default(channel, serverConnection, subscriptionCallback);\n    },\n    removeChannel: function removeChannel(channelName) {\n      serverConnection.removeChannel(channelName);\n      if (graphQLSubscriptionExtension.isGraphQLChannel(channelName)) graphQLSubscriptionExtension.removeGraphQLChannel(channelName);\n    },\n    getChannels: function getChannels() {\n      return serverConnection.getChannels();\n    },\n    extendSession: function extendSession() {\n      sessionExtension.extendSession();\n    },\n    getTokenManagementExtension: function getTokenManagementExtension() {\n      return tokenManagementExtension;\n    },\n\n    /**\n     * Extensions\n     */\n    registerExtension:\n    /*void*/\n    function registerExtension(\n    /*String*/\n    extensionName,\n    /*Object*/\n    extension) {\n      cometd.registerExtension(extensionName, extension);\n    },\n    unregisterExtension:\n    /*void*/\n    function unregisterExtension(\n    /*String*/\n    extensionName) {\n      cometd.unregisterExtension(extensionName);\n    },\n\n    /**\n     * Utility\n     */\n\n    /**\n     * Executes messages in a batch.\n     *\n     * block is an anonymous function, containing a chain of messages to be posted\n     * together, and executed in sequence\n     *\n     * Example:\n     *        block = function() {\n           * \t\t\tchannel.subscribe();\n           *\t\t\tchannel.publish({ user: 'Fred', message: 'Fred has joined the channel' });\n           *\t\t}\n     */\n    batch:\n    /*void*/\n    function batch(\n    /*function(){...}*/\n    block) {\n      cometd.batch(block);\n    }\n  };\n};\n\nvar _default = MessageClient;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _amb = _interopRequireDefault(require(\"./amb.MessageClient\"));\n\nvar _encBase = _interopRequireDefault(require(\"crypto-js/enc-base64\"));\n\nvar _encUtf = _interopRequireDefault(require(\"crypto-js/enc-utf8\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n'use strict';\n\nvar getClient = function getClient() {\n  var client = getParentAmbClient(window);\n\n  if (!client) {\n    /* IE11 has an instance of the amb client for each iframe. This check ensures that there is only one login popup\n    per page by turning off the login popup for clients inside an iframe.\n    */\n    var dontShowLogin = isIE11(window) && window.frameElement !== null;\n    client = wrapClient(buildClient(dontShowLogin), window); // set it for reuse\n\n    setClient(client);\n  }\n\n  return wrapClient(client, window);\n};\n\nfunction getParentAmbClient(clientWindow) {\n  // PRB682487 try/catch in case parent is accessed from an iframe\n  try {\n    // try to find an existing client\n    // PRB713556 do not walk up to the parent window for IE11 as it causes a memory leak.\n    if (!isIE11(clientWindow)) {\n      while (clientWindow !== clientWindow.parent) {\n        if (clientWindow.g_ambClient) {\n          break;\n        }\n\n        clientWindow = clientWindow.parent;\n      }\n    }\n\n    if (clientWindow.g_ambClient) {\n      return clientWindow.g_ambClient;\n    }\n  } catch (e) {\n    console.log('AMB getClient() tried to access parent from an iFrame. Caught error: ' + e);\n  }\n\n  return null;\n}\n\nfunction isIE11(window) {\n  return window.MSInputMethodContext && window.document.documentMode;\n}\n/**\n * Enforces the calling window context for event subscription cleanup\n * @param {AMBClient} client\n * @param {Window} clientWindow\n */\n\n\nfunction wrapClient(client, clientWindow) {\n  if (typeof client.getClientWindow !== 'undefined') {\n    var context = client.getClientWindow(); // we don't need to wrap the client\n\n    if (context === clientWindow) {\n      return client;\n    }\n  }\n\n  var wrappedClient = clone({}, client);\n\n  wrappedClient.getChannel = function (channelName, subscriptionConfig, overrideWindow) {\n    return client.getChannel(channelName, subscriptionConfig, overrideWindow || clientWindow);\n  };\n\n  wrappedClient.getRecordWatcherChannel = function (table, query, actionPrefix, subscriptionConfig, overrideWindow) {\n    return client.getRecordWatcherChannel(table, query, actionPrefix, subscriptionConfig, overrideWindow || clientWindow);\n  };\n\n  wrappedClient.subscribeToEvent = function (event, callback, overrideWindow) {\n    return client.subscribeToEvent(event, callback, overrideWindow || clientWindow);\n  };\n\n  wrappedClient.unsubscribeFromEvent = function (id, overrideWindow) {\n    return client.unsubscribeFromEvent(id, overrideWindow || clientWindow);\n  };\n\n  wrappedClient.getClientWindow = function () {\n    return clientWindow;\n  };\n\n  return wrappedClient;\n}\n/**\n * Shallow object clone\n * @param {Object} dest\n * @param {Object} source\n * @return {Object}\n */\n\n\nfunction clone(dest, source) {\n  for (var prop in source) {\n    if (Object.prototype.hasOwnProperty.call(source, prop)) dest[prop] = source[prop];\n  }\n\n  return dest;\n}\n\nfunction setClient(client) {\n  var _window = window.self;\n  _window.g_ambClient = client; // disconnect when the client is unloaded\n\n  _window.addEventListener(\"unload\", function () {\n    _window.g_ambClient.disconnect();\n  }); // auto-connect on load or timeout\n\n\n  var documentReadyState = _window.document ? _window.document.readyState : null;\n  if (documentReadyState === 'complete') autoConnect();else _window.addEventListener('load', autoConnect);\n  setTimeout(autoConnect, 10000);\n  var initiatedConnection = false;\n\n  function autoConnect() {\n    if (!initiatedConnection) {\n      initiatedConnection = true;\n\n      _window.g_ambClient.connect();\n    }\n  }\n}\n\nfunction buildClient(dontShowLogin) {\n  return function () {\n    var ambClient = new _amb.default();\n    var clientSubscriptions = buildClientSubscriptions();\n    var serverConnection = ambClient.getServerConnection();\n\n    if (dontShowLogin) {\n      serverConnection.setLoginWindowEnabled(false);\n    }\n\n    return {\n      getServerConnection: function getServerConnection() {\n        return serverConnection;\n      },\n      connect:\n      /*void*/\n      function connect() {\n        ambClient.connect();\n      },\n      abort:\n      /*void*/\n      function abort() {\n        ambClient.abort();\n      },\n      disconnect:\n      /*void*/\n      function disconnect() {\n        ambClient.disconnect();\n      },\n      getConnectionState:\n      /*String*/\n      function getConnectionState() {\n        return ambClient.getConnectionState();\n      },\n      getState:\n      /*String*/\n      function getState() {\n        return ambClient.getConnectionState();\n      },\n      getClientId:\n      /*String*/\n      function getClientId() {\n        return ambClient.getClientId();\n      },\n      getChannel:\n      /*amb.ChannelListener*/\n      function getChannel(channelName, subscriptionConfig, windowContext) {\n        var channel = ambClient.getChannel(channelName, subscriptionConfig);\n        var originalSubscribe = channel.subscribe;\n        var originalUnsubscribe = channel.unsubscribe;\n        windowContext = windowContext || window;\n\n        channel.subscribe = function (listener) {\n          clientSubscriptions.add(windowContext, channel, listener, function () {\n            channel.unsubscribe(listener);\n          });\n          windowContext.addEventListener('unload', function () {\n            ambClient.removeChannel(channelName);\n          });\n          originalSubscribe.call(channel, listener);\n          return channel;\n        };\n\n        channel.unsubscribe = function (listener) {\n          clientSubscriptions.remove(windowContext, channel, listener);\n          var call = originalUnsubscribe.call(channel, listener);\n\n          if (serverConnection.getChannel(channelName).getChannelListeners().length === 0) {\n            ambClient.removeChannel(channelName);\n          }\n\n          return call;\n        };\n\n        return channel;\n      },\n      getChannel0:\n      /*amb.ChannelListener*/\n      function getChannel0(\n      /*String*/\n      channelName,\n      /*Function*/\n      subscriptionCallback) {\n        return ambClient.getChannel(channelName, subscriptionCallback);\n      },\n\n      /**\n       * Creates a channel with a properly encoded name required for Record Watcher. Returns a channel listener.\n       *\n       * @param {string} table\n       * @param {string} query\n       * @param {string} actionPrefix\n       * @param {Object<*>} subscriptionConfig\n       * @param {Object<*>} windowContext\n       * @returns {*|amb.ChannelListener}\n       */\n      getRecordWatcherChannel: function getRecordWatcherChannel(table, query, actionPrefix, subscriptionConfig, windowContext) {\n        // replace base64 padding character due to '=' is invalid channel name\n        var base64EncodedQuery = _encBase.default.stringify(_encUtf.default.parse(query)).replace(/=/g, '-');\n\n        actionPrefix = actionPrefix || 'default';\n        return this.getChannel('/rw/' + actionPrefix + '/' + table + '/' + base64EncodedQuery, subscriptionConfig, windowContext);\n      },\n      registerExtension:\n      /*void*/\n      function registerExtension(\n      /*String*/\n      extensionName,\n      /*Object*/\n      extension) {\n        ambClient.registerExtension(extensionName, extension);\n      },\n      unregisterExtension:\n      /*void*/\n      function unregisterExtension(\n      /*String*/\n      extensionName) {\n        ambClient.unregisterExtension(extensionName);\n      },\n      batch:\n      /*void*/\n      function batch(\n      /*function(){...}*/\n      block) {\n        ambClient.batch(block);\n      },\n      subscribeToEvent:\n      /*Number*/\n      function subscribeToEvent(\n      /*String*/\n      event,\n      /*Function*/\n      callback,\n      /*Object*/\n      windowContext) {\n        windowContext = windowContext || window;\n        var id = ambClient.subscribeToEvent(event, callback);\n        clientSubscriptions.add(windowContext, id, true, function () {\n          ambClient.unsubscribeFromEvent(id);\n        });\n        return id;\n      },\n      unsubscribeFromEvent:\n      /*void*/\n      function unsubscribeFromEvent(\n      /*Number*/\n      id,\n      /*Object*/\n      windowContext) {\n        windowContext = windowContext || window;\n        clientSubscriptions.remove(windowContext, id, true);\n        ambClient.unsubscribeFromEvent(id);\n      },\n      isLoggedIn:\n      /*boolean*/\n      function isLoggedIn() {\n        return ambClient.isLoggedIn();\n      },\n      getConnectionEvents:\n      /*Hash*/\n      function getConnectionEvents() {\n        return ambClient.getConnectionEvents();\n      },\n      getEvents:\n      /*Hash*/\n      function getEvents() {\n        return ambClient.getConnectionEvents();\n      },\n      reestablishSession: function reestablishSession() {\n        ambClient.reestablishSession();\n      },\n      loginComplete: function loginComplete() {\n        ambClient.loginComplete();\n      },\n      getChannels: function getChannels() {\n        return ambClient.getChannels();\n      },\n      extendSession: function extendSession() {\n        return ambClient.extendSession();\n      },\n      getTokenManagementExtension: function getTokenManagementExtension() {\n        return ambClient.getTokenManagementExtension();\n      }\n    };\n  }();\n\n  function buildClientSubscriptions() {\n    var contexts = [];\n\n    function addSubscription(clientWindow, id, callback, unsubscribe) {\n      if (!clientWindow || !callback || !unsubscribe) return;\n      removeSubscription(clientWindow, id, callback);\n      var context = getContext(clientWindow);\n\n      if (!context) {\n        context = createContext(clientWindow);\n      }\n\n      if (context.unloading) return;\n      context.subscriptions.push({\n        id: id,\n        callback: callback,\n        unsubscribe: unsubscribe\n      });\n    }\n\n    function removeSubscription(clientWindow, id, callback) {\n      if (!clientWindow || !callback) return;\n      var context = getContext(clientWindow);\n      if (!context) return;\n      var subscriptions = context.subscriptions;\n\n      for (var i = subscriptions.length - 1; i >= 0; i--) {\n        if (subscriptions[i].id === id && subscriptions[i].callback === callback) subscriptions.splice(i, 1);\n      }\n    }\n\n    function getContext(clientWindow) {\n      for (var i = 0, iM = contexts.length; i < iM; i++) {\n        if (contexts[i].window === clientWindow) return contexts[i];\n      }\n\n      return null;\n    }\n\n    function createContext(clientWindow) {\n      var context = {\n        window: clientWindow,\n        onUnload: function onUnload() {\n          context.unloading = true;\n          var subscriptions = context.subscriptions;\n          var subscription;\n\n          while (subscription = subscriptions.pop()) {\n            subscription.unsubscribe();\n          }\n\n          destroyContext(context);\n        },\n        unloading: false,\n        subscriptions: []\n      };\n      clientWindow.addEventListener('unload', context.onUnload);\n      contexts.push(context);\n      return context;\n    }\n\n    function destroyContext(context) {\n      for (var i = 0, iM = contexts.length; i < iM; i++) {\n        if (contexts[i].window === context.window) {\n          contexts.splice(i, 1);\n          break;\n        }\n      }\n\n      context.subscriptions = [];\n      context.window.removeEventListener('unload', context.onUnload);\n      context.onUnload = null;\n      context.window = null;\n    }\n\n    return {\n      add: addSubscription,\n      remove: removeSubscription\n    };\n  }\n}\n\nvar _default = getClient;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = exports.TOKEN_MANAGEMENT_EXTENSION = exports.WEBSOCKET_TYPE_NAME = void 0;\nvar properties = {\n  servletPath: 'amb',\n  logLevel: 'info',\n  loginWindow: 'true',\n  wsConnectTimeout: 10000,\n  overlayStyle: '',\n  subscribeCommandsFlow: {\n    /* glide.amb.client.subscribe.commands.flow.* ... */\n    enable: false,\n    maxInflight: 1,\n    maxWait: 10000,\n    retries: 3,\n    retryDelay: {\n      min: 2000,\n      max: 300000,\n      increaseFactor: 2\n    }\n  }\n};\nvar WEBSOCKET_TYPE_NAME = 'websocket';\nexports.WEBSOCKET_TYPE_NAME = WEBSOCKET_TYPE_NAME;\nvar TOKEN_MANAGEMENT_EXTENSION = \"tokenManagementExtension\";\nexports.TOKEN_MANAGEMENT_EXTENSION = TOKEN_MANAGEMENT_EXTENSION;\nvar _default = properties;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _amb = _interopRequireDefault(require(\"./amb.EventManager\"));\n\nvar _amb2 = _interopRequireDefault(require(\"./amb.Logger\"));\n\nvar _amb3 = _interopRequireWildcard(require(\"./amb.Properties\"));\n\nvar _amb4 = _interopRequireDefault(require(\"./amb.ChannelRedirect\"));\n\nvar _amb5 = _interopRequireDefault(require(\"./amb.Channel\"));\n\nvar _amb6 = _interopRequireDefault(require(\"./amb.CrossClientChannel\"));\n\nvar _amb7 = require(\"./amb.Helper\");\n\nvar _amb8 = _interopRequireDefault(require(\"./amb.FunctionQueue\"));\n\nvar _amb9 = _interopRequireDefault(require(\"./amb.SubscriptionCommandSender\"));\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ServerConnection = function ServerConnection(cometd) {\n  var crossClientChannel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new _amb6.default();\n  var connected = false;\n  var disconnecting = false;\n  var eventManager = new _amb.default({\n    CONNECTION_INITIALIZED: 'connection.initialized',\n    CONNECTION_OPENED: 'connection.opened',\n    CONNECTION_CLOSED: 'connection.closed',\n    CONNECTION_BROKEN: 'connection.broken',\n    SESSION_LOGGED_IN: 'session.logged.in',\n    SESSION_LOGGED_OUT: 'session.logged.out',\n    SESSION_INVALIDATED: 'session.invalidated',\n    SESSION_REESTABLISHED: 'session.reestablished'\n  });\n  var sessionStates = {\n    SESSION_LOGGED_IN: 'session.logged.in',\n    SESSION_LOGGED_OUT: 'session.logged.out',\n    SESSION_INVALIDATED: 'session.invalidated'\n  };\n  var state = \"closed\";\n  var channels = {};\n  var LOGGER = new _amb2.default('amb.ServerConnection');\n\n  _initializeMetaChannelListeners();\n\n  var sessionStatus = sessionStates.SESSION_INVALIDATED;\n  var loginWindow = null;\n  var loginWindowEnabled = _amb3.default['loginWindow'] === 'true';\n  var lastError = null;\n  var errorMessages = {\n    'UNKNOWN_CLIENT': '402::Unknown client'\n  };\n  var loginWindowOverride = false;\n  var ambServerConnection = {};\n  var needToReestablishSession = false;\n  var channelRedirect = new _amb4.default(cometd, ambServerConnection);\n  var initialized = false;\n  var SESSION_LOGOUT_OVERLAY_STYLE = 'glide.amb.session.logout.overlay.style';\n  var GLIDE_SESSION_STATUS = 'glide.session.status';\n  var TOUCH_HTTP_SESSION = 'session.touch.http';\n  var REESTABLISH_SESSION = 'amb.ServerConnection.reestablish.session';\n  var tokenManagementExtension = cometd.getExtension(_amb3.TOKEN_MANAGEMENT_EXTENSION);\n  var subscriptionCommandSender = null;\n  /**\n   * Connection maintenance\n   */\n\n  ambServerConnection.connect =\n  /*void*/\n  function () {\n    // Protection against anyone who things they should be calling connect\n    if (connected) {\n      LOGGER.debug(\">>> connection exists, request satisfied\");\n      return;\n    }\n\n    LOGGER.debug('Connecting to glide amb server -> ' + _amb3.default['servletURI']);\n    cometd.configure({\n      url: ambServerConnection.getURL(_amb3.default['servletPath']),\n      logLevel: _amb3.default.logLevel,\n      connectTimeout: _amb3.default['wsConnectTimeout']\n    });\n    cometd.handshake();\n    crossClientChannel.on(REESTABLISH_SESSION, function () {\n      ambServerConnection._reestablishSession(false);\n    });\n  };\n\n  ambServerConnection.reload =\n  /*void*/\n  function () {\n    cometd.reload();\n  };\n\n  ambServerConnection.abort =\n  /*void*/\n  function () {\n    cometd.getTransport().abort();\n  };\n\n  ambServerConnection.disconnect =\n  /*void*/\n  function () {\n    LOGGER.debug('Disconnecting from glide amb server..');\n    disconnecting = true;\n    cometd.disconnect();\n  };\n\n  ambServerConnection.getURL = function (ambServletPath) {\n    return window.location.protocol + '//' + window.location.host + '/' + ambServletPath;\n  };\n  /**\n   * Initialize connection event callbacks\n   */\n\n\n  function _initializeMetaChannelListeners() {\n    cometd.addListener('/meta/handshake', this, _metaHandshake);\n    cometd.addListener('/meta/connect', this, _metaConnect);\n    cometd.addListener('/meta/subscribe', this, applyAMBProperties);\n    cometd.addListener('/meta/unsubscribe', this, applyAMBProperties);\n  }\n  /**\n   * Connection event listeners\n   */\n\n\n  function _metaHandshake(message) {\n    var logoutOverlayStyle = getExt(message, SESSION_LOGOUT_OVERLAY_STYLE);\n\n    if (logoutOverlayStyle) {\n      _amb3.default.overlayStyle = logoutOverlayStyle;\n    }\n\n    sessionStatus = getExt(message, GLIDE_SESSION_STATUS);\n    applySubscriptionCommandFlowProperties(message);\n    setTimeout(function () {\n      if (message['successful']) _connectionInitialized();\n    }, 0);\n  }\n\n  function getExt(message, extensionName) {\n    if ((0, _amb7.isObject)(message.ext)) return message.ext[extensionName];\n  }\n\n  function _getChannel(\n  /*String*/\n  channelName, subscriptionOptionsCallback) {\n    if (channelName in channels) return channels[channelName];\n    var channel = new _amb5.default(cometd, channelName, initialized, subscriptionOptionsCallback);\n    channels[channelName] = channel;\n    return channel;\n  }\n\n  function _removeChannel(channelName) {\n    delete channels[channelName];\n  }\n\n  function applyAMBProperties(message) {\n    if (message.ext) {\n      if (message.ext['glide.amb.active'] === false) {\n        ambServerConnection.disconnect();\n      }\n\n      var logLevel = getExt(message, 'glide.amb.client.log.level');\n\n      if (logLevel) {\n        _amb3.default.logLevel = logLevel;\n        cometd.setLogLevel(_amb3.default.logLevel);\n      }\n    }\n  }\n\n  function _getIntMessageExtProperty(valueStr, defaultVal) {\n    var propValue = Math.floor(parseInt(valueStr));\n    if (isNaN(propValue) || propValue < 0) propValue = defaultVal;\n    return propValue;\n  }\n\n  function _getBooleanMessageExtProperty(valueStr, defaultVal) {\n    var propValue = defaultVal;\n    if (!(0, _amb7.isNil)(valueStr)) propValue = valueStr ? true : false;\n    return propValue;\n  }\n\n  function applySubscriptionCommandFlowProperties(message) {\n    if (!message.ext) return;\n    var glideAMBSubscribeCommandsFlow = message.ext['subscribeCommandsFlow'];\n    if (!glideAMBSubscribeCommandsFlow) return;\n    var subCommandFlowDefault = _amb3.default.subscribeCommandsFlow;\n    _amb3.default.subscribeCommandsFlow.enable = _getBooleanMessageExtProperty(glideAMBSubscribeCommandsFlow['enable'], subCommandFlowDefault.enable);\n\n    if (_amb3.default.subscribeCommandsFlow.enable) {\n      _amb3.default.subscribeCommandsFlow.retries = _getIntMessageExtProperty(glideAMBSubscribeCommandsFlow['retries'], subCommandFlowDefault.retries);\n      _amb3.default.subscribeCommandsFlow.maxInflight = _getIntMessageExtProperty(glideAMBSubscribeCommandsFlow['maxInflight'], subCommandFlowDefault.maxInflight);\n      _amb3.default.subscribeCommandsFlow.maxWait = _getIntMessageExtProperty(glideAMBSubscribeCommandsFlow['maxWait'], subCommandFlowDefault.maxWait);\n      var glideAMBRetryDelay = glideAMBSubscribeCommandsFlow['retryDelay'];\n\n      if (glideAMBRetryDelay) {\n        var retryDelayDefault = _amb3.default.subscribeCommandsFlow.retryDelay;\n        _amb3.default.subscribeCommandsFlow.retryDelay.min = _getIntMessageExtProperty(glideAMBRetryDelay['min'], retryDelayDefault.min);\n        _amb3.default.subscribeCommandsFlow.retryDelay.max = _getIntMessageExtProperty(glideAMBRetryDelay['max'], retryDelayDefault.max);\n        _amb3.default.subscribeCommandsFlow.retryDelay.increaseFactor = _getIntMessageExtProperty(glideAMBRetryDelay['increaseFactor'], retryDelayDefault.increaseFactor);\n      }\n    }\n\n    _initializeSubscriptionCommandSender();\n  }\n\n  function _initializeSubscriptionCommandSender() {\n    if (_amb3.default.subscribeCommandsFlow.enable) {\n      LOGGER.addInfoMessage(\"_initializeSubscriptionCommandSender: SubscriptionCommandSender is enabled\");\n      if (tokenManagementExtension != null) tokenManagementExtension.updateTokenCount(_amb3.default.subscribeCommandsFlow.maxInflight);\n      if (subscriptionCommandSender) subscriptionCommandSender.stop();\n      subscriptionCommandSender = new _amb9.default(new _amb8.default(10000), tokenManagementExtension);\n    }\n  }\n\n  function _resubscribeAll() {\n    LOGGER.debug(\"Resubscribing to all!\");\n\n    for (var name in channels) {\n      var channel = channels[name];\n      channel && channel.resubscribeToCometD();\n    }\n  }\n\n  function _unsubscribeAll() {\n    LOGGER.debug(\"Unsubscribing from all!\");\n\n    for (var channelName in channels) {\n      var channel = channels[channelName];\n      channel && channel.unsubscribeFromCometD();\n    }\n  }\n\n  function _metaConnect(\n  /*Hash*/\n  message) {\n    applyAMBProperties(message);\n\n    if (disconnecting) {\n      setTimeout(function () {\n        connected = false;\n\n        _connectionClosed();\n      }, 0);\n      return;\n    }\n\n    var shouldTouchHttpSession = getExt(message, TOUCH_HTTP_SESSION);\n    if (isWebsocketTransport() && shouldTouchHttpSession === true) ambServerConnection._touchHttpSession();\n    var error = message['error'];\n    if (error) lastError = error;\n\n    _sessionStatus(message);\n\n    var wasConnected = connected;\n    connected = message['successful'] === true;\n    if (!wasConnected && connected) _connectionOpened();else if (wasConnected && !connected) _connectionBroken();\n  }\n\n  function isWebsocketTransport() {\n    return _amb3.WEBSOCKET_TYPE_NAME === cometd.getTransport().getType();\n  }\n\n  function _touchHttpSession() {\n    var request = new XMLHttpRequest();\n    request.open(\"POST\", \"/amb\", true);\n    request.setRequestHeader(\"Content-type\", \"application/json\");\n    request.send();\n  }\n\n  function _connectionInitialized() {\n    LOGGER.debug('Connection initialized');\n    initialized = true;\n    state = \"initialized\";\n\n    _publishEvent(eventManager.getEvents().CONNECTION_INITIALIZED);\n  }\n\n  function _connectionOpened() {\n    LOGGER.debug('Connection opened');\n\n    if (needToReestablishSession) {\n      _setupSession();\n    } else {\n      channelRedirect.initialize(_onChannelRedirectSubscriptionComplete);\n    }\n  }\n\n  function _onChannelRedirectSubscriptionComplete() {\n    _resubscribeAll();\n\n    state = \"opened\";\n\n    _publishEvent(eventManager.getEvents().CONNECTION_OPENED);\n  }\n\n  function _setupSession() {\n    if (ambServerConnection.getLastError() !== ambServerConnection.getErrorMessages().UNKNOWN_CLIENT) return;\n    ambServerConnection.setLastError(null);\n\n    ambServerConnection._sendSessionSetupRequest(function (_ref) {\n      var status = _ref.status;\n      if (status !== 200) return;\n      needToReestablishSession = false;\n      channelRedirect.initialize(_onChannelRedirectSubscriptionComplete);\n    });\n  }\n\n  function _sendRequestToSetUpGlideSession() {\n    var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function () {};\n\n    // We are reconnected, but the GlideSession may not have been set up. We currently do not support\n    // re-establishing a connection from an AMB message (CometD 2.X does not support asynchronous\n    // request handling).\n    var xhr = _buildSetUpSessionRequest();\n\n    xhr.onload = function () {\n      return callback(xhr);\n    };\n\n    xhr.send();\n  }\n\n  function _buildSetUpSessionRequest() {\n    LOGGER.debug(\"sending /amb_session_setup.do!\");\n    var request = new XMLHttpRequest();\n    request.open(\"POST\", \"/amb_session_setup.do\", true);\n    request.setRequestHeader(\"Content-type\", \"application/json;charset=UTF-8\");\n    request.setRequestHeader(\"X-UserToken\", window.g_ck);\n    request.setRequestHeader(\"X-CometD_SessionID\", cometd.getClientId());\n    return request;\n  }\n\n  function _connectionClosed() {\n    LOGGER.debug('Connection closed');\n    state = \"closed\";\n\n    _publishEvent(eventManager.getEvents().CONNECTION_CLOSED);\n  }\n\n  function _connectionBroken() {\n    LOGGER.addErrorMessage('Connection broken');\n    state = \"broken\";\n    needToReestablishSession = true;\n\n    _publishEvent(eventManager.getEvents().CONNECTION_BROKEN);\n\n    _stopSubscriptionCommandSender();\n  }\n\n  function _stopSubscriptionCommandSender() {\n    if (subscriptionCommandSender) {\n      subscriptionCommandSender.stop();\n      subscriptionCommandSender = null;\n    }\n  }\n  /**\n   * Session management/maintenance\n   */\n\n\n  function _sessionStatus(\n  /*Hash*/\n  message) {\n    var newSessionStatus = getExt(message, GLIDE_SESSION_STATUS);\n    if (!newSessionStatus || newSessionStatus === sessionStatus) return;\n    loginWindowOverride = getExt(message, 'glide.amb.login.window.override') === true;\n\n    _processSessionStatus(newSessionStatus);\n  }\n\n  function _processSessionStatus(newSessionStatus) {\n    LOGGER.debug('session.status - ' + newSessionStatus);\n\n    if (isSessionInvalidated(newSessionStatus)) {\n      _invalidated();\n    } else if (isLoggedOut(newSessionStatus)) {\n      _loggedOut();\n    } else if (isReestablished(newSessionStatus)) {\n      _reestablished();\n    } else if (isLoggedIn(newSessionStatus)) {\n      _loggedIn();\n    }\n\n    sessionStatus = newSessionStatus;\n  }\n\n  function isLoggedIn(newSessionStatus) {\n    return (sessionStatus === sessionStates.SESSION_INVALIDATED || sessionStatus === sessionStates.SESSION_LOGGED_OUT) && newSessionStatus === sessionStates.SESSION_LOGGED_IN;\n  }\n\n  function isLoggedOut(newSessionStatus) {\n    return sessionStatus === sessionStates.SESSION_LOGGED_IN && newSessionStatus === sessionStates.SESSION_LOGGED_OUT;\n  }\n\n  function isReestablished(newSessionStatus) {\n    return sessionStatus === sessionStates.SESSION_INVALIDATED && newSessionStatus === sessionStates.SESSION_LOGGED_OUT;\n  }\n  /**\n   * For logged in users session invalidation happens instead of being logged out when they have remember me on\n   */\n\n\n  function isSessionInvalidated(newSessionStatus) {\n    return (sessionStatus === sessionStates.SESSION_LOGGED_IN || sessionStatus === sessionStates.SESSION_LOGGED_OUT) && newSessionStatus === sessionStates.SESSION_INVALIDATED;\n  }\n\n  function _loggedIn() {\n    LOGGER.debug(\"LOGGED_IN event fire!\");\n\n    _resubscribeAll();\n\n    _publishEvent(eventManager.getEvents().SESSION_LOGGED_IN);\n\n    ambServerConnection.loginHide();\n  }\n\n  function _loggedOut() {\n    LOGGER.debug(\"LOGGED_OUT event fire!\");\n\n    _unsubscribeAll();\n\n    _publishEvent(eventManager.getEvents().SESSION_LOGGED_OUT);\n\n    if (loginWindowEnabled && !loginWindowOverride) {\n      ambServerConnection.loginShow();\n    }\n  }\n\n  function _reestablished() {\n    LOGGER.debug(\"REESTABLISHED event fire!\");\n\n    _resubscribeAll();\n\n    _publishEvent(eventManager.getEvents().SESSION_REESTABLISHED);\n  }\n\n  function _invalidated() {\n    LOGGER.debug(\"INVALIDATED event fire!\");\n\n    _unsubscribeAll();\n\n    _publishEvent(eventManager.getEvents().SESSION_INVALIDATED);\n  }\n\n  function _publishEvent(event) {\n    try {\n      eventManager.publish(event);\n    } catch (e) {\n      LOGGER.addErrorMessage(\"error publishing '\" + event + \"' - \" + e);\n    }\n  }\n\n  function _emitReestablishSession() {\n    crossClientChannel.emit(REESTABLISH_SESSION, REESTABLISH_SESSION);\n  }\n  /**\n   * Channel management\n   */\n\n\n  ambServerConnection.unsubscribeAll = function () {\n    _unsubscribeAll();\n  };\n\n  ambServerConnection.resubscribeAll = function () {\n    _resubscribeAll();\n  };\n\n  ambServerConnection.removeChannel = function (\n  /*String*/\n  channelName) {\n    _removeChannel(channelName);\n  };\n  /**\n   * Connection event management\n   */\n\n\n  ambServerConnection.getEvents = function () {\n    return eventManager.getEvents();\n  };\n\n  ambServerConnection.getConnectionState = function () {\n    return state;\n  };\n\n  ambServerConnection.getLastError = function () {\n    return lastError;\n  };\n\n  ambServerConnection.setLastError = function (\n  /*String*/\n  error) {\n    lastError = error;\n  };\n\n  ambServerConnection.getErrorMessages =\n  /*Hash*/\n  function () {\n    return errorMessages;\n  };\n\n  ambServerConnection.isLoggedIn = function () {\n    return sessionStatus === sessionStates.SESSION_LOGGED_IN;\n  };\n\n  ambServerConnection.isSessionActive = function () {\n    return sessionStatus !== sessionStates.SESSION_INVALIDATED;\n  };\n\n  ambServerConnection.getChannelRedirect = function () {\n    return channelRedirect;\n  };\n\n  ambServerConnection.getChannel = function (\n  /*String*/\n  channelName, subscriptionOptionsCallback) {\n    return _getChannel(channelName, subscriptionOptionsCallback);\n  };\n\n  ambServerConnection.getChannels = function () {\n    return channels;\n  };\n\n  ambServerConnection.getState = function () {\n    return state;\n  };\n\n  ambServerConnection.getLoginWindowOverlayStyle = function () {\n    return _amb3.default.overlayStyle;\n  };\n\n  ambServerConnection.loginShow = function () {\n    LOGGER.debug(\"Show login window\"); // noinspection HtmlUnknownTarget\n\n    var modalContent = '<iframe src=\"/amb_login.do\" frameborder=\"0\" height=\"400px\" width=\"405px\" scrolling=\"no\"></iframe>';\n    var modalTemplate = \"<div id=\\\"amb_disconnect_modal\\\" tabindex=\\\"-1\\\" aria-hidden=\\\"true\\\" class=\\\"modal\\\" role=\\\"dialog\\\" style=\\\"\".concat(_amb3.default.overlayStyle, \"\\\">\\n\\t\\t\\t\\t<div class=\\\"modal-dialog small-modal\\\" style=\\\"width:450px\\\">\\n\\t\\t\\t\\t   <div class=\\\"modal-content\\\">\\n\\t\\t\\t\\t\\t  <header class=\\\"modal-header\\\">\\n\\t\\t\\t\\t\\t\\t <h4 id=\\\"small_modal1_title\\\" class=\\\"modal-title\\\">Login</h4>\\n\\t\\t\\t\\t\\t  </header>\\n\\t\\t\\t\\t\\t  <div class=\\\"modal-body\\\">\\n\\t\\t\\t\\t\\t  </div>\\n\\t\\t\\t\\t   </div>\\n\\t\\t\\t\\t</div>\\n\\t\\t\\t</div>\"); // Protect against GlideModal not being defined\n\n    try {\n      var dialog = new GlideModal('amb_disconnect_modal'); // on older browsers the class has a different api\n\n      if (dialog['renderWithContent']) {\n        dialog.template = modalTemplate;\n        dialog.renderWithContent(modalContent);\n      } else {\n        dialog.setBody(modalContent);\n        dialog.render();\n      }\n\n      loginWindow = dialog;\n    } catch (e) {\n      LOGGER.debug(e);\n    }\n  };\n\n  ambServerConnection.loginHide = function () {\n    if (!loginWindow) return;\n    loginWindow.destroy();\n    loginWindow = null;\n  };\n\n  ambServerConnection.loginComplete = function () {\n    ambServerConnection.reestablishSession();\n  };\n\n  function _reestablishSession(emit) {\n    ambServerConnection._sendSessionSetupRequest(function (_ref2) {\n      var response = _ref2.response;\n      if (!response) return;\n      var status = JSON.parse(response)['glide.session.status'];\n\n      _processSessionStatus(status);\n    });\n\n    if (emit) _emitReestablishSession();\n  }\n\n  ambServerConnection.reestablishSession = function () {\n    ambServerConnection._reestablishSession(true);\n  };\n\n  ambServerConnection.subscribeToEvent =\n  /*Number*/\n  function (\n  /*String*/\n  event,\n  /*Function*/\n  callback) {\n    // If we're already connected, and someone subscribes to the connection opened\n    // event, just fire their callback\n    if (eventManager.getEvents().CONNECTION_OPENED === event && connected) callback();\n    return eventManager.subscribe(event, callback);\n  };\n\n  ambServerConnection.unsubscribeFromEvent =\n  /*void*/\n  function (\n  /*Number*/\n  id) {\n    eventManager.unsubscribe(id);\n  };\n\n  ambServerConnection.isLoginWindowEnabled =\n  /*Boolean*/\n  function () {\n    return loginWindowEnabled;\n  };\n\n  ambServerConnection.setLoginWindowEnabled = function (enableLoginWindow) {\n    loginWindowEnabled = enableLoginWindow;\n  };\n\n  ambServerConnection.isLoginWindowOverride = function () {\n    return loginWindowOverride;\n  };\n\n  ambServerConnection.getSubscriptionCommandSender = function () {\n    return subscriptionCommandSender;\n  };\n  /* These are for testing, do not use. */\n\n\n  ambServerConnection._metaConnect = _metaConnect;\n  ambServerConnection._metaHandshake = _metaHandshake;\n  ambServerConnection._sendSessionSetupRequest = _sendRequestToSetUpGlideSession;\n  ambServerConnection._onChannelRedirectSubscriptionComplete = _onChannelRedirectSubscriptionComplete;\n  ambServerConnection._getChannel = _getChannel;\n  ambServerConnection._removeChannel = _removeChannel;\n  ambServerConnection._connectionInitialized = _connectionInitialized;\n  ambServerConnection._connectionOpened = _connectionOpened;\n  ambServerConnection._reestablishSession = _reestablishSession;\n  ambServerConnection._touchHttpSession = _touchHttpSession;\n  return ambServerConnection;\n};\n\nvar _default = ServerConnection;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _amb = _interopRequireDefault(require(\"./amb.Logger\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SessionExtension = function SessionExtension() {\n  var LOGGER = new _amb.default('amb.SessionExtension');\n  var META_CONNECT = '/meta/connect';\n  var extendSession = false;\n\n  this.extendSession = function () {\n    extendSession = true;\n  };\n\n  this.outgoing = function (message) {\n    if (message.channel === META_CONNECT && extendSession) {\n      if (!message.ext) message.ext = {};\n      LOGGER.debug('extendSession');\n      message.ext.extendSession = true;\n      extendSession = false;\n    }\n\n    return message;\n  };\n};\n\nvar _default = SessionExtension;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _amb = _interopRequireDefault(require(\"./amb.Properties\"));\n\nvar _amb2 = require(\"./amb.Helper\");\n\nvar _amb3 = _interopRequireDefault(require(\"./amb.Logger\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Controls the flow of subscription-related (subscribe, resubscribe, unsubscribe) commands\n * @param commandQueue  the queue to hold commands to process.\n */\nvar SubscriptionCommandSender = function SubscriptionCommandSender(commandQueue, tokenManager) {\n  var CommandModes = {\n    SUBSCRIBE: \"subscribe\",\n    UNSUBSCRIBE: \"unsubscribe\"\n  };\n  var HTTP_STATUS_ACCEPTED = 202;\n  var HTTP_STATUS_TOO_MANY_REQUESTS = 429;\n  var maxTimeInterval = 5 * 60 * 1000;\n  /* 5 minutes in milliseconds */\n\n  var LOGGER = new _amb3.default('amb.SubscriptionCommandSender');\n  registerToTokenAvailabilityListener();\n  var stopping = !_amb.default.subscribeCommandsFlow.enable;\n  var timerObject = null;\n\n  function _clamp(val, minLimit, maxLimit) {\n    return Math.min(maxLimit, Math.max(minLimit, val));\n  }\n\n  function getTokenCount() {\n    return _clamp(tokenManager.getTokenCount(), 0, _amb.default.subscribeCommandsFlow.maxInflight);\n  }\n\n  function isBucketFull() {\n    return tokenManager.getTokenCount() >= _amb.default.subscribeCommandsFlow.maxInflight;\n  }\n\n  function registerToTokenAvailabilityListener() {\n    tokenManager.addTokenAvailabilityListener(function () {\n      processQueue();\n    });\n  }\n\n  function restartTimer() {\n    var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n    if (force || (0, _amb2.isNil)(timerObject)) {\n      var timeInterval = _clamp(_amb.default.subscribeCommandsFlow.maxWait, 0, maxTimeInterval);\n\n      LOGGER.debug(\"restartTimer - force: \" + force + \", timerObject : \" + timerObject + \", timeInterval : \" + timeInterval);\n      stopTimer();\n      timerObject = setTimeout(function () {\n        onTimer();\n      }, timeInterval);\n    }\n  }\n\n  function stopTimer() {\n    if (!(0, _amb2.isNil)(timerObject)) {\n      LOGGER.debug(\"stopTimer\");\n      clearTimeout(timerObject);\n      timerObject = null;\n    }\n  }\n\n  function signalStop() {\n    LOGGER.debug(\"signalStop - stopping : \" + stopping);\n\n    if (!stopping) {\n      stopping = true;\n      stopTimer();\n      commandQueue.clear();\n    }\n  }\n\n  function getRetryDelay() {\n    var delay = parseInt(_amb.default.subscribeCommandsFlow.retryDelay.min);\n    delay = _clamp(delay, 0, maxTimeInterval);\n    return delay;\n  }\n\n  function scheduleRetry(channel, triesLeft, mode, retryDelay) {\n    LOGGER.debug(\"scheduleRetry - channel : \" + channel.getName() + \", triesLeft : \" + triesLeft + \", mode : \" + mode);\n    var retryMessage;\n    var newRetryDelay = getNewRetryDelay(retryDelay);\n\n    switch (mode) {\n      case CommandModes.SUBSCRIBE:\n        {\n          retryMessage = function retryMessage() {\n            return enqueueSubscribe(channel, triesLeft, newRetryDelay);\n          };\n\n          break;\n        }\n\n      case CommandModes.UNSUBSCRIBE:\n        {\n          retryMessage = function retryMessage() {\n            return enqueueUnsubscribe(channel, triesLeft, newRetryDelay);\n          };\n\n          break;\n        }\n    }\n\n    if (!(0, _amb2.isNil)(retryMessage)) setTimeout(retryMessage, retryDelay);\n  }\n\n  function onResponse(response, channel, mode, triesLeft, retryDelay) {\n    LOGGER.debug(\"onResponse - response \".concat(JSON.stringify(response), \", channel \").concat(JSON.stringify(channel), \", mode : \").concat(mode, \", \\n\\t\\t\\ttriesLeft \").concat(triesLeft, \", stopping : \").concat(stopping, \", tokenCount : \").concat(tokenManager.getTokenCount(), \", isBucketFull - \").concat(isBucketFull(), \", retryDelay - \").concat(retryDelay));\n\n    if (!stopping) {\n      triesLeft = triesLeft - 1;\n      if (isBucketFull()) stopTimer();\n      if (triesLeft > 0 && isRetriable(response)) scheduleRetry(channel, triesLeft, mode, retryDelay);else channel.subscriptionCallback(response);\n      processQueue();\n    } else channel.subscriptionCallback(response);\n  }\n\n  function getNewRetryDelay(retryDelay) {\n    return _clamp(_amb.default.subscribeCommandsFlow.retryDelay.increaseFactor * retryDelay, _amb.default.subscribeCommandsFlow.retryDelay.min, _amb.default.subscribeCommandsFlow.retryDelay.max);\n  }\n\n  function onTimer() {\n    timerObject = null;\n    LOGGER.debug(\"onTimer - stopping : \" + stopping);\n\n    if (!stopping) {\n      tokenManager.refillTokens();\n      processQueue();\n    }\n  }\n\n  function addItemToQueue(item) {\n    LOGGER.debug(\"addItemToQueue - item : \" + item);\n\n    if (commandQueue.enqueue(item)) {\n      processQueue();\n      return true;\n    }\n\n    return false;\n  }\n\n  function enqueueSubscribe(channel) {\n    var triesLeft = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n    var retryDelay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : getRetryDelay();\n    LOGGER.debug(\"enqueueSubscribe - channel: \" + channel.getName() + \", triesLeft : \" + triesLeft + \", stopping : \" + stopping + \", retryDelay : \" + retryDelay);\n\n    if (!stopping) {\n      if ((0, _amb2.isObject)(channel)) {\n        if ((0, _amb2.isNil)(triesLeft)) triesLeft = 1 + Math.floor(_amb.default.subscribeCommandsFlow.retries);\n\n        if (triesLeft > 0) {\n          var item = function item() {\n            LOGGER.debug(\"enqueueSubscribe - inside the item execution. Calling channel._subscribeToCometD - channel: \" + channel.getName() + \", triesLeft : \" + triesLeft);\n\n            channel._subscribeToCometD(function (resp) {\n              return onResponse(resp, channel, CommandModes.SUBSCRIBE, triesLeft, retryDelay);\n            });\n          };\n\n          return addItemToQueue(item);\n        }\n      }\n    }\n\n    return false;\n  }\n\n  function enqueueUnsubscribe(channel) {\n    var triesLeft = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n    var retryDelay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : getRetryDelay();\n    LOGGER.debug(\"enqueueUnsubscribe - channel: \" + channel.getName() + \", triesLeft : \" + triesLeft + \", stopping : \" + stopping + \", retryDelay : \" + retryDelay);\n\n    if (!stopping) {\n      if ((0, _amb2.isObject)(channel)) {\n        if ((0, _amb2.isNil)(triesLeft)) triesLeft = 1 + Math.floor(_amb.default.subscribeCommandsFlow.retries);\n\n        if (triesLeft > 0) {\n          var item = function item() {\n            channel._unsubscribeFromCometD(function (resp) {\n              return onResponse(resp, channel, CommandModes.UNSUBSCRIBE, triesLeft, retryDelay);\n            });\n          };\n\n          return addItemToQueue(item);\n        }\n      }\n    }\n\n    return false;\n  }\n\n  function isRetriable(response) {\n    LOGGER.debug(\"isRetriable - response : \" + response);\n\n    if (response && response.ext) {\n      var isRejected = response.ext['rejected_by_glide'];\n\n      if (isRejected) {\n        var statusCode = parseInt(response.ext['glide.amb.reply.status.code']);\n        LOGGER.addWarnMessage(\"isRetriable - rejected_by_glide : \" + isRejected + \", glide.amb.reply.status.code : \" + statusCode);\n        if (!isNaN(statusCode)) return statusCode == HTTP_STATUS_TOO_MANY_REQUESTS || statusCode == HTTP_STATUS_ACCEPTED;\n      }\n    }\n\n    LOGGER.debug(\"isRetriable -  \" + false);\n    return false;\n  }\n\n  function processQueue() {\n    var numberToProcess = Math.min(commandQueue.getSize(), getTokenCount());\n    LOGGER.debug(\"processQueue - numberToProcess : \" + numberToProcess);\n\n    if (numberToProcess > 0) {\n      var itemsToRun = commandQueue.dequeueMultiple(numberToProcess);\n      itemsToRun.forEach(function (item) {\n        return (0, _amb2.isNil)(item) || item();\n      });\n      restartTimer(false); // false: don't push the timer farther away if already running.\n    }\n  }\n\n  return {\n    /**\n     * Adds a request to subscribe to the specified channel.\n     * @param channel  the channel to subscribe\n     * @returns  true if accepted; false if there's insufficient room\n     */\n    subscribeToChannel: function subscribeToChannel(channel) {\n      LOGGER.debug(\"subscribeToChannel - to : \" + channel.getName());\n      return enqueueSubscribe(channel);\n    },\n\n    /**\n     * Adds a request to unsubscribe to the specified channel.\n     * @param channel  the channel to unsubscribe\n     * @returns  true if accepted; false if there's insufficient room\n     */\n    unsubscribeToChannel: function unsubscribeToChannel(channel) {\n      LOGGER.debug(\"unsubscribeToChannel - from : \" + channel.getName());\n      return enqueueUnsubscribe(channel);\n    },\n\n    /**\n     * Signals this instance to stop.\n     */\n    stop: function stop() {\n      LOGGER.debug(\"stop\");\n      signalStop();\n    },\n\n    /**\n     * Whether this instance is stopped or stopping.\n     * @returns  true if stopped or stopping; otherwise false.\n     */\n    isStopping: function isStopping() {\n      return stopping;\n    },\n    getQueue: function getQueue() {\n      return commandQueue;\n    },\n    isBucketEmpty: function isBucketEmpty() {\n      return !isBucketFull();\n    },\n    getTimerObject: function getTimerObject() {\n      return timerObject;\n    },\n    getTokenCountFromTokenManager: function getTokenCountFromTokenManager() {\n      return tokenManager.getTokenCount();\n    }\n  };\n};\n\nvar _default = SubscriptionCommandSender;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _amb = _interopRequireDefault(require(\"./amb.Logger\"));\n\nvar _amb2 = _interopRequireDefault(require(\"./amb.Properties\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar TokenManagementExtension = function TokenManagementExtension() {\n  var LOGGER = new _amb.default('amb.TokenManagementExtension');\n  var META_SUBSCRIBE = '/meta/subscribe';\n  var META_UNSUBSCRIBE = '/meta/unsubscribe';\n  var META_HANDSHAKE = '/meta/handshake';\n  var tokenCount = _amb2.default.subscribeCommandsFlow.maxInflight;\n  var tokenEventListeners = [];\n\n  this.updateTokenCount = function (count) {\n    tokenCount = count;\n  };\n\n  this.refillTokens = function () {\n    tokenCount = _amb2.default.subscribeCommandsFlow.maxInflight;\n    notifyOnAvailabilityOfToken();\n    LOGGER.debug(\"refillTokens -- tokenCount : \" + tokenCount);\n  };\n\n  function isMetaSubUnsubChannel(message) {\n    return message.channel == META_SUBSCRIBE || message.channel == META_UNSUBSCRIBE;\n  }\n\n  function isReceivedByGlideAndMetaSubUnsubChannel(message) {\n    if (!message.ext) return false;\n    var receivedByGlide = message.ext['received_by_glide'];\n    if (!receivedByGlide) return false;\n    return receivedByGlide && isMetaSubUnsubChannel(receivedByGlide);\n  }\n\n  function isMetaHandshake(message) {\n    return message.channel === META_HANDSHAKE;\n  }\n\n  this.outgoing = function (message) {\n    if (isMetaHandshake(message)) {\n      if (!message.ext) message.ext = {};\n      message.ext.supportsSubscribeCommandFlow = true;\n    }\n\n    if (!_amb2.default.subscribeCommandsFlow.enable) return message;\n    if (isMetaSubUnsubChannel(message) && tokenCount > 0) tokenCount--;\n    return message;\n  };\n\n  this.incoming = function (message) {\n    if (!_amb2.default.subscribeCommandsFlow.enable) return message;\n\n    if (isMetaSubUnsubChannel(message)) {\n      if (tokenCount < _amb2.default.subscribeCommandsFlow.maxInflight) tokenCount++;\n      notifyOnAvailabilityOfToken();\n    } else if (isReceivedByGlideAndMetaSubUnsubChannel(message)) {\n      message = null; // Make cometd not to call back any listeners based on the message id.\n    }\n\n    return message;\n  };\n\n  this.getTokenCount = function () {\n    return tokenCount;\n  };\n\n  this.addTokenAvailabilityListener = function (tokenEventListener) {\n    if (!tokenEventListener) return;\n    LOGGER.debug(\"addTokenAvailabilityListener - tokenEventListener : \" + tokenEventListener);\n    tokenEventListeners.push(tokenEventListener);\n  };\n\n  this.removeTokenAvailabilityListener = function (tokenEventListener) {\n    if (!tokenEventListener) return;\n    LOGGER.debug(\"removeTokenAvailabilityListener - tokenEventListener : \" + tokenEventListener);\n    var removeIndex = tokenEventListeners.findIndex(function (listener) {\n      return tokenEventListener === listener;\n    });\n\n    if (removeIndex !== -1) {\n      LOGGER.debug(\"removeTokenAvailabilityListener - removing listener at index : \" + removeIndex);\n      tokenEventListeners.splice(removeIndex, 1);\n    }\n  };\n\n  function notifyOnAvailabilityOfToken() {\n    LOGGER.debug(\"notifyOnAvailabilityOfToken - current tokenCount: \" + tokenCount);\n\n    try {\n      tokenEventListeners.forEach(function (listener) {\n        listener();\n      });\n    } catch (error) {\n      LOGGER.addErrorMessage(\"notifyOnAvailabilityOfToken - failed to call tokenEventListeners. Error Details : \" + error);\n    }\n  }\n};\n\nvar _default = TokenManagementExtension;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _amb = _interopRequireDefault(require(\"./amb.Properties\"));\n\nvar _amb2 = _interopRequireDefault(require(\"./amb.Logger\"));\n\nvar _amb3 = _interopRequireDefault(require(\"./amb.EventManager\"));\n\nvar _amb4 = _interopRequireDefault(require(\"./amb.ServerConnection\"));\n\nvar _amb5 = _interopRequireDefault(require(\"./amb.ChannelRedirect\"));\n\nvar _amb6 = _interopRequireDefault(require(\"./amb.ChannelListener\"));\n\nvar _amb7 = _interopRequireDefault(require(\"./amb.Channel\"));\n\nvar _amb8 = _interopRequireDefault(require(\"./amb.MessageClient\"));\n\nvar _amb9 = _interopRequireDefault(require(\"./amb.MessageClientBuilder\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar amb = {\n  properties: _amb.default,\n  Logger: _amb2.default,\n  EventManager: _amb3.default,\n  ServerConnection: _amb4.default,\n  ChannelRedirect: _amb5.default,\n  ChannelListener: _amb6.default,\n  Channel: _amb7.default,\n  MessageClient: _amb8.default,\n  getClient: _amb9.default\n};\nvar _default = amb;\nexports.default = _default;","// Currently in sync with Node.js lib/assert.js\n// https://github.com/nodejs/node/commit/2a51ae424a513ec9a6aa3466baa0cc1d55dd4f3b\n\n// Originally from narwhal.js (http://narwhaljs.org)\n// Copyright (c) 2009 Thomas Robinson <280north.com>\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the 'Software'), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nvar _require = require('./internal/errors'),\n  _require$codes = _require.codes,\n  ERR_AMBIGUOUS_ARGUMENT = _require$codes.ERR_AMBIGUOUS_ARGUMENT,\n  ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n  ERR_INVALID_ARG_VALUE = _require$codes.ERR_INVALID_ARG_VALUE,\n  ERR_INVALID_RETURN_VALUE = _require$codes.ERR_INVALID_RETURN_VALUE,\n  ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS;\nvar AssertionError = require('./internal/assert/assertion_error');\nvar _require2 = require('util/'),\n  inspect = _require2.inspect;\nvar _require$types = require('util/').types,\n  isPromise = _require$types.isPromise,\n  isRegExp = _require$types.isRegExp;\nvar objectAssign = require('object.assign/polyfill')();\nvar objectIs = require('object-is/polyfill')();\nvar RegExpPrototypeTest = require('call-bind/callBound')('RegExp.prototype.test');\nvar errorCache = new Map();\nvar isDeepEqual;\nvar isDeepStrictEqual;\nvar parseExpressionAt;\nvar findNodeAround;\nvar decoder;\nfunction lazyLoadComparison() {\n  var comparison = require('./internal/util/comparisons');\n  isDeepEqual = comparison.isDeepEqual;\n  isDeepStrictEqual = comparison.isDeepStrictEqual;\n}\n\n// Escape control characters but not \\n and \\t to keep the line breaks and\n// indentation intact.\n// eslint-disable-next-line no-control-regex\nvar escapeSequencesRegExp = /[\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f]/g;\nvar meta = [\"\\\\u0000\", \"\\\\u0001\", \"\\\\u0002\", \"\\\\u0003\", \"\\\\u0004\", \"\\\\u0005\", \"\\\\u0006\", \"\\\\u0007\", '\\\\b', '', '', \"\\\\u000b\", '\\\\f', '', \"\\\\u000e\", \"\\\\u000f\", \"\\\\u0010\", \"\\\\u0011\", \"\\\\u0012\", \"\\\\u0013\", \"\\\\u0014\", \"\\\\u0015\", \"\\\\u0016\", \"\\\\u0017\", \"\\\\u0018\", \"\\\\u0019\", \"\\\\u001a\", \"\\\\u001b\", \"\\\\u001c\", \"\\\\u001d\", \"\\\\u001e\", \"\\\\u001f\"];\nvar escapeFn = function escapeFn(str) {\n  return meta[str.charCodeAt(0)];\n};\nvar warned = false;\n\n// The assert module provides functions that throw\n// AssertionError's when particular conditions are not met. The\n// assert module must conform to the following interface.\n\nvar assert = module.exports = ok;\nvar NO_EXCEPTION_SENTINEL = {};\n\n// All of the following functions must throw an AssertionError\n// when a corresponding condition is not met, with a message that\n// may be undefined if not provided. All assertion methods provide\n// both the actual and expected values to the assertion error for\n// display purposes.\n\nfunction innerFail(obj) {\n  if (obj.message instanceof Error) throw obj.message;\n  throw new AssertionError(obj);\n}\nfunction fail(actual, expected, message, operator, stackStartFn) {\n  var argsLen = arguments.length;\n  var internalMessage;\n  if (argsLen === 0) {\n    internalMessage = 'Failed';\n  } else if (argsLen === 1) {\n    message = actual;\n    actual = undefined;\n  } else {\n    if (warned === false) {\n      warned = true;\n      var warn = process.emitWarning ? process.emitWarning : console.warn.bind(console);\n      warn('assert.fail() with more than one argument is deprecated. ' + 'Please use assert.strictEqual() instead or only pass a message.', 'DeprecationWarning', 'DEP0094');\n    }\n    if (argsLen === 2) operator = '!=';\n  }\n  if (message instanceof Error) throw message;\n  var errArgs = {\n    actual: actual,\n    expected: expected,\n    operator: operator === undefined ? 'fail' : operator,\n    stackStartFn: stackStartFn || fail\n  };\n  if (message !== undefined) {\n    errArgs.message = message;\n  }\n  var err = new AssertionError(errArgs);\n  if (internalMessage) {\n    err.message = internalMessage;\n    err.generatedMessage = true;\n  }\n  throw err;\n}\nassert.fail = fail;\n\n// The AssertionError is defined in internal/error.\nassert.AssertionError = AssertionError;\nfunction innerOk(fn, argLen, value, message) {\n  if (!value) {\n    var generatedMessage = false;\n    if (argLen === 0) {\n      generatedMessage = true;\n      message = 'No value argument passed to `assert.ok()`';\n    } else if (message instanceof Error) {\n      throw message;\n    }\n    var err = new AssertionError({\n      actual: value,\n      expected: true,\n      message: message,\n      operator: '==',\n      stackStartFn: fn\n    });\n    err.generatedMessage = generatedMessage;\n    throw err;\n  }\n}\n\n// Pure assertion tests whether a value is truthy, as determined\n// by !!value.\nfunction ok() {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n  innerOk.apply(void 0, [ok, args.length].concat(args));\n}\nassert.ok = ok;\n\n// The equality assertion tests shallow, coercive equality with ==.\n/* eslint-disable no-restricted-properties */\nassert.equal = function equal(actual, expected, message) {\n  if (arguments.length < 2) {\n    throw new ERR_MISSING_ARGS('actual', 'expected');\n  }\n  // eslint-disable-next-line eqeqeq\n  if (actual != expected) {\n    innerFail({\n      actual: actual,\n      expected: expected,\n      message: message,\n      operator: '==',\n      stackStartFn: equal\n    });\n  }\n};\n\n// The non-equality assertion tests for whether two objects are not\n// equal with !=.\nassert.notEqual = function notEqual(actual, expected, message) {\n  if (arguments.length < 2) {\n    throw new ERR_MISSING_ARGS('actual', 'expected');\n  }\n  // eslint-disable-next-line eqeqeq\n  if (actual == expected) {\n    innerFail({\n      actual: actual,\n      expected: expected,\n      message: message,\n      operator: '!=',\n      stackStartFn: notEqual\n    });\n  }\n};\n\n// The equivalence assertion tests a deep equality relation.\nassert.deepEqual = function deepEqual(actual, expected, message) {\n  if (arguments.length < 2) {\n    throw new ERR_MISSING_ARGS('actual', 'expected');\n  }\n  if (isDeepEqual === undefined) lazyLoadComparison();\n  if (!isDeepEqual(actual, expected)) {\n    innerFail({\n      actual: actual,\n      expected: expected,\n      message: message,\n      operator: 'deepEqual',\n      stackStartFn: deepEqual\n    });\n  }\n};\n\n// The non-equivalence assertion tests for any deep inequality.\nassert.notDeepEqual = function notDeepEqual(actual, expected, message) {\n  if (arguments.length < 2) {\n    throw new ERR_MISSING_ARGS('actual', 'expected');\n  }\n  if (isDeepEqual === undefined) lazyLoadComparison();\n  if (isDeepEqual(actual, expected)) {\n    innerFail({\n      actual: actual,\n      expected: expected,\n      message: message,\n      operator: 'notDeepEqual',\n      stackStartFn: notDeepEqual\n    });\n  }\n};\n/* eslint-enable */\n\nassert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {\n  if (arguments.length < 2) {\n    throw new ERR_MISSING_ARGS('actual', 'expected');\n  }\n  if (isDeepEqual === undefined) lazyLoadComparison();\n  if (!isDeepStrictEqual(actual, expected)) {\n    innerFail({\n      actual: actual,\n      expected: expected,\n      message: message,\n      operator: 'deepStrictEqual',\n      stackStartFn: deepStrictEqual\n    });\n  }\n};\nassert.notDeepStrictEqual = notDeepStrictEqual;\nfunction notDeepStrictEqual(actual, expected, message) {\n  if (arguments.length < 2) {\n    throw new ERR_MISSING_ARGS('actual', 'expected');\n  }\n  if (isDeepEqual === undefined) lazyLoadComparison();\n  if (isDeepStrictEqual(actual, expected)) {\n    innerFail({\n      actual: actual,\n      expected: expected,\n      message: message,\n      operator: 'notDeepStrictEqual',\n      stackStartFn: notDeepStrictEqual\n    });\n  }\n}\nassert.strictEqual = function strictEqual(actual, expected, message) {\n  if (arguments.length < 2) {\n    throw new ERR_MISSING_ARGS('actual', 'expected');\n  }\n  if (!objectIs(actual, expected)) {\n    innerFail({\n      actual: actual,\n      expected: expected,\n      message: message,\n      operator: 'strictEqual',\n      stackStartFn: strictEqual\n    });\n  }\n};\nassert.notStrictEqual = function notStrictEqual(actual, expected, message) {\n  if (arguments.length < 2) {\n    throw new ERR_MISSING_ARGS('actual', 'expected');\n  }\n  if (objectIs(actual, expected)) {\n    innerFail({\n      actual: actual,\n      expected: expected,\n      message: message,\n      operator: 'notStrictEqual',\n      stackStartFn: notStrictEqual\n    });\n  }\n};\nvar Comparison = /*#__PURE__*/_createClass(function Comparison(obj, keys, actual) {\n  var _this = this;\n  _classCallCheck(this, Comparison);\n  keys.forEach(function (key) {\n    if (key in obj) {\n      if (actual !== undefined && typeof actual[key] === 'string' && isRegExp(obj[key]) && RegExpPrototypeTest(obj[key], actual[key])) {\n        _this[key] = actual[key];\n      } else {\n        _this[key] = obj[key];\n      }\n    }\n  });\n});\nfunction compareExceptionKey(actual, expected, key, message, keys, fn) {\n  if (!(key in actual) || !isDeepStrictEqual(actual[key], expected[key])) {\n    if (!message) {\n      // Create placeholder objects to create a nice output.\n      var a = new Comparison(actual, keys);\n      var b = new Comparison(expected, keys, actual);\n      var err = new AssertionError({\n        actual: a,\n        expected: b,\n        operator: 'deepStrictEqual',\n        stackStartFn: fn\n      });\n      err.actual = actual;\n      err.expected = expected;\n      err.operator = fn.name;\n      throw err;\n    }\n    innerFail({\n      actual: actual,\n      expected: expected,\n      message: message,\n      operator: fn.name,\n      stackStartFn: fn\n    });\n  }\n}\nfunction expectedException(actual, expected, msg, fn) {\n  if (typeof expected !== 'function') {\n    if (isRegExp(expected)) return RegExpPrototypeTest(expected, actual);\n    // assert.doesNotThrow does not accept objects.\n    if (arguments.length === 2) {\n      throw new ERR_INVALID_ARG_TYPE('expected', ['Function', 'RegExp'], expected);\n    }\n\n    // Handle primitives properly.\n    if (_typeof(actual) !== 'object' || actual === null) {\n      var err = new AssertionError({\n        actual: actual,\n        expected: expected,\n        message: msg,\n        operator: 'deepStrictEqual',\n        stackStartFn: fn\n      });\n      err.operator = fn.name;\n      throw err;\n    }\n    var keys = Object.keys(expected);\n    // Special handle errors to make sure the name and the message are compared\n    // as well.\n    if (expected instanceof Error) {\n      keys.push('name', 'message');\n    } else if (keys.length === 0) {\n      throw new ERR_INVALID_ARG_VALUE('error', expected, 'may not be an empty object');\n    }\n    if (isDeepEqual === undefined) lazyLoadComparison();\n    keys.forEach(function (key) {\n      if (typeof actual[key] === 'string' && isRegExp(expected[key]) && RegExpPrototypeTest(expected[key], actual[key])) {\n        return;\n      }\n      compareExceptionKey(actual, expected, key, msg, keys, fn);\n    });\n    return true;\n  }\n  // Guard instanceof against arrow functions as they don't have a prototype.\n  if (expected.prototype !== undefined && actual instanceof expected) {\n    return true;\n  }\n  if (Error.isPrototypeOf(expected)) {\n    return false;\n  }\n  return expected.call({}, actual) === true;\n}\nfunction getActual(fn) {\n  if (typeof fn !== 'function') {\n    throw new ERR_INVALID_ARG_TYPE('fn', 'Function', fn);\n  }\n  try {\n    fn();\n  } catch (e) {\n    return e;\n  }\n  return NO_EXCEPTION_SENTINEL;\n}\nfunction checkIsPromise(obj) {\n  // Accept native ES6 promises and promises that are implemented in a similar\n  // way. Do not accept thenables that use a function as `obj` and that have no\n  // `catch` handler.\n\n  // TODO: thenables are checked up until they have the correct methods,\n  // but according to documentation, the `then` method should receive\n  // the `fulfill` and `reject` arguments as well or it may be never resolved.\n\n  return isPromise(obj) || obj !== null && _typeof(obj) === 'object' && typeof obj.then === 'function' && typeof obj.catch === 'function';\n}\nfunction waitForActual(promiseFn) {\n  return Promise.resolve().then(function () {\n    var resultPromise;\n    if (typeof promiseFn === 'function') {\n      // Return a rejected promise if `promiseFn` throws synchronously.\n      resultPromise = promiseFn();\n      // Fail in case no promise is returned.\n      if (!checkIsPromise(resultPromise)) {\n        throw new ERR_INVALID_RETURN_VALUE('instance of Promise', 'promiseFn', resultPromise);\n      }\n    } else if (checkIsPromise(promiseFn)) {\n      resultPromise = promiseFn;\n    } else {\n      throw new ERR_INVALID_ARG_TYPE('promiseFn', ['Function', 'Promise'], promiseFn);\n    }\n    return Promise.resolve().then(function () {\n      return resultPromise;\n    }).then(function () {\n      return NO_EXCEPTION_SENTINEL;\n    }).catch(function (e) {\n      return e;\n    });\n  });\n}\nfunction expectsError(stackStartFn, actual, error, message) {\n  if (typeof error === 'string') {\n    if (arguments.length === 4) {\n      throw new ERR_INVALID_ARG_TYPE('error', ['Object', 'Error', 'Function', 'RegExp'], error);\n    }\n    if (_typeof(actual) === 'object' && actual !== null) {\n      if (actual.message === error) {\n        throw new ERR_AMBIGUOUS_ARGUMENT('error/message', \"The error message \\\"\".concat(actual.message, \"\\\" is identical to the message.\"));\n      }\n    } else if (actual === error) {\n      throw new ERR_AMBIGUOUS_ARGUMENT('error/message', \"The error \\\"\".concat(actual, \"\\\" is identical to the message.\"));\n    }\n    message = error;\n    error = undefined;\n  } else if (error != null && _typeof(error) !== 'object' && typeof error !== 'function') {\n    throw new ERR_INVALID_ARG_TYPE('error', ['Object', 'Error', 'Function', 'RegExp'], error);\n  }\n  if (actual === NO_EXCEPTION_SENTINEL) {\n    var details = '';\n    if (error && error.name) {\n      details += \" (\".concat(error.name, \")\");\n    }\n    details += message ? \": \".concat(message) : '.';\n    var fnType = stackStartFn.name === 'rejects' ? 'rejection' : 'exception';\n    innerFail({\n      actual: undefined,\n      expected: error,\n      operator: stackStartFn.name,\n      message: \"Missing expected \".concat(fnType).concat(details),\n      stackStartFn: stackStartFn\n    });\n  }\n  if (error && !expectedException(actual, error, message, stackStartFn)) {\n    throw actual;\n  }\n}\nfunction expectsNoError(stackStartFn, actual, error, message) {\n  if (actual === NO_EXCEPTION_SENTINEL) return;\n  if (typeof error === 'string') {\n    message = error;\n    error = undefined;\n  }\n  if (!error || expectedException(actual, error)) {\n    var details = message ? \": \".concat(message) : '.';\n    var fnType = stackStartFn.name === 'doesNotReject' ? 'rejection' : 'exception';\n    innerFail({\n      actual: actual,\n      expected: error,\n      operator: stackStartFn.name,\n      message: \"Got unwanted \".concat(fnType).concat(details, \"\\n\") + \"Actual message: \\\"\".concat(actual && actual.message, \"\\\"\"),\n      stackStartFn: stackStartFn\n    });\n  }\n  throw actual;\n}\nassert.throws = function throws(promiseFn) {\n  for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n    args[_key2 - 1] = arguments[_key2];\n  }\n  expectsError.apply(void 0, [throws, getActual(promiseFn)].concat(args));\n};\nassert.rejects = function rejects(promiseFn) {\n  for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n    args[_key3 - 1] = arguments[_key3];\n  }\n  return waitForActual(promiseFn).then(function (result) {\n    return expectsError.apply(void 0, [rejects, result].concat(args));\n  });\n};\nassert.doesNotThrow = function doesNotThrow(fn) {\n  for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n    args[_key4 - 1] = arguments[_key4];\n  }\n  expectsNoError.apply(void 0, [doesNotThrow, getActual(fn)].concat(args));\n};\nassert.doesNotReject = function doesNotReject(fn) {\n  for (var _len5 = arguments.length, args = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {\n    args[_key5 - 1] = arguments[_key5];\n  }\n  return waitForActual(fn).then(function (result) {\n    return expectsNoError.apply(void 0, [doesNotReject, result].concat(args));\n  });\n};\nassert.ifError = function ifError(err) {\n  if (err !== null && err !== undefined) {\n    var message = 'ifError got unwanted exception: ';\n    if (_typeof(err) === 'object' && typeof err.message === 'string') {\n      if (err.message.length === 0 && err.constructor) {\n        message += err.constructor.name;\n      } else {\n        message += err.message;\n      }\n    } else {\n      message += inspect(err);\n    }\n    var newErr = new AssertionError({\n      actual: err,\n      expected: null,\n      operator: 'ifError',\n      message: message,\n      stackStartFn: ifError\n    });\n\n    // Make sure we actually have a stack trace!\n    var origStack = err.stack;\n    if (typeof origStack === 'string') {\n      // This will remove any duplicated frames from the error frames taken\n      // from within `ifError` and add the original error frames to the newly\n      // created ones.\n      var tmp2 = origStack.split('\\n');\n      tmp2.shift();\n      // Filter all frames existing in err.stack.\n      var tmp1 = newErr.stack.split('\\n');\n      for (var i = 0; i < tmp2.length; i++) {\n        // Find the first occurrence of the frame.\n        var pos = tmp1.indexOf(tmp2[i]);\n        if (pos !== -1) {\n          // Only keep new frames.\n          tmp1 = tmp1.slice(0, pos);\n          break;\n        }\n      }\n      newErr.stack = \"\".concat(tmp1.join('\\n'), \"\\n\").concat(tmp2.join('\\n'));\n    }\n    throw newErr;\n  }\n};\n\n// Currently in sync with Node.js lib/assert.js\n// https://github.com/nodejs/node/commit/2a871df3dfb8ea663ef5e1f8f62701ec51384ecb\nfunction internalMatch(string, regexp, message, fn, fnName) {\n  if (!isRegExp(regexp)) {\n    throw new ERR_INVALID_ARG_TYPE('regexp', 'RegExp', regexp);\n  }\n  var match = fnName === 'match';\n  if (typeof string !== 'string' || RegExpPrototypeTest(regexp, string) !== match) {\n    if (message instanceof Error) {\n      throw message;\n    }\n    var generatedMessage = !message;\n\n    // 'The input was expected to not match the regular expression ' +\n    message = message || (typeof string !== 'string' ? 'The \"string\" argument must be of type string. Received type ' + \"\".concat(_typeof(string), \" (\").concat(inspect(string), \")\") : (match ? 'The input did not match the regular expression ' : 'The input was expected to not match the regular expression ') + \"\".concat(inspect(regexp), \". Input:\\n\\n\").concat(inspect(string), \"\\n\"));\n    var err = new AssertionError({\n      actual: string,\n      expected: regexp,\n      message: message,\n      operator: fnName,\n      stackStartFn: fn\n    });\n    err.generatedMessage = generatedMessage;\n    throw err;\n  }\n}\nassert.match = function match(string, regexp, message) {\n  internalMatch(string, regexp, message, match, 'match');\n};\nassert.doesNotMatch = function doesNotMatch(string, regexp, message) {\n  internalMatch(string, regexp, message, doesNotMatch, 'doesNotMatch');\n};\n\n// Expose a strict only variant of assert\nfunction strict() {\n  for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n    args[_key6] = arguments[_key6];\n  }\n  innerOk.apply(void 0, [strict, args.length].concat(args));\n}\nassert.strict = objectAssign(strict, assert, {\n  equal: assert.strictEqual,\n  deepEqual: assert.deepStrictEqual,\n  notEqual: assert.notStrictEqual,\n  notDeepEqual: assert.notDeepStrictEqual\n});\nassert.strict.strict = assert.strict;","// Currently in sync with Node.js lib/internal/assert/assertion_error.js\n// https://github.com/nodejs/node/commit/0817840f775032169ddd70c85ac059f18ffcc81c\n\n'use strict';\n\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct.bind(); } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nvar _require = require('util/'),\n  inspect = _require.inspect;\nvar _require2 = require('../errors'),\n  ERR_INVALID_ARG_TYPE = _require2.codes.ERR_INVALID_ARG_TYPE;\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\nfunction endsWith(str, search, this_len) {\n  if (this_len === undefined || this_len > str.length) {\n    this_len = str.length;\n  }\n  return str.substring(this_len - search.length, this_len) === search;\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat\nfunction repeat(str, count) {\n  count = Math.floor(count);\n  if (str.length == 0 || count == 0) return '';\n  var maxCount = str.length * count;\n  count = Math.floor(Math.log(count) / Math.log(2));\n  while (count) {\n    str += str;\n    count--;\n  }\n  str += str.substring(0, maxCount - str.length);\n  return str;\n}\nvar blue = '';\nvar green = '';\nvar red = '';\nvar white = '';\nvar kReadableOperator = {\n  deepStrictEqual: 'Expected values to be strictly deep-equal:',\n  strictEqual: 'Expected values to be strictly equal:',\n  strictEqualObject: 'Expected \"actual\" to be reference-equal to \"expected\":',\n  deepEqual: 'Expected values to be loosely deep-equal:',\n  equal: 'Expected values to be loosely equal:',\n  notDeepStrictEqual: 'Expected \"actual\" not to be strictly deep-equal to:',\n  notStrictEqual: 'Expected \"actual\" to be strictly unequal to:',\n  notStrictEqualObject: 'Expected \"actual\" not to be reference-equal to \"expected\":',\n  notDeepEqual: 'Expected \"actual\" not to be loosely deep-equal to:',\n  notEqual: 'Expected \"actual\" to be loosely unequal to:',\n  notIdentical: 'Values identical but not reference-equal:'\n};\n\n// Comparing short primitives should just show === / !== instead of using the\n// diff.\nvar kMaxShortLength = 10;\nfunction copyError(source) {\n  var keys = Object.keys(source);\n  var target = Object.create(Object.getPrototypeOf(source));\n  keys.forEach(function (key) {\n    target[key] = source[key];\n  });\n  Object.defineProperty(target, 'message', {\n    value: source.message\n  });\n  return target;\n}\nfunction inspectValue(val) {\n  // The util.inspect default values could be changed. This makes sure the\n  // error messages contain the necessary information nevertheless.\n  return inspect(val, {\n    compact: false,\n    customInspect: false,\n    depth: 1000,\n    maxArrayLength: Infinity,\n    // Assert compares only enumerable properties (with a few exceptions).\n    showHidden: false,\n    // Having a long line as error is better than wrapping the line for\n    // comparison for now.\n    // TODO(BridgeAR): `breakLength` should be limited as soon as soon as we\n    // have meta information about the inspected properties (i.e., know where\n    // in what line the property starts and ends).\n    breakLength: Infinity,\n    // Assert does not detect proxies currently.\n    showProxy: false,\n    sorted: true,\n    // Inspect getters as we also check them when comparing entries.\n    getters: true\n  });\n}\nfunction createErrDiff(actual, expected, operator) {\n  var other = '';\n  var res = '';\n  var lastPos = 0;\n  var end = '';\n  var skipped = false;\n  var actualInspected = inspectValue(actual);\n  var actualLines = actualInspected.split('\\n');\n  var expectedLines = inspectValue(expected).split('\\n');\n  var i = 0;\n  var indicator = '';\n\n  // In case both values are objects explicitly mark them as not reference equal\n  // for the `strictEqual` operator.\n  if (operator === 'strictEqual' && _typeof(actual) === 'object' && _typeof(expected) === 'object' && actual !== null && expected !== null) {\n    operator = 'strictEqualObject';\n  }\n\n  // If \"actual\" and \"expected\" fit on a single line and they are not strictly\n  // equal, check further special handling.\n  if (actualLines.length === 1 && expectedLines.length === 1 && actualLines[0] !== expectedLines[0]) {\n    var inputLength = actualLines[0].length + expectedLines[0].length;\n    // If the character length of \"actual\" and \"expected\" together is less than\n    // kMaxShortLength and if neither is an object and at least one of them is\n    // not `zero`, use the strict equal comparison to visualize the output.\n    if (inputLength <= kMaxShortLength) {\n      if ((_typeof(actual) !== 'object' || actual === null) && (_typeof(expected) !== 'object' || expected === null) && (actual !== 0 || expected !== 0)) {\n        // -0 === +0\n        return \"\".concat(kReadableOperator[operator], \"\\n\\n\") + \"\".concat(actualLines[0], \" !== \").concat(expectedLines[0], \"\\n\");\n      }\n    } else if (operator !== 'strictEqualObject') {\n      // If the stderr is a tty and the input length is lower than the current\n      // columns per line, add a mismatch indicator below the output. If it is\n      // not a tty, use a default value of 80 characters.\n      var maxLength = process.stderr && process.stderr.isTTY ? process.stderr.columns : 80;\n      if (inputLength < maxLength) {\n        while (actualLines[0][i] === expectedLines[0][i]) {\n          i++;\n        }\n        // Ignore the first characters.\n        if (i > 2) {\n          // Add position indicator for the first mismatch in case it is a\n          // single line and the input length is less than the column length.\n          indicator = \"\\n  \".concat(repeat(' ', i), \"^\");\n          i = 0;\n        }\n      }\n    }\n  }\n\n  // Remove all ending lines that match (this optimizes the output for\n  // readability by reducing the number of total changed lines).\n  var a = actualLines[actualLines.length - 1];\n  var b = expectedLines[expectedLines.length - 1];\n  while (a === b) {\n    if (i++ < 2) {\n      end = \"\\n  \".concat(a).concat(end);\n    } else {\n      other = a;\n    }\n    actualLines.pop();\n    expectedLines.pop();\n    if (actualLines.length === 0 || expectedLines.length === 0) break;\n    a = actualLines[actualLines.length - 1];\n    b = expectedLines[expectedLines.length - 1];\n  }\n  var maxLines = Math.max(actualLines.length, expectedLines.length);\n  // Strict equal with identical objects that are not identical by reference.\n  // E.g., assert.deepStrictEqual({ a: Symbol() }, { a: Symbol() })\n  if (maxLines === 0) {\n    // We have to get the result again. The lines were all removed before.\n    var _actualLines = actualInspected.split('\\n');\n\n    // Only remove lines in case it makes sense to collapse those.\n    // TODO: Accept env to always show the full error.\n    if (_actualLines.length > 30) {\n      _actualLines[26] = \"\".concat(blue, \"...\").concat(white);\n      while (_actualLines.length > 27) {\n        _actualLines.pop();\n      }\n    }\n    return \"\".concat(kReadableOperator.notIdentical, \"\\n\\n\").concat(_actualLines.join('\\n'), \"\\n\");\n  }\n  if (i > 3) {\n    end = \"\\n\".concat(blue, \"...\").concat(white).concat(end);\n    skipped = true;\n  }\n  if (other !== '') {\n    end = \"\\n  \".concat(other).concat(end);\n    other = '';\n  }\n  var printedLines = 0;\n  var msg = kReadableOperator[operator] + \"\\n\".concat(green, \"+ actual\").concat(white, \" \").concat(red, \"- expected\").concat(white);\n  var skippedMsg = \" \".concat(blue, \"...\").concat(white, \" Lines skipped\");\n  for (i = 0; i < maxLines; i++) {\n    // Only extra expected lines exist\n    var cur = i - lastPos;\n    if (actualLines.length < i + 1) {\n      // If the last diverging line is more than one line above and the\n      // current line is at least line three, add some of the former lines and\n      // also add dots to indicate skipped entries.\n      if (cur > 1 && i > 2) {\n        if (cur > 4) {\n          res += \"\\n\".concat(blue, \"...\").concat(white);\n          skipped = true;\n        } else if (cur > 3) {\n          res += \"\\n  \".concat(expectedLines[i - 2]);\n          printedLines++;\n        }\n        res += \"\\n  \".concat(expectedLines[i - 1]);\n        printedLines++;\n      }\n      // Mark the current line as the last diverging one.\n      lastPos = i;\n      // Add the expected line to the cache.\n      other += \"\\n\".concat(red, \"-\").concat(white, \" \").concat(expectedLines[i]);\n      printedLines++;\n      // Only extra actual lines exist\n    } else if (expectedLines.length < i + 1) {\n      // If the last diverging line is more than one line above and the\n      // current line is at least line three, add some of the former lines and\n      // also add dots to indicate skipped entries.\n      if (cur > 1 && i > 2) {\n        if (cur > 4) {\n          res += \"\\n\".concat(blue, \"...\").concat(white);\n          skipped = true;\n        } else if (cur > 3) {\n          res += \"\\n  \".concat(actualLines[i - 2]);\n          printedLines++;\n        }\n        res += \"\\n  \".concat(actualLines[i - 1]);\n        printedLines++;\n      }\n      // Mark the current line as the last diverging one.\n      lastPos = i;\n      // Add the actual line to the result.\n      res += \"\\n\".concat(green, \"+\").concat(white, \" \").concat(actualLines[i]);\n      printedLines++;\n      // Lines diverge\n    } else {\n      var expectedLine = expectedLines[i];\n      var actualLine = actualLines[i];\n      // If the lines diverge, specifically check for lines that only diverge by\n      // a trailing comma. In that case it is actually identical and we should\n      // mark it as such.\n      var divergingLines = actualLine !== expectedLine && (!endsWith(actualLine, ',') || actualLine.slice(0, -1) !== expectedLine);\n      // If the expected line has a trailing comma but is otherwise identical,\n      // add a comma at the end of the actual line. Otherwise the output could\n      // look weird as in:\n      //\n      //   [\n      //     1         // No comma at the end!\n      // +   2\n      //   ]\n      //\n      if (divergingLines && endsWith(expectedLine, ',') && expectedLine.slice(0, -1) === actualLine) {\n        divergingLines = false;\n        actualLine += ',';\n      }\n      if (divergingLines) {\n        // If the last diverging line is more than one line above and the\n        // current line is at least line three, add some of the former lines and\n        // also add dots to indicate skipped entries.\n        if (cur > 1 && i > 2) {\n          if (cur > 4) {\n            res += \"\\n\".concat(blue, \"...\").concat(white);\n            skipped = true;\n          } else if (cur > 3) {\n            res += \"\\n  \".concat(actualLines[i - 2]);\n            printedLines++;\n          }\n          res += \"\\n  \".concat(actualLines[i - 1]);\n          printedLines++;\n        }\n        // Mark the current line as the last diverging one.\n        lastPos = i;\n        // Add the actual line to the result and cache the expected diverging\n        // line so consecutive diverging lines show up as +++--- and not +-+-+-.\n        res += \"\\n\".concat(green, \"+\").concat(white, \" \").concat(actualLine);\n        other += \"\\n\".concat(red, \"-\").concat(white, \" \").concat(expectedLine);\n        printedLines += 2;\n        // Lines are identical\n      } else {\n        // Add all cached information to the result before adding other things\n        // and reset the cache.\n        res += other;\n        other = '';\n        // If the last diverging line is exactly one line above or if it is the\n        // very first line, add the line to the result.\n        if (cur === 1 || i === 0) {\n          res += \"\\n  \".concat(actualLine);\n          printedLines++;\n        }\n      }\n    }\n    // Inspected object to big (Show ~20 rows max)\n    if (printedLines > 20 && i < maxLines - 2) {\n      return \"\".concat(msg).concat(skippedMsg, \"\\n\").concat(res, \"\\n\").concat(blue, \"...\").concat(white).concat(other, \"\\n\") + \"\".concat(blue, \"...\").concat(white);\n    }\n  }\n  return \"\".concat(msg).concat(skipped ? skippedMsg : '', \"\\n\").concat(res).concat(other).concat(end).concat(indicator);\n}\nvar AssertionError = /*#__PURE__*/function (_Error, _inspect$custom) {\n  _inherits(AssertionError, _Error);\n  var _super = _createSuper(AssertionError);\n  function AssertionError(options) {\n    var _this;\n    _classCallCheck(this, AssertionError);\n    if (_typeof(options) !== 'object' || options === null) {\n      throw new ERR_INVALID_ARG_TYPE('options', 'Object', options);\n    }\n    var message = options.message,\n      operator = options.operator,\n      stackStartFn = options.stackStartFn;\n    var actual = options.actual,\n      expected = options.expected;\n    var limit = Error.stackTraceLimit;\n    Error.stackTraceLimit = 0;\n    if (message != null) {\n      _this = _super.call(this, String(message));\n    } else {\n      if (process.stderr && process.stderr.isTTY) {\n        // Reset on each call to make sure we handle dynamically set environment\n        // variables correct.\n        if (process.stderr && process.stderr.getColorDepth && process.stderr.getColorDepth() !== 1) {\n          blue = \"\\x1B[34m\";\n          green = \"\\x1B[32m\";\n          white = \"\\x1B[39m\";\n          red = \"\\x1B[31m\";\n        } else {\n          blue = '';\n          green = '';\n          white = '';\n          red = '';\n        }\n      }\n      // Prevent the error stack from being visible by duplicating the error\n      // in a very close way to the original in case both sides are actually\n      // instances of Error.\n      if (_typeof(actual) === 'object' && actual !== null && _typeof(expected) === 'object' && expected !== null && 'stack' in actual && actual instanceof Error && 'stack' in expected && expected instanceof Error) {\n        actual = copyError(actual);\n        expected = copyError(expected);\n      }\n      if (operator === 'deepStrictEqual' || operator === 'strictEqual') {\n        _this = _super.call(this, createErrDiff(actual, expected, operator));\n      } else if (operator === 'notDeepStrictEqual' || operator === 'notStrictEqual') {\n        // In case the objects are equal but the operator requires unequal, show\n        // the first object and say A equals B\n        var base = kReadableOperator[operator];\n        var res = inspectValue(actual).split('\\n');\n\n        // In case \"actual\" is an object, it should not be reference equal.\n        if (operator === 'notStrictEqual' && _typeof(actual) === 'object' && actual !== null) {\n          base = kReadableOperator.notStrictEqualObject;\n        }\n\n        // Only remove lines in case it makes sense to collapse those.\n        // TODO: Accept env to always show the full error.\n        if (res.length > 30) {\n          res[26] = \"\".concat(blue, \"...\").concat(white);\n          while (res.length > 27) {\n            res.pop();\n          }\n        }\n\n        // Only print a single input.\n        if (res.length === 1) {\n          _this = _super.call(this, \"\".concat(base, \" \").concat(res[0]));\n        } else {\n          _this = _super.call(this, \"\".concat(base, \"\\n\\n\").concat(res.join('\\n'), \"\\n\"));\n        }\n      } else {\n        var _res = inspectValue(actual);\n        var other = '';\n        var knownOperators = kReadableOperator[operator];\n        if (operator === 'notDeepEqual' || operator === 'notEqual') {\n          _res = \"\".concat(kReadableOperator[operator], \"\\n\\n\").concat(_res);\n          if (_res.length > 1024) {\n            _res = \"\".concat(_res.slice(0, 1021), \"...\");\n          }\n        } else {\n          other = \"\".concat(inspectValue(expected));\n          if (_res.length > 512) {\n            _res = \"\".concat(_res.slice(0, 509), \"...\");\n          }\n          if (other.length > 512) {\n            other = \"\".concat(other.slice(0, 509), \"...\");\n          }\n          if (operator === 'deepEqual' || operator === 'equal') {\n            _res = \"\".concat(knownOperators, \"\\n\\n\").concat(_res, \"\\n\\nshould equal\\n\\n\");\n          } else {\n            other = \" \".concat(operator, \" \").concat(other);\n          }\n        }\n        _this = _super.call(this, \"\".concat(_res).concat(other));\n      }\n    }\n    Error.stackTraceLimit = limit;\n    _this.generatedMessage = !message;\n    Object.defineProperty(_assertThisInitialized(_this), 'name', {\n      value: 'AssertionError [ERR_ASSERTION]',\n      enumerable: false,\n      writable: true,\n      configurable: true\n    });\n    _this.code = 'ERR_ASSERTION';\n    _this.actual = actual;\n    _this.expected = expected;\n    _this.operator = operator;\n    if (Error.captureStackTrace) {\n      // eslint-disable-next-line no-restricted-syntax\n      Error.captureStackTrace(_assertThisInitialized(_this), stackStartFn);\n    }\n    // Create error message including the error code in the name.\n    _this.stack;\n    // Reset the name.\n    _this.name = 'AssertionError';\n    return _possibleConstructorReturn(_this);\n  }\n  _createClass(AssertionError, [{\n    key: \"toString\",\n    value: function toString() {\n      return \"\".concat(this.name, \" [\").concat(this.code, \"]: \").concat(this.message);\n    }\n  }, {\n    key: _inspect$custom,\n    value: function value(recurseTimes, ctx) {\n      // This limits the `actual` and `expected` property default inspection to\n      // the minimum depth. Otherwise those values would be too verbose compared\n      // to the actual error message which contains a combined view of these two\n      // input values.\n      return inspect(this, _objectSpread(_objectSpread({}, ctx), {}, {\n        customInspect: false,\n        depth: 0\n      }));\n    }\n  }]);\n  return AssertionError;\n}( /*#__PURE__*/_wrapNativeSuper(Error), inspect.custom);\nmodule.exports = AssertionError;","// Currently in sync with Node.js lib/internal/errors.js\n// https://github.com/nodejs/node/commit/3b044962c48fe313905877a96b5d0894a5404f6f\n\n/* eslint node-core/documented-errors: \"error\" */\n/* eslint node-core/alphabetize-errors: \"error\" */\n/* eslint node-core/prefer-util-format-errors: \"error\" */\n\n'use strict';\n\n// The whole point behind this internal module is to allow Node.js to no\n// longer be forced to treat every error message change as a semver-major\n// change. The NodeError classes here all expose a `code` property whose\n// value statically and permanently identifies the error. While the error\n// message may change, the code should not.\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nvar codes = {};\n\n// Lazy loaded\nvar assert;\nvar util;\nfunction createErrorType(code, message, Base) {\n  if (!Base) {\n    Base = Error;\n  }\n  function getMessage(arg1, arg2, arg3) {\n    if (typeof message === 'string') {\n      return message;\n    } else {\n      return message(arg1, arg2, arg3);\n    }\n  }\n  var NodeError = /*#__PURE__*/function (_Base) {\n    _inherits(NodeError, _Base);\n    var _super = _createSuper(NodeError);\n    function NodeError(arg1, arg2, arg3) {\n      var _this;\n      _classCallCheck(this, NodeError);\n      _this = _super.call(this, getMessage(arg1, arg2, arg3));\n      _this.code = code;\n      return _this;\n    }\n    return _createClass(NodeError);\n  }(Base);\n  codes[code] = NodeError;\n}\n\n// https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\nfunction oneOf(expected, thing) {\n  if (Array.isArray(expected)) {\n    var len = expected.length;\n    expected = expected.map(function (i) {\n      return String(i);\n    });\n    if (len > 2) {\n      return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n    } else if (len === 2) {\n      return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n    } else {\n      return \"of \".concat(thing, \" \").concat(expected[0]);\n    }\n  } else {\n    return \"of \".concat(thing, \" \").concat(String(expected));\n  }\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\nfunction startsWith(str, search, pos) {\n  return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\nfunction endsWith(str, search, this_len) {\n  if (this_len === undefined || this_len > str.length) {\n    this_len = str.length;\n  }\n  return str.substring(this_len - search.length, this_len) === search;\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\nfunction includes(str, search, start) {\n  if (typeof start !== 'number') {\n    start = 0;\n  }\n  if (start + search.length > str.length) {\n    return false;\n  } else {\n    return str.indexOf(search, start) !== -1;\n  }\n}\ncreateErrorType('ERR_AMBIGUOUS_ARGUMENT', 'The \"%s\" argument is ambiguous. %s', TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n  if (assert === undefined) assert = require('../assert');\n  assert(typeof name === 'string', \"'name' must be a string\");\n\n  // determiner: 'must be' or 'must not be'\n  var determiner;\n  if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n    determiner = 'must not be';\n    expected = expected.replace(/^not /, '');\n  } else {\n    determiner = 'must be';\n  }\n  var msg;\n  if (endsWith(name, ' argument')) {\n    // For cases like 'first argument'\n    msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n  } else {\n    var type = includes(name, '.') ? 'property' : 'argument';\n    msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n  }\n\n  // TODO(BridgeAR): Improve the output by showing `null` and similar.\n  msg += \". Received type \".concat(_typeof(actual));\n  return msg;\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_VALUE', function (name, value) {\n  var reason = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'is invalid';\n  if (util === undefined) util = require('util/');\n  var inspected = util.inspect(value);\n  if (inspected.length > 128) {\n    inspected = \"\".concat(inspected.slice(0, 128), \"...\");\n  }\n  return \"The argument '\".concat(name, \"' \").concat(reason, \". Received \").concat(inspected);\n}, TypeError, RangeError);\ncreateErrorType('ERR_INVALID_RETURN_VALUE', function (input, name, value) {\n  var type;\n  if (value && value.constructor && value.constructor.name) {\n    type = \"instance of \".concat(value.constructor.name);\n  } else {\n    type = \"type \".concat(_typeof(value));\n  }\n  return \"Expected \".concat(input, \" to be returned from the \\\"\").concat(name, \"\\\"\") + \" function but got \".concat(type, \".\");\n}, TypeError);\ncreateErrorType('ERR_MISSING_ARGS', function () {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n  if (assert === undefined) assert = require('../assert');\n  assert(args.length > 0, 'At least one arg needs to be specified');\n  var msg = 'The ';\n  var len = args.length;\n  args = args.map(function (a) {\n    return \"\\\"\".concat(a, \"\\\"\");\n  });\n  switch (len) {\n    case 1:\n      msg += \"\".concat(args[0], \" argument\");\n      break;\n    case 2:\n      msg += \"\".concat(args[0], \" and \").concat(args[1], \" arguments\");\n      break;\n    default:\n      msg += args.slice(0, len - 1).join(', ');\n      msg += \", and \".concat(args[len - 1], \" arguments\");\n      break;\n  }\n  return \"\".concat(msg, \" must be specified\");\n}, TypeError);\nmodule.exports.codes = codes;","// Currently in sync with Node.js lib/internal/util/comparisons.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n\n'use strict';\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nvar regexFlagsSupported = /a/g.flags !== undefined;\nvar arrayFromSet = function arrayFromSet(set) {\n  var array = [];\n  set.forEach(function (value) {\n    return array.push(value);\n  });\n  return array;\n};\nvar arrayFromMap = function arrayFromMap(map) {\n  var array = [];\n  map.forEach(function (value, key) {\n    return array.push([key, value]);\n  });\n  return array;\n};\nvar objectIs = Object.is ? Object.is : require('object-is');\nvar objectGetOwnPropertySymbols = Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols : function () {\n  return [];\n};\nvar numberIsNaN = Number.isNaN ? Number.isNaN : require('is-nan');\nfunction uncurryThis(f) {\n  return f.call.bind(f);\n}\nvar hasOwnProperty = uncurryThis(Object.prototype.hasOwnProperty);\nvar propertyIsEnumerable = uncurryThis(Object.prototype.propertyIsEnumerable);\nvar objectToString = uncurryThis(Object.prototype.toString);\nvar _require$types = require('util/').types,\n  isAnyArrayBuffer = _require$types.isAnyArrayBuffer,\n  isArrayBufferView = _require$types.isArrayBufferView,\n  isDate = _require$types.isDate,\n  isMap = _require$types.isMap,\n  isRegExp = _require$types.isRegExp,\n  isSet = _require$types.isSet,\n  isNativeError = _require$types.isNativeError,\n  isBoxedPrimitive = _require$types.isBoxedPrimitive,\n  isNumberObject = _require$types.isNumberObject,\n  isStringObject = _require$types.isStringObject,\n  isBooleanObject = _require$types.isBooleanObject,\n  isBigIntObject = _require$types.isBigIntObject,\n  isSymbolObject = _require$types.isSymbolObject,\n  isFloat32Array = _require$types.isFloat32Array,\n  isFloat64Array = _require$types.isFloat64Array;\nfunction isNonIndex(key) {\n  if (key.length === 0 || key.length > 10) return true;\n  for (var i = 0; i < key.length; i++) {\n    var code = key.charCodeAt(i);\n    if (code < 48 || code > 57) return true;\n  }\n  // The maximum size for an array is 2 ** 32 -1.\n  return key.length === 10 && key >= Math.pow(2, 32);\n}\nfunction getOwnNonIndexProperties(value) {\n  return Object.keys(value).filter(isNonIndex).concat(objectGetOwnPropertySymbols(value).filter(Object.prototype.propertyIsEnumerable.bind(value)));\n}\n\n// Taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js\n// original notice:\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n * @license  MIT\n */\nfunction compare(a, b) {\n  if (a === b) {\n    return 0;\n  }\n  var x = a.length;\n  var y = b.length;\n  for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n    if (a[i] !== b[i]) {\n      x = a[i];\n      y = b[i];\n      break;\n    }\n  }\n  if (x < y) {\n    return -1;\n  }\n  if (y < x) {\n    return 1;\n  }\n  return 0;\n}\nvar ONLY_ENUMERABLE = undefined;\nvar kStrict = true;\nvar kLoose = false;\nvar kNoIterator = 0;\nvar kIsArray = 1;\nvar kIsSet = 2;\nvar kIsMap = 3;\n\n// Check if they have the same source and flags\nfunction areSimilarRegExps(a, b) {\n  return regexFlagsSupported ? a.source === b.source && a.flags === b.flags : RegExp.prototype.toString.call(a) === RegExp.prototype.toString.call(b);\n}\nfunction areSimilarFloatArrays(a, b) {\n  if (a.byteLength !== b.byteLength) {\n    return false;\n  }\n  for (var offset = 0; offset < a.byteLength; offset++) {\n    if (a[offset] !== b[offset]) {\n      return false;\n    }\n  }\n  return true;\n}\nfunction areSimilarTypedArrays(a, b) {\n  if (a.byteLength !== b.byteLength) {\n    return false;\n  }\n  return compare(new Uint8Array(a.buffer, a.byteOffset, a.byteLength), new Uint8Array(b.buffer, b.byteOffset, b.byteLength)) === 0;\n}\nfunction areEqualArrayBuffers(buf1, buf2) {\n  return buf1.byteLength === buf2.byteLength && compare(new Uint8Array(buf1), new Uint8Array(buf2)) === 0;\n}\nfunction isEqualBoxedPrimitive(val1, val2) {\n  if (isNumberObject(val1)) {\n    return isNumberObject(val2) && objectIs(Number.prototype.valueOf.call(val1), Number.prototype.valueOf.call(val2));\n  }\n  if (isStringObject(val1)) {\n    return isStringObject(val2) && String.prototype.valueOf.call(val1) === String.prototype.valueOf.call(val2);\n  }\n  if (isBooleanObject(val1)) {\n    return isBooleanObject(val2) && Boolean.prototype.valueOf.call(val1) === Boolean.prototype.valueOf.call(val2);\n  }\n  if (isBigIntObject(val1)) {\n    return isBigIntObject(val2) && BigInt.prototype.valueOf.call(val1) === BigInt.prototype.valueOf.call(val2);\n  }\n  return isSymbolObject(val2) && Symbol.prototype.valueOf.call(val1) === Symbol.prototype.valueOf.call(val2);\n}\n\n// Notes: Type tags are historical [[Class]] properties that can be set by\n// FunctionTemplate::SetClassName() in C++ or Symbol.toStringTag in JS\n// and retrieved using Object.prototype.toString.call(obj) in JS\n// See https://tc39.github.io/ecma262/#sec-object.prototype.tostring\n// for a list of tags pre-defined in the spec.\n// There are some unspecified tags in the wild too (e.g. typed array tags).\n// Since tags can be altered, they only serve fast failures\n//\n// Typed arrays and buffers are checked by comparing the content in their\n// underlying ArrayBuffer. This optimization requires that it's\n// reasonable to interpret their underlying memory in the same way,\n// which is checked by comparing their type tags.\n// (e.g. a Uint8Array and a Uint16Array with the same memory content\n// could still be different because they will be interpreted differently).\n//\n// For strict comparison, objects should have\n// a) The same built-in type tags\n// b) The same prototypes.\n\nfunction innerDeepEqual(val1, val2, strict, memos) {\n  // All identical values are equivalent, as determined by ===.\n  if (val1 === val2) {\n    if (val1 !== 0) return true;\n    return strict ? objectIs(val1, val2) : true;\n  }\n\n  // Check more closely if val1 and val2 are equal.\n  if (strict) {\n    if (_typeof(val1) !== 'object') {\n      return typeof val1 === 'number' && numberIsNaN(val1) && numberIsNaN(val2);\n    }\n    if (_typeof(val2) !== 'object' || val1 === null || val2 === null) {\n      return false;\n    }\n    if (Object.getPrototypeOf(val1) !== Object.getPrototypeOf(val2)) {\n      return false;\n    }\n  } else {\n    if (val1 === null || _typeof(val1) !== 'object') {\n      if (val2 === null || _typeof(val2) !== 'object') {\n        // eslint-disable-next-line eqeqeq\n        return val1 == val2;\n      }\n      return false;\n    }\n    if (val2 === null || _typeof(val2) !== 'object') {\n      return false;\n    }\n  }\n  var val1Tag = objectToString(val1);\n  var val2Tag = objectToString(val2);\n  if (val1Tag !== val2Tag) {\n    return false;\n  }\n  if (Array.isArray(val1)) {\n    // Check for sparse arrays and general fast path\n    if (val1.length !== val2.length) {\n      return false;\n    }\n    var keys1 = getOwnNonIndexProperties(val1, ONLY_ENUMERABLE);\n    var keys2 = getOwnNonIndexProperties(val2, ONLY_ENUMERABLE);\n    if (keys1.length !== keys2.length) {\n      return false;\n    }\n    return keyCheck(val1, val2, strict, memos, kIsArray, keys1);\n  }\n  // [browserify] This triggers on certain types in IE (Map/Set) so we don't\n  // wan't to early return out of the rest of the checks. However we can check\n  // if the second value is one of these values and the first isn't.\n  if (val1Tag === '[object Object]') {\n    // return keyCheck(val1, val2, strict, memos, kNoIterator);\n    if (!isMap(val1) && isMap(val2) || !isSet(val1) && isSet(val2)) {\n      return false;\n    }\n  }\n  if (isDate(val1)) {\n    if (!isDate(val2) || Date.prototype.getTime.call(val1) !== Date.prototype.getTime.call(val2)) {\n      return false;\n    }\n  } else if (isRegExp(val1)) {\n    if (!isRegExp(val2) || !areSimilarRegExps(val1, val2)) {\n      return false;\n    }\n  } else if (isNativeError(val1) || val1 instanceof Error) {\n    // Do not compare the stack as it might differ even though the error itself\n    // is otherwise identical.\n    if (val1.message !== val2.message || val1.name !== val2.name) {\n      return false;\n    }\n  } else if (isArrayBufferView(val1)) {\n    if (!strict && (isFloat32Array(val1) || isFloat64Array(val1))) {\n      if (!areSimilarFloatArrays(val1, val2)) {\n        return false;\n      }\n    } else if (!areSimilarTypedArrays(val1, val2)) {\n      return false;\n    }\n    // Buffer.compare returns true, so val1.length === val2.length. If they both\n    // only contain numeric keys, we don't need to exam further than checking\n    // the symbols.\n    var _keys = getOwnNonIndexProperties(val1, ONLY_ENUMERABLE);\n    var _keys2 = getOwnNonIndexProperties(val2, ONLY_ENUMERABLE);\n    if (_keys.length !== _keys2.length) {\n      return false;\n    }\n    return keyCheck(val1, val2, strict, memos, kNoIterator, _keys);\n  } else if (isSet(val1)) {\n    if (!isSet(val2) || val1.size !== val2.size) {\n      return false;\n    }\n    return keyCheck(val1, val2, strict, memos, kIsSet);\n  } else if (isMap(val1)) {\n    if (!isMap(val2) || val1.size !== val2.size) {\n      return false;\n    }\n    return keyCheck(val1, val2, strict, memos, kIsMap);\n  } else if (isAnyArrayBuffer(val1)) {\n    if (!areEqualArrayBuffers(val1, val2)) {\n      return false;\n    }\n  } else if (isBoxedPrimitive(val1) && !isEqualBoxedPrimitive(val1, val2)) {\n    return false;\n  }\n  return keyCheck(val1, val2, strict, memos, kNoIterator);\n}\nfunction getEnumerables(val, keys) {\n  return keys.filter(function (k) {\n    return propertyIsEnumerable(val, k);\n  });\n}\nfunction keyCheck(val1, val2, strict, memos, iterationType, aKeys) {\n  // For all remaining Object pairs, including Array, objects and Maps,\n  // equivalence is determined by having:\n  // a) The same number of owned enumerable properties\n  // b) The same set of keys/indexes (although not necessarily the same order)\n  // c) Equivalent values for every corresponding key/index\n  // d) For Sets and Maps, equal contents\n  // Note: this accounts for both named and indexed properties on Arrays.\n  if (arguments.length === 5) {\n    aKeys = Object.keys(val1);\n    var bKeys = Object.keys(val2);\n\n    // The pair must have the same number of owned properties.\n    if (aKeys.length !== bKeys.length) {\n      return false;\n    }\n  }\n\n  // Cheap key test\n  var i = 0;\n  for (; i < aKeys.length; i++) {\n    if (!hasOwnProperty(val2, aKeys[i])) {\n      return false;\n    }\n  }\n  if (strict && arguments.length === 5) {\n    var symbolKeysA = objectGetOwnPropertySymbols(val1);\n    if (symbolKeysA.length !== 0) {\n      var count = 0;\n      for (i = 0; i < symbolKeysA.length; i++) {\n        var key = symbolKeysA[i];\n        if (propertyIsEnumerable(val1, key)) {\n          if (!propertyIsEnumerable(val2, key)) {\n            return false;\n          }\n          aKeys.push(key);\n          count++;\n        } else if (propertyIsEnumerable(val2, key)) {\n          return false;\n        }\n      }\n      var symbolKeysB = objectGetOwnPropertySymbols(val2);\n      if (symbolKeysA.length !== symbolKeysB.length && getEnumerables(val2, symbolKeysB).length !== count) {\n        return false;\n      }\n    } else {\n      var _symbolKeysB = objectGetOwnPropertySymbols(val2);\n      if (_symbolKeysB.length !== 0 && getEnumerables(val2, _symbolKeysB).length !== 0) {\n        return false;\n      }\n    }\n  }\n  if (aKeys.length === 0 && (iterationType === kNoIterator || iterationType === kIsArray && val1.length === 0 || val1.size === 0)) {\n    return true;\n  }\n\n  // Use memos to handle cycles.\n  if (memos === undefined) {\n    memos = {\n      val1: new Map(),\n      val2: new Map(),\n      position: 0\n    };\n  } else {\n    // We prevent up to two map.has(x) calls by directly retrieving the value\n    // and checking for undefined. The map can only contain numbers, so it is\n    // safe to check for undefined only.\n    var val2MemoA = memos.val1.get(val1);\n    if (val2MemoA !== undefined) {\n      var val2MemoB = memos.val2.get(val2);\n      if (val2MemoB !== undefined) {\n        return val2MemoA === val2MemoB;\n      }\n    }\n    memos.position++;\n  }\n  memos.val1.set(val1, memos.position);\n  memos.val2.set(val2, memos.position);\n  var areEq = objEquiv(val1, val2, strict, aKeys, memos, iterationType);\n  memos.val1.delete(val1);\n  memos.val2.delete(val2);\n  return areEq;\n}\nfunction setHasEqualElement(set, val1, strict, memo) {\n  // Go looking.\n  var setValues = arrayFromSet(set);\n  for (var i = 0; i < setValues.length; i++) {\n    var val2 = setValues[i];\n    if (innerDeepEqual(val1, val2, strict, memo)) {\n      // Remove the matching element to make sure we do not check that again.\n      set.delete(val2);\n      return true;\n    }\n  }\n  return false;\n}\n\n// See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness#Loose_equality_using\n// Sadly it is not possible to detect corresponding values properly in case the\n// type is a string, number, bigint or boolean. The reason is that those values\n// can match lots of different string values (e.g., 1n == '+00001').\nfunction findLooseMatchingPrimitives(prim) {\n  switch (_typeof(prim)) {\n    case 'undefined':\n      return null;\n    case 'object':\n      // Only pass in null as object!\n      return undefined;\n    case 'symbol':\n      return false;\n    case 'string':\n      prim = +prim;\n    // Loose equal entries exist only if the string is possible to convert to\n    // a regular number and not NaN.\n    // Fall through\n    case 'number':\n      if (numberIsNaN(prim)) {\n        return false;\n      }\n  }\n  return true;\n}\nfunction setMightHaveLoosePrim(a, b, prim) {\n  var altValue = findLooseMatchingPrimitives(prim);\n  if (altValue != null) return altValue;\n  return b.has(altValue) && !a.has(altValue);\n}\nfunction mapMightHaveLoosePrim(a, b, prim, item, memo) {\n  var altValue = findLooseMatchingPrimitives(prim);\n  if (altValue != null) {\n    return altValue;\n  }\n  var curB = b.get(altValue);\n  if (curB === undefined && !b.has(altValue) || !innerDeepEqual(item, curB, false, memo)) {\n    return false;\n  }\n  return !a.has(altValue) && innerDeepEqual(item, curB, false, memo);\n}\nfunction setEquiv(a, b, strict, memo) {\n  // This is a lazily initiated Set of entries which have to be compared\n  // pairwise.\n  var set = null;\n  var aValues = arrayFromSet(a);\n  for (var i = 0; i < aValues.length; i++) {\n    var val = aValues[i];\n    // Note: Checking for the objects first improves the performance for object\n    // heavy sets but it is a minor slow down for primitives. As they are fast\n    // to check this improves the worst case scenario instead.\n    if (_typeof(val) === 'object' && val !== null) {\n      if (set === null) {\n        set = new Set();\n      }\n      // If the specified value doesn't exist in the second set its an not null\n      // object (or non strict only: a not matching primitive) we'll need to go\n      // hunting for something thats deep-(strict-)equal to it. To make this\n      // O(n log n) complexity we have to copy these values in a new set first.\n      set.add(val);\n    } else if (!b.has(val)) {\n      if (strict) return false;\n\n      // Fast path to detect missing string, symbol, undefined and null values.\n      if (!setMightHaveLoosePrim(a, b, val)) {\n        return false;\n      }\n      if (set === null) {\n        set = new Set();\n      }\n      set.add(val);\n    }\n  }\n  if (set !== null) {\n    var bValues = arrayFromSet(b);\n    for (var _i = 0; _i < bValues.length; _i++) {\n      var _val = bValues[_i];\n      // We have to check if a primitive value is already\n      // matching and only if it's not, go hunting for it.\n      if (_typeof(_val) === 'object' && _val !== null) {\n        if (!setHasEqualElement(set, _val, strict, memo)) return false;\n      } else if (!strict && !a.has(_val) && !setHasEqualElement(set, _val, strict, memo)) {\n        return false;\n      }\n    }\n    return set.size === 0;\n  }\n  return true;\n}\nfunction mapHasEqualEntry(set, map, key1, item1, strict, memo) {\n  // To be able to handle cases like:\n  //   Map([[{}, 'a'], [{}, 'b']]) vs Map([[{}, 'b'], [{}, 'a']])\n  // ... we need to consider *all* matching keys, not just the first we find.\n  var setValues = arrayFromSet(set);\n  for (var i = 0; i < setValues.length; i++) {\n    var key2 = setValues[i];\n    if (innerDeepEqual(key1, key2, strict, memo) && innerDeepEqual(item1, map.get(key2), strict, memo)) {\n      set.delete(key2);\n      return true;\n    }\n  }\n  return false;\n}\nfunction mapEquiv(a, b, strict, memo) {\n  var set = null;\n  var aEntries = arrayFromMap(a);\n  for (var i = 0; i < aEntries.length; i++) {\n    var _aEntries$i = _slicedToArray(aEntries[i], 2),\n      key = _aEntries$i[0],\n      item1 = _aEntries$i[1];\n    if (_typeof(key) === 'object' && key !== null) {\n      if (set === null) {\n        set = new Set();\n      }\n      set.add(key);\n    } else {\n      // By directly retrieving the value we prevent another b.has(key) check in\n      // almost all possible cases.\n      var item2 = b.get(key);\n      if (item2 === undefined && !b.has(key) || !innerDeepEqual(item1, item2, strict, memo)) {\n        if (strict) return false;\n        // Fast path to detect missing string, symbol, undefined and null\n        // keys.\n        if (!mapMightHaveLoosePrim(a, b, key, item1, memo)) return false;\n        if (set === null) {\n          set = new Set();\n        }\n        set.add(key);\n      }\n    }\n  }\n  if (set !== null) {\n    var bEntries = arrayFromMap(b);\n    for (var _i2 = 0; _i2 < bEntries.length; _i2++) {\n      var _bEntries$_i = _slicedToArray(bEntries[_i2], 2),\n        _key = _bEntries$_i[0],\n        item = _bEntries$_i[1];\n      if (_typeof(_key) === 'object' && _key !== null) {\n        if (!mapHasEqualEntry(set, a, _key, item, strict, memo)) return false;\n      } else if (!strict && (!a.has(_key) || !innerDeepEqual(a.get(_key), item, false, memo)) && !mapHasEqualEntry(set, a, _key, item, false, memo)) {\n        return false;\n      }\n    }\n    return set.size === 0;\n  }\n  return true;\n}\nfunction objEquiv(a, b, strict, keys, memos, iterationType) {\n  // Sets and maps don't have their entries accessible via normal object\n  // properties.\n  var i = 0;\n  if (iterationType === kIsSet) {\n    if (!setEquiv(a, b, strict, memos)) {\n      return false;\n    }\n  } else if (iterationType === kIsMap) {\n    if (!mapEquiv(a, b, strict, memos)) {\n      return false;\n    }\n  } else if (iterationType === kIsArray) {\n    for (; i < a.length; i++) {\n      if (hasOwnProperty(a, i)) {\n        if (!hasOwnProperty(b, i) || !innerDeepEqual(a[i], b[i], strict, memos)) {\n          return false;\n        }\n      } else if (hasOwnProperty(b, i)) {\n        return false;\n      } else {\n        // Array is sparse.\n        var keysA = Object.keys(a);\n        for (; i < keysA.length; i++) {\n          var key = keysA[i];\n          if (!hasOwnProperty(b, key) || !innerDeepEqual(a[key], b[key], strict, memos)) {\n            return false;\n          }\n        }\n        if (keysA.length !== Object.keys(b).length) {\n          return false;\n        }\n        return true;\n      }\n    }\n  }\n\n  // The pair must have equivalent values for every corresponding key.\n  // Possibly expensive deep test:\n  for (i = 0; i < keys.length; i++) {\n    var _key2 = keys[i];\n    if (!innerDeepEqual(a[_key2], b[_key2], strict, memos)) {\n      return false;\n    }\n  }\n  return true;\n}\nfunction isDeepEqual(val1, val2) {\n  return innerDeepEqual(val1, val2, kLoose);\n}\nfunction isDeepStrictEqual(val1, val2) {\n  return innerDeepEqual(val1, val2, kStrict);\n}\nmodule.exports = {\n  isDeepEqual: isDeepEqual,\n  isDeepStrictEqual: isDeepStrictEqual\n};","/*!\n * assertion-error\n * Copyright(c) 2013 Jake Luer <jake@qualiancy.com>\n * MIT Licensed\n */\n\n/*!\n * Return a function that will copy properties from\n * one object to another excluding any originally\n * listed. Returned function will create a new `{}`.\n *\n * @param {String} excluded properties ...\n * @return {Function}\n */\n\nfunction exclude () {\n  var excludes = [].slice.call(arguments);\n\n  function excludeProps (res, obj) {\n    Object.keys(obj).forEach(function (key) {\n      if (!~excludes.indexOf(key)) res[key] = obj[key];\n    });\n  }\n\n  return function extendExclude () {\n    var args = [].slice.call(arguments)\n      , i = 0\n      , res = {};\n\n    for (; i < args.length; i++) {\n      excludeProps(res, args[i]);\n    }\n\n    return res;\n  };\n};\n\n/*!\n * Primary Exports\n */\n\nmodule.exports = AssertionError;\n\n/**\n * ### AssertionError\n *\n * An extension of the JavaScript `Error` constructor for\n * assertion and validation scenarios.\n *\n * @param {String} message\n * @param {Object} properties to include (optional)\n * @param {callee} start stack function (optional)\n */\n\nfunction AssertionError (message, _props, ssf) {\n  var extend = exclude('name', 'message', 'stack', 'constructor', 'toJSON')\n    , props = extend(_props || {});\n\n  // default values\n  this.message = message || 'Unspecified AssertionError';\n  this.showDiff = false;\n\n  // copy from properties\n  for (var key in props) {\n    this[key] = props[key];\n  }\n\n  // capture stack trace\n  ssf = ssf || AssertionError;\n  if (Error.captureStackTrace) {\n    Error.captureStackTrace(this, ssf);\n  } else {\n    try {\n      throw new Error();\n    } catch(e) {\n      this.stack = e.stack;\n    }\n  }\n}\n\n/*!\n * Inherit from Error.prototype\n */\n\nAssertionError.prototype = Object.create(Error.prototype);\n\n/*!\n * Statically set name\n */\n\nAssertionError.prototype.name = 'AssertionError';\n\n/*!\n * Ensure correct constructor\n */\n\nAssertionError.prototype.constructor = AssertionError;\n\n/**\n * Allow errors to be converted to JSON for static transfer.\n *\n * @param {Boolean} include stack (default: `true`)\n * @return {Object} object that can be `JSON.stringify`\n */\n\nAssertionError.prototype.toJSON = function (stack) {\n  var extend = exclude('constructor', 'toJSON', 'stack')\n    , props = extend({ name: this.name }, this);\n\n  // include stack if exists and not turned off\n  if (false !== stack && this.stack) {\n    props.stack = this.stack;\n  }\n\n  return props;\n};\n","'use strict';\n\n// Gets all non-builtin properties up the prototype chain\nconst getAllProperties = object => {\n\tconst properties = new Set();\n\n\tdo {\n\t\tfor (const key of Reflect.ownKeys(object)) {\n\t\t\tproperties.add([object, key]);\n\t\t}\n\t} while ((object = Reflect.getPrototypeOf(object)) && object !== Object.prototype);\n\n\treturn properties;\n};\n\nmodule.exports = (self, {include, exclude} = {}) => {\n\tconst filter = key => {\n\t\tconst match = pattern => typeof pattern === 'string' ? key === pattern : pattern.test(key);\n\n\t\tif (include) {\n\t\t\treturn include.some(match);\n\t\t}\n\n\t\tif (exclude) {\n\t\t\treturn !exclude.some(match);\n\t\t}\n\n\t\treturn true;\n\t};\n\n\tfor (const [object, key] of getAllProperties(self.constructor.prototype)) {\n\t\tif (key === 'constructor' || !filter(key)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst descriptor = Reflect.getOwnPropertyDescriptor(object, key);\n\t\tif (descriptor && typeof descriptor.value === 'function') {\n\t\t\tself[key] = self[key].bind(self);\n\t\t}\n\t}\n\n\treturn self;\n};\n","/*! axe v4.11.4\n * Copyright (c) 2015 - 2026 Deque Systems, Inc.\n *\n * Your use of this Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n *\n * This entire copyright notice must appear in every copy of this file you\n * distribute or in any file that contains substantial portions of this source\n * code.\n */\n!function a(window){var q=window,document=window.document;function te(e){return(te=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}var axe=axe||{},P=(axe.version=\"4.11.4\",\"function\"==typeof define&&define.amd&&define(\"axe-core\",[],function(){return axe}),\"object\"===(\"undefined\"==typeof module?\"undefined\":te(module))&&module.exports&&\"function\"==typeof a.toString&&(axe.source=\"(\"+a.toString()+')(typeof window === \"object\" ? window : this);',module.exports=axe),\"function\"==typeof window.getComputedStyle&&(window.axe=axe),[\"precision\",\"format\",\"inGamut\"]),i=[\"space\"],l=[\"algorithm\"],I=[\"method\"],B=[\"maxDeltaE\",\"deltaEMethod\",\"steps\",\"maxSteps\"],j=[\"node\"],L=[\"relatedNodes\"],z=[\"node\"],V=[\"variant\"],G=[\"matches\"],$=[\"chromium\"],H=[\"noImplicit\"],U=[\"noPresentational\"],W=[\"node\"],Y=[\"environmentData\"],K=[\"environmentData\"],X=[\"environmentData\"],Z=[\"environmentData\"],J=[\"environmentData\"];function Q(e){return ve(e)||se(e)||xe(e)||ge()}function ee(e){var r=\"function\"==typeof Map?new Map:void 0;return function(e){if(null===e||!(t=>{try{return-1!==Function.toString.call(t).indexOf(\"[native code]\")}catch(e){return\"function\"==typeof t}})(e))return e;if(\"function\"!=typeof e)throw new TypeError(\"Super expression must either be null or a function\");if(void 0!==r){if(r.has(e))return r.get(e);r.set(e,t)}function t(){return ne(e,arguments,ie(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),ue(t,e)}(e)}function re(e,t,r){return(t=De(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ne(e,t,r){var n;return oe()?Reflect.construct.apply(null,arguments):((n=[null]).push.apply(n,t),t=new(e.bind.apply(e,n)),r&&ue(t,r.prototype),t)}function v(e,t){if(null==e)return{};var r,n=((e,t)=>{if(null==e)return{};var r,n={};for(r in e)!{}.hasOwnProperty.call(e,r)||-1!==t.indexOf(r)||(n[r]=e[r]);return n})(e,t);if(Object.getOwnPropertySymbols)for(var a=Object.getOwnPropertySymbols(e),o=0;o<a.length;o++)r=a[o],-1===t.indexOf(r)&&{}.propertyIsEnumerable.call(e,r)&&(n[r]=e[r]);return n}function ae(e,t,r){t=ie(t);var n=e,t=oe()?Reflect.construct(t,r||[],ie(e).constructor):t.apply(e,r);if(t&&(\"object\"==te(t)||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");if(void 0!==(t=n))return t;throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")}function oe(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(oe=function(){return!!e})()}function ie(e){return(ie=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function le(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&ue(e,t)}function ue(e,t){return(ue=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function h(){return(h=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r,n=arguments[t];for(r in n)!{}.hasOwnProperty.call(n,r)||(e[r]=n[r])}return e}).apply(null,arguments)}function w(e){return(e=>{if(Array.isArray(e))return Ee(e)})(e)||se(e)||xe(e)||(()=>{throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")})()}function se(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}function ce(e,t,r){pe(e,t),t.set(e,r)}function de(e,t){pe(e,t),t.add(e)}function pe(e,t){if(t.has(e))throw new TypeError(\"Cannot initialize the same private elements twice on an object\")}function fe(e,t){return e.get(he(e,t))}function me(e,t,r){e.set(he(e,t),r)}function he(e,t,r){if(\"function\"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError(\"Private element is not present on this object\")}function D(e,t){return ve(e)||((e,t)=>{var r=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=r){var n,a,o,i,l=[],u=!0,s=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);u=!0);}catch(e){s=!0,a=e}finally{try{if(!u&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(s)throw a}}return l}})(e,t)||xe(e,t)||ge()}function ge(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}function ve(e){if(Array.isArray(e))return e}function be(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function ye(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,De(n.key),n)}}function we(e,t,r){return t&&ye(e.prototype,t),r&&ye(e,r),Object.defineProperty(e,\"prototype\",{writable:!1}),e}function De(e){e=((e,t)=>{if(\"object\"!=te(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0===r)return(\"string\"===t?String:Number)(e);if(r=r.call(e,t||\"default\"),\"object\"==te(r))throw new TypeError(\"@@toPrimitive must return a primitive value.\");return r})(e,\"string\");return\"symbol\"==te(e)?e:e+\"\"}function x(e,t){var r,n,a,o,i=\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(i)return a=!(n=!0),{s:function(){i=i.call(e)},n:function(){var e=i.next();return n=e.done,e},e:function(e){a=!0,r=e},f:function(){try{n||null==i.return||i.return()}finally{if(a)throw r}}};if(Array.isArray(e)||(i=xe(e))||t&&e&&\"number\"==typeof e.length)return i&&(e=i),o=0,{s:t=function(){},n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:t};throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}function xe(e,t){var r;if(e)return\"string\"==typeof e?Ee(e,t):\"Map\"===(r=\"Object\"===(r={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:r)||\"Set\"===r?Array.from(e):\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ee(e,t):void 0}function Ee(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function te(e){return(te=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}var Ae=void 0,Fe=void 0,Ce=void 0,ke=void 0,Re=void 0,Ne=void 0,Te=void 0,Oe=void 0,Se=void 0,_e=void 0,Me=void 0;function e(e,t){return function(){return t||e((t={exports:{}}).exports,t),t.exports}}function Pe(e,t){for(var r in t)qe(e,r,{get:t[r],enumerable:!0})}function Ie(t,r,n){if(r&&\"object\"===te(r)||\"function\"==typeof r){var a,o=x(Ge(r));try{for(o.s();!(a=o.n()).done;)(()=>{var e=a.value;Ve.call(t,e)||\"default\"===e||qe(t,e,{get:function(){return r[e]},enumerable:!(n=$e(r,e))||n.enumerable})})()}catch(e){o.e(e)}finally{o.f()}}return t}function Be(e){return Ie((t=qe(null!=e?Le(ze(e)):{},\"default\",e&&e.__esModule&&\"default\"in e?{get:function(){return e.default},enumerable:!0}:{value:e,enumerable:!0}),qe(t,\"__esModule\",{value:!0})),e);var t}function je(e,t,r){e=e,t=\"symbol\"!==te(t)?t+\"\":t,r=r,t in e?qe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r}var Le=Object.create,qe=Object.defineProperty,ze=Object.getPrototypeOf,Ve=Object.prototype.hasOwnProperty,Ge=Object.getOwnPropertyNames,$e=Object.getOwnPropertyDescriptor,He=e(function(e,t){var r;r=function(){function u(e){return\"function\"==typeof e}var r=Array.isArray||function(e){return\"[object Array]\"===Object.prototype.toString.call(e)},n=0,t=void 0,a=void 0,i=function(e,t){d[n]=e,d[n+1]=t,2===(n+=2)&&(a?a(p):I())};var e=void 0!==window?window:void 0,o=e||{},o=o.MutationObserver||o.WebKitMutationObserver,l=\"undefined\"==typeof self&&\"undefined\"!=typeof process&&\"[object process]\"==={}.toString.call(process),s=\"undefined\"!=typeof Uint8ClampedArray&&\"undefined\"!=typeof importScripts&&\"undefined\"!=typeof MessageChannel;function c(){var e=setTimeout;return function(){return e(p,1)}}var d=new Array(1e3);function p(){for(var e=0;e<n;e+=2)(0,d[e])(d[e+1]),d[e]=void 0,d[e+1]=void 0;n=0}function f(){try{var e=Function(\"return this\")().require(\"vertx\");return void 0!==(t=e.runOnLoop||e.runOnContext)?function(){t(p)}:c()}catch(e){return c()}}var m,h,g,I=void 0;function v(e,t){var r,n=this,a=new this.constructor(w),o=(void 0===a[y]&&S(a),n._state);return o?(r=arguments[o-1],i(function(){return T(o,a,r,n._result)})):R(n,a,e,t),a}function b(e){var t;return e&&\"object\"===te(e)&&e.constructor===this?e:(F(t=new this(w),e),t)}var I=l?function(){return process.nextTick(p)}:o?(h=0,l=new o(p),g=document.createTextNode(\"\"),l.observe(g,{characterData:!0}),function(){g.data=h=++h%2}):s?((m=new MessageChannel).port1.onmessage=p,function(){return m.port2.postMessage(0)}):(void 0===e?f:c)(),y=Math.random().toString(36).substring(2);function w(){}var D=void 0,x=1,E=2;function B(e,n,a){i(function(t){var r=!1,e=((e,t,r,n)=>{try{e.call(t,r,n)}catch(e){return e}})(a,n,function(e){r||(r=!0,(n!==e?F:C)(t,e))},function(e){r||(r=!0,k(t,e))},t._label);!r&&e&&(r=!0,k(t,e))},e)}function A(e,t,r){var n,a;t.constructor===e.constructor&&r===v&&t.constructor.resolve===b?(n=e,(a=t)._state===x?C(n,a._result):a._state===E?k(n,a._result):R(a,void 0,function(e){return F(n,e)},function(e){return k(n,e)})):void 0!==r&&u(r)?B(e,t,r):C(e,t)}function F(t,e){if(t===e)k(t,new TypeError(\"You cannot resolve a promise with itself\"));else if(n=te(r=e),null===r||\"object\"!==n&&\"function\"!==n)C(t,e);else{r=void 0;try{r=e.then}catch(e){return void k(t,e)}A(t,e,r)}var r,n}function j(e){e._onerror&&e._onerror(e._result),N(e)}function C(e,t){e._state===D&&(e._result=t,e._state=x,0!==e._subscribers.length)&&i(N,e)}function k(e,t){e._state===D&&(e._state=E,e._result=t,i(j,e))}function R(e,t,r,n){var a=e._subscribers,o=a.length;e._onerror=null,a[o]=t,a[o+x]=r,a[o+E]=n,0===o&&e._state&&i(N,e)}function N(e){var t=e._subscribers,r=e._state;if(0!==t.length){for(var n,a=void 0,o=e._result,i=0;i<t.length;i+=3)n=t[i],a=t[i+r],n?T(r,n,a,o):a(o);e._subscribers.length=0}}function T(e,t,r,n){var a=u(r),o=void 0,i=void 0,l=!0;if(a){try{o=r(n)}catch(e){l=!1,i=e}if(t===o)return void k(t,new TypeError(\"A promises callback cannot return that same promise.\"))}else o=n;t._state===D&&(a&&l?F(t,o):!1===l?k(t,i):e===x?C(t,o):e===E&&k(t,o))}var O=0;function S(e){e[y]=O++,e._state=void 0,e._result=void 0,e._subscribers=[]}_.prototype._enumerate=function(e){for(var t=0;this._state===D&&t<e.length;t++)this._eachEntry(e[t],t)},_.prototype._eachEntry=function(t,e){var r=this._instanceConstructor,n=r.resolve;if(n===b){var a,o=void 0,i=void 0,l=!1;try{o=t.then}catch(e){l=!0,i=e}o===v&&t._state!==D?this._settledAt(t._state,e,t._result):\"function\"!=typeof o?(this._remaining--,this._result[e]=t):r===M?(a=new r(w),l?k(a,i):A(a,t,o),this._willSettleAt(a,e)):this._willSettleAt(new r(function(e){return e(t)}),e)}else this._willSettleAt(n(t),e)},_.prototype._settledAt=function(e,t,r){var n=this.promise;n._state===D&&(this._remaining--,e===E?k(n,r):this._result[t]=r),0===this._remaining&&C(n,this._result)},_.prototype._willSettleAt=function(e,t){var r=this;R(e,void 0,function(e){return r._settledAt(x,t,e)},function(e){return r._settledAt(E,t,e)})};var L=_;function _(e,t){this._instanceConstructor=e,this.promise=new e(w),this.promise[y]||S(this.promise),r(t)?(this.length=t.length,this._remaining=t.length,this._result=new Array(this.length),0!==this.length&&(this.length=this.length||0,this._enumerate(t),0!==this._remaining)||C(this.promise,this._result)):k(this.promise,new Error(\"Array Methods must be provided an Array\"))}P.prototype.catch=function(e){return this.then(null,e)},P.prototype.finally=function(t){var r=this.constructor;return u(t)?this.then(function(e){return r.resolve(t()).then(function(){return e})},function(e){return r.resolve(t()).then(function(){throw e})}):this.then(t,t)};var M=P;function P(e){if(this[y]=O++,this._result=this._state=void 0,this._subscribers=[],w!==e){if(\"function\"!=typeof e)throw new TypeError(\"You must pass a resolver function as the first argument to the promise constructor\");if(!(this instanceof P))throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");var t=this;try{e(function(e){F(t,e)},function(e){k(t,e)})}catch(e){k(t,e)}}}return M.prototype.then=v,M.all=function(e){return new L(this,e).promise},M.race=function(a){var o=this;return r(a)?new o(function(e,t){for(var r=a.length,n=0;n<r;n++)o.resolve(a[n]).then(e,t)}):new o(function(e,t){return t(new TypeError(\"You must pass an array to race.\"))})},M.resolve=b,M.reject=function(e){var t=new this(w);return k(t,e),t},M._setScheduler=function(e){a=e},M._setAsap=function(e){i=e},M._asap=i,M.polyfill=function(){var e=void 0;if(void 0!==q)e=q;else if(\"undefined\"!=typeof self)e=self;else try{e=Function(\"return this\")()}catch(e){throw new Error(\"polyfill failed because global object is unavailable in this environment\")}var t=e.Promise;if(t){var r=null;try{r=Object.prototype.toString.call(t.resolve())}catch(e){}if(\"[object Promise]\"===r&&!t.cast)return}e.Promise=M},M.Promise=M},\"object\"===te(e=e)&&void 0!==t?t.exports=r():\"function\"==typeof define&&define.amd?define(r):e.ES6Promise=r()}),Ue=e(function(l){var t,r,n=1e5,p=(t=Object.prototype.toString,r=Object.prototype.hasOwnProperty,{Class:function(e){return t.call(e).replace(/^\\[object *|\\]$/g,\"\")},HasProperty:function(e,t){return t in e},HasOwnProperty:function(e,t){return r.call(e,t)},IsCallable:function(e){return\"function\"==typeof e},ToInt32:function(e){return e>>0},ToUint32:function(e){return e>>>0}}),f=Math.LN2,m=Math.abs,h=Math.floor,g=Math.log,v=Math.min,b=Math.pow,I=Math.round;function a(e,t,r){return e<t?t:r<e?r:e}var o,e,i,u,s,c,d,y,w,D,x,E=Object.getOwnPropertyNames||function(e){if(e!==Object(e))throw new TypeError(\"Object.getOwnPropertyNames called on non-object\");var t,r=[];for(t in e)p.HasOwnProperty(e,t)&&r.push(t);return r};function A(e){if(E&&o)for(var t=E(e),r=0;r<t.length;r+=1)o(e,t[r],{value:e[t[r]],writable:!1,enumerable:!1,configurable:!1})}function B(r){if(o){if(r.length>n)throw new RangeError(\"Array too large for polyfill\");for(var e=0;e<r.length;e+=1)(t=>{o(r,t,{get:function(){return r._getter(t)},set:function(e){r._setter(t,e)},enumerable:!0,configurable:!1})})(e)}}function F(e,t){t=32-t;return e<<t>>t}function C(e,t){t=32-t;return e<<t>>>t}function j(e){return[255&e]}function L(e){return F(e[0],8)}function q(e){return[255&e]}function k(e){return C(e[0],8)}function z(e){return[(e=I(Number(e)))<0?0:255<e?255:255&e]}function V(e){return[e>>8&255,255&e]}function G(e){return F(e[0]<<8|e[1],16)}function $(e){return[e>>8&255,255&e]}function H(e){return C(e[0]<<8|e[1],16)}function U(e){return[e>>24&255,e>>16&255,e>>8&255,255&e]}function W(e){return F(e[0]<<24|e[1]<<16|e[2]<<8|e[3],32)}function Y(e){return[e>>24&255,e>>16&255,e>>8&255,255&e]}function K(e){return C(e[0]<<24|e[1]<<16|e[2]<<8|e[3],32)}function R(e,t,r){var n,a,o,i,l,u,s,c=(1<<t-1)-1;function d(e){var t=h(e),e=e-t;return!(e<.5)&&(.5<e||t%2)?t+1:t}for(e!=e?(a=(1<<t)-1,o=b(2,r-1),n=0):e===1/0||e===-1/0?(a=(1<<t)-1,n=e<(o=0)?1:0):0===e?n=1/e==-1/(o=a=0)?1:0:(n=e<0,(e=m(e))>=b(2,1-c)?(a=v(h(g(e)/f),1023),2<=(o=d(e/b(2,a)*b(2,r)))/b(2,r)&&(a+=1,o=1),c<a?(a=(1<<t)-1,o=0):(a+=c,o-=b(2,r))):(a=0,o=d(e/b(2,1-c-r)))),l=[],i=r;i;--i)l.push(o%2?1:0),o=h(o/2);for(i=t;i;--i)l.push(a%2?1:0),a=h(a/2);for(l.push(n?1:0),l.reverse(),u=l.join(\"\"),s=[];u.length;)s.push(parseInt(u.substring(0,8),2)),u=u.substring(8);return s}function N(e,t,r){for(var n,a,o,i,l,u,s=[],c=e.length;c;--c)for(a=e[c-1],n=8;n;--n)s.push(a%2?1:0),a>>=1;return s.reverse(),u=s.join(\"\"),o=(1<<t-1)-1,i=parseInt(u.substring(0,1),2)?-1:1,l=parseInt(u.substring(1,1+t),2),u=parseInt(u.substring(1+t),2),l===(1<<t)-1?0===u?1/0*i:NaN:0<l?i*b(2,l-o)*(1+u/b(2,r)):0!==u?i*b(2,-(o-1))*(u/b(2,r)):i<0?-0:0}function X(e){return N(e,11,52)}function Z(e){return R(e,11,52)}function J(e){return N(e,8,23)}function Q(e){return R(e,8,23)}function T(e){if((e=p.ToInt32(e))<0)throw new RangeError(\"ArrayBuffer size is not a small enough positive integer\");var t;for(this.byteLength=e,this._bytes=[],this._bytes.length=e,t=0;t<this.byteLength;t+=1)this._bytes[t]=0;A(this)}function ee(){}function O(e,t,r){var l=function(e,t,r){var n,a,o,i;if(arguments.length&&\"number\"!=typeof e)if(\"object\"===te(e)&&e.constructor===l)for(this.length=(n=e).length,this.byteLength=this.length*this.BYTES_PER_ELEMENT,this.buffer=new T(this.byteLength),o=this.byteOffset=0;o<this.length;o+=1)this._setter(o,n._getter(o));else if(\"object\"!==te(e)||(e instanceof T||\"ArrayBuffer\"===p.Class(e))){if(\"object\"!==te(e)||!(e instanceof T||\"ArrayBuffer\"===p.Class(e)))throw new TypeError(\"Unexpected argument type(s)\");if(this.buffer=e,this.byteOffset=p.ToUint32(t),this.byteOffset>this.buffer.byteLength)throw new RangeError(\"byteOffset out of range\");if(this.byteOffset%this.BYTES_PER_ELEMENT)throw new RangeError(\"ArrayBuffer length minus the byteOffset is not a multiple of the element size.\");if(arguments.length<3){if(this.byteLength=this.buffer.byteLength-this.byteOffset,this.byteLength%this.BYTES_PER_ELEMENT)throw new RangeError(\"length of buffer minus byteOffset not a multiple of the element size\");this.length=this.byteLength/this.BYTES_PER_ELEMENT}else this.length=p.ToUint32(r),this.byteLength=this.length*this.BYTES_PER_ELEMENT;if(this.byteOffset+this.byteLength>this.buffer.byteLength)throw new RangeError(\"byteOffset and length reference an area beyond the end of the buffer\")}else for(this.length=p.ToUint32((a=e).length),this.byteLength=this.length*this.BYTES_PER_ELEMENT,this.buffer=new T(this.byteLength),o=this.byteOffset=0;o<this.length;o+=1)i=a[o],this._setter(o,Number(i));else{if(this.length=p.ToInt32(e),r<0)throw new RangeError(\"ArrayBufferView size is not a small enough positive integer\");this.byteLength=this.length*this.BYTES_PER_ELEMENT,this.buffer=new T(this.byteLength),this.byteOffset=0}this.constructor=l,A(this),B(this)};return(l.prototype=new ee).BYTES_PER_ELEMENT=e,l.prototype._pack=t,l.prototype._unpack=r,l.BYTES_PER_ELEMENT=e,l.prototype.get=l.prototype._getter=function(e){if(arguments.length<1)throw new SyntaxError(\"Not enough arguments\");if(!((e=p.ToUint32(e))>=this.length)){for(var t=[],r=0,n=this.byteOffset+e*this.BYTES_PER_ELEMENT;r<this.BYTES_PER_ELEMENT;r+=1,n+=1)t.push(this.buffer._bytes[n]);return this._unpack(t)}},l.prototype._setter=function(e,t){if(arguments.length<2)throw new SyntaxError(\"Not enough arguments\");if((e=p.ToUint32(e))<this.length)for(var r=this._pack(t),n=0,a=this.byteOffset+e*this.BYTES_PER_ELEMENT;n<this.BYTES_PER_ELEMENT;n+=1,a+=1)this.buffer._bytes[a]=r[n]},l.prototype.set=function(e,t){if(arguments.length<1)throw new SyntaxError(\"Not enough arguments\");var r,n,a,o,i,l,u,s,c,d;if(\"object\"===te(e)&&e.constructor===this.constructor){if(r=e,(a=p.ToUint32(t))+r.length>this.length)throw new RangeError(\"Offset plus length of array is out of range\");if(s=this.byteOffset+a*this.BYTES_PER_ELEMENT,c=r.length*this.BYTES_PER_ELEMENT,r.buffer===this.buffer){for(d=[],i=0,l=r.byteOffset;i<c;i+=1,l+=1)d[i]=r.buffer._bytes[l];for(i=0,u=s;i<c;i+=1,u+=1)this.buffer._bytes[u]=d[i]}else for(i=0,l=r.byteOffset,u=s;i<c;i+=1,l+=1,u+=1)this.buffer._bytes[u]=r.buffer._bytes[l]}else{if(\"object\"!==te(e)||void 0===e.length)throw new TypeError(\"Unexpected argument type(s)\");if(o=p.ToUint32((n=e).length),(a=p.ToUint32(t))+o>this.length)throw new RangeError(\"Offset plus length of array is out of range\");for(i=0;i<o;i+=1)l=n[i],this._setter(a+i,Number(l))}},l.prototype.subarray=function(e,t){e=p.ToInt32(e),t=p.ToInt32(t),arguments.length<1&&(e=0),arguments.length<2&&(t=this.length),e<0&&(e=this.length+e),t<0&&(t=this.length+t),e=a(e,0,this.length);t=(t=a(t,0,this.length))-e;return new this.constructor(this.buffer,this.byteOffset+e*this.BYTES_PER_ELEMENT,t=t<0?0:t)},l}function S(e,t){return p.IsCallable(e.get)?e.get(t):e[t]}function _(e,t,r){if(0===arguments.length)e=new l.ArrayBuffer(0);else if(!(e instanceof l.ArrayBuffer||\"ArrayBuffer\"===p.Class(e)))throw new TypeError(\"TypeError\");if(this.buffer=e||new l.ArrayBuffer(0),this.byteOffset=p.ToUint32(t),this.byteOffset>this.buffer.byteLength)throw new RangeError(\"byteOffset out of range\");if(this.byteLength=arguments.length<3?this.buffer.byteLength-this.byteOffset:p.ToUint32(r),this.byteOffset+this.byteLength>this.buffer.byteLength)throw new RangeError(\"byteOffset and length reference an area beyond the end of the buffer\");A(this)}function M(o){return function(e,t){if((e=p.ToUint32(e))+o.BYTES_PER_ELEMENT>this.byteLength)throw new RangeError(\"Array index out of range\");e+=this.byteOffset;for(var r=new l.Uint8Array(this.buffer,e,o.BYTES_PER_ELEMENT),n=[],a=0;a<o.BYTES_PER_ELEMENT;a+=1)n.push(S(r,a));return Boolean(t)===Boolean(x)&&n.reverse(),S(new o(new l.Uint8Array(n).buffer),0)}}function P(i){return function(e,t,r){if((e=p.ToUint32(e))+i.BYTES_PER_ELEMENT>this.byteLength)throw new RangeError(\"Array index out of range\");for(var t=new i([t]),n=new l.Uint8Array(t.buffer),a=[],o=0;o<i.BYTES_PER_ELEMENT;o+=1)a.push(S(n,o));Boolean(r)===Boolean(x)&&a.reverse(),new l.Uint8Array(this.buffer,e,i.BYTES_PER_ELEMENT).set(a)}}o=Object.defineProperty&&(()=>{try{return Object.defineProperty({},\"x\",{}),1}catch(e){}})()?Object.defineProperty:function(e,t,r){if(!e===Object(e))throw new TypeError(\"Object.defineProperty called on non-object\");return p.HasProperty(r,\"get\")&&Object.prototype.__defineGetter__&&Object.prototype.__defineGetter__.call(e,t,r.get),p.HasProperty(r,\"set\")&&Object.prototype.__defineSetter__&&Object.prototype.__defineSetter__.call(e,t,r.set),p.HasProperty(r,\"value\")&&(e[t]=r.value),e},l.ArrayBuffer=l.ArrayBuffer||T,D=O(1,j,L),e=O(1,q,k),i=O(1,z,k),u=O(2,V,G),s=O(2,$,H),c=O(4,U,W),d=O(4,Y,K),y=O(4,Q,J),w=O(8,Z,X),l.Int8Array=l.Int8Array||D,l.Uint8Array=l.Uint8Array||e,l.Uint8ClampedArray=l.Uint8ClampedArray||i,l.Int16Array=l.Int16Array||u,l.Uint16Array=l.Uint16Array||s,l.Int32Array=l.Int32Array||c,l.Uint32Array=l.Uint32Array||d,l.Float32Array=l.Float32Array||y,l.Float64Array=l.Float64Array||w,D=new l.Uint16Array([4660]),x=18===S(new l.Uint8Array(D.buffer),0),_.prototype.getUint8=M(l.Uint8Array),_.prototype.getInt8=M(l.Int8Array),_.prototype.getUint16=M(l.Uint16Array),_.prototype.getInt16=M(l.Int16Array),_.prototype.getUint32=M(l.Uint32Array),_.prototype.getInt32=M(l.Int32Array),_.prototype.getFloat32=M(l.Float32Array),_.prototype.getFloat64=M(l.Float64Array),_.prototype.setUint8=P(l.Uint8Array),_.prototype.setInt8=P(l.Int8Array),_.prototype.setUint16=P(l.Uint16Array),_.prototype.setInt16=P(l.Int16Array),_.prototype.setUint32=P(l.Uint32Array),_.prototype.setInt32=P(l.Int32Array),_.prototype.setFloat32=P(l.Float32Array),_.prototype.setFloat64=P(l.Float64Array),l.DataView=l.DataView||_}),We=e(function(e){function t(){if(void 0===this)throw new TypeError(\"Constructor WeakMap requires 'new'\");if(l(this,\"_id\",\"_WeakMap_\"+r()+\".\"+r()),0<arguments.length)throw new TypeError(\"WeakMap iterable is not supported\")}function n(e,t){if(!a(e)||!o.call(e,\"_id\"))throw new TypeError(t+\" method called on incompatible receiver \"+te(e))}function r(){return Math.random().toString().substring(2)}function a(e){return Object(e)===e}var o,i,l;(e=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof self?self:void 0!==window?window:void 0!==q?q:e).WeakMap||(o=Object.prototype.hasOwnProperty,i=Object.defineProperty&&(()=>{try{return 1===Object.defineProperty({},\"x\",{value:1}).x}catch(e){}})(),e.WeakMap=((l=function(e,t,r){i?Object.defineProperty(e,t,{configurable:!0,writable:!0,value:r}):e[t]=r})(t.prototype,\"delete\",function(e){var t;return n(this,\"delete\"),!!a(e)&&!(!(t=e[this._id])||t[0]!==e||(delete e[this._id],0))}),l(t.prototype,\"get\",function(e){var t;return n(this,\"get\"),a(e)&&(t=e[this._id])&&t[0]===e?t[1]:void 0}),l(t.prototype,\"has\",function(e){var t;return n(this,\"has\"),!!a(e)&&!(!(t=e[this._id])||t[0]!==e)}),l(t.prototype,\"set\",function(e,t){var r;if(n(this,\"set\"),a(e))return(r=e[this._id])&&r[0]===e?r[1]=t:l(e,this._id,[e,t]),this;throw new TypeError(\"Invalid value used as weak map key\")}),l(t,\"_polyfill\",!0),t))}),Ye=e(function(e,t){function r(e){return e&&e.Math===Math&&e}t.exports=r(\"object\"==(\"undefined\"==typeof globalThis?\"undefined\":te(globalThis))&&globalThis)||r(\"object\"==(void 0===window?\"undefined\":te(window))&&window)||r(\"object\"==(\"undefined\"==typeof self?\"undefined\":te(self))&&self)||r(\"object\"==(void 0===q?\"undefined\":te(q))&&q)||r(\"object\"==te(e)&&e)||function(){return this}()||Function(\"return this\")()}),Ke=e(function(e,t){t.exports=function(e){try{return!!e()}catch(e){return!0}}}),Xe=e(function(e,t){var r=Ke();t.exports=!r(function(){var e=function(){}.bind();return\"function\"!=typeof e||e.hasOwnProperty(\"prototype\")})}),Ze=e(function(e,t){var r=Xe(),n=Function.prototype,a=n.apply,o=n.call;t.exports=\"object\"==(\"undefined\"==typeof Reflect?\"undefined\":te(Reflect))&&Reflect.apply||(r?o.bind(a):function(){return o.apply(a,arguments)})}),Je=e(function(e,t){var r=Xe(),n=Function.prototype,a=n.call,n=r&&n.bind.bind(a,a);t.exports=r?n:function(e){return function(){return a.apply(e,arguments)}}}),Qe=e(function(e,t){var r=Je(),n=r({}.toString),a=r(\"\".slice);t.exports=function(e){return a(n(e),8,-1)}}),et=e(function(e,t){var r=Qe(),n=Je();t.exports=function(e){if(\"Function\"===r(e))return n(e)}}),tt=e(function(e,t){var r=\"object\"==(void 0===document?\"undefined\":te(document))&&document.all;t.exports=void 0===r&&void 0!==r?function(e){return\"function\"==typeof e||e===r}:function(e){return\"function\"==typeof e}}),rt=e(function(e,t){var r=Ke();t.exports=!r(function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]})}),nt=e(function(e,t){var r=Xe(),n=Function.prototype.call;t.exports=r?n.bind(n):function(){return n.apply(n,arguments)}}),at=e(function(e){var t={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,n=r&&!t.call({1:2},1);e.f=n?function(e){e=r(this,e);return!!e&&e.enumerable}:t}),ot=e(function(e,t){t.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}}),it=e(function(e,t){var r=Je(),n=Ke(),a=Qe(),o=Object,i=r(\"\".split);t.exports=n(function(){return!o(\"z\").propertyIsEnumerable(0)})?function(e){return\"String\"===a(e)?i(e,\"\"):o(e)}:o}),lt=e(function(e,t){t.exports=function(e){return null==e}}),ut=e(function(e,t){var r=lt(),n=TypeError;t.exports=function(e){if(r(e))throw new n(\"Can't call method on \"+e);return e}}),st=e(function(e,t){var r=it(),n=ut();t.exports=function(e){return r(n(e))}}),ct=e(function(e,t){var r=tt();t.exports=function(e){return\"object\"==te(e)?null!==e:r(e)}}),dt=e(function(e,t){t.exports={}}),pt=e(function(e,t){function r(e){return o(e)?e:void 0}var n=dt(),a=Ye(),o=tt();t.exports=function(e,t){return arguments.length<2?r(n[e])||r(a[e]):n[e]&&n[e][t]||a[e]&&a[e][t]}}),ft=e(function(e,t){var r=Je();t.exports=r({}.isPrototypeOf)}),mt=e(function(e,t){var r=Ye().navigator,r=r&&r.userAgent;t.exports=r?String(r):\"\"}),ht=e(function(e,t){var r,n,a=Ye(),o=mt(),i=a.process,a=a.Deno,i=i&&i.versions||a&&a.version,a=i&&i.v8;!(n=a?0<(r=a.split(\".\"))[0]&&r[0]<4?1:+(r[0]+r[1]):n)&&o&&(!(r=o.match(/Edge\\/(\\d+)/))||74<=r[1])&&(r=o.match(/Chrome\\/(\\d+)/))&&(n=+r[1]),t.exports=n}),gt=e(function(e,t){var r=ht(),n=Ke(),a=Ye().String;t.exports=!!Object.getOwnPropertySymbols&&!n(function(){var e=Symbol(\"symbol detection\");return!a(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&r&&r<41})}),vt=e(function(e,t){var r=gt();t.exports=r&&!Symbol.sham&&\"symbol\"==te(Symbol.iterator)}),bt=e(function(e,t){var r=pt(),n=tt(),a=ft(),o=vt(),i=Object;t.exports=o?function(e){return\"symbol\"==te(e)}:function(e){var t=r(\"Symbol\");return n(t)&&a(t.prototype,i(e))}}),yt=e(function(e,t){var r=String;t.exports=function(e){try{return r(e)}catch(e){return\"Object\"}}}),wt=e(function(e,t){var r=tt(),n=yt(),a=TypeError;t.exports=function(e){if(r(e))return e;throw new a(n(e)+\" is not a function\")}}),Dt=e(function(e,t){var r=wt(),n=lt();t.exports=function(e,t){e=e[t];return n(e)?void 0:r(e)}}),xt=e(function(e,t){var a=nt(),o=tt(),i=ct(),l=TypeError;t.exports=function(e,t){var r,n;if(\"string\"===t&&o(r=e.toString)&&!i(n=a(r,e)))return n;if(o(r=e.valueOf)&&!i(n=a(r,e)))return n;if(\"string\"!==t&&o(r=e.toString)&&!i(n=a(r,e)))return n;throw new l(\"Can't convert object to primitive value\")}}),Et=e(function(e,t){t.exports=!0}),At=e(function(e,t){var n=Ye(),a=Object.defineProperty;t.exports=function(t,r){try{a(n,t,{value:r,configurable:!0,writable:!0})}catch(e){n[t]=r}return r}}),Ft=e(function(e,t){var r=Et(),n=Ye(),a=At(),o=\"__core-js_shared__\",t=t.exports=n[o]||a(o,{});(t.versions||(t.versions=[])).push({version:\"3.48.0\",mode:r?\"pure\":\"global\",copyright:\"© 2013–2025 Denis Pushkarev (zloirock.ru), 2025–2026 CoreJS Company (core-js.io). All rights reserved.\",license:\"https://github.com/zloirock/core-js/blob/v3.48.0/LICENSE\",source:\"https://github.com/zloirock/core-js\"})}),Ct=e(function(e,t){var r=Ft();t.exports=function(e,t){return r[e]||(r[e]=t||{})}}),kt=e(function(e,t){var r=ut(),n=Object;t.exports=function(e){return n(r(e))}}),Rt=e(function(e,t){var r=Je(),n=kt(),a=r({}.hasOwnProperty);t.exports=Object.hasOwn||function(e,t){return a(n(e),t)}}),Nt=e(function(e,t){var r=Je(),n=0,a=Math.random(),o=r(1.1.toString);t.exports=function(e){return\"Symbol(\"+(void 0===e?\"\":e)+\")_\"+o(++n+a,36)}}),Tt=e(function(e,t){var r=Ye(),n=Ct(),a=Rt(),o=Nt(),i=gt(),l=vt(),u=r.Symbol,s=n(\"wks\"),c=l?u.for||u:u&&u.withoutSetter||o;t.exports=function(e){return a(s,e)||(s[e]=i&&a(u,e)?u[e]:c(\"Symbol.\"+e)),s[e]}}),Ot=e(function(e,t){var n=nt(),a=ct(),o=bt(),i=Dt(),l=xt(),r=Tt(),u=TypeError,s=r(\"toPrimitive\");t.exports=function(e,t){if(!a(e)||o(e))return e;var r=i(e,s);if(r){if(r=n(r,e,t=void 0===t?\"default\":t),!a(r)||o(r))return r;throw new u(\"Can't convert object to primitive value\")}return l(e,t=void 0===t?\"number\":t)}}),St=e(function(e,t){var r=Ot(),n=bt();t.exports=function(e){e=r(e,\"string\");return n(e)?e:e+\"\"}}),_t=e(function(e,t){var r=Ye(),n=ct(),a=r.document,o=n(a)&&n(a.createElement);t.exports=function(e){return o?a.createElement(e):{}}}),Mt=e(function(e,t){var r=rt(),n=Ke(),a=_t();t.exports=!r&&!n(function(){return 7!==Object.defineProperty(a(\"div\"),\"a\",{get:function(){return 7}}).a})}),Pt=e(function(e){var t=rt(),r=nt(),n=at(),a=ot(),o=st(),i=St(),l=Rt(),u=Mt(),s=Object.getOwnPropertyDescriptor;e.f=t?s:function(e,t){if(e=o(e),t=i(t),u)try{return s(e,t)}catch(e){}if(l(e,t))return a(!r(n.f,e,t),e[t])}}),It=e(function(e,t){function r(e,t){return(e=l[i(e)])===s||e!==u&&(a(t)?n(t):!!t)}var n=Ke(),a=tt(),o=/#|\\.prototype\\./,i=r.normalize=function(e){return String(e).replace(o,\".\").toLowerCase()},l=r.data={},u=r.NATIVE=\"N\",s=r.POLYFILL=\"P\";t.exports=r}),Bt=e(function(e,t){var r=et(),n=wt(),a=Xe(),o=r(r.bind);t.exports=function(e,t){return n(e),void 0===t?e:a?o(e,t):function(){return e.apply(t,arguments)}}}),jt=e(function(e,t){var r=rt(),n=Ke();t.exports=r&&n(function(){return 42!==Object.defineProperty(function(){},\"prototype\",{value:42,writable:!1}).prototype})}),Lt=e(function(e,t){var r=ct(),n=String,a=TypeError;t.exports=function(e){if(r(e))return e;throw new a(n(e)+\" is not an object\")}}),qt=e(function(e){var t=rt(),n=Mt(),r=jt(),a=Lt(),o=St(),i=TypeError,l=Object.defineProperty,u=Object.getOwnPropertyDescriptor,s=\"enumerable\",c=\"configurable\",d=\"writable\";e.f=t?r?function(e,t,r){var n;return a(e),t=o(t),a(r),\"function\"==typeof e&&\"prototype\"===t&&\"value\"in r&&d in r&&!r[d]&&(n=u(e,t))&&n[d]&&(e[t]=r.value,r={configurable:(c in r?r:n)[c],enumerable:(s in r?r:n)[s],writable:!1}),l(e,t,r)}:l:function(e,t,r){if(a(e),t=o(t),a(r),n)try{return l(e,t,r)}catch(e){}if(\"get\"in r||\"set\"in r)throw new i(\"Accessors not supported\");return\"value\"in r&&(e[t]=r.value),e}}),zt=e(function(e,t){var r=rt(),n=qt(),a=ot();t.exports=r?function(e,t,r){return n.f(e,t,a(1,r))}:function(e,t,r){return e[t]=r,e}}),Vt=e(function(e,t){function h(n){function a(e,t,r){if(this instanceof a){switch(arguments.length){case 0:return new n;case 1:return new n(e);case 2:return new n(e,t)}return new n(e,t,r)}return o(n,this,arguments)}return a.prototype=n.prototype,a}var g=Ye(),o=Ze(),v=et(),b=tt(),y=Pt().f,w=It(),D=dt(),x=Bt(),E=zt(),A=Rt();Ft();t.exports=function(e,t){var r,n,a,o,i,l,u=e.target,s=e.global,c=e.stat,d=e.proto,p=s?g:c?g[u]:g[u]&&g[u].prototype,f=s?D:D[u]||E(D,u,{})[u],m=f.prototype;for(n in t)i=!(r=w(s?n:u+(c?\".\":\"#\")+n,e.forced))&&p&&A(p,n),o=f[n],i&&(l=e.dontCallGetSet?(l=y(p,n))&&l.value:p[n]),a=i&&l?l:t[n],(r||d||te(o)!=te(a))&&(i=e.bind&&i?x(a,g):e.wrap&&i?h(a):d&&b(a)?v(a):a,(e.sham||a&&a.sham||o&&o.sham)&&E(i,\"sham\",!0),E(f,n,i),d)&&(A(D,o=u+\"Prototype\")||E(D,o,{}),E(D[o],n,a),e.real)&&m&&(r||!m[n])&&E(m,n,a)}}),Gt=e(function(){Vt()({target:\"Object\",stat:!0},{hasOwn:Rt()})}),$t=e(function(e,t){Gt();var r=dt();t.exports=r.Object.hasOwn}),Ht=e(function(e,t){var r=$t();t.exports=r}),t=e(function(e,t){var r=Ht();t.exports=r}),Ut=e(function(e,t){var r=Ct(),n=Nt(),a=r(\"keys\");t.exports=function(e){return a[e]||(a[e]=n(e))}}),Wt=e(function(e,t){var r=Ke();t.exports=!r(function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})}),Yt=e(function(e,t){var r=Rt(),n=tt(),a=kt(),o=Ut(),i=Wt(),l=o(\"IE_PROTO\"),u=Object,s=u.prototype;t.exports=i?u.getPrototypeOf:function(e){var t,e=a(e);return r(e,l)?e[l]:(t=e.constructor,n(t)&&e instanceof t?t.prototype:e instanceof u?s:null)}}),Kt=e(function(e,t){var r=Math.ceil,n=Math.floor;t.exports=Math.trunc||function(e){e=+e;return(0<e?n:r)(e)}}),Xt=e(function(e,t){var r=Kt();t.exports=function(e){e=+e;return e!=e||0==e?0:r(e)}}),Zt=e(function(e,t){var r=Xt(),n=Math.max,a=Math.min;t.exports=function(e,t){e=r(e);return e<0?n(e+t,0):a(e,t)}}),Jt=e(function(e,t){var r=Xt(),n=Math.min;t.exports=function(e){e=r(e);return 0<e?n(e,9007199254740991):0}}),Qt=e(function(e,t){var r=Jt();t.exports=function(e){return r(e.length)}}),er=e(function(e,t){function r(l){return function(e,t,r){var n=u(e),a=c(n);if(0!==a){var o,i=s(r,a);if(l&&t!=t){for(;i<a;)if((o=n[i++])!=o)return!0}else for(;i<a;i++)if((l||i in n)&&n[i]===t)return l||i||0}return!l&&-1}}var u=st(),s=Zt(),c=Qt();t.exports={includes:r(!0),indexOf:r(!1)}}),tr=e(function(e,t){t.exports={}}),rr=e(function(e,t){var r=Je(),i=Rt(),l=st(),u=er().indexOf,s=tr(),c=r([].push);t.exports=function(e,t){var r,n=l(e),a=0,o=[];for(r in n)!i(s,r)&&i(n,r)&&c(o,r);for(;t.length>a;)!i(n,r=t[a++])||~u(o,r)||c(o,r);return o}}),nr=e(function(e,t){t.exports=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"]}),ar=e(function(e,t){var r=rr(),n=nr();t.exports=Object.keys||function(e){return r(e,n)}}),or=e(function(e,t){function r(u){return function(e){for(var t,r=p(e),n=d(r),a=h&&null===c(r),o=n.length,i=0,l=[];i<o;)t=n[i++],s&&!(a?t in r:f(r,t))||m(l,u?[t,r[t]]:r[t]);return l}}var s=rt(),n=Ke(),a=Je(),c=Yt(),d=ar(),p=st(),f=a(at().f),m=a([].push),h=s&&n(function(){var e=Object.create(null);return e[2]=2,!f(e,2)});t.exports={entries:r(!0),values:r(!1)}}),ir=e(function(){var e=Vt(),t=or().values;e({target:\"Object\",stat:!0},{values:function(e){return t(e)}})}),lr=e(function(e,t){ir();var r=dt();t.exports=r.Object.values}),ur=e(function(e,t){var r=lr();t.exports=r}),sr=e(function(e,t){var r=ur();t.exports=r}),cr=e(function(e,t){var r={};r[Tt()(\"toStringTag\")]=\"z\",t.exports=\"[object z]\"===String(r)}),dr=e(function(e,t){var r=cr(),n=tt(),a=Qe(),o=Tt()(\"toStringTag\"),i=Object,l=\"Arguments\"===a(function(){return arguments}());t.exports=r?a:function(e){var t;return void 0===e?\"Undefined\":null===e?\"Null\":\"string\"==typeof(t=((e,t)=>{try{return e[t]}catch(e){}})(e=i(e),o))?t:l?a(e):\"Object\"===(t=a(e))&&n(e.callee)?\"Arguments\":t}}),pr=e(function(e,t){var r=dr(),n=String;t.exports=function(e){if(\"Symbol\"===r(e))throw new TypeError(\"Cannot convert a Symbol value to a string\");return n(e)}}),fr=e(function(e,t){function r(a){return function(e,t){var r,e=i(l(e)),t=o(t),n=e.length;return t<0||n<=t?a?\"\":void 0:(r=s(e,t))<55296||56319<r||t+1===n||(n=s(e,t+1))<56320||57343<n?a?u(e,t):r:a?c(e,t,t+2):n-56320+(r-55296<<10)+65536}}var n=Je(),o=Xt(),i=pr(),l=ut(),u=n(\"\".charAt),s=n(\"\".charCodeAt),c=n(\"\".slice);t.exports={codeAt:r(!1),charAt:r(!0)}}),mr=e(function(e,t){var r=Ye(),n=tt(),r=r.WeakMap;t.exports=n(r)&&/native code/.test(String(r))}),hr=e(function(e,t){var r,n,a,o,i=mr(),l=Ye(),u=ct(),s=zt(),c=Rt(),d=Ft(),p=Ut(),f=tr(),m=\"Object already initialized\",h=l.TypeError,l=l.WeakMap,g=i||d.state?((a=d.state||(d.state=new l)).get=a.get,a.has=a.has,a.set=a.set,r=function(e,t){if(a.has(e))throw new h(m);return t.facade=e,a.set(e,t),t},n=function(e){return a.get(e)||{}},function(e){return a.has(e)}):(f[o=p(\"state\")]=!0,r=function(e,t){if(c(e,o))throw new h(m);return t.facade=e,s(e,o,t),t},n=function(e){return c(e,o)?e[o]:{}},function(e){return c(e,o)});t.exports={set:r,get:n,has:g,enforce:function(e){return g(e)?n(e):r(e,{})},getterFor:function(t){return function(e){if(u(e)&&(e=n(e)).type===t)return e;throw new h(\"Incompatible receiver, \"+t+\" required\")}}}}),gr=e(function(e,t){var r=rt(),n=Rt(),a=Function.prototype,o=r&&Object.getOwnPropertyDescriptor,n=n(a,\"name\"),i=n&&\"something\"===function(){}.name,r=n&&(!r||o(a,\"name\").configurable);t.exports={EXISTS:n,PROPER:i,CONFIGURABLE:r}}),vr=e(function(e){var t=rt(),r=jt(),l=qt(),u=Lt(),s=st(),c=ar();e.f=t&&!r?Object.defineProperties:function(e,t){u(e);for(var r,n=s(t),a=c(t),o=a.length,i=0;i<o;)l.f(e,r=a[i++],n[r]);return e}}),br=e(function(e,t){var r=pt();t.exports=r(\"document\",\"documentElement\")}),yr=e(function(e,t){function n(){}function a(e){e.write(v(\"\")),e.close();var t=e.parentWindow.Object;return e=null,t}var o,i=Lt(),l=vr(),u=nr(),r=tr(),s=br(),c=_t(),d=Ut(),p=\">\",f=\"<\",m=\"prototype\",h=\"script\",g=d(\"IE_PROTO\"),v=function(e){return f+h+p+e+f+\"/\"+h+p},b=function(){try{o=new ActiveXObject(\"htmlfile\")}catch(e){}b=void 0===document||document.domain&&o?a(o):(e=c(\"iframe\"),t=\"java\"+h+\":\",e.style.display=\"none\",s.appendChild(e),e.src=String(t),(t=e.contentWindow.document).open(),t.write(v(\"document.F=Object\")),t.close(),t.F);for(var e,t,r=u.length;r--;)delete b[m][u[r]];return b()};r[g]=!0,t.exports=Object.create||function(e,t){var r;return null!==e?(n[m]=i(e),r=new n,n[m]=null,r[g]=e):r=b(),void 0===t?r:l.f(r,t)}}),wr=e(function(e,t){var a=zt();t.exports=function(e,t,r,n){return n&&n.enumerable?e[t]=r:a(e,t,r),e}}),Dr=e(function(e,t){var r,n,a=Ke(),o=tt(),i=ct(),l=yr(),u=Yt(),s=wr(),c=Tt(),d=Et(),p=c(\"iterator\"),c=!1;[].keys&&(\"next\"in(n=[].keys())?(u=u(u(n)))!==Object.prototype&&(r=u):c=!0),!i(r)||a(function(){var e={};return r[p].call(e)!==e})?r={}:d&&(r=l(r)),o(r[p])||s(r,p,function(){return this}),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:c}}),xr=e(function(e,t){var r=cr(),n=dr();t.exports=r?{}.toString:function(){return\"[object \"+n(this)+\"]\"}}),Er=e(function(e,t){var a=cr(),o=qt().f,i=zt(),l=Rt(),u=xr(),s=Tt()(\"toStringTag\");t.exports=function(e,t,r,n){r=r?e:e&&e.prototype;r&&(l(r,s)||o(r,s,{configurable:!0,value:t}),n)&&!a&&i(r,\"toString\",u)}}),Ar=e(function(e,t){t.exports={}}),Fr=e(function(e,t){function a(){return this}var o=Dr().IteratorPrototype,i=yr(),l=ot(),u=Er(),s=Ar();t.exports=function(e,t,r,n){t+=\" Iterator\";return e.prototype=i(o,{next:l(+!n,r)}),u(e,t,!1,!0),s[t]=a,e}}),Cr=e(function(e,t){var n=Je(),a=wt();t.exports=function(e,t,r){try{return n(a(Object.getOwnPropertyDescriptor(e,t)[r]))}catch(e){}}}),kr=e(function(e,t){var r=ct();t.exports=function(e){return r(e)||null===e}}),Rr=e(function(e,t){var r=kr(),n=String,a=TypeError;t.exports=function(e){if(r(e))return e;throw new a(\"Can't set \"+n(e)+\" as a prototype\")}}),Nr=e(function(e,t){var a=Cr(),o=ct(),i=ut(),l=Rr();t.exports=Object.setPrototypeOf||(\"__proto__\"in{}?(()=>{var r,n=!1,e={};try{(r=a(Object.prototype,\"__proto__\",\"set\"))(e,[]),n=e instanceof Array}catch(e){}return function(e,t){return i(e),l(t),o(e)&&(n?r(e,t):e.__proto__=t),e}})():void 0)}),Tr=e(function(e,t){function h(){return this}var g=Vt(),v=nt(),b=Et(),r=gr(),y=tt(),w=Fr(),D=Yt(),x=Nr(),E=Er(),A=zt(),F=wr(),n=Tt(),C=Ar(),a=Dr(),k=r.PROPER,R=r.CONFIGURABLE,N=a.IteratorPrototype,T=a.BUGGY_SAFARI_ITERATORS,O=n(\"iterator\"),S=\"values\",_=\"entries\";t.exports=function(e,t,r,n,a,o,i){w(r,t,n);function l(e){if(e===a&&f)return f;if(!T&&e&&e in d)return d[e];switch(e){case\"keys\":case S:case _:return function(){return new r(this,e)}}return function(){return new r(this)}}var u,s,n=t+\" Iterator\",c=!1,d=e.prototype,p=d[O]||d[\"@@iterator\"]||a&&d[a],f=!T&&p||l(a),m=\"Array\"===t&&d.entries||p;if(m&&(m=D(m.call(new e)))!==Object.prototype&&m.next&&(b||D(m)===N||(x?x(m,N):y(m[O])||F(m,O,h)),E(m,n,!0,!0),b)&&(C[n]=h),k&&a===S&&p&&p.name!==S&&(!b&&R?A(d,\"name\",S):(c=!0,f=function(){return v(p,this)})),a)if(u={values:l(S),keys:o?f:l(\"keys\"),entries:l(_)},i)for(s in u)!T&&!c&&s in d||F(d,s,u[s]);else g({target:t,proto:!0,forced:T||c},u);return b&&!i||d[O]===f||F(d,O,f,{name:a}),C[t]=f,u}}),Or=e(function(e,t){t.exports=function(e,t){return{value:e,done:t}}}),Sr=e(function(){var n=fr().charAt,t=pr(),e=hr(),r=Tr(),a=Or(),o=\"String Iterator\",i=e.set,l=e.getterFor(o);r(String,\"String\",function(e){i(this,{type:o,string:t(e),index:0})},function(){var e=l(this),t=e.string,r=e.index;return r>=t.length?a(void 0,!0):(t=n(t,r),e.index+=t.length,a(t,!1))})}),_r=e(function(e,t){var o=nt(),i=Lt(),l=Dt();t.exports=function(e,t,r){var n,a;i(e);try{if(!(n=l(e,\"return\"))){if(\"throw\"===t)throw r;return r}n=o(n,e)}catch(e){a=!0,n=e}if(\"throw\"===t)throw r;if(a)throw n;return i(n),r}}),Mr=e(function(e,t){var a=Lt(),o=_r();t.exports=function(t,e,r,n){try{return n?e(a(r)[0],r[1]):e(r)}catch(e){o(t,\"throw\",e)}}}),Pr=e(function(e,t){var r=Tt(),n=Ar(),a=r(\"iterator\"),o=Array.prototype;t.exports=function(e){return void 0!==e&&(n.Array===e||o[a]===e)}}),Ir=e(function(e,t){var r=Je(),n=tt(),a=Ft(),o=r(Function.toString);n(a.inspectSource)||(a.inspectSource=function(e){return o(e)}),t.exports=a.inspectSource}),Br=e(function(e,t){function r(){}function n(e){if(!l(e))return!1;try{return d(r,[],e),!0}catch(e){return!1}}function a(e){if(!l(e))return!1;switch(u(e)){case\"AsyncFunction\":case\"GeneratorFunction\":case\"AsyncGeneratorFunction\":return!1}try{return m||!!f(p,c(e))}catch(e){return!0}}var o=Je(),i=Ke(),l=tt(),u=dr(),s=pt(),c=Ir(),d=s(\"Reflect\",\"construct\"),p=/^\\s*(?:class|function)\\b/,f=o(p.exec),m=!p.test(r);a.sham=!0,t.exports=!d||i(function(){var e;return n(n.call)||!n(Object)||!n(function(){e=!0})||e})?a:n}),jr=e(function(e,t){var n=rt(),a=qt(),o=ot();t.exports=function(e,t,r){n?a.f(e,t,o(0,r)):e[t]=r}}),Lr=e(function(e,t){var r=Qe();t.exports=Array.isArray||function(e){return\"Array\"===r(e)}}),qr=e(function(e,t){var r=rt(),n=Lr(),a=TypeError,o=Object.getOwnPropertyDescriptor,r=r&&!function(){if(void 0!==this)return 1;try{Object.defineProperty([],\"length\",{writable:!1}).length=1}catch(e){return e instanceof TypeError}}();t.exports=r?function(e,t){if(n(e)&&!o(e,\"length\").writable)throw new a(\"Cannot set read only .length\");return e.length=t}:function(e,t){return e.length=t}}),zr=e(function(e,t){var r=dr(),n=Dt(),a=lt(),o=Ar(),i=Tt()(\"iterator\");t.exports=function(e){if(!a(e))return n(e,i)||n(e,\"@@iterator\")||o[r(e)]}}),Vr=e(function(e,t){var r=nt(),n=wt(),a=Lt(),o=yt(),i=zr(),l=TypeError;t.exports=function(e,t){t=arguments.length<2?i(e):t;if(n(t))return a(r(t,e));throw new l(o(e)+\" is not iterable\")}}),Gr=e(function(e,t){var p=Bt(),f=nt(),m=kt(),h=Mr(),g=Pr(),v=Br(),b=Qt(),y=jr(),w=qr(),D=Vr(),x=zr(),E=Array;t.exports=function(e){var t,r,n,a,o,i,l=m(e),e=v(this),u=arguments.length,s=1<u?arguments[1]:void 0,c=void 0!==s,u=(c&&(s=p(s,2<u?arguments[2]:void 0)),x(l)),d=0;if(!u||this===E&&g(u))for(t=b(l),r=e?new this(t):E(t);d<t;d++)i=c?s(l[d],d):l[d],y(r,d,i);else for(r=e?new this:[],o=(a=D(l,u)).next;!(n=f(o,a)).done;d++)i=c?h(a,s,[n.value,d],!0):n.value,y(r,d,i);return w(r,d),r}}),$r=e(function(e,t){var r,n,a=Tt()(\"iterator\"),o=!1;try{r=0,(n={next:function(){return{done:!!r++}},return:function(){o=!0}})[a]=function(){return this},Array.from(n,function(){throw 2})}catch(e){}t.exports=function(e,t){try{if(!t&&!o)return!1}catch(e){return!1}var r=!1;try{var n={};n[a]=function(){return{next:function(){return{done:r=!0}}}},e(n)}catch(e){}return r}}),Hr=e(function(){var e=Vt(),t=Gr();e({target:\"Array\",stat:!0,forced:!$r()(function(e){Array.from(e)})},{from:t})}),Ur=e(function(e,t){Sr(),Hr();var r=dt();t.exports=r.Array.from}),Wr=e(function(e,t){var r=Ur();t.exports=r}),Yr=e(function(e,t){var r=Wr();t.exports=r}),Kr=e(function(i){Object.defineProperty(i,\"__esModule\",{value:!0}),i.isIdentStart=function(e){return\"a\"<=e&&e<=\"z\"||\"A\"<=e&&e<=\"Z\"||\"-\"===e||\"_\"===e},i.isIdent=function(e){return\"a\"<=e&&e<=\"z\"||\"A\"<=e&&e<=\"Z\"||\"0\"<=e&&e<=\"9\"||\"-\"===e||\"_\"===e},i.isHex=function(e){return\"a\"<=e&&e<=\"f\"||\"A\"<=e&&e<=\"F\"||\"0\"<=e&&e<=\"9\"},i.escapeIdentifier=function(e){for(var t=e.length,r=\"\",n=0;n<t;){var a=e.charAt(n);if(i.identSpecialChars[a])r+=\"\\\\\"+a;else if(\"_\"===a||\"-\"===a||\"A\"<=a&&a<=\"Z\"||\"a\"<=a&&a<=\"z\"||0!==n&&\"0\"<=a&&a<=\"9\")r+=a;else{a=a.charCodeAt(0);if(55296==(63488&a)){var o=e.charCodeAt(n++);if(55296!=(64512&a)||56320!=(64512&o))throw Error(\"UCS-2(decode): illegal sequence\");a=((1023&a)<<10)+(1023&o)+65536}r+=\"\\\\\"+a.toString(16)+\" \"}n++}return r},i.escapeStr=function(e){for(var t,r=e.length,n=\"\",a=0;a<r;){var o=e.charAt(a);'\"'===o?o='\\\\\"':\"\\\\\"===o?o=\"\\\\\\\\\":void 0!==(t=i.strReplacementsRev[o])&&(o=t),n+=o,a++}return'\"'+n+'\"'},i.identSpecialChars={\"!\":!0,'\"':!0,\"#\":!0,$:!0,\"%\":!0,\"&\":!0,\"'\":!0,\"(\":!0,\")\":!0,\"*\":!0,\"+\":!0,\",\":!0,\".\":!0,\"/\":!0,\";\":!0,\"<\":!0,\"=\":!0,\">\":!0,\"?\":!0,\"@\":!0,\"[\":!0,\"\\\\\":!0,\"]\":!0,\"^\":!0,\"`\":!0,\"{\":!0,\"|\":!0,\"}\":!0,\"~\":!0},i.strReplacementsRev={\"\\n\":\"\\\\n\",\"\\r\":\"\\\\r\",\"\\t\":\"\\\\t\",\"\\f\":\"\\\\f\",\"\\v\":\"\\\\v\"},i.singleQuoteEscapeChars={n:\"\\n\",r:\"\\r\",t:\"\\t\",f:\"\\f\",\"\\\\\":\"\\\\\",\"'\":\"'\"},i.doubleQuotesEscapeChars={n:\"\\n\",r:\"\\r\",t:\"\\t\",f:\"\\f\",\"\\\\\":\"\\\\\",'\"':'\"'}}),Xr=e(function(e){Object.defineProperty(e,\"__esModule\",{value:!0});var v=Kr();e.parseCssSelector=function(o,i,l,u,a,s){var c=o.length,d=\"\";function p(e,t){var r=\"\";for(i++,d=o.charAt(i);i<c;){if(d===e)return i++,r;if(\"\\\\\"===d){i++;var n;if((d=o.charAt(i))===e)r+=e;else if(void 0!==(n=t[d]))r+=n;else{if(v.isHex(d)){var a=d;for(i++,d=o.charAt(i);v.isHex(d);)a+=d,i++,d=o.charAt(i);\" \"===d&&(i++,d=o.charAt(i)),r+=String.fromCharCode(parseInt(a,16));continue}r+=d}}else r+=d;i++,d=o.charAt(i)}return r}function f(){var e=\"\";for(d=o.charAt(i);i<c;){if(!v.isIdent(d)){if(\"\\\\\"!==d)return e;if(c<=++i)throw Error(\"Expected symbol but end of file reached.\");if(d=o.charAt(i),!v.identSpecialChars[d]&&v.isHex(d)){var t=d;for(i++,d=o.charAt(i);v.isHex(d);)t+=d,i++,d=o.charAt(i);\" \"===d&&(i++,d=o.charAt(i)),e+=String.fromCharCode(parseInt(t,16));continue}}e+=d,i++,d=o.charAt(i)}return e}function m(){d=o.charAt(i);for(;\" \"===d||\"\\t\"===d||\"\\n\"===d||\"\\r\"===d||\"\\f\"===d;)i++,d=o.charAt(i)}function h(){var e=r();if(!e)return null;var t=e;for(d=o.charAt(i);\",\"===d;){if(i++,m(),\"selectors\"!==t.type&&(t={type:\"selectors\",selectors:[e]}),!(e=r()))throw Error('Rule expected after \",\".');t.selectors.push(e)}return t}function r(){m();var e={type:\"ruleSet\"},t=g();if(!t)return null;for(var r=e;t&&(t.type=\"rule\",r.rule=t,r=t,m(),d=o.charAt(i),!(c<=i||\",\"===d||\")\"===d));)if(a[d]){var n=d;if(i++,m(),!(t=g()))throw Error('Rule expected after \"'+n+'\".');t.nestingOperator=n}else(t=g())&&(t.nestingOperator=null);return e}function g(){for(var e=null;i<c;)if(\"*\"===(d=o.charAt(i)))i++,(e=e||{}).tagName=\"*\";else if(v.isIdentStart(d)||\"\\\\\"===d)(e=e||{}).tagName=f();else if(\".\"===d)i++,((e=e||{}).classNames=e.classNames||[]).push(f());else if(\"#\"===d)i++,(e=e||{}).id=f();else if(\"[\"===d){i++,m();var t={name:f()};if(m(),\"]\"===d)i++;else{var r=\"\";if(u[d]&&(r=d,i++,d=o.charAt(i)),c<=i)throw Error('Expected \"=\" but end of file reached.');if(\"=\"!==d)throw Error('Expected \"=\" but \"'+d+'\" found.');t.operator=r+\"=\",i++,m();var n=\"\";if(t.valueType=\"string\",'\"'===d)n=p('\"',v.doubleQuotesEscapeChars);else if(\"'\"===d)n=p(\"'\",v.singleQuoteEscapeChars);else if(s&&\"$\"===d)i++,n=f(),t.valueType=\"substitute\";else{for(;i<c&&\"]\"!==d;)n+=d,i++,d=o.charAt(i);n=n.trim()}if(m(),c<=i)throw Error('Expected \"]\" but end of file reached.');if(\"]\"!==d)throw Error('Expected \"]\" but \"'+d+'\" found.');i++,t.value=n}((e=e||{}).attrs=e.attrs||[]).push(t)}else{if(\":\"!==d)break;i++;r=f(),t={name:r};if(\"(\"===d){i++;var a=\"\";if(m(),\"selector\"===l[r])t.valueType=\"selector\",a=h();else{if(t.valueType=l[r]||\"string\",'\"'===d)a=p('\"',v.doubleQuotesEscapeChars);else if(\"'\"===d)a=p(\"'\",v.singleQuoteEscapeChars);else if(s&&\"$\"===d)i++,a=f(),t.valueType=\"substitute\";else{for(;i<c&&\")\"!==d;)a+=d,i++,d=o.charAt(i);a=a.trim()}m()}if(c<=i)throw Error('Expected \")\" but end of file reached.');if(\")\"!==d)throw Error('Expected \")\" but \"'+d+'\" found.');i++,t.value=a}((e=e||{}).pseudos=e.pseudos||[]).push(t)}return e}var e=h();if(i<c)throw Error('Rule expected but \"'+o.charAt(i)+'\" found.');return e}}),Zr=e(function(e){Object.defineProperty(e,\"__esModule\",{value:!0});var o=Kr();e.renderEntity=function t(e){var r=\"\";switch(e.type){case\"ruleSet\":for(var n=e.rule,a=[];n;)n.nestingOperator&&a.push(n.nestingOperator),a.push(t(n)),n=n.rule;r=a.join(\" \");break;case\"selectors\":r=e.selectors.map(t).join(\", \");break;case\"rule\":e.tagName&&(r=\"*\"===e.tagName?\"*\":o.escapeIdentifier(e.tagName)),e.id&&(r+=\"#\"+o.escapeIdentifier(e.id)),e.classNames&&(r+=e.classNames.map(function(e){return\".\"+o.escapeIdentifier(e)}).join(\"\")),e.attrs&&(r+=e.attrs.map(function(e){return\"operator\"in e?\"substitute\"===e.valueType?\"[\"+o.escapeIdentifier(e.name)+e.operator+\"$\"+e.value+\"]\":\"[\"+o.escapeIdentifier(e.name)+e.operator+o.escapeStr(e.value)+\"]\":\"[\"+o.escapeIdentifier(e.name)+\"]\"}).join(\"\")),e.pseudos&&(r+=e.pseudos.map(function(e){return e.valueType?\"selector\"===e.valueType?\":\"+o.escapeIdentifier(e.name)+\"(\"+t(e.value)+\")\":\"substitute\"===e.valueType?\":\"+o.escapeIdentifier(e.name)+\"($\"+e.value+\")\":\"numeric\"===e.valueType?\":\"+o.escapeIdentifier(e.name)+\"(\"+e.value+\")\":\":\"+o.escapeIdentifier(e.name)+\"(\"+o.escapeIdentifier(e.value)+\")\":\":\"+o.escapeIdentifier(e.name)}).join(\"\"));break;default:throw Error('Unknown entity type: \"'+e.type+'\".')}return r}}),Jr=e(function(e){Object.defineProperty(e,\"__esModule\",{value:!0});var t=Xr(),r=Zr();function n(){this.pseudos={},this.attrEqualityMods={},this.ruleNestingOperators={},this.substitutesEnabled=!1}n.prototype.registerSelectorPseudos=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var r=0,n=e;r<n.length;r++)this.pseudos[n[r]]=\"selector\";return this},n.prototype.unregisterSelectorPseudos=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var r=0,n=e;r<n.length;r++)delete this.pseudos[n[r]];return this},n.prototype.registerNumericPseudos=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var r=0,n=e;r<n.length;r++)this.pseudos[n[r]]=\"numeric\";return this},n.prototype.unregisterNumericPseudos=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var r=0,n=e;r<n.length;r++)delete this.pseudos[n[r]];return this},n.prototype.registerNestingOperators=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var r=0,n=e;r<n.length;r++)this.ruleNestingOperators[n[r]]=!0;return this},n.prototype.unregisterNestingOperators=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var r=0,n=e;r<n.length;r++)delete this.ruleNestingOperators[n[r]];return this},n.prototype.registerAttrEqualityMods=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var r=0,n=e;r<n.length;r++)this.attrEqualityMods[n[r]]=!0;return this},n.prototype.unregisterAttrEqualityMods=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var r=0,n=e;r<n.length;r++)delete this.attrEqualityMods[n[r]];return this},n.prototype.enableSubstitutes=function(){return this.substitutesEnabled=!0,this},n.prototype.disableSubstitutes=function(){return this.substitutesEnabled=!1,this},n.prototype.parse=function(e){return t.parseCssSelector(e,0,this.pseudos,this.attrEqualityMods,this.ruleNestingOperators,this.substitutesEnabled)},n.prototype.render=function(e){return r.renderEntity(e).trim()},e.CssSelectorParser=n}),Qr=e(function(e,t){var l={name:\"doT\",version:\"1.1.1\",templateSettings:{evaluate:/\\{\\{([\\s\\S]+?(\\}?)+)\\}\\}/g,interpolate:/\\{\\{=([\\s\\S]+?)\\}\\}/g,encode:/\\{\\{!([\\s\\S]+?)\\}\\}/g,use:/\\{\\{#([\\s\\S]+?)\\}\\}/g,useParams:/(^|[^\\w$])def(?:\\.|\\[[\\'\\\"])([\\w$\\.]+)(?:[\\'\\\"]\\])?\\s*\\:\\s*([\\w$\\.]+|\\\"[^\\\"]+\\\"|\\'[^\\']+\\'|\\{[^\\}]+\\})/g,define:/\\{\\{##\\s*([\\w\\.$]+)\\s*(\\:|=)([\\s\\S]+?)#\\}\\}/g,defineParams:/^\\s*([\\w$]+):([\\s\\S]+)/,conditional:/\\{\\{\\?(\\?)?\\s*([\\s\\S]*?)\\s*\\}\\}/g,iterate:/\\{\\{~\\s*(?:\\}\\}|([\\s\\S]+?)\\s*\\:\\s*([\\w$]+)\\s*(?:\\:\\s*([\\w$]+))?\\s*\\}\\})/g,varname:\"it\",strip:!0,append:!0,selfcontained:!1,doNotSkipEncoded:!1},template:void 0,compile:void 0,log:!0};if(\"object\"!==(\"undefined\"==typeof globalThis?\"undefined\":te(globalThis)))try{Object.defineProperty(Object.prototype,\"__magic__\",{get:function(){return this},configurable:!0}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__}catch(e){window.globalThis=function(){if(\"undefined\"!=typeof self)return self;if(void 0!==window)return window;if(void 0!==q)return q;if(void 0!==this)return this;throw new Error(\"Unable to locate global `this`\")}()}l.encodeHTMLSource=function(e){var t={\"&\":\"&#38;\",\"<\":\"&#60;\",\">\":\"&#62;\",'\"':\"&#34;\",\"'\":\"&#39;\",\"/\":\"&#47;\"},r=e?/[&<>\"'\\/]/g:/&(?!#?\\w+;)|<|>|\"|'|\\//g;return function(e){return e?e.toString().replace(r,function(e){return t[e]||e}):\"\"}},void 0!==t&&t.exports?t.exports=l:\"function\"==typeof define&&define.amd?define(function(){return l}):globalThis.doT=l;var u={append:{start:\"'+(\",end:\")+'\",startencode:\"'+encodeHTML(\"},split:{start:\"';out+=(\",end:\");out+='\",startencode:\"';out+=encodeHTML(\"}},s=/$^/;function c(e){return e.replace(/\\\\('|\\\\)/g,\"$1\").replace(/[\\r\\t\\n]/g,\" \")}l.template=function(e,t,r){var n,a,o=(t=t||l.templateSettings).append?u.append:u.split,i=0,r=t.use||t.define?function r(a,e,o){return(\"string\"==typeof e?e:e.toString()).replace(a.define||s,function(e,n,t,r){return(n=0===n.indexOf(\"def.\")?n.substring(4):n)in o||(\":\"===t?(a.defineParams&&r.replace(a.defineParams,function(e,t,r){o[n]={arg:t,text:r}}),n in o||(o[n]=r)):new Function(\"def\",\"def['\"+n+\"']=\"+r)(o)),\"\"}).replace(a.use||s,function(e,t){return a.useParams&&(t=t.replace(a.useParams,function(e,t,r,n){var a;if(o[r]&&o[r].arg&&n)return a=(r+\":\"+n).replace(/'|\\\\/g,\"_\"),o.__exp=o.__exp||{},o.__exp[a]=o[r].text.replace(new RegExp(\"(^|[^\\\\w$])\"+o[r].arg+\"([^\\\\w$])\",\"g\"),\"$1\"+n+\"$2\"),t+\"def.__exp['\"+a+\"']\"})),(t=new Function(\"def\",\"return \"+t)(o))&&r(a,t,o)})}(t,e,r||{}):e,r=(\"var out='\"+(t.strip?r.replace(/(^|\\r|\\n)\\t* +| +\\t*(\\r|\\n|$)/g,\" \").replace(/\\r|\\n|\\t|\\/\\*[\\s\\S]*?\\*\\//g,\"\"):r).replace(/'|\\\\/g,\"\\\\$&\").replace(t.interpolate||s,function(e,t){return o.start+c(t)+o.end}).replace(t.encode||s,function(e,t){return n=!0,o.startencode+c(t)+o.end}).replace(t.conditional||s,function(e,t,r){return t?r?\"';}else if(\"+c(r)+\"){out+='\":\"';}else{out+='\":r?\"';if(\"+c(r)+\"){out+='\":\"';}out+='\"}).replace(t.iterate||s,function(e,t,r,n){return t?(i+=1,a=n||\"i\"+i,t=c(t),\"';var arr\"+i+\"=\"+t+\";if(arr\"+i+\"){var \"+r+\",\"+a+\"=-1,l\"+i+\"=arr\"+i+\".length-1;while(\"+a+\"<l\"+i+\"){\"+r+\"=arr\"+i+\"[\"+a+\"+=1];out+='\"):\"';} } out+='\"}).replace(t.evaluate||s,function(e,t){return\"';\"+c(t)+\"out+='\"})+\"';return out;\").replace(/\\n/g,\"\\\\n\").replace(/\\t/g,\"\\\\t\").replace(/\\r/g,\"\\\\r\").replace(/(\\s|;|\\}|^|\\{)out\\+='';/g,\"$1\").replace(/\\+''/g,\"\");n&&(t.selfcontained||!globalThis||globalThis._encodeHTML||(globalThis._encodeHTML=l.encodeHTMLSource(t.doNotSkipEncoded)),r=\"var encodeHTML = typeof _encodeHTML !== 'undefined' ? _encodeHTML : (\"+l.encodeHTMLSource.toString()+\"(\"+(t.doNotSkipEncoded||\"\")+\"));\"+r);try{return new Function(t.varname,r)}catch(e){throw\"undefined\"!=typeof console&&console.log(\"Could not create a template function: \"+r),e}},l.compile=function(e,t){return l.template(e,null,t)}}),en=e(function(e,t){t.exports=function(){}}),tn=e(function(e,t){var r=en()();t.exports=function(e){return e!==r&&null!==e}}),rn=e(function(e,t){var o=tn(),r=Array.prototype.forEach,n=Object.create;t.exports=function(e){var a=n(null);return r.call(arguments,function(e){if(o(e)){var t,r=Object(e),n=a;for(t in r)n[t]=r[t]}}),a}}),nn=e(function(e,t){t.exports=function(){var e=Math.sign;return\"function\"==typeof e&&1===e(10)&&-1===e(-20)}}),an=e(function(e,t){t.exports=function(e){return e=Number(e),isNaN(e)||0===e?e:0<e?1:-1}}),on=e(function(e,t){t.exports=nn()()?Math.sign:an()}),ln=e(function(e,t){var r=on(),n=Math.abs,a=Math.floor;t.exports=function(e){return isNaN(e)?0:0!==(e=Number(e))&&isFinite(e)?r(e)*a(n(e)):e}}),un=e(function(e,t){var r=ln(),n=Math.max;t.exports=function(e){return n(0,r(e))}}),sn=e(function(e,t){var n=un();t.exports=function(e,t,r){return isNaN(e)?0<=t?r&&t?t-1:t:1:!1!==e&&n(e)}}),cn=e(function(e,t){t.exports=function(e){if(\"function\"!=typeof e)throw new TypeError(e+\" is not a function\");return e}}),dn=e(function(e,t){var r=tn();t.exports=function(e){if(r(e))return e;throw new TypeError(\"Cannot use null or undefined\")}}),pn=e(function(e,t){var l=cn(),u=dn(),s=Function.prototype.bind,c=Function.prototype.call,d=Object.keys,p=Object.prototype.propertyIsEnumerable;t.exports=function(o,i){return function(r,n){var e,a=arguments[2],t=arguments[3];return r=Object(u(r)),l(n),e=d(r),t&&e.sort(\"function\"==typeof t?s.call(t,r):void 0),\"function\"!=typeof o&&(o=e[o]),c.call(o,e,function(e,t){return p.call(r,e)?c.call(n,a,r[e],e,r,t):i})}}}),fn=e(function(e,t){t.exports=pn()(\"forEach\")}),mn=e(function(){}),hn=e(function(e,t){t.exports=function(){var e=Object.assign;return\"function\"==typeof e&&(e(e={foo:\"raz\"},{bar:\"dwa\"},{trzy:\"trzy\"}),e.foo+e.bar+e.trzy===\"razdwatrzy\")}}),gn=e(function(e,t){t.exports=function(){try{return Object.keys(\"primitive\"),!0}catch(e){return!1}}}),vn=e(function(e,t){var r=tn(),n=Object.keys;t.exports=function(e){return n(r(e)?Object(e):e)}}),bn=e(function(e,t){t.exports=gn()()?Object.keys:vn()}),yn=e(function(e,t){var i=bn(),l=dn(),u=Math.max;t.exports=function(t,r){var n,e,a,o=u(arguments.length,2);for(t=Object(l(t)),a=function(e){try{t[e]=r[e]}catch(e){n=n||e}},e=1;e<o;++e)i(r=arguments[e]).forEach(a);if(void 0!==n)throw n;return t}}),wn=e(function(e,t){t.exports=hn()()?Object.assign:yn()}),Dn=e(function(e,t){var r=tn(),n={function:!0,object:!0};t.exports=function(e){return r(e)&&n[te(e)]||!1}}),xn=e(function(e,n){var a=wn(),o=Dn(),i=tn(),l=Error.captureStackTrace;n.exports=function(e){var e=new Error(e),t=arguments[1],r=arguments[2];return i(r)||o(t)&&(r=t,t=null),i(r)&&a(e,r),i(t)&&(e.code=t),l&&l(e,n.exports),e}}),En=e(function(e,t){var a=dn(),o=Object.defineProperty,i=Object.getOwnPropertyDescriptor,l=Object.getOwnPropertyNames,u=Object.getOwnPropertySymbols;t.exports=function(t,r){var n,e=Object(a(r));if(t=Object(a(t)),l(e).forEach(function(e){try{o(t,e,i(r,e))}catch(e){n=e}}),\"function\"==typeof u&&u(e).forEach(function(e){try{o(t,e,i(r,e))}catch(e){n=e}}),void 0!==n)throw n;return t}}),An=e(function(e,t){function r(e,t){return t}var n,a,o,i,l,u=un();try{Object.defineProperty(r,\"length\",{configurable:!0,writable:!1,enumerable:!1,value:1})}catch(e){}1===r.length?(n={configurable:!0,writable:!1,enumerable:!1},a=Object.defineProperty,t.exports=function(e,t){return t=u(t),e.length===t?e:(n.value=t,a(e,\"length\",n))}):(i=En(),l=[],o=function(e){var t,r=0;if(l[e])return l[e];for(t=[];e--;)t.push(\"a\"+(++r).toString(36));return new Function(\"fn\",\"return function (\"+t.join(\", \")+\") { return fn.apply(this, arguments); };\")},t.exports=function(e,t){if(t=u(t),e.length===t)return e;t=o(t)(e);try{i(t,e)}catch(e){}return t})}),Fn=e(function(e,t){t.exports=function(e){return null!=e}}),Cn=e(function(e,t){var r=Fn(),n={object:!0,function:!0,undefined:!0};t.exports=function(e){return!!r(e)&&hasOwnProperty.call(n,te(e))}}),kn=e(function(e,t){var r=Cn();t.exports=function(e){if(!r(e))return!1;try{return e.constructor?e.constructor.prototype===e:!1}catch(e){return!1}}}),Rn=e(function(e,t){var r=kn();t.exports=function(e){if(\"function\"!=typeof e)return!1;if(!hasOwnProperty.call(e,\"length\"))return!1;try{if(\"number\"!=typeof e.length)return!1;if(\"function\"!=typeof e.call)return!1;if(\"function\"!=typeof e.apply)return!1}catch(e){return!1}return!r(e)}}),Nn=e(function(e,t){var r=Rn(),n=/^\\s*class[\\s{/}]/,a=Function.prototype.toString;t.exports=function(e){return!!r(e)&&!n.test(a.call(e))}}),Tn=e(function(e,t){var r=\"razdwatrzy\";t.exports=function(){return\"function\"==typeof r.contains&&!0===r.contains(\"dwa\")&&!1===r.contains(\"foo\")}}),On=e(function(e,t){var r=String.prototype.indexOf;t.exports=function(e){return-1<r.call(this,e,arguments[1])}}),Sn=e(function(e,t){t.exports=Tn()()?String.prototype.contains:On()}),_n=e(function(e,t){var i=Fn(),o=Nn(),l=wn(),u=rn(),s=Sn();(t.exports=function(e,t){var r,n,a,o;return arguments.length<2||\"string\"!=typeof e?(o=t,t=e,e=null):o=arguments[2],i(e)?(r=s.call(e,\"c\"),n=s.call(e,\"e\"),a=s.call(e,\"w\")):n=!(r=a=!0),e={value:t,configurable:r,enumerable:n,writable:a},o?l(u(o),e):e}).gs=function(e,t,r){var n,a;return\"string\"!=typeof e?(a=r,r=t,t=e,e=null):a=arguments[3],i(t)?o(t)?i(r)?o(r)||(a=r,r=void 0):r=void 0:(a=t,t=r=void 0):t=void 0,e=i(e)?(n=s.call(e,\"c\"),s.call(e,\"e\")):!(n=!0),t={get:t,set:r,configurable:n,enumerable:e},a?l(u(a),t):t}}),Mn=e(function(e,t){var r=_n(),i=cn(),l=Function.prototype.apply,u=Function.prototype.call,n=Object.create,a=Object.defineProperty,o=Object.defineProperties,s=Object.prototype.hasOwnProperty,c={configurable:!0,enumerable:!1,writable:!0},d=function(e,t){var r;return i(t),s.call(this,\"__ee__\")?r=this.__ee__:(r=c.value=n(null),a(this,\"__ee__\",c),c.value=null),r[e]?\"object\"===te(r[e])?r[e].push(t):r[e]=[r[e],t]:r[e]=t,this},p=function(e,t){var r,n;return i(t),n=this,d.call(this,e,r=function(){f.call(n,e,r),l.call(t,this,arguments)}),r.__eeOnceListener__=t,this},f=function(e,t){var r,n,a,o;if(i(t),s.call(this,\"__ee__\")&&(r=this.__ee__)[e])if(\"object\"===te(n=r[e]))for(o=0;a=n[o];++o)a!==t&&a.__eeOnceListener__!==t||(2===n.length?r[e]=n[o?0:1]:n.splice(o,1));else n!==t&&n.__eeOnceListener__!==t||delete r[e];return this},m=function(e){var t,r,n,a,o;if(s.call(this,\"__ee__\")&&(a=this.__ee__[e]))if(\"object\"===te(a)){for(r=arguments.length,o=new Array(r-1),t=1;t<r;++t)o[t-1]=arguments[t];for(a=a.slice(),t=0;n=a[t];++t)l.call(n,this,o)}else switch(arguments.length){case 1:u.call(a,this);break;case 2:u.call(a,this,arguments[1]);break;case 3:u.call(a,this,arguments[1],arguments[2]);break;default:for(r=arguments.length,o=new Array(r-1),t=1;t<r;++t)o[t-1]=arguments[t];l.call(a,this,o)}},h={on:d,once:p,off:f,emit:m},g={on:r(d),once:r(p),off:r(f),emit:r(m)},v=o({},g);t.exports=e=function(e){return null==e?n(v):o(Object(e),g)},e.methods=h}),Pn=e(function(e,t){t.exports=function(){var e,t=Array.from;return\"function\"==typeof t&&(e=t(t=[\"raz\",\"dwa\"]),Boolean(e&&e!==t&&\"dwa\"===e[1]))}}),In=e(function(e,t){t.exports=function(){return\"object\"===(\"undefined\"==typeof globalThis?\"undefined\":te(globalThis))&&!!globalThis&&globalThis.Array===Array}}),Bn=e(function(e,t){function r(){if(\"object\"===(\"undefined\"==typeof self?\"undefined\":te(self))&&self)return self;if(\"object\"===(void 0===window?\"undefined\":te(window))&&window)return window;throw new Error(\"Unable to resolve global `this`\")}t.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,\"__global__\",{get:function(){return this},configurable:!0})}catch(e){return r()}try{return __global__?__global__:r()}finally{delete Object.prototype.__global__}}()}),jn=e(function(e,t){t.exports=In()()?globalThis:Bn()}),Ln=e(function(e,t){var r=jn(),n={object:!0,symbol:!0};t.exports=function(){var e,t=r.Symbol;if(\"function\"!=typeof t)return!1;e=t(\"test symbol\");try{String(e)}catch(e){return!1}return!!n[te(t.iterator)]&&!!n[te(t.toPrimitive)]&&!!n[te(t.toStringTag)]}}),qn=e(function(e,t){t.exports=function(e){return!!e&&(\"symbol\"===te(e)||!!e.constructor&&\"Symbol\"===e.constructor.name&&\"Symbol\"===e[e.constructor.toStringTag])}}),zn=e(function(e,t){var r=qn();t.exports=function(e){if(r(e))return e;throw new TypeError(e+\" is not a symbol\")}}),Vn=e(function(e,t){var a=_n(),r=Object.create,o=Object.defineProperty,i=Object.prototype,l=r(null);t.exports=function(e){for(var t,r,n=0;l[e+(n||\"\")];)++n;return l[e+=n||\"\"]=!0,o(i,t=\"@@\"+e,a.gs(null,function(e){r||(r=!0,o(this,t,a(e)),r=!1)})),t}}),Gn=e(function(e,t){var r=_n(),n=jn().Symbol;t.exports=function(e){return Object.defineProperties(e,{hasInstance:r(\"\",n&&n.hasInstance||e(\"hasInstance\")),isConcatSpreadable:r(\"\",n&&n.isConcatSpreadable||e(\"isConcatSpreadable\")),iterator:r(\"\",n&&n.iterator||e(\"iterator\")),match:r(\"\",n&&n.match||e(\"match\")),replace:r(\"\",n&&n.replace||e(\"replace\")),search:r(\"\",n&&n.search||e(\"search\")),species:r(\"\",n&&n.species||e(\"species\")),split:r(\"\",n&&n.split||e(\"split\")),toPrimitive:r(\"\",n&&n.toPrimitive||e(\"toPrimitive\")),toStringTag:r(\"\",n&&n.toStringTag||e(\"toStringTag\")),unscopables:r(\"\",n&&n.unscopables||e(\"unscopables\"))})}}),$n=e(function(e,t){var r=_n(),n=zn(),a=Object.create(null);t.exports=function(t){return Object.defineProperties(t,{for:r(function(e){return a[e]||(a[e]=t(String(e)))}),keyFor:r(function(e){for(var t in n(e),a)if(a[t]===e)return t})})}}),Hn=e(function(e,t){var r,n,a,o=_n(),i=zn(),l=jn().Symbol,u=Vn(),s=Gn(),c=$n(),d=Object.create,p=Object.defineProperties,f=Object.defineProperty;if(\"function\"==typeof l)try{String(l()),a=!0}catch(e){}else l=null;n=function(e){if(this instanceof n)throw new TypeError(\"Symbol is not a constructor\");return r(e)},t.exports=r=function e(t){var r;if(this instanceof e)throw new TypeError(\"Symbol is not a constructor\");return a?l(t):(r=d(n.prototype),t=void 0===t?\"\":String(t),p(r,{__description__:o(\"\",t),__name__:o(\"\",u(t))}))},s(r),c(r),p(n.prototype,{constructor:o(r),toString:o(\"\",function(){return this.__name__})}),p(r.prototype,{toString:o(function(){return\"Symbol (\"+i(this).__description__+\")\"}),valueOf:o(function(){return i(this)})}),f(r.prototype,r.toPrimitive,o(\"\",function(){var e=i(this);return\"symbol\"===te(e)?e:e.toString()})),f(r.prototype,r.toStringTag,o(\"c\",\"Symbol\")),f(n.prototype,r.toStringTag,o(\"c\",r.prototype[r.toStringTag])),f(n.prototype,r.toPrimitive,o(\"c\",r.prototype[r.toPrimitive]))}),Un=e(function(e,t){t.exports=Ln()()?jn().Symbol:Hn()}),Wn=e(function(e,t){var r=Object.prototype.toString,n=r.call(function(){return arguments}());t.exports=function(e){return r.call(e)===n}}),Yn=e(function(e,t){var r=Object.prototype.toString,n=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);t.exports=function(e){return\"function\"==typeof e&&n(r.call(e))}}),Kn=e(function(e,t){var r=Object.prototype.toString,n=r.call(\"\");t.exports=function(e){return\"string\"==typeof e||e&&\"object\"===te(e)&&(e instanceof String||r.call(e)===n)||!1}}),Xn=e(function(e,t){var f=Un().iterator,m=Wn(),h=Yn(),g=un(),v=cn(),b=dn(),y=tn(),w=Kn(),D=Array.isArray,x=Function.prototype.call,E={configurable:!0,enumerable:!0,writable:!0,value:null},A=Object.defineProperty;t.exports=function(e){var t,r,n,a,o,i,l,u,s,c,d=arguments[1],p=arguments[2];if(e=Object(b(e)),y(d)&&v(d),this&&this!==Array&&h(this))t=this;else{if(!d){if(m(e))return 1!==(o=e.length)?Array.apply(null,e):((a=new Array(1))[0]=e[0],a);if(D(e)){for(a=new Array(o=e.length),r=0;r<o;++r)a[r]=e[r];return a}}a=[]}if(!D(e))if(void 0!==(s=e[f])){for(l=v(s).call(e),t&&(a=new t),u=l.next(),r=0;!u.done;)c=d?x.call(d,p,u.value,r):u.value,t?(E.value=c,A(a,r,E)):a[r]=c,u=l.next(),++r;o=r}else if(w(e)){for(o=e.length,t&&(a=new t),n=r=0;r<o;++r)c=e[r],r+1<o&&55296<=(i=c.charCodeAt(0))&&i<=56319&&(c+=e[++r]),c=d?x.call(d,p,c,n):c,t?(E.value=c,A(a,n,E)):a[n]=c,++n;o=n}if(void 0===o)for(o=g(e.length),t&&(a=new t(o)),r=0;r<o;++r)c=d?x.call(d,p,e[r],r):e[r],t?(E.value=c,A(a,r,E)):a[r]=c;return t&&(E.value=null,a.length=o),a}}),Zn=e(function(e,t){t.exports=Pn()()?Array.from:Xn()}),Jn=e(function(e,t){var r=Zn(),n=Array.isArray;t.exports=function(e){return n(e)?e:r(e)}}),Qn=e(function(e,t){var r=Jn(),n=tn(),a=cn(),o=Array.prototype.slice,i=function(r){return this.map(function(e,t){return e?e(r[t]):r[t]}).concat(o.call(r,this.length))};t.exports=function(e){return(e=r(e)).forEach(function(e){n(e)&&a(e)}),i.bind(e)}}),ea=e(function(e,t){var r=cn();t.exports=function(e){var t;return\"function\"==typeof e?{set:e,get:e}:(t={get:r(e.get)},void 0!==e.set?(t.set=r(e.set),e.delete&&(t.delete=r(e.delete)),e.clear&&(t.clear=r(e.clear))):t.set=t.get,t)}}),ta=e(function(e,t){var g=xn(),v=An(),b=_n(),r=Mn().methods,y=Qn(),w=ea(),D=Function.prototype.apply,x=Function.prototype.call,E=Object.create,A=Object.defineProperties,F=r.on,C=r.emit;t.exports=function(a,t,e){var o,i,l,r,n,u,s,c,d,p,f,m=E(null),h=!1!==t?t:isNaN(a.length)?1:a.length;return e.normalizer&&(p=w(e.normalizer),i=p.get,l=p.set,r=p.delete,n=p.clear),null!=e.resolvers&&(f=y(e.resolvers)),p=i?v(function(e){var t,r,n=arguments;if(f&&(n=f(n)),null!==(t=i(n))&&hasOwnProperty.call(m,t))return s&&o.emit(\"get\",t,n,this),m[t];if(r=1===n.length?x.call(a,this,n[0]):D.call(a,this,n),null===t){if(null!==(t=i(n)))throw g(\"Circular invocation\",\"CIRCULAR_INVOCATION\");t=l(n)}else if(hasOwnProperty.call(m,t))throw g(\"Circular invocation\",\"CIRCULAR_INVOCATION\");return m[t]=r,c&&o.emit(\"set\",t,null,r),r},h):0===t?function(){var e;if(hasOwnProperty.call(m,\"data\"))return s&&o.emit(\"get\",\"data\",arguments,this),m.data;if(e=arguments.length?D.call(a,this,arguments):x.call(a,this),hasOwnProperty.call(m,\"data\"))throw g(\"Circular invocation\",\"CIRCULAR_INVOCATION\");return m.data=e,c&&o.emit(\"set\",\"data\",null,e),e}:function(e){var t,r=arguments;if(f&&(r=f(arguments)),t=String(r[0]),hasOwnProperty.call(m,t))return s&&o.emit(\"get\",t,r,this),m[t];if(r=1===r.length?x.call(a,this,r[0]):D.call(a,this,r),hasOwnProperty.call(m,t))throw g(\"Circular invocation\",\"CIRCULAR_INVOCATION\");return m[t]=r,c&&o.emit(\"set\",t,null,r),r},o={original:a,memoized:p,profileName:e.profileName,get:function(e){return f&&(e=f(e)),i?i(e):String(e[0])},has:function(e){return hasOwnProperty.call(m,e)},delete:function(e){var t;hasOwnProperty.call(m,e)&&(r&&r(e),t=m[e],delete m[e],d)&&o.emit(\"delete\",e,t)},clear:function(){var e=m;n&&n(),m=E(null),o.emit(\"clear\",e)},on:function(e,t){return\"get\"===e?s=!0:\"set\"===e?c=!0:\"delete\"===e&&(d=!0),F.call(this,e,t)},emit:C,updateEnv:function(){a=o.original}},e=i?v(function(e){var t=arguments;f&&(t=f(t)),null!==(t=i(t))&&o.delete(t)},h):0===t?function(){return o.delete(\"data\")}:function(e){return f&&(e=f(arguments)[0]),o.delete(e)},h=v(function(){var e=arguments;return 0===t?m.data:(f&&(e=f(e)),e=i?i(e):String(e[0]),m[e])}),u=v(function(){var e=arguments;return 0===t?o.has(\"data\"):(f&&(e=f(e)),null!==(e=i?i(e):String(e[0]))&&o.has(e))}),A(p,{__memoized__:b(!0),delete:b(e),clear:b(o.clear),_get:b(h),_has:b(u)}),o}}),ra=e(function(e,t){var o=cn(),i=fn(),l=mn(),u=ta(),s=sn();t.exports=function e(t){var r,n,a;if(o(t),(r=Object(arguments[1])).async&&r.promise)throw new Error(\"Options 'async' and 'promise' cannot be used together\");return hasOwnProperty.call(t,\"__memoized__\")&&!r.force?t:(n=s(r.length,t.length,r.async&&l.async),a=u(t,n,r),i(l,function(e,t){r[t]&&e(r[t],a,r)}),e.__profiler__&&e.__profiler__(a),a.updateEnv(),a.memoized)}}),na=e(function(e,t){t.exports=function(e){var t,r,n=e.length;if(!n)return\"\u0002\";for(t=String(e[r=0]);--n;)t+=\"\u0001\"+e[++r];return t}}),aa=e(function(e,t){t.exports=function(a){return a?function(e){for(var t=String(e[0]),r=0,n=a;--n;)t+=\"\u0001\"+e[++r];return t}:function(){return\"\"}}}),oa=e(function(e,t){t.exports=function(){var e=Number.isNaN;return\"function\"==typeof e&&!e({})&&e(NaN)&&!e(34)}}),ia=e(function(e,t){t.exports=function(e){return e!=e}}),la=e(function(e,t){t.exports=oa()()?Number.isNaN:ia()}),ua=e(function(e,t){var a=la(),o=un(),i=dn(),l=Array.prototype.indexOf,u=Object.prototype.hasOwnProperty,s=Math.abs,c=Math.floor;t.exports=function(e){var t,r,n;if(!a(e))return l.apply(this,arguments);for(r=o(i(this).length),e=arguments[1],t=e=isNaN(e)?0:0<=e?c(e):o(this.length)-c(s(e));t<r;++t)if(u.call(this,t)&&(n=this[t],a(n)))return t;return-1}}),sa=e(function(e,t){var s=ua(),r=Object.create;t.exports=function(){var o=0,l=[],u=r(null);return{get:function(e){var t,r=0,n=l,a=e.length;if(0===a)return n[a]||null;if(n=n[a]){for(;r<a-1;){if(-1===(t=s.call(n[0],e[r])))return null;n=n[1][t],++r}return-1===(t=s.call(n[0],e[r]))?null:n[1][t]||null}return null},set:function(e){var t,r=0,n=l,a=e.length;if(0===a)n[a]=++o;else{for(n[a]||(n[a]=[[],[]]),n=n[a];r<a-1;)-1===(t=s.call(n[0],e[r]))&&(t=n[0].push(e[r])-1,n[1].push([[],[]])),n=n[1][t],++r;-1===(t=s.call(n[0],e[r]))&&(t=n[0].push(e[r])-1),n[1][t]=++o}return u[o]=e,o},delete:function(e){var t,r=0,n=l,a=u[e],o=a.length,i=[];if(0===o)delete n[o];else if(n=n[o]){for(;r<o-1;){if(-1===(t=s.call(n[0],a[r])))return;i.push(n,t),n=n[1][t],++r}if(-1===(t=s.call(n[0],a[r])))return;for(e=n[1][t],n[0].splice(t,1),n[1].splice(t,1);!n[0].length&&i.length;)t=i.pop(),(n=i.pop())[0].splice(t,1),n[1].splice(t,1)}delete u[e]},clear:function(){l=[],u=r(null)}}}}),ca=e(function(e,t){var a=ua();t.exports=function(){var t=0,r=[],n=[];return{get:function(e){e=a.call(r,e[0]);return-1===e?null:n[e]},set:function(e){return r.push(e[0]),n.push(++t),t},delete:function(e){e=a.call(n,e);-1!==e&&(r.splice(e,1),n.splice(e,1))},clear:function(){r=[],n=[]}}}}),da=e(function(e,t){var s=ua(),r=Object.create;t.exports=function(i){var a=0,l=[[],[]],u=r(null);return{get:function(e){for(var t,r=0,n=l;r<i-1;){if(-1===(t=s.call(n[0],e[r])))return null;n=n[1][t],++r}return-1!==(t=s.call(n[0],e[r]))&&n[1][t]||null},set:function(e){for(var t,r=0,n=l;r<i-1;)-1===(t=s.call(n[0],e[r]))&&(t=n[0].push(e[r])-1,n[1].push([[],[]])),n=n[1][t],++r;return-1===(t=s.call(n[0],e[r]))&&(t=n[0].push(e[r])-1),n[1][t]=++a,u[a]=e,a},delete:function(e){for(var t,r=0,n=l,a=[],o=u[e];r<i-1;){if(-1===(t=s.call(n[0],o[r])))return;a.push(n,t),n=n[1][t],++r}if(-1!==(t=s.call(n[0],o[r]))){for(e=n[1][t],n[0].splice(t,1),n[1].splice(t,1);!n[0].length&&a.length;)t=a.pop(),(n=a.pop())[0].splice(t,1),n[1].splice(t,1);delete u[e]}},clear:function(){l=[[],[]],u=r(null)}}}}),pa=e(function(e,t){var r=cn(),n=fn(),l=Function.prototype.call;t.exports=function(e,a){var o={},i=arguments[2];return r(a),n(e,function(e,t,r,n){o[t]=l.call(a,i,e,t,r,n)}),o}}),fa=e(function(e,t){function o(e){if(\"function\"!=typeof e)throw new TypeError(e+\" is not a function\");return e}function r(e){var t,r,n=document.createTextNode(\"\"),a=0;return new e(function(){var e;if(t)r&&(t=r.concat(t));else{if(!r)return;t=r}if(r=t,t=null,\"function\"==typeof r)e=r,r=null,e();else for(n.data=a=++a%2;r;)e=r.shift(),r.length||(r=null),e()}).observe(n,{characterData:!0}),function(e){o(e),t?\"function\"==typeof t?t=[t,e]:t.push(e):(t=e,n.data=a=++a%2)}}t.exports=(()=>{if(\"object\"===(\"undefined\"==typeof process?\"undefined\":te(process))&&process&&\"function\"==typeof process.nextTick)return process.nextTick;if(\"function\"==typeof queueMicrotask)return function(e){queueMicrotask(o(e))};if(\"object\"===(void 0===document?\"undefined\":te(document))&&document){if(\"function\"==typeof MutationObserver)return r(MutationObserver);if(\"function\"==typeof WebKitMutationObserver)return r(WebKitMutationObserver)}return\"function\"==typeof setImmediate?function(e){setImmediate(o(e))}:\"function\"==typeof setTimeout||\"object\"===(\"undefined\"==typeof setTimeout?\"undefined\":te(setTimeout))?function(e){setTimeout(o(e),0)}:null})()}),ma=e(function(){var p=Zn(),t=pa(),r=En(),a=An(),f=fa(),m=Array.prototype.slice,h=Function.prototype.apply,g=Object.create;mn().async=function(e,i){var l,u,s,c=g(null),d=g(null),o=i.memoized,n=i.original;i.memoized=a(function(e){var t=arguments,r=t[t.length-1];return\"function\"==typeof r&&(l=r,t=m.call(t,0,-1)),o.apply(u=this,s=t)},o);try{r(i.memoized,o)}catch(e){}i.on(\"get\",function(t){var r,n,a;l&&(c[t]?(\"function\"==typeof c[t]?c[t]=[c[t],l]:c[t].push(l),l=null):(r=l,n=u,a=s,l=u=s=null,f(function(){var e;hasOwnProperty.call(d,t)?(e=d[t],i.emit(\"getasync\",t,a,n),h.call(r,e.context,e.args)):(l=r,u=n,s=a,o.apply(n,a))})))}),i.original=function(){var e,t,r,o;return l?(e=p(arguments),r=l,l=u=s=null,e.push(t=function e(t){var r,n,a=e.id;if(null==a)f(h.bind(e,this,arguments));else if(delete e.id,r=c[a],delete c[a],r)return n=p(arguments),i.has(a)&&(t?i.delete(a):(d[a]={context:this,args:n},i.emit(\"setasync\",a,\"function\"==typeof r?1:r.length))),\"function\"==typeof r?o=h.call(r,this,n):r.forEach(function(e){o=h.call(e,this,n)},this),o}),o=h.call(n,this,e),t.cb=r,l=t,o):h.call(n,this,arguments)},i.on(\"set\",function(e){l?(c[e]?\"function\"==typeof c[e]?c[e]=[c[e],l.cb]:c[e].push(l.cb):c[e]=l.cb,delete l.cb,l.id=e,l=null):i.delete(e)}),i.on(\"delete\",function(e){var t;hasOwnProperty.call(c,e)||d[e]&&(t=d[e],delete d[e],i.emit(\"deleteasync\",e,m.call(t.args,1)))}),i.on(\"clear\",function(){var e=d;d=g(null),i.emit(\"clearasync\",t(e,function(e){return m.call(e.args,1)}))})}}),ha=e(function(e,t){var r=Array.prototype.forEach,n=Object.create;t.exports=function(e){var t=n(null);return r.call(arguments,function(e){t[e]=!0}),t}}),ga=e(function(e,t){t.exports=function(e){return\"function\"==typeof e}}),va=e(function(e,t){var r=ga();t.exports=function(e){try{return e&&r(e.toString)?e.toString():String(e)}catch(e){throw new TypeError(\"Passed argument cannot be stringifed\")}}}),ba=e(function(e,t){var r=dn(),n=va();t.exports=function(e){return n(r(e))}}),ya=e(function(e,t){var r=ga();t.exports=function(e){try{return e&&r(e.toString)?e.toString():String(e)}catch(e){return\"<Non-coercible to string value>\"}}}),wa=e(function(e,t){var r=ya(),n=/[\\n\\r\\u2028\\u2029]/g;t.exports=function(e){e=r(e);return e=(e=100<e.length?e.slice(0,99)+\"…\":e).replace(n,function(e){return JSON.stringify(e).slice(1,-1)})}}),Da=e(function(e,t){function r(e){return!!e&&(\"object\"===te(e)||\"function\"==typeof e)&&\"function\"==typeof e.then}t.exports=r,t.exports.default=r}),xa=e(function(){var t=pa(),e=ha(),r=ba(),n=wa(),f=Da(),m=fa(),a=Object.create,o=e(\"then\",\"then:finally\",\"done\",\"done:finally\");mn().promise=function(u,s){var c=a(null),d=a(null),p=a(null);if(!0===u)u=null;else if(u=r(u),!o[u])throw new TypeError(\"'\"+n(u)+\"' is not valid promise mode\");s.on(\"set\",function(r,e,t){var n=!1;if(f(t)){c[r]=1,p[r]=t;var a=function(e){var t=c[r];if(n)throw new Error(\"Memoizee error: Detected unordered then|done & finally resolution, which in turn makes proper detection of success/failure impossible (when in 'done:finally' mode)\\nConsider to rely on 'then' or 'done' mode instead.\");t&&(delete c[r],d[r]=e,s.emit(\"setasync\",r,t))},o=function(){n=!0,c[r]&&(delete c[r],delete p[r],s.delete(r))},i=u;if(\"then\"===(i=i||\"then\")){var l=function(){m(o)};\"function\"==typeof(t=t.then(function(e){m(a.bind(this,e))},l)).finally&&t.finally(l)}else if(\"done\"===i){if(\"function\"!=typeof t.done)throw new Error(\"Memoizee error: Retrieved promise does not implement 'done' in 'done' mode\");t.done(a,o)}else if(\"done:finally\"===i){if(\"function\"!=typeof t.done)throw new Error(\"Memoizee error: Retrieved promise does not implement 'done' in 'done:finally' mode\");if(\"function\"!=typeof t.finally)throw new Error(\"Memoizee error: Retrieved promise does not implement 'finally' in 'done:finally' mode\");t.done(a),t.finally(o)}}else d[r]=t,s.emit(\"setasync\",r,1)}),s.on(\"get\",function(e,t,r){var n,a;c[e]?++c[e]:(n=p[e],a=function(){s.emit(\"getasync\",e,t,r)},f(n)?\"function\"==typeof n.done?n.done(a):n.then(function(){m(a)}):a())}),s.on(\"delete\",function(e){var t;delete p[e],c[e]?delete c[e]:hasOwnProperty.call(d,e)&&(t=d[e],delete d[e],s.emit(\"deleteasync\",e,[t]))}),s.on(\"clear\",function(){var e=d;d=a(null),c=a(null),p=a(null),s.emit(\"clearasync\",t(e,function(e){return[e]}))})}}),Ea=e(function(){var a=cn(),o=fn(),i=mn(),l=Function.prototype.apply;i.dispose=function(r,e,t){var n;a(r),t.async&&i.async||t.promise&&i.promise?(e.on(\"deleteasync\",n=function(e,t){l.call(r,null,t)}),e.on(\"clearasync\",function(e){o(e,function(e,t){n(t,e)})})):(e.on(\"delete\",n=function(e,t){r(t)}),e.on(\"clear\",function(e){o(e,function(e,t){n(t,e)})}))}}),Aa=e(function(e,t){t.exports=2147483647}),Fa=e(function(e,t){var r=un(),n=Aa();t.exports=function(e){if(e=r(e),n<e)throw new TypeError(e+\" exceeds maximum possible timeout\");return e}}),Ca=e(function(){var l=Zn(),u=fn(),s=fa(),c=Da(),d=Fa(),p=mn(),f=Function.prototype,m=Math.max,h=Math.min,g=Object.create;p.maxAge=function(t,a,o){var r,e,n,i;(t=d(t))&&(r=g(null),e=o.async&&p.async||o.promise&&p.promise?\"async\":\"\",a.on(\"set\"+e,function(e){r[e]=setTimeout(function(){a.delete(e)},t),\"function\"==typeof r[e].unref&&r[e].unref(),i&&(i[e]&&\"nextTick\"!==i[e]&&clearTimeout(i[e]),i[e]=setTimeout(function(){delete i[e]},n),\"function\"==typeof i[e].unref)&&i[e].unref()}),a.on(\"delete\"+e,function(e){clearTimeout(r[e]),delete r[e],i&&(\"nextTick\"!==i[e]&&clearTimeout(i[e]),delete i[e])}),o.preFetch&&(n=!0===o.preFetch||isNaN(o.preFetch)?.333:m(h(Number(o.preFetch),1),0))&&(i={},n=(1-n)*t,a.on(\"get\"+e,function(t,r,n){i[t]||(i[t]=\"nextTick\",s(function(){var e;\"nextTick\"===i[t]&&(delete i[t],a.delete(t),o.async&&(r=l(r)).push(f),e=a.memoized.apply(n,r),o.promise)&&c(e)&&(\"function\"==typeof e.done?e.done(f,f):e.then(f,f))}))})),a.on(\"clear\"+e,function(){u(r,function(e){clearTimeout(e)}),r={},i&&(u(i,function(e){\"nextTick\"!==e&&clearTimeout(e)}),i={})}))}}),ka=e(function(e,t){var r=un(),c=Object.create,d=Object.prototype.hasOwnProperty;t.exports=function(n){var a,o=0,i=1,l=c(null),u=c(null),s=0;return n=r(n),{hit:function(e){var t=u[e],r=++s;if(l[r]=e,u[e]=r,!t)return++o<=n?void 0:(e=l[i],a(e),e);if(delete l[t],i===t)for(;!d.call(l,++i););},delete:a=function(e){var t=u[e];if(t&&(delete l[t],delete u[e],--o,i===t))if(o)for(;!d.call(l,++i););else s=0,i=1},clear:function(){o=0,i=1,l=c(null),u=c(null),s=0}}}}),Ra=e(function(){var a=un(),o=ka(),i=mn();i.max=function(e,t,r){var n;(e=a(e))&&(n=o(e),e=r.async&&i.async||r.promise&&i.promise?\"async\":\"\",t.on(\"set\"+e,r=function(e){void 0!==(e=n.hit(e))&&t.delete(e)}),t.on(\"get\"+e,r),t.on(\"delete\"+e,n.delete),t.on(\"clear\"+e,n.clear))}}),Na=e(function(){var a=_n(),o=mn(),i=Object.create,l=Object.defineProperties;o.refCounter=function(e,t,r){var n=i(null),r=r.async&&o.async||r.promise&&o.promise?\"async\":\"\";t.on(\"set\"+r,function(e,t){n[e]=t||1}),t.on(\"get\"+r,function(e){++n[e]}),t.on(\"delete\"+r,function(e){delete n[e]}),t.on(\"clear\"+r,function(){n={}}),l(t.memoized,{deleteRef:a(function(){var e=t.get(arguments);return null!==e&&n[e]?!--n[e]&&(t.delete(e),!0):null}),getRefCount:a(function(){var e=t.get(arguments);return null!==e&&n[e]||0})})}}),Ta=e(function(e,t){var n=rn(),a=sn(),o=ra();t.exports=function(e){var t,r=n(arguments[1]);return r.normalizer||0!==(t=r.length=a(r.length,e.length,r.async))&&(r.primitive?!1===t?r.normalizer=na():1<t&&(r.normalizer=aa()(t)):r.normalizer=!1===t?sa()():1===t?ca()():da()(t)),r.async&&ma(),r.promise&&xa(),r.dispose&&Ea(),r.maxAge&&Ca(),r.max&&Ra(),r.refCounter&&Na(),o(e,r)}}),Oa={helpUrlBase:\"https://dequeuniversity.com/rules/\",gridSize:200,selectorSimilarFilterLimit:700,results:[],resultGroups:[],resultGroupMap:{},impact:Object.freeze([\"minor\",\"moderate\",\"serious\",\"critical\"]),preload:Object.freeze({assets:[\"cssom\",\"media\"],timeout:1e4}),allOrigins:\"<unsafe_all_origins>\",sameOrigin:\"<same_origin>\",serializableErrorProps:Object.freeze([\"message\",\"stack\",\"name\",\"code\",\"ruleId\",\"method\"])},f=([{name:\"NA\",value:\"inapplicable\",priority:0,group:\"inapplicable\"},{name:\"PASS\",value:\"passed\",priority:1,group:\"passes\"},{name:\"CANTTELL\",value:\"cantTell\",priority:2,group:\"incomplete\"},{name:\"FAIL\",value:\"failed\",priority:3,group:\"violations\"}].forEach(function(e){var t=e.name,r=e.value,n=e.priority,e=e.group;Oa[t]=r,Oa[t+\"_PRIO\"]=n,Oa[t+\"_GROUP\"]=e,Oa.results[n]=r,Oa.resultGroups[n]=e,Oa.resultGroupMap[r]=e}),Object.freeze(Oa.results),Object.freeze(Oa.resultGroups),Object.freeze(Oa.resultGroupMap),Object.freeze(Oa),Oa),Sa=function(){\"object\"===(\"undefined\"==typeof console?\"undefined\":te(console))&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},_a=/[\\t\\r\\n\\f]/g,p=we(function e(){be(this,e),this.parent=void 0},[{key:\"props\",get:function(){throw new Error('VirtualNode class must have a \"props\" object consisting of \"nodeType\" and \"nodeName\" properties')}},{key:\"attrNames\",get:function(){throw new Error('VirtualNode class must have an \"attrNames\" property')}},{key:\"attr\",value:function(){throw new Error('VirtualNode class must have an \"attr\" function')}},{key:\"hasAttr\",value:function(){throw new Error('VirtualNode class must have a \"hasAttr\" function')}},{key:\"hasClass\",value:function(e){var t=this.attr(\"class\");return!!t&&(e=\" \"+e+\" \",0<=(\" \"+t+\" \").replace(_a,\" \").indexOf(e))}}]),Ma={},Pa=(Pe(Ma,{DqElement:function(){return tu},RuleError:function(){return If},aggregate:function(){return Pa},aggregateChecks:function(){return za},aggregateNodeResults:function(){return Ga},aggregateResult:function(){return Ha},areStylesSet:function(){return Ua},assert:function(){return E},checkHelper:function(){return ru},clone:function(){return nu},closest:function(){return fu},collectResultsFromFrames:function(){return ls},contains:function(){return us},convertSelector:function(){return du},cssParser:function(){return au},deepMerge:function(){return ss},escapeSelector:function(){return m},extendMetaData:function(){return cs},filterHtmlAttrs:function(){return Of},finalizeRuleResult:function(){return Va},findBy:function(){return as},getAllChecks:function(){return ns},getAncestry:function(){return Yl},getBaseLang:function(){return xp},getCheckMessage:function(){return Op},getCheckOption:function(){return Sp},getElementSource:function(){return Zl},getEnvironmentData:function(){return _p},getFlattenedTree:function(){return bp},getFrameContexts:function(){return Lp},getFriendlyUriEnd:function(){return Za},getNodeAttributes:function(){return Ja},getNodeFromTree:function(){return g},getPreloadConfig:function(){return Ff},getRootNode:function(){return ms},getRule:function(){return qp},getScroll:function(){return Vp},getScrollState:function(){return Gp},getSelector:function(){return Hl},getSelectorData:function(){return zl},getShadowSelector:function(){return Sl},getStandards:function(){return $p},getStyleSheetFactory:function(){return Up},getXpath:function(){return Kl},injectStyle:function(){return Wp},isArrayLike:function(){return Yp},isContextObject:function(){return Zp},isContextProp:function(){return Jp},isContextSpec:function(){return Xp},isHidden:function(){return tf},isHtmlElement:function(){return rf},isLabelledFramesSelector:function(){return Qp},isLabelledShadowDomSelector:function(){return ef},isNodeInContext:function(){return nf},isShadowRoot:function(){return ps},isValidLang:function(){return Gf},isXHTML:function(){return Ol},matchAncestry:function(){return of},matches:function(){return ou},matchesExpression:function(){return pu},matchesSelector:function(){return Qa},memoize:function(){return r},mergeResults:function(){return is},nodeLookup:function(){return d},nodeSerializer:function(){return rs},nodeSorter:function(){return lf},objectHasOwn:function(){return Kp},parseCrossOriginStylesheet:function(){return pf},parseSameOriginStylesheet:function(){return cf},parseStylesheet:function(){return df},parseTabindex:function(){return ff},performanceTimer:function(){return M},pollyfillElementsFromPoint:function(){return hf},preload:function(){return Ef},preloadCssom:function(){return yf},preloadMedia:function(){return xf},processMessage:function(){return Tp},publishMetaData:function(){return Cf},querySelectorAll:function(){return Rf},querySelectorAllFilter:function(){return bf},queue:function(){return yu},respondable:function(){return Ku},ruleShouldRun:function(){return Tf},select:function(){return _f},sendCommandToFrame:function(){return Zu},serializeError:function(){return Mf},setScrollState:function(){return Bf},shadowSelect:function(){return jf},shadowSelectAll:function(){return Lf},shouldPreload:function(){return Af},toArray:function(){return Wa},tokenList:function(){return dp},uniqueArray:function(){return gf},uuid:function(){return Ou},validInputTypes:function(){return qf},validLangs:function(){return Vf}}),function(t,e,r){return e=e.slice(),r&&e.push(r),r=e.map(function(e){return t.indexOf(e)}).sort(),t[r.pop()]}),Ia=f.CANTTELL_PRIO,Ba=f.FAIL_PRIO,ja=[],La=(ja[f.PASS_PRIO]=!0,ja[f.CANTTELL_PRIO]=null,ja[f.FAIL_PRIO]=!1,[\"any\",\"all\",\"none\"]);function qa(r,n){La.reduce(function(e,t){return e[t]=(r[t]||[]).map(function(e){return n(e,t)}),e},{})}var za=function(e){var r=Object.assign({},e),n=(qa(r,function(e,t){var r=void 0===e.result?-1:ja.indexOf(e.result);e.priority=-1!==r?r:f.CANTTELL_PRIO,\"none\"===t&&(e.priority===f.PASS_PRIO?e.priority=f.FAIL_PRIO:e.priority===f.FAIL_PRIO&&(e.priority=f.PASS_PRIO))}),{all:r.all.reduce(function(e,t){return Math.max(e,t.priority)},0),none:r.none.reduce(function(e,t){return Math.max(e,t.priority)},0),any:r.any.reduce(function(e,t){return Math.min(e,t.priority)},4)%4}),a=(r.priority=Math.max(n.all,n.none,n.any),[]);return La.forEach(function(t){r[t]=r[t].filter(function(e){return e.priority===r.priority&&e.priority===n[t]}),r[t].forEach(function(e){return a.push(e.impact)})}),[Ia,Ba].includes(r.priority)?r.impact=Pa(f.impact,a):r.impact=null,qa(r,function(e){delete e.result,delete e.priority}),r.result=f.results[r.priority],delete r.priority,r};function Va(t){var r=axe._audit.rules.find(function(e){return e.id===t.id});return r&&r.impact&&t.nodes.forEach(function(t){[\"any\",\"all\",\"none\"].forEach(function(e){(t[e]||[]).forEach(function(e){e.impact=r.impact})})}),Object.assign(t,Ga(t.nodes)),delete t.nodes,t}var Ga=function(e){var r={},t=((e=e.map(function(e){if(e.any&&e.all&&e.none)return za(e);if(Array.isArray(e.node))return Va(e);throw new TypeError(\"Invalid Result type\")}))&&e.length?(t=e.map(function(e){return e.result}),r.result=Pa(f.results,t,r.result)):r.result=\"inapplicable\",f.resultGroups.forEach(function(e){return r[e]=[]}),e.forEach(function(e){var t=f.resultGroupMap[e.result];r[t].push(e)}),f.FAIL_GROUP);return 0===r[t].length&&(t=f.CANTTELL_GROUP),0<r[t].length?(e=r[t].map(function(e){return e.impact}),r.impact=Pa(f.impact,e)||null):r.impact=null,r};function $a(e,t,r){var n=Object.assign({},t);n.nodes=(n[r]||[]).concat(),f.resultGroups.forEach(function(e){delete n[e]}),e[r].push(n)}var Ha=function(e){var r={};return f.resultGroups.forEach(function(e){return r[e]=[]}),e.forEach(function(t){t.error?$a(r,t,f.CANTTELL_GROUP):t.result===f.NA?$a(r,t,f.NA_GROUP):f.resultGroups.forEach(function(e){Array.isArray(t[e])&&0<t[e].length&&$a(r,t,e)})}),r},Ua=function e(t,r,n){var a=window.getComputedStyle(t,null);if(!a)return!1;for(var o=0;o<r.length;++o){var i=r[o];if(a.getPropertyValue(i.property)===i.value)return!0}return!(!t.parentNode||t.nodeName.toUpperCase()===n.toUpperCase())&&e(t.parentNode,r,n)},E=function(e,t){if(!e)throw new Error(t)},Wa=function(e){return Array.prototype.slice.call(e)},m=function(e){for(var t,r=String(e),n=r.length,a=-1,o=\"\",i=r.charCodeAt(0);++a<n;)0==(t=r.charCodeAt(a))?o+=\"�\":o+=1<=t&&t<=31||127==t||0==a&&48<=t&&t<=57||1==a&&48<=t&&t<=57&&45==i?\"\\\\\"+t.toString(16)+\" \":(0!=a||1!=n||45!=t)&&(128<=t||45==t||95==t||48<=t&&t<=57||65<=t&&t<=90||97<=t&&t<=122)?r.charAt(a):\"\\\\\"+r.charAt(a);return o};function Ya(e,t){return[e.substring(0,t),e.substring(t)]}function Ka(e){return e.replace(/\\s+$/,\"\")}var Xa,Za=function(){var e,t,r,n,a,o,i,l,u=0<arguments.length&&void 0!==arguments[0]?arguments[0]:\"\",s=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};if(!(u.length<=1||\"data:\"===u.substr(0,5)||\"javascript:\"===u.substr(0,11)||u.includes(\"?\")))return e=s.currentDomain,s=void 0===(s=s.maxLength)?25:s,i=o=l=a=n=\"\",(r=u=u).includes(\"#\")&&(u=(t=D(Ya(u,u.indexOf(\"#\")),2))[0],i=t[1]),u.includes(\"?\")&&(u=(t=D(Ya(u,u.indexOf(\"?\")),2))[0],o=t[1]),u.includes(\"://\")?(n=(t=D(u.split(\"://\"),2))[0],a=(t=D(Ya(u=t[1],u.indexOf(\"/\")),2))[0],u=t[1]):\"//\"===u.substr(0,2)&&(a=(t=D(Ya(u=u.substr(2),u.indexOf(\"/\")),2))[0],u=t[1]),(a=\"www.\"===a.substr(0,4)?a.substr(4):a)&&a.includes(\":\")&&(a=(t=D(Ya(a,a.indexOf(\":\")),2))[0],l=t[1]),r=(t={original:r,protocol:n,domain:a,port:l,path:u,query:o,hash:i}).domain,n=t.hash,l=(a=t.path).substr(a.substr(0,a.length-2).lastIndexOf(\"/\")+1),n?l&&(l+n).length<=s?Ka(l+n):l.length<2&&2<n.length&&n.length<=s?Ka(n):void 0:r&&r.length<s&&a.length<=1||a===\"/\"+l&&r&&e&&r!==e&&(r+a).length<=s?Ka(r+a):(-1===(u=l.lastIndexOf(\".\"))||1<u)&&(-1!==u||2<l.length)&&l.length<=s&&!l.match(/index(\\.[a-zA-Z]{2-4})?/)&&!function(e){return 0!==(e=0<arguments.length&&void 0!==e?e:\"\").length&&(e.match(/[0-9]/g)||\"\").length>=e.length/2}(l)?Ka(l):void 0},Ja=function(e){return(e.attributes instanceof window.NamedNodeMap?e:e.cloneNode(!1)).attributes},Qa=function(e,t){return!!e[Xa=Xa&&e[Xa]?Xa:(e=>{for(var t,r=[\"matches\",\"matchesSelector\",\"mozMatchesSelector\",\"webkitMatchesSelector\",\"msMatchesSelector\"],n=r.length,a=0;a<n;a++)if(e[t=r[a]])return t})(e)]&&e[Xa](t)},eo={},He=(Pe(eo,{ArrayFrom:function(){return Tl.default},Colorjs:function(){return u},CssSelectorParser:function(){return to.CssSelectorParser},doT:function(){return ro.default},emojiRegexText:function(){return no},memoize:function(){return ao.default}}),Be(He())),Ue=Be(Ue()),We=(Be(We()),Be(t())),t=Be(sr()),sr=Be(Yr()),to=(\"hasOwn\"in Object||(Object.hasOwn=We.default),\"values\"in Object||(Object.values=t.default),\"Promise\"in window||He.default.polyfill(),\"Uint32Array\"in window||(window.Uint32Array=Ue.Uint32Array),window.Uint32Array&&(\"some\"in window.Uint32Array.prototype||Object.defineProperty(window.Uint32Array.prototype,\"some\",{value:Array.prototype.some}),\"reduce\"in window.Uint32Array.prototype||Object.defineProperty(window.Uint32Array.prototype,\"reduce\",{value:Array.prototype.reduce})),\"function\"!=typeof Object.assign&&(Object.assign=function(e){if(null==e)throw new TypeError(\"Cannot convert undefined or null to object\");for(var t=Object(e),r=1;r<arguments.length;r++){var n=arguments[r];if(null!=n)for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a])}return t}),Array.prototype.find||Object.defineProperty(Array.prototype,\"find\",{value:function(e){if(null===this)throw new TypeError(\"Array.prototype.find called on null or undefined\");if(\"function\"!=typeof e)throw new TypeError(\"predicate must be a function\");for(var t,r=Object(this),n=r.length>>>0,a=arguments[1],o=0;o<n;o++)if(t=r[o],e.call(a,t,o,r))return t}}),Array.prototype.findIndex||Object.defineProperty(Array.prototype,\"findIndex\",{value:function(e,t){if(null===this)throw new TypeError(\"Array.prototype.find called on null or undefined\");if(\"function\"!=typeof e)throw new TypeError(\"predicate must be a function\");for(var r,n=Object(this),a=n.length>>>0,o=0;o<a;o++)if(r=n[o],e.call(t,r,o,n))return o;return-1}}),Array.prototype.includes||Object.defineProperty(Array.prototype,\"includes\",{value:function(e){var t=Object(this),r=parseInt(t.length,10)||0;if(0!==r){var n,a,o=parseInt(arguments[1],10)||0;for(0<=o?n=o:(n=r+o)<0&&(n=0);n<r;){if(e===(a=t[n])||e!=e&&a!=a)return!0;n++}}return!1}}),Array.prototype.some||Object.defineProperty(Array.prototype,\"some\",{value:function(e){if(null==this)throw new TypeError(\"Array.prototype.some called on null or undefined\");if(\"function\"!=typeof e)throw new TypeError;for(var t=Object(this),r=t.length>>>0,n=2<=arguments.length?arguments[1]:void 0,a=0;a<r;a++)if(a in t&&e.call(n,t[a],a,t))return!0;return!1}}),Array.from||(Array.from=sr.default),String.prototype.includes||(String.prototype.includes=function(e,t){return!((t=\"number\"!=typeof t?0:t)+e.length>this.length)&&-1!==this.indexOf(e,t)}),Array.prototype.flat||Object.defineProperty(Array.prototype,\"flat\",{configurable:!0,value:function r(){var n=isNaN(arguments[0])?1:Number(arguments[0]);return n?Array.prototype.reduce.call(this,function(e,t){return Array.isArray(t)?e.push.apply(e,r.call(t,n-1)):e.push(t),e},[]):Array.prototype.slice.call(this)},writable:!0}),!window.Node||\"isConnected\"in window.Node.prototype||Object.defineProperty(window.Node.prototype,\"isConnected\",{get:function(){return!(this.ownerDocument&&this.ownerDocument.compareDocumentPosition(this)&this.DOCUMENT_POSITION_DISCONNECTED)}}),Be(Jr())),ro=Be(Qr()),no=function(){return/[#*0-9]\\uFE0F?\\u20E3|[\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23ED-\\u23EF\\u23F1\\u23F2\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB\\u25FC\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692\\u2694-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A7\\u26AA\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C8\\u26CF\\u26D1\\u26E9\\u26F0-\\u26F5\\u26F7\\u26F8\\u26FA\\u2702\\u2708\\u2709\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2733\\u2734\\u2744\\u2747\\u2757\\u2763\\u27A1\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B55\\u3030\\u303D\\u3297\\u3299]\\uFE0F?|[\\u261D\\u270C\\u270D](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?|[\\u270A\\u270B](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u2693\\u26A1\\u26AB\\u26C5\\u26CE\\u26D4\\u26EA\\u26FD\\u2705\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2795-\\u2797\\u27B0\\u27BF\\u2B50]|\\u26D3\\uFE0F?(?:\\u200D\\uD83D\\uDCA5)?|\\u26F9(?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\u2764\\uFE0F?(?:\\u200D(?:\\uD83D\\uDD25|\\uD83E\\uDE79))?|\\uD83C(?:[\\uDC04\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDE02\\uDE37\\uDF21\\uDF24-\\uDF2C\\uDF36\\uDF7D\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E\\uDF9F\\uDFCD\\uDFCE\\uDFD4-\\uDFDF\\uDFF5\\uDFF7]\\uFE0F?|[\\uDF85\\uDFC2\\uDFC7](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDFC4\\uDFCA](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDFCB\\uDFCC](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF43\\uDF45-\\uDF4A\\uDF4C-\\uDF7C\\uDF7E-\\uDF84\\uDF86-\\uDF93\\uDFA0-\\uDFC1\\uDFC5\\uDFC6\\uDFC8\\uDFC9\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF8-\\uDFFF]|\\uDDE6\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF]|\\uDDE7\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF]|\\uDDE8\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF7\\uDDFA-\\uDDFF]|\\uDDE9\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF]|\\uDDEA\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA]|\\uDDEB\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7]|\\uDDEC\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE]|\\uDDED\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA]|\\uDDEE\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9]|\\uDDEF\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5]|\\uDDF0\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF]|\\uDDF1\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE]|\\uDDF2\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF]|\\uDDF3\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF]|\\uDDF4\\uD83C\\uDDF2|\\uDDF5\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE]|\\uDDF6\\uD83C\\uDDE6|\\uDDF7\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC]|\\uDDF8\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF]|\\uDDF9\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF]|\\uDDFA\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF]|\\uDDFB\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA]|\\uDDFC\\uD83C[\\uDDEB\\uDDF8]|\\uDDFD\\uD83C\\uDDF0|\\uDDFE\\uD83C[\\uDDEA\\uDDF9]|\\uDDFF\\uD83C[\\uDDE6\\uDDF2\\uDDFC]|\\uDF44(?:\\u200D\\uD83D\\uDFEB)?|\\uDF4B(?:\\u200D\\uD83D\\uDFE9)?|\\uDFC3(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?|\\uDFF3\\uFE0F?(?:\\u200D(?:\\u26A7\\uFE0F?|\\uD83C\\uDF08))?|\\uDFF4(?:\\u200D\\u2620\\uFE0F?|\\uDB40\\uDC67\\uDB40\\uDC62\\uDB40(?:\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F)?)|\\uD83D(?:[\\uDC3F\\uDCFD\\uDD49\\uDD4A\\uDD6F\\uDD70\\uDD73\\uDD76-\\uDD79\\uDD87\\uDD8A-\\uDD8D\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA\\uDECB\\uDECD-\\uDECF\\uDEE0-\\uDEE5\\uDEE9\\uDEF0\\uDEF3]\\uFE0F?|[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDC8F\\uDC91\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDC6E-\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4\\uDEB5](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD74\\uDD90](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?|[\\uDC00-\\uDC07\\uDC09-\\uDC14\\uDC16-\\uDC25\\uDC27-\\uDC3A\\uDC3C-\\uDC3E\\uDC40\\uDC44\\uDC45\\uDC51-\\uDC65\\uDC6A\\uDC79-\\uDC7B\\uDC7D-\\uDC80\\uDC84\\uDC88-\\uDC8E\\uDC90\\uDC92-\\uDCA9\\uDCAB-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDDA4\\uDDFB-\\uDE2D\\uDE2F-\\uDE34\\uDE37-\\uDE41\\uDE43\\uDE44\\uDE48-\\uDE4A\\uDE80-\\uDEA2\\uDEA4-\\uDEB3\\uDEB7-\\uDEBF\\uDEC1-\\uDEC5\\uDED0-\\uDED2\\uDED5-\\uDED8\\uDEDC-\\uDEDF\\uDEEB\\uDEEC\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB\\uDFF0]|\\uDC08(?:\\u200D\\u2B1B)?|\\uDC15(?:\\u200D\\uD83E\\uDDBA)?|\\uDC26(?:\\u200D(?:\\u2B1B|\\uD83D\\uDD25))?|\\uDC3B(?:\\u200D\\u2744\\uFE0F?)?|\\uDC41\\uFE0F?(?:\\u200D\\uD83D\\uDDE8\\uFE0F?)?|\\uDC68(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDC68\\uDC69]\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFC-\\uDFFF])|\\uD83E(?:[\\uDD1D\\uDEEF]\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFC-\\uDFFF]|[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83E(?:[\\uDD1D\\uDEEF]\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFD-\\uDFFF]|[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83E(?:[\\uDD1D\\uDEEF]\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF]|[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83E(?:[\\uDD1D\\uDEEF]\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFD\\uDFFF]|[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFE])|\\uD83E(?:[\\uDD1D\\uDEEF]\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFE]|[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3])))?))?|\\uDC69(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?[\\uDC68\\uDC69]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?|\\uDC69\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?))|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFC-\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFC-\\uDFFF]|\\uDEEF\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFC-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFD-\\uDFFF]|\\uDEEF\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF]|\\uDEEF\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFD\\uDFFF]|\\uDEEF\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB-\\uDFFE])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFE]|\\uDEEF\\u200D\\uD83D\\uDC69\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\uDD75(?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\uDE2E(?:\\u200D\\uD83D\\uDCA8)?|\\uDE35(?:\\u200D\\uD83D\\uDCAB)?|\\uDE36(?:\\u200D\\uD83C\\uDF2B\\uFE0F?)?|\\uDE42(?:\\u200D[\\u2194\\u2195]\\uFE0F?)?|\\uDEB6(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?)|\\uD83E(?:[\\uDD0C\\uDD0F\\uDD18-\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2\\uDDD3\\uDDD5\\uDEC3-\\uDEC5\\uDEF0\\uDEF2-\\uDEF8](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3C-\\uDD3E\\uDDB8\\uDDB9\\uDDCD\\uDDCF\\uDDD4\\uDDD6-\\uDDDD](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDDDE\\uDDDF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD0D\\uDD0E\\uDD10-\\uDD17\\uDD20-\\uDD25\\uDD27-\\uDD2F\\uDD3A\\uDD3F-\\uDD45\\uDD47-\\uDD76\\uDD78-\\uDDB4\\uDDB7\\uDDBA\\uDDBC-\\uDDCC\\uDDD0\\uDDE0-\\uDDFF\\uDE70-\\uDE7C\\uDE80-\\uDE8A\\uDE8E-\\uDEC2\\uDEC6\\uDEC8\\uDECD-\\uDEDC\\uDEDF-\\uDEEA\\uDEEF]|\\uDDCE(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?|\\uDDD1(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3\\uDE70]|\\uDD1D\\u200D\\uD83E\\uDDD1|\\uDDD1\\u200D\\uD83E\\uDDD2(?:\\u200D\\uD83E\\uDDD2)?|\\uDDD2(?:\\u200D\\uD83E\\uDDD2)?))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFC-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFC-\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3\\uDE70]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|\\uDEEF\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFC-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFD-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3\\uDE70]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|\\uDEEF\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3\\uDE70]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|\\uDEEF\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFD\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3\\uDE70]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|\\uDEEF\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFE]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC30\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFE])|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3\\uDE70]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF]|\\uDEEF\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\uDEF1(?:\\uD83C(?:\\uDFFB(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFC-\\uDFFF])?|\\uDFFC(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])?|\\uDFFD(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])?|\\uDFFE(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])?|\\uDFFF(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB-\\uDFFE])?))?)/g},ao=Be(Ta());function o(e,r){var t=e.length,n=(Array.isArray(e[0])||(e=[e]),(r=Array.isArray(r[0])?r:r.map(function(e){return[e]}))[0].length),a=r[0].map(function(e,t){return r.map(function(e){return e[t]})}),e=e.map(function(o){return a.map(function(e){var t=0;if(Array.isArray(o))for(var r=0;r<o.length;r++)t+=o[r]*(e[r]||0);else{var n,a=x(e);try{for(a.s();!(n=a.n()).done;)t+=o*n.value}catch(e){a.e(e)}finally{a.f()}}return t})});return 1===t&&(e=e[0]),1===n?e.map(function(e){return e[0]}):e}function oo(e){return\"string\"===io(e)}function io(e){return(Object.prototype.toString.call(e).match(/^\\[object\\s+(.*?)\\]$/)[1]||\"\").toLowerCase()}function lo(e,t){e=+e,t=+t;var r=(Math.floor(e)+\"\").length;return r<t?+e.toFixed(t-r):(r=Math.pow(10,r-t),Math.round(e/r)*r)}function uo(e){var r,n;if(e)return e=e.trim(),r=/^-?[\\d.]+$/,(e=e.match(/^([a-z]+)\\((.+?)\\)$/i))?(n=[],e[2].replace(/\\/?\\s*([-\\w.]+(?:%|deg)?)/g,function(e,t){/%$/.test(t)?(t=new Number(t.slice(0,-1)/100)).type=\"<percentage>\":/deg$/.test(t)?((t=new Number(+t.slice(0,-3))).type=\"<angle>\",t.unit=\"deg\"):r.test(t)&&((t=new Number(t)).type=\"<number>\"),e.startsWith(\"/\")&&((t=t instanceof Number?t:new Number(t)).alpha=!0),n.push(t)}),{name:e[1].toLowerCase(),rawName:e[1],rawArgs:e[2],args:n}):void 0}function so(e){return e[e.length-1]}function co(e,t,r){return isNaN(e)?t:isNaN(t)?e:e+(t-e)*r}function po(e,t,r){return(r-e)/(t-e)}function fo(e,t,r){return co(t[0],t[1],po(e[0],e[1],r))}function mo(e){return e.map(function(e){return e.split(\"|\").map(function(e){var t,r=(e=e.trim()).match(/^(<[a-z]+>)\\[(-?[.\\d]+),\\s*(-?[.\\d]+)\\]?$/);return r?((t=new String(r[1])).range=[+r[2],+r[3]],t):e})})}var We=Object.freeze({__proto__:null,isString:oo,type:io,toPrecision:lo,parseFunction:uo,last:so,interpolate:co,interpolateInv:po,mapRange:fo,parseCoordGrammar:mo,multiplyMatrices:o}),ho=new(we(function e(){be(this,e)},[{key:\"add\",value:function(e,t,r){if(\"string\"!=typeof arguments[0])for(var e in arguments[0])this.add(e,arguments[0][e],t);else(Array.isArray(e)?e:[e]).forEach(function(e){this[e]=this[e]||[],t&&this[e][r?\"unshift\":\"push\"](t)},this)}},{key:\"run\",value:function(e,t){this[e]=this[e]||[],this[e].forEach(function(e){e.call(t&&t.context?t.context:t,t)})}}])),go={gamut_mapping:\"lch.c\",precision:5,deltaE:\"76\"},vo={D50:[.3457/.3585,1,.2958/.3585],D65:[.3127/.329,1,.3583/.329]};function bo(e){return Array.isArray(e)?e:vo[e]}function yo(e,t,r,n){n=3<arguments.length&&void 0!==n?n:{};if(e=bo(e),t=bo(t),!e||!t)throw new TypeError(\"Missing white point to convert \".concat(e?\"\":\"from\").concat(e||t?\"\":\"/\").concat(t?\"\":\"to\"));if(e===t)return r;e={W1:e,W2:t,XYZ:r,options:n};if(ho.run(\"chromatic-adaptation-start\",e),e.M||(e.W1===vo.D65&&e.W2===vo.D50?e.M=[[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]]:e.W1===vo.D50&&e.W2===vo.D65&&(e.M=[[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]])),ho.run(\"chromatic-adaptation-end\",e),e.M)return o(e.M,e.XYZ);throw new TypeError(\"Only Bradford CAT with white points D50 and D65 supported for now.\")}Ae=new WeakSet,Fe=new WeakMap;var wo=we(function e(t){be(this,e),de(this,Ae),ce(this,Fe,void 0),this.id=t.id,this.name=t.name,this.base=t.base?wo.get(t.base):null,this.aliases=t.aliases,this.base&&(this.fromBase=t.fromBase,this.toBase=t.toBase);var r,n=null!=(n=t.coords)?n:this.base.coords,n=(this.coords=n,null!=(n=null!=(n=t.white)?n:this.base.white)?n:\"D65\");for(r in this.white=bo(n),this.formats=null!=(n=t.formats)?n:{},this.formats){var a=this.formats[r];a.type||(a.type=\"function\"),a.name||(a.name=r)}!t.cssId||null!=(n=this.formats.functions)&&n.color?null==(n=this.formats)||!n.color||null!=(n=this.formats)&&n.color.id||(this.formats.color.id=this.id):(this.formats.color={id:t.cssId},Object.defineProperty(this,\"cssId\",{value:t.cssId})),this.referred=t.referred,me(Fe,this,he(Ae,this,xo).call(this).reverse()),ho.run(\"colorspace-init-end\",this)},[{key:\"inGamut\",value:function(e){var n,t=(1<arguments.length&&void 0!==arguments[1]?arguments[1]:{}).epsilon,a=void 0===t?75e-6:t;return this.isPolar?(e=this.toBase(e),this.base.inGamut(e,{epsilon:a})):(n=Object.values(this.coords),e.every(function(e,t){var r,t=n[t];return\"angle\"===t.type||!t.range||!!Number.isNaN(e)||(r=(t=D(t.range,2))[0],t=t[1],(void 0===r||r-a<=e)&&(void 0===t||e<=t+a))}))}},{key:\"cssId\",get:function(){var e;return(null==(e=this.formats.functions)||null==(e=e.color)?void 0:e.id)||this.id}},{key:\"isPolar\",get:function(){for(var e in this.coords)if(\"angle\"===this.coords[e].type)return!0;return!1}},{key:\"getFormat\",value:function(e){return\"object\"===te(e)||(e=\"default\"===e?Object.values(this.formats)[0]:this.formats[e])?he(Ae,this,Do).call(this,e):null}},{key:\"to\",value:function(e,t){var r;if(1===arguments.length&&(e=(r=[e.space,e.coords])[0],t=r[1]),this!==(e=wo.get(e))){t=t.map(function(e){return Number.isNaN(e)?0:e});for(var n,a,o=fe(Fe,this),i=fe(Fe,e),l=0;l<o.length&&o[l]===i[l];l++)n=o[l],a=l;if(!n)throw new Error(\"Cannot convert between color spaces \".concat(this,\" and \").concat(e,\": no connection space was found\"));for(var u=o.length-1;a<u;u--)t=o[u].toBase(t);for(var s=a+1;s<i.length;s++)t=i[s].fromBase(t)}return t}},{key:\"from\",value:function(e,t){var r;return 1===arguments.length&&(e=(r=[e.space,e.coords])[0],t=r[1]),(e=wo.get(e)).to(this,t)}},{key:\"toString\",value:function(){return\"\".concat(this.name,\" (\").concat(this.id,\")\")}},{key:\"getMinCoords\",value:function(){var e,t=[];for(e in this.coords){var r=this.coords[e],r=r.range||r.refRange;t.push(null!=(r=null==r?void 0:r.min)?r:0)}return t}}],[{key:\"all\",get:function(){return w(new Set(Object.values(wo.registry)))}},{key:\"register\",value:function(e,t){if(1===arguments.length&&(e=(t=arguments[0]).id),t=this.get(t),this.registry[e]&&this.registry[e]!==t)throw new Error(\"Duplicate color space registration: '\".concat(e,\"'\"));if(this.registry[e]=t,1===arguments.length&&t.aliases){var r,n=x(t.aliases);try{for(n.s();!(r=n.n()).done;){var a=r.value;this.register(a,t)}}catch(e){n.e(e)}finally{n.f()}}return t}},{key:\"get\",value:function(e){if(!e||e instanceof wo)return e;if(\"string\"===io(e)){var t=wo.registry[e.toLowerCase()];if(t)return t;throw new TypeError('No color space found with id = \"'.concat(e,'\"'))}for(var r=arguments.length,n=new Array(1<r?r-1:0),a=1;a<r;a++)n[a-1]=arguments[a];if(n.length)return wo.get.apply(wo,n);throw new TypeError(\"\".concat(e,\" is not a valid color space\"))}},{key:\"resolveCoord\",value:function(e,t){var r,n;if(n=\"string\"===io(e)?e.includes(\".\")?(r=(n=D(e.split(\".\"),2))[0],n[1]):(r=void 0,e):Array.isArray(e)?(r=(n=D(e,2))[0],n[1]):(r=e.space,e.coordId),!(r=(r=wo.get(r))||t))throw new TypeError(\"Cannot resolve coordinate reference \".concat(e,\": No color space specified and relative references are not allowed here\"));if(\"number\"===(t=io(n))||\"string\"===t&&0<=n){e=Object.entries(r.coords)[n];if(e)return h({space:r,id:e[0],index:n},e[1])}r=wo.get(r);var a,o=n.toLowerCase(),i=0;for(a in r.coords){var l,u=r.coords[a];if(a.toLowerCase()===o||(null==(l=u.name)?void 0:l.toLowerCase())===o)return h({space:r,id:a,index:i},u);i++}throw new TypeError('No \"'.concat(n,'\" coordinate found in ').concat(r.name,\". Its coordinates are: \").concat(Object.keys(r.coords).join(\", \")))}}]);function Do(a){var o;return a.coords&&!a.coordGrammar&&(a.type||(a.type=\"function\"),a.name||(a.name=\"color\"),a.coordGrammar=mo(a.coords),o=Object.entries(this.coords).map(function(e,t){var e=D(e,2),e=(e[0],e[1]),t=a.coordGrammar[t][0],e=e.range||e.refRange,r=t.range,n=\"\";return\"<percentage>\"==t?(r=[0,100],n=\"%\"):\"<angle>\"==t&&(n=\"deg\"),{fromRange:e,toRange:r,suffix:n}}),a.serializeCoords=function(e,a){return e.map(function(e,t){var t=o[t],r=t.fromRange,n=t.toRange,t=t.suffix;return e=lo(e=r&&n?fo(r,n,e):e,a),t&&(e+=t),e})}),a}function xo(){for(var e=[this],t=this;t=t.base;)e.push(t);return e}var y=wo,Eo=(je(y,\"registry\",{}),je(y,\"DEFAULT_FORMAT\",{type:\"functions\",name:\"color\"}),new y({id:\"xyz-d65\",name:\"XYZ D65\",coords:{x:{name:\"X\"},y:{name:\"Y\"},z:{name:\"Z\"}},white:\"D65\",formats:{color:{ids:[\"xyz-d65\",\"xyz\"]}},aliases:[\"xyz\"]})),t=(le(Ao,y),we(Ao));function Ao(t){var r;return be(this,Ao),t.coords||(t.coords={r:{range:[0,1],name:\"Red\"},g:{range:[0,1],name:\"Green\"},b:{range:[0,1],name:\"Blue\"}}),t.base||(t.base=Eo),t.toXYZ_M&&t.fromXYZ_M&&(null==t.toBase&&(t.toBase=function(e){e=o(t.toXYZ_M,e);return e=r.white!==r.base.white?yo(r.white,r.base.white,e):e}),null==t.fromBase)&&(t.fromBase=function(e){return e=yo(r.base.white,r.white,e),o(t.fromXYZ_M,e)}),null==t.referred&&(t.referred=\"display\"),r=ae(this,Ao,[t])}function Fo(e){var n={str:null==(s=String(e))?void 0:s.trim()};if(ho.run(\"parse-start\",n),n.color)return n.color;if(n.parsed=uo(n.str),n.parsed){var u=n.parsed.name;if(\"color\"===u){var a,o=n.parsed.args.shift(),i=0<n.parsed.rawArgs.indexOf(\"/\")?n.parsed.args.pop():1,t=x(y.all);try{var r;for(t.s();!(a=t.n()).done;)if(r=(()=>{var r,e=a.value,t=e.getFormat(\"color\");if(t&&(o===t.id||null!=(t=t.ids)&&t.includes(o)))return t=Object.keys(e.coords).length,(r=Array(t).fill(0)).forEach(function(e,t){return r[t]=n.parsed.args[t]||0}),{v:{spaceId:e.id,coords:r,alpha:i}}})())return r.v}catch(e){t.e(e)}finally{t.f()}var l,s=\"\";throw o in y.registry&&(l=null==(l=y.registry[o].formats)||null==(l=l.functions)||null==(l=l.color)?void 0:l.id)&&(s=\"Did you mean color(\".concat(l,\")?\")),new TypeError(\"Cannot parse color(\".concat(o,\"). \")+(s||\"Missing a plugin?\"))}var c,d=x(y.all);try{var p;for(d.s();!(c=d.n()).done;)if(p=(()=>{var e,i,t=c.value,l=t.getFormat(u);if(l&&\"function\"===l.type)return e=1,(l.lastAlpha||so(n.parsed.args).alpha)&&(e=n.parsed.args.pop()),i=n.parsed.args,l.coordGrammar&&Object.entries(t.coords).forEach(function(e,t){var e=D(e,2),r=e[0],e=e[1],n=l.coordGrammar[t],a=null==(o=i[t])?void 0:o.type;if(!(n=n.find(function(e){return e==a})))throw o=e.name||r,new TypeError(\"\".concat(a,\" not allowed for \").concat(o,\" in \").concat(u,\"()\"));var r=n.range,o=e.range||e.refRange;(r=\"<percentage>\"===a?r||[0,1]:r)&&o&&(i[t]=fo(r,o,i[t]))}),{v:{spaceId:t.id,coords:i,alpha:e}}})())return p.v}catch(e){d.e(e)}finally{d.f()}}else{var f,m=x(y.all);try{for(m.s();!(f=m.n()).done;){var h,g=f.value;for(h in g.formats){var v=g.formats[h];if(\"custom\"===v.type&&(!v.test||v.test(n.str))){var b=v.parse(n.str);if(b)return null==b.alpha&&(b.alpha=1),b}}}}catch(e){m.e(e)}finally{m.f()}}throw new TypeError(\"Could not parse \".concat(e,\" as a color. Missing a plugin?\"))}function b(e){var t;if(e)return(t=(e=oo(e)?Fo(e):e).space||e.spaceId)instanceof y||(e.space=y.get(t)),void 0===e.alpha&&(e.alpha=1),e;throw new TypeError(\"Empty color reference\")}function Co(e,t){return(t=y.get(t)).from(e)}function ko(e,t){var t=y.resolveCoord(t,e.space),r=t.space,t=t.index;return Co(e,r)[t]}function Ro(e,t,r){return t=y.get(t),e.coords=t.to(e.space,r),e}function No(e,t,r){if(e=b(e),2===arguments.length&&\"object\"===io(t)){var n,a=t;for(n in a)No(e,n,a[n])}else{\"function\"==typeof r&&(r=r(ko(e,t)));var t=y.resolveCoord(t,e.space),o=t.space,t=t.index,i=Co(e,o);i[t]=r,Ro(e,o,i)}return e}var He=new y({id:\"xyz-d50\",name:\"XYZ D50\",white:\"D50\",base:Eo,fromBase:function(e){return yo(Eo.white,\"D50\",e)},toBase:function(e){return yo(\"D50\",Eo.white,e)},formats:{color:{}}}),To=24389/27,Oo=vo.D50,So=new y({id:\"lab\",name:\"Lab\",coords:{l:{refRange:[0,100],name:\"L\"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:Oo,base:He,fromBase:function(e){e=e.map(function(e,t){return e/Oo[t]}).map(function(e){return 216/24389<e?Math.cbrt(e):(To*e+16)/116});return[116*e[1]-16,500*(e[0]-e[1]),200*(e[1]-e[2])]},toBase:function(e){var t=[];return t[1]=(e[0]+16)/116,t[0]=e[1]/500+t[1],t[2]=t[1]-e[2]/200,[24/116<t[0]?Math.pow(t[0],3):(116*t[0]-16)/To,8<e[0]?Math.pow((e[0]+16)/116,3):e[0]/To,24/116<t[2]?Math.pow(t[2],3):(116*t[2]-16)/To].map(function(e,t){return e*Oo[t]})},formats:{lab:{coords:[\"<number> | <percentage>\",\"<number>\",\"<number>\"]}}});function _o(e){return(e%360+360)%360}var Mo=new y({id:\"lch\",name:\"LCH\",coords:{l:{refRange:[0,100],name:\"Lightness\"},c:{refRange:[0,150],name:\"Chroma\"},h:{refRange:[0,360],type:\"angle\",name:\"Hue\"}},base:So,fromBase:function(e){var e=D(e,3),t=e[0],r=e[1],e=e[2],n=Math.abs(r)<.02&&Math.abs(e)<.02?NaN:180*Math.atan2(e,r)/Math.PI;return[t,Math.sqrt(Math.pow(r,2)+Math.pow(e,2)),_o(n)]},toBase:function(e){var e=D(e,3),t=e[0],r=e[1],e=e[2];return r<0&&(r=0),isNaN(e)&&(e=0),[t,r*Math.cos(e*Math.PI/180),r*Math.sin(e*Math.PI/180)]},formats:{lch:{coords:[\"<number> | <percentage>\",\"<number>\",\"<number> | <angle>\"]}}}),Po=Math.pow(25,7),Io=Math.PI,Bo=180/Io,jo=Io/180;function Lo(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},n=r.kL,n=void 0===n?1:n,a=r.kC,a=void 0===a?1:a,r=r.kH,r=void 0===r?1:r,e=D(So.from(e),3),o=e[0],i=e[1],e=e[2],l=Mo.from(So,[o,i,e])[1],t=D(So.from(t),3),u=t[0],s=t[1],t=t[2],c=Mo.from(So,[u,s,t])[1],l=((l=l<0?0:l)+(c=c<0?0:c))/2,c=Math.pow(l,7),l=.5*(1-Math.sqrt(c/(c+Po))),c=(1+l)*i,i=(1+l)*s,l=Math.sqrt(Math.pow(c,2)+Math.pow(e,2)),s=Math.sqrt(Math.pow(i,2)+Math.pow(t,2)),e=0==c&&0===e?0:Math.atan2(e,c),c=0==i&&0===t?0:Math.atan2(t,i),t=(e<0&&(e+=2*Io),c<0&&(c+=2*Io),u-o),i=s-l,d=(c*=Bo)-(e*=Bo),e=e+c,c=Math.abs(d),d=(l*s==0?p=0:c<=180?p=d:180<d?p=d-360:d<-180?p=360+d:console.log(\"the unthinkable has happened\"),2*Math.sqrt(s*l)*Math.sin(p*jo/2)),p=(o+u)/2,o=(l+s)/2,u=Math.pow(o,7),l=l*s==0?e:c<=180?e/2:e<360?(e+360)/2:(e-360)/2,s=Math.pow(p-50,2),c=1+.015*s/Math.sqrt(20+s),e=1+.045*o,p=1,s=1+.015*o*((p-=.17*Math.cos((l-30)*jo))+.24*Math.cos(2*l*jo)+.32*Math.cos((3*l+6)*jo)-.2*Math.cos((4*l-63)*jo)),o=30*Math.exp(-1*Math.pow((l-275)/25,2)),p=2*Math.sqrt(u/(u+Po)),l=-1*Math.sin(2*o*jo)*p,u=Math.pow(t/(n*c),2),u=(u+=Math.pow(i/(a*e),2))+Math.pow(d/(r*s),2)+i/(a*e)*l*(d/(r*s));return Math.sqrt(u)}var qo=75e-6;function zo(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:e.space,r=(2<arguments.length&&void 0!==arguments[2]?arguments[2]:{}).epsilon,r=void 0===r?qo:r,n=(e=b(e),t=y.get(t),e.coords);return t!==e.space&&(n=t.from(e)),t.inGamut(n,{epsilon:r})}function Vo(e){return{space:e.space,coords:e.coords.slice(),alpha:e.alpha}}function Go(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},r=t.method,r=void 0===r?go.gamut_mapping:r,t=t.space,n=void 0===t?e.space:t;if(oo(arguments[1])&&(n=arguments[1]),!zo(e,n=y.get(n),{epsilon:0})){var a,t=$o(e,n);if(\"clip\"!==r&&!zo(e,n)){var o=Go(Vo(t),{method:\"clip\",space:n});if(2<Lo(e,o)){for(var i=y.resolveCoord(r),l=i.space,u=i.id,s=$o(t,l),c=(i.range||i.refRange)[0],d=ko(s,u);.01<d-c;)Lo(s,Go(Vo(s),{space:n,method:\"clip\"}))-2<.01?c=ko(s,u):d=ko(s,u),No(s,u,(c+d)/2);t=$o(s,n)}else t=o}\"clip\"!==r&&zo(t,n,{epsilon:0})||(a=Object.values(n.coords).map(function(e){return e.range||[]}),t.coords=t.coords.map(function(e,t){var t=D(a[t],2),r=t[0],t=t[1];return void 0!==r&&(e=Math.max(r,e)),e=void 0!==t?Math.min(e,t):e})),n!==e.space&&(t=$o(t,e.space)),e.coords=t.coords}return e}function $o(e,t){var r=(2<arguments.length&&void 0!==arguments[2]?arguments[2]:{}).inGamut,n=(e=b(e),(t=y.get(t)).from(e)),t={space:t,coords:n,alpha:e.alpha};return t=r?Go(t):t}function Ho(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},r=t.precision,n=void 0===r?go.precision:r,r=t.format,r=void 0===r?\"default\":r,a=t.inGamut,a=void 0===a||a,t=v(t,P),o=r,r=null!=(i=null!=(i=(e=b(e)).space.getFormat(r))?i:e.space.getFormat(\"default\"))?i:y.DEFAULT_FORMAT,a=a||r.toGamut,i=(i=e.coords).map(function(e){return e||0});if(a&&!zo(e)&&(i=Go(Vo(e),!0===a?void 0:a).coords),\"custom\"===r.type){if(t.precision=n,!r.serialize)throw new TypeError(\"format \".concat(o,\" can only be used to parse colors, not for serialization\"));l=r.serialize(i,e.alpha,t)}else var a=r.name||\"color\",o=(r.serializeCoords?i=r.serializeCoords(i,n):null!==n&&(i=i.map(function(e){return lo(e,n)})),w(i)),t=(\"color\"===a&&(i=r.id||(null==(t=r.ids)?void 0:t[0])||e.space.id,o.unshift(i)),e.alpha),i=(null!==n&&(t=lo(t,n)),e.alpha<1&&!r.noAlpha?\"\".concat(r.commas?\",\":\" /\",\" \").concat(t):\"\"),l=\"\".concat(a,\"(\").concat(o.join(r.commas?\", \":\" \")).concat(i,\")\");return l}$o.returns=Go.returns=\"color\";var Ue=new t({id:\"rec2020-linear\",name:\"Linear REC.2020\",white:\"D65\",toXYZ_M:[[.6369580483012914,.14461690358620832,.1688809751641721],[.2627002120112671,.6779980715188708,.05930171646986196],[0,.028072693049087428,1.060985057710791]],fromXYZ_M:[[1.716651187971268,-.355670783776392,-.25336628137366],[-.666684351832489,1.616481236634939,.0157685458139111],[.017639857445311,-.042770613257809,.942103121235474]],formats:{color:{}}}),Uo=1.09929682680944,Wo=.018053968510807,sr=new t({id:\"rec2020\",name:\"REC.2020\",base:Ue,toBase:function(e){return e.map(function(e){return e<4.5*Wo?e/4.5:Math.pow((e+Uo-1)/Uo,1/.45)})},fromBase:function(e){return e.map(function(e){return Wo<=e?Uo*Math.pow(e,.45)-(Uo-1):4.5*e})},formats:{color:{}}}),Jr=new t({id:\"p3-linear\",name:\"Linear P3\",white:\"D65\",toXYZ_M:[[.4865709486482162,.26566769316909306,.1982172852343625],[.2289745640697488,.6917385218365064,.079286914093745],[0,.04511338185890264,1.043944368900976]],fromXYZ_M:[[2.493496911941425,-.9313836179191239,-.40271078445071684],[-.8294889695615747,1.7626640603183463,.023624685841943577],[.03584583024378447,-.07617238926804182,.9568845240076872]]}),Qr=new t({id:\"srgb-linear\",name:\"Linear sRGB\",white:\"D65\",toXYZ_M:[[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],fromXYZ_M:[[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],formats:{color:{}}}),Yo={aliceblue:[240/255,248/255,1],antiquewhite:[250/255,235/255,215/255],aqua:[0,1,1],aquamarine:[127/255,1,212/255],azure:[240/255,1,1],beige:[245/255,245/255,220/255],bisque:[1,228/255,196/255],black:[0,0,0],blanchedalmond:[1,235/255,205/255],blue:[0,0,1],blueviolet:[138/255,43/255,226/255],brown:[165/255,42/255,42/255],burlywood:[222/255,184/255,135/255],cadetblue:[95/255,158/255,160/255],chartreuse:[127/255,1,0],chocolate:[210/255,105/255,30/255],coral:[1,127/255,80/255],cornflowerblue:[100/255,149/255,237/255],cornsilk:[1,248/255,220/255],crimson:[220/255,20/255,60/255],cyan:[0,1,1],darkblue:[0,0,139/255],darkcyan:[0,139/255,139/255],darkgoldenrod:[184/255,134/255,11/255],darkgray:[169/255,169/255,169/255],darkgreen:[0,100/255,0],darkgrey:[169/255,169/255,169/255],darkkhaki:[189/255,183/255,107/255],darkmagenta:[139/255,0,139/255],darkolivegreen:[85/255,107/255,47/255],darkorange:[1,140/255,0],darkorchid:[.6,50/255,.8],darkred:[139/255,0,0],darksalmon:[233/255,150/255,122/255],darkseagreen:[143/255,188/255,143/255],darkslateblue:[72/255,61/255,139/255],darkslategray:[47/255,79/255,79/255],darkslategrey:[47/255,79/255,79/255],darkturquoise:[0,206/255,209/255],darkviolet:[148/255,0,211/255],deeppink:[1,20/255,147/255],deepskyblue:[0,191/255,1],dimgray:[105/255,105/255,105/255],dimgrey:[105/255,105/255,105/255],dodgerblue:[30/255,144/255,1],firebrick:[178/255,34/255,34/255],floralwhite:[1,250/255,240/255],forestgreen:[34/255,139/255,34/255],fuchsia:[1,0,1],gainsboro:[220/255,220/255,220/255],ghostwhite:[248/255,248/255,1],gold:[1,215/255,0],goldenrod:[218/255,165/255,32/255],gray:[128/255,128/255,128/255],green:[0,128/255,0],greenyellow:[173/255,1,47/255],grey:[128/255,128/255,128/255],honeydew:[240/255,1,240/255],hotpink:[1,105/255,180/255],indianred:[205/255,92/255,92/255],indigo:[75/255,0,130/255],ivory:[1,1,240/255],khaki:[240/255,230/255,140/255],lavender:[230/255,230/255,250/255],lavenderblush:[1,240/255,245/255],lawngreen:[124/255,252/255,0],lemonchiffon:[1,250/255,205/255],lightblue:[173/255,216/255,230/255],lightcoral:[240/255,128/255,128/255],lightcyan:[224/255,1,1],lightgoldenrodyellow:[250/255,250/255,210/255],lightgray:[211/255,211/255,211/255],lightgreen:[144/255,238/255,144/255],lightgrey:[211/255,211/255,211/255],lightpink:[1,182/255,193/255],lightsalmon:[1,160/255,122/255],lightseagreen:[32/255,178/255,170/255],lightskyblue:[135/255,206/255,250/255],lightslategray:[119/255,136/255,.6],lightslategrey:[119/255,136/255,.6],lightsteelblue:[176/255,196/255,222/255],lightyellow:[1,1,224/255],lime:[0,1,0],limegreen:[50/255,205/255,50/255],linen:[250/255,240/255,230/255],magenta:[1,0,1],maroon:[128/255,0,0],mediumaquamarine:[.4,205/255,170/255],mediumblue:[0,0,205/255],mediumorchid:[186/255,85/255,211/255],mediumpurple:[147/255,112/255,219/255],mediumseagreen:[60/255,179/255,113/255],mediumslateblue:[123/255,104/255,238/255],mediumspringgreen:[0,250/255,154/255],mediumturquoise:[72/255,209/255,.8],mediumvioletred:[199/255,21/255,133/255],midnightblue:[25/255,25/255,112/255],mintcream:[245/255,1,250/255],mistyrose:[1,228/255,225/255],moccasin:[1,228/255,181/255],navajowhite:[1,222/255,173/255],navy:[0,0,128/255],oldlace:[253/255,245/255,230/255],olive:[128/255,128/255,0],olivedrab:[107/255,142/255,35/255],orange:[1,165/255,0],orangered:[1,69/255,0],orchid:[218/255,112/255,214/255],palegoldenrod:[238/255,232/255,170/255],palegreen:[152/255,251/255,152/255],paleturquoise:[175/255,238/255,238/255],palevioletred:[219/255,112/255,147/255],papayawhip:[1,239/255,213/255],peachpuff:[1,218/255,185/255],peru:[205/255,133/255,63/255],pink:[1,192/255,203/255],plum:[221/255,160/255,221/255],powderblue:[176/255,224/255,230/255],purple:[128/255,0,128/255],rebeccapurple:[.4,.2,.6],red:[1,0,0],rosybrown:[188/255,143/255,143/255],royalblue:[65/255,105/255,225/255],saddlebrown:[139/255,69/255,19/255],salmon:[250/255,128/255,114/255],sandybrown:[244/255,164/255,96/255],seagreen:[46/255,139/255,87/255],seashell:[1,245/255,238/255],sienna:[160/255,82/255,45/255],silver:[192/255,192/255,192/255],skyblue:[135/255,206/255,235/255],slateblue:[106/255,90/255,205/255],slategray:[112/255,128/255,144/255],slategrey:[112/255,128/255,144/255],snow:[1,250/255,250/255],springgreen:[0,1,127/255],steelblue:[70/255,130/255,180/255],tan:[210/255,180/255,140/255],teal:[0,128/255,128/255],thistle:[216/255,191/255,216/255],tomato:[1,99/255,71/255],turquoise:[64/255,224/255,208/255],violet:[238/255,130/255,238/255],wheat:[245/255,222/255,179/255],white:[1,1,1],whitesmoke:[245/255,245/255,245/255],yellow:[1,1,0],yellowgreen:[154/255,205/255,50/255]},Ta=Array(3).fill(\"<percentage> | <number>[0, 255]\"),Ko=Array(3).fill(\"<number>[0, 255]\"),Ta=new t({id:\"srgb\",name:\"sRGB\",base:Qr,fromBase:function(e){return e.map(function(e){var t=e<0?-1:1,r=e*t;return.0031308<r?t*(1.055*Math.pow(r,1/2.4)-.055):12.92*e})},toBase:function(e){return e.map(function(e){var t=e<0?-1:1,r=e*t;return r<.04045?e/12.92:t*Math.pow((.055+r)/1.055,2.4)})},formats:{rgb:{coords:Ta},rgb_number:{name:\"rgb\",commas:!0,coords:Ko,noAlpha:!0},color:{},rgba:{coords:Ta,commas:!0,lastAlpha:!0},rgba_number:{name:\"rgba\",commas:!0,coords:Ko},hex:{type:\"custom\",toGamut:!0,test:function(e){return/^#([a-f0-9]{3,4}){1,2}$/i.test(e)},parse:function(e){e.length<=5&&(e=e.replace(/[a-f0-9]/gi,\"$&$&\"));var t=[];return e.replace(/[a-f0-9]{2}/gi,function(e){t.push(parseInt(e,16)/255)}),{spaceId:\"srgb\",coords:t.slice(0,3),alpha:t.slice(3)[0]}},serialize:function(e,t){var r=(2<arguments.length&&void 0!==arguments[2]?arguments[2]:{}).collapse,r=void 0===r||r,n=(t<1&&e.push(t),e=e.map(function(e){return Math.round(255*e)}),r&&e.every(function(e){return e%17==0}));return\"#\"+e.map(function(e){return n?(e/17).toString(16):e.toString(16).padStart(2,\"0\")}).join(\"\")}},keyword:{type:\"custom\",test:function(e){return/^[a-z]+$/i.test(e)},parse:function(e){var t={spaceId:\"srgb\",coords:null,alpha:1};if(\"transparent\"===(e=e.toLowerCase())?(t.coords=Yo.black,t.alpha=0):t.coords=Yo[e],t.coords)return t}}}}),Ko=new t({id:\"p3\",name:\"P3\",base:Jr,fromBase:Ta.fromBase,toBase:Ta.toBase,formats:{color:{id:\"display-p3\"}}});if(go.display_space=Ta,\"undefined\"!=typeof CSS&&null!=(Ce=CSS)&&Ce.supports)for(var Xo=0,Zo=[So,sr,Ko];Xo<Zo.length;Xo++){var Jo=Zo[Xo],Qo=Jo.getMinCoords(),Qo=Ho({space:Jo,coords:Qo,alpha:1});if(CSS.supports(\"color\",Qo)){go.display_space=Jo;break}}function ei(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:\"lab\",e=(r=y.get(r)).from(e),n=r.from(t);return Math.sqrt(e.reduce(function(e,t,r){r=n[r];return isNaN(t)||isNaN(r)?e:e+Math.pow(r-t,2)},0))}function ti(e){return ko(e,[Eo,\"y\"])}function ri(e,t){No(e,[Eo,\"y\"],t)}Ce=Object.freeze({__proto__:null,getLuminance:ti,setLuminance:ri,register:function(e){Object.defineProperty(e.prototype,\"luminance\",{get:function(){return ti(this)},set:function(e){ri(this,e)}})}});var ni=.022,ai=1.414;function oi(e){return ni<=e?e:e+Math.pow(ni-e,ai)}function ii(e){var t=e<0?-1:1,e=Math.abs(e);return t*Math.pow(e,2.4)}var li=24389/27,ui=vo.D65,si=new y({id:\"lab-d65\",name:\"Lab D65\",coords:{l:{refRange:[0,100],name:\"L\"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:ui,base:Eo,fromBase:function(e){e=e.map(function(e,t){return e/ui[t]}).map(function(e){return 216/24389<e?Math.cbrt(e):(li*e+16)/116});return[116*e[1]-16,500*(e[0]-e[1]),200*(e[1]-e[2])]},toBase:function(e){var t=[];return t[1]=(e[0]+16)/116,t[0]=e[1]/500+t[1],t[2]=t[1]-e[2]/200,[24/116<t[0]?Math.pow(t[0],3):(116*t[0]-16)/li,8<e[0]?Math.pow((e[0]+16)/116,3):e[0]/li,24/116<t[2]?Math.pow(t[2],3):(116*t[2]-16)/li].map(function(e,t){return e*ui[t]})},formats:{\"lab-d65\":{coords:[\"<number> | <percentage>\",\"<number>\",\"<number>\"]}}}),ci=.5*Math.pow(5,.5)+.5,di=Object.freeze({__proto__:null,contrastWCAG21:function(e,t){e=b(e),t=b(t);var r,e=Math.max(ti(e),0),t=Math.max(ti(t),0);return e<t&&(e=(r=[t,e])[0],t=r[1]),(e+.05)/(t+.05)},contrastAPCA:function(e,t){t=b(t),e=b(e);var r=(t=D((t=$o(t,\"srgb\")).coords,3))[0],n=t[1],t=t[2],a=.2126729*ii(r)+.7151522*ii(n)+.072175*ii(t),e=D((e=$o(e,\"srgb\")).coords,3),e=(r=e[0],n=e[1],t=e[2],.2126729*ii(r)+.7151522*ii(n)+.072175*ii(t)),r=oi(a),n=oi(e),t=r<n,a=Math.abs(n-r)<5e-4?0:t?1.14*(Math.pow(n,.56)-Math.pow(r,.57)):1.14*(Math.pow(n,.65)-Math.pow(r,.62));return 100*(e=Math.abs(a)<.1?0:0<a?a-.027:a+.027)},contrastMichelson:function(e,t){e=b(e),t=b(t);var e=Math.max(ti(e),0),t=Math.max(ti(t),0),r=(e<t&&(e=(r=[t,e])[0],t=r[1]),e+t);return 0===r?0:(e-t)/r},contrastWeber:function(e,t){e=b(e),t=b(t);var r,e=Math.max(ti(e),0),t=Math.max(ti(t),0);return e<t&&(e=(r=[t,e])[0],t=r[1]),0===t?5e4:(e-t)/t},contrastLstar:function(e,t){return e=b(e),t=b(t),e=ko(e,[So,\"l\"]),t=ko(t,[So,\"l\"]),Math.abs(e-t)},contrastDeltaPhi:function(e,t){return e=b(e),t=b(t),e=ko(e,[si,\"l\"]),t=ko(t,[si,\"l\"]),e=Math.abs(Math.pow(e,ci)-Math.pow(t,ci)),(t=Math.pow(e,1/ci)*Math.SQRT2-40)<7.5?0:t}});function pi(e){var e=D(Co(e,Eo),3),t=e[0],r=e[1],e=t+15*r+3*e[2];return[4*t/e,9*r/e]}function fi(e){var e=D(Co(e,Eo),3),t=e[0],r=e[1],e=t+r+e[2];return[t/e,r/e]}var mi=Object.freeze({__proto__:null,uv:pi,xy:fi,register:function(e){Object.defineProperty(e.prototype,\"uv\",{get:function(){return pi(this)}}),Object.defineProperty(e.prototype,\"xy\",{get:function(){return fi(this)}})}}),hi=Math.PI/180,gi=new y({id:\"xyz-abs-d65\",name:\"Absolute XYZ D65\",coords:{x:{refRange:[0,9504.7],name:\"Xa\"},y:{refRange:[0,1e4],name:\"Ya\"},z:{refRange:[0,10888.3],name:\"Za\"}},base:Eo,fromBase:function(e){return e.map(function(e){return Math.max(203*e,0)})},toBase:function(e){return e.map(function(e){return Math.max(e/203,0)})}}),vi=2610/Math.pow(2,14),bi=Math.pow(2,14)/2610,yi=3424/Math.pow(2,12),wi=2413/Math.pow(2,7),Di=2392/Math.pow(2,7),xi=1.7*2523/Math.pow(2,5),Ei=Math.pow(2,5)/(1.7*2523),Ai=16295499532821565e-27,Fi=[[.41478972,.579999,.014648],[-.20151,1.120649,.0531008],[-.0166008,.2648,.6684799]],Ci=[[1.9242264357876067,-1.0047923125953657,.037651404030618],[.35031676209499907,.7264811939316552,-.06538442294808501],[-.09098281098284752,-.3127282905230739,1.5227665613052603]],ki=[[.5,.5,0],[3.524,-4.066708,.542708],[.199076,1.096799,-1.295875]],Ri=[[1,.1386050432715393,.05804731615611886],[.9999999999999999,-.1386050432715393,-.05804731615611886],[.9999999999999998,-.09601924202631895,-.8118918960560388]],Ni=new y({id:\"jzazbz\",name:\"Jzazbz\",coords:{jz:{refRange:[0,1],name:\"Jz\"},az:{refRange:[-.5,.5]},bz:{refRange:[-.5,.5]}},base:gi,fromBase:function(e){var e=D(e,3),t=e[0],r=e[2],e=o(Fi,[1.15*t-(1.15-1)*r,.66*e[1]-(.66-1)*t,r]).map(function(e){var t=yi+wi*Math.pow(e/1e4,vi),e=1+Di*Math.pow(e/1e4,vi);return Math.pow(t/e,xi)}),t=D(o(ki,e),3),r=t[0];return[(1-.56)*r/(1+-.56*r)-Ai,t[1],t[2]]},toBase:function(e){var e=D(e,3),t=e[0],t=o(Ri,[(t+Ai)/(1-.56- -.56*(t+Ai)),e[1],e[2]]).map(function(e){var t=yi-Math.pow(e,Ei),e=Di*Math.pow(e,Ei)-wi;return 1e4*Math.pow(t/e,bi)}),e=D(o(Ci,t),3),t=e[0],r=e[2],t=(t+(1.15-1)*r)/1.15;return[t,(e[1]+(.66-1)*t)/.66,r]},formats:{color:{}}}),Ti=new y({id:\"jzczhz\",name:\"JzCzHz\",coords:{jz:{refRange:[0,1],name:\"Jz\"},cz:{refRange:[0,1],name:\"Chroma\"},hz:{refRange:[0,360],type:\"angle\",name:\"Hue\"}},base:Ni,fromBase:function(e){var e=D(e,3),t=e[0],r=e[1],e=e[2],n=Math.abs(r)<2e-4&&Math.abs(e)<2e-4?NaN:180*Math.atan2(e,r)/Math.PI;return[t,Math.sqrt(Math.pow(r,2)+Math.pow(e,2)),_o(n)]},toBase:function(e){return[e[0],e[1]*Math.cos(e[2]*Math.PI/180),e[1]*Math.sin(e[2]*Math.PI/180)]},formats:{color:{}}}),Oi=2610/16384,Si=[[.3592,.6976,-.0358],[-.1922,1.1004,.0755],[.007,.0749,.8434]],_i=[[.5,.5,0],[6610/4096,-13613/4096,7003/4096],[17933/4096,-17390/4096,-543/4096]],Mi=[[.9999888965628402,.008605050147287059,.11103437159861648],[1.00001110343716,-.008605050147287059,-.11103437159861648],[1.0000320633910054,.56004913547279,-.3206339100541203]],Pi=[[2.0701800566956137,-1.326456876103021,.20661600684785517],[.3649882500326575,.6804673628522352,-.04542175307585323],[-.04959554223893211,-.04942116118675749,1.1879959417328034]],Ii=new y({id:\"ictcp\",name:\"ICTCP\",coords:{i:{refRange:[0,1],name:\"I\"},ct:{refRange:[-.5,.5],name:\"CT\"},cp:{refRange:[-.5,.5],name:\"CP\"}},base:gi,fromBase:function(e){var e=o(Si,e),t=e;return t=e.map(function(e){var t=.8359375+2413/128*Math.pow(e/1e4,Oi),e=1+18.6875*Math.pow(e/1e4,Oi);return Math.pow(t/e,2523/32)}),o(_i,t)},toBase:function(e){e=o(Mi,e).map(function(e){var t=Math.max(Math.pow(e,32/2523)-.8359375,0),e=2413/128-18.6875*Math.pow(e,32/2523);return 1e4*Math.pow(t/e,16384/2610)});return o(Pi,e)},formats:{color:{}}}),Bi=[[.8190224432164319,.3619062562801221,-.12887378261216414],[.0329836671980271,.9292868468965546,.03614466816999844],[.048177199566046255,.26423952494422764,.6335478258136937]],ji=[[1.2268798733741557,-.5578149965554813,.28139105017721583],[-.04057576262431372,1.1122868293970594,-.07171106666151701],[-.07637294974672142,-.4214933239627914,1.5869240244272418]],Li=[[.2104542553,.793617785,-.0040720468],[1.9779984951,-2.428592205,.4505937099],[.0259040371,.7827717662,-.808675766]],qi=[[.9999999984505198,.39633779217376786,.2158037580607588],[1.0000000088817609,-.10556134232365635,-.06385417477170591],[1.0000000546724108,-.08948418209496575,-1.2914855378640917]],zi=new y({id:\"oklab\",name:\"OKLab\",coords:{l:{refRange:[0,1],name:\"L\"},a:{refRange:[-.4,.4]},b:{refRange:[-.4,.4]}},white:\"D65\",base:Eo,fromBase:function(e){e=o(Bi,e).map(function(e){return Math.cbrt(e)});return o(Li,e)},toBase:function(e){e=o(qi,e).map(function(e){return Math.pow(e,3)});return o(ji,e)},formats:{oklab:{coords:[\"<number> | <percentage>\",\"<number>\",\"<number>\"]}}}),Vi=Object.freeze({__proto__:null,deltaE76:function(e,t){return ei(e,t,\"lab\")},deltaECMC:function(e,t){var r=void 0===(r=(n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{}).l)?2:r,n=void 0===(n=n.c)?1:n,e=D(So.from(e),3),a=e[0],o=e[1],e=e[2],i=(l=D(Mo.from(So,[a,o,e]),3))[1],l=l[2],t=D(So.from(t),3),u=t[0],s=t[1],t=t[2],c=Mo.from(So,[u,s,t])[1],u=a-u,c=(i=i<0?0:i)-(c=c<0?0:c),e=e-t,t=Math.pow(o-s,2)+Math.pow(e,2)-Math.pow(c,2),o=.511,s=(16<=a&&(o=.040975*a/(1+.01765*a)),.0638*i/(1+.0131*i)+.638),a=(e=164<=(l=Number.isNaN(l)?0:l)&&l<=345?.56+Math.abs(.2*Math.cos((l+168)*hi)):.36+Math.abs(.4*Math.cos((l+35)*hi)),Math.pow(i,4)),l=Math.sqrt(a/(a+1900)),i=s*(l*e+1-l),a=Math.pow(u/(r*o),2),a=(a+=Math.pow(c/(n*s),2))+t/Math.pow(i,2);return Math.sqrt(a)},deltaE2000:Lo,deltaEJz:function(e,t){var r=(e=D(Ti.from(e),3))[0],n=e[1],e=e[2],a=(t=D(Ti.from(t),3))[0],o=t[1],t=t[2],r=r-a,a=n-o,e=(Number.isNaN(e)&&Number.isNaN(t)?t=e=0:Number.isNaN(e)?e=t:Number.isNaN(t)&&(t=e),e-t),t=2*Math.sqrt(n*o)*Math.sin(e/2*(Math.PI/180));return Math.sqrt(Math.pow(r,2)+Math.pow(a,2)+Math.pow(t,2))},deltaEITP:function(e,t){var r=(e=D(Ii.from(e),3))[0],n=e[1],e=e[2],a=(t=D(Ii.from(t),3))[0],o=t[1],t=t[2];return 720*Math.sqrt(Math.pow(r-a,2)+.25*Math.pow(n-o,2)+Math.pow(e-t,2))},deltaEOK:function(e,t){var r=(e=D(zi.from(e),3))[0],n=e[1],e=e[2],a=(t=D(zi.from(t),3))[0],n=n-t[1],e=e-t[2];return Math.sqrt(Math.pow(r-a,2)+Math.pow(n,2)+Math.pow(e,2))}});function Gi(e,t){var r,n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},n=n=oo(n)?{method:n}:n,a=n.method,o=void 0===a?go.deltaE:a,i=v(n,I);for(r in e=b(e),t=b(t),Vi)if(\"deltae\"+o.toLowerCase()===r.toLowerCase())return Vi[r](e,t,i);throw new TypeError(\"Unknown deltaE method: \".concat(o))}var $i=Object.freeze({__proto__:null,lighten:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:.25;return No(e,[y.get(\"oklch\",\"lch\"),\"l\"],function(e){return e*(1+t)})},darken:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:.25;return No(e,[y.get(\"oklch\",\"lch\"),\"l\"],function(e){return e*(1-t)})}});function Hi(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:.5,n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:{},a=[b(e),b(t)],a=(e=a[0],t=a[1],\"object\"===io(r)&&(r=(a=[.5,r])[0],n=a[1]),n);return Wi(e,t,{space:a.space,outputSpace:a.outputSpace,premultiplied:a.premultiplied})(r)}function Ui(e,t){var r,n,a=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},o=(Yi(e)&&(a=t,e=(o=D((r=e).rangeArgs.colors,2))[0],t=o[1]),a),i=o.maxDeltaE,l=o.deltaEMethod,a=o.steps,a=void 0===a?2:a,u=o.maxSteps,s=void 0===u?1e3:u,u=v(o,B),o=(r||(o=[b(e),b(t)],r=Wi(e=o[0],t=o[1],u)),Gi(e,t)),u=0<i?Math.max(a,Math.ceil(o/i)+1):a,c=[];if(void 0!==s&&(u=Math.min(u,s)),c=1===u?[{p:.5,color:r(.5)}]:(n=1/(u-1),Array.from({length:u},function(e,t){t*=n;return{p:t,color:r(t)}})),0<i)for(var d=c.reduce(function(e,t,r){return 0===r?0:(t=Gi(t.color,c[r-1].color,l),Math.max(e,t))},0);i<d;){d=0;for(var p=1;p<c.length&&c.length<s;p++){var f=c[p-1],m=c[p],h=(m.p+f.p)/2,g=r(h),d=Math.max(d,Gi(g,f.color),Gi(g,m.color));c.splice(p,0,{p:h,color:r(h)}),p++}}return c=c.map(function(e){return e.color})}function Wi(n,a){var o,i,e,t,r,l,u,s,c,d,p,f,m=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};return Yi(n)?(e=n,t=a,Wi.apply(void 0,w(e.rangeArgs.colors).concat([h({},e.rangeArgs.options,t)]))):(p=m.space,f=m.outputSpace,o=m.progression,i=m.premultiplied,n=b(n),a=b(a),n=Vo(n),a=Vo(a),e={colors:[n,a],options:m},p=p?y.get(p):y.registry[go.interpolationSpace]||n.space,f=f?y.get(f):p,n=$o(n,p),a=$o(a,p),n=Go(n),a=Go(a),p.coords.h&&\"angle\"===p.coords.h.type&&(t=m.hue=m.hue||\"shorter\",l=[ko(n,m=[p,\"h\"]),ko(a,m)],s=[r=l[0],l=l[1]],u=\"raw\"===(u=t)?s:(c=(s=D(s.map(_o),2))[0],d=(s=s[1])-c,\"increasing\"===u?d<0&&(s+=360):\"decreasing\"===u?0<d&&(c+=360):\"longer\"===u?-180<d&&d<180&&(0<d?s+=360:c+=360):\"shorter\"===u&&(180<d?c+=360:d<-180&&(s+=360)),[c,s]),r=(d=D(u,2))[0],l=d[1],No(n,m,r),No(a,m,l)),i&&(n.coords=n.coords.map(function(e){return e*n.alpha}),a.coords=a.coords.map(function(e){return e*a.alpha})),Object.assign(function(r){r=o?o(r):r;var e=n.coords.map(function(e,t){return co(e,a.coords[t],r)}),t=co(n.alpha,a.alpha,r),e={space:p,coords:e,alpha:t};return i&&(e.coords=e.coords.map(function(e){return e/t})),e=f!==p?$o(e,f):e},{rangeArgs:e}))}function Yi(e){return\"function\"===io(e)&&!!e.rangeArgs}go.interpolationSpace=\"lab\";var Ki=Object.freeze({__proto__:null,mix:Hi,steps:Ui,range:Wi,isRange:Yi,register:function(e){e.defineFunction(\"mix\",Hi,{returns:\"color\"}),e.defineFunction(\"range\",Wi,{returns:\"function<color>\"}),e.defineFunction(\"steps\",Ui,{returns:\"array<color>\"})}}),Xi=new y({id:\"hsl\",name:\"HSL\",coords:{h:{refRange:[0,360],type:\"angle\",name:\"Hue\"},s:{range:[0,100],name:\"Saturation\"},l:{range:[0,100],name:\"Lightness\"}},base:Ta,fromBase:function(e){var t=Math.max.apply(Math,w(e)),r=Math.min.apply(Math,w(e)),e=D(e,3),n=e[0],a=e[1],o=e[2],i=NaN,e=0,l=(r+t)/2,u=t-r;if(0!=u){switch(e=0==l||1==l?0:(t-l)/Math.min(l,1-l),t){case n:i=(a-o)/u+(a<o?6:0);break;case a:i=(o-n)/u+2;break;case o:i=(n-a)/u+4}i*=60}return[i,100*e,100*l]},toBase:function(e){var e=D(e,3),r=e[0],n=e[1],a=e[2];function t(e){var e=(e+r/30)%12,t=n*Math.min(a,1-a);return a-t*Math.max(-1,Math.min(e-3,9-e,1))}return(r%=360)<0&&(r+=360),n/=100,a/=100,[t(0),t(8),t(4)]},formats:{hsl:{toGamut:!0,coords:[\"<number> | <angle>\",\"<percentage>\",\"<percentage>\"]},hsla:{coords:[\"<number> | <angle>\",\"<percentage>\",\"<percentage>\"],commas:!0,lastAlpha:!0}}}),Zi=new y({id:\"hsv\",name:\"HSV\",coords:{h:{refRange:[0,360],type:\"angle\",name:\"Hue\"},s:{range:[0,100],name:\"Saturation\"},v:{range:[0,100],name:\"Value\"}},base:Xi,fromBase:function(e){var e=D(e,3),t=e[0],r=e[1],e=e[2],r=(e/=100)+(r/=100)*Math.min(e,1-e);return[t,0==r?0:200*(1-e/r),100*r]},toBase:function(e){var e=D(e,3),t=e[0],r=e[1],e=e[2],r=(e/=100)*(1-(r/=100)/2);return[t,0==r||1==r?0:(e-r)/Math.min(r,1-r)*100,100*r]},formats:{color:{toGamut:!0}}}),Ji=new y({id:\"hwb\",name:\"HWB\",coords:{h:{refRange:[0,360],type:\"angle\",name:\"Hue\"},w:{range:[0,100],name:\"Whiteness\"},b:{range:[0,100],name:\"Blackness\"}},base:Zi,fromBase:function(e){var e=D(e,3),t=e[0],r=e[2];return[t,r*(100-e[1])/100,100-r]},toBase:function(e){var e=D(e,3),t=e[0],r=e[1],e=e[2],n=(r/=100)+(e/=100);return 1<=n?[t,0,100*(r/n)]:[t,100*(0==(n=1-e)?0:1-r/n),100*n]},formats:{hwb:{toGamut:!0,coords:[\"<number> | <angle>\",\"<percentage>\",\"<percentage>\"]}}}),Qi=new t({id:\"a98rgb-linear\",name:\"Linear Adobe® 98 RGB compatible\",white:\"D65\",toXYZ_M:[[.5766690429101305,.1855582379065463,.1882286462349947],[.29734497525053605,.6273635662554661,.07529145849399788],[.02703136138641234,.07068885253582723,.9913375368376388]],fromXYZ_M:[[2.0415879038107465,-.5650069742788596,-.34473135077832956],[-.9692436362808795,1.8759675015077202,.04155505740717557],[.013444280632031142,-.11836239223101838,1.0151749943912054]]}),el=new t({id:\"a98rgb\",name:\"Adobe® 98 RGB compatible\",base:Qi,toBase:function(e){return e.map(function(e){return Math.pow(Math.abs(e),563/256)*Math.sign(e)})},fromBase:function(e){return e.map(function(e){return Math.pow(Math.abs(e),256/563)*Math.sign(e)})},formats:{color:{id:\"a98-rgb\"}}}),tl=new t({id:\"prophoto-linear\",name:\"Linear ProPhoto\",white:\"D50\",base:He,toXYZ_M:[[.7977604896723027,.13518583717574031,.0313493495815248],[.2880711282292934,.7118432178101014,8565396060525902e-20],[0,0,.8251046025104601]],fromXYZ_M:[[1.3457989731028281,-.25558010007997534,-.05110628506753401],[-.5446224939028347,1.5082327413132781,.02053603239147973],[0,0,1.2119675456389454]]}),rl=new t({id:\"prophoto\",name:\"ProPhoto\",base:tl,toBase:function(e){return e.map(function(e){return e<.03125?e/16:Math.pow(e,1.8)})},fromBase:function(e){return e.map(function(e){return 1/512<=e?Math.pow(e,1/1.8):16*e})},formats:{color:{id:\"prophoto-rgb\"}}}),nl=new y({id:\"oklch\",name:\"OKLCh\",coords:{l:{refRange:[0,1],name:\"Lightness\"},c:{refRange:[0,.4],name:\"Chroma\"},h:{refRange:[0,360],type:\"angle\",name:\"Hue\"}},white:\"D65\",base:zi,fromBase:function(e){var e=D(e,3),t=e[0],r=e[1],e=e[2],n=Math.abs(r)<2e-4&&Math.abs(e)<2e-4?NaN:180*Math.atan2(e,r)/Math.PI;return[t,Math.sqrt(Math.pow(r,2)+Math.pow(e,2)),_o(n)]},toBase:function(e){var t,e=D(e,3),r=e[0],n=e[1],e=e[2],n=isNaN(e)?t=0:(t=n*Math.cos(e*Math.PI/180),n*Math.sin(e*Math.PI/180));return[r,t,n]},formats:{oklch:{coords:[\"<number> | <percentage>\",\"<number>\",\"<number> | <angle>\"]}}}),al=2610/Math.pow(2,14),ol=Math.pow(2,14)/2610,il=2523/Math.pow(2,5),ll=Math.pow(2,5)/2523,ul=3424/Math.pow(2,12),sl=2413/Math.pow(2,7),cl=2392/Math.pow(2,7),dl=new t({id:\"rec2100pq\",name:\"REC.2100-PQ\",base:Ue,toBase:function(e){return e.map(function(e){return 1e4*Math.pow(Math.max(Math.pow(e,ll)-ul,0)/(sl-cl*Math.pow(e,ll)),ol)/203})},fromBase:function(e){return e.map(function(e){var e=Math.max(203*e/1e4,0),t=ul+sl*Math.pow(e,al),e=1+cl*Math.pow(e,al);return Math.pow(t/e,il)})},formats:{color:{id:\"rec2100-pq\"}}}),pl=.17883277,fl=.28466892,ml=.55991073,hl=3.7743,gl=new t({id:\"rec2100hlg\",cssid:\"rec2100-hlg\",name:\"REC.2100-HLG\",referred:\"scene\",base:Ue,toBase:function(e){return e.map(function(e){return e<=.5?Math.pow(e,2)/3*hl:Math.exp((e-ml)/pl+fl)/12*hl})},fromBase:function(e){return e.map(function(e){return(e/=hl)<=1/12?Math.sqrt(3*e):pl*Math.log(12*e-fl)+ml})},formats:{color:{id:\"rec2100-hlg\"}}}),vl={};function bl(e){var t=e.id;vl[t]=e}function yl(e,t,r){var r=vl[2<arguments.length&&void 0!==r?r:\"Bradford\"],e=D(o(r.toCone_M,e),3),n=e[0],a=e[1],e=e[2],t=D(o(r.toCone_M,t),3),n=o([[t[0]/n,0,0],[0,t[1]/a,0],[0,0,t[2]/e]],r.toCone_M);return o(r.fromCone_M,n)}ho.add(\"chromatic-adaptation-start\",function(e){e.options.method&&(e.M=yl(e.W1,e.W2,e.options.method))}),ho.add(\"chromatic-adaptation-end\",function(e){e.M||(e.M=yl(e.W1,e.W2,e.options.method))}),bl({id:\"von Kries\",toCone_M:[[.40024,.7076,-.08081],[-.2263,1.16532,.0457],[0,0,.91822]],fromCone_M:[[1.8599364,-1.1293816,.2198974],[.3611914,.6388125,-64e-7],[0,0,1.0890636]]}),bl({id:\"Bradford\",toCone_M:[[.8951,.2664,-.1614],[-.7502,1.7135,.0367],[.0389,-.0685,1.0296]],fromCone_M:[[.9869929,-.1470543,.1599627],[.4323053,.5183603,.0492912],[-.0085287,.0400428,.9684867]]}),bl({id:\"CAT02\",toCone_M:[[.7328,.4296,-.1624],[-.7036,1.6975,.0061],[.003,.0136,.9834]],fromCone_M:[[1.0961238,-.278869,.1827452],[.454369,.4735332,.0720978],[-.0096276,-.005698,1.0153256]]}),bl({id:\"CAT16\",toCone_M:[[.401288,.650173,-.051461],[-.250268,1.204414,.045854],[-.002079,.048952,.953127]],fromCone_M:[[1.862067855087233,-1.011254630531685,.1491867754444518],[.3875265432361372,.6214474419314753,-.008973985167612518],[-.01584149884933386,-.03412293802851557,1.04996443687785]]}),Object.assign(vo,{A:[1.0985,1,.35585],C:[.98074,1,1.18232],D55:[.95682,1,.92149],D75:[.94972,1,1.22638],E:[1,1,1],F2:[.99186,1,.67393],F7:[.95041,1,1.08747],F11:[1.00962,1,.6435]}),vo.ACES=[.32168/.33767,1,.34065/.33767];var wl=new t({id:\"acescg\",name:\"ACEScg\",coords:{r:{range:[0,65504],name:\"Red\"},g:{range:[0,65504],name:\"Green\"},b:{range:[0,65504],name:\"Blue\"}},referred:\"scene\",white:vo.ACES,toXYZ_M:[[.6624541811085053,.13400420645643313,.1561876870049078],[.27222871678091454,.6740817658111484,.05368951740793705],[-.005574649490394108,.004060733528982826,1.0103391003129971]],fromXYZ_M:[[1.6410233796943257,-.32480329418479,-.23642469523761225],[-.6636628587229829,1.6153315916573379,.016756347685530137],[.011721894328375376,-.008284441996237409,.9883948585390215]],formats:{color:{}}}),Dl=Math.pow(2,-16),xl=-.35828683,El=(Math.log2(65504)+9.72)/17.52,t=new t({id:\"acescc\",name:\"ACEScc\",coords:{r:{range:[xl,El],name:\"Red\"},g:{range:[xl,El],name:\"Green\"},b:{range:[xl,El],name:\"Blue\"}},referred:\"scene\",base:wl,toBase:function(e){return e.map(function(e){return e<=(9.72-15)/17.52?2*(Math.pow(2,17.52*e-9.72)-Dl):e<El?Math.pow(2,17.52*e-9.72):65504})},fromBase:function(e){return e.map(function(e){return e<=0?(Math.log2(Dl)+9.72)/17.52:e<Dl?(Math.log2(Dl+.5*e)+9.72)/17.52:(Math.log2(e)+9.72)/17.52})},formats:{color:{}}}),Al=Object.freeze({__proto__:null,XYZ_D65:Eo,XYZ_D50:He,XYZ_ABS_D65:gi,Lab_D65:si,Lab:So,LCH:Mo,sRGB_Linear:Qr,sRGB:Ta,HSL:Xi,HWB:Ji,HSV:Zi,P3_Linear:Jr,P3:Ko,A98RGB_Linear:Qi,A98RGB:el,ProPhoto_Linear:tl,ProPhoto:rl,REC_2020_Linear:Ue,REC_2020:sr,OKLab:zi,OKLCH:nl,Jzazbz:Ni,JzCzHz:Ti,ICTCP:Ii,REC_2100_PQ:dl,REC_2100_HLG:gl,ACEScg:wl,ACEScc:t}),u=(ke=new WeakMap,we(function e(){var r=this;be(this,e),ce(this,ke,void 0);for(var t,n,a,o=arguments.length,i=new Array(o),l=0;l<o;l++)i[l]=arguments[l];a=(a=1===i.length?b(i[0]):a)?(t=a.space||a.spaceId,n=a.coords,a.alpha):(t=i[0],n=i[1],i[2]),me(ke,this,y.get(t)),this.coords=n?n.slice():[0,0,0],this.alpha=a<1?a:1;for(var u=0;u<this.coords.length;u++)\"NaN\"===this.coords[u]&&(this.coords[u]=NaN);for(var s in fe(ke,this).coords)(t=>{Object.defineProperty(r,t,{get:function(){return r.get(t)},set:function(e){return r.set(t,e)}})})(s)},[{key:\"space\",get:function(){return fe(ke,this)}},{key:\"spaceId\",get:function(){return fe(ke,this).id}},{key:\"clone\",value:function(){return new u(this.space,this.coords,this.alpha)}},{key:\"toJSON\",value:function(){return{spaceId:this.spaceId,coords:this.coords,alpha:this.alpha}}},{key:\"display\",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=function(e){var t,r=void 0===(r=(n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{}).space)?go.display_space:r,n=v(n,i),a=Ho(e,n);return\"undefined\"==typeof CSS||null!=(t=CSS)&&t.supports(\"color\",a)||!go.display_space?(a=new String(a)).color=e:(t=$o(e,r),(a=new String(Ho(t,n))).color=t),a}.apply(void 0,[this].concat(t));return n.color=new u(n.color),n}}],[{key:\"get\",value:function(e){if(e instanceof u)return e;for(var t=arguments.length,r=new Array(1<t?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return ne(u,[e].concat(r))}},{key:\"defineFunction\",value:function(e,r){function n(){var t,e=r.apply(void 0,arguments);return\"color\"===o?e=u.get(e):\"function<color>\"===o?(t=e,e=function(){var e=t.apply(void 0,arguments);return u.get(e)},Object.assign(e,t)):\"array<color>\"===o&&(e=e.map(function(e){return u.get(e)})),e}var t=2<arguments.length&&void 0!==arguments[2]?arguments[2]:r,a=t.instance,a=void 0===a||a,o=t.returns;e in u||(u[e]=n),a&&(u.prototype[e]=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return n.apply(void 0,[this].concat(t))})}},{key:\"defineFunctions\",value:function(e){for(var t in e)u.defineFunction(t,e[t],e[t])}},{key:\"extend\",value:function(e){if(e.register)e.register(u);else for(var t in e)u.defineFunction(t,e[t])}}]));u.defineFunctions({get:ko,getAll:Co,set:No,setAll:Ro,to:$o,equals:function(e,r){return e=b(e),r=b(r),e.space===r.space&&e.alpha===r.alpha&&e.coords.every(function(e,t){return e===r.coords[t]})},inGamut:zo,toGamut:Go,distance:ei,toString:Ho}),Object.assign(u,{util:We,hooks:ho,WHITES:vo,Space:y,spaces:y.registry,parse:Fo,defaults:go});for(var Fl,Cl=0,kl=Object.keys(Al);Cl<kl.length;Cl++){var Rl=kl[Cl];y.register(Al[Rl])}for(Fl in y.registry)Nl(Fl,y.registry[Fl]);function Nl(i,l){Object.keys(l.coords),Object.values(l.coords).map(function(e){return e.name});var e=i.replace(/-/g,\"_\");Object.defineProperty(u.prototype,e,{get:function(){var o=this,e=this.getAll(i);return\"undefined\"==typeof Proxy?e:new Proxy(e,{has:function(e,t){try{return y.resolveCoord([l,t]),!0}catch(e){}return Reflect.has(e,t)},get:function(e,t,r){if(t&&\"symbol\"!==te(t)&&!(t in e)){var n=y.resolveCoord([l,t]).index;if(0<=n)return e[n]}return Reflect.get(e,t,r)},set:function(e,t,r,n){if(t&&\"symbol\"!==te(t)&&!(t in e)||0<=t){var a=y.resolveCoord([l,t]).index;if(0<=a)return e[a]=r,o.setAll(i,e),!0}return Reflect.set(e,t,r,n)}})},set:function(e){this.setAll(i,e)},configurable:!0,enumerable:!0})}ho.add(\"colorspace-init-end\",function(t){var e;Nl(t.id,t),null!=(e=t.aliases)&&e.forEach(function(e){Nl(e,t)})}),u.extend(Vi),u.extend({deltaE:Gi}),u.extend($i),u.extend({contrast:function(e,t){var r,n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},a=(n=n=oo(n)?{algorithm:n}:n).algorithm,o=v(n,l);if(!a)throw n=Object.keys(di).map(function(e){return e.replace(/^contrast/,\"\")}).join(\", \"),new TypeError(\"contrast() function needs a contrast algorithm. Please specify one of: \".concat(n));for(r in e=b(e),t=b(t),di)if(\"contrast\"+a.toLowerCase()===r.toLowerCase())return di[r](e,t,o);throw new TypeError(\"Unknown contrast algorithm: \".concat(a))}}),u.extend(mi),u.extend(Ce),u.extend(Ki),u.extend(di);var Tl=Be(Yr()),r=(ro.default.templateSettings.strip=!1,axe._memoizedFns=[],function(e){return e=(0,ao.default)(e),axe._memoizedFns.push(e),e}),Ol=r(function(e){return!(null==e||!e.createElement)&&\"A\"===e.createElement(\"A\").localName});function Sl(t,e){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};if(!e)return\"\";var n=e.getRootNode&&e.getRootNode()||document;if(11!==n.nodeType)return t(e,r,n);for(var a=[];11===n.nodeType;){if(!n.host)return\"\";a.unshift({elm:e,doc:n}),n=(e=n.host).getRootNode()}return a.unshift({elm:e,doc:n}),a.map(function(e){return t(e.elm,r,e.doc)})}var _l=[\"class\",\"style\",\"id\",\"selected\",\"checked\",\"disabled\",\"tabindex\",\"aria-checked\",\"aria-selected\",\"aria-invalid\",\"aria-activedescendant\",\"aria-busy\",\"aria-disabled\",\"aria-expanded\",\"aria-grabbed\",\"aria-pressed\",\"aria-valuenow\",\"xmlns\"],Ml=31,Pl=/([\\\\\"])/g,Il=/(\\r\\n|\\r|\\n)/g;function Bl(e){return e.replace(Pl,\"\\\\$1\").replace(Il,\"\\\\a \")}function jl(e,t){var r,n=t.name;return-1!==n.indexOf(\"href\")||-1!==n.indexOf(\"src\")?(r=Za(e.getAttribute(n)))?m(t.name)+'$=\"'+Bl(r)+'\"':m(t.name)+'=\"'+Bl(e.getAttribute(n))+'\"':m(n)+'=\"'+Bl(t.value)+'\"'}function Ll(e,t){return e.count<t.count?-1:e.count===t.count?0:1}function ql(e){return!_l.includes(e.name)&&-1===e.name.indexOf(\":\")&&(!e.value||e.value.length<Ml)}function zl(e){for(var n={classes:{},tags:{},attributes:{}},a=(e=Array.isArray(e)?e:[e]).slice(),o=[];a.length;)(()=>{var e,t=a.pop(),r=t.actualNode;for(r.querySelectorAll&&(e=r.nodeName,n.tags[e]?n.tags[e]++:n.tags[e]=1,r.classList&&Array.from(r.classList).forEach(function(e){e=m(e);n.classes[e]?n.classes[e]++:n.classes[e]=1}),r.hasAttributes())&&Array.from(Ja(r)).filter(ql).forEach(function(e){e=jl(r,e);e&&(n.attributes[e]?n.attributes[e]++:n.attributes[e]=1)}),t.children.length&&(o.push(a),a=t.children.slice());!a.length&&o.length;)a=o.pop()})();return n}function Vl(e){var t=Ol(document);return m(t?e.localName:e.nodeName.toLowerCase())}function Gl(e,t){var r,n,a,o,i,l,u,s,c,d=\"\",p=(n=e,a=[],o=t.classes,i=t.tags,n.classList&&Array.from(n.classList).forEach(function(e){e=m(e);o[e]<i[n.nodeName]&&a.push({name:e,count:o[e],species:\"class\"})}),a.sort(Ll)),t=(l=e,u=[],s=t.attributes,c=t.tags,l.hasAttributes()&&Array.from(Ja(l)).filter(ql).forEach(function(e){e=jl(l,e);e&&s[e]<c[l.nodeName]&&u.push({name:e,count:s[e],species:\"attribute\"})}),u.sort(Ll));return p.length&&1===p[0].count?r=[p[0]]:t.length&&1===t[0].count?(r=[t[0]],d=Vl(e)):((r=p.concat(t)).sort(Ll),(r=r.slice(0,3)).some(function(e){return\"class\"===e.species})?r.sort(function(e,t){return e.species!==t.species&&\"class\"===e.species?-1:e.species===t.species?0:1}):d=Vl(e)),d+r.reduce(function(e,t){switch(t.species){case\"class\":return e+\".\"+t.name;case\"attribute\":return e+\"[\"+t.name+\"]\"}return e},\"\")}function $l(e,t,r){if(!axe._selectorData)throw new Error(\"Expect axe._selectorData to be set up\");var n,a,t=t.toRoot,o=void 0!==t&&t;do{var i=(e=>{var t;if(e.getAttribute(\"id\"))return t=e.getRootNode&&e.getRootNode()||document,(e=\"#\"+m(e.getAttribute(\"id\")||\"\")).match(/player_uid_/)||1!==t.querySelectorAll(e).length?void 0:e})(e);i||(i=Gl(e,axe._selectorData),i+=((t,r)=>{var e=t.parentNode&&Array.from(t.parentNode.children||\"\")||[];return e.find(function(e){return e!==t&&Qa(e,r)})?\":nth-child(\"+(1+e.indexOf(t))+\")\":\"\"})(e,i)),n=n?i+\" > \"+n:i,a=!a||a.length>f.selectorSimilarFilterLimit?Ul(r,n):a.filter(function(e){return Qa(e,n)}),e=e.parentElement}while((1<a.length||o)&&e&&11!==e.nodeType);return 1===a.length?n:-1!==n.indexOf(\" > \")?\":root\"+n.substring(n.indexOf(\" > \")):\":root\"}var Hl=r(function(e,t){return Sl($l,e,t)}),Ul=r(function(e,t){return Array.from(e.querySelectorAll(t))});function Wl(e){var t=m(e.nodeName.toLowerCase()),r=e.parentElement,n=e.parentNode,a=\"\";return\"head\"!==t&&\"body\"!==t&&1<(null==n?void 0:n.children.length)&&(n=Array.prototype.indexOf.call(n.children,e)+1,a=\":nth-child(\".concat(n,\")\")),r?Wl(r)+\" > \"+t+a:t+a}function Yl(e,t){return Sl(Wl,e,t)}var Kl=function(e){return function e(t,r){var n,a,o,i;if(!t)return[];if(!r&&9===t.nodeType)return r=[{str:\"html\"}];if(r=r||[],t.parentNode&&t.parentNode!==t&&(r=e(t.parentNode,r)),t.previousSibling){for(a=1,n=t.previousSibling;1===n.nodeType&&n.nodeName===t.nodeName&&a++,n=n.previousSibling;);1===a&&(a=null)}else if(t.nextSibling)for(n=t.nextSibling;n=1===n.nodeType&&n.nodeName===t.nodeName?(a=1,null):(a=null,n.previousSibling););return 1===t.nodeType&&((o={}).str=t.nodeName.toLowerCase(),(i=t.getAttribute&&m(t.getAttribute(\"id\")))&&1===t.ownerDocument.querySelectorAll(\"#\"+i).length&&(o.id=t.getAttribute(\"id\")),1<a&&(o.count=a),r.push(o)),r}(e).reduce(function(e,t){return t.id?\"//\".concat(t.str,\"[@id='\").concat(t.id,\"']\"):e+\"/\".concat(t.str)+(0<t.count?\"[\".concat(t.count,\"]\"):\"\")},\"\")},Xl={},A={set:function(e,t){var r;E(\"string\"==typeof(r=e),\"key must be a string, \"+te(r)+\" given\"),E(\"\"!==r,\"key must not be empty\"),Xl[e]=t},get:function(e,t){var r;return E(\"function\"==typeof(r=t)||void 0===r,\"creator must be a function or undefined, \"+te(r)+\" given\"),e in Xl?Xl[e]:\"function\"==typeof t?(r=t(),E(void 0!==r,\"Cache creator function should not return undefined\"),this.set(e,r),Xl[e]):void 0},clear:function(){Xl={}}},g=function(e,t){return t=t||e,A.get(\"nodeMap\")?A.get(\"nodeMap\").get(t):null};function Zl(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},r=t.maxLength,r=void 0===r?300:r,t=t.attrLimit,t=void 0===t?20:t;if(!e)return\"\";if(1!==e.nodeType)return Jl(null!=(n=e.nodeValue)?n:\"\",r);var n=(e=>{var t=e.outerHTML;return(t=t||\"function\"!=typeof window.XMLSerializer?t:(new window.XMLSerializer).serializeToString(e))||\"\"})(e);if(n.length>r){var r={maxLength:r,attrLimit:t},a=r.maxLength,o=r.attrLimit,r=Ol(e.ownerDocument||document)?e.nodeName:e.nodeName.toLowerCase(),t=(e=Array.from(Ja(e)).map(function(e){return{name:e.name,value:e.value}})).reduce(function(e,t){return e+t.name.length+t.value.length+4},0);2+r.length+t>a&&e.forEach(function(e){e.name=Jl(e.name,o),e.value=Jl(e.value,o)});var i,l=\"<\".concat(r),u=\">\",s=x(e);try{for(s.s();!(i=s.n()).done;){var c=i.value,d=\" \".concat(c.name,'=\"').concat(c.value,'\"');l.length+d.length>a-\" ...>\".length?u=\" ...>\":l+=d}}catch(e){s.e(e)}finally{s.f()}return l+u}return n}function Jl(e,t){return e.length<=t?e:e.substring(0,t)+\"...\"}var Ql=\"DqElm.RunOptions\",eu=r(function(e,t,r){var n;return null==r&&(r={}),t=(t=null==t?null:t)||(null!=(n=A.get(Ql))?n:{}),this.spec=r,e instanceof p?(this._virtualNode=e,this._element=e.actualNode):(this._element=e,this._virtualNode=g(e)),this.fromFrame=1<(null==(n=this.spec.selector)?void 0:n.length),this._includeElementInJson=t.elementRef,t.absolutePaths&&(this._options={toRoot:!0}),this.nodeIndexes=[],Array.isArray(this.spec.nodeIndexes)?this.nodeIndexes=this.spec.nodeIndexes:\"number\"==typeof(null==(r=this._virtualNode)?void 0:r.nodeIndex)&&(this.nodeIndexes=[this._virtualNode.nodeIndex]),this.source=null,axe._audit.noHtml||(this.source=null!=(e=this.spec.source)?e:Zl(this._element)),this}),tu=(eu.prototype={get selector(){return this.spec.selector||[Hl(this.element,this._options)]},get ancestry(){return this.spec.ancestry||[Yl(this.element)]},get xpath(){return this.spec.xpath||[Kl(this.element)]},get element(){return this._element},toJSON:function(){var e={selector:this.selector,source:this.source,xpath:this.xpath,ancestry:this.ancestry,nodeIndexes:this.nodeIndexes,fromFrame:this.fromFrame};return this._includeElementInJson&&(e.element=this._element),e}},eu.fromFrame=function(e,t,r){e=eu.mergeSpecs(e,r);return new eu(r.element,t,e)},eu.mergeSpecs=function(e,t){return h({},e,{selector:[].concat(w(t.selector),w(e.selector)),ancestry:[].concat(w(t.ancestry),w(e.ancestry)),xpath:[].concat(w(t.xpath),w(e.xpath)),nodeIndexes:[].concat(w(t.nodeIndexes),w(e.nodeIndexes)),fromFrame:!0})},eu.setRunOptions=function(e){var t=e.elementRef;A.set(Ql,{elementRef:t,absolutePaths:e.absolutePaths})},eu),ru=function(t,e,r,n){return{isAsync:!1,async:function(){return this.isAsync=!0,function(e){e instanceof Error==!1?(t.result=e,r(t)):n(e)}},data:function(e){t.data=e},relatedNodes:function(e){window.Node&&(e=e instanceof window.Node||e instanceof p?[e]:Wa(e),t.relatedNodes=[],e.forEach(function(e){(e=e instanceof p?e.actualNode:e)instanceof window.Node&&(e=new tu(e),t.relatedNodes.push(e))}))}}};function nu(e){return function t(e,r){var n;if(null===e||\"object\"!==te(e))return e;if(null!=(n=window)&&n.Node&&e instanceof window.Node||null!=(n=window)&&n.HTMLCollection&&e instanceof window.HTMLCollection||\"nodeName\"in e&&\"nodeType\"in e&&\"ownerDocument\"in e)return e;if(r.has(e))return r.get(e);{var a;if(Array.isArray(e))return a=[],r.set(e,a),e.forEach(function(e){a.push(t(e,r))}),a}var o={};r.set(e,o);for(var i in e)o[i]=t(e[i],r);return o}(e,new Map)}(xl=new to.CssSelectorParser).registerSelectorPseudos(\"not\"),xl.registerSelectorPseudos(\"is\"),xl.registerNestingOperators(\">\"),xl.registerAttrEqualityMods(\"^\",\"$\",\"*\",\"~\");var au=xl;function ou(t,e){return du(e).some(function(e){return pu(t,e)})}function iu(e,t){return i=t,1===(o=e).props.nodeType&&(\"*\"===i.tag||o.props.nodeName===i.tag)&&(a=e,!(o=t).classes||o.classes.every(function(e){return a.hasClass(e.value)}))&&(n=e,!(i=t).attributes||i.attributes.every(function(e){var t=n.attr(e.key);return null!==t&&e.test(t)}))&&(o=e,!(i=t).id||o.props.id===i.id)&&(r=e,!((o=t).pseudos&&!o.pseudos.every(function(e){if(\"not\"===e.name)return!e.expressions.some(function(e){return pu(r,e)});if(\"is\"===e.name)return e.expressions.some(function(e){return pu(r,e)});throw new Error(\"the pseudo selector \"+e.name+\" has not yet been implemented\")})));var r,n,a,o,i}lu=/(?=[\\-\\[\\]{}()*+?.\\\\\\^$|,#\\s])/g;var lu,uu=function(e){return e.replace(lu,\"\\\\\")},su=/\\\\/g;function cu(e){return e.map(function(e){for(var t=[],r=e.rule;r;)t.push({tag:r.tagName?r.tagName.toLowerCase():\"*\",combinator:r.nestingOperator||\" \",id:r.id,attributes:(e=>{if(e)return e.map(function(e){var t,r,n=e.name.replace(su,\"\"),a=(e.value||\"\").replace(su,\"\");switch(e.operator){case\"^=\":r=new RegExp(\"^\"+uu(a));break;case\"$=\":r=new RegExp(uu(a)+\"$\");break;case\"~=\":r=new RegExp(\"(^|\\\\s)\"+uu(a)+\"(\\\\s|$)\");break;case\"|=\":r=new RegExp(\"^\"+uu(a)+\"(-|$)\");break;case\"=\":t=function(e){return a===e};break;case\"*=\":t=function(e){return e&&e.includes(a)};break;case\"!=\":t=function(e){return a!==e};break;default:t=function(e){return null!==e}}return\"\"===a&&/^[*$^]=$/.test(e.operator)&&(t=function(){return!1}),{key:n,value:a,type:void 0===e.value?\"attrExist\":\"attrValue\",test:t=t||function(e){return e&&r.test(e)}}})})(r.attrs),classes:(e=>{if(e)return e.map(function(e){return{value:e=e.replace(su,\"\"),regexp:new RegExp(\"(^|\\\\s)\"+uu(e)+\"(\\\\s|$)\")}})})(r.classNames),pseudos:(e=>{if(e)return e.map(function(e){var t;return[\"is\",\"not\"].includes(e.name)&&(t=cu(t=(t=e.value).selectors||[t])),{name:e.name,expressions:t,value:e.value}})})(r.pseudos)}),r=r.rule;return t})}function du(e){e=au.parse(e);return cu(e.selectors||[e])}function pu(e,t,r){return function e(t,r,n,a){if(!t)return!1;for(var o=Array.isArray(r)?r[n]:r,i=iu(t,o);!i&&a&&t.parent;)i=iu(t=t.parent,o);if(0<n){if(!1===[\" \",\">\"].includes(o.combinator))throw new Error(\"axe.utils.matchesExpression does not support the combinator: \"+o.combinator);i=i&&e(t.parent,r,n-1,\" \"===o.combinator)}return i}(e,t,t.length-1,r)}var fu=function(e,t){for(;e;){if(ou(e,t))return e;if(void 0===e.parent)throw new TypeError(\"Cannot resolve parent for non-DOM nodes\");e=e.parent}return null};function mu(){}function hu(e){if(\"function\"!=typeof e)throw new TypeError(\"Queue methods require functions as arguments\")}for(var gu,vu,bu,yu=function(){function t(e){n=e,setTimeout(function(){null!=n&&Sa(\"Uncaught error (of queue)\",n)},1)}var n,a=[],r=0,o=0,i=mu,l=!1,u=t;function s(e){return i=mu,u(e),a}function c(){for(var e=a.length;r<e;r++){var t=a[r];try{t.call(null,(t=>function(e){a[t]=e,--o||i===mu||(l=!0,i(a))})(r),s)}catch(e){s(e)}}}var d={defer:function(e){var r;if(\"object\"===te(e)&&e.then&&e.catch&&(r=e,e=function(e,t){r.then(e).catch(t)}),hu(e),void 0===n){if(l)throw new Error(\"Queue already completed\");return a.push(e),++o,c(),d}},then:function(e){if(hu(e),i!==mu)throw new Error(\"queue `then` already set\");return n||(i=e,o)||(l=!0,i(a)),d},catch:function(e){if(hu(e),u!==t)throw new Error(\"queue `catch` already set\");return n?(e(n),n=null):u=e,d},abort:s};return d},wu=window.crypto||window.msCrypto,Du=(!vu&&wu&&wu.getRandomValues&&(gu=new Uint8Array(16),vu=function(){return wu.getRandomValues(gu),gu}),vu||(bu=new Array(16),vu=function(){for(var e,t=0;t<16;t++)0==(3&t)&&(e=4294967296*Math.random()),bu[t]=e>>>((3&t)<<3)&255;return bu}),\"function\"==typeof window.Buffer?window.Buffer:Array),n=[],xu={},Eu=0;Eu<256;Eu++)n[Eu]=(Eu+256).toString(16).substr(1),xu[n[Eu]]=Eu;function Au(e,t){t=t||0;return n[e[t++]]+n[e[t++]]+n[e[t++]]+n[e[t++]]+\"-\"+n[e[t++]]+n[e[t++]]+\"-\"+n[e[t++]]+n[e[t++]]+\"-\"+n[e[t++]]+n[e[t++]]+\"-\"+n[e[t++]]+n[e[t++]]+n[e[t++]]+n[e[t++]]+n[e[t++]]+n[e[+t]]}var Fu=[1|(He=vu())[0],He[1],He[2],He[3],He[4],He[5]],Cu=16383&(He[6]<<8|He[7]),ku=0,Ru=0;function Nu(e,t,r){var n=t&&r||0,a=t||[],r=null!=(e=e||{}).clockseq?e.clockseq:Cu,o=null!=e.msecs?e.msecs:(new Date).getTime(),i=null!=e.nsecs?e.nsecs:Ru+1,l=o-ku+(i-Ru)/1e4;if(l<0&&null==e.clockseq&&(r=r+1&16383),1e4<=(i=(l<0||ku<o)&&null==e.nsecs?0:i))throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");ku=o,Cu=r;for(var l=(1e4*(268435455&(o+=122192928e5))+(Ru=i))%4294967296,i=(a[n++]=l>>>24&255,a[n++]=l>>>16&255,a[n++]=l>>>8&255,a[n++]=255&l,o/4294967296*1e4&268435455),u=(a[n++]=i>>>8&255,a[n++]=255&i,a[n++]=i>>>24&15|16,a[n++]=i>>>16&255,a[n++]=r>>>8|128,a[n++]=255&r,e.node||Fu),s=0;s<6;s++)a[n+s]=u[s];return t||Au(a)}function Tu(e,t,r){var n=t&&r||0,a=(\"string\"==typeof e&&(t=\"binary\"==e?new Du(16):null,e=null),(e=e||{}).random||(e.rng||vu)());if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,t)for(var o=0;o<16;o++)t[n+o]=a[o];return t||Au(a)}(gi=Tu).v1=Nu,gi.v4=Tu,gi.parse=function(e,t,r){var n=t&&r||0,a=0;for(t=t||[],e.toLowerCase().replace(/[0-9a-f]{2}/g,function(e){a<16&&(t[n+a++]=xu[e])});a<16;)t[n+a++]=0;return t},gi.unparse=Au,gi.BufferClass=Du,axe._uuid=Nu();var Ou=Tu,Su=Object.freeze([\"EvalError\",\"RangeError\",\"ReferenceError\",\"SyntaxError\",\"TypeError\",\"URIError\"]);function _u(e){var t,r,n,a;try{t=JSON.parse(e)}catch(e){return}if(null!==(e=t)&&\"object\"===te(e)&&\"string\"==typeof e.channelId&&e.source===Mu())return r=(e=t).topic,n=e.channelId,a=e.messageId,e=e.keepalive,{topic:r,message:\"object\"===te(t.error)?(e=>{var t=e.message||\"Unknown error occurred\",r=Su.includes(e.name)?e.name:\"Error\",r=window[r]||Error;return e.stack&&(t+=\"\\n\"+e.stack.replace(e.message,\"\")),new r(t)})(t.error):t.payload,messageId:a,channelId:n,keepalive:!!e}}function Mu(){var e=\"axeAPI\",t=\"\";return(e=void 0!==axe&&axe._audit&&axe._audit.application?axe._audit.application:e)+\".\"+(t=void 0!==axe?axe.version:t)}function Pu(e){Bu(e),E(window.parent===e,\"Source of the response must be the parent window.\")}function Iu(e){Bu(e),E(e.parent===window,\"Respondable target must be a frame in the current window\")}function Bu(e){E(window!==e,\"Messages can not be sent to the same window.\")}var ju={},Lu=[];function qu(){var e=\"\".concat(Tu(),\":\").concat(Tu());return Lu.includes(e)?qu():(Lu.push(e),e)}function zu(r,e,t,n){var a,o,i,l;return(t?Pu:Iu)(r),e.message instanceof Error&&!t?(axe.log(e.message),!1):(l=h({messageId:qu()},e),o=l.topic,i=l.message,o={channelId:l.channelId,topic:o,messageId:l.messageId,keepalive:!!l.keepalive,source:Mu()},i instanceof Error?o.error={name:i.name,message:i.message,stack:i.stack}:o.payload=i,a=JSON.stringify(o),!(!(l=axe._audit.allowedOrigins)||!l.length||(\"function\"==typeof n&&function(e,t,r){r=!(2<arguments.length&&void 0!==r)||r,E(!Object.prototype.hasOwnProperty.call(ju,e),\"A replyHandler already exists for this message channel.\"),ju[e]={replyHandler:t,sendToParent:r}}(e.channelId,n,t),l.forEach(function(t){try{r.postMessage(a,t)}catch(e){if(e instanceof r.DOMException)throw new Error('allowedOrigins value \"'.concat(t,'\" is not a valid origin'));throw e}}),0)))}function Vu(n,a,e){var o=!(2<arguments.length&&void 0!==e)||e;return function(e,t,r){zu(n,{channelId:a,message:e,keepalive:t},o,r)}}function Gu(t,e){var r,n,a,o=t.origin,i=t.data,t=t.source;try{var l=_u(i)||{},u=l.channelId,s=l.message,c=l.messageId;if(n=o,((a=axe._audit.allowedOrigins)&&a.includes(\"*\")||a.includes(n))&&(r=c,!Lu.includes(r))&&(Lu.push(r),!0))if(s instanceof Error&&t.parent!==window)axe.log(s);else try{if(l.topic){var d=Vu(t,u);Pu(t),e(l,d)}else{var p=t,f=(h=l).channelId,m=h.message,h=h.keepalive,g=(v=(e=>Object.prototype.hasOwnProperty.call(ju,e)?ju[e]:void 0)(f)||{}).replyHandler,v=v.sendToParent;if(g){(v?Pu:Iu)(p);p=Vu(p,f,v);!h&&f&&(e=>{delete ju[e]})(f);try{g(m,h,p)}catch(e){axe.log(e),p(e,h)}}}}catch(e){var b=t,y=e,w=u;if(!b.parent!==window)axe.log(y);else try{zu(b,{topic:null,channelId:w,message:y,messageId:qu(),keepalive:!0},!0)}catch(e){return void axe.log(e)}}}catch(e){axe.log(e)}}var $u,Hu,Uu={open:function(t){var e;if(\"function\"==typeof window.addEventListener)return window.addEventListener(\"message\",e=function(e){Gu(e,t)},!1),function(){window.removeEventListener(\"message\",e,!1)}},post:function(e,t,r){return\"function\"==typeof window.addEventListener&&zu(e,t,!1,r)}};function Wu(e){e.updateMessenger(Uu)}var Yu={};function Ku(e,t,r,n,a){t={topic:t,message:r,channelId:\"\".concat(Tu(),\":\").concat(Tu()),keepalive:n};return Hu(e,t,a)}function Xu(t,r){var e=t.topic,n=t.message,t=t.keepalive,e=Object.prototype.hasOwnProperty.call(Yu,e)?Yu[e]:void 0;if(e)try{e(n,t,r)}catch(e){axe.log(e),r(e,t)}}function Zu(e,t,r,n){var a,o=e.contentWindow,i=null!=(i=null==(i=t.options)?void 0:i.pingWaitTime)?i:500;o?0===i?Ju(e,t,r,n):(a=setTimeout(function(){a=setTimeout(function(){t.debug?n(Qu(\"No response from frame\",e)):r(null)},0)},i),Ku(o,\"axe.ping\",null,void 0,function(){clearTimeout(a),Ju(e,t,r,n)})):(Sa(\"Frame does not have a content window\",e),r(null))}function Ju(e,t,r,n){var a=null!=(a=null==(a=t.options)?void 0:a.frameWaitTime)?a:6e4,o=e.contentWindow,i=setTimeout(function(){n(Qu(\"Axe in frame timed out\",e))},a);Ku(o,\"axe.start\",t,void 0,function(e){clearTimeout(i),(e instanceof Error==!1?r:n)(e)})}function Qu(e,t){var r;return axe._tree&&(r=Hl(t)),new Error(e+\": \"+(r||t))}Ku.updateMessenger=function(e){var t=e.open,e=e.post,t=(E(\"function\"==typeof t,\"open callback must be a function\"),E(\"function\"==typeof e,\"post callback must be a function\"),$u&&$u(),t(Xu));$u=t?(E(\"function\"==typeof t,\"open callback must return a cleanup function\"),t):null,Hu=e},Ku.subscribe=function(e,t){E(\"function\"==typeof t,\"Subscriber callback must be a function\"),E(!Object.prototype.hasOwnProperty.call(Yu,e),\"Topic \".concat(e,\" is already registered to.\")),Yu[e]=t},Ku.isInFrame=function(){return!!(0<arguments.length&&void 0!==arguments[0]?arguments[0]:window).frameElement},Wu(Ku);var es=null,ts={update:function(e){E(\"object\"===te(e),\"serializer must be an object\"),es=e},toSpec:function(e){return ts.dqElmToSpec(new tu(e))},dqElmToSpec:function(e,t){var r,n,a,o,i;return e instanceof tu==!1?e:(t&&(n=(r=e).fromFrame,a=t.ancestry,o=t.xpath,i=!1!==t.selectors||n,(r=new tu(r.element,t,{source:r.source,nodeIndexes:r.nodeIndexes,selector:i?r.selector:[\":root\"],ancestry:a?r.ancestry:[\":root\"],xpath:o?r.xpath:\"/\"})).fromFrame=n,e=r),\"function\"==typeof(null==(t=es)?void 0:t.toSpec)?es.toSpec(e):e.toJSON())},mergeSpecs:function(e,t){var r;return(\"function\"==typeof(null==(r=es)?void 0:r.mergeSpecs)?es:tu).mergeSpecs(e,t)},mapRawResults:function(e){return e.map(function(e){return h({},e,{nodes:ts.mapRawNodeResults(e.nodes)})})},mapRawNodeResults:function(e){return null==e?void 0:e.map(function(e){var t=e.node,r=v(e,j);r.node=ts.dqElmToSpec(t);for(var n=0,a=[\"any\",\"all\",\"none\"];n<a.length;n++){var o=a[n];r[o]=r[o].map(function(e){var t=e.relatedNodes,e=v(e,L);return e.relatedNodes=t.map(ts.dqElmToSpec),e})}return r})}},rs=ts,ns=function(e){return[].concat(e.any||[]).concat(e.all||[]).concat(e.none||[])},as=function(e,t,r){if(Array.isArray(e))return e.find(function(e){return null!==e&&\"object\"===te(e)&&Object.hasOwn(e,t)&&e[t]===r})};function os(e,t){for(var r=0<arguments.length&&void 0!==e?e:[],n=1<arguments.length&&void 0!==t?t:[],a=Math.max(null==r?void 0:r.length,null==n?void 0:n.length),o=0;o<a;o++){var i=null==r?void 0:r[o],l=null==n?void 0:n[o];if(\"number\"!=typeof i||isNaN(i))return 0===o?1:-1;if(\"number\"!=typeof l||isNaN(l))return 0===o?-1:1;if(i!==l)return i-l}return 0}var is=function(e,t){var a=[];return e.forEach(function(e){var n,t=(t=e)&&t.results?Array.isArray(t.results)?t.results.length?t.results:null:[t.results]:null;t&&t.length&&(n=(e=>e.frameElement?rs.toSpec(e.frameElement):e.frameSpec||null)(e),t.forEach(function(e){e.nodes&&n&&(r=e.nodes,t=n,r.forEach(function(e){e.node=rs.mergeSpecs(e.node,t),ns(e).forEach(function(e){e.relatedNodes=e.relatedNodes.map(function(e){return rs.mergeSpecs(e,t)})})}));var t,r=as(a,\"id\",e.id);r?(e.nodes.length&&((e,t)=>{for(var r=t[0].node,n=0;n<e.length;n++){var a,o=os((a=e[n].node).nodeIndexes,r.nodeIndexes);if(0<o||0===o&&r.selector.length<a.selector.length)return e.splice.apply(e,[n,0].concat(w(t)))}e.push.apply(e,w(t))})(r.nodes,e.nodes),e.error&&null==r.error&&(r.error=e.error)):a.push(e)}))}),a.forEach(function(e){e.nodes&&e.nodes.sort(function(e,t){return os(e.node.nodeIndexes,t.node.nodeIndexes)})}),a};function ls(e,a,o,i,t,r){a=h({},a,{elementRef:!1});var l=yu();e.frames.forEach(function(e){var r=e.node,n=v(e,z);l.defer(function(t,e){Zu(r,{options:a,command:o,parameter:i,context:n},function(e){return t(e?{results:e,frameElement:r}:null)},e)})}),l.then(function(e){t(is(e,a))}).catch(r)}function us(e,t){if(!e.shadowId&&!t.shadowId&&e.actualNode&&\"function\"==typeof e.actualNode.contains)return e.actualNode.contains(t.actualNode);do{if(e===t)return!0;if(t.nodeIndex<e.nodeIndex)return!1}while(t=t.parent);return!1}var ss=function a(){for(var o={},e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.forEach(function(e){if(e&&\"object\"===te(e)&&!Array.isArray(e))for(var t=0,r=Object.keys(e);t<r.length;t++){var n=r[t];!o.hasOwnProperty(n)||\"object\"!==te(e[n])||Array.isArray(o[n])?o[n]=e[n]:o[n]=a(o[n],e[n])}}),o},cs=function(t,r){Object.assign(t,r),Object.keys(r).filter(function(e){return\"function\"==typeof r[e]}).forEach(function(e){t[e]=null;try{t[e]=r[e](t)}catch(e){}})},ds=[\"article\",\"aside\",\"blockquote\",\"body\",\"div\",\"footer\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"main\",\"nav\",\"p\",\"section\",\"span\"],ps=function(e){if(e.shadowRoot){e=e.nodeName.toLowerCase();if(ds.includes(e)||/^[a-z][a-z0-9_.-]*-[a-z0-9_.-]*$/.test(e))return!0}return!1},fs={},ms=(Pe(fs,{createGrid:function(){return pc},findElmsInContext:function(){return hs},findNearbyElms:function(){return wc},findUp:function(){return vs},findUpVirtual:function(){return gs},focusDisabled:function(){return Cc},getComposedParent:function(){return s},getElementByReference:function(){return Tc},getElementCoordinates:function(){return Ls},getElementStack:function(){return Mc},getModalDialog:function(){return Dc},getNodeGrid:function(){return yc},getOverflowHiddenAncestors:function(){return ws},getRootNode:function(){return F},getScrollOffset:function(){return js},getTabbableElements:function(){return Pc},getTargetRects:function(){return jc},getTargetSize:function(){return Lc},getTextElementStack:function(){return yd},getViewportSize:function(){return qs},getVisibleChildTextRects:function(){return vd},hasContent:function(){return Fd},hasContentVirtual:function(){return Ad},hasLangText:function(){return Cd},idrefs:function(){return zc},insertedIntoFocusOrder:function(){return kd},isCurrentPageLink:function(){return Nc},isFixedPosition:function(){return zs},isFocusable:function(){return C},isHTML5:function(){return Od},isHiddenForEveryone:function(){return Ps},isHiddenWithCSS:function(){return Td},isInTabOrder:function(){return Bc},isInTextBlock:function(){return Pd},isInert:function(){return xc},isModalOpen:function(){return Bd},isMultiline:function(){return jd},isNativelyFocusable:function(){return Ic},isNode:function(){return Ld},isOffscreen:function(){return $s},isOpaque:function(){return Yd},isSkipLink:function(){return Kd},isVisible:function(){return ep},isVisibleOnScreen:function(){return Us},isVisibleToScreenReaders:function(){return O},isVisualContent:function(){return Dd},reduceToElementsBelowFloating:function(){return tp},shadowElementsFromPoint:function(){return ap},urlPropsFromAttribute:function(){return op},visuallyContains:function(){return rp},visuallyOverlaps:function(){return ip},visuallySort:function(){return Oc}}),function(e){var t=e.getRootNode&&e.getRootNode()||document;return t=t===e?document:t}),F=ms,hs=function(e){var t=e.context,r=e.attr,n=void 0===(n=e.elm)?\"\":n,e=m(e.value),t=9===t.nodeType||11===t.nodeType?t:F(t);return Array.from(t.querySelectorAll(n+\"[\"+r+\"=\"+e+\"]\"))},gs=function(e,t){var r=e.actualNode;if(!e.shadowId&&\"function\"==typeof e.actualNode.closest)return e.actualNode.closest(t)||null;for(;(r=(r=r.assignedSlot||r.parentNode)&&11===r.nodeType?r.host:r)&&!Qa(r,t)&&r!==document.documentElement;);return r&&Qa(r,t)?r:null},vs=function(e,t){return gs(g(e),t)};function bs(e,t){return(0|e.left)<(0|t.right)&&(0|e.right)>(0|t.left)&&(0|e.top)<(0|t.bottom)&&(0|e.bottom)>(0|t.top)}var ys=r(function(e){var t=[];return e?(\"hidden\"===e.getComputedStylePropertyValue(\"overflow\")&&t.push(e),t.concat(ys(e.parent))):t}),ws=ys,Ds=/rect\\s*\\(([0-9]+)px,?\\s*([0-9]+)px,?\\s*([0-9]+)px,?\\s*([0-9]+)px\\s*\\)/,xs=/(\\w+)\\((\\d+)/;function Es(e){return[\"style\",\"script\",\"noscript\",\"template\"].includes(e.props.nodeName)}function As(e){return\"area\"!==e.props.nodeName&&\"none\"===e.getComputedStylePropertyValue(\"display\")}function Fs(e){return!(1<arguments.length&&void 0!==arguments[1]?arguments[1]:{}).isAncestor&&[\"hidden\",\"collapse\"].includes(e.getComputedStylePropertyValue(\"visibility\"))}function Cs(e){return!!(1<arguments.length&&void 0!==arguments[1]?arguments[1]:{}).isAncestor&&\"hidden\"===e.getComputedStylePropertyValue(\"content-visibility\")}function ks(e){return\"true\"===e.attr(\"aria-hidden\")}function Rs(e){return\"0\"===e.getComputedStylePropertyValue(\"opacity\")}function Ns(e){var t=Vp(e.actualNode),r=parseInt(e.getComputedStylePropertyValue(\"height\")),e=parseInt(e.getComputedStylePropertyValue(\"width\"));return!!t&&(0===r||0===e)}function Ts(t){var r,e,n;return!(1<arguments.length&&void 0!==arguments[1]?arguments[1]:{}).isAncestor&&\"fixed\"!==(r=t.getComputedStylePropertyValue(\"position\"))&&!!(e=ws(t)).length&&(n=t.boundingClientRect,e.some(function(e){return!(\"absolute\"===r&&!((e,t)=>{for(var r=e.parent;r&&r!==t;){if([\"relative\",\"sticky\"].includes(r.getComputedStylePropertyValue(\"position\")))return 1;r=r.parent}})(t,e)&&\"static\"===e.getComputedStylePropertyValue(\"position\"))&&((e=e.boundingClientRect).width<2||e.height<2||!bs(n,e))}))}function Os(e){var t=e.getComputedStylePropertyValue(\"clip\").match(Ds),r=e.getComputedStylePropertyValue(\"clip-path\").match(xs);if(t&&5===t.length){e=e.getComputedStylePropertyValue(\"position\");if([\"fixed\",\"absolute\"].includes(e))return t[3]-t[1]<=0&&t[2]-t[4]<=0}if(r){var e=r[1],n=parseInt(r[2],10);switch(e){case\"inset\":return 50<=n;case\"circle\":return 0===n}}return!1}function Ss(e,t){var r,n=fu(e,\"map\");return!n||!((n=n.attr(\"name\"))&&(e=ms(e.actualNode))&&9===e.nodeType&&(r=Rf(axe._tree,'img[usemap=\"#'.concat(m(n),'\"]')))&&r.length)||r.some(function(e){return!t(e)})}function _s(e){var t;if(\"details\"!==(null==(t=e.parent)?void 0:t.props.nodeName))return!1;if(\"summary\"===e.props.nodeName&&e.parent.children.find(function(e){return\"summary\"===e.props.nodeName})===e)return!1;return!e.parent.hasAttr(\"open\")}var Ms=[As,Fs,Cs,_s];function Ps(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},r=t.skipAncestors,t=t.isAncestor,t=void 0!==t&&t;return e=d(e).vNode,(r?Is:Bs)(e,t)}var Is=r(function(t,r){return!!Es(t)||!(!t.actualNode||!Ms.some(function(e){return e(t,{isAncestor:r})})&&t.actualNode.isConnected)}),Bs=r(function(e,t){return!!Is(e,t)||!!e.parent&&Bs(e.parent,!0)}),s=function e(t){if(t.assignedSlot)return e(t.assignedSlot);if(t.parentNode){if(1===(t=t.parentNode).nodeType)return t;if(t.host)return t.host}return null},js=function(e){var t,r;return 9===(e=!e.nodeType&&e.document?e.document:e).nodeType?(t=e.documentElement,r=e.body,{left:t&&t.scrollLeft||r&&r.scrollLeft||0,top:t&&t.scrollTop||r&&r.scrollTop||0}):{left:e.scrollLeft,top:e.scrollTop}},Ls=function(e){var t=(r=js(document)).left,r=r.top;return{top:(e=e.getBoundingClientRect()).top+r,right:e.right+t,bottom:e.bottom+r,left:e.left+t,width:e.right-e.left,height:e.bottom-e.top}},qs=function(e){var t=e.document,r=t.documentElement;return e.innerWidth?{width:e.innerWidth,height:e.innerHeight}:r?{width:r.clientWidth,height:r.clientHeight}:{width:(e=t.body).clientWidth,height:e.clientHeight}};function zs(e){var t=(1<arguments.length&&void 0!==arguments[1]?arguments[1]:{}).skipAncestors,e=d(e).vNode;return!!e&&(t?Vs:Gs)(e)}var Vs=r(function(e){return\"fixed\"===e.getComputedStylePropertyValue(\"position\")}),Gs=r(function(e){return!!Vs(e)||!!e.parent&&Gs(e.parent)}),$s=function(e){var t,r,n,a,o;return!(1<arguments.length&&void 0!==arguments[1]?arguments[1]:{}).isAncestor&&((e=d(e).domNode)?(t=document.documentElement,o=window.getComputedStyle(e),r=window.getComputedStyle(document.body||t).getPropertyValue(\"direction\"),(0!==(a=(n=zs(e))?e.getBoundingClientRect():Ls(e)).top||0!==a.bottom)&&!!((0!==a.left||0!==a.right)&&(a.bottom<=0&&(((e,t)=>{for(e=s(e);e&&\"html\"!==e.nodeName.toLowerCase();){if(e.scrollTop&&0<=(t+=e.scrollTop))return;e=s(e)}return 1})(e,a.bottom)||\"absolute\"===o.position)||(e=qs(window),n&&a.top>=e.height)||(o=Math.max(t.scrollWidth,e.width),(n||\"rtl\"===r)&&a.left>=o)||(n||\"ltr\"===r)&&a.right<=0))):void 0)},Hs=[Rs,Ns,Ts,Os,$s];function Us(e){return e=d(e).vNode,Ws(e)}var Ws=r(function(t,r){return t.actualNode&&\"area\"===t.props.nodeName?!Ss(t,Ws):!(Ps(t,{skipAncestors:!0,isAncestor:r})||t.actualNode&&Hs.some(function(e){return e(t,{isAncestor:r})}))&&(!t.parent||Ws(t.parent,!0))});function Ys(e,t){var r=Math.min(e.top,t.top),n=Math.max(e.right,t.right),a=Math.max(e.bottom,t.bottom),e=Math.min(e.left,t.left);return new window.DOMRect(e,r,n-e,a-r)}function Ks(e,t){var r=e.x,e=e.y;return t.top<=e&&r<=t.right&&e<=t.bottom&&t.left<=r}var Xs={};function Zs(e,t){var r=Math.max(e.left,t.left),n=Math.min(e.right,t.right),a=Math.max(e.top,t.top),e=Math.min(e.bottom,t.bottom);return n<=r||e<=a?null:new window.DOMRect(r,a,n-r,e-a)}function Js(e){var t=e.left;return new window.DOMPoint(t+e.width/2,e.top+e.height/2)}Pe(Xs,{getBoundingRect:function(){return Ys},getIntersectionRect:function(){return Zs},getOffset:function(){return tc},getRectCenter:function(){return Js},hasVisualOverlap:function(){return nc},isPointInRect:function(){return Ks},rectHasMinimumSize:function(){return ec},rectsOverlap:function(){return bs},splitRects:function(){return ac}});var Qs=.05;function ec(e,t){return e<=t.width+Qs&&e<=t.height+Qs}function tc(e,l){var u=2<arguments.length&&void 0!==arguments[2]?arguments[2]:12,e=jc(e),s=jc(l);return e.length&&s.length?e.reduce(function(e,t){var r,n=Js(t),a=x(s);try{for(a.s();!(r=a.n()).done;){var o=r.value;if(Ks(n,o))return 0;var i=rc(n,((e,t)=>{var r;return r=e.x<t.left?t.left:e.x>t.right?t.right:e.x,t=e.y<t.top?t.top:e.y>t.bottom?t.bottom:e.y,{x:r,y:t}})(n,o));e=Math.min(e,i)}}catch(e){a.e(e)}finally{a.f()}var t=Lc(l);return ec(2*u,t)?e:(t=rc(n,Js(s.reduce(Ys)))-u,Math.max(0,Math.min(e,t)))},1/0):null}function rc(e,t){return Math.hypot(e.x-t.x,e.y-t.y)}function nc(e,t){var r=e.boundingClientRect,n=t.boundingClientRect;return!(r.left>=n.right||r.right<=n.left||r.top>=n.bottom||r.bottom<=n.top)&&0<Oc(e,t)}function ac(e,t){var n,a=Array.isArray(e)?e:[e],r=x(t);try{var o=function(){var r=n.value;if(4e3<(a=a.reduce(function(e,t){return e.concat(((e,t)=>{var r=e.top,n=e.left,a=e.bottom,o=e.right,i=r<t.bottom&&a>t.top,l=n<t.right&&o>t.left,u=[];if(oc(t.top,r,a)&&l&&u.push({top:r,left:n,bottom:t.top,right:o}),oc(t.right,n,o)&&i&&u.push({top:r,left:t.right,bottom:a,right:o}),oc(t.bottom,r,a)&&l&&u.push({top:t.bottom,right:o,bottom:a,left:n}),oc(t.left,n,o)&&i&&u.push({top:r,left:n,bottom:a,right:t.left}),0===u.length){if(((e,t)=>e.top>=t.top&&e.left>=t.left&&e.bottom<=t.bottom&&e.right<=t.right)(e,t))return[];u.push(e)}return u.map(ic)})(t,r))},[])).length)throw new Error(\"splitRects: Too many rects\")};for(r.s();!(n=r.n()).done;)o()}catch(e){r.e(e)}finally{r.f()}return a}var oc=function(e,t,r){return t<e&&e<r};function ic(e){return new window.DOMRect(e.left,e.top,e.right-e.left,e.bottom-e.top)}var lc=0,uc=.1,sc=.2,cc=.3,dc=0;function pc(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:document.body,t=1<arguments.length?arguments[1]:void 0,r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!A.get(\"gridCreated\")||r){A.set(\"gridCreated\",!0),r||(a=(a=g(document.documentElement))||new cp(document.documentElement),dc=0,a._stackingOrder=[hc(lc,dc++,null)],gc(t=null!=t?t:new vc,a),Vp(a.actualNode)&&(n=new vc(a),a._subGrid=n));for(var n,a,o=document.createTreeWalker(e,window.NodeFilter.SHOW_ELEMENT,null,!1),i=r?o.nextNode():o.currentNode;i;){var l=g(i),u=(l&&l.parent?r=l.parent:i.assignedSlot?r=g(i.assignedSlot):i.parentElement?r=g(i.parentElement):i.parentNode&&g(i.parentNode)&&(r=g(i.parentNode)),(l=l||new axe.VirtualNode(i,r))._stackingOrder=((e,t,r)=>{var n=t._stackingOrder.slice(),a=(fc(e,t)&&-1!==(a=n.findIndex(function(e){e=e.stackLevel;return[lc,sc,cc].includes(e)}))&&n.splice(a,n.length-a),((e,t)=>{var r=((e,t)=>\"static\"!==e.getComputedStylePropertyValue(\"position\")||mc(t)?e.getComputedStylePropertyValue(\"z-index\"):\"auto\")(e,t);return[\"auto\",\"0\"].includes(r)?\"static\"!==e.getComputedStylePropertyValue(\"position\")?cc:\"none\"!==e.getComputedStylePropertyValue(\"float\")?sc:fc(e,t)?uc:null:parseInt(r)})(e,t));return null!==a&&n.push(hc(a,r,e)),n})(l,r,dc++),((e,t)=>{for(var r=null,n=[e];t;){if(Vp(t.actualNode)){r=t;break}if(t._scrollRegionParent){r=t._scrollRegionParent;break}n.push(t),t=g(t.actualNode.parentElement||t.actualNode.parentNode)}return n.forEach(function(e){return e._scrollRegionParent=r}),r})(l,r)),u=u?u._subGrid:t,s=(Vp(l.actualNode)&&(s=new vc(l),l._subGrid=s),l.boundingClientRect);0!==s.width&&0!==s.height&&Us(i)&&gc(u,l),ps(i)&&pc(i.shadowRoot,u,l),i=o.nextNode()}}return f.gridSize}function fc(e,t){var r=e.getComputedStylePropertyValue(\"position\"),n=e.getComputedStylePropertyValue(\"z-index\");return\"fixed\"===r||\"sticky\"===r||\"auto\"!==n&&\"static\"!==r||\"1\"!==e.getComputedStylePropertyValue(\"opacity\")||\"none\"!==(e.getComputedStylePropertyValue(\"-webkit-transform\")||e.getComputedStylePropertyValue(\"-ms-transform\")||e.getComputedStylePropertyValue(\"transform\")||\"none\")||(r=e.getComputedStylePropertyValue(\"mix-blend-mode\"))&&\"normal\"!==r||(r=e.getComputedStylePropertyValue(\"filter\"))&&\"none\"!==r||(r=e.getComputedStylePropertyValue(\"perspective\"))&&\"none\"!==r||(r=e.getComputedStylePropertyValue(\"clip-path\"))&&\"none\"!==r||\"none\"!==(e.getComputedStylePropertyValue(\"-webkit-mask\")||e.getComputedStylePropertyValue(\"mask\")||\"none\")||\"none\"!==(e.getComputedStylePropertyValue(\"-webkit-mask-image\")||e.getComputedStylePropertyValue(\"mask-image\")||\"none\")||\"none\"!==(e.getComputedStylePropertyValue(\"-webkit-mask-border\")||e.getComputedStylePropertyValue(\"mask-border\")||\"none\")||\"isolate\"===e.getComputedStylePropertyValue(\"isolation\")||\"transform\"===(r=e.getComputedStylePropertyValue(\"will-change\"))||\"opacity\"===r||\"touch\"===e.getComputedStylePropertyValue(\"-webkit-overflow-scrolling\")||(r=e.getComputedStylePropertyValue(\"contain\"),[\"layout\",\"paint\",\"strict\",\"content\"].includes(r))||!(\"auto\"===n||!mc(t))}function mc(e){if(e)return e=e.getComputedStylePropertyValue(\"display\"),[\"flex\",\"inline-flex\",\"grid\",\"inline-grid\"].includes(e)}function hc(e,t,r){return{stackLevel:e,treeOrder:t,vNode:r}}function gc(t,r){var n=ws(r);r.clientRects.forEach(function(e){var e=n.reduce(function(e,t){return e&&Zs(e,t.boundingClientRect)},e);e&&(null==r._grid&&(r._grid=t),e=t.getGridPositionOfRect(e),t.loopGridPosition(e,function(e){e.includes(r)||e.push(r)}))})}var vc=we(function e(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:null;be(this,e),this.container=t,this.cells=[]},[{key:\"toGridIndex\",value:function(e){return Math.floor(e/f.gridSize)}},{key:\"getCellFromPoint\",value:function(e){var t=e.x,e=e.y,e=(E(this.boundaries,\"Grid does not have cells added\"),this.toGridIndex(e)),t=this.toGridIndex(t),e=(E(Ks({y:e,x:t},this.boundaries),\"Element midpoint exceeds the grid bounds\"),null!=(e=this.cells[e-this.cells._negativeIndex])?e:[]);return null!=(t=e[t-e._negativeIndex])?t:[]}},{key:\"loopGridPosition\",value:function(e,n){var t=e,a=t.left,o=t.right,r=t.top,t=t.bottom;this.boundaries&&(e=Ys(this.boundaries,e)),this.boundaries=e,bc(this.cells,r,t,function(e,r){bc(e,a,o,function(e,t){n(e,{row:r,col:t})})})}},{key:\"getGridPositionOfRect\",value:function(e){var t=e.top,r=e.right,n=e.bottom,e=e.left,a=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,t=this.toGridIndex(t-a),r=this.toGridIndex(r+a-1),n=this.toGridIndex(n+a-1),e=this.toGridIndex(e-a);return new window.DOMRect(e,t,r-e,n-t)}}]);function bc(e,t,r,n){if(null!=e._negativeIndex||(e._negativeIndex=0),t<e._negativeIndex){for(var a=0;a<e._negativeIndex-t;a++)e.splice(0,0,[]);e._negativeIndex=t}for(var o,i=r-e._negativeIndex,l=t-e._negativeIndex;l<=i;l++)null==e[o=l]&&(e[o]=[]),n(e[l],l+e._negativeIndex)}function yc(e){return pc(),d(e).vNode._grid}function wc(a){var o,e,i,t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,r=yc(a);return null!=r&&null!=(e=r.cells)&&e.length?(e=a.boundingClientRect,o=zs(a),e=r.getGridPositionOfRect(e,t),i=[],r.loopGridPosition(e,function(e){var t,r=x(e);try{for(r.s();!(t=r.n()).done;){var n=t.value;n&&n!==a&&!i.includes(n)&&o===zs(n)&&i.push(n)}}catch(e){r.e(e)}finally{r.f()}}),i):[]}var Dc=r(function(){var e;return axe._tree&&(e=bf(axe._tree[0],\"dialog[open]\",function(e){var t=e.boundingClientRect;return document.elementsFromPoint(t.left+1,t.top+1).includes(e.actualNode)&&Us(e)})).length?e.find(function(e){var t=e.boundingClientRect;return document.elementsFromPoint(t.left-10,t.top-10).includes(e.actualNode)})||(null!=(e=e.find(function(e){var e=null!=(e=(e=>{pc();var t=axe._tree[0]._grid,r=new window.DOMRect(0,0,window.innerWidth,window.innerHeight);if(t)for(var n=0;n<t.cells.length;n++){var a=t.cells[n];if(a)for(var o=0;o<a.length;o++){var i=a[o];if(i)for(var l=0;l<i.length;l++){var u=i[l],s=Zs(u.boundingClientRect,r);if(\"html\"!==u.props.nodeName&&u!==e&&\"none\"!==u.getComputedStylePropertyValue(\"pointer-events\")&&s)return{vNode:u,rect:s}}}}})(e))?e:{},t=e.vNode,e=e.rect;return!!t&&!document.elementsFromPoint(e.left+1,e.top+1).includes(t.actualNode)}))?e:null):null});function xc(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},r=t.skipAncestors,t=t.isAncestor;return(r?Ec:Ac)(e,t)}var Ec=r(function(e,t){if(e.hasAttr(\"inert\"))return!0;if(!t&&e.actualNode){t=Dc();if(t&&!us(t,e))return!0}return!1}),Ac=r(function(e,t){return!!Ec(e,t)||!!e.parent&&Ac(e.parent,!0)}),Fc=[\"button\",\"command\",\"fieldset\",\"keygen\",\"optgroup\",\"option\",\"select\",\"textarea\",\"input\"],Cc=function(e){var t=d(e).vNode;if(e=t.props.nodeName,Fc.includes(e)&&t.hasAttr(\"disabled\")||xc(t))return!0;for(var r=t.parent,n=[],a=!1;r&&r.shadowId===t.shadowId&&!a&&(n.push(r),\"legend\"!==r.props.nodeName);){if(void 0!==r._inDisabledFieldset){a=r._inDisabledFieldset;break}\"fieldset\"===r.props.nodeName&&r.hasAttr(\"disabled\")&&(a=!0),r=r.parent}return n.forEach(function(e){return e._inDisabledFieldset=a}),!!a||\"area\"!==t.props.nodeName&&!!t.actualNode&&Ps(t)},kc=/^\\/\\#/,Rc=/^#[!/]/;function Nc(e){var t,r,n,a,o=e.getAttribute(\"href\");return!(!o||\"#\"===o)&&(!!kc.test(o)||(a=e.hash,t=e.protocol,r=e.hostname,n=e.port,e=e.pathname,!Rc.test(a)&&(\"#\"===o.charAt(0)||(\"string\"!=typeof(null==(a=window.location)?void 0:a.origin)||-1===window.location.origin.indexOf(\"://\")?null:(o=window.location.origin+window.location.pathname,a=r?\"\".concat(t,\"//\").concat(r).concat(n?\":\".concat(n):\"\"):window.location.origin,(a+=e?(\"/\"!==e[0]?\"/\":\"\")+e:window.location.pathname)===o)))))}var Tc=function(e,t){var r=e.getAttribute(t);return r&&(\"href\"!==t||Nc(e))?(-1!==r.indexOf(\"#\")&&(r=decodeURIComponent(r.substr(r.indexOf(\"#\")+1))),(t=document.getElementById(r))||((t=document.getElementsByName(r)).length?t[0]:null)):null};function Oc(e,t){pc();for(var r=Math.max(e._stackingOrder.length,t._stackingOrder.length),n=0;n<r;n++){if(void 0===t._stackingOrder[n])return-1;if(void 0===e._stackingOrder[n])return 1;if(t._stackingOrder[n].stackLevel>e._stackingOrder[n].stackLevel)return 1;if(t._stackingOrder[n].stackLevel<e._stackingOrder[n].stackLevel)return-1;if(t._stackingOrder[n].treeOrder!==e._stackingOrder[n].treeOrder)return t._stackingOrder[n].treeOrder-e._stackingOrder[n].treeOrder}var a=e.actualNode,o=t.actualNode;if(a.getRootNode&&a.getRootNode()!==o.getRootNode()){for(var i=[];a;)i.push({root:a.getRootNode(),node:a}),a=a.getRootNode().host;for(;o&&!i.find(function(e){return e.root===o.getRootNode()});)o=o.getRootNode().host;if((a=i.find(function(e){return e.root===o.getRootNode()}).node)===o)return e.actualNode.getRootNode()!==a.getRootNode()?-1:1}var l=window.Node,u=l.DOCUMENT_POSITION_FOLLOWING,s=l.DOCUMENT_POSITION_CONTAINS,l=l.DOCUMENT_POSITION_CONTAINED_BY,c=a.compareDocumentPosition(o),u=c&u?1:-1,s=c&s||c&l,c=Sc(e),l=Sc(t);return c===l||s?u:l-c}function Sc(e){return-1!==e.getComputedStylePropertyValue(\"display\").indexOf(\"inline\")?2:function e(t){if(!t)return!1;if(void 0!==t._isFloated)return t._isFloated;var r=t.getComputedStylePropertyValue(\"float\");if(\"none\"!==r)return t._isFloated=!0;r=e(t.parent);t._isFloated=r;return r}(e)?1:0}function _c(e,t,r){var r=2<arguments.length&&void 0!==r&&r,t=Js(t),n=e.getCellFromPoint(t)||[],a=Math.floor(t.x),o=Math.floor(t.y),t=n.filter(function(e){return e.clientRects.some(function(e){var t=e.left,r=e.top;return a<Math.floor(t+e.width)&&a>=Math.floor(t)&&o<Math.floor(r+e.height)&&o>=Math.floor(r)})}),n=e.container;return n&&(t=_c(n._grid,n.boundingClientRect,!0).concat(t)),t=r?t:t.sort(Oc).map(function(e){return e.actualNode}).concat(document.documentElement).filter(function(e,t,r){return r.indexOf(e)===t})}var Mc=function(e){var t=yc(e);return t?_c(t,g(e).boundingClientRect):[]},Pc=function(e){return Rf(e,\"*\").filter(function(e){var t=e.isFocusable,e=ff(e.actualNode.getAttribute(\"tabindex\"));return null!==e?t&&0<=e:t})},Ic=function(e){var t=d(e).vNode;if(t&&!Cc(t))switch(t.props.nodeName){case\"a\":case\"area\":if(t.hasAttr(\"href\"))return!0;break;case\"input\":return\"hidden\"!==t.props.type;case\"textarea\":case\"select\":case\"summary\":case\"button\":return!0;case\"details\":return!Rf(t,\"summary\").length}return!1};function C(e){e=d(e).vNode;return 1===e.props.nodeType&&!(Cc(e)||!Ic(e)&&null===ff(e.attr(\"tabindex\")))}function Bc(e){e=d(e).vNode;return 1===e.props.nodeType&&!(ff(e.attr(\"tabindex\"))<=-1)&&C(e)}var jc=r(function(t){var e=\"inline\"===t.getComputedStylePropertyValue(\"display\")?t.clientRects:[t.boundingClientRect],r=wc(t).filter(function(e){return nc(t,e)&&\"none\"!==e.getComputedStylePropertyValue(\"pointer-events\")&&!(us(t,e=e)&&!Bc(e))});return r.length?(r=r.map(function(e){return\"inline\"===e.getComputedStylePropertyValue(\"display\")?e.clientRects:e.boundingClientRect}).flat(1/0),ac(e,r)):e}),Lc=r(function(e,t){return((e,n)=>e.reduce(function(e,t){var r=ec(n,e);return r!==ec(n,t)?r?e:t:(r=e.width*e.height,t.width*t.height<r?e:t)}))(jc(e),t)}),qc={},zc=(Pe(qc,{accessibleText:function(){return Vc},accessibleTextVirtual:function(){return c},autocomplete:function(){return sd},formControlValue:function(){return H1},formControlValueMethods:function(){return G1},hasUnicode:function(){return ad},isHumanInterpretable:function(){return ud},isIconLigature:function(){return od},isValidAutocomplete:function(){return cd},label:function(){return md},labelText:function(){return Y1},labelVirtual:function(){return fd},nativeElementType:function(){return hd},nativeTextAlternative:function(){return Q1},nativeTextMethods:function(){return J1},removeUnicode:function(){return ld},sanitize:function(){return N},subtreeText:function(){return W1},titleText:function(){return R1},unsupported:function(){return O1},visible:function(){return pd},visibleTextNodes:function(){return gd},visibleVirtual:function(){return _1}}),function(e,t){e=e.actualNode||e;try{var r=F(e),n=[];if(a=e.getAttribute(t))for(var a=dp(a),o=0;o<a.length;o++)n.push(r.getElementById(a[o]));return n}catch(e){throw new TypeError(\"Cannot resolve id references for non-DOM nodes\")}}),Vc=function(e,t){return c(g(e),t)},Gc=function(e){var r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},n=d(e).vNode;return 1!==(null==n?void 0:n.props.nodeType)||1!==n.props.nodeType||r.inLabelledByContext||r.inControlContext||!n.attr(\"aria-labelledby\")?\"\":zc(n,\"aria-labelledby\").filter(function(e){return e}).reduce(function(e,t){t=Vc(t,h({inLabelledByContext:!0,startNode:r.startNode||n},r));return e?\"\".concat(e,\" \").concat(t):t},\"\")};function $c(e){e=d(e).vNode;return 1===(null==e?void 0:e.props.nodeType)&&e.attr(\"aria-label\")||\"\"}var Hc={\"aria-activedescendant\":{type:\"idref\",allowEmpty:!0},\"aria-atomic\":{type:\"boolean\",global:!0},\"aria-autocomplete\":{type:\"nmtoken\",values:[\"inline\",\"list\",\"both\",\"none\"]},\"aria-braillelabel\":{type:\"string\",allowEmpty:!0,global:!0},\"aria-brailleroledescription\":{type:\"string\",allowEmpty:!0,global:!0},\"aria-busy\":{type:\"boolean\",global:!0},\"aria-checked\":{type:\"nmtoken\",values:[\"false\",\"mixed\",\"true\",\"undefined\"]},\"aria-colcount\":{type:\"int\",minValue:-1},\"aria-colindex\":{type:\"int\",minValue:1},\"aria-colspan\":{type:\"int\",minValue:1},\"aria-controls\":{type:\"idrefs\",allowEmpty:!0,global:!0},\"aria-current\":{type:\"nmtoken\",allowEmpty:!0,values:[\"page\",\"step\",\"location\",\"date\",\"time\",\"true\",\"false\"],global:!0},\"aria-describedby\":{type:\"idrefs\",allowEmpty:!0,global:!0},\"aria-description\":{type:\"string\",allowEmpty:!0,global:!0},\"aria-details\":{type:\"idref\",allowEmpty:!0,global:!0},\"aria-disabled\":{type:\"boolean\",global:!0},\"aria-dropeffect\":{type:\"nmtokens\",values:[\"copy\",\"execute\",\"link\",\"move\",\"none\",\"popup\"],global:!0},\"aria-errormessage\":{type:\"idref\",allowEmpty:!0,global:!0},\"aria-expanded\":{type:\"nmtoken\",values:[\"true\",\"false\",\"undefined\"]},\"aria-flowto\":{type:\"idrefs\",allowEmpty:!0,global:!0},\"aria-grabbed\":{type:\"nmtoken\",values:[\"true\",\"false\",\"undefined\"],global:!0},\"aria-haspopup\":{type:\"nmtoken\",allowEmpty:!0,values:[\"true\",\"false\",\"menu\",\"listbox\",\"tree\",\"grid\",\"dialog\"],global:!0},\"aria-hidden\":{type:\"nmtoken\",values:[\"true\",\"false\",\"undefined\"],global:!0},\"aria-invalid\":{type:\"nmtoken\",values:[\"grammar\",\"false\",\"spelling\",\"true\"],global:!0},\"aria-keyshortcuts\":{type:\"string\",allowEmpty:!0,global:!0},\"aria-label\":{type:\"string\",allowEmpty:!0,global:!0},\"aria-labelledby\":{type:\"idrefs\",allowEmpty:!0,global:!0},\"aria-level\":{type:\"int\",minValue:1},\"aria-live\":{type:\"nmtoken\",values:[\"assertive\",\"off\",\"polite\"],global:!0},\"aria-modal\":{type:\"boolean\"},\"aria-multiline\":{type:\"boolean\"},\"aria-multiselectable\":{type:\"boolean\"},\"aria-orientation\":{type:\"nmtoken\",values:[\"horizontal\",\"undefined\",\"vertical\"]},\"aria-owns\":{type:\"idrefs\",allowEmpty:!0,global:!0},\"aria-placeholder\":{type:\"string\",allowEmpty:!0},\"aria-posinset\":{type:\"int\",minValue:1},\"aria-pressed\":{type:\"nmtoken\",values:[\"false\",\"mixed\",\"true\",\"undefined\"]},\"aria-readonly\":{type:\"boolean\"},\"aria-relevant\":{type:\"nmtokens\",values:[\"additions\",\"all\",\"removals\",\"text\"],global:!0},\"aria-required\":{type:\"boolean\"},\"aria-roledescription\":{type:\"string\",allowEmpty:!0,global:!0},\"aria-rowcount\":{type:\"int\",minValue:-1},\"aria-rowindex\":{type:\"int\",minValue:1},\"aria-rowspan\":{type:\"int\",minValue:0},\"aria-selected\":{type:\"nmtoken\",values:[\"false\",\"true\",\"undefined\"]},\"aria-setsize\":{type:\"int\",minValue:-1},\"aria-sort\":{type:\"nmtoken\",values:[\"ascending\",\"descending\",\"none\",\"other\"]},\"aria-valuemax\":{type:\"decimal\"},\"aria-valuemin\":{type:\"decimal\"},\"aria-valuenow\":{type:\"decimal\"},\"aria-valuetext\":{type:\"string\",allowEmpty:!0}},Uc={alert:{type:\"structure\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"section\"]},alertdialog:{type:\"window\",allowedAttrs:[\"aria-expanded\",\"aria-modal\"],superclassRole:[\"alert\",\"dialog\"],accessibleNameRequired:!0},application:{type:\"landmark\",allowedAttrs:[\"aria-activedescendant\",\"aria-expanded\"],superclassRole:[\"structure\"],accessibleNameRequired:!0},article:{type:\"structure\",allowedAttrs:[\"aria-posinset\",\"aria-setsize\",\"aria-expanded\"],superclassRole:[\"document\"]},banner:{type:\"landmark\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"landmark\"]},blockquote:{type:\"structure\",superclassRole:[\"section\"]},button:{type:\"widget\",allowedAttrs:[\"aria-expanded\",\"aria-pressed\"],superclassRole:[\"command\"],accessibleNameRequired:!0,nameFromContent:!0,childrenPresentational:!0},caption:{type:\"structure\",requiredContext:[\"figure\",\"table\",\"grid\",\"treegrid\"],superclassRole:[\"section\"],prohibitedAttrs:[\"aria-label\",\"aria-labelledby\"]},cell:{type:\"structure\",requiredContext:[\"row\"],allowedAttrs:[\"aria-colindex\",\"aria-colspan\",\"aria-rowindex\",\"aria-rowspan\",\"aria-expanded\"],superclassRole:[\"section\"],nameFromContent:!0},checkbox:{type:\"widget\",requiredAttrs:[\"aria-checked\"],allowedAttrs:[\"aria-readonly\",\"aria-expanded\",\"aria-required\"],superclassRole:[\"input\"],accessibleNameRequired:!0,nameFromContent:!0,childrenPresentational:!0},code:{type:\"structure\",superclassRole:[\"section\"],prohibitedAttrs:[\"aria-label\",\"aria-labelledby\"]},columnheader:{type:\"structure\",requiredContext:[\"row\"],allowedAttrs:[\"aria-sort\",\"aria-colindex\",\"aria-colspan\",\"aria-expanded\",\"aria-readonly\",\"aria-required\",\"aria-rowindex\",\"aria-rowspan\",\"aria-selected\"],superclassRole:[\"cell\",\"gridcell\",\"sectionhead\"],accessibleNameRequired:!1,nameFromContent:!0},combobox:{type:\"widget\",requiredAttrs:[\"aria-expanded\",\"aria-controls\"],allowedAttrs:[\"aria-owns\",\"aria-autocomplete\",\"aria-readonly\",\"aria-required\",\"aria-activedescendant\",\"aria-orientation\"],superclassRole:[\"select\"],accessibleNameRequired:!0},command:{type:\"abstract\",superclassRole:[\"widget\"]},complementary:{type:\"landmark\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"landmark\"]},composite:{type:\"abstract\",superclassRole:[\"widget\"]},contentinfo:{type:\"landmark\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"landmark\"]},comment:{type:\"structure\",allowedAttrs:[\"aria-level\",\"aria-posinset\",\"aria-setsize\"],superclassRole:[\"article\"]},definition:{type:\"structure\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"section\"]},deletion:{type:\"structure\",superclassRole:[\"section\"],prohibitedAttrs:[\"aria-label\",\"aria-labelledby\"]},dialog:{type:\"window\",allowedAttrs:[\"aria-expanded\",\"aria-modal\"],superclassRole:[\"window\"],accessibleNameRequired:!0},directory:{type:\"structure\",deprecated:!0,allowedAttrs:[\"aria-expanded\"],superclassRole:[\"list\"],nameFromContent:!0},document:{type:\"structure\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"structure\"]},emphasis:{type:\"structure\",superclassRole:[\"section\"],prohibitedAttrs:[\"aria-label\",\"aria-labelledby\"]},feed:{type:\"structure\",requiredOwned:[\"article\"],allowedAttrs:[\"aria-expanded\"],superclassRole:[\"list\"]},figure:{type:\"structure\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"section\"],nameFromContent:!0},form:{type:\"landmark\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"landmark\"]},grid:{type:\"composite\",requiredOwned:[\"rowgroup\",\"row\"],allowedAttrs:[\"aria-level\",\"aria-multiselectable\",\"aria-readonly\",\"aria-activedescendant\",\"aria-colcount\",\"aria-expanded\",\"aria-rowcount\"],superclassRole:[\"composite\",\"table\"],accessibleNameRequired:!1},gridcell:{type:\"widget\",requiredContext:[\"row\"],allowedAttrs:[\"aria-readonly\",\"aria-required\",\"aria-selected\",\"aria-colindex\",\"aria-colspan\",\"aria-expanded\",\"aria-rowindex\",\"aria-rowspan\"],superclassRole:[\"cell\",\"widget\"],nameFromContent:!0},group:{type:\"structure\",allowedAttrs:[\"aria-activedescendant\",\"aria-expanded\"],superclassRole:[\"section\"]},heading:{type:\"structure\",requiredAttrs:[\"aria-level\"],allowedAttrs:[\"aria-expanded\"],superclassRole:[\"sectionhead\"],accessibleNameRequired:!1,nameFromContent:!0},img:{type:\"structure\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"section\"],accessibleNameRequired:!0,childrenPresentational:!0},input:{type:\"abstract\",superclassRole:[\"widget\"]},insertion:{type:\"structure\",superclassRole:[\"section\"],prohibitedAttrs:[\"aria-label\",\"aria-labelledby\"]},landmark:{type:\"abstract\",superclassRole:[\"section\"]},link:{type:\"widget\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"command\"],accessibleNameRequired:!0,nameFromContent:!0},list:{type:\"structure\",requiredOwned:[\"listitem\"],allowedAttrs:[\"aria-expanded\"],superclassRole:[\"section\"]},listbox:{type:\"widget\",requiredOwned:[\"group\",\"option\"],allowedAttrs:[\"aria-multiselectable\",\"aria-readonly\",\"aria-required\",\"aria-activedescendant\",\"aria-expanded\",\"aria-orientation\"],superclassRole:[\"select\"],accessibleNameRequired:!0},listitem:{type:\"structure\",requiredContext:[\"list\"],allowedAttrs:[\"aria-level\",\"aria-posinset\",\"aria-setsize\",\"aria-expanded\"],superclassRole:[\"section\"],nameFromContent:!0},log:{type:\"structure\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"section\"]},main:{type:\"landmark\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"landmark\"]},marquee:{type:\"structure\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"section\"]},math:{type:\"structure\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"section\"],childrenPresentational:!0},menu:{type:\"composite\",requiredOwned:[\"group\",\"menuitemradio\",\"menuitem\",\"menuitemcheckbox\",\"menu\",\"separator\"],allowedAttrs:[\"aria-activedescendant\",\"aria-expanded\",\"aria-orientation\"],superclassRole:[\"select\"]},menubar:{type:\"composite\",requiredOwned:[\"group\",\"menuitemradio\",\"menuitem\",\"menuitemcheckbox\",\"menu\",\"separator\"],allowedAttrs:[\"aria-activedescendant\",\"aria-expanded\",\"aria-orientation\"],superclassRole:[\"menu\"]},menuitem:{type:\"widget\",requiredContext:[\"menu\",\"menubar\",\"group\"],allowedAttrs:[\"aria-posinset\",\"aria-setsize\",\"aria-expanded\"],superclassRole:[\"command\"],accessibleNameRequired:!0,nameFromContent:!0},menuitemcheckbox:{type:\"widget\",requiredContext:[\"menu\",\"menubar\",\"group\"],requiredAttrs:[\"aria-checked\"],allowedAttrs:[\"aria-expanded\",\"aria-posinset\",\"aria-readonly\",\"aria-setsize\"],superclassRole:[\"checkbox\",\"menuitem\"],accessibleNameRequired:!0,nameFromContent:!0,childrenPresentational:!0},menuitemradio:{type:\"widget\",requiredContext:[\"menu\",\"menubar\",\"group\"],requiredAttrs:[\"aria-checked\"],allowedAttrs:[\"aria-expanded\",\"aria-posinset\",\"aria-readonly\",\"aria-setsize\"],superclassRole:[\"menuitemcheckbox\",\"radio\"],accessibleNameRequired:!0,nameFromContent:!0,childrenPresentational:!0},meter:{type:\"structure\",requiredAttrs:[\"aria-valuenow\"],allowedAttrs:[\"aria-valuemax\",\"aria-valuemin\",\"aria-valuetext\"],superclassRole:[\"range\"],accessibleNameRequired:!0,childrenPresentational:!0},mark:{type:\"structure\",superclassRole:[\"section\"],prohibitedAttrs:[\"aria-label\",\"aria-labelledby\"]},navigation:{type:\"landmark\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"landmark\"]},none:{type:\"structure\",superclassRole:[\"structure\"],prohibitedAttrs:[\"aria-label\",\"aria-labelledby\"]},note:{type:\"structure\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"section\"]},option:{type:\"widget\",requiredContext:[\"group\",\"listbox\"],allowedAttrs:[\"aria-selected\",\"aria-checked\",\"aria-posinset\",\"aria-setsize\"],superclassRole:[\"input\"],accessibleNameRequired:!0,nameFromContent:!0,childrenPresentational:!0},paragraph:{type:\"structure\",superclassRole:[\"section\"],prohibitedAttrs:[\"aria-label\",\"aria-labelledby\"]},presentation:{type:\"structure\",superclassRole:[\"structure\"],prohibitedAttrs:[\"aria-label\",\"aria-labelledby\"]},progressbar:{type:\"widget\",allowedAttrs:[\"aria-expanded\",\"aria-valuemax\",\"aria-valuemin\",\"aria-valuenow\",\"aria-valuetext\"],superclassRole:[\"range\"],accessibleNameRequired:!0,childrenPresentational:!0},radio:{type:\"widget\",requiredAttrs:[\"aria-checked\"],allowedAttrs:[\"aria-posinset\",\"aria-setsize\",\"aria-required\"],superclassRole:[\"input\"],accessibleNameRequired:!0,nameFromContent:!0,childrenPresentational:!0},radiogroup:{type:\"composite\",allowedAttrs:[\"aria-readonly\",\"aria-required\",\"aria-activedescendant\",\"aria-expanded\",\"aria-orientation\"],superclassRole:[\"select\"],accessibleNameRequired:!1},range:{type:\"abstract\",superclassRole:[\"widget\"]},region:{type:\"landmark\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"landmark\"],accessibleNameRequired:!1},roletype:{type:\"abstract\",superclassRole:[]},row:{type:\"structure\",requiredContext:[\"grid\",\"rowgroup\",\"table\",\"treegrid\"],requiredOwned:[\"cell\",\"columnheader\",\"gridcell\",\"rowheader\"],allowedAttrs:[\"aria-colindex\",\"aria-level\",\"aria-rowindex\",\"aria-selected\",\"aria-activedescendant\",\"aria-expanded\",\"aria-posinset\",\"aria-setsize\"],superclassRole:[\"group\",\"widget\"],nameFromContent:!0},rowgroup:{type:\"structure\",requiredContext:[\"grid\",\"table\",\"treegrid\"],requiredOwned:[\"row\"],superclassRole:[\"structure\"],nameFromContent:!0},rowheader:{type:\"structure\",requiredContext:[\"row\"],allowedAttrs:[\"aria-sort\",\"aria-colindex\",\"aria-colspan\",\"aria-expanded\",\"aria-readonly\",\"aria-required\",\"aria-rowindex\",\"aria-rowspan\",\"aria-selected\"],superclassRole:[\"cell\",\"gridcell\",\"sectionhead\"],accessibleNameRequired:!1,nameFromContent:!0},scrollbar:{type:\"widget\",requiredAttrs:[\"aria-valuenow\"],allowedAttrs:[\"aria-controls\",\"aria-orientation\",\"aria-valuemax\",\"aria-valuemin\",\"aria-valuetext\"],superclassRole:[\"range\"],childrenPresentational:!0},search:{type:\"landmark\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"landmark\"]},searchbox:{type:\"widget\",allowedAttrs:[\"aria-activedescendant\",\"aria-autocomplete\",\"aria-multiline\",\"aria-placeholder\",\"aria-readonly\",\"aria-required\"],superclassRole:[\"textbox\"],accessibleNameRequired:!0},section:{type:\"abstract\",superclassRole:[\"structure\"],nameFromContent:!0},sectionhead:{type:\"abstract\",superclassRole:[\"structure\"],nameFromContent:!0},select:{type:\"abstract\",superclassRole:[\"composite\",\"group\"]},separator:{type:\"structure\",requiredAttrs:[\"aria-valuenow\"],allowedAttrs:[\"aria-valuemax\",\"aria-valuemin\",\"aria-orientation\",\"aria-valuetext\"],superclassRole:[\"structure\",\"widget\"],childrenPresentational:!0},slider:{type:\"widget\",requiredAttrs:[\"aria-valuenow\"],allowedAttrs:[\"aria-valuemax\",\"aria-valuemin\",\"aria-orientation\",\"aria-readonly\",\"aria-required\",\"aria-valuetext\"],superclassRole:[\"input\",\"range\"],accessibleNameRequired:!0,childrenPresentational:!0},spinbutton:{type:\"widget\",allowedAttrs:[\"aria-valuemax\",\"aria-valuemin\",\"aria-readonly\",\"aria-required\",\"aria-activedescendant\",\"aria-valuetext\",\"aria-valuenow\"],superclassRole:[\"composite\",\"input\",\"range\"],accessibleNameRequired:!0},status:{type:\"structure\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"section\"]},strong:{type:\"structure\",superclassRole:[\"section\"],prohibitedAttrs:[\"aria-label\",\"aria-labelledby\"]},structure:{type:\"abstract\",superclassRole:[\"roletype\"]},subscript:{type:\"structure\",superclassRole:[\"section\"],prohibitedAttrs:[\"aria-label\",\"aria-labelledby\"]},superscript:{type:\"structure\",superclassRole:[\"section\"],prohibitedAttrs:[\"aria-label\",\"aria-labelledby\"]},switch:{type:\"widget\",requiredAttrs:[\"aria-checked\"],allowedAttrs:[\"aria-expanded\",\"aria-readonly\",\"aria-required\"],superclassRole:[\"checkbox\"],accessibleNameRequired:!0,nameFromContent:!0,childrenPresentational:!0},suggestion:{type:\"structure\",requiredOwned:[\"insertion\",\"deletion\"],superclassRole:[\"section\"],prohibitedAttrs:[\"aria-label\",\"aria-labelledby\"]},tab:{type:\"widget\",requiredContext:[\"tablist\"],allowedAttrs:[\"aria-posinset\",\"aria-selected\",\"aria-setsize\",\"aria-expanded\"],superclassRole:[\"sectionhead\",\"widget\"],nameFromContent:!0,childrenPresentational:!0},table:{type:\"structure\",requiredOwned:[\"rowgroup\",\"row\"],allowedAttrs:[\"aria-colcount\",\"aria-rowcount\",\"aria-expanded\"],superclassRole:[\"section\"],accessibleNameRequired:!1,nameFromContent:!0},tablist:{type:\"composite\",requiredOwned:[\"tab\"],allowedAttrs:[\"aria-level\",\"aria-multiselectable\",\"aria-orientation\",\"aria-activedescendant\",\"aria-expanded\"],superclassRole:[\"composite\"]},tabpanel:{type:\"structure\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"section\"],accessibleNameRequired:!1},term:{type:\"structure\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"section\"],nameFromContent:!0},text:{type:\"structure\",superclassRole:[\"section\"],nameFromContent:!0},textbox:{type:\"widget\",allowedAttrs:[\"aria-activedescendant\",\"aria-autocomplete\",\"aria-multiline\",\"aria-placeholder\",\"aria-readonly\",\"aria-required\"],superclassRole:[\"input\"],accessibleNameRequired:!0},time:{type:\"structure\",superclassRole:[\"section\"]},timer:{type:\"structure\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"status\"]},toolbar:{type:\"structure\",allowedAttrs:[\"aria-orientation\",\"aria-activedescendant\",\"aria-expanded\"],superclassRole:[\"group\"],accessibleNameRequired:!0},tooltip:{type:\"structure\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"section\"],nameFromContent:!0},tree:{type:\"composite\",requiredOwned:[\"group\",\"treeitem\"],allowedAttrs:[\"aria-multiselectable\",\"aria-required\",\"aria-activedescendant\",\"aria-expanded\",\"aria-orientation\"],superclassRole:[\"select\"],accessibleNameRequired:!1},treegrid:{type:\"composite\",requiredOwned:[\"rowgroup\",\"row\"],allowedAttrs:[\"aria-activedescendant\",\"aria-colcount\",\"aria-expanded\",\"aria-level\",\"aria-multiselectable\",\"aria-orientation\",\"aria-readonly\",\"aria-required\",\"aria-rowcount\"],superclassRole:[\"grid\",\"tree\"],accessibleNameRequired:!1},treeitem:{type:\"widget\",requiredContext:[\"group\",\"tree\"],allowedAttrs:[\"aria-checked\",\"aria-expanded\",\"aria-level\",\"aria-posinset\",\"aria-selected\",\"aria-setsize\"],superclassRole:[\"listitem\",\"option\"],accessibleNameRequired:!0,nameFromContent:!0},widget:{type:\"abstract\",superclassRole:[\"roletype\"]},window:{type:\"abstract\",superclassRole:[\"roletype\"]}},Qr={a:{variant:{href:{matches:\"[href]\",contentTypes:[\"interactive\",\"phrasing\",\"flow\"],allowedRoles:[\"button\",\"checkbox\",\"menuitem\",\"menuitemcheckbox\",\"menuitemradio\",\"option\",\"radio\",\"switch\",\"tab\",\"treeitem\",\"doc-backlink\",\"doc-biblioref\",\"doc-glossref\",\"doc-noteref\"],namingMethods:[\"subtreeText\"]},default:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!0}}},abbr:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!0},address:{contentTypes:[\"flow\"],allowedRoles:!0},area:{variant:{href:{matches:\"[href]\",allowedRoles:!1},default:{allowedRoles:[\"button\",\"link\"]}},contentTypes:[\"phrasing\",\"flow\"],namingMethods:[\"altText\"]},article:{contentTypes:[\"sectioning\",\"flow\"],allowedRoles:[\"feed\",\"presentation\",\"none\",\"document\",\"application\",\"main\",\"region\"],shadowRoot:!0},aside:{contentTypes:[\"sectioning\",\"flow\"],allowedRoles:[\"feed\",\"note\",\"presentation\",\"none\",\"region\",\"search\",\"doc-dedication\",\"doc-example\",\"doc-footnote\",\"doc-glossary\",\"doc-pullquote\",\"doc-tip\"]},audio:{variant:{controls:{matches:\"[controls]\",contentTypes:[\"interactive\",\"embedded\",\"phrasing\",\"flow\"]},default:{contentTypes:[\"embedded\",\"phrasing\",\"flow\"]}},allowedRoles:[\"application\"],chromiumRole:\"Audio\"},b:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!0},base:{allowedRoles:!1,noAriaAttrs:!0},bdi:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!0},bdo:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!0},blockquote:{contentTypes:[\"flow\"],allowedRoles:!0,shadowRoot:!0},body:{allowedRoles:!1,shadowRoot:!0},br:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:[\"presentation\",\"none\"],namingMethods:[\"titleText\",\"singleSpace\"],allowedAriaAttrs:[\"aria-hidden\"]},button:{contentTypes:[\"interactive\",\"phrasing\",\"flow\"],allowedRoles:[\"checkbox\",\"combobox\",\"gridcell\",\"link\",\"menuitem\",\"menuitemcheckbox\",\"menuitemradio\",\"option\",\"radio\",\"separator\",\"slider\",\"switch\",\"tab\",\"treeitem\"],namingMethods:[\"subtreeText\"]},canvas:{allowedRoles:!0,contentTypes:[\"embedded\",\"phrasing\",\"flow\"],chromiumRole:\"Canvas\"},caption:{allowedRoles:!1},cite:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!0},code:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!0},col:{allowedRoles:!1,noAriaAttrs:!0},colgroup:{allowedRoles:!1,noAriaAttrs:!0},data:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!0},datalist:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!1,noAriaAttrs:!0,implicitAttrs:{\"aria-multiselectable\":\"false\"}},dd:{allowedRoles:!1},del:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!0},dfn:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!0},details:{contentTypes:[\"interactive\",\"flow\"],allowedRoles:!1},dialog:{contentTypes:[\"flow\"],allowedRoles:[\"alertdialog\"]},div:{contentTypes:[\"flow\"],allowedRoles:!0,shadowRoot:!0},dl:{contentTypes:[\"flow\"],allowedRoles:[\"group\",\"list\",\"presentation\",\"none\"],chromiumRole:\"DescriptionList\"},dt:{allowedRoles:[\"listitem\"]},em:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!0},embed:{contentTypes:[\"interactive\",\"embedded\",\"phrasing\",\"flow\"],allowedRoles:[\"application\",\"document\",\"img\",\"presentation\",\"none\"],chromiumRole:\"EmbeddedObject\"},fieldset:{contentTypes:[\"flow\"],allowedRoles:[\"none\",\"presentation\",\"radiogroup\"],namingMethods:[\"fieldsetLegendText\"]},figcaption:{allowedRoles:[\"group\",\"none\",\"presentation\"]},figure:{contentTypes:[\"flow\"],allowedRoles:!0,namingMethods:[\"figureText\",\"titleText\"]},footer:{contentTypes:[\"flow\"],allowedRoles:[\"group\",\"none\",\"presentation\",\"doc-footnote\"],shadowRoot:!0},form:{contentTypes:[\"flow\"],allowedRoles:[\"form\",\"search\",\"none\",\"presentation\"]},h1:{contentTypes:[\"heading\",\"flow\"],allowedRoles:[\"none\",\"presentation\",\"tab\",\"doc-subtitle\"],shadowRoot:!0,implicitAttrs:{\"aria-level\":\"1\"}},h2:{contentTypes:[\"heading\",\"flow\"],allowedRoles:[\"none\",\"presentation\",\"tab\",\"doc-subtitle\"],shadowRoot:!0,implicitAttrs:{\"aria-level\":\"2\"}},h3:{contentTypes:[\"heading\",\"flow\"],allowedRoles:[\"none\",\"presentation\",\"tab\",\"doc-subtitle\"],shadowRoot:!0,implicitAttrs:{\"aria-level\":\"3\"}},h4:{contentTypes:[\"heading\",\"flow\"],allowedRoles:[\"none\",\"presentation\",\"tab\",\"doc-subtitle\"],shadowRoot:!0,implicitAttrs:{\"aria-level\":\"4\"}},h5:{contentTypes:[\"heading\",\"flow\"],allowedRoles:[\"none\",\"presentation\",\"tab\",\"doc-subtitle\"],shadowRoot:!0,implicitAttrs:{\"aria-level\":\"5\"}},h6:{contentTypes:[\"heading\",\"flow\"],allowedRoles:[\"none\",\"presentation\",\"tab\",\"doc-subtitle\"],shadowRoot:!0,implicitAttrs:{\"aria-level\":\"6\"}},head:{allowedRoles:!1,noAriaAttrs:!0},header:{contentTypes:[\"flow\"],allowedRoles:[\"group\",\"none\",\"presentation\",\"doc-footnote\"],shadowRoot:!0},hgroup:{contentTypes:[\"heading\",\"flow\"],allowedRoles:!0},hr:{contentTypes:[\"flow\"],allowedRoles:[\"none\",\"presentation\",\"doc-pagebreak\"],namingMethods:[\"titleText\",\"singleSpace\"]},html:{allowedRoles:!1,noAriaAttrs:!0},i:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!0},iframe:{contentTypes:[\"interactive\",\"embedded\",\"phrasing\",\"flow\"],allowedRoles:[\"application\",\"document\",\"img\",\"none\",\"presentation\"],chromiumRole:\"Iframe\"},img:{variant:{nonEmptyAlt:{matches:[{attributes:{alt:\"/.+/\"}},{hasAccessibleName:!0}],allowedRoles:[\"button\",\"checkbox\",\"link\",\"math\",\"menuitem\",\"menuitemcheckbox\",\"menuitemradio\",\"meter\",\"option\",\"progressbar\",\"radio\",\"scrollbar\",\"separator\",\"slider\",\"switch\",\"tab\",\"treeitem\",\"doc-cover\"]},usemap:{matches:\"[usemap]\",contentTypes:[\"interactive\",\"embedded\",\"flow\"]},default:{allowedRoles:[\"presentation\",\"none\"],contentTypes:[\"embedded\",\"flow\"]}},namingMethods:[\"altText\"]},input:{variant:{button:{matches:{properties:{type:\"button\"}},allowedRoles:[\"checkbox\",\"combobox\",\"link\",\"menuitem\",\"menuitemcheckbox\",\"menuitemradio\",\"option\",\"radio\",\"switch\",\"tab\"]},buttonType:{matches:{properties:{type:[\"button\",\"submit\",\"reset\"]}},namingMethods:[\"valueText\",\"titleText\",\"buttonDefaultText\"]},checkboxPressed:{matches:{properties:{type:\"checkbox\"},attributes:{\"aria-pressed\":\"/.*/\"}},allowedRoles:[\"button\",\"menuitemcheckbox\",\"option\",\"switch\"],implicitAttrs:{\"aria-checked\":\"false\"}},checkbox:{matches:{properties:{type:\"checkbox\"},attributes:{\"aria-pressed\":null}},allowedRoles:[\"menuitemcheckbox\",\"option\",\"switch\"],implicitAttrs:{\"aria-checked\":\"false\"}},noRoles:{matches:{properties:{type:[\"color\",\"date\",\"datetime-local\",\"file\",\"month\",\"number\",\"password\",\"range\",\"reset\",\"submit\",\"time\",\"week\"]}},allowedRoles:!1},hidden:{matches:{properties:{type:\"hidden\"}},contentTypes:[\"flow\"],allowedRoles:!1,noAriaAttrs:!0},image:{matches:{properties:{type:\"image\"}},allowedRoles:[\"link\",\"menuitem\",\"menuitemcheckbox\",\"menuitemradio\",\"radio\",\"switch\"],namingMethods:[\"altText\",\"valueText\",\"labelText\",\"titleText\",\"buttonDefaultText\"]},radio:{matches:{properties:{type:\"radio\"}},allowedRoles:[\"menuitemradio\"],implicitAttrs:{\"aria-checked\":\"false\"}},textWithList:{matches:{properties:{type:\"text\"},attributes:{list:\"/.*/\"}},allowedRoles:!1},default:{contentTypes:[\"interactive\",\"flow\"],allowedRoles:[\"combobox\",\"searchbox\",\"spinbutton\"],implicitAttrs:{\"aria-valuenow\":\"\"},namingMethods:[\"labelText\",\"placeholderText\"]}}},ins:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!0},kbd:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!0},label:{contentTypes:[\"interactive\",\"phrasing\",\"flow\"],allowedRoles:!1,chromiumRole:\"Label\"},legend:{allowedRoles:!1},li:{allowedRoles:[\"menuitem\",\"menuitemcheckbox\",\"menuitemradio\",\"option\",\"none\",\"presentation\",\"radio\",\"separator\",\"tab\",\"treeitem\",\"doc-biblioentry\",\"doc-endnote\"],implicitAttrs:{\"aria-setsize\":\"1\",\"aria-posinset\":\"1\"}},link:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!1,noAriaAttrs:!0},main:{contentTypes:[\"flow\"],allowedRoles:!1,shadowRoot:!0},map:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!1,noAriaAttrs:!0},math:{contentTypes:[\"embedded\",\"phrasing\",\"flow\"],allowedRoles:!1},mark:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!0},menu:{contentTypes:[\"flow\"],allowedRoles:[\"directory\",\"group\",\"listbox\",\"menu\",\"menubar\",\"none\",\"presentation\",\"radiogroup\",\"tablist\",\"toolbar\",\"tree\"]},meta:{variant:{itemprop:{matches:\"[itemprop]\",contentTypes:[\"phrasing\",\"flow\"]}},allowedRoles:!1,noAriaAttrs:!0},meter:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!1,chromiumRole:\"progressbar\"},nav:{contentTypes:[\"sectioning\",\"flow\"],allowedRoles:[\"doc-index\",\"doc-pagelist\",\"doc-toc\",\"menu\",\"menubar\",\"none\",\"presentation\",\"tablist\"],shadowRoot:!0},noscript:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!1,noAriaAttrs:!0},object:{variant:{usemap:{matches:\"[usemap]\",contentTypes:[\"interactive\",\"embedded\",\"phrasing\",\"flow\"]},default:{contentTypes:[\"embedded\",\"phrasing\",\"flow\"]}},allowedRoles:[\"application\",\"document\",\"img\"],chromiumRole:\"PluginObject\"},ol:{contentTypes:[\"flow\"],allowedRoles:[\"directory\",\"group\",\"listbox\",\"menu\",\"menubar\",\"none\",\"presentation\",\"radiogroup\",\"tablist\",\"toolbar\",\"tree\"]},optgroup:{allowedRoles:!1},option:{allowedRoles:!1,implicitAttrs:{\"aria-selected\":\"false\"}},output:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!0,namingMethods:[\"subtreeText\"]},p:{contentTypes:[\"flow\"],allowedRoles:!0,shadowRoot:!0},param:{allowedRoles:!1,noAriaAttrs:!0},picture:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!1,noAriaAttrs:!0},pre:{contentTypes:[\"flow\"],allowedRoles:!0},progress:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!1,implicitAttrs:{\"aria-valuemax\":\"100\",\"aria-valuemin\":\"0\",\"aria-valuenow\":\"0\"}},q:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!0},rp:{allowedRoles:!0},rt:{allowedRoles:!0},ruby:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!0},s:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!0},samp:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!0},script:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!1,noAriaAttrs:!0},search:{contentTypes:[\"flow\"],allowedRoles:[\"form\",\"group\",\"none\",\"presentation\",\"region\",\"search\"]},section:{contentTypes:[\"sectioning\",\"flow\"],allowedRoles:[\"alert\",\"alertdialog\",\"application\",\"banner\",\"complementary\",\"contentinfo\",\"dialog\",\"document\",\"feed\",\"group\",\"log\",\"main\",\"marquee\",\"navigation\",\"none\",\"note\",\"presentation\",\"search\",\"status\",\"tabpanel\",\"doc-abstract\",\"doc-acknowledgments\",\"doc-afterword\",\"doc-appendix\",\"doc-bibliography\",\"doc-chapter\",\"doc-colophon\",\"doc-conclusion\",\"doc-credit\",\"doc-credits\",\"doc-dedication\",\"doc-endnotes\",\"doc-epigraph\",\"doc-epilogue\",\"doc-errata\",\"doc-example\",\"doc-foreword\",\"doc-glossary\",\"doc-index\",\"doc-introduction\",\"doc-notice\",\"doc-pagelist\",\"doc-part\",\"doc-preface\",\"doc-prologue\",\"doc-pullquote\",\"doc-qna\",\"doc-toc\"],shadowRoot:!0},select:{variant:{combobox:{matches:{attributes:{multiple:null,size:[null,\"1\"]}},allowedRoles:[\"menu\"]},default:{allowedRoles:!1}},contentTypes:[\"interactive\",\"phrasing\",\"flow\"],implicitAttrs:{\"aria-valuenow\":\"\"},namingMethods:[\"labelText\"]},slot:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!1,noAriaAttrs:!0},small:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!0},source:{allowedRoles:!1,noAriaAttrs:!0},span:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!0,shadowRoot:!0},strong:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!0},style:{allowedRoles:!1,noAriaAttrs:!0},svg:{contentTypes:[\"embedded\",\"phrasing\",\"flow\"],allowedRoles:!0,chromiumRole:\"SVGRoot\",namingMethods:[\"svgTitleText\"]},sub:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!0},summary:{allowedRoles:!1,namingMethods:[\"subtreeText\"]},sup:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!0},table:{contentTypes:[\"flow\"],allowedRoles:!0,namingMethods:[\"tableCaptionText\",\"tableSummaryText\"]},tbody:{allowedRoles:!0},template:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!1,noAriaAttrs:!0},textarea:{contentTypes:[\"interactive\",\"phrasing\",\"flow\"],allowedRoles:!1,implicitAttrs:{\"aria-valuenow\":\"\",\"aria-multiline\":\"true\"},namingMethods:[\"labelText\",\"placeholderText\"]},tfoot:{allowedRoles:!0},thead:{allowedRoles:!0},time:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!0},title:{allowedRoles:!1,noAriaAttrs:!0},td:{allowedRoles:!0},th:{allowedRoles:!0},tr:{allowedRoles:!0},track:{allowedRoles:!1,noAriaAttrs:!0},u:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!0},ul:{contentTypes:[\"flow\"],allowedRoles:[\"directory\",\"group\",\"listbox\",\"menu\",\"menubar\",\"none\",\"presentation\",\"radiogroup\",\"tablist\",\"toolbar\",\"tree\"]},var:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:!0},video:{variant:{controls:{matches:\"[controls]\",contentTypes:[\"interactive\",\"embedded\",\"phrasing\",\"flow\"]},default:{contentTypes:[\"embedded\",\"phrasing\",\"flow\"]}},allowedRoles:[\"application\"],chromiumRole:\"video\"},wbr:{contentTypes:[\"phrasing\",\"flow\"],allowedRoles:[\"presentation\",\"none\"],allowedAriaAttrs:[\"aria-hidden\"]}},Ta={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},Wc={ariaAttrs:Hc,ariaRoles:h({},Uc,{\"doc-abstract\":{type:\"section\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"section\"]},\"doc-acknowledgments\":{type:\"landmark\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"landmark\"]},\"doc-afterword\":{type:\"landmark\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"landmark\"]},\"doc-appendix\":{type:\"landmark\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"landmark\"]},\"doc-backlink\":{type:\"link\",allowedAttrs:[\"aria-expanded\"],nameFromContent:!0,superclassRole:[\"link\"]},\"doc-biblioentry\":{type:\"listitem\",allowedAttrs:[\"aria-expanded\",\"aria-level\",\"aria-posinset\",\"aria-setsize\"],superclassRole:[\"listitem\"],deprecated:!0},\"doc-bibliography\":{type:\"landmark\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"landmark\"]},\"doc-biblioref\":{type:\"link\",allowedAttrs:[\"aria-expanded\"],nameFromContent:!0,superclassRole:[\"link\"]},\"doc-chapter\":{type:\"landmark\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"landmark\"]},\"doc-colophon\":{type:\"section\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"section\"]},\"doc-conclusion\":{type:\"landmark\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"landmark\"]},\"doc-cover\":{type:\"img\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"img\"]},\"doc-credit\":{type:\"section\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"section\"]},\"doc-credits\":{type:\"landmark\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"landmark\"]},\"doc-dedication\":{type:\"section\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"section\"]},\"doc-endnote\":{type:\"listitem\",allowedAttrs:[\"aria-expanded\",\"aria-level\",\"aria-posinset\",\"aria-setsize\"],superclassRole:[\"listitem\"],deprecated:!0},\"doc-endnotes\":{type:\"landmark\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"landmark\"]},\"doc-epigraph\":{type:\"section\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"section\"]},\"doc-epilogue\":{type:\"landmark\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"landmark\"]},\"doc-errata\":{type:\"landmark\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"landmark\"]},\"doc-example\":{type:\"section\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"section\"]},\"doc-footnote\":{type:\"section\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"section\"]},\"doc-foreword\":{type:\"landmark\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"landmark\"]},\"doc-glossary\":{type:\"landmark\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"landmark\"]},\"doc-glossref\":{type:\"link\",allowedAttrs:[\"aria-expanded\"],nameFromContent:!0,superclassRole:[\"link\"]},\"doc-index\":{type:\"navigation\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"navigation\"]},\"doc-introduction\":{type:\"landmark\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"landmark\"]},\"doc-noteref\":{type:\"link\",allowedAttrs:[\"aria-expanded\"],nameFromContent:!0,superclassRole:[\"link\"]},\"doc-notice\":{type:\"note\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"note\"]},\"doc-pagebreak\":{type:\"separator\",allowedAttrs:[\"aria-expanded\",\"aria-orientation\"],superclassRole:[\"separator\"],childrenPresentational:!0},\"doc-pagelist\":{type:\"navigation\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"navigation\"]},\"doc-part\":{type:\"landmark\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"landmark\"]},\"doc-preface\":{type:\"landmark\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"landmark\"]},\"doc-prologue\":{type:\"landmark\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"landmark\"]},\"doc-pullquote\":{type:\"none\",superclassRole:[\"none\"]},\"doc-qna\":{type:\"section\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"section\"]},\"doc-subtitle\":{type:\"sectionhead\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"sectionhead\"]},\"doc-tip\":{type:\"note\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"note\"]},\"doc-toc\":{type:\"navigation\",allowedAttrs:[\"aria-expanded\"],superclassRole:[\"navigation\"]}},{\"graphics-document\":{type:\"structure\",superclassRole:[\"document\"],accessibleNameRequired:!0},\"graphics-object\":{type:\"structure\",superclassRole:[\"group\"],nameFromContent:!0},\"graphics-symbol\":{type:\"structure\",superclassRole:[\"img\"],accessibleNameRequired:!0,childrenPresentational:!0}}),htmlElms:Qr,cssColors:Ta},Yc=h({},Wc),k=Yc,Kc=function(e){return!!(e=k.ariaRoles[e])&&!!e.unsupported},Xc=function(e){var t=(r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{}).allowAbstract,r=void 0!==(r=r.flagUnsupported)&&r,n=k.ariaRoles[e],e=Kc(e);return!(!n||r&&e||!t&&\"abstract\"===n.type)},R=function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},r=t.fallback,n=t.abstracts,a=t.dpub;return 1===(e=e instanceof p?e:g(e)).props.nodeType&&(t=(e.attr(\"role\")||\"\").trim().toLowerCase(),(r?dp(t):[t]).find(function(e){return!(!a&&\"doc-\"===e.substr(0,4))&&Xc(e,{allowAbstract:n})}))||null},Zc=function(t){return Object.keys(k.htmlElms).filter(function(e){e=k.htmlElms[e];return e.contentTypes?e.contentTypes.includes(t):!!e.variant&&!(!e.variant.default||!e.variant.default.contentTypes)&&e.variant.default.contentTypes.includes(t)})},Jc=function(){return A.get(\"globalAriaAttrs\",function(){return Object.keys(k.ariaAttrs).filter(function(e){return k.ariaAttrs[e].global})})},Qc=r(function(e){for(var t=[],r=e.rows,n=0,a=r.length;n<a;n++)for(var o=r[n].cells,i=(t[n]=t[n]||[],0),l=0,u=o.length;l<u;l++)for(var s=0;s<o[l].colSpan;s++){for(var c=o[l].getAttribute(\"rowspan\"),d=0===parseInt(c)||0===o[l].rowspan?r.length:o[l].rowSpan,p=0;p<d;p++){for(t[n+p]=t[n+p]||[];t[n+p][i];)i++;t[n+p][i]=o[l]}i++}return t}),e1=r(function(e,t){var r,n;for(t=t||Qc(vs(e,\"table\")),r=0;r<t.length;r++)if(t[r]&&-1!==(n=t[r].indexOf(e)))return{x:n,y:r}});function t1(e){var t,e=d(e),r=e.vNode,e=e.domNode,n=r.attr(\"scope\"),a=R(r);if([\"td\",\"th\"].includes(r.props.nodeName))return\"columnheader\"===a?\"col\":\"rowheader\"===a?\"row\":\"col\"===n||\"row\"===n?n:\"th\"===r.props.nodeName&&(r.actualNode?(a=Qc(vs(e,\"table\")))[(t=e1(e,a)).y].every(function(e){return\"TH\"===e.nodeName.toUpperCase()})?\"col\":a.map(function(e){return e[t.x]}).every(function(e){return e&&\"TH\"===e.nodeName.toUpperCase()})?\"row\":\"auto\":\"auto\");throw new TypeError(\"Expected TD or TH element\")}var r1=function(e){return-1!==[\"col\",\"auto\"].indexOf(t1(e))},n1=function(e){return[\"row\",\"auto\"].includes(t1(e))};function a1(){return A.get(\"sectioningContentSelector\",function(){return Zc(\"sectioning\").map(function(e){return\"\".concat(e,\":not([role])\")}).join(\", \")+\" , [role=article], [role=complementary], [role=navigation], [role=region]\"})}function o1(){return A.get(\"sectioningContentPlusMainSelector\",function(){return a1()+\" , main:not([role]), [role=main]\"})}var N=function(e){return e?e.replace(/\\r\\n/g,\"\\n\").replace(/\\u00A0/g,\" \").replace(/[\\s]{2,}/g,\" \").trim():\"\"};function i1(e,t){t=(1<arguments.length&&void 0!==t?t:{}).checkTitle,t=void 0!==t&&t;return N(Gc(e))||N($c(e))||t&&1===(null==e?void 0:e.props.nodeType)&&N(e.attr(\"title\"))}var l1={a:function(e){return e.hasAttr(\"href\")?\"link\":null},area:function(e){return e.hasAttr(\"href\")?\"link\":null},article:\"article\",aside:function(e){return fu(e.parent,a1())&&!i1(e,{checkTitle:!0})?null:\"complementary\"},body:\"document\",button:\"button\",datalist:\"listbox\",dd:\"definition\",dfn:\"term\",details:\"group\",dialog:\"dialog\",dt:\"term\",fieldset:\"group\",figure:\"figure\",footer:function(e){return fu(e,o1())?null:\"contentinfo\"},form:function(e){return i1(e)?\"form\":null},h1:\"heading\",h2:\"heading\",h3:\"heading\",h4:\"heading\",h5:\"heading\",h6:\"heading\",header:function(e){return fu(e,o1())?null:\"banner\"},hr:\"separator\",img:function(t){var e=t.hasAttr(\"alt\")&&!t.attr(\"alt\"),r=Jc().find(function(e){return t.hasAttr(e)});return!e||r||C(t)?\"img\":\"presentation\"},input:function(e){var t,r;switch(e.hasAttr(\"list\")&&(r=(t=zc(e.actualNode,\"list\").filter(function(e){return!!e})[0])&&\"datalist\"===t.nodeName.toLowerCase()),e.props.type){case\"checkbox\":return\"checkbox\";case\"number\":return\"spinbutton\";case\"radio\":return\"radio\";case\"range\":return\"slider\";case\"search\":return r?\"combobox\":\"searchbox\";case\"button\":case\"image\":case\"reset\":case\"submit\":return\"button\";case\"text\":case\"tel\":case\"url\":case\"email\":case\"\":return r?\"combobox\":\"textbox\";default:return\"textbox\"}},li:\"listitem\",main:\"main\",math:\"math\",menu:\"list\",meter:\"meter\",nav:\"navigation\",ol:\"list\",optgroup:\"group\",option:\"option\",output:\"status\",progress:\"progressbar\",search:\"search\",section:function(e){return i1(e)?\"region\":null},select:function(e){return e.hasAttr(\"multiple\")||1<parseInt(e.attr(\"size\"))?\"listbox\":\"combobox\"},summary:\"button\",table:\"table\",tbody:\"rowgroup\",td:function(e){e=fu(e,\"table\"),e=R(e);return[\"grid\",\"treegrid\"].includes(e)?\"gridcell\":\"cell\"},textarea:\"textbox\",tfoot:\"rowgroup\",th:function(e){return r1(e)?\"columnheader\":n1(e)?\"rowheader\":void 0},thead:\"rowgroup\",tr:\"row\",ul:\"list\"},u1=function(e,t){var r=te(t);if(Array.isArray(t)&&void 0!==e)return t.includes(e);if(\"function\"===r)return!!t(e);if(null!=e){if(t instanceof RegExp)return t.test(e);if(/^\\/.*\\/$/.test(t))return r=t.substring(1,t.length-1),new RegExp(r).test(e)}return t===e};function s1(e,t){return u1(!!c(e),t)}var c1=function(t,r){if(\"object\"!==te(r)||Array.isArray(r)||r instanceof RegExp)throw new Error(\"Expect matcher to be an object\");return Object.keys(r).every(function(e){return u1(t(e),r[e])})};function d1(t,e){return t=d(t).vNode,c1(function(e){return t.attr(e)},e)}function p1(e,t){return!!t(e)}function f1(e,t){return u1(R(e),t)}function m1(e,t){return u1(E1(e),t)}function h1(e,t){return e=d(e).vNode,u1(e.props.nodeName,t)}function g1(t,e){return t=d(t).vNode,c1(function(e){return t.props[e]},e)}function v1(e,t){return u1(T(e),t)}var b1={hasAccessibleName:s1,attributes:d1,condition:p1,explicitRole:f1,implicitRole:m1,nodeName:h1,properties:g1,semanticRole:v1},y1=function t(r,n){return r=d(r).vNode,Array.isArray(n)?n.some(function(e){return t(r,e)}):\"string\"==typeof n?ou(r,n):Object.keys(n).every(function(e){var t;if(b1[e])return t=n[e],(0,b1[e])(r,t);throw new Error('Unknown matcher type \"'.concat(e,'\"'))})},w1=function(e,t){return y1(e,t)},D1=(w1.hasAccessibleName=s1,w1.attributes=d1,w1.condition=p1,w1.explicitRole=f1,w1.fromDefinition=y1,w1.fromFunction=c1,w1.fromPrimative=u1,w1.implicitRole=m1,w1.nodeName=h1,w1.properties=g1,w1.semanticRole=v1,w1),x1=function(e){var t=(1<arguments.length&&void 0!==arguments[1]?arguments[1]:{}).noMatchAccessibleName,r=void 0!==t&&t,n=k.htmlElms[e.props.nodeName];if(!n)return{};if(!n.variant)return n;var a,o,i=n.variant,l=v(n,V);for(a in i)if(i.hasOwnProperty(a)&&\"default\"!==a){for(var u=i[a],s=u.matches,c=v(u,G),d=Array.isArray(s)?s:[s],p=0;p<d.length&&r;p++)if(d[p].hasOwnProperty(\"hasAccessibleName\"))return n;if(D1(e,s))for(var f in c)c.hasOwnProperty(f)&&(l[f]=c[f])}for(o in i.default)i.default.hasOwnProperty(o)&&void 0===l[o]&&(l[o]=i.default[o]);return l},E1=function(e){var t=(1<arguments.length&&void 0!==arguments[1]?arguments[1]:{}).chromium,r=e instanceof p?e:g(e);if(e=r.actualNode,r)return e=r.props.nodeName,!(e=l1[e])&&t?x1(r).chromiumRole||null:\"function\"==typeof e?e(r):e||null;throw new ReferenceError(\"Cannot get implicit role of a node outside the current scope.\")},A1={td:[\"tr\"],th:[\"tr\"],tr:[\"thead\",\"tbody\",\"tfoot\",\"table\"],thead:[\"table\"],tbody:[\"table\"],tfoot:[\"table\"],li:[\"ol\",\"ul\"],dt:[\"dl\",\"div\"],dd:[\"dl\",\"div\"],div:[\"dl\"]};function F1(e,t){var r=t.chromium,t=v(t,$),r=E1(e,{chromium:r});return r?function e(t,r){var n=A1[t.props.nodeName];if(n){if(t.parent)return n.includes(t.parent.props.nodeName)?(n=R(t.parent,r),[\"none\",\"presentation\"].includes(n)&&!C1(t.parent)?n:n?null:e(t.parent,r)):null;if(t.actualNode)throw new ReferenceError(\"Cannot determine role presentational inheritance of a required parent outside the current scope.\")}return null}(e,t)||r:null}function C1(t){return Jc().some(function(e){return t.hasAttr(e)})||C(t)}var T=function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},r=t.noPresentational,e=function(e,t){var r,t=1<arguments.length&&void 0!==t?t:{},n=t.noImplicit,t=v(t,H),e=d(e).vNode;return 1!==e.props.nodeType?null:!(r=R(e,t))||[\"presentation\",\"none\"].includes(r)&&C1(e)?n?null:F1(e,t):r}(e,v(t,U));return r&&[\"presentation\",\"none\"].includes(e)?null:e},k1=[\"iframe\"],R1=function(e){var t=d(e).vNode;return 1!==t.props.nodeType||!e.hasAttr(\"title\")||!w1(t,k1)&&[\"none\",\"presentation\"].includes(T(t))?\"\":t.attr(\"title\")},N1=function(e){var t,r=(1<arguments.length&&void 0!==arguments[1]?arguments[1]:{}).strict;return 1===(e=e instanceof p?e:g(e)).props.nodeType&&(e=T(e),!(!(t=k.ariaRoles[e])||!t.nameFromContent)||!r&&(!t||[\"presentation\",\"none\"].includes(e)))},T1=function(e){var r,t,n=e.actualNode,a=e.children;if(a)return e.hasAttr(\"aria-owns\")?(r=zc(n,\"aria-owns\").filter(function(e){return!!e}).map(function(e){return axe.utils.getNodeFromTree(e)}),t=r.filter(function(e,t){return r.indexOf(e)===t}),e=a.filter(function(e){return!t.includes(e)}),[].concat(w(e),w(t))):w(a);throw new Error(\"getOwnedVirtual requires a virtual node\")},O1={accessibleNameFromFieldValue:[\"progressbar\"]};function O(e){return e=d(e).vNode,S1(e)}var S1=r(function(e,t){return!ks(e)&&!xc(e,{skipAncestors:!0,isAncestor:t})&&(e.actualNode&&\"area\"===e.props.nodeName?!Ss(e,S1):!Ps(e,{skipAncestors:!0,isAncestor:t})&&(!e.parent||S1(e.parent,!0)))}),_1=function n(e,a,o){var t=d(e).vNode,r=a?O:Us,i=!e.actualNode||(e.actualNode,r(e)),r=t.children.map(function(e){var t=(r=e.props).nodeType,r=r.nodeValue;if(3===t){if(r&&i)return r}else if(!o)return n(e,a)}).join(\"\");return N(r)},M1=[\"button\",\"checkbox\",\"color\",\"file\",\"hidden\",\"image\",\"password\",\"radio\",\"reset\",\"submit\"],P1=function(e){var t=(e=e instanceof p?e:g(e)).props.nodeName;return\"textarea\"===t||\"input\"===t&&!M1.includes((e.attr(\"type\")||\"\").toLowerCase())},I1=function(e){return\"select\"===(e=e instanceof p?e:g(e)).props.nodeName},B1=function(e){return\"textbox\"===R(e)},j1=function(e){return\"listbox\"===R(e)},L1=function(e){return\"combobox\"===R(e)},q1=[\"progressbar\",\"scrollbar\",\"slider\",\"spinbutton\"],z1=function(e){return e=R(e),q1.includes(e)},V1=[\"textbox\",\"progressbar\",\"scrollbar\",\"slider\",\"spinbutton\",\"combobox\",\"listbox\"],G1={nativeTextboxValue:function(e){e=d(e).vNode;if(P1(e))return e.props.value||\"\";return\"\"},nativeSelectValue:function(e){e=d(e).vNode;if(!I1(e))return\"\";var e=Rf(e,\"option\"),t=e.filter(function(e){return e.props.selected});t.length||t.push(e[0]);return t.map(function(e){return _1(e)}).join(\" \")||\"\"},ariaTextboxValue:function(e){var e=d(e),t=e.vNode,e=e.domNode;if(!B1(t))return\"\";return e&&Ps(e)?e.textContent:_1(t,!0)},ariaListboxValue:$1,ariaComboboxValue:function(e,t){var e=d(e).vNode;return L1(e)&&(e=T1(e).filter(function(e){return\"listbox\"===T(e)})[0])?$1(e,t):\"\"},ariaRangeValue:function(e){var e=d(e).vNode;return z1(e)&&e.hasAttr(\"aria-valuenow\")?(e=+e.attr(\"aria-valuenow\"),isNaN(e)?\"0\":String(e)):\"\"}};function $1(e,t){var e=d(e).vNode;return!j1(e)||0===(e=T1(e).filter(function(e){return\"option\"===T(e)&&\"true\"===e.attr(\"aria-selected\")})).length?\"\":c(e[0],t)}var H1=function(r){var n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},e=r.actualNode,t=O1.accessibleNameFromFieldValue||[],a=T(r);return n.startNode===r||!V1.includes(a)||t.includes(a)?\"\":(t=Object.keys(G1).map(function(e){return G1[e]}).reduce(function(e,t){return e||t(r,n)},\"\"),n.debug&&Sa(t||\"{empty-value}\",e,n),t)},U1=Zc(\"phrasing\").concat([\"#text\"]),W1=function(e){var a=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},t=c.alreadyProcessed;a.startNode=a.startNode||e;var r=(o=a).strict,n=o.inControlContext,o=o.inLabelledByContext,i=T(e),l=x1(e,{noMatchAccessibleName:!0}).contentTypes;return!(t(e,a)||1!==e.props.nodeType||null!=l&&l.includes(\"embedded\")||V1.includes(i))&&(a.subtreeDescendant||a.inLabelledByContext||N1(e,{strict:r}))?(r||(a=h({subtreeDescendant:!n&&!o},a)),T1(e).reduce(function(e,t){var r=a,n=t.props.nodeName;return(t=c(t,r))?(U1.includes(n)||(\" \"!==t[0]&&(t+=\" \"),e&&\" \"!==e[e.length-1]&&(t=\" \"+t)),e+t):e},\"\")):\"\"},Y1=function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},r=c.alreadyProcessed;if(t.inControlContext||t.inLabelledByContext||r(e,t))return\"\";t.startNode||(t.startNode=e);var n,a=h({inControlContext:!0},t),r=(e=>{if(!e.attr(\"id\"))return[];if(e.actualNode)return hs({elm:\"label\",attr:\"for\",value:e.attr(\"id\"),context:e.actualNode});throw new TypeError(\"Cannot resolve explicit label reference for non-DOM nodes\")})(e);return(t=fu(e,\"label\"))?(n=[].concat(w(r),[t.actualNode])).sort(lf):n=r,n.map(function(e){return Vc(e,a)}).filter(function(e){return\"\"!==e}).join(\" \")},K1={submit:\"Submit\",image:\"Submit\",reset:\"Reset\",button:\"\"};function X1(e,t){return t.attr(e)||\"\"}function Z1(e,t,r){var t=t.actualNode,n=[e=e.toLowerCase(),t.nodeName.toLowerCase()].join(\",\"),t=t.querySelector(n);return t&&t.nodeName.toLowerCase()===e?Vc(t,r):\"\"}var J1={valueText:function(e){return e.props.value||\"\"},buttonDefaultText:function(e){return K1[e.props.type]||\"\"},tableCaptionText:Z1.bind(null,\"caption\"),figureText:Z1.bind(null,\"figcaption\"),svgTitleText:Z1.bind(null,\"title\"),fieldsetLegendText:Z1.bind(null,\"legend\"),altText:X1.bind(null,\"alt\"),tableSummaryText:X1.bind(null,\"summary\"),titleText:R1,subtreeText:W1,labelText:Y1,singleSpace:function(){return\" \"},placeholderText:X1.bind(null,\"placeholder\")};function Q1(r){var e,n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},t=r.actualNode;return 1!==r.props.nodeType||[\"presentation\",\"none\"].includes(T(r))?\"\":(e=(x1(r,{noMatchAccessibleName:!0}).namingMethods||[]).map(function(e){return J1[e]}).reduce(function(e,t){return e||t(r,n)},\"\"),n.debug&&axe.log(e||\"{empty-value}\",t,n),e)}function ed(){return/[\\u1D00-\\u1D7F\\u1D80-\\u1DBF\\u1DC0-\\u1DFF\\u20A0-\\u20CF\\u20D0-\\u20FF\\u2100-\\u214F\\u2150-\\u218F\\u2190-\\u21FF\\u2200-\\u22FF\\u2300-\\u23FF\\u2400-\\u243F\\u2440-\\u245F\\u2460-\\u24FF\\u2500-\\u257F\\u2580-\\u259F\\u25A0-\\u25FF\\u2600-\\u26FF\\u2700-\\u27BF\\uE000-\\uF8FF]/g}function td(){return/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&\\xa3\\xa2\\xa5\\xa7\\u20ac()*+,\\-.\\/:;<=>?@\\[\\]^_`{|}~\\xb1]/g}function rd(){return/[\\uDB80-\\uDBBF][\\uDC00-\\uDFFF]/g}function nd(){return/[\\xAD\\u0600-\\u0605\\u061C\\u06DD\\u070F\\u08E2\\u180E\\u200B-\\u200F\\u202A-\\u202E\\u2060-\\u2064\\u2066-\\u206F\\uFEFF\\uFFF9-\\uFFFB]|\\uD804[\\uDCBD\\uDCCD]|\\uD80D[\\uDC30-\\uDC38]|\\uD82F[\\uDCA0-\\uDCA3]|\\uD834[\\uDD73-\\uDD7A]|\\uDB40[\\uDC01\\uDC20-\\uDC7F]/g}var ad=function(e,t){var r=t.emoji,n=t.nonBmp,t=t.punctuations,a=!1;return r&&(a=a||no().test(e)),n&&(a=a||ed().test(e)||rd().test(e)||nd().test(e)),a=t?a||td().test(e):a};function od(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:.15,r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:3,n=e.actualNode.nodeValue.trim();if(!N(n)||ad(n,{emoji:!0,nonBmp:!0}))return!1;var a=A.get(\"canvasContext\",function(){return document.createElement(\"canvas\").getContext(\"2d\",{willReadFrequently:!0})}),o=a.canvas,i=A.get(\"fonts\",function(){return{}}),e=window.getComputedStyle(e.parent.actualNode).getPropertyValue(\"font-family\"),i=(i[e]||(i[e]={occurrences:0,numLigatures:0}),i[e]);if(i.occurrences>=r){if(i.numLigatures/i.occurrences==1)return!0;if(0===i.numLigatures)return!1}i.occurrences++;var r=30,l=\"\".concat(r,\"px \").concat(e),u=(a.font=l,n.charAt(0)),s=a.measureText(u).width;if(0===s)return i.numLigatures++,!0;s<30&&(s*=c=30/s,l=\"\".concat(r*=c,\"px \").concat(e)),o.width=s,o.height=r,a.font=l,a.textAlign=\"left\",a.textBaseline=\"top\",a.fillText(u,0,0);var c=new Uint32Array(a.getImageData(0,0,s,r).data.buffer);if(!c.some(function(e){return e}))return i.numLigatures++,!0;a.clearRect(0,0,s,r),a.fillText(n,0,0);var d=new Uint32Array(a.getImageData(0,0,s,r).data.buffer),e=c.reduce(function(e,t,r){return 0===t&&0===d[r]||0!==t&&0!==d[r]?e:++e},0),o=n.split(\"\").reduce(function(e,t){return e+a.measureText(t).width},0),l=a.measureText(n).width;return t<=e/c.length&&t<=1-l/o&&(i.numLigatures++,!0)}function c(r){var e,t,n,a,o,i=((e,t)=>(t.startNode||(t=h({startNode:e},t)),t=1===e.props.nodeType&&t.inLabelledByContext&&void 0===t.includeHidden?h({includeHidden:!O(e)},t):t))(r,1<arguments.length&&void 0!==arguments[1]?arguments[1]:{});return e=i,(o=r)&&!(e.includeHidden&&!Es(o)||1!==o.props.nodeType||O(o))||(e=r,t=(o=i).ignoreIconLigature,n=o.pixelThreshold,a=null!=(a=o.occurrenceThreshold)?a:o.occuranceThreshold,3===e.props.nodeType&&t&&od(e,n,a))?\"\":(o=[Gc,$c,Q1,H1,W1,id,R1].reduce(function(e,t){return\"\"!==(e=i.startNode===r?N(e):e)?e:t(r,i)},\"\"),i.debug&&axe.log(o||\"{empty-value}\",r.actualNode,i),o)}function id(e){return 3!==e.props.nodeType?\"\":e.props.nodeValue}c.alreadyProcessed=function(e,t){return t.processed=t.processed||[],!!t.processed.includes(e)||(t.processed.push(e),!1)};var ld=function(e,t){var r=t.emoji,n=t.nonBmp,t=t.punctuations;return r&&(e=e.replace(no(),\"\")),n&&(e=e.replace(ed(),\"\").replace(rd(),\"\").replace(nd(),\"\")),e=t?e.replace(td(),\"\"):e},ud=function(e){var t;return 0===N(e).length||1===(t=e).length&&t.match(/\\D/)||[\"aa\",\"abc\"].includes(e.toLowerCase())||(e=>(e=ld(e,{emoji:!0,nonBmp:!0,punctuations:!0}),!N(e)))(e)?0:1},sd={stateTerms:[\"on\",\"off\"],standaloneTerms:[\"name\",\"honorific-prefix\",\"given-name\",\"additional-name\",\"family-name\",\"honorific-suffix\",\"nickname\",\"username\",\"new-password\",\"current-password\",\"organization-title\",\"organization\",\"street-address\",\"address-line1\",\"address-line2\",\"address-line3\",\"address-level4\",\"address-level3\",\"address-level2\",\"address-level1\",\"country\",\"country-name\",\"postal-code\",\"cc-name\",\"cc-given-name\",\"cc-additional-name\",\"cc-family-name\",\"cc-number\",\"cc-exp\",\"cc-exp-month\",\"cc-exp-year\",\"cc-csc\",\"cc-type\",\"transaction-currency\",\"transaction-amount\",\"language\",\"bday\",\"bday-day\",\"bday-month\",\"bday-year\",\"sex\",\"url\",\"photo\",\"one-time-code\"],qualifiers:[\"home\",\"work\",\"mobile\",\"fax\",\"pager\"],qualifiedTerms:[\"tel\",\"tel-country-code\",\"tel-national\",\"tel-area-code\",\"tel-local\",\"tel-local-prefix\",\"tel-local-suffix\",\"tel-extension\",\"email\",\"impp\"],locations:[\"billing\",\"shipping\"]},cd=function(e){var t=void 0!==(t=(l=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{}).looseTyped)&&t,r=void 0===(r=l.stateTerms)?[]:r,n=void 0===(n=l.locations)?[]:n,a=void 0===(a=l.qualifiers)?[]:a,o=void 0===(o=l.standaloneTerms)?[]:o,i=void 0===(i=l.qualifiedTerms)?[]:i,l=void 0===(l=l.ignoredValues)?[]:l;return e=e.toLowerCase().trim(),!(!(r=r.concat(sd.stateTerms)).includes(e)&&\"\"!==e)||(a=a.concat(sd.qualifiers),n=n.concat(sd.locations),o=o.concat(sd.standaloneTerms),i=i.concat(sd.qualifiedTerms),!(\"webauthn\"===(r=e.split(/\\s+/g))[r.length-1]&&(r.pop(),0===r.length)||!t&&(8<r[0].length&&\"section-\"===r[0].substr(0,8)&&r.shift(),n.includes(r[0])&&r.shift(),a.includes(r[0])&&(r.shift(),o=[]),1!==r.length))&&(l.includes(e=r[r.length-1])?void 0:o.includes(e)||i.includes(e)))},dd=function(e){var t;return e.attr(\"aria-labelledby\")&&(t=zc(e.actualNode,\"aria-labelledby\").map(function(e){e=g(e);return e?_1(e):\"\"}).join(\" \").trim())?t:(t=(t=e.attr(\"aria-label\"))&&N(t))||null},pd=function(e,t,r){return e=g(e),_1(e,t,r)},fd=function(e){if(t=dd(e))return t;if(e.attr(\"id\")){if(!e.actualNode)throw new TypeError(\"Cannot resolve explicit label reference for non-DOM nodes\");var t,r=m(e.attr(\"id\"));if(t=(r=F(e.actualNode).querySelector('label[for=\"'+r+'\"]'))&&pd(r,!0))return t}return(t=(r=fu(e,\"label\"))&&_1(r,!0))||null},md=function(e){return e=g(e),fd(e)},hd=[{matches:[{nodeName:\"textarea\"},{nodeName:\"input\",properties:{type:[\"text\",\"password\",\"search\",\"tel\",\"email\",\"url\"]}}],namingMethods:\"labelText\"},{matches:{nodeName:\"input\",properties:{type:[\"button\",\"submit\",\"reset\"]}},namingMethods:[\"valueText\",\"titleText\",\"buttonDefaultText\"]},{matches:{nodeName:\"input\",properties:{type:\"image\"}},namingMethods:[\"altText\",\"valueText\",\"labelText\",\"titleText\",\"buttonDefaultText\"]},{matches:\"button\",namingMethods:\"subtreeText\"},{matches:\"fieldset\",namingMethods:\"fieldsetLegendText\"},{matches:\"OUTPUT\",namingMethods:\"subtreeText\"},{matches:[{nodeName:\"select\"},{nodeName:\"input\",properties:{type:/^(?!text|password|search|tel|email|url|button|submit|reset)/}}],namingMethods:\"labelText\"},{matches:\"summary\",namingMethods:\"subtreeText\"},{matches:\"figure\",namingMethods:[\"figureText\",\"titleText\"]},{matches:\"img\",namingMethods:\"altText\"},{matches:\"table\",namingMethods:[\"tableCaptionText\",\"tableSummaryText\"]},{matches:[\"hr\",\"br\"],namingMethods:[\"titleText\",\"singleSpace\"]}],gd=function t(e){var r=Us(e),n=[];return e.children.forEach(function(e){3===e.actualNode.nodeType?r&&n.push(e):n=n.concat(t(e))}),n},vd=r(function(e){var t=g(e),n=t.boundingClientRect,a=[],o=ws(t);return e.childNodes.forEach(function(e){var t,r;3!==e.nodeType||\"\"===N(e.nodeValue)||(e=e,(t=document.createRange()).selectNodeContents(e),e=Array.from(t.getClientRects()),r=n,e.some(function(e){return!Ks(Js(e),r)}))||a.push.apply(a,w(bd(e,o)))}),a.length?a:bd([n],o)});function bd(e,t){var r=[];return e.forEach(function(e){e.width<1||e.height<1||(e=t.reduce(function(e,t){return e&&Zs(e,t.boundingClientRect)},e))&&r.push(e)}),r}var yd=function(e){var t=yc(e);return t?vd(e).map(function(e){return _c(t,e)}):[]},wd=[\"checkbox\",\"img\",\"meter\",\"progressbar\",\"scrollbar\",\"radio\",\"slider\",\"spinbutton\",\"textbox\"],Dd=function(e){var t=d(e).vNode;if(e=axe.commons.aria.getExplicitRole(t))return-1!==wd.indexOf(e);switch(t.props.nodeName){case\"img\":case\"iframe\":case\"object\":case\"video\":case\"audio\":case\"canvas\":case\"svg\":case\"math\":case\"button\":case\"select\":case\"textarea\":case\"keygen\":case\"progress\":case\"meter\":return!0;case\"input\":return\"hidden\"!==t.props.type;default:return!1}},xd=[\"head\",\"title\",\"template\",\"script\",\"style\",\"iframe\",\"object\",\"video\",\"audio\",\"noscript\"];function Ed(e){return!xd.includes(e.props.nodeName)&&e.children.some(function(e){e=e.props;return 3===e.nodeType&&e.nodeValue.trim()})}var Ad=function t(e,r,n){return Ed(e)||Dd(e.actualNode)||!n&&!!dd(e)||!r&&e.children.some(function(e){return 1===e.actualNode.nodeType&&t(e)})},Fd=function(e,t,r){return e=g(e),Ad(e,t,r)};function Cd(e){return!(void 0!==e.children&&!Ed(e))||(1===e.props.nodeType&&Dd(e)?!!axe.commons.text.accessibleTextVirtual(e):e.children.some(function(e){return!e.attr(\"lang\")&&Cd(e)&&!Ps(e)}))}var kd=function(e){return-1<ff(e.getAttribute(\"tabindex\"))&&C(e)&&!Ic(e)};function Rd(e,t){var e=d(e),r=e.vNode,e=e.domNode;return r?(void 0===r._isHiddenWithCSS&&(r._isHiddenWithCSS=Nd(e,t)),r._isHiddenWithCSS):Nd(e,t)}function Nd(e,t){if(9===e.nodeType)return!1;if(11===e.nodeType&&(e=e.host),[\"STYLE\",\"SCRIPT\"].includes(e.nodeName.toUpperCase()))return!1;var r,n=window.getComputedStyle(e,null);if(n)return\"none\"===n.getPropertyValue(\"display\")||(r=[\"hidden\",\"collapse\"],n=n.getPropertyValue(\"visibility\"),!(!r.includes(n)||t))||!!(r.includes(n)&&t&&r.includes(t))||!(!(t=s(e))||r.includes(n))&&Rd(t,n);throw new Error(\"Style does not exist for the given element.\")}var Td=Rd,Od=function(e){return null!==(e=e.doctype)&&\"html\"===e.name&&!e.publicId&&!e.systemId},Sd=function(e){(e instanceof p||null!=(t=window)&&t.Node&&e instanceof window.Node)&&(e=axe.commons.aria.getRole(e));var t=k.ariaRoles[e];return(null==t?void 0:t.type)||null},_d=[\"block\",\"list-item\",\"table\",\"flex\",\"grid\"],Md=[\"inline-block\",\"inline-flex\",\"inline-grid\"],Pd=function(e){var n,a,o,i,t=(r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{}).noLengthCompare,r=void 0!==(r=r.includeInlineBlock)&&r,e=d(e),l=e.vNode,u=e.domNode;return!(Id(u)||!r&&(e=>(e=e.getComputedStylePropertyValue(\"display\"),Md.includes(e)))(l))&&(n=(e=>{for(var t=s(e);t&&!Id(t);)t=s(t);return g(t)})(u),o=a=\"\",i=0,function t(e,r){!1!==r(e.actualNode)&&e.children.forEach(function(e){return t(e,r)})}(n,function(e){var t,r;return e===n.actualNode||2!==i&&(3===e.nodeType&&(a+=e.nodeValue),1===e.nodeType?(t=(e.nodeName||\"\").toUpperCase(),e===u&&(i=1),((r=Id(e))||[\"BR\",\"HR\"].includes(t))&&(0===i?o=a=\"\":i=2),!(r||\"none\"===e.style.display||\"hidden\"===e.style.overflow||![\"\",null,\"none\"].includes(e.style.float)||![\"\",null,\"relative\"].includes(e.style.position))&&(\"widget\"===Sd(e)?(o+=e.textContent,!1):void 0)):void 0)}),a=N(a),t?0!==a.length:(o=N(o),a.length>o.length))};function Id(e){e=d(e).vNode.getComputedStylePropertyValue(\"display\");return _d.includes(e)||\"table-\"===e.substr(0,6)}var Bd=function(e){if(e=(e=e||{}).modalPercent||.75,A.get(\"isModalOpen\"))return A.get(\"isModalOpen\");if(bf(axe._tree[0],\"dialog, [role=dialog], [aria-modal=true]\",Us).length)return A.set(\"isModalOpen\",!0),!0;for(var t,r=qs(window),n=r.width*e,a=r.height*e,e=(r.width-n)/2,o=(r.height-a)/2,i=[{x:e,y:o},{x:r.width-e,y:o},{x:r.width/2,y:r.height/2},{x:e,y:r.height-o},{x:r.width-e,y:r.height-o}].map(function(e){return Array.from(document.elementsFromPoint(e.x,e.y))}),l=0;l<i.length;l++)if(t=(()=>{var t=i[l].find(function(e){e=window.getComputedStyle(e);return parseInt(e.width,10)>=n&&parseInt(e.height,10)>=a&&\"none\"!==e.getPropertyValue(\"pointer-events\")&&(\"absolute\"===e.position||\"fixed\"===e.position)});if(t&&i.every(function(e){return e.includes(t)}))return A.set(\"isModalOpen\",!0),{v:!0}})())return t.v;A.set(\"isModalOpen\",void 0)};function jd(e){var t,r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:2,n=e.ownerDocument.createRange(),a=(n.setStart(e,0),n.setEnd(e,e.childNodes.length),0),o=0,i=x(n.getClientRects());try{for(i.s();!(t=i.n()).done;){var l=t.value;if(!(l.height<=r))if(l.top+r<a)a=Math.max(a,l.bottom);else{if(0!==o)return!0;a=l.bottom,o++}}}catch(e){i.e(e)}finally{i.f()}return!1}var Ld=function(e){return e instanceof window.Node},qd=\"color.incompleteData\",S={set:function(e,t){if(\"string\"!=typeof e)throw new Error(\"Incomplete data: key must be a string\");var r=A.get(qd,function(){return{}});return t&&(r[e]=t),r[e]},get:function(e){var t=A.get(qd);return null==t?void 0:t[e]},clear:function(){A.set(qd,{})}},zd=function(e,t){var r=e.nodeName.toUpperCase();return[\"IMG\",\"CANVAS\",\"OBJECT\",\"IFRAME\",\"VIDEO\",\"SVG\"].includes(r)?(S.set(\"bgColor\",\"imgNode\"),!0):((e=\"none\"!==(r=(t=t||window.getComputedStyle(e)).getPropertyValue(\"background-image\")))&&(t=/gradient/.test(r),S.set(\"bgColor\",t?\"bgGradient\":\"bgImage\")),e)},Vd=/^#[0-9a-f]{3,8}$/i,Gd=/hsl\\(\\s*([-\\d.]+)(rad|turn)/,$d=(Re=new WeakMap,Ne=new WeakMap,Te=new WeakMap,Oe=new WeakMap,Se=new WeakMap,_e=new WeakMap,Me=new WeakSet,we(function e(t,r,n){var a,o,i,l=3<arguments.length&&void 0!==arguments[3]?arguments[3]:1;be(this,e),de(this,Me),ce(this,Re,void 0),ce(this,Ne,void 0),ce(this,Te,void 0),ce(this,Oe,void 0),ce(this,Se,void 0),ce(this,_e,void 0),t instanceof $d?(a=t.r,o=t.g,i=t.b,this.r=a,this.g=o,this.b=i,this.alpha=t.alpha):(this.red=t,this.green=r,this.blue=n,this.alpha=l)},[{key:\"r\",get:function(){return fe(Re,this)},set:function(e){me(Re,this,e),me(Oe,this,Math.round(255*Ud(e,0,1)))}},{key:\"g\",get:function(){return fe(Ne,this)},set:function(e){me(Ne,this,e),me(Se,this,Math.round(255*Ud(e,0,1)))}},{key:\"b\",get:function(){return fe(Te,this)},set:function(e){me(Te,this,e),me(_e,this,Math.round(255*Ud(e,0,1)))}},{key:\"red\",get:function(){return fe(Oe,this)},set:function(e){me(Re,this,e/255),me(Oe,this,Ud(e,0,255))}},{key:\"green\",get:function(){return fe(Se,this)},set:function(e){me(Ne,this,e/255),me(Se,this,Ud(e,0,255))}},{key:\"blue\",get:function(){return fe(_e,this)},set:function(e){me(Te,this,e/255),me(_e,this,Ud(e,0,255))}},{key:\"toHexString\",value:function(){var e=Math.round(this.red).toString(16),t=Math.round(this.green).toString(16),r=Math.round(this.blue).toString(16);return\"#\"+(15.5<this.red?e:\"0\"+e)+(15.5<this.green?t:\"0\"+t)+(15.5<this.blue?r:\"0\"+r)}},{key:\"toJSON\",value:function(){return{red:this.red,green:this.green,blue:this.blue,alpha:this.alpha}}},{key:\"parseString\",value:function(t){t=t.replace(Gd,function(e,t,r){var n=t+r;switch(r){case\"rad\":return e.replace(n,180*t/Math.PI);case\"turn\":return e.replace(n,360*t)}});try{\"Prototype\"in window&&\"Version\"in window.Prototype&&(e=Array.from,Array.from=Tl.default);var e,r=new u(t).toGamut({space:\"srgb\",method:\"clip\"}).to(\"srgb\");e&&(Array.from=e,e=null),this.r=r.r,this.g=r.g,this.b=r.b,this.alpha=+r.alpha}catch(e){throw S.set(\"colorParse\",t),new Error('Unable to parse color \"'.concat(t,'\"'))}return this}},{key:\"parseRgbString\",value:function(e){this.parseString(e)}},{key:\"parseHexString\",value:function(e){e.match(Vd)&&![6,8].includes(e.length)&&this.parseString(e)}},{key:\"parseColorFnString\",value:function(e){this.parseString(e)}},{key:\"getRelativeLuminance\",value:function(){var e=this.r,t=this.g,r=this.b;return.2126*(e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4))+.7152*(t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4))+.0722*(r<=.04045?r/12.92:Math.pow((r+.055)/1.055,2.4))}},{key:\"getLuminosity\",value:function(){return.3*this.r+.59*this.g+.11*this.b}},{key:\"setLuminosity\",value:function(e){e-=this.getLuminosity();return he(Me,this,Hd).call(this,e).clip()}},{key:\"getSaturation\",value:function(){return Math.max(this.r,this.g,this.b)-Math.min(this.r,this.g,this.b)}},{key:\"setSaturation\",value:function(e){var t=new $d(this),r=D([{name:\"r\",value:t.r},{name:\"g\",value:t.g},{name:\"b\",value:t.b}].sort(function(e,t){return e.value-t.value}),3),n=r[0],a=r[1],r=r[2];return r.value>n.value?(a.value=(a.value-n.value)*e/(r.value-n.value),r.value=e):a.value=r.value=0,n.value=0,t[r.name]=r.value,t[n.name]=n.value,t[a.name]=a.value,t}},{key:\"clip\",value:function(){var e=new $d(this),t=e.getLuminosity(),r=Math.min(e.r,e.g,e.b),n=Math.max(e.r,e.g,e.b);return r<0&&(e.r=t+(e.r-t)*t/(t-r),e.g=t+(e.g-t)*t/(t-r),e.b=t+(e.b-t)*t/(t-r)),1<n&&(e.r=t+(e.r-t)*(1-t)/(n-t),e.g=t+(e.g-t)*(1-t)/(n-t),e.b=t+(e.b-t)*(1-t)/(n-t)),e}}]));function Hd(e){var t=new $d(this);return t.r+=e,t.g+=e,t.b+=e,t}var _=$d;function Ud(e,t,r){return Math.min(Math.max(t,e),r)}var Wd=function(e){var t=new _;return t.parseString(e.getPropertyValue(\"background-color\")),0!==t.alpha&&(e=e.getPropertyValue(\"opacity\"),t.alpha=t.alpha*e),t},Yd=function(e){var t=window.getComputedStyle(e);return zd(e,t)||1===Wd(t).alpha};function Kd(e){var t;return!(!e.href||(t=A.get(\"firstPageLink\",Xd))&&e.compareDocumentPosition(t.actualNode)!==e.DOCUMENT_POSITION_FOLLOWING)}function Xd(){var e=window.location.origin?Rf(axe._tree,'a[href]:not([href^=\"javascript:\"])').find(function(e){return!Nc(e.actualNode)}):Rf(axe._tree,'a:not([href^=\"#\"]):not([href^=\"/#\"]):not([href^=\"javascript:\"])')[0];return e||null}var Zd=/rect\\s*\\(([0-9]+)px,?\\s*([0-9]+)px,?\\s*([0-9]+)px,?\\s*([0-9]+)px\\s*\\)/,Jd=/(\\w+)\\((\\d+)/;function Qd(e,t,r){if(!e)throw new TypeError(\"Cannot determine if element is visible for non-DOM nodes\");var n,a,o,i=e instanceof p?e:g(e),l=(e=i?i.actualNode:e,\"_isVisible\"+(t?\"ScreenReader\":\"\")),u=null!=(u=window.Node)?u:{},s=u.DOCUMENT_NODE,u=u.DOCUMENT_FRAGMENT_NODE,c=(i?i.props:e).nodeType,d=i?i.props.nodeName:e.nodeName.toLowerCase();if(i&&void 0!==i[l])return i[l];if(c===s)return!0;if([\"style\",\"script\",\"noscript\",\"template\"].includes(d))return!1;if((e&&c===u&&(e=e.host),t)&&\"true\"===(i?i.attr(\"aria-hidden\"):e.getAttribute(\"aria-hidden\")))return!1;return e?null!==(s=window.getComputedStyle(e,null))&&(\"area\"===d?(n=t,a=r,!!(u=vs(c=e,\"map\"))&&!!(u=u.getAttribute(\"name\"))&&!(!(c=F(c))||9!==c.nodeType||!(o=Rf(axe._tree,'img[usemap=\"#'.concat(m(u),'\"]')))||!o.length)&&o.some(function(e){return Qd(e.actualNode,n,a)})):\"none\"!==s.getPropertyValue(\"display\")&&(d=parseInt(s.getPropertyValue(\"height\")),c=parseInt(s.getPropertyValue(\"width\")),o=(u=Vp(e))&&0===d,u=u&&0===c,d=\"absolute\"===s.getPropertyValue(\"position\")&&(d<2||c<2)&&\"hidden\"===s.getPropertyValue(\"overflow\"),!(!t&&((e=>{var t=e.getPropertyValue(\"clip\").match(Zd),r=e.getPropertyValue(\"clip-path\").match(Jd);if(t&&5===t.length){e=e.getPropertyValue(\"position\");if([\"fixed\",\"absolute\"].includes(e))return t[3]-t[1]<=0&&t[2]-t[4]<=0}if(r){var e=r[1],n=parseInt(r[2],10);switch(e){case\"inset\":return 50<=n;case\"circle\":return 0===n}}})(s)||\"0\"===s.getPropertyValue(\"opacity\")||o||u||d)||!r&&(\"hidden\"===s.getPropertyValue(\"visibility\")||!t&&$s(e))))&&(c=!1,(u=e.assignedSlot||e.parentNode)&&(c=Qd(u,t,!0)),i&&(i[l]=c),c)):(d=!0,(r=i.parent)&&(d=Qd(r,t,!0)),i&&(i[l]=d),d)}var ep=Qd,tp=function(e,t){for(var r=[\"fixed\",\"sticky\"],n=[],a=!1,o=0;o<e.length;++o){var i=e[o],l=(i===t&&(a=!0),window.getComputedStyle(i));a||-1===r.indexOf(l.position)?n.push(i):n=[]}return n};function rp(e,t){var r=np(t);do{var n,a,o,i,l,u,s=np(e);if(s===r||s===t)return n=e,a=t,l=window.getComputedStyle(a),u=l.getPropertyValue(\"overflow\"),\"inline\"===l.getPropertyValue(\"display\")||(n=Array.from(n.getClientRects()),o=a.getBoundingClientRect(),i={left:o.left,top:o.top,width:o.width,height:o.height},([\"scroll\",\"auto\"].includes(u)||a instanceof window.HTMLHtmlElement)&&(i.width=a.scrollWidth,i.height=a.scrollHeight),1===n.length&&\"hidden\"===u&&\"nowrap\"===l.getPropertyValue(\"white-space\")&&(n[0]=i),n.some(function(e){return!(Math.ceil(e.left)<Math.floor(i.left)||Math.ceil(e.top)<Math.floor(i.top)||Math.floor(e.left+e.width)>Math.ceil(i.left+i.width)||Math.floor(e.top+e.height)>Math.ceil(i.top+i.height))}))}while(e=s);return!1}function np(e){for(var t=g(e).parent;t;){if(Vp(t.actualNode))return t.actualNode;t=t.parent}}var ap=function n(a,o){var t=2<arguments.length&&void 0!==arguments[2]?arguments[2]:document,i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:0;if(999<i)throw new Error(\"Infinite loop detected\");return Array.from(t.elementsFromPoint(a,o)||[]).filter(function(e){return F(e)===t}).reduce(function(e,t){var r;return ps(t)&&(r=n(a,o,t.shadowRoot,i+1),!(e=e.concat(r)).length||!rp(e[0],t))||e.push(t),e},[])},op=function(e,t){var r,n;if(e.hasAttribute(t))return n=e.nodeName.toUpperCase(),r=e,[\"A\",\"AREA\"].includes(n)&&!e.ownerSVGElement||((r=document.createElement(\"a\")).href=e.getAttribute(t)),n=[\"https:\",\"ftps:\"].includes(r.protocol)?r.protocol.replace(/s:$/,\":\"):r.protocol,e=/^\\//.test(r.pathname)?r.pathname:\"/\".concat(r.pathname),t=(e=(e=(t=e).split(\"/\").pop())&&-1!==e.indexOf(\".\")?{pathname:t.replace(e,\"\"),filename:/index./.test(e)?\"\":e}:{pathname:t,filename:\"\"}).pathname,e=e.filename,{protocol:n,hostname:r.hostname,port:(n=r.port,[\"443\",\"80\"].includes(n)?\"\":n),pathname:/\\/$/.test(t)?t:\"\".concat(t,\"/\"),search:(e=>{var t={};if(e&&e.length){var r=e.substring(1).split(\"&\");if(r&&r.length)for(var n=0;n<r.length;n++){var a=D(r[n].split(\"=\"),2),o=a[0],a=a[1],a=void 0===a?\"\":a;t[decodeURIComponent(o)]=decodeURIComponent(a)}}return t})(r.search),hash:(n=r.hash)&&(t=n.match(/#!?\\/?/g))&&\"#\"!==D(t,1)[0]?n:\"\",filename:e}},ip=function(e,t){var r=t.getBoundingClientRect(),n=r.top,a=r.left,o=n-t.scrollTop,n=n-t.scrollTop+t.scrollHeight,i=a-t.scrollLeft,a=a-t.scrollLeft+t.scrollWidth;return!(e.left>a&&e.left>r.right||e.top>n&&e.top>r.bottom||e.right<i&&e.right<r.left||e.bottom<o&&e.bottom<r.top)&&(a=window.getComputedStyle(t),!(e.left>r.right||e.top>r.bottom)||\"scroll\"===a.overflow||\"auto\"===a.overflow||t instanceof window.HTMLBodyElement||t instanceof window.HTMLHtmlElement)},lp=0;function up(e,t,r){var n;return be(this,up),(n=ae(this,up)).shadowId=r,n.children=[],n.actualNode=e,(n.parent=t)||(lp=0),n.nodeIndex=lp++,n._isHidden=null,n._cache={},n._isXHTML=Ol(e.ownerDocument),\"input\"===e.nodeName.toLowerCase()&&(r=e.getAttribute(\"type\"),r=n._isXHTML?r:(r||\"\").toLowerCase(),qf().includes(r)||(r=\"text\"),n._type=r),A.get(\"nodeMap\")&&A.get(\"nodeMap\").set(e,n),n}le(up,p);var sp,cp=we(up,[{key:\"props\",get:function(){var e,t,r,n;return this._cache.hasOwnProperty(\"props\")||(e=(n=this.actualNode).nodeType,t=n.nodeName,r=n.id,n=n.nodeValue,this._cache.props={nodeType:e,nodeName:this._isXHTML?t:t.toLowerCase(),id:r,type:this._type,nodeValue:n},1===e&&(this._cache.props.multiple=this.actualNode.multiple,this._cache.props.value=this.actualNode.value,this._cache.props.selected=this.actualNode.selected,this._cache.props.checked=this.actualNode.checked,this._cache.props.indeterminate=this.actualNode.indeterminate)),this._cache.props}},{key:\"attr\",value:function(e){return\"function\"!=typeof this.actualNode.getAttribute?null:this.actualNode.getAttribute(e)}},{key:\"hasAttr\",value:function(e){return\"function\"==typeof this.actualNode.hasAttribute&&this.actualNode.hasAttribute(e)}},{key:\"attrNames\",get:function(){var e;return this._cache.hasOwnProperty(\"attrNames\")||(e=(this.actualNode.attributes instanceof window.NamedNodeMap?this.actualNode:this.actualNode.cloneNode(!1)).attributes,this._cache.attrNames=Array.from(e).map(function(e){return e.name})),this._cache.attrNames}},{key:\"getComputedStylePropertyValue\",value:function(e){var t=\"computedStyle_\"+e;return this._cache.hasOwnProperty(t)||(this._cache.hasOwnProperty(\"computedStyle\")||(this._cache.computedStyle=window.getComputedStyle(this.actualNode)),this._cache[t]=this._cache.computedStyle.getPropertyValue(e)),this._cache[t]}},{key:\"isFocusable\",get:function(){return this._cache.hasOwnProperty(\"isFocusable\")||(this._cache.isFocusable=C(this.actualNode)),this._cache.isFocusable}},{key:\"tabbableElements\",get:function(){return this._cache.hasOwnProperty(\"tabbableElements\")||(this._cache.tabbableElements=Pc(this)),this._cache.tabbableElements}},{key:\"clientRects\",get:function(){return this._cache.hasOwnProperty(\"clientRects\")||(this._cache.clientRects=Array.from(this.actualNode.getClientRects()).filter(function(e){return 0<e.width})),this._cache.clientRects}},{key:\"boundingClientRect\",get:function(){return this._cache.hasOwnProperty(\"boundingClientRect\")||(this._cache.boundingClientRect=this.actualNode.getBoundingClientRect()),this._cache.boundingClientRect}}]),dp=function(e){return(e||\"\").trim().replace(/\\s{2,}/g,\" \").split(\" \")},pp=\" [idsMap]\";function fp(e,t,r){var n=e[0]._selectorMap;if(n){for(var a=e[0].shadowId,o=0;o<t.length;o++)if(1<t[o].length&&t[o].some(mp))return;var i=new Set,l=(t.forEach(function(t){var e,r=((e,t,r)=>{var n=e[e.length-1],a=null,o=1<e.length||!!n.pseudos||!!n.classes;if(mp(n))a=t[\"*\"];else{if(n.id){if(!t[pp]||!Object.hasOwn(t[pp],n.id)||null==(e=t[pp][n.id])||!e.length)return;a=t[pp][n.id].filter(function(e){return e.shadowId===r})}if(n.tag&&\"*\"!==n.tag){if(null==(e=t[n.tag])||!e.length)return;var e=t[n.tag];a=a?hp(e,a):e}if(n.classes){if(null==(e=t[\"[class]\"])||!e.length)return;e=t[\"[class]\"];a=a?hp(e,a):e}if(n.attributes)for(var i=0;i<n.attributes.length;i++){var l=n.attributes[i];if(\"attrValue\"===l.type&&(o=!0),null==(u=t[\"[\".concat(l.key,\"]\")])||!u.length)return;var u=t[\"[\".concat(l.key,\"]\")];a=a?hp(u,a):u}}return{nodes:a,isComplexSelector:o}})(t,n,a);null!=r&&null!=(e=r.nodes)&&e.forEach(function(e){r.isComplexSelector&&!pu(e,t)||i.add(e)})}),[]);return i.forEach(function(e){return l.push(e)}),(l=r?l.filter(r):l).sort(function(e,t){return e.nodeIndex-t.nodeIndex})}}function mp(e){return\"*\"===e.tag&&!e.attributes&&!e.id&&!e.classes}function hp(e,t){return e.filter(function(e){return t.includes(e)})}function gp(e,t,r){Object.hasOwn(r,e)||(r[e]=[]),r[e].push(t)}function vp(t,r){1===t.props.nodeType&&(gp(t.props.nodeName,t,r),gp(\"*\",t,r),t.attrNames.forEach(function(e){\"id\"===e&&(r[pp]=r[pp]||{},dp(t.attr(e)).forEach(function(e){gp(e,t,r[pp])})),gp(\"[\".concat(e,\"]\"),t,r)}))}function bp(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:document.documentElement,t=1<arguments.length?arguments[1]:void 0,r=(sp=!1,{}),e=(A.set(\"nodeMap\",new WeakMap),A.set(\"selectorMap\",r),Dp(e,t,null));return e[0]._selectorMap=r,e[0]._hasShadowRoot=sp,e}function yp(e,t,r){e=new cp(e,t,r);return vp(e,A.get(\"selectorMap\")),e}function wp(e,t,r){var n=[];return e.forEach(function(e){e=Dp(e,r,t);e&&n.push.apply(n,w(e))}),n}function Dp(e,t,r){var n,a,o=(e=e.documentElement?e.documentElement:e).nodeName.toLowerCase();return ps(e)?(sp=!0,n=yp(e,r,t),t=\"a\"+Math.random().toString().substring(2),a=Array.from(e.shadowRoot.childNodes),n.children=wp(a,n,t),[n]):\"content\"===o&&\"function\"==typeof e.getDistributedNodes?wp(a=Array.from(e.getDistributedNodes()),r,t):\"slot\"===o&&\"function\"==typeof e.assignedNodes?((a=Array.from(e.assignedNodes())).length||(a=(e=>{var t=[];for(e=e.firstChild;e;)t.push(e),e=e.nextSibling;return t})(e)),window.getComputedStyle(e),wp(a,r,t)):e.nodeType===document.ELEMENT_NODE?(n=yp(e,r,t),a=Array.from(e.childNodes),n.children=wp(a,n,t),[n]):e.nodeType===document.TEXT_NODE?[yp(e,r)]:void 0}var xp=function(e){return e?e.trim().split(\"-\")[0].toLowerCase():\"\"},Ep=function(e){var r={};return r.none=e.none.concat(e.all),r.any=e.any,Object.keys(r).map(function(e){var t;return r[e].length&&(t=axe._audit.data.failureSummaries[e])&&\"function\"==typeof t.failureMessage?t.failureMessage(r[e].map(function(e){return e.message||\"\"})):void 0}).filter(function(e){return void 0!==e}).join(\"\\n\\n\")};function Ap(){var e=axe._audit.data.incompleteFallbackMessage;return\"string\"!=typeof(e=\"function\"==typeof e?e():e)?\"\":e}var Fp=f.resultGroups;function Cp(e,a){var t=axe.utils.aggregateResult(e);return Fp.forEach(function(e){a.resultTypes&&!a.resultTypes.includes(e)&&(t[e]||[]).forEach(function(e){Array.isArray(e.nodes)&&0<e.nodes.length&&(e.nodes=[e.nodes[0]])}),t[e]=(t[e]||[]).map(function(t){return t=Object.assign({},t),Array.isArray(t.nodes)&&0<t.nodes.length&&(t.nodes=t.nodes.map(function(e){var t,r,n;return\"object\"===te(e.node)&&(t=kp(e.node,a),Object.assign(e,t)),delete e.result,delete e.node,r=e,n=a,[\"any\",\"all\",\"none\"].forEach(function(e){Array.isArray(r[e])&&r[e].filter(function(e){return Array.isArray(e.relatedNodes)}).forEach(function(e){e.relatedNodes=e.relatedNodes.map(function(e){return kp(e,n)})})}),e})),Fp.forEach(function(e){return delete t[e]}),delete t.pageLevel,delete t.result,t})}),t}function kp(e,t){var r,e=0<arguments.length&&void 0!==e?e:{},t=1<arguments.length?t:void 0,e=rs.dqElmToSpec(e,t),n={};return axe._audit.noHtml?n.html=null:n.html=null!=(r=e.source)?r:\"Undefined\",t.elementRef&&!e.fromFrame&&(n.element=null!=(r=e.element)?r:null),!1===t.selectors&&!e.fromFrame||(n.target=null!=(r=e.selector)?r:[\":root\"]),t.ancestry&&(n.ancestry=null!=(r=e.ancestry)?r:[\":root\"]),t.xpath&&(n.xpath=null!=(r=e.xpath)?r:[\"/\"]),n}var Rp=/\\$\\{\\s?data\\s?\\}/g;function Np(e,t){if(\"string\"==typeof t)return e.replace(Rp,t);for(var r in t){var n;t.hasOwnProperty(r)&&(n=new RegExp(\"\\\\${\\\\s?data\\\\.\"+r+\"\\\\s?}\",\"g\"),r=void 0===t[r]?\"\":String(t[r]),e=e.replace(n,r))}return e}var Tp=function e(t,r){var n;if(t)return Array.isArray(r)?(r.values=r.join(\", \"),\"string\"==typeof t.singular&&\"string\"==typeof t.plural?Np(1===r.length?t.singular:t.plural,r):Np(t,r)):\"string\"==typeof t?Np(t,r):\"string\"==typeof r?Np(t[r],r):(n=t.default||Ap(),e(n=r&&r.messageKey&&t[r.messageKey]?t[r.messageKey]:n,r))},Op=function(e,t,r){var n=axe._audit.data.checks[e];if(!n)throw new Error(\"Cannot get message for unknown check: \".concat(e,\".\"));if(n.messages[t])return Tp(n.messages[t],r);throw new Error('Check \"'.concat(e,'\"\" does not have a \"').concat(t,'\" message.'))},Sp=function(e,t,r){var t=((r.rules&&r.rules[t]||{}).checks||{})[e.id],n=(r.checks||{})[e.id],a=e.enabled,e=e.options;return n&&(n.hasOwnProperty(\"enabled\")&&(a=n.enabled),n.hasOwnProperty(\"options\"))&&(e=n.options),t&&(t.hasOwnProperty(\"enabled\")&&(a=t.enabled),t.hasOwnProperty(\"options\"))&&(e=t.options),{enabled:a,options:e,absolutePaths:r.absolutePaths}};function _p(){var e,t,r,n,a=0<arguments.length&&void 0!==arguments[0]?arguments[0]:null,o=1<arguments.length&&void 0!==arguments[1]?arguments[1]:window;return a&&\"object\"===te(a)?a:\"object\"!==te(o)?{}:{testEngine:{name:\"axe-core\",version:axe.version},testRunner:{name:axe._audit.brand},testEnvironment:(a=o).navigator&&\"object\"===te(a.navigator)?(e=a.navigator,t=a.innerHeight,r=a.innerWidth,a=(e=>(e=e.screen).orientation||e.msOrientation||e.mozOrientation)(a)||{},n=a.angle,a=a.type,{userAgent:e.userAgent,windowWidth:r,windowHeight:t,orientationAngle:n,orientationType:a}):{},timestamp:(new Date).toISOString(),url:null==(e=o.location)?void 0:e.href}}function Mp(e,t){var r=t.focusable,t=t.page;return{node:e,include:[],exclude:[],initiator:!1,focusable:r&&(e=>null===(e=ff(e.getAttribute(\"tabindex\")))||0<=e)(e),size:(e=>{var t=parseInt(e.getAttribute(\"width\"),10),r=parseInt(e.getAttribute(\"height\"),10);return(isNaN(t)||isNaN(r))&&(e=e.getBoundingClientRect(),t=isNaN(t)?e.width:t,r=isNaN(r)?e.height:r),{width:t,height:r}})(e),page:t}}function Pp(e){var t=0<arguments.length&&void 0!==e?e:[],r=[];Yp(t)||(t=[t]);for(var n=0;n<t.length;n++){var a=(e=>{if(e instanceof window.Node)return e;if(\"string\"==typeof e)return[e];{var t;Qp(e)?(t=e,Ip(Array.isArray(t.fromFrames),\"fromFrames property must be an array\"),Ip(t.fromFrames.every(function(e){return!Kp(e,\"fromFrames\")}),\"Invalid context; fromFrames selector must be appended, rather than nested\"),Ip(!Kp(t,\"fromShadowDom\"),\"fromFrames and fromShadowDom cannot be used on the same object\"),e=e.fromFrames):ef(e)&&(e=[e])}if(Array.isArray(e)){var r,n=[],a=x(e);try{for(a.s();!(r=a.n()).done;){var o=r.value;if(ef(o)&&((e=>{Ip(Array.isArray(e.fromShadowDom),\"fromShadowDom property must be an array\"),Ip(e.fromShadowDom.every(function(e){return!Kp(e,\"fromFrames\")}),\"shadow selector must be inside fromFrame instead\"),Ip(e.fromShadowDom.every(function(e){return!Kp(e,\"fromShadowDom\")}),\"fromShadowDom selector must be appended, rather than nested\")})(o),o=o.fromShadowDom),\"string\"!=typeof o&&!(e=>Array.isArray(e)&&e.every(function(e){return\"string\"==typeof e}))(o))return;n.push(o)}}catch(e){a.e(e)}finally{a.f()}return n}})(t[n]);a&&r.push(a)}return r}function Ip(e,t){E(e,\"Invalid context; \".concat(t,\"\\nSee: https://github.com/dequelabs/axe-core/blob/master/doc/context.md\"))}function Bp(e,t){for(var r=[],n=0,a=e[t].length;n<a;n++){var o,i=e[t][n];i instanceof window.Node?i.documentElement instanceof window.Node?r.push(e.flatTree[0]):i.host instanceof window.Node?(o=Array.from(i.children).map(function(e){return g(e)}),r.push.apply(r,w(o))):r.push(g(i)):i&&i.length&&(1<i.length?((r,n,a)=>{r.frames=r.frames||[],Lf(a.shift()).forEach(function(t){var e=r.frames.find(function(e){return e.node===t});e||(e=Mp(t,r),r.frames.push(e)),e[n].push(a)})})(e,t,i):(o=Lf(i[0]),r.push.apply(r,w(o.map(function(e){return g(e)})))))}return r.filter(function(e){return e})}function jp(e,t){var r=this,n=(e=nu(e),this.frames=[],this.page=\"boolean\"==typeof(null==(n=e)?void 0:n.page)?e.page:void 0,this.initiator=\"boolean\"!=typeof(null==(n=e)?void 0:n.initiator)||e.initiator,this.focusable=\"boolean\"!=typeof(null==(n=e)?void 0:n.focusable)||e.focusable,this.size=\"object\"===te(null==(n=e)?void 0:n.size)?e.size:{},e=(e=>{if(Zp(e)){var t=\" must be used inside include or exclude. It should not be on the same object.\";Ip(!Kp(e,\"fromFrames\"),\"fromFrames\"+t),Ip(!Kp(e,\"fromShadowDom\"),\"fromShadowDom\"+t)}else{if(!Jp(e))return{include:[document],exclude:[]};e={include:e,exclude:[]}}return 0===(t=Pp(e.include)).length&&t.push(document),e=Pp(e.exclude),{include:t,exclude:e}})(e),this.flatTree=null!=t?t:bp((e=>{for(var t=e.include,e=e.exclude,r=Array.from(t).concat(Array.from(e)),n=0;n<r.length;n++){var a=r[n];if(a instanceof window.Element)return a.ownerDocument.documentElement;if(a instanceof window.Document)return a.documentElement}return document.documentElement})(e)),this.exclude=e.exclude,this.include=e.include,this.include=Bp(this,\"include\"),this.exclude=Bp(this,\"exclude\"),_f(\"frame, iframe\",this).forEach(function(e){var t;nf(e,r)&&(t=r,O(e=e.actualNode))&&!as(t.frames,\"node\",e)&&t.frames.push(Mp(e,t))}),void 0===this.page&&(this.page=(e=>1===(e=e.include).length&&e[0].actualNode===document.documentElement)(this),this.frames.forEach(function(e){e.page=r.page})),this);if(0===n.include.length&&0===n.frames.length)throw n=Ku.isInFrame()?\"frame\":\"page\",new Error(\"No elements found for include in \"+n+\" Context\");Array.isArray(this.include)||(this.include=Array.from(this.include)),this.include.sort(lf)}function Lp(e){return!1===(1<arguments.length&&void 0!==arguments[1]?arguments[1]:{}).iframes?[]:new jp(e).frames.map(function(e){var t=e.node,e=v(e,W);return e.initiator=!1,{frameSelector:Yl(t),frameContext:e}})}function qp(t){var e=axe._audit.rules.find(function(e){return e.id===t});if(e)return e;throw new Error(\"Cannot find rule by id: \".concat(t))}function zp(e,t){e=e.getPropertyValue(t);return[\"scroll\",\"auto\"].includes(e)}var Vp=r(function(e){var t,r,n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,a=e.scrollWidth>e.clientWidth+n,n=e.clientHeight+n<e.scrollHeight;if(a||n)return t=zp(r=window.getComputedStyle(e),\"overflow-x\"),r=zp(r,\"overflow-y\"),a&&t||n&&r?{elm:e,top:e.scrollTop,left:e.scrollLeft}:void 0}),Gp=function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:window,t=e.document.documentElement;return[void 0!==e.pageXOffset?{elm:e,top:e.pageYOffset,left:e.pageXOffset}:{elm:t,top:t.scrollTop,left:t.scrollLeft}].concat(function n(e){return Array.from(e.children||e.childNodes||[]).reduce(function(e,t){var r=Vp(t);return r&&e.push(r),e.concat(n(t))},[])}(document.body))};function $p(){return nu(k)}var Hp,Up=function(l){if(l)return function(e){var t=e.data,r=e.isCrossOrigin,r=void 0!==r&&r,n=e.shadowId,a=e.root,o=e.priority,e=e.isLink,e=void 0!==e&&e,i=l.createElement(\"style\");return e?(e=l.createTextNode('@import \"'.concat(t.href,'\"')),i.appendChild(e)):i.appendChild(l.createTextNode(t)),l.head.appendChild(i),{sheet:i.sheet,isCrossOrigin:r,shadowId:n,root:a,priority:o}};throw new Error(\"axe.utils.getStyleSheetFactory should be invoked with an argument\")},Wp=function(e){var t;return Hp&&Hp.parentNode?(void 0===Hp.styleSheet?Hp.appendChild(document.createTextNode(e)):Hp.styleSheet.cssText+=e,Hp):e?(t=document.head||document.getElementsByTagName(\"head\")[0],(Hp=document.createElement(\"style\")).type=\"text/css\",void 0===Hp.styleSheet?Hp.appendChild(document.createTextNode(e)):Hp.styleSheet.cssText=e,t.appendChild(Hp),Hp):void 0};function Yp(e){return!!e&&\"object\"===te(e)&&\"number\"==typeof e.length&&e instanceof window.Node==!1}function Kp(e,t){return!(!e||\"object\"!==te(e))&&Object.prototype.hasOwnProperty.call(e,t)}function Xp(e){return Zp(e)||Jp(e)}function Zp(t){return[\"include\",\"exclude\"].some(function(e){return Kp(t,e)&&Jp(t[e])})}function Jp(e){return\"string\"==typeof e||e instanceof window.Node||Qp(e)||ef(e)||Yp(e)}function Qp(e){return Kp(e,\"fromFrames\")}function ef(e){return Kp(e,\"fromShadowDom\")}var tf=function e(t,r){var n,a=g(t);return 9!==t.nodeType&&(11===t.nodeType&&(t=t.host),a&&null!==a._isHidden?a._isHidden:!(n=window.getComputedStyle(t,null))||!t.parentNode||\"none\"===n.getPropertyValue(\"display\")||!r&&\"hidden\"===n.getPropertyValue(\"visibility\")||\"true\"===t.getAttribute(\"aria-hidden\")||(r=e(t.assignedSlot||t.parentNode,!0),a&&(a._isHidden=r),r))},rf=function(e){var t=null!=(t=null==(t=e.props)?void 0:t.nodeName)?t:e.nodeName.toLowerCase();return\"http://www.w3.org/2000/svg\"!==e.namespaceURI&&!!k.htmlElms[t]};function nf(t,e){var r=e.include,r=void 0===r?[]:r,e=e.exclude,e=void 0===e?[]:e,r=r.filter(function(e){return us(e,t)});return 0!==r.length&&(0===(e=e.filter(function(e){return us(e,t)})).length||(r=af(r),us(af(e),r)))}function af(e){var t,r,n=x(e);try{for(n.s();!(r=n.n()).done;){var a=r.value;t&&us(a,t)||(t=a)}}catch(e){n.e(e)}finally{n.f()}return t}function of(e,n){return e.length===n.length&&e.every(function(e,t){var r=n[t];return Array.isArray(e)?e.length===r.length&&e.every(function(e,t){return r[t]===e}):e===r})}var lf=function(e,t){return(e=e.actualNode||e)===(t=t.actualNode||t)?0:4&e.compareDocumentPosition(t)?-1:1};function d(e){return e instanceof p?{vNode:e,domNode:e.actualNode}:{vNode:g(e),domNode:e}}var uf,sf,cf=function(e,n,a,o){var t,r=4<arguments.length&&void 0!==arguments[4]&&arguments[4],i=Array.from(e.cssRules);return i?(t=i.filter(function(e){return 3===e.type})).length?(t=t.filter(function(e){return e.href}).map(function(e){return e.href}).filter(function(e){return!o.includes(e)}).map(function(e,t){var t=[].concat(w(a),[t]),r=/^https?:\\/\\/|^\\/\\//i.test(e);return pf(e,n,t,o,r)}),(i=i.filter(function(e){return 3!==e.type})).length&&t.push(Promise.resolve(n.convertDataToStylesheet({data:i.map(function(e){return e.cssText}).join(),isCrossOrigin:r,priority:a,root:n.rootNode,shadowId:n.shadowId}))),Promise.all(t)):Promise.resolve({isCrossOrigin:r,priority:a,root:n.rootNode,shadowId:n.shadowId,sheet:e}):Promise.resolve()},df=function(e,t,r,n){var a=4<arguments.length&&void 0!==arguments[4]&&arguments[4];return(e=>{try{return!e.cssRules&&e.href?!1:!0}catch(e){return!1}})(e)?cf(e,t,r,n,a):pf(e.href,t,r,n,!0)},pf=function(e,t,r,n,a){return n.push(e),new Promise(function(t,r){var n=new window.XMLHttpRequest;n.open(\"GET\",e),n.timeout=f.preload.timeout,n.addEventListener(\"error\",r),n.addEventListener(\"timeout\",r),n.addEventListener(\"loadend\",function(e){if(e.loaded&&n.responseText)return t(n.responseText);r(n.responseText)}),n.send()}).then(function(e){e=t.convertDataToStylesheet({data:e,isCrossOrigin:a,priority:r,root:t.rootNode,shadowId:t.shadowId});return df(e.sheet,t,r,n,e.isCrossOrigin)})},ff=function(e){return\"string\"==typeof e&&(e=e.trim().match(/^([-+]?\\d+)/))?Number(e[1]):null};function mf(){if(window.performance)return window.performance.now()}uf=mf(),sf=!1;var M={start:function(){this.reset(),sf=!0,this.mark(\"mark_axe_start\")},end:function(){this.mark(\"mark_axe_end\"),this.measure(\"axe\",\"mark_axe_start\",\"mark_axe_end\",!0),this.logMeasures(\"axe\"),this.clearMark(\"mark_axe_start\",\"mark_axe_end\"),sf=!1},auditStart:function(){sf||this.reset(),this.mark(\"mark_audit_start\")},auditEnd:function(){this.mark(\"mark_audit_end\"),this.measure(\"audit_start_to_end\",\"mark_audit_start\",\"mark_audit_end\",!0),this.logMeasures(),this.clearMark(\"mark_audit_start\",\"mark_audit_end\")},mark:function(e){var t;null!=(t=window.performance)&&t.mark&&window.performance.mark(e)},measure:function(e,t,r){var n,a=3<arguments.length&&void 0!==arguments[3]&&arguments[3];if(null!=(n=window.performance)&&n.measure){try{window.performance.measure(e,t,r)}catch(e){this._log(e)}a||this.clearMark(t,r)}},logMeasures:function(e){function t(e){return Array.isArray(e)?e[e.length-1]:e}function r(e){a._log(\"Measure \"+e.name+\" took \"+e.duration+\"ms\")}var n,a=this;if(null!=(n=window.performance)&&n.getEntriesByType&&null!=(n=window.performance)&&n.getEntriesByName){var o=t(window.performance.getEntriesByName(\"mark_axe_start\"))||t(window.performance.getEntriesByName(\"mark_audit_start\"));if(o)for(var i=window.performance.getEntriesByType(\"measure\").filter(function(e){return e.startTime>=o.startTime}),l=0;l<i.length;++l){var u=i[l];if(u.name===e)return void r(u);e||r(u)}else this._log(\"Axe must be started before using performanceTimer\")}},timeElapsed:function(){return mf()-uf},clearMark:function(){var e;if(null!=(e=window.performance)&&e.clearMarks){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];for(var a=0,o=r;a<o.length;a++){var i=o[a];window.performance.clearMarks(i)}}},reset:function(){uf=mf()},_log:function(e){Sa(e)}};function hf(){var e,l,u,s;return document.elementsFromPoint||document.msElementsFromPoint||((e=document.createElement(\"x\")).style.cssText=\"pointer-events:auto\",e=\"auto\"===e.style.pointerEvents,l=e?\"pointer-events\":\"visibility\",u=e?\"none\":\"hidden\",(s=document.createElement(\"style\")).innerHTML=e?\"* { pointer-events: all }\":\"* { visibility: visible }\",function(e,t){var r,n,a,o=[],i=[];for(document.head.appendChild(s);(r=document.elementFromPoint(e,t))&&-1===o.indexOf(r);)o.push(r),i.push({value:r.style.getPropertyValue(l),priority:r.style.getPropertyPriority(l)}),r.style.setProperty(l,u,\"important\");for(o.indexOf(document.documentElement)<o.length-1&&(o.splice(o.indexOf(document.documentElement),1),o.push(document.documentElement)),n=i.length;a=i[--n];)o[n].style.setProperty(l,a.value||\"\",a.priority);return document.head.removeChild(s),o})}\"function\"==typeof window.addEventListener&&(document.elementsFromPoint=hf());var gf=function(e,t){return e.concat(t).filter(function(e,t,r){return r.indexOf(e)===t})};function vf(e,t,r,n,a){a=a||{};return a.vNodes=e,a.vNodesIndex=0,a.anyLevel=t,a.thisLevel=r,a.parentShadowId=n,a}var bf=function(e,t,r){e=Array.isArray(e)?e:[e];t=du(t);if(n=fp(e,t,r))return n;for(var n=e,e=t,a=r,o=A.get(\"qsa.recycledLocalVariables\",function(){return[]}),i=[],l=vf(Array.isArray(n)?n:[n],e,null,n[0].shadowId,o.pop()),u=[];l.vNodesIndex<l.vNodes.length;){for(var s,c=l.vNodes[l.vNodesIndex++],d=null,p=null,f=((null==(s=l.anyLevel)?void 0:s.length)||0)+((null==(s=l.thisLevel)?void 0:s.length)||0),m=!1,h=0;h<f;h++){var g=h<((null==(g=l.anyLevel)?void 0:g.length)||0)?l.anyLevel[h]:l.thisLevel[h-((null==(g=l.anyLevel)?void 0:g.length)||0)];if((!g[0].id||c.shadowId===l.parentShadowId)&&pu(c,g[0]))if(1===g.length)m||a&&!a(c)||(u.push(c),m=!0);else{var v=g.slice(1);if(!1===[\" \",\">\"].includes(v[0].combinator))throw new Error(\"axe.utils.querySelectorAll does not support the combinator: \"+g[1].combinator);(\">\"===v[0].combinator?d=d||[]:p=p||[]).push(v)}g[0].id&&c.shadowId!==l.parentShadowId||null==(v=l.anyLevel)||!v.includes(g)||(p=p||[]).push(g)}for(c.children&&c.children.length&&(i.push(l),l=vf(c.children,p,d,c.shadowId,o.pop()));l.vNodesIndex===l.vNodes.length&&i.length;)o.push(l),l=i.pop()}return u},yf=function(e){var t,r,l,u,e=void 0===(e=e.treeRoot)?axe._tree[0]:e;return t=[],e=bf(e=e,\"*\",function(e){return!t.includes(e.shadowId)&&(t.push(e.shadowId),!0)}).map(function(e){return{shadowId:e.shadowId,rootNode:ms(e.actualNode)}}),(e=gf(e,[])).length?(r=document.implementation.createHTMLDocument(\"Dynamic document for loading cssom\"),r=Up(r),l=r,u=[],e.forEach(function(e,t){var r=e.rootNode,e=e.shadowId,n=((e,t,r)=>{t=11===e.nodeType&&t?((n,a)=>Array.from(n.children).filter(wf).reduce(function(e,t){var r=t.nodeName.toUpperCase(),t=\"STYLE\"===r?t.textContent:t,t=a({data:t,isLink:\"LINK\"===r,root:n});return t.sheet&&e.push(t.sheet),e},[]))(e,r):(e=>Array.from(e.styleSheets).filter(function(e){return!!e.media&&Df(e.media.mediaText)}))(e);var n=[];return t.filter(function(e){if(e.href){if(n.includes(e.href))return!1;n.push(e.href)}return!0})})(r,e,l);if(!n)return Promise.all(u);var a=t+1,o={rootNode:r,shadowId:e,convertDataToStylesheet:l,rootIndex:a},i=[],t=Promise.all(n.map(function(e,t){return df(e,o,[a,t],i)}));u.push(t)}),Promise.all(u).then(function r(e){return e.reduce(function(e,t){return Array.isArray(t)?e.concat(r(t)):e.concat(t)},[])})):Promise.resolve()};function wf(e){var t=e.nodeName.toUpperCase(),r=e.getAttribute(\"href\"),n=e.getAttribute(\"rel\"),r=\"LINK\"===t&&r&&n&&e.rel.toUpperCase().includes(\"STYLESHEET\");return\"STYLE\"===t||r&&Df(e.media)}function Df(e){return!e||!e.toUpperCase().includes(\"PRINT\")}var xf=function(e){return e=void 0===(e=e.treeRoot)?axe._tree[0]:e,e=bf(e,\"video[autoplay], audio[autoplay]\",function(e){e=e.actualNode;return(\"none\"!==e.preload||0!==e.readyState||e.networkState===e.NETWORK_LOADING)&&!(e.hasAttribute(\"paused\")||e.hasAttribute(\"muted\")||(e.hasAttribute(\"src\")?!e.getAttribute(\"src\"):Array.from(e.getElementsByTagName(\"source\")).filter(function(e){return!!e.getAttribute(\"src\")}).length<=0))}),Promise.all(e.map(function(e){var r,e=e.actualNode;return r=e,new Promise(function(t){0<r.readyState&&t(r),r.addEventListener(\"loadedmetadata\",function e(){r.removeEventListener(\"loadedmetadata\",e),t(r)})})}))};function Ef(o){var i={cssom:yf,media:xf};return Af(o)?new Promise(function(t,r){var e=Ff(o),n=e.assets,a=setTimeout(function(){return r(new Error(\"Preload assets timed out.\"))},e.timeout);Promise.all(n.map(function(t){return i[t](o).then(function(e){return re({},t,e)})})).then(function(e){e=e.reduce(function(e,t){return h({},e,t)},{});clearTimeout(a),t(e)}).catch(function(e){clearTimeout(a),r(e)})}):Promise.resolve()}function Af(e){return!e||null==e.preload||(\"boolean\"==typeof e.preload?e.preload:\"object\"===te(e=e.preload)&&Array.isArray(e.assets))}function Ff(e){var t=f.preload,r=t.assets,t={assets:r,timeout:t.timeout};if(e.preload&&\"boolean\"!=typeof e.preload){if(!e.preload.assets.every(function(e){return r.includes(e.toLowerCase())}))throw new Error(\"Requested assets, not supported. Supported assets are: \".concat(r.join(\", \"),\".\"));t.assets=gf(e.preload.assets.map(function(e){return e.toLowerCase()}),[]),e.preload.timeout&&\"number\"==typeof e.preload.timeout&&!isNaN(e.preload.timeout)&&(t.timeout=e.preload.timeout)}return t}function Cf(e){var t=axe._audit.data.checks||{},r=axe._audit.data.rules||{},n=as(axe._audit.rules,\"id\",e.id)||{},a=(e.tags=nu(n.tags||[]),kf(t,!0,n)),o=kf(t,!1,n);e.nodes.forEach(function(e){e.any.forEach(a),e.all.forEach(a),e.none.forEach(o)}),cs(e,nu(r[e.id]||{}))}function kf(n,a,o){return function(e){var t=n[e.id]||{},r=t.messages||{},t=Object.assign({},t);delete t.messages,o.reviewOnFail||void 0!==e.result?t.message=e.result===a?r.pass:r.fail:(\"object\"!==te(r.incomplete)||Array.isArray(e.data)||(t.message=((t,r)=>{function n(e){return e.incomplete&&e.incomplete.default?e.incomplete.default:Ap()}if(!t||!t.missingData)return t&&t.messageKey?r.incomplete[t.messageKey]:n(r);try{var e=r.incomplete[t.missingData[0].reason];if(e)return e;throw new Error}catch(e){return\"string\"==typeof t.missingData?r.incomplete[t.missingData]:n(r)}})(e.data,r)),t.message||(t.message=r.incomplete)),\"function\"!=typeof t.message&&(t.message=Tp(t.message,e.data)),cs(e,t)}}var Rf=function(e,t){return bf(e,t)};function Nf(t,e){var r,n=axe._audit&&axe._audit.tagExclude?axe._audit.tagExclude:[],a=e.hasOwnProperty(\"include\")||e.hasOwnProperty(\"exclude\")?(r=e.include||[],r=Array.isArray(r)?r:[r],a=e.exclude||[],(a=Array.isArray(a)?a:[a]).concat(n.filter(function(e){return-1===r.indexOf(e)}))):(r=Array.isArray(e)?e:[e],n.filter(function(e){return-1===r.indexOf(e)}));return!!(r.some(function(e){return-1!==t.tags.indexOf(e)})||0===r.length&&!1!==t.enabled)&&a.every(function(e){return-1===t.tags.indexOf(e)})}var Tf=function(e,t,r){var n=r.runOnly||{},r=(r.rules||{})[e.id];return!(e.pageLevel&&!t.page)&&(\"rule\"===n.type?-1!==n.values.indexOf(e.id):r&&\"boolean\"==typeof r.enabled?r.enabled:\"tag\"===n.type&&n.values?Nf(e,n.values):Nf(e,[]))};function Of(e,t){var r,n,a;return t?(a=e.cloneNode(!1),r=Ja(a),a=1===a.nodeType?(n=a.outerHTML,A.get(n,function(){return Sf(a,r,e,t)})):Sf(a,r,e,t),Array.from(e.childNodes).forEach(function(e){a.appendChild(Of(e,t))}),a):e}function Sf(a,e,o,i){return e&&(a=document.createElement(a.nodeName),Array.from(e).forEach(function(e){var t,r,n;t=o,r=e.name,void 0!==(n=i)[r]&&(!0===n[r]||Qa(t,n[r]))||a.setAttribute(e.name,e.value)})),a}function _f(e,t){var r=[];if(axe._selectCache)for(var n=0,a=axe._selectCache.length;n<a;n++){var o=axe._selectCache[n];if(o.selector===e)return o.result}for(var i,l=t.include.reduce(function(e,t){return e.length&&us(e[e.length-1],t)||e.push(t),e},[]),u=(i=t).exclude&&0!==i.exclude.length?function(e){return nf(e,i)}:null,s=0;s<l.length;s++)var c=l[s],r=((e,t)=>{if(0===e.length)return t;var r;e.length<t.length&&(r=e,e=t,t=r);for(var n=0,a=t.length;n<a;n++)e.includes(t[n])||e.push(t[n]);return e})(r,bf(c,e,u));return axe._selectCache&&axe._selectCache.push({selector:e,result:r}),r}function Mf(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0;if(\"object\"!==te(e)||null===e)return{message:String(e)};var r,n={},a=x(f.serializableErrorProps);try{for(a.s();!(r=a.n()).done;){var o=r.value;[\"string\",\"number\",\"boolean\"].includes(te(e[o]))&&(n[o]=e[o])}}catch(e){a.e(e)}finally{a.f()}return e.cause&&(n.cause=t<10?Mf(e.cause,t+1):\"...\"),n}function Pf(e){var t,r,n=e.error,a=e.ruleId,o=e.method,e=e.errorNode;return be(this,Pf),(r=ae(this,Pf)).name=null!=(t=n.name)?t:\"RuleError\",r.message=n.message,r.stack=n.stack,n.cause&&(r.cause=Mf(n.cause)),a&&(r.ruleId=a,r.message+=\" Skipping \".concat(r.ruleId,\" rule.\")),o&&(r.method=o),e&&(r.errorNode=e),r}le(Pf,ee(Error));var If=we(Pf),Bf=function(e){e.forEach(function(e){var t=e.elm,r=e.top,e=e.left;if(t===window)return t.scroll(e,r);t.scrollTop=r,t.scrollLeft=e})};function jf(e){return function e(t,r){var n=t.shift();r=n?r.querySelector(n):null;if(0===t.length)return r;if(null==r||!r.shadowRoot)return null;return e(t,r.shadowRoot)}(Array.isArray(e)?w(e):[e],document)}function Lf(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:document,r=Array.isArray(e)?w(e):[e];return 0===e.length?[]:function e(t,r){var t=Q(t),n=t[0],a=Ee(t).slice(1);t=r.querySelectorAll(n);if(0===a.length)return Array.from(t);var o=[];var i,l=x(t);try{for(l.s();!(i=l.n()).done;){var u=i.value;null!=u&&u.shadowRoot&&o.push.apply(o,w(e(a,u.shadowRoot)))}}catch(e){l.e(e)}finally{l.f()}return o}(r,t)}var qf=function(){return[\"hidden\",\"text\",\"search\",\"tel\",\"url\",\"email\",\"password\",\"date\",\"month\",\"week\",\"time\",\"datetime-local\",\"number\",\"range\",\"color\",\"checkbox\",\"radio\",\"file\",\"submit\",\"image\",\"reset\",\"button\"]},zf=[,[,[1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,,1,1,1,1,1,1,,1],[1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,,1,1,1,,1,1,,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1],[,1,1,,1,1,1,1,1,1,1,,1,,1,1,1,1,1,1,1,1,,1,1,1,1],[1,1,1,1,1,1,,,,,,1,1,1,1,,,1,1,1,,1,,1,,1,1],[1,1,1,,1,1,,1,1,1,,1,,,1,1,1,,,1,1,1,,,,,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,,,,,1,1,1,,1,1,1,1,1,1,,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,,1,1,1],[,1,,,,,,1,,1,,,,,1,,1,,,1,1,1,,1,,,1],[1,,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1],[,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,,,1,1,1,1,,,1,,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,,1,1,,,1,,,,1,1,1,1,,1,,1,,1,,,,,,1],[1,,1,1,1,1,,,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1],[1,,1,,1,,,,,1,,1,1,1,1,1,,,,1,1,1,1],[,1,1,1,1,1,,1,1,1,,1,,1,1,1,,,1,1,1,1,1,1,1,1],[,,1,,,1,,1,,,,1,1,1,,,,,,,,,,,1],[1,1,1,1,1,1,,1,1,1,,1,1,,1,1,1,1,1,1,1,1,,,1,1,1],[1,1,1,1,1,,,1,,,1,,,1,1,1,,,,,1,,,,,,1]],[,[1,1,1,1,1,1,1,1,1,1,1,,1,,1,1,1,,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,,1,,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1],[1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,,,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1],[,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,,1,1,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[,[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1],[,1,1,1,1,1,,1,1,1,1,1,1,,1,1,,1,1,1,1,1,1,1,,1],[,1,,1,1,1,,1,1,,1,,1,1,1,1,1,1,1,1],[,1,,1,1,1,1,1,1,1,1,,,1,1,1,,,1,1,,,,,,1,1],[1,1,1,,,,,1,,,,1,1,,1,,,,,,1,,,,,1],[,1,,,1,,,1,,,,,,1],[,1,,1,,,,1,,,,1],[1,,1,1,1,,1,1,1,,1,1,1,1,1,1,1,1,1,,1,,,1,1,1,1],[,1,1,1,1,1,,,1,,,1,,1,1,,1,,1,,,,,1,,1],[,1,,,,1,,,1,1,,1,,1,1,1,1,,1,1,,,1,,,1],[,1,1,,,,,,1,,,,1,1,1,1,,1,1,1,1,1,1,,1,1,1],[,1,,1,1,1,,,1,1,1,1,1,1,,1,,,,1,1,1,,1,,1],[,1,,1,,1,,1,,1,,1,1,1,1,1,,,1,1,1],[,1,1,1,,,,1,1,1,,1,1,,,1,1,1,1,1,1,1,,1,1],[1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,,,1,1,1,1,1,1,1],[,1,1,1,,1,1,1,,1,,,,,1,1,1,,,1,,1,,,1,1],[,,,,1,,,,,,,,,,,,,,,,,1],[1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,,1,1,1,,1,1,,,,1,1,1,1,1,,,1,1,1,,,,1,1],[1,1,1,1,,,,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1],[1,,,,,,,1,,,,,,,1],[,1,1,,1,1,,1,,,,,,,,,,,,,1],[,,,,,,,,1],[1,1,1,,,,,,,,,,,,,1],[,,,,,,,,1,,,1,,,1,1,,,,,1]],[,[1,1,,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,,1,1,1,1,1,1],[,1,1,,1,1,1,1,,1,1,,1,1,1,1,1,1,1,,1,1,1,1,,1],[,,,1,,,,,,,,,,,,,,,1],[,1,,,1,1,,1,,1,1,,,,1,1,,,1,1,,,,1],[1,,,1,1,1,1,1,1,1,,1,1,1,1,,1,1,1,1,,,1,,,,1],,[,1,1,1,1,1,,1,1,1,,1,1,,1,1,,,1,1,1,1,,1,1,,1],[,1,,,1,,,1,,1,,,1,1,1,1,,,1,1,,1,1,1,1],[,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1],[,1,1,1,1,1,1,,,1,1,1,1,1,1,1,,,1,,,1,,1],[,1,,,,,,1,,,,1,1,,,,,,1,1,,,,,1],[,,,,,,,1,,,,1,,1,1],[,1,1,1,1,1,1,1,,,,1,1,1,1,1,,,1,1,,1,1,1,1,1],[,1,,,1,1,,1,,1,1,1,,,1,1,,,1,,1,1,1,1,,1],[,1,1,1,,1,1,,1,1,,1,1,,1,1,1,1,1,1,1,,1,1,1,1,1],[,,,,,,,,,,,,,,,,1],,[,1,1,1,1,1,,1,1,1,,,1,,1,1,,1,1,1,1,1,,1,,1],[,,1,,,1,,,1,1,,1,1,,1,1,,1,,,,,,,,,1],[,1,1,,1,,,,1,1,,1,,1,1,1,1,,1,1,1,1,,,,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1],[1,1],[,1,,,,,,,,,,1,1,,,,,,1,1,,1,,1,,1,1],,[,1,1,,1,,,1,,1,,,,1,1,1,,,1,,,1,,,,1],[1,1,,,1,1,,1,,,,,1,,1]],[,[,1],[,,,1,,,,1,,,,1,,,,1,,,1,,,1],[,,,,,,,,,,,,,,,,,,1,1,,,,,,1],,[1,,,,,1],[,1,,,,1,,,,1],[,1,,,,,,,,,,,1,1,,1,,,,,,,,,1,1],[,,,,,,,,,,,,,,,,,,,1,,1],[,,,,,,,,,,,,,,,,1,,,,1,,1],[,1],[,1,,1,,1,,1,,1,,1,1,1,,1,1,,1,,,,,,,1],[1,,,,,1,,,1,1,,1,,1,,1,1,,,,,1,,,1],[,1,1,,,1,,1,,1,,1,,1,1,1,1,1,,1,,1,,1,1,1,1],[1,1,1,1,1,,1,,1,,,,1,1,1,1,,1,1,,,1,1,1,1],[1,,,,,,,,,,,,,,,,,,,,1],[,,,,,,,,,1],,[,1,,,,,,1,1,1,,1,,,,1,,,1,1,1,,,1],[1,,,,,1,,1,1,1,,1,1,1,1,1,,1,,1,,1,,,1,1],[1,,1,1,,,,,1,,,,,,1,1,,,1,1,1,1,,,1,,1],[1,,,,1,,,,,,,,,,,,,1],[,,,,,1,,,1,,,,,,1],[,,,,,,,,,,,,,,,1],[,,,,,,,,,,,,,,,,,,,,1],[,1,,,,,,,,,,,,,,1],[,1,,,,1]],[,[1,1,1,,1,,1,1,1,1,1,1,1,1,1,,1,,1,,1,1,,,1,1,1],[,,,,,,,,,,,,1],[,,,,,,,,,,,,,,,,,,,1],,[,,,,,,,,,,,,,,,,,,1],[1,,,,,,,,,1,,,,1],[,,,,,,,,,,,,,,,,,,1],,[1,1,,,,1,1,,,,,,1,,,,1,,1,,1,1,,1],[1],[,,,,,,,,,,,1,,,,,,,,,,,1],[,1,,,,,,,1,1,,,1,,1,,,,1,,,,,,,1],[,,,,,,,,,,,,,,,,1,,,,,1],[,,1,,,,,1,,1],[1,,,,1,,,,,1,,,,1,1,,,,1,1,,,,,1],[,,,,,1],[,,,,,,,,,,,,,,,,,,,1],[1,,,1,1,,,,,,,1,,1,,1,1,1,1,1,1],[,,,,,1,,,,,,,1,,,,,,,1],,[,,1,1,1,1,1,,1,1,1,,,1,1,,,1,1,,1,1,1,,,1],[,,,,,,,,,,,,,,,,,,1],[,1,,,,1],,[1]],[,[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1],[,,,1,1,1,1,,,,,,1,,1,,,,1,,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,,,1],[,1,1,1,1,,1,1,1,1,1,1,1,1,,,,1,,1,,,1,1,1,1,1],[,,,,,,,,,,,1,,,,,,,,,1,,,,1],[,1,1,,1,1,,1,,,,1,1,,1,1,,,1,,1,1,,1],[,1,,1,,1,,,1,,,1,1,,1,1,,,1,1,1],[,1,1,1,1,1,,1,1,1,,,1,1,1,1,1,1,1,1,1,1,,1,1,1,1],[,,,,,,,,,1,,1,,1,1,,,,1,,,1],[,1,,,1,1,,,,,,,,,1,1,1,,,,,1],[1,,1,1,1,,,,1,1,1,1,1,,,1,,,1,,,1,,1,,1],[,1,1,,1,1,,1,1,,,,1,1,1,,,1,1,,,1,1,1,1,1,1],[1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,,1,1,,1,1,,1,,,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,,,,1,,,,,,,,,1],[,1,,,,,,,,1,,,,,1,,,,1,,,1],[,1,1,1,1,,,1,1,1,1,1,,1,,1,,1,1,1,1,1,1,1,1,1,1],[,,,,,1,,1,,,,,1,1,1,1,1,,,1,,,,1],[,1,,,,,,,,1,,,,,,,,,,,,1],[1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1],[1,1,,1,,1,1,,,,1,,1,1,1,1,1,,1,1,,,,,,1],[,1,1,1,1,1,1,1,,1,1,,,1,1,,,,1,,1,1,,1,1],[,,,,,,,,,,,,,,,,,,,,,,,,1],[,1,1,,1,1,1,1,,1,,,1,1,1,1,,,1,,,,,,,1,1],[,1,,,,,,,,1,,,,,1]],[,[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,,1,1,1,1,1],[,1,1,,,,,,,,,,,,1,1,,,,,,1],[,1,,,,,,,1],[,,,,,,,,,,,,,,1,,,,,1,,,,,,1],[1,1,,,1,,,1,1,1,,,,1],,[,,,,,,,,,,,,,1,,,,,,,,,,1],[,,,,,,,,,1,,,,,,,,,1,,,,,,,1],[1,1,1,,1,,1,1,1,1,1,1,1,1,,1,,,1,,1,,,1,1],[,,,,,,,,,1],[,1,,,,1,,,1,,,1,,,1,,,,,1],[,1,1,,1,1,,,,,,,,,,,,,,,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1],[,1,,,1,1,,1,1,1,1,,,1,1,1,,,,1,,1],[1,1,1,1,1,1,,,1,1,1,1,1,1,,1,1,,1,1,1,,1,1,,1,1],[,,,,,,,,,,,,,,,1,,,,1],,[1,1,,1,,1,,,,,,1,,1,,1,1,,1,,1,1,,1,1,,1],[,,1,,,,,,1,,,,1,,1,,,,,1],[1,,,,,,,,,1,,,,,,1,,,,1,,1,,,1],[1,,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1],[,,,1,,1,,,,,,1,,,1,,,,,,,,1],[,1,,1,,,,,,,,,,,,1],,[1,1,,,,,,,,,,,,,,,,,,,,,,1,1],[1]],[,[1,,,,,,,,,1,,,,,1,,1,,1],[,1,1,,1,1,,1,1,1,,,1,1,1,,,,1,,,1,,,,1],[,1,,,,,,,1,,,,1,,,,,,1],[1,1,1,1,1,1,,,,1,,,,,,,,,1,1,1,1],[1],[,1,1,,,1,1,,,,,1,,1,,,,,,,,1,,,,1],[1,,1,,,1,,1,,,,,1,1,1,1,,,,1,,,,1],[,,1,,,,,,,1,,,,,,,1,,,,,,,1],[1,,,,,,,,,,,,,,1,,,,1],[,,,1,,1,,,,,1,,,,1,1,,,,1],[1,,,,,1,,,1,1,,1,1,,,1,1,,1,1,1,,1,1,1,,1],[,1,1,,,,,1,,1,,1,1,1,,1,1,,,1,,1,1,1],[,1,,,,1,,,,1,,,1,,1,1,,,1,1,1,,,,,1],[1,,1,1,,1,,1,1,,1,,1,1,1,1,1,,,1,1,,,,,,1],[1,,,,,,,,,,,,,,,,,,1,,,1,,1],[,,,,,,,,,1,,,,,,1],[,,,,,,,,,,,,,,,,,,,,,1,,1],[,1,,,,1,,,1,1,,1,,,1,1,,,1,,,1,,,1,1],[1,1,,1,1,1,,1,1,1,,1,,1,1,1,,,1,,1,1,1],[1,,1,1,1,1,,,,1,,1,1,1,,1,,,1,1,1,,1,1,1,1,1],[1,,,,,,,,,,,,,1],[,,1,,,,,,,,,,,,,,,,,,,,1],[1,,,,,,,,,,,1,,1,,1,,,,1],[,,,1,,,,,,,,,1],[,1,,,,,,,,,,,,,,1,,,,,,,,,1],[,,,,,,,,1,1,,,,1,,,,,1,,,,,,,,1]],[,[1,1,1,1,1,1,1,,1,,1,1,1,1,1,1,,1,1,1,1,1,,,1,1,1],[,,,,,1,,,,1,1,1,,1,1,1,,,1,,1,1,,1],[,,,,,,,,,,,,,,,,,,,1,1],[,1,,,,,,1,,,,,,,,,,,,,1],[,,1,,,1,,1,1,1,,1,1,,1,,,,1,,1,1],,[,,1,,,1,,,,,,1,,,,1],[,,,,,,,,,1,,,,,,,,,,1],[1,1,1,1,1,1,,1,1,1,,,1,1,,1,,1,,,1,1,1,,,1],[,,,,,1,,,,,,,,,,,,,1],[,1,,,,,,,,,,,,1,,1,1,,1,1,,1],[,,,,,1,,,,,,,,,,,,,,1],[,1,1,1,1,,,,,1,,,1,,1,,,,1,1,,,,1,1],[,1,,,1,,,1,,1,1,,1,,,,,,,1],[,,1,,1,,,1,,,,,,,,,,,1,1,,,,1],[,1,,,,,,,,,,,,,,,,,1,,,,,,1],[,,,,,,,,,,,,,,,,,,1],[,1,1,,,,,,,,,,,,,,,,1,,1,1],[,,,,,,,,,,,,1],,[,1,1,1,1,,,,1,1,,1,1,1,1,1,1,,1,1,1,1,,1,,1],[1,,,,1,,,,,,,,,,1],[1,,,,,,,,,1],,[,1,,,,1,,,,,,,,,,,,,,,,,,,,1]],[,[1,1,1,1,1,1,1,1,1,1,1,1,,1,,1,1,1,1,,,,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,,1,1,,1,1,1,,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,,1,1,1,1,1,1,1,1,1,1,,,1,1,1,,1,1,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[,[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,,1,,1,1,1,1],[1,1,1,1,,1,1,1,,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1],[,,,1,1,1,1,,1,,,,1,1,,,1,1,,1],[,1,1,,1,,,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,,,,,,,,,,,,,1],[1,1,1,,,,,1,1,1,,1,1,1,1,1,,1,1,1,1,1,,,,,1],[,1,,,,,,,1,1,,,1,1,1,,1,,,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,,,1,1,1,1,1,,1,1,1,1,1,1],[,1,,,,1,,,,1,,,1,,,,1,,,,,,,1,1],[,1,1,1,1,1,,,1,1,1,,1,1,1,1,,,1,1,1,1,,,,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,,1,,,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,,1,1,1,1,1,1],[1,1,1,,1,,,1,1,1,1,,1,1,1,1,,,,1,,1,,1,,,1],[1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,,,,1,,,,,,,,,1,1,,,,,,,,,1],[,,,,,,,,,,,,,,,,,,1],[,1,,1,,1,,1,,1,,1,1,1,1,1,,,1,,1,,1,,,,1],[,1,1,1,1,1,,1,1,1,,,1,1,1,1,1,,1,1,1,,1,1,,1],[1,,,1,,,,1,1,1,,,,,1,1,,,,1,,1],[1,1,,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1],[1,1,,,,,,,,1,,1,1,,,,,,,1,,1],[,1,,,,1,,1,1,,,,1,1,,1,,,,1,1,1,,1],[,,,,,,,,,,,,,1],[,1,,,,,,1,,,,,,,1],[,,,,,,,,1,,,,1,,1,,,,,,,,,,,,1]],[,[,1,1,,1,1,1,1,,1,1,1,,1,1,,1,1,,1,1,1,1,1,1,,1],[,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1],[,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,,1,1,1,1,1,1,1,1,1,,1,,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1],[,1,1,,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[,[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,,1,,1],[1,1,1,1,1,,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,,1,1,1,1,1,1,1,1,1,1],[,1,,,1,,,,,,,,1,,,,,,1,,,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,,1,,1,1,1,1,1,1,,1,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1],[,1,1,,1,,,,1,1,1,,1,1,1,1,,,1,1,1,1,,,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,,1],[1,1,,1,,1,,1,,1,1,1,1,1,1,1,,1,1,,,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1],[1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,,1,1],[,1,1,,,,,1,1,1,,,1,,1,1,,,,1,,1,,,1,1],[,,,,,,,1,,,,1,1,1,1,1,,1,,,1,,,,,1],[1,1,1,1,,1,1,1,,1,,1,1,1,1,,1,,1,,1,1,,,1,,1],[,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,,,,1,1,,1,,1,1,1,,1,,1,1,,1,1,,1,,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,,,,,,,,1,,,,,1,,1],[,1,1,1,,1,,1,,1,,,,1,,1,,,1,,,,,1,1,1],[,1,,,1,1,,1,,1,,1,1,1,1,1,,1,1,,,1,,,1],[1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,,1,,,,,1,,1,,1,,,,,1,1,,1,,,,1,1]],[,[,1,,1,,,,,,,,1,,,,,,,1,,,,1],[,,,,,,,,,1,,1,1,1,,1,,,1,,1,1],[1,1,,,,,,,1,,,,,1,,1,,,,,,1],[,1,,,,,,,,,,1,,,,,,,,,1,1],,[,,,,,,,,,,,,,,,1,,,,1,,1],[,,1,1,,1,,1,,,,,,,,1,,,,,,1],[,,,,,,,,,,,,,,,,,,,,1,1],[,1,,,,1,,,,,,,,,1],[1,,1,1,,,,1,,,,,,,,,1,,,1,,,1,1],[,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,,,1,1,,1,1,,1,,1],[,1,,,1,1,,,,,,1,,1,,1,,,1,,1,1],[1,1,1,1,,1,,1,,1,,1,1,,1,1,1,1,1,,1,1,1,1,1,1],[,1,1,,,1,,1,,1,1,1,,,1,1,1,,1,1,1,1,,1,1],[,,,,1,,,1,,,,,,,1,,,,1,1],[,1,,,,,,,,,,1,,1,,1,,,,,1,,,,,1],,[1,1,,1,,1,,1,1,,,,,,1,1,,,1,1,1,1,1,1,1,1,1],[1,1,,1,,,,,,1,,,,,1,1,1,,,,1,1,,,1],[,1,1,,1,1,,,,1,,1,1,1,1,1,,1,1,1,1,1,,1,1,1,1],[,1,1,,,1,,,,1,,,,1,1],[,,,,1],[,,,,,,,,,1,,,1],,[,,1,,1,,,,,,,,,1,,,,,,,,,,,,1],[,,,,,,,,,,,,,1]],[,[1,1,1,1,1,1,1,1,1,1,,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1],[,,1,1,,1,1,1,1,1,,,1,1,1,1,1,,1,1,1,1,1,,,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,,1,,,,,1],[,1,,1,,,,,,1,,,,,1,1,,,,,1,1],[,1,1,,1,1,1,1,1,1,1,1,1,1,,1,1,1,,1,,,1,,1,1,1],[,1,,,,1,,,,,,,1],[,1,,,1,,,1,,1,,1,1,,1,,,,,1,,1,,,,1,1],[,1,,,1,,,1,1,1,1,1,1,1,1,1,,1,1,,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,,1,1,1,1,1,1,1,1,1],[,,,,,,,,,,,,,,,,,,,,1],[,1,1,1,,,,1,1,,,,,,1,1,1,,1,1,1,1],[1,1,1,1,1,1,1,1,1,,1,1,1,,1,1,1,1,1,1,1,1,1,1,,1,1],[,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,,1,1,1,1,1,,1,1,1,1],[,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,,,1,1,1,1,1,1,1,,1,,1,1,1,1,1,,1,1,,1,1,1,1,1],[,1,,,,1,,,,1,,1,1,1,1,1,1,1,1,1,1,1],[,1,,,,1,,,,,,,,1,,,,,,,,,,1],[,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1],[1,1,,1,1,1,,1,1,1,,,1,1,1,1,1,1,1,1,1,1,,1,,1],[1,1,,,,,,,1,1,,,,,1,1,1,1,1,,1,1,1,1,,1],[,1,1,1,1,1,1,1,,1,1,1,,1,,1,1,1,1,,1,1,,1,1,1,1],,[,1,1,,,,,1,,1,,,,1,1,1,,,1,,,,,1],[,,,,,,,,,,,,,1],[,,,,,1,,,,,,,,1,1,,,,,1,,1,,,1,1],[,,,,,1,,,1,,,,,,1]],[,[,1],,,,,,,,,,,,,,,,,,,,[1,1,1,1,1,,1,1,1,1,,1,1,1,1,,1,1,1,1,,,1,1,1,1,1],[,1,,1,,1,,,1,1,1,,1,1,1,1,1,,,1,,,,1,,1,1],[,1,,1,,1,,,1,,,,,1,,,,,,1,1],[,1,,1,,,,,1,,,,1,,1,1,1,1,1,1,1,1,,1],[,1,,,,,,,,,,,,,,,1]],[,[,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,,1,,,,,,,,,1,1,,,,1],[,,,,,,1],[,,1],[,1,1,,,1,,1,,1,1,,1,1,1,,,,1,1,1,,,,,1],,[,1,,,,1,,,,,,1,,,1,,,,1,1,,1],[,,,,,,,1,,,,,,,,,1],[,1,1,,,1,1,,,,,,1,1,1,,,,1,,1,1],[,,,,,,,1,,1,,,,,,,,,,1],[,1,1,,,,,,1,1,,,,1,,,,,,,1,,,1],,[1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,,1,,,1,,,,,1,,1,,1,,1,,,,,1],[1,1,1,1,1,1,1,1,,,,,1,1,,1,1,,1,,,1,,1],[,,,,,,,,,,,,,,1,,,,,,1],,[,,,,,,,,,1,,,,1,,1,,,,,1],[,,1,,,,,,,1,,1,1,1,1,,,,,,,,,1],[,,,1,,,,,1,,,,,1,,,,,,1,,,,1],[1,,1,1,,1,1,1,1,1,,1,,,,1,1,1,,,1,1,,,,1,1],,[1,1,,,,,,,,,,1,1,1,,1,,,1],[,,,,1,,,,,,,,,,,,,,,,,,,1],[,,,,,,,,,,,,,,1,,,,,1,,1],[,,,,,,,,1]],[,[1,1,1,1,1,1,1,,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,,,1,1,1,1,1,,1,1,,1,1,1,1,,1,1,1,1,1,1],[1,1,1,1,,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1],[,,1,,,1,,,,,,,,1,,,,,,1,,,,1],[1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,,1,1,1,1],[1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,,1,,,,1,1,1,1,1,1,,1,1,1,1,,1],[1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,,1,1,1,1,1,1,1,1,,1,1,1,,1,1,1,1,1,1,,1,1,1,1],[1,1,1,1,1,,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1],[1,,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1],[1,1,1,1,1,1,,1,1,1,1,1,1,,1,1,1,1,1,1,,1,1,1,1,1,1],[,,1,1,1,1,,1,,1,,1,1,1,1,1,1,1,1,1,1,1,1,,1,1],[1,1,,,,,,,1,,1,1,,1,1,1,,1,1,1,1,1,,,1],[1,1,1,1,,1,1,1,1,1,,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1],[1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1],[1,1,1,1,,1,,1,,1,1,1,1,1,,1,,1,1,1,1,,1,1,1,1,1],[1,1,1,1,,1,,,,,,1,,1,,,,,1,1,,,,,1],[1,,1,1,,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,,1,1,,1,,1,,,,1,1,1,1,1,,,1,1,,1,,1],[,1,1,1,1,,,,,1,,1,1,1,1,1,,,1,1,,,,1,1,1],[,1,1,1,1,1,,1,,,,,1,,1,,1,,,1,,,1,1,,1]],[,[1,1,1,1,1,1,1,1,,1,1,1,1,,1,1,1,1,1,1,,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,,1,1,1,,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,,1,1],[1,1,1,1,1,1,1,1,1,1,,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,,,,,,,,,1,,,,,1,1,,,1,,1],[1,1,1,1,1,1,1,1,1,1,1,,,,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,,,1,1,1,1,,1,1,,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1],[1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1],[,1,,,,,,1,,1,1,,1,1,1,1,1,,,1,,1,,1],[1,1,1,,1,1,1,1,,,,1,1,1,1,,1,1,1,1,1,1,1,1,1,,1],[1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1],[1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,,1,1,1,1,1,1],[,1,,1,,1,1,1,,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1],[,,1,,,,,,,,,,1,1,1,1,1,1,1,,1,1,,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,,,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1],[,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,,1,1,1,1,1,1,1,1],[,1,,,1,1,,,,1,,1,1,1,1,1,,,,1,1,1,,1,1,1],[1,1,1,1,1,1,1,1,1,,,,1,1,1,1,1,1,1,,1,1,,1,1,1],[,1,1,1,,1,,1,1,1,1,,,1,1,1,,1,1,1,1,1,,,1,1],[1,1,,,,1,,,1,1,1,,1,,1,,1,,1,1,1,1,1,,1,1,1],[,1,,,,,,,1,,1,,1,1,1,1,,,,,,,,,1]],[,[,,,,,,,,,,,,,1,1,,,,1],[,1,,,,,,,,1,,,1,,,,,,1,,,1,,,,1],,[,1,,,,1,,1,,1,1,,1,1,,,,,,,,1],[,,,,,,,,,,,,,,,,,,,1],[,,,,,,,,,1],[1,1,1,,,1,,,1,,,,,,1,1,,,,,,,,,,1],[,1,,,,,,,,,,,,,1],[,,,,,,,,,,,,,,,,,,,1,,,1],[,,,,,,,,,1],[1,1,,,,,,1,1,1,,1,1,,,,1,1,,1,,1,1,1,,1],[,1,1,1,,1,1,,,1,,1,1,1,1,,,,,,,1,,1,,1],[,1,1,1,1,,,1,,1,,,,1,1,1,1,,1,1,,1],[,1,,,1,1,,1,,1,,1,,1,1,,1,,1,,,1,,,1,,1],[,,,,,,,,,,,1,,,1],[,,,,,,,,,1,,,,,,,,,,,,,1],,[1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,,1,,1,1,1,1,1,1,1],[,1,,,,,,,1,1,,1,,,,,1,,,1,,1],[,1,,,,1,,,1,,,,,,,,1,,1,,,1],[,,,,,,,,,,,,,1,1,,,,1,,,1],[,,,,,1,,,1,,,,1],[,1],,[,1],[1,,,,,,,,,,,,,,1,,,,,1]],[,[,1,,,,1,1,1,1,1,1,,1,1,1,1,1,,1,1,,1,1,,,1],[,,1,,,,,,,,,1],,,[1,,,1,1,,,,,,,,1,1,,1,1,,1],,[,,,,,,,,,,,,,,,,,,1,,1],,[1,,,1,1,,1,1,,,,,1,,1,,,,,1,1,,1],[,,,,,,,,,,,1],[,1,,,,,,,,1,1,1,1,1,1,1,1,,,,1,1,,,,,1],[,,,,,,,,,,,,,,,,1,,,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,,,1,1,1,1,,1,1,1,1,1,1],[,,,,,,,,,,,1,,1,,,1],[1,,,,,,,,,,,,,,,,,,1,,1],,,[,1,,,,,,,,,,,,,,1,,,,1,1],[,,,,,,,,,1,,,1,,1,,,,,,,,1],[,,,,,,,,,,,,,,,1],[,,,,,,,,,,,,,1,1,,,,,,1],,[,1]],[,[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,,,1,1,,1,1,1,1,1,1,,,1,1,1,1,1,,1,1],[,1,,,,,,,,1],[,,,,1,,,1,,,1,1,,,,,,,,,1,1,,,,1],[,1,,1,1,,,1,1,1,,,,1,1,1,1,,1,1,1,1,,1],[,,,,,,,1],[,1,1,,,,,1,,1,,,,,,1,,,,,,1,,1,,1],[,1,,,,,,1,,,,1,,,,,,,,,,1],[,,1,1,,1,1,1,1,1,1,1,1,1,1,,,,1,,1,1,1,1,,1],[,1,,,,,,,,1],[,1,1,,1,,,,,,,,1,,,,,,1,,,1,,1,,1],[,1,,1,,1,,1,1,1,,1,1,1,,1,,,1,1,,1,1,1,1,1],[,1,1,1,1,1,,1,1,1,,,,1,1,1,,,,1,1,,,1,1],[,,1,1,1,1,,1,,1,,1,,1,1,1,1,,,,,1,,1,,1],[1,1,1,1,1,1,1,1,,1,,1,,1,1,1,,,1,1,,,,1,,1],[,,,1],,[,1,1,,1,,,1,1,1,,1,1,1,1,1,1,,1,1,,1,1,1,1,1,1],[,1,,,,,,1,,1,,1,,,,,,,1,1,,1,1],[,,1,,,,1,,1,1,,1,,1,,,,,,,,,,1],[,1,1,,1,,,,1,,,,1,1,1,,,,1,,1,1,1,,1,1],,[,1,1,,,,,,,,,,,,,1,,,1,,,,,1],[,1,,,,,,,,,,,,,,,,,,,,,,1],[,1,1,,,,,,,1,,,,1,1,,,,1,,,,,,,1]],[,[,1,1,1,1,1,,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1],[,1,1,1,1,1,,1,,1,1,,,1,1,1,1,,1,,,,,1,1,1],[,,1,1,,1,,1,1,,,,1,1,1,1,,,1,,1,1,1,1,,1],[,1,,1,,,,,,,,1,,1,,1,,1,,,,,,,,1],[,,1,,1,,,1,,,,,1,1,,,1,,1,1,1,1],[,1],[,1,1,,1,,1,1,,1,,,1,1,1,,,,1,,,1,,1],[1,1,,1,1,1,,,,,,,,1,,,,,1,,1,1,1],[,1,1,,,,,,,1,,,1,,1,,1,,1,1,,,1,,,1],[,,1,,,,,,,,,,,,,,,,,,1],[,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,1,1,1,,1,,1,,,,,1,1,1,,,1,,1,,,,1],[,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,,1,,,1,1,1,1,1,,1,1,1,,1,1,1,1,1,,,,1,1],[,,,1,1,,,1,,1,,1,,1,1,1,1,,1,,,,,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,,,,,,,,,,,,,,,,,,,1],[,1,1,,1,1,,1,,1,,,,1,1,,,1,1,,1,1,,1],[,1,1,1,1,1,,,1,1,1,,1,1,1,1,1,1,1,1,,1,1,,,1],[,1,1,1,1,1,,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1,,1,1],[,1,1,,1,,,1,,,1,,1,1,1,1,1,,1,,1,1],[,,,,,1,,,,1,,,,,1,1,,,,1],[,1,,1,1,1,,1,,,1,1,1,,,1,,,1,,1,,,1],[,,1,,,,,,,,,1,,1,,,,,1,,1],[,1,1,,,,,,,,1,1,1,,,,,,,,1,,,,,1],[,,,,,,,,1,,,,,1,,,1]],[,[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,1,,1,1,,,1,1,1,1,1,1,1,1,,,,,,,,,1,1],[,,,,,,,,1,,,,1,,1,,1,,1],[,1,,,1,1,,1,,,,1,,,,,,,,1],[,1,,1,,1,,,,1,1,,1,,1,,,,1,1,1,1,1,,,1],,[,1,,,,,,,,1,,,1,1,,,1,,1,1,,1,,1],[,1,,,1,,,,,,,,1,,,,,,,1],[1,1,,,,,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,,1,1,1],,[,1,,,,,,1,1,1,,1,1,1,1,1,,,1,,1,1,,,,1],[,1,1,,,1,,1,,1,,,1,1,1,1,,,1,,,1,,,,1],[,1,1,1,1,1,,1,1,1,,1,1,1,1,1,1,1,1,1,1,,,,1,,1],[,1,1,,1,1,,1,1,,,1,1,,1,1,,1,,1,,1],[1,,1,,,,,1,,1,,1,1,1,1,,,,,1,1,,,,1,1],[,1,1,,,,,1,1,,,1,,1,1,1,1,,,,,,,,,,1],,[,1,1,,,1,,,,1,,1,1,1,1,1,,,,1,,,,1,,1],[,,,1,1,,,1,,,,,1,1,1,1,1,,1,1,,,,,,1],[,1,,,,,,,,,,,1,,,,1,,,,,,,1,,1],[,1,1,1,1,1,1,1,,1,1,1,1,1,1,,1,1,1,,1,1,,1,1,1,1],[,1,,,,,,,,,,,,,,,,,,,1],[,1,,,,,,1,,,,,1,,1,,,1,1,,1,1,,1],[,1,,,,,,1,,,,,1,1,,,,,,,,1,,,,1],[,,,,,,,,,,,,,,,,,,1,,,1,,,,,1],[,,,,,,,1,,,,1]],[,[1,1,1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1,1,1,1,1,1,1,1,1],[,1,,1,,1,,,,,,,1,,,,,,,,1,1,,1],[,1,,,1,,,,1],[,,,,,,,,,,1],[,1,,,,,,1,1,,,,,1,1],,[,1,1,,,,,,1,,,,,1,1,,,,1],[1,,1,,1,,,,,1,,,,,1,,,,,,,,,1,1],[,1,1,,,,,,,,,1,1,1,1,,,,1,,,,,1,,,1],,[,1,1,,1,,,1,1,,,1,,,1,1,1,,1,,1,1,1,,,,1],[,1,,,,1,,,,,1,,,1,1,,,1,,1,,1,,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,1,,,1,1,,1,,,,1,,,,,,,,1],[,,,1,,,,,1,,,,,1,,1,,1,1,1],[,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[,,,,,1],[,1,,,,,,1,,,,,,,1,1,1,,,1],[,1,,,,,,,,,,1,1,1,,,,,1,,,1],[,,,,,1,,1,,,,,1,1,1,,1,1,,1,1,1,,,1,1],[1,1,,,,,,,1,,,,,1,1,,,,,,,,,,,1],,[,1],[,,,,,,,,,,,,,,,,,,,,,,,,1],[,,1,,,,,1,,,1,,,,1,,1],[,1,,,,,,,,,1]]];function Vf(e){e=Array.isArray(e)?e:zf;var n=[];return e.forEach(function(e,t){var r=String.fromCharCode(t+96).replace(\"`\",\"\");Array.isArray(e)?n=n.concat(Vf(e).map(function(e){return r+e})):n.push(r)}),n}var Gf=function(e){for(var t=zf;e.length<3;)e+=\"`\";for(var r=0;r<=e.length-1;r++)if(!(t=t[e.charCodeAt(r)-96]))return!1;return!0},Xi=(le($f,p),we($f,[{key:\"props\",get:function(){return this._props}},{key:\"attr\",value:function(e){return null!=(e=this._attrs[e])?e:null}},{key:\"hasAttr\",value:function(e){return void 0!==this._attrs[e]}},{key:\"attrNames\",get:function(){return Object.keys(this._attrs)}}]));function $f(e){var t,n,a;return be(this,$f),(t=ae(this,$f))._props=(e=>{var t=null!=(t=e.nodeName)?t:Wf[e.nodeType],r=null!=(r=null!=(r=e.nodeType)?r:Uf[e.nodeName])?r:1,n=(E(\"number\"==typeof r,\"nodeType has to be a number, got '\".concat(r,\"'\")),E(\"string\"==typeof t,\"nodeName has to be a string, got '\".concat(t,\"'\")),t=t.toLowerCase(),null);return\"input\"===t&&(n=(e.type||e.attributes&&e.attributes.type||\"\").toLowerCase(),qf().includes(n)||(n=\"text\")),e=h({},e,{nodeType:r,nodeName:t}),n&&(e.type=n),delete e.attributes,Object.freeze(e)})(e),t._attrs=(e=(e=e).attributes,n=void 0===e?{}:e,a={htmlFor:\"for\",className:\"class\"},Object.keys(n).reduce(function(e,t){var r=n[t];return E(\"object\"!==te(r)||null===r,\"expects attributes not to be an object, '\".concat(t,\"' was\")),void 0!==r&&(e[a[t]||t]=null!==r?String(r):null),e},{})),t}var Hf,Uf={\"#cdata-section\":2,\"#text\":3,\"#comment\":8,\"#document\":9,\"#document-fragment\":11},Wf={},Yf=(Object.keys(Uf).forEach(function(e){Wf[Uf[e]]=e}),Xi),Kf=function(t,r){if(t=t||function(){},r=r||axe.log,!axe._audit)throw new Error(\"No audit configured\");var n=axe.utils.queue(),a=[],e=(Object.keys(axe.plugins).forEach(function(e){n.defer(function(t){function r(e){a.push(e),t()}try{axe.plugins[e].cleanup(t,r)}catch(e){r(e)}})}),axe.utils.getFlattenedTree(document.body));axe.utils.querySelectorAll(e,\"iframe, frame\").forEach(function(r){n.defer(function(e,t){return axe.utils.sendCommandToFrame(r.actualNode,{command:\"cleanup-plugin\"},e,t)})}),n.then(function(e){0===a.length?t(e):r(a)}).catch(r)},Xf={};function Zf(e){return Xf.hasOwnProperty(e)}function Jf(e){return\"string\"==typeof e&&Xf[e]?Xf[e]:\"function\"==typeof e?e:Hf}function Qf(e){var t=axe._audit;if(!t)throw new Error(\"No audit configured\");if(e.axeVersion||e.ver){var r=e.axeVersion||e.ver;if(!/^\\d+\\.\\d+\\.\\d+(-canary)?/.test(r))throw new Error(\"Invalid configured version \".concat(r));var n=D(r.split(\"-\"),2),a=n[0],n=n[1],a=D(a.split(\".\").map(Number),3),o=a[0],i=a[1],a=a[2],l=D(axe.version.split(\"-\"),2),u=l[0],l=l[1],u=D(u.split(\".\").map(Number),3),s=u[0],c=u[1],u=u[2];if(o!==s||c<i||c===i&&u<a||o===s&&i===c&&a===u&&n&&n!==l)throw new Error(\"Configured version \".concat(r,\" is not compatible with current axe version \").concat(axe.version))}if(e.reporter&&(\"function\"==typeof e.reporter||Zf(e.reporter))&&(t.reporter=e.reporter),e.checks){if(!Array.isArray(e.checks))throw new TypeError(\"Checks property must be an array\");e.checks.forEach(function(e){if(!e.id)throw new TypeError(\"Configured check \".concat(JSON.stringify(e),\" is invalid. Checks must be an object with at least an id property\"));t.addCheck(e)})}var d,p=[];if(e.rules){if(!Array.isArray(e.rules))throw new TypeError(\"Rules property must be an array\");e.rules.forEach(function(e){if(!e.id)throw new TypeError(\"Configured rule \".concat(JSON.stringify(e),\" is invalid. Rules must be an object with at least an id property\"));p.push(e.id),t.addRule(e)})}if(e.disableOtherRules&&t.rules.forEach(function(e){!1===p.includes(e.id)&&(e.enabled=!1)}),void 0!==e.branding?t.setBranding(e.branding):t._constructHelpUrls(),e.tagExclude&&(t.tagExclude=e.tagExclude),e.locale&&t.applyLocale(e.locale),e.standards&&(d=e.standards,Object.keys(Yc).forEach(function(e){d[e]&&(Yc[e]=ss(Yc[e],d[e]))})),e.noHtml&&(t.noHtml=!0),e.allowedOrigins){if(!Array.isArray(e.allowedOrigins))throw new TypeError(\"Allowed origins property must be an array\");if(e.allowedOrigins.includes(\"*\"))throw new Error('\"*\" is not allowed. Use \"'.concat(f.allOrigins,'\" instead'));t.setAllowedOrigins(e.allowedOrigins)}}function em(e){var t=(e=e||[]).length?axe._audit.rules.filter(function(t){return!!e.filter(function(e){return-1!==t.tags.indexOf(e)}).length}):axe._audit.rules,r=axe._audit.data.rules||{};return t.map(function(e){var t=r[e.id]||{};return{ruleId:e.id,description:t.description,help:t.help,helpUrl:t.helpUrl,tags:e.tags,actIds:e.actIds}})}function tm(e,t,r){if(![\"SCRIPT\",\"HEAD\",\"TITLE\",\"NOSCRIPT\",\"STYLE\",\"TEMPLATE\"].includes(e.nodeName.toUpperCase())&&Ad(r)){r=window.getComputedStyle(e);if(\"none\"===r.getPropertyValue(\"display\"))return;if(\"hidden\"===r.getPropertyValue(\"visibility\")){r=s(e),e=r&&window.getComputedStyle(r);if(!e||\"hidden\"!==e.getPropertyValue(\"visibility\"))return}}return!0}var rm={},nm=(Pe(rm,{getAllCells:function(){return nm},getCellPosition:function(){return e1},getHeaders:function(){return om},getScope:function(){return t1},isColumnHeader:function(){return r1},isDataCell:function(){return im},isDataTable:function(){return lm},isHeader:function(){return um},isRowHeader:function(){return n1},toArray:function(){return Qc},toGrid:function(){return Qc},traverse:function(){return sm}}),function(e){for(var t,r,n=[],a=0,o=e.rows.length;a<o;a++)for(t=0,r=e.rows[a].cells.length;t<r;t++)n.push(e.rows[a].cells[t]);return n});function am(e,t,r){for(var n,a=\"row\"===e?\"_rowHeaders\":\"_colHeaders\",o=\"row\"===e?n1:r1,i=r[t.y][t.x],l=i.colSpan-1,u=i.getAttribute(\"rowspan\"),u=0===parseInt(u)||0===i.rowspan?r.length:i.rowSpan,i=t.y+(u-1),s=t.x+l,c=\"row\"===e?t.y:0,d=\"row\"===e?0:t.x,p=[],f=i;c<=f&&!n;f--)for(var m=s;d<=m;m--){var h=r[f]?r[f][m]:void 0;if(h){var g=axe.utils.getNodeFromTree(h);if(g[a]){n=g[a];break}p.push(h)}}return n=(n||[]).concat(p.filter(o)),p.forEach(function(e){axe.utils.getNodeFromTree(e)[a]=n}),n}var om=function(e,t){if(e.getAttribute(\"headers\")){var r=zc(e,\"headers\");if(r.filter(function(e){return e}).length)return r}return t=t||Qc(vs(e,\"table\")),r=e1(e,t),e=am(\"row\",r,t),r=am(\"col\",r,t),[].concat(e,r).reverse()},im=function(e){var t;return!(!e.children.length&&!e.textContent.trim())&&((t=R(e))?[\"cell\",\"gridcell\"].includes(t):\"TD\"===e.nodeName.toUpperCase())},lm=function(e){var t=R(e);if((\"presentation\"===t||\"none\"===t)&&!C(e))return!1;if(\"true\"===e.getAttribute(\"contenteditable\")||vs(e,'[contenteditable=\"true\"]'))return!0;if(\"grid\"===t||\"treegrid\"===t||\"table\"===t)return!0;if(\"landmark\"===Sd(t))return!0;if(\"0\"===e.getAttribute(\"datatable\"))return!1;if(e.getAttribute(\"summary\"))return!0;if(e.tHead||e.tFoot||e.caption)return!0;for(var r=0,n=e.children.length;r<n;r++)if(\"COLGROUP\"===e.children[r].nodeName.toUpperCase())return!0;for(var a,o,i,l=0,u=e.rows.length,s=!1,c=0;c<u;c++)for(var d,p=0,f=(d=e.rows[c]).cells.length;p<f;p++){if(\"TH\"===(a=d.cells[p]).nodeName.toUpperCase())return!0;if(s||a.offsetWidth===a.clientWidth&&a.offsetHeight===a.clientHeight||(s=!0),a.getAttribute(\"scope\")||a.getAttribute(\"headers\")||a.getAttribute(\"abbr\"))return!0;if([\"columnheader\",\"rowheader\"].includes(R(a)))return!0;if(1===a.children.length&&\"ABBR\"===a.children[0].nodeName.toUpperCase())return!0;l++}if(e.getElementsByTagName(\"table\").length)return!1;if(u<2)return!1;if(1===(t=e.rows[Math.ceil(u/2)]).cells.length&&1===t.cells[0].colSpan)return!1;if(5<=t.cells.length)return!0;if(s)return!0;for(var m=0;m<u;m++){if(d=e.rows[m],o&&o!==window.getComputedStyle(d).getPropertyValue(\"background-color\"))return!0;if(o=window.getComputedStyle(d).getPropertyValue(\"background-color\"),i&&i!==window.getComputedStyle(d).getPropertyValue(\"background-image\"))return!0;i=window.getComputedStyle(d).getPropertyValue(\"background-image\")}return 20<=u||!(Ls(e).width>.95*qs(window).width||l<10||e.querySelector(\"object, embed, iframe, applet\"))},um=function(e){return!(!r1(e)&&!n1(e))||!!e.getAttribute(\"id\")&&(e=m(e.getAttribute(\"id\")),!!document.querySelector('[headers~=\"'.concat(e,'\"]')))},sm=function(e,t,r,n){if(Array.isArray(t)&&(n=r,r=t,t={x:0,y:0}),\"string\"==typeof e)switch(e){case\"left\":e={x:-1,y:0};break;case\"up\":e={x:0,y:-1};break;case\"right\":e={x:1,y:0};break;case\"down\":e={x:0,y:1}}return function e(t,r,n,a){var o,i=n[r.y]?n[r.y][r.x]:void 0;return i?\"function\"==typeof a&&!0===(o=a(i,r,n))?[i]:((o=e(t,{x:r.x+t.x,y:r.y+t.y},n,a)).unshift(i),o):[]}(e,{x:t.x+e.x,y:t.y+e.y},r,n)},cm={},dm=(Pe(cm,{allowedAttr:function(){return dm},arialabelText:function(){return $c},arialabelledbyText:function(){return Gc},getAccessibleRefs:function(){return fm},getElementUnallowedRoles:function(){return vm},getExplicitRole:function(){return R},getImplicitRole:function(){return E1},getOwnedVirtual:function(){return T1},getRole:function(){return T},getRoleType:function(){return Sd},getRolesByType:function(){return ym},getRolesWithNameFromContents:function(){return Em},implicitNodes:function(){return Fm},implicitRole:function(){return E1},isAccessibleRef:function(){return Cm},isAriaRoleAllowedOnElement:function(){return mm},isComboboxPopup:function(){return km},isUnsupportedRole:function(){return Kc},isValidRole:function(){return Xc},label:function(){return Nm},labelVirtual:function(){return dd},lookupTable:function(){return Am},namedFromContents:function(){return N1},requiredAttr:function(){return Tm},requiredContext:function(){return Om},requiredOwned:function(){return Sm},validateAttr:function(){return Mm},validateAttrValue:function(){return _m}}),function(e){var e=k.ariaRoles[e],t=w(Jc());return e&&(e.allowedAttrs&&t.push.apply(t,w(e.allowedAttrs)),e.requiredAttrs)&&t.push.apply(t,w(e.requiredAttrs)),t}),pm=/^idrefs?$/,fm=function(e){e=e.actualNode||e;var t=(t=F(e)).documentElement||t,r=A.get(\"idRefsByRoot\",function(){return new Map}),n=r.get(t);return n||(n=new Map,r.set(t,n),function e(t,r,n){if(t.hasAttribute){var a;\"LABEL\"===t.nodeName.toUpperCase()&&t.hasAttribute(\"for\")&&(a=t.getAttribute(\"for\"),r.has(a)?r.get(a).push(t):r.set(a,[t]));for(var o=0;o<n.length;++o){var i=N(t.getAttribute(n[o])||\"\");if(i){var l,u=x(dp(i));try{for(u.s();!(l=u.n()).done;){var s=l.value;r.has(s)?r.get(s).push(t):r.set(s,[t])}}catch(e){u.e(e)}finally{u.f()}}}}for(var c=0;c<t.childNodes.length;c++)1===t.childNodes[c].nodeType&&e(t.childNodes[c],r,n)}(t,n,Object.keys(k.ariaAttrs).filter(function(e){e=k.ariaAttrs[e].type;return pm.test(e)}))),null!=(r=n.get(e.id))?r:[]},mm=function(e,t){var e=e instanceof p?e:g(e),r=E1(e),e=x1(e);return Array.isArray(e.allowedRoles)?e.allowedRoles.includes(t):t!==r&&!!e.allowedRoles},hm=[\"doc-backlink\",\"doc-biblioentry\",\"doc-biblioref\",\"doc-cover\",\"doc-endnote\",\"doc-glossref\",\"doc-noteref\"],gm={header:\"banner\",footer:\"contentinfo\"},vm=function(e){var n,t,a=!(1<arguments.length&&void 0!==arguments[1])||arguments[1],o=d(e).vNode;return rf(o)?(e=o.props.nodeName,n=E1(o)||gm[e],e=[],((t=o)?(t.hasAttr(\"role\")&&(t=dp(t.attr(\"role\").toLowerCase()),e=e.concat(t)),e.filter(function(e){return Xc(e)})):e).filter(function(e){var t=o,r=n;return!(a&&e===r||(!hm.includes(e)||Sd(e)===r)&&mm(t,e))})):[]},bm=function(t){return Object.keys(k.ariaRoles).filter(function(e){return k.ariaRoles[e].type===t})},ym=function(e){return bm(e)},wm=function(){return A.get(\"ariaRolesNameFromContent\",function(){return Object.keys(k.ariaRoles).filter(function(e){return k.ariaRoles[e].nameFromContent})})};function Dm(e){return null===e}function xm(e){return null!==e}var Em=function(){return wm()},Am=((Ji={attributes:{\"aria-activedescendant\":{type:\"idref\",allowEmpty:!0,unsupported:!1},\"aria-atomic\":{type:\"boolean\",values:[\"true\",\"false\"],unsupported:!1},\"aria-autocomplete\":{type:\"nmtoken\",values:[\"inline\",\"list\",\"both\",\"none\"],unsupported:!1},\"aria-busy\":{type:\"boolean\",values:[\"true\",\"false\"],unsupported:!1},\"aria-checked\":{type:\"nmtoken\",values:[\"true\",\"false\",\"mixed\",\"undefined\"],unsupported:!1},\"aria-colcount\":{type:\"int\",unsupported:!1},\"aria-colindex\":{type:\"int\",unsupported:!1},\"aria-colspan\":{type:\"int\",unsupported:!1},\"aria-controls\":{type:\"idrefs\",allowEmpty:!0,unsupported:!1},\"aria-current\":{type:\"nmtoken\",allowEmpty:!0,values:[\"page\",\"step\",\"location\",\"date\",\"time\",\"true\",\"false\"],unsupported:!1},\"aria-describedby\":{type:\"idrefs\",allowEmpty:!0,unsupported:!1},\"aria-describedat\":{unsupported:!0,unstandardized:!0},\"aria-details\":{type:\"idref\",allowEmpty:!0,unsupported:!1},\"aria-disabled\":{type:\"boolean\",values:[\"true\",\"false\"],unsupported:!1},\"aria-dropeffect\":{type:\"nmtokens\",values:[\"copy\",\"move\",\"reference\",\"execute\",\"popup\",\"none\"],unsupported:!1},\"aria-errormessage\":{type:\"idref\",allowEmpty:!0,unsupported:!1},\"aria-expanded\":{type:\"nmtoken\",values:[\"true\",\"false\",\"undefined\"],unsupported:!1},\"aria-flowto\":{type:\"idrefs\",allowEmpty:!0,unsupported:!1},\"aria-grabbed\":{type:\"nmtoken\",values:[\"true\",\"false\",\"undefined\"],unsupported:!1},\"aria-haspopup\":{type:\"nmtoken\",allowEmpty:!0,values:[\"true\",\"false\",\"menu\",\"listbox\",\"tree\",\"grid\",\"dialog\"],unsupported:!1},\"aria-hidden\":{type:\"boolean\",values:[\"true\",\"false\"],unsupported:!1},\"aria-invalid\":{type:\"nmtoken\",allowEmpty:!0,values:[\"true\",\"false\",\"spelling\",\"grammar\"],unsupported:!1},\"aria-keyshortcuts\":{type:\"string\",allowEmpty:!0,unsupported:!1},\"aria-label\":{type:\"string\",allowEmpty:!0,unsupported:!1},\"aria-labelledby\":{type:\"idrefs\",allowEmpty:!0,unsupported:!1},\"aria-level\":{type:\"int\",unsupported:!1},\"aria-live\":{type:\"nmtoken\",values:[\"off\",\"polite\",\"assertive\"],unsupported:!1},\"aria-modal\":{type:\"boolean\",values:[\"true\",\"false\"],unsupported:!1},\"aria-multiline\":{type:\"boolean\",values:[\"true\",\"false\"],unsupported:!1},\"aria-multiselectable\":{type:\"boolean\",values:[\"true\",\"false\"],unsupported:!1},\"aria-orientation\":{type:\"nmtoken\",values:[\"horizontal\",\"vertical\"],unsupported:!1},\"aria-owns\":{type:\"idrefs\",allowEmpty:!0,unsupported:!1},\"aria-placeholder\":{type:\"string\",allowEmpty:!0,unsupported:!1},\"aria-posinset\":{type:\"int\",unsupported:!1},\"aria-pressed\":{type:\"nmtoken\",values:[\"true\",\"false\",\"mixed\",\"undefined\"],unsupported:!1},\"aria-readonly\":{type:\"boolean\",values:[\"true\",\"false\"],unsupported:!1},\"aria-relevant\":{type:\"nmtokens\",values:[\"additions\",\"removals\",\"text\",\"all\"],unsupported:!1},\"aria-required\":{type:\"boolean\",values:[\"true\",\"false\"],unsupported:!1},\"aria-roledescription\":{type:\"string\",allowEmpty:!0,unsupported:!1},\"aria-rowcount\":{type:\"int\",unsupported:!1},\"aria-rowindex\":{type:\"int\",unsupported:!1},\"aria-rowspan\":{type:\"int\",unsupported:!1},\"aria-selected\":{type:\"nmtoken\",values:[\"true\",\"false\",\"undefined\"],unsupported:!1},\"aria-setsize\":{type:\"int\",unsupported:!1},\"aria-sort\":{type:\"nmtoken\",values:[\"ascending\",\"descending\",\"other\",\"none\"],unsupported:!1},\"aria-valuemax\":{type:\"decimal\",unsupported:!1},\"aria-valuemin\":{type:\"decimal\",unsupported:!1},\"aria-valuenow\":{type:\"decimal\",unsupported:!1},\"aria-valuetext\":{type:\"string\",unsupported:!1}},globalAttributes:[\"aria-atomic\",\"aria-busy\",\"aria-controls\",\"aria-current\",\"aria-describedby\",\"aria-details\",\"aria-disabled\",\"aria-dropeffect\",\"aria-flowto\",\"aria-grabbed\",\"aria-haspopup\",\"aria-hidden\",\"aria-invalid\",\"aria-keyshortcuts\",\"aria-label\",\"aria-labelledby\",\"aria-live\",\"aria-owns\",\"aria-relevant\",\"aria-roledescription\"]}).role={alert:{type:\"widget\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"section\"]},alertdialog:{type:\"widget\",attributes:{allowed:[\"aria-expanded\",\"aria-modal\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"dialog\",\"section\"]},application:{type:\"landmark\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\",\"aria-activedescendant\"]},owned:null,nameFrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"article\",\"audio\",\"embed\",\"iframe\",\"object\",\"section\",\"svg\",\"video\"]},article:{type:\"structure\",attributes:{allowed:[\"aria-expanded\",\"aria-posinset\",\"aria-setsize\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:null,implicit:[\"article\"],unsupported:!1},banner:{type:\"landmark\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:null,implicit:[\"header\"],unsupported:!1,allowedElements:[\"section\"]},button:{type:\"widget\",attributes:{allowed:[\"aria-expanded\",\"aria-pressed\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\",\"contents\"],context:null,implicit:[\"button\",'input[type=\"button\"]','input[type=\"image\"]','input[type=\"reset\"]','input[type=\"submit\"]',\"summary\"],unsupported:!1,allowedElements:[{nodeName:\"a\",attributes:{href:xm}}]},cell:{type:\"structure\",attributes:{allowed:[\"aria-colindex\",\"aria-colspan\",\"aria-rowindex\",\"aria-rowspan\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\",\"contents\"],context:[\"row\"],implicit:[\"td\",\"th\"],unsupported:!1},checkbox:{type:\"widget\",attributes:{allowed:[\"aria-checked\",\"aria-required\",\"aria-readonly\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\",\"contents\"],context:null,implicit:['input[type=\"checkbox\"]'],unsupported:!1,allowedElements:[\"button\"]},columnheader:{type:\"structure\",attributes:{allowed:[\"aria-colindex\",\"aria-colspan\",\"aria-expanded\",\"aria-rowindex\",\"aria-rowspan\",\"aria-required\",\"aria-readonly\",\"aria-selected\",\"aria-sort\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\",\"contents\"],context:[\"row\"],implicit:[\"th\"],unsupported:!1},combobox:{type:\"composite\",attributes:{allowed:[\"aria-autocomplete\",\"aria-required\",\"aria-activedescendant\",\"aria-orientation\",\"aria-errormessage\"],required:[\"aria-expanded\"]},owned:{all:[\"listbox\",\"tree\",\"grid\",\"dialog\",\"textbox\"]},nameFrom:[\"author\"],context:null,unsupported:!1,allowedElements:[{nodeName:\"input\",properties:{type:[\"text\",\"search\",\"tel\",\"url\",\"email\"]}}]},command:{nameFrom:[\"author\"],type:\"abstract\",unsupported:!1},complementary:{type:\"landmark\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:null,implicit:[\"aside\"],unsupported:!1,allowedElements:[\"section\"]},composite:{nameFrom:[\"author\"],type:\"abstract\",unsupported:!1},contentinfo:{type:\"landmark\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:null,implicit:[\"footer\"],unsupported:!1,allowedElements:[\"section\"]},definition:{type:\"structure\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:null,implicit:[\"dd\",\"dfn\"],unsupported:!1},dialog:{type:\"widget\",attributes:{allowed:[\"aria-expanded\",\"aria-modal\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:null,implicit:[\"dialog\"],unsupported:!1,allowedElements:[\"section\"]},directory:{type:\"structure\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\",\"contents\"],context:null,unsupported:!1,allowedElements:[\"ol\",\"ul\"]},document:{type:\"structure\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:null,implicit:[\"body\"],unsupported:!1,allowedElements:[\"article\",\"embed\",\"iframe\",\"object\",\"section\",\"svg\"]},\"doc-abstract\":{type:\"section\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"section\"]},\"doc-acknowledgments\":{type:\"landmark\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"section\"]},\"doc-afterword\":{type:\"landmark\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"section\"]},\"doc-appendix\":{type:\"landmark\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"section\"]},\"doc-backlink\":{type:\"link\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\",\"contents\"],context:null,unsupported:!1,allowedElements:[{nodeName:\"a\",attributes:{href:xm}}]},\"doc-biblioentry\":{type:\"listitem\",attributes:{allowed:[\"aria-expanded\",\"aria-level\",\"aria-posinset\",\"aria-setsize\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:[\"doc-bibliography\"],unsupported:!1,allowedElements:[\"li\"]},\"doc-bibliography\":{type:\"landmark\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:{one:[\"doc-biblioentry\"]},nameFrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"section\"]},\"doc-biblioref\":{type:\"link\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\",\"contents\"],context:null,unsupported:!1,allowedElements:[{nodeName:\"a\",attributes:{href:xm}}]},\"doc-chapter\":{type:\"landmark\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,namefrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"section\"]},\"doc-colophon\":{type:\"section\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,namefrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"section\"]},\"doc-conclusion\":{type:\"landmark\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,namefrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"section\"]},\"doc-cover\":{type:\"img\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,namefrom:[\"author\"],context:null,unsupported:!1},\"doc-credit\":{type:\"section\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,namefrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"section\"]},\"doc-credits\":{type:\"landmark\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,namefrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"section\"]},\"doc-dedication\":{type:\"section\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,namefrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"section\"]},\"doc-endnote\":{type:\"listitem\",attributes:{allowed:[\"aria-expanded\",\"aria-level\",\"aria-posinset\",\"aria-setsize\",\"aria-errormessage\"]},owned:null,namefrom:[\"author\"],context:[\"doc-endnotes\"],unsupported:!1,allowedElements:[\"li\"]},\"doc-endnotes\":{type:\"landmark\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:{one:[\"doc-endnote\"]},namefrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"section\"]},\"doc-epigraph\":{type:\"section\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,namefrom:[\"author\"],context:null,unsupported:!1},\"doc-epilogue\":{type:\"landmark\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,namefrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"section\"]},\"doc-errata\":{type:\"landmark\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,namefrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"section\"]},\"doc-example\":{type:\"section\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,namefrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"aside\",\"section\"]},\"doc-footnote\":{type:\"section\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,namefrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"aside\",\"footer\",\"header\"]},\"doc-foreword\":{type:\"landmark\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,namefrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"section\"]},\"doc-glossary\":{type:\"landmark\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:[\"term\",\"definition\"],namefrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"dl\"]},\"doc-glossref\":{type:\"link\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,namefrom:[\"author\",\"contents\"],context:null,unsupported:!1,allowedElements:[{nodeName:\"a\",attributes:{href:xm}}]},\"doc-index\":{type:\"navigation\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,namefrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"nav\",\"section\"]},\"doc-introduction\":{type:\"landmark\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,namefrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"section\"]},\"doc-noteref\":{type:\"link\",attributes:{allowed:[\"aria-expanded\"]},owned:null,namefrom:[\"author\",\"contents\"],context:null,unsupported:!1,allowedElements:[{nodeName:\"a\",attributes:{href:xm}}]},\"doc-notice\":{type:\"note\",attributes:{allowed:[\"aria-expanded\"]},owned:null,namefrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"section\"]},\"doc-pagebreak\":{type:\"separator\",attributes:{allowed:[\"aria-expanded\"]},owned:null,namefrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"hr\"]},\"doc-pagelist\":{type:\"navigation\",attributes:{allowed:[\"aria-expanded\"]},owned:null,namefrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"nav\",\"section\"]},\"doc-part\":{type:\"landmark\",attributes:{allowed:[\"aria-expanded\"]},owned:null,namefrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"section\"]},\"doc-preface\":{type:\"landmark\",attributes:{allowed:[\"aria-expanded\"]},owned:null,namefrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"section\"]},\"doc-prologue\":{type:\"landmark\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,namefrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"section\"]},\"doc-pullquote\":{type:\"none\",attributes:{allowed:[\"aria-expanded\"]},owned:null,namefrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"aside\",\"section\"]},\"doc-qna\":{type:\"section\",attributes:{allowed:[\"aria-expanded\"]},owned:null,namefrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"section\"]},\"doc-subtitle\":{type:\"sectionhead\",attributes:{allowed:[\"aria-expanded\"]},owned:null,namefrom:[\"author\"],context:null,unsupported:!1,allowedElements:{nodeName:[\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\"]}},\"doc-tip\":{type:\"note\",attributes:{allowed:[\"aria-expanded\"]},owned:null,namefrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"aside\"]},\"doc-toc\":{type:\"navigation\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,namefrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"nav\",\"section\"]},feed:{type:\"structure\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:{one:[\"article\"]},nameFrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"article\",\"aside\",\"section\"]},figure:{type:\"structure\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\",\"contents\"],context:null,implicit:[\"figure\"],unsupported:!1},form:{type:\"landmark\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:null,implicit:[\"form\"],unsupported:!1},grid:{type:\"composite\",attributes:{allowed:[\"aria-activedescendant\",\"aria-expanded\",\"aria-colcount\",\"aria-level\",\"aria-multiselectable\",\"aria-readonly\",\"aria-rowcount\",\"aria-errormessage\"]},owned:{one:[\"rowgroup\",\"row\"]},nameFrom:[\"author\"],context:null,implicit:[\"table\"],unsupported:!1},gridcell:{type:\"widget\",attributes:{allowed:[\"aria-colindex\",\"aria-colspan\",\"aria-expanded\",\"aria-rowindex\",\"aria-rowspan\",\"aria-selected\",\"aria-readonly\",\"aria-required\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\",\"contents\"],context:[\"row\"],implicit:[\"td\",\"th\"],unsupported:!1},group:{type:\"structure\",attributes:{allowed:[\"aria-activedescendant\",\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:null,implicit:[\"details\",\"optgroup\"],unsupported:!1,allowedElements:[\"dl\",\"figcaption\",\"fieldset\",\"figure\",\"footer\",\"header\",\"ol\",\"ul\"]},heading:{type:\"structure\",attributes:{required:[\"aria-level\"],allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\",\"contents\"],context:null,implicit:[\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\"],unsupported:!1},img:{type:\"structure\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:null,implicit:[\"img\"],unsupported:!1,allowedElements:[\"embed\",\"iframe\",\"object\",\"svg\"]},input:{nameFrom:[\"author\"],type:\"abstract\",unsupported:!1},landmark:{nameFrom:[\"author\"],type:\"abstract\",unsupported:!1},link:{type:\"widget\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\",\"contents\"],context:null,implicit:[\"a[href]\",\"area[href]\"],unsupported:!1,allowedElements:[\"button\",{nodeName:\"input\",properties:{type:[\"image\",\"button\"]}}]},list:{type:\"structure\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:{all:[\"listitem\"]},nameFrom:[\"author\"],context:null,implicit:[\"ol\",\"ul\",\"dl\"],unsupported:!1},listbox:{type:\"composite\",attributes:{allowed:[\"aria-activedescendant\",\"aria-multiselectable\",\"aria-readonly\",\"aria-required\",\"aria-expanded\",\"aria-orientation\",\"aria-errormessage\"]},owned:{all:[\"option\"]},nameFrom:[\"author\"],context:null,implicit:[\"select\"],unsupported:!1,allowedElements:[\"ol\",\"ul\"]},listitem:{type:\"structure\",attributes:{allowed:[\"aria-level\",\"aria-posinset\",\"aria-setsize\",\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\",\"contents\"],context:[\"list\"],implicit:[\"li\",\"dt\"],unsupported:!1},log:{type:\"widget\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"section\"]},main:{type:\"landmark\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:null,implicit:[\"main\"],unsupported:!1,allowedElements:[\"article\",\"section\"]},marquee:{type:\"widget\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"section\"]},math:{type:\"structure\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:null,implicit:[\"math\"],unsupported:!1},menu:{type:\"composite\",attributes:{allowed:[\"aria-activedescendant\",\"aria-expanded\",\"aria-orientation\",\"aria-errormessage\"]},owned:{one:[\"menuitem\",\"menuitemradio\",\"menuitemcheckbox\"]},nameFrom:[\"author\"],context:null,implicit:['menu[type=\"context\"]'],unsupported:!1,allowedElements:[\"ol\",\"ul\"]},menubar:{type:\"composite\",attributes:{allowed:[\"aria-activedescendant\",\"aria-expanded\",\"aria-orientation\",\"aria-errormessage\"]},owned:{one:[\"menuitem\",\"menuitemradio\",\"menuitemcheckbox\"]},nameFrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"ol\",\"ul\"]},menuitem:{type:\"widget\",attributes:{allowed:[\"aria-posinset\",\"aria-setsize\",\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\",\"contents\"],context:[\"menu\",\"menubar\"],implicit:['menuitem[type=\"command\"]'],unsupported:!1,allowedElements:[\"button\",\"li\",{nodeName:\"iput\",properties:{type:[\"image\",\"button\"]}},{nodeName:\"a\",attributes:{href:xm}}]},menuitemcheckbox:{type:\"widget\",attributes:{allowed:[\"aria-checked\",\"aria-posinset\",\"aria-setsize\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\",\"contents\"],context:[\"menu\",\"menubar\"],implicit:['menuitem[type=\"checkbox\"]'],unsupported:!1,allowedElements:[{nodeName:[\"button\",\"li\"]},{nodeName:\"input\",properties:{type:[\"checkbox\",\"image\",\"button\"]}},{nodeName:\"a\",attributes:{href:xm}}]},menuitemradio:{type:\"widget\",attributes:{allowed:[\"aria-checked\",\"aria-selected\",\"aria-posinset\",\"aria-setsize\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\",\"contents\"],context:[\"menu\",\"menubar\"],implicit:['menuitem[type=\"radio\"]'],unsupported:!1,allowedElements:[{nodeName:[\"button\",\"li\"]},{nodeName:\"input\",properties:{type:[\"image\",\"button\",\"radio\"]}},{nodeName:\"a\",attributes:{href:xm}}]},navigation:{type:\"landmark\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:null,implicit:[\"nav\"],unsupported:!1,allowedElements:[\"section\"]},none:{type:\"structure\",attributes:null,owned:null,nameFrom:[\"author\"],context:null,unsupported:!1,allowedElements:[{nodeName:[\"article\",\"aside\",\"dl\",\"embed\",\"figcaption\",\"fieldset\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"hr\",\"iframe\",\"li\",\"ol\",\"section\",\"ul\"]},{nodeName:\"img\",attributes:{alt:xm}}]},note:{type:\"structure\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"aside\"]},option:{type:\"widget\",attributes:{allowed:[\"aria-selected\",\"aria-posinset\",\"aria-setsize\",\"aria-checked\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\",\"contents\"],context:[\"listbox\"],implicit:[\"option\"],unsupported:!1,allowedElements:[{nodeName:[\"button\",\"li\"]},{nodeName:\"input\",properties:{type:[\"checkbox\",\"button\"]}},{nodeName:\"a\",attributes:{href:xm}}]},presentation:{type:\"structure\",attributes:null,owned:null,nameFrom:[\"author\"],context:null,unsupported:!1,allowedElements:[{nodeName:[\"article\",\"aside\",\"dl\",\"embed\",\"figcaption\",\"fieldset\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"hr\",\"iframe\",\"li\",\"ol\",\"section\",\"ul\"]},{nodeName:\"img\",attributes:{alt:xm}}]},progressbar:{type:\"widget\",attributes:{allowed:[\"aria-valuetext\",\"aria-valuenow\",\"aria-valuemax\",\"aria-valuemin\",\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:null,implicit:[\"progress\"],unsupported:!1},radio:{type:\"widget\",attributes:{allowed:[\"aria-selected\",\"aria-posinset\",\"aria-setsize\",\"aria-required\",\"aria-errormessage\",\"aria-checked\"]},owned:null,nameFrom:[\"author\",\"contents\"],context:null,implicit:['input[type=\"radio\"]'],unsupported:!1,allowedElements:[{nodeName:[\"button\",\"li\"]},{nodeName:\"input\",properties:{type:[\"image\",\"button\"]}}]},radiogroup:{type:\"composite\",attributes:{allowed:[\"aria-activedescendant\",\"aria-required\",\"aria-expanded\",\"aria-readonly\",\"aria-errormessage\",\"aria-orientation\"]},owned:{all:[\"radio\"]},nameFrom:[\"author\"],context:null,unsupported:!1,allowedElements:{nodeName:[\"ol\",\"ul\",\"fieldset\"]}},range:{nameFrom:[\"author\"],type:\"abstract\",unsupported:!1},region:{type:\"landmark\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:null,implicit:[\"section[aria-label]\",\"section[aria-labelledby]\",\"section[title]\"],unsupported:!1,allowedElements:{nodeName:[\"article\",\"aside\"]}},roletype:{type:\"abstract\",unsupported:!1},row:{type:\"structure\",attributes:{allowed:[\"aria-activedescendant\",\"aria-colindex\",\"aria-expanded\",\"aria-level\",\"aria-selected\",\"aria-rowindex\",\"aria-errormessage\"]},owned:{one:[\"cell\",\"columnheader\",\"rowheader\",\"gridcell\"]},nameFrom:[\"author\",\"contents\"],context:[\"rowgroup\",\"grid\",\"treegrid\",\"table\"],implicit:[\"tr\"],unsupported:!1},rowgroup:{type:\"structure\",attributes:{allowed:[\"aria-activedescendant\",\"aria-expanded\",\"aria-errormessage\"]},owned:{all:[\"row\"]},nameFrom:[\"author\",\"contents\"],context:[\"grid\",\"table\",\"treegrid\"],implicit:[\"tbody\",\"thead\",\"tfoot\"],unsupported:!1},rowheader:{type:\"structure\",attributes:{allowed:[\"aria-colindex\",\"aria-colspan\",\"aria-expanded\",\"aria-rowindex\",\"aria-rowspan\",\"aria-required\",\"aria-readonly\",\"aria-selected\",\"aria-sort\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\",\"contents\"],context:[\"row\"],implicit:[\"th\"],unsupported:!1},scrollbar:{type:\"widget\",attributes:{required:[\"aria-controls\",\"aria-valuenow\"],allowed:[\"aria-valuetext\",\"aria-orientation\",\"aria-errormessage\",\"aria-valuemax\",\"aria-valuemin\"]},owned:null,nameFrom:[\"author\"],context:null,unsupported:!1},search:{type:\"landmark\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:null,unsupported:!1,allowedElements:{nodeName:[\"aside\",\"form\",\"section\"]}},searchbox:{type:\"widget\",attributes:{allowed:[\"aria-activedescendant\",\"aria-autocomplete\",\"aria-multiline\",\"aria-readonly\",\"aria-required\",\"aria-placeholder\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:null,implicit:['input[type=\"search\"]'],unsupported:!1,allowedElements:{nodeName:\"input\",properties:{type:\"text\"}}},section:{nameFrom:[\"author\",\"contents\"],type:\"abstract\",unsupported:!1},sectionhead:{nameFrom:[\"author\",\"contents\"],type:\"abstract\",unsupported:!1},select:{nameFrom:[\"author\"],type:\"abstract\",unsupported:!1},separator:{type:\"structure\",attributes:{allowed:[\"aria-expanded\",\"aria-orientation\",\"aria-valuenow\",\"aria-valuemax\",\"aria-valuemin\",\"aria-valuetext\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:null,implicit:[\"hr\"],unsupported:!1,allowedElements:[\"li\"]},slider:{type:\"widget\",attributes:{allowed:[\"aria-valuetext\",\"aria-orientation\",\"aria-readonly\",\"aria-errormessage\",\"aria-valuemax\",\"aria-valuemin\"],required:[\"aria-valuenow\"]},owned:null,nameFrom:[\"author\"],context:null,implicit:['input[type=\"range\"]'],unsupported:!1},spinbutton:{type:\"widget\",attributes:{allowed:[\"aria-valuetext\",\"aria-required\",\"aria-readonly\",\"aria-errormessage\",\"aria-valuemax\",\"aria-valuemin\"],required:[\"aria-valuenow\"]},owned:null,nameFrom:[\"author\"],context:null,implicit:['input[type=\"number\"]'],unsupported:!1,allowedElements:{nodeName:\"input\",properties:{type:[\"text\",\"tel\"]}}},status:{type:\"widget\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:null,implicit:[\"output\"],unsupported:!1,allowedElements:[\"section\"]},structure:{type:\"abstract\",unsupported:!1},switch:{type:\"widget\",attributes:{allowed:[\"aria-errormessage\"],required:[\"aria-checked\"]},owned:null,nameFrom:[\"author\",\"contents\"],context:null,unsupported:!1,allowedElements:[\"button\",{nodeName:\"input\",properties:{type:[\"checkbox\",\"image\",\"button\"]}},{nodeName:\"a\",attributes:{href:xm}}]},tab:{type:\"widget\",attributes:{allowed:[\"aria-selected\",\"aria-expanded\",\"aria-setsize\",\"aria-posinset\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\",\"contents\"],context:[\"tablist\"],unsupported:!1,allowedElements:[{nodeName:[\"button\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"li\"]},{nodeName:\"input\",properties:{type:\"button\"}},{nodeName:\"a\",attributes:{href:xm}}]},table:{type:\"structure\",attributes:{allowed:[\"aria-colcount\",\"aria-rowcount\",\"aria-errormessage\"]},owned:{one:[\"rowgroup\",\"row\"]},nameFrom:[\"author\",\"contents\"],context:null,implicit:[\"table\"],unsupported:!1},tablist:{type:\"composite\",attributes:{allowed:[\"aria-activedescendant\",\"aria-expanded\",\"aria-level\",\"aria-multiselectable\",\"aria-orientation\",\"aria-errormessage\"]},owned:{all:[\"tab\"]},nameFrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"ol\",\"ul\"]},tabpanel:{type:\"widget\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"section\"]},term:{type:\"structure\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\",\"contents\"],context:null,implicit:[\"dt\"],unsupported:!1},textbox:{type:\"widget\",attributes:{allowed:[\"aria-activedescendant\",\"aria-autocomplete\",\"aria-multiline\",\"aria-readonly\",\"aria-required\",\"aria-placeholder\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:null,implicit:['input[type=\"text\"]','input[type=\"email\"]','input[type=\"password\"]','input[type=\"tel\"]','input[type=\"url\"]',\"input:not([type])\",\"textarea\"],unsupported:!1},timer:{type:\"widget\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:null,unsupported:!1},toolbar:{type:\"structure\",attributes:{allowed:[\"aria-activedescendant\",\"aria-expanded\",\"aria-orientation\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\"],context:null,implicit:['menu[type=\"toolbar\"]'],unsupported:!1,allowedElements:[\"ol\",\"ul\"]},tooltip:{type:\"structure\",attributes:{allowed:[\"aria-expanded\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\",\"contents\"],context:null,unsupported:!1},tree:{type:\"composite\",attributes:{allowed:[\"aria-activedescendant\",\"aria-multiselectable\",\"aria-required\",\"aria-expanded\",\"aria-orientation\",\"aria-errormessage\"]},owned:{all:[\"treeitem\"]},nameFrom:[\"author\"],context:null,unsupported:!1,allowedElements:[\"ol\",\"ul\"]},treegrid:{type:\"composite\",attributes:{allowed:[\"aria-activedescendant\",\"aria-colcount\",\"aria-expanded\",\"aria-level\",\"aria-multiselectable\",\"aria-readonly\",\"aria-required\",\"aria-rowcount\",\"aria-orientation\",\"aria-errormessage\"]},owned:{one:[\"rowgroup\",\"row\"]},nameFrom:[\"author\"],context:null,unsupported:!1},treeitem:{type:\"widget\",attributes:{allowed:[\"aria-checked\",\"aria-selected\",\"aria-expanded\",\"aria-level\",\"aria-posinset\",\"aria-setsize\",\"aria-errormessage\"]},owned:null,nameFrom:[\"author\",\"contents\"],context:[\"group\",\"tree\"],unsupported:!1,allowedElements:[\"li\",{nodeName:\"a\",attributes:{href:xm}}]},widget:{type:\"abstract\",unsupported:!1},window:{nameFrom:[\"author\"],type:\"abstract\",unsupported:!1}},Ji.implicitHtmlRole=l1,Ji.elementsAllowedNoRole=[{nodeName:[\"base\",\"body\",\"caption\",\"col\",\"colgroup\",\"datalist\",\"dd\",\"details\",\"dt\",\"head\",\"html\",\"keygen\",\"label\",\"legend\",\"main\",\"map\",\"math\",\"meta\",\"meter\",\"noscript\",\"optgroup\",\"param\",\"picture\",\"progress\",\"script\",\"source\",\"style\",\"template\",\"textarea\",\"title\",\"track\"]},{nodeName:\"area\",attributes:{href:xm}},{nodeName:\"input\",properties:{type:[\"color\",\"data\",\"datatime\",\"file\",\"hidden\",\"month\",\"number\",\"password\",\"range\",\"reset\",\"submit\",\"time\",\"week\"]}},{nodeName:\"link\",attributes:{href:xm}},{nodeName:\"menu\",attributes:{type:\"context\"}},{nodeName:\"menuitem\",attributes:{type:[\"command\",\"checkbox\",\"radio\"]}},{nodeName:\"select\",condition:function(e){return e instanceof axe.AbstractVirtualNode||(e=axe.utils.getNodeFromTree(e)),1<Number(e.attr(\"size\"))},properties:{multiple:!0}},{nodeName:[\"clippath\",\"cursor\",\"defs\",\"desc\",\"feblend\",\"fecolormatrix\",\"fecomponenttransfer\",\"fecomposite\",\"feconvolvematrix\",\"fediffuselighting\",\"fedisplacementmap\",\"fedistantlight\",\"fedropshadow\",\"feflood\",\"fefunca\",\"fefuncb\",\"fefuncg\",\"fefuncr\",\"fegaussianblur\",\"feimage\",\"femerge\",\"femergenode\",\"femorphology\",\"feoffset\",\"fepointlight\",\"fespecularlighting\",\"fespotlight\",\"fetile\",\"feturbulence\",\"filter\",\"hatch\",\"hatchpath\",\"lineargradient\",\"marker\",\"mask\",\"meshgradient\",\"meshpatch\",\"meshrow\",\"metadata\",\"mpath\",\"pattern\",\"radialgradient\",\"solidcolor\",\"stop\",\"switch\",\"view\"]}],Ji.elementsAllowedAnyRole=[{nodeName:\"a\",attributes:{href:Dm}},{nodeName:\"img\",attributes:{alt:Dm}},{nodeName:[\"abbr\",\"address\",\"canvas\",\"div\",\"p\",\"pre\",\"blockquote\",\"ins\",\"del\",\"output\",\"span\",\"table\",\"tbody\",\"thead\",\"tfoot\",\"td\",\"em\",\"strong\",\"small\",\"s\",\"cite\",\"q\",\"dfn\",\"abbr\",\"time\",\"code\",\"var\",\"samp\",\"kbd\",\"sub\",\"sup\",\"i\",\"b\",\"u\",\"mark\",\"ruby\",\"rt\",\"rp\",\"bdi\",\"bdo\",\"br\",\"wbr\",\"th\",\"tr\"]}],Ji.evaluateRoleForElement={A:function(e){var t=e.node;return\"http://www.w3.org/2000/svg\"===t.namespaceURI||!t.href.length||e.out},AREA:function(e){return!e.node.href},BUTTON:function(e){var t=e.node,r=e.role,e=e.out;return\"menu\"===t.getAttribute(\"type\")?\"menuitem\"===r:e},IMG:function(e){var t=e.node,r=e.role,n=e.out;switch(t.alt){case null:return n;case\"\":return\"presentation\"===r||\"none\"===r;default:return\"presentation\"!==r&&\"none\"!==r}},INPUT:function(e){var t=e.node,r=e.role,n=e.out;switch(t.type){case\"button\":case\"image\":return n;case\"checkbox\":return\"button\"===r&&t.hasAttribute(\"aria-pressed\")?!0:n;case\"radio\":return\"menuitemradio\"===r;case\"text\":return\"combobox\"===r||\"searchbox\"===r||\"spinbutton\"===r;case\"tel\":return\"combobox\"===r||\"spinbutton\"===r;case\"url\":case\"search\":case\"email\":return\"combobox\"===r;default:return!1}},LI:function(e){var t=e.node,e=e.out;return!axe.utils.matchesSelector(t,\"ol li, ul li\")||e},MENU:function(e){return\"context\"!==e.node.getAttribute(\"type\")},OPTION:function(e){e=e.node;return!axe.utils.matchesSelector(e,\"select > option, datalist > option, optgroup > option\")},SELECT:function(e){var t=e.node;return!t.multiple&&t.size<=1&&\"menu\"===e.role},SVG:function(e){var t=e.node;return!(!t.parentNode||\"http://www.w3.org/2000/svg\"!==t.parentNode.namespaceURI)||e.out}},Ji.rolesOfType={widget:[\"button\",\"checkbox\",\"dialog\",\"gridcell\",\"link\",\"log\",\"marquee\",\"menuitem\",\"menuitemcheckbox\",\"menuitemradio\",\"option\",\"progressbar\",\"radio\",\"scrollbar\",\"searchbox\",\"slider\",\"spinbutton\",\"status\",\"switch\",\"tab\",\"tabpanel\",\"textbox\",\"timer\",\"tooltip\",\"tree\",\"treeitem\"]},Ji),Fm=function(e){var t=null,e=Am.role[e];return t=e&&e.implicit?nu(e.implicit):t},Cm=function(e){return!!fm(e).length};function km(e){var t=(1<arguments.length&&void 0!==arguments[1]?arguments[1]:{}).popupRoles,r=T(e);if(!(t=null!=t?t:Hc[\"aria-haspopup\"].values).includes(r))return!1;t=(e=>{for(;e=e.parent;)if(null!==T(e,{noPresentational:!0}))return e;return null})(e);if(Rm(t))return!0;r=e.props.id;if(!r)return!1;if(e.actualNode)return t=ms(e.actualNode).querySelectorAll('[aria-owns~=\"'.concat(r,'\"][role~=\"combobox\"]:not(select),\\n     [aria-controls~=\"').concat(r,'\"][role~=\"combobox\"]:not(select)')),Array.from(t).some(Rm);throw new Error(\"Unable to determine combobox popup without an actualNode\")}var Rm=function(e){return e&&\"combobox\"===T(e)},Nm=function(e){return e=g(e),dd(e)},Tm=function(e){return(e=k.ariaRoles[e])&&Array.isArray(e.requiredAttrs)?w(e.requiredAttrs):[]},Om=function(e){return(e=k.ariaRoles[e])&&Array.isArray(e.requiredContext)?w(e.requiredContext):null},Sm=function(e){return(e=k.ariaRoles[e])&&Array.isArray(e.requiredOwned)?w(e.requiredOwned):null},_m=function(e,t){var r,n=(e=e instanceof p?e:g(e)).attr(t),a=k.ariaAttrs[t];if(!a)return!0;if(a.allowEmpty&&(!n||\"\"===n.trim()))return!0;switch(a.type){case\"boolean\":return[\"true\",\"false\"].includes(n.toLowerCase());case\"nmtoken\":return\"string\"==typeof n&&a.values.includes(n.toLowerCase());case\"nmtokens\":return(r=dp(n)).reduce(function(e,t){return e&&a.values.includes(t)},0!==r.length);case\"idref\":try{var o=F(e.actualNode);return!(!n||!o.getElementById(n))}catch(e){throw new TypeError(\"Cannot resolve id references for partial DOM\")}case\"idrefs\":return zc(e,t).some(function(e){return!!e});case\"string\":return\"\"!==n.trim();case\"decimal\":return!(!(r=n.match(/^[-+]?([0-9]*)\\.?([0-9]*)$/))||!r[1]&&!r[2]);case\"int\":o=void 0!==a.minValue?a.minValue:-1/0;return/^[-+]?[0-9]+$/.test(n)&&parseInt(n)>=o}},Mm=function(e){return!!k.ariaAttrs[e]};function Pm(e){var t=nm(e),n=this,a=[],t=(t.forEach(function(e){var t=e.getAttribute(\"headers\"),t=(t&&(a=a.concat(t.split(/\\s+/))),e.getAttribute(\"aria-labelledby\"));t&&(a=a.concat(t.split(/\\s+/)))}),t.filter(function(e){return\"\"!==N(e.textContent)&&(\"TH\"===e.nodeName.toUpperCase()||-1!==[\"rowheader\",\"columnheader\"].indexOf(R(e)))})),o=Qc(e),i=!0;return t.forEach(function(t){var e,r;t.getAttribute(\"id\")&&a.includes(t.getAttribute(\"id\"))||(e=e1(t,o),r=!1,(r=!(r=r1(t)?sm(\"down\",e,o).find(function(e){return!r1(e)&&om(e,o).includes(t)}):r)&&n1(t)?sm(\"right\",e,o).find(function(e){return!n1(e)&&om(e,o).includes(t)}):r)||n.relatedNodes(t),i=i&&r)}),!!i||void 0}var Im=[\"cell-header-not-in-table\",\"cell-header-not-th\",\"header-refs-self\",\"empty-hdrs\"],Bm=Im[0],jm=Im[1],Lm=Im[2],qm=Im[3];function zm(e){var t=[],r=nm(e),n=Qc(e);return r.forEach(function(e){Fd(e)&&im(e)&&!Nm(e)&&!om(e,n).some(function(e){return null!==e&&!!Fd(e)})&&t.push(e)}),!t.length||(this.relatedNodes(t),!1)}function Vm(e,t){return e=e.getAttribute(\"scope\").toLowerCase(),-1!==t.values.indexOf(e)}function Gm(e,t,r){var n;if(void 0!==r.children)return n=r.attr(\"summary\"),!(!(r=!!(r=r.children.find($m))&&N(W1(r)))||!n)&&N(n).toLowerCase()===N(r).toLowerCase()}function $m(e){return\"caption\"===e.props.nodeName}function Hm(e){return!Od(document)||\"TH\"===e.nodeName.toUpperCase()}function Um(e){var t=Qc(e),n=t[0];return t.length<=1||n.length<=1||e.rows.length<=1||n.reduce(function(e,t,r){return e||t!==n[r+1]&&void 0!==n[r+1]},!1)}function Wm(e,t,r){if(r.children){r=r.children.find(function(e){return\"title\"===e.props.nodeName});if(!r)return this.data({messageKey:\"noTitle\"}),!1;try{if(\"\"===W1(r,{includeHidden:!0}).trim())return this.data({messageKey:\"emptyTitle\"}),!1}catch(e){return}return!0}}var Ym={};function Km(e,t,r){var n=r.props.nodeName,a=(r.attr(\"type\")||\"\").toLowerCase();return(r=r.attr(\"value\"))&&this.data({messageKey:\"has-label\"}),!(\"input\"!==n||![\"submit\",\"reset\"].includes(a))&&null===r}function Xm(e,t,r){var n=r.props.nodeName;return!![\"img\",\"input\",\"area\"].includes(n)&&r.hasAttr(\"alt\")}function Zm(){}function Jm(){var e=document.title;return!!N(e)}function Qm(t,e){return!(0<(e=e.cssProperties.filter(function(e){if(\"important\"===t.style.getPropertyPriority(e))return e})).length&&(this.data(e),1))}function eh(e,t,r){try{return!!N(Gc(r))}catch(e){}}function th(e,t,r){return!!N($c(r))}function rh(t){var e,r=t.getAttribute(\"id\").trim();return!r||(e=F(t),(e=Array.from(e.querySelectorAll('[id=\"'.concat(m(r),'\"]'))).filter(function(e){return e!==t})).length&&this.relatedNodes(e),this.data(r),0===e.length)}function nh(e){var t=[];return e.filter(function(e){return-1===t.indexOf(e.data)&&(t.push(e.data),!0)})}function ah(e,t,r){return r=N(r.attr(\"title\")).toLowerCase(),this.data(r),!0}function oh(e){var t={};return e.forEach(function(e){t[e.data]=void 0!==t[e.data]?++t[e.data]:0}),e.forEach(function(e){e.result=!!t[e.data]}),e}function ih(e){return!!(e=Tc(e,\"href\"))&&(O(e)||void 0)}Pe(Ym,{getAriaRolesByType:function(){return bm},getAriaRolesSupportingNameFromContent:function(){return wm},getElementSpec:function(){return x1},getElementsByContentType:function(){return Zc},getGlobalAriaAttrs:function(){return Jc},implicitHtmlRoles:function(){return l1}}),Zi=Us;var lh=[\"alert\",\"log\",\"status\"];function uh(e){return[\"none\",\"presentation\"].includes(T(e))&&!Ed(e)}function sh(e,t){var r=e.actualNode,n=T(e),r=(r.getAttribute(\"aria-live\")||\"\").toLowerCase().trim(),a=bm(\"landmark\");return!!([\"assertive\",\"polite\"].includes(r)||lh.includes(n)||a.includes(n)||t.regionMatcher&&D1(e,t.regionMatcher))}function ch(e){var o=e.filter(function(e){return e.data.isIframe});return e.forEach(function(e){if(!e.result&&1!==e.node.ancestry.length){var t,r=e.node.ancestry.slice(0,-1),n=x(o);try{for(n.s();!(t=n.n()).done;){var a=t.value;if(of(r,a.node.ancestry)){e.result=a.result;break}}}catch(e){n.e(e)}finally{n.f()}}}),o.forEach(function(e){e.result||(e.result=!0)}),e}function dh(e){e=window.getComputedStyle((e=>{for(var t=e,r=e.textContent.trim(),n=r;n===r&&void 0!==t;){var a=-1;if(0===(e=t).children.length)return e;for(;a++,\"\"===(n=e.children[a].textContent.trim())&&a+1<e.children.length;);t=e.children[a]}return e})(e));return{fontWeight:(e=>{switch(e){case\"lighter\":return 100;case\"normal\":return 400;case\"bold\":return 700;case\"bolder\":return 900}return e=parseInt(e),isNaN(e)?400:e})(e.getPropertyValue(\"font-weight\")),fontSize:parseInt(e.getPropertyValue(\"font-size\")),isItalic:\"italic\"===e.getPropertyValue(\"font-style\")}}function ph(r,n,e){return e.reduce(function(e,t){return e||(!t.size||r.fontSize/t.size>n.fontSize)&&(!t.weight||r.fontWeight-t.weight>n.fontWeight)&&(!t.italic||r.isItalic&&!n.isItalic)},!1)}function fh(e,t,r){var n=(i=Array.from(e.parentNode.children)).indexOf(e),a=(t=t||{}).margins||[],o=i.slice(n+1).find(function(e){return\"P\"===e.nodeName.toUpperCase()}),i=i.slice(0,n).reverse().find(function(e){return\"P\"===e.nodeName.toUpperCase()}),n=dh(e),l=o?dh(o):null,i=i?dh(i):null,u=t.passLength,t=t.failLength,e=e.textContent.trim().length;return(o=null==o?void 0:o.textContent.trim().length)*u<e||!l||!ph(n,l,a)||!!((u=gs(r,\"blockquote\"))&&\"BLOCKQUOTE\"===u.nodeName.toUpperCase()||i&&!ph(n,i,a)||o*t<e)&&void 0}var mh=/[;,\\s]/,hh=/^[0-9.]+$/;function gh(e,t,r){return Rf(r,\"a[href]\").some(function(e){return/^#[^/!]/.test(e.attr(\"href\"))})}Pe(Jr={},{aria:function(){return cm},color:function(){return vh},dom:function(){return fs},forms:function(){return Yh},matches:function(){return D1},math:function(){return Xs},standards:function(){return Ym},table:function(){return rm},text:function(){return qc},utils:function(){return Ma}});var vh={},bh=(Pe(vh,{Color:function(){return _},centerPointOfRect:function(){return bh},elementHasImage:function(){return zd},elementIsDistinct:function(){return wh},filteredRectStack:function(){return xh},flattenColors:function(){return Fh},flattenShadowColors:function(){return kh},getBackgroundColor:function(){return Vh},getBackgroundStack:function(){return Rh},getContrast:function(){return Hh},getForegroundColor:function(){return Uh},getOwnBackgroundColor:function(){return Wd},getRectStack:function(){return Dh},getStackingContext:function(){return Bh},getStrokeColorsFromShadows:function(){return _h},getTextShadowColors:function(){return Ih},hasValidContrastRatio:function(){return Wh},incompleteData:function(){return S},parseTextShadows:function(){return Ph},stackingContextToColor:function(){return jh}}),function(e){if(!(e.left>window.innerWidth||window.innerHeight<e.top))return{x:Math.min(Math.ceil(e.left+e.width/2),window.innerWidth-1),y:Math.min(Math.ceil(e.top+e.height/2),window.innerHeight-1)}});function yh(e){return e.getPropertyValue(\"font-family\").split(/[,;]/g).map(function(e){return e.trim().toLowerCase()})}var wh=function(e,t){var r,n=window.getComputedStyle(e);return\"none\"!==n.getPropertyValue(\"background-image\")||!![\"border-bottom\",\"border-top\",\"outline\"].reduce(function(e,t){var r=new _;return r.parseString(n.getPropertyValue(t+\"-color\")),e||\"none\"!==n.getPropertyValue(t+\"-style\")&&0<parseFloat(n.getPropertyValue(t+\"-width\"))&&0!==r.alpha},!1)||(r=window.getComputedStyle(t),yh(n)[0]!==yh(r)[0])||(e=[\"text-decoration-line\",\"text-decoration-style\",\"font-weight\",\"font-style\",\"font-size\"].reduce(function(e,t){return e||n.getPropertyValue(t)!==r.getPropertyValue(t)},!1),(t=n.getPropertyValue(\"text-decoration\")).split(\" \").length<3?e||t!==r.getPropertyValue(\"text-decoration\"):e)},Dh=function(e){var t=Mc(e);return!(e=yd(e))||e.length<=1?[t]:e.some(function(e){return void 0===e})?null:(e.splice(0,0,t),e)},xh=function(a){var o,i,l=Dh(a);return l&&1===l.length?l[0]:l&&1<l.length?(o=l.shift(),l.forEach(function(e,t){var r,n;0!==t&&(r=l[t-1],n=l[t],i=r.every(function(e,t){return e===n[t]})||o.includes(a))}),i?l[0]:(S.set(\"bgColor\",\"elmPartiallyObscuring\"),null)):(S.set(\"bgColor\",\"outsideViewport\"),null)},Eh=[\"hue\",\"saturation\",\"color\",\"luminosity\"],Ah={normal:function(e,t){return t},multiply:function(e,t){return t*e},screen:function(e,t){return e+t-e*t},overlay:function(e,t){return this[\"hard-light\"](t,e)},darken:function(e,t){return Math.min(e,t)},lighten:function(e,t){return Math.max(e,t)},\"color-dodge\":function(e,t){return 0===e?0:1===t?1:Math.min(1,e/(1-t))},\"color-burn\":function(e,t){return 1===e?1:0===t?0:1-Math.min(1,(1-e)/t)},\"hard-light\":function(e,t){return t<=.5?this.multiply(e,2*t):this.screen(e,2*t-1)},\"soft-light\":function(e,t){return t<=.5?e-(1-2*t)*e*(1-e):e+(2*t-1)*((e<=.25?((16*e-12)*e+4)*e:Math.sqrt(e))-e)},difference:function(e,t){return Math.abs(e-t)},exclusion:function(e,t){return e+t-2*e*t},hue:function(e,t){return t.setSaturation(e.getSaturation()).setLuminosity(e.getLuminosity())},saturation:function(e,t){return e.setSaturation(t.getSaturation()).setLuminosity(e.getLuminosity())},color:function(e,t){return t.setLuminosity(e.getLuminosity())},luminosity:function(e,t){return e.setLuminosity(t.getLuminosity())}};function Fh(e,t){var r,n=((t,r,n)=>{var a;return Eh.includes(n)?Ah[n](t,r):(a=new _,[\"r\",\"g\",\"b\"].forEach(function(e){a[e]=Ah[n](t[e],r[e])}),a)})(t,e,2<arguments.length&&void 0!==arguments[2]?arguments[2]:\"normal\"),a=Ch(e.red,e.alpha,t.red,t.alpha,255*n.r),o=Ch(e.green,e.alpha,t.green,t.alpha,255*n.g),n=Ch(e.blue,e.alpha,t.blue,t.alpha,255*n.b),e=(t=e.alpha+t.alpha*(1-e.alpha),e=0,r=1,Math.min(Math.max(e,t),r));return 0===e?new _(a,o,n,e):(t=Math.round(a/e),r=Math.round(o/e),a=Math.round(n/e),new _(t,r,a,e))}function Ch(e,t,r,n,a){return t*(1-n)*e+t*n*a+(1-t)*n*r}function kh(e,t){var r=e.alpha,n=(1-r)*t.red+r*e.red;return new _(n,(1-r)*t.green+r*e.green,(1-r)*t.blue+r*e.blue,e.alpha+t.alpha*(1-e.alpha))}function Rh(t){for(var e=yd(t).map(function(e){return e=(e=>{var t=e.indexOf(document.body),r=Wd(window.getComputedStyle(document.documentElement));return 1<t&&0===r.alpha&&!zd(document.documentElement)&&(1<t&&(e.splice(t,1),e.push(document.body)),0<(r=e.indexOf(document.documentElement)))&&(e.splice(r,1),e.push(document.documentElement)),e})(e=tp(e,t))}),r=0;r<e.length;r++){var n=e[r];if(n[0]!==t)return S.set(\"bgColor\",\"bgOverlap\"),null;if(0!==r&&!((e,t)=>{if(e!==t){if(null===e||null===t)return;if(e.length!==t.length)return;for(var r=0;r<e.length;++r)if(e[r]!==t[r])return}return 1})(n,e[0]))return S.set(\"bgColor\",\"elmPartiallyObscuring\"),null}return e[0]||null}var Nh=.54,Th=.5,Oh=1.5,Sh=[\"top\",\"right\",\"bottom\",\"left\"];function _h(e){var t=(1<arguments.length&&void 0!==arguments[1]?arguments[1]:{}).ignoreEdgeCount,t=void 0!==t&&t,e=(e=>{var t,r={},n=x(e);try{for(n.s();!(t=n.n()).done;){var a=t.value,o=a.colorStr,i=a.pixels,l=(null!=r[o]||(r[o]={top:[],right:[],bottom:[],left:[]}),r[o]),u=D(i,2),s=u[0],c=u[1];Th<s?l.right.push(s):Th<-s&&l.left.push(-s),Th<c?l.bottom.push(c):Th<-c&&l.top.push(-c)}}catch(e){n.e(e)}finally{n.f()}return r})(e),e=Object.entries(e).map(function(e){var e=D(e,2),t=e[0],r=e[1],e=Sh.filter(function(e){return 0!==r[e].length}).length;return{colorStr:t,sides:r,edgeCount:e}});return!t&&e.some(function(e){e=e.edgeCount;return 1<e&&e<4})?null:e.map(Mh).filter(function(e){return null!==e})}function Mh(e){var t,r,n=e.colorStr,a=e.sides;return 4!==e.edgeCount?null:((e=new _).parseString(n),r=!(t=0),Sh.forEach(function(e){t+=a[e].length/4,r=r&&a[e].every(function(e){return Oh<e})}),r||(e.alpha=1-Math.pow(Nh,t)),e)}function Ph(e){var t={pixels:[]},r=[t];if(!(o=e.trim()))return[];for(;o;){var n=o.match(/^[a-z]+(\\([^)]+\\))?/i)||o.match(/^#[0-9a-f]+/i),a=o.match(/^([0-9.-]+)px/i)||o.match(/^(0)/);if(n)E(!t.colorStr,\"Multiple colors identified in text-shadow: \".concat(e)),o=o.replace(n[0],\"\").trim(),t.colorStr=n[0];else if(a){E(t.pixels.length<3,\"Too many pixel units in text-shadow: \".concat(e));var o=o.replace(a[0],\"\").trim(),n=parseFloat((\".\"===a[1][0]?\"0\":\"\")+a[1]);t.pixels.push(n)}else{if(\",\"!==o[0])throw new Error(\"Unable to process text-shadows: \".concat(o));E(2<=t.pixels.length,\"Missing pixel value in text-shadow: \".concat(e)),r.push(t={pixels:[]}),o=o.substr(1).trim()}}return r.forEach(function(e){e=e.pixels;2===e.length&&e.push(0)}),r}function Ih(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},r=t.minRatio,n=t.maxRatio,a=t.ignoreEdgeCount,o=[],i=window.getComputedStyle(e),t=i.getPropertyValue(\"text-shadow\");if(\"none\"!==t){var l,e=i.getPropertyValue(\"font-size\"),u=parseInt(e),s=(E(!1===isNaN(u),\"Unable to determine font-size value \".concat(e)),[]),c=x(Ph(t));try{for(c.s();!(l=c.n()).done;){var d=l.value,p=d.colorStr||i.getPropertyValue(\"color\"),f=D(d.pixels,3),m=f[0],h=f[1],g=f[2],v=void 0===g?0:g;if(!(n&&u*n<=v))if(r&&v<u*r)s.push({colorStr:p,pixels:d.pixels});else{if(0<s.length){var b=_h(s,{ignoreEdgeCount:a});if(null===b)return null;o.push.apply(o,w(b)),s.splice(0,s.length)}var y=(e=>{var t=e.colorStr,r=e.offsetY,n=e.blurRadius,a=e.fontSize;return e.offsetX>n||n<r?new _(0,0,0,0):((e=new _).parseString(t),e.alpha*=((e,t)=>0===e?1:.185/(e/t+.4))(n,a),e)})({colorStr:p,offsetX:m,offsetY:h,blurRadius:v,fontSize:u});o.push(y)}}}catch(e){c.e(e)}finally{c.f()}if(0<s.length){e=_h(s,{ignoreEdgeCount:a});if(null===e)return null;o.push.apply(o,w(e))}}return o}function Bh(e,t){var a,o,r=g(e);return r._stackingContext||(a=[],o=new Map,(t=null!=t?t:Rh(e)).forEach(function(e){var e=g(e),t=(t=e,(r=new _).parseString(t.getComputedStylePropertyValue(\"background-color\")),r),n=e._stackingOrder.filter(function(e){return!!e.vNode}),r=(n.forEach(function(e,t){var e=e.vNode,r=null==(r=n[t-1])?void 0:r.vNode,r=zh(o,e,r);0!==t||o.get(e)||a.unshift(r),o.set(e,r)}),null==(r=n[n.length-1])?void 0:r.vNode),e=zh(o,e,r);n.length||a.unshift(e),e.bgColor=t}),r._stackingContext=a)}function jh(e){var t;return null!=(t=e.descendants)&&t.length?(t=Fh(e.descendants.reduce(Lh,qh()),e.bgColor,e.descendants[0].blendMode)).alpha*=e.opacity:(t=e.bgColor).alpha*=e.opacity,{color:t,blendMode:e.blendMode}}function Lh(e,t){e=e instanceof _?e:jh(e).color;return Fh(jh(t).color,e,t.blendMode)}function qh(e,t){return{vNode:e,ancestor:t,opacity:parseFloat(null!=(t=null==e?void 0:e.getComputedStylePropertyValue(\"opacity\"))?t:1),bgColor:new _(0,0,0,0),blendMode:(null==e?void 0:e.getComputedStylePropertyValue(\"mix-blend-mode\"))||void 0,descendants:[]}}function zh(e,t,r){var n=e.get(r),e=null!=(e=e.get(t))?e:qh(t,n);return n&&r!==t&&!n.descendants.includes(e)&&n.descendants.unshift(e),e}function Vh(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[],r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:.1,n=g(e),a=n._cache.getBackgroundColor;return a?(t.push.apply(t,w(a.bgElms)),S.set(\"bgColor\",a.incompleteData),a.bgColor):(a=((e,t,r)=>{var n=Rh(e);if(!n)return null;var a=vd(e);(r=null!=(r=Ih(e,{minRatio:r,ignoreEdgeCount:!0}))?r:[]).length&&(r=[{color:r.reduce(kh)}]);for(var o=0;o<n.length;o++){var i=n[o],l=window.getComputedStyle(i);if(zd(i,l))return t.push(i),null;var u=void 0;try{if(0===(u=Wd(l)).alpha)continue}catch(e){if(e&&S.get(\"colorParse\"))return null;throw e}if(\"inline\"!==l.getPropertyValue(\"display\")&&!Gh(i,a))return t.push(i),S.set(\"bgColor\",\"elmPartiallyObscured\"),null;if(t.push(i),1===u.alpha)break}var s=Bh(e,n),s=(r=s.map(jh).concat(r),((e,t)=>{var r,n,a,o,i=[];return t||(t=document.documentElement,o=document.body,t=window.getComputedStyle(t),r=window.getComputedStyle(o),n=Wd(t),a=Wd(r),o=0!==a.alpha&&Gh(o,e.getBoundingClientRect()),(0!==a.alpha&&0===n.alpha||o&&1!==a.alpha)&&i.unshift({color:a,blendMode:$h(r.getPropertyValue(\"mix-blend-mode\"))}),0===n.alpha)||o&&1===a.alpha||i.unshift({color:n,blendMode:$h(t.getPropertyValue(\"mix-blend-mode\"))}),i})(e,n.includes(document.body)));return r.unshift.apply(r,w(s)),0===r.length?new _(255,255,255,1):(e=r.reduce(function(e,t){return Fh(t.color,e.color instanceof _?e.color:e,t.blendMode)}),Fh(e.color instanceof _?e.color:e,new _(255,255,255,1)))})(e,t,r),n._cache.getBackgroundColor={bgColor:a,bgElms:t,incompleteData:S.get(\"bgColor\")},a)}function Gh(e,t){t=Array.isArray(t)?t:[t];var r=e.getBoundingClientRect(),n=r.right,a=r.bottom,o=window.getComputedStyle(e),i=o.getPropertyValue(\"overflow\"),l=parseInt(o.getPropertyValue(\"padding-left\"),10),u=parseInt(o.getPropertyValue(\"padding-right\"),10),s=parseInt(o.getPropertyValue(\"padding-top\"),10),o=parseInt(o.getPropertyValue(\"padding-bottom\"),10);return([\"scroll\",\"auto\"].includes(i)||e instanceof window.HTMLHtmlElement)&&(n=r.left+e.scrollWidth+l+u,a=r.top+e.scrollHeight+s+o),t.every(function(e){return e.top>=r.top&&e.bottom<=a&&e.left>=r.left&&e.right<=n})}function $h(e){return e||void 0}var Hh=function(e,t){return t&&e?(t.alpha<1&&(t=Fh(t,e)),e=e.getRelativeLuminance(),t=t.getRelativeLuminance(),(Math.max(t,e)+.05)/(Math.min(t,e)+.05)):null};function Uh(e,t,r){var a=3<arguments.length&&void 0!==arguments[3]?arguments[3]:{},o=window.getComputedStyle(e),n=[function(){var e,t,r=o,n=void 0===(n=(n=a).textStrokeEmMin)?0:n;return 0===(t=parseFloat(r.getPropertyValue(\"-webkit-text-stroke-width\")))||(e=r.getPropertyValue(\"font-size\"),t/=parseFloat(e),isNaN(t))||t<n?null:(e=r.getPropertyValue(\"-webkit-text-stroke-color\"),(new _).parseString(e))},function(){return e=o,(new _).parseString(e.getPropertyValue(\"-webkit-text-fill-color\")||e.getPropertyValue(\"color\"));var e},function(){return Ih(e,{minRatio:0})}],i=[];try{for(var l=0,u=n;l<u.length;l++){var s=(0,u[l])();if(s&&(i=i.concat(s),1===s.alpha))break}}catch(e){if(e&&S.get(\"colorParse\"))return null;throw e}n=i.reduce(function(e,t){return Fh(e,t)});return null===(r=null==r?Vh(e,[]):r)?(r=S.get(\"bgColor\"),S.set(\"fgColor\",r),null):Fh(((e,t,r)=>{for(;t;){var n;1===t.opacity&&t.ancestor?t=t.ancestor:(e.alpha*=t.opacity,n=(null==(n=t.ancestor)?void 0:n.descendants)||r,n=(n=1!==t.opacity?n.slice(0,n.indexOf(t)):n).map(jh),t=(n.length&&(n=n.reduce(function(e,t){return Fh(t.color,e.color instanceof _?e.color:e)},{color:new _(0,0,0,0),blendMode:\"normal\"}),e=Fh(e,n)),t.ancestor))}return e})(n,function e(t,r){var n,a=x(t);try{for(a.s();!(n=a.n()).done;){var o,i=n.value;if((null==(o=i.vNode)?void 0:o.actualNode)===r)return i;var l=e(i.descendants,r);if(l)return l}}catch(e){a.e(e)}finally{a.f()}}(r=Bh(e),e),r),new _(255,255,255,1))}var Wh=function(e,t,r,n){return e=Hh(e,t),{isValid:(t=n&&Math.ceil(72*r)/96<14||!n&&Math.ceil(72*r)/96<18?4.5:3)<e,contrastRatio:e,expectedContrastRatio:t}},Yh={},Kh=(Pe(Yh,{isAriaCombobox:function(){return L1},isAriaListbox:function(){return j1},isAriaRange:function(){return z1},isAriaTextbox:function(){return B1},isDisabled:function(){return Xh},isNativeSelect:function(){return I1},isNativeTextbox:function(){return P1}}),[\"fieldset\",\"button\",\"select\",\"input\",\"textarea\"]),Xh=function e(t){var r,n,a=t._isDisabled;return\"boolean\"!=typeof a&&(r=t.props.nodeName,n=t.attr(\"aria-disabled\"),a=!(!Kh.includes(r)||!t.hasAttr(\"disabled\"))||(n?\"true\"===n.toLowerCase():!!t.parent&&e(t.parent)),t._isDisabled=a),a};function Zh(e,t,r){var r=qc.accessibleTextVirtual(r);if(r=qc.sanitize(qc.removeUnicode(r,{emoji:!0,nonBmp:!0,punctuations:!0})).toLowerCase())return r={name:r,urlProps:fs.urlPropsFromAttribute(e,\"href\")},this.data(r),this.relatedNodes([e]),!0}function Jh(e){if(e.length<2)return e;for(var i=e.filter(function(e){return void 0!==e.result}),l=[],u={},t=function(r){var e=i[r],t=e.data,n=t.name,a=t.urlProps;if(u[n])return 1;var t=i.filter(function(e,t){return e.data.name===n&&t!==r}),o=t.every(function(e){return function r(n,a){var e,t;return!(!n||!a)&&(e=Object.getOwnPropertyNames(n),t=Object.getOwnPropertyNames(a),e.length===t.length)&&e.every(function(e){var t=n[e],e=a[e];return te(t)===te(e)&&(\"object\"===te(t)||\"object\"===te(e)?r(t,e):t===e)})}(e.data.urlProps,a)});t.length&&!o&&(e.result=void 0),e.relatedNodes=[],(o=e.relatedNodes).push.apply(o,w(t.map(function(e){return e.relatedNodes[0]}))),u[n]=t,l.push(e)},r=0;r<i.length;r++)t(r);return l}function Qh(){var e,t=A.get(\"headingOrder\");return t||(t=(e=bf(axe._tree[0],\"h1, h2, h3, h4, h5, h6, [role=heading], iframe, frame\",O)).map(function(e){return{ancestry:[Yl(e.actualNode)],level:(t=(t=T(e=e))&&t.includes(\"heading\"),r=e.attr(\"aria-level\"),n=parseInt(r,10),e=D(e.props.nodeName.match(/h(\\d)/)||[],2)[1],t?e&&!r?parseInt(e,10):isNaN(n)||n<1?e?parseInt(e,10):2:n||-1:-1)};var t,r,n}),this.data({headingOrder:t}),A.set(\"headingOrder\",e)),!0}function eg(e,t){var r=null==(r=t.data)?void 0:r.headingOrder,n=rg(t.node.ancestry,1);return r&&(t=r.map(function(e){var t=n;return t=n.concat(e.ancestry),h({},e,{ancestry:t})}),-1===(r=((e,t)=>{for(;t.length;){var r=tg(e,t);if(-1!==r)return r;t=rg(t,1)}return-1})(e,n))?e.push.apply(e,w(t)):e.splice.apply(e,[r,0].concat(w(t)))),e}function tg(e,t){return e.findIndex(function(e){return of(e.ancestry,t)})}function rg(e,t){return e.slice(0,e.length-t)}function ng(e,t){e=e.boundingClientRect,t=t.boundingClientRect;return e.top>=t.top&&e.left>=t.left&&e.bottom<=t.bottom&&e.right<=t.right}function ag(e){return{width:Math.round(10*e.width)/10,height:Math.round(10*e.height)/10}}function og(e,t){return us(e,t)&&!Bc(t)}function ig(e){return e.map(function(e){return e.actualNode})}function lg(e,t,r){var n,a=void 0===(a=(t=t||{}).scaleMinimum)?2:a,t=void 0!==(t=t.lowerBound)&&t;return!((r=r.attr(\"content\")||\"\")&&(r=r.split(/[;,]/).reduce(function(e,t){var r,t=t.trim();return t&&(r=(t=D(t.split(\"=\"),2))[0],t=t[1],r)&&t&&(r=r.toLowerCase().trim(),t=t.toLowerCase().trim(),\"maximum-scale\"===r&&\"yes\"===t&&(t=1),\"maximum-scale\"===r&&parseFloat(t)<0||(e[r]=t)),e},{}),!(t&&r[\"maximum-scale\"]&&parseFloat(r[\"maximum-scale\"])<t))&&(t||\"no\"!==r[\"user-scalable\"]?(n=parseFloat(r[\"user-scalable\"]),!t&&r[\"user-scalable\"]&&(n||0===n)&&-1<n&&n<1?(this.data(\"user-scalable\"),1):r[\"maximum-scale\"]&&parseFloat(r[\"maximum-scale\"])<a&&(this.data(\"maximum-scale\"),1)):(this.data(\"user-scalable=no\"),1)))}function ug(e,t,r,n){var n=void 0===(n=(n||{}).cssom)?void 0:n,a=void 0===(t=(t||{}).degreeThreshold)?0:t;if(n&&n.length){for(var o=!1,i=[],l=n.reduce(function(e,t){var r=t.sheet,n=t.shadowId,n=n||\"topDocument\";return e[n]||(e[n]={root:t.root,rules:[]}),r&&r.cssRules&&(t=Array.from(r.cssRules),e[n].rules=e[n].rules.concat(t)),e},{}),u=function(){var e=c[s],e=l[e],r=e.root,e=e.rules.filter(d);if(!e.length)return 1;e.forEach(function(e){e=e.cssRules;Array.from(e).forEach(function(e){var t=(e=>{var t=e.selectorText,e=e.style;return!(!t||e.length<=0||!(t=e.transform||e.webkitTransform||e.msTransform||!1)&&!e.rotate||(t=(e=>e&&(e=e.match(/(rotate|rotateZ|rotate3d|matrix|matrix3d)\\(([^)]+)\\)(?!.*(rotate|rotateZ|rotate3d|matrix|matrix3d))/))?p((e=D(e,3))[1],e[2]):0)(t),e=p(\"rotate\",e.rotate),!(t+=e))||(t=Math.abs(t),Math.abs(t-180)%180<=a))&&Math.abs(t-90)%90<=a})(e);t&&\"HTML\"!==e.selectorText.toUpperCase()&&(e=Array.from(r.querySelectorAll(e.selectorText))||[],i=i.concat(e)),o=o||t})})},s=0,c=Object.keys(l);s<c.length;s++)u();return o?(i.length&&this.relatedNodes(i),!1):!0}function d(e){var t=e.type,e=e.cssText;return 4===t&&(/orientation:\\s*landscape/i.test(e)||/orientation:\\s*portrait/i.test(e))}function p(e,t){switch(e){case\"rotate\":case\"rotateZ\":return f(t);case\"rotate3d\":var r=D(t.split(\",\").map(function(e){return e.trim()}),4),n=r[2],r=r[3];return 0===parseInt(n)?void 0:f(r);case\"matrix\":case\"matrix3d\":var a,o,n=t;return(n=n.split(\",\")).length<=6?(o=D(n,2),a=o[0],o=o[1],m(Math.atan2(parseFloat(o),parseFloat(a)))):(o=parseFloat(n[8]),a=Math.asin(o),o=Math.cos(a),m(Math.acos(parseFloat(n[0])/o)));default:return 0}}function f(e){var t=D(e.match(/(deg|grad|rad|turn)/)||[],1)[0];if(!t)return 0;var r=parseFloat(e.replace(t,\"\"));switch(t){case\"rad\":return m(r);case\"grad\":var n=r;return(n%=400)<0&&(n+=400),Math.round(n/400*360);case\"turn\":return Math.round(360/(1/r));default:return parseInt(r)}}function m(e){return Math.round(e*(180/Math.PI))}}function sg(e,t){var r,n=e.hasAttribute(\"controls\");return e.hasAttribute(\"loop\")?n:e.duration?(t=void 0===(t=t.allowedDuration)?3:t,((e=e).currentSrc?(r=(e=>{if(e=e.match(/#t=(.*)/))return D(e,2)[1].split(\",\").map(function(e){if(/:/.test(e)){for(var t=e.split(\":\"),r=0,n=1;0<t.length;)r+=n*parseInt(t.pop(),10),n*=60;return parseFloat(r)}return parseFloat(e)})})(e.currentSrc))?1!==r.length?Math.abs(r[1]-r[0]):Math.abs(e.duration-r[0]):Math.abs(e.duration-(e.currentTime||0)):0)<=t||!!n):void console.warn(\"axe.utils.preloadMedia did not load metadata\")}function cg(e,t){return!t.isViolation&&void 0}function dg(e){var r={};return e.filter(function(e){var t;return\"html\"!==e.node.ancestry[e.node.ancestry.length-1]?(t=e.node.ancestry.flat(1/0).join(\" > \"),r[t]=e,!0):(t=e.node.ancestry.slice(0,e.node.ancestry.length-1).flat(1/0).join(\" > \"),r[t]&&(r[t].result=!0),!1)})}function pg(e,t,r){return!Rf(r,\"track\").some(function(e){return\"captions\"===(e.attr(\"kind\")||\"\").toLowerCase()})&&void 0}function fg(e,t,r){var n=r.children;if(!n||!n.length)return!1;for(var a,o=!1,i=!1,l=0;l<n.length;l++){if((o=\"DT\"===(a=n[l].props.nodeName.toUpperCase())?!0:o)&&\"DD\"===a)return!1;\"DD\"===a&&(i=!0)}return o||i}function mg(e,t,r){var a=!1,o=!1,i=!0,l=[],u=[],s=[];if(r.children.forEach(function(e){var t,r,n=e.actualNode;3===n.nodeType&&\"\"!==n.nodeValue.trim()?a=!0:1===n.nodeType&&O(n)&&(i=!1,t=\"LI\"===n.nodeName.toUpperCase(),r=\"listitem\"===(e=T(e)),t||r||l.push(n),t&&!r&&(u.push(n),s.includes(e)||s.push(e)),r)&&(o=!0)}),a||l.length)this.relatedNodes(l);else{if(i||o)return!1;this.relatedNodes(u),this.data({messageKey:\"roleNotValid\",roles:s.join(\", \")})}return!0}function hg(e,t){var r=1<arguments.length&&void 0!==t&&t;return e.map(function(e){return{vChild:e,nested:r}})}function gg(e){var t=(e=s(e)).nodeName.toUpperCase(),r=R(e);return\"DIV\"===t&&[\"presentation\",\"none\",null].includes(r)&&(t=(e=s(e)).nodeName.toUpperCase(),r=R(e)),\"DL\"===t&&!(r&&![\"presentation\",\"none\",\"list\"].includes(r))}function vg(e,t,r){return xp(r.attr(\"lang\"))===xp(r.attr(\"xml:lang\"))}function bg(e,a,o){var i=[];return a.attributes.forEach(function(e){var t,r,n=o.attr(e);\"string\"==typeof n&&(t=xp(n),r=a.value?!a.value.map(xp).includes(t):!Gf(t),\"\"!==t&&r||\"\"!==n&&!N(n))&&i.push(e+'=\"'+o.attr(e)+'\"')}),!!i.length&&!(\"html\"!==o.props.nodeName&&!Cd(o)||(this.data(i),0))}function yg(e){return\"\"!==(e||\"\").trim()}function wg(e,t,r){var n=void 0!==document&&Ol(document);return t.attributes.includes(\"xml:lang\")&&t.attributes.includes(\"lang\")&&yg(r.attr(\"xml:lang\"))&&!yg(r.attr(\"lang\"))&&!n?(this.data({messageKey:\"noXHTML\"}),!1):!!t.attributes.some(function(e){return yg(r.attr(e))})||(this.data({messageKey:\"noLang\"}),!1)}function Dg(e,t,r){var n=T(e),r=(r=c(r))?r.toLowerCase():null;return this.data({role:n,accessibleText:r}),this.relatedNodes([e]),!0}function xg(e){var r=[];return e.filter(function(t){var e=r.find(function(e){return t.data.role===e.data.role&&t.data.accessibleText===e.data.accessibleText});return e?(e.result=!1,e.relatedNodes.push(t.relatedNodes[0]),!1):(r.push(t),t.relatedNodes=[],!0)})}function Eg(e,t,r){var n=fd(r),a=R1(r),r=r.attr(\"aria-describedby\");return!(n||!a&&!r)}function Ag(e){var t=m(e.getAttribute(\"id\")),r=e.parentNode,n=(n=F(e)).documentElement||n,a=Array.from(n.querySelectorAll('label[for=\"'.concat(t,'\"]')));for(a.length&&(a=a.filter(function(e){return!Ps(e)}));r;)\"LABEL\"===r.nodeName.toUpperCase()&&-1===a.indexOf(r)&&a.push(r),r=r.parentNode;return this.relatedNodes(a),1<a.length&&(1<(n=a.filter(O)).length||!zc(e,\"aria-labelledby\").includes(n[0]))&&void 0}function Fg(e){e=ld(e,{emoji:!0,nonBmp:!0,punctuations:!0});return N(e)}function Cg(e,t,r){var n=null==t?void 0:t.pixelThreshold,a=null!=(a=null==t?void 0:t.occurrenceThreshold)?a:null==t?void 0:t.occuranceThreshold,t=Vc(e).toLowerCase();return!(e=N(W1(r,{subtreeDescendant:!0,ignoreIconLigature:!0,pixelThreshold:n,occurrenceThreshold:a})).toLowerCase())||(ud(t)<1||ud(e)<1?void 0:(r=e,n=Fg(n=t),r=Fg(r),!(!n||!r)&&n.includes(r)))}function kg(e,t,r){try{var n,a=fu(r,\"label\");return a?(n=N(c(a,{inControlContext:!0,startNode:r})),a.actualNode&&this.relatedNodes([a.actualNode]),this.data({implicitLabel:n}),!!n):!1}catch(e){}}function Rg(e,t,r){if(r.hasAttr(\"id\")){if(!r.actualNode)return;var n,a=F(e),e=m(e.getAttribute(\"id\")),a=a.querySelector('label[for=\"'.concat(e,'\"]'));if(a&&!O(a)){try{n=c(r).trim()}catch(e){return}return\"\"===n}}return!1}function Ng(e,t,r){var r=fd(r),n=e.getAttribute(\"title\");return!!r&&(n||(n=\"\",e.getAttribute(\"aria-describedby\")&&(n=zc(e,\"aria-describedby\").map(function(e){return e?Vc(e):\"\"}).join(\"\"))),N(n)===N(r))}function Tg(e,t,r){var n=this;if(!r.attr(\"id\"))return!1;if(r.actualNode){var a=F(r.actualNode),o=m(r.attr(\"id\")),a=Array.from(a.querySelectorAll('label[for=\"'.concat(o,'\"]')));if(this.relatedNodes(a),!a.length)return!1;try{return a.some(function(e){return!Us(e)||(e=N(Vc(e,{inControlContext:!0,startNode:r})),n.data({explicitLabel:e}),!!e)})}catch(e){}}}function Og(e,t,r){return![\"none\",\"presentation\"].includes(T(r))&&!!(t=fu(r,t.parentSelector))&&\"\"!==(t=_1(t,!0).toLowerCase())&&t===c(r).toLowerCase()}function Sg(e,t,r){return\"string\"==typeof(r=r.attr(\"alt\"))&&/^\\s+$/.test(r)}function _g(e,t,r){return null===(r=ff(r.attr(\"tabindex\")))||r<=0}function Mg(e){e=ff(e.attr(\"tabindex\"));return null!==e&&e<0}function Pg(e){var t=bm(\"landmark\"),r=s(e),n=T(e);for(this.data({role:n});r;){var a=R(r);if((a=a||\"FORM\"===r.nodeName.toUpperCase()?a:E1(r))&&t.includes(a)&&(\"main\"!==a||\"complementary\"!==n))return!1;r=s(r)}return!0}function Ig(e,t,r){var n=[\"button\",\"fieldset\",\"input\",\"select\",\"textarea\"];return!((r=r.tabbableElements)&&r.length&&(r=r.filter(function(e){return!n.includes(e.props.nodeName)}),this.relatedNodes(r.map(function(e){return e.actualNode})),0!==r.length)&&!Bd())||!!r.every(function(e){var t=e.getComputedStylePropertyValue(\"pointer-events\"),r=parseInt(e.getComputedStylePropertyValue(\"width\")),n=parseInt(e.getComputedStylePropertyValue(\"height\"));return e.actualNode.onfocus||(0===r||0===n)&&\"none\"===t})&&void 0}function Bg(e,t,r){if(!Bc(r))return!1;try{return!c(r)}catch(e){}}function jg(e,t,r){return!(r=r.tabbableElements.map(function(e){return e.actualNode}))||!r.length||!Bd()||void this.relatedNodes(r)}function Lg(e,t,r){return!(!r.hasAttr(\"contenteditable\")||!function e(t){t=t.attr(\"contenteditable\");if(\"true\"===t||\"\"===t)return!0;if(\"false\"===t)return!1;t=fu(r.parent,\"[contenteditable]\");if(!t)return!1;return e(t)}(r))||Bc(r)}function qg(e,t,r){var n=[\"button\",\"fieldset\",\"input\",\"select\",\"textarea\"];return!((r=r.tabbableElements)&&r.length&&(r=r.filter(function(e){return n.includes(e.props.nodeName)}),this.relatedNodes(r.map(function(e){return e.actualNode})),0!==r.length)&&!Bd())||!!r.every(function(e){var t=e.getComputedStylePropertyValue(\"pointer-events\"),r=parseInt(e.getComputedStylePropertyValue(\"width\")),n=parseInt(e.getComputedStylePropertyValue(\"height\"));return e.actualNode.onfocus||(0===r||0===n)&&\"none\"===t})&&void 0}function zg(e,t,r){var n=r.tabbableElements;return!!n&&0<n.filter(function(e){return e!==r}).length}function Vg(e,t,r){return Ps(r)||(this.data(r.attr(\"accesskey\")),this.relatedNodes([e])),!0}function Gg(e){var r={};return e.filter(function(e){if(e.data){var t=e.data.toUpperCase();if(!r[t])return(r[t]=e).relatedNodes=[],!0;r[t].relatedNodes.push(e.relatedNodes[0])}return!1}).map(function(e){return e.result=!!e.relatedNodes.length,e})}function $g(e,t,r){if(!t||!t.selector||\"string\"!=typeof t.selector)throw new TypeError(\"page-no-duplicate requires options.selector to be a string\");var n=\"page-no-duplicate;\"+t.selector;if(!A.get(n))return A.set(n,!0),n=bf(axe._tree[0],t.selector,O),\"string\"==typeof t.nativeScopeFilter&&(n=n.filter(function(e){return e.actualNode.hasAttribute(\"role\")||!gs(e,t.nativeScopeFilter)})),\"string\"==typeof t.role&&(n=n.filter(function(e){return T(e)===t.role})),this.relatedNodes(n.filter(function(e){return e!==r}).map(function(e){return e.actualNode})),n.length<=1;this.data(\"ignored\")}function Hg(e){return e.filter(function(e){return\"ignored\"!==e.data})}function Ug(e,t,r){return D1(r,t.matcher)}function Wg(e,t,r){if(t&&t.selector&&\"string\"==typeof t.selector)return!(!t.passForModal||!Bd())||(r=bf(r,t.selector,O),this.relatedNodes(r.map(function(e){return e.actualNode})),0<r.length);throw new TypeError(\"has-descendant requires options.selector to be a string\")}function Yg(e){return e.some(function(e){return!0===e.result})&&e.forEach(function(e){e.result=!0}),e}function Kg(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},r=2<arguments.length?arguments[2]:void 0;if(t.attribute&&\"string\"==typeof t.attribute)return r.hasAttr(t.attribute)?(r=r.attr(t.attribute),!!N(r)||(this.data({messageKey:\"emptyAttr\"}),!1)):(this.data({messageKey:\"noAttr\"}),!1);throw new TypeError(\"attr-non-space-content requires options.attribute to be a string\")}function Xg(e,t,r){return r=r.attr(\"autocomplete\")||\"\",cd(r,t)}function Zg(e,t,r){var n,a,o;return\"input\"!==r.props.nodeName||(a={bday:[\"text\",\"search\",\"date\"],email:[\"text\",\"search\",\"email\"],username:[\"text\",\"search\",\"email\"],\"street-address\":[\"text\"],tel:[\"text\",\"search\",\"tel\"],\"tel-country-code\":[\"text\",\"search\",\"tel\"],\"tel-national\":[\"text\",\"search\",\"tel\"],\"tel-area-code\":[\"text\",\"search\",\"tel\"],\"tel-local\":[\"text\",\"search\",\"tel\"],\"tel-local-prefix\":[\"text\",\"search\",\"tel\"],\"tel-local-suffix\":[\"text\",\"search\",\"tel\"],\"tel-extension\":[\"text\",\"search\",\"tel\"],\"cc-number\":n=[\"text\",\"search\",\"number\",\"tel\"],\"cc-exp\":[\"text\",\"search\",\"month\",\"tel\"],\"cc-exp-month\":n,\"cc-exp-year\":n,\"cc-csc\":n,\"transaction-amount\":n,\"bday-day\":n,\"bday-month\":n,\"bday-year\":n,\"new-password\":[\"text\",\"search\",\"password\"],\"current-password\":[\"text\",\"search\",\"password\"],url:o=[\"text\",\"search\",\"url\"],photo:o,impp:o},\"object\"===te(t)&&Object.keys(t).forEach(function(e){a[e]||(a[e]=[]),a[e]=a[e].concat(t[e])}),o=(n=r.attr(\"autocomplete\").split(/\\s+/g).map(function(e){return e.toLowerCase()}))[n.length-1],!!sd.stateTerms.includes(o))||(n=a[o],o=r.hasAttr(\"type\")?N(r.attr(\"type\")).toLowerCase():\"text\",o=qf().includes(o)?o:\"text\",void 0===n?\"text\"===o:n.includes(o))}var Jg=[\"block\",\"list-item\",\"table\",\"flex\",\"grid\",\"inline-block\"];function Qg(e){e=window.getComputedStyle(e).getPropertyValue(\"display\");return-1!==Jg.indexOf(e)||\"table-\"===e.substr(0,6)}function e0(e,t){e=e.getRelativeLuminance(),t=t.getRelativeLuminance();return(Math.max(e,t)+.05)/(Math.min(e,t)+.05)}var t0=[\"block\",\"list-item\",\"table\",\"flex\",\"grid\",\"inline-block\"];function r0(e){e=window.getComputedStyle(e).getPropertyValue(\"display\");return-1!==t0.indexOf(e)||\"table-\"===e.substr(0,6)}function n0(e,t){var r=t.requiredContrastRatio,t=t.allowSameColor;if(r0(e))return!1;for(var n=s(e);n&&1===n.nodeType&&!r0(n);)n=s(n);if(n){this.relatedNodes([n]);var a=Uh(e),o=Uh(n),e=Vh(e),i=Vh(n),l=a&&o?e0(a,o):void 0;if((l=l&&Math.floor(100*l)/100)&&r<=l)return!0;var u=e&&i?e0(e,i):void 0;if((u=u&&Math.floor(100*u)/100)&&r<=u)return!0;if(u){if(l)return!(!t||1!==l||1!==u)||(1===l&&1<u?this.data({messageKey:\"bgContrast\",contrastRatio:u,requiredContrastRatio:r,nodeBackgroundColor:e?e.toHexString():void 0,parentBackgroundColor:i?i.toHexString():void 0}):this.data({messageKey:\"fgContrast\",contrastRatio:l,requiredContrastRatio:r,nodeColor:a?a.toHexString():void 0,parentColor:o?o.toHexString():void 0}),!1)}else u=null!=(t=S.get(\"bgColor\"))?t:\"bgContrast\",this.data({messageKey:u}),S.clear()}}var a0=r(function(e,t){function r(e,t){return n.getPropertyValue(e)===t}var n=window.getComputedStyle(e,t);return r(\"content\",\"none\")||r(\"display\",\"none\")||r(\"visibility\",\"hidden\")||!1===r(\"position\",\"absolute\")||0===Wd(n).alpha&&r(\"background-image\",\"none\")?0:(e=o0(n.getPropertyValue(\"width\")),t=o0(n.getPropertyValue(\"height\")),\"px\"!==e.unit||\"px\"!==t.unit?0===e.value||0===t.value?0:1/0:e.value*t.value)});function o0(e){var e=D(e.match(/^([0-9.]+)([a-z]+)$/i)||[],3),t=e[1],e=e[2],e=void 0===e?\"\":e;return{value:parseFloat(void 0===t?\"\":t),unit:e.toLowerCase()}}var i0={ARTICLE:!0,ASIDE:!0,NAV:!0,SECTION:!0},l0={alert:!0,alertdialog:!0,application:!0,article:!0,banner:!1,complementary:!0,contentinfo:!0,dialog:!0,form:!0,log:!0,main:!0,navigation:!0,region:!0,search:!1,status:!0,tabpanel:!0};function u0(e,t){return t=t,(r=R(r=e))&&(l0[r]||t.roles.includes(r))||(t=(t=e).nodeName.toUpperCase(),i0[t])||!1;var r}function s0(e,t,r){var r=T(r,{dpub:!0,fallback:!0}),n=Kc(r);return n&&this.data(r),n}function c0(e,t,r){var n,a,o=T(r,{noImplicit:!0});this.data(o);try{n=N(Y1(r)).toLowerCase(),a=N(c(r)).toLowerCase()}catch(e){return}return!(!a&&!n||(a||!n)&&a.includes(n))&&void 0}function d0(e,t,r){return C(r)}function p0(e,t,r){return!!(r=dp(r.attr(\"role\"))).every(function(e){return!Xc(e.toLowerCase(),{allowAbstract:!0})})&&(this.data(r),!0)}function f0(e,t,r){return null!==(r=R(r))&&(\"widget\"===(r=Sd(r))||\"composite\"===r)}function m0(e,t,r){var n=Jc().filter(function(e){return r.hasAttr(e)});return this.data(n),0<n.length}function h0(e,t,r){var n=dp(r.attr(\"role\"));return!(n.length<=1)&&(n=n,!(!E1(r)&&2===n.length&&n.includes(\"none\")&&n.includes(\"presentation\"))||void 0)}function g0(e,t,r){t=Array.isArray(t.value)?t.value:[];var n=[],a=/^aria-/;return r.attrNames.forEach(function(e){-1===t.indexOf(e)&&a.test(e)&&!Mm(e)&&n.push(e)}),!n.length||(this.data(n),!1)}function v0(r,e,t){return!!(t=t.attrNames.filter(function(e){var t=k.ariaAttrs[e];return!!Mm(e)&&(e=t.unsupported,\"object\"!==te(e)?!!e:!D1(r,e.exceptions))})).length&&(this.data(t),!0)}function b0(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},r=T(2<arguments.length?arguments[2]:void 0);return!!(t.supportedRoles||[]).includes(r)||!(!r||\"presentation\"===r||\"none\"===r)&&void 0}function y0(e,t,r,n){var a=R(e);if(!(r=r||Om(a)))return null;for(var o=r.includes(\"group\"),i=n?e:e.parent;i;){var l=T(i,{noPresentational:!0});if(l){if(\"group\"!==l||!o)return r.includes(l)?null:r;t.includes(a)&&r.push(a),r=r.filter(function(e){return\"group\"!==e})}i=i.parent}return r}function w0(e,t,r){var n=t&&Array.isArray(t.ownGroupRoles)?t.ownGroupRoles:[],a=y0(r,n);if(!a)return!0;var o=(e=>{for(var t,r=[];e;)e.getAttribute(\"id\")&&(t=m(e.getAttribute(\"id\")),t=F(e).querySelector(\"[aria-owns~=\".concat(t,\"]\")))&&r.push(t),e=e.parentElement;return r.length?r:null})(e);if(o)for(var i=0,l=o.length;i<l;i++)if(!(a=y0(g(o[i]),n,a,!0)))return!0;return this.data(a),!1}function D0(e){e=e.vNode;return 3===e.props.nodeType?0<e.props.nodeValue.trim().length:Ad(e,!1,!0)}var x0=r(function(e){var t;if(e)return(t=T(e,{noPresentational:!0,chromium:!0}))?Sd(t):x0(e.parent)});function E0(e,t,r){if(r=r.attr(\"aria-level\"),!(6<(r=parseInt(r,10))))return!0}function A0(e,t,r){return\"true\"!==r.attr(\"aria-hidden\")}function F0(e){var t,r,n=(1<arguments.length&&void 0!==arguments[1]?arguments[1]:{}).invalidTableRowAttrs,a=2<arguments.length?arguments[2]:void 0,n=null!=(t=null==n||null==(t=n.filter)?void 0:t.call(n,function(e){return a.hasAttr(e)}))?t:[];return 0===n.length||!(t=(t=(e=>{if(e.parent)return fu(e,'table:not([role]), [role~=\"treegrid\"], [role~=\"table\"], [role~=\"grid\"]')})(a))&&T(t))||\"treegrid\"===t||(r=\"row\".concat(1<n.length?\"Plural\":\"Singular\"),this.data({messageKey:r,invalidAttrs:n,ownerRole:t}),!1)}function C0(e,t,r){var n=r.props,a=n.nodeName,n=n.type,o=(e=>e?(e=e.toLowerCase(),[\"mixed\",\"true\"].includes(e)?e:\"false\"):\"\")(r.attr(\"aria-checked\"));return\"input\"!==a||\"checkbox\"!==n||!o||o===(a=(e=>e.props.indeterminate?\"mixed\":e.props.checked?\"true\":\"false\")(r))||(this.data({messageKey:\"checkbox\",checkState:a}),!1)}var k0={row:F0,checkbox:C0};function R0(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},r=2<arguments.length?arguments[2]:void 0,n=void 0===(n=t.allowImplicit)||n,t=void 0===(t=t.ignoredTags)?[]:t,a=r.props.nodeName;return!!t.map(function(e){return e.toLowerCase()}).includes(a)||!(t=vm(r,n)).length||(this.data(t),!O(r)&&void 0)}function N0(e,t,r){return 0<(r=dp(r.attr(\"role\")).filter(function(e){return\"abstract\"===Sd(e)})).length&&(this.data(r),!0)}function T0(e){var t=xp(e.getAttribute(\"lang\")),e=xp(e.getAttribute(\"xml:lang\"));return Gf(t)&&Gf(e)}function O0(e){return e.ownerDocument.defaultView.self===e.ownerDocument.defaultView.top}var S0=function(e,t){try{return\"svg\"===t.props.nodeName?!0:!!fu(t,\"svg\")}catch(e){return!1}},_0=[function(e,t){return M0(t)},function(e,t){return\"area\"!==t.props.nodeName},function(e,t){return!S0(e,t)},function(e,t){return C(t)},function(e,t){return Bc(t)||!P0(t)},function(e){return!Pd(e,{noLengthCompare:!0,includeInlineBlock:!0})}];function M0(e){return\"widget\"===Sd(e)}var P0=r(function e(t){return!(null==t||!t.parent)&&(!(!M0(t.parent)||!Bc(t.parent))||e(t.parent))}),I0=function(e,t){var r=R(t);return!(r&&![\"none\",\"presentation\"].includes(r)&&!(Uc[r]||{}).accessibleNameRequired&&!C(t))},B0=function(e,t,r){return r.initiator},j0={emoji:!0,nonBmp:!1,punctuations:!0},L0={\"abstractrole-evaluate\":N0,\"accesskeys-after\":Gg,\"accesskeys-evaluate\":Vg,\"alt-space-value-evaluate\":Sg,\"aria-allowed-attr-elm-evaluate\":function(e,t,r){var n=x1(r);if(!n.allowedAriaAttrs)return!0;if(R(r))return!0;var a,o=n.allowedAriaAttrs,i=Jc(),l=[],u=x(r.attrNames);try{for(u.s();!(a=u.n()).done;){var s=a.value;i.includes(s)&&!o.includes(s)&&l.push(s)}}catch(e){u.e(e)}finally{u.f()}return!l.length||(this.data({messageKey:1<l.length?\"plural\":\"singular\",nodeName:r.props.nodeName,values:l.map(function(e){return e+'=\"'+r.attr(e)+'\"'}).join(\", \")}),!1)},\"aria-allowed-attr-evaluate\":function(e,t,r){var n,a=[],o=T(r),i=dm(o),l=(Array.isArray(t[o])&&(i=gf(t[o].concat(i))),x(r.attrNames));try{for(l.s();!(n=l.n()).done;){var u=n.value;!Mm(u)||i.includes(u)||((e,t,r)=>\"aria-required\"===e&&\"false\"===t||!(\"aria-multiline\"!==e||\"false\"!==t||!r.hasAttr(\"contenteditable\")))(u,r.attr(u),r)||a.push(u)}}catch(e){l.e(e)}finally{l.f()}return!a.length||(this.data(a.map(function(e){return e+'=\"'+r.attr(e)+'\"'})),!(o||rf(r)||C(r))&&void 0)},\"aria-allowed-attr-matches\":function(e,t){var r=/^aria-/,n=t.attrNames;if(n.length)for(var a=0,o=n.length;a<o;a++)if(r.test(n[a]))return!0;return!1},\"aria-allowed-role-evaluate\":R0,\"aria-allowed-role-matches\":function(e,t){return null!==R(t,{dpub:!0,fallback:!0})},\"aria-busy-evaluate\":function(e,t,r){return\"true\"===r.attr(\"aria-busy\")},\"aria-conditional-attr-evaluate\":function(e,t,r){var n=T(r);return!k0[n]||k0[n].call(this,e,t,r)},\"aria-conditional-checkbox-attr-evaluate\":C0,\"aria-conditional-row-attr-evaluate\":F0,\"aria-errormessage-evaluate\":function(e,t,a){t=Array.isArray(t)?t:[];var r=a.attr(\"aria-errormessage\"),n=a.hasAttr(\"aria-errormessage\"),o=a.attr(\"aria-invalid\");return!a.hasAttr(\"aria-invalid\")||\"false\"===o||-1!==t.indexOf(r)||!n||(this.data(dp(r)),function(e){if(\"\"===e.trim())return k.ariaAttrs[\"aria-errormessage\"].allowEmpty;var t,r,n=dp(e);if(1<n.length)return this.data({messageKey:\"unsupported\",values:n}),!1;try{t=e&&zc(a,\"aria-errormessage\")[0]}catch(e){return void this.data({messageKey:\"idrefs\",values:n})}return t?O(t)?(r=dp(a.attr(\"aria-describedby\")),\"alert\"===R(t)||\"assertive\"===t.getAttribute(\"aria-live\")||\"polite\"===t.getAttribute(\"aria-live\")||n.some(function(e){return r.includes(e)})):(this.data({messageKey:\"hidden\",values:n}),!1):void 0}.call(this,r))},\"aria-has-attr-matches\":function(e,t){var r=/^aria-/;return t.attrNames.some(function(e){return r.test(e)})},\"aria-hidden-body-evaluate\":A0,\"aria-hidden-focus-matches\":function(e){return function e(t){return!t||\"true\"!==t.getAttribute(\"aria-hidden\")&&e(s(t))}(s(e))},\"aria-label-evaluate\":th,\"aria-labelledby-evaluate\":eh,\"aria-level-evaluate\":E0,\"aria-prohibited-attr-evaluate\":function(e){var t,r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},n=2<arguments.length?arguments[2]:void 0,r=(null==r?void 0:r.elementsAllowedAriaLabel)||[],a=n.props.nodeName,o=T(n,{chromium:!0,fallback:!0});return 0!==(r=((e,t,r,n)=>{var a=k.ariaRoles[t];return a?a.prohibitedAttrs||[]:t||n.includes(r)||\"widget\"===x0(e)?[]:[\"aria-label\",\"aria-labelledby\"]})(n,o,a,r).filter(function(e){return!!n.attrNames.includes(e)&&\"\"!==N(n.attr(e))})).length&&(t=null!==o?\"hasRole\":\"noRole\",this.data({role:o,nodeName:a,messageKey:t+=1<r.length?\"Plural\":\"Singular\",prohibited:r}),o=W1(n,{subtreeDescendant:!0}),\"\"===N(o)||void 0)},\"aria-required-attr-evaluate\":function(e){var r,t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},n=2<arguments.length?arguments[2]:void 0,a=R(n),o=n.attrNames,i=Tm(a);return Array.isArray(t[a])&&(i=gf(t[a],i)),!(a&&o.length&&i.length&&(t=n,\"separator\"!==a||C(t))&&(o=n,\"combobox\"!==a||\"false\"!==o.attr(\"aria-expanded\"))&&((\"slider\"!==a||null==(t=n.attr(\"aria-valuetext\"))||!t.trim())&&(r=x1(n),(o=i.filter(function(e){return!(n.attr(e)||(e=e,void 0!==(null==(t=(t=r).implicitAttrs)?void 0:t[e])));var t})).length)&&(this.data(o),1)))},\"aria-required-children-evaluate\":function(e,t,r){var n,a,o,i,t=t&&Array.isArray(t.reviewEmpty)?t.reviewEmpty:[],l=R(r,{dpub:!0}),u=Sm(l);return null===u||((a=(n=((e,a)=>{function t(){if(3===o.props.nodeType&&i.push({vNode:o,role:null}),1!==o.props.nodeType||!O(o))return 1;var t,r=T(o,{noPresentational:!0}),e=(t=o,Jc().find(function(e){return t.hasAttr(e)})),n=!!e||C(o);!r&&!n||[\"group\",\"rowgroup\"].includes(r)&&a.some(function(e){return e===r})?l.push.apply(l,w(o.children)):(r||n)&&i.push({role:r,attr:e||\"tabindex\",vNode:o})}for(var o,i=[],l=T1(e);o=l.shift();)t();return i})(r,u)).filter(function(e){var t=e.role;return 1===e.vNode.props.nodeType&&!u.includes(t)})).length?(this.relatedNodes(a.map(function(e){return e.vNode})),o=\"true\"===r.attr(\"aria-busy\")?\"aria-busy-fail\":\"unallowed\",this.data({messageKey:o,values:a.map(function(e){var t=e.vNode,e=e.attr,r=t.props,n=r.nodeName;return 3===r.nodeType?\"#text\":(r=R(t,{dpub:!0}))?\"[role=\".concat(r,\"]\"):e?n+\"[\".concat(e,\"]\"):n}).filter(function(e,t,r){return r.indexOf(e)===t}).join(\", \")}),!1):(i=u,!!n.some(function(e){e=e.role;return e&&i.includes(e)})||(\"true\"===r.attr(\"aria-busy\")?(this.data({messageKey:\"aria-busy\"}),!0):(this.data(u),!(!t.includes(l)||n.some(D0))&&void 0))))},\"aria-required-children-matches\":function(e,t){return t=R(t,{dpub:!0}),!!Sm(t)},\"aria-required-parent-evaluate\":w0,\"aria-required-parent-matches\":function(e,t){return t=R(t),!!Om(t)},\"aria-roledescription-evaluate\":b0,\"aria-unsupported-attr-evaluate\":v0,\"aria-valid-attr-evaluate\":g0,\"aria-valid-attr-value-evaluate\":function(e,n,a){n=Array.isArray(n.value)?n.value:[];var o=\"\",i=\"\",l=[],u=/^aria-/,s=[\"aria-errormessage\"],c={\"aria-controls\":function(){var e=!1===[\"false\",null].includes(a.attr(\"aria-haspopup\"));return e&&(o='aria-controls=\"'.concat(a.attr(\"aria-controls\"),'\"'),i=\"controlsWithinPopup\"),\"false\"!==a.attr(\"aria-expanded\")&&\"false\"!==a.attr(\"aria-selected\")&&!1==e},\"aria-current\":function(e){e||(o='aria-current=\"'.concat(a.attr(\"aria-current\"),'\"'),i=\"ariaCurrent\")},\"aria-owns\":function(){return\"false\"!==a.attr(\"aria-expanded\")},\"aria-describedby\":function(e){e||(o='aria-describedby=\"'.concat(a.attr(\"aria-describedby\"),'\"'),i=axe._tree&&axe._tree[0]._hasShadowRoot?\"noIdShadow\":\"noId\")},\"aria-labelledby\":function(e){e||(o='aria-labelledby=\"'.concat(a.attr(\"aria-labelledby\"),'\"'),i=axe._tree&&axe._tree[0]._hasShadowRoot?\"noIdShadow\":\"noId\")}};return a.attrNames.forEach(function(t){if(!s.includes(t)&&!n.includes(t)&&u.test(t)){var e,r=a.attr(t);try{e=_m(a,t)}catch(e){return o=\"\".concat(t,'=\"').concat(r,'\"'),void(i=\"idrefs\")}c[t]&&!c[t](e)||e||(\"\"===r&&(e=t,\"string\"!==(null==(e=k.ariaAttrs[t])?void 0:e.type))?(o=t,i=\"empty\"):l.push(\"\".concat(t,'=\"').concat(r,'\"')))}}),l.length?(this.data(l),!1):!o||void this.data({messageKey:i,needsReview:o})},\"attr-non-space-content-evaluate\":Kg,\"autocomplete-appropriate-evaluate\":Zg,\"autocomplete-matches\":function(e,t){var r=t.attr(\"autocomplete\");if(!r||\"\"===N(r))return!1;if(r=t.props.nodeName,!1===[\"textarea\",\"input\",\"select\"].includes(r))return!1;var n=t.attr(\"aria-readonly\")||\"false\";if(t.hasAttr(\"readonly\")||\"true\"===n.toLowerCase())return!1;if(\"input\"===r&&[\"submit\",\"reset\",\"button\",\"hidden\"].includes(t.props.type))return!1;if(n=t.attr(\"aria-disabled\")||\"false\",t.hasAttr(\"disabled\")||\"true\"===n.toLowerCase())return!1;if(r=R(t),(n=ff(t.attr(\"tabindex\")))<0&&t.hasAttr(\"role\")){r=k.ariaRoles[r];if(void 0===r||\"widget\"!==r.type)return!1}return!(n<0&&t.actualNode&&!Us(t)&&!O(t))},\"autocomplete-valid-evaluate\":Xg,\"avoid-inline-spacing-evaluate\":Qm,\"braille-label-equivalent-evaluate\":function(e,t,r){var n;if(!(null!=(n=r.attr(\"aria-braillelabel\"))?n:\"\").trim())return!0;try{return\"\"!==N(c(r))}catch(e){}},\"braille-roledescription-equivalent-evaluate\":function(e,t,r){var n=null!=(n=r.attr(\"aria-brailleroledescription\"))?n:\"\";return\"\"===N(n)||(\"string\"!=typeof(n=r.attr(\"aria-roledescription\"))?(this.data({messageKey:\"noRoleDescription\"}),!1):\"\"!==N(n)||(this.data({messageKey:\"emptyRoleDescription\"}),!1))},\"bypass-matches\":function(e,t,r){return!B0(e,t,r)||!!e.querySelector(\"a[href]\")},\"caption-evaluate\":pg,\"caption-faked-evaluate\":Um,\"color-contrast-evaluate\":function(e,t,r){var n=t.ignoreUnicode,a=t.ignoreLength,o=t.ignorePseudo,i=t.boldValue,l=t.boldTextPt,u=t.largeTextPt,s=t.contrastRatio,c=t.shadowOutlineEmMax,d=t.pseudoSizeThreshold;if(!Us(e))return this.data({messageKey:\"hidden\"}),!0;var p=_1(r,!1,!0);if(n&&(m=ad(n=p,f={nonBmp:!0}),n=\"\"===N(ld(n,f)),m)&&n)this.data({messageKey:\"nonBmp\"});else{var f=window.getComputedStyle(e),m=parseFloat(f.getPropertyValue(\"font-size\")),n=f.getPropertyValue(\"font-weight\"),i=parseFloat(n)>=i||\"bold\"===n,n=Math.ceil(72*m)/96,l=i&&n<l||!i&&n<u?s.normal:s.large,n=l.expected,u=l.minThreshold,s=l.maxThreshold,l=((e,t)=>{var r=void 0===(r=t.pseudoSizeThreshold)?.25:r,t=void 0!==(t=t.ignorePseudo)&&t;if(!t){var t=e.boundingClientRect,n=t.width*t.height*r;do{var a=a0(e.actualNode,\":before\"),o=a0(e.actualNode,\":after\");if(n<a+o)return e}while(e=e.parent)}})(r,{ignorePseudo:o,pseudoSizeThreshold:d});if(l)this.data({fontSize:\"\".concat((72*m/96).toFixed(1),\"pt (\").concat(m,\"px)\"),fontWeight:i?\"bold\":\"normal\",messageKey:\"pseudoContent\",expectedContrastRatio:n+\":1\"}),this.relatedNodes(l.actualNode);else{var h,g,v,b,r=Ih(e,{minRatio:.001,maxRatio:c});if(null!==r)return l=Uh(e,!(o=[]),d=Vh(e,o,c),t),t=c=e=null,0===r.length?e=Hh(d,l):l&&d&&(t=[].concat(w(r),[d]).reduce(kh),r=Hh(d,l),b=Hh(d,t),h=Hh(t,l),(e=Math.max(r,b,h))!==r)&&(c=h<b?\"shadowOnBgColor\":\"fgOnShadowColor\"),r=n<e,\"number\"==typeof u&&(\"number\"!=typeof e||e<u)||\"number\"==typeof s&&(\"number\"!=typeof e||s<e)?(this.data({contrastRatio:e}),!0):(h=Math.floor(100*e)/100,null===d?S.get(\"colorParse\")?v=S.get(g=\"colorParse\"):g=S.get(\"bgColor\"):r||(g=c),null===l&&S.get(\"colorParse\")&&(v=S.get(g=\"colorParse\")),b=1===p.length,(u=1==h)?g=S.set(\"bgColor\",\"equalRatio\"):r||!b||a||(g=\"shortTextContent\"),this.data({fgColor:l?l.toHexString():void 0,bgColor:d?d.toHexString():void 0,contrastRatio:h,fontSize:\"\".concat((72*m/96).toFixed(1),\"pt (\").concat(m,\"px)\"),fontWeight:i?\"bold\":\"normal\",messageKey:g,expectedContrastRatio:n+\":1\",shadowColor:t?t.toHexString():void 0,colorParse:v}),null===l||null===d||u||b&&!a&&!r?(g=null,S.clear(),void this.relatedNodes(o)):(r||this.relatedNodes(o),r));this.data({messageKey:\"complexTextShadows\"})}}},\"color-contrast-matches\":function(n,e){var t=(d=e.props).nodeName;if(\"option\"===t)return!1;if(\"select\"===t&&!n.options.length)return!1;if(\"input\"===t&&[\"hidden\",\"range\",\"color\",\"checkbox\",\"radio\",\"image\"].includes(d.type))return!1;if(Xh(e)||xc(e))return!1;if([\"input\",\"select\",\"textarea\"].includes(t)){d=window.getComputedStyle(n),d=parseInt(d.getPropertyValue(\"text-indent\"),10);if(d){var r={top:(r=n.getBoundingClientRect()).top,bottom:r.bottom,left:r.left+d,right:r.right+d};if(!ip(r,n))return!1}return!0}if(d=gs(e,\"label\"),\"label\"===t||d){r=d||n,t=d?g(d):e;if(r.htmlFor){d=F(r).getElementById(r.htmlFor),r=d&&g(d);if(r&&Xh(r))return!1}d=Rf(t,'input:not([type=\"hidden\"],[type=\"image\"],[type=\"button\"],[type=\"submit\"],[type=\"reset\"]), select, textarea')[0];if(d&&Xh(d))return!1}for(var a,o=[],i=e;i;)i.props.id&&(a=fm(i).filter(function(e){return dp(e.getAttribute(\"aria-labelledby\")||\"\").includes(i.props.id)}).map(function(e){return g(e)}),o.push.apply(o,w(a))),i=i.parent;if(0<o.length&&o.every(Xh))return!1;if(\"\"===(t=_1(r=e,!1,!0))||\"\"===ld(t,j0)||!r.children.some(function(e){return\"#text\"===e.props.nodeName&&!od(e)}))return!1;if(!parseFloat(e.getComputedStylePropertyValue(\"font-size\")))return!1;for(var l=document.createRange(),u=e.children,s=0;s<u.length;s++){var c=u[s];3===c.actualNode.nodeType&&\"\"!==N(c.actualNode.nodeValue)&&l.selectNodeContents(c.actualNode)}var d=Array.from(l.getClientRects()),p=ws(e);return d.some(function(t){var e,r=ip(t,n);return p.length?(e=p.some(function(e){return bs(t,e.boundingClientRect)}),r&&e):r})},\"css-orientation-lock-evaluate\":ug,\"data-table-large-matches\":function(e){return!!lm(e)&&3<=(e=Qc(e)).length&&3<=e[0].length&&3<=e[1].length&&3<=e[2].length},\"data-table-matches\":function(e){return lm(e)},\"deprecatedrole-evaluate\":function(e,t,r){var r=T(r,{dpub:!0,fallback:!0}),n=k.ariaRoles[r];return!(null==n||!n.deprecated||(this.data(r),0))},\"dlitem-evaluate\":gg,\"doc-has-title-evaluate\":Jm,\"duplicate-id-active-matches\":function(e){var t=e.getAttribute(\"id\").trim(),t='*[id=\"'.concat(m(t),'\"]'),t=Array.from(F(e).querySelectorAll(t));return!Cm(e)&&t.some(C)},\"duplicate-id-after\":nh,\"duplicate-id-aria-matches\":function(e){return Cm(e)},\"duplicate-id-evaluate\":rh,\"duplicate-id-misc-matches\":function(e){var t=e.getAttribute(\"id\").trim(),t='*[id=\"'.concat(m(t),'\"]'),t=Array.from(F(e).querySelectorAll(t));return!Cm(e)&&t.every(function(e){return!C(e)})},\"duplicate-img-label-evaluate\":Og,\"exists-evaluate\":Zm,\"explicit-evaluate\":Tg,\"fallbackrole-evaluate\":h0,\"focusable-content-evaluate\":zg,\"focusable-disabled-evaluate\":qg,\"focusable-element-evaluate\":Lg,\"focusable-modal-open-evaluate\":jg,\"focusable-no-name-evaluate\":Bg,\"focusable-not-tabbable-evaluate\":Ig,\"frame-focusable-content-evaluate\":function(e,t,r){if(r.children)try{return!r.children.some(function t(e){if(Bc(e))return!0;if(!e.children){if(1===e.props.nodeType)throw new Error(\"Cannot determine children\");return!1}return e.children.some(function(e){return t(e)})})}catch(e){}},\"frame-focusable-content-matches\":function(e,t,r){var n;return!r.initiator&&!r.focusable&&1<(null==(n=r.size)?void 0:n.width)*(null==(n=r.size)?void 0:n.height)},\"frame-tested-after\":dg,\"frame-tested-evaluate\":cg,\"frame-title-has-text-matches\":function(e){return e=e.getAttribute(\"title\"),!!N(e)},\"has-alt-evaluate\":Xm,\"has-descendant-after\":Yg,\"has-descendant-evaluate\":Wg,\"has-global-aria-attribute-evaluate\":m0,\"has-implicit-chromium-role-matches\":function(e,t){return null!==E1(t,{chromium:!0})},\"has-lang-evaluate\":wg,\"has-text-content-evaluate\":function(e,t,r){try{return\"\"!==N(W1(r))}catch(e){}},\"has-widget-role-evaluate\":f0,\"heading-matches\":function(e,t){return\"heading\"===T(t)},\"heading-order-after\":function(e){(t=w(t=e)).sort(function(e,t){e=e.node,t=t.node;return e.ancestry.length-t.ancestry.length});var t,r=t.reduce(eg,[]).filter(function(e){return-1!==e.level});return e.forEach(function(e){e.result=((e,t)=>{var e=tg(t,e.node.ancestry),r=null!=(r=null==(r=t[e])?void 0:r.level)?r:-1,t=null!=(t=null==(t=t[e-1])?void 0:t.level)?t:-1;return 0===e||(-1!==r?r-t<=1:void 0)})(e,r)}),e},\"heading-order-evaluate\":Qh,\"help-same-as-label-evaluate\":Ng,\"hidden-content-evaluate\":tm,\"hidden-explicit-label-evaluate\":Rg,\"html-namespace-matches\":function(e,t){return!S0(e,t)},\"html5-scope-evaluate\":Hm,\"identical-links-same-purpose-after\":Jh,\"identical-links-same-purpose-evaluate\":Zh,\"identical-links-same-purpose-matches\":function(e,t){return!(!c(t)||(t=T(e))&&\"link\"!==t)},\"implicit-evaluate\":kg,\"inline-style-property-evaluate\":function(e,t){var r=t.cssProperty,n=t.absoluteValues,a=t.minValue,o=t.maxValue,i=void 0===(i=t.normalValue)?0:i,l=t.multiLineOnly;return!!(!t.noImportant&&\"important\"!==e.style.getPropertyPriority(r)||l&&!jd(e))||(t={},\"number\"==typeof a&&(t.minValue=a),\"number\"==typeof o&&(t.maxValue=o),l=e.style.getPropertyValue(r),[\"inherit\",\"unset\",\"revert\",\"revert-layer\"].includes(l)?(this.data(h({value:l},t)),!0):(l=((e,t)=>{var r=t.cssProperty,n=t.absoluteValues,t=t.normalValue,e=window.getComputedStyle(e);return\"normal\"===(r=e.getPropertyValue(r))||(t=parseFloat(r),n)?t:(n=parseFloat(e.getPropertyValue(\"font-size\")),e=Math.round(t/n*100)/100,isNaN(e)?r:e)})(e,{absoluteValues:n,cssProperty:r,normalValue:i}),this.data(h({value:l},t)),\"number\"==typeof l?(\"number\"!=typeof a||a<=l)&&(\"number\"!=typeof o||l<=o):void 0))},\"inserted-into-focus-order-matches\":function(e){return kd(e)},\"internal-link-present-evaluate\":gh,\"invalid-children-evaluate\":function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},r=2<arguments.length?arguments[2]:void 0,n=[],a=[];if(r.children){for(var o=hg(r.children);o.length;){var i=o.shift(),l=i.vChild,i=i.nested;if(t.divGroups&&!i&&\"div\"===(u=l).props.nodeName&&null===R(u)){if(!l.children)return;var u=hg(l.children,!0);o.push.apply(o,w(u))}else{u=((e,t,r)=>{var n=void 0===(n=r.validRoles)?[]:n,r=void 0===(r=r.validNodeNames)?[]:r,a=(i=e.props).nodeName,o=i.nodeType,i=i.nodeValue,t=t?\"div > \":\"\";return 3===o&&\"\"!==i.trim()?t+\"#text\":!(1!==o||!O(e))&&((i=R(e))?!n.includes(i)&&t+\"[role=\".concat(i,\"]\"):!r.includes(a)&&t+a)})(l,i,t);u&&(a.includes(u)||a.push(u),1===(null==l||null==(i=l.actualNode)?void 0:i.nodeType))&&n.push(l.actualNode)}}return 0===a.length?!1:(this.data({values:a.join(\", \")}),this.relatedNodes(n),!0)}},\"invalidrole-evaluate\":p0,\"is-element-focusable-evaluate\":d0,\"is-initiator-matches\":B0,\"is-on-screen-evaluate\":Zi,\"is-visible-matches\":Us,\"is-visible-on-screen-matches\":function(e,t){return Us(t)},\"label-content-name-mismatch-evaluate\":Cg,\"label-content-name-mismatch-matches\":function(e,t){var r=T(e);return!!(r&&bm(\"widget\").includes(r)&&wm().includes(r)&&(N($c(t))||N(Gc(e)))&&N(_1(t)))},\"label-matches\":function(e,t){return\"input\"!==t.props.nodeName||!1===t.hasAttr(\"type\")||(t=t.attr(\"type\").toLowerCase(),!1===[\"hidden\",\"image\",\"button\",\"submit\",\"reset\"].includes(t))},\"landmark-has-body-context-matches\":function(e,t){return e.hasAttribute(\"role\")||!gs(t,\"article, aside, main, nav, section\")},\"landmark-is-top-level-evaluate\":Pg,\"landmark-is-unique-after\":xg,\"landmark-is-unique-evaluate\":Dg,\"landmark-unique-matches\":function(e,t){return r=t,a=bm(\"landmark\"),!!(o=T(r))&&(\"section\"!==(n=r.props.nodeName)&&\"form\"!==n?0<=a.indexOf(o)||\"region\"===o:!!c(r))&&O(t);var r,n,a,o},\"layout-table-matches\":function(e){return!lm(e)&&!C(e)},\"link-in-text-block-evaluate\":n0,\"link-in-text-block-matches\":function(e){var t=N(e.innerText),r=R(e);return!(r&&\"link\"!==r||!t||!Us(e))&&Pd(e)},\"link-in-text-block-style-evaluate\":function(e){if(Qg(e))return!1;for(var t=s(e);t&&1===t.nodeType&&!Qg(t);)t=s(t);return t?(this.relatedNodes([t]),!!wh(e,t)||!!(e=>{for(var t=0,r=[\"before\",\"after\"];t<r.length;t++){var n=r[t];if(\"none\"!==window.getComputedStyle(e,\":\".concat(n)).getPropertyValue(\"content\"))return 1}})(e)&&void this.data({messageKey:\"pseudoContent\"})):void 0},\"listitem-evaluate\":function(e,t,r){var n;if(r=r.parent)return n=r.props.nodeName,r=R(r),!![\"presentation\",\"none\",\"list\"].includes(r)||(r&&Xc(r)?(this.data({messageKey:\"roleNotValid\"}),!1):[\"ul\",\"ol\",\"menu\"].includes(n))},\"matches-definition-evaluate\":Ug,\"meta-refresh-evaluate\":function(e,t,r){var n=(a=t||{}).minDelay,a=a.maxDelay;return!(r=D((r.attr(\"content\")||\"\").trim().split(mh),1)[0]).match(hh)||(r=parseFloat(r),this.data({redirectDelay:r}),\"number\"==typeof n&&r<=t.minDelay)||\"number\"==typeof a&&r>t.maxDelay},\"meta-viewport-scale-evaluate\":lg,\"multiple-label-evaluate\":Ag,\"nested-interactive-matches\":function(e,t){return!!(t=T(t))&&!!k.ariaRoles[t].childrenPresentational},\"no-autoplay-audio-evaluate\":sg,\"no-autoplay-audio-matches\":function(e){return!!e.currentSrc&&!e.hasAttribute(\"paused\")&&!e.hasAttribute(\"muted\")},\"no-empty-role-matches\":function(e,t){return!!t.hasAttr(\"role\")&&!!t.attr(\"role\").trim()},\"no-explicit-name-required-matches\":I0,\"no-focusable-content-evaluate\":function(e,t,r){if(r.children)try{var n,a=function t(e){if(!e.children){if(1===e.props.nodeType)throw new Error(\"Cannot determine children\");return[]}var r=[];e.children.forEach(function(e){\"widget\"===Sd(e)&&C(e)?r.push(e):r.push.apply(r,w(t(e)))});return r}(r);return a.length?(0<(n=a.filter(Mg)).length?(this.data({messageKey:\"notHidden\"}),this.relatedNodes(n)):this.relatedNodes(a),!1):!0}catch(e){}},\"no-implicit-explicit-label-evaluate\":c0,\"no-naming-method-matches\":function(e,t){var r=x1(t).namingMethods;return!(r&&0!==r.length||\"combobox\"===R(t)&&Rf(t,'input:not([type=\"hidden\"])').length||km(t,{popupRoles:[\"listbox\"]}))},\"no-negative-tabindex-matches\":function(e,t){return null===(t=ff(t.attr(\"tabindex\")))||0<=t},\"no-role-matches\":function(e,t){return!t.attr(\"role\")},\"non-empty-if-present-evaluate\":Km,\"not-html-matches\":function(e,t){return\"html\"!==t.props.nodeName},\"object-is-loaded-matches\":function(t,r){return[I0,function(e){var t;return null==e||null==(t=e.ownerDocument)||!t.createRange||((t=e.ownerDocument.createRange()).setStart(e,0),t.setEnd(e,e.childNodes.length),0===t.getClientRects().length)}].every(function(e){return e(t,r)})},\"only-dlitems-evaluate\":function(e,t,r){var a=[\"definition\",\"term\",\"list\"];return(r=r.children.reduce(function(e,t){var r=t.actualNode;return\"DIV\"===r.nodeName.toUpperCase()&&null===T(r)?e.concat(t.children):e.concat(t)},[]).reduce(function(e,t){var r,t=t.actualNode,n=t.nodeName.toUpperCase();return 1===t.nodeType&&O(t)?(r=R(t),(\"DT\"!==n&&\"DD\"!==n||r)&&!a.includes(r)&&e.badNodes.push(t)):3===t.nodeType&&\"\"!==t.nodeValue.trim()&&(e.hasNonEmptyTextNode=!0),e},{badNodes:[],hasNonEmptyTextNode:!1})).badNodes.length&&this.relatedNodes(r.badNodes),!!r.badNodes.length||r.hasNonEmptyTextNode},\"only-listitems-evaluate\":mg,\"p-as-heading-evaluate\":fh,\"p-as-heading-matches\":function(e){var t=Array.from(e.parentNode.childNodes),r=e.textContent.trim();return!(0===r.length||2<=(r.match(/[.!?:;](?![.!?:;])/g)||[]).length)&&0!==t.slice(t.indexOf(e)+1).filter(function(e){return\"P\"===e.nodeName.toUpperCase()&&\"\"!==e.textContent.trim()}).length},\"page-no-duplicate-after\":Hg,\"page-no-duplicate-evaluate\":$g,\"presentation-role-conflict-matches\":function(e,t){return null!==E1(t,{chromiumRoles:!0})},\"presentational-role-evaluate\":function(e,t,r){var n=R(r);if([\"presentation\",\"none\"].includes(n)&&[\"iframe\",\"frame\"].includes(r.props.nodeName)&&r.hasAttr(\"title\"))this.data({messageKey:\"iframe\",nodeName:r.props.nodeName});else{var a,o=T(r);if([\"presentation\",\"none\"].includes(o))return this.data({role:o}),!0;[\"presentation\",\"none\"].includes(n)&&(n=Jc().some(function(e){return r.hasAttr(e)}),a=C(r),this.data({messageKey:n&&!a?\"globalAria\":!n&&a?\"focusable\":\"both\",role:o}))}return!1},\"region-after\":ch,\"region-evaluate\":function(e,t,r){return this.data({isIframe:[\"iframe\",\"frame\"].includes(r.props.nodeName)}),!A.get(\"regionlessNodes\",function(){return function t(e,r){var n=e.actualNode;{if(\"button\"===T(e)||sh(e,r)||[\"iframe\",\"frame\"].includes(e.props.nodeName)||Kd(e.actualNode)&&Tc(e.actualNode,\"href\")||!O(n)){for(var a=e;a;)a._hasRegionDescendant=!0,a=a.parent;return[\"iframe\",\"frame\"].includes(e.props.nodeName)?[e]:[]}return n!==document.body&&Fd(n,!0)&&!uh(e)?[e]:e.children.filter(function(e){e=e.actualNode;return 1===e.nodeType}).map(function(e){return t(e,r)}).reduce(function(e,t){return e.concat(t)},[])}}(axe._tree[0],t).map(function(e){for(;e.parent&&!e.parent._hasRegionDescendant&&e.parent.actualNode!==document.body;)e=e.parent;return e}).filter(function(e,t,r){return r.indexOf(e)===t})}).includes(r)},\"same-caption-summary-evaluate\":Gm,\"scope-value-evaluate\":Vm,\"scrollable-region-focusable-matches\":function(e,t){return void 0!==Vp(e,13)&&!1===km(t)&&(a=t.boundingClientRect,Rf(t,\"*\").some(function(e){var t,r,n;return!!Ad(e,!0,!0)&&(t=[],Ed(e)?t.push.apply(t,w((r=e,(n=document.createRange()).selectNodeContents(r.actualNode),Array.from(n.getClientRects())))):t=[e.boundingClientRect],t.some(function(e){return e.left<a.left||e.right>a.right||e.top<a.top||e.bottom>a.bottom}))}));var a},\"skip-link-evaluate\":ih,\"skip-link-matches\":function(e){return Kd(e)&&$s(e)},\"structured-dlitems-evaluate\":fg,\"summary-interactive-matches\":function(e,t){var r,n,a=t.parent;return!(\"details\"!==a.props.nodeName||(n=null==(n=(r=t).actualNode)?void 0:n.parentElement)&&n!==r.parent.actualNode)&&a.children.find(function(e){return\"summary\"===e.props.nodeName})===t},\"svg-namespace-matches\":S0,\"svg-non-empty-title-evaluate\":Wm,\"tabindex-evaluate\":_g,\"table-or-grid-role-matches\":function(e,t){return t=T(t),[\"treegrid\",\"grid\",\"table\"].includes(t)},\"target-offset-evaluate\":function(e,t,r){var n=(null==t?void 0:t.minOffset)||24;if(ec(10*n,r.boundingClientRect))return this.data({messageKey:\"large\",minOffset:n}),!0;var a,o,i=[],l=n,u=x(wc(r,n));try{for(u.s();!(a=u.n()).done;){var s=a.value;if(\"widget\"===Sd(s)&&C(s)){var c=null;try{c=tc(r,s,n/2)}catch(e){if(e.message.startsWith(\"splitRects\"))return void this.data({messageKey:\"tooManyRects\",closestOffset:0,minOffset:n});throw e}null===c||n<=(c=2*(o=c,Math.round(10*o)/10))+.05||(l=Math.min(l,c),i.push(s))}}}catch(e){u.e(e)}finally{u.f()}return 0===i.length?(this.data({closestOffset:l,minOffset:n}),!0):(this.relatedNodes(i.map(function(e){return e.actualNode})),i.some(Bc)?(this.data({closestOffset:l,minOffset:n}),!Bc(r)&&void 0):void this.data({messageKey:\"nonTabbableNeighbor\",closestOffset:l,minOffset:n}))},\"target-size-evaluate\":function(e,t,r){var n,a,o,i,l,u,t=(null==t?void 0:t.minSize)||24,s=r.boundingClientRect;return ec(10*t,s)?(this.data({messageKey:\"large\",minSize:t}),!0):(l=ec.bind(null,t),i=wc(r),a=r,n=i.filter(function(e){return!ng(e,a)&&og(a,e)}),o=(i=((e,t)=>{var r,n=[],a=[],o=x(t);try{for(o.s();!(r=o.n()).done;){var i=r.value;!og(e,i)&&nc(e,i)&&\"none\"!==i.getComputedStylePropertyValue(\"pointer-events\")&&(ng(e,i)?n:a).push(i)}}catch(e){o.e(e)}finally{o.f()}return{fullyObscuringElms:n,partialObscuringElms:a}})(r,i)).fullyObscuringElms,i=i.partialObscuringElms,!n.length||!o.length&&l(s)?o.length?(this.relatedNodes(ig(o)),this.data({messageKey:\"obscured\"}),!0):(o=!Bc(r)&&void 0,l(s)?(i=i.filter(function(e){return\"widget\"===Sd(e)&&C(e)})).length?(r=((e,t,r)=>{var n,e=e.boundingClientRect,t=t.map(function(e){return\"inline\"===e.getComputedStylePropertyValue(\"display\")?e.clientRects:e.boundingClientRect}).flat(1/0);try{n=ac(e,t)}catch(e){return null}var a=r;return n.reduce(function(e,t){var r=ec(a,e);return r!==ec(a,t)?r?e:t:(r=e.width*e.height,t.width*t.height<r?e:t)})})(r,i,t))?l(r)?(this.data(h({minSize:t},ag(r||s))),this.relatedNodes(ig(i)),!0):n.length?(this.data({minSize:t,messageKey:\"contentOverflow\"}),void this.relatedNodes(ig(n))):(l=i.every(Bc),u=\"partiallyObscured\".concat(l?\"\":\"NonTabbable\"),this.data(h({messageKey:u,minSize:t},ag(r))),this.relatedNodes(ig(i)),l?o:void 0):void this.data({minSize:t,messageKey:\"tooManyRects\"}):(this.data(h({minSize:t},ag(s))),!0):(this.data(h({minSize:t},ag(s))),o)):(this.data({minSize:t,messageKey:\"contentOverflow\"}),void this.relatedNodes(ig(n))))},\"td-has-header-evaluate\":zm,\"td-headers-attr-evaluate\":function(e){for(var t=[],n={},r=0;r<e.rows.length;r++)for(var a=e.rows[r],o=0;o<a.cells.length;o++){var i=a.cells[o],l=(t.push(i),i.getAttribute(\"id\"));l&&(n[l]=T(i))}var u,s=re(re(re(re({},Lm,new Set),Bm,new Set),jm,new Set),qm,new Set),c=(t.forEach(function(t){var e,r;t.hasAttribute(\"headers\")&&O(t)&&((e=t.getAttribute(\"headers\").trim())?(r=t.getAttribute(\"id\"),dp(e).forEach(function(e){r&&e===r?s[Lm].add(t):n[e]?[\"columnheader\",\"rowheader\"].includes(n[e])||s[jm].add(t):s[Bm].add(t)})):s[qm].add(t))}),x(Im));try{for(c.s();!(u=c.n()).done;){var d=u.value;if(0<s[d].size)return this.relatedNodes(w(s[d])),d===qm?void 0:(this.data({messageKey:d}),!1)}}catch(e){c.e(e)}finally{c.f()}return!0},\"th-has-data-cells-evaluate\":Pm,\"title-only-evaluate\":Eg,\"unique-frame-title-after\":oh,\"unique-frame-title-evaluate\":ah,\"unsupportedrole-evaluate\":s0,\"valid-lang-evaluate\":bg,\"valid-scrollable-semantics-evaluate\":u0,\"widget-not-inline-matches\":function(t,r){return _0.every(function(e){return e(t,r)})},\"window-is-top-matches\":O0,\"xml-lang-mismatch-evaluate\":vg,\"xml-lang-mismatch-matches\":T0},q0=function(e){this.id=e.id,this.data=null,this.relatedNodes=[],this.result=null};function z0(e){if(\"string\"!=typeof e)return e;if(L0[e])return L0[e];if(/^\\s*function[\\s\\w]*\\(/.test(e))return new Function(\"return \"+e+\";\")();throw new ReferenceError(\"Function ID does not exist in the metadata-function-map: \".concat(e))}function V0(e){e=0<arguments.length&&void 0!==e?e:{};return e=!Array.isArray(e)&&\"object\"===te(e)?e:{value:e}}function G0(e){e&&(this.id=e.id,this.configure(e))}G0.prototype.enabled=!0,G0.prototype.run=function(t,e,r,n,a){var o=((e=e||{}).hasOwnProperty(\"enabled\")?e:this).enabled,i=this.getOptions(e.options);if(o){var l,o=new q0(this),e=ru(o,e,n,a);try{l=this.evaluate.call(e,t.actualNode,i,t,r)}catch(e){return t&&t.actualNode&&(e.errorNode=rs.toSpec(t)),void a(e)}e.isAsync||(o.result=l,n(o))}else n(null)},G0.prototype.runSync=function(t,e,r){var n=(e=e||{}).enabled;if(!(void 0===n?this.enabled:n))return null;var a,n=this.getOptions(e.options),o=new q0(this),e=ru(o,e);e.async=function(){throw new Error(\"Cannot run async check while in a synchronous run\")};try{a=this.evaluate.call(e,t.actualNode,n,t,r)}catch(e){throw t&&t.actualNode&&(e.errorNode=rs.toSpec(t)),e}return o.result=a,o},G0.prototype.configure=function(t){var r=this;t.evaluate&&!L0[t.evaluate]||(this._internalCheck=!0),t.hasOwnProperty(\"enabled\")&&(this.enabled=t.enabled),t.hasOwnProperty(\"options\")&&(this._internalCheck?this.options=V0(t.options):this.options=t.options),[\"evaluate\",\"after\"].filter(function(e){return t.hasOwnProperty(e)}).forEach(function(e){return r[e]=z0(t[e])})},G0.prototype.getOptions=function(e){return this._internalCheck?ss(this.options,V0(e||{})):e||this.options};var $0=G0,H0=function(e){this.id=e.id,this.result=f.NA,this.pageLevel=e.pageLevel,this.impact=null,this.nodes=[]};function U0(e,t){this._audit=t,this.id=e.id,this.selector=e.selector||\"*\",e.impact&&(E(f.impact.includes(e.impact),\"Impact \".concat(e.impact,\" is not a valid impact\")),this.impact=e.impact),this.excludeHidden=\"boolean\"!=typeof e.excludeHidden||e.excludeHidden,this.enabled=\"boolean\"!=typeof e.enabled||e.enabled,this.pageLevel=\"boolean\"==typeof e.pageLevel&&e.pageLevel,this.reviewOnFail=\"boolean\"==typeof e.reviewOnFail&&e.reviewOnFail,this.any=e.any||[],this.all=e.all||[],this.none=e.none||[],this.tags=e.tags||[],this.preload=!!e.preload,this.actIds=e.actIds,e.matches&&(this.matches=z0(e.matches))}function W0(e){var r,n;if(e.length)return r=!1,n={},e.forEach(function(e){var t=e.results.filter(function(e){return e});(n[e.type]=t).length&&(r=!0)}),r?n:null}U0.prototype.matches=function(){return!0},U0.prototype.gather=function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},r=\"mark_gather_start_\"+this.id,n=\"mark_gather_end_\"+this.id,a=\"mark_isVisibleToScreenReaders_start_\"+this.id,o=\"mark_isVisibleToScreenReaders_end_\"+this.id,e=(t.performanceTimer&&M.mark(r),_f(this.selector,e));return this.excludeHidden&&(t.performanceTimer&&M.mark(a),e=e.filter(O),t.performanceTimer)&&(M.mark(o),M.measure(\"rule_\"+this.id+\"#gather_axe.utils.isVisibleToScreenReaders\",a,o)),t.performanceTimer&&(M.mark(n),M.measure(\"rule_\"+this.id+\"#gather\",r,n)),e},U0.prototype.runChecks=function(t,a,o,i,r,e){var l=this,u=yu();this[t].forEach(function(e){var r=l._audit.checks[e.id||e],n=Sp(r,l.id,o);u.defer(function(e,t){r.run(a,n,i,e,function(e){t(new If({ruleId:l.id,method:\"\".concat(r.id,\"#evaluate\"),errorNode:new tu(a),error:e}))})})}),u.then(function(e){e=e.filter(function(e){return e}),r({type:t,results:e})}).catch(e)},U0.prototype.runChecksSync=function(e,r,n,a){var o=this,i=[];return this[e].forEach(function(e){var e=o._audit.checks[e.id||e],t=Sp(e,o.id,n);i.push(e.runSync(r,t,a))}),{type:e,results:i=i.filter(function(e){return e})}},U0.prototype.run=function(a){var e,o=this,i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},t=2<arguments.length?arguments[2]:void 0,r=3<arguments.length?arguments[3]:void 0,l=(i.performanceTimer&&this._trackPerformance(),yu()),u=new H0(this);try{e=this.gatherAndMatchNodes(a,i)}catch(e){return void r(e)}i.performanceTimer&&this._logGatherPerformance(e),e.forEach(function(n){l.defer(function(r,t){var e=yu();[\"any\",\"all\",\"none\"].forEach(function(r){e.defer(function(e,t){o.runChecks(r,n,i,a,e,t)})}),e.then(function(e){var t=W0(e);t&&(t.node=new tu(n),u.nodes.push(t),o.reviewOnFail)&&([\"any\",\"all\"].forEach(function(e){t[e].forEach(function(e){!1===e.result&&(e.result=void 0)})}),t.none.forEach(function(e){!0===e.result&&(e.result=void 0)})),r()}).catch(function(e){return t(e)})})}),l.then(function(){i.performanceTimer&&o._logRulePerformance(),setTimeout(function(){t(u)},0)}).catch(function(e){i.performanceTimer&&o._logRulePerformance(),r(e)})},U0.prototype.runSync=function(a){var o=this,i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},e=(i.performanceTimer&&this._trackPerformance(),new H0(this)),t=this.gatherAndMatchNodes(a,i);return i.performanceTimer&&this._logGatherPerformance(t),t.forEach(function(t){var r=[],n=([\"any\",\"all\",\"none\"].forEach(function(e){r.push(o.runChecksSync(e,t,i,a))}),W0(r));n&&(n.node=t.actualNode?new tu(t):null,e.nodes.push(n),o.reviewOnFail)&&([\"any\",\"all\"].forEach(function(e){n[e].forEach(function(e){!1===e.result&&(e.result=void 0)})}),n.none.forEach(function(e){!0===e.result&&(e.result=void 0)}))}),i.performanceTimer&&this._logRulePerformance(),e},U0.prototype._trackPerformance=function(){this._markStart=\"mark_rule_start_\"+this.id,this._markEnd=\"mark_rule_end_\"+this.id,this._markChecksStart=\"mark_runchecks_start_\"+this.id,this._markChecksEnd=\"mark_runchecks_end_\"+this.id},U0.prototype._logGatherPerformance=function(e){Sa(\"gather for \".concat(this.id,\" (\").concat(e.length,\" nodes): \").concat(M.timeElapsed(),\"ms\")),M.mark(this._markChecksStart)},U0.prototype._logRulePerformance=function(){M.mark(this._markChecksEnd),M.mark(this._markEnd),M.measure(\"runchecks_\"+this.id,this._markChecksStart,this._markChecksEnd),M.measure(\"rule_\"+this.id,this._markStart,this._markEnd)},U0.prototype.gatherAndMatchNodes=function(e,t){var r=this,n=\"mark_matches_start_\"+this.id,a=\"mark_matches_end_\"+this.id,o=this.gather(e,t);return t.performanceTimer&&M.mark(n),o=o.filter(function(t){try{return r.matches(t.actualNode,t,e)}catch(e){throw new If({ruleId:r.id,method:\"#matches\",errorNode:new tu(t),error:e})}}),t.performanceTimer&&(M.mark(a),M.measure(\"rule_\"+this.id+\"#matches\",n,a)),o},U0.prototype.after=function(i,l){var t,e,n,r,u=this;return ns(t=this).map(function(e){e=t._audit.checks[e.id||e];return e&&\"function\"==typeof e.after?e:null}).filter(Boolean).forEach(function(t){e=i.nodes,r=t.id,n=[],e.forEach(function(t){ns(t).forEach(function(e){e.id===r&&(e.node=t.node,n.push(e))})});var r,n,a,e=n,o=Sp(t,u.id,l);try{a=t.after(e,o.options)}catch(e){throw new If({ruleId:u.id,method:\"\".concat(t.id,\"#after\"),errorNode:null==(o=i.nodes)||null==(o=o[0])?void 0:o.node,error:e})}u.reviewOnFail&&a.forEach(function(e){var t=(u.any.includes(e.id)||u.all.includes(e.id))&&!1===e.result,r=u.none.includes(e.id)&&!0===e.result;(t||r)&&(e.result=void 0)}),e.forEach(function(e){delete e.node,-1===a.indexOf(e)&&(e.filtered=!0)})}),i.nodes=(n=[\"any\",\"all\",\"none\"],r=(e=i).nodes.filter(function(t){var r=0;return n.forEach(function(e){t[e]=t[e].filter(function(e){return!0!==e.filtered}),r+=t[e].length}),0<r}),r=e.pageLevel&&r.length?[r.reduce(function(t,r){if(t)return n.forEach(function(e){t[e].push.apply(t[e],r[e])}),t})]:r),i},U0.prototype.configure=function(e){e.hasOwnProperty(\"selector\")&&(this.selector=e.selector),e.hasOwnProperty(\"excludeHidden\")&&(this.excludeHidden=\"boolean\"!=typeof e.excludeHidden||e.excludeHidden),e.hasOwnProperty(\"enabled\")&&(this.enabled=\"boolean\"!=typeof e.enabled||e.enabled),e.hasOwnProperty(\"pageLevel\")&&(this.pageLevel=\"boolean\"==typeof e.pageLevel&&e.pageLevel),e.hasOwnProperty(\"reviewOnFail\")&&(this.reviewOnFail=\"boolean\"==typeof e.reviewOnFail&&e.reviewOnFail),e.hasOwnProperty(\"any\")&&(this.any=e.any),e.hasOwnProperty(\"all\")&&(this.all=e.all),e.hasOwnProperty(\"none\")&&(this.none=e.none),e.hasOwnProperty(\"tags\")&&(this.tags=e.tags),e.hasOwnProperty(\"actIds\")&&(this.actIds=e.actIds),e.hasOwnProperty(\"matches\")&&(this.matches=z0(e.matches)),e.impact&&(E(f.impact.includes(e.impact),\"Impact \".concat(e.impact,\" is not a valid impact\")),this.impact=e.impact)};var Y0=/\\{\\{.+?\\}\\}/g,K0=we(function e(t){be(this,e),this.lang=\"en\",this.defaultConfig=t,this.standards=k,this._init(),this._defaultLocale=null},[{key:\"_setDefaultLocale\",value:function(){if(!this._defaultLocale){for(var e={checks:{},rules:{},failureSummaries:{},incompleteFallbackMessage:\"\",lang:this.lang},t=Object.keys(this.data.checks),r=0;r<t.length;r++){var n=t[r],a=this.data.checks[n].messages,o=a.pass;e.checks[n]={pass:o,fail:a.fail,incomplete:a.incomplete}}for(var i=Object.keys(this.data.rules),l=0;l<i.length;l++){var u=i[l],s=this.data.rules[u],c=s.description;e.rules[u]={description:c,help:s.help}}for(var d=Object.keys(this.data.failureSummaries),p=0;p<d.length;p++){var f=d[p],m=this.data.failureSummaries[f].failureMessage;e.failureSummaries[f]={failureMessage:m}}e.incompleteFallbackMessage=this.data.incompleteFallbackMessage,this._defaultLocale=e}}},{key:\"_resetLocale\",value:function(){var e=this._defaultLocale;e&&this.applyLocale(e)}},{key:\"_applyCheckLocale\",value:function(e){for(var t=Object.keys(e),r=0;r<t.length;r++){var n=t[r];if(!this.data.checks[n])throw new Error('Locale provided for unknown check: \"'.concat(n,'\"'));this.data.checks[n]=J0(this.data.checks[n],e[n])}}},{key:\"_applyRuleLocale\",value:function(e){for(var t=Object.keys(e),r=0;r<t.length;r++){var n=t[r];if(!this.data.rules[n])throw new Error('Locale provided for unknown rule: \"'.concat(n,'\"'));this.data.rules[n]=Q0(this.data.rules[n],e[n])}}},{key:\"_applyFailureSummaries\",value:function(e){for(var t=Object.keys(e),r=0;r<t.length;r++){var n=t[r];if(!this.data.failureSummaries[n])throw new Error('Locale provided for unknown failureMessage: \"'.concat(n,'\"'));this.data.failureSummaries[n]=ev(this.data.failureSummaries[n],e[n])}}},{key:\"applyLocale\",value:function(e){this._setDefaultLocale(),e.checks&&this._applyCheckLocale(e.checks),e.rules&&this._applyRuleLocale(e.rules),e.failureSummaries&&this._applyFailureSummaries(e.failureSummaries,\"failureSummaries\"),e.incompleteFallbackMessage&&(this.data.incompleteFallbackMessage=tv(this.data.incompleteFallbackMessage,e.incompleteFallbackMessage)),e.lang&&(this.lang=e.lang)}},{key:\"setAllowedOrigins\",value:function(e){var t,r=X0(),n=(this.allowedOrigins=[],x(e));try{for(n.s();!(t=n.n()).done;){var a=t.value;if(a===f.allOrigins)return void(this.allowedOrigins=[\"*\"]);a!==f.sameOrigin?this.allowedOrigins.push(a):r&&this.allowedOrigins.push(r)}}catch(e){n.e(e)}finally{n.f()}}},{key:\"_init\",value:function(){var e=(e=>{var t;return e?(t=nu(e)).commons=e.commons:t={},t.reporter=t.reporter||null,t.noHtml=t.noHtml||!1,t.allowedOrigins||(e=X0(),t.allowedOrigins=e?[e]:[]),t.rules=t.rules||[],t.checks=t.checks||[],t.data=h({checks:{},rules:{}},t.data),t})(this.defaultConfig);this.lang=e.lang||\"en\",this.reporter=e.reporter,this.commands={},this.rules=[],this.checks={},this.brand=\"axe\",this.application=\"axeAPI\",this.tagExclude=[\"experimental\",\"deprecated\"],this.noHtml=e.noHtml,this.allowedOrigins=e.allowedOrigins,Z0(e.rules,this,\"addRule\"),Z0(e.checks,this,\"addCheck\"),this.data={},this.data.checks=e.data&&e.data.checks||{},this.data.rules=e.data&&e.data.rules||{},this.data.failureSummaries=e.data&&e.data.failureSummaries||{},this.data.incompleteFallbackMessage=e.data&&e.data.incompleteFallbackMessage||\"\",this._constructHelpUrls()}},{key:\"registerCommand\",value:function(e){this.commands[e.id]=e.callback}},{key:\"addRule\",value:function(e){e.metadata&&(this.data.rules[e.id]=e.metadata);var t=this.getRule(e.id);t?t.configure(e):this.rules.push(new U0(e,this))}},{key:\"addCheck\",value:function(e){var t=e.metadata;\"object\"===te(t)&&(this.data.checks[e.id]=t,\"object\"===te(t.messages))&&Object.keys(t.messages).filter(function(e){return t.messages.hasOwnProperty(e)&&\"string\"==typeof t.messages[e]}).forEach(function(e){0===t.messages[e].indexOf(\"function\")&&(t.messages[e]=new Function(\"return \"+t.messages[e]+\";\")())}),this.checks[e.id]?this.checks[e.id].configure(e):this.checks[e.id]=new $0(e)}},{key:\"run\",value:function(a,o,i,l){this.normalizeOptions(o),tu.setRunOptions(o),axe._selectCache=[];e=this.rules,r=a,n=o;var r,n,e=e.reduce(function(e,t){return Tf(t,r,n)&&(t.preload?e.later:e.now).push(t),e},{now:[],later:[]}),t=e.now,u=e.later,s=yu(),e=(t.forEach(function(e){s.defer(rv(e,a,o))}),yu()),t=(u.length&&e.defer(function(t){Ef(o).then(function(e){return t(e)}).catch(function(e){console.warn(\"Couldn't load preload assets: \",e),t(void 0)})}),yu());t.defer(s),t.defer(e),t.then(function(e){var t,r=e.pop(),n=(r&&r.length&&(r=r[0])&&(a=h({},a,r)),e[0]);u.length?(t=yu(),u.forEach(function(e){e=rv(e,a,o);t.defer(e)}),t.then(function(e){axe._selectCache=void 0,i(n.concat(e).filter(function(e){return!!e}))}).catch(l)):(axe._selectCache=void 0,i(n.filter(function(e){return!!e})))}).catch(l)}},{key:\"after\",value:function(e,r){var n=this.rules;return e.map(function(e){if(e.error)return e;var t=as(n,\"id\",e.id);if(!t)throw new Error(\"Result for unknown rule. You may be running mismatch axe-core versions\");try{return t.after(e,r)}catch(e){if(r.debug)throw e;return nv(t,e)}})}},{key:\"getRule\",value:function(t){return this.rules.find(function(e){return e.id===t})}},{key:\"normalizeOptions\",value:function(e){var t=[],r=[];if(this.rules.forEach(function(e){r.push(e.id),e.tags.forEach(function(e){t.includes(e)||t.push(e)})}),[\"object\",\"string\"].includes(te(e.runOnly))){if(\"string\"==typeof e.runOnly&&(e.runOnly=[e.runOnly]),Array.isArray(e.runOnly)){var n=e.runOnly.find(function(e){return t.includes(e)}),a=e.runOnly.find(function(e){return r.includes(e)});if(n&&a)throw new Error(\"runOnly cannot be both rules and tags\");e.runOnly=a?{type:\"rule\",values:e.runOnly}:{type:\"tag\",values:e.runOnly}}n=e.runOnly;if(n.value&&!n.values&&(n.values=n.value,delete n.value),!Array.isArray(n.values)||0===n.values.length)throw new Error(\"runOnly.values must be a non-empty array\");if([\"rule\",\"rules\"].includes(n.type))n.type=\"rule\",n.values.forEach(function(e){if(!r.includes(e))throw new Error(\"unknown rule `\"+e+\"` in options.runOnly\")});else{if(![\"tag\",\"tags\",void 0].includes(n.type))throw new Error(\"Unknown runOnly type '\".concat(n.type,\"'\"));n.type=\"tag\";a=n.values.filter(function(e){return!t.includes(e)&&!/wcag2[1-3]a{1,3}/.test(e)});0!==a.length&&axe.log(\"Could not find tags `\"+a.join(\"`, `\")+\"`\")}}return\"object\"===te(e.rules)&&Object.keys(e.rules).forEach(function(e){if(!r.includes(e))throw new Error(\"unknown rule `\"+e+\"` in options.rules\")}),e}},{key:\"setBranding\",value:function(e){var t={brand:this.brand,application:this.application};\"string\"==typeof e&&(this.application=e),e&&e.hasOwnProperty(\"brand\")&&e.brand&&\"string\"==typeof e.brand&&(this.brand=e.brand),e&&e.hasOwnProperty(\"application\")&&e.application&&\"string\"==typeof e.application&&(this.application=e.application),this._constructHelpUrls(t)}},{key:\"_constructHelpUrls\",value:function(){var r=this,n=0<arguments.length&&void 0!==arguments[0]?arguments[0]:null,a=(axe.version.match(/^[1-9][0-9]*\\.[0-9]+/)||[\"x.y\"])[0];this.rules.forEach(function(e){r.data.rules[e.id]||(r.data.rules[e.id]={});var t=r.data.rules[e.id];(\"string\"!=typeof t.helpUrl||n&&t.helpUrl===av(n,e.id,a))&&(t.helpUrl=av(r,e.id,a))})}},{key:\"resetRulesAndChecks\",value:function(){this._init(),this._resetLocale()}}]);function X0(){return window.origin&&\"null\"!==window.origin?window.origin:window.location&&window.location.origin&&\"null\"!==window.location.origin?window.location.origin:void 0}function Z0(e,t,r){for(var n=0,a=e.length;n<a;n++)t[r](e[n])}var J0=function(e,t){var r=t.pass,n=t.fail;return\"string\"==typeof r&&Y0.test(r)&&(r=ro.default.compile(r)),\"string\"==typeof n&&Y0.test(n)&&(n=ro.default.compile(n)),h({},e,{messages:{pass:r||e.messages.pass,fail:n||e.messages.fail,incomplete:\"object\"===te(e.messages.incomplete)?h({},e.messages.incomplete,t.incomplete):t.incomplete}})},Q0=function(e,t){var r=t.help,t=t.description;return\"string\"==typeof r&&Y0.test(r)&&(r=ro.default.compile(r)),\"string\"==typeof t&&Y0.test(t)&&(t=ro.default.compile(t)),h({},e,{help:r||e.help,description:t||e.description})},ev=function(e,t){t=t.failureMessage;return h({},e,{failureMessage:(t=\"string\"==typeof t&&Y0.test(t)?ro.default.compile(t):t)||e.failureMessage})},tv=function(e,t){return(t=\"string\"==typeof t&&Y0.test(t)?ro.default.compile(t):t)||e};function rv(n,e,a){return a.performanceTimer&&M.mark(\"mark_rule_start_\"+n.id),function(t,r){n.run(e,a,function(e){return t(e)},function(e){a.debug?r(e):t(nv(n,e))})}}function nv(e,t){var r=t.errorNode,t=Mf(t),n=[{id:\"error-occurred\",result:void 0,data:t,relatedNodes:[]}],r=r||new tu(document.documentElement);return Object.assign(new H0(e),{error:t,result:f.CANTTELL,nodes:[{any:[],all:[],none:n,node:r}]})}function av(e,t,r){var n=e.brand,a=e.application,e=e.lang;return f.helpUrlBase+n+\"/\"+(r||axe.version.substring(0,axe.version.lastIndexOf(\".\")))+\"/\"+t+\"?application=\"+encodeURIComponent(a)+(e&&\"en\"!==e?\"&lang=\"+encodeURIComponent(e):\"\")}function ov(e){var t=window&&\"Node\"in window&&\"NodeList\"in window,r=!!document;if(!t||!r){if(!e||!e.ownerDocument)throw new Error('Required \"window\" or \"document\" globals not defined and cannot be deduced from the context. Either set the globals before running or pass in a valid Element.');r||(A.set(\"globalDocumentSet\",!0),document=e.ownerDocument),t||(A.set(\"globalWindowSet\",!0),window=document.defaultView)}}var iv=function(){A.get(\"globalDocumentSet\")&&(A.set(\"globalDocumentSet\",!1),document=null),A.get(\"globalWindowSet\")&&(A.set(\"globalWindowSet\",!1),window=null),axe._memoizedFns.forEach(function(e){return e.clear()}),A.clear(),axe._tree=void 0,axe._selectorData=void 0,axe._selectCache=void 0};function lv(r,n,a,o){try{r=new jp(r),axe._tree=r.flatTree,axe._selectorData=zl(r.flatTree)}catch(e){return iv(),o(e)}var e=yu(),i=axe._audit;n.performanceTimer&&M.auditStart(),r.frames.length&&!1!==n.iframes&&e.defer(function(e,t){ls(r,n,\"rules\",null,e,t)}),e.defer(function(e,t){i.run(r,n,e,t)}),e.then(function(e){try{n.performanceTimer&&M.auditEnd();var t=is(e.map(function(e){return{results:e}}));r.initiator&&(n.performanceTimer&&M.mark(\"auditAfterStart\"),t=i.after(t,n),n.performanceTimer&&(M.mark(\"auditAfterEnd\"),M.measure(\"audit.after\",\"auditAfterStart\",\"auditAfterEnd\"),M.logMeasures(\"audit.after\")),t.forEach(Cf),t=t.map(Va));try{a(t,iv)}catch(e){iv(),Sa(e)}}catch(e){iv(),o(e)}}).catch(function(e){iv(),o(e)})}function uv(e,t,r){function n(e){e instanceof Error==!1&&(e=new Error(e)),r(e)}var a=r,o=e&&e.context||{},i=(o.hasOwnProperty(\"include\")&&!o.include.length&&(o.include=[document]),e&&e.options||{});switch(e.command){case\"rules\":return lv(o,i,function(e,t){e=rs.mapRawResults(e),a(e),t()},n);case\"cleanup-plugin\":return Kf(a,n);default:if(axe._audit&&axe._audit.commands&&axe._audit.commands[e.command])return axe._audit.commands[e.command](e,r)}}function sv(e){this._run=e.run,this._collect=e.collect,this._registry={},e.commands.forEach(function(e){axe._audit.registerCommand(e)})}function cv(e){axe.plugins[e.id]=new sv(e)}function dv(){var e=axe._audit;if(!e)throw new Error(\"No audit configured\");e.resetRulesAndChecks(),Object.keys(Yc).forEach(function(e){Yc[e]=Wc[e]})}function pv(e){var e=D(e,3),t=e[0],r=e[1],e=e[2],n=new TypeError(\"axe.run arguments are invalid\");if(!Xp(t)){if(void 0!==e)throw n;e=r,r=t,t=document}if(\"object\"!==te(r)){if(void 0!==e)throw n;e=r,r={}}if(\"function\"!=typeof e&&void 0!==e)throw n;return(r=nu(r)).reporter=null!=(n=null!=(n=r.reporter)?n:null==(n=axe._audit)?void 0:n.reporter)?n:\"v1\",{context:t,options:r,callback:e}}window.top!==window&&(Ku.subscribe(\"axe.start\",uv),Ku.subscribe(\"axe.ping\",function(e,t,r){r({axe:!0})})),sv.prototype.run=function(){return this._run.apply(this,arguments)},sv.prototype.collect=function(){return this._collect.apply(this,arguments)},sv.prototype.cleanup=function(e){var r=axe.utils.queue(),n=this;Object.keys(this._registry).forEach(function(t){r.defer(function(e){n._registry[t].cleanup(e)})}),r.then(e)},sv.prototype.add=function(e){this._registry[e.id]=e};var fv=function(){};function mv(e){if(axe._tree)throw new Error(\"Axe is already setup. Call `axe.teardown()` before calling `axe.setup` again.\");return ov(e=e&&\"object\"===te(e.documentElement)&&\"object\"===te(e.defaultView)?e.documentElement:e),axe._tree=bp(e),axe._selectorData=zl(axe._tree),axe._tree[0]}function hv(e,t,r){console.warn('\"na\" reporter will be deprecated in axe v4.0. Use the \"v2\" reporter instead.'),\"function\"==typeof t&&(r=t,t={});var n=t.environmentData,a=v(a=t,Y);r(h({},_p(n),{toolOptions:a},Cp(e,t)))}function gv(e,t,r){\"function\"==typeof t&&(r=t,t={});var n=t.environmentData,a=v(a=t,K);t.resultTypes=[\"violations\"],e=Cp(e,t).violations,r(h({},_p(n),{toolOptions:a,violations:e}))}function vv(e,t,r){\"function\"==typeof t&&(r=t,t={});var n=t.environmentData,t=v(t,X);wv(e,t,function(e){var t=_p(n);r({raw:e,env:t})})}function bv(e,t,r){function n(e){e.nodes.forEach(function(e){e.failureSummary=Ep(e)})}\"function\"==typeof t&&(r=t,t={});var a=t.environmentData,o=v(o=t,Z);(e=Cp(e,t)).incomplete.forEach(n),e.violations.forEach(n),r(h({},_p(a),{toolOptions:o},e))}function yv(e,t,r){\"function\"==typeof t&&(r=t,t={});var n=t.environmentData,a=v(a=t,J),e=Cp(e,t);r(h({},_p(n),{toolOptions:a},e))}var wv=function(e,t,r){if(\"function\"==typeof t&&(r=t,t={}),!e||!Array.isArray(e))return r(e);r(e.map(function(e){for(var t=h({},e),r=0,n=[\"passes\",\"violations\",\"incomplete\",\"inapplicable\"];r<n.length;r++){var a=n[r];t[a]=rs.mapRawNodeResults(t[a])}return t}))},Ko={base:{Audit:K0,CheckResult:q0,Check:$0,Context:jp,RuleResult:H0,Rule:U0,metadataFunctionMap:L0},public:{reporters:Xf},helpers:{failureSummary:Ep,incompleteFallbackMessage:Ap,processAggregate:Cp},utils:{setDefaultFrameMessenger:Wu,cacheNodeSelectors:vp,getNodesMatchingExpression:fp,convertSelector:du},commons:{dom:{nativelyHidden:Es,displayHidden:As,visibilityHidden:Fs,contentVisibiltyHidden:Cs,ariaHidden:ks,opacityHidden:Rs,scrollHidden:Ns,overflowHidden:Ts,clipHidden:Os,areaHidden:Ss,detailsHidden:_s}}};axe._thisWillBeDeletedDoNotUse=Ko,axe.constants=f,axe.log=Sa,axe.AbstractVirtualNode=p,axe.SerialVirtualNode=Yf,axe.VirtualNode=cp,axe._cache=A,axe.imports=eo,axe.cleanup=Kf,axe.configure=Qf,axe.frameMessenger=function(e){Ku.updateMessenger(e)},axe.getRules=em,axe._load=function(e){axe._audit=new K0(e)},axe.plugins={},axe.registerPlugin=cv,axe.hasReporter=Zf,axe.getReporter=Jf,axe.addReporter=function(e,t,r){Xf[e]=t,r&&(Hf=t)},axe.reset=dv,axe._runRules=lv,axe.runVirtualRule=function(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},n=(r.reporter=r.reporter||axe._audit.reporter||\"v1\",axe._selectorData={},t instanceof p||(t=new Yf(t)),qp(e));if(n)return Cf(n=(n=Object.create(n,{excludeHidden:{value:!1}})).runSync({initiator:!0,include:[t],exclude:[],frames:[],page:!1,focusable:!0,size:{},flatTree:[]},r)),Va(n),(t=Ha([n])).violations.forEach(function(e){return e.nodes.forEach(function(e){e.failureSummary=Ep(e)})}),h({},_p(),t,{toolOptions:r});throw new Error(\"unknown rule `\"+e+\"`\")},axe.run=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];ov(t[0]);var n=(i=pv(t)).context,l=i.options,a=void 0===(i=i.callback)?fv:i,o=(i=(t=>{var e,r,n;return\"function\"==typeof Promise&&t===fv?e=new Promise(function(e,t){r=t,n=e}):(n=function(e){return t(null,e)},r=function(e){return t(e)}),{thenable:e,reject:r,resolve:n}})(a)).thenable,u=i.resolve,s=i.reject;try{E(axe._audit,\"No audit configured\"),E(!axe._running,\"Axe is already running. Use `await axe.run()` to wait for the previous run to finish before starting a new run.\")}catch(e){var i=e,c=a;if(\"function\"!=typeof c||c===fv)throw i;return void c(i.message)}return axe._running=!0,l.performanceTimer&&M.start(),axe._runRules(n,l,function(e,t){function r(e){axe._running=!1,t();try{s(e)}catch(e){axe.log(e)}}try{l.performanceTimer&&M.mark(\"reporterStart\");var n=e,a=l,o=function(e){l.performanceTimer&&(M.mark(\"reporterEnd\"),M.measure(\"reporter\",\"reporterStart\",\"reporterEnd\"),M.logMeasures(\"reporter\"),M.end()),axe._running=!1,t();try{u(e)}catch(e){axe.log(e)}},i=r;void 0!==(n=Jf(a.reporter)(n,a,o,i))&&o(n)}catch(e){r(e)}},function(e){l.performanceTimer&&M.end(),axe._running=!1,a(e),s(e)}),o},axe.setup=mv,axe.teardown=iv,axe.runPartial=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=(a=pv(t)).options,a=a.context,o=(E(axe._audit,\"Axe is not configured. Audit is missing.\"),E(!axe._running,\"Axe is already running. Use `await axe.run()` to wait for the previous run to finish before starting a new run.\"),new jp(a,axe._tree));return axe._tree=o.flatTree,axe._selectorData=zl(o.flatTree),axe._running=!0,n.elementRef=!1,new Promise(function(e,t){axe._audit.run(o,n,e,t)}).then(function(e){e=rs.mapRawResults(e);var t,r=o.frames.map(function(e){e=e.node;return rs.toSpec(e)});return o.initiator&&(t=_p()),axe._running=!1,iv(),{results:e,frames:r,environmentData:t}}).catch(function(e){return axe._running=!1,iv(),Promise.reject(e)})},axe.finishRun=function(e){var t,r=nu(r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{}),n=(e.find(function(e){return e.environmentData})||{}).environmentData;axe._audit.normalizeOptions(r),r.reporter=null!=(d=null!=(d=r.reporter)?d:null==(d=axe._audit)?void 0:d.reporter)?d:\"v1\";var a=[],o=x(d=e);try{for(o.s();!(t=o.n()).done;){var i,l=t.value,u=a.shift();l&&(l.frameSpec=null!=u?u:null,i=(e=>{var t=e.frames,r=e.frameSpec;return r?t.map(function(e){return rs.mergeSpecs(e,r)}):t})(l),a.unshift.apply(a,w(i)))}}catch(e){o.e(e)}finally{o.f()}var s,c,d=is(e);return(d=axe._audit.after(d,r)).forEach(Cf),d=d.map(Va),s=d,c=h({environmentData:n},r),new Promise(function(e,t){Jf(c.reporter)(s,c,e,t)})},axe.commons=Jr,axe.utils=Ma,axe.addReporter(\"na\",hv),axe.addReporter(\"no-passes\",gv),axe.addReporter(\"rawEnv\",vv),axe.addReporter(\"raw\",wv),axe.addReporter(\"v1\",bv),axe.addReporter(\"v2\",yv,!0),axe._load({lang:\"en\",data:{rules:{accesskeys:{description:\"Ensure every accesskey attribute value is unique\",help:\"accesskey attribute value should be unique\"},\"area-alt\":{description:\"Ensure <area> elements of image maps have alternative text\",help:\"Active <area> elements must have alternative text\"},\"aria-allowed-attr\":{description:\"Ensure an element's role supports its ARIA attributes\",help:\"Elements must only use supported ARIA attributes\"},\"aria-allowed-role\":{description:\"Ensure role attribute has an appropriate value for the element\",help:\"ARIA role should be appropriate for the element\"},\"aria-braille-equivalent\":{description:\"Ensure aria-braillelabel and aria-brailleroledescription have a non-braille equivalent\",help:\"aria-braille attributes must have a non-braille equivalent\"},\"aria-command-name\":{description:\"Ensure every ARIA button, link and menuitem has an accessible name\",help:\"ARIA commands must have an accessible name\"},\"aria-conditional-attr\":{description:\"Ensure ARIA attributes are used as described in the specification of the element's role\",help:\"ARIA attributes must be used as specified for the element's role\"},\"aria-deprecated-role\":{description:\"Ensure elements do not use deprecated roles\",help:\"Deprecated ARIA roles must not be used\"},\"aria-dialog-name\":{description:\"Ensure every ARIA dialog and alertdialog node has an accessible name\",help:\"ARIA dialog and alertdialog nodes should have an accessible name\"},\"aria-hidden-body\":{description:'Ensure aria-hidden=\"true\" is not present on the document body.',help:'aria-hidden=\"true\" must not be present on the document body'},\"aria-hidden-focus\":{description:\"Ensure aria-hidden elements are not focusable nor contain focusable elements\",help:\"ARIA hidden element must not be focusable or contain focusable elements\"},\"aria-input-field-name\":{description:\"Ensure every ARIA input field has an accessible name\",help:\"ARIA input fields must have an accessible name\"},\"aria-meter-name\":{description:\"Ensure every ARIA meter node has an accessible name\",help:\"ARIA meter nodes must have an accessible name\"},\"aria-progressbar-name\":{description:\"Ensure every ARIA progressbar node has an accessible name\",help:\"ARIA progressbar nodes must have an accessible name\"},\"aria-prohibited-attr\":{description:\"Ensure ARIA attributes are not prohibited for an element's role\",help:\"Elements must only use permitted ARIA attributes\"},\"aria-required-attr\":{description:\"Ensure elements with ARIA roles have all required ARIA attributes\",help:\"Required ARIA attributes must be provided\"},\"aria-required-children\":{description:\"Ensure elements with an ARIA role that require child roles contain them\",help:\"Certain ARIA roles must contain particular children\"},\"aria-required-parent\":{description:\"Ensure elements with an ARIA role that require parent roles are contained by them\",help:\"Certain ARIA roles must be contained by particular parents\"},\"aria-roledescription\":{description:\"Ensure aria-roledescription is only used on elements with an implicit or explicit role\",help:\"aria-roledescription must be on elements with a semantic role\"},\"aria-roles\":{description:\"Ensure all elements with a role attribute use a valid value\",help:\"ARIA roles used must conform to valid values\"},\"aria-text\":{description:'Ensure role=\"text\" is used on elements with no focusable descendants',help:'\"role=text\" should have no focusable descendants'},\"aria-toggle-field-name\":{description:\"Ensure every ARIA toggle field has an accessible name\",help:\"ARIA toggle fields must have an accessible name\"},\"aria-tooltip-name\":{description:\"Ensure every ARIA tooltip node has an accessible name\",help:\"ARIA tooltip nodes must have an accessible name\"},\"aria-treeitem-name\":{description:\"Ensure every ARIA treeitem node has an accessible name\",help:\"ARIA treeitem nodes should have an accessible name\"},\"aria-valid-attr-value\":{description:\"Ensure all ARIA attributes have valid values\",help:\"ARIA attributes must conform to valid values\"},\"aria-valid-attr\":{description:\"Ensure attributes that begin with aria- are valid ARIA attributes\",help:\"ARIA attributes must conform to valid names\"},\"audio-caption\":{description:\"Ensure <audio> elements have captions\",help:\"<audio> elements must have a captions track\"},\"autocomplete-valid\":{description:\"Ensure the autocomplete attribute is correct and suitable for the form field\",help:\"autocomplete attribute must be used correctly\"},\"avoid-inline-spacing\":{description:\"Ensure that text spacing set through style attributes can be adjusted with custom stylesheets\",help:\"Inline text spacing must be adjustable with custom stylesheets\"},blink:{description:\"Ensure <blink> elements are not used\",help:\"<blink> elements are deprecated and must not be used\"},\"button-name\":{description:\"Ensure buttons have discernible text\",help:\"Buttons must have discernible text\"},bypass:{description:\"Ensure each page has at least one mechanism for a user to bypass navigation and jump straight to the content\",help:\"Page must have means to bypass repeated blocks\"},\"color-contrast-enhanced\":{description:\"Ensure the contrast between foreground and background colors meets WCAG 2 AAA enhanced contrast ratio thresholds\",help:\"Elements must meet enhanced color contrast ratio thresholds\"},\"color-contrast\":{description:\"Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds\",help:\"Elements must meet minimum color contrast ratio thresholds\"},\"css-orientation-lock\":{description:\"Ensure content is not locked to any specific display orientation, and the content is operable in all display orientations\",help:\"CSS Media queries must not lock display orientation\"},\"definition-list\":{description:\"Ensure <dl> elements are structured correctly\",help:\"<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elements\"},dlitem:{description:\"Ensure <dt> and <dd> elements are contained by a <dl>\",help:\"<dt> and <dd> elements must be contained by a <dl>\"},\"document-title\":{description:\"Ensure each HTML document contains a non-empty <title> element\",help:\"Documents must have <title> element to aid in navigation\"},\"duplicate-id-active\":{description:\"Ensure every id attribute value of active elements is unique\",help:\"IDs of active elements must be unique\"},\"duplicate-id-aria\":{description:\"Ensure every id attribute value used in ARIA and in labels is unique\",help:\"IDs used in ARIA and labels must be unique\"},\"duplicate-id\":{description:\"Ensure every id attribute value is unique\",help:\"id attribute value must be unique\"},\"empty-heading\":{description:\"Ensure headings have discernible text\",help:\"Headings should not be empty\"},\"empty-table-header\":{description:\"Ensure table headers have discernible text\",help:\"Table header text should not be empty\"},\"focus-order-semantics\":{description:\"Ensure elements in the focus order have a role appropriate for interactive content\",help:\"Elements in the focus order should have an appropriate role\"},\"form-field-multiple-labels\":{description:\"Ensure form field does not have multiple label elements\",help:\"Form field must not have multiple label elements\"},\"frame-focusable-content\":{description:\"Ensure <frame> and <iframe> elements with focusable content do not have tabindex=-1\",help:\"Frames with focusable content must not have tabindex=-1\"},\"frame-tested\":{description:\"Ensure <iframe> and <frame> elements contain the axe-core script\",help:\"Frames should be tested with axe-core\"},\"frame-title-unique\":{description:\"Ensure <iframe> and <frame> elements contain a unique title attribute\",help:\"Frames must have a unique title attribute\"},\"frame-title\":{description:\"Ensure <iframe> and <frame> elements have an accessible name\",help:\"Frames must have an accessible name\"},\"heading-order\":{description:\"Ensure the order of headings is semantically correct\",help:\"Heading levels should only increase by one\"},\"hidden-content\":{description:\"Inform users about hidden content.\",help:\"Hidden content on the page should be analyzed\"},\"html-has-lang\":{description:\"Ensure every HTML document has a lang attribute\",help:\"<html> element must have a lang attribute\"},\"html-lang-valid\":{description:\"Ensure the lang attribute of the <html> element has a valid value\",help:\"<html> element must have a valid value for the lang attribute\"},\"html-xml-lang-mismatch\":{description:\"Ensure that HTML elements with both valid lang and xml:lang attributes agree on the base language of the page\",help:\"HTML elements with lang and xml:lang must have the same base language\"},\"identical-links-same-purpose\":{description:\"Ensure that links with the same accessible name serve a similar purpose\",help:\"Links with the same name must have a similar purpose\"},\"image-alt\":{description:\"Ensure <img> elements have alternative text or a role of none or presentation\",help:\"Images must have alternative text\"},\"image-redundant-alt\":{description:\"Ensure image alternative is not repeated as text\",help:\"Alternative text of images should not be repeated as text\"},\"input-button-name\":{description:\"Ensure input buttons have discernible text\",help:\"Input buttons must have discernible text\"},\"input-image-alt\":{description:'Ensure <input type=\"image\"> elements have alternative text',help:\"Image buttons must have alternative text\"},\"label-content-name-mismatch\":{description:\"Ensure that elements labelled through their content must have their visible text as part of their accessible name\",help:\"Elements must have their visible text as part of their accessible name\"},\"label-title-only\":{description:\"Ensure that every form element has a visible label and is not solely labeled using hidden labels, or the title or aria-describedby attributes\",help:\"Form elements should have a visible label\"},label:{description:\"Ensure every form element has a label\",help:\"Form elements must have labels\"},\"landmark-banner-is-top-level\":{description:\"Ensure the banner landmark is at top level\",help:\"Banner landmark should not be contained in another landmark\"},\"landmark-complementary-is-top-level\":{description:\"Ensure the complementary landmark or aside is at top level\",help:\"Aside should not be contained in another landmark\"},\"landmark-contentinfo-is-top-level\":{description:\"Ensure the contentinfo landmark is at top level\",help:\"Contentinfo landmark should not be contained in another landmark\"},\"landmark-main-is-top-level\":{description:\"Ensure the main landmark is at top level\",help:\"Main landmark should not be contained in another landmark\"},\"landmark-no-duplicate-banner\":{description:\"Ensure the document has at most one banner landmark\",help:\"Document should not have more than one banner landmark\"},\"landmark-no-duplicate-contentinfo\":{description:\"Ensure the document has at most one contentinfo landmark\",help:\"Document should not have more than one contentinfo landmark\"},\"landmark-no-duplicate-main\":{description:\"Ensure the document has at most one main landmark\",help:\"Document should not have more than one main landmark\"},\"landmark-one-main\":{description:\"Ensure the document has a main landmark\",help:\"Document should have one main landmark\"},\"landmark-unique\":{description:\"Ensure landmarks are unique\",help:\"Landmarks should have a unique role or role/label/title (i.e. accessible name) combination\"},\"link-in-text-block\":{description:\"Ensure links are distinguished from surrounding text in a way that does not rely on color\",help:\"Links must be distinguishable without relying on color\"},\"link-name\":{description:\"Ensure links have discernible text\",help:\"Links must have discernible text\"},list:{description:\"Ensure that lists are structured correctly\",help:\"<ul> and <ol> must only directly contain <li>, <script> or <template> elements\"},listitem:{description:\"Ensure <li> elements are used semantically\",help:\"<li> elements must be contained in a <ul> or <ol>\"},marquee:{description:\"Ensure <marquee> elements are not used\",help:\"<marquee> elements are deprecated and must not be used\"},\"meta-refresh-no-exceptions\":{description:'Ensure <meta http-equiv=\"refresh\"> is not used for delayed refresh',help:\"Delayed refresh must not be used\"},\"meta-refresh\":{description:'Ensure <meta http-equiv=\"refresh\"> is not used for delayed refresh',help:\"Delayed refresh under 20 hours must not be used\"},\"meta-viewport-large\":{description:'Ensure <meta name=\"viewport\"> can scale a significant amount',help:\"Users should be able to zoom and scale the text up to 500%\"},\"meta-viewport\":{description:'Ensure <meta name=\"viewport\"> does not disable text scaling and zooming',help:\"Zooming and scaling must not be disabled\"},\"nested-interactive\":{description:\"Ensure interactive controls are not nested as they are not always announced by screen readers or can cause focus problems for assistive technologies\",help:\"Interactive controls must not be nested\"},\"no-autoplay-audio\":{description:\"Ensure <video> or <audio> elements do not autoplay audio for more than 3 seconds without a control mechanism to stop or mute the audio\",help:\"<video> or <audio> elements must not play automatically\"},\"object-alt\":{description:\"Ensure <object> elements have alternative text\",help:\"<object> elements must have alternative text\"},\"p-as-heading\":{description:\"Ensure bold, italic text and font-size is not used to style <p> elements as a heading\",help:\"Styled <p> elements must not be used as headings\"},\"page-has-heading-one\":{description:\"Ensure that the page, or at least one of its frames contains a level-one heading\",help:\"Page should contain a level-one heading\"},\"presentation-role-conflict\":{description:\"Ensure elements marked as presentational do not have global ARIA or tabindex so that all screen readers ignore them\",help:\"Elements marked as presentational should be consistently ignored\"},region:{description:\"Ensure all page content is contained by landmarks\",help:\"All page content should be contained by landmarks\"},\"role-img-alt\":{description:'Ensure [role=\"img\"] elements have alternative text',help:'[role=\"img\"] elements must have alternative text'},\"scope-attr-valid\":{description:\"Ensure the scope attribute is used correctly on tables\",help:\"scope attribute should be used correctly\"},\"scrollable-region-focusable\":{description:\"Ensure elements that have scrollable content are accessible by keyboard in Safari\",help:\"Scrollable region must have keyboard access\"},\"select-name\":{description:\"Ensure select element has an accessible name\",help:\"Select element must have an accessible name\"},\"server-side-image-map\":{description:\"Ensure that server-side image maps are not used\",help:\"Server-side image maps must not be used\"},\"skip-link\":{description:\"Ensure all skip links have a focusable target\",help:\"The skip-link target should exist and be focusable\"},\"summary-name\":{description:\"Ensure summary elements have discernible text\",help:\"Summary elements must have discernible text\"},\"svg-img-alt\":{description:\"Ensure <svg> elements with an img, graphics-document or graphics-symbol role have accessible text\",help:\"<svg> elements with an img role must have alternative text\"},tabindex:{description:\"Ensure tabindex attribute values are not greater than 0\",help:\"Elements should not have tabindex greater than zero\"},\"table-duplicate-name\":{description:\"Ensure the <caption> element does not contain the same text as the summary attribute\",help:\"Tables should not have the same summary and caption\"},\"table-fake-caption\":{description:\"Ensure that tables with a caption use the <caption> element.\",help:\"Data or header cells must not be used to give caption to a data table.\"},\"target-size\":{description:\"Ensure touch targets have sufficient size and space\",help:\"All touch targets must be 24px large, or leave sufficient space\"},\"td-has-header\":{description:\"Ensure that each non-empty data cell in a <table> larger than 3 by 3  has one or more table headers\",help:\"Non-empty <td> elements in larger <table> must have an associated table header\"},\"td-headers-attr\":{description:\"Ensure that each cell in a table that uses the headers attribute refers only to other <th> elements in that table\",help:\"Table cell headers attributes must refer to other <th> elements in the same table\"},\"th-has-data-cells\":{description:\"Ensure that <th> elements and elements with role=columnheader/rowheader have data cells they describe\",help:\"Table headers in a data table must refer to data cells\"},\"valid-lang\":{description:\"Ensure lang attributes have valid values\",help:\"lang attribute must have a valid value\"},\"video-caption\":{description:\"Ensure <video> elements have captions\",help:\"<video> elements must have captions\"}},checks:{abstractrole:{impact:\"serious\",messages:{pass:\"Abstract roles are not used\",fail:{singular:\"Abstract role cannot be directly used: ${data.values}\",plural:\"Abstract roles cannot be directly used: ${data.values}\"}}},\"aria-allowed-attr-elm\":{messages:{pass:\"ARIA attributes are allowed for this element\",fail:{singular:\"ARIA attribute is not allowed on ${data.nodeName} elements: ${data.values}\",plural:\"ARIA attributes are not allowed on ${data.nodeName} elements: ${data.values}\"}}},\"aria-allowed-attr\":{impact:\"critical\",messages:{pass:\"ARIA attributes are used correctly for the defined role\",fail:{singular:\"ARIA attribute is not allowed: ${data.values}\",plural:\"ARIA attributes are not allowed: ${data.values}\"},incomplete:\"Check that there is no problem if the ARIA attribute is ignored on this element: ${data.values}\"}},\"aria-allowed-role\":{impact:\"minor\",messages:{pass:\"ARIA role is allowed for given element\",fail:{singular:\"ARIA role ${data.values} is not allowed for given element\",plural:\"ARIA roles ${data.values} are not allowed for given element\"},incomplete:{singular:\"ARIA role ${data.values} must be removed when the element is made visible, as it is not allowed for the element\",plural:\"ARIA roles ${data.values} must be removed when the element is made visible, as they are not allowed for the element\"}}},\"aria-busy\":{impact:\"serious\",messages:{pass:\"Element has an aria-busy attribute\",fail:'Element uses aria-busy=\"true\" while showing a loader'}},\"aria-conditional-attr\":{impact:\"serious\",messages:{pass:\"ARIA attribute is allowed\",fail:{checkbox:'Remove aria-checked, or set it to \"${data.checkState}\" to match the real checkbox state',rowSingular:\"This attribute is supported with treegrid rows, but not ${data.ownerRole}: ${data.invalidAttrs}\",rowPlural:\"These attributes are supported with treegrid rows, but not ${data.ownerRole}: ${data.invalidAttrs}\"}}},\"aria-errormessage\":{impact:\"critical\",messages:{pass:\"aria-errormessage exists and references elements visible to screen readers that use a supported aria-errormessage technique\",fail:{singular:\"aria-errormessage value `${data.values}` must use a technique to announce the message (e.g., aria-live, aria-describedby, role=alert, etc.)\",plural:\"aria-errormessage values `${data.values}` must use a technique to announce the message (e.g., aria-live, aria-describedby, role=alert, etc.)\",unsupported:\"Multiple IDs in aria-errormessage is not widely supported in assistive technologies\",hidden:\"aria-errormessage value `${data.values}` cannot reference a hidden element\"},incomplete:{singular:\"Ensure aria-errormessage value `${data.values}` references an existing element\",plural:\"Ensure aria-errormessage values `${data.values}` reference existing elements\",idrefs:\"Unable to determine if aria-errormessage element exists on the page: ${data.values}\"}}},\"aria-hidden-body\":{impact:\"critical\",messages:{pass:\"No aria-hidden attribute is present on document body\",fail:\"aria-hidden=true should not be present on the document body\"}},\"aria-level\":{impact:\"serious\",messages:{pass:\"aria-level values are valid\",incomplete:\"aria-level values greater than 6 are not supported in all screenreader and browser combinations\"}},\"aria-prohibited-attr\":{impact:\"serious\",messages:{pass:\"ARIA attribute is allowed\",fail:{hasRolePlural:'${data.prohibited} attributes cannot be used with role \"${data.role}\".',hasRoleSingular:'${data.prohibited} attribute cannot be used with role \"${data.role}\".',noRolePlural:\"${data.prohibited} attributes cannot be used on a ${data.nodeName} with no valid role attribute.\",noRoleSingular:\"${data.prohibited} attribute cannot be used on a ${data.nodeName} with no valid role attribute.\"},incomplete:{hasRoleSingular:'${data.prohibited} attribute is not well supported with role \"${data.role}\".',hasRolePlural:'${data.prohibited} attributes are not well supported with role \"${data.role}\".',noRoleSingular:\"${data.prohibited} attribute is not well supported on a ${data.nodeName} with no valid role attribute.\",noRolePlural:\"${data.prohibited} attributes are not well supported on a ${data.nodeName} with no valid role attribute.\"}}},\"aria-required-attr\":{impact:\"critical\",messages:{pass:\"All required ARIA attributes are present\",fail:{singular:\"Required ARIA attribute not present: ${data.values}\",plural:\"Required ARIA attributes not present: ${data.values}\"}}},\"aria-required-children\":{impact:\"critical\",messages:{pass:{default:\"Required ARIA children are present\",\"aria-busy\":\"Element has an aria-busy attribute, so it is allowed to omit required children\"},fail:{singular:\"Required ARIA child role not present: ${data.values}\",plural:\"Required ARIA children role not present: ${data.values}\",unallowed:\"Element has children which are not allowed: ${data.values}\",\"aria-busy-fail\":'Element has children which are not allowed: ${data.values}; Having aria-busy=\"true\" does not allow children with roles that are not allowed'},incomplete:{singular:\"Expecting ARIA child role to be added: ${data.values}\",plural:\"Expecting ARIA children role to be added: ${data.values}\"}}},\"aria-required-parent\":{impact:\"critical\",messages:{pass:\"Required ARIA parent role present\",fail:{singular:\"Required ARIA parent role not present: ${data.values}\",plural:\"Required ARIA parents role not present: ${data.values}\"}}},\"aria-roledescription\":{impact:\"serious\",messages:{pass:\"aria-roledescription used on a supported semantic role\",incomplete:\"Check that the aria-roledescription is announced by supported screen readers\",fail:\"Give the element a role that supports aria-roledescription\"}},\"aria-unsupported-attr\":{impact:\"critical\",messages:{pass:\"ARIA attribute is supported\",fail:\"ARIA attribute is not widely supported in screen readers and assistive technologies: ${data.values}\"}},\"aria-valid-attr-value\":{impact:\"critical\",messages:{pass:\"ARIA attribute values are valid\",fail:{singular:\"Invalid ARIA attribute value: ${data.values}\",plural:\"Invalid ARIA attribute values: ${data.values}\"},incomplete:{noId:\"ARIA attribute element ID does not exist on the page: ${data.needsReview}\",noIdShadow:\"ARIA attribute element ID does not exist on the page or is a descendant of a different shadow DOM tree: ${data.needsReview}\",ariaCurrent:'ARIA attribute value is invalid and will be treated as \"aria-current=true\": ${data.needsReview}',idrefs:\"Unable to determine if ARIA attribute element ID exists on the page: ${data.needsReview}\",empty:\"ARIA attribute value is ignored while empty: ${data.needsReview}\",controlsWithinPopup:\"Unable to determine if aria-controls referenced ID exists on the page while using aria-haspopup: ${data.needsReview}\"}}},\"aria-valid-attr\":{impact:\"critical\",messages:{pass:\"ARIA attribute name is valid\",fail:{singular:\"Invalid ARIA attribute name: ${data.values}\",plural:\"Invalid ARIA attribute names: ${data.values}\"}}},\"braille-label-equivalent\":{impact:\"serious\",messages:{pass:\"aria-braillelabel is used on an element with accessible text\",fail:\"aria-braillelabel is used on an element with no accessible text\",incomplete:\"Unable to compute accessible text\"}},\"braille-roledescription-equivalent\":{impact:\"serious\",messages:{pass:\"aria-brailleroledescription is used on an element with aria-roledescription\",fail:{noRoleDescription:\"aria-brailleroledescription is used on an element with no aria-roledescription\",emptyRoleDescription:\"aria-brailleroledescription is used on an element with an empty aria-roledescription\"}}},deprecatedrole:{impact:\"minor\",messages:{pass:\"ARIA role is not deprecated\",fail:\"The role used is deprecated: ${data}\"}},fallbackrole:{impact:\"serious\",messages:{pass:\"Only one role value used\",fail:\"Use only one role value, since fallback roles are not supported in older browsers\",incomplete:\"Use only role 'presentation' or 'none' since they are synonymous.\"}},\"has-global-aria-attribute\":{impact:\"minor\",messages:{pass:{singular:\"Element has global ARIA attribute: ${data.values}\",plural:\"Element has global ARIA attributes: ${data.values}\"},fail:\"Element does not have global ARIA attribute\"}},\"has-widget-role\":{impact:\"minor\",messages:{pass:\"Element has a widget role.\",fail:\"Element does not have a widget role.\"}},invalidrole:{impact:\"critical\",messages:{pass:\"ARIA role is valid\",fail:{singular:\"Role must be one of the valid ARIA roles: ${data.values}\",plural:\"Roles must be one of the valid ARIA roles: ${data.values}\"}}},\"is-element-focusable\":{impact:\"minor\",messages:{pass:\"Element is focusable.\",fail:\"Element is not focusable.\"}},\"no-implicit-explicit-label\":{impact:\"serious\",messages:{pass:\"There is no mismatch between a <label> and accessible name\",incomplete:\"Check that the <label> does not need be part of the ARIA ${data} field's name\"}},unsupportedrole:{impact:\"critical\",messages:{pass:\"ARIA role is supported\",fail:\"The role used is not widely supported in screen readers and assistive technologies: ${data}\"}},\"valid-scrollable-semantics\":{impact:\"minor\",messages:{pass:\"Element has valid semantics for an element in the focus order.\",fail:\"Element has invalid semantics for an element in the focus order.\"}},\"color-contrast-enhanced\":{impact:\"serious\",messages:{pass:\"Element has sufficient color contrast of ${data.contrastRatio}\",fail:{default:\"Element has insufficient color contrast of ${data.contrastRatio} (foreground color: ${data.fgColor}, background color: ${data.bgColor}, font size: ${data.fontSize}, font weight: ${data.fontWeight}). Expected contrast ratio of ${data.expectedContrastRatio}\",fgOnShadowColor:\"Element has insufficient color contrast of ${data.contrastRatio} between the foreground and shadow color (foreground color: ${data.fgColor}, text-shadow color: ${data.shadowColor}, font size: ${data.fontSize}, font weight: ${data.fontWeight}). Expected contrast ratio of ${data.expectedContrastRatio}\",shadowOnBgColor:\"Element has insufficient color contrast of ${data.contrastRatio} between the shadow color and background color (text-shadow color: ${data.shadowColor}, background color: ${data.bgColor}, font size: ${data.fontSize}, font weight: ${data.fontWeight}). Expected contrast ratio of ${data.expectedContrastRatio}\"},incomplete:{default:\"Unable to determine contrast ratio\",bgImage:\"Element's background color could not be determined due to a background image\",bgGradient:\"Element's background color could not be determined due to a background gradient\",imgNode:\"Element's background color could not be determined because element contains an image node\",bgOverlap:\"Element's background color could not be determined because it is overlapped by another element\",fgAlpha:\"Element's foreground color could not be determined because of alpha transparency\",elmPartiallyObscured:\"Element's background color could not be determined because it's partially obscured by another element\",elmPartiallyObscuring:\"Element's background color could not be determined because it partially overlaps other elements\",outsideViewport:\"Element's background color could not be determined because it's outside the viewport\",equalRatio:\"Element has a 1:1 contrast ratio with the background\",shortTextContent:\"Element content is too short to determine if it is actual text content\",nonBmp:\"Element content contains only non-text characters\",pseudoContent:\"Element's background color could not be determined due to a pseudo element\",colorParse:\"Could not parse color string ${data.colorParse}\"}}},\"color-contrast\":{impact:\"serious\",messages:{pass:{default:\"Element has sufficient color contrast of ${data.contrastRatio}\",hidden:\"Element is hidden\"},fail:{default:\"Element has insufficient color contrast of ${data.contrastRatio} (foreground color: ${data.fgColor}, background color: ${data.bgColor}, font size: ${data.fontSize}, font weight: ${data.fontWeight}). Expected contrast ratio of ${data.expectedContrastRatio}\",fgOnShadowColor:\"Element has insufficient color contrast of ${data.contrastRatio} between the foreground and shadow color (foreground color: ${data.fgColor}, text-shadow color: ${data.shadowColor}, font size: ${data.fontSize}, font weight: ${data.fontWeight}). Expected contrast ratio of ${data.expectedContrastRatio}\",shadowOnBgColor:\"Element has insufficient color contrast of ${data.contrastRatio} between the shadow color and background color (text-shadow color: ${data.shadowColor}, background color: ${data.bgColor}, font size: ${data.fontSize}, font weight: ${data.fontWeight}). Expected contrast ratio of ${data.expectedContrastRatio}\"},incomplete:{default:\"Unable to determine contrast ratio\",bgImage:\"Element's background color could not be determined due to a background image\",bgGradient:\"Element's background color could not be determined due to a background gradient\",imgNode:\"Element's background color could not be determined because element contains an image node\",bgOverlap:\"Element's background color could not be determined because it is overlapped by another element\",complexTextShadows:\"Element's contrast could not be determined because it uses complex text shadows\",fgAlpha:\"Element's foreground color could not be determined because of alpha transparency\",elmPartiallyObscured:\"Element's background color could not be determined because it's partially obscured by another element\",elmPartiallyObscuring:\"Element's background color could not be determined because it partially overlaps other elements\",outsideViewport:\"Element's background color could not be determined because it's outside the viewport\",equalRatio:\"Element has a 1:1 contrast ratio with the background\",shortTextContent:\"Element content is too short to determine if it is actual text content\",nonBmp:\"Element content contains only non-text characters\",pseudoContent:\"Element's background color could not be determined due to a pseudo element\",colorParse:\"Could not parse color string ${data.colorParse}\"}}},\"link-in-text-block-style\":{impact:\"serious\",messages:{pass:\"Links can be distinguished from surrounding text by visual styling\",incomplete:{default:\"Check if the link needs styling to distinguish it from nearby text\",pseudoContent:\"Check if the link's pseudo style is sufficient to distinguish it from the surrounding text\"},fail:\"The link has no styling (such as underline) to distinguish it from the surrounding text\"}},\"link-in-text-block\":{impact:\"serious\",messages:{pass:\"Links can be distinguished from surrounding text in some way other than by color\",fail:{fgContrast:\"The link has insufficient color contrast of ${data.contrastRatio}:1 with the surrounding text. (Minimum contrast is ${data.requiredContrastRatio}:1, link text: ${data.nodeColor}, surrounding text: ${data.parentColor})\",bgContrast:\"The link background has insufficient color contrast of ${data.contrastRatio} (Minimum contrast is ${data.requiredContrastRatio}:1, link background color: ${data.nodeBackgroundColor}, surrounding background color: ${data.parentBackgroundColor})\"},incomplete:{default:\"Element's foreground contrast ratio could not be determined\",bgContrast:\"Element's background contrast ratio could not be determined\",bgImage:\"Element's contrast ratio could not be determined due to a background image\",bgGradient:\"Element's contrast ratio could not be determined due to a background gradient\",imgNode:\"Element's contrast ratio could not be determined because element contains an image node\",bgOverlap:\"Element's contrast ratio could not be determined because of element overlap\"}}},\"autocomplete-appropriate\":{impact:\"serious\",messages:{pass:\"The autocomplete value is on an appropriate element\",fail:\"The autocomplete value is inappropriate for this type of input\"}},\"autocomplete-valid\":{impact:\"serious\",messages:{pass:\"the autocomplete attribute is correctly formatted\",fail:\"the autocomplete attribute is incorrectly formatted\",incomplete:\"the autocomplete attribute has a non-standard value. Check whether any standard value could be used instead.\"}},accesskeys:{impact:\"serious\",messages:{pass:\"Accesskey attribute value is unique\",fail:\"Document has multiple elements with the same accesskey\"}},\"focusable-content\":{impact:\"serious\",messages:{pass:\"Element contains focusable elements\",fail:\"Element should have focusable content\"}},\"focusable-disabled\":{impact:\"serious\",messages:{pass:\"No focusable elements contained within element\",incomplete:\"Check if the focusable elements immediately move the focus indicator\",fail:\"Focusable content should be disabled or be removed from the DOM\"}},\"focusable-element\":{impact:\"serious\",messages:{pass:\"Element is focusable\",fail:\"Element should be focusable\"}},\"focusable-modal-open\":{impact:\"serious\",messages:{pass:\"No focusable elements while a modal is open\",incomplete:\"Check that focusable elements are not tabbable in the current state\"}},\"focusable-no-name\":{impact:\"serious\",messages:{pass:\"Element is not in tab order or has accessible text\",fail:\"Element is in tab order and does not have accessible text\",incomplete:\"Unable to determine if element has an accessible name\"}},\"focusable-not-tabbable\":{impact:\"serious\",messages:{pass:\"No focusable elements contained within element\",incomplete:\"Check if the focusable elements immediately move the focus indicator\",fail:'Focusable content should have tabindex=\"-1\" or be removed from the DOM'}},\"frame-focusable-content\":{impact:\"serious\",messages:{pass:\"Element does not have focusable descendants\",fail:\"Element has focusable descendants\",incomplete:\"Could not determine if element has descendants\"}},\"landmark-is-top-level\":{impact:\"moderate\",messages:{pass:\"The ${data.role} landmark is at the top level.\",fail:\"The ${data.role} landmark is contained in another landmark.\"}},\"no-focusable-content\":{impact:\"serious\",messages:{pass:\"Element does not have focusable descendants\",fail:{default:\"Element has focusable descendants\",notHidden:'Using a negative tabindex on an element inside an interactive control does not prevent assistive technologies from focusing the element (even with aria-hidden=\"true\")'},incomplete:\"Could not determine if element has descendants\"}},\"page-has-heading-one\":{impact:\"moderate\",messages:{pass:\"Page has at least one level-one heading\",fail:\"Page must have a level-one heading\"}},\"page-has-main\":{impact:\"moderate\",messages:{pass:\"Document has at least one main landmark\",fail:\"Document does not have a main landmark\"}},\"page-no-duplicate-banner\":{impact:\"moderate\",messages:{pass:\"Document does not have more than one banner landmark\",fail:\"Document has more than one banner landmark\"}},\"page-no-duplicate-contentinfo\":{impact:\"moderate\",messages:{pass:\"Document does not have more than one contentinfo landmark\",fail:\"Document has more than one contentinfo landmark\"}},\"page-no-duplicate-main\":{impact:\"moderate\",messages:{pass:\"Document does not have more than one main landmark\",fail:\"Document has more than one main landmark\"}},tabindex:{impact:\"serious\",messages:{pass:\"Element does not have a tabindex greater than 0\",fail:\"Element has a tabindex greater than 0\"}},\"alt-space-value\":{impact:\"critical\",messages:{pass:\"Element has a valid alt attribute value\",fail:\"Element has an alt attribute containing only a space character, which is not ignored by all screen readers\"}},\"duplicate-img-label\":{impact:\"minor\",messages:{pass:\"Element does not duplicate existing text in <img> alt text\",fail:\"Element contains <img> element with alt text that duplicates existing text\"}},\"explicit-label\":{impact:\"critical\",messages:{pass:\"Element has an explicit <label>\",fail:\"Element does not have an explicit <label>\",incomplete:\"Unable to determine if form element has an explicit <label>\"}},\"help-same-as-label\":{impact:\"minor\",messages:{pass:\"Help text (title or aria-describedby) does not duplicate label text\",fail:\"Help text (title or aria-describedby) text is the same as the label text\"}},\"hidden-explicit-label\":{impact:\"critical\",messages:{pass:\"Form element has a visible explicit <label>\",fail:\"Form element has explicit <label> that is hidden\",incomplete:\"Unable to determine if form element has explicit <label> that is hidden\"}},\"implicit-label\":{impact:\"critical\",messages:{pass:\"Element has an implicit (wrapped) <label>\",fail:\"Element does not have an implicit (wrapped) <label>\",incomplete:\"Unable to determine if form element has an implicit (wrapped) <label>\"}},\"label-content-name-mismatch\":{impact:\"serious\",messages:{pass:\"Element contains visible text as part of it's accessible name\",fail:\"Text inside the element is not included in the accessible name\"}},\"multiple-label\":{impact:\"moderate\",messages:{pass:\"Form field does not have multiple label elements\",incomplete:\"Multiple label elements is not widely supported in assistive technologies. Ensure the first label contains all necessary information.\"}},\"title-only\":{impact:\"serious\",messages:{pass:\"Form element does not solely use title attribute for its label\",fail:\"Only title used to generate label for form element\"}},\"landmark-is-unique\":{impact:\"moderate\",messages:{pass:\"Landmarks must have a unique role or role/label/title (i.e. accessible name) combination\",fail:\"The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable\"}},\"has-lang\":{impact:\"serious\",messages:{pass:\"The <html> element has a lang attribute\",fail:{noXHTML:\"The xml:lang attribute is not valid on HTML pages, use the lang attribute.\",noLang:\"The <html> element does not have a lang attribute\"}}},\"valid-lang\":{impact:\"serious\",messages:{pass:\"Value of lang attribute is included in the list of valid languages\",fail:\"Value of lang attribute not included in the list of valid languages\"}},\"xml-lang-mismatch\":{impact:\"moderate\",messages:{pass:\"Lang and xml:lang attributes have the same base language\",fail:\"Lang and xml:lang attributes do not have the same base language\"}},dlitem:{impact:\"serious\",messages:{pass:\"Description list item has a <dl> parent element\",fail:\"Description list item does not have a <dl> parent element\"}},listitem:{impact:\"serious\",messages:{pass:'List item has a <ul>, <ol> or role=\"list\" parent element',fail:{default:\"List item does not have a <ul>, <ol> parent element\",roleNotValid:'List item parent element has a role that is not role=\"list\"'}}},\"only-dlitems\":{impact:\"serious\",messages:{pass:\"dl element only has direct children that are allowed inside; <dt>, <dd>, or <div> elements\",fail:\"dl element has direct children that are not allowed: ${data.values}\"}},\"only-listitems\":{impact:\"serious\",messages:{pass:\"List element only has direct children that are allowed inside <li> elements\",fail:\"List element has direct children that are not allowed: ${data.values}\"}},\"structured-dlitems\":{impact:\"serious\",messages:{pass:\"When not empty, element has both <dt> and <dd> elements\",fail:\"When not empty, element does not have at least one <dt> element followed by at least one <dd> element\"}},caption:{impact:\"critical\",messages:{pass:\"The multimedia element has a captions track\",incomplete:\"Check that captions are available for the element\"}},\"frame-tested\":{impact:\"critical\",messages:{pass:\"The iframe was tested with axe-core\",fail:\"The iframe could not be tested with axe-core\",incomplete:\"The iframe still has to be tested with axe-core\"}},\"no-autoplay-audio\":{impact:\"moderate\",messages:{pass:\"<video> or <audio> does not output audio for more than allowed duration or has controls mechanism\",fail:\"<video> or <audio> outputs audio for more than allowed duration and does not have a controls mechanism\",incomplete:\"Check that the <video> or <audio> does not output audio for more than allowed duration or provides a controls mechanism\"}},\"css-orientation-lock\":{impact:\"serious\",messages:{pass:\"Display is operable, and orientation lock does not exist\",fail:\"CSS Orientation lock is applied, and makes display inoperable\",incomplete:\"CSS Orientation lock cannot be determined\"}},\"meta-viewport-large\":{impact:\"minor\",messages:{pass:\"<meta> tag does not prevent significant zooming on mobile devices\",fail:\"<meta> tag limits zooming on mobile devices\"}},\"meta-viewport\":{impact:\"critical\",messages:{pass:\"<meta> tag does not disable zooming on mobile devices\",fail:\"${data} on <meta> tag disables zooming on mobile devices\"}},\"target-offset\":{impact:\"serious\",messages:{pass:{default:\"Target has sufficient space from its closest neighbors. Safe clickable space has a diameter of ${data.closestOffset}px which is at least ${data.minOffset}px.\",large:\"Target far exceeds the minimum size of ${data.minOffset}px.\"},fail:\"Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of ${data.closestOffset}px instead of at least ${data.minOffset}px.\",incomplete:{default:\"Element with negative tabindex has insufficient space to its closest neighbors. Safe clickable space has a diameter of ${data.closestOffset}px instead of at least ${data.minOffset}px. Is this a target?\",nonTabbableNeighbor:\"Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of ${data.closestOffset}px instead of at least ${data.minOffset}px. Is the neighbor a target?\",tooManyRects:\"Could not get the target size because there are too many overlapping elements\"}}},\"target-size\":{impact:\"serious\",messages:{pass:{default:\"Control has sufficient size (${data.width}px by ${data.height}px, should be at least ${data.minSize}px by ${data.minSize}px)\",obscured:\"Control is ignored because it is fully obscured and thus not clickable\",large:\"Target far exceeds the minimum size of ${data.minSize}px.\"},fail:{default:\"Target has insufficient size (${data.width}px by ${data.height}px, should be at least ${data.minSize}px by ${data.minSize}px)\",partiallyObscured:\"Target has insufficient size because it is partially obscured (smallest space is ${data.width}px by ${data.height}px, should be at least ${data.minSize}px by ${data.minSize}px)\"},incomplete:{default:\"Element with negative tabindex has insufficient size (${data.width}px by ${data.height}px, should be at least ${data.minSize}px by ${data.minSize}px). Is this a target?\",contentOverflow:\"Element size could not be accurately determined due to overflow content\",partiallyObscured:\"Element with negative tabindex has insufficient size because it is partially obscured (smallest space is ${data.width}px by ${data.height}px, should be at least ${data.minSize}px by ${data.minSize}px). Is this a target?\",partiallyObscuredNonTabbable:\"Target has insufficient size because it is partially obscured by a neighbor with negative tabindex (smallest space is ${data.width}px by ${data.height}px, should be at least ${data.minSize}px by ${data.minSize}px). Is the neighbor a target?\",tooManyRects:\"Could not get the target size because there are too many overlapping elements\"}}},\"header-present\":{impact:\"serious\",messages:{pass:\"Page has a heading\",fail:\"Page does not have a heading\"}},\"heading-order\":{impact:\"moderate\",messages:{pass:\"Heading order valid\",fail:\"Heading order invalid\",incomplete:\"Unable to determine previous heading\"}},\"identical-links-same-purpose\":{impact:\"minor\",messages:{pass:\"There are no other links with the same name, that go to a different URL\",incomplete:\"Check that links have the same purpose, or are intentionally ambiguous.\"}},\"internal-link-present\":{impact:\"serious\",messages:{pass:\"Valid skip link found\",fail:\"No valid skip link found\"}},landmark:{impact:\"serious\",messages:{pass:\"Page has a landmark region\",fail:\"Page does not have a landmark region\"}},\"meta-refresh-no-exceptions\":{impact:\"minor\",messages:{pass:\"<meta> tag does not immediately refresh the page\",fail:\"<meta> tag forces timed refresh of page\"}},\"meta-refresh\":{impact:\"critical\",messages:{pass:\"<meta> tag does not immediately refresh the page\",fail:\"<meta> tag forces timed refresh of page (less than 20 hours)\"}},\"p-as-heading\":{impact:\"serious\",messages:{pass:\"<p> elements are not styled as headings\",fail:\"Heading elements should be used instead of styled <p> elements\",incomplete:\"Unable to determine if <p> elements are styled as headings\"}},region:{impact:\"moderate\",messages:{pass:\"All page content is contained by landmarks\",fail:\"Some page content is not contained by landmarks\"}},\"skip-link\":{impact:\"moderate\",messages:{pass:\"Skip link target exists\",incomplete:\"Skip link target should become visible on activation\",fail:\"No skip link target\"}},\"unique-frame-title\":{impact:\"serious\",messages:{pass:\"Element's title attribute is unique\",fail:\"Element's title attribute is not unique\"}},\"duplicate-id-active\":{impact:\"serious\",messages:{pass:\"Document has no active elements that share the same id attribute\",fail:\"Document has active elements with the same id attribute: ${data}\"}},\"duplicate-id-aria\":{impact:\"critical\",messages:{pass:\"Document has no elements referenced with ARIA or labels that share the same id attribute\",fail:\"Document has multiple elements referenced with ARIA with the same id attribute: ${data}\"}},\"duplicate-id\":{impact:\"minor\",messages:{pass:\"Document has no static elements that share the same id attribute\",fail:\"Document has multiple static elements with the same id attribute: ${data}\"}},\"aria-label\":{impact:\"serious\",messages:{pass:\"aria-label attribute exists and is not empty\",fail:\"aria-label attribute does not exist or is empty\"}},\"aria-labelledby\":{impact:\"serious\",messages:{pass:\"aria-labelledby attribute exists and references elements that are visible to screen readers\",fail:\"aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\",incomplete:\"Ensure aria-labelledby references an existing element\"}},\"avoid-inline-spacing\":{impact:\"serious\",messages:{pass:\"No inline styles with '!important' that affect text spacing has been specified\",fail:{singular:\"Remove '!important' from inline style ${data.values}, as overriding this is not supported by most browsers\",plural:\"Remove '!important' from inline styles ${data.values}, as overriding this is not supported by most browsers\"}}},\"button-has-visible-text\":{impact:\"critical\",messages:{pass:\"Element has inner text that is visible to screen readers\",fail:\"Element does not have inner text that is visible to screen readers\",incomplete:\"Unable to determine if element has children\"}},\"doc-has-title\":{impact:\"serious\",messages:{pass:\"Document has a non-empty <title> element\",fail:\"Document does not have a non-empty <title> element\"}},\"error-occurred\":{messages:{pass:\"\",incomplete:\"Axe encountered an error; test the page for this type of problem manually\"}},exists:{impact:\"minor\",messages:{pass:\"Element does not exist\",incomplete:\"Element exists\"}},\"has-alt\":{impact:\"critical\",messages:{pass:\"Element has an alt attribute\",fail:\"Element does not have an alt attribute\"}},\"has-visible-text\":{impact:\"minor\",messages:{pass:\"Element has text that is visible to screen readers\",fail:\"Element does not have text that is visible to screen readers\",incomplete:\"Unable to determine if element has children\"}},\"important-letter-spacing\":{impact:\"serious\",messages:{pass:\"Letter-spacing in the style attribute is not set to !important, or meets the minimum\",fail:\"letter-spacing in the style attribute must not use !important, or be at ${data.minValue}em (current ${data.value}em)\"}},\"important-line-height\":{impact:\"serious\",messages:{pass:\"line-height in the style attribute is not set to !important, or meets the minimum\",fail:\"line-height in the style attribute must not use !important, or be at ${data.minValue}em (current ${data.value}em)\"}},\"important-word-spacing\":{impact:\"serious\",messages:{pass:\"word-spacing in the style attribute is not set to !important, or meets the minimum\",fail:\"word-spacing in the style attribute must not use !important, or be at ${data.minValue}em (current ${data.value}em)\"}},\"is-on-screen\":{impact:\"serious\",messages:{pass:\"Element is not visible\",fail:\"Element is visible\"}},\"non-empty-alt\":{impact:\"critical\",messages:{pass:\"Element has a non-empty alt attribute\",fail:{noAttr:\"Element has no alt attribute\",emptyAttr:\"Element has an empty alt attribute\"}}},\"non-empty-if-present\":{impact:\"critical\",messages:{pass:{default:\"Element does not have a value attribute\",\"has-label\":\"Element has a non-empty value attribute\"},fail:\"Element has a value attribute and the value attribute is empty\"}},\"non-empty-placeholder\":{impact:\"serious\",messages:{pass:\"Element has a placeholder attribute\",fail:{noAttr:\"Element has no placeholder attribute\",emptyAttr:\"Element has an empty placeholder attribute\"}}},\"non-empty-title\":{impact:\"serious\",messages:{pass:\"Element has a title attribute\",fail:{noAttr:\"Element has no title attribute\",emptyAttr:\"Element has an empty title attribute\"}}},\"non-empty-value\":{impact:\"critical\",messages:{pass:\"Element has a non-empty value attribute\",fail:{noAttr:\"Element has no value attribute\",emptyAttr:\"Element has an empty value attribute\"}}},\"presentational-role\":{impact:\"minor\",messages:{pass:'Element\\'s default semantics were overridden with role=\"${data.role}\"',fail:{default:'Element\\'s default semantics were not overridden with role=\"none\" or role=\"presentation\"',globalAria:\"Element's role is not presentational because it has a global ARIA attribute\",focusable:\"Element's role is not presentational because it is focusable\",both:\"Element's role is not presentational because it has a global ARIA attribute and is focusable\",iframe:'Using the \"title\" attribute on an ${data.nodeName} element with a presentational role behaves inconsistently between screen readers'}}},\"role-none\":{impact:\"minor\",messages:{pass:'Element\\'s default semantics were overridden with role=\"none\"',fail:'Element\\'s default semantics were not overridden with role=\"none\"'}},\"role-presentation\":{impact:\"minor\",messages:{pass:'Element\\'s default semantics were overridden with role=\"presentation\"',fail:'Element\\'s default semantics were not overridden with role=\"presentation\"'}},\"svg-non-empty-title\":{impact:\"serious\",messages:{pass:\"Element has a child that is a title\",fail:{noTitle:\"Element has no child that is a title\",emptyTitle:\"Element child title is empty\"},incomplete:\"Unable to determine element has a child that is a title\"}},\"caption-faked\":{impact:\"serious\",messages:{pass:\"The first row of a table is not used as a caption\",fail:\"The first child of the table should be a caption instead of a table cell\"}},\"html5-scope\":{impact:\"moderate\",messages:{pass:\"Scope attribute is only used on table header elements (<th>)\",fail:\"In HTML 5, scope attributes may only be used on table header elements (<th>)\"}},\"same-caption-summary\":{impact:\"minor\",messages:{pass:\"Content of summary attribute and <caption> are not duplicated\",fail:\"Content of summary attribute and <caption> element are identical\",incomplete:\"Unable to determine if <table> element has a caption\"}},\"scope-value\":{impact:\"critical\",messages:{pass:\"Scope attribute is used correctly\",fail:\"The value of the scope attribute may only be 'row' or 'col'\"}},\"td-has-header\":{impact:\"critical\",messages:{pass:\"All non-empty data cells have table headers\",fail:\"Some non-empty data cells do not have table headers\"}},\"td-headers-attr\":{impact:\"serious\",messages:{pass:\"The headers attribute is exclusively used to refer to other header cells in the table\",incomplete:\"The headers attribute is empty\",fail:{\"cell-header-not-in-table\":\"The headers attribute is not exclusively used to refer to other header cells in the table\",\"cell-header-not-th\":\"The headers attribute must refer to header cells, not data cells\",\"header-refs-self\":\"The element with headers attribute refers to itself\"}}},\"th-has-data-cells\":{impact:\"serious\",messages:{pass:\"All table header cells refer to data cells\",fail:\"Not all table header cells refer to data cells\",incomplete:\"Table data cells are missing or empty\"}},\"hidden-content\":{impact:\"minor\",messages:{pass:\"All content on the page has been analyzed.\",fail:\"There were problems analyzing the content on this page.\",incomplete:\"There is hidden content on the page that was not analyzed. You will need to trigger the display of this content in order to analyze it.\"}}},failureSummaries:{any:{failureMessage:function(e){var t=\"Fix any of the following:\",r=e;if(r)for(var n=-1,a=r.length-1;n<a;)t+=\"\\n  \"+r[n+=1].split(\"\\n\").join(\"\\n  \");return t}},none:{failureMessage:function(e){var t=\"Fix all of the following:\",r=e;if(r)for(var n=-1,a=r.length-1;n<a;)t+=\"\\n  \"+r[n+=1].split(\"\\n\").join(\"\\n  \");return t}}},incompleteFallbackMessage:\"axe couldn't tell the reason. Time to break out the element inspector!\"},rules:[{id:\"accesskeys\",impact:\"serious\",selector:\"[accesskey]\",excludeHidden:!1,tags:[\"cat.keyboard\",\"best-practice\"],all:[],any:[],none:[\"accesskeys\"]},{id:\"area-alt\",impact:\"critical\",selector:\"map area[href]\",excludeHidden:!1,tags:[\"cat.text-alternatives\",\"wcag2a\",\"wcag244\",\"wcag412\",\"section508\",\"section508.22.a\",\"TTv5\",\"TT6.a\",\"EN-301-549\",\"EN-9.2.4.4\",\"EN-9.4.1.2\",\"ACT\",\"RGAAv4\",\"RGAA-1.1.2\"],actIds:[\"c487ae\"],all:[],any:[{options:{attribute:\"alt\"},id:\"non-empty-alt\"},\"aria-label\",\"aria-labelledby\",{options:{attribute:\"title\"},id:\"non-empty-title\"}],none:[]},{id:\"aria-allowed-attr\",impact:\"critical\",matches:\"aria-allowed-attr-matches\",tags:[\"cat.aria\",\"wcag2a\",\"wcag412\",\"EN-301-549\",\"EN-9.4.1.2\",\"RGAAv4\",\"RGAA-7.1.1\"],actIds:[\"5c01ea\"],all:[{options:{validTreeRowAttrs:[\"aria-posinset\",\"aria-setsize\",\"aria-expanded\",\"aria-level\"]},id:\"aria-allowed-attr\"},\"aria-allowed-attr-elm\"],any:[],none:[\"aria-unsupported-attr\"]},{id:\"aria-allowed-role\",impact:\"minor\",excludeHidden:!1,selector:\"[role]\",matches:\"aria-allowed-role-matches\",tags:[\"cat.aria\",\"best-practice\"],all:[],any:[{options:{allowImplicit:!0,ignoredTags:[]},id:\"aria-allowed-role\"}],none:[]},{id:\"aria-braille-equivalent\",reviewOnFail:!0,impact:\"serious\",selector:\"[aria-brailleroledescription], [aria-braillelabel]\",tags:[\"cat.aria\",\"wcag2a\",\"wcag412\",\"EN-301-549\",\"EN-9.4.1.2\"],all:[\"braille-roledescription-equivalent\",\"braille-label-equivalent\"],any:[],none:[]},{id:\"aria-command-name\",impact:\"serious\",selector:'[role=\"link\"], [role=\"button\"], [role=\"menuitem\"]',matches:\"no-naming-method-matches\",tags:[\"cat.aria\",\"wcag2a\",\"wcag412\",\"TTv5\",\"TT6.a\",\"EN-301-549\",\"EN-9.4.1.2\",\"ACT\",\"RGAAv4\",\"RGAA-11.9.1\"],actIds:[\"97a4e1\"],all:[],any:[\"has-visible-text\",\"aria-label\",\"aria-labelledby\",{options:{attribute:\"title\"},id:\"non-empty-title\"}],none:[]},{id:\"aria-conditional-attr\",impact:\"serious\",matches:\"aria-allowed-attr-matches\",tags:[\"cat.aria\",\"wcag2a\",\"wcag412\",\"EN-301-549\",\"EN-9.4.1.2\",\"RGAAv4\",\"RGAA-7.1.1\"],actIds:[\"5c01ea\"],all:[{options:{invalidTableRowAttrs:[\"aria-posinset\",\"aria-setsize\",\"aria-expanded\",\"aria-level\"]},id:\"aria-conditional-attr\"}],any:[],none:[]},{id:\"aria-deprecated-role\",impact:\"minor\",selector:\"[role]\",matches:\"no-empty-role-matches\",tags:[\"cat.aria\",\"wcag2a\",\"wcag412\",\"EN-301-549\",\"EN-9.4.1.2\",\"RGAAv4\",\"RGAA-7.1.1\"],actIds:[\"674b10\"],all:[],any:[],none:[\"deprecatedrole\"]},{id:\"aria-dialog-name\",impact:\"serious\",selector:'[role=\"dialog\"], [role=\"alertdialog\"]',matches:\"no-naming-method-matches\",tags:[\"cat.aria\",\"best-practice\"],all:[],any:[\"aria-label\",\"aria-labelledby\",{options:{attribute:\"title\"},id:\"non-empty-title\"}],none:[]},{id:\"aria-hidden-body\",impact:\"critical\",selector:\"body\",excludeHidden:!1,matches:\"is-initiator-matches\",tags:[\"cat.aria\",\"wcag2a\",\"wcag131\",\"wcag412\",\"EN-301-549\",\"EN-9.1.3.1\",\"EN-9.4.1.2\",\"RGAAv4\",\"RGAA-10.8.1\"],all:[],any:[\"aria-hidden-body\"],none:[]},{id:\"aria-hidden-focus\",impact:\"serious\",selector:'[aria-hidden=\"true\"]',matches:\"aria-hidden-focus-matches\",excludeHidden:!1,tags:[\"cat.name-role-value\",\"wcag2a\",\"wcag412\",\"TTv5\",\"TT6.a\",\"EN-301-549\",\"EN-9.4.1.2\",\"RGAAv4\",\"RGAA-10.8.1\"],actIds:[\"6cfa84\"],all:[\"focusable-modal-open\",\"focusable-disabled\",\"focusable-not-tabbable\"],any:[],none:[]},{id:\"aria-input-field-name\",impact:\"serious\",selector:'[role=\"combobox\"], [role=\"listbox\"], [role=\"searchbox\"], [role=\"slider\"], [role=\"spinbutton\"], [role=\"textbox\"]',matches:\"no-naming-method-matches\",tags:[\"cat.aria\",\"wcag2a\",\"wcag412\",\"TTv5\",\"TT5.c\",\"EN-301-549\",\"EN-9.4.1.2\",\"ACT\",\"RGAAv4\",\"RGAA-11.1.1\"],actIds:[\"e086e5\"],all:[],any:[\"aria-label\",\"aria-labelledby\",{options:{attribute:\"title\"},id:\"non-empty-title\"}],none:[\"no-implicit-explicit-label\"]},{id:\"aria-meter-name\",impact:\"serious\",selector:'[role=\"meter\"]',matches:\"no-naming-method-matches\",tags:[\"cat.aria\",\"wcag2a\",\"wcag111\",\"EN-301-549\",\"EN-9.1.1.1\",\"RGAAv4\",\"RGAA-11.1.1\"],all:[],any:[\"aria-label\",\"aria-labelledby\",{options:{attribute:\"title\"},id:\"non-empty-title\"}],none:[]},{id:\"aria-progressbar-name\",impact:\"serious\",selector:'[role=\"progressbar\"]',matches:\"no-naming-method-matches\",tags:[\"cat.aria\",\"wcag2a\",\"wcag111\",\"EN-301-549\",\"EN-9.1.1.1\",\"RGAAv4\",\"RGAA-11.1.1\"],all:[],any:[\"aria-label\",\"aria-labelledby\",{options:{attribute:\"title\"},id:\"non-empty-title\"}],none:[]},{id:\"aria-prohibited-attr\",impact:\"serious\",matches:\"aria-allowed-attr-matches\",tags:[\"cat.aria\",\"wcag2a\",\"wcag412\",\"EN-301-549\",\"EN-9.4.1.2\",\"RGAAv4\",\"RGAA-7.1.1\"],actIds:[\"5c01ea\"],all:[],any:[],none:[{options:{elementsAllowedAriaLabel:[\"applet\",\"input\"]},id:\"aria-prohibited-attr\"}]},{id:\"aria-required-attr\",impact:\"critical\",selector:\"[role]\",tags:[\"cat.aria\",\"wcag2a\",\"wcag412\",\"EN-301-549\",\"EN-9.4.1.2\",\"RGAAv4\",\"RGAA-7.1.1\"],actIds:[\"4e8ab6\"],all:[],any:[\"aria-required-attr\"],none:[]},{id:\"aria-required-children\",impact:\"critical\",selector:\"[role]\",matches:\"aria-required-children-matches\",tags:[\"cat.aria\",\"wcag2a\",\"wcag131\",\"EN-301-549\",\"EN-9.1.3.1\",\"RGAAv4\",\"RGAA-9.3.1\"],actIds:[\"bc4a75\",\"ff89c9\"],all:[],any:[{options:{reviewEmpty:[\"doc-bibliography\",\"doc-endnotes\",\"grid\",\"list\",\"listbox\",\"menu\",\"menubar\",\"table\",\"tablist\",\"tree\",\"treegrid\",\"rowgroup\"]},id:\"aria-required-children\"}],none:[]},{id:\"aria-required-parent\",impact:\"critical\",selector:\"[role]\",matches:\"aria-required-parent-matches\",tags:[\"cat.aria\",\"wcag2a\",\"wcag131\",\"EN-301-549\",\"EN-9.1.3.1\",\"RGAAv4\",\"RGAA-9.3.1\"],actIds:[\"ff89c9\"],all:[],any:[{options:{ownGroupRoles:[\"listitem\",\"treeitem\"]},id:\"aria-required-parent\"}],none:[]},{id:\"aria-roledescription\",impact:\"serious\",selector:\"[aria-roledescription]\",tags:[\"cat.aria\",\"wcag2a\",\"wcag412\",\"EN-301-549\",\"EN-9.4.1.2\",\"deprecated\"],enabled:!1,all:[],any:[{options:{supportedRoles:[\"button\",\"img\",\"checkbox\",\"radio\",\"combobox\",\"menuitemcheckbox\",\"menuitemradio\"]},id:\"aria-roledescription\"}],none:[]},{id:\"aria-roles\",impact:\"critical\",selector:\"[role]\",matches:\"no-empty-role-matches\",tags:[\"cat.aria\",\"wcag2a\",\"wcag412\",\"EN-301-549\",\"EN-9.4.1.2\",\"RGAAv4\",\"RGAA-7.1.1\"],actIds:[\"674b10\"],all:[],any:[],none:[\"invalidrole\",\"abstractrole\",\"unsupportedrole\"]},{id:\"aria-text\",impact:\"serious\",selector:\"[role=text]\",tags:[\"cat.aria\",\"best-practice\"],all:[],any:[\"no-focusable-content\"],none:[]},{id:\"aria-toggle-field-name\",impact:\"serious\",selector:'[role=\"checkbox\"], [role=\"menuitemcheckbox\"], [role=\"menuitemradio\"], [role=\"radio\"], [role=\"switch\"], [role=\"option\"]',matches:\"no-naming-method-matches\",tags:[\"cat.aria\",\"wcag2a\",\"wcag412\",\"TTv5\",\"TT5.c\",\"EN-301-549\",\"EN-9.4.1.2\",\"ACT\",\"RGAAv4\",\"RGAA-7.1.1\"],actIds:[\"e086e5\"],all:[],any:[\"has-visible-text\",\"aria-label\",\"aria-labelledby\",{options:{attribute:\"title\"},id:\"non-empty-title\"}],none:[\"no-implicit-explicit-label\"]},{id:\"aria-tooltip-name\",impact:\"serious\",selector:'[role=\"tooltip\"]',matches:\"no-naming-method-matches\",tags:[\"cat.aria\",\"wcag2a\",\"wcag412\",\"EN-301-549\",\"EN-9.4.1.2\"],all:[],any:[\"has-visible-text\",\"aria-label\",\"aria-labelledby\",{options:{attribute:\"title\"},id:\"non-empty-title\"}],none:[]},{id:\"aria-treeitem-name\",impact:\"serious\",selector:'[role=\"treeitem\"]',matches:\"no-naming-method-matches\",tags:[\"cat.aria\",\"best-practice\"],all:[],any:[\"has-visible-text\",\"aria-label\",\"aria-labelledby\",{options:{attribute:\"title\"},id:\"non-empty-title\"}],none:[]},{id:\"aria-valid-attr-value\",impact:\"critical\",matches:\"aria-has-attr-matches\",tags:[\"cat.aria\",\"wcag2a\",\"wcag412\",\"EN-301-549\",\"EN-9.4.1.2\",\"RGAAv4\",\"RGAA-7.1.1\"],actIds:[\"6a7281\"],all:[{options:[],id:\"aria-valid-attr-value\"},\"aria-errormessage\",\"aria-level\"],any:[],none:[]},{id:\"aria-valid-attr\",impact:\"critical\",matches:\"aria-has-attr-matches\",tags:[\"cat.aria\",\"wcag2a\",\"wcag412\",\"EN-301-549\",\"EN-9.4.1.2\",\"RGAAv4\",\"RGAA-7.1.1\"],actIds:[\"5f99a7\"],all:[],any:[{options:[],id:\"aria-valid-attr\"}],none:[]},{id:\"audio-caption\",impact:\"critical\",selector:\"audio\",enabled:!1,excludeHidden:!1,tags:[\"cat.time-and-media\",\"wcag2a\",\"wcag121\",\"EN-301-549\",\"EN-9.1.2.1\",\"section508\",\"section508.22.a\",\"deprecated\"],actIds:[\"2eb176\",\"afb423\"],all:[],any:[],none:[\"caption\"]},{id:\"autocomplete-valid\",impact:\"serious\",matches:\"autocomplete-matches\",tags:[\"cat.forms\",\"wcag21aa\",\"wcag135\",\"EN-301-549\",\"EN-9.1.3.5\",\"ACT\",\"RGAAv4\",\"RGAA-11.13.1\"],actIds:[\"73f2c2\"],all:[{options:{stateTerms:[\"none\",\"false\",\"true\",\"disabled\",\"enabled\",\"undefined\",\"null\",\"xoff\",\"xon\"],ignoredValues:[\"text\",\"pronouns\",\"gender\",\"message\",\"content\"]},id:\"autocomplete-valid\"}],any:[],none:[]},{id:\"avoid-inline-spacing\",impact:\"serious\",selector:\"[style]\",matches:\"is-visible-on-screen-matches\",tags:[\"cat.structure\",\"wcag21aa\",\"wcag1412\",\"EN-301-549\",\"EN-9.1.4.12\",\"ACT\"],actIds:[\"24afc2\",\"9e45ec\",\"78fd32\"],all:[{options:{cssProperty:\"letter-spacing\",minValue:.12},id:\"important-letter-spacing\"},{options:{cssProperty:\"word-spacing\",minValue:.16},id:\"important-word-spacing\"},{options:{multiLineOnly:!0,cssProperty:\"line-height\",minValue:1.5,normalValue:1},id:\"important-line-height\"}],any:[],none:[]},{id:\"blink\",impact:\"serious\",selector:\"blink\",excludeHidden:!1,tags:[\"cat.time-and-media\",\"wcag2a\",\"wcag222\",\"section508\",\"section508.22.j\",\"TTv5\",\"TT2.b\",\"EN-301-549\",\"EN-9.2.2.2\",\"RGAAv4\",\"RGAA-13.8.1\"],all:[],any:[],none:[\"is-on-screen\"]},{id:\"button-name\",impact:\"critical\",selector:\"button\",matches:\"no-explicit-name-required-matches\",tags:[\"cat.name-role-value\",\"wcag2a\",\"wcag412\",\"section508\",\"section508.22.a\",\"TTv5\",\"TT6.a\",\"EN-301-549\",\"EN-9.4.1.2\",\"ACT\",\"RGAAv4\",\"RGAA-11.9.1\"],actIds:[\"97a4e1\",\"m6b1q3\"],all:[],any:[\"button-has-visible-text\",\"aria-label\",\"aria-labelledby\",{options:{attribute:\"title\"},id:\"non-empty-title\"},\"implicit-label\",\"explicit-label\",\"presentational-role\"],none:[]},{id:\"bypass\",impact:\"serious\",selector:\"html:not(html *)\",pageLevel:!0,matches:\"bypass-matches\",reviewOnFail:!0,tags:[\"cat.keyboard\",\"wcag2a\",\"wcag241\",\"section508\",\"section508.22.o\",\"TTv5\",\"TT9.a\",\"EN-301-549\",\"EN-9.2.4.1\",\"RGAAv4\",\"RGAA-12.7.1\"],actIds:[\"cf77f2\",\"047fe0\",\"b40fd1\",\"3e12e1\",\"ye5d6e\"],all:[],any:[\"internal-link-present\",{options:{selector:\":is(h1, h2, h3, h4, h5, h6):not([role]), [role=heading]\"},id:\"header-present\"},{options:{selector:\"main, [role=main]\"},id:\"landmark\"}],none:[]},{id:\"color-contrast-enhanced\",impact:\"serious\",matches:\"color-contrast-matches\",excludeHidden:!1,enabled:!1,tags:[\"cat.color\",\"wcag2aaa\",\"wcag146\",\"ACT\"],actIds:[\"09o5cg\"],all:[],any:[{options:{ignoreUnicode:!0,ignoreLength:!1,ignorePseudo:!1,boldValue:700,boldTextPt:14,largeTextPt:18,contrastRatio:{normal:{expected:7,minThreshold:4.5},large:{expected:4.5,minThreshold:3}},pseudoSizeThreshold:.25,shadowOutlineEmMax:.1,textStrokeEmMin:.03},id:\"color-contrast-enhanced\"}],none:[]},{id:\"color-contrast\",impact:\"serious\",matches:\"color-contrast-matches\",excludeHidden:!1,tags:[\"cat.color\",\"wcag2aa\",\"wcag143\",\"TTv5\",\"TT13.c\",\"EN-301-549\",\"EN-9.1.4.3\",\"ACT\",\"RGAAv4\",\"RGAA-3.2.1\"],actIds:[\"afw4f7\",\"09o5cg\"],all:[],any:[{options:{ignoreUnicode:!0,ignoreLength:!1,ignorePseudo:!1,boldValue:700,boldTextPt:14,largeTextPt:18,contrastRatio:{normal:{expected:4.5},large:{expected:3}},pseudoSizeThreshold:.25,shadowOutlineEmMax:.2,textStrokeEmMin:.03},id:\"color-contrast\"}],none:[]},{id:\"css-orientation-lock\",impact:\"serious\",selector:\"html:not(html *)\",tags:[\"cat.structure\",\"wcag134\",\"wcag21aa\",\"EN-301-549\",\"EN-9.1.3.4\",\"RGAAv4\",\"RGAA-13.9.1\",\"experimental\"],actIds:[\"b33eff\"],all:[{options:{degreeThreshold:2},id:\"css-orientation-lock\"}],any:[],none:[],preload:!0},{id:\"definition-list\",impact:\"serious\",selector:\"dl\",matches:\"no-role-matches\",tags:[\"cat.structure\",\"wcag2a\",\"wcag131\",\"EN-301-549\",\"EN-9.1.3.1\",\"RGAAv4\",\"RGAA-9.3.3\"],all:[],any:[],none:[\"structured-dlitems\",{options:{validRoles:[\"definition\",\"term\",\"listitem\"],validNodeNames:[\"dt\",\"dd\"],divGroups:!0},id:\"only-dlitems\"}]},{id:\"dlitem\",impact:\"serious\",selector:\"dd, dt\",matches:\"no-role-matches\",tags:[\"cat.structure\",\"wcag2a\",\"wcag131\",\"EN-301-549\",\"EN-9.1.3.1\",\"RGAAv4\",\"RGAA-9.3.3\"],all:[],any:[\"dlitem\"],none:[]},{id:\"document-title\",impact:\"serious\",selector:\"html:not(html *)\",matches:\"is-initiator-matches\",tags:[\"cat.text-alternatives\",\"wcag2a\",\"wcag242\",\"TTv5\",\"TT12.a\",\"EN-301-549\",\"EN-9.2.4.2\",\"ACT\",\"RGAAv4\",\"RGAA-8.5.1\"],actIds:[\"2779a5\"],all:[],any:[\"doc-has-title\"],none:[]},{id:\"duplicate-id-active\",impact:\"serious\",selector:\"[id]\",matches:\"duplicate-id-active-matches\",excludeHidden:!1,tags:[\"cat.parsing\",\"wcag2a-obsolete\",\"wcag411\",\"deprecated\"],enabled:!1,actIds:[\"3ea0c8\"],all:[],any:[\"duplicate-id-active\"],none:[]},{id:\"duplicate-id-aria\",impact:\"critical\",selector:\"[id]\",matches:\"duplicate-id-aria-matches\",excludeHidden:!1,tags:[\"cat.parsing\",\"wcag2a\",\"wcag412\",\"EN-301-549\",\"EN-9.4.1.2\",\"RGAAv4\",\"RGAA-8.2.1\"],reviewOnFail:!0,actIds:[\"3ea0c8\"],all:[],any:[\"duplicate-id-aria\"],none:[]},{id:\"duplicate-id\",impact:\"minor\",selector:\"[id]\",matches:\"duplicate-id-misc-matches\",excludeHidden:!1,tags:[\"cat.parsing\",\"wcag2a-obsolete\",\"wcag411\",\"deprecated\"],enabled:!1,actIds:[\"3ea0c8\"],all:[],any:[\"duplicate-id\"],none:[]},{id:\"empty-heading\",impact:\"minor\",selector:'h1, h2, h3, h4, h5, h6, [role=\"heading\"]',matches:\"heading-matches\",tags:[\"cat.name-role-value\",\"best-practice\"],actIds:[\"ffd0e9\"],all:[],any:[\"has-visible-text\",\"aria-label\",\"aria-labelledby\",{options:{attribute:\"title\"},id:\"non-empty-title\"}],none:[]},{id:\"empty-table-header\",impact:\"minor\",selector:'th:not([role]), [role=\"rowheader\"], [role=\"columnheader\"]',tags:[\"cat.name-role-value\",\"best-practice\"],all:[],any:[\"has-visible-text\"],none:[]},{id:\"focus-order-semantics\",impact:\"minor\",selector:\"div, h1, h2, h3, h4, h5, h6, [role=heading], p, span\",matches:\"inserted-into-focus-order-matches\",tags:[\"cat.keyboard\",\"best-practice\",\"RGAAv4\",\"RGAA-12.8.1\",\"experimental\"],all:[],any:[{options:[],id:\"has-widget-role\"},{options:{roles:[\"tooltip\"]},id:\"valid-scrollable-semantics\"}],none:[]},{id:\"form-field-multiple-labels\",impact:\"moderate\",selector:\"input, select, textarea\",matches:\"label-matches\",tags:[\"cat.forms\",\"wcag2a\",\"wcag332\",\"TTv5\",\"TT5.c\",\"EN-301-549\",\"EN-9.3.3.2\",\"RGAAv4\",\"RGAA-11.2.1\"],all:[],any:[],none:[\"multiple-label\"]},{id:\"frame-focusable-content\",impact:\"serious\",selector:\"html:not(html *)\",matches:\"frame-focusable-content-matches\",tags:[\"cat.keyboard\",\"wcag2a\",\"wcag211\",\"TTv5\",\"TT4.a\",\"EN-301-549\",\"EN-9.2.1.1\",\"RGAAv4\",\"RGAA-7.3.2\"],actIds:[\"akn7bn\"],all:[],any:[\"frame-focusable-content\"],none:[]},{id:\"frame-tested\",impact:\"critical\",selector:\"html:not(html *), frame, iframe\",tags:[\"cat.structure\",\"best-practice\",\"review-item\"],all:[{options:{isViolation:!1},id:\"frame-tested\"}],any:[],none:[]},{id:\"frame-title-unique\",impact:\"serious\",selector:\"frame[title], iframe[title]\",matches:\"frame-title-has-text-matches\",tags:[\"cat.text-alternatives\",\"wcag2a\",\"wcag412\",\"TTv5\",\"TT12.d\",\"EN-301-549\",\"EN-9.4.1.2\",\"RGAAv4\",\"RGAA-2.2.1\"],actIds:[\"4b1c6c\"],all:[],any:[],none:[\"unique-frame-title\"],reviewOnFail:!0},{id:\"frame-title\",impact:\"serious\",selector:\"frame, iframe\",matches:\"no-negative-tabindex-matches\",tags:[\"cat.text-alternatives\",\"wcag2a\",\"wcag412\",\"section508\",\"section508.22.i\",\"TTv5\",\"TT12.d\",\"EN-301-549\",\"EN-9.4.1.2\",\"RGAAv4\",\"RGAA-2.1.1\"],actIds:[\"cae760\"],all:[],any:[{options:{attribute:\"title\"},id:\"non-empty-title\"},\"aria-label\",\"aria-labelledby\",\"presentational-role\"],none:[]},{id:\"heading-order\",impact:\"moderate\",selector:\"h1, h2, h3, h4, h5, h6, [role=heading]\",matches:\"heading-matches\",tags:[\"cat.semantics\",\"best-practice\"],all:[],any:[\"heading-order\"],none:[]},{id:\"hidden-content\",impact:\"minor\",selector:\"*\",excludeHidden:!1,tags:[\"cat.structure\",\"best-practice\",\"experimental\",\"review-item\"],all:[],any:[\"hidden-content\"],none:[]},{id:\"html-has-lang\",impact:\"serious\",selector:\"html:not(html *)\",matches:\"is-initiator-matches\",tags:[\"cat.language\",\"wcag2a\",\"wcag311\",\"TTv5\",\"TT11.a\",\"EN-301-549\",\"EN-9.3.1.1\",\"ACT\",\"RGAAv4\",\"RGAA-8.3.1\"],actIds:[\"b5c3f8\"],all:[],any:[{options:{attributes:[\"lang\",\"xml:lang\"]},id:\"has-lang\"}],none:[]},{id:\"html-lang-valid\",impact:\"serious\",selector:'html[lang]:not([lang=\"\"]):not(html *), html[xml\\\\:lang]:not([xml\\\\:lang=\"\"]):not(html *)',tags:[\"cat.language\",\"wcag2a\",\"wcag311\",\"TTv5\",\"TT11.a\",\"EN-301-549\",\"EN-9.3.1.1\",\"ACT\",\"RGAAv4\",\"RGAA-8.4.1\"],actIds:[\"bf051a\"],all:[],any:[],none:[{options:{attributes:[\"lang\",\"xml:lang\"]},id:\"valid-lang\"}]},{id:\"html-xml-lang-mismatch\",impact:\"moderate\",selector:\"html[lang][xml\\\\:lang]:not(html *)\",matches:\"xml-lang-mismatch-matches\",tags:[\"cat.language\",\"wcag2a\",\"wcag311\",\"EN-301-549\",\"EN-9.3.1.1\",\"ACT\",\"RGAAv4\",\"RGAA-8.3.1\"],actIds:[\"5b7ae0\"],all:[\"xml-lang-mismatch\"],any:[],none:[]},{id:\"identical-links-same-purpose\",impact:\"minor\",selector:'a[href], area[href], [role=\"link\"]',excludeHidden:!1,enabled:!1,matches:\"identical-links-same-purpose-matches\",tags:[\"cat.semantics\",\"wcag2aaa\",\"wcag249\"],actIds:[\"b20e66\"],all:[\"identical-links-same-purpose\"],any:[],none:[]},{id:\"image-alt\",impact:\"critical\",selector:\"img\",matches:\"no-explicit-name-required-matches\",tags:[\"cat.text-alternatives\",\"wcag2a\",\"wcag111\",\"section508\",\"section508.22.a\",\"TTv5\",\"TT7.a\",\"TT7.b\",\"EN-301-549\",\"EN-9.1.1.1\",\"ACT\",\"RGAAv4\",\"RGAA-1.1.1\"],actIds:[\"23a2a8\"],all:[],any:[\"has-alt\",\"aria-label\",\"aria-labelledby\",{options:{attribute:\"title\"},id:\"non-empty-title\"},\"presentational-role\"],none:[\"alt-space-value\"]},{id:\"image-redundant-alt\",impact:\"minor\",selector:\"img\",tags:[\"cat.text-alternatives\",\"best-practice\"],all:[],any:[],none:[{options:{parentSelector:\"button, [role=button], a[href], p, li, td, th\"},id:\"duplicate-img-label\"}]},{id:\"input-button-name\",impact:\"critical\",selector:'input[type=\"button\"], input[type=\"submit\"], input[type=\"reset\"]',matches:\"no-explicit-name-required-matches\",tags:[\"cat.name-role-value\",\"wcag2a\",\"wcag412\",\"section508\",\"section508.22.a\",\"TTv5\",\"TT5.c\",\"EN-301-549\",\"EN-9.4.1.2\",\"ACT\",\"RGAAv4\",\"RGAA-11.9.1\"],actIds:[\"97a4e1\"],all:[],any:[\"non-empty-if-present\",{options:{attribute:\"value\"},id:\"non-empty-value\"},\"aria-label\",\"aria-labelledby\",{options:{attribute:\"title\"},id:\"non-empty-title\"},\"implicit-label\",\"explicit-label\",\"presentational-role\"],none:[]},{id:\"input-image-alt\",impact:\"critical\",selector:'input[type=\"image\"]',matches:\"no-explicit-name-required-matches\",tags:[\"cat.text-alternatives\",\"wcag2a\",\"wcag111\",\"wcag412\",\"section508\",\"section508.22.a\",\"TTv5\",\"TT7.a\",\"EN-301-549\",\"EN-9.1.1.1\",\"EN-9.4.1.2\",\"ACT\",\"RGAAv4\",\"RGAA-1.1.3\"],actIds:[\"59796f\"],all:[],any:[{options:{attribute:\"alt\"},id:\"non-empty-alt\"},\"aria-label\",\"aria-labelledby\",{options:{attribute:\"title\"},id:\"non-empty-title\"},\"implicit-label\",\"explicit-label\"],none:[]},{id:\"label-content-name-mismatch\",impact:\"serious\",matches:\"label-content-name-mismatch-matches\",tags:[\"cat.semantics\",\"wcag21a\",\"wcag253\",\"EN-301-549\",\"EN-9.2.5.3\",\"RGAAv4\",\"RGAA-6.1.5\",\"experimental\"],actIds:[\"2ee8b8\"],all:[],any:[{options:{pixelThreshold:.1,occurrenceThreshold:3},id:\"label-content-name-mismatch\"}],none:[]},{id:\"label-title-only\",impact:\"serious\",selector:\"input, select, textarea\",matches:\"label-matches\",tags:[\"cat.forms\",\"best-practice\"],all:[],any:[],none:[\"title-only\"]},{id:\"label\",impact:\"critical\",selector:\"input, textarea\",matches:\"label-matches\",tags:[\"cat.forms\",\"wcag2a\",\"wcag412\",\"section508\",\"section508.22.n\",\"TTv5\",\"TT5.c\",\"EN-301-549\",\"EN-9.4.1.2\",\"ACT\",\"RGAAv4\",\"RGAA-11.1.1\"],actIds:[\"e086e5\"],all:[],any:[\"implicit-label\",\"explicit-label\",\"aria-label\",\"aria-labelledby\",{options:{attribute:\"title\"},id:\"non-empty-title\"},{options:{attribute:\"placeholder\"},id:\"non-empty-placeholder\"},\"presentational-role\"],none:[\"hidden-explicit-label\"]},{id:\"landmark-banner-is-top-level\",impact:\"moderate\",selector:\"header:not([role]), [role=banner]\",matches:\"landmark-has-body-context-matches\",tags:[\"cat.semantics\",\"best-practice\"],all:[],any:[\"landmark-is-top-level\"],none:[]},{id:\"landmark-complementary-is-top-level\",impact:\"moderate\",selector:\"aside:not([role]), [role=complementary]\",tags:[\"cat.semantics\",\"best-practice\"],all:[],any:[\"landmark-is-top-level\"],none:[]},{id:\"landmark-contentinfo-is-top-level\",impact:\"moderate\",selector:\"footer:not([role]), [role=contentinfo]\",matches:\"landmark-has-body-context-matches\",tags:[\"cat.semantics\",\"best-practice\"],all:[],any:[\"landmark-is-top-level\"],none:[]},{id:\"landmark-main-is-top-level\",impact:\"moderate\",selector:\"main:not([role]), [role=main]\",tags:[\"cat.semantics\",\"best-practice\"],all:[],any:[\"landmark-is-top-level\"],none:[]},{id:\"landmark-no-duplicate-banner\",impact:\"moderate\",selector:\"header:not([role]), [role=banner]\",tags:[\"cat.semantics\",\"best-practice\"],all:[],any:[{options:{selector:\"header:not([role]), [role=banner]\",role:\"banner\"},id:\"page-no-duplicate-banner\"}],none:[]},{id:\"landmark-no-duplicate-contentinfo\",impact:\"moderate\",selector:\"footer:not([role]), [role=contentinfo]\",tags:[\"cat.semantics\",\"best-practice\"],all:[],any:[{options:{selector:\"footer:not([role]), [role=contentinfo]\",role:\"contentinfo\"},id:\"page-no-duplicate-contentinfo\"}],none:[]},{id:\"landmark-no-duplicate-main\",impact:\"moderate\",selector:\"main:not([role]), [role=main]\",tags:[\"cat.semantics\",\"best-practice\"],all:[],any:[{options:{selector:\"main:not([role]), [role='main']\"},id:\"page-no-duplicate-main\"}],none:[]},{id:\"landmark-one-main\",impact:\"moderate\",selector:\"html:not(html *)\",tags:[\"cat.semantics\",\"best-practice\"],all:[{options:{selector:\"main:not([role]), [role='main']\",passForModal:!0},id:\"page-has-main\"}],any:[],none:[]},{id:\"landmark-unique\",impact:\"moderate\",selector:\"[role=banner], [role=complementary], [role=contentinfo], [role=main], [role=navigation], [role=region], [role=search], [role=form], form, footer, header, aside, main, nav, section\",tags:[\"cat.semantics\",\"best-practice\"],matches:\"landmark-unique-matches\",all:[],any:[\"landmark-is-unique\"],none:[]},{id:\"link-in-text-block\",impact:\"serious\",selector:\"a[href], [role=link]\",matches:\"link-in-text-block-matches\",excludeHidden:!1,tags:[\"cat.color\",\"wcag2a\",\"wcag141\",\"TTv5\",\"TT13.a\",\"EN-301-549\",\"EN-9.1.4.1\",\"RGAAv4\",\"RGAA-10.6.1\"],all:[],any:[{options:{requiredContrastRatio:3,allowSameColor:!0},id:\"link-in-text-block\"},\"link-in-text-block-style\"],none:[]},{id:\"link-name\",impact:\"serious\",selector:\"a[href]\",tags:[\"cat.name-role-value\",\"wcag2a\",\"wcag244\",\"wcag412\",\"section508\",\"section508.22.a\",\"TTv5\",\"TT6.a\",\"EN-301-549\",\"EN-9.2.4.4\",\"EN-9.4.1.2\",\"ACT\",\"RGAAv4\",\"RGAA-6.2.1\"],actIds:[\"c487ae\"],all:[],any:[\"has-visible-text\",\"aria-label\",\"aria-labelledby\",{options:{attribute:\"title\"},id:\"non-empty-title\"}],none:[\"focusable-no-name\"]},{id:\"list\",impact:\"serious\",selector:\"ul, ol\",matches:\"no-role-matches\",tags:[\"cat.structure\",\"wcag2a\",\"wcag131\",\"EN-301-549\",\"EN-9.1.3.1\",\"RGAAv4\",\"RGAA-9.3.1\"],all:[],any:[],none:[{options:{validRoles:[\"listitem\"],validNodeNames:[\"li\"]},id:\"only-listitems\"}]},{id:\"listitem\",impact:\"serious\",selector:\"li\",matches:\"no-role-matches\",tags:[\"cat.structure\",\"wcag2a\",\"wcag131\",\"EN-301-549\",\"EN-9.1.3.1\",\"RGAAv4\",\"RGAA-9.3.1\"],all:[],any:[\"listitem\"],none:[]},{id:\"marquee\",impact:\"serious\",selector:\"marquee\",excludeHidden:!1,tags:[\"cat.parsing\",\"wcag2a\",\"wcag222\",\"TTv5\",\"TT2.b\",\"EN-301-549\",\"EN-9.2.2.2\",\"RGAAv4\",\"RGAA-13.8.1\"],all:[],any:[],none:[\"is-on-screen\"]},{id:\"meta-refresh-no-exceptions\",impact:\"minor\",selector:'meta[http-equiv=\"refresh\"][content]',excludeHidden:!1,enabled:!1,tags:[\"cat.time-and-media\",\"wcag2aaa\",\"wcag224\",\"wcag325\"],actIds:[\"bisz58\"],all:[],any:[{options:{minDelay:72e3,maxDelay:!1},id:\"meta-refresh-no-exceptions\"}],none:[]},{id:\"meta-refresh\",impact:\"critical\",selector:'meta[http-equiv=\"refresh\"][content]',excludeHidden:!1,tags:[\"cat.time-and-media\",\"wcag2a\",\"wcag221\",\"TTv5\",\"TT8.a\",\"EN-301-549\",\"EN-9.2.2.1\",\"RGAAv4\",\"RGAA-13.1.2\"],actIds:[\"bc659a\",\"bisz58\"],all:[],any:[{options:{minDelay:0,maxDelay:72e3},id:\"meta-refresh\"}],none:[]},{id:\"meta-viewport-large\",impact:\"minor\",selector:'meta[name=\"viewport\"]',matches:\"is-initiator-matches\",excludeHidden:!1,tags:[\"cat.sensory-and-visual-cues\",\"best-practice\"],all:[],any:[{options:{scaleMinimum:5,lowerBound:2},id:\"meta-viewport-large\"}],none:[]},{id:\"meta-viewport\",impact:\"moderate\",selector:'meta[name=\"viewport\"]',matches:\"is-initiator-matches\",excludeHidden:!1,tags:[\"cat.sensory-and-visual-cues\",\"wcag2aa\",\"wcag144\",\"EN-301-549\",\"EN-9.1.4.4\",\"ACT\",\"RGAAv4\",\"RGAA-10.4.2\"],actIds:[\"b4f0c3\"],all:[],any:[{options:{scaleMinimum:2},id:\"meta-viewport\"}],none:[]},{id:\"nested-interactive\",impact:\"serious\",matches:\"nested-interactive-matches\",tags:[\"cat.keyboard\",\"wcag2a\",\"wcag412\",\"TTv5\",\"TT6.a\",\"EN-301-549\",\"EN-9.4.1.2\",\"RGAAv4\",\"RGAA-7.1.1\"],actIds:[\"307n5z\"],all:[],any:[\"no-focusable-content\"],none:[]},{id:\"no-autoplay-audio\",impact:\"moderate\",excludeHidden:!1,selector:\"audio[autoplay], video[autoplay]\",matches:\"no-autoplay-audio-matches\",reviewOnFail:!0,tags:[\"cat.time-and-media\",\"wcag2a\",\"wcag142\",\"TTv5\",\"TT2.a\",\"EN-301-549\",\"EN-9.1.4.2\",\"ACT\",\"RGAAv4\",\"RGAA-4.10.1\"],actIds:[\"80f0bf\"],preload:!0,all:[{options:{allowedDuration:3},id:\"no-autoplay-audio\"}],any:[],none:[]},{id:\"object-alt\",impact:\"serious\",selector:\"object[data]\",matches:\"object-is-loaded-matches\",tags:[\"cat.text-alternatives\",\"wcag2a\",\"wcag111\",\"section508\",\"section508.22.a\",\"EN-301-549\",\"EN-9.1.1.1\",\"RGAAv4\",\"RGAA-1.1.6\"],actIds:[\"8fc3b6\"],all:[],any:[\"aria-label\",\"aria-labelledby\",{options:{attribute:\"title\"},id:\"non-empty-title\"},\"presentational-role\"],none:[]},{id:\"p-as-heading\",impact:\"serious\",selector:\"p\",matches:\"p-as-heading-matches\",tags:[\"cat.semantics\",\"wcag2a\",\"wcag131\",\"EN-301-549\",\"EN-9.1.3.1\",\"RGAAv4\",\"RGAA-9.1.3\",\"experimental\"],all:[{options:{margins:[{weight:150,italic:!0},{weight:150,size:1.15},{italic:!0,size:1.15},{size:1.4}],passLength:1,failLength:.5},id:\"p-as-heading\"}],any:[],none:[]},{id:\"page-has-heading-one\",impact:\"moderate\",selector:\"html:not(html *)\",tags:[\"cat.semantics\",\"best-practice\"],all:[{options:{selector:\"h1:not([role], [aria-level]), :is(h1, h2, h3, h4, h5, h6):not([role])[aria-level=1], [role=heading][aria-level=1]\",passForModal:!0},id:\"page-has-heading-one\"}],any:[],none:[]},{id:\"presentation-role-conflict\",impact:\"minor\",selector:'img[alt=\\'\\'], [role=\"none\"], [role=\"presentation\"]',matches:\"has-implicit-chromium-role-matches\",tags:[\"cat.aria\",\"best-practice\",\"ACT\"],actIds:[\"46ca7f\"],all:[],any:[],none:[\"is-element-focusable\",\"has-global-aria-attribute\"]},{id:\"region\",impact:\"moderate\",selector:\"body *\",tags:[\"cat.keyboard\",\"best-practice\",\"RGAAv4\",\"RGAA-9.2.1\"],all:[],any:[{options:{regionMatcher:\"dialog, [role=dialog], [role=alertdialog], svg\"},id:\"region\"}],none:[]},{id:\"role-img-alt\",impact:\"serious\",selector:\"[role='img']:not(img, area, input, object)\",matches:\"html-namespace-matches\",tags:[\"cat.text-alternatives\",\"wcag2a\",\"wcag111\",\"section508\",\"section508.22.a\",\"TTv5\",\"TT7.a\",\"EN-301-549\",\"EN-9.1.1.1\",\"ACT\",\"RGAAv4\",\"RGAA-1.1.1\"],actIds:[\"23a2a8\"],all:[],any:[\"aria-label\",\"aria-labelledby\",{options:{attribute:\"title\"},id:\"non-empty-title\"}],none:[]},{id:\"scope-attr-valid\",impact:\"moderate\",selector:\"td[scope], th[scope]\",tags:[\"cat.tables\",\"best-practice\"],all:[\"html5-scope\",{options:{values:[\"row\",\"col\",\"rowgroup\",\"colgroup\"]},id:\"scope-value\"}],any:[],none:[]},{id:\"scrollable-region-focusable\",impact:\"serious\",selector:\"*:not(select,textarea)\",matches:\"scrollable-region-focusable-matches\",tags:[\"cat.keyboard\",\"wcag2a\",\"wcag211\",\"wcag213\",\"TTv5\",\"TT4.a\",\"EN-301-549\",\"EN-9.2.1.1\",\"EN-9.2.1.3\",\"RGAAv4\",\"RGAA-7.3.2\"],actIds:[\"0ssw9k\"],all:[],any:[\"focusable-content\",\"focusable-element\"],none:[]},{id:\"select-name\",impact:\"critical\",selector:\"select\",tags:[\"cat.forms\",\"wcag2a\",\"wcag412\",\"section508\",\"section508.22.n\",\"TTv5\",\"TT5.c\",\"EN-301-549\",\"EN-9.4.1.2\",\"ACT\",\"RGAAv4\",\"RGAA-11.1.1\"],actIds:[\"e086e5\"],all:[],any:[\"implicit-label\",\"explicit-label\",\"aria-label\",\"aria-labelledby\",{options:{attribute:\"title\"},id:\"non-empty-title\"},\"presentational-role\"],none:[\"hidden-explicit-label\"]},{id:\"server-side-image-map\",impact:\"minor\",selector:\"img[ismap]\",tags:[\"cat.text-alternatives\",\"wcag2a\",\"wcag211\",\"section508\",\"section508.22.f\",\"TTv5\",\"TT4.a\",\"EN-301-549\",\"EN-9.2.1.1\",\"RGAAv4\",\"RGAA-1.1.4\"],all:[],any:[],none:[\"exists\"]},{id:\"skip-link\",impact:\"moderate\",selector:'a[href^=\"#\"], a[href^=\"/#\"]',matches:\"skip-link-matches\",tags:[\"cat.keyboard\",\"best-practice\",\"RGAAv4\",\"RGAA-12.7.1\"],all:[],any:[\"skip-link\"],none:[]},{id:\"summary-name\",impact:\"serious\",selector:\"summary\",matches:\"summary-interactive-matches\",tags:[\"cat.name-role-value\",\"wcag2a\",\"wcag412\",\"section508\",\"section508.22.a\",\"TTv5\",\"TT6.a\",\"EN-301-549\",\"EN-9.4.1.2\"],all:[],any:[\"has-visible-text\",\"aria-label\",\"aria-labelledby\",{options:{attribute:\"title\"},id:\"non-empty-title\"}],none:[]},{id:\"svg-img-alt\",impact:\"serious\",selector:'[role=\"img\"], [role=\"graphics-symbol\"], svg[role=\"graphics-document\"]',matches:\"svg-namespace-matches\",tags:[\"cat.text-alternatives\",\"wcag2a\",\"wcag111\",\"section508\",\"section508.22.a\",\"TTv5\",\"TT7.a\",\"EN-301-549\",\"EN-9.1.1.1\",\"ACT\",\"RGAAv4\",\"RGAA-1.1.5\"],actIds:[\"7d6734\"],all:[],any:[\"svg-non-empty-title\",\"aria-label\",\"aria-labelledby\",{options:{attribute:\"title\"},id:\"non-empty-title\"}],none:[]},{id:\"tabindex\",impact:\"serious\",selector:\"[tabindex]\",tags:[\"cat.keyboard\",\"best-practice\"],all:[],any:[\"tabindex\"],none:[]},{id:\"table-duplicate-name\",impact:\"minor\",selector:\"table\",tags:[\"cat.tables\",\"best-practice\",\"RGAAv4\",\"RGAA-5.2.1\"],all:[],any:[],none:[\"same-caption-summary\"]},{id:\"table-fake-caption\",impact:\"serious\",selector:\"table\",matches:\"data-table-matches\",tags:[\"cat.tables\",\"experimental\",\"wcag2a\",\"wcag131\",\"section508\",\"section508.22.g\",\"EN-301-549\",\"EN-9.1.3.1\",\"RGAAv4\",\"RGAA-5.4.1\"],all:[\"caption-faked\"],any:[],none:[]},{id:\"target-size\",impact:\"serious\",selector:\"*\",enabled:!1,matches:\"widget-not-inline-matches\",tags:[\"cat.sensory-and-visual-cues\",\"wcag22aa\",\"wcag258\"],all:[],any:[{options:{minSize:24},id:\"target-size\"},{options:{minOffset:24},id:\"target-offset\"}],none:[]},{id:\"td-has-header\",impact:\"critical\",selector:\"table\",matches:\"data-table-large-matches\",tags:[\"cat.tables\",\"experimental\",\"wcag2a\",\"wcag131\",\"section508\",\"section508.22.g\",\"TTv5\",\"TT14.b\",\"EN-301-549\",\"EN-9.1.3.1\",\"RGAAv4\",\"RGAA-5.7.4\"],all:[\"td-has-header\"],any:[],none:[]},{id:\"td-headers-attr\",impact:\"serious\",selector:\"table\",matches:\"table-or-grid-role-matches\",tags:[\"cat.tables\",\"wcag2a\",\"wcag131\",\"section508\",\"section508.22.g\",\"TTv5\",\"TT14.b\",\"EN-301-549\",\"EN-9.1.3.1\",\"RGAAv4\",\"RGAA-5.7.4\"],actIds:[\"a25f45\"],all:[\"td-headers-attr\"],any:[],none:[]},{id:\"th-has-data-cells\",impact:\"serious\",selector:\"table\",matches:\"data-table-matches\",tags:[\"cat.tables\",\"wcag2a\",\"wcag131\",\"section508\",\"section508.22.g\",\"TTv5\",\"TT14.b\",\"EN-301-549\",\"EN-9.1.3.1\",\"RGAAv4\",\"RGAA-5.7.1\"],actIds:[\"d0f69e\"],all:[\"th-has-data-cells\"],any:[],none:[]},{id:\"valid-lang\",impact:\"serious\",selector:\"[lang]:not(html), [xml\\\\:lang]:not(html)\",tags:[\"cat.language\",\"wcag2aa\",\"wcag312\",\"TTv5\",\"TT11.b\",\"EN-301-549\",\"EN-9.3.1.2\",\"ACT\",\"RGAAv4\",\"RGAA-8.8.1\"],actIds:[\"de46e4\"],all:[],any:[],none:[{options:{attributes:[\"lang\",\"xml:lang\"]},id:\"valid-lang\"}]},{id:\"video-caption\",impact:\"critical\",selector:\"video\",tags:[\"cat.text-alternatives\",\"wcag2a\",\"wcag122\",\"section508\",\"section508.22.a\",\"TTv5\",\"TT17.a\",\"EN-301-549\",\"EN-9.1.2.2\",\"RGAAv4\",\"RGAA-4.3.1\"],actIds:[\"eac66b\"],all:[],any:[],none:[\"caption\"]}],checks:[{id:\"abstractrole\",evaluate:\"abstractrole-evaluate\"},{id:\"aria-allowed-attr-elm\",evaluate:\"aria-allowed-attr-elm-evaluate\"},{id:\"aria-allowed-attr\",evaluate:\"aria-allowed-attr-evaluate\",options:{validTreeRowAttrs:[\"aria-posinset\",\"aria-setsize\",\"aria-expanded\",\"aria-level\"]}},{id:\"aria-allowed-role\",evaluate:\"aria-allowed-role-evaluate\",options:{allowImplicit:!0,ignoredTags:[]}},{id:\"aria-busy\",evaluate:\"aria-busy-evaluate\",deprecated:!0},{id:\"aria-conditional-attr\",evaluate:\"aria-conditional-attr-evaluate\",options:{invalidTableRowAttrs:[\"aria-posinset\",\"aria-setsize\",\"aria-expanded\",\"aria-level\"]}},{id:\"aria-errormessage\",evaluate:\"aria-errormessage-evaluate\"},{id:\"aria-hidden-body\",evaluate:\"aria-hidden-body-evaluate\"},{id:\"aria-level\",evaluate:\"aria-level-evaluate\"},{id:\"aria-prohibited-attr\",evaluate:\"aria-prohibited-attr-evaluate\",options:{elementsAllowedAriaLabel:[\"applet\",\"input\"]}},{id:\"aria-required-attr\",evaluate:\"aria-required-attr-evaluate\"},{id:\"aria-required-children\",evaluate:\"aria-required-children-evaluate\",options:{reviewEmpty:[\"doc-bibliography\",\"doc-endnotes\",\"grid\",\"list\",\"listbox\",\"menu\",\"menubar\",\"table\",\"tablist\",\"tree\",\"treegrid\",\"rowgroup\"]}},{id:\"aria-required-parent\",evaluate:\"aria-required-parent-evaluate\",options:{ownGroupRoles:[\"listitem\",\"treeitem\"]}},{id:\"aria-roledescription\",evaluate:\"aria-roledescription-evaluate\",options:{supportedRoles:[\"button\",\"img\",\"checkbox\",\"radio\",\"combobox\",\"menuitemcheckbox\",\"menuitemradio\"]}},{id:\"aria-unsupported-attr\",evaluate:\"aria-unsupported-attr-evaluate\"},{id:\"aria-valid-attr-value\",evaluate:\"aria-valid-attr-value-evaluate\",options:[]},{id:\"aria-valid-attr\",evaluate:\"aria-valid-attr-evaluate\",options:[]},{id:\"braille-label-equivalent\",evaluate:\"braille-label-equivalent-evaluate\"},{id:\"braille-roledescription-equivalent\",evaluate:\"braille-roledescription-equivalent-evaluate\"},{id:\"deprecatedrole\",evaluate:\"deprecatedrole-evaluate\"},{id:\"fallbackrole\",evaluate:\"fallbackrole-evaluate\"},{id:\"has-global-aria-attribute\",evaluate:\"has-global-aria-attribute-evaluate\"},{id:\"has-widget-role\",evaluate:\"has-widget-role-evaluate\",options:[]},{id:\"invalidrole\",evaluate:\"invalidrole-evaluate\"},{id:\"is-element-focusable\",evaluate:\"is-element-focusable-evaluate\"},{id:\"no-implicit-explicit-label\",evaluate:\"no-implicit-explicit-label-evaluate\"},{id:\"unsupportedrole\",evaluate:\"unsupportedrole-evaluate\"},{id:\"valid-scrollable-semantics\",evaluate:\"valid-scrollable-semantics-evaluate\",options:{roles:[\"tooltip\"]}},{id:\"color-contrast-enhanced\",evaluate:\"color-contrast-evaluate\",options:{ignoreUnicode:!0,ignoreLength:!1,ignorePseudo:!1,boldValue:700,boldTextPt:14,largeTextPt:18,contrastRatio:{normal:{expected:7,minThreshold:4.5},large:{expected:4.5,minThreshold:3}},pseudoSizeThreshold:.25,shadowOutlineEmMax:.1,textStrokeEmMin:.03}},{id:\"color-contrast\",evaluate:\"color-contrast-evaluate\",options:{ignoreUnicode:!0,ignoreLength:!1,ignorePseudo:!1,boldValue:700,boldTextPt:14,largeTextPt:18,contrastRatio:{normal:{expected:4.5},large:{expected:3}},pseudoSizeThreshold:.25,shadowOutlineEmMax:.2,textStrokeEmMin:.03}},{id:\"link-in-text-block-style\",evaluate:\"link-in-text-block-style-evaluate\"},{id:\"link-in-text-block\",evaluate:\"link-in-text-block-evaluate\",options:{requiredContrastRatio:3,allowSameColor:!0}},{id:\"autocomplete-appropriate\",evaluate:\"autocomplete-appropriate-evaluate\",deprecated:!0},{id:\"autocomplete-valid\",evaluate:\"autocomplete-valid-evaluate\",options:{stateTerms:[\"none\",\"false\",\"true\",\"disabled\",\"enabled\",\"undefined\",\"null\",\"xoff\",\"xon\"],ignoredValues:[\"text\",\"pronouns\",\"gender\",\"message\",\"content\"]}},{id:\"accesskeys\",evaluate:\"accesskeys-evaluate\",after:\"accesskeys-after\"},{id:\"focusable-content\",evaluate:\"focusable-content-evaluate\"},{id:\"focusable-disabled\",evaluate:\"focusable-disabled-evaluate\"},{id:\"focusable-element\",evaluate:\"focusable-element-evaluate\"},{id:\"focusable-modal-open\",evaluate:\"focusable-modal-open-evaluate\"},{id:\"focusable-no-name\",evaluate:\"focusable-no-name-evaluate\"},{id:\"focusable-not-tabbable\",evaluate:\"focusable-not-tabbable-evaluate\"},{id:\"frame-focusable-content\",evaluate:\"frame-focusable-content-evaluate\"},{id:\"landmark-is-top-level\",evaluate:\"landmark-is-top-level-evaluate\"},{id:\"no-focusable-content\",evaluate:\"no-focusable-content-evaluate\"},{id:\"page-has-heading-one\",evaluate:\"has-descendant-evaluate\",after:\"has-descendant-after\",options:{selector:\"h1:not([role], [aria-level]), :is(h1, h2, h3, h4, h5, h6):not([role])[aria-level=1], [role=heading][aria-level=1]\",passForModal:!0}},{id:\"page-has-main\",evaluate:\"has-descendant-evaluate\",after:\"has-descendant-after\",options:{selector:\"main:not([role]), [role='main']\",passForModal:!0}},{id:\"page-no-duplicate-banner\",evaluate:\"page-no-duplicate-evaluate\",after:\"page-no-duplicate-after\",options:{selector:\"header:not([role]), [role=banner]\",role:\"banner\"}},{id:\"page-no-duplicate-contentinfo\",evaluate:\"page-no-duplicate-evaluate\",after:\"page-no-duplicate-after\",options:{selector:\"footer:not([role]), [role=contentinfo]\",role:\"contentinfo\"}},{id:\"page-no-duplicate-main\",evaluate:\"page-no-duplicate-evaluate\",after:\"page-no-duplicate-after\",options:{selector:\"main:not([role]), [role='main']\"}},{id:\"tabindex\",evaluate:\"tabindex-evaluate\"},{id:\"alt-space-value\",evaluate:\"alt-space-value-evaluate\"},{id:\"duplicate-img-label\",evaluate:\"duplicate-img-label-evaluate\",options:{parentSelector:\"button, [role=button], a[href], p, li, td, th\"}},{id:\"explicit-label\",evaluate:\"explicit-evaluate\"},{id:\"help-same-as-label\",evaluate:\"help-same-as-label-evaluate\"},{id:\"hidden-explicit-label\",evaluate:\"hidden-explicit-label-evaluate\"},{id:\"implicit-label\",evaluate:\"implicit-evaluate\"},{id:\"label-content-name-mismatch\",evaluate:\"label-content-name-mismatch-evaluate\",options:{pixelThreshold:.1,occurrenceThreshold:3}},{id:\"multiple-label\",evaluate:\"multiple-label-evaluate\"},{id:\"title-only\",evaluate:\"title-only-evaluate\"},{id:\"landmark-is-unique\",evaluate:\"landmark-is-unique-evaluate\",after:\"landmark-is-unique-after\"},{id:\"has-lang\",evaluate:\"has-lang-evaluate\",options:{attributes:[\"lang\",\"xml:lang\"]}},{id:\"valid-lang\",evaluate:\"valid-lang-evaluate\",options:{attributes:[\"lang\",\"xml:lang\"]}},{id:\"xml-lang-mismatch\",evaluate:\"xml-lang-mismatch-evaluate\"},{id:\"dlitem\",evaluate:\"dlitem-evaluate\"},{id:\"listitem\",evaluate:\"listitem-evaluate\"},{id:\"only-dlitems\",evaluate:\"invalid-children-evaluate\",options:{validRoles:[\"definition\",\"term\",\"listitem\"],validNodeNames:[\"dt\",\"dd\"],divGroups:!0}},{id:\"only-listitems\",evaluate:\"invalid-children-evaluate\",options:{validRoles:[\"listitem\"],validNodeNames:[\"li\"]}},{id:\"structured-dlitems\",evaluate:\"structured-dlitems-evaluate\"},{id:\"caption\",evaluate:\"caption-evaluate\"},{id:\"frame-tested\",evaluate:\"frame-tested-evaluate\",after:\"frame-tested-after\",options:{isViolation:!1}},{id:\"no-autoplay-audio\",evaluate:\"no-autoplay-audio-evaluate\",options:{allowedDuration:3}},{id:\"css-orientation-lock\",evaluate:\"css-orientation-lock-evaluate\",options:{degreeThreshold:2}},{id:\"meta-viewport-large\",evaluate:\"meta-viewport-scale-evaluate\",options:{scaleMinimum:5,lowerBound:2}},{id:\"meta-viewport\",evaluate:\"meta-viewport-scale-evaluate\",options:{scaleMinimum:2}},{id:\"target-offset\",evaluate:\"target-offset-evaluate\",options:{minOffset:24}},{id:\"target-size\",evaluate:\"target-size-evaluate\",options:{minSize:24}},{id:\"header-present\",evaluate:\"has-descendant-evaluate\",after:\"has-descendant-after\",options:{selector:\":is(h1, h2, h3, h4, h5, h6):not([role]), [role=heading]\"}},{id:\"heading-order\",evaluate:\"heading-order-evaluate\",after:\"heading-order-after\"},{id:\"identical-links-same-purpose\",evaluate:\"identical-links-same-purpose-evaluate\",after:\"identical-links-same-purpose-after\"},{id:\"internal-link-present\",evaluate:\"internal-link-present-evaluate\"},{id:\"landmark\",evaluate:\"has-descendant-evaluate\",options:{selector:\"main, [role=main]\"}},{id:\"meta-refresh-no-exceptions\",evaluate:\"meta-refresh-evaluate\",options:{minDelay:72e3,maxDelay:!1}},{id:\"meta-refresh\",evaluate:\"meta-refresh-evaluate\",options:{minDelay:0,maxDelay:72e3}},{id:\"p-as-heading\",evaluate:\"p-as-heading-evaluate\",options:{margins:[{weight:150,italic:!0},{weight:150,size:1.15},{italic:!0,size:1.15},{size:1.4}],passLength:1,failLength:.5}},{id:\"region\",evaluate:\"region-evaluate\",after:\"region-after\",options:{regionMatcher:\"dialog, [role=dialog], [role=alertdialog], svg\"}},{id:\"skip-link\",evaluate:\"skip-link-evaluate\"},{id:\"unique-frame-title\",evaluate:\"unique-frame-title-evaluate\",after:\"unique-frame-title-after\"},{id:\"duplicate-id-active\",evaluate:\"duplicate-id-evaluate\",after:\"duplicate-id-after\"},{id:\"duplicate-id-aria\",evaluate:\"duplicate-id-evaluate\",after:\"duplicate-id-after\"},{id:\"duplicate-id\",evaluate:\"duplicate-id-evaluate\",after:\"duplicate-id-after\"},{id:\"aria-label\",evaluate:\"aria-label-evaluate\"},{id:\"aria-labelledby\",evaluate:\"aria-labelledby-evaluate\"},{id:\"avoid-inline-spacing\",evaluate:\"avoid-inline-spacing-evaluate\",options:{cssProperties:[\"line-height\",\"letter-spacing\",\"word-spacing\"]}},{id:\"button-has-visible-text\",evaluate:\"has-text-content-evaluate\"},{id:\"doc-has-title\",evaluate:\"doc-has-title-evaluate\"},{id:\"error-occurred\",evaluate:\"exists-evaluate\"},{id:\"exists\",evaluate:\"exists-evaluate\"},{id:\"has-alt\",evaluate:\"has-alt-evaluate\"},{id:\"has-visible-text\",evaluate:\"has-text-content-evaluate\"},{id:\"important-letter-spacing\",evaluate:\"inline-style-property-evaluate\",options:{cssProperty:\"letter-spacing\",minValue:.12}},{id:\"important-line-height\",evaluate:\"inline-style-property-evaluate\",options:{multiLineOnly:!0,cssProperty:\"line-height\",minValue:1.5,normalValue:1}},{id:\"important-word-spacing\",evaluate:\"inline-style-property-evaluate\",options:{cssProperty:\"word-spacing\",minValue:.16}},{id:\"is-on-screen\",evaluate:\"is-on-screen-evaluate\"},{id:\"non-empty-alt\",evaluate:\"attr-non-space-content-evaluate\",options:{attribute:\"alt\"}},{id:\"non-empty-if-present\",evaluate:\"non-empty-if-present-evaluate\"},{id:\"non-empty-placeholder\",evaluate:\"attr-non-space-content-evaluate\",options:{attribute:\"placeholder\"}},{id:\"non-empty-title\",evaluate:\"attr-non-space-content-evaluate\",options:{attribute:\"title\"}},{id:\"non-empty-value\",evaluate:\"attr-non-space-content-evaluate\",options:{attribute:\"value\"}},{id:\"presentational-role\",evaluate:\"presentational-role-evaluate\"},{id:\"role-none\",evaluate:\"matches-definition-evaluate\",deprecated:!0,options:{matcher:{attributes:{role:\"none\"}}}},{id:\"role-presentation\",evaluate:\"matches-definition-evaluate\",deprecated:!0,options:{matcher:{attributes:{role:\"presentation\"}}}},{id:\"svg-non-empty-title\",evaluate:\"svg-non-empty-title-evaluate\"},{id:\"caption-faked\",evaluate:\"caption-faked-evaluate\"},{id:\"html5-scope\",evaluate:\"html5-scope-evaluate\"},{id:\"same-caption-summary\",evaluate:\"same-caption-summary-evaluate\"},{id:\"scope-value\",evaluate:\"scope-value-evaluate\",options:{values:[\"row\",\"col\",\"rowgroup\",\"colgroup\"]}},{id:\"td-has-header\",evaluate:\"td-has-header-evaluate\"},{id:\"td-headers-attr\",evaluate:\"td-headers-attr-evaluate\"},{id:\"th-has-data-cells\",evaluate:\"th-has-data-cells-evaluate\"},{id:\"hidden-content\",evaluate:\"hidden-content-evaluate\"}]})}(\"object\"==typeof window?window:this);","/*! https://mths.be/base64 v1.0.0 by @mathias | MIT license */\n;(function(root) {\n\n\t// Detect free variables `exports`.\n\tvar freeExports = typeof exports == 'object' && exports;\n\n\t// Detect free variable `module`.\n\tvar freeModule = typeof module == 'object' && module &&\n\t\tmodule.exports == freeExports && module;\n\n\t// Detect free variable `global`, from Node.js or Browserified code, and use\n\t// it as `root`.\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {\n\t\troot = freeGlobal;\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar InvalidCharacterError = function(message) {\n\t\tthis.message = message;\n\t};\n\tInvalidCharacterError.prototype = new Error;\n\tInvalidCharacterError.prototype.name = 'InvalidCharacterError';\n\n\tvar error = function(message) {\n\t\t// Note: the error messages used throughout this file match those used by\n\t\t// the native `atob`/`btoa` implementation in Chromium.\n\t\tthrow new InvalidCharacterError(message);\n\t};\n\n\tvar TABLE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\t// http://whatwg.org/html/common-microsyntaxes.html#space-character\n\tvar REGEX_SPACE_CHARACTERS = /[\\t\\n\\f\\r ]/g;\n\n\t// `decode` is designed to be fully compatible with `atob` as described in the\n\t// HTML Standard. http://whatwg.org/html/webappapis.html#dom-windowbase64-atob\n\t// The optimized base64-decoding algorithm used is based on @atk’s excellent\n\t// implementation. https://gist.github.com/atk/1020396\n\tvar decode = function(input) {\n\t\tinput = String(input)\n\t\t\t.replace(REGEX_SPACE_CHARACTERS, '');\n\t\tvar length = input.length;\n\t\tif (length % 4 == 0) {\n\t\t\tinput = input.replace(/==?$/, '');\n\t\t\tlength = input.length;\n\t\t}\n\t\tif (\n\t\t\tlength % 4 == 1 ||\n\t\t\t// http://whatwg.org/C#alphanumeric-ascii-characters\n\t\t\t/[^+a-zA-Z0-9/]/.test(input)\n\t\t) {\n\t\t\terror(\n\t\t\t\t'Invalid character: the string to be decoded is not correctly encoded.'\n\t\t\t);\n\t\t}\n\t\tvar bitCounter = 0;\n\t\tvar bitStorage;\n\t\tvar buffer;\n\t\tvar output = '';\n\t\tvar position = -1;\n\t\twhile (++position < length) {\n\t\t\tbuffer = TABLE.indexOf(input.charAt(position));\n\t\t\tbitStorage = bitCounter % 4 ? bitStorage * 64 + buffer : buffer;\n\t\t\t// Unless this is the first of a group of 4 characters…\n\t\t\tif (bitCounter++ % 4) {\n\t\t\t\t// …convert the first 8 bits to a single ASCII character.\n\t\t\t\toutput += String.fromCharCode(\n\t\t\t\t\t0xFF & bitStorage >> (-2 * bitCounter & 6)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t};\n\n\t// `encode` is designed to be fully compatible with `btoa` as described in the\n\t// HTML Standard: http://whatwg.org/html/webappapis.html#dom-windowbase64-btoa\n\tvar encode = function(input) {\n\t\tinput = String(input);\n\t\tif (/[^\\0-\\xFF]/.test(input)) {\n\t\t\t// Note: no need to special-case astral symbols here, as surrogates are\n\t\t\t// matched, and the input is supposed to only contain ASCII anyway.\n\t\t\terror(\n\t\t\t\t'The string to be encoded contains characters outside of the ' +\n\t\t\t\t'Latin1 range.'\n\t\t\t);\n\t\t}\n\t\tvar padding = input.length % 3;\n\t\tvar output = '';\n\t\tvar position = -1;\n\t\tvar a;\n\t\tvar b;\n\t\tvar c;\n\t\tvar buffer;\n\t\t// Make sure any padding is handled outside of the loop.\n\t\tvar length = input.length - padding;\n\n\t\twhile (++position < length) {\n\t\t\t// Read three bytes, i.e. 24 bits.\n\t\t\ta = input.charCodeAt(position) << 16;\n\t\t\tb = input.charCodeAt(++position) << 8;\n\t\t\tc = input.charCodeAt(++position);\n\t\t\tbuffer = a + b + c;\n\t\t\t// Turn the 24 bits into four chunks of 6 bits each, and append the\n\t\t\t// matching character for each of them to the output.\n\t\t\toutput += (\n\t\t\t\tTABLE.charAt(buffer >> 18 & 0x3F) +\n\t\t\t\tTABLE.charAt(buffer >> 12 & 0x3F) +\n\t\t\t\tTABLE.charAt(buffer >> 6 & 0x3F) +\n\t\t\t\tTABLE.charAt(buffer & 0x3F)\n\t\t\t);\n\t\t}\n\n\t\tif (padding == 2) {\n\t\t\ta = input.charCodeAt(position) << 8;\n\t\t\tb = input.charCodeAt(++position);\n\t\t\tbuffer = a + b;\n\t\t\toutput += (\n\t\t\t\tTABLE.charAt(buffer >> 10) +\n\t\t\t\tTABLE.charAt((buffer >> 4) & 0x3F) +\n\t\t\t\tTABLE.charAt((buffer << 2) & 0x3F) +\n\t\t\t\t'='\n\t\t\t);\n\t\t} else if (padding == 1) {\n\t\t\tbuffer = input.charCodeAt(position);\n\t\t\toutput += (\n\t\t\t\tTABLE.charAt(buffer >> 2) +\n\t\t\t\tTABLE.charAt((buffer << 4) & 0x3F) +\n\t\t\t\t'=='\n\t\t\t);\n\t\t}\n\n\t\treturn output;\n\t};\n\n\tvar base64 = {\n\t\t'encode': encode,\n\t\t'decode': decode,\n\t\t'version': '1.0.0'\n\t};\n\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine(function() {\n\t\t\treturn base64;\n\t\t});\n\t}\telse if (freeExports && !freeExports.nodeType) {\n\t\tif (freeModule) { // in Node.js or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = base64;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (var key in base64) {\n\t\t\t\tbase64.hasOwnProperty(key) && (freeExports[key] = base64[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.base64 = base64;\n\t}\n\n}(this));\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n  lookup[i] = code[i]\n  revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n  var len = b64.length\n\n  if (len % 4 > 0) {\n    throw new Error('Invalid string. Length must be a multiple of 4')\n  }\n\n  // Trim off extra bytes after placeholder bytes are found\n  // See: https://github.com/beatgammit/base64-js/issues/42\n  var validLen = b64.indexOf('=')\n  if (validLen === -1) validLen = len\n\n  var placeHoldersLen = validLen === len\n    ? 0\n    : 4 - (validLen % 4)\n\n  return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n  var lens = getLens(b64)\n  var validLen = lens[0]\n  var placeHoldersLen = lens[1]\n  return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n  return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n  var tmp\n  var lens = getLens(b64)\n  var validLen = lens[0]\n  var placeHoldersLen = lens[1]\n\n  var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n  var curByte = 0\n\n  // if there are placeholders, only get up to the last complete 4 chars\n  var len = placeHoldersLen > 0\n    ? validLen - 4\n    : validLen\n\n  var i\n  for (i = 0; i < len; i += 4) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 18) |\n      (revLookup[b64.charCodeAt(i + 1)] << 12) |\n      (revLookup[b64.charCodeAt(i + 2)] << 6) |\n      revLookup[b64.charCodeAt(i + 3)]\n    arr[curByte++] = (tmp >> 16) & 0xFF\n    arr[curByte++] = (tmp >> 8) & 0xFF\n    arr[curByte++] = tmp & 0xFF\n  }\n\n  if (placeHoldersLen === 2) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 2) |\n      (revLookup[b64.charCodeAt(i + 1)] >> 4)\n    arr[curByte++] = tmp & 0xFF\n  }\n\n  if (placeHoldersLen === 1) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 10) |\n      (revLookup[b64.charCodeAt(i + 1)] << 4) |\n      (revLookup[b64.charCodeAt(i + 2)] >> 2)\n    arr[curByte++] = (tmp >> 8) & 0xFF\n    arr[curByte++] = tmp & 0xFF\n  }\n\n  return arr\n}\n\nfunction tripletToBase64 (num) {\n  return lookup[num >> 18 & 0x3F] +\n    lookup[num >> 12 & 0x3F] +\n    lookup[num >> 6 & 0x3F] +\n    lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n  var tmp\n  var output = []\n  for (var i = start; i < end; i += 3) {\n    tmp =\n      ((uint8[i] << 16) & 0xFF0000) +\n      ((uint8[i + 1] << 8) & 0xFF00) +\n      (uint8[i + 2] & 0xFF)\n    output.push(tripletToBase64(tmp))\n  }\n  return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n  var tmp\n  var len = uint8.length\n  var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n  var parts = []\n  var maxChunkLength = 16383 // must be multiple of 3\n\n  // go through the array every three bytes, we'll deal with trailing stuff later\n  for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n    parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n  }\n\n  // pad the end with zeros, but make sure to not forget the extra bytes\n  if (extraBytes === 1) {\n    tmp = uint8[len - 1]\n    parts.push(\n      lookup[tmp >> 2] +\n      lookup[(tmp << 4) & 0x3F] +\n      '=='\n    )\n  } else if (extraBytes === 2) {\n    tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n    parts.push(\n      lookup[tmp >> 10] +\n      lookup[(tmp >> 4) & 0x3F] +\n      lookup[(tmp << 2) & 0x3F] +\n      '='\n    )\n  }\n\n  return parts.join('')\n}\n","/*\n * JavaScript MD5\n * https://github.com/blueimp/JavaScript-MD5\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n *\n * Based on\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\n\n/* global define */\n\n/* eslint-disable strict */\n\n;(function ($) {\n  'use strict'\n\n  /**\n   * Add integers, wrapping at 2^32.\n   * This uses 16-bit operations internally to work around bugs in interpreters.\n   *\n   * @param {number} x First integer\n   * @param {number} y Second integer\n   * @returns {number} Sum\n   */\n  function safeAdd(x, y) {\n    var lsw = (x & 0xffff) + (y & 0xffff)\n    var msw = (x >> 16) + (y >> 16) + (lsw >> 16)\n    return (msw << 16) | (lsw & 0xffff)\n  }\n\n  /**\n   * Bitwise rotate a 32-bit number to the left.\n   *\n   * @param {number} num 32-bit number\n   * @param {number} cnt Rotation count\n   * @returns {number} Rotated number\n   */\n  function bitRotateLeft(num, cnt) {\n    return (num << cnt) | (num >>> (32 - cnt))\n  }\n\n  /**\n   * Basic operation the algorithm uses.\n   *\n   * @param {number} q q\n   * @param {number} a a\n   * @param {number} b b\n   * @param {number} x x\n   * @param {number} s s\n   * @param {number} t t\n   * @returns {number} Result\n   */\n  function md5cmn(q, a, b, x, s, t) {\n    return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b)\n  }\n  /**\n   * Basic operation the algorithm uses.\n   *\n   * @param {number} a a\n   * @param {number} b b\n   * @param {number} c c\n   * @param {number} d d\n   * @param {number} x x\n   * @param {number} s s\n   * @param {number} t t\n   * @returns {number} Result\n   */\n  function md5ff(a, b, c, d, x, s, t) {\n    return md5cmn((b & c) | (~b & d), a, b, x, s, t)\n  }\n  /**\n   * Basic operation the algorithm uses.\n   *\n   * @param {number} a a\n   * @param {number} b b\n   * @param {number} c c\n   * @param {number} d d\n   * @param {number} x x\n   * @param {number} s s\n   * @param {number} t t\n   * @returns {number} Result\n   */\n  function md5gg(a, b, c, d, x, s, t) {\n    return md5cmn((b & d) | (c & ~d), a, b, x, s, t)\n  }\n  /**\n   * Basic operation the algorithm uses.\n   *\n   * @param {number} a a\n   * @param {number} b b\n   * @param {number} c c\n   * @param {number} d d\n   * @param {number} x x\n   * @param {number} s s\n   * @param {number} t t\n   * @returns {number} Result\n   */\n  function md5hh(a, b, c, d, x, s, t) {\n    return md5cmn(b ^ c ^ d, a, b, x, s, t)\n  }\n  /**\n   * Basic operation the algorithm uses.\n   *\n   * @param {number} a a\n   * @param {number} b b\n   * @param {number} c c\n   * @param {number} d d\n   * @param {number} x x\n   * @param {number} s s\n   * @param {number} t t\n   * @returns {number} Result\n   */\n  function md5ii(a, b, c, d, x, s, t) {\n    return md5cmn(c ^ (b | ~d), a, b, x, s, t)\n  }\n\n  /**\n   * Calculate the MD5 of an array of little-endian words, and a bit length.\n   *\n   * @param {Array} x Array of little-endian words\n   * @param {number} len Bit length\n   * @returns {Array<number>} MD5 Array\n   */\n  function binlMD5(x, len) {\n    /* append padding */\n    x[len >> 5] |= 0x80 << len % 32\n    x[(((len + 64) >>> 9) << 4) + 14] = len\n\n    var i\n    var olda\n    var oldb\n    var oldc\n    var oldd\n    var a = 1732584193\n    var b = -271733879\n    var c = -1732584194\n    var d = 271733878\n\n    for (i = 0; i < x.length; i += 16) {\n      olda = a\n      oldb = b\n      oldc = c\n      oldd = d\n\n      a = md5ff(a, b, c, d, x[i], 7, -680876936)\n      d = md5ff(d, a, b, c, x[i + 1], 12, -389564586)\n      c = md5ff(c, d, a, b, x[i + 2], 17, 606105819)\n      b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330)\n      a = md5ff(a, b, c, d, x[i + 4], 7, -176418897)\n      d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426)\n      c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341)\n      b = md5ff(b, c, d, a, x[i + 7], 22, -45705983)\n      a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416)\n      d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417)\n      c = md5ff(c, d, a, b, x[i + 10], 17, -42063)\n      b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162)\n      a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682)\n      d = md5ff(d, a, b, c, x[i + 13], 12, -40341101)\n      c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290)\n      b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329)\n\n      a = md5gg(a, b, c, d, x[i + 1], 5, -165796510)\n      d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632)\n      c = md5gg(c, d, a, b, x[i + 11], 14, 643717713)\n      b = md5gg(b, c, d, a, x[i], 20, -373897302)\n      a = md5gg(a, b, c, d, x[i + 5], 5, -701558691)\n      d = md5gg(d, a, b, c, x[i + 10], 9, 38016083)\n      c = md5gg(c, d, a, b, x[i + 15], 14, -660478335)\n      b = md5gg(b, c, d, a, x[i + 4], 20, -405537848)\n      a = md5gg(a, b, c, d, x[i + 9], 5, 568446438)\n      d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690)\n      c = md5gg(c, d, a, b, x[i + 3], 14, -187363961)\n      b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501)\n      a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467)\n      d = md5gg(d, a, b, c, x[i + 2], 9, -51403784)\n      c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473)\n      b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734)\n\n      a = md5hh(a, b, c, d, x[i + 5], 4, -378558)\n      d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463)\n      c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562)\n      b = md5hh(b, c, d, a, x[i + 14], 23, -35309556)\n      a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060)\n      d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353)\n      c = md5hh(c, d, a, b, x[i + 7], 16, -155497632)\n      b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640)\n      a = md5hh(a, b, c, d, x[i + 13], 4, 681279174)\n      d = md5hh(d, a, b, c, x[i], 11, -358537222)\n      c = md5hh(c, d, a, b, x[i + 3], 16, -722521979)\n      b = md5hh(b, c, d, a, x[i + 6], 23, 76029189)\n      a = md5hh(a, b, c, d, x[i + 9], 4, -640364487)\n      d = md5hh(d, a, b, c, x[i + 12], 11, -421815835)\n      c = md5hh(c, d, a, b, x[i + 15], 16, 530742520)\n      b = md5hh(b, c, d, a, x[i + 2], 23, -995338651)\n\n      a = md5ii(a, b, c, d, x[i], 6, -198630844)\n      d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415)\n      c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905)\n      b = md5ii(b, c, d, a, x[i + 5], 21, -57434055)\n      a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571)\n      d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606)\n      c = md5ii(c, d, a, b, x[i + 10], 15, -1051523)\n      b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799)\n      a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359)\n      d = md5ii(d, a, b, c, x[i + 15], 10, -30611744)\n      c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380)\n      b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649)\n      a = md5ii(a, b, c, d, x[i + 4], 6, -145523070)\n      d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379)\n      c = md5ii(c, d, a, b, x[i + 2], 15, 718787259)\n      b = md5ii(b, c, d, a, x[i + 9], 21, -343485551)\n\n      a = safeAdd(a, olda)\n      b = safeAdd(b, oldb)\n      c = safeAdd(c, oldc)\n      d = safeAdd(d, oldd)\n    }\n    return [a, b, c, d]\n  }\n\n  /**\n   * Convert an array of little-endian words to a string\n   *\n   * @param {Array<number>} input MD5 Array\n   * @returns {string} MD5 string\n   */\n  function binl2rstr(input) {\n    var i\n    var output = ''\n    var length32 = input.length * 32\n    for (i = 0; i < length32; i += 8) {\n      output += String.fromCharCode((input[i >> 5] >>> i % 32) & 0xff)\n    }\n    return output\n  }\n\n  /**\n   * Convert a raw string to an array of little-endian words\n   * Characters >255 have their high-byte silently ignored.\n   *\n   * @param {string} input Raw input string\n   * @returns {Array<number>} Array of little-endian words\n   */\n  function rstr2binl(input) {\n    var i\n    var output = []\n    output[(input.length >> 2) - 1] = undefined\n    for (i = 0; i < output.length; i += 1) {\n      output[i] = 0\n    }\n    var length8 = input.length * 8\n    for (i = 0; i < length8; i += 8) {\n      output[i >> 5] |= (input.charCodeAt(i / 8) & 0xff) << i % 32\n    }\n    return output\n  }\n\n  /**\n   * Calculate the MD5 of a raw string\n   *\n   * @param {string} s Input string\n   * @returns {string} Raw MD5 string\n   */\n  function rstrMD5(s) {\n    return binl2rstr(binlMD5(rstr2binl(s), s.length * 8))\n  }\n\n  /**\n   * Calculates the HMAC-MD5 of a key and some data (raw strings)\n   *\n   * @param {string} key HMAC key\n   * @param {string} data Raw input string\n   * @returns {string} Raw MD5 string\n   */\n  function rstrHMACMD5(key, data) {\n    var i\n    var bkey = rstr2binl(key)\n    var ipad = []\n    var opad = []\n    var hash\n    ipad[15] = opad[15] = undefined\n    if (bkey.length > 16) {\n      bkey = binlMD5(bkey, key.length * 8)\n    }\n    for (i = 0; i < 16; i += 1) {\n      ipad[i] = bkey[i] ^ 0x36363636\n      opad[i] = bkey[i] ^ 0x5c5c5c5c\n    }\n    hash = binlMD5(ipad.concat(rstr2binl(data)), 512 + data.length * 8)\n    return binl2rstr(binlMD5(opad.concat(hash), 512 + 128))\n  }\n\n  /**\n   * Convert a raw string to a hex string\n   *\n   * @param {string} input Raw input string\n   * @returns {string} Hex encoded string\n   */\n  function rstr2hex(input) {\n    var hexTab = '0123456789abcdef'\n    var output = ''\n    var x\n    var i\n    for (i = 0; i < input.length; i += 1) {\n      x = input.charCodeAt(i)\n      output += hexTab.charAt((x >>> 4) & 0x0f) + hexTab.charAt(x & 0x0f)\n    }\n    return output\n  }\n\n  /**\n   * Encode a string as UTF-8\n   *\n   * @param {string} input Input string\n   * @returns {string} UTF8 string\n   */\n  function str2rstrUTF8(input) {\n    return unescape(encodeURIComponent(input))\n  }\n\n  /**\n   * Encodes input string as raw MD5 string\n   *\n   * @param {string} s Input string\n   * @returns {string} Raw MD5 string\n   */\n  function rawMD5(s) {\n    return rstrMD5(str2rstrUTF8(s))\n  }\n  /**\n   * Encodes input string as Hex encoded string\n   *\n   * @param {string} s Input string\n   * @returns {string} Hex encoded string\n   */\n  function hexMD5(s) {\n    return rstr2hex(rawMD5(s))\n  }\n  /**\n   * Calculates the raw HMAC-MD5 for the given key and data\n   *\n   * @param {string} k HMAC key\n   * @param {string} d Input string\n   * @returns {string} Raw MD5 string\n   */\n  function rawHMACMD5(k, d) {\n    return rstrHMACMD5(str2rstrUTF8(k), str2rstrUTF8(d))\n  }\n  /**\n   * Calculates the Hex encoded HMAC-MD5 for the given key and data\n   *\n   * @param {string} k HMAC key\n   * @param {string} d Input string\n   * @returns {string} Raw MD5 string\n   */\n  function hexHMACMD5(k, d) {\n    return rstr2hex(rawHMACMD5(k, d))\n  }\n\n  /**\n   * Calculates MD5 value for a given string.\n   * If a key is provided, calculates the HMAC-MD5 value.\n   * Returns a Hex encoded string unless the raw argument is given.\n   *\n   * @param {string} string Input string\n   * @param {string} [key] HMAC key\n   * @param {boolean} [raw] Raw output switch\n   * @returns {string} MD5 output\n   */\n  function md5(string, key, raw) {\n    if (!key) {\n      if (!raw) {\n        return hexMD5(string)\n      }\n      return rawMD5(string)\n    }\n    if (!raw) {\n      return hexHMACMD5(key, string)\n    }\n    return rawHMACMD5(key, string)\n  }\n\n  if (typeof define === 'function' && define.amd) {\n    define(function () {\n      return md5\n    })\n  } else if (typeof module === 'object' && module.exports) {\n    module.exports = md5\n  } else {\n    $.md5 = md5\n  }\n})(this)\n","'use strict';\n/* eslint camelcase: \"off\" */\n\nvar assert = require('assert');\n\nvar Zstream = require('pako/lib/zlib/zstream');\nvar zlib_deflate = require('pako/lib/zlib/deflate.js');\nvar zlib_inflate = require('pako/lib/zlib/inflate.js');\nvar constants = require('pako/lib/zlib/constants');\n\nfor (var key in constants) {\n  exports[key] = constants[key];\n}\n\n// zlib modes\nexports.NONE = 0;\nexports.DEFLATE = 1;\nexports.INFLATE = 2;\nexports.GZIP = 3;\nexports.GUNZIP = 4;\nexports.DEFLATERAW = 5;\nexports.INFLATERAW = 6;\nexports.UNZIP = 7;\n\nvar GZIP_HEADER_ID1 = 0x1f;\nvar GZIP_HEADER_ID2 = 0x8b;\n\n/**\n * Emulate Node's zlib C++ layer for use by the JS layer in index.js\n */\nfunction Zlib(mode) {\n  if (typeof mode !== 'number' || mode < exports.DEFLATE || mode > exports.UNZIP) {\n    throw new TypeError('Bad argument');\n  }\n\n  this.dictionary = null;\n  this.err = 0;\n  this.flush = 0;\n  this.init_done = false;\n  this.level = 0;\n  this.memLevel = 0;\n  this.mode = mode;\n  this.strategy = 0;\n  this.windowBits = 0;\n  this.write_in_progress = false;\n  this.pending_close = false;\n  this.gzip_id_bytes_read = 0;\n}\n\nZlib.prototype.close = function () {\n  if (this.write_in_progress) {\n    this.pending_close = true;\n    return;\n  }\n\n  this.pending_close = false;\n\n  assert(this.init_done, 'close before init');\n  assert(this.mode <= exports.UNZIP);\n\n  if (this.mode === exports.DEFLATE || this.mode === exports.GZIP || this.mode === exports.DEFLATERAW) {\n    zlib_deflate.deflateEnd(this.strm);\n  } else if (this.mode === exports.INFLATE || this.mode === exports.GUNZIP || this.mode === exports.INFLATERAW || this.mode === exports.UNZIP) {\n    zlib_inflate.inflateEnd(this.strm);\n  }\n\n  this.mode = exports.NONE;\n\n  this.dictionary = null;\n};\n\nZlib.prototype.write = function (flush, input, in_off, in_len, out, out_off, out_len) {\n  return this._write(true, flush, input, in_off, in_len, out, out_off, out_len);\n};\n\nZlib.prototype.writeSync = function (flush, input, in_off, in_len, out, out_off, out_len) {\n  return this._write(false, flush, input, in_off, in_len, out, out_off, out_len);\n};\n\nZlib.prototype._write = function (async, flush, input, in_off, in_len, out, out_off, out_len) {\n  assert.equal(arguments.length, 8);\n\n  assert(this.init_done, 'write before init');\n  assert(this.mode !== exports.NONE, 'already finalized');\n  assert.equal(false, this.write_in_progress, 'write already in progress');\n  assert.equal(false, this.pending_close, 'close is pending');\n\n  this.write_in_progress = true;\n\n  assert.equal(false, flush === undefined, 'must provide flush value');\n\n  this.write_in_progress = true;\n\n  if (flush !== exports.Z_NO_FLUSH && flush !== exports.Z_PARTIAL_FLUSH && flush !== exports.Z_SYNC_FLUSH && flush !== exports.Z_FULL_FLUSH && flush !== exports.Z_FINISH && flush !== exports.Z_BLOCK) {\n    throw new Error('Invalid flush value');\n  }\n\n  if (input == null) {\n    input = Buffer.alloc(0);\n    in_len = 0;\n    in_off = 0;\n  }\n\n  this.strm.avail_in = in_len;\n  this.strm.input = input;\n  this.strm.next_in = in_off;\n  this.strm.avail_out = out_len;\n  this.strm.output = out;\n  this.strm.next_out = out_off;\n  this.flush = flush;\n\n  if (!async) {\n    // sync version\n    this._process();\n\n    if (this._checkError()) {\n      return this._afterSync();\n    }\n    return;\n  }\n\n  // async version\n  var self = this;\n  process.nextTick(function () {\n    self._process();\n    self._after();\n  });\n\n  return this;\n};\n\nZlib.prototype._afterSync = function () {\n  var avail_out = this.strm.avail_out;\n  var avail_in = this.strm.avail_in;\n\n  this.write_in_progress = false;\n\n  return [avail_in, avail_out];\n};\n\nZlib.prototype._process = function () {\n  var next_expected_header_byte = null;\n\n  // If the avail_out is left at 0, then it means that it ran out\n  // of room.  If there was avail_out left over, then it means\n  // that all of the input was consumed.\n  switch (this.mode) {\n    case exports.DEFLATE:\n    case exports.GZIP:\n    case exports.DEFLATERAW:\n      this.err = zlib_deflate.deflate(this.strm, this.flush);\n      break;\n    case exports.UNZIP:\n      if (this.strm.avail_in > 0) {\n        next_expected_header_byte = this.strm.next_in;\n      }\n\n      switch (this.gzip_id_bytes_read) {\n        case 0:\n          if (next_expected_header_byte === null) {\n            break;\n          }\n\n          if (this.strm.input[next_expected_header_byte] === GZIP_HEADER_ID1) {\n            this.gzip_id_bytes_read = 1;\n            next_expected_header_byte++;\n\n            if (this.strm.avail_in === 1) {\n              // The only available byte was already read.\n              break;\n            }\n          } else {\n            this.mode = exports.INFLATE;\n            break;\n          }\n\n        // fallthrough\n        case 1:\n          if (next_expected_header_byte === null) {\n            break;\n          }\n\n          if (this.strm.input[next_expected_header_byte] === GZIP_HEADER_ID2) {\n            this.gzip_id_bytes_read = 2;\n            this.mode = exports.GUNZIP;\n          } else {\n            // There is no actual difference between INFLATE and INFLATERAW\n            // (after initialization).\n            this.mode = exports.INFLATE;\n          }\n\n          break;\n        default:\n          throw new Error('invalid number of gzip magic number bytes read');\n      }\n\n    // fallthrough\n    case exports.INFLATE:\n    case exports.GUNZIP:\n    case exports.INFLATERAW:\n      this.err = zlib_inflate.inflate(this.strm, this.flush\n\n      // If data was encoded with dictionary\n      );if (this.err === exports.Z_NEED_DICT && this.dictionary) {\n        // Load it\n        this.err = zlib_inflate.inflateSetDictionary(this.strm, this.dictionary);\n        if (this.err === exports.Z_OK) {\n          // And try to decode again\n          this.err = zlib_inflate.inflate(this.strm, this.flush);\n        } else if (this.err === exports.Z_DATA_ERROR) {\n          // Both inflateSetDictionary() and inflate() return Z_DATA_ERROR.\n          // Make it possible for After() to tell a bad dictionary from bad\n          // input.\n          this.err = exports.Z_NEED_DICT;\n        }\n      }\n      while (this.strm.avail_in > 0 && this.mode === exports.GUNZIP && this.err === exports.Z_STREAM_END && this.strm.next_in[0] !== 0x00) {\n        // Bytes remain in input buffer. Perhaps this is another compressed\n        // member in the same archive, or just trailing garbage.\n        // Trailing zero bytes are okay, though, since they are frequently\n        // used for padding.\n\n        this.reset();\n        this.err = zlib_inflate.inflate(this.strm, this.flush);\n      }\n      break;\n    default:\n      throw new Error('Unknown mode ' + this.mode);\n  }\n};\n\nZlib.prototype._checkError = function () {\n  // Acceptable error states depend on the type of zlib stream.\n  switch (this.err) {\n    case exports.Z_OK:\n    case exports.Z_BUF_ERROR:\n      if (this.strm.avail_out !== 0 && this.flush === exports.Z_FINISH) {\n        this._error('unexpected end of file');\n        return false;\n      }\n      break;\n    case exports.Z_STREAM_END:\n      // normal statuses, not fatal\n      break;\n    case exports.Z_NEED_DICT:\n      if (this.dictionary == null) {\n        this._error('Missing dictionary');\n      } else {\n        this._error('Bad dictionary');\n      }\n      return false;\n    default:\n      // something else.\n      this._error('Zlib error');\n      return false;\n  }\n\n  return true;\n};\n\nZlib.prototype._after = function () {\n  if (!this._checkError()) {\n    return;\n  }\n\n  var avail_out = this.strm.avail_out;\n  var avail_in = this.strm.avail_in;\n\n  this.write_in_progress = false;\n\n  // call the write() cb\n  this.callback(avail_in, avail_out);\n\n  if (this.pending_close) {\n    this.close();\n  }\n};\n\nZlib.prototype._error = function (message) {\n  if (this.strm.msg) {\n    message = this.strm.msg;\n  }\n  this.onerror(message, this.err\n\n  // no hope of rescue.\n  );this.write_in_progress = false;\n  if (this.pending_close) {\n    this.close();\n  }\n};\n\nZlib.prototype.init = function (windowBits, level, memLevel, strategy, dictionary) {\n  assert(arguments.length === 4 || arguments.length === 5, 'init(windowBits, level, memLevel, strategy, [dictionary])');\n\n  assert(windowBits >= 8 && windowBits <= 15, 'invalid windowBits');\n  assert(level >= -1 && level <= 9, 'invalid compression level');\n\n  assert(memLevel >= 1 && memLevel <= 9, 'invalid memlevel');\n\n  assert(strategy === exports.Z_FILTERED || strategy === exports.Z_HUFFMAN_ONLY || strategy === exports.Z_RLE || strategy === exports.Z_FIXED || strategy === exports.Z_DEFAULT_STRATEGY, 'invalid strategy');\n\n  this._init(level, windowBits, memLevel, strategy, dictionary);\n  this._setDictionary();\n};\n\nZlib.prototype.params = function () {\n  throw new Error('deflateParams Not supported');\n};\n\nZlib.prototype.reset = function () {\n  this._reset();\n  this._setDictionary();\n};\n\nZlib.prototype._init = function (level, windowBits, memLevel, strategy, dictionary) {\n  this.level = level;\n  this.windowBits = windowBits;\n  this.memLevel = memLevel;\n  this.strategy = strategy;\n\n  this.flush = exports.Z_NO_FLUSH;\n\n  this.err = exports.Z_OK;\n\n  if (this.mode === exports.GZIP || this.mode === exports.GUNZIP) {\n    this.windowBits += 16;\n  }\n\n  if (this.mode === exports.UNZIP) {\n    this.windowBits += 32;\n  }\n\n  if (this.mode === exports.DEFLATERAW || this.mode === exports.INFLATERAW) {\n    this.windowBits = -1 * this.windowBits;\n  }\n\n  this.strm = new Zstream();\n\n  switch (this.mode) {\n    case exports.DEFLATE:\n    case exports.GZIP:\n    case exports.DEFLATERAW:\n      this.err = zlib_deflate.deflateInit2(this.strm, this.level, exports.Z_DEFLATED, this.windowBits, this.memLevel, this.strategy);\n      break;\n    case exports.INFLATE:\n    case exports.GUNZIP:\n    case exports.INFLATERAW:\n    case exports.UNZIP:\n      this.err = zlib_inflate.inflateInit2(this.strm, this.windowBits);\n      break;\n    default:\n      throw new Error('Unknown mode ' + this.mode);\n  }\n\n  if (this.err !== exports.Z_OK) {\n    this._error('Init error');\n  }\n\n  this.dictionary = dictionary;\n\n  this.write_in_progress = false;\n  this.init_done = true;\n};\n\nZlib.prototype._setDictionary = function () {\n  if (this.dictionary == null) {\n    return;\n  }\n\n  this.err = exports.Z_OK;\n\n  switch (this.mode) {\n    case exports.DEFLATE:\n    case exports.DEFLATERAW:\n      this.err = zlib_deflate.deflateSetDictionary(this.strm, this.dictionary);\n      break;\n    default:\n      break;\n  }\n\n  if (this.err !== exports.Z_OK) {\n    this._error('Failed to set dictionary');\n  }\n};\n\nZlib.prototype._reset = function () {\n  this.err = exports.Z_OK;\n\n  switch (this.mode) {\n    case exports.DEFLATE:\n    case exports.DEFLATERAW:\n    case exports.GZIP:\n      this.err = zlib_deflate.deflateReset(this.strm);\n      break;\n    case exports.INFLATE:\n    case exports.INFLATERAW:\n    case exports.GUNZIP:\n      this.err = zlib_inflate.inflateReset(this.strm);\n      break;\n    default:\n      break;\n  }\n\n  if (this.err !== exports.Z_OK) {\n    this._error('Failed to reset stream');\n  }\n};\n\nexports.Zlib = Zlib;","'use strict';\n\nvar Buffer = require('buffer').Buffer;\nvar Transform = require('stream').Transform;\nvar binding = require('./binding');\nvar util = require('util');\nvar assert = require('assert').ok;\nvar kMaxLength = require('buffer').kMaxLength;\nvar kRangeErrorMessage = 'Cannot create final Buffer. It would be larger ' + 'than 0x' + kMaxLength.toString(16) + ' bytes';\n\n// zlib doesn't provide these, so kludge them in following the same\n// const naming scheme zlib uses.\nbinding.Z_MIN_WINDOWBITS = 8;\nbinding.Z_MAX_WINDOWBITS = 15;\nbinding.Z_DEFAULT_WINDOWBITS = 15;\n\n// fewer than 64 bytes per chunk is stupid.\n// technically it could work with as few as 8, but even 64 bytes\n// is absurdly low.  Usually a MB or more is best.\nbinding.Z_MIN_CHUNK = 64;\nbinding.Z_MAX_CHUNK = Infinity;\nbinding.Z_DEFAULT_CHUNK = 16 * 1024;\n\nbinding.Z_MIN_MEMLEVEL = 1;\nbinding.Z_MAX_MEMLEVEL = 9;\nbinding.Z_DEFAULT_MEMLEVEL = 8;\n\nbinding.Z_MIN_LEVEL = -1;\nbinding.Z_MAX_LEVEL = 9;\nbinding.Z_DEFAULT_LEVEL = binding.Z_DEFAULT_COMPRESSION;\n\n// expose all the zlib constants\nvar bkeys = Object.keys(binding);\nfor (var bk = 0; bk < bkeys.length; bk++) {\n  var bkey = bkeys[bk];\n  if (bkey.match(/^Z/)) {\n    Object.defineProperty(exports, bkey, {\n      enumerable: true, value: binding[bkey], writable: false\n    });\n  }\n}\n\n// translation table for return codes.\nvar codes = {\n  Z_OK: binding.Z_OK,\n  Z_STREAM_END: binding.Z_STREAM_END,\n  Z_NEED_DICT: binding.Z_NEED_DICT,\n  Z_ERRNO: binding.Z_ERRNO,\n  Z_STREAM_ERROR: binding.Z_STREAM_ERROR,\n  Z_DATA_ERROR: binding.Z_DATA_ERROR,\n  Z_MEM_ERROR: binding.Z_MEM_ERROR,\n  Z_BUF_ERROR: binding.Z_BUF_ERROR,\n  Z_VERSION_ERROR: binding.Z_VERSION_ERROR\n};\n\nvar ckeys = Object.keys(codes);\nfor (var ck = 0; ck < ckeys.length; ck++) {\n  var ckey = ckeys[ck];\n  codes[codes[ckey]] = ckey;\n}\n\nObject.defineProperty(exports, 'codes', {\n  enumerable: true, value: Object.freeze(codes), writable: false\n});\n\nexports.Deflate = Deflate;\nexports.Inflate = Inflate;\nexports.Gzip = Gzip;\nexports.Gunzip = Gunzip;\nexports.DeflateRaw = DeflateRaw;\nexports.InflateRaw = InflateRaw;\nexports.Unzip = Unzip;\n\nexports.createDeflate = function (o) {\n  return new Deflate(o);\n};\n\nexports.createInflate = function (o) {\n  return new Inflate(o);\n};\n\nexports.createDeflateRaw = function (o) {\n  return new DeflateRaw(o);\n};\n\nexports.createInflateRaw = function (o) {\n  return new InflateRaw(o);\n};\n\nexports.createGzip = function (o) {\n  return new Gzip(o);\n};\n\nexports.createGunzip = function (o) {\n  return new Gunzip(o);\n};\n\nexports.createUnzip = function (o) {\n  return new Unzip(o);\n};\n\n// Convenience methods.\n// compress/decompress a string or buffer in one step.\nexports.deflate = function (buffer, opts, callback) {\n  if (typeof opts === 'function') {\n    callback = opts;\n    opts = {};\n  }\n  return zlibBuffer(new Deflate(opts), buffer, callback);\n};\n\nexports.deflateSync = function (buffer, opts) {\n  return zlibBufferSync(new Deflate(opts), buffer);\n};\n\nexports.gzip = function (buffer, opts, callback) {\n  if (typeof opts === 'function') {\n    callback = opts;\n    opts = {};\n  }\n  return zlibBuffer(new Gzip(opts), buffer, callback);\n};\n\nexports.gzipSync = function (buffer, opts) {\n  return zlibBufferSync(new Gzip(opts), buffer);\n};\n\nexports.deflateRaw = function (buffer, opts, callback) {\n  if (typeof opts === 'function') {\n    callback = opts;\n    opts = {};\n  }\n  return zlibBuffer(new DeflateRaw(opts), buffer, callback);\n};\n\nexports.deflateRawSync = function (buffer, opts) {\n  return zlibBufferSync(new DeflateRaw(opts), buffer);\n};\n\nexports.unzip = function (buffer, opts, callback) {\n  if (typeof opts === 'function') {\n    callback = opts;\n    opts = {};\n  }\n  return zlibBuffer(new Unzip(opts), buffer, callback);\n};\n\nexports.unzipSync = function (buffer, opts) {\n  return zlibBufferSync(new Unzip(opts), buffer);\n};\n\nexports.inflate = function (buffer, opts, callback) {\n  if (typeof opts === 'function') {\n    callback = opts;\n    opts = {};\n  }\n  return zlibBuffer(new Inflate(opts), buffer, callback);\n};\n\nexports.inflateSync = function (buffer, opts) {\n  return zlibBufferSync(new Inflate(opts), buffer);\n};\n\nexports.gunzip = function (buffer, opts, callback) {\n  if (typeof opts === 'function') {\n    callback = opts;\n    opts = {};\n  }\n  return zlibBuffer(new Gunzip(opts), buffer, callback);\n};\n\nexports.gunzipSync = function (buffer, opts) {\n  return zlibBufferSync(new Gunzip(opts), buffer);\n};\n\nexports.inflateRaw = function (buffer, opts, callback) {\n  if (typeof opts === 'function') {\n    callback = opts;\n    opts = {};\n  }\n  return zlibBuffer(new InflateRaw(opts), buffer, callback);\n};\n\nexports.inflateRawSync = function (buffer, opts) {\n  return zlibBufferSync(new InflateRaw(opts), buffer);\n};\n\nfunction zlibBuffer(engine, buffer, callback) {\n  var buffers = [];\n  var nread = 0;\n\n  engine.on('error', onError);\n  engine.on('end', onEnd);\n\n  engine.end(buffer);\n  flow();\n\n  function flow() {\n    var chunk;\n    while (null !== (chunk = engine.read())) {\n      buffers.push(chunk);\n      nread += chunk.length;\n    }\n    engine.once('readable', flow);\n  }\n\n  function onError(err) {\n    engine.removeListener('end', onEnd);\n    engine.removeListener('readable', flow);\n    callback(err);\n  }\n\n  function onEnd() {\n    var buf;\n    var err = null;\n\n    if (nread >= kMaxLength) {\n      err = new RangeError(kRangeErrorMessage);\n    } else {\n      buf = Buffer.concat(buffers, nread);\n    }\n\n    buffers = [];\n    engine.close();\n    callback(err, buf);\n  }\n}\n\nfunction zlibBufferSync(engine, buffer) {\n  if (typeof buffer === 'string') buffer = Buffer.from(buffer);\n\n  if (!Buffer.isBuffer(buffer)) throw new TypeError('Not a string or buffer');\n\n  var flushFlag = engine._finishFlushFlag;\n\n  return engine._processChunk(buffer, flushFlag);\n}\n\n// generic zlib\n// minimal 2-byte header\nfunction Deflate(opts) {\n  if (!(this instanceof Deflate)) return new Deflate(opts);\n  Zlib.call(this, opts, binding.DEFLATE);\n}\n\nfunction Inflate(opts) {\n  if (!(this instanceof Inflate)) return new Inflate(opts);\n  Zlib.call(this, opts, binding.INFLATE);\n}\n\n// gzip - bigger header, same deflate compression\nfunction Gzip(opts) {\n  if (!(this instanceof Gzip)) return new Gzip(opts);\n  Zlib.call(this, opts, binding.GZIP);\n}\n\nfunction Gunzip(opts) {\n  if (!(this instanceof Gunzip)) return new Gunzip(opts);\n  Zlib.call(this, opts, binding.GUNZIP);\n}\n\n// raw - no header\nfunction DeflateRaw(opts) {\n  if (!(this instanceof DeflateRaw)) return new DeflateRaw(opts);\n  Zlib.call(this, opts, binding.DEFLATERAW);\n}\n\nfunction InflateRaw(opts) {\n  if (!(this instanceof InflateRaw)) return new InflateRaw(opts);\n  Zlib.call(this, opts, binding.INFLATERAW);\n}\n\n// auto-detect header.\nfunction Unzip(opts) {\n  if (!(this instanceof Unzip)) return new Unzip(opts);\n  Zlib.call(this, opts, binding.UNZIP);\n}\n\nfunction isValidFlushFlag(flag) {\n  return flag === binding.Z_NO_FLUSH || flag === binding.Z_PARTIAL_FLUSH || flag === binding.Z_SYNC_FLUSH || flag === binding.Z_FULL_FLUSH || flag === binding.Z_FINISH || flag === binding.Z_BLOCK;\n}\n\n// the Zlib class they all inherit from\n// This thing manages the queue of requests, and returns\n// true or false if there is anything in the queue when\n// you call the .write() method.\n\nfunction Zlib(opts, mode) {\n  var _this = this;\n\n  this._opts = opts = opts || {};\n  this._chunkSize = opts.chunkSize || exports.Z_DEFAULT_CHUNK;\n\n  Transform.call(this, opts);\n\n  if (opts.flush && !isValidFlushFlag(opts.flush)) {\n    throw new Error('Invalid flush flag: ' + opts.flush);\n  }\n  if (opts.finishFlush && !isValidFlushFlag(opts.finishFlush)) {\n    throw new Error('Invalid flush flag: ' + opts.finishFlush);\n  }\n\n  this._flushFlag = opts.flush || binding.Z_NO_FLUSH;\n  this._finishFlushFlag = typeof opts.finishFlush !== 'undefined' ? opts.finishFlush : binding.Z_FINISH;\n\n  if (opts.chunkSize) {\n    if (opts.chunkSize < exports.Z_MIN_CHUNK || opts.chunkSize > exports.Z_MAX_CHUNK) {\n      throw new Error('Invalid chunk size: ' + opts.chunkSize);\n    }\n  }\n\n  if (opts.windowBits) {\n    if (opts.windowBits < exports.Z_MIN_WINDOWBITS || opts.windowBits > exports.Z_MAX_WINDOWBITS) {\n      throw new Error('Invalid windowBits: ' + opts.windowBits);\n    }\n  }\n\n  if (opts.level) {\n    if (opts.level < exports.Z_MIN_LEVEL || opts.level > exports.Z_MAX_LEVEL) {\n      throw new Error('Invalid compression level: ' + opts.level);\n    }\n  }\n\n  if (opts.memLevel) {\n    if (opts.memLevel < exports.Z_MIN_MEMLEVEL || opts.memLevel > exports.Z_MAX_MEMLEVEL) {\n      throw new Error('Invalid memLevel: ' + opts.memLevel);\n    }\n  }\n\n  if (opts.strategy) {\n    if (opts.strategy != exports.Z_FILTERED && opts.strategy != exports.Z_HUFFMAN_ONLY && opts.strategy != exports.Z_RLE && opts.strategy != exports.Z_FIXED && opts.strategy != exports.Z_DEFAULT_STRATEGY) {\n      throw new Error('Invalid strategy: ' + opts.strategy);\n    }\n  }\n\n  if (opts.dictionary) {\n    if (!Buffer.isBuffer(opts.dictionary)) {\n      throw new Error('Invalid dictionary: it should be a Buffer instance');\n    }\n  }\n\n  this._handle = new binding.Zlib(mode);\n\n  var self = this;\n  this._hadError = false;\n  this._handle.onerror = function (message, errno) {\n    // there is no way to cleanly recover.\n    // continuing only obscures problems.\n    _close(self);\n    self._hadError = true;\n\n    var error = new Error(message);\n    error.errno = errno;\n    error.code = exports.codes[errno];\n    self.emit('error', error);\n  };\n\n  var level = exports.Z_DEFAULT_COMPRESSION;\n  if (typeof opts.level === 'number') level = opts.level;\n\n  var strategy = exports.Z_DEFAULT_STRATEGY;\n  if (typeof opts.strategy === 'number') strategy = opts.strategy;\n\n  this._handle.init(opts.windowBits || exports.Z_DEFAULT_WINDOWBITS, level, opts.memLevel || exports.Z_DEFAULT_MEMLEVEL, strategy, opts.dictionary);\n\n  this._buffer = Buffer.allocUnsafe(this._chunkSize);\n  this._offset = 0;\n  this._level = level;\n  this._strategy = strategy;\n\n  this.once('end', this.close);\n\n  Object.defineProperty(this, '_closed', {\n    get: function () {\n      return !_this._handle;\n    },\n    configurable: true,\n    enumerable: true\n  });\n}\n\nutil.inherits(Zlib, Transform);\n\nZlib.prototype.params = function (level, strategy, callback) {\n  if (level < exports.Z_MIN_LEVEL || level > exports.Z_MAX_LEVEL) {\n    throw new RangeError('Invalid compression level: ' + level);\n  }\n  if (strategy != exports.Z_FILTERED && strategy != exports.Z_HUFFMAN_ONLY && strategy != exports.Z_RLE && strategy != exports.Z_FIXED && strategy != exports.Z_DEFAULT_STRATEGY) {\n    throw new TypeError('Invalid strategy: ' + strategy);\n  }\n\n  if (this._level !== level || this._strategy !== strategy) {\n    var self = this;\n    this.flush(binding.Z_SYNC_FLUSH, function () {\n      assert(self._handle, 'zlib binding closed');\n      self._handle.params(level, strategy);\n      if (!self._hadError) {\n        self._level = level;\n        self._strategy = strategy;\n        if (callback) callback();\n      }\n    });\n  } else {\n    process.nextTick(callback);\n  }\n};\n\nZlib.prototype.reset = function () {\n  assert(this._handle, 'zlib binding closed');\n  return this._handle.reset();\n};\n\n// This is the _flush function called by the transform class,\n// internally, when the last chunk has been written.\nZlib.prototype._flush = function (callback) {\n  this._transform(Buffer.alloc(0), '', callback);\n};\n\nZlib.prototype.flush = function (kind, callback) {\n  var _this2 = this;\n\n  var ws = this._writableState;\n\n  if (typeof kind === 'function' || kind === undefined && !callback) {\n    callback = kind;\n    kind = binding.Z_FULL_FLUSH;\n  }\n\n  if (ws.ended) {\n    if (callback) process.nextTick(callback);\n  } else if (ws.ending) {\n    if (callback) this.once('end', callback);\n  } else if (ws.needDrain) {\n    if (callback) {\n      this.once('drain', function () {\n        return _this2.flush(kind, callback);\n      });\n    }\n  } else {\n    this._flushFlag = kind;\n    this.write(Buffer.alloc(0), '', callback);\n  }\n};\n\nZlib.prototype.close = function (callback) {\n  _close(this, callback);\n  process.nextTick(emitCloseNT, this);\n};\n\nfunction _close(engine, callback) {\n  if (callback) process.nextTick(callback);\n\n  // Caller may invoke .close after a zlib error (which will null _handle).\n  if (!engine._handle) return;\n\n  engine._handle.close();\n  engine._handle = null;\n}\n\nfunction emitCloseNT(self) {\n  self.emit('close');\n}\n\nZlib.prototype._transform = function (chunk, encoding, cb) {\n  var flushFlag;\n  var ws = this._writableState;\n  var ending = ws.ending || ws.ended;\n  var last = ending && (!chunk || ws.length === chunk.length);\n\n  if (chunk !== null && !Buffer.isBuffer(chunk)) return cb(new Error('invalid input'));\n\n  if (!this._handle) return cb(new Error('zlib binding closed'));\n\n  // If it's the last chunk, or a final flush, we use the Z_FINISH flush flag\n  // (or whatever flag was provided using opts.finishFlush).\n  // If it's explicitly flushing at some other time, then we use\n  // Z_FULL_FLUSH. Otherwise, use Z_NO_FLUSH for maximum compression\n  // goodness.\n  if (last) flushFlag = this._finishFlushFlag;else {\n    flushFlag = this._flushFlag;\n    // once we've flushed the last of the queue, stop flushing and\n    // go back to the normal behavior.\n    if (chunk.length >= ws.length) {\n      this._flushFlag = this._opts.flush || binding.Z_NO_FLUSH;\n    }\n  }\n\n  this._processChunk(chunk, flushFlag, cb);\n};\n\nZlib.prototype._processChunk = function (chunk, flushFlag, cb) {\n  var availInBefore = chunk && chunk.length;\n  var availOutBefore = this._chunkSize - this._offset;\n  var inOff = 0;\n\n  var self = this;\n\n  var async = typeof cb === 'function';\n\n  if (!async) {\n    var buffers = [];\n    var nread = 0;\n\n    var error;\n    this.on('error', function (er) {\n      error = er;\n    });\n\n    assert(this._handle, 'zlib binding closed');\n    do {\n      var res = this._handle.writeSync(flushFlag, chunk, // in\n      inOff, // in_off\n      availInBefore, // in_len\n      this._buffer, // out\n      this._offset, //out_off\n      availOutBefore); // out_len\n    } while (!this._hadError && callback(res[0], res[1]));\n\n    if (this._hadError) {\n      throw error;\n    }\n\n    if (nread >= kMaxLength) {\n      _close(this);\n      throw new RangeError(kRangeErrorMessage);\n    }\n\n    var buf = Buffer.concat(buffers, nread);\n    _close(this);\n\n    return buf;\n  }\n\n  assert(this._handle, 'zlib binding closed');\n  var req = this._handle.write(flushFlag, chunk, // in\n  inOff, // in_off\n  availInBefore, // in_len\n  this._buffer, // out\n  this._offset, //out_off\n  availOutBefore); // out_len\n\n  req.buffer = chunk;\n  req.callback = callback;\n\n  function callback(availInAfter, availOutAfter) {\n    // When the callback is used in an async write, the callback's\n    // context is the `req` object that was created. The req object\n    // is === this._handle, and that's why it's important to null\n    // out the values after they are done being used. `this._handle`\n    // can stay in memory longer than the callback and buffer are needed.\n    if (this) {\n      this.buffer = null;\n      this.callback = null;\n    }\n\n    if (self._hadError) return;\n\n    var have = availOutBefore - availOutAfter;\n    assert(have >= 0, 'have should not go down');\n\n    if (have > 0) {\n      var out = self._buffer.slice(self._offset, self._offset + have);\n      self._offset += have;\n      // serve some output to the consumer.\n      if (async) {\n        self.push(out);\n      } else {\n        buffers.push(out);\n        nread += out.length;\n      }\n    }\n\n    // exhausted the output buffer, or used all the input create a new one.\n    if (availOutAfter === 0 || self._offset >= self._chunkSize) {\n      availOutBefore = self._chunkSize;\n      self._offset = 0;\n      self._buffer = Buffer.allocUnsafe(self._chunkSize);\n    }\n\n    if (availOutAfter === 0) {\n      // Not actually done.  Need to reprocess.\n      // Also, update the availInBefore to the availInAfter value,\n      // so that if we have to hit it a third (fourth, etc.) time,\n      // it'll have the correct byte counts.\n      inOff += availInBefore - availInAfter;\n      availInBefore = availInAfter;\n\n      if (!async) return true;\n\n      var newReq = self._handle.write(flushFlag, chunk, inOff, availInBefore, self._buffer, self._offset, self._chunkSize);\n      newReq.callback = callback; // this same function\n      newReq.buffer = chunk;\n      return;\n    }\n\n    if (!async) return false;\n\n    // finished with the chunk.\n    cb();\n  }\n};\n\nutil.inherits(Deflate, Zlib);\nutil.inherits(Inflate, Zlib);\nutil.inherits(Gzip, Zlib);\nutil.inherits(Gunzip, Zlib);\nutil.inherits(DeflateRaw, Zlib);\nutil.inherits(InflateRaw, Zlib);\nutil.inherits(Unzip, Zlib);","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author   Feross Aboukhadijeh <https://feross.org>\n * @license  MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar customInspectSymbol =\n  (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n    ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n    : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nvar K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n *   === true    Use Uint8Array implementation (fastest)\n *   === false   Print warning and recommend using `buffer` v4.x which has an Object\n *               implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n    typeof console.error === 'function') {\n  console.error(\n    'This browser lacks typed array (Uint8Array) support which is required by ' +\n    '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n  )\n}\n\nfunction typedArraySupport () {\n  // Can typed array instances can be augmented?\n  try {\n    var arr = new Uint8Array(1)\n    var proto = { foo: function () { return 42 } }\n    Object.setPrototypeOf(proto, Uint8Array.prototype)\n    Object.setPrototypeOf(arr, proto)\n    return arr.foo() === 42\n  } catch (e) {\n    return false\n  }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n  enumerable: true,\n  get: function () {\n    if (!Buffer.isBuffer(this)) return undefined\n    return this.buffer\n  }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n  enumerable: true,\n  get: function () {\n    if (!Buffer.isBuffer(this)) return undefined\n    return this.byteOffset\n  }\n})\n\nfunction createBuffer (length) {\n  if (length > K_MAX_LENGTH) {\n    throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n  }\n  // Return an augmented `Uint8Array` instance\n  var buf = new Uint8Array(length)\n  Object.setPrototypeOf(buf, Buffer.prototype)\n  return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n  // Common case.\n  if (typeof arg === 'number') {\n    if (typeof encodingOrOffset === 'string') {\n      throw new TypeError(\n        'The \"string\" argument must be of type string. Received type number'\n      )\n    }\n    return allocUnsafe(arg)\n  }\n  return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n  if (typeof value === 'string') {\n    return fromString(value, encodingOrOffset)\n  }\n\n  if (ArrayBuffer.isView(value)) {\n    return fromArrayView(value)\n  }\n\n  if (value == null) {\n    throw new TypeError(\n      'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n      'or Array-like Object. Received type ' + (typeof value)\n    )\n  }\n\n  if (isInstance(value, ArrayBuffer) ||\n      (value && isInstance(value.buffer, ArrayBuffer))) {\n    return fromArrayBuffer(value, encodingOrOffset, length)\n  }\n\n  if (typeof SharedArrayBuffer !== 'undefined' &&\n      (isInstance(value, SharedArrayBuffer) ||\n      (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n    return fromArrayBuffer(value, encodingOrOffset, length)\n  }\n\n  if (typeof value === 'number') {\n    throw new TypeError(\n      'The \"value\" argument must not be of type number. Received type number'\n    )\n  }\n\n  var valueOf = value.valueOf && value.valueOf()\n  if (valueOf != null && valueOf !== value) {\n    return Buffer.from(valueOf, encodingOrOffset, length)\n  }\n\n  var b = fromObject(value)\n  if (b) return b\n\n  if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n      typeof value[Symbol.toPrimitive] === 'function') {\n    return Buffer.from(\n      value[Symbol.toPrimitive]('string'), encodingOrOffset, length\n    )\n  }\n\n  throw new TypeError(\n    'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n    'or Array-like Object. Received type ' + (typeof value)\n  )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n  return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n  if (typeof size !== 'number') {\n    throw new TypeError('\"size\" argument must be of type number')\n  } else if (size < 0) {\n    throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n  }\n}\n\nfunction alloc (size, fill, encoding) {\n  assertSize(size)\n  if (size <= 0) {\n    return createBuffer(size)\n  }\n  if (fill !== undefined) {\n    // Only pay attention to encoding if it's a string. This\n    // prevents accidentally sending in a number that would\n    // be interpreted as a start offset.\n    return typeof encoding === 'string'\n      ? createBuffer(size).fill(fill, encoding)\n      : createBuffer(size).fill(fill)\n  }\n  return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n  return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n  assertSize(size)\n  return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n  return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n  return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n  if (typeof encoding !== 'string' || encoding === '') {\n    encoding = 'utf8'\n  }\n\n  if (!Buffer.isEncoding(encoding)) {\n    throw new TypeError('Unknown encoding: ' + encoding)\n  }\n\n  var length = byteLength(string, encoding) | 0\n  var buf = createBuffer(length)\n\n  var actual = buf.write(string, encoding)\n\n  if (actual !== length) {\n    // Writing a hex string, for example, that contains invalid characters will\n    // cause everything after the first invalid character to be ignored. (e.g.\n    // 'abxxcd' will be treated as 'ab')\n    buf = buf.slice(0, actual)\n  }\n\n  return buf\n}\n\nfunction fromArrayLike (array) {\n  var length = array.length < 0 ? 0 : checked(array.length) | 0\n  var buf = createBuffer(length)\n  for (var i = 0; i < length; i += 1) {\n    buf[i] = array[i] & 255\n  }\n  return buf\n}\n\nfunction fromArrayView (arrayView) {\n  if (isInstance(arrayView, Uint8Array)) {\n    var copy = new Uint8Array(arrayView)\n    return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n  }\n  return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n  if (byteOffset < 0 || array.byteLength < byteOffset) {\n    throw new RangeError('\"offset\" is outside of buffer bounds')\n  }\n\n  if (array.byteLength < byteOffset + (length || 0)) {\n    throw new RangeError('\"length\" is outside of buffer bounds')\n  }\n\n  var buf\n  if (byteOffset === undefined && length === undefined) {\n    buf = new Uint8Array(array)\n  } else if (length === undefined) {\n    buf = new Uint8Array(array, byteOffset)\n  } else {\n    buf = new Uint8Array(array, byteOffset, length)\n  }\n\n  // Return an augmented `Uint8Array` instance\n  Object.setPrototypeOf(buf, Buffer.prototype)\n\n  return buf\n}\n\nfunction fromObject (obj) {\n  if (Buffer.isBuffer(obj)) {\n    var len = checked(obj.length) | 0\n    var buf = createBuffer(len)\n\n    if (buf.length === 0) {\n      return buf\n    }\n\n    obj.copy(buf, 0, 0, len)\n    return buf\n  }\n\n  if (obj.length !== undefined) {\n    if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n      return createBuffer(0)\n    }\n    return fromArrayLike(obj)\n  }\n\n  if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n    return fromArrayLike(obj.data)\n  }\n}\n\nfunction checked (length) {\n  // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n  // length is NaN (which is otherwise coerced to zero.)\n  if (length >= K_MAX_LENGTH) {\n    throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n                         'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n  }\n  return length | 0\n}\n\nfunction SlowBuffer (length) {\n  if (+length != length) { // eslint-disable-line eqeqeq\n    length = 0\n  }\n  return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n  return b != null && b._isBuffer === true &&\n    b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n  if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n  if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n  if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n    throw new TypeError(\n      'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n    )\n  }\n\n  if (a === b) return 0\n\n  var x = a.length\n  var y = b.length\n\n  for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n    if (a[i] !== b[i]) {\n      x = a[i]\n      y = b[i]\n      break\n    }\n  }\n\n  if (x < y) return -1\n  if (y < x) return 1\n  return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n  switch (String(encoding).toLowerCase()) {\n    case 'hex':\n    case 'utf8':\n    case 'utf-8':\n    case 'ascii':\n    case 'latin1':\n    case 'binary':\n    case 'base64':\n    case 'ucs2':\n    case 'ucs-2':\n    case 'utf16le':\n    case 'utf-16le':\n      return true\n    default:\n      return false\n  }\n}\n\nBuffer.concat = function concat (list, length) {\n  if (!Array.isArray(list)) {\n    throw new TypeError('\"list\" argument must be an Array of Buffers')\n  }\n\n  if (list.length === 0) {\n    return Buffer.alloc(0)\n  }\n\n  var i\n  if (length === undefined) {\n    length = 0\n    for (i = 0; i < list.length; ++i) {\n      length += list[i].length\n    }\n  }\n\n  var buffer = Buffer.allocUnsafe(length)\n  var pos = 0\n  for (i = 0; i < list.length; ++i) {\n    var buf = list[i]\n    if (isInstance(buf, Uint8Array)) {\n      if (pos + buf.length > buffer.length) {\n        Buffer.from(buf).copy(buffer, pos)\n      } else {\n        Uint8Array.prototype.set.call(\n          buffer,\n          buf,\n          pos\n        )\n      }\n    } else if (!Buffer.isBuffer(buf)) {\n      throw new TypeError('\"list\" argument must be an Array of Buffers')\n    } else {\n      buf.copy(buffer, pos)\n    }\n    pos += buf.length\n  }\n  return buffer\n}\n\nfunction byteLength (string, encoding) {\n  if (Buffer.isBuffer(string)) {\n    return string.length\n  }\n  if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n    return string.byteLength\n  }\n  if (typeof string !== 'string') {\n    throw new TypeError(\n      'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n      'Received type ' + typeof string\n    )\n  }\n\n  var len = string.length\n  var mustMatch = (arguments.length > 2 && arguments[2] === true)\n  if (!mustMatch && len === 0) return 0\n\n  // Use a for loop to avoid recursion\n  var loweredCase = false\n  for (;;) {\n    switch (encoding) {\n      case 'ascii':\n      case 'latin1':\n      case 'binary':\n        return len\n      case 'utf8':\n      case 'utf-8':\n        return utf8ToBytes(string).length\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return len * 2\n      case 'hex':\n        return len >>> 1\n      case 'base64':\n        return base64ToBytes(string).length\n      default:\n        if (loweredCase) {\n          return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n        }\n        encoding = ('' + encoding).toLowerCase()\n        loweredCase = true\n    }\n  }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n  var loweredCase = false\n\n  // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n  // property of a typed array.\n\n  // This behaves neither like String nor Uint8Array in that we set start/end\n  // to their upper/lower bounds if the value passed is out of range.\n  // undefined is handled specially as per ECMA-262 6th Edition,\n  // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n  if (start === undefined || start < 0) {\n    start = 0\n  }\n  // Return early if start > this.length. Done here to prevent potential uint32\n  // coercion fail below.\n  if (start > this.length) {\n    return ''\n  }\n\n  if (end === undefined || end > this.length) {\n    end = this.length\n  }\n\n  if (end <= 0) {\n    return ''\n  }\n\n  // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n  end >>>= 0\n  start >>>= 0\n\n  if (end <= start) {\n    return ''\n  }\n\n  if (!encoding) encoding = 'utf8'\n\n  while (true) {\n    switch (encoding) {\n      case 'hex':\n        return hexSlice(this, start, end)\n\n      case 'utf8':\n      case 'utf-8':\n        return utf8Slice(this, start, end)\n\n      case 'ascii':\n        return asciiSlice(this, start, end)\n\n      case 'latin1':\n      case 'binary':\n        return latin1Slice(this, start, end)\n\n      case 'base64':\n        return base64Slice(this, start, end)\n\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return utf16leSlice(this, start, end)\n\n      default:\n        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n        encoding = (encoding + '').toLowerCase()\n        loweredCase = true\n    }\n  }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n  var i = b[n]\n  b[n] = b[m]\n  b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n  var len = this.length\n  if (len % 2 !== 0) {\n    throw new RangeError('Buffer size must be a multiple of 16-bits')\n  }\n  for (var i = 0; i < len; i += 2) {\n    swap(this, i, i + 1)\n  }\n  return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n  var len = this.length\n  if (len % 4 !== 0) {\n    throw new RangeError('Buffer size must be a multiple of 32-bits')\n  }\n  for (var i = 0; i < len; i += 4) {\n    swap(this, i, i + 3)\n    swap(this, i + 1, i + 2)\n  }\n  return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n  var len = this.length\n  if (len % 8 !== 0) {\n    throw new RangeError('Buffer size must be a multiple of 64-bits')\n  }\n  for (var i = 0; i < len; i += 8) {\n    swap(this, i, i + 7)\n    swap(this, i + 1, i + 6)\n    swap(this, i + 2, i + 5)\n    swap(this, i + 3, i + 4)\n  }\n  return this\n}\n\nBuffer.prototype.toString = function toString () {\n  var length = this.length\n  if (length === 0) return ''\n  if (arguments.length === 0) return utf8Slice(this, 0, length)\n  return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n  if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n  if (this === b) return true\n  return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n  var str = ''\n  var max = exports.INSPECT_MAX_BYTES\n  str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n  if (this.length > max) str += ' ... '\n  return '<Buffer ' + str + '>'\n}\nif (customInspectSymbol) {\n  Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n  if (isInstance(target, Uint8Array)) {\n    target = Buffer.from(target, target.offset, target.byteLength)\n  }\n  if (!Buffer.isBuffer(target)) {\n    throw new TypeError(\n      'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n      'Received type ' + (typeof target)\n    )\n  }\n\n  if (start === undefined) {\n    start = 0\n  }\n  if (end === undefined) {\n    end = target ? target.length : 0\n  }\n  if (thisStart === undefined) {\n    thisStart = 0\n  }\n  if (thisEnd === undefined) {\n    thisEnd = this.length\n  }\n\n  if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n    throw new RangeError('out of range index')\n  }\n\n  if (thisStart >= thisEnd && start >= end) {\n    return 0\n  }\n  if (thisStart >= thisEnd) {\n    return -1\n  }\n  if (start >= end) {\n    return 1\n  }\n\n  start >>>= 0\n  end >>>= 0\n  thisStart >>>= 0\n  thisEnd >>>= 0\n\n  if (this === target) return 0\n\n  var x = thisEnd - thisStart\n  var y = end - start\n  var len = Math.min(x, y)\n\n  var thisCopy = this.slice(thisStart, thisEnd)\n  var targetCopy = target.slice(start, end)\n\n  for (var i = 0; i < len; ++i) {\n    if (thisCopy[i] !== targetCopy[i]) {\n      x = thisCopy[i]\n      y = targetCopy[i]\n      break\n    }\n  }\n\n  if (x < y) return -1\n  if (y < x) return 1\n  return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n  // Empty buffer means no match\n  if (buffer.length === 0) return -1\n\n  // Normalize byteOffset\n  if (typeof byteOffset === 'string') {\n    encoding = byteOffset\n    byteOffset = 0\n  } else if (byteOffset > 0x7fffffff) {\n    byteOffset = 0x7fffffff\n  } else if (byteOffset < -0x80000000) {\n    byteOffset = -0x80000000\n  }\n  byteOffset = +byteOffset // Coerce to Number.\n  if (numberIsNaN(byteOffset)) {\n    // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n    byteOffset = dir ? 0 : (buffer.length - 1)\n  }\n\n  // Normalize byteOffset: negative offsets start from the end of the buffer\n  if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n  if (byteOffset >= buffer.length) {\n    if (dir) return -1\n    else byteOffset = buffer.length - 1\n  } else if (byteOffset < 0) {\n    if (dir) byteOffset = 0\n    else return -1\n  }\n\n  // Normalize val\n  if (typeof val === 'string') {\n    val = Buffer.from(val, encoding)\n  }\n\n  // Finally, search either indexOf (if dir is true) or lastIndexOf\n  if (Buffer.isBuffer(val)) {\n    // Special case: looking for empty string/buffer always fails\n    if (val.length === 0) {\n      return -1\n    }\n    return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n  } else if (typeof val === 'number') {\n    val = val & 0xFF // Search for a byte value [0-255]\n    if (typeof Uint8Array.prototype.indexOf === 'function') {\n      if (dir) {\n        return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n      } else {\n        return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n      }\n    }\n    return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n  }\n\n  throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n  var indexSize = 1\n  var arrLength = arr.length\n  var valLength = val.length\n\n  if (encoding !== undefined) {\n    encoding = String(encoding).toLowerCase()\n    if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n        encoding === 'utf16le' || encoding === 'utf-16le') {\n      if (arr.length < 2 || val.length < 2) {\n        return -1\n      }\n      indexSize = 2\n      arrLength /= 2\n      valLength /= 2\n      byteOffset /= 2\n    }\n  }\n\n  function read (buf, i) {\n    if (indexSize === 1) {\n      return buf[i]\n    } else {\n      return buf.readUInt16BE(i * indexSize)\n    }\n  }\n\n  var i\n  if (dir) {\n    var foundIndex = -1\n    for (i = byteOffset; i < arrLength; i++) {\n      if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n        if (foundIndex === -1) foundIndex = i\n        if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n      } else {\n        if (foundIndex !== -1) i -= i - foundIndex\n        foundIndex = -1\n      }\n    }\n  } else {\n    if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n    for (i = byteOffset; i >= 0; i--) {\n      var found = true\n      for (var j = 0; j < valLength; j++) {\n        if (read(arr, i + j) !== read(val, j)) {\n          found = false\n          break\n        }\n      }\n      if (found) return i\n    }\n  }\n\n  return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n  return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n  return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n  return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n  offset = Number(offset) || 0\n  var remaining = buf.length - offset\n  if (!length) {\n    length = remaining\n  } else {\n    length = Number(length)\n    if (length > remaining) {\n      length = remaining\n    }\n  }\n\n  var strLen = string.length\n\n  if (length > strLen / 2) {\n    length = strLen / 2\n  }\n  for (var i = 0; i < length; ++i) {\n    var parsed = parseInt(string.substr(i * 2, 2), 16)\n    if (numberIsNaN(parsed)) return i\n    buf[offset + i] = parsed\n  }\n  return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n  return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n  return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n  return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n  return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n  // Buffer#write(string)\n  if (offset === undefined) {\n    encoding = 'utf8'\n    length = this.length\n    offset = 0\n  // Buffer#write(string, encoding)\n  } else if (length === undefined && typeof offset === 'string') {\n    encoding = offset\n    length = this.length\n    offset = 0\n  // Buffer#write(string, offset[, length][, encoding])\n  } else if (isFinite(offset)) {\n    offset = offset >>> 0\n    if (isFinite(length)) {\n      length = length >>> 0\n      if (encoding === undefined) encoding = 'utf8'\n    } else {\n      encoding = length\n      length = undefined\n    }\n  } else {\n    throw new Error(\n      'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n    )\n  }\n\n  var remaining = this.length - offset\n  if (length === undefined || length > remaining) length = remaining\n\n  if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n    throw new RangeError('Attempt to write outside buffer bounds')\n  }\n\n  if (!encoding) encoding = 'utf8'\n\n  var loweredCase = false\n  for (;;) {\n    switch (encoding) {\n      case 'hex':\n        return hexWrite(this, string, offset, length)\n\n      case 'utf8':\n      case 'utf-8':\n        return utf8Write(this, string, offset, length)\n\n      case 'ascii':\n      case 'latin1':\n      case 'binary':\n        return asciiWrite(this, string, offset, length)\n\n      case 'base64':\n        // Warning: maxLength not taken into account in base64Write\n        return base64Write(this, string, offset, length)\n\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return ucs2Write(this, string, offset, length)\n\n      default:\n        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n        encoding = ('' + encoding).toLowerCase()\n        loweredCase = true\n    }\n  }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n  return {\n    type: 'Buffer',\n    data: Array.prototype.slice.call(this._arr || this, 0)\n  }\n}\n\nfunction base64Slice (buf, start, end) {\n  if (start === 0 && end === buf.length) {\n    return base64.fromByteArray(buf)\n  } else {\n    return base64.fromByteArray(buf.slice(start, end))\n  }\n}\n\nfunction utf8Slice (buf, start, end) {\n  end = Math.min(buf.length, end)\n  var res = []\n\n  var i = start\n  while (i < end) {\n    var firstByte = buf[i]\n    var codePoint = null\n    var bytesPerSequence = (firstByte > 0xEF)\n      ? 4\n      : (firstByte > 0xDF)\n          ? 3\n          : (firstByte > 0xBF)\n              ? 2\n              : 1\n\n    if (i + bytesPerSequence <= end) {\n      var secondByte, thirdByte, fourthByte, tempCodePoint\n\n      switch (bytesPerSequence) {\n        case 1:\n          if (firstByte < 0x80) {\n            codePoint = firstByte\n          }\n          break\n        case 2:\n          secondByte = buf[i + 1]\n          if ((secondByte & 0xC0) === 0x80) {\n            tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n            if (tempCodePoint > 0x7F) {\n              codePoint = tempCodePoint\n            }\n          }\n          break\n        case 3:\n          secondByte = buf[i + 1]\n          thirdByte = buf[i + 2]\n          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n            tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n            if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n              codePoint = tempCodePoint\n            }\n          }\n          break\n        case 4:\n          secondByte = buf[i + 1]\n          thirdByte = buf[i + 2]\n          fourthByte = buf[i + 3]\n          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n            tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n            if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n              codePoint = tempCodePoint\n            }\n          }\n      }\n    }\n\n    if (codePoint === null) {\n      // we did not generate a valid codePoint so insert a\n      // replacement char (U+FFFD) and advance only 1 byte\n      codePoint = 0xFFFD\n      bytesPerSequence = 1\n    } else if (codePoint > 0xFFFF) {\n      // encode to utf16 (surrogate pair dance)\n      codePoint -= 0x10000\n      res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n      codePoint = 0xDC00 | codePoint & 0x3FF\n    }\n\n    res.push(codePoint)\n    i += bytesPerSequence\n  }\n\n  return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n  var len = codePoints.length\n  if (len <= MAX_ARGUMENTS_LENGTH) {\n    return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n  }\n\n  // Decode in chunks to avoid \"call stack size exceeded\".\n  var res = ''\n  var i = 0\n  while (i < len) {\n    res += String.fromCharCode.apply(\n      String,\n      codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n    )\n  }\n  return res\n}\n\nfunction asciiSlice (buf, start, end) {\n  var ret = ''\n  end = Math.min(buf.length, end)\n\n  for (var i = start; i < end; ++i) {\n    ret += String.fromCharCode(buf[i] & 0x7F)\n  }\n  return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n  var ret = ''\n  end = Math.min(buf.length, end)\n\n  for (var i = start; i < end; ++i) {\n    ret += String.fromCharCode(buf[i])\n  }\n  return ret\n}\n\nfunction hexSlice (buf, start, end) {\n  var len = buf.length\n\n  if (!start || start < 0) start = 0\n  if (!end || end < 0 || end > len) end = len\n\n  var out = ''\n  for (var i = start; i < end; ++i) {\n    out += hexSliceLookupTable[buf[i]]\n  }\n  return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n  var bytes = buf.slice(start, end)\n  var res = ''\n  // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n  for (var i = 0; i < bytes.length - 1; i += 2) {\n    res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n  }\n  return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n  var len = this.length\n  start = ~~start\n  end = end === undefined ? len : ~~end\n\n  if (start < 0) {\n    start += len\n    if (start < 0) start = 0\n  } else if (start > len) {\n    start = len\n  }\n\n  if (end < 0) {\n    end += len\n    if (end < 0) end = 0\n  } else if (end > len) {\n    end = len\n  }\n\n  if (end < start) end = start\n\n  var newBuf = this.subarray(start, end)\n  // Return an augmented `Uint8Array` instance\n  Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n  return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n  if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n  if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n  offset = offset >>> 0\n  byteLength = byteLength >>> 0\n  if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n  var val = this[offset]\n  var mul = 1\n  var i = 0\n  while (++i < byteLength && (mul *= 0x100)) {\n    val += this[offset + i] * mul\n  }\n\n  return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n  offset = offset >>> 0\n  byteLength = byteLength >>> 0\n  if (!noAssert) {\n    checkOffset(offset, byteLength, this.length)\n  }\n\n  var val = this[offset + --byteLength]\n  var mul = 1\n  while (byteLength > 0 && (mul *= 0x100)) {\n    val += this[offset + --byteLength] * mul\n  }\n\n  return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 1, this.length)\n  return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return ((this[offset]) |\n      (this[offset + 1] << 8) |\n      (this[offset + 2] << 16)) +\n      (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return (this[offset] * 0x1000000) +\n    ((this[offset + 1] << 16) |\n    (this[offset + 2] << 8) |\n    this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n  offset = offset >>> 0\n  byteLength = byteLength >>> 0\n  if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n  var val = this[offset]\n  var mul = 1\n  var i = 0\n  while (++i < byteLength && (mul *= 0x100)) {\n    val += this[offset + i] * mul\n  }\n  mul *= 0x80\n\n  if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n  return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n  offset = offset >>> 0\n  byteLength = byteLength >>> 0\n  if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n  var i = byteLength\n  var mul = 1\n  var val = this[offset + --i]\n  while (i > 0 && (mul *= 0x100)) {\n    val += this[offset + --i] * mul\n  }\n  mul *= 0x80\n\n  if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n  return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 1, this.length)\n  if (!(this[offset] & 0x80)) return (this[offset])\n  return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  var val = this[offset] | (this[offset + 1] << 8)\n  return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  var val = this[offset + 1] | (this[offset] << 8)\n  return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return (this[offset]) |\n    (this[offset + 1] << 8) |\n    (this[offset + 2] << 16) |\n    (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return (this[offset] << 24) |\n    (this[offset + 1] << 16) |\n    (this[offset + 2] << 8) |\n    (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 4, this.length)\n  return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 4, this.length)\n  return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 8, this.length)\n  return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 8, this.length)\n  return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n  if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n  if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n  if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  byteLength = byteLength >>> 0\n  if (!noAssert) {\n    var maxBytes = Math.pow(2, 8 * byteLength) - 1\n    checkInt(this, value, offset, byteLength, maxBytes, 0)\n  }\n\n  var mul = 1\n  var i = 0\n  this[offset] = value & 0xFF\n  while (++i < byteLength && (mul *= 0x100)) {\n    this[offset + i] = (value / mul) & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  byteLength = byteLength >>> 0\n  if (!noAssert) {\n    var maxBytes = Math.pow(2, 8 * byteLength) - 1\n    checkInt(this, value, offset, byteLength, maxBytes, 0)\n  }\n\n  var i = byteLength - 1\n  var mul = 1\n  this[offset + i] = value & 0xFF\n  while (--i >= 0 && (mul *= 0x100)) {\n    this[offset + i] = (value / mul) & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n  this[offset] = (value & 0xff)\n  return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n  this[offset] = (value & 0xff)\n  this[offset + 1] = (value >>> 8)\n  return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n  this[offset] = (value >>> 8)\n  this[offset + 1] = (value & 0xff)\n  return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n  this[offset + 3] = (value >>> 24)\n  this[offset + 2] = (value >>> 16)\n  this[offset + 1] = (value >>> 8)\n  this[offset] = (value & 0xff)\n  return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n  this[offset] = (value >>> 24)\n  this[offset + 1] = (value >>> 16)\n  this[offset + 2] = (value >>> 8)\n  this[offset + 3] = (value & 0xff)\n  return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) {\n    var limit = Math.pow(2, (8 * byteLength) - 1)\n\n    checkInt(this, value, offset, byteLength, limit - 1, -limit)\n  }\n\n  var i = 0\n  var mul = 1\n  var sub = 0\n  this[offset] = value & 0xFF\n  while (++i < byteLength && (mul *= 0x100)) {\n    if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n      sub = 1\n    }\n    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) {\n    var limit = Math.pow(2, (8 * byteLength) - 1)\n\n    checkInt(this, value, offset, byteLength, limit - 1, -limit)\n  }\n\n  var i = byteLength - 1\n  var mul = 1\n  var sub = 0\n  this[offset + i] = value & 0xFF\n  while (--i >= 0 && (mul *= 0x100)) {\n    if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n      sub = 1\n    }\n    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n  if (value < 0) value = 0xff + value + 1\n  this[offset] = (value & 0xff)\n  return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n  this[offset] = (value & 0xff)\n  this[offset + 1] = (value >>> 8)\n  return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n  this[offset] = (value >>> 8)\n  this[offset + 1] = (value & 0xff)\n  return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n  this[offset] = (value & 0xff)\n  this[offset + 1] = (value >>> 8)\n  this[offset + 2] = (value >>> 16)\n  this[offset + 3] = (value >>> 24)\n  return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n  if (value < 0) value = 0xffffffff + value + 1\n  this[offset] = (value >>> 24)\n  this[offset + 1] = (value >>> 16)\n  this[offset + 2] = (value >>> 8)\n  this[offset + 3] = (value & 0xff)\n  return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n  if (offset + ext > buf.length) throw new RangeError('Index out of range')\n  if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) {\n    checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n  }\n  ieee754.write(buf, value, offset, littleEndian, 23, 4)\n  return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n  return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n  return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) {\n    checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n  }\n  ieee754.write(buf, value, offset, littleEndian, 52, 8)\n  return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n  return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n  return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n  if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n  if (!start) start = 0\n  if (!end && end !== 0) end = this.length\n  if (targetStart >= target.length) targetStart = target.length\n  if (!targetStart) targetStart = 0\n  if (end > 0 && end < start) end = start\n\n  // Copy 0 bytes; we're done\n  if (end === start) return 0\n  if (target.length === 0 || this.length === 0) return 0\n\n  // Fatal error conditions\n  if (targetStart < 0) {\n    throw new RangeError('targetStart out of bounds')\n  }\n  if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n  if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n  // Are we oob?\n  if (end > this.length) end = this.length\n  if (target.length - targetStart < end - start) {\n    end = target.length - targetStart + start\n  }\n\n  var len = end - start\n\n  if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n    // Use built-in when available, missing from IE11\n    this.copyWithin(targetStart, start, end)\n  } else {\n    Uint8Array.prototype.set.call(\n      target,\n      this.subarray(start, end),\n      targetStart\n    )\n  }\n\n  return len\n}\n\n// Usage:\n//    buffer.fill(number[, offset[, end]])\n//    buffer.fill(buffer[, offset[, end]])\n//    buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n  // Handle string cases:\n  if (typeof val === 'string') {\n    if (typeof start === 'string') {\n      encoding = start\n      start = 0\n      end = this.length\n    } else if (typeof end === 'string') {\n      encoding = end\n      end = this.length\n    }\n    if (encoding !== undefined && typeof encoding !== 'string') {\n      throw new TypeError('encoding must be a string')\n    }\n    if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n      throw new TypeError('Unknown encoding: ' + encoding)\n    }\n    if (val.length === 1) {\n      var code = val.charCodeAt(0)\n      if ((encoding === 'utf8' && code < 128) ||\n          encoding === 'latin1') {\n        // Fast path: If `val` fits into a single byte, use that numeric value.\n        val = code\n      }\n    }\n  } else if (typeof val === 'number') {\n    val = val & 255\n  } else if (typeof val === 'boolean') {\n    val = Number(val)\n  }\n\n  // Invalid ranges are not set to a default, so can range check early.\n  if (start < 0 || this.length < start || this.length < end) {\n    throw new RangeError('Out of range index')\n  }\n\n  if (end <= start) {\n    return this\n  }\n\n  start = start >>> 0\n  end = end === undefined ? this.length : end >>> 0\n\n  if (!val) val = 0\n\n  var i\n  if (typeof val === 'number') {\n    for (i = start; i < end; ++i) {\n      this[i] = val\n    }\n  } else {\n    var bytes = Buffer.isBuffer(val)\n      ? val\n      : Buffer.from(val, encoding)\n    var len = bytes.length\n    if (len === 0) {\n      throw new TypeError('The value \"' + val +\n        '\" is invalid for argument \"value\"')\n    }\n    for (i = 0; i < end - start; ++i) {\n      this[i + start] = bytes[i % len]\n    }\n  }\n\n  return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n  // Node takes equal signs as end of the Base64 encoding\n  str = str.split('=')[0]\n  // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n  str = str.trim().replace(INVALID_BASE64_RE, '')\n  // Node converts strings with length < 2 to ''\n  if (str.length < 2) return ''\n  // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n  while (str.length % 4 !== 0) {\n    str = str + '='\n  }\n  return str\n}\n\nfunction utf8ToBytes (string, units) {\n  units = units || Infinity\n  var codePoint\n  var length = string.length\n  var leadSurrogate = null\n  var bytes = []\n\n  for (var i = 0; i < length; ++i) {\n    codePoint = string.charCodeAt(i)\n\n    // is surrogate component\n    if (codePoint > 0xD7FF && codePoint < 0xE000) {\n      // last char was a lead\n      if (!leadSurrogate) {\n        // no lead yet\n        if (codePoint > 0xDBFF) {\n          // unexpected trail\n          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n          continue\n        } else if (i + 1 === length) {\n          // unpaired lead\n          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n          continue\n        }\n\n        // valid lead\n        leadSurrogate = codePoint\n\n        continue\n      }\n\n      // 2 leads in a row\n      if (codePoint < 0xDC00) {\n        if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n        leadSurrogate = codePoint\n        continue\n      }\n\n      // valid surrogate pair\n      codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n    } else if (leadSurrogate) {\n      // valid bmp char, but last char was a lead\n      if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n    }\n\n    leadSurrogate = null\n\n    // encode utf8\n    if (codePoint < 0x80) {\n      if ((units -= 1) < 0) break\n      bytes.push(codePoint)\n    } else if (codePoint < 0x800) {\n      if ((units -= 2) < 0) break\n      bytes.push(\n        codePoint >> 0x6 | 0xC0,\n        codePoint & 0x3F | 0x80\n      )\n    } else if (codePoint < 0x10000) {\n      if ((units -= 3) < 0) break\n      bytes.push(\n        codePoint >> 0xC | 0xE0,\n        codePoint >> 0x6 & 0x3F | 0x80,\n        codePoint & 0x3F | 0x80\n      )\n    } else if (codePoint < 0x110000) {\n      if ((units -= 4) < 0) break\n      bytes.push(\n        codePoint >> 0x12 | 0xF0,\n        codePoint >> 0xC & 0x3F | 0x80,\n        codePoint >> 0x6 & 0x3F | 0x80,\n        codePoint & 0x3F | 0x80\n      )\n    } else {\n      throw new Error('Invalid code point')\n    }\n  }\n\n  return bytes\n}\n\nfunction asciiToBytes (str) {\n  var byteArray = []\n  for (var i = 0; i < str.length; ++i) {\n    // Node's code seems to be doing this and not & 0x7F..\n    byteArray.push(str.charCodeAt(i) & 0xFF)\n  }\n  return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n  var c, hi, lo\n  var byteArray = []\n  for (var i = 0; i < str.length; ++i) {\n    if ((units -= 2) < 0) break\n\n    c = str.charCodeAt(i)\n    hi = c >> 8\n    lo = c % 256\n    byteArray.push(lo)\n    byteArray.push(hi)\n  }\n\n  return byteArray\n}\n\nfunction base64ToBytes (str) {\n  return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n  for (var i = 0; i < length; ++i) {\n    if ((i + offset >= dst.length) || (i >= src.length)) break\n    dst[i + offset] = src[i]\n  }\n  return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n  return obj instanceof type ||\n    (obj != null && obj.constructor != null && obj.constructor.name != null &&\n      obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n  // For IE11 support\n  return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nvar hexSliceLookupTable = (function () {\n  var alphabet = '0123456789abcdef'\n  var table = new Array(256)\n  for (var i = 0; i < 16; ++i) {\n    var i16 = i * 16\n    for (var j = 0; j < 16; ++j) {\n      table[i16 + j] = alphabet[i] + alphabet[j]\n    }\n  }\n  return table\n})()\n","module.exports = {\n  \"100\": \"Continue\",\n  \"101\": \"Switching Protocols\",\n  \"102\": \"Processing\",\n  \"200\": \"OK\",\n  \"201\": \"Created\",\n  \"202\": \"Accepted\",\n  \"203\": \"Non-Authoritative Information\",\n  \"204\": \"No Content\",\n  \"205\": \"Reset Content\",\n  \"206\": \"Partial Content\",\n  \"207\": \"Multi-Status\",\n  \"208\": \"Already Reported\",\n  \"226\": \"IM Used\",\n  \"300\": \"Multiple Choices\",\n  \"301\": \"Moved Permanently\",\n  \"302\": \"Found\",\n  \"303\": \"See Other\",\n  \"304\": \"Not Modified\",\n  \"305\": \"Use Proxy\",\n  \"307\": \"Temporary Redirect\",\n  \"308\": \"Permanent Redirect\",\n  \"400\": \"Bad Request\",\n  \"401\": \"Unauthorized\",\n  \"402\": \"Payment Required\",\n  \"403\": \"Forbidden\",\n  \"404\": \"Not Found\",\n  \"405\": \"Method Not Allowed\",\n  \"406\": \"Not Acceptable\",\n  \"407\": \"Proxy Authentication Required\",\n  \"408\": \"Request Timeout\",\n  \"409\": \"Conflict\",\n  \"410\": \"Gone\",\n  \"411\": \"Length Required\",\n  \"412\": \"Precondition Failed\",\n  \"413\": \"Payload Too Large\",\n  \"414\": \"URI Too Long\",\n  \"415\": \"Unsupported Media Type\",\n  \"416\": \"Range Not Satisfiable\",\n  \"417\": \"Expectation Failed\",\n  \"418\": \"I'm a teapot\",\n  \"421\": \"Misdirected Request\",\n  \"422\": \"Unprocessable Entity\",\n  \"423\": \"Locked\",\n  \"424\": \"Failed Dependency\",\n  \"425\": \"Unordered Collection\",\n  \"426\": \"Upgrade Required\",\n  \"428\": \"Precondition Required\",\n  \"429\": \"Too Many Requests\",\n  \"431\": \"Request Header Fields Too Large\",\n  \"451\": \"Unavailable For Legal Reasons\",\n  \"500\": \"Internal Server Error\",\n  \"501\": \"Not Implemented\",\n  \"502\": \"Bad Gateway\",\n  \"503\": \"Service Unavailable\",\n  \"504\": \"Gateway Timeout\",\n  \"505\": \"HTTP Version Not Supported\",\n  \"506\": \"Variant Also Negotiates\",\n  \"507\": \"Insufficient Storage\",\n  \"508\": \"Loop Detected\",\n  \"509\": \"Bandwidth Limit Exceeded\",\n  \"510\": \"Not Extended\",\n  \"511\": \"Network Authentication Required\"\n}\n","'use strict';\n\nvar bind = require('function-bind');\n\nvar $apply = require('./functionApply');\nvar $call = require('./functionCall');\nvar $reflectApply = require('./reflectApply');\n\n/** @type {import('./actualApply')} */\nmodule.exports = $reflectApply || bind.call($call, $apply);\n","'use strict';\n\nvar bind = require('function-bind');\nvar $apply = require('./functionApply');\nvar actualApply = require('./actualApply');\n\n/** @type {import('./applyBind')} */\nmodule.exports = function applyBind() {\n\treturn actualApply(bind, $apply, arguments);\n};\n","'use strict';\n\n/** @type {import('./functionApply')} */\nmodule.exports = Function.prototype.apply;\n","'use strict';\n\n/** @type {import('./functionCall')} */\nmodule.exports = Function.prototype.call;\n","'use strict';\n\nvar bind = require('function-bind');\nvar $TypeError = require('es-errors/type');\n\nvar $call = require('./functionCall');\nvar $actualApply = require('./actualApply');\n\n/** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */\nmodule.exports = function callBindBasic(args) {\n\tif (args.length < 1 || typeof args[0] !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\treturn $actualApply(bind, $call, args);\n};\n","'use strict';\n\n/** @type {import('./reflectApply')} */\nmodule.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar setFunctionLength = require('set-function-length');\n\nvar $defineProperty = require('es-define-property');\n\nvar callBindBasic = require('call-bind-apply-helpers');\nvar applyBind = require('call-bind-apply-helpers/applyBind');\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = callBindBasic(arguments);\n\tvar adjustedLength = 1 + originalFunction.length - (arguments.length - 1);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\tadjustedLength > 0 ? adjustedLength : 0,\n\t\ttrue\n\t);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBindBasic = require('call-bind-apply-helpers');\n\n/** @type {(thisArg: string, searchString: string, position?: number) => number} */\nvar $indexOf = callBindBasic([GetIntrinsic('%String.prototype.indexOf%')]);\n\n/** @type {import('.')} */\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\t/* eslint no-extra-parens: 0 */\n\n\tvar intrinsic = /** @type {(this: unknown, ...args: unknown[]) => unknown} */ (GetIntrinsic(name, !!allowMissing));\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBindBasic(/** @type {const} */ ([intrinsic]));\n\t}\n\treturn intrinsic;\n};\n","module.exports = require('./lib/chai');\n","/*!\n * chai\n * Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>\n * MIT Licensed\n */\n\nvar used = [];\n\n/*!\n * Chai version\n */\n\nexports.version = '4.3.8';\n\n/*!\n * Assertion Error\n */\n\nexports.AssertionError = require('assertion-error');\n\n/*!\n * Utils for plugins (not exported)\n */\n\nvar util = require('./chai/utils');\n\n/**\n * # .use(function)\n *\n * Provides a way to extend the internals of Chai.\n *\n * @param {Function}\n * @returns {this} for chaining\n * @api public\n */\n\nexports.use = function (fn) {\n  if (!~used.indexOf(fn)) {\n    fn(exports, util);\n    used.push(fn);\n  }\n\n  return exports;\n};\n\n/*!\n * Utility Functions\n */\n\nexports.util = util;\n\n/*!\n * Configuration\n */\n\nvar config = require('./chai/config');\nexports.config = config;\n\n/*!\n * Primary `Assertion` prototype\n */\n\nvar assertion = require('./chai/assertion');\nexports.use(assertion);\n\n/*!\n * Core Assertions\n */\n\nvar core = require('./chai/core/assertions');\nexports.use(core);\n\n/*!\n * Expect interface\n */\n\nvar expect = require('./chai/interface/expect');\nexports.use(expect);\n\n/*!\n * Should interface\n */\n\nvar should = require('./chai/interface/should');\nexports.use(should);\n\n/*!\n * Assert interface\n */\n\nvar assert = require('./chai/interface/assert');\nexports.use(assert);\n","/*!\n * chai\n * http://chaijs.com\n * Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>\n * MIT Licensed\n */\n\nvar config = require('./config');\n\nmodule.exports = function (_chai, util) {\n  /*!\n   * Module dependencies.\n   */\n\n  var AssertionError = _chai.AssertionError\n    , flag = util.flag;\n\n  /*!\n   * Module export.\n   */\n\n  _chai.Assertion = Assertion;\n\n  /*!\n   * Assertion Constructor\n   *\n   * Creates object for chaining.\n   *\n   * `Assertion` objects contain metadata in the form of flags. Three flags can\n   * be assigned during instantiation by passing arguments to this constructor:\n   *\n   * - `object`: This flag contains the target of the assertion. For example, in\n   *   the assertion `expect(numKittens).to.equal(7);`, the `object` flag will\n   *   contain `numKittens` so that the `equal` assertion can reference it when\n   *   needed.\n   *\n   * - `message`: This flag contains an optional custom error message to be\n   *   prepended to the error message that's generated by the assertion when it\n   *   fails.\n   *\n   * - `ssfi`: This flag stands for \"start stack function indicator\". It\n   *   contains a function reference that serves as the starting point for\n   *   removing frames from the stack trace of the error that's created by the\n   *   assertion when it fails. The goal is to provide a cleaner stack trace to\n   *   end users by removing Chai's internal functions. Note that it only works\n   *   in environments that support `Error.captureStackTrace`, and only when\n   *   `Chai.config.includeStack` hasn't been set to `false`.\n   *\n   * - `lockSsfi`: This flag controls whether or not the given `ssfi` flag\n   *   should retain its current value, even as assertions are chained off of\n   *   this object. This is usually set to `true` when creating a new assertion\n   *   from within another assertion. It's also temporarily set to `true` before\n   *   an overwritten assertion gets called by the overwriting assertion.\n   *\n   * - `eql`: This flag contains the deepEqual function to be used by the assertion.\n   *\n   * @param {Mixed} obj target of the assertion\n   * @param {String} msg (optional) custom error message\n   * @param {Function} ssfi (optional) starting point for removing stack frames\n   * @param {Boolean} lockSsfi (optional) whether or not the ssfi flag is locked\n   * @api private\n   */\n\n  function Assertion (obj, msg, ssfi, lockSsfi) {\n    flag(this, 'ssfi', ssfi || Assertion);\n    flag(this, 'lockSsfi', lockSsfi);\n    flag(this, 'object', obj);\n    flag(this, 'message', msg);\n    flag(this, 'eql', config.deepEqual || util.eql);\n\n    return util.proxify(this);\n  }\n\n  Object.defineProperty(Assertion, 'includeStack', {\n    get: function() {\n      console.warn('Assertion.includeStack is deprecated, use chai.config.includeStack instead.');\n      return config.includeStack;\n    },\n    set: function(value) {\n      console.warn('Assertion.includeStack is deprecated, use chai.config.includeStack instead.');\n      config.includeStack = value;\n    }\n  });\n\n  Object.defineProperty(Assertion, 'showDiff', {\n    get: function() {\n      console.warn('Assertion.showDiff is deprecated, use chai.config.showDiff instead.');\n      return config.showDiff;\n    },\n    set: function(value) {\n      console.warn('Assertion.showDiff is deprecated, use chai.config.showDiff instead.');\n      config.showDiff = value;\n    }\n  });\n\n  Assertion.addProperty = function (name, fn) {\n    util.addProperty(this.prototype, name, fn);\n  };\n\n  Assertion.addMethod = function (name, fn) {\n    util.addMethod(this.prototype, name, fn);\n  };\n\n  Assertion.addChainableMethod = function (name, fn, chainingBehavior) {\n    util.addChainableMethod(this.prototype, name, fn, chainingBehavior);\n  };\n\n  Assertion.overwriteProperty = function (name, fn) {\n    util.overwriteProperty(this.prototype, name, fn);\n  };\n\n  Assertion.overwriteMethod = function (name, fn) {\n    util.overwriteMethod(this.prototype, name, fn);\n  };\n\n  Assertion.overwriteChainableMethod = function (name, fn, chainingBehavior) {\n    util.overwriteChainableMethod(this.prototype, name, fn, chainingBehavior);\n  };\n\n  /**\n   * ### .assert(expression, message, negateMessage, expected, actual, showDiff)\n   *\n   * Executes an expression and check expectations. Throws AssertionError for reporting if test doesn't pass.\n   *\n   * @name assert\n   * @param {Philosophical} expression to be tested\n   * @param {String|Function} message or function that returns message to display if expression fails\n   * @param {String|Function} negatedMessage or function that returns negatedMessage to display if negated expression fails\n   * @param {Mixed} expected value (remember to check for negation)\n   * @param {Mixed} actual (optional) will default to `this.obj`\n   * @param {Boolean} showDiff (optional) when set to `true`, assert will display a diff in addition to the message if expression fails\n   * @api private\n   */\n\n  Assertion.prototype.assert = function (expr, msg, negateMsg, expected, _actual, showDiff) {\n    var ok = util.test(this, arguments);\n    if (false !== showDiff) showDiff = true;\n    if (undefined === expected && undefined === _actual) showDiff = false;\n    if (true !== config.showDiff) showDiff = false;\n\n    if (!ok) {\n      msg = util.getMessage(this, arguments);\n      var actual = util.getActual(this, arguments);\n      var assertionErrorObjectProperties = {\n          actual: actual\n        , expected: expected\n        , showDiff: showDiff\n      };\n\n      var operator = util.getOperator(this, arguments);\n      if (operator) {\n        assertionErrorObjectProperties.operator = operator;\n      }\n\n      throw new AssertionError(\n        msg,\n        assertionErrorObjectProperties,\n        (config.includeStack) ? this.assert : flag(this, 'ssfi'));\n    }\n  };\n\n  /*!\n   * ### ._obj\n   *\n   * Quick reference to stored `actual` value for plugin developers.\n   *\n   * @api private\n   */\n\n  Object.defineProperty(Assertion.prototype, '_obj',\n    { get: function () {\n        return flag(this, 'object');\n      }\n    , set: function (val) {\n        flag(this, 'object', val);\n      }\n  });\n};\n","module.exports = {\n\n  /**\n   * ### config.includeStack\n   *\n   * User configurable property, influences whether stack trace\n   * is included in Assertion error message. Default of false\n   * suppresses stack trace in the error message.\n   *\n   *     chai.config.includeStack = true;  // enable stack on error\n   *\n   * @param {Boolean}\n   * @api public\n   */\n\n  includeStack: false,\n\n  /**\n   * ### config.showDiff\n   *\n   * User configurable property, influences whether or not\n   * the `showDiff` flag should be included in the thrown\n   * AssertionErrors. `false` will always be `false`; `true`\n   * will be true when the assertion has requested a diff\n   * be shown.\n   *\n   * @param {Boolean}\n   * @api public\n   */\n\n  showDiff: true,\n\n  /**\n   * ### config.truncateThreshold\n   *\n   * User configurable property, sets length threshold for actual and\n   * expected values in assertion errors. If this threshold is exceeded, for\n   * example for large data structures, the value is replaced with something\n   * like `[ Array(3) ]` or `{ Object (prop1, prop2) }`.\n   *\n   * Set it to zero if you want to disable truncating altogether.\n   *\n   * This is especially userful when doing assertions on arrays: having this\n   * set to a reasonable large value makes the failure messages readily\n   * inspectable.\n   *\n   *     chai.config.truncateThreshold = 0;  // disable truncating\n   *\n   * @param {Number}\n   * @api public\n   */\n\n  truncateThreshold: 40,\n\n  /**\n   * ### config.useProxy\n   *\n   * User configurable property, defines if chai will use a Proxy to throw\n   * an error when a non-existent property is read, which protects users\n   * from typos when using property-based assertions.\n   *\n   * Set it to false if you want to disable this feature.\n   *\n   *     chai.config.useProxy = false;  // disable use of Proxy\n   *\n   * This feature is automatically disabled regardless of this config value\n   * in environments that don't support proxies.\n   *\n   * @param {Boolean}\n   * @api public\n   */\n\n  useProxy: true,\n\n  /**\n   * ### config.proxyExcludedKeys\n   *\n   * User configurable property, defines which properties should be ignored\n   * instead of throwing an error if they do not exist on the assertion.\n   * This is only applied if the environment Chai is running in supports proxies and\n   * if the `useProxy` configuration setting is enabled.\n   * By default, `then` and `inspect` will not throw an error if they do not exist on the\n   * assertion object because the `.inspect` property is read by `util.inspect` (for example, when\n   * using `console.log` on the assertion object) and `.then` is necessary for promise type-checking.\n   *\n   *     // By default these keys will not throw an error if they do not exist on the assertion object\n   *     chai.config.proxyExcludedKeys = ['then', 'inspect'];\n   *\n   * @param {Array}\n   * @api public\n   */\n\n  proxyExcludedKeys: ['then', 'catch', 'inspect', 'toJSON'],\n\n  /**\n   * ### config.deepEqual\n   *\n   * User configurable property, defines which a custom function to use for deepEqual\n   * comparisons.\n   * By default, the function used is the one from the `deep-eql` package without custom comparator.\n   *\n   *     // use a custom comparator\n   *     chai.config.deepEqual = (expected, actual) => {\n   *        return chai.util.eql(expected, actual, {\n   *           comparator: (expected, actual) => {\n   *              // for non number comparison, use the default behavior\n   *              if(typeof expected !== 'number') return null;\n   *              // allow a difference of 10 between compared numbers\n   *              return typeof actual === 'number' && Math.abs(actual - expected) < 10\n   *           }\n   *        })\n   *     };\n   *\n   * @param {Function}\n   * @api public\n   */\n\n  deepEqual: null\n\n};\n","/*!\n * chai\n * http://chaijs.com\n * Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>\n * MIT Licensed\n */\n\nmodule.exports = function (chai, _) {\n  var Assertion = chai.Assertion\n    , AssertionError = chai.AssertionError\n    , flag = _.flag;\n\n  /**\n   * ### Language Chains\n   *\n   * The following are provided as chainable getters to improve the readability\n   * of your assertions.\n   *\n   * **Chains**\n   *\n   * - to\n   * - be\n   * - been\n   * - is\n   * - that\n   * - which\n   * - and\n   * - has\n   * - have\n   * - with\n   * - at\n   * - of\n   * - same\n   * - but\n   * - does\n   * - still\n   * - also\n   *\n   * @name language chains\n   * @namespace BDD\n   * @api public\n   */\n\n  [ 'to', 'be', 'been', 'is'\n  , 'and', 'has', 'have', 'with'\n  , 'that', 'which', 'at', 'of'\n  , 'same', 'but', 'does', 'still', \"also\" ].forEach(function (chain) {\n    Assertion.addProperty(chain);\n  });\n\n  /**\n   * ### .not\n   *\n   * Negates all assertions that follow in the chain.\n   *\n   *     expect(function () {}).to.not.throw();\n   *     expect({a: 1}).to.not.have.property('b');\n   *     expect([1, 2]).to.be.an('array').that.does.not.include(3);\n   *\n   * Just because you can negate any assertion with `.not` doesn't mean you\n   * should. With great power comes great responsibility. It's often best to\n   * assert that the one expected output was produced, rather than asserting\n   * that one of countless unexpected outputs wasn't produced. See individual\n   * assertions for specific guidance.\n   *\n   *     expect(2).to.equal(2); // Recommended\n   *     expect(2).to.not.equal(1); // Not recommended\n   *\n   * @name not\n   * @namespace BDD\n   * @api public\n   */\n\n  Assertion.addProperty('not', function () {\n    flag(this, 'negate', true);\n  });\n\n  /**\n   * ### .deep\n   *\n   * Causes all `.equal`, `.include`, `.members`, `.keys`, and `.property`\n   * assertions that follow in the chain to use deep equality instead of strict\n   * (`===`) equality. See the `deep-eql` project page for info on the deep\n   * equality algorithm: https://github.com/chaijs/deep-eql.\n   *\n   *     // Target object deeply (but not strictly) equals `{a: 1}`\n   *     expect({a: 1}).to.deep.equal({a: 1});\n   *     expect({a: 1}).to.not.equal({a: 1});\n   *\n   *     // Target array deeply (but not strictly) includes `{a: 1}`\n   *     expect([{a: 1}]).to.deep.include({a: 1});\n   *     expect([{a: 1}]).to.not.include({a: 1});\n   *\n   *     // Target object deeply (but not strictly) includes `x: {a: 1}`\n   *     expect({x: {a: 1}}).to.deep.include({x: {a: 1}});\n   *     expect({x: {a: 1}}).to.not.include({x: {a: 1}});\n   *\n   *     // Target array deeply (but not strictly) has member `{a: 1}`\n   *     expect([{a: 1}]).to.have.deep.members([{a: 1}]);\n   *     expect([{a: 1}]).to.not.have.members([{a: 1}]);\n   *\n   *     // Target set deeply (but not strictly) has key `{a: 1}`\n   *     expect(new Set([{a: 1}])).to.have.deep.keys([{a: 1}]);\n   *     expect(new Set([{a: 1}])).to.not.have.keys([{a: 1}]);\n   *\n   *     // Target object deeply (but not strictly) has property `x: {a: 1}`\n   *     expect({x: {a: 1}}).to.have.deep.property('x', {a: 1});\n   *     expect({x: {a: 1}}).to.not.have.property('x', {a: 1});\n   *\n   * @name deep\n   * @namespace BDD\n   * @api public\n   */\n\n  Assertion.addProperty('deep', function () {\n    flag(this, 'deep', true);\n  });\n\n  /**\n   * ### .nested\n   *\n   * Enables dot- and bracket-notation in all `.property` and `.include`\n   * assertions that follow in the chain.\n   *\n   *     expect({a: {b: ['x', 'y']}}).to.have.nested.property('a.b[1]');\n   *     expect({a: {b: ['x', 'y']}}).to.nested.include({'a.b[1]': 'y'});\n   *\n   * If `.` or `[]` are part of an actual property name, they can be escaped by\n   * adding two backslashes before them.\n   *\n   *     expect({'.a': {'[b]': 'x'}}).to.have.nested.property('\\\\.a.\\\\[b\\\\]');\n   *     expect({'.a': {'[b]': 'x'}}).to.nested.include({'\\\\.a.\\\\[b\\\\]': 'x'});\n   *\n   * `.nested` cannot be combined with `.own`.\n   *\n   * @name nested\n   * @namespace BDD\n   * @api public\n   */\n\n  Assertion.addProperty('nested', function () {\n    flag(this, 'nested', true);\n  });\n\n  /**\n   * ### .own\n   *\n   * Causes all `.property` and `.include` assertions that follow in the chain\n   * to ignore inherited properties.\n   *\n   *     Object.prototype.b = 2;\n   *\n   *     expect({a: 1}).to.have.own.property('a');\n   *     expect({a: 1}).to.have.property('b');\n   *     expect({a: 1}).to.not.have.own.property('b');\n   *\n   *     expect({a: 1}).to.own.include({a: 1});\n   *     expect({a: 1}).to.include({b: 2}).but.not.own.include({b: 2});\n   *\n   * `.own` cannot be combined with `.nested`.\n   *\n   * @name own\n   * @namespace BDD\n   * @api public\n   */\n\n  Assertion.addProperty('own', function () {\n    flag(this, 'own', true);\n  });\n\n  /**\n   * ### .ordered\n   *\n   * Causes all `.members` assertions that follow in the chain to require that\n   * members be in the same order.\n   *\n   *     expect([1, 2]).to.have.ordered.members([1, 2])\n   *       .but.not.have.ordered.members([2, 1]);\n   *\n   * When `.include` and `.ordered` are combined, the ordering begins at the\n   * start of both arrays.\n   *\n   *     expect([1, 2, 3]).to.include.ordered.members([1, 2])\n   *       .but.not.include.ordered.members([2, 3]);\n   *\n   * @name ordered\n   * @namespace BDD\n   * @api public\n   */\n\n  Assertion.addProperty('ordered', function () {\n    flag(this, 'ordered', true);\n  });\n\n  /**\n   * ### .any\n   *\n   * Causes all `.keys` assertions that follow in the chain to only require that\n   * the target have at least one of the given keys. This is the opposite of\n   * `.all`, which requires that the target have all of the given keys.\n   *\n   *     expect({a: 1, b: 2}).to.not.have.any.keys('c', 'd');\n   *\n   * See the `.keys` doc for guidance on when to use `.any` or `.all`.\n   *\n   * @name any\n   * @namespace BDD\n   * @api public\n   */\n\n  Assertion.addProperty('any', function () {\n    flag(this, 'any', true);\n    flag(this, 'all', false);\n  });\n\n  /**\n   * ### .all\n   *\n   * Causes all `.keys` assertions that follow in the chain to require that the\n   * target have all of the given keys. This is the opposite of `.any`, which\n   * only requires that the target have at least one of the given keys.\n   *\n   *     expect({a: 1, b: 2}).to.have.all.keys('a', 'b');\n   *\n   * Note that `.all` is used by default when neither `.all` nor `.any` are\n   * added earlier in the chain. However, it's often best to add `.all` anyway\n   * because it improves readability.\n   *\n   * See the `.keys` doc for guidance on when to use `.any` or `.all`.\n   *\n   * @name all\n   * @namespace BDD\n   * @api public\n   */\n\n  Assertion.addProperty('all', function () {\n    flag(this, 'all', true);\n    flag(this, 'any', false);\n  });\n\n  /**\n   * ### .a(type[, msg])\n   *\n   * Asserts that the target's type is equal to the given string `type`. Types\n   * are case insensitive. See the `type-detect` project page for info on the\n   * type detection algorithm: https://github.com/chaijs/type-detect.\n   *\n   *     expect('foo').to.be.a('string');\n   *     expect({a: 1}).to.be.an('object');\n   *     expect(null).to.be.a('null');\n   *     expect(undefined).to.be.an('undefined');\n   *     expect(new Error).to.be.an('error');\n   *     expect(Promise.resolve()).to.be.a('promise');\n   *     expect(new Float32Array).to.be.a('float32array');\n   *     expect(Symbol()).to.be.a('symbol');\n   *\n   * `.a` supports objects that have a custom type set via `Symbol.toStringTag`.\n   *\n   *     var myObj = {\n   *       [Symbol.toStringTag]: 'myCustomType'\n   *     };\n   *\n   *     expect(myObj).to.be.a('myCustomType').but.not.an('object');\n   *\n   * It's often best to use `.a` to check a target's type before making more\n   * assertions on the same target. That way, you avoid unexpected behavior from\n   * any assertion that does different things based on the target's type.\n   *\n   *     expect([1, 2, 3]).to.be.an('array').that.includes(2);\n   *     expect([]).to.be.an('array').that.is.empty;\n   *\n   * Add `.not` earlier in the chain to negate `.a`. However, it's often best to\n   * assert that the target is the expected type, rather than asserting that it\n   * isn't one of many unexpected types.\n   *\n   *     expect('foo').to.be.a('string'); // Recommended\n   *     expect('foo').to.not.be.an('array'); // Not recommended\n   *\n   * `.a` accepts an optional `msg` argument which is a custom error message to\n   * show when the assertion fails. The message can also be given as the second\n   * argument to `expect`.\n   *\n   *     expect(1).to.be.a('string', 'nooo why fail??');\n   *     expect(1, 'nooo why fail??').to.be.a('string');\n   *\n   * `.a` can also be used as a language chain to improve the readability of\n   * your assertions.\n   *\n   *     expect({b: 2}).to.have.a.property('b');\n   *\n   * The alias `.an` can be used interchangeably with `.a`.\n   *\n   * @name a\n   * @alias an\n   * @param {String} type\n   * @param {String} msg _optional_\n   * @namespace BDD\n   * @api public\n   */\n\n  function an (type, msg) {\n    if (msg) flag(this, 'message', msg);\n    type = type.toLowerCase();\n    var obj = flag(this, 'object')\n      , article = ~[ 'a', 'e', 'i', 'o', 'u' ].indexOf(type.charAt(0)) ? 'an ' : 'a ';\n\n    this.assert(\n        type === _.type(obj).toLowerCase()\n      , 'expected #{this} to be ' + article + type\n      , 'expected #{this} not to be ' + article + type\n    );\n  }\n\n  Assertion.addChainableMethod('an', an);\n  Assertion.addChainableMethod('a', an);\n\n  /**\n   * ### .include(val[, msg])\n   *\n   * When the target is a string, `.include` asserts that the given string `val`\n   * is a substring of the target.\n   *\n   *     expect('foobar').to.include('foo');\n   *\n   * When the target is an array, `.include` asserts that the given `val` is a\n   * member of the target.\n   *\n   *     expect([1, 2, 3]).to.include(2);\n   *\n   * When the target is an object, `.include` asserts that the given object\n   * `val`'s properties are a subset of the target's properties.\n   *\n   *     expect({a: 1, b: 2, c: 3}).to.include({a: 1, b: 2});\n   *\n   * When the target is a Set or WeakSet, `.include` asserts that the given `val` is a\n   * member of the target. SameValueZero equality algorithm is used.\n   *\n   *     expect(new Set([1, 2])).to.include(2);\n   *\n   * When the target is a Map, `.include` asserts that the given `val` is one of\n   * the values of the target. SameValueZero equality algorithm is used.\n   *\n   *     expect(new Map([['a', 1], ['b', 2]])).to.include(2);\n   *\n   * Because `.include` does different things based on the target's type, it's\n   * important to check the target's type before using `.include`. See the `.a`\n   * doc for info on testing a target's type.\n   *\n   *     expect([1, 2, 3]).to.be.an('array').that.includes(2);\n   *\n   * By default, strict (`===`) equality is used to compare array members and\n   * object properties. Add `.deep` earlier in the chain to use deep equality\n   * instead (WeakSet targets are not supported). See the `deep-eql` project\n   * page for info on the deep equality algorithm: https://github.com/chaijs/deep-eql.\n   *\n   *     // Target array deeply (but not strictly) includes `{a: 1}`\n   *     expect([{a: 1}]).to.deep.include({a: 1});\n   *     expect([{a: 1}]).to.not.include({a: 1});\n   *\n   *     // Target object deeply (but not strictly) includes `x: {a: 1}`\n   *     expect({x: {a: 1}}).to.deep.include({x: {a: 1}});\n   *     expect({x: {a: 1}}).to.not.include({x: {a: 1}});\n   *\n   * By default, all of the target's properties are searched when working with\n   * objects. This includes properties that are inherited and/or non-enumerable.\n   * Add `.own` earlier in the chain to exclude the target's inherited\n   * properties from the search.\n   *\n   *     Object.prototype.b = 2;\n   *\n   *     expect({a: 1}).to.own.include({a: 1});\n   *     expect({a: 1}).to.include({b: 2}).but.not.own.include({b: 2});\n   *\n   * Note that a target object is always only searched for `val`'s own\n   * enumerable properties.\n   *\n   * `.deep` and `.own` can be combined.\n   *\n   *     expect({a: {b: 2}}).to.deep.own.include({a: {b: 2}});\n   *\n   * Add `.nested` earlier in the chain to enable dot- and bracket-notation when\n   * referencing nested properties.\n   *\n   *     expect({a: {b: ['x', 'y']}}).to.nested.include({'a.b[1]': 'y'});\n   *\n   * If `.` or `[]` are part of an actual property name, they can be escaped by\n   * adding two backslashes before them.\n   *\n   *     expect({'.a': {'[b]': 2}}).to.nested.include({'\\\\.a.\\\\[b\\\\]': 2});\n   *\n   * `.deep` and `.nested` can be combined.\n   *\n   *     expect({a: {b: [{c: 3}]}}).to.deep.nested.include({'a.b[0]': {c: 3}});\n   *\n   * `.own` and `.nested` cannot be combined.\n   *\n   * Add `.not` earlier in the chain to negate `.include`.\n   *\n   *     expect('foobar').to.not.include('taco');\n   *     expect([1, 2, 3]).to.not.include(4);\n   *\n   * However, it's dangerous to negate `.include` when the target is an object.\n   * The problem is that it creates uncertain expectations by asserting that the\n   * target object doesn't have all of `val`'s key/value pairs but may or may\n   * not have some of them. It's often best to identify the exact output that's\n   * expected, and then write an assertion that only accepts that exact output.\n   *\n   * When the target object isn't even expected to have `val`'s keys, it's\n   * often best to assert exactly that.\n   *\n   *     expect({c: 3}).to.not.have.any.keys('a', 'b'); // Recommended\n   *     expect({c: 3}).to.not.include({a: 1, b: 2}); // Not recommended\n   *\n   * When the target object is expected to have `val`'s keys, it's often best to\n   * assert that each of the properties has its expected value, rather than\n   * asserting that each property doesn't have one of many unexpected values.\n   *\n   *     expect({a: 3, b: 4}).to.include({a: 3, b: 4}); // Recommended\n   *     expect({a: 3, b: 4}).to.not.include({a: 1, b: 2}); // Not recommended\n   *\n   * `.include` accepts an optional `msg` argument which is a custom error\n   * message to show when the assertion fails. The message can also be given as\n   * the second argument to `expect`.\n   *\n   *     expect([1, 2, 3]).to.include(4, 'nooo why fail??');\n   *     expect([1, 2, 3], 'nooo why fail??').to.include(4);\n   *\n   * `.include` can also be used as a language chain, causing all `.members` and\n   * `.keys` assertions that follow in the chain to require the target to be a\n   * superset of the expected set, rather than an identical set. Note that\n   * `.members` ignores duplicates in the subset when `.include` is added.\n   *\n   *     // Target object's keys are a superset of ['a', 'b'] but not identical\n   *     expect({a: 1, b: 2, c: 3}).to.include.all.keys('a', 'b');\n   *     expect({a: 1, b: 2, c: 3}).to.not.have.all.keys('a', 'b');\n   *\n   *     // Target array is a superset of [1, 2] but not identical\n   *     expect([1, 2, 3]).to.include.members([1, 2]);\n   *     expect([1, 2, 3]).to.not.have.members([1, 2]);\n   *\n   *     // Duplicates in the subset are ignored\n   *     expect([1, 2, 3]).to.include.members([1, 2, 2, 2]);\n   *\n   * Note that adding `.any` earlier in the chain causes the `.keys` assertion\n   * to ignore `.include`.\n   *\n   *     // Both assertions are identical\n   *     expect({a: 1}).to.include.any.keys('a', 'b');\n   *     expect({a: 1}).to.have.any.keys('a', 'b');\n   *\n   * The aliases `.includes`, `.contain`, and `.contains` can be used\n   * interchangeably with `.include`.\n   *\n   * @name include\n   * @alias contain\n   * @alias includes\n   * @alias contains\n   * @param {Mixed} val\n   * @param {String} msg _optional_\n   * @namespace BDD\n   * @api public\n   */\n\n  function SameValueZero(a, b) {\n    return (_.isNaN(a) && _.isNaN(b)) || a === b;\n  }\n\n  function includeChainingBehavior () {\n    flag(this, 'contains', true);\n  }\n\n  function include (val, msg) {\n    if (msg) flag(this, 'message', msg);\n\n    var obj = flag(this, 'object')\n      , objType = _.type(obj).toLowerCase()\n      , flagMsg = flag(this, 'message')\n      , negate = flag(this, 'negate')\n      , ssfi = flag(this, 'ssfi')\n      , isDeep = flag(this, 'deep')\n      , descriptor = isDeep ? 'deep ' : ''\n      , isEql = isDeep ? flag(this, 'eql') : SameValueZero;\n\n    flagMsg = flagMsg ? flagMsg + ': ' : '';\n\n    var included = false;\n\n    switch (objType) {\n      case 'string':\n        included = obj.indexOf(val) !== -1;\n        break;\n\n      case 'weakset':\n        if (isDeep) {\n          throw new AssertionError(\n            flagMsg + 'unable to use .deep.include with WeakSet',\n            undefined,\n            ssfi\n          );\n        }\n\n        included = obj.has(val);\n        break;\n\n      case 'map':\n        obj.forEach(function (item) {\n          included = included || isEql(item, val);\n        });\n        break;\n\n      case 'set':\n        if (isDeep) {\n          obj.forEach(function (item) {\n            included = included || isEql(item, val);\n          });\n        } else {\n          included = obj.has(val);\n        }\n        break;\n\n      case 'array':\n        if (isDeep) {\n          included = obj.some(function (item) {\n            return isEql(item, val);\n          })\n        } else {\n          included = obj.indexOf(val) !== -1;\n        }\n        break;\n\n      default:\n        // This block is for asserting a subset of properties in an object.\n        // `_.expectTypes` isn't used here because `.include` should work with\n        // objects with a custom `@@toStringTag`.\n        if (val !== Object(val)) {\n          throw new AssertionError(\n            flagMsg + 'the given combination of arguments ('\n            + objType + ' and '\n            + _.type(val).toLowerCase() + ')'\n            + ' is invalid for this assertion. '\n            + 'You can use an array, a map, an object, a set, a string, '\n            + 'or a weakset instead of a '\n            + _.type(val).toLowerCase(),\n            undefined,\n            ssfi\n          );\n        }\n\n        var props = Object.keys(val)\n          , firstErr = null\n          , numErrs = 0;\n\n        props.forEach(function (prop) {\n          var propAssertion = new Assertion(obj);\n          _.transferFlags(this, propAssertion, true);\n          flag(propAssertion, 'lockSsfi', true);\n\n          if (!negate || props.length === 1) {\n            propAssertion.property(prop, val[prop]);\n            return;\n          }\n\n          try {\n            propAssertion.property(prop, val[prop]);\n          } catch (err) {\n            if (!_.checkError.compatibleConstructor(err, AssertionError)) {\n              throw err;\n            }\n            if (firstErr === null) firstErr = err;\n            numErrs++;\n          }\n        }, this);\n\n        // When validating .not.include with multiple properties, we only want\n        // to throw an assertion error if all of the properties are included,\n        // in which case we throw the first property assertion error that we\n        // encountered.\n        if (negate && props.length > 1 && numErrs === props.length) {\n          throw firstErr;\n        }\n        return;\n    }\n\n    // Assert inclusion in collection or substring in a string.\n    this.assert(\n      included\n      , 'expected #{this} to ' + descriptor + 'include ' + _.inspect(val)\n      , 'expected #{this} to not ' + descriptor + 'include ' + _.inspect(val));\n  }\n\n  Assertion.addChainableMethod('include', include, includeChainingBehavior);\n  Assertion.addChainableMethod('contain', include, includeChainingBehavior);\n  Assertion.addChainableMethod('contains', include, includeChainingBehavior);\n  Assertion.addChainableMethod('includes', include, includeChainingBehavior);\n\n  /**\n   * ### .ok\n   *\n   * Asserts that the target is a truthy value (considered `true` in boolean context).\n   * However, it's often best to assert that the target is strictly (`===`) or\n   * deeply equal to its expected value.\n   *\n   *     expect(1).to.equal(1); // Recommended\n   *     expect(1).to.be.ok; // Not recommended\n   *\n   *     expect(true).to.be.true; // Recommended\n   *     expect(true).to.be.ok; // Not recommended\n   *\n   * Add `.not` earlier in the chain to negate `.ok`.\n   *\n   *     expect(0).to.equal(0); // Recommended\n   *     expect(0).to.not.be.ok; // Not recommended\n   *\n   *     expect(false).to.be.false; // Recommended\n   *     expect(false).to.not.be.ok; // Not recommended\n   *\n   *     expect(null).to.be.null; // Recommended\n   *     expect(null).to.not.be.ok; // Not recommended\n   *\n   *     expect(undefined).to.be.undefined; // Recommended\n   *     expect(undefined).to.not.be.ok; // Not recommended\n   *\n   * A custom error message can be given as the second argument to `expect`.\n   *\n   *     expect(false, 'nooo why fail??').to.be.ok;\n   *\n   * @name ok\n   * @namespace BDD\n   * @api public\n   */\n\n  Assertion.addProperty('ok', function () {\n    this.assert(\n        flag(this, 'object')\n      , 'expected #{this} to be truthy'\n      , 'expected #{this} to be falsy');\n  });\n\n  /**\n   * ### .true\n   *\n   * Asserts that the target is strictly (`===`) equal to `true`.\n   *\n   *     expect(true).to.be.true;\n   *\n   * Add `.not` earlier in the chain to negate `.true`. However, it's often best\n   * to assert that the target is equal to its expected value, rather than not\n   * equal to `true`.\n   *\n   *     expect(false).to.be.false; // Recommended\n   *     expect(false).to.not.be.true; // Not recommended\n   *\n   *     expect(1).to.equal(1); // Recommended\n   *     expect(1).to.not.be.true; // Not recommended\n   *\n   * A custom error message can be given as the second argument to `expect`.\n   *\n   *     expect(false, 'nooo why fail??').to.be.true;\n   *\n   * @name true\n   * @namespace BDD\n   * @api public\n   */\n\n  Assertion.addProperty('true', function () {\n    this.assert(\n        true === flag(this, 'object')\n      , 'expected #{this} to be true'\n      , 'expected #{this} to be false'\n      , flag(this, 'negate') ? false : true\n    );\n  });\n\n  /**\n   * ### .false\n   *\n   * Asserts that the target is strictly (`===`) equal to `false`.\n   *\n   *     expect(false).to.be.false;\n   *\n   * Add `.not` earlier in the chain to negate `.false`. However, it's often\n   * best to assert that the target is equal to its expected value, rather than\n   * not equal to `false`.\n   *\n   *     expect(true).to.be.true; // Recommended\n   *     expect(true).to.not.be.false; // Not recommended\n   *\n   *     expect(1).to.equal(1); // Recommended\n   *     expect(1).to.not.be.false; // Not recommended\n   *\n   * A custom error message can be given as the second argument to `expect`.\n   *\n   *     expect(true, 'nooo why fail??').to.be.false;\n   *\n   * @name false\n   * @namespace BDD\n   * @api public\n   */\n\n  Assertion.addProperty('false', function () {\n    this.assert(\n        false === flag(this, 'object')\n      , 'expected #{this} to be false'\n      , 'expected #{this} to be true'\n      , flag(this, 'negate') ? true : false\n    );\n  });\n\n  /**\n   * ### .null\n   *\n   * Asserts that the target is strictly (`===`) equal to `null`.\n   *\n   *     expect(null).to.be.null;\n   *\n   * Add `.not` earlier in the chain to negate `.null`. However, it's often best\n   * to assert that the target is equal to its expected value, rather than not\n   * equal to `null`.\n   *\n   *     expect(1).to.equal(1); // Recommended\n   *     expect(1).to.not.be.null; // Not recommended\n   *\n   * A custom error message can be given as the second argument to `expect`.\n   *\n   *     expect(42, 'nooo why fail??').to.be.null;\n   *\n   * @name null\n   * @namespace BDD\n   * @api public\n   */\n\n  Assertion.addProperty('null', function () {\n    this.assert(\n        null === flag(this, 'object')\n      , 'expected #{this} to be null'\n      , 'expected #{this} not to be null'\n    );\n  });\n\n  /**\n   * ### .undefined\n   *\n   * Asserts that the target is strictly (`===`) equal to `undefined`.\n   *\n   *     expect(undefined).to.be.undefined;\n   *\n   * Add `.not` earlier in the chain to negate `.undefined`. However, it's often\n   * best to assert that the target is equal to its expected value, rather than\n   * not equal to `undefined`.\n   *\n   *     expect(1).to.equal(1); // Recommended\n   *     expect(1).to.not.be.undefined; // Not recommended\n   *\n   * A custom error message can be given as the second argument to `expect`.\n   *\n   *     expect(42, 'nooo why fail??').to.be.undefined;\n   *\n   * @name undefined\n   * @namespace BDD\n   * @api public\n   */\n\n  Assertion.addProperty('undefined', function () {\n    this.assert(\n        undefined === flag(this, 'object')\n      , 'expected #{this} to be undefined'\n      , 'expected #{this} not to be undefined'\n    );\n  });\n\n  /**\n   * ### .NaN\n   *\n   * Asserts that the target is exactly `NaN`.\n   *\n   *     expect(NaN).to.be.NaN;\n   *\n   * Add `.not` earlier in the chain to negate `.NaN`. However, it's often best\n   * to assert that the target is equal to its expected value, rather than not\n   * equal to `NaN`.\n   *\n   *     expect('foo').to.equal('foo'); // Recommended\n   *     expect('foo').to.not.be.NaN; // Not recommended\n   *\n   * A custom error message can be given as the second argument to `expect`.\n   *\n   *     expect(42, 'nooo why fail??').to.be.NaN;\n   *\n   * @name NaN\n   * @namespace BDD\n   * @api public\n   */\n\n  Assertion.addProperty('NaN', function () {\n    this.assert(\n        _.isNaN(flag(this, 'object'))\n        , 'expected #{this} to be NaN'\n        , 'expected #{this} not to be NaN'\n    );\n  });\n\n  /**\n   * ### .exist\n   *\n   * Asserts that the target is not strictly (`===`) equal to either `null` or\n   * `undefined`. However, it's often best to assert that the target is equal to\n   * its expected value.\n   *\n   *     expect(1).to.equal(1); // Recommended\n   *     expect(1).to.exist; // Not recommended\n   *\n   *     expect(0).to.equal(0); // Recommended\n   *     expect(0).to.exist; // Not recommended\n   *\n   * Add `.not` earlier in the chain to negate `.exist`.\n   *\n   *     expect(null).to.be.null; // Recommended\n   *     expect(null).to.not.exist; // Not recommended\n   *\n   *     expect(undefined).to.be.undefined; // Recommended\n   *     expect(undefined).to.not.exist; // Not recommended\n   *\n   * A custom error message can be given as the second argument to `expect`.\n   *\n   *     expect(null, 'nooo why fail??').to.exist;\n   *\n   * The alias `.exists` can be used interchangeably with `.exist`.\n   *\n   * @name exist\n   * @alias exists\n   * @namespace BDD\n   * @api public\n   */\n\n  function assertExist () {\n    var val = flag(this, 'object');\n    this.assert(\n        val !== null && val !== undefined\n      , 'expected #{this} to exist'\n      , 'expected #{this} to not exist'\n    );\n  }\n\n  Assertion.addProperty('exist', assertExist);\n  Assertion.addProperty('exists', assertExist);\n\n  /**\n   * ### .empty\n   *\n   * When the target is a string or array, `.empty` asserts that the target's\n   * `length` property is strictly (`===`) equal to `0`.\n   *\n   *     expect([]).to.be.empty;\n   *     expect('').to.be.empty;\n   *\n   * When the target is a map or set, `.empty` asserts that the target's `size`\n   * property is strictly equal to `0`.\n   *\n   *     expect(new Set()).to.be.empty;\n   *     expect(new Map()).to.be.empty;\n   *\n   * When the target is a non-function object, `.empty` asserts that the target\n   * doesn't have any own enumerable properties. Properties with Symbol-based\n   * keys are excluded from the count.\n   *\n   *     expect({}).to.be.empty;\n   *\n   * Because `.empty` does different things based on the target's type, it's\n   * important to check the target's type before using `.empty`. See the `.a`\n   * doc for info on testing a target's type.\n   *\n   *     expect([]).to.be.an('array').that.is.empty;\n   *\n   * Add `.not` earlier in the chain to negate `.empty`. However, it's often\n   * best to assert that the target contains its expected number of values,\n   * rather than asserting that it's not empty.\n   *\n   *     expect([1, 2, 3]).to.have.lengthOf(3); // Recommended\n   *     expect([1, 2, 3]).to.not.be.empty; // Not recommended\n   *\n   *     expect(new Set([1, 2, 3])).to.have.property('size', 3); // Recommended\n   *     expect(new Set([1, 2, 3])).to.not.be.empty; // Not recommended\n   *\n   *     expect(Object.keys({a: 1})).to.have.lengthOf(1); // Recommended\n   *     expect({a: 1}).to.not.be.empty; // Not recommended\n   *\n   * A custom error message can be given as the second argument to `expect`.\n   *\n   *     expect([1, 2, 3], 'nooo why fail??').to.be.empty;\n   *\n   * @name empty\n   * @namespace BDD\n   * @api public\n   */\n\n  Assertion.addProperty('empty', function () {\n    var val = flag(this, 'object')\n      , ssfi = flag(this, 'ssfi')\n      , flagMsg = flag(this, 'message')\n      , itemsCount;\n\n    flagMsg = flagMsg ? flagMsg + ': ' : '';\n\n    switch (_.type(val).toLowerCase()) {\n      case 'array':\n      case 'string':\n        itemsCount = val.length;\n        break;\n      case 'map':\n      case 'set':\n        itemsCount = val.size;\n        break;\n      case 'weakmap':\n      case 'weakset':\n        throw new AssertionError(\n          flagMsg + '.empty was passed a weak collection',\n          undefined,\n          ssfi\n        );\n      case 'function':\n        var msg = flagMsg + '.empty was passed a function ' + _.getName(val);\n        throw new AssertionError(msg.trim(), undefined, ssfi);\n      default:\n        if (val !== Object(val)) {\n          throw new AssertionError(\n            flagMsg + '.empty was passed non-string primitive ' + _.inspect(val),\n            undefined,\n            ssfi\n          );\n        }\n        itemsCount = Object.keys(val).length;\n    }\n\n    this.assert(\n        0 === itemsCount\n      , 'expected #{this} to be empty'\n      , 'expected #{this} not to be empty'\n    );\n  });\n\n  /**\n   * ### .arguments\n   *\n   * Asserts that the target is an `arguments` object.\n   *\n   *     function test () {\n   *       expect(arguments).to.be.arguments;\n   *     }\n   *\n   *     test();\n   *\n   * Add `.not` earlier in the chain to negate `.arguments`. However, it's often\n   * best to assert which type the target is expected to be, rather than\n   * asserting that it’s not an `arguments` object.\n   *\n   *     expect('foo').to.be.a('string'); // Recommended\n   *     expect('foo').to.not.be.arguments; // Not recommended\n   *\n   * A custom error message can be given as the second argument to `expect`.\n   *\n   *     expect({}, 'nooo why fail??').to.be.arguments;\n   *\n   * The alias `.Arguments` can be used interchangeably with `.arguments`.\n   *\n   * @name arguments\n   * @alias Arguments\n   * @namespace BDD\n   * @api public\n   */\n\n  function checkArguments () {\n    var obj = flag(this, 'object')\n      , type = _.type(obj);\n    this.assert(\n        'Arguments' === type\n      , 'expected #{this} to be arguments but got ' + type\n      , 'expected #{this} to not be arguments'\n    );\n  }\n\n  Assertion.addProperty('arguments', checkArguments);\n  Assertion.addProperty('Arguments', checkArguments);\n\n  /**\n   * ### .equal(val[, msg])\n   *\n   * Asserts that the target is strictly (`===`) equal to the given `val`.\n   *\n   *     expect(1).to.equal(1);\n   *     expect('foo').to.equal('foo');\n   *\n   * Add `.deep` earlier in the chain to use deep equality instead. See the\n   * `deep-eql` project page for info on the deep equality algorithm:\n   * https://github.com/chaijs/deep-eql.\n   *\n   *     // Target object deeply (but not strictly) equals `{a: 1}`\n   *     expect({a: 1}).to.deep.equal({a: 1});\n   *     expect({a: 1}).to.not.equal({a: 1});\n   *\n   *     // Target array deeply (but not strictly) equals `[1, 2]`\n   *     expect([1, 2]).to.deep.equal([1, 2]);\n   *     expect([1, 2]).to.not.equal([1, 2]);\n   *\n   * Add `.not` earlier in the chain to negate `.equal`. However, it's often\n   * best to assert that the target is equal to its expected value, rather than\n   * not equal to one of countless unexpected values.\n   *\n   *     expect(1).to.equal(1); // Recommended\n   *     expect(1).to.not.equal(2); // Not recommended\n   *\n   * `.equal` accepts an optional `msg` argument which is a custom error message\n   * to show when the assertion fails. The message can also be given as the\n   * second argument to `expect`.\n   *\n   *     expect(1).to.equal(2, 'nooo why fail??');\n   *     expect(1, 'nooo why fail??').to.equal(2);\n   *\n   * The aliases `.equals` and `eq` can be used interchangeably with `.equal`.\n   *\n   * @name equal\n   * @alias equals\n   * @alias eq\n   * @param {Mixed} val\n   * @param {String} msg _optional_\n   * @namespace BDD\n   * @api public\n   */\n\n  function assertEqual (val, msg) {\n    if (msg) flag(this, 'message', msg);\n    var obj = flag(this, 'object');\n    if (flag(this, 'deep')) {\n      var prevLockSsfi = flag(this, 'lockSsfi');\n      flag(this, 'lockSsfi', true);\n      this.eql(val);\n      flag(this, 'lockSsfi', prevLockSsfi);\n    } else {\n      this.assert(\n          val === obj\n        , 'expected #{this} to equal #{exp}'\n        , 'expected #{this} to not equal #{exp}'\n        , val\n        , this._obj\n        , true\n      );\n    }\n  }\n\n  Assertion.addMethod('equal', assertEqual);\n  Assertion.addMethod('equals', assertEqual);\n  Assertion.addMethod('eq', assertEqual);\n\n  /**\n   * ### .eql(obj[, msg])\n   *\n   * Asserts that the target is deeply equal to the given `obj`. See the\n   * `deep-eql` project page for info on the deep equality algorithm:\n   * https://github.com/chaijs/deep-eql.\n   *\n   *     // Target object is deeply (but not strictly) equal to {a: 1}\n   *     expect({a: 1}).to.eql({a: 1}).but.not.equal({a: 1});\n   *\n   *     // Target array is deeply (but not strictly) equal to [1, 2]\n   *     expect([1, 2]).to.eql([1, 2]).but.not.equal([1, 2]);\n   *\n   * Add `.not` earlier in the chain to negate `.eql`. However, it's often best\n   * to assert that the target is deeply equal to its expected value, rather\n   * than not deeply equal to one of countless unexpected values.\n   *\n   *     expect({a: 1}).to.eql({a: 1}); // Recommended\n   *     expect({a: 1}).to.not.eql({b: 2}); // Not recommended\n   *\n   * `.eql` accepts an optional `msg` argument which is a custom error message\n   * to show when the assertion fails. The message can also be given as the\n   * second argument to `expect`.\n   *\n   *     expect({a: 1}).to.eql({b: 2}, 'nooo why fail??');\n   *     expect({a: 1}, 'nooo why fail??').to.eql({b: 2});\n   *\n   * The alias `.eqls` can be used interchangeably with `.eql`.\n   *\n   * The `.deep.equal` assertion is almost identical to `.eql` but with one\n   * difference: `.deep.equal` causes deep equality comparisons to also be used\n   * for any other assertions that follow in the chain.\n   *\n   * @name eql\n   * @alias eqls\n   * @param {Mixed} obj\n   * @param {String} msg _optional_\n   * @namespace BDD\n   * @api public\n   */\n\n  function assertEql(obj, msg) {\n    if (msg) flag(this, 'message', msg);\n    var eql = flag(this, 'eql');\n    this.assert(\n        eql(obj, flag(this, 'object'))\n      , 'expected #{this} to deeply equal #{exp}'\n      , 'expected #{this} to not deeply equal #{exp}'\n      , obj\n      , this._obj\n      , true\n    );\n  }\n\n  Assertion.addMethod('eql', assertEql);\n  Assertion.addMethod('eqls', assertEql);\n\n  /**\n   * ### .above(n[, msg])\n   *\n   * Asserts that the target is a number or a date greater than the given number or date `n` respectively.\n   * However, it's often best to assert that the target is equal to its expected\n   * value.\n   *\n   *     expect(2).to.equal(2); // Recommended\n   *     expect(2).to.be.above(1); // Not recommended\n   *\n   * Add `.lengthOf` earlier in the chain to assert that the target's `length`\n   * or `size` is greater than the given number `n`.\n   *\n   *     expect('foo').to.have.lengthOf(3); // Recommended\n   *     expect('foo').to.have.lengthOf.above(2); // Not recommended\n   *\n   *     expect([1, 2, 3]).to.have.lengthOf(3); // Recommended\n   *     expect([1, 2, 3]).to.have.lengthOf.above(2); // Not recommended\n   *\n   * Add `.not` earlier in the chain to negate `.above`.\n   *\n   *     expect(2).to.equal(2); // Recommended\n   *     expect(1).to.not.be.above(2); // Not recommended\n   *\n   * `.above` accepts an optional `msg` argument which is a custom error message\n   * to show when the assertion fails. The message can also be given as the\n   * second argument to `expect`.\n   *\n   *     expect(1).to.be.above(2, 'nooo why fail??');\n   *     expect(1, 'nooo why fail??').to.be.above(2);\n   *\n   * The aliases `.gt` and `.greaterThan` can be used interchangeably with\n   * `.above`.\n   *\n   * @name above\n   * @alias gt\n   * @alias greaterThan\n   * @param {Number} n\n   * @param {String} msg _optional_\n   * @namespace BDD\n   * @api public\n   */\n\n  function assertAbove (n, msg) {\n    if (msg) flag(this, 'message', msg);\n    var obj = flag(this, 'object')\n      , doLength = flag(this, 'doLength')\n      , flagMsg = flag(this, 'message')\n      , msgPrefix = ((flagMsg) ? flagMsg + ': ' : '')\n      , ssfi = flag(this, 'ssfi')\n      , objType = _.type(obj).toLowerCase()\n      , nType = _.type(n).toLowerCase()\n      , errorMessage\n      , shouldThrow = true;\n\n    if (doLength && objType !== 'map' && objType !== 'set') {\n      new Assertion(obj, flagMsg, ssfi, true).to.have.property('length');\n    }\n\n    if (!doLength && (objType === 'date' && nType !== 'date')) {\n      errorMessage = msgPrefix + 'the argument to above must be a date';\n    } else if (nType !== 'number' && (doLength || objType === 'number')) {\n      errorMessage = msgPrefix + 'the argument to above must be a number';\n    } else if (!doLength && (objType !== 'date' && objType !== 'number')) {\n      var printObj = (objType === 'string') ? \"'\" + obj + \"'\" : obj;\n      errorMessage = msgPrefix + 'expected ' + printObj + ' to be a number or a date';\n    } else {\n      shouldThrow = false;\n    }\n\n    if (shouldThrow) {\n      throw new AssertionError(errorMessage, undefined, ssfi);\n    }\n\n    if (doLength) {\n      var descriptor = 'length'\n        , itemsCount;\n      if (objType === 'map' || objType === 'set') {\n        descriptor = 'size';\n        itemsCount = obj.size;\n      } else {\n        itemsCount = obj.length;\n      }\n      this.assert(\n          itemsCount > n\n        , 'expected #{this} to have a ' + descriptor + ' above #{exp} but got #{act}'\n        , 'expected #{this} to not have a ' + descriptor + ' above #{exp}'\n        , n\n        , itemsCount\n      );\n    } else {\n      this.assert(\n          obj > n\n        , 'expected #{this} to be above #{exp}'\n        , 'expected #{this} to be at most #{exp}'\n        , n\n      );\n    }\n  }\n\n  Assertion.addMethod('above', assertAbove);\n  Assertion.addMethod('gt', assertAbove);\n  Assertion.addMethod('greaterThan', assertAbove);\n\n  /**\n   * ### .least(n[, msg])\n   *\n   * Asserts that the target is a number or a date greater than or equal to the given\n   * number or date `n` respectively. However, it's often best to assert that the target is equal to\n   * its expected value.\n   *\n   *     expect(2).to.equal(2); // Recommended\n   *     expect(2).to.be.at.least(1); // Not recommended\n   *     expect(2).to.be.at.least(2); // Not recommended\n   *\n   * Add `.lengthOf` earlier in the chain to assert that the target's `length`\n   * or `size` is greater than or equal to the given number `n`.\n   *\n   *     expect('foo').to.have.lengthOf(3); // Recommended\n   *     expect('foo').to.have.lengthOf.at.least(2); // Not recommended\n   *\n   *     expect([1, 2, 3]).to.have.lengthOf(3); // Recommended\n   *     expect([1, 2, 3]).to.have.lengthOf.at.least(2); // Not recommended\n   *\n   * Add `.not` earlier in the chain to negate `.least`.\n   *\n   *     expect(1).to.equal(1); // Recommended\n   *     expect(1).to.not.be.at.least(2); // Not recommended\n   *\n   * `.least` accepts an optional `msg` argument which is a custom error message\n   * to show when the assertion fails. The message can also be given as the\n   * second argument to `expect`.\n   *\n   *     expect(1).to.be.at.least(2, 'nooo why fail??');\n   *     expect(1, 'nooo why fail??').to.be.at.least(2);\n   *\n   * The aliases `.gte` and `.greaterThanOrEqual` can be used interchangeably with\n   * `.least`.\n   *\n   * @name least\n   * @alias gte\n   * @alias greaterThanOrEqual\n   * @param {Number} n\n   * @param {String} msg _optional_\n   * @namespace BDD\n   * @api public\n   */\n\n  function assertLeast (n, msg) {\n    if (msg) flag(this, 'message', msg);\n    var obj = flag(this, 'object')\n      , doLength = flag(this, 'doLength')\n      , flagMsg = flag(this, 'message')\n      , msgPrefix = ((flagMsg) ? flagMsg + ': ' : '')\n      , ssfi = flag(this, 'ssfi')\n      , objType = _.type(obj).toLowerCase()\n      , nType = _.type(n).toLowerCase()\n      , errorMessage\n      , shouldThrow = true;\n\n    if (doLength && objType !== 'map' && objType !== 'set') {\n      new Assertion(obj, flagMsg, ssfi, true).to.have.property('length');\n    }\n\n    if (!doLength && (objType === 'date' && nType !== 'date')) {\n      errorMessage = msgPrefix + 'the argument to least must be a date';\n    } else if (nType !== 'number' && (doLength || objType === 'number')) {\n      errorMessage = msgPrefix + 'the argument to least must be a number';\n    } else if (!doLength && (objType !== 'date' && objType !== 'number')) {\n      var printObj = (objType === 'string') ? \"'\" + obj + \"'\" : obj;\n      errorMessage = msgPrefix + 'expected ' + printObj + ' to be a number or a date';\n    } else {\n      shouldThrow = false;\n    }\n\n    if (shouldThrow) {\n      throw new AssertionError(errorMessage, undefined, ssfi);\n    }\n\n    if (doLength) {\n      var descriptor = 'length'\n        , itemsCount;\n      if (objType === 'map' || objType === 'set') {\n        descriptor = 'size';\n        itemsCount = obj.size;\n      } else {\n        itemsCount = obj.length;\n      }\n      this.assert(\n          itemsCount >= n\n        , 'expected #{this} to have a ' + descriptor + ' at least #{exp} but got #{act}'\n        , 'expected #{this} to have a ' + descriptor + ' below #{exp}'\n        , n\n        , itemsCount\n      );\n    } else {\n      this.assert(\n          obj >= n\n        , 'expected #{this} to be at least #{exp}'\n        , 'expected #{this} to be below #{exp}'\n        , n\n      );\n    }\n  }\n\n  Assertion.addMethod('least', assertLeast);\n  Assertion.addMethod('gte', assertLeast);\n  Assertion.addMethod('greaterThanOrEqual', assertLeast);\n\n  /**\n   * ### .below(n[, msg])\n   *\n   * Asserts that the target is a number or a date less than the given number or date `n` respectively.\n   * However, it's often best to assert that the target is equal to its expected\n   * value.\n   *\n   *     expect(1).to.equal(1); // Recommended\n   *     expect(1).to.be.below(2); // Not recommended\n   *\n   * Add `.lengthOf` earlier in the chain to assert that the target's `length`\n   * or `size` is less than the given number `n`.\n   *\n   *     expect('foo').to.have.lengthOf(3); // Recommended\n   *     expect('foo').to.have.lengthOf.below(4); // Not recommended\n   *\n   *     expect([1, 2, 3]).to.have.length(3); // Recommended\n   *     expect([1, 2, 3]).to.have.lengthOf.below(4); // Not recommended\n   *\n   * Add `.not` earlier in the chain to negate `.below`.\n   *\n   *     expect(2).to.equal(2); // Recommended\n   *     expect(2).to.not.be.below(1); // Not recommended\n   *\n   * `.below` accepts an optional `msg` argument which is a custom error message\n   * to show when the assertion fails. The message can also be given as the\n   * second argument to `expect`.\n   *\n   *     expect(2).to.be.below(1, 'nooo why fail??');\n   *     expect(2, 'nooo why fail??').to.be.below(1);\n   *\n   * The aliases `.lt` and `.lessThan` can be used interchangeably with\n   * `.below`.\n   *\n   * @name below\n   * @alias lt\n   * @alias lessThan\n   * @param {Number} n\n   * @param {String} msg _optional_\n   * @namespace BDD\n   * @api public\n   */\n\n  function assertBelow (n, msg) {\n    if (msg) flag(this, 'message', msg);\n    var obj = flag(this, 'object')\n      , doLength = flag(this, 'doLength')\n      , flagMsg = flag(this, 'message')\n      , msgPrefix = ((flagMsg) ? flagMsg + ': ' : '')\n      , ssfi = flag(this, 'ssfi')\n      , objType = _.type(obj).toLowerCase()\n      , nType = _.type(n).toLowerCase()\n      , errorMessage\n      , shouldThrow = true;\n\n    if (doLength && objType !== 'map' && objType !== 'set') {\n      new Assertion(obj, flagMsg, ssfi, true).to.have.property('length');\n    }\n\n    if (!doLength && (objType === 'date' && nType !== 'date')) {\n      errorMessage = msgPrefix + 'the argument to below must be a date';\n    } else if (nType !== 'number' && (doLength || objType === 'number')) {\n      errorMessage = msgPrefix + 'the argument to below must be a number';\n    } else if (!doLength && (objType !== 'date' && objType !== 'number')) {\n      var printObj = (objType === 'string') ? \"'\" + obj + \"'\" : obj;\n      errorMessage = msgPrefix + 'expected ' + printObj + ' to be a number or a date';\n    } else {\n      shouldThrow = false;\n    }\n\n    if (shouldThrow) {\n      throw new AssertionError(errorMessage, undefined, ssfi);\n    }\n\n    if (doLength) {\n      var descriptor = 'length'\n        , itemsCount;\n      if (objType === 'map' || objType === 'set') {\n        descriptor = 'size';\n        itemsCount = obj.size;\n      } else {\n        itemsCount = obj.length;\n      }\n      this.assert(\n          itemsCount < n\n        , 'expected #{this} to have a ' + descriptor + ' below #{exp} but got #{act}'\n        , 'expected #{this} to not have a ' + descriptor + ' below #{exp}'\n        , n\n        , itemsCount\n      );\n    } else {\n      this.assert(\n          obj < n\n        , 'expected #{this} to be below #{exp}'\n        , 'expected #{this} to be at least #{exp}'\n        , n\n      );\n    }\n  }\n\n  Assertion.addMethod('below', assertBelow);\n  Assertion.addMethod('lt', assertBelow);\n  Assertion.addMethod('lessThan', assertBelow);\n\n  /**\n   * ### .most(n[, msg])\n   *\n   * Asserts that the target is a number or a date less than or equal to the given number\n   * or date `n` respectively. However, it's often best to assert that the target is equal to its\n   * expected value.\n   *\n   *     expect(1).to.equal(1); // Recommended\n   *     expect(1).to.be.at.most(2); // Not recommended\n   *     expect(1).to.be.at.most(1); // Not recommended\n   *\n   * Add `.lengthOf` earlier in the chain to assert that the target's `length`\n   * or `size` is less than or equal to the given number `n`.\n   *\n   *     expect('foo').to.have.lengthOf(3); // Recommended\n   *     expect('foo').to.have.lengthOf.at.most(4); // Not recommended\n   *\n   *     expect([1, 2, 3]).to.have.lengthOf(3); // Recommended\n   *     expect([1, 2, 3]).to.have.lengthOf.at.most(4); // Not recommended\n   *\n   * Add `.not` earlier in the chain to negate `.most`.\n   *\n   *     expect(2).to.equal(2); // Recommended\n   *     expect(2).to.not.be.at.most(1); // Not recommended\n   *\n   * `.most` accepts an optional `msg` argument which is a custom error message\n   * to show when the assertion fails. The message can also be given as the\n   * second argument to `expect`.\n   *\n   *     expect(2).to.be.at.most(1, 'nooo why fail??');\n   *     expect(2, 'nooo why fail??').to.be.at.most(1);\n   *\n   * The aliases `.lte` and `.lessThanOrEqual` can be used interchangeably with\n   * `.most`.\n   *\n   * @name most\n   * @alias lte\n   * @alias lessThanOrEqual\n   * @param {Number} n\n   * @param {String} msg _optional_\n   * @namespace BDD\n   * @api public\n   */\n\n  function assertMost (n, msg) {\n    if (msg) flag(this, 'message', msg);\n    var obj = flag(this, 'object')\n      , doLength = flag(this, 'doLength')\n      , flagMsg = flag(this, 'message')\n      , msgPrefix = ((flagMsg) ? flagMsg + ': ' : '')\n      , ssfi = flag(this, 'ssfi')\n      , objType = _.type(obj).toLowerCase()\n      , nType = _.type(n).toLowerCase()\n      , errorMessage\n      , shouldThrow = true;\n\n    if (doLength && objType !== 'map' && objType !== 'set') {\n      new Assertion(obj, flagMsg, ssfi, true).to.have.property('length');\n    }\n\n    if (!doLength && (objType === 'date' && nType !== 'date')) {\n      errorMessage = msgPrefix + 'the argument to most must be a date';\n    } else if (nType !== 'number' && (doLength || objType === 'number')) {\n      errorMessage = msgPrefix + 'the argument to most must be a number';\n    } else if (!doLength && (objType !== 'date' && objType !== 'number')) {\n      var printObj = (objType === 'string') ? \"'\" + obj + \"'\" : obj;\n      errorMessage = msgPrefix + 'expected ' + printObj + ' to be a number or a date';\n    } else {\n      shouldThrow = false;\n    }\n\n    if (shouldThrow) {\n      throw new AssertionError(errorMessage, undefined, ssfi);\n    }\n\n    if (doLength) {\n      var descriptor = 'length'\n        , itemsCount;\n      if (objType === 'map' || objType === 'set') {\n        descriptor = 'size';\n        itemsCount = obj.size;\n      } else {\n        itemsCount = obj.length;\n      }\n      this.assert(\n          itemsCount <= n\n        , 'expected #{this} to have a ' + descriptor + ' at most #{exp} but got #{act}'\n        , 'expected #{this} to have a ' + descriptor + ' above #{exp}'\n        , n\n        , itemsCount\n      );\n    } else {\n      this.assert(\n          obj <= n\n        , 'expected #{this} to be at most #{exp}'\n        , 'expected #{this} to be above #{exp}'\n        , n\n      );\n    }\n  }\n\n  Assertion.addMethod('most', assertMost);\n  Assertion.addMethod('lte', assertMost);\n  Assertion.addMethod('lessThanOrEqual', assertMost);\n\n  /**\n   * ### .within(start, finish[, msg])\n   *\n   * Asserts that the target is a number or a date greater than or equal to the given\n   * number or date `start`, and less than or equal to the given number or date `finish` respectively.\n   * However, it's often best to assert that the target is equal to its expected\n   * value.\n   *\n   *     expect(2).to.equal(2); // Recommended\n   *     expect(2).to.be.within(1, 3); // Not recommended\n   *     expect(2).to.be.within(2, 3); // Not recommended\n   *     expect(2).to.be.within(1, 2); // Not recommended\n   *\n   * Add `.lengthOf` earlier in the chain to assert that the target's `length`\n   * or `size` is greater than or equal to the given number `start`, and less\n   * than or equal to the given number `finish`.\n   *\n   *     expect('foo').to.have.lengthOf(3); // Recommended\n   *     expect('foo').to.have.lengthOf.within(2, 4); // Not recommended\n   *\n   *     expect([1, 2, 3]).to.have.lengthOf(3); // Recommended\n   *     expect([1, 2, 3]).to.have.lengthOf.within(2, 4); // Not recommended\n   *\n   * Add `.not` earlier in the chain to negate `.within`.\n   *\n   *     expect(1).to.equal(1); // Recommended\n   *     expect(1).to.not.be.within(2, 4); // Not recommended\n   *\n   * `.within` accepts an optional `msg` argument which is a custom error\n   * message to show when the assertion fails. The message can also be given as\n   * the second argument to `expect`.\n   *\n   *     expect(4).to.be.within(1, 3, 'nooo why fail??');\n   *     expect(4, 'nooo why fail??').to.be.within(1, 3);\n   *\n   * @name within\n   * @param {Number} start lower bound inclusive\n   * @param {Number} finish upper bound inclusive\n   * @param {String} msg _optional_\n   * @namespace BDD\n   * @api public\n   */\n\n  Assertion.addMethod('within', function (start, finish, msg) {\n    if (msg) flag(this, 'message', msg);\n    var obj = flag(this, 'object')\n      , doLength = flag(this, 'doLength')\n      , flagMsg = flag(this, 'message')\n      , msgPrefix = ((flagMsg) ? flagMsg + ': ' : '')\n      , ssfi = flag(this, 'ssfi')\n      , objType = _.type(obj).toLowerCase()\n      , startType = _.type(start).toLowerCase()\n      , finishType = _.type(finish).toLowerCase()\n      , errorMessage\n      , shouldThrow = true\n      , range = (startType === 'date' && finishType === 'date')\n          ? start.toISOString() + '..' + finish.toISOString()\n          : start + '..' + finish;\n\n    if (doLength && objType !== 'map' && objType !== 'set') {\n      new Assertion(obj, flagMsg, ssfi, true).to.have.property('length');\n    }\n\n    if (!doLength && (objType === 'date' && (startType !== 'date' || finishType !== 'date'))) {\n      errorMessage = msgPrefix + 'the arguments to within must be dates';\n    } else if ((startType !== 'number' || finishType !== 'number') && (doLength || objType === 'number')) {\n      errorMessage = msgPrefix + 'the arguments to within must be numbers';\n    } else if (!doLength && (objType !== 'date' && objType !== 'number')) {\n      var printObj = (objType === 'string') ? \"'\" + obj + \"'\" : obj;\n      errorMessage = msgPrefix + 'expected ' + printObj + ' to be a number or a date';\n    } else {\n      shouldThrow = false;\n    }\n\n    if (shouldThrow) {\n      throw new AssertionError(errorMessage, undefined, ssfi);\n    }\n\n    if (doLength) {\n      var descriptor = 'length'\n        , itemsCount;\n      if (objType === 'map' || objType === 'set') {\n        descriptor = 'size';\n        itemsCount = obj.size;\n      } else {\n        itemsCount = obj.length;\n      }\n      this.assert(\n          itemsCount >= start && itemsCount <= finish\n        , 'expected #{this} to have a ' + descriptor + ' within ' + range\n        , 'expected #{this} to not have a ' + descriptor + ' within ' + range\n      );\n    } else {\n      this.assert(\n          obj >= start && obj <= finish\n        , 'expected #{this} to be within ' + range\n        , 'expected #{this} to not be within ' + range\n      );\n    }\n  });\n\n  /**\n   * ### .instanceof(constructor[, msg])\n   *\n   * Asserts that the target is an instance of the given `constructor`.\n   *\n   *     function Cat () { }\n   *\n   *     expect(new Cat()).to.be.an.instanceof(Cat);\n   *     expect([1, 2]).to.be.an.instanceof(Array);\n   *\n   * Add `.not` earlier in the chain to negate `.instanceof`.\n   *\n   *     expect({a: 1}).to.not.be.an.instanceof(Array);\n   *\n   * `.instanceof` accepts an optional `msg` argument which is a custom error\n   * message to show when the assertion fails. The message can also be given as\n   * the second argument to `expect`.\n   *\n   *     expect(1).to.be.an.instanceof(Array, 'nooo why fail??');\n   *     expect(1, 'nooo why fail??').to.be.an.instanceof(Array);\n   *\n   * Due to limitations in ES5, `.instanceof` may not always work as expected\n   * when using a transpiler such as Babel or TypeScript. In particular, it may\n   * produce unexpected results when subclassing built-in object such as\n   * `Array`, `Error`, and `Map`. See your transpiler's docs for details:\n   *\n   * - ([Babel](https://babeljs.io/docs/usage/caveats/#classes))\n   * - ([TypeScript](https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work))\n   *\n   * The alias `.instanceOf` can be used interchangeably with `.instanceof`.\n   *\n   * @name instanceof\n   * @param {Constructor} constructor\n   * @param {String} msg _optional_\n   * @alias instanceOf\n   * @namespace BDD\n   * @api public\n   */\n\n  function assertInstanceOf (constructor, msg) {\n    if (msg) flag(this, 'message', msg);\n\n    var target = flag(this, 'object')\n    var ssfi = flag(this, 'ssfi');\n    var flagMsg = flag(this, 'message');\n\n    try {\n      var isInstanceOf = target instanceof constructor;\n    } catch (err) {\n      if (err instanceof TypeError) {\n        flagMsg = flagMsg ? flagMsg + ': ' : '';\n        throw new AssertionError(\n          flagMsg + 'The instanceof assertion needs a constructor but '\n            + _.type(constructor) + ' was given.',\n          undefined,\n          ssfi\n        );\n      }\n      throw err;\n    }\n\n    var name = _.getName(constructor);\n    if (name === null) {\n      name = 'an unnamed constructor';\n    }\n\n    this.assert(\n        isInstanceOf\n      , 'expected #{this} to be an instance of ' + name\n      , 'expected #{this} to not be an instance of ' + name\n    );\n  };\n\n  Assertion.addMethod('instanceof', assertInstanceOf);\n  Assertion.addMethod('instanceOf', assertInstanceOf);\n\n  /**\n   * ### .property(name[, val[, msg]])\n   *\n   * Asserts that the target has a property with the given key `name`.\n   *\n   *     expect({a: 1}).to.have.property('a');\n   *\n   * When `val` is provided, `.property` also asserts that the property's value\n   * is equal to the given `val`.\n   *\n   *     expect({a: 1}).to.have.property('a', 1);\n   *\n   * By default, strict (`===`) equality is used. Add `.deep` earlier in the\n   * chain to use deep equality instead. See the `deep-eql` project page for\n   * info on the deep equality algorithm: https://github.com/chaijs/deep-eql.\n   *\n   *     // Target object deeply (but not strictly) has property `x: {a: 1}`\n   *     expect({x: {a: 1}}).to.have.deep.property('x', {a: 1});\n   *     expect({x: {a: 1}}).to.not.have.property('x', {a: 1});\n   *\n   * The target's enumerable and non-enumerable properties are always included\n   * in the search. By default, both own and inherited properties are included.\n   * Add `.own` earlier in the chain to exclude inherited properties from the\n   * search.\n   *\n   *     Object.prototype.b = 2;\n   *\n   *     expect({a: 1}).to.have.own.property('a');\n   *     expect({a: 1}).to.have.own.property('a', 1);\n   *     expect({a: 1}).to.have.property('b');\n   *     expect({a: 1}).to.not.have.own.property('b');\n   *\n   * `.deep` and `.own` can be combined.\n   *\n   *     expect({x: {a: 1}}).to.have.deep.own.property('x', {a: 1});\n   *\n   * Add `.nested` earlier in the chain to enable dot- and bracket-notation when\n   * referencing nested properties.\n   *\n   *     expect({a: {b: ['x', 'y']}}).to.have.nested.property('a.b[1]');\n   *     expect({a: {b: ['x', 'y']}}).to.have.nested.property('a.b[1]', 'y');\n   *\n   * If `.` or `[]` are part of an actual property name, they can be escaped by\n   * adding two backslashes before them.\n   *\n   *     expect({'.a': {'[b]': 'x'}}).to.have.nested.property('\\\\.a.\\\\[b\\\\]');\n   *\n   * `.deep` and `.nested` can be combined.\n   *\n   *     expect({a: {b: [{c: 3}]}})\n   *       .to.have.deep.nested.property('a.b[0]', {c: 3});\n   *\n   * `.own` and `.nested` cannot be combined.\n   *\n   * Add `.not` earlier in the chain to negate `.property`.\n   *\n   *     expect({a: 1}).to.not.have.property('b');\n   *\n   * However, it's dangerous to negate `.property` when providing `val`. The\n   * problem is that it creates uncertain expectations by asserting that the\n   * target either doesn't have a property with the given key `name`, or that it\n   * does have a property with the given key `name` but its value isn't equal to\n   * the given `val`. It's often best to identify the exact output that's\n   * expected, and then write an assertion that only accepts that exact output.\n   *\n   * When the target isn't expected to have a property with the given key\n   * `name`, it's often best to assert exactly that.\n   *\n   *     expect({b: 2}).to.not.have.property('a'); // Recommended\n   *     expect({b: 2}).to.not.have.property('a', 1); // Not recommended\n   *\n   * When the target is expected to have a property with the given key `name`,\n   * it's often best to assert that the property has its expected value, rather\n   * than asserting that it doesn't have one of many unexpected values.\n   *\n   *     expect({a: 3}).to.have.property('a', 3); // Recommended\n   *     expect({a: 3}).to.not.have.property('a', 1); // Not recommended\n   *\n   * `.property` changes the target of any assertions that follow in the chain\n   * to be the value of the property from the original target object.\n   *\n   *     expect({a: 1}).to.have.property('a').that.is.a('number');\n   *\n   * `.property` accepts an optional `msg` argument which is a custom error\n   * message to show when the assertion fails. The message can also be given as\n   * the second argument to `expect`. When not providing `val`, only use the\n   * second form.\n   *\n   *     // Recommended\n   *     expect({a: 1}).to.have.property('a', 2, 'nooo why fail??');\n   *     expect({a: 1}, 'nooo why fail??').to.have.property('a', 2);\n   *     expect({a: 1}, 'nooo why fail??').to.have.property('b');\n   *\n   *     // Not recommended\n   *     expect({a: 1}).to.have.property('b', undefined, 'nooo why fail??');\n   *\n   * The above assertion isn't the same thing as not providing `val`. Instead,\n   * it's asserting that the target object has a `b` property that's equal to\n   * `undefined`.\n   *\n   * The assertions `.ownProperty` and `.haveOwnProperty` can be used\n   * interchangeably with `.own.property`.\n   *\n   * @name property\n   * @param {String} name\n   * @param {Mixed} val (optional)\n   * @param {String} msg _optional_\n   * @returns value of property for chaining\n   * @namespace BDD\n   * @api public\n   */\n\n  function assertProperty (name, val, msg) {\n    if (msg) flag(this, 'message', msg);\n\n    var isNested = flag(this, 'nested')\n      , isOwn = flag(this, 'own')\n      , flagMsg = flag(this, 'message')\n      , obj = flag(this, 'object')\n      , ssfi = flag(this, 'ssfi')\n      , nameType = typeof name;\n\n    flagMsg = flagMsg ? flagMsg + ': ' : '';\n\n    if (isNested) {\n      if (nameType !== 'string') {\n        throw new AssertionError(\n          flagMsg + 'the argument to property must be a string when using nested syntax',\n          undefined,\n          ssfi\n        );\n      }\n    } else {\n      if (nameType !== 'string' && nameType !== 'number' && nameType !== 'symbol') {\n        throw new AssertionError(\n          flagMsg + 'the argument to property must be a string, number, or symbol',\n          undefined,\n          ssfi\n        );\n      }\n    }\n\n    if (isNested && isOwn) {\n      throw new AssertionError(\n        flagMsg + 'The \"nested\" and \"own\" flags cannot be combined.',\n        undefined,\n        ssfi\n      );\n    }\n\n    if (obj === null || obj === undefined) {\n      throw new AssertionError(\n        flagMsg + 'Target cannot be null or undefined.',\n        undefined,\n        ssfi\n      );\n    }\n\n    var isDeep = flag(this, 'deep')\n      , negate = flag(this, 'negate')\n      , pathInfo = isNested ? _.getPathInfo(obj, name) : null\n      , value = isNested ? pathInfo.value : obj[name]\n      , isEql = isDeep ? flag(this, 'eql') : (val1, val2) => val1 === val2;;\n\n    var descriptor = '';\n    if (isDeep) descriptor += 'deep ';\n    if (isOwn) descriptor += 'own ';\n    if (isNested) descriptor += 'nested ';\n    descriptor += 'property ';\n\n    var hasProperty;\n    if (isOwn) hasProperty = Object.prototype.hasOwnProperty.call(obj, name);\n    else if (isNested) hasProperty = pathInfo.exists;\n    else hasProperty = _.hasProperty(obj, name);\n\n    // When performing a negated assertion for both name and val, merely having\n    // a property with the given name isn't enough to cause the assertion to\n    // fail. It must both have a property with the given name, and the value of\n    // that property must equal the given val. Therefore, skip this assertion in\n    // favor of the next.\n    if (!negate || arguments.length === 1) {\n      this.assert(\n          hasProperty\n        , 'expected #{this} to have ' + descriptor + _.inspect(name)\n        , 'expected #{this} to not have ' + descriptor + _.inspect(name));\n    }\n\n    if (arguments.length > 1) {\n      this.assert(\n          hasProperty && isEql(val, value)\n        , 'expected #{this} to have ' + descriptor + _.inspect(name) + ' of #{exp}, but got #{act}'\n        , 'expected #{this} to not have ' + descriptor + _.inspect(name) + ' of #{act}'\n        , val\n        , value\n      );\n    }\n\n    flag(this, 'object', value);\n  }\n\n  Assertion.addMethod('property', assertProperty);\n\n  function assertOwnProperty (name, value, msg) {\n    flag(this, 'own', true);\n    assertProperty.apply(this, arguments);\n  }\n\n  Assertion.addMethod('ownProperty', assertOwnProperty);\n  Assertion.addMethod('haveOwnProperty', assertOwnProperty);\n\n  /**\n   * ### .ownPropertyDescriptor(name[, descriptor[, msg]])\n   *\n   * Asserts that the target has its own property descriptor with the given key\n   * `name`. Enumerable and non-enumerable properties are included in the\n   * search.\n   *\n   *     expect({a: 1}).to.have.ownPropertyDescriptor('a');\n   *\n   * When `descriptor` is provided, `.ownPropertyDescriptor` also asserts that\n   * the property's descriptor is deeply equal to the given `descriptor`. See\n   * the `deep-eql` project page for info on the deep equality algorithm:\n   * https://github.com/chaijs/deep-eql.\n   *\n   *     expect({a: 1}).to.have.ownPropertyDescriptor('a', {\n   *       configurable: true,\n   *       enumerable: true,\n   *       writable: true,\n   *       value: 1,\n   *     });\n   *\n   * Add `.not` earlier in the chain to negate `.ownPropertyDescriptor`.\n   *\n   *     expect({a: 1}).to.not.have.ownPropertyDescriptor('b');\n   *\n   * However, it's dangerous to negate `.ownPropertyDescriptor` when providing\n   * a `descriptor`. The problem is that it creates uncertain expectations by\n   * asserting that the target either doesn't have a property descriptor with\n   * the given key `name`, or that it does have a property descriptor with the\n   * given key `name` but it’s not deeply equal to the given `descriptor`. It's\n   * often best to identify the exact output that's expected, and then write an\n   * assertion that only accepts that exact output.\n   *\n   * When the target isn't expected to have a property descriptor with the given\n   * key `name`, it's often best to assert exactly that.\n   *\n   *     // Recommended\n   *     expect({b: 2}).to.not.have.ownPropertyDescriptor('a');\n   *\n   *     // Not recommended\n   *     expect({b: 2}).to.not.have.ownPropertyDescriptor('a', {\n   *       configurable: true,\n   *       enumerable: true,\n   *       writable: true,\n   *       value: 1,\n   *     });\n   *\n   * When the target is expected to have a property descriptor with the given\n   * key `name`, it's often best to assert that the property has its expected\n   * descriptor, rather than asserting that it doesn't have one of many\n   * unexpected descriptors.\n   *\n   *     // Recommended\n   *     expect({a: 3}).to.have.ownPropertyDescriptor('a', {\n   *       configurable: true,\n   *       enumerable: true,\n   *       writable: true,\n   *       value: 3,\n   *     });\n   *\n   *     // Not recommended\n   *     expect({a: 3}).to.not.have.ownPropertyDescriptor('a', {\n   *       configurable: true,\n   *       enumerable: true,\n   *       writable: true,\n   *       value: 1,\n   *     });\n   *\n   * `.ownPropertyDescriptor` changes the target of any assertions that follow\n   * in the chain to be the value of the property descriptor from the original\n   * target object.\n   *\n   *     expect({a: 1}).to.have.ownPropertyDescriptor('a')\n   *       .that.has.property('enumerable', true);\n   *\n   * `.ownPropertyDescriptor` accepts an optional `msg` argument which is a\n   * custom error message to show when the assertion fails. The message can also\n   * be given as the second argument to `expect`. When not providing\n   * `descriptor`, only use the second form.\n   *\n   *     // Recommended\n   *     expect({a: 1}).to.have.ownPropertyDescriptor('a', {\n   *       configurable: true,\n   *       enumerable: true,\n   *       writable: true,\n   *       value: 2,\n   *     }, 'nooo why fail??');\n   *\n   *     // Recommended\n   *     expect({a: 1}, 'nooo why fail??').to.have.ownPropertyDescriptor('a', {\n   *       configurable: true,\n   *       enumerable: true,\n   *       writable: true,\n   *       value: 2,\n   *     });\n   *\n   *     // Recommended\n   *     expect({a: 1}, 'nooo why fail??').to.have.ownPropertyDescriptor('b');\n   *\n   *     // Not recommended\n   *     expect({a: 1})\n   *       .to.have.ownPropertyDescriptor('b', undefined, 'nooo why fail??');\n   *\n   * The above assertion isn't the same thing as not providing `descriptor`.\n   * Instead, it's asserting that the target object has a `b` property\n   * descriptor that's deeply equal to `undefined`.\n   *\n   * The alias `.haveOwnPropertyDescriptor` can be used interchangeably with\n   * `.ownPropertyDescriptor`.\n   *\n   * @name ownPropertyDescriptor\n   * @alias haveOwnPropertyDescriptor\n   * @param {String} name\n   * @param {Object} descriptor _optional_\n   * @param {String} msg _optional_\n   * @namespace BDD\n   * @api public\n   */\n\n  function assertOwnPropertyDescriptor (name, descriptor, msg) {\n    if (typeof descriptor === 'string') {\n      msg = descriptor;\n      descriptor = null;\n    }\n    if (msg) flag(this, 'message', msg);\n    var obj = flag(this, 'object');\n    var actualDescriptor = Object.getOwnPropertyDescriptor(Object(obj), name);\n    var eql = flag(this, 'eql');\n    if (actualDescriptor && descriptor) {\n      this.assert(\n          eql(descriptor, actualDescriptor)\n        , 'expected the own property descriptor for ' + _.inspect(name) + ' on #{this} to match ' + _.inspect(descriptor) + ', got ' + _.inspect(actualDescriptor)\n        , 'expected the own property descriptor for ' + _.inspect(name) + ' on #{this} to not match ' + _.inspect(descriptor)\n        , descriptor\n        , actualDescriptor\n        , true\n      );\n    } else {\n      this.assert(\n          actualDescriptor\n        , 'expected #{this} to have an own property descriptor for ' + _.inspect(name)\n        , 'expected #{this} to not have an own property descriptor for ' + _.inspect(name)\n      );\n    }\n    flag(this, 'object', actualDescriptor);\n  }\n\n  Assertion.addMethod('ownPropertyDescriptor', assertOwnPropertyDescriptor);\n  Assertion.addMethod('haveOwnPropertyDescriptor', assertOwnPropertyDescriptor);\n\n  /**\n   * ### .lengthOf(n[, msg])\n   *\n   * Asserts that the target's `length` or `size` is equal to the given number\n   * `n`.\n   *\n   *     expect([1, 2, 3]).to.have.lengthOf(3);\n   *     expect('foo').to.have.lengthOf(3);\n   *     expect(new Set([1, 2, 3])).to.have.lengthOf(3);\n   *     expect(new Map([['a', 1], ['b', 2], ['c', 3]])).to.have.lengthOf(3);\n   *\n   * Add `.not` earlier in the chain to negate `.lengthOf`. However, it's often\n   * best to assert that the target's `length` property is equal to its expected\n   * value, rather than not equal to one of many unexpected values.\n   *\n   *     expect('foo').to.have.lengthOf(3); // Recommended\n   *     expect('foo').to.not.have.lengthOf(4); // Not recommended\n   *\n   * `.lengthOf` accepts an optional `msg` argument which is a custom error\n   * message to show when the assertion fails. The message can also be given as\n   * the second argument to `expect`.\n   *\n   *     expect([1, 2, 3]).to.have.lengthOf(2, 'nooo why fail??');\n   *     expect([1, 2, 3], 'nooo why fail??').to.have.lengthOf(2);\n   *\n   * `.lengthOf` can also be used as a language chain, causing all `.above`,\n   * `.below`, `.least`, `.most`, and `.within` assertions that follow in the\n   * chain to use the target's `length` property as the target. However, it's\n   * often best to assert that the target's `length` property is equal to its\n   * expected length, rather than asserting that its `length` property falls\n   * within some range of values.\n   *\n   *     // Recommended\n   *     expect([1, 2, 3]).to.have.lengthOf(3);\n   *\n   *     // Not recommended\n   *     expect([1, 2, 3]).to.have.lengthOf.above(2);\n   *     expect([1, 2, 3]).to.have.lengthOf.below(4);\n   *     expect([1, 2, 3]).to.have.lengthOf.at.least(3);\n   *     expect([1, 2, 3]).to.have.lengthOf.at.most(3);\n   *     expect([1, 2, 3]).to.have.lengthOf.within(2,4);\n   *\n   * Due to a compatibility issue, the alias `.length` can't be chained directly\n   * off of an uninvoked method such as `.a`. Therefore, `.length` can't be used\n   * interchangeably with `.lengthOf` in every situation. It's recommended to\n   * always use `.lengthOf` instead of `.length`.\n   *\n   *     expect([1, 2, 3]).to.have.a.length(3); // incompatible; throws error\n   *     expect([1, 2, 3]).to.have.a.lengthOf(3);  // passes as expected\n   *\n   * @name lengthOf\n   * @alias length\n   * @param {Number} n\n   * @param {String} msg _optional_\n   * @namespace BDD\n   * @api public\n   */\n\n  function assertLengthChain () {\n    flag(this, 'doLength', true);\n  }\n\n  function assertLength (n, msg) {\n    if (msg) flag(this, 'message', msg);\n    var obj = flag(this, 'object')\n      , objType = _.type(obj).toLowerCase()\n      , flagMsg = flag(this, 'message')\n      , ssfi = flag(this, 'ssfi')\n      , descriptor = 'length'\n      , itemsCount;\n\n    switch (objType) {\n      case 'map':\n      case 'set':\n        descriptor = 'size';\n        itemsCount = obj.size;\n        break;\n      default:\n        new Assertion(obj, flagMsg, ssfi, true).to.have.property('length');\n        itemsCount = obj.length;\n    }\n\n    this.assert(\n        itemsCount == n\n      , 'expected #{this} to have a ' + descriptor + ' of #{exp} but got #{act}'\n      , 'expected #{this} to not have a ' + descriptor + ' of #{act}'\n      , n\n      , itemsCount\n    );\n  }\n\n  Assertion.addChainableMethod('length', assertLength, assertLengthChain);\n  Assertion.addChainableMethod('lengthOf', assertLength, assertLengthChain);\n\n  /**\n   * ### .match(re[, msg])\n   *\n   * Asserts that the target matches the given regular expression `re`.\n   *\n   *     expect('foobar').to.match(/^foo/);\n   *\n   * Add `.not` earlier in the chain to negate `.match`.\n   *\n   *     expect('foobar').to.not.match(/taco/);\n   *\n   * `.match` accepts an optional `msg` argument which is a custom error message\n   * to show when the assertion fails. The message can also be given as the\n   * second argument to `expect`.\n   *\n   *     expect('foobar').to.match(/taco/, 'nooo why fail??');\n   *     expect('foobar', 'nooo why fail??').to.match(/taco/);\n   *\n   * The alias `.matches` can be used interchangeably with `.match`.\n   *\n   * @name match\n   * @alias matches\n   * @param {RegExp} re\n   * @param {String} msg _optional_\n   * @namespace BDD\n   * @api public\n   */\n  function assertMatch(re, msg) {\n    if (msg) flag(this, 'message', msg);\n    var obj = flag(this, 'object');\n    this.assert(\n        re.exec(obj)\n      , 'expected #{this} to match ' + re\n      , 'expected #{this} not to match ' + re\n    );\n  }\n\n  Assertion.addMethod('match', assertMatch);\n  Assertion.addMethod('matches', assertMatch);\n\n  /**\n   * ### .string(str[, msg])\n   *\n   * Asserts that the target string contains the given substring `str`.\n   *\n   *     expect('foobar').to.have.string('bar');\n   *\n   * Add `.not` earlier in the chain to negate `.string`.\n   *\n   *     expect('foobar').to.not.have.string('taco');\n   *\n   * `.string` accepts an optional `msg` argument which is a custom error\n   * message to show when the assertion fails. The message can also be given as\n   * the second argument to `expect`.\n   *\n   *     expect('foobar').to.have.string('taco', 'nooo why fail??');\n   *     expect('foobar', 'nooo why fail??').to.have.string('taco');\n   *\n   * @name string\n   * @param {String} str\n   * @param {String} msg _optional_\n   * @namespace BDD\n   * @api public\n   */\n\n  Assertion.addMethod('string', function (str, msg) {\n    if (msg) flag(this, 'message', msg);\n    var obj = flag(this, 'object')\n      , flagMsg = flag(this, 'message')\n      , ssfi = flag(this, 'ssfi');\n    new Assertion(obj, flagMsg, ssfi, true).is.a('string');\n\n    this.assert(\n        ~obj.indexOf(str)\n      , 'expected #{this} to contain ' + _.inspect(str)\n      , 'expected #{this} to not contain ' + _.inspect(str)\n    );\n  });\n\n  /**\n   * ### .keys(key1[, key2[, ...]])\n   *\n   * Asserts that the target object, array, map, or set has the given keys. Only\n   * the target's own inherited properties are included in the search.\n   *\n   * When the target is an object or array, keys can be provided as one or more\n   * string arguments, a single array argument, or a single object argument. In\n   * the latter case, only the keys in the given object matter; the values are\n   * ignored.\n   *\n   *     expect({a: 1, b: 2}).to.have.all.keys('a', 'b');\n   *     expect(['x', 'y']).to.have.all.keys(0, 1);\n   *\n   *     expect({a: 1, b: 2}).to.have.all.keys(['a', 'b']);\n   *     expect(['x', 'y']).to.have.all.keys([0, 1]);\n   *\n   *     expect({a: 1, b: 2}).to.have.all.keys({a: 4, b: 5}); // ignore 4 and 5\n   *     expect(['x', 'y']).to.have.all.keys({0: 4, 1: 5}); // ignore 4 and 5\n   *\n   * When the target is a map or set, each key must be provided as a separate\n   * argument.\n   *\n   *     expect(new Map([['a', 1], ['b', 2]])).to.have.all.keys('a', 'b');\n   *     expect(new Set(['a', 'b'])).to.have.all.keys('a', 'b');\n   *\n   * Because `.keys` does different things based on the target's type, it's\n   * important to check the target's type before using `.keys`. See the `.a` doc\n   * for info on testing a target's type.\n   *\n   *     expect({a: 1, b: 2}).to.be.an('object').that.has.all.keys('a', 'b');\n   *\n   * By default, strict (`===`) equality is used to compare keys of maps and\n   * sets. Add `.deep` earlier in the chain to use deep equality instead. See\n   * the `deep-eql` project page for info on the deep equality algorithm:\n   * https://github.com/chaijs/deep-eql.\n   *\n   *     // Target set deeply (but not strictly) has key `{a: 1}`\n   *     expect(new Set([{a: 1}])).to.have.all.deep.keys([{a: 1}]);\n   *     expect(new Set([{a: 1}])).to.not.have.all.keys([{a: 1}]);\n   *\n   * By default, the target must have all of the given keys and no more. Add\n   * `.any` earlier in the chain to only require that the target have at least\n   * one of the given keys. Also, add `.not` earlier in the chain to negate\n   * `.keys`. It's often best to add `.any` when negating `.keys`, and to use\n   * `.all` when asserting `.keys` without negation.\n   *\n   * When negating `.keys`, `.any` is preferred because `.not.any.keys` asserts\n   * exactly what's expected of the output, whereas `.not.all.keys` creates\n   * uncertain expectations.\n   *\n   *     // Recommended; asserts that target doesn't have any of the given keys\n   *     expect({a: 1, b: 2}).to.not.have.any.keys('c', 'd');\n   *\n   *     // Not recommended; asserts that target doesn't have all of the given\n   *     // keys but may or may not have some of them\n   *     expect({a: 1, b: 2}).to.not.have.all.keys('c', 'd');\n   *\n   * When asserting `.keys` without negation, `.all` is preferred because\n   * `.all.keys` asserts exactly what's expected of the output, whereas\n   * `.any.keys` creates uncertain expectations.\n   *\n   *     // Recommended; asserts that target has all the given keys\n   *     expect({a: 1, b: 2}).to.have.all.keys('a', 'b');\n   *\n   *     // Not recommended; asserts that target has at least one of the given\n   *     // keys but may or may not have more of them\n   *     expect({a: 1, b: 2}).to.have.any.keys('a', 'b');\n   *\n   * Note that `.all` is used by default when neither `.all` nor `.any` appear\n   * earlier in the chain. However, it's often best to add `.all` anyway because\n   * it improves readability.\n   *\n   *     // Both assertions are identical\n   *     expect({a: 1, b: 2}).to.have.all.keys('a', 'b'); // Recommended\n   *     expect({a: 1, b: 2}).to.have.keys('a', 'b'); // Not recommended\n   *\n   * Add `.include` earlier in the chain to require that the target's keys be a\n   * superset of the expected keys, rather than identical sets.\n   *\n   *     // Target object's keys are a superset of ['a', 'b'] but not identical\n   *     expect({a: 1, b: 2, c: 3}).to.include.all.keys('a', 'b');\n   *     expect({a: 1, b: 2, c: 3}).to.not.have.all.keys('a', 'b');\n   *\n   * However, if `.any` and `.include` are combined, only the `.any` takes\n   * effect. The `.include` is ignored in this case.\n   *\n   *     // Both assertions are identical\n   *     expect({a: 1}).to.have.any.keys('a', 'b');\n   *     expect({a: 1}).to.include.any.keys('a', 'b');\n   *\n   * A custom error message can be given as the second argument to `expect`.\n   *\n   *     expect({a: 1}, 'nooo why fail??').to.have.key('b');\n   *\n   * The alias `.key` can be used interchangeably with `.keys`.\n   *\n   * @name keys\n   * @alias key\n   * @param {...String|Array|Object} keys\n   * @namespace BDD\n   * @api public\n   */\n\n  function assertKeys (keys) {\n    var obj = flag(this, 'object')\n      , objType = _.type(obj)\n      , keysType = _.type(keys)\n      , ssfi = flag(this, 'ssfi')\n      , isDeep = flag(this, 'deep')\n      , str\n      , deepStr = ''\n      , actual\n      , ok = true\n      , flagMsg = flag(this, 'message');\n\n    flagMsg = flagMsg ? flagMsg + ': ' : '';\n    var mixedArgsMsg = flagMsg + 'when testing keys against an object or an array you must give a single Array|Object|String argument or multiple String arguments';\n\n    if (objType === 'Map' || objType === 'Set') {\n      deepStr = isDeep ? 'deeply ' : '';\n      actual = [];\n\n      // Map and Set '.keys' aren't supported in IE 11. Therefore, use .forEach.\n      obj.forEach(function (val, key) { actual.push(key) });\n\n      if (keysType !== 'Array') {\n        keys = Array.prototype.slice.call(arguments);\n      }\n    } else {\n      actual = _.getOwnEnumerableProperties(obj);\n\n      switch (keysType) {\n        case 'Array':\n          if (arguments.length > 1) {\n            throw new AssertionError(mixedArgsMsg, undefined, ssfi);\n          }\n          break;\n        case 'Object':\n          if (arguments.length > 1) {\n            throw new AssertionError(mixedArgsMsg, undefined, ssfi);\n          }\n          keys = Object.keys(keys);\n          break;\n        default:\n          keys = Array.prototype.slice.call(arguments);\n      }\n\n      // Only stringify non-Symbols because Symbols would become \"Symbol()\"\n      keys = keys.map(function (val) {\n        return typeof val === 'symbol' ? val : String(val);\n      });\n    }\n\n    if (!keys.length) {\n      throw new AssertionError(flagMsg + 'keys required', undefined, ssfi);\n    }\n\n    var len = keys.length\n      , any = flag(this, 'any')\n      , all = flag(this, 'all')\n      , expected = keys\n      , isEql = isDeep ? flag(this, 'eql') : (val1, val2) => val1 === val2;\n\n    if (!any && !all) {\n      all = true;\n    }\n\n    // Has any\n    if (any) {\n      ok = expected.some(function(expectedKey) {\n        return actual.some(function(actualKey) {\n          return isEql(expectedKey, actualKey);\n        });\n      });\n    }\n\n    // Has all\n    if (all) {\n      ok = expected.every(function(expectedKey) {\n        return actual.some(function(actualKey) {\n          return isEql(expectedKey, actualKey);\n        });\n      });\n\n      if (!flag(this, 'contains')) {\n        ok = ok && keys.length == actual.length;\n      }\n    }\n\n    // Key string\n    if (len > 1) {\n      keys = keys.map(function(key) {\n        return _.inspect(key);\n      });\n      var last = keys.pop();\n      if (all) {\n        str = keys.join(', ') + ', and ' + last;\n      }\n      if (any) {\n        str = keys.join(', ') + ', or ' + last;\n      }\n    } else {\n      str = _.inspect(keys[0]);\n    }\n\n    // Form\n    str = (len > 1 ? 'keys ' : 'key ') + str;\n\n    // Have / include\n    str = (flag(this, 'contains') ? 'contain ' : 'have ') + str;\n\n    // Assertion\n    this.assert(\n        ok\n      , 'expected #{this} to ' + deepStr + str\n      , 'expected #{this} to not ' + deepStr + str\n      , expected.slice(0).sort(_.compareByInspect)\n      , actual.sort(_.compareByInspect)\n      , true\n    );\n  }\n\n  Assertion.addMethod('keys', assertKeys);\n  Assertion.addMethod('key', assertKeys);\n\n  /**\n   * ### .throw([errorLike], [errMsgMatcher], [msg])\n   *\n   * When no arguments are provided, `.throw` invokes the target function and\n   * asserts that an error is thrown.\n   *\n   *     var badFn = function () { throw new TypeError('Illegal salmon!'); };\n   *\n   *     expect(badFn).to.throw();\n   *\n   * When one argument is provided, and it's an error constructor, `.throw`\n   * invokes the target function and asserts that an error is thrown that's an\n   * instance of that error constructor.\n   *\n   *     var badFn = function () { throw new TypeError('Illegal salmon!'); };\n   *\n   *     expect(badFn).to.throw(TypeError);\n   *\n   * When one argument is provided, and it's an error instance, `.throw` invokes\n   * the target function and asserts that an error is thrown that's strictly\n   * (`===`) equal to that error instance.\n   *\n   *     var err = new TypeError('Illegal salmon!');\n   *     var badFn = function () { throw err; };\n   *\n   *     expect(badFn).to.throw(err);\n   *\n   * When one argument is provided, and it's a string, `.throw` invokes the\n   * target function and asserts that an error is thrown with a message that\n   * contains that string.\n   *\n   *     var badFn = function () { throw new TypeError('Illegal salmon!'); };\n   *\n   *     expect(badFn).to.throw('salmon');\n   *\n   * When one argument is provided, and it's a regular expression, `.throw`\n   * invokes the target function and asserts that an error is thrown with a\n   * message that matches that regular expression.\n   *\n   *     var badFn = function () { throw new TypeError('Illegal salmon!'); };\n   *\n   *     expect(badFn).to.throw(/salmon/);\n   *\n   * When two arguments are provided, and the first is an error instance or\n   * constructor, and the second is a string or regular expression, `.throw`\n   * invokes the function and asserts that an error is thrown that fulfills both\n   * conditions as described above.\n   *\n   *     var err = new TypeError('Illegal salmon!');\n   *     var badFn = function () { throw err; };\n   *\n   *     expect(badFn).to.throw(TypeError, 'salmon');\n   *     expect(badFn).to.throw(TypeError, /salmon/);\n   *     expect(badFn).to.throw(err, 'salmon');\n   *     expect(badFn).to.throw(err, /salmon/);\n   *\n   * Add `.not` earlier in the chain to negate `.throw`.\n   *\n   *     var goodFn = function () {};\n   *\n   *     expect(goodFn).to.not.throw();\n   *\n   * However, it's dangerous to negate `.throw` when providing any arguments.\n   * The problem is that it creates uncertain expectations by asserting that the\n   * target either doesn't throw an error, or that it throws an error but of a\n   * different type than the given type, or that it throws an error of the given\n   * type but with a message that doesn't include the given string. It's often\n   * best to identify the exact output that's expected, and then write an\n   * assertion that only accepts that exact output.\n   *\n   * When the target isn't expected to throw an error, it's often best to assert\n   * exactly that.\n   *\n   *     var goodFn = function () {};\n   *\n   *     expect(goodFn).to.not.throw(); // Recommended\n   *     expect(goodFn).to.not.throw(ReferenceError, 'x'); // Not recommended\n   *\n   * When the target is expected to throw an error, it's often best to assert\n   * that the error is of its expected type, and has a message that includes an\n   * expected string, rather than asserting that it doesn't have one of many\n   * unexpected types, and doesn't have a message that includes some string.\n   *\n   *     var badFn = function () { throw new TypeError('Illegal salmon!'); };\n   *\n   *     expect(badFn).to.throw(TypeError, 'salmon'); // Recommended\n   *     expect(badFn).to.not.throw(ReferenceError, 'x'); // Not recommended\n   *\n   * `.throw` changes the target of any assertions that follow in the chain to\n   * be the error object that's thrown.\n   *\n   *     var err = new TypeError('Illegal salmon!');\n   *     err.code = 42;\n   *     var badFn = function () { throw err; };\n   *\n   *     expect(badFn).to.throw(TypeError).with.property('code', 42);\n   *\n   * `.throw` accepts an optional `msg` argument which is a custom error message\n   * to show when the assertion fails. The message can also be given as the\n   * second argument to `expect`. When not providing two arguments, always use\n   * the second form.\n   *\n   *     var goodFn = function () {};\n   *\n   *     expect(goodFn).to.throw(TypeError, 'x', 'nooo why fail??');\n   *     expect(goodFn, 'nooo why fail??').to.throw();\n   *\n   * Due to limitations in ES5, `.throw` may not always work as expected when\n   * using a transpiler such as Babel or TypeScript. In particular, it may\n   * produce unexpected results when subclassing the built-in `Error` object and\n   * then passing the subclassed constructor to `.throw`. See your transpiler's\n   * docs for details:\n   *\n   * - ([Babel](https://babeljs.io/docs/usage/caveats/#classes))\n   * - ([TypeScript](https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work))\n   *\n   * Beware of some common mistakes when using the `throw` assertion. One common\n   * mistake is to accidentally invoke the function yourself instead of letting\n   * the `throw` assertion invoke the function for you. For example, when\n   * testing if a function named `fn` throws, provide `fn` instead of `fn()` as\n   * the target for the assertion.\n   *\n   *     expect(fn).to.throw();     // Good! Tests `fn` as desired\n   *     expect(fn()).to.throw();   // Bad! Tests result of `fn()`, not `fn`\n   *\n   * If you need to assert that your function `fn` throws when passed certain\n   * arguments, then wrap a call to `fn` inside of another function.\n   *\n   *     expect(function () { fn(42); }).to.throw();  // Function expression\n   *     expect(() => fn(42)).to.throw();             // ES6 arrow function\n   *\n   * Another common mistake is to provide an object method (or any stand-alone\n   * function that relies on `this`) as the target of the assertion. Doing so is\n   * problematic because the `this` context will be lost when the function is\n   * invoked by `.throw`; there's no way for it to know what `this` is supposed\n   * to be. There are two ways around this problem. One solution is to wrap the\n   * method or function call inside of another function. Another solution is to\n   * use `bind`.\n   *\n   *     expect(function () { cat.meow(); }).to.throw();  // Function expression\n   *     expect(() => cat.meow()).to.throw();             // ES6 arrow function\n   *     expect(cat.meow.bind(cat)).to.throw();           // Bind\n   *\n   * Finally, it's worth mentioning that it's a best practice in JavaScript to\n   * only throw `Error` and derivatives of `Error` such as `ReferenceError`,\n   * `TypeError`, and user-defined objects that extend `Error`. No other type of\n   * value will generate a stack trace when initialized. With that said, the\n   * `throw` assertion does technically support any type of value being thrown,\n   * not just `Error` and its derivatives.\n   *\n   * The aliases `.throws` and `.Throw` can be used interchangeably with\n   * `.throw`.\n   *\n   * @name throw\n   * @alias throws\n   * @alias Throw\n   * @param {Error|ErrorConstructor} errorLike\n   * @param {String|RegExp} errMsgMatcher error message\n   * @param {String} msg _optional_\n   * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types\n   * @returns error for chaining (null if no error)\n   * @namespace BDD\n   * @api public\n   */\n\n  function assertThrows (errorLike, errMsgMatcher, msg) {\n    if (msg) flag(this, 'message', msg);\n    var obj = flag(this, 'object')\n      , ssfi = flag(this, 'ssfi')\n      , flagMsg = flag(this, 'message')\n      , negate = flag(this, 'negate') || false;\n    new Assertion(obj, flagMsg, ssfi, true).is.a('function');\n\n    if (errorLike instanceof RegExp || typeof errorLike === 'string') {\n      errMsgMatcher = errorLike;\n      errorLike = null;\n    }\n\n    var caughtErr;\n    try {\n      obj();\n    } catch (err) {\n      caughtErr = err;\n    }\n\n    // If we have the negate flag enabled and at least one valid argument it means we do expect an error\n    // but we want it to match a given set of criteria\n    var everyArgIsUndefined = errorLike === undefined && errMsgMatcher === undefined;\n\n    // If we've got the negate flag enabled and both args, we should only fail if both aren't compatible\n    // See Issue #551 and PR #683@GitHub\n    var everyArgIsDefined = Boolean(errorLike && errMsgMatcher);\n    var errorLikeFail = false;\n    var errMsgMatcherFail = false;\n\n    // Checking if error was thrown\n    if (everyArgIsUndefined || !everyArgIsUndefined && !negate) {\n      // We need this to display results correctly according to their types\n      var errorLikeString = 'an error';\n      if (errorLike instanceof Error) {\n        errorLikeString = '#{exp}';\n      } else if (errorLike) {\n        errorLikeString = _.checkError.getConstructorName(errorLike);\n      }\n\n      this.assert(\n          caughtErr\n        , 'expected #{this} to throw ' + errorLikeString\n        , 'expected #{this} to not throw an error but #{act} was thrown'\n        , errorLike && errorLike.toString()\n        , (caughtErr instanceof Error ?\n            caughtErr.toString() : (typeof caughtErr === 'string' ? caughtErr : caughtErr &&\n                                    _.checkError.getConstructorName(caughtErr)))\n      );\n    }\n\n    if (errorLike && caughtErr) {\n      // We should compare instances only if `errorLike` is an instance of `Error`\n      if (errorLike instanceof Error) {\n        var isCompatibleInstance = _.checkError.compatibleInstance(caughtErr, errorLike);\n\n        if (isCompatibleInstance === negate) {\n          // These checks were created to ensure we won't fail too soon when we've got both args and a negate\n          // See Issue #551 and PR #683@GitHub\n          if (everyArgIsDefined && negate) {\n            errorLikeFail = true;\n          } else {\n            this.assert(\n                negate\n              , 'expected #{this} to throw #{exp} but #{act} was thrown'\n              , 'expected #{this} to not throw #{exp}' + (caughtErr && !negate ? ' but #{act} was thrown' : '')\n              , errorLike.toString()\n              , caughtErr.toString()\n            );\n          }\n        }\n      }\n\n      var isCompatibleConstructor = _.checkError.compatibleConstructor(caughtErr, errorLike);\n      if (isCompatibleConstructor === negate) {\n        if (everyArgIsDefined && negate) {\n            errorLikeFail = true;\n        } else {\n          this.assert(\n              negate\n            , 'expected #{this} to throw #{exp} but #{act} was thrown'\n            , 'expected #{this} to not throw #{exp}' + (caughtErr ? ' but #{act} was thrown' : '')\n            , (errorLike instanceof Error ? errorLike.toString() : errorLike && _.checkError.getConstructorName(errorLike))\n            , (caughtErr instanceof Error ? caughtErr.toString() : caughtErr && _.checkError.getConstructorName(caughtErr))\n          );\n        }\n      }\n    }\n\n    if (caughtErr && errMsgMatcher !== undefined && errMsgMatcher !== null) {\n      // Here we check compatible messages\n      var placeholder = 'including';\n      if (errMsgMatcher instanceof RegExp) {\n        placeholder = 'matching'\n      }\n\n      var isCompatibleMessage = _.checkError.compatibleMessage(caughtErr, errMsgMatcher);\n      if (isCompatibleMessage === negate) {\n        if (everyArgIsDefined && negate) {\n            errMsgMatcherFail = true;\n        } else {\n          this.assert(\n            negate\n            , 'expected #{this} to throw error ' + placeholder + ' #{exp} but got #{act}'\n            , 'expected #{this} to throw error not ' + placeholder + ' #{exp}'\n            ,  errMsgMatcher\n            ,  _.checkError.getMessage(caughtErr)\n          );\n        }\n      }\n    }\n\n    // If both assertions failed and both should've matched we throw an error\n    if (errorLikeFail && errMsgMatcherFail) {\n      this.assert(\n        negate\n        , 'expected #{this} to throw #{exp} but #{act} was thrown'\n        , 'expected #{this} to not throw #{exp}' + (caughtErr ? ' but #{act} was thrown' : '')\n        , (errorLike instanceof Error ? errorLike.toString() : errorLike && _.checkError.getConstructorName(errorLike))\n        , (caughtErr instanceof Error ? caughtErr.toString() : caughtErr && _.checkError.getConstructorName(caughtErr))\n      );\n    }\n\n    flag(this, 'object', caughtErr);\n  };\n\n  Assertion.addMethod('throw', assertThrows);\n  Assertion.addMethod('throws', assertThrows);\n  Assertion.addMethod('Throw', assertThrows);\n\n  /**\n   * ### .respondTo(method[, msg])\n   *\n   * When the target is a non-function object, `.respondTo` asserts that the\n   * target has a method with the given name `method`. The method can be own or\n   * inherited, and it can be enumerable or non-enumerable.\n   *\n   *     function Cat () {}\n   *     Cat.prototype.meow = function () {};\n   *\n   *     expect(new Cat()).to.respondTo('meow');\n   *\n   * When the target is a function, `.respondTo` asserts that the target's\n   * `prototype` property has a method with the given name `method`. Again, the\n   * method can be own or inherited, and it can be enumerable or non-enumerable.\n   *\n   *     function Cat () {}\n   *     Cat.prototype.meow = function () {};\n   *\n   *     expect(Cat).to.respondTo('meow');\n   *\n   * Add `.itself` earlier in the chain to force `.respondTo` to treat the\n   * target as a non-function object, even if it's a function. Thus, it asserts\n   * that the target has a method with the given name `method`, rather than\n   * asserting that the target's `prototype` property has a method with the\n   * given name `method`.\n   *\n   *     function Cat () {}\n   *     Cat.prototype.meow = function () {};\n   *     Cat.hiss = function () {};\n   *\n   *     expect(Cat).itself.to.respondTo('hiss').but.not.respondTo('meow');\n   *\n   * When not adding `.itself`, it's important to check the target's type before\n   * using `.respondTo`. See the `.a` doc for info on checking a target's type.\n   *\n   *     function Cat () {}\n   *     Cat.prototype.meow = function () {};\n   *\n   *     expect(new Cat()).to.be.an('object').that.respondsTo('meow');\n   *\n   * Add `.not` earlier in the chain to negate `.respondTo`.\n   *\n   *     function Dog () {}\n   *     Dog.prototype.bark = function () {};\n   *\n   *     expect(new Dog()).to.not.respondTo('meow');\n   *\n   * `.respondTo` accepts an optional `msg` argument which is a custom error\n   * message to show when the assertion fails. The message can also be given as\n   * the second argument to `expect`.\n   *\n   *     expect({}).to.respondTo('meow', 'nooo why fail??');\n   *     expect({}, 'nooo why fail??').to.respondTo('meow');\n   *\n   * The alias `.respondsTo` can be used interchangeably with `.respondTo`.\n   *\n   * @name respondTo\n   * @alias respondsTo\n   * @param {String} method\n   * @param {String} msg _optional_\n   * @namespace BDD\n   * @api public\n   */\n\n  function respondTo (method, msg) {\n    if (msg) flag(this, 'message', msg);\n    var obj = flag(this, 'object')\n      , itself = flag(this, 'itself')\n      , context = ('function' === typeof obj && !itself)\n        ? obj.prototype[method]\n        : obj[method];\n\n    this.assert(\n        'function' === typeof context\n      , 'expected #{this} to respond to ' + _.inspect(method)\n      , 'expected #{this} to not respond to ' + _.inspect(method)\n    );\n  }\n\n  Assertion.addMethod('respondTo', respondTo);\n  Assertion.addMethod('respondsTo', respondTo);\n\n  /**\n   * ### .itself\n   *\n   * Forces all `.respondTo` assertions that follow in the chain to behave as if\n   * the target is a non-function object, even if it's a function. Thus, it\n   * causes `.respondTo` to assert that the target has a method with the given\n   * name, rather than asserting that the target's `prototype` property has a\n   * method with the given name.\n   *\n   *     function Cat () {}\n   *     Cat.prototype.meow = function () {};\n   *     Cat.hiss = function () {};\n   *\n   *     expect(Cat).itself.to.respondTo('hiss').but.not.respondTo('meow');\n   *\n   * @name itself\n   * @namespace BDD\n   * @api public\n   */\n\n  Assertion.addProperty('itself', function () {\n    flag(this, 'itself', true);\n  });\n\n  /**\n   * ### .satisfy(matcher[, msg])\n   *\n   * Invokes the given `matcher` function with the target being passed as the\n   * first argument, and asserts that the value returned is truthy.\n   *\n   *     expect(1).to.satisfy(function(num) {\n   *       return num > 0;\n   *     });\n   *\n   * Add `.not` earlier in the chain to negate `.satisfy`.\n   *\n   *     expect(1).to.not.satisfy(function(num) {\n   *       return num > 2;\n   *     });\n   *\n   * `.satisfy` accepts an optional `msg` argument which is a custom error\n   * message to show when the assertion fails. The message can also be given as\n   * the second argument to `expect`.\n   *\n   *     expect(1).to.satisfy(function(num) {\n   *       return num > 2;\n   *     }, 'nooo why fail??');\n   *\n   *     expect(1, 'nooo why fail??').to.satisfy(function(num) {\n   *       return num > 2;\n   *     });\n   *\n   * The alias `.satisfies` can be used interchangeably with `.satisfy`.\n   *\n   * @name satisfy\n   * @alias satisfies\n   * @param {Function} matcher\n   * @param {String} msg _optional_\n   * @namespace BDD\n   * @api public\n   */\n\n  function satisfy (matcher, msg) {\n    if (msg) flag(this, 'message', msg);\n    var obj = flag(this, 'object');\n    var result = matcher(obj);\n    this.assert(\n        result\n      , 'expected #{this} to satisfy ' + _.objDisplay(matcher)\n      , 'expected #{this} to not satisfy' + _.objDisplay(matcher)\n      , flag(this, 'negate') ? false : true\n      , result\n    );\n  }\n\n  Assertion.addMethod('satisfy', satisfy);\n  Assertion.addMethod('satisfies', satisfy);\n\n  /**\n   * ### .closeTo(expected, delta[, msg])\n   *\n   * Asserts that the target is a number that's within a given +/- `delta` range\n   * of the given number `expected`. However, it's often best to assert that the\n   * target is equal to its expected value.\n   *\n   *     // Recommended\n   *     expect(1.5).to.equal(1.5);\n   *\n   *     // Not recommended\n   *     expect(1.5).to.be.closeTo(1, 0.5);\n   *     expect(1.5).to.be.closeTo(2, 0.5);\n   *     expect(1.5).to.be.closeTo(1, 1);\n   *\n   * Add `.not` earlier in the chain to negate `.closeTo`.\n   *\n   *     expect(1.5).to.equal(1.5); // Recommended\n   *     expect(1.5).to.not.be.closeTo(3, 1); // Not recommended\n   *\n   * `.closeTo` accepts an optional `msg` argument which is a custom error\n   * message to show when the assertion fails. The message can also be given as\n   * the second argument to `expect`.\n   *\n   *     expect(1.5).to.be.closeTo(3, 1, 'nooo why fail??');\n   *     expect(1.5, 'nooo why fail??').to.be.closeTo(3, 1);\n   *\n   * The alias `.approximately` can be used interchangeably with `.closeTo`.\n   *\n   * @name closeTo\n   * @alias approximately\n   * @param {Number} expected\n   * @param {Number} delta\n   * @param {String} msg _optional_\n   * @namespace BDD\n   * @api public\n   */\n\n  function closeTo(expected, delta, msg) {\n    if (msg) flag(this, 'message', msg);\n    var obj = flag(this, 'object')\n      , flagMsg = flag(this, 'message')\n      , ssfi = flag(this, 'ssfi');\n\n    new Assertion(obj, flagMsg, ssfi, true).is.a('number');\n    if (typeof expected !== 'number' || typeof delta !== 'number') {\n      flagMsg = flagMsg ? flagMsg + ': ' : '';\n      var deltaMessage = delta === undefined ? \", and a delta is required\" : \"\";\n      throw new AssertionError(\n          flagMsg + 'the arguments to closeTo or approximately must be numbers' + deltaMessage,\n          undefined,\n          ssfi\n      );\n    }\n\n    this.assert(\n        Math.abs(obj - expected) <= delta\n      , 'expected #{this} to be close to ' + expected + ' +/- ' + delta\n      , 'expected #{this} not to be close to ' + expected + ' +/- ' + delta\n    );\n  }\n\n  Assertion.addMethod('closeTo', closeTo);\n  Assertion.addMethod('approximately', closeTo);\n\n  // Note: Duplicates are ignored if testing for inclusion instead of sameness.\n  function isSubsetOf(subset, superset, cmp, contains, ordered) {\n    if (!contains) {\n      if (subset.length !== superset.length) return false;\n      superset = superset.slice();\n    }\n\n    return subset.every(function(elem, idx) {\n      if (ordered) return cmp ? cmp(elem, superset[idx]) : elem === superset[idx];\n\n      if (!cmp) {\n        var matchIdx = superset.indexOf(elem);\n        if (matchIdx === -1) return false;\n\n        // Remove match from superset so not counted twice if duplicate in subset.\n        if (!contains) superset.splice(matchIdx, 1);\n        return true;\n      }\n\n      return superset.some(function(elem2, matchIdx) {\n        if (!cmp(elem, elem2)) return false;\n\n        // Remove match from superset so not counted twice if duplicate in subset.\n        if (!contains) superset.splice(matchIdx, 1);\n        return true;\n      });\n    });\n  }\n\n  /**\n   * ### .members(set[, msg])\n   *\n   * Asserts that the target array has the same members as the given array\n   * `set`.\n   *\n   *     expect([1, 2, 3]).to.have.members([2, 1, 3]);\n   *     expect([1, 2, 2]).to.have.members([2, 1, 2]);\n   *\n   * By default, members are compared using strict (`===`) equality. Add `.deep`\n   * earlier in the chain to use deep equality instead. See the `deep-eql`\n   * project page for info on the deep equality algorithm:\n   * https://github.com/chaijs/deep-eql.\n   *\n   *     // Target array deeply (but not strictly) has member `{a: 1}`\n   *     expect([{a: 1}]).to.have.deep.members([{a: 1}]);\n   *     expect([{a: 1}]).to.not.have.members([{a: 1}]);\n   *\n   * By default, order doesn't matter. Add `.ordered` earlier in the chain to\n   * require that members appear in the same order.\n   *\n   *     expect([1, 2, 3]).to.have.ordered.members([1, 2, 3]);\n   *     expect([1, 2, 3]).to.have.members([2, 1, 3])\n   *       .but.not.ordered.members([2, 1, 3]);\n   *\n   * By default, both arrays must be the same size. Add `.include` earlier in\n   * the chain to require that the target's members be a superset of the\n   * expected members. Note that duplicates are ignored in the subset when\n   * `.include` is added.\n   *\n   *     // Target array is a superset of [1, 2] but not identical\n   *     expect([1, 2, 3]).to.include.members([1, 2]);\n   *     expect([1, 2, 3]).to.not.have.members([1, 2]);\n   *\n   *     // Duplicates in the subset are ignored\n   *     expect([1, 2, 3]).to.include.members([1, 2, 2, 2]);\n   *\n   * `.deep`, `.ordered`, and `.include` can all be combined. However, if\n   * `.include` and `.ordered` are combined, the ordering begins at the start of\n   * both arrays.\n   *\n   *     expect([{a: 1}, {b: 2}, {c: 3}])\n   *       .to.include.deep.ordered.members([{a: 1}, {b: 2}])\n   *       .but.not.include.deep.ordered.members([{b: 2}, {c: 3}]);\n   *\n   * Add `.not` earlier in the chain to negate `.members`. However, it's\n   * dangerous to do so. The problem is that it creates uncertain expectations\n   * by asserting that the target array doesn't have all of the same members as\n   * the given array `set` but may or may not have some of them. It's often best\n   * to identify the exact output that's expected, and then write an assertion\n   * that only accepts that exact output.\n   *\n   *     expect([1, 2]).to.not.include(3).and.not.include(4); // Recommended\n   *     expect([1, 2]).to.not.have.members([3, 4]); // Not recommended\n   *\n   * `.members` accepts an optional `msg` argument which is a custom error\n   * message to show when the assertion fails. The message can also be given as\n   * the second argument to `expect`.\n   *\n   *     expect([1, 2]).to.have.members([1, 2, 3], 'nooo why fail??');\n   *     expect([1, 2], 'nooo why fail??').to.have.members([1, 2, 3]);\n   *\n   * @name members\n   * @param {Array} set\n   * @param {String} msg _optional_\n   * @namespace BDD\n   * @api public\n   */\n\n  Assertion.addMethod('members', function (subset, msg) {\n    if (msg) flag(this, 'message', msg);\n    var obj = flag(this, 'object')\n      , flagMsg = flag(this, 'message')\n      , ssfi = flag(this, 'ssfi');\n\n    new Assertion(obj, flagMsg, ssfi, true).to.be.an('array');\n    new Assertion(subset, flagMsg, ssfi, true).to.be.an('array');\n\n    var contains = flag(this, 'contains');\n    var ordered = flag(this, 'ordered');\n\n    var subject, failMsg, failNegateMsg;\n\n    if (contains) {\n      subject = ordered ? 'an ordered superset' : 'a superset';\n      failMsg = 'expected #{this} to be ' + subject + ' of #{exp}';\n      failNegateMsg = 'expected #{this} to not be ' + subject + ' of #{exp}';\n    } else {\n      subject = ordered ? 'ordered members' : 'members';\n      failMsg = 'expected #{this} to have the same ' + subject + ' as #{exp}';\n      failNegateMsg = 'expected #{this} to not have the same ' + subject + ' as #{exp}';\n    }\n\n    var cmp = flag(this, 'deep') ? flag(this, 'eql') : undefined;\n\n    this.assert(\n        isSubsetOf(subset, obj, cmp, contains, ordered)\n      , failMsg\n      , failNegateMsg\n      , subset\n      , obj\n      , true\n    );\n  });\n\n  /**\n   * ### .oneOf(list[, msg])\n   *\n   * Asserts that the target is a member of the given array `list`. However,\n   * it's often best to assert that the target is equal to its expected value.\n   *\n   *     expect(1).to.equal(1); // Recommended\n   *     expect(1).to.be.oneOf([1, 2, 3]); // Not recommended\n   *\n   * Comparisons are performed using strict (`===`) equality.\n   *\n   * Add `.not` earlier in the chain to negate `.oneOf`.\n   *\n   *     expect(1).to.equal(1); // Recommended\n   *     expect(1).to.not.be.oneOf([2, 3, 4]); // Not recommended\n   *\n   * It can also be chained with `.contain` or `.include`, which will work with\n   * both arrays and strings:\n   *\n   *     expect('Today is sunny').to.contain.oneOf(['sunny', 'cloudy'])\n   *     expect('Today is rainy').to.not.contain.oneOf(['sunny', 'cloudy'])\n   *     expect([1,2,3]).to.contain.oneOf([3,4,5])\n   *     expect([1,2,3]).to.not.contain.oneOf([4,5,6])\n   *\n   * `.oneOf` accepts an optional `msg` argument which is a custom error message\n   * to show when the assertion fails. The message can also be given as the\n   * second argument to `expect`.\n   *\n   *     expect(1).to.be.oneOf([2, 3, 4], 'nooo why fail??');\n   *     expect(1, 'nooo why fail??').to.be.oneOf([2, 3, 4]);\n   *\n   * @name oneOf\n   * @param {Array<*>} list\n   * @param {String} msg _optional_\n   * @namespace BDD\n   * @api public\n   */\n\n  function oneOf (list, msg) {\n    if (msg) flag(this, 'message', msg);\n    var expected = flag(this, 'object')\n      , flagMsg = flag(this, 'message')\n      , ssfi = flag(this, 'ssfi')\n      , contains = flag(this, 'contains')\n      , isDeep = flag(this, 'deep')\n      , eql = flag(this, 'eql');\n    new Assertion(list, flagMsg, ssfi, true).to.be.an('array');\n\n    if (contains) {\n      this.assert(\n        list.some(function(possibility) { return expected.indexOf(possibility) > -1 })\n        , 'expected #{this} to contain one of #{exp}'\n        , 'expected #{this} to not contain one of #{exp}'\n        , list\n        , expected\n      );\n    } else {\n      if (isDeep) {\n        this.assert(\n          list.some(function(possibility) { return eql(expected, possibility) })\n          , 'expected #{this} to deeply equal one of #{exp}'\n          , 'expected #{this} to deeply equal one of #{exp}'\n          , list\n          , expected\n        );\n      } else {\n        this.assert(\n          list.indexOf(expected) > -1\n          , 'expected #{this} to be one of #{exp}'\n          , 'expected #{this} to not be one of #{exp}'\n          , list\n          , expected\n        );\n      }\n    }\n  }\n\n  Assertion.addMethod('oneOf', oneOf);\n\n  /**\n   * ### .change(subject[, prop[, msg]])\n   *\n   * When one argument is provided, `.change` asserts that the given function\n   * `subject` returns a different value when it's invoked before the target\n   * function compared to when it's invoked afterward. However, it's often best\n   * to assert that `subject` is equal to its expected value.\n   *\n   *     var dots = ''\n   *       , addDot = function () { dots += '.'; }\n   *       , getDots = function () { return dots; };\n   *\n   *     // Recommended\n   *     expect(getDots()).to.equal('');\n   *     addDot();\n   *     expect(getDots()).to.equal('.');\n   *\n   *     // Not recommended\n   *     expect(addDot).to.change(getDots);\n   *\n   * When two arguments are provided, `.change` asserts that the value of the\n   * given object `subject`'s `prop` property is different before invoking the\n   * target function compared to afterward.\n   *\n   *     var myObj = {dots: ''}\n   *       , addDot = function () { myObj.dots += '.'; };\n   *\n   *     // Recommended\n   *     expect(myObj).to.have.property('dots', '');\n   *     addDot();\n   *     expect(myObj).to.have.property('dots', '.');\n   *\n   *     // Not recommended\n   *     expect(addDot).to.change(myObj, 'dots');\n   *\n   * Strict (`===`) equality is used to compare before and after values.\n   *\n   * Add `.not` earlier in the chain to negate `.change`.\n   *\n   *     var dots = ''\n   *       , noop = function () {}\n   *       , getDots = function () { return dots; };\n   *\n   *     expect(noop).to.not.change(getDots);\n   *\n   *     var myObj = {dots: ''}\n   *       , noop = function () {};\n   *\n   *     expect(noop).to.not.change(myObj, 'dots');\n   *\n   * `.change` accepts an optional `msg` argument which is a custom error\n   * message to show when the assertion fails. The message can also be given as\n   * the second argument to `expect`. When not providing two arguments, always\n   * use the second form.\n   *\n   *     var myObj = {dots: ''}\n   *       , addDot = function () { myObj.dots += '.'; };\n   *\n   *     expect(addDot).to.not.change(myObj, 'dots', 'nooo why fail??');\n   *\n   *     var dots = ''\n   *       , addDot = function () { dots += '.'; }\n   *       , getDots = function () { return dots; };\n   *\n   *     expect(addDot, 'nooo why fail??').to.not.change(getDots);\n   *\n   * `.change` also causes all `.by` assertions that follow in the chain to\n   * assert how much a numeric subject was increased or decreased by. However,\n   * it's dangerous to use `.change.by`. The problem is that it creates\n   * uncertain expectations by asserting that the subject either increases by\n   * the given delta, or that it decreases by the given delta. It's often best\n   * to identify the exact output that's expected, and then write an assertion\n   * that only accepts that exact output.\n   *\n   *     var myObj = {val: 1}\n   *       , addTwo = function () { myObj.val += 2; }\n   *       , subtractTwo = function () { myObj.val -= 2; };\n   *\n   *     expect(addTwo).to.increase(myObj, 'val').by(2); // Recommended\n   *     expect(addTwo).to.change(myObj, 'val').by(2); // Not recommended\n   *\n   *     expect(subtractTwo).to.decrease(myObj, 'val').by(2); // Recommended\n   *     expect(subtractTwo).to.change(myObj, 'val').by(2); // Not recommended\n   *\n   * The alias `.changes` can be used interchangeably with `.change`.\n   *\n   * @name change\n   * @alias changes\n   * @param {String} subject\n   * @param {String} prop name _optional_\n   * @param {String} msg _optional_\n   * @namespace BDD\n   * @api public\n   */\n\n  function assertChanges (subject, prop, msg) {\n    if (msg) flag(this, 'message', msg);\n    var fn = flag(this, 'object')\n      , flagMsg = flag(this, 'message')\n      , ssfi = flag(this, 'ssfi');\n    new Assertion(fn, flagMsg, ssfi, true).is.a('function');\n\n    var initial;\n    if (!prop) {\n      new Assertion(subject, flagMsg, ssfi, true).is.a('function');\n      initial = subject();\n    } else {\n      new Assertion(subject, flagMsg, ssfi, true).to.have.property(prop);\n      initial = subject[prop];\n    }\n\n    fn();\n\n    var final = prop === undefined || prop === null ? subject() : subject[prop];\n    var msgObj = prop === undefined || prop === null ? initial : '.' + prop;\n\n    // This gets flagged because of the .by(delta) assertion\n    flag(this, 'deltaMsgObj', msgObj);\n    flag(this, 'initialDeltaValue', initial);\n    flag(this, 'finalDeltaValue', final);\n    flag(this, 'deltaBehavior', 'change');\n    flag(this, 'realDelta', final !== initial);\n\n    this.assert(\n      initial !== final\n      , 'expected ' + msgObj + ' to change'\n      , 'expected ' + msgObj + ' to not change'\n    );\n  }\n\n  Assertion.addMethod('change', assertChanges);\n  Assertion.addMethod('changes', assertChanges);\n\n  /**\n   * ### .increase(subject[, prop[, msg]])\n   *\n   * When one argument is provided, `.increase` asserts that the given function\n   * `subject` returns a greater number when it's invoked after invoking the\n   * target function compared to when it's invoked beforehand. `.increase` also\n   * causes all `.by` assertions that follow in the chain to assert how much\n   * greater of a number is returned. It's often best to assert that the return\n   * value increased by the expected amount, rather than asserting it increased\n   * by any amount.\n   *\n   *     var val = 1\n   *       , addTwo = function () { val += 2; }\n   *       , getVal = function () { return val; };\n   *\n   *     expect(addTwo).to.increase(getVal).by(2); // Recommended\n   *     expect(addTwo).to.increase(getVal); // Not recommended\n   *\n   * When two arguments are provided, `.increase` asserts that the value of the\n   * given object `subject`'s `prop` property is greater after invoking the\n   * target function compared to beforehand.\n   *\n   *     var myObj = {val: 1}\n   *       , addTwo = function () { myObj.val += 2; };\n   *\n   *     expect(addTwo).to.increase(myObj, 'val').by(2); // Recommended\n   *     expect(addTwo).to.increase(myObj, 'val'); // Not recommended\n   *\n   * Add `.not` earlier in the chain to negate `.increase`. However, it's\n   * dangerous to do so. The problem is that it creates uncertain expectations\n   * by asserting that the subject either decreases, or that it stays the same.\n   * It's often best to identify the exact output that's expected, and then\n   * write an assertion that only accepts that exact output.\n   *\n   * When the subject is expected to decrease, it's often best to assert that it\n   * decreased by the expected amount.\n   *\n   *     var myObj = {val: 1}\n   *       , subtractTwo = function () { myObj.val -= 2; };\n   *\n   *     expect(subtractTwo).to.decrease(myObj, 'val').by(2); // Recommended\n   *     expect(subtractTwo).to.not.increase(myObj, 'val'); // Not recommended\n   *\n   * When the subject is expected to stay the same, it's often best to assert\n   * exactly that.\n   *\n   *     var myObj = {val: 1}\n   *       , noop = function () {};\n   *\n   *     expect(noop).to.not.change(myObj, 'val'); // Recommended\n   *     expect(noop).to.not.increase(myObj, 'val'); // Not recommended\n   *\n   * `.increase` accepts an optional `msg` argument which is a custom error\n   * message to show when the assertion fails. The message can also be given as\n   * the second argument to `expect`. When not providing two arguments, always\n   * use the second form.\n   *\n   *     var myObj = {val: 1}\n   *       , noop = function () {};\n   *\n   *     expect(noop).to.increase(myObj, 'val', 'nooo why fail??');\n   *\n   *     var val = 1\n   *       , noop = function () {}\n   *       , getVal = function () { return val; };\n   *\n   *     expect(noop, 'nooo why fail??').to.increase(getVal);\n   *\n   * The alias `.increases` can be used interchangeably with `.increase`.\n   *\n   * @name increase\n   * @alias increases\n   * @param {String|Function} subject\n   * @param {String} prop name _optional_\n   * @param {String} msg _optional_\n   * @namespace BDD\n   * @api public\n   */\n\n  function assertIncreases (subject, prop, msg) {\n    if (msg) flag(this, 'message', msg);\n    var fn = flag(this, 'object')\n      , flagMsg = flag(this, 'message')\n      , ssfi = flag(this, 'ssfi');\n    new Assertion(fn, flagMsg, ssfi, true).is.a('function');\n\n    var initial;\n    if (!prop) {\n      new Assertion(subject, flagMsg, ssfi, true).is.a('function');\n      initial = subject();\n    } else {\n      new Assertion(subject, flagMsg, ssfi, true).to.have.property(prop);\n      initial = subject[prop];\n    }\n\n    // Make sure that the target is a number\n    new Assertion(initial, flagMsg, ssfi, true).is.a('number');\n\n    fn();\n\n    var final = prop === undefined || prop === null ? subject() : subject[prop];\n    var msgObj = prop === undefined || prop === null ? initial : '.' + prop;\n\n    flag(this, 'deltaMsgObj', msgObj);\n    flag(this, 'initialDeltaValue', initial);\n    flag(this, 'finalDeltaValue', final);\n    flag(this, 'deltaBehavior', 'increase');\n    flag(this, 'realDelta', final - initial);\n\n    this.assert(\n      final - initial > 0\n      , 'expected ' + msgObj + ' to increase'\n      , 'expected ' + msgObj + ' to not increase'\n    );\n  }\n\n  Assertion.addMethod('increase', assertIncreases);\n  Assertion.addMethod('increases', assertIncreases);\n\n  /**\n   * ### .decrease(subject[, prop[, msg]])\n   *\n   * When one argument is provided, `.decrease` asserts that the given function\n   * `subject` returns a lesser number when it's invoked after invoking the\n   * target function compared to when it's invoked beforehand. `.decrease` also\n   * causes all `.by` assertions that follow in the chain to assert how much\n   * lesser of a number is returned. It's often best to assert that the return\n   * value decreased by the expected amount, rather than asserting it decreased\n   * by any amount.\n   *\n   *     var val = 1\n   *       , subtractTwo = function () { val -= 2; }\n   *       , getVal = function () { return val; };\n   *\n   *     expect(subtractTwo).to.decrease(getVal).by(2); // Recommended\n   *     expect(subtractTwo).to.decrease(getVal); // Not recommended\n   *\n   * When two arguments are provided, `.decrease` asserts that the value of the\n   * given object `subject`'s `prop` property is lesser after invoking the\n   * target function compared to beforehand.\n   *\n   *     var myObj = {val: 1}\n   *       , subtractTwo = function () { myObj.val -= 2; };\n   *\n   *     expect(subtractTwo).to.decrease(myObj, 'val').by(2); // Recommended\n   *     expect(subtractTwo).to.decrease(myObj, 'val'); // Not recommended\n   *\n   * Add `.not` earlier in the chain to negate `.decrease`. However, it's\n   * dangerous to do so. The problem is that it creates uncertain expectations\n   * by asserting that the subject either increases, or that it stays the same.\n   * It's often best to identify the exact output that's expected, and then\n   * write an assertion that only accepts that exact output.\n   *\n   * When the subject is expected to increase, it's often best to assert that it\n   * increased by the expected amount.\n   *\n   *     var myObj = {val: 1}\n   *       , addTwo = function () { myObj.val += 2; };\n   *\n   *     expect(addTwo).to.increase(myObj, 'val').by(2); // Recommended\n   *     expect(addTwo).to.not.decrease(myObj, 'val'); // Not recommended\n   *\n   * When the subject is expected to stay the same, it's often best to assert\n   * exactly that.\n   *\n   *     var myObj = {val: 1}\n   *       , noop = function () {};\n   *\n   *     expect(noop).to.not.change(myObj, 'val'); // Recommended\n   *     expect(noop).to.not.decrease(myObj, 'val'); // Not recommended\n   *\n   * `.decrease` accepts an optional `msg` argument which is a custom error\n   * message to show when the assertion fails. The message can also be given as\n   * the second argument to `expect`. When not providing two arguments, always\n   * use the second form.\n   *\n   *     var myObj = {val: 1}\n   *       , noop = function () {};\n   *\n   *     expect(noop).to.decrease(myObj, 'val', 'nooo why fail??');\n   *\n   *     var val = 1\n   *       , noop = function () {}\n   *       , getVal = function () { return val; };\n   *\n   *     expect(noop, 'nooo why fail??').to.decrease(getVal);\n   *\n   * The alias `.decreases` can be used interchangeably with `.decrease`.\n   *\n   * @name decrease\n   * @alias decreases\n   * @param {String|Function} subject\n   * @param {String} prop name _optional_\n   * @param {String} msg _optional_\n   * @namespace BDD\n   * @api public\n   */\n\n  function assertDecreases (subject, prop, msg) {\n    if (msg) flag(this, 'message', msg);\n    var fn = flag(this, 'object')\n      , flagMsg = flag(this, 'message')\n      , ssfi = flag(this, 'ssfi');\n    new Assertion(fn, flagMsg, ssfi, true).is.a('function');\n\n    var initial;\n    if (!prop) {\n      new Assertion(subject, flagMsg, ssfi, true).is.a('function');\n      initial = subject();\n    } else {\n      new Assertion(subject, flagMsg, ssfi, true).to.have.property(prop);\n      initial = subject[prop];\n    }\n\n    // Make sure that the target is a number\n    new Assertion(initial, flagMsg, ssfi, true).is.a('number');\n\n    fn();\n\n    var final = prop === undefined || prop === null ? subject() : subject[prop];\n    var msgObj = prop === undefined || prop === null ? initial : '.' + prop;\n\n    flag(this, 'deltaMsgObj', msgObj);\n    flag(this, 'initialDeltaValue', initial);\n    flag(this, 'finalDeltaValue', final);\n    flag(this, 'deltaBehavior', 'decrease');\n    flag(this, 'realDelta', initial - final);\n\n    this.assert(\n      final - initial < 0\n      , 'expected ' + msgObj + ' to decrease'\n      , 'expected ' + msgObj + ' to not decrease'\n    );\n  }\n\n  Assertion.addMethod('decrease', assertDecreases);\n  Assertion.addMethod('decreases', assertDecreases);\n\n  /**\n   * ### .by(delta[, msg])\n   *\n   * When following an `.increase` assertion in the chain, `.by` asserts that\n   * the subject of the `.increase` assertion increased by the given `delta`.\n   *\n   *     var myObj = {val: 1}\n   *       , addTwo = function () { myObj.val += 2; };\n   *\n   *     expect(addTwo).to.increase(myObj, 'val').by(2);\n   *\n   * When following a `.decrease` assertion in the chain, `.by` asserts that the\n   * subject of the `.decrease` assertion decreased by the given `delta`.\n   *\n   *     var myObj = {val: 1}\n   *       , subtractTwo = function () { myObj.val -= 2; };\n   *\n   *     expect(subtractTwo).to.decrease(myObj, 'val').by(2);\n   *\n   * When following a `.change` assertion in the chain, `.by` asserts that the\n   * subject of the `.change` assertion either increased or decreased by the\n   * given `delta`. However, it's dangerous to use `.change.by`. The problem is\n   * that it creates uncertain expectations. It's often best to identify the\n   * exact output that's expected, and then write an assertion that only accepts\n   * that exact output.\n   *\n   *     var myObj = {val: 1}\n   *       , addTwo = function () { myObj.val += 2; }\n   *       , subtractTwo = function () { myObj.val -= 2; };\n   *\n   *     expect(addTwo).to.increase(myObj, 'val').by(2); // Recommended\n   *     expect(addTwo).to.change(myObj, 'val').by(2); // Not recommended\n   *\n   *     expect(subtractTwo).to.decrease(myObj, 'val').by(2); // Recommended\n   *     expect(subtractTwo).to.change(myObj, 'val').by(2); // Not recommended\n   *\n   * Add `.not` earlier in the chain to negate `.by`. However, it's often best\n   * to assert that the subject changed by its expected delta, rather than\n   * asserting that it didn't change by one of countless unexpected deltas.\n   *\n   *     var myObj = {val: 1}\n   *       , addTwo = function () { myObj.val += 2; };\n   *\n   *     // Recommended\n   *     expect(addTwo).to.increase(myObj, 'val').by(2);\n   *\n   *     // Not recommended\n   *     expect(addTwo).to.increase(myObj, 'val').but.not.by(3);\n   *\n   * `.by` accepts an optional `msg` argument which is a custom error message to\n   * show when the assertion fails. The message can also be given as the second\n   * argument to `expect`.\n   *\n   *     var myObj = {val: 1}\n   *       , addTwo = function () { myObj.val += 2; };\n   *\n   *     expect(addTwo).to.increase(myObj, 'val').by(3, 'nooo why fail??');\n   *     expect(addTwo, 'nooo why fail??').to.increase(myObj, 'val').by(3);\n   *\n   * @name by\n   * @param {Number} delta\n   * @param {String} msg _optional_\n   * @namespace BDD\n   * @api public\n   */\n\n  function assertDelta(delta, msg) {\n    if (msg) flag(this, 'message', msg);\n\n    var msgObj = flag(this, 'deltaMsgObj');\n    var initial = flag(this, 'initialDeltaValue');\n    var final = flag(this, 'finalDeltaValue');\n    var behavior = flag(this, 'deltaBehavior');\n    var realDelta = flag(this, 'realDelta');\n\n    var expression;\n    if (behavior === 'change') {\n      expression = Math.abs(final - initial) === Math.abs(delta);\n    } else {\n      expression = realDelta === Math.abs(delta);\n    }\n\n    this.assert(\n      expression\n      , 'expected ' + msgObj + ' to ' + behavior + ' by ' + delta\n      , 'expected ' + msgObj + ' to not ' + behavior + ' by ' + delta\n    );\n  }\n\n  Assertion.addMethod('by', assertDelta);\n\n  /**\n   * ### .extensible\n   *\n   * Asserts that the target is extensible, which means that new properties can\n   * be added to it. Primitives are never extensible.\n   *\n   *     expect({a: 1}).to.be.extensible;\n   *\n   * Add `.not` earlier in the chain to negate `.extensible`.\n   *\n   *     var nonExtensibleObject = Object.preventExtensions({})\n   *       , sealedObject = Object.seal({})\n   *       , frozenObject = Object.freeze({});\n   *\n   *     expect(nonExtensibleObject).to.not.be.extensible;\n   *     expect(sealedObject).to.not.be.extensible;\n   *     expect(frozenObject).to.not.be.extensible;\n   *     expect(1).to.not.be.extensible;\n   *\n   * A custom error message can be given as the second argument to `expect`.\n   *\n   *     expect(1, 'nooo why fail??').to.be.extensible;\n   *\n   * @name extensible\n   * @namespace BDD\n   * @api public\n   */\n\n  Assertion.addProperty('extensible', function() {\n    var obj = flag(this, 'object');\n\n    // In ES5, if the argument to this method is a primitive, then it will cause a TypeError.\n    // In ES6, a non-object argument will be treated as if it was a non-extensible ordinary object, simply return false.\n    // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isExtensible\n    // The following provides ES6 behavior for ES5 environments.\n\n    var isExtensible = obj === Object(obj) && Object.isExtensible(obj);\n\n    this.assert(\n      isExtensible\n      , 'expected #{this} to be extensible'\n      , 'expected #{this} to not be extensible'\n    );\n  });\n\n  /**\n   * ### .sealed\n   *\n   * Asserts that the target is sealed, which means that new properties can't be\n   * added to it, and its existing properties can't be reconfigured or deleted.\n   * However, it's possible that its existing properties can still be reassigned\n   * to different values. Primitives are always sealed.\n   *\n   *     var sealedObject = Object.seal({});\n   *     var frozenObject = Object.freeze({});\n   *\n   *     expect(sealedObject).to.be.sealed;\n   *     expect(frozenObject).to.be.sealed;\n   *     expect(1).to.be.sealed;\n   *\n   * Add `.not` earlier in the chain to negate `.sealed`.\n   *\n   *     expect({a: 1}).to.not.be.sealed;\n   *\n   * A custom error message can be given as the second argument to `expect`.\n   *\n   *     expect({a: 1}, 'nooo why fail??').to.be.sealed;\n   *\n   * @name sealed\n   * @namespace BDD\n   * @api public\n   */\n\n  Assertion.addProperty('sealed', function() {\n    var obj = flag(this, 'object');\n\n    // In ES5, if the argument to this method is a primitive, then it will cause a TypeError.\n    // In ES6, a non-object argument will be treated as if it was a sealed ordinary object, simply return true.\n    // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isSealed\n    // The following provides ES6 behavior for ES5 environments.\n\n    var isSealed = obj === Object(obj) ? Object.isSealed(obj) : true;\n\n    this.assert(\n      isSealed\n      , 'expected #{this} to be sealed'\n      , 'expected #{this} to not be sealed'\n    );\n  });\n\n  /**\n   * ### .frozen\n   *\n   * Asserts that the target is frozen, which means that new properties can't be\n   * added to it, and its existing properties can't be reassigned to different\n   * values, reconfigured, or deleted. Primitives are always frozen.\n   *\n   *     var frozenObject = Object.freeze({});\n   *\n   *     expect(frozenObject).to.be.frozen;\n   *     expect(1).to.be.frozen;\n   *\n   * Add `.not` earlier in the chain to negate `.frozen`.\n   *\n   *     expect({a: 1}).to.not.be.frozen;\n   *\n   * A custom error message can be given as the second argument to `expect`.\n   *\n   *     expect({a: 1}, 'nooo why fail??').to.be.frozen;\n   *\n   * @name frozen\n   * @namespace BDD\n   * @api public\n   */\n\n  Assertion.addProperty('frozen', function() {\n    var obj = flag(this, 'object');\n\n    // In ES5, if the argument to this method is a primitive, then it will cause a TypeError.\n    // In ES6, a non-object argument will be treated as if it was a frozen ordinary object, simply return true.\n    // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isFrozen\n    // The following provides ES6 behavior for ES5 environments.\n\n    var isFrozen = obj === Object(obj) ? Object.isFrozen(obj) : true;\n\n    this.assert(\n      isFrozen\n      , 'expected #{this} to be frozen'\n      , 'expected #{this} to not be frozen'\n    );\n  });\n\n  /**\n   * ### .finite\n   *\n   * Asserts that the target is a number, and isn't `NaN` or positive/negative\n   * `Infinity`.\n   *\n   *     expect(1).to.be.finite;\n   *\n   * Add `.not` earlier in the chain to negate `.finite`. However, it's\n   * dangerous to do so. The problem is that it creates uncertain expectations\n   * by asserting that the subject either isn't a number, or that it's `NaN`, or\n   * that it's positive `Infinity`, or that it's negative `Infinity`. It's often\n   * best to identify the exact output that's expected, and then write an\n   * assertion that only accepts that exact output.\n   *\n   * When the target isn't expected to be a number, it's often best to assert\n   * that it's the expected type, rather than asserting that it isn't one of\n   * many unexpected types.\n   *\n   *     expect('foo').to.be.a('string'); // Recommended\n   *     expect('foo').to.not.be.finite; // Not recommended\n   *\n   * When the target is expected to be `NaN`, it's often best to assert exactly\n   * that.\n   *\n   *     expect(NaN).to.be.NaN; // Recommended\n   *     expect(NaN).to.not.be.finite; // Not recommended\n   *\n   * When the target is expected to be positive infinity, it's often best to\n   * assert exactly that.\n   *\n   *     expect(Infinity).to.equal(Infinity); // Recommended\n   *     expect(Infinity).to.not.be.finite; // Not recommended\n   *\n   * When the target is expected to be negative infinity, it's often best to\n   * assert exactly that.\n   *\n   *     expect(-Infinity).to.equal(-Infinity); // Recommended\n   *     expect(-Infinity).to.not.be.finite; // Not recommended\n   *\n   * A custom error message can be given as the second argument to `expect`.\n   *\n   *     expect('foo', 'nooo why fail??').to.be.finite;\n   *\n   * @name finite\n   * @namespace BDD\n   * @api public\n   */\n\n  Assertion.addProperty('finite', function(msg) {\n    var obj = flag(this, 'object');\n\n    this.assert(\n        typeof obj === 'number' && isFinite(obj)\n      , 'expected #{this} to be a finite number'\n      , 'expected #{this} to not be a finite number'\n    );\n  });\n};\n","/*!\n * chai\n * Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>\n * MIT Licensed\n */\n\nmodule.exports = function (chai, util) {\n  /*!\n   * Chai dependencies.\n   */\n\n  var Assertion = chai.Assertion\n    , flag = util.flag;\n\n  /*!\n   * Module export.\n   */\n\n  /**\n   * ### assert(expression, message)\n   *\n   * Write your own test expressions.\n   *\n   *     assert('foo' !== 'bar', 'foo is not bar');\n   *     assert(Array.isArray([]), 'empty arrays are arrays');\n   *\n   * @param {Mixed} expression to test for truthiness\n   * @param {String} message to display on error\n   * @name assert\n   * @namespace Assert\n   * @api public\n   */\n\n  var assert = chai.assert = function (express, errmsg) {\n    var test = new Assertion(null, null, chai.assert, true);\n    test.assert(\n        express\n      , errmsg\n      , '[ negation message unavailable ]'\n    );\n  };\n\n  /**\n   * ### .fail([message])\n   * ### .fail(actual, expected, [message], [operator])\n   *\n   * Throw a failure. Node.js `assert` module-compatible.\n   *\n   *     assert.fail();\n   *     assert.fail(\"custom error message\");\n   *     assert.fail(1, 2);\n   *     assert.fail(1, 2, \"custom error message\");\n   *     assert.fail(1, 2, \"custom error message\", \">\");\n   *     assert.fail(1, 2, undefined, \">\");\n   *\n   * @name fail\n   * @param {Mixed} actual\n   * @param {Mixed} expected\n   * @param {String} message\n   * @param {String} operator\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.fail = function (actual, expected, message, operator) {\n    if (arguments.length < 2) {\n        // Comply with Node's fail([message]) interface\n\n        message = actual;\n        actual = undefined;\n    }\n\n    message = message || 'assert.fail()';\n    throw new chai.AssertionError(message, {\n        actual: actual\n      , expected: expected\n      , operator: operator\n    }, assert.fail);\n  };\n\n  /**\n   * ### .isOk(object, [message])\n   *\n   * Asserts that `object` is truthy.\n   *\n   *     assert.isOk('everything', 'everything is ok');\n   *     assert.isOk(false, 'this will fail');\n   *\n   * @name isOk\n   * @alias ok\n   * @param {Mixed} object to test\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isOk = function (val, msg) {\n    new Assertion(val, msg, assert.isOk, true).is.ok;\n  };\n\n  /**\n   * ### .isNotOk(object, [message])\n   *\n   * Asserts that `object` is falsy.\n   *\n   *     assert.isNotOk('everything', 'this will fail');\n   *     assert.isNotOk(false, 'this will pass');\n   *\n   * @name isNotOk\n   * @alias notOk\n   * @param {Mixed} object to test\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isNotOk = function (val, msg) {\n    new Assertion(val, msg, assert.isNotOk, true).is.not.ok;\n  };\n\n  /**\n   * ### .equal(actual, expected, [message])\n   *\n   * Asserts non-strict equality (`==`) of `actual` and `expected`.\n   *\n   *     assert.equal(3, '3', '== coerces values to strings');\n   *\n   * @name equal\n   * @param {Mixed} actual\n   * @param {Mixed} expected\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.equal = function (act, exp, msg) {\n    var test = new Assertion(act, msg, assert.equal, true);\n\n    test.assert(\n        exp == flag(test, 'object')\n      , 'expected #{this} to equal #{exp}'\n      , 'expected #{this} to not equal #{act}'\n      , exp\n      , act\n      , true\n    );\n  };\n\n  /**\n   * ### .notEqual(actual, expected, [message])\n   *\n   * Asserts non-strict inequality (`!=`) of `actual` and `expected`.\n   *\n   *     assert.notEqual(3, 4, 'these numbers are not equal');\n   *\n   * @name notEqual\n   * @param {Mixed} actual\n   * @param {Mixed} expected\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.notEqual = function (act, exp, msg) {\n    var test = new Assertion(act, msg, assert.notEqual, true);\n\n    test.assert(\n        exp != flag(test, 'object')\n      , 'expected #{this} to not equal #{exp}'\n      , 'expected #{this} to equal #{act}'\n      , exp\n      , act\n      , true\n    );\n  };\n\n  /**\n   * ### .strictEqual(actual, expected, [message])\n   *\n   * Asserts strict equality (`===`) of `actual` and `expected`.\n   *\n   *     assert.strictEqual(true, true, 'these booleans are strictly equal');\n   *\n   * @name strictEqual\n   * @param {Mixed} actual\n   * @param {Mixed} expected\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.strictEqual = function (act, exp, msg) {\n    new Assertion(act, msg, assert.strictEqual, true).to.equal(exp);\n  };\n\n  /**\n   * ### .notStrictEqual(actual, expected, [message])\n   *\n   * Asserts strict inequality (`!==`) of `actual` and `expected`.\n   *\n   *     assert.notStrictEqual(3, '3', 'no coercion for strict equality');\n   *\n   * @name notStrictEqual\n   * @param {Mixed} actual\n   * @param {Mixed} expected\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.notStrictEqual = function (act, exp, msg) {\n    new Assertion(act, msg, assert.notStrictEqual, true).to.not.equal(exp);\n  };\n\n  /**\n   * ### .deepEqual(actual, expected, [message])\n   *\n   * Asserts that `actual` is deeply equal to `expected`.\n   *\n   *     assert.deepEqual({ tea: 'green' }, { tea: 'green' });\n   *\n   * @name deepEqual\n   * @param {Mixed} actual\n   * @param {Mixed} expected\n   * @param {String} message\n   * @alias deepStrictEqual\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.deepEqual = assert.deepStrictEqual = function (act, exp, msg) {\n    new Assertion(act, msg, assert.deepEqual, true).to.eql(exp);\n  };\n\n  /**\n   * ### .notDeepEqual(actual, expected, [message])\n   *\n   * Assert that `actual` is not deeply equal to `expected`.\n   *\n   *     assert.notDeepEqual({ tea: 'green' }, { tea: 'jasmine' });\n   *\n   * @name notDeepEqual\n   * @param {Mixed} actual\n   * @param {Mixed} expected\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.notDeepEqual = function (act, exp, msg) {\n    new Assertion(act, msg, assert.notDeepEqual, true).to.not.eql(exp);\n  };\n\n   /**\n   * ### .isAbove(valueToCheck, valueToBeAbove, [message])\n   *\n   * Asserts `valueToCheck` is strictly greater than (>) `valueToBeAbove`.\n   *\n   *     assert.isAbove(5, 2, '5 is strictly greater than 2');\n   *\n   * @name isAbove\n   * @param {Mixed} valueToCheck\n   * @param {Mixed} valueToBeAbove\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isAbove = function (val, abv, msg) {\n    new Assertion(val, msg, assert.isAbove, true).to.be.above(abv);\n  };\n\n   /**\n   * ### .isAtLeast(valueToCheck, valueToBeAtLeast, [message])\n   *\n   * Asserts `valueToCheck` is greater than or equal to (>=) `valueToBeAtLeast`.\n   *\n   *     assert.isAtLeast(5, 2, '5 is greater or equal to 2');\n   *     assert.isAtLeast(3, 3, '3 is greater or equal to 3');\n   *\n   * @name isAtLeast\n   * @param {Mixed} valueToCheck\n   * @param {Mixed} valueToBeAtLeast\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isAtLeast = function (val, atlst, msg) {\n    new Assertion(val, msg, assert.isAtLeast, true).to.be.least(atlst);\n  };\n\n   /**\n   * ### .isBelow(valueToCheck, valueToBeBelow, [message])\n   *\n   * Asserts `valueToCheck` is strictly less than (<) `valueToBeBelow`.\n   *\n   *     assert.isBelow(3, 6, '3 is strictly less than 6');\n   *\n   * @name isBelow\n   * @param {Mixed} valueToCheck\n   * @param {Mixed} valueToBeBelow\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isBelow = function (val, blw, msg) {\n    new Assertion(val, msg, assert.isBelow, true).to.be.below(blw);\n  };\n\n   /**\n   * ### .isAtMost(valueToCheck, valueToBeAtMost, [message])\n   *\n   * Asserts `valueToCheck` is less than or equal to (<=) `valueToBeAtMost`.\n   *\n   *     assert.isAtMost(3, 6, '3 is less than or equal to 6');\n   *     assert.isAtMost(4, 4, '4 is less than or equal to 4');\n   *\n   * @name isAtMost\n   * @param {Mixed} valueToCheck\n   * @param {Mixed} valueToBeAtMost\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isAtMost = function (val, atmst, msg) {\n    new Assertion(val, msg, assert.isAtMost, true).to.be.most(atmst);\n  };\n\n  /**\n   * ### .isTrue(value, [message])\n   *\n   * Asserts that `value` is true.\n   *\n   *     var teaServed = true;\n   *     assert.isTrue(teaServed, 'the tea has been served');\n   *\n   * @name isTrue\n   * @param {Mixed} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isTrue = function (val, msg) {\n    new Assertion(val, msg, assert.isTrue, true).is['true'];\n  };\n\n  /**\n   * ### .isNotTrue(value, [message])\n   *\n   * Asserts that `value` is not true.\n   *\n   *     var tea = 'tasty chai';\n   *     assert.isNotTrue(tea, 'great, time for tea!');\n   *\n   * @name isNotTrue\n   * @param {Mixed} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isNotTrue = function (val, msg) {\n    new Assertion(val, msg, assert.isNotTrue, true).to.not.equal(true);\n  };\n\n  /**\n   * ### .isFalse(value, [message])\n   *\n   * Asserts that `value` is false.\n   *\n   *     var teaServed = false;\n   *     assert.isFalse(teaServed, 'no tea yet? hmm...');\n   *\n   * @name isFalse\n   * @param {Mixed} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isFalse = function (val, msg) {\n    new Assertion(val, msg, assert.isFalse, true).is['false'];\n  };\n\n  /**\n   * ### .isNotFalse(value, [message])\n   *\n   * Asserts that `value` is not false.\n   *\n   *     var tea = 'tasty chai';\n   *     assert.isNotFalse(tea, 'great, time for tea!');\n   *\n   * @name isNotFalse\n   * @param {Mixed} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isNotFalse = function (val, msg) {\n    new Assertion(val, msg, assert.isNotFalse, true).to.not.equal(false);\n  };\n\n  /**\n   * ### .isNull(value, [message])\n   *\n   * Asserts that `value` is null.\n   *\n   *     assert.isNull(err, 'there was no error');\n   *\n   * @name isNull\n   * @param {Mixed} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isNull = function (val, msg) {\n    new Assertion(val, msg, assert.isNull, true).to.equal(null);\n  };\n\n  /**\n   * ### .isNotNull(value, [message])\n   *\n   * Asserts that `value` is not null.\n   *\n   *     var tea = 'tasty chai';\n   *     assert.isNotNull(tea, 'great, time for tea!');\n   *\n   * @name isNotNull\n   * @param {Mixed} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isNotNull = function (val, msg) {\n    new Assertion(val, msg, assert.isNotNull, true).to.not.equal(null);\n  };\n\n  /**\n   * ### .isNaN\n   *\n   * Asserts that value is NaN.\n   *\n   *     assert.isNaN(NaN, 'NaN is NaN');\n   *\n   * @name isNaN\n   * @param {Mixed} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isNaN = function (val, msg) {\n    new Assertion(val, msg, assert.isNaN, true).to.be.NaN;\n  };\n\n  /**\n   * ### .isNotNaN\n   *\n   * Asserts that value is not NaN.\n   *\n   *     assert.isNotNaN(4, '4 is not NaN');\n   *\n   * @name isNotNaN\n   * @param {Mixed} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n  assert.isNotNaN = function (val, msg) {\n    new Assertion(val, msg, assert.isNotNaN, true).not.to.be.NaN;\n  };\n\n  /**\n   * ### .exists\n   *\n   * Asserts that the target is neither `null` nor `undefined`.\n   *\n   *     var foo = 'hi';\n   *\n   *     assert.exists(foo, 'foo is neither `null` nor `undefined`');\n   *\n   * @name exists\n   * @param {Mixed} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.exists = function (val, msg) {\n    new Assertion(val, msg, assert.exists, true).to.exist;\n  };\n\n  /**\n   * ### .notExists\n   *\n   * Asserts that the target is either `null` or `undefined`.\n   *\n   *     var bar = null\n   *       , baz;\n   *\n   *     assert.notExists(bar);\n   *     assert.notExists(baz, 'baz is either null or undefined');\n   *\n   * @name notExists\n   * @param {Mixed} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.notExists = function (val, msg) {\n    new Assertion(val, msg, assert.notExists, true).to.not.exist;\n  };\n\n  /**\n   * ### .isUndefined(value, [message])\n   *\n   * Asserts that `value` is `undefined`.\n   *\n   *     var tea;\n   *     assert.isUndefined(tea, 'no tea defined');\n   *\n   * @name isUndefined\n   * @param {Mixed} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isUndefined = function (val, msg) {\n    new Assertion(val, msg, assert.isUndefined, true).to.equal(undefined);\n  };\n\n  /**\n   * ### .isDefined(value, [message])\n   *\n   * Asserts that `value` is not `undefined`.\n   *\n   *     var tea = 'cup of chai';\n   *     assert.isDefined(tea, 'tea has been defined');\n   *\n   * @name isDefined\n   * @param {Mixed} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isDefined = function (val, msg) {\n    new Assertion(val, msg, assert.isDefined, true).to.not.equal(undefined);\n  };\n\n  /**\n   * ### .isFunction(value, [message])\n   *\n   * Asserts that `value` is a function.\n   *\n   *     function serveTea() { return 'cup of tea'; };\n   *     assert.isFunction(serveTea, 'great, we can have tea now');\n   *\n   * @name isFunction\n   * @param {Mixed} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isFunction = function (val, msg) {\n    new Assertion(val, msg, assert.isFunction, true).to.be.a('function');\n  };\n\n  /**\n   * ### .isNotFunction(value, [message])\n   *\n   * Asserts that `value` is _not_ a function.\n   *\n   *     var serveTea = [ 'heat', 'pour', 'sip' ];\n   *     assert.isNotFunction(serveTea, 'great, we have listed the steps');\n   *\n   * @name isNotFunction\n   * @param {Mixed} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isNotFunction = function (val, msg) {\n    new Assertion(val, msg, assert.isNotFunction, true).to.not.be.a('function');\n  };\n\n  /**\n   * ### .isObject(value, [message])\n   *\n   * Asserts that `value` is an object of type 'Object' (as revealed by `Object.prototype.toString`).\n   * _The assertion does not match subclassed objects._\n   *\n   *     var selection = { name: 'Chai', serve: 'with spices' };\n   *     assert.isObject(selection, 'tea selection is an object');\n   *\n   * @name isObject\n   * @param {Mixed} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isObject = function (val, msg) {\n    new Assertion(val, msg, assert.isObject, true).to.be.a('object');\n  };\n\n  /**\n   * ### .isNotObject(value, [message])\n   *\n   * Asserts that `value` is _not_ an object of type 'Object' (as revealed by `Object.prototype.toString`).\n   *\n   *     var selection = 'chai'\n   *     assert.isNotObject(selection, 'tea selection is not an object');\n   *     assert.isNotObject(null, 'null is not an object');\n   *\n   * @name isNotObject\n   * @param {Mixed} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isNotObject = function (val, msg) {\n    new Assertion(val, msg, assert.isNotObject, true).to.not.be.a('object');\n  };\n\n  /**\n   * ### .isArray(value, [message])\n   *\n   * Asserts that `value` is an array.\n   *\n   *     var menu = [ 'green', 'chai', 'oolong' ];\n   *     assert.isArray(menu, 'what kind of tea do we want?');\n   *\n   * @name isArray\n   * @param {Mixed} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isArray = function (val, msg) {\n    new Assertion(val, msg, assert.isArray, true).to.be.an('array');\n  };\n\n  /**\n   * ### .isNotArray(value, [message])\n   *\n   * Asserts that `value` is _not_ an array.\n   *\n   *     var menu = 'green|chai|oolong';\n   *     assert.isNotArray(menu, 'what kind of tea do we want?');\n   *\n   * @name isNotArray\n   * @param {Mixed} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isNotArray = function (val, msg) {\n    new Assertion(val, msg, assert.isNotArray, true).to.not.be.an('array');\n  };\n\n  /**\n   * ### .isString(value, [message])\n   *\n   * Asserts that `value` is a string.\n   *\n   *     var teaOrder = 'chai';\n   *     assert.isString(teaOrder, 'order placed');\n   *\n   * @name isString\n   * @param {Mixed} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isString = function (val, msg) {\n    new Assertion(val, msg, assert.isString, true).to.be.a('string');\n  };\n\n  /**\n   * ### .isNotString(value, [message])\n   *\n   * Asserts that `value` is _not_ a string.\n   *\n   *     var teaOrder = 4;\n   *     assert.isNotString(teaOrder, 'order placed');\n   *\n   * @name isNotString\n   * @param {Mixed} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isNotString = function (val, msg) {\n    new Assertion(val, msg, assert.isNotString, true).to.not.be.a('string');\n  };\n\n  /**\n   * ### .isNumber(value, [message])\n   *\n   * Asserts that `value` is a number.\n   *\n   *     var cups = 2;\n   *     assert.isNumber(cups, 'how many cups');\n   *\n   * @name isNumber\n   * @param {Number} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isNumber = function (val, msg) {\n    new Assertion(val, msg, assert.isNumber, true).to.be.a('number');\n  };\n\n  /**\n   * ### .isNotNumber(value, [message])\n   *\n   * Asserts that `value` is _not_ a number.\n   *\n   *     var cups = '2 cups please';\n   *     assert.isNotNumber(cups, 'how many cups');\n   *\n   * @name isNotNumber\n   * @param {Mixed} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isNotNumber = function (val, msg) {\n    new Assertion(val, msg, assert.isNotNumber, true).to.not.be.a('number');\n  };\n\n   /**\n   * ### .isFinite(value, [message])\n   *\n   * Asserts that `value` is a finite number. Unlike `.isNumber`, this will fail for `NaN` and `Infinity`.\n   *\n   *     var cups = 2;\n   *     assert.isFinite(cups, 'how many cups');\n   *\n   *     assert.isFinite(NaN); // throws\n   *\n   * @name isFinite\n   * @param {Number} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isFinite = function (val, msg) {\n    new Assertion(val, msg, assert.isFinite, true).to.be.finite;\n  };\n\n  /**\n   * ### .isBoolean(value, [message])\n   *\n   * Asserts that `value` is a boolean.\n   *\n   *     var teaReady = true\n   *       , teaServed = false;\n   *\n   *     assert.isBoolean(teaReady, 'is the tea ready');\n   *     assert.isBoolean(teaServed, 'has tea been served');\n   *\n   * @name isBoolean\n   * @param {Mixed} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isBoolean = function (val, msg) {\n    new Assertion(val, msg, assert.isBoolean, true).to.be.a('boolean');\n  };\n\n  /**\n   * ### .isNotBoolean(value, [message])\n   *\n   * Asserts that `value` is _not_ a boolean.\n   *\n   *     var teaReady = 'yep'\n   *       , teaServed = 'nope';\n   *\n   *     assert.isNotBoolean(teaReady, 'is the tea ready');\n   *     assert.isNotBoolean(teaServed, 'has tea been served');\n   *\n   * @name isNotBoolean\n   * @param {Mixed} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isNotBoolean = function (val, msg) {\n    new Assertion(val, msg, assert.isNotBoolean, true).to.not.be.a('boolean');\n  };\n\n  /**\n   * ### .typeOf(value, name, [message])\n   *\n   * Asserts that `value`'s type is `name`, as determined by\n   * `Object.prototype.toString`.\n   *\n   *     assert.typeOf({ tea: 'chai' }, 'object', 'we have an object');\n   *     assert.typeOf(['chai', 'jasmine'], 'array', 'we have an array');\n   *     assert.typeOf('tea', 'string', 'we have a string');\n   *     assert.typeOf(/tea/, 'regexp', 'we have a regular expression');\n   *     assert.typeOf(null, 'null', 'we have a null');\n   *     assert.typeOf(undefined, 'undefined', 'we have an undefined');\n   *\n   * @name typeOf\n   * @param {Mixed} value\n   * @param {String} name\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.typeOf = function (val, type, msg) {\n    new Assertion(val, msg, assert.typeOf, true).to.be.a(type);\n  };\n\n  /**\n   * ### .notTypeOf(value, name, [message])\n   *\n   * Asserts that `value`'s type is _not_ `name`, as determined by\n   * `Object.prototype.toString`.\n   *\n   *     assert.notTypeOf('tea', 'number', 'strings are not numbers');\n   *\n   * @name notTypeOf\n   * @param {Mixed} value\n   * @param {String} typeof name\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.notTypeOf = function (val, type, msg) {\n    new Assertion(val, msg, assert.notTypeOf, true).to.not.be.a(type);\n  };\n\n  /**\n   * ### .instanceOf(object, constructor, [message])\n   *\n   * Asserts that `value` is an instance of `constructor`.\n   *\n   *     var Tea = function (name) { this.name = name; }\n   *       , chai = new Tea('chai');\n   *\n   *     assert.instanceOf(chai, Tea, 'chai is an instance of tea');\n   *\n   * @name instanceOf\n   * @param {Object} object\n   * @param {Constructor} constructor\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.instanceOf = function (val, type, msg) {\n    new Assertion(val, msg, assert.instanceOf, true).to.be.instanceOf(type);\n  };\n\n  /**\n   * ### .notInstanceOf(object, constructor, [message])\n   *\n   * Asserts `value` is not an instance of `constructor`.\n   *\n   *     var Tea = function (name) { this.name = name; }\n   *       , chai = new String('chai');\n   *\n   *     assert.notInstanceOf(chai, Tea, 'chai is not an instance of tea');\n   *\n   * @name notInstanceOf\n   * @param {Object} object\n   * @param {Constructor} constructor\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.notInstanceOf = function (val, type, msg) {\n    new Assertion(val, msg, assert.notInstanceOf, true)\n      .to.not.be.instanceOf(type);\n  };\n\n  /**\n   * ### .include(haystack, needle, [message])\n   *\n   * Asserts that `haystack` includes `needle`. Can be used to assert the\n   * inclusion of a value in an array, a substring in a string, or a subset of\n   * properties in an object.\n   *\n   *     assert.include([1,2,3], 2, 'array contains value');\n   *     assert.include('foobar', 'foo', 'string contains substring');\n   *     assert.include({ foo: 'bar', hello: 'universe' }, { foo: 'bar' }, 'object contains property');\n   *\n   * Strict equality (===) is used. When asserting the inclusion of a value in\n   * an array, the array is searched for an element that's strictly equal to the\n   * given value. When asserting a subset of properties in an object, the object\n   * is searched for the given property keys, checking that each one is present\n   * and strictly equal to the given property value. For instance:\n   *\n   *     var obj1 = {a: 1}\n   *       , obj2 = {b: 2};\n   *     assert.include([obj1, obj2], obj1);\n   *     assert.include({foo: obj1, bar: obj2}, {foo: obj1});\n   *     assert.include({foo: obj1, bar: obj2}, {foo: obj1, bar: obj2});\n   *\n   * @name include\n   * @param {Array|String} haystack\n   * @param {Mixed} needle\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.include = function (exp, inc, msg) {\n    new Assertion(exp, msg, assert.include, true).include(inc);\n  };\n\n  /**\n   * ### .notInclude(haystack, needle, [message])\n   *\n   * Asserts that `haystack` does not include `needle`. Can be used to assert\n   * the absence of a value in an array, a substring in a string, or a subset of\n   * properties in an object.\n   *\n   *     assert.notInclude([1,2,3], 4, \"array doesn't contain value\");\n   *     assert.notInclude('foobar', 'baz', \"string doesn't contain substring\");\n   *     assert.notInclude({ foo: 'bar', hello: 'universe' }, { foo: 'baz' }, 'object doesn't contain property');\n   *\n   * Strict equality (===) is used. When asserting the absence of a value in an\n   * array, the array is searched to confirm the absence of an element that's\n   * strictly equal to the given value. When asserting a subset of properties in\n   * an object, the object is searched to confirm that at least one of the given\n   * property keys is either not present or not strictly equal to the given\n   * property value. For instance:\n   *\n   *     var obj1 = {a: 1}\n   *       , obj2 = {b: 2};\n   *     assert.notInclude([obj1, obj2], {a: 1});\n   *     assert.notInclude({foo: obj1, bar: obj2}, {foo: {a: 1}});\n   *     assert.notInclude({foo: obj1, bar: obj2}, {foo: obj1, bar: {b: 2}});\n   *\n   * @name notInclude\n   * @param {Array|String} haystack\n   * @param {Mixed} needle\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.notInclude = function (exp, inc, msg) {\n    new Assertion(exp, msg, assert.notInclude, true).not.include(inc);\n  };\n\n  /**\n   * ### .deepInclude(haystack, needle, [message])\n   *\n   * Asserts that `haystack` includes `needle`. Can be used to assert the\n   * inclusion of a value in an array or a subset of properties in an object.\n   * Deep equality is used.\n   *\n   *     var obj1 = {a: 1}\n   *       , obj2 = {b: 2};\n   *     assert.deepInclude([obj1, obj2], {a: 1});\n   *     assert.deepInclude({foo: obj1, bar: obj2}, {foo: {a: 1}});\n   *     assert.deepInclude({foo: obj1, bar: obj2}, {foo: {a: 1}, bar: {b: 2}});\n   *\n   * @name deepInclude\n   * @param {Array|String} haystack\n   * @param {Mixed} needle\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.deepInclude = function (exp, inc, msg) {\n    new Assertion(exp, msg, assert.deepInclude, true).deep.include(inc);\n  };\n\n  /**\n   * ### .notDeepInclude(haystack, needle, [message])\n   *\n   * Asserts that `haystack` does not include `needle`. Can be used to assert\n   * the absence of a value in an array or a subset of properties in an object.\n   * Deep equality is used.\n   *\n   *     var obj1 = {a: 1}\n   *       , obj2 = {b: 2};\n   *     assert.notDeepInclude([obj1, obj2], {a: 9});\n   *     assert.notDeepInclude({foo: obj1, bar: obj2}, {foo: {a: 9}});\n   *     assert.notDeepInclude({foo: obj1, bar: obj2}, {foo: {a: 1}, bar: {b: 9}});\n   *\n   * @name notDeepInclude\n   * @param {Array|String} haystack\n   * @param {Mixed} needle\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.notDeepInclude = function (exp, inc, msg) {\n    new Assertion(exp, msg, assert.notDeepInclude, true).not.deep.include(inc);\n  };\n\n  /**\n   * ### .nestedInclude(haystack, needle, [message])\n   *\n   * Asserts that 'haystack' includes 'needle'.\n   * Can be used to assert the inclusion of a subset of properties in an\n   * object.\n   * Enables the use of dot- and bracket-notation for referencing nested\n   * properties.\n   * '[]' and '.' in property names can be escaped using double backslashes.\n   *\n   *     assert.nestedInclude({'.a': {'b': 'x'}}, {'\\\\.a.[b]': 'x'});\n   *     assert.nestedInclude({'a': {'[b]': 'x'}}, {'a.\\\\[b\\\\]': 'x'});\n   *\n   * @name nestedInclude\n   * @param {Object} haystack\n   * @param {Object} needle\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.nestedInclude = function (exp, inc, msg) {\n    new Assertion(exp, msg, assert.nestedInclude, true).nested.include(inc);\n  };\n\n  /**\n   * ### .notNestedInclude(haystack, needle, [message])\n   *\n   * Asserts that 'haystack' does not include 'needle'.\n   * Can be used to assert the absence of a subset of properties in an\n   * object.\n   * Enables the use of dot- and bracket-notation for referencing nested\n   * properties.\n   * '[]' and '.' in property names can be escaped using double backslashes.\n   *\n   *     assert.notNestedInclude({'.a': {'b': 'x'}}, {'\\\\.a.b': 'y'});\n   *     assert.notNestedInclude({'a': {'[b]': 'x'}}, {'a.\\\\[b\\\\]': 'y'});\n   *\n   * @name notNestedInclude\n   * @param {Object} haystack\n   * @param {Object} needle\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.notNestedInclude = function (exp, inc, msg) {\n    new Assertion(exp, msg, assert.notNestedInclude, true)\n      .not.nested.include(inc);\n  };\n\n  /**\n   * ### .deepNestedInclude(haystack, needle, [message])\n   *\n   * Asserts that 'haystack' includes 'needle'.\n   * Can be used to assert the inclusion of a subset of properties in an\n   * object while checking for deep equality.\n   * Enables the use of dot- and bracket-notation for referencing nested\n   * properties.\n   * '[]' and '.' in property names can be escaped using double backslashes.\n   *\n   *     assert.deepNestedInclude({a: {b: [{x: 1}]}}, {'a.b[0]': {x: 1}});\n   *     assert.deepNestedInclude({'.a': {'[b]': {x: 1}}}, {'\\\\.a.\\\\[b\\\\]': {x: 1}});\n   *\n   * @name deepNestedInclude\n   * @param {Object} haystack\n   * @param {Object} needle\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.deepNestedInclude = function(exp, inc, msg) {\n    new Assertion(exp, msg, assert.deepNestedInclude, true)\n      .deep.nested.include(inc);\n  };\n\n  /**\n   * ### .notDeepNestedInclude(haystack, needle, [message])\n   *\n   * Asserts that 'haystack' does not include 'needle'.\n   * Can be used to assert the absence of a subset of properties in an\n   * object while checking for deep equality.\n   * Enables the use of dot- and bracket-notation for referencing nested\n   * properties.\n   * '[]' and '.' in property names can be escaped using double backslashes.\n   *\n   *     assert.notDeepNestedInclude({a: {b: [{x: 1}]}}, {'a.b[0]': {y: 1}})\n   *     assert.notDeepNestedInclude({'.a': {'[b]': {x: 1}}}, {'\\\\.a.\\\\[b\\\\]': {y: 2}});\n   *\n   * @name notDeepNestedInclude\n   * @param {Object} haystack\n   * @param {Object} needle\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.notDeepNestedInclude = function(exp, inc, msg) {\n    new Assertion(exp, msg, assert.notDeepNestedInclude, true)\n      .not.deep.nested.include(inc);\n  };\n\n  /**\n   * ### .ownInclude(haystack, needle, [message])\n   *\n   * Asserts that 'haystack' includes 'needle'.\n   * Can be used to assert the inclusion of a subset of properties in an\n   * object while ignoring inherited properties.\n   *\n   *     assert.ownInclude({ a: 1 }, { a: 1 });\n   *\n   * @name ownInclude\n   * @param {Object} haystack\n   * @param {Object} needle\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.ownInclude = function(exp, inc, msg) {\n    new Assertion(exp, msg, assert.ownInclude, true).own.include(inc);\n  };\n\n  /**\n   * ### .notOwnInclude(haystack, needle, [message])\n   *\n   * Asserts that 'haystack' includes 'needle'.\n   * Can be used to assert the absence of a subset of properties in an\n   * object while ignoring inherited properties.\n   *\n   *     Object.prototype.b = 2;\n   *\n   *     assert.notOwnInclude({ a: 1 }, { b: 2 });\n   *\n   * @name notOwnInclude\n   * @param {Object} haystack\n   * @param {Object} needle\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.notOwnInclude = function(exp, inc, msg) {\n    new Assertion(exp, msg, assert.notOwnInclude, true).not.own.include(inc);\n  };\n\n  /**\n   * ### .deepOwnInclude(haystack, needle, [message])\n   *\n   * Asserts that 'haystack' includes 'needle'.\n   * Can be used to assert the inclusion of a subset of properties in an\n   * object while ignoring inherited properties and checking for deep equality.\n   *\n   *      assert.deepOwnInclude({a: {b: 2}}, {a: {b: 2}});\n   *\n   * @name deepOwnInclude\n   * @param {Object} haystack\n   * @param {Object} needle\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.deepOwnInclude = function(exp, inc, msg) {\n    new Assertion(exp, msg, assert.deepOwnInclude, true)\n      .deep.own.include(inc);\n  };\n\n   /**\n   * ### .notDeepOwnInclude(haystack, needle, [message])\n   *\n   * Asserts that 'haystack' includes 'needle'.\n   * Can be used to assert the absence of a subset of properties in an\n   * object while ignoring inherited properties and checking for deep equality.\n   *\n   *      assert.notDeepOwnInclude({a: {b: 2}}, {a: {c: 3}});\n   *\n   * @name notDeepOwnInclude\n   * @param {Object} haystack\n   * @param {Object} needle\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.notDeepOwnInclude = function(exp, inc, msg) {\n    new Assertion(exp, msg, assert.notDeepOwnInclude, true)\n      .not.deep.own.include(inc);\n  };\n\n  /**\n   * ### .match(value, regexp, [message])\n   *\n   * Asserts that `value` matches the regular expression `regexp`.\n   *\n   *     assert.match('foobar', /^foo/, 'regexp matches');\n   *\n   * @name match\n   * @param {Mixed} value\n   * @param {RegExp} regexp\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.match = function (exp, re, msg) {\n    new Assertion(exp, msg, assert.match, true).to.match(re);\n  };\n\n  /**\n   * ### .notMatch(value, regexp, [message])\n   *\n   * Asserts that `value` does not match the regular expression `regexp`.\n   *\n   *     assert.notMatch('foobar', /^foo/, 'regexp does not match');\n   *\n   * @name notMatch\n   * @param {Mixed} value\n   * @param {RegExp} regexp\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.notMatch = function (exp, re, msg) {\n    new Assertion(exp, msg, assert.notMatch, true).to.not.match(re);\n  };\n\n  /**\n   * ### .property(object, property, [message])\n   *\n   * Asserts that `object` has a direct or inherited property named by\n   * `property`.\n   *\n   *     assert.property({ tea: { green: 'matcha' }}, 'tea');\n   *     assert.property({ tea: { green: 'matcha' }}, 'toString');\n   *\n   * @name property\n   * @param {Object} object\n   * @param {String} property\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.property = function (obj, prop, msg) {\n    new Assertion(obj, msg, assert.property, true).to.have.property(prop);\n  };\n\n  /**\n   * ### .notProperty(object, property, [message])\n   *\n   * Asserts that `object` does _not_ have a direct or inherited property named\n   * by `property`.\n   *\n   *     assert.notProperty({ tea: { green: 'matcha' }}, 'coffee');\n   *\n   * @name notProperty\n   * @param {Object} object\n   * @param {String} property\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.notProperty = function (obj, prop, msg) {\n    new Assertion(obj, msg, assert.notProperty, true)\n      .to.not.have.property(prop);\n  };\n\n  /**\n   * ### .propertyVal(object, property, value, [message])\n   *\n   * Asserts that `object` has a direct or inherited property named by\n   * `property` with a value given by `value`. Uses a strict equality check\n   * (===).\n   *\n   *     assert.propertyVal({ tea: 'is good' }, 'tea', 'is good');\n   *\n   * @name propertyVal\n   * @param {Object} object\n   * @param {String} property\n   * @param {Mixed} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.propertyVal = function (obj, prop, val, msg) {\n    new Assertion(obj, msg, assert.propertyVal, true)\n      .to.have.property(prop, val);\n  };\n\n  /**\n   * ### .notPropertyVal(object, property, value, [message])\n   *\n   * Asserts that `object` does _not_ have a direct or inherited property named\n   * by `property` with value given by `value`. Uses a strict equality check\n   * (===).\n   *\n   *     assert.notPropertyVal({ tea: 'is good' }, 'tea', 'is bad');\n   *     assert.notPropertyVal({ tea: 'is good' }, 'coffee', 'is good');\n   *\n   * @name notPropertyVal\n   * @param {Object} object\n   * @param {String} property\n   * @param {Mixed} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.notPropertyVal = function (obj, prop, val, msg) {\n    new Assertion(obj, msg, assert.notPropertyVal, true)\n      .to.not.have.property(prop, val);\n  };\n\n  /**\n   * ### .deepPropertyVal(object, property, value, [message])\n   *\n   * Asserts that `object` has a direct or inherited property named by\n   * `property` with a value given by `value`. Uses a deep equality check.\n   *\n   *     assert.deepPropertyVal({ tea: { green: 'matcha' } }, 'tea', { green: 'matcha' });\n   *\n   * @name deepPropertyVal\n   * @param {Object} object\n   * @param {String} property\n   * @param {Mixed} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.deepPropertyVal = function (obj, prop, val, msg) {\n    new Assertion(obj, msg, assert.deepPropertyVal, true)\n      .to.have.deep.property(prop, val);\n  };\n\n  /**\n   * ### .notDeepPropertyVal(object, property, value, [message])\n   *\n   * Asserts that `object` does _not_ have a direct or inherited property named\n   * by `property` with value given by `value`. Uses a deep equality check.\n   *\n   *     assert.notDeepPropertyVal({ tea: { green: 'matcha' } }, 'tea', { black: 'matcha' });\n   *     assert.notDeepPropertyVal({ tea: { green: 'matcha' } }, 'tea', { green: 'oolong' });\n   *     assert.notDeepPropertyVal({ tea: { green: 'matcha' } }, 'coffee', { green: 'matcha' });\n   *\n   * @name notDeepPropertyVal\n   * @param {Object} object\n   * @param {String} property\n   * @param {Mixed} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.notDeepPropertyVal = function (obj, prop, val, msg) {\n    new Assertion(obj, msg, assert.notDeepPropertyVal, true)\n      .to.not.have.deep.property(prop, val);\n  };\n\n  /**\n   * ### .ownProperty(object, property, [message])\n   *\n   * Asserts that `object` has a direct property named by `property`. Inherited\n   * properties aren't checked.\n   *\n   *     assert.ownProperty({ tea: { green: 'matcha' }}, 'tea');\n   *\n   * @name ownProperty\n   * @param {Object} object\n   * @param {String} property\n   * @param {String} message\n   * @api public\n   */\n\n  assert.ownProperty = function (obj, prop, msg) {\n    new Assertion(obj, msg, assert.ownProperty, true)\n      .to.have.own.property(prop);\n  };\n\n  /**\n   * ### .notOwnProperty(object, property, [message])\n   *\n   * Asserts that `object` does _not_ have a direct property named by\n   * `property`. Inherited properties aren't checked.\n   *\n   *     assert.notOwnProperty({ tea: { green: 'matcha' }}, 'coffee');\n   *     assert.notOwnProperty({}, 'toString');\n   *\n   * @name notOwnProperty\n   * @param {Object} object\n   * @param {String} property\n   * @param {String} message\n   * @api public\n   */\n\n  assert.notOwnProperty = function (obj, prop, msg) {\n    new Assertion(obj, msg, assert.notOwnProperty, true)\n      .to.not.have.own.property(prop);\n  };\n\n  /**\n   * ### .ownPropertyVal(object, property, value, [message])\n   *\n   * Asserts that `object` has a direct property named by `property` and a value\n   * equal to the provided `value`. Uses a strict equality check (===).\n   * Inherited properties aren't checked.\n   *\n   *     assert.ownPropertyVal({ coffee: 'is good'}, 'coffee', 'is good');\n   *\n   * @name ownPropertyVal\n   * @param {Object} object\n   * @param {String} property\n   * @param {Mixed} value\n   * @param {String} message\n   * @api public\n   */\n\n  assert.ownPropertyVal = function (obj, prop, value, msg) {\n    new Assertion(obj, msg, assert.ownPropertyVal, true)\n      .to.have.own.property(prop, value);\n  };\n\n  /**\n   * ### .notOwnPropertyVal(object, property, value, [message])\n   *\n   * Asserts that `object` does _not_ have a direct property named by `property`\n   * with a value equal to the provided `value`. Uses a strict equality check\n   * (===). Inherited properties aren't checked.\n   *\n   *     assert.notOwnPropertyVal({ tea: 'is better'}, 'tea', 'is worse');\n   *     assert.notOwnPropertyVal({}, 'toString', Object.prototype.toString);\n   *\n   * @name notOwnPropertyVal\n   * @param {Object} object\n   * @param {String} property\n   * @param {Mixed} value\n   * @param {String} message\n   * @api public\n   */\n\n  assert.notOwnPropertyVal = function (obj, prop, value, msg) {\n    new Assertion(obj, msg, assert.notOwnPropertyVal, true)\n      .to.not.have.own.property(prop, value);\n  };\n\n  /**\n   * ### .deepOwnPropertyVal(object, property, value, [message])\n   *\n   * Asserts that `object` has a direct property named by `property` and a value\n   * equal to the provided `value`. Uses a deep equality check. Inherited\n   * properties aren't checked.\n   *\n   *     assert.deepOwnPropertyVal({ tea: { green: 'matcha' } }, 'tea', { green: 'matcha' });\n   *\n   * @name deepOwnPropertyVal\n   * @param {Object} object\n   * @param {String} property\n   * @param {Mixed} value\n   * @param {String} message\n   * @api public\n   */\n\n  assert.deepOwnPropertyVal = function (obj, prop, value, msg) {\n    new Assertion(obj, msg, assert.deepOwnPropertyVal, true)\n      .to.have.deep.own.property(prop, value);\n  };\n\n  /**\n   * ### .notDeepOwnPropertyVal(object, property, value, [message])\n   *\n   * Asserts that `object` does _not_ have a direct property named by `property`\n   * with a value equal to the provided `value`. Uses a deep equality check.\n   * Inherited properties aren't checked.\n   *\n   *     assert.notDeepOwnPropertyVal({ tea: { green: 'matcha' } }, 'tea', { black: 'matcha' });\n   *     assert.notDeepOwnPropertyVal({ tea: { green: 'matcha' } }, 'tea', { green: 'oolong' });\n   *     assert.notDeepOwnPropertyVal({ tea: { green: 'matcha' } }, 'coffee', { green: 'matcha' });\n   *     assert.notDeepOwnPropertyVal({}, 'toString', Object.prototype.toString);\n   *\n   * @name notDeepOwnPropertyVal\n   * @param {Object} object\n   * @param {String} property\n   * @param {Mixed} value\n   * @param {String} message\n   * @api public\n   */\n\n  assert.notDeepOwnPropertyVal = function (obj, prop, value, msg) {\n    new Assertion(obj, msg, assert.notDeepOwnPropertyVal, true)\n      .to.not.have.deep.own.property(prop, value);\n  };\n\n  /**\n   * ### .nestedProperty(object, property, [message])\n   *\n   * Asserts that `object` has a direct or inherited property named by\n   * `property`, which can be a string using dot- and bracket-notation for\n   * nested reference.\n   *\n   *     assert.nestedProperty({ tea: { green: 'matcha' }}, 'tea.green');\n   *\n   * @name nestedProperty\n   * @param {Object} object\n   * @param {String} property\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.nestedProperty = function (obj, prop, msg) {\n    new Assertion(obj, msg, assert.nestedProperty, true)\n      .to.have.nested.property(prop);\n  };\n\n  /**\n   * ### .notNestedProperty(object, property, [message])\n   *\n   * Asserts that `object` does _not_ have a property named by `property`, which\n   * can be a string using dot- and bracket-notation for nested reference. The\n   * property cannot exist on the object nor anywhere in its prototype chain.\n   *\n   *     assert.notNestedProperty({ tea: { green: 'matcha' }}, 'tea.oolong');\n   *\n   * @name notNestedProperty\n   * @param {Object} object\n   * @param {String} property\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.notNestedProperty = function (obj, prop, msg) {\n    new Assertion(obj, msg, assert.notNestedProperty, true)\n      .to.not.have.nested.property(prop);\n  };\n\n  /**\n   * ### .nestedPropertyVal(object, property, value, [message])\n   *\n   * Asserts that `object` has a property named by `property` with value given\n   * by `value`. `property` can use dot- and bracket-notation for nested\n   * reference. Uses a strict equality check (===).\n   *\n   *     assert.nestedPropertyVal({ tea: { green: 'matcha' }}, 'tea.green', 'matcha');\n   *\n   * @name nestedPropertyVal\n   * @param {Object} object\n   * @param {String} property\n   * @param {Mixed} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.nestedPropertyVal = function (obj, prop, val, msg) {\n    new Assertion(obj, msg, assert.nestedPropertyVal, true)\n      .to.have.nested.property(prop, val);\n  };\n\n  /**\n   * ### .notNestedPropertyVal(object, property, value, [message])\n   *\n   * Asserts that `object` does _not_ have a property named by `property` with\n   * value given by `value`. `property` can use dot- and bracket-notation for\n   * nested reference. Uses a strict equality check (===).\n   *\n   *     assert.notNestedPropertyVal({ tea: { green: 'matcha' }}, 'tea.green', 'konacha');\n   *     assert.notNestedPropertyVal({ tea: { green: 'matcha' }}, 'coffee.green', 'matcha');\n   *\n   * @name notNestedPropertyVal\n   * @param {Object} object\n   * @param {String} property\n   * @param {Mixed} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.notNestedPropertyVal = function (obj, prop, val, msg) {\n    new Assertion(obj, msg, assert.notNestedPropertyVal, true)\n      .to.not.have.nested.property(prop, val);\n  };\n\n  /**\n   * ### .deepNestedPropertyVal(object, property, value, [message])\n   *\n   * Asserts that `object` has a property named by `property` with a value given\n   * by `value`. `property` can use dot- and bracket-notation for nested\n   * reference. Uses a deep equality check.\n   *\n   *     assert.deepNestedPropertyVal({ tea: { green: { matcha: 'yum' } } }, 'tea.green', { matcha: 'yum' });\n   *\n   * @name deepNestedPropertyVal\n   * @param {Object} object\n   * @param {String} property\n   * @param {Mixed} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.deepNestedPropertyVal = function (obj, prop, val, msg) {\n    new Assertion(obj, msg, assert.deepNestedPropertyVal, true)\n      .to.have.deep.nested.property(prop, val);\n  };\n\n  /**\n   * ### .notDeepNestedPropertyVal(object, property, value, [message])\n   *\n   * Asserts that `object` does _not_ have a property named by `property` with\n   * value given by `value`. `property` can use dot- and bracket-notation for\n   * nested reference. Uses a deep equality check.\n   *\n   *     assert.notDeepNestedPropertyVal({ tea: { green: { matcha: 'yum' } } }, 'tea.green', { oolong: 'yum' });\n   *     assert.notDeepNestedPropertyVal({ tea: { green: { matcha: 'yum' } } }, 'tea.green', { matcha: 'yuck' });\n   *     assert.notDeepNestedPropertyVal({ tea: { green: { matcha: 'yum' } } }, 'tea.black', { matcha: 'yum' });\n   *\n   * @name notDeepNestedPropertyVal\n   * @param {Object} object\n   * @param {String} property\n   * @param {Mixed} value\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.notDeepNestedPropertyVal = function (obj, prop, val, msg) {\n    new Assertion(obj, msg, assert.notDeepNestedPropertyVal, true)\n      .to.not.have.deep.nested.property(prop, val);\n  }\n\n  /**\n   * ### .lengthOf(object, length, [message])\n   *\n   * Asserts that `object` has a `length` or `size` with the expected value.\n   *\n   *     assert.lengthOf([1,2,3], 3, 'array has length of 3');\n   *     assert.lengthOf('foobar', 6, 'string has length of 6');\n   *     assert.lengthOf(new Set([1,2,3]), 3, 'set has size of 3');\n   *     assert.lengthOf(new Map([['a',1],['b',2],['c',3]]), 3, 'map has size of 3');\n   *\n   * @name lengthOf\n   * @param {Mixed} object\n   * @param {Number} length\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.lengthOf = function (exp, len, msg) {\n    new Assertion(exp, msg, assert.lengthOf, true).to.have.lengthOf(len);\n  };\n\n  /**\n   * ### .hasAnyKeys(object, [keys], [message])\n   *\n   * Asserts that `object` has at least one of the `keys` provided.\n   * You can also provide a single object instead of a `keys` array and its keys\n   * will be used as the expected set of keys.\n   *\n   *     assert.hasAnyKeys({foo: 1, bar: 2, baz: 3}, ['foo', 'iDontExist', 'baz']);\n   *     assert.hasAnyKeys({foo: 1, bar: 2, baz: 3}, {foo: 30, iDontExist: 99, baz: 1337});\n   *     assert.hasAnyKeys(new Map([[{foo: 1}, 'bar'], ['key', 'value']]), [{foo: 1}, 'key']);\n   *     assert.hasAnyKeys(new Set([{foo: 'bar'}, 'anotherKey']), [{foo: 'bar'}, 'anotherKey']);\n   *\n   * @name hasAnyKeys\n   * @param {Mixed} object\n   * @param {Array|Object} keys\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.hasAnyKeys = function (obj, keys, msg) {\n    new Assertion(obj, msg, assert.hasAnyKeys, true).to.have.any.keys(keys);\n  }\n\n  /**\n   * ### .hasAllKeys(object, [keys], [message])\n   *\n   * Asserts that `object` has all and only all of the `keys` provided.\n   * You can also provide a single object instead of a `keys` array and its keys\n   * will be used as the expected set of keys.\n   *\n   *     assert.hasAllKeys({foo: 1, bar: 2, baz: 3}, ['foo', 'bar', 'baz']);\n   *     assert.hasAllKeys({foo: 1, bar: 2, baz: 3}, {foo: 30, bar: 99, baz: 1337]);\n   *     assert.hasAllKeys(new Map([[{foo: 1}, 'bar'], ['key', 'value']]), [{foo: 1}, 'key']);\n   *     assert.hasAllKeys(new Set([{foo: 'bar'}, 'anotherKey'], [{foo: 'bar'}, 'anotherKey']);\n   *\n   * @name hasAllKeys\n   * @param {Mixed} object\n   * @param {String[]} keys\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.hasAllKeys = function (obj, keys, msg) {\n    new Assertion(obj, msg, assert.hasAllKeys, true).to.have.all.keys(keys);\n  }\n\n  /**\n   * ### .containsAllKeys(object, [keys], [message])\n   *\n   * Asserts that `object` has all of the `keys` provided but may have more keys not listed.\n   * You can also provide a single object instead of a `keys` array and its keys\n   * will be used as the expected set of keys.\n   *\n   *     assert.containsAllKeys({foo: 1, bar: 2, baz: 3}, ['foo', 'baz']);\n   *     assert.containsAllKeys({foo: 1, bar: 2, baz: 3}, ['foo', 'bar', 'baz']);\n   *     assert.containsAllKeys({foo: 1, bar: 2, baz: 3}, {foo: 30, baz: 1337});\n   *     assert.containsAllKeys({foo: 1, bar: 2, baz: 3}, {foo: 30, bar: 99, baz: 1337});\n   *     assert.containsAllKeys(new Map([[{foo: 1}, 'bar'], ['key', 'value']]), [{foo: 1}]);\n   *     assert.containsAllKeys(new Map([[{foo: 1}, 'bar'], ['key', 'value']]), [{foo: 1}, 'key']);\n   *     assert.containsAllKeys(new Set([{foo: 'bar'}, 'anotherKey'], [{foo: 'bar'}]);\n   *     assert.containsAllKeys(new Set([{foo: 'bar'}, 'anotherKey'], [{foo: 'bar'}, 'anotherKey']);\n   *\n   * @name containsAllKeys\n   * @param {Mixed} object\n   * @param {String[]} keys\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.containsAllKeys = function (obj, keys, msg) {\n    new Assertion(obj, msg, assert.containsAllKeys, true)\n      .to.contain.all.keys(keys);\n  }\n\n  /**\n   * ### .doesNotHaveAnyKeys(object, [keys], [message])\n   *\n   * Asserts that `object` has none of the `keys` provided.\n   * You can also provide a single object instead of a `keys` array and its keys\n   * will be used as the expected set of keys.\n   *\n   *     assert.doesNotHaveAnyKeys({foo: 1, bar: 2, baz: 3}, ['one', 'two', 'example']);\n   *     assert.doesNotHaveAnyKeys({foo: 1, bar: 2, baz: 3}, {one: 1, two: 2, example: 'foo'});\n   *     assert.doesNotHaveAnyKeys(new Map([[{foo: 1}, 'bar'], ['key', 'value']]), [{one: 'two'}, 'example']);\n   *     assert.doesNotHaveAnyKeys(new Set([{foo: 'bar'}, 'anotherKey'], [{one: 'two'}, 'example']);\n   *\n   * @name doesNotHaveAnyKeys\n   * @param {Mixed} object\n   * @param {String[]} keys\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.doesNotHaveAnyKeys = function (obj, keys, msg) {\n    new Assertion(obj, msg, assert.doesNotHaveAnyKeys, true)\n      .to.not.have.any.keys(keys);\n  }\n\n  /**\n   * ### .doesNotHaveAllKeys(object, [keys], [message])\n   *\n   * Asserts that `object` does not have at least one of the `keys` provided.\n   * You can also provide a single object instead of a `keys` array and its keys\n   * will be used as the expected set of keys.\n   *\n   *     assert.doesNotHaveAllKeys({foo: 1, bar: 2, baz: 3}, ['one', 'two', 'example']);\n   *     assert.doesNotHaveAllKeys({foo: 1, bar: 2, baz: 3}, {one: 1, two: 2, example: 'foo'});\n   *     assert.doesNotHaveAllKeys(new Map([[{foo: 1}, 'bar'], ['key', 'value']]), [{one: 'two'}, 'example']);\n   *     assert.doesNotHaveAllKeys(new Set([{foo: 'bar'}, 'anotherKey'], [{one: 'two'}, 'example']);\n   *\n   * @name doesNotHaveAllKeys\n   * @param {Mixed} object\n   * @param {String[]} keys\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.doesNotHaveAllKeys = function (obj, keys, msg) {\n    new Assertion(obj, msg, assert.doesNotHaveAllKeys, true)\n      .to.not.have.all.keys(keys);\n  }\n\n  /**\n   * ### .hasAnyDeepKeys(object, [keys], [message])\n   *\n   * Asserts that `object` has at least one of the `keys` provided.\n   * Since Sets and Maps can have objects as keys you can use this assertion to perform\n   * a deep comparison.\n   * You can also provide a single object instead of a `keys` array and its keys\n   * will be used as the expected set of keys.\n   *\n   *     assert.hasAnyDeepKeys(new Map([[{one: 'one'}, 'valueOne'], [1, 2]]), {one: 'one'});\n   *     assert.hasAnyDeepKeys(new Map([[{one: 'one'}, 'valueOne'], [1, 2]]), [{one: 'one'}, {two: 'two'}]);\n   *     assert.hasAnyDeepKeys(new Map([[{one: 'one'}, 'valueOne'], [{two: 'two'}, 'valueTwo']]), [{one: 'one'}, {two: 'two'}]);\n   *     assert.hasAnyDeepKeys(new Set([{one: 'one'}, {two: 'two'}]), {one: 'one'});\n   *     assert.hasAnyDeepKeys(new Set([{one: 'one'}, {two: 'two'}]), [{one: 'one'}, {three: 'three'}]);\n   *     assert.hasAnyDeepKeys(new Set([{one: 'one'}, {two: 'two'}]), [{one: 'one'}, {two: 'two'}]);\n   *\n   * @name hasAnyDeepKeys\n   * @param {Mixed} object\n   * @param {Array|Object} keys\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.hasAnyDeepKeys = function (obj, keys, msg) {\n    new Assertion(obj, msg, assert.hasAnyDeepKeys, true)\n      .to.have.any.deep.keys(keys);\n  }\n\n /**\n   * ### .hasAllDeepKeys(object, [keys], [message])\n   *\n   * Asserts that `object` has all and only all of the `keys` provided.\n   * Since Sets and Maps can have objects as keys you can use this assertion to perform\n   * a deep comparison.\n   * You can also provide a single object instead of a `keys` array and its keys\n   * will be used as the expected set of keys.\n   *\n   *     assert.hasAllDeepKeys(new Map([[{one: 'one'}, 'valueOne']]), {one: 'one'});\n   *     assert.hasAllDeepKeys(new Map([[{one: 'one'}, 'valueOne'], [{two: 'two'}, 'valueTwo']]), [{one: 'one'}, {two: 'two'}]);\n   *     assert.hasAllDeepKeys(new Set([{one: 'one'}]), {one: 'one'});\n   *     assert.hasAllDeepKeys(new Set([{one: 'one'}, {two: 'two'}]), [{one: 'one'}, {two: 'two'}]);\n   *\n   * @name hasAllDeepKeys\n   * @param {Mixed} object\n   * @param {Array|Object} keys\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.hasAllDeepKeys = function (obj, keys, msg) {\n    new Assertion(obj, msg, assert.hasAllDeepKeys, true)\n      .to.have.all.deep.keys(keys);\n  }\n\n /**\n   * ### .containsAllDeepKeys(object, [keys], [message])\n   *\n   * Asserts that `object` contains all of the `keys` provided.\n   * Since Sets and Maps can have objects as keys you can use this assertion to perform\n   * a deep comparison.\n   * You can also provide a single object instead of a `keys` array and its keys\n   * will be used as the expected set of keys.\n   *\n   *     assert.containsAllDeepKeys(new Map([[{one: 'one'}, 'valueOne'], [1, 2]]), {one: 'one'});\n   *     assert.containsAllDeepKeys(new Map([[{one: 'one'}, 'valueOne'], [{two: 'two'}, 'valueTwo']]), [{one: 'one'}, {two: 'two'}]);\n   *     assert.containsAllDeepKeys(new Set([{one: 'one'}, {two: 'two'}]), {one: 'one'});\n   *     assert.containsAllDeepKeys(new Set([{one: 'one'}, {two: 'two'}]), [{one: 'one'}, {two: 'two'}]);\n   *\n   * @name containsAllDeepKeys\n   * @param {Mixed} object\n   * @param {Array|Object} keys\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.containsAllDeepKeys = function (obj, keys, msg) {\n    new Assertion(obj, msg, assert.containsAllDeepKeys, true)\n      .to.contain.all.deep.keys(keys);\n  }\n\n /**\n   * ### .doesNotHaveAnyDeepKeys(object, [keys], [message])\n   *\n   * Asserts that `object` has none of the `keys` provided.\n   * Since Sets and Maps can have objects as keys you can use this assertion to perform\n   * a deep comparison.\n   * You can also provide a single object instead of a `keys` array and its keys\n   * will be used as the expected set of keys.\n   *\n   *     assert.doesNotHaveAnyDeepKeys(new Map([[{one: 'one'}, 'valueOne'], [1, 2]]), {thisDoesNot: 'exist'});\n   *     assert.doesNotHaveAnyDeepKeys(new Map([[{one: 'one'}, 'valueOne'], [{two: 'two'}, 'valueTwo']]), [{twenty: 'twenty'}, {fifty: 'fifty'}]);\n   *     assert.doesNotHaveAnyDeepKeys(new Set([{one: 'one'}, {two: 'two'}]), {twenty: 'twenty'});\n   *     assert.doesNotHaveAnyDeepKeys(new Set([{one: 'one'}, {two: 'two'}]), [{twenty: 'twenty'}, {fifty: 'fifty'}]);\n   *\n   * @name doesNotHaveAnyDeepKeys\n   * @param {Mixed} object\n   * @param {Array|Object} keys\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.doesNotHaveAnyDeepKeys = function (obj, keys, msg) {\n    new Assertion(obj, msg, assert.doesNotHaveAnyDeepKeys, true)\n      .to.not.have.any.deep.keys(keys);\n  }\n\n /**\n   * ### .doesNotHaveAllDeepKeys(object, [keys], [message])\n   *\n   * Asserts that `object` does not have at least one of the `keys` provided.\n   * Since Sets and Maps can have objects as keys you can use this assertion to perform\n   * a deep comparison.\n   * You can also provide a single object instead of a `keys` array and its keys\n   * will be used as the expected set of keys.\n   *\n   *     assert.doesNotHaveAllDeepKeys(new Map([[{one: 'one'}, 'valueOne'], [1, 2]]), {thisDoesNot: 'exist'});\n   *     assert.doesNotHaveAllDeepKeys(new Map([[{one: 'one'}, 'valueOne'], [{two: 'two'}, 'valueTwo']]), [{twenty: 'twenty'}, {one: 'one'}]);\n   *     assert.doesNotHaveAllDeepKeys(new Set([{one: 'one'}, {two: 'two'}]), {twenty: 'twenty'});\n   *     assert.doesNotHaveAllDeepKeys(new Set([{one: 'one'}, {two: 'two'}]), [{one: 'one'}, {fifty: 'fifty'}]);\n   *\n   * @name doesNotHaveAllDeepKeys\n   * @param {Mixed} object\n   * @param {Array|Object} keys\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.doesNotHaveAllDeepKeys = function (obj, keys, msg) {\n    new Assertion(obj, msg, assert.doesNotHaveAllDeepKeys, true)\n      .to.not.have.all.deep.keys(keys);\n  }\n\n /**\n   * ### .throws(fn, [errorLike/string/regexp], [string/regexp], [message])\n   *\n   * If `errorLike` is an `Error` constructor, asserts that `fn` will throw an error that is an\n   * instance of `errorLike`.\n   * If `errorLike` is an `Error` instance, asserts that the error thrown is the same\n   * instance as `errorLike`.\n   * If `errMsgMatcher` is provided, it also asserts that the error thrown will have a\n   * message matching `errMsgMatcher`.\n   *\n   *     assert.throws(fn, 'Error thrown must have this msg');\n   *     assert.throws(fn, /Error thrown must have a msg that matches this/);\n   *     assert.throws(fn, ReferenceError);\n   *     assert.throws(fn, errorInstance);\n   *     assert.throws(fn, ReferenceError, 'Error thrown must be a ReferenceError and have this msg');\n   *     assert.throws(fn, errorInstance, 'Error thrown must be the same errorInstance and have this msg');\n   *     assert.throws(fn, ReferenceError, /Error thrown must be a ReferenceError and match this/);\n   *     assert.throws(fn, errorInstance, /Error thrown must be the same errorInstance and match this/);\n   *\n   * @name throws\n   * @alias throw\n   * @alias Throw\n   * @param {Function} fn\n   * @param {ErrorConstructor|Error} errorLike\n   * @param {RegExp|String} errMsgMatcher\n   * @param {String} message\n   * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.throws = function (fn, errorLike, errMsgMatcher, msg) {\n    if ('string' === typeof errorLike || errorLike instanceof RegExp) {\n      errMsgMatcher = errorLike;\n      errorLike = null;\n    }\n\n    var assertErr = new Assertion(fn, msg, assert.throws, true)\n      .to.throw(errorLike, errMsgMatcher);\n    return flag(assertErr, 'object');\n  };\n\n  /**\n   * ### .doesNotThrow(fn, [errorLike/string/regexp], [string/regexp], [message])\n   *\n   * If `errorLike` is an `Error` constructor, asserts that `fn` will _not_ throw an error that is an\n   * instance of `errorLike`.\n   * If `errorLike` is an `Error` instance, asserts that the error thrown is _not_ the same\n   * instance as `errorLike`.\n   * If `errMsgMatcher` is provided, it also asserts that the error thrown will _not_ have a\n   * message matching `errMsgMatcher`.\n   *\n   *     assert.doesNotThrow(fn, 'Any Error thrown must not have this message');\n   *     assert.doesNotThrow(fn, /Any Error thrown must not match this/);\n   *     assert.doesNotThrow(fn, Error);\n   *     assert.doesNotThrow(fn, errorInstance);\n   *     assert.doesNotThrow(fn, Error, 'Error must not have this message');\n   *     assert.doesNotThrow(fn, errorInstance, 'Error must not have this message');\n   *     assert.doesNotThrow(fn, Error, /Error must not match this/);\n   *     assert.doesNotThrow(fn, errorInstance, /Error must not match this/);\n   *\n   * @name doesNotThrow\n   * @param {Function} fn\n   * @param {ErrorConstructor} errorLike\n   * @param {RegExp|String} errMsgMatcher\n   * @param {String} message\n   * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.doesNotThrow = function (fn, errorLike, errMsgMatcher, msg) {\n    if ('string' === typeof errorLike || errorLike instanceof RegExp) {\n      errMsgMatcher = errorLike;\n      errorLike = null;\n    }\n\n    new Assertion(fn, msg, assert.doesNotThrow, true)\n      .to.not.throw(errorLike, errMsgMatcher);\n  };\n\n  /**\n   * ### .operator(val1, operator, val2, [message])\n   *\n   * Compares two values using `operator`.\n   *\n   *     assert.operator(1, '<', 2, 'everything is ok');\n   *     assert.operator(1, '>', 2, 'this will fail');\n   *\n   * @name operator\n   * @param {Mixed} val1\n   * @param {String} operator\n   * @param {Mixed} val2\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.operator = function (val, operator, val2, msg) {\n    var ok;\n    switch(operator) {\n      case '==':\n        ok = val == val2;\n        break;\n      case '===':\n        ok = val === val2;\n        break;\n      case '>':\n        ok = val > val2;\n        break;\n      case '>=':\n        ok = val >= val2;\n        break;\n      case '<':\n        ok = val < val2;\n        break;\n      case '<=':\n        ok = val <= val2;\n        break;\n      case '!=':\n        ok = val != val2;\n        break;\n      case '!==':\n        ok = val !== val2;\n        break;\n      default:\n        msg = msg ? msg + ': ' : msg;\n        throw new chai.AssertionError(\n          msg + 'Invalid operator \"' + operator + '\"',\n          undefined,\n          assert.operator\n        );\n    }\n    var test = new Assertion(ok, msg, assert.operator, true);\n    test.assert(\n        true === flag(test, 'object')\n      , 'expected ' + util.inspect(val) + ' to be ' + operator + ' ' + util.inspect(val2)\n      , 'expected ' + util.inspect(val) + ' to not be ' + operator + ' ' + util.inspect(val2) );\n  };\n\n  /**\n   * ### .closeTo(actual, expected, delta, [message])\n   *\n   * Asserts that the target is equal `expected`, to within a +/- `delta` range.\n   *\n   *     assert.closeTo(1.5, 1, 0.5, 'numbers are close');\n   *\n   * @name closeTo\n   * @param {Number} actual\n   * @param {Number} expected\n   * @param {Number} delta\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.closeTo = function (act, exp, delta, msg) {\n    new Assertion(act, msg, assert.closeTo, true).to.be.closeTo(exp, delta);\n  };\n\n  /**\n   * ### .approximately(actual, expected, delta, [message])\n   *\n   * Asserts that the target is equal `expected`, to within a +/- `delta` range.\n   *\n   *     assert.approximately(1.5, 1, 0.5, 'numbers are close');\n   *\n   * @name approximately\n   * @param {Number} actual\n   * @param {Number} expected\n   * @param {Number} delta\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.approximately = function (act, exp, delta, msg) {\n    new Assertion(act, msg, assert.approximately, true)\n      .to.be.approximately(exp, delta);\n  };\n\n  /**\n   * ### .sameMembers(set1, set2, [message])\n   *\n   * Asserts that `set1` and `set2` have the same members in any order. Uses a\n   * strict equality check (===).\n   *\n   *     assert.sameMembers([ 1, 2, 3 ], [ 2, 1, 3 ], 'same members');\n   *\n   * @name sameMembers\n   * @param {Array} set1\n   * @param {Array} set2\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.sameMembers = function (set1, set2, msg) {\n    new Assertion(set1, msg, assert.sameMembers, true)\n      .to.have.same.members(set2);\n  }\n\n  /**\n   * ### .notSameMembers(set1, set2, [message])\n   *\n   * Asserts that `set1` and `set2` don't have the same members in any order.\n   * Uses a strict equality check (===).\n   *\n   *     assert.notSameMembers([ 1, 2, 3 ], [ 5, 1, 3 ], 'not same members');\n   *\n   * @name notSameMembers\n   * @param {Array} set1\n   * @param {Array} set2\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.notSameMembers = function (set1, set2, msg) {\n    new Assertion(set1, msg, assert.notSameMembers, true)\n      .to.not.have.same.members(set2);\n  }\n\n  /**\n   * ### .sameDeepMembers(set1, set2, [message])\n   *\n   * Asserts that `set1` and `set2` have the same members in any order. Uses a\n   * deep equality check.\n   *\n   *     assert.sameDeepMembers([ { a: 1 }, { b: 2 }, { c: 3 } ], [{ b: 2 }, { a: 1 }, { c: 3 }], 'same deep members');\n   *\n   * @name sameDeepMembers\n   * @param {Array} set1\n   * @param {Array} set2\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.sameDeepMembers = function (set1, set2, msg) {\n    new Assertion(set1, msg, assert.sameDeepMembers, true)\n      .to.have.same.deep.members(set2);\n  }\n\n  /**\n   * ### .notSameDeepMembers(set1, set2, [message])\n   *\n   * Asserts that `set1` and `set2` don't have the same members in any order.\n   * Uses a deep equality check.\n   *\n   *     assert.notSameDeepMembers([ { a: 1 }, { b: 2 }, { c: 3 } ], [{ b: 2 }, { a: 1 }, { f: 5 }], 'not same deep members');\n   *\n   * @name notSameDeepMembers\n   * @param {Array} set1\n   * @param {Array} set2\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.notSameDeepMembers = function (set1, set2, msg) {\n    new Assertion(set1, msg, assert.notSameDeepMembers, true)\n      .to.not.have.same.deep.members(set2);\n  }\n\n  /**\n   * ### .sameOrderedMembers(set1, set2, [message])\n   *\n   * Asserts that `set1` and `set2` have the same members in the same order.\n   * Uses a strict equality check (===).\n   *\n   *     assert.sameOrderedMembers([ 1, 2, 3 ], [ 1, 2, 3 ], 'same ordered members');\n   *\n   * @name sameOrderedMembers\n   * @param {Array} set1\n   * @param {Array} set2\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.sameOrderedMembers = function (set1, set2, msg) {\n    new Assertion(set1, msg, assert.sameOrderedMembers, true)\n      .to.have.same.ordered.members(set2);\n  }\n\n  /**\n   * ### .notSameOrderedMembers(set1, set2, [message])\n   *\n   * Asserts that `set1` and `set2` don't have the same members in the same\n   * order. Uses a strict equality check (===).\n   *\n   *     assert.notSameOrderedMembers([ 1, 2, 3 ], [ 2, 1, 3 ], 'not same ordered members');\n   *\n   * @name notSameOrderedMembers\n   * @param {Array} set1\n   * @param {Array} set2\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.notSameOrderedMembers = function (set1, set2, msg) {\n    new Assertion(set1, msg, assert.notSameOrderedMembers, true)\n      .to.not.have.same.ordered.members(set2);\n  }\n\n  /**\n   * ### .sameDeepOrderedMembers(set1, set2, [message])\n   *\n   * Asserts that `set1` and `set2` have the same members in the same order.\n   * Uses a deep equality check.\n   *\n   *     assert.sameDeepOrderedMembers([ { a: 1 }, { b: 2 }, { c: 3 } ], [ { a: 1 }, { b: 2 }, { c: 3 } ], 'same deep ordered members');\n   *\n   * @name sameDeepOrderedMembers\n   * @param {Array} set1\n   * @param {Array} set2\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.sameDeepOrderedMembers = function (set1, set2, msg) {\n    new Assertion(set1, msg, assert.sameDeepOrderedMembers, true)\n      .to.have.same.deep.ordered.members(set2);\n  }\n\n  /**\n   * ### .notSameDeepOrderedMembers(set1, set2, [message])\n   *\n   * Asserts that `set1` and `set2` don't have the same members in the same\n   * order. Uses a deep equality check.\n   *\n   *     assert.notSameDeepOrderedMembers([ { a: 1 }, { b: 2 }, { c: 3 } ], [ { a: 1 }, { b: 2 }, { z: 5 } ], 'not same deep ordered members');\n   *     assert.notSameDeepOrderedMembers([ { a: 1 }, { b: 2 }, { c: 3 } ], [ { b: 2 }, { a: 1 }, { c: 3 } ], 'not same deep ordered members');\n   *\n   * @name notSameDeepOrderedMembers\n   * @param {Array} set1\n   * @param {Array} set2\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.notSameDeepOrderedMembers = function (set1, set2, msg) {\n    new Assertion(set1, msg, assert.notSameDeepOrderedMembers, true)\n      .to.not.have.same.deep.ordered.members(set2);\n  }\n\n  /**\n   * ### .includeMembers(superset, subset, [message])\n   *\n   * Asserts that `subset` is included in `superset` in any order. Uses a\n   * strict equality check (===). Duplicates are ignored.\n   *\n   *     assert.includeMembers([ 1, 2, 3 ], [ 2, 1, 2 ], 'include members');\n   *\n   * @name includeMembers\n   * @param {Array} superset\n   * @param {Array} subset\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.includeMembers = function (superset, subset, msg) {\n    new Assertion(superset, msg, assert.includeMembers, true)\n      .to.include.members(subset);\n  }\n\n  /**\n   * ### .notIncludeMembers(superset, subset, [message])\n   *\n   * Asserts that `subset` isn't included in `superset` in any order. Uses a\n   * strict equality check (===). Duplicates are ignored.\n   *\n   *     assert.notIncludeMembers([ 1, 2, 3 ], [ 5, 1 ], 'not include members');\n   *\n   * @name notIncludeMembers\n   * @param {Array} superset\n   * @param {Array} subset\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.notIncludeMembers = function (superset, subset, msg) {\n    new Assertion(superset, msg, assert.notIncludeMembers, true)\n      .to.not.include.members(subset);\n  }\n\n  /**\n   * ### .includeDeepMembers(superset, subset, [message])\n   *\n   * Asserts that `subset` is included in `superset` in any order. Uses a deep\n   * equality check. Duplicates are ignored.\n   *\n   *     assert.includeDeepMembers([ { a: 1 }, { b: 2 }, { c: 3 } ], [ { b: 2 }, { a: 1 }, { b: 2 } ], 'include deep members');\n   *\n   * @name includeDeepMembers\n   * @param {Array} superset\n   * @param {Array} subset\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.includeDeepMembers = function (superset, subset, msg) {\n    new Assertion(superset, msg, assert.includeDeepMembers, true)\n      .to.include.deep.members(subset);\n  }\n\n  /**\n   * ### .notIncludeDeepMembers(superset, subset, [message])\n   *\n   * Asserts that `subset` isn't included in `superset` in any order. Uses a\n   * deep equality check. Duplicates are ignored.\n   *\n   *     assert.notIncludeDeepMembers([ { a: 1 }, { b: 2 }, { c: 3 } ], [ { b: 2 }, { f: 5 } ], 'not include deep members');\n   *\n   * @name notIncludeDeepMembers\n   * @param {Array} superset\n   * @param {Array} subset\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.notIncludeDeepMembers = function (superset, subset, msg) {\n    new Assertion(superset, msg, assert.notIncludeDeepMembers, true)\n      .to.not.include.deep.members(subset);\n  }\n\n  /**\n   * ### .includeOrderedMembers(superset, subset, [message])\n   *\n   * Asserts that `subset` is included in `superset` in the same order\n   * beginning with the first element in `superset`. Uses a strict equality\n   * check (===).\n   *\n   *     assert.includeOrderedMembers([ 1, 2, 3 ], [ 1, 2 ], 'include ordered members');\n   *\n   * @name includeOrderedMembers\n   * @param {Array} superset\n   * @param {Array} subset\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.includeOrderedMembers = function (superset, subset, msg) {\n    new Assertion(superset, msg, assert.includeOrderedMembers, true)\n      .to.include.ordered.members(subset);\n  }\n\n  /**\n   * ### .notIncludeOrderedMembers(superset, subset, [message])\n   *\n   * Asserts that `subset` isn't included in `superset` in the same order\n   * beginning with the first element in `superset`. Uses a strict equality\n   * check (===).\n   *\n   *     assert.notIncludeOrderedMembers([ 1, 2, 3 ], [ 2, 1 ], 'not include ordered members');\n   *     assert.notIncludeOrderedMembers([ 1, 2, 3 ], [ 2, 3 ], 'not include ordered members');\n   *\n   * @name notIncludeOrderedMembers\n   * @param {Array} superset\n   * @param {Array} subset\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.notIncludeOrderedMembers = function (superset, subset, msg) {\n    new Assertion(superset, msg, assert.notIncludeOrderedMembers, true)\n      .to.not.include.ordered.members(subset);\n  }\n\n  /**\n   * ### .includeDeepOrderedMembers(superset, subset, [message])\n   *\n   * Asserts that `subset` is included in `superset` in the same order\n   * beginning with the first element in `superset`. Uses a deep equality\n   * check.\n   *\n   *     assert.includeDeepOrderedMembers([ { a: 1 }, { b: 2 }, { c: 3 } ], [ { a: 1 }, { b: 2 } ], 'include deep ordered members');\n   *\n   * @name includeDeepOrderedMembers\n   * @param {Array} superset\n   * @param {Array} subset\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.includeDeepOrderedMembers = function (superset, subset, msg) {\n    new Assertion(superset, msg, assert.includeDeepOrderedMembers, true)\n      .to.include.deep.ordered.members(subset);\n  }\n\n  /**\n   * ### .notIncludeDeepOrderedMembers(superset, subset, [message])\n   *\n   * Asserts that `subset` isn't included in `superset` in the same order\n   * beginning with the first element in `superset`. Uses a deep equality\n   * check.\n   *\n   *     assert.notIncludeDeepOrderedMembers([ { a: 1 }, { b: 2 }, { c: 3 } ], [ { a: 1 }, { f: 5 } ], 'not include deep ordered members');\n   *     assert.notIncludeDeepOrderedMembers([ { a: 1 }, { b: 2 }, { c: 3 } ], [ { b: 2 }, { a: 1 } ], 'not include deep ordered members');\n   *     assert.notIncludeDeepOrderedMembers([ { a: 1 }, { b: 2 }, { c: 3 } ], [ { b: 2 }, { c: 3 } ], 'not include deep ordered members');\n   *\n   * @name notIncludeDeepOrderedMembers\n   * @param {Array} superset\n   * @param {Array} subset\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.notIncludeDeepOrderedMembers = function (superset, subset, msg) {\n    new Assertion(superset, msg, assert.notIncludeDeepOrderedMembers, true)\n      .to.not.include.deep.ordered.members(subset);\n  }\n\n  /**\n   * ### .oneOf(inList, list, [message])\n   *\n   * Asserts that non-object, non-array value `inList` appears in the flat array `list`.\n   *\n   *     assert.oneOf(1, [ 2, 1 ], 'Not found in list');\n   *\n   * @name oneOf\n   * @param {*} inList\n   * @param {Array<*>} list\n   * @param {String} message\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.oneOf = function (inList, list, msg) {\n    new Assertion(inList, msg, assert.oneOf, true).to.be.oneOf(list);\n  }\n\n  /**\n   * ### .changes(function, object, property, [message])\n   *\n   * Asserts that a function changes the value of a property.\n   *\n   *     var obj = { val: 10 };\n   *     var fn = function() { obj.val = 22 };\n   *     assert.changes(fn, obj, 'val');\n   *\n   * @name changes\n   * @param {Function} modifier function\n   * @param {Object} object or getter function\n   * @param {String} property name _optional_\n   * @param {String} message _optional_\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.changes = function (fn, obj, prop, msg) {\n    if (arguments.length === 3 && typeof obj === 'function') {\n      msg = prop;\n      prop = null;\n    }\n\n    new Assertion(fn, msg, assert.changes, true).to.change(obj, prop);\n  }\n\n   /**\n   * ### .changesBy(function, object, property, delta, [message])\n   *\n   * Asserts that a function changes the value of a property by an amount (delta).\n   *\n   *     var obj = { val: 10 };\n   *     var fn = function() { obj.val += 2 };\n   *     assert.changesBy(fn, obj, 'val', 2);\n   *\n   * @name changesBy\n   * @param {Function} modifier function\n   * @param {Object} object or getter function\n   * @param {String} property name _optional_\n   * @param {Number} change amount (delta)\n   * @param {String} message _optional_\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.changesBy = function (fn, obj, prop, delta, msg) {\n    if (arguments.length === 4 && typeof obj === 'function') {\n      var tmpMsg = delta;\n      delta = prop;\n      msg = tmpMsg;\n    } else if (arguments.length === 3) {\n      delta = prop;\n      prop = null;\n    }\n\n    new Assertion(fn, msg, assert.changesBy, true)\n      .to.change(obj, prop).by(delta);\n  }\n\n   /**\n   * ### .doesNotChange(function, object, property, [message])\n   *\n   * Asserts that a function does not change the value of a property.\n   *\n   *     var obj = { val: 10 };\n   *     var fn = function() { console.log('foo'); };\n   *     assert.doesNotChange(fn, obj, 'val');\n   *\n   * @name doesNotChange\n   * @param {Function} modifier function\n   * @param {Object} object or getter function\n   * @param {String} property name _optional_\n   * @param {String} message _optional_\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.doesNotChange = function (fn, obj, prop, msg) {\n    if (arguments.length === 3 && typeof obj === 'function') {\n      msg = prop;\n      prop = null;\n    }\n\n    return new Assertion(fn, msg, assert.doesNotChange, true)\n      .to.not.change(obj, prop);\n  }\n\n  /**\n   * ### .changesButNotBy(function, object, property, delta, [message])\n   *\n   * Asserts that a function does not change the value of a property or of a function's return value by an amount (delta)\n   *\n   *     var obj = { val: 10 };\n   *     var fn = function() { obj.val += 10 };\n   *     assert.changesButNotBy(fn, obj, 'val', 5);\n   *\n   * @name changesButNotBy\n   * @param {Function} modifier function\n   * @param {Object} object or getter function\n   * @param {String} property name _optional_\n   * @param {Number} change amount (delta)\n   * @param {String} message _optional_\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.changesButNotBy = function (fn, obj, prop, delta, msg) {\n    if (arguments.length === 4 && typeof obj === 'function') {\n      var tmpMsg = delta;\n      delta = prop;\n      msg = tmpMsg;\n    } else if (arguments.length === 3) {\n      delta = prop;\n      prop = null;\n    }\n\n    new Assertion(fn, msg, assert.changesButNotBy, true)\n      .to.change(obj, prop).but.not.by(delta);\n  }\n\n  /**\n   * ### .increases(function, object, property, [message])\n   *\n   * Asserts that a function increases a numeric object property.\n   *\n   *     var obj = { val: 10 };\n   *     var fn = function() { obj.val = 13 };\n   *     assert.increases(fn, obj, 'val');\n   *\n   * @name increases\n   * @param {Function} modifier function\n   * @param {Object} object or getter function\n   * @param {String} property name _optional_\n   * @param {String} message _optional_\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.increases = function (fn, obj, prop, msg) {\n    if (arguments.length === 3 && typeof obj === 'function') {\n      msg = prop;\n      prop = null;\n    }\n\n    return new Assertion(fn, msg, assert.increases, true)\n      .to.increase(obj, prop);\n  }\n\n  /**\n   * ### .increasesBy(function, object, property, delta, [message])\n   *\n   * Asserts that a function increases a numeric object property or a function's return value by an amount (delta).\n   *\n   *     var obj = { val: 10 };\n   *     var fn = function() { obj.val += 10 };\n   *     assert.increasesBy(fn, obj, 'val', 10);\n   *\n   * @name increasesBy\n   * @param {Function} modifier function\n   * @param {Object} object or getter function\n   * @param {String} property name _optional_\n   * @param {Number} change amount (delta)\n   * @param {String} message _optional_\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.increasesBy = function (fn, obj, prop, delta, msg) {\n    if (arguments.length === 4 && typeof obj === 'function') {\n      var tmpMsg = delta;\n      delta = prop;\n      msg = tmpMsg;\n    } else if (arguments.length === 3) {\n      delta = prop;\n      prop = null;\n    }\n\n    new Assertion(fn, msg, assert.increasesBy, true)\n      .to.increase(obj, prop).by(delta);\n  }\n\n  /**\n   * ### .doesNotIncrease(function, object, property, [message])\n   *\n   * Asserts that a function does not increase a numeric object property.\n   *\n   *     var obj = { val: 10 };\n   *     var fn = function() { obj.val = 8 };\n   *     assert.doesNotIncrease(fn, obj, 'val');\n   *\n   * @name doesNotIncrease\n   * @param {Function} modifier function\n   * @param {Object} object or getter function\n   * @param {String} property name _optional_\n   * @param {String} message _optional_\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.doesNotIncrease = function (fn, obj, prop, msg) {\n    if (arguments.length === 3 && typeof obj === 'function') {\n      msg = prop;\n      prop = null;\n    }\n\n    return new Assertion(fn, msg, assert.doesNotIncrease, true)\n      .to.not.increase(obj, prop);\n  }\n\n  /**\n   * ### .increasesButNotBy(function, object, property, delta, [message])\n   *\n   * Asserts that a function does not increase a numeric object property or function's return value by an amount (delta).\n   *\n   *     var obj = { val: 10 };\n   *     var fn = function() { obj.val = 15 };\n   *     assert.increasesButNotBy(fn, obj, 'val', 10);\n   *\n   * @name increasesButNotBy\n   * @param {Function} modifier function\n   * @param {Object} object or getter function\n   * @param {String} property name _optional_\n   * @param {Number} change amount (delta)\n   * @param {String} message _optional_\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.increasesButNotBy = function (fn, obj, prop, delta, msg) {\n    if (arguments.length === 4 && typeof obj === 'function') {\n      var tmpMsg = delta;\n      delta = prop;\n      msg = tmpMsg;\n    } else if (arguments.length === 3) {\n      delta = prop;\n      prop = null;\n    }\n\n    new Assertion(fn, msg, assert.increasesButNotBy, true)\n      .to.increase(obj, prop).but.not.by(delta);\n  }\n\n  /**\n   * ### .decreases(function, object, property, [message])\n   *\n   * Asserts that a function decreases a numeric object property.\n   *\n   *     var obj = { val: 10 };\n   *     var fn = function() { obj.val = 5 };\n   *     assert.decreases(fn, obj, 'val');\n   *\n   * @name decreases\n   * @param {Function} modifier function\n   * @param {Object} object or getter function\n   * @param {String} property name _optional_\n   * @param {String} message _optional_\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.decreases = function (fn, obj, prop, msg) {\n    if (arguments.length === 3 && typeof obj === 'function') {\n      msg = prop;\n      prop = null;\n    }\n\n    return new Assertion(fn, msg, assert.decreases, true)\n      .to.decrease(obj, prop);\n  }\n\n  /**\n   * ### .decreasesBy(function, object, property, delta, [message])\n   *\n   * Asserts that a function decreases a numeric object property or a function's return value by an amount (delta)\n   *\n   *     var obj = { val: 10 };\n   *     var fn = function() { obj.val -= 5 };\n   *     assert.decreasesBy(fn, obj, 'val', 5);\n   *\n   * @name decreasesBy\n   * @param {Function} modifier function\n   * @param {Object} object or getter function\n   * @param {String} property name _optional_\n   * @param {Number} change amount (delta)\n   * @param {String} message _optional_\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.decreasesBy = function (fn, obj, prop, delta, msg) {\n    if (arguments.length === 4 && typeof obj === 'function') {\n      var tmpMsg = delta;\n      delta = prop;\n      msg = tmpMsg;\n    } else if (arguments.length === 3) {\n      delta = prop;\n      prop = null;\n    }\n\n    new Assertion(fn, msg, assert.decreasesBy, true)\n      .to.decrease(obj, prop).by(delta);\n  }\n\n  /**\n   * ### .doesNotDecrease(function, object, property, [message])\n   *\n   * Asserts that a function does not decreases a numeric object property.\n   *\n   *     var obj = { val: 10 };\n   *     var fn = function() { obj.val = 15 };\n   *     assert.doesNotDecrease(fn, obj, 'val');\n   *\n   * @name doesNotDecrease\n   * @param {Function} modifier function\n   * @param {Object} object or getter function\n   * @param {String} property name _optional_\n   * @param {String} message _optional_\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.doesNotDecrease = function (fn, obj, prop, msg) {\n    if (arguments.length === 3 && typeof obj === 'function') {\n      msg = prop;\n      prop = null;\n    }\n\n    return new Assertion(fn, msg, assert.doesNotDecrease, true)\n      .to.not.decrease(obj, prop);\n  }\n\n  /**\n   * ### .doesNotDecreaseBy(function, object, property, delta, [message])\n   *\n   * Asserts that a function does not decreases a numeric object property or a function's return value by an amount (delta)\n   *\n   *     var obj = { val: 10 };\n   *     var fn = function() { obj.val = 5 };\n   *     assert.doesNotDecreaseBy(fn, obj, 'val', 1);\n   *\n   * @name doesNotDecreaseBy\n   * @param {Function} modifier function\n   * @param {Object} object or getter function\n   * @param {String} property name _optional_\n   * @param {Number} change amount (delta)\n   * @param {String} message _optional_\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.doesNotDecreaseBy = function (fn, obj, prop, delta, msg) {\n    if (arguments.length === 4 && typeof obj === 'function') {\n      var tmpMsg = delta;\n      delta = prop;\n      msg = tmpMsg;\n    } else if (arguments.length === 3) {\n      delta = prop;\n      prop = null;\n    }\n\n    return new Assertion(fn, msg, assert.doesNotDecreaseBy, true)\n      .to.not.decrease(obj, prop).by(delta);\n  }\n\n  /**\n   * ### .decreasesButNotBy(function, object, property, delta, [message])\n   *\n   * Asserts that a function does not decreases a numeric object property or a function's return value by an amount (delta)\n   *\n   *     var obj = { val: 10 };\n   *     var fn = function() { obj.val = 5 };\n   *     assert.decreasesButNotBy(fn, obj, 'val', 1);\n   *\n   * @name decreasesButNotBy\n   * @param {Function} modifier function\n   * @param {Object} object or getter function\n   * @param {String} property name _optional_\n   * @param {Number} change amount (delta)\n   * @param {String} message _optional_\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.decreasesButNotBy = function (fn, obj, prop, delta, msg) {\n    if (arguments.length === 4 && typeof obj === 'function') {\n      var tmpMsg = delta;\n      delta = prop;\n      msg = tmpMsg;\n    } else if (arguments.length === 3) {\n      delta = prop;\n      prop = null;\n    }\n\n    new Assertion(fn, msg, assert.decreasesButNotBy, true)\n      .to.decrease(obj, prop).but.not.by(delta);\n  }\n\n  /*!\n   * ### .ifError(object)\n   *\n   * Asserts if value is not a false value, and throws if it is a true value.\n   * This is added to allow for chai to be a drop-in replacement for Node's\n   * assert class.\n   *\n   *     var err = new Error('I am a custom error');\n   *     assert.ifError(err); // Rethrows err!\n   *\n   * @name ifError\n   * @param {Object} object\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.ifError = function (val) {\n    if (val) {\n      throw(val);\n    }\n  };\n\n  /**\n   * ### .isExtensible(object)\n   *\n   * Asserts that `object` is extensible (can have new properties added to it).\n   *\n   *     assert.isExtensible({});\n   *\n   * @name isExtensible\n   * @alias extensible\n   * @param {Object} object\n   * @param {String} message _optional_\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isExtensible = function (obj, msg) {\n    new Assertion(obj, msg, assert.isExtensible, true).to.be.extensible;\n  };\n\n  /**\n   * ### .isNotExtensible(object)\n   *\n   * Asserts that `object` is _not_ extensible.\n   *\n   *     var nonExtensibleObject = Object.preventExtensions({});\n   *     var sealedObject = Object.seal({});\n   *     var frozenObject = Object.freeze({});\n   *\n   *     assert.isNotExtensible(nonExtensibleObject);\n   *     assert.isNotExtensible(sealedObject);\n   *     assert.isNotExtensible(frozenObject);\n   *\n   * @name isNotExtensible\n   * @alias notExtensible\n   * @param {Object} object\n   * @param {String} message _optional_\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isNotExtensible = function (obj, msg) {\n    new Assertion(obj, msg, assert.isNotExtensible, true).to.not.be.extensible;\n  };\n\n  /**\n   * ### .isSealed(object)\n   *\n   * Asserts that `object` is sealed (cannot have new properties added to it\n   * and its existing properties cannot be removed).\n   *\n   *     var sealedObject = Object.seal({});\n   *     var frozenObject = Object.seal({});\n   *\n   *     assert.isSealed(sealedObject);\n   *     assert.isSealed(frozenObject);\n   *\n   * @name isSealed\n   * @alias sealed\n   * @param {Object} object\n   * @param {String} message _optional_\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isSealed = function (obj, msg) {\n    new Assertion(obj, msg, assert.isSealed, true).to.be.sealed;\n  };\n\n  /**\n   * ### .isNotSealed(object)\n   *\n   * Asserts that `object` is _not_ sealed.\n   *\n   *     assert.isNotSealed({});\n   *\n   * @name isNotSealed\n   * @alias notSealed\n   * @param {Object} object\n   * @param {String} message _optional_\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isNotSealed = function (obj, msg) {\n    new Assertion(obj, msg, assert.isNotSealed, true).to.not.be.sealed;\n  };\n\n  /**\n   * ### .isFrozen(object)\n   *\n   * Asserts that `object` is frozen (cannot have new properties added to it\n   * and its existing properties cannot be modified).\n   *\n   *     var frozenObject = Object.freeze({});\n   *     assert.frozen(frozenObject);\n   *\n   * @name isFrozen\n   * @alias frozen\n   * @param {Object} object\n   * @param {String} message _optional_\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isFrozen = function (obj, msg) {\n    new Assertion(obj, msg, assert.isFrozen, true).to.be.frozen;\n  };\n\n  /**\n   * ### .isNotFrozen(object)\n   *\n   * Asserts that `object` is _not_ frozen.\n   *\n   *     assert.isNotFrozen({});\n   *\n   * @name isNotFrozen\n   * @alias notFrozen\n   * @param {Object} object\n   * @param {String} message _optional_\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isNotFrozen = function (obj, msg) {\n    new Assertion(obj, msg, assert.isNotFrozen, true).to.not.be.frozen;\n  };\n\n  /**\n   * ### .isEmpty(target)\n   *\n   * Asserts that the target does not contain any values.\n   * For arrays and strings, it checks the `length` property.\n   * For `Map` and `Set` instances, it checks the `size` property.\n   * For non-function objects, it gets the count of own\n   * enumerable string keys.\n   *\n   *     assert.isEmpty([]);\n   *     assert.isEmpty('');\n   *     assert.isEmpty(new Map);\n   *     assert.isEmpty({});\n   *\n   * @name isEmpty\n   * @alias empty\n   * @param {Object|Array|String|Map|Set} target\n   * @param {String} message _optional_\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isEmpty = function(val, msg) {\n    new Assertion(val, msg, assert.isEmpty, true).to.be.empty;\n  };\n\n  /**\n   * ### .isNotEmpty(target)\n   *\n   * Asserts that the target contains values.\n   * For arrays and strings, it checks the `length` property.\n   * For `Map` and `Set` instances, it checks the `size` property.\n   * For non-function objects, it gets the count of own\n   * enumerable string keys.\n   *\n   *     assert.isNotEmpty([1, 2]);\n   *     assert.isNotEmpty('34');\n   *     assert.isNotEmpty(new Set([5, 6]));\n   *     assert.isNotEmpty({ key: 7 });\n   *\n   * @name isNotEmpty\n   * @alias notEmpty\n   * @param {Object|Array|String|Map|Set} target\n   * @param {String} message _optional_\n   * @namespace Assert\n   * @api public\n   */\n\n  assert.isNotEmpty = function(val, msg) {\n    new Assertion(val, msg, assert.isNotEmpty, true).to.not.be.empty;\n  };\n\n  /*!\n   * Aliases.\n   */\n\n  (function alias(name, as){\n    assert[as] = assert[name];\n    return alias;\n  })\n  ('isOk', 'ok')\n  ('isNotOk', 'notOk')\n  ('throws', 'throw')\n  ('throws', 'Throw')\n  ('isExtensible', 'extensible')\n  ('isNotExtensible', 'notExtensible')\n  ('isSealed', 'sealed')\n  ('isNotSealed', 'notSealed')\n  ('isFrozen', 'frozen')\n  ('isNotFrozen', 'notFrozen')\n  ('isEmpty', 'empty')\n  ('isNotEmpty', 'notEmpty');\n};\n","/*!\n * chai\n * Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>\n * MIT Licensed\n */\n\nmodule.exports = function (chai, util) {\n  chai.expect = function (val, message) {\n    return new chai.Assertion(val, message);\n  };\n\n  /**\n   * ### .fail([message])\n   * ### .fail(actual, expected, [message], [operator])\n   *\n   * Throw a failure.\n   *\n   *     expect.fail();\n   *     expect.fail(\"custom error message\");\n   *     expect.fail(1, 2);\n   *     expect.fail(1, 2, \"custom error message\");\n   *     expect.fail(1, 2, \"custom error message\", \">\");\n   *     expect.fail(1, 2, undefined, \">\");\n   *\n   * @name fail\n   * @param {Mixed} actual\n   * @param {Mixed} expected\n   * @param {String} message\n   * @param {String} operator\n   * @namespace BDD\n   * @api public\n   */\n\n  chai.expect.fail = function (actual, expected, message, operator) {\n    if (arguments.length < 2) {\n        message = actual;\n        actual = undefined;\n    }\n\n    message = message || 'expect.fail()';\n    throw new chai.AssertionError(message, {\n        actual: actual\n      , expected: expected\n      , operator: operator\n    }, chai.expect.fail);\n  };\n};\n","/*!\n * chai\n * Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>\n * MIT Licensed\n */\n\nmodule.exports = function (chai, util) {\n  var Assertion = chai.Assertion;\n\n  function loadShould () {\n    // explicitly define this method as function as to have it's name to include as `ssfi`\n    function shouldGetter() {\n      if (this instanceof String\n          || this instanceof Number\n          || this instanceof Boolean\n          || typeof Symbol === 'function' && this instanceof Symbol\n          || typeof BigInt === 'function' && this instanceof BigInt) {\n        return new Assertion(this.valueOf(), null, shouldGetter);\n      }\n      return new Assertion(this, null, shouldGetter);\n    }\n    function shouldSetter(value) {\n      // See https://github.com/chaijs/chai/issues/86: this makes\n      // `whatever.should = someValue` actually set `someValue`, which is\n      // especially useful for `global.should = require('chai').should()`.\n      //\n      // Note that we have to use [[DefineProperty]] instead of [[Put]]\n      // since otherwise we would trigger this very setter!\n      Object.defineProperty(this, 'should', {\n        value: value,\n        enumerable: true,\n        configurable: true,\n        writable: true\n      });\n    }\n    // modify Object.prototype to have `should`\n    Object.defineProperty(Object.prototype, 'should', {\n      set: shouldSetter\n      , get: shouldGetter\n      , configurable: true\n    });\n\n    var should = {};\n\n    /**\n     * ### .fail([message])\n     * ### .fail(actual, expected, [message], [operator])\n     *\n     * Throw a failure.\n     *\n     *     should.fail();\n     *     should.fail(\"custom error message\");\n     *     should.fail(1, 2);\n     *     should.fail(1, 2, \"custom error message\");\n     *     should.fail(1, 2, \"custom error message\", \">\");\n     *     should.fail(1, 2, undefined, \">\");\n     *\n     *\n     * @name fail\n     * @param {Mixed} actual\n     * @param {Mixed} expected\n     * @param {String} message\n     * @param {String} operator\n     * @namespace BDD\n     * @api public\n     */\n\n    should.fail = function (actual, expected, message, operator) {\n      if (arguments.length < 2) {\n          message = actual;\n          actual = undefined;\n      }\n\n      message = message || 'should.fail()';\n      throw new chai.AssertionError(message, {\n          actual: actual\n        , expected: expected\n        , operator: operator\n      }, should.fail);\n    };\n\n    /**\n     * ### .equal(actual, expected, [message])\n     *\n     * Asserts non-strict equality (`==`) of `actual` and `expected`.\n     *\n     *     should.equal(3, '3', '== coerces values to strings');\n     *\n     * @name equal\n     * @param {Mixed} actual\n     * @param {Mixed} expected\n     * @param {String} message\n     * @namespace Should\n     * @api public\n     */\n\n    should.equal = function (val1, val2, msg) {\n      new Assertion(val1, msg).to.equal(val2);\n    };\n\n    /**\n     * ### .throw(function, [constructor/string/regexp], [string/regexp], [message])\n     *\n     * Asserts that `function` will throw an error that is an instance of\n     * `constructor`, or alternately that it will throw an error with message\n     * matching `regexp`.\n     *\n     *     should.throw(fn, 'function throws a reference error');\n     *     should.throw(fn, /function throws a reference error/);\n     *     should.throw(fn, ReferenceError);\n     *     should.throw(fn, ReferenceError, 'function throws a reference error');\n     *     should.throw(fn, ReferenceError, /function throws a reference error/);\n     *\n     * @name throw\n     * @alias Throw\n     * @param {Function} function\n     * @param {ErrorConstructor} constructor\n     * @param {RegExp} regexp\n     * @param {String} message\n     * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types\n     * @namespace Should\n     * @api public\n     */\n\n    should.Throw = function (fn, errt, errs, msg) {\n      new Assertion(fn, msg).to.Throw(errt, errs);\n    };\n\n    /**\n     * ### .exist\n     *\n     * Asserts that the target is neither `null` nor `undefined`.\n     *\n     *     var foo = 'hi';\n     *\n     *     should.exist(foo, 'foo exists');\n     *\n     * @name exist\n     * @namespace Should\n     * @api public\n     */\n\n    should.exist = function (val, msg) {\n      new Assertion(val, msg).to.exist;\n    }\n\n    // negation\n    should.not = {}\n\n    /**\n     * ### .not.equal(actual, expected, [message])\n     *\n     * Asserts non-strict inequality (`!=`) of `actual` and `expected`.\n     *\n     *     should.not.equal(3, 4, 'these numbers are not equal');\n     *\n     * @name not.equal\n     * @param {Mixed} actual\n     * @param {Mixed} expected\n     * @param {String} message\n     * @namespace Should\n     * @api public\n     */\n\n    should.not.equal = function (val1, val2, msg) {\n      new Assertion(val1, msg).to.not.equal(val2);\n    };\n\n    /**\n     * ### .throw(function, [constructor/regexp], [message])\n     *\n     * Asserts that `function` will _not_ throw an error that is an instance of\n     * `constructor`, or alternately that it will not throw an error with message\n     * matching `regexp`.\n     *\n     *     should.not.throw(fn, Error, 'function does not throw');\n     *\n     * @name not.throw\n     * @alias not.Throw\n     * @param {Function} function\n     * @param {ErrorConstructor} constructor\n     * @param {RegExp} regexp\n     * @param {String} message\n     * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types\n     * @namespace Should\n     * @api public\n     */\n\n    should.not.Throw = function (fn, errt, errs, msg) {\n      new Assertion(fn, msg).to.not.Throw(errt, errs);\n    };\n\n    /**\n     * ### .not.exist\n     *\n     * Asserts that the target is neither `null` nor `undefined`.\n     *\n     *     var bar = null;\n     *\n     *     should.not.exist(bar, 'bar does not exist');\n     *\n     * @name not.exist\n     * @namespace Should\n     * @api public\n     */\n\n    should.not.exist = function (val, msg) {\n      new Assertion(val, msg).to.not.exist;\n    }\n\n    should['throw'] = should['Throw'];\n    should.not['throw'] = should.not['Throw'];\n\n    return should;\n  };\n\n  chai.should = loadShould;\n  chai.Should = loadShould;\n};\n","/*!\n * Chai - addChainingMethod utility\n * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>\n * MIT Licensed\n */\n\n/*!\n * Module dependencies\n */\n\nvar addLengthGuard = require('./addLengthGuard');\nvar chai = require('../../chai');\nvar flag = require('./flag');\nvar proxify = require('./proxify');\nvar transferFlags = require('./transferFlags');\n\n/*!\n * Module variables\n */\n\n// Check whether `Object.setPrototypeOf` is supported\nvar canSetPrototype = typeof Object.setPrototypeOf === 'function';\n\n// Without `Object.setPrototypeOf` support, this module will need to add properties to a function.\n// However, some of functions' own props are not configurable and should be skipped.\nvar testFn = function() {};\nvar excludeNames = Object.getOwnPropertyNames(testFn).filter(function(name) {\n  var propDesc = Object.getOwnPropertyDescriptor(testFn, name);\n\n  // Note: PhantomJS 1.x includes `callee` as one of `testFn`'s own properties,\n  // but then returns `undefined` as the property descriptor for `callee`. As a\n  // workaround, we perform an otherwise unnecessary type-check for `propDesc`,\n  // and then filter it out if it's not an object as it should be.\n  if (typeof propDesc !== 'object')\n    return true;\n\n  return !propDesc.configurable;\n});\n\n// Cache `Function` properties\nvar call  = Function.prototype.call,\n    apply = Function.prototype.apply;\n\n/**\n * ### .addChainableMethod(ctx, name, method, chainingBehavior)\n *\n * Adds a method to an object, such that the method can also be chained.\n *\n *     utils.addChainableMethod(chai.Assertion.prototype, 'foo', function (str) {\n *       var obj = utils.flag(this, 'object');\n *       new chai.Assertion(obj).to.be.equal(str);\n *     });\n *\n * Can also be accessed directly from `chai.Assertion`.\n *\n *     chai.Assertion.addChainableMethod('foo', fn, chainingBehavior);\n *\n * The result can then be used as both a method assertion, executing both `method` and\n * `chainingBehavior`, or as a language chain, which only executes `chainingBehavior`.\n *\n *     expect(fooStr).to.be.foo('bar');\n *     expect(fooStr).to.be.foo.equal('foo');\n *\n * @param {Object} ctx object to which the method is added\n * @param {String} name of method to add\n * @param {Function} method function to be used for `name`, when called\n * @param {Function} chainingBehavior function to be called every time the property is accessed\n * @namespace Utils\n * @name addChainableMethod\n * @api public\n */\n\nmodule.exports = function addChainableMethod(ctx, name, method, chainingBehavior) {\n  if (typeof chainingBehavior !== 'function') {\n    chainingBehavior = function () { };\n  }\n\n  var chainableBehavior = {\n      method: method\n    , chainingBehavior: chainingBehavior\n  };\n\n  // save the methods so we can overwrite them later, if we need to.\n  if (!ctx.__methods) {\n    ctx.__methods = {};\n  }\n  ctx.__methods[name] = chainableBehavior;\n\n  Object.defineProperty(ctx, name,\n    { get: function chainableMethodGetter() {\n        chainableBehavior.chainingBehavior.call(this);\n\n        var chainableMethodWrapper = function () {\n          // Setting the `ssfi` flag to `chainableMethodWrapper` causes this\n          // function to be the starting point for removing implementation\n          // frames from the stack trace of a failed assertion.\n          //\n          // However, we only want to use this function as the starting point if\n          // the `lockSsfi` flag isn't set.\n          //\n          // If the `lockSsfi` flag is set, then this assertion is being\n          // invoked from inside of another assertion. In this case, the `ssfi`\n          // flag has already been set by the outer assertion.\n          //\n          // Note that overwriting a chainable method merely replaces the saved\n          // methods in `ctx.__methods` instead of completely replacing the\n          // overwritten assertion. Therefore, an overwriting assertion won't\n          // set the `ssfi` or `lockSsfi` flags.\n          if (!flag(this, 'lockSsfi')) {\n            flag(this, 'ssfi', chainableMethodWrapper);\n          }\n\n          var result = chainableBehavior.method.apply(this, arguments);\n          if (result !== undefined) {\n            return result;\n          }\n\n          var newAssertion = new chai.Assertion();\n          transferFlags(this, newAssertion);\n          return newAssertion;\n        };\n\n        addLengthGuard(chainableMethodWrapper, name, true);\n\n        // Use `Object.setPrototypeOf` if available\n        if (canSetPrototype) {\n          // Inherit all properties from the object by replacing the `Function` prototype\n          var prototype = Object.create(this);\n          // Restore the `call` and `apply` methods from `Function`\n          prototype.call = call;\n          prototype.apply = apply;\n          Object.setPrototypeOf(chainableMethodWrapper, prototype);\n        }\n        // Otherwise, redefine all properties (slow!)\n        else {\n          var asserterNames = Object.getOwnPropertyNames(ctx);\n          asserterNames.forEach(function (asserterName) {\n            if (excludeNames.indexOf(asserterName) !== -1) {\n              return;\n            }\n\n            var pd = Object.getOwnPropertyDescriptor(ctx, asserterName);\n            Object.defineProperty(chainableMethodWrapper, asserterName, pd);\n          });\n        }\n\n        transferFlags(this, chainableMethodWrapper);\n        return proxify(chainableMethodWrapper);\n      }\n    , configurable: true\n  });\n};\n","var fnLengthDesc = Object.getOwnPropertyDescriptor(function () {}, 'length');\n\n/*!\n * Chai - addLengthGuard utility\n * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>\n * MIT Licensed\n */\n\n/**\n * ### .addLengthGuard(fn, assertionName, isChainable)\n *\n * Define `length` as a getter on the given uninvoked method assertion. The\n * getter acts as a guard against chaining `length` directly off of an uninvoked\n * method assertion, which is a problem because it references `function`'s\n * built-in `length` property instead of Chai's `length` assertion. When the\n * getter catches the user making this mistake, it throws an error with a\n * helpful message.\n *\n * There are two ways in which this mistake can be made. The first way is by\n * chaining the `length` assertion directly off of an uninvoked chainable\n * method. In this case, Chai suggests that the user use `lengthOf` instead. The\n * second way is by chaining the `length` assertion directly off of an uninvoked\n * non-chainable method. Non-chainable methods must be invoked prior to\n * chaining. In this case, Chai suggests that the user consult the docs for the\n * given assertion.\n *\n * If the `length` property of functions is unconfigurable, then return `fn`\n * without modification.\n *\n * Note that in ES6, the function's `length` property is configurable, so once\n * support for legacy environments is dropped, Chai's `length` property can\n * replace the built-in function's `length` property, and this length guard will\n * no longer be necessary. In the mean time, maintaining consistency across all\n * environments is the priority.\n *\n * @param {Function} fn\n * @param {String} assertionName\n * @param {Boolean} isChainable\n * @namespace Utils\n * @name addLengthGuard\n */\n\nmodule.exports = function addLengthGuard (fn, assertionName, isChainable) {\n  if (!fnLengthDesc.configurable) return fn;\n\n  Object.defineProperty(fn, 'length', {\n    get: function () {\n      if (isChainable) {\n        throw Error('Invalid Chai property: ' + assertionName + '.length. Due' +\n          ' to a compatibility issue, \"length\" cannot directly follow \"' +\n          assertionName + '\". Use \"' + assertionName + '.lengthOf\" instead.');\n      }\n\n      throw Error('Invalid Chai property: ' + assertionName + '.length. See' +\n        ' docs for proper usage of \"' + assertionName + '\".');\n    }\n  });\n\n  return fn;\n};\n","/*!\n * Chai - addMethod utility\n * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>\n * MIT Licensed\n */\n\nvar addLengthGuard = require('./addLengthGuard');\nvar chai = require('../../chai');\nvar flag = require('./flag');\nvar proxify = require('./proxify');\nvar transferFlags = require('./transferFlags');\n\n/**\n * ### .addMethod(ctx, name, method)\n *\n * Adds a method to the prototype of an object.\n *\n *     utils.addMethod(chai.Assertion.prototype, 'foo', function (str) {\n *       var obj = utils.flag(this, 'object');\n *       new chai.Assertion(obj).to.be.equal(str);\n *     });\n *\n * Can also be accessed directly from `chai.Assertion`.\n *\n *     chai.Assertion.addMethod('foo', fn);\n *\n * Then can be used as any other assertion.\n *\n *     expect(fooStr).to.be.foo('bar');\n *\n * @param {Object} ctx object to which the method is added\n * @param {String} name of method to add\n * @param {Function} method function to be used for name\n * @namespace Utils\n * @name addMethod\n * @api public\n */\n\nmodule.exports = function addMethod(ctx, name, method) {\n  var methodWrapper = function () {\n    // Setting the `ssfi` flag to `methodWrapper` causes this function to be the\n    // starting point for removing implementation frames from the stack trace of\n    // a failed assertion.\n    //\n    // However, we only want to use this function as the starting point if the\n    // `lockSsfi` flag isn't set.\n    //\n    // If the `lockSsfi` flag is set, then either this assertion has been\n    // overwritten by another assertion, or this assertion is being invoked from\n    // inside of another assertion. In the first case, the `ssfi` flag has\n    // already been set by the overwriting assertion. In the second case, the\n    // `ssfi` flag has already been set by the outer assertion.\n    if (!flag(this, 'lockSsfi')) {\n      flag(this, 'ssfi', methodWrapper);\n    }\n\n    var result = method.apply(this, arguments);\n    if (result !== undefined)\n      return result;\n\n    var newAssertion = new chai.Assertion();\n    transferFlags(this, newAssertion);\n    return newAssertion;\n  };\n\n  addLengthGuard(methodWrapper, name, false);\n  ctx[name] = proxify(methodWrapper, name);\n};\n","/*!\n * Chai - addProperty utility\n * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>\n * MIT Licensed\n */\n\nvar chai = require('../../chai');\nvar flag = require('./flag');\nvar isProxyEnabled = require('./isProxyEnabled');\nvar transferFlags = require('./transferFlags');\n\n/**\n * ### .addProperty(ctx, name, getter)\n *\n * Adds a property to the prototype of an object.\n *\n *     utils.addProperty(chai.Assertion.prototype, 'foo', function () {\n *       var obj = utils.flag(this, 'object');\n *       new chai.Assertion(obj).to.be.instanceof(Foo);\n *     });\n *\n * Can also be accessed directly from `chai.Assertion`.\n *\n *     chai.Assertion.addProperty('foo', fn);\n *\n * Then can be used as any other assertion.\n *\n *     expect(myFoo).to.be.foo;\n *\n * @param {Object} ctx object to which the property is added\n * @param {String} name of property to add\n * @param {Function} getter function to be used for name\n * @namespace Utils\n * @name addProperty\n * @api public\n */\n\nmodule.exports = function addProperty(ctx, name, getter) {\n  getter = getter === undefined ? function () {} : getter;\n\n  Object.defineProperty(ctx, name,\n    { get: function propertyGetter() {\n        // Setting the `ssfi` flag to `propertyGetter` causes this function to\n        // be the starting point for removing implementation frames from the\n        // stack trace of a failed assertion.\n        //\n        // However, we only want to use this function as the starting point if\n        // the `lockSsfi` flag isn't set and proxy protection is disabled.\n        //\n        // If the `lockSsfi` flag is set, then either this assertion has been\n        // overwritten by another assertion, or this assertion is being invoked\n        // from inside of another assertion. In the first case, the `ssfi` flag\n        // has already been set by the overwriting assertion. In the second\n        // case, the `ssfi` flag has already been set by the outer assertion.\n        //\n        // If proxy protection is enabled, then the `ssfi` flag has already been\n        // set by the proxy getter.\n        if (!isProxyEnabled() && !flag(this, 'lockSsfi')) {\n          flag(this, 'ssfi', propertyGetter);\n        }\n\n        var result = getter.call(this);\n        if (result !== undefined)\n          return result;\n\n        var newAssertion = new chai.Assertion();\n        transferFlags(this, newAssertion);\n        return newAssertion;\n      }\n    , configurable: true\n  });\n};\n","/*!\n * Chai - compareByInspect utility\n * Copyright(c) 2011-2016 Jake Luer <jake@alogicalparadox.com>\n * MIT Licensed\n */\n\n/*!\n * Module dependencies\n */\n\nvar inspect = require('./inspect');\n\n/**\n * ### .compareByInspect(mixed, mixed)\n *\n * To be used as a compareFunction with Array.prototype.sort. Compares elements\n * using inspect instead of default behavior of using toString so that Symbols\n * and objects with irregular/missing toString can still be sorted without a\n * TypeError.\n *\n * @param {Mixed} first element to compare\n * @param {Mixed} second element to compare\n * @returns {Number} -1 if 'a' should come before 'b'; otherwise 1\n * @name compareByInspect\n * @namespace Utils\n * @api public\n */\n\nmodule.exports = function compareByInspect(a, b) {\n  return inspect(a) < inspect(b) ? -1 : 1;\n};\n","/*!\n * Chai - expectTypes utility\n * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>\n * MIT Licensed\n */\n\n/**\n * ### .expectTypes(obj, types)\n *\n * Ensures that the object being tested against is of a valid type.\n *\n *     utils.expectTypes(this, ['array', 'object', 'string']);\n *\n * @param {Mixed} obj constructed Assertion\n * @param {Array} type A list of allowed types for this assertion\n * @namespace Utils\n * @name expectTypes\n * @api public\n */\n\nvar AssertionError = require('assertion-error');\nvar flag = require('./flag');\nvar type = require('type-detect');\n\nmodule.exports = function expectTypes(obj, types) {\n  var flagMsg = flag(obj, 'message');\n  var ssfi = flag(obj, 'ssfi');\n\n  flagMsg = flagMsg ? flagMsg + ': ' : '';\n\n  obj = flag(obj, 'object');\n  types = types.map(function (t) { return t.toLowerCase(); });\n  types.sort();\n\n  // Transforms ['lorem', 'ipsum'] into 'a lorem, or an ipsum'\n  var str = types.map(function (t, index) {\n    var art = ~[ 'a', 'e', 'i', 'o', 'u' ].indexOf(t.charAt(0)) ? 'an' : 'a';\n    var or = types.length > 1 && index === types.length - 1 ? 'or ' : '';\n    return or + art + ' ' + t;\n  }).join(', ');\n\n  var objType = type(obj).toLowerCase();\n\n  if (!types.some(function (expected) { return objType === expected; })) {\n    throw new AssertionError(\n      flagMsg + 'object tested must be ' + str + ', but ' + objType + ' given',\n      undefined,\n      ssfi\n    );\n  }\n};\n","/*!\n * Chai - flag utility\n * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>\n * MIT Licensed\n */\n\n/**\n * ### .flag(object, key, [value])\n *\n * Get or set a flag value on an object. If a\n * value is provided it will be set, else it will\n * return the currently set value or `undefined` if\n * the value is not set.\n *\n *     utils.flag(this, 'foo', 'bar'); // setter\n *     utils.flag(this, 'foo'); // getter, returns `bar`\n *\n * @param {Object} object constructed Assertion\n * @param {String} key\n * @param {Mixed} value (optional)\n * @namespace Utils\n * @name flag\n * @api private\n */\n\nmodule.exports = function flag(obj, key, value) {\n  var flags = obj.__flags || (obj.__flags = Object.create(null));\n  if (arguments.length === 3) {\n    flags[key] = value;\n  } else {\n    return flags[key];\n  }\n};\n","/*!\n * Chai - getActual utility\n * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>\n * MIT Licensed\n */\n\n/**\n * ### .getActual(object, [actual])\n *\n * Returns the `actual` value for an Assertion.\n *\n * @param {Object} object (constructed Assertion)\n * @param {Arguments} chai.Assertion.prototype.assert arguments\n * @namespace Utils\n * @name getActual\n */\n\nmodule.exports = function getActual(obj, args) {\n  return args.length > 4 ? args[4] : obj._obj;\n};\n","/*!\n * Chai - message composition utility\n * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>\n * MIT Licensed\n */\n\n/*!\n * Module dependencies\n */\n\nvar flag = require('./flag')\n  , getActual = require('./getActual')\n  , objDisplay = require('./objDisplay');\n\n/**\n * ### .getMessage(object, message, negateMessage)\n *\n * Construct the error message based on flags\n * and template tags. Template tags will return\n * a stringified inspection of the object referenced.\n *\n * Message template tags:\n * - `#{this}` current asserted object\n * - `#{act}` actual value\n * - `#{exp}` expected value\n *\n * @param {Object} object (constructed Assertion)\n * @param {Arguments} chai.Assertion.prototype.assert arguments\n * @namespace Utils\n * @name getMessage\n * @api public\n */\n\nmodule.exports = function getMessage(obj, args) {\n  var negate = flag(obj, 'negate')\n    , val = flag(obj, 'object')\n    , expected = args[3]\n    , actual = getActual(obj, args)\n    , msg = negate ? args[2] : args[1]\n    , flagMsg = flag(obj, 'message');\n\n  if(typeof msg === \"function\") msg = msg();\n  msg = msg || '';\n  msg = msg\n    .replace(/#\\{this\\}/g, function () { return objDisplay(val); })\n    .replace(/#\\{act\\}/g, function () { return objDisplay(actual); })\n    .replace(/#\\{exp\\}/g, function () { return objDisplay(expected); });\n\n  return flagMsg ? flagMsg + ': ' + msg : msg;\n};\n","var type = require('type-detect');\n\nvar flag = require('./flag');\n\nfunction isObjectType(obj) {\n  var objectType = type(obj);\n  var objectTypes = ['Array', 'Object', 'function'];\n\n  return objectTypes.indexOf(objectType) !== -1;\n}\n\n/**\n * ### .getOperator(message)\n *\n * Extract the operator from error message.\n * Operator defined is based on below link\n * https://nodejs.org/api/assert.html#assert_assert.\n *\n * Returns the `operator` or `undefined` value for an Assertion.\n *\n * @param {Object} object (constructed Assertion)\n * @param {Arguments} chai.Assertion.prototype.assert arguments\n * @namespace Utils\n * @name getOperator\n * @api public\n */\n\nmodule.exports = function getOperator(obj, args) {\n  var operator = flag(obj, 'operator');\n  var negate = flag(obj, 'negate');\n  var expected = args[3];\n  var msg = negate ? args[2] : args[1];\n\n  if (operator) {\n    return operator;\n  }\n\n  if (typeof msg === 'function') msg = msg();\n\n  msg = msg || '';\n  if (!msg) {\n    return undefined;\n  }\n\n  if (/\\shave\\s/.test(msg)) {\n    return undefined;\n  }\n\n  var isObject = isObjectType(expected);\n  if (/\\snot\\s/.test(msg)) {\n    return isObject ? 'notDeepStrictEqual' : 'notStrictEqual';\n  }\n\n  return isObject ? 'deepStrictEqual' : 'strictEqual';\n};\n","/*!\n * Chai - getOwnEnumerableProperties utility\n * Copyright(c) 2011-2016 Jake Luer <jake@alogicalparadox.com>\n * MIT Licensed\n */\n\n/*!\n * Module dependencies\n */\n\nvar getOwnEnumerablePropertySymbols = require('./getOwnEnumerablePropertySymbols');\n\n/**\n * ### .getOwnEnumerableProperties(object)\n *\n * This allows the retrieval of directly-owned enumerable property names and\n * symbols of an object. This function is necessary because Object.keys only\n * returns enumerable property names, not enumerable property symbols.\n *\n * @param {Object} object\n * @returns {Array}\n * @namespace Utils\n * @name getOwnEnumerableProperties\n * @api public\n */\n\nmodule.exports = function getOwnEnumerableProperties(obj) {\n  return Object.keys(obj).concat(getOwnEnumerablePropertySymbols(obj));\n};\n","/*!\n * Chai - getOwnEnumerablePropertySymbols utility\n * Copyright(c) 2011-2016 Jake Luer <jake@alogicalparadox.com>\n * MIT Licensed\n */\n\n/**\n * ### .getOwnEnumerablePropertySymbols(object)\n *\n * This allows the retrieval of directly-owned enumerable property symbols of an\n * object. This function is necessary because Object.getOwnPropertySymbols\n * returns both enumerable and non-enumerable property symbols.\n *\n * @param {Object} object\n * @returns {Array}\n * @namespace Utils\n * @name getOwnEnumerablePropertySymbols\n * @api public\n */\n\nmodule.exports = function getOwnEnumerablePropertySymbols(obj) {\n  if (typeof Object.getOwnPropertySymbols !== 'function') return [];\n\n  return Object.getOwnPropertySymbols(obj).filter(function (sym) {\n    return Object.getOwnPropertyDescriptor(obj, sym).enumerable;\n  });\n};\n","/*!\n * Chai - getProperties utility\n * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>\n * MIT Licensed\n */\n\n/**\n * ### .getProperties(object)\n *\n * This allows the retrieval of property names of an object, enumerable or not,\n * inherited or not.\n *\n * @param {Object} object\n * @returns {Array}\n * @namespace Utils\n * @name getProperties\n * @api public\n */\n\nmodule.exports = function getProperties(object) {\n  var result = Object.getOwnPropertyNames(object);\n\n  function addProperty(property) {\n    if (result.indexOf(property) === -1) {\n      result.push(property);\n    }\n  }\n\n  var proto = Object.getPrototypeOf(object);\n  while (proto !== null) {\n    Object.getOwnPropertyNames(proto).forEach(addProperty);\n    proto = Object.getPrototypeOf(proto);\n  }\n\n  return result;\n};\n","/*!\n * chai\n * Copyright(c) 2011 Jake Luer <jake@alogicalparadox.com>\n * MIT Licensed\n */\n\n/*!\n * Dependencies that are used for multiple exports are required here only once\n */\n\nvar pathval = require('pathval');\n\n/*!\n * test utility\n */\n\nexports.test = require('./test');\n\n/*!\n * type utility\n */\n\nexports.type = require('type-detect');\n\n/*!\n * expectTypes utility\n */\nexports.expectTypes = require('./expectTypes');\n\n/*!\n * message utility\n */\n\nexports.getMessage = require('./getMessage');\n\n/*!\n * actual utility\n */\n\nexports.getActual = require('./getActual');\n\n/*!\n * Inspect util\n */\n\nexports.inspect = require('./inspect');\n\n/*!\n * Object Display util\n */\n\nexports.objDisplay = require('./objDisplay');\n\n/*!\n * Flag utility\n */\n\nexports.flag = require('./flag');\n\n/*!\n * Flag transferring utility\n */\n\nexports.transferFlags = require('./transferFlags');\n\n/*!\n * Deep equal utility\n */\n\nexports.eql = require('deep-eql');\n\n/*!\n * Deep path info\n */\n\nexports.getPathInfo = pathval.getPathInfo;\n\n/*!\n * Check if a property exists\n */\n\nexports.hasProperty = pathval.hasProperty;\n\n/*!\n * Function name\n */\n\nexports.getName = require('get-func-name');\n\n/*!\n * add Property\n */\n\nexports.addProperty = require('./addProperty');\n\n/*!\n * add Method\n */\n\nexports.addMethod = require('./addMethod');\n\n/*!\n * overwrite Property\n */\n\nexports.overwriteProperty = require('./overwriteProperty');\n\n/*!\n * overwrite Method\n */\n\nexports.overwriteMethod = require('./overwriteMethod');\n\n/*!\n * Add a chainable method\n */\n\nexports.addChainableMethod = require('./addChainableMethod');\n\n/*!\n * Overwrite chainable method\n */\n\nexports.overwriteChainableMethod = require('./overwriteChainableMethod');\n\n/*!\n * Compare by inspect method\n */\n\nexports.compareByInspect = require('./compareByInspect');\n\n/*!\n * Get own enumerable property symbols method\n */\n\nexports.getOwnEnumerablePropertySymbols = require('./getOwnEnumerablePropertySymbols');\n\n/*!\n * Get own enumerable properties method\n */\n\nexports.getOwnEnumerableProperties = require('./getOwnEnumerableProperties');\n\n/*!\n * Checks error against a given set of criteria\n */\n\nexports.checkError = require('check-error');\n\n/*!\n * Proxify util\n */\n\nexports.proxify = require('./proxify');\n\n/*!\n * addLengthGuard util\n */\n\nexports.addLengthGuard = require('./addLengthGuard');\n\n/*!\n * isProxyEnabled helper\n */\n\nexports.isProxyEnabled = require('./isProxyEnabled');\n\n/*!\n * isNaN method\n */\n\nexports.isNaN = require('./isNaN');\n\n/*!\n * getOperator method\n */\n\nexports.getOperator = require('./getOperator');","// This is (almost) directly from Node.js utils\n// https://github.com/joyent/node/blob/f8c335d0caf47f16d31413f89aa28eda3878e3aa/lib/util.js\n\nvar getName = require('get-func-name');\nvar loupe = require('loupe');\nvar config = require('../config');\n\nmodule.exports = inspect;\n\n/**\n * ### .inspect(obj, [showHidden], [depth], [colors])\n *\n * Echoes the value of a value. Tries to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Boolean} showHidden Flag that shows hidden (not enumerable)\n *    properties of objects. Default is false.\n * @param {Number} depth Depth in which to descend in object. Default is 2.\n * @param {Boolean} colors Flag to turn on ANSI escape codes to color the\n *    output. Default is false (no coloring).\n * @namespace Utils\n * @name inspect\n */\nfunction inspect(obj, showHidden, depth, colors) {\n  var options = {\n    colors: colors,\n    depth: (typeof depth === 'undefined' ? 2 : depth),\n    showHidden: showHidden,\n    truncate: config.truncateThreshold ? config.truncateThreshold : Infinity,\n  };\n  return loupe.inspect(obj, options);\n}\n","/*!\n * Chai - isNaN utility\n * Copyright(c) 2012-2015 Sakthipriyan Vairamani <thechargingvolcano@gmail.com>\n * MIT Licensed\n */\n\n/**\n * ### .isNaN(value)\n *\n * Checks if the given value is NaN or not.\n *\n *     utils.isNaN(NaN); // true\n *\n * @param {Value} The value which has to be checked if it is NaN\n * @name isNaN\n * @api private\n */\n\nfunction isNaN(value) {\n  // Refer http://www.ecma-international.org/ecma-262/6.0/#sec-isnan-number\n  // section's NOTE.\n  return value !== value;\n}\n\n// If ECMAScript 6's Number.isNaN is present, prefer that.\nmodule.exports = Number.isNaN || isNaN;\n","var config = require('../config');\n\n/*!\n * Chai - isProxyEnabled helper\n * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>\n * MIT Licensed\n */\n\n/**\n * ### .isProxyEnabled()\n *\n * Helper function to check if Chai's proxy protection feature is enabled. If\n * proxies are unsupported or disabled via the user's Chai config, then return\n * false. Otherwise, return true.\n *\n * @namespace Utils\n * @name isProxyEnabled\n */\n\nmodule.exports = function isProxyEnabled() {\n  return config.useProxy &&\n    typeof Proxy !== 'undefined' &&\n    typeof Reflect !== 'undefined';\n};\n","/*!\n * Chai - flag utility\n * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>\n * MIT Licensed\n */\n\n/*!\n * Module dependencies\n */\n\nvar inspect = require('./inspect');\nvar config = require('../config');\n\n/**\n * ### .objDisplay(object)\n *\n * Determines if an object or an array matches\n * criteria to be inspected in-line for error\n * messages or should be truncated.\n *\n * @param {Mixed} javascript object to inspect\n * @returns {string} stringified object\n * @name objDisplay\n * @namespace Utils\n * @api public\n */\n\nmodule.exports = function objDisplay(obj) {\n  var str = inspect(obj)\n    , type = Object.prototype.toString.call(obj);\n\n  if (config.truncateThreshold && str.length >= config.truncateThreshold) {\n    if (type === '[object Function]') {\n      return !obj.name || obj.name === ''\n        ? '[Function]'\n        : '[Function: ' + obj.name + ']';\n    } else if (type === '[object Array]') {\n      return '[ Array(' + obj.length + ') ]';\n    } else if (type === '[object Object]') {\n      var keys = Object.keys(obj)\n        , kstr = keys.length > 2\n          ? keys.splice(0, 2).join(', ') + ', ...'\n          : keys.join(', ');\n      return '{ Object (' + kstr + ') }';\n    } else {\n      return str;\n    }\n  } else {\n    return str;\n  }\n};\n","/*!\n * Chai - overwriteChainableMethod utility\n * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>\n * MIT Licensed\n */\n\nvar chai = require('../../chai');\nvar transferFlags = require('./transferFlags');\n\n/**\n * ### .overwriteChainableMethod(ctx, name, method, chainingBehavior)\n *\n * Overwrites an already existing chainable method\n * and provides access to the previous function or\n * property.  Must return functions to be used for\n * name.\n *\n *     utils.overwriteChainableMethod(chai.Assertion.prototype, 'lengthOf',\n *       function (_super) {\n *       }\n *     , function (_super) {\n *       }\n *     );\n *\n * Can also be accessed directly from `chai.Assertion`.\n *\n *     chai.Assertion.overwriteChainableMethod('foo', fn, fn);\n *\n * Then can be used as any other assertion.\n *\n *     expect(myFoo).to.have.lengthOf(3);\n *     expect(myFoo).to.have.lengthOf.above(3);\n *\n * @param {Object} ctx object whose method / property is to be overwritten\n * @param {String} name of method / property to overwrite\n * @param {Function} method function that returns a function to be used for name\n * @param {Function} chainingBehavior function that returns a function to be used for property\n * @namespace Utils\n * @name overwriteChainableMethod\n * @api public\n */\n\nmodule.exports = function overwriteChainableMethod(ctx, name, method, chainingBehavior) {\n  var chainableBehavior = ctx.__methods[name];\n\n  var _chainingBehavior = chainableBehavior.chainingBehavior;\n  chainableBehavior.chainingBehavior = function overwritingChainableMethodGetter() {\n    var result = chainingBehavior(_chainingBehavior).call(this);\n    if (result !== undefined) {\n      return result;\n    }\n\n    var newAssertion = new chai.Assertion();\n    transferFlags(this, newAssertion);\n    return newAssertion;\n  };\n\n  var _method = chainableBehavior.method;\n  chainableBehavior.method = function overwritingChainableMethodWrapper() {\n    var result = method(_method).apply(this, arguments);\n    if (result !== undefined) {\n      return result;\n    }\n\n    var newAssertion = new chai.Assertion();\n    transferFlags(this, newAssertion);\n    return newAssertion;\n  };\n};\n","/*!\n * Chai - overwriteMethod utility\n * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>\n * MIT Licensed\n */\n\nvar addLengthGuard = require('./addLengthGuard');\nvar chai = require('../../chai');\nvar flag = require('./flag');\nvar proxify = require('./proxify');\nvar transferFlags = require('./transferFlags');\n\n/**\n * ### .overwriteMethod(ctx, name, fn)\n *\n * Overwrites an already existing method and provides\n * access to previous function. Must return function\n * to be used for name.\n *\n *     utils.overwriteMethod(chai.Assertion.prototype, 'equal', function (_super) {\n *       return function (str) {\n *         var obj = utils.flag(this, 'object');\n *         if (obj instanceof Foo) {\n *           new chai.Assertion(obj.value).to.equal(str);\n *         } else {\n *           _super.apply(this, arguments);\n *         }\n *       }\n *     });\n *\n * Can also be accessed directly from `chai.Assertion`.\n *\n *     chai.Assertion.overwriteMethod('foo', fn);\n *\n * Then can be used as any other assertion.\n *\n *     expect(myFoo).to.equal('bar');\n *\n * @param {Object} ctx object whose method is to be overwritten\n * @param {String} name of method to overwrite\n * @param {Function} method function that returns a function to be used for name\n * @namespace Utils\n * @name overwriteMethod\n * @api public\n */\n\nmodule.exports = function overwriteMethod(ctx, name, method) {\n  var _method = ctx[name]\n    , _super = function () {\n      throw new Error(name + ' is not a function');\n    };\n\n  if (_method && 'function' === typeof _method)\n    _super = _method;\n\n  var overwritingMethodWrapper = function () {\n    // Setting the `ssfi` flag to `overwritingMethodWrapper` causes this\n    // function to be the starting point for removing implementation frames from\n    // the stack trace of a failed assertion.\n    //\n    // However, we only want to use this function as the starting point if the\n    // `lockSsfi` flag isn't set.\n    //\n    // If the `lockSsfi` flag is set, then either this assertion has been\n    // overwritten by another assertion, or this assertion is being invoked from\n    // inside of another assertion. In the first case, the `ssfi` flag has\n    // already been set by the overwriting assertion. In the second case, the\n    // `ssfi` flag has already been set by the outer assertion.\n    if (!flag(this, 'lockSsfi')) {\n      flag(this, 'ssfi', overwritingMethodWrapper);\n    }\n\n    // Setting the `lockSsfi` flag to `true` prevents the overwritten assertion\n    // from changing the `ssfi` flag. By this point, the `ssfi` flag is already\n    // set to the correct starting point for this assertion.\n    var origLockSsfi = flag(this, 'lockSsfi');\n    flag(this, 'lockSsfi', true);\n    var result = method(_super).apply(this, arguments);\n    flag(this, 'lockSsfi', origLockSsfi);\n\n    if (result !== undefined) {\n      return result;\n    }\n\n    var newAssertion = new chai.Assertion();\n    transferFlags(this, newAssertion);\n    return newAssertion;\n  }\n\n  addLengthGuard(overwritingMethodWrapper, name, false);\n  ctx[name] = proxify(overwritingMethodWrapper, name);\n};\n","/*!\n * Chai - overwriteProperty utility\n * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>\n * MIT Licensed\n */\n\nvar chai = require('../../chai');\nvar flag = require('./flag');\nvar isProxyEnabled = require('./isProxyEnabled');\nvar transferFlags = require('./transferFlags');\n\n/**\n * ### .overwriteProperty(ctx, name, fn)\n *\n * Overwrites an already existing property getter and provides\n * access to previous value. Must return function to use as getter.\n *\n *     utils.overwriteProperty(chai.Assertion.prototype, 'ok', function (_super) {\n *       return function () {\n *         var obj = utils.flag(this, 'object');\n *         if (obj instanceof Foo) {\n *           new chai.Assertion(obj.name).to.equal('bar');\n *         } else {\n *           _super.call(this);\n *         }\n *       }\n *     });\n *\n *\n * Can also be accessed directly from `chai.Assertion`.\n *\n *     chai.Assertion.overwriteProperty('foo', fn);\n *\n * Then can be used as any other assertion.\n *\n *     expect(myFoo).to.be.ok;\n *\n * @param {Object} ctx object whose property is to be overwritten\n * @param {String} name of property to overwrite\n * @param {Function} getter function that returns a getter function to be used for name\n * @namespace Utils\n * @name overwriteProperty\n * @api public\n */\n\nmodule.exports = function overwriteProperty(ctx, name, getter) {\n  var _get = Object.getOwnPropertyDescriptor(ctx, name)\n    , _super = function () {};\n\n  if (_get && 'function' === typeof _get.get)\n    _super = _get.get\n\n  Object.defineProperty(ctx, name,\n    { get: function overwritingPropertyGetter() {\n        // Setting the `ssfi` flag to `overwritingPropertyGetter` causes this\n        // function to be the starting point for removing implementation frames\n        // from the stack trace of a failed assertion.\n        //\n        // However, we only want to use this function as the starting point if\n        // the `lockSsfi` flag isn't set and proxy protection is disabled.\n        //\n        // If the `lockSsfi` flag is set, then either this assertion has been\n        // overwritten by another assertion, or this assertion is being invoked\n        // from inside of another assertion. In the first case, the `ssfi` flag\n        // has already been set by the overwriting assertion. In the second\n        // case, the `ssfi` flag has already been set by the outer assertion.\n        //\n        // If proxy protection is enabled, then the `ssfi` flag has already been\n        // set by the proxy getter.\n        if (!isProxyEnabled() && !flag(this, 'lockSsfi')) {\n          flag(this, 'ssfi', overwritingPropertyGetter);\n        }\n\n        // Setting the `lockSsfi` flag to `true` prevents the overwritten\n        // assertion from changing the `ssfi` flag. By this point, the `ssfi`\n        // flag is already set to the correct starting point for this assertion.\n        var origLockSsfi = flag(this, 'lockSsfi');\n        flag(this, 'lockSsfi', true);\n        var result = getter(_super).call(this);\n        flag(this, 'lockSsfi', origLockSsfi);\n\n        if (result !== undefined) {\n          return result;\n        }\n\n        var newAssertion = new chai.Assertion();\n        transferFlags(this, newAssertion);\n        return newAssertion;\n      }\n    , configurable: true\n  });\n};\n","var config = require('../config');\nvar flag = require('./flag');\nvar getProperties = require('./getProperties');\nvar isProxyEnabled = require('./isProxyEnabled');\n\n/*!\n * Chai - proxify utility\n * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>\n * MIT Licensed\n */\n\n/**\n * ### .proxify(object)\n *\n * Return a proxy of given object that throws an error when a non-existent\n * property is read. By default, the root cause is assumed to be a misspelled\n * property, and thus an attempt is made to offer a reasonable suggestion from\n * the list of existing properties. However, if a nonChainableMethodName is\n * provided, then the root cause is instead a failure to invoke a non-chainable\n * method prior to reading the non-existent property.\n *\n * If proxies are unsupported or disabled via the user's Chai config, then\n * return object without modification.\n *\n * @param {Object} obj\n * @param {String} nonChainableMethodName\n * @namespace Utils\n * @name proxify\n */\n\nvar builtins = ['__flags', '__methods', '_obj', 'assert'];\n\nmodule.exports = function proxify(obj, nonChainableMethodName) {\n  if (!isProxyEnabled()) return obj;\n\n  return new Proxy(obj, {\n    get: function proxyGetter(target, property) {\n      // This check is here because we should not throw errors on Symbol properties\n      // such as `Symbol.toStringTag`.\n      // The values for which an error should be thrown can be configured using\n      // the `config.proxyExcludedKeys` setting.\n      if (typeof property === 'string' &&\n          config.proxyExcludedKeys.indexOf(property) === -1 &&\n          !Reflect.has(target, property)) {\n        // Special message for invalid property access of non-chainable methods.\n        if (nonChainableMethodName) {\n          throw Error('Invalid Chai property: ' + nonChainableMethodName + '.' +\n            property + '. See docs for proper usage of \"' +\n            nonChainableMethodName + '\".');\n        }\n\n        // If the property is reasonably close to an existing Chai property,\n        // suggest that property to the user. Only suggest properties with a\n        // distance less than 4.\n        var suggestion = null;\n        var suggestionDistance = 4;\n        getProperties(target).forEach(function(prop) {\n          if (\n            !Object.prototype.hasOwnProperty(prop) &&\n            builtins.indexOf(prop) === -1\n          ) {\n            var dist = stringDistanceCapped(\n              property,\n              prop,\n              suggestionDistance\n            );\n            if (dist < suggestionDistance) {\n              suggestion = prop;\n              suggestionDistance = dist;\n            }\n          }\n        });\n\n        if (suggestion !== null) {\n          throw Error('Invalid Chai property: ' + property +\n            '. Did you mean \"' + suggestion + '\"?');\n        } else {\n          throw Error('Invalid Chai property: ' + property);\n        }\n      }\n\n      // Use this proxy getter as the starting point for removing implementation\n      // frames from the stack trace of a failed assertion. For property\n      // assertions, this prevents the proxy getter from showing up in the stack\n      // trace since it's invoked before the property getter. For method and\n      // chainable method assertions, this flag will end up getting changed to\n      // the method wrapper, which is good since this frame will no longer be in\n      // the stack once the method is invoked. Note that Chai builtin assertion\n      // properties such as `__flags` are skipped since this is only meant to\n      // capture the starting point of an assertion. This step is also skipped\n      // if the `lockSsfi` flag is set, thus indicating that this assertion is\n      // being called from within another assertion. In that case, the `ssfi`\n      // flag is already set to the outer assertion's starting point.\n      if (builtins.indexOf(property) === -1 && !flag(target, 'lockSsfi')) {\n        flag(target, 'ssfi', proxyGetter);\n      }\n\n      return Reflect.get(target, property);\n    }\n  });\n};\n\n/**\n * # stringDistanceCapped(strA, strB, cap)\n * Return the Levenshtein distance between two strings, but no more than cap.\n * @param {string} strA\n * @param {string} strB\n * @param {number} number\n * @return {number} min(string distance between strA and strB, cap)\n * @api private\n */\n\nfunction stringDistanceCapped(strA, strB, cap) {\n  if (Math.abs(strA.length - strB.length) >= cap) {\n    return cap;\n  }\n\n  var memo = [];\n  // `memo` is a two-dimensional array containing distances.\n  // memo[i][j] is the distance between strA.slice(0, i) and\n  // strB.slice(0, j).\n  for (var i = 0; i <= strA.length; i++) {\n    memo[i] = Array(strB.length + 1).fill(0);\n    memo[i][0] = i;\n  }\n  for (var j = 0; j < strB.length; j++) {\n    memo[0][j] = j;\n  }\n\n  for (var i = 1; i <= strA.length; i++) {\n    var ch = strA.charCodeAt(i - 1);\n    for (var j = 1; j <= strB.length; j++) {\n      if (Math.abs(i - j) >= cap) {\n        memo[i][j] = cap;\n        continue;\n      }\n      memo[i][j] = Math.min(\n        memo[i - 1][j] + 1,\n        memo[i][j - 1] + 1,\n        memo[i - 1][j - 1] +\n          (ch === strB.charCodeAt(j - 1) ? 0 : 1)\n      );\n    }\n  }\n\n  return memo[strA.length][strB.length];\n}\n","/*!\n * Chai - test utility\n * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>\n * MIT Licensed\n */\n\n/*!\n * Module dependencies\n */\n\nvar flag = require('./flag');\n\n/**\n * ### .test(object, expression)\n *\n * Test an object for expression.\n *\n * @param {Object} object (constructed Assertion)\n * @param {Arguments} chai.Assertion.prototype.assert arguments\n * @namespace Utils\n * @name test\n */\n\nmodule.exports = function test(obj, args) {\n  var negate = flag(obj, 'negate')\n    , expr = args[0];\n  return negate ? !expr : expr;\n};\n","/*!\n * Chai - transferFlags utility\n * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>\n * MIT Licensed\n */\n\n/**\n * ### .transferFlags(assertion, object, includeAll = true)\n *\n * Transfer all the flags for `assertion` to `object`. If\n * `includeAll` is set to `false`, then the base Chai\n * assertion flags (namely `object`, `ssfi`, `lockSsfi`,\n * and `message`) will not be transferred.\n *\n *\n *     var newAssertion = new Assertion();\n *     utils.transferFlags(assertion, newAssertion);\n *\n *     var anotherAssertion = new Assertion(myObj);\n *     utils.transferFlags(assertion, anotherAssertion, false);\n *\n * @param {Assertion} assertion the assertion to transfer the flags from\n * @param {Object} object the object to transfer the flags to; usually a new assertion\n * @param {Boolean} includeAll\n * @namespace Utils\n * @name transferFlags\n * @api private\n */\n\nmodule.exports = function transferFlags(assertion, object, includeAll) {\n  var flags = assertion.__flags || (assertion.__flags = Object.create(null));\n\n  if (!object.__flags) {\n    object.__flags = Object.create(null);\n  }\n\n  includeAll = arguments.length === 3 ? includeAll : true;\n\n  for (var flag in flags) {\n    if (includeAll ||\n        (flag !== 'object' && flag !== 'ssfi' && flag !== 'lockSsfi' && flag != 'message')) {\n      object.__flags[flag] = flags[flag];\n    }\n  }\n};\n","(function (global, factory) {\n    typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n    typeof define === 'function' && define.amd ? define(factory) :\n    (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.typeDetect = factory());\n})(this, (function () { 'use strict';\n\n    var promiseExists = typeof Promise === 'function';\n    var globalObject = (function (Obj) {\n        if (typeof globalThis === 'object') {\n            return globalThis;\n        }\n        Object.defineProperty(Obj, 'typeDetectGlobalObject', {\n            get: function get() {\n                return this;\n            },\n            configurable: true,\n        });\n        var global = typeDetectGlobalObject;\n        delete Obj.typeDetectGlobalObject;\n        return global;\n    })(Object.prototype);\n    var symbolExists = typeof Symbol !== 'undefined';\n    var mapExists = typeof Map !== 'undefined';\n    var setExists = typeof Set !== 'undefined';\n    var weakMapExists = typeof WeakMap !== 'undefined';\n    var weakSetExists = typeof WeakSet !== 'undefined';\n    var dataViewExists = typeof DataView !== 'undefined';\n    var symbolIteratorExists = symbolExists && typeof Symbol.iterator !== 'undefined';\n    var symbolToStringTagExists = symbolExists && typeof Symbol.toStringTag !== 'undefined';\n    var setEntriesExists = setExists && typeof Set.prototype.entries === 'function';\n    var mapEntriesExists = mapExists && typeof Map.prototype.entries === 'function';\n    var setIteratorPrototype = setEntriesExists && Object.getPrototypeOf(new Set().entries());\n    var mapIteratorPrototype = mapEntriesExists && Object.getPrototypeOf(new Map().entries());\n    var arrayIteratorExists = symbolIteratorExists && typeof Array.prototype[Symbol.iterator] === 'function';\n    var arrayIteratorPrototype = arrayIteratorExists && Object.getPrototypeOf([][Symbol.iterator]());\n    var stringIteratorExists = symbolIteratorExists && typeof String.prototype[Symbol.iterator] === 'function';\n    var stringIteratorPrototype = stringIteratorExists && Object.getPrototypeOf(''[Symbol.iterator]());\n    var toStringLeftSliceLength = 8;\n    var toStringRightSliceLength = -1;\n    function typeDetect(obj) {\n        var typeofObj = typeof obj;\n        if (typeofObj !== 'object') {\n            return typeofObj;\n        }\n        if (obj === null) {\n            return 'null';\n        }\n        if (obj === globalObject) {\n            return 'global';\n        }\n        if (Array.isArray(obj) &&\n            (symbolToStringTagExists === false || !(Symbol.toStringTag in obj))) {\n            return 'Array';\n        }\n        if (typeof window === 'object' && window !== null) {\n            if (typeof window.location === 'object' && obj === window.location) {\n                return 'Location';\n            }\n            if (typeof window.document === 'object' && obj === window.document) {\n                return 'Document';\n            }\n            if (typeof window.navigator === 'object') {\n                if (typeof window.navigator.mimeTypes === 'object' &&\n                    obj === window.navigator.mimeTypes) {\n                    return 'MimeTypeArray';\n                }\n                if (typeof window.navigator.plugins === 'object' &&\n                    obj === window.navigator.plugins) {\n                    return 'PluginArray';\n                }\n            }\n            if ((typeof window.HTMLElement === 'function' ||\n                typeof window.HTMLElement === 'object') &&\n                obj instanceof window.HTMLElement) {\n                if (obj.tagName === 'BLOCKQUOTE') {\n                    return 'HTMLQuoteElement';\n                }\n                if (obj.tagName === 'TD') {\n                    return 'HTMLTableDataCellElement';\n                }\n                if (obj.tagName === 'TH') {\n                    return 'HTMLTableHeaderCellElement';\n                }\n            }\n        }\n        var stringTag = (symbolToStringTagExists && obj[Symbol.toStringTag]);\n        if (typeof stringTag === 'string') {\n            return stringTag;\n        }\n        var objPrototype = Object.getPrototypeOf(obj);\n        if (objPrototype === RegExp.prototype) {\n            return 'RegExp';\n        }\n        if (objPrototype === Date.prototype) {\n            return 'Date';\n        }\n        if (promiseExists && objPrototype === Promise.prototype) {\n            return 'Promise';\n        }\n        if (setExists && objPrototype === Set.prototype) {\n            return 'Set';\n        }\n        if (mapExists && objPrototype === Map.prototype) {\n            return 'Map';\n        }\n        if (weakSetExists && objPrototype === WeakSet.prototype) {\n            return 'WeakSet';\n        }\n        if (weakMapExists && objPrototype === WeakMap.prototype) {\n            return 'WeakMap';\n        }\n        if (dataViewExists && objPrototype === DataView.prototype) {\n            return 'DataView';\n        }\n        if (mapExists && objPrototype === mapIteratorPrototype) {\n            return 'Map Iterator';\n        }\n        if (setExists && objPrototype === setIteratorPrototype) {\n            return 'Set Iterator';\n        }\n        if (arrayIteratorExists && objPrototype === arrayIteratorPrototype) {\n            return 'Array Iterator';\n        }\n        if (stringIteratorExists && objPrototype === stringIteratorPrototype) {\n            return 'String Iterator';\n        }\n        if (objPrototype === null) {\n            return 'Object';\n        }\n        return Object\n            .prototype\n            .toString\n            .call(obj)\n            .slice(toStringLeftSliceLength, toStringRightSliceLength);\n    }\n\n    return typeDetect;\n\n}));\n","'use strict';\n\n/* !\n * Chai - checkError utility\n * Copyright(c) 2012-2016 Jake Luer <jake@alogicalparadox.com>\n * MIT Licensed\n */\n\nvar getFunctionName = require('get-func-name');\n/**\n * ### .checkError\n *\n * Checks that an error conforms to a given set of criteria and/or retrieves information about it.\n *\n * @api public\n */\n\n/**\n * ### .compatibleInstance(thrown, errorLike)\n *\n * Checks if two instances are compatible (strict equal).\n * Returns false if errorLike is not an instance of Error, because instances\n * can only be compatible if they're both error instances.\n *\n * @name compatibleInstance\n * @param {Error} thrown error\n * @param {Error|ErrorConstructor} errorLike object to compare against\n * @namespace Utils\n * @api public\n */\n\nfunction compatibleInstance(thrown, errorLike) {\n  return errorLike instanceof Error && thrown === errorLike;\n}\n\n/**\n * ### .compatibleConstructor(thrown, errorLike)\n *\n * Checks if two constructors are compatible.\n * This function can receive either an error constructor or\n * an error instance as the `errorLike` argument.\n * Constructors are compatible if they're the same or if one is\n * an instance of another.\n *\n * @name compatibleConstructor\n * @param {Error} thrown error\n * @param {Error|ErrorConstructor} errorLike object to compare against\n * @namespace Utils\n * @api public\n */\n\nfunction compatibleConstructor(thrown, errorLike) {\n  if (errorLike instanceof Error) {\n    // If `errorLike` is an instance of any error we compare their constructors\n    return thrown.constructor === errorLike.constructor || thrown instanceof errorLike.constructor;\n  } else if (errorLike.prototype instanceof Error || errorLike === Error) {\n    // If `errorLike` is a constructor that inherits from Error, we compare `thrown` to `errorLike` directly\n    return thrown.constructor === errorLike || thrown instanceof errorLike;\n  }\n\n  return false;\n}\n\n/**\n * ### .compatibleMessage(thrown, errMatcher)\n *\n * Checks if an error's message is compatible with a matcher (String or RegExp).\n * If the message contains the String or passes the RegExp test,\n * it is considered compatible.\n *\n * @name compatibleMessage\n * @param {Error} thrown error\n * @param {String|RegExp} errMatcher to look for into the message\n * @namespace Utils\n * @api public\n */\n\nfunction compatibleMessage(thrown, errMatcher) {\n  var comparisonString = typeof thrown === 'string' ? thrown : thrown.message;\n  if (errMatcher instanceof RegExp) {\n    return errMatcher.test(comparisonString);\n  } else if (typeof errMatcher === 'string') {\n    return comparisonString.indexOf(errMatcher) !== -1; // eslint-disable-line no-magic-numbers\n  }\n\n  return false;\n}\n\n/**\n * ### .getConstructorName(errorLike)\n *\n * Gets the constructor name for an Error instance or constructor itself.\n *\n * @name getConstructorName\n * @param {Error|ErrorConstructor} errorLike\n * @namespace Utils\n * @api public\n */\n\nfunction getConstructorName(errorLike) {\n  var constructorName = errorLike;\n  if (errorLike instanceof Error) {\n    constructorName = getFunctionName(errorLike.constructor);\n  } else if (typeof errorLike === 'function') {\n    // If `err` is not an instance of Error it is an error constructor itself or another function.\n    // If we've got a common function we get its name, otherwise we may need to create a new instance\n    // of the error just in case it's a poorly-constructed error. Please see chaijs/chai/issues/45 to know more.\n    constructorName = getFunctionName(errorLike);\n    if (constructorName === '') {\n      var newConstructorName = getFunctionName(new errorLike()); // eslint-disable-line new-cap\n      constructorName = newConstructorName || constructorName;\n    }\n  }\n\n  return constructorName;\n}\n\n/**\n * ### .getMessage(errorLike)\n *\n * Gets the error message from an error.\n * If `err` is a String itself, we return it.\n * If the error has no message, we return an empty string.\n *\n * @name getMessage\n * @param {Error|String} errorLike\n * @namespace Utils\n * @api public\n */\n\nfunction getMessage(errorLike) {\n  var msg = '';\n  if (errorLike && errorLike.message) {\n    msg = errorLike.message;\n  } else if (typeof errorLike === 'string') {\n    msg = errorLike;\n  }\n\n  return msg;\n}\n\nmodule.exports = {\n  compatibleInstance: compatibleInstance,\n  compatibleConstructor: compatibleConstructor,\n  compatibleMessage: compatibleMessage,\n  getMessage: getMessage,\n  getConstructorName: getConstructorName,\n};\n","/*!\n  Copyright (c) 2018 Jed Watson.\n  Licensed under the MIT License (MIT), see\n  http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","/*\n * Copyright (c) 2008-2018 the original author or authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* CometD Version 3.1.4 */\n\n(function(root, factory){\n    if (typeof exports === 'object') {\n        // CommonJS.\n        module.exports = factory();\n    } else if (typeof define === 'function' && define.amd) {\n        // AMD.\n        define([], factory);\n    } else {\n        // Globals.\n        root.org = root.org || {};\n        root.org.cometd = factory();\n    }\n}(this, function() {\n    /**\n     * Utility functions.\n     */\n    var Utils = {\n        isString: function(value) {\n            if (value === undefined || value === null) {\n                return false;\n            }\n            return typeof value === 'string' || value instanceof String;\n        },\n        isArray: function(value) {\n            if (value === undefined || value === null) {\n                return false;\n            }\n            return value instanceof Array;\n        },\n        /**\n         * Returns whether the given element is contained into the given array.\n         * @param element the element to check presence for\n         * @param array the array to check for the element presence\n         * @return the index of the element, if present, or a negative index if the element is not present\n         */\n        inArray: function(element, array) {\n            for (var i = 0; i < array.length; ++i) {\n                if (element === array[i]) {\n                    return i;\n                }\n            }\n            return -1;\n        },\n        setTimeout: function(cometd, funktion, delay) {\n            return window.setTimeout(function() {\n                try {\n                    cometd._debug('Invoking timed function', funktion);\n                    funktion();\n                } catch (x) {\n                    cometd._debug('Exception invoking timed function', funktion, x);\n                }\n            }, delay);\n        },\n        clearTimeout: function(timeoutHandle) {\n            window.clearTimeout(timeoutHandle);\n        }\n    };\n\n\n    /**\n     * A registry for transports used by the CometD object.\n     */\n    var TransportRegistry = function() {\n        var _types = [];\n        var _transports = {};\n\n        this.getTransportTypes = function() {\n            return _types.slice(0);\n        };\n\n        this.findTransportTypes = function(version, crossDomain, url) {\n            var result = [];\n            for (var i = 0; i < _types.length; ++i) {\n                var type = _types[i];\n                if (_transports[type].accept(version, crossDomain, url) === true) {\n                    result.push(type);\n                }\n            }\n            return result;\n        };\n\n        this.negotiateTransport = function(types, version, crossDomain, url) {\n            for (var i = 0; i < _types.length; ++i) {\n                var type = _types[i];\n                for (var j = 0; j < types.length; ++j) {\n                    if (type === types[j]) {\n                        var transport = _transports[type];\n                        if (transport.accept(version, crossDomain, url) === true) {\n                            return transport;\n                        }\n                    }\n                }\n            }\n            return null;\n        };\n\n        this.add = function(type, transport, index) {\n            var existing = false;\n            for (var i = 0; i < _types.length; ++i) {\n                if (_types[i] === type) {\n                    existing = true;\n                    break;\n                }\n            }\n\n            if (!existing) {\n                if (typeof index !== 'number') {\n                    _types.push(type);\n                } else {\n                    _types.splice(index, 0, type);\n                }\n                _transports[type] = transport;\n            }\n\n            return !existing;\n        };\n\n        this.find = function(type) {\n            for (var i = 0; i < _types.length; ++i) {\n                if (_types[i] === type) {\n                    return _transports[type];\n                }\n            }\n            return null;\n        };\n\n        this.remove = function(type) {\n            for (var i = 0; i < _types.length; ++i) {\n                if (_types[i] === type) {\n                    _types.splice(i, 1);\n                    var transport = _transports[type];\n                    delete _transports[type];\n                    return transport;\n                }\n            }\n            return null;\n        };\n\n        this.clear = function() {\n            _types = [];\n            _transports = {};\n        };\n\n        this.reset = function(init) {\n            for (var i = 0; i < _types.length; ++i) {\n                _transports[_types[i]].reset(init);\n            }\n        };\n    };\n\n\n    /**\n     * Base object with the common functionality for transports.\n     */\n    var Transport = function() {\n        var _type;\n        var _cometd;\n        var _url;\n\n        /**\n         * Function invoked just after a transport has been successfully registered.\n         * @param type the type of transport (for example 'long-polling')\n         * @param cometd the cometd object this transport has been registered to\n         * @see #unregistered()\n         */\n        this.registered = function(type, cometd) {\n            _type = type;\n            _cometd = cometd;\n        };\n\n        /**\n         * Function invoked just after a transport has been successfully unregistered.\n         * @see #registered(type, cometd)\n         */\n        this.unregistered = function() {\n            _type = null;\n            _cometd = null;\n        };\n\n        this._debug = function() {\n            _cometd._debug.apply(_cometd, arguments);\n        };\n\n        this._mixin = function() {\n            return _cometd._mixin.apply(_cometd, arguments);\n        };\n\n        this.getConfiguration = function() {\n            return _cometd.getConfiguration();\n        };\n\n        this.getAdvice = function() {\n            return _cometd.getAdvice();\n        };\n\n        this.setTimeout = function(funktion, delay) {\n            return Utils.setTimeout(_cometd, funktion, delay);\n        };\n\n        this.clearTimeout = function(handle) {\n            Utils.clearTimeout(handle);\n        };\n\n        /**\n         * Converts the given response into an array of bayeux messages\n         * @param response the response to convert\n         * @return an array of bayeux messages obtained by converting the response\n         */\n        this.convertToMessages = function(response) {\n            if (Utils.isString(response)) {\n                try {\n                    return JSON.parse(response);\n                } catch (x) {\n                    this._debug('Could not convert to JSON the following string', '\"' + response + '\"');\n                    throw x;\n                }\n            }\n            if (Utils.isArray(response)) {\n                return response;\n            }\n            if (response === undefined || response === null) {\n                return [];\n            }\n            if (response instanceof Object) {\n                return [response];\n            }\n            throw 'Conversion Error ' + response + ', typeof ' + (typeof response);\n        };\n\n        /**\n         * Returns whether this transport can work for the given version and cross domain communication case.\n         * @param version a string indicating the transport version\n         * @param crossDomain a boolean indicating whether the communication is cross domain\n         * @param url the URL to connect to\n         * @return true if this transport can work for the given version and cross domain communication case,\n         * false otherwise\n         */\n        this.accept = function(version, crossDomain, url) {\n            throw 'Abstract';\n        };\n\n        /**\n         * Returns the type of this transport.\n         * @see #registered(type, cometd)\n         */\n        this.getType = function() {\n            return _type;\n        };\n\n        this.getURL = function() {\n            return _url;\n        };\n\n        this.setURL = function(url) {\n            _url = url;\n        };\n\n        this.send = function(envelope, metaConnect) {\n            throw 'Abstract';\n        };\n\n        this.reset = function(init) {\n            this._debug('Transport', _type, 'reset', init ? 'initial' : 'retry');\n        };\n\n        this.abort = function() {\n            this._debug('Transport', _type, 'aborted');\n        };\n\n        this.toString = function() {\n            return this.getType();\n        };\n    };\n\n    Transport.derive = function(baseObject) {\n        function F() {\n        }\n\n        F.prototype = baseObject;\n        return new F();\n    };\n\n\n    /**\n     * Base object with the common functionality for transports based on requests.\n     * The key responsibility is to allow at most 2 outstanding requests to the server,\n     * to avoid that requests are sent behind a long poll.\n     * To achieve this, we have one reserved request for the long poll, and all other\n     * requests are serialized one after the other.\n     */\n    var RequestTransport = function() {\n        var _super = new Transport();\n        var _self = Transport.derive(_super);\n        var _requestIds = 0;\n        var _metaConnectRequest = null;\n        var _requests = [];\n        var _envelopes = [];\n\n        function _coalesceEnvelopes(envelope) {\n            while (_envelopes.length > 0) {\n                var envelopeAndRequest = _envelopes[0];\n                var newEnvelope = envelopeAndRequest[0];\n                var newRequest = envelopeAndRequest[1];\n                if (newEnvelope.url === envelope.url &&\n                    newEnvelope.sync === envelope.sync) {\n                    _envelopes.shift();\n                    envelope.messages = envelope.messages.concat(newEnvelope.messages);\n                    this._debug('Coalesced', newEnvelope.messages.length, 'messages from request', newRequest.id);\n                    continue;\n                }\n                break;\n            }\n        }\n\n        function _transportSend(envelope, request) {\n            this.transportSend(envelope, request);\n            request.expired = false;\n\n            if (!envelope.sync) {\n                var maxDelay = this.getConfiguration().maxNetworkDelay;\n                var delay = maxDelay;\n                if (request.metaConnect === true) {\n                    delay += this.getAdvice().timeout;\n                }\n\n                this._debug('Transport', this.getType(), 'waiting at most', delay, 'ms for the response, maxNetworkDelay', maxDelay);\n\n                var self = this;\n                request.timeout = this.setTimeout(function() {\n                    request.expired = true;\n                    var errorMessage = 'Request ' + request.id + ' of transport ' + self.getType() + ' exceeded ' + delay + ' ms max network delay';\n                    var failure = {\n                        reason: errorMessage\n                    };\n                    var xhr = request.xhr;\n                    failure.httpCode = self.xhrStatus(xhr);\n                    self.abortXHR(xhr);\n                    self._debug(errorMessage);\n                    self.complete(request, false, request.metaConnect);\n                    envelope.onFailure(xhr, envelope.messages, failure);\n                }, delay);\n            }\n        }\n\n        function _queueSend(envelope) {\n            var requestId = ++_requestIds;\n            var request = {\n                id: requestId,\n                metaConnect: false,\n                envelope: envelope\n            };\n\n            // Consider the metaConnect requests which should always be present\n            if (_requests.length < this.getConfiguration().maxConnections - 1) {\n                _requests.push(request);\n                _transportSend.call(this, envelope, request);\n            } else {\n                this._debug('Transport', this.getType(), 'queueing request', requestId, 'envelope', envelope);\n                _envelopes.push([envelope, request]);\n            }\n        }\n\n        function _metaConnectComplete(request) {\n            var requestId = request.id;\n            this._debug('Transport', this.getType(), 'metaConnect complete, request', requestId);\n            if (_metaConnectRequest !== null && _metaConnectRequest.id !== requestId) {\n                throw 'Longpoll request mismatch, completing request ' + requestId;\n            }\n\n            // Reset metaConnect request\n            _metaConnectRequest = null;\n        }\n\n        function _complete(request, success) {\n            var index = Utils.inArray(request, _requests);\n            // The index can be negative if the request has been aborted\n            if (index >= 0) {\n                _requests.splice(index, 1);\n            }\n\n            if (_envelopes.length > 0) {\n                var envelopeAndRequest = _envelopes.shift();\n                var nextEnvelope = envelopeAndRequest[0];\n                var nextRequest = envelopeAndRequest[1];\n                this._debug('Transport dequeued request', nextRequest.id);\n                if (success) {\n                    if (this.getConfiguration().autoBatch) {\n                        _coalesceEnvelopes.call(this, nextEnvelope);\n                    }\n                    _queueSend.call(this, nextEnvelope);\n                    this._debug('Transport completed request', request.id, nextEnvelope);\n                } else {\n                    // Keep the semantic of calling response callbacks asynchronously after the request\n                    var self = this;\n                    this.setTimeout(function() {\n                        self.complete(nextRequest, false, nextRequest.metaConnect);\n                        var failure = {\n                            reason: 'Previous request failed'\n                        };\n                        var xhr = nextRequest.xhr;\n                        failure.httpCode = self.xhrStatus(xhr);\n                        nextEnvelope.onFailure(xhr, nextEnvelope.messages, failure);\n                    }, 0);\n                }\n            }\n        }\n\n        _self.complete = function(request, success, metaConnect) {\n            if (metaConnect) {\n                _metaConnectComplete.call(this, request);\n            } else {\n                _complete.call(this, request, success);\n            }\n        };\n\n        /**\n         * Performs the actual send depending on the transport type details.\n         * @param envelope the envelope to send\n         * @param request the request information\n         */\n        _self.transportSend = function(envelope, request) {\n            throw 'Abstract';\n        };\n\n        _self.transportSuccess = function(envelope, request, responses) {\n            if (!request.expired) {\n                this.clearTimeout(request.timeout);\n                this.complete(request, true, request.metaConnect);\n                if (responses && responses.length > 0) {\n                    envelope.onSuccess(responses);\n                } else {\n                    envelope.onFailure(request.xhr, envelope.messages, {\n                        httpCode: 204\n                    });\n                }\n            }\n        };\n\n        _self.transportFailure = function(envelope, request, failure) {\n            if (!request.expired) {\n                this.clearTimeout(request.timeout);\n                this.complete(request, false, request.metaConnect);\n                envelope.onFailure(request.xhr, envelope.messages, failure);\n            }\n        };\n\n        function _metaConnectSend(envelope) {\n            if (_metaConnectRequest !== null) {\n                throw 'Concurrent metaConnect requests not allowed, request id=' + _metaConnectRequest.id + ' not yet completed';\n            }\n\n            var requestId = ++_requestIds;\n            this._debug('Transport', this.getType(), 'metaConnect send, request', requestId, 'envelope', envelope);\n            var request = {\n                id: requestId,\n                metaConnect: true,\n                envelope: envelope\n            };\n            _transportSend.call(this, envelope, request);\n            _metaConnectRequest = request;\n        }\n\n        _self.send = function(envelope, metaConnect) {\n            if (metaConnect) {\n                _metaConnectSend.call(this, envelope);\n            } else {\n                _queueSend.call(this, envelope);\n            }\n        };\n\n        _self.abort = function() {\n            _super.abort();\n            for (var i = 0; i < _requests.length; ++i) {\n                var request = _requests[i];\n                if (request) {\n                    this._debug('Aborting request', request);\n                    if (!this.abortXHR(request.xhr)) {\n                        this.transportFailure(request.envelope, request, {reason: 'abort'});\n                    }\n                }\n            }\n            var metaConnectRequest = _metaConnectRequest;\n            if (metaConnectRequest) {\n                this._debug('Aborting metaConnect request', metaConnectRequest);\n                if (!this.abortXHR(metaConnectRequest.xhr)) {\n                    this.transportFailure(metaConnectRequest.envelope, metaConnectRequest, {reason: 'abort'});\n                }\n            }\n            this.reset(true);\n        };\n\n        _self.reset = function(init) {\n            _super.reset(init);\n            _metaConnectRequest = null;\n            _requests = [];\n            _envelopes = [];\n        };\n\n        _self.abortXHR = function(xhr) {\n            if (xhr) {\n                try {\n                    var state = xhr.readyState;\n                    xhr.abort();\n                    return state !== window.XMLHttpRequest.UNSENT;\n                } catch (x) {\n                    this._debug(x);\n                }\n            }\n            return false;\n        };\n\n        _self.xhrStatus = function(xhr) {\n            if (xhr) {\n                try {\n                    return xhr.status;\n                } catch (x) {\n                    this._debug(x);\n                }\n            }\n            return -1;\n        };\n\n        return _self;\n    };\n\n\n    var LongPollingTransport = function() {\n        var _super = new RequestTransport();\n        var _self = Transport.derive(_super);\n        // By default, support cross domain\n        var _supportsCrossDomain = true;\n\n        _self.accept = function(version, crossDomain, url) {\n            return _supportsCrossDomain || !crossDomain;\n        };\n\n        _self.newXMLHttpRequest = function() {\n            return new window.XMLHttpRequest();\n        };\n\n        _self.xhrSend = function(packet) {\n            var xhr = _self.newXMLHttpRequest();\n            // Copy external context, to be used in other environments.\n            xhr.context = _self.context;\n            xhr.withCredentials = true;\n            xhr.open('POST', packet.url, packet.sync !== true);\n            var headers = packet.headers;\n            if (headers) {\n                for (var headerName in headers) {\n                    if (headers.hasOwnProperty(headerName)) {\n                        xhr.setRequestHeader(headerName, headers[headerName]);\n                    }\n                }\n            }\n            xhr.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');\n            xhr.onload = function() {\n                if (xhr.status === 200) {\n                    packet.onSuccess(xhr.responseText);\n                } else {\n                    packet.onError(xhr.statusText);\n                }\n            };\n            xhr.onerror = function() {\n                packet.onError(xhr.statusText);\n            };\n            xhr.send(packet.body);\n            return xhr;\n        };\n\n        _self.transportSend = function(envelope, request) {\n            this._debug('Transport', this.getType(), 'sending request', request.id, 'envelope', envelope);\n\n            var self = this;\n            try {\n                var sameStack = true;\n                request.xhr = this.xhrSend({\n                    transport: this,\n                    url: envelope.url,\n                    sync: envelope.sync,\n                    headers: this.getConfiguration().requestHeaders,\n                    body: JSON.stringify(envelope.messages),\n                    onSuccess: function(response) {\n                        self._debug('Transport', self.getType(), 'received response', response);\n                        var success = false;\n                        try {\n                            var received = self.convertToMessages(response);\n                            if (received.length === 0) {\n                                _supportsCrossDomain = false;\n                                self.transportFailure(envelope, request, {\n                                    httpCode: 204\n                                });\n                            } else {\n                                success = true;\n                                self.transportSuccess(envelope, request, received);\n                            }\n                        } catch (x) {\n                            self._debug(x);\n                            if (!success) {\n                                _supportsCrossDomain = false;\n                                var failure = {\n                                    exception: x\n                                };\n                                failure.httpCode = self.xhrStatus(request.xhr);\n                                self.transportFailure(envelope, request, failure);\n                            }\n                        }\n                    },\n                    onError: function(reason, exception) {\n                        self._debug('Transport', self.getType(), 'received error', reason, exception);\n                        _supportsCrossDomain = false;\n                        var failure = {\n                            reason: reason,\n                            exception: exception\n                        };\n                        failure.httpCode = self.xhrStatus(request.xhr);\n                        if (sameStack) {\n                            // Keep the semantic of calling response callbacks asynchronously after the request\n                            self.setTimeout(function() {\n                                self.transportFailure(envelope, request, failure);\n                            }, 0);\n                        } else {\n                            self.transportFailure(envelope, request, failure);\n                        }\n                    }\n                });\n                sameStack = false;\n            } catch (x) {\n                _supportsCrossDomain = false;\n                // Keep the semantic of calling response callbacks asynchronously after the request\n                this.setTimeout(function() {\n                    self.transportFailure(envelope, request, {\n                        exception: x\n                    });\n                }, 0);\n            }\n        };\n\n        _self.reset = function(init) {\n            _super.reset(init);\n            _supportsCrossDomain = true;\n        };\n\n        return _self;\n    };\n\n\n    var CallbackPollingTransport = function() {\n        var _super = new RequestTransport();\n        var _self = Transport.derive(_super);\n        var jsonp = 0;\n\n        _self.accept = function(version, crossDomain, url) {\n            return true;\n        };\n\n        _self.jsonpSend = function(packet) {\n            var head = document.getElementsByTagName('head')[0];\n            var script = document.createElement('script');\n\n            var callbackName = '_cometd_jsonp_' + jsonp++;\n            window[callbackName] = function(responseText) {\n                head.removeChild(script);\n                delete window[callbackName];\n                packet.onSuccess(responseText);\n            };\n\n            var url = packet.url;\n            url += url.indexOf('?') < 0 ? '?' : '&';\n            url += 'jsonp=' + callbackName;\n            url += '&message=' + encodeURIComponent(packet.body);\n            script.src = url;\n            script.async = packet.sync !== true;\n            script.type = 'application/javascript';\n            script.onerror = function(e) {\n                packet.onError('jsonp ' + e.type);\n            };\n            head.appendChild(script);\n        };\n\n        function _failTransportFn(envelope, request, x) {\n            var self = this;\n            return function() {\n                self.transportFailure(envelope, request, 'error', x);\n            };\n        }\n\n        _self.transportSend = function(envelope, request) {\n            var self = this;\n\n            // Microsoft Internet Explorer has a 2083 URL max length\n            // We must ensure that we stay within that length\n            var start = 0;\n            var length = envelope.messages.length;\n            var lengths = [];\n            while (length > 0) {\n                // Encode the messages because all brackets, quotes, commas, colons, etc\n                // present in the JSON will be URL encoded, taking many more characters\n                var json = JSON.stringify(envelope.messages.slice(start, start + length));\n                var urlLength = envelope.url.length + encodeURI(json).length;\n\n                var maxLength = this.getConfiguration().maxURILength;\n                if (urlLength > maxLength) {\n                    if (length === 1) {\n                        var x = 'Bayeux message too big (' + urlLength + ' bytes, max is ' + maxLength + ') ' +\n                            'for transport ' + this.getType();\n                        // Keep the semantic of calling response callbacks asynchronously after the request\n                        this.setTimeout(_failTransportFn.call(this, envelope, request, x), 0);\n                        return;\n                    }\n\n                    --length;\n                    continue;\n                }\n\n                lengths.push(length);\n                start += length;\n                length = envelope.messages.length - start;\n            }\n\n            // Here we are sure that the messages can be sent within the URL limit\n\n            var envelopeToSend = envelope;\n            if (lengths.length > 1) {\n                var begin = 0;\n                var end = lengths[0];\n                this._debug('Transport', this.getType(), 'split', envelope.messages.length, 'messages into', lengths.join(' + '));\n                envelopeToSend = this._mixin(false, {}, envelope);\n                envelopeToSend.messages = envelope.messages.slice(begin, end);\n                envelopeToSend.onSuccess = envelope.onSuccess;\n                envelopeToSend.onFailure = envelope.onFailure;\n\n                for (var i = 1; i < lengths.length; ++i) {\n                    var nextEnvelope = this._mixin(false, {}, envelope);\n                    begin = end;\n                    end += lengths[i];\n                    nextEnvelope.messages = envelope.messages.slice(begin, end);\n                    nextEnvelope.onSuccess = envelope.onSuccess;\n                    nextEnvelope.onFailure = envelope.onFailure;\n                    this.send(nextEnvelope, request.metaConnect);\n                }\n            }\n\n            this._debug('Transport', this.getType(), 'sending request', request.id, 'envelope', envelopeToSend);\n\n            try {\n                var sameStack = true;\n                this.jsonpSend({\n                    transport: this,\n                    url: envelopeToSend.url,\n                    sync: envelopeToSend.sync,\n                    headers: this.getConfiguration().requestHeaders,\n                    body: JSON.stringify(envelopeToSend.messages),\n                    onSuccess: function(responses) {\n                        var success = false;\n                        try {\n                            var received = self.convertToMessages(responses);\n                            if (received.length === 0) {\n                                self.transportFailure(envelopeToSend, request, {\n                                    httpCode: 204\n                                });\n                            } else {\n                                success = true;\n                                self.transportSuccess(envelopeToSend, request, received);\n                            }\n                        } catch (x) {\n                            self._debug(x);\n                            if (!success) {\n                                self.transportFailure(envelopeToSend, request, {\n                                    exception: x\n                                });\n                            }\n                        }\n                    },\n                    onError: function(reason, exception) {\n                        var failure = {\n                            reason: reason,\n                            exception: exception\n                        };\n                        if (sameStack) {\n                            // Keep the semantic of calling response callbacks asynchronously after the request\n                            self.setTimeout(function() {\n                                self.transportFailure(envelopeToSend, request, failure);\n                            }, 0);\n                        } else {\n                            self.transportFailure(envelopeToSend, request, failure);\n                        }\n                    }\n                });\n                sameStack = false;\n            } catch (xx) {\n                // Keep the semantic of calling response callbacks asynchronously after the request\n                this.setTimeout(function() {\n                    self.transportFailure(envelopeToSend, request, {\n                        exception: xx\n                    });\n                }, 0);\n            }\n        };\n\n        return _self;\n    };\n\n\n    var WebSocketTransport = function() {\n        var _super = new Transport();\n        var _self = Transport.derive(_super);\n        var _cometd;\n        // By default WebSocket is supported\n        var _webSocketSupported = true;\n        // Whether we were able to establish a WebSocket connection\n        var _webSocketConnected = false;\n        var _stickyReconnect = true;\n        // The context contains the envelopes that have been sent\n        // and the timeouts for the messages that have been sent.\n        var _context = null;\n        var _connecting = null;\n        var _connected = false;\n        var _successCallback = null;\n\n        _self.reset = function(init) {\n            _super.reset(init);\n            _webSocketSupported = true;\n            if (init) {\n                _webSocketConnected = false;\n            }\n            _stickyReconnect = true;\n            _context = null;\n            _connecting = null;\n            _connected = false;\n        };\n\n        function _forceClose(context, event) {\n            if (context) {\n                this.webSocketClose(context, event.code, event.reason);\n                // Force immediate failure of pending messages to trigger reconnect.\n                // This is needed because the server may not reply to our close()\n                // and therefore the onclose function is never called.\n                this.onClose(context, event);\n            }\n        }\n\n        function _sameContext(context) {\n            return context === _connecting || context === _context;\n        }\n\n        function _storeEnvelope(context, envelope, metaConnect) {\n            var messageIds = [];\n            for (var i = 0; i < envelope.messages.length; ++i) {\n                var message = envelope.messages[i];\n                if (message.id) {\n                    messageIds.push(message.id);\n                }\n            }\n            context.envelopes[messageIds.join(',')] = [envelope, metaConnect];\n            this._debug('Transport', this.getType(), 'stored envelope, envelopes', context.envelopes);\n        }\n\n        function _websocketConnect(context) {\n            // We may have multiple attempts to open a WebSocket\n            // connection, for example a /meta/connect request that\n            // may take time, along with a user-triggered publish.\n            // Early return if we are already connecting.\n            if (_connecting) {\n                return;\n            }\n\n            // Mangle the URL, changing the scheme from 'http' to 'ws'.\n            var url = _cometd.getURL().replace(/^http/, 'ws');\n            this._debug('Transport', this.getType(), 'connecting to URL', url);\n\n            try {\n                var protocol = _cometd.getConfiguration().protocol;\n                context.webSocket = protocol ? new window.WebSocket(url, protocol) : new window.WebSocket(url);\n                _connecting = context;\n            } catch (x) {\n                _webSocketSupported = false;\n                this._debug('Exception while creating WebSocket object', x);\n                throw x;\n            }\n\n            // By default use sticky reconnects.\n            _stickyReconnect = _cometd.getConfiguration().stickyReconnect !== false;\n\n            var self = this;\n            var connectTimeout = _cometd.getConfiguration().connectTimeout;\n            if (connectTimeout > 0) {\n                context.connectTimer = this.setTimeout(function() {\n                    _cometd._debug('Transport', self.getType(), 'timed out while connecting to URL', url, ':', connectTimeout, 'ms');\n                    // The connection was not opened, close anyway.\n                    _forceClose.call(self, context, {code: 1000, reason: 'Connect Timeout'});\n                }, connectTimeout);\n            }\n\n            var onopen = function() {\n                _cometd._debug('WebSocket onopen', context);\n                if (context.connectTimer) {\n                    self.clearTimeout(context.connectTimer);\n                }\n\n                if (_sameContext(context)) {\n                    _connecting = null;\n                    _context = context;\n                    _webSocketConnected = true;\n                    self.onOpen(context);\n                } else {\n                    // We have a valid connection already, close this one.\n                    _cometd._warn('Closing extra WebSocket connection', this, 'active connection', _context);\n                    _forceClose.call(self, context, {code: 1000, reason: 'Extra Connection'});\n                }\n            };\n\n            // This callback is invoked when the server sends the close frame.\n            // The close frame for a connection may arrive *after* another\n            // connection has been opened, so we must make sure that actions\n            // are performed only if it's the same connection.\n            var onclose = function(event) {\n                event = event || {code: 1000};\n                _cometd._debug('WebSocket onclose', context, event, 'connecting', _connecting, 'current', _context);\n\n                if (context.connectTimer) {\n                    self.clearTimeout(context.connectTimer);\n                }\n\n                self.onClose(context, event);\n            };\n\n            var onmessage = function(wsMessage) {\n                _cometd._debug('WebSocket onmessage', wsMessage, context);\n                self.onMessage(context, wsMessage);\n            };\n\n            context.webSocket.onopen = onopen;\n            context.webSocket.onclose = onclose;\n            context.webSocket.onerror = function() {\n                // Clients should call onclose(), but if they do not we do it here for safety.\n                onclose({code: 1000, reason: 'Error'});\n            };\n            context.webSocket.onmessage = onmessage;\n\n            this._debug('Transport', this.getType(), 'configured callbacks on', context);\n        }\n\n        function _webSocketSend(context, envelope, metaConnect) {\n            var json = JSON.stringify(envelope.messages);\n            context.webSocket.send(json);\n            this._debug('Transport', this.getType(), 'sent', envelope, 'metaConnect =', metaConnect);\n\n            // Manage the timeout waiting for the response.\n            var maxDelay = this.getConfiguration().maxNetworkDelay;\n            var delay = maxDelay;\n            if (metaConnect) {\n                delay += this.getAdvice().timeout;\n                _connected = true;\n            }\n\n            var self = this;\n            var messageIds = [];\n            for (var i = 0; i < envelope.messages.length; ++i) {\n                (function() {\n                    var message = envelope.messages[i];\n                    if (message.id) {\n                        messageIds.push(message.id);\n                        context.timeouts[message.id] = self.setTimeout(function() {\n                            _cometd._debug('Transport', self.getType(), 'timing out message', message.id, 'after', delay, 'on', context);\n                            _forceClose.call(self, context, {code: 1000, reason: 'Message Timeout'});\n                        }, delay);\n                    }\n                })();\n            }\n\n            this._debug('Transport', this.getType(), 'waiting at most', delay, 'ms for messages', messageIds, 'maxNetworkDelay', maxDelay, ', timeouts:', context.timeouts);\n        }\n\n        _self._notifySuccess = function(fn, messages) {\n            fn.call(this, messages);\n        };\n\n        _self._notifyFailure = function(fn, context, messages, failure) {\n            fn.call(this, context, messages, failure);\n        };\n\n        function _send(context, envelope, metaConnect) {\n            try {\n                if (context === null) {\n                    context = _connecting || {\n                            envelopes: {},\n                            timeouts: {}\n                        };\n                    _storeEnvelope.call(this, context, envelope, metaConnect);\n                    _websocketConnect.call(this, context);\n                } else {\n                    _storeEnvelope.call(this, context, envelope, metaConnect);\n                    _webSocketSend.call(this, context, envelope, metaConnect);\n                }\n            } catch (x) {\n                // Keep the semantic of calling response callbacks asynchronously after the request.\n                var self = this;\n                this.setTimeout(function() {\n                    _forceClose.call(self, context, {\n                        code: 1000,\n                        reason: 'Exception',\n                        exception: x\n                    });\n                }, 0);\n            }\n        }\n\n        _self.onOpen = function(context) {\n            var envelopes = context.envelopes;\n            this._debug('Transport', this.getType(), 'opened', context, 'pending messages', envelopes);\n            for (var key in envelopes) {\n                if (envelopes.hasOwnProperty(key)) {\n                    var element = envelopes[key];\n                    var envelope = element[0];\n                    var metaConnect = element[1];\n                    // Store the success callback, which is independent from the envelope,\n                    // so that it can be used to notify arrival of messages.\n                    _successCallback = envelope.onSuccess;\n                    _webSocketSend.call(this, context, envelope, metaConnect);\n                }\n            }\n        };\n\n        _self.onMessage = function(context, wsMessage) {\n            this._debug('Transport', this.getType(), 'received websocket message', wsMessage, context);\n\n            var close = false;\n            var messages = this.convertToMessages(wsMessage.data);\n            var messageIds = [];\n            for (var i = 0; i < messages.length; ++i) {\n                var message = messages[i];\n\n                // Detect if the message is a response to a request we made.\n                // If it's a meta message, for sure it's a response; otherwise it's\n                // a publish message and publish responses don't have the data field.\n                if (/^\\/meta\\//.test(message.channel) || message.data === undefined) {\n                    if (message.id) {\n                        messageIds.push(message.id);\n\n                        var timeout = context.timeouts[message.id];\n                        if (timeout) {\n                            this.clearTimeout(timeout);\n                            delete context.timeouts[message.id];\n                            this._debug('Transport', this.getType(), 'removed timeout for message', message.id, ', timeouts', context.timeouts);\n                        }\n                    }\n                }\n\n                if ('/meta/connect' === message.channel) {\n                    _connected = false;\n                }\n                if ('/meta/disconnect' === message.channel && !_connected) {\n                    close = true;\n                }\n            }\n\n            // Remove the envelope corresponding to the messages.\n            var removed = false;\n            var envelopes = context.envelopes;\n            for (var j = 0; j < messageIds.length; ++j) {\n                var id = messageIds[j];\n                for (var key in envelopes) {\n                    if (envelopes.hasOwnProperty(key)) {\n                        var ids = key.split(',');\n                        var index = Utils.inArray(id, ids);\n                        if (index >= 0) {\n                            removed = true;\n                            ids.splice(index, 1);\n                            var envelope = envelopes[key][0];\n                            var metaConnect = envelopes[key][1];\n                            delete envelopes[key];\n                            if (ids.length > 0) {\n                                envelopes[ids.join(',')] = [envelope, metaConnect];\n                            }\n                            break;\n                        }\n                    }\n                }\n            }\n            if (removed) {\n                this._debug('Transport', this.getType(), 'removed envelope, envelopes', envelopes);\n            }\n\n            this._notifySuccess(_successCallback, messages);\n\n            if (close) {\n                this.webSocketClose(context, 1000, 'Disconnect');\n            }\n        };\n\n        _self.onClose = function(context, event) {\n            this._debug('Transport', this.getType(), 'closed', context, event);\n\n            if (_sameContext(context)) {\n                // Remember if we were able to connect.\n                // This close event could be due to server shutdown,\n                // and if it restarts we want to try websocket again.\n                _webSocketSupported = _stickyReconnect && _webSocketConnected;\n                _connecting = null;\n                _context = null;\n            }\n\n            var timeouts = context.timeouts;\n            context.timeouts = {};\n            for (var id in timeouts) {\n                if (timeouts.hasOwnProperty(id)) {\n                    this.clearTimeout(timeouts[id]);\n                }\n            }\n\n            var envelopes = context.envelopes;\n            context.envelopes = {};\n            for (var key in envelopes) {\n                if (envelopes.hasOwnProperty(key)) {\n                    var envelope = envelopes[key][0];\n                    var metaConnect = envelopes[key][1];\n                    if (metaConnect) {\n                        _connected = false;\n                    }\n                    var failure = {\n                        websocketCode: event.code,\n                        reason: event.reason\n                    };\n                    if (event.exception) {\n                        failure.exception = event.exception;\n                    }\n                    this._notifyFailure(envelope.onFailure, context, envelope.messages, failure);\n                }\n            }\n        };\n\n        _self.registered = function(type, cometd) {\n            _super.registered(type, cometd);\n            _cometd = cometd;\n        };\n\n        _self.accept = function(version, crossDomain, url) {\n            this._debug('Transport', this.getType(), 'accept, supported:', _webSocketSupported);\n            // Using !! to return a boolean (and not the WebSocket object).\n            return _webSocketSupported && !!window.WebSocket && _cometd.websocketEnabled !== false;\n        };\n\n        _self.send = function(envelope, metaConnect) {\n            this._debug('Transport', this.getType(), 'sending', envelope, 'metaConnect =', metaConnect);\n            _send.call(this, _context, envelope, metaConnect);\n        };\n\n        _self.webSocketClose = function(context, code, reason) {\n            try {\n                if (context.webSocket) {\n                    context.webSocket.close(code, reason);\n                }\n            } catch (x) {\n                this._debug(x);\n            }\n        };\n\n        _self.abort = function() {\n            _super.abort();\n            _forceClose.call(this, _context, {code: 1000, reason: 'Abort'});\n            this.reset(true);\n        };\n\n        return _self;\n    };\n\n\n    /**\n     * The constructor for a CometD object, identified by an optional name.\n     * The default name is the string 'default'.\n     * @param name the optional name of this cometd object\n     */\n    var CometD = function (name) {\n        var _cometd = this;\n        var _name = name || 'default';\n        var _crossDomain = false;\n        var _transports = new TransportRegistry();\n        var _transport;\n        var _status = 'disconnected';\n        var _messageId = 0;\n        var _clientId = null;\n        var _batch = 0;\n        var _messageQueue = [];\n        var _internalBatch = false;\n        var _listenerId = 0;\n        var _listeners = {};\n        var _backoff = 0;\n        var _scheduledSend = null;\n        var _extensions = [];\n        var _advice = {};\n        var _handshakeProps;\n        var _handshakeCallback;\n        var _callbacks = {};\n        var _remoteCalls = {};\n        var _reestablish = false;\n        var _connected = false;\n        var _unconnectTime = 0;\n        var _handshakeMessages = 0;\n        var _config = {\n            protocol: null,\n            stickyReconnect: true,\n            connectTimeout: 0,\n            maxConnections: 2,\n            backoffIncrement: 1000,\n            maxBackoff: 60000,\n            logLevel: 'info',\n            maxNetworkDelay: 10000,\n            requestHeaders: {},\n            appendMessageTypeToURL: true,\n            autoBatch: false,\n            urls: {},\n            maxURILength: 2000,\n            advice: {\n                timeout: 60000,\n                interval: 0,\n                reconnect: undefined,\n                maxInterval: 0\n            }\n        };\n\n        function _fieldValue(object, name) {\n            try {\n                return object[name];\n            } catch (x) {\n                return undefined;\n            }\n        }\n\n        /**\n         * Mixes in the given objects into the target object by copying the properties.\n         * @param deep if the copy must be deep\n         * @param target the target object\n         * @param objects the objects whose properties are copied into the target\n         */\n        this._mixin = function(deep, target, objects) {\n            var result = target || {};\n\n            // Skip first 2 parameters (deep and target), and loop over the others\n            for (var i = 2; i < arguments.length; ++i) {\n                var object = arguments[i];\n\n                if (object === undefined || object === null) {\n                    continue;\n                }\n\n                for (var propName in object) {\n                    if (object.hasOwnProperty(propName)) {\n                        var prop = _fieldValue(object, propName);\n                        var targ = _fieldValue(result, propName);\n\n                        // Avoid infinite loops\n                        if (prop === target) {\n                            continue;\n                        }\n                        // Do not mixin undefined values\n                        if (prop === undefined) {\n                            continue;\n                        }\n\n                        if (deep && typeof prop === 'object' && prop !== null) {\n                            if (prop instanceof Array) {\n                                result[propName] = this._mixin(deep, targ instanceof Array ? targ : [], prop);\n                            } else {\n                                var source = typeof targ === 'object' && !(targ instanceof Array) ? targ : {};\n                                result[propName] = this._mixin(deep, source, prop);\n                            }\n                        } else {\n                            result[propName] = prop;\n                        }\n                    }\n                }\n            }\n\n            return result;\n        };\n\n        function _isString(value) {\n            return Utils.isString(value);\n        }\n\n        function _isFunction(value) {\n            if (value === undefined || value === null) {\n                return false;\n            }\n            return typeof value === 'function';\n        }\n\n        function _zeroPad(value, length) {\n            var result = '';\n            while (--length > 0) {\n                if (value >= Math.pow(10, length)) {\n                    break;\n                }\n                result += '0';\n            }\n            result += value;\n            return result;\n        }\n\n        function _log(level, args) {\n            if (window.console) {\n                var logger = window.console[level];\n                if (_isFunction(logger)) {\n                    var now = new Date();\n                    [].splice.call(args, 0, 0, _zeroPad(now.getHours(), 2) + ':' + _zeroPad(now.getMinutes(), 2) + ':' +\n                        _zeroPad(now.getSeconds(), 2) + '.' + _zeroPad(now.getMilliseconds(), 3));\n                    logger.apply(window.console, args);\n                }\n            }\n        }\n\n        this._warn = function() {\n            _log('warn', arguments);\n        };\n\n        this._info = function() {\n            if (_config.logLevel !== 'warn') {\n                _log('info', arguments);\n            }\n        };\n\n        this._debug = function() {\n            if (_config.logLevel === 'debug') {\n                _log('debug', arguments);\n            }\n        };\n\n        function _splitURL(url) {\n            // [1] = protocol://,\n            // [2] = host:port,\n            // [3] = host,\n            // [4] = IPv6_host,\n            // [5] = IPv4_host,\n            // [6] = :port,\n            // [7] = port,\n            // [8] = uri,\n            // [9] = rest (query / fragment)\n            return /(^https?:\\/\\/)?(((\\[[^\\]]+\\])|([^:\\/\\?#]+))(:(\\d+))?)?([^\\?#]*)(.*)?/.exec(url);\n        }\n\n        /**\n         * Returns whether the given hostAndPort is cross domain.\n         * The default implementation checks against window.location.host\n         * but this function can be overridden to make it work in non-browser\n         * environments.\n         *\n         * @param hostAndPort the host and port in format host:port\n         * @return whether the given hostAndPort is cross domain\n         */\n        this._isCrossDomain = function(hostAndPort) {\n            if (window.location && window.location.host) {\n                if (hostAndPort) {\n                    return hostAndPort !== window.location.host;\n                }\n            }\n            return false;\n        };\n\n        function _configure(configuration) {\n            _cometd._debug('Configuring cometd object with', configuration);\n            // Support old style param, where only the Bayeux server URL was passed\n            if (_isString(configuration)) {\n                configuration = { url: configuration };\n            }\n            if (!configuration) {\n                configuration = {};\n            }\n\n            _config = _cometd._mixin(false, _config, configuration);\n\n            var url = _cometd.getURL();\n            if (!url) {\n                throw 'Missing required configuration parameter \\'url\\' specifying the Bayeux server URL';\n            }\n\n            // Check if we're cross domain.\n            var urlParts = _splitURL(url);\n            var hostAndPort = urlParts[2];\n            var uri = urlParts[8];\n            var afterURI = urlParts[9];\n            _crossDomain = _cometd._isCrossDomain(hostAndPort);\n\n            // Check if appending extra path is supported\n            if (_config.appendMessageTypeToURL) {\n                if (afterURI !== undefined && afterURI.length > 0) {\n                    _cometd._info('Appending message type to URI ' + uri + afterURI + ' is not supported, disabling \\'appendMessageTypeToURL\\' configuration');\n                    _config.appendMessageTypeToURL = false;\n                } else {\n                    var uriSegments = uri.split('/');\n                    var lastSegmentIndex = uriSegments.length - 1;\n                    if (uri.match(/\\/$/)) {\n                        lastSegmentIndex -= 1;\n                    }\n                    if (uriSegments[lastSegmentIndex].indexOf('.') >= 0) {\n                        // Very likely the CometD servlet's URL pattern is mapped to an extension, such as *.cometd\n                        // It will be difficult to add the extra path in this case\n                        _cometd._info('Appending message type to URI ' + uri + ' is not supported, disabling \\'appendMessageTypeToURL\\' configuration');\n                        _config.appendMessageTypeToURL = false;\n                    }\n                }\n            }\n        }\n\n        function _removeListener(subscription) {\n            if (subscription) {\n                var subscriptions = _listeners[subscription.channel];\n                if (subscriptions && subscriptions[subscription.id]) {\n                    delete subscriptions[subscription.id];\n                    _cometd._debug('Removed', subscription.listener ? 'listener' : 'subscription', subscription);\n                }\n            }\n        }\n\n        function _removeSubscription(subscription) {\n            if (subscription && !subscription.listener) {\n                _removeListener(subscription);\n            }\n        }\n\n        function _clearSubscriptions() {\n            for (var channel in _listeners) {\n                if (_listeners.hasOwnProperty(channel)) {\n                    var subscriptions = _listeners[channel];\n                    if (subscriptions) {\n                        for (var id in subscriptions) {\n                            if (subscriptions.hasOwnProperty(id)) {\n                                _removeSubscription(subscriptions[id]);\n                            }\n                        }\n                    }\n                }\n            }\n        }\n\n        function _setStatus(newStatus) {\n            if (_status !== newStatus) {\n                _cometd._debug('Status', _status, '->', newStatus);\n                _status = newStatus;\n            }\n        }\n\n        function _isDisconnected() {\n            return _status === 'disconnecting' || _status === 'disconnected';\n        }\n\n        function _nextMessageId() {\n            var result = ++_messageId;\n            return '' + result;\n        }\n\n        function _applyExtension(scope, callback, name, message, outgoing) {\n            try {\n                return callback.call(scope, message);\n            } catch (x) {\n                var handler = _cometd.onExtensionException;\n                if (_isFunction(handler)) {\n                    _cometd._debug('Invoking extension exception handler', name, x);\n                    try {\n                        handler.call(_cometd, x, name, outgoing, message);\n                    } catch (xx) {\n                        _cometd._info('Exception during execution of extension exception handler', name, xx);\n                    }\n                } else {\n                    _cometd._info('Exception during execution of extension', name, x);\n                }\n                return message;\n            }\n        }\n\n        function _applyIncomingExtensions(message) {\n            for (var i = 0; i < _extensions.length; ++i) {\n                if (message === undefined || message === null) {\n                    break;\n                }\n\n                var extension = _extensions[i];\n                var callback = extension.extension.incoming;\n                if (_isFunction(callback)) {\n                    var result = _applyExtension(extension.extension, callback, extension.name, message, false);\n                    message = result === undefined ? message : result;\n                }\n            }\n            return message;\n        }\n\n        function _applyOutgoingExtensions(message) {\n            for (var i = _extensions.length - 1; i >= 0 ; --i) {\n                if (message === undefined || message === null) {\n                    break;\n                }\n\n                var extension = _extensions[i];\n                var callback = extension.extension.outgoing;\n                if (_isFunction(callback)) {\n                    var result = _applyExtension(extension.extension, callback, extension.name, message, true);\n                    message = result === undefined ? message : result;\n                }\n            }\n            return message;\n        }\n\n        function _notify(channel, message) {\n            var subscriptions = _listeners[channel];\n            if (subscriptions) {\n                for (var id in subscriptions) {\n                    if (subscriptions.hasOwnProperty(id)) {\n                        var subscription = subscriptions[id];\n                        // Subscriptions may come and go, so the array may have 'holes'\n                        if (subscription) {\n                            try {\n                                subscription.callback.call(subscription.scope, message);\n                            } catch (x) {\n                                var handler = _cometd.onListenerException;\n                                if (_isFunction(handler)) {\n                                    _cometd._debug('Invoking listener exception handler', subscription, x);\n                                    try {\n                                        handler.call(_cometd, x, subscription, subscription.listener, message);\n                                    } catch (xx) {\n                                        _cometd._info('Exception during execution of listener exception handler', subscription, xx);\n                                    }\n                                } else {\n                                    _cometd._info('Exception during execution of listener', subscription, message, x);\n                                }\n                            }\n                        }\n                    }\n                }\n            }\n        }\n\n        function _notifyListeners(channel, message) {\n            // Notify direct listeners\n            _notify(channel, message);\n\n            // Notify the globbing listeners\n            var channelParts = channel.split('/');\n            var last = channelParts.length - 1;\n            for (var i = last; i > 0; --i) {\n                var channelPart = channelParts.slice(0, i).join('/') + '/*';\n                // We don't want to notify /foo/* if the channel is /foo/bar/baz,\n                // so we stop at the first non recursive globbing\n                if (i === last) {\n                    _notify(channelPart, message);\n                }\n                // Add the recursive globber and notify\n                channelPart += '*';\n                _notify(channelPart, message);\n            }\n        }\n\n        function _cancelDelayedSend() {\n            if (_scheduledSend !== null) {\n                Utils.clearTimeout(_scheduledSend);\n            }\n            _scheduledSend = null;\n        }\n\n        function _delayedSend(operation, delay) {\n            _cancelDelayedSend();\n            var time = _advice.interval + delay;\n            _cometd._debug('Function scheduled in', time, 'ms, interval =', _advice.interval, 'backoff =', _backoff, operation);\n            _scheduledSend = Utils.setTimeout(_cometd, operation, time);\n        }\n\n        // Needed to break cyclic dependencies between function definitions\n        var _handleMessages;\n        var _handleFailure;\n\n        /**\n         * Delivers the messages to the CometD server\n         * @param sync whether the send is synchronous\n         * @param messages the array of messages to send\n         * @param metaConnect true if this send is on /meta/connect\n         * @param extraPath an extra path to append to the Bayeux server URL\n         */\n        function _send(sync, messages, metaConnect, extraPath) {\n            // We must be sure that the messages have a clientId.\n            // This is not guaranteed since the handshake may take time to return\n            // (and hence the clientId is not known yet) and the application\n            // may create other messages.\n            for (var i = 0; i < messages.length; ++i) {\n                var message = messages[i];\n                var messageId = message.id;\n\n                if (_clientId) {\n                    message.clientId = _clientId;\n                }\n\n                message = _applyOutgoingExtensions(message);\n                if (message !== undefined && message !== null) {\n                    // Extensions may have modified the message id, but we need to own it.\n                    message.id = messageId;\n                    messages[i] = message;\n                } else {\n                    delete _callbacks[messageId];\n                    messages.splice(i--, 1);\n                }\n            }\n\n            if (messages.length === 0) {\n                return;\n            }\n\n            var url = _cometd.getURL();\n            if (_config.appendMessageTypeToURL) {\n                // If url does not end with '/', then append it\n                if (!url.match(/\\/$/)) {\n                    url = url + '/';\n                }\n                if (extraPath) {\n                    url = url + extraPath;\n                }\n            }\n\n            var envelope = {\n                url: url,\n                sync: sync,\n                messages: messages,\n                onSuccess: function(rcvdMessages) {\n                    try {\n                        _handleMessages.call(_cometd, rcvdMessages);\n                    } catch (x) {\n                        _cometd._info('Exception during handling of messages', x);\n                    }\n                },\n                onFailure: function(conduit, messages, failure) {\n                    try {\n                        var transport = _cometd.getTransport();\n                        failure.connectionType = transport ? transport.getType() : \"unknown\";\n                        _handleFailure.call(_cometd, conduit, messages, failure);\n                    } catch (x) {\n                        _cometd._info('Exception during handling of failure', x);\n                    }\n                }\n            };\n            _cometd._debug('Send', envelope);\n            _transport.send(envelope, metaConnect);\n        }\n\n        function _queueSend(message) {\n            if (_batch > 0 || _internalBatch === true) {\n                _messageQueue.push(message);\n            } else {\n                _send(false, [message], false);\n            }\n        }\n\n        /**\n         * Sends a complete bayeux message.\n         * This method is exposed as a public so that extensions may use it\n         * to send bayeux message directly, for example in case of re-sending\n         * messages that have already been sent but that for some reason must\n         * be resent.\n         */\n        this.send = _queueSend;\n\n        function _resetBackoff() {\n            _backoff = 0;\n        }\n\n        function _increaseBackoff() {\n            if (_backoff < _config.maxBackoff) {\n                _backoff += _config.backoffIncrement;\n            }\n            return _backoff;\n        }\n\n        /**\n         * Starts a the batch of messages to be sent in a single request.\n         * @see #_endBatch(sendMessages)\n         */\n        function _startBatch() {\n            ++_batch;\n            _cometd._debug('Starting batch, depth', _batch);\n        }\n\n        function _flushBatch() {\n            var messages = _messageQueue;\n            _messageQueue = [];\n            if (messages.length > 0) {\n                _send(false, messages, false);\n            }\n        }\n\n        /**\n         * Ends the batch of messages to be sent in a single request,\n         * optionally sending messages present in the message queue depending\n         * on the given argument.\n         * @see #_startBatch()\n         */\n        function _endBatch() {\n            --_batch;\n            _cometd._debug('Ending batch, depth', _batch);\n            if (_batch < 0) {\n                throw 'Calls to startBatch() and endBatch() are not paired';\n            }\n\n            if (_batch === 0 && !_isDisconnected() && !_internalBatch) {\n                _flushBatch();\n            }\n        }\n\n        /**\n         * Sends the connect message\n         */\n        function _connect() {\n            if (!_isDisconnected()) {\n                var bayeuxMessage = {\n                    id: _nextMessageId(),\n                    channel: '/meta/connect',\n                    connectionType: _transport.getType()\n                };\n\n                // In case of reload or temporary loss of connection\n                // we want the next successful connect to return immediately\n                // instead of being held by the server, so that connect listeners\n                // can be notified that the connection has been re-established\n                if (!_connected) {\n                    bayeuxMessage.advice = { timeout: 0 };\n                }\n\n                _setStatus('connecting');\n                _cometd._debug('Connect sent', bayeuxMessage);\n                _send(false, [bayeuxMessage], true, 'connect');\n                _setStatus('connected');\n            }\n        }\n\n        function _delayedConnect(delay) {\n            _setStatus('connecting');\n            _delayedSend(function() {\n                _connect();\n            }, delay);\n        }\n\n        function _updateAdvice(newAdvice) {\n            if (newAdvice) {\n                _advice = _cometd._mixin(false, {}, _config.advice, newAdvice);\n                _cometd._debug('New advice', _advice);\n            }\n        }\n\n        function _disconnect(abort) {\n            _cancelDelayedSend();\n            if (abort && _transport) {\n                _transport.abort();\n            }\n            _clientId = null;\n            _setStatus('disconnected');\n            _batch = 0;\n            _resetBackoff();\n            _transport = null;\n            _reestablish = false;\n            _connected = false;\n\n            // Fail any existing queued message\n            if (_messageQueue.length > 0) {\n                var messages = _messageQueue;\n                _messageQueue = [];\n                _handleFailure.call(_cometd, undefined, messages, {\n                    reason: 'Disconnected'\n                });\n            }\n        }\n\n        function _notifyTransportException(oldTransport, newTransport, failure) {\n            var handler = _cometd.onTransportException;\n            if (_isFunction(handler)) {\n                _cometd._debug('Invoking transport exception handler', oldTransport, newTransport, failure);\n                try {\n                    handler.call(_cometd, failure, oldTransport, newTransport);\n                } catch (x) {\n                    _cometd._info('Exception during execution of transport exception handler', x);\n                }\n            }\n        }\n\n        /**\n         * Sends the initial handshake message\n         */\n        function _handshake(handshakeProps, handshakeCallback) {\n            if (_isFunction(handshakeProps)) {\n                handshakeCallback = handshakeProps;\n                handshakeProps = undefined;\n            }\n\n            _clientId = null;\n\n            _clearSubscriptions();\n\n            // Reset the transports if we're not retrying the handshake\n            if (_isDisconnected()) {\n                _transports.reset(true);\n            }\n\n            // Reset the advice.\n            _updateAdvice({});\n\n            _batch = 0;\n\n            // Mark the start of an internal batch.\n            // This is needed because handshake and connect are async.\n            // It may happen that the application calls init() then subscribe()\n            // and the subscribe message is sent before the connect message, if\n            // the subscribe message is not held until the connect message is sent.\n            // So here we start a batch to hold temporarily any message until\n            // the connection is fully established.\n            _internalBatch = true;\n\n            // Save the properties provided by the user, so that\n            // we can reuse them during automatic re-handshake\n            _handshakeProps = handshakeProps;\n            _handshakeCallback = handshakeCallback;\n\n            var version = '1.0';\n\n            // Figure out the transports to send to the server\n            var url = _cometd.getURL();\n            var transportTypes = _transports.findTransportTypes(version, _crossDomain, url);\n\n            var bayeuxMessage = {\n                id: _nextMessageId(),\n                version: version,\n                minimumVersion: version,\n                channel: '/meta/handshake',\n                supportedConnectionTypes: transportTypes,\n                advice: {\n                    timeout: _advice.timeout,\n                    interval: _advice.interval\n                }\n            };\n            // Do not allow the user to override important fields.\n            var message = _cometd._mixin(false, {}, _handshakeProps, bayeuxMessage);\n\n            // Save the callback.\n            _cometd._putCallback(message.id, handshakeCallback);\n\n            // Pick up the first available transport as initial transport\n            // since we don't know if the server supports it\n            if (!_transport) {\n                _transport = _transports.negotiateTransport(transportTypes, version, _crossDomain, url);\n                if (!_transport) {\n                    var failure = 'Could not find initial transport among: ' + _transports.getTransportTypes();\n                    _cometd._warn(failure);\n                    throw failure;\n                }\n            }\n\n            _cometd._debug('Initial transport is', _transport.getType());\n\n            // We started a batch to hold the application messages,\n            // so here we must bypass it and send immediately.\n            _setStatus('handshaking');\n            _cometd._debug('Handshake sent', message);\n            _send(false, [message], false, 'handshake');\n        }\n\n        function _delayedHandshake(delay) {\n            _setStatus('handshaking');\n\n            // We will call _handshake() which will reset _clientId, but we want to avoid\n            // that between the end of this method and the call to _handshake() someone may\n            // call publish() (or other methods that call _queueSend()).\n            _internalBatch = true;\n\n            _delayedSend(function() {\n                _handshake(_handshakeProps, _handshakeCallback);\n            }, delay);\n        }\n\n        function _notifyCallback(callback, message) {\n            try {\n                callback.call(_cometd, message);\n            } catch (x) {\n                var handler = _cometd.onCallbackException;\n                if (_isFunction(handler)) {\n                    _cometd._debug('Invoking callback exception handler', x);\n                    try {\n                        handler.call(_cometd, x, message);\n                    } catch (xx) {\n                        _cometd._info('Exception during execution of callback exception handler', xx);\n                    }\n                } else {\n                    _cometd._info('Exception during execution of message callback', x);\n                }\n            }\n        }\n\n        this._getCallback = function(messageId) {\n            return _callbacks[messageId];\n        };\n\n        this._putCallback = function(messageId, callback) {\n            var result = this._getCallback(messageId);\n            if (_isFunction(callback)) {\n                _callbacks[messageId] = callback;\n            }\n            return result;\n        };\n\n        function _handleCallback(message) {\n            var callback = _cometd._getCallback([message.id]);\n            if (_isFunction(callback)) {\n                delete _callbacks[message.id];\n                _notifyCallback(callback, message);\n            }\n        }\n\n        function _handleRemoteCall(message) {\n            var context = _remoteCalls[message.id];\n            delete _remoteCalls[message.id];\n            if (context) {\n                _cometd._debug('Handling remote call response for', message, 'with context', context);\n\n                // Clear the timeout, if present.\n                var timeout = context.timeout;\n                if (timeout) {\n                    Utils.clearTimeout(timeout);\n                }\n\n                var callback = context.callback;\n                if (_isFunction(callback)) {\n                    _notifyCallback(callback, message);\n                    return true;\n                }\n            }\n            return false;\n        }\n\n        this.onTransportFailure = function(message, failureInfo, failureHandler) {\n            this._debug('Transport failure', failureInfo, 'for', message);\n\n            var transports = this.getTransportRegistry();\n            var url = this.getURL();\n            var crossDomain = this._isCrossDomain(_splitURL(url)[2]);\n            var version = '1.0';\n            var transportTypes = transports.findTransportTypes(version, crossDomain, url);\n\n            if (failureInfo.action === 'none') {\n                if (message.channel === '/meta/handshake') {\n                    if (!failureInfo.transport) {\n                        var failure = 'Could not negotiate transport, client=[' + transportTypes + '], server=[' + message.supportedConnectionTypes + ']';\n                        this._warn(failure);\n                        _notifyTransportException(_transport.getType(), null, {\n                            reason: failure,\n                            connectionType: _transport.getType(),\n                            transport: _transport\n                        });\n                    }\n                }\n            } else {\n                failureInfo.delay = this.getBackoffPeriod();\n                // Different logic depending on whether we are handshaking or connecting.\n                if (message.channel === '/meta/handshake') {\n                    if (!failureInfo.transport) {\n                        // The transport is invalid, try to negotiate again.\n                        var newTransport = transports.negotiateTransport(transportTypes, version, crossDomain, url);\n                        if (!newTransport) {\n                            this._warn('Could not negotiate transport, client=[' + transportTypes + ']');\n                            _notifyTransportException(_transport.getType(), null, message.failure);\n                            failureInfo.action = 'none';\n                        } else {\n                            this._debug('Transport', _transport.getType(), '->', newTransport.getType());\n                            _notifyTransportException(_transport.getType(), newTransport.getType(), message.failure);\n                            failureInfo.action = 'handshake';\n                            failureInfo.transport = newTransport;\n                        }\n                    }\n\n                    if (failureInfo.action !== 'none') {\n                        this.increaseBackoffPeriod();\n                    }\n                } else {\n                    var now = new Date().getTime();\n\n                    if (_unconnectTime === 0) {\n                        _unconnectTime = now;\n                    }\n\n                    if (failureInfo.action === 'retry') {\n                        failureInfo.delay = this.increaseBackoffPeriod();\n                        // Check whether we may switch to handshaking.\n                        var maxInterval = _advice.maxInterval;\n                        if (maxInterval > 0) {\n                            var expiration = _advice.timeout + _advice.interval + maxInterval;\n                            var unconnected = now - _unconnectTime;\n                            if (unconnected + _backoff > expiration) {\n                                failureInfo.action = 'handshake';\n                            }\n                        }\n                    }\n\n                    if (failureInfo.action === 'handshake') {\n                        failureInfo.delay = 0;\n                        transports.reset(false);\n                        this.resetBackoffPeriod();\n                    }\n                }\n            }\n\n            failureHandler.call(_cometd, failureInfo);\n        };\n\n        function _handleTransportFailure(failureInfo) {\n            _cometd._debug('Transport failure handling', failureInfo);\n\n            if (failureInfo.transport) {\n                _transport = failureInfo.transport;\n            }\n\n            if (failureInfo.url) {\n                _transport.setURL(failureInfo.url);\n            }\n\n            var action = failureInfo.action;\n            var delay = failureInfo.delay || 0;\n            switch (action) {\n                case 'handshake':\n                    _delayedHandshake(delay);\n                    break;\n                case 'retry':\n                    _delayedConnect(delay);\n                    break;\n                case 'none':\n                    _disconnect(true);\n                    break;\n                default:\n                    throw 'Unknown action ' + action;\n            }\n        }\n\n        function _failHandshake(message, failureInfo) {\n            _handleCallback(message);\n            _notifyListeners('/meta/handshake', message);\n            _notifyListeners('/meta/unsuccessful', message);\n\n            // The listeners may have disconnected.\n            if (_isDisconnected()) {\n                failureInfo.action = 'none';\n            }\n\n            _cometd.onTransportFailure.call(_cometd, message, failureInfo, _handleTransportFailure);\n        }\n\n        function _handshakeResponse(message) {\n            var url = _cometd.getURL();\n            if (message.successful) {\n                var crossDomain = _cometd._isCrossDomain(_splitURL(url)[2]);\n                var newTransport = _transports.negotiateTransport(message.supportedConnectionTypes, message.version, crossDomain, url);\n                if (newTransport === null) {\n                    message.successful = false;\n                    _failHandshake(message, {\n                        cause: 'negotiation',\n                        action: 'none',\n                        transport: null\n                    });\n                    return;\n                } else if (_transport !== newTransport) {\n                    _cometd._debug('Transport', _transport.getType(), '->', newTransport.getType());\n                    _transport = newTransport;\n                }\n\n                _clientId = message.clientId;\n\n                // End the internal batch and allow held messages from the application\n                // to go to the server (see _handshake() where we start the internal batch).\n                _internalBatch = false;\n                _flushBatch();\n\n                // Here the new transport is in place, as well as the clientId, so\n                // the listeners can perform a publish() if they want.\n                // Notify the listeners before the connect below.\n                message.reestablish = _reestablish;\n                _reestablish = true;\n\n                _handleCallback(message);\n                _notifyListeners('/meta/handshake', message);\n\n                _handshakeMessages = message['x-messages'] || 0;\n\n                var action = _isDisconnected() ? 'none' : _advice.reconnect || 'retry';\n                switch (action) {\n                    case 'retry':\n                        _resetBackoff();\n                        if (_handshakeMessages === 0) {\n                            _delayedConnect(0);\n                        } else {\n                            _cometd._debug('Processing', _handshakeMessages, 'handshake-delivered messages');\n                        }\n                        break;\n                    case 'none':\n                        _disconnect(true);\n                        break;\n                    default:\n                        throw 'Unrecognized advice action ' + action;\n                }\n            } else {\n                _failHandshake(message, {\n                    cause: 'unsuccessful',\n                    action: _advice.reconnect || 'handshake',\n                    transport: _transport\n                });\n            }\n        }\n\n        function _handshakeFailure(message) {\n            _failHandshake(message, {\n                cause: 'failure',\n                action: 'handshake',\n                transport: null\n            });\n        }\n\n        function _failConnect(message, failureInfo) {\n            // Notify the listeners after the status change but before the next action.\n            _notifyListeners('/meta/connect', message);\n            _notifyListeners('/meta/unsuccessful', message);\n\n            // The listeners may have disconnected.\n            if (_isDisconnected()) {\n                failureInfo.action = 'none';\n            }\n\n            _cometd.onTransportFailure.call(_cometd, message, failureInfo, _handleTransportFailure);\n        }\n\n        function _connectResponse(message) {\n            _connected = message.successful;\n\n            if (_connected) {\n                _notifyListeners('/meta/connect', message);\n\n                // Normally, the advice will say \"reconnect: 'retry', interval: 0\"\n                // and the server will hold the request, so when a response returns\n                // we immediately call the server again (long polling).\n                // Listeners can call disconnect(), so check the state after they run.\n                var action = _isDisconnected() ? 'none' : _advice.reconnect || 'retry';\n                switch (action) {\n                    case 'retry':\n                        _resetBackoff();\n                        _delayedConnect(_backoff);\n                        break;\n                    case 'none':\n                        _disconnect(false);\n                        break;\n                    default:\n                        throw 'Unrecognized advice action ' + action;\n                }\n            } else {\n                _failConnect(message, {\n                    cause: 'unsuccessful',\n                    action: _advice.reconnect || 'retry',\n                    transport: _transport\n                });\n            }\n        }\n\n        function _connectFailure(message) {\n            _connected = false;\n\n            _failConnect(message, {\n                cause: 'failure',\n                action: 'retry',\n                transport: null\n            });\n        }\n\n        function _failDisconnect(message) {\n            _disconnect(true);\n            _handleCallback(message);\n            _notifyListeners('/meta/disconnect', message);\n            _notifyListeners('/meta/unsuccessful', message);\n        }\n\n        function _disconnectResponse(message) {\n            if (message.successful) {\n                // Wait for the /meta/connect to arrive.\n                _disconnect(false);\n                _handleCallback(message);\n                _notifyListeners('/meta/disconnect', message);\n            } else {\n                _failDisconnect(message);\n            }\n        }\n\n        function _disconnectFailure(message) {\n            _failDisconnect(message);\n        }\n\n        function _failSubscribe(message) {\n            var subscriptions = _listeners[message.subscription];\n            if (subscriptions) {\n                for (var id in subscriptions) {\n                    if (subscriptions.hasOwnProperty(id)) {\n                        var subscription = subscriptions[id];\n                        if (subscription && !subscription.listener) {\n                            delete subscriptions[id];\n                            _cometd._debug('Removed failed subscription', subscription);\n                        }\n                    }\n                }\n            }\n            _handleCallback(message);\n            _notifyListeners('/meta/subscribe', message);\n            _notifyListeners('/meta/unsuccessful', message);\n        }\n\n        function _subscribeResponse(message) {\n            if (message.successful) {\n                _handleCallback(message);\n                _notifyListeners('/meta/subscribe', message);\n            } else {\n                _failSubscribe(message);\n            }\n        }\n\n        function _subscribeFailure(message) {\n            _failSubscribe(message);\n        }\n\n        function _failUnsubscribe(message) {\n            _handleCallback(message);\n            _notifyListeners('/meta/unsubscribe', message);\n            _notifyListeners('/meta/unsuccessful', message);\n        }\n\n        function _unsubscribeResponse(message) {\n            if (message.successful) {\n                _handleCallback(message);\n                _notifyListeners('/meta/unsubscribe', message);\n            } else {\n                _failUnsubscribe(message);\n            }\n        }\n\n        function _unsubscribeFailure(message) {\n            _failUnsubscribe(message);\n        }\n\n        function _failMessage(message) {\n            if (!_handleRemoteCall(message)) {\n                _handleCallback(message);\n                _notifyListeners('/meta/publish', message);\n                _notifyListeners('/meta/unsuccessful', message);\n            }\n        }\n\n        function _messageResponse(message) {\n            if (message.data !== undefined) {\n                if (!_handleRemoteCall(message)) {\n                    _notifyListeners(message.channel, message);\n                    if (_handshakeMessages > 0) {\n                        --_handshakeMessages;\n                        if (_handshakeMessages === 0) {\n                            _cometd._debug('Processed last handshake-delivered message');\n                            _delayedConnect(0);\n                        }\n                    }\n                }\n            } else {\n                if (message.successful === undefined) {\n                    _cometd._warn('Unknown Bayeux Message', message);\n                } else {\n                    if (message.successful) {\n                        _handleCallback(message);\n                        _notifyListeners('/meta/publish', message);\n                    } else {\n                        _failMessage(message);\n                    }\n                }\n            }\n        }\n\n        function _messageFailure(failure) {\n            _failMessage(failure);\n        }\n\n        function _receive(message) {\n            _unconnectTime = 0;\n\n            message = _applyIncomingExtensions(message);\n            if (message === undefined || message === null) {\n                return;\n            }\n\n            _updateAdvice(message.advice);\n\n            var channel = message.channel;\n            switch (channel) {\n                case '/meta/handshake':\n                    _handshakeResponse(message);\n                    break;\n                case '/meta/connect':\n                    _connectResponse(message);\n                    break;\n                case '/meta/disconnect':\n                    _disconnectResponse(message);\n                    break;\n                case '/meta/subscribe':\n                    _subscribeResponse(message);\n                    break;\n                case '/meta/unsubscribe':\n                    _unsubscribeResponse(message);\n                    break;\n                default:\n                    _messageResponse(message);\n                    break;\n            }\n        }\n\n        /**\n         * Receives a message.\n         * This method is exposed as a public so that extensions may inject\n         * messages simulating that they had been received.\n         */\n        this.receive = _receive;\n\n        _handleMessages = function(rcvdMessages) {\n            _cometd._debug('Received', rcvdMessages);\n\n            for (var i = 0; i < rcvdMessages.length; ++i) {\n                var message = rcvdMessages[i];\n                _receive(message);\n            }\n        };\n\n        _handleFailure = function(conduit, messages, failure) {\n            _cometd._debug('handleFailure', conduit, messages, failure);\n\n            failure.transport = conduit;\n            for (var i = 0; i < messages.length; ++i) {\n                var message = messages[i];\n                var failureMessage = {\n                    id: message.id,\n                    successful: false,\n                    channel: message.channel,\n                    failure: failure\n                };\n                failure.message = message;\n                switch (message.channel) {\n                    case '/meta/handshake':\n                        _handshakeFailure(failureMessage);\n                        break;\n                    case '/meta/connect':\n                        _connectFailure(failureMessage);\n                        break;\n                    case '/meta/disconnect':\n                        _disconnectFailure(failureMessage);\n                        break;\n                    case '/meta/subscribe':\n                        failureMessage.subscription = message.subscription;\n                        _subscribeFailure(failureMessage);\n                        break;\n                    case '/meta/unsubscribe':\n                        failureMessage.subscription = message.subscription;\n                        _unsubscribeFailure(failureMessage);\n                        break;\n                    default:\n                        _messageFailure(failureMessage);\n                        break;\n                }\n            }\n        };\n\n        function _hasSubscriptions(channel) {\n            var subscriptions = _listeners[channel];\n            if (subscriptions) {\n                for (var id in subscriptions) {\n                    if (subscriptions.hasOwnProperty(id)) {\n                        if (subscriptions[id]) {\n                            return true;\n                        }\n                    }\n                }\n            }\n            return false;\n        }\n\n        function _resolveScopedCallback(scope, callback) {\n            var delegate = {\n                scope: scope,\n                method: callback\n            };\n            if (_isFunction(scope)) {\n                delegate.scope = undefined;\n                delegate.method = scope;\n            } else {\n                if (_isString(callback)) {\n                    if (!scope) {\n                        throw 'Invalid scope ' + scope;\n                    }\n                    delegate.method = scope[callback];\n                    if (!_isFunction(delegate.method)) {\n                        throw 'Invalid callback ' + callback + ' for scope ' + scope;\n                    }\n                } else if (!_isFunction(callback)) {\n                    throw 'Invalid callback ' + callback;\n                }\n            }\n            return delegate;\n        }\n\n        function _addListener(channel, scope, callback, isListener) {\n            // The data structure is a map<channel, subscription[]>, where each subscription\n            // holds the callback to be called and its scope.\n\n            var delegate = _resolveScopedCallback(scope, callback);\n            _cometd._debug('Adding', isListener ? 'listener' : 'subscription', 'on', channel, 'with scope', delegate.scope, 'and callback', delegate.method);\n\n            var id = ++_listenerId;\n            var subscription = {\n                id: id,\n                channel: channel,\n                scope: delegate.scope,\n                callback: delegate.method,\n                listener: isListener\n            };\n\n            var subscriptions = _listeners[channel];\n            if (!subscriptions) {\n                subscriptions = {};\n                _listeners[channel] = subscriptions;\n            }\n\n            subscriptions[id] = subscription;\n\n            _cometd._debug('Added', isListener ? 'listener' : 'subscription', subscription);\n\n            return subscription;\n        }\n\n        //\n        // PUBLIC API\n        //\n\n        /**\n         * Registers the given transport under the given transport type.\n         * The optional index parameter specifies the \"priority\" at which the\n         * transport is registered (where 0 is the max priority).\n         * If a transport with the same type is already registered, this function\n         * does nothing and returns false.\n         * @param type the transport type\n         * @param transport the transport object\n         * @param index the index at which this transport is to be registered\n         * @return true if the transport has been registered, false otherwise\n         * @see #unregisterTransport(type)\n         */\n        this.registerTransport = function(type, transport, index) {\n            var result = _transports.add(type, transport, index);\n            if (result) {\n                this._debug('Registered transport', type);\n\n                if (_isFunction(transport.registered)) {\n                    transport.registered(type, this);\n                }\n            }\n            return result;\n        };\n\n        /**\n         * Unregisters the transport with the given transport type.\n         * @param type the transport type to unregister\n         * @return the transport that has been unregistered,\n         * or null if no transport was previously registered under the given transport type\n         */\n        this.unregisterTransport = function(type) {\n            var transport = _transports.remove(type);\n            if (transport !== null) {\n                this._debug('Unregistered transport', type);\n\n                if (_isFunction(transport.unregistered)) {\n                    transport.unregistered();\n                }\n            }\n            return transport;\n        };\n\n        this.unregisterTransports = function() {\n            _transports.clear();\n        };\n\n        /**\n         * @return an array of all registered transport types\n         */\n        this.getTransportTypes = function() {\n            return _transports.getTransportTypes();\n        };\n\n        this.findTransport = function(name) {\n            return _transports.find(name);\n        };\n\n        /**\n         * @returns the TransportRegistry object\n         */\n        this.getTransportRegistry = function() {\n            return _transports;\n        };\n\n        /**\n         * Configures the initial Bayeux communication with the Bayeux server.\n         * Configuration is passed via an object that must contain a mandatory field <code>url</code>\n         * of type string containing the URL of the Bayeux server.\n         * @param configuration the configuration object\n         */\n        this.configure = function(configuration) {\n            _configure.call(this, configuration);\n        };\n\n        /**\n         * Configures and establishes the Bayeux communication with the Bayeux server\n         * via a handshake and a subsequent connect.\n         * @param configuration the configuration object\n         * @param handshakeProps an object to be merged with the handshake message\n         * @see #configure(configuration)\n         * @see #handshake(handshakeProps)\n         */\n        this.init = function(configuration, handshakeProps) {\n            this.configure(configuration);\n            this.handshake(handshakeProps);\n        };\n\n        /**\n         * Establishes the Bayeux communication with the Bayeux server\n         * via a handshake and a subsequent connect.\n         * @param handshakeProps an object to be merged with the handshake message\n         * @param handshakeCallback a function to be invoked when the handshake is acknowledged\n         */\n        this.handshake = function(handshakeProps, handshakeCallback) {\n            if (_status !== 'disconnected') {\n                throw 'Illegal state: handshaken';\n            }\n            _handshake(handshakeProps, handshakeCallback);\n        };\n\n        /**\n         * Disconnects from the Bayeux server.\n         * It is possible to suggest to attempt a synchronous disconnect, but this feature\n         * may only be available in certain transports (for example, long-polling may support\n         * it, callback-polling certainly does not).\n         * @param sync whether attempt to perform a synchronous disconnect\n         * @param disconnectProps an object to be merged with the disconnect message\n         * @param disconnectCallback a function to be invoked when the disconnect is acknowledged\n         */\n        this.disconnect = function(sync, disconnectProps, disconnectCallback) {\n            if (_isDisconnected()) {\n                return;\n            }\n\n            if (typeof sync !== 'boolean') {\n                disconnectCallback = disconnectProps;\n                disconnectProps = sync;\n                sync = false;\n            }\n            if (_isFunction(disconnectProps)) {\n                disconnectCallback = disconnectProps;\n                disconnectProps = undefined;\n            }\n\n            var bayeuxMessage = {\n                id: _nextMessageId(),\n                channel: '/meta/disconnect'\n            };\n            // Do not allow the user to override important fields.\n            var message = this._mixin(false, {}, disconnectProps, bayeuxMessage);\n\n            // Save the callback.\n            _cometd._putCallback(message.id, disconnectCallback);\n\n            _setStatus('disconnecting');\n            _send(sync === true, [message], false, 'disconnect');\n        };\n\n        /**\n         * Marks the start of a batch of application messages to be sent to the server\n         * in a single request, obtaining a single response containing (possibly) many\n         * application reply messages.\n         * Messages are held in a queue and not sent until {@link #endBatch()} is called.\n         * If startBatch() is called multiple times, then an equal number of endBatch()\n         * calls must be made to close and send the batch of messages.\n         * @see #endBatch()\n         */\n        this.startBatch = function() {\n            _startBatch();\n        };\n\n        /**\n         * Marks the end of a batch of application messages to be sent to the server\n         * in a single request.\n         * @see #startBatch()\n         */\n        this.endBatch = function() {\n            _endBatch();\n        };\n\n        /**\n         * Executes the given callback in the given scope, surrounded by a {@link #startBatch()}\n         * and {@link #endBatch()} calls.\n         * @param scope the scope of the callback, may be omitted\n         * @param callback the callback to be executed within {@link #startBatch()} and {@link #endBatch()} calls\n         */\n        this.batch = function(scope, callback) {\n            var delegate = _resolveScopedCallback(scope, callback);\n            this.startBatch();\n            try {\n                delegate.method.call(delegate.scope);\n                this.endBatch();\n            } catch (x) {\n                this._info('Exception during execution of batch', x);\n                this.endBatch();\n                throw x;\n            }\n        };\n\n        /**\n         * Adds a listener for bayeux messages, performing the given callback in the given scope\n         * when a message for the given channel arrives.\n         * @param channel the channel the listener is interested to\n         * @param scope the scope of the callback, may be omitted\n         * @param callback the callback to call when a message is sent to the channel\n         * @returns the subscription handle to be passed to {@link #removeListener(object)}\n         * @see #removeListener(subscription)\n         */\n        this.addListener = function(channel, scope, callback) {\n            if (arguments.length < 2) {\n                throw 'Illegal arguments number: required 2, got ' + arguments.length;\n            }\n            if (!_isString(channel)) {\n                throw 'Illegal argument type: channel must be a string';\n            }\n\n            return _addListener(channel, scope, callback, true);\n        };\n\n        /**\n         * Removes the subscription obtained with a call to {@link #addListener(string, object, function)}.\n         * @param subscription the subscription to unsubscribe.\n         * @see #addListener(channel, scope, callback)\n         */\n        this.removeListener = function(subscription) {\n            // Beware of subscription.id == 0, which is falsy => cannot use !subscription.id\n            if (!subscription || !subscription.channel || !(\"id\" in subscription)) {\n                throw 'Invalid argument: expected subscription, not ' + subscription;\n            }\n\n            _removeListener(subscription);\n        };\n\n        /**\n         * Removes all listeners registered with {@link #addListener(channel, scope, callback)} or\n         * {@link #subscribe(channel, scope, callback)}.\n         */\n        this.clearListeners = function() {\n            _listeners = {};\n        };\n\n        /**\n         * Subscribes to the given channel, performing the given callback in the given scope\n         * when a message for the channel arrives.\n         * @param channel the channel to subscribe to\n         * @param scope the scope of the callback, may be omitted\n         * @param callback the callback to call when a message is sent to the channel\n         * @param subscribeProps an object to be merged with the subscribe message\n         * @param subscribeCallback a function to be invoked when the subscription is acknowledged\n         * @return the subscription handle to be passed to {@link #unsubscribe(object)}\n         */\n        this.subscribe = function(channel, scope, callback, subscribeProps, subscribeCallback) {\n            if (arguments.length < 2) {\n                throw 'Illegal arguments number: required 2, got ' + arguments.length;\n            }\n            if (!_isString(channel)) {\n                throw 'Illegal argument type: channel must be a string';\n            }\n            if (_isDisconnected()) {\n                throw 'Illegal state: disconnected';\n            }\n\n            // Normalize arguments\n            if (_isFunction(scope)) {\n                subscribeCallback = subscribeProps;\n                subscribeProps = callback;\n                callback = scope;\n                scope = undefined;\n            }\n            if (_isFunction(subscribeProps)) {\n                subscribeCallback = subscribeProps;\n                subscribeProps = undefined;\n            }\n\n            // Only send the message to the server if this client has not yet subscribed to the channel\n            var send = !_hasSubscriptions(channel);\n\n            var subscription = _addListener(channel, scope, callback, false);\n\n            if (send) {\n                // Send the subscription message after the subscription registration to avoid\n                // races where the server would send a message to the subscribers, but here\n                // on the client the subscription has not been added yet to the data structures\n                var bayeuxMessage = {\n                    id: _nextMessageId(),\n                    channel: '/meta/subscribe',\n                    subscription: channel\n                };\n                // Do not allow the user to override important fields.\n                var message = this._mixin(false, {}, subscribeProps, bayeuxMessage);\n\n                // Save the callback.\n                _cometd._putCallback(message.id, subscribeCallback);\n\n                _queueSend(message);\n            }\n\n            return subscription;\n        };\n\n        /**\n         * Unsubscribes the subscription obtained with a call to {@link #subscribe(string, object, function)}.\n         * @param subscription the subscription to unsubscribe.\n         * @param unsubscribeProps an object to be merged with the unsubscribe message\n         * @param unsubscribeCallback a function to be invoked when the unsubscription is acknowledged\n         */\n        this.unsubscribe = function(subscription, unsubscribeProps, unsubscribeCallback) {\n            if (arguments.length < 1) {\n                throw 'Illegal arguments number: required 1, got ' + arguments.length;\n            }\n            if (_isDisconnected()) {\n                throw 'Illegal state: disconnected';\n            }\n\n            if (_isFunction(unsubscribeProps)) {\n                unsubscribeCallback = unsubscribeProps;\n                unsubscribeProps = undefined;\n            }\n\n            // Remove the local listener before sending the message\n            // This ensures that if the server fails, this client does not get notifications\n            this.removeListener(subscription);\n\n            var channel = subscription.channel;\n            // Only send the message to the server if this client unsubscribes the last subscription\n            if (!_hasSubscriptions(channel)) {\n                var bayeuxMessage = {\n                    id: _nextMessageId(),\n                    channel: '/meta/unsubscribe',\n                    subscription: channel\n                };\n                // Do not allow the user to override important fields.\n                var message = this._mixin(false, {}, unsubscribeProps, bayeuxMessage);\n\n                // Save the callback.\n                _cometd._putCallback(message.id, unsubscribeCallback);\n\n                _queueSend(message);\n            }\n        };\n\n        this.resubscribe = function(subscription, subscribeProps) {\n            _removeSubscription(subscription);\n            if (subscription) {\n                return this.subscribe(subscription.channel, subscription.scope, subscription.callback, subscribeProps);\n            }\n            return undefined;\n        };\n\n        /**\n         * Removes all subscriptions added via {@link #subscribe(channel, scope, callback, subscribeProps)},\n         * but does not remove the listeners added via {@link addListener(channel, scope, callback)}.\n         */\n        this.clearSubscriptions = function() {\n            _clearSubscriptions();\n        };\n\n        /**\n         * Publishes a message on the given channel, containing the given content.\n         * @param channel the channel to publish the message to\n         * @param content the content of the message\n         * @param publishProps an object to be merged with the publish message\n         * @param publishCallback a function to be invoked when the publish is acknowledged by the server\n         */\n        this.publish = function(channel, content, publishProps, publishCallback) {\n            if (arguments.length < 1) {\n                throw 'Illegal arguments number: required 1, got ' + arguments.length;\n            }\n            if (!_isString(channel)) {\n                throw 'Illegal argument type: channel must be a string';\n            }\n            if (/^\\/meta\\//.test(channel)) {\n                throw 'Illegal argument: cannot publish to meta channels';\n            }\n            if (_isDisconnected()) {\n                throw 'Illegal state: disconnected';\n            }\n\n            if (_isFunction(content)) {\n                publishCallback = content;\n                content = {};\n                publishProps = undefined;\n            } else if (_isFunction(publishProps)) {\n                publishCallback = publishProps;\n                publishProps = undefined;\n            }\n\n            var bayeuxMessage = {\n                id: _nextMessageId(),\n                channel: channel,\n                data: content\n            };\n            // Do not allow the user to override important fields.\n            var message = this._mixin(false, {}, publishProps, bayeuxMessage);\n\n            // Save the callback.\n            _cometd._putCallback(message.id, publishCallback);\n\n            _queueSend(message);\n        };\n\n        /**\n         * Publishes a message with binary data on the given channel.\n         * The binary data chunk may be an ArrayBuffer, a DataView, a TypedArray\n         * (such as Uint8Array) or a plain integer array.\n         * The meta data object may contain additional application data such as\n         * a file name, a mime type, etc.\n         * @param channel the channel to publish the message to\n         * @param data the binary data to publish\n         * @param last whether the binary data chunk is the last\n         * @param meta an object containing meta data associated to the binary chunk\n         * @param callback a function to be invoked when the publish is acknowledged by the server\n         */\n        this.publishBinary = function(channel, data, last, meta, callback) {\n            if (_isFunction(data)) {\n                callback = data;\n                data = new ArrayBuffer(0);\n                last = true;\n                meta = undefined;\n            } else if (_isFunction(last)) {\n                callback = last;\n                last = true;\n                meta = undefined;\n            } else if (_isFunction(meta)) {\n                callback = meta;\n                meta = undefined;\n            }\n            var content = {\n                meta: meta,\n                data: data,\n                last: last\n            };\n            var ext = {\n                ext: {\n                    binary: {\n                    }\n                }\n            };\n            this.publish(channel, content, ext, callback);\n        };\n\n        this.remoteCall = function(target, content, timeout, callProps, callback) {\n            if (arguments.length < 1) {\n                throw 'Illegal arguments number: required 1, got ' + arguments.length;\n            }\n            if (!_isString(target)) {\n                throw 'Illegal argument type: target must be a string';\n            }\n            if (_isDisconnected()) {\n                throw 'Illegal state: disconnected';\n            }\n\n            if (_isFunction(content)) {\n                callback = content;\n                content = {};\n                timeout = _config.maxNetworkDelay;\n                callProps = undefined;\n            } else if (_isFunction(timeout)) {\n                callback = timeout;\n                timeout = _config.maxNetworkDelay;\n                callProps = undefined;\n            } else if (_isFunction(callProps)) {\n                callback = callProps;\n                callProps = undefined;\n            }\n\n            if (typeof timeout !== 'number') {\n                throw 'Illegal argument type: timeout must be a number';\n            }\n\n            if (!target.match(/^\\//)) {\n                target = '/' + target;\n            }\n            var channel = '/service' + target;\n\n            var bayeuxMessage = {\n                id: _nextMessageId(),\n                channel: channel,\n                data: content\n            };\n            var message = this._mixin(false, {}, callProps, bayeuxMessage);\n\n            var context = {\n                callback: callback\n            };\n            if (timeout > 0) {\n                context.timeout = Utils.setTimeout(_cometd, function() {\n                    _cometd._debug('Timing out remote call', message, 'after', timeout, 'ms');\n                    _failMessage({\n                        id: message.id,\n                        error: '406::timeout',\n                        successful: false,\n                        failure: {\n                            message : message,\n                            reason: 'Remote Call Timeout'\n                        }\n                    });\n                }, timeout);\n                _cometd._debug('Scheduled remote call timeout', message, 'in', timeout, 'ms');\n            }\n            _remoteCalls[message.id] = context;\n\n            _queueSend(message);\n        };\n\n        this.remoteCallBinary = function(target, data, last, meta, timeout, callback) {\n            if (_isFunction(data)) {\n                callback = data;\n                data = new ArrayBuffer(0);\n                last = true;\n                meta = undefined;\n                timeout = _config.maxNetworkDelay;\n            } else if (_isFunction(last)) {\n                callback = last;\n                last = true;\n                meta = undefined;\n                timeout = _config.maxNetworkDelay;\n            } else if (_isFunction(meta)) {\n                callback = meta;\n                meta = undefined;\n                timeout = _config.maxNetworkDelay;\n            } else if (_isFunction(timeout)) {\n                callback = timeout;\n                timeout = _config.maxNetworkDelay;\n            }\n\n            var content = {\n                meta: meta,\n                data: data,\n                last: last\n            };\n            var ext = {\n                ext: {\n                    binary: {\n                    }\n                }\n            };\n\n            this.remoteCall(target, content, timeout, ext, callback);\n        };\n\n        /**\n         * Returns a string representing the status of the bayeux communication with the Bayeux server.\n         */\n        this.getStatus = function() {\n            return _status;\n        };\n\n        /**\n         * Returns whether this instance has been disconnected.\n         */\n        this.isDisconnected = _isDisconnected;\n\n        /**\n         * Sets the backoff period used to increase the backoff time when retrying an unsuccessful or failed message.\n         * Default value is 1 second, which means if there is a persistent failure the retries will happen\n         * after 1 second, then after 2 seconds, then after 3 seconds, etc. So for example with 15 seconds of\n         * elapsed time, there will be 5 retries (at 1, 3, 6, 10 and 15 seconds elapsed).\n         * @param period the backoff period to set\n         * @see #getBackoffIncrement()\n         */\n        this.setBackoffIncrement = function(period) {\n            _config.backoffIncrement = period;\n        };\n\n        /**\n         * Returns the backoff period used to increase the backoff time when retrying an unsuccessful or failed message.\n         * @see #setBackoffIncrement(period)\n         */\n        this.getBackoffIncrement = function() {\n            return _config.backoffIncrement;\n        };\n\n        /**\n         * Returns the backoff period to wait before retrying an unsuccessful or failed message.\n         */\n        this.getBackoffPeriod = function() {\n            return _backoff;\n        };\n\n        /**\n         * Increases the backoff period up to the maximum value configured.\n         * @returns the backoff period after increment\n         * @see getBackoffIncrement\n         */\n        this.increaseBackoffPeriod = function() {\n            return _increaseBackoff();\n        };\n\n        /**\n         * Resets the backoff period to zero.\n         */\n        this.resetBackoffPeriod = function() {\n            _resetBackoff();\n        };\n\n        /**\n         * Sets the log level for console logging.\n         * Valid values are the strings 'error', 'warn', 'info' and 'debug', from\n         * less verbose to more verbose.\n         * @param level the log level string\n         */\n        this.setLogLevel = function(level) {\n            _config.logLevel = level;\n        };\n\n        /**\n         * Registers an extension whose callbacks are called for every incoming message\n         * (that comes from the server to this client implementation) and for every\n         * outgoing message (that originates from this client implementation for the\n         * server).\n         * The format of the extension object is the following:\n         * <pre>\n         * {\n     *     incoming: function(message) { ... },\n     *     outgoing: function(message) { ... }\n     * }\n         * </pre>\n         * Both properties are optional, but if they are present they will be called\n         * respectively for each incoming message and for each outgoing message.\n         * @param name the name of the extension\n         * @param extension the extension to register\n         * @return true if the extension was registered, false otherwise\n         * @see #unregisterExtension(name)\n         */\n        this.registerExtension = function(name, extension) {\n            if (arguments.length < 2) {\n                throw 'Illegal arguments number: required 2, got ' + arguments.length;\n            }\n            if (!_isString(name)) {\n                throw 'Illegal argument type: extension name must be a string';\n            }\n\n            var existing = false;\n            for (var i = 0; i < _extensions.length; ++i) {\n                var existingExtension = _extensions[i];\n                if (existingExtension.name === name) {\n                    existing = true;\n                    break;\n                }\n            }\n            if (!existing) {\n                _extensions.push({\n                    name: name,\n                    extension: extension\n                });\n                this._debug('Registered extension', name);\n\n                // Callback for extensions\n                if (_isFunction(extension.registered)) {\n                    extension.registered(name, this);\n                }\n\n                return true;\n            } else {\n                this._info('Could not register extension with name', name, 'since another extension with the same name already exists');\n                return false;\n            }\n        };\n\n        /**\n         * Unregister an extension previously registered with\n         * {@link #registerExtension(name, extension)}.\n         * @param name the name of the extension to unregister.\n         * @return true if the extension was unregistered, false otherwise\n         */\n        this.unregisterExtension = function(name) {\n            if (!_isString(name)) {\n                throw 'Illegal argument type: extension name must be a string';\n            }\n\n            var unregistered = false;\n            for (var i = 0; i < _extensions.length; ++i) {\n                var extension = _extensions[i];\n                if (extension.name === name) {\n                    _extensions.splice(i, 1);\n                    unregistered = true;\n                    this._debug('Unregistered extension', name);\n\n                    // Callback for extensions\n                    var ext = extension.extension;\n                    if (_isFunction(ext.unregistered)) {\n                        ext.unregistered();\n                    }\n\n                    break;\n                }\n            }\n            return unregistered;\n        };\n\n        /**\n         * Find the extension registered with the given name.\n         * @param name the name of the extension to find\n         * @return the extension found or null if no extension with the given name has been registered\n         */\n        this.getExtension = function(name) {\n            for (var i = 0; i < _extensions.length; ++i) {\n                var extension = _extensions[i];\n                if (extension.name === name) {\n                    return extension.extension;\n                }\n            }\n            return null;\n        };\n\n        /**\n         * Returns the name assigned to this CometD object, or the string 'default'\n         * if no name has been explicitly passed as parameter to the constructor.\n         */\n        this.getName = function() {\n            return _name;\n        };\n\n        /**\n         * Returns the clientId assigned by the Bayeux server during handshake.\n         */\n        this.getClientId = function() {\n            return _clientId;\n        };\n\n        /**\n         * Returns the URL of the Bayeux server.\n         */\n        this.getURL = function() {\n            if (_transport) {\n                var url = _transport.getURL();\n                if (url) {\n                    return url;\n                }\n                url = _config.urls[_transport.getType()];\n                if (url) {\n                    return url;\n                }\n            }\n            return _config.url;\n        };\n\n        this.getTransport = function() {\n            return _transport;\n        };\n\n        this.getConfiguration = function() {\n            return this._mixin(true, {}, _config);\n        };\n\n        this.getAdvice = function() {\n            return this._mixin(true, {}, _advice);\n        };\n\n        // Initialize transports.\n        if (window.WebSocket) {\n            this.registerTransport('websocket', new WebSocketTransport());\n        }\n        this.registerTransport('long-polling', new LongPollingTransport());\n        this.registerTransport('callback-polling', new CallbackPollingTransport());\n    };\n\n    var _z85EncodeTable = [\n        '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',\n        'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',\n        'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',\n        'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D',\n        'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N',\n        'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X',\n        'Y', 'Z', '.', '-', ':', '+', '=', '^', '!', '/',\n        '*', '?', '&', '<', '>', '(', ')', '[', ']', '{',\n        '}', '@', '%', '$', '#'\n    ];\n    var _z85DecodeTable = [\n        0x00, 0x44, 0x00, 0x54, 0x53, 0x52, 0x48, 0x00,\n        0x4B, 0x4C, 0x46, 0x41, 0x00, 0x3F, 0x3E, 0x45,\n        0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n        0x08, 0x09, 0x40, 0x00, 0x49, 0x42, 0x4A, 0x47,\n        0x51, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A,\n        0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32,\n        0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A,\n        0x3B, 0x3C, 0x3D, 0x4D, 0x00, 0x4E, 0x43, 0x00,\n        0x00, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10,\n        0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18,\n        0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20,\n        0x21, 0x22, 0x23, 0x4F, 0x00, 0x50, 0x00, 0x00\n    ];\n    var Z85 = {\n        encode: function(bytes) {\n            var buffer = null;\n            if (bytes instanceof ArrayBuffer) {\n                buffer = bytes;\n            } else if (bytes.buffer instanceof ArrayBuffer) {\n                buffer = bytes.buffer;\n            } else if (Array.isArray(bytes)) {\n                buffer = new Uint8Array(bytes).buffer;\n            }\n            if (buffer == null) {\n                throw 'Cannot Z85 encode ' + bytes;\n            }\n\n            var length = buffer.byteLength;\n            var remainder = length % 4;\n            var padding = 4 - (remainder === 0 ? 4 : remainder);\n            var view = new DataView(buffer);\n            var result = '';\n            var value = 0;\n            for (var i = 0; i < length + padding; ++i) {\n                var isPadding = i >= length;\n                value = value * 256 + (isPadding ? 0 : view.getUint8(i));\n                if ((i + 1) % 4 === 0) {\n                    var divisor = 85 * 85 * 85 * 85;\n                    for (var j = 5; j > 0; --j) {\n                        if (!isPadding || j > padding) {\n                            var code = Math.floor(value / divisor) % 85;\n                            result += _z85EncodeTable[code];\n                        }\n                        divisor /= 85;\n                    }\n                    value = 0;\n                }\n            }\n\n            return result;\n        },\n        decode: function(string) {\n            var remainder = string.length % 5;\n            var padding = 5 - (remainder === 0 ? 5 : remainder);\n            for (var p = 0; p < padding; ++p) {\n                string += _z85EncodeTable[_z85EncodeTable.length - 1];\n            }\n            var length = string.length;\n\n            var buffer = new ArrayBuffer((length * 4 / 5) - padding);\n            var view = new DataView(buffer);\n            var value = 0;\n            var charIdx = 0;\n            var byteIdx = 0;\n            for (var i = 0; i < length; ++i) {\n                var code = string.charCodeAt(charIdx++) - 32;\n                value = value * 85 + _z85DecodeTable[code];\n                if (charIdx % 5 === 0) {\n                    var divisor = 256 * 256 * 256;\n                    while (divisor >= 1) {\n                        if (byteIdx < view.byteLength) {\n                            view.setUint8(byteIdx++, Math.floor(value / divisor) % 256);\n                        }\n                        divisor /= 256;\n                    }\n                    value = 0;\n                }\n            }\n\n            return buffer;\n        }\n    };\n\n    return {\n        CometD: CometD,\n        Transport: Transport,\n        RequestTransport: RequestTransport,\n        LongPollingTransport: LongPollingTransport,\n        CallbackPollingTransport: CallbackPollingTransport,\n        WebSocketTransport: WebSocketTransport,\n        Utils: Utils,\n        Z85: Z85\n    };\n}));\n",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory();\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\troot.CryptoJS = factory();\n\t}\n}(this, function () {\n\n\t/**\n\t * CryptoJS core components.\n\t */\n\tvar CryptoJS = CryptoJS || (function (Math, undefined) {\n\t    /*\n\t     * Local polyfil of Object.create\n\t     */\n\t    var create = Object.create || (function () {\n\t        function F() {};\n\n\t        return function (obj) {\n\t            var subtype;\n\n\t            F.prototype = obj;\n\n\t            subtype = new F();\n\n\t            F.prototype = null;\n\n\t            return subtype;\n\t        };\n\t    }())\n\n\t    /**\n\t     * CryptoJS namespace.\n\t     */\n\t    var C = {};\n\n\t    /**\n\t     * Library namespace.\n\t     */\n\t    var C_lib = C.lib = {};\n\n\t    /**\n\t     * Base object for prototypal inheritance.\n\t     */\n\t    var Base = C_lib.Base = (function () {\n\n\n\t        return {\n\t            /**\n\t             * Creates a new object that inherits from this object.\n\t             *\n\t             * @param {Object} overrides Properties to copy into the new object.\n\t             *\n\t             * @return {Object} The new object.\n\t             *\n\t             * @static\n\t             *\n\t             * @example\n\t             *\n\t             *     var MyType = CryptoJS.lib.Base.extend({\n\t             *         field: 'value',\n\t             *\n\t             *         method: function () {\n\t             *         }\n\t             *     });\n\t             */\n\t            extend: function (overrides) {\n\t                // Spawn\n\t                var subtype = create(this);\n\n\t                // Augment\n\t                if (overrides) {\n\t                    subtype.mixIn(overrides);\n\t                }\n\n\t                // Create default initializer\n\t                if (!subtype.hasOwnProperty('init') || this.init === subtype.init) {\n\t                    subtype.init = function () {\n\t                        subtype.$super.init.apply(this, arguments);\n\t                    };\n\t                }\n\n\t                // Initializer's prototype is the subtype object\n\t                subtype.init.prototype = subtype;\n\n\t                // Reference supertype\n\t                subtype.$super = this;\n\n\t                return subtype;\n\t            },\n\n\t            /**\n\t             * Extends this object and runs the init method.\n\t             * Arguments to create() will be passed to init().\n\t             *\n\t             * @return {Object} The new object.\n\t             *\n\t             * @static\n\t             *\n\t             * @example\n\t             *\n\t             *     var instance = MyType.create();\n\t             */\n\t            create: function () {\n\t                var instance = this.extend();\n\t                instance.init.apply(instance, arguments);\n\n\t                return instance;\n\t            },\n\n\t            /**\n\t             * Initializes a newly created object.\n\t             * Override this method to add some logic when your objects are created.\n\t             *\n\t             * @example\n\t             *\n\t             *     var MyType = CryptoJS.lib.Base.extend({\n\t             *         init: function () {\n\t             *             // ...\n\t             *         }\n\t             *     });\n\t             */\n\t            init: function () {\n\t            },\n\n\t            /**\n\t             * Copies properties into this object.\n\t             *\n\t             * @param {Object} properties The properties to mix in.\n\t             *\n\t             * @example\n\t             *\n\t             *     MyType.mixIn({\n\t             *         field: 'value'\n\t             *     });\n\t             */\n\t            mixIn: function (properties) {\n\t                for (var propertyName in properties) {\n\t                    if (properties.hasOwnProperty(propertyName)) {\n\t                        this[propertyName] = properties[propertyName];\n\t                    }\n\t                }\n\n\t                // IE won't copy toString using the loop above\n\t                if (properties.hasOwnProperty('toString')) {\n\t                    this.toString = properties.toString;\n\t                }\n\t            },\n\n\t            /**\n\t             * Creates a copy of this object.\n\t             *\n\t             * @return {Object} The clone.\n\t             *\n\t             * @example\n\t             *\n\t             *     var clone = instance.clone();\n\t             */\n\t            clone: function () {\n\t                return this.init.prototype.extend(this);\n\t            }\n\t        };\n\t    }());\n\n\t    /**\n\t     * An array of 32-bit words.\n\t     *\n\t     * @property {Array} words The array of 32-bit words.\n\t     * @property {number} sigBytes The number of significant bytes in this word array.\n\t     */\n\t    var WordArray = C_lib.WordArray = Base.extend({\n\t        /**\n\t         * Initializes a newly created word array.\n\t         *\n\t         * @param {Array} words (Optional) An array of 32-bit words.\n\t         * @param {number} sigBytes (Optional) The number of significant bytes in the words.\n\t         *\n\t         * @example\n\t         *\n\t         *     var wordArray = CryptoJS.lib.WordArray.create();\n\t         *     var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]);\n\t         *     var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6);\n\t         */\n\t        init: function (words, sigBytes) {\n\t            words = this.words = words || [];\n\n\t            if (sigBytes != undefined) {\n\t                this.sigBytes = sigBytes;\n\t            } else {\n\t                this.sigBytes = words.length * 4;\n\t            }\n\t        },\n\n\t        /**\n\t         * Converts this word array to a string.\n\t         *\n\t         * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex\n\t         *\n\t         * @return {string} The stringified word array.\n\t         *\n\t         * @example\n\t         *\n\t         *     var string = wordArray + '';\n\t         *     var string = wordArray.toString();\n\t         *     var string = wordArray.toString(CryptoJS.enc.Utf8);\n\t         */\n\t        toString: function (encoder) {\n\t            return (encoder || Hex).stringify(this);\n\t        },\n\n\t        /**\n\t         * Concatenates a word array to this word array.\n\t         *\n\t         * @param {WordArray} wordArray The word array to append.\n\t         *\n\t         * @return {WordArray} This word array.\n\t         *\n\t         * @example\n\t         *\n\t         *     wordArray1.concat(wordArray2);\n\t         */\n\t        concat: function (wordArray) {\n\t            // Shortcuts\n\t            var thisWords = this.words;\n\t            var thatWords = wordArray.words;\n\t            var thisSigBytes = this.sigBytes;\n\t            var thatSigBytes = wordArray.sigBytes;\n\n\t            // Clamp excess bits\n\t            this.clamp();\n\n\t            // Concat\n\t            if (thisSigBytes % 4) {\n\t                // Copy one byte at a time\n\t                for (var i = 0; i < thatSigBytes; i++) {\n\t                    var thatByte = (thatWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t                    thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8);\n\t                }\n\t            } else {\n\t                // Copy one word at a time\n\t                for (var i = 0; i < thatSigBytes; i += 4) {\n\t                    thisWords[(thisSigBytes + i) >>> 2] = thatWords[i >>> 2];\n\t                }\n\t            }\n\t            this.sigBytes += thatSigBytes;\n\n\t            // Chainable\n\t            return this;\n\t        },\n\n\t        /**\n\t         * Removes insignificant bits.\n\t         *\n\t         * @example\n\t         *\n\t         *     wordArray.clamp();\n\t         */\n\t        clamp: function () {\n\t            // Shortcuts\n\t            var words = this.words;\n\t            var sigBytes = this.sigBytes;\n\n\t            // Clamp\n\t            words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8);\n\t            words.length = Math.ceil(sigBytes / 4);\n\t        },\n\n\t        /**\n\t         * Creates a copy of this word array.\n\t         *\n\t         * @return {WordArray} The clone.\n\t         *\n\t         * @example\n\t         *\n\t         *     var clone = wordArray.clone();\n\t         */\n\t        clone: function () {\n\t            var clone = Base.clone.call(this);\n\t            clone.words = this.words.slice(0);\n\n\t            return clone;\n\t        },\n\n\t        /**\n\t         * Creates a word array filled with random bytes.\n\t         *\n\t         * @param {number} nBytes The number of random bytes to generate.\n\t         *\n\t         * @return {WordArray} The random word array.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var wordArray = CryptoJS.lib.WordArray.random(16);\n\t         */\n\t        random: function (nBytes) {\n\t            var words = [];\n\n\t            var r = (function (m_w) {\n\t                var m_w = m_w;\n\t                var m_z = 0x3ade68b1;\n\t                var mask = 0xffffffff;\n\n\t                return function () {\n\t                    m_z = (0x9069 * (m_z & 0xFFFF) + (m_z >> 0x10)) & mask;\n\t                    m_w = (0x4650 * (m_w & 0xFFFF) + (m_w >> 0x10)) & mask;\n\t                    var result = ((m_z << 0x10) + m_w) & mask;\n\t                    result /= 0x100000000;\n\t                    result += 0.5;\n\t                    return result * (Math.random() > .5 ? 1 : -1);\n\t                }\n\t            });\n\n\t            for (var i = 0, rcache; i < nBytes; i += 4) {\n\t                var _r = r((rcache || Math.random()) * 0x100000000);\n\n\t                rcache = _r() * 0x3ade67b7;\n\t                words.push((_r() * 0x100000000) | 0);\n\t            }\n\n\t            return new WordArray.init(words, nBytes);\n\t        }\n\t    });\n\n\t    /**\n\t     * Encoder namespace.\n\t     */\n\t    var C_enc = C.enc = {};\n\n\t    /**\n\t     * Hex encoding strategy.\n\t     */\n\t    var Hex = C_enc.Hex = {\n\t        /**\n\t         * Converts a word array to a hex string.\n\t         *\n\t         * @param {WordArray} wordArray The word array.\n\t         *\n\t         * @return {string} The hex string.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var hexString = CryptoJS.enc.Hex.stringify(wordArray);\n\t         */\n\t        stringify: function (wordArray) {\n\t            // Shortcuts\n\t            var words = wordArray.words;\n\t            var sigBytes = wordArray.sigBytes;\n\n\t            // Convert\n\t            var hexChars = [];\n\t            for (var i = 0; i < sigBytes; i++) {\n\t                var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t                hexChars.push((bite >>> 4).toString(16));\n\t                hexChars.push((bite & 0x0f).toString(16));\n\t            }\n\n\t            return hexChars.join('');\n\t        },\n\n\t        /**\n\t         * Converts a hex string to a word array.\n\t         *\n\t         * @param {string} hexStr The hex string.\n\t         *\n\t         * @return {WordArray} The word array.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var wordArray = CryptoJS.enc.Hex.parse(hexString);\n\t         */\n\t        parse: function (hexStr) {\n\t            // Shortcut\n\t            var hexStrLength = hexStr.length;\n\n\t            // Convert\n\t            var words = [];\n\t            for (var i = 0; i < hexStrLength; i += 2) {\n\t                words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4);\n\t            }\n\n\t            return new WordArray.init(words, hexStrLength / 2);\n\t        }\n\t    };\n\n\t    /**\n\t     * Latin1 encoding strategy.\n\t     */\n\t    var Latin1 = C_enc.Latin1 = {\n\t        /**\n\t         * Converts a word array to a Latin1 string.\n\t         *\n\t         * @param {WordArray} wordArray The word array.\n\t         *\n\t         * @return {string} The Latin1 string.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);\n\t         */\n\t        stringify: function (wordArray) {\n\t            // Shortcuts\n\t            var words = wordArray.words;\n\t            var sigBytes = wordArray.sigBytes;\n\n\t            // Convert\n\t            var latin1Chars = [];\n\t            for (var i = 0; i < sigBytes; i++) {\n\t                var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t                latin1Chars.push(String.fromCharCode(bite));\n\t            }\n\n\t            return latin1Chars.join('');\n\t        },\n\n\t        /**\n\t         * Converts a Latin1 string to a word array.\n\t         *\n\t         * @param {string} latin1Str The Latin1 string.\n\t         *\n\t         * @return {WordArray} The word array.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var wordArray = CryptoJS.enc.Latin1.parse(latin1String);\n\t         */\n\t        parse: function (latin1Str) {\n\t            // Shortcut\n\t            var latin1StrLength = latin1Str.length;\n\n\t            // Convert\n\t            var words = [];\n\t            for (var i = 0; i < latin1StrLength; i++) {\n\t                words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8);\n\t            }\n\n\t            return new WordArray.init(words, latin1StrLength);\n\t        }\n\t    };\n\n\t    /**\n\t     * UTF-8 encoding strategy.\n\t     */\n\t    var Utf8 = C_enc.Utf8 = {\n\t        /**\n\t         * Converts a word array to a UTF-8 string.\n\t         *\n\t         * @param {WordArray} wordArray The word array.\n\t         *\n\t         * @return {string} The UTF-8 string.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);\n\t         */\n\t        stringify: function (wordArray) {\n\t            try {\n\t                return decodeURIComponent(escape(Latin1.stringify(wordArray)));\n\t            } catch (e) {\n\t                throw new Error('Malformed UTF-8 data');\n\t            }\n\t        },\n\n\t        /**\n\t         * Converts a UTF-8 string to a word array.\n\t         *\n\t         * @param {string} utf8Str The UTF-8 string.\n\t         *\n\t         * @return {WordArray} The word array.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var wordArray = CryptoJS.enc.Utf8.parse(utf8String);\n\t         */\n\t        parse: function (utf8Str) {\n\t            return Latin1.parse(unescape(encodeURIComponent(utf8Str)));\n\t        }\n\t    };\n\n\t    /**\n\t     * Abstract buffered block algorithm template.\n\t     *\n\t     * The property blockSize must be implemented in a concrete subtype.\n\t     *\n\t     * @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0\n\t     */\n\t    var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({\n\t        /**\n\t         * Resets this block algorithm's data buffer to its initial state.\n\t         *\n\t         * @example\n\t         *\n\t         *     bufferedBlockAlgorithm.reset();\n\t         */\n\t        reset: function () {\n\t            // Initial values\n\t            this._data = new WordArray.init();\n\t            this._nDataBytes = 0;\n\t        },\n\n\t        /**\n\t         * Adds new data to this block algorithm's buffer.\n\t         *\n\t         * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8.\n\t         *\n\t         * @example\n\t         *\n\t         *     bufferedBlockAlgorithm._append('data');\n\t         *     bufferedBlockAlgorithm._append(wordArray);\n\t         */\n\t        _append: function (data) {\n\t            // Convert string to WordArray, else assume WordArray already\n\t            if (typeof data == 'string') {\n\t                data = Utf8.parse(data);\n\t            }\n\n\t            // Append\n\t            this._data.concat(data);\n\t            this._nDataBytes += data.sigBytes;\n\t        },\n\n\t        /**\n\t         * Processes available data blocks.\n\t         *\n\t         * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.\n\t         *\n\t         * @param {boolean} doFlush Whether all blocks and partial blocks should be processed.\n\t         *\n\t         * @return {WordArray} The processed data.\n\t         *\n\t         * @example\n\t         *\n\t         *     var processedData = bufferedBlockAlgorithm._process();\n\t         *     var processedData = bufferedBlockAlgorithm._process(!!'flush');\n\t         */\n\t        _process: function (doFlush) {\n\t            // Shortcuts\n\t            var data = this._data;\n\t            var dataWords = data.words;\n\t            var dataSigBytes = data.sigBytes;\n\t            var blockSize = this.blockSize;\n\t            var blockSizeBytes = blockSize * 4;\n\n\t            // Count blocks ready\n\t            var nBlocksReady = dataSigBytes / blockSizeBytes;\n\t            if (doFlush) {\n\t                // Round up to include partial blocks\n\t                nBlocksReady = Math.ceil(nBlocksReady);\n\t            } else {\n\t                // Round down to include only full blocks,\n\t                // less the number of blocks that must remain in the buffer\n\t                nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);\n\t            }\n\n\t            // Count words ready\n\t            var nWordsReady = nBlocksReady * blockSize;\n\n\t            // Count bytes ready\n\t            var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);\n\n\t            // Process blocks\n\t            if (nWordsReady) {\n\t                for (var offset = 0; offset < nWordsReady; offset += blockSize) {\n\t                    // Perform concrete-algorithm logic\n\t                    this._doProcessBlock(dataWords, offset);\n\t                }\n\n\t                // Remove processed words\n\t                var processedWords = dataWords.splice(0, nWordsReady);\n\t                data.sigBytes -= nBytesReady;\n\t            }\n\n\t            // Return processed words\n\t            return new WordArray.init(processedWords, nBytesReady);\n\t        },\n\n\t        /**\n\t         * Creates a copy of this object.\n\t         *\n\t         * @return {Object} The clone.\n\t         *\n\t         * @example\n\t         *\n\t         *     var clone = bufferedBlockAlgorithm.clone();\n\t         */\n\t        clone: function () {\n\t            var clone = Base.clone.call(this);\n\t            clone._data = this._data.clone();\n\n\t            return clone;\n\t        },\n\n\t        _minBufferSize: 0\n\t    });\n\n\t    /**\n\t     * Abstract hasher template.\n\t     *\n\t     * @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits)\n\t     */\n\t    var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({\n\t        /**\n\t         * Configuration options.\n\t         */\n\t        cfg: Base.extend(),\n\n\t        /**\n\t         * Initializes a newly created hasher.\n\t         *\n\t         * @param {Object} cfg (Optional) The configuration options to use for this hash computation.\n\t         *\n\t         * @example\n\t         *\n\t         *     var hasher = CryptoJS.algo.SHA256.create();\n\t         */\n\t        init: function (cfg) {\n\t            // Apply config defaults\n\t            this.cfg = this.cfg.extend(cfg);\n\n\t            // Set initial values\n\t            this.reset();\n\t        },\n\n\t        /**\n\t         * Resets this hasher to its initial state.\n\t         *\n\t         * @example\n\t         *\n\t         *     hasher.reset();\n\t         */\n\t        reset: function () {\n\t            // Reset data buffer\n\t            BufferedBlockAlgorithm.reset.call(this);\n\n\t            // Perform concrete-hasher logic\n\t            this._doReset();\n\t        },\n\n\t        /**\n\t         * Updates this hasher with a message.\n\t         *\n\t         * @param {WordArray|string} messageUpdate The message to append.\n\t         *\n\t         * @return {Hasher} This hasher.\n\t         *\n\t         * @example\n\t         *\n\t         *     hasher.update('message');\n\t         *     hasher.update(wordArray);\n\t         */\n\t        update: function (messageUpdate) {\n\t            // Append\n\t            this._append(messageUpdate);\n\n\t            // Update the hash\n\t            this._process();\n\n\t            // Chainable\n\t            return this;\n\t        },\n\n\t        /**\n\t         * Finalizes the hash computation.\n\t         * Note that the finalize operation is effectively a destructive, read-once operation.\n\t         *\n\t         * @param {WordArray|string} messageUpdate (Optional) A final message update.\n\t         *\n\t         * @return {WordArray} The hash.\n\t         *\n\t         * @example\n\t         *\n\t         *     var hash = hasher.finalize();\n\t         *     var hash = hasher.finalize('message');\n\t         *     var hash = hasher.finalize(wordArray);\n\t         */\n\t        finalize: function (messageUpdate) {\n\t            // Final message update\n\t            if (messageUpdate) {\n\t                this._append(messageUpdate);\n\t            }\n\n\t            // Perform concrete-hasher logic\n\t            var hash = this._doFinalize();\n\n\t            return hash;\n\t        },\n\n\t        blockSize: 512/32,\n\n\t        /**\n\t         * Creates a shortcut function to a hasher's object interface.\n\t         *\n\t         * @param {Hasher} hasher The hasher to create a helper for.\n\t         *\n\t         * @return {Function} The shortcut function.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256);\n\t         */\n\t        _createHelper: function (hasher) {\n\t            return function (message, cfg) {\n\t                return new hasher.init(cfg).finalize(message);\n\t            };\n\t        },\n\n\t        /**\n\t         * Creates a shortcut function to the HMAC's object interface.\n\t         *\n\t         * @param {Hasher} hasher The hasher to use in this HMAC helper.\n\t         *\n\t         * @return {Function} The shortcut function.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256);\n\t         */\n\t        _createHmacHelper: function (hasher) {\n\t            return function (message, key) {\n\t                return new C_algo.HMAC.init(hasher, key).finalize(message);\n\t            };\n\t        }\n\t    });\n\n\t    /**\n\t     * Algorithm namespace.\n\t     */\n\t    var C_algo = C.algo = {};\n\n\t    return C;\n\t}(Math));\n\n\n\treturn CryptoJS;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t    // Shortcuts\n\t    var C = CryptoJS;\n\t    var C_lib = C.lib;\n\t    var WordArray = C_lib.WordArray;\n\t    var C_enc = C.enc;\n\n\t    /**\n\t     * Base64 encoding strategy.\n\t     */\n\t    var Base64 = C_enc.Base64 = {\n\t        /**\n\t         * Converts a word array to a Base64 string.\n\t         *\n\t         * @param {WordArray} wordArray The word array.\n\t         *\n\t         * @return {string} The Base64 string.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var base64String = CryptoJS.enc.Base64.stringify(wordArray);\n\t         */\n\t        stringify: function (wordArray) {\n\t            // Shortcuts\n\t            var words = wordArray.words;\n\t            var sigBytes = wordArray.sigBytes;\n\t            var map = this._map;\n\n\t            // Clamp excess bits\n\t            wordArray.clamp();\n\n\t            // Convert\n\t            var base64Chars = [];\n\t            for (var i = 0; i < sigBytes; i += 3) {\n\t                var byte1 = (words[i >>> 2]       >>> (24 - (i % 4) * 8))       & 0xff;\n\t                var byte2 = (words[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff;\n\t                var byte3 = (words[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff;\n\n\t                var triplet = (byte1 << 16) | (byte2 << 8) | byte3;\n\n\t                for (var j = 0; (j < 4) && (i + j * 0.75 < sigBytes); j++) {\n\t                    base64Chars.push(map.charAt((triplet >>> (6 * (3 - j))) & 0x3f));\n\t                }\n\t            }\n\n\t            // Add padding\n\t            var paddingChar = map.charAt(64);\n\t            if (paddingChar) {\n\t                while (base64Chars.length % 4) {\n\t                    base64Chars.push(paddingChar);\n\t                }\n\t            }\n\n\t            return base64Chars.join('');\n\t        },\n\n\t        /**\n\t         * Converts a Base64 string to a word array.\n\t         *\n\t         * @param {string} base64Str The Base64 string.\n\t         *\n\t         * @return {WordArray} The word array.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var wordArray = CryptoJS.enc.Base64.parse(base64String);\n\t         */\n\t        parse: function (base64Str) {\n\t            // Shortcuts\n\t            var base64StrLength = base64Str.length;\n\t            var map = this._map;\n\t            var reverseMap = this._reverseMap;\n\n\t            if (!reverseMap) {\n\t                    reverseMap = this._reverseMap = [];\n\t                    for (var j = 0; j < map.length; j++) {\n\t                        reverseMap[map.charCodeAt(j)] = j;\n\t                    }\n\t            }\n\n\t            // Ignore padding\n\t            var paddingChar = map.charAt(64);\n\t            if (paddingChar) {\n\t                var paddingIndex = base64Str.indexOf(paddingChar);\n\t                if (paddingIndex !== -1) {\n\t                    base64StrLength = paddingIndex;\n\t                }\n\t            }\n\n\t            // Convert\n\t            return parseLoop(base64Str, base64StrLength, reverseMap);\n\n\t        },\n\n\t        _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='\n\t    };\n\n\t    function parseLoop(base64Str, base64StrLength, reverseMap) {\n\t      var words = [];\n\t      var nBytes = 0;\n\t      for (var i = 0; i < base64StrLength; i++) {\n\t          if (i % 4) {\n\t              var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << ((i % 4) * 2);\n\t              var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> (6 - (i % 4) * 2);\n\t              words[nBytes >>> 2] |= (bits1 | bits2) << (24 - (nBytes % 4) * 8);\n\t              nBytes++;\n\t          }\n\t      }\n\t      return WordArray.create(words, nBytes);\n\t    }\n\t}());\n\n\n\treturn CryptoJS.enc.Base64;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\treturn CryptoJS.enc.Utf8;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (Math) {\n\t    // Shortcuts\n\t    var C = CryptoJS;\n\t    var C_lib = C.lib;\n\t    var WordArray = C_lib.WordArray;\n\t    var Hasher = C_lib.Hasher;\n\t    var C_algo = C.algo;\n\n\t    // Constants table\n\t    var T = [];\n\n\t    // Compute constants\n\t    (function () {\n\t        for (var i = 0; i < 64; i++) {\n\t            T[i] = (Math.abs(Math.sin(i + 1)) * 0x100000000) | 0;\n\t        }\n\t    }());\n\n\t    /**\n\t     * MD5 hash algorithm.\n\t     */\n\t    var MD5 = C_algo.MD5 = Hasher.extend({\n\t        _doReset: function () {\n\t            this._hash = new WordArray.init([\n\t                0x67452301, 0xefcdab89,\n\t                0x98badcfe, 0x10325476\n\t            ]);\n\t        },\n\n\t        _doProcessBlock: function (M, offset) {\n\t            // Swap endian\n\t            for (var i = 0; i < 16; i++) {\n\t                // Shortcuts\n\t                var offset_i = offset + i;\n\t                var M_offset_i = M[offset_i];\n\n\t                M[offset_i] = (\n\t                    (((M_offset_i << 8)  | (M_offset_i >>> 24)) & 0x00ff00ff) |\n\t                    (((M_offset_i << 24) | (M_offset_i >>> 8))  & 0xff00ff00)\n\t                );\n\t            }\n\n\t            // Shortcuts\n\t            var H = this._hash.words;\n\n\t            var M_offset_0  = M[offset + 0];\n\t            var M_offset_1  = M[offset + 1];\n\t            var M_offset_2  = M[offset + 2];\n\t            var M_offset_3  = M[offset + 3];\n\t            var M_offset_4  = M[offset + 4];\n\t            var M_offset_5  = M[offset + 5];\n\t            var M_offset_6  = M[offset + 6];\n\t            var M_offset_7  = M[offset + 7];\n\t            var M_offset_8  = M[offset + 8];\n\t            var M_offset_9  = M[offset + 9];\n\t            var M_offset_10 = M[offset + 10];\n\t            var M_offset_11 = M[offset + 11];\n\t            var M_offset_12 = M[offset + 12];\n\t            var M_offset_13 = M[offset + 13];\n\t            var M_offset_14 = M[offset + 14];\n\t            var M_offset_15 = M[offset + 15];\n\n\t            // Working varialbes\n\t            var a = H[0];\n\t            var b = H[1];\n\t            var c = H[2];\n\t            var d = H[3];\n\n\t            // Computation\n\t            a = FF(a, b, c, d, M_offset_0,  7,  T[0]);\n\t            d = FF(d, a, b, c, M_offset_1,  12, T[1]);\n\t            c = FF(c, d, a, b, M_offset_2,  17, T[2]);\n\t            b = FF(b, c, d, a, M_offset_3,  22, T[3]);\n\t            a = FF(a, b, c, d, M_offset_4,  7,  T[4]);\n\t            d = FF(d, a, b, c, M_offset_5,  12, T[5]);\n\t            c = FF(c, d, a, b, M_offset_6,  17, T[6]);\n\t            b = FF(b, c, d, a, M_offset_7,  22, T[7]);\n\t            a = FF(a, b, c, d, M_offset_8,  7,  T[8]);\n\t            d = FF(d, a, b, c, M_offset_9,  12, T[9]);\n\t            c = FF(c, d, a, b, M_offset_10, 17, T[10]);\n\t            b = FF(b, c, d, a, M_offset_11, 22, T[11]);\n\t            a = FF(a, b, c, d, M_offset_12, 7,  T[12]);\n\t            d = FF(d, a, b, c, M_offset_13, 12, T[13]);\n\t            c = FF(c, d, a, b, M_offset_14, 17, T[14]);\n\t            b = FF(b, c, d, a, M_offset_15, 22, T[15]);\n\n\t            a = GG(a, b, c, d, M_offset_1,  5,  T[16]);\n\t            d = GG(d, a, b, c, M_offset_6,  9,  T[17]);\n\t            c = GG(c, d, a, b, M_offset_11, 14, T[18]);\n\t            b = GG(b, c, d, a, M_offset_0,  20, T[19]);\n\t            a = GG(a, b, c, d, M_offset_5,  5,  T[20]);\n\t            d = GG(d, a, b, c, M_offset_10, 9,  T[21]);\n\t            c = GG(c, d, a, b, M_offset_15, 14, T[22]);\n\t            b = GG(b, c, d, a, M_offset_4,  20, T[23]);\n\t            a = GG(a, b, c, d, M_offset_9,  5,  T[24]);\n\t            d = GG(d, a, b, c, M_offset_14, 9,  T[25]);\n\t            c = GG(c, d, a, b, M_offset_3,  14, T[26]);\n\t            b = GG(b, c, d, a, M_offset_8,  20, T[27]);\n\t            a = GG(a, b, c, d, M_offset_13, 5,  T[28]);\n\t            d = GG(d, a, b, c, M_offset_2,  9,  T[29]);\n\t            c = GG(c, d, a, b, M_offset_7,  14, T[30]);\n\t            b = GG(b, c, d, a, M_offset_12, 20, T[31]);\n\n\t            a = HH(a, b, c, d, M_offset_5,  4,  T[32]);\n\t            d = HH(d, a, b, c, M_offset_8,  11, T[33]);\n\t            c = HH(c, d, a, b, M_offset_11, 16, T[34]);\n\t            b = HH(b, c, d, a, M_offset_14, 23, T[35]);\n\t            a = HH(a, b, c, d, M_offset_1,  4,  T[36]);\n\t            d = HH(d, a, b, c, M_offset_4,  11, T[37]);\n\t            c = HH(c, d, a, b, M_offset_7,  16, T[38]);\n\t            b = HH(b, c, d, a, M_offset_10, 23, T[39]);\n\t            a = HH(a, b, c, d, M_offset_13, 4,  T[40]);\n\t            d = HH(d, a, b, c, M_offset_0,  11, T[41]);\n\t            c = HH(c, d, a, b, M_offset_3,  16, T[42]);\n\t            b = HH(b, c, d, a, M_offset_6,  23, T[43]);\n\t            a = HH(a, b, c, d, M_offset_9,  4,  T[44]);\n\t            d = HH(d, a, b, c, M_offset_12, 11, T[45]);\n\t            c = HH(c, d, a, b, M_offset_15, 16, T[46]);\n\t            b = HH(b, c, d, a, M_offset_2,  23, T[47]);\n\n\t            a = II(a, b, c, d, M_offset_0,  6,  T[48]);\n\t            d = II(d, a, b, c, M_offset_7,  10, T[49]);\n\t            c = II(c, d, a, b, M_offset_14, 15, T[50]);\n\t            b = II(b, c, d, a, M_offset_5,  21, T[51]);\n\t            a = II(a, b, c, d, M_offset_12, 6,  T[52]);\n\t            d = II(d, a, b, c, M_offset_3,  10, T[53]);\n\t            c = II(c, d, a, b, M_offset_10, 15, T[54]);\n\t            b = II(b, c, d, a, M_offset_1,  21, T[55]);\n\t            a = II(a, b, c, d, M_offset_8,  6,  T[56]);\n\t            d = II(d, a, b, c, M_offset_15, 10, T[57]);\n\t            c = II(c, d, a, b, M_offset_6,  15, T[58]);\n\t            b = II(b, c, d, a, M_offset_13, 21, T[59]);\n\t            a = II(a, b, c, d, M_offset_4,  6,  T[60]);\n\t            d = II(d, a, b, c, M_offset_11, 10, T[61]);\n\t            c = II(c, d, a, b, M_offset_2,  15, T[62]);\n\t            b = II(b, c, d, a, M_offset_9,  21, T[63]);\n\n\t            // Intermediate hash value\n\t            H[0] = (H[0] + a) | 0;\n\t            H[1] = (H[1] + b) | 0;\n\t            H[2] = (H[2] + c) | 0;\n\t            H[3] = (H[3] + d) | 0;\n\t        },\n\n\t        _doFinalize: function () {\n\t            // Shortcuts\n\t            var data = this._data;\n\t            var dataWords = data.words;\n\n\t            var nBitsTotal = this._nDataBytes * 8;\n\t            var nBitsLeft = data.sigBytes * 8;\n\n\t            // Add padding\n\t            dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\n\t            var nBitsTotalH = Math.floor(nBitsTotal / 0x100000000);\n\t            var nBitsTotalL = nBitsTotal;\n\t            dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = (\n\t                (((nBitsTotalH << 8)  | (nBitsTotalH >>> 24)) & 0x00ff00ff) |\n\t                (((nBitsTotalH << 24) | (nBitsTotalH >>> 8))  & 0xff00ff00)\n\t            );\n\t            dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = (\n\t                (((nBitsTotalL << 8)  | (nBitsTotalL >>> 24)) & 0x00ff00ff) |\n\t                (((nBitsTotalL << 24) | (nBitsTotalL >>> 8))  & 0xff00ff00)\n\t            );\n\n\t            data.sigBytes = (dataWords.length + 1) * 4;\n\n\t            // Hash final blocks\n\t            this._process();\n\n\t            // Shortcuts\n\t            var hash = this._hash;\n\t            var H = hash.words;\n\n\t            // Swap endian\n\t            for (var i = 0; i < 4; i++) {\n\t                // Shortcut\n\t                var H_i = H[i];\n\n\t                H[i] = (((H_i << 8)  | (H_i >>> 24)) & 0x00ff00ff) |\n\t                       (((H_i << 24) | (H_i >>> 8))  & 0xff00ff00);\n\t            }\n\n\t            // Return final computed hash\n\t            return hash;\n\t        },\n\n\t        clone: function () {\n\t            var clone = Hasher.clone.call(this);\n\t            clone._hash = this._hash.clone();\n\n\t            return clone;\n\t        }\n\t    });\n\n\t    function FF(a, b, c, d, x, s, t) {\n\t        var n = a + ((b & c) | (~b & d)) + x + t;\n\t        return ((n << s) | (n >>> (32 - s))) + b;\n\t    }\n\n\t    function GG(a, b, c, d, x, s, t) {\n\t        var n = a + ((b & d) | (c & ~d)) + x + t;\n\t        return ((n << s) | (n >>> (32 - s))) + b;\n\t    }\n\n\t    function HH(a, b, c, d, x, s, t) {\n\t        var n = a + (b ^ c ^ d) + x + t;\n\t        return ((n << s) | (n >>> (32 - s))) + b;\n\t    }\n\n\t    function II(a, b, c, d, x, s, t) {\n\t        var n = a + (c ^ (b | ~d)) + x + t;\n\t        return ((n << s) | (n >>> (32 - s))) + b;\n\t    }\n\n\t    /**\n\t     * Shortcut function to the hasher's object interface.\n\t     *\n\t     * @param {WordArray|string} message The message to hash.\n\t     *\n\t     * @return {WordArray} The hash.\n\t     *\n\t     * @static\n\t     *\n\t     * @example\n\t     *\n\t     *     var hash = CryptoJS.MD5('message');\n\t     *     var hash = CryptoJS.MD5(wordArray);\n\t     */\n\t    C.MD5 = Hasher._createHelper(MD5);\n\n\t    /**\n\t     * Shortcut function to the HMAC's object interface.\n\t     *\n\t     * @param {WordArray|string} message The message to hash.\n\t     * @param {WordArray|string} key The secret key.\n\t     *\n\t     * @return {WordArray} The HMAC.\n\t     *\n\t     * @static\n\t     *\n\t     * @example\n\t     *\n\t     *     var hmac = CryptoJS.HmacMD5(message, key);\n\t     */\n\t    C.HmacMD5 = Hasher._createHmacHelper(MD5);\n\t}(Math));\n\n\n\treturn CryptoJS.MD5;\n\n}));","/**\n * cuid.js\n * Collision-resistant UID generator for browsers and node.\n * Sequential for fast db lookups and recency sorting.\n * Safe for element IDs and server-side lookups.\n *\n * Extracted from CLCTR\n *\n * Copyright (c) Eric Elliott 2012\n * MIT License\n */\n\nvar fingerprint = require('./lib/fingerprint.js');\nvar pad = require('./lib/pad.js');\nvar getRandomValue = require('./lib/getRandomValue.js');\n\nvar c = 0,\n  blockSize = 4,\n  base = 36,\n  discreteValues = Math.pow(base, blockSize);\n\nfunction randomBlock () {\n  return pad((getRandomValue() *\n    discreteValues << 0)\n    .toString(base), blockSize);\n}\n\nfunction safeCounter () {\n  c = c < discreteValues ? c : 0;\n  c++; // this is not subliminal\n  return c - 1;\n}\n\nfunction cuid () {\n  // Starting with a lowercase letter makes\n  // it HTML element ID friendly.\n  var letter = 'c', // hard-coded allows for sequential access\n\n    // timestamp\n    // warning: this exposes the exact date and time\n    // that the uid was created.\n    timestamp = (new Date().getTime()).toString(base),\n\n    // Prevent same-machine collisions.\n    counter = pad(safeCounter().toString(base), blockSize),\n\n    // A few chars to generate distinct ids for different\n    // clients (so different computers are far less\n    // likely to generate the same id)\n    print = fingerprint(),\n\n    // Grab some more chars from Math.random()\n    random = randomBlock() + randomBlock();\n\n  return letter + timestamp + counter + print + random;\n}\n\ncuid.slug = function slug () {\n  var date = new Date().getTime().toString(36),\n    counter = safeCounter().toString(36).slice(-4),\n    print = fingerprint().slice(0, 1) +\n      fingerprint().slice(-1),\n    random = randomBlock().slice(-2);\n\n  return date.slice(-2) +\n    counter + print + random;\n};\n\ncuid.isCuid = function isCuid (stringToCheck) {\n  if (typeof stringToCheck !== 'string') return false;\n  if (stringToCheck.startsWith('c')) return true;\n  return false;\n};\n\ncuid.isSlug = function isSlug (stringToCheck) {\n  if (typeof stringToCheck !== 'string') return false;\n  var stringLength = stringToCheck.length;\n  if (stringLength >= 7 && stringLength <= 10) return true;\n  return false;\n};\n\ncuid.fingerprint = fingerprint;\n\nmodule.exports = cuid;\n","var pad = require('./pad.js');\n\nvar env = typeof window === 'object' ? window : self;\nvar globalCount = Object.keys(env).length;\nvar mimeTypesLength = navigator.mimeTypes ? navigator.mimeTypes.length : 0;\nvar clientId = pad((mimeTypesLength +\n  navigator.userAgent.length).toString(36) +\n  globalCount.toString(36), 4);\n\nmodule.exports = function fingerprint () {\n  return clientId;\n};\n","\nvar getRandomValue;\n\nvar crypto = typeof window !== 'undefined' &&\n  (window.crypto || window.msCrypto) ||\n  typeof self !== 'undefined' &&\n  self.crypto;\n\nif (crypto) {\n    var lim = Math.pow(2, 32) - 1;\n    getRandomValue = function () {\n        return Math.abs(crypto.getRandomValues(new Uint32Array(1))[0] / lim);\n    };\n} else {\n    getRandomValue = Math.random;\n}\n\nmodule.exports = getRandomValue;\n","module.exports = function pad (num, size) {\n  var s = '000000000' + num;\n  return s.substr(s.length - size);\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = addLeadingZeros;\nfunction addLeadingZeros(number, targetLength) {\n  var sign = number < 0 ? '-' : '';\n  var output = Math.abs(number).toString();\n  while (output.length < targetLength) {\n    output = '0' + output;\n  }\n  return sign + output;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = assign;\nfunction assign(target, object) {\n  if (target == null) {\n    throw new TypeError('assign requires that input parameter not be null or undefined');\n  }\n  for (var property in object) {\n    if (Object.prototype.hasOwnProperty.call(object, property)) {\n      ;\n      target[property] = object[property];\n    }\n  }\n  return target;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = cloneObject;\nvar _index = _interopRequireDefault(require(\"../assign/index.js\"));\nfunction cloneObject(object) {\n  return (0, _index.default)({}, object);\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar _index = _interopRequireDefault(require(\"../../locale/en-US/index.js\"));\nvar _default = _index.default;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.getDefaultOptions = getDefaultOptions;\nexports.setDefaultOptions = setDefaultOptions;\nvar defaultOptions = {};\nfunction getDefaultOptions() {\n  return defaultOptions;\n}\nfunction setDefaultOptions(newOptions) {\n  defaultOptions = newOptions;\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar _index = _interopRequireDefault(require(\"../../../_lib/getUTCDayOfYear/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"../../../_lib/getUTCISOWeek/index.js\"));\nvar _index3 = _interopRequireDefault(require(\"../../../_lib/getUTCISOWeekYear/index.js\"));\nvar _index4 = _interopRequireDefault(require(\"../../../_lib/getUTCWeek/index.js\"));\nvar _index5 = _interopRequireDefault(require(\"../../../_lib/getUTCWeekYear/index.js\"));\nvar _index6 = _interopRequireDefault(require(\"../../addLeadingZeros/index.js\"));\nvar _index7 = _interopRequireDefault(require(\"../lightFormatters/index.js\"));\nvar dayPeriodEnum = {\n  am: 'am',\n  pm: 'pm',\n  midnight: 'midnight',\n  noon: 'noon',\n  morning: 'morning',\n  afternoon: 'afternoon',\n  evening: 'evening',\n  night: 'night'\n};\n/*\n * |     | Unit                           |     | Unit                           |\n * |-----|--------------------------------|-----|--------------------------------|\n * |  a  | AM, PM                         |  A* | Milliseconds in day            |\n * |  b  | AM, PM, noon, midnight         |  B  | Flexible day period            |\n * |  c  | Stand-alone local day of week  |  C* | Localized hour w/ day period   |\n * |  d  | Day of month                   |  D  | Day of year                    |\n * |  e  | Local day of week              |  E  | Day of week                    |\n * |  f  |                                |  F* | Day of week in month           |\n * |  g* | Modified Julian day            |  G  | Era                            |\n * |  h  | Hour [1-12]                    |  H  | Hour [0-23]                    |\n * |  i! | ISO day of week                |  I! | ISO week of year               |\n * |  j* | Localized hour w/ day period   |  J* | Localized hour w/o day period  |\n * |  k  | Hour [1-24]                    |  K  | Hour [0-11]                    |\n * |  l* | (deprecated)                   |  L  | Stand-alone month              |\n * |  m  | Minute                         |  M  | Month                          |\n * |  n  |                                |  N  |                                |\n * |  o! | Ordinal number modifier        |  O  | Timezone (GMT)                 |\n * |  p! | Long localized time            |  P! | Long localized date            |\n * |  q  | Stand-alone quarter            |  Q  | Quarter                        |\n * |  r* | Related Gregorian year         |  R! | ISO week-numbering year        |\n * |  s  | Second                         |  S  | Fraction of second             |\n * |  t! | Seconds timestamp              |  T! | Milliseconds timestamp         |\n * |  u  | Extended year                  |  U* | Cyclic year                    |\n * |  v* | Timezone (generic non-locat.)  |  V* | Timezone (location)            |\n * |  w  | Local week of year             |  W* | Week of month                  |\n * |  x  | Timezone (ISO-8601 w/o Z)      |  X  | Timezone (ISO-8601)            |\n * |  y  | Year (abs)                     |  Y  | Local week-numbering year      |\n * |  z  | Timezone (specific non-locat.) |  Z* | Timezone (aliases)             |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n *   i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n *   `R` is supposed to be used in conjunction with `I` and `i`\n *   for universal ISO week-numbering date, whereas\n *   `Y` is supposed to be used in conjunction with `w` and `e`\n *   for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\nvar formatters = {\n  // Era\n  G: function G(date, token, localize) {\n    var era = date.getUTCFullYear() > 0 ? 1 : 0;\n    switch (token) {\n      // AD, BC\n      case 'G':\n      case 'GG':\n      case 'GGG':\n        return localize.era(era, {\n          width: 'abbreviated'\n        });\n      // A, B\n      case 'GGGGG':\n        return localize.era(era, {\n          width: 'narrow'\n        });\n      // Anno Domini, Before Christ\n      case 'GGGG':\n      default:\n        return localize.era(era, {\n          width: 'wide'\n        });\n    }\n  },\n  // Year\n  y: function y(date, token, localize) {\n    // Ordinal number\n    if (token === 'yo') {\n      var signedYear = date.getUTCFullYear();\n      // Returns 1 for 1 BC (which is year 0 in JavaScript)\n      var year = signedYear > 0 ? signedYear : 1 - signedYear;\n      return localize.ordinalNumber(year, {\n        unit: 'year'\n      });\n    }\n    return _index7.default.y(date, token);\n  },\n  // Local week-numbering year\n  Y: function Y(date, token, localize, options) {\n    var signedWeekYear = (0, _index5.default)(date, options);\n    // Returns 1 for 1 BC (which is year 0 in JavaScript)\n    var weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;\n\n    // Two digit year\n    if (token === 'YY') {\n      var twoDigitYear = weekYear % 100;\n      return (0, _index6.default)(twoDigitYear, 2);\n    }\n\n    // Ordinal number\n    if (token === 'Yo') {\n      return localize.ordinalNumber(weekYear, {\n        unit: 'year'\n      });\n    }\n\n    // Padding\n    return (0, _index6.default)(weekYear, token.length);\n  },\n  // ISO week-numbering year\n  R: function R(date, token) {\n    var isoWeekYear = (0, _index3.default)(date);\n\n    // Padding\n    return (0, _index6.default)(isoWeekYear, token.length);\n  },\n  // Extended year. This is a single number designating the year of this calendar system.\n  // The main difference between `y` and `u` localizers are B.C. years:\n  // | Year | `y` | `u` |\n  // |------|-----|-----|\n  // | AC 1 |   1 |   1 |\n  // | BC 1 |   1 |   0 |\n  // | BC 2 |   2 |  -1 |\n  // Also `yy` always returns the last two digits of a year,\n  // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n  u: function u(date, token) {\n    var year = date.getUTCFullYear();\n    return (0, _index6.default)(year, token.length);\n  },\n  // Quarter\n  Q: function Q(date, token, localize) {\n    var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n    switch (token) {\n      // 1, 2, 3, 4\n      case 'Q':\n        return String(quarter);\n      // 01, 02, 03, 04\n      case 'QQ':\n        return (0, _index6.default)(quarter, 2);\n      // 1st, 2nd, 3rd, 4th\n      case 'Qo':\n        return localize.ordinalNumber(quarter, {\n          unit: 'quarter'\n        });\n      // Q1, Q2, Q3, Q4\n      case 'QQQ':\n        return localize.quarter(quarter, {\n          width: 'abbreviated',\n          context: 'formatting'\n        });\n      // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n      case 'QQQQQ':\n        return localize.quarter(quarter, {\n          width: 'narrow',\n          context: 'formatting'\n        });\n      // 1st quarter, 2nd quarter, ...\n      case 'QQQQ':\n      default:\n        return localize.quarter(quarter, {\n          width: 'wide',\n          context: 'formatting'\n        });\n    }\n  },\n  // Stand-alone quarter\n  q: function q(date, token, localize) {\n    var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n    switch (token) {\n      // 1, 2, 3, 4\n      case 'q':\n        return String(quarter);\n      // 01, 02, 03, 04\n      case 'qq':\n        return (0, _index6.default)(quarter, 2);\n      // 1st, 2nd, 3rd, 4th\n      case 'qo':\n        return localize.ordinalNumber(quarter, {\n          unit: 'quarter'\n        });\n      // Q1, Q2, Q3, Q4\n      case 'qqq':\n        return localize.quarter(quarter, {\n          width: 'abbreviated',\n          context: 'standalone'\n        });\n      // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n      case 'qqqqq':\n        return localize.quarter(quarter, {\n          width: 'narrow',\n          context: 'standalone'\n        });\n      // 1st quarter, 2nd quarter, ...\n      case 'qqqq':\n      default:\n        return localize.quarter(quarter, {\n          width: 'wide',\n          context: 'standalone'\n        });\n    }\n  },\n  // Month\n  M: function M(date, token, localize) {\n    var month = date.getUTCMonth();\n    switch (token) {\n      case 'M':\n      case 'MM':\n        return _index7.default.M(date, token);\n      // 1st, 2nd, ..., 12th\n      case 'Mo':\n        return localize.ordinalNumber(month + 1, {\n          unit: 'month'\n        });\n      // Jan, Feb, ..., Dec\n      case 'MMM':\n        return localize.month(month, {\n          width: 'abbreviated',\n          context: 'formatting'\n        });\n      // J, F, ..., D\n      case 'MMMMM':\n        return localize.month(month, {\n          width: 'narrow',\n          context: 'formatting'\n        });\n      // January, February, ..., December\n      case 'MMMM':\n      default:\n        return localize.month(month, {\n          width: 'wide',\n          context: 'formatting'\n        });\n    }\n  },\n  // Stand-alone month\n  L: function L(date, token, localize) {\n    var month = date.getUTCMonth();\n    switch (token) {\n      // 1, 2, ..., 12\n      case 'L':\n        return String(month + 1);\n      // 01, 02, ..., 12\n      case 'LL':\n        return (0, _index6.default)(month + 1, 2);\n      // 1st, 2nd, ..., 12th\n      case 'Lo':\n        return localize.ordinalNumber(month + 1, {\n          unit: 'month'\n        });\n      // Jan, Feb, ..., Dec\n      case 'LLL':\n        return localize.month(month, {\n          width: 'abbreviated',\n          context: 'standalone'\n        });\n      // J, F, ..., D\n      case 'LLLLL':\n        return localize.month(month, {\n          width: 'narrow',\n          context: 'standalone'\n        });\n      // January, February, ..., December\n      case 'LLLL':\n      default:\n        return localize.month(month, {\n          width: 'wide',\n          context: 'standalone'\n        });\n    }\n  },\n  // Local week of year\n  w: function w(date, token, localize, options) {\n    var week = (0, _index4.default)(date, options);\n    if (token === 'wo') {\n      return localize.ordinalNumber(week, {\n        unit: 'week'\n      });\n    }\n    return (0, _index6.default)(week, token.length);\n  },\n  // ISO week of year\n  I: function I(date, token, localize) {\n    var isoWeek = (0, _index2.default)(date);\n    if (token === 'Io') {\n      return localize.ordinalNumber(isoWeek, {\n        unit: 'week'\n      });\n    }\n    return (0, _index6.default)(isoWeek, token.length);\n  },\n  // Day of the month\n  d: function d(date, token, localize) {\n    if (token === 'do') {\n      return localize.ordinalNumber(date.getUTCDate(), {\n        unit: 'date'\n      });\n    }\n    return _index7.default.d(date, token);\n  },\n  // Day of year\n  D: function D(date, token, localize) {\n    var dayOfYear = (0, _index.default)(date);\n    if (token === 'Do') {\n      return localize.ordinalNumber(dayOfYear, {\n        unit: 'dayOfYear'\n      });\n    }\n    return (0, _index6.default)(dayOfYear, token.length);\n  },\n  // Day of week\n  E: function E(date, token, localize) {\n    var dayOfWeek = date.getUTCDay();\n    switch (token) {\n      // Tue\n      case 'E':\n      case 'EE':\n      case 'EEE':\n        return localize.day(dayOfWeek, {\n          width: 'abbreviated',\n          context: 'formatting'\n        });\n      // T\n      case 'EEEEE':\n        return localize.day(dayOfWeek, {\n          width: 'narrow',\n          context: 'formatting'\n        });\n      // Tu\n      case 'EEEEEE':\n        return localize.day(dayOfWeek, {\n          width: 'short',\n          context: 'formatting'\n        });\n      // Tuesday\n      case 'EEEE':\n      default:\n        return localize.day(dayOfWeek, {\n          width: 'wide',\n          context: 'formatting'\n        });\n    }\n  },\n  // Local day of week\n  e: function e(date, token, localize, options) {\n    var dayOfWeek = date.getUTCDay();\n    var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n    switch (token) {\n      // Numerical value (Nth day of week with current locale or weekStartsOn)\n      case 'e':\n        return String(localDayOfWeek);\n      // Padded numerical value\n      case 'ee':\n        return (0, _index6.default)(localDayOfWeek, 2);\n      // 1st, 2nd, ..., 7th\n      case 'eo':\n        return localize.ordinalNumber(localDayOfWeek, {\n          unit: 'day'\n        });\n      case 'eee':\n        return localize.day(dayOfWeek, {\n          width: 'abbreviated',\n          context: 'formatting'\n        });\n      // T\n      case 'eeeee':\n        return localize.day(dayOfWeek, {\n          width: 'narrow',\n          context: 'formatting'\n        });\n      // Tu\n      case 'eeeeee':\n        return localize.day(dayOfWeek, {\n          width: 'short',\n          context: 'formatting'\n        });\n      // Tuesday\n      case 'eeee':\n      default:\n        return localize.day(dayOfWeek, {\n          width: 'wide',\n          context: 'formatting'\n        });\n    }\n  },\n  // Stand-alone local day of week\n  c: function c(date, token, localize, options) {\n    var dayOfWeek = date.getUTCDay();\n    var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n    switch (token) {\n      // Numerical value (same as in `e`)\n      case 'c':\n        return String(localDayOfWeek);\n      // Padded numerical value\n      case 'cc':\n        return (0, _index6.default)(localDayOfWeek, token.length);\n      // 1st, 2nd, ..., 7th\n      case 'co':\n        return localize.ordinalNumber(localDayOfWeek, {\n          unit: 'day'\n        });\n      case 'ccc':\n        return localize.day(dayOfWeek, {\n          width: 'abbreviated',\n          context: 'standalone'\n        });\n      // T\n      case 'ccccc':\n        return localize.day(dayOfWeek, {\n          width: 'narrow',\n          context: 'standalone'\n        });\n      // Tu\n      case 'cccccc':\n        return localize.day(dayOfWeek, {\n          width: 'short',\n          context: 'standalone'\n        });\n      // Tuesday\n      case 'cccc':\n      default:\n        return localize.day(dayOfWeek, {\n          width: 'wide',\n          context: 'standalone'\n        });\n    }\n  },\n  // ISO day of week\n  i: function i(date, token, localize) {\n    var dayOfWeek = date.getUTCDay();\n    var isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n    switch (token) {\n      // 2\n      case 'i':\n        return String(isoDayOfWeek);\n      // 02\n      case 'ii':\n        return (0, _index6.default)(isoDayOfWeek, token.length);\n      // 2nd\n      case 'io':\n        return localize.ordinalNumber(isoDayOfWeek, {\n          unit: 'day'\n        });\n      // Tue\n      case 'iii':\n        return localize.day(dayOfWeek, {\n          width: 'abbreviated',\n          context: 'formatting'\n        });\n      // T\n      case 'iiiii':\n        return localize.day(dayOfWeek, {\n          width: 'narrow',\n          context: 'formatting'\n        });\n      // Tu\n      case 'iiiiii':\n        return localize.day(dayOfWeek, {\n          width: 'short',\n          context: 'formatting'\n        });\n      // Tuesday\n      case 'iiii':\n      default:\n        return localize.day(dayOfWeek, {\n          width: 'wide',\n          context: 'formatting'\n        });\n    }\n  },\n  // AM or PM\n  a: function a(date, token, localize) {\n    var hours = date.getUTCHours();\n    var dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n    switch (token) {\n      case 'a':\n      case 'aa':\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'abbreviated',\n          context: 'formatting'\n        });\n      case 'aaa':\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'abbreviated',\n          context: 'formatting'\n        }).toLowerCase();\n      case 'aaaaa':\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'narrow',\n          context: 'formatting'\n        });\n      case 'aaaa':\n      default:\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'wide',\n          context: 'formatting'\n        });\n    }\n  },\n  // AM, PM, midnight, noon\n  b: function b(date, token, localize) {\n    var hours = date.getUTCHours();\n    var dayPeriodEnumValue;\n    if (hours === 12) {\n      dayPeriodEnumValue = dayPeriodEnum.noon;\n    } else if (hours === 0) {\n      dayPeriodEnumValue = dayPeriodEnum.midnight;\n    } else {\n      dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n    }\n    switch (token) {\n      case 'b':\n      case 'bb':\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'abbreviated',\n          context: 'formatting'\n        });\n      case 'bbb':\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'abbreviated',\n          context: 'formatting'\n        }).toLowerCase();\n      case 'bbbbb':\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'narrow',\n          context: 'formatting'\n        });\n      case 'bbbb':\n      default:\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'wide',\n          context: 'formatting'\n        });\n    }\n  },\n  // in the morning, in the afternoon, in the evening, at night\n  B: function B(date, token, localize) {\n    var hours = date.getUTCHours();\n    var dayPeriodEnumValue;\n    if (hours >= 17) {\n      dayPeriodEnumValue = dayPeriodEnum.evening;\n    } else if (hours >= 12) {\n      dayPeriodEnumValue = dayPeriodEnum.afternoon;\n    } else if (hours >= 4) {\n      dayPeriodEnumValue = dayPeriodEnum.morning;\n    } else {\n      dayPeriodEnumValue = dayPeriodEnum.night;\n    }\n    switch (token) {\n      case 'B':\n      case 'BB':\n      case 'BBB':\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'abbreviated',\n          context: 'formatting'\n        });\n      case 'BBBBB':\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'narrow',\n          context: 'formatting'\n        });\n      case 'BBBB':\n      default:\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'wide',\n          context: 'formatting'\n        });\n    }\n  },\n  // Hour [1-12]\n  h: function h(date, token, localize) {\n    if (token === 'ho') {\n      var hours = date.getUTCHours() % 12;\n      if (hours === 0) hours = 12;\n      return localize.ordinalNumber(hours, {\n        unit: 'hour'\n      });\n    }\n    return _index7.default.h(date, token);\n  },\n  // Hour [0-23]\n  H: function H(date, token, localize) {\n    if (token === 'Ho') {\n      return localize.ordinalNumber(date.getUTCHours(), {\n        unit: 'hour'\n      });\n    }\n    return _index7.default.H(date, token);\n  },\n  // Hour [0-11]\n  K: function K(date, token, localize) {\n    var hours = date.getUTCHours() % 12;\n    if (token === 'Ko') {\n      return localize.ordinalNumber(hours, {\n        unit: 'hour'\n      });\n    }\n    return (0, _index6.default)(hours, token.length);\n  },\n  // Hour [1-24]\n  k: function k(date, token, localize) {\n    var hours = date.getUTCHours();\n    if (hours === 0) hours = 24;\n    if (token === 'ko') {\n      return localize.ordinalNumber(hours, {\n        unit: 'hour'\n      });\n    }\n    return (0, _index6.default)(hours, token.length);\n  },\n  // Minute\n  m: function m(date, token, localize) {\n    if (token === 'mo') {\n      return localize.ordinalNumber(date.getUTCMinutes(), {\n        unit: 'minute'\n      });\n    }\n    return _index7.default.m(date, token);\n  },\n  // Second\n  s: function s(date, token, localize) {\n    if (token === 'so') {\n      return localize.ordinalNumber(date.getUTCSeconds(), {\n        unit: 'second'\n      });\n    }\n    return _index7.default.s(date, token);\n  },\n  // Fraction of second\n  S: function S(date, token) {\n    return _index7.default.S(date, token);\n  },\n  // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n  X: function X(date, token, _localize, options) {\n    var originalDate = options._originalDate || date;\n    var timezoneOffset = originalDate.getTimezoneOffset();\n    if (timezoneOffset === 0) {\n      return 'Z';\n    }\n    switch (token) {\n      // Hours and optional minutes\n      case 'X':\n        return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n      // Hours, minutes and optional seconds without `:` delimiter\n      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n      // so this token always has the same output as `XX`\n      case 'XXXX':\n      case 'XX':\n        // Hours and minutes without `:` delimiter\n        return formatTimezone(timezoneOffset);\n\n      // Hours, minutes and optional seconds with `:` delimiter\n      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n      // so this token always has the same output as `XXX`\n      case 'XXXXX':\n      case 'XXX': // Hours and minutes with `:` delimiter\n      default:\n        return formatTimezone(timezoneOffset, ':');\n    }\n  },\n  // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n  x: function x(date, token, _localize, options) {\n    var originalDate = options._originalDate || date;\n    var timezoneOffset = originalDate.getTimezoneOffset();\n    switch (token) {\n      // Hours and optional minutes\n      case 'x':\n        return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n      // Hours, minutes and optional seconds without `:` delimiter\n      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n      // so this token always has the same output as `xx`\n      case 'xxxx':\n      case 'xx':\n        // Hours and minutes without `:` delimiter\n        return formatTimezone(timezoneOffset);\n\n      // Hours, minutes and optional seconds with `:` delimiter\n      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n      // so this token always has the same output as `xxx`\n      case 'xxxxx':\n      case 'xxx': // Hours and minutes with `:` delimiter\n      default:\n        return formatTimezone(timezoneOffset, ':');\n    }\n  },\n  // Timezone (GMT)\n  O: function O(date, token, _localize, options) {\n    var originalDate = options._originalDate || date;\n    var timezoneOffset = originalDate.getTimezoneOffset();\n    switch (token) {\n      // Short\n      case 'O':\n      case 'OO':\n      case 'OOO':\n        return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n      // Long\n      case 'OOOO':\n      default:\n        return 'GMT' + formatTimezone(timezoneOffset, ':');\n    }\n  },\n  // Timezone (specific non-location)\n  z: function z(date, token, _localize, options) {\n    var originalDate = options._originalDate || date;\n    var timezoneOffset = originalDate.getTimezoneOffset();\n    switch (token) {\n      // Short\n      case 'z':\n      case 'zz':\n      case 'zzz':\n        return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n      // Long\n      case 'zzzz':\n      default:\n        return 'GMT' + formatTimezone(timezoneOffset, ':');\n    }\n  },\n  // Seconds timestamp\n  t: function t(date, token, _localize, options) {\n    var originalDate = options._originalDate || date;\n    var timestamp = Math.floor(originalDate.getTime() / 1000);\n    return (0, _index6.default)(timestamp, token.length);\n  },\n  // Milliseconds timestamp\n  T: function T(date, token, _localize, options) {\n    var originalDate = options._originalDate || date;\n    var timestamp = originalDate.getTime();\n    return (0, _index6.default)(timestamp, token.length);\n  }\n};\nfunction formatTimezoneShort(offset, dirtyDelimiter) {\n  var sign = offset > 0 ? '-' : '+';\n  var absOffset = Math.abs(offset);\n  var hours = Math.floor(absOffset / 60);\n  var minutes = absOffset % 60;\n  if (minutes === 0) {\n    return sign + String(hours);\n  }\n  var delimiter = dirtyDelimiter || '';\n  return sign + String(hours) + delimiter + (0, _index6.default)(minutes, 2);\n}\nfunction formatTimezoneWithOptionalMinutes(offset, dirtyDelimiter) {\n  if (offset % 60 === 0) {\n    var sign = offset > 0 ? '-' : '+';\n    return sign + (0, _index6.default)(Math.abs(offset) / 60, 2);\n  }\n  return formatTimezone(offset, dirtyDelimiter);\n}\nfunction formatTimezone(offset, dirtyDelimiter) {\n  var delimiter = dirtyDelimiter || '';\n  var sign = offset > 0 ? '-' : '+';\n  var absOffset = Math.abs(offset);\n  var hours = (0, _index6.default)(Math.floor(absOffset / 60), 2);\n  var minutes = (0, _index6.default)(absOffset % 60, 2);\n  return sign + hours + delimiter + minutes;\n}\nvar _default = formatters;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar _index = _interopRequireDefault(require(\"../../addLeadingZeros/index.js\"));\n/*\n * |     | Unit                           |     | Unit                           |\n * |-----|--------------------------------|-----|--------------------------------|\n * |  a  | AM, PM                         |  A* |                                |\n * |  d  | Day of month                   |  D  |                                |\n * |  h  | Hour [1-12]                    |  H  | Hour [0-23]                    |\n * |  m  | Minute                         |  M  | Month                          |\n * |  s  | Second                         |  S  | Fraction of second             |\n * |  y  | Year (abs)                     |  Y  |                                |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\n\nvar formatters = {\n  // Year\n  y: function y(date, token) {\n    // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n    // | Year     |     y | yy |   yyy |  yyyy | yyyyy |\n    // |----------|-------|----|-------|-------|-------|\n    // | AD 1     |     1 | 01 |   001 |  0001 | 00001 |\n    // | AD 12    |    12 | 12 |   012 |  0012 | 00012 |\n    // | AD 123   |   123 | 23 |   123 |  0123 | 00123 |\n    // | AD 1234  |  1234 | 34 |  1234 |  1234 | 01234 |\n    // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n\n    var signedYear = date.getUTCFullYear();\n    // Returns 1 for 1 BC (which is year 0 in JavaScript)\n    var year = signedYear > 0 ? signedYear : 1 - signedYear;\n    return (0, _index.default)(token === 'yy' ? year % 100 : year, token.length);\n  },\n  // Month\n  M: function M(date, token) {\n    var month = date.getUTCMonth();\n    return token === 'M' ? String(month + 1) : (0, _index.default)(month + 1, 2);\n  },\n  // Day of the month\n  d: function d(date, token) {\n    return (0, _index.default)(date.getUTCDate(), token.length);\n  },\n  // AM or PM\n  a: function a(date, token) {\n    var dayPeriodEnumValue = date.getUTCHours() / 12 >= 1 ? 'pm' : 'am';\n    switch (token) {\n      case 'a':\n      case 'aa':\n        return dayPeriodEnumValue.toUpperCase();\n      case 'aaa':\n        return dayPeriodEnumValue;\n      case 'aaaaa':\n        return dayPeriodEnumValue[0];\n      case 'aaaa':\n      default:\n        return dayPeriodEnumValue === 'am' ? 'a.m.' : 'p.m.';\n    }\n  },\n  // Hour [1-12]\n  h: function h(date, token) {\n    return (0, _index.default)(date.getUTCHours() % 12 || 12, token.length);\n  },\n  // Hour [0-23]\n  H: function H(date, token) {\n    return (0, _index.default)(date.getUTCHours(), token.length);\n  },\n  // Minute\n  m: function m(date, token) {\n    return (0, _index.default)(date.getUTCMinutes(), token.length);\n  },\n  // Second\n  s: function s(date, token) {\n    return (0, _index.default)(date.getUTCSeconds(), token.length);\n  },\n  // Fraction of second\n  S: function S(date, token) {\n    var numberOfDigits = token.length;\n    var milliseconds = date.getUTCMilliseconds();\n    var fractionalSeconds = Math.floor(milliseconds * Math.pow(10, numberOfDigits - 3));\n    return (0, _index.default)(fractionalSeconds, token.length);\n  }\n};\nvar _default = formatters;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar dateLongFormatter = function dateLongFormatter(pattern, formatLong) {\n  switch (pattern) {\n    case 'P':\n      return formatLong.date({\n        width: 'short'\n      });\n    case 'PP':\n      return formatLong.date({\n        width: 'medium'\n      });\n    case 'PPP':\n      return formatLong.date({\n        width: 'long'\n      });\n    case 'PPPP':\n    default:\n      return formatLong.date({\n        width: 'full'\n      });\n  }\n};\nvar timeLongFormatter = function timeLongFormatter(pattern, formatLong) {\n  switch (pattern) {\n    case 'p':\n      return formatLong.time({\n        width: 'short'\n      });\n    case 'pp':\n      return formatLong.time({\n        width: 'medium'\n      });\n    case 'ppp':\n      return formatLong.time({\n        width: 'long'\n      });\n    case 'pppp':\n    default:\n      return formatLong.time({\n        width: 'full'\n      });\n  }\n};\nvar dateTimeLongFormatter = function dateTimeLongFormatter(pattern, formatLong) {\n  var matchResult = pattern.match(/(P+)(p+)?/) || [];\n  var datePattern = matchResult[1];\n  var timePattern = matchResult[2];\n  if (!timePattern) {\n    return dateLongFormatter(pattern, formatLong);\n  }\n  var dateTimeFormat;\n  switch (datePattern) {\n    case 'P':\n      dateTimeFormat = formatLong.dateTime({\n        width: 'short'\n      });\n      break;\n    case 'PP':\n      dateTimeFormat = formatLong.dateTime({\n        width: 'medium'\n      });\n      break;\n    case 'PPP':\n      dateTimeFormat = formatLong.dateTime({\n        width: 'long'\n      });\n      break;\n    case 'PPPP':\n    default:\n      dateTimeFormat = formatLong.dateTime({\n        width: 'full'\n      });\n      break;\n  }\n  return dateTimeFormat.replace('{{date}}', dateLongFormatter(datePattern, formatLong)).replace('{{time}}', timeLongFormatter(timePattern, formatLong));\n};\nvar longFormatters = {\n  p: timeLongFormatter,\n  P: dateTimeLongFormatter\n};\nvar _default = longFormatters;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = getTimezoneOffsetInMilliseconds;\n/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nfunction getTimezoneOffsetInMilliseconds(date) {\n  var utcDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));\n  utcDate.setUTCFullYear(date.getFullYear());\n  return date.getTime() - utcDate.getTime();\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = getUTCDayOfYear;\nvar _index = _interopRequireDefault(require(\"../../toDate/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"../requiredArgs/index.js\"));\nvar MILLISECONDS_IN_DAY = 86400000;\nfunction getUTCDayOfYear(dirtyDate) {\n  (0, _index2.default)(1, arguments);\n  var date = (0, _index.default)(dirtyDate);\n  var timestamp = date.getTime();\n  date.setUTCMonth(0, 1);\n  date.setUTCHours(0, 0, 0, 0);\n  var startOfYearTimestamp = date.getTime();\n  var difference = timestamp - startOfYearTimestamp;\n  return Math.floor(difference / MILLISECONDS_IN_DAY) + 1;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = getUTCISOWeek;\nvar _index = _interopRequireDefault(require(\"../../toDate/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"../startOfUTCISOWeek/index.js\"));\nvar _index3 = _interopRequireDefault(require(\"../startOfUTCISOWeekYear/index.js\"));\nvar _index4 = _interopRequireDefault(require(\"../requiredArgs/index.js\"));\nvar MILLISECONDS_IN_WEEK = 604800000;\nfunction getUTCISOWeek(dirtyDate) {\n  (0, _index4.default)(1, arguments);\n  var date = (0, _index.default)(dirtyDate);\n  var diff = (0, _index2.default)(date).getTime() - (0, _index3.default)(date).getTime();\n\n  // Round the number of days to the nearest integer\n  // because the number of milliseconds in a week is not constant\n  // (e.g. it's different in the week of the daylight saving time clock shift)\n  return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = getUTCISOWeekYear;\nvar _index = _interopRequireDefault(require(\"../../toDate/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"../requiredArgs/index.js\"));\nvar _index3 = _interopRequireDefault(require(\"../startOfUTCISOWeek/index.js\"));\nfunction getUTCISOWeekYear(dirtyDate) {\n  (0, _index2.default)(1, arguments);\n  var date = (0, _index.default)(dirtyDate);\n  var year = date.getUTCFullYear();\n  var fourthOfJanuaryOfNextYear = new Date(0);\n  fourthOfJanuaryOfNextYear.setUTCFullYear(year + 1, 0, 4);\n  fourthOfJanuaryOfNextYear.setUTCHours(0, 0, 0, 0);\n  var startOfNextYear = (0, _index3.default)(fourthOfJanuaryOfNextYear);\n  var fourthOfJanuaryOfThisYear = new Date(0);\n  fourthOfJanuaryOfThisYear.setUTCFullYear(year, 0, 4);\n  fourthOfJanuaryOfThisYear.setUTCHours(0, 0, 0, 0);\n  var startOfThisYear = (0, _index3.default)(fourthOfJanuaryOfThisYear);\n  if (date.getTime() >= startOfNextYear.getTime()) {\n    return year + 1;\n  } else if (date.getTime() >= startOfThisYear.getTime()) {\n    return year;\n  } else {\n    return year - 1;\n  }\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = getUTCWeek;\nvar _index = _interopRequireDefault(require(\"../../toDate/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"../startOfUTCWeek/index.js\"));\nvar _index3 = _interopRequireDefault(require(\"../startOfUTCWeekYear/index.js\"));\nvar _index4 = _interopRequireDefault(require(\"../requiredArgs/index.js\"));\nvar MILLISECONDS_IN_WEEK = 604800000;\nfunction getUTCWeek(dirtyDate, options) {\n  (0, _index4.default)(1, arguments);\n  var date = (0, _index.default)(dirtyDate);\n  var diff = (0, _index2.default)(date, options).getTime() - (0, _index3.default)(date, options).getTime();\n\n  // Round the number of days to the nearest integer\n  // because the number of milliseconds in a week is not constant\n  // (e.g. it's different in the week of the daylight saving time clock shift)\n  return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = getUTCWeekYear;\nvar _index = _interopRequireDefault(require(\"../../toDate/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"../requiredArgs/index.js\"));\nvar _index3 = _interopRequireDefault(require(\"../startOfUTCWeek/index.js\"));\nvar _index4 = _interopRequireDefault(require(\"../toInteger/index.js\"));\nvar _index5 = require(\"../defaultOptions/index.js\");\nfunction getUTCWeekYear(dirtyDate, options) {\n  var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n  (0, _index2.default)(1, arguments);\n  var date = (0, _index.default)(dirtyDate);\n  var year = date.getUTCFullYear();\n  var defaultOptions = (0, _index5.getDefaultOptions)();\n  var firstWeekContainsDate = (0, _index4.default)((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1);\n\n  // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n  if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n    throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n  }\n  var firstWeekOfNextYear = new Date(0);\n  firstWeekOfNextYear.setUTCFullYear(year + 1, 0, firstWeekContainsDate);\n  firstWeekOfNextYear.setUTCHours(0, 0, 0, 0);\n  var startOfNextYear = (0, _index3.default)(firstWeekOfNextYear, options);\n  var firstWeekOfThisYear = new Date(0);\n  firstWeekOfThisYear.setUTCFullYear(year, 0, firstWeekContainsDate);\n  firstWeekOfThisYear.setUTCHours(0, 0, 0, 0);\n  var startOfThisYear = (0, _index3.default)(firstWeekOfThisYear, options);\n  if (date.getTime() >= startOfNextYear.getTime()) {\n    return year + 1;\n  } else if (date.getTime() >= startOfThisYear.getTime()) {\n    return year;\n  } else {\n    return year - 1;\n  }\n}\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.isProtectedDayOfYearToken = isProtectedDayOfYearToken;\nexports.isProtectedWeekYearToken = isProtectedWeekYearToken;\nexports.throwProtectedError = throwProtectedError;\nvar protectedDayOfYearTokens = ['D', 'DD'];\nvar protectedWeekYearTokens = ['YY', 'YYYY'];\nfunction isProtectedDayOfYearToken(token) {\n  return protectedDayOfYearTokens.indexOf(token) !== -1;\n}\nfunction isProtectedWeekYearToken(token) {\n  return protectedWeekYearTokens.indexOf(token) !== -1;\n}\nfunction throwProtectedError(token, format, input) {\n  if (token === 'YYYY') {\n    throw new RangeError(\"Use `yyyy` instead of `YYYY` (in `\".concat(format, \"`) for formatting years to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n  } else if (token === 'YY') {\n    throw new RangeError(\"Use `yy` instead of `YY` (in `\".concat(format, \"`) for formatting years to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n  } else if (token === 'D') {\n    throw new RangeError(\"Use `d` instead of `D` (in `\".concat(format, \"`) for formatting days of the month to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n  } else if (token === 'DD') {\n    throw new RangeError(\"Use `dd` instead of `DD` (in `\".concat(format, \"`) for formatting days of the month to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n  }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = requiredArgs;\nfunction requiredArgs(required, args) {\n  if (args.length < required) {\n    throw new TypeError(required + ' argument' + (required > 1 ? 's' : '') + ' required, but only ' + args.length + ' present');\n  }\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = startOfUTCISOWeek;\nvar _index = _interopRequireDefault(require(\"../../toDate/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"../requiredArgs/index.js\"));\nfunction startOfUTCISOWeek(dirtyDate) {\n  (0, _index2.default)(1, arguments);\n  var weekStartsOn = 1;\n  var date = (0, _index.default)(dirtyDate);\n  var day = date.getUTCDay();\n  var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n  date.setUTCDate(date.getUTCDate() - diff);\n  date.setUTCHours(0, 0, 0, 0);\n  return date;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = startOfUTCISOWeekYear;\nvar _index = _interopRequireDefault(require(\"../getUTCISOWeekYear/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"../startOfUTCISOWeek/index.js\"));\nvar _index3 = _interopRequireDefault(require(\"../requiredArgs/index.js\"));\nfunction startOfUTCISOWeekYear(dirtyDate) {\n  (0, _index3.default)(1, arguments);\n  var year = (0, _index.default)(dirtyDate);\n  var fourthOfJanuary = new Date(0);\n  fourthOfJanuary.setUTCFullYear(year, 0, 4);\n  fourthOfJanuary.setUTCHours(0, 0, 0, 0);\n  var date = (0, _index2.default)(fourthOfJanuary);\n  return date;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = startOfUTCWeek;\nvar _index = _interopRequireDefault(require(\"../../toDate/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"../requiredArgs/index.js\"));\nvar _index3 = _interopRequireDefault(require(\"../toInteger/index.js\"));\nvar _index4 = require(\"../defaultOptions/index.js\");\nfunction startOfUTCWeek(dirtyDate, options) {\n  var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n  (0, _index2.default)(1, arguments);\n  var defaultOptions = (0, _index4.getDefaultOptions)();\n  var weekStartsOn = (0, _index3.default)((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0);\n\n  // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n  if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n    throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n  }\n  var date = (0, _index.default)(dirtyDate);\n  var day = date.getUTCDay();\n  var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n  date.setUTCDate(date.getUTCDate() - diff);\n  date.setUTCHours(0, 0, 0, 0);\n  return date;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = startOfUTCWeekYear;\nvar _index = _interopRequireDefault(require(\"../getUTCWeekYear/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"../requiredArgs/index.js\"));\nvar _index3 = _interopRequireDefault(require(\"../startOfUTCWeek/index.js\"));\nvar _index4 = _interopRequireDefault(require(\"../toInteger/index.js\"));\nvar _index5 = require(\"../defaultOptions/index.js\");\nfunction startOfUTCWeekYear(dirtyDate, options) {\n  var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n  (0, _index2.default)(1, arguments);\n  var defaultOptions = (0, _index5.getDefaultOptions)();\n  var firstWeekContainsDate = (0, _index4.default)((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1);\n  var year = (0, _index.default)(dirtyDate, options);\n  var firstWeek = new Date(0);\n  firstWeek.setUTCFullYear(year, 0, firstWeekContainsDate);\n  firstWeek.setUTCHours(0, 0, 0, 0);\n  var date = (0, _index3.default)(firstWeek, options);\n  return date;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = toInteger;\nfunction toInteger(dirtyNumber) {\n  if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) {\n    return NaN;\n  }\n  var number = Number(dirtyNumber);\n  if (isNaN(number)) {\n    return number;\n  }\n  return number < 0 ? Math.ceil(number) : Math.floor(number);\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = addMilliseconds;\nvar _index = _interopRequireDefault(require(\"../_lib/toInteger/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"../toDate/index.js\"));\nvar _index3 = _interopRequireDefault(require(\"../_lib/requiredArgs/index.js\"));\n/**\n * @name addMilliseconds\n * @category Millisecond Helpers\n * @summary Add the specified number of milliseconds to the given date.\n *\n * @description\n * Add the specified number of milliseconds to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 750 milliseconds to 10 July 2014 12:45:30.000:\n * const result = addMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:30.750\n */\nfunction addMilliseconds(dirtyDate, dirtyAmount) {\n  (0, _index3.default)(2, arguments);\n  var timestamp = (0, _index2.default)(dirtyDate).getTime();\n  var amount = (0, _index.default)(dirtyAmount);\n  return new Date(timestamp + amount);\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = format;\nvar _index = _interopRequireDefault(require(\"../isValid/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"../subMilliseconds/index.js\"));\nvar _index3 = _interopRequireDefault(require(\"../toDate/index.js\"));\nvar _index4 = _interopRequireDefault(require(\"../_lib/format/formatters/index.js\"));\nvar _index5 = _interopRequireDefault(require(\"../_lib/format/longFormatters/index.js\"));\nvar _index6 = _interopRequireDefault(require(\"../_lib/getTimezoneOffsetInMilliseconds/index.js\"));\nvar _index7 = require(\"../_lib/protectedTokens/index.js\");\nvar _index8 = _interopRequireDefault(require(\"../_lib/toInteger/index.js\"));\nvar _index9 = _interopRequireDefault(require(\"../_lib/requiredArgs/index.js\"));\nvar _index10 = require(\"../_lib/defaultOptions/index.js\");\nvar _index11 = _interopRequireDefault(require(\"../_lib/defaultLocale/index.js\"));\n// This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n//   (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n//   except a single quote symbol, which ends the sequence.\n//   Two quote characters do not end the sequence.\n//   If there is no matching single quote\n//   then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'([^]*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\n/**\n * @name format\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit                            | Pattern | Result examples                   | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era                             | G..GGG  | AD, BC                            |       |\n * |                                 | GGGG    | Anno Domini, Before Christ        | 2     |\n * |                                 | GGGGG   | A, B                              |       |\n * | Calendar year                   | y       | 44, 1, 1900, 2017                 | 5     |\n * |                                 | yo      | 44th, 1st, 0th, 17th              | 5,7   |\n * |                                 | yy      | 44, 01, 00, 17                    | 5     |\n * |                                 | yyy     | 044, 001, 1900, 2017              | 5     |\n * |                                 | yyyy    | 0044, 0001, 1900, 2017            | 5     |\n * |                                 | yyyyy   | ...                               | 3,5   |\n * | Local week-numbering year       | Y       | 44, 1, 1900, 2017                 | 5     |\n * |                                 | Yo      | 44th, 1st, 1900th, 2017th         | 5,7   |\n * |                                 | YY      | 44, 01, 00, 17                    | 5,8   |\n * |                                 | YYY     | 044, 001, 1900, 2017              | 5     |\n * |                                 | YYYY    | 0044, 0001, 1900, 2017            | 5,8   |\n * |                                 | YYYYY   | ...                               | 3,5   |\n * | ISO week-numbering year         | R       | -43, 0, 1, 1900, 2017             | 5,7   |\n * |                                 | RR      | -43, 00, 01, 1900, 2017           | 5,7   |\n * |                                 | RRR     | -043, 000, 001, 1900, 2017        | 5,7   |\n * |                                 | RRRR    | -0043, 0000, 0001, 1900, 2017     | 5,7   |\n * |                                 | RRRRR   | ...                               | 3,5,7 |\n * | Extended year                   | u       | -43, 0, 1, 1900, 2017             | 5     |\n * |                                 | uu      | -43, 01, 1900, 2017               | 5     |\n * |                                 | uuu     | -043, 001, 1900, 2017             | 5     |\n * |                                 | uuuu    | -0043, 0001, 1900, 2017           | 5     |\n * |                                 | uuuuu   | ...                               | 3,5   |\n * | Quarter (formatting)            | Q       | 1, 2, 3, 4                        |       |\n * |                                 | Qo      | 1st, 2nd, 3rd, 4th                | 7     |\n * |                                 | QQ      | 01, 02, 03, 04                    |       |\n * |                                 | QQQ     | Q1, Q2, Q3, Q4                    |       |\n * |                                 | QQQQ    | 1st quarter, 2nd quarter, ...     | 2     |\n * |                                 | QQQQQ   | 1, 2, 3, 4                        | 4     |\n * | Quarter (stand-alone)           | q       | 1, 2, 3, 4                        |       |\n * |                                 | qo      | 1st, 2nd, 3rd, 4th                | 7     |\n * |                                 | qq      | 01, 02, 03, 04                    |       |\n * |                                 | qqq     | Q1, Q2, Q3, Q4                    |       |\n * |                                 | qqqq    | 1st quarter, 2nd quarter, ...     | 2     |\n * |                                 | qqqqq   | 1, 2, 3, 4                        | 4     |\n * | Month (formatting)              | M       | 1, 2, ..., 12                     |       |\n * |                                 | Mo      | 1st, 2nd, ..., 12th               | 7     |\n * |                                 | MM      | 01, 02, ..., 12                   |       |\n * |                                 | MMM     | Jan, Feb, ..., Dec                |       |\n * |                                 | MMMM    | January, February, ..., December  | 2     |\n * |                                 | MMMMM   | J, F, ..., D                      |       |\n * | Month (stand-alone)             | L       | 1, 2, ..., 12                     |       |\n * |                                 | Lo      | 1st, 2nd, ..., 12th               | 7     |\n * |                                 | LL      | 01, 02, ..., 12                   |       |\n * |                                 | LLL     | Jan, Feb, ..., Dec                |       |\n * |                                 | LLLL    | January, February, ..., December  | 2     |\n * |                                 | LLLLL   | J, F, ..., D                      |       |\n * | Local week of year              | w       | 1, 2, ..., 53                     |       |\n * |                                 | wo      | 1st, 2nd, ..., 53th               | 7     |\n * |                                 | ww      | 01, 02, ..., 53                   |       |\n * | ISO week of year                | I       | 1, 2, ..., 53                     | 7     |\n * |                                 | Io      | 1st, 2nd, ..., 53th               | 7     |\n * |                                 | II      | 01, 02, ..., 53                   | 7     |\n * | Day of month                    | d       | 1, 2, ..., 31                     |       |\n * |                                 | do      | 1st, 2nd, ..., 31st               | 7     |\n * |                                 | dd      | 01, 02, ..., 31                   |       |\n * | Day of year                     | D       | 1, 2, ..., 365, 366               | 9     |\n * |                                 | Do      | 1st, 2nd, ..., 365th, 366th       | 7     |\n * |                                 | DD      | 01, 02, ..., 365, 366             | 9     |\n * |                                 | DDD     | 001, 002, ..., 365, 366           |       |\n * |                                 | DDDD    | ...                               | 3     |\n * | Day of week (formatting)        | E..EEE  | Mon, Tue, Wed, ..., Sun           |       |\n * |                                 | EEEE    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 | EEEEE   | M, T, W, T, F, S, S               |       |\n * |                                 | EEEEEE  | Mo, Tu, We, Th, Fr, Sa, Su        |       |\n * | ISO day of week (formatting)    | i       | 1, 2, 3, ..., 7                   | 7     |\n * |                                 | io      | 1st, 2nd, ..., 7th                | 7     |\n * |                                 | ii      | 01, 02, ..., 07                   | 7     |\n * |                                 | iii     | Mon, Tue, Wed, ..., Sun           | 7     |\n * |                                 | iiii    | Monday, Tuesday, ..., Sunday      | 2,7   |\n * |                                 | iiiii   | M, T, W, T, F, S, S               | 7     |\n * |                                 | iiiiii  | Mo, Tu, We, Th, Fr, Sa, Su        | 7     |\n * | Local day of week (formatting)  | e       | 2, 3, 4, ..., 1                   |       |\n * |                                 | eo      | 2nd, 3rd, ..., 1st                | 7     |\n * |                                 | ee      | 02, 03, ..., 01                   |       |\n * |                                 | eee     | Mon, Tue, Wed, ..., Sun           |       |\n * |                                 | eeee    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 | eeeee   | M, T, W, T, F, S, S               |       |\n * |                                 | eeeeee  | Mo, Tu, We, Th, Fr, Sa, Su        |       |\n * | Local day of week (stand-alone) | c       | 2, 3, 4, ..., 1                   |       |\n * |                                 | co      | 2nd, 3rd, ..., 1st                | 7     |\n * |                                 | cc      | 02, 03, ..., 01                   |       |\n * |                                 | ccc     | Mon, Tue, Wed, ..., Sun           |       |\n * |                                 | cccc    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 | ccccc   | M, T, W, T, F, S, S               |       |\n * |                                 | cccccc  | Mo, Tu, We, Th, Fr, Sa, Su        |       |\n * | AM, PM                          | a..aa   | AM, PM                            |       |\n * |                                 | aaa     | am, pm                            |       |\n * |                                 | aaaa    | a.m., p.m.                        | 2     |\n * |                                 | aaaaa   | a, p                              |       |\n * | AM, PM, noon, midnight          | b..bb   | AM, PM, noon, midnight            |       |\n * |                                 | bbb     | am, pm, noon, midnight            |       |\n * |                                 | bbbb    | a.m., p.m., noon, midnight        | 2     |\n * |                                 | bbbbb   | a, p, n, mi                       |       |\n * | Flexible day period             | B..BBB  | at night, in the morning, ...     |       |\n * |                                 | BBBB    | at night, in the morning, ...     | 2     |\n * |                                 | BBBBB   | at night, in the morning, ...     |       |\n * | Hour [1-12]                     | h       | 1, 2, ..., 11, 12                 |       |\n * |                                 | ho      | 1st, 2nd, ..., 11th, 12th         | 7     |\n * |                                 | hh      | 01, 02, ..., 11, 12               |       |\n * | Hour [0-23]                     | H       | 0, 1, 2, ..., 23                  |       |\n * |                                 | Ho      | 0th, 1st, 2nd, ..., 23rd          | 7     |\n * |                                 | HH      | 00, 01, 02, ..., 23               |       |\n * | Hour [0-11]                     | K       | 1, 2, ..., 11, 0                  |       |\n * |                                 | Ko      | 1st, 2nd, ..., 11th, 0th          | 7     |\n * |                                 | KK      | 01, 02, ..., 11, 00               |       |\n * | Hour [1-24]                     | k       | 24, 1, 2, ..., 23                 |       |\n * |                                 | ko      | 24th, 1st, 2nd, ..., 23rd         | 7     |\n * |                                 | kk      | 24, 01, 02, ..., 23               |       |\n * | Minute                          | m       | 0, 1, ..., 59                     |       |\n * |                                 | mo      | 0th, 1st, ..., 59th               | 7     |\n * |                                 | mm      | 00, 01, ..., 59                   |       |\n * | Second                          | s       | 0, 1, ..., 59                     |       |\n * |                                 | so      | 0th, 1st, ..., 59th               | 7     |\n * |                                 | ss      | 00, 01, ..., 59                   |       |\n * | Fraction of second              | S       | 0, 1, ..., 9                      |       |\n * |                                 | SS      | 00, 01, ..., 99                   |       |\n * |                                 | SSS     | 000, 001, ..., 999                |       |\n * |                                 | SSSS    | ...                               | 3     |\n * | Timezone (ISO-8601 w/ Z)        | X       | -08, +0530, Z                     |       |\n * |                                 | XX      | -0800, +0530, Z                   |       |\n * |                                 | XXX     | -08:00, +05:30, Z                 |       |\n * |                                 | XXXX    | -0800, +0530, Z, +123456          | 2     |\n * |                                 | XXXXX   | -08:00, +05:30, Z, +12:34:56      |       |\n * | Timezone (ISO-8601 w/o Z)       | x       | -08, +0530, +00                   |       |\n * |                                 | xx      | -0800, +0530, +0000               |       |\n * |                                 | xxx     | -08:00, +05:30, +00:00            | 2     |\n * |                                 | xxxx    | -0800, +0530, +0000, +123456      |       |\n * |                                 | xxxxx   | -08:00, +05:30, +00:00, +12:34:56 |       |\n * | Timezone (GMT)                  | O...OOO | GMT-8, GMT+5:30, GMT+0            |       |\n * |                                 | OOOO    | GMT-08:00, GMT+05:30, GMT+00:00   | 2     |\n * | Timezone (specific non-locat.)  | z...zzz | GMT-8, GMT+5:30, GMT+0            | 6     |\n * |                                 | zzzz    | GMT-08:00, GMT+05:30, GMT+00:00   | 2,6   |\n * | Seconds timestamp               | t       | 512969520                         | 7     |\n * |                                 | tt      | ...                               | 3,7   |\n * | Milliseconds timestamp          | T       | 512969520900                      | 7     |\n * |                                 | TT      | ...                               | 3,7   |\n * | Long localized date             | P       | 04/29/1453                        | 7     |\n * |                                 | PP      | Apr 29, 1453                      | 7     |\n * |                                 | PPP     | April 29th, 1453                  | 7     |\n * |                                 | PPPP    | Friday, April 29th, 1453          | 2,7   |\n * | Long localized time             | p       | 12:00 AM                          | 7     |\n * |                                 | pp      | 12:00:00 AM                       | 7     |\n * |                                 | ppp     | 12:00:00 AM GMT+2                 | 7     |\n * |                                 | pppp    | 12:00:00 AM GMT+02:00             | 2,7   |\n * | Combination of date and time    | Pp      | 04/29/1453, 12:00 AM              | 7     |\n * |                                 | PPpp    | Apr 29, 1453, 12:00:00 AM         | 7     |\n * |                                 | PPPppp  | April 29th, 1453 at ...           | 7     |\n * |                                 | PPPPpppp| Friday, April 29th, 1453 at ...   | 2,7   |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n *    are the same as \"stand-alone\" units, but are different in some languages.\n *    \"Formatting\" units are declined according to the rules of the language\n *    in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n *    `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n *    `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n *    the single quote characters (see below).\n *    If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n *    the output will be the same as default pattern for this unit, usually\n *    the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n *    are marked with \"2\" in the last column of the table.\n *\n *    `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n *    `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n *    `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n *    `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n *    `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n *    The output will be padded with zeros to match the length of the pattern.\n *\n *    `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n *    These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n *    | Year | `y` | `u` |\n *    |------|-----|-----|\n *    | AC 1 |   1 |   1 |\n *    | BC 1 |   1 |   0 |\n *    | BC 2 |   2 |  -1 |\n *\n *    Also `yy` always returns the last two digits of a year,\n *    while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n *    | Year | `yy` | `uu` |\n *    |------|------|------|\n *    | 1    |   01 |   01 |\n *    | 14   |   14 |   14 |\n *    | 376  |   76 |  376 |\n *    | 1453 |   53 | 1453 |\n *\n *    The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n *    except local week-numbering years are dependent on `options.weekStartsOn`\n *    and `options.firstWeekContainsDate` (compare [getISOWeekYear]{@link https://date-fns.org/docs/getISOWeekYear}\n *    and [getWeekYear]{@link https://date-fns.org/docs/getWeekYear}).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n *    so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n *    - `i`: ISO day of week\n *    - `I`: ISO week of year\n *    - `R`: ISO week-numbering year\n *    - `t`: seconds timestamp\n *    - `T`: milliseconds timestamp\n *    - `o`: ordinal number modifier\n *    - `P`: long localized date\n *    - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n *    You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n *    You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @param {Date|Number} date - the original date\n * @param {String} format - the string of tokens\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {Number} [options.firstWeekContainsDate=1] - the day of January, which is\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n *   see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n *   see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @returns {String} the formatted date string\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `options.locale` must contain `localize` property\n * @throws {RangeError} `options.locale` must contain `formatLong` property\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n *   locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * const result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\n\nfunction format(dirtyDate, dirtyFormatStr, options) {\n  var _ref, _options$locale, _ref2, _ref3, _ref4, _options$firstWeekCon, _options$locale2, _options$locale2$opti, _defaultOptions$local, _defaultOptions$local2, _ref5, _ref6, _ref7, _options$weekStartsOn, _options$locale3, _options$locale3$opti, _defaultOptions$local3, _defaultOptions$local4;\n  (0, _index9.default)(2, arguments);\n  var formatStr = String(dirtyFormatStr);\n  var defaultOptions = (0, _index10.getDefaultOptions)();\n  var locale = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions.locale) !== null && _ref !== void 0 ? _ref : _index11.default;\n  var firstWeekContainsDate = (0, _index8.default)((_ref2 = (_ref3 = (_ref4 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale2 = options.locale) === null || _options$locale2 === void 0 ? void 0 : (_options$locale2$opti = _options$locale2.options) === null || _options$locale2$opti === void 0 ? void 0 : _options$locale2$opti.firstWeekContainsDate) !== null && _ref4 !== void 0 ? _ref4 : defaultOptions.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : 1);\n\n  // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n  if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n    throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n  }\n  var weekStartsOn = (0, _index8.default)((_ref5 = (_ref6 = (_ref7 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale3 = options.locale) === null || _options$locale3 === void 0 ? void 0 : (_options$locale3$opti = _options$locale3.options) === null || _options$locale3$opti === void 0 ? void 0 : _options$locale3$opti.weekStartsOn) !== null && _ref7 !== void 0 ? _ref7 : defaultOptions.weekStartsOn) !== null && _ref6 !== void 0 ? _ref6 : (_defaultOptions$local3 = defaultOptions.locale) === null || _defaultOptions$local3 === void 0 ? void 0 : (_defaultOptions$local4 = _defaultOptions$local3.options) === null || _defaultOptions$local4 === void 0 ? void 0 : _defaultOptions$local4.weekStartsOn) !== null && _ref5 !== void 0 ? _ref5 : 0);\n\n  // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n  if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n    throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n  }\n  if (!locale.localize) {\n    throw new RangeError('locale must contain localize property');\n  }\n  if (!locale.formatLong) {\n    throw new RangeError('locale must contain formatLong property');\n  }\n  var originalDate = (0, _index3.default)(dirtyDate);\n  if (!(0, _index.default)(originalDate)) {\n    throw new RangeError('Invalid time value');\n  }\n\n  // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n  // This ensures that when UTC functions will be implemented, locales will be compatible with them.\n  // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/376\n  var timezoneOffset = (0, _index6.default)(originalDate);\n  var utcDate = (0, _index2.default)(originalDate, timezoneOffset);\n  var formatterOptions = {\n    firstWeekContainsDate: firstWeekContainsDate,\n    weekStartsOn: weekStartsOn,\n    locale: locale,\n    _originalDate: originalDate\n  };\n  var result = formatStr.match(longFormattingTokensRegExp).map(function (substring) {\n    var firstCharacter = substring[0];\n    if (firstCharacter === 'p' || firstCharacter === 'P') {\n      var longFormatter = _index5.default[firstCharacter];\n      return longFormatter(substring, locale.formatLong);\n    }\n    return substring;\n  }).join('').match(formattingTokensRegExp).map(function (substring) {\n    // Replace two single quote characters with one single quote character\n    if (substring === \"''\") {\n      return \"'\";\n    }\n    var firstCharacter = substring[0];\n    if (firstCharacter === \"'\") {\n      return cleanEscapedString(substring);\n    }\n    var formatter = _index4.default[firstCharacter];\n    if (formatter) {\n      if (!(options !== null && options !== void 0 && options.useAdditionalWeekYearTokens) && (0, _index7.isProtectedWeekYearToken)(substring)) {\n        (0, _index7.throwProtectedError)(substring, dirtyFormatStr, String(dirtyDate));\n      }\n      if (!(options !== null && options !== void 0 && options.useAdditionalDayOfYearTokens) && (0, _index7.isProtectedDayOfYearToken)(substring)) {\n        (0, _index7.throwProtectedError)(substring, dirtyFormatStr, String(dirtyDate));\n      }\n      return formatter(utcDate, substring, locale.localize, formatterOptions);\n    }\n    if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n      throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n    }\n    return substring;\n  }).join('');\n  return result;\n}\nfunction cleanEscapedString(input) {\n  var matched = input.match(escapedStringRegExp);\n  if (!matched) {\n    return input;\n  }\n  return matched[1].replace(doubleQuoteRegExp, \"'\");\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = isDate;\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime/helpers/typeof\"));\nvar _index = _interopRequireDefault(require(\"../_lib/requiredArgs/index.js\"));\n/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param {*} value - the value to check\n * @returns {boolean} true if the given value is a date\n * @throws {TypeError} 1 arguments required\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\nfunction isDate(value) {\n  (0, _index.default)(1, arguments);\n  return value instanceof Date || (0, _typeof2.default)(value) === 'object' && Object.prototype.toString.call(value) === '[object Date]';\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = isValid;\nvar _index = _interopRequireDefault(require(\"../isDate/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"../toDate/index.js\"));\nvar _index3 = _interopRequireDefault(require(\"../_lib/requiredArgs/index.js\"));\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param {*} date - the date to check\n * @returns {Boolean} the date is valid\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\nfunction isValid(dirtyDate) {\n  (0, _index3.default)(1, arguments);\n  if (!(0, _index.default)(dirtyDate) && typeof dirtyDate !== 'number') {\n    return false;\n  }\n  var date = (0, _index2.default)(dirtyDate);\n  return !isNaN(Number(date));\n}\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = buildFormatLongFn;\nfunction buildFormatLongFn(args) {\n  return function () {\n    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    // TODO: Remove String()\n    var width = options.width ? String(options.width) : args.defaultWidth;\n    var format = args.formats[width] || args.formats[args.defaultWidth];\n    return format;\n  };\n}\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = buildLocalizeFn;\nfunction buildLocalizeFn(args) {\n  return function (dirtyIndex, options) {\n    var context = options !== null && options !== void 0 && options.context ? String(options.context) : 'standalone';\n    var valuesArray;\n    if (context === 'formatting' && args.formattingValues) {\n      var defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n      var width = options !== null && options !== void 0 && options.width ? String(options.width) : defaultWidth;\n      valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];\n    } else {\n      var _defaultWidth = args.defaultWidth;\n      var _width = options !== null && options !== void 0 && options.width ? String(options.width) : args.defaultWidth;\n      valuesArray = args.values[_width] || args.values[_defaultWidth];\n    }\n    var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex;\n    // @ts-ignore: For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n    return valuesArray[index];\n  };\n}\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = buildMatchFn;\nfunction buildMatchFn(args) {\n  return function (string) {\n    var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n    var width = options.width;\n    var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];\n    var matchResult = string.match(matchPattern);\n    if (!matchResult) {\n      return null;\n    }\n    var matchedString = matchResult[0];\n    var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];\n    var key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, function (pattern) {\n      return pattern.test(matchedString);\n    }) : findKey(parsePatterns, function (pattern) {\n      return pattern.test(matchedString);\n    });\n    var value;\n    value = args.valueCallback ? args.valueCallback(key) : key;\n    value = options.valueCallback ? options.valueCallback(value) : value;\n    var rest = string.slice(matchedString.length);\n    return {\n      value: value,\n      rest: rest\n    };\n  };\n}\nfunction findKey(object, predicate) {\n  for (var key in object) {\n    if (object.hasOwnProperty(key) && predicate(object[key])) {\n      return key;\n    }\n  }\n  return undefined;\n}\nfunction findIndex(array, predicate) {\n  for (var key = 0; key < array.length; key++) {\n    if (predicate(array[key])) {\n      return key;\n    }\n  }\n  return undefined;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = buildMatchPatternFn;\nfunction buildMatchPatternFn(args) {\n  return function (string) {\n    var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n    var matchResult = string.match(args.matchPattern);\n    if (!matchResult) return null;\n    var matchedString = matchResult[0];\n    var parseResult = string.match(args.parsePattern);\n    if (!parseResult) return null;\n    var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];\n    value = options.valueCallback ? options.valueCallback(value) : value;\n    var rest = string.slice(matchedString.length);\n    return {\n      value: value,\n      rest: rest\n    };\n  };\n}\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: 'less than a second',\n    other: 'less than {{count}} seconds'\n  },\n  xSeconds: {\n    one: '1 second',\n    other: '{{count}} seconds'\n  },\n  halfAMinute: 'half a minute',\n  lessThanXMinutes: {\n    one: 'less than a minute',\n    other: 'less than {{count}} minutes'\n  },\n  xMinutes: {\n    one: '1 minute',\n    other: '{{count}} minutes'\n  },\n  aboutXHours: {\n    one: 'about 1 hour',\n    other: 'about {{count}} hours'\n  },\n  xHours: {\n    one: '1 hour',\n    other: '{{count}} hours'\n  },\n  xDays: {\n    one: '1 day',\n    other: '{{count}} days'\n  },\n  aboutXWeeks: {\n    one: 'about 1 week',\n    other: 'about {{count}} weeks'\n  },\n  xWeeks: {\n    one: '1 week',\n    other: '{{count}} weeks'\n  },\n  aboutXMonths: {\n    one: 'about 1 month',\n    other: 'about {{count}} months'\n  },\n  xMonths: {\n    one: '1 month',\n    other: '{{count}} months'\n  },\n  aboutXYears: {\n    one: 'about 1 year',\n    other: 'about {{count}} years'\n  },\n  xYears: {\n    one: '1 year',\n    other: '{{count}} years'\n  },\n  overXYears: {\n    one: 'over 1 year',\n    other: 'over {{count}} years'\n  },\n  almostXYears: {\n    one: 'almost 1 year',\n    other: 'almost {{count}} years'\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var result;\n  var tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace('{{count}}', count.toString());\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return 'in ' + result;\n    } else {\n      return result + ' ago';\n    }\n  }\n  return result;\n};\nvar _default = formatDistance;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar _index = _interopRequireDefault(require(\"../../../_lib/buildFormatLongFn/index.js\"));\nvar dateFormats = {\n  full: 'EEEE, MMMM do, y',\n  long: 'MMMM do, y',\n  medium: 'MMM d, y',\n  short: 'MM/dd/yyyy'\n};\nvar timeFormats = {\n  full: 'h:mm:ss a zzzz',\n  long: 'h:mm:ss a z',\n  medium: 'h:mm:ss a',\n  short: 'h:mm a'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'at' {{time}}\",\n  long: \"{{date}} 'at' {{time}}\",\n  medium: '{{date}}, {{time}}',\n  short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n  date: (0, _index.default)({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: (0, _index.default)({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: (0, _index.default)({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nvar _default = formatLong;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar formatRelativeLocale = {\n  lastWeek: \"'last' eeee 'at' p\",\n  yesterday: \"'yesterday at' p\",\n  today: \"'today at' p\",\n  tomorrow: \"'tomorrow at' p\",\n  nextWeek: \"eeee 'at' p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n  return formatRelativeLocale[token];\n};\nvar _default = formatRelative;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar _index = _interopRequireDefault(require(\"../../../_lib/buildLocalizeFn/index.js\"));\nvar eraValues = {\n  narrow: ['B', 'A'],\n  abbreviated: ['BC', 'AD'],\n  wide: ['Before Christ', 'Anno Domini']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n  wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter']\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nvar monthValues = {\n  narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n  abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n  wide: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\n};\nvar dayValues = {\n  narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n  short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n  abbreviated: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n  wide: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'a',\n    pm: 'p',\n    midnight: 'mi',\n    noon: 'n',\n    morning: 'morning',\n    afternoon: 'afternoon',\n    evening: 'evening',\n    night: 'night'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'midnight',\n    noon: 'noon',\n    morning: 'morning',\n    afternoon: 'afternoon',\n    evening: 'evening',\n    night: 'night'\n  },\n  wide: {\n    am: 'a.m.',\n    pm: 'p.m.',\n    midnight: 'midnight',\n    noon: 'noon',\n    morning: 'morning',\n    afternoon: 'afternoon',\n    evening: 'evening',\n    night: 'night'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: 'a',\n    pm: 'p',\n    midnight: 'mi',\n    noon: 'n',\n    morning: 'in the morning',\n    afternoon: 'in the afternoon',\n    evening: 'in the evening',\n    night: 'at night'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'midnight',\n    noon: 'noon',\n    morning: 'in the morning',\n    afternoon: 'in the afternoon',\n    evening: 'in the evening',\n    night: 'at night'\n  },\n  wide: {\n    am: 'a.m.',\n    pm: 'p.m.',\n    midnight: 'midnight',\n    noon: 'noon',\n    morning: 'in the morning',\n    afternoon: 'in the afternoon',\n    evening: 'in the evening',\n    night: 'at night'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n  var number = Number(dirtyNumber);\n\n  // If ordinal numbers depend on context, for example,\n  // if they are different for different grammatical genders,\n  // use `options.unit`.\n  //\n  // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n  // 'day', 'hour', 'minute', 'second'.\n\n  var rem100 = number % 100;\n  if (rem100 > 20 || rem100 < 10) {\n    switch (rem100 % 10) {\n      case 1:\n        return number + 'st';\n      case 2:\n        return number + 'nd';\n      case 3:\n        return number + 'rd';\n    }\n  }\n  return number + 'th';\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: (0, _index.default)({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: (0, _index.default)({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: (0, _index.default)({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: (0, _index.default)({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: (0, _index.default)({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nvar _default = localize;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar _index = _interopRequireDefault(require(\"../../../_lib/buildMatchFn/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"../../../_lib/buildMatchPatternFn/index.js\"));\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(b|a)/i,\n  abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n  wide: /^(before christ|before common era|anno domini|common era)/i\n};\nvar parseEraPatterns = {\n  any: [/^b/i, /^(a|c)/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^[1234](th|st|nd|rd)? quarter/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n  wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n  any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[smtwf]/i,\n  short: /^(su|mo|tu|we|th|fr|sa)/i,\n  abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n  wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n};\nvar parseDayPatterns = {\n  narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n  any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n  narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n  any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^a/i,\n    pm: /^p/i,\n    midnight: /^mi/i,\n    noon: /^no/i,\n    morning: /morning/i,\n    afternoon: /afternoon/i,\n    evening: /evening/i,\n    night: /night/i\n  }\n};\nvar match = {\n  ordinalNumber: (0, _index2.default)({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: (0, _index.default)({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: (0, _index.default)({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: (0, _index.default)({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: (0, _index.default)({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: (0, _index.default)({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nvar _default = match;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar _index = _interopRequireDefault(require(\"./_lib/formatDistance/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"./_lib/formatLong/index.js\"));\nvar _index3 = _interopRequireDefault(require(\"./_lib/formatRelative/index.js\"));\nvar _index4 = _interopRequireDefault(require(\"./_lib/localize/index.js\"));\nvar _index5 = _interopRequireDefault(require(\"./_lib/match/index.js\"));\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}\n * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}\n */\nvar locale = {\n  code: 'en-US',\n  formatDistance: _index.default,\n  formatLong: _index2.default,\n  formatRelative: _index3.default,\n  localize: _index4.default,\n  match: _index5.default,\n  options: {\n    weekStartsOn: 0 /* Sunday */,\n    firstWeekContainsDate: 1\n  }\n};\nvar _default = locale;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = subMilliseconds;\nvar _index = _interopRequireDefault(require(\"../addMilliseconds/index.js\"));\nvar _index2 = _interopRequireDefault(require(\"../_lib/requiredArgs/index.js\"));\nvar _index3 = _interopRequireDefault(require(\"../_lib/toInteger/index.js\"));\n/**\n * @name subMilliseconds\n * @category Millisecond Helpers\n * @summary Subtract the specified number of milliseconds from the given date.\n *\n * @description\n * Subtract the specified number of milliseconds from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 750 milliseconds from 10 July 2014 12:45:30.000:\n * const result = subMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:29.250\n */\nfunction subMilliseconds(dirtyDate, dirtyAmount) {\n  (0, _index2.default)(2, arguments);\n  var amount = (0, _index3.default)(dirtyAmount);\n  return (0, _index.default)(dirtyDate, -amount);\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = toDate;\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime/helpers/typeof\"));\nvar _index = _interopRequireDefault(require(\"../_lib/requiredArgs/index.js\"));\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @param {Date|Number} argument - the value to convert\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nfunction toDate(argument) {\n  (0, _index.default)(1, arguments);\n  var argStr = Object.prototype.toString.call(argument);\n\n  // Clone the date\n  if (argument instanceof Date || (0, _typeof2.default)(argument) === 'object' && argStr === '[object Date]') {\n    // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n    return new Date(argument.getTime());\n  } else if (typeof argument === 'number' || argStr === '[object Number]') {\n    return new Date(argument);\n  } else {\n    if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') {\n      // eslint-disable-next-line no-console\n      console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments\");\n      // eslint-disable-next-line no-console\n      console.warn(new Error().stack);\n    }\n    return new Date(NaN);\n  }\n}\nmodule.exports = exports.default;","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",f=\"month\",h=\"quarter\",c=\"year\",d=\"date\",$=\"Invalid Date\",l=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\")},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},g={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,f),s=n-i<0,u=e.clone().add(r+(s?-1:1),f);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:f,y:c,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:h}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},D=\"en\",v={};v[D]=M;var p=function(t){return t instanceof _},S=function(t,e,n){var r;if(!t)return D;if(\"string\"==typeof t)v[t]&&(r=t),e&&(v[t]=e,r=t);else{var i=t.name;v[i]=t,r=i}return!n&&r&&(D=r),r||!n&&D},w=function(t,e){if(p(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},O=g;O.l=S,O.i=p,O.w=function(t,e){return w(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=S(t.locale,null,!0),this.parse(t)}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(O.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match(l);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.$x=t.x||{},this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return O},m.isValid=function(){return!(this.$d.toString()===$)},m.isSame=function(t,e){var n=w(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return w(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<w(t)},m.$g=function(t,e,n){return O.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!O.u(e)||e,h=O.p(t),$=function(t,e){var i=O.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},l=function(t,e){return O.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,g=\"set\"+(this.$u?\"UTC\":\"\");switch(h){case c:return r?$(1,0):$(31,11);case f:return r?$(1,M):$(0,M+1);case o:var D=this.$locale().weekStart||0,v=(y<D?y+7:y)-D;return $(r?m-v:m+(6-v),M);case a:case d:return l(g+\"Hours\",0);case u:return l(g+\"Minutes\",1);case s:return l(g+\"Seconds\",2);case i:return l(g+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=O.p(t),h=\"set\"+(this.$u?\"UTC\":\"\"),$=(n={},n[a]=h+\"Date\",n[d]=h+\"Date\",n[f]=h+\"Month\",n[c]=h+\"FullYear\",n[u]=h+\"Hours\",n[s]=h+\"Minutes\",n[i]=h+\"Seconds\",n[r]=h+\"Milliseconds\",n)[o],l=o===a?this.$D+(e-this.$W):e;if(o===f||o===c){var y=this.clone().set(d,1);y.$d[$](l),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else $&&this.$d[$](l);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[O.p(t)]()},m.add=function(r,h){var d,$=this;r=Number(r);var l=O.p(h),y=function(t){var e=w($);return O.w(e.date(e.date()+Math.round(t*r)),$)};if(l===f)return this.set(f,this.$M+r);if(l===c)return this.set(c,this.$y+r);if(l===a)return y(1);if(l===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[l]||1,m=this.$d.getTime()+r*M;return O.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||$;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=O.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,f=n.months,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].substr(0,s)},c=function(t){return O.s(s%12||12,t,\"0\")},d=n.meridiem||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r},l={YY:String(this.$y).slice(-2),YYYY:this.$y,M:a+1,MM:O.s(a+1,2,\"0\"),MMM:h(n.monthsShort,a,f,3),MMMM:h(f,a),D:this.$D,DD:O.s(this.$D,2,\"0\"),d:String(this.$W),dd:h(n.weekdaysMin,this.$W,o,2),ddd:h(n.weekdaysShort,this.$W,o,3),dddd:o[this.$W],H:String(s),HH:O.s(s,2,\"0\"),h:c(1),hh:c(2),a:d(s,u,!0),A:d(s,u,!1),m:String(u),mm:O.s(u,2,\"0\"),s:String(this.$s),ss:O.s(this.$s,2,\"0\"),SSS:O.s(this.$ms,3,\"0\"),Z:i};return r.replace(y,(function(t,e){return e||l[t]||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,$){var l,y=O.p(d),M=w(r),m=(M.utcOffset()-this.utcOffset())*e,g=this-M,D=O.m(this,M);return D=(l={},l[c]=D/12,l[f]=D,l[h]=D/3,l[o]=(g-m)/6048e5,l[a]=(g-m)/864e5,l[u]=g/n,l[s]=g/e,l[i]=g/t,l)[y]||g,$?D:O.a(D)},m.daysInMonth=function(){return this.endOf(f).$D},m.$locale=function(){return v[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=S(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return O.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),b=_.prototype;return w.prototype=b,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",f],[\"$y\",c],[\"$D\",d]].forEach((function(t){b[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),w.extend=function(t,e){return t.$i||(t(e,_,w),t.$i=!0),w},w.locale=S,w.isDayjs=p,w.unix=function(t){return w(1e3*t)},w.en=v[D],w.Ls=v,w.p={},w}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_advancedFormat=t()}(this,(function(){\"use strict\";return function(e,t,r){var n=t.prototype,s=n.format;r.en.ordinal=function(e){var t=[\"th\",\"st\",\"nd\",\"rd\"],r=e%100;return\"[\"+e+(t[(r-20)%10]||t[r]||t[0])+\"]\"},n.format=function(e){var t=this,r=this.$locale(),n=this.$utils(),a=(e||\"YYYY-MM-DDTHH:mm:ssZ\").replace(/\\[([^\\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(e){switch(e){case\"Q\":return Math.ceil((t.$M+1)/3);case\"Do\":return r.ordinal(t.$D);case\"gggg\":return t.weekYear();case\"GGGG\":return t.isoWeekYear();case\"wo\":return r.ordinal(t.week(),\"W\");case\"w\":case\"ww\":return n.s(t.week(),\"w\"===e?1:2,\"0\");case\"W\":case\"WW\":return n.s(t.isoWeek(),\"W\"===e?1:2,\"0\");case\"k\":case\"kk\":return n.s(String(0===t.$H?24:t.$H),\"k\"===e?1:2,\"0\");case\"X\":return Math.floor(t.$d.getTime()/1e3);case\"x\":return t.$d.getTime();case\"z\":return\"[\"+t.offsetName()+\"]\";case\"zzz\":return\"[\"+t.offsetName(\"long\")+\"]\";default:return e}}));return s.bind(this)(a)}}}));","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_customParseFormat=e()}(this,(function(){\"use strict\";var t={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"},e=/(\\[[^[]*\\])|([-:/.()\\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\\d\\d/,r=/\\d\\d?/,i=/\\d*[^\\s\\d-_:/()]+/,o={},s=function(t){return(t=+t)+(t>68?1900:2e3)};var a=function(t){return function(e){this[t]=+e}},f=[/[+-]\\d\\d:?(\\d\\d)?|Z/,function(t){(this.zone||(this.zone={})).offset=function(t){if(!t)return 0;if(\"Z\"===t)return 0;var e=t.match(/([+-]|\\d\\d)/g),n=60*e[1]+(+e[2]||0);return 0===n?0:\"+\"===e[0]?-n:n}(t)}],u=function(t){var e=o[t];return e&&(e.indexOf?e:e.s.concat(e.f))},h=function(t,e){var n,r=o.meridiem;if(r){for(var i=1;i<=24;i+=1)if(t.indexOf(r(i,0,e))>-1){n=i>12;break}}else n=t===(e?\"pm\":\"PM\");return n},d={A:[i,function(t){this.afternoon=h(t,!1)}],a:[i,function(t){this.afternoon=h(t,!0)}],S:[/\\d/,function(t){this.milliseconds=100*+t}],SS:[n,function(t){this.milliseconds=10*+t}],SSS:[/\\d{3}/,function(t){this.milliseconds=+t}],s:[r,a(\"seconds\")],ss:[r,a(\"seconds\")],m:[r,a(\"minutes\")],mm:[r,a(\"minutes\")],H:[r,a(\"hours\")],h:[r,a(\"hours\")],HH:[r,a(\"hours\")],hh:[r,a(\"hours\")],D:[r,a(\"day\")],DD:[n,a(\"day\")],Do:[i,function(t){var e=o.ordinal,n=t.match(/\\d+/);if(this.day=n[0],e)for(var r=1;r<=31;r+=1)e(r).replace(/\\[|\\]/g,\"\")===t&&(this.day=r)}],M:[r,a(\"month\")],MM:[n,a(\"month\")],MMM:[i,function(t){var e=u(\"months\"),n=(u(\"monthsShort\")||e.map((function(t){return t.substr(0,3)}))).indexOf(t)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[i,function(t){var e=u(\"months\").indexOf(t)+1;if(e<1)throw new Error;this.month=e%12||e}],Y:[/[+-]?\\d+/,a(\"year\")],YY:[n,function(t){this.year=s(t)}],YYYY:[/\\d{4}/,a(\"year\")],Z:f,ZZ:f};function c(n){var r,i;r=n,i=o&&o.formats;for(var s=(n=r.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(e,n,r){var o=r&&r.toUpperCase();return n||i[r]||t[r]||i[o].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(t,e,n){return e||n.slice(1)}))}))).match(e),a=s.length,f=0;f<a;f+=1){var u=s[f],h=d[u],c=h&&h[0],l=h&&h[1];s[f]=l?{regex:c,parser:l}:u.replace(/^\\[|\\]$/g,\"\")}return function(t){for(var e={},n=0,r=0;n<a;n+=1){var i=s[n];if(\"string\"==typeof i)r+=i.length;else{var o=i.regex,f=i.parser,u=t.substr(r),h=o.exec(u)[0];f.call(e,h),t=t.replace(h,\"\")}}return function(t){var e=t.afternoon;if(void 0!==e){var n=t.hours;e?n<12&&(t.hours+=12):12===n&&(t.hours=0),delete t.afternoon}}(e),e}}return function(t,e,n){n.p.customParseFormat=!0,t&&t.parseTwoDigitYear&&(s=t.parseTwoDigitYear);var r=e.prototype,i=r.parse;r.parse=function(t){var e=t.date,r=t.utc,s=t.args;this.$u=r;var a=s[1];if(\"string\"==typeof a){var f=!0===s[2],u=!0===s[3],h=f||u,d=s[2];u&&(d=s[2]),o=this.$locale(),!f&&d&&(o=n.Ls[d]),this.$d=function(t,e,n){try{if([\"x\",\"X\"].indexOf(e)>-1)return new Date((\"X\"===e?1e3:1)*t);var r=c(e)(t),i=r.year,o=r.month,s=r.day,a=r.hours,f=r.minutes,u=r.seconds,h=r.milliseconds,d=r.zone,l=new Date,m=s||(i||o?1:l.getDate()),M=i||l.getFullYear(),Y=0;i&&!o||(Y=o>0?o-1:l.getMonth());var p=a||0,v=f||0,D=u||0,g=h||0;return d?new Date(Date.UTC(M,Y,m,p,v,D,g+60*d.offset*1e3)):n?new Date(Date.UTC(M,Y,m,p,v,D,g)):new Date(M,Y,m,p,v,D,g)}catch(t){return new Date(\"\")}}(e,a,r),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),h&&e!==this.format(a)&&(this.$d=new Date(\"\")),o={}}else if(a instanceof Array)for(var l=a.length,m=1;m<=l;m+=1){s[1]=a[m-1];var M=n.apply(this,s);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===l&&(this.$d=new Date(\"\"))}else i.call(this,t)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_localizedFormat=t()}(this,(function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"};return function(t,o,n){var r=o.prototype,i=r.format;n.en.formats=e,r.format=function(t){void 0===t&&(t=\"YYYY-MM-DDTHH:mm:ssZ\");var o=this.$locale().formats,n=function(t,o){return t.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var i=r&&r.toUpperCase();return n||o[r]||e[r]||o[i].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,o){return t||o.slice(1)}))}))}(t,void 0===o?{}:o);return i.call(this,n)}}}));","!function(r,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(r=\"undefined\"!=typeof globalThis?globalThis:r||self).dayjs_plugin_relativeTime=e()}(this,(function(){\"use strict\";return function(r,e,t){r=r||{};var n=e.prototype,o={future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"};function i(r,e,t,o){return n.fromToBase(r,e,t,o)}t.en.relativeTime=o,n.fromToBase=function(e,n,i,d,u){for(var f,a,s,l=i.$locale().relativeTime||o,h=r.thresholds||[{l:\"s\",r:44,d:\"second\"},{l:\"m\",r:89},{l:\"mm\",r:44,d:\"minute\"},{l:\"h\",r:89},{l:\"hh\",r:21,d:\"hour\"},{l:\"d\",r:35},{l:\"dd\",r:25,d:\"day\"},{l:\"M\",r:45},{l:\"MM\",r:10,d:\"month\"},{l:\"y\",r:17},{l:\"yy\",d:\"year\"}],m=h.length,c=0;c<m;c+=1){var y=h[c];y.d&&(f=d?t(e).diff(i,y.d,!0):i.diff(e,y.d,!0));var p=(r.rounding||Math.round)(Math.abs(f));if(s=f>0,p<=y.r||!y.r){p<=1&&c>0&&(y=h[c-1]);var v=l[y.l];u&&(p=u(\"\"+p)),a=\"string\"==typeof v?v.replace(\"%d\",p):v(p,n,y.l,s);break}}if(n)return a;var M=s?l.future:l.past;return\"function\"==typeof M?M(a):M.replace(\"%s\",a)},n.to=function(r,e){return i(r,e,this,!0)},n.from=function(r,e){return i(r,e,this)};var d=function(r){return r.$u?t.utc():t()};n.toNow=function(r){return this.to(d(this),r)},n.fromNow=function(r){return this.from(d(this),r)}}}));","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_timezone=e()}(this,(function(){\"use strict\";var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,i,o){var r,a=function(t,n,i){void 0===i&&(i={});var o=new Date(t);return function(t,n){void 0===n&&(n={});var i=n.timeZoneName||\"short\",o=t+\"|\"+i,r=e[o];return r||(r=new Intl.DateTimeFormat(\"en-US\",{hour12:!1,timeZone:t,year:\"numeric\",month:\"2-digit\",day:\"2-digit\",hour:\"2-digit\",minute:\"2-digit\",second:\"2-digit\",timeZoneName:i}),e[o]=r),r}(n,i).formatToParts(o)},u=function(e,n){for(var i=a(e,n),r=[],u=0;u<i.length;u+=1){var f=i[u],s=f.type,m=f.value,c=t[s];c>=0&&(r[c]=parseInt(m,10))}var d=r[3],l=24===d?0:d,v=r[0]+\"-\"+r[1]+\"-\"+r[2]+\" \"+l+\":\"+r[4]+\":\"+r[5]+\":000\",h=+e;return(o.utc(v).valueOf()-(h-=h%1e3))/6e4},f=i.prototype;f.tz=function(t,e){void 0===t&&(t=r);var n=this.utcOffset(),i=this.toDate(),a=i.toLocaleString(\"en-US\",{timeZone:t}),u=Math.round((i-new Date(a))/1e3/60),f=o(a).$set(\"millisecond\",this.$ms).utcOffset(15*-Math.round(i.getTimezoneOffset()/15)-u,!0);if(e){var s=f.utcOffset();f=f.add(n-s,\"minute\")}return f.$x.$timezone=t,f},f.offsetName=function(t){var e=this.$x.$timezone||o.tz.guess(),n=a(this.valueOf(),e,{timeZoneName:t}).find((function(t){return\"timezonename\"===t.type.toLowerCase()}));return n&&n.value};var s=f.startOf;f.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return s.call(this,t,e);var n=o(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\"));return s.call(n,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,n){var i=n&&e,a=n||e||r,f=u(+o(),a);if(\"string\"!=typeof t)return o(t).tz(a);var s=function(t,e,n){var i=t-60*e*1e3,o=u(i,n);if(e===o)return[i,e];var r=u(i-=60*(o-e)*1e3,n);return o===r?[i,o]:[t-60*Math.min(o,r)*1e3,Math.max(o,r)]}(o.utc(t,i).valueOf(),f,a),m=s[0],c=s[1],d=o(m).utcOffset(c);return d.$x.$timezone=a,d},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){r=t}}}));","!function(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_utc=i()}(this,(function(){\"use strict\";var t=\"minute\",i=/[+-]\\d\\d(?::?\\d\\d)?/g,e=/([+-]|\\d\\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t)};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else r.call(this)};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if(\"string\"==typeof s&&null===(s=function(t){void 0===t&&(t=\"\");var s=t.match(i);if(!s)return null;var f=(\"\"+s[0]).match(e)||[\"-\",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:\"+\"===n?u:-u}(s)))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?\"YYYY-MM-DDTHH:mm:ss[Z]\":\"\");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||(new Date).getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return\"s\"===t&&this.$offset?n(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)}}}));","'use strict';\n/* globals Symbol: false, Uint8Array: false, WeakMap: false */\n/*!\n * deep-eql\n * Copyright(c) 2013 Jake Luer <jake@alogicalparadox.com>\n * MIT Licensed\n */\n\nvar type = require('type-detect');\nfunction FakeMap() {\n  this._key = 'chai/deep-eql__' + Math.random() + Date.now();\n}\n\nFakeMap.prototype = {\n  get: function get(key) {\n    return key[this._key];\n  },\n  set: function set(key, value) {\n    if (Object.isExtensible(key)) {\n      Object.defineProperty(key, this._key, {\n        value: value,\n        configurable: true,\n      });\n    }\n  },\n};\n\nvar MemoizeMap = typeof WeakMap === 'function' ? WeakMap : FakeMap;\n/*!\n * Check to see if the MemoizeMap has recorded a result of the two operands\n *\n * @param {Mixed} leftHandOperand\n * @param {Mixed} rightHandOperand\n * @param {MemoizeMap} memoizeMap\n * @returns {Boolean|null} result\n*/\nfunction memoizeCompare(leftHandOperand, rightHandOperand, memoizeMap) {\n  // Technically, WeakMap keys can *only* be objects, not primitives.\n  if (!memoizeMap || isPrimitive(leftHandOperand) || isPrimitive(rightHandOperand)) {\n    return null;\n  }\n  var leftHandMap = memoizeMap.get(leftHandOperand);\n  if (leftHandMap) {\n    var result = leftHandMap.get(rightHandOperand);\n    if (typeof result === 'boolean') {\n      return result;\n    }\n  }\n  return null;\n}\n\n/*!\n * Set the result of the equality into the MemoizeMap\n *\n * @param {Mixed} leftHandOperand\n * @param {Mixed} rightHandOperand\n * @param {MemoizeMap} memoizeMap\n * @param {Boolean} result\n*/\nfunction memoizeSet(leftHandOperand, rightHandOperand, memoizeMap, result) {\n  // Technically, WeakMap keys can *only* be objects, not primitives.\n  if (!memoizeMap || isPrimitive(leftHandOperand) || isPrimitive(rightHandOperand)) {\n    return;\n  }\n  var leftHandMap = memoizeMap.get(leftHandOperand);\n  if (leftHandMap) {\n    leftHandMap.set(rightHandOperand, result);\n  } else {\n    leftHandMap = new MemoizeMap();\n    leftHandMap.set(rightHandOperand, result);\n    memoizeMap.set(leftHandOperand, leftHandMap);\n  }\n}\n\n/*!\n * Primary Export\n */\n\nmodule.exports = deepEqual;\nmodule.exports.MemoizeMap = MemoizeMap;\n\n/**\n * Assert deeply nested sameValue equality between two objects of any type.\n *\n * @param {Mixed} leftHandOperand\n * @param {Mixed} rightHandOperand\n * @param {Object} [options] (optional) Additional options\n * @param {Array} [options.comparator] (optional) Override default algorithm, determining custom equality.\n * @param {Array} [options.memoize] (optional) Provide a custom memoization object which will cache the results of\n    complex objects for a speed boost. By passing `false` you can disable memoization, but this will cause circular\n    references to blow the stack.\n * @return {Boolean} equal match\n */\nfunction deepEqual(leftHandOperand, rightHandOperand, options) {\n  // If we have a comparator, we can't assume anything; so bail to its check first.\n  if (options && options.comparator) {\n    return extensiveDeepEqual(leftHandOperand, rightHandOperand, options);\n  }\n\n  var simpleResult = simpleEqual(leftHandOperand, rightHandOperand);\n  if (simpleResult !== null) {\n    return simpleResult;\n  }\n\n  // Deeper comparisons are pushed through to a larger function\n  return extensiveDeepEqual(leftHandOperand, rightHandOperand, options);\n}\n\n/**\n * Many comparisons can be canceled out early via simple equality or primitive checks.\n * @param {Mixed} leftHandOperand\n * @param {Mixed} rightHandOperand\n * @return {Boolean|null} equal match\n */\nfunction simpleEqual(leftHandOperand, rightHandOperand) {\n  // Equal references (except for Numbers) can be returned early\n  if (leftHandOperand === rightHandOperand) {\n    // Handle +-0 cases\n    return leftHandOperand !== 0 || 1 / leftHandOperand === 1 / rightHandOperand;\n  }\n\n  // handle NaN cases\n  if (\n    leftHandOperand !== leftHandOperand && // eslint-disable-line no-self-compare\n    rightHandOperand !== rightHandOperand // eslint-disable-line no-self-compare\n  ) {\n    return true;\n  }\n\n  // Anything that is not an 'object', i.e. symbols, functions, booleans, numbers,\n  // strings, and undefined, can be compared by reference.\n  if (isPrimitive(leftHandOperand) || isPrimitive(rightHandOperand)) {\n    // Easy out b/c it would have passed the first equality check\n    return false;\n  }\n  return null;\n}\n\n/*!\n * The main logic of the `deepEqual` function.\n *\n * @param {Mixed} leftHandOperand\n * @param {Mixed} rightHandOperand\n * @param {Object} [options] (optional) Additional options\n * @param {Array} [options.comparator] (optional) Override default algorithm, determining custom equality.\n * @param {Array} [options.memoize] (optional) Provide a custom memoization object which will cache the results of\n    complex objects for a speed boost. By passing `false` you can disable memoization, but this will cause circular\n    references to blow the stack.\n * @return {Boolean} equal match\n*/\nfunction extensiveDeepEqual(leftHandOperand, rightHandOperand, options) {\n  options = options || {};\n  options.memoize = options.memoize === false ? false : options.memoize || new MemoizeMap();\n  var comparator = options && options.comparator;\n\n  // Check if a memoized result exists.\n  var memoizeResultLeft = memoizeCompare(leftHandOperand, rightHandOperand, options.memoize);\n  if (memoizeResultLeft !== null) {\n    return memoizeResultLeft;\n  }\n  var memoizeResultRight = memoizeCompare(rightHandOperand, leftHandOperand, options.memoize);\n  if (memoizeResultRight !== null) {\n    return memoizeResultRight;\n  }\n\n  // If a comparator is present, use it.\n  if (comparator) {\n    var comparatorResult = comparator(leftHandOperand, rightHandOperand);\n    // Comparators may return null, in which case we want to go back to default behavior.\n    if (comparatorResult === false || comparatorResult === true) {\n      memoizeSet(leftHandOperand, rightHandOperand, options.memoize, comparatorResult);\n      return comparatorResult;\n    }\n    // To allow comparators to override *any* behavior, we ran them first. Since it didn't decide\n    // what to do, we need to make sure to return the basic tests first before we move on.\n    var simpleResult = simpleEqual(leftHandOperand, rightHandOperand);\n    if (simpleResult !== null) {\n      // Don't memoize this, it takes longer to set/retrieve than to just compare.\n      return simpleResult;\n    }\n  }\n\n  var leftHandType = type(leftHandOperand);\n  if (leftHandType !== type(rightHandOperand)) {\n    memoizeSet(leftHandOperand, rightHandOperand, options.memoize, false);\n    return false;\n  }\n\n  // Temporarily set the operands in the memoize object to prevent blowing the stack\n  memoizeSet(leftHandOperand, rightHandOperand, options.memoize, true);\n\n  var result = extensiveDeepEqualByType(leftHandOperand, rightHandOperand, leftHandType, options);\n  memoizeSet(leftHandOperand, rightHandOperand, options.memoize, result);\n  return result;\n}\n\nfunction extensiveDeepEqualByType(leftHandOperand, rightHandOperand, leftHandType, options) {\n  switch (leftHandType) {\n    case 'String':\n    case 'Number':\n    case 'Boolean':\n    case 'Date':\n      // If these types are their instance types (e.g. `new Number`) then re-deepEqual against their values\n      return deepEqual(leftHandOperand.valueOf(), rightHandOperand.valueOf());\n    case 'Promise':\n    case 'Symbol':\n    case 'function':\n    case 'WeakMap':\n    case 'WeakSet':\n      return leftHandOperand === rightHandOperand;\n    case 'Error':\n      return keysEqual(leftHandOperand, rightHandOperand, [ 'name', 'message', 'code' ], options);\n    case 'Arguments':\n    case 'Int8Array':\n    case 'Uint8Array':\n    case 'Uint8ClampedArray':\n    case 'Int16Array':\n    case 'Uint16Array':\n    case 'Int32Array':\n    case 'Uint32Array':\n    case 'Float32Array':\n    case 'Float64Array':\n    case 'Array':\n      return iterableEqual(leftHandOperand, rightHandOperand, options);\n    case 'RegExp':\n      return regexpEqual(leftHandOperand, rightHandOperand);\n    case 'Generator':\n      return generatorEqual(leftHandOperand, rightHandOperand, options);\n    case 'DataView':\n      return iterableEqual(new Uint8Array(leftHandOperand.buffer), new Uint8Array(rightHandOperand.buffer), options);\n    case 'ArrayBuffer':\n      return iterableEqual(new Uint8Array(leftHandOperand), new Uint8Array(rightHandOperand), options);\n    case 'Set':\n      return entriesEqual(leftHandOperand, rightHandOperand, options);\n    case 'Map':\n      return entriesEqual(leftHandOperand, rightHandOperand, options);\n    case 'Temporal.PlainDate':\n    case 'Temporal.PlainTime':\n    case 'Temporal.PlainDateTime':\n    case 'Temporal.Instant':\n    case 'Temporal.ZonedDateTime':\n    case 'Temporal.PlainYearMonth':\n    case 'Temporal.PlainMonthDay':\n      return leftHandOperand.equals(rightHandOperand);\n    case 'Temporal.Duration':\n      return leftHandOperand.total('nanoseconds') === rightHandOperand.total('nanoseconds');\n    case 'Temporal.TimeZone':\n    case 'Temporal.Calendar':\n      return leftHandOperand.toString() === rightHandOperand.toString();\n    default:\n      return objectEqual(leftHandOperand, rightHandOperand, options);\n  }\n}\n\n/*!\n * Compare two Regular Expressions for equality.\n *\n * @param {RegExp} leftHandOperand\n * @param {RegExp} rightHandOperand\n * @return {Boolean} result\n */\n\nfunction regexpEqual(leftHandOperand, rightHandOperand) {\n  return leftHandOperand.toString() === rightHandOperand.toString();\n}\n\n/*!\n * Compare two Sets/Maps for equality. Faster than other equality functions.\n *\n * @param {Set} leftHandOperand\n * @param {Set} rightHandOperand\n * @param {Object} [options] (Optional)\n * @return {Boolean} result\n */\n\nfunction entriesEqual(leftHandOperand, rightHandOperand, options) {\n  try {\n    // IE11 doesn't support Set#entries or Set#@@iterator, so we need manually populate using Set#forEach\n    if (leftHandOperand.size !== rightHandOperand.size) {\n      return false;\n    }\n    if (leftHandOperand.size === 0) {\n      return true;\n    }\n  } catch (sizeError) {\n    // things that aren't actual Maps or Sets will throw here\n    return false;\n  }\n  var leftHandItems = [];\n  var rightHandItems = [];\n  leftHandOperand.forEach(function gatherEntries(key, value) {\n    leftHandItems.push([ key, value ]);\n  });\n  rightHandOperand.forEach(function gatherEntries(key, value) {\n    rightHandItems.push([ key, value ]);\n  });\n  return iterableEqual(leftHandItems.sort(), rightHandItems.sort(), options);\n}\n\n/*!\n * Simple equality for flat iterable objects such as Arrays, TypedArrays or Node.js buffers.\n *\n * @param {Iterable} leftHandOperand\n * @param {Iterable} rightHandOperand\n * @param {Object} [options] (Optional)\n * @return {Boolean} result\n */\n\nfunction iterableEqual(leftHandOperand, rightHandOperand, options) {\n  var length = leftHandOperand.length;\n  if (length !== rightHandOperand.length) {\n    return false;\n  }\n  if (length === 0) {\n    return true;\n  }\n  var index = -1;\n  while (++index < length) {\n    if (deepEqual(leftHandOperand[index], rightHandOperand[index], options) === false) {\n      return false;\n    }\n  }\n  return true;\n}\n\n/*!\n * Simple equality for generator objects such as those returned by generator functions.\n *\n * @param {Iterable} leftHandOperand\n * @param {Iterable} rightHandOperand\n * @param {Object} [options] (Optional)\n * @return {Boolean} result\n */\n\nfunction generatorEqual(leftHandOperand, rightHandOperand, options) {\n  return iterableEqual(getGeneratorEntries(leftHandOperand), getGeneratorEntries(rightHandOperand), options);\n}\n\n/*!\n * Determine if the given object has an @@iterator function.\n *\n * @param {Object} target\n * @return {Boolean} `true` if the object has an @@iterator function.\n */\nfunction hasIteratorFunction(target) {\n  return typeof Symbol !== 'undefined' &&\n    typeof target === 'object' &&\n    typeof Symbol.iterator !== 'undefined' &&\n    typeof target[Symbol.iterator] === 'function';\n}\n\n/*!\n * Gets all iterator entries from the given Object. If the Object has no @@iterator function, returns an empty array.\n * This will consume the iterator - which could have side effects depending on the @@iterator implementation.\n *\n * @param {Object} target\n * @returns {Array} an array of entries from the @@iterator function\n */\nfunction getIteratorEntries(target) {\n  if (hasIteratorFunction(target)) {\n    try {\n      return getGeneratorEntries(target[Symbol.iterator]());\n    } catch (iteratorError) {\n      return [];\n    }\n  }\n  return [];\n}\n\n/*!\n * Gets all entries from a Generator. This will consume the generator - which could have side effects.\n *\n * @param {Generator} target\n * @returns {Array} an array of entries from the Generator.\n */\nfunction getGeneratorEntries(generator) {\n  var generatorResult = generator.next();\n  var accumulator = [ generatorResult.value ];\n  while (generatorResult.done === false) {\n    generatorResult = generator.next();\n    accumulator.push(generatorResult.value);\n  }\n  return accumulator;\n}\n\n/*!\n * Gets all own and inherited enumerable keys from a target.\n *\n * @param {Object} target\n * @returns {Array} an array of own and inherited enumerable keys from the target.\n */\nfunction getEnumerableKeys(target) {\n  var keys = [];\n  for (var key in target) {\n    keys.push(key);\n  }\n  return keys;\n}\n\nfunction getEnumerableSymbols(target) {\n  var keys = [];\n  var allKeys = Object.getOwnPropertySymbols(target);\n  for (var i = 0; i < allKeys.length; i += 1) {\n    var key = allKeys[i];\n    if (Object.getOwnPropertyDescriptor(target, key).enumerable) {\n      keys.push(key);\n    }\n  }\n  return keys;\n}\n\n/*!\n * Determines if two objects have matching values, given a set of keys. Defers to deepEqual for the equality check of\n * each key. If any value of the given key is not equal, the function will return false (early).\n *\n * @param {Mixed} leftHandOperand\n * @param {Mixed} rightHandOperand\n * @param {Array} keys An array of keys to compare the values of leftHandOperand and rightHandOperand against\n * @param {Object} [options] (Optional)\n * @return {Boolean} result\n */\nfunction keysEqual(leftHandOperand, rightHandOperand, keys, options) {\n  var length = keys.length;\n  if (length === 0) {\n    return true;\n  }\n  for (var i = 0; i < length; i += 1) {\n    if (deepEqual(leftHandOperand[keys[i]], rightHandOperand[keys[i]], options) === false) {\n      return false;\n    }\n  }\n  return true;\n}\n\n/*!\n * Recursively check the equality of two Objects. Once basic sameness has been established it will defer to `deepEqual`\n * for each enumerable key in the object.\n *\n * @param {Mixed} leftHandOperand\n * @param {Mixed} rightHandOperand\n * @param {Object} [options] (Optional)\n * @return {Boolean} result\n */\nfunction objectEqual(leftHandOperand, rightHandOperand, options) {\n  var leftHandKeys = getEnumerableKeys(leftHandOperand);\n  var rightHandKeys = getEnumerableKeys(rightHandOperand);\n  var leftHandSymbols = getEnumerableSymbols(leftHandOperand);\n  var rightHandSymbols = getEnumerableSymbols(rightHandOperand);\n  leftHandKeys = leftHandKeys.concat(leftHandSymbols);\n  rightHandKeys = rightHandKeys.concat(rightHandSymbols);\n\n  if (leftHandKeys.length && leftHandKeys.length === rightHandKeys.length) {\n    if (iterableEqual(mapSymbols(leftHandKeys).sort(), mapSymbols(rightHandKeys).sort()) === false) {\n      return false;\n    }\n    return keysEqual(leftHandOperand, rightHandOperand, leftHandKeys, options);\n  }\n\n  var leftHandEntries = getIteratorEntries(leftHandOperand);\n  var rightHandEntries = getIteratorEntries(rightHandOperand);\n  if (leftHandEntries.length && leftHandEntries.length === rightHandEntries.length) {\n    leftHandEntries.sort();\n    rightHandEntries.sort();\n    return iterableEqual(leftHandEntries, rightHandEntries, options);\n  }\n\n  if (leftHandKeys.length === 0 &&\n      leftHandEntries.length === 0 &&\n      rightHandKeys.length === 0 &&\n      rightHandEntries.length === 0) {\n    return true;\n  }\n\n  return false;\n}\n\n/*!\n * Returns true if the argument is a primitive.\n *\n * This intentionally returns true for all objects that can be compared by reference,\n * including functions and symbols.\n *\n * @param {Mixed} value\n * @return {Boolean} result\n */\nfunction isPrimitive(value) {\n  return value === null || typeof value !== 'object';\n}\n\nfunction mapSymbols(arr) {\n  return arr.map(function mapSymbol(entry) {\n    if (typeof entry === 'symbol') {\n      return entry.toString();\n    }\n\n    return entry;\n  });\n}\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\n\nvar gopd = require('gopd');\n\n/** @type {import('.')} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor<unknown>} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar defineDataProperty = require('define-data-property');\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar supportsDescriptors = require('has-property-descriptors')();\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object) {\n\t\tif (predicate === true) {\n\t\t\tif (object[name] === value) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if (!isFunction(predicate) || !predicate()) {\n\t\t\treturn;\n\t\t}\n\t}\n\n\tif (supportsDescriptors) {\n\t\tdefineDataProperty(object, name, value, true);\n\t} else {\n\t\tdefineDataProperty(object, name, value);\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","'use strict';\n\nvar callBind = require('call-bind-apply-helpers');\nvar gOPD = require('gopd');\n\nvar hasProtoAccessor;\ntry {\n\t// eslint-disable-next-line no-extra-parens, no-proto\n\thasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */ ([]).__proto__ === Array.prototype;\n} catch (e) {\n\tif (!e || typeof e !== 'object' || !('code' in e) || e.code !== 'ERR_PROTO_ACCESS') {\n\t\tthrow e;\n\t}\n}\n\n// eslint-disable-next-line no-extra-parens\nvar desc = !!hasProtoAccessor && gOPD && gOPD(Object.prototype, /** @type {keyof typeof Object.prototype} */ ('__proto__'));\n\nvar $Object = Object;\nvar $getPrototypeOf = $Object.getPrototypeOf;\n\n/** @type {import('./get')} */\nmodule.exports = desc && typeof desc.get === 'function'\n\t? callBind([desc.get])\n\t: typeof $getPrototypeOf === 'function'\n\t\t? /** @type {import('./get')} */ function getDunder(value) {\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\treturn $getPrototypeOf(value == null ? value : $Object(value));\n\t\t}\n\t\t: false;\n","'use strict';\n\n/** @type {import('.')} */\nvar $defineProperty = Object.defineProperty || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Object;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n  ? R.apply\n  : function ReflectApply(target, receiver, args) {\n    return Function.prototype.apply.call(target, receiver, args);\n  }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n  ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n  ReflectOwnKeys = function ReflectOwnKeys(target) {\n    return Object.getOwnPropertyNames(target)\n      .concat(Object.getOwnPropertySymbols(target));\n  };\n} else {\n  ReflectOwnKeys = function ReflectOwnKeys(target) {\n    return Object.getOwnPropertyNames(target);\n  };\n}\n\nfunction ProcessEmitWarning(warning) {\n  if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n  return value !== value;\n}\n\nfunction EventEmitter() {\n  EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n  if (typeof listener !== 'function') {\n    throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n  }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n  enumerable: true,\n  get: function() {\n    return defaultMaxListeners;\n  },\n  set: function(arg) {\n    if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n      throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n    }\n    defaultMaxListeners = arg;\n  }\n});\n\nEventEmitter.init = function() {\n\n  if (this._events === undefined ||\n      this._events === Object.getPrototypeOf(this)._events) {\n    this._events = Object.create(null);\n    this._eventsCount = 0;\n  }\n\n  this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n  if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n    throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n  }\n  this._maxListeners = n;\n  return this;\n};\n\nfunction _getMaxListeners(that) {\n  if (that._maxListeners === undefined)\n    return EventEmitter.defaultMaxListeners;\n  return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n  return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n  var args = [];\n  for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n  var doError = (type === 'error');\n\n  var events = this._events;\n  if (events !== undefined)\n    doError = (doError && events.error === undefined);\n  else if (!doError)\n    return false;\n\n  // If there is no 'error' event listener then throw.\n  if (doError) {\n    var er;\n    if (args.length > 0)\n      er = args[0];\n    if (er instanceof Error) {\n      // Note: The comments on the `throw` lines are intentional, they show\n      // up in Node's output if this results in an unhandled exception.\n      throw er; // Unhandled 'error' event\n    }\n    // At least give some kind of context to the user\n    var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n    err.context = er;\n    throw err; // Unhandled 'error' event\n  }\n\n  var handler = events[type];\n\n  if (handler === undefined)\n    return false;\n\n  if (typeof handler === 'function') {\n    ReflectApply(handler, this, args);\n  } else {\n    var len = handler.length;\n    var listeners = arrayClone(handler, len);\n    for (var i = 0; i < len; ++i)\n      ReflectApply(listeners[i], this, args);\n  }\n\n  return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n  var m;\n  var events;\n  var existing;\n\n  checkListener(listener);\n\n  events = target._events;\n  if (events === undefined) {\n    events = target._events = Object.create(null);\n    target._eventsCount = 0;\n  } else {\n    // To avoid recursion in the case that type === \"newListener\"! Before\n    // adding it to the listeners, first emit \"newListener\".\n    if (events.newListener !== undefined) {\n      target.emit('newListener', type,\n                  listener.listener ? listener.listener : listener);\n\n      // Re-assign `events` because a newListener handler could have caused the\n      // this._events to be assigned to a new object\n      events = target._events;\n    }\n    existing = events[type];\n  }\n\n  if (existing === undefined) {\n    // Optimize the case of one listener. Don't need the extra array object.\n    existing = events[type] = listener;\n    ++target._eventsCount;\n  } else {\n    if (typeof existing === 'function') {\n      // Adding the second element, need to change to array.\n      existing = events[type] =\n        prepend ? [listener, existing] : [existing, listener];\n      // If we've already got an array, just append.\n    } else if (prepend) {\n      existing.unshift(listener);\n    } else {\n      existing.push(listener);\n    }\n\n    // Check for listener leak\n    m = _getMaxListeners(target);\n    if (m > 0 && existing.length > m && !existing.warned) {\n      existing.warned = true;\n      // No error code for this since it is a Warning\n      // eslint-disable-next-line no-restricted-syntax\n      var w = new Error('Possible EventEmitter memory leak detected. ' +\n                          existing.length + ' ' + String(type) + ' listeners ' +\n                          'added. Use emitter.setMaxListeners() to ' +\n                          'increase limit');\n      w.name = 'MaxListenersExceededWarning';\n      w.emitter = target;\n      w.type = type;\n      w.count = existing.length;\n      ProcessEmitWarning(w);\n    }\n  }\n\n  return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n  return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n    function prependListener(type, listener) {\n      return _addListener(this, type, listener, true);\n    };\n\nfunction onceWrapper() {\n  if (!this.fired) {\n    this.target.removeListener(this.type, this.wrapFn);\n    this.fired = true;\n    if (arguments.length === 0)\n      return this.listener.call(this.target);\n    return this.listener.apply(this.target, arguments);\n  }\n}\n\nfunction _onceWrap(target, type, listener) {\n  var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n  var wrapped = onceWrapper.bind(state);\n  wrapped.listener = listener;\n  state.wrapFn = wrapped;\n  return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n  checkListener(listener);\n  this.on(type, _onceWrap(this, type, listener));\n  return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n    function prependOnceListener(type, listener) {\n      checkListener(listener);\n      this.prependListener(type, _onceWrap(this, type, listener));\n      return this;\n    };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n    function removeListener(type, listener) {\n      var list, events, position, i, originalListener;\n\n      checkListener(listener);\n\n      events = this._events;\n      if (events === undefined)\n        return this;\n\n      list = events[type];\n      if (list === undefined)\n        return this;\n\n      if (list === listener || list.listener === listener) {\n        if (--this._eventsCount === 0)\n          this._events = Object.create(null);\n        else {\n          delete events[type];\n          if (events.removeListener)\n            this.emit('removeListener', type, list.listener || listener);\n        }\n      } else if (typeof list !== 'function') {\n        position = -1;\n\n        for (i = list.length - 1; i >= 0; i--) {\n          if (list[i] === listener || list[i].listener === listener) {\n            originalListener = list[i].listener;\n            position = i;\n            break;\n          }\n        }\n\n        if (position < 0)\n          return this;\n\n        if (position === 0)\n          list.shift();\n        else {\n          spliceOne(list, position);\n        }\n\n        if (list.length === 1)\n          events[type] = list[0];\n\n        if (events.removeListener !== undefined)\n          this.emit('removeListener', type, originalListener || listener);\n      }\n\n      return this;\n    };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n    function removeAllListeners(type) {\n      var listeners, events, i;\n\n      events = this._events;\n      if (events === undefined)\n        return this;\n\n      // not listening for removeListener, no need to emit\n      if (events.removeListener === undefined) {\n        if (arguments.length === 0) {\n          this._events = Object.create(null);\n          this._eventsCount = 0;\n        } else if (events[type] !== undefined) {\n          if (--this._eventsCount === 0)\n            this._events = Object.create(null);\n          else\n            delete events[type];\n        }\n        return this;\n      }\n\n      // emit removeListener for all listeners on all events\n      if (arguments.length === 0) {\n        var keys = Object.keys(events);\n        var key;\n        for (i = 0; i < keys.length; ++i) {\n          key = keys[i];\n          if (key === 'removeListener') continue;\n          this.removeAllListeners(key);\n        }\n        this.removeAllListeners('removeListener');\n        this._events = Object.create(null);\n        this._eventsCount = 0;\n        return this;\n      }\n\n      listeners = events[type];\n\n      if (typeof listeners === 'function') {\n        this.removeListener(type, listeners);\n      } else if (listeners !== undefined) {\n        // LIFO order\n        for (i = listeners.length - 1; i >= 0; i--) {\n          this.removeListener(type, listeners[i]);\n        }\n      }\n\n      return this;\n    };\n\nfunction _listeners(target, type, unwrap) {\n  var events = target._events;\n\n  if (events === undefined)\n    return [];\n\n  var evlistener = events[type];\n  if (evlistener === undefined)\n    return [];\n\n  if (typeof evlistener === 'function')\n    return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n  return unwrap ?\n    unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n  return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n  return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n  if (typeof emitter.listenerCount === 'function') {\n    return emitter.listenerCount(type);\n  } else {\n    return listenerCount.call(emitter, type);\n  }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n  var events = this._events;\n\n  if (events !== undefined) {\n    var evlistener = events[type];\n\n    if (typeof evlistener === 'function') {\n      return 1;\n    } else if (evlistener !== undefined) {\n      return evlistener.length;\n    }\n  }\n\n  return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n  return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n  var copy = new Array(n);\n  for (var i = 0; i < n; ++i)\n    copy[i] = arr[i];\n  return copy;\n}\n\nfunction spliceOne(list, index) {\n  for (; index + 1 < list.length; index++)\n    list[index] = list[index + 1];\n  list.pop();\n}\n\nfunction unwrapListeners(arr) {\n  var ret = new Array(arr.length);\n  for (var i = 0; i < ret.length; ++i) {\n    ret[i] = arr[i].listener || arr[i];\n  }\n  return ret;\n}\n\nfunction once(emitter, name) {\n  return new Promise(function (resolve, reject) {\n    function errorListener(err) {\n      emitter.removeListener(name, resolver);\n      reject(err);\n    }\n\n    function resolver() {\n      if (typeof emitter.removeListener === 'function') {\n        emitter.removeListener('error', errorListener);\n      }\n      resolve([].slice.call(arguments));\n    };\n\n    eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n    if (name !== 'error') {\n      addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n    }\n  });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n  if (typeof emitter.on === 'function') {\n    eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n  }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n  if (typeof emitter.on === 'function') {\n    if (flags.once) {\n      emitter.once(name, listener);\n    } else {\n      emitter.on(name, listener);\n    }\n  } else if (typeof emitter.addEventListener === 'function') {\n    // EventTarget does not have `error` event semantics like Node\n    // EventEmitters, we do not listen for `error` events here.\n    emitter.addEventListener(name, function wrapListener(arg) {\n      // IE does not have builtin `{ once: true }` support so we\n      // have to do it manually.\n      if (flags.once) {\n        emitter.removeEventListener(name, wrapListener);\n      }\n      listener(arg);\n    });\n  } else {\n    throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n  }\n}\n","'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n  if (a === b) return true;\n\n  if (a && b && typeof a == 'object' && typeof b == 'object') {\n    if (a.constructor !== b.constructor) return false;\n\n    var length, i, keys;\n    if (Array.isArray(a)) {\n      length = a.length;\n      if (length != b.length) return false;\n      for (i = length; i-- !== 0;)\n        if (!equal(a[i], b[i])) return false;\n      return true;\n    }\n\n\n\n    if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n    if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n    if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n    keys = Object.keys(a);\n    length = keys.length;\n    if (length !== Object.keys(b).length) return false;\n\n    for (i = length; i-- !== 0;)\n      if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n    for (i = length; i-- !== 0;) {\n      var key = keys[i];\n\n      if (!equal(a[key], b[key])) return false;\n    }\n\n    return true;\n  }\n\n  // true if both NaN, false otherwise\n  return a!==a && b!==b;\n};\n","'use strict';\n\nmodule.exports = function (data, opts) {\n    if (!opts) opts = {};\n    if (typeof opts === 'function') opts = { cmp: opts };\n    var cycles = (typeof opts.cycles === 'boolean') ? opts.cycles : false;\n\n    var cmp = opts.cmp && (function (f) {\n        return function (node) {\n            return function (a, b) {\n                var aobj = { key: a, value: node[a] };\n                var bobj = { key: b, value: node[b] };\n                return f(aobj, bobj);\n            };\n        };\n    })(opts.cmp);\n\n    var seen = [];\n    return (function stringify (node) {\n        if (node && node.toJSON && typeof node.toJSON === 'function') {\n            node = node.toJSON();\n        }\n\n        if (node === undefined) return;\n        if (typeof node == 'number') return isFinite(node) ? '' + node : 'null';\n        if (typeof node !== 'object') return JSON.stringify(node);\n\n        var i, out;\n        if (Array.isArray(node)) {\n            out = '[';\n            for (i = 0; i < node.length; i++) {\n                if (i) out += ',';\n                out += stringify(node[i]) || 'null';\n            }\n            return out + ']';\n        }\n\n        if (node === null) return 'null';\n\n        if (seen.indexOf(node) !== -1) {\n            if (cycles) return JSON.stringify('__cycle__');\n            throw new TypeError('Converting circular structure to JSON');\n        }\n\n        var seenIndex = seen.push(node) - 1;\n        var keys = Object.keys(node).sort(cmp && cmp(node));\n        out = '';\n        for (i = 0; i < keys.length; i++) {\n            var key = keys[i];\n            var value = stringify(node[key]);\n\n            if (!value) continue;\n            if (out) out += ',';\n            out += JSON.stringify(key) + ':' + value;\n        }\n        seen.splice(seenIndex, 1);\n        return '{' + out + '}';\n    })(data);\n};\n","'use strict';\n\nvar isCallable = require('is-callable');\n\nvar toStr = Object.prototype.toString;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/** @type {<This, A extends readonly unknown[]>(arr: A, iterator: (this: This | void, value: A[number], index: number, arr: A) => void, receiver: This | undefined) => void} */\nvar forEachArray = function forEachArray(array, iterator, receiver) {\n    for (var i = 0, len = array.length; i < len; i++) {\n        if (hasOwnProperty.call(array, i)) {\n            if (receiver == null) {\n                iterator(array[i], i, array);\n            } else {\n                iterator.call(receiver, array[i], i, array);\n            }\n        }\n    }\n};\n\n/** @type {<This, S extends string>(string: S, iterator: (this: This | void, value: S[number], index: number, string: S) => void, receiver: This | undefined) => void} */\nvar forEachString = function forEachString(string, iterator, receiver) {\n    for (var i = 0, len = string.length; i < len; i++) {\n        // no such thing as a sparse string.\n        if (receiver == null) {\n            iterator(string.charAt(i), i, string);\n        } else {\n            iterator.call(receiver, string.charAt(i), i, string);\n        }\n    }\n};\n\n/** @type {<This, O>(obj: O, iterator: (this: This | void, value: O[keyof O], index: keyof O, obj: O) => void, receiver: This | undefined) => void} */\nvar forEachObject = function forEachObject(object, iterator, receiver) {\n    for (var k in object) {\n        if (hasOwnProperty.call(object, k)) {\n            if (receiver == null) {\n                iterator(object[k], k, object);\n            } else {\n                iterator.call(receiver, object[k], k, object);\n            }\n        }\n    }\n};\n\n/** @type {(x: unknown) => x is readonly unknown[]} */\nfunction isArray(x) {\n    return toStr.call(x) === '[object Array]';\n}\n\n/** @type {import('.')._internal} */\nmodule.exports = function forEach(list, iterator, thisArg) {\n    if (!isCallable(iterator)) {\n        throw new TypeError('iterator must be a function');\n    }\n\n    var receiver;\n    if (arguments.length >= 3) {\n        receiver = thisArg;\n    }\n\n    if (isArray(list)) {\n        forEachArray(list, iterator, receiver);\n    } else if (typeof list === 'string') {\n        forEachString(list, iterator, receiver);\n    } else {\n        forEachObject(list, iterator, receiver);\n    }\n};\n","'use strict'\n\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst mkdirpSync = require('../mkdirs').mkdirsSync\nconst utimesSync = require('../util/utimes.js').utimesMillisSync\nconst stat = require('../util/stat')\n\nfunction copySync (src, dest, opts) {\n  if (typeof opts === 'function') {\n    opts = { filter: opts }\n  }\n\n  opts = opts || {}\n  opts.clobber = 'clobber' in opts ? !!opts.clobber : true // default to true for now\n  opts.overwrite = 'overwrite' in opts ? !!opts.overwrite : opts.clobber // overwrite falls back to clobber\n\n  // Warn about using preserveTimestamps on 32-bit node\n  if (opts.preserveTimestamps && process.arch === 'ia32') {\n    console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;\\n\n    see https://github.com/jprichardson/node-fs-extra/issues/269`)\n  }\n\n  const { srcStat, destStat } = stat.checkPathsSync(src, dest, 'copy')\n  stat.checkParentPathsSync(src, srcStat, dest, 'copy')\n  return handleFilterAndCopy(destStat, src, dest, opts)\n}\n\nfunction handleFilterAndCopy (destStat, src, dest, opts) {\n  if (opts.filter && !opts.filter(src, dest)) return\n  const destParent = path.dirname(dest)\n  if (!fs.existsSync(destParent)) mkdirpSync(destParent)\n  return startCopy(destStat, src, dest, opts)\n}\n\nfunction startCopy (destStat, src, dest, opts) {\n  if (opts.filter && !opts.filter(src, dest)) return\n  return getStats(destStat, src, dest, opts)\n}\n\nfunction getStats (destStat, src, dest, opts) {\n  const statSync = opts.dereference ? fs.statSync : fs.lstatSync\n  const srcStat = statSync(src)\n\n  if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts)\n  else if (srcStat.isFile() ||\n           srcStat.isCharacterDevice() ||\n           srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts)\n  else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts)\n}\n\nfunction onFile (srcStat, destStat, src, dest, opts) {\n  if (!destStat) return copyFile(srcStat, src, dest, opts)\n  return mayCopyFile(srcStat, src, dest, opts)\n}\n\nfunction mayCopyFile (srcStat, src, dest, opts) {\n  if (opts.overwrite) {\n    fs.unlinkSync(dest)\n    return copyFile(srcStat, src, dest, opts)\n  } else if (opts.errorOnExist) {\n    throw new Error(`'${dest}' already exists`)\n  }\n}\n\nfunction copyFile (srcStat, src, dest, opts) {\n  if (typeof fs.copyFileSync === 'function') {\n    fs.copyFileSync(src, dest)\n    fs.chmodSync(dest, srcStat.mode)\n    if (opts.preserveTimestamps) {\n      return utimesSync(dest, srcStat.atime, srcStat.mtime)\n    }\n    return\n  }\n  return copyFileFallback(srcStat, src, dest, opts)\n}\n\nfunction copyFileFallback (srcStat, src, dest, opts) {\n  const BUF_LENGTH = 64 * 1024\n  const _buff = require('../util/buffer')(BUF_LENGTH)\n\n  const fdr = fs.openSync(src, 'r')\n  const fdw = fs.openSync(dest, 'w', srcStat.mode)\n  let pos = 0\n\n  while (pos < srcStat.size) {\n    const bytesRead = fs.readSync(fdr, _buff, 0, BUF_LENGTH, pos)\n    fs.writeSync(fdw, _buff, 0, bytesRead)\n    pos += bytesRead\n  }\n\n  if (opts.preserveTimestamps) fs.futimesSync(fdw, srcStat.atime, srcStat.mtime)\n\n  fs.closeSync(fdr)\n  fs.closeSync(fdw)\n}\n\nfunction onDir (srcStat, destStat, src, dest, opts) {\n  if (!destStat) return mkDirAndCopy(srcStat, src, dest, opts)\n  if (destStat && !destStat.isDirectory()) {\n    throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`)\n  }\n  return copyDir(src, dest, opts)\n}\n\nfunction mkDirAndCopy (srcStat, src, dest, opts) {\n  fs.mkdirSync(dest)\n  copyDir(src, dest, opts)\n  return fs.chmodSync(dest, srcStat.mode)\n}\n\nfunction copyDir (src, dest, opts) {\n  fs.readdirSync(src).forEach(item => copyDirItem(item, src, dest, opts))\n}\n\nfunction copyDirItem (item, src, dest, opts) {\n  const srcItem = path.join(src, item)\n  const destItem = path.join(dest, item)\n  const { destStat } = stat.checkPathsSync(srcItem, destItem, 'copy')\n  return startCopy(destStat, srcItem, destItem, opts)\n}\n\nfunction onLink (destStat, src, dest, opts) {\n  let resolvedSrc = fs.readlinkSync(src)\n  if (opts.dereference) {\n    resolvedSrc = path.resolve(process.cwd(), resolvedSrc)\n  }\n\n  if (!destStat) {\n    return fs.symlinkSync(resolvedSrc, dest)\n  } else {\n    let resolvedDest\n    try {\n      resolvedDest = fs.readlinkSync(dest)\n    } catch (err) {\n      // dest exists and is a regular file or directory,\n      // Windows may throw UNKNOWN error. If dest already exists,\n      // fs throws error anyway, so no need to guard against it here.\n      if (err.code === 'EINVAL' || err.code === 'UNKNOWN') return fs.symlinkSync(resolvedSrc, dest)\n      throw err\n    }\n    if (opts.dereference) {\n      resolvedDest = path.resolve(process.cwd(), resolvedDest)\n    }\n    if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {\n      throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`)\n    }\n\n    // prevent copy if src is a subdir of dest since unlinking\n    // dest in this case would result in removing src contents\n    // and therefore a broken symlink would be created.\n    if (fs.statSync(dest).isDirectory() && stat.isSrcSubdir(resolvedDest, resolvedSrc)) {\n      throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`)\n    }\n    return copyLink(resolvedSrc, dest)\n  }\n}\n\nfunction copyLink (resolvedSrc, dest) {\n  fs.unlinkSync(dest)\n  return fs.symlinkSync(resolvedSrc, dest)\n}\n\nmodule.exports = copySync\n","'use strict'\n\nmodule.exports = {\n  copySync: require('./copy-sync')\n}\n","'use strict'\n\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst mkdirp = require('../mkdirs').mkdirs\nconst pathExists = require('../path-exists').pathExists\nconst utimes = require('../util/utimes').utimesMillis\nconst stat = require('../util/stat')\n\nfunction copy (src, dest, opts, cb) {\n  if (typeof opts === 'function' && !cb) {\n    cb = opts\n    opts = {}\n  } else if (typeof opts === 'function') {\n    opts = { filter: opts }\n  }\n\n  cb = cb || function () {}\n  opts = opts || {}\n\n  opts.clobber = 'clobber' in opts ? !!opts.clobber : true // default to true for now\n  opts.overwrite = 'overwrite' in opts ? !!opts.overwrite : opts.clobber // overwrite falls back to clobber\n\n  // Warn about using preserveTimestamps on 32-bit node\n  if (opts.preserveTimestamps && process.arch === 'ia32') {\n    console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;\\n\n    see https://github.com/jprichardson/node-fs-extra/issues/269`)\n  }\n\n  stat.checkPaths(src, dest, 'copy', (err, stats) => {\n    if (err) return cb(err)\n    const { srcStat, destStat } = stats\n    stat.checkParentPaths(src, srcStat, dest, 'copy', err => {\n      if (err) return cb(err)\n      if (opts.filter) return handleFilter(checkParentDir, destStat, src, dest, opts, cb)\n      return checkParentDir(destStat, src, dest, opts, cb)\n    })\n  })\n}\n\nfunction checkParentDir (destStat, src, dest, opts, cb) {\n  const destParent = path.dirname(dest)\n  pathExists(destParent, (err, dirExists) => {\n    if (err) return cb(err)\n    if (dirExists) return startCopy(destStat, src, dest, opts, cb)\n    mkdirp(destParent, err => {\n      if (err) return cb(err)\n      return startCopy(destStat, src, dest, opts, cb)\n    })\n  })\n}\n\nfunction handleFilter (onInclude, destStat, src, dest, opts, cb) {\n  Promise.resolve(opts.filter(src, dest)).then(include => {\n    if (include) return onInclude(destStat, src, dest, opts, cb)\n    return cb()\n  }, error => cb(error))\n}\n\nfunction startCopy (destStat, src, dest, opts, cb) {\n  if (opts.filter) return handleFilter(getStats, destStat, src, dest, opts, cb)\n  return getStats(destStat, src, dest, opts, cb)\n}\n\nfunction getStats (destStat, src, dest, opts, cb) {\n  const stat = opts.dereference ? fs.stat : fs.lstat\n  stat(src, (err, srcStat) => {\n    if (err) return cb(err)\n\n    if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts, cb)\n    else if (srcStat.isFile() ||\n             srcStat.isCharacterDevice() ||\n             srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts, cb)\n    else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts, cb)\n  })\n}\n\nfunction onFile (srcStat, destStat, src, dest, opts, cb) {\n  if (!destStat) return copyFile(srcStat, src, dest, opts, cb)\n  return mayCopyFile(srcStat, src, dest, opts, cb)\n}\n\nfunction mayCopyFile (srcStat, src, dest, opts, cb) {\n  if (opts.overwrite) {\n    fs.unlink(dest, err => {\n      if (err) return cb(err)\n      return copyFile(srcStat, src, dest, opts, cb)\n    })\n  } else if (opts.errorOnExist) {\n    return cb(new Error(`'${dest}' already exists`))\n  } else return cb()\n}\n\nfunction copyFile (srcStat, src, dest, opts, cb) {\n  if (typeof fs.copyFile === 'function') {\n    return fs.copyFile(src, dest, err => {\n      if (err) return cb(err)\n      return setDestModeAndTimestamps(srcStat, dest, opts, cb)\n    })\n  }\n  return copyFileFallback(srcStat, src, dest, opts, cb)\n}\n\nfunction copyFileFallback (srcStat, src, dest, opts, cb) {\n  const rs = fs.createReadStream(src)\n  rs.on('error', err => cb(err)).once('open', () => {\n    const ws = fs.createWriteStream(dest, { mode: srcStat.mode })\n    ws.on('error', err => cb(err))\n      .on('open', () => rs.pipe(ws))\n      .once('close', () => setDestModeAndTimestamps(srcStat, dest, opts, cb))\n  })\n}\n\nfunction setDestModeAndTimestamps (srcStat, dest, opts, cb) {\n  fs.chmod(dest, srcStat.mode, err => {\n    if (err) return cb(err)\n    if (opts.preserveTimestamps) {\n      return utimes(dest, srcStat.atime, srcStat.mtime, cb)\n    }\n    return cb()\n  })\n}\n\nfunction onDir (srcStat, destStat, src, dest, opts, cb) {\n  if (!destStat) return mkDirAndCopy(srcStat, src, dest, opts, cb)\n  if (destStat && !destStat.isDirectory()) {\n    return cb(new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`))\n  }\n  return copyDir(src, dest, opts, cb)\n}\n\nfunction mkDirAndCopy (srcStat, src, dest, opts, cb) {\n  fs.mkdir(dest, err => {\n    if (err) return cb(err)\n    copyDir(src, dest, opts, err => {\n      if (err) return cb(err)\n      return fs.chmod(dest, srcStat.mode, cb)\n    })\n  })\n}\n\nfunction copyDir (src, dest, opts, cb) {\n  fs.readdir(src, (err, items) => {\n    if (err) return cb(err)\n    return copyDirItems(items, src, dest, opts, cb)\n  })\n}\n\nfunction copyDirItems (items, src, dest, opts, cb) {\n  const item = items.pop()\n  if (!item) return cb()\n  return copyDirItem(items, item, src, dest, opts, cb)\n}\n\nfunction copyDirItem (items, item, src, dest, opts, cb) {\n  const srcItem = path.join(src, item)\n  const destItem = path.join(dest, item)\n  stat.checkPaths(srcItem, destItem, 'copy', (err, stats) => {\n    if (err) return cb(err)\n    const { destStat } = stats\n    startCopy(destStat, srcItem, destItem, opts, err => {\n      if (err) return cb(err)\n      return copyDirItems(items, src, dest, opts, cb)\n    })\n  })\n}\n\nfunction onLink (destStat, src, dest, opts, cb) {\n  fs.readlink(src, (err, resolvedSrc) => {\n    if (err) return cb(err)\n    if (opts.dereference) {\n      resolvedSrc = path.resolve(process.cwd(), resolvedSrc)\n    }\n\n    if (!destStat) {\n      return fs.symlink(resolvedSrc, dest, cb)\n    } else {\n      fs.readlink(dest, (err, resolvedDest) => {\n        if (err) {\n          // dest exists and is a regular file or directory,\n          // Windows may throw UNKNOWN error. If dest already exists,\n          // fs throws error anyway, so no need to guard against it here.\n          if (err.code === 'EINVAL' || err.code === 'UNKNOWN') return fs.symlink(resolvedSrc, dest, cb)\n          return cb(err)\n        }\n        if (opts.dereference) {\n          resolvedDest = path.resolve(process.cwd(), resolvedDest)\n        }\n        if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {\n          return cb(new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`))\n        }\n\n        // do not copy if src is a subdir of dest since unlinking\n        // dest in this case would result in removing src contents\n        // and therefore a broken symlink would be created.\n        if (destStat.isDirectory() && stat.isSrcSubdir(resolvedDest, resolvedSrc)) {\n          return cb(new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`))\n        }\n        return copyLink(resolvedSrc, dest, cb)\n      })\n    }\n  })\n}\n\nfunction copyLink (resolvedSrc, dest, cb) {\n  fs.unlink(dest, err => {\n    if (err) return cb(err)\n    return fs.symlink(resolvedSrc, dest, cb)\n  })\n}\n\nmodule.exports = copy\n","'use strict'\n\nconst u = require('universalify').fromCallback\nmodule.exports = {\n  copy: u(require('./copy'))\n}\n","'use strict'\n\nconst u = require('universalify').fromCallback\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst mkdir = require('../mkdirs')\nconst remove = require('../remove')\n\nconst emptyDir = u(function emptyDir (dir, callback) {\n  callback = callback || function () {}\n  fs.readdir(dir, (err, items) => {\n    if (err) return mkdir.mkdirs(dir, callback)\n\n    items = items.map(item => path.join(dir, item))\n\n    deleteItem()\n\n    function deleteItem () {\n      const item = items.pop()\n      if (!item) return callback()\n      remove.remove(item, err => {\n        if (err) return callback(err)\n        deleteItem()\n      })\n    }\n  })\n})\n\nfunction emptyDirSync (dir) {\n  let items\n  try {\n    items = fs.readdirSync(dir)\n  } catch (err) {\n    return mkdir.mkdirsSync(dir)\n  }\n\n  items.forEach(item => {\n    item = path.join(dir, item)\n    remove.removeSync(item)\n  })\n}\n\nmodule.exports = {\n  emptyDirSync,\n  emptydirSync: emptyDirSync,\n  emptyDir,\n  emptydir: emptyDir\n}\n","'use strict'\n\nconst u = require('universalify').fromCallback\nconst path = require('path')\nconst fs = require('graceful-fs')\nconst mkdir = require('../mkdirs')\nconst pathExists = require('../path-exists').pathExists\n\nfunction createFile (file, callback) {\n  function makeFile () {\n    fs.writeFile(file, '', err => {\n      if (err) return callback(err)\n      callback()\n    })\n  }\n\n  fs.stat(file, (err, stats) => { // eslint-disable-line handle-callback-err\n    if (!err && stats.isFile()) return callback()\n    const dir = path.dirname(file)\n    pathExists(dir, (err, dirExists) => {\n      if (err) return callback(err)\n      if (dirExists) return makeFile()\n      mkdir.mkdirs(dir, err => {\n        if (err) return callback(err)\n        makeFile()\n      })\n    })\n  })\n}\n\nfunction createFileSync (file) {\n  let stats\n  try {\n    stats = fs.statSync(file)\n  } catch (e) {}\n  if (stats && stats.isFile()) return\n\n  const dir = path.dirname(file)\n  if (!fs.existsSync(dir)) {\n    mkdir.mkdirsSync(dir)\n  }\n\n  fs.writeFileSync(file, '')\n}\n\nmodule.exports = {\n  createFile: u(createFile),\n  createFileSync\n}\n","'use strict'\n\nconst file = require('./file')\nconst link = require('./link')\nconst symlink = require('./symlink')\n\nmodule.exports = {\n  // file\n  createFile: file.createFile,\n  createFileSync: file.createFileSync,\n  ensureFile: file.createFile,\n  ensureFileSync: file.createFileSync,\n  // link\n  createLink: link.createLink,\n  createLinkSync: link.createLinkSync,\n  ensureLink: link.createLink,\n  ensureLinkSync: link.createLinkSync,\n  // symlink\n  createSymlink: symlink.createSymlink,\n  createSymlinkSync: symlink.createSymlinkSync,\n  ensureSymlink: symlink.createSymlink,\n  ensureSymlinkSync: symlink.createSymlinkSync\n}\n","'use strict'\n\nconst u = require('universalify').fromCallback\nconst path = require('path')\nconst fs = require('graceful-fs')\nconst mkdir = require('../mkdirs')\nconst pathExists = require('../path-exists').pathExists\n\nfunction createLink (srcpath, dstpath, callback) {\n  function makeLink (srcpath, dstpath) {\n    fs.link(srcpath, dstpath, err => {\n      if (err) return callback(err)\n      callback(null)\n    })\n  }\n\n  pathExists(dstpath, (err, destinationExists) => {\n    if (err) return callback(err)\n    if (destinationExists) return callback(null)\n    fs.lstat(srcpath, (err) => {\n      if (err) {\n        err.message = err.message.replace('lstat', 'ensureLink')\n        return callback(err)\n      }\n\n      const dir = path.dirname(dstpath)\n      pathExists(dir, (err, dirExists) => {\n        if (err) return callback(err)\n        if (dirExists) return makeLink(srcpath, dstpath)\n        mkdir.mkdirs(dir, err => {\n          if (err) return callback(err)\n          makeLink(srcpath, dstpath)\n        })\n      })\n    })\n  })\n}\n\nfunction createLinkSync (srcpath, dstpath) {\n  const destinationExists = fs.existsSync(dstpath)\n  if (destinationExists) return undefined\n\n  try {\n    fs.lstatSync(srcpath)\n  } catch (err) {\n    err.message = err.message.replace('lstat', 'ensureLink')\n    throw err\n  }\n\n  const dir = path.dirname(dstpath)\n  const dirExists = fs.existsSync(dir)\n  if (dirExists) return fs.linkSync(srcpath, dstpath)\n  mkdir.mkdirsSync(dir)\n\n  return fs.linkSync(srcpath, dstpath)\n}\n\nmodule.exports = {\n  createLink: u(createLink),\n  createLinkSync\n}\n","'use strict'\n\nconst path = require('path')\nconst fs = require('graceful-fs')\nconst pathExists = require('../path-exists').pathExists\n\n/**\n * Function that returns two types of paths, one relative to symlink, and one\n * relative to the current working directory. Checks if path is absolute or\n * relative. If the path is relative, this function checks if the path is\n * relative to symlink or relative to current working directory. This is an\n * initiative to find a smarter `srcpath` to supply when building symlinks.\n * This allows you to determine which path to use out of one of three possible\n * types of source paths. The first is an absolute path. This is detected by\n * `path.isAbsolute()`. When an absolute path is provided, it is checked to\n * see if it exists. If it does it's used, if not an error is returned\n * (callback)/ thrown (sync). The other two options for `srcpath` are a\n * relative url. By default Node's `fs.symlink` works by creating a symlink\n * using `dstpath` and expects the `srcpath` to be relative to the newly\n * created symlink. If you provide a `srcpath` that does not exist on the file\n * system it results in a broken symlink. To minimize this, the function\n * checks to see if the 'relative to symlink' source file exists, and if it\n * does it will use it. If it does not, it checks if there's a file that\n * exists that is relative to the current working directory, if does its used.\n * This preserves the expectations of the original fs.symlink spec and adds\n * the ability to pass in `relative to current working direcotry` paths.\n */\n\nfunction symlinkPaths (srcpath, dstpath, callback) {\n  if (path.isAbsolute(srcpath)) {\n    return fs.lstat(srcpath, (err) => {\n      if (err) {\n        err.message = err.message.replace('lstat', 'ensureSymlink')\n        return callback(err)\n      }\n      return callback(null, {\n        'toCwd': srcpath,\n        'toDst': srcpath\n      })\n    })\n  } else {\n    const dstdir = path.dirname(dstpath)\n    const relativeToDst = path.join(dstdir, srcpath)\n    return pathExists(relativeToDst, (err, exists) => {\n      if (err) return callback(err)\n      if (exists) {\n        return callback(null, {\n          'toCwd': relativeToDst,\n          'toDst': srcpath\n        })\n      } else {\n        return fs.lstat(srcpath, (err) => {\n          if (err) {\n            err.message = err.message.replace('lstat', 'ensureSymlink')\n            return callback(err)\n          }\n          return callback(null, {\n            'toCwd': srcpath,\n            'toDst': path.relative(dstdir, srcpath)\n          })\n        })\n      }\n    })\n  }\n}\n\nfunction symlinkPathsSync (srcpath, dstpath) {\n  let exists\n  if (path.isAbsolute(srcpath)) {\n    exists = fs.existsSync(srcpath)\n    if (!exists) throw new Error('absolute srcpath does not exist')\n    return {\n      'toCwd': srcpath,\n      'toDst': srcpath\n    }\n  } else {\n    const dstdir = path.dirname(dstpath)\n    const relativeToDst = path.join(dstdir, srcpath)\n    exists = fs.existsSync(relativeToDst)\n    if (exists) {\n      return {\n        'toCwd': relativeToDst,\n        'toDst': srcpath\n      }\n    } else {\n      exists = fs.existsSync(srcpath)\n      if (!exists) throw new Error('relative srcpath does not exist')\n      return {\n        'toCwd': srcpath,\n        'toDst': path.relative(dstdir, srcpath)\n      }\n    }\n  }\n}\n\nmodule.exports = {\n  symlinkPaths,\n  symlinkPathsSync\n}\n","'use strict'\n\nconst fs = require('graceful-fs')\n\nfunction symlinkType (srcpath, type, callback) {\n  callback = (typeof type === 'function') ? type : callback\n  type = (typeof type === 'function') ? false : type\n  if (type) return callback(null, type)\n  fs.lstat(srcpath, (err, stats) => {\n    if (err) return callback(null, 'file')\n    type = (stats && stats.isDirectory()) ? 'dir' : 'file'\n    callback(null, type)\n  })\n}\n\nfunction symlinkTypeSync (srcpath, type) {\n  let stats\n\n  if (type) return type\n  try {\n    stats = fs.lstatSync(srcpath)\n  } catch (e) {\n    return 'file'\n  }\n  return (stats && stats.isDirectory()) ? 'dir' : 'file'\n}\n\nmodule.exports = {\n  symlinkType,\n  symlinkTypeSync\n}\n","'use strict'\n\nconst u = require('universalify').fromCallback\nconst path = require('path')\nconst fs = require('graceful-fs')\nconst _mkdirs = require('../mkdirs')\nconst mkdirs = _mkdirs.mkdirs\nconst mkdirsSync = _mkdirs.mkdirsSync\n\nconst _symlinkPaths = require('./symlink-paths')\nconst symlinkPaths = _symlinkPaths.symlinkPaths\nconst symlinkPathsSync = _symlinkPaths.symlinkPathsSync\n\nconst _symlinkType = require('./symlink-type')\nconst symlinkType = _symlinkType.symlinkType\nconst symlinkTypeSync = _symlinkType.symlinkTypeSync\n\nconst pathExists = require('../path-exists').pathExists\n\nfunction createSymlink (srcpath, dstpath, type, callback) {\n  callback = (typeof type === 'function') ? type : callback\n  type = (typeof type === 'function') ? false : type\n\n  pathExists(dstpath, (err, destinationExists) => {\n    if (err) return callback(err)\n    if (destinationExists) return callback(null)\n    symlinkPaths(srcpath, dstpath, (err, relative) => {\n      if (err) return callback(err)\n      srcpath = relative.toDst\n      symlinkType(relative.toCwd, type, (err, type) => {\n        if (err) return callback(err)\n        const dir = path.dirname(dstpath)\n        pathExists(dir, (err, dirExists) => {\n          if (err) return callback(err)\n          if (dirExists) return fs.symlink(srcpath, dstpath, type, callback)\n          mkdirs(dir, err => {\n            if (err) return callback(err)\n            fs.symlink(srcpath, dstpath, type, callback)\n          })\n        })\n      })\n    })\n  })\n}\n\nfunction createSymlinkSync (srcpath, dstpath, type) {\n  const destinationExists = fs.existsSync(dstpath)\n  if (destinationExists) return undefined\n\n  const relative = symlinkPathsSync(srcpath, dstpath)\n  srcpath = relative.toDst\n  type = symlinkTypeSync(relative.toCwd, type)\n  const dir = path.dirname(dstpath)\n  const exists = fs.existsSync(dir)\n  if (exists) return fs.symlinkSync(srcpath, dstpath, type)\n  mkdirsSync(dir)\n  return fs.symlinkSync(srcpath, dstpath, type)\n}\n\nmodule.exports = {\n  createSymlink: u(createSymlink),\n  createSymlinkSync\n}\n","'use strict'\n// This is adapted from https://github.com/normalize/mz\n// Copyright (c) 2014-2016 Jonathan Ong me@jongleberry.com and Contributors\nconst u = require('universalify').fromCallback\nconst fs = require('graceful-fs')\n\nconst api = [\n  'access',\n  'appendFile',\n  'chmod',\n  'chown',\n  'close',\n  'copyFile',\n  'fchmod',\n  'fchown',\n  'fdatasync',\n  'fstat',\n  'fsync',\n  'ftruncate',\n  'futimes',\n  'lchown',\n  'lchmod',\n  'link',\n  'lstat',\n  'mkdir',\n  'mkdtemp',\n  'open',\n  'readFile',\n  'readdir',\n  'readlink',\n  'realpath',\n  'rename',\n  'rmdir',\n  'stat',\n  'symlink',\n  'truncate',\n  'unlink',\n  'utimes',\n  'writeFile'\n].filter(key => {\n  // Some commands are not available on some systems. Ex:\n  // fs.copyFile was added in Node.js v8.5.0\n  // fs.mkdtemp was added in Node.js v5.10.0\n  // fs.lchown is not available on at least some Linux\n  return typeof fs[key] === 'function'\n})\n\n// Export all keys:\nObject.keys(fs).forEach(key => {\n  if (key === 'promises') {\n    // fs.promises is a getter property that triggers ExperimentalWarning\n    // Don't re-export it here, the getter is defined in \"lib/index.js\"\n    return\n  }\n  exports[key] = fs[key]\n})\n\n// Universalify async methods:\napi.forEach(method => {\n  exports[method] = u(fs[method])\n})\n\n// We differ from mz/fs in that we still ship the old, broken, fs.exists()\n// since we are a drop-in replacement for the native module\nexports.exists = function (filename, callback) {\n  if (typeof callback === 'function') {\n    return fs.exists(filename, callback)\n  }\n  return new Promise(resolve => {\n    return fs.exists(filename, resolve)\n  })\n}\n\n// fs.read() & fs.write need special treatment due to multiple callback args\n\nexports.read = function (fd, buffer, offset, length, position, callback) {\n  if (typeof callback === 'function') {\n    return fs.read(fd, buffer, offset, length, position, callback)\n  }\n  return new Promise((resolve, reject) => {\n    fs.read(fd, buffer, offset, length, position, (err, bytesRead, buffer) => {\n      if (err) return reject(err)\n      resolve({ bytesRead, buffer })\n    })\n  })\n}\n\n// Function signature can be\n// fs.write(fd, buffer[, offset[, length[, position]]], callback)\n// OR\n// fs.write(fd, string[, position[, encoding]], callback)\n// We need to handle both cases, so we use ...args\nexports.write = function (fd, buffer, ...args) {\n  if (typeof args[args.length - 1] === 'function') {\n    return fs.write(fd, buffer, ...args)\n  }\n\n  return new Promise((resolve, reject) => {\n    fs.write(fd, buffer, ...args, (err, bytesWritten, buffer) => {\n      if (err) return reject(err)\n      resolve({ bytesWritten, buffer })\n    })\n  })\n}\n\n// fs.realpath.native only available in Node v9.2+\nif (typeof fs.realpath.native === 'function') {\n  exports.realpath.native = u(fs.realpath.native)\n}\n","'use strict'\n\nmodule.exports = Object.assign(\n  {},\n  // Export promiseified graceful-fs:\n  require('./fs'),\n  // Export extra methods:\n  require('./copy-sync'),\n  require('./copy'),\n  require('./empty'),\n  require('./ensure'),\n  require('./json'),\n  require('./mkdirs'),\n  require('./move-sync'),\n  require('./move'),\n  require('./output'),\n  require('./path-exists'),\n  require('./remove')\n)\n\n// Export fs.promises as a getter property so that we don't trigger\n// ExperimentalWarning before fs.promises is actually accessed.\nconst fs = require('fs')\nif (Object.getOwnPropertyDescriptor(fs, 'promises')) {\n  Object.defineProperty(module.exports, 'promises', {\n    get () { return fs.promises }\n  })\n}\n","'use strict'\n\nconst u = require('universalify').fromCallback\nconst jsonFile = require('./jsonfile')\n\njsonFile.outputJson = u(require('./output-json'))\njsonFile.outputJsonSync = require('./output-json-sync')\n// aliases\njsonFile.outputJSON = jsonFile.outputJson\njsonFile.outputJSONSync = jsonFile.outputJsonSync\njsonFile.writeJSON = jsonFile.writeJson\njsonFile.writeJSONSync = jsonFile.writeJsonSync\njsonFile.readJSON = jsonFile.readJson\njsonFile.readJSONSync = jsonFile.readJsonSync\n\nmodule.exports = jsonFile\n","'use strict'\n\nconst u = require('universalify').fromCallback\nconst jsonFile = require('jsonfile')\n\nmodule.exports = {\n  // jsonfile exports\n  readJson: u(jsonFile.readFile),\n  readJsonSync: jsonFile.readFileSync,\n  writeJson: u(jsonFile.writeFile),\n  writeJsonSync: jsonFile.writeFileSync\n}\n","'use strict'\n\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst mkdir = require('../mkdirs')\nconst jsonFile = require('./jsonfile')\n\nfunction outputJsonSync (file, data, options) {\n  const dir = path.dirname(file)\n\n  if (!fs.existsSync(dir)) {\n    mkdir.mkdirsSync(dir)\n  }\n\n  jsonFile.writeJsonSync(file, data, options)\n}\n\nmodule.exports = outputJsonSync\n","'use strict'\n\nconst path = require('path')\nconst mkdir = require('../mkdirs')\nconst pathExists = require('../path-exists').pathExists\nconst jsonFile = require('./jsonfile')\n\nfunction outputJson (file, data, options, callback) {\n  if (typeof options === 'function') {\n    callback = options\n    options = {}\n  }\n\n  const dir = path.dirname(file)\n\n  pathExists(dir, (err, itDoes) => {\n    if (err) return callback(err)\n    if (itDoes) return jsonFile.writeJson(file, data, options, callback)\n\n    mkdir.mkdirs(dir, err => {\n      if (err) return callback(err)\n      jsonFile.writeJson(file, data, options, callback)\n    })\n  })\n}\n\nmodule.exports = outputJson\n","'use strict'\nconst u = require('universalify').fromCallback\nconst mkdirs = u(require('./mkdirs'))\nconst mkdirsSync = require('./mkdirs-sync')\n\nmodule.exports = {\n  mkdirs,\n  mkdirsSync,\n  // alias\n  mkdirp: mkdirs,\n  mkdirpSync: mkdirsSync,\n  ensureDir: mkdirs,\n  ensureDirSync: mkdirsSync\n}\n","'use strict'\n\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst invalidWin32Path = require('./win32').invalidWin32Path\n\nconst o777 = parseInt('0777', 8)\n\nfunction mkdirsSync (p, opts, made) {\n  if (!opts || typeof opts !== 'object') {\n    opts = { mode: opts }\n  }\n\n  let mode = opts.mode\n  const xfs = opts.fs || fs\n\n  if (process.platform === 'win32' && invalidWin32Path(p)) {\n    const errInval = new Error(p + ' contains invalid WIN32 path characters.')\n    errInval.code = 'EINVAL'\n    throw errInval\n  }\n\n  if (mode === undefined) {\n    mode = o777 & (~process.umask())\n  }\n  if (!made) made = null\n\n  p = path.resolve(p)\n\n  try {\n    xfs.mkdirSync(p, mode)\n    made = made || p\n  } catch (err0) {\n    if (err0.code === 'ENOENT') {\n      if (path.dirname(p) === p) throw err0\n      made = mkdirsSync(path.dirname(p), opts, made)\n      mkdirsSync(p, opts, made)\n    } else {\n      // In the case of any other error, just see if there's a dir there\n      // already. If so, then hooray!  If not, then something is borked.\n      let stat\n      try {\n        stat = xfs.statSync(p)\n      } catch (err1) {\n        throw err0\n      }\n      if (!stat.isDirectory()) throw err0\n    }\n  }\n\n  return made\n}\n\nmodule.exports = mkdirsSync\n","'use strict'\n\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst invalidWin32Path = require('./win32').invalidWin32Path\n\nconst o777 = parseInt('0777', 8)\n\nfunction mkdirs (p, opts, callback, made) {\n  if (typeof opts === 'function') {\n    callback = opts\n    opts = {}\n  } else if (!opts || typeof opts !== 'object') {\n    opts = { mode: opts }\n  }\n\n  if (process.platform === 'win32' && invalidWin32Path(p)) {\n    const errInval = new Error(p + ' contains invalid WIN32 path characters.')\n    errInval.code = 'EINVAL'\n    return callback(errInval)\n  }\n\n  let mode = opts.mode\n  const xfs = opts.fs || fs\n\n  if (mode === undefined) {\n    mode = o777 & (~process.umask())\n  }\n  if (!made) made = null\n\n  callback = callback || function () {}\n  p = path.resolve(p)\n\n  xfs.mkdir(p, mode, er => {\n    if (!er) {\n      made = made || p\n      return callback(null, made)\n    }\n    switch (er.code) {\n      case 'ENOENT':\n        if (path.dirname(p) === p) return callback(er)\n        mkdirs(path.dirname(p), opts, (er, made) => {\n          if (er) callback(er, made)\n          else mkdirs(p, opts, callback, made)\n        })\n        break\n\n      // In the case of any other error, just see if there's a dir\n      // there already.  If so, then hooray!  If not, then something\n      // is borked.\n      default:\n        xfs.stat(p, (er2, stat) => {\n          // if the stat fails, then that's super weird.\n          // let the original error be the failure reason.\n          if (er2 || !stat.isDirectory()) callback(er, made)\n          else callback(null, made)\n        })\n        break\n    }\n  })\n}\n\nmodule.exports = mkdirs\n","'use strict'\n\nconst path = require('path')\n\n// get drive on windows\nfunction getRootPath (p) {\n  p = path.normalize(path.resolve(p)).split(path.sep)\n  if (p.length > 0) return p[0]\n  return null\n}\n\n// http://stackoverflow.com/a/62888/10333 contains more accurate\n// TODO: expand to include the rest\nconst INVALID_PATH_CHARS = /[<>:\"|?*]/\n\nfunction invalidWin32Path (p) {\n  const rp = getRootPath(p)\n  p = p.replace(rp, '')\n  return INVALID_PATH_CHARS.test(p)\n}\n\nmodule.exports = {\n  getRootPath,\n  invalidWin32Path\n}\n","'use strict'\n\nmodule.exports = {\n  moveSync: require('./move-sync')\n}\n","'use strict'\n\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst copySync = require('../copy-sync').copySync\nconst removeSync = require('../remove').removeSync\nconst mkdirpSync = require('../mkdirs').mkdirpSync\nconst stat = require('../util/stat')\n\nfunction moveSync (src, dest, opts) {\n  opts = opts || {}\n  const overwrite = opts.overwrite || opts.clobber || false\n\n  const { srcStat } = stat.checkPathsSync(src, dest, 'move')\n  stat.checkParentPathsSync(src, srcStat, dest, 'move')\n  mkdirpSync(path.dirname(dest))\n  return doRename(src, dest, overwrite)\n}\n\nfunction doRename (src, dest, overwrite) {\n  if (overwrite) {\n    removeSync(dest)\n    return rename(src, dest, overwrite)\n  }\n  if (fs.existsSync(dest)) throw new Error('dest already exists.')\n  return rename(src, dest, overwrite)\n}\n\nfunction rename (src, dest, overwrite) {\n  try {\n    fs.renameSync(src, dest)\n  } catch (err) {\n    if (err.code !== 'EXDEV') throw err\n    return moveAcrossDevice(src, dest, overwrite)\n  }\n}\n\nfunction moveAcrossDevice (src, dest, overwrite) {\n  const opts = {\n    overwrite,\n    errorOnExist: true\n  }\n  copySync(src, dest, opts)\n  return removeSync(src)\n}\n\nmodule.exports = moveSync\n","'use strict'\n\nconst u = require('universalify').fromCallback\nmodule.exports = {\n  move: u(require('./move'))\n}\n","'use strict'\n\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst copy = require('../copy').copy\nconst remove = require('../remove').remove\nconst mkdirp = require('../mkdirs').mkdirp\nconst pathExists = require('../path-exists').pathExists\nconst stat = require('../util/stat')\n\nfunction move (src, dest, opts, cb) {\n  if (typeof opts === 'function') {\n    cb = opts\n    opts = {}\n  }\n\n  const overwrite = opts.overwrite || opts.clobber || false\n\n  stat.checkPaths(src, dest, 'move', (err, stats) => {\n    if (err) return cb(err)\n    const { srcStat } = stats\n    stat.checkParentPaths(src, srcStat, dest, 'move', err => {\n      if (err) return cb(err)\n      mkdirp(path.dirname(dest), err => {\n        if (err) return cb(err)\n        return doRename(src, dest, overwrite, cb)\n      })\n    })\n  })\n}\n\nfunction doRename (src, dest, overwrite, cb) {\n  if (overwrite) {\n    return remove(dest, err => {\n      if (err) return cb(err)\n      return rename(src, dest, overwrite, cb)\n    })\n  }\n  pathExists(dest, (err, destExists) => {\n    if (err) return cb(err)\n    if (destExists) return cb(new Error('dest already exists.'))\n    return rename(src, dest, overwrite, cb)\n  })\n}\n\nfunction rename (src, dest, overwrite, cb) {\n  fs.rename(src, dest, err => {\n    if (!err) return cb()\n    if (err.code !== 'EXDEV') return cb(err)\n    return moveAcrossDevice(src, dest, overwrite, cb)\n  })\n}\n\nfunction moveAcrossDevice (src, dest, overwrite, cb) {\n  const opts = {\n    overwrite,\n    errorOnExist: true\n  }\n  copy(src, dest, opts, err => {\n    if (err) return cb(err)\n    return remove(src, cb)\n  })\n}\n\nmodule.exports = move\n","'use strict'\n\nconst u = require('universalify').fromCallback\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst mkdir = require('../mkdirs')\nconst pathExists = require('../path-exists').pathExists\n\nfunction outputFile (file, data, encoding, callback) {\n  if (typeof encoding === 'function') {\n    callback = encoding\n    encoding = 'utf8'\n  }\n\n  const dir = path.dirname(file)\n  pathExists(dir, (err, itDoes) => {\n    if (err) return callback(err)\n    if (itDoes) return fs.writeFile(file, data, encoding, callback)\n\n    mkdir.mkdirs(dir, err => {\n      if (err) return callback(err)\n\n      fs.writeFile(file, data, encoding, callback)\n    })\n  })\n}\n\nfunction outputFileSync (file, ...args) {\n  const dir = path.dirname(file)\n  if (fs.existsSync(dir)) {\n    return fs.writeFileSync(file, ...args)\n  }\n  mkdir.mkdirsSync(dir)\n  fs.writeFileSync(file, ...args)\n}\n\nmodule.exports = {\n  outputFile: u(outputFile),\n  outputFileSync\n}\n","'use strict'\nconst u = require('universalify').fromPromise\nconst fs = require('../fs')\n\nfunction pathExists (path) {\n  return fs.access(path).then(() => true).catch(() => false)\n}\n\nmodule.exports = {\n  pathExists: u(pathExists),\n  pathExistsSync: fs.existsSync\n}\n","'use strict'\n\nconst u = require('universalify').fromCallback\nconst rimraf = require('./rimraf')\n\nmodule.exports = {\n  remove: u(rimraf),\n  removeSync: rimraf.sync\n}\n","'use strict'\n\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst assert = require('assert')\n\nconst isWindows = (process.platform === 'win32')\n\nfunction defaults (options) {\n  const methods = [\n    'unlink',\n    'chmod',\n    'stat',\n    'lstat',\n    'rmdir',\n    'readdir'\n  ]\n  methods.forEach(m => {\n    options[m] = options[m] || fs[m]\n    m = m + 'Sync'\n    options[m] = options[m] || fs[m]\n  })\n\n  options.maxBusyTries = options.maxBusyTries || 3\n}\n\nfunction rimraf (p, options, cb) {\n  let busyTries = 0\n\n  if (typeof options === 'function') {\n    cb = options\n    options = {}\n  }\n\n  assert(p, 'rimraf: missing path')\n  assert.strictEqual(typeof p, 'string', 'rimraf: path should be a string')\n  assert.strictEqual(typeof cb, 'function', 'rimraf: callback function required')\n  assert(options, 'rimraf: invalid options argument provided')\n  assert.strictEqual(typeof options, 'object', 'rimraf: options should be object')\n\n  defaults(options)\n\n  rimraf_(p, options, function CB (er) {\n    if (er) {\n      if ((er.code === 'EBUSY' || er.code === 'ENOTEMPTY' || er.code === 'EPERM') &&\n          busyTries < options.maxBusyTries) {\n        busyTries++\n        const time = busyTries * 100\n        // try again, with the same exact callback as this one.\n        return setTimeout(() => rimraf_(p, options, CB), time)\n      }\n\n      // already gone\n      if (er.code === 'ENOENT') er = null\n    }\n\n    cb(er)\n  })\n}\n\n// Two possible strategies.\n// 1. Assume it's a file.  unlink it, then do the dir stuff on EPERM or EISDIR\n// 2. Assume it's a directory.  readdir, then do the file stuff on ENOTDIR\n//\n// Both result in an extra syscall when you guess wrong.  However, there\n// are likely far more normal files in the world than directories.  This\n// is based on the assumption that a the average number of files per\n// directory is >= 1.\n//\n// If anyone ever complains about this, then I guess the strategy could\n// be made configurable somehow.  But until then, YAGNI.\nfunction rimraf_ (p, options, cb) {\n  assert(p)\n  assert(options)\n  assert(typeof cb === 'function')\n\n  // sunos lets the root user unlink directories, which is... weird.\n  // so we have to lstat here and make sure it's not a dir.\n  options.lstat(p, (er, st) => {\n    if (er && er.code === 'ENOENT') {\n      return cb(null)\n    }\n\n    // Windows can EPERM on stat.  Life is suffering.\n    if (er && er.code === 'EPERM' && isWindows) {\n      return fixWinEPERM(p, options, er, cb)\n    }\n\n    if (st && st.isDirectory()) {\n      return rmdir(p, options, er, cb)\n    }\n\n    options.unlink(p, er => {\n      if (er) {\n        if (er.code === 'ENOENT') {\n          return cb(null)\n        }\n        if (er.code === 'EPERM') {\n          return (isWindows)\n            ? fixWinEPERM(p, options, er, cb)\n            : rmdir(p, options, er, cb)\n        }\n        if (er.code === 'EISDIR') {\n          return rmdir(p, options, er, cb)\n        }\n      }\n      return cb(er)\n    })\n  })\n}\n\nfunction fixWinEPERM (p, options, er, cb) {\n  assert(p)\n  assert(options)\n  assert(typeof cb === 'function')\n  if (er) {\n    assert(er instanceof Error)\n  }\n\n  options.chmod(p, 0o666, er2 => {\n    if (er2) {\n      cb(er2.code === 'ENOENT' ? null : er)\n    } else {\n      options.stat(p, (er3, stats) => {\n        if (er3) {\n          cb(er3.code === 'ENOENT' ? null : er)\n        } else if (stats.isDirectory()) {\n          rmdir(p, options, er, cb)\n        } else {\n          options.unlink(p, cb)\n        }\n      })\n    }\n  })\n}\n\nfunction fixWinEPERMSync (p, options, er) {\n  let stats\n\n  assert(p)\n  assert(options)\n  if (er) {\n    assert(er instanceof Error)\n  }\n\n  try {\n    options.chmodSync(p, 0o666)\n  } catch (er2) {\n    if (er2.code === 'ENOENT') {\n      return\n    } else {\n      throw er\n    }\n  }\n\n  try {\n    stats = options.statSync(p)\n  } catch (er3) {\n    if (er3.code === 'ENOENT') {\n      return\n    } else {\n      throw er\n    }\n  }\n\n  if (stats.isDirectory()) {\n    rmdirSync(p, options, er)\n  } else {\n    options.unlinkSync(p)\n  }\n}\n\nfunction rmdir (p, options, originalEr, cb) {\n  assert(p)\n  assert(options)\n  if (originalEr) {\n    assert(originalEr instanceof Error)\n  }\n  assert(typeof cb === 'function')\n\n  // try to rmdir first, and only readdir on ENOTEMPTY or EEXIST (SunOS)\n  // if we guessed wrong, and it's not a directory, then\n  // raise the original error.\n  options.rmdir(p, er => {\n    if (er && (er.code === 'ENOTEMPTY' || er.code === 'EEXIST' || er.code === 'EPERM')) {\n      rmkids(p, options, cb)\n    } else if (er && er.code === 'ENOTDIR') {\n      cb(originalEr)\n    } else {\n      cb(er)\n    }\n  })\n}\n\nfunction rmkids (p, options, cb) {\n  assert(p)\n  assert(options)\n  assert(typeof cb === 'function')\n\n  options.readdir(p, (er, files) => {\n    if (er) return cb(er)\n\n    let n = files.length\n    let errState\n\n    if (n === 0) return options.rmdir(p, cb)\n\n    files.forEach(f => {\n      rimraf(path.join(p, f), options, er => {\n        if (errState) {\n          return\n        }\n        if (er) return cb(errState = er)\n        if (--n === 0) {\n          options.rmdir(p, cb)\n        }\n      })\n    })\n  })\n}\n\n// this looks simpler, and is strictly *faster*, but will\n// tie up the JavaScript thread and fail on excessively\n// deep directory trees.\nfunction rimrafSync (p, options) {\n  let st\n\n  options = options || {}\n  defaults(options)\n\n  assert(p, 'rimraf: missing path')\n  assert.strictEqual(typeof p, 'string', 'rimraf: path should be a string')\n  assert(options, 'rimraf: missing options')\n  assert.strictEqual(typeof options, 'object', 'rimraf: options should be object')\n\n  try {\n    st = options.lstatSync(p)\n  } catch (er) {\n    if (er.code === 'ENOENT') {\n      return\n    }\n\n    // Windows can EPERM on stat.  Life is suffering.\n    if (er.code === 'EPERM' && isWindows) {\n      fixWinEPERMSync(p, options, er)\n    }\n  }\n\n  try {\n    // sunos lets the root user unlink directories, which is... weird.\n    if (st && st.isDirectory()) {\n      rmdirSync(p, options, null)\n    } else {\n      options.unlinkSync(p)\n    }\n  } catch (er) {\n    if (er.code === 'ENOENT') {\n      return\n    } else if (er.code === 'EPERM') {\n      return isWindows ? fixWinEPERMSync(p, options, er) : rmdirSync(p, options, er)\n    } else if (er.code !== 'EISDIR') {\n      throw er\n    }\n    rmdirSync(p, options, er)\n  }\n}\n\nfunction rmdirSync (p, options, originalEr) {\n  assert(p)\n  assert(options)\n  if (originalEr) {\n    assert(originalEr instanceof Error)\n  }\n\n  try {\n    options.rmdirSync(p)\n  } catch (er) {\n    if (er.code === 'ENOTDIR') {\n      throw originalEr\n    } else if (er.code === 'ENOTEMPTY' || er.code === 'EEXIST' || er.code === 'EPERM') {\n      rmkidsSync(p, options)\n    } else if (er.code !== 'ENOENT') {\n      throw er\n    }\n  }\n}\n\nfunction rmkidsSync (p, options) {\n  assert(p)\n  assert(options)\n  options.readdirSync(p).forEach(f => rimrafSync(path.join(p, f), options))\n\n  if (isWindows) {\n    // We only end up here once we got ENOTEMPTY at least once, and\n    // at this point, we are guaranteed to have removed all the kids.\n    // So, we know that it won't be ENOENT or ENOTDIR or anything else.\n    // try really hard to delete stuff on windows, because it has a\n    // PROFOUNDLY annoying habit of not closing handles promptly when\n    // files are deleted, resulting in spurious ENOTEMPTY errors.\n    const startTime = Date.now()\n    do {\n      try {\n        const ret = options.rmdirSync(p, options)\n        return ret\n      } catch (er) { }\n    } while (Date.now() - startTime < 500) // give up after 500ms\n  } else {\n    const ret = options.rmdirSync(p, options)\n    return ret\n  }\n}\n\nmodule.exports = rimraf\nrimraf.sync = rimrafSync\n","'use strict'\n/* eslint-disable node/no-deprecated-api */\nmodule.exports = function (size) {\n  if (typeof Buffer.allocUnsafe === 'function') {\n    try {\n      return Buffer.allocUnsafe(size)\n    } catch (e) {\n      return new Buffer(size)\n    }\n  }\n  return new Buffer(size)\n}\n","'use strict'\n\nconst fs = require('graceful-fs')\nconst path = require('path')\n\nconst NODE_VERSION_MAJOR_WITH_BIGINT = 10\nconst NODE_VERSION_MINOR_WITH_BIGINT = 5\nconst NODE_VERSION_PATCH_WITH_BIGINT = 0\nconst nodeVersion = process.versions.node.split('.')\nconst nodeVersionMajor = Number.parseInt(nodeVersion[0], 10)\nconst nodeVersionMinor = Number.parseInt(nodeVersion[1], 10)\nconst nodeVersionPatch = Number.parseInt(nodeVersion[2], 10)\n\nfunction nodeSupportsBigInt () {\n  if (nodeVersionMajor > NODE_VERSION_MAJOR_WITH_BIGINT) {\n    return true\n  } else if (nodeVersionMajor === NODE_VERSION_MAJOR_WITH_BIGINT) {\n    if (nodeVersionMinor > NODE_VERSION_MINOR_WITH_BIGINT) {\n      return true\n    } else if (nodeVersionMinor === NODE_VERSION_MINOR_WITH_BIGINT) {\n      if (nodeVersionPatch >= NODE_VERSION_PATCH_WITH_BIGINT) {\n        return true\n      }\n    }\n  }\n  return false\n}\n\nfunction getStats (src, dest, cb) {\n  if (nodeSupportsBigInt()) {\n    fs.stat(src, { bigint: true }, (err, srcStat) => {\n      if (err) return cb(err)\n      fs.stat(dest, { bigint: true }, (err, destStat) => {\n        if (err) {\n          if (err.code === 'ENOENT') return cb(null, { srcStat, destStat: null })\n          return cb(err)\n        }\n        return cb(null, { srcStat, destStat })\n      })\n    })\n  } else {\n    fs.stat(src, (err, srcStat) => {\n      if (err) return cb(err)\n      fs.stat(dest, (err, destStat) => {\n        if (err) {\n          if (err.code === 'ENOENT') return cb(null, { srcStat, destStat: null })\n          return cb(err)\n        }\n        return cb(null, { srcStat, destStat })\n      })\n    })\n  }\n}\n\nfunction getStatsSync (src, dest) {\n  let srcStat, destStat\n  if (nodeSupportsBigInt()) {\n    srcStat = fs.statSync(src, { bigint: true })\n  } else {\n    srcStat = fs.statSync(src)\n  }\n  try {\n    if (nodeSupportsBigInt()) {\n      destStat = fs.statSync(dest, { bigint: true })\n    } else {\n      destStat = fs.statSync(dest)\n    }\n  } catch (err) {\n    if (err.code === 'ENOENT') return { srcStat, destStat: null }\n    throw err\n  }\n  return { srcStat, destStat }\n}\n\nfunction checkPaths (src, dest, funcName, cb) {\n  getStats(src, dest, (err, stats) => {\n    if (err) return cb(err)\n    const { srcStat, destStat } = stats\n    if (destStat && destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) {\n      return cb(new Error('Source and destination must not be the same.'))\n    }\n    if (srcStat.isDirectory() && isSrcSubdir(src, dest)) {\n      return cb(new Error(errMsg(src, dest, funcName)))\n    }\n    return cb(null, { srcStat, destStat })\n  })\n}\n\nfunction checkPathsSync (src, dest, funcName) {\n  const { srcStat, destStat } = getStatsSync(src, dest)\n  if (destStat && destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) {\n    throw new Error('Source and destination must not be the same.')\n  }\n  if (srcStat.isDirectory() && isSrcSubdir(src, dest)) {\n    throw new Error(errMsg(src, dest, funcName))\n  }\n  return { srcStat, destStat }\n}\n\n// recursively check if dest parent is a subdirectory of src.\n// It works for all file types including symlinks since it\n// checks the src and dest inodes. It starts from the deepest\n// parent and stops once it reaches the src parent or the root path.\nfunction checkParentPaths (src, srcStat, dest, funcName, cb) {\n  const srcParent = path.resolve(path.dirname(src))\n  const destParent = path.resolve(path.dirname(dest))\n  if (destParent === srcParent || destParent === path.parse(destParent).root) return cb()\n  if (nodeSupportsBigInt()) {\n    fs.stat(destParent, { bigint: true }, (err, destStat) => {\n      if (err) {\n        if (err.code === 'ENOENT') return cb()\n        return cb(err)\n      }\n      if (destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) {\n        return cb(new Error(errMsg(src, dest, funcName)))\n      }\n      return checkParentPaths(src, srcStat, destParent, funcName, cb)\n    })\n  } else {\n    fs.stat(destParent, (err, destStat) => {\n      if (err) {\n        if (err.code === 'ENOENT') return cb()\n        return cb(err)\n      }\n      if (destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) {\n        return cb(new Error(errMsg(src, dest, funcName)))\n      }\n      return checkParentPaths(src, srcStat, destParent, funcName, cb)\n    })\n  }\n}\n\nfunction checkParentPathsSync (src, srcStat, dest, funcName) {\n  const srcParent = path.resolve(path.dirname(src))\n  const destParent = path.resolve(path.dirname(dest))\n  if (destParent === srcParent || destParent === path.parse(destParent).root) return\n  let destStat\n  try {\n    if (nodeSupportsBigInt()) {\n      destStat = fs.statSync(destParent, { bigint: true })\n    } else {\n      destStat = fs.statSync(destParent)\n    }\n  } catch (err) {\n    if (err.code === 'ENOENT') return\n    throw err\n  }\n  if (destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) {\n    throw new Error(errMsg(src, dest, funcName))\n  }\n  return checkParentPathsSync(src, srcStat, destParent, funcName)\n}\n\n// return true if dest is a subdir of src, otherwise false.\n// It only checks the path strings.\nfunction isSrcSubdir (src, dest) {\n  const srcArr = path.resolve(src).split(path.sep).filter(i => i)\n  const destArr = path.resolve(dest).split(path.sep).filter(i => i)\n  return srcArr.reduce((acc, cur, i) => acc && destArr[i] === cur, true)\n}\n\nfunction errMsg (src, dest, funcName) {\n  return `Cannot ${funcName} '${src}' to a subdirectory of itself, '${dest}'.`\n}\n\nmodule.exports = {\n  checkPaths,\n  checkPathsSync,\n  checkParentPaths,\n  checkParentPathsSync,\n  isSrcSubdir\n}\n","'use strict'\n\nconst fs = require('graceful-fs')\nconst os = require('os')\nconst path = require('path')\n\n// HFS, ext{2,3}, FAT do not, Node.js v0.10 does not\nfunction hasMillisResSync () {\n  let tmpfile = path.join('millis-test-sync' + Date.now().toString() + Math.random().toString().slice(2))\n  tmpfile = path.join(os.tmpdir(), tmpfile)\n\n  // 550 millis past UNIX epoch\n  const d = new Date(1435410243862)\n  fs.writeFileSync(tmpfile, 'https://github.com/jprichardson/node-fs-extra/pull/141')\n  const fd = fs.openSync(tmpfile, 'r+')\n  fs.futimesSync(fd, d, d)\n  fs.closeSync(fd)\n  return fs.statSync(tmpfile).mtime > 1435410243000\n}\n\nfunction hasMillisRes (callback) {\n  let tmpfile = path.join('millis-test' + Date.now().toString() + Math.random().toString().slice(2))\n  tmpfile = path.join(os.tmpdir(), tmpfile)\n\n  // 550 millis past UNIX epoch\n  const d = new Date(1435410243862)\n  fs.writeFile(tmpfile, 'https://github.com/jprichardson/node-fs-extra/pull/141', err => {\n    if (err) return callback(err)\n    fs.open(tmpfile, 'r+', (err, fd) => {\n      if (err) return callback(err)\n      fs.futimes(fd, d, d, err => {\n        if (err) return callback(err)\n        fs.close(fd, err => {\n          if (err) return callback(err)\n          fs.stat(tmpfile, (err, stats) => {\n            if (err) return callback(err)\n            callback(null, stats.mtime > 1435410243000)\n          })\n        })\n      })\n    })\n  })\n}\n\nfunction timeRemoveMillis (timestamp) {\n  if (typeof timestamp === 'number') {\n    return Math.floor(timestamp / 1000) * 1000\n  } else if (timestamp instanceof Date) {\n    return new Date(Math.floor(timestamp.getTime() / 1000) * 1000)\n  } else {\n    throw new Error('fs-extra: timeRemoveMillis() unknown parameter type')\n  }\n}\n\nfunction utimesMillis (path, atime, mtime, callback) {\n  // if (!HAS_MILLIS_RES) return fs.utimes(path, atime, mtime, callback)\n  fs.open(path, 'r+', (err, fd) => {\n    if (err) return callback(err)\n    fs.futimes(fd, atime, mtime, futimesErr => {\n      fs.close(fd, closeErr => {\n        if (callback) callback(futimesErr || closeErr)\n      })\n    })\n  })\n}\n\nfunction utimesMillisSync (path, atime, mtime) {\n  const fd = fs.openSync(path, 'r+')\n  fs.futimesSync(fd, atime, mtime)\n  return fs.closeSync(fd)\n}\n\nmodule.exports = {\n  hasMillisRes,\n  hasMillisResSync,\n  timeRemoveMillis,\n  utimesMillis,\n  utimesMillisSync\n}\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n    var arr = [];\n\n    for (var i = 0; i < a.length; i += 1) {\n        arr[i] = a[i];\n    }\n    for (var j = 0; j < b.length; j += 1) {\n        arr[j + a.length] = b[j];\n    }\n\n    return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n    var arr = [];\n    for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n        arr[j] = arrLike[i];\n    }\n    return arr;\n};\n\nvar joiny = function (arr, joiner) {\n    var str = '';\n    for (var i = 0; i < arr.length; i += 1) {\n        str += arr[i];\n        if (i + 1 < arr.length) {\n            str += joiner;\n        }\n    }\n    return str;\n};\n\nmodule.exports = function bind(that) {\n    var target = this;\n    if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n        throw new TypeError(ERROR_MESSAGE + target);\n    }\n    var args = slicy(arguments, 1);\n\n    var bound;\n    var binder = function () {\n        if (this instanceof bound) {\n            var result = target.apply(\n                this,\n                concatty(args, arguments)\n            );\n            if (Object(result) === result) {\n                return result;\n            }\n            return this;\n        }\n        return target.apply(\n            that,\n            concatty(args, arguments)\n        );\n\n    };\n\n    var boundLength = max(0, target.length - args.length);\n    var boundArgs = [];\n    for (var i = 0; i < boundLength; i++) {\n        boundArgs[i] = '$' + i;\n    }\n\n    bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n    if (target.prototype) {\n        var Empty = function Empty() {};\n        Empty.prototype = target.prototype;\n        bound.prototype = new Empty();\n        Empty.prototype = null;\n    }\n\n    return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","/*!\n * Fuse.js v3.6.1 - Lightweight fuzzy-search (http://fusejs.io)\n * \n * Copyright (c) 2012-2017 Kirollos Risk (http://kiro.me)\n * All Rights Reserved. Apache Software License 2.0\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n */\n!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(\"Fuse\",[],t):\"object\"==typeof exports?exports.Fuse=t():e.Fuse=t()}(this,function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=0)}([function(e,t,r){function n(e){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function o(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var i=r(1),a=r(7),s=a.get,c=(a.deepValue,a.isArray),h=function(){function e(t,r){var n=r.location,o=void 0===n?0:n,i=r.distance,a=void 0===i?100:i,c=r.threshold,h=void 0===c?.6:c,l=r.maxPatternLength,u=void 0===l?32:l,f=r.caseSensitive,v=void 0!==f&&f,p=r.tokenSeparator,d=void 0===p?/ +/g:p,g=r.findAllMatches,y=void 0!==g&&g,m=r.minMatchCharLength,k=void 0===m?1:m,b=r.id,S=void 0===b?null:b,x=r.keys,M=void 0===x?[]:x,_=r.shouldSort,w=void 0===_||_,L=r.getFn,A=void 0===L?s:L,O=r.sortFn,C=void 0===O?function(e,t){return e.score-t.score}:O,j=r.tokenize,P=void 0!==j&&j,I=r.matchAllTokens,F=void 0!==I&&I,T=r.includeMatches,N=void 0!==T&&T,z=r.includeScore,E=void 0!==z&&z,W=r.verbose,K=void 0!==W&&W;!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.options={location:o,distance:a,threshold:h,maxPatternLength:u,isCaseSensitive:v,tokenSeparator:d,findAllMatches:y,minMatchCharLength:k,id:S,keys:M,includeMatches:N,includeScore:E,shouldSort:w,getFn:A,sortFn:C,verbose:K,tokenize:P,matchAllTokens:F},this.setCollection(t),this._processKeys(M)}var t,r,a;return t=e,(r=[{key:\"setCollection\",value:function(e){return this.list=e,e}},{key:\"_processKeys\",value:function(e){if(this._keyWeights={},this._keyNames=[],e.length&&\"string\"==typeof e[0])for(var t=0,r=e.length;t<r;t+=1){var n=e[t];this._keyWeights[n]=1,this._keyNames.push(n)}else{for(var o=null,i=null,a=0,s=0,c=e.length;s<c;s+=1){var h=e[s];if(!h.hasOwnProperty(\"name\"))throw new Error('Missing \"name\" property in key object');var l=h.name;if(this._keyNames.push(l),!h.hasOwnProperty(\"weight\"))throw new Error('Missing \"weight\" property in key object');var u=h.weight;if(u<0||u>1)throw new Error('\"weight\" property in key must bein the range of [0, 1)');i=null==i?u:Math.max(i,u),o=null==o?u:Math.min(o,u),this._keyWeights[l]=u,a+=u}if(a>1)throw new Error(\"Total of weights cannot exceed 1\")}}},{key:\"search\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{limit:!1};this._log('---------\\nSearch pattern: \"'.concat(e,'\"'));var r=this._prepareSearchers(e),n=r.tokenSearchers,o=r.fullSearcher,i=this._search(n,o);return this._computeScore(i),this.options.shouldSort&&this._sort(i),t.limit&&\"number\"==typeof t.limit&&(i=i.slice(0,t.limit)),this._format(i)}},{key:\"_prepareSearchers\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",t=[];if(this.options.tokenize)for(var r=e.split(this.options.tokenSeparator),n=0,o=r.length;n<o;n+=1)t.push(new i(r[n],this.options));return{tokenSearchers:t,fullSearcher:new i(e,this.options)}}},{key:\"_search\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0,r=this.list,n={},o=[];if(\"string\"==typeof r[0]){for(var i=0,a=r.length;i<a;i+=1)this._analyze({key:\"\",value:r[i],record:i,index:i},{resultMap:n,results:o,tokenSearchers:e,fullSearcher:t});return o}for(var s=0,c=r.length;s<c;s+=1)for(var h=r[s],l=0,u=this._keyNames.length;l<u;l+=1){var f=this._keyNames[l];this._analyze({key:f,value:this.options.getFn(h,f),record:h,index:s},{resultMap:n,results:o,tokenSearchers:e,fullSearcher:t})}return o}},{key:\"_analyze\",value:function(e,t){var r=this,n=e.key,o=e.arrayIndex,i=void 0===o?-1:o,a=e.value,s=e.record,h=e.index,l=t.tokenSearchers,u=void 0===l?[]:l,f=t.fullSearcher,v=t.resultMap,p=void 0===v?{}:v,d=t.results,g=void 0===d?[]:d;!function e(t,o,i,a){if(null!=o)if(\"string\"==typeof o){var s=!1,h=-1,l=0;r._log(\"\\nKey: \".concat(\"\"===n?\"--\":n));var v=f.search(o);if(r._log('Full text: \"'.concat(o,'\", score: ').concat(v.score)),r.options.tokenize){for(var d=o.split(r.options.tokenSeparator),y=d.length,m=[],k=0,b=u.length;k<b;k+=1){var S=u[k];r._log('\\nPattern: \"'.concat(S.pattern,'\"'));for(var x=!1,M=0;M<y;M+=1){var _=d[M],w=S.search(_),L={};w.isMatch?(L[_]=w.score,s=!0,x=!0,m.push(w.score)):(L[_]=1,r.options.matchAllTokens||m.push(1)),r._log('Token: \"'.concat(_,'\", score: ').concat(L[_]))}x&&(l+=1)}h=m[0];for(var A=m.length,O=1;O<A;O+=1)h+=m[O];h/=A,r._log(\"Token score average:\",h)}var C=v.score;h>-1&&(C=(C+h)/2),r._log(\"Score average:\",C);var j=!r.options.tokenize||!r.options.matchAllTokens||l>=u.length;if(r._log(\"\\nCheck Matches: \".concat(j)),(s||v.isMatch)&&j){var P={key:n,arrayIndex:t,value:o,score:C};r.options.includeMatches&&(P.matchedIndices=v.matchedIndices);var I=p[a];I?I.output.push(P):(p[a]={item:i,output:[P]},g.push(p[a]))}}else if(c(o))for(var F=0,T=o.length;F<T;F+=1)e(F,o[F],i,a)}(i,a,s,h)}},{key:\"_computeScore\",value:function(e){this._log(\"\\n\\nComputing score:\\n\");for(var t=this._keyWeights,r=!!Object.keys(t).length,n=0,o=e.length;n<o;n+=1){for(var i=e[n],a=i.output,s=a.length,c=1,h=0;h<s;h+=1){var l=a[h],u=l.key,f=r?t[u]:1,v=0===l.score&&t&&t[u]>0?Number.EPSILON:l.score;c*=Math.pow(v,f)}i.score=c,this._log(i)}}},{key:\"_sort\",value:function(e){this._log(\"\\n\\nSorting....\"),e.sort(this.options.sortFn)}},{key:\"_format\",value:function(e){var t=[];if(this.options.verbose){var r=[];this._log(\"\\n\\nOutput:\\n\\n\",JSON.stringify(e,function(e,t){if(\"object\"===n(t)&&null!==t){if(-1!==r.indexOf(t))return;r.push(t)}return t},2)),r=null}var o=[];this.options.includeMatches&&o.push(function(e,t){var r=e.output;t.matches=[];for(var n=0,o=r.length;n<o;n+=1){var i=r[n];if(0!==i.matchedIndices.length){var a={indices:i.matchedIndices,value:i.value};i.key&&(a.key=i.key),i.hasOwnProperty(\"arrayIndex\")&&i.arrayIndex>-1&&(a.arrayIndex=i.arrayIndex),t.matches.push(a)}}}),this.options.includeScore&&o.push(function(e,t){t.score=e.score});for(var i=0,a=e.length;i<a;i+=1){var s=e[i];if(this.options.id&&(s.item=this.options.getFn(s.item,this.options.id)[0]),o.length){for(var c={item:s.item},h=0,l=o.length;h<l;h+=1)o[h](s,c);t.push(c)}else t.push(s.item)}return t}},{key:\"_log\",value:function(){var e;this.options.verbose&&(e=console).log.apply(e,arguments)}}])&&o(t.prototype,r),a&&o(t,a),e}();e.exports=h},function(e,t,r){function n(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var o=r(2),i=r(3),a=r(6),s=function(){function e(t,r){var n=r.location,o=void 0===n?0:n,i=r.distance,s=void 0===i?100:i,c=r.threshold,h=void 0===c?.6:c,l=r.maxPatternLength,u=void 0===l?32:l,f=r.isCaseSensitive,v=void 0!==f&&f,p=r.tokenSeparator,d=void 0===p?/ +/g:p,g=r.findAllMatches,y=void 0!==g&&g,m=r.minMatchCharLength,k=void 0===m?1:m,b=r.includeMatches,S=void 0!==b&&b;!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.options={location:o,distance:s,threshold:h,maxPatternLength:u,isCaseSensitive:v,tokenSeparator:d,findAllMatches:y,includeMatches:S,minMatchCharLength:k},this.pattern=v?t:t.toLowerCase(),this.pattern.length<=u&&(this.patternAlphabet=a(this.pattern))}var t,r,s;return t=e,(r=[{key:\"search\",value:function(e){var t=this.options,r=t.isCaseSensitive,n=t.includeMatches;if(r||(e=e.toLowerCase()),this.pattern===e){var a={isMatch:!0,score:0};return n&&(a.matchedIndices=[[0,e.length-1]]),a}var s=this.options,c=s.maxPatternLength,h=s.tokenSeparator;if(this.pattern.length>c)return o(e,this.pattern,h);var l=this.options,u=l.location,f=l.distance,v=l.threshold,p=l.findAllMatches,d=l.minMatchCharLength;return i(e,this.pattern,this.patternAlphabet,{location:u,distance:f,threshold:v,findAllMatches:p,minMatchCharLength:d,includeMatches:n})}}])&&n(t.prototype,r),s&&n(t,s),e}();e.exports=s},function(e,t){var r=/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g;e.exports=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:/ +/g,o=new RegExp(t.replace(r,\"\\\\$&\").replace(n,\"|\")),i=e.match(o),a=!!i,s=[];if(a)for(var c=0,h=i.length;c<h;c+=1){var l=i[c];s.push([e.indexOf(l),l.length-1])}return{score:a?.5:1,isMatch:a,matchedIndices:s}}},function(e,t,r){var n=r(4),o=r(5);e.exports=function(e,t,r,i){for(var a=i.location,s=void 0===a?0:a,c=i.distance,h=void 0===c?100:c,l=i.threshold,u=void 0===l?.6:l,f=i.findAllMatches,v=void 0!==f&&f,p=i.minMatchCharLength,d=void 0===p?1:p,g=i.includeMatches,y=void 0!==g&&g,m=s,k=e.length,b=u,S=e.indexOf(t,m),x=t.length,M=[],_=0;_<k;_+=1)M[_]=0;if(-1!==S){var w=n(t,{errors:0,currentLocation:S,expectedLocation:m,distance:h});if(b=Math.min(w,b),-1!==(S=e.lastIndexOf(t,m+x))){var L=n(t,{errors:0,currentLocation:S,expectedLocation:m,distance:h});b=Math.min(L,b)}}S=-1;for(var A=[],O=1,C=x+k,j=1<<(x<=31?x-1:30),P=0;P<x;P+=1){for(var I=0,F=C;I<F;){n(t,{errors:P,currentLocation:m+F,expectedLocation:m,distance:h})<=b?I=F:C=F,F=Math.floor((C-I)/2+I)}C=F;var T=Math.max(1,m-F+1),N=v?k:Math.min(m+F,k)+x,z=Array(N+2);z[N+1]=(1<<P)-1;for(var E=N;E>=T;E-=1){var W=E-1,K=r[e.charAt(W)];if(K&&(M[W]=1),z[E]=(z[E+1]<<1|1)&K,0!==P&&(z[E]|=(A[E+1]|A[E])<<1|1|A[E+1]),z[E]&j&&(O=n(t,{errors:P,currentLocation:W,expectedLocation:m,distance:h}))<=b){if(b=O,(S=W)<=m)break;T=Math.max(1,2*m-S)}}if(n(t,{errors:P+1,currentLocation:m,expectedLocation:m,distance:h})>b)break;A=z}var $={isMatch:S>=0,score:0===O?.001:O};return y&&($.matchedIndices=o(M,d)),$}},function(e,t){e.exports=function(e,t){var r=t.errors,n=void 0===r?0:r,o=t.currentLocation,i=void 0===o?0:o,a=t.expectedLocation,s=void 0===a?0:a,c=t.distance,h=void 0===c?100:c,l=n/e.length,u=Math.abs(s-i);return h?l+u/h:u?1:l}},function(e,t){e.exports=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,r=[],n=-1,o=-1,i=0,a=e.length;i<a;i+=1){var s=e[i];s&&-1===n?n=i:s||-1===n||((o=i-1)-n+1>=t&&r.push([n,o]),n=-1)}return e[i-1]&&i-n>=t&&r.push([n,i-1]),r}},function(e,t){e.exports=function(e){for(var t={},r=e.length,n=0;n<r;n+=1)t[e.charAt(n)]=0;for(var o=0;o<r;o+=1)t[e.charAt(o)]|=1<<r-o-1;return t}},function(e,t){var r=function(e){return Array.isArray?Array.isArray(e):\"[object Array]\"===Object.prototype.toString.call(e)},n=function(e){return null==e?\"\":function(e){if(\"string\"==typeof e)return e;var t=e+\"\";return\"0\"==t&&1/e==-1/0?\"-0\":t}(e)},o=function(e){return\"string\"==typeof e},i=function(e){return\"number\"==typeof e};e.exports={get:function(e,t){var a=[];return function e(t,s){if(s){var c=s.indexOf(\".\"),h=s,l=null;-1!==c&&(h=s.slice(0,c),l=s.slice(c+1));var u=t[h];if(null!=u)if(l||!o(u)&&!i(u))if(r(u))for(var f=0,v=u.length;f<v;f+=1)e(u[f],l);else l&&e(u,l);else a.push(n(u))}else a.push(t)}(e,t),a},isArray:r,isString:o,isNum:i,toString:n}}])});","'use strict';\n\n// eslint-disable-next-line no-extra-parens, no-empty-function\nconst cached = /** @type {GeneratorFunctionConstructor} */ (function* () {}.constructor);\n\n/** @type {import('.')} */\nmodule.exports = () => cached;\n\n","'use strict';\n\n/* !\n * Chai - getFuncName utility\n * Copyright(c) 2012-2016 Jake Luer <jake@alogicalparadox.com>\n * MIT Licensed\n */\n\n/**\n * ### .getFuncName(constructorFn)\n *\n * Returns the name of a function.\n * When a non-function instance is passed, returns `null`.\n * This also includes a polyfill function if `aFunc.name` is not defined.\n *\n * @name getFuncName\n * @param {Function} funct\n * @namespace Utils\n * @api public\n */\n\nvar toString = Function.prototype.toString;\nvar functionNameMatch = /\\s*function(?:\\s|\\s*\\/\\*[^(?:*\\/)]+\\*\\/\\s*)*([^\\s\\(\\/]+)/;\nvar maxFunctionSourceLength = 512;\nfunction getFuncName(aFunc) {\n  if (typeof aFunc !== 'function') {\n    return null;\n  }\n\n  var name = '';\n  if (typeof Function.prototype.name === 'undefined' && typeof aFunc.name === 'undefined') {\n    // eslint-disable-next-line prefer-reflect\n    var functionSource = toString.call(aFunc);\n    // To avoid unconstrained resource consumption due to pathalogically large function names,\n    // we limit the available return value to be less than 512 characters.\n    if (functionSource.indexOf('(') > maxFunctionSourceLength) {\n      return name;\n    }\n    // Here we run a polyfill if Function does not support the `name` property and if aFunc.name is not defined\n    var match = functionSource.match(functionNameMatch);\n    if (match) {\n      name = match[1];\n    }\n  } else {\n    // If we've got a `name` property we just use it\n    name = aFunc.name;\n  }\n\n  return name;\n}\n\nmodule.exports = getFuncName;\n","'use strict';\n\nvar undefined;\n\nvar $Object = require('es-object-atoms');\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar abs = require('math-intrinsics/abs');\nvar floor = require('math-intrinsics/floor');\nvar max = require('math-intrinsics/max');\nvar min = require('math-intrinsics/min');\nvar pow = require('math-intrinsics/pow');\nvar round = require('math-intrinsics/round');\nvar sign = require('math-intrinsics/sign');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = require('gopd');\nvar $defineProperty = require('es-define-property');\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = require('get-proto');\nvar $ObjectGPO = require('get-proto/Object.getPrototypeOf');\nvar $ReflectGPO = require('get-proto/Reflect.getPrototypeOf');\n\nvar $apply = require('call-bind-apply-helpers/functionApply');\nvar $call = require('call-bind-apply-helpers/functionCall');\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float16Array%': typeof Float16Array === 'undefined' ? undefined : Float16Array,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': $Object,\n\t'%Object.getOwnPropertyDescriptor%': $gOPD,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\n\n\t'%Function.prototype.call%': $call,\n\t'%Function.prototype.apply%': $apply,\n\t'%Object.defineProperty%': $defineProperty,\n\t'%Object.getPrototypeOf%': $ObjectGPO,\n\t'%Math.abs%': abs,\n\t'%Math.floor%': floor,\n\t'%Math.max%': max,\n\t'%Math.min%': min,\n\t'%Math.pow%': pow,\n\t'%Math.round%': round,\n\t'%Math.sign%': sign,\n\t'%Reflect.getPrototypeOf%': $ReflectGPO\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call($call, Array.prototype.concat);\nvar $spliceApply = bind.call($apply, Array.prototype.splice);\nvar $replace = bind.call($call, String.prototype.replace);\nvar $strSlice = bind.call($call, String.prototype.slice);\nvar $exec = bind.call($call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar $Object = require('es-object-atoms');\n\n/** @type {import('./Object.getPrototypeOf')} */\nmodule.exports = $Object.getPrototypeOf || null;\n","'use strict';\n\n/** @type {import('./Reflect.getPrototypeOf')} */\nmodule.exports = (typeof Reflect !== 'undefined' && Reflect.getPrototypeOf) || null;\n","'use strict';\n\nvar reflectGetProto = require('./Reflect.getPrototypeOf');\nvar originalGetProto = require('./Object.getPrototypeOf');\n\nvar getDunderProto = require('dunder-proto/get');\n\n/** @type {import('.')} */\nmodule.exports = reflectGetProto\n\t? function getProto(O) {\n\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\treturn reflectGetProto(O);\n\t}\n\t: originalGetProto\n\t\t? function getProto(O) {\n\t\t\tif (!O || (typeof O !== 'object' && typeof O !== 'function')) {\n\t\t\t\tthrow new TypeError('getProto: not an object');\n\t\t\t}\n\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\treturn originalGetProto(O);\n\t\t}\n\t\t: getDunderProto\n\t\t\t? function getProto(O) {\n\t\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\t\treturn getDunderProto(O);\n\t\t\t}\n\t\t\t: null;\n","'use strict';\n\n/** @type {import('./gOPD')} */\nmodule.exports = Object.getOwnPropertyDescriptor;\n","'use strict';\n\n/** @type {import('.')} */\nvar $gOPD = require('./gOPD');\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict'\n\nmodule.exports = clone\n\nvar getPrototypeOf = Object.getPrototypeOf || function (obj) {\n  return obj.__proto__\n}\n\nfunction clone (obj) {\n  if (obj === null || typeof obj !== 'object')\n    return obj\n\n  if (obj instanceof Object)\n    var copy = { __proto__: getPrototypeOf(obj) }\n  else\n    var copy = Object.create(null)\n\n  Object.getOwnPropertyNames(obj).forEach(function (key) {\n    Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key))\n  })\n\n  return copy\n}\n","var fs = require('fs')\nvar polyfills = require('./polyfills.js')\nvar legacy = require('./legacy-streams.js')\nvar clone = require('./clone.js')\n\nvar util = require('util')\n\n/* istanbul ignore next - node 0.x polyfill */\nvar gracefulQueue\nvar previousSymbol\n\n/* istanbul ignore else - node 0.x polyfill */\nif (typeof Symbol === 'function' && typeof Symbol.for === 'function') {\n  gracefulQueue = Symbol.for('graceful-fs.queue')\n  // This is used in testing by future versions\n  previousSymbol = Symbol.for('graceful-fs.previous')\n} else {\n  gracefulQueue = '___graceful-fs.queue'\n  previousSymbol = '___graceful-fs.previous'\n}\n\nfunction noop () {}\n\nfunction publishQueue(context, queue) {\n  Object.defineProperty(context, gracefulQueue, {\n    get: function() {\n      return queue\n    }\n  })\n}\n\nvar debug = noop\nif (util.debuglog)\n  debug = util.debuglog('gfs4')\nelse if (/\\bgfs4\\b/i.test(process.env.NODE_DEBUG || ''))\n  debug = function() {\n    var m = util.format.apply(util, arguments)\n    m = 'GFS4: ' + m.split(/\\n/).join('\\nGFS4: ')\n    console.error(m)\n  }\n\n// Once time initialization\nif (!fs[gracefulQueue]) {\n  // This queue can be shared by multiple loaded instances\n  var queue = global[gracefulQueue] || []\n  publishQueue(fs, queue)\n\n  // Patch fs.close/closeSync to shared queue version, because we need\n  // to retry() whenever a close happens *anywhere* in the program.\n  // This is essential when multiple graceful-fs instances are\n  // in play at the same time.\n  fs.close = (function (fs$close) {\n    function close (fd, cb) {\n      return fs$close.call(fs, fd, function (err) {\n        // This function uses the graceful-fs shared queue\n        if (!err) {\n          resetQueue()\n        }\n\n        if (typeof cb === 'function')\n          cb.apply(this, arguments)\n      })\n    }\n\n    Object.defineProperty(close, previousSymbol, {\n      value: fs$close\n    })\n    return close\n  })(fs.close)\n\n  fs.closeSync = (function (fs$closeSync) {\n    function closeSync (fd) {\n      // This function uses the graceful-fs shared queue\n      fs$closeSync.apply(fs, arguments)\n      resetQueue()\n    }\n\n    Object.defineProperty(closeSync, previousSymbol, {\n      value: fs$closeSync\n    })\n    return closeSync\n  })(fs.closeSync)\n\n  if (/\\bgfs4\\b/i.test(process.env.NODE_DEBUG || '')) {\n    process.on('exit', function() {\n      debug(fs[gracefulQueue])\n      require('assert').equal(fs[gracefulQueue].length, 0)\n    })\n  }\n}\n\nif (!global[gracefulQueue]) {\n  publishQueue(global, fs[gracefulQueue]);\n}\n\nmodule.exports = patch(clone(fs))\nif (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs.__patched) {\n    module.exports = patch(fs)\n    fs.__patched = true;\n}\n\nfunction patch (fs) {\n  // Everything that references the open() function needs to be in here\n  polyfills(fs)\n  fs.gracefulify = patch\n\n  fs.createReadStream = createReadStream\n  fs.createWriteStream = createWriteStream\n  var fs$readFile = fs.readFile\n  fs.readFile = readFile\n  function readFile (path, options, cb) {\n    if (typeof options === 'function')\n      cb = options, options = null\n\n    return go$readFile(path, options, cb)\n\n    function go$readFile (path, options, cb, startTime) {\n      return fs$readFile(path, options, function (err) {\n        if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n          enqueue([go$readFile, [path, options, cb], err, startTime || Date.now(), Date.now()])\n        else {\n          if (typeof cb === 'function')\n            cb.apply(this, arguments)\n        }\n      })\n    }\n  }\n\n  var fs$writeFile = fs.writeFile\n  fs.writeFile = writeFile\n  function writeFile (path, data, options, cb) {\n    if (typeof options === 'function')\n      cb = options, options = null\n\n    return go$writeFile(path, data, options, cb)\n\n    function go$writeFile (path, data, options, cb, startTime) {\n      return fs$writeFile(path, data, options, function (err) {\n        if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n          enqueue([go$writeFile, [path, data, options, cb], err, startTime || Date.now(), Date.now()])\n        else {\n          if (typeof cb === 'function')\n            cb.apply(this, arguments)\n        }\n      })\n    }\n  }\n\n  var fs$appendFile = fs.appendFile\n  if (fs$appendFile)\n    fs.appendFile = appendFile\n  function appendFile (path, data, options, cb) {\n    if (typeof options === 'function')\n      cb = options, options = null\n\n    return go$appendFile(path, data, options, cb)\n\n    function go$appendFile (path, data, options, cb, startTime) {\n      return fs$appendFile(path, data, options, function (err) {\n        if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n          enqueue([go$appendFile, [path, data, options, cb], err, startTime || Date.now(), Date.now()])\n        else {\n          if (typeof cb === 'function')\n            cb.apply(this, arguments)\n        }\n      })\n    }\n  }\n\n  var fs$copyFile = fs.copyFile\n  if (fs$copyFile)\n    fs.copyFile = copyFile\n  function copyFile (src, dest, flags, cb) {\n    if (typeof flags === 'function') {\n      cb = flags\n      flags = 0\n    }\n    return go$copyFile(src, dest, flags, cb)\n\n    function go$copyFile (src, dest, flags, cb, startTime) {\n      return fs$copyFile(src, dest, flags, function (err) {\n        if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n          enqueue([go$copyFile, [src, dest, flags, cb], err, startTime || Date.now(), Date.now()])\n        else {\n          if (typeof cb === 'function')\n            cb.apply(this, arguments)\n        }\n      })\n    }\n  }\n\n  var fs$readdir = fs.readdir\n  fs.readdir = readdir\n  var noReaddirOptionVersions = /^v[0-5]\\./\n  function readdir (path, options, cb) {\n    if (typeof options === 'function')\n      cb = options, options = null\n\n    var go$readdir = noReaddirOptionVersions.test(process.version)\n      ? function go$readdir (path, options, cb, startTime) {\n        return fs$readdir(path, fs$readdirCallback(\n          path, options, cb, startTime\n        ))\n      }\n      : function go$readdir (path, options, cb, startTime) {\n        return fs$readdir(path, options, fs$readdirCallback(\n          path, options, cb, startTime\n        ))\n      }\n\n    return go$readdir(path, options, cb)\n\n    function fs$readdirCallback (path, options, cb, startTime) {\n      return function (err, files) {\n        if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n          enqueue([\n            go$readdir,\n            [path, options, cb],\n            err,\n            startTime || Date.now(),\n            Date.now()\n          ])\n        else {\n          if (files && files.sort)\n            files.sort()\n\n          if (typeof cb === 'function')\n            cb.call(this, err, files)\n        }\n      }\n    }\n  }\n\n  if (process.version.substr(0, 4) === 'v0.8') {\n    var legStreams = legacy(fs)\n    ReadStream = legStreams.ReadStream\n    WriteStream = legStreams.WriteStream\n  }\n\n  var fs$ReadStream = fs.ReadStream\n  if (fs$ReadStream) {\n    ReadStream.prototype = Object.create(fs$ReadStream.prototype)\n    ReadStream.prototype.open = ReadStream$open\n  }\n\n  var fs$WriteStream = fs.WriteStream\n  if (fs$WriteStream) {\n    WriteStream.prototype = Object.create(fs$WriteStream.prototype)\n    WriteStream.prototype.open = WriteStream$open\n  }\n\n  Object.defineProperty(fs, 'ReadStream', {\n    get: function () {\n      return ReadStream\n    },\n    set: function (val) {\n      ReadStream = val\n    },\n    enumerable: true,\n    configurable: true\n  })\n  Object.defineProperty(fs, 'WriteStream', {\n    get: function () {\n      return WriteStream\n    },\n    set: function (val) {\n      WriteStream = val\n    },\n    enumerable: true,\n    configurable: true\n  })\n\n  // legacy names\n  var FileReadStream = ReadStream\n  Object.defineProperty(fs, 'FileReadStream', {\n    get: function () {\n      return FileReadStream\n    },\n    set: function (val) {\n      FileReadStream = val\n    },\n    enumerable: true,\n    configurable: true\n  })\n  var FileWriteStream = WriteStream\n  Object.defineProperty(fs, 'FileWriteStream', {\n    get: function () {\n      return FileWriteStream\n    },\n    set: function (val) {\n      FileWriteStream = val\n    },\n    enumerable: true,\n    configurable: true\n  })\n\n  function ReadStream (path, options) {\n    if (this instanceof ReadStream)\n      return fs$ReadStream.apply(this, arguments), this\n    else\n      return ReadStream.apply(Object.create(ReadStream.prototype), arguments)\n  }\n\n  function ReadStream$open () {\n    var that = this\n    open(that.path, that.flags, that.mode, function (err, fd) {\n      if (err) {\n        if (that.autoClose)\n          that.destroy()\n\n        that.emit('error', err)\n      } else {\n        that.fd = fd\n        that.emit('open', fd)\n        that.read()\n      }\n    })\n  }\n\n  function WriteStream (path, options) {\n    if (this instanceof WriteStream)\n      return fs$WriteStream.apply(this, arguments), this\n    else\n      return WriteStream.apply(Object.create(WriteStream.prototype), arguments)\n  }\n\n  function WriteStream$open () {\n    var that = this\n    open(that.path, that.flags, that.mode, function (err, fd) {\n      if (err) {\n        that.destroy()\n        that.emit('error', err)\n      } else {\n        that.fd = fd\n        that.emit('open', fd)\n      }\n    })\n  }\n\n  function createReadStream (path, options) {\n    return new fs.ReadStream(path, options)\n  }\n\n  function createWriteStream (path, options) {\n    return new fs.WriteStream(path, options)\n  }\n\n  var fs$open = fs.open\n  fs.open = open\n  function open (path, flags, mode, cb) {\n    if (typeof mode === 'function')\n      cb = mode, mode = null\n\n    return go$open(path, flags, mode, cb)\n\n    function go$open (path, flags, mode, cb, startTime) {\n      return fs$open(path, flags, mode, function (err, fd) {\n        if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n          enqueue([go$open, [path, flags, mode, cb], err, startTime || Date.now(), Date.now()])\n        else {\n          if (typeof cb === 'function')\n            cb.apply(this, arguments)\n        }\n      })\n    }\n  }\n\n  return fs\n}\n\nfunction enqueue (elem) {\n  debug('ENQUEUE', elem[0].name, elem[1])\n  fs[gracefulQueue].push(elem)\n  retry()\n}\n\n// keep track of the timeout between retry() calls\nvar retryTimer\n\n// reset the startTime and lastTime to now\n// this resets the start of the 60 second overall timeout as well as the\n// delay between attempts so that we'll retry these jobs sooner\nfunction resetQueue () {\n  var now = Date.now()\n  for (var i = 0; i < fs[gracefulQueue].length; ++i) {\n    // entries that are only a length of 2 are from an older version, don't\n    // bother modifying those since they'll be retried anyway.\n    if (fs[gracefulQueue][i].length > 2) {\n      fs[gracefulQueue][i][3] = now // startTime\n      fs[gracefulQueue][i][4] = now // lastTime\n    }\n  }\n  // call retry to make sure we're actively processing the queue\n  retry()\n}\n\nfunction retry () {\n  // clear the timer and remove it to help prevent unintended concurrency\n  clearTimeout(retryTimer)\n  retryTimer = undefined\n\n  if (fs[gracefulQueue].length === 0)\n    return\n\n  var elem = fs[gracefulQueue].shift()\n  var fn = elem[0]\n  var args = elem[1]\n  // these items may be unset if they were added by an older graceful-fs\n  var err = elem[2]\n  var startTime = elem[3]\n  var lastTime = elem[4]\n\n  // if we don't have a startTime we have no way of knowing if we've waited\n  // long enough, so go ahead and retry this item now\n  if (startTime === undefined) {\n    debug('RETRY', fn.name, args)\n    fn.apply(null, args)\n  } else if (Date.now() - startTime >= 60000) {\n    // it's been more than 60 seconds total, bail now\n    debug('TIMEOUT', fn.name, args)\n    var cb = args.pop()\n    if (typeof cb === 'function')\n      cb.call(null, err)\n  } else {\n    // the amount of time between the last attempt and right now\n    var sinceAttempt = Date.now() - lastTime\n    // the amount of time between when we first tried, and when we last tried\n    // rounded up to at least 1\n    var sinceStart = Math.max(lastTime - startTime, 1)\n    // backoff. wait longer than the total time we've been retrying, but only\n    // up to a maximum of 100ms\n    var desiredDelay = Math.min(sinceStart * 1.2, 100)\n    // it's been long enough since the last retry, do it again\n    if (sinceAttempt >= desiredDelay) {\n      debug('RETRY', fn.name, args)\n      fn.apply(null, args.concat([startTime]))\n    } else {\n      // if we can't do this job yet, push it to the end of the queue\n      // and let the next iteration check again\n      fs[gracefulQueue].push(elem)\n    }\n  }\n\n  // schedule our next run if one isn't already scheduled\n  if (retryTimer === undefined) {\n    retryTimer = setTimeout(retry, 0)\n  }\n}\n","var Stream = require('stream').Stream\n\nmodule.exports = legacy\n\nfunction legacy (fs) {\n  return {\n    ReadStream: ReadStream,\n    WriteStream: WriteStream\n  }\n\n  function ReadStream (path, options) {\n    if (!(this instanceof ReadStream)) return new ReadStream(path, options);\n\n    Stream.call(this);\n\n    var self = this;\n\n    this.path = path;\n    this.fd = null;\n    this.readable = true;\n    this.paused = false;\n\n    this.flags = 'r';\n    this.mode = 438; /*=0666*/\n    this.bufferSize = 64 * 1024;\n\n    options = options || {};\n\n    // Mixin options into this\n    var keys = Object.keys(options);\n    for (var index = 0, length = keys.length; index < length; index++) {\n      var key = keys[index];\n      this[key] = options[key];\n    }\n\n    if (this.encoding) this.setEncoding(this.encoding);\n\n    if (this.start !== undefined) {\n      if ('number' !== typeof this.start) {\n        throw TypeError('start must be a Number');\n      }\n      if (this.end === undefined) {\n        this.end = Infinity;\n      } else if ('number' !== typeof this.end) {\n        throw TypeError('end must be a Number');\n      }\n\n      if (this.start > this.end) {\n        throw new Error('start must be <= end');\n      }\n\n      this.pos = this.start;\n    }\n\n    if (this.fd !== null) {\n      process.nextTick(function() {\n        self._read();\n      });\n      return;\n    }\n\n    fs.open(this.path, this.flags, this.mode, function (err, fd) {\n      if (err) {\n        self.emit('error', err);\n        self.readable = false;\n        return;\n      }\n\n      self.fd = fd;\n      self.emit('open', fd);\n      self._read();\n    })\n  }\n\n  function WriteStream (path, options) {\n    if (!(this instanceof WriteStream)) return new WriteStream(path, options);\n\n    Stream.call(this);\n\n    this.path = path;\n    this.fd = null;\n    this.writable = true;\n\n    this.flags = 'w';\n    this.encoding = 'binary';\n    this.mode = 438; /*=0666*/\n    this.bytesWritten = 0;\n\n    options = options || {};\n\n    // Mixin options into this\n    var keys = Object.keys(options);\n    for (var index = 0, length = keys.length; index < length; index++) {\n      var key = keys[index];\n      this[key] = options[key];\n    }\n\n    if (this.start !== undefined) {\n      if ('number' !== typeof this.start) {\n        throw TypeError('start must be a Number');\n      }\n      if (this.start < 0) {\n        throw new Error('start must be >= zero');\n      }\n\n      this.pos = this.start;\n    }\n\n    this.busy = false;\n    this._queue = [];\n\n    if (this.fd === null) {\n      this._open = fs.open;\n      this._queue.push([this._open, this.path, this.flags, this.mode, undefined]);\n      this.flush();\n    }\n  }\n}\n","var constants = require('constants')\n\nvar origCwd = process.cwd\nvar cwd = null\n\nvar platform = process.env.GRACEFUL_FS_PLATFORM || process.platform\n\nprocess.cwd = function() {\n  if (!cwd)\n    cwd = origCwd.call(process)\n  return cwd\n}\ntry {\n  process.cwd()\n} catch (er) {}\n\n// This check is needed until node.js 12 is required\nif (typeof process.chdir === 'function') {\n  var chdir = process.chdir\n  process.chdir = function (d) {\n    cwd = null\n    chdir.call(process, d)\n  }\n  if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir)\n}\n\nmodule.exports = patch\n\nfunction patch (fs) {\n  // (re-)implement some things that are known busted or missing.\n\n  // lchmod, broken prior to 0.6.2\n  // back-port the fix here.\n  if (constants.hasOwnProperty('O_SYMLINK') &&\n      process.version.match(/^v0\\.6\\.[0-2]|^v0\\.5\\./)) {\n    patchLchmod(fs)\n  }\n\n  // lutimes implementation, or no-op\n  if (!fs.lutimes) {\n    patchLutimes(fs)\n  }\n\n  // https://github.com/isaacs/node-graceful-fs/issues/4\n  // Chown should not fail on einval or eperm if non-root.\n  // It should not fail on enosys ever, as this just indicates\n  // that a fs doesn't support the intended operation.\n\n  fs.chown = chownFix(fs.chown)\n  fs.fchown = chownFix(fs.fchown)\n  fs.lchown = chownFix(fs.lchown)\n\n  fs.chmod = chmodFix(fs.chmod)\n  fs.fchmod = chmodFix(fs.fchmod)\n  fs.lchmod = chmodFix(fs.lchmod)\n\n  fs.chownSync = chownFixSync(fs.chownSync)\n  fs.fchownSync = chownFixSync(fs.fchownSync)\n  fs.lchownSync = chownFixSync(fs.lchownSync)\n\n  fs.chmodSync = chmodFixSync(fs.chmodSync)\n  fs.fchmodSync = chmodFixSync(fs.fchmodSync)\n  fs.lchmodSync = chmodFixSync(fs.lchmodSync)\n\n  fs.stat = statFix(fs.stat)\n  fs.fstat = statFix(fs.fstat)\n  fs.lstat = statFix(fs.lstat)\n\n  fs.statSync = statFixSync(fs.statSync)\n  fs.fstatSync = statFixSync(fs.fstatSync)\n  fs.lstatSync = statFixSync(fs.lstatSync)\n\n  // if lchmod/lchown do not exist, then make them no-ops\n  if (fs.chmod && !fs.lchmod) {\n    fs.lchmod = function (path, mode, cb) {\n      if (cb) process.nextTick(cb)\n    }\n    fs.lchmodSync = function () {}\n  }\n  if (fs.chown && !fs.lchown) {\n    fs.lchown = function (path, uid, gid, cb) {\n      if (cb) process.nextTick(cb)\n    }\n    fs.lchownSync = function () {}\n  }\n\n  // on Windows, A/V software can lock the directory, causing this\n  // to fail with an EACCES or EPERM if the directory contains newly\n  // created files.  Try again on failure, for up to 60 seconds.\n\n  // Set the timeout this long because some Windows Anti-Virus, such as Parity\n  // bit9, may lock files for up to a minute, causing npm package install\n  // failures. Also, take care to yield the scheduler. Windows scheduling gives\n  // CPU to a busy looping process, which can cause the program causing the lock\n  // contention to be starved of CPU by node, so the contention doesn't resolve.\n  if (platform === \"win32\") {\n    fs.rename = typeof fs.rename !== 'function' ? fs.rename\n    : (function (fs$rename) {\n      function rename (from, to, cb) {\n        var start = Date.now()\n        var backoff = 0;\n        fs$rename(from, to, function CB (er) {\n          if (er\n              && (er.code === \"EACCES\" || er.code === \"EPERM\" || er.code === \"EBUSY\")\n              && Date.now() - start < 60000) {\n            setTimeout(function() {\n              fs.stat(to, function (stater, st) {\n                if (stater && stater.code === \"ENOENT\")\n                  fs$rename(from, to, CB);\n                else\n                  cb(er)\n              })\n            }, backoff)\n            if (backoff < 100)\n              backoff += 10;\n            return;\n          }\n          if (cb) cb(er)\n        })\n      }\n      if (Object.setPrototypeOf) Object.setPrototypeOf(rename, fs$rename)\n      return rename\n    })(fs.rename)\n  }\n\n  // if read() returns EAGAIN, then just try it again.\n  fs.read = typeof fs.read !== 'function' ? fs.read\n  : (function (fs$read) {\n    function read (fd, buffer, offset, length, position, callback_) {\n      var callback\n      if (callback_ && typeof callback_ === 'function') {\n        var eagCounter = 0\n        callback = function (er, _, __) {\n          if (er && er.code === 'EAGAIN' && eagCounter < 10) {\n            eagCounter ++\n            return fs$read.call(fs, fd, buffer, offset, length, position, callback)\n          }\n          callback_.apply(this, arguments)\n        }\n      }\n      return fs$read.call(fs, fd, buffer, offset, length, position, callback)\n    }\n\n    // This ensures `util.promisify` works as it does for native `fs.read`.\n    if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read)\n    return read\n  })(fs.read)\n\n  fs.readSync = typeof fs.readSync !== 'function' ? fs.readSync\n  : (function (fs$readSync) { return function (fd, buffer, offset, length, position) {\n    var eagCounter = 0\n    while (true) {\n      try {\n        return fs$readSync.call(fs, fd, buffer, offset, length, position)\n      } catch (er) {\n        if (er.code === 'EAGAIN' && eagCounter < 10) {\n          eagCounter ++\n          continue\n        }\n        throw er\n      }\n    }\n  }})(fs.readSync)\n\n  function patchLchmod (fs) {\n    fs.lchmod = function (path, mode, callback) {\n      fs.open( path\n             , constants.O_WRONLY | constants.O_SYMLINK\n             , mode\n             , function (err, fd) {\n        if (err) {\n          if (callback) callback(err)\n          return\n        }\n        // prefer to return the chmod error, if one occurs,\n        // but still try to close, and report closing errors if they occur.\n        fs.fchmod(fd, mode, function (err) {\n          fs.close(fd, function(err2) {\n            if (callback) callback(err || err2)\n          })\n        })\n      })\n    }\n\n    fs.lchmodSync = function (path, mode) {\n      var fd = fs.openSync(path, constants.O_WRONLY | constants.O_SYMLINK, mode)\n\n      // prefer to return the chmod error, if one occurs,\n      // but still try to close, and report closing errors if they occur.\n      var threw = true\n      var ret\n      try {\n        ret = fs.fchmodSync(fd, mode)\n        threw = false\n      } finally {\n        if (threw) {\n          try {\n            fs.closeSync(fd)\n          } catch (er) {}\n        } else {\n          fs.closeSync(fd)\n        }\n      }\n      return ret\n    }\n  }\n\n  function patchLutimes (fs) {\n    if (constants.hasOwnProperty(\"O_SYMLINK\") && fs.futimes) {\n      fs.lutimes = function (path, at, mt, cb) {\n        fs.open(path, constants.O_SYMLINK, function (er, fd) {\n          if (er) {\n            if (cb) cb(er)\n            return\n          }\n          fs.futimes(fd, at, mt, function (er) {\n            fs.close(fd, function (er2) {\n              if (cb) cb(er || er2)\n            })\n          })\n        })\n      }\n\n      fs.lutimesSync = function (path, at, mt) {\n        var fd = fs.openSync(path, constants.O_SYMLINK)\n        var ret\n        var threw = true\n        try {\n          ret = fs.futimesSync(fd, at, mt)\n          threw = false\n        } finally {\n          if (threw) {\n            try {\n              fs.closeSync(fd)\n            } catch (er) {}\n          } else {\n            fs.closeSync(fd)\n          }\n        }\n        return ret\n      }\n\n    } else if (fs.futimes) {\n      fs.lutimes = function (_a, _b, _c, cb) { if (cb) process.nextTick(cb) }\n      fs.lutimesSync = function () {}\n    }\n  }\n\n  function chmodFix (orig) {\n    if (!orig) return orig\n    return function (target, mode, cb) {\n      return orig.call(fs, target, mode, function (er) {\n        if (chownErOk(er)) er = null\n        if (cb) cb.apply(this, arguments)\n      })\n    }\n  }\n\n  function chmodFixSync (orig) {\n    if (!orig) return orig\n    return function (target, mode) {\n      try {\n        return orig.call(fs, target, mode)\n      } catch (er) {\n        if (!chownErOk(er)) throw er\n      }\n    }\n  }\n\n\n  function chownFix (orig) {\n    if (!orig) return orig\n    return function (target, uid, gid, cb) {\n      return orig.call(fs, target, uid, gid, function (er) {\n        if (chownErOk(er)) er = null\n        if (cb) cb.apply(this, arguments)\n      })\n    }\n  }\n\n  function chownFixSync (orig) {\n    if (!orig) return orig\n    return function (target, uid, gid) {\n      try {\n        return orig.call(fs, target, uid, gid)\n      } catch (er) {\n        if (!chownErOk(er)) throw er\n      }\n    }\n  }\n\n  function statFix (orig) {\n    if (!orig) return orig\n    // Older versions of Node erroneously returned signed integers for\n    // uid + gid.\n    return function (target, options, cb) {\n      if (typeof options === 'function') {\n        cb = options\n        options = null\n      }\n      function callback (er, stats) {\n        if (stats) {\n          if (stats.uid < 0) stats.uid += 0x100000000\n          if (stats.gid < 0) stats.gid += 0x100000000\n        }\n        if (cb) cb.apply(this, arguments)\n      }\n      return options ? orig.call(fs, target, options, callback)\n        : orig.call(fs, target, callback)\n    }\n  }\n\n  function statFixSync (orig) {\n    if (!orig) return orig\n    // Older versions of Node erroneously returned signed integers for\n    // uid + gid.\n    return function (target, options) {\n      var stats = options ? orig.call(fs, target, options)\n        : orig.call(fs, target)\n      if (stats) {\n        if (stats.uid < 0) stats.uid += 0x100000000\n        if (stats.gid < 0) stats.gid += 0x100000000\n      }\n      return stats;\n    }\n  }\n\n  // ENOSYS means that the fs doesn't support the op. Just ignore\n  // that, because it doesn't matter.\n  //\n  // if there's no getuid, or if getuid() is something other\n  // than 0, and the error is EINVAL or EPERM, then just ignore\n  // it.\n  //\n  // This specific case is a silent failure in cp, install, tar,\n  // and most other unix tools that manage permissions.\n  //\n  // When running as root, or if other types of errors are\n  // encountered, then it's strict.\n  function chownErOk (er) {\n    if (!er)\n      return true\n\n    if (er.code === \"ENOSYS\")\n      return true\n\n    var nonroot = !process.getuid || process.getuid() !== 0\n    if (nonroot) {\n      if (er.code === \"EINVAL\" || er.code === \"EPERM\")\n        return true\n    }\n\n    return false\n  }\n}\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!$defineProperty) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/** @type {import('./shams')} */\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\t/** @type {{ [k in symbol]?: unknown }} */\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (var _ in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {PropertyDescriptor} */ (Object.getOwnPropertyDescriptor(obj, sym));\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","/*\nSyntax highlighting with language autodetection.\nhttps://highlightjs.org/\n*/\n\n(function(factory) {\n\n  // Find the global object for export to both the browser and web workers.\n  var globalObject = typeof window === 'object' && window ||\n                     typeof self === 'object' && self;\n\n  // Setup highlight.js for different environments. First is Node.js or\n  // CommonJS.\n  // `nodeType` is checked to ensure that `exports` is not a HTML element.\n  if(typeof exports !== 'undefined' && !exports.nodeType) {\n    factory(exports);\n  } else if(globalObject) {\n    // Export hljs globally even when using AMD for cases when this script\n    // is loaded with others that may still expect a global hljs.\n    globalObject.hljs = factory({});\n\n    // Finally register the global hljs with AMD.\n    if(typeof define === 'function' && define.amd) {\n      define([], function() {\n        return globalObject.hljs;\n      });\n    }\n  }\n\n}(function(hljs) {\n  // Convenience variables for build-in objects\n  var ArrayProto = [],\n      objectKeys = Object.keys;\n\n  // Global internal variables used within the highlight.js library.\n  var languages = {},\n      aliases   = {};\n\n  // Regular expressions used throughout the highlight.js library.\n  var noHighlightRe    = /^(no-?highlight|plain|text)$/i,\n      languagePrefixRe = /\\blang(?:uage)?-([\\w-]+)\\b/i,\n      fixMarkupRe      = /((^(<[^>]+>|\\t|)+|(?:\\n)))/gm;\n\n  // The object will be assigned by the build tool. It used to synchronize API \n  // of external language files with minified version of the highlight.js library.\n  var API_REPLACES;\n\n  var spanEndTag = '</span>';\n\n  // Global options used when within external APIs. This is modified when\n  // calling the `hljs.configure` function.\n  var options = {\n    classPrefix: 'hljs-',\n    tabReplace: null,\n    useBR: false,\n    languages: undefined\n  };\n\n\n  /* Utility functions */\n\n  function escape(value) {\n    return value.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');\n  }\n\n  function tag(node) {\n    return node.nodeName.toLowerCase();\n  }\n\n  function testRe(re, lexeme) {\n    var match = re && re.exec(lexeme);\n    return match && match.index === 0;\n  }\n\n  function isNotHighlighted(language) {\n    return noHighlightRe.test(language);\n  }\n\n  function blockLanguage(block) {\n    var i, match, length, _class;\n    var classes = block.className + ' ';\n\n    classes += block.parentNode ? block.parentNode.className : '';\n\n    // language-* takes precedence over non-prefixed class names.\n    match = languagePrefixRe.exec(classes);\n    if (match) {\n      return getLanguage(match[1]) ? match[1] : 'no-highlight';\n    }\n\n    classes = classes.split(/\\s+/);\n\n    for (i = 0, length = classes.length; i < length; i++) {\n      _class = classes[i];\n\n      if (isNotHighlighted(_class) || getLanguage(_class)) {\n        return _class;\n      }\n    }\n  }\n\n  function inherit(parent) {  // inherit(parent, override_obj, override_obj, ...)\n    var key;\n    var result = {};\n    var objects = Array.prototype.slice.call(arguments, 1);\n\n    for (key in parent)\n      result[key] = parent[key];\n    objects.forEach(function(obj) {\n      for (key in obj)\n        result[key] = obj[key];\n    });\n    return result;\n  }\n\n  /* Stream merging */\n\n  function nodeStream(node) {\n    var result = [];\n    (function _nodeStream(node, offset) {\n      for (var child = node.firstChild; child; child = child.nextSibling) {\n        if (child.nodeType === 3)\n          offset += child.nodeValue.length;\n        else if (child.nodeType === 1) {\n          result.push({\n            event: 'start',\n            offset: offset,\n            node: child\n          });\n          offset = _nodeStream(child, offset);\n          // Prevent void elements from having an end tag that would actually\n          // double them in the output. There are more void elements in HTML\n          // but we list only those realistically expected in code display.\n          if (!tag(child).match(/br|hr|img|input/)) {\n            result.push({\n              event: 'stop',\n              offset: offset,\n              node: child\n            });\n          }\n        }\n      }\n      return offset;\n    })(node, 0);\n    return result;\n  }\n\n  function mergeStreams(original, highlighted, value) {\n    var processed = 0;\n    var result = '';\n    var nodeStack = [];\n\n    function selectStream() {\n      if (!original.length || !highlighted.length) {\n        return original.length ? original : highlighted;\n      }\n      if (original[0].offset !== highlighted[0].offset) {\n        return (original[0].offset < highlighted[0].offset) ? original : highlighted;\n      }\n\n      /*\n      To avoid starting the stream just before it should stop the order is\n      ensured that original always starts first and closes last:\n\n      if (event1 == 'start' && event2 == 'start')\n        return original;\n      if (event1 == 'start' && event2 == 'stop')\n        return highlighted;\n      if (event1 == 'stop' && event2 == 'start')\n        return original;\n      if (event1 == 'stop' && event2 == 'stop')\n        return highlighted;\n\n      ... which is collapsed to:\n      */\n      return highlighted[0].event === 'start' ? original : highlighted;\n    }\n\n    function open(node) {\n      function attr_str(a) {return ' ' + a.nodeName + '=\"' + escape(a.value).replace('\"', '&quot;') + '\"';}\n      result += '<' + tag(node) + ArrayProto.map.call(node.attributes, attr_str).join('') + '>';\n    }\n\n    function close(node) {\n      result += '</' + tag(node) + '>';\n    }\n\n    function render(event) {\n      (event.event === 'start' ? open : close)(event.node);\n    }\n\n    while (original.length || highlighted.length) {\n      var stream = selectStream();\n      result += escape(value.substring(processed, stream[0].offset));\n      processed = stream[0].offset;\n      if (stream === original) {\n        /*\n        On any opening or closing tag of the original markup we first close\n        the entire highlighted node stack, then render the original tag along\n        with all the following original tags at the same offset and then\n        reopen all the tags on the highlighted stack.\n        */\n        nodeStack.reverse().forEach(close);\n        do {\n          render(stream.splice(0, 1)[0]);\n          stream = selectStream();\n        } while (stream === original && stream.length && stream[0].offset === processed);\n        nodeStack.reverse().forEach(open);\n      } else {\n        if (stream[0].event === 'start') {\n          nodeStack.push(stream[0].node);\n        } else {\n          nodeStack.pop();\n        }\n        render(stream.splice(0, 1)[0]);\n      }\n    }\n    return result + escape(value.substr(processed));\n  }\n\n  /* Initialization */\n\n  function expand_mode(mode) {\n    if (mode.variants && !mode.cached_variants) {\n      mode.cached_variants = mode.variants.map(function(variant) {\n        return inherit(mode, {variants: null}, variant);\n      });\n    }\n    return mode.cached_variants || (mode.endsWithParent && [inherit(mode)]) || [mode];\n  }\n\n  function restoreLanguageApi(obj) {\n    if(API_REPLACES && !obj.langApiRestored) {\n      obj.langApiRestored = true;\n      for(var key in API_REPLACES)\n        obj[key] && (obj[API_REPLACES[key]] = obj[key]);\n      (obj.contains || []).concat(obj.variants || []).forEach(restoreLanguageApi);\n    }\n  }\n\n  function compileLanguage(language) {\n\n    function reStr(re) {\n        return (re && re.source) || re;\n    }\n\n    function langRe(value, global) {\n      return new RegExp(\n        reStr(value),\n        'm' + (language.case_insensitive ? 'i' : '') + (global ? 'g' : '')\n      );\n    }\n\n    // joinRe logically computes regexps.join(separator), but fixes the\n    // backreferences so they continue to match.\n    function joinRe(regexps, separator) {\n      // backreferenceRe matches an open parenthesis or backreference. To avoid\n      // an incorrect parse, it additionally matches the following:\n      // - [...] elements, where the meaning of parentheses and escapes change\n      // - other escape sequences, so we do not misparse escape sequences as\n      //   interesting elements\n      // - non-matching or lookahead parentheses, which do not capture. These\n      //   follow the '(' with a '?'.\n      var backreferenceRe = /\\[(?:[^\\\\\\]]|\\\\.)*\\]|\\(\\??|\\\\([1-9][0-9]*)|\\\\./;\n      var numCaptures = 0;\n      var ret = '';\n      for (var i = 0; i < regexps.length; i++) {\n        var offset = numCaptures;\n        var re = reStr(regexps[i]);\n        if (i > 0) {\n          ret += separator;\n        }\n        while (re.length > 0) {\n          var match = backreferenceRe.exec(re);\n          if (match == null) {\n            ret += re;\n            break;\n          }\n          ret += re.substring(0, match.index);\n          re = re.substring(match.index + match[0].length);\n          if (match[0][0] == '\\\\' && match[1]) {\n            // Adjust the backreference.\n            ret += '\\\\' + String(Number(match[1]) + offset);\n          } else {\n            ret += match[0];\n            if (match[0] == '(') {\n              numCaptures++;\n            }\n          }\n        }\n      }\n      return ret;\n    }\n\n    function compileMode(mode, parent) {\n      if (mode.compiled)\n        return;\n      mode.compiled = true;\n\n      mode.keywords = mode.keywords || mode.beginKeywords;\n      if (mode.keywords) {\n        var compiled_keywords = {};\n\n        var flatten = function(className, str) {\n          if (language.case_insensitive) {\n            str = str.toLowerCase();\n          }\n          str.split(' ').forEach(function(kw) {\n            var pair = kw.split('|');\n            compiled_keywords[pair[0]] = [className, pair[1] ? Number(pair[1]) : 1];\n          });\n        };\n\n        if (typeof mode.keywords === 'string') { // string\n          flatten('keyword', mode.keywords);\n        } else {\n          objectKeys(mode.keywords).forEach(function (className) {\n            flatten(className, mode.keywords[className]);\n          });\n        }\n        mode.keywords = compiled_keywords;\n      }\n      mode.lexemesRe = langRe(mode.lexemes || /\\w+/, true);\n\n      if (parent) {\n        if (mode.beginKeywords) {\n          mode.begin = '\\\\b(' + mode.beginKeywords.split(' ').join('|') + ')\\\\b';\n        }\n        if (!mode.begin)\n          mode.begin = /\\B|\\b/;\n        mode.beginRe = langRe(mode.begin);\n        if (mode.endSameAsBegin)\n          mode.end = mode.begin;\n        if (!mode.end && !mode.endsWithParent)\n          mode.end = /\\B|\\b/;\n        if (mode.end)\n          mode.endRe = langRe(mode.end);\n        mode.terminator_end = reStr(mode.end) || '';\n        if (mode.endsWithParent && parent.terminator_end)\n          mode.terminator_end += (mode.end ? '|' : '') + parent.terminator_end;\n      }\n      if (mode.illegal)\n        mode.illegalRe = langRe(mode.illegal);\n      if (mode.relevance == null)\n        mode.relevance = 1;\n      if (!mode.contains) {\n        mode.contains = [];\n      }\n      mode.contains = Array.prototype.concat.apply([], mode.contains.map(function(c) {\n        return expand_mode(c === 'self' ? mode : c);\n      }));\n      mode.contains.forEach(function(c) {compileMode(c, mode);});\n\n      if (mode.starts) {\n        compileMode(mode.starts, parent);\n      }\n\n      var terminators =\n        mode.contains.map(function(c) {\n          return c.beginKeywords ? '\\\\.?(?:' + c.begin + ')\\\\.?' : c.begin;\n        })\n        .concat([mode.terminator_end, mode.illegal])\n        .map(reStr)\n        .filter(Boolean);\n      mode.terminators = terminators.length ? langRe(joinRe(terminators, '|'), true) : {exec: function(/*s*/) {return null;}};\n    }\n    \n    compileMode(language);\n  }\n\n  /*\n  Core highlighting function. Accepts a language name, or an alias, and a\n  string with the code to highlight. Returns an object with the following\n  properties:\n\n  - relevance (int)\n  - value (an HTML string with highlighting markup)\n\n  */\n  function highlight(name, value, ignore_illegals, continuation) {\n\n    function escapeRe(value) {\n      return new RegExp(value.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&'), 'm');\n    }\n\n    function subMode(lexeme, mode) {\n      var i, length;\n\n      for (i = 0, length = mode.contains.length; i < length; i++) {\n        if (testRe(mode.contains[i].beginRe, lexeme)) {\n          if (mode.contains[i].endSameAsBegin) {\n            mode.contains[i].endRe = escapeRe( mode.contains[i].beginRe.exec(lexeme)[0] );\n          }\n          return mode.contains[i];\n        }\n      }\n    }\n\n    function endOfMode(mode, lexeme) {\n      if (testRe(mode.endRe, lexeme)) {\n        while (mode.endsParent && mode.parent) {\n          mode = mode.parent;\n        }\n        return mode;\n      }\n      if (mode.endsWithParent) {\n        return endOfMode(mode.parent, lexeme);\n      }\n    }\n\n    function isIllegal(lexeme, mode) {\n      return !ignore_illegals && testRe(mode.illegalRe, lexeme);\n    }\n\n    function keywordMatch(mode, match) {\n      var match_str = language.case_insensitive ? match[0].toLowerCase() : match[0];\n      return mode.keywords.hasOwnProperty(match_str) && mode.keywords[match_str];\n    }\n\n    function buildSpan(classname, insideSpan, leaveOpen, noPrefix) {\n      var classPrefix = noPrefix ? '' : options.classPrefix,\n          openSpan    = '<span class=\"' + classPrefix,\n          closeSpan   = leaveOpen ? '' : spanEndTag;\n\n      openSpan += classname + '\">';\n\n      if (!classname) return insideSpan;\n      return openSpan + insideSpan + closeSpan;\n    }\n\n    function processKeywords() {\n      var keyword_match, last_index, match, result;\n\n      if (!top.keywords)\n        return escape(mode_buffer);\n\n      result = '';\n      last_index = 0;\n      top.lexemesRe.lastIndex = 0;\n      match = top.lexemesRe.exec(mode_buffer);\n\n      while (match) {\n        result += escape(mode_buffer.substring(last_index, match.index));\n        keyword_match = keywordMatch(top, match);\n        if (keyword_match) {\n          relevance += keyword_match[1];\n          result += buildSpan(keyword_match[0], escape(match[0]));\n        } else {\n          result += escape(match[0]);\n        }\n        last_index = top.lexemesRe.lastIndex;\n        match = top.lexemesRe.exec(mode_buffer);\n      }\n      return result + escape(mode_buffer.substr(last_index));\n    }\n\n    function processSubLanguage() {\n      var explicit = typeof top.subLanguage === 'string';\n      if (explicit && !languages[top.subLanguage]) {\n        return escape(mode_buffer);\n      }\n\n      var result = explicit ?\n                   highlight(top.subLanguage, mode_buffer, true, continuations[top.subLanguage]) :\n                   highlightAuto(mode_buffer, top.subLanguage.length ? top.subLanguage : undefined);\n\n      // Counting embedded language score towards the host language may be disabled\n      // with zeroing the containing mode relevance. Usecase in point is Markdown that\n      // allows XML everywhere and makes every XML snippet to have a much larger Markdown\n      // score.\n      if (top.relevance > 0) {\n        relevance += result.relevance;\n      }\n      if (explicit) {\n        continuations[top.subLanguage] = result.top;\n      }\n      return buildSpan(result.language, result.value, false, true);\n    }\n\n    function processBuffer() {\n      result += (top.subLanguage != null ? processSubLanguage() : processKeywords());\n      mode_buffer = '';\n    }\n\n    function startNewMode(mode) {\n      result += mode.className? buildSpan(mode.className, '', true): '';\n      top = Object.create(mode, {parent: {value: top}});\n    }\n\n    function processLexeme(buffer, lexeme) {\n\n      mode_buffer += buffer;\n\n      if (lexeme == null) {\n        processBuffer();\n        return 0;\n      }\n\n      var new_mode = subMode(lexeme, top);\n      if (new_mode) {\n        if (new_mode.skip) {\n          mode_buffer += lexeme;\n        } else {\n          if (new_mode.excludeBegin) {\n            mode_buffer += lexeme;\n          }\n          processBuffer();\n          if (!new_mode.returnBegin && !new_mode.excludeBegin) {\n            mode_buffer = lexeme;\n          }\n        }\n        startNewMode(new_mode, lexeme);\n        return new_mode.returnBegin ? 0 : lexeme.length;\n      }\n\n      var end_mode = endOfMode(top, lexeme);\n      if (end_mode) {\n        var origin = top;\n        if (origin.skip) {\n          mode_buffer += lexeme;\n        } else {\n          if (!(origin.returnEnd || origin.excludeEnd)) {\n            mode_buffer += lexeme;\n          }\n          processBuffer();\n          if (origin.excludeEnd) {\n            mode_buffer = lexeme;\n          }\n        }\n        do {\n          if (top.className) {\n            result += spanEndTag;\n          }\n          if (!top.skip && !top.subLanguage) {\n            relevance += top.relevance;\n          }\n          top = top.parent;\n        } while (top !== end_mode.parent);\n        if (end_mode.starts) {\n          if (end_mode.endSameAsBegin) {\n            end_mode.starts.endRe = end_mode.endRe;\n          }\n          startNewMode(end_mode.starts, '');\n        }\n        return origin.returnEnd ? 0 : lexeme.length;\n      }\n\n      if (isIllegal(lexeme, top))\n        throw new Error('Illegal lexeme \"' + lexeme + '\" for mode \"' + (top.className || '<unnamed>') + '\"');\n\n      /*\n      Parser should not reach this point as all types of lexemes should be caught\n      earlier, but if it does due to some bug make sure it advances at least one\n      character forward to prevent infinite looping.\n      */\n      mode_buffer += lexeme;\n      return lexeme.length || 1;\n    }\n\n    var language = getLanguage(name);\n    if (!language) {\n      throw new Error('Unknown language: \"' + name + '\"');\n    }\n\n    compileLanguage(language);\n    var top = continuation || language;\n    var continuations = {}; // keep continuations for sub-languages\n    var result = '', current;\n    for(current = top; current !== language; current = current.parent) {\n      if (current.className) {\n        result = buildSpan(current.className, '', true) + result;\n      }\n    }\n    var mode_buffer = '';\n    var relevance = 0;\n    try {\n      var match, count, index = 0;\n      while (true) {\n        top.terminators.lastIndex = index;\n        match = top.terminators.exec(value);\n        if (!match)\n          break;\n        count = processLexeme(value.substring(index, match.index), match[0]);\n        index = match.index + count;\n      }\n      processLexeme(value.substr(index));\n      for(current = top; current.parent; current = current.parent) { // close dangling modes\n        if (current.className) {\n          result += spanEndTag;\n        }\n      }\n      return {\n        relevance: relevance,\n        value: result,\n        language: name,\n        top: top\n      };\n    } catch (e) {\n      if (e.message && e.message.indexOf('Illegal') !== -1) {\n        return {\n          relevance: 0,\n          value: escape(value)\n        };\n      } else {\n        throw e;\n      }\n    }\n  }\n\n  /*\n  Highlighting with language detection. Accepts a string with the code to\n  highlight. Returns an object with the following properties:\n\n  - language (detected language)\n  - relevance (int)\n  - value (an HTML string with highlighting markup)\n  - second_best (object with the same structure for second-best heuristically\n    detected language, may be absent)\n\n  */\n  function highlightAuto(text, languageSubset) {\n    languageSubset = languageSubset || options.languages || objectKeys(languages);\n    var result = {\n      relevance: 0,\n      value: escape(text)\n    };\n    var second_best = result;\n    languageSubset.filter(getLanguage).filter(autoDetection).forEach(function(name) {\n      var current = highlight(name, text, false);\n      current.language = name;\n      if (current.relevance > second_best.relevance) {\n        second_best = current;\n      }\n      if (current.relevance > result.relevance) {\n        second_best = result;\n        result = current;\n      }\n    });\n    if (second_best.language) {\n      result.second_best = second_best;\n    }\n    return result;\n  }\n\n  /*\n  Post-processing of the highlighted markup:\n\n  - replace TABs with something more useful\n  - replace real line-breaks with '<br>' for non-pre containers\n\n  */\n  function fixMarkup(value) {\n    return !(options.tabReplace || options.useBR)\n      ? value\n      : value.replace(fixMarkupRe, function(match, p1) {\n          if (options.useBR && match === '\\n') {\n            return '<br>';\n          } else if (options.tabReplace) {\n            return p1.replace(/\\t/g, options.tabReplace);\n          }\n          return '';\n      });\n  }\n\n  function buildClassName(prevClassName, currentLang, resultLang) {\n    var language = currentLang ? aliases[currentLang] : resultLang,\n        result   = [prevClassName.trim()];\n\n    if (!prevClassName.match(/\\bhljs\\b/)) {\n      result.push('hljs');\n    }\n\n    if (prevClassName.indexOf(language) === -1) {\n      result.push(language);\n    }\n\n    return result.join(' ').trim();\n  }\n\n  /*\n  Applies highlighting to a DOM node containing code. Accepts a DOM node and\n  two optional parameters for fixMarkup.\n  */\n  function highlightBlock(block) {\n    var node, originalStream, result, resultNode, text;\n    var language = blockLanguage(block);\n\n    if (isNotHighlighted(language))\n        return;\n\n    if (options.useBR) {\n      node = document.createElementNS('http://www.w3.org/1999/xhtml', 'div');\n      node.innerHTML = block.innerHTML.replace(/\\n/g, '').replace(/<br[ \\/]*>/g, '\\n');\n    } else {\n      node = block;\n    }\n    text = node.textContent;\n    result = language ? highlight(language, text, true) : highlightAuto(text);\n\n    originalStream = nodeStream(node);\n    if (originalStream.length) {\n      resultNode = document.createElementNS('http://www.w3.org/1999/xhtml', 'div');\n      resultNode.innerHTML = result.value;\n      result.value = mergeStreams(originalStream, nodeStream(resultNode), text);\n    }\n    result.value = fixMarkup(result.value);\n\n    block.innerHTML = result.value;\n    block.className = buildClassName(block.className, language, result.language);\n    block.result = {\n      language: result.language,\n      re: result.relevance\n    };\n    if (result.second_best) {\n      block.second_best = {\n        language: result.second_best.language,\n        re: result.second_best.relevance\n      };\n    }\n  }\n\n  /*\n  Updates highlight.js global options with values passed in the form of an object.\n  */\n  function configure(user_options) {\n    options = inherit(options, user_options);\n  }\n\n  /*\n  Applies highlighting to all <pre><code>..</code></pre> blocks on a page.\n  */\n  function initHighlighting() {\n    if (initHighlighting.called)\n      return;\n    initHighlighting.called = true;\n\n    var blocks = document.querySelectorAll('pre code');\n    ArrayProto.forEach.call(blocks, highlightBlock);\n  }\n\n  /*\n  Attaches highlighting to the page load event.\n  */\n  function initHighlightingOnLoad() {\n    addEventListener('DOMContentLoaded', initHighlighting, false);\n    addEventListener('load', initHighlighting, false);\n  }\n\n  function registerLanguage(name, language) {\n    var lang = languages[name] = language(hljs);\n    restoreLanguageApi(lang);\n    if (lang.aliases) {\n      lang.aliases.forEach(function(alias) {aliases[alias] = name;});\n    }\n  }\n\n  function listLanguages() {\n    return objectKeys(languages);\n  }\n\n  function getLanguage(name) {\n    name = (name || '').toLowerCase();\n    return languages[name] || languages[aliases[name]];\n  }\n\n  function autoDetection(name) {\n    var lang = getLanguage(name);\n    return lang && !lang.disableAutodetect;\n  }\n\n  /* Interface definition */\n\n  hljs.highlight = highlight;\n  hljs.highlightAuto = highlightAuto;\n  hljs.fixMarkup = fixMarkup;\n  hljs.highlightBlock = highlightBlock;\n  hljs.configure = configure;\n  hljs.initHighlighting = initHighlighting;\n  hljs.initHighlightingOnLoad = initHighlightingOnLoad;\n  hljs.registerLanguage = registerLanguage;\n  hljs.listLanguages = listLanguages;\n  hljs.getLanguage = getLanguage;\n  hljs.autoDetection = autoDetection;\n  hljs.inherit = inherit;\n\n  // Common regexps\n  hljs.IDENT_RE = '[a-zA-Z]\\\\w*';\n  hljs.UNDERSCORE_IDENT_RE = '[a-zA-Z_]\\\\w*';\n  hljs.NUMBER_RE = '\\\\b\\\\d+(\\\\.\\\\d+)?';\n  hljs.C_NUMBER_RE = '(-?)(\\\\b0[xX][a-fA-F0-9]+|(\\\\b\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)([eE][-+]?\\\\d+)?)'; // 0x..., 0..., decimal, float\n  hljs.BINARY_NUMBER_RE = '\\\\b(0b[01]+)'; // 0b...\n  hljs.RE_STARTERS_RE = '!|!=|!==|%|%=|&|&&|&=|\\\\*|\\\\*=|\\\\+|\\\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\\\?|\\\\[|\\\\{|\\\\(|\\\\^|\\\\^=|\\\\||\\\\|=|\\\\|\\\\||~';\n\n  // Common modes\n  hljs.BACKSLASH_ESCAPE = {\n    begin: '\\\\\\\\[\\\\s\\\\S]', relevance: 0\n  };\n  hljs.APOS_STRING_MODE = {\n    className: 'string',\n    begin: '\\'', end: '\\'',\n    illegal: '\\\\n',\n    contains: [hljs.BACKSLASH_ESCAPE]\n  };\n  hljs.QUOTE_STRING_MODE = {\n    className: 'string',\n    begin: '\"', end: '\"',\n    illegal: '\\\\n',\n    contains: [hljs.BACKSLASH_ESCAPE]\n  };\n  hljs.PHRASAL_WORDS_MODE = {\n    begin: /\\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\\b/\n  };\n  hljs.COMMENT = function (begin, end, inherits) {\n    var mode = hljs.inherit(\n      {\n        className: 'comment',\n        begin: begin, end: end,\n        contains: []\n      },\n      inherits || {}\n    );\n    mode.contains.push(hljs.PHRASAL_WORDS_MODE);\n    mode.contains.push({\n      className: 'doctag',\n      begin: '(?:TODO|FIXME|NOTE|BUG|XXX):',\n      relevance: 0\n    });\n    return mode;\n  };\n  hljs.C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$');\n  hljs.C_BLOCK_COMMENT_MODE = hljs.COMMENT('/\\\\*', '\\\\*/');\n  hljs.HASH_COMMENT_MODE = hljs.COMMENT('#', '$');\n  hljs.NUMBER_MODE = {\n    className: 'number',\n    begin: hljs.NUMBER_RE,\n    relevance: 0\n  };\n  hljs.C_NUMBER_MODE = {\n    className: 'number',\n    begin: hljs.C_NUMBER_RE,\n    relevance: 0\n  };\n  hljs.BINARY_NUMBER_MODE = {\n    className: 'number',\n    begin: hljs.BINARY_NUMBER_RE,\n    relevance: 0\n  };\n  hljs.CSS_NUMBER_MODE = {\n    className: 'number',\n    begin: hljs.NUMBER_RE + '(' +\n      '%|em|ex|ch|rem'  +\n      '|vw|vh|vmin|vmax' +\n      '|cm|mm|in|pt|pc|px' +\n      '|deg|grad|rad|turn' +\n      '|s|ms' +\n      '|Hz|kHz' +\n      '|dpi|dpcm|dppx' +\n      ')?',\n    relevance: 0\n  };\n  hljs.REGEXP_MODE = {\n    className: 'regexp',\n    begin: /\\//, end: /\\/[gimuy]*/,\n    illegal: /\\n/,\n    contains: [\n      hljs.BACKSLASH_ESCAPE,\n      {\n        begin: /\\[/, end: /\\]/,\n        relevance: 0,\n        contains: [hljs.BACKSLASH_ESCAPE]\n      }\n    ]\n  };\n  hljs.TITLE_MODE = {\n    className: 'title',\n    begin: hljs.IDENT_RE,\n    relevance: 0\n  };\n  hljs.UNDERSCORE_TITLE_MODE = {\n    className: 'title',\n    begin: hljs.UNDERSCORE_IDENT_RE,\n    relevance: 0\n  };\n  hljs.METHOD_GUARD = {\n    // excludes method names from keyword processing\n    begin: '\\\\.\\\\s*' + hljs.UNDERSCORE_IDENT_RE,\n    relevance: 0\n  };\n\n  return hljs;\n}));\n","module.exports = function(hljs) {\n  var NUMBER = {className: 'number', begin: '[\\\\$%]\\\\d+'};\n  return {\n    aliases: ['apacheconf'],\n    case_insensitive: true,\n    contains: [\n      hljs.HASH_COMMENT_MODE,\n      {className: 'section', begin: '</?', end: '>'},\n      {\n        className: 'attribute',\n        begin: /\\w+/,\n        relevance: 0,\n        // keywords aren’t needed for highlighting per se, they only boost relevance\n        // for a very generally defined mode (starts with a word, ends with line-end\n        keywords: {\n          nomarkup:\n            'order deny allow setenv rewriterule rewriteengine rewritecond documentroot ' +\n            'sethandler errordocument loadmodule options header listen serverroot ' +\n            'servername'\n        },\n        starts: {\n          end: /$/,\n          relevance: 0,\n          keywords: {\n            literal: 'on off all'\n          },\n          contains: [\n            {\n              className: 'meta',\n              begin: '\\\\s\\\\[', end: '\\\\]$'\n            },\n            {\n              className: 'variable',\n              begin: '[\\\\$%]\\\\{', end: '\\\\}',\n              contains: ['self', NUMBER]\n            },\n            NUMBER,\n            hljs.QUOTE_STRING_MODE\n          ]\n        }\n      }\n    ],\n    illegal: /\\S/\n  };\n};","module.exports = function(hljs) {\n  var VAR = {\n    className: 'variable',\n    variants: [\n      {begin: /\\$[\\w\\d#@][\\w\\d_]*/},\n      {begin: /\\$\\{(.*?)}/}\n    ]\n  };\n  var QUOTE_STRING = {\n    className: 'string',\n    begin: /\"/, end: /\"/,\n    contains: [\n      hljs.BACKSLASH_ESCAPE,\n      VAR,\n      {\n        className: 'variable',\n        begin: /\\$\\(/, end: /\\)/,\n        contains: [hljs.BACKSLASH_ESCAPE]\n      }\n    ]\n  };\n  var ESCAPED_QUOTE = {\n    className: '',\n    begin: /\\\\\"/\n\n  };\n  var APOS_STRING = {\n    className: 'string',\n    begin: /'/, end: /'/\n  };\n\n  return {\n    aliases: ['sh', 'zsh'],\n    lexemes: /\\b-?[a-z\\._]+\\b/,\n    keywords: {\n      keyword:\n        'if then else elif fi for while in do done case esac function',\n      literal:\n        'true false',\n      built_in:\n        // Shell built-ins\n        // http://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html\n        'break cd continue eval exec exit export getopts hash pwd readonly return shift test times ' +\n        'trap umask unset ' +\n        // Bash built-ins\n        'alias bind builtin caller command declare echo enable help let local logout mapfile printf ' +\n        'read readarray source type typeset ulimit unalias ' +\n        // Shell modifiers\n        'set shopt ' +\n        // Zsh built-ins\n        'autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles ' +\n        'compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate ' +\n        'fc fg float functions getcap getln history integer jobs kill limit log noglob popd print ' +\n        'pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit ' +\n        'unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof ' +\n        'zpty zregexparse zsocket zstyle ztcp',\n      _:\n        '-ne -eq -lt -gt -f -d -e -s -l -a' // relevance booster\n    },\n    contains: [\n      {\n        className: 'meta',\n        begin: /^#![^\\n]+sh\\s*$/,\n        relevance: 10\n      },\n      {\n        className: 'function',\n        begin: /\\w[\\w\\d_]*\\s*\\(\\s*\\)\\s*\\{/,\n        returnBegin: true,\n        contains: [hljs.inherit(hljs.TITLE_MODE, {begin: /\\w[\\w\\d_]*/})],\n        relevance: 0\n      },\n      hljs.HASH_COMMENT_MODE,\n      QUOTE_STRING,\n      ESCAPED_QUOTE,\n      APOS_STRING,\n      VAR\n    ]\n  };\n};","module.exports = function(hljs) {\n  var IDENT_RE = '[a-zA-Z-][a-zA-Z0-9_-]*';\n  var RULE = {\n    begin: /(?:[A-Z\\_\\.\\-]+|--[a-zA-Z0-9_-]+)\\s*:/, returnBegin: true, end: ';', endsWithParent: true,\n    contains: [\n      {\n        className: 'attribute',\n        begin: /\\S/, end: ':', excludeEnd: true,\n        starts: {\n          endsWithParent: true, excludeEnd: true,\n          contains: [\n            {\n              begin: /[\\w-]+\\(/, returnBegin: true,\n              contains: [\n                {\n                  className: 'built_in',\n                  begin: /[\\w-]+/\n                },\n                {\n                  begin: /\\(/, end: /\\)/,\n                  contains: [\n                    hljs.APOS_STRING_MODE,\n                    hljs.QUOTE_STRING_MODE\n                  ]\n                }\n              ]\n            },\n            hljs.CSS_NUMBER_MODE,\n            hljs.QUOTE_STRING_MODE,\n            hljs.APOS_STRING_MODE,\n            hljs.C_BLOCK_COMMENT_MODE,\n            {\n              className: 'number', begin: '#[0-9A-Fa-f]+'\n            },\n            {\n              className: 'meta', begin: '!important'\n            }\n          ]\n        }\n      }\n    ]\n  };\n\n  return {\n    case_insensitive: true,\n    illegal: /[=\\/|'\\$]/,\n    contains: [\n      hljs.C_BLOCK_COMMENT_MODE,\n      {\n        className: 'selector-id', begin: /#[A-Za-z0-9_-]+/\n      },\n      {\n        className: 'selector-class', begin: /\\.[A-Za-z0-9_-]+/\n      },\n      {\n        className: 'selector-attr',\n        begin: /\\[/, end: /\\]/,\n        illegal: '$'\n      },\n      {\n        className: 'selector-pseudo',\n        begin: /:(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\"'.]+/\n      },\n      {\n        begin: '@(font-face|page)',\n        lexemes: '[a-z-]+',\n        keywords: 'font-face page'\n      },\n      {\n        begin: '@', end: '[{;]', // at_rule eating first \"{\" is a good thing\n                                 // because it doesn’t let it to be parsed as\n                                 // a rule set but instead drops parser into\n                                 // the default mode which is how it should be.\n        illegal: /:/, // break on Less variables @var: ...\n        contains: [\n          {\n            className: 'keyword',\n            begin: /\\w+/\n          },\n          {\n            begin: /\\s/, endsWithParent: true, excludeEnd: true,\n            relevance: 0,\n            contains: [\n              hljs.APOS_STRING_MODE, hljs.QUOTE_STRING_MODE,\n              hljs.CSS_NUMBER_MODE\n            ]\n          }\n        ]\n      },\n      {\n        className: 'selector-tag', begin: IDENT_RE,\n        relevance: 0\n      },\n      {\n        begin: '{', end: '}',\n        illegal: /\\S/,\n        contains: [\n          hljs.C_BLOCK_COMMENT_MODE,\n          RULE,\n        ]\n      }\n    ]\n  };\n};","module.exports = function(hljs) {\n  var JAVA_IDENT_RE = '[\\u00C0-\\u02B8a-zA-Z_$][\\u00C0-\\u02B8a-zA-Z_$0-9]*';\n  var GENERIC_IDENT_RE = JAVA_IDENT_RE + '(<' + JAVA_IDENT_RE + '(\\\\s*,\\\\s*' + JAVA_IDENT_RE + ')*>)?';\n  var KEYWORDS =\n    'false synchronized int abstract float private char boolean var static null if const ' +\n    'for true while long strictfp finally protected import native final void ' +\n    'enum else break transient catch instanceof byte super volatile case assert short ' +\n    'package default double public try this switch continue throws protected public private ' +\n    'module requires exports do';\n\n  // https://docs.oracle.com/javase/7/docs/technotes/guides/language/underscores-literals.html\n  var JAVA_NUMBER_RE = '\\\\b' +\n    '(' +\n      '0[bB]([01]+[01_]+[01]+|[01]+)' + // 0b...\n      '|' +\n      '0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)' + // 0x...\n      '|' +\n      '(' +\n        '([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+)(\\\\.([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+))?' +\n        '|' +\n        '\\\\.([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+)' +\n      ')' +\n      '([eE][-+]?\\\\d+)?' + // octal, decimal, float\n    ')' +\n    '[lLfF]?';\n  var JAVA_NUMBER_MODE = {\n    className: 'number',\n    begin: JAVA_NUMBER_RE,\n    relevance: 0\n  };\n\n  return {\n    aliases: ['jsp'],\n    keywords: KEYWORDS,\n    illegal: /<\\/|#/,\n    contains: [\n      hljs.COMMENT(\n        '/\\\\*\\\\*',\n        '\\\\*/',\n        {\n          relevance : 0,\n          contains : [\n            {\n              // eat up @'s in emails to prevent them to be recognized as doctags\n              begin: /\\w+@/, relevance: 0\n            },\n            {\n              className : 'doctag',\n              begin : '@[A-Za-z]+'\n            }\n          ]\n        }\n      ),\n      hljs.C_LINE_COMMENT_MODE,\n      hljs.C_BLOCK_COMMENT_MODE,\n      hljs.APOS_STRING_MODE,\n      hljs.QUOTE_STRING_MODE,\n      {\n        className: 'class',\n        beginKeywords: 'class interface', end: /[{;=]/, excludeEnd: true,\n        keywords: 'class interface',\n        illegal: /[:\"\\[\\]]/,\n        contains: [\n          {beginKeywords: 'extends implements'},\n          hljs.UNDERSCORE_TITLE_MODE\n        ]\n      },\n      {\n        // Expression keywords prevent 'keyword Name(...)' from being\n        // recognized as a function definition\n        beginKeywords: 'new throw return else',\n        relevance: 0\n      },\n      {\n        className: 'function',\n        begin: '(' + GENERIC_IDENT_RE + '\\\\s+)+' + hljs.UNDERSCORE_IDENT_RE + '\\\\s*\\\\(', returnBegin: true, end: /[{;=]/,\n        excludeEnd: true,\n        keywords: KEYWORDS,\n        contains: [\n          {\n            begin: hljs.UNDERSCORE_IDENT_RE + '\\\\s*\\\\(', returnBegin: true,\n            relevance: 0,\n            contains: [hljs.UNDERSCORE_TITLE_MODE]\n          },\n          {\n            className: 'params',\n            begin: /\\(/, end: /\\)/,\n            keywords: KEYWORDS,\n            relevance: 0,\n            contains: [\n              hljs.APOS_STRING_MODE,\n              hljs.QUOTE_STRING_MODE,\n              hljs.C_NUMBER_MODE,\n              hljs.C_BLOCK_COMMENT_MODE\n            ]\n          },\n          hljs.C_LINE_COMMENT_MODE,\n          hljs.C_BLOCK_COMMENT_MODE\n        ]\n      },\n      JAVA_NUMBER_MODE,\n      {\n        className: 'meta', begin: '@[A-Za-z]+'\n      }\n    ]\n  };\n};","module.exports = function(hljs) {\n  var IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*';\n  var KEYWORDS = {\n    keyword:\n      'in of if for while finally var new function do return void else break catch ' +\n      'instanceof with throw case default try this switch continue typeof delete ' +\n      'let yield const export super debugger as async await static ' +\n      // ECMAScript 6 modules import\n      'import from as'\n    ,\n    literal:\n      'true false null undefined NaN Infinity',\n    built_in:\n      'eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent ' +\n      'encodeURI encodeURIComponent escape unescape Object Function Boolean Error ' +\n      'EvalError InternalError RangeError ReferenceError StopIteration SyntaxError ' +\n      'TypeError URIError Number Math Date String RegExp Array Float32Array ' +\n      'Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array ' +\n      'Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require ' +\n      'module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect ' +\n      'Promise'\n  };\n  var NUMBER = {\n    className: 'number',\n    variants: [\n      { begin: '\\\\b(0[bB][01]+)' },\n      { begin: '\\\\b(0[oO][0-7]+)' },\n      { begin: hljs.C_NUMBER_RE }\n    ],\n    relevance: 0\n  };\n  var SUBST = {\n    className: 'subst',\n    begin: '\\\\$\\\\{', end: '\\\\}',\n    keywords: KEYWORDS,\n    contains: []  // defined later\n  };\n  var HTML_TEMPLATE = {\n    begin: 'html`', end: '',\n    starts: {\n      end: '`', returnEnd: false,\n      contains: [\n        hljs.BACKSLASH_ESCAPE,\n        SUBST\n      ],\n      subLanguage: 'xml',\n    }\n  };\n  var CSS_TEMPLATE = {\n    begin: 'css`', end: '',\n    starts: {\n      end: '`', returnEnd: false,\n      contains: [\n        hljs.BACKSLASH_ESCAPE,\n        SUBST\n      ],\n      subLanguage: 'css',\n    }\n  };\n  var TEMPLATE_STRING = {\n    className: 'string',\n    begin: '`', end: '`',\n    contains: [\n      hljs.BACKSLASH_ESCAPE,\n      SUBST\n    ]\n  };\n  SUBST.contains = [\n    hljs.APOS_STRING_MODE,\n    hljs.QUOTE_STRING_MODE,\n    HTML_TEMPLATE,\n    CSS_TEMPLATE,\n    TEMPLATE_STRING,\n    NUMBER,\n    hljs.REGEXP_MODE\n  ];\n  var PARAMS_CONTAINS = SUBST.contains.concat([\n    hljs.C_BLOCK_COMMENT_MODE,\n    hljs.C_LINE_COMMENT_MODE\n  ]);\n\n  return {\n    aliases: ['js', 'jsx'],\n    keywords: KEYWORDS,\n    contains: [\n      {\n        className: 'meta',\n        relevance: 10,\n        begin: /^\\s*['\"]use (strict|asm)['\"]/\n      },\n      {\n        className: 'meta',\n        begin: /^#!/, end: /$/\n      },\n      hljs.APOS_STRING_MODE,\n      hljs.QUOTE_STRING_MODE,\n      HTML_TEMPLATE,\n      CSS_TEMPLATE,\n      TEMPLATE_STRING,\n      hljs.C_LINE_COMMENT_MODE,\n      hljs.C_BLOCK_COMMENT_MODE,\n      NUMBER,\n      { // object attr container\n        begin: /[{,]\\s*/, relevance: 0,\n        contains: [\n          {\n            begin: IDENT_RE + '\\\\s*:', returnBegin: true,\n            relevance: 0,\n            contains: [{className: 'attr', begin: IDENT_RE, relevance: 0}]\n          }\n        ]\n      },\n      { // \"value\" container\n        begin: '(' + hljs.RE_STARTERS_RE + '|\\\\b(case|return|throw)\\\\b)\\\\s*',\n        keywords: 'return throw case',\n        contains: [\n          hljs.C_LINE_COMMENT_MODE,\n          hljs.C_BLOCK_COMMENT_MODE,\n          hljs.REGEXP_MODE,\n          {\n            className: 'function',\n            begin: '(\\\\(.*?\\\\)|' + IDENT_RE + ')\\\\s*=>', returnBegin: true,\n            end: '\\\\s*=>',\n            contains: [\n              {\n                className: 'params',\n                variants: [\n                  {\n                    begin: IDENT_RE\n                  },\n                  {\n                    begin: /\\(\\s*\\)/,\n                  },\n                  {\n                    begin: /\\(/, end: /\\)/,\n                    excludeBegin: true, excludeEnd: true,\n                    keywords: KEYWORDS,\n                    contains: PARAMS_CONTAINS\n                  }\n                ]\n              }\n            ]\n          },\n          {\n            className: '',\n            begin: /\\s/,\n            end: /\\s*/,\n            skip: true,\n          },\n          { // E4X / JSX\n            begin: /</, end: /(\\/[A-Za-z0-9\\\\._:-]+|[A-Za-z0-9\\\\._:-]+\\/)>/,\n            subLanguage: 'xml',\n            contains: [\n              { begin: /<[A-Za-z0-9\\\\._:-]+\\s*\\/>/, skip: true },\n              {\n                begin: /<[A-Za-z0-9\\\\._:-]+/, end: /(\\/[A-Za-z0-9\\\\._:-]+|[A-Za-z0-9\\\\._:-]+\\/)>/, skip: true,\n                contains: [\n                  { begin: /<[A-Za-z0-9\\\\._:-]+\\s*\\/>/, skip: true },\n                  'self'\n                ]\n              }\n            ]\n          }\n        ],\n        relevance: 0\n      },\n      {\n        className: 'function',\n        beginKeywords: 'function', end: /\\{/, excludeEnd: true,\n        contains: [\n          hljs.inherit(hljs.TITLE_MODE, {begin: IDENT_RE}),\n          {\n            className: 'params',\n            begin: /\\(/, end: /\\)/,\n            excludeBegin: true,\n            excludeEnd: true,\n            contains: PARAMS_CONTAINS\n          }\n        ],\n        illegal: /\\[|%/\n      },\n      {\n        begin: /\\$[(.]/ // relevance booster for a pattern common to JS libs: `$(something)` and `$.something`\n      },\n      hljs.METHOD_GUARD,\n      { // ES6 class\n        className: 'class',\n        beginKeywords: 'class', end: /[{;=]/, excludeEnd: true,\n        illegal: /[:\"\\[\\]]/,\n        contains: [\n          {beginKeywords: 'extends'},\n          hljs.UNDERSCORE_TITLE_MODE\n        ]\n      },\n      {\n        beginKeywords: 'constructor get set', end: /\\{/, excludeEnd: true\n      }\n    ],\n    illegal: /#(?!!)/\n  };\n};","module.exports = function(hljs) {\n  var LITERALS = {literal: 'true false null'};\n  var TYPES = [\n    hljs.QUOTE_STRING_MODE,\n    hljs.C_NUMBER_MODE\n  ];\n  var VALUE_CONTAINER = {\n    end: ',', endsWithParent: true, excludeEnd: true,\n    contains: TYPES,\n    keywords: LITERALS\n  };\n  var OBJECT = {\n    begin: '{', end: '}',\n    contains: [\n      {\n        className: 'attr',\n        begin: /\"/, end: /\"/,\n        contains: [hljs.BACKSLASH_ESCAPE],\n        illegal: '\\\\n',\n      },\n      hljs.inherit(VALUE_CONTAINER, {begin: /:/})\n    ],\n    illegal: '\\\\S'\n  };\n  var ARRAY = {\n    begin: '\\\\[', end: '\\\\]',\n    contains: [hljs.inherit(VALUE_CONTAINER)], // inherit is a workaround for a bug that makes shared modes with endsWithParent compile only the ending of one of the parents\n    illegal: '\\\\S'\n  };\n  TYPES.splice(TYPES.length, 0, OBJECT, ARRAY);\n  return {\n    contains: TYPES,\n    keywords: LITERALS,\n    illegal: '\\\\S'\n  };\n};","module.exports = function(hljs) {\n    return {\n        disableAutodetect: true\n    };\n};","module.exports = function(hljs) {\n  var KEYWORDS = {\n    keyword:\n      'and elif is global as in if from raise for except finally print import pass return ' +\n      'exec else break not with class assert yield try while continue del or def lambda ' +\n      'async await nonlocal|10',\n    built_in:\n      'Ellipsis NotImplemented',\n    literal: 'False None True'\n  };\n  var PROMPT = {\n    className: 'meta',  begin: /^(>>>|\\.\\.\\.) /\n  };\n  var SUBST = {\n    className: 'subst',\n    begin: /\\{/, end: /\\}/,\n    keywords: KEYWORDS,\n    illegal: /#/\n  };\n  var STRING = {\n    className: 'string',\n    contains: [hljs.BACKSLASH_ESCAPE],\n    variants: [\n      {\n        begin: /(u|b)?r?'''/, end: /'''/,\n        contains: [hljs.BACKSLASH_ESCAPE, PROMPT],\n        relevance: 10\n      },\n      {\n        begin: /(u|b)?r?\"\"\"/, end: /\"\"\"/,\n        contains: [hljs.BACKSLASH_ESCAPE, PROMPT],\n        relevance: 10\n      },\n      {\n        begin: /(fr|rf|f)'''/, end: /'''/,\n        contains: [hljs.BACKSLASH_ESCAPE, PROMPT, SUBST]\n      },\n      {\n        begin: /(fr|rf|f)\"\"\"/, end: /\"\"\"/,\n        contains: [hljs.BACKSLASH_ESCAPE, PROMPT, SUBST]\n      },\n      {\n        begin: /(u|r|ur)'/, end: /'/,\n        relevance: 10\n      },\n      {\n        begin: /(u|r|ur)\"/, end: /\"/,\n        relevance: 10\n      },\n      {\n        begin: /(b|br)'/, end: /'/\n      },\n      {\n        begin: /(b|br)\"/, end: /\"/\n      },\n      {\n        begin: /(fr|rf|f)'/, end: /'/,\n        contains: [hljs.BACKSLASH_ESCAPE, SUBST]\n      },\n      {\n        begin: /(fr|rf|f)\"/, end: /\"/,\n        contains: [hljs.BACKSLASH_ESCAPE, SUBST]\n      },\n      hljs.APOS_STRING_MODE,\n      hljs.QUOTE_STRING_MODE\n    ]\n  };\n  var NUMBER = {\n    className: 'number', relevance: 0,\n    variants: [\n      {begin: hljs.BINARY_NUMBER_RE + '[lLjJ]?'},\n      {begin: '\\\\b(0o[0-7]+)[lLjJ]?'},\n      {begin: hljs.C_NUMBER_RE + '[lLjJ]?'}\n    ]\n  };\n  var PARAMS = {\n    className: 'params',\n    begin: /\\(/, end: /\\)/,\n    contains: ['self', PROMPT, NUMBER, STRING]\n  };\n  SUBST.contains = [STRING, NUMBER, PROMPT];\n  return {\n    aliases: ['py', 'gyp', 'ipython'],\n    keywords: KEYWORDS,\n    illegal: /(<\\/|->|\\?)|=>/,\n    contains: [\n      PROMPT,\n      NUMBER,\n      STRING,\n      hljs.HASH_COMMENT_MODE,\n      {\n        variants: [\n          {className: 'function', beginKeywords: 'def'},\n          {className: 'class', beginKeywords: 'class'}\n        ],\n        end: /:/,\n        illegal: /[${=;\\n,]/,\n        contains: [\n          hljs.UNDERSCORE_TITLE_MODE,\n          PARAMS,\n          {\n            begin: /->/, endsWithParent: true,\n            keywords: 'None'\n          }\n        ]\n      },\n      {\n        className: 'meta',\n        begin: /^[\\t ]*@/, end: /$/\n      },\n      {\n        begin: /\\b(print|exec)\\(/ // don’t highlight keywords-turned-functions in Python 3\n      }\n    ]\n  };\n};","module.exports = function(hljs) {\n  var IDENT_RE = '[a-zA-Z-][a-zA-Z0-9_-]*';\n  var VARIABLE = {\n    className: 'variable',\n    begin: '(\\\\$' + IDENT_RE + ')\\\\b'\n  };\n  var HEXCOLOR = {\n    className: 'number', begin: '#[0-9A-Fa-f]+'\n  };\n  var DEF_INTERNALS = {\n    className: 'attribute',\n    begin: '[A-Z\\\\_\\\\.\\\\-]+', end: ':',\n    excludeEnd: true,\n    illegal: '[^\\\\s]',\n    starts: {\n      endsWithParent: true, excludeEnd: true,\n      contains: [\n        HEXCOLOR,\n        hljs.CSS_NUMBER_MODE,\n        hljs.QUOTE_STRING_MODE,\n        hljs.APOS_STRING_MODE,\n        hljs.C_BLOCK_COMMENT_MODE,\n        {\n          className: 'meta', begin: '!important'\n        }\n      ]\n    }\n  };\n  return {\n    case_insensitive: true,\n    illegal: '[=/|\\']',\n    contains: [\n      hljs.C_LINE_COMMENT_MODE,\n      hljs.C_BLOCK_COMMENT_MODE,\n      {\n        className: 'selector-id', begin: '\\\\#[A-Za-z0-9_-]+',\n        relevance: 0\n      },\n      {\n        className: 'selector-class', begin: '\\\\.[A-Za-z0-9_-]+',\n        relevance: 0\n      },\n      {\n        className: 'selector-attr', begin: '\\\\[', end: '\\\\]',\n        illegal: '$'\n      },\n      {\n        className: 'selector-tag', // begin: IDENT_RE, end: '[,|\\\\s]'\n        begin: '\\\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\\\b',\n        relevance: 0\n      },\n      {\n        begin: ':(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)'\n      },\n      {\n        begin: '::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)'\n      },\n      VARIABLE,\n      {\n        className: 'attribute',\n        begin: '\\\\b(z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\\\b',\n        illegal: '[^\\\\s]'\n      },\n      {\n        begin: '\\\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\\\b'\n      },\n      {\n        begin: ':', end: ';',\n        contains: [\n          VARIABLE,\n          HEXCOLOR,\n          hljs.CSS_NUMBER_MODE,\n          hljs.QUOTE_STRING_MODE,\n          hljs.APOS_STRING_MODE,\n          {\n            className: 'meta', begin: '!important'\n          }\n        ]\n      },\n      {\n        begin: '@', end: '[{;]',\n        keywords: 'mixin include extend for if else each while charset import debug media page content font-face namespace warn',\n        contains: [\n          VARIABLE,\n          hljs.QUOTE_STRING_MODE,\n          hljs.APOS_STRING_MODE,\n          HEXCOLOR,\n          hljs.CSS_NUMBER_MODE,\n          {\n            begin: '\\\\s[A-Za-z0-9_.-]+',\n            relevance: 0\n          }\n        ]\n      }\n    ]\n  };\n};","module.exports = function(hljs) {\n  return {\n    aliases: ['console'],\n    contains: [\n      {\n        className: 'meta',\n        begin: '^\\\\s{0,3}[\\\\w\\\\d\\\\[\\\\]()@-]*[>%$#]',\n        starts: {\n          end: '$', subLanguage: 'bash'\n        }\n      }\n    ]\n  }\n};","module.exports = function(hljs) {\n  var XML_IDENT_RE = '[A-Za-z0-9\\\\._:-]+';\n  var TAG_INTERNALS = {\n    endsWithParent: true,\n    illegal: /</,\n    relevance: 0,\n    contains: [\n      {\n        className: 'attr',\n        begin: XML_IDENT_RE,\n        relevance: 0\n      },\n      {\n        begin: /=\\s*/,\n        relevance: 0,\n        contains: [\n          {\n            className: 'string',\n            endsParent: true,\n            variants: [\n              {begin: /\"/, end: /\"/},\n              {begin: /'/, end: /'/},\n              {begin: /[^\\s\"'=<>`]+/}\n            ]\n          }\n        ]\n      }\n    ]\n  };\n  return {\n    aliases: ['html', 'xhtml', 'rss', 'atom', 'xjb', 'xsd', 'xsl', 'plist', 'wsf'],\n    case_insensitive: true,\n    contains: [\n      {\n        className: 'meta',\n        begin: '<!DOCTYPE', end: '>',\n        relevance: 10,\n        contains: [{begin: '\\\\[', end: '\\\\]'}]\n      },\n      hljs.COMMENT(\n        '<!--',\n        '-->',\n        {\n          relevance: 10\n        }\n      ),\n      {\n        begin: '<\\\\!\\\\[CDATA\\\\[', end: '\\\\]\\\\]>',\n        relevance: 10\n      },\n      {\n        className: 'meta',\n        begin: /<\\?xml/, end: /\\?>/, relevance: 10\n      },\n      {\n        begin: /<\\?(php)?/, end: /\\?>/,\n        subLanguage: 'php',\n        contains: [\n          // We don't want the php closing tag ?> to close the PHP block when\n          // inside any of the following blocks:\n          {begin: '/\\\\*', end: '\\\\*/', skip: true},\n          {begin: 'b\"', end: '\"', skip: true},\n          {begin: 'b\\'', end: '\\'', skip: true},\n          hljs.inherit(hljs.APOS_STRING_MODE, {illegal: null, className: null, contains: null, skip: true}),\n          hljs.inherit(hljs.QUOTE_STRING_MODE, {illegal: null, className: null, contains: null, skip: true})\n        ]\n      },\n      {\n        className: 'tag',\n        /*\n        The lookahead pattern (?=...) ensures that 'begin' only matches\n        '<style' as a single word, followed by a whitespace or an\n        ending braket. The '$' is needed for the lexeme to be recognized\n        by hljs.subMode() that tests lexemes outside the stream.\n        */\n        begin: '<style(?=\\\\s|>|$)', end: '>',\n        keywords: {name: 'style'},\n        contains: [TAG_INTERNALS],\n        starts: {\n          end: '</style>', returnEnd: true,\n          subLanguage: ['css', 'xml']\n        }\n      },\n      {\n        className: 'tag',\n        // See the comment in the <style tag about the lookahead pattern\n        begin: '<script(?=\\\\s|>|$)', end: '>',\n        keywords: {name: 'script'},\n        contains: [TAG_INTERNALS],\n        starts: {\n          end: '\\<\\/script\\>', returnEnd: true,\n          subLanguage: ['actionscript', 'javascript', 'handlebars', 'xml', 'vbscript']\n        }\n      },\n      {\n        className: 'tag',\n        begin: '</?', end: '/?>',\n        contains: [\n          {\n            className: 'name', begin: /[^\\/><\\s]+/, relevance: 0\n          },\n          TAG_INTERNALS\n        ]\n      }\n    ]\n  };\n};","var http = require('http')\nvar url = require('url')\n\nvar https = module.exports\n\nfor (var key in http) {\n  if (http.hasOwnProperty(key)) https[key] = http[key]\n}\n\nhttps.request = function (params, cb) {\n  params = validateParams(params)\n  return http.request.call(this, params, cb)\n}\n\nhttps.get = function (params, cb) {\n  params = validateParams(params)\n  return http.get.call(this, params, cb)\n}\n\nfunction validateParams (params) {\n  if (typeof params === 'string') {\n    params = url.parse(params)\n  }\n  if (!params.protocol) {\n    params.protocol = 'https:'\n  }\n  if (params.protocol !== 'https:') {\n    throw new Error('Protocol \"' + params.protocol + '\" not supported. Expected \"https:\"')\n  }\n  return params\n}\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n  var e, m\n  var eLen = (nBytes * 8) - mLen - 1\n  var eMax = (1 << eLen) - 1\n  var eBias = eMax >> 1\n  var nBits = -7\n  var i = isLE ? (nBytes - 1) : 0\n  var d = isLE ? -1 : 1\n  var s = buffer[offset + i]\n\n  i += d\n\n  e = s & ((1 << (-nBits)) - 1)\n  s >>= (-nBits)\n  nBits += eLen\n  for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n  m = e & ((1 << (-nBits)) - 1)\n  e >>= (-nBits)\n  nBits += mLen\n  for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n  if (e === 0) {\n    e = 1 - eBias\n  } else if (e === eMax) {\n    return m ? NaN : ((s ? -1 : 1) * Infinity)\n  } else {\n    m = m + Math.pow(2, mLen)\n    e = e - eBias\n  }\n  return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n  var e, m, c\n  var eLen = (nBytes * 8) - mLen - 1\n  var eMax = (1 << eLen) - 1\n  var eBias = eMax >> 1\n  var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n  var i = isLE ? 0 : (nBytes - 1)\n  var d = isLE ? 1 : -1\n  var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n  value = Math.abs(value)\n\n  if (isNaN(value) || value === Infinity) {\n    m = isNaN(value) ? 1 : 0\n    e = eMax\n  } else {\n    e = Math.floor(Math.log(value) / Math.LN2)\n    if (value * (c = Math.pow(2, -e)) < 1) {\n      e--\n      c *= 2\n    }\n    if (e + eBias >= 1) {\n      value += rt / c\n    } else {\n      value += rt * Math.pow(2, 1 - eBias)\n    }\n    if (value * c >= 2) {\n      e++\n      c /= 2\n    }\n\n    if (e + eBias >= eMax) {\n      m = 0\n      e = eMax\n    } else if (e + eBias >= 1) {\n      m = ((value * c) - 1) * Math.pow(2, mLen)\n      e = e + eBias\n    } else {\n      m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n      e = 0\n    }\n  }\n\n  for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n  e = (e << mLen) | m\n  eLen += mLen\n  for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n  buffer[offset + i - d] |= s * 128\n}\n","if (typeof Object.create === 'function') {\n  // implementation from standard node.js 'util' module\n  module.exports = function inherits(ctor, superCtor) {\n    if (superCtor) {\n      ctor.super_ = superCtor\n      ctor.prototype = Object.create(superCtor.prototype, {\n        constructor: {\n          value: ctor,\n          enumerable: false,\n          writable: true,\n          configurable: true\n        }\n      })\n    }\n  };\n} else {\n  // old school shim for old browsers\n  module.exports = function inherits(ctor, superCtor) {\n    if (superCtor) {\n      ctor.super_ = superCtor\n      var TempCtor = function () {}\n      TempCtor.prototype = superCtor.prototype\n      ctor.prototype = new TempCtor()\n      ctor.prototype.constructor = ctor\n    }\n  }\n}\n","(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.interact = f()}})(function(){var define,module,exports;\nvar createModuleFactory = function createModuleFactory(t){var e;return function(r){return e||t(e={exports:{},parent:r},e.exports),e.exports}};\n","import * as arr from '@interactjs/utils/arr'\nimport browser from '@interactjs/utils/browser'\nimport clone from '@interactjs/utils/clone'\nimport { getElementRect, matchesUpTo, nodeContains, trySelector } from '@interactjs/utils/domUtils'\nimport events from '@interactjs/utils/events'\nimport extend from '@interactjs/utils/extend'\nimport * as is from '@interactjs/utils/is'\nimport normalizeListeners from '@interactjs/utils/normalizeListeners'\nimport { getWindow } from '@interactjs/utils/window'\nimport Eventable from './Eventable'\nimport { ActionDefaults, Defaults, Options } from './defaultOptions'\nimport { Actions, isNonNativeEvent } from './scope'\n\ntype IgnoreValue = string | Interact.Element | boolean\n\n/** */\nexport class Interactable implements Partial<Eventable> {\n  protected get _defaults (): Defaults {\n    return {\n      base: {},\n      perAction: {},\n      actions: {} as ActionDefaults,\n    }\n  }\n\n  readonly options!: Required<Options>\n  readonly _actions: Actions\n  readonly target: Interact.Target\n  readonly events = new Eventable()\n  readonly _context: Interact.Context\n  readonly _win: Window\n  readonly _doc: Document\n\n  /** */\n  constructor (target: Interact.Target, options: any, defaultContext: Document | Interact.Element) {\n    this._actions = options.actions\n    this.target   = target\n    this._context = options.context || defaultContext\n    this._win     = getWindow(trySelector(target) ? this._context : target)\n    this._doc     = this._win.document\n\n    this.set(options)\n  }\n\n  setOnEvents (actionName: Interact.ActionName, phases: NonNullable<any>) {\n    if (is.func(phases.onstart)) { this.on(`${actionName}start`, phases.onstart) }\n    if (is.func(phases.onmove)) { this.on(`${actionName}move`, phases.onmove) }\n    if (is.func(phases.onend)) { this.on(`${actionName}end`, phases.onend) }\n    if (is.func(phases.oninertiastart)) { this.on(`${actionName}inertiastart`, phases.oninertiastart) }\n\n    return this\n  }\n\n  updatePerActionListeners (actionName: Interact.ActionName, prev: Interact.Listeners, cur: Interact.Listeners) {\n    if (is.array(prev) || is.object(prev)) {\n      this.off(actionName, prev)\n    }\n\n    if (is.array(cur) || is.object(cur)) {\n      this.on(actionName, cur)\n    }\n  }\n\n  setPerAction (actionName: Interact.ActionName, options: Interact.OrBoolean<Options>) {\n    const defaults = this._defaults\n\n    // for all the default per-action options\n    for (const optionName_ in options) {\n      const optionName = optionName_ as keyof Interact.PerActionDefaults\n      const actionOptions = this.options[actionName]\n      const optionValue: any = options[optionName]\n\n      // remove old event listeners and add new ones\n      if (optionName === 'listeners') {\n        this.updatePerActionListeners(actionName, actionOptions.listeners, optionValue as Interact.Listeners)\n      }\n\n      // if the option value is an array\n      if (is.array<any>(optionValue)) {\n        (actionOptions[optionName] as any) = arr.from(optionValue)\n      }\n      // if the option value is an object\n      else if (is.plainObject(optionValue)) {\n        // copy the object\n        (actionOptions[optionName] as any) = extend(\n          actionOptions[optionName] || {} as any,\n          clone(optionValue))\n\n        // set anabled field to true if it exists in the defaults\n        if (is.object(defaults.perAction[optionName]) && 'enabled' in (defaults.perAction[optionName] as any)) {\n          (actionOptions[optionName] as any).enabled = optionValue.enabled !== false\n        }\n      }\n      // if the option value is a boolean and the default is an object\n      else if (is.bool(optionValue) && is.object(defaults.perAction[optionName])) {\n        (actionOptions[optionName] as any).enabled = optionValue\n      }\n      // if it's anything else, do a plain assignment\n      else {\n        (actionOptions[optionName] as any) = optionValue\n      }\n    }\n  }\n\n  /**\n   * The default function to get an Interactables bounding rect. Can be\n   * overridden using {@link Interactable.rectChecker}.\n   *\n   * @param {Element} [element] The element to measure.\n   * @return {object} The object's bounding rectangle.\n   */\n  getRect (element: Interact.Element) {\n    element = element || (is.element(this.target)\n      ? this.target\n      : null)\n\n    if (is.string(this.target)) {\n      element = element || this._context.querySelector(this.target)\n    }\n\n    return getElementRect(element)\n  }\n\n  /**\n   * Returns or sets the function used to calculate the interactable's\n   * element's rectangle\n   *\n   * @param {function} [checker] A function which returns this Interactable's\n   * bounding rectangle. See {@link Interactable.getRect}\n   * @return {function | object} The checker function or this Interactable\n   */\n  rectChecker (checker: (element: Interact.Element) => any) {\n    if (is.func(checker)) {\n      this.getRect = checker\n\n      return this\n    }\n\n    if (checker === null) {\n      delete this.getRect\n\n      return this\n    }\n\n    return this.getRect\n  }\n\n  _backCompatOption (optionName: keyof Interact.Options, newValue: any) {\n    if (trySelector(newValue) || is.object(newValue)) {\n      (this.options[optionName] as any) = newValue\n\n      for (const action in this._actions.map) {\n        (this.options[action][optionName] as any) = newValue\n      }\n\n      return this\n    }\n\n    return this.options[optionName]\n  }\n\n  /**\n   * Gets or sets the origin of the Interactable's element.  The x and y\n   * of the origin will be subtracted from action event coordinates.\n   *\n   * @param {Element | object | string} [origin] An HTML or SVG Element whose\n   * rect will be used, an object eg. { x: 0, y: 0 } or string 'parent', 'self'\n   * or any CSS selector\n   *\n   * @return {object} The current origin or this Interactable\n   */\n  origin (newValue: any) {\n    return this._backCompatOption('origin', newValue)\n  }\n\n  /**\n   * Returns or sets the mouse coordinate types used to calculate the\n   * movement of the pointer.\n   *\n   * @param {string} [newValue] Use 'client' if you will be scrolling while\n   * interacting; Use 'page' if you want autoScroll to work\n   * @return {string | object} The current deltaSource or this Interactable\n   */\n  deltaSource (newValue?: string) {\n    if (newValue === 'page' || newValue === 'client') {\n      this.options.deltaSource = newValue\n\n      return this\n    }\n\n    return this.options.deltaSource\n  }\n\n  /**\n   * Gets the selector context Node of the Interactable. The default is\n   * `window.document`.\n   *\n   * @return {Node} The context Node of this Interactable\n   */\n  context () {\n    return this._context\n  }\n\n  inContext (element: Document | Node) {\n    return (this._context === element.ownerDocument ||\n            nodeContains(this._context, element))\n  }\n\n  testIgnoreAllow (\n    this: Interactable,\n    options: { ignoreFrom?: IgnoreValue, allowFrom?: IgnoreValue },\n    targetNode: Node,\n    eventTarget: Interact.EventTarget,\n  ) {\n    return (!this.testIgnore(options.ignoreFrom, targetNode, eventTarget) &&\n            this.testAllow(options.allowFrom, targetNode, eventTarget))\n  }\n\n  testAllow (\n    this: Interactable,\n    allowFrom: IgnoreValue,\n    targetNode: Node,\n    element: Interact.EventTarget,\n  ) {\n    if (!allowFrom) { return true }\n\n    if (!is.element(element)) { return false }\n\n    if (is.string(allowFrom)) {\n      return matchesUpTo(element, allowFrom, targetNode)\n    }\n    else if (is.element(allowFrom)) {\n      return nodeContains(allowFrom, element)\n    }\n\n    return false\n  }\n\n  testIgnore (\n    this: Interactable,\n    ignoreFrom: IgnoreValue,\n    targetNode: Node,\n    element: Interact.EventTarget,\n  ) {\n    if (!ignoreFrom || !is.element(element)) { return false }\n\n    if (is.string(ignoreFrom)) {\n      return matchesUpTo(element, ignoreFrom, targetNode)\n    }\n    else if (is.element(ignoreFrom)) {\n      return nodeContains(ignoreFrom, element)\n    }\n\n    return false\n  }\n\n  /**\n   * Calls listeners for the given InteractEvent type bound globally\n   * and directly to this Interactable\n   *\n   * @param {InteractEvent} iEvent The InteractEvent object to be fired on this\n   * Interactable\n   * @return {Interactable} this Interactable\n   */\n  fire (iEvent: object) {\n    this.events.fire(iEvent)\n\n    return this\n  }\n\n  _onOff (method: 'on' | 'off', typeArg: Interact.EventTypes, listenerArg?: Interact.ListenersArg | null, options?: any) {\n    if (is.object(typeArg) && !is.array(typeArg)) {\n      options = listenerArg\n      listenerArg = null\n    }\n\n    const addRemove = method === 'on' ? 'add' : 'remove'\n    const listeners = normalizeListeners(typeArg, listenerArg)\n\n    for (let type in listeners) {\n      if (type === 'wheel') { type = browser.wheelEvent }\n\n      for (const listener of listeners[type]) {\n        // if it is an action event type\n        if (isNonNativeEvent(type, this._actions)) {\n          this.events[method](type, listener)\n        }\n        // delegated event\n        else if (is.string(this.target)) {\n          events[`${addRemove}Delegate` as 'addDelegate' | 'removeDelegate'](this.target, this._context, type, listener, options)\n        }\n        // remove listener from this Interactable's element\n        else {\n          (events[addRemove] as typeof events.remove)(this.target, type, listener, options)\n        }\n      }\n    }\n\n    return this\n  }\n\n  /**\n   * Binds a listener for an InteractEvent, pointerEvent or DOM event.\n   *\n   * @param {string | array | object} types The types of events to listen\n   * for\n   * @param {function | array | object} [listener] The event listener function(s)\n   * @param {object | boolean} [options] options object or useCapture flag for\n   * addEventListener\n   * @return {Interactable} This Interactable\n   */\n  on (types: Interact.EventTypes, listener?: Interact.ListenersArg, options?: any) {\n    return this._onOff('on', types, listener, options)\n  }\n\n  /**\n   * Removes an InteractEvent, pointerEvent or DOM event listener.\n   *\n   * @param {string | array | object} types The types of events that were\n   * listened for\n   * @param {function | array | object} [listener] The event listener function(s)\n   * @param {object | boolean} [options] options object or useCapture flag for\n   * removeEventListener\n   * @return {Interactable} This Interactable\n   */\n  off (types: string | string[] | Interact.EventTypes, listener?: Interact.ListenersArg, options?: any) {\n    return this._onOff('off', types, listener, options)\n  }\n\n  /**\n   * Reset the options of this Interactable\n   *\n   * @param {object} options The new settings to apply\n   * @return {object} This Interactable\n   */\n  set (options: Interact.OptionsArg) {\n    const defaults = this._defaults\n\n    if (!is.object(options)) {\n      options = {}\n    }\n\n    (this.options as Required<Options>) = clone(defaults.base) as Required<Options>\n\n    for (const actionName_ in this._actions.methodDict) {\n      const actionName = actionName_ as Interact.ActionName\n      const methodName = this._actions.methodDict[actionName]\n\n      this.options[actionName] = {}\n      this.setPerAction(actionName, extend(extend({}, defaults.perAction), defaults.actions[actionName]))\n\n      this[methodName](options[actionName])\n    }\n\n    for (const setting in options) {\n      if (is.func(this[setting])) {\n        this[setting](options[setting])\n      }\n    }\n\n    return this\n  }\n\n  /**\n   * Remove this interactable from the list of interactables and remove it's\n   * action capabilities and event listeners\n   *\n   * @return {interact}\n   */\n  unset () {\n    events.remove(this.target as Node, 'all')\n\n    if (is.string(this.target)) {\n      // remove delegated events\n      for (const type in events.delegatedEvents) {\n        const delegated = events.delegatedEvents[type]\n\n        if (delegated.selectors[0] === this.target &&\n            delegated.contexts[0] === this._context) {\n          delegated.selectors.splice(0, 1)\n          delegated.contexts.splice(0, 1)\n          delegated.listeners.splice(0, 1)\n        }\n\n        events.remove(this._context, type, events.delegateListener)\n        events.remove(this._context, type, events.delegateUseCapture, true)\n      }\n    }\n    else {\n      events.remove(this.target as Node, 'all')\n    }\n  }\n}\n\nexport default Interactable\n","import domObjects from '@interactjs/utils/domObjects'\nimport * as utils from '@interactjs/utils/index'\nimport Eventable from './Eventable'\nimport InteractEvent, { PhaseMap } from './InteractEvent'\nimport InteractStatic from './InteractStatic'\nimport InteractableBase from './Interactable'\nimport InteractableSet from './InteractableSet'\nimport defaults from './defaultOptions'\nimport interactions from './interactions'\n\nexport interface SignalArgs {\n  'scope:add-document': DocSignalArg\n  'scope:remove-document': DocSignalArg\n  'interactable:unset': { interactable: InteractableBase }\n  'interactable:set': { interactable: InteractableBase, options: Interact.Options }\n  'interactions:destroy': { interaction: Interact.Interaction }\n}\n\nexport type ListenerName = keyof SignalArgs\n\nexport type ListenerMap = {\n  [P in ListenerName]?: (arg: SignalArgs[P], scope: Scope, signalName: P) => void | boolean\n}\n\ninterface DocSignalArg {\n  doc: Document\n  window: Window\n  scope: Scope\n  options?: { [index: string]: any }\n}\n\nconst {\n  win,\n  browser,\n  raf,\n  events,\n} = utils\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface ActionMap { // tslint:disable-line no-empty-interface\n}\n\nexport type ActionName = keyof ActionMap\n\nexport interface Actions {\n  map: ActionMap\n  phases: PhaseMap\n  methodDict: { [P in ActionName]?: string }\n  phaselessTypes: { [type: string]: true }\n}\n\nexport interface Plugin {\n  [key: string]: any\n  id?: string\n  listeners?: ListenerMap\n  before?: string[]\n  install? (scope: Scope, options?: any): void\n}\n\nexport default class Scope {\n  id = `__interact_scope_${Math.floor(Math.random() * 100)}`\n  isInitialized = false\n  listenerMaps: Array<{\n    map: ListenerMap\n    id: string\n  }> = []\n\n  browser = browser\n  events = events\n  utils = utils\n  defaults = utils.clone(defaults) as typeof defaults\n  Eventable = Eventable\n  actions: Actions = {\n    map: {},\n    phases: {\n      start: true,\n      move: true,\n      end: true,\n    },\n    methodDict: {},\n    phaselessTypes: {},\n  }\n\n  interactStatic = new InteractStatic(this)\n  InteractEvent = InteractEvent\n  Interactable!: typeof InteractableBase\n  interactables = new InteractableSet(this)\n\n  // main window\n  _win!: Window\n\n  // main document\n  document!: Document\n\n  // main window\n  window!: Window\n\n  // all documents being listened to\n  documents: Array<{ doc: Document, options: any }> = []\n\n  _plugins: {\n    list: Plugin[]\n    map: { [id: string]: Plugin }\n  } = {\n    list: [],\n    map: {},\n  }\n\n  constructor () {\n    const scope = this\n\n    this.Interactable = class extends InteractableBase {\n      get _defaults () { return scope.defaults }\n\n      set (options: Interact.Options) {\n        super.set(options)\n\n        scope.fire('interactable:set', {\n          options,\n          interactable: this,\n        })\n\n        return this\n      }\n\n      unset () {\n        super.unset()\n        scope.interactables.list.splice(scope.interactables.list.indexOf(this), 1)\n\n        scope.fire('interactable:unset', { interactable: this })\n      }\n    }\n  }\n\n  addListeners (map: ListenerMap, id?: string) {\n    this.listenerMaps.push({ id, map })\n  }\n\n  fire<T extends ListenerName> (name: T, arg: SignalArgs[T]): void | false {\n    for (const { map: { [name]: listener } } of this.listenerMaps) {\n      if (!!listener && listener(arg as any, this, name as never) === false) {\n        return false\n      }\n    }\n  }\n\n  onWindowUnload = (event: BeforeUnloadEvent) => this.removeDocument(event.target as Document)\n\n  init (window: Window) {\n    return this.isInitialized\n      ? this\n      : initScope(this, window)\n  }\n\n  pluginIsInstalled (plugin: Plugin) {\n    return this._plugins.map[plugin.id] || this._plugins.list.indexOf(plugin) !== -1\n  }\n\n  usePlugin (plugin: Plugin, options?: { [key: string]: any }) {\n    if (this.pluginIsInstalled(plugin)) {\n      return this\n    }\n\n    if (plugin.id) { this._plugins.map[plugin.id] = plugin }\n    this._plugins.list.push(plugin)\n\n    if (plugin.install) {\n      plugin.install(this, options)\n    }\n\n    if (plugin.listeners && plugin.before) {\n      let index = 0\n      const len = this.listenerMaps.length\n      const before = plugin.before.reduce((acc, id) => {\n        acc[id] = true\n        return acc\n      }, {})\n\n      for (; index < len; index++) {\n        const otherId = this.listenerMaps[index].id\n\n        if (before[otherId]) { break }\n      }\n\n      this.listenerMaps.splice(index, 0, { id: plugin.id, map: plugin.listeners })\n    }\n    else if (plugin.listeners) {\n      this.listenerMaps.push({ id: plugin.id, map: plugin.listeners })\n    }\n\n    return this\n  }\n\n  addDocument (doc: Document, options?: any): void | false {\n    // do nothing if document is already known\n    if (this.getDocIndex(doc) !== -1) { return false }\n\n    const window = win.getWindow(doc)\n\n    options = options ? utils.extend({}, options) : {}\n\n    this.documents.push({ doc, options })\n    events.documents.push(doc)\n\n    // don't add an unload event for the main document\n    // so that the page may be cached in browser history\n    if (doc !== this.document) {\n      events.add(window, 'unload', this.onWindowUnload)\n    }\n\n    this.fire('scope:add-document', { doc, window, scope: this, options })\n  }\n\n  removeDocument (doc: Document) {\n    const index = this.getDocIndex(doc)\n\n    const window = win.getWindow(doc)\n    const options = this.documents[index].options\n\n    events.remove(window, 'unload', this.onWindowUnload)\n\n    this.documents.splice(index, 1)\n    events.documents.splice(index, 1)\n\n    this.fire('scope:remove-document', { doc, window, scope: this, options })\n  }\n\n  getDocIndex (doc: Document) {\n    for (let i = 0; i < this.documents.length; i++) {\n      if (this.documents[i].doc === doc) {\n        return i\n      }\n    }\n\n    return -1\n  }\n\n  getDocOptions (doc: Document) {\n    const docIndex = this.getDocIndex(doc)\n\n    return docIndex === -1 ? null : this.documents[docIndex].options\n  }\n\n  now () {\n    return ((this.window as any).Date as typeof Date || Date).now()\n  }\n}\n\nexport function isNonNativeEvent (type: string, actions: Actions) {\n  if (actions.phaselessTypes[type]) { return true }\n\n  for (const name in actions.map) {\n    if (type.indexOf(name) === 0 && type.substr(name.length) in actions.phases) {\n      return true\n    }\n  }\n\n  return false\n}\n\nexport function initScope (scope: Scope, window: Window) {\n  scope.isInitialized = true\n  win.init(window)\n  domObjects.init(window)\n  browser.init(window)\n  raf.init(window)\n  events.init(window)\n\n  scope.usePlugin(interactions)\n  scope.document = window.document\n  scope.window = window\n\n  return scope\n}\n\nexport { Scope }\n","import browser from '@interactjs/utils/browser'\nimport domObjects from '@interactjs/utils/domObjects'\nimport { nodeContains } from '@interactjs/utils/domUtils'\nimport events from '@interactjs/utils/events'\nimport * as pointerUtils from '@interactjs/utils/pointerUtils'\nimport InteractionBase from './Interaction'\nimport interactablePreventDefault from './interactablePreventDefault'\nimport finder, { SearchDetails } from './interactionFinder'\nimport Scope from './scope'\n\ndeclare module '@interactjs/core/scope' {\n  interface Scope {\n    Interaction: typeof InteractionBase\n    interactions: {\n      new: <T extends ActionName> (options: any) => InteractionBase<T>\n      list: InteractionBase[]\n      listeners: { [type: string]: Interact.Listener }\n      docEvents: Array<{ type: string, listener: Interact.Listener }>\n      pointerMoveTolerance: number\n    }\n    prevTouchTime: number\n  }\n}\n\ndeclare module '@interactjs/core/scope' {\n  interface SignalArgs {\n    'interactions:find': {\n      interaction: InteractionBase\n      searchDetails: SearchDetails\n    }\n  }\n}\n\nconst methodNames = [\n  'pointerDown', 'pointerMove', 'pointerUp',\n  'updatePointer', 'removePointer', 'windowBlur',\n]\n\nfunction install (scope: Scope) {\n  const listeners = {} as any\n\n  for (const method of methodNames) {\n    listeners[method] = doOnInteractions(method, scope)\n  }\n\n  const pEventTypes = browser.pEventTypes\n  let docEvents: typeof scope.interactions.docEvents\n\n  if (domObjects.PointerEvent) {\n    docEvents = [\n      { type: pEventTypes.down,   listener: releasePointersOnRemovedEls },\n      { type: pEventTypes.down,   listener: listeners.pointerDown },\n      { type: pEventTypes.move,   listener: listeners.pointerMove },\n      { type: pEventTypes.up,     listener: listeners.pointerUp },\n      { type: pEventTypes.cancel, listener: listeners.pointerUp },\n    ]\n  }\n  else {\n    docEvents = [\n      { type: 'mousedown', listener: listeners.pointerDown },\n      { type: 'mousemove', listener: listeners.pointerMove },\n      { type: 'mouseup', listener: listeners.pointerUp },\n\n      { type: 'touchstart', listener: releasePointersOnRemovedEls },\n      { type: 'touchstart', listener: listeners.pointerDown },\n      { type: 'touchmove', listener: listeners.pointerMove },\n      { type: 'touchend', listener: listeners.pointerUp },\n      { type: 'touchcancel', listener: listeners.pointerUp },\n    ]\n  }\n\n  docEvents.push({\n    type: 'blur',\n    listener (event) {\n      for (const interaction of scope.interactions.list) {\n        interaction.documentBlur(event)\n      }\n    },\n  })\n\n  // for ignoring browser's simulated mouse events\n  scope.prevTouchTime = 0\n\n  scope.Interaction = class <T extends Interact.ActionName> extends InteractionBase<T> {\n    get pointerMoveTolerance () {\n      return scope.interactions.pointerMoveTolerance\n    }\n\n    set pointerMoveTolerance (value) {\n      scope.interactions.pointerMoveTolerance = value\n    }\n\n    _now () { return scope.now() }\n  }\n\n  scope.interactions = {\n    // all active and idle interactions\n    list: [],\n    new<T extends Interact.ActionName> (options: { pointerType?: string, scopeFire?: Scope['fire'] }) {\n      options.scopeFire = (name, arg) => scope.fire(name, arg)\n\n      const interaction = new scope.Interaction<T>(options as Required<typeof options>)\n\n      scope.interactions.list.push(interaction)\n      return interaction\n    },\n    listeners,\n    docEvents,\n    pointerMoveTolerance: 1,\n  }\n\n  function releasePointersOnRemovedEls () {\n    // for all inactive touch interactions with pointers down\n    for (const interaction of scope.interactions.list) {\n      if (!interaction.pointerIsDown ||\n        interaction.pointerType !== 'touch' ||\n        interaction._interacting) {\n        continue\n      }\n\n      // if a pointer is down on an element that is no longer in the DOM tree\n      for (const pointer of interaction.pointers) {\n        if (!scope.documents.some(({ doc }) => nodeContains(doc, pointer.downTarget))) {\n          // remove the pointer from the interaction\n          interaction.removePointer(pointer.pointer, pointer.event)\n        }\n      }\n    }\n  }\n\n  scope.usePlugin(interactablePreventDefault)\n}\n\nfunction doOnInteractions (method, scope) {\n  return function (event) {\n    const interactions = scope.interactions.list\n\n    const pointerType = pointerUtils.getPointerType(event)\n    const [eventTarget, curEventTarget] = pointerUtils.getEventTargets(event)\n    const matches = [] // [ [pointer, interaction], ...]\n\n    if (/^touch/.test(event.type)) {\n      scope.prevTouchTime = scope.now()\n\n      for (const changedTouch of event.changedTouches) {\n        const pointer = changedTouch\n        const pointerId = pointerUtils.getPointerId(pointer)\n        const searchDetails: SearchDetails = {\n          pointer,\n          pointerId,\n          pointerType,\n          eventType: event.type,\n          eventTarget,\n          curEventTarget,\n          scope,\n        }\n        const interaction = getInteraction(searchDetails)\n\n        matches.push([\n          searchDetails.pointer,\n          searchDetails.eventTarget,\n          searchDetails.curEventTarget,\n          interaction,\n        ])\n      }\n    }\n    else {\n      let invalidPointer = false\n\n      if (!browser.supportsPointerEvent && /mouse/.test(event.type)) {\n        // ignore mouse events while touch interactions are active\n        for (let i = 0; i < interactions.length && !invalidPointer; i++) {\n          invalidPointer = interactions[i].pointerType !== 'mouse' && interactions[i].pointerIsDown\n        }\n\n        // try to ignore mouse events that are simulated by the browser\n        // after a touch event\n        invalidPointer = invalidPointer ||\n          (scope.now() - scope.prevTouchTime < 500) ||\n          // on iOS and Firefox Mobile, MouseEvent.timeStamp is zero if simulated\n          event.timeStamp === 0\n      }\n\n      if (!invalidPointer) {\n        const searchDetails = {\n          pointer: event,\n          pointerId: pointerUtils.getPointerId(event),\n          pointerType,\n          eventType: event.type,\n          curEventTarget,\n          eventTarget,\n          scope,\n        }\n\n        const interaction = getInteraction(searchDetails)\n\n        matches.push([\n          searchDetails.pointer,\n          searchDetails.eventTarget,\n          searchDetails.curEventTarget,\n          interaction,\n        ])\n      }\n    }\n\n    // eslint-disable-next-line no-shadow\n    for (const [pointer, eventTarget, curEventTarget, interaction] of matches) {\n      interaction[method](pointer, event, eventTarget, curEventTarget)\n    }\n  }\n}\n\nfunction getInteraction (searchDetails: SearchDetails) {\n  const { pointerType, scope } = searchDetails\n\n  const foundInteraction = finder.search(searchDetails)\n  const signalArg = { interaction: foundInteraction, searchDetails }\n\n  scope.fire('interactions:find', signalArg)\n\n  return signalArg.interaction || scope.interactions.new({ pointerType })\n}\n\nfunction onDocSignal<T extends 'scope:add-document' | 'scope:remove-document'> ({ doc, scope, options }: Interact.SignalArgs[T], eventMethodName: 'add' | 'remove') {\n  const { docEvents } = scope.interactions\n  const eventMethod = events[eventMethodName]\n\n  if (scope.browser.isIOS && !options.events) {\n    options.events = { passive: false }\n  }\n\n  // delegate event listener\n  for (const eventType in events.delegatedEvents) {\n    eventMethod(doc, eventType, events.delegateListener)\n    eventMethod(doc, eventType, events.delegateUseCapture, true)\n  }\n\n  const eventOptions = options && options.events\n\n  for (const { type, listener } of docEvents) {\n    eventMethod(doc, type, listener, eventOptions)\n  }\n}\n\nconst interactions: Interact.Plugin = {\n  id: 'core/interactions',\n  install,\n  listeners: {\n    'scope:add-document': arg => onDocSignal(arg, 'add'),\n    'scope:remove-document': arg => onDocSignal(arg, 'remove'),\n    'interactable:unset': ({ interactable }, scope) => {\n      // Stop and destroy related interactions when an Interactable is unset\n      for (let i = scope.interactions.list.length - 1; i >= 0; i--) {\n        const interaction = scope.interactions.list[i]\n\n        if (interaction.interactable !== interactable) { continue }\n\n        interaction.stop()\n        scope.fire('interactions:destroy', { interaction })\n        interaction.destroy()\n\n        if (scope.interactions.list.length > 2) {\n          scope.interactions.list.splice(i, 1)\n        }\n      }\n    },\n  },\n  onDocSignal,\n  doOnInteractions,\n  methodNames,\n}\n\nexport default interactions\n","/** @module interact */\n\nimport browser from '@interactjs/utils/browser'\nimport events from '@interactjs/utils/events'\nimport * as utils from '@interactjs/utils/index'\nimport Interactable from './Interactable'\nimport { Options } from './defaultOptions'\nimport { isNonNativeEvent } from './scope'\n\nexport interface InteractStatic {\n  (target: Interact.Target, options?: Options): Interactable\n}\n\nexport class InteractStatic {\n  // expose the functions used to calculate multi-touch properties\n  getPointerAverage  = utils.pointer.pointerAverage\n  getTouchBBox = utils.pointer.touchBBox\n  getTouchDistance = utils.pointer.touchDistance\n  getTouchAngle = utils.pointer.touchAngle\n\n  getElementRect = utils.dom.getElementRect\n  getElementClientRect = utils.dom.getElementClientRect\n  matchesSelector = utils.dom.matchesSelector\n  closest = utils.dom.closest\n\n  globalEvents: any = {}\n\n  dynamicDrop: (newValue?: boolean) => boolean | this\n\n  // eslint-disable-next-line no-undef\n  version = process.env.npm_package_version\n  interact: InteractStatic\n\n  constructor (private scope: Interact.Scope) {\n    const { prototype } = this.constructor\n\n    /**\n     * ```js\n     * interact('#draggable').draggable(true)\n     *\n     * var rectables = interact('rect')\n     * rectables\n     *   .gesturable(true)\n     *   .on('gesturemove', function (event) {\n     *       // ...\n     *   })\n     * ```\n     *\n     * The methods of this variable can be used to set elements as interactables\n     * and also to change various default settings.\n     *\n     * Calling it as a function and passing an element or a valid CSS selector\n     * string returns an Interactable object which has various methods to configure\n     * it.\n     *\n     * @global\n     *\n     * @param {Element | string} target The HTML or SVG Element to interact with\n     * or CSS selector\n     * @return {Interactable}\n     */\n    const interact = ((target, options) => {\n      let interactable = scope.interactables.get(target, options)\n\n      if (!interactable) {\n        interactable = scope.interactables.new(target, options)\n        interactable.events.global = this.globalEvents\n      }\n\n      return interactable\n    }) as InteractStatic\n\n    for (const key of Object.getOwnPropertyNames(this.constructor.prototype)) {\n      interact[key] = prototype[key]\n    }\n\n    utils.extend(interact as any, this)\n    interact.constructor = this.constructor\n    this.interact = interact\n\n    return interact\n  }\n\n  /**\n   * Use a plugin\n   *\n   * @alias module:interact.use\n   *\n   * @param {Object} plugin\n   * @param {function} plugin.install\n   * @return {InteractStatic}\n   */\n  use (plugin: Interact.Plugin, options?: { [key: string]: any }) {\n    this.scope.usePlugin(plugin, options)\n\n    return this\n  }\n\n  /**\n   * Check if an element or selector has been set with the {@link interact}\n   * function\n   *\n   * @alias module:interact.isSet\n   *\n   * @param {Element} element The Element being searched for\n   * @return {boolean} Indicates if the element or CSS selector was previously\n   * passed to interact\n   */\n  isSet (target: Interact.Element, options?: any) {\n    return !!this.scope.interactables.get(target, options && options.context)\n  }\n\n  /**\n   * Add a global listener for an InteractEvent or adds a DOM event to `document`\n   *\n   * @alias module:interact.on\n   *\n   * @param {string | array | object} type The types of events to listen for\n   * @param {function} listener The function event (s)\n   * @param {object | boolean} [options] object or useCapture flag for\n   * addEventListener\n   * @return {object} interact\n   */\n  on (type: string | Interact.EventTypes, listener: Interact.ListenersArg, options?: object) {\n    if (utils.is.string(type) && type.search(' ') !== -1) {\n      type = type.trim().split(/ +/)\n    }\n\n    if (utils.is.array(type)) {\n      for (const eventType of (type as any[])) {\n        this.on(eventType, listener, options)\n      }\n\n      return this\n    }\n\n    if (utils.is.object(type)) {\n      for (const prop in type) {\n        this.on(prop, (type as any)[prop], listener)\n      }\n\n      return this\n    }\n\n    // if it is an InteractEvent type, add listener to globalEvents\n    if (isNonNativeEvent(type, this.scope.actions)) {\n      // if this type of event was never bound\n      if (!this.globalEvents[type]) {\n        this.globalEvents[type] = [listener]\n      }\n      else {\n        this.globalEvents[type].push(listener)\n      }\n    }\n    // If non InteractEvent type, addEventListener to document\n    else {\n      events.add(this.scope.document, type, listener as Interact.Listener, { options })\n    }\n\n    return this\n  }\n\n  /**\n   * Removes a global InteractEvent listener or DOM event from `document`\n   *\n   * @alias module:interact.off\n   *\n   * @param {string | array | object} type The types of events that were listened\n   * for\n   * @param {function} listener The listener function to be removed\n   * @param {object | boolean} options [options] object or useCapture flag for\n   * removeEventListener\n   * @return {object} interact\n   */\n  off (type: Interact.EventTypes, listener: any, options?: object) {\n    if (utils.is.string(type) && type.search(' ') !== -1) {\n      type = type.trim().split(/ +/)\n    }\n\n    if (utils.is.array(type)) {\n      for (const eventType of type) {\n        this.off(eventType, listener, options)\n      }\n\n      return this\n    }\n\n    if (utils.is.object(type)) {\n      for (const prop in type) {\n        this.off(prop, type[prop], listener)\n      }\n\n      return this\n    }\n\n    if (isNonNativeEvent(type, this.scope.actions)) {\n      let index: number\n\n      if (type in this.globalEvents &&\n          (index = this.globalEvents[type].indexOf(listener)) !== -1) {\n        this.globalEvents[type].splice(index, 1)\n      }\n    }\n    else {\n      events.remove(this.scope.document, type, listener, options)\n    }\n\n    return this\n  }\n\n  debug () {\n    return this.scope\n  }\n\n  /**\n   * @alias module:interact.supportsTouch\n   *\n   * @return {boolean} Whether or not the browser supports touch input\n   */\n  supportsTouch () {\n    return browser.supportsTouch\n  }\n\n  /**\n   * @alias module:interact.supportsPointerEvent\n   *\n   * @return {boolean} Whether or not the browser supports PointerEvents\n   */\n  supportsPointerEvent () {\n    return browser.supportsPointerEvent\n  }\n\n  /**\n   * Cancels all interactions (end events are not fired)\n   *\n   * @alias module:interact.stop\n   *\n   * @return {object} interact\n   */\n  stop () {\n    for (const interaction of this.scope.interactions.list) {\n      interaction.stop()\n    }\n\n    return this\n  }\n\n  /**\n   * Returns or sets the distance the pointer must be moved before an action\n   * sequence occurs. This also affects tolerance for tap events.\n   *\n   * @alias module:interact.pointerMoveTolerance\n   *\n   * @param {number} [newValue] The movement from the start position must be greater than this value\n   * @return {interact | number}\n   */\n  pointerMoveTolerance (newValue?: number) {\n    if (utils.is.number(newValue)) {\n      this.scope.interactions.pointerMoveTolerance = newValue\n\n      return this\n    }\n\n    return this.scope.interactions.pointerMoveTolerance\n  }\n\n  addDocument (doc: Document, options?: object) {\n    this.scope.addDocument(doc, options)\n  }\n\n  removeDocument (doc: Document) {\n    this.scope.removeDocument(doc)\n  }\n}\n\nexport default InteractStatic\n","export default (thing: any) => !!(thing && thing.Window) && (thing instanceof thing.Window)\n","import isWindow from './isWindow'\n\nconst win = {\n  realWindow: undefined as Window,\n  window: undefined as Window,\n  getWindow,\n  init,\n}\n\nexport function init (window: Window & { wrap?: (...args: any[]) => any }) {\n  // get wrapped window if using Shadow DOM polyfill\n\n  win.realWindow = window\n\n  // create a TextNode\n  const el = window.document.createTextNode('')\n\n  // check if it's wrapped by a polyfill\n  if (el.ownerDocument !== window.document &&\n      typeof window.wrap === 'function' &&\n    window.wrap(el) === el) {\n    // use wrapped window\n    window = window.wrap(window)\n  }\n\n  win.window = window\n}\n\nif (typeof window === 'undefined') {\n  win.window     = undefined\n  win.realWindow = undefined\n}\nelse {\n  init(window)\n}\n\nexport function getWindow (node: any) {\n  if (isWindow(node)) {\n    return node\n  }\n\n  const rootNode = (node.ownerDocument || node)\n\n  return rootNode.defaultView || win.window\n}\n\nwin.init = init\n\nexport default win\n","// tslint:disable variable-name\n\nimport isWindow from './isWindow'\nimport win from './window'\n\nexport const window = (thing: any): thing is Window =>\n  thing === win.window || isWindow(thing)\n\nexport const docFrag = (thing: any): thing is DocumentFragment =>\n  object(thing) && thing.nodeType === 11\n\nexport const object = (thing: any): thing is { [index: string]: any } =>\n  !!thing && (typeof thing === 'object')\n\nexport const func = (thing: any): thing is (...args: any[]) => any =>\n  typeof thing === 'function'\n\nexport const number = (thing: any): thing is number =>\n  typeof thing === 'number'\n\nexport const bool = (thing: any): thing is boolean =>\n  typeof thing === 'boolean'\n\nexport const string = (thing: any): thing is string =>\n  typeof thing === 'string'\n\nexport const element = (thing: any): thing is Interact.Element => {\n  if (!thing || (typeof thing !== 'object')) { return false }\n\n  const _window = win.getWindow(thing) || win.window\n\n  return (/object|function/.test(typeof _window.Element)\n    ? thing instanceof _window.Element // DOM2\n    : thing.nodeType === 1 && typeof thing.nodeName === 'string')\n}\n\nexport const plainObject: typeof object = (thing: any): thing is { [index: string]: any } =>\n  object(thing) &&\n  !!thing.constructor &&\n  /function Object\\b/.test(thing.constructor.toString())\n\nexport const array = <T extends unknown>(thing: any): thing is T[] =>\n  (object(thing) &&\n  (typeof thing.length !== 'undefined') &&\n  func(thing.splice))\n","import Scope from '@interactjs/core/scope'\nimport * as is from '@interactjs/utils/is'\n\ndeclare module '@interactjs/core/Interactable' {\n  interface Interactable {\n    draggable: DraggableMethod\n  }\n}\n\ndeclare module '@interactjs/core/defaultOptions' {\n  interface ActionDefaults {\n    drag: Interact.DraggableOptions\n  }\n}\n\ndeclare module '@interactjs/core/scope' {\n  interface ActionMap {\n    drag?: typeof drag\n  }\n}\n\nexport type DragEvent = Interact.InteractEvent<'drag'>\n\nexport type DraggableMethod = Interact.ActionMethod<Interact.DraggableOptions>\n\nfunction install (scope: Scope) {\n  const {\n    actions,\n    Interactable,\n    defaults,\n  } = scope\n\n  Interactable.prototype.draggable = drag.draggable\n\n  actions.map.drag = drag\n  actions.methodDict.drag = 'draggable'\n\n  defaults.actions.drag = drag.defaults\n}\n\nfunction beforeMove ({ interaction }) {\n  if (interaction.prepared.name !== 'drag') { return }\n\n  const axis = interaction.prepared.axis\n\n  if (axis === 'x') {\n    interaction.coords.cur.page.y   = interaction.coords.start.page.y\n    interaction.coords.cur.client.y = interaction.coords.start.client.y\n\n    interaction.coords.velocity.client.y = 0\n    interaction.coords.velocity.page.y   = 0\n  }\n  else if (axis === 'y') {\n    interaction.coords.cur.page.x   = interaction.coords.start.page.x\n    interaction.coords.cur.client.x = interaction.coords.start.client.x\n\n    interaction.coords.velocity.client.x = 0\n    interaction.coords.velocity.page.x   = 0\n  }\n}\n\nfunction move ({ iEvent, interaction }) {\n  if (interaction.prepared.name !== 'drag') { return }\n\n  const axis = interaction.prepared.axis\n\n  if (axis === 'x' || axis === 'y') {\n    const opposite = axis === 'x' ? 'y' : 'x'\n\n    iEvent.page[opposite]   = interaction.coords.start.page[opposite]\n    iEvent.client[opposite] = interaction.coords.start.client[opposite]\n    iEvent.delta[opposite] = 0\n  }\n}\n\n/**\n * ```js\n * interact(element).draggable({\n *     onstart: function (event) {},\n *     onmove : function (event) {},\n *     onend  : function (event) {},\n *\n *     // the axis in which the first movement must be\n *     // for the drag sequence to start\n *     // 'xy' by default - any direction\n *     startAxis: 'x' || 'y' || 'xy',\n *\n *     // 'xy' by default - don't restrict to one axis (move in any direction)\n *     // 'x' or 'y' to restrict movement to either axis\n *     // 'start' to restrict movement to the axis the drag started in\n *     lockAxis: 'x' || 'y' || 'xy' || 'start',\n *\n *     // max number of drags that can happen concurrently\n *     // with elements of this Interactable. Infinity by default\n *     max: Infinity,\n *\n *     // max number of drags that can target the same element+Interactable\n *     // 1 by default\n *     maxPerElement: 2\n * })\n *\n * var isDraggable = interact('element').draggable(); // true\n * ```\n *\n * Get or set whether drag actions can be performed on the target\n *\n * @alias Interactable.prototype.draggable\n *\n * @param {boolean | object} [options] true/false or An object with event\n * listeners to be fired on drag events (object makes the Interactable\n * draggable)\n * @return {boolean | Interactable} boolean indicating if this can be the\n * target of drag events, or this Interctable\n */\nconst draggable: DraggableMethod = function draggable (this: Interact.Interactable, options?: Interact.DraggableOptions | boolean): any {\n  if (is.object(options)) {\n    this.options.drag.enabled = options.enabled !== false\n    this.setPerAction('drag', options)\n    this.setOnEvents('drag', options)\n\n    if (/^(xy|x|y|start)$/.test(options.lockAxis)) {\n      this.options.drag.lockAxis = options.lockAxis\n    }\n    if (/^(xy|x|y)$/.test(options.startAxis)) {\n      this.options.drag.startAxis = options.startAxis\n    }\n\n    return this\n  }\n\n  if (is.bool(options)) {\n    this.options.drag.enabled = options\n\n    return this\n  }\n\n  return this.options.drag\n}\n\nconst drag: Interact.Plugin = {\n  id: 'actions/drag',\n  install,\n  listeners: {\n    'interactions:before-action-move': beforeMove,\n    'interactions:action-resume': beforeMove,\n\n    // dragmove\n    'interactions:action-move': move,\n    'auto-start:check': arg => {\n      const { interaction, interactable, buttons } = arg\n      const dragOptions = interactable.options.drag\n\n      if (\n        !(dragOptions && dragOptions.enabled) ||\n        // check mouseButton setting if the pointer is down\n        (interaction.pointerIsDown &&\n         /mouse|pointer/.test(interaction.pointerType) &&\n       (buttons & interactable.options.drag.mouseButtons) === 0)\n      ) {\n        return undefined\n      }\n\n      arg.action = {\n        name: 'drag',\n        axis: (dragOptions.lockAxis === 'start'\n          ? dragOptions.startAxis\n          : dragOptions.lockAxis),\n      }\n\n      return false\n    },\n  },\n  draggable,\n  beforeMove,\n  move,\n  defaults: {\n    startAxis : 'xy',\n    lockAxis  : 'xy',\n  } as Interact.DropzoneOptions,\n\n  getCursor () {\n    return 'move'\n  },\n}\n\nexport default drag\n","type Filter<T> = (element: T, index: number, array: T[]) => boolean\n\nexport const contains = <T>(array: T[], target: T) => array.indexOf(target) !== -1\n\nexport const remove = <T>(array: T[], target: T) => array.splice(array.indexOf(target), 1)\n\nexport const merge = <T, U>(target: Array<T | U>, source: U[]) => {\n  for (const item of source) {\n    target.push(item)\n  }\n\n  return target\n}\n\nexport const from = <T = any>(source: ArrayLike<T>) => merge([] as T[], source as T[])\n\nexport const findIndex = <T>(array: T[], func: Filter<T>) => {\n  for (let i = 0; i < array.length; i++) {\n    if (func(array[i], i, array)) {\n      return i\n    }\n  }\n\n  return -1\n}\n\nexport const find = <T = any>(array: T[], func: Filter<T>) => array[findIndex(array, func)]\n","const domObjects: {\n  init: any\n  document: Document\n  DocumentFragment: typeof DocumentFragment\n  SVGElement: typeof SVGElement\n  SVGSVGElement: typeof SVGSVGElement\n  SVGElementInstance: any\n  Element: typeof Element\n  HTMLElement: typeof HTMLElement\n  Event: typeof Event\n  Touch: typeof Touch\n  PointerEvent: typeof PointerEvent\n} =\n{\n  init,\n  document: null,\n  DocumentFragment: null,\n  SVGElement: null,\n  SVGSVGElement: null,\n  SVGElementInstance: null,\n  Element: null,\n  HTMLElement: null,\n  Event: null,\n  Touch: null,\n  PointerEvent: null,\n}\n\nfunction blank () {}\n\nexport default domObjects\n\nfunction init (window: Window) {\n  const win = window as any\n\n  domObjects.document           = win.document\n  domObjects.DocumentFragment   = win.DocumentFragment   || blank\n  domObjects.SVGElement         = win.SVGElement         || blank\n  domObjects.SVGSVGElement      = win.SVGSVGElement      || blank\n  domObjects.SVGElementInstance = win.SVGElementInstance || blank\n  domObjects.Element            = win.Element            || blank\n  domObjects.HTMLElement        = win.HTMLElement        || domObjects.Element\n\n  domObjects.Event        = win.Event\n  domObjects.Touch        = win.Touch || blank\n  domObjects.PointerEvent = (win.PointerEvent || win.MSPointerEvent)\n}\n","import domObjects from './domObjects'\nimport * as is from './is'\nimport win from './window'\n\nconst browser = {\n  init,\n  supportsTouch: null as boolean,\n  supportsPointerEvent: null as boolean,\n  isIOS7: null as boolean,\n  isIOS: null as boolean,\n  isIe9: null as boolean,\n  isOperaMobile: null as boolean,\n  prefixedMatchesSelector: null as string,\n  pEventTypes: null as {\n    up: string\n    down: string\n    over: string\n    out: string\n    move: string\n    cancel: string\n  },\n  wheelEvent: null as string,\n}\n\nfunction init (window: any) {\n  const Element = domObjects.Element\n  const navigator  = win.window.navigator\n\n  // Does the browser support touch input?\n  browser.supportsTouch = ('ontouchstart' in window) ||\n    (is.func(window.DocumentTouch) && domObjects.document instanceof window.DocumentTouch)\n\n  // Does the browser support PointerEvents\n  browser.supportsPointerEvent = navigator.pointerEnabled !== false && !!domObjects.PointerEvent\n\n  browser.isIOS = (/iP(hone|od|ad)/.test(navigator.platform))\n\n  // scrolling doesn't change the result of getClientRects on iOS 7\n  browser.isIOS7 = (/iP(hone|od|ad)/.test(navigator.platform) &&\n           /OS 7[^\\d]/.test(navigator.appVersion))\n\n  browser.isIe9 = /MSIE 9/.test(navigator.userAgent)\n\n  // Opera Mobile must be handled differently\n  browser.isOperaMobile = (navigator.appName === 'Opera' &&\n    browser.supportsTouch &&\n    /Presto/.test(navigator.userAgent))\n\n  // prefix matchesSelector\n  browser.prefixedMatchesSelector = 'matches' in Element.prototype\n    ? 'matches'\n    : 'webkitMatchesSelector' in Element.prototype\n      ? 'webkitMatchesSelector'\n      : 'mozMatchesSelector' in Element.prototype\n        ? 'mozMatchesSelector'\n        : 'oMatchesSelector' in Element.prototype\n          ? 'oMatchesSelector'\n          : 'msMatchesSelector'\n\n  browser.pEventTypes = (browser.supportsPointerEvent\n    ? (domObjects.PointerEvent === window.MSPointerEvent\n      ? {\n        up:     'MSPointerUp',\n        down:   'MSPointerDown',\n        over:   'mouseover',\n        out:    'mouseout',\n        move:   'MSPointerMove',\n        cancel: 'MSPointerCancel',\n      }\n      : {\n        up:     'pointerup',\n        down:   'pointerdown',\n        over:   'pointerover',\n        out:    'pointerout',\n        move:   'pointermove',\n        cancel: 'pointercancel',\n      })\n    : null)\n\n  // because Webkit and Opera still use 'mousewheel' event type\n  browser.wheelEvent = 'onmousewheel' in domObjects.document ? 'mousewheel' : 'wheel'\n}\n\nexport default browser\n","import * as arr from './arr'\nimport * as is from './is'\n\n// tslint:disable-next-line ban-types\nexport default function clone<T extends Object> (source: T): Partial<T> {\n  const dest = {} as Partial<T>\n\n  for (const prop in source) {\n    const value = source[prop]\n\n    if (is.plainObject(value)) {\n      dest[prop] = clone(value) as any\n    }\n    else if (is.array(value)) {\n      dest[prop] = arr.from(value) as typeof value\n    }\n    else {\n      dest[prop] = value\n    }\n  }\n\n  return dest\n}\n","import browser from './browser'\nimport domObjects from './domObjects'\nimport * as is from './is'\nimport win, { getWindow } from './window'\n\nexport function nodeContains (parent: Node | Interact.EventTarget, child: Node | Interact.EventTarget) {\n  while (child) {\n    if (child === parent) {\n      return true\n    }\n\n    child = (child as Node).parentNode\n  }\n\n  return false\n}\n\nexport function closest (element: Node, selector: string) {\n  while (is.element(element)) {\n    if (matchesSelector(element, selector)) { return element }\n\n    element = parentNode(element)\n  }\n\n  return null\n}\n\nexport function parentNode (node: Node | Document) {\n  let parent = node.parentNode\n\n  if (is.docFrag(parent)) {\n    // skip past #shado-root fragments\n    // tslint:disable-next-line\n    while ((parent = (parent as any).host) && is.docFrag(parent)) {\n      continue\n    }\n\n    return parent\n  }\n\n  return parent\n}\n\nexport function matchesSelector (element: Interact.Element, selector: string) {\n  // remove /deep/ from selectors if shadowDOM polyfill is used\n  if (win.window !== win.realWindow) {\n    selector = selector.replace(/\\/deep\\//g, ' ')\n  }\n\n  return element[browser.prefixedMatchesSelector](selector)\n}\n\nconst getParent = el => el.parentNode ? el.parentNode : el.host\n\n// Test for the element that's \"above\" all other qualifiers\nexport function indexOfDeepestElement (elements: Interact.Element[] | NodeListOf<Element>) {\n  let deepestZoneParents = []\n  let deepestZone = elements[0]\n  let index = deepestZone ? 0 : -1\n  let i\n  let n\n\n  for (i = 1; i < elements.length; i++) {\n    const dropzone = elements[i]\n\n    // an element might belong to multiple selector dropzones\n    if (!dropzone || dropzone === deepestZone) {\n      continue\n    }\n\n    if (!deepestZone) {\n      deepestZone = dropzone\n      index = i\n      continue\n    }\n\n    // check if the deepest or current are document.documentElement or document.rootElement\n    // - if the current dropzone is, do nothing and continue\n    if (dropzone.parentNode === dropzone.ownerDocument) {\n      continue\n    }\n    // - if deepest is, update with the current dropzone and continue to next\n    else if (deepestZone.parentNode === dropzone.ownerDocument) {\n      deepestZone = dropzone\n      index = i\n      continue\n    }\n\n    // compare zIndex of siblings\n    if (dropzone.parentNode === deepestZone.parentNode) {\n      const deepestZIndex = parseInt(getWindow(deepestZone).getComputedStyle(deepestZone).zIndex, 10) || 0\n      const dropzoneZIndex = parseInt(getWindow(dropzone).getComputedStyle(dropzone).zIndex, 10) || 0\n\n      if (dropzoneZIndex >= deepestZIndex) {\n        deepestZone = dropzone\n        index = i\n      }\n\n      continue\n    }\n\n    // populate the ancestry array for the latest deepest dropzone\n    if (!deepestZoneParents.length) {\n      let parent = deepestZone\n      let parentParent\n\n      while ((parentParent = getParent(parent)) && parentParent !== parent.ownerDocument) {\n        deepestZoneParents.unshift(parent)\n        parent = parentParent\n      }\n    }\n\n    let parent\n\n    // if this element is an svg element and the current deepest is an\n    // HTMLElement\n    if (deepestZone instanceof domObjects.HTMLElement &&\n        dropzone instanceof domObjects.SVGElement &&\n        !(dropzone instanceof domObjects.SVGSVGElement)) {\n      if (dropzone === deepestZone.parentNode) {\n        continue\n      }\n\n      parent = dropzone.ownerSVGElement\n    }\n    else {\n      parent = dropzone\n    }\n\n    const dropzoneParents = []\n\n    while (parent.parentNode !== parent.ownerDocument) {\n      dropzoneParents.unshift(parent)\n      parent = getParent(parent)\n    }\n\n    n = 0\n\n    // get (position of last common ancestor) + 1\n    while (dropzoneParents[n] && dropzoneParents[n] === deepestZoneParents[n]) {\n      n++\n    }\n\n    const parents = [\n      dropzoneParents[n - 1],\n      dropzoneParents[n],\n      deepestZoneParents[n],\n    ]\n\n    let child = parents[0].lastChild\n\n    while (child) {\n      if (child === parents[1]) {\n        deepestZone = dropzone\n        index = i\n        deepestZoneParents = dropzoneParents\n\n        break\n      }\n      else if (child === parents[2]) {\n        break\n      }\n\n      child = child.previousSibling\n    }\n  }\n\n  return index\n}\n\nexport function matchesUpTo (element: Interact.Element, selector: string, limit: Node) {\n  while (is.element(element)) {\n    if (matchesSelector(element, selector)) {\n      return true\n    }\n\n    element = parentNode(element) as Interact.Element\n\n    if (element === limit) {\n      return matchesSelector(element, selector)\n    }\n  }\n\n  return false\n}\n\nexport function getActualElement (element: Interact.Element) {\n  return (element instanceof domObjects.SVGElementInstance\n    ? (element as SVGElement).correspondingUseElement\n    : element)\n}\n\nexport function getScrollXY (relevantWindow) {\n  relevantWindow = relevantWindow || win.window\n  return {\n    x: relevantWindow.scrollX || relevantWindow.document.documentElement.scrollLeft,\n    y: relevantWindow.scrollY || relevantWindow.document.documentElement.scrollTop,\n  }\n}\n\nexport function getElementClientRect (element: Interact.Element) {\n  const clientRect = (element instanceof domObjects.SVGElement\n    ? element.getBoundingClientRect()\n    : element.getClientRects()[0])\n\n  return clientRect && {\n    left  : clientRect.left,\n    right : clientRect.right,\n    top   : clientRect.top,\n    bottom: clientRect.bottom,\n    width : clientRect.width  || clientRect.right  - clientRect.left,\n    height: clientRect.height || clientRect.bottom - clientRect.top,\n  }\n}\n\nexport function getElementRect (element: Interact.Element) {\n  const clientRect = getElementClientRect(element)\n\n  if (!browser.isIOS7 && clientRect) {\n    const scroll = getScrollXY(win.getWindow(element))\n\n    clientRect.left   += scroll.x\n    clientRect.right  += scroll.x\n    clientRect.top    += scroll.y\n    clientRect.bottom += scroll.y\n  }\n\n  return clientRect\n}\n\nexport function getPath (node: Node | Document) {\n  const path = []\n\n  while (node) {\n    path.push(node)\n    node = parentNode(node)\n  }\n\n  return path\n}\n\nexport function trySelector (value) {\n  if (!is.string(value)) { return false }\n\n  // an exception will be raised if it is invalid\n  domObjects.document.querySelector(value)\n  return true\n}\n","export interface PointerExtend {\n  webkit: RegExp\n  [prefix: string]: RegExp\n}\n\nfunction pointerExtend (dest, source) {\n  for (const prop in source) {\n    const prefixedPropREs = pointerExtend.prefixedPropREs\n    let deprecated = false\n\n    // skip deprecated prefixed properties\n    for (const vendor in prefixedPropREs) {\n      if (prop.indexOf(vendor) === 0 && prefixedPropREs[vendor].test(prop)) {\n        deprecated = true\n        break\n      }\n    }\n\n    if (!deprecated && typeof source[prop] !== 'function') {\n      dest[prop] = source[prop]\n    }\n  }\n  return dest\n}\n\npointerExtend.prefixedPropREs = {\n  webkit: /(Movement[XY]|Radius[XY]|RotationAngle|Force)$/,\n  moz: /(Pressure)$/,\n}\n\nexport default pointerExtend\n","export default (x: number, y: number) =>  Math.sqrt(x * x + y * y)\n","import browser from './browser'\nimport dom from './domObjects'\nimport * as domUtils from './domUtils'\nimport hypot from './hypot'\nimport * as is from './is'\nimport pointerExtend from './pointerExtend'\n\nexport function copyCoords (dest: Interact.CoordsSetMember, src: Interact.CoordsSetMember) {\n  dest.page = dest.page || {} as any\n  dest.page.x = src.page.x\n  dest.page.y = src.page.y\n\n  dest.client = dest.client || {} as any\n  dest.client.x = src.client.x\n  dest.client.y = src.client.y\n\n  dest.timeStamp = src.timeStamp\n}\n\nexport function setCoordDeltas (targetObj: Interact.CoordsSetMember, prev: Interact.CoordsSetMember, cur: Interact.CoordsSetMember) {\n  targetObj.page.x    = cur.page.x    - prev.page.x\n  targetObj.page.y    = cur.page.y    - prev.page.y\n  targetObj.client.x  = cur.client.x  - prev.client.x\n  targetObj.client.y  = cur.client.y  - prev.client.y\n  targetObj.timeStamp = cur.timeStamp - prev.timeStamp\n}\n\nexport function setCoordVelocity (targetObj: Interact.CoordsSetMember, delta: Interact.CoordsSetMember) {\n  const dt = Math.max(delta.timeStamp / 1000, 0.001)\n\n  targetObj.page.x   = delta.page.x / dt\n  targetObj.page.y   = delta.page.y / dt\n  targetObj.client.x = delta.client.x / dt\n  targetObj.client.y = delta.client.y / dt\n  targetObj.timeStamp = dt\n}\n\nexport function setZeroCoords (targetObj: Interact.CoordsSetMember) {\n  targetObj.page.x = 0\n  targetObj.page.y = 0\n  targetObj.client.x = 0\n  targetObj.client.y = 0\n}\n\nexport function isNativePointer  (pointer: any) {\n  return (pointer instanceof dom.Event || pointer instanceof dom.Touch)\n}\n\n// Get specified X/Y coords for mouse or event.touches[0]\nexport function getXY (type, pointer, xy) {\n  xy = xy || {}\n  type = type || 'page'\n\n  xy.x = pointer[type + 'X']\n  xy.y = pointer[type + 'Y']\n\n  return xy\n}\n\nexport function getPageXY (pointer: Interact.PointerType | Interact.InteractEvent, page?: Interact.Point) {\n  page = page || { x: 0, y: 0 }\n\n  // Opera Mobile handles the viewport and scrolling oddly\n  if (browser.isOperaMobile && isNativePointer(pointer)) {\n    getXY('screen', pointer, page)\n\n    page.x += window.scrollX\n    page.y += window.scrollY\n  }\n  else {\n    getXY('page', pointer, page)\n  }\n\n  return page\n}\n\nexport function getClientXY (pointer, client) {\n  client = client || {}\n\n  if (browser.isOperaMobile && isNativePointer(pointer)) {\n    // Opera Mobile handles the viewport and scrolling oddly\n    getXY('screen', pointer, client)\n  }\n  else {\n    getXY('client', pointer, client)\n  }\n\n  return client\n}\n\nexport function getPointerId (pointer) {\n  return is.number(pointer.pointerId) ? pointer.pointerId : pointer.identifier\n}\n\nexport function setCoords (targetObj, pointers: any[], timeStamp: number) {\n  const pointer = (pointers.length > 1\n    ? pointerAverage(pointers)\n    : pointers[0])\n\n  const tmpXY = {} as { x: number, y: number }\n\n  getPageXY(pointer, tmpXY)\n  targetObj.page.x = tmpXY.x\n  targetObj.page.y = tmpXY.y\n\n  getClientXY(pointer, tmpXY)\n  targetObj.client.x = tmpXY.x\n  targetObj.client.y = tmpXY.y\n\n  targetObj.timeStamp = timeStamp\n}\n\nexport function getTouchPair (event) {\n  const touches = []\n\n  // array of touches is supplied\n  if (is.array(event)) {\n    touches[0] = event[0]\n    touches[1] = event[1]\n  }\n  // an event\n  else {\n    if (event.type === 'touchend') {\n      if (event.touches.length === 1) {\n        touches[0] = event.touches[0]\n        touches[1] = event.changedTouches[0]\n      }\n      else if (event.touches.length === 0) {\n        touches[0] = event.changedTouches[0]\n        touches[1] = event.changedTouches[1]\n      }\n    }\n    else {\n      touches[0] = event.touches[0]\n      touches[1] = event.touches[1]\n    }\n  }\n\n  return touches\n}\n\nexport function pointerAverage (pointers: PointerEvent[] | Event[]) {\n  const average = {\n    pageX  : 0,\n    pageY  : 0,\n    clientX: 0,\n    clientY: 0,\n    screenX: 0,\n    screenY: 0,\n  }\n\n  for (const pointer of pointers) {\n    for (const prop in average) {\n      average[prop] += pointer[prop]\n    }\n  }\n  for (const prop in average) {\n    average[prop] /= pointers.length\n  }\n\n  return average\n}\n\nexport function touchBBox (event: Event | Array<(Interact.PointerType) | TouchEvent>) {\n  if (!(event as any).length &&\n      !((event as TouchEvent).touches &&\n        (event as TouchEvent).touches.length > 1)) {\n    return null\n  }\n\n  const touches = getTouchPair(event)\n  const minX = Math.min(touches[0].pageX, touches[1].pageX)\n  const minY = Math.min(touches[0].pageY, touches[1].pageY)\n  const maxX = Math.max(touches[0].pageX, touches[1].pageX)\n  const maxY = Math.max(touches[0].pageY, touches[1].pageY)\n\n  return {\n    x: minX,\n    y: minY,\n    left: minX,\n    top: minY,\n    right: maxX,\n    bottom: maxY,\n    width: maxX - minX,\n    height: maxY - minY,\n  }\n}\n\nexport function touchDistance (event, deltaSource) {\n  const sourceX = deltaSource + 'X'\n  const sourceY = deltaSource + 'Y'\n  const touches = getTouchPair(event)\n\n  const dx = touches[0][sourceX] - touches[1][sourceX]\n  const dy = touches[0][sourceY] - touches[1][sourceY]\n\n  return hypot(dx, dy)\n}\n\nexport function touchAngle (event, deltaSource) {\n  const sourceX = deltaSource + 'X'\n  const sourceY = deltaSource + 'Y'\n  const touches = getTouchPair(event)\n  const dx = touches[1][sourceX] - touches[0][sourceX]\n  const dy = touches[1][sourceY] - touches[0][sourceY]\n  const angle = 180 * Math.atan2(dy, dx) / Math.PI\n\n  return  angle\n}\n\nexport function getPointerType (pointer) {\n  return is.string(pointer.pointerType)\n    ? pointer.pointerType\n    : is.number(pointer.pointerType)\n      ? [undefined, undefined, 'touch', 'pen', 'mouse'][pointer.pointerType]\n      // if the PointerEvent API isn't available, then the \"pointer\" must\n      // be either a MouseEvent, TouchEvent, or Touch object\n      : /touch/.test(pointer.type) || pointer instanceof dom.Touch\n        ? 'touch'\n        : 'mouse'\n}\n\n// [ event.target, event.currentTarget ]\nexport function getEventTargets (event) {\n  const path = is.func(event.composedPath) ? event.composedPath() : event.path\n\n  return [\n    domUtils.getActualElement(path ? path[0] : event.target),\n    domUtils.getActualElement(event.currentTarget),\n  ]\n}\n\nexport function newCoords (): Interact.CoordsSetMember {\n  return {\n    page     : { x: 0, y: 0 },\n    client   : { x: 0, y: 0 },\n    timeStamp: 0,\n  }\n}\n\nexport function coordsToEvent (coords: MockCoords) {\n  const event = {\n    coords,\n    get page () { return this.coords.page },\n    get client () { return this.coords.client },\n    get timeStamp () { return this.coords.timeStamp },\n    get pageX () { return this.coords.page.x },\n    get pageY () { return this.coords.page.y },\n    get clientX () { return this.coords.client.x },\n    get clientY () { return this.coords.client.y },\n    get pointerId () { return this.coords.pointerId },\n    get target () { return this.coords.target },\n    get type () { return this.coords.type },\n    get pointerType () { return this.coords.pointerType },\n    get buttons () { return this.coords.buttons },\n    preventDefault () {},\n  }\n\n  return event as typeof event & Interact.PointerType & Interact.PointerEventType\n}\n\nexport interface MockCoords {\n  page: Interact.Point\n  client: Interact.Point\n  timeStamp?: number\n  pointerId?: any\n  target?: any\n  type?: string\n  pointerType?: string\n  buttons?: number\n}\n\nexport { pointerExtend }\n","import { contains } from './arr'\nimport * as domUtils from './domUtils'\nimport * as is from './is'\nimport pExtend from './pointerExtend'\nimport * as pointerUtils from './pointerUtils'\n\ntype Listener = (event: Event | FakeEvent) => any\n\nconst elements: EventTarget[] = []\nconst targets: Array<{\n  events: { [type: string]: Listener[] }\n  typeCount: number\n}> = []\n\nconst delegatedEvents: {\n  [type: string]: {\n    selectors: string[]\n    contexts: Node[]\n    listeners: Array<Array<[Listener, boolean, boolean]>>\n  }\n} = {}\nconst documents: Document[] = []\n\nfunction add (element: EventTarget, type: string, listener: Listener, optionalArg?: boolean | any) {\n  const options = getOptions(optionalArg)\n  let elementIndex = elements.indexOf(element)\n  let target = targets[elementIndex]\n\n  if (!target) {\n    target = {\n      events: {},\n      typeCount: 0,\n    }\n\n    elementIndex = elements.push(element) - 1\n    targets.push(target)\n  }\n\n  if (!target.events[type]) {\n    target.events[type] = []\n    target.typeCount++\n  }\n\n  if (element.removeEventListener && !contains(target.events[type], listener)) {\n    element.addEventListener(type, listener as any, events.supportsOptions ? options : !!options.capture)\n    target.events[type].push(listener)\n  }\n}\n\nfunction remove (element: EventTarget, type: string, listener?: 'all' | Listener, optionalArg?: boolean | any) {\n  const options = getOptions(optionalArg)\n  const elementIndex = elements.indexOf(element)\n  const target = targets[elementIndex]\n\n  if (!target || !target.events) {\n    return\n  }\n\n  if (type === 'all') {\n    for (type in target.events) {\n      if (target.events.hasOwnProperty(type)) {\n        remove(element, type, 'all')\n      }\n    }\n    return\n  }\n\n  if (target.events[type]) {\n    const len = target.events[type].length\n\n    if (listener === 'all') {\n      for (let i = 0; i < len; i++) {\n        remove(element, type, target.events[type][i], options)\n      }\n      return\n    }\n    else {\n      for (let i = 0; i < len; i++) {\n        if (element.removeEventListener && target.events[type][i] === listener) {\n          element.removeEventListener(type, listener as any, events.supportsOptions ? options : !!options.capture)\n          target.events[type].splice(i, 1)\n\n          break\n        }\n      }\n    }\n\n    if (target.events[type] && target.events[type].length === 0) {\n      (target.events[type] as any) = null\n      target.typeCount--\n    }\n  }\n\n  if (!target.typeCount) {\n    targets.splice(elementIndex, 1)\n    elements.splice(elementIndex, 1)\n  }\n}\n\nfunction addDelegate (selector: string, context: Node, type: string, listener: Listener, optionalArg?: any) {\n  const options = getOptions(optionalArg)\n  if (!delegatedEvents[type]) {\n    delegatedEvents[type] = {\n      contexts : [],\n      listeners: [],\n      selectors: [],\n    }\n\n    // add delegate listener functions\n    for (const doc of documents) {\n      add(doc, type, delegateListener)\n      add(doc, type, delegateUseCapture, true)\n    }\n  }\n\n  const delegated = delegatedEvents[type]\n  let index\n\n  for (index = delegated.selectors.length - 1; index >= 0; index--) {\n    if (delegated.selectors[index] === selector &&\n        delegated.contexts[index] === context) {\n      break\n    }\n  }\n\n  if (index === -1) {\n    index = delegated.selectors.length\n\n    delegated.selectors.push(selector)\n    delegated.contexts.push(context)\n    delegated.listeners.push([])\n  }\n\n  // keep listener and capture and passive flags\n  delegated.listeners[index].push([listener, !!options.capture, options.passive])\n}\n\nfunction removeDelegate (\n  selector: string,\n  context: Document | Interact.Element,\n  type: string,\n  listener?: Listener,\n  optionalArg?: any,\n) {\n  const options = getOptions(optionalArg)\n  const delegated = delegatedEvents[type]\n  let matchFound = false\n  let index\n\n  if (!delegated) { return }\n\n  // count from last index of delegated to 0\n  for (index = delegated.selectors.length - 1; index >= 0; index--) {\n    // look for matching selector and context Node\n    if (delegated.selectors[index] === selector &&\n        delegated.contexts[index] === context) {\n      const listeners = delegated.listeners[index]\n\n      // each item of the listeners array is an array: [function, capture, passive]\n      for (let i = listeners.length - 1; i >= 0; i--) {\n        const [fn, capture, passive] = listeners[i]\n\n        // check if the listener functions and capture and passive flags match\n        if (fn === listener && capture === !!options.capture && passive === options.passive) {\n          // remove the listener from the array of listeners\n          listeners.splice(i, 1)\n\n          // if all listeners for this interactable have been removed\n          // remove the interactable from the delegated arrays\n          if (!listeners.length) {\n            delegated.selectors.splice(index, 1)\n            delegated.contexts.splice(index, 1)\n            delegated.listeners.splice(index, 1)\n\n            // remove delegate function from context\n            remove(context, type, delegateListener)\n            remove(context, type, delegateUseCapture, true)\n\n            // remove the arrays if they are empty\n            if (!delegated.selectors.length) {\n              delegatedEvents[type] = null\n            }\n          }\n\n          // only remove one listener\n          matchFound = true\n          break\n        }\n      }\n\n      if (matchFound) { break }\n    }\n  }\n}\n\n// bound to the interactable context when a DOM event\n// listener is added to a selector interactable\nfunction delegateListener (event: Event, optionalArg?: any) {\n  const options = getOptions(optionalArg)\n  const fakeEvent = new FakeEvent(event)\n  const delegated = delegatedEvents[event.type]\n  const [eventTarget] = (pointerUtils.getEventTargets(event))\n  let element: Node = eventTarget\n\n  // climb up document tree looking for selector matches\n  while (is.element(element)) {\n    for (let i = 0; i < delegated.selectors.length; i++) {\n      const selector = delegated.selectors[i]\n      const context = delegated.contexts[i]\n\n      if (domUtils.matchesSelector(element, selector) &&\n          domUtils.nodeContains(context, eventTarget) &&\n          domUtils.nodeContains(context, element)) {\n        const listeners = delegated.listeners[i]\n\n        fakeEvent.currentTarget = element\n\n        for (const [fn, capture, passive] of listeners) {\n          if (capture === !!options.capture && passive === options.passive) {\n            fn(fakeEvent)\n          }\n        }\n      }\n    }\n\n    element = domUtils.parentNode(element)\n  }\n}\n\nfunction delegateUseCapture (event: Event) {\n  return delegateListener.call(this, event, true)\n}\n\nfunction getOptions (param: object) {\n  return is.object(param) ? param : { capture: param }\n}\n\nexport class FakeEvent implements Partial<Event> {\n  currentTarget: EventTarget\n\n  constructor (public originalEvent: Event) {\n    // duplicate the event so that currentTarget can be changed\n    pExtend(this, originalEvent)\n  }\n\n  preventOriginalDefault () {\n    this.originalEvent.preventDefault()\n  }\n\n  stopPropagation () {\n    this.originalEvent.stopPropagation()\n  }\n\n  stopImmediatePropagation () {\n    this.originalEvent.stopImmediatePropagation()\n  }\n}\n\nconst events = {\n  add,\n  remove,\n\n  addDelegate,\n  removeDelegate,\n\n  delegateListener,\n  delegateUseCapture,\n  delegatedEvents,\n  documents,\n\n  supportsOptions: false,\n  supportsPassive: false,\n\n  _elements: elements,\n  _targets: targets,\n\n  init (window: Window) {\n    window.document.createElement('div').addEventListener('test', null, {\n      get capture () { return (events.supportsOptions = true) },\n      get passive () { return (events.supportsPassive = true) },\n    })\n  },\n}\n\nexport default events\n","export default function extend<T, U extends object> (dest: U & Partial<T>, source: T): T & U {\n  for (const prop in source) {\n    (dest as unknown as T)[prop] = source[prop]\n  }\n\n  const ret = dest as T & U\n\n  return ret\n}\n","import extend from './extend'\nimport * as is from './is'\n\nexport interface NormalizedListeners {\n  [type: string]: Interact.Listener[]\n}\n\nexport default function normalize (\n  type: Interact.EventTypes,\n  listeners?: Interact.ListenersArg | Interact.ListenersArg[],\n  result?: NormalizedListeners,\n): NormalizedListeners {\n  result = result || {}\n\n  if (is.string(type) && type.search(' ') !== -1) {\n    type = split(type)\n  }\n\n  if (is.array(type)) {\n    return type.reduce<NormalizedListeners>(\n      (acc, t) => extend(acc, normalize(t, listeners, result)),\n      result,\n    )\n  }\n\n  // ({ type: fn }) -> ('', { type: fn })\n  if (is.object(type)) {\n    listeners = type\n    type = ''\n  }\n\n  if (is.func(listeners)) {\n    result[type] = result[type] || []\n    result[type].push(listeners)\n  }\n  else if (is.array(listeners)) {\n    for (const l of listeners) {\n      normalize(type, l, result)\n    }\n  }\n  else if (is.object(listeners)) {\n    for (const prefix in listeners) {\n      const combinedTypes = split(prefix).map(p => `${type}${p}`)\n\n      normalize(combinedTypes, listeners[prefix], result)\n    }\n  }\n\n  return result as NormalizedListeners\n}\n\nfunction split (type: string) {\n  return type.trim().split(/ +/)\n}\n","import * as arr from '@interactjs/utils/arr'\nimport extend from '@interactjs/utils/extend'\nimport normalize, { NormalizedListeners } from '@interactjs/utils/normalizeListeners'\n\nfunction fireUntilImmediateStopped<\n  T extends Interact.ActionName,\n  P extends Interact.EventPhase,\n> (event: Interact.InteractEvent<T, P>, listeners: Interact.Listener[]) {\n  for (const listener of listeners) {\n    if (event.immediatePropagationStopped) { break }\n\n    listener(event)\n  }\n}\n\nclass Eventable {\n  options: any\n  types: NormalizedListeners = {}\n  propagationStopped = false\n  immediatePropagationStopped = false\n  global: any\n\n  constructor (options?: { [index: string]: any }) {\n    this.options = extend({}, options || {})\n  }\n\n  fire (event: any) {\n    let listeners\n    const global = this.global\n\n    // Interactable#on() listeners\n    // tslint:disable no-conditional-assignment\n    if ((listeners = this.types[event.type])) {\n      fireUntilImmediateStopped(event, listeners)\n    }\n\n    // interact.on() listeners\n    if (!event.propagationStopped && global && (listeners = global[event.type]))  {\n      fireUntilImmediateStopped(event, listeners)\n    }\n  }\n\n  on (type: string, listener: Interact.ListenersArg) {\n    const listeners = normalize(type, listener)\n\n    for (type in listeners) {\n      this.types[type] = arr.merge(this.types[type] || [], listeners[type])\n    }\n  }\n\n  off (type: string, listener: Interact.ListenersArg) {\n    const listeners = normalize(type, listener)\n\n    for (type in listeners) {\n      const eventList = this.types[type]\n\n      if (!eventList || !eventList.length) { continue }\n\n      for (const subListener of listeners[type]) {\n        const index = eventList.indexOf(subListener)\n\n        if (index !== -1) {\n          eventList.splice(index, 1)\n        }\n      }\n    }\n  }\n\n  getRect (_element: Interact.Element): Interact.Rect {\n    return null\n  }\n}\n\nexport default Eventable\n","import { closest, getElementRect, parentNode } from './domUtils'\nimport extend from './extend'\nimport * as is from './is'\n\nexport function getStringOptionResult (value: any, target: Interact.HasGetRect, element) {\n  if (value === 'parent') { return parentNode(element) }\n\n  if (value === 'self') { return target.getRect(element) }\n\n  return closest(element, value)\n}\n\nexport function resolveRectLike<T extends any[]> (\n  value: Interact.RectResolvable<T>,\n  target?: Interact.HasGetRect,\n  element?: Node,\n  functionArgs?: T,\n) {\n  let returnValue: any = value\n  if (is.string(returnValue)) {\n    returnValue = getStringOptionResult(returnValue, target, element)\n  }\n  else if (is.func(returnValue)) {\n    returnValue = returnValue(...functionArgs)\n  }\n\n  if (is.element(returnValue)) {\n    returnValue = getElementRect(returnValue)\n  }\n\n  return returnValue as Interact.Rect\n}\n\nexport function rectToXY (rect) {\n  return  rect && {\n    x: 'x' in rect ? rect.x : rect.left,\n    y: 'y' in rect ? rect.y : rect.top,\n  }\n}\n\nexport function xywhToTlbr (rect) {\n  if (rect && !('left' in rect && 'top' in rect)) {\n    rect = extend({}, rect)\n\n    rect.left   = rect.x || 0\n    rect.top    = rect.y || 0\n    rect.right  = rect.right   || (rect.left + rect.width)\n    rect.bottom = rect.bottom  || (rect.top + rect.height)\n  }\n\n  return rect\n}\n\nexport function tlbrToXywh (rect) {\n  if (rect && !('x' in rect && 'y' in rect)) {\n    rect = extend({}, rect)\n\n    rect.x      = rect.left || 0\n    rect.y      = rect.top  || 0\n    rect.width  = rect.width  || (rect.right || 0  - rect.x)\n    rect.height = rect.height || (rect.bottom || 0 - rect.y)\n  }\n\n  return rect\n}\n\nexport function addEdges (edges: Interact.EdgeOptions, rect: Interact.Rect, delta: Interact.Point) {\n  if (edges.left)   { rect.left   += delta.x }\n  if (edges.right)  { rect.right  += delta.x }\n  if (edges.top)    { rect.top    += delta.y }\n  if (edges.bottom) { rect.bottom += delta.y }\n\n  rect.width = rect.right - rect.left\n  rect.height = rect.bottom - rect.top\n}\n","import { rectToXY, resolveRectLike } from './rect'\n\nexport default function (\n  target: Interact.HasGetRect & { options: Interact.PerActionDefaults },\n  element: Node,\n  actionName?: Interact.ActionName,\n) {\n  const actionOptions = (target.options as any)[actionName]\n  const actionOrigin = actionOptions && actionOptions.origin\n  const origin = actionOrigin || target.options.origin\n\n  const originRect = resolveRectLike(origin, target, element, [target && element])\n\n  return rectToXY(originRect) || { x: 0, y: 0 }\n}\n","let lastTime = 0\nlet request\nlet cancel\n\nfunction init (window) {\n  request = window.requestAnimationFrame\n  cancel = window.cancelAnimationFrame\n\n  if (!request) {\n    const vendors = ['ms', 'moz', 'webkit', 'o']\n\n    for (const vendor of vendors) {\n      request = window[`${vendor}RequestAnimationFrame`]\n      cancel = window[`${vendor}CancelAnimationFrame`] || window[`${vendor}CancelRequestAnimationFrame`]\n    }\n  }\n\n  if (!request) {\n    request = callback => {\n      const currTime = Date.now()\n      const timeToCall = Math.max(0, 16 - (currTime - lastTime))\n      // eslint-disable-next-line standard/no-callback-literal\n      const token = setTimeout(() => { callback(currTime + timeToCall) },\n        timeToCall)\n\n      lastTime = currTime + timeToCall\n      return token\n    }\n\n    cancel = token => clearTimeout(token)\n  }\n}\n\nexport default {\n  request: callback => request(callback),\n  cancel: token => cancel(token),\n  init,\n}\n","import * as arr from './arr'\nimport * as dom from './domUtils'\nimport * as is from './is'\nimport * as pointer from './pointerUtils'\nimport * as rect from './rect'\nimport win from './window'\n\nexport function warnOnce<T> (this: T, method: (...args: any[]) => any, message: string) {\n  let warned = false\n\n  // eslint-disable-next-line no-shadow\n  return function (this: T) {\n    if (!warned) {\n      (win as any).window.console.warn(message)\n      warned = true\n    }\n\n    return method.apply(this, arguments)\n  }\n}\n\nexport function copyAction (dest: Interact.ActionProps, src: Interact.ActionProps) {\n  dest.name  = src.name\n  dest.axis  = src.axis\n  dest.edges = src.edges\n\n  return dest\n}\n\nexport { default as browser } from './browser'\nexport { default as clone } from './clone'\nexport { default as events } from './events'\nexport { default as extend } from './extend'\nexport { default as getOriginXY } from './getOriginXY'\nexport { default as hypot } from './hypot'\nexport { default as normalizeListeners } from './normalizeListeners'\nexport { default as raf } from './raf'\nexport { win, arr, dom, is, pointer, rect }\n","export class BaseEvent<T extends Interact.ActionName = any> {\n  type: string\n  target: EventTarget\n  currentTarget: EventTarget\n  interactable: Interact.Interactable\n  _interaction: Interact.Interaction<T>\n  timeStamp: any\n  immediatePropagationStopped = false\n  propagationStopped = false\n\n  get interaction (): Interact.InteractionProxy<T> {\n    return this._interaction._proxy\n  }\n\n  constructor (interaction: Interact.Interaction) {\n    this._interaction = interaction\n  }\n\n  preventDefault () {}\n\n  /**\n   * Don't call any other listeners (even on the current target)\n   */\n  stopPropagation () {\n    this.propagationStopped = true\n  }\n\n  /**\n   * Don't call listeners on the remaining targets\n   */\n  stopImmediatePropagation () {\n    this.immediatePropagationStopped = this.propagationStopped = true\n  }\n}\n\nexport default BaseEvent\n","// tslint:disable no-empty-interface\n\nexport interface Defaults {\n  base: BaseDefaults\n  perAction: PerActionDefaults\n  actions: ActionDefaults\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface ActionDefaults {\n}\n\nexport interface BaseDefaults {\n  preventDefault?: 'auto' | 'never' | string\n  deltaSource?: 'page' | 'client'\n  context?: Node\n}\n\nexport interface PerActionDefaults {\n  enabled?: boolean\n  origin?: Interact.Point | string | Interact.Element\n  listeners?: Interact.Listeners\n  allowFrom?: string | Interact.Element\n  ignoreFrom?: string | Interact.Element\n}\n\nexport type Options = Partial<BaseDefaults> & Partial<PerActionDefaults> & {\n  [P in keyof ActionDefaults]?: Partial<ActionDefaults[P]>\n}\n\n// export interface Options extends BaseDefaults, PerActionDefaults {}\n\nexport interface OptionsArg extends BaseDefaults, Interact.OrBoolean<Partial<ActionDefaults>> {}\n\nexport const defaults: Defaults = {\n  base: {\n    preventDefault: 'auto',\n    deltaSource: 'page',\n  },\n\n  perAction: {\n    enabled: false,\n    origin: { x: 0, y: 0 },\n  },\n\n  actions: {} as ActionDefaults,\n}\n\nexport default defaults\n","import extend from '@interactjs/utils/extend'\nimport getOriginXY from '@interactjs/utils/getOriginXY'\nimport hypot from '@interactjs/utils/hypot'\nimport BaseEvent from './BaseEvent'\nimport Interaction from './Interaction'\nimport defaults from './defaultOptions'\n\nexport type EventPhase = keyof PhaseMap\n\nexport interface PhaseMap {\n  start: true\n  move: true\n  end: true\n}\n\nexport class InteractEvent<\n  T extends Interact.ActionName = never,\n  P extends EventPhase = EventPhase,\n> extends BaseEvent<T> {\n  target: Interact.Element\n  currentTarget: Interact.Element\n  relatedTarget: null = null\n  screenX?: number\n  screenY?: number\n  button: number\n  buttons: number\n  ctrlKey: boolean\n  shiftKey: boolean\n  altKey: boolean\n  metaKey: boolean\n  page: Interact.Point\n  client: Interact.Point\n  delta: Interact.Point\n  rect: Interact.FullRect\n  x0: number\n  y0: number\n  t0: number\n  dt: number\n  duration: number\n  clientX0: number\n  clientY0: number\n  velocity: Interact.Point\n  speed: number\n  swipe: ReturnType<InteractEvent<T>['getSwipe']>\n  timeStamp: any\n  // drag\n  dragEnter?: Interact.Element\n  dragLeave?: Interact.Element\n  // resize\n  axes?: 'x' | 'y' | 'xy'\n  preEnd?: boolean\n\n  /** */\n  constructor (\n    interaction: Interaction,\n    event: Interact.PointerEventType,\n    actionName: T,\n    phase: P,\n    element: Interact.Element,\n    preEnd?: boolean,\n    type?: string,\n  ) {\n    super(interaction)\n\n    element = element || interaction.element\n\n    const target      = interaction.interactable\n    const deltaSource = (((target && target.options) || defaults) as any).deltaSource as 'page' | 'client'\n    const origin      = getOriginXY(target, element, actionName)\n    const starting    = phase === 'start'\n    const ending      = phase === 'end'\n    const prevEvent   = starting ? this : interaction.prevEvent\n    const coords      = starting\n      ? interaction.coords.start\n      : ending\n        ? { page: prevEvent.page, client: prevEvent.client, timeStamp: interaction.coords.cur.timeStamp }\n        : interaction.coords.cur\n\n    this.page      = extend({}, coords.page)\n    this.client    = extend({}, coords.client)\n    this.rect      = extend({}, interaction.rect)\n    this.timeStamp = coords.timeStamp\n\n    if (!ending) {\n      this.page.x -= origin.x\n      this.page.y -= origin.y\n\n      this.client.x -= origin.x\n      this.client.y -= origin.y\n    }\n\n    this.ctrlKey       = event.ctrlKey\n    this.altKey        = event.altKey\n    this.shiftKey      = event.shiftKey\n    this.metaKey       = event.metaKey\n    this.button        = (event as MouseEvent).button\n    this.buttons       = (event as MouseEvent).buttons\n    this.target        = element\n    this.currentTarget = element\n    this.preEnd        = preEnd\n    this.type          = type || (actionName + (phase || ''))\n    this.interactable  = target\n\n    this.t0 = starting\n      ? interaction.pointers[interaction.pointers.length - 1].downTime\n      : prevEvent.t0\n\n    this.x0       = interaction.coords.start.page.x - origin.x\n    this.y0       = interaction.coords.start.page.y - origin.y\n    this.clientX0 = interaction.coords.start.client.x - origin.x\n    this.clientY0 = interaction.coords.start.client.y - origin.y\n\n    if (starting || ending) {\n      this.delta = { x: 0, y: 0 }\n    }\n    else {\n      this.delta = {\n        x: this[deltaSource].x - prevEvent[deltaSource].x,\n        y: this[deltaSource].y - prevEvent[deltaSource].y,\n      }\n    }\n\n    this.dt        = interaction.coords.delta.timeStamp\n    this.duration  = this.timeStamp - this.t0\n\n    // velocity and speed in pixels per second\n    this.velocity = extend({}, interaction.coords.velocity[deltaSource])\n    this.speed = hypot(this.velocity.x, this.velocity.y)\n\n    this.swipe = (ending || phase === 'inertiastart') ? this.getSwipe() : null\n  }\n\n  get pageX () { return this.page.x }\n  set pageX (value) { this.page.x = value }\n  get pageY () { return this.page.y }\n  set pageY (value) { this.page.y = value }\n\n  get clientX () { return this.client.x }\n  set clientX (value) { this.client.x = value }\n  get clientY () { return this.client.y }\n  set clientY (value) { this.client.y = value }\n\n  get dx () { return this.delta.x }\n  set dx (value) { this.delta.x = value }\n  get dy () { return this.delta.y }\n  set dy (value) { this.delta.y = value }\n\n  get velocityX () { return this.velocity.x }\n  set velocityX (value) { this.velocity.x = value }\n  get velocityY () { return this.velocity.y }\n  set velocityY (value) { this.velocity.y = value }\n\n  getSwipe () {\n    const interaction = this._interaction\n\n    if (interaction.prevEvent.speed < 600 ||\n        this.timeStamp - interaction.prevEvent.timeStamp > 150) {\n      return null\n    }\n\n    let angle = 180 * Math.atan2(interaction.prevEvent.velocityY, interaction.prevEvent.velocityX) / Math.PI\n    const overlap = 22.5\n\n    if (angle < 0) {\n      angle += 360\n    }\n\n    const left = 135 - overlap <= angle && angle < 225 + overlap\n    const up   = 225 - overlap <= angle && angle < 315 + overlap\n\n    const right = !left && (315 - overlap <= angle || angle <  45 + overlap)\n    const down  = !up   &&   45 - overlap <= angle && angle < 135 + overlap\n\n    return {\n      up,\n      down,\n      left,\n      right,\n      angle,\n      speed: interaction.prevEvent.speed,\n      velocity: {\n        x: interaction.prevEvent.velocityX,\n        y: interaction.prevEvent.velocityY,\n      },\n    }\n  }\n\n  preventDefault () {}\n\n  /**\n   * Don't call listeners on the remaining targets\n   */\n  stopImmediatePropagation () {\n    this.immediatePropagationStopped = this.propagationStopped = true\n  }\n\n  /**\n   * Don't call any other listeners (even on the current target)\n   */\n  stopPropagation () {\n    this.propagationStopped = true\n  }\n}\n\nexport default InteractEvent\n","import * as arr from '@interactjs/utils/arr'\nimport * as domUtils from '@interactjs/utils/domUtils'\nimport extend from '@interactjs/utils/extend'\nimport * as is from '@interactjs/utils/is'\n\ndeclare module '@interactjs/core/scope' {\n  interface SignalArgs {\n    'interactable:new': {\n      interactable: Interact.Interactable\n      target: Interact.Target\n      options: Interact.OptionsArg\n      win: Window\n    }\n  }\n}\n\ninterface InteractableScopeProp {\n  context: Document | Interact.Element\n  interactable: Interact.Interactable\n}\n\nexport default class InteractableSet {\n  // all set interactables\n  list: Interact.Interactable[] = []\n\n  selectorMap: {\n    [selector: string]: InteractableScopeProp[]\n  } = {}\n\n  constructor (protected scope: Interact.Scope) {\n    scope.addListeners({\n      'interactable:unset': ({ interactable }) => {\n        const { target, _context: context } = interactable\n        const targetMappings: InteractableScopeProp[] = is.string(target)\n          ? this.selectorMap[target]\n          : (target as any)[this.scope.id]\n\n        const targetIndex = targetMappings.findIndex(m => m.context === context)\n        if (targetMappings[targetIndex]) {\n        // Destroying mappingInfo's context and interactable\n          targetMappings[targetIndex].context = null\n          targetMappings[targetIndex].interactable = null\n        }\n        targetMappings.splice(targetIndex, 1)\n      },\n    })\n  }\n\n  new (target: Interact.Target, options?: any): Interact.Interactable {\n    options = extend(options || {}, {\n      actions: this.scope.actions,\n    })\n    const interactable = new this.scope.Interactable(target, options, this.scope.document)\n    const mappingInfo = { context: interactable._context, interactable }\n\n    this.scope.addDocument(interactable._doc)\n    this.list.push(interactable)\n\n    if (is.string(target)) {\n      if (!this.selectorMap[target]) { this.selectorMap[target] = [] }\n      this.selectorMap[target].push(mappingInfo)\n    } else {\n      if (!((interactable.target as any)[this.scope.id])) {\n        Object.defineProperty(target, this.scope.id, {\n          value: [],\n          configurable: true,\n        })\n      }\n\n      (target as any)[this.scope.id].push(mappingInfo)\n    }\n\n    this.scope.fire('interactable:new', {\n      target,\n      options,\n      interactable,\n      win: this.scope._win,\n    })\n\n    return interactable\n  }\n\n  get (target: Interact.Target, options?: Interact.Options) {\n    const context = (options && options.context) || this.scope.document\n    const isSelector = is.string(target)\n    const targetMappings: InteractableScopeProp[] = isSelector\n      ? this.selectorMap[target as string]\n      : (target as any)[this.scope.id]\n\n    if (!targetMappings) { return null }\n\n    const found = arr.find(\n      targetMappings,\n      m => m.context === context &&\n        (isSelector || m.interactable.inContext(target as any)))\n\n    return found && found.interactable\n  }\n\n  forEachMatch<T> (node: Node, callback: (interactable: Interact.Interactable) => T): T | void {\n    for (const interactable of this.list) {\n      let ret\n\n      if ((is.string(interactable.target)\n      // target is a selector and the element matches\n        ? (is.element(node) && domUtils.matchesSelector(node, interactable.target))\n        // target is the element\n        : node === interactable.target) &&\n        // the element is in context\n        (interactable.inContext(node))) {\n        ret = callback(interactable)\n      }\n\n      if (ret !== undefined) {\n        return ret\n      }\n    }\n  }\n}\n","/* eslint-disable @typescript-eslint/no-parameter-properties */\nexport class PointerInfo {\n  constructor (\n    public id: number,\n    public pointer: Interact.PointerType,\n    public event: Interact.PointerEventType,\n    public downTime: number,\n    public downTarget: Interact.EventTarget,\n  ) {}\n}\n\nexport default PointerInfo\n","import * as utils from '@interactjs/utils/index'\nimport InteractEvent, { EventPhase } from './InteractEvent'\nimport Interactable from './Interactable'\nimport PointerInfo from './PointerInfo'\nimport { ActionName } from './scope'\n\nexport interface ActionProps<T extends ActionName = Interact.ActionName> {\n  name: T\n  axis?: 'x' | 'y' | 'xy'\n  edges?: Interact.EdgeOptions\n}\n\nexport interface StartAction extends ActionProps {\n  name: ActionName\n}\n\nexport enum _ProxyValues {\n  interactable = '',\n  element = '',\n  prepared = '',\n  pointerIsDown = '',\n  pointerWasMoved = '',\n  _proxy = ''\n}\n\nexport enum _ProxyMethods {\n  start = '',\n  move = '',\n  end = '',\n  stop = '',\n  interacting = ''\n}\n\nexport type PointerArgProps<T extends {} = {}> = {\n  pointer: Interact.PointerType\n  event: Interact.PointerEventType\n  eventTarget: Interact.EventTarget\n  pointerIndex: number\n  pointerInfo: PointerInfo\n  interaction: Interaction\n} & T\n\nexport interface DoPhaseArg<T extends ActionName, P extends EventPhase> {\n  event: Interact.PointerEventType\n  phase: EventPhase\n  interaction: Interaction<T>\n  iEvent: InteractEvent<T, P>\n  preEnd?: boolean\n  type?: string\n}\n\nexport type DoAnyPhaseArg = DoPhaseArg<ActionName, EventPhase>\n\ndeclare module '@interactjs/core/scope' {\n  interface SignalArgs {\n    'interactions:new': { interaction: Interaction }\n    'interactions:down': PointerArgProps<{\n      type: 'down'\n    }>\n    'interactions:move': PointerArgProps<{\n      type: 'move'\n      dx: number\n      dy: number\n      duplicate: boolean\n    }>\n    'interactions:up': PointerArgProps<{\n      type: 'up'\n      curEventTarget: EventTarget\n    }>\n    'interactions:cancel': SignalArgs['interactions:up'] & {\n      type: 'cancel'\n      curEventTarget: EventTarget\n    }\n    'interactions:update-pointer': PointerArgProps<{\n      down: boolean\n    }>\n    'interactions:remove-pointer': PointerArgProps\n    'interactions:blur'\n    'interactions:before-action-start': Omit<DoAnyPhaseArg, 'iEvent'>\n    'interactions:action-start': DoAnyPhaseArg\n    'interactions:after-action-start': DoAnyPhaseArg\n    'interactions:before-action-move': Omit<DoAnyPhaseArg, 'iEvent'>\n    'interactions:action-move': DoAnyPhaseArg\n    'interactions:after-action-move': DoAnyPhaseArg\n    'interactions:before-action-end': Omit<DoAnyPhaseArg, 'iEvent'>\n    'interactions:action-end': DoAnyPhaseArg\n    'interactions:after-action-end': DoAnyPhaseArg\n    'interactions:stop': { interaction: Interaction }\n  }\n}\n\nexport type InteractionProxy<T extends ActionName = ActionName> = Pick<\nInteraction<T>,\nkeyof typeof _ProxyValues | keyof typeof _ProxyMethods\n>\n\nlet idCounter = 0\n\nexport class Interaction<T extends ActionName = ActionName> {\n  // current interactable being interacted with\n  interactable: Interactable = null\n\n  // the target element of the interactable\n  element: Interact.Element = null\n  rect: Interact.FullRect\n  _rects?: {\n    start: Interact.FullRect\n    corrected: Interact.FullRect\n    previous: Interact.FullRect\n    delta: Interact.FullRect\n  }\n  edges: Interact.EdgeOptions\n\n  _scopeFire: Interact.Scope['fire']\n\n  // action that's ready to be fired on next move event\n  prepared: ActionProps<T> = {\n    name : null,\n    axis : null,\n    edges: null,\n  }\n\n  pointerType: string\n\n  // keep track of added pointers\n  pointers: PointerInfo[] = []\n\n  // pointerdown/mousedown/touchstart event\n  downEvent: Interact.PointerEventType = null\n\n  downPointer: Interact.PointerType = {} as Interact.PointerType\n\n  _latestPointer: {\n    pointer: Interact.PointerType\n    event: Interact.PointerEventType\n    eventTarget: Node\n  } = {\n    pointer: null,\n    event: null,\n    eventTarget: null,\n  }\n\n  // previous action event\n  prevEvent: InteractEvent<T, EventPhase> = null\n\n  pointerIsDown = false\n  pointerWasMoved = false\n  _interacting = false\n  _ending = false\n  _stopped = true\n  _proxy: InteractionProxy<T> = null\n\n  simulation = null\n\n  get pointerMoveTolerance () {\n    return 1\n  }\n\n  /**\n   * @alias Interaction.prototype.move\n   */\n  doMove = utils.warnOnce(\n    function (this: Interaction, signalArg: any) {\n      this.move(signalArg)\n    },\n    'The interaction.doMove() method has been renamed to interaction.move()')\n\n  coords: Interact.CoordsSet = {\n    // Starting InteractEvent pointer coordinates\n    start: utils.pointer.newCoords(),\n    // Previous native pointer move event coordinates\n    prev: utils.pointer.newCoords(),\n    // current native pointer move event coordinates\n    cur: utils.pointer.newCoords(),\n    // Change in coordinates and time of the pointer\n    delta: utils.pointer.newCoords(),\n    // pointer velocity\n    velocity: utils.pointer.newCoords(),\n  }\n\n  readonly _id: number = idCounter++\n\n  /** */\n  constructor ({ pointerType, scopeFire }: {\n    pointerType?: string\n    scopeFire: Interact.Scope['fire']\n  }) {\n    this._scopeFire = scopeFire\n    this.pointerType = pointerType\n\n    const that = this\n\n    this._proxy = {} as InteractionProxy<T>\n\n    for (const key in _ProxyValues) {\n      Object.defineProperty(this._proxy, key, {\n        get () { return that[key] },\n      })\n    }\n\n    for (const key in _ProxyMethods) {\n      Object.defineProperty(this._proxy, key, {\n        value: (...args) => that[key](...args),\n      })\n    }\n\n    this._scopeFire('interactions:new', { interaction: this })\n  }\n\n  pointerDown (pointer: Interact.PointerType, event: Interact.PointerEventType, eventTarget: Interact.EventTarget) {\n    const pointerIndex = this.updatePointer(pointer, event, eventTarget, true)\n    const pointerInfo = this.pointers[pointerIndex]\n\n    this._scopeFire('interactions:down', {\n      pointer,\n      event,\n      eventTarget,\n      pointerIndex,\n      pointerInfo,\n      type: 'down',\n      interaction: this,\n    })\n  }\n\n  /**\n   * ```js\n   * interact(target)\n   *   .draggable({\n   *     // disable the default drag start by down->move\n   *     manualStart: true\n   *   })\n   *   // start dragging after the user holds the pointer down\n   *   .on('hold', function (event) {\n   *     var interaction = event.interaction\n   *\n   *     if (!interaction.interacting()) {\n   *       interaction.start({ name: 'drag' },\n   *                         event.interactable,\n   *                         event.currentTarget)\n   *     }\n   * })\n   * ```\n   *\n   * Start an action with the given Interactable and Element as tartgets. The\n   * action must be enabled for the target Interactable and an appropriate\n   * number of pointers must be held down - 1 for drag/resize, 2 for gesture.\n   *\n   * Use it with `interactable.<action>able({ manualStart: false })` to always\n   * [start actions manually](https://github.com/taye/interact.js/issues/114)\n   *\n   * @param {object} action   The action to be performed - drag, resize, etc.\n   * @param {Interactable} target  The Interactable to target\n   * @param {Element} element The DOM Element to target\n   * @return {object} interact\n   */\n  start (action: StartAction, interactable: Interactable, element: Interact.Element) {\n    if (this.interacting() ||\n        !this.pointerIsDown ||\n        this.pointers.length < (action.name === 'gesture' ? 2 : 1) ||\n        !interactable.options[action.name].enabled) {\n      return false\n    }\n\n    utils.copyAction(this.prepared, action)\n\n    this.interactable = interactable\n    this.element      = element\n    this.rect         = interactable.getRect(element)\n    this.edges        = this.prepared.edges\n      ? utils.extend({}, this.prepared.edges)\n      : { left: true, right: true, top: true, bottom: true }\n    this._stopped     = false\n    this._interacting = this._doPhase({\n      interaction: this,\n      event: this.downEvent,\n      phase: 'start',\n    }) && !this._stopped\n\n    return this._interacting\n  }\n\n  pointerMove (pointer: Interact.PointerType, event: Interact.PointerEventType, eventTarget: Interact.EventTarget) {\n    if (!this.simulation && !(this.modification && this.modification.endResult)) {\n      this.updatePointer(pointer, event, eventTarget, false)\n    }\n\n    const duplicateMove = (this.coords.cur.page.x === this.coords.prev.page.x &&\n                           this.coords.cur.page.y === this.coords.prev.page.y &&\n                           this.coords.cur.client.x === this.coords.prev.client.x &&\n                           this.coords.cur.client.y === this.coords.prev.client.y)\n\n    let dx\n    let dy\n\n    // register movement greater than pointerMoveTolerance\n    if (this.pointerIsDown && !this.pointerWasMoved) {\n      dx = this.coords.cur.client.x - this.coords.start.client.x\n      dy = this.coords.cur.client.y - this.coords.start.client.y\n\n      this.pointerWasMoved = utils.hypot(dx, dy) > this.pointerMoveTolerance\n    }\n\n    const pointerIndex = this.getPointerIndex(pointer)\n    const signalArg = {\n      pointer,\n      pointerIndex,\n      pointerInfo: this.pointers[pointerIndex],\n      event,\n      type: 'move' as const,\n      eventTarget,\n      dx,\n      dy,\n      duplicate: duplicateMove,\n      interaction: this,\n    }\n\n    if (!duplicateMove) {\n      // set pointer coordinate, time changes and velocity\n      utils.pointer.setCoordVelocity(this.coords.velocity, this.coords.delta)\n    }\n\n    this._scopeFire('interactions:move', signalArg)\n\n    if (!duplicateMove && !this.simulation) {\n      // if interacting, fire an 'action-move' signal etc\n      if (this.interacting()) {\n        signalArg.type = null\n        this.move(signalArg)\n      }\n\n      if (this.pointerWasMoved) {\n        utils.pointer.copyCoords(this.coords.prev, this.coords.cur)\n      }\n    }\n  }\n\n  /**\n   * ```js\n   * interact(target)\n   *   .draggable(true)\n   *   .on('dragmove', function (event) {\n   *     if (someCondition) {\n   *       // change the snap settings\n   *       event.interactable.draggable({ snap: { targets: [] }})\n   *       // fire another move event with re-calculated snap\n   *       event.interaction.move()\n   *     }\n   *   })\n   * ```\n   *\n   * Force a move of the current action at the same coordinates. Useful if\n   * snap/restrict has been changed and you want a movement with the new\n   * settings.\n   */\n  move (signalArg?) {\n    if (!signalArg || !signalArg.event) {\n      utils.pointer.setZeroCoords(this.coords.delta)\n    }\n\n    signalArg = utils.extend({\n      pointer: this._latestPointer.pointer,\n      event: this._latestPointer.event,\n      eventTarget: this._latestPointer.eventTarget,\n      interaction: this,\n    }, signalArg || {})\n\n    signalArg.phase = 'move'\n\n    this._doPhase(signalArg)\n  }\n\n  // End interact move events and stop auto-scroll unless simulation is running\n  pointerUp (pointer: Interact.PointerType, event: Interact.PointerEventType, eventTarget: Interact.EventTarget, curEventTarget: Interact.EventTarget) {\n    let pointerIndex = this.getPointerIndex(pointer)\n\n    if (pointerIndex === -1) {\n      pointerIndex = this.updatePointer(pointer, event, eventTarget, false)\n    }\n\n    const type = /cancel$/i.test(event.type) ? 'cancel' : 'up'\n\n    this._scopeFire(`interactions:${type}` as 'interactions:up' | 'interactions:cancel', {\n      pointer,\n      pointerIndex,\n      pointerInfo: this.pointers[pointerIndex],\n      event,\n      eventTarget,\n      type: type as any,\n      curEventTarget,\n      interaction: this,\n    })\n\n    if (!this.simulation) {\n      this.end(event)\n    }\n\n    this.pointerIsDown = false\n    this.removePointer(pointer, event)\n  }\n\n  documentBlur (event) {\n    this.end(event)\n    this._scopeFire('interactions:blur', { event, type: 'blur', interaction: this })\n  }\n\n  /**\n   * ```js\n   * interact(target)\n   *   .draggable(true)\n   *   .on('move', function (event) {\n   *     if (event.pageX > 1000) {\n   *       // end the current action\n   *       event.interaction.end()\n   *       // stop all further listeners from being called\n   *       event.stopImmediatePropagation()\n   *     }\n   *   })\n   * ```\n   *\n   * @param {PointerEvent} [event]\n   */\n  end (event?: Interact.PointerEventType) {\n    this._ending = true\n    event = event || this._latestPointer.event\n    let endPhaseResult\n\n    if (this.interacting()) {\n      endPhaseResult = this._doPhase({\n        event,\n        interaction: this,\n        phase: 'end',\n      })\n    }\n\n    this._ending = false\n\n    if (endPhaseResult === true) {\n      this.stop()\n    }\n  }\n\n  currentAction () {\n    return this._interacting ? this.prepared.name : null\n  }\n\n  interacting () {\n    return this._interacting\n  }\n\n  /** */\n  stop () {\n    this._scopeFire('interactions:stop', { interaction: this })\n\n    this.interactable = this.element = null\n\n    this._interacting = false\n    this._stopped = true\n    this.prepared.name = this.prevEvent = null\n  }\n\n  getPointerIndex (pointer) {\n    const pointerId = utils.pointer.getPointerId(pointer)\n\n    // mouse and pen interactions may have only one pointer\n    return (this.pointerType === 'mouse' || this.pointerType === 'pen')\n      ? this.pointers.length - 1\n      : utils.arr.findIndex(this.pointers, curPointer => curPointer.id === pointerId)\n  }\n\n  getPointerInfo (pointer) {\n    return this.pointers[this.getPointerIndex(pointer)]\n  }\n\n  updatePointer (pointer: Interact.PointerType, event: Interact.PointerEventType, eventTarget: Interact.EventTarget, down?: boolean) {\n    const id = utils.pointer.getPointerId(pointer)\n    let pointerIndex = this.getPointerIndex(pointer)\n    let pointerInfo = this.pointers[pointerIndex]\n\n    down = down === false\n      ? false\n      : down || /(down|start)$/i.test(event.type)\n\n    if (!pointerInfo) {\n      pointerInfo = new PointerInfo(\n        id,\n        pointer,\n        event,\n        null,\n        null,\n      )\n\n      pointerIndex = this.pointers.length\n      this.pointers.push(pointerInfo)\n    }\n    else {\n      pointerInfo.pointer = pointer\n    }\n\n    utils.pointer.setCoords(this.coords.cur, this.pointers.map(p => p.pointer), this._now())\n    utils.pointer.setCoordDeltas(this.coords.delta, this.coords.prev, this.coords.cur)\n\n    if (down) {\n      this.pointerIsDown = true\n\n      pointerInfo.downTime = this.coords.cur.timeStamp\n      pointerInfo.downTarget = eventTarget\n      utils.pointer.pointerExtend(this.downPointer, pointer)\n\n      if (!this.interacting()) {\n        utils.pointer.copyCoords(this.coords.start, this.coords.cur)\n        utils.pointer.copyCoords(this.coords.prev, this.coords.cur)\n\n        this.downEvent = event\n        this.pointerWasMoved = false\n      }\n    }\n\n    this._updateLatestPointer(pointer, event, eventTarget)\n\n    this._scopeFire('interactions:update-pointer', {\n      pointer,\n      event,\n      eventTarget,\n      down,\n      pointerInfo,\n      pointerIndex,\n      interaction: this,\n    })\n\n    return pointerIndex\n  }\n\n  removePointer (pointer: Interact.PointerType, event: Interact.PointerEventType) {\n    const pointerIndex = this.getPointerIndex(pointer)\n\n    if (pointerIndex === -1) { return }\n\n    const pointerInfo = this.pointers[pointerIndex]\n\n    this._scopeFire('interactions:remove-pointer', {\n      pointer,\n      event,\n      eventTarget: null,\n      pointerIndex,\n      pointerInfo,\n      interaction: this,\n    })\n\n    this.pointers.splice(pointerIndex, 1)\n  }\n\n  _updateLatestPointer (pointer, event, eventTarget) {\n    this._latestPointer.pointer = pointer\n    this._latestPointer.event = event\n    this._latestPointer.eventTarget = eventTarget\n  }\n\n  destroy () {\n    this._latestPointer.pointer = null\n    this._latestPointer.event = null\n    this._latestPointer.eventTarget = null\n  }\n\n  _createPreparedEvent<P extends EventPhase> (event: Interact.PointerEventType, phase: P, preEnd?: boolean, type?: string) {\n    return new InteractEvent<T, P>(this, event, this.prepared.name, phase, this.element, preEnd, type)\n  }\n\n  _fireEvent<P extends EventPhase> (iEvent: InteractEvent<T, P>) {\n    this.interactable.fire(iEvent)\n\n    if (!this.prevEvent || iEvent.timeStamp >= this.prevEvent.timeStamp) {\n      this.prevEvent = iEvent\n    }\n  }\n\n  _doPhase<P extends EventPhase> (signalArg: Omit<DoPhaseArg<T, P>, 'iEvent'> & { iEvent?: InteractEvent<T, P> }) {\n    const { event, phase, preEnd, type } = signalArg\n    const { rect } = this\n\n    if (rect && phase === 'move') {\n      // update the rect changes due to pointer move\n      utils.rect.addEdges(this.edges, rect, this.coords.delta[this.interactable.options.deltaSource])\n\n      rect.width = rect.right - rect.left\n      rect.height = rect.bottom - rect.top\n    }\n\n    const beforeResult = this._scopeFire(`interactions:before-action-${phase}` as any, signalArg)\n\n    if (beforeResult === false) {\n      return false\n    }\n\n    const iEvent = signalArg.iEvent = this._createPreparedEvent(event, phase, preEnd, type)\n\n    this._scopeFire(`interactions:action-${phase}` as any, signalArg)\n\n    if (phase === 'start') { this.prevEvent = iEvent }\n\n    this._fireEvent(iEvent)\n\n    this._scopeFire(`interactions:after-action-${phase}` as any, signalArg)\n\n    return true\n  }\n\n  _now () { return Date.now() }\n}\n\nexport default Interaction\nexport { PointerInfo }\n","import { matchesSelector, nodeContains } from '@interactjs/utils/domUtils'\nimport events from '@interactjs/utils/events'\nimport * as is from '@interactjs/utils/is'\nimport { getWindow } from '@interactjs/utils/window'\n\ndeclare module '@interactjs/core/Interactable' {\n  interface Interactable {\n    preventDefault: typeof preventDefault\n    checkAndPreventDefault: (event: Event) => void\n  }\n}\n\ntype PreventDefaultValue = 'always' | 'never' | 'auto'\nfunction preventDefault (this: Interact.Interactable): PreventDefaultValue\nfunction preventDefault (this: Interact.Interactable, newValue: PreventDefaultValue): typeof this\nfunction preventDefault (this: Interact.Interactable, newValue?: PreventDefaultValue) {\n  if (/^(always|never|auto)$/.test(newValue)) {\n    this.options.preventDefault = newValue\n    return this\n  }\n\n  if (is.bool(newValue)) {\n    this.options.preventDefault = newValue ? 'always' : 'never'\n    return this\n  }\n\n  return this.options.preventDefault\n}\n\nfunction checkAndPreventDefault (interactable: Interact.Interactable, scope: Interact.Scope, event: Event) {\n  const setting = interactable.options.preventDefault\n\n  if (setting === 'never') { return }\n\n  if (setting === 'always') {\n    event.preventDefault()\n    return\n  }\n\n  // setting === 'auto'\n\n  // if the browser supports passive event listeners and isn't running on iOS,\n  // don't preventDefault of touch{start,move} events. CSS touch-action and\n  // user-select should be used instead of calling event.preventDefault().\n  if (events.supportsPassive && /^touch(start|move)$/.test(event.type)) {\n    const doc = getWindow(event.target).document\n    const docOptions = scope.getDocOptions(doc)\n\n    if (!(docOptions && docOptions.events) || docOptions.events.passive !== false) {\n      return\n    }\n  }\n\n  // don't preventDefault of pointerdown events\n  if (/^(mouse|pointer|touch)*(down|start)/i.test(event.type)) {\n    return\n  }\n\n  // don't preventDefault on editable elements\n  if (is.element(event.target) &&\n      matchesSelector(event.target, 'input,select,textarea,[contenteditable=true],[contenteditable=true] *')) {\n    return\n  }\n\n  event.preventDefault()\n}\n\nfunction onInteractionEvent ({ interaction, event }: { interaction: Interact.Interaction, event: Interact.PointerEventType }) {\n  if (interaction.interactable) {\n    interaction.interactable.checkAndPreventDefault(event as Event)\n  }\n}\n\nexport function install (scope: Interact.Scope) {\n  /** @lends Interactable */\n  const { Interactable } = scope\n\n  /**\n   * Returns or sets whether to prevent the browser's default behaviour in\n   * response to pointer events. Can be set to:\n   *  - `'always'` to always prevent\n   *  - `'never'` to never prevent\n   *  - `'auto'` to let interact.js try to determine what would be best\n   *\n   * @param {string} [newValue] `'always'`, `'never'` or `'auto'`\n   * @return {string | Interactable} The current setting or this Interactable\n   */\n  Interactable.prototype.preventDefault = preventDefault\n\n  Interactable.prototype.checkAndPreventDefault = function (event) {\n    return checkAndPreventDefault(this, scope, event)\n  }\n\n  // prevent native HTML5 drag on interact.js target elements\n  scope.interactions.docEvents.push({\n    type: 'dragstart',\n    listener (event) {\n      for (const interaction of scope.interactions.list) {\n        if (interaction.element &&\n          (interaction.element === event.target ||\n           nodeContains(interaction.element, event.target))) {\n          interaction.interactable.checkAndPreventDefault(event)\n          return\n        }\n      }\n    },\n  })\n}\n\nexport default {\n  id: 'core/interactablePreventDefault',\n  install,\n  listeners: ['down', 'move', 'up', 'cancel'].reduce((acc, eventType) => {\n    acc[`interactions:${eventType}`] = onInteractionEvent\n    return acc\n  }, {} as any),\n}\n","import * as dom from '@interactjs/utils/domUtils'\n\nexport interface SearchDetails {\n  pointer: Interact.PointerType\n  pointerId: number\n  pointerType: string\n  eventType: string\n  eventTarget: Interact.EventTarget\n  curEventTarget: Interact.EventTarget\n  scope: Interact.Scope\n}\n\nconst finder = {\n  methodOrder: ['simulationResume', 'mouseOrPen', 'hasPointer', 'idle'] as const,\n\n  search (details: SearchDetails) {\n    for (const method of finder.methodOrder) {\n      const interaction = finder[method](details)\n\n      if (interaction) {\n        return interaction\n      }\n    }\n\n    return null\n  },\n\n  // try to resume simulation with a new pointer\n  simulationResume ({ pointerType, eventType, eventTarget, scope }: SearchDetails) {\n    if (!/down|start/i.test(eventType)) {\n      return null\n    }\n\n    for (const interaction of scope.interactions.list) {\n      let element = eventTarget as Node\n\n      if (interaction.simulation && interaction.simulation.allowResume &&\n          (interaction.pointerType === pointerType)) {\n        while (element) {\n          // if the element is the interaction element\n          if (element === interaction.element) {\n            return interaction\n          }\n          element = dom.parentNode(element)\n        }\n      }\n    }\n\n    return null\n  },\n\n  // if it's a mouse or pen interaction\n  mouseOrPen ({ pointerId, pointerType, eventType, scope }: SearchDetails) {\n    if (pointerType !== 'mouse' && pointerType !== 'pen') {\n      return null\n    }\n\n    let firstNonActive\n\n    for (const interaction of scope.interactions.list) {\n      if (interaction.pointerType === pointerType) {\n        // if it's a down event, skip interactions with running simulations\n        if (interaction.simulation && !hasPointerId(interaction, pointerId)) { continue }\n\n        // if the interaction is active, return it immediately\n        if (interaction.interacting()) {\n          return interaction\n        }\n        // otherwise save it and look for another active interaction\n        else if (!firstNonActive) {\n          firstNonActive = interaction\n        }\n      }\n    }\n\n    // if no active mouse interaction was found use the first inactive mouse\n    // interaction\n    if (firstNonActive) {\n      return firstNonActive\n    }\n\n    // find any mouse or pen interaction.\n    // ignore the interaction if the eventType is a *down, and a simulation\n    // is active\n    for (const interaction of scope.interactions.list) {\n      if (interaction.pointerType === pointerType && !(/down/i.test(eventType) && interaction.simulation)) {\n        return interaction\n      }\n    }\n\n    return null\n  },\n\n  // get interaction that has this pointer\n  hasPointer ({ pointerId, scope }: SearchDetails) {\n    for (const interaction of scope.interactions.list) {\n      if (hasPointerId(interaction, pointerId)) {\n        return interaction\n      }\n    }\n\n    return null\n  },\n\n  // get first idle interaction with a matching pointerType\n  idle ({ pointerType, scope }: SearchDetails) {\n    for (const interaction of scope.interactions.list) {\n      // if there's already a pointer held down\n      if (interaction.pointers.length === 1) {\n        const target = interaction.interactable\n        // don't add this pointer if there is a target interactable and it\n        // isn't gesturable\n        if (target && !(target.options.gesture && target.options.gesture.enabled)) {\n          continue\n        }\n      }\n      // maximum of 2 pointers per interaction\n      else if (interaction.pointers.length >= 2) {\n        continue\n      }\n\n      if (!interaction.interacting() && (pointerType === interaction.pointerType)) {\n        return interaction\n      }\n    }\n\n    return null\n  },\n}\n\nfunction hasPointerId (interaction: Interact.Interaction, pointerId: number) {\n  return interaction.pointers.some(({ id }) => id === pointerId)\n}\n\nexport default finder\n","import BaseEvent from '@interactjs/core/BaseEvent'\nimport InteractEvent from '@interactjs/core/InteractEvent'\nimport Interactable from '@interactjs/core/Interactable'\nimport * as arr from '@interactjs/utils/arr'\n\nclass DropEvent extends BaseEvent {\n  target: Interact.Element\n  dropzone: Interactable\n  dragEvent: InteractEvent<'drag'>\n  relatedTarget: Interact.Element\n  draggable: Interactable\n  timeStamp: number\n  propagationStopped = false\n  immediatePropagationStopped = false\n\n  /**\n   * Class of events fired on dropzones during drags with acceptable targets.\n   */\n  constructor (dropState: import('./').DropState, dragEvent: InteractEvent<'drag'>, type: string) {\n    super(dragEvent._interaction)\n\n    const { element, dropzone } = type === 'dragleave'\n      ? dropState.prev\n      : dropState.cur\n\n    this.type          = type\n    this.target        = element\n    this.currentTarget = element\n    this.dropzone      = dropzone\n    this.dragEvent     = dragEvent\n    this.relatedTarget = dragEvent.target\n    this.draggable     = dragEvent.interactable\n    this.timeStamp     = dragEvent.timeStamp\n  }\n\n  /**\n   * If this is a `dropactivate` event, the dropzone element will be\n   * deactivated.\n   *\n   * If this is a `dragmove` or `dragenter`, a `dragleave` will be fired on the\n   * dropzone element and more.\n   */\n  reject () {\n    const { dropState } = this._interaction\n\n    if (\n      (this.type !== 'dropactivate') && (\n        !this.dropzone ||\n        dropState.cur.dropzone !== this.dropzone ||\n        dropState.cur.element !== this.target)) {\n      return\n    }\n\n    dropState.prev.dropzone = this.dropzone\n    dropState.prev.element = this.target\n\n    dropState.rejected = true\n    dropState.events.enter = null\n\n    this.stopImmediatePropagation()\n\n    if (this.type === 'dropactivate') {\n      const activeDrops = dropState.activeDrops\n      const index = arr.findIndex(activeDrops, ({ dropzone, element }) =>\n        dropzone === this.dropzone && element === this.target)\n\n      dropState.activeDrops.splice(index, 1)\n\n      const deactivateEvent = new DropEvent(dropState, this.dragEvent, 'dropdeactivate')\n\n      deactivateEvent.dropzone = this.dropzone\n      deactivateEvent.target = this.target\n\n      this.dropzone.fire(deactivateEvent)\n    }\n    else {\n      this.dropzone.fire(new DropEvent(dropState, this.dragEvent, 'dragleave'))\n    }\n  }\n\n  preventDefault () {}\n\n  stopPropagation () {\n    this.propagationStopped = true\n  }\n\n  stopImmediatePropagation () {\n    this.immediatePropagationStopped = this.propagationStopped = true\n  }\n}\n\nexport default DropEvent\n","import InteractEvent from '@interactjs/core/InteractEvent'\nimport Interactable from '@interactjs/core/Interactable'\nimport Scope from '@interactjs/core/scope'\nimport * as utils from '@interactjs/utils/index'\nimport drag from '../drag'\nimport DropEvent from './DropEvent'\n\nexport interface DropzoneMethod {\n  (options: Interact.DropzoneOptions | boolean): Interact.Interactable\n  (): Interact.DropzoneOptions\n}\n\ndeclare module '@interactjs/core/Interactable' {\n  interface Interactable {\n    dropzone: DropzoneMethod\n    dropCheck: (\n      dragEvent: InteractEvent,\n      event: Interact.PointerEventType,\n      draggable: Interactable,\n      draggableElement: Interact.Element,\n      dropElemen: Interact.Element,\n      rect: any\n    ) => boolean\n  }\n}\n\ndeclare module '@interactjs/core/Interaction' {\n  interface Interaction {\n    dropState?: DropState\n  }\n}\n\ndeclare module '@interactjs/core/defaultOptions' {\n  interface ActionDefaults {\n    drop: Interact.DropzoneOptions\n  }\n}\n\ndeclare module '@interactjs/core/scope' {\n  interface ActionMap {\n    drop?: typeof drop\n  }\n\n  interface Scope {\n    dynamicDrop?: boolean\n  }\n\n  interface SignalArgs {\n    'actions/drop:start': DropSignalArg\n    'actions/drop:move': DropSignalArg\n    'actions/drop:end': DropSignalArg\n  }\n}\n\ninterface DropSignalArg {\n  interaction: Interact.Interaction\n  dragEvent: Interact.DragEvent\n}\n\nexport interface ActiveDrop {\n  dropzone: Interactable\n  element: Interact.Element\n  rect: Interact.Rect\n}\n\nexport interface DropState {\n  cur: {\n    dropzone: Interactable    // the dropzone a drag target might be dropped into\n    element: Interact.Element // the element at the time of checking\n  }\n  prev: {\n    dropzone: Interactable    // the dropzone that was recently dragged away from\n    element: Interact.Element // the element at the time of checking\n  }\n  rejected: boolean           // wheather the potential drop was rejected from a listener\n  events: any                 // the drop events related to the current drag event\n  activeDrops: ActiveDrop[]\n}\n\nfunction install (scope: Scope) {\n  const {\n    actions,\n    /** @lends module:interact */\n    interactStatic: interact,\n    /** @lends Interactable */\n    Interactable, // eslint-disable-line no-shadow\n    defaults,\n  } = scope\n\n  scope.usePlugin(drag)\n\n  /**\n   *\n   * ```js\n   * interact('.drop').dropzone({\n   *   accept: '.can-drop' || document.getElementById('single-drop'),\n   *   overlap: 'pointer' || 'center' || zeroToOne\n   * }\n   * ```\n   *\n   * Returns or sets whether draggables can be dropped onto this target to\n   * trigger drop events\n   *\n   * Dropzones can receive the following events:\n   *  - `dropactivate` and `dropdeactivate` when an acceptable drag starts and ends\n   *  - `dragenter` and `dragleave` when a draggable enters and leaves the dropzone\n   *  - `dragmove` when a draggable that has entered the dropzone is moved\n   *  - `drop` when a draggable is dropped into this dropzone\n   *\n   * Use the `accept` option to allow only elements that match the given CSS\n   * selector or element. The value can be:\n   *\n   *  - **an Element** - only that element can be dropped into this dropzone.\n   *  - **a string**, - the element being dragged must match it as a CSS selector.\n   *  - **`null`** - accept options is cleared - it accepts any element.\n   *\n   * Use the `overlap` option to set how drops are checked for. The allowed\n   * values are:\n   *\n   *   - `'pointer'`, the pointer must be over the dropzone (default)\n   *   - `'center'`, the draggable element's center must be over the dropzone\n   *   - a number from 0-1 which is the `(intersection area) / (draggable area)`.\n   *   e.g. `0.5` for drop to happen when half of the area of the draggable is\n   *   over the dropzone\n   *\n   * Use the `checker` option to specify a function to check if a dragged element\n   * is over this Interactable.\n   *\n   * @param {boolean | object | null} [options] The new options to be set.\n   * @return {boolean | Interactable} The current setting or this Interactable\n   */\n  Interactable.prototype.dropzone = function (this: Interact.Interactable, options?: Interact.DropzoneOptions | boolean) {\n    return dropzoneMethod(this, options)\n  }\n\n  /**\n   * ```js\n   * interact(target)\n   * .dropChecker(function(dragEvent,         // related dragmove or dragend event\n   *                       event,             // TouchEvent/PointerEvent/MouseEvent\n   *                       dropped,           // bool result of the default checker\n   *                       dropzone,          // dropzone Interactable\n   *                       dropElement,       // dropzone elemnt\n   *                       draggable,         // draggable Interactable\n   *                       draggableElement) {// draggable element\n   *\n   *   return dropped && event.target.hasAttribute('allow-drop')\n   * }\n   * ```\n   */\n  Interactable.prototype.dropCheck = function (this: Interact.Interactable, dragEvent, event, draggable, draggableElement, dropElement, rect) {\n    return dropCheckMethod(this, dragEvent, event, draggable, draggableElement, dropElement, rect)\n  }\n\n  /**\n   * Returns or sets whether the dimensions of dropzone elements are calculated\n   * on every dragmove or only on dragstart for the default dropChecker\n   *\n   * @param {boolean} [newValue] True to check on each move. False to check only\n   * before start\n   * @return {boolean | interact} The current setting or interact\n   */\n  interact.dynamicDrop = function (newValue?: boolean) {\n    if (utils.is.bool(newValue)) {\n      // if (dragging && scope.dynamicDrop !== newValue && !newValue) {\n      //  calcRects(dropzones)\n      // }\n\n      scope.dynamicDrop = newValue\n\n      return interact\n    }\n    return scope.dynamicDrop\n  }\n\n  utils.extend(actions.phaselessTypes, {\n    dragenter: true,\n    dragleave: true,\n    dropactivate: true,\n    dropdeactivate: true,\n    dropmove: true,\n    drop: true,\n  })\n  actions.methodDict.drop = 'dropzone'\n\n  scope.dynamicDrop = false\n\n  defaults.actions.drop = drop.defaults\n}\n\nfunction collectDrops ({ interactables }, draggableElement) {\n  const drops = []\n\n  // collect all dropzones and their elements which qualify for a drop\n  for (const dropzone of interactables.list) {\n    if (!dropzone.options.drop.enabled) { continue }\n\n    const accept = dropzone.options.drop.accept\n\n    // test the draggable draggableElement against the dropzone's accept setting\n    if ((utils.is.element(accept) && accept !== draggableElement) ||\n        (utils.is.string(accept) &&\n        !utils.dom.matchesSelector(draggableElement, accept)) ||\n        (utils.is.func(accept) && !accept({ dropzone, draggableElement }))) {\n      continue\n    }\n\n    // query for new elements if necessary\n    const dropElements = utils.is.string(dropzone.target)\n      ? dropzone._context.querySelectorAll(dropzone.target)\n      : utils.is.array(dropzone.target) ? dropzone.target : [dropzone.target]\n\n    for (const dropzoneElement of dropElements) {\n      if (dropzoneElement !== draggableElement) {\n        drops.push({\n          dropzone,\n          element: dropzoneElement,\n        })\n      }\n    }\n  }\n\n  return drops\n}\n\nfunction fireActivationEvents (activeDrops, event) {\n  // loop through all active dropzones and trigger event\n  for (const { dropzone, element } of activeDrops.slice()) {\n    event.dropzone = dropzone\n\n    // set current element as event target\n    event.target = element\n    dropzone.fire(event)\n    event.propagationStopped = event.immediatePropagationStopped = false\n  }\n}\n\n// return a new array of possible drops. getActiveDrops should always be\n// called when a drag has just started or a drag event happens while\n// dynamicDrop is true\nfunction getActiveDrops (scope: Scope, dragElement: Interact.Element) {\n  // get dropzones and their elements that could receive the draggable\n  const activeDrops = collectDrops(scope, dragElement)\n\n  for (const activeDrop of activeDrops) {\n    activeDrop.rect = activeDrop.dropzone.getRect(activeDrop.element)\n  }\n\n  return activeDrops\n}\n\nfunction getDrop ({ dropState, interactable: draggable, element: dragElement }: Partial<Interact.Interaction>, dragEvent, pointerEvent) {\n  const validDrops = []\n\n  // collect all dropzones and their elements which qualify for a drop\n  for (const { dropzone, element: dropzoneElement, rect } of dropState.activeDrops) {\n    validDrops.push(dropzone.dropCheck(dragEvent, pointerEvent, draggable, dragElement, dropzoneElement, rect)\n      ? dropzoneElement\n      : null)\n  }\n\n  // get the most appropriate dropzone based on DOM depth and order\n  const dropIndex = utils.dom.indexOfDeepestElement(validDrops)\n\n  return dropState.activeDrops[dropIndex] || null\n}\n\nfunction getDropEvents (interaction: Interact.Interaction, _pointerEvent, dragEvent) {\n  const { dropState } = interaction\n  const dropEvents = {\n    enter     : null,\n    leave     : null,\n    activate  : null,\n    deactivate: null,\n    move      : null,\n    drop      : null,\n  }\n\n  if (dragEvent.type === 'dragstart') {\n    dropEvents.activate = new DropEvent(dropState, dragEvent, 'dropactivate')\n\n    dropEvents.activate.target   = null\n    dropEvents.activate.dropzone = null\n  }\n  if (dragEvent.type === 'dragend') {\n    dropEvents.deactivate = new DropEvent(dropState, dragEvent, 'dropdeactivate')\n\n    dropEvents.deactivate.target   = null\n    dropEvents.deactivate.dropzone = null\n  }\n\n  if (dropState.rejected) {\n    return dropEvents\n  }\n\n  if (dropState.cur.element !== dropState.prev.element) {\n    // if there was a previous dropzone, create a dragleave event\n    if (dropState.prev.dropzone) {\n      dropEvents.leave = new DropEvent(dropState, dragEvent, 'dragleave')\n\n      dragEvent.dragLeave    = dropEvents.leave.target   = dropState.prev.element\n      dragEvent.prevDropzone = dropEvents.leave.dropzone = dropState.prev.dropzone\n    }\n    // if dropzone is not null, create a dragenter event\n    if (dropState.cur.dropzone) {\n      dropEvents.enter = new DropEvent(dropState, dragEvent, 'dragenter')\n\n      dragEvent.dragEnter = dropState.cur.element\n      dragEvent.dropzone = dropState.cur.dropzone\n    }\n  }\n\n  if (dragEvent.type === 'dragend' && dropState.cur.dropzone) {\n    dropEvents.drop = new DropEvent(dropState, dragEvent, 'drop')\n\n    dragEvent.dropzone = dropState.cur.dropzone\n    dragEvent.relatedTarget = dropState.cur.element\n  }\n  if (dragEvent.type === 'dragmove' && dropState.cur.dropzone) {\n    dropEvents.move = new DropEvent(dropState, dragEvent, 'dropmove')\n\n    dropEvents.move.dragmove = dragEvent\n    dragEvent.dropzone = dropState.cur.dropzone\n  }\n\n  return dropEvents\n}\n\nfunction fireDropEvents (interaction: Interact.Interaction, events) {\n  const { dropState } = interaction\n  const {\n    activeDrops,\n    cur,\n    prev,\n  } = dropState\n\n  if (events.leave) { prev.dropzone.fire(events.leave) }\n  if (events.move) { cur.dropzone.fire(events.move) }\n  if (events.enter) { cur.dropzone.fire(events.enter) }\n  if (events.drop) { cur.dropzone.fire(events.drop) }\n\n  if (events.deactivate) {\n    fireActivationEvents(activeDrops, events.deactivate)\n  }\n\n  dropState.prev.dropzone  = cur.dropzone\n  dropState.prev.element = cur.element\n}\n\nfunction onEventCreated ({ interaction, iEvent, event }: Interact.DoPhaseArg<'drag', Interact.EventPhase>, scope) {\n  if (iEvent.type !== 'dragmove' && iEvent.type !== 'dragend') { return }\n\n  const { dropState } = interaction\n\n  if (scope.dynamicDrop) {\n    dropState.activeDrops = getActiveDrops(scope, interaction.element)\n  }\n\n  const dragEvent = iEvent\n  const dropResult = getDrop(interaction, dragEvent, event)\n\n  // update rejected status\n  dropState.rejected = dropState.rejected &&\n    !!dropResult &&\n    dropResult.dropzone === dropState.cur.dropzone &&\n    dropResult.element === dropState.cur.element\n\n  dropState.cur.dropzone  = dropResult && dropResult.dropzone\n  dropState.cur.element = dropResult && dropResult.element\n\n  dropState.events = getDropEvents(interaction, event, dragEvent)\n}\n\nfunction dropzoneMethod (interactable: Interact.Interactable): Interact.DropzoneOptions\nfunction dropzoneMethod (interactable: Interact.Interactable, options: Interact.DropzoneOptions | boolean)\nfunction dropzoneMethod (interactable: Interact.Interactable, options?: Interact.DropzoneOptions | boolean) {\n  if (utils.is.object(options)) {\n    interactable.options.drop.enabled = options.enabled !== false\n\n    if (options.listeners) {\n      const normalized = utils.normalizeListeners(options.listeners)\n      // rename 'drop' to '' as it will be prefixed with 'drop'\n      const corrected = Object.keys(normalized).reduce((acc, type) => {\n        const correctedType = /^(enter|leave)/.test(type)\n          ? `drag${type}`\n          : /^(activate|deactivate|move)/.test(type)\n            ? `drop${type}`\n            : type\n\n        acc[correctedType] = normalized[type]\n\n        return acc\n      }, {})\n\n      interactable.off(interactable.options.drop.listeners)\n      interactable.on(corrected)\n      interactable.options.drop.listeners = corrected\n    }\n\n    if (utils.is.func(options.ondrop)) { interactable.on('drop', options.ondrop) }\n    if (utils.is.func(options.ondropactivate)) { interactable.on('dropactivate', options.ondropactivate) }\n    if (utils.is.func(options.ondropdeactivate)) { interactable.on('dropdeactivate', options.ondropdeactivate) }\n    if (utils.is.func(options.ondragenter)) { interactable.on('dragenter', options.ondragenter) }\n    if (utils.is.func(options.ondragleave)) { interactable.on('dragleave', options.ondragleave) }\n    if (utils.is.func(options.ondropmove)) { interactable.on('dropmove', options.ondropmove) }\n\n    if (/^(pointer|center)$/.test(options.overlap as string)) {\n      interactable.options.drop.overlap = options.overlap\n    }\n    else if (utils.is.number(options.overlap)) {\n      interactable.options.drop.overlap = Math.max(Math.min(1, options.overlap), 0)\n    }\n    if ('accept' in options) {\n      interactable.options.drop.accept = options.accept\n    }\n    if ('checker' in options) {\n      interactable.options.drop.checker = options.checker\n    }\n\n    return interactable\n  }\n\n  if (utils.is.bool(options)) {\n    interactable.options.drop.enabled = options\n\n    return interactable\n  }\n\n  return interactable.options.drop\n}\n\nfunction dropCheckMethod (\n  interactable: Interact.Interactable,\n  dragEvent: InteractEvent,\n  event: Interact.PointerEventType,\n  draggable: Interact.Interactable,\n  draggableElement: Interact.Element,\n  dropElement: Interact.Element,\n  rect: any,\n) {\n  let dropped = false\n\n  // if the dropzone has no rect (eg. display: none)\n  // call the custom dropChecker or just return false\n  if (!(rect = rect || interactable.getRect(dropElement))) {\n    return (interactable.options.drop.checker\n      ? interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement)\n      : false)\n  }\n\n  const dropOverlap = interactable.options.drop.overlap\n\n  if (dropOverlap === 'pointer') {\n    const origin = utils.getOriginXY(draggable, draggableElement, 'drag')\n    const page = utils.pointer.getPageXY(dragEvent)\n\n    page.x += origin.x\n    page.y += origin.y\n\n    const horizontal = (page.x > rect.left) && (page.x < rect.right)\n    const vertical   = (page.y > rect.top) && (page.y < rect.bottom)\n\n    dropped = horizontal && vertical\n  }\n\n  const dragRect = draggable.getRect(draggableElement)\n\n  if (dragRect && dropOverlap === 'center') {\n    const cx = dragRect.left + dragRect.width  / 2\n    const cy = dragRect.top  + dragRect.height / 2\n\n    dropped = cx >= rect.left && cx <= rect.right && cy >= rect.top && cy <= rect.bottom\n  }\n\n  if (dragRect && utils.is.number(dropOverlap)) {\n    const overlapArea  = (Math.max(0, Math.min(rect.right, dragRect.right) - Math.max(rect.left, dragRect.left)) *\n                          Math.max(0, Math.min(rect.bottom, dragRect.bottom) - Math.max(rect.top, dragRect.top)))\n\n    const overlapRatio = overlapArea / (dragRect.width * dragRect.height)\n\n    dropped = overlapRatio >= dropOverlap\n  }\n\n  if (interactable.options.drop.checker) {\n    dropped = interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement)\n  }\n\n  return dropped\n}\n\nconst drop: Interact.Plugin = {\n  id: 'actions/drop',\n  install,\n  listeners: {\n    'interactions:before-action-start': ({ interaction }) => {\n      if (interaction.prepared.name !== 'drag') { return }\n\n      interaction.dropState = {\n        cur: {\n          dropzone: null,\n          element: null,\n        },\n        prev: {\n          dropzone: null,\n          element: null,\n        },\n        rejected: null,\n        events: null,\n        activeDrops: [],\n      }\n    },\n\n    'interactions:after-action-start': ({ interaction, event, iEvent: dragEvent }: Interact.DoPhaseArg<'drag', Interact.EventPhase>, scope) => {\n      if (interaction.prepared.name !== 'drag') { return }\n\n      const { dropState } = interaction\n\n      // reset active dropzones\n      dropState.activeDrops = null\n      dropState.events = null\n      dropState.activeDrops = getActiveDrops(scope, interaction.element)\n      dropState.events = getDropEvents(interaction, event, dragEvent)\n\n      if (dropState.events.activate) {\n        fireActivationEvents(dropState.activeDrops, dropState.events.activate)\n        scope.fire('actions/drop:start', { interaction, dragEvent })\n      }\n    },\n\n    // FIXME proper signal types\n    'interactions:action-move': onEventCreated,\n    'interactions:action-end': onEventCreated,\n\n    'interactions:after-action-move': function fireDropAfterMove ({ interaction, iEvent: dragEvent }: Interact.DoPhaseArg<'drag', Interact.EventPhase>, scope) {\n      if (interaction.prepared.name !== 'drag') { return }\n\n      fireDropEvents(interaction, interaction.dropState.events)\n\n      scope.fire('actions/drop:move', { interaction, dragEvent })\n      interaction.dropState.events = {}\n    },\n\n    'interactions:after-action-end': ({ interaction, iEvent: dragEvent }: Interact.DoPhaseArg<'drag', Interact.EventPhase>, scope) => {\n      if (interaction.prepared.name !== 'drag') { return }\n\n      fireDropEvents(interaction, interaction.dropState.events)\n      scope.fire('actions/drop:end', { interaction, dragEvent })\n    },\n\n    'interactions:stop': ({ interaction }) => {\n      if (interaction.prepared.name !== 'drag') { return }\n\n      const { dropState } = interaction\n\n      if (dropState) {\n        dropState.activeDrops = null\n        dropState.events = null\n        dropState.cur.dropzone = null\n        dropState.cur.element = null\n        dropState.prev.dropzone = null\n        dropState.prev.element = null\n        dropState.rejected = false\n      }\n    },\n  },\n  getActiveDrops,\n  getDrop,\n  getDropEvents,\n  fireDropEvents,\n  defaults: {\n    enabled: false,\n    accept : null,\n    overlap: 'pointer',\n  } as Interact.DropzoneOptions,\n}\n\nexport default drop\n","import * as utils from '@interactjs/utils/index'\n\nexport type GesturableMethod = Interact.ActionMethod<Interact.GesturableOptions>\n\ndeclare module '@interactjs/core/Interaction' {\n  interface Interaction {\n    gesture?: {\n      angle: number           // angle from first to second touch\n      distance: number\n      scale: number           // gesture.distance / gesture.startDistance\n      startAngle: number      // angle of line joining two touches\n      startDistance: number   // distance between two touches of touchStart\n    }\n  }\n}\n\ndeclare module '@interactjs/core/Interactable' {\n  interface Interactable {\n    gesturable: GesturableMethod\n  }\n}\n\ndeclare module '@interactjs/core/defaultOptions' {\n  interface ActionDefaults {\n    gesture: Interact.GesturableOptions\n  }\n}\n\ndeclare module '@interactjs/core/scope' {\n  interface ActionMap {\n    gesture?: typeof gesture\n  }\n}\n\nexport interface GestureEvent extends Interact.InteractEvent<'gesture'> {\n  distance: number\n  angle: number\n  da: number // angle change\n  scale: number // ratio of distance start to current event\n  ds: number // scale change\n  box: Interact.Rect // enclosing box of all points\n  touches: Interact.PointerType[]\n}\n\nexport interface GestureSignalArg extends Interact.DoPhaseArg<'gesture', Interact.EventPhase> {\n  iEvent: GestureEvent\n  interaction: Interact.Interaction<'gesture'>\n}\n\nfunction install (scope: Interact.Scope) {\n  const {\n    actions,\n    Interactable,\n    defaults,\n  } = scope\n\n  /**\n   * ```js\n   * interact(element).gesturable({\n   *     onstart: function (event) {},\n   *     onmove : function (event) {},\n   *     onend  : function (event) {},\n   *\n   *     // limit multiple gestures.\n   *     // See the explanation in {@link Interactable.draggable} example\n   *     max: Infinity,\n   *     maxPerElement: 1,\n   * })\n   *\n   * var isGestureable = interact(element).gesturable()\n   * ```\n   *\n   * Gets or sets whether multitouch gestures can be performed on the target\n   *\n   * @param {boolean | object} [options] true/false or An object with event\n   * listeners to be fired on gesture events (makes the Interactable gesturable)\n   * @return {boolean | Interactable} A boolean indicating if this can be the\n   * target of gesture events, or this Interactable\n   */\n  Interactable.prototype.gesturable = function (this: Interact.Interactable, options: Interact.GesturableOptions | boolean) {\n    if (utils.is.object(options)) {\n      this.options.gesture.enabled = options.enabled !== false\n      this.setPerAction('gesture', options)\n      this.setOnEvents('gesture', options)\n\n      return this\n    }\n\n    if (utils.is.bool(options)) {\n      this.options.gesture.enabled = options\n\n      return this\n    }\n\n    return this.options.gesture as Interact.Options\n  } as GesturableMethod\n\n  actions.map.gesture = gesture\n  actions.methodDict.gesture = 'gesturable'\n\n  defaults.actions.gesture = gesture.defaults\n}\n\nfunction updateGestureProps ({ interaction, iEvent, phase }: GestureSignalArg) {\n  if (interaction.prepared.name !== 'gesture') { return }\n\n  const pointers = interaction.pointers.map(p => p.pointer)\n  const starting = phase === 'start'\n  const ending = phase === 'end'\n  const deltaSource = interaction.interactable.options.deltaSource\n\n  iEvent.touches = [pointers[0], pointers[1]]\n\n  if (starting) {\n    iEvent.distance = utils.pointer.touchDistance(pointers, deltaSource)\n    iEvent.box      = utils.pointer.touchBBox(pointers)\n    iEvent.scale    = 1\n    iEvent.ds       = 0\n    iEvent.angle    = utils.pointer.touchAngle(pointers, deltaSource)\n    iEvent.da       = 0\n\n    interaction.gesture.startDistance = iEvent.distance\n    interaction.gesture.startAngle = iEvent.angle\n  }\n  else if (ending) {\n    const prevEvent = interaction.prevEvent as GestureEvent\n\n    iEvent.distance = prevEvent.distance\n    iEvent.box      = prevEvent.box\n    iEvent.scale    = prevEvent.scale\n    iEvent.ds       = 0\n    iEvent.angle    = prevEvent.angle\n    iEvent.da       = 0\n  }\n  else {\n    iEvent.distance = utils.pointer.touchDistance(pointers, deltaSource)\n    iEvent.box      = utils.pointer.touchBBox(pointers)\n    iEvent.scale    = iEvent.distance / interaction.gesture.startDistance\n    iEvent.angle    = utils.pointer.touchAngle(pointers, deltaSource)\n\n    iEvent.ds = iEvent.scale - interaction.gesture.scale\n    iEvent.da = iEvent.angle - interaction.gesture.angle\n  }\n\n  interaction.gesture.distance = iEvent.distance\n  interaction.gesture.angle = iEvent.angle\n\n  if (utils.is.number(iEvent.scale) &&\n      iEvent.scale !== Infinity &&\n      !isNaN(iEvent.scale)) {\n    interaction.gesture.scale = iEvent.scale\n  }\n}\n\nconst gesture: Interact.Plugin = {\n  id: 'actions/gesture',\n  before: ['actions/drag', 'actions/resize'],\n  install,\n  listeners: {\n    'interactions:action-start': updateGestureProps,\n    'interactions:action-move': updateGestureProps,\n    'interactions:action-end': updateGestureProps,\n\n    'interactions:new': ({ interaction }) => {\n      interaction.gesture = {\n        angle: 0,\n        distance: 0,\n        scale: 1,\n        startAngle: 0,\n        startDistance: 0,\n      }\n    },\n\n    'auto-start:check': arg => {\n      if (arg.interaction.pointers.length < 2) {\n        return undefined\n      }\n\n      const gestureOptions = arg.interactable.options.gesture\n\n      if (!(gestureOptions && gestureOptions.enabled)) {\n        return undefined\n      }\n\n      arg.action = { name: 'gesture' }\n\n      return false\n    },\n  },\n\n  defaults: {\n  },\n\n  getCursor () {\n    return ''\n  },\n}\n\nexport default gesture\n","import { Interaction } from '@interactjs/core/Interaction'\nimport Scope from '@interactjs/core/scope'\nimport * as dom from '@interactjs/utils/domUtils'\nimport extend from '@interactjs/utils/extend'\nimport * as is from '@interactjs/utils/is'\n\nexport type EdgeName = 'top' | 'left' | 'bottom' | 'right'\n\nexport type ResizableMethod = Interact.ActionMethod<Interact.ResizableOptions>\n\ndeclare module '@interactjs/core/Interactable' {\n  interface Interactable {\n    resizable: ResizableMethod\n  }\n}\n\ndeclare module '@interactjs/core/Interaction' {\n  interface Interaction {\n    resizeAxes: 'x' | 'y' | 'xy'\n    resizeStartAspectRatio: number\n  }\n}\n\ndeclare module '@interactjs/core/defaultOptions' {\n  interface ActionDefaults {\n    resize: Interact.ResizableOptions\n  }\n}\n\ndeclare module '@interactjs/core/scope' {\n  interface ActionMap {\n    resize?: typeof resize\n  }\n}\n\nexport interface ResizeEvent<P extends Interact.EventPhase = Interact.EventPhase> extends Interact.InteractEvent<'resize', P> {\n  deltaRect?: Interact.FullRect\n  edges?: Interact.ActionProps['edges']\n}\n\nfunction install (scope: Scope) {\n  const {\n    actions,\n    browser,\n    /** @lends Interactable */\n    Interactable, // tslint:disable-line no-shadowed-variable\n    defaults,\n  } = scope\n\n  // Less Precision with touch input\n\n  resize.cursors = initCursors(browser)\n  resize.defaultMargin = browser.supportsTouch || browser.supportsPointerEvent ? 20 : 10\n\n  /**\n   * ```js\n   * interact(element).resizable({\n   *   onstart: function (event) {},\n   *   onmove : function (event) {},\n   *   onend  : function (event) {},\n   *\n   *   edges: {\n   *     top   : true,       // Use pointer coords to check for resize.\n   *     left  : false,      // Disable resizing from left edge.\n   *     bottom: '.resize-s',// Resize if pointer target matches selector\n   *     right : handleEl    // Resize if pointer target is the given Element\n   *   },\n   *\n   *     // Width and height can be adjusted independently. When `true`, width and\n   *     // height are adjusted at a 1:1 ratio.\n   *     square: false,\n   *\n   *     // Width and height can be adjusted independently. When `true`, width and\n   *     // height maintain the aspect ratio they had when resizing started.\n   *     preserveAspectRatio: false,\n   *\n   *   // a value of 'none' will limit the resize rect to a minimum of 0x0\n   *   // 'negate' will allow the rect to have negative width/height\n   *   // 'reposition' will keep the width/height positive by swapping\n   *   // the top and bottom edges and/or swapping the left and right edges\n   *   invert: 'none' || 'negate' || 'reposition'\n   *\n   *   // limit multiple resizes.\n   *   // See the explanation in the {@link Interactable.draggable} example\n   *   max: Infinity,\n   *   maxPerElement: 1,\n   * })\n   *\n   * var isResizeable = interact(element).resizable()\n   * ```\n   *\n   * Gets or sets whether resize actions can be performed on the target\n   *\n   * @param {boolean | object} [options] true/false or An object with event\n   * listeners to be fired on resize events (object makes the Interactable\n   * resizable)\n   * @return {boolean | Interactable} A boolean indicating if this can be the\n   * target of resize elements, or this Interactable\n   */\n  Interactable.prototype.resizable = function (this: Interact.Interactable, options: Interact.ResizableOptions | boolean) {\n    return resizable(this, options, scope)\n  } as ResizableMethod\n\n  actions.map.resize = resize\n  actions.methodDict.resize = 'resizable'\n\n  defaults.actions.resize = resize.defaults\n}\n\nfunction resizeChecker (arg) {\n  const { interaction, interactable, element, rect, buttons } = arg\n\n  if (!rect) { return undefined }\n\n  const page = extend({}, interaction.coords.cur.page)\n  const resizeOptions = interactable.options.resize\n\n  if (\n    !(resizeOptions && resizeOptions.enabled) ||\n    // check mouseButton setting if the pointer is down\n    (interaction.pointerIsDown &&\n     /mouse|pointer/.test(interaction.pointerType) &&\n   (buttons & resizeOptions.mouseButtons) === 0)\n  ) {\n    return undefined\n  }\n\n  // if using resize.edges\n  if (is.object(resizeOptions.edges)) {\n    const resizeEdges = {\n      left: false,\n      right: false,\n      top: false,\n      bottom: false,\n    }\n\n    for (const edge in resizeEdges) {\n      resizeEdges[edge] = checkResizeEdge(edge,\n        resizeOptions.edges[edge],\n        page,\n        interaction._latestPointer.eventTarget,\n        element,\n        rect,\n        resizeOptions.margin || resize.defaultMargin)\n    }\n\n    resizeEdges.left = resizeEdges.left && !resizeEdges.right\n    resizeEdges.top  = resizeEdges.top  && !resizeEdges.bottom\n\n    if (resizeEdges.left || resizeEdges.right || resizeEdges.top || resizeEdges.bottom) {\n      arg.action = {\n        name: 'resize',\n        edges: resizeEdges,\n      }\n    }\n  }\n  else {\n    const right  = resizeOptions.axis !== 'y' && page.x > (rect.right  - resize.defaultMargin)\n    const bottom = resizeOptions.axis !== 'x' && page.y > (rect.bottom - resize.defaultMargin)\n\n    if (right || bottom) {\n      arg.action = {\n        name: 'resize',\n        axes: (right ? 'x' : '') + (bottom ? 'y' : ''),\n      }\n    }\n  }\n\n  return arg.action ? false : undefined\n}\n\nfunction resizable (interactable: Interact.Interactable, options: Interact.OrBoolean<Interact.ResizableOptions> | boolean, scope: Scope) {\n  if (is.object(options)) {\n    interactable.options.resize.enabled = options.enabled !== false\n    interactable.setPerAction('resize', options)\n    interactable.setOnEvents('resize', options)\n\n    if (is.string(options.axis) && /^x$|^y$|^xy$/.test(options.axis)) {\n      interactable.options.resize.axis = options.axis\n    }\n    else if (options.axis === null) {\n      interactable.options.resize.axis = scope.defaults.actions.resize.axis\n    }\n\n    if (is.bool(options.preserveAspectRatio)) {\n      interactable.options.resize.preserveAspectRatio = options.preserveAspectRatio\n    }\n    else if (is.bool(options.square)) {\n      interactable.options.resize.square = options.square\n    }\n\n    return interactable\n  }\n  if (is.bool(options)) {\n    interactable.options.resize.enabled = options\n\n    return interactable\n  }\n  return interactable.options.resize\n}\n\nfunction checkResizeEdge (\n  name: string,\n  value: any,\n  page: Interact.Point,\n  element: Node,\n  interactableElement: Interact.Element,\n  rect: Interact.Rect,\n  margin: number,\n) {\n  // false, '', undefined, null\n  if (!value) { return false }\n\n  // true value, use pointer coords and element rect\n  if (value === true) {\n    // if dimensions are negative, \"switch\" edges\n    const width  = is.number(rect.width) ? rect.width  : rect.right  - rect.left\n    const height = is.number(rect.height) ? rect.height : rect.bottom - rect.top\n\n    // don't use margin greater than half the relevent dimension\n    margin = Math.min(margin, (name === 'left' || name === 'right' ? width : height) / 2)\n\n    if (width < 0) {\n      if      (name === 'left')  { name = 'right' }\n      else if (name === 'right') { name = 'left'  }\n    }\n    if (height < 0) {\n      if      (name === 'top')    { name = 'bottom' }\n      else if (name === 'bottom') { name = 'top'    }\n    }\n\n    if (name === 'left') { return page.x < ((width  >= 0 ? rect.left : rect.right) + margin) }\n    if (name === 'top') { return page.y < ((height >= 0 ? rect.top : rect.bottom) + margin) }\n\n    if (name === 'right') { return page.x > ((width  >= 0 ? rect.right : rect.left) - margin) }\n    if (name === 'bottom') { return page.y > ((height >= 0 ? rect.bottom : rect.top) - margin) }\n  }\n\n  // the remaining checks require an element\n  if (!is.element(element)) { return false }\n\n  return is.element(value)\n  // the value is an element to use as a resize handle\n    ? value === element\n    // otherwise check if element matches value as selector\n    : dom.matchesUpTo(element, value, interactableElement)\n}\n\nfunction initCursors (browser: typeof import ('@interactjs/utils/browser').default) {\n  return (browser.isIe9 ? {\n    x : 'e-resize',\n    y : 's-resize',\n    xy: 'se-resize',\n\n    top        : 'n-resize',\n    left       : 'w-resize',\n    bottom     : 's-resize',\n    right      : 'e-resize',\n    topleft    : 'se-resize',\n    bottomright: 'se-resize',\n    topright   : 'ne-resize',\n    bottomleft : 'ne-resize',\n  } : {\n    x : 'ew-resize',\n    y : 'ns-resize',\n    xy: 'nwse-resize',\n\n    top        : 'ns-resize',\n    left       : 'ew-resize',\n    bottom     : 'ns-resize',\n    right      : 'ew-resize',\n    topleft    : 'nwse-resize',\n    bottomright: 'nwse-resize',\n    topright   : 'nesw-resize',\n    bottomleft : 'nesw-resize',\n  })\n}\n\nfunction start ({ iEvent, interaction }: { iEvent: Interact.InteractEvent<any, any>, interaction: Interaction }) {\n  if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) {\n    return\n  }\n\n  const resizeEvent = iEvent as ResizeEvent\n  const rect = interaction.rect\n\n  interaction._rects = {\n    start: extend({}, rect),\n    corrected: extend({}, rect),\n    previous: extend({}, rect),\n    delta: {\n      left: 0,\n      right : 0,\n      width : 0,\n      top : 0,\n      bottom: 0,\n      height: 0,\n    },\n  }\n\n  resizeEvent.edges = interaction.prepared.edges\n  resizeEvent.rect = interaction._rects.corrected\n  resizeEvent.deltaRect = interaction._rects.delta\n}\n\nfunction move ({ iEvent, interaction }: { iEvent: Interact.InteractEvent<any, any>, interaction: Interaction }) {\n  if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) { return }\n\n  const resizeEvent = iEvent as ResizeEvent\n  const resizeOptions = interaction.interactable.options.resize\n  const invert = resizeOptions.invert\n  const invertible = invert === 'reposition' || invert === 'negate'\n\n  // eslint-disable-next-line no-shadow\n  const current = interaction.rect\n  const { start: startRect, corrected, delta: deltaRect, previous } = interaction._rects\n\n  extend(previous, corrected)\n\n  if (invertible) {\n    // if invertible, copy the current rect\n    extend(corrected, current)\n\n    if (invert === 'reposition') {\n      // swap edge values if necessary to keep width/height positive\n      if (corrected.top > corrected.bottom) {\n        const swap = corrected.top\n\n        corrected.top = corrected.bottom\n        corrected.bottom = swap\n      }\n      if (corrected.left > corrected.right) {\n        const swap = corrected.left\n\n        corrected.left = corrected.right\n        corrected.right = swap\n      }\n    }\n  }\n  else {\n    // if not invertible, restrict to minimum of 0x0 rect\n    corrected.top    = Math.min(current.top, startRect.bottom)\n    corrected.bottom = Math.max(current.bottom, startRect.top)\n    corrected.left   = Math.min(current.left, startRect.right)\n    corrected.right  = Math.max(current.right, startRect.left)\n  }\n\n  corrected.width  = corrected.right  - corrected.left\n  corrected.height = corrected.bottom - corrected.top\n\n  for (const edge in corrected) {\n    deltaRect[edge] = corrected[edge] - previous[edge]\n  }\n\n  resizeEvent.edges = interaction.prepared.edges\n  resizeEvent.rect = corrected\n  resizeEvent.deltaRect = deltaRect\n}\n\nfunction end ({ iEvent, interaction }: { iEvent: Interact.InteractEvent<any, any>, interaction: Interaction }) {\n  if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) { return }\n\n  const resizeEvent = iEvent as ResizeEvent\n\n  resizeEvent.edges = interaction.prepared.edges\n  resizeEvent.rect = interaction._rects.corrected\n  resizeEvent.deltaRect = interaction._rects.delta\n}\n\nfunction updateEventAxes ({ iEvent, interaction }: { iEvent: Interact.InteractEvent<any, any>, interaction: Interaction }) {\n  if (interaction.prepared.name !== 'resize' || !interaction.resizeAxes) { return }\n\n  const options = interaction.interactable.options\n  const resizeEvent = iEvent as ResizeEvent\n\n  if (options.resize.square) {\n    if (interaction.resizeAxes === 'y') {\n      resizeEvent.delta.x = resizeEvent.delta.y\n    }\n    else {\n      resizeEvent.delta.y = resizeEvent.delta.x\n    }\n    resizeEvent.axes = 'xy'\n  }\n  else {\n    resizeEvent.axes = interaction.resizeAxes\n\n    if (interaction.resizeAxes === 'x') {\n      resizeEvent.delta.y = 0\n    }\n    else if (interaction.resizeAxes === 'y') {\n      resizeEvent.delta.x = 0\n    }\n  }\n}\n\nconst resize: Interact.Plugin = {\n  id: 'actions/resize',\n  before: ['actions/drag'],\n  install,\n  listeners: {\n    'interactions:new': ({ interaction }) => {\n      interaction.resizeAxes = 'xy'\n    },\n\n    'interactions:action-start': arg => {\n      start(arg)\n      updateEventAxes(arg)\n    },\n    'interactions:action-move': arg => {\n      move(arg)\n      updateEventAxes(arg)\n    },\n    'interactions:action-end': end,\n    'auto-start:check': resizeChecker,\n  },\n\n  defaults: {\n    square: false,\n    preserveAspectRatio: false,\n    axis: 'xy',\n\n    // use default margin\n    margin: NaN,\n\n    // object with props left, right, top, bottom which are\n    // true/false values to resize when the pointer is over that edge,\n    // CSS selectors to match the handles for each direction\n    // or the Elements for each handle\n    edges: null,\n\n    // a value of 'none' will limit the resize rect to a minimum of 0x0\n    // 'negate' will alow the rect to have negative width/height\n    // 'reposition' will keep the width/height positive by swapping\n    // the top and bottom edges and/or swapping the left and right edges\n    invert: 'none',\n  } as Interact.ResizableOptions,\n\n  cursors: null as ReturnType<typeof initCursors>,\n\n  getCursor ({ edges, axis, name }: Interact.ActionProps) {\n    const cursors = resize.cursors\n    let result: string = null\n\n    if (axis) {\n      result = cursors[name + axis]\n    }\n    else if (edges) {\n      let cursorKey = ''\n\n      for (const edge of ['top', 'bottom', 'left', 'right']) {\n        if (edges[edge]) {\n          cursorKey += edge\n        }\n      }\n\n      result = cursors[cursorKey]\n    }\n\n    return result\n  },\n\n  defaultMargin: null as number,\n}\n\nexport default resize\n","import Scope from '@interactjs/core/scope'\nimport drag from './drag'\nimport drop from './drop/index'\nimport gesture from './gesture'\nimport resize from './resize'\n\nexport default {\n  id: 'actions',\n  install (scope: Scope) {\n    scope.usePlugin(gesture)\n    scope.usePlugin(resize)\n    scope.usePlugin(drag)\n    scope.usePlugin(drop)\n  },\n}\n\nexport {\n  gesture,\n  resize,\n  drag,\n  drop,\n}\n","export type ArrangeEvent = {}\nexport type ArrangeMode = {}\n\nexport default {}\n","import * as domUtils from '@interactjs/utils/domUtils'\nimport * as is from '@interactjs/utils/is'\nimport raf from '@interactjs/utils/raf'\nimport { getStringOptionResult } from '@interactjs/utils/rect'\nimport { getWindow } from '@interactjs/utils/window'\n\ntype Scope = import ('@interactjs/core/scope').Scope\n\ndeclare module '@interactjs/core/scope' {\n  interface Scope {\n    autoScroll: typeof autoScroll\n  }\n}\n\ndeclare module '@interactjs/core/Interaction' {\n  interface Interaction {\n    autoScroll?: typeof autoScroll\n  }\n}\n\ndeclare module '@interactjs/core/defaultOptions' {\n  interface PerActionDefaults {\n    autoScroll?: AutoScrollOptions\n  }\n}\n\nexport interface AutoScrollOptions {\n  container?: Window | HTMLElement\n  margin?: number\n  distance?: number\n  interval?: number\n  speed?: number\n  enabled?: boolean\n}\n\nfunction install (scope: Scope) {\n  const {\n    defaults,\n    actions,\n  } = scope\n\n  scope.autoScroll = autoScroll\n  autoScroll.now = () => scope.now()\n\n  actions.phaselessTypes.autoscroll = true\n  defaults.perAction.autoScroll = autoScroll.defaults\n}\n\nconst autoScroll = {\n  defaults: {\n    enabled  : false,\n    margin   : 60,\n\n    // the item that is scrolled (Window or HTMLElement)\n    container: null as AutoScrollOptions['container'],\n\n    // the scroll speed in pixels per second\n    speed    : 300,\n  } as AutoScrollOptions,\n\n  now: Date.now,\n\n  interaction: null as Interact.Interaction,\n  i: 0, // the handle returned by window.setInterval\n\n  // Direction each pulse is to scroll in\n  x: 0,\n  y: 0,\n\n  isScrolling: false,\n  prevTime: 0,\n  margin: 0,\n  speed: 0,\n\n  start (interaction: Interact.Interaction) {\n    autoScroll.isScrolling = true\n    raf.cancel(autoScroll.i)\n\n    interaction.autoScroll = autoScroll\n    autoScroll.interaction = interaction\n    autoScroll.prevTime = autoScroll.now()\n    autoScroll.i = raf.request(autoScroll.scroll)\n  },\n\n  stop () {\n    autoScroll.isScrolling = false\n    if (autoScroll.interaction) {\n      autoScroll.interaction.autoScroll = null\n    }\n    raf.cancel(autoScroll.i)\n  },\n\n  // scroll the window by the values in scroll.x/y\n  scroll () {\n    const { interaction } = autoScroll\n    const { interactable, element } = interaction\n    const actionName = interaction.prepared.name\n    const options = interactable.options[actionName].autoScroll\n    const container = getContainer(options.container, interactable, element)\n    const now = autoScroll.now()\n    // change in time in seconds\n    const dt = (now - autoScroll.prevTime) / 1000\n    // displacement\n    const s = options.speed * dt\n\n    if (s >= 1) {\n      const scrollBy = {\n        x: autoScroll.x * s,\n        y: autoScroll.y * s,\n      }\n\n      if (scrollBy.x || scrollBy.y) {\n        const prevScroll = getScroll(container)\n\n        if (is.window(container)) {\n          container.scrollBy(scrollBy.x, scrollBy.y)\n        }\n        else if (container) {\n          container.scrollLeft += scrollBy.x\n          container.scrollTop  += scrollBy.y\n        }\n\n        const curScroll = getScroll(container)\n        const delta = {\n          x: curScroll.x - prevScroll.x,\n          y: curScroll.y - prevScroll.y,\n        }\n\n        if (delta.x || delta.y) {\n          interactable.fire({\n            type: 'autoscroll',\n            target: element,\n            interactable,\n            delta,\n            interaction,\n            container,\n          })\n        }\n      }\n\n      autoScroll.prevTime = now\n    }\n\n    if (autoScroll.isScrolling) {\n      raf.cancel(autoScroll.i)\n      autoScroll.i = raf.request(autoScroll.scroll)\n    }\n  },\n  check (interactable: Interact.Interactable, actionName: Interact.ActionName) {\n    const options = interactable.options\n\n    return options[actionName].autoScroll && options[actionName].autoScroll.enabled\n  },\n  onInteractionMove<T extends Interact.ActionName> ({ interaction, pointer }: { interaction: Interact.Interaction<T>, pointer: Interact.PointerType }) {\n    if (!(interaction.interacting() &&\n          autoScroll.check(interaction.interactable, interaction.prepared.name))) {\n      return\n    }\n\n    if (interaction.simulation) {\n      autoScroll.x = autoScroll.y = 0\n      return\n    }\n\n    let top\n    let right\n    let bottom\n    let left\n\n    const { interactable, element } = interaction\n    const actionName = interaction.prepared.name\n    const options = interactable.options[actionName].autoScroll\n    const container = getContainer(options.container, interactable, element)\n\n    if (is.window(container)) {\n      left   = pointer.clientX < autoScroll.margin\n      top    = pointer.clientY < autoScroll.margin\n      right  = pointer.clientX > container.innerWidth  - autoScroll.margin\n      bottom = pointer.clientY > container.innerHeight - autoScroll.margin\n    }\n    else {\n      const rect = domUtils.getElementClientRect(container)\n\n      left   = pointer.clientX < rect.left   + autoScroll.margin\n      top    = pointer.clientY < rect.top    + autoScroll.margin\n      right  = pointer.clientX > rect.right  - autoScroll.margin\n      bottom = pointer.clientY > rect.bottom - autoScroll.margin\n    }\n\n    autoScroll.x = (right ? 1 : left ? -1 : 0)\n    autoScroll.y = (bottom ? 1 :  top ? -1 : 0)\n\n    if (!autoScroll.isScrolling) {\n      // set the autoScroll properties to those of the target\n      autoScroll.margin = options.margin\n      autoScroll.speed  = options.speed\n\n      autoScroll.start(interaction)\n    }\n  },\n}\n\nexport function getContainer (value: any, interactable: Interact.Interactable, element: Interact.Element) {\n  return (is.string(value) ? getStringOptionResult(value, interactable, element) : value) || getWindow(element)\n}\n\nexport function getScroll (container: any) {\n  if (is.window(container)) { container = window.document.body }\n\n  return { x: container.scrollLeft, y: container.scrollTop }\n}\n\nexport function getScrollSize (container: any) {\n  if (is.window(container)) { container = window.document.body }\n\n  return { x: container.scrollWidth, y: container.scrollHeight }\n}\n\nexport function getScrollSizeDelta<T extends Interact.ActionName> ({ interaction, element }: {\n  interaction: Partial<Interact.Interaction<T>>\n  element: Interact.Element\n}, func: any) {\n  const scrollOptions = interaction && interaction.interactable.options[interaction.prepared.name].autoScroll\n\n  if (!scrollOptions || !scrollOptions.enabled) {\n    func()\n    return { x: 0, y: 0 }\n  }\n\n  const scrollContainer = getContainer(\n    scrollOptions.container,\n    interaction.interactable,\n    element,\n  )\n\n  const prevSize = getScroll(scrollContainer)\n  func()\n  const curSize = getScroll(scrollContainer)\n\n  return {\n    x: curSize.x - prevSize.x,\n    y: curSize.y - prevSize.y,\n  }\n}\n\nconst autoScrollPlugin: Interact.Plugin = {\n  id: 'auto-scroll',\n  install,\n  listeners: {\n    'interactions:new': ({ interaction }) => {\n      interaction.autoScroll = null\n    },\n\n    'interactions:destroy': ({ interaction }) => {\n      interaction.autoScroll = null\n      autoScroll.stop()\n      if (autoScroll.interaction) {\n        autoScroll.interaction = null\n      }\n    },\n\n    'interactions:stop': autoScroll.stop,\n\n    'interactions:action-move': (arg: any) => autoScroll.onInteractionMove(arg),\n  },\n}\n\nexport default autoScrollPlugin\n","import { warnOnce } from '@interactjs/utils/index'\nimport * as is from '@interactjs/utils/is'\n\ndeclare module '@interactjs/core/Interactable' {\n  interface Interactable {\n    getAction: (\n      this: Interact.Interactable,\n      pointer: Interact.PointerType,\n      event: Interact.PointerEventType,\n      interaction: Interact.Interaction,\n      element: Interact.Element,\n    ) => Interact.ActionProps | null\n    styleCursor: typeof styleCursor\n    actionChecker: typeof actionChecker\n    ignoreFrom: {\n      (...args: any[]): Interactable\n      (): boolean\n    }\n    allowFrom: {\n      (...args: any[]): Interactable\n      (): boolean\n    }\n  }\n}\n\nfunction install (scope: Interact.Scope) {\n  const {\n    /** @lends Interactable */\n    Interactable, // tslint:disable-line no-shadowed-variable\n  } = scope\n\n  Interactable.prototype.getAction = function getAction (\n    this: Interact.Interactable,\n    pointer: Interact.PointerType,\n    event: Interact.PointerEventType,\n    interaction: Interact.Interaction,\n    element: Interact.Element,\n  ): Interact.ActionProps {\n    const action = defaultActionChecker(this, event, interaction, element, scope)\n\n    if (this.options.actionChecker) {\n      return this.options.actionChecker(pointer, event, action, this, element, interaction)\n    }\n\n    return action\n  }\n\n  /**\n   * ```js\n   * interact(element, { ignoreFrom: document.getElementById('no-action') })\n   * // or\n   * interact(element).ignoreFrom('input, textarea, a')\n   * ```\n   * @deprecated\n   * If the target of the `mousedown`, `pointerdown` or `touchstart` event or any\n   * of it's parents match the given CSS selector or Element, no\n   * drag/resize/gesture is started.\n   *\n   * Don't use this method. Instead set the `ignoreFrom` option for each action\n   * or for `pointerEvents`\n   *\n   * @example\n   * interact(targett)\n   *   .draggable({\n   *     ignoreFrom: 'input, textarea, a[href]'',\n   *   })\n   *   .pointerEvents({\n   *     ignoreFrom: '[no-pointer]',\n   *   })\n   *\n   * @param {string | Element | null} [newValue] a CSS selector string, an\n   * Element or `null` to not ignore any elements\n   * @return {string | Element | object} The current ignoreFrom value or this\n   * Interactable\n   */\n  Interactable.prototype.ignoreFrom = warnOnce(function (this: Interact.Interactable, newValue) {\n    return this._backCompatOption('ignoreFrom', newValue)\n  }, 'Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue}).')\n\n  /**\n   * @deprecated\n   *\n   * A drag/resize/gesture is started only If the target of the `mousedown`,\n   * `pointerdown` or `touchstart` event or any of it's parents match the given\n   * CSS selector or Element.\n   *\n   * Don't use this method. Instead set the `allowFrom` option for each action\n   * or for `pointerEvents`\n   *\n   * @example\n   * interact(targett)\n   *   .resizable({\n   *     allowFrom: '.resize-handle',\n   *   .pointerEvents({\n   *     allowFrom: '.handle',,\n   *   })\n   *\n   * @param {string | Element | null} [newValue] a CSS selector string, an\n   * Element or `null` to allow from any element\n   * @return {string | Element | object} The current allowFrom value or this\n   * Interactable\n   */\n  Interactable.prototype.allowFrom = warnOnce(function (this: Interact.Interactable, newValue) {\n    return this._backCompatOption('allowFrom', newValue)\n  }, 'Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue}).')\n\n  /**\n   * ```js\n   * interact('.resize-drag')\n   *   .resizable(true)\n   *   .draggable(true)\n   *   .actionChecker(function (pointer, event, action, interactable, element, interaction) {\n   *\n   *   if (interact.matchesSelector(event.target, '.drag-handle')) {\n   *     // force drag with handle target\n   *     action.name = drag\n   *   }\n   *   else {\n   *     // resize from the top and right edges\n   *     action.name  = 'resize'\n   *     action.edges = { top: true, right: true }\n   *   }\n   *\n   *   return action\n   * })\n   * ```\n   *\n   * Returns or sets the function used to check action to be performed on\n   * pointerDown\n   *\n   * @param {function | null} [checker] A function which takes a pointer event,\n   * defaultAction string, interactable, element and interaction as parameters\n   * and returns an object with name property 'drag' 'resize' or 'gesture' and\n   * optionally an `edges` object with boolean 'top', 'left', 'bottom' and right\n   * props.\n   * @return {Function | Interactable} The checker function or this Interactable\n   */\n  Interactable.prototype.actionChecker = actionChecker\n\n  /**\n   * Returns or sets whether the the cursor should be changed depending on the\n   * action that would be performed if the mouse were pressed and dragged.\n   *\n   * @param {boolean} [newValue]\n   * @return {boolean | Interactable} The current setting or this Interactable\n   */\n  Interactable.prototype.styleCursor = styleCursor\n}\n\nfunction defaultActionChecker (\n  interactable: Interact.Interactable,\n  event: Interact.PointerEventType,\n  interaction: Interact.Interaction,\n  element: Interact.Element,\n  scope: Interact.Scope,\n) {\n  const rect = interactable.getRect(element)\n  const buttons = (event as MouseEvent).buttons || ({\n    0: 1,\n    1: 4,\n    3: 8,\n    4: 16,\n  })[(event as MouseEvent).button as 0 | 1 | 3 | 4]\n  const arg = {\n    action: null,\n    interactable,\n    interaction,\n    element,\n    rect,\n    buttons,\n  }\n\n  scope.fire('auto-start:check', arg)\n\n  return arg.action\n}\n\nfunction styleCursor (this: Interact.Interactable): boolean\nfunction styleCursor (this: Interact.Interactable, newValue: boolean): typeof this\nfunction styleCursor (this: Interact.Interactable, newValue?: boolean) {\n  if (is.bool(newValue)) {\n    this.options.styleCursor = newValue\n\n    return this\n  }\n\n  if (newValue === null) {\n    delete this.options.styleCursor\n\n    return this\n  }\n\n  return this.options.styleCursor\n}\n\nfunction actionChecker (this: Interact.Interactable, checker: any) {\n  if (is.func(checker)) {\n    this.options.actionChecker = checker\n\n    return this\n  }\n\n  if (checker === null) {\n    delete this.options.actionChecker\n\n    return this\n  }\n\n  return this.options.actionChecker\n}\n\nexport default {\n  id: 'auto-start/interactableMethods',\n  install,\n}\n","import * as utils from '@interactjs/utils/index'\nimport InteractableMethods from './InteractableMethods'\n\ndeclare module '@interactjs/core/InteractStatic' {\n  interface InteractStatic {\n    maxInteractions: (newValue: any) => any\n  }\n}\n\ndeclare module '@interactjs/core/scope' {\n  interface Scope {\n    autoStart: AutoStart\n    maxInteractions: (...args: any[]) => any\n  }\n\n  interface SignalArgs {\n    'autoStart:before-start': Interact.SignalArgs['interactions:move']\n    'autoStart:prepared': { interaction: Interact.Interaction }\n    'auto-start:check': CheckSignalArg\n  }\n}\n\ndeclare module '@interactjs/core/defaultOptions' {\n  interface BaseDefaults {\n    actionChecker?: any\n    cursorChecker?: any\n    styleCursor?: any\n  }\n\n  interface PerActionDefaults {\n    manualStart?: boolean\n    max?: number\n    maxPerElement?: number\n    allowFrom?: string | Interact.Element\n    ignoreFrom?: string | Interact.Element\n    cursorChecker?: Interact.CursorChecker\n\n    // only allow left button by default\n    // see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons#Return_value\n    mouseButtons?: 0 | 1 | 2 | 4 | 16\n  }\n}\n\ninterface CheckSignalArg {\n  interactable: Interact.Interactable\n  interaction: Interact.Interaction\n  element: Interact.Element\n  action: Interact.ActionProps\n  buttons: number\n}\n\nexport interface AutoStart {\n  // Allow this many interactions to happen simultaneously\n  maxInteractions: number\n  withinInteractionLimit: typeof withinInteractionLimit\n  cursorElement: Interact.Element\n}\n\nfunction install (scope: Interact.Scope) {\n  const {\n    interactStatic: interact,\n    defaults,\n  } = scope\n\n  scope.usePlugin(InteractableMethods)\n\n  defaults.base.actionChecker = null\n  defaults.base.styleCursor = true\n\n  utils.extend(defaults.perAction, {\n    manualStart: false,\n    max: Infinity,\n    maxPerElement: 1,\n    allowFrom:  null,\n    ignoreFrom: null,\n\n    // only allow left button by default\n    // see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons#Return_value\n    mouseButtons: 1,\n  })\n\n  /**\n   * Returns or sets the maximum number of concurrent interactions allowed.  By\n   * default only 1 interaction is allowed at a time (for backwards\n   * compatibility). To allow multiple interactions on the same Interactables and\n   * elements, you need to enable it in the draggable, resizable and gesturable\n   * `'max'` and `'maxPerElement'` options.\n   *\n   * @alias module:interact.maxInteractions\n   *\n   * @param {number} [newValue] Any number. newValue <= 0 means no interactions.\n   */\n  interact.maxInteractions = newValue => maxInteractions(newValue, scope)\n\n  scope.autoStart = {\n    // Allow this many interactions to happen simultaneously\n    maxInteractions: Infinity,\n    withinInteractionLimit,\n    cursorElement: null,\n  }\n}\n\nfunction prepareOnDown ({ interaction, pointer, event, eventTarget }: Interact.SignalArgs['interactions:down'], scope: Interact.Scope) {\n  if (interaction.interacting()) { return }\n\n  const actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope)\n  prepare(interaction, actionInfo, scope)\n}\n\nfunction prepareOnMove ({ interaction, pointer, event, eventTarget }: Interact.SignalArgs['interactions:move'], scope: Interact.Scope) {\n  if (interaction.pointerType !== 'mouse' ||\n      interaction.pointerIsDown ||\n      interaction.interacting()) { return }\n\n  const actionInfo = getActionInfo(interaction, pointer, event, eventTarget as Interact.Element, scope)\n  prepare(interaction, actionInfo, scope)\n}\n\nfunction startOnMove (arg: Interact.SignalArgs['interactions:move'], scope: Interact.Scope) {\n  const { interaction } = arg\n\n  if (!interaction.pointerIsDown ||\n      interaction.interacting() ||\n      !interaction.pointerWasMoved ||\n      !interaction.prepared.name) {\n    return\n  }\n\n  scope.fire('autoStart:before-start', arg)\n\n  const { interactable } = interaction\n  const actionName = interaction.prepared.name\n\n  if (actionName && interactable) {\n    // check manualStart and interaction limit\n    if (interactable.options[actionName].manualStart ||\n        !withinInteractionLimit(interactable, interaction.element, interaction.prepared, scope)) {\n      interaction.stop()\n    }\n    else {\n      interaction.start(interaction.prepared, interactable, interaction.element)\n      setInteractionCursor(interaction, scope)\n    }\n  }\n}\n\nfunction clearCursorOnStop ({ interaction }: { interaction: Interact.Interaction }, scope: Interact.Scope) {\n  const { interactable } = interaction\n\n  if (interactable && interactable.options.styleCursor) {\n    setCursor(interaction.element, '', scope)\n  }\n}\n\n// Check if the current interactable supports the action.\n// If so, return the validated action. Otherwise, return null\nfunction validateAction<T extends Interact.ActionName> (\n  action: Interact.ActionProps<T>,\n  interactable: Interact.Interactable,\n  element: Interact.Element,\n  eventTarget: Interact.EventTarget,\n  scope: Interact.Scope,\n) {\n  if (interactable.testIgnoreAllow(interactable.options[action.name], element, eventTarget) &&\n      interactable.options[action.name].enabled &&\n      withinInteractionLimit(interactable, element, action, scope)) {\n    return action\n  }\n\n  return null\n}\n\nfunction validateMatches (\n  interaction: Interact.Interaction,\n  pointer: Interact.PointerType,\n  event: Interact.PointerEventType,\n  matches: Interact.Interactable[],\n  matchElements: Interact.Element[],\n  eventTarget: Interact.EventTarget,\n  scope: Interact.Scope,\n) {\n  for (let i = 0, len = matches.length; i < len; i++) {\n    const match = matches[i]\n    const matchElement = matchElements[i]\n    const matchAction = match.getAction(pointer, event, interaction, matchElement)\n\n    if (!matchAction) { continue }\n\n    const action = validateAction(\n      matchAction,\n      match,\n      matchElement,\n      eventTarget,\n      scope)\n\n    if (action) {\n      return {\n        action,\n        interactable: match,\n        element: matchElement,\n      }\n    }\n  }\n\n  return { action: null, interactable: null, element: null }\n}\n\nfunction getActionInfo (\n  interaction: Interact.Interaction,\n  pointer: Interact.PointerType,\n  event: Interact.PointerEventType,\n  eventTarget: Interact.EventTarget,\n  scope: Interact.Scope,\n) {\n  let matches: Interact.Interactable[] = []\n  let matchElements: Interact.Element[] = []\n\n  let element = eventTarget as Interact.Element\n\n  function pushMatches (interactable: Interact.Interactable) {\n    matches.push(interactable)\n    matchElements.push(element)\n  }\n\n  while (utils.is.element(element)) {\n    matches = []\n    matchElements = []\n\n    scope.interactables.forEachMatch(element, pushMatches)\n\n    const actionInfo = validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope)\n\n    if (actionInfo.action &&\n      !actionInfo.interactable.options[actionInfo.action.name].manualStart) {\n      return actionInfo\n    }\n\n    element = utils.dom.parentNode(element) as Interact.Element\n  }\n\n  return { action: null, interactable: null, element: null }\n}\n\nfunction prepare (\n  interaction: Interact.Interaction,\n  { action, interactable, element }: {\n    action: Interact.ActionProps\n    interactable: Interact.Interactable\n    element: Interact.Element\n  },\n  scope: Interact.Scope,\n) {\n  action = action || { name: null }\n\n  interaction.interactable = interactable\n  interaction.element = element\n  utils.copyAction(interaction.prepared, action)\n\n  interaction.rect = interactable && action.name\n    ? interactable.getRect(element)\n    : null\n\n  setInteractionCursor(interaction, scope)\n\n  scope.fire('autoStart:prepared', { interaction })\n}\n\nfunction withinInteractionLimit<T extends Interact.ActionName> (\n  interactable: Interact.Interactable,\n  element: Interact.Element,\n  action: Interact.ActionProps<T>,\n  scope: Interact.Scope,\n) {\n  const options = interactable.options\n  const maxActions = options[action.name].max\n  const maxPerElement = options[action.name].maxPerElement\n  const autoStartMax = scope.autoStart.maxInteractions\n  let activeInteractions = 0\n  let interactableCount = 0\n  let elementCount = 0\n\n  // no actions if any of these values == 0\n  if (!(maxActions && maxPerElement && autoStartMax)) { return false }\n\n  for (const interaction of scope.interactions.list) {\n    const otherAction = interaction.prepared.name\n\n    if (!interaction.interacting()) { continue }\n\n    activeInteractions++\n\n    if (activeInteractions >= autoStartMax) {\n      return false\n    }\n\n    if (interaction.interactable !== interactable) { continue }\n\n    interactableCount += otherAction === action.name ? 1 : 0\n\n    if (interactableCount >= maxActions) {\n      return false\n    }\n\n    if (interaction.element === element) {\n      elementCount++\n\n      if (otherAction === action.name && elementCount >= maxPerElement) {\n        return false\n      }\n    }\n  }\n\n  return autoStartMax > 0\n}\n\nfunction maxInteractions (newValue: any, scope: Interact.Scope) {\n  if (utils.is.number(newValue)) {\n    scope.autoStart.maxInteractions = newValue\n\n    return this\n  }\n\n  return scope.autoStart.maxInteractions\n}\n\nfunction setCursor (element: Interact.Element, cursor: string, scope: Interact.Scope) {\n  const { cursorElement: prevCursorElement } = scope.autoStart\n\n  if (prevCursorElement && prevCursorElement !== element) {\n    prevCursorElement.style.cursor = ''\n  }\n\n  element.ownerDocument.documentElement.style.cursor = cursor\n  element.style.cursor = cursor\n  scope.autoStart.cursorElement = cursor ? element : null\n}\n\nfunction setInteractionCursor<T extends Interact.ActionName> (interaction: Interact.Interaction<T>, scope: Interact.Scope) {\n  const { interactable, element, prepared } = interaction\n\n  if (!(interaction.pointerType === 'mouse' && interactable && interactable.options.styleCursor)) {\n    // clear previous target element cursor\n    if (scope.autoStart.cursorElement) {\n      setCursor(scope.autoStart.cursorElement, '', scope)\n    }\n\n    return\n  }\n\n  let cursor = ''\n\n  if (prepared.name) {\n    const cursorChecker: Interact.CursorChecker = interactable.options[prepared.name].cursorChecker\n\n    if (utils.is.func(cursorChecker)) {\n      cursor = cursorChecker(prepared, interactable, element, interaction._interacting)\n    }\n    else {\n      cursor = scope.actions.map[prepared.name].getCursor(prepared)\n    }\n  }\n\n  setCursor(interaction.element, cursor || '', scope)\n}\n\nconst autoStart: Interact.Plugin = {\n  id: 'auto-start/base',\n  before: ['actions', 'actions/drag', 'actions/resize', 'actions/gesture'],\n  install,\n  listeners: {\n    'interactions:down': prepareOnDown,\n    'interactions:move': (arg, scope) => {\n      prepareOnMove(arg, scope)\n      startOnMove(arg, scope)\n    },\n    'interactions:stop': clearCursorOnStop,\n  },\n  maxInteractions,\n  withinInteractionLimit,\n  validateAction,\n} as Interact.Plugin\n\nexport default autoStart\n","import { parentNode } from '@interactjs/utils/domUtils'\nimport * as is from '@interactjs/utils/is'\nimport autoStart from './base'\n\nfunction beforeStart ({ interaction, eventTarget, dx, dy }: Interact.SignalArgs['interactions:move'], scope: Interact.Scope) {\n  if (interaction.prepared.name !== 'drag') { return }\n\n  // check if a drag is in the correct axis\n  const absX = Math.abs(dx)\n  const absY = Math.abs(dy)\n  const targetOptions = interaction.interactable.options.drag\n  const startAxis = targetOptions.startAxis\n  const currentAxis = (absX > absY ? 'x' : absX < absY ? 'y' : 'xy')\n\n  interaction.prepared.axis = targetOptions.lockAxis === 'start'\n    ? currentAxis[0]  as 'x' | 'y' // always lock to one axis even if currentAxis === 'xy'\n    : targetOptions.lockAxis\n\n  // if the movement isn't in the startAxis of the interactable\n  if (currentAxis !== 'xy' && startAxis !== 'xy' && startAxis !== currentAxis) {\n    // cancel the prepared action\n    interaction.prepared.name = null\n\n    // then try to get a drag from another ineractable\n    let element = eventTarget as Interact.Element\n\n    const getDraggable = function (interactable: Interact.Interactable): Interact.Interactable | void {\n      if (interactable === interaction.interactable) { return }\n\n      const options = interaction.interactable.options.drag\n\n      if (!options.manualStart &&\n          interactable.testIgnoreAllow(options, element, eventTarget)) {\n        const action = interactable.getAction(\n          interaction.downPointer, interaction.downEvent, interaction, element)\n\n        if (action &&\n            action.name === 'drag' &&\n            checkStartAxis(currentAxis, interactable) &&\n            autoStart.validateAction(action, interactable, element, eventTarget, scope)) {\n          return interactable\n        }\n      }\n    }\n\n    // check all interactables\n    while (is.element(element)) {\n      const interactable = scope.interactables.forEachMatch(element, getDraggable)\n\n      if (interactable) {\n        interaction.prepared.name = 'drag'\n        interaction.interactable = interactable\n        interaction.element = element\n        break\n      }\n\n      element = parentNode(element) as Interact.Element\n    }\n  }\n}\n\nfunction checkStartAxis (startAxis: string, interactable: Interact.Interactable) {\n  if (!interactable) { return false }\n\n  const thisAxis = interactable.options.drag.startAxis\n\n  return (startAxis === 'xy' || thisAxis === 'xy' || thisAxis === startAxis)\n}\n\nexport default {\n  id: 'auto-start/dragAxis',\n  listeners: { 'autoStart:before-start': beforeStart },\n}\n","import basePlugin from './base'\n\ndeclare module '@interactjs/core/defaultOptions' {\n  interface PerActionDefaults {\n    hold?: number\n    delay?: number\n  }\n}\n\ndeclare module '@interactjs/core/Interaction' {\n  interface Interaction {\n    autoStartHoldTimer?: any\n  }\n}\n\nfunction install (scope: Interact.Scope) {\n  const {\n    defaults,\n  } = scope\n\n  scope.usePlugin(basePlugin)\n\n  defaults.perAction.hold = 0\n  defaults.perAction.delay = 0\n}\n\nfunction getHoldDuration (interaction) {\n  const actionName = interaction.prepared && interaction.prepared.name\n\n  if (!actionName) { return null }\n\n  const options = interaction.interactable.options\n\n  return options[actionName].hold || options[actionName].delay\n}\n\nexport default {\n  id: 'auto-start/hold',\n  install,\n  listeners: {\n    'interactions:new': ({ interaction }) => {\n      interaction.autoStartHoldTimer = null\n    },\n\n    'autoStart:prepared': ({ interaction }) => {\n      const hold = getHoldDuration(interaction)\n\n      if (hold > 0) {\n        interaction.autoStartHoldTimer = setTimeout(() => {\n          interaction.start(interaction.prepared, interaction.interactable, interaction.element)\n        }, hold)\n      }\n    },\n\n    'interactions:move': ({ interaction, duplicate }) => {\n      if (interaction.pointerWasMoved && !duplicate) {\n        clearTimeout(interaction.autoStartHoldTimer)\n      }\n    },\n\n    // prevent regular down->move autoStart\n    'autoStart:before-start': ({ interaction }) => {\n      const hold = getHoldDuration(interaction)\n\n      if (hold > 0) {\n        interaction.prepared.name = null\n      }\n    },\n  },\n  getHoldDuration,\n}\n","import autoStart from './base'\nimport dragAxis from './dragAxis'\nimport hold from './hold'\n\nexport default {\n  id: 'auto-start',\n  install (scope) {\n    scope.usePlugin(autoStart)\n    scope.usePlugin(hold)\n    scope.usePlugin(dragAxis)\n  },\n}\n\nexport {\n  autoStart,\n  hold,\n  dragAxis,\n}\n","export default {}\n","/* eslint-disable no-console */\n/* global process */\nimport domObjects from '@interactjs/utils/domObjects'\nimport { parentNode } from '@interactjs/utils/domUtils'\nimport extend from '@interactjs/utils/extend'\nimport * as is from '@interactjs/utils/is'\nimport win from '@interactjs/utils/window'\nimport visualizer from './visualizer'\n\ndeclare module '@interactjs/core/scope' {\n  interface Scope {\n    logger: Logger\n  }\n}\n\ndeclare module '@interactjs/core/InteractStatic' {\n  interface InteractStatic {\n    visializer: typeof visualizer\n  }\n}\n\ndeclare module '@interactjs/core/defaultOptions' {\n  interface BaseDefaults {\n    devTools?: DevToolsOptions\n  }\n}\n\ndeclare module '@interactjs/core/Interactable' {\n  interface Interactable {\n    devTools?: Interact.OptionMethod<DevToolsOptions>\n  }\n}\n\nexport interface DevToolsOptions {\n  ignore: { [P in keyof typeof CheckName]?: boolean }\n}\n\nexport interface Logger {\n  warn: (...args: any[]) => void\n  error: (...args: any[]) => void\n  log: (...args: any[]) => void\n}\n\nexport interface Check {\n  name: CheckName\n  text: string\n  perform: (interaction: Interact.Interaction) => boolean\n  getInfo: (interaction: Interact.Interaction) => any[]\n}\n\nenum CheckName {\n  touchAction = 'touchAction',\n  boxSizing = 'boxSizing',\n  noListeners = 'noListeners',\n}\n\nconst prefix  = '[interact.js] '\nconst links = {\n  touchAction: 'https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action',\n  boxSizing: 'https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing',\n}\n\nconst isProduction = process.env.NODE_ENV === 'production'\n\n// eslint-disable-next-line no-restricted-syntax\nfunction install (scope: Interact.Scope, { logger }: { logger?: Logger } = {}) {\n  const {\n    Interactable,\n    defaults,\n  } = scope\n\n  scope.logger = logger || console\n\n  defaults.base.devTools = {\n    ignore: {},\n  }\n\n  Interactable.prototype.devTools = function (options?: object) {\n    if (options) {\n      extend(this.options.devTools, options)\n      return this\n    }\n\n    return this.options.devTools\n  }\n}\n\nconst checks: Check[] = [\n  {\n    name: CheckName.touchAction,\n    perform ({ element }) {\n      return !parentHasStyle(element, 'touchAction', /pan-|pinch|none/)\n    },\n    getInfo ({ element }) {\n      return [\n        element,\n        links.touchAction,\n      ]\n    },\n    text: 'Consider adding CSS \"touch-action: none\" to this element\\n',\n  },\n\n  {\n    name: CheckName.boxSizing,\n    perform (interaction) {\n      const { element } = interaction\n\n      return interaction.prepared.name === 'resize' &&\n        element instanceof domObjects.HTMLElement &&\n        !hasStyle(element, 'boxSizing', /border-box/)\n    },\n    text: 'Consider adding CSS \"box-sizing: border-box\" to this resizable element',\n    getInfo ({ element }) {\n      return [\n        element,\n        links.boxSizing,\n      ]\n    },\n  },\n\n  {\n    name: CheckName.noListeners,\n    perform (interaction) {\n      const actionName = interaction.prepared.name\n      const moveListeners = interaction.interactable.events.types[`${actionName}move`] || []\n\n      return !moveListeners.length\n    },\n    getInfo (interaction) {\n      return [\n        interaction.prepared.name,\n        interaction.interactable,\n      ]\n    },\n    text: 'There are no listeners set for this action',\n  },\n]\n\nfunction hasStyle (element: HTMLElement, prop: keyof CSSStyleDeclaration, styleRe: RegExp) {\n  return styleRe.test(element.style[prop] || win.window.getComputedStyle(element)[prop])\n}\n\nfunction parentHasStyle (element: Interact.Element, prop: keyof CSSStyleDeclaration, styleRe: RegExp) {\n  let parent = element as HTMLElement\n\n  while (is.element(parent)) {\n    if (hasStyle(parent, prop, styleRe)) {\n      return true\n    }\n\n    parent = parentNode(parent) as HTMLElement\n  }\n\n  return false\n}\n\nconst id = 'dev-tools'\nconst defaultExport: Interact.Plugin = isProduction\n  ? { id, install: () => {} }\n  : {\n    id,\n    install,\n    listeners: {\n      'interactions:action-start': ({ interaction }, scope) => {\n        for (const check of checks) {\n          const options = interaction.interactable && interaction.interactable.options\n\n          if (\n            !(options && options.devTools && options.devTools.ignore[check.name]) &&\n            check.perform(interaction)\n          ) {\n            scope.logger.warn(prefix + check.text, ...check.getInfo(interaction))\n          }\n        }\n      },\n    },\n    checks,\n    CheckName,\n    links,\n    prefix,\n  }\n\nexport default defaultExport\n","import clone from '@interactjs/utils/clone'\nimport extend from '@interactjs/utils/extend'\nimport * as rectUtils from '@interactjs/utils/rect'\nimport { Modifier, ModifierArg, ModifierState } from './base'\n\nexport interface ModificationResult {\n  delta: Interact.Point\n  rectDelta: Interact.Rect\n  coords: Interact.Point\n  rect: Interact.FullRect\n  eventProps: any[]\n  changed: boolean\n}\n\ninterface MethodArg {\n  phase: Interact.EventPhase\n  pageCoords?: Interact.Point\n  rect?: Interact.FullRect\n  coords?: Interact.Point\n  preEnd?: boolean\n  skipModifiers?: number\n}\n\nexport default class Modification {\n  states: ModifierState[] = []\n  startOffset: Interact.Rect = { left: 0, right: 0, top: 0, bottom: 0 }\n  startDelta: Interact.Point = null\n  result?: ModificationResult = null\n  endResult?: Interact.Point = null\n  edges: Interact.EdgeOptions\n\n  constructor (readonly interaction: Readonly<Interact.Interaction>) {\n    this.result = createResult()\n  }\n\n  start (\n    { phase }: MethodArg,\n    pageCoords: Interact.Point,\n  ) {\n    const { interaction } = this\n    const modifierList = getModifierList(interaction)\n    this.prepareStates(modifierList)\n\n    this.edges = extend({}, interaction.edges)\n    this.startOffset = getRectOffset(interaction.rect, pageCoords)\n    this.startDelta = { x: 0, y: 0 }\n\n    const arg: MethodArg = {\n      phase,\n      pageCoords,\n      preEnd: false,\n    }\n\n    this.result = createResult()\n    this.startAll(arg)\n\n    const result = this.result = this.setAll(arg)\n\n    return result\n  }\n\n  fillArg (arg: Partial<ModifierArg>) {\n    const { interaction } = this\n\n    arg.interaction = interaction\n    arg.interactable = interaction.interactable\n    arg.element = interaction.element\n    arg.rect = arg.rect || interaction.rect\n    arg.edges = this.edges\n    arg.startOffset = this.startOffset\n  }\n\n  startAll (arg: MethodArg & Partial<ModifierArg>) {\n    this.fillArg(arg)\n\n    for (const state of this.states) {\n      if (state.methods.start) {\n        arg.state = state\n        state.methods.start(arg as ModifierArg)\n      }\n    }\n  }\n\n  setAll (arg: MethodArg & Partial<ModifierArg>): ModificationResult {\n    this.fillArg(arg)\n\n    const {\n      phase,\n      preEnd,\n      skipModifiers,\n      rect: unmodifiedRect,\n    } = arg\n\n    arg.coords = extend({}, arg.pageCoords)\n    arg.rect = extend({}, unmodifiedRect)\n\n    const states = skipModifiers\n      ? this.states.slice(skipModifiers)\n      : this.states\n\n    const newResult = createResult(arg.coords, arg.rect)\n\n    for (const state of states) {\n      const { options } = state\n      const lastModifierCoords = extend({}, arg.coords)\n      let returnValue = null\n\n      if (state.methods.set && this.shouldDo(options, preEnd, phase)) {\n        arg.state = state\n        returnValue = state.methods.set(arg as ModifierArg)\n\n        rectUtils.addEdges(this.interaction.edges, arg.rect, { x: arg.coords.x - lastModifierCoords.x, y: arg.coords.y - lastModifierCoords.y })\n      }\n\n      newResult.eventProps.push(returnValue)\n    }\n\n    newResult.delta.x = arg.coords.x - arg.pageCoords.x\n    newResult.delta.y = arg.coords.y - arg.pageCoords.y\n\n    newResult.rectDelta.left   = arg.rect.left - unmodifiedRect.left\n    newResult.rectDelta.right  = arg.rect.right - unmodifiedRect.right\n    newResult.rectDelta.top    = arg.rect.top - unmodifiedRect.top\n    newResult.rectDelta.bottom = arg.rect.bottom - unmodifiedRect.bottom\n\n    const prevCoords = this.result.coords\n    const prevRect = this.result.rect\n\n    if (prevCoords && prevRect) {\n      const rectChanged = newResult.rect.left !== prevRect.left ||\n        newResult.rect.right !== prevRect.right ||\n        newResult.rect.top !== prevRect.top ||\n        newResult.rect.bottom !== prevRect.bottom\n\n      newResult.changed = rectChanged ||\n        prevCoords.x !== newResult.coords.x ||\n        prevCoords.y !== newResult.coords.y\n    }\n\n    return newResult\n  }\n\n  applyToInteraction (arg: { phase: Interact.EventPhase, rect?: Interact.Rect }) {\n    const { interaction } = this\n    const { phase } = arg\n    const curCoords = interaction.coords.cur\n    const startCoords = interaction.coords.start\n    const { result, startDelta } = this\n    const curDelta = result.delta\n\n    if (phase === 'start') {\n      extend(this.startDelta, result.delta)\n    }\n\n    for (const [coordsSet, delta] of [[startCoords, startDelta], [curCoords, curDelta]] as const) {\n      coordsSet.page.x   += delta.x\n      coordsSet.page.y   += delta.y\n      coordsSet.client.x += delta.x\n      coordsSet.client.y += delta.y\n    }\n\n    const { rectDelta } = this.result\n    const rect = arg.rect || interaction.rect\n\n    rect.left   += rectDelta.left\n    rect.right  += rectDelta.right\n    rect.top    += rectDelta.top\n    rect.bottom += rectDelta.bottom\n\n    rect.width = rect.right - rect.left\n    rect.height = rect.bottom - rect.top\n  }\n\n  setAndApply (arg: Partial<Interact.DoAnyPhaseArg> & {\n    phase: Interact.EventPhase\n    preEnd?: boolean\n    skipModifiers?: number\n    modifiedCoords?: Interact.Point\n  }): void | false {\n    const { interaction } = this\n    const { phase, preEnd, skipModifiers } = arg\n\n    const result = this.setAll({\n      preEnd,\n      phase,\n      pageCoords: arg.modifiedCoords || interaction.coords.cur.page,\n    })\n\n    this.result = result\n\n    // don't fire an action move if a modifier would keep the event in the same\n    // cordinates as before\n    if (!result.changed && (!skipModifiers || skipModifiers < this.states.length) && interaction.interacting()) {\n      return false\n    }\n\n    if (arg.modifiedCoords) {\n      const { page } = interaction.coords.cur\n      const adjustment = {\n        x: arg.modifiedCoords.x - page.x,\n        y: arg.modifiedCoords.y - page.y,\n      }\n\n      result.coords.x += adjustment.x\n      result.coords.y += adjustment.y\n      result.delta.x += adjustment.x\n      result.delta.y += adjustment.y\n    }\n\n    this.applyToInteraction(arg)\n  }\n\n  beforeEnd (arg: Omit<Interact.DoAnyPhaseArg, 'iEvent'> & { state?: ModifierState }): void | false {\n    const { interaction, event } = arg\n    const states = this.states\n\n    if (!states || !states.length) {\n      return\n    }\n\n    let doPreend = false\n\n    for (const state of states) {\n      arg.state = state\n      const { options, methods } = state\n\n      const endPosition = methods.beforeEnd && methods.beforeEnd(arg as unknown as ModifierArg)\n\n      if (endPosition) {\n        this.endResult = endPosition\n        return false\n      }\n\n      doPreend = doPreend || (!doPreend && this.shouldDo(options, true, arg.phase, true))\n    }\n\n    if (doPreend) {\n      // trigger a final modified move before ending\n      interaction.move({ event, preEnd: true })\n    }\n  }\n\n  stop (arg: { interaction: Interact.Interaction }) {\n    const { interaction } = arg\n\n    if (!this.states || !this.states.length) {\n      return\n    }\n\n    const modifierArg: Partial<ModifierArg> = extend({\n      states: this.states,\n      interactable: interaction.interactable,\n      element: interaction.element,\n      rect: null,\n    }, arg)\n\n    this.fillArg(modifierArg)\n\n    for (const state of this.states) {\n      modifierArg.state = state\n\n      if (state.methods.stop) { state.methods.stop(modifierArg as ModifierArg) }\n    }\n\n    this.states = null\n    this.endResult = null\n  }\n\n  prepareStates (modifierList: Modifier[]) {\n    this.states = []\n\n    for (let index = 0; index < modifierList.length; index++) {\n      const { options, methods, name } = modifierList[index]\n\n      if (options && options.enabled === false) { continue }\n\n      this.states.push({\n        options,\n        methods,\n        index,\n        name,\n      })\n    }\n\n    return this.states\n  }\n\n  restoreInteractionCoords ({ interaction: { coords, rect, modification } }: { interaction: Interact.Interaction }) {\n    if (!modification.result) { return }\n\n    const { startDelta } = modification\n    const { delta: curDelta, rectDelta } = modification.result\n\n    const coordsAndDeltas = [\n      [coords.start, startDelta],\n      [coords.cur, curDelta],\n    ]\n\n    for (const [coordsSet, delta] of coordsAndDeltas as any) {\n      coordsSet.page.x -= delta.x\n      coordsSet.page.y -= delta.y\n      coordsSet.client.x -= delta.x\n      coordsSet.client.y -= delta.y\n    }\n\n    rect.left -= rectDelta.left\n    rect.right -= rectDelta.right\n    rect.top -= rectDelta.top\n    rect.bottom -= rectDelta.bottom\n  }\n\n  shouldDo (options, preEnd?: boolean, phase?: string, requireEndOnly?: boolean) {\n    if (\n      // ignore disabled modifiers\n      (!options || options.enabled === false) ||\n      // check if we require endOnly option to fire move before end\n      (requireEndOnly && !options.endOnly) ||\n      // don't apply endOnly modifiers when not ending\n      (options.endOnly && !preEnd) ||\n      // check if modifier should run be applied on start\n      (phase === 'start' && !options.setStart)\n    ) {\n      return false\n    }\n\n    return true\n  }\n\n  copyFrom (other: Modification) {\n    this.startOffset = other.startOffset\n    this.startDelta = other.startDelta\n    this.edges = other.edges\n    this.states = other.states.map(s => clone(s) as ModifierState)\n    this.result = createResult(extend({}, other.result.coords), extend({}, other.result.rect))\n  }\n\n  destroy () {\n    for (const prop in this) {\n      this[prop] = null\n    }\n  }\n}\n\nfunction createResult (coords?: Interact.Point, rect?: Interact.FullRect): ModificationResult {\n  return {\n    rect,\n    coords,\n    delta: { x: 0, y: 0 },\n    rectDelta: {\n      left  : 0,\n      right : 0,\n      top   : 0,\n      bottom: 0,\n    },\n    eventProps: [],\n    changed: true,\n  }\n}\n\nfunction getModifierList (interaction) {\n  const actionOptions = interaction.interactable.options[interaction.prepared.name]\n  const actionModifiers = actionOptions.modifiers\n\n  if (actionModifiers && actionModifiers.length) {\n    return actionModifiers.filter(\n      modifier => !modifier.options || modifier.options.enabled !== false,\n    )\n  }\n\n  return ['snap', 'snapSize', 'snapEdges', 'restrict', 'restrictEdges', 'restrictSize']\n    .map(type => {\n      const options = actionOptions[type]\n\n      return options && options.enabled && {\n        options,\n        methods: options._methods,\n      }\n    })\n    .filter(m => !!m)\n}\n\nexport function getRectOffset (rect, coords) {\n  return rect\n    ? {\n      left  : coords.x - rect.left,\n      top   : coords.y - rect.top,\n      right : rect.right  - coords.x,\n      bottom: rect.bottom - coords.y,\n    }\n    : {\n      left  : 0,\n      top   : 0,\n      right : 0,\n      bottom: 0,\n    }\n}\n","import Modification from './Modification'\n\ndeclare module '@interactjs/core/Interaction' {\n  interface Interaction {\n    modification?: Modification\n  }\n}\n\ndeclare module '@interactjs/core/InteractEvent' {\n  interface InteractEvent {\n    modifiers?: Array<{\n      name: string\n      [key: string]: any\n    }>\n  }\n}\n\ndeclare module '@interactjs/core/defaultOptions' {\n  interface PerActionDefaults {\n    modifiers?: Modifier[]\n  }\n}\n\nexport interface Modifier<\n  Defaults = any,\n  State extends ModifierState = any,\n  Name extends string = any\n> {\n  options?: Defaults\n  methods: {\n    start?: (arg: ModifierArg<State>) => void\n    set: (arg: ModifierArg<State>) => void\n    beforeEnd?: (arg: ModifierArg<State>) => Interact.Point | void\n    stop?: (arg: ModifierArg<State>) => void\n  }\n  name?: Name\n}\n\nexport type ModifierState<\n  Defaults = {},\n  StateProps extends { [prop: string]: any } = {},\n  Name extends string = any\n> = {\n  options: Defaults\n  methods?: Modifier<Defaults>['methods']\n  index?: number\n  name?: Name\n} & StateProps\n\nexport interface ModifierArg<State extends ModifierState = ModifierState> {\n  interaction: Interact.Interaction\n  interactable: Interact.Interactable\n  phase: Interact.EventPhase\n  rect: Interact.FullRect\n  edges: Interact.EdgeOptions\n  state?: State\n  element: Interact.Element\n  pageCoords?: Interact.Point\n  prevCoords?: Interact.Point\n  prevRect?: Interact.FullRect\n  coords?: Interact.Point\n  startOffset?: Interact.Rect\n  preEnd?: boolean\n}\n\nexport interface ModifierModule<\n  Defaults extends { enabled?: boolean },\n  State extends ModifierState,\n> {\n  defaults?: Defaults\n  start? (arg: ModifierArg<State>): void\n  set? (arg: ModifierArg<State>): any\n  beforeEnd? (arg: ModifierArg<State>): Interact.Point | void\n  stop? (arg: ModifierArg<State>): void\n}\n\nexport interface ModifierFunction <\n  Defaults extends { enabled?: boolean },\n  State extends ModifierState,\n  Name extends string,\n> {\n  (_options?: Partial<Defaults>): Modifier<Defaults, State, Name>\n  _defaults: Defaults\n  _methods: ModifierModule<Defaults, State>\n}\n\nexport function makeModifier<\n  Defaults extends { enabled?: boolean },\n  State extends ModifierState,\n  Name extends string\n> (\n  module: ModifierModule<Defaults, State>,\n  name?: Name,\n) {\n  const { defaults } = module\n  const methods = {\n    start: module.start,\n    set: module.set,\n    beforeEnd: module.beforeEnd,\n    stop: module.stop,\n  }\n\n  const modifier = (_options?: Partial<Defaults>) => {\n    const options: Defaults = (_options || {}) as Defaults\n\n    options.enabled = options.enabled !== false\n\n    // add missing defaults to options\n    for (const prop in defaults) {\n      if (!(prop in options)) {\n        options[prop] = defaults[prop]\n      }\n    }\n\n    const m: Modifier<Defaults, State, Name> = { options, methods, name }\n\n    return m\n  }\n\n  if (name && typeof name === 'string') {\n    // for backwrads compatibility\n    modifier._defaults = defaults\n    modifier._methods = methods\n  }\n\n  return modifier\n}\n\nexport function addEventModifiers ({ iEvent, interaction: { modification: { result } } }: {\n  iEvent: Interact.InteractEvent<Interact.ActionName, Interact.EventPhase>\n  interaction: Interact.Interaction\n}) {\n  if (result) {\n    iEvent.modifiers = result.eventProps\n  }\n}\n\nconst modifiersBase: Interact.Plugin = {\n  id: 'modifiers/base',\n  install: scope => {\n    scope.defaults.perAction.modifiers = []\n  },\n  listeners: {\n    'interactions:new': ({ interaction }) => {\n      interaction.modification = new Modification(interaction)\n    },\n\n    'interactions:before-action-start': arg => {\n      const { modification } = arg.interaction\n\n      modification.start(arg, arg.interaction.coords.start.page)\n      arg.interaction.edges = modification.edges\n      modification.applyToInteraction(arg)\n    },\n\n    'interactions:before-action-move': arg => arg.interaction.modification.setAndApply(arg),\n\n    'interactions:before-action-end': arg => arg.interaction.modification.beforeEnd(arg),\n\n    'interactions:action-start': addEventModifiers,\n    'interactions:action-move': addEventModifiers,\n    'interactions:action-end': addEventModifiers,\n\n    'interactions:after-action-start': arg => arg.interaction.modification.restoreInteractionCoords(arg),\n    'interactions:after-action-move': arg => arg.interaction.modification.restoreInteractionCoords(arg),\n\n    'interactions:stop': arg => arg.interaction.modification.stop(arg),\n  },\n  before: ['actions', 'action/drag', 'actions/resize', 'actions/gesture'],\n}\n\nexport default modifiersBase\n","import { _ProxyMethods } from '@interactjs/core/Interaction'\nimport * as rectUtils from '@interactjs/utils/rect'\n\ndeclare module '@interactjs/core/Interaction' {\n  interface Interaction {\n    offsetBy?: typeof offsetBy\n    offset: {\n      total: Interact.Point\n      pending: Interact.Point\n    }\n  }\n\n  // eslint-disable-next-line no-shadow\n  enum _ProxyMethods {\n    // eslint-disable-next-line no-shadow\n    offsetBy = ''\n  }\n}\n\n(_ProxyMethods as any).offsetBy = ''\n\nexport function addTotal (interaction: Interact.Interaction) {\n  if (!interaction.pointerIsDown) { return }\n\n  addToCoords(interaction.coords.cur, interaction.offset.total)\n\n  interaction.offset.pending.x = 0\n  interaction.offset.pending.y = 0\n}\n\nfunction beforeAction ({ interaction }: { interaction: Interact.Interaction }) {\n  applyPending(interaction)\n}\n\nfunction beforeEnd ({ interaction }: { interaction: Interact.Interaction }): boolean | void {\n  const hadPending = applyPending(interaction)\n\n  if (!hadPending) { return }\n\n  interaction.move({ offset: true })\n  interaction.end()\n\n  return false\n}\n\nfunction end ({ interaction }: { interaction: Interact.Interaction }) {\n  interaction.offset.total.x = 0\n  interaction.offset.total.y = 0\n  interaction.offset.pending.x = 0\n  interaction.offset.pending.y = 0\n}\n\nexport function applyPending (interaction: Interact.Interaction) {\n  if (!hasPending(interaction)) {\n    return false\n  }\n\n  const { pending } = interaction.offset\n\n  addToCoords(interaction.coords.cur, pending)\n  addToCoords(interaction.coords.delta, pending)\n  rectUtils.addEdges(interaction.edges, interaction.rect, pending)\n\n  pending.x = 0\n  pending.y = 0\n\n  return true\n}\n\nfunction offsetBy (this: Interact.Interaction, { x, y }: Interact.Point) {\n  this.offset.pending.x += x\n  this.offset.pending.y += y\n\n  this.offset.total.x += x\n  this.offset.total.y += y\n}\n\nfunction addToCoords ({ page, client }, { x, y }: Interact.Point) {\n  page.x += x\n  page.y += y\n  client.x += x\n  client.y += y\n}\n\nfunction hasPending (interaction) {\n  return !!(interaction.offset.pending.x || interaction.offset.pending.y)\n}\n\nconst offset: Interact.Plugin = {\n  id: 'offset',\n  install (scope) {\n    scope.Interaction.prototype.offsetBy = offsetBy\n  },\n  listeners: {\n    'interactions:new': ({ interaction }) => {\n      interaction.offset = {\n        total: { x: 0, y: 0 },\n        pending: { x: 0, y: 0 },\n      }\n    },\n    'interactions:update-pointer': ({ interaction }) => addTotal(interaction),\n    'interactions:before-action-start': beforeAction,\n    'interactions:before-action-move': beforeAction,\n    'interactions:before-action-end': beforeEnd,\n    'interactions:stop': end,\n  },\n}\n\nexport default offset\n","import Modification from '@interactjs/modifiers/Modification'\nimport * as modifiers from '@interactjs/modifiers/base'\nimport offset from '@interactjs/offset/index'\nimport * as dom from '@interactjs/utils/domUtils'\nimport hypot from '@interactjs/utils/hypot'\nimport * as is from '@interactjs/utils/is'\nimport { copyCoords } from '@interactjs/utils/pointerUtils'\nimport raf from '@interactjs/utils/raf'\n\ndeclare module '@interactjs/core/InteractEvent' {\n  // eslint-disable-next-line no-shadow\n  interface PhaseMap {\n    resume?: true\n    inertiastart?: true\n  }\n}\n\ndeclare module '@interactjs/core/Interaction' {\n  interface Interaction {\n    inertia?: InertiaState\n  }\n}\n\ndeclare module '@interactjs/core/defaultOptions' {\n  interface PerActionDefaults {\n    inertia?: {\n      enabled?: boolean\n      resistance?: number        // the lambda in exponential decay\n      minSpeed?: number          // target speed must be above this for inertia to start\n      endSpeed?: number          // the speed at which inertia is slow enough to stop\n      allowResume?: true         // allow resuming an action in inertia phase\n      smoothEndDuration?: number // animate to snap/restrict endOnly if there's no inertia\n    }\n  }\n}\n\ndeclare module '@interactjs/core/scope' {\n  interface SignalArgs {\n    'interactions:before-action-inertiastart': Omit<Interact.DoPhaseArg<Interact.ActionName, 'inertiastart'>, 'iEvent'>\n    'interactions:action-inertiastart': Interact.DoPhaseArg<Interact.ActionName, 'inertiastart'>\n    'interactions:after-action-inertiastart': Interact.DoPhaseArg<Interact.ActionName, 'inertiastart'>\n    'interactions:before-action-resume': Omit<Interact.DoPhaseArg<Interact.ActionName, 'resume'>, 'iEvent'>\n    'interactions:action-resume': Interact.DoPhaseArg<Interact.ActionName, 'resume'>\n    'interactions:after-action-resume': Interact.DoPhaseArg<Interact.ActionName, 'resume'>\n  }\n}\n\nfunction install (scope: Interact.Scope) {\n  const {\n    defaults,\n  } = scope\n\n  scope.usePlugin(offset)\n  scope.usePlugin(modifiers.default)\n  scope.actions.phases.inertiastart = true\n  scope.actions.phases.resume = true\n\n  defaults.perAction.inertia = {\n    enabled          : false,\n    resistance       : 10,    // the lambda in exponential decay\n    minSpeed         : 100,   // target speed must be above this for inertia to start\n    endSpeed         : 10,    // the speed at which inertia is slow enough to stop\n    allowResume      : true,  // allow resuming an action in inertia phase\n    smoothEndDuration: 300,   // animate to snap/restrict endOnly if there's no inertia\n  }\n}\n\nexport class InertiaState {\n  active = false\n  isModified = false\n  smoothEnd = false\n  allowResume = false\n\n  modification: Modification = null\n  modifierCount = 0\n  modifierArg: modifiers.ModifierArg = null\n\n  startCoords: Interact.Point = null\n  t0 = 0\n  v0 = 0\n\n  te = 0\n  targetOffset: Interact.Point = null\n  modifiedOffset: Interact.Point = null\n  currentOffset: Interact.Point = null\n\n  lambda_v0? = 0 // eslint-disable-line camelcase\n  one_ve_v0? = 0 // eslint-disable-line camelcase\n  timeout: number = null\n\n  constructor (\n    private readonly interaction: Interact.Interaction,\n  ) {}\n\n  start (event: Interact.PointerEventType) {\n    const { interaction } = this\n    const options = getOptions(interaction)\n\n    if (!options || !options.enabled) {\n      return false\n    }\n\n    const { client: velocityClient } = interaction.coords.velocity\n    const pointerSpeed = hypot(velocityClient.x, velocityClient.y)\n    const modification = this.modification || (this.modification = new Modification(interaction))\n\n    modification.copyFrom(interaction.modification)\n\n    this.t0 = interaction._now()\n    this.allowResume = options.allowResume\n    this.v0 = pointerSpeed\n    this.currentOffset = { x: 0, y: 0 }\n    this.startCoords = interaction.coords.cur.page\n\n    this.modifierArg = {\n      interaction,\n      interactable: interaction.interactable,\n      element: interaction.element,\n      rect: interaction.rect,\n      edges: interaction.edges,\n      pageCoords: this.startCoords,\n      preEnd: true,\n      phase: 'inertiastart',\n    }\n\n    const thrown = (\n      (this.t0 - interaction.coords.cur.timeStamp) < 50 &&\n      pointerSpeed > options.minSpeed &&\n      pointerSpeed > options.endSpeed\n    )\n\n    if (thrown) {\n      this.startInertia()\n    } else {\n      modification.result = modification.setAll(this.modifierArg)\n\n      if (!modification.result.changed) {\n        return false\n      }\n\n      this.startSmoothEnd()\n    }\n\n    // force modification change\n    interaction.modification.result.rect = null\n\n    // bring inertiastart event to the target coords\n    interaction.offsetBy(this.targetOffset)\n    interaction._doPhase({\n      interaction,\n      event,\n      phase: 'inertiastart',\n    })\n    interaction.offsetBy({ x: -this.targetOffset.x, y: -this.targetOffset.y })\n    // force modification change\n    interaction.modification.result.rect = null\n\n    this.active = true\n    interaction.simulation = this\n\n    return true\n  }\n\n  startInertia () {\n    const startVelocity = this.interaction.coords.velocity.client\n    const options = getOptions(this.interaction)\n    const lambda = options.resistance\n    const inertiaDur = -Math.log(options.endSpeed / this.v0) / lambda\n\n    this.targetOffset = {\n      x: (startVelocity.x - inertiaDur) / lambda,\n      y: (startVelocity.y - inertiaDur) / lambda,\n    }\n\n    this.te = inertiaDur\n    this.lambda_v0 = lambda / this.v0\n    this.one_ve_v0 = 1 - options.endSpeed / this.v0\n\n    const { modification, modifierArg } = this\n\n    modifierArg.pageCoords = {\n      x: this.startCoords.x + this.targetOffset.x,\n      y: this.startCoords.y + this.targetOffset.y,\n    }\n\n    modification.result = modification.setAll(modifierArg)\n\n    if (modification.result.changed) {\n      this.isModified = true\n      this.modifiedOffset = {\n        x: this.targetOffset.x + modification.result.delta.x,\n        y: this.targetOffset.y + modification.result.delta.y,\n      }\n    }\n\n    this.timeout = raf.request(() => this.inertiaTick())\n  }\n\n  startSmoothEnd () {\n    this.smoothEnd = true\n    this.isModified = true\n    this.targetOffset = {\n      x: this.modification.result.delta.x,\n      y: this.modification.result.delta.y,\n    }\n\n    this.timeout = raf.request(() => this.smoothEndTick())\n  }\n\n  inertiaTick () {\n    const { interaction } = this\n    const options = getOptions(interaction)\n    const lambda = options.resistance\n    const t = (interaction._now() - this.t0) / 1000\n\n    if (t < this.te) {\n      const progress =  1 - (Math.exp(-lambda * t) - this.lambda_v0) / this.one_ve_v0\n      let newOffset: Interact.Point\n\n      if (this.isModified) {\n        newOffset = getQuadraticCurvePoint(\n          0, 0,\n          this.targetOffset.x, this.targetOffset.y,\n          this.modifiedOffset.x, this.modifiedOffset.y,\n          progress,\n        )\n      }\n      else {\n        newOffset = {\n          x: this.targetOffset.x * progress,\n          y: this.targetOffset.y * progress,\n        }\n      }\n\n      const delta = { x: newOffset.x - this.currentOffset.x, y: newOffset.y - this.currentOffset.y }\n\n      this.currentOffset.x += delta.x\n      this.currentOffset.y += delta.y\n\n      interaction.offsetBy(delta)\n      interaction.move()\n\n      this.timeout = raf.request(() => this.inertiaTick())\n    }\n    else {\n      interaction.offsetBy({\n        x: this.modifiedOffset.x - this.currentOffset.x,\n        y: this.modifiedOffset.y - this.currentOffset.y,\n      })\n\n      this.end()\n    }\n  }\n\n  smoothEndTick () {\n    const { interaction } = this\n    const t = interaction._now() - this.t0\n    const { smoothEndDuration: duration } = getOptions(interaction)\n\n    if (t < duration) {\n      const newOffset = {\n        x: easeOutQuad(t, 0, this.targetOffset.x, duration),\n        y: easeOutQuad(t, 0, this.targetOffset.y, duration),\n      }\n      const delta = {\n        x: newOffset.x - this.currentOffset.x,\n        y: newOffset.y - this.currentOffset.y,\n      }\n\n      this.currentOffset.x += delta.x\n      this.currentOffset.y += delta.y\n\n      interaction.offsetBy(delta)\n      interaction.move({ skipModifiers: this.modifierCount })\n\n      this.timeout = raf.request(() => this.smoothEndTick())\n    }\n    else {\n      interaction.offsetBy({\n        x: this.targetOffset.x - this.currentOffset.x,\n        y: this.targetOffset.y - this.currentOffset.y,\n      })\n\n      this.end()\n    }\n  }\n\n  resume ({ pointer, event, eventTarget }: Interact.SignalArgs['interactions:down']) {\n    const { interaction } = this\n\n    // undo inertia changes to interaction coords\n    interaction.offsetBy({\n      x: -this.currentOffset.x,\n      y: -this.currentOffset.y,\n    })\n\n    // update pointer at pointer down position\n    interaction.updatePointer(pointer, event, eventTarget, true)\n\n    // fire resume signals and event\n    interaction._doPhase({\n      interaction,\n      event,\n      phase: 'resume',\n    })\n    copyCoords(interaction.coords.prev, interaction.coords.cur)\n\n    this.stop()\n  }\n\n  end () {\n    this.interaction.move()\n    this.interaction.end()\n    this.stop()\n  }\n\n  stop () {\n    this.active = this.smoothEnd = false\n    this.interaction.simulation = null\n    raf.cancel(this.timeout)\n  }\n}\n\nfunction start ({ interaction, event }: Interact.DoPhaseArg<Interact.ActionName, 'end'>) {\n  if (!interaction._interacting || interaction.simulation) {\n    return null\n  }\n\n  const started = interaction.inertia.start(event)\n\n  // prevent action end if inertia or smoothEnd\n  return started ? false : null\n}\n\n// Check if the down event hits the current inertia target\n// control should be return to the user\nfunction resume (arg: Interact.SignalArgs['interactions:down']) {\n  const { interaction, eventTarget } = arg\n  const state = interaction.inertia\n\n  if (!state.active) { return }\n\n  let element = eventTarget as Node\n\n  // climb up the DOM tree from the event target\n  while (is.element(element)) {\n    // if interaction element is the current inertia target element\n    if (element === interaction.element) {\n      state.resume(arg)\n      break\n    }\n\n    element = dom.parentNode(element)\n  }\n}\n\nfunction stop ({ interaction }: { interaction: Interact.Interaction }) {\n  const state = interaction.inertia\n\n  if (state.active) {\n    state.stop()\n  }\n}\n\nfunction getOptions ({ interactable, prepared }: Interact.Interaction) {\n  return interactable &&\n    interactable.options &&\n    prepared.name &&\n    interactable.options[prepared.name].inertia\n}\n\nconst inertia: Interact.Plugin = {\n  id: 'inertia',\n  before: ['modifiers/base'],\n  install,\n  listeners: {\n    'interactions:new': ({ interaction }) => {\n      interaction.inertia = new InertiaState(interaction)\n    },\n\n    'interactions:before-action-end': start,\n    'interactions:down': resume,\n    'interactions:stop': stop,\n\n    'interactions:before-action-resume': arg => {\n      const { modification } = arg.interaction\n\n      modification.stop(arg)\n      modification.start(arg, arg.interaction.coords.cur.page)\n      modification.applyToInteraction(arg)\n    },\n\n    'interactions:before-action-inertiastart': arg => arg.interaction.modification.setAndApply(arg),\n    'interactions:action-resume': modifiers.addEventModifiers,\n    'interactions:action-inertiastart': modifiers.addEventModifiers,\n    'interactions:after-action-inertiastart': arg => arg.interaction.modification.restoreInteractionCoords(arg),\n    'interactions:after-action-resume': arg => arg.interaction.modification.restoreInteractionCoords(arg),\n  },\n}\n\n// http://stackoverflow.com/a/5634528/2280888\nfunction _getQBezierValue (t: number, p1: number, p2: number, p3: number) {\n  const iT = 1 - t\n  return iT * iT * p1 + 2 * iT * t * p2 + t * t * p3\n}\n\nfunction getQuadraticCurvePoint (\n  startX: number, startY: number, cpX: number, cpY: number, endX: number, endY: number, position: number) {\n  return {\n    x:  _getQBezierValue(position, startX, cpX, endX),\n    y:  _getQBezierValue(position, startY, cpY, endY),\n  }\n}\n\n// http://gizma.com/easing/\nfunction easeOutQuad (t: number, b: number, c: number, d: number) {\n  t /= d\n  return -c * t * (t - 2) + b\n}\n\nexport default inertia\n","import '@interactjs/types/index'\nimport Scope from '@interactjs/core/scope'\n\nconst scope = new Scope()\n\nconst interact = scope.interactStatic\n\nexport default interact\n\nexport const init = (win: Window) => scope.init(win)\n\nif (typeof window === 'object' && !!window) {\n  init(window)\n}\n","export default {}\n","export default {}\n","export type GridOptions = (Partial<Interact.Rect> | Interact.Point) & {\n  range?: number\n  limits?: Interact.Rect\n  offset?: Interact.Point\n}\n\nexport default (grid: GridOptions) => {\n  const coordFields = ([\n    ['x', 'y'],\n    ['left', 'top'],\n    ['right', 'bottom'],\n    ['width', 'height'],\n  ] as const).filter(([xField, yField]) => xField in grid || yField in grid)\n\n  const gridFunc: Interact.SnapFunction & {\n    grid: typeof grid\n    coordFields: typeof coordFields\n  } = (x, y) => {\n    const {\n      range,\n      limits = {\n        left  : -Infinity,\n        right :  Infinity,\n        top   : -Infinity,\n        bottom:  Infinity,\n      },\n      offset = { x: 0, y: 0 },\n    } = grid\n\n    const result: Interact.SnapTarget & {\n      grid: typeof grid\n    } = { range, grid, x: null as number, y: null as number }\n\n    for (const [xField, yField] of coordFields) {\n      const gridx = Math.round((x - offset.x) / (grid as any)[xField])\n      const gridy = Math.round((y - offset.y) / (grid as any)[yField])\n\n      result[xField] = Math.max(limits.left, Math.min(limits.right, gridx * (grid as any)[xField] + offset.x))\n      result[yField] = Math.max(limits.top, Math.min(limits.bottom, gridy * (grid as any)[yField] + offset.y))\n    }\n\n    return result\n  }\n\n  gridFunc.grid = grid\n  gridFunc.coordFields = coordFields\n\n  return gridFunc\n}\n","export { default as edgeTarget } from './edgeTarget'\nexport { default as elements } from './elements'\nexport { default as grid } from './grid'\n","import extend from '@interactjs/utils/extend'\nimport * as allSnappers from './all'\n\ndeclare module '@interactjs/core/InteractStatic' {\n  interface InteractStatic {\n    snappers: typeof allSnappers\n    createSnapGrid: typeof allSnappers.grid\n  }\n}\n\nconst snappersPlugin: Interact.Plugin = {\n  id: 'snappers',\n  install (scope) {\n    const { interactStatic: interact } = scope\n\n    interact.snappers = extend(interact.snappers || {}, allSnappers)\n    interact.createSnapGrid = interact.snappers.grid\n  },\n}\n\nexport default snappersPlugin\n","/* eslint-disable */\n\n/**\n * @module modifiers/aspectRatio\n *\n * @description\n * This module forces elements to be resized with a specified dx/dy ratio.\n *\n * @example\n * interact(target).resizable({\n *   modifiers: [\n *     interact.modifiers.snapSize({\n *       targets: [ interact.createSnapGrid({ x: 20, y: 20 }) ],\n *     }),\n *     interact.aspectRatio({ ratio: 'preserve' }),\n *   ],\n * });\n */\n\nimport extend from '@interactjs/utils/extend'\nimport { addEdges } from '@interactjs/utils/rect'\nimport { Modifier, ModifierModule, ModifierState } from './base'\nimport Modification from './Modification'\nimport { makeModifier } from './base'\n\nexport interface AspectRatioOptions {\n  ratio?: number | 'preserve'\n  equalDelta?: boolean\n  modifiers?: Modifier[]\n  enabled?: boolean\n}\n\nexport type AspectRatioState = ModifierState<AspectRatioOptions, {\n  startCoords: Interact.Point\n  startRect: Interact.Rect\n  linkedEdges: Interact.EdgeOptions\n  ratio: number\n  equalDelta: boolean\n  xIsPrimaryAxis: boolean\n  edgeSign: 1 | -1\n  subModification: Modification\n}>\n\nconst aspectRatio: ModifierModule<AspectRatioOptions, AspectRatioState> = {\n  start (arg) {\n    const { state, rect, edges: originalEdges, pageCoords: coords } = arg\n    let { ratio } = state.options\n    const { equalDelta, modifiers } = state.options\n\n    if (ratio === 'preserve') {\n      ratio = rect.width / rect.height\n    }\n\n    state.startCoords = extend({}, coords)\n    state.startRect = extend({}, rect)\n    state.ratio = ratio\n    state.equalDelta = equalDelta\n\n    const linkedEdges = state.linkedEdges = {\n      top   : originalEdges.top    || (originalEdges.left   && !originalEdges.bottom),\n      left  : originalEdges.left   || (originalEdges.top    && !originalEdges.right),\n      bottom: originalEdges.bottom || (originalEdges.right  && !originalEdges.top),\n      right : originalEdges.right  || (originalEdges.bottom && !originalEdges.left),\n    }\n\n    state.xIsPrimaryAxis = !!(originalEdges.left || originalEdges.right)\n\n    if (state.equalDelta) {\n      state.edgeSign = (linkedEdges.left ? 1 : -1) * (linkedEdges.top ? 1 : -1) as 1 | -1\n    }\n    else {\n      const negativeSecondaryEdge = state.xIsPrimaryAxis ? linkedEdges.top : linkedEdges.left\n      state.edgeSign = negativeSecondaryEdge ? -1 : 1\n    }\n\n    extend(arg.edges, linkedEdges)\n\n    if (!modifiers || !modifiers.length) { return }\n\n    const subModification = new Modification(arg.interaction)\n\n    subModification.copyFrom(arg.interaction.modification)\n    subModification.prepareStates(modifiers)\n\n    state.subModification = subModification\n    subModification.startAll({ ...arg })\n  },\n\n  set (arg) {\n    const { state, rect, coords } = arg\n    const initialCoords = extend({}, coords)\n    const aspectMethod = state.equalDelta ? setEqualDelta : setRatio\n\n    aspectMethod(state, state.xIsPrimaryAxis, coords, rect)\n\n    if (!state.subModification) { return null }\n\n    const correctedRect = extend({}, rect)\n\n    addEdges(state.linkedEdges, correctedRect, { x: coords.x - initialCoords.x, y: coords.y - initialCoords.y })\n\n    const result = state.subModification.setAll({\n      ...arg,\n      rect: correctedRect,\n      edges: state.linkedEdges,\n      pageCoords: coords,\n      prevCoords: coords,\n      prevRect: correctedRect,\n    })\n\n    const { delta } = result\n\n    if (result.changed) {\n      const xIsCriticalAxis = Math.abs(delta.x) > Math.abs(delta.y)\n\n      // do aspect modification again with critical edge axis as primary\n      aspectMethod(state, xIsCriticalAxis, result.coords, result.rect)\n      extend(coords, result.coords)\n    }\n\n    return result.eventProps\n  },\n\n  defaults: {\n    ratio: 'preserve',\n    equalDelta: false,\n    modifiers: [],\n    enabled: false,\n  },\n}\n\nfunction setEqualDelta ({ startCoords, edgeSign }: AspectRatioState, xIsPrimaryAxis: boolean, coords: Interact.Point) {\n  if (xIsPrimaryAxis) {\n    coords.y = startCoords.y + (coords.x - startCoords.x) * edgeSign\n  }\n  else {\n    coords.x = startCoords.x + (coords.y - startCoords.y) * edgeSign\n  }\n}\n\nfunction setRatio ({ startRect, startCoords, ratio, edgeSign }: AspectRatioState, xIsPrimaryAxis: boolean, coords: Interact.Point, rect: Interact.Rect) {\n  if (xIsPrimaryAxis) {\n    const newHeight = rect.width / ratio\n\n    coords.y = startCoords.y + (newHeight - startRect.height) * edgeSign\n  }\n  else {\n    const newWidth = rect.height * ratio\n\n    coords.x = startCoords.x + (newWidth - startRect.width) * edgeSign\n  }\n}\n\nexport default makeModifier(aspectRatio, 'aspectRatio')\nexport { aspectRatio }\n","import { ModifierFunction } from './base'\n\nconst avoid = (() => {\n}) as unknown as ModifierFunction<any, any, 'avoid'>\n\navoid._defaults = {}\n\nexport default avoid\n","import extend from '@interactjs/utils/extend'\nimport * as is from '@interactjs/utils/is'\nimport * as rectUtils from '@interactjs/utils/rect'\nimport { makeModifier, ModifierArg, ModifierModule, ModifierState } from '../base'\n\nexport interface RestrictOptions {\n  // where to drag over\n  restriction: Interact.RectResolvable<[number, number, Interact.Interaction]>\n  // what part of self is allowed to drag over\n  elementRect: Interact.Rect\n  offset: Interact.Rect\n  // restrict just before the end drag\n  endOnly: boolean\n  enabled?: boolean\n}\n\nexport type RestrictState = ModifierState<RestrictOptions, {\n  offset: Interact.Rect\n}>\n\nfunction start ({ rect, startOffset, state, interaction, pageCoords }: ModifierArg<RestrictState>) {\n  const { options } = state\n  const { elementRect } = options\n  const offset: Interact.Rect = extend({\n    left: 0,\n    top: 0,\n    right: 0,\n    bottom: 0,\n  }, options.offset || {})\n\n  if (rect && elementRect) {\n    const restriction = getRestrictionRect(options.restriction, interaction, pageCoords)\n\n    if (restriction) {\n      const widthDiff = (restriction.right - restriction.left) - rect.width\n      const heightDiff = (restriction.bottom - restriction.top) - rect.height\n\n      if (widthDiff < 0) {\n        offset.left += widthDiff\n        offset.right += widthDiff\n      }\n      if (heightDiff < 0) {\n        offset.top += heightDiff\n        offset.bottom += heightDiff\n      }\n    }\n\n    offset.left += startOffset.left - (rect.width  * elementRect.left)\n    offset.top  += startOffset.top  - (rect.height * elementRect.top)\n\n    offset.right  += startOffset.right  - (rect.width  * (1 - elementRect.right))\n    offset.bottom += startOffset.bottom - (rect.height * (1 - elementRect.bottom))\n  }\n\n  state.offset = offset\n}\n\nfunction set ({ coords, interaction, state }: ModifierArg<RestrictState>) {\n  const { options, offset } = state\n\n  const restriction = getRestrictionRect(options.restriction, interaction, coords)\n\n  if (!restriction) { return }\n\n  const rect = rectUtils.xywhToTlbr(restriction)\n\n  coords.x = Math.max(Math.min(rect.right  - offset.right, coords.x), rect.left + offset.left)\n  coords.y = Math.max(Math.min(rect.bottom - offset.bottom, coords.y), rect.top  + offset.top)\n}\n\nexport function getRestrictionRect (\n  value: Interact.RectResolvable<[number, number, Interact.Interaction]>,\n  interaction: Interact.Interaction,\n  coords?: Interact.Point,\n) {\n  if (is.func(value)) {\n    return rectUtils.resolveRectLike(value, interaction.interactable, interaction.element, [coords.x, coords.y, interaction])\n  } else {\n    return rectUtils.resolveRectLike(value, interaction.interactable, interaction.element)\n  }\n}\n\nconst defaults: RestrictOptions = {\n  restriction: null,\n  elementRect: null,\n  offset: null,\n  endOnly: false,\n  enabled: false,\n}\n\nconst restrict: ModifierModule<RestrictOptions, RestrictState> = {\n  start,\n  set,\n  defaults,\n}\n\nexport default makeModifier(restrict, 'restrict')\nexport { restrict }\n","// This module adds the options.resize.restrictEdges setting which sets min and\n// max for the top, left, bottom and right edges of the target being resized.\n//\n// interact(target).resize({\n//   edges: { top: true, left: true },\n//   restrictEdges: {\n//     inner: { top: 200, left: 200, right: 400, bottom: 400 },\n//     outer: { top:   0, left:   0, right: 600, bottom: 600 },\n//   },\n// })\n\nimport extend from '@interactjs/utils/extend'\nimport * as rectUtils from '@interactjs/utils/rect'\nimport { makeModifier, ModifierArg, ModifierState } from '../base'\nimport { getRestrictionRect, RestrictOptions } from './pointer'\n\nexport interface RestrictEdgesOptions {\n  inner: RestrictOptions['restriction']\n  outer: RestrictOptions['restriction']\n  offset?: RestrictOptions['offset']\n  endOnly: boolean\n  enabled?: boolean\n}\n\nexport type RestrictEdgesState = ModifierState<RestrictEdgesOptions, {\n  inner: Interact.Rect\n  outer: Interact.Rect\n  offset: RestrictEdgesOptions['offset']\n}>\n\nconst noInner = { top: +Infinity, left: +Infinity, bottom: -Infinity, right: -Infinity }\nconst noOuter = { top: -Infinity, left: -Infinity, bottom: +Infinity, right: +Infinity }\n\nfunction start ({ interaction, startOffset, state }: ModifierArg<RestrictEdgesState>) {\n  const { options } = state\n  let offset\n\n  if (options) {\n    const offsetRect = getRestrictionRect(options.offset, interaction, interaction.coords.start.page)\n\n    offset = rectUtils.rectToXY(offsetRect)\n  }\n\n  offset = offset || { x: 0, y: 0 }\n\n  state.offset = {\n    top:    offset.y + startOffset.top,\n    left:   offset.x + startOffset.left,\n    bottom: offset.y - startOffset.bottom,\n    right:  offset.x - startOffset.right,\n  }\n}\n\nfunction set ({ coords, edges, interaction, state }: ModifierArg<RestrictEdgesState>) {\n  const { offset, options } = state\n\n  if (!edges) {\n    return\n  }\n\n  const page = extend({}, coords)\n  const inner = getRestrictionRect(options.inner, interaction, page) || {} as Interact.Rect\n  const outer = getRestrictionRect(options.outer, interaction, page) || {} as Interact.Rect\n\n  fixRect(inner, noInner)\n  fixRect(outer, noOuter)\n\n  if (edges.top) {\n    coords.y = Math.min(Math.max(outer.top    + offset.top,    page.y), inner.top    + offset.top)\n  }\n  else if (edges.bottom) {\n    coords.y = Math.max(Math.min(outer.bottom + offset.bottom, page.y), inner.bottom + offset.bottom)\n  }\n  if (edges.left) {\n    coords.x = Math.min(Math.max(outer.left   + offset.left,   page.x), inner.left   + offset.left)\n  }\n  else if (edges.right) {\n    coords.x = Math.max(Math.min(outer.right  + offset.right,  page.x), inner.right  + offset.right)\n  }\n}\n\nfunction fixRect (rect, defaults) {\n  for (const edge of ['top', 'left', 'bottom', 'right']) {\n    if (!(edge in rect)) {\n      rect[edge] = defaults[edge]\n    }\n  }\n\n  return rect\n}\n\nconst defaults: RestrictEdgesOptions = {\n  inner: null,\n  outer: null,\n  offset: null,\n  endOnly: false,\n  enabled: false,\n}\n\nconst restrictEdges = {\n  noInner,\n  noOuter,\n  start,\n  set,\n  defaults,\n}\n\nexport default makeModifier(restrictEdges, 'restrictEdges')\nexport { restrictEdges }\n","import extend from '../../utils/extend'\nimport { makeModifier } from '../base'\nimport { restrict } from './pointer'\n\nconst defaults = extend({\n  get elementRect () {\n    return { top: 0, left: 0, bottom: 1, right: 1 }\n  },\n  set elementRect (_) {},\n}, restrict.defaults)\n\nconst restrictRect = {\n  start: restrict.start,\n  set: restrict.set,\n  defaults,\n}\n\nexport default makeModifier(restrictRect, 'restrictRect')\nexport { restrictRect }\n","import extend from '@interactjs/utils/extend'\nimport * as rectUtils from '@interactjs/utils/rect'\nimport { makeModifier, ModifierArg, ModifierState } from '../base'\nimport { restrictEdges, RestrictEdgesState } from './edges'\nimport { getRestrictionRect, RestrictOptions } from './pointer'\n\nconst noMin = { width: -Infinity, height: -Infinity }\nconst noMax = { width: +Infinity, height: +Infinity }\n\nexport interface RestrictSizeOptions {\n  min?: Interact.Size | Interact.Point | RestrictOptions['restriction']\n  max?: Interact.Size | Interact.Point | RestrictOptions['restriction']\n  endOnly: boolean\n  enabled?: boolean\n}\n\nfunction start (arg: ModifierArg<RestrictEdgesState>) {\n  return restrictEdges.start(arg)\n}\n\nexport type RestrictSizeState =\n  RestrictEdgesState & ModifierState<RestrictSizeOptions & { inner: Interact.Rect, outer: Interact.Rect }, {\n    min: Interact.Rect\n    max: Interact.Rect\n  }>\n\nfunction set (arg: ModifierArg<RestrictSizeState>) {\n  const { interaction, state, rect, edges } = arg\n  const { options } = state\n\n  if (!edges) {\n    return\n  }\n\n  const minSize = rectUtils.tlbrToXywh(getRestrictionRect(options.min as any, interaction, arg.coords)) || noMin\n  const maxSize = rectUtils.tlbrToXywh(getRestrictionRect(options.max as any, interaction, arg.coords)) || noMax\n\n  state.options = {\n    endOnly: options.endOnly,\n    inner: extend({}, restrictEdges.noInner),\n    outer: extend({}, restrictEdges.noOuter),\n  }\n\n  if (edges.top) {\n    state.options.inner.top = rect.bottom - minSize.height\n    state.options.outer.top = rect.bottom - maxSize.height\n  }\n  else if (edges.bottom) {\n    state.options.inner.bottom = rect.top + minSize.height\n    state.options.outer.bottom = rect.top + maxSize.height\n  }\n  if (edges.left) {\n    state.options.inner.left = rect.right - minSize.width\n    state.options.outer.left = rect.right - maxSize.width\n  }\n  else if (edges.right) {\n    state.options.inner.right = rect.left + minSize.width\n    state.options.outer.right = rect.left + maxSize.width\n  }\n\n  restrictEdges.set(arg)\n\n  state.options = options\n}\n\nconst defaults: RestrictSizeOptions = {\n  min: null,\n  max: null,\n  endOnly: false,\n  enabled: false,\n}\n\nconst restrictSize = {\n  start,\n  set,\n  defaults,\n}\n\nexport default makeModifier(restrictSize, 'restrictSize')\nexport { restrictSize }\n","import { ModifierFunction } from './base'\n\nconst rubberband = (() => {\n}) as unknown as ModifierFunction<any, any, 'rubberband'>\n\nrubberband._defaults = {}\n\nexport default rubberband\n","import * as utils from '@interactjs/utils/index'\nimport { makeModifier, ModifierArg, ModifierState } from '../base'\n\nexport interface Offset {\n  x: number\n  y: number\n  index: number\n  relativePoint?: Interact.Point\n}\n\nexport interface SnapPosition {\n  x?: number\n  y?: number\n  range?: number\n  offset?: Offset\n  [index: string]: any\n}\n\nexport type SnapFunction = (\n  x: number,\n  y: number,\n  interaction: Interact.Interaction,\n  offset: Offset,\n  index: number\n) => SnapPosition\nexport type SnapTarget = SnapPosition | SnapFunction\nexport interface SnapOptions {\n  targets: SnapTarget[]\n  // target range\n  range: number\n  // self points for snapping. [0,0] = top left, [1,1] = bottom right\n  relativePoints: Interact.Point[]\n  // startCoords = offset snapping from drag start page position\n  offset: Interact.Point | Interact.RectResolvable<[Interact.Interaction]> | 'startCoords'\n  offsetWithOrigin?: boolean\n  origin: Interact.RectResolvable<[Interact.Element]> | Interact.Point\n  endOnly?: boolean\n  enabled?: boolean\n}\n\nexport type SnapState = ModifierState<SnapOptions, {\n  offsets?: Offset[]\n  closest?: any\n  targetFields?: string[][]\n}>\n\nfunction start (arg: ModifierArg<SnapState>) {\n  const { interaction, interactable, element, rect, state, startOffset } = arg\n  const { options } = state\n  const origin = options.offsetWithOrigin\n    ? getOrigin(arg)\n    : { x: 0, y: 0 }\n\n  let snapOffset: Interact.Point\n\n  if (options.offset === 'startCoords') {\n    snapOffset = {\n      x: interaction.coords.start.page.x,\n      y: interaction.coords.start.page.y,\n    }\n  }\n  else  {\n    const offsetRect = utils.rect.resolveRectLike(options.offset as any, interactable, element, [interaction])\n\n    snapOffset = utils.rect.rectToXY(offsetRect) || { x: 0, y: 0 }\n    snapOffset.x += origin.x\n    snapOffset.y += origin.y\n  }\n\n  const { relativePoints } = options\n\n  state.offsets = rect && relativePoints && relativePoints.length\n    ?  relativePoints.map((relativePoint, index) => ({\n      index,\n      relativePoint,\n      x: startOffset.left - (rect.width  * relativePoint.x) + snapOffset.x,\n      y: startOffset.top  - (rect.height * relativePoint.y) + snapOffset.y,\n    }))\n    : [utils.extend({\n      index: 0,\n      relativePoint: null,\n    }, snapOffset)]\n}\n\nfunction set (arg: ModifierArg<SnapState>) {\n  const { interaction, coords, state } = arg\n  const { options, offsets } = state\n\n  const origin = utils.getOriginXY(interaction.interactable, interaction.element, interaction.prepared.name)\n  const page = utils.extend({}, coords)\n  const targets = []\n\n  if (!options.offsetWithOrigin) {\n    page.x -= origin.x\n    page.y -= origin.y\n  }\n\n  for (const offset of offsets) {\n    const relativeX = page.x - offset.x\n    const relativeY = page.y - offset.y\n\n    for (let index = 0, len = options.targets.length; index < len; index++) {\n      const snapTarget = options.targets[index]\n      let target\n\n      if (utils.is.func(snapTarget)) {\n        target = snapTarget(relativeX, relativeY, interaction, offset, index)\n      }\n      else {\n        target = snapTarget\n      }\n\n      if (!target) { continue }\n\n      targets.push({\n        x: (utils.is.number(target.x) ? target.x : relativeX) + offset.x,\n        y: (utils.is.number(target.y) ? target.y : relativeY) + offset.y,\n\n        range: utils.is.number(target.range) ? target.range : options.range,\n        source: snapTarget,\n        index,\n        offset,\n      })\n    }\n  }\n\n  const closest = {\n    target: null,\n    inRange: false,\n    distance: 0,\n    range: 0,\n    delta: { x: 0, y: 0 },\n  }\n\n  for (const target of targets) {\n    const range = target.range\n    const dx = target.x - page.x\n    const dy = target.y - page.y\n    const distance = utils.hypot(dx, dy)\n    let inRange = distance <= range\n\n    // Infinite targets count as being out of range\n    // compared to non infinite ones that are in range\n    if (range === Infinity && closest.inRange && closest.range !== Infinity) {\n      inRange = false\n    }\n\n    if (!closest.target || (inRange\n      // is the closest target in range?\n      ? (closest.inRange && range !== Infinity\n        // the pointer is relatively deeper in this target\n        ? distance / range < closest.distance / closest.range\n        // this target has Infinite range and the closest doesn't\n        : (range === Infinity && closest.range !== Infinity) ||\n          // OR this target is closer that the previous closest\n          distance < closest.distance)\n      // The other is not in range and the pointer is closer to this target\n      : (!closest.inRange && distance < closest.distance))) {\n      closest.target = target\n      closest.distance = distance\n      closest.range = range\n      closest.inRange = inRange\n      closest.delta.x = dx\n      closest.delta.y = dy\n    }\n  }\n\n  if (closest.inRange) {\n    coords.x = closest.target.x\n    coords.y = closest.target.y\n  }\n\n  state.closest = closest\n  return closest\n}\n\nfunction getOrigin (arg: Partial<ModifierArg<SnapState>>) {\n  const { element } = arg.interaction\n  const optionsOrigin = utils.rect.rectToXY(\n    utils.rect.resolveRectLike(arg.state.options.origin as any, null, null, [element]),\n  )\n  const origin = optionsOrigin || utils.getOriginXY(\n    arg.interactable,\n    element,\n    arg.interaction.prepared.name,\n  )\n\n  return origin\n}\n\nconst defaults: SnapOptions = {\n  range  : Infinity,\n  targets: null,\n  offset: null,\n  offsetWithOrigin: true,\n  origin: null,\n  relativePoints: null,\n  endOnly: false,\n  enabled: false,\n}\nconst snap = {\n  start,\n  set,\n  defaults,\n}\n\nexport default makeModifier(snap, 'snap')\nexport { snap }\n","// This module allows snapping of the size of targets during resize\n// interactions.\n\nimport extend from '@interactjs/utils/extend'\nimport * as is from '@interactjs/utils/is'\nimport { makeModifier, ModifierArg } from '../base'\nimport { snap, SnapOptions, SnapState } from './pointer'\n\nexport type SnapSizeOptions = Pick<\nSnapOptions,\n'targets' | 'offset' | 'endOnly' | 'range' | 'enabled'\n>\n\nfunction start (arg: ModifierArg<SnapState>) {\n  const { state, edges } = arg\n  const { options } = state\n\n  if (!edges) { return null }\n\n  arg.state = {\n    options: {\n      targets: null,\n      relativePoints: [{\n        x: edges.left ? 0 : 1,\n        y: edges.top ? 0 : 1,\n      }],\n      offset: options.offset || 'self',\n      origin: { x: 0, y: 0 },\n      range: options.range,\n    },\n  }\n\n  state.targetFields = state.targetFields || [\n    ['width', 'height'],\n    ['x', 'y'],\n  ]\n\n  snap.start(arg)\n  state.offsets = arg.state.offsets\n\n  arg.state = state\n}\n\nfunction set (arg) {\n  const { interaction, state, coords } = arg\n  const { options, offsets } = state\n  const relative = {\n    x: coords.x - offsets[0].x,\n    y: coords.y - offsets[0].y,\n  }\n\n  state.options = extend({}, options)\n  state.options.targets = []\n\n  for (const snapTarget of (options.targets || [])) {\n    let target\n\n    if (is.func(snapTarget)) {\n      target = snapTarget(relative.x, relative.y, interaction)\n    }\n    else {\n      target = snapTarget\n    }\n\n    if (!target) { continue }\n\n    for (const [xField, yField] of state.targetFields) {\n      if (xField in target || yField in target) {\n        target.x = target[xField]\n        target.y = target[yField]\n\n        break\n      }\n    }\n\n    state.options.targets.push(target)\n  }\n\n  const returnValue = snap.set(arg)\n\n  state.options = options\n\n  return returnValue\n}\n\nconst defaults: SnapSizeOptions = {\n  range: Infinity,\n  targets: null,\n  offset: null,\n  endOnly: false,\n  enabled: false,\n}\n\nconst snapSize = {\n  start,\n  set,\n  defaults,\n}\n\nexport default makeModifier(snapSize, 'snapSize')\nexport { snapSize }\n","/**\n * @module modifiers/snapEdges\n *\n * @description\n * This module allows snapping of the edges of targets during resize\n * interactions.\n *\n * @example\n * interact(target).resizable({\n *   snapEdges: {\n *     targets: [interact.snappers.grid({ x: 100, y: 50 })],\n *   },\n * })\n *\n * interact(target).resizable({\n *   snapEdges: {\n *     targets: [\n *       interact.snappers.grid({\n *        top: 50,\n *        left: 50,\n *        bottom: 100,\n *        right: 100,\n *       }),\n *     ],\n *   },\n * })\n */\n\nimport clone from '@interactjs/utils/clone'\nimport extend from '@interactjs/utils/extend'\nimport { makeModifier, ModifierArg, ModifierModule } from '../base'\nimport { SnapOptions, SnapState } from './pointer'\nimport { snapSize } from './size'\n\nexport type SnapEdgesOptions = Pick<SnapOptions, 'targets' | 'range' | 'offset' | 'endOnly' | 'enabled'>\n\nfunction start (arg: ModifierArg<SnapState>) {\n  const { edges } = arg\n\n  if (!edges) { return null }\n\n  arg.state.targetFields = arg.state.targetFields || [\n    [edges.left ? 'left' : 'right', edges.top ? 'top' : 'bottom'],\n  ]\n\n  return snapSize.start(arg)\n}\n\nconst snapEdges: ModifierModule<SnapEdgesOptions, SnapState> = {\n  start,\n  set: snapSize.set,\n  defaults: extend(\n    clone(snapSize.defaults),\n    {\n      targets: null,\n      range: null,\n      offset: { x: 0, y: 0 },\n    } as const,\n  ),\n}\n\nexport default makeModifier(snapEdges, 'snapEdges')\nexport { snapEdges }\n","import { ModifierFunction } from './base'\n\nconst spring = (() => {\n}) as unknown as ModifierFunction<any, any, 'spring'>\n\nspring._defaults = {}\n\nexport default spring\n","import { ModifierFunction } from './base'\n\nconst transform = (() => {\n}) as unknown as ModifierFunction<any, any, 'transform'>\n\ntransform._defaults = {}\n\nexport default transform\n","/* eslint-disable node/no-extraneous-import */\nimport aspectRatio from './aspectRatio'\nimport avoid from './avoid'\nimport restrictEdges from './restrict/edges'\nimport restrict from './restrict/pointer'\nimport restrictRect from './restrict/rect'\nimport restrictSize from './restrict/size'\nimport rubberband from './rubberband'\nimport snapEdges from './snap/edges'\nimport snap from './snap/pointer'\nimport snapSize from './snap/size'\n\nimport spring from './spring'\nimport transform from './transform'\n\nexport default {\n  aspectRatio,\n  restrictEdges,\n  restrict,\n  restrictRect,\n  restrictSize,\n  snapEdges,\n  snap,\n  snapSize,\n\n  spring,\n  avoid,\n  transform,\n  rubberband,\n}\n","import snappers from '@interactjs/snappers/index'\nimport all from './all'\nimport base from './base'\n\ndeclare module '@interactjs/core/InteractStatic' {\n  interface InteractStatic {\n    modifiers: typeof all\n  }\n}\n\nconst modifiers: Interact.Plugin = {\n  id: 'modifiers',\n  install (scope) {\n    const { interactStatic: interact } = scope\n\n    scope.usePlugin(base)\n    scope.usePlugin(snappers)\n\n    interact.modifiers = all\n\n    // for backwrads compatibility\n    for (const type in all) {\n      const { _defaults, _methods } = all[type as keyof typeof all]\n\n      ;(_defaults as any)._methods = _methods\n      ;(scope.defaults.perAction as any)[type] = _defaults\n    }\n  },\n}\n\nexport default modifiers\n","import BaseEvent from '../core/BaseEvent'\nimport * as pointerUtils from '../utils/pointerUtils'\n\nexport default class PointerEvent<T extends string = any> extends BaseEvent {\n  type: T\n  originalEvent: Interact.PointerEventType\n  pointerId: number\n  pointerType: string\n  double: boolean\n  pageX: number\n  pageY: number\n  clientX: number\n  clientY: number\n  dt: number\n  eventable: any\n  [key: string]: any\n\n  /** */\n  constructor (\n    type: T,\n    pointer: Interact.PointerType | PointerEvent<any>,\n    event: Interact.PointerEventType,\n    eventTarget: Interact.EventTarget,\n    interaction: Interact.Interaction,\n    timeStamp: number,\n  ) {\n    super(interaction)\n    pointerUtils.pointerExtend(this, event)\n\n    if (event !== pointer) {\n      pointerUtils.pointerExtend(this, pointer)\n    }\n\n    this.timeStamp     = timeStamp\n    this.originalEvent = event\n    this.type          = type\n    this.pointerId     = pointerUtils.getPointerId(pointer)\n    this.pointerType   = pointerUtils.getPointerType(pointer)\n    this.target        = eventTarget\n    this.currentTarget = null\n\n    if (type === 'tap') {\n      const pointerIndex = interaction.getPointerIndex(pointer)\n      this.dt = this.timeStamp - interaction.pointers[pointerIndex].downTime\n\n      const interval = this.timeStamp - interaction.tapTime\n\n      this.double = !!(interaction.prevTap &&\n        interaction.prevTap.type !== 'doubletap' &&\n        interaction.prevTap.target === this.target &&\n        interval < 500)\n    }\n    else if (type === 'doubletap') {\n      this.dt = (pointer as PointerEvent<'tap'>).timeStamp - interaction.tapTime\n    }\n  }\n\n  _subtractOrigin ({ x: originX, y: originY }: Interact.Point) {\n    this.pageX   -= originX\n    this.pageY   -= originY\n    this.clientX -= originX\n    this.clientY -= originY\n\n    return this\n  }\n\n  _addOrigin ({ x: originX, y: originY }: Interact.Point) {\n    this.pageX   += originX\n    this.pageY   += originY\n    this.clientX += originX\n    this.clientY += originY\n\n    return this\n  }\n\n  /**\n   * Prevent the default behaviour of the original Event\n   */\n  preventDefault () {\n    this.originalEvent.preventDefault()\n  }\n}\n\nexport { PointerEvent }\n","import Eventable from '@interactjs/core/Eventable'\nimport Interaction from '@interactjs/core/Interaction'\nimport { PerActionDefaults } from '@interactjs/core/defaultOptions'\nimport Scope from '@interactjs/core/scope'\nimport * as utils from '@interactjs/utils/index'\nimport PointerEvent from './PointerEvent'\n\nexport type EventTargetList = Array<{\n  node: Node\n  eventable: Eventable\n  props: { [key: string]: any }\n}>\n\nexport interface PointerEventOptions extends PerActionDefaults {\n  enabled?: undefined // not used\n  holdDuration?: number\n  ignoreFrom?: any\n  allowFrom?: any\n  origin?: Interact.Point | string | Interact.Element\n}\n\ndeclare module '@interactjs/core/scope' {\n  interface Scope {\n    pointerEvents: typeof pointerEvents\n  }\n}\n\ndeclare module '@interactjs/core/Interaction' {\n  interface Interaction {\n    prevTap?: PointerEvent<string>\n    tapTime?: number\n  }\n}\n\ndeclare module '@interactjs/core/PointerInfo' {\n  interface PointerInfo {\n    hold?: {\n      duration: number\n      timeout: any\n    }\n  }\n}\n\ndeclare module '@interactjs/core/defaultOptions' {\n  interface ActionDefaults {\n    pointerEvents: Interact.Options\n  }\n}\n\ndeclare module '@interactjs/core/scope' {\n  interface SignalArgs {\n    'pointerEvents:new': { pointerEvent: PointerEvent<any> }\n    'pointerEvents:fired': {\n      interaction: Interaction\n      pointer: Interact.PointerType | PointerEvent<any>\n      event: Interact.PointerEventType | PointerEvent<any>\n      eventTarget: Interact.EventTarget\n      pointerEvent: PointerEvent<any>\n      targets?: EventTargetList\n      type: string\n    }\n    'pointerEvents:collect-targets': {\n      interaction: Interaction\n      pointer: Interact.PointerType | PointerEvent<any>\n      event: Interact.PointerEventType | PointerEvent<any>\n      eventTarget: Interact.EventTarget\n      targets?: EventTargetList\n      type: string\n      path: Node[]\n      node: null\n    }\n  }\n}\n\nconst defaults: PointerEventOptions = {\n  holdDuration: 600,\n  ignoreFrom  : null,\n  allowFrom   : null,\n  origin      : { x: 0, y: 0 },\n}\n\nconst pointerEvents = {\n  id: 'pointer-events/base',\n  install,\n  listeners: {\n    'interactions:new': addInteractionProps,\n    'interactions:update-pointer': addHoldInfo,\n    'interactions:move': moveAndClearHold,\n    'interactions:down': (arg, scope) => {\n      downAndStartHold(arg, scope)\n      fire(arg, scope)\n    },\n    'interactions:up': (arg, scope) => {\n      clearHold(arg)\n      fire(arg, scope)\n      tapAfterUp(arg, scope)\n    },\n    'interactions:cancel': (arg, scope) => {\n      clearHold(arg)\n      fire(arg, scope)\n    },\n  },\n  PointerEvent,\n  fire,\n  collectEventTargets,\n  defaults,\n  types: {\n    down: true,\n    move: true,\n    up: true,\n    cancel: true,\n    tap: true,\n    doubletap: true,\n    hold: true,\n  } as { [type: string]: true },\n}\n\nfunction fire<T extends string> (\n  arg: {\n    pointer: Interact.PointerType | PointerEvent<any>\n    event: Interact.PointerEventType | PointerEvent<any>\n    eventTarget: Interact.EventTarget\n    interaction: Interaction\n    type: T\n    targets?: EventTargetList\n  },\n  scope: Interact.Scope,\n) {\n  const {\n    interaction,\n    pointer,\n    event,\n    eventTarget,\n    type,\n    targets = collectEventTargets(arg, scope),\n  } = arg\n\n  const pointerEvent = new PointerEvent(type, pointer, event, eventTarget, interaction, scope.now())\n\n  scope.fire('pointerEvents:new', { pointerEvent })\n\n  const signalArg = {\n    interaction,\n    pointer,\n    event,\n    eventTarget,\n    targets,\n    type,\n    pointerEvent,\n  }\n\n  for (let i = 0; i < targets.length; i++) {\n    const target = targets[i]\n\n    for (const prop in target.props || {}) {\n      (pointerEvent as any)[prop] = target.props[prop]\n    }\n\n    const origin = utils.getOriginXY(target.eventable, target.node)\n\n    pointerEvent._subtractOrigin(origin)\n    pointerEvent.eventable = target.eventable\n    pointerEvent.currentTarget = target.node\n\n    target.eventable.fire(pointerEvent)\n\n    pointerEvent._addOrigin(origin)\n\n    if (pointerEvent.immediatePropagationStopped ||\n        (pointerEvent.propagationStopped &&\n            (i + 1) < targets.length && targets[i + 1].node !== pointerEvent.currentTarget)) {\n      break\n    }\n  }\n\n  scope.fire('pointerEvents:fired', signalArg)\n\n  if (type === 'tap') {\n    // if pointerEvent should make a double tap, create and fire a doubletap\n    // PointerEvent and use that as the prevTap\n    const prevTap = pointerEvent.double\n      ? fire({\n        interaction,\n        pointer,\n        event,\n        eventTarget,\n        type: 'doubletap',\n      }, scope)\n      : pointerEvent\n\n    interaction.prevTap = prevTap\n    interaction.tapTime = prevTap.timeStamp\n  }\n\n  return pointerEvent\n}\n\nfunction collectEventTargets<T extends string> ({ interaction, pointer, event, eventTarget, type }: {\n  interaction: Interaction\n  pointer: Interact.PointerType | PointerEvent<any>\n  event: Interact.PointerEventType | PointerEvent<any>\n  eventTarget: Interact.EventTarget\n  type: T\n}, scope: Interact.Scope) {\n  const pointerIndex = interaction.getPointerIndex(pointer)\n  const pointerInfo = interaction.pointers[pointerIndex]\n\n  // do not fire a tap event if the pointer was moved before being lifted\n  if (type === 'tap' && (interaction.pointerWasMoved ||\n      // or if the pointerup target is different to the pointerdown target\n      !(pointerInfo && pointerInfo.downTarget === eventTarget))) {\n    return []\n  }\n\n  const path = utils.dom.getPath(eventTarget as Interact.Element | Document)\n  const signalArg = {\n    interaction,\n    pointer,\n    event,\n    eventTarget,\n    type,\n    path,\n    targets: [] as EventTargetList,\n    node: null,\n  }\n\n  for (const node of path) {\n    signalArg.node = node\n\n    scope.fire('pointerEvents:collect-targets', signalArg)\n  }\n\n  if (type === 'hold') {\n    signalArg.targets = signalArg.targets.filter(target =>\n      target.eventable.options.holdDuration === interaction.pointers[pointerIndex].hold.duration)\n  }\n\n  return signalArg.targets\n}\n\nfunction addInteractionProps ({ interaction }) {\n  interaction.prevTap = null   // the most recent tap event on this interaction\n  interaction.tapTime = 0     // time of the most recent tap event\n}\n\nfunction addHoldInfo ({ down, pointerInfo }: Interact.SignalArgs['interactions:update-pointer']) {\n  if (!down && pointerInfo.hold) {\n    return\n  }\n\n  pointerInfo.hold = { duration: Infinity, timeout: null }\n}\n\nfunction clearHold ({ interaction, pointerIndex }) {\n  if (interaction.pointers[pointerIndex].hold) {\n    clearTimeout(interaction.pointers[pointerIndex].hold.timeout)\n  }\n}\n\nfunction moveAndClearHold (\n  { interaction, pointer, event, eventTarget, duplicate }: Interact.SignalArgs['interactions:move'],\n  scope: Interact.Scope,\n) {\n  const pointerIndex = interaction.getPointerIndex(pointer)\n\n  if (!duplicate && (!interaction.pointerIsDown || interaction.pointerWasMoved)) {\n    if (interaction.pointerIsDown) {\n      clearTimeout(interaction.pointers[pointerIndex].hold.timeout)\n    }\n\n    fire({\n      interaction,\n      pointer,\n      event,\n      eventTarget: eventTarget as Interact.Element,\n      type: 'move',\n    }, scope)\n  }\n}\n\nfunction downAndStartHold ({ interaction, pointer, event, eventTarget, pointerIndex }: Interact.SignalArgs['interactions:down'], scope: Interact.Scope) {\n  const timer = interaction.pointers[pointerIndex].hold\n  const path = utils.dom.getPath(eventTarget as Interact.Element | Document)\n  const signalArg = {\n    interaction,\n    pointer,\n    event,\n    eventTarget,\n    type: 'hold',\n    targets: [] as EventTargetList,\n    path,\n    node: null,\n  }\n\n  for (const node of path) {\n    signalArg.node = node\n\n    scope.fire('pointerEvents:collect-targets', signalArg)\n  }\n\n  if (!signalArg.targets.length) { return }\n\n  let minDuration = Infinity\n\n  for (const target of signalArg.targets) {\n    const holdDuration = target.eventable.options.holdDuration\n\n    if (holdDuration < minDuration) {\n      minDuration = holdDuration\n    }\n  }\n\n  timer.duration = minDuration\n  timer.timeout = setTimeout(() => {\n    fire({\n      interaction,\n      eventTarget,\n      pointer,\n      event,\n      type: 'hold',\n    }, scope)\n  }, minDuration)\n}\n\nfunction tapAfterUp ({ interaction, pointer, event, eventTarget }: Interact.SignalArgs['interactions:up'], scope: Interact.Scope) {\n  if (!interaction.pointerWasMoved) {\n    fire({ interaction, eventTarget, pointer, event, type: 'tap' }, scope)\n  }\n}\n\nfunction install (scope: Scope) {\n  scope.pointerEvents = pointerEvents\n  scope.defaults.actions.pointerEvents = pointerEvents.defaults\n  utils.extend(scope.actions.phaselessTypes, pointerEvents.types)\n}\n\nexport default pointerEvents\n","import { ListenerMap } from '@interactjs/core/scope'\nimport PointerEvent from './PointerEvent'\nimport basePlugin from './base'\n\ndeclare module '@interactjs/core/Interaction' {\n  interface Interaction {\n    holdIntervalHandle?: any\n  }\n}\n\ndeclare module '@interactjs/pointer-events/PointerEvent' {\n  interface PointerEvent<T extends string = any> {\n    count?: number\n  }\n}\n\ndeclare module '@interactjs/pointer-events/base' {\n  interface PointerEventOptions {\n    holdRepeatInterval?: number\n  }\n}\n\nfunction install (scope: Interact.Scope) {\n  scope.usePlugin(basePlugin)\n\n  const {\n    pointerEvents,\n  } = scope\n\n  // don't repeat by default\n  pointerEvents.defaults.holdRepeatInterval = 0\n  pointerEvents.types.holdrepeat = scope.actions.phaselessTypes.holdrepeat = true\n}\n\nfunction onNew ({ pointerEvent }: { pointerEvent: PointerEvent<any> }) {\n  if (pointerEvent.type !== 'hold') { return }\n\n  pointerEvent.count = (pointerEvent.count || 0) + 1\n}\n\nfunction onFired (\n  { interaction, pointerEvent, eventTarget, targets }: Interact.SignalArgs['pointerEvents:fired'],\n  scope: Interact.Scope,\n) {\n  if (pointerEvent.type !== 'hold' || !targets.length) { return }\n\n  // get the repeat interval from the first eventable\n  const interval = targets[0].eventable.options.holdRepeatInterval\n\n  // don't repeat if the interval is 0 or less\n  if (interval <= 0) { return }\n\n  // set a timeout to fire the holdrepeat event\n  interaction.holdIntervalHandle = setTimeout(() => {\n    scope.pointerEvents.fire({\n      interaction,\n      eventTarget,\n      type: 'hold',\n      pointer: pointerEvent,\n      event: pointerEvent,\n    }, scope)\n  }, interval)\n}\n\nfunction endHoldRepeat ({ interaction }: { interaction: Interact.Interaction }) {\n  // set the interaction's holdStopTime property\n  // to stop further holdRepeat events\n  if (interaction.holdIntervalHandle) {\n    clearInterval(interaction.holdIntervalHandle)\n    interaction.holdIntervalHandle = null\n  }\n}\n\nconst holdRepeat: Interact.Plugin = {\n  id: 'pointer-events/holdRepeat',\n  install,\n  listeners: ['move', 'up', 'cancel', 'endall'].reduce(\n    (acc, enderTypes) => {\n      (acc as any)[`pointerEvents:${enderTypes}`] = endHoldRepeat\n      return acc\n    },\n    {\n      'pointerEvents:new': onNew,\n      'pointerEvents:fired': onFired,\n    } as ListenerMap,\n  ),\n}\n\nexport default holdRepeat\n","import Scope from '@interactjs/core/scope'\nimport extend from '@interactjs/utils/extend'\n\ntype Interactable = import ('@interactjs/core/Interactable').default\n\ndeclare module '@interactjs/core/Interactable' {\n  interface Interactable {\n    pointerEvents: typeof pointerEventsMethod\n    __backCompatOption: (optionName: string, newValue: any) => any\n  }\n}\n\nfunction install (scope: Scope) {\n  const { Interactable } = scope\n\n  Interactable.prototype.pointerEvents = pointerEventsMethod\n\n  const __backCompatOption = Interactable.prototype._backCompatOption\n\n  Interactable.prototype._backCompatOption = function (optionName, newValue) {\n    const ret = __backCompatOption.call(this, optionName, newValue)\n\n    if (ret === this) {\n      this.events.options[optionName] = newValue\n    }\n\n    return ret\n  }\n}\n\nfunction pointerEventsMethod (this: Interact.Interactable, options: any) {\n  extend(this.events.options, options)\n\n  return this\n}\n\nconst plugin: Interact.Plugin = {\n  id: 'pointer-events/interactableTargets',\n  install,\n  listeners: {\n    'pointerEvents:collect-targets': ({\n      targets,\n      node,\n      type,\n      eventTarget,\n    }, scope) => {\n      scope.interactables.forEachMatch(node, (interactable: Interactable) => {\n        const eventable = interactable.events\n        const options = eventable.options\n\n        if (\n          eventable.types[type] &&\n          eventable.types[type].length &&\n        interactable.testIgnoreAllow(options, node, eventTarget)) {\n          targets.push({\n            node,\n            eventable,\n            props: { interactable },\n          })\n        }\n      })\n    },\n\n    'interactable:new': ({ interactable }) => {\n      interactable.events.getRect = function (element: Interact.Element) {\n        return interactable.getRect(element)\n      }\n    },\n\n    'interactable:set': ({ interactable, options }, scope) => {\n      extend(interactable.events.options, scope.pointerEvents.defaults)\n      extend(interactable.events.options, options.pointerEvents || {})\n    },\n  },\n}\n\nexport default plugin\n","import * as pointerEvents from './base'\nimport holdRepeat from './holdRepeat'\nimport interactableTargets from './interactableTargets'\n\nexport default {\n  id: 'pointer-events',\n  install (scope: Interact.Scope) {\n    scope.usePlugin(pointerEvents)\n    scope.usePlugin(holdRepeat)\n    scope.usePlugin(interactableTargets)\n  },\n}\n\nexport {\n  pointerEvents,\n  holdRepeat,\n  interactableTargets,\n}\n","import Interactable from '@interactjs/core/Interactable'\nimport { ActionProps, Interaction } from '@interactjs/core/Interaction'\nimport Scope from '@interactjs/core/scope'\nimport { arr, extend, is, pointer as pointerUtils, rect as rectUtils, win } from '@interactjs/utils/index'\n\ndeclare module '@interactjs/core/Interactable' {\n  interface Interactable {\n    reflow: (action: ActionProps) => ReturnType<typeof reflow>\n  }\n}\n\ndeclare module '@interactjs/core/Interaction' {\n  interface Interaction {\n    _reflowPromise: Promise<void>\n    _reflowResolve: () => void\n  }\n}\n\ndeclare module '@interactjs/core/InteractEvent' {\n  // eslint-disable-next-line no-shadow\n  interface PhaseMap {\n    reflow?: true\n  }\n}\n\nexport function install (scope: Scope) {\n  const {\n    /** @lends Interactable */\n    // eslint-disable-next-line no-shadow\n    Interactable,\n  } = scope\n\n  scope.actions.phases.reflow = true\n\n  /**\n   * ```js\n   * const interactable = interact(target)\n   * const drag = { name: drag, axis: 'x' }\n   * const resize = { name: resize, edges: { left: true, bottom: true }\n   *\n   * interactable.reflow(drag)\n   * interactable.reflow(resize)\n   * ```\n   *\n   * Start an action sequence to re-apply modifiers, check drops, etc.\n   *\n   * @param { Object } action The action to begin\n   * @param { string } action.name The name of the action\n   * @returns { Promise } A promise that resolves to the `Interactable` when actions on all targets have ended\n   */\n  Interactable.prototype.reflow = function (action) {\n    return reflow(this, action, scope)\n  }\n}\n\nfunction reflow<T extends Interact.ActionName> (interactable: Interactable, action: ActionProps<T>, scope: Scope): Promise<Interactable> {\n  const elements = (is.string(interactable.target)\n    ? arr.from(interactable._context.querySelectorAll(interactable.target))\n    : [interactable.target]) as Interact.Element[]\n\n  // tslint:disable-next-line variable-name\n  const Promise = (win.window as any).Promise\n  const promises: Array<Promise<null>> | null = Promise ? [] : null\n\n  for (const element of elements) {\n    const rect = interactable.getRect(element as HTMLElement | SVGElement)\n\n    if (!rect) { break }\n\n    const runningInteraction = arr.find(\n      scope.interactions.list,\n      (interaction: Interaction) => {\n        return interaction.interacting() &&\n          interaction.interactable === interactable &&\n          interaction.element === element &&\n          interaction.prepared.name === action.name\n      })\n    let reflowPromise: Promise<null>\n\n    if (runningInteraction) {\n      runningInteraction.move()\n\n      if (promises) {\n        reflowPromise = runningInteraction._reflowPromise || new Promise((resolve: any) => {\n          runningInteraction._reflowResolve = resolve\n        })\n      }\n    }\n    else {\n      const xywh = rectUtils.tlbrToXywh(rect)\n      const coords = {\n        page     : { x: xywh.x, y: xywh.y },\n        client   : { x: xywh.x, y: xywh.y },\n        timeStamp: scope.now(),\n      }\n\n      const event = pointerUtils.coordsToEvent(coords)\n      reflowPromise = startReflow<T>(scope, interactable, element, action, event)\n    }\n\n    if (promises) {\n      promises.push(reflowPromise)\n    }\n  }\n\n  return promises && Promise.all(promises).then(() => interactable)\n}\n\nfunction startReflow<T extends Interact.ActionName> (scope: Scope, interactable: Interactable, element: Interact.Element, action: ActionProps<T>, event: any) {\n  const interaction = scope.interactions.new({ pointerType: 'reflow' })\n  const signalArg = {\n    interaction,\n    event,\n    pointer: event,\n    eventTarget: element,\n    phase: 'reflow',\n  } as const\n\n  interaction.interactable = interactable\n  interaction.element = element\n  interaction.prepared = extend({}, action)\n  interaction.prevEvent = event\n  interaction.updatePointer(event, event, element, true)\n\n  interaction._doPhase(signalArg)\n\n  const reflowPromise = (win.window as unknown as any).Promise\n    ? new (win.window as unknown as any).Promise((resolve: any) => {\n      interaction._reflowResolve = resolve\n    })\n    : null\n\n  interaction._reflowPromise = reflowPromise\n  interaction.start(action, interactable, element)\n\n  if (interaction._interacting) {\n    interaction.move(signalArg)\n    interaction.end(event)\n  }\n  else {\n    interaction.stop()\n  }\n\n  interaction.removePointer(event, event)\n  interaction.pointerIsDown = false\n\n  return reflowPromise\n}\n\nexport default {\n  id: 'reflow',\n  install,\n  listeners: {\n    // remove completed reflow interactions\n    'interactions:stop': ({ interaction }, scope) => {\n      if (interaction.pointerType === 'reflow') {\n        if (interaction._reflowResolve) {\n          interaction._reflowResolve()\n        }\n\n        arr.remove(scope.interactions.list, interaction)\n      }\n    },\n  },\n} as Interact.Plugin\n","export default {}\n","export const exchange = {}\n","import '@interactjs/types'\n\nimport actions from '@interactjs/actions'\n\nimport arrange from '@interactjs/arrange'\nimport autoScroll from '@interactjs/auto-scroll'\nimport autoStart from '@interactjs/auto-start'\n\nimport clone from '@interactjs/clone'\n\nimport components from '@interactjs/components'\nimport interactablePreventDefault from '@interactjs/core/interactablePreventDefault'\nimport devTools from '@interactjs/dev-tools'\nimport * as feedback from '@interactjs/feedback'\nimport inertia from '@interactjs/inertia'\nimport interact from '@interactjs/interact'\nimport modifiers from '@interactjs/modifiers/index'\nimport multiTarget from '@interactjs/multi-target'\nimport offset from '@interactjs/offset'\nimport pointerEvents from '@interactjs/pointer-events'\nimport reflow from '@interactjs/reflow'\n\nimport * as displace from '@interactjs/utils/displace'\nimport { exchange } from '@interactjs/utils/exchange'\nimport * as pointerUtils from '@interactjs/utils/pointerUtils'\nimport * as vueComponents from '@interactjs/vue'\n\ndeclare module '@interactjs/core/InteractStatic' {\n  interface InteractStatic {\n    __utils: {\n      exchange: typeof exchange\n      displace: typeof displace\n      pointer: typeof pointerUtils\n    }\n    feedback: typeof feedback\n    vue: {\n      components: typeof vueComponents\n    }\n  }\n}\n\ninteract.use(multiTarget)\n\ninteract.use(interactablePreventDefault)\n\ninteract.use(offset)\n\n// interaction element cloning\ninteract.use(clone)\n\n// sortable and swappable\ninteract.use(arrange)\n\n// pointerEvents\ninteract.use(pointerEvents)\n\n// inertia\ninteract.use(inertia)\n\n// snap, resize, etc.\ninteract.use(modifiers)\n\n// autoStart, hold\ninteract.use(autoStart)\n\n// drag and drop, resize, gesture\ninteract.use(actions)\n\n// autoScroll\ninteract.use(autoScroll)\n\n// reflow\ninteract.use(reflow)\n\ninteract.feedback = feedback\n\ninteract.use(components)\n\ninteract.vue = {\n  components: vueComponents,\n}\n\ninteract.__utils = {\n  exchange,\n  displace,\n  pointer: pointerUtils,\n}\n\n// eslint-disable-next-line no-undef\nif (process.env.NODE_ENV !== 'production') {\n  interact.use(devTools)\n}\n\nexport default interact\n","import interact from '@interactjs/interactjs/index'\n\nif (typeof module === 'object' && !!module) {\n  try { module.exports = interact }\n  catch {}\n}\n\n(interact as any).default = interact\n\nexport default interact\n","\nreturn _$index_85;\n\n});\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n  if (process.env.NODE_ENV !== 'production') {\n    if (format === undefined) {\n      throw new Error('invariant requires an error message argument');\n    }\n  }\n\n  if (!condition) {\n    var error;\n    if (format === undefined) {\n      error = new Error(\n        'Minified exception occurred; use the non-minified dev environment ' +\n        'for the full error message and additional helpful warnings.'\n      );\n    } else {\n      var args = [a, b, c, d, e, f];\n      var argIndex = 0;\n      error = new Error(\n        format.replace(/%s/g, function() { return args[argIndex++]; })\n      );\n      error.name = 'Invariant Violation';\n    }\n\n    error.framesToPop = 1; // we don't care about invariant's own frame\n    throw error;\n  }\n};\n\nmodule.exports = invariant;\n","'use strict';\n\nmodule.exports = url => {\n\tif (typeof url !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof url}\\``);\n\t}\n\n\t// Don't match Windows paths `c:\\`\n\tif (/^[a-zA-Z]:\\\\/.test(url)) {\n\t\treturn false;\n\t}\n\n\t// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n\t// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\n\treturn /^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.test(url);\n};\n","'use strict';\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar callBound = require('call-bound');\n\nvar $toString = callBound('Object.prototype.toString');\n\n/** @type {import('.')} */\nvar isStandardArguments = function isArguments(value) {\n\tif (\n\t\thasToStringTag\n\t\t&& value\n\t\t&& typeof value === 'object'\n\t\t&& Symbol.toStringTag in value\n\t) {\n\t\treturn false;\n\t}\n\treturn $toString(value) === '[object Arguments]';\n};\n\n/** @type {import('.')} */\nvar isLegacyArguments = function isArguments(value) {\n\tif (isStandardArguments(value)) {\n\t\treturn true;\n\t}\n\treturn value !== null\n\t\t&& typeof value === 'object'\n\t\t&& 'length' in value\n\t\t&& typeof value.length === 'number'\n\t\t&& value.length >= 0\n\t\t&& $toString(value) !== '[object Array]'\n\t\t&& 'callee' in value\n\t\t&& $toString(value.callee) === '[object Function]';\n};\n\nvar supportsStandardArguments = (function () {\n\treturn isStandardArguments(arguments);\n}());\n\n// @ts-expect-error TODO make this not error\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\n/** @type {import('.')} */\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\n","'use strict';\n\nvar fnToStr = Function.prototype.toString;\nvar reflectApply = typeof Reflect === 'object' && Reflect !== null && Reflect.apply;\nvar badArrayLike;\nvar isCallableMarker;\nif (typeof reflectApply === 'function' && typeof Object.defineProperty === 'function') {\n\ttry {\n\t\tbadArrayLike = Object.defineProperty({}, 'length', {\n\t\t\tget: function () {\n\t\t\t\tthrow isCallableMarker;\n\t\t\t}\n\t\t});\n\t\tisCallableMarker = {};\n\t\t// eslint-disable-next-line no-throw-literal\n\t\treflectApply(function () { throw 42; }, null, badArrayLike);\n\t} catch (_) {\n\t\tif (_ !== isCallableMarker) {\n\t\t\treflectApply = null;\n\t\t}\n\t}\n} else {\n\treflectApply = null;\n}\n\nvar constructorRegex = /^\\s*class\\b/;\nvar isES6ClassFn = function isES6ClassFunction(value) {\n\ttry {\n\t\tvar fnStr = fnToStr.call(value);\n\t\treturn constructorRegex.test(fnStr);\n\t} catch (e) {\n\t\treturn false; // not a function\n\t}\n};\n\nvar tryFunctionObject = function tryFunctionToStr(value) {\n\ttry {\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tfnToStr.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar objectClass = '[object Object]';\nvar fnClass = '[object Function]';\nvar genClass = '[object GeneratorFunction]';\nvar ddaClass = '[object HTMLAllCollection]'; // IE 11\nvar ddaClass2 = '[object HTML document.all class]';\nvar ddaClass3 = '[object HTMLCollection]'; // IE 9-10\nvar hasToStringTag = typeof Symbol === 'function' && !!Symbol.toStringTag; // better: use `has-tostringtag`\n\nvar isIE68 = !(0 in [,]); // eslint-disable-line no-sparse-arrays, comma-spacing\n\nvar isDDA = function isDocumentDotAll() { return false; };\nif (typeof document === 'object') {\n\t// Firefox 3 canonicalizes DDA to undefined when it's not accessed directly\n\tvar all = document.all;\n\tif (toStr.call(all) === toStr.call(document.all)) {\n\t\tisDDA = function isDocumentDotAll(value) {\n\t\t\t/* globals document: false */\n\t\t\t// in IE 6-8, typeof document.all is \"object\" and it's truthy\n\t\t\tif ((isIE68 || !value) && (typeof value === 'undefined' || typeof value === 'object')) {\n\t\t\t\ttry {\n\t\t\t\t\tvar str = toStr.call(value);\n\t\t\t\t\treturn (\n\t\t\t\t\t\tstr === ddaClass\n\t\t\t\t\t\t|| str === ddaClass2\n\t\t\t\t\t\t|| str === ddaClass3 // opera 12.16\n\t\t\t\t\t\t|| str === objectClass // IE 6-8\n\t\t\t\t\t) && value('') == null; // eslint-disable-line eqeqeq\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\t}\n}\n\nmodule.exports = reflectApply\n\t? function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\ttry {\n\t\t\treflectApply(value, null, badArrayLike);\n\t\t} catch (e) {\n\t\t\tif (e !== isCallableMarker) { return false; }\n\t\t}\n\t\treturn !isES6ClassFn(value) && tryFunctionObject(value);\n\t}\n\t: function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\tif (hasToStringTag) { return tryFunctionObject(value); }\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tvar strClass = toStr.call(value);\n\t\tif (strClass !== fnClass && strClass !== genClass && !(/^\\[object HTML/).test(strClass)) { return false; }\n\t\treturn tryFunctionObject(value);\n\t};\n","'use strict';\n\nvar callBound = require('call-bound');\nvar safeRegexTest = require('safe-regex-test');\nvar isFnRegex = safeRegexTest(/^\\s*(?:function)?\\*/);\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar getProto = require('get-proto');\n\nvar toStr = callBound('Object.prototype.toString');\nvar fnToStr = callBound('Function.prototype.toString');\n\nvar getGeneratorFunction = require('generator-function');\n\n/** @type {import('.')} */\nmodule.exports = function isGeneratorFunction(fn) {\n\tif (typeof fn !== 'function') {\n\t\treturn false;\n\t}\n\tif (isFnRegex(fnToStr(fn))) {\n\t\treturn true;\n\t}\n\tif (!hasToStringTag) {\n\t\tvar str = toStr(fn);\n\t\treturn str === '[object GeneratorFunction]';\n\t}\n\tif (!getProto) {\n\t\treturn false;\n\t}\n\tvar GeneratorFunction = getGeneratorFunction();\n\treturn GeneratorFunction && getProto(fn) === GeneratorFunction.prototype;\n};\n","'use strict';\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\nmodule.exports = function isNaN(value) {\n\treturn value !== value;\n};\n","'use strict';\n\nvar callBind = require('call-bind');\nvar define = require('define-properties');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind(getPolyfill(), Number);\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\tif (Number.isNaN && Number.isNaN(NaN) && !Number.isNaN('a')) {\n\t\treturn Number.isNaN;\n\t}\n\treturn implementation;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar getPolyfill = require('./polyfill');\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\nmodule.exports = function shimNumberIsNaN() {\n\tvar polyfill = getPolyfill();\n\tdefine(Number, { isNaN: polyfill }, {\n\t\tisNaN: function testIsNaN() {\n\t\t\treturn Number.isNaN !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","'use strict';\n\nvar callBound = require('call-bound');\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar hasOwn = require('hasown');\nvar gOPD = require('gopd');\n\n/** @type {import('.')} */\nvar fn;\n\nif (hasToStringTag) {\n\t/** @type {(receiver: ThisParameterType<typeof RegExp.prototype.exec>, ...args: Parameters<typeof RegExp.prototype.exec>) => ReturnType<typeof RegExp.prototype.exec>} */\n\tvar $exec = callBound('RegExp.prototype.exec');\n\t/** @type {object} */\n\tvar isRegexMarker = {};\n\n\tvar throwRegexMarker = function () {\n\t\tthrow isRegexMarker;\n\t};\n\t/** @type {{ toString(): never, valueOf(): never, [Symbol.toPrimitive]?(): never }} */\n\tvar badStringifier = {\n\t\ttoString: throwRegexMarker,\n\t\tvalueOf: throwRegexMarker\n\t};\n\n\tif (typeof Symbol.toPrimitive === 'symbol') {\n\t\tbadStringifier[Symbol.toPrimitive] = throwRegexMarker;\n\t}\n\n\t/** @type {import('.')} */\n\t// @ts-expect-error TS can't figure out that the $exec call always throws\n\t// eslint-disable-next-line consistent-return\n\tfn = function isRegex(value) {\n\t\tif (!value || typeof value !== 'object') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {NonNullable<typeof gOPD>} */ (gOPD)(/** @type {{ lastIndex?: unknown }} */ (value), 'lastIndex');\n\t\tvar hasLastIndexDataProperty = descriptor && hasOwn(descriptor, 'value');\n\t\tif (!hasLastIndexDataProperty) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\t$exec(value, /** @type {string} */ (/** @type {unknown} */ (badStringifier)));\n\t\t} catch (e) {\n\t\t\treturn e === isRegexMarker;\n\t\t}\n\t};\n} else {\n\t/** @type {(receiver: ThisParameterType<typeof Object.prototype.toString>, ...args: Parameters<typeof Object.prototype.toString>) => ReturnType<typeof Object.prototype.toString>} */\n\tvar $toString = callBound('Object.prototype.toString');\n\t/** @const @type {'[object RegExp]'} */\n\tvar regexClass = '[object RegExp]';\n\n\t/** @type {import('.')} */\n\tfn = function isRegex(value) {\n\t\t// In older browsers, typeof regex incorrectly returns 'function'\n\t\tif (!value || (typeof value !== 'object' && typeof value !== 'function')) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn $toString(value) === regexClass;\n\t};\n}\n\nmodule.exports = fn;\n","'use strict';\n\nvar whichTypedArray = require('which-typed-array');\n\n/** @type {import('.')} */\nmodule.exports = function isTypedArray(value) {\n\treturn !!whichTypedArray(value);\n};\n","'use strict';\n\nvar traverse = module.exports = function (schema, opts, cb) {\n  // Legacy support for v0.3.1 and earlier.\n  if (typeof opts == 'function') {\n    cb = opts;\n    opts = {};\n  }\n\n  cb = opts.cb || cb;\n  var pre = (typeof cb == 'function') ? cb : cb.pre || function() {};\n  var post = cb.post || function() {};\n\n  _traverse(opts, pre, post, schema, '', schema);\n};\n\n\ntraverse.keywords = {\n  additionalItems: true,\n  items: true,\n  contains: true,\n  additionalProperties: true,\n  propertyNames: true,\n  not: true\n};\n\ntraverse.arrayKeywords = {\n  items: true,\n  allOf: true,\n  anyOf: true,\n  oneOf: true\n};\n\ntraverse.propsKeywords = {\n  definitions: true,\n  properties: true,\n  patternProperties: true,\n  dependencies: true\n};\n\ntraverse.skipKeywords = {\n  default: true,\n  enum: true,\n  const: true,\n  required: true,\n  maximum: true,\n  minimum: true,\n  exclusiveMaximum: true,\n  exclusiveMinimum: true,\n  multipleOf: true,\n  maxLength: true,\n  minLength: true,\n  pattern: true,\n  format: true,\n  maxItems: true,\n  minItems: true,\n  uniqueItems: true,\n  maxProperties: true,\n  minProperties: true\n};\n\n\nfunction _traverse(opts, pre, post, schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex) {\n  if (schema && typeof schema == 'object' && !Array.isArray(schema)) {\n    pre(schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex);\n    for (var key in schema) {\n      var sch = schema[key];\n      if (Array.isArray(sch)) {\n        if (key in traverse.arrayKeywords) {\n          for (var i=0; i<sch.length; i++)\n            _traverse(opts, pre, post, sch[i], jsonPtr + '/' + key + '/' + i, rootSchema, jsonPtr, key, schema, i);\n        }\n      } else if (key in traverse.propsKeywords) {\n        if (sch && typeof sch == 'object') {\n          for (var prop in sch)\n            _traverse(opts, pre, post, sch[prop], jsonPtr + '/' + key + '/' + escapeJsonPtr(prop), rootSchema, jsonPtr, key, schema, prop);\n        }\n      } else if (key in traverse.keywords || (opts.allKeys && !(key in traverse.skipKeywords))) {\n        _traverse(opts, pre, post, sch, jsonPtr + '/' + key, rootSchema, jsonPtr, key, schema);\n      }\n    }\n    post(schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex);\n  }\n}\n\n\nfunction escapeJsonPtr(str) {\n  return str.replace(/~/g, '~0').replace(/\\//g, '~1');\n}\n","var _fs\ntry {\n  _fs = require('graceful-fs')\n} catch (_) {\n  _fs = require('fs')\n}\n\nfunction readFile (file, options, callback) {\n  if (callback == null) {\n    callback = options\n    options = {}\n  }\n\n  if (typeof options === 'string') {\n    options = {encoding: options}\n  }\n\n  options = options || {}\n  var fs = options.fs || _fs\n\n  var shouldThrow = true\n  if ('throws' in options) {\n    shouldThrow = options.throws\n  }\n\n  fs.readFile(file, options, function (err, data) {\n    if (err) return callback(err)\n\n    data = stripBom(data)\n\n    var obj\n    try {\n      obj = JSON.parse(data, options ? options.reviver : null)\n    } catch (err2) {\n      if (shouldThrow) {\n        err2.message = file + ': ' + err2.message\n        return callback(err2)\n      } else {\n        return callback(null, null)\n      }\n    }\n\n    callback(null, obj)\n  })\n}\n\nfunction readFileSync (file, options) {\n  options = options || {}\n  if (typeof options === 'string') {\n    options = {encoding: options}\n  }\n\n  var fs = options.fs || _fs\n\n  var shouldThrow = true\n  if ('throws' in options) {\n    shouldThrow = options.throws\n  }\n\n  try {\n    var content = fs.readFileSync(file, options)\n    content = stripBom(content)\n    return JSON.parse(content, options.reviver)\n  } catch (err) {\n    if (shouldThrow) {\n      err.message = file + ': ' + err.message\n      throw err\n    } else {\n      return null\n    }\n  }\n}\n\nfunction stringify (obj, options) {\n  var spaces\n  var EOL = '\\n'\n  if (typeof options === 'object' && options !== null) {\n    if (options.spaces) {\n      spaces = options.spaces\n    }\n    if (options.EOL) {\n      EOL = options.EOL\n    }\n  }\n\n  var str = JSON.stringify(obj, options ? options.replacer : null, spaces)\n\n  return str.replace(/\\n/g, EOL) + EOL\n}\n\nfunction writeFile (file, obj, options, callback) {\n  if (callback == null) {\n    callback = options\n    options = {}\n  }\n  options = options || {}\n  var fs = options.fs || _fs\n\n  var str = ''\n  try {\n    str = stringify(obj, options)\n  } catch (err) {\n    // Need to return whether a callback was passed or not\n    if (callback) callback(err, null)\n    return\n  }\n\n  fs.writeFile(file, str, options, callback)\n}\n\nfunction writeFileSync (file, obj, options) {\n  options = options || {}\n  var fs = options.fs || _fs\n\n  var str = stringify(obj, options)\n  // not sure if fs.writeFileSync returns anything, but just in case\n  return fs.writeFileSync(file, str, options)\n}\n\nfunction stripBom (content) {\n  // we do this because JSON.parse would convert it to a utf8 string if encoding wasn't specified\n  if (Buffer.isBuffer(content)) content = content.toString('utf8')\n  content = content.replace(/^\\uFEFF/, '')\n  return content\n}\n\nvar jsonfile = {\n  readFile: readFile,\n  readFileSync: readFileSync,\n  writeFile: writeFile,\n  writeFileSync: writeFileSync\n}\n\nmodule.exports = jsonfile\n","var hashClear = require('./_hashClear'),\n    hashDelete = require('./_hashDelete'),\n    hashGet = require('./_hashGet'),\n    hashHas = require('./_hashHas'),\n    hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n  var index = -1,\n      length = entries == null ? 0 : entries.length;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var listCacheClear = require('./_listCacheClear'),\n    listCacheDelete = require('./_listCacheDelete'),\n    listCacheGet = require('./_listCacheGet'),\n    listCacheHas = require('./_listCacheHas'),\n    listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n  var index = -1,\n      length = entries == null ? 0 : entries.length;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var getNative = require('./_getNative'),\n    root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var mapCacheClear = require('./_mapCacheClear'),\n    mapCacheDelete = require('./_mapCacheDelete'),\n    mapCacheGet = require('./_mapCacheGet'),\n    mapCacheHas = require('./_mapCacheHas'),\n    mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n  var index = -1,\n      length = entries == null ? 0 : entries.length;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n  switch (args.length) {\n    case 0: return func.call(thisArg);\n    case 1: return func.call(thisArg, args[0]);\n    case 2: return func.call(thisArg, args[0], args[1]);\n    case 3: return func.call(thisArg, args[0], args[1], args[2]);\n  }\n  return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n  var index = -1,\n      length = array == null ? 0 : array.length,\n      result = Array(length);\n\n  while (++index < length) {\n    result[index] = iteratee(array[index], index, array);\n  }\n  return result;\n}\n\nmodule.exports = arrayMap;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n  var index = -1,\n      length = values.length,\n      offset = array.length;\n\n  while (++index < length) {\n    array[offset + index] = values[index];\n  }\n  return array;\n}\n\nmodule.exports = arrayPush;\n","var baseAssignValue = require('./_baseAssignValue'),\n    eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n  var objValue = object[key];\n  if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n      (value === undefined && !(key in object))) {\n    baseAssignValue(object, key, value);\n  }\n}\n\nmodule.exports = assignValue;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n  var length = array.length;\n  while (length--) {\n    if (eq(array[length][0], key)) {\n      return length;\n    }\n  }\n  return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n  if (key == '__proto__' && defineProperty) {\n    defineProperty(object, key, {\n      'configurable': true,\n      'enumerable': true,\n      'value': value,\n      'writable': true\n    });\n  } else {\n    object[key] = value;\n  }\n}\n\nmodule.exports = baseAssignValue;\n","var arrayPush = require('./_arrayPush'),\n    isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n  var index = -1,\n      length = array.length;\n\n  predicate || (predicate = isFlattenable);\n  result || (result = []);\n\n  while (++index < length) {\n    var value = array[index];\n    if (depth > 0 && predicate(value)) {\n      if (depth > 1) {\n        // Recursively flatten arrays (susceptible to call stack limits).\n        baseFlatten(value, depth - 1, predicate, isStrict, result);\n      } else {\n        arrayPush(result, value);\n      }\n    } else if (!isStrict) {\n      result[result.length] = value;\n    }\n  }\n  return result;\n}\n\nmodule.exports = baseFlatten;\n","var castPath = require('./_castPath'),\n    toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n  path = castPath(path, object);\n\n  var index = 0,\n      length = path.length;\n\n  while (object != null && index < length) {\n    object = object[toKey(path[index++])];\n  }\n  return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n","var Symbol = require('./_Symbol'),\n    getRawTag = require('./_getRawTag'),\n    objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n    undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n  if (value == null) {\n    return value === undefined ? undefinedTag : nullTag;\n  }\n  return (symToStringTag && symToStringTag in Object(value))\n    ? getRawTag(value)\n    : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n  return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n","var baseGetTag = require('./_baseGetTag'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n  return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var isFunction = require('./isFunction'),\n    isMasked = require('./_isMasked'),\n    isObject = require('./isObject'),\n    toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n    objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n  funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n  .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n *  else `false`.\n */\nfunction baseIsNative(value) {\n  if (!isObject(value) || isMasked(value)) {\n    return false;\n  }\n  var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n  return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var basePickBy = require('./_basePickBy'),\n    hasIn = require('./hasIn');\n\n/**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @returns {Object} Returns the new object.\n */\nfunction basePick(object, paths) {\n  return basePickBy(object, paths, function(value, path) {\n    return hasIn(object, path);\n  });\n}\n\nmodule.exports = basePick;\n","var baseGet = require('./_baseGet'),\n    baseSet = require('./_baseSet'),\n    castPath = require('./_castPath');\n\n/**\n * The base implementation of  `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, paths, predicate) {\n  var index = -1,\n      length = paths.length,\n      result = {};\n\n  while (++index < length) {\n    var path = paths[index],\n        value = baseGet(object, path);\n\n    if (predicate(value, path)) {\n      baseSet(result, castPath(path, object), value);\n    }\n  }\n  return result;\n}\n\nmodule.exports = basePickBy;\n","var assignValue = require('./_assignValue'),\n    castPath = require('./_castPath'),\n    isIndex = require('./_isIndex'),\n    isObject = require('./isObject'),\n    toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n  if (!isObject(object)) {\n    return object;\n  }\n  path = castPath(path, object);\n\n  var index = -1,\n      length = path.length,\n      lastIndex = length - 1,\n      nested = object;\n\n  while (nested != null && ++index < length) {\n    var key = toKey(path[index]),\n        newValue = value;\n\n    if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n      return object;\n    }\n\n    if (index != lastIndex) {\n      var objValue = nested[key];\n      newValue = customizer ? customizer(objValue, key, nested) : undefined;\n      if (newValue === undefined) {\n        newValue = isObject(objValue)\n          ? objValue\n          : (isIndex(path[index + 1]) ? [] : {});\n      }\n    }\n    assignValue(nested, key, newValue);\n    nested = nested[key];\n  }\n  return object;\n}\n\nmodule.exports = baseSet;\n","var constant = require('./constant'),\n    defineProperty = require('./_defineProperty'),\n    identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n  return defineProperty(func, 'toString', {\n    'configurable': true,\n    'enumerable': false,\n    'value': constant(string),\n    'writable': true\n  });\n};\n\nmodule.exports = baseSetToString;\n","var Symbol = require('./_Symbol'),\n    arrayMap = require('./_arrayMap'),\n    isArray = require('./isArray'),\n    isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n    symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n  // Exit early for strings to avoid a performance hit in some environments.\n  if (typeof value == 'string') {\n    return value;\n  }\n  if (isArray(value)) {\n    // Recursively convert values (susceptible to call stack limits).\n    return arrayMap(value, baseToString) + '';\n  }\n  if (isSymbol(value)) {\n    return symbolToString ? symbolToString.call(value) : '';\n  }\n  var result = (value + '');\n  return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","var isArray = require('./isArray'),\n    isKey = require('./_isKey'),\n    stringToPath = require('./_stringToPath'),\n    toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n  if (isArray(value)) {\n    return value;\n  }\n  return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n  try {\n    var func = getNative(Object, 'defineProperty');\n    func({}, '', {});\n    return func;\n  } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var flatten = require('./flatten'),\n    overRest = require('./_overRest'),\n    setToString = require('./_setToString');\n\n/**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\nfunction flatRest(func) {\n  return setToString(overRest(func, undefined, flatten), func + '');\n}\n\nmodule.exports = flatRest;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n  var data = map.__data__;\n  return isKeyable(key)\n    ? data[typeof key == 'string' ? 'string' : 'hash']\n    : data.map;\n}\n\nmodule.exports = getMapData;\n","var baseIsNative = require('./_baseIsNative'),\n    getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n  var value = getValue(object, key);\n  return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n  var isOwn = hasOwnProperty.call(value, symToStringTag),\n      tag = value[symToStringTag];\n\n  try {\n    value[symToStringTag] = undefined;\n    var unmasked = true;\n  } catch (e) {}\n\n  var result = nativeObjectToString.call(value);\n  if (unmasked) {\n    if (isOwn) {\n      value[symToStringTag] = tag;\n    } else {\n      delete value[symToStringTag];\n    }\n  }\n  return result;\n}\n\nmodule.exports = getRawTag;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n  return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var castPath = require('./_castPath'),\n    isArguments = require('./isArguments'),\n    isArray = require('./isArray'),\n    isIndex = require('./_isIndex'),\n    isLength = require('./isLength'),\n    toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n  path = castPath(path, object);\n\n  var index = -1,\n      length = path.length,\n      result = false;\n\n  while (++index < length) {\n    var key = toKey(path[index]);\n    if (!(result = object != null && hasFunc(object, key))) {\n      break;\n    }\n    object = object[key];\n  }\n  if (result || ++index != length) {\n    return result;\n  }\n  length = object == null ? 0 : object.length;\n  return !!length && isLength(length) && isIndex(key, length) &&\n    (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n  this.__data__ = nativeCreate ? nativeCreate(null) : {};\n  this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n  var result = this.has(key) && delete this.__data__[key];\n  this.size -= result ? 1 : 0;\n  return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n  var data = this.__data__;\n  if (nativeCreate) {\n    var result = data[key];\n    return result === HASH_UNDEFINED ? undefined : result;\n  }\n  return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n  var data = this.__data__;\n  return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n  var data = this.__data__;\n  this.size += this.has(key) ? 0 : 1;\n  data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n  return this;\n}\n\nmodule.exports = hashSet;\n","var Symbol = require('./_Symbol'),\n    isArguments = require('./isArguments'),\n    isArray = require('./isArray');\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n  return isArray(value) || isArguments(value) ||\n    !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nmodule.exports = isFlattenable;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n  var type = typeof value;\n  length = length == null ? MAX_SAFE_INTEGER : length;\n\n  return !!length &&\n    (type == 'number' ||\n      (type != 'symbol' && reIsUint.test(value))) &&\n        (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var isArray = require('./isArray'),\n    isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n    reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n  if (isArray(value)) {\n    return false;\n  }\n  var type = typeof value;\n  if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n      value == null || isSymbol(value)) {\n    return true;\n  }\n  return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n    (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n  var type = typeof value;\n  return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n    ? (value !== '__proto__')\n    : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n  var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n  return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n  return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n  this.__data__ = [];\n  this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  if (index < 0) {\n    return false;\n  }\n  var lastIndex = data.length - 1;\n  if (index == lastIndex) {\n    data.pop();\n  } else {\n    splice.call(data, index, 1);\n  }\n  --this.size;\n  return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n  return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  if (index < 0) {\n    ++this.size;\n    data.push([key, value]);\n  } else {\n    data[index][1] = value;\n  }\n  return this;\n}\n\nmodule.exports = listCacheSet;\n","var Hash = require('./_Hash'),\n    ListCache = require('./_ListCache'),\n    Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n  this.size = 0;\n  this.__data__ = {\n    'hash': new Hash,\n    'map': new (Map || ListCache),\n    'string': new Hash\n  };\n}\n\nmodule.exports = mapCacheClear;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n  var result = getMapData(this, key)['delete'](key);\n  this.size -= result ? 1 : 0;\n  return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n  return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n  return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n  var data = getMapData(this, key),\n      size = data.size;\n\n  data.set(key, value);\n  this.size += data.size == size ? 0 : 1;\n  return this;\n}\n\nmodule.exports = mapCacheSet;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n  var result = memoize(func, function(key) {\n    if (cache.size === MAX_MEMOIZE_SIZE) {\n      cache.clear();\n    }\n    return key;\n  });\n\n  var cache = result.cache;\n  return result;\n}\n\nmodule.exports = memoizeCapped;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n  return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n  start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n  return function() {\n    var args = arguments,\n        index = -1,\n        length = nativeMax(args.length - start, 0),\n        array = Array(length);\n\n    while (++index < length) {\n      array[index] = args[start + index];\n    }\n    index = -1;\n    var otherArgs = Array(start + 1);\n    while (++index < start) {\n      otherArgs[index] = args[index];\n    }\n    otherArgs[start] = transform(array);\n    return apply(func, this, otherArgs);\n  };\n}\n\nmodule.exports = overRest;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var baseSetToString = require('./_baseSetToString'),\n    shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n    HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n  var count = 0,\n      lastCalled = 0;\n\n  return function() {\n    var stamp = nativeNow(),\n        remaining = HOT_SPAN - (stamp - lastCalled);\n\n    lastCalled = stamp;\n    if (remaining > 0) {\n      if (++count >= HOT_COUNT) {\n        return arguments[0];\n      }\n    } else {\n      count = 0;\n    }\n    return func.apply(undefined, arguments);\n  };\n}\n\nmodule.exports = shortOut;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n  var result = [];\n  if (string.charCodeAt(0) === 46 /* . */) {\n    result.push('');\n  }\n  string.replace(rePropName, function(match, number, quote, subString) {\n    result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n  });\n  return result;\n});\n\nmodule.exports = stringToPath;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n  if (typeof value == 'string' || isSymbol(value)) {\n    return value;\n  }\n  var result = (value + '');\n  return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n  if (func != null) {\n    try {\n      return funcToString.call(func);\n    } catch (e) {}\n    try {\n      return (func + '');\n    } catch (e) {}\n  }\n  return '';\n}\n\nmodule.exports = toSource;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n  return function() {\n    return value;\n  };\n}\n\nmodule.exports = constant;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n  return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var baseFlatten = require('./_baseFlatten');\n\n/**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\nfunction flatten(array) {\n  var length = array == null ? 0 : array.length;\n  return length ? baseFlatten(array, 1) : [];\n}\n\nmodule.exports = flatten;\n","var _ = require('./lodash.min').runInContext();\nmodule.exports = require('./fp/_baseConvert')(_, _);\n","var mapping = require('./_mapping'),\n    fallbackHolder = require('./placeholder');\n\n/** Built-in value reference. */\nvar push = Array.prototype.push;\n\n/**\n * Creates a function, with an arity of `n`, that invokes `func` with the\n * arguments it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} n The arity of the new function.\n * @returns {Function} Returns the new function.\n */\nfunction baseArity(func, n) {\n  return n == 2\n    ? function(a, b) { return func.apply(undefined, arguments); }\n    : function(a) { return func.apply(undefined, arguments); };\n}\n\n/**\n * Creates a function that invokes `func`, with up to `n` arguments, ignoring\n * any additional arguments.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @param {number} n The arity cap.\n * @returns {Function} Returns the new function.\n */\nfunction baseAry(func, n) {\n  return n == 2\n    ? function(a, b) { return func(a, b); }\n    : function(a) { return func(a); };\n}\n\n/**\n * Creates a clone of `array`.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the cloned array.\n */\nfunction cloneArray(array) {\n  var length = array ? array.length : 0,\n      result = Array(length);\n\n  while (length--) {\n    result[length] = array[length];\n  }\n  return result;\n}\n\n/**\n * Creates a function that clones a given object using the assignment `func`.\n *\n * @private\n * @param {Function} func The assignment function.\n * @returns {Function} Returns the new cloner function.\n */\nfunction createCloner(func) {\n  return function(object) {\n    return func({}, object);\n  };\n}\n\n/**\n * A specialized version of `_.spread` which flattens the spread array into\n * the arguments of the invoked `func`.\n *\n * @private\n * @param {Function} func The function to spread arguments over.\n * @param {number} start The start position of the spread.\n * @returns {Function} Returns the new function.\n */\nfunction flatSpread(func, start) {\n  return function() {\n    var length = arguments.length,\n        lastIndex = length - 1,\n        args = Array(length);\n\n    while (length--) {\n      args[length] = arguments[length];\n    }\n    var array = args[start],\n        otherArgs = args.slice(0, start);\n\n    if (array) {\n      push.apply(otherArgs, array);\n    }\n    if (start != lastIndex) {\n      push.apply(otherArgs, args.slice(start + 1));\n    }\n    return func.apply(this, otherArgs);\n  };\n}\n\n/**\n * Creates a function that wraps `func` and uses `cloner` to clone the first\n * argument it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} cloner The function to clone arguments.\n * @returns {Function} Returns the new immutable function.\n */\nfunction wrapImmutable(func, cloner) {\n  return function() {\n    var length = arguments.length;\n    if (!length) {\n      return;\n    }\n    var args = Array(length);\n    while (length--) {\n      args[length] = arguments[length];\n    }\n    var result = args[0] = cloner.apply(undefined, args);\n    func.apply(undefined, args);\n    return result;\n  };\n}\n\n/**\n * The base implementation of `convert` which accepts a `util` object of methods\n * required to perform conversions.\n *\n * @param {Object} util The util object.\n * @param {string} name The name of the function to convert.\n * @param {Function} func The function to convert.\n * @param {Object} [options] The options object.\n * @param {boolean} [options.cap=true] Specify capping iteratee arguments.\n * @param {boolean} [options.curry=true] Specify currying.\n * @param {boolean} [options.fixed=true] Specify fixed arity.\n * @param {boolean} [options.immutable=true] Specify immutable operations.\n * @param {boolean} [options.rearg=true] Specify rearranging arguments.\n * @returns {Function|Object} Returns the converted function or object.\n */\nfunction baseConvert(util, name, func, options) {\n  var isLib = typeof name == 'function',\n      isObj = name === Object(name);\n\n  if (isObj) {\n    options = func;\n    func = name;\n    name = undefined;\n  }\n  if (func == null) {\n    throw new TypeError;\n  }\n  options || (options = {});\n\n  var config = {\n    'cap': 'cap' in options ? options.cap : true,\n    'curry': 'curry' in options ? options.curry : true,\n    'fixed': 'fixed' in options ? options.fixed : true,\n    'immutable': 'immutable' in options ? options.immutable : true,\n    'rearg': 'rearg' in options ? options.rearg : true\n  };\n\n  var defaultHolder = isLib ? func : fallbackHolder,\n      forceCurry = ('curry' in options) && options.curry,\n      forceFixed = ('fixed' in options) && options.fixed,\n      forceRearg = ('rearg' in options) && options.rearg,\n      pristine = isLib ? func.runInContext() : undefined;\n\n  var helpers = isLib ? func : {\n    'ary': util.ary,\n    'assign': util.assign,\n    'clone': util.clone,\n    'curry': util.curry,\n    'forEach': util.forEach,\n    'isArray': util.isArray,\n    'isError': util.isError,\n    'isFunction': util.isFunction,\n    'isWeakMap': util.isWeakMap,\n    'iteratee': util.iteratee,\n    'keys': util.keys,\n    'rearg': util.rearg,\n    'toInteger': util.toInteger,\n    'toPath': util.toPath\n  };\n\n  var ary = helpers.ary,\n      assign = helpers.assign,\n      clone = helpers.clone,\n      curry = helpers.curry,\n      each = helpers.forEach,\n      isArray = helpers.isArray,\n      isError = helpers.isError,\n      isFunction = helpers.isFunction,\n      isWeakMap = helpers.isWeakMap,\n      keys = helpers.keys,\n      rearg = helpers.rearg,\n      toInteger = helpers.toInteger,\n      toPath = helpers.toPath;\n\n  var aryMethodKeys = keys(mapping.aryMethod);\n\n  var wrappers = {\n    'castArray': function(castArray) {\n      return function() {\n        var value = arguments[0];\n        return isArray(value)\n          ? castArray(cloneArray(value))\n          : castArray.apply(undefined, arguments);\n      };\n    },\n    'iteratee': function(iteratee) {\n      return function() {\n        var func = arguments[0],\n            arity = arguments[1],\n            result = iteratee(func, arity),\n            length = result.length;\n\n        if (config.cap && typeof arity == 'number') {\n          arity = arity > 2 ? (arity - 2) : 1;\n          return (length && length <= arity) ? result : baseAry(result, arity);\n        }\n        return result;\n      };\n    },\n    'mixin': function(mixin) {\n      return function(source) {\n        var func = this;\n        if (!isFunction(func)) {\n          return mixin(func, Object(source));\n        }\n        var pairs = [];\n        each(keys(source), function(key) {\n          if (isFunction(source[key])) {\n            pairs.push([key, func.prototype[key]]);\n          }\n        });\n\n        mixin(func, Object(source));\n\n        each(pairs, function(pair) {\n          var value = pair[1];\n          if (isFunction(value)) {\n            func.prototype[pair[0]] = value;\n          } else {\n            delete func.prototype[pair[0]];\n          }\n        });\n        return func;\n      };\n    },\n    'nthArg': function(nthArg) {\n      return function(n) {\n        var arity = n < 0 ? 1 : (toInteger(n) + 1);\n        return curry(nthArg(n), arity);\n      };\n    },\n    'rearg': function(rearg) {\n      return function(func, indexes) {\n        var arity = indexes ? indexes.length : 0;\n        return curry(rearg(func, indexes), arity);\n      };\n    },\n    'runInContext': function(runInContext) {\n      return function(context) {\n        return baseConvert(util, runInContext(context), options);\n      };\n    }\n  };\n\n  /*--------------------------------------------------------------------------*/\n\n  /**\n   * Casts `func` to a function with an arity capped iteratee if needed.\n   *\n   * @private\n   * @param {string} name The name of the function to inspect.\n   * @param {Function} func The function to inspect.\n   * @returns {Function} Returns the cast function.\n   */\n  function castCap(name, func) {\n    if (config.cap) {\n      var indexes = mapping.iterateeRearg[name];\n      if (indexes) {\n        return iterateeRearg(func, indexes);\n      }\n      var n = !isLib && mapping.iterateeAry[name];\n      if (n) {\n        return iterateeAry(func, n);\n      }\n    }\n    return func;\n  }\n\n  /**\n   * Casts `func` to a curried function if needed.\n   *\n   * @private\n   * @param {string} name The name of the function to inspect.\n   * @param {Function} func The function to inspect.\n   * @param {number} n The arity of `func`.\n   * @returns {Function} Returns the cast function.\n   */\n  function castCurry(name, func, n) {\n    return (forceCurry || (config.curry && n > 1))\n      ? curry(func, n)\n      : func;\n  }\n\n  /**\n   * Casts `func` to a fixed arity function if needed.\n   *\n   * @private\n   * @param {string} name The name of the function to inspect.\n   * @param {Function} func The function to inspect.\n   * @param {number} n The arity cap.\n   * @returns {Function} Returns the cast function.\n   */\n  function castFixed(name, func, n) {\n    if (config.fixed && (forceFixed || !mapping.skipFixed[name])) {\n      var data = mapping.methodSpread[name],\n          start = data && data.start;\n\n      return start  === undefined ? ary(func, n) : flatSpread(func, start);\n    }\n    return func;\n  }\n\n  /**\n   * Casts `func` to an rearged function if needed.\n   *\n   * @private\n   * @param {string} name The name of the function to inspect.\n   * @param {Function} func The function to inspect.\n   * @param {number} n The arity of `func`.\n   * @returns {Function} Returns the cast function.\n   */\n  function castRearg(name, func, n) {\n    return (config.rearg && n > 1 && (forceRearg || !mapping.skipRearg[name]))\n      ? rearg(func, mapping.methodRearg[name] || mapping.aryRearg[n])\n      : func;\n  }\n\n  /**\n   * Creates a clone of `object` by `path`.\n   *\n   * @private\n   * @param {Object} object The object to clone.\n   * @param {Array|string} path The path to clone by.\n   * @returns {Object} Returns the cloned object.\n   */\n  function cloneByPath(object, path) {\n    path = toPath(path);\n\n    var index = -1,\n        length = path.length,\n        lastIndex = length - 1,\n        result = clone(Object(object)),\n        nested = result;\n\n    while (nested != null && ++index < length) {\n      var key = path[index],\n          value = nested[key];\n\n      if (value != null &&\n          !(isFunction(value) || isError(value) || isWeakMap(value))) {\n        nested[key] = clone(index == lastIndex ? value : Object(value));\n      }\n      nested = nested[key];\n    }\n    return result;\n  }\n\n  /**\n   * Converts `lodash` to an immutable auto-curried iteratee-first data-last\n   * version with conversion `options` applied.\n   *\n   * @param {Object} [options] The options object. See `baseConvert` for more details.\n   * @returns {Function} Returns the converted `lodash`.\n   */\n  function convertLib(options) {\n    return _.runInContext.convert(options)(undefined);\n  }\n\n  /**\n   * Create a converter function for `func` of `name`.\n   *\n   * @param {string} name The name of the function to convert.\n   * @param {Function} func The function to convert.\n   * @returns {Function} Returns the new converter function.\n   */\n  function createConverter(name, func) {\n    var realName = mapping.aliasToReal[name] || name,\n        methodName = mapping.remap[realName] || realName,\n        oldOptions = options;\n\n    return function(options) {\n      var newUtil = isLib ? pristine : helpers,\n          newFunc = isLib ? pristine[methodName] : func,\n          newOptions = assign(assign({}, oldOptions), options);\n\n      return baseConvert(newUtil, realName, newFunc, newOptions);\n    };\n  }\n\n  /**\n   * Creates a function that wraps `func` to invoke its iteratee, with up to `n`\n   * arguments, ignoring any additional arguments.\n   *\n   * @private\n   * @param {Function} func The function to cap iteratee arguments for.\n   * @param {number} n The arity cap.\n   * @returns {Function} Returns the new function.\n   */\n  function iterateeAry(func, n) {\n    return overArg(func, function(func) {\n      return typeof func == 'function' ? baseAry(func, n) : func;\n    });\n  }\n\n  /**\n   * Creates a function that wraps `func` to invoke its iteratee with arguments\n   * arranged according to the specified `indexes` where the argument value at\n   * the first index is provided as the first argument, the argument value at\n   * the second index is provided as the second argument, and so on.\n   *\n   * @private\n   * @param {Function} func The function to rearrange iteratee arguments for.\n   * @param {number[]} indexes The arranged argument indexes.\n   * @returns {Function} Returns the new function.\n   */\n  function iterateeRearg(func, indexes) {\n    return overArg(func, function(func) {\n      var n = indexes.length;\n      return baseArity(rearg(baseAry(func, n), indexes), n);\n    });\n  }\n\n  /**\n   * Creates a function that invokes `func` with its first argument transformed.\n   *\n   * @private\n   * @param {Function} func The function to wrap.\n   * @param {Function} transform The argument transform.\n   * @returns {Function} Returns the new function.\n   */\n  function overArg(func, transform) {\n    return function() {\n      var length = arguments.length;\n      if (!length) {\n        return func();\n      }\n      var args = Array(length);\n      while (length--) {\n        args[length] = arguments[length];\n      }\n      var index = config.rearg ? 0 : (length - 1);\n      args[index] = transform(args[index]);\n      return func.apply(undefined, args);\n    };\n  }\n\n  /**\n   * Creates a function that wraps `func` and applys the conversions\n   * rules by `name`.\n   *\n   * @private\n   * @param {string} name The name of the function to wrap.\n   * @param {Function} func The function to wrap.\n   * @returns {Function} Returns the converted function.\n   */\n  function wrap(name, func, placeholder) {\n    var result,\n        realName = mapping.aliasToReal[name] || name,\n        wrapped = func,\n        wrapper = wrappers[realName];\n\n    if (wrapper) {\n      wrapped = wrapper(func);\n    }\n    else if (config.immutable) {\n      if (mapping.mutate.array[realName]) {\n        wrapped = wrapImmutable(func, cloneArray);\n      }\n      else if (mapping.mutate.object[realName]) {\n        wrapped = wrapImmutable(func, createCloner(func));\n      }\n      else if (mapping.mutate.set[realName]) {\n        wrapped = wrapImmutable(func, cloneByPath);\n      }\n    }\n    each(aryMethodKeys, function(aryKey) {\n      each(mapping.aryMethod[aryKey], function(otherName) {\n        if (realName == otherName) {\n          var data = mapping.methodSpread[realName],\n              afterRearg = data && data.afterRearg;\n\n          result = afterRearg\n            ? castFixed(realName, castRearg(realName, wrapped, aryKey), aryKey)\n            : castRearg(realName, castFixed(realName, wrapped, aryKey), aryKey);\n\n          result = castCap(realName, result);\n          result = castCurry(realName, result, aryKey);\n          return false;\n        }\n      });\n      return !result;\n    });\n\n    result || (result = wrapped);\n    if (result == func) {\n      result = forceCurry ? curry(result, 1) : function() {\n        return func.apply(this, arguments);\n      };\n    }\n    result.convert = createConverter(realName, func);\n    result.placeholder = func.placeholder = placeholder;\n\n    return result;\n  }\n\n  /*--------------------------------------------------------------------------*/\n\n  if (!isObj) {\n    return wrap(name, func, defaultHolder);\n  }\n  var _ = func;\n\n  // Convert methods by ary cap.\n  var pairs = [];\n  each(aryMethodKeys, function(aryKey) {\n    each(mapping.aryMethod[aryKey], function(key) {\n      var func = _[mapping.remap[key] || key];\n      if (func) {\n        pairs.push([key, wrap(key, func, _)]);\n      }\n    });\n  });\n\n  // Convert remaining methods.\n  each(keys(_), function(key) {\n    var func = _[key];\n    if (typeof func == 'function') {\n      var length = pairs.length;\n      while (length--) {\n        if (pairs[length][0] == key) {\n          return;\n        }\n      }\n      func.convert = createConverter(key, func);\n      pairs.push([key, func]);\n    }\n  });\n\n  // Assign to `_` leaving `_.prototype` unchanged to allow chaining.\n  each(pairs, function(pair) {\n    _[pair[0]] = pair[1];\n  });\n\n  _.convert = convertLib;\n  _.placeholder = _;\n\n  // Assign aliases.\n  each(keys(_), function(key) {\n    each(mapping.realToAlias[key] || [], function(alias) {\n      _[alias] = _[key];\n    });\n  });\n\n  return _;\n}\n\nmodule.exports = baseConvert;\n","/** Used to map aliases to their real names. */\nexports.aliasToReal = {\n\n  // Lodash aliases.\n  'each': 'forEach',\n  'eachRight': 'forEachRight',\n  'entries': 'toPairs',\n  'entriesIn': 'toPairsIn',\n  'extend': 'assignIn',\n  'extendAll': 'assignInAll',\n  'extendAllWith': 'assignInAllWith',\n  'extendWith': 'assignInWith',\n  'first': 'head',\n\n  // Methods that are curried variants of others.\n  'conforms': 'conformsTo',\n  'matches': 'isMatch',\n  'property': 'get',\n\n  // Ramda aliases.\n  '__': 'placeholder',\n  'F': 'stubFalse',\n  'T': 'stubTrue',\n  'all': 'every',\n  'allPass': 'overEvery',\n  'always': 'constant',\n  'any': 'some',\n  'anyPass': 'overSome',\n  'apply': 'spread',\n  'assoc': 'set',\n  'assocPath': 'set',\n  'complement': 'negate',\n  'compose': 'flowRight',\n  'contains': 'includes',\n  'dissoc': 'unset',\n  'dissocPath': 'unset',\n  'dropLast': 'dropRight',\n  'dropLastWhile': 'dropRightWhile',\n  'equals': 'isEqual',\n  'identical': 'eq',\n  'indexBy': 'keyBy',\n  'init': 'initial',\n  'invertObj': 'invert',\n  'juxt': 'over',\n  'omitAll': 'omit',\n  'nAry': 'ary',\n  'path': 'get',\n  'pathEq': 'matchesProperty',\n  'pathOr': 'getOr',\n  'paths': 'at',\n  'pickAll': 'pick',\n  'pipe': 'flow',\n  'pluck': 'map',\n  'prop': 'get',\n  'propEq': 'matchesProperty',\n  'propOr': 'getOr',\n  'props': 'at',\n  'symmetricDifference': 'xor',\n  'symmetricDifferenceBy': 'xorBy',\n  'symmetricDifferenceWith': 'xorWith',\n  'takeLast': 'takeRight',\n  'takeLastWhile': 'takeRightWhile',\n  'unapply': 'rest',\n  'unnest': 'flatten',\n  'useWith': 'overArgs',\n  'where': 'conformsTo',\n  'whereEq': 'isMatch',\n  'zipObj': 'zipObject'\n};\n\n/** Used to map ary to method names. */\nexports.aryMethod = {\n  '1': [\n    'assignAll', 'assignInAll', 'attempt', 'castArray', 'ceil', 'create',\n    'curry', 'curryRight', 'defaultsAll', 'defaultsDeepAll', 'floor', 'flow',\n    'flowRight', 'fromPairs', 'invert', 'iteratee', 'memoize', 'method', 'mergeAll',\n    'methodOf', 'mixin', 'nthArg', 'over', 'overEvery', 'overSome','rest', 'reverse',\n    'round', 'runInContext', 'spread', 'template', 'trim', 'trimEnd', 'trimStart',\n    'uniqueId', 'words', 'zipAll'\n  ],\n  '2': [\n    'add', 'after', 'ary', 'assign', 'assignAllWith', 'assignIn', 'assignInAllWith',\n    'at', 'before', 'bind', 'bindAll', 'bindKey', 'chunk', 'cloneDeepWith',\n    'cloneWith', 'concat', 'conformsTo', 'countBy', 'curryN', 'curryRightN',\n    'debounce', 'defaults', 'defaultsDeep', 'defaultTo', 'delay', 'difference',\n    'divide', 'drop', 'dropRight', 'dropRightWhile', 'dropWhile', 'endsWith', 'eq',\n    'every', 'filter', 'find', 'findIndex', 'findKey', 'findLast', 'findLastIndex',\n    'findLastKey', 'flatMap', 'flatMapDeep', 'flattenDepth', 'forEach',\n    'forEachRight', 'forIn', 'forInRight', 'forOwn', 'forOwnRight', 'get',\n    'groupBy', 'gt', 'gte', 'has', 'hasIn', 'includes', 'indexOf', 'intersection',\n    'invertBy', 'invoke', 'invokeMap', 'isEqual', 'isMatch', 'join', 'keyBy',\n    'lastIndexOf', 'lt', 'lte', 'map', 'mapKeys', 'mapValues', 'matchesProperty',\n    'maxBy', 'meanBy', 'merge', 'mergeAllWith', 'minBy', 'multiply', 'nth', 'omit',\n    'omitBy', 'overArgs', 'pad', 'padEnd', 'padStart', 'parseInt', 'partial',\n    'partialRight', 'partition', 'pick', 'pickBy', 'propertyOf', 'pull', 'pullAll',\n    'pullAt', 'random', 'range', 'rangeRight', 'rearg', 'reject', 'remove',\n    'repeat', 'restFrom', 'result', 'sampleSize', 'some', 'sortBy', 'sortedIndex',\n    'sortedIndexOf', 'sortedLastIndex', 'sortedLastIndexOf', 'sortedUniqBy',\n    'split', 'spreadFrom', 'startsWith', 'subtract', 'sumBy', 'take', 'takeRight',\n    'takeRightWhile', 'takeWhile', 'tap', 'throttle', 'thru', 'times', 'trimChars',\n    'trimCharsEnd', 'trimCharsStart', 'truncate', 'union', 'uniqBy', 'uniqWith',\n    'unset', 'unzipWith', 'without', 'wrap', 'xor', 'zip', 'zipObject',\n    'zipObjectDeep'\n  ],\n  '3': [\n    'assignInWith', 'assignWith', 'clamp', 'differenceBy', 'differenceWith',\n    'findFrom', 'findIndexFrom', 'findLastFrom', 'findLastIndexFrom', 'getOr',\n    'includesFrom', 'indexOfFrom', 'inRange', 'intersectionBy', 'intersectionWith',\n    'invokeArgs', 'invokeArgsMap', 'isEqualWith', 'isMatchWith', 'flatMapDepth',\n    'lastIndexOfFrom', 'mergeWith', 'orderBy', 'padChars', 'padCharsEnd',\n    'padCharsStart', 'pullAllBy', 'pullAllWith', 'rangeStep', 'rangeStepRight',\n    'reduce', 'reduceRight', 'replace', 'set', 'slice', 'sortedIndexBy',\n    'sortedLastIndexBy', 'transform', 'unionBy', 'unionWith', 'update', 'xorBy',\n    'xorWith', 'zipWith'\n  ],\n  '4': [\n    'fill', 'setWith', 'updateWith'\n  ]\n};\n\n/** Used to map ary to rearg configs. */\nexports.aryRearg = {\n  '2': [1, 0],\n  '3': [2, 0, 1],\n  '4': [3, 2, 0, 1]\n};\n\n/** Used to map method names to their iteratee ary. */\nexports.iterateeAry = {\n  'dropRightWhile': 1,\n  'dropWhile': 1,\n  'every': 1,\n  'filter': 1,\n  'find': 1,\n  'findFrom': 1,\n  'findIndex': 1,\n  'findIndexFrom': 1,\n  'findKey': 1,\n  'findLast': 1,\n  'findLastFrom': 1,\n  'findLastIndex': 1,\n  'findLastIndexFrom': 1,\n  'findLastKey': 1,\n  'flatMap': 1,\n  'flatMapDeep': 1,\n  'flatMapDepth': 1,\n  'forEach': 1,\n  'forEachRight': 1,\n  'forIn': 1,\n  'forInRight': 1,\n  'forOwn': 1,\n  'forOwnRight': 1,\n  'map': 1,\n  'mapKeys': 1,\n  'mapValues': 1,\n  'partition': 1,\n  'reduce': 2,\n  'reduceRight': 2,\n  'reject': 1,\n  'remove': 1,\n  'some': 1,\n  'takeRightWhile': 1,\n  'takeWhile': 1,\n  'times': 1,\n  'transform': 2\n};\n\n/** Used to map method names to iteratee rearg configs. */\nexports.iterateeRearg = {\n  'mapKeys': [1],\n  'reduceRight': [1, 0]\n};\n\n/** Used to map method names to rearg configs. */\nexports.methodRearg = {\n  'assignInAllWith': [1, 0],\n  'assignInWith': [1, 2, 0],\n  'assignAllWith': [1, 0],\n  'assignWith': [1, 2, 0],\n  'differenceBy': [1, 2, 0],\n  'differenceWith': [1, 2, 0],\n  'getOr': [2, 1, 0],\n  'intersectionBy': [1, 2, 0],\n  'intersectionWith': [1, 2, 0],\n  'isEqualWith': [1, 2, 0],\n  'isMatchWith': [2, 1, 0],\n  'mergeAllWith': [1, 0],\n  'mergeWith': [1, 2, 0],\n  'padChars': [2, 1, 0],\n  'padCharsEnd': [2, 1, 0],\n  'padCharsStart': [2, 1, 0],\n  'pullAllBy': [2, 1, 0],\n  'pullAllWith': [2, 1, 0],\n  'rangeStep': [1, 2, 0],\n  'rangeStepRight': [1, 2, 0],\n  'setWith': [3, 1, 2, 0],\n  'sortedIndexBy': [2, 1, 0],\n  'sortedLastIndexBy': [2, 1, 0],\n  'unionBy': [1, 2, 0],\n  'unionWith': [1, 2, 0],\n  'updateWith': [3, 1, 2, 0],\n  'xorBy': [1, 2, 0],\n  'xorWith': [1, 2, 0],\n  'zipWith': [1, 2, 0]\n};\n\n/** Used to map method names to spread configs. */\nexports.methodSpread = {\n  'assignAll': { 'start': 0 },\n  'assignAllWith': { 'start': 0 },\n  'assignInAll': { 'start': 0 },\n  'assignInAllWith': { 'start': 0 },\n  'defaultsAll': { 'start': 0 },\n  'defaultsDeepAll': { 'start': 0 },\n  'invokeArgs': { 'start': 2 },\n  'invokeArgsMap': { 'start': 2 },\n  'mergeAll': { 'start': 0 },\n  'mergeAllWith': { 'start': 0 },\n  'partial': { 'start': 1 },\n  'partialRight': { 'start': 1 },\n  'without': { 'start': 1 },\n  'zipAll': { 'start': 0 }\n};\n\n/** Used to identify methods which mutate arrays or objects. */\nexports.mutate = {\n  'array': {\n    'fill': true,\n    'pull': true,\n    'pullAll': true,\n    'pullAllBy': true,\n    'pullAllWith': true,\n    'pullAt': true,\n    'remove': true,\n    'reverse': true\n  },\n  'object': {\n    'assign': true,\n    'assignAll': true,\n    'assignAllWith': true,\n    'assignIn': true,\n    'assignInAll': true,\n    'assignInAllWith': true,\n    'assignInWith': true,\n    'assignWith': true,\n    'defaults': true,\n    'defaultsAll': true,\n    'defaultsDeep': true,\n    'defaultsDeepAll': true,\n    'merge': true,\n    'mergeAll': true,\n    'mergeAllWith': true,\n    'mergeWith': true,\n  },\n  'set': {\n    'set': true,\n    'setWith': true,\n    'unset': true,\n    'update': true,\n    'updateWith': true\n  }\n};\n\n/** Used to map real names to their aliases. */\nexports.realToAlias = (function() {\n  var hasOwnProperty = Object.prototype.hasOwnProperty,\n      object = exports.aliasToReal,\n      result = {};\n\n  for (var key in object) {\n    var value = object[key];\n    if (hasOwnProperty.call(result, value)) {\n      result[value].push(key);\n    } else {\n      result[value] = [key];\n    }\n  }\n  return result;\n}());\n\n/** Used to map method names to other names. */\nexports.remap = {\n  'assignAll': 'assign',\n  'assignAllWith': 'assignWith',\n  'assignInAll': 'assignIn',\n  'assignInAllWith': 'assignInWith',\n  'curryN': 'curry',\n  'curryRightN': 'curryRight',\n  'defaultsAll': 'defaults',\n  'defaultsDeepAll': 'defaultsDeep',\n  'findFrom': 'find',\n  'findIndexFrom': 'findIndex',\n  'findLastFrom': 'findLast',\n  'findLastIndexFrom': 'findLastIndex',\n  'getOr': 'get',\n  'includesFrom': 'includes',\n  'indexOfFrom': 'indexOf',\n  'invokeArgs': 'invoke',\n  'invokeArgsMap': 'invokeMap',\n  'lastIndexOfFrom': 'lastIndexOf',\n  'mergeAll': 'merge',\n  'mergeAllWith': 'mergeWith',\n  'padChars': 'pad',\n  'padCharsEnd': 'padEnd',\n  'padCharsStart': 'padStart',\n  'propertyOf': 'get',\n  'rangeStep': 'range',\n  'rangeStepRight': 'rangeRight',\n  'restFrom': 'rest',\n  'spreadFrom': 'spread',\n  'trimChars': 'trim',\n  'trimCharsEnd': 'trimEnd',\n  'trimCharsStart': 'trimStart',\n  'zipAll': 'zip'\n};\n\n/** Used to track methods that skip fixing their arity. */\nexports.skipFixed = {\n  'castArray': true,\n  'flow': true,\n  'flowRight': true,\n  'iteratee': true,\n  'mixin': true,\n  'rearg': true,\n  'runInContext': true\n};\n\n/** Used to track methods that skip rearranging arguments. */\nexports.skipRearg = {\n  'add': true,\n  'assign': true,\n  'assignIn': true,\n  'bind': true,\n  'bindKey': true,\n  'concat': true,\n  'difference': true,\n  'divide': true,\n  'eq': true,\n  'gt': true,\n  'gte': true,\n  'isEqual': true,\n  'lt': true,\n  'lte': true,\n  'matchesProperty': true,\n  'merge': true,\n  'multiply': true,\n  'overArgs': true,\n  'partial': true,\n  'partialRight': true,\n  'propertyOf': true,\n  'random': true,\n  'range': true,\n  'rangeRight': true,\n  'subtract': true,\n  'zip': true,\n  'zipObject': true,\n  'zipObjectDeep': true\n};\n","/**\n * The default argument placeholder value for methods.\n *\n * @type {Object}\n */\nmodule.exports = {};\n","var baseHasIn = require('./_baseHasIn'),\n    hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n  return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n  return value;\n}\n\nmodule.exports = identity;\n","var baseIsArguments = require('./_baseIsArguments'),\n    isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n *  else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n  return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n    !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var baseGetTag = require('./_baseGetTag'),\n    isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n    funcTag = '[object Function]',\n    genTag = '[object GeneratorFunction]',\n    proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n  if (!isObject(value)) {\n    return false;\n  }\n  // The use of `Object#toString` avoids issues with the `typeof` operator\n  // in Safari 9 which returns 'object' for typed arrays and other constructors.\n  var tag = baseGetTag(value);\n  return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n  return typeof value == 'number' &&\n    value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n  var type = typeof value;\n  return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n  return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n  return typeof value == 'symbol' ||\n    (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","/**\n * @license\n * Lodash <https://lodash.com/>\n * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n;(function() {\n\n  /** Used as a safe reference for `undefined` in pre-ES5 environments. */\n  var undefined;\n\n  /** Used as the semantic version number. */\n  var VERSION = '4.17.21';\n\n  /** Used as the size to enable large array optimizations. */\n  var LARGE_ARRAY_SIZE = 200;\n\n  /** Error message constants. */\n  var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.',\n      FUNC_ERROR_TEXT = 'Expected a function',\n      INVALID_TEMPL_VAR_ERROR_TEXT = 'Invalid `variable` option passed into `_.template`';\n\n  /** Used to stand-in for `undefined` hash values. */\n  var HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n  /** Used as the maximum memoize cache size. */\n  var MAX_MEMOIZE_SIZE = 500;\n\n  /** Used as the internal argument placeholder. */\n  var PLACEHOLDER = '__lodash_placeholder__';\n\n  /** Used to compose bitmasks for cloning. */\n  var CLONE_DEEP_FLAG = 1,\n      CLONE_FLAT_FLAG = 2,\n      CLONE_SYMBOLS_FLAG = 4;\n\n  /** Used to compose bitmasks for value comparisons. */\n  var COMPARE_PARTIAL_FLAG = 1,\n      COMPARE_UNORDERED_FLAG = 2;\n\n  /** Used to compose bitmasks for function metadata. */\n  var WRAP_BIND_FLAG = 1,\n      WRAP_BIND_KEY_FLAG = 2,\n      WRAP_CURRY_BOUND_FLAG = 4,\n      WRAP_CURRY_FLAG = 8,\n      WRAP_CURRY_RIGHT_FLAG = 16,\n      WRAP_PARTIAL_FLAG = 32,\n      WRAP_PARTIAL_RIGHT_FLAG = 64,\n      WRAP_ARY_FLAG = 128,\n      WRAP_REARG_FLAG = 256,\n      WRAP_FLIP_FLAG = 512;\n\n  /** Used as default options for `_.truncate`. */\n  var DEFAULT_TRUNC_LENGTH = 30,\n      DEFAULT_TRUNC_OMISSION = '...';\n\n  /** Used to detect hot functions by number of calls within a span of milliseconds. */\n  var HOT_COUNT = 800,\n      HOT_SPAN = 16;\n\n  /** Used to indicate the type of lazy iteratees. */\n  var LAZY_FILTER_FLAG = 1,\n      LAZY_MAP_FLAG = 2,\n      LAZY_WHILE_FLAG = 3;\n\n  /** Used as references for various `Number` constants. */\n  var INFINITY = 1 / 0,\n      MAX_SAFE_INTEGER = 9007199254740991,\n      MAX_INTEGER = 1.7976931348623157e+308,\n      NAN = 0 / 0;\n\n  /** Used as references for the maximum length and index of an array. */\n  var MAX_ARRAY_LENGTH = 4294967295,\n      MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1,\n      HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;\n\n  /** Used to associate wrap methods with their bit flags. */\n  var wrapFlags = [\n    ['ary', WRAP_ARY_FLAG],\n    ['bind', WRAP_BIND_FLAG],\n    ['bindKey', WRAP_BIND_KEY_FLAG],\n    ['curry', WRAP_CURRY_FLAG],\n    ['curryRight', WRAP_CURRY_RIGHT_FLAG],\n    ['flip', WRAP_FLIP_FLAG],\n    ['partial', WRAP_PARTIAL_FLAG],\n    ['partialRight', WRAP_PARTIAL_RIGHT_FLAG],\n    ['rearg', WRAP_REARG_FLAG]\n  ];\n\n  /** `Object#toString` result references. */\n  var argsTag = '[object Arguments]',\n      arrayTag = '[object Array]',\n      asyncTag = '[object AsyncFunction]',\n      boolTag = '[object Boolean]',\n      dateTag = '[object Date]',\n      domExcTag = '[object DOMException]',\n      errorTag = '[object Error]',\n      funcTag = '[object Function]',\n      genTag = '[object GeneratorFunction]',\n      mapTag = '[object Map]',\n      numberTag = '[object Number]',\n      nullTag = '[object Null]',\n      objectTag = '[object Object]',\n      promiseTag = '[object Promise]',\n      proxyTag = '[object Proxy]',\n      regexpTag = '[object RegExp]',\n      setTag = '[object Set]',\n      stringTag = '[object String]',\n      symbolTag = '[object Symbol]',\n      undefinedTag = '[object Undefined]',\n      weakMapTag = '[object WeakMap]',\n      weakSetTag = '[object WeakSet]';\n\n  var arrayBufferTag = '[object ArrayBuffer]',\n      dataViewTag = '[object DataView]',\n      float32Tag = '[object Float32Array]',\n      float64Tag = '[object Float64Array]',\n      int8Tag = '[object Int8Array]',\n      int16Tag = '[object Int16Array]',\n      int32Tag = '[object Int32Array]',\n      uint8Tag = '[object Uint8Array]',\n      uint8ClampedTag = '[object Uint8ClampedArray]',\n      uint16Tag = '[object Uint16Array]',\n      uint32Tag = '[object Uint32Array]';\n\n  /** Used to match empty string literals in compiled template source. */\n  var reEmptyStringLeading = /\\b__p \\+= '';/g,\n      reEmptyStringMiddle = /\\b(__p \\+=) '' \\+/g,\n      reEmptyStringTrailing = /(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g;\n\n  /** Used to match HTML entities and HTML characters. */\n  var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g,\n      reUnescapedHtml = /[&<>\"']/g,\n      reHasEscapedHtml = RegExp(reEscapedHtml.source),\n      reHasUnescapedHtml = RegExp(reUnescapedHtml.source);\n\n  /** Used to match template delimiters. */\n  var reEscape = /<%-([\\s\\S]+?)%>/g,\n      reEvaluate = /<%([\\s\\S]+?)%>/g,\n      reInterpolate = /<%=([\\s\\S]+?)%>/g;\n\n  /** Used to match property names within property paths. */\n  var reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n      reIsPlainProp = /^\\w*$/,\n      rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n  /**\n   * Used to match `RegExp`\n   * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n   */\n  var reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g,\n      reHasRegExpChar = RegExp(reRegExpChar.source);\n\n  /** Used to match leading whitespace. */\n  var reTrimStart = /^\\s+/;\n\n  /** Used to match a single whitespace character. */\n  var reWhitespace = /\\s/;\n\n  /** Used to match wrap detail comments. */\n  var reWrapComment = /\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,\n      reWrapDetails = /\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,\n      reSplitDetails = /,? & /;\n\n  /** Used to match words composed of alphanumeric characters. */\n  var reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n  /**\n   * Used to validate the `validate` option in `_.template` variable.\n   *\n   * Forbids characters which could potentially change the meaning of the function argument definition:\n   * - \"(),\" (modification of function parameters)\n   * - \"=\" (default value)\n   * - \"[]{}\" (destructuring of function parameters)\n   * - \"/\" (beginning of a comment)\n   * - whitespace\n   */\n  var reForbiddenIdentifierChars = /[()=,{}\\[\\]\\/\\s]/;\n\n  /** Used to match backslashes in property paths. */\n  var reEscapeChar = /\\\\(\\\\)?/g;\n\n  /**\n   * Used to match\n   * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components).\n   */\n  var reEsTemplate = /\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g;\n\n  /** Used to match `RegExp` flags from their coerced string values. */\n  var reFlags = /\\w*$/;\n\n  /** Used to detect bad signed hexadecimal string values. */\n  var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n  /** Used to detect binary string values. */\n  var reIsBinary = /^0b[01]+$/i;\n\n  /** Used to detect host constructors (Safari). */\n  var reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n  /** Used to detect octal string values. */\n  var reIsOctal = /^0o[0-7]+$/i;\n\n  /** Used to detect unsigned integer values. */\n  var reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n  /** Used to match Latin Unicode letters (excluding mathematical operators). */\n  var reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n  /** Used to ensure capturing order of template delimiters. */\n  var reNoMatch = /($^)/;\n\n  /** Used to match unescaped characters in compiled string literals. */\n  var reUnescapedString = /['\\n\\r\\u2028\\u2029\\\\]/g;\n\n  /** Used to compose unicode character classes. */\n  var rsAstralRange = '\\\\ud800-\\\\udfff',\n      rsComboMarksRange = '\\\\u0300-\\\\u036f',\n      reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n      rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n      rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n      rsDingbatRange = '\\\\u2700-\\\\u27bf',\n      rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n      rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n      rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n      rsPunctuationRange = '\\\\u2000-\\\\u206f',\n      rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n      rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n      rsVarRange = '\\\\ufe0e\\\\ufe0f',\n      rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n  /** Used to compose unicode capture groups. */\n  var rsApos = \"['\\u2019]\",\n      rsAstral = '[' + rsAstralRange + ']',\n      rsBreak = '[' + rsBreakRange + ']',\n      rsCombo = '[' + rsComboRange + ']',\n      rsDigits = '\\\\d+',\n      rsDingbat = '[' + rsDingbatRange + ']',\n      rsLower = '[' + rsLowerRange + ']',\n      rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n      rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n      rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n      rsNonAstral = '[^' + rsAstralRange + ']',\n      rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n      rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n      rsUpper = '[' + rsUpperRange + ']',\n      rsZWJ = '\\\\u200d';\n\n  /** Used to compose unicode regexes. */\n  var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n      rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n      rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n      rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n      reOptMod = rsModifier + '?',\n      rsOptVar = '[' + rsVarRange + ']?',\n      rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n      rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n      rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n      rsSeq = rsOptVar + reOptMod + rsOptJoin,\n      rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq,\n      rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n  /** Used to match apostrophes. */\n  var reApos = RegExp(rsApos, 'g');\n\n  /**\n   * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n   * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n   */\n  var reComboMark = RegExp(rsCombo, 'g');\n\n  /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\n  var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n  /** Used to match complex or compound words. */\n  var reUnicodeWord = RegExp([\n    rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n    rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n    rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n    rsUpper + '+' + rsOptContrUpper,\n    rsOrdUpper,\n    rsOrdLower,\n    rsDigits,\n    rsEmoji\n  ].join('|'), 'g');\n\n  /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\n  var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange  + rsComboRange + rsVarRange + ']');\n\n  /** Used to detect strings that need a more robust regexp to match words. */\n  var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n  /** Used to assign default `context` object properties. */\n  var contextProps = [\n    'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array',\n    'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object',\n    'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array',\n    'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap',\n    '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout'\n  ];\n\n  /** Used to make template sourceURLs easier to identify. */\n  var templateCounter = -1;\n\n  /** Used to identify `toStringTag` values of typed arrays. */\n  var typedArrayTags = {};\n  typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n  typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n  typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n  typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n  typedArrayTags[uint32Tag] = true;\n  typedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n  typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n  typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\n  typedArrayTags[errorTag] = typedArrayTags[funcTag] =\n  typedArrayTags[mapTag] = typedArrayTags[numberTag] =\n  typedArrayTags[objectTag] = typedArrayTags[regexpTag] =\n  typedArrayTags[setTag] = typedArrayTags[stringTag] =\n  typedArrayTags[weakMapTag] = false;\n\n  /** Used to identify `toStringTag` values supported by `_.clone`. */\n  var cloneableTags = {};\n  cloneableTags[argsTag] = cloneableTags[arrayTag] =\n  cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\n  cloneableTags[boolTag] = cloneableTags[dateTag] =\n  cloneableTags[float32Tag] = cloneableTags[float64Tag] =\n  cloneableTags[int8Tag] = cloneableTags[int16Tag] =\n  cloneableTags[int32Tag] = cloneableTags[mapTag] =\n  cloneableTags[numberTag] = cloneableTags[objectTag] =\n  cloneableTags[regexpTag] = cloneableTags[setTag] =\n  cloneableTags[stringTag] = cloneableTags[symbolTag] =\n  cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n  cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n  cloneableTags[errorTag] = cloneableTags[funcTag] =\n  cloneableTags[weakMapTag] = false;\n\n  /** Used to map Latin Unicode letters to basic Latin letters. */\n  var deburredLetters = {\n    // Latin-1 Supplement block.\n    '\\xc0': 'A',  '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n    '\\xe0': 'a',  '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n    '\\xc7': 'C',  '\\xe7': 'c',\n    '\\xd0': 'D',  '\\xf0': 'd',\n    '\\xc8': 'E',  '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n    '\\xe8': 'e',  '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n    '\\xcc': 'I',  '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n    '\\xec': 'i',  '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n    '\\xd1': 'N',  '\\xf1': 'n',\n    '\\xd2': 'O',  '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n    '\\xf2': 'o',  '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n    '\\xd9': 'U',  '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n    '\\xf9': 'u',  '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n    '\\xdd': 'Y',  '\\xfd': 'y', '\\xff': 'y',\n    '\\xc6': 'Ae', '\\xe6': 'ae',\n    '\\xde': 'Th', '\\xfe': 'th',\n    '\\xdf': 'ss',\n    // Latin Extended-A block.\n    '\\u0100': 'A',  '\\u0102': 'A', '\\u0104': 'A',\n    '\\u0101': 'a',  '\\u0103': 'a', '\\u0105': 'a',\n    '\\u0106': 'C',  '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n    '\\u0107': 'c',  '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n    '\\u010e': 'D',  '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n    '\\u0112': 'E',  '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n    '\\u0113': 'e',  '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n    '\\u011c': 'G',  '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n    '\\u011d': 'g',  '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n    '\\u0124': 'H',  '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n    '\\u0128': 'I',  '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n    '\\u0129': 'i',  '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n    '\\u0134': 'J',  '\\u0135': 'j',\n    '\\u0136': 'K',  '\\u0137': 'k', '\\u0138': 'k',\n    '\\u0139': 'L',  '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n    '\\u013a': 'l',  '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n    '\\u0143': 'N',  '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n    '\\u0144': 'n',  '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n    '\\u014c': 'O',  '\\u014e': 'O', '\\u0150': 'O',\n    '\\u014d': 'o',  '\\u014f': 'o', '\\u0151': 'o',\n    '\\u0154': 'R',  '\\u0156': 'R', '\\u0158': 'R',\n    '\\u0155': 'r',  '\\u0157': 'r', '\\u0159': 'r',\n    '\\u015a': 'S',  '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n    '\\u015b': 's',  '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n    '\\u0162': 'T',  '\\u0164': 'T', '\\u0166': 'T',\n    '\\u0163': 't',  '\\u0165': 't', '\\u0167': 't',\n    '\\u0168': 'U',  '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n    '\\u0169': 'u',  '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n    '\\u0174': 'W',  '\\u0175': 'w',\n    '\\u0176': 'Y',  '\\u0177': 'y', '\\u0178': 'Y',\n    '\\u0179': 'Z',  '\\u017b': 'Z', '\\u017d': 'Z',\n    '\\u017a': 'z',  '\\u017c': 'z', '\\u017e': 'z',\n    '\\u0132': 'IJ', '\\u0133': 'ij',\n    '\\u0152': 'Oe', '\\u0153': 'oe',\n    '\\u0149': \"'n\", '\\u017f': 's'\n  };\n\n  /** Used to map characters to HTML entities. */\n  var htmlEscapes = {\n    '&': '&amp;',\n    '<': '&lt;',\n    '>': '&gt;',\n    '\"': '&quot;',\n    \"'\": '&#39;'\n  };\n\n  /** Used to map HTML entities to characters. */\n  var htmlUnescapes = {\n    '&amp;': '&',\n    '&lt;': '<',\n    '&gt;': '>',\n    '&quot;': '\"',\n    '&#39;': \"'\"\n  };\n\n  /** Used to escape characters for inclusion in compiled string literals. */\n  var stringEscapes = {\n    '\\\\': '\\\\',\n    \"'\": \"'\",\n    '\\n': 'n',\n    '\\r': 'r',\n    '\\u2028': 'u2028',\n    '\\u2029': 'u2029'\n  };\n\n  /** Built-in method references without a dependency on `root`. */\n  var freeParseFloat = parseFloat,\n      freeParseInt = parseInt;\n\n  /** Detect free variable `global` from Node.js. */\n  var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n  /** Detect free variable `self`. */\n  var freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n  /** Used as a reference to the global object. */\n  var root = freeGlobal || freeSelf || Function('return this')();\n\n  /** Detect free variable `exports`. */\n  var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n  /** Detect free variable `module`. */\n  var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n  /** Detect the popular CommonJS extension `module.exports`. */\n  var moduleExports = freeModule && freeModule.exports === freeExports;\n\n  /** Detect free variable `process` from Node.js. */\n  var freeProcess = moduleExports && freeGlobal.process;\n\n  /** Used to access faster Node.js helpers. */\n  var nodeUtil = (function() {\n    try {\n      // Use `util.types` for Node.js 10+.\n      var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n      if (types) {\n        return types;\n      }\n\n      // Legacy `process.binding('util')` for Node.js < 10.\n      return freeProcess && freeProcess.binding && freeProcess.binding('util');\n    } catch (e) {}\n  }());\n\n  /* Node.js helper references. */\n  var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer,\n      nodeIsDate = nodeUtil && nodeUtil.isDate,\n      nodeIsMap = nodeUtil && nodeUtil.isMap,\n      nodeIsRegExp = nodeUtil && nodeUtil.isRegExp,\n      nodeIsSet = nodeUtil && nodeUtil.isSet,\n      nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n  /*--------------------------------------------------------------------------*/\n\n  /**\n   * A faster alternative to `Function#apply`, this function invokes `func`\n   * with the `this` binding of `thisArg` and the arguments of `args`.\n   *\n   * @private\n   * @param {Function} func The function to invoke.\n   * @param {*} thisArg The `this` binding of `func`.\n   * @param {Array} args The arguments to invoke `func` with.\n   * @returns {*} Returns the result of `func`.\n   */\n  function apply(func, thisArg, args) {\n    switch (args.length) {\n      case 0: return func.call(thisArg);\n      case 1: return func.call(thisArg, args[0]);\n      case 2: return func.call(thisArg, args[0], args[1]);\n      case 3: return func.call(thisArg, args[0], args[1], args[2]);\n    }\n    return func.apply(thisArg, args);\n  }\n\n  /**\n   * A specialized version of `baseAggregator` for arrays.\n   *\n   * @private\n   * @param {Array} [array] The array to iterate over.\n   * @param {Function} setter The function to set `accumulator` values.\n   * @param {Function} iteratee The iteratee to transform keys.\n   * @param {Object} accumulator The initial aggregated object.\n   * @returns {Function} Returns `accumulator`.\n   */\n  function arrayAggregator(array, setter, iteratee, accumulator) {\n    var index = -1,\n        length = array == null ? 0 : array.length;\n\n    while (++index < length) {\n      var value = array[index];\n      setter(accumulator, value, iteratee(value), array);\n    }\n    return accumulator;\n  }\n\n  /**\n   * A specialized version of `_.forEach` for arrays without support for\n   * iteratee shorthands.\n   *\n   * @private\n   * @param {Array} [array] The array to iterate over.\n   * @param {Function} iteratee The function invoked per iteration.\n   * @returns {Array} Returns `array`.\n   */\n  function arrayEach(array, iteratee) {\n    var index = -1,\n        length = array == null ? 0 : array.length;\n\n    while (++index < length) {\n      if (iteratee(array[index], index, array) === false) {\n        break;\n      }\n    }\n    return array;\n  }\n\n  /**\n   * A specialized version of `_.forEachRight` for arrays without support for\n   * iteratee shorthands.\n   *\n   * @private\n   * @param {Array} [array] The array to iterate over.\n   * @param {Function} iteratee The function invoked per iteration.\n   * @returns {Array} Returns `array`.\n   */\n  function arrayEachRight(array, iteratee) {\n    var length = array == null ? 0 : array.length;\n\n    while (length--) {\n      if (iteratee(array[length], length, array) === false) {\n        break;\n      }\n    }\n    return array;\n  }\n\n  /**\n   * A specialized version of `_.every` for arrays without support for\n   * iteratee shorthands.\n   *\n   * @private\n   * @param {Array} [array] The array to iterate over.\n   * @param {Function} predicate The function invoked per iteration.\n   * @returns {boolean} Returns `true` if all elements pass the predicate check,\n   *  else `false`.\n   */\n  function arrayEvery(array, predicate) {\n    var index = -1,\n        length = array == null ? 0 : array.length;\n\n    while (++index < length) {\n      if (!predicate(array[index], index, array)) {\n        return false;\n      }\n    }\n    return true;\n  }\n\n  /**\n   * A specialized version of `_.filter` for arrays without support for\n   * iteratee shorthands.\n   *\n   * @private\n   * @param {Array} [array] The array to iterate over.\n   * @param {Function} predicate The function invoked per iteration.\n   * @returns {Array} Returns the new filtered array.\n   */\n  function arrayFilter(array, predicate) {\n    var index = -1,\n        length = array == null ? 0 : array.length,\n        resIndex = 0,\n        result = [];\n\n    while (++index < length) {\n      var value = array[index];\n      if (predicate(value, index, array)) {\n        result[resIndex++] = value;\n      }\n    }\n    return result;\n  }\n\n  /**\n   * A specialized version of `_.includes` for arrays without support for\n   * specifying an index to search from.\n   *\n   * @private\n   * @param {Array} [array] The array to inspect.\n   * @param {*} target The value to search for.\n   * @returns {boolean} Returns `true` if `target` is found, else `false`.\n   */\n  function arrayIncludes(array, value) {\n    var length = array == null ? 0 : array.length;\n    return !!length && baseIndexOf(array, value, 0) > -1;\n  }\n\n  /**\n   * This function is like `arrayIncludes` except that it accepts a comparator.\n   *\n   * @private\n   * @param {Array} [array] The array to inspect.\n   * @param {*} target The value to search for.\n   * @param {Function} comparator The comparator invoked per element.\n   * @returns {boolean} Returns `true` if `target` is found, else `false`.\n   */\n  function arrayIncludesWith(array, value, comparator) {\n    var index = -1,\n        length = array == null ? 0 : array.length;\n\n    while (++index < length) {\n      if (comparator(value, array[index])) {\n        return true;\n      }\n    }\n    return false;\n  }\n\n  /**\n   * A specialized version of `_.map` for arrays without support for iteratee\n   * shorthands.\n   *\n   * @private\n   * @param {Array} [array] The array to iterate over.\n   * @param {Function} iteratee The function invoked per iteration.\n   * @returns {Array} Returns the new mapped array.\n   */\n  function arrayMap(array, iteratee) {\n    var index = -1,\n        length = array == null ? 0 : array.length,\n        result = Array(length);\n\n    while (++index < length) {\n      result[index] = iteratee(array[index], index, array);\n    }\n    return result;\n  }\n\n  /**\n   * Appends the elements of `values` to `array`.\n   *\n   * @private\n   * @param {Array} array The array to modify.\n   * @param {Array} values The values to append.\n   * @returns {Array} Returns `array`.\n   */\n  function arrayPush(array, values) {\n    var index = -1,\n        length = values.length,\n        offset = array.length;\n\n    while (++index < length) {\n      array[offset + index] = values[index];\n    }\n    return array;\n  }\n\n  /**\n   * A specialized version of `_.reduce` for arrays without support for\n   * iteratee shorthands.\n   *\n   * @private\n   * @param {Array} [array] The array to iterate over.\n   * @param {Function} iteratee The function invoked per iteration.\n   * @param {*} [accumulator] The initial value.\n   * @param {boolean} [initAccum] Specify using the first element of `array` as\n   *  the initial value.\n   * @returns {*} Returns the accumulated value.\n   */\n  function arrayReduce(array, iteratee, accumulator, initAccum) {\n    var index = -1,\n        length = array == null ? 0 : array.length;\n\n    if (initAccum && length) {\n      accumulator = array[++index];\n    }\n    while (++index < length) {\n      accumulator = iteratee(accumulator, array[index], index, array);\n    }\n    return accumulator;\n  }\n\n  /**\n   * A specialized version of `_.reduceRight` for arrays without support for\n   * iteratee shorthands.\n   *\n   * @private\n   * @param {Array} [array] The array to iterate over.\n   * @param {Function} iteratee The function invoked per iteration.\n   * @param {*} [accumulator] The initial value.\n   * @param {boolean} [initAccum] Specify using the last element of `array` as\n   *  the initial value.\n   * @returns {*} Returns the accumulated value.\n   */\n  function arrayReduceRight(array, iteratee, accumulator, initAccum) {\n    var length = array == null ? 0 : array.length;\n    if (initAccum && length) {\n      accumulator = array[--length];\n    }\n    while (length--) {\n      accumulator = iteratee(accumulator, array[length], length, array);\n    }\n    return accumulator;\n  }\n\n  /**\n   * A specialized version of `_.some` for arrays without support for iteratee\n   * shorthands.\n   *\n   * @private\n   * @param {Array} [array] The array to iterate over.\n   * @param {Function} predicate The function invoked per iteration.\n   * @returns {boolean} Returns `true` if any element passes the predicate check,\n   *  else `false`.\n   */\n  function arraySome(array, predicate) {\n    var index = -1,\n        length = array == null ? 0 : array.length;\n\n    while (++index < length) {\n      if (predicate(array[index], index, array)) {\n        return true;\n      }\n    }\n    return false;\n  }\n\n  /**\n   * Gets the size of an ASCII `string`.\n   *\n   * @private\n   * @param {string} string The string inspect.\n   * @returns {number} Returns the string size.\n   */\n  var asciiSize = baseProperty('length');\n\n  /**\n   * Converts an ASCII `string` to an array.\n   *\n   * @private\n   * @param {string} string The string to convert.\n   * @returns {Array} Returns the converted array.\n   */\n  function asciiToArray(string) {\n    return string.split('');\n  }\n\n  /**\n   * Splits an ASCII `string` into an array of its words.\n   *\n   * @private\n   * @param {string} The string to inspect.\n   * @returns {Array} Returns the words of `string`.\n   */\n  function asciiWords(string) {\n    return string.match(reAsciiWord) || [];\n  }\n\n  /**\n   * The base implementation of methods like `_.findKey` and `_.findLastKey`,\n   * without support for iteratee shorthands, which iterates over `collection`\n   * using `eachFunc`.\n   *\n   * @private\n   * @param {Array|Object} collection The collection to inspect.\n   * @param {Function} predicate The function invoked per iteration.\n   * @param {Function} eachFunc The function to iterate over `collection`.\n   * @returns {*} Returns the found element or its key, else `undefined`.\n   */\n  function baseFindKey(collection, predicate, eachFunc) {\n    var result;\n    eachFunc(collection, function(value, key, collection) {\n      if (predicate(value, key, collection)) {\n        result = key;\n        return false;\n      }\n    });\n    return result;\n  }\n\n  /**\n   * The base implementation of `_.findIndex` and `_.findLastIndex` without\n   * support for iteratee shorthands.\n   *\n   * @private\n   * @param {Array} array The array to inspect.\n   * @param {Function} predicate The function invoked per iteration.\n   * @param {number} fromIndex The index to search from.\n   * @param {boolean} [fromRight] Specify iterating from right to left.\n   * @returns {number} Returns the index of the matched value, else `-1`.\n   */\n  function baseFindIndex(array, predicate, fromIndex, fromRight) {\n    var length = array.length,\n        index = fromIndex + (fromRight ? 1 : -1);\n\n    while ((fromRight ? index-- : ++index < length)) {\n      if (predicate(array[index], index, array)) {\n        return index;\n      }\n    }\n    return -1;\n  }\n\n  /**\n   * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n   *\n   * @private\n   * @param {Array} array The array to inspect.\n   * @param {*} value The value to search for.\n   * @param {number} fromIndex The index to search from.\n   * @returns {number} Returns the index of the matched value, else `-1`.\n   */\n  function baseIndexOf(array, value, fromIndex) {\n    return value === value\n      ? strictIndexOf(array, value, fromIndex)\n      : baseFindIndex(array, baseIsNaN, fromIndex);\n  }\n\n  /**\n   * This function is like `baseIndexOf` except that it accepts a comparator.\n   *\n   * @private\n   * @param {Array} array The array to inspect.\n   * @param {*} value The value to search for.\n   * @param {number} fromIndex The index to search from.\n   * @param {Function} comparator The comparator invoked per element.\n   * @returns {number} Returns the index of the matched value, else `-1`.\n   */\n  function baseIndexOfWith(array, value, fromIndex, comparator) {\n    var index = fromIndex - 1,\n        length = array.length;\n\n    while (++index < length) {\n      if (comparator(array[index], value)) {\n        return index;\n      }\n    }\n    return -1;\n  }\n\n  /**\n   * The base implementation of `_.isNaN` without support for number objects.\n   *\n   * @private\n   * @param {*} value The value to check.\n   * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n   */\n  function baseIsNaN(value) {\n    return value !== value;\n  }\n\n  /**\n   * The base implementation of `_.mean` and `_.meanBy` without support for\n   * iteratee shorthands.\n   *\n   * @private\n   * @param {Array} array The array to iterate over.\n   * @param {Function} iteratee The function invoked per iteration.\n   * @returns {number} Returns the mean.\n   */\n  function baseMean(array, iteratee) {\n    var length = array == null ? 0 : array.length;\n    return length ? (baseSum(array, iteratee) / length) : NAN;\n  }\n\n  /**\n   * The base implementation of `_.property` without support for deep paths.\n   *\n   * @private\n   * @param {string} key The key of the property to get.\n   * @returns {Function} Returns the new accessor function.\n   */\n  function baseProperty(key) {\n    return function(object) {\n      return object == null ? undefined : object[key];\n    };\n  }\n\n  /**\n   * The base implementation of `_.propertyOf` without support for deep paths.\n   *\n   * @private\n   * @param {Object} object The object to query.\n   * @returns {Function} Returns the new accessor function.\n   */\n  function basePropertyOf(object) {\n    return function(key) {\n      return object == null ? undefined : object[key];\n    };\n  }\n\n  /**\n   * The base implementation of `_.reduce` and `_.reduceRight`, without support\n   * for iteratee shorthands, which iterates over `collection` using `eachFunc`.\n   *\n   * @private\n   * @param {Array|Object} collection The collection to iterate over.\n   * @param {Function} iteratee The function invoked per iteration.\n   * @param {*} accumulator The initial value.\n   * @param {boolean} initAccum Specify using the first or last element of\n   *  `collection` as the initial value.\n   * @param {Function} eachFunc The function to iterate over `collection`.\n   * @returns {*} Returns the accumulated value.\n   */\n  function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {\n    eachFunc(collection, function(value, index, collection) {\n      accumulator = initAccum\n        ? (initAccum = false, value)\n        : iteratee(accumulator, value, index, collection);\n    });\n    return accumulator;\n  }\n\n  /**\n   * The base implementation of `_.sortBy` which uses `comparer` to define the\n   * sort order of `array` and replaces criteria objects with their corresponding\n   * values.\n   *\n   * @private\n   * @param {Array} array The array to sort.\n   * @param {Function} comparer The function to define sort order.\n   * @returns {Array} Returns `array`.\n   */\n  function baseSortBy(array, comparer) {\n    var length = array.length;\n\n    array.sort(comparer);\n    while (length--) {\n      array[length] = array[length].value;\n    }\n    return array;\n  }\n\n  /**\n   * The base implementation of `_.sum` and `_.sumBy` without support for\n   * iteratee shorthands.\n   *\n   * @private\n   * @param {Array} array The array to iterate over.\n   * @param {Function} iteratee The function invoked per iteration.\n   * @returns {number} Returns the sum.\n   */\n  function baseSum(array, iteratee) {\n    var result,\n        index = -1,\n        length = array.length;\n\n    while (++index < length) {\n      var current = iteratee(array[index]);\n      if (current !== undefined) {\n        result = result === undefined ? current : (result + current);\n      }\n    }\n    return result;\n  }\n\n  /**\n   * The base implementation of `_.times` without support for iteratee shorthands\n   * or max array length checks.\n   *\n   * @private\n   * @param {number} n The number of times to invoke `iteratee`.\n   * @param {Function} iteratee The function invoked per iteration.\n   * @returns {Array} Returns the array of results.\n   */\n  function baseTimes(n, iteratee) {\n    var index = -1,\n        result = Array(n);\n\n    while (++index < n) {\n      result[index] = iteratee(index);\n    }\n    return result;\n  }\n\n  /**\n   * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array\n   * of key-value pairs for `object` corresponding to the property names of `props`.\n   *\n   * @private\n   * @param {Object} object The object to query.\n   * @param {Array} props The property names to get values for.\n   * @returns {Object} Returns the key-value pairs.\n   */\n  function baseToPairs(object, props) {\n    return arrayMap(props, function(key) {\n      return [key, object[key]];\n    });\n  }\n\n  /**\n   * The base implementation of `_.trim`.\n   *\n   * @private\n   * @param {string} string The string to trim.\n   * @returns {string} Returns the trimmed string.\n   */\n  function baseTrim(string) {\n    return string\n      ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n      : string;\n  }\n\n  /**\n   * The base implementation of `_.unary` without support for storing metadata.\n   *\n   * @private\n   * @param {Function} func The function to cap arguments for.\n   * @returns {Function} Returns the new capped function.\n   */\n  function baseUnary(func) {\n    return function(value) {\n      return func(value);\n    };\n  }\n\n  /**\n   * The base implementation of `_.values` and `_.valuesIn` which creates an\n   * array of `object` property values corresponding to the property names\n   * of `props`.\n   *\n   * @private\n   * @param {Object} object The object to query.\n   * @param {Array} props The property names to get values for.\n   * @returns {Object} Returns the array of property values.\n   */\n  function baseValues(object, props) {\n    return arrayMap(props, function(key) {\n      return object[key];\n    });\n  }\n\n  /**\n   * Checks if a `cache` value for `key` exists.\n   *\n   * @private\n   * @param {Object} cache The cache to query.\n   * @param {string} key The key of the entry to check.\n   * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n   */\n  function cacheHas(cache, key) {\n    return cache.has(key);\n  }\n\n  /**\n   * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol\n   * that is not found in the character symbols.\n   *\n   * @private\n   * @param {Array} strSymbols The string symbols to inspect.\n   * @param {Array} chrSymbols The character symbols to find.\n   * @returns {number} Returns the index of the first unmatched string symbol.\n   */\n  function charsStartIndex(strSymbols, chrSymbols) {\n    var index = -1,\n        length = strSymbols.length;\n\n    while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n    return index;\n  }\n\n  /**\n   * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol\n   * that is not found in the character symbols.\n   *\n   * @private\n   * @param {Array} strSymbols The string symbols to inspect.\n   * @param {Array} chrSymbols The character symbols to find.\n   * @returns {number} Returns the index of the last unmatched string symbol.\n   */\n  function charsEndIndex(strSymbols, chrSymbols) {\n    var index = strSymbols.length;\n\n    while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n    return index;\n  }\n\n  /**\n   * Gets the number of `placeholder` occurrences in `array`.\n   *\n   * @private\n   * @param {Array} array The array to inspect.\n   * @param {*} placeholder The placeholder to search for.\n   * @returns {number} Returns the placeholder count.\n   */\n  function countHolders(array, placeholder) {\n    var length = array.length,\n        result = 0;\n\n    while (length--) {\n      if (array[length] === placeholder) {\n        ++result;\n      }\n    }\n    return result;\n  }\n\n  /**\n   * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n   * letters to basic Latin letters.\n   *\n   * @private\n   * @param {string} letter The matched letter to deburr.\n   * @returns {string} Returns the deburred letter.\n   */\n  var deburrLetter = basePropertyOf(deburredLetters);\n\n  /**\n   * Used by `_.escape` to convert characters to HTML entities.\n   *\n   * @private\n   * @param {string} chr The matched character to escape.\n   * @returns {string} Returns the escaped character.\n   */\n  var escapeHtmlChar = basePropertyOf(htmlEscapes);\n\n  /**\n   * Used by `_.template` to escape characters for inclusion in compiled string literals.\n   *\n   * @private\n   * @param {string} chr The matched character to escape.\n   * @returns {string} Returns the escaped character.\n   */\n  function escapeStringChar(chr) {\n    return '\\\\' + stringEscapes[chr];\n  }\n\n  /**\n   * Gets the value at `key` of `object`.\n   *\n   * @private\n   * @param {Object} [object] The object to query.\n   * @param {string} key The key of the property to get.\n   * @returns {*} Returns the property value.\n   */\n  function getValue(object, key) {\n    return object == null ? undefined : object[key];\n  }\n\n  /**\n   * Checks if `string` contains Unicode symbols.\n   *\n   * @private\n   * @param {string} string The string to inspect.\n   * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n   */\n  function hasUnicode(string) {\n    return reHasUnicode.test(string);\n  }\n\n  /**\n   * Checks if `string` contains a word composed of Unicode symbols.\n   *\n   * @private\n   * @param {string} string The string to inspect.\n   * @returns {boolean} Returns `true` if a word is found, else `false`.\n   */\n  function hasUnicodeWord(string) {\n    return reHasUnicodeWord.test(string);\n  }\n\n  /**\n   * Converts `iterator` to an array.\n   *\n   * @private\n   * @param {Object} iterator The iterator to convert.\n   * @returns {Array} Returns the converted array.\n   */\n  function iteratorToArray(iterator) {\n    var data,\n        result = [];\n\n    while (!(data = iterator.next()).done) {\n      result.push(data.value);\n    }\n    return result;\n  }\n\n  /**\n   * Converts `map` to its key-value pairs.\n   *\n   * @private\n   * @param {Object} map The map to convert.\n   * @returns {Array} Returns the key-value pairs.\n   */\n  function mapToArray(map) {\n    var index = -1,\n        result = Array(map.size);\n\n    map.forEach(function(value, key) {\n      result[++index] = [key, value];\n    });\n    return result;\n  }\n\n  /**\n   * Creates a unary function that invokes `func` with its argument transformed.\n   *\n   * @private\n   * @param {Function} func The function to wrap.\n   * @param {Function} transform The argument transform.\n   * @returns {Function} Returns the new function.\n   */\n  function overArg(func, transform) {\n    return function(arg) {\n      return func(transform(arg));\n    };\n  }\n\n  /**\n   * Replaces all `placeholder` elements in `array` with an internal placeholder\n   * and returns an array of their indexes.\n   *\n   * @private\n   * @param {Array} array The array to modify.\n   * @param {*} placeholder The placeholder to replace.\n   * @returns {Array} Returns the new array of placeholder indexes.\n   */\n  function replaceHolders(array, placeholder) {\n    var index = -1,\n        length = array.length,\n        resIndex = 0,\n        result = [];\n\n    while (++index < length) {\n      var value = array[index];\n      if (value === placeholder || value === PLACEHOLDER) {\n        array[index] = PLACEHOLDER;\n        result[resIndex++] = index;\n      }\n    }\n    return result;\n  }\n\n  /**\n   * Converts `set` to an array of its values.\n   *\n   * @private\n   * @param {Object} set The set to convert.\n   * @returns {Array} Returns the values.\n   */\n  function setToArray(set) {\n    var index = -1,\n        result = Array(set.size);\n\n    set.forEach(function(value) {\n      result[++index] = value;\n    });\n    return result;\n  }\n\n  /**\n   * Converts `set` to its value-value pairs.\n   *\n   * @private\n   * @param {Object} set The set to convert.\n   * @returns {Array} Returns the value-value pairs.\n   */\n  function setToPairs(set) {\n    var index = -1,\n        result = Array(set.size);\n\n    set.forEach(function(value) {\n      result[++index] = [value, value];\n    });\n    return result;\n  }\n\n  /**\n   * A specialized version of `_.indexOf` which performs strict equality\n   * comparisons of values, i.e. `===`.\n   *\n   * @private\n   * @param {Array} array The array to inspect.\n   * @param {*} value The value to search for.\n   * @param {number} fromIndex The index to search from.\n   * @returns {number} Returns the index of the matched value, else `-1`.\n   */\n  function strictIndexOf(array, value, fromIndex) {\n    var index = fromIndex - 1,\n        length = array.length;\n\n    while (++index < length) {\n      if (array[index] === value) {\n        return index;\n      }\n    }\n    return -1;\n  }\n\n  /**\n   * A specialized version of `_.lastIndexOf` which performs strict equality\n   * comparisons of values, i.e. `===`.\n   *\n   * @private\n   * @param {Array} array The array to inspect.\n   * @param {*} value The value to search for.\n   * @param {number} fromIndex The index to search from.\n   * @returns {number} Returns the index of the matched value, else `-1`.\n   */\n  function strictLastIndexOf(array, value, fromIndex) {\n    var index = fromIndex + 1;\n    while (index--) {\n      if (array[index] === value) {\n        return index;\n      }\n    }\n    return index;\n  }\n\n  /**\n   * Gets the number of symbols in `string`.\n   *\n   * @private\n   * @param {string} string The string to inspect.\n   * @returns {number} Returns the string size.\n   */\n  function stringSize(string) {\n    return hasUnicode(string)\n      ? unicodeSize(string)\n      : asciiSize(string);\n  }\n\n  /**\n   * Converts `string` to an array.\n   *\n   * @private\n   * @param {string} string The string to convert.\n   * @returns {Array} Returns the converted array.\n   */\n  function stringToArray(string) {\n    return hasUnicode(string)\n      ? unicodeToArray(string)\n      : asciiToArray(string);\n  }\n\n  /**\n   * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n   * character of `string`.\n   *\n   * @private\n   * @param {string} string The string to inspect.\n   * @returns {number} Returns the index of the last non-whitespace character.\n   */\n  function trimmedEndIndex(string) {\n    var index = string.length;\n\n    while (index-- && reWhitespace.test(string.charAt(index))) {}\n    return index;\n  }\n\n  /**\n   * Used by `_.unescape` to convert HTML entities to characters.\n   *\n   * @private\n   * @param {string} chr The matched character to unescape.\n   * @returns {string} Returns the unescaped character.\n   */\n  var unescapeHtmlChar = basePropertyOf(htmlUnescapes);\n\n  /**\n   * Gets the size of a Unicode `string`.\n   *\n   * @private\n   * @param {string} string The string inspect.\n   * @returns {number} Returns the string size.\n   */\n  function unicodeSize(string) {\n    var result = reUnicode.lastIndex = 0;\n    while (reUnicode.test(string)) {\n      ++result;\n    }\n    return result;\n  }\n\n  /**\n   * Converts a Unicode `string` to an array.\n   *\n   * @private\n   * @param {string} string The string to convert.\n   * @returns {Array} Returns the converted array.\n   */\n  function unicodeToArray(string) {\n    return string.match(reUnicode) || [];\n  }\n\n  /**\n   * Splits a Unicode `string` into an array of its words.\n   *\n   * @private\n   * @param {string} The string to inspect.\n   * @returns {Array} Returns the words of `string`.\n   */\n  function unicodeWords(string) {\n    return string.match(reUnicodeWord) || [];\n  }\n\n  /*--------------------------------------------------------------------------*/\n\n  /**\n   * Create a new pristine `lodash` function using the `context` object.\n   *\n   * @static\n   * @memberOf _\n   * @since 1.1.0\n   * @category Util\n   * @param {Object} [context=root] The context object.\n   * @returns {Function} Returns a new `lodash` function.\n   * @example\n   *\n   * _.mixin({ 'foo': _.constant('foo') });\n   *\n   * var lodash = _.runInContext();\n   * lodash.mixin({ 'bar': lodash.constant('bar') });\n   *\n   * _.isFunction(_.foo);\n   * // => true\n   * _.isFunction(_.bar);\n   * // => false\n   *\n   * lodash.isFunction(lodash.foo);\n   * // => false\n   * lodash.isFunction(lodash.bar);\n   * // => true\n   *\n   * // Create a suped-up `defer` in Node.js.\n   * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer;\n   */\n  var runInContext = (function runInContext(context) {\n    context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps));\n\n    /** Built-in constructor references. */\n    var Array = context.Array,\n        Date = context.Date,\n        Error = context.Error,\n        Function = context.Function,\n        Math = context.Math,\n        Object = context.Object,\n        RegExp = context.RegExp,\n        String = context.String,\n        TypeError = context.TypeError;\n\n    /** Used for built-in method references. */\n    var arrayProto = Array.prototype,\n        funcProto = Function.prototype,\n        objectProto = Object.prototype;\n\n    /** Used to detect overreaching core-js shims. */\n    var coreJsData = context['__core-js_shared__'];\n\n    /** Used to resolve the decompiled source of functions. */\n    var funcToString = funcProto.toString;\n\n    /** Used to check objects for own properties. */\n    var hasOwnProperty = objectProto.hasOwnProperty;\n\n    /** Used to generate unique IDs. */\n    var idCounter = 0;\n\n    /** Used to detect methods masquerading as native. */\n    var maskSrcKey = (function() {\n      var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n      return uid ? ('Symbol(src)_1.' + uid) : '';\n    }());\n\n    /**\n     * Used to resolve the\n     * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n     * of values.\n     */\n    var nativeObjectToString = objectProto.toString;\n\n    /** Used to infer the `Object` constructor. */\n    var objectCtorString = funcToString.call(Object);\n\n    /** Used to restore the original `_` reference in `_.noConflict`. */\n    var oldDash = root._;\n\n    /** Used to detect if a method is native. */\n    var reIsNative = RegExp('^' +\n      funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n      .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n    );\n\n    /** Built-in value references. */\n    var Buffer = moduleExports ? context.Buffer : undefined,\n        Symbol = context.Symbol,\n        Uint8Array = context.Uint8Array,\n        allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,\n        getPrototype = overArg(Object.getPrototypeOf, Object),\n        objectCreate = Object.create,\n        propertyIsEnumerable = objectProto.propertyIsEnumerable,\n        splice = arrayProto.splice,\n        spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined,\n        symIterator = Symbol ? Symbol.iterator : undefined,\n        symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n    var defineProperty = (function() {\n      try {\n        var func = getNative(Object, 'defineProperty');\n        func({}, '', {});\n        return func;\n      } catch (e) {}\n    }());\n\n    /** Mocked built-ins. */\n    var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout,\n        ctxNow = Date && Date.now !== root.Date.now && Date.now,\n        ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout;\n\n    /* Built-in method references for those with the same name as other `lodash` methods. */\n    var nativeCeil = Math.ceil,\n        nativeFloor = Math.floor,\n        nativeGetSymbols = Object.getOwnPropertySymbols,\n        nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n        nativeIsFinite = context.isFinite,\n        nativeJoin = arrayProto.join,\n        nativeKeys = overArg(Object.keys, Object),\n        nativeMax = Math.max,\n        nativeMin = Math.min,\n        nativeNow = Date.now,\n        nativeParseInt = context.parseInt,\n        nativeRandom = Math.random,\n        nativeReverse = arrayProto.reverse;\n\n    /* Built-in method references that are verified to be native. */\n    var DataView = getNative(context, 'DataView'),\n        Map = getNative(context, 'Map'),\n        Promise = getNative(context, 'Promise'),\n        Set = getNative(context, 'Set'),\n        WeakMap = getNative(context, 'WeakMap'),\n        nativeCreate = getNative(Object, 'create');\n\n    /** Used to store function metadata. */\n    var metaMap = WeakMap && new WeakMap;\n\n    /** Used to lookup unminified function names. */\n    var realNames = {};\n\n    /** Used to detect maps, sets, and weakmaps. */\n    var dataViewCtorString = toSource(DataView),\n        mapCtorString = toSource(Map),\n        promiseCtorString = toSource(Promise),\n        setCtorString = toSource(Set),\n        weakMapCtorString = toSource(WeakMap);\n\n    /** Used to convert symbols to primitives and strings. */\n    var symbolProto = Symbol ? Symbol.prototype : undefined,\n        symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n        symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Creates a `lodash` object which wraps `value` to enable implicit method\n     * chain sequences. Methods that operate on and return arrays, collections,\n     * and functions can be chained together. Methods that retrieve a single value\n     * or may return a primitive value will automatically end the chain sequence\n     * and return the unwrapped value. Otherwise, the value must be unwrapped\n     * with `_#value`.\n     *\n     * Explicit chain sequences, which must be unwrapped with `_#value`, may be\n     * enabled using `_.chain`.\n     *\n     * The execution of chained methods is lazy, that is, it's deferred until\n     * `_#value` is implicitly or explicitly called.\n     *\n     * Lazy evaluation allows several methods to support shortcut fusion.\n     * Shortcut fusion is an optimization to merge iteratee calls; this avoids\n     * the creation of intermediate arrays and can greatly reduce the number of\n     * iteratee executions. Sections of a chain sequence qualify for shortcut\n     * fusion if the section is applied to an array and iteratees accept only\n     * one argument. The heuristic for whether a section qualifies for shortcut\n     * fusion is subject to change.\n     *\n     * Chaining is supported in custom builds as long as the `_#value` method is\n     * directly or indirectly included in the build.\n     *\n     * In addition to lodash methods, wrappers have `Array` and `String` methods.\n     *\n     * The wrapper `Array` methods are:\n     * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`\n     *\n     * The wrapper `String` methods are:\n     * `replace` and `split`\n     *\n     * The wrapper methods that support shortcut fusion are:\n     * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,\n     * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,\n     * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`\n     *\n     * The chainable wrapper methods are:\n     * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,\n     * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,\n     * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,\n     * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,\n     * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,\n     * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,\n     * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,\n     * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,\n     * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,\n     * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,\n     * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,\n     * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,\n     * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,\n     * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,\n     * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,\n     * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,\n     * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,\n     * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,\n     * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,\n     * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,\n     * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,\n     * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,\n     * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,\n     * `zipObject`, `zipObjectDeep`, and `zipWith`\n     *\n     * The wrapper methods that are **not** chainable by default are:\n     * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,\n     * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,\n     * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,\n     * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,\n     * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,\n     * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,\n     * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,\n     * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,\n     * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,\n     * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,\n     * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,\n     * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,\n     * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,\n     * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,\n     * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,\n     * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,\n     * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,\n     * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,\n     * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,\n     * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,\n     * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,\n     * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,\n     * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,\n     * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,\n     * `upperFirst`, `value`, and `words`\n     *\n     * @name _\n     * @constructor\n     * @category Seq\n     * @param {*} value The value to wrap in a `lodash` instance.\n     * @returns {Object} Returns the new `lodash` wrapper instance.\n     * @example\n     *\n     * function square(n) {\n     *   return n * n;\n     * }\n     *\n     * var wrapped = _([1, 2, 3]);\n     *\n     * // Returns an unwrapped value.\n     * wrapped.reduce(_.add);\n     * // => 6\n     *\n     * // Returns a wrapped value.\n     * var squares = wrapped.map(square);\n     *\n     * _.isArray(squares);\n     * // => false\n     *\n     * _.isArray(squares.value());\n     * // => true\n     */\n    function lodash(value) {\n      if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {\n        if (value instanceof LodashWrapper) {\n          return value;\n        }\n        if (hasOwnProperty.call(value, '__wrapped__')) {\n          return wrapperClone(value);\n        }\n      }\n      return new LodashWrapper(value);\n    }\n\n    /**\n     * The base implementation of `_.create` without support for assigning\n     * properties to the created object.\n     *\n     * @private\n     * @param {Object} proto The object to inherit from.\n     * @returns {Object} Returns the new object.\n     */\n    var baseCreate = (function() {\n      function object() {}\n      return function(proto) {\n        if (!isObject(proto)) {\n          return {};\n        }\n        if (objectCreate) {\n          return objectCreate(proto);\n        }\n        object.prototype = proto;\n        var result = new object;\n        object.prototype = undefined;\n        return result;\n      };\n    }());\n\n    /**\n     * The function whose prototype chain sequence wrappers inherit from.\n     *\n     * @private\n     */\n    function baseLodash() {\n      // No operation performed.\n    }\n\n    /**\n     * The base constructor for creating `lodash` wrapper objects.\n     *\n     * @private\n     * @param {*} value The value to wrap.\n     * @param {boolean} [chainAll] Enable explicit method chain sequences.\n     */\n    function LodashWrapper(value, chainAll) {\n      this.__wrapped__ = value;\n      this.__actions__ = [];\n      this.__chain__ = !!chainAll;\n      this.__index__ = 0;\n      this.__values__ = undefined;\n    }\n\n    /**\n     * By default, the template delimiters used by lodash are like those in\n     * embedded Ruby (ERB) as well as ES2015 template strings. Change the\n     * following template settings to use alternative delimiters.\n     *\n     * @static\n     * @memberOf _\n     * @type {Object}\n     */\n    lodash.templateSettings = {\n\n      /**\n       * Used to detect `data` property values to be HTML-escaped.\n       *\n       * @memberOf _.templateSettings\n       * @type {RegExp}\n       */\n      'escape': reEscape,\n\n      /**\n       * Used to detect code to be evaluated.\n       *\n       * @memberOf _.templateSettings\n       * @type {RegExp}\n       */\n      'evaluate': reEvaluate,\n\n      /**\n       * Used to detect `data` property values to inject.\n       *\n       * @memberOf _.templateSettings\n       * @type {RegExp}\n       */\n      'interpolate': reInterpolate,\n\n      /**\n       * Used to reference the data object in the template text.\n       *\n       * @memberOf _.templateSettings\n       * @type {string}\n       */\n      'variable': '',\n\n      /**\n       * Used to import variables into the compiled template.\n       *\n       * @memberOf _.templateSettings\n       * @type {Object}\n       */\n      'imports': {\n\n        /**\n         * A reference to the `lodash` function.\n         *\n         * @memberOf _.templateSettings.imports\n         * @type {Function}\n         */\n        '_': lodash\n      }\n    };\n\n    // Ensure wrappers are instances of `baseLodash`.\n    lodash.prototype = baseLodash.prototype;\n    lodash.prototype.constructor = lodash;\n\n    LodashWrapper.prototype = baseCreate(baseLodash.prototype);\n    LodashWrapper.prototype.constructor = LodashWrapper;\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.\n     *\n     * @private\n     * @constructor\n     * @param {*} value The value to wrap.\n     */\n    function LazyWrapper(value) {\n      this.__wrapped__ = value;\n      this.__actions__ = [];\n      this.__dir__ = 1;\n      this.__filtered__ = false;\n      this.__iteratees__ = [];\n      this.__takeCount__ = MAX_ARRAY_LENGTH;\n      this.__views__ = [];\n    }\n\n    /**\n     * Creates a clone of the lazy wrapper object.\n     *\n     * @private\n     * @name clone\n     * @memberOf LazyWrapper\n     * @returns {Object} Returns the cloned `LazyWrapper` object.\n     */\n    function lazyClone() {\n      var result = new LazyWrapper(this.__wrapped__);\n      result.__actions__ = copyArray(this.__actions__);\n      result.__dir__ = this.__dir__;\n      result.__filtered__ = this.__filtered__;\n      result.__iteratees__ = copyArray(this.__iteratees__);\n      result.__takeCount__ = this.__takeCount__;\n      result.__views__ = copyArray(this.__views__);\n      return result;\n    }\n\n    /**\n     * Reverses the direction of lazy iteration.\n     *\n     * @private\n     * @name reverse\n     * @memberOf LazyWrapper\n     * @returns {Object} Returns the new reversed `LazyWrapper` object.\n     */\n    function lazyReverse() {\n      if (this.__filtered__) {\n        var result = new LazyWrapper(this);\n        result.__dir__ = -1;\n        result.__filtered__ = true;\n      } else {\n        result = this.clone();\n        result.__dir__ *= -1;\n      }\n      return result;\n    }\n\n    /**\n     * Extracts the unwrapped value from its lazy wrapper.\n     *\n     * @private\n     * @name value\n     * @memberOf LazyWrapper\n     * @returns {*} Returns the unwrapped value.\n     */\n    function lazyValue() {\n      var array = this.__wrapped__.value(),\n          dir = this.__dir__,\n          isArr = isArray(array),\n          isRight = dir < 0,\n          arrLength = isArr ? array.length : 0,\n          view = getView(0, arrLength, this.__views__),\n          start = view.start,\n          end = view.end,\n          length = end - start,\n          index = isRight ? end : (start - 1),\n          iteratees = this.__iteratees__,\n          iterLength = iteratees.length,\n          resIndex = 0,\n          takeCount = nativeMin(length, this.__takeCount__);\n\n      if (!isArr || (!isRight && arrLength == length && takeCount == length)) {\n        return baseWrapperValue(array, this.__actions__);\n      }\n      var result = [];\n\n      outer:\n      while (length-- && resIndex < takeCount) {\n        index += dir;\n\n        var iterIndex = -1,\n            value = array[index];\n\n        while (++iterIndex < iterLength) {\n          var data = iteratees[iterIndex],\n              iteratee = data.iteratee,\n              type = data.type,\n              computed = iteratee(value);\n\n          if (type == LAZY_MAP_FLAG) {\n            value = computed;\n          } else if (!computed) {\n            if (type == LAZY_FILTER_FLAG) {\n              continue outer;\n            } else {\n              break outer;\n            }\n          }\n        }\n        result[resIndex++] = value;\n      }\n      return result;\n    }\n\n    // Ensure `LazyWrapper` is an instance of `baseLodash`.\n    LazyWrapper.prototype = baseCreate(baseLodash.prototype);\n    LazyWrapper.prototype.constructor = LazyWrapper;\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Creates a hash object.\n     *\n     * @private\n     * @constructor\n     * @param {Array} [entries] The key-value pairs to cache.\n     */\n    function Hash(entries) {\n      var index = -1,\n          length = entries == null ? 0 : entries.length;\n\n      this.clear();\n      while (++index < length) {\n        var entry = entries[index];\n        this.set(entry[0], entry[1]);\n      }\n    }\n\n    /**\n     * Removes all key-value entries from the hash.\n     *\n     * @private\n     * @name clear\n     * @memberOf Hash\n     */\n    function hashClear() {\n      this.__data__ = nativeCreate ? nativeCreate(null) : {};\n      this.size = 0;\n    }\n\n    /**\n     * Removes `key` and its value from the hash.\n     *\n     * @private\n     * @name delete\n     * @memberOf Hash\n     * @param {Object} hash The hash to modify.\n     * @param {string} key The key of the value to remove.\n     * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n     */\n    function hashDelete(key) {\n      var result = this.has(key) && delete this.__data__[key];\n      this.size -= result ? 1 : 0;\n      return result;\n    }\n\n    /**\n     * Gets the hash value for `key`.\n     *\n     * @private\n     * @name get\n     * @memberOf Hash\n     * @param {string} key The key of the value to get.\n     * @returns {*} Returns the entry value.\n     */\n    function hashGet(key) {\n      var data = this.__data__;\n      if (nativeCreate) {\n        var result = data[key];\n        return result === HASH_UNDEFINED ? undefined : result;\n      }\n      return hasOwnProperty.call(data, key) ? data[key] : undefined;\n    }\n\n    /**\n     * Checks if a hash value for `key` exists.\n     *\n     * @private\n     * @name has\n     * @memberOf Hash\n     * @param {string} key The key of the entry to check.\n     * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n     */\n    function hashHas(key) {\n      var data = this.__data__;\n      return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n    }\n\n    /**\n     * Sets the hash `key` to `value`.\n     *\n     * @private\n     * @name set\n     * @memberOf Hash\n     * @param {string} key The key of the value to set.\n     * @param {*} value The value to set.\n     * @returns {Object} Returns the hash instance.\n     */\n    function hashSet(key, value) {\n      var data = this.__data__;\n      this.size += this.has(key) ? 0 : 1;\n      data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n      return this;\n    }\n\n    // Add methods to `Hash`.\n    Hash.prototype.clear = hashClear;\n    Hash.prototype['delete'] = hashDelete;\n    Hash.prototype.get = hashGet;\n    Hash.prototype.has = hashHas;\n    Hash.prototype.set = hashSet;\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Creates an list cache object.\n     *\n     * @private\n     * @constructor\n     * @param {Array} [entries] The key-value pairs to cache.\n     */\n    function ListCache(entries) {\n      var index = -1,\n          length = entries == null ? 0 : entries.length;\n\n      this.clear();\n      while (++index < length) {\n        var entry = entries[index];\n        this.set(entry[0], entry[1]);\n      }\n    }\n\n    /**\n     * Removes all key-value entries from the list cache.\n     *\n     * @private\n     * @name clear\n     * @memberOf ListCache\n     */\n    function listCacheClear() {\n      this.__data__ = [];\n      this.size = 0;\n    }\n\n    /**\n     * Removes `key` and its value from the list cache.\n     *\n     * @private\n     * @name delete\n     * @memberOf ListCache\n     * @param {string} key The key of the value to remove.\n     * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n     */\n    function listCacheDelete(key) {\n      var data = this.__data__,\n          index = assocIndexOf(data, key);\n\n      if (index < 0) {\n        return false;\n      }\n      var lastIndex = data.length - 1;\n      if (index == lastIndex) {\n        data.pop();\n      } else {\n        splice.call(data, index, 1);\n      }\n      --this.size;\n      return true;\n    }\n\n    /**\n     * Gets the list cache value for `key`.\n     *\n     * @private\n     * @name get\n     * @memberOf ListCache\n     * @param {string} key The key of the value to get.\n     * @returns {*} Returns the entry value.\n     */\n    function listCacheGet(key) {\n      var data = this.__data__,\n          index = assocIndexOf(data, key);\n\n      return index < 0 ? undefined : data[index][1];\n    }\n\n    /**\n     * Checks if a list cache value for `key` exists.\n     *\n     * @private\n     * @name has\n     * @memberOf ListCache\n     * @param {string} key The key of the entry to check.\n     * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n     */\n    function listCacheHas(key) {\n      return assocIndexOf(this.__data__, key) > -1;\n    }\n\n    /**\n     * Sets the list cache `key` to `value`.\n     *\n     * @private\n     * @name set\n     * @memberOf ListCache\n     * @param {string} key The key of the value to set.\n     * @param {*} value The value to set.\n     * @returns {Object} Returns the list cache instance.\n     */\n    function listCacheSet(key, value) {\n      var data = this.__data__,\n          index = assocIndexOf(data, key);\n\n      if (index < 0) {\n        ++this.size;\n        data.push([key, value]);\n      } else {\n        data[index][1] = value;\n      }\n      return this;\n    }\n\n    // Add methods to `ListCache`.\n    ListCache.prototype.clear = listCacheClear;\n    ListCache.prototype['delete'] = listCacheDelete;\n    ListCache.prototype.get = listCacheGet;\n    ListCache.prototype.has = listCacheHas;\n    ListCache.prototype.set = listCacheSet;\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Creates a map cache object to store key-value pairs.\n     *\n     * @private\n     * @constructor\n     * @param {Array} [entries] The key-value pairs to cache.\n     */\n    function MapCache(entries) {\n      var index = -1,\n          length = entries == null ? 0 : entries.length;\n\n      this.clear();\n      while (++index < length) {\n        var entry = entries[index];\n        this.set(entry[0], entry[1]);\n      }\n    }\n\n    /**\n     * Removes all key-value entries from the map.\n     *\n     * @private\n     * @name clear\n     * @memberOf MapCache\n     */\n    function mapCacheClear() {\n      this.size = 0;\n      this.__data__ = {\n        'hash': new Hash,\n        'map': new (Map || ListCache),\n        'string': new Hash\n      };\n    }\n\n    /**\n     * Removes `key` and its value from the map.\n     *\n     * @private\n     * @name delete\n     * @memberOf MapCache\n     * @param {string} key The key of the value to remove.\n     * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n     */\n    function mapCacheDelete(key) {\n      var result = getMapData(this, key)['delete'](key);\n      this.size -= result ? 1 : 0;\n      return result;\n    }\n\n    /**\n     * Gets the map value for `key`.\n     *\n     * @private\n     * @name get\n     * @memberOf MapCache\n     * @param {string} key The key of the value to get.\n     * @returns {*} Returns the entry value.\n     */\n    function mapCacheGet(key) {\n      return getMapData(this, key).get(key);\n    }\n\n    /**\n     * Checks if a map value for `key` exists.\n     *\n     * @private\n     * @name has\n     * @memberOf MapCache\n     * @param {string} key The key of the entry to check.\n     * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n     */\n    function mapCacheHas(key) {\n      return getMapData(this, key).has(key);\n    }\n\n    /**\n     * Sets the map `key` to `value`.\n     *\n     * @private\n     * @name set\n     * @memberOf MapCache\n     * @param {string} key The key of the value to set.\n     * @param {*} value The value to set.\n     * @returns {Object} Returns the map cache instance.\n     */\n    function mapCacheSet(key, value) {\n      var data = getMapData(this, key),\n          size = data.size;\n\n      data.set(key, value);\n      this.size += data.size == size ? 0 : 1;\n      return this;\n    }\n\n    // Add methods to `MapCache`.\n    MapCache.prototype.clear = mapCacheClear;\n    MapCache.prototype['delete'] = mapCacheDelete;\n    MapCache.prototype.get = mapCacheGet;\n    MapCache.prototype.has = mapCacheHas;\n    MapCache.prototype.set = mapCacheSet;\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     *\n     * Creates an array cache object to store unique values.\n     *\n     * @private\n     * @constructor\n     * @param {Array} [values] The values to cache.\n     */\n    function SetCache(values) {\n      var index = -1,\n          length = values == null ? 0 : values.length;\n\n      this.__data__ = new MapCache;\n      while (++index < length) {\n        this.add(values[index]);\n      }\n    }\n\n    /**\n     * Adds `value` to the array cache.\n     *\n     * @private\n     * @name add\n     * @memberOf SetCache\n     * @alias push\n     * @param {*} value The value to cache.\n     * @returns {Object} Returns the cache instance.\n     */\n    function setCacheAdd(value) {\n      this.__data__.set(value, HASH_UNDEFINED);\n      return this;\n    }\n\n    /**\n     * Checks if `value` is in the array cache.\n     *\n     * @private\n     * @name has\n     * @memberOf SetCache\n     * @param {*} value The value to search for.\n     * @returns {number} Returns `true` if `value` is found, else `false`.\n     */\n    function setCacheHas(value) {\n      return this.__data__.has(value);\n    }\n\n    // Add methods to `SetCache`.\n    SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\n    SetCache.prototype.has = setCacheHas;\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Creates a stack cache object to store key-value pairs.\n     *\n     * @private\n     * @constructor\n     * @param {Array} [entries] The key-value pairs to cache.\n     */\n    function Stack(entries) {\n      var data = this.__data__ = new ListCache(entries);\n      this.size = data.size;\n    }\n\n    /**\n     * Removes all key-value entries from the stack.\n     *\n     * @private\n     * @name clear\n     * @memberOf Stack\n     */\n    function stackClear() {\n      this.__data__ = new ListCache;\n      this.size = 0;\n    }\n\n    /**\n     * Removes `key` and its value from the stack.\n     *\n     * @private\n     * @name delete\n     * @memberOf Stack\n     * @param {string} key The key of the value to remove.\n     * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n     */\n    function stackDelete(key) {\n      var data = this.__data__,\n          result = data['delete'](key);\n\n      this.size = data.size;\n      return result;\n    }\n\n    /**\n     * Gets the stack value for `key`.\n     *\n     * @private\n     * @name get\n     * @memberOf Stack\n     * @param {string} key The key of the value to get.\n     * @returns {*} Returns the entry value.\n     */\n    function stackGet(key) {\n      return this.__data__.get(key);\n    }\n\n    /**\n     * Checks if a stack value for `key` exists.\n     *\n     * @private\n     * @name has\n     * @memberOf Stack\n     * @param {string} key The key of the entry to check.\n     * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n     */\n    function stackHas(key) {\n      return this.__data__.has(key);\n    }\n\n    /**\n     * Sets the stack `key` to `value`.\n     *\n     * @private\n     * @name set\n     * @memberOf Stack\n     * @param {string} key The key of the value to set.\n     * @param {*} value The value to set.\n     * @returns {Object} Returns the stack cache instance.\n     */\n    function stackSet(key, value) {\n      var data = this.__data__;\n      if (data instanceof ListCache) {\n        var pairs = data.__data__;\n        if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n          pairs.push([key, value]);\n          this.size = ++data.size;\n          return this;\n        }\n        data = this.__data__ = new MapCache(pairs);\n      }\n      data.set(key, value);\n      this.size = data.size;\n      return this;\n    }\n\n    // Add methods to `Stack`.\n    Stack.prototype.clear = stackClear;\n    Stack.prototype['delete'] = stackDelete;\n    Stack.prototype.get = stackGet;\n    Stack.prototype.has = stackHas;\n    Stack.prototype.set = stackSet;\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Creates an array of the enumerable property names of the array-like `value`.\n     *\n     * @private\n     * @param {*} value The value to query.\n     * @param {boolean} inherited Specify returning inherited property names.\n     * @returns {Array} Returns the array of property names.\n     */\n    function arrayLikeKeys(value, inherited) {\n      var isArr = isArray(value),\n          isArg = !isArr && isArguments(value),\n          isBuff = !isArr && !isArg && isBuffer(value),\n          isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n          skipIndexes = isArr || isArg || isBuff || isType,\n          result = skipIndexes ? baseTimes(value.length, String) : [],\n          length = result.length;\n\n      for (var key in value) {\n        if ((inherited || hasOwnProperty.call(value, key)) &&\n            !(skipIndexes && (\n               // Safari 9 has enumerable `arguments.length` in strict mode.\n               key == 'length' ||\n               // Node.js 0.10 has enumerable non-index properties on buffers.\n               (isBuff && (key == 'offset' || key == 'parent')) ||\n               // PhantomJS 2 has enumerable non-index properties on typed arrays.\n               (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n               // Skip index properties.\n               isIndex(key, length)\n            ))) {\n          result.push(key);\n        }\n      }\n      return result;\n    }\n\n    /**\n     * A specialized version of `_.sample` for arrays.\n     *\n     * @private\n     * @param {Array} array The array to sample.\n     * @returns {*} Returns the random element.\n     */\n    function arraySample(array) {\n      var length = array.length;\n      return length ? array[baseRandom(0, length - 1)] : undefined;\n    }\n\n    /**\n     * A specialized version of `_.sampleSize` for arrays.\n     *\n     * @private\n     * @param {Array} array The array to sample.\n     * @param {number} n The number of elements to sample.\n     * @returns {Array} Returns the random elements.\n     */\n    function arraySampleSize(array, n) {\n      return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length));\n    }\n\n    /**\n     * A specialized version of `_.shuffle` for arrays.\n     *\n     * @private\n     * @param {Array} array The array to shuffle.\n     * @returns {Array} Returns the new shuffled array.\n     */\n    function arrayShuffle(array) {\n      return shuffleSelf(copyArray(array));\n    }\n\n    /**\n     * This function is like `assignValue` except that it doesn't assign\n     * `undefined` values.\n     *\n     * @private\n     * @param {Object} object The object to modify.\n     * @param {string} key The key of the property to assign.\n     * @param {*} value The value to assign.\n     */\n    function assignMergeValue(object, key, value) {\n      if ((value !== undefined && !eq(object[key], value)) ||\n          (value === undefined && !(key in object))) {\n        baseAssignValue(object, key, value);\n      }\n    }\n\n    /**\n     * Assigns `value` to `key` of `object` if the existing value is not equivalent\n     * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n     * for equality comparisons.\n     *\n     * @private\n     * @param {Object} object The object to modify.\n     * @param {string} key The key of the property to assign.\n     * @param {*} value The value to assign.\n     */\n    function assignValue(object, key, value) {\n      var objValue = object[key];\n      if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n          (value === undefined && !(key in object))) {\n        baseAssignValue(object, key, value);\n      }\n    }\n\n    /**\n     * Gets the index at which the `key` is found in `array` of key-value pairs.\n     *\n     * @private\n     * @param {Array} array The array to inspect.\n     * @param {*} key The key to search for.\n     * @returns {number} Returns the index of the matched value, else `-1`.\n     */\n    function assocIndexOf(array, key) {\n      var length = array.length;\n      while (length--) {\n        if (eq(array[length][0], key)) {\n          return length;\n        }\n      }\n      return -1;\n    }\n\n    /**\n     * Aggregates elements of `collection` on `accumulator` with keys transformed\n     * by `iteratee` and values set by `setter`.\n     *\n     * @private\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} setter The function to set `accumulator` values.\n     * @param {Function} iteratee The iteratee to transform keys.\n     * @param {Object} accumulator The initial aggregated object.\n     * @returns {Function} Returns `accumulator`.\n     */\n    function baseAggregator(collection, setter, iteratee, accumulator) {\n      baseEach(collection, function(value, key, collection) {\n        setter(accumulator, value, iteratee(value), collection);\n      });\n      return accumulator;\n    }\n\n    /**\n     * The base implementation of `_.assign` without support for multiple sources\n     * or `customizer` functions.\n     *\n     * @private\n     * @param {Object} object The destination object.\n     * @param {Object} source The source object.\n     * @returns {Object} Returns `object`.\n     */\n    function baseAssign(object, source) {\n      return object && copyObject(source, keys(source), object);\n    }\n\n    /**\n     * The base implementation of `_.assignIn` without support for multiple sources\n     * or `customizer` functions.\n     *\n     * @private\n     * @param {Object} object The destination object.\n     * @param {Object} source The source object.\n     * @returns {Object} Returns `object`.\n     */\n    function baseAssignIn(object, source) {\n      return object && copyObject(source, keysIn(source), object);\n    }\n\n    /**\n     * The base implementation of `assignValue` and `assignMergeValue` without\n     * value checks.\n     *\n     * @private\n     * @param {Object} object The object to modify.\n     * @param {string} key The key of the property to assign.\n     * @param {*} value The value to assign.\n     */\n    function baseAssignValue(object, key, value) {\n      if (key == '__proto__' && defineProperty) {\n        defineProperty(object, key, {\n          'configurable': true,\n          'enumerable': true,\n          'value': value,\n          'writable': true\n        });\n      } else {\n        object[key] = value;\n      }\n    }\n\n    /**\n     * The base implementation of `_.at` without support for individual paths.\n     *\n     * @private\n     * @param {Object} object The object to iterate over.\n     * @param {string[]} paths The property paths to pick.\n     * @returns {Array} Returns the picked elements.\n     */\n    function baseAt(object, paths) {\n      var index = -1,\n          length = paths.length,\n          result = Array(length),\n          skip = object == null;\n\n      while (++index < length) {\n        result[index] = skip ? undefined : get(object, paths[index]);\n      }\n      return result;\n    }\n\n    /**\n     * The base implementation of `_.clamp` which doesn't coerce arguments.\n     *\n     * @private\n     * @param {number} number The number to clamp.\n     * @param {number} [lower] The lower bound.\n     * @param {number} upper The upper bound.\n     * @returns {number} Returns the clamped number.\n     */\n    function baseClamp(number, lower, upper) {\n      if (number === number) {\n        if (upper !== undefined) {\n          number = number <= upper ? number : upper;\n        }\n        if (lower !== undefined) {\n          number = number >= lower ? number : lower;\n        }\n      }\n      return number;\n    }\n\n    /**\n     * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n     * traversed objects.\n     *\n     * @private\n     * @param {*} value The value to clone.\n     * @param {boolean} bitmask The bitmask flags.\n     *  1 - Deep clone\n     *  2 - Flatten inherited properties\n     *  4 - Clone symbols\n     * @param {Function} [customizer] The function to customize cloning.\n     * @param {string} [key] The key of `value`.\n     * @param {Object} [object] The parent object of `value`.\n     * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n     * @returns {*} Returns the cloned value.\n     */\n    function baseClone(value, bitmask, customizer, key, object, stack) {\n      var result,\n          isDeep = bitmask & CLONE_DEEP_FLAG,\n          isFlat = bitmask & CLONE_FLAT_FLAG,\n          isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n      if (customizer) {\n        result = object ? customizer(value, key, object, stack) : customizer(value);\n      }\n      if (result !== undefined) {\n        return result;\n      }\n      if (!isObject(value)) {\n        return value;\n      }\n      var isArr = isArray(value);\n      if (isArr) {\n        result = initCloneArray(value);\n        if (!isDeep) {\n          return copyArray(value, result);\n        }\n      } else {\n        var tag = getTag(value),\n            isFunc = tag == funcTag || tag == genTag;\n\n        if (isBuffer(value)) {\n          return cloneBuffer(value, isDeep);\n        }\n        if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n          result = (isFlat || isFunc) ? {} : initCloneObject(value);\n          if (!isDeep) {\n            return isFlat\n              ? copySymbolsIn(value, baseAssignIn(result, value))\n              : copySymbols(value, baseAssign(result, value));\n          }\n        } else {\n          if (!cloneableTags[tag]) {\n            return object ? value : {};\n          }\n          result = initCloneByTag(value, tag, isDeep);\n        }\n      }\n      // Check for circular references and return its corresponding clone.\n      stack || (stack = new Stack);\n      var stacked = stack.get(value);\n      if (stacked) {\n        return stacked;\n      }\n      stack.set(value, result);\n\n      if (isSet(value)) {\n        value.forEach(function(subValue) {\n          result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n        });\n      } else if (isMap(value)) {\n        value.forEach(function(subValue, key) {\n          result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n        });\n      }\n\n      var keysFunc = isFull\n        ? (isFlat ? getAllKeysIn : getAllKeys)\n        : (isFlat ? keysIn : keys);\n\n      var props = isArr ? undefined : keysFunc(value);\n      arrayEach(props || value, function(subValue, key) {\n        if (props) {\n          key = subValue;\n          subValue = value[key];\n        }\n        // Recursively populate clone (susceptible to call stack limits).\n        assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n      });\n      return result;\n    }\n\n    /**\n     * The base implementation of `_.conforms` which doesn't clone `source`.\n     *\n     * @private\n     * @param {Object} source The object of property predicates to conform to.\n     * @returns {Function} Returns the new spec function.\n     */\n    function baseConforms(source) {\n      var props = keys(source);\n      return function(object) {\n        return baseConformsTo(object, source, props);\n      };\n    }\n\n    /**\n     * The base implementation of `_.conformsTo` which accepts `props` to check.\n     *\n     * @private\n     * @param {Object} object The object to inspect.\n     * @param {Object} source The object of property predicates to conform to.\n     * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n     */\n    function baseConformsTo(object, source, props) {\n      var length = props.length;\n      if (object == null) {\n        return !length;\n      }\n      object = Object(object);\n      while (length--) {\n        var key = props[length],\n            predicate = source[key],\n            value = object[key];\n\n        if ((value === undefined && !(key in object)) || !predicate(value)) {\n          return false;\n        }\n      }\n      return true;\n    }\n\n    /**\n     * The base implementation of `_.delay` and `_.defer` which accepts `args`\n     * to provide to `func`.\n     *\n     * @private\n     * @param {Function} func The function to delay.\n     * @param {number} wait The number of milliseconds to delay invocation.\n     * @param {Array} args The arguments to provide to `func`.\n     * @returns {number|Object} Returns the timer id or timeout object.\n     */\n    function baseDelay(func, wait, args) {\n      if (typeof func != 'function') {\n        throw new TypeError(FUNC_ERROR_TEXT);\n      }\n      return setTimeout(function() { func.apply(undefined, args); }, wait);\n    }\n\n    /**\n     * The base implementation of methods like `_.difference` without support\n     * for excluding multiple arrays or iteratee shorthands.\n     *\n     * @private\n     * @param {Array} array The array to inspect.\n     * @param {Array} values The values to exclude.\n     * @param {Function} [iteratee] The iteratee invoked per element.\n     * @param {Function} [comparator] The comparator invoked per element.\n     * @returns {Array} Returns the new array of filtered values.\n     */\n    function baseDifference(array, values, iteratee, comparator) {\n      var index = -1,\n          includes = arrayIncludes,\n          isCommon = true,\n          length = array.length,\n          result = [],\n          valuesLength = values.length;\n\n      if (!length) {\n        return result;\n      }\n      if (iteratee) {\n        values = arrayMap(values, baseUnary(iteratee));\n      }\n      if (comparator) {\n        includes = arrayIncludesWith;\n        isCommon = false;\n      }\n      else if (values.length >= LARGE_ARRAY_SIZE) {\n        includes = cacheHas;\n        isCommon = false;\n        values = new SetCache(values);\n      }\n      outer:\n      while (++index < length) {\n        var value = array[index],\n            computed = iteratee == null ? value : iteratee(value);\n\n        value = (comparator || value !== 0) ? value : 0;\n        if (isCommon && computed === computed) {\n          var valuesIndex = valuesLength;\n          while (valuesIndex--) {\n            if (values[valuesIndex] === computed) {\n              continue outer;\n            }\n          }\n          result.push(value);\n        }\n        else if (!includes(values, computed, comparator)) {\n          result.push(value);\n        }\n      }\n      return result;\n    }\n\n    /**\n     * The base implementation of `_.forEach` without support for iteratee shorthands.\n     *\n     * @private\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} iteratee The function invoked per iteration.\n     * @returns {Array|Object} Returns `collection`.\n     */\n    var baseEach = createBaseEach(baseForOwn);\n\n    /**\n     * The base implementation of `_.forEachRight` without support for iteratee shorthands.\n     *\n     * @private\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} iteratee The function invoked per iteration.\n     * @returns {Array|Object} Returns `collection`.\n     */\n    var baseEachRight = createBaseEach(baseForOwnRight, true);\n\n    /**\n     * The base implementation of `_.every` without support for iteratee shorthands.\n     *\n     * @private\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} predicate The function invoked per iteration.\n     * @returns {boolean} Returns `true` if all elements pass the predicate check,\n     *  else `false`\n     */\n    function baseEvery(collection, predicate) {\n      var result = true;\n      baseEach(collection, function(value, index, collection) {\n        result = !!predicate(value, index, collection);\n        return result;\n      });\n      return result;\n    }\n\n    /**\n     * The base implementation of methods like `_.max` and `_.min` which accepts a\n     * `comparator` to determine the extremum value.\n     *\n     * @private\n     * @param {Array} array The array to iterate over.\n     * @param {Function} iteratee The iteratee invoked per iteration.\n     * @param {Function} comparator The comparator used to compare values.\n     * @returns {*} Returns the extremum value.\n     */\n    function baseExtremum(array, iteratee, comparator) {\n      var index = -1,\n          length = array.length;\n\n      while (++index < length) {\n        var value = array[index],\n            current = iteratee(value);\n\n        if (current != null && (computed === undefined\n              ? (current === current && !isSymbol(current))\n              : comparator(current, computed)\n            )) {\n          var computed = current,\n              result = value;\n        }\n      }\n      return result;\n    }\n\n    /**\n     * The base implementation of `_.fill` without an iteratee call guard.\n     *\n     * @private\n     * @param {Array} array The array to fill.\n     * @param {*} value The value to fill `array` with.\n     * @param {number} [start=0] The start position.\n     * @param {number} [end=array.length] The end position.\n     * @returns {Array} Returns `array`.\n     */\n    function baseFill(array, value, start, end) {\n      var length = array.length;\n\n      start = toInteger(start);\n      if (start < 0) {\n        start = -start > length ? 0 : (length + start);\n      }\n      end = (end === undefined || end > length) ? length : toInteger(end);\n      if (end < 0) {\n        end += length;\n      }\n      end = start > end ? 0 : toLength(end);\n      while (start < end) {\n        array[start++] = value;\n      }\n      return array;\n    }\n\n    /**\n     * The base implementation of `_.filter` without support for iteratee shorthands.\n     *\n     * @private\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} predicate The function invoked per iteration.\n     * @returns {Array} Returns the new filtered array.\n     */\n    function baseFilter(collection, predicate) {\n      var result = [];\n      baseEach(collection, function(value, index, collection) {\n        if (predicate(value, index, collection)) {\n          result.push(value);\n        }\n      });\n      return result;\n    }\n\n    /**\n     * The base implementation of `_.flatten` with support for restricting flattening.\n     *\n     * @private\n     * @param {Array} array The array to flatten.\n     * @param {number} depth The maximum recursion depth.\n     * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n     * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n     * @param {Array} [result=[]] The initial result value.\n     * @returns {Array} Returns the new flattened array.\n     */\n    function baseFlatten(array, depth, predicate, isStrict, result) {\n      var index = -1,\n          length = array.length;\n\n      predicate || (predicate = isFlattenable);\n      result || (result = []);\n\n      while (++index < length) {\n        var value = array[index];\n        if (depth > 0 && predicate(value)) {\n          if (depth > 1) {\n            // Recursively flatten arrays (susceptible to call stack limits).\n            baseFlatten(value, depth - 1, predicate, isStrict, result);\n          } else {\n            arrayPush(result, value);\n          }\n        } else if (!isStrict) {\n          result[result.length] = value;\n        }\n      }\n      return result;\n    }\n\n    /**\n     * The base implementation of `baseForOwn` which iterates over `object`\n     * properties returned by `keysFunc` and invokes `iteratee` for each property.\n     * Iteratee functions may exit iteration early by explicitly returning `false`.\n     *\n     * @private\n     * @param {Object} object The object to iterate over.\n     * @param {Function} iteratee The function invoked per iteration.\n     * @param {Function} keysFunc The function to get the keys of `object`.\n     * @returns {Object} Returns `object`.\n     */\n    var baseFor = createBaseFor();\n\n    /**\n     * This function is like `baseFor` except that it iterates over properties\n     * in the opposite order.\n     *\n     * @private\n     * @param {Object} object The object to iterate over.\n     * @param {Function} iteratee The function invoked per iteration.\n     * @param {Function} keysFunc The function to get the keys of `object`.\n     * @returns {Object} Returns `object`.\n     */\n    var baseForRight = createBaseFor(true);\n\n    /**\n     * The base implementation of `_.forOwn` without support for iteratee shorthands.\n     *\n     * @private\n     * @param {Object} object The object to iterate over.\n     * @param {Function} iteratee The function invoked per iteration.\n     * @returns {Object} Returns `object`.\n     */\n    function baseForOwn(object, iteratee) {\n      return object && baseFor(object, iteratee, keys);\n    }\n\n    /**\n     * The base implementation of `_.forOwnRight` without support for iteratee shorthands.\n     *\n     * @private\n     * @param {Object} object The object to iterate over.\n     * @param {Function} iteratee The function invoked per iteration.\n     * @returns {Object} Returns `object`.\n     */\n    function baseForOwnRight(object, iteratee) {\n      return object && baseForRight(object, iteratee, keys);\n    }\n\n    /**\n     * The base implementation of `_.functions` which creates an array of\n     * `object` function property names filtered from `props`.\n     *\n     * @private\n     * @param {Object} object The object to inspect.\n     * @param {Array} props The property names to filter.\n     * @returns {Array} Returns the function names.\n     */\n    function baseFunctions(object, props) {\n      return arrayFilter(props, function(key) {\n        return isFunction(object[key]);\n      });\n    }\n\n    /**\n     * The base implementation of `_.get` without support for default values.\n     *\n     * @private\n     * @param {Object} object The object to query.\n     * @param {Array|string} path The path of the property to get.\n     * @returns {*} Returns the resolved value.\n     */\n    function baseGet(object, path) {\n      path = castPath(path, object);\n\n      var index = 0,\n          length = path.length;\n\n      while (object != null && index < length) {\n        object = object[toKey(path[index++])];\n      }\n      return (index && index == length) ? object : undefined;\n    }\n\n    /**\n     * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n     * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n     * symbols of `object`.\n     *\n     * @private\n     * @param {Object} object The object to query.\n     * @param {Function} keysFunc The function to get the keys of `object`.\n     * @param {Function} symbolsFunc The function to get the symbols of `object`.\n     * @returns {Array} Returns the array of property names and symbols.\n     */\n    function baseGetAllKeys(object, keysFunc, symbolsFunc) {\n      var result = keysFunc(object);\n      return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n    }\n\n    /**\n     * The base implementation of `getTag` without fallbacks for buggy environments.\n     *\n     * @private\n     * @param {*} value The value to query.\n     * @returns {string} Returns the `toStringTag`.\n     */\n    function baseGetTag(value) {\n      if (value == null) {\n        return value === undefined ? undefinedTag : nullTag;\n      }\n      return (symToStringTag && symToStringTag in Object(value))\n        ? getRawTag(value)\n        : objectToString(value);\n    }\n\n    /**\n     * The base implementation of `_.gt` which doesn't coerce arguments.\n     *\n     * @private\n     * @param {*} value The value to compare.\n     * @param {*} other The other value to compare.\n     * @returns {boolean} Returns `true` if `value` is greater than `other`,\n     *  else `false`.\n     */\n    function baseGt(value, other) {\n      return value > other;\n    }\n\n    /**\n     * The base implementation of `_.has` without support for deep paths.\n     *\n     * @private\n     * @param {Object} [object] The object to query.\n     * @param {Array|string} key The key to check.\n     * @returns {boolean} Returns `true` if `key` exists, else `false`.\n     */\n    function baseHas(object, key) {\n      return object != null && hasOwnProperty.call(object, key);\n    }\n\n    /**\n     * The base implementation of `_.hasIn` without support for deep paths.\n     *\n     * @private\n     * @param {Object} [object] The object to query.\n     * @param {Array|string} key The key to check.\n     * @returns {boolean} Returns `true` if `key` exists, else `false`.\n     */\n    function baseHasIn(object, key) {\n      return object != null && key in Object(object);\n    }\n\n    /**\n     * The base implementation of `_.inRange` which doesn't coerce arguments.\n     *\n     * @private\n     * @param {number} number The number to check.\n     * @param {number} start The start of the range.\n     * @param {number} end The end of the range.\n     * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n     */\n    function baseInRange(number, start, end) {\n      return number >= nativeMin(start, end) && number < nativeMax(start, end);\n    }\n\n    /**\n     * The base implementation of methods like `_.intersection`, without support\n     * for iteratee shorthands, that accepts an array of arrays to inspect.\n     *\n     * @private\n     * @param {Array} arrays The arrays to inspect.\n     * @param {Function} [iteratee] The iteratee invoked per element.\n     * @param {Function} [comparator] The comparator invoked per element.\n     * @returns {Array} Returns the new array of shared values.\n     */\n    function baseIntersection(arrays, iteratee, comparator) {\n      var includes = comparator ? arrayIncludesWith : arrayIncludes,\n          length = arrays[0].length,\n          othLength = arrays.length,\n          othIndex = othLength,\n          caches = Array(othLength),\n          maxLength = Infinity,\n          result = [];\n\n      while (othIndex--) {\n        var array = arrays[othIndex];\n        if (othIndex && iteratee) {\n          array = arrayMap(array, baseUnary(iteratee));\n        }\n        maxLength = nativeMin(array.length, maxLength);\n        caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n          ? new SetCache(othIndex && array)\n          : undefined;\n      }\n      array = arrays[0];\n\n      var index = -1,\n          seen = caches[0];\n\n      outer:\n      while (++index < length && result.length < maxLength) {\n        var value = array[index],\n            computed = iteratee ? iteratee(value) : value;\n\n        value = (comparator || value !== 0) ? value : 0;\n        if (!(seen\n              ? cacheHas(seen, computed)\n              : includes(result, computed, comparator)\n            )) {\n          othIndex = othLength;\n          while (--othIndex) {\n            var cache = caches[othIndex];\n            if (!(cache\n                  ? cacheHas(cache, computed)\n                  : includes(arrays[othIndex], computed, comparator))\n                ) {\n              continue outer;\n            }\n          }\n          if (seen) {\n            seen.push(computed);\n          }\n          result.push(value);\n        }\n      }\n      return result;\n    }\n\n    /**\n     * The base implementation of `_.invert` and `_.invertBy` which inverts\n     * `object` with values transformed by `iteratee` and set by `setter`.\n     *\n     * @private\n     * @param {Object} object The object to iterate over.\n     * @param {Function} setter The function to set `accumulator` values.\n     * @param {Function} iteratee The iteratee to transform values.\n     * @param {Object} accumulator The initial inverted object.\n     * @returns {Function} Returns `accumulator`.\n     */\n    function baseInverter(object, setter, iteratee, accumulator) {\n      baseForOwn(object, function(value, key, object) {\n        setter(accumulator, iteratee(value), key, object);\n      });\n      return accumulator;\n    }\n\n    /**\n     * The base implementation of `_.invoke` without support for individual\n     * method arguments.\n     *\n     * @private\n     * @param {Object} object The object to query.\n     * @param {Array|string} path The path of the method to invoke.\n     * @param {Array} args The arguments to invoke the method with.\n     * @returns {*} Returns the result of the invoked method.\n     */\n    function baseInvoke(object, path, args) {\n      path = castPath(path, object);\n      object = parent(object, path);\n      var func = object == null ? object : object[toKey(last(path))];\n      return func == null ? undefined : apply(func, object, args);\n    }\n\n    /**\n     * The base implementation of `_.isArguments`.\n     *\n     * @private\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n     */\n    function baseIsArguments(value) {\n      return isObjectLike(value) && baseGetTag(value) == argsTag;\n    }\n\n    /**\n     * The base implementation of `_.isArrayBuffer` without Node.js optimizations.\n     *\n     * @private\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n     */\n    function baseIsArrayBuffer(value) {\n      return isObjectLike(value) && baseGetTag(value) == arrayBufferTag;\n    }\n\n    /**\n     * The base implementation of `_.isDate` without Node.js optimizations.\n     *\n     * @private\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n     */\n    function baseIsDate(value) {\n      return isObjectLike(value) && baseGetTag(value) == dateTag;\n    }\n\n    /**\n     * The base implementation of `_.isEqual` which supports partial comparisons\n     * and tracks traversed objects.\n     *\n     * @private\n     * @param {*} value The value to compare.\n     * @param {*} other The other value to compare.\n     * @param {boolean} bitmask The bitmask flags.\n     *  1 - Unordered comparison\n     *  2 - Partial comparison\n     * @param {Function} [customizer] The function to customize comparisons.\n     * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n     * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n     */\n    function baseIsEqual(value, other, bitmask, customizer, stack) {\n      if (value === other) {\n        return true;\n      }\n      if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n        return value !== value && other !== other;\n      }\n      return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n    }\n\n    /**\n     * A specialized version of `baseIsEqual` for arrays and objects which performs\n     * deep comparisons and tracks traversed objects enabling objects with circular\n     * references to be compared.\n     *\n     * @private\n     * @param {Object} object The object to compare.\n     * @param {Object} other The other object to compare.\n     * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n     * @param {Function} customizer The function to customize comparisons.\n     * @param {Function} equalFunc The function to determine equivalents of values.\n     * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n     * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n     */\n    function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n      var objIsArr = isArray(object),\n          othIsArr = isArray(other),\n          objTag = objIsArr ? arrayTag : getTag(object),\n          othTag = othIsArr ? arrayTag : getTag(other);\n\n      objTag = objTag == argsTag ? objectTag : objTag;\n      othTag = othTag == argsTag ? objectTag : othTag;\n\n      var objIsObj = objTag == objectTag,\n          othIsObj = othTag == objectTag,\n          isSameTag = objTag == othTag;\n\n      if (isSameTag && isBuffer(object)) {\n        if (!isBuffer(other)) {\n          return false;\n        }\n        objIsArr = true;\n        objIsObj = false;\n      }\n      if (isSameTag && !objIsObj) {\n        stack || (stack = new Stack);\n        return (objIsArr || isTypedArray(object))\n          ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n          : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n      }\n      if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n        var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n            othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n        if (objIsWrapped || othIsWrapped) {\n          var objUnwrapped = objIsWrapped ? object.value() : object,\n              othUnwrapped = othIsWrapped ? other.value() : other;\n\n          stack || (stack = new Stack);\n          return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n        }\n      }\n      if (!isSameTag) {\n        return false;\n      }\n      stack || (stack = new Stack);\n      return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n    }\n\n    /**\n     * The base implementation of `_.isMap` without Node.js optimizations.\n     *\n     * @private\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n     */\n    function baseIsMap(value) {\n      return isObjectLike(value) && getTag(value) == mapTag;\n    }\n\n    /**\n     * The base implementation of `_.isMatch` without support for iteratee shorthands.\n     *\n     * @private\n     * @param {Object} object The object to inspect.\n     * @param {Object} source The object of property values to match.\n     * @param {Array} matchData The property names, values, and compare flags to match.\n     * @param {Function} [customizer] The function to customize comparisons.\n     * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n     */\n    function baseIsMatch(object, source, matchData, customizer) {\n      var index = matchData.length,\n          length = index,\n          noCustomizer = !customizer;\n\n      if (object == null) {\n        return !length;\n      }\n      object = Object(object);\n      while (index--) {\n        var data = matchData[index];\n        if ((noCustomizer && data[2])\n              ? data[1] !== object[data[0]]\n              : !(data[0] in object)\n            ) {\n          return false;\n        }\n      }\n      while (++index < length) {\n        data = matchData[index];\n        var key = data[0],\n            objValue = object[key],\n            srcValue = data[1];\n\n        if (noCustomizer && data[2]) {\n          if (objValue === undefined && !(key in object)) {\n            return false;\n          }\n        } else {\n          var stack = new Stack;\n          if (customizer) {\n            var result = customizer(objValue, srcValue, key, object, source, stack);\n          }\n          if (!(result === undefined\n                ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n                : result\n              )) {\n            return false;\n          }\n        }\n      }\n      return true;\n    }\n\n    /**\n     * The base implementation of `_.isNative` without bad shim checks.\n     *\n     * @private\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a native function,\n     *  else `false`.\n     */\n    function baseIsNative(value) {\n      if (!isObject(value) || isMasked(value)) {\n        return false;\n      }\n      var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n      return pattern.test(toSource(value));\n    }\n\n    /**\n     * The base implementation of `_.isRegExp` without Node.js optimizations.\n     *\n     * @private\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n     */\n    function baseIsRegExp(value) {\n      return isObjectLike(value) && baseGetTag(value) == regexpTag;\n    }\n\n    /**\n     * The base implementation of `_.isSet` without Node.js optimizations.\n     *\n     * @private\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n     */\n    function baseIsSet(value) {\n      return isObjectLike(value) && getTag(value) == setTag;\n    }\n\n    /**\n     * The base implementation of `_.isTypedArray` without Node.js optimizations.\n     *\n     * @private\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n     */\n    function baseIsTypedArray(value) {\n      return isObjectLike(value) &&\n        isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n    }\n\n    /**\n     * The base implementation of `_.iteratee`.\n     *\n     * @private\n     * @param {*} [value=_.identity] The value to convert to an iteratee.\n     * @returns {Function} Returns the iteratee.\n     */\n    function baseIteratee(value) {\n      // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n      // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n      if (typeof value == 'function') {\n        return value;\n      }\n      if (value == null) {\n        return identity;\n      }\n      if (typeof value == 'object') {\n        return isArray(value)\n          ? baseMatchesProperty(value[0], value[1])\n          : baseMatches(value);\n      }\n      return property(value);\n    }\n\n    /**\n     * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n     *\n     * @private\n     * @param {Object} object The object to query.\n     * @returns {Array} Returns the array of property names.\n     */\n    function baseKeys(object) {\n      if (!isPrototype(object)) {\n        return nativeKeys(object);\n      }\n      var result = [];\n      for (var key in Object(object)) {\n        if (hasOwnProperty.call(object, key) && key != 'constructor') {\n          result.push(key);\n        }\n      }\n      return result;\n    }\n\n    /**\n     * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n     *\n     * @private\n     * @param {Object} object The object to query.\n     * @returns {Array} Returns the array of property names.\n     */\n    function baseKeysIn(object) {\n      if (!isObject(object)) {\n        return nativeKeysIn(object);\n      }\n      var isProto = isPrototype(object),\n          result = [];\n\n      for (var key in object) {\n        if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n          result.push(key);\n        }\n      }\n      return result;\n    }\n\n    /**\n     * The base implementation of `_.lt` which doesn't coerce arguments.\n     *\n     * @private\n     * @param {*} value The value to compare.\n     * @param {*} other The other value to compare.\n     * @returns {boolean} Returns `true` if `value` is less than `other`,\n     *  else `false`.\n     */\n    function baseLt(value, other) {\n      return value < other;\n    }\n\n    /**\n     * The base implementation of `_.map` without support for iteratee shorthands.\n     *\n     * @private\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} iteratee The function invoked per iteration.\n     * @returns {Array} Returns the new mapped array.\n     */\n    function baseMap(collection, iteratee) {\n      var index = -1,\n          result = isArrayLike(collection) ? Array(collection.length) : [];\n\n      baseEach(collection, function(value, key, collection) {\n        result[++index] = iteratee(value, key, collection);\n      });\n      return result;\n    }\n\n    /**\n     * The base implementation of `_.matches` which doesn't clone `source`.\n     *\n     * @private\n     * @param {Object} source The object of property values to match.\n     * @returns {Function} Returns the new spec function.\n     */\n    function baseMatches(source) {\n      var matchData = getMatchData(source);\n      if (matchData.length == 1 && matchData[0][2]) {\n        return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n      }\n      return function(object) {\n        return object === source || baseIsMatch(object, source, matchData);\n      };\n    }\n\n    /**\n     * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n     *\n     * @private\n     * @param {string} path The path of the property to get.\n     * @param {*} srcValue The value to match.\n     * @returns {Function} Returns the new spec function.\n     */\n    function baseMatchesProperty(path, srcValue) {\n      if (isKey(path) && isStrictComparable(srcValue)) {\n        return matchesStrictComparable(toKey(path), srcValue);\n      }\n      return function(object) {\n        var objValue = get(object, path);\n        return (objValue === undefined && objValue === srcValue)\n          ? hasIn(object, path)\n          : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n      };\n    }\n\n    /**\n     * The base implementation of `_.merge` without support for multiple sources.\n     *\n     * @private\n     * @param {Object} object The destination object.\n     * @param {Object} source The source object.\n     * @param {number} srcIndex The index of `source`.\n     * @param {Function} [customizer] The function to customize merged values.\n     * @param {Object} [stack] Tracks traversed source values and their merged\n     *  counterparts.\n     */\n    function baseMerge(object, source, srcIndex, customizer, stack) {\n      if (object === source) {\n        return;\n      }\n      baseFor(source, function(srcValue, key) {\n        stack || (stack = new Stack);\n        if (isObject(srcValue)) {\n          baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n        }\n        else {\n          var newValue = customizer\n            ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n            : undefined;\n\n          if (newValue === undefined) {\n            newValue = srcValue;\n          }\n          assignMergeValue(object, key, newValue);\n        }\n      }, keysIn);\n    }\n\n    /**\n     * A specialized version of `baseMerge` for arrays and objects which performs\n     * deep merges and tracks traversed objects enabling objects with circular\n     * references to be merged.\n     *\n     * @private\n     * @param {Object} object The destination object.\n     * @param {Object} source The source object.\n     * @param {string} key The key of the value to merge.\n     * @param {number} srcIndex The index of `source`.\n     * @param {Function} mergeFunc The function to merge values.\n     * @param {Function} [customizer] The function to customize assigned values.\n     * @param {Object} [stack] Tracks traversed source values and their merged\n     *  counterparts.\n     */\n    function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n      var objValue = safeGet(object, key),\n          srcValue = safeGet(source, key),\n          stacked = stack.get(srcValue);\n\n      if (stacked) {\n        assignMergeValue(object, key, stacked);\n        return;\n      }\n      var newValue = customizer\n        ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n        : undefined;\n\n      var isCommon = newValue === undefined;\n\n      if (isCommon) {\n        var isArr = isArray(srcValue),\n            isBuff = !isArr && isBuffer(srcValue),\n            isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n        newValue = srcValue;\n        if (isArr || isBuff || isTyped) {\n          if (isArray(objValue)) {\n            newValue = objValue;\n          }\n          else if (isArrayLikeObject(objValue)) {\n            newValue = copyArray(objValue);\n          }\n          else if (isBuff) {\n            isCommon = false;\n            newValue = cloneBuffer(srcValue, true);\n          }\n          else if (isTyped) {\n            isCommon = false;\n            newValue = cloneTypedArray(srcValue, true);\n          }\n          else {\n            newValue = [];\n          }\n        }\n        else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n          newValue = objValue;\n          if (isArguments(objValue)) {\n            newValue = toPlainObject(objValue);\n          }\n          else if (!isObject(objValue) || isFunction(objValue)) {\n            newValue = initCloneObject(srcValue);\n          }\n        }\n        else {\n          isCommon = false;\n        }\n      }\n      if (isCommon) {\n        // Recursively merge objects and arrays (susceptible to call stack limits).\n        stack.set(srcValue, newValue);\n        mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n        stack['delete'](srcValue);\n      }\n      assignMergeValue(object, key, newValue);\n    }\n\n    /**\n     * The base implementation of `_.nth` which doesn't coerce arguments.\n     *\n     * @private\n     * @param {Array} array The array to query.\n     * @param {number} n The index of the element to return.\n     * @returns {*} Returns the nth element of `array`.\n     */\n    function baseNth(array, n) {\n      var length = array.length;\n      if (!length) {\n        return;\n      }\n      n += n < 0 ? length : 0;\n      return isIndex(n, length) ? array[n] : undefined;\n    }\n\n    /**\n     * The base implementation of `_.orderBy` without param guards.\n     *\n     * @private\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n     * @param {string[]} orders The sort orders of `iteratees`.\n     * @returns {Array} Returns the new sorted array.\n     */\n    function baseOrderBy(collection, iteratees, orders) {\n      if (iteratees.length) {\n        iteratees = arrayMap(iteratees, function(iteratee) {\n          if (isArray(iteratee)) {\n            return function(value) {\n              return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);\n            }\n          }\n          return iteratee;\n        });\n      } else {\n        iteratees = [identity];\n      }\n\n      var index = -1;\n      iteratees = arrayMap(iteratees, baseUnary(getIteratee()));\n\n      var result = baseMap(collection, function(value, key, collection) {\n        var criteria = arrayMap(iteratees, function(iteratee) {\n          return iteratee(value);\n        });\n        return { 'criteria': criteria, 'index': ++index, 'value': value };\n      });\n\n      return baseSortBy(result, function(object, other) {\n        return compareMultiple(object, other, orders);\n      });\n    }\n\n    /**\n     * The base implementation of `_.pick` without support for individual\n     * property identifiers.\n     *\n     * @private\n     * @param {Object} object The source object.\n     * @param {string[]} paths The property paths to pick.\n     * @returns {Object} Returns the new object.\n     */\n    function basePick(object, paths) {\n      return basePickBy(object, paths, function(value, path) {\n        return hasIn(object, path);\n      });\n    }\n\n    /**\n     * The base implementation of  `_.pickBy` without support for iteratee shorthands.\n     *\n     * @private\n     * @param {Object} object The source object.\n     * @param {string[]} paths The property paths to pick.\n     * @param {Function} predicate The function invoked per property.\n     * @returns {Object} Returns the new object.\n     */\n    function basePickBy(object, paths, predicate) {\n      var index = -1,\n          length = paths.length,\n          result = {};\n\n      while (++index < length) {\n        var path = paths[index],\n            value = baseGet(object, path);\n\n        if (predicate(value, path)) {\n          baseSet(result, castPath(path, object), value);\n        }\n      }\n      return result;\n    }\n\n    /**\n     * A specialized version of `baseProperty` which supports deep paths.\n     *\n     * @private\n     * @param {Array|string} path The path of the property to get.\n     * @returns {Function} Returns the new accessor function.\n     */\n    function basePropertyDeep(path) {\n      return function(object) {\n        return baseGet(object, path);\n      };\n    }\n\n    /**\n     * The base implementation of `_.pullAllBy` without support for iteratee\n     * shorthands.\n     *\n     * @private\n     * @param {Array} array The array to modify.\n     * @param {Array} values The values to remove.\n     * @param {Function} [iteratee] The iteratee invoked per element.\n     * @param {Function} [comparator] The comparator invoked per element.\n     * @returns {Array} Returns `array`.\n     */\n    function basePullAll(array, values, iteratee, comparator) {\n      var indexOf = comparator ? baseIndexOfWith : baseIndexOf,\n          index = -1,\n          length = values.length,\n          seen = array;\n\n      if (array === values) {\n        values = copyArray(values);\n      }\n      if (iteratee) {\n        seen = arrayMap(array, baseUnary(iteratee));\n      }\n      while (++index < length) {\n        var fromIndex = 0,\n            value = values[index],\n            computed = iteratee ? iteratee(value) : value;\n\n        while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) {\n          if (seen !== array) {\n            splice.call(seen, fromIndex, 1);\n          }\n          splice.call(array, fromIndex, 1);\n        }\n      }\n      return array;\n    }\n\n    /**\n     * The base implementation of `_.pullAt` without support for individual\n     * indexes or capturing the removed elements.\n     *\n     * @private\n     * @param {Array} array The array to modify.\n     * @param {number[]} indexes The indexes of elements to remove.\n     * @returns {Array} Returns `array`.\n     */\n    function basePullAt(array, indexes) {\n      var length = array ? indexes.length : 0,\n          lastIndex = length - 1;\n\n      while (length--) {\n        var index = indexes[length];\n        if (length == lastIndex || index !== previous) {\n          var previous = index;\n          if (isIndex(index)) {\n            splice.call(array, index, 1);\n          } else {\n            baseUnset(array, index);\n          }\n        }\n      }\n      return array;\n    }\n\n    /**\n     * The base implementation of `_.random` without support for returning\n     * floating-point numbers.\n     *\n     * @private\n     * @param {number} lower The lower bound.\n     * @param {number} upper The upper bound.\n     * @returns {number} Returns the random number.\n     */\n    function baseRandom(lower, upper) {\n      return lower + nativeFloor(nativeRandom() * (upper - lower + 1));\n    }\n\n    /**\n     * The base implementation of `_.range` and `_.rangeRight` which doesn't\n     * coerce arguments.\n     *\n     * @private\n     * @param {number} start The start of the range.\n     * @param {number} end The end of the range.\n     * @param {number} step The value to increment or decrement by.\n     * @param {boolean} [fromRight] Specify iterating from right to left.\n     * @returns {Array} Returns the range of numbers.\n     */\n    function baseRange(start, end, step, fromRight) {\n      var index = -1,\n          length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n          result = Array(length);\n\n      while (length--) {\n        result[fromRight ? length : ++index] = start;\n        start += step;\n      }\n      return result;\n    }\n\n    /**\n     * The base implementation of `_.repeat` which doesn't coerce arguments.\n     *\n     * @private\n     * @param {string} string The string to repeat.\n     * @param {number} n The number of times to repeat the string.\n     * @returns {string} Returns the repeated string.\n     */\n    function baseRepeat(string, n) {\n      var result = '';\n      if (!string || n < 1 || n > MAX_SAFE_INTEGER) {\n        return result;\n      }\n      // Leverage the exponentiation by squaring algorithm for a faster repeat.\n      // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.\n      do {\n        if (n % 2) {\n          result += string;\n        }\n        n = nativeFloor(n / 2);\n        if (n) {\n          string += string;\n        }\n      } while (n);\n\n      return result;\n    }\n\n    /**\n     * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n     *\n     * @private\n     * @param {Function} func The function to apply a rest parameter to.\n     * @param {number} [start=func.length-1] The start position of the rest parameter.\n     * @returns {Function} Returns the new function.\n     */\n    function baseRest(func, start) {\n      return setToString(overRest(func, start, identity), func + '');\n    }\n\n    /**\n     * The base implementation of `_.sample`.\n     *\n     * @private\n     * @param {Array|Object} collection The collection to sample.\n     * @returns {*} Returns the random element.\n     */\n    function baseSample(collection) {\n      return arraySample(values(collection));\n    }\n\n    /**\n     * The base implementation of `_.sampleSize` without param guards.\n     *\n     * @private\n     * @param {Array|Object} collection The collection to sample.\n     * @param {number} n The number of elements to sample.\n     * @returns {Array} Returns the random elements.\n     */\n    function baseSampleSize(collection, n) {\n      var array = values(collection);\n      return shuffleSelf(array, baseClamp(n, 0, array.length));\n    }\n\n    /**\n     * The base implementation of `_.set`.\n     *\n     * @private\n     * @param {Object} object The object to modify.\n     * @param {Array|string} path The path of the property to set.\n     * @param {*} value The value to set.\n     * @param {Function} [customizer] The function to customize path creation.\n     * @returns {Object} Returns `object`.\n     */\n    function baseSet(object, path, value, customizer) {\n      if (!isObject(object)) {\n        return object;\n      }\n      path = castPath(path, object);\n\n      var index = -1,\n          length = path.length,\n          lastIndex = length - 1,\n          nested = object;\n\n      while (nested != null && ++index < length) {\n        var key = toKey(path[index]),\n            newValue = value;\n\n        if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n          return object;\n        }\n\n        if (index != lastIndex) {\n          var objValue = nested[key];\n          newValue = customizer ? customizer(objValue, key, nested) : undefined;\n          if (newValue === undefined) {\n            newValue = isObject(objValue)\n              ? objValue\n              : (isIndex(path[index + 1]) ? [] : {});\n          }\n        }\n        assignValue(nested, key, newValue);\n        nested = nested[key];\n      }\n      return object;\n    }\n\n    /**\n     * The base implementation of `setData` without support for hot loop shorting.\n     *\n     * @private\n     * @param {Function} func The function to associate metadata with.\n     * @param {*} data The metadata.\n     * @returns {Function} Returns `func`.\n     */\n    var baseSetData = !metaMap ? identity : function(func, data) {\n      metaMap.set(func, data);\n      return func;\n    };\n\n    /**\n     * The base implementation of `setToString` without support for hot loop shorting.\n     *\n     * @private\n     * @param {Function} func The function to modify.\n     * @param {Function} string The `toString` result.\n     * @returns {Function} Returns `func`.\n     */\n    var baseSetToString = !defineProperty ? identity : function(func, string) {\n      return defineProperty(func, 'toString', {\n        'configurable': true,\n        'enumerable': false,\n        'value': constant(string),\n        'writable': true\n      });\n    };\n\n    /**\n     * The base implementation of `_.shuffle`.\n     *\n     * @private\n     * @param {Array|Object} collection The collection to shuffle.\n     * @returns {Array} Returns the new shuffled array.\n     */\n    function baseShuffle(collection) {\n      return shuffleSelf(values(collection));\n    }\n\n    /**\n     * The base implementation of `_.slice` without an iteratee call guard.\n     *\n     * @private\n     * @param {Array} array The array to slice.\n     * @param {number} [start=0] The start position.\n     * @param {number} [end=array.length] The end position.\n     * @returns {Array} Returns the slice of `array`.\n     */\n    function baseSlice(array, start, end) {\n      var index = -1,\n          length = array.length;\n\n      if (start < 0) {\n        start = -start > length ? 0 : (length + start);\n      }\n      end = end > length ? length : end;\n      if (end < 0) {\n        end += length;\n      }\n      length = start > end ? 0 : ((end - start) >>> 0);\n      start >>>= 0;\n\n      var result = Array(length);\n      while (++index < length) {\n        result[index] = array[index + start];\n      }\n      return result;\n    }\n\n    /**\n     * The base implementation of `_.some` without support for iteratee shorthands.\n     *\n     * @private\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} predicate The function invoked per iteration.\n     * @returns {boolean} Returns `true` if any element passes the predicate check,\n     *  else `false`.\n     */\n    function baseSome(collection, predicate) {\n      var result;\n\n      baseEach(collection, function(value, index, collection) {\n        result = predicate(value, index, collection);\n        return !result;\n      });\n      return !!result;\n    }\n\n    /**\n     * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which\n     * performs a binary search of `array` to determine the index at which `value`\n     * should be inserted into `array` in order to maintain its sort order.\n     *\n     * @private\n     * @param {Array} array The sorted array to inspect.\n     * @param {*} value The value to evaluate.\n     * @param {boolean} [retHighest] Specify returning the highest qualified index.\n     * @returns {number} Returns the index at which `value` should be inserted\n     *  into `array`.\n     */\n    function baseSortedIndex(array, value, retHighest) {\n      var low = 0,\n          high = array == null ? low : array.length;\n\n      if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) {\n        while (low < high) {\n          var mid = (low + high) >>> 1,\n              computed = array[mid];\n\n          if (computed !== null && !isSymbol(computed) &&\n              (retHighest ? (computed <= value) : (computed < value))) {\n            low = mid + 1;\n          } else {\n            high = mid;\n          }\n        }\n        return high;\n      }\n      return baseSortedIndexBy(array, value, identity, retHighest);\n    }\n\n    /**\n     * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy`\n     * which invokes `iteratee` for `value` and each element of `array` to compute\n     * their sort ranking. The iteratee is invoked with one argument; (value).\n     *\n     * @private\n     * @param {Array} array The sorted array to inspect.\n     * @param {*} value The value to evaluate.\n     * @param {Function} iteratee The iteratee invoked per element.\n     * @param {boolean} [retHighest] Specify returning the highest qualified index.\n     * @returns {number} Returns the index at which `value` should be inserted\n     *  into `array`.\n     */\n    function baseSortedIndexBy(array, value, iteratee, retHighest) {\n      var low = 0,\n          high = array == null ? 0 : array.length;\n      if (high === 0) {\n        return 0;\n      }\n\n      value = iteratee(value);\n      var valIsNaN = value !== value,\n          valIsNull = value === null,\n          valIsSymbol = isSymbol(value),\n          valIsUndefined = value === undefined;\n\n      while (low < high) {\n        var mid = nativeFloor((low + high) / 2),\n            computed = iteratee(array[mid]),\n            othIsDefined = computed !== undefined,\n            othIsNull = computed === null,\n            othIsReflexive = computed === computed,\n            othIsSymbol = isSymbol(computed);\n\n        if (valIsNaN) {\n          var setLow = retHighest || othIsReflexive;\n        } else if (valIsUndefined) {\n          setLow = othIsReflexive && (retHighest || othIsDefined);\n        } else if (valIsNull) {\n          setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull);\n        } else if (valIsSymbol) {\n          setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol);\n        } else if (othIsNull || othIsSymbol) {\n          setLow = false;\n        } else {\n          setLow = retHighest ? (computed <= value) : (computed < value);\n        }\n        if (setLow) {\n          low = mid + 1;\n        } else {\n          high = mid;\n        }\n      }\n      return nativeMin(high, MAX_ARRAY_INDEX);\n    }\n\n    /**\n     * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without\n     * support for iteratee shorthands.\n     *\n     * @private\n     * @param {Array} array The array to inspect.\n     * @param {Function} [iteratee] The iteratee invoked per element.\n     * @returns {Array} Returns the new duplicate free array.\n     */\n    function baseSortedUniq(array, iteratee) {\n      var index = -1,\n          length = array.length,\n          resIndex = 0,\n          result = [];\n\n      while (++index < length) {\n        var value = array[index],\n            computed = iteratee ? iteratee(value) : value;\n\n        if (!index || !eq(computed, seen)) {\n          var seen = computed;\n          result[resIndex++] = value === 0 ? 0 : value;\n        }\n      }\n      return result;\n    }\n\n    /**\n     * The base implementation of `_.toNumber` which doesn't ensure correct\n     * conversions of binary, hexadecimal, or octal string values.\n     *\n     * @private\n     * @param {*} value The value to process.\n     * @returns {number} Returns the number.\n     */\n    function baseToNumber(value) {\n      if (typeof value == 'number') {\n        return value;\n      }\n      if (isSymbol(value)) {\n        return NAN;\n      }\n      return +value;\n    }\n\n    /**\n     * The base implementation of `_.toString` which doesn't convert nullish\n     * values to empty strings.\n     *\n     * @private\n     * @param {*} value The value to process.\n     * @returns {string} Returns the string.\n     */\n    function baseToString(value) {\n      // Exit early for strings to avoid a performance hit in some environments.\n      if (typeof value == 'string') {\n        return value;\n      }\n      if (isArray(value)) {\n        // Recursively convert values (susceptible to call stack limits).\n        return arrayMap(value, baseToString) + '';\n      }\n      if (isSymbol(value)) {\n        return symbolToString ? symbolToString.call(value) : '';\n      }\n      var result = (value + '');\n      return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n    }\n\n    /**\n     * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n     *\n     * @private\n     * @param {Array} array The array to inspect.\n     * @param {Function} [iteratee] The iteratee invoked per element.\n     * @param {Function} [comparator] The comparator invoked per element.\n     * @returns {Array} Returns the new duplicate free array.\n     */\n    function baseUniq(array, iteratee, comparator) {\n      var index = -1,\n          includes = arrayIncludes,\n          length = array.length,\n          isCommon = true,\n          result = [],\n          seen = result;\n\n      if (comparator) {\n        isCommon = false;\n        includes = arrayIncludesWith;\n      }\n      else if (length >= LARGE_ARRAY_SIZE) {\n        var set = iteratee ? null : createSet(array);\n        if (set) {\n          return setToArray(set);\n        }\n        isCommon = false;\n        includes = cacheHas;\n        seen = new SetCache;\n      }\n      else {\n        seen = iteratee ? [] : result;\n      }\n      outer:\n      while (++index < length) {\n        var value = array[index],\n            computed = iteratee ? iteratee(value) : value;\n\n        value = (comparator || value !== 0) ? value : 0;\n        if (isCommon && computed === computed) {\n          var seenIndex = seen.length;\n          while (seenIndex--) {\n            if (seen[seenIndex] === computed) {\n              continue outer;\n            }\n          }\n          if (iteratee) {\n            seen.push(computed);\n          }\n          result.push(value);\n        }\n        else if (!includes(seen, computed, comparator)) {\n          if (seen !== result) {\n            seen.push(computed);\n          }\n          result.push(value);\n        }\n      }\n      return result;\n    }\n\n    /**\n     * The base implementation of `_.unset`.\n     *\n     * @private\n     * @param {Object} object The object to modify.\n     * @param {Array|string} path The property path to unset.\n     * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n     */\n    function baseUnset(object, path) {\n      path = castPath(path, object);\n      object = parent(object, path);\n      return object == null || delete object[toKey(last(path))];\n    }\n\n    /**\n     * The base implementation of `_.update`.\n     *\n     * @private\n     * @param {Object} object The object to modify.\n     * @param {Array|string} path The path of the property to update.\n     * @param {Function} updater The function to produce the updated value.\n     * @param {Function} [customizer] The function to customize path creation.\n     * @returns {Object} Returns `object`.\n     */\n    function baseUpdate(object, path, updater, customizer) {\n      return baseSet(object, path, updater(baseGet(object, path)), customizer);\n    }\n\n    /**\n     * The base implementation of methods like `_.dropWhile` and `_.takeWhile`\n     * without support for iteratee shorthands.\n     *\n     * @private\n     * @param {Array} array The array to query.\n     * @param {Function} predicate The function invoked per iteration.\n     * @param {boolean} [isDrop] Specify dropping elements instead of taking them.\n     * @param {boolean} [fromRight] Specify iterating from right to left.\n     * @returns {Array} Returns the slice of `array`.\n     */\n    function baseWhile(array, predicate, isDrop, fromRight) {\n      var length = array.length,\n          index = fromRight ? length : -1;\n\n      while ((fromRight ? index-- : ++index < length) &&\n        predicate(array[index], index, array)) {}\n\n      return isDrop\n        ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length))\n        : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index));\n    }\n\n    /**\n     * The base implementation of `wrapperValue` which returns the result of\n     * performing a sequence of actions on the unwrapped `value`, where each\n     * successive action is supplied the return value of the previous.\n     *\n     * @private\n     * @param {*} value The unwrapped value.\n     * @param {Array} actions Actions to perform to resolve the unwrapped value.\n     * @returns {*} Returns the resolved value.\n     */\n    function baseWrapperValue(value, actions) {\n      var result = value;\n      if (result instanceof LazyWrapper) {\n        result = result.value();\n      }\n      return arrayReduce(actions, function(result, action) {\n        return action.func.apply(action.thisArg, arrayPush([result], action.args));\n      }, result);\n    }\n\n    /**\n     * The base implementation of methods like `_.xor`, without support for\n     * iteratee shorthands, that accepts an array of arrays to inspect.\n     *\n     * @private\n     * @param {Array} arrays The arrays to inspect.\n     * @param {Function} [iteratee] The iteratee invoked per element.\n     * @param {Function} [comparator] The comparator invoked per element.\n     * @returns {Array} Returns the new array of values.\n     */\n    function baseXor(arrays, iteratee, comparator) {\n      var length = arrays.length;\n      if (length < 2) {\n        return length ? baseUniq(arrays[0]) : [];\n      }\n      var index = -1,\n          result = Array(length);\n\n      while (++index < length) {\n        var array = arrays[index],\n            othIndex = -1;\n\n        while (++othIndex < length) {\n          if (othIndex != index) {\n            result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator);\n          }\n        }\n      }\n      return baseUniq(baseFlatten(result, 1), iteratee, comparator);\n    }\n\n    /**\n     * This base implementation of `_.zipObject` which assigns values using `assignFunc`.\n     *\n     * @private\n     * @param {Array} props The property identifiers.\n     * @param {Array} values The property values.\n     * @param {Function} assignFunc The function to assign values.\n     * @returns {Object} Returns the new object.\n     */\n    function baseZipObject(props, values, assignFunc) {\n      var index = -1,\n          length = props.length,\n          valsLength = values.length,\n          result = {};\n\n      while (++index < length) {\n        var value = index < valsLength ? values[index] : undefined;\n        assignFunc(result, props[index], value);\n      }\n      return result;\n    }\n\n    /**\n     * Casts `value` to an empty array if it's not an array like object.\n     *\n     * @private\n     * @param {*} value The value to inspect.\n     * @returns {Array|Object} Returns the cast array-like object.\n     */\n    function castArrayLikeObject(value) {\n      return isArrayLikeObject(value) ? value : [];\n    }\n\n    /**\n     * Casts `value` to `identity` if it's not a function.\n     *\n     * @private\n     * @param {*} value The value to inspect.\n     * @returns {Function} Returns cast function.\n     */\n    function castFunction(value) {\n      return typeof value == 'function' ? value : identity;\n    }\n\n    /**\n     * Casts `value` to a path array if it's not one.\n     *\n     * @private\n     * @param {*} value The value to inspect.\n     * @param {Object} [object] The object to query keys on.\n     * @returns {Array} Returns the cast property path array.\n     */\n    function castPath(value, object) {\n      if (isArray(value)) {\n        return value;\n      }\n      return isKey(value, object) ? [value] : stringToPath(toString(value));\n    }\n\n    /**\n     * A `baseRest` alias which can be replaced with `identity` by module\n     * replacement plugins.\n     *\n     * @private\n     * @type {Function}\n     * @param {Function} func The function to apply a rest parameter to.\n     * @returns {Function} Returns the new function.\n     */\n    var castRest = baseRest;\n\n    /**\n     * Casts `array` to a slice if it's needed.\n     *\n     * @private\n     * @param {Array} array The array to inspect.\n     * @param {number} start The start position.\n     * @param {number} [end=array.length] The end position.\n     * @returns {Array} Returns the cast slice.\n     */\n    function castSlice(array, start, end) {\n      var length = array.length;\n      end = end === undefined ? length : end;\n      return (!start && end >= length) ? array : baseSlice(array, start, end);\n    }\n\n    /**\n     * A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout).\n     *\n     * @private\n     * @param {number|Object} id The timer id or timeout object of the timer to clear.\n     */\n    var clearTimeout = ctxClearTimeout || function(id) {\n      return root.clearTimeout(id);\n    };\n\n    /**\n     * Creates a clone of  `buffer`.\n     *\n     * @private\n     * @param {Buffer} buffer The buffer to clone.\n     * @param {boolean} [isDeep] Specify a deep clone.\n     * @returns {Buffer} Returns the cloned buffer.\n     */\n    function cloneBuffer(buffer, isDeep) {\n      if (isDeep) {\n        return buffer.slice();\n      }\n      var length = buffer.length,\n          result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n      buffer.copy(result);\n      return result;\n    }\n\n    /**\n     * Creates a clone of `arrayBuffer`.\n     *\n     * @private\n     * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n     * @returns {ArrayBuffer} Returns the cloned array buffer.\n     */\n    function cloneArrayBuffer(arrayBuffer) {\n      var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n      new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n      return result;\n    }\n\n    /**\n     * Creates a clone of `dataView`.\n     *\n     * @private\n     * @param {Object} dataView The data view to clone.\n     * @param {boolean} [isDeep] Specify a deep clone.\n     * @returns {Object} Returns the cloned data view.\n     */\n    function cloneDataView(dataView, isDeep) {\n      var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n      return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n    }\n\n    /**\n     * Creates a clone of `regexp`.\n     *\n     * @private\n     * @param {Object} regexp The regexp to clone.\n     * @returns {Object} Returns the cloned regexp.\n     */\n    function cloneRegExp(regexp) {\n      var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n      result.lastIndex = regexp.lastIndex;\n      return result;\n    }\n\n    /**\n     * Creates a clone of the `symbol` object.\n     *\n     * @private\n     * @param {Object} symbol The symbol object to clone.\n     * @returns {Object} Returns the cloned symbol object.\n     */\n    function cloneSymbol(symbol) {\n      return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n    }\n\n    /**\n     * Creates a clone of `typedArray`.\n     *\n     * @private\n     * @param {Object} typedArray The typed array to clone.\n     * @param {boolean} [isDeep] Specify a deep clone.\n     * @returns {Object} Returns the cloned typed array.\n     */\n    function cloneTypedArray(typedArray, isDeep) {\n      var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n      return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n    }\n\n    /**\n     * Compares values to sort them in ascending order.\n     *\n     * @private\n     * @param {*} value The value to compare.\n     * @param {*} other The other value to compare.\n     * @returns {number} Returns the sort order indicator for `value`.\n     */\n    function compareAscending(value, other) {\n      if (value !== other) {\n        var valIsDefined = value !== undefined,\n            valIsNull = value === null,\n            valIsReflexive = value === value,\n            valIsSymbol = isSymbol(value);\n\n        var othIsDefined = other !== undefined,\n            othIsNull = other === null,\n            othIsReflexive = other === other,\n            othIsSymbol = isSymbol(other);\n\n        if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n            (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n            (valIsNull && othIsDefined && othIsReflexive) ||\n            (!valIsDefined && othIsReflexive) ||\n            !valIsReflexive) {\n          return 1;\n        }\n        if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n            (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n            (othIsNull && valIsDefined && valIsReflexive) ||\n            (!othIsDefined && valIsReflexive) ||\n            !othIsReflexive) {\n          return -1;\n        }\n      }\n      return 0;\n    }\n\n    /**\n     * Used by `_.orderBy` to compare multiple properties of a value to another\n     * and stable sort them.\n     *\n     * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n     * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n     * of corresponding values.\n     *\n     * @private\n     * @param {Object} object The object to compare.\n     * @param {Object} other The other object to compare.\n     * @param {boolean[]|string[]} orders The order to sort by for each property.\n     * @returns {number} Returns the sort order indicator for `object`.\n     */\n    function compareMultiple(object, other, orders) {\n      var index = -1,\n          objCriteria = object.criteria,\n          othCriteria = other.criteria,\n          length = objCriteria.length,\n          ordersLength = orders.length;\n\n      while (++index < length) {\n        var result = compareAscending(objCriteria[index], othCriteria[index]);\n        if (result) {\n          if (index >= ordersLength) {\n            return result;\n          }\n          var order = orders[index];\n          return result * (order == 'desc' ? -1 : 1);\n        }\n      }\n      // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n      // that causes it, under certain circumstances, to provide the same value for\n      // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n      // for more details.\n      //\n      // This also ensures a stable sort in V8 and other engines.\n      // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n      return object.index - other.index;\n    }\n\n    /**\n     * Creates an array that is the composition of partially applied arguments,\n     * placeholders, and provided arguments into a single array of arguments.\n     *\n     * @private\n     * @param {Array} args The provided arguments.\n     * @param {Array} partials The arguments to prepend to those provided.\n     * @param {Array} holders The `partials` placeholder indexes.\n     * @params {boolean} [isCurried] Specify composing for a curried function.\n     * @returns {Array} Returns the new array of composed arguments.\n     */\n    function composeArgs(args, partials, holders, isCurried) {\n      var argsIndex = -1,\n          argsLength = args.length,\n          holdersLength = holders.length,\n          leftIndex = -1,\n          leftLength = partials.length,\n          rangeLength = nativeMax(argsLength - holdersLength, 0),\n          result = Array(leftLength + rangeLength),\n          isUncurried = !isCurried;\n\n      while (++leftIndex < leftLength) {\n        result[leftIndex] = partials[leftIndex];\n      }\n      while (++argsIndex < holdersLength) {\n        if (isUncurried || argsIndex < argsLength) {\n          result[holders[argsIndex]] = args[argsIndex];\n        }\n      }\n      while (rangeLength--) {\n        result[leftIndex++] = args[argsIndex++];\n      }\n      return result;\n    }\n\n    /**\n     * This function is like `composeArgs` except that the arguments composition\n     * is tailored for `_.partialRight`.\n     *\n     * @private\n     * @param {Array} args The provided arguments.\n     * @param {Array} partials The arguments to append to those provided.\n     * @param {Array} holders The `partials` placeholder indexes.\n     * @params {boolean} [isCurried] Specify composing for a curried function.\n     * @returns {Array} Returns the new array of composed arguments.\n     */\n    function composeArgsRight(args, partials, holders, isCurried) {\n      var argsIndex = -1,\n          argsLength = args.length,\n          holdersIndex = -1,\n          holdersLength = holders.length,\n          rightIndex = -1,\n          rightLength = partials.length,\n          rangeLength = nativeMax(argsLength - holdersLength, 0),\n          result = Array(rangeLength + rightLength),\n          isUncurried = !isCurried;\n\n      while (++argsIndex < rangeLength) {\n        result[argsIndex] = args[argsIndex];\n      }\n      var offset = argsIndex;\n      while (++rightIndex < rightLength) {\n        result[offset + rightIndex] = partials[rightIndex];\n      }\n      while (++holdersIndex < holdersLength) {\n        if (isUncurried || argsIndex < argsLength) {\n          result[offset + holders[holdersIndex]] = args[argsIndex++];\n        }\n      }\n      return result;\n    }\n\n    /**\n     * Copies the values of `source` to `array`.\n     *\n     * @private\n     * @param {Array} source The array to copy values from.\n     * @param {Array} [array=[]] The array to copy values to.\n     * @returns {Array} Returns `array`.\n     */\n    function copyArray(source, array) {\n      var index = -1,\n          length = source.length;\n\n      array || (array = Array(length));\n      while (++index < length) {\n        array[index] = source[index];\n      }\n      return array;\n    }\n\n    /**\n     * Copies properties of `source` to `object`.\n     *\n     * @private\n     * @param {Object} source The object to copy properties from.\n     * @param {Array} props The property identifiers to copy.\n     * @param {Object} [object={}] The object to copy properties to.\n     * @param {Function} [customizer] The function to customize copied values.\n     * @returns {Object} Returns `object`.\n     */\n    function copyObject(source, props, object, customizer) {\n      var isNew = !object;\n      object || (object = {});\n\n      var index = -1,\n          length = props.length;\n\n      while (++index < length) {\n        var key = props[index];\n\n        var newValue = customizer\n          ? customizer(object[key], source[key], key, object, source)\n          : undefined;\n\n        if (newValue === undefined) {\n          newValue = source[key];\n        }\n        if (isNew) {\n          baseAssignValue(object, key, newValue);\n        } else {\n          assignValue(object, key, newValue);\n        }\n      }\n      return object;\n    }\n\n    /**\n     * Copies own symbols of `source` to `object`.\n     *\n     * @private\n     * @param {Object} source The object to copy symbols from.\n     * @param {Object} [object={}] The object to copy symbols to.\n     * @returns {Object} Returns `object`.\n     */\n    function copySymbols(source, object) {\n      return copyObject(source, getSymbols(source), object);\n    }\n\n    /**\n     * Copies own and inherited symbols of `source` to `object`.\n     *\n     * @private\n     * @param {Object} source The object to copy symbols from.\n     * @param {Object} [object={}] The object to copy symbols to.\n     * @returns {Object} Returns `object`.\n     */\n    function copySymbolsIn(source, object) {\n      return copyObject(source, getSymbolsIn(source), object);\n    }\n\n    /**\n     * Creates a function like `_.groupBy`.\n     *\n     * @private\n     * @param {Function} setter The function to set accumulator values.\n     * @param {Function} [initializer] The accumulator object initializer.\n     * @returns {Function} Returns the new aggregator function.\n     */\n    function createAggregator(setter, initializer) {\n      return function(collection, iteratee) {\n        var func = isArray(collection) ? arrayAggregator : baseAggregator,\n            accumulator = initializer ? initializer() : {};\n\n        return func(collection, setter, getIteratee(iteratee, 2), accumulator);\n      };\n    }\n\n    /**\n     * Creates a function like `_.assign`.\n     *\n     * @private\n     * @param {Function} assigner The function to assign values.\n     * @returns {Function} Returns the new assigner function.\n     */\n    function createAssigner(assigner) {\n      return baseRest(function(object, sources) {\n        var index = -1,\n            length = sources.length,\n            customizer = length > 1 ? sources[length - 1] : undefined,\n            guard = length > 2 ? sources[2] : undefined;\n\n        customizer = (assigner.length > 3 && typeof customizer == 'function')\n          ? (length--, customizer)\n          : undefined;\n\n        if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n          customizer = length < 3 ? undefined : customizer;\n          length = 1;\n        }\n        object = Object(object);\n        while (++index < length) {\n          var source = sources[index];\n          if (source) {\n            assigner(object, source, index, customizer);\n          }\n        }\n        return object;\n      });\n    }\n\n    /**\n     * Creates a `baseEach` or `baseEachRight` function.\n     *\n     * @private\n     * @param {Function} eachFunc The function to iterate over a collection.\n     * @param {boolean} [fromRight] Specify iterating from right to left.\n     * @returns {Function} Returns the new base function.\n     */\n    function createBaseEach(eachFunc, fromRight) {\n      return function(collection, iteratee) {\n        if (collection == null) {\n          return collection;\n        }\n        if (!isArrayLike(collection)) {\n          return eachFunc(collection, iteratee);\n        }\n        var length = collection.length,\n            index = fromRight ? length : -1,\n            iterable = Object(collection);\n\n        while ((fromRight ? index-- : ++index < length)) {\n          if (iteratee(iterable[index], index, iterable) === false) {\n            break;\n          }\n        }\n        return collection;\n      };\n    }\n\n    /**\n     * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n     *\n     * @private\n     * @param {boolean} [fromRight] Specify iterating from right to left.\n     * @returns {Function} Returns the new base function.\n     */\n    function createBaseFor(fromRight) {\n      return function(object, iteratee, keysFunc) {\n        var index = -1,\n            iterable = Object(object),\n            props = keysFunc(object),\n            length = props.length;\n\n        while (length--) {\n          var key = props[fromRight ? length : ++index];\n          if (iteratee(iterable[key], key, iterable) === false) {\n            break;\n          }\n        }\n        return object;\n      };\n    }\n\n    /**\n     * Creates a function that wraps `func` to invoke it with the optional `this`\n     * binding of `thisArg`.\n     *\n     * @private\n     * @param {Function} func The function to wrap.\n     * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n     * @param {*} [thisArg] The `this` binding of `func`.\n     * @returns {Function} Returns the new wrapped function.\n     */\n    function createBind(func, bitmask, thisArg) {\n      var isBind = bitmask & WRAP_BIND_FLAG,\n          Ctor = createCtor(func);\n\n      function wrapper() {\n        var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n        return fn.apply(isBind ? thisArg : this, arguments);\n      }\n      return wrapper;\n    }\n\n    /**\n     * Creates a function like `_.lowerFirst`.\n     *\n     * @private\n     * @param {string} methodName The name of the `String` case method to use.\n     * @returns {Function} Returns the new case function.\n     */\n    function createCaseFirst(methodName) {\n      return function(string) {\n        string = toString(string);\n\n        var strSymbols = hasUnicode(string)\n          ? stringToArray(string)\n          : undefined;\n\n        var chr = strSymbols\n          ? strSymbols[0]\n          : string.charAt(0);\n\n        var trailing = strSymbols\n          ? castSlice(strSymbols, 1).join('')\n          : string.slice(1);\n\n        return chr[methodName]() + trailing;\n      };\n    }\n\n    /**\n     * Creates a function like `_.camelCase`.\n     *\n     * @private\n     * @param {Function} callback The function to combine each word.\n     * @returns {Function} Returns the new compounder function.\n     */\n    function createCompounder(callback) {\n      return function(string) {\n        return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n      };\n    }\n\n    /**\n     * Creates a function that produces an instance of `Ctor` regardless of\n     * whether it was invoked as part of a `new` expression or by `call` or `apply`.\n     *\n     * @private\n     * @param {Function} Ctor The constructor to wrap.\n     * @returns {Function} Returns the new wrapped function.\n     */\n    function createCtor(Ctor) {\n      return function() {\n        // Use a `switch` statement to work with class constructors. See\n        // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist\n        // for more details.\n        var args = arguments;\n        switch (args.length) {\n          case 0: return new Ctor;\n          case 1: return new Ctor(args[0]);\n          case 2: return new Ctor(args[0], args[1]);\n          case 3: return new Ctor(args[0], args[1], args[2]);\n          case 4: return new Ctor(args[0], args[1], args[2], args[3]);\n          case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);\n          case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);\n          case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);\n        }\n        var thisBinding = baseCreate(Ctor.prototype),\n            result = Ctor.apply(thisBinding, args);\n\n        // Mimic the constructor's `return` behavior.\n        // See https://es5.github.io/#x13.2.2 for more details.\n        return isObject(result) ? result : thisBinding;\n      };\n    }\n\n    /**\n     * Creates a function that wraps `func` to enable currying.\n     *\n     * @private\n     * @param {Function} func The function to wrap.\n     * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n     * @param {number} arity The arity of `func`.\n     * @returns {Function} Returns the new wrapped function.\n     */\n    function createCurry(func, bitmask, arity) {\n      var Ctor = createCtor(func);\n\n      function wrapper() {\n        var length = arguments.length,\n            args = Array(length),\n            index = length,\n            placeholder = getHolder(wrapper);\n\n        while (index--) {\n          args[index] = arguments[index];\n        }\n        var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)\n          ? []\n          : replaceHolders(args, placeholder);\n\n        length -= holders.length;\n        if (length < arity) {\n          return createRecurry(\n            func, bitmask, createHybrid, wrapper.placeholder, undefined,\n            args, holders, undefined, undefined, arity - length);\n        }\n        var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n        return apply(fn, this, args);\n      }\n      return wrapper;\n    }\n\n    /**\n     * Creates a `_.find` or `_.findLast` function.\n     *\n     * @private\n     * @param {Function} findIndexFunc The function to find the collection index.\n     * @returns {Function} Returns the new find function.\n     */\n    function createFind(findIndexFunc) {\n      return function(collection, predicate, fromIndex) {\n        var iterable = Object(collection);\n        if (!isArrayLike(collection)) {\n          var iteratee = getIteratee(predicate, 3);\n          collection = keys(collection);\n          predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n        }\n        var index = findIndexFunc(collection, predicate, fromIndex);\n        return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n      };\n    }\n\n    /**\n     * Creates a `_.flow` or `_.flowRight` function.\n     *\n     * @private\n     * @param {boolean} [fromRight] Specify iterating from right to left.\n     * @returns {Function} Returns the new flow function.\n     */\n    function createFlow(fromRight) {\n      return flatRest(function(funcs) {\n        var length = funcs.length,\n            index = length,\n            prereq = LodashWrapper.prototype.thru;\n\n        if (fromRight) {\n          funcs.reverse();\n        }\n        while (index--) {\n          var func = funcs[index];\n          if (typeof func != 'function') {\n            throw new TypeError(FUNC_ERROR_TEXT);\n          }\n          if (prereq && !wrapper && getFuncName(func) == 'wrapper') {\n            var wrapper = new LodashWrapper([], true);\n          }\n        }\n        index = wrapper ? index : length;\n        while (++index < length) {\n          func = funcs[index];\n\n          var funcName = getFuncName(func),\n              data = funcName == 'wrapper' ? getData(func) : undefined;\n\n          if (data && isLaziable(data[0]) &&\n                data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) &&\n                !data[4].length && data[9] == 1\n              ) {\n            wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);\n          } else {\n            wrapper = (func.length == 1 && isLaziable(func))\n              ? wrapper[funcName]()\n              : wrapper.thru(func);\n          }\n        }\n        return function() {\n          var args = arguments,\n              value = args[0];\n\n          if (wrapper && args.length == 1 && isArray(value)) {\n            return wrapper.plant(value).value();\n          }\n          var index = 0,\n              result = length ? funcs[index].apply(this, args) : value;\n\n          while (++index < length) {\n            result = funcs[index].call(this, result);\n          }\n          return result;\n        };\n      });\n    }\n\n    /**\n     * Creates a function that wraps `func` to invoke it with optional `this`\n     * binding of `thisArg`, partial application, and currying.\n     *\n     * @private\n     * @param {Function|string} func The function or method name to wrap.\n     * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n     * @param {*} [thisArg] The `this` binding of `func`.\n     * @param {Array} [partials] The arguments to prepend to those provided to\n     *  the new function.\n     * @param {Array} [holders] The `partials` placeholder indexes.\n     * @param {Array} [partialsRight] The arguments to append to those provided\n     *  to the new function.\n     * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.\n     * @param {Array} [argPos] The argument positions of the new function.\n     * @param {number} [ary] The arity cap of `func`.\n     * @param {number} [arity] The arity of `func`.\n     * @returns {Function} Returns the new wrapped function.\n     */\n    function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {\n      var isAry = bitmask & WRAP_ARY_FLAG,\n          isBind = bitmask & WRAP_BIND_FLAG,\n          isBindKey = bitmask & WRAP_BIND_KEY_FLAG,\n          isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG),\n          isFlip = bitmask & WRAP_FLIP_FLAG,\n          Ctor = isBindKey ? undefined : createCtor(func);\n\n      function wrapper() {\n        var length = arguments.length,\n            args = Array(length),\n            index = length;\n\n        while (index--) {\n          args[index] = arguments[index];\n        }\n        if (isCurried) {\n          var placeholder = getHolder(wrapper),\n              holdersCount = countHolders(args, placeholder);\n        }\n        if (partials) {\n          args = composeArgs(args, partials, holders, isCurried);\n        }\n        if (partialsRight) {\n          args = composeArgsRight(args, partialsRight, holdersRight, isCurried);\n        }\n        length -= holdersCount;\n        if (isCurried && length < arity) {\n          var newHolders = replaceHolders(args, placeholder);\n          return createRecurry(\n            func, bitmask, createHybrid, wrapper.placeholder, thisArg,\n            args, newHolders, argPos, ary, arity - length\n          );\n        }\n        var thisBinding = isBind ? thisArg : this,\n            fn = isBindKey ? thisBinding[func] : func;\n\n        length = args.length;\n        if (argPos) {\n          args = reorder(args, argPos);\n        } else if (isFlip && length > 1) {\n          args.reverse();\n        }\n        if (isAry && ary < length) {\n          args.length = ary;\n        }\n        if (this && this !== root && this instanceof wrapper) {\n          fn = Ctor || createCtor(fn);\n        }\n        return fn.apply(thisBinding, args);\n      }\n      return wrapper;\n    }\n\n    /**\n     * Creates a function like `_.invertBy`.\n     *\n     * @private\n     * @param {Function} setter The function to set accumulator values.\n     * @param {Function} toIteratee The function to resolve iteratees.\n     * @returns {Function} Returns the new inverter function.\n     */\n    function createInverter(setter, toIteratee) {\n      return function(object, iteratee) {\n        return baseInverter(object, setter, toIteratee(iteratee), {});\n      };\n    }\n\n    /**\n     * Creates a function that performs a mathematical operation on two values.\n     *\n     * @private\n     * @param {Function} operator The function to perform the operation.\n     * @param {number} [defaultValue] The value used for `undefined` arguments.\n     * @returns {Function} Returns the new mathematical operation function.\n     */\n    function createMathOperation(operator, defaultValue) {\n      return function(value, other) {\n        var result;\n        if (value === undefined && other === undefined) {\n          return defaultValue;\n        }\n        if (value !== undefined) {\n          result = value;\n        }\n        if (other !== undefined) {\n          if (result === undefined) {\n            return other;\n          }\n          if (typeof value == 'string' || typeof other == 'string') {\n            value = baseToString(value);\n            other = baseToString(other);\n          } else {\n            value = baseToNumber(value);\n            other = baseToNumber(other);\n          }\n          result = operator(value, other);\n        }\n        return result;\n      };\n    }\n\n    /**\n     * Creates a function like `_.over`.\n     *\n     * @private\n     * @param {Function} arrayFunc The function to iterate over iteratees.\n     * @returns {Function} Returns the new over function.\n     */\n    function createOver(arrayFunc) {\n      return flatRest(function(iteratees) {\n        iteratees = arrayMap(iteratees, baseUnary(getIteratee()));\n        return baseRest(function(args) {\n          var thisArg = this;\n          return arrayFunc(iteratees, function(iteratee) {\n            return apply(iteratee, thisArg, args);\n          });\n        });\n      });\n    }\n\n    /**\n     * Creates the padding for `string` based on `length`. The `chars` string\n     * is truncated if the number of characters exceeds `length`.\n     *\n     * @private\n     * @param {number} length The padding length.\n     * @param {string} [chars=' '] The string used as padding.\n     * @returns {string} Returns the padding for `string`.\n     */\n    function createPadding(length, chars) {\n      chars = chars === undefined ? ' ' : baseToString(chars);\n\n      var charsLength = chars.length;\n      if (charsLength < 2) {\n        return charsLength ? baseRepeat(chars, length) : chars;\n      }\n      var result = baseRepeat(chars, nativeCeil(length / stringSize(chars)));\n      return hasUnicode(chars)\n        ? castSlice(stringToArray(result), 0, length).join('')\n        : result.slice(0, length);\n    }\n\n    /**\n     * Creates a function that wraps `func` to invoke it with the `this` binding\n     * of `thisArg` and `partials` prepended to the arguments it receives.\n     *\n     * @private\n     * @param {Function} func The function to wrap.\n     * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n     * @param {*} thisArg The `this` binding of `func`.\n     * @param {Array} partials The arguments to prepend to those provided to\n     *  the new function.\n     * @returns {Function} Returns the new wrapped function.\n     */\n    function createPartial(func, bitmask, thisArg, partials) {\n      var isBind = bitmask & WRAP_BIND_FLAG,\n          Ctor = createCtor(func);\n\n      function wrapper() {\n        var argsIndex = -1,\n            argsLength = arguments.length,\n            leftIndex = -1,\n            leftLength = partials.length,\n            args = Array(leftLength + argsLength),\n            fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n\n        while (++leftIndex < leftLength) {\n          args[leftIndex] = partials[leftIndex];\n        }\n        while (argsLength--) {\n          args[leftIndex++] = arguments[++argsIndex];\n        }\n        return apply(fn, isBind ? thisArg : this, args);\n      }\n      return wrapper;\n    }\n\n    /**\n     * Creates a `_.range` or `_.rangeRight` function.\n     *\n     * @private\n     * @param {boolean} [fromRight] Specify iterating from right to left.\n     * @returns {Function} Returns the new range function.\n     */\n    function createRange(fromRight) {\n      return function(start, end, step) {\n        if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\n          end = step = undefined;\n        }\n        // Ensure the sign of `-0` is preserved.\n        start = toFinite(start);\n        if (end === undefined) {\n          end = start;\n          start = 0;\n        } else {\n          end = toFinite(end);\n        }\n        step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\n        return baseRange(start, end, step, fromRight);\n      };\n    }\n\n    /**\n     * Creates a function that performs a relational operation on two values.\n     *\n     * @private\n     * @param {Function} operator The function to perform the operation.\n     * @returns {Function} Returns the new relational operation function.\n     */\n    function createRelationalOperation(operator) {\n      return function(value, other) {\n        if (!(typeof value == 'string' && typeof other == 'string')) {\n          value = toNumber(value);\n          other = toNumber(other);\n        }\n        return operator(value, other);\n      };\n    }\n\n    /**\n     * Creates a function that wraps `func` to continue currying.\n     *\n     * @private\n     * @param {Function} func The function to wrap.\n     * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n     * @param {Function} wrapFunc The function to create the `func` wrapper.\n     * @param {*} placeholder The placeholder value.\n     * @param {*} [thisArg] The `this` binding of `func`.\n     * @param {Array} [partials] The arguments to prepend to those provided to\n     *  the new function.\n     * @param {Array} [holders] The `partials` placeholder indexes.\n     * @param {Array} [argPos] The argument positions of the new function.\n     * @param {number} [ary] The arity cap of `func`.\n     * @param {number} [arity] The arity of `func`.\n     * @returns {Function} Returns the new wrapped function.\n     */\n    function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {\n      var isCurry = bitmask & WRAP_CURRY_FLAG,\n          newHolders = isCurry ? holders : undefined,\n          newHoldersRight = isCurry ? undefined : holders,\n          newPartials = isCurry ? partials : undefined,\n          newPartialsRight = isCurry ? undefined : partials;\n\n      bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);\n      bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);\n\n      if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {\n        bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);\n      }\n      var newData = [\n        func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,\n        newHoldersRight, argPos, ary, arity\n      ];\n\n      var result = wrapFunc.apply(undefined, newData);\n      if (isLaziable(func)) {\n        setData(result, newData);\n      }\n      result.placeholder = placeholder;\n      return setWrapToString(result, func, bitmask);\n    }\n\n    /**\n     * Creates a function like `_.round`.\n     *\n     * @private\n     * @param {string} methodName The name of the `Math` method to use when rounding.\n     * @returns {Function} Returns the new round function.\n     */\n    function createRound(methodName) {\n      var func = Math[methodName];\n      return function(number, precision) {\n        number = toNumber(number);\n        precision = precision == null ? 0 : nativeMin(toInteger(precision), 292);\n        if (precision && nativeIsFinite(number)) {\n          // Shift with exponential notation to avoid floating-point issues.\n          // See [MDN](https://mdn.io/round#Examples) for more details.\n          var pair = (toString(number) + 'e').split('e'),\n              value = func(pair[0] + 'e' + (+pair[1] + precision));\n\n          pair = (toString(value) + 'e').split('e');\n          return +(pair[0] + 'e' + (+pair[1] - precision));\n        }\n        return func(number);\n      };\n    }\n\n    /**\n     * Creates a set object of `values`.\n     *\n     * @private\n     * @param {Array} values The values to add to the set.\n     * @returns {Object} Returns the new set.\n     */\n    var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n      return new Set(values);\n    };\n\n    /**\n     * Creates a `_.toPairs` or `_.toPairsIn` function.\n     *\n     * @private\n     * @param {Function} keysFunc The function to get the keys of a given object.\n     * @returns {Function} Returns the new pairs function.\n     */\n    function createToPairs(keysFunc) {\n      return function(object) {\n        var tag = getTag(object);\n        if (tag == mapTag) {\n          return mapToArray(object);\n        }\n        if (tag == setTag) {\n          return setToPairs(object);\n        }\n        return baseToPairs(object, keysFunc(object));\n      };\n    }\n\n    /**\n     * Creates a function that either curries or invokes `func` with optional\n     * `this` binding and partially applied arguments.\n     *\n     * @private\n     * @param {Function|string} func The function or method name to wrap.\n     * @param {number} bitmask The bitmask flags.\n     *    1 - `_.bind`\n     *    2 - `_.bindKey`\n     *    4 - `_.curry` or `_.curryRight` of a bound function\n     *    8 - `_.curry`\n     *   16 - `_.curryRight`\n     *   32 - `_.partial`\n     *   64 - `_.partialRight`\n     *  128 - `_.rearg`\n     *  256 - `_.ary`\n     *  512 - `_.flip`\n     * @param {*} [thisArg] The `this` binding of `func`.\n     * @param {Array} [partials] The arguments to be partially applied.\n     * @param {Array} [holders] The `partials` placeholder indexes.\n     * @param {Array} [argPos] The argument positions of the new function.\n     * @param {number} [ary] The arity cap of `func`.\n     * @param {number} [arity] The arity of `func`.\n     * @returns {Function} Returns the new wrapped function.\n     */\n    function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {\n      var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;\n      if (!isBindKey && typeof func != 'function') {\n        throw new TypeError(FUNC_ERROR_TEXT);\n      }\n      var length = partials ? partials.length : 0;\n      if (!length) {\n        bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);\n        partials = holders = undefined;\n      }\n      ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);\n      arity = arity === undefined ? arity : toInteger(arity);\n      length -= holders ? holders.length : 0;\n\n      if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {\n        var partialsRight = partials,\n            holdersRight = holders;\n\n        partials = holders = undefined;\n      }\n      var data = isBindKey ? undefined : getData(func);\n\n      var newData = [\n        func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,\n        argPos, ary, arity\n      ];\n\n      if (data) {\n        mergeData(newData, data);\n      }\n      func = newData[0];\n      bitmask = newData[1];\n      thisArg = newData[2];\n      partials = newData[3];\n      holders = newData[4];\n      arity = newData[9] = newData[9] === undefined\n        ? (isBindKey ? 0 : func.length)\n        : nativeMax(newData[9] - length, 0);\n\n      if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {\n        bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);\n      }\n      if (!bitmask || bitmask == WRAP_BIND_FLAG) {\n        var result = createBind(func, bitmask, thisArg);\n      } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {\n        result = createCurry(func, bitmask, arity);\n      } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {\n        result = createPartial(func, bitmask, thisArg, partials);\n      } else {\n        result = createHybrid.apply(undefined, newData);\n      }\n      var setter = data ? baseSetData : setData;\n      return setWrapToString(setter(result, newData), func, bitmask);\n    }\n\n    /**\n     * Used by `_.defaults` to customize its `_.assignIn` use to assign properties\n     * of source objects to the destination object for all destination properties\n     * that resolve to `undefined`.\n     *\n     * @private\n     * @param {*} objValue The destination value.\n     * @param {*} srcValue The source value.\n     * @param {string} key The key of the property to assign.\n     * @param {Object} object The parent object of `objValue`.\n     * @returns {*} Returns the value to assign.\n     */\n    function customDefaultsAssignIn(objValue, srcValue, key, object) {\n      if (objValue === undefined ||\n          (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n        return srcValue;\n      }\n      return objValue;\n    }\n\n    /**\n     * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source\n     * objects into destination objects that are passed thru.\n     *\n     * @private\n     * @param {*} objValue The destination value.\n     * @param {*} srcValue The source value.\n     * @param {string} key The key of the property to merge.\n     * @param {Object} object The parent object of `objValue`.\n     * @param {Object} source The parent object of `srcValue`.\n     * @param {Object} [stack] Tracks traversed source values and their merged\n     *  counterparts.\n     * @returns {*} Returns the value to assign.\n     */\n    function customDefaultsMerge(objValue, srcValue, key, object, source, stack) {\n      if (isObject(objValue) && isObject(srcValue)) {\n        // Recursively merge objects and arrays (susceptible to call stack limits).\n        stack.set(srcValue, objValue);\n        baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack);\n        stack['delete'](srcValue);\n      }\n      return objValue;\n    }\n\n    /**\n     * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain\n     * objects.\n     *\n     * @private\n     * @param {*} value The value to inspect.\n     * @param {string} key The key of the property to inspect.\n     * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.\n     */\n    function customOmitClone(value) {\n      return isPlainObject(value) ? undefined : value;\n    }\n\n    /**\n     * A specialized version of `baseIsEqualDeep` for arrays with support for\n     * partial deep comparisons.\n     *\n     * @private\n     * @param {Array} array The array to compare.\n     * @param {Array} other The other array to compare.\n     * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n     * @param {Function} customizer The function to customize comparisons.\n     * @param {Function} equalFunc The function to determine equivalents of values.\n     * @param {Object} stack Tracks traversed `array` and `other` objects.\n     * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n     */\n    function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n      var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n          arrLength = array.length,\n          othLength = other.length;\n\n      if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n        return false;\n      }\n      // Check that cyclic values are equal.\n      var arrStacked = stack.get(array);\n      var othStacked = stack.get(other);\n      if (arrStacked && othStacked) {\n        return arrStacked == other && othStacked == array;\n      }\n      var index = -1,\n          result = true,\n          seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n      stack.set(array, other);\n      stack.set(other, array);\n\n      // Ignore non-index properties.\n      while (++index < arrLength) {\n        var arrValue = array[index],\n            othValue = other[index];\n\n        if (customizer) {\n          var compared = isPartial\n            ? customizer(othValue, arrValue, index, other, array, stack)\n            : customizer(arrValue, othValue, index, array, other, stack);\n        }\n        if (compared !== undefined) {\n          if (compared) {\n            continue;\n          }\n          result = false;\n          break;\n        }\n        // Recursively compare arrays (susceptible to call stack limits).\n        if (seen) {\n          if (!arraySome(other, function(othValue, othIndex) {\n                if (!cacheHas(seen, othIndex) &&\n                    (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n                  return seen.push(othIndex);\n                }\n              })) {\n            result = false;\n            break;\n          }\n        } else if (!(\n              arrValue === othValue ||\n                equalFunc(arrValue, othValue, bitmask, customizer, stack)\n            )) {\n          result = false;\n          break;\n        }\n      }\n      stack['delete'](array);\n      stack['delete'](other);\n      return result;\n    }\n\n    /**\n     * A specialized version of `baseIsEqualDeep` for comparing objects of\n     * the same `toStringTag`.\n     *\n     * **Note:** This function only supports comparing values with tags of\n     * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n     *\n     * @private\n     * @param {Object} object The object to compare.\n     * @param {Object} other The other object to compare.\n     * @param {string} tag The `toStringTag` of the objects to compare.\n     * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n     * @param {Function} customizer The function to customize comparisons.\n     * @param {Function} equalFunc The function to determine equivalents of values.\n     * @param {Object} stack Tracks traversed `object` and `other` objects.\n     * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n     */\n    function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n      switch (tag) {\n        case dataViewTag:\n          if ((object.byteLength != other.byteLength) ||\n              (object.byteOffset != other.byteOffset)) {\n            return false;\n          }\n          object = object.buffer;\n          other = other.buffer;\n\n        case arrayBufferTag:\n          if ((object.byteLength != other.byteLength) ||\n              !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n            return false;\n          }\n          return true;\n\n        case boolTag:\n        case dateTag:\n        case numberTag:\n          // Coerce booleans to `1` or `0` and dates to milliseconds.\n          // Invalid dates are coerced to `NaN`.\n          return eq(+object, +other);\n\n        case errorTag:\n          return object.name == other.name && object.message == other.message;\n\n        case regexpTag:\n        case stringTag:\n          // Coerce regexes to strings and treat strings, primitives and objects,\n          // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n          // for more details.\n          return object == (other + '');\n\n        case mapTag:\n          var convert = mapToArray;\n\n        case setTag:\n          var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n          convert || (convert = setToArray);\n\n          if (object.size != other.size && !isPartial) {\n            return false;\n          }\n          // Assume cyclic values are equal.\n          var stacked = stack.get(object);\n          if (stacked) {\n            return stacked == other;\n          }\n          bitmask |= COMPARE_UNORDERED_FLAG;\n\n          // Recursively compare objects (susceptible to call stack limits).\n          stack.set(object, other);\n          var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n          stack['delete'](object);\n          return result;\n\n        case symbolTag:\n          if (symbolValueOf) {\n            return symbolValueOf.call(object) == symbolValueOf.call(other);\n          }\n      }\n      return false;\n    }\n\n    /**\n     * A specialized version of `baseIsEqualDeep` for objects with support for\n     * partial deep comparisons.\n     *\n     * @private\n     * @param {Object} object The object to compare.\n     * @param {Object} other The other object to compare.\n     * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n     * @param {Function} customizer The function to customize comparisons.\n     * @param {Function} equalFunc The function to determine equivalents of values.\n     * @param {Object} stack Tracks traversed `object` and `other` objects.\n     * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n     */\n    function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n      var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n          objProps = getAllKeys(object),\n          objLength = objProps.length,\n          othProps = getAllKeys(other),\n          othLength = othProps.length;\n\n      if (objLength != othLength && !isPartial) {\n        return false;\n      }\n      var index = objLength;\n      while (index--) {\n        var key = objProps[index];\n        if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n          return false;\n        }\n      }\n      // Check that cyclic values are equal.\n      var objStacked = stack.get(object);\n      var othStacked = stack.get(other);\n      if (objStacked && othStacked) {\n        return objStacked == other && othStacked == object;\n      }\n      var result = true;\n      stack.set(object, other);\n      stack.set(other, object);\n\n      var skipCtor = isPartial;\n      while (++index < objLength) {\n        key = objProps[index];\n        var objValue = object[key],\n            othValue = other[key];\n\n        if (customizer) {\n          var compared = isPartial\n            ? customizer(othValue, objValue, key, other, object, stack)\n            : customizer(objValue, othValue, key, object, other, stack);\n        }\n        // Recursively compare objects (susceptible to call stack limits).\n        if (!(compared === undefined\n              ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n              : compared\n            )) {\n          result = false;\n          break;\n        }\n        skipCtor || (skipCtor = key == 'constructor');\n      }\n      if (result && !skipCtor) {\n        var objCtor = object.constructor,\n            othCtor = other.constructor;\n\n        // Non `Object` object instances with different constructors are not equal.\n        if (objCtor != othCtor &&\n            ('constructor' in object && 'constructor' in other) &&\n            !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n              typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n          result = false;\n        }\n      }\n      stack['delete'](object);\n      stack['delete'](other);\n      return result;\n    }\n\n    /**\n     * A specialized version of `baseRest` which flattens the rest array.\n     *\n     * @private\n     * @param {Function} func The function to apply a rest parameter to.\n     * @returns {Function} Returns the new function.\n     */\n    function flatRest(func) {\n      return setToString(overRest(func, undefined, flatten), func + '');\n    }\n\n    /**\n     * Creates an array of own enumerable property names and symbols of `object`.\n     *\n     * @private\n     * @param {Object} object The object to query.\n     * @returns {Array} Returns the array of property names and symbols.\n     */\n    function getAllKeys(object) {\n      return baseGetAllKeys(object, keys, getSymbols);\n    }\n\n    /**\n     * Creates an array of own and inherited enumerable property names and\n     * symbols of `object`.\n     *\n     * @private\n     * @param {Object} object The object to query.\n     * @returns {Array} Returns the array of property names and symbols.\n     */\n    function getAllKeysIn(object) {\n      return baseGetAllKeys(object, keysIn, getSymbolsIn);\n    }\n\n    /**\n     * Gets metadata for `func`.\n     *\n     * @private\n     * @param {Function} func The function to query.\n     * @returns {*} Returns the metadata for `func`.\n     */\n    var getData = !metaMap ? noop : function(func) {\n      return metaMap.get(func);\n    };\n\n    /**\n     * Gets the name of `func`.\n     *\n     * @private\n     * @param {Function} func The function to query.\n     * @returns {string} Returns the function name.\n     */\n    function getFuncName(func) {\n      var result = (func.name + ''),\n          array = realNames[result],\n          length = hasOwnProperty.call(realNames, result) ? array.length : 0;\n\n      while (length--) {\n        var data = array[length],\n            otherFunc = data.func;\n        if (otherFunc == null || otherFunc == func) {\n          return data.name;\n        }\n      }\n      return result;\n    }\n\n    /**\n     * Gets the argument placeholder value for `func`.\n     *\n     * @private\n     * @param {Function} func The function to inspect.\n     * @returns {*} Returns the placeholder value.\n     */\n    function getHolder(func) {\n      var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func;\n      return object.placeholder;\n    }\n\n    /**\n     * Gets the appropriate \"iteratee\" function. If `_.iteratee` is customized,\n     * this function returns the custom method, otherwise it returns `baseIteratee`.\n     * If arguments are provided, the chosen function is invoked with them and\n     * its result is returned.\n     *\n     * @private\n     * @param {*} [value] The value to convert to an iteratee.\n     * @param {number} [arity] The arity of the created iteratee.\n     * @returns {Function} Returns the chosen function or its result.\n     */\n    function getIteratee() {\n      var result = lodash.iteratee || iteratee;\n      result = result === iteratee ? baseIteratee : result;\n      return arguments.length ? result(arguments[0], arguments[1]) : result;\n    }\n\n    /**\n     * Gets the data for `map`.\n     *\n     * @private\n     * @param {Object} map The map to query.\n     * @param {string} key The reference key.\n     * @returns {*} Returns the map data.\n     */\n    function getMapData(map, key) {\n      var data = map.__data__;\n      return isKeyable(key)\n        ? data[typeof key == 'string' ? 'string' : 'hash']\n        : data.map;\n    }\n\n    /**\n     * Gets the property names, values, and compare flags of `object`.\n     *\n     * @private\n     * @param {Object} object The object to query.\n     * @returns {Array} Returns the match data of `object`.\n     */\n    function getMatchData(object) {\n      var result = keys(object),\n          length = result.length;\n\n      while (length--) {\n        var key = result[length],\n            value = object[key];\n\n        result[length] = [key, value, isStrictComparable(value)];\n      }\n      return result;\n    }\n\n    /**\n     * Gets the native function at `key` of `object`.\n     *\n     * @private\n     * @param {Object} object The object to query.\n     * @param {string} key The key of the method to get.\n     * @returns {*} Returns the function if it's native, else `undefined`.\n     */\n    function getNative(object, key) {\n      var value = getValue(object, key);\n      return baseIsNative(value) ? value : undefined;\n    }\n\n    /**\n     * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n     *\n     * @private\n     * @param {*} value The value to query.\n     * @returns {string} Returns the raw `toStringTag`.\n     */\n    function getRawTag(value) {\n      var isOwn = hasOwnProperty.call(value, symToStringTag),\n          tag = value[symToStringTag];\n\n      try {\n        value[symToStringTag] = undefined;\n        var unmasked = true;\n      } catch (e) {}\n\n      var result = nativeObjectToString.call(value);\n      if (unmasked) {\n        if (isOwn) {\n          value[symToStringTag] = tag;\n        } else {\n          delete value[symToStringTag];\n        }\n      }\n      return result;\n    }\n\n    /**\n     * Creates an array of the own enumerable symbols of `object`.\n     *\n     * @private\n     * @param {Object} object The object to query.\n     * @returns {Array} Returns the array of symbols.\n     */\n    var getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n      if (object == null) {\n        return [];\n      }\n      object = Object(object);\n      return arrayFilter(nativeGetSymbols(object), function(symbol) {\n        return propertyIsEnumerable.call(object, symbol);\n      });\n    };\n\n    /**\n     * Creates an array of the own and inherited enumerable symbols of `object`.\n     *\n     * @private\n     * @param {Object} object The object to query.\n     * @returns {Array} Returns the array of symbols.\n     */\n    var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n      var result = [];\n      while (object) {\n        arrayPush(result, getSymbols(object));\n        object = getPrototype(object);\n      }\n      return result;\n    };\n\n    /**\n     * Gets the `toStringTag` of `value`.\n     *\n     * @private\n     * @param {*} value The value to query.\n     * @returns {string} Returns the `toStringTag`.\n     */\n    var getTag = baseGetTag;\n\n    // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\n    if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n        (Map && getTag(new Map) != mapTag) ||\n        (Promise && getTag(Promise.resolve()) != promiseTag) ||\n        (Set && getTag(new Set) != setTag) ||\n        (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n      getTag = function(value) {\n        var result = baseGetTag(value),\n            Ctor = result == objectTag ? value.constructor : undefined,\n            ctorString = Ctor ? toSource(Ctor) : '';\n\n        if (ctorString) {\n          switch (ctorString) {\n            case dataViewCtorString: return dataViewTag;\n            case mapCtorString: return mapTag;\n            case promiseCtorString: return promiseTag;\n            case setCtorString: return setTag;\n            case weakMapCtorString: return weakMapTag;\n          }\n        }\n        return result;\n      };\n    }\n\n    /**\n     * Gets the view, applying any `transforms` to the `start` and `end` positions.\n     *\n     * @private\n     * @param {number} start The start of the view.\n     * @param {number} end The end of the view.\n     * @param {Array} transforms The transformations to apply to the view.\n     * @returns {Object} Returns an object containing the `start` and `end`\n     *  positions of the view.\n     */\n    function getView(start, end, transforms) {\n      var index = -1,\n          length = transforms.length;\n\n      while (++index < length) {\n        var data = transforms[index],\n            size = data.size;\n\n        switch (data.type) {\n          case 'drop':      start += size; break;\n          case 'dropRight': end -= size; break;\n          case 'take':      end = nativeMin(end, start + size); break;\n          case 'takeRight': start = nativeMax(start, end - size); break;\n        }\n      }\n      return { 'start': start, 'end': end };\n    }\n\n    /**\n     * Extracts wrapper details from the `source` body comment.\n     *\n     * @private\n     * @param {string} source The source to inspect.\n     * @returns {Array} Returns the wrapper details.\n     */\n    function getWrapDetails(source) {\n      var match = source.match(reWrapDetails);\n      return match ? match[1].split(reSplitDetails) : [];\n    }\n\n    /**\n     * Checks if `path` exists on `object`.\n     *\n     * @private\n     * @param {Object} object The object to query.\n     * @param {Array|string} path The path to check.\n     * @param {Function} hasFunc The function to check properties.\n     * @returns {boolean} Returns `true` if `path` exists, else `false`.\n     */\n    function hasPath(object, path, hasFunc) {\n      path = castPath(path, object);\n\n      var index = -1,\n          length = path.length,\n          result = false;\n\n      while (++index < length) {\n        var key = toKey(path[index]);\n        if (!(result = object != null && hasFunc(object, key))) {\n          break;\n        }\n        object = object[key];\n      }\n      if (result || ++index != length) {\n        return result;\n      }\n      length = object == null ? 0 : object.length;\n      return !!length && isLength(length) && isIndex(key, length) &&\n        (isArray(object) || isArguments(object));\n    }\n\n    /**\n     * Initializes an array clone.\n     *\n     * @private\n     * @param {Array} array The array to clone.\n     * @returns {Array} Returns the initialized clone.\n     */\n    function initCloneArray(array) {\n      var length = array.length,\n          result = new array.constructor(length);\n\n      // Add properties assigned by `RegExp#exec`.\n      if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n        result.index = array.index;\n        result.input = array.input;\n      }\n      return result;\n    }\n\n    /**\n     * Initializes an object clone.\n     *\n     * @private\n     * @param {Object} object The object to clone.\n     * @returns {Object} Returns the initialized clone.\n     */\n    function initCloneObject(object) {\n      return (typeof object.constructor == 'function' && !isPrototype(object))\n        ? baseCreate(getPrototype(object))\n        : {};\n    }\n\n    /**\n     * Initializes an object clone based on its `toStringTag`.\n     *\n     * **Note:** This function only supports cloning values with tags of\n     * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n     *\n     * @private\n     * @param {Object} object The object to clone.\n     * @param {string} tag The `toStringTag` of the object to clone.\n     * @param {boolean} [isDeep] Specify a deep clone.\n     * @returns {Object} Returns the initialized clone.\n     */\n    function initCloneByTag(object, tag, isDeep) {\n      var Ctor = object.constructor;\n      switch (tag) {\n        case arrayBufferTag:\n          return cloneArrayBuffer(object);\n\n        case boolTag:\n        case dateTag:\n          return new Ctor(+object);\n\n        case dataViewTag:\n          return cloneDataView(object, isDeep);\n\n        case float32Tag: case float64Tag:\n        case int8Tag: case int16Tag: case int32Tag:\n        case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n          return cloneTypedArray(object, isDeep);\n\n        case mapTag:\n          return new Ctor;\n\n        case numberTag:\n        case stringTag:\n          return new Ctor(object);\n\n        case regexpTag:\n          return cloneRegExp(object);\n\n        case setTag:\n          return new Ctor;\n\n        case symbolTag:\n          return cloneSymbol(object);\n      }\n    }\n\n    /**\n     * Inserts wrapper `details` in a comment at the top of the `source` body.\n     *\n     * @private\n     * @param {string} source The source to modify.\n     * @returns {Array} details The details to insert.\n     * @returns {string} Returns the modified source.\n     */\n    function insertWrapDetails(source, details) {\n      var length = details.length;\n      if (!length) {\n        return source;\n      }\n      var lastIndex = length - 1;\n      details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex];\n      details = details.join(length > 2 ? ', ' : ' ');\n      return source.replace(reWrapComment, '{\\n/* [wrapped with ' + details + '] */\\n');\n    }\n\n    /**\n     * Checks if `value` is a flattenable `arguments` object or array.\n     *\n     * @private\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n     */\n    function isFlattenable(value) {\n      return isArray(value) || isArguments(value) ||\n        !!(spreadableSymbol && value && value[spreadableSymbol]);\n    }\n\n    /**\n     * Checks if `value` is a valid array-like index.\n     *\n     * @private\n     * @param {*} value The value to check.\n     * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n     * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n     */\n    function isIndex(value, length) {\n      var type = typeof value;\n      length = length == null ? MAX_SAFE_INTEGER : length;\n\n      return !!length &&\n        (type == 'number' ||\n          (type != 'symbol' && reIsUint.test(value))) &&\n            (value > -1 && value % 1 == 0 && value < length);\n    }\n\n    /**\n     * Checks if the given arguments are from an iteratee call.\n     *\n     * @private\n     * @param {*} value The potential iteratee value argument.\n     * @param {*} index The potential iteratee index or key argument.\n     * @param {*} object The potential iteratee object argument.\n     * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n     *  else `false`.\n     */\n    function isIterateeCall(value, index, object) {\n      if (!isObject(object)) {\n        return false;\n      }\n      var type = typeof index;\n      if (type == 'number'\n            ? (isArrayLike(object) && isIndex(index, object.length))\n            : (type == 'string' && index in object)\n          ) {\n        return eq(object[index], value);\n      }\n      return false;\n    }\n\n    /**\n     * Checks if `value` is a property name and not a property path.\n     *\n     * @private\n     * @param {*} value The value to check.\n     * @param {Object} [object] The object to query keys on.\n     * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n     */\n    function isKey(value, object) {\n      if (isArray(value)) {\n        return false;\n      }\n      var type = typeof value;\n      if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n          value == null || isSymbol(value)) {\n        return true;\n      }\n      return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n        (object != null && value in Object(object));\n    }\n\n    /**\n     * Checks if `value` is suitable for use as unique object key.\n     *\n     * @private\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n     */\n    function isKeyable(value) {\n      var type = typeof value;\n      return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n        ? (value !== '__proto__')\n        : (value === null);\n    }\n\n    /**\n     * Checks if `func` has a lazy counterpart.\n     *\n     * @private\n     * @param {Function} func The function to check.\n     * @returns {boolean} Returns `true` if `func` has a lazy counterpart,\n     *  else `false`.\n     */\n    function isLaziable(func) {\n      var funcName = getFuncName(func),\n          other = lodash[funcName];\n\n      if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) {\n        return false;\n      }\n      if (func === other) {\n        return true;\n      }\n      var data = getData(other);\n      return !!data && func === data[0];\n    }\n\n    /**\n     * Checks if `func` has its source masked.\n     *\n     * @private\n     * @param {Function} func The function to check.\n     * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n     */\n    function isMasked(func) {\n      return !!maskSrcKey && (maskSrcKey in func);\n    }\n\n    /**\n     * Checks if `func` is capable of being masked.\n     *\n     * @private\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `func` is maskable, else `false`.\n     */\n    var isMaskable = coreJsData ? isFunction : stubFalse;\n\n    /**\n     * Checks if `value` is likely a prototype object.\n     *\n     * @private\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n     */\n    function isPrototype(value) {\n      var Ctor = value && value.constructor,\n          proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n      return value === proto;\n    }\n\n    /**\n     * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n     *\n     * @private\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` if suitable for strict\n     *  equality comparisons, else `false`.\n     */\n    function isStrictComparable(value) {\n      return value === value && !isObject(value);\n    }\n\n    /**\n     * A specialized version of `matchesProperty` for source values suitable\n     * for strict equality comparisons, i.e. `===`.\n     *\n     * @private\n     * @param {string} key The key of the property to get.\n     * @param {*} srcValue The value to match.\n     * @returns {Function} Returns the new spec function.\n     */\n    function matchesStrictComparable(key, srcValue) {\n      return function(object) {\n        if (object == null) {\n          return false;\n        }\n        return object[key] === srcValue &&\n          (srcValue !== undefined || (key in Object(object)));\n      };\n    }\n\n    /**\n     * A specialized version of `_.memoize` which clears the memoized function's\n     * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n     *\n     * @private\n     * @param {Function} func The function to have its output memoized.\n     * @returns {Function} Returns the new memoized function.\n     */\n    function memoizeCapped(func) {\n      var result = memoize(func, function(key) {\n        if (cache.size === MAX_MEMOIZE_SIZE) {\n          cache.clear();\n        }\n        return key;\n      });\n\n      var cache = result.cache;\n      return result;\n    }\n\n    /**\n     * Merges the function metadata of `source` into `data`.\n     *\n     * Merging metadata reduces the number of wrappers used to invoke a function.\n     * This is possible because methods like `_.bind`, `_.curry`, and `_.partial`\n     * may be applied regardless of execution order. Methods like `_.ary` and\n     * `_.rearg` modify function arguments, making the order in which they are\n     * executed important, preventing the merging of metadata. However, we make\n     * an exception for a safe combined case where curried functions have `_.ary`\n     * and or `_.rearg` applied.\n     *\n     * @private\n     * @param {Array} data The destination metadata.\n     * @param {Array} source The source metadata.\n     * @returns {Array} Returns `data`.\n     */\n    function mergeData(data, source) {\n      var bitmask = data[1],\n          srcBitmask = source[1],\n          newBitmask = bitmask | srcBitmask,\n          isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);\n\n      var isCombo =\n        ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) ||\n        ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) ||\n        ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG));\n\n      // Exit early if metadata can't be merged.\n      if (!(isCommon || isCombo)) {\n        return data;\n      }\n      // Use source `thisArg` if available.\n      if (srcBitmask & WRAP_BIND_FLAG) {\n        data[2] = source[2];\n        // Set when currying a bound function.\n        newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;\n      }\n      // Compose partial arguments.\n      var value = source[3];\n      if (value) {\n        var partials = data[3];\n        data[3] = partials ? composeArgs(partials, value, source[4]) : value;\n        data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4];\n      }\n      // Compose partial right arguments.\n      value = source[5];\n      if (value) {\n        partials = data[5];\n        data[5] = partials ? composeArgsRight(partials, value, source[6]) : value;\n        data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6];\n      }\n      // Use source `argPos` if available.\n      value = source[7];\n      if (value) {\n        data[7] = value;\n      }\n      // Use source `ary` if it's smaller.\n      if (srcBitmask & WRAP_ARY_FLAG) {\n        data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);\n      }\n      // Use source `arity` if one is not provided.\n      if (data[9] == null) {\n        data[9] = source[9];\n      }\n      // Use source `func` and merge bitmasks.\n      data[0] = source[0];\n      data[1] = newBitmask;\n\n      return data;\n    }\n\n    /**\n     * This function is like\n     * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n     * except that it includes inherited enumerable properties.\n     *\n     * @private\n     * @param {Object} object The object to query.\n     * @returns {Array} Returns the array of property names.\n     */\n    function nativeKeysIn(object) {\n      var result = [];\n      if (object != null) {\n        for (var key in Object(object)) {\n          result.push(key);\n        }\n      }\n      return result;\n    }\n\n    /**\n     * Converts `value` to a string using `Object.prototype.toString`.\n     *\n     * @private\n     * @param {*} value The value to convert.\n     * @returns {string} Returns the converted string.\n     */\n    function objectToString(value) {\n      return nativeObjectToString.call(value);\n    }\n\n    /**\n     * A specialized version of `baseRest` which transforms the rest array.\n     *\n     * @private\n     * @param {Function} func The function to apply a rest parameter to.\n     * @param {number} [start=func.length-1] The start position of the rest parameter.\n     * @param {Function} transform The rest array transform.\n     * @returns {Function} Returns the new function.\n     */\n    function overRest(func, start, transform) {\n      start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n      return function() {\n        var args = arguments,\n            index = -1,\n            length = nativeMax(args.length - start, 0),\n            array = Array(length);\n\n        while (++index < length) {\n          array[index] = args[start + index];\n        }\n        index = -1;\n        var otherArgs = Array(start + 1);\n        while (++index < start) {\n          otherArgs[index] = args[index];\n        }\n        otherArgs[start] = transform(array);\n        return apply(func, this, otherArgs);\n      };\n    }\n\n    /**\n     * Gets the parent value at `path` of `object`.\n     *\n     * @private\n     * @param {Object} object The object to query.\n     * @param {Array} path The path to get the parent value of.\n     * @returns {*} Returns the parent value.\n     */\n    function parent(object, path) {\n      return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\n    }\n\n    /**\n     * Reorder `array` according to the specified indexes where the element at\n     * the first index is assigned as the first element, the element at\n     * the second index is assigned as the second element, and so on.\n     *\n     * @private\n     * @param {Array} array The array to reorder.\n     * @param {Array} indexes The arranged array indexes.\n     * @returns {Array} Returns `array`.\n     */\n    function reorder(array, indexes) {\n      var arrLength = array.length,\n          length = nativeMin(indexes.length, arrLength),\n          oldArray = copyArray(array);\n\n      while (length--) {\n        var index = indexes[length];\n        array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;\n      }\n      return array;\n    }\n\n    /**\n     * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n     *\n     * @private\n     * @param {Object} object The object to query.\n     * @param {string} key The key of the property to get.\n     * @returns {*} Returns the property value.\n     */\n    function safeGet(object, key) {\n      if (key === 'constructor' && typeof object[key] === 'function') {\n        return;\n      }\n\n      if (key == '__proto__') {\n        return;\n      }\n\n      return object[key];\n    }\n\n    /**\n     * Sets metadata for `func`.\n     *\n     * **Note:** If this function becomes hot, i.e. is invoked a lot in a short\n     * period of time, it will trip its breaker and transition to an identity\n     * function to avoid garbage collection pauses in V8. See\n     * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)\n     * for more details.\n     *\n     * @private\n     * @param {Function} func The function to associate metadata with.\n     * @param {*} data The metadata.\n     * @returns {Function} Returns `func`.\n     */\n    var setData = shortOut(baseSetData);\n\n    /**\n     * A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout).\n     *\n     * @private\n     * @param {Function} func The function to delay.\n     * @param {number} wait The number of milliseconds to delay invocation.\n     * @returns {number|Object} Returns the timer id or timeout object.\n     */\n    var setTimeout = ctxSetTimeout || function(func, wait) {\n      return root.setTimeout(func, wait);\n    };\n\n    /**\n     * Sets the `toString` method of `func` to return `string`.\n     *\n     * @private\n     * @param {Function} func The function to modify.\n     * @param {Function} string The `toString` result.\n     * @returns {Function} Returns `func`.\n     */\n    var setToString = shortOut(baseSetToString);\n\n    /**\n     * Sets the `toString` method of `wrapper` to mimic the source of `reference`\n     * with wrapper details in a comment at the top of the source body.\n     *\n     * @private\n     * @param {Function} wrapper The function to modify.\n     * @param {Function} reference The reference function.\n     * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n     * @returns {Function} Returns `wrapper`.\n     */\n    function setWrapToString(wrapper, reference, bitmask) {\n      var source = (reference + '');\n      return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask)));\n    }\n\n    /**\n     * Creates a function that'll short out and invoke `identity` instead\n     * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n     * milliseconds.\n     *\n     * @private\n     * @param {Function} func The function to restrict.\n     * @returns {Function} Returns the new shortable function.\n     */\n    function shortOut(func) {\n      var count = 0,\n          lastCalled = 0;\n\n      return function() {\n        var stamp = nativeNow(),\n            remaining = HOT_SPAN - (stamp - lastCalled);\n\n        lastCalled = stamp;\n        if (remaining > 0) {\n          if (++count >= HOT_COUNT) {\n            return arguments[0];\n          }\n        } else {\n          count = 0;\n        }\n        return func.apply(undefined, arguments);\n      };\n    }\n\n    /**\n     * A specialized version of `_.shuffle` which mutates and sets the size of `array`.\n     *\n     * @private\n     * @param {Array} array The array to shuffle.\n     * @param {number} [size=array.length] The size of `array`.\n     * @returns {Array} Returns `array`.\n     */\n    function shuffleSelf(array, size) {\n      var index = -1,\n          length = array.length,\n          lastIndex = length - 1;\n\n      size = size === undefined ? length : size;\n      while (++index < size) {\n        var rand = baseRandom(index, lastIndex),\n            value = array[rand];\n\n        array[rand] = array[index];\n        array[index] = value;\n      }\n      array.length = size;\n      return array;\n    }\n\n    /**\n     * Converts `string` to a property path array.\n     *\n     * @private\n     * @param {string} string The string to convert.\n     * @returns {Array} Returns the property path array.\n     */\n    var stringToPath = memoizeCapped(function(string) {\n      var result = [];\n      if (string.charCodeAt(0) === 46 /* . */) {\n        result.push('');\n      }\n      string.replace(rePropName, function(match, number, quote, subString) {\n        result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n      });\n      return result;\n    });\n\n    /**\n     * Converts `value` to a string key if it's not a string or symbol.\n     *\n     * @private\n     * @param {*} value The value to inspect.\n     * @returns {string|symbol} Returns the key.\n     */\n    function toKey(value) {\n      if (typeof value == 'string' || isSymbol(value)) {\n        return value;\n      }\n      var result = (value + '');\n      return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n    }\n\n    /**\n     * Converts `func` to its source code.\n     *\n     * @private\n     * @param {Function} func The function to convert.\n     * @returns {string} Returns the source code.\n     */\n    function toSource(func) {\n      if (func != null) {\n        try {\n          return funcToString.call(func);\n        } catch (e) {}\n        try {\n          return (func + '');\n        } catch (e) {}\n      }\n      return '';\n    }\n\n    /**\n     * Updates wrapper `details` based on `bitmask` flags.\n     *\n     * @private\n     * @returns {Array} details The details to modify.\n     * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n     * @returns {Array} Returns `details`.\n     */\n    function updateWrapDetails(details, bitmask) {\n      arrayEach(wrapFlags, function(pair) {\n        var value = '_.' + pair[0];\n        if ((bitmask & pair[1]) && !arrayIncludes(details, value)) {\n          details.push(value);\n        }\n      });\n      return details.sort();\n    }\n\n    /**\n     * Creates a clone of `wrapper`.\n     *\n     * @private\n     * @param {Object} wrapper The wrapper to clone.\n     * @returns {Object} Returns the cloned wrapper.\n     */\n    function wrapperClone(wrapper) {\n      if (wrapper instanceof LazyWrapper) {\n        return wrapper.clone();\n      }\n      var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);\n      result.__actions__ = copyArray(wrapper.__actions__);\n      result.__index__  = wrapper.__index__;\n      result.__values__ = wrapper.__values__;\n      return result;\n    }\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Creates an array of elements split into groups the length of `size`.\n     * If `array` can't be split evenly, the final chunk will be the remaining\n     * elements.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Array\n     * @param {Array} array The array to process.\n     * @param {number} [size=1] The length of each chunk\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {Array} Returns the new array of chunks.\n     * @example\n     *\n     * _.chunk(['a', 'b', 'c', 'd'], 2);\n     * // => [['a', 'b'], ['c', 'd']]\n     *\n     * _.chunk(['a', 'b', 'c', 'd'], 3);\n     * // => [['a', 'b', 'c'], ['d']]\n     */\n    function chunk(array, size, guard) {\n      if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) {\n        size = 1;\n      } else {\n        size = nativeMax(toInteger(size), 0);\n      }\n      var length = array == null ? 0 : array.length;\n      if (!length || size < 1) {\n        return [];\n      }\n      var index = 0,\n          resIndex = 0,\n          result = Array(nativeCeil(length / size));\n\n      while (index < length) {\n        result[resIndex++] = baseSlice(array, index, (index += size));\n      }\n      return result;\n    }\n\n    /**\n     * Creates an array with all falsey values removed. The values `false`, `null`,\n     * `0`, `\"\"`, `undefined`, and `NaN` are falsey.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Array\n     * @param {Array} array The array to compact.\n     * @returns {Array} Returns the new array of filtered values.\n     * @example\n     *\n     * _.compact([0, 1, false, 2, '', 3]);\n     * // => [1, 2, 3]\n     */\n    function compact(array) {\n      var index = -1,\n          length = array == null ? 0 : array.length,\n          resIndex = 0,\n          result = [];\n\n      while (++index < length) {\n        var value = array[index];\n        if (value) {\n          result[resIndex++] = value;\n        }\n      }\n      return result;\n    }\n\n    /**\n     * Creates a new array concatenating `array` with any additional arrays\n     * and/or values.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} array The array to concatenate.\n     * @param {...*} [values] The values to concatenate.\n     * @returns {Array} Returns the new concatenated array.\n     * @example\n     *\n     * var array = [1];\n     * var other = _.concat(array, 2, [3], [[4]]);\n     *\n     * console.log(other);\n     * // => [1, 2, 3, [4]]\n     *\n     * console.log(array);\n     * // => [1]\n     */\n    function concat() {\n      var length = arguments.length;\n      if (!length) {\n        return [];\n      }\n      var args = Array(length - 1),\n          array = arguments[0],\n          index = length;\n\n      while (index--) {\n        args[index - 1] = arguments[index];\n      }\n      return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1));\n    }\n\n    /**\n     * Creates an array of `array` values not included in the other given arrays\n     * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n     * for equality comparisons. The order and references of result values are\n     * determined by the first array.\n     *\n     * **Note:** Unlike `_.pullAll`, this method returns a new array.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Array\n     * @param {Array} array The array to inspect.\n     * @param {...Array} [values] The values to exclude.\n     * @returns {Array} Returns the new array of filtered values.\n     * @see _.without, _.xor\n     * @example\n     *\n     * _.difference([2, 1], [2, 3]);\n     * // => [1]\n     */\n    var difference = baseRest(function(array, values) {\n      return isArrayLikeObject(array)\n        ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true))\n        : [];\n    });\n\n    /**\n     * This method is like `_.difference` except that it accepts `iteratee` which\n     * is invoked for each element of `array` and `values` to generate the criterion\n     * by which they're compared. The order and references of result values are\n     * determined by the first array. The iteratee is invoked with one argument:\n     * (value).\n     *\n     * **Note:** Unlike `_.pullAllBy`, this method returns a new array.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} array The array to inspect.\n     * @param {...Array} [values] The values to exclude.\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n     * @returns {Array} Returns the new array of filtered values.\n     * @example\n     *\n     * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n     * // => [1.2]\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x');\n     * // => [{ 'x': 2 }]\n     */\n    var differenceBy = baseRest(function(array, values) {\n      var iteratee = last(values);\n      if (isArrayLikeObject(iteratee)) {\n        iteratee = undefined;\n      }\n      return isArrayLikeObject(array)\n        ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2))\n        : [];\n    });\n\n    /**\n     * This method is like `_.difference` except that it accepts `comparator`\n     * which is invoked to compare elements of `array` to `values`. The order and\n     * references of result values are determined by the first array. The comparator\n     * is invoked with two arguments: (arrVal, othVal).\n     *\n     * **Note:** Unlike `_.pullAllWith`, this method returns a new array.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} array The array to inspect.\n     * @param {...Array} [values] The values to exclude.\n     * @param {Function} [comparator] The comparator invoked per element.\n     * @returns {Array} Returns the new array of filtered values.\n     * @example\n     *\n     * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n     *\n     * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual);\n     * // => [{ 'x': 2, 'y': 1 }]\n     */\n    var differenceWith = baseRest(function(array, values) {\n      var comparator = last(values);\n      if (isArrayLikeObject(comparator)) {\n        comparator = undefined;\n      }\n      return isArrayLikeObject(array)\n        ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator)\n        : [];\n    });\n\n    /**\n     * Creates a slice of `array` with `n` elements dropped from the beginning.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.5.0\n     * @category Array\n     * @param {Array} array The array to query.\n     * @param {number} [n=1] The number of elements to drop.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {Array} Returns the slice of `array`.\n     * @example\n     *\n     * _.drop([1, 2, 3]);\n     * // => [2, 3]\n     *\n     * _.drop([1, 2, 3], 2);\n     * // => [3]\n     *\n     * _.drop([1, 2, 3], 5);\n     * // => []\n     *\n     * _.drop([1, 2, 3], 0);\n     * // => [1, 2, 3]\n     */\n    function drop(array, n, guard) {\n      var length = array == null ? 0 : array.length;\n      if (!length) {\n        return [];\n      }\n      n = (guard || n === undefined) ? 1 : toInteger(n);\n      return baseSlice(array, n < 0 ? 0 : n, length);\n    }\n\n    /**\n     * Creates a slice of `array` with `n` elements dropped from the end.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Array\n     * @param {Array} array The array to query.\n     * @param {number} [n=1] The number of elements to drop.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {Array} Returns the slice of `array`.\n     * @example\n     *\n     * _.dropRight([1, 2, 3]);\n     * // => [1, 2]\n     *\n     * _.dropRight([1, 2, 3], 2);\n     * // => [1]\n     *\n     * _.dropRight([1, 2, 3], 5);\n     * // => []\n     *\n     * _.dropRight([1, 2, 3], 0);\n     * // => [1, 2, 3]\n     */\n    function dropRight(array, n, guard) {\n      var length = array == null ? 0 : array.length;\n      if (!length) {\n        return [];\n      }\n      n = (guard || n === undefined) ? 1 : toInteger(n);\n      n = length - n;\n      return baseSlice(array, 0, n < 0 ? 0 : n);\n    }\n\n    /**\n     * Creates a slice of `array` excluding elements dropped from the end.\n     * Elements are dropped until `predicate` returns falsey. The predicate is\n     * invoked with three arguments: (value, index, array).\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Array\n     * @param {Array} array The array to query.\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n     * @returns {Array} Returns the slice of `array`.\n     * @example\n     *\n     * var users = [\n     *   { 'user': 'barney',  'active': true },\n     *   { 'user': 'fred',    'active': false },\n     *   { 'user': 'pebbles', 'active': false }\n     * ];\n     *\n     * _.dropRightWhile(users, function(o) { return !o.active; });\n     * // => objects for ['barney']\n     *\n     * // The `_.matches` iteratee shorthand.\n     * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false });\n     * // => objects for ['barney', 'fred']\n     *\n     * // The `_.matchesProperty` iteratee shorthand.\n     * _.dropRightWhile(users, ['active', false]);\n     * // => objects for ['barney']\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.dropRightWhile(users, 'active');\n     * // => objects for ['barney', 'fred', 'pebbles']\n     */\n    function dropRightWhile(array, predicate) {\n      return (array && array.length)\n        ? baseWhile(array, getIteratee(predicate, 3), true, true)\n        : [];\n    }\n\n    /**\n     * Creates a slice of `array` excluding elements dropped from the beginning.\n     * Elements are dropped until `predicate` returns falsey. The predicate is\n     * invoked with three arguments: (value, index, array).\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Array\n     * @param {Array} array The array to query.\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n     * @returns {Array} Returns the slice of `array`.\n     * @example\n     *\n     * var users = [\n     *   { 'user': 'barney',  'active': false },\n     *   { 'user': 'fred',    'active': false },\n     *   { 'user': 'pebbles', 'active': true }\n     * ];\n     *\n     * _.dropWhile(users, function(o) { return !o.active; });\n     * // => objects for ['pebbles']\n     *\n     * // The `_.matches` iteratee shorthand.\n     * _.dropWhile(users, { 'user': 'barney', 'active': false });\n     * // => objects for ['fred', 'pebbles']\n     *\n     * // The `_.matchesProperty` iteratee shorthand.\n     * _.dropWhile(users, ['active', false]);\n     * // => objects for ['pebbles']\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.dropWhile(users, 'active');\n     * // => objects for ['barney', 'fred', 'pebbles']\n     */\n    function dropWhile(array, predicate) {\n      return (array && array.length)\n        ? baseWhile(array, getIteratee(predicate, 3), true)\n        : [];\n    }\n\n    /**\n     * Fills elements of `array` with `value` from `start` up to, but not\n     * including, `end`.\n     *\n     * **Note:** This method mutates `array`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.2.0\n     * @category Array\n     * @param {Array} array The array to fill.\n     * @param {*} value The value to fill `array` with.\n     * @param {number} [start=0] The start position.\n     * @param {number} [end=array.length] The end position.\n     * @returns {Array} Returns `array`.\n     * @example\n     *\n     * var array = [1, 2, 3];\n     *\n     * _.fill(array, 'a');\n     * console.log(array);\n     * // => ['a', 'a', 'a']\n     *\n     * _.fill(Array(3), 2);\n     * // => [2, 2, 2]\n     *\n     * _.fill([4, 6, 8, 10], '*', 1, 3);\n     * // => [4, '*', '*', 10]\n     */\n    function fill(array, value, start, end) {\n      var length = array == null ? 0 : array.length;\n      if (!length) {\n        return [];\n      }\n      if (start && typeof start != 'number' && isIterateeCall(array, value, start)) {\n        start = 0;\n        end = length;\n      }\n      return baseFill(array, value, start, end);\n    }\n\n    /**\n     * This method is like `_.find` except that it returns the index of the first\n     * element `predicate` returns truthy for instead of the element itself.\n     *\n     * @static\n     * @memberOf _\n     * @since 1.1.0\n     * @category Array\n     * @param {Array} array The array to inspect.\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n     * @param {number} [fromIndex=0] The index to search from.\n     * @returns {number} Returns the index of the found element, else `-1`.\n     * @example\n     *\n     * var users = [\n     *   { 'user': 'barney',  'active': false },\n     *   { 'user': 'fred',    'active': false },\n     *   { 'user': 'pebbles', 'active': true }\n     * ];\n     *\n     * _.findIndex(users, function(o) { return o.user == 'barney'; });\n     * // => 0\n     *\n     * // The `_.matches` iteratee shorthand.\n     * _.findIndex(users, { 'user': 'fred', 'active': false });\n     * // => 1\n     *\n     * // The `_.matchesProperty` iteratee shorthand.\n     * _.findIndex(users, ['active', false]);\n     * // => 0\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.findIndex(users, 'active');\n     * // => 2\n     */\n    function findIndex(array, predicate, fromIndex) {\n      var length = array == null ? 0 : array.length;\n      if (!length) {\n        return -1;\n      }\n      var index = fromIndex == null ? 0 : toInteger(fromIndex);\n      if (index < 0) {\n        index = nativeMax(length + index, 0);\n      }\n      return baseFindIndex(array, getIteratee(predicate, 3), index);\n    }\n\n    /**\n     * This method is like `_.findIndex` except that it iterates over elements\n     * of `collection` from right to left.\n     *\n     * @static\n     * @memberOf _\n     * @since 2.0.0\n     * @category Array\n     * @param {Array} array The array to inspect.\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n     * @param {number} [fromIndex=array.length-1] The index to search from.\n     * @returns {number} Returns the index of the found element, else `-1`.\n     * @example\n     *\n     * var users = [\n     *   { 'user': 'barney',  'active': true },\n     *   { 'user': 'fred',    'active': false },\n     *   { 'user': 'pebbles', 'active': false }\n     * ];\n     *\n     * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; });\n     * // => 2\n     *\n     * // The `_.matches` iteratee shorthand.\n     * _.findLastIndex(users, { 'user': 'barney', 'active': true });\n     * // => 0\n     *\n     * // The `_.matchesProperty` iteratee shorthand.\n     * _.findLastIndex(users, ['active', false]);\n     * // => 2\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.findLastIndex(users, 'active');\n     * // => 0\n     */\n    function findLastIndex(array, predicate, fromIndex) {\n      var length = array == null ? 0 : array.length;\n      if (!length) {\n        return -1;\n      }\n      var index = length - 1;\n      if (fromIndex !== undefined) {\n        index = toInteger(fromIndex);\n        index = fromIndex < 0\n          ? nativeMax(length + index, 0)\n          : nativeMin(index, length - 1);\n      }\n      return baseFindIndex(array, getIteratee(predicate, 3), index, true);\n    }\n\n    /**\n     * Flattens `array` a single level deep.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Array\n     * @param {Array} array The array to flatten.\n     * @returns {Array} Returns the new flattened array.\n     * @example\n     *\n     * _.flatten([1, [2, [3, [4]], 5]]);\n     * // => [1, 2, [3, [4]], 5]\n     */\n    function flatten(array) {\n      var length = array == null ? 0 : array.length;\n      return length ? baseFlatten(array, 1) : [];\n    }\n\n    /**\n     * Recursively flattens `array`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Array\n     * @param {Array} array The array to flatten.\n     * @returns {Array} Returns the new flattened array.\n     * @example\n     *\n     * _.flattenDeep([1, [2, [3, [4]], 5]]);\n     * // => [1, 2, 3, 4, 5]\n     */\n    function flattenDeep(array) {\n      var length = array == null ? 0 : array.length;\n      return length ? baseFlatten(array, INFINITY) : [];\n    }\n\n    /**\n     * Recursively flatten `array` up to `depth` times.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.4.0\n     * @category Array\n     * @param {Array} array The array to flatten.\n     * @param {number} [depth=1] The maximum recursion depth.\n     * @returns {Array} Returns the new flattened array.\n     * @example\n     *\n     * var array = [1, [2, [3, [4]], 5]];\n     *\n     * _.flattenDepth(array, 1);\n     * // => [1, 2, [3, [4]], 5]\n     *\n     * _.flattenDepth(array, 2);\n     * // => [1, 2, 3, [4], 5]\n     */\n    function flattenDepth(array, depth) {\n      var length = array == null ? 0 : array.length;\n      if (!length) {\n        return [];\n      }\n      depth = depth === undefined ? 1 : toInteger(depth);\n      return baseFlatten(array, depth);\n    }\n\n    /**\n     * The inverse of `_.toPairs`; this method returns an object composed\n     * from key-value `pairs`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} pairs The key-value pairs.\n     * @returns {Object} Returns the new object.\n     * @example\n     *\n     * _.fromPairs([['a', 1], ['b', 2]]);\n     * // => { 'a': 1, 'b': 2 }\n     */\n    function fromPairs(pairs) {\n      var index = -1,\n          length = pairs == null ? 0 : pairs.length,\n          result = {};\n\n      while (++index < length) {\n        var pair = pairs[index];\n        result[pair[0]] = pair[1];\n      }\n      return result;\n    }\n\n    /**\n     * Gets the first element of `array`.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @alias first\n     * @category Array\n     * @param {Array} array The array to query.\n     * @returns {*} Returns the first element of `array`.\n     * @example\n     *\n     * _.head([1, 2, 3]);\n     * // => 1\n     *\n     * _.head([]);\n     * // => undefined\n     */\n    function head(array) {\n      return (array && array.length) ? array[0] : undefined;\n    }\n\n    /**\n     * Gets the index at which the first occurrence of `value` is found in `array`\n     * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n     * for equality comparisons. If `fromIndex` is negative, it's used as the\n     * offset from the end of `array`.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Array\n     * @param {Array} array The array to inspect.\n     * @param {*} value The value to search for.\n     * @param {number} [fromIndex=0] The index to search from.\n     * @returns {number} Returns the index of the matched value, else `-1`.\n     * @example\n     *\n     * _.indexOf([1, 2, 1, 2], 2);\n     * // => 1\n     *\n     * // Search from the `fromIndex`.\n     * _.indexOf([1, 2, 1, 2], 2, 2);\n     * // => 3\n     */\n    function indexOf(array, value, fromIndex) {\n      var length = array == null ? 0 : array.length;\n      if (!length) {\n        return -1;\n      }\n      var index = fromIndex == null ? 0 : toInteger(fromIndex);\n      if (index < 0) {\n        index = nativeMax(length + index, 0);\n      }\n      return baseIndexOf(array, value, index);\n    }\n\n    /**\n     * Gets all but the last element of `array`.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Array\n     * @param {Array} array The array to query.\n     * @returns {Array} Returns the slice of `array`.\n     * @example\n     *\n     * _.initial([1, 2, 3]);\n     * // => [1, 2]\n     */\n    function initial(array) {\n      var length = array == null ? 0 : array.length;\n      return length ? baseSlice(array, 0, -1) : [];\n    }\n\n    /**\n     * Creates an array of unique values that are included in all given arrays\n     * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n     * for equality comparisons. The order and references of result values are\n     * determined by the first array.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Array\n     * @param {...Array} [arrays] The arrays to inspect.\n     * @returns {Array} Returns the new array of intersecting values.\n     * @example\n     *\n     * _.intersection([2, 1], [2, 3]);\n     * // => [2]\n     */\n    var intersection = baseRest(function(arrays) {\n      var mapped = arrayMap(arrays, castArrayLikeObject);\n      return (mapped.length && mapped[0] === arrays[0])\n        ? baseIntersection(mapped)\n        : [];\n    });\n\n    /**\n     * This method is like `_.intersection` except that it accepts `iteratee`\n     * which is invoked for each element of each `arrays` to generate the criterion\n     * by which they're compared. The order and references of result values are\n     * determined by the first array. The iteratee is invoked with one argument:\n     * (value).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {...Array} [arrays] The arrays to inspect.\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n     * @returns {Array} Returns the new array of intersecting values.\n     * @example\n     *\n     * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n     * // => [2.1]\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n     * // => [{ 'x': 1 }]\n     */\n    var intersectionBy = baseRest(function(arrays) {\n      var iteratee = last(arrays),\n          mapped = arrayMap(arrays, castArrayLikeObject);\n\n      if (iteratee === last(mapped)) {\n        iteratee = undefined;\n      } else {\n        mapped.pop();\n      }\n      return (mapped.length && mapped[0] === arrays[0])\n        ? baseIntersection(mapped, getIteratee(iteratee, 2))\n        : [];\n    });\n\n    /**\n     * This method is like `_.intersection` except that it accepts `comparator`\n     * which is invoked to compare elements of `arrays`. The order and references\n     * of result values are determined by the first array. The comparator is\n     * invoked with two arguments: (arrVal, othVal).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {...Array} [arrays] The arrays to inspect.\n     * @param {Function} [comparator] The comparator invoked per element.\n     * @returns {Array} Returns the new array of intersecting values.\n     * @example\n     *\n     * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n     * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n     *\n     * _.intersectionWith(objects, others, _.isEqual);\n     * // => [{ 'x': 1, 'y': 2 }]\n     */\n    var intersectionWith = baseRest(function(arrays) {\n      var comparator = last(arrays),\n          mapped = arrayMap(arrays, castArrayLikeObject);\n\n      comparator = typeof comparator == 'function' ? comparator : undefined;\n      if (comparator) {\n        mapped.pop();\n      }\n      return (mapped.length && mapped[0] === arrays[0])\n        ? baseIntersection(mapped, undefined, comparator)\n        : [];\n    });\n\n    /**\n     * Converts all elements in `array` into a string separated by `separator`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} array The array to convert.\n     * @param {string} [separator=','] The element separator.\n     * @returns {string} Returns the joined string.\n     * @example\n     *\n     * _.join(['a', 'b', 'c'], '~');\n     * // => 'a~b~c'\n     */\n    function join(array, separator) {\n      return array == null ? '' : nativeJoin.call(array, separator);\n    }\n\n    /**\n     * Gets the last element of `array`.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Array\n     * @param {Array} array The array to query.\n     * @returns {*} Returns the last element of `array`.\n     * @example\n     *\n     * _.last([1, 2, 3]);\n     * // => 3\n     */\n    function last(array) {\n      var length = array == null ? 0 : array.length;\n      return length ? array[length - 1] : undefined;\n    }\n\n    /**\n     * This method is like `_.indexOf` except that it iterates over elements of\n     * `array` from right to left.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Array\n     * @param {Array} array The array to inspect.\n     * @param {*} value The value to search for.\n     * @param {number} [fromIndex=array.length-1] The index to search from.\n     * @returns {number} Returns the index of the matched value, else `-1`.\n     * @example\n     *\n     * _.lastIndexOf([1, 2, 1, 2], 2);\n     * // => 3\n     *\n     * // Search from the `fromIndex`.\n     * _.lastIndexOf([1, 2, 1, 2], 2, 2);\n     * // => 1\n     */\n    function lastIndexOf(array, value, fromIndex) {\n      var length = array == null ? 0 : array.length;\n      if (!length) {\n        return -1;\n      }\n      var index = length;\n      if (fromIndex !== undefined) {\n        index = toInteger(fromIndex);\n        index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1);\n      }\n      return value === value\n        ? strictLastIndexOf(array, value, index)\n        : baseFindIndex(array, baseIsNaN, index, true);\n    }\n\n    /**\n     * Gets the element at index `n` of `array`. If `n` is negative, the nth\n     * element from the end is returned.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.11.0\n     * @category Array\n     * @param {Array} array The array to query.\n     * @param {number} [n=0] The index of the element to return.\n     * @returns {*} Returns the nth element of `array`.\n     * @example\n     *\n     * var array = ['a', 'b', 'c', 'd'];\n     *\n     * _.nth(array, 1);\n     * // => 'b'\n     *\n     * _.nth(array, -2);\n     * // => 'c';\n     */\n    function nth(array, n) {\n      return (array && array.length) ? baseNth(array, toInteger(n)) : undefined;\n    }\n\n    /**\n     * Removes all given values from `array` using\n     * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n     * for equality comparisons.\n     *\n     * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove`\n     * to remove elements from an array by predicate.\n     *\n     * @static\n     * @memberOf _\n     * @since 2.0.0\n     * @category Array\n     * @param {Array} array The array to modify.\n     * @param {...*} [values] The values to remove.\n     * @returns {Array} Returns `array`.\n     * @example\n     *\n     * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n     *\n     * _.pull(array, 'a', 'c');\n     * console.log(array);\n     * // => ['b', 'b']\n     */\n    var pull = baseRest(pullAll);\n\n    /**\n     * This method is like `_.pull` except that it accepts an array of values to remove.\n     *\n     * **Note:** Unlike `_.difference`, this method mutates `array`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} array The array to modify.\n     * @param {Array} values The values to remove.\n     * @returns {Array} Returns `array`.\n     * @example\n     *\n     * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n     *\n     * _.pullAll(array, ['a', 'c']);\n     * console.log(array);\n     * // => ['b', 'b']\n     */\n    function pullAll(array, values) {\n      return (array && array.length && values && values.length)\n        ? basePullAll(array, values)\n        : array;\n    }\n\n    /**\n     * This method is like `_.pullAll` except that it accepts `iteratee` which is\n     * invoked for each element of `array` and `values` to generate the criterion\n     * by which they're compared. The iteratee is invoked with one argument: (value).\n     *\n     * **Note:** Unlike `_.differenceBy`, this method mutates `array`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} array The array to modify.\n     * @param {Array} values The values to remove.\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n     * @returns {Array} Returns `array`.\n     * @example\n     *\n     * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }];\n     *\n     * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x');\n     * console.log(array);\n     * // => [{ 'x': 2 }]\n     */\n    function pullAllBy(array, values, iteratee) {\n      return (array && array.length && values && values.length)\n        ? basePullAll(array, values, getIteratee(iteratee, 2))\n        : array;\n    }\n\n    /**\n     * This method is like `_.pullAll` except that it accepts `comparator` which\n     * is invoked to compare elements of `array` to `values`. The comparator is\n     * invoked with two arguments: (arrVal, othVal).\n     *\n     * **Note:** Unlike `_.differenceWith`, this method mutates `array`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.6.0\n     * @category Array\n     * @param {Array} array The array to modify.\n     * @param {Array} values The values to remove.\n     * @param {Function} [comparator] The comparator invoked per element.\n     * @returns {Array} Returns `array`.\n     * @example\n     *\n     * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }];\n     *\n     * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual);\n     * console.log(array);\n     * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }]\n     */\n    function pullAllWith(array, values, comparator) {\n      return (array && array.length && values && values.length)\n        ? basePullAll(array, values, undefined, comparator)\n        : array;\n    }\n\n    /**\n     * Removes elements from `array` corresponding to `indexes` and returns an\n     * array of removed elements.\n     *\n     * **Note:** Unlike `_.at`, this method mutates `array`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Array\n     * @param {Array} array The array to modify.\n     * @param {...(number|number[])} [indexes] The indexes of elements to remove.\n     * @returns {Array} Returns the new array of removed elements.\n     * @example\n     *\n     * var array = ['a', 'b', 'c', 'd'];\n     * var pulled = _.pullAt(array, [1, 3]);\n     *\n     * console.log(array);\n     * // => ['a', 'c']\n     *\n     * console.log(pulled);\n     * // => ['b', 'd']\n     */\n    var pullAt = flatRest(function(array, indexes) {\n      var length = array == null ? 0 : array.length,\n          result = baseAt(array, indexes);\n\n      basePullAt(array, arrayMap(indexes, function(index) {\n        return isIndex(index, length) ? +index : index;\n      }).sort(compareAscending));\n\n      return result;\n    });\n\n    /**\n     * Removes all elements from `array` that `predicate` returns truthy for\n     * and returns an array of the removed elements. The predicate is invoked\n     * with three arguments: (value, index, array).\n     *\n     * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull`\n     * to pull elements from an array by value.\n     *\n     * @static\n     * @memberOf _\n     * @since 2.0.0\n     * @category Array\n     * @param {Array} array The array to modify.\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n     * @returns {Array} Returns the new array of removed elements.\n     * @example\n     *\n     * var array = [1, 2, 3, 4];\n     * var evens = _.remove(array, function(n) {\n     *   return n % 2 == 0;\n     * });\n     *\n     * console.log(array);\n     * // => [1, 3]\n     *\n     * console.log(evens);\n     * // => [2, 4]\n     */\n    function remove(array, predicate) {\n      var result = [];\n      if (!(array && array.length)) {\n        return result;\n      }\n      var index = -1,\n          indexes = [],\n          length = array.length;\n\n      predicate = getIteratee(predicate, 3);\n      while (++index < length) {\n        var value = array[index];\n        if (predicate(value, index, array)) {\n          result.push(value);\n          indexes.push(index);\n        }\n      }\n      basePullAt(array, indexes);\n      return result;\n    }\n\n    /**\n     * Reverses `array` so that the first element becomes the last, the second\n     * element becomes the second to last, and so on.\n     *\n     * **Note:** This method mutates `array` and is based on\n     * [`Array#reverse`](https://mdn.io/Array/reverse).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} array The array to modify.\n     * @returns {Array} Returns `array`.\n     * @example\n     *\n     * var array = [1, 2, 3];\n     *\n     * _.reverse(array);\n     * // => [3, 2, 1]\n     *\n     * console.log(array);\n     * // => [3, 2, 1]\n     */\n    function reverse(array) {\n      return array == null ? array : nativeReverse.call(array);\n    }\n\n    /**\n     * Creates a slice of `array` from `start` up to, but not including, `end`.\n     *\n     * **Note:** This method is used instead of\n     * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are\n     * returned.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Array\n     * @param {Array} array The array to slice.\n     * @param {number} [start=0] The start position.\n     * @param {number} [end=array.length] The end position.\n     * @returns {Array} Returns the slice of `array`.\n     */\n    function slice(array, start, end) {\n      var length = array == null ? 0 : array.length;\n      if (!length) {\n        return [];\n      }\n      if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {\n        start = 0;\n        end = length;\n      }\n      else {\n        start = start == null ? 0 : toInteger(start);\n        end = end === undefined ? length : toInteger(end);\n      }\n      return baseSlice(array, start, end);\n    }\n\n    /**\n     * Uses a binary search to determine the lowest index at which `value`\n     * should be inserted into `array` in order to maintain its sort order.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Array\n     * @param {Array} array The sorted array to inspect.\n     * @param {*} value The value to evaluate.\n     * @returns {number} Returns the index at which `value` should be inserted\n     *  into `array`.\n     * @example\n     *\n     * _.sortedIndex([30, 50], 40);\n     * // => 1\n     */\n    function sortedIndex(array, value) {\n      return baseSortedIndex(array, value);\n    }\n\n    /**\n     * This method is like `_.sortedIndex` except that it accepts `iteratee`\n     * which is invoked for `value` and each element of `array` to compute their\n     * sort ranking. The iteratee is invoked with one argument: (value).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} array The sorted array to inspect.\n     * @param {*} value The value to evaluate.\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n     * @returns {number} Returns the index at which `value` should be inserted\n     *  into `array`.\n     * @example\n     *\n     * var objects = [{ 'x': 4 }, { 'x': 5 }];\n     *\n     * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n     * // => 0\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.sortedIndexBy(objects, { 'x': 4 }, 'x');\n     * // => 0\n     */\n    function sortedIndexBy(array, value, iteratee) {\n      return baseSortedIndexBy(array, value, getIteratee(iteratee, 2));\n    }\n\n    /**\n     * This method is like `_.indexOf` except that it performs a binary\n     * search on a sorted `array`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} array The array to inspect.\n     * @param {*} value The value to search for.\n     * @returns {number} Returns the index of the matched value, else `-1`.\n     * @example\n     *\n     * _.sortedIndexOf([4, 5, 5, 5, 6], 5);\n     * // => 1\n     */\n    function sortedIndexOf(array, value) {\n      var length = array == null ? 0 : array.length;\n      if (length) {\n        var index = baseSortedIndex(array, value);\n        if (index < length && eq(array[index], value)) {\n          return index;\n        }\n      }\n      return -1;\n    }\n\n    /**\n     * This method is like `_.sortedIndex` except that it returns the highest\n     * index at which `value` should be inserted into `array` in order to\n     * maintain its sort order.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Array\n     * @param {Array} array The sorted array to inspect.\n     * @param {*} value The value to evaluate.\n     * @returns {number} Returns the index at which `value` should be inserted\n     *  into `array`.\n     * @example\n     *\n     * _.sortedLastIndex([4, 5, 5, 5, 6], 5);\n     * // => 4\n     */\n    function sortedLastIndex(array, value) {\n      return baseSortedIndex(array, value, true);\n    }\n\n    /**\n     * This method is like `_.sortedLastIndex` except that it accepts `iteratee`\n     * which is invoked for `value` and each element of `array` to compute their\n     * sort ranking. The iteratee is invoked with one argument: (value).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} array The sorted array to inspect.\n     * @param {*} value The value to evaluate.\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n     * @returns {number} Returns the index at which `value` should be inserted\n     *  into `array`.\n     * @example\n     *\n     * var objects = [{ 'x': 4 }, { 'x': 5 }];\n     *\n     * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n     * // => 1\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x');\n     * // => 1\n     */\n    function sortedLastIndexBy(array, value, iteratee) {\n      return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true);\n    }\n\n    /**\n     * This method is like `_.lastIndexOf` except that it performs a binary\n     * search on a sorted `array`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} array The array to inspect.\n     * @param {*} value The value to search for.\n     * @returns {number} Returns the index of the matched value, else `-1`.\n     * @example\n     *\n     * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5);\n     * // => 3\n     */\n    function sortedLastIndexOf(array, value) {\n      var length = array == null ? 0 : array.length;\n      if (length) {\n        var index = baseSortedIndex(array, value, true) - 1;\n        if (eq(array[index], value)) {\n          return index;\n        }\n      }\n      return -1;\n    }\n\n    /**\n     * This method is like `_.uniq` except that it's designed and optimized\n     * for sorted arrays.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} array The array to inspect.\n     * @returns {Array} Returns the new duplicate free array.\n     * @example\n     *\n     * _.sortedUniq([1, 1, 2]);\n     * // => [1, 2]\n     */\n    function sortedUniq(array) {\n      return (array && array.length)\n        ? baseSortedUniq(array)\n        : [];\n    }\n\n    /**\n     * This method is like `_.uniqBy` except that it's designed and optimized\n     * for sorted arrays.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} array The array to inspect.\n     * @param {Function} [iteratee] The iteratee invoked per element.\n     * @returns {Array} Returns the new duplicate free array.\n     * @example\n     *\n     * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor);\n     * // => [1.1, 2.3]\n     */\n    function sortedUniqBy(array, iteratee) {\n      return (array && array.length)\n        ? baseSortedUniq(array, getIteratee(iteratee, 2))\n        : [];\n    }\n\n    /**\n     * Gets all but the first element of `array`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} array The array to query.\n     * @returns {Array} Returns the slice of `array`.\n     * @example\n     *\n     * _.tail([1, 2, 3]);\n     * // => [2, 3]\n     */\n    function tail(array) {\n      var length = array == null ? 0 : array.length;\n      return length ? baseSlice(array, 1, length) : [];\n    }\n\n    /**\n     * Creates a slice of `array` with `n` elements taken from the beginning.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Array\n     * @param {Array} array The array to query.\n     * @param {number} [n=1] The number of elements to take.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {Array} Returns the slice of `array`.\n     * @example\n     *\n     * _.take([1, 2, 3]);\n     * // => [1]\n     *\n     * _.take([1, 2, 3], 2);\n     * // => [1, 2]\n     *\n     * _.take([1, 2, 3], 5);\n     * // => [1, 2, 3]\n     *\n     * _.take([1, 2, 3], 0);\n     * // => []\n     */\n    function take(array, n, guard) {\n      if (!(array && array.length)) {\n        return [];\n      }\n      n = (guard || n === undefined) ? 1 : toInteger(n);\n      return baseSlice(array, 0, n < 0 ? 0 : n);\n    }\n\n    /**\n     * Creates a slice of `array` with `n` elements taken from the end.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Array\n     * @param {Array} array The array to query.\n     * @param {number} [n=1] The number of elements to take.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {Array} Returns the slice of `array`.\n     * @example\n     *\n     * _.takeRight([1, 2, 3]);\n     * // => [3]\n     *\n     * _.takeRight([1, 2, 3], 2);\n     * // => [2, 3]\n     *\n     * _.takeRight([1, 2, 3], 5);\n     * // => [1, 2, 3]\n     *\n     * _.takeRight([1, 2, 3], 0);\n     * // => []\n     */\n    function takeRight(array, n, guard) {\n      var length = array == null ? 0 : array.length;\n      if (!length) {\n        return [];\n      }\n      n = (guard || n === undefined) ? 1 : toInteger(n);\n      n = length - n;\n      return baseSlice(array, n < 0 ? 0 : n, length);\n    }\n\n    /**\n     * Creates a slice of `array` with elements taken from the end. Elements are\n     * taken until `predicate` returns falsey. The predicate is invoked with\n     * three arguments: (value, index, array).\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Array\n     * @param {Array} array The array to query.\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n     * @returns {Array} Returns the slice of `array`.\n     * @example\n     *\n     * var users = [\n     *   { 'user': 'barney',  'active': true },\n     *   { 'user': 'fred',    'active': false },\n     *   { 'user': 'pebbles', 'active': false }\n     * ];\n     *\n     * _.takeRightWhile(users, function(o) { return !o.active; });\n     * // => objects for ['fred', 'pebbles']\n     *\n     * // The `_.matches` iteratee shorthand.\n     * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false });\n     * // => objects for ['pebbles']\n     *\n     * // The `_.matchesProperty` iteratee shorthand.\n     * _.takeRightWhile(users, ['active', false]);\n     * // => objects for ['fred', 'pebbles']\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.takeRightWhile(users, 'active');\n     * // => []\n     */\n    function takeRightWhile(array, predicate) {\n      return (array && array.length)\n        ? baseWhile(array, getIteratee(predicate, 3), false, true)\n        : [];\n    }\n\n    /**\n     * Creates a slice of `array` with elements taken from the beginning. Elements\n     * are taken until `predicate` returns falsey. The predicate is invoked with\n     * three arguments: (value, index, array).\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Array\n     * @param {Array} array The array to query.\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n     * @returns {Array} Returns the slice of `array`.\n     * @example\n     *\n     * var users = [\n     *   { 'user': 'barney',  'active': false },\n     *   { 'user': 'fred',    'active': false },\n     *   { 'user': 'pebbles', 'active': true }\n     * ];\n     *\n     * _.takeWhile(users, function(o) { return !o.active; });\n     * // => objects for ['barney', 'fred']\n     *\n     * // The `_.matches` iteratee shorthand.\n     * _.takeWhile(users, { 'user': 'barney', 'active': false });\n     * // => objects for ['barney']\n     *\n     * // The `_.matchesProperty` iteratee shorthand.\n     * _.takeWhile(users, ['active', false]);\n     * // => objects for ['barney', 'fred']\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.takeWhile(users, 'active');\n     * // => []\n     */\n    function takeWhile(array, predicate) {\n      return (array && array.length)\n        ? baseWhile(array, getIteratee(predicate, 3))\n        : [];\n    }\n\n    /**\n     * Creates an array of unique values, in order, from all given arrays using\n     * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n     * for equality comparisons.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Array\n     * @param {...Array} [arrays] The arrays to inspect.\n     * @returns {Array} Returns the new array of combined values.\n     * @example\n     *\n     * _.union([2], [1, 2]);\n     * // => [2, 1]\n     */\n    var union = baseRest(function(arrays) {\n      return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n    });\n\n    /**\n     * This method is like `_.union` except that it accepts `iteratee` which is\n     * invoked for each element of each `arrays` to generate the criterion by\n     * which uniqueness is computed. Result values are chosen from the first\n     * array in which the value occurs. The iteratee is invoked with one argument:\n     * (value).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {...Array} [arrays] The arrays to inspect.\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n     * @returns {Array} Returns the new array of combined values.\n     * @example\n     *\n     * _.unionBy([2.1], [1.2, 2.3], Math.floor);\n     * // => [2.1, 1.2]\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n     * // => [{ 'x': 1 }, { 'x': 2 }]\n     */\n    var unionBy = baseRest(function(arrays) {\n      var iteratee = last(arrays);\n      if (isArrayLikeObject(iteratee)) {\n        iteratee = undefined;\n      }\n      return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2));\n    });\n\n    /**\n     * This method is like `_.union` except that it accepts `comparator` which\n     * is invoked to compare elements of `arrays`. Result values are chosen from\n     * the first array in which the value occurs. The comparator is invoked\n     * with two arguments: (arrVal, othVal).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {...Array} [arrays] The arrays to inspect.\n     * @param {Function} [comparator] The comparator invoked per element.\n     * @returns {Array} Returns the new array of combined values.\n     * @example\n     *\n     * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n     * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n     *\n     * _.unionWith(objects, others, _.isEqual);\n     * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n     */\n    var unionWith = baseRest(function(arrays) {\n      var comparator = last(arrays);\n      comparator = typeof comparator == 'function' ? comparator : undefined;\n      return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator);\n    });\n\n    /**\n     * Creates a duplicate-free version of an array, using\n     * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n     * for equality comparisons, in which only the first occurrence of each element\n     * is kept. The order of result values is determined by the order they occur\n     * in the array.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Array\n     * @param {Array} array The array to inspect.\n     * @returns {Array} Returns the new duplicate free array.\n     * @example\n     *\n     * _.uniq([2, 1, 2]);\n     * // => [2, 1]\n     */\n    function uniq(array) {\n      return (array && array.length) ? baseUniq(array) : [];\n    }\n\n    /**\n     * This method is like `_.uniq` except that it accepts `iteratee` which is\n     * invoked for each element in `array` to generate the criterion by which\n     * uniqueness is computed. The order of result values is determined by the\n     * order they occur in the array. The iteratee is invoked with one argument:\n     * (value).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} array The array to inspect.\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n     * @returns {Array} Returns the new duplicate free array.\n     * @example\n     *\n     * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n     * // => [2.1, 1.2]\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n     * // => [{ 'x': 1 }, { 'x': 2 }]\n     */\n    function uniqBy(array, iteratee) {\n      return (array && array.length) ? baseUniq(array, getIteratee(iteratee, 2)) : [];\n    }\n\n    /**\n     * This method is like `_.uniq` except that it accepts `comparator` which\n     * is invoked to compare elements of `array`. The order of result values is\n     * determined by the order they occur in the array.The comparator is invoked\n     * with two arguments: (arrVal, othVal).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} array The array to inspect.\n     * @param {Function} [comparator] The comparator invoked per element.\n     * @returns {Array} Returns the new duplicate free array.\n     * @example\n     *\n     * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];\n     *\n     * _.uniqWith(objects, _.isEqual);\n     * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]\n     */\n    function uniqWith(array, comparator) {\n      comparator = typeof comparator == 'function' ? comparator : undefined;\n      return (array && array.length) ? baseUniq(array, undefined, comparator) : [];\n    }\n\n    /**\n     * This method is like `_.zip` except that it accepts an array of grouped\n     * elements and creates an array regrouping the elements to their pre-zip\n     * configuration.\n     *\n     * @static\n     * @memberOf _\n     * @since 1.2.0\n     * @category Array\n     * @param {Array} array The array of grouped elements to process.\n     * @returns {Array} Returns the new array of regrouped elements.\n     * @example\n     *\n     * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]);\n     * // => [['a', 1, true], ['b', 2, false]]\n     *\n     * _.unzip(zipped);\n     * // => [['a', 'b'], [1, 2], [true, false]]\n     */\n    function unzip(array) {\n      if (!(array && array.length)) {\n        return [];\n      }\n      var length = 0;\n      array = arrayFilter(array, function(group) {\n        if (isArrayLikeObject(group)) {\n          length = nativeMax(group.length, length);\n          return true;\n        }\n      });\n      return baseTimes(length, function(index) {\n        return arrayMap(array, baseProperty(index));\n      });\n    }\n\n    /**\n     * This method is like `_.unzip` except that it accepts `iteratee` to specify\n     * how regrouped values should be combined. The iteratee is invoked with the\n     * elements of each group: (...group).\n     *\n     * @static\n     * @memberOf _\n     * @since 3.8.0\n     * @category Array\n     * @param {Array} array The array of grouped elements to process.\n     * @param {Function} [iteratee=_.identity] The function to combine\n     *  regrouped values.\n     * @returns {Array} Returns the new array of regrouped elements.\n     * @example\n     *\n     * var zipped = _.zip([1, 2], [10, 20], [100, 200]);\n     * // => [[1, 10, 100], [2, 20, 200]]\n     *\n     * _.unzipWith(zipped, _.add);\n     * // => [3, 30, 300]\n     */\n    function unzipWith(array, iteratee) {\n      if (!(array && array.length)) {\n        return [];\n      }\n      var result = unzip(array);\n      if (iteratee == null) {\n        return result;\n      }\n      return arrayMap(result, function(group) {\n        return apply(iteratee, undefined, group);\n      });\n    }\n\n    /**\n     * Creates an array excluding all given values using\n     * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n     * for equality comparisons.\n     *\n     * **Note:** Unlike `_.pull`, this method returns a new array.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Array\n     * @param {Array} array The array to inspect.\n     * @param {...*} [values] The values to exclude.\n     * @returns {Array} Returns the new array of filtered values.\n     * @see _.difference, _.xor\n     * @example\n     *\n     * _.without([2, 1, 2, 3], 1, 2);\n     * // => [3]\n     */\n    var without = baseRest(function(array, values) {\n      return isArrayLikeObject(array)\n        ? baseDifference(array, values)\n        : [];\n    });\n\n    /**\n     * Creates an array of unique values that is the\n     * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)\n     * of the given arrays. The order of result values is determined by the order\n     * they occur in the arrays.\n     *\n     * @static\n     * @memberOf _\n     * @since 2.4.0\n     * @category Array\n     * @param {...Array} [arrays] The arrays to inspect.\n     * @returns {Array} Returns the new array of filtered values.\n     * @see _.difference, _.without\n     * @example\n     *\n     * _.xor([2, 1], [2, 3]);\n     * // => [1, 3]\n     */\n    var xor = baseRest(function(arrays) {\n      return baseXor(arrayFilter(arrays, isArrayLikeObject));\n    });\n\n    /**\n     * This method is like `_.xor` except that it accepts `iteratee` which is\n     * invoked for each element of each `arrays` to generate the criterion by\n     * which by which they're compared. The order of result values is determined\n     * by the order they occur in the arrays. The iteratee is invoked with one\n     * argument: (value).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {...Array} [arrays] The arrays to inspect.\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n     * @returns {Array} Returns the new array of filtered values.\n     * @example\n     *\n     * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n     * // => [1.2, 3.4]\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n     * // => [{ 'x': 2 }]\n     */\n    var xorBy = baseRest(function(arrays) {\n      var iteratee = last(arrays);\n      if (isArrayLikeObject(iteratee)) {\n        iteratee = undefined;\n      }\n      return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2));\n    });\n\n    /**\n     * This method is like `_.xor` except that it accepts `comparator` which is\n     * invoked to compare elements of `arrays`. The order of result values is\n     * determined by the order they occur in the arrays. The comparator is invoked\n     * with two arguments: (arrVal, othVal).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {...Array} [arrays] The arrays to inspect.\n     * @param {Function} [comparator] The comparator invoked per element.\n     * @returns {Array} Returns the new array of filtered values.\n     * @example\n     *\n     * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n     * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n     *\n     * _.xorWith(objects, others, _.isEqual);\n     * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n     */\n    var xorWith = baseRest(function(arrays) {\n      var comparator = last(arrays);\n      comparator = typeof comparator == 'function' ? comparator : undefined;\n      return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator);\n    });\n\n    /**\n     * Creates an array of grouped elements, the first of which contains the\n     * first elements of the given arrays, the second of which contains the\n     * second elements of the given arrays, and so on.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Array\n     * @param {...Array} [arrays] The arrays to process.\n     * @returns {Array} Returns the new array of grouped elements.\n     * @example\n     *\n     * _.zip(['a', 'b'], [1, 2], [true, false]);\n     * // => [['a', 1, true], ['b', 2, false]]\n     */\n    var zip = baseRest(unzip);\n\n    /**\n     * This method is like `_.fromPairs` except that it accepts two arrays,\n     * one of property identifiers and one of corresponding values.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.4.0\n     * @category Array\n     * @param {Array} [props=[]] The property identifiers.\n     * @param {Array} [values=[]] The property values.\n     * @returns {Object} Returns the new object.\n     * @example\n     *\n     * _.zipObject(['a', 'b'], [1, 2]);\n     * // => { 'a': 1, 'b': 2 }\n     */\n    function zipObject(props, values) {\n      return baseZipObject(props || [], values || [], assignValue);\n    }\n\n    /**\n     * This method is like `_.zipObject` except that it supports property paths.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.1.0\n     * @category Array\n     * @param {Array} [props=[]] The property identifiers.\n     * @param {Array} [values=[]] The property values.\n     * @returns {Object} Returns the new object.\n     * @example\n     *\n     * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]);\n     * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } }\n     */\n    function zipObjectDeep(props, values) {\n      return baseZipObject(props || [], values || [], baseSet);\n    }\n\n    /**\n     * This method is like `_.zip` except that it accepts `iteratee` to specify\n     * how grouped values should be combined. The iteratee is invoked with the\n     * elements of each group: (...group).\n     *\n     * @static\n     * @memberOf _\n     * @since 3.8.0\n     * @category Array\n     * @param {...Array} [arrays] The arrays to process.\n     * @param {Function} [iteratee=_.identity] The function to combine\n     *  grouped values.\n     * @returns {Array} Returns the new array of grouped elements.\n     * @example\n     *\n     * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) {\n     *   return a + b + c;\n     * });\n     * // => [111, 222]\n     */\n    var zipWith = baseRest(function(arrays) {\n      var length = arrays.length,\n          iteratee = length > 1 ? arrays[length - 1] : undefined;\n\n      iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined;\n      return unzipWith(arrays, iteratee);\n    });\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Creates a `lodash` wrapper instance that wraps `value` with explicit method\n     * chain sequences enabled. The result of such sequences must be unwrapped\n     * with `_#value`.\n     *\n     * @static\n     * @memberOf _\n     * @since 1.3.0\n     * @category Seq\n     * @param {*} value The value to wrap.\n     * @returns {Object} Returns the new `lodash` wrapper instance.\n     * @example\n     *\n     * var users = [\n     *   { 'user': 'barney',  'age': 36 },\n     *   { 'user': 'fred',    'age': 40 },\n     *   { 'user': 'pebbles', 'age': 1 }\n     * ];\n     *\n     * var youngest = _\n     *   .chain(users)\n     *   .sortBy('age')\n     *   .map(function(o) {\n     *     return o.user + ' is ' + o.age;\n     *   })\n     *   .head()\n     *   .value();\n     * // => 'pebbles is 1'\n     */\n    function chain(value) {\n      var result = lodash(value);\n      result.__chain__ = true;\n      return result;\n    }\n\n    /**\n     * This method invokes `interceptor` and returns `value`. The interceptor\n     * is invoked with one argument; (value). The purpose of this method is to\n     * \"tap into\" a method chain sequence in order to modify intermediate results.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Seq\n     * @param {*} value The value to provide to `interceptor`.\n     * @param {Function} interceptor The function to invoke.\n     * @returns {*} Returns `value`.\n     * @example\n     *\n     * _([1, 2, 3])\n     *  .tap(function(array) {\n     *    // Mutate input array.\n     *    array.pop();\n     *  })\n     *  .reverse()\n     *  .value();\n     * // => [2, 1]\n     */\n    function tap(value, interceptor) {\n      interceptor(value);\n      return value;\n    }\n\n    /**\n     * This method is like `_.tap` except that it returns the result of `interceptor`.\n     * The purpose of this method is to \"pass thru\" values replacing intermediate\n     * results in a method chain sequence.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Seq\n     * @param {*} value The value to provide to `interceptor`.\n     * @param {Function} interceptor The function to invoke.\n     * @returns {*} Returns the result of `interceptor`.\n     * @example\n     *\n     * _('  abc  ')\n     *  .chain()\n     *  .trim()\n     *  .thru(function(value) {\n     *    return [value];\n     *  })\n     *  .value();\n     * // => ['abc']\n     */\n    function thru(value, interceptor) {\n      return interceptor(value);\n    }\n\n    /**\n     * This method is the wrapper version of `_.at`.\n     *\n     * @name at\n     * @memberOf _\n     * @since 1.0.0\n     * @category Seq\n     * @param {...(string|string[])} [paths] The property paths to pick.\n     * @returns {Object} Returns the new `lodash` wrapper instance.\n     * @example\n     *\n     * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n     *\n     * _(object).at(['a[0].b.c', 'a[1]']).value();\n     * // => [3, 4]\n     */\n    var wrapperAt = flatRest(function(paths) {\n      var length = paths.length,\n          start = length ? paths[0] : 0,\n          value = this.__wrapped__,\n          interceptor = function(object) { return baseAt(object, paths); };\n\n      if (length > 1 || this.__actions__.length ||\n          !(value instanceof LazyWrapper) || !isIndex(start)) {\n        return this.thru(interceptor);\n      }\n      value = value.slice(start, +start + (length ? 1 : 0));\n      value.__actions__.push({\n        'func': thru,\n        'args': [interceptor],\n        'thisArg': undefined\n      });\n      return new LodashWrapper(value, this.__chain__).thru(function(array) {\n        if (length && !array.length) {\n          array.push(undefined);\n        }\n        return array;\n      });\n    });\n\n    /**\n     * Creates a `lodash` wrapper instance with explicit method chain sequences enabled.\n     *\n     * @name chain\n     * @memberOf _\n     * @since 0.1.0\n     * @category Seq\n     * @returns {Object} Returns the new `lodash` wrapper instance.\n     * @example\n     *\n     * var users = [\n     *   { 'user': 'barney', 'age': 36 },\n     *   { 'user': 'fred',   'age': 40 }\n     * ];\n     *\n     * // A sequence without explicit chaining.\n     * _(users).head();\n     * // => { 'user': 'barney', 'age': 36 }\n     *\n     * // A sequence with explicit chaining.\n     * _(users)\n     *   .chain()\n     *   .head()\n     *   .pick('user')\n     *   .value();\n     * // => { 'user': 'barney' }\n     */\n    function wrapperChain() {\n      return chain(this);\n    }\n\n    /**\n     * Executes the chain sequence and returns the wrapped result.\n     *\n     * @name commit\n     * @memberOf _\n     * @since 3.2.0\n     * @category Seq\n     * @returns {Object} Returns the new `lodash` wrapper instance.\n     * @example\n     *\n     * var array = [1, 2];\n     * var wrapped = _(array).push(3);\n     *\n     * console.log(array);\n     * // => [1, 2]\n     *\n     * wrapped = wrapped.commit();\n     * console.log(array);\n     * // => [1, 2, 3]\n     *\n     * wrapped.last();\n     * // => 3\n     *\n     * console.log(array);\n     * // => [1, 2, 3]\n     */\n    function wrapperCommit() {\n      return new LodashWrapper(this.value(), this.__chain__);\n    }\n\n    /**\n     * Gets the next value on a wrapped object following the\n     * [iterator protocol](https://mdn.io/iteration_protocols#iterator).\n     *\n     * @name next\n     * @memberOf _\n     * @since 4.0.0\n     * @category Seq\n     * @returns {Object} Returns the next iterator value.\n     * @example\n     *\n     * var wrapped = _([1, 2]);\n     *\n     * wrapped.next();\n     * // => { 'done': false, 'value': 1 }\n     *\n     * wrapped.next();\n     * // => { 'done': false, 'value': 2 }\n     *\n     * wrapped.next();\n     * // => { 'done': true, 'value': undefined }\n     */\n    function wrapperNext() {\n      if (this.__values__ === undefined) {\n        this.__values__ = toArray(this.value());\n      }\n      var done = this.__index__ >= this.__values__.length,\n          value = done ? undefined : this.__values__[this.__index__++];\n\n      return { 'done': done, 'value': value };\n    }\n\n    /**\n     * Enables the wrapper to be iterable.\n     *\n     * @name Symbol.iterator\n     * @memberOf _\n     * @since 4.0.0\n     * @category Seq\n     * @returns {Object} Returns the wrapper object.\n     * @example\n     *\n     * var wrapped = _([1, 2]);\n     *\n     * wrapped[Symbol.iterator]() === wrapped;\n     * // => true\n     *\n     * Array.from(wrapped);\n     * // => [1, 2]\n     */\n    function wrapperToIterator() {\n      return this;\n    }\n\n    /**\n     * Creates a clone of the chain sequence planting `value` as the wrapped value.\n     *\n     * @name plant\n     * @memberOf _\n     * @since 3.2.0\n     * @category Seq\n     * @param {*} value The value to plant.\n     * @returns {Object} Returns the new `lodash` wrapper instance.\n     * @example\n     *\n     * function square(n) {\n     *   return n * n;\n     * }\n     *\n     * var wrapped = _([1, 2]).map(square);\n     * var other = wrapped.plant([3, 4]);\n     *\n     * other.value();\n     * // => [9, 16]\n     *\n     * wrapped.value();\n     * // => [1, 4]\n     */\n    function wrapperPlant(value) {\n      var result,\n          parent = this;\n\n      while (parent instanceof baseLodash) {\n        var clone = wrapperClone(parent);\n        clone.__index__ = 0;\n        clone.__values__ = undefined;\n        if (result) {\n          previous.__wrapped__ = clone;\n        } else {\n          result = clone;\n        }\n        var previous = clone;\n        parent = parent.__wrapped__;\n      }\n      previous.__wrapped__ = value;\n      return result;\n    }\n\n    /**\n     * This method is the wrapper version of `_.reverse`.\n     *\n     * **Note:** This method mutates the wrapped array.\n     *\n     * @name reverse\n     * @memberOf _\n     * @since 0.1.0\n     * @category Seq\n     * @returns {Object} Returns the new `lodash` wrapper instance.\n     * @example\n     *\n     * var array = [1, 2, 3];\n     *\n     * _(array).reverse().value()\n     * // => [3, 2, 1]\n     *\n     * console.log(array);\n     * // => [3, 2, 1]\n     */\n    function wrapperReverse() {\n      var value = this.__wrapped__;\n      if (value instanceof LazyWrapper) {\n        var wrapped = value;\n        if (this.__actions__.length) {\n          wrapped = new LazyWrapper(this);\n        }\n        wrapped = wrapped.reverse();\n        wrapped.__actions__.push({\n          'func': thru,\n          'args': [reverse],\n          'thisArg': undefined\n        });\n        return new LodashWrapper(wrapped, this.__chain__);\n      }\n      return this.thru(reverse);\n    }\n\n    /**\n     * Executes the chain sequence to resolve the unwrapped value.\n     *\n     * @name value\n     * @memberOf _\n     * @since 0.1.0\n     * @alias toJSON, valueOf\n     * @category Seq\n     * @returns {*} Returns the resolved unwrapped value.\n     * @example\n     *\n     * _([1, 2, 3]).value();\n     * // => [1, 2, 3]\n     */\n    function wrapperValue() {\n      return baseWrapperValue(this.__wrapped__, this.__actions__);\n    }\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Creates an object composed of keys generated from the results of running\n     * each element of `collection` thru `iteratee`. The corresponding value of\n     * each key is the number of times the key was returned by `iteratee`. The\n     * iteratee is invoked with one argument: (value).\n     *\n     * @static\n     * @memberOf _\n     * @since 0.5.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n     * @returns {Object} Returns the composed aggregate object.\n     * @example\n     *\n     * _.countBy([6.1, 4.2, 6.3], Math.floor);\n     * // => { '4': 1, '6': 2 }\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.countBy(['one', 'two', 'three'], 'length');\n     * // => { '3': 2, '5': 1 }\n     */\n    var countBy = createAggregator(function(result, value, key) {\n      if (hasOwnProperty.call(result, key)) {\n        ++result[key];\n      } else {\n        baseAssignValue(result, key, 1);\n      }\n    });\n\n    /**\n     * Checks if `predicate` returns truthy for **all** elements of `collection`.\n     * Iteration is stopped once `predicate` returns falsey. The predicate is\n     * invoked with three arguments: (value, index|key, collection).\n     *\n     * **Note:** This method returns `true` for\n     * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because\n     * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of\n     * elements of empty collections.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {boolean} Returns `true` if all elements pass the predicate check,\n     *  else `false`.\n     * @example\n     *\n     * _.every([true, 1, null, 'yes'], Boolean);\n     * // => false\n     *\n     * var users = [\n     *   { 'user': 'barney', 'age': 36, 'active': false },\n     *   { 'user': 'fred',   'age': 40, 'active': false }\n     * ];\n     *\n     * // The `_.matches` iteratee shorthand.\n     * _.every(users, { 'user': 'barney', 'active': false });\n     * // => false\n     *\n     * // The `_.matchesProperty` iteratee shorthand.\n     * _.every(users, ['active', false]);\n     * // => true\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.every(users, 'active');\n     * // => false\n     */\n    function every(collection, predicate, guard) {\n      var func = isArray(collection) ? arrayEvery : baseEvery;\n      if (guard && isIterateeCall(collection, predicate, guard)) {\n        predicate = undefined;\n      }\n      return func(collection, getIteratee(predicate, 3));\n    }\n\n    /**\n     * Iterates over elements of `collection`, returning an array of all elements\n     * `predicate` returns truthy for. The predicate is invoked with three\n     * arguments: (value, index|key, collection).\n     *\n     * **Note:** Unlike `_.remove`, this method returns a new array.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n     * @returns {Array} Returns the new filtered array.\n     * @see _.reject\n     * @example\n     *\n     * var users = [\n     *   { 'user': 'barney', 'age': 36, 'active': true },\n     *   { 'user': 'fred',   'age': 40, 'active': false }\n     * ];\n     *\n     * _.filter(users, function(o) { return !o.active; });\n     * // => objects for ['fred']\n     *\n     * // The `_.matches` iteratee shorthand.\n     * _.filter(users, { 'age': 36, 'active': true });\n     * // => objects for ['barney']\n     *\n     * // The `_.matchesProperty` iteratee shorthand.\n     * _.filter(users, ['active', false]);\n     * // => objects for ['fred']\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.filter(users, 'active');\n     * // => objects for ['barney']\n     *\n     * // Combining several predicates using `_.overEvery` or `_.overSome`.\n     * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]]));\n     * // => objects for ['fred', 'barney']\n     */\n    function filter(collection, predicate) {\n      var func = isArray(collection) ? arrayFilter : baseFilter;\n      return func(collection, getIteratee(predicate, 3));\n    }\n\n    /**\n     * Iterates over elements of `collection`, returning the first element\n     * `predicate` returns truthy for. The predicate is invoked with three\n     * arguments: (value, index|key, collection).\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to inspect.\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n     * @param {number} [fromIndex=0] The index to search from.\n     * @returns {*} Returns the matched element, else `undefined`.\n     * @example\n     *\n     * var users = [\n     *   { 'user': 'barney',  'age': 36, 'active': true },\n     *   { 'user': 'fred',    'age': 40, 'active': false },\n     *   { 'user': 'pebbles', 'age': 1,  'active': true }\n     * ];\n     *\n     * _.find(users, function(o) { return o.age < 40; });\n     * // => object for 'barney'\n     *\n     * // The `_.matches` iteratee shorthand.\n     * _.find(users, { 'age': 1, 'active': true });\n     * // => object for 'pebbles'\n     *\n     * // The `_.matchesProperty` iteratee shorthand.\n     * _.find(users, ['active', false]);\n     * // => object for 'fred'\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.find(users, 'active');\n     * // => object for 'barney'\n     */\n    var find = createFind(findIndex);\n\n    /**\n     * This method is like `_.find` except that it iterates over elements of\n     * `collection` from right to left.\n     *\n     * @static\n     * @memberOf _\n     * @since 2.0.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to inspect.\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n     * @param {number} [fromIndex=collection.length-1] The index to search from.\n     * @returns {*} Returns the matched element, else `undefined`.\n     * @example\n     *\n     * _.findLast([1, 2, 3, 4], function(n) {\n     *   return n % 2 == 1;\n     * });\n     * // => 3\n     */\n    var findLast = createFind(findLastIndex);\n\n    /**\n     * Creates a flattened array of values by running each element in `collection`\n     * thru `iteratee` and flattening the mapped results. The iteratee is invoked\n     * with three arguments: (value, index|key, collection).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n     * @returns {Array} Returns the new flattened array.\n     * @example\n     *\n     * function duplicate(n) {\n     *   return [n, n];\n     * }\n     *\n     * _.flatMap([1, 2], duplicate);\n     * // => [1, 1, 2, 2]\n     */\n    function flatMap(collection, iteratee) {\n      return baseFlatten(map(collection, iteratee), 1);\n    }\n\n    /**\n     * This method is like `_.flatMap` except that it recursively flattens the\n     * mapped results.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.7.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n     * @returns {Array} Returns the new flattened array.\n     * @example\n     *\n     * function duplicate(n) {\n     *   return [[[n, n]]];\n     * }\n     *\n     * _.flatMapDeep([1, 2], duplicate);\n     * // => [1, 1, 2, 2]\n     */\n    function flatMapDeep(collection, iteratee) {\n      return baseFlatten(map(collection, iteratee), INFINITY);\n    }\n\n    /**\n     * This method is like `_.flatMap` except that it recursively flattens the\n     * mapped results up to `depth` times.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.7.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n     * @param {number} [depth=1] The maximum recursion depth.\n     * @returns {Array} Returns the new flattened array.\n     * @example\n     *\n     * function duplicate(n) {\n     *   return [[[n, n]]];\n     * }\n     *\n     * _.flatMapDepth([1, 2], duplicate, 2);\n     * // => [[1, 1], [2, 2]]\n     */\n    function flatMapDepth(collection, iteratee, depth) {\n      depth = depth === undefined ? 1 : toInteger(depth);\n      return baseFlatten(map(collection, iteratee), depth);\n    }\n\n    /**\n     * Iterates over elements of `collection` and invokes `iteratee` for each element.\n     * The iteratee is invoked with three arguments: (value, index|key, collection).\n     * Iteratee functions may exit iteration early by explicitly returning `false`.\n     *\n     * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n     * property are iterated like arrays. To avoid this behavior use `_.forIn`\n     * or `_.forOwn` for object iteration.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @alias each\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n     * @returns {Array|Object} Returns `collection`.\n     * @see _.forEachRight\n     * @example\n     *\n     * _.forEach([1, 2], function(value) {\n     *   console.log(value);\n     * });\n     * // => Logs `1` then `2`.\n     *\n     * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n     *   console.log(key);\n     * });\n     * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n     */\n    function forEach(collection, iteratee) {\n      var func = isArray(collection) ? arrayEach : baseEach;\n      return func(collection, getIteratee(iteratee, 3));\n    }\n\n    /**\n     * This method is like `_.forEach` except that it iterates over elements of\n     * `collection` from right to left.\n     *\n     * @static\n     * @memberOf _\n     * @since 2.0.0\n     * @alias eachRight\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n     * @returns {Array|Object} Returns `collection`.\n     * @see _.forEach\n     * @example\n     *\n     * _.forEachRight([1, 2], function(value) {\n     *   console.log(value);\n     * });\n     * // => Logs `2` then `1`.\n     */\n    function forEachRight(collection, iteratee) {\n      var func = isArray(collection) ? arrayEachRight : baseEachRight;\n      return func(collection, getIteratee(iteratee, 3));\n    }\n\n    /**\n     * Creates an object composed of keys generated from the results of running\n     * each element of `collection` thru `iteratee`. The order of grouped values\n     * is determined by the order they occur in `collection`. The corresponding\n     * value of each key is an array of elements responsible for generating the\n     * key. The iteratee is invoked with one argument: (value).\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n     * @returns {Object} Returns the composed aggregate object.\n     * @example\n     *\n     * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n     * // => { '4': [4.2], '6': [6.1, 6.3] }\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.groupBy(['one', 'two', 'three'], 'length');\n     * // => { '3': ['one', 'two'], '5': ['three'] }\n     */\n    var groupBy = createAggregator(function(result, value, key) {\n      if (hasOwnProperty.call(result, key)) {\n        result[key].push(value);\n      } else {\n        baseAssignValue(result, key, [value]);\n      }\n    });\n\n    /**\n     * Checks if `value` is in `collection`. If `collection` is a string, it's\n     * checked for a substring of `value`, otherwise\n     * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n     * is used for equality comparisons. If `fromIndex` is negative, it's used as\n     * the offset from the end of `collection`.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Collection\n     * @param {Array|Object|string} collection The collection to inspect.\n     * @param {*} value The value to search for.\n     * @param {number} [fromIndex=0] The index to search from.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n     * @returns {boolean} Returns `true` if `value` is found, else `false`.\n     * @example\n     *\n     * _.includes([1, 2, 3], 1);\n     * // => true\n     *\n     * _.includes([1, 2, 3], 1, 2);\n     * // => false\n     *\n     * _.includes({ 'a': 1, 'b': 2 }, 1);\n     * // => true\n     *\n     * _.includes('abcd', 'bc');\n     * // => true\n     */\n    function includes(collection, value, fromIndex, guard) {\n      collection = isArrayLike(collection) ? collection : values(collection);\n      fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0;\n\n      var length = collection.length;\n      if (fromIndex < 0) {\n        fromIndex = nativeMax(length + fromIndex, 0);\n      }\n      return isString(collection)\n        ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1)\n        : (!!length && baseIndexOf(collection, value, fromIndex) > -1);\n    }\n\n    /**\n     * Invokes the method at `path` of each element in `collection`, returning\n     * an array of the results of each invoked method. Any additional arguments\n     * are provided to each invoked method. If `path` is a function, it's invoked\n     * for, and `this` bound to, each element in `collection`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Array|Function|string} path The path of the method to invoke or\n     *  the function invoked per iteration.\n     * @param {...*} [args] The arguments to invoke each method with.\n     * @returns {Array} Returns the array of results.\n     * @example\n     *\n     * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort');\n     * // => [[1, 5, 7], [1, 2, 3]]\n     *\n     * _.invokeMap([123, 456], String.prototype.split, '');\n     * // => [['1', '2', '3'], ['4', '5', '6']]\n     */\n    var invokeMap = baseRest(function(collection, path, args) {\n      var index = -1,\n          isFunc = typeof path == 'function',\n          result = isArrayLike(collection) ? Array(collection.length) : [];\n\n      baseEach(collection, function(value) {\n        result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args);\n      });\n      return result;\n    });\n\n    /**\n     * Creates an object composed of keys generated from the results of running\n     * each element of `collection` thru `iteratee`. The corresponding value of\n     * each key is the last element responsible for generating the key. The\n     * iteratee is invoked with one argument: (value).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n     * @returns {Object} Returns the composed aggregate object.\n     * @example\n     *\n     * var array = [\n     *   { 'dir': 'left', 'code': 97 },\n     *   { 'dir': 'right', 'code': 100 }\n     * ];\n     *\n     * _.keyBy(array, function(o) {\n     *   return String.fromCharCode(o.code);\n     * });\n     * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }\n     *\n     * _.keyBy(array, 'dir');\n     * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }\n     */\n    var keyBy = createAggregator(function(result, value, key) {\n      baseAssignValue(result, key, value);\n    });\n\n    /**\n     * Creates an array of values by running each element in `collection` thru\n     * `iteratee`. The iteratee is invoked with three arguments:\n     * (value, index|key, collection).\n     *\n     * Many lodash methods are guarded to work as iteratees for methods like\n     * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n     *\n     * The guarded methods are:\n     * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n     * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n     * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n     * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n     * @returns {Array} Returns the new mapped array.\n     * @example\n     *\n     * function square(n) {\n     *   return n * n;\n     * }\n     *\n     * _.map([4, 8], square);\n     * // => [16, 64]\n     *\n     * _.map({ 'a': 4, 'b': 8 }, square);\n     * // => [16, 64] (iteration order is not guaranteed)\n     *\n     * var users = [\n     *   { 'user': 'barney' },\n     *   { 'user': 'fred' }\n     * ];\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.map(users, 'user');\n     * // => ['barney', 'fred']\n     */\n    function map(collection, iteratee) {\n      var func = isArray(collection) ? arrayMap : baseMap;\n      return func(collection, getIteratee(iteratee, 3));\n    }\n\n    /**\n     * This method is like `_.sortBy` except that it allows specifying the sort\n     * orders of the iteratees to sort by. If `orders` is unspecified, all values\n     * are sorted in ascending order. Otherwise, specify an order of \"desc\" for\n     * descending or \"asc\" for ascending sort order of corresponding values.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]]\n     *  The iteratees to sort by.\n     * @param {string[]} [orders] The sort orders of `iteratees`.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n     * @returns {Array} Returns the new sorted array.\n     * @example\n     *\n     * var users = [\n     *   { 'user': 'fred',   'age': 48 },\n     *   { 'user': 'barney', 'age': 34 },\n     *   { 'user': 'fred',   'age': 40 },\n     *   { 'user': 'barney', 'age': 36 }\n     * ];\n     *\n     * // Sort by `user` in ascending order and by `age` in descending order.\n     * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);\n     * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\n     */\n    function orderBy(collection, iteratees, orders, guard) {\n      if (collection == null) {\n        return [];\n      }\n      if (!isArray(iteratees)) {\n        iteratees = iteratees == null ? [] : [iteratees];\n      }\n      orders = guard ? undefined : orders;\n      if (!isArray(orders)) {\n        orders = orders == null ? [] : [orders];\n      }\n      return baseOrderBy(collection, iteratees, orders);\n    }\n\n    /**\n     * Creates an array of elements split into two groups, the first of which\n     * contains elements `predicate` returns truthy for, the second of which\n     * contains elements `predicate` returns falsey for. The predicate is\n     * invoked with one argument: (value).\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n     * @returns {Array} Returns the array of grouped elements.\n     * @example\n     *\n     * var users = [\n     *   { 'user': 'barney',  'age': 36, 'active': false },\n     *   { 'user': 'fred',    'age': 40, 'active': true },\n     *   { 'user': 'pebbles', 'age': 1,  'active': false }\n     * ];\n     *\n     * _.partition(users, function(o) { return o.active; });\n     * // => objects for [['fred'], ['barney', 'pebbles']]\n     *\n     * // The `_.matches` iteratee shorthand.\n     * _.partition(users, { 'age': 1, 'active': false });\n     * // => objects for [['pebbles'], ['barney', 'fred']]\n     *\n     * // The `_.matchesProperty` iteratee shorthand.\n     * _.partition(users, ['active', false]);\n     * // => objects for [['barney', 'pebbles'], ['fred']]\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.partition(users, 'active');\n     * // => objects for [['fred'], ['barney', 'pebbles']]\n     */\n    var partition = createAggregator(function(result, value, key) {\n      result[key ? 0 : 1].push(value);\n    }, function() { return [[], []]; });\n\n    /**\n     * Reduces `collection` to a value which is the accumulated result of running\n     * each element in `collection` thru `iteratee`, where each successive\n     * invocation is supplied the return value of the previous. If `accumulator`\n     * is not given, the first element of `collection` is used as the initial\n     * value. The iteratee is invoked with four arguments:\n     * (accumulator, value, index|key, collection).\n     *\n     * Many lodash methods are guarded to work as iteratees for methods like\n     * `_.reduce`, `_.reduceRight`, and `_.transform`.\n     *\n     * The guarded methods are:\n     * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,\n     * and `sortBy`\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n     * @param {*} [accumulator] The initial value.\n     * @returns {*} Returns the accumulated value.\n     * @see _.reduceRight\n     * @example\n     *\n     * _.reduce([1, 2], function(sum, n) {\n     *   return sum + n;\n     * }, 0);\n     * // => 3\n     *\n     * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n     *   (result[value] || (result[value] = [])).push(key);\n     *   return result;\n     * }, {});\n     * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)\n     */\n    function reduce(collection, iteratee, accumulator) {\n      var func = isArray(collection) ? arrayReduce : baseReduce,\n          initAccum = arguments.length < 3;\n\n      return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach);\n    }\n\n    /**\n     * This method is like `_.reduce` except that it iterates over elements of\n     * `collection` from right to left.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n     * @param {*} [accumulator] The initial value.\n     * @returns {*} Returns the accumulated value.\n     * @see _.reduce\n     * @example\n     *\n     * var array = [[0, 1], [2, 3], [4, 5]];\n     *\n     * _.reduceRight(array, function(flattened, other) {\n     *   return flattened.concat(other);\n     * }, []);\n     * // => [4, 5, 2, 3, 0, 1]\n     */\n    function reduceRight(collection, iteratee, accumulator) {\n      var func = isArray(collection) ? arrayReduceRight : baseReduce,\n          initAccum = arguments.length < 3;\n\n      return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight);\n    }\n\n    /**\n     * The opposite of `_.filter`; this method returns the elements of `collection`\n     * that `predicate` does **not** return truthy for.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n     * @returns {Array} Returns the new filtered array.\n     * @see _.filter\n     * @example\n     *\n     * var users = [\n     *   { 'user': 'barney', 'age': 36, 'active': false },\n     *   { 'user': 'fred',   'age': 40, 'active': true }\n     * ];\n     *\n     * _.reject(users, function(o) { return !o.active; });\n     * // => objects for ['fred']\n     *\n     * // The `_.matches` iteratee shorthand.\n     * _.reject(users, { 'age': 40, 'active': true });\n     * // => objects for ['barney']\n     *\n     * // The `_.matchesProperty` iteratee shorthand.\n     * _.reject(users, ['active', false]);\n     * // => objects for ['fred']\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.reject(users, 'active');\n     * // => objects for ['barney']\n     */\n    function reject(collection, predicate) {\n      var func = isArray(collection) ? arrayFilter : baseFilter;\n      return func(collection, negate(getIteratee(predicate, 3)));\n    }\n\n    /**\n     * Gets a random element from `collection`.\n     *\n     * @static\n     * @memberOf _\n     * @since 2.0.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to sample.\n     * @returns {*} Returns the random element.\n     * @example\n     *\n     * _.sample([1, 2, 3, 4]);\n     * // => 2\n     */\n    function sample(collection) {\n      var func = isArray(collection) ? arraySample : baseSample;\n      return func(collection);\n    }\n\n    /**\n     * Gets `n` random elements at unique keys from `collection` up to the\n     * size of `collection`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to sample.\n     * @param {number} [n=1] The number of elements to sample.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {Array} Returns the random elements.\n     * @example\n     *\n     * _.sampleSize([1, 2, 3], 2);\n     * // => [3, 1]\n     *\n     * _.sampleSize([1, 2, 3], 4);\n     * // => [2, 3, 1]\n     */\n    function sampleSize(collection, n, guard) {\n      if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) {\n        n = 1;\n      } else {\n        n = toInteger(n);\n      }\n      var func = isArray(collection) ? arraySampleSize : baseSampleSize;\n      return func(collection, n);\n    }\n\n    /**\n     * Creates an array of shuffled values, using a version of the\n     * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to shuffle.\n     * @returns {Array} Returns the new shuffled array.\n     * @example\n     *\n     * _.shuffle([1, 2, 3, 4]);\n     * // => [4, 1, 3, 2]\n     */\n    function shuffle(collection) {\n      var func = isArray(collection) ? arrayShuffle : baseShuffle;\n      return func(collection);\n    }\n\n    /**\n     * Gets the size of `collection` by returning its length for array-like\n     * values or the number of own enumerable string keyed properties for objects.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Collection\n     * @param {Array|Object|string} collection The collection to inspect.\n     * @returns {number} Returns the collection size.\n     * @example\n     *\n     * _.size([1, 2, 3]);\n     * // => 3\n     *\n     * _.size({ 'a': 1, 'b': 2 });\n     * // => 2\n     *\n     * _.size('pebbles');\n     * // => 7\n     */\n    function size(collection) {\n      if (collection == null) {\n        return 0;\n      }\n      if (isArrayLike(collection)) {\n        return isString(collection) ? stringSize(collection) : collection.length;\n      }\n      var tag = getTag(collection);\n      if (tag == mapTag || tag == setTag) {\n        return collection.size;\n      }\n      return baseKeys(collection).length;\n    }\n\n    /**\n     * Checks if `predicate` returns truthy for **any** element of `collection`.\n     * Iteration is stopped once `predicate` returns truthy. The predicate is\n     * invoked with three arguments: (value, index|key, collection).\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {boolean} Returns `true` if any element passes the predicate check,\n     *  else `false`.\n     * @example\n     *\n     * _.some([null, 0, 'yes', false], Boolean);\n     * // => true\n     *\n     * var users = [\n     *   { 'user': 'barney', 'active': true },\n     *   { 'user': 'fred',   'active': false }\n     * ];\n     *\n     * // The `_.matches` iteratee shorthand.\n     * _.some(users, { 'user': 'barney', 'active': false });\n     * // => false\n     *\n     * // The `_.matchesProperty` iteratee shorthand.\n     * _.some(users, ['active', false]);\n     * // => true\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.some(users, 'active');\n     * // => true\n     */\n    function some(collection, predicate, guard) {\n      var func = isArray(collection) ? arraySome : baseSome;\n      if (guard && isIterateeCall(collection, predicate, guard)) {\n        predicate = undefined;\n      }\n      return func(collection, getIteratee(predicate, 3));\n    }\n\n    /**\n     * Creates an array of elements, sorted in ascending order by the results of\n     * running each element in a collection thru each iteratee. This method\n     * performs a stable sort, that is, it preserves the original sort order of\n     * equal elements. The iteratees are invoked with one argument: (value).\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {...(Function|Function[])} [iteratees=[_.identity]]\n     *  The iteratees to sort by.\n     * @returns {Array} Returns the new sorted array.\n     * @example\n     *\n     * var users = [\n     *   { 'user': 'fred',   'age': 48 },\n     *   { 'user': 'barney', 'age': 36 },\n     *   { 'user': 'fred',   'age': 30 },\n     *   { 'user': 'barney', 'age': 34 }\n     * ];\n     *\n     * _.sortBy(users, [function(o) { return o.user; }]);\n     * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n     *\n     * _.sortBy(users, ['user', 'age']);\n     * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n     */\n    var sortBy = baseRest(function(collection, iteratees) {\n      if (collection == null) {\n        return [];\n      }\n      var length = iteratees.length;\n      if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n        iteratees = [];\n      } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n        iteratees = [iteratees[0]];\n      }\n      return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n    });\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Gets the timestamp of the number of milliseconds that have elapsed since\n     * the Unix epoch (1 January 1970 00:00:00 UTC).\n     *\n     * @static\n     * @memberOf _\n     * @since 2.4.0\n     * @category Date\n     * @returns {number} Returns the timestamp.\n     * @example\n     *\n     * _.defer(function(stamp) {\n     *   console.log(_.now() - stamp);\n     * }, _.now());\n     * // => Logs the number of milliseconds it took for the deferred invocation.\n     */\n    var now = ctxNow || function() {\n      return root.Date.now();\n    };\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * The opposite of `_.before`; this method creates a function that invokes\n     * `func` once it's called `n` or more times.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Function\n     * @param {number} n The number of calls before `func` is invoked.\n     * @param {Function} func The function to restrict.\n     * @returns {Function} Returns the new restricted function.\n     * @example\n     *\n     * var saves = ['profile', 'settings'];\n     *\n     * var done = _.after(saves.length, function() {\n     *   console.log('done saving!');\n     * });\n     *\n     * _.forEach(saves, function(type) {\n     *   asyncSave({ 'type': type, 'complete': done });\n     * });\n     * // => Logs 'done saving!' after the two async saves have completed.\n     */\n    function after(n, func) {\n      if (typeof func != 'function') {\n        throw new TypeError(FUNC_ERROR_TEXT);\n      }\n      n = toInteger(n);\n      return function() {\n        if (--n < 1) {\n          return func.apply(this, arguments);\n        }\n      };\n    }\n\n    /**\n     * Creates a function that invokes `func`, with up to `n` arguments,\n     * ignoring any additional arguments.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Function\n     * @param {Function} func The function to cap arguments for.\n     * @param {number} [n=func.length] The arity cap.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {Function} Returns the new capped function.\n     * @example\n     *\n     * _.map(['6', '8', '10'], _.ary(parseInt, 1));\n     * // => [6, 8, 10]\n     */\n    function ary(func, n, guard) {\n      n = guard ? undefined : n;\n      n = (func && n == null) ? func.length : n;\n      return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n);\n    }\n\n    /**\n     * Creates a function that invokes `func`, with the `this` binding and arguments\n     * of the created function, while it's called less than `n` times. Subsequent\n     * calls to the created function return the result of the last `func` invocation.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Function\n     * @param {number} n The number of calls at which `func` is no longer invoked.\n     * @param {Function} func The function to restrict.\n     * @returns {Function} Returns the new restricted function.\n     * @example\n     *\n     * jQuery(element).on('click', _.before(5, addContactToList));\n     * // => Allows adding up to 4 contacts to the list.\n     */\n    function before(n, func) {\n      var result;\n      if (typeof func != 'function') {\n        throw new TypeError(FUNC_ERROR_TEXT);\n      }\n      n = toInteger(n);\n      return function() {\n        if (--n > 0) {\n          result = func.apply(this, arguments);\n        }\n        if (n <= 1) {\n          func = undefined;\n        }\n        return result;\n      };\n    }\n\n    /**\n     * Creates a function that invokes `func` with the `this` binding of `thisArg`\n     * and `partials` prepended to the arguments it receives.\n     *\n     * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,\n     * may be used as a placeholder for partially applied arguments.\n     *\n     * **Note:** Unlike native `Function#bind`, this method doesn't set the \"length\"\n     * property of bound functions.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Function\n     * @param {Function} func The function to bind.\n     * @param {*} thisArg The `this` binding of `func`.\n     * @param {...*} [partials] The arguments to be partially applied.\n     * @returns {Function} Returns the new bound function.\n     * @example\n     *\n     * function greet(greeting, punctuation) {\n     *   return greeting + ' ' + this.user + punctuation;\n     * }\n     *\n     * var object = { 'user': 'fred' };\n     *\n     * var bound = _.bind(greet, object, 'hi');\n     * bound('!');\n     * // => 'hi fred!'\n     *\n     * // Bound with placeholders.\n     * var bound = _.bind(greet, object, _, '!');\n     * bound('hi');\n     * // => 'hi fred!'\n     */\n    var bind = baseRest(function(func, thisArg, partials) {\n      var bitmask = WRAP_BIND_FLAG;\n      if (partials.length) {\n        var holders = replaceHolders(partials, getHolder(bind));\n        bitmask |= WRAP_PARTIAL_FLAG;\n      }\n      return createWrap(func, bitmask, thisArg, partials, holders);\n    });\n\n    /**\n     * Creates a function that invokes the method at `object[key]` with `partials`\n     * prepended to the arguments it receives.\n     *\n     * This method differs from `_.bind` by allowing bound functions to reference\n     * methods that may be redefined or don't yet exist. See\n     * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern)\n     * for more details.\n     *\n     * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic\n     * builds, may be used as a placeholder for partially applied arguments.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.10.0\n     * @category Function\n     * @param {Object} object The object to invoke the method on.\n     * @param {string} key The key of the method.\n     * @param {...*} [partials] The arguments to be partially applied.\n     * @returns {Function} Returns the new bound function.\n     * @example\n     *\n     * var object = {\n     *   'user': 'fred',\n     *   'greet': function(greeting, punctuation) {\n     *     return greeting + ' ' + this.user + punctuation;\n     *   }\n     * };\n     *\n     * var bound = _.bindKey(object, 'greet', 'hi');\n     * bound('!');\n     * // => 'hi fred!'\n     *\n     * object.greet = function(greeting, punctuation) {\n     *   return greeting + 'ya ' + this.user + punctuation;\n     * };\n     *\n     * bound('!');\n     * // => 'hiya fred!'\n     *\n     * // Bound with placeholders.\n     * var bound = _.bindKey(object, 'greet', _, '!');\n     * bound('hi');\n     * // => 'hiya fred!'\n     */\n    var bindKey = baseRest(function(object, key, partials) {\n      var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG;\n      if (partials.length) {\n        var holders = replaceHolders(partials, getHolder(bindKey));\n        bitmask |= WRAP_PARTIAL_FLAG;\n      }\n      return createWrap(key, bitmask, object, partials, holders);\n    });\n\n    /**\n     * Creates a function that accepts arguments of `func` and either invokes\n     * `func` returning its result, if at least `arity` number of arguments have\n     * been provided, or returns a function that accepts the remaining `func`\n     * arguments, and so on. The arity of `func` may be specified if `func.length`\n     * is not sufficient.\n     *\n     * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,\n     * may be used as a placeholder for provided arguments.\n     *\n     * **Note:** This method doesn't set the \"length\" property of curried functions.\n     *\n     * @static\n     * @memberOf _\n     * @since 2.0.0\n     * @category Function\n     * @param {Function} func The function to curry.\n     * @param {number} [arity=func.length] The arity of `func`.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {Function} Returns the new curried function.\n     * @example\n     *\n     * var abc = function(a, b, c) {\n     *   return [a, b, c];\n     * };\n     *\n     * var curried = _.curry(abc);\n     *\n     * curried(1)(2)(3);\n     * // => [1, 2, 3]\n     *\n     * curried(1, 2)(3);\n     * // => [1, 2, 3]\n     *\n     * curried(1, 2, 3);\n     * // => [1, 2, 3]\n     *\n     * // Curried with placeholders.\n     * curried(1)(_, 3)(2);\n     * // => [1, 2, 3]\n     */\n    function curry(func, arity, guard) {\n      arity = guard ? undefined : arity;\n      var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n      result.placeholder = curry.placeholder;\n      return result;\n    }\n\n    /**\n     * This method is like `_.curry` except that arguments are applied to `func`\n     * in the manner of `_.partialRight` instead of `_.partial`.\n     *\n     * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic\n     * builds, may be used as a placeholder for provided arguments.\n     *\n     * **Note:** This method doesn't set the \"length\" property of curried functions.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Function\n     * @param {Function} func The function to curry.\n     * @param {number} [arity=func.length] The arity of `func`.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {Function} Returns the new curried function.\n     * @example\n     *\n     * var abc = function(a, b, c) {\n     *   return [a, b, c];\n     * };\n     *\n     * var curried = _.curryRight(abc);\n     *\n     * curried(3)(2)(1);\n     * // => [1, 2, 3]\n     *\n     * curried(2, 3)(1);\n     * // => [1, 2, 3]\n     *\n     * curried(1, 2, 3);\n     * // => [1, 2, 3]\n     *\n     * // Curried with placeholders.\n     * curried(3)(1, _)(2);\n     * // => [1, 2, 3]\n     */\n    function curryRight(func, arity, guard) {\n      arity = guard ? undefined : arity;\n      var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n      result.placeholder = curryRight.placeholder;\n      return result;\n    }\n\n    /**\n     * Creates a debounced function that delays invoking `func` until after `wait`\n     * milliseconds have elapsed since the last time the debounced function was\n     * invoked. The debounced function comes with a `cancel` method to cancel\n     * delayed `func` invocations and a `flush` method to immediately invoke them.\n     * Provide `options` to indicate whether `func` should be invoked on the\n     * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n     * with the last arguments provided to the debounced function. Subsequent\n     * calls to the debounced function return the result of the last `func`\n     * invocation.\n     *\n     * **Note:** If `leading` and `trailing` options are `true`, `func` is\n     * invoked on the trailing edge of the timeout only if the debounced function\n     * is invoked more than once during the `wait` timeout.\n     *\n     * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n     * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n     *\n     * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n     * for details over the differences between `_.debounce` and `_.throttle`.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Function\n     * @param {Function} func The function to debounce.\n     * @param {number} [wait=0] The number of milliseconds to delay.\n     * @param {Object} [options={}] The options object.\n     * @param {boolean} [options.leading=false]\n     *  Specify invoking on the leading edge of the timeout.\n     * @param {number} [options.maxWait]\n     *  The maximum time `func` is allowed to be delayed before it's invoked.\n     * @param {boolean} [options.trailing=true]\n     *  Specify invoking on the trailing edge of the timeout.\n     * @returns {Function} Returns the new debounced function.\n     * @example\n     *\n     * // Avoid costly calculations while the window size is in flux.\n     * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n     *\n     * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n     * jQuery(element).on('click', _.debounce(sendMail, 300, {\n     *   'leading': true,\n     *   'trailing': false\n     * }));\n     *\n     * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n     * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n     * var source = new EventSource('/stream');\n     * jQuery(source).on('message', debounced);\n     *\n     * // Cancel the trailing debounced invocation.\n     * jQuery(window).on('popstate', debounced.cancel);\n     */\n    function debounce(func, wait, options) {\n      var lastArgs,\n          lastThis,\n          maxWait,\n          result,\n          timerId,\n          lastCallTime,\n          lastInvokeTime = 0,\n          leading = false,\n          maxing = false,\n          trailing = true;\n\n      if (typeof func != 'function') {\n        throw new TypeError(FUNC_ERROR_TEXT);\n      }\n      wait = toNumber(wait) || 0;\n      if (isObject(options)) {\n        leading = !!options.leading;\n        maxing = 'maxWait' in options;\n        maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n        trailing = 'trailing' in options ? !!options.trailing : trailing;\n      }\n\n      function invokeFunc(time) {\n        var args = lastArgs,\n            thisArg = lastThis;\n\n        lastArgs = lastThis = undefined;\n        lastInvokeTime = time;\n        result = func.apply(thisArg, args);\n        return result;\n      }\n\n      function leadingEdge(time) {\n        // Reset any `maxWait` timer.\n        lastInvokeTime = time;\n        // Start the timer for the trailing edge.\n        timerId = setTimeout(timerExpired, wait);\n        // Invoke the leading edge.\n        return leading ? invokeFunc(time) : result;\n      }\n\n      function remainingWait(time) {\n        var timeSinceLastCall = time - lastCallTime,\n            timeSinceLastInvoke = time - lastInvokeTime,\n            timeWaiting = wait - timeSinceLastCall;\n\n        return maxing\n          ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n          : timeWaiting;\n      }\n\n      function shouldInvoke(time) {\n        var timeSinceLastCall = time - lastCallTime,\n            timeSinceLastInvoke = time - lastInvokeTime;\n\n        // Either this is the first call, activity has stopped and we're at the\n        // trailing edge, the system time has gone backwards and we're treating\n        // it as the trailing edge, or we've hit the `maxWait` limit.\n        return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n          (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n      }\n\n      function timerExpired() {\n        var time = now();\n        if (shouldInvoke(time)) {\n          return trailingEdge(time);\n        }\n        // Restart the timer.\n        timerId = setTimeout(timerExpired, remainingWait(time));\n      }\n\n      function trailingEdge(time) {\n        timerId = undefined;\n\n        // Only invoke if we have `lastArgs` which means `func` has been\n        // debounced at least once.\n        if (trailing && lastArgs) {\n          return invokeFunc(time);\n        }\n        lastArgs = lastThis = undefined;\n        return result;\n      }\n\n      function cancel() {\n        if (timerId !== undefined) {\n          clearTimeout(timerId);\n        }\n        lastInvokeTime = 0;\n        lastArgs = lastCallTime = lastThis = timerId = undefined;\n      }\n\n      function flush() {\n        return timerId === undefined ? result : trailingEdge(now());\n      }\n\n      function debounced() {\n        var time = now(),\n            isInvoking = shouldInvoke(time);\n\n        lastArgs = arguments;\n        lastThis = this;\n        lastCallTime = time;\n\n        if (isInvoking) {\n          if (timerId === undefined) {\n            return leadingEdge(lastCallTime);\n          }\n          if (maxing) {\n            // Handle invocations in a tight loop.\n            clearTimeout(timerId);\n            timerId = setTimeout(timerExpired, wait);\n            return invokeFunc(lastCallTime);\n          }\n        }\n        if (timerId === undefined) {\n          timerId = setTimeout(timerExpired, wait);\n        }\n        return result;\n      }\n      debounced.cancel = cancel;\n      debounced.flush = flush;\n      return debounced;\n    }\n\n    /**\n     * Defers invoking the `func` until the current call stack has cleared. Any\n     * additional arguments are provided to `func` when it's invoked.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Function\n     * @param {Function} func The function to defer.\n     * @param {...*} [args] The arguments to invoke `func` with.\n     * @returns {number} Returns the timer id.\n     * @example\n     *\n     * _.defer(function(text) {\n     *   console.log(text);\n     * }, 'deferred');\n     * // => Logs 'deferred' after one millisecond.\n     */\n    var defer = baseRest(function(func, args) {\n      return baseDelay(func, 1, args);\n    });\n\n    /**\n     * Invokes `func` after `wait` milliseconds. Any additional arguments are\n     * provided to `func` when it's invoked.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Function\n     * @param {Function} func The function to delay.\n     * @param {number} wait The number of milliseconds to delay invocation.\n     * @param {...*} [args] The arguments to invoke `func` with.\n     * @returns {number} Returns the timer id.\n     * @example\n     *\n     * _.delay(function(text) {\n     *   console.log(text);\n     * }, 1000, 'later');\n     * // => Logs 'later' after one second.\n     */\n    var delay = baseRest(function(func, wait, args) {\n      return baseDelay(func, toNumber(wait) || 0, args);\n    });\n\n    /**\n     * Creates a function that invokes `func` with arguments reversed.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Function\n     * @param {Function} func The function to flip arguments for.\n     * @returns {Function} Returns the new flipped function.\n     * @example\n     *\n     * var flipped = _.flip(function() {\n     *   return _.toArray(arguments);\n     * });\n     *\n     * flipped('a', 'b', 'c', 'd');\n     * // => ['d', 'c', 'b', 'a']\n     */\n    function flip(func) {\n      return createWrap(func, WRAP_FLIP_FLAG);\n    }\n\n    /**\n     * Creates a function that memoizes the result of `func`. If `resolver` is\n     * provided, it determines the cache key for storing the result based on the\n     * arguments provided to the memoized function. By default, the first argument\n     * provided to the memoized function is used as the map cache key. The `func`\n     * is invoked with the `this` binding of the memoized function.\n     *\n     * **Note:** The cache is exposed as the `cache` property on the memoized\n     * function. Its creation may be customized by replacing the `_.memoize.Cache`\n     * constructor with one whose instances implement the\n     * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n     * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Function\n     * @param {Function} func The function to have its output memoized.\n     * @param {Function} [resolver] The function to resolve the cache key.\n     * @returns {Function} Returns the new memoized function.\n     * @example\n     *\n     * var object = { 'a': 1, 'b': 2 };\n     * var other = { 'c': 3, 'd': 4 };\n     *\n     * var values = _.memoize(_.values);\n     * values(object);\n     * // => [1, 2]\n     *\n     * values(other);\n     * // => [3, 4]\n     *\n     * object.a = 2;\n     * values(object);\n     * // => [1, 2]\n     *\n     * // Modify the result cache.\n     * values.cache.set(object, ['a', 'b']);\n     * values(object);\n     * // => ['a', 'b']\n     *\n     * // Replace `_.memoize.Cache`.\n     * _.memoize.Cache = WeakMap;\n     */\n    function memoize(func, resolver) {\n      if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n        throw new TypeError(FUNC_ERROR_TEXT);\n      }\n      var memoized = function() {\n        var args = arguments,\n            key = resolver ? resolver.apply(this, args) : args[0],\n            cache = memoized.cache;\n\n        if (cache.has(key)) {\n          return cache.get(key);\n        }\n        var result = func.apply(this, args);\n        memoized.cache = cache.set(key, result) || cache;\n        return result;\n      };\n      memoized.cache = new (memoize.Cache || MapCache);\n      return memoized;\n    }\n\n    // Expose `MapCache`.\n    memoize.Cache = MapCache;\n\n    /**\n     * Creates a function that negates the result of the predicate `func`. The\n     * `func` predicate is invoked with the `this` binding and arguments of the\n     * created function.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Function\n     * @param {Function} predicate The predicate to negate.\n     * @returns {Function} Returns the new negated function.\n     * @example\n     *\n     * function isEven(n) {\n     *   return n % 2 == 0;\n     * }\n     *\n     * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));\n     * // => [1, 3, 5]\n     */\n    function negate(predicate) {\n      if (typeof predicate != 'function') {\n        throw new TypeError(FUNC_ERROR_TEXT);\n      }\n      return function() {\n        var args = arguments;\n        switch (args.length) {\n          case 0: return !predicate.call(this);\n          case 1: return !predicate.call(this, args[0]);\n          case 2: return !predicate.call(this, args[0], args[1]);\n          case 3: return !predicate.call(this, args[0], args[1], args[2]);\n        }\n        return !predicate.apply(this, args);\n      };\n    }\n\n    /**\n     * Creates a function that is restricted to invoking `func` once. Repeat calls\n     * to the function return the value of the first invocation. The `func` is\n     * invoked with the `this` binding and arguments of the created function.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Function\n     * @param {Function} func The function to restrict.\n     * @returns {Function} Returns the new restricted function.\n     * @example\n     *\n     * var initialize = _.once(createApplication);\n     * initialize();\n     * initialize();\n     * // => `createApplication` is invoked once\n     */\n    function once(func) {\n      return before(2, func);\n    }\n\n    /**\n     * Creates a function that invokes `func` with its arguments transformed.\n     *\n     * @static\n     * @since 4.0.0\n     * @memberOf _\n     * @category Function\n     * @param {Function} func The function to wrap.\n     * @param {...(Function|Function[])} [transforms=[_.identity]]\n     *  The argument transforms.\n     * @returns {Function} Returns the new function.\n     * @example\n     *\n     * function doubled(n) {\n     *   return n * 2;\n     * }\n     *\n     * function square(n) {\n     *   return n * n;\n     * }\n     *\n     * var func = _.overArgs(function(x, y) {\n     *   return [x, y];\n     * }, [square, doubled]);\n     *\n     * func(9, 3);\n     * // => [81, 6]\n     *\n     * func(10, 5);\n     * // => [100, 10]\n     */\n    var overArgs = castRest(function(func, transforms) {\n      transforms = (transforms.length == 1 && isArray(transforms[0]))\n        ? arrayMap(transforms[0], baseUnary(getIteratee()))\n        : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee()));\n\n      var funcsLength = transforms.length;\n      return baseRest(function(args) {\n        var index = -1,\n            length = nativeMin(args.length, funcsLength);\n\n        while (++index < length) {\n          args[index] = transforms[index].call(this, args[index]);\n        }\n        return apply(func, this, args);\n      });\n    });\n\n    /**\n     * Creates a function that invokes `func` with `partials` prepended to the\n     * arguments it receives. This method is like `_.bind` except it does **not**\n     * alter the `this` binding.\n     *\n     * The `_.partial.placeholder` value, which defaults to `_` in monolithic\n     * builds, may be used as a placeholder for partially applied arguments.\n     *\n     * **Note:** This method doesn't set the \"length\" property of partially\n     * applied functions.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.2.0\n     * @category Function\n     * @param {Function} func The function to partially apply arguments to.\n     * @param {...*} [partials] The arguments to be partially applied.\n     * @returns {Function} Returns the new partially applied function.\n     * @example\n     *\n     * function greet(greeting, name) {\n     *   return greeting + ' ' + name;\n     * }\n     *\n     * var sayHelloTo = _.partial(greet, 'hello');\n     * sayHelloTo('fred');\n     * // => 'hello fred'\n     *\n     * // Partially applied with placeholders.\n     * var greetFred = _.partial(greet, _, 'fred');\n     * greetFred('hi');\n     * // => 'hi fred'\n     */\n    var partial = baseRest(function(func, partials) {\n      var holders = replaceHolders(partials, getHolder(partial));\n      return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders);\n    });\n\n    /**\n     * This method is like `_.partial` except that partially applied arguments\n     * are appended to the arguments it receives.\n     *\n     * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic\n     * builds, may be used as a placeholder for partially applied arguments.\n     *\n     * **Note:** This method doesn't set the \"length\" property of partially\n     * applied functions.\n     *\n     * @static\n     * @memberOf _\n     * @since 1.0.0\n     * @category Function\n     * @param {Function} func The function to partially apply arguments to.\n     * @param {...*} [partials] The arguments to be partially applied.\n     * @returns {Function} Returns the new partially applied function.\n     * @example\n     *\n     * function greet(greeting, name) {\n     *   return greeting + ' ' + name;\n     * }\n     *\n     * var greetFred = _.partialRight(greet, 'fred');\n     * greetFred('hi');\n     * // => 'hi fred'\n     *\n     * // Partially applied with placeholders.\n     * var sayHelloTo = _.partialRight(greet, 'hello', _);\n     * sayHelloTo('fred');\n     * // => 'hello fred'\n     */\n    var partialRight = baseRest(function(func, partials) {\n      var holders = replaceHolders(partials, getHolder(partialRight));\n      return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders);\n    });\n\n    /**\n     * Creates a function that invokes `func` with arguments arranged according\n     * to the specified `indexes` where the argument value at the first index is\n     * provided as the first argument, the argument value at the second index is\n     * provided as the second argument, and so on.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Function\n     * @param {Function} func The function to rearrange arguments for.\n     * @param {...(number|number[])} indexes The arranged argument indexes.\n     * @returns {Function} Returns the new function.\n     * @example\n     *\n     * var rearged = _.rearg(function(a, b, c) {\n     *   return [a, b, c];\n     * }, [2, 0, 1]);\n     *\n     * rearged('b', 'c', 'a')\n     * // => ['a', 'b', 'c']\n     */\n    var rearg = flatRest(function(func, indexes) {\n      return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes);\n    });\n\n    /**\n     * Creates a function that invokes `func` with the `this` binding of the\n     * created function and arguments from `start` and beyond provided as\n     * an array.\n     *\n     * **Note:** This method is based on the\n     * [rest parameter](https://mdn.io/rest_parameters).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Function\n     * @param {Function} func The function to apply a rest parameter to.\n     * @param {number} [start=func.length-1] The start position of the rest parameter.\n     * @returns {Function} Returns the new function.\n     * @example\n     *\n     * var say = _.rest(function(what, names) {\n     *   return what + ' ' + _.initial(names).join(', ') +\n     *     (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n     * });\n     *\n     * say('hello', 'fred', 'barney', 'pebbles');\n     * // => 'hello fred, barney, & pebbles'\n     */\n    function rest(func, start) {\n      if (typeof func != 'function') {\n        throw new TypeError(FUNC_ERROR_TEXT);\n      }\n      start = start === undefined ? start : toInteger(start);\n      return baseRest(func, start);\n    }\n\n    /**\n     * Creates a function that invokes `func` with the `this` binding of the\n     * create function and an array of arguments much like\n     * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply).\n     *\n     * **Note:** This method is based on the\n     * [spread operator](https://mdn.io/spread_operator).\n     *\n     * @static\n     * @memberOf _\n     * @since 3.2.0\n     * @category Function\n     * @param {Function} func The function to spread arguments over.\n     * @param {number} [start=0] The start position of the spread.\n     * @returns {Function} Returns the new function.\n     * @example\n     *\n     * var say = _.spread(function(who, what) {\n     *   return who + ' says ' + what;\n     * });\n     *\n     * say(['fred', 'hello']);\n     * // => 'fred says hello'\n     *\n     * var numbers = Promise.all([\n     *   Promise.resolve(40),\n     *   Promise.resolve(36)\n     * ]);\n     *\n     * numbers.then(_.spread(function(x, y) {\n     *   return x + y;\n     * }));\n     * // => a Promise of 76\n     */\n    function spread(func, start) {\n      if (typeof func != 'function') {\n        throw new TypeError(FUNC_ERROR_TEXT);\n      }\n      start = start == null ? 0 : nativeMax(toInteger(start), 0);\n      return baseRest(function(args) {\n        var array = args[start],\n            otherArgs = castSlice(args, 0, start);\n\n        if (array) {\n          arrayPush(otherArgs, array);\n        }\n        return apply(func, this, otherArgs);\n      });\n    }\n\n    /**\n     * Creates a throttled function that only invokes `func` at most once per\n     * every `wait` milliseconds. The throttled function comes with a `cancel`\n     * method to cancel delayed `func` invocations and a `flush` method to\n     * immediately invoke them. Provide `options` to indicate whether `func`\n     * should be invoked on the leading and/or trailing edge of the `wait`\n     * timeout. The `func` is invoked with the last arguments provided to the\n     * throttled function. Subsequent calls to the throttled function return the\n     * result of the last `func` invocation.\n     *\n     * **Note:** If `leading` and `trailing` options are `true`, `func` is\n     * invoked on the trailing edge of the timeout only if the throttled function\n     * is invoked more than once during the `wait` timeout.\n     *\n     * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n     * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n     *\n     * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n     * for details over the differences between `_.throttle` and `_.debounce`.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Function\n     * @param {Function} func The function to throttle.\n     * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n     * @param {Object} [options={}] The options object.\n     * @param {boolean} [options.leading=true]\n     *  Specify invoking on the leading edge of the timeout.\n     * @param {boolean} [options.trailing=true]\n     *  Specify invoking on the trailing edge of the timeout.\n     * @returns {Function} Returns the new throttled function.\n     * @example\n     *\n     * // Avoid excessively updating the position while scrolling.\n     * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n     *\n     * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n     * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n     * jQuery(element).on('click', throttled);\n     *\n     * // Cancel the trailing throttled invocation.\n     * jQuery(window).on('popstate', throttled.cancel);\n     */\n    function throttle(func, wait, options) {\n      var leading = true,\n          trailing = true;\n\n      if (typeof func != 'function') {\n        throw new TypeError(FUNC_ERROR_TEXT);\n      }\n      if (isObject(options)) {\n        leading = 'leading' in options ? !!options.leading : leading;\n        trailing = 'trailing' in options ? !!options.trailing : trailing;\n      }\n      return debounce(func, wait, {\n        'leading': leading,\n        'maxWait': wait,\n        'trailing': trailing\n      });\n    }\n\n    /**\n     * Creates a function that accepts up to one argument, ignoring any\n     * additional arguments.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Function\n     * @param {Function} func The function to cap arguments for.\n     * @returns {Function} Returns the new capped function.\n     * @example\n     *\n     * _.map(['6', '8', '10'], _.unary(parseInt));\n     * // => [6, 8, 10]\n     */\n    function unary(func) {\n      return ary(func, 1);\n    }\n\n    /**\n     * Creates a function that provides `value` to `wrapper` as its first\n     * argument. Any additional arguments provided to the function are appended\n     * to those provided to the `wrapper`. The wrapper is invoked with the `this`\n     * binding of the created function.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Function\n     * @param {*} value The value to wrap.\n     * @param {Function} [wrapper=identity] The wrapper function.\n     * @returns {Function} Returns the new function.\n     * @example\n     *\n     * var p = _.wrap(_.escape, function(func, text) {\n     *   return '<p>' + func(text) + '</p>';\n     * });\n     *\n     * p('fred, barney, & pebbles');\n     * // => '<p>fred, barney, &amp; pebbles</p>'\n     */\n    function wrap(value, wrapper) {\n      return partial(castFunction(wrapper), value);\n    }\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Casts `value` as an array if it's not one.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.4.0\n     * @category Lang\n     * @param {*} value The value to inspect.\n     * @returns {Array} Returns the cast array.\n     * @example\n     *\n     * _.castArray(1);\n     * // => [1]\n     *\n     * _.castArray({ 'a': 1 });\n     * // => [{ 'a': 1 }]\n     *\n     * _.castArray('abc');\n     * // => ['abc']\n     *\n     * _.castArray(null);\n     * // => [null]\n     *\n     * _.castArray(undefined);\n     * // => [undefined]\n     *\n     * _.castArray();\n     * // => []\n     *\n     * var array = [1, 2, 3];\n     * console.log(_.castArray(array) === array);\n     * // => true\n     */\n    function castArray() {\n      if (!arguments.length) {\n        return [];\n      }\n      var value = arguments[0];\n      return isArray(value) ? value : [value];\n    }\n\n    /**\n     * Creates a shallow clone of `value`.\n     *\n     * **Note:** This method is loosely based on the\n     * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n     * and supports cloning arrays, array buffers, booleans, date objects, maps,\n     * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n     * arrays. The own enumerable properties of `arguments` objects are cloned\n     * as plain objects. An empty object is returned for uncloneable values such\n     * as error objects, functions, DOM nodes, and WeakMaps.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Lang\n     * @param {*} value The value to clone.\n     * @returns {*} Returns the cloned value.\n     * @see _.cloneDeep\n     * @example\n     *\n     * var objects = [{ 'a': 1 }, { 'b': 2 }];\n     *\n     * var shallow = _.clone(objects);\n     * console.log(shallow[0] === objects[0]);\n     * // => true\n     */\n    function clone(value) {\n      return baseClone(value, CLONE_SYMBOLS_FLAG);\n    }\n\n    /**\n     * This method is like `_.clone` except that it accepts `customizer` which\n     * is invoked to produce the cloned value. If `customizer` returns `undefined`,\n     * cloning is handled by the method instead. The `customizer` is invoked with\n     * up to four arguments; (value [, index|key, object, stack]).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to clone.\n     * @param {Function} [customizer] The function to customize cloning.\n     * @returns {*} Returns the cloned value.\n     * @see _.cloneDeepWith\n     * @example\n     *\n     * function customizer(value) {\n     *   if (_.isElement(value)) {\n     *     return value.cloneNode(false);\n     *   }\n     * }\n     *\n     * var el = _.cloneWith(document.body, customizer);\n     *\n     * console.log(el === document.body);\n     * // => false\n     * console.log(el.nodeName);\n     * // => 'BODY'\n     * console.log(el.childNodes.length);\n     * // => 0\n     */\n    function cloneWith(value, customizer) {\n      customizer = typeof customizer == 'function' ? customizer : undefined;\n      return baseClone(value, CLONE_SYMBOLS_FLAG, customizer);\n    }\n\n    /**\n     * This method is like `_.clone` except that it recursively clones `value`.\n     *\n     * @static\n     * @memberOf _\n     * @since 1.0.0\n     * @category Lang\n     * @param {*} value The value to recursively clone.\n     * @returns {*} Returns the deep cloned value.\n     * @see _.clone\n     * @example\n     *\n     * var objects = [{ 'a': 1 }, { 'b': 2 }];\n     *\n     * var deep = _.cloneDeep(objects);\n     * console.log(deep[0] === objects[0]);\n     * // => false\n     */\n    function cloneDeep(value) {\n      return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n    }\n\n    /**\n     * This method is like `_.cloneWith` except that it recursively clones `value`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to recursively clone.\n     * @param {Function} [customizer] The function to customize cloning.\n     * @returns {*} Returns the deep cloned value.\n     * @see _.cloneWith\n     * @example\n     *\n     * function customizer(value) {\n     *   if (_.isElement(value)) {\n     *     return value.cloneNode(true);\n     *   }\n     * }\n     *\n     * var el = _.cloneDeepWith(document.body, customizer);\n     *\n     * console.log(el === document.body);\n     * // => false\n     * console.log(el.nodeName);\n     * // => 'BODY'\n     * console.log(el.childNodes.length);\n     * // => 20\n     */\n    function cloneDeepWith(value, customizer) {\n      customizer = typeof customizer == 'function' ? customizer : undefined;\n      return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer);\n    }\n\n    /**\n     * Checks if `object` conforms to `source` by invoking the predicate\n     * properties of `source` with the corresponding property values of `object`.\n     *\n     * **Note:** This method is equivalent to `_.conforms` when `source` is\n     * partially applied.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.14.0\n     * @category Lang\n     * @param {Object} object The object to inspect.\n     * @param {Object} source The object of property predicates to conform to.\n     * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n     * @example\n     *\n     * var object = { 'a': 1, 'b': 2 };\n     *\n     * _.conformsTo(object, { 'b': function(n) { return n > 1; } });\n     * // => true\n     *\n     * _.conformsTo(object, { 'b': function(n) { return n > 2; } });\n     * // => false\n     */\n    function conformsTo(object, source) {\n      return source == null || baseConformsTo(object, source, keys(source));\n    }\n\n    /**\n     * Performs a\n     * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n     * comparison between two values to determine if they are equivalent.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to compare.\n     * @param {*} other The other value to compare.\n     * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n     * @example\n     *\n     * var object = { 'a': 1 };\n     * var other = { 'a': 1 };\n     *\n     * _.eq(object, object);\n     * // => true\n     *\n     * _.eq(object, other);\n     * // => false\n     *\n     * _.eq('a', 'a');\n     * // => true\n     *\n     * _.eq('a', Object('a'));\n     * // => false\n     *\n     * _.eq(NaN, NaN);\n     * // => true\n     */\n    function eq(value, other) {\n      return value === other || (value !== value && other !== other);\n    }\n\n    /**\n     * Checks if `value` is greater than `other`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.9.0\n     * @category Lang\n     * @param {*} value The value to compare.\n     * @param {*} other The other value to compare.\n     * @returns {boolean} Returns `true` if `value` is greater than `other`,\n     *  else `false`.\n     * @see _.lt\n     * @example\n     *\n     * _.gt(3, 1);\n     * // => true\n     *\n     * _.gt(3, 3);\n     * // => false\n     *\n     * _.gt(1, 3);\n     * // => false\n     */\n    var gt = createRelationalOperation(baseGt);\n\n    /**\n     * Checks if `value` is greater than or equal to `other`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.9.0\n     * @category Lang\n     * @param {*} value The value to compare.\n     * @param {*} other The other value to compare.\n     * @returns {boolean} Returns `true` if `value` is greater than or equal to\n     *  `other`, else `false`.\n     * @see _.lte\n     * @example\n     *\n     * _.gte(3, 1);\n     * // => true\n     *\n     * _.gte(3, 3);\n     * // => true\n     *\n     * _.gte(1, 3);\n     * // => false\n     */\n    var gte = createRelationalOperation(function(value, other) {\n      return value >= other;\n    });\n\n    /**\n     * Checks if `value` is likely an `arguments` object.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n     *  else `false`.\n     * @example\n     *\n     * _.isArguments(function() { return arguments; }());\n     * // => true\n     *\n     * _.isArguments([1, 2, 3]);\n     * // => false\n     */\n    var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n      return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n        !propertyIsEnumerable.call(value, 'callee');\n    };\n\n    /**\n     * Checks if `value` is classified as an `Array` object.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n     * @example\n     *\n     * _.isArray([1, 2, 3]);\n     * // => true\n     *\n     * _.isArray(document.body.children);\n     * // => false\n     *\n     * _.isArray('abc');\n     * // => false\n     *\n     * _.isArray(_.noop);\n     * // => false\n     */\n    var isArray = Array.isArray;\n\n    /**\n     * Checks if `value` is classified as an `ArrayBuffer` object.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.3.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n     * @example\n     *\n     * _.isArrayBuffer(new ArrayBuffer(2));\n     * // => true\n     *\n     * _.isArrayBuffer(new Array(2));\n     * // => false\n     */\n    var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer;\n\n    /**\n     * Checks if `value` is array-like. A value is considered array-like if it's\n     * not a function and has a `value.length` that's an integer greater than or\n     * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n     * @example\n     *\n     * _.isArrayLike([1, 2, 3]);\n     * // => true\n     *\n     * _.isArrayLike(document.body.children);\n     * // => true\n     *\n     * _.isArrayLike('abc');\n     * // => true\n     *\n     * _.isArrayLike(_.noop);\n     * // => false\n     */\n    function isArrayLike(value) {\n      return value != null && isLength(value.length) && !isFunction(value);\n    }\n\n    /**\n     * This method is like `_.isArrayLike` except that it also checks if `value`\n     * is an object.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is an array-like object,\n     *  else `false`.\n     * @example\n     *\n     * _.isArrayLikeObject([1, 2, 3]);\n     * // => true\n     *\n     * _.isArrayLikeObject(document.body.children);\n     * // => true\n     *\n     * _.isArrayLikeObject('abc');\n     * // => false\n     *\n     * _.isArrayLikeObject(_.noop);\n     * // => false\n     */\n    function isArrayLikeObject(value) {\n      return isObjectLike(value) && isArrayLike(value);\n    }\n\n    /**\n     * Checks if `value` is classified as a boolean primitive or object.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.\n     * @example\n     *\n     * _.isBoolean(false);\n     * // => true\n     *\n     * _.isBoolean(null);\n     * // => false\n     */\n    function isBoolean(value) {\n      return value === true || value === false ||\n        (isObjectLike(value) && baseGetTag(value) == boolTag);\n    }\n\n    /**\n     * Checks if `value` is a buffer.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.3.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n     * @example\n     *\n     * _.isBuffer(new Buffer(2));\n     * // => true\n     *\n     * _.isBuffer(new Uint8Array(2));\n     * // => false\n     */\n    var isBuffer = nativeIsBuffer || stubFalse;\n\n    /**\n     * Checks if `value` is classified as a `Date` object.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n     * @example\n     *\n     * _.isDate(new Date);\n     * // => true\n     *\n     * _.isDate('Mon April 23 2012');\n     * // => false\n     */\n    var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n\n    /**\n     * Checks if `value` is likely a DOM element.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`.\n     * @example\n     *\n     * _.isElement(document.body);\n     * // => true\n     *\n     * _.isElement('<body>');\n     * // => false\n     */\n    function isElement(value) {\n      return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value);\n    }\n\n    /**\n     * Checks if `value` is an empty object, collection, map, or set.\n     *\n     * Objects are considered empty if they have no own enumerable string keyed\n     * properties.\n     *\n     * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n     * jQuery-like collections are considered empty if they have a `length` of `0`.\n     * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n     * @example\n     *\n     * _.isEmpty(null);\n     * // => true\n     *\n     * _.isEmpty(true);\n     * // => true\n     *\n     * _.isEmpty(1);\n     * // => true\n     *\n     * _.isEmpty([1, 2, 3]);\n     * // => false\n     *\n     * _.isEmpty({ 'a': 1 });\n     * // => false\n     */\n    function isEmpty(value) {\n      if (value == null) {\n        return true;\n      }\n      if (isArrayLike(value) &&\n          (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n            isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n        return !value.length;\n      }\n      var tag = getTag(value);\n      if (tag == mapTag || tag == setTag) {\n        return !value.size;\n      }\n      if (isPrototype(value)) {\n        return !baseKeys(value).length;\n      }\n      for (var key in value) {\n        if (hasOwnProperty.call(value, key)) {\n          return false;\n        }\n      }\n      return true;\n    }\n\n    /**\n     * Performs a deep comparison between two values to determine if they are\n     * equivalent.\n     *\n     * **Note:** This method supports comparing arrays, array buffers, booleans,\n     * date objects, error objects, maps, numbers, `Object` objects, regexes,\n     * sets, strings, symbols, and typed arrays. `Object` objects are compared\n     * by their own, not inherited, enumerable properties. Functions and DOM\n     * nodes are compared by strict equality, i.e. `===`.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Lang\n     * @param {*} value The value to compare.\n     * @param {*} other The other value to compare.\n     * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n     * @example\n     *\n     * var object = { 'a': 1 };\n     * var other = { 'a': 1 };\n     *\n     * _.isEqual(object, other);\n     * // => true\n     *\n     * object === other;\n     * // => false\n     */\n    function isEqual(value, other) {\n      return baseIsEqual(value, other);\n    }\n\n    /**\n     * This method is like `_.isEqual` except that it accepts `customizer` which\n     * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n     * are handled by the method instead. The `customizer` is invoked with up to\n     * six arguments: (objValue, othValue [, index|key, object, other, stack]).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to compare.\n     * @param {*} other The other value to compare.\n     * @param {Function} [customizer] The function to customize comparisons.\n     * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n     * @example\n     *\n     * function isGreeting(value) {\n     *   return /^h(?:i|ello)$/.test(value);\n     * }\n     *\n     * function customizer(objValue, othValue) {\n     *   if (isGreeting(objValue) && isGreeting(othValue)) {\n     *     return true;\n     *   }\n     * }\n     *\n     * var array = ['hello', 'goodbye'];\n     * var other = ['hi', 'goodbye'];\n     *\n     * _.isEqualWith(array, other, customizer);\n     * // => true\n     */\n    function isEqualWith(value, other, customizer) {\n      customizer = typeof customizer == 'function' ? customizer : undefined;\n      var result = customizer ? customizer(value, other) : undefined;\n      return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result;\n    }\n\n    /**\n     * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,\n     * `SyntaxError`, `TypeError`, or `URIError` object.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is an error object, else `false`.\n     * @example\n     *\n     * _.isError(new Error);\n     * // => true\n     *\n     * _.isError(Error);\n     * // => false\n     */\n    function isError(value) {\n      if (!isObjectLike(value)) {\n        return false;\n      }\n      var tag = baseGetTag(value);\n      return tag == errorTag || tag == domExcTag ||\n        (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value));\n    }\n\n    /**\n     * Checks if `value` is a finite primitive number.\n     *\n     * **Note:** This method is based on\n     * [`Number.isFinite`](https://mdn.io/Number/isFinite).\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a finite number, else `false`.\n     * @example\n     *\n     * _.isFinite(3);\n     * // => true\n     *\n     * _.isFinite(Number.MIN_VALUE);\n     * // => true\n     *\n     * _.isFinite(Infinity);\n     * // => false\n     *\n     * _.isFinite('3');\n     * // => false\n     */\n    function isFinite(value) {\n      return typeof value == 'number' && nativeIsFinite(value);\n    }\n\n    /**\n     * Checks if `value` is classified as a `Function` object.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n     * @example\n     *\n     * _.isFunction(_);\n     * // => true\n     *\n     * _.isFunction(/abc/);\n     * // => false\n     */\n    function isFunction(value) {\n      if (!isObject(value)) {\n        return false;\n      }\n      // The use of `Object#toString` avoids issues with the `typeof` operator\n      // in Safari 9 which returns 'object' for typed arrays and other constructors.\n      var tag = baseGetTag(value);\n      return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n    }\n\n    /**\n     * Checks if `value` is an integer.\n     *\n     * **Note:** This method is based on\n     * [`Number.isInteger`](https://mdn.io/Number/isInteger).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is an integer, else `false`.\n     * @example\n     *\n     * _.isInteger(3);\n     * // => true\n     *\n     * _.isInteger(Number.MIN_VALUE);\n     * // => false\n     *\n     * _.isInteger(Infinity);\n     * // => false\n     *\n     * _.isInteger('3');\n     * // => false\n     */\n    function isInteger(value) {\n      return typeof value == 'number' && value == toInteger(value);\n    }\n\n    /**\n     * Checks if `value` is a valid array-like length.\n     *\n     * **Note:** This method is loosely based on\n     * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n     * @example\n     *\n     * _.isLength(3);\n     * // => true\n     *\n     * _.isLength(Number.MIN_VALUE);\n     * // => false\n     *\n     * _.isLength(Infinity);\n     * // => false\n     *\n     * _.isLength('3');\n     * // => false\n     */\n    function isLength(value) {\n      return typeof value == 'number' &&\n        value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n    }\n\n    /**\n     * Checks if `value` is the\n     * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n     * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n     * @example\n     *\n     * _.isObject({});\n     * // => true\n     *\n     * _.isObject([1, 2, 3]);\n     * // => true\n     *\n     * _.isObject(_.noop);\n     * // => true\n     *\n     * _.isObject(null);\n     * // => false\n     */\n    function isObject(value) {\n      var type = typeof value;\n      return value != null && (type == 'object' || type == 'function');\n    }\n\n    /**\n     * Checks if `value` is object-like. A value is object-like if it's not `null`\n     * and has a `typeof` result of \"object\".\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n     * @example\n     *\n     * _.isObjectLike({});\n     * // => true\n     *\n     * _.isObjectLike([1, 2, 3]);\n     * // => true\n     *\n     * _.isObjectLike(_.noop);\n     * // => false\n     *\n     * _.isObjectLike(null);\n     * // => false\n     */\n    function isObjectLike(value) {\n      return value != null && typeof value == 'object';\n    }\n\n    /**\n     * Checks if `value` is classified as a `Map` object.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.3.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n     * @example\n     *\n     * _.isMap(new Map);\n     * // => true\n     *\n     * _.isMap(new WeakMap);\n     * // => false\n     */\n    var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\n    /**\n     * Performs a partial deep comparison between `object` and `source` to\n     * determine if `object` contains equivalent property values.\n     *\n     * **Note:** This method is equivalent to `_.matches` when `source` is\n     * partially applied.\n     *\n     * Partial comparisons will match empty array and empty object `source`\n     * values against any array or object value, respectively. See `_.isEqual`\n     * for a list of supported value comparisons.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Lang\n     * @param {Object} object The object to inspect.\n     * @param {Object} source The object of property values to match.\n     * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n     * @example\n     *\n     * var object = { 'a': 1, 'b': 2 };\n     *\n     * _.isMatch(object, { 'b': 2 });\n     * // => true\n     *\n     * _.isMatch(object, { 'b': 1 });\n     * // => false\n     */\n    function isMatch(object, source) {\n      return object === source || baseIsMatch(object, source, getMatchData(source));\n    }\n\n    /**\n     * This method is like `_.isMatch` except that it accepts `customizer` which\n     * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n     * are handled by the method instead. The `customizer` is invoked with five\n     * arguments: (objValue, srcValue, index|key, object, source).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {Object} object The object to inspect.\n     * @param {Object} source The object of property values to match.\n     * @param {Function} [customizer] The function to customize comparisons.\n     * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n     * @example\n     *\n     * function isGreeting(value) {\n     *   return /^h(?:i|ello)$/.test(value);\n     * }\n     *\n     * function customizer(objValue, srcValue) {\n     *   if (isGreeting(objValue) && isGreeting(srcValue)) {\n     *     return true;\n     *   }\n     * }\n     *\n     * var object = { 'greeting': 'hello' };\n     * var source = { 'greeting': 'hi' };\n     *\n     * _.isMatchWith(object, source, customizer);\n     * // => true\n     */\n    function isMatchWith(object, source, customizer) {\n      customizer = typeof customizer == 'function' ? customizer : undefined;\n      return baseIsMatch(object, source, getMatchData(source), customizer);\n    }\n\n    /**\n     * Checks if `value` is `NaN`.\n     *\n     * **Note:** This method is based on\n     * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n     * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n     * `undefined` and other non-number values.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n     * @example\n     *\n     * _.isNaN(NaN);\n     * // => true\n     *\n     * _.isNaN(new Number(NaN));\n     * // => true\n     *\n     * isNaN(undefined);\n     * // => true\n     *\n     * _.isNaN(undefined);\n     * // => false\n     */\n    function isNaN(value) {\n      // An `NaN` primitive is the only value that is not equal to itself.\n      // Perform the `toStringTag` check first to avoid errors with some\n      // ActiveX objects in IE.\n      return isNumber(value) && value != +value;\n    }\n\n    /**\n     * Checks if `value` is a pristine native function.\n     *\n     * **Note:** This method can't reliably detect native functions in the presence\n     * of the core-js package because core-js circumvents this kind of detection.\n     * Despite multiple requests, the core-js maintainer has made it clear: any\n     * attempt to fix the detection will be obstructed. As a result, we're left\n     * with little choice but to throw an error. Unfortunately, this also affects\n     * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill),\n     * which rely on core-js.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a native function,\n     *  else `false`.\n     * @example\n     *\n     * _.isNative(Array.prototype.push);\n     * // => true\n     *\n     * _.isNative(_);\n     * // => false\n     */\n    function isNative(value) {\n      if (isMaskable(value)) {\n        throw new Error(CORE_ERROR_TEXT);\n      }\n      return baseIsNative(value);\n    }\n\n    /**\n     * Checks if `value` is `null`.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is `null`, else `false`.\n     * @example\n     *\n     * _.isNull(null);\n     * // => true\n     *\n     * _.isNull(void 0);\n     * // => false\n     */\n    function isNull(value) {\n      return value === null;\n    }\n\n    /**\n     * Checks if `value` is `null` or `undefined`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n     * @example\n     *\n     * _.isNil(null);\n     * // => true\n     *\n     * _.isNil(void 0);\n     * // => true\n     *\n     * _.isNil(NaN);\n     * // => false\n     */\n    function isNil(value) {\n      return value == null;\n    }\n\n    /**\n     * Checks if `value` is classified as a `Number` primitive or object.\n     *\n     * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n     * classified as numbers, use the `_.isFinite` method.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n     * @example\n     *\n     * _.isNumber(3);\n     * // => true\n     *\n     * _.isNumber(Number.MIN_VALUE);\n     * // => true\n     *\n     * _.isNumber(Infinity);\n     * // => true\n     *\n     * _.isNumber('3');\n     * // => false\n     */\n    function isNumber(value) {\n      return typeof value == 'number' ||\n        (isObjectLike(value) && baseGetTag(value) == numberTag);\n    }\n\n    /**\n     * Checks if `value` is a plain object, that is, an object created by the\n     * `Object` constructor or one with a `[[Prototype]]` of `null`.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.8.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n     * @example\n     *\n     * function Foo() {\n     *   this.a = 1;\n     * }\n     *\n     * _.isPlainObject(new Foo);\n     * // => false\n     *\n     * _.isPlainObject([1, 2, 3]);\n     * // => false\n     *\n     * _.isPlainObject({ 'x': 0, 'y': 0 });\n     * // => true\n     *\n     * _.isPlainObject(Object.create(null));\n     * // => true\n     */\n    function isPlainObject(value) {\n      if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n        return false;\n      }\n      var proto = getPrototype(value);\n      if (proto === null) {\n        return true;\n      }\n      var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n      return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n        funcToString.call(Ctor) == objectCtorString;\n    }\n\n    /**\n     * Checks if `value` is classified as a `RegExp` object.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n     * @example\n     *\n     * _.isRegExp(/abc/);\n     * // => true\n     *\n     * _.isRegExp('/abc/');\n     * // => false\n     */\n    var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;\n\n    /**\n     * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754\n     * double precision number which isn't the result of a rounded unsafe integer.\n     *\n     * **Note:** This method is based on\n     * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`.\n     * @example\n     *\n     * _.isSafeInteger(3);\n     * // => true\n     *\n     * _.isSafeInteger(Number.MIN_VALUE);\n     * // => false\n     *\n     * _.isSafeInteger(Infinity);\n     * // => false\n     *\n     * _.isSafeInteger('3');\n     * // => false\n     */\n    function isSafeInteger(value) {\n      return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER;\n    }\n\n    /**\n     * Checks if `value` is classified as a `Set` object.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.3.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n     * @example\n     *\n     * _.isSet(new Set);\n     * // => true\n     *\n     * _.isSet(new WeakSet);\n     * // => false\n     */\n    var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\n    /**\n     * Checks if `value` is classified as a `String` primitive or object.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n     * @example\n     *\n     * _.isString('abc');\n     * // => true\n     *\n     * _.isString(1);\n     * // => false\n     */\n    function isString(value) {\n      return typeof value == 'string' ||\n        (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n    }\n\n    /**\n     * Checks if `value` is classified as a `Symbol` primitive or object.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n     * @example\n     *\n     * _.isSymbol(Symbol.iterator);\n     * // => true\n     *\n     * _.isSymbol('abc');\n     * // => false\n     */\n    function isSymbol(value) {\n      return typeof value == 'symbol' ||\n        (isObjectLike(value) && baseGetTag(value) == symbolTag);\n    }\n\n    /**\n     * Checks if `value` is classified as a typed array.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n     * @example\n     *\n     * _.isTypedArray(new Uint8Array);\n     * // => true\n     *\n     * _.isTypedArray([]);\n     * // => false\n     */\n    var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n    /**\n     * Checks if `value` is `undefined`.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n     * @example\n     *\n     * _.isUndefined(void 0);\n     * // => true\n     *\n     * _.isUndefined(null);\n     * // => false\n     */\n    function isUndefined(value) {\n      return value === undefined;\n    }\n\n    /**\n     * Checks if `value` is classified as a `WeakMap` object.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.3.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a weak map, else `false`.\n     * @example\n     *\n     * _.isWeakMap(new WeakMap);\n     * // => true\n     *\n     * _.isWeakMap(new Map);\n     * // => false\n     */\n    function isWeakMap(value) {\n      return isObjectLike(value) && getTag(value) == weakMapTag;\n    }\n\n    /**\n     * Checks if `value` is classified as a `WeakSet` object.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.3.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a weak set, else `false`.\n     * @example\n     *\n     * _.isWeakSet(new WeakSet);\n     * // => true\n     *\n     * _.isWeakSet(new Set);\n     * // => false\n     */\n    function isWeakSet(value) {\n      return isObjectLike(value) && baseGetTag(value) == weakSetTag;\n    }\n\n    /**\n     * Checks if `value` is less than `other`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.9.0\n     * @category Lang\n     * @param {*} value The value to compare.\n     * @param {*} other The other value to compare.\n     * @returns {boolean} Returns `true` if `value` is less than `other`,\n     *  else `false`.\n     * @see _.gt\n     * @example\n     *\n     * _.lt(1, 3);\n     * // => true\n     *\n     * _.lt(3, 3);\n     * // => false\n     *\n     * _.lt(3, 1);\n     * // => false\n     */\n    var lt = createRelationalOperation(baseLt);\n\n    /**\n     * Checks if `value` is less than or equal to `other`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.9.0\n     * @category Lang\n     * @param {*} value The value to compare.\n     * @param {*} other The other value to compare.\n     * @returns {boolean} Returns `true` if `value` is less than or equal to\n     *  `other`, else `false`.\n     * @see _.gte\n     * @example\n     *\n     * _.lte(1, 3);\n     * // => true\n     *\n     * _.lte(3, 3);\n     * // => true\n     *\n     * _.lte(3, 1);\n     * // => false\n     */\n    var lte = createRelationalOperation(function(value, other) {\n      return value <= other;\n    });\n\n    /**\n     * Converts `value` to an array.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Lang\n     * @param {*} value The value to convert.\n     * @returns {Array} Returns the converted array.\n     * @example\n     *\n     * _.toArray({ 'a': 1, 'b': 2 });\n     * // => [1, 2]\n     *\n     * _.toArray('abc');\n     * // => ['a', 'b', 'c']\n     *\n     * _.toArray(1);\n     * // => []\n     *\n     * _.toArray(null);\n     * // => []\n     */\n    function toArray(value) {\n      if (!value) {\n        return [];\n      }\n      if (isArrayLike(value)) {\n        return isString(value) ? stringToArray(value) : copyArray(value);\n      }\n      if (symIterator && value[symIterator]) {\n        return iteratorToArray(value[symIterator]());\n      }\n      var tag = getTag(value),\n          func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values);\n\n      return func(value);\n    }\n\n    /**\n     * Converts `value` to a finite number.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.12.0\n     * @category Lang\n     * @param {*} value The value to convert.\n     * @returns {number} Returns the converted number.\n     * @example\n     *\n     * _.toFinite(3.2);\n     * // => 3.2\n     *\n     * _.toFinite(Number.MIN_VALUE);\n     * // => 5e-324\n     *\n     * _.toFinite(Infinity);\n     * // => 1.7976931348623157e+308\n     *\n     * _.toFinite('3.2');\n     * // => 3.2\n     */\n    function toFinite(value) {\n      if (!value) {\n        return value === 0 ? value : 0;\n      }\n      value = toNumber(value);\n      if (value === INFINITY || value === -INFINITY) {\n        var sign = (value < 0 ? -1 : 1);\n        return sign * MAX_INTEGER;\n      }\n      return value === value ? value : 0;\n    }\n\n    /**\n     * Converts `value` to an integer.\n     *\n     * **Note:** This method is loosely based on\n     * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to convert.\n     * @returns {number} Returns the converted integer.\n     * @example\n     *\n     * _.toInteger(3.2);\n     * // => 3\n     *\n     * _.toInteger(Number.MIN_VALUE);\n     * // => 0\n     *\n     * _.toInteger(Infinity);\n     * // => 1.7976931348623157e+308\n     *\n     * _.toInteger('3.2');\n     * // => 3\n     */\n    function toInteger(value) {\n      var result = toFinite(value),\n          remainder = result % 1;\n\n      return result === result ? (remainder ? result - remainder : result) : 0;\n    }\n\n    /**\n     * Converts `value` to an integer suitable for use as the length of an\n     * array-like object.\n     *\n     * **Note:** This method is based on\n     * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to convert.\n     * @returns {number} Returns the converted integer.\n     * @example\n     *\n     * _.toLength(3.2);\n     * // => 3\n     *\n     * _.toLength(Number.MIN_VALUE);\n     * // => 0\n     *\n     * _.toLength(Infinity);\n     * // => 4294967295\n     *\n     * _.toLength('3.2');\n     * // => 3\n     */\n    function toLength(value) {\n      return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0;\n    }\n\n    /**\n     * Converts `value` to a number.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to process.\n     * @returns {number} Returns the number.\n     * @example\n     *\n     * _.toNumber(3.2);\n     * // => 3.2\n     *\n     * _.toNumber(Number.MIN_VALUE);\n     * // => 5e-324\n     *\n     * _.toNumber(Infinity);\n     * // => Infinity\n     *\n     * _.toNumber('3.2');\n     * // => 3.2\n     */\n    function toNumber(value) {\n      if (typeof value == 'number') {\n        return value;\n      }\n      if (isSymbol(value)) {\n        return NAN;\n      }\n      if (isObject(value)) {\n        var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n        value = isObject(other) ? (other + '') : other;\n      }\n      if (typeof value != 'string') {\n        return value === 0 ? value : +value;\n      }\n      value = baseTrim(value);\n      var isBinary = reIsBinary.test(value);\n      return (isBinary || reIsOctal.test(value))\n        ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n        : (reIsBadHex.test(value) ? NAN : +value);\n    }\n\n    /**\n     * Converts `value` to a plain object flattening inherited enumerable string\n     * keyed properties of `value` to own properties of the plain object.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Lang\n     * @param {*} value The value to convert.\n     * @returns {Object} Returns the converted plain object.\n     * @example\n     *\n     * function Foo() {\n     *   this.b = 2;\n     * }\n     *\n     * Foo.prototype.c = 3;\n     *\n     * _.assign({ 'a': 1 }, new Foo);\n     * // => { 'a': 1, 'b': 2 }\n     *\n     * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n     * // => { 'a': 1, 'b': 2, 'c': 3 }\n     */\n    function toPlainObject(value) {\n      return copyObject(value, keysIn(value));\n    }\n\n    /**\n     * Converts `value` to a safe integer. A safe integer can be compared and\n     * represented correctly.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to convert.\n     * @returns {number} Returns the converted integer.\n     * @example\n     *\n     * _.toSafeInteger(3.2);\n     * // => 3\n     *\n     * _.toSafeInteger(Number.MIN_VALUE);\n     * // => 0\n     *\n     * _.toSafeInteger(Infinity);\n     * // => 9007199254740991\n     *\n     * _.toSafeInteger('3.2');\n     * // => 3\n     */\n    function toSafeInteger(value) {\n      return value\n        ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER)\n        : (value === 0 ? value : 0);\n    }\n\n    /**\n     * Converts `value` to a string. An empty string is returned for `null`\n     * and `undefined` values. The sign of `-0` is preserved.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to convert.\n     * @returns {string} Returns the converted string.\n     * @example\n     *\n     * _.toString(null);\n     * // => ''\n     *\n     * _.toString(-0);\n     * // => '-0'\n     *\n     * _.toString([1, 2, 3]);\n     * // => '1,2,3'\n     */\n    function toString(value) {\n      return value == null ? '' : baseToString(value);\n    }\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Assigns own enumerable string keyed properties of source objects to the\n     * destination object. Source objects are applied from left to right.\n     * Subsequent sources overwrite property assignments of previous sources.\n     *\n     * **Note:** This method mutates `object` and is loosely based on\n     * [`Object.assign`](https://mdn.io/Object/assign).\n     *\n     * @static\n     * @memberOf _\n     * @since 0.10.0\n     * @category Object\n     * @param {Object} object The destination object.\n     * @param {...Object} [sources] The source objects.\n     * @returns {Object} Returns `object`.\n     * @see _.assignIn\n     * @example\n     *\n     * function Foo() {\n     *   this.a = 1;\n     * }\n     *\n     * function Bar() {\n     *   this.c = 3;\n     * }\n     *\n     * Foo.prototype.b = 2;\n     * Bar.prototype.d = 4;\n     *\n     * _.assign({ 'a': 0 }, new Foo, new Bar);\n     * // => { 'a': 1, 'c': 3 }\n     */\n    var assign = createAssigner(function(object, source) {\n      if (isPrototype(source) || isArrayLike(source)) {\n        copyObject(source, keys(source), object);\n        return;\n      }\n      for (var key in source) {\n        if (hasOwnProperty.call(source, key)) {\n          assignValue(object, key, source[key]);\n        }\n      }\n    });\n\n    /**\n     * This method is like `_.assign` except that it iterates over own and\n     * inherited source properties.\n     *\n     * **Note:** This method mutates `object`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @alias extend\n     * @category Object\n     * @param {Object} object The destination object.\n     * @param {...Object} [sources] The source objects.\n     * @returns {Object} Returns `object`.\n     * @see _.assign\n     * @example\n     *\n     * function Foo() {\n     *   this.a = 1;\n     * }\n     *\n     * function Bar() {\n     *   this.c = 3;\n     * }\n     *\n     * Foo.prototype.b = 2;\n     * Bar.prototype.d = 4;\n     *\n     * _.assignIn({ 'a': 0 }, new Foo, new Bar);\n     * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }\n     */\n    var assignIn = createAssigner(function(object, source) {\n      copyObject(source, keysIn(source), object);\n    });\n\n    /**\n     * This method is like `_.assignIn` except that it accepts `customizer`\n     * which is invoked to produce the assigned values. If `customizer` returns\n     * `undefined`, assignment is handled by the method instead. The `customizer`\n     * is invoked with five arguments: (objValue, srcValue, key, object, source).\n     *\n     * **Note:** This method mutates `object`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @alias extendWith\n     * @category Object\n     * @param {Object} object The destination object.\n     * @param {...Object} sources The source objects.\n     * @param {Function} [customizer] The function to customize assigned values.\n     * @returns {Object} Returns `object`.\n     * @see _.assignWith\n     * @example\n     *\n     * function customizer(objValue, srcValue) {\n     *   return _.isUndefined(objValue) ? srcValue : objValue;\n     * }\n     *\n     * var defaults = _.partialRight(_.assignInWith, customizer);\n     *\n     * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n     * // => { 'a': 1, 'b': 2 }\n     */\n    var assignInWith = createAssigner(function(object, source, srcIndex, customizer) {\n      copyObject(source, keysIn(source), object, customizer);\n    });\n\n    /**\n     * This method is like `_.assign` except that it accepts `customizer`\n     * which is invoked to produce the assigned values. If `customizer` returns\n     * `undefined`, assignment is handled by the method instead. The `customizer`\n     * is invoked with five arguments: (objValue, srcValue, key, object, source).\n     *\n     * **Note:** This method mutates `object`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Object\n     * @param {Object} object The destination object.\n     * @param {...Object} sources The source objects.\n     * @param {Function} [customizer] The function to customize assigned values.\n     * @returns {Object} Returns `object`.\n     * @see _.assignInWith\n     * @example\n     *\n     * function customizer(objValue, srcValue) {\n     *   return _.isUndefined(objValue) ? srcValue : objValue;\n     * }\n     *\n     * var defaults = _.partialRight(_.assignWith, customizer);\n     *\n     * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n     * // => { 'a': 1, 'b': 2 }\n     */\n    var assignWith = createAssigner(function(object, source, srcIndex, customizer) {\n      copyObject(source, keys(source), object, customizer);\n    });\n\n    /**\n     * Creates an array of values corresponding to `paths` of `object`.\n     *\n     * @static\n     * @memberOf _\n     * @since 1.0.0\n     * @category Object\n     * @param {Object} object The object to iterate over.\n     * @param {...(string|string[])} [paths] The property paths to pick.\n     * @returns {Array} Returns the picked values.\n     * @example\n     *\n     * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n     *\n     * _.at(object, ['a[0].b.c', 'a[1]']);\n     * // => [3, 4]\n     */\n    var at = flatRest(baseAt);\n\n    /**\n     * Creates an object that inherits from the `prototype` object. If a\n     * `properties` object is given, its own enumerable string keyed properties\n     * are assigned to the created object.\n     *\n     * @static\n     * @memberOf _\n     * @since 2.3.0\n     * @category Object\n     * @param {Object} prototype The object to inherit from.\n     * @param {Object} [properties] The properties to assign to the object.\n     * @returns {Object} Returns the new object.\n     * @example\n     *\n     * function Shape() {\n     *   this.x = 0;\n     *   this.y = 0;\n     * }\n     *\n     * function Circle() {\n     *   Shape.call(this);\n     * }\n     *\n     * Circle.prototype = _.create(Shape.prototype, {\n     *   'constructor': Circle\n     * });\n     *\n     * var circle = new Circle;\n     * circle instanceof Circle;\n     * // => true\n     *\n     * circle instanceof Shape;\n     * // => true\n     */\n    function create(prototype, properties) {\n      var result = baseCreate(prototype);\n      return properties == null ? result : baseAssign(result, properties);\n    }\n\n    /**\n     * Assigns own and inherited enumerable string keyed properties of source\n     * objects to the destination object for all destination properties that\n     * resolve to `undefined`. Source objects are applied from left to right.\n     * Once a property is set, additional values of the same property are ignored.\n     *\n     * **Note:** This method mutates `object`.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Object\n     * @param {Object} object The destination object.\n     * @param {...Object} [sources] The source objects.\n     * @returns {Object} Returns `object`.\n     * @see _.defaultsDeep\n     * @example\n     *\n     * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n     * // => { 'a': 1, 'b': 2 }\n     */\n    var defaults = baseRest(function(object, sources) {\n      object = Object(object);\n\n      var index = -1;\n      var length = sources.length;\n      var guard = length > 2 ? sources[2] : undefined;\n\n      if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n        length = 1;\n      }\n\n      while (++index < length) {\n        var source = sources[index];\n        var props = keysIn(source);\n        var propsIndex = -1;\n        var propsLength = props.length;\n\n        while (++propsIndex < propsLength) {\n          var key = props[propsIndex];\n          var value = object[key];\n\n          if (value === undefined ||\n              (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n            object[key] = source[key];\n          }\n        }\n      }\n\n      return object;\n    });\n\n    /**\n     * This method is like `_.defaults` except that it recursively assigns\n     * default properties.\n     *\n     * **Note:** This method mutates `object`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.10.0\n     * @category Object\n     * @param {Object} object The destination object.\n     * @param {...Object} [sources] The source objects.\n     * @returns {Object} Returns `object`.\n     * @see _.defaults\n     * @example\n     *\n     * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });\n     * // => { 'a': { 'b': 2, 'c': 3 } }\n     */\n    var defaultsDeep = baseRest(function(args) {\n      args.push(undefined, customDefaultsMerge);\n      return apply(mergeWith, undefined, args);\n    });\n\n    /**\n     * This method is like `_.find` except that it returns the key of the first\n     * element `predicate` returns truthy for instead of the element itself.\n     *\n     * @static\n     * @memberOf _\n     * @since 1.1.0\n     * @category Object\n     * @param {Object} object The object to inspect.\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n     * @returns {string|undefined} Returns the key of the matched element,\n     *  else `undefined`.\n     * @example\n     *\n     * var users = {\n     *   'barney':  { 'age': 36, 'active': true },\n     *   'fred':    { 'age': 40, 'active': false },\n     *   'pebbles': { 'age': 1,  'active': true }\n     * };\n     *\n     * _.findKey(users, function(o) { return o.age < 40; });\n     * // => 'barney' (iteration order is not guaranteed)\n     *\n     * // The `_.matches` iteratee shorthand.\n     * _.findKey(users, { 'age': 1, 'active': true });\n     * // => 'pebbles'\n     *\n     * // The `_.matchesProperty` iteratee shorthand.\n     * _.findKey(users, ['active', false]);\n     * // => 'fred'\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.findKey(users, 'active');\n     * // => 'barney'\n     */\n    function findKey(object, predicate) {\n      return baseFindKey(object, getIteratee(predicate, 3), baseForOwn);\n    }\n\n    /**\n     * This method is like `_.findKey` except that it iterates over elements of\n     * a collection in the opposite order.\n     *\n     * @static\n     * @memberOf _\n     * @since 2.0.0\n     * @category Object\n     * @param {Object} object The object to inspect.\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n     * @returns {string|undefined} Returns the key of the matched element,\n     *  else `undefined`.\n     * @example\n     *\n     * var users = {\n     *   'barney':  { 'age': 36, 'active': true },\n     *   'fred':    { 'age': 40, 'active': false },\n     *   'pebbles': { 'age': 1,  'active': true }\n     * };\n     *\n     * _.findLastKey(users, function(o) { return o.age < 40; });\n     * // => returns 'pebbles' assuming `_.findKey` returns 'barney'\n     *\n     * // The `_.matches` iteratee shorthand.\n     * _.findLastKey(users, { 'age': 36, 'active': true });\n     * // => 'barney'\n     *\n     * // The `_.matchesProperty` iteratee shorthand.\n     * _.findLastKey(users, ['active', false]);\n     * // => 'fred'\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.findLastKey(users, 'active');\n     * // => 'pebbles'\n     */\n    function findLastKey(object, predicate) {\n      return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight);\n    }\n\n    /**\n     * Iterates over own and inherited enumerable string keyed properties of an\n     * object and invokes `iteratee` for each property. The iteratee is invoked\n     * with three arguments: (value, key, object). Iteratee functions may exit\n     * iteration early by explicitly returning `false`.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.3.0\n     * @category Object\n     * @param {Object} object The object to iterate over.\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n     * @returns {Object} Returns `object`.\n     * @see _.forInRight\n     * @example\n     *\n     * function Foo() {\n     *   this.a = 1;\n     *   this.b = 2;\n     * }\n     *\n     * Foo.prototype.c = 3;\n     *\n     * _.forIn(new Foo, function(value, key) {\n     *   console.log(key);\n     * });\n     * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed).\n     */\n    function forIn(object, iteratee) {\n      return object == null\n        ? object\n        : baseFor(object, getIteratee(iteratee, 3), keysIn);\n    }\n\n    /**\n     * This method is like `_.forIn` except that it iterates over properties of\n     * `object` in the opposite order.\n     *\n     * @static\n     * @memberOf _\n     * @since 2.0.0\n     * @category Object\n     * @param {Object} object The object to iterate over.\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n     * @returns {Object} Returns `object`.\n     * @see _.forIn\n     * @example\n     *\n     * function Foo() {\n     *   this.a = 1;\n     *   this.b = 2;\n     * }\n     *\n     * Foo.prototype.c = 3;\n     *\n     * _.forInRight(new Foo, function(value, key) {\n     *   console.log(key);\n     * });\n     * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'.\n     */\n    function forInRight(object, iteratee) {\n      return object == null\n        ? object\n        : baseForRight(object, getIteratee(iteratee, 3), keysIn);\n    }\n\n    /**\n     * Iterates over own enumerable string keyed properties of an object and\n     * invokes `iteratee` for each property. The iteratee is invoked with three\n     * arguments: (value, key, object). Iteratee functions may exit iteration\n     * early by explicitly returning `false`.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.3.0\n     * @category Object\n     * @param {Object} object The object to iterate over.\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n     * @returns {Object} Returns `object`.\n     * @see _.forOwnRight\n     * @example\n     *\n     * function Foo() {\n     *   this.a = 1;\n     *   this.b = 2;\n     * }\n     *\n     * Foo.prototype.c = 3;\n     *\n     * _.forOwn(new Foo, function(value, key) {\n     *   console.log(key);\n     * });\n     * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n     */\n    function forOwn(object, iteratee) {\n      return object && baseForOwn(object, getIteratee(iteratee, 3));\n    }\n\n    /**\n     * This method is like `_.forOwn` except that it iterates over properties of\n     * `object` in the opposite order.\n     *\n     * @static\n     * @memberOf _\n     * @since 2.0.0\n     * @category Object\n     * @param {Object} object The object to iterate over.\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n     * @returns {Object} Returns `object`.\n     * @see _.forOwn\n     * @example\n     *\n     * function Foo() {\n     *   this.a = 1;\n     *   this.b = 2;\n     * }\n     *\n     * Foo.prototype.c = 3;\n     *\n     * _.forOwnRight(new Foo, function(value, key) {\n     *   console.log(key);\n     * });\n     * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'.\n     */\n    function forOwnRight(object, iteratee) {\n      return object && baseForOwnRight(object, getIteratee(iteratee, 3));\n    }\n\n    /**\n     * Creates an array of function property names from own enumerable properties\n     * of `object`.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Object\n     * @param {Object} object The object to inspect.\n     * @returns {Array} Returns the function names.\n     * @see _.functionsIn\n     * @example\n     *\n     * function Foo() {\n     *   this.a = _.constant('a');\n     *   this.b = _.constant('b');\n     * }\n     *\n     * Foo.prototype.c = _.constant('c');\n     *\n     * _.functions(new Foo);\n     * // => ['a', 'b']\n     */\n    function functions(object) {\n      return object == null ? [] : baseFunctions(object, keys(object));\n    }\n\n    /**\n     * Creates an array of function property names from own and inherited\n     * enumerable properties of `object`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Object\n     * @param {Object} object The object to inspect.\n     * @returns {Array} Returns the function names.\n     * @see _.functions\n     * @example\n     *\n     * function Foo() {\n     *   this.a = _.constant('a');\n     *   this.b = _.constant('b');\n     * }\n     *\n     * Foo.prototype.c = _.constant('c');\n     *\n     * _.functionsIn(new Foo);\n     * // => ['a', 'b', 'c']\n     */\n    function functionsIn(object) {\n      return object == null ? [] : baseFunctions(object, keysIn(object));\n    }\n\n    /**\n     * Gets the value at `path` of `object`. If the resolved value is\n     * `undefined`, the `defaultValue` is returned in its place.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.7.0\n     * @category Object\n     * @param {Object} object The object to query.\n     * @param {Array|string} path The path of the property to get.\n     * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n     * @returns {*} Returns the resolved value.\n     * @example\n     *\n     * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n     *\n     * _.get(object, 'a[0].b.c');\n     * // => 3\n     *\n     * _.get(object, ['a', '0', 'b', 'c']);\n     * // => 3\n     *\n     * _.get(object, 'a.b.c', 'default');\n     * // => 'default'\n     */\n    function get(object, path, defaultValue) {\n      var result = object == null ? undefined : baseGet(object, path);\n      return result === undefined ? defaultValue : result;\n    }\n\n    /**\n     * Checks if `path` is a direct property of `object`.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Object\n     * @param {Object} object The object to query.\n     * @param {Array|string} path The path to check.\n     * @returns {boolean} Returns `true` if `path` exists, else `false`.\n     * @example\n     *\n     * var object = { 'a': { 'b': 2 } };\n     * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n     *\n     * _.has(object, 'a');\n     * // => true\n     *\n     * _.has(object, 'a.b');\n     * // => true\n     *\n     * _.has(object, ['a', 'b']);\n     * // => true\n     *\n     * _.has(other, 'a');\n     * // => false\n     */\n    function has(object, path) {\n      return object != null && hasPath(object, path, baseHas);\n    }\n\n    /**\n     * Checks if `path` is a direct or inherited property of `object`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Object\n     * @param {Object} object The object to query.\n     * @param {Array|string} path The path to check.\n     * @returns {boolean} Returns `true` if `path` exists, else `false`.\n     * @example\n     *\n     * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n     *\n     * _.hasIn(object, 'a');\n     * // => true\n     *\n     * _.hasIn(object, 'a.b');\n     * // => true\n     *\n     * _.hasIn(object, ['a', 'b']);\n     * // => true\n     *\n     * _.hasIn(object, 'b');\n     * // => false\n     */\n    function hasIn(object, path) {\n      return object != null && hasPath(object, path, baseHasIn);\n    }\n\n    /**\n     * Creates an object composed of the inverted keys and values of `object`.\n     * If `object` contains duplicate values, subsequent values overwrite\n     * property assignments of previous values.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.7.0\n     * @category Object\n     * @param {Object} object The object to invert.\n     * @returns {Object} Returns the new inverted object.\n     * @example\n     *\n     * var object = { 'a': 1, 'b': 2, 'c': 1 };\n     *\n     * _.invert(object);\n     * // => { '1': 'c', '2': 'b' }\n     */\n    var invert = createInverter(function(result, value, key) {\n      if (value != null &&\n          typeof value.toString != 'function') {\n        value = nativeObjectToString.call(value);\n      }\n\n      result[value] = key;\n    }, constant(identity));\n\n    /**\n     * This method is like `_.invert` except that the inverted object is generated\n     * from the results of running each element of `object` thru `iteratee`. The\n     * corresponding inverted value of each inverted key is an array of keys\n     * responsible for generating the inverted value. The iteratee is invoked\n     * with one argument: (value).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.1.0\n     * @category Object\n     * @param {Object} object The object to invert.\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n     * @returns {Object} Returns the new inverted object.\n     * @example\n     *\n     * var object = { 'a': 1, 'b': 2, 'c': 1 };\n     *\n     * _.invertBy(object);\n     * // => { '1': ['a', 'c'], '2': ['b'] }\n     *\n     * _.invertBy(object, function(value) {\n     *   return 'group' + value;\n     * });\n     * // => { 'group1': ['a', 'c'], 'group2': ['b'] }\n     */\n    var invertBy = createInverter(function(result, value, key) {\n      if (value != null &&\n          typeof value.toString != 'function') {\n        value = nativeObjectToString.call(value);\n      }\n\n      if (hasOwnProperty.call(result, value)) {\n        result[value].push(key);\n      } else {\n        result[value] = [key];\n      }\n    }, getIteratee);\n\n    /**\n     * Invokes the method at `path` of `object`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Object\n     * @param {Object} object The object to query.\n     * @param {Array|string} path The path of the method to invoke.\n     * @param {...*} [args] The arguments to invoke the method with.\n     * @returns {*} Returns the result of the invoked method.\n     * @example\n     *\n     * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] };\n     *\n     * _.invoke(object, 'a[0].b.c.slice', 1, 3);\n     * // => [2, 3]\n     */\n    var invoke = baseRest(baseInvoke);\n\n    /**\n     * Creates an array of the own enumerable property names of `object`.\n     *\n     * **Note:** Non-object values are coerced to objects. See the\n     * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n     * for more details.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Object\n     * @param {Object} object The object to query.\n     * @returns {Array} Returns the array of property names.\n     * @example\n     *\n     * function Foo() {\n     *   this.a = 1;\n     *   this.b = 2;\n     * }\n     *\n     * Foo.prototype.c = 3;\n     *\n     * _.keys(new Foo);\n     * // => ['a', 'b'] (iteration order is not guaranteed)\n     *\n     * _.keys('hi');\n     * // => ['0', '1']\n     */\n    function keys(object) {\n      return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n    }\n\n    /**\n     * Creates an array of the own and inherited enumerable property names of `object`.\n     *\n     * **Note:** Non-object values are coerced to objects.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Object\n     * @param {Object} object The object to query.\n     * @returns {Array} Returns the array of property names.\n     * @example\n     *\n     * function Foo() {\n     *   this.a = 1;\n     *   this.b = 2;\n     * }\n     *\n     * Foo.prototype.c = 3;\n     *\n     * _.keysIn(new Foo);\n     * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n     */\n    function keysIn(object) {\n      return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n    }\n\n    /**\n     * The opposite of `_.mapValues`; this method creates an object with the\n     * same values as `object` and keys generated by running each own enumerable\n     * string keyed property of `object` thru `iteratee`. The iteratee is invoked\n     * with three arguments: (value, key, object).\n     *\n     * @static\n     * @memberOf _\n     * @since 3.8.0\n     * @category Object\n     * @param {Object} object The object to iterate over.\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n     * @returns {Object} Returns the new mapped object.\n     * @see _.mapValues\n     * @example\n     *\n     * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {\n     *   return key + value;\n     * });\n     * // => { 'a1': 1, 'b2': 2 }\n     */\n    function mapKeys(object, iteratee) {\n      var result = {};\n      iteratee = getIteratee(iteratee, 3);\n\n      baseForOwn(object, function(value, key, object) {\n        baseAssignValue(result, iteratee(value, key, object), value);\n      });\n      return result;\n    }\n\n    /**\n     * Creates an object with the same keys as `object` and values generated\n     * by running each own enumerable string keyed property of `object` thru\n     * `iteratee`. The iteratee is invoked with three arguments:\n     * (value, key, object).\n     *\n     * @static\n     * @memberOf _\n     * @since 2.4.0\n     * @category Object\n     * @param {Object} object The object to iterate over.\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n     * @returns {Object} Returns the new mapped object.\n     * @see _.mapKeys\n     * @example\n     *\n     * var users = {\n     *   'fred':    { 'user': 'fred',    'age': 40 },\n     *   'pebbles': { 'user': 'pebbles', 'age': 1 }\n     * };\n     *\n     * _.mapValues(users, function(o) { return o.age; });\n     * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.mapValues(users, 'age');\n     * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n     */\n    function mapValues(object, iteratee) {\n      var result = {};\n      iteratee = getIteratee(iteratee, 3);\n\n      baseForOwn(object, function(value, key, object) {\n        baseAssignValue(result, key, iteratee(value, key, object));\n      });\n      return result;\n    }\n\n    /**\n     * This method is like `_.assign` except that it recursively merges own and\n     * inherited enumerable string keyed properties of source objects into the\n     * destination object. Source properties that resolve to `undefined` are\n     * skipped if a destination value exists. Array and plain object properties\n     * are merged recursively. Other objects and value types are overridden by\n     * assignment. Source objects are applied from left to right. Subsequent\n     * sources overwrite property assignments of previous sources.\n     *\n     * **Note:** This method mutates `object`.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.5.0\n     * @category Object\n     * @param {Object} object The destination object.\n     * @param {...Object} [sources] The source objects.\n     * @returns {Object} Returns `object`.\n     * @example\n     *\n     * var object = {\n     *   'a': [{ 'b': 2 }, { 'd': 4 }]\n     * };\n     *\n     * var other = {\n     *   'a': [{ 'c': 3 }, { 'e': 5 }]\n     * };\n     *\n     * _.merge(object, other);\n     * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n     */\n    var merge = createAssigner(function(object, source, srcIndex) {\n      baseMerge(object, source, srcIndex);\n    });\n\n    /**\n     * This method is like `_.merge` except that it accepts `customizer` which\n     * is invoked to produce the merged values of the destination and source\n     * properties. If `customizer` returns `undefined`, merging is handled by the\n     * method instead. The `customizer` is invoked with six arguments:\n     * (objValue, srcValue, key, object, source, stack).\n     *\n     * **Note:** This method mutates `object`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Object\n     * @param {Object} object The destination object.\n     * @param {...Object} sources The source objects.\n     * @param {Function} customizer The function to customize assigned values.\n     * @returns {Object} Returns `object`.\n     * @example\n     *\n     * function customizer(objValue, srcValue) {\n     *   if (_.isArray(objValue)) {\n     *     return objValue.concat(srcValue);\n     *   }\n     * }\n     *\n     * var object = { 'a': [1], 'b': [2] };\n     * var other = { 'a': [3], 'b': [4] };\n     *\n     * _.mergeWith(object, other, customizer);\n     * // => { 'a': [1, 3], 'b': [2, 4] }\n     */\n    var mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n      baseMerge(object, source, srcIndex, customizer);\n    });\n\n    /**\n     * The opposite of `_.pick`; this method creates an object composed of the\n     * own and inherited enumerable property paths of `object` that are not omitted.\n     *\n     * **Note:** This method is considerably slower than `_.pick`.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Object\n     * @param {Object} object The source object.\n     * @param {...(string|string[])} [paths] The property paths to omit.\n     * @returns {Object} Returns the new object.\n     * @example\n     *\n     * var object = { 'a': 1, 'b': '2', 'c': 3 };\n     *\n     * _.omit(object, ['a', 'c']);\n     * // => { 'b': '2' }\n     */\n    var omit = flatRest(function(object, paths) {\n      var result = {};\n      if (object == null) {\n        return result;\n      }\n      var isDeep = false;\n      paths = arrayMap(paths, function(path) {\n        path = castPath(path, object);\n        isDeep || (isDeep = path.length > 1);\n        return path;\n      });\n      copyObject(object, getAllKeysIn(object), result);\n      if (isDeep) {\n        result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);\n      }\n      var length = paths.length;\n      while (length--) {\n        baseUnset(result, paths[length]);\n      }\n      return result;\n    });\n\n    /**\n     * The opposite of `_.pickBy`; this method creates an object composed of\n     * the own and inherited enumerable string keyed properties of `object` that\n     * `predicate` doesn't return truthy for. The predicate is invoked with two\n     * arguments: (value, key).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Object\n     * @param {Object} object The source object.\n     * @param {Function} [predicate=_.identity] The function invoked per property.\n     * @returns {Object} Returns the new object.\n     * @example\n     *\n     * var object = { 'a': 1, 'b': '2', 'c': 3 };\n     *\n     * _.omitBy(object, _.isNumber);\n     * // => { 'b': '2' }\n     */\n    function omitBy(object, predicate) {\n      return pickBy(object, negate(getIteratee(predicate)));\n    }\n\n    /**\n     * Creates an object composed of the picked `object` properties.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Object\n     * @param {Object} object The source object.\n     * @param {...(string|string[])} [paths] The property paths to pick.\n     * @returns {Object} Returns the new object.\n     * @example\n     *\n     * var object = { 'a': 1, 'b': '2', 'c': 3 };\n     *\n     * _.pick(object, ['a', 'c']);\n     * // => { 'a': 1, 'c': 3 }\n     */\n    var pick = flatRest(function(object, paths) {\n      return object == null ? {} : basePick(object, paths);\n    });\n\n    /**\n     * Creates an object composed of the `object` properties `predicate` returns\n     * truthy for. The predicate is invoked with two arguments: (value, key).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Object\n     * @param {Object} object The source object.\n     * @param {Function} [predicate=_.identity] The function invoked per property.\n     * @returns {Object} Returns the new object.\n     * @example\n     *\n     * var object = { 'a': 1, 'b': '2', 'c': 3 };\n     *\n     * _.pickBy(object, _.isNumber);\n     * // => { 'a': 1, 'c': 3 }\n     */\n    function pickBy(object, predicate) {\n      if (object == null) {\n        return {};\n      }\n      var props = arrayMap(getAllKeysIn(object), function(prop) {\n        return [prop];\n      });\n      predicate = getIteratee(predicate);\n      return basePickBy(object, props, function(value, path) {\n        return predicate(value, path[0]);\n      });\n    }\n\n    /**\n     * This method is like `_.get` except that if the resolved value is a\n     * function it's invoked with the `this` binding of its parent object and\n     * its result is returned.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Object\n     * @param {Object} object The object to query.\n     * @param {Array|string} path The path of the property to resolve.\n     * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n     * @returns {*} Returns the resolved value.\n     * @example\n     *\n     * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] };\n     *\n     * _.result(object, 'a[0].b.c1');\n     * // => 3\n     *\n     * _.result(object, 'a[0].b.c2');\n     * // => 4\n     *\n     * _.result(object, 'a[0].b.c3', 'default');\n     * // => 'default'\n     *\n     * _.result(object, 'a[0].b.c3', _.constant('default'));\n     * // => 'default'\n     */\n    function result(object, path, defaultValue) {\n      path = castPath(path, object);\n\n      var index = -1,\n          length = path.length;\n\n      // Ensure the loop is entered when path is empty.\n      if (!length) {\n        length = 1;\n        object = undefined;\n      }\n      while (++index < length) {\n        var value = object == null ? undefined : object[toKey(path[index])];\n        if (value === undefined) {\n          index = length;\n          value = defaultValue;\n        }\n        object = isFunction(value) ? value.call(object) : value;\n      }\n      return object;\n    }\n\n    /**\n     * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n     * it's created. Arrays are created for missing index properties while objects\n     * are created for all other missing properties. Use `_.setWith` to customize\n     * `path` creation.\n     *\n     * **Note:** This method mutates `object`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.7.0\n     * @category Object\n     * @param {Object} object The object to modify.\n     * @param {Array|string} path The path of the property to set.\n     * @param {*} value The value to set.\n     * @returns {Object} Returns `object`.\n     * @example\n     *\n     * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n     *\n     * _.set(object, 'a[0].b.c', 4);\n     * console.log(object.a[0].b.c);\n     * // => 4\n     *\n     * _.set(object, ['x', '0', 'y', 'z'], 5);\n     * console.log(object.x[0].y.z);\n     * // => 5\n     */\n    function set(object, path, value) {\n      return object == null ? object : baseSet(object, path, value);\n    }\n\n    /**\n     * This method is like `_.set` except that it accepts `customizer` which is\n     * invoked to produce the objects of `path`.  If `customizer` returns `undefined`\n     * path creation is handled by the method instead. The `customizer` is invoked\n     * with three arguments: (nsValue, key, nsObject).\n     *\n     * **Note:** This method mutates `object`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Object\n     * @param {Object} object The object to modify.\n     * @param {Array|string} path The path of the property to set.\n     * @param {*} value The value to set.\n     * @param {Function} [customizer] The function to customize assigned values.\n     * @returns {Object} Returns `object`.\n     * @example\n     *\n     * var object = {};\n     *\n     * _.setWith(object, '[0][1]', 'a', Object);\n     * // => { '0': { '1': 'a' } }\n     */\n    function setWith(object, path, value, customizer) {\n      customizer = typeof customizer == 'function' ? customizer : undefined;\n      return object == null ? object : baseSet(object, path, value, customizer);\n    }\n\n    /**\n     * Creates an array of own enumerable string keyed-value pairs for `object`\n     * which can be consumed by `_.fromPairs`. If `object` is a map or set, its\n     * entries are returned.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @alias entries\n     * @category Object\n     * @param {Object} object The object to query.\n     * @returns {Array} Returns the key-value pairs.\n     * @example\n     *\n     * function Foo() {\n     *   this.a = 1;\n     *   this.b = 2;\n     * }\n     *\n     * Foo.prototype.c = 3;\n     *\n     * _.toPairs(new Foo);\n     * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed)\n     */\n    var toPairs = createToPairs(keys);\n\n    /**\n     * Creates an array of own and inherited enumerable string keyed-value pairs\n     * for `object` which can be consumed by `_.fromPairs`. If `object` is a map\n     * or set, its entries are returned.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @alias entriesIn\n     * @category Object\n     * @param {Object} object The object to query.\n     * @returns {Array} Returns the key-value pairs.\n     * @example\n     *\n     * function Foo() {\n     *   this.a = 1;\n     *   this.b = 2;\n     * }\n     *\n     * Foo.prototype.c = 3;\n     *\n     * _.toPairsIn(new Foo);\n     * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed)\n     */\n    var toPairsIn = createToPairs(keysIn);\n\n    /**\n     * An alternative to `_.reduce`; this method transforms `object` to a new\n     * `accumulator` object which is the result of running each of its own\n     * enumerable string keyed properties thru `iteratee`, with each invocation\n     * potentially mutating the `accumulator` object. If `accumulator` is not\n     * provided, a new object with the same `[[Prototype]]` will be used. The\n     * iteratee is invoked with four arguments: (accumulator, value, key, object).\n     * Iteratee functions may exit iteration early by explicitly returning `false`.\n     *\n     * @static\n     * @memberOf _\n     * @since 1.3.0\n     * @category Object\n     * @param {Object} object The object to iterate over.\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n     * @param {*} [accumulator] The custom accumulator value.\n     * @returns {*} Returns the accumulated value.\n     * @example\n     *\n     * _.transform([2, 3, 4], function(result, n) {\n     *   result.push(n *= n);\n     *   return n % 2 == 0;\n     * }, []);\n     * // => [4, 9]\n     *\n     * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n     *   (result[value] || (result[value] = [])).push(key);\n     * }, {});\n     * // => { '1': ['a', 'c'], '2': ['b'] }\n     */\n    function transform(object, iteratee, accumulator) {\n      var isArr = isArray(object),\n          isArrLike = isArr || isBuffer(object) || isTypedArray(object);\n\n      iteratee = getIteratee(iteratee, 4);\n      if (accumulator == null) {\n        var Ctor = object && object.constructor;\n        if (isArrLike) {\n          accumulator = isArr ? new Ctor : [];\n        }\n        else if (isObject(object)) {\n          accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {};\n        }\n        else {\n          accumulator = {};\n        }\n      }\n      (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) {\n        return iteratee(accumulator, value, index, object);\n      });\n      return accumulator;\n    }\n\n    /**\n     * Removes the property at `path` of `object`.\n     *\n     * **Note:** This method mutates `object`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Object\n     * @param {Object} object The object to modify.\n     * @param {Array|string} path The path of the property to unset.\n     * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n     * @example\n     *\n     * var object = { 'a': [{ 'b': { 'c': 7 } }] };\n     * _.unset(object, 'a[0].b.c');\n     * // => true\n     *\n     * console.log(object);\n     * // => { 'a': [{ 'b': {} }] };\n     *\n     * _.unset(object, ['a', '0', 'b', 'c']);\n     * // => true\n     *\n     * console.log(object);\n     * // => { 'a': [{ 'b': {} }] };\n     */\n    function unset(object, path) {\n      return object == null ? true : baseUnset(object, path);\n    }\n\n    /**\n     * This method is like `_.set` except that accepts `updater` to produce the\n     * value to set. Use `_.updateWith` to customize `path` creation. The `updater`\n     * is invoked with one argument: (value).\n     *\n     * **Note:** This method mutates `object`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.6.0\n     * @category Object\n     * @param {Object} object The object to modify.\n     * @param {Array|string} path The path of the property to set.\n     * @param {Function} updater The function to produce the updated value.\n     * @returns {Object} Returns `object`.\n     * @example\n     *\n     * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n     *\n     * _.update(object, 'a[0].b.c', function(n) { return n * n; });\n     * console.log(object.a[0].b.c);\n     * // => 9\n     *\n     * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; });\n     * console.log(object.x[0].y.z);\n     * // => 0\n     */\n    function update(object, path, updater) {\n      return object == null ? object : baseUpdate(object, path, castFunction(updater));\n    }\n\n    /**\n     * This method is like `_.update` except that it accepts `customizer` which is\n     * invoked to produce the objects of `path`.  If `customizer` returns `undefined`\n     * path creation is handled by the method instead. The `customizer` is invoked\n     * with three arguments: (nsValue, key, nsObject).\n     *\n     * **Note:** This method mutates `object`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.6.0\n     * @category Object\n     * @param {Object} object The object to modify.\n     * @param {Array|string} path The path of the property to set.\n     * @param {Function} updater The function to produce the updated value.\n     * @param {Function} [customizer] The function to customize assigned values.\n     * @returns {Object} Returns `object`.\n     * @example\n     *\n     * var object = {};\n     *\n     * _.updateWith(object, '[0][1]', _.constant('a'), Object);\n     * // => { '0': { '1': 'a' } }\n     */\n    function updateWith(object, path, updater, customizer) {\n      customizer = typeof customizer == 'function' ? customizer : undefined;\n      return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer);\n    }\n\n    /**\n     * Creates an array of the own enumerable string keyed property values of `object`.\n     *\n     * **Note:** Non-object values are coerced to objects.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Object\n     * @param {Object} object The object to query.\n     * @returns {Array} Returns the array of property values.\n     * @example\n     *\n     * function Foo() {\n     *   this.a = 1;\n     *   this.b = 2;\n     * }\n     *\n     * Foo.prototype.c = 3;\n     *\n     * _.values(new Foo);\n     * // => [1, 2] (iteration order is not guaranteed)\n     *\n     * _.values('hi');\n     * // => ['h', 'i']\n     */\n    function values(object) {\n      return object == null ? [] : baseValues(object, keys(object));\n    }\n\n    /**\n     * Creates an array of the own and inherited enumerable string keyed property\n     * values of `object`.\n     *\n     * **Note:** Non-object values are coerced to objects.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Object\n     * @param {Object} object The object to query.\n     * @returns {Array} Returns the array of property values.\n     * @example\n     *\n     * function Foo() {\n     *   this.a = 1;\n     *   this.b = 2;\n     * }\n     *\n     * Foo.prototype.c = 3;\n     *\n     * _.valuesIn(new Foo);\n     * // => [1, 2, 3] (iteration order is not guaranteed)\n     */\n    function valuesIn(object) {\n      return object == null ? [] : baseValues(object, keysIn(object));\n    }\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Clamps `number` within the inclusive `lower` and `upper` bounds.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Number\n     * @param {number} number The number to clamp.\n     * @param {number} [lower] The lower bound.\n     * @param {number} upper The upper bound.\n     * @returns {number} Returns the clamped number.\n     * @example\n     *\n     * _.clamp(-10, -5, 5);\n     * // => -5\n     *\n     * _.clamp(10, -5, 5);\n     * // => 5\n     */\n    function clamp(number, lower, upper) {\n      if (upper === undefined) {\n        upper = lower;\n        lower = undefined;\n      }\n      if (upper !== undefined) {\n        upper = toNumber(upper);\n        upper = upper === upper ? upper : 0;\n      }\n      if (lower !== undefined) {\n        lower = toNumber(lower);\n        lower = lower === lower ? lower : 0;\n      }\n      return baseClamp(toNumber(number), lower, upper);\n    }\n\n    /**\n     * Checks if `n` is between `start` and up to, but not including, `end`. If\n     * `end` is not specified, it's set to `start` with `start` then set to `0`.\n     * If `start` is greater than `end` the params are swapped to support\n     * negative ranges.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.3.0\n     * @category Number\n     * @param {number} number The number to check.\n     * @param {number} [start=0] The start of the range.\n     * @param {number} end The end of the range.\n     * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n     * @see _.range, _.rangeRight\n     * @example\n     *\n     * _.inRange(3, 2, 4);\n     * // => true\n     *\n     * _.inRange(4, 8);\n     * // => true\n     *\n     * _.inRange(4, 2);\n     * // => false\n     *\n     * _.inRange(2, 2);\n     * // => false\n     *\n     * _.inRange(1.2, 2);\n     * // => true\n     *\n     * _.inRange(5.2, 4);\n     * // => false\n     *\n     * _.inRange(-3, -2, -6);\n     * // => true\n     */\n    function inRange(number, start, end) {\n      start = toFinite(start);\n      if (end === undefined) {\n        end = start;\n        start = 0;\n      } else {\n        end = toFinite(end);\n      }\n      number = toNumber(number);\n      return baseInRange(number, start, end);\n    }\n\n    /**\n     * Produces a random number between the inclusive `lower` and `upper` bounds.\n     * If only one argument is provided a number between `0` and the given number\n     * is returned. If `floating` is `true`, or either `lower` or `upper` are\n     * floats, a floating-point number is returned instead of an integer.\n     *\n     * **Note:** JavaScript follows the IEEE-754 standard for resolving\n     * floating-point values which can produce unexpected results.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.7.0\n     * @category Number\n     * @param {number} [lower=0] The lower bound.\n     * @param {number} [upper=1] The upper bound.\n     * @param {boolean} [floating] Specify returning a floating-point number.\n     * @returns {number} Returns the random number.\n     * @example\n     *\n     * _.random(0, 5);\n     * // => an integer between 0 and 5\n     *\n     * _.random(5);\n     * // => also an integer between 0 and 5\n     *\n     * _.random(5, true);\n     * // => a floating-point number between 0 and 5\n     *\n     * _.random(1.2, 5.2);\n     * // => a floating-point number between 1.2 and 5.2\n     */\n    function random(lower, upper, floating) {\n      if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) {\n        upper = floating = undefined;\n      }\n      if (floating === undefined) {\n        if (typeof upper == 'boolean') {\n          floating = upper;\n          upper = undefined;\n        }\n        else if (typeof lower == 'boolean') {\n          floating = lower;\n          lower = undefined;\n        }\n      }\n      if (lower === undefined && upper === undefined) {\n        lower = 0;\n        upper = 1;\n      }\n      else {\n        lower = toFinite(lower);\n        if (upper === undefined) {\n          upper = lower;\n          lower = 0;\n        } else {\n          upper = toFinite(upper);\n        }\n      }\n      if (lower > upper) {\n        var temp = lower;\n        lower = upper;\n        upper = temp;\n      }\n      if (floating || lower % 1 || upper % 1) {\n        var rand = nativeRandom();\n        return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper);\n      }\n      return baseRandom(lower, upper);\n    }\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category String\n     * @param {string} [string=''] The string to convert.\n     * @returns {string} Returns the camel cased string.\n     * @example\n     *\n     * _.camelCase('Foo Bar');\n     * // => 'fooBar'\n     *\n     * _.camelCase('--foo-bar--');\n     * // => 'fooBar'\n     *\n     * _.camelCase('__FOO_BAR__');\n     * // => 'fooBar'\n     */\n    var camelCase = createCompounder(function(result, word, index) {\n      word = word.toLowerCase();\n      return result + (index ? capitalize(word) : word);\n    });\n\n    /**\n     * Converts the first character of `string` to upper case and the remaining\n     * to lower case.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category String\n     * @param {string} [string=''] The string to capitalize.\n     * @returns {string} Returns the capitalized string.\n     * @example\n     *\n     * _.capitalize('FRED');\n     * // => 'Fred'\n     */\n    function capitalize(string) {\n      return upperFirst(toString(string).toLowerCase());\n    }\n\n    /**\n     * Deburrs `string` by converting\n     * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n     * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n     * letters to basic Latin letters and removing\n     * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category String\n     * @param {string} [string=''] The string to deburr.\n     * @returns {string} Returns the deburred string.\n     * @example\n     *\n     * _.deburr('déjà vu');\n     * // => 'deja vu'\n     */\n    function deburr(string) {\n      string = toString(string);\n      return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n    }\n\n    /**\n     * Checks if `string` ends with the given target string.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category String\n     * @param {string} [string=''] The string to inspect.\n     * @param {string} [target] The string to search for.\n     * @param {number} [position=string.length] The position to search up to.\n     * @returns {boolean} Returns `true` if `string` ends with `target`,\n     *  else `false`.\n     * @example\n     *\n     * _.endsWith('abc', 'c');\n     * // => true\n     *\n     * _.endsWith('abc', 'b');\n     * // => false\n     *\n     * _.endsWith('abc', 'b', 2);\n     * // => true\n     */\n    function endsWith(string, target, position) {\n      string = toString(string);\n      target = baseToString(target);\n\n      var length = string.length;\n      position = position === undefined\n        ? length\n        : baseClamp(toInteger(position), 0, length);\n\n      var end = position;\n      position -= target.length;\n      return position >= 0 && string.slice(position, end) == target;\n    }\n\n    /**\n     * Converts the characters \"&\", \"<\", \">\", '\"', and \"'\" in `string` to their\n     * corresponding HTML entities.\n     *\n     * **Note:** No other characters are escaped. To escape additional\n     * characters use a third-party library like [_he_](https://mths.be/he).\n     *\n     * Though the \">\" character is escaped for symmetry, characters like\n     * \">\" and \"/\" don't need escaping in HTML and have no special meaning\n     * unless they're part of a tag or unquoted attribute value. See\n     * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)\n     * (under \"semi-related fun fact\") for more details.\n     *\n     * When working with HTML you should always\n     * [quote attribute values](http://wonko.com/post/html-escaping) to reduce\n     * XSS vectors.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category String\n     * @param {string} [string=''] The string to escape.\n     * @returns {string} Returns the escaped string.\n     * @example\n     *\n     * _.escape('fred, barney, & pebbles');\n     * // => 'fred, barney, &amp; pebbles'\n     */\n    function escape(string) {\n      string = toString(string);\n      return (string && reHasUnescapedHtml.test(string))\n        ? string.replace(reUnescapedHtml, escapeHtmlChar)\n        : string;\n    }\n\n    /**\n     * Escapes the `RegExp` special characters \"^\", \"$\", \"\\\", \".\", \"*\", \"+\",\n     * \"?\", \"(\", \")\", \"[\", \"]\", \"{\", \"}\", and \"|\" in `string`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category String\n     * @param {string} [string=''] The string to escape.\n     * @returns {string} Returns the escaped string.\n     * @example\n     *\n     * _.escapeRegExp('[lodash](https://lodash.com/)');\n     * // => '\\[lodash\\]\\(https://lodash\\.com/\\)'\n     */\n    function escapeRegExp(string) {\n      string = toString(string);\n      return (string && reHasRegExpChar.test(string))\n        ? string.replace(reRegExpChar, '\\\\$&')\n        : string;\n    }\n\n    /**\n     * Converts `string` to\n     * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category String\n     * @param {string} [string=''] The string to convert.\n     * @returns {string} Returns the kebab cased string.\n     * @example\n     *\n     * _.kebabCase('Foo Bar');\n     * // => 'foo-bar'\n     *\n     * _.kebabCase('fooBar');\n     * // => 'foo-bar'\n     *\n     * _.kebabCase('__FOO_BAR__');\n     * // => 'foo-bar'\n     */\n    var kebabCase = createCompounder(function(result, word, index) {\n      return result + (index ? '-' : '') + word.toLowerCase();\n    });\n\n    /**\n     * Converts `string`, as space separated words, to lower case.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category String\n     * @param {string} [string=''] The string to convert.\n     * @returns {string} Returns the lower cased string.\n     * @example\n     *\n     * _.lowerCase('--Foo-Bar--');\n     * // => 'foo bar'\n     *\n     * _.lowerCase('fooBar');\n     * // => 'foo bar'\n     *\n     * _.lowerCase('__FOO_BAR__');\n     * // => 'foo bar'\n     */\n    var lowerCase = createCompounder(function(result, word, index) {\n      return result + (index ? ' ' : '') + word.toLowerCase();\n    });\n\n    /**\n     * Converts the first character of `string` to lower case.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category String\n     * @param {string} [string=''] The string to convert.\n     * @returns {string} Returns the converted string.\n     * @example\n     *\n     * _.lowerFirst('Fred');\n     * // => 'fred'\n     *\n     * _.lowerFirst('FRED');\n     * // => 'fRED'\n     */\n    var lowerFirst = createCaseFirst('toLowerCase');\n\n    /**\n     * Pads `string` on the left and right sides if it's shorter than `length`.\n     * Padding characters are truncated if they can't be evenly divided by `length`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category String\n     * @param {string} [string=''] The string to pad.\n     * @param {number} [length=0] The padding length.\n     * @param {string} [chars=' '] The string used as padding.\n     * @returns {string} Returns the padded string.\n     * @example\n     *\n     * _.pad('abc', 8);\n     * // => '  abc   '\n     *\n     * _.pad('abc', 8, '_-');\n     * // => '_-abc_-_'\n     *\n     * _.pad('abc', 3);\n     * // => 'abc'\n     */\n    function pad(string, length, chars) {\n      string = toString(string);\n      length = toInteger(length);\n\n      var strLength = length ? stringSize(string) : 0;\n      if (!length || strLength >= length) {\n        return string;\n      }\n      var mid = (length - strLength) / 2;\n      return (\n        createPadding(nativeFloor(mid), chars) +\n        string +\n        createPadding(nativeCeil(mid), chars)\n      );\n    }\n\n    /**\n     * Pads `string` on the right side if it's shorter than `length`. Padding\n     * characters are truncated if they exceed `length`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category String\n     * @param {string} [string=''] The string to pad.\n     * @param {number} [length=0] The padding length.\n     * @param {string} [chars=' '] The string used as padding.\n     * @returns {string} Returns the padded string.\n     * @example\n     *\n     * _.padEnd('abc', 6);\n     * // => 'abc   '\n     *\n     * _.padEnd('abc', 6, '_-');\n     * // => 'abc_-_'\n     *\n     * _.padEnd('abc', 3);\n     * // => 'abc'\n     */\n    function padEnd(string, length, chars) {\n      string = toString(string);\n      length = toInteger(length);\n\n      var strLength = length ? stringSize(string) : 0;\n      return (length && strLength < length)\n        ? (string + createPadding(length - strLength, chars))\n        : string;\n    }\n\n    /**\n     * Pads `string` on the left side if it's shorter than `length`. Padding\n     * characters are truncated if they exceed `length`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category String\n     * @param {string} [string=''] The string to pad.\n     * @param {number} [length=0] The padding length.\n     * @param {string} [chars=' '] The string used as padding.\n     * @returns {string} Returns the padded string.\n     * @example\n     *\n     * _.padStart('abc', 6);\n     * // => '   abc'\n     *\n     * _.padStart('abc', 6, '_-');\n     * // => '_-_abc'\n     *\n     * _.padStart('abc', 3);\n     * // => 'abc'\n     */\n    function padStart(string, length, chars) {\n      string = toString(string);\n      length = toInteger(length);\n\n      var strLength = length ? stringSize(string) : 0;\n      return (length && strLength < length)\n        ? (createPadding(length - strLength, chars) + string)\n        : string;\n    }\n\n    /**\n     * Converts `string` to an integer of the specified radix. If `radix` is\n     * `undefined` or `0`, a `radix` of `10` is used unless `value` is a\n     * hexadecimal, in which case a `radix` of `16` is used.\n     *\n     * **Note:** This method aligns with the\n     * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`.\n     *\n     * @static\n     * @memberOf _\n     * @since 1.1.0\n     * @category String\n     * @param {string} string The string to convert.\n     * @param {number} [radix=10] The radix to interpret `value` by.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {number} Returns the converted integer.\n     * @example\n     *\n     * _.parseInt('08');\n     * // => 8\n     *\n     * _.map(['6', '08', '10'], _.parseInt);\n     * // => [6, 8, 10]\n     */\n    function parseInt(string, radix, guard) {\n      if (guard || radix == null) {\n        radix = 0;\n      } else if (radix) {\n        radix = +radix;\n      }\n      return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0);\n    }\n\n    /**\n     * Repeats the given string `n` times.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category String\n     * @param {string} [string=''] The string to repeat.\n     * @param {number} [n=1] The number of times to repeat the string.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {string} Returns the repeated string.\n     * @example\n     *\n     * _.repeat('*', 3);\n     * // => '***'\n     *\n     * _.repeat('abc', 2);\n     * // => 'abcabc'\n     *\n     * _.repeat('abc', 0);\n     * // => ''\n     */\n    function repeat(string, n, guard) {\n      if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) {\n        n = 1;\n      } else {\n        n = toInteger(n);\n      }\n      return baseRepeat(toString(string), n);\n    }\n\n    /**\n     * Replaces matches for `pattern` in `string` with `replacement`.\n     *\n     * **Note:** This method is based on\n     * [`String#replace`](https://mdn.io/String/replace).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category String\n     * @param {string} [string=''] The string to modify.\n     * @param {RegExp|string} pattern The pattern to replace.\n     * @param {Function|string} replacement The match replacement.\n     * @returns {string} Returns the modified string.\n     * @example\n     *\n     * _.replace('Hi Fred', 'Fred', 'Barney');\n     * // => 'Hi Barney'\n     */\n    function replace() {\n      var args = arguments,\n          string = toString(args[0]);\n\n      return args.length < 3 ? string : string.replace(args[1], args[2]);\n    }\n\n    /**\n     * Converts `string` to\n     * [snake case](https://en.wikipedia.org/wiki/Snake_case).\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category String\n     * @param {string} [string=''] The string to convert.\n     * @returns {string} Returns the snake cased string.\n     * @example\n     *\n     * _.snakeCase('Foo Bar');\n     * // => 'foo_bar'\n     *\n     * _.snakeCase('fooBar');\n     * // => 'foo_bar'\n     *\n     * _.snakeCase('--FOO-BAR--');\n     * // => 'foo_bar'\n     */\n    var snakeCase = createCompounder(function(result, word, index) {\n      return result + (index ? '_' : '') + word.toLowerCase();\n    });\n\n    /**\n     * Splits `string` by `separator`.\n     *\n     * **Note:** This method is based on\n     * [`String#split`](https://mdn.io/String/split).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category String\n     * @param {string} [string=''] The string to split.\n     * @param {RegExp|string} separator The separator pattern to split by.\n     * @param {number} [limit] The length to truncate results to.\n     * @returns {Array} Returns the string segments.\n     * @example\n     *\n     * _.split('a-b-c', '-', 2);\n     * // => ['a', 'b']\n     */\n    function split(string, separator, limit) {\n      if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) {\n        separator = limit = undefined;\n      }\n      limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0;\n      if (!limit) {\n        return [];\n      }\n      string = toString(string);\n      if (string && (\n            typeof separator == 'string' ||\n            (separator != null && !isRegExp(separator))\n          )) {\n        separator = baseToString(separator);\n        if (!separator && hasUnicode(string)) {\n          return castSlice(stringToArray(string), 0, limit);\n        }\n      }\n      return string.split(separator, limit);\n    }\n\n    /**\n     * Converts `string` to\n     * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).\n     *\n     * @static\n     * @memberOf _\n     * @since 3.1.0\n     * @category String\n     * @param {string} [string=''] The string to convert.\n     * @returns {string} Returns the start cased string.\n     * @example\n     *\n     * _.startCase('--foo-bar--');\n     * // => 'Foo Bar'\n     *\n     * _.startCase('fooBar');\n     * // => 'Foo Bar'\n     *\n     * _.startCase('__FOO_BAR__');\n     * // => 'FOO BAR'\n     */\n    var startCase = createCompounder(function(result, word, index) {\n      return result + (index ? ' ' : '') + upperFirst(word);\n    });\n\n    /**\n     * Checks if `string` starts with the given target string.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category String\n     * @param {string} [string=''] The string to inspect.\n     * @param {string} [target] The string to search for.\n     * @param {number} [position=0] The position to search from.\n     * @returns {boolean} Returns `true` if `string` starts with `target`,\n     *  else `false`.\n     * @example\n     *\n     * _.startsWith('abc', 'a');\n     * // => true\n     *\n     * _.startsWith('abc', 'b');\n     * // => false\n     *\n     * _.startsWith('abc', 'b', 1);\n     * // => true\n     */\n    function startsWith(string, target, position) {\n      string = toString(string);\n      position = position == null\n        ? 0\n        : baseClamp(toInteger(position), 0, string.length);\n\n      target = baseToString(target);\n      return string.slice(position, position + target.length) == target;\n    }\n\n    /**\n     * Creates a compiled template function that can interpolate data properties\n     * in \"interpolate\" delimiters, HTML-escape interpolated data properties in\n     * \"escape\" delimiters, and execute JavaScript in \"evaluate\" delimiters. Data\n     * properties may be accessed as free variables in the template. If a setting\n     * object is given, it takes precedence over `_.templateSettings` values.\n     *\n     * **Note:** In the development build `_.template` utilizes\n     * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)\n     * for easier debugging.\n     *\n     * For more information on precompiling templates see\n     * [lodash's custom builds documentation](https://lodash.com/custom-builds).\n     *\n     * For more information on Chrome extension sandboxes see\n     * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval).\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category String\n     * @param {string} [string=''] The template string.\n     * @param {Object} [options={}] The options object.\n     * @param {RegExp} [options.escape=_.templateSettings.escape]\n     *  The HTML \"escape\" delimiter.\n     * @param {RegExp} [options.evaluate=_.templateSettings.evaluate]\n     *  The \"evaluate\" delimiter.\n     * @param {Object} [options.imports=_.templateSettings.imports]\n     *  An object to import into the template as free variables.\n     * @param {RegExp} [options.interpolate=_.templateSettings.interpolate]\n     *  The \"interpolate\" delimiter.\n     * @param {string} [options.sourceURL='lodash.templateSources[n]']\n     *  The sourceURL of the compiled template.\n     * @param {string} [options.variable='obj']\n     *  The data object variable name.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {Function} Returns the compiled template function.\n     * @example\n     *\n     * // Use the \"interpolate\" delimiter to create a compiled template.\n     * var compiled = _.template('hello <%= user %>!');\n     * compiled({ 'user': 'fred' });\n     * // => 'hello fred!'\n     *\n     * // Use the HTML \"escape\" delimiter to escape data property values.\n     * var compiled = _.template('<b><%- value %></b>');\n     * compiled({ 'value': '<script>' });\n     * // => '<b>&lt;script&gt;</b>'\n     *\n     * // Use the \"evaluate\" delimiter to execute JavaScript and generate HTML.\n     * var compiled = _.template('<% _.forEach(users, function(user) { %><li><%- user %></li><% }); %>');\n     * compiled({ 'users': ['fred', 'barney'] });\n     * // => '<li>fred</li><li>barney</li>'\n     *\n     * // Use the internal `print` function in \"evaluate\" delimiters.\n     * var compiled = _.template('<% print(\"hello \" + user); %>!');\n     * compiled({ 'user': 'barney' });\n     * // => 'hello barney!'\n     *\n     * // Use the ES template literal delimiter as an \"interpolate\" delimiter.\n     * // Disable support by replacing the \"interpolate\" delimiter.\n     * var compiled = _.template('hello ${ user }!');\n     * compiled({ 'user': 'pebbles' });\n     * // => 'hello pebbles!'\n     *\n     * // Use backslashes to treat delimiters as plain text.\n     * var compiled = _.template('<%= \"\\\\<%- value %\\\\>\" %>');\n     * compiled({ 'value': 'ignored' });\n     * // => '<%- value %>'\n     *\n     * // Use the `imports` option to import `jQuery` as `jq`.\n     * var text = '<% jq.each(users, function(user) { %><li><%- user %></li><% }); %>';\n     * var compiled = _.template(text, { 'imports': { 'jq': jQuery } });\n     * compiled({ 'users': ['fred', 'barney'] });\n     * // => '<li>fred</li><li>barney</li>'\n     *\n     * // Use the `sourceURL` option to specify a custom sourceURL for the template.\n     * var compiled = _.template('hello <%= user %>!', { 'sourceURL': '/basic/greeting.jst' });\n     * compiled(data);\n     * // => Find the source of \"greeting.jst\" under the Sources tab or Resources panel of the web inspector.\n     *\n     * // Use the `variable` option to ensure a with-statement isn't used in the compiled template.\n     * var compiled = _.template('hi <%= data.user %>!', { 'variable': 'data' });\n     * compiled.source;\n     * // => function(data) {\n     * //   var __t, __p = '';\n     * //   __p += 'hi ' + ((__t = ( data.user )) == null ? '' : __t) + '!';\n     * //   return __p;\n     * // }\n     *\n     * // Use custom template delimiters.\n     * _.templateSettings.interpolate = /{{([\\s\\S]+?)}}/g;\n     * var compiled = _.template('hello {{ user }}!');\n     * compiled({ 'user': 'mustache' });\n     * // => 'hello mustache!'\n     *\n     * // Use the `source` property to inline compiled templates for meaningful\n     * // line numbers in error messages and stack traces.\n     * fs.writeFileSync(path.join(process.cwd(), 'jst.js'), '\\\n     *   var JST = {\\\n     *     \"main\": ' + _.template(mainText).source + '\\\n     *   };\\\n     * ');\n     */\n    function template(string, options, guard) {\n      // Based on John Resig's `tmpl` implementation\n      // (http://ejohn.org/blog/javascript-micro-templating/)\n      // and Laura Doktorova's doT.js (https://github.com/olado/doT).\n      var settings = lodash.templateSettings;\n\n      if (guard && isIterateeCall(string, options, guard)) {\n        options = undefined;\n      }\n      string = toString(string);\n      options = assignInWith({}, options, settings, customDefaultsAssignIn);\n\n      var imports = assignInWith({}, options.imports, settings.imports, customDefaultsAssignIn),\n          importsKeys = keys(imports),\n          importsValues = baseValues(imports, importsKeys);\n\n      var isEscaping,\n          isEvaluating,\n          index = 0,\n          interpolate = options.interpolate || reNoMatch,\n          source = \"__p += '\";\n\n      // Compile the regexp to match each delimiter.\n      var reDelimiters = RegExp(\n        (options.escape || reNoMatch).source + '|' +\n        interpolate.source + '|' +\n        (interpolate === reInterpolate ? reEsTemplate : reNoMatch).source + '|' +\n        (options.evaluate || reNoMatch).source + '|$'\n      , 'g');\n\n      // Use a sourceURL for easier debugging.\n      // The sourceURL gets injected into the source that's eval-ed, so be careful\n      // to normalize all kinds of whitespace, so e.g. newlines (and unicode versions of it) can't sneak in\n      // and escape the comment, thus injecting code that gets evaled.\n      var sourceURL = '//# sourceURL=' +\n        (hasOwnProperty.call(options, 'sourceURL')\n          ? (options.sourceURL + '').replace(/\\s/g, ' ')\n          : ('lodash.templateSources[' + (++templateCounter) + ']')\n        ) + '\\n';\n\n      string.replace(reDelimiters, function(match, escapeValue, interpolateValue, esTemplateValue, evaluateValue, offset) {\n        interpolateValue || (interpolateValue = esTemplateValue);\n\n        // Escape characters that can't be included in string literals.\n        source += string.slice(index, offset).replace(reUnescapedString, escapeStringChar);\n\n        // Replace delimiters with snippets.\n        if (escapeValue) {\n          isEscaping = true;\n          source += \"' +\\n__e(\" + escapeValue + \") +\\n'\";\n        }\n        if (evaluateValue) {\n          isEvaluating = true;\n          source += \"';\\n\" + evaluateValue + \";\\n__p += '\";\n        }\n        if (interpolateValue) {\n          source += \"' +\\n((__t = (\" + interpolateValue + \")) == null ? '' : __t) +\\n'\";\n        }\n        index = offset + match.length;\n\n        // The JS engine embedded in Adobe products needs `match` returned in\n        // order to produce the correct `offset` value.\n        return match;\n      });\n\n      source += \"';\\n\";\n\n      // If `variable` is not specified wrap a with-statement around the generated\n      // code to add the data object to the top of the scope chain.\n      var variable = hasOwnProperty.call(options, 'variable') && options.variable;\n      if (!variable) {\n        source = 'with (obj) {\\n' + source + '\\n}\\n';\n      }\n      // Throw an error if a forbidden character was found in `variable`, to prevent\n      // potential command injection attacks.\n      else if (reForbiddenIdentifierChars.test(variable)) {\n        throw new Error(INVALID_TEMPL_VAR_ERROR_TEXT);\n      }\n\n      // Cleanup code by stripping empty strings.\n      source = (isEvaluating ? source.replace(reEmptyStringLeading, '') : source)\n        .replace(reEmptyStringMiddle, '$1')\n        .replace(reEmptyStringTrailing, '$1;');\n\n      // Frame code as the function body.\n      source = 'function(' + (variable || 'obj') + ') {\\n' +\n        (variable\n          ? ''\n          : 'obj || (obj = {});\\n'\n        ) +\n        \"var __t, __p = ''\" +\n        (isEscaping\n           ? ', __e = _.escape'\n           : ''\n        ) +\n        (isEvaluating\n          ? ', __j = Array.prototype.join;\\n' +\n            \"function print() { __p += __j.call(arguments, '') }\\n\"\n          : ';\\n'\n        ) +\n        source +\n        'return __p\\n}';\n\n      var result = attempt(function() {\n        return Function(importsKeys, sourceURL + 'return ' + source)\n          .apply(undefined, importsValues);\n      });\n\n      // Provide the compiled function's source by its `toString` method or\n      // the `source` property as a convenience for inlining compiled templates.\n      result.source = source;\n      if (isError(result)) {\n        throw result;\n      }\n      return result;\n    }\n\n    /**\n     * Converts `string`, as a whole, to lower case just like\n     * [String#toLowerCase](https://mdn.io/toLowerCase).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category String\n     * @param {string} [string=''] The string to convert.\n     * @returns {string} Returns the lower cased string.\n     * @example\n     *\n     * _.toLower('--Foo-Bar--');\n     * // => '--foo-bar--'\n     *\n     * _.toLower('fooBar');\n     * // => 'foobar'\n     *\n     * _.toLower('__FOO_BAR__');\n     * // => '__foo_bar__'\n     */\n    function toLower(value) {\n      return toString(value).toLowerCase();\n    }\n\n    /**\n     * Converts `string`, as a whole, to upper case just like\n     * [String#toUpperCase](https://mdn.io/toUpperCase).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category String\n     * @param {string} [string=''] The string to convert.\n     * @returns {string} Returns the upper cased string.\n     * @example\n     *\n     * _.toUpper('--foo-bar--');\n     * // => '--FOO-BAR--'\n     *\n     * _.toUpper('fooBar');\n     * // => 'FOOBAR'\n     *\n     * _.toUpper('__foo_bar__');\n     * // => '__FOO_BAR__'\n     */\n    function toUpper(value) {\n      return toString(value).toUpperCase();\n    }\n\n    /**\n     * Removes leading and trailing whitespace or specified characters from `string`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category String\n     * @param {string} [string=''] The string to trim.\n     * @param {string} [chars=whitespace] The characters to trim.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {string} Returns the trimmed string.\n     * @example\n     *\n     * _.trim('  abc  ');\n     * // => 'abc'\n     *\n     * _.trim('-_-abc-_-', '_-');\n     * // => 'abc'\n     *\n     * _.map(['  foo  ', '  bar  '], _.trim);\n     * // => ['foo', 'bar']\n     */\n    function trim(string, chars, guard) {\n      string = toString(string);\n      if (string && (guard || chars === undefined)) {\n        return baseTrim(string);\n      }\n      if (!string || !(chars = baseToString(chars))) {\n        return string;\n      }\n      var strSymbols = stringToArray(string),\n          chrSymbols = stringToArray(chars),\n          start = charsStartIndex(strSymbols, chrSymbols),\n          end = charsEndIndex(strSymbols, chrSymbols) + 1;\n\n      return castSlice(strSymbols, start, end).join('');\n    }\n\n    /**\n     * Removes trailing whitespace or specified characters from `string`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category String\n     * @param {string} [string=''] The string to trim.\n     * @param {string} [chars=whitespace] The characters to trim.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {string} Returns the trimmed string.\n     * @example\n     *\n     * _.trimEnd('  abc  ');\n     * // => '  abc'\n     *\n     * _.trimEnd('-_-abc-_-', '_-');\n     * // => '-_-abc'\n     */\n    function trimEnd(string, chars, guard) {\n      string = toString(string);\n      if (string && (guard || chars === undefined)) {\n        return string.slice(0, trimmedEndIndex(string) + 1);\n      }\n      if (!string || !(chars = baseToString(chars))) {\n        return string;\n      }\n      var strSymbols = stringToArray(string),\n          end = charsEndIndex(strSymbols, stringToArray(chars)) + 1;\n\n      return castSlice(strSymbols, 0, end).join('');\n    }\n\n    /**\n     * Removes leading whitespace or specified characters from `string`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category String\n     * @param {string} [string=''] The string to trim.\n     * @param {string} [chars=whitespace] The characters to trim.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {string} Returns the trimmed string.\n     * @example\n     *\n     * _.trimStart('  abc  ');\n     * // => 'abc  '\n     *\n     * _.trimStart('-_-abc-_-', '_-');\n     * // => 'abc-_-'\n     */\n    function trimStart(string, chars, guard) {\n      string = toString(string);\n      if (string && (guard || chars === undefined)) {\n        return string.replace(reTrimStart, '');\n      }\n      if (!string || !(chars = baseToString(chars))) {\n        return string;\n      }\n      var strSymbols = stringToArray(string),\n          start = charsStartIndex(strSymbols, stringToArray(chars));\n\n      return castSlice(strSymbols, start).join('');\n    }\n\n    /**\n     * Truncates `string` if it's longer than the given maximum string length.\n     * The last characters of the truncated string are replaced with the omission\n     * string which defaults to \"...\".\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category String\n     * @param {string} [string=''] The string to truncate.\n     * @param {Object} [options={}] The options object.\n     * @param {number} [options.length=30] The maximum string length.\n     * @param {string} [options.omission='...'] The string to indicate text is omitted.\n     * @param {RegExp|string} [options.separator] The separator pattern to truncate to.\n     * @returns {string} Returns the truncated string.\n     * @example\n     *\n     * _.truncate('hi-diddly-ho there, neighborino');\n     * // => 'hi-diddly-ho there, neighbo...'\n     *\n     * _.truncate('hi-diddly-ho there, neighborino', {\n     *   'length': 24,\n     *   'separator': ' '\n     * });\n     * // => 'hi-diddly-ho there,...'\n     *\n     * _.truncate('hi-diddly-ho there, neighborino', {\n     *   'length': 24,\n     *   'separator': /,? +/\n     * });\n     * // => 'hi-diddly-ho there...'\n     *\n     * _.truncate('hi-diddly-ho there, neighborino', {\n     *   'omission': ' [...]'\n     * });\n     * // => 'hi-diddly-ho there, neig [...]'\n     */\n    function truncate(string, options) {\n      var length = DEFAULT_TRUNC_LENGTH,\n          omission = DEFAULT_TRUNC_OMISSION;\n\n      if (isObject(options)) {\n        var separator = 'separator' in options ? options.separator : separator;\n        length = 'length' in options ? toInteger(options.length) : length;\n        omission = 'omission' in options ? baseToString(options.omission) : omission;\n      }\n      string = toString(string);\n\n      var strLength = string.length;\n      if (hasUnicode(string)) {\n        var strSymbols = stringToArray(string);\n        strLength = strSymbols.length;\n      }\n      if (length >= strLength) {\n        return string;\n      }\n      var end = length - stringSize(omission);\n      if (end < 1) {\n        return omission;\n      }\n      var result = strSymbols\n        ? castSlice(strSymbols, 0, end).join('')\n        : string.slice(0, end);\n\n      if (separator === undefined) {\n        return result + omission;\n      }\n      if (strSymbols) {\n        end += (result.length - end);\n      }\n      if (isRegExp(separator)) {\n        if (string.slice(end).search(separator)) {\n          var match,\n              substring = result;\n\n          if (!separator.global) {\n            separator = RegExp(separator.source, toString(reFlags.exec(separator)) + 'g');\n          }\n          separator.lastIndex = 0;\n          while ((match = separator.exec(substring))) {\n            var newEnd = match.index;\n          }\n          result = result.slice(0, newEnd === undefined ? end : newEnd);\n        }\n      } else if (string.indexOf(baseToString(separator), end) != end) {\n        var index = result.lastIndexOf(separator);\n        if (index > -1) {\n          result = result.slice(0, index);\n        }\n      }\n      return result + omission;\n    }\n\n    /**\n     * The inverse of `_.escape`; this method converts the HTML entities\n     * `&amp;`, `&lt;`, `&gt;`, `&quot;`, and `&#39;` in `string` to\n     * their corresponding characters.\n     *\n     * **Note:** No other HTML entities are unescaped. To unescape additional\n     * HTML entities use a third-party library like [_he_](https://mths.be/he).\n     *\n     * @static\n     * @memberOf _\n     * @since 0.6.0\n     * @category String\n     * @param {string} [string=''] The string to unescape.\n     * @returns {string} Returns the unescaped string.\n     * @example\n     *\n     * _.unescape('fred, barney, &amp; pebbles');\n     * // => 'fred, barney, & pebbles'\n     */\n    function unescape(string) {\n      string = toString(string);\n      return (string && reHasEscapedHtml.test(string))\n        ? string.replace(reEscapedHtml, unescapeHtmlChar)\n        : string;\n    }\n\n    /**\n     * Converts `string`, as space separated words, to upper case.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category String\n     * @param {string} [string=''] The string to convert.\n     * @returns {string} Returns the upper cased string.\n     * @example\n     *\n     * _.upperCase('--foo-bar');\n     * // => 'FOO BAR'\n     *\n     * _.upperCase('fooBar');\n     * // => 'FOO BAR'\n     *\n     * _.upperCase('__foo_bar__');\n     * // => 'FOO BAR'\n     */\n    var upperCase = createCompounder(function(result, word, index) {\n      return result + (index ? ' ' : '') + word.toUpperCase();\n    });\n\n    /**\n     * Converts the first character of `string` to upper case.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category String\n     * @param {string} [string=''] The string to convert.\n     * @returns {string} Returns the converted string.\n     * @example\n     *\n     * _.upperFirst('fred');\n     * // => 'Fred'\n     *\n     * _.upperFirst('FRED');\n     * // => 'FRED'\n     */\n    var upperFirst = createCaseFirst('toUpperCase');\n\n    /**\n     * Splits `string` into an array of its words.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category String\n     * @param {string} [string=''] The string to inspect.\n     * @param {RegExp|string} [pattern] The pattern to match words.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {Array} Returns the words of `string`.\n     * @example\n     *\n     * _.words('fred, barney, & pebbles');\n     * // => ['fred', 'barney', 'pebbles']\n     *\n     * _.words('fred, barney, & pebbles', /[^, ]+/g);\n     * // => ['fred', 'barney', '&', 'pebbles']\n     */\n    function words(string, pattern, guard) {\n      string = toString(string);\n      pattern = guard ? undefined : pattern;\n\n      if (pattern === undefined) {\n        return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);\n      }\n      return string.match(pattern) || [];\n    }\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Attempts to invoke `func`, returning either the result or the caught error\n     * object. Any additional arguments are provided to `func` when it's invoked.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Util\n     * @param {Function} func The function to attempt.\n     * @param {...*} [args] The arguments to invoke `func` with.\n     * @returns {*} Returns the `func` result or error object.\n     * @example\n     *\n     * // Avoid throwing errors for invalid selectors.\n     * var elements = _.attempt(function(selector) {\n     *   return document.querySelectorAll(selector);\n     * }, '>_>');\n     *\n     * if (_.isError(elements)) {\n     *   elements = [];\n     * }\n     */\n    var attempt = baseRest(function(func, args) {\n      try {\n        return apply(func, undefined, args);\n      } catch (e) {\n        return isError(e) ? e : new Error(e);\n      }\n    });\n\n    /**\n     * Binds methods of an object to the object itself, overwriting the existing\n     * method.\n     *\n     * **Note:** This method doesn't set the \"length\" property of bound functions.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Util\n     * @param {Object} object The object to bind and assign the bound methods to.\n     * @param {...(string|string[])} methodNames The object method names to bind.\n     * @returns {Object} Returns `object`.\n     * @example\n     *\n     * var view = {\n     *   'label': 'docs',\n     *   'click': function() {\n     *     console.log('clicked ' + this.label);\n     *   }\n     * };\n     *\n     * _.bindAll(view, ['click']);\n     * jQuery(element).on('click', view.click);\n     * // => Logs 'clicked docs' when clicked.\n     */\n    var bindAll = flatRest(function(object, methodNames) {\n      arrayEach(methodNames, function(key) {\n        key = toKey(key);\n        baseAssignValue(object, key, bind(object[key], object));\n      });\n      return object;\n    });\n\n    /**\n     * Creates a function that iterates over `pairs` and invokes the corresponding\n     * function of the first predicate to return truthy. The predicate-function\n     * pairs are invoked with the `this` binding and arguments of the created\n     * function.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Util\n     * @param {Array} pairs The predicate-function pairs.\n     * @returns {Function} Returns the new composite function.\n     * @example\n     *\n     * var func = _.cond([\n     *   [_.matches({ 'a': 1 }),           _.constant('matches A')],\n     *   [_.conforms({ 'b': _.isNumber }), _.constant('matches B')],\n     *   [_.stubTrue,                      _.constant('no match')]\n     * ]);\n     *\n     * func({ 'a': 1, 'b': 2 });\n     * // => 'matches A'\n     *\n     * func({ 'a': 0, 'b': 1 });\n     * // => 'matches B'\n     *\n     * func({ 'a': '1', 'b': '2' });\n     * // => 'no match'\n     */\n    function cond(pairs) {\n      var length = pairs == null ? 0 : pairs.length,\n          toIteratee = getIteratee();\n\n      pairs = !length ? [] : arrayMap(pairs, function(pair) {\n        if (typeof pair[1] != 'function') {\n          throw new TypeError(FUNC_ERROR_TEXT);\n        }\n        return [toIteratee(pair[0]), pair[1]];\n      });\n\n      return baseRest(function(args) {\n        var index = -1;\n        while (++index < length) {\n          var pair = pairs[index];\n          if (apply(pair[0], this, args)) {\n            return apply(pair[1], this, args);\n          }\n        }\n      });\n    }\n\n    /**\n     * Creates a function that invokes the predicate properties of `source` with\n     * the corresponding property values of a given object, returning `true` if\n     * all predicates return truthy, else `false`.\n     *\n     * **Note:** The created function is equivalent to `_.conformsTo` with\n     * `source` partially applied.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Util\n     * @param {Object} source The object of property predicates to conform to.\n     * @returns {Function} Returns the new spec function.\n     * @example\n     *\n     * var objects = [\n     *   { 'a': 2, 'b': 1 },\n     *   { 'a': 1, 'b': 2 }\n     * ];\n     *\n     * _.filter(objects, _.conforms({ 'b': function(n) { return n > 1; } }));\n     * // => [{ 'a': 1, 'b': 2 }]\n     */\n    function conforms(source) {\n      return baseConforms(baseClone(source, CLONE_DEEP_FLAG));\n    }\n\n    /**\n     * Creates a function that returns `value`.\n     *\n     * @static\n     * @memberOf _\n     * @since 2.4.0\n     * @category Util\n     * @param {*} value The value to return from the new function.\n     * @returns {Function} Returns the new constant function.\n     * @example\n     *\n     * var objects = _.times(2, _.constant({ 'a': 1 }));\n     *\n     * console.log(objects);\n     * // => [{ 'a': 1 }, { 'a': 1 }]\n     *\n     * console.log(objects[0] === objects[1]);\n     * // => true\n     */\n    function constant(value) {\n      return function() {\n        return value;\n      };\n    }\n\n    /**\n     * Checks `value` to determine whether a default value should be returned in\n     * its place. The `defaultValue` is returned if `value` is `NaN`, `null`,\n     * or `undefined`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.14.0\n     * @category Util\n     * @param {*} value The value to check.\n     * @param {*} defaultValue The default value.\n     * @returns {*} Returns the resolved value.\n     * @example\n     *\n     * _.defaultTo(1, 10);\n     * // => 1\n     *\n     * _.defaultTo(undefined, 10);\n     * // => 10\n     */\n    function defaultTo(value, defaultValue) {\n      return (value == null || value !== value) ? defaultValue : value;\n    }\n\n    /**\n     * Creates a function that returns the result of invoking the given functions\n     * with the `this` binding of the created function, where each successive\n     * invocation is supplied the return value of the previous.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Util\n     * @param {...(Function|Function[])} [funcs] The functions to invoke.\n     * @returns {Function} Returns the new composite function.\n     * @see _.flowRight\n     * @example\n     *\n     * function square(n) {\n     *   return n * n;\n     * }\n     *\n     * var addSquare = _.flow([_.add, square]);\n     * addSquare(1, 2);\n     * // => 9\n     */\n    var flow = createFlow();\n\n    /**\n     * This method is like `_.flow` except that it creates a function that\n     * invokes the given functions from right to left.\n     *\n     * @static\n     * @since 3.0.0\n     * @memberOf _\n     * @category Util\n     * @param {...(Function|Function[])} [funcs] The functions to invoke.\n     * @returns {Function} Returns the new composite function.\n     * @see _.flow\n     * @example\n     *\n     * function square(n) {\n     *   return n * n;\n     * }\n     *\n     * var addSquare = _.flowRight([square, _.add]);\n     * addSquare(1, 2);\n     * // => 9\n     */\n    var flowRight = createFlow(true);\n\n    /**\n     * This method returns the first argument it receives.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Util\n     * @param {*} value Any value.\n     * @returns {*} Returns `value`.\n     * @example\n     *\n     * var object = { 'a': 1 };\n     *\n     * console.log(_.identity(object) === object);\n     * // => true\n     */\n    function identity(value) {\n      return value;\n    }\n\n    /**\n     * Creates a function that invokes `func` with the arguments of the created\n     * function. If `func` is a property name, the created function returns the\n     * property value for a given element. If `func` is an array or object, the\n     * created function returns `true` for elements that contain the equivalent\n     * source properties, otherwise it returns `false`.\n     *\n     * @static\n     * @since 4.0.0\n     * @memberOf _\n     * @category Util\n     * @param {*} [func=_.identity] The value to convert to a callback.\n     * @returns {Function} Returns the callback.\n     * @example\n     *\n     * var users = [\n     *   { 'user': 'barney', 'age': 36, 'active': true },\n     *   { 'user': 'fred',   'age': 40, 'active': false }\n     * ];\n     *\n     * // The `_.matches` iteratee shorthand.\n     * _.filter(users, _.iteratee({ 'user': 'barney', 'active': true }));\n     * // => [{ 'user': 'barney', 'age': 36, 'active': true }]\n     *\n     * // The `_.matchesProperty` iteratee shorthand.\n     * _.filter(users, _.iteratee(['user', 'fred']));\n     * // => [{ 'user': 'fred', 'age': 40 }]\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.map(users, _.iteratee('user'));\n     * // => ['barney', 'fred']\n     *\n     * // Create custom iteratee shorthands.\n     * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) {\n     *   return !_.isRegExp(func) ? iteratee(func) : function(string) {\n     *     return func.test(string);\n     *   };\n     * });\n     *\n     * _.filter(['abc', 'def'], /ef/);\n     * // => ['def']\n     */\n    function iteratee(func) {\n      return baseIteratee(typeof func == 'function' ? func : baseClone(func, CLONE_DEEP_FLAG));\n    }\n\n    /**\n     * Creates a function that performs a partial deep comparison between a given\n     * object and `source`, returning `true` if the given object has equivalent\n     * property values, else `false`.\n     *\n     * **Note:** The created function is equivalent to `_.isMatch` with `source`\n     * partially applied.\n     *\n     * Partial comparisons will match empty array and empty object `source`\n     * values against any array or object value, respectively. See `_.isEqual`\n     * for a list of supported value comparisons.\n     *\n     * **Note:** Multiple values can be checked by combining several matchers\n     * using `_.overSome`\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Util\n     * @param {Object} source The object of property values to match.\n     * @returns {Function} Returns the new spec function.\n     * @example\n     *\n     * var objects = [\n     *   { 'a': 1, 'b': 2, 'c': 3 },\n     *   { 'a': 4, 'b': 5, 'c': 6 }\n     * ];\n     *\n     * _.filter(objects, _.matches({ 'a': 4, 'c': 6 }));\n     * // => [{ 'a': 4, 'b': 5, 'c': 6 }]\n     *\n     * // Checking for several possible values\n     * _.filter(objects, _.overSome([_.matches({ 'a': 1 }), _.matches({ 'a': 4 })]));\n     * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }]\n     */\n    function matches(source) {\n      return baseMatches(baseClone(source, CLONE_DEEP_FLAG));\n    }\n\n    /**\n     * Creates a function that performs a partial deep comparison between the\n     * value at `path` of a given object to `srcValue`, returning `true` if the\n     * object value is equivalent, else `false`.\n     *\n     * **Note:** Partial comparisons will match empty array and empty object\n     * `srcValue` values against any array or object value, respectively. See\n     * `_.isEqual` for a list of supported value comparisons.\n     *\n     * **Note:** Multiple values can be checked by combining several matchers\n     * using `_.overSome`\n     *\n     * @static\n     * @memberOf _\n     * @since 3.2.0\n     * @category Util\n     * @param {Array|string} path The path of the property to get.\n     * @param {*} srcValue The value to match.\n     * @returns {Function} Returns the new spec function.\n     * @example\n     *\n     * var objects = [\n     *   { 'a': 1, 'b': 2, 'c': 3 },\n     *   { 'a': 4, 'b': 5, 'c': 6 }\n     * ];\n     *\n     * _.find(objects, _.matchesProperty('a', 4));\n     * // => { 'a': 4, 'b': 5, 'c': 6 }\n     *\n     * // Checking for several possible values\n     * _.filter(objects, _.overSome([_.matchesProperty('a', 1), _.matchesProperty('a', 4)]));\n     * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }]\n     */\n    function matchesProperty(path, srcValue) {\n      return baseMatchesProperty(path, baseClone(srcValue, CLONE_DEEP_FLAG));\n    }\n\n    /**\n     * Creates a function that invokes the method at `path` of a given object.\n     * Any additional arguments are provided to the invoked method.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.7.0\n     * @category Util\n     * @param {Array|string} path The path of the method to invoke.\n     * @param {...*} [args] The arguments to invoke the method with.\n     * @returns {Function} Returns the new invoker function.\n     * @example\n     *\n     * var objects = [\n     *   { 'a': { 'b': _.constant(2) } },\n     *   { 'a': { 'b': _.constant(1) } }\n     * ];\n     *\n     * _.map(objects, _.method('a.b'));\n     * // => [2, 1]\n     *\n     * _.map(objects, _.method(['a', 'b']));\n     * // => [2, 1]\n     */\n    var method = baseRest(function(path, args) {\n      return function(object) {\n        return baseInvoke(object, path, args);\n      };\n    });\n\n    /**\n     * The opposite of `_.method`; this method creates a function that invokes\n     * the method at a given path of `object`. Any additional arguments are\n     * provided to the invoked method.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.7.0\n     * @category Util\n     * @param {Object} object The object to query.\n     * @param {...*} [args] The arguments to invoke the method with.\n     * @returns {Function} Returns the new invoker function.\n     * @example\n     *\n     * var array = _.times(3, _.constant),\n     *     object = { 'a': array, 'b': array, 'c': array };\n     *\n     * _.map(['a[2]', 'c[0]'], _.methodOf(object));\n     * // => [2, 0]\n     *\n     * _.map([['a', '2'], ['c', '0']], _.methodOf(object));\n     * // => [2, 0]\n     */\n    var methodOf = baseRest(function(object, args) {\n      return function(path) {\n        return baseInvoke(object, path, args);\n      };\n    });\n\n    /**\n     * Adds all own enumerable string keyed function properties of a source\n     * object to the destination object. If `object` is a function, then methods\n     * are added to its prototype as well.\n     *\n     * **Note:** Use `_.runInContext` to create a pristine `lodash` function to\n     * avoid conflicts caused by modifying the original.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Util\n     * @param {Function|Object} [object=lodash] The destination object.\n     * @param {Object} source The object of functions to add.\n     * @param {Object} [options={}] The options object.\n     * @param {boolean} [options.chain=true] Specify whether mixins are chainable.\n     * @returns {Function|Object} Returns `object`.\n     * @example\n     *\n     * function vowels(string) {\n     *   return _.filter(string, function(v) {\n     *     return /[aeiou]/i.test(v);\n     *   });\n     * }\n     *\n     * _.mixin({ 'vowels': vowels });\n     * _.vowels('fred');\n     * // => ['e']\n     *\n     * _('fred').vowels().value();\n     * // => ['e']\n     *\n     * _.mixin({ 'vowels': vowels }, { 'chain': false });\n     * _('fred').vowels();\n     * // => ['e']\n     */\n    function mixin(object, source, options) {\n      var props = keys(source),\n          methodNames = baseFunctions(source, props);\n\n      if (options == null &&\n          !(isObject(source) && (methodNames.length || !props.length))) {\n        options = source;\n        source = object;\n        object = this;\n        methodNames = baseFunctions(source, keys(source));\n      }\n      var chain = !(isObject(options) && 'chain' in options) || !!options.chain,\n          isFunc = isFunction(object);\n\n      arrayEach(methodNames, function(methodName) {\n        var func = source[methodName];\n        object[methodName] = func;\n        if (isFunc) {\n          object.prototype[methodName] = function() {\n            var chainAll = this.__chain__;\n            if (chain || chainAll) {\n              var result = object(this.__wrapped__),\n                  actions = result.__actions__ = copyArray(this.__actions__);\n\n              actions.push({ 'func': func, 'args': arguments, 'thisArg': object });\n              result.__chain__ = chainAll;\n              return result;\n            }\n            return func.apply(object, arrayPush([this.value()], arguments));\n          };\n        }\n      });\n\n      return object;\n    }\n\n    /**\n     * Reverts the `_` variable to its previous value and returns a reference to\n     * the `lodash` function.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Util\n     * @returns {Function} Returns the `lodash` function.\n     * @example\n     *\n     * var lodash = _.noConflict();\n     */\n    function noConflict() {\n      if (root._ === this) {\n        root._ = oldDash;\n      }\n      return this;\n    }\n\n    /**\n     * This method returns `undefined`.\n     *\n     * @static\n     * @memberOf _\n     * @since 2.3.0\n     * @category Util\n     * @example\n     *\n     * _.times(2, _.noop);\n     * // => [undefined, undefined]\n     */\n    function noop() {\n      // No operation performed.\n    }\n\n    /**\n     * Creates a function that gets the argument at index `n`. If `n` is negative,\n     * the nth argument from the end is returned.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Util\n     * @param {number} [n=0] The index of the argument to return.\n     * @returns {Function} Returns the new pass-thru function.\n     * @example\n     *\n     * var func = _.nthArg(1);\n     * func('a', 'b', 'c', 'd');\n     * // => 'b'\n     *\n     * var func = _.nthArg(-2);\n     * func('a', 'b', 'c', 'd');\n     * // => 'c'\n     */\n    function nthArg(n) {\n      n = toInteger(n);\n      return baseRest(function(args) {\n        return baseNth(args, n);\n      });\n    }\n\n    /**\n     * Creates a function that invokes `iteratees` with the arguments it receives\n     * and returns their results.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Util\n     * @param {...(Function|Function[])} [iteratees=[_.identity]]\n     *  The iteratees to invoke.\n     * @returns {Function} Returns the new function.\n     * @example\n     *\n     * var func = _.over([Math.max, Math.min]);\n     *\n     * func(1, 2, 3, 4);\n     * // => [4, 1]\n     */\n    var over = createOver(arrayMap);\n\n    /**\n     * Creates a function that checks if **all** of the `predicates` return\n     * truthy when invoked with the arguments it receives.\n     *\n     * Following shorthands are possible for providing predicates.\n     * Pass an `Object` and it will be used as an parameter for `_.matches` to create the predicate.\n     * Pass an `Array` of parameters for `_.matchesProperty` and the predicate will be created using them.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Util\n     * @param {...(Function|Function[])} [predicates=[_.identity]]\n     *  The predicates to check.\n     * @returns {Function} Returns the new function.\n     * @example\n     *\n     * var func = _.overEvery([Boolean, isFinite]);\n     *\n     * func('1');\n     * // => true\n     *\n     * func(null);\n     * // => false\n     *\n     * func(NaN);\n     * // => false\n     */\n    var overEvery = createOver(arrayEvery);\n\n    /**\n     * Creates a function that checks if **any** of the `predicates` return\n     * truthy when invoked with the arguments it receives.\n     *\n     * Following shorthands are possible for providing predicates.\n     * Pass an `Object` and it will be used as an parameter for `_.matches` to create the predicate.\n     * Pass an `Array` of parameters for `_.matchesProperty` and the predicate will be created using them.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Util\n     * @param {...(Function|Function[])} [predicates=[_.identity]]\n     *  The predicates to check.\n     * @returns {Function} Returns the new function.\n     * @example\n     *\n     * var func = _.overSome([Boolean, isFinite]);\n     *\n     * func('1');\n     * // => true\n     *\n     * func(null);\n     * // => true\n     *\n     * func(NaN);\n     * // => false\n     *\n     * var matchesFunc = _.overSome([{ 'a': 1 }, { 'a': 2 }])\n     * var matchesPropertyFunc = _.overSome([['a', 1], ['a', 2]])\n     */\n    var overSome = createOver(arraySome);\n\n    /**\n     * Creates a function that returns the value at `path` of a given object.\n     *\n     * @static\n     * @memberOf _\n     * @since 2.4.0\n     * @category Util\n     * @param {Array|string} path The path of the property to get.\n     * @returns {Function} Returns the new accessor function.\n     * @example\n     *\n     * var objects = [\n     *   { 'a': { 'b': 2 } },\n     *   { 'a': { 'b': 1 } }\n     * ];\n     *\n     * _.map(objects, _.property('a.b'));\n     * // => [2, 1]\n     *\n     * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n     * // => [1, 2]\n     */\n    function property(path) {\n      return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n    }\n\n    /**\n     * The opposite of `_.property`; this method creates a function that returns\n     * the value at a given path of `object`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Util\n     * @param {Object} object The object to query.\n     * @returns {Function} Returns the new accessor function.\n     * @example\n     *\n     * var array = [0, 1, 2],\n     *     object = { 'a': array, 'b': array, 'c': array };\n     *\n     * _.map(['a[2]', 'c[0]'], _.propertyOf(object));\n     * // => [2, 0]\n     *\n     * _.map([['a', '2'], ['c', '0']], _.propertyOf(object));\n     * // => [2, 0]\n     */\n    function propertyOf(object) {\n      return function(path) {\n        return object == null ? undefined : baseGet(object, path);\n      };\n    }\n\n    /**\n     * Creates an array of numbers (positive and/or negative) progressing from\n     * `start` up to, but not including, `end`. A step of `-1` is used if a negative\n     * `start` is specified without an `end` or `step`. If `end` is not specified,\n     * it's set to `start` with `start` then set to `0`.\n     *\n     * **Note:** JavaScript follows the IEEE-754 standard for resolving\n     * floating-point values which can produce unexpected results.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Util\n     * @param {number} [start=0] The start of the range.\n     * @param {number} end The end of the range.\n     * @param {number} [step=1] The value to increment or decrement by.\n     * @returns {Array} Returns the range of numbers.\n     * @see _.inRange, _.rangeRight\n     * @example\n     *\n     * _.range(4);\n     * // => [0, 1, 2, 3]\n     *\n     * _.range(-4);\n     * // => [0, -1, -2, -3]\n     *\n     * _.range(1, 5);\n     * // => [1, 2, 3, 4]\n     *\n     * _.range(0, 20, 5);\n     * // => [0, 5, 10, 15]\n     *\n     * _.range(0, -4, -1);\n     * // => [0, -1, -2, -3]\n     *\n     * _.range(1, 4, 0);\n     * // => [1, 1, 1]\n     *\n     * _.range(0);\n     * // => []\n     */\n    var range = createRange();\n\n    /**\n     * This method is like `_.range` except that it populates values in\n     * descending order.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Util\n     * @param {number} [start=0] The start of the range.\n     * @param {number} end The end of the range.\n     * @param {number} [step=1] The value to increment or decrement by.\n     * @returns {Array} Returns the range of numbers.\n     * @see _.inRange, _.range\n     * @example\n     *\n     * _.rangeRight(4);\n     * // => [3, 2, 1, 0]\n     *\n     * _.rangeRight(-4);\n     * // => [-3, -2, -1, 0]\n     *\n     * _.rangeRight(1, 5);\n     * // => [4, 3, 2, 1]\n     *\n     * _.rangeRight(0, 20, 5);\n     * // => [15, 10, 5, 0]\n     *\n     * _.rangeRight(0, -4, -1);\n     * // => [-3, -2, -1, 0]\n     *\n     * _.rangeRight(1, 4, 0);\n     * // => [1, 1, 1]\n     *\n     * _.rangeRight(0);\n     * // => []\n     */\n    var rangeRight = createRange(true);\n\n    /**\n     * This method returns a new empty array.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.13.0\n     * @category Util\n     * @returns {Array} Returns the new empty array.\n     * @example\n     *\n     * var arrays = _.times(2, _.stubArray);\n     *\n     * console.log(arrays);\n     * // => [[], []]\n     *\n     * console.log(arrays[0] === arrays[1]);\n     * // => false\n     */\n    function stubArray() {\n      return [];\n    }\n\n    /**\n     * This method returns `false`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.13.0\n     * @category Util\n     * @returns {boolean} Returns `false`.\n     * @example\n     *\n     * _.times(2, _.stubFalse);\n     * // => [false, false]\n     */\n    function stubFalse() {\n      return false;\n    }\n\n    /**\n     * This method returns a new empty object.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.13.0\n     * @category Util\n     * @returns {Object} Returns the new empty object.\n     * @example\n     *\n     * var objects = _.times(2, _.stubObject);\n     *\n     * console.log(objects);\n     * // => [{}, {}]\n     *\n     * console.log(objects[0] === objects[1]);\n     * // => false\n     */\n    function stubObject() {\n      return {};\n    }\n\n    /**\n     * This method returns an empty string.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.13.0\n     * @category Util\n     * @returns {string} Returns the empty string.\n     * @example\n     *\n     * _.times(2, _.stubString);\n     * // => ['', '']\n     */\n    function stubString() {\n      return '';\n    }\n\n    /**\n     * This method returns `true`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.13.0\n     * @category Util\n     * @returns {boolean} Returns `true`.\n     * @example\n     *\n     * _.times(2, _.stubTrue);\n     * // => [true, true]\n     */\n    function stubTrue() {\n      return true;\n    }\n\n    /**\n     * Invokes the iteratee `n` times, returning an array of the results of\n     * each invocation. The iteratee is invoked with one argument; (index).\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Util\n     * @param {number} n The number of times to invoke `iteratee`.\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n     * @returns {Array} Returns the array of results.\n     * @example\n     *\n     * _.times(3, String);\n     * // => ['0', '1', '2']\n     *\n     *  _.times(4, _.constant(0));\n     * // => [0, 0, 0, 0]\n     */\n    function times(n, iteratee) {\n      n = toInteger(n);\n      if (n < 1 || n > MAX_SAFE_INTEGER) {\n        return [];\n      }\n      var index = MAX_ARRAY_LENGTH,\n          length = nativeMin(n, MAX_ARRAY_LENGTH);\n\n      iteratee = getIteratee(iteratee);\n      n -= MAX_ARRAY_LENGTH;\n\n      var result = baseTimes(length, iteratee);\n      while (++index < n) {\n        iteratee(index);\n      }\n      return result;\n    }\n\n    /**\n     * Converts `value` to a property path array.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Util\n     * @param {*} value The value to convert.\n     * @returns {Array} Returns the new property path array.\n     * @example\n     *\n     * _.toPath('a.b.c');\n     * // => ['a', 'b', 'c']\n     *\n     * _.toPath('a[0].b.c');\n     * // => ['a', '0', 'b', 'c']\n     */\n    function toPath(value) {\n      if (isArray(value)) {\n        return arrayMap(value, toKey);\n      }\n      return isSymbol(value) ? [value] : copyArray(stringToPath(toString(value)));\n    }\n\n    /**\n     * Generates a unique ID. If `prefix` is given, the ID is appended to it.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Util\n     * @param {string} [prefix=''] The value to prefix the ID with.\n     * @returns {string} Returns the unique ID.\n     * @example\n     *\n     * _.uniqueId('contact_');\n     * // => 'contact_104'\n     *\n     * _.uniqueId();\n     * // => '105'\n     */\n    function uniqueId(prefix) {\n      var id = ++idCounter;\n      return toString(prefix) + id;\n    }\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Adds two numbers.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.4.0\n     * @category Math\n     * @param {number} augend The first number in an addition.\n     * @param {number} addend The second number in an addition.\n     * @returns {number} Returns the total.\n     * @example\n     *\n     * _.add(6, 4);\n     * // => 10\n     */\n    var add = createMathOperation(function(augend, addend) {\n      return augend + addend;\n    }, 0);\n\n    /**\n     * Computes `number` rounded up to `precision`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.10.0\n     * @category Math\n     * @param {number} number The number to round up.\n     * @param {number} [precision=0] The precision to round up to.\n     * @returns {number} Returns the rounded up number.\n     * @example\n     *\n     * _.ceil(4.006);\n     * // => 5\n     *\n     * _.ceil(6.004, 2);\n     * // => 6.01\n     *\n     * _.ceil(6040, -2);\n     * // => 6100\n     */\n    var ceil = createRound('ceil');\n\n    /**\n     * Divide two numbers.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.7.0\n     * @category Math\n     * @param {number} dividend The first number in a division.\n     * @param {number} divisor The second number in a division.\n     * @returns {number} Returns the quotient.\n     * @example\n     *\n     * _.divide(6, 4);\n     * // => 1.5\n     */\n    var divide = createMathOperation(function(dividend, divisor) {\n      return dividend / divisor;\n    }, 1);\n\n    /**\n     * Computes `number` rounded down to `precision`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.10.0\n     * @category Math\n     * @param {number} number The number to round down.\n     * @param {number} [precision=0] The precision to round down to.\n     * @returns {number} Returns the rounded down number.\n     * @example\n     *\n     * _.floor(4.006);\n     * // => 4\n     *\n     * _.floor(0.046, 2);\n     * // => 0.04\n     *\n     * _.floor(4060, -2);\n     * // => 4000\n     */\n    var floor = createRound('floor');\n\n    /**\n     * Computes the maximum value of `array`. If `array` is empty or falsey,\n     * `undefined` is returned.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Math\n     * @param {Array} array The array to iterate over.\n     * @returns {*} Returns the maximum value.\n     * @example\n     *\n     * _.max([4, 2, 8, 6]);\n     * // => 8\n     *\n     * _.max([]);\n     * // => undefined\n     */\n    function max(array) {\n      return (array && array.length)\n        ? baseExtremum(array, identity, baseGt)\n        : undefined;\n    }\n\n    /**\n     * This method is like `_.max` except that it accepts `iteratee` which is\n     * invoked for each element in `array` to generate the criterion by which\n     * the value is ranked. The iteratee is invoked with one argument: (value).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Math\n     * @param {Array} array The array to iterate over.\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n     * @returns {*} Returns the maximum value.\n     * @example\n     *\n     * var objects = [{ 'n': 1 }, { 'n': 2 }];\n     *\n     * _.maxBy(objects, function(o) { return o.n; });\n     * // => { 'n': 2 }\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.maxBy(objects, 'n');\n     * // => { 'n': 2 }\n     */\n    function maxBy(array, iteratee) {\n      return (array && array.length)\n        ? baseExtremum(array, getIteratee(iteratee, 2), baseGt)\n        : undefined;\n    }\n\n    /**\n     * Computes the mean of the values in `array`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Math\n     * @param {Array} array The array to iterate over.\n     * @returns {number} Returns the mean.\n     * @example\n     *\n     * _.mean([4, 2, 8, 6]);\n     * // => 5\n     */\n    function mean(array) {\n      return baseMean(array, identity);\n    }\n\n    /**\n     * This method is like `_.mean` except that it accepts `iteratee` which is\n     * invoked for each element in `array` to generate the value to be averaged.\n     * The iteratee is invoked with one argument: (value).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.7.0\n     * @category Math\n     * @param {Array} array The array to iterate over.\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n     * @returns {number} Returns the mean.\n     * @example\n     *\n     * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }];\n     *\n     * _.meanBy(objects, function(o) { return o.n; });\n     * // => 5\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.meanBy(objects, 'n');\n     * // => 5\n     */\n    function meanBy(array, iteratee) {\n      return baseMean(array, getIteratee(iteratee, 2));\n    }\n\n    /**\n     * Computes the minimum value of `array`. If `array` is empty or falsey,\n     * `undefined` is returned.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Math\n     * @param {Array} array The array to iterate over.\n     * @returns {*} Returns the minimum value.\n     * @example\n     *\n     * _.min([4, 2, 8, 6]);\n     * // => 2\n     *\n     * _.min([]);\n     * // => undefined\n     */\n    function min(array) {\n      return (array && array.length)\n        ? baseExtremum(array, identity, baseLt)\n        : undefined;\n    }\n\n    /**\n     * This method is like `_.min` except that it accepts `iteratee` which is\n     * invoked for each element in `array` to generate the criterion by which\n     * the value is ranked. The iteratee is invoked with one argument: (value).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Math\n     * @param {Array} array The array to iterate over.\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n     * @returns {*} Returns the minimum value.\n     * @example\n     *\n     * var objects = [{ 'n': 1 }, { 'n': 2 }];\n     *\n     * _.minBy(objects, function(o) { return o.n; });\n     * // => { 'n': 1 }\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.minBy(objects, 'n');\n     * // => { 'n': 1 }\n     */\n    function minBy(array, iteratee) {\n      return (array && array.length)\n        ? baseExtremum(array, getIteratee(iteratee, 2), baseLt)\n        : undefined;\n    }\n\n    /**\n     * Multiply two numbers.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.7.0\n     * @category Math\n     * @param {number} multiplier The first number in a multiplication.\n     * @param {number} multiplicand The second number in a multiplication.\n     * @returns {number} Returns the product.\n     * @example\n     *\n     * _.multiply(6, 4);\n     * // => 24\n     */\n    var multiply = createMathOperation(function(multiplier, multiplicand) {\n      return multiplier * multiplicand;\n    }, 1);\n\n    /**\n     * Computes `number` rounded to `precision`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.10.0\n     * @category Math\n     * @param {number} number The number to round.\n     * @param {number} [precision=0] The precision to round to.\n     * @returns {number} Returns the rounded number.\n     * @example\n     *\n     * _.round(4.006);\n     * // => 4\n     *\n     * _.round(4.006, 2);\n     * // => 4.01\n     *\n     * _.round(4060, -2);\n     * // => 4100\n     */\n    var round = createRound('round');\n\n    /**\n     * Subtract two numbers.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Math\n     * @param {number} minuend The first number in a subtraction.\n     * @param {number} subtrahend The second number in a subtraction.\n     * @returns {number} Returns the difference.\n     * @example\n     *\n     * _.subtract(6, 4);\n     * // => 2\n     */\n    var subtract = createMathOperation(function(minuend, subtrahend) {\n      return minuend - subtrahend;\n    }, 0);\n\n    /**\n     * Computes the sum of the values in `array`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.4.0\n     * @category Math\n     * @param {Array} array The array to iterate over.\n     * @returns {number} Returns the sum.\n     * @example\n     *\n     * _.sum([4, 2, 8, 6]);\n     * // => 20\n     */\n    function sum(array) {\n      return (array && array.length)\n        ? baseSum(array, identity)\n        : 0;\n    }\n\n    /**\n     * This method is like `_.sum` except that it accepts `iteratee` which is\n     * invoked for each element in `array` to generate the value to be summed.\n     * The iteratee is invoked with one argument: (value).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Math\n     * @param {Array} array The array to iterate over.\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n     * @returns {number} Returns the sum.\n     * @example\n     *\n     * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }];\n     *\n     * _.sumBy(objects, function(o) { return o.n; });\n     * // => 20\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.sumBy(objects, 'n');\n     * // => 20\n     */\n    function sumBy(array, iteratee) {\n      return (array && array.length)\n        ? baseSum(array, getIteratee(iteratee, 2))\n        : 0;\n    }\n\n    /*------------------------------------------------------------------------*/\n\n    // Add methods that return wrapped values in chain sequences.\n    lodash.after = after;\n    lodash.ary = ary;\n    lodash.assign = assign;\n    lodash.assignIn = assignIn;\n    lodash.assignInWith = assignInWith;\n    lodash.assignWith = assignWith;\n    lodash.at = at;\n    lodash.before = before;\n    lodash.bind = bind;\n    lodash.bindAll = bindAll;\n    lodash.bindKey = bindKey;\n    lodash.castArray = castArray;\n    lodash.chain = chain;\n    lodash.chunk = chunk;\n    lodash.compact = compact;\n    lodash.concat = concat;\n    lodash.cond = cond;\n    lodash.conforms = conforms;\n    lodash.constant = constant;\n    lodash.countBy = countBy;\n    lodash.create = create;\n    lodash.curry = curry;\n    lodash.curryRight = curryRight;\n    lodash.debounce = debounce;\n    lodash.defaults = defaults;\n    lodash.defaultsDeep = defaultsDeep;\n    lodash.defer = defer;\n    lodash.delay = delay;\n    lodash.difference = difference;\n    lodash.differenceBy = differenceBy;\n    lodash.differenceWith = differenceWith;\n    lodash.drop = drop;\n    lodash.dropRight = dropRight;\n    lodash.dropRightWhile = dropRightWhile;\n    lodash.dropWhile = dropWhile;\n    lodash.fill = fill;\n    lodash.filter = filter;\n    lodash.flatMap = flatMap;\n    lodash.flatMapDeep = flatMapDeep;\n    lodash.flatMapDepth = flatMapDepth;\n    lodash.flatten = flatten;\n    lodash.flattenDeep = flattenDeep;\n    lodash.flattenDepth = flattenDepth;\n    lodash.flip = flip;\n    lodash.flow = flow;\n    lodash.flowRight = flowRight;\n    lodash.fromPairs = fromPairs;\n    lodash.functions = functions;\n    lodash.functionsIn = functionsIn;\n    lodash.groupBy = groupBy;\n    lodash.initial = initial;\n    lodash.intersection = intersection;\n    lodash.intersectionBy = intersectionBy;\n    lodash.intersectionWith = intersectionWith;\n    lodash.invert = invert;\n    lodash.invertBy = invertBy;\n    lodash.invokeMap = invokeMap;\n    lodash.iteratee = iteratee;\n    lodash.keyBy = keyBy;\n    lodash.keys = keys;\n    lodash.keysIn = keysIn;\n    lodash.map = map;\n    lodash.mapKeys = mapKeys;\n    lodash.mapValues = mapValues;\n    lodash.matches = matches;\n    lodash.matchesProperty = matchesProperty;\n    lodash.memoize = memoize;\n    lodash.merge = merge;\n    lodash.mergeWith = mergeWith;\n    lodash.method = method;\n    lodash.methodOf = methodOf;\n    lodash.mixin = mixin;\n    lodash.negate = negate;\n    lodash.nthArg = nthArg;\n    lodash.omit = omit;\n    lodash.omitBy = omitBy;\n    lodash.once = once;\n    lodash.orderBy = orderBy;\n    lodash.over = over;\n    lodash.overArgs = overArgs;\n    lodash.overEvery = overEvery;\n    lodash.overSome = overSome;\n    lodash.partial = partial;\n    lodash.partialRight = partialRight;\n    lodash.partition = partition;\n    lodash.pick = pick;\n    lodash.pickBy = pickBy;\n    lodash.property = property;\n    lodash.propertyOf = propertyOf;\n    lodash.pull = pull;\n    lodash.pullAll = pullAll;\n    lodash.pullAllBy = pullAllBy;\n    lodash.pullAllWith = pullAllWith;\n    lodash.pullAt = pullAt;\n    lodash.range = range;\n    lodash.rangeRight = rangeRight;\n    lodash.rearg = rearg;\n    lodash.reject = reject;\n    lodash.remove = remove;\n    lodash.rest = rest;\n    lodash.reverse = reverse;\n    lodash.sampleSize = sampleSize;\n    lodash.set = set;\n    lodash.setWith = setWith;\n    lodash.shuffle = shuffle;\n    lodash.slice = slice;\n    lodash.sortBy = sortBy;\n    lodash.sortedUniq = sortedUniq;\n    lodash.sortedUniqBy = sortedUniqBy;\n    lodash.split = split;\n    lodash.spread = spread;\n    lodash.tail = tail;\n    lodash.take = take;\n    lodash.takeRight = takeRight;\n    lodash.takeRightWhile = takeRightWhile;\n    lodash.takeWhile = takeWhile;\n    lodash.tap = tap;\n    lodash.throttle = throttle;\n    lodash.thru = thru;\n    lodash.toArray = toArray;\n    lodash.toPairs = toPairs;\n    lodash.toPairsIn = toPairsIn;\n    lodash.toPath = toPath;\n    lodash.toPlainObject = toPlainObject;\n    lodash.transform = transform;\n    lodash.unary = unary;\n    lodash.union = union;\n    lodash.unionBy = unionBy;\n    lodash.unionWith = unionWith;\n    lodash.uniq = uniq;\n    lodash.uniqBy = uniqBy;\n    lodash.uniqWith = uniqWith;\n    lodash.unset = unset;\n    lodash.unzip = unzip;\n    lodash.unzipWith = unzipWith;\n    lodash.update = update;\n    lodash.updateWith = updateWith;\n    lodash.values = values;\n    lodash.valuesIn = valuesIn;\n    lodash.without = without;\n    lodash.words = words;\n    lodash.wrap = wrap;\n    lodash.xor = xor;\n    lodash.xorBy = xorBy;\n    lodash.xorWith = xorWith;\n    lodash.zip = zip;\n    lodash.zipObject = zipObject;\n    lodash.zipObjectDeep = zipObjectDeep;\n    lodash.zipWith = zipWith;\n\n    // Add aliases.\n    lodash.entries = toPairs;\n    lodash.entriesIn = toPairsIn;\n    lodash.extend = assignIn;\n    lodash.extendWith = assignInWith;\n\n    // Add methods to `lodash.prototype`.\n    mixin(lodash, lodash);\n\n    /*------------------------------------------------------------------------*/\n\n    // Add methods that return unwrapped values in chain sequences.\n    lodash.add = add;\n    lodash.attempt = attempt;\n    lodash.camelCase = camelCase;\n    lodash.capitalize = capitalize;\n    lodash.ceil = ceil;\n    lodash.clamp = clamp;\n    lodash.clone = clone;\n    lodash.cloneDeep = cloneDeep;\n    lodash.cloneDeepWith = cloneDeepWith;\n    lodash.cloneWith = cloneWith;\n    lodash.conformsTo = conformsTo;\n    lodash.deburr = deburr;\n    lodash.defaultTo = defaultTo;\n    lodash.divide = divide;\n    lodash.endsWith = endsWith;\n    lodash.eq = eq;\n    lodash.escape = escape;\n    lodash.escapeRegExp = escapeRegExp;\n    lodash.every = every;\n    lodash.find = find;\n    lodash.findIndex = findIndex;\n    lodash.findKey = findKey;\n    lodash.findLast = findLast;\n    lodash.findLastIndex = findLastIndex;\n    lodash.findLastKey = findLastKey;\n    lodash.floor = floor;\n    lodash.forEach = forEach;\n    lodash.forEachRight = forEachRight;\n    lodash.forIn = forIn;\n    lodash.forInRight = forInRight;\n    lodash.forOwn = forOwn;\n    lodash.forOwnRight = forOwnRight;\n    lodash.get = get;\n    lodash.gt = gt;\n    lodash.gte = gte;\n    lodash.has = has;\n    lodash.hasIn = hasIn;\n    lodash.head = head;\n    lodash.identity = identity;\n    lodash.includes = includes;\n    lodash.indexOf = indexOf;\n    lodash.inRange = inRange;\n    lodash.invoke = invoke;\n    lodash.isArguments = isArguments;\n    lodash.isArray = isArray;\n    lodash.isArrayBuffer = isArrayBuffer;\n    lodash.isArrayLike = isArrayLike;\n    lodash.isArrayLikeObject = isArrayLikeObject;\n    lodash.isBoolean = isBoolean;\n    lodash.isBuffer = isBuffer;\n    lodash.isDate = isDate;\n    lodash.isElement = isElement;\n    lodash.isEmpty = isEmpty;\n    lodash.isEqual = isEqual;\n    lodash.isEqualWith = isEqualWith;\n    lodash.isError = isError;\n    lodash.isFinite = isFinite;\n    lodash.isFunction = isFunction;\n    lodash.isInteger = isInteger;\n    lodash.isLength = isLength;\n    lodash.isMap = isMap;\n    lodash.isMatch = isMatch;\n    lodash.isMatchWith = isMatchWith;\n    lodash.isNaN = isNaN;\n    lodash.isNative = isNative;\n    lodash.isNil = isNil;\n    lodash.isNull = isNull;\n    lodash.isNumber = isNumber;\n    lodash.isObject = isObject;\n    lodash.isObjectLike = isObjectLike;\n    lodash.isPlainObject = isPlainObject;\n    lodash.isRegExp = isRegExp;\n    lodash.isSafeInteger = isSafeInteger;\n    lodash.isSet = isSet;\n    lodash.isString = isString;\n    lodash.isSymbol = isSymbol;\n    lodash.isTypedArray = isTypedArray;\n    lodash.isUndefined = isUndefined;\n    lodash.isWeakMap = isWeakMap;\n    lodash.isWeakSet = isWeakSet;\n    lodash.join = join;\n    lodash.kebabCase = kebabCase;\n    lodash.last = last;\n    lodash.lastIndexOf = lastIndexOf;\n    lodash.lowerCase = lowerCase;\n    lodash.lowerFirst = lowerFirst;\n    lodash.lt = lt;\n    lodash.lte = lte;\n    lodash.max = max;\n    lodash.maxBy = maxBy;\n    lodash.mean = mean;\n    lodash.meanBy = meanBy;\n    lodash.min = min;\n    lodash.minBy = minBy;\n    lodash.stubArray = stubArray;\n    lodash.stubFalse = stubFalse;\n    lodash.stubObject = stubObject;\n    lodash.stubString = stubString;\n    lodash.stubTrue = stubTrue;\n    lodash.multiply = multiply;\n    lodash.nth = nth;\n    lodash.noConflict = noConflict;\n    lodash.noop = noop;\n    lodash.now = now;\n    lodash.pad = pad;\n    lodash.padEnd = padEnd;\n    lodash.padStart = padStart;\n    lodash.parseInt = parseInt;\n    lodash.random = random;\n    lodash.reduce = reduce;\n    lodash.reduceRight = reduceRight;\n    lodash.repeat = repeat;\n    lodash.replace = replace;\n    lodash.result = result;\n    lodash.round = round;\n    lodash.runInContext = runInContext;\n    lodash.sample = sample;\n    lodash.size = size;\n    lodash.snakeCase = snakeCase;\n    lodash.some = some;\n    lodash.sortedIndex = sortedIndex;\n    lodash.sortedIndexBy = sortedIndexBy;\n    lodash.sortedIndexOf = sortedIndexOf;\n    lodash.sortedLastIndex = sortedLastIndex;\n    lodash.sortedLastIndexBy = sortedLastIndexBy;\n    lodash.sortedLastIndexOf = sortedLastIndexOf;\n    lodash.startCase = startCase;\n    lodash.startsWith = startsWith;\n    lodash.subtract = subtract;\n    lodash.sum = sum;\n    lodash.sumBy = sumBy;\n    lodash.template = template;\n    lodash.times = times;\n    lodash.toFinite = toFinite;\n    lodash.toInteger = toInteger;\n    lodash.toLength = toLength;\n    lodash.toLower = toLower;\n    lodash.toNumber = toNumber;\n    lodash.toSafeInteger = toSafeInteger;\n    lodash.toString = toString;\n    lodash.toUpper = toUpper;\n    lodash.trim = trim;\n    lodash.trimEnd = trimEnd;\n    lodash.trimStart = trimStart;\n    lodash.truncate = truncate;\n    lodash.unescape = unescape;\n    lodash.uniqueId = uniqueId;\n    lodash.upperCase = upperCase;\n    lodash.upperFirst = upperFirst;\n\n    // Add aliases.\n    lodash.each = forEach;\n    lodash.eachRight = forEachRight;\n    lodash.first = head;\n\n    mixin(lodash, (function() {\n      var source = {};\n      baseForOwn(lodash, function(func, methodName) {\n        if (!hasOwnProperty.call(lodash.prototype, methodName)) {\n          source[methodName] = func;\n        }\n      });\n      return source;\n    }()), { 'chain': false });\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * The semantic version number.\n     *\n     * @static\n     * @memberOf _\n     * @type {string}\n     */\n    lodash.VERSION = VERSION;\n\n    // Assign default placeholders.\n    arrayEach(['bind', 'bindKey', 'curry', 'curryRight', 'partial', 'partialRight'], function(methodName) {\n      lodash[methodName].placeholder = lodash;\n    });\n\n    // Add `LazyWrapper` methods for `_.drop` and `_.take` variants.\n    arrayEach(['drop', 'take'], function(methodName, index) {\n      LazyWrapper.prototype[methodName] = function(n) {\n        n = n === undefined ? 1 : nativeMax(toInteger(n), 0);\n\n        var result = (this.__filtered__ && !index)\n          ? new LazyWrapper(this)\n          : this.clone();\n\n        if (result.__filtered__) {\n          result.__takeCount__ = nativeMin(n, result.__takeCount__);\n        } else {\n          result.__views__.push({\n            'size': nativeMin(n, MAX_ARRAY_LENGTH),\n            'type': methodName + (result.__dir__ < 0 ? 'Right' : '')\n          });\n        }\n        return result;\n      };\n\n      LazyWrapper.prototype[methodName + 'Right'] = function(n) {\n        return this.reverse()[methodName](n).reverse();\n      };\n    });\n\n    // Add `LazyWrapper` methods that accept an `iteratee` value.\n    arrayEach(['filter', 'map', 'takeWhile'], function(methodName, index) {\n      var type = index + 1,\n          isFilter = type == LAZY_FILTER_FLAG || type == LAZY_WHILE_FLAG;\n\n      LazyWrapper.prototype[methodName] = function(iteratee) {\n        var result = this.clone();\n        result.__iteratees__.push({\n          'iteratee': getIteratee(iteratee, 3),\n          'type': type\n        });\n        result.__filtered__ = result.__filtered__ || isFilter;\n        return result;\n      };\n    });\n\n    // Add `LazyWrapper` methods for `_.head` and `_.last`.\n    arrayEach(['head', 'last'], function(methodName, index) {\n      var takeName = 'take' + (index ? 'Right' : '');\n\n      LazyWrapper.prototype[methodName] = function() {\n        return this[takeName](1).value()[0];\n      };\n    });\n\n    // Add `LazyWrapper` methods for `_.initial` and `_.tail`.\n    arrayEach(['initial', 'tail'], function(methodName, index) {\n      var dropName = 'drop' + (index ? '' : 'Right');\n\n      LazyWrapper.prototype[methodName] = function() {\n        return this.__filtered__ ? new LazyWrapper(this) : this[dropName](1);\n      };\n    });\n\n    LazyWrapper.prototype.compact = function() {\n      return this.filter(identity);\n    };\n\n    LazyWrapper.prototype.find = function(predicate) {\n      return this.filter(predicate).head();\n    };\n\n    LazyWrapper.prototype.findLast = function(predicate) {\n      return this.reverse().find(predicate);\n    };\n\n    LazyWrapper.prototype.invokeMap = baseRest(function(path, args) {\n      if (typeof path == 'function') {\n        return new LazyWrapper(this);\n      }\n      return this.map(function(value) {\n        return baseInvoke(value, path, args);\n      });\n    });\n\n    LazyWrapper.prototype.reject = function(predicate) {\n      return this.filter(negate(getIteratee(predicate)));\n    };\n\n    LazyWrapper.prototype.slice = function(start, end) {\n      start = toInteger(start);\n\n      var result = this;\n      if (result.__filtered__ && (start > 0 || end < 0)) {\n        return new LazyWrapper(result);\n      }\n      if (start < 0) {\n        result = result.takeRight(-start);\n      } else if (start) {\n        result = result.drop(start);\n      }\n      if (end !== undefined) {\n        end = toInteger(end);\n        result = end < 0 ? result.dropRight(-end) : result.take(end - start);\n      }\n      return result;\n    };\n\n    LazyWrapper.prototype.takeRightWhile = function(predicate) {\n      return this.reverse().takeWhile(predicate).reverse();\n    };\n\n    LazyWrapper.prototype.toArray = function() {\n      return this.take(MAX_ARRAY_LENGTH);\n    };\n\n    // Add `LazyWrapper` methods to `lodash.prototype`.\n    baseForOwn(LazyWrapper.prototype, function(func, methodName) {\n      var checkIteratee = /^(?:filter|find|map|reject)|While$/.test(methodName),\n          isTaker = /^(?:head|last)$/.test(methodName),\n          lodashFunc = lodash[isTaker ? ('take' + (methodName == 'last' ? 'Right' : '')) : methodName],\n          retUnwrapped = isTaker || /^find/.test(methodName);\n\n      if (!lodashFunc) {\n        return;\n      }\n      lodash.prototype[methodName] = function() {\n        var value = this.__wrapped__,\n            args = isTaker ? [1] : arguments,\n            isLazy = value instanceof LazyWrapper,\n            iteratee = args[0],\n            useLazy = isLazy || isArray(value);\n\n        var interceptor = function(value) {\n          var result = lodashFunc.apply(lodash, arrayPush([value], args));\n          return (isTaker && chainAll) ? result[0] : result;\n        };\n\n        if (useLazy && checkIteratee && typeof iteratee == 'function' && iteratee.length != 1) {\n          // Avoid lazy use if the iteratee has a \"length\" value other than `1`.\n          isLazy = useLazy = false;\n        }\n        var chainAll = this.__chain__,\n            isHybrid = !!this.__actions__.length,\n            isUnwrapped = retUnwrapped && !chainAll,\n            onlyLazy = isLazy && !isHybrid;\n\n        if (!retUnwrapped && useLazy) {\n          value = onlyLazy ? value : new LazyWrapper(this);\n          var result = func.apply(value, args);\n          result.__actions__.push({ 'func': thru, 'args': [interceptor], 'thisArg': undefined });\n          return new LodashWrapper(result, chainAll);\n        }\n        if (isUnwrapped && onlyLazy) {\n          return func.apply(this, args);\n        }\n        result = this.thru(interceptor);\n        return isUnwrapped ? (isTaker ? result.value()[0] : result.value()) : result;\n      };\n    });\n\n    // Add `Array` methods to `lodash.prototype`.\n    arrayEach(['pop', 'push', 'shift', 'sort', 'splice', 'unshift'], function(methodName) {\n      var func = arrayProto[methodName],\n          chainName = /^(?:push|sort|unshift)$/.test(methodName) ? 'tap' : 'thru',\n          retUnwrapped = /^(?:pop|shift)$/.test(methodName);\n\n      lodash.prototype[methodName] = function() {\n        var args = arguments;\n        if (retUnwrapped && !this.__chain__) {\n          var value = this.value();\n          return func.apply(isArray(value) ? value : [], args);\n        }\n        return this[chainName](function(value) {\n          return func.apply(isArray(value) ? value : [], args);\n        });\n      };\n    });\n\n    // Map minified method names to their real names.\n    baseForOwn(LazyWrapper.prototype, function(func, methodName) {\n      var lodashFunc = lodash[methodName];\n      if (lodashFunc) {\n        var key = lodashFunc.name + '';\n        if (!hasOwnProperty.call(realNames, key)) {\n          realNames[key] = [];\n        }\n        realNames[key].push({ 'name': methodName, 'func': lodashFunc });\n      }\n    });\n\n    realNames[createHybrid(undefined, WRAP_BIND_KEY_FLAG).name] = [{\n      'name': 'wrapper',\n      'func': undefined\n    }];\n\n    // Add methods to `LazyWrapper`.\n    LazyWrapper.prototype.clone = lazyClone;\n    LazyWrapper.prototype.reverse = lazyReverse;\n    LazyWrapper.prototype.value = lazyValue;\n\n    // Add chain sequence methods to the `lodash` wrapper.\n    lodash.prototype.at = wrapperAt;\n    lodash.prototype.chain = wrapperChain;\n    lodash.prototype.commit = wrapperCommit;\n    lodash.prototype.next = wrapperNext;\n    lodash.prototype.plant = wrapperPlant;\n    lodash.prototype.reverse = wrapperReverse;\n    lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = wrapperValue;\n\n    // Add lazy aliases.\n    lodash.prototype.first = lodash.prototype.head;\n\n    if (symIterator) {\n      lodash.prototype[symIterator] = wrapperToIterator;\n    }\n    return lodash;\n  });\n\n  /*--------------------------------------------------------------------------*/\n\n  // Export lodash.\n  var _ = runInContext();\n\n  // Some AMD build optimizers, like r.js, check for condition patterns like:\n  if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {\n    // Expose Lodash on the global object to prevent errors when Lodash is\n    // loaded by a script tag in the presence of an AMD loader.\n    // See http://requirejs.org/docs/errors.html#mismatch for more details.\n    // Use `_.noConflict` to remove Lodash from the global object.\n    root._ = _;\n\n    // Define as an anonymous module so, through path mapping, it can be\n    // referenced as the \"underscore\" module.\n    define(function() {\n      return _;\n    });\n  }\n  // Check for `exports` after `define` in case a build optimizer adds it.\n  else if (freeModule) {\n    // Export for Node.js.\n    (freeModule.exports = _)._ = _;\n    // Export for CommonJS support.\n    freeExports._ = _;\n  }\n  else {\n    // Export to the global object.\n    root._ = _;\n  }\n}.call(this));\n","/**\n * @license\n * Lodash <https://lodash.com/>\n * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n(function(){function n(n,t,r){switch(r.length){case 0:return n.call(t);case 1:return n.call(t,r[0]);case 2:return n.call(t,r[0],r[1]);case 3:return n.call(t,r[0],r[1],r[2])}return n.apply(t,r)}function t(n,t,r,e){for(var u=-1,i=null==n?0:n.length;++u<i;){var o=n[u];t(e,o,r(o),n)}return e}function r(n,t){for(var r=-1,e=null==n?0:n.length;++r<e&&t(n[r],r,n)!==!1;);return n}function e(n,t){for(var r=null==n?0:n.length;r--&&t(n[r],r,n)!==!1;);return n}function u(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(!t(n[r],r,n))return!1;\nreturn!0}function i(n,t){for(var r=-1,e=null==n?0:n.length,u=0,i=[];++r<e;){var o=n[r];t(o,r,n)&&(i[u++]=o)}return i}function o(n,t){return!!(null==n?0:n.length)&&y(n,t,0)>-1}function f(n,t,r){for(var e=-1,u=null==n?0:n.length;++e<u;)if(r(t,n[e]))return!0;return!1}function c(n,t){for(var r=-1,e=null==n?0:n.length,u=Array(e);++r<e;)u[r]=t(n[r],r,n);return u}function a(n,t){for(var r=-1,e=t.length,u=n.length;++r<e;)n[u+r]=t[r];return n}function l(n,t,r,e){var u=-1,i=null==n?0:n.length;for(e&&i&&(r=n[++u]);++u<i;)r=t(r,n[u],u,n);\nreturn r}function s(n,t,r,e){var u=null==n?0:n.length;for(e&&u&&(r=n[--u]);u--;)r=t(r,n[u],u,n);return r}function h(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(t(n[r],r,n))return!0;return!1}function p(n){return n.split(\"\")}function _(n){return n.match($t)||[]}function v(n,t,r){var e;return r(n,function(n,r,u){if(t(n,r,u))return e=r,!1}),e}function g(n,t,r,e){for(var u=n.length,i=r+(e?1:-1);e?i--:++i<u;)if(t(n[i],i,n))return i;return-1}function y(n,t,r){return t===t?Z(n,t,r):g(n,b,r)}function d(n,t,r,e){\nfor(var u=r-1,i=n.length;++u<i;)if(e(n[u],t))return u;return-1}function b(n){return n!==n}function w(n,t){var r=null==n?0:n.length;return r?k(n,t)/r:Cn}function m(n){return function(t){return null==t?X:t[n]}}function x(n){return function(t){return null==n?X:n[t]}}function j(n,t,r,e,u){return u(n,function(n,u,i){r=e?(e=!1,n):t(r,n,u,i)}),r}function A(n,t){var r=n.length;for(n.sort(t);r--;)n[r]=n[r].value;return n}function k(n,t){for(var r,e=-1,u=n.length;++e<u;){var i=t(n[e]);i!==X&&(r=r===X?i:r+i);\n}return r}function O(n,t){for(var r=-1,e=Array(n);++r<n;)e[r]=t(r);return e}function I(n,t){return c(t,function(t){return[t,n[t]]})}function R(n){return n?n.slice(0,H(n)+1).replace(Lt,\"\"):n}function z(n){return function(t){return n(t)}}function E(n,t){return c(t,function(t){return n[t]})}function S(n,t){return n.has(t)}function W(n,t){for(var r=-1,e=n.length;++r<e&&y(t,n[r],0)>-1;);return r}function L(n,t){for(var r=n.length;r--&&y(t,n[r],0)>-1;);return r}function C(n,t){for(var r=n.length,e=0;r--;)n[r]===t&&++e;\nreturn e}function U(n){return\"\\\\\"+Yr[n]}function B(n,t){return null==n?X:n[t]}function T(n){return Nr.test(n)}function $(n){return Pr.test(n)}function D(n){for(var t,r=[];!(t=n.next()).done;)r.push(t.value);return r}function M(n){var t=-1,r=Array(n.size);return n.forEach(function(n,e){r[++t]=[e,n]}),r}function F(n,t){return function(r){return n(t(r))}}function N(n,t){for(var r=-1,e=n.length,u=0,i=[];++r<e;){var o=n[r];o!==t&&o!==cn||(n[r]=cn,i[u++]=r)}return i}function P(n){var t=-1,r=Array(n.size);\nreturn n.forEach(function(n){r[++t]=n}),r}function q(n){var t=-1,r=Array(n.size);return n.forEach(function(n){r[++t]=[n,n]}),r}function Z(n,t,r){for(var e=r-1,u=n.length;++e<u;)if(n[e]===t)return e;return-1}function K(n,t,r){for(var e=r+1;e--;)if(n[e]===t)return e;return e}function V(n){return T(n)?J(n):_e(n)}function G(n){return T(n)?Y(n):p(n)}function H(n){for(var t=n.length;t--&&Ct.test(n.charAt(t)););return t}function J(n){for(var t=Mr.lastIndex=0;Mr.test(n);)++t;return t}function Y(n){return n.match(Mr)||[];\n}function Q(n){return n.match(Fr)||[]}var X,nn=\"4.17.21\",tn=200,rn=\"Unsupported core-js use. Try https://npms.io/search?q=ponyfill.\",en=\"Expected a function\",un=\"Invalid `variable` option passed into `_.template`\",on=\"__lodash_hash_undefined__\",fn=500,cn=\"__lodash_placeholder__\",an=1,ln=2,sn=4,hn=1,pn=2,_n=1,vn=2,gn=4,yn=8,dn=16,bn=32,wn=64,mn=128,xn=256,jn=512,An=30,kn=\"...\",On=800,In=16,Rn=1,zn=2,En=3,Sn=1/0,Wn=9007199254740991,Ln=1.7976931348623157e308,Cn=NaN,Un=4294967295,Bn=Un-1,Tn=Un>>>1,$n=[[\"ary\",mn],[\"bind\",_n],[\"bindKey\",vn],[\"curry\",yn],[\"curryRight\",dn],[\"flip\",jn],[\"partial\",bn],[\"partialRight\",wn],[\"rearg\",xn]],Dn=\"[object Arguments]\",Mn=\"[object Array]\",Fn=\"[object AsyncFunction]\",Nn=\"[object Boolean]\",Pn=\"[object Date]\",qn=\"[object DOMException]\",Zn=\"[object Error]\",Kn=\"[object Function]\",Vn=\"[object GeneratorFunction]\",Gn=\"[object Map]\",Hn=\"[object Number]\",Jn=\"[object Null]\",Yn=\"[object Object]\",Qn=\"[object Promise]\",Xn=\"[object Proxy]\",nt=\"[object RegExp]\",tt=\"[object Set]\",rt=\"[object String]\",et=\"[object Symbol]\",ut=\"[object Undefined]\",it=\"[object WeakMap]\",ot=\"[object WeakSet]\",ft=\"[object ArrayBuffer]\",ct=\"[object DataView]\",at=\"[object Float32Array]\",lt=\"[object Float64Array]\",st=\"[object Int8Array]\",ht=\"[object Int16Array]\",pt=\"[object Int32Array]\",_t=\"[object Uint8Array]\",vt=\"[object Uint8ClampedArray]\",gt=\"[object Uint16Array]\",yt=\"[object Uint32Array]\",dt=/\\b__p \\+= '';/g,bt=/\\b(__p \\+=) '' \\+/g,wt=/(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g,mt=/&(?:amp|lt|gt|quot|#39);/g,xt=/[&<>\"']/g,jt=RegExp(mt.source),At=RegExp(xt.source),kt=/<%-([\\s\\S]+?)%>/g,Ot=/<%([\\s\\S]+?)%>/g,It=/<%=([\\s\\S]+?)%>/g,Rt=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,zt=/^\\w*$/,Et=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,St=/[\\\\^$.*+?()[\\]{}|]/g,Wt=RegExp(St.source),Lt=/^\\s+/,Ct=/\\s/,Ut=/\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,Bt=/\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,Tt=/,? & /,$t=/[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g,Dt=/[()=,{}\\[\\]\\/\\s]/,Mt=/\\\\(\\\\)?/g,Ft=/\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g,Nt=/\\w*$/,Pt=/^[-+]0x[0-9a-f]+$/i,qt=/^0b[01]+$/i,Zt=/^\\[object .+?Constructor\\]$/,Kt=/^0o[0-7]+$/i,Vt=/^(?:0|[1-9]\\d*)$/,Gt=/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,Ht=/($^)/,Jt=/['\\n\\r\\u2028\\u2029\\\\]/g,Yt=\"\\\\ud800-\\\\udfff\",Qt=\"\\\\u0300-\\\\u036f\",Xt=\"\\\\ufe20-\\\\ufe2f\",nr=\"\\\\u20d0-\\\\u20ff\",tr=Qt+Xt+nr,rr=\"\\\\u2700-\\\\u27bf\",er=\"a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff\",ur=\"\\\\xac\\\\xb1\\\\xd7\\\\xf7\",ir=\"\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\",or=\"\\\\u2000-\\\\u206f\",fr=\" \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\",cr=\"A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde\",ar=\"\\\\ufe0e\\\\ufe0f\",lr=ur+ir+or+fr,sr=\"['\\u2019]\",hr=\"[\"+Yt+\"]\",pr=\"[\"+lr+\"]\",_r=\"[\"+tr+\"]\",vr=\"\\\\d+\",gr=\"[\"+rr+\"]\",yr=\"[\"+er+\"]\",dr=\"[^\"+Yt+lr+vr+rr+er+cr+\"]\",br=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",wr=\"(?:\"+_r+\"|\"+br+\")\",mr=\"[^\"+Yt+\"]\",xr=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",jr=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",Ar=\"[\"+cr+\"]\",kr=\"\\\\u200d\",Or=\"(?:\"+yr+\"|\"+dr+\")\",Ir=\"(?:\"+Ar+\"|\"+dr+\")\",Rr=\"(?:\"+sr+\"(?:d|ll|m|re|s|t|ve))?\",zr=\"(?:\"+sr+\"(?:D|LL|M|RE|S|T|VE))?\",Er=wr+\"?\",Sr=\"[\"+ar+\"]?\",Wr=\"(?:\"+kr+\"(?:\"+[mr,xr,jr].join(\"|\")+\")\"+Sr+Er+\")*\",Lr=\"\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])\",Cr=\"\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])\",Ur=Sr+Er+Wr,Br=\"(?:\"+[gr,xr,jr].join(\"|\")+\")\"+Ur,Tr=\"(?:\"+[mr+_r+\"?\",_r,xr,jr,hr].join(\"|\")+\")\",$r=RegExp(sr,\"g\"),Dr=RegExp(_r,\"g\"),Mr=RegExp(br+\"(?=\"+br+\")|\"+Tr+Ur,\"g\"),Fr=RegExp([Ar+\"?\"+yr+\"+\"+Rr+\"(?=\"+[pr,Ar,\"$\"].join(\"|\")+\")\",Ir+\"+\"+zr+\"(?=\"+[pr,Ar+Or,\"$\"].join(\"|\")+\")\",Ar+\"?\"+Or+\"+\"+Rr,Ar+\"+\"+zr,Cr,Lr,vr,Br].join(\"|\"),\"g\"),Nr=RegExp(\"[\"+kr+Yt+tr+ar+\"]\"),Pr=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,qr=[\"Array\",\"Buffer\",\"DataView\",\"Date\",\"Error\",\"Float32Array\",\"Float64Array\",\"Function\",\"Int8Array\",\"Int16Array\",\"Int32Array\",\"Map\",\"Math\",\"Object\",\"Promise\",\"RegExp\",\"Set\",\"String\",\"Symbol\",\"TypeError\",\"Uint8Array\",\"Uint8ClampedArray\",\"Uint16Array\",\"Uint32Array\",\"WeakMap\",\"_\",\"clearTimeout\",\"isFinite\",\"parseInt\",\"setTimeout\"],Zr=-1,Kr={};\nKr[at]=Kr[lt]=Kr[st]=Kr[ht]=Kr[pt]=Kr[_t]=Kr[vt]=Kr[gt]=Kr[yt]=!0,Kr[Dn]=Kr[Mn]=Kr[ft]=Kr[Nn]=Kr[ct]=Kr[Pn]=Kr[Zn]=Kr[Kn]=Kr[Gn]=Kr[Hn]=Kr[Yn]=Kr[nt]=Kr[tt]=Kr[rt]=Kr[it]=!1;var Vr={};Vr[Dn]=Vr[Mn]=Vr[ft]=Vr[ct]=Vr[Nn]=Vr[Pn]=Vr[at]=Vr[lt]=Vr[st]=Vr[ht]=Vr[pt]=Vr[Gn]=Vr[Hn]=Vr[Yn]=Vr[nt]=Vr[tt]=Vr[rt]=Vr[et]=Vr[_t]=Vr[vt]=Vr[gt]=Vr[yt]=!0,Vr[Zn]=Vr[Kn]=Vr[it]=!1;var Gr={\"\\xc0\":\"A\",\"\\xc1\":\"A\",\"\\xc2\":\"A\",\"\\xc3\":\"A\",\"\\xc4\":\"A\",\"\\xc5\":\"A\",\"\\xe0\":\"a\",\"\\xe1\":\"a\",\"\\xe2\":\"a\",\"\\xe3\":\"a\",\"\\xe4\":\"a\",\"\\xe5\":\"a\",\n\"\\xc7\":\"C\",\"\\xe7\":\"c\",\"\\xd0\":\"D\",\"\\xf0\":\"d\",\"\\xc8\":\"E\",\"\\xc9\":\"E\",\"\\xca\":\"E\",\"\\xcb\":\"E\",\"\\xe8\":\"e\",\"\\xe9\":\"e\",\"\\xea\":\"e\",\"\\xeb\":\"e\",\"\\xcc\":\"I\",\"\\xcd\":\"I\",\"\\xce\":\"I\",\"\\xcf\":\"I\",\"\\xec\":\"i\",\"\\xed\":\"i\",\"\\xee\":\"i\",\"\\xef\":\"i\",\"\\xd1\":\"N\",\"\\xf1\":\"n\",\"\\xd2\":\"O\",\"\\xd3\":\"O\",\"\\xd4\":\"O\",\"\\xd5\":\"O\",\"\\xd6\":\"O\",\"\\xd8\":\"O\",\"\\xf2\":\"o\",\"\\xf3\":\"o\",\"\\xf4\":\"o\",\"\\xf5\":\"o\",\"\\xf6\":\"o\",\"\\xf8\":\"o\",\"\\xd9\":\"U\",\"\\xda\":\"U\",\"\\xdb\":\"U\",\"\\xdc\":\"U\",\"\\xf9\":\"u\",\"\\xfa\":\"u\",\"\\xfb\":\"u\",\"\\xfc\":\"u\",\"\\xdd\":\"Y\",\"\\xfd\":\"y\",\"\\xff\":\"y\",\"\\xc6\":\"Ae\",\n\"\\xe6\":\"ae\",\"\\xde\":\"Th\",\"\\xfe\":\"th\",\"\\xdf\":\"ss\",\"\\u0100\":\"A\",\"\\u0102\":\"A\",\"\\u0104\":\"A\",\"\\u0101\":\"a\",\"\\u0103\":\"a\",\"\\u0105\":\"a\",\"\\u0106\":\"C\",\"\\u0108\":\"C\",\"\\u010a\":\"C\",\"\\u010c\":\"C\",\"\\u0107\":\"c\",\"\\u0109\":\"c\",\"\\u010b\":\"c\",\"\\u010d\":\"c\",\"\\u010e\":\"D\",\"\\u0110\":\"D\",\"\\u010f\":\"d\",\"\\u0111\":\"d\",\"\\u0112\":\"E\",\"\\u0114\":\"E\",\"\\u0116\":\"E\",\"\\u0118\":\"E\",\"\\u011a\":\"E\",\"\\u0113\":\"e\",\"\\u0115\":\"e\",\"\\u0117\":\"e\",\"\\u0119\":\"e\",\"\\u011b\":\"e\",\"\\u011c\":\"G\",\"\\u011e\":\"G\",\"\\u0120\":\"G\",\"\\u0122\":\"G\",\"\\u011d\":\"g\",\"\\u011f\":\"g\",\"\\u0121\":\"g\",\n\"\\u0123\":\"g\",\"\\u0124\":\"H\",\"\\u0126\":\"H\",\"\\u0125\":\"h\",\"\\u0127\":\"h\",\"\\u0128\":\"I\",\"\\u012a\":\"I\",\"\\u012c\":\"I\",\"\\u012e\":\"I\",\"\\u0130\":\"I\",\"\\u0129\":\"i\",\"\\u012b\":\"i\",\"\\u012d\":\"i\",\"\\u012f\":\"i\",\"\\u0131\":\"i\",\"\\u0134\":\"J\",\"\\u0135\":\"j\",\"\\u0136\":\"K\",\"\\u0137\":\"k\",\"\\u0138\":\"k\",\"\\u0139\":\"L\",\"\\u013b\":\"L\",\"\\u013d\":\"L\",\"\\u013f\":\"L\",\"\\u0141\":\"L\",\"\\u013a\":\"l\",\"\\u013c\":\"l\",\"\\u013e\":\"l\",\"\\u0140\":\"l\",\"\\u0142\":\"l\",\"\\u0143\":\"N\",\"\\u0145\":\"N\",\"\\u0147\":\"N\",\"\\u014a\":\"N\",\"\\u0144\":\"n\",\"\\u0146\":\"n\",\"\\u0148\":\"n\",\"\\u014b\":\"n\",\"\\u014c\":\"O\",\n\"\\u014e\":\"O\",\"\\u0150\":\"O\",\"\\u014d\":\"o\",\"\\u014f\":\"o\",\"\\u0151\":\"o\",\"\\u0154\":\"R\",\"\\u0156\":\"R\",\"\\u0158\":\"R\",\"\\u0155\":\"r\",\"\\u0157\":\"r\",\"\\u0159\":\"r\",\"\\u015a\":\"S\",\"\\u015c\":\"S\",\"\\u015e\":\"S\",\"\\u0160\":\"S\",\"\\u015b\":\"s\",\"\\u015d\":\"s\",\"\\u015f\":\"s\",\"\\u0161\":\"s\",\"\\u0162\":\"T\",\"\\u0164\":\"T\",\"\\u0166\":\"T\",\"\\u0163\":\"t\",\"\\u0165\":\"t\",\"\\u0167\":\"t\",\"\\u0168\":\"U\",\"\\u016a\":\"U\",\"\\u016c\":\"U\",\"\\u016e\":\"U\",\"\\u0170\":\"U\",\"\\u0172\":\"U\",\"\\u0169\":\"u\",\"\\u016b\":\"u\",\"\\u016d\":\"u\",\"\\u016f\":\"u\",\"\\u0171\":\"u\",\"\\u0173\":\"u\",\"\\u0174\":\"W\",\"\\u0175\":\"w\",\n\"\\u0176\":\"Y\",\"\\u0177\":\"y\",\"\\u0178\":\"Y\",\"\\u0179\":\"Z\",\"\\u017b\":\"Z\",\"\\u017d\":\"Z\",\"\\u017a\":\"z\",\"\\u017c\":\"z\",\"\\u017e\":\"z\",\"\\u0132\":\"IJ\",\"\\u0133\":\"ij\",\"\\u0152\":\"Oe\",\"\\u0153\":\"oe\",\"\\u0149\":\"'n\",\"\\u017f\":\"s\"},Hr={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"},Jr={\"&amp;\":\"&\",\"&lt;\":\"<\",\"&gt;\":\">\",\"&quot;\":'\"',\"&#39;\":\"'\"},Yr={\"\\\\\":\"\\\\\",\"'\":\"'\",\"\\n\":\"n\",\"\\r\":\"r\",\"\\u2028\":\"u2028\",\"\\u2029\":\"u2029\"},Qr=parseFloat,Xr=parseInt,ne=\"object\"==typeof global&&global&&global.Object===Object&&global,te=\"object\"==typeof self&&self&&self.Object===Object&&self,re=ne||te||Function(\"return this\")(),ee=\"object\"==typeof exports&&exports&&!exports.nodeType&&exports,ue=ee&&\"object\"==typeof module&&module&&!module.nodeType&&module,ie=ue&&ue.exports===ee,oe=ie&&ne.process,fe=function(){\ntry{var n=ue&&ue.require&&ue.require(\"util\").types;return n?n:oe&&oe.binding&&oe.binding(\"util\")}catch(n){}}(),ce=fe&&fe.isArrayBuffer,ae=fe&&fe.isDate,le=fe&&fe.isMap,se=fe&&fe.isRegExp,he=fe&&fe.isSet,pe=fe&&fe.isTypedArray,_e=m(\"length\"),ve=x(Gr),ge=x(Hr),ye=x(Jr),de=function p(x){function Z(n){if(cc(n)&&!bh(n)&&!(n instanceof Ct)){if(n instanceof Y)return n;if(bl.call(n,\"__wrapped__\"))return eo(n)}return new Y(n)}function J(){}function Y(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t,\nthis.__index__=0,this.__values__=X}function Ct(n){this.__wrapped__=n,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Un,this.__views__=[]}function $t(){var n=new Ct(this.__wrapped__);return n.__actions__=Tu(this.__actions__),n.__dir__=this.__dir__,n.__filtered__=this.__filtered__,n.__iteratees__=Tu(this.__iteratees__),n.__takeCount__=this.__takeCount__,n.__views__=Tu(this.__views__),n}function Yt(){if(this.__filtered__){var n=new Ct(this);n.__dir__=-1,\nn.__filtered__=!0}else n=this.clone(),n.__dir__*=-1;return n}function Qt(){var n=this.__wrapped__.value(),t=this.__dir__,r=bh(n),e=t<0,u=r?n.length:0,i=Oi(0,u,this.__views__),o=i.start,f=i.end,c=f-o,a=e?f:o-1,l=this.__iteratees__,s=l.length,h=0,p=Hl(c,this.__takeCount__);if(!r||!e&&u==c&&p==c)return wu(n,this.__actions__);var _=[];n:for(;c--&&h<p;){a+=t;for(var v=-1,g=n[a];++v<s;){var y=l[v],d=y.iteratee,b=y.type,w=d(g);if(b==zn)g=w;else if(!w){if(b==Rn)continue n;break n}}_[h++]=g}return _}function Xt(n){\nvar t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function nr(){this.__data__=is?is(null):{},this.size=0}function tr(n){var t=this.has(n)&&delete this.__data__[n];return this.size-=t?1:0,t}function rr(n){var t=this.__data__;if(is){var r=t[n];return r===on?X:r}return bl.call(t,n)?t[n]:X}function er(n){var t=this.__data__;return is?t[n]!==X:bl.call(t,n)}function ur(n,t){var r=this.__data__;return this.size+=this.has(n)?0:1,r[n]=is&&t===X?on:t,this}function ir(n){\nvar t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function or(){this.__data__=[],this.size=0}function fr(n){var t=this.__data__,r=Wr(t,n);return!(r<0)&&(r==t.length-1?t.pop():Ll.call(t,r,1),--this.size,!0)}function cr(n){var t=this.__data__,r=Wr(t,n);return r<0?X:t[r][1]}function ar(n){return Wr(this.__data__,n)>-1}function lr(n,t){var r=this.__data__,e=Wr(r,n);return e<0?(++this.size,r.push([n,t])):r[e][1]=t,this}function sr(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){\nvar e=n[t];this.set(e[0],e[1])}}function hr(){this.size=0,this.__data__={hash:new Xt,map:new(ts||ir),string:new Xt}}function pr(n){var t=xi(this,n).delete(n);return this.size-=t?1:0,t}function _r(n){return xi(this,n).get(n)}function vr(n){return xi(this,n).has(n)}function gr(n,t){var r=xi(this,n),e=r.size;return r.set(n,t),this.size+=r.size==e?0:1,this}function yr(n){var t=-1,r=null==n?0:n.length;for(this.__data__=new sr;++t<r;)this.add(n[t])}function dr(n){return this.__data__.set(n,on),this}function br(n){\nreturn this.__data__.has(n)}function wr(n){this.size=(this.__data__=new ir(n)).size}function mr(){this.__data__=new ir,this.size=0}function xr(n){var t=this.__data__,r=t.delete(n);return this.size=t.size,r}function jr(n){return this.__data__.get(n)}function Ar(n){return this.__data__.has(n)}function kr(n,t){var r=this.__data__;if(r instanceof ir){var e=r.__data__;if(!ts||e.length<tn-1)return e.push([n,t]),this.size=++r.size,this;r=this.__data__=new sr(e)}return r.set(n,t),this.size=r.size,this}function Or(n,t){\nvar r=bh(n),e=!r&&dh(n),u=!r&&!e&&mh(n),i=!r&&!e&&!u&&Oh(n),o=r||e||u||i,f=o?O(n.length,hl):[],c=f.length;for(var a in n)!t&&!bl.call(n,a)||o&&(\"length\"==a||u&&(\"offset\"==a||\"parent\"==a)||i&&(\"buffer\"==a||\"byteLength\"==a||\"byteOffset\"==a)||Ci(a,c))||f.push(a);return f}function Ir(n){var t=n.length;return t?n[tu(0,t-1)]:X}function Rr(n,t){return Xi(Tu(n),Mr(t,0,n.length))}function zr(n){return Xi(Tu(n))}function Er(n,t,r){(r===X||Gf(n[t],r))&&(r!==X||t in n)||Br(n,t,r)}function Sr(n,t,r){var e=n[t];\nbl.call(n,t)&&Gf(e,r)&&(r!==X||t in n)||Br(n,t,r)}function Wr(n,t){for(var r=n.length;r--;)if(Gf(n[r][0],t))return r;return-1}function Lr(n,t,r,e){return ys(n,function(n,u,i){t(e,n,r(n),i)}),e}function Cr(n,t){return n&&$u(t,Pc(t),n)}function Ur(n,t){return n&&$u(t,qc(t),n)}function Br(n,t,r){\"__proto__\"==t&&Tl?Tl(n,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):n[t]=r}function Tr(n,t){for(var r=-1,e=t.length,u=il(e),i=null==n;++r<e;)u[r]=i?X:Mc(n,t[r]);return u}function Mr(n,t,r){return n===n&&(r!==X&&(n=n<=r?n:r),\nt!==X&&(n=n>=t?n:t)),n}function Fr(n,t,e,u,i,o){var f,c=t&an,a=t&ln,l=t&sn;if(e&&(f=i?e(n,u,i,o):e(n)),f!==X)return f;if(!fc(n))return n;var s=bh(n);if(s){if(f=zi(n),!c)return Tu(n,f)}else{var h=zs(n),p=h==Kn||h==Vn;if(mh(n))return Iu(n,c);if(h==Yn||h==Dn||p&&!i){if(f=a||p?{}:Ei(n),!c)return a?Mu(n,Ur(f,n)):Du(n,Cr(f,n))}else{if(!Vr[h])return i?n:{};f=Si(n,h,c)}}o||(o=new wr);var _=o.get(n);if(_)return _;o.set(n,f),kh(n)?n.forEach(function(r){f.add(Fr(r,t,e,r,n,o))}):jh(n)&&n.forEach(function(r,u){\nf.set(u,Fr(r,t,e,u,n,o))});var v=l?a?di:yi:a?qc:Pc,g=s?X:v(n);return r(g||n,function(r,u){g&&(u=r,r=n[u]),Sr(f,u,Fr(r,t,e,u,n,o))}),f}function Nr(n){var t=Pc(n);return function(r){return Pr(r,n,t)}}function Pr(n,t,r){var e=r.length;if(null==n)return!e;for(n=ll(n);e--;){var u=r[e],i=t[u],o=n[u];if(o===X&&!(u in n)||!i(o))return!1}return!0}function Gr(n,t,r){if(\"function\"!=typeof n)throw new pl(en);return Ws(function(){n.apply(X,r)},t)}function Hr(n,t,r,e){var u=-1,i=o,a=!0,l=n.length,s=[],h=t.length;\nif(!l)return s;r&&(t=c(t,z(r))),e?(i=f,a=!1):t.length>=tn&&(i=S,a=!1,t=new yr(t));n:for(;++u<l;){var p=n[u],_=null==r?p:r(p);if(p=e||0!==p?p:0,a&&_===_){for(var v=h;v--;)if(t[v]===_)continue n;s.push(p)}else i(t,_,e)||s.push(p)}return s}function Jr(n,t){var r=!0;return ys(n,function(n,e,u){return r=!!t(n,e,u)}),r}function Yr(n,t,r){for(var e=-1,u=n.length;++e<u;){var i=n[e],o=t(i);if(null!=o&&(f===X?o===o&&!bc(o):r(o,f)))var f=o,c=i}return c}function ne(n,t,r,e){var u=n.length;for(r=kc(r),r<0&&(r=-r>u?0:u+r),\ne=e===X||e>u?u:kc(e),e<0&&(e+=u),e=r>e?0:Oc(e);r<e;)n[r++]=t;return n}function te(n,t){var r=[];return ys(n,function(n,e,u){t(n,e,u)&&r.push(n)}),r}function ee(n,t,r,e,u){var i=-1,o=n.length;for(r||(r=Li),u||(u=[]);++i<o;){var f=n[i];t>0&&r(f)?t>1?ee(f,t-1,r,e,u):a(u,f):e||(u[u.length]=f)}return u}function ue(n,t){return n&&bs(n,t,Pc)}function oe(n,t){return n&&ws(n,t,Pc)}function fe(n,t){return i(t,function(t){return uc(n[t])})}function _e(n,t){t=ku(t,n);for(var r=0,e=t.length;null!=n&&r<e;)n=n[no(t[r++])];\nreturn r&&r==e?n:X}function de(n,t,r){var e=t(n);return bh(n)?e:a(e,r(n))}function we(n){return null==n?n===X?ut:Jn:Bl&&Bl in ll(n)?ki(n):Ki(n)}function me(n,t){return n>t}function xe(n,t){return null!=n&&bl.call(n,t)}function je(n,t){return null!=n&&t in ll(n)}function Ae(n,t,r){return n>=Hl(t,r)&&n<Gl(t,r)}function ke(n,t,r){for(var e=r?f:o,u=n[0].length,i=n.length,a=i,l=il(i),s=1/0,h=[];a--;){var p=n[a];a&&t&&(p=c(p,z(t))),s=Hl(p.length,s),l[a]=!r&&(t||u>=120&&p.length>=120)?new yr(a&&p):X}p=n[0];\nvar _=-1,v=l[0];n:for(;++_<u&&h.length<s;){var g=p[_],y=t?t(g):g;if(g=r||0!==g?g:0,!(v?S(v,y):e(h,y,r))){for(a=i;--a;){var d=l[a];if(!(d?S(d,y):e(n[a],y,r)))continue n}v&&v.push(y),h.push(g)}}return h}function Oe(n,t,r,e){return ue(n,function(n,u,i){t(e,r(n),u,i)}),e}function Ie(t,r,e){r=ku(r,t),t=Gi(t,r);var u=null==t?t:t[no(jo(r))];return null==u?X:n(u,t,e)}function Re(n){return cc(n)&&we(n)==Dn}function ze(n){return cc(n)&&we(n)==ft}function Ee(n){return cc(n)&&we(n)==Pn}function Se(n,t,r,e,u){\nreturn n===t||(null==n||null==t||!cc(n)&&!cc(t)?n!==n&&t!==t:We(n,t,r,e,Se,u))}function We(n,t,r,e,u,i){var o=bh(n),f=bh(t),c=o?Mn:zs(n),a=f?Mn:zs(t);c=c==Dn?Yn:c,a=a==Dn?Yn:a;var l=c==Yn,s=a==Yn,h=c==a;if(h&&mh(n)){if(!mh(t))return!1;o=!0,l=!1}if(h&&!l)return i||(i=new wr),o||Oh(n)?pi(n,t,r,e,u,i):_i(n,t,c,r,e,u,i);if(!(r&hn)){var p=l&&bl.call(n,\"__wrapped__\"),_=s&&bl.call(t,\"__wrapped__\");if(p||_){var v=p?n.value():n,g=_?t.value():t;return i||(i=new wr),u(v,g,r,e,i)}}return!!h&&(i||(i=new wr),vi(n,t,r,e,u,i));\n}function Le(n){return cc(n)&&zs(n)==Gn}function Ce(n,t,r,e){var u=r.length,i=u,o=!e;if(null==n)return!i;for(n=ll(n);u--;){var f=r[u];if(o&&f[2]?f[1]!==n[f[0]]:!(f[0]in n))return!1}for(;++u<i;){f=r[u];var c=f[0],a=n[c],l=f[1];if(o&&f[2]){if(a===X&&!(c in n))return!1}else{var s=new wr;if(e)var h=e(a,l,c,n,t,s);if(!(h===X?Se(l,a,hn|pn,e,s):h))return!1}}return!0}function Ue(n){return!(!fc(n)||Di(n))&&(uc(n)?kl:Zt).test(to(n))}function Be(n){return cc(n)&&we(n)==nt}function Te(n){return cc(n)&&zs(n)==tt;\n}function $e(n){return cc(n)&&oc(n.length)&&!!Kr[we(n)]}function De(n){return\"function\"==typeof n?n:null==n?La:\"object\"==typeof n?bh(n)?Ze(n[0],n[1]):qe(n):Fa(n)}function Me(n){if(!Mi(n))return Vl(n);var t=[];for(var r in ll(n))bl.call(n,r)&&\"constructor\"!=r&&t.push(r);return t}function Fe(n){if(!fc(n))return Zi(n);var t=Mi(n),r=[];for(var e in n)(\"constructor\"!=e||!t&&bl.call(n,e))&&r.push(e);return r}function Ne(n,t){return n<t}function Pe(n,t){var r=-1,e=Hf(n)?il(n.length):[];return ys(n,function(n,u,i){\ne[++r]=t(n,u,i)}),e}function qe(n){var t=ji(n);return 1==t.length&&t[0][2]?Ni(t[0][0],t[0][1]):function(r){return r===n||Ce(r,n,t)}}function Ze(n,t){return Bi(n)&&Fi(t)?Ni(no(n),t):function(r){var e=Mc(r,n);return e===X&&e===t?Nc(r,n):Se(t,e,hn|pn)}}function Ke(n,t,r,e,u){n!==t&&bs(t,function(i,o){if(u||(u=new wr),fc(i))Ve(n,t,o,r,Ke,e,u);else{var f=e?e(Ji(n,o),i,o+\"\",n,t,u):X;f===X&&(f=i),Er(n,o,f)}},qc)}function Ve(n,t,r,e,u,i,o){var f=Ji(n,r),c=Ji(t,r),a=o.get(c);if(a)return Er(n,r,a),X;var l=i?i(f,c,r+\"\",n,t,o):X,s=l===X;\nif(s){var h=bh(c),p=!h&&mh(c),_=!h&&!p&&Oh(c);l=c,h||p||_?bh(f)?l=f:Jf(f)?l=Tu(f):p?(s=!1,l=Iu(c,!0)):_?(s=!1,l=Wu(c,!0)):l=[]:gc(c)||dh(c)?(l=f,dh(f)?l=Rc(f):fc(f)&&!uc(f)||(l=Ei(c))):s=!1}s&&(o.set(c,l),u(l,c,e,i,o),o.delete(c)),Er(n,r,l)}function Ge(n,t){var r=n.length;if(r)return t+=t<0?r:0,Ci(t,r)?n[t]:X}function He(n,t,r){t=t.length?c(t,function(n){return bh(n)?function(t){return _e(t,1===n.length?n[0]:n)}:n}):[La];var e=-1;return t=c(t,z(mi())),A(Pe(n,function(n,r,u){return{criteria:c(t,function(t){\nreturn t(n)}),index:++e,value:n}}),function(n,t){return Cu(n,t,r)})}function Je(n,t){return Ye(n,t,function(t,r){return Nc(n,r)})}function Ye(n,t,r){for(var e=-1,u=t.length,i={};++e<u;){var o=t[e],f=_e(n,o);r(f,o)&&fu(i,ku(o,n),f)}return i}function Qe(n){return function(t){return _e(t,n)}}function Xe(n,t,r,e){var u=e?d:y,i=-1,o=t.length,f=n;for(n===t&&(t=Tu(t)),r&&(f=c(n,z(r)));++i<o;)for(var a=0,l=t[i],s=r?r(l):l;(a=u(f,s,a,e))>-1;)f!==n&&Ll.call(f,a,1),Ll.call(n,a,1);return n}function nu(n,t){for(var r=n?t.length:0,e=r-1;r--;){\nvar u=t[r];if(r==e||u!==i){var i=u;Ci(u)?Ll.call(n,u,1):yu(n,u)}}return n}function tu(n,t){return n+Nl(Ql()*(t-n+1))}function ru(n,t,r,e){for(var u=-1,i=Gl(Fl((t-n)/(r||1)),0),o=il(i);i--;)o[e?i:++u]=n,n+=r;return o}function eu(n,t){var r=\"\";if(!n||t<1||t>Wn)return r;do t%2&&(r+=n),t=Nl(t/2),t&&(n+=n);while(t);return r}function uu(n,t){return Ls(Vi(n,t,La),n+\"\")}function iu(n){return Ir(ra(n))}function ou(n,t){var r=ra(n);return Xi(r,Mr(t,0,r.length))}function fu(n,t,r,e){if(!fc(n))return n;t=ku(t,n);\nfor(var u=-1,i=t.length,o=i-1,f=n;null!=f&&++u<i;){var c=no(t[u]),a=r;if(\"__proto__\"===c||\"constructor\"===c||\"prototype\"===c)return n;if(u!=o){var l=f[c];a=e?e(l,c,f):X,a===X&&(a=fc(l)?l:Ci(t[u+1])?[]:{})}Sr(f,c,a),f=f[c]}return n}function cu(n){return Xi(ra(n))}function au(n,t,r){var e=-1,u=n.length;t<0&&(t=-t>u?0:u+t),r=r>u?u:r,r<0&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0;for(var i=il(u);++e<u;)i[e]=n[e+t];return i}function lu(n,t){var r;return ys(n,function(n,e,u){return r=t(n,e,u),!r}),!!r}function su(n,t,r){\nvar e=0,u=null==n?e:n.length;if(\"number\"==typeof t&&t===t&&u<=Tn){for(;e<u;){var i=e+u>>>1,o=n[i];null!==o&&!bc(o)&&(r?o<=t:o<t)?e=i+1:u=i}return u}return hu(n,t,La,r)}function hu(n,t,r,e){var u=0,i=null==n?0:n.length;if(0===i)return 0;t=r(t);for(var o=t!==t,f=null===t,c=bc(t),a=t===X;u<i;){var l=Nl((u+i)/2),s=r(n[l]),h=s!==X,p=null===s,_=s===s,v=bc(s);if(o)var g=e||_;else g=a?_&&(e||h):f?_&&h&&(e||!p):c?_&&h&&!p&&(e||!v):!p&&!v&&(e?s<=t:s<t);g?u=l+1:i=l}return Hl(i,Bn)}function pu(n,t){for(var r=-1,e=n.length,u=0,i=[];++r<e;){\nvar o=n[r],f=t?t(o):o;if(!r||!Gf(f,c)){var c=f;i[u++]=0===o?0:o}}return i}function _u(n){return\"number\"==typeof n?n:bc(n)?Cn:+n}function vu(n){if(\"string\"==typeof n)return n;if(bh(n))return c(n,vu)+\"\";if(bc(n))return vs?vs.call(n):\"\";var t=n+\"\";return\"0\"==t&&1/n==-Sn?\"-0\":t}function gu(n,t,r){var e=-1,u=o,i=n.length,c=!0,a=[],l=a;if(r)c=!1,u=f;else if(i>=tn){var s=t?null:ks(n);if(s)return P(s);c=!1,u=S,l=new yr}else l=t?[]:a;n:for(;++e<i;){var h=n[e],p=t?t(h):h;if(h=r||0!==h?h:0,c&&p===p){for(var _=l.length;_--;)if(l[_]===p)continue n;\nt&&l.push(p),a.push(h)}else u(l,p,r)||(l!==a&&l.push(p),a.push(h))}return a}function yu(n,t){return t=ku(t,n),n=Gi(n,t),null==n||delete n[no(jo(t))]}function du(n,t,r,e){return fu(n,t,r(_e(n,t)),e)}function bu(n,t,r,e){for(var u=n.length,i=e?u:-1;(e?i--:++i<u)&&t(n[i],i,n););return r?au(n,e?0:i,e?i+1:u):au(n,e?i+1:0,e?u:i)}function wu(n,t){var r=n;return r instanceof Ct&&(r=r.value()),l(t,function(n,t){return t.func.apply(t.thisArg,a([n],t.args))},r)}function mu(n,t,r){var e=n.length;if(e<2)return e?gu(n[0]):[];\nfor(var u=-1,i=il(e);++u<e;)for(var o=n[u],f=-1;++f<e;)f!=u&&(i[u]=Hr(i[u]||o,n[f],t,r));return gu(ee(i,1),t,r)}function xu(n,t,r){for(var e=-1,u=n.length,i=t.length,o={};++e<u;){r(o,n[e],e<i?t[e]:X)}return o}function ju(n){return Jf(n)?n:[]}function Au(n){return\"function\"==typeof n?n:La}function ku(n,t){return bh(n)?n:Bi(n,t)?[n]:Cs(Ec(n))}function Ou(n,t,r){var e=n.length;return r=r===X?e:r,!t&&r>=e?n:au(n,t,r)}function Iu(n,t){if(t)return n.slice();var r=n.length,e=zl?zl(r):new n.constructor(r);\nreturn n.copy(e),e}function Ru(n){var t=new n.constructor(n.byteLength);return new Rl(t).set(new Rl(n)),t}function zu(n,t){return new n.constructor(t?Ru(n.buffer):n.buffer,n.byteOffset,n.byteLength)}function Eu(n){var t=new n.constructor(n.source,Nt.exec(n));return t.lastIndex=n.lastIndex,t}function Su(n){return _s?ll(_s.call(n)):{}}function Wu(n,t){return new n.constructor(t?Ru(n.buffer):n.buffer,n.byteOffset,n.length)}function Lu(n,t){if(n!==t){var r=n!==X,e=null===n,u=n===n,i=bc(n),o=t!==X,f=null===t,c=t===t,a=bc(t);\nif(!f&&!a&&!i&&n>t||i&&o&&c&&!f&&!a||e&&o&&c||!r&&c||!u)return 1;if(!e&&!i&&!a&&n<t||a&&r&&u&&!e&&!i||f&&r&&u||!o&&u||!c)return-1}return 0}function Cu(n,t,r){for(var e=-1,u=n.criteria,i=t.criteria,o=u.length,f=r.length;++e<o;){var c=Lu(u[e],i[e]);if(c){if(e>=f)return c;return c*(\"desc\"==r[e]?-1:1)}}return n.index-t.index}function Uu(n,t,r,e){for(var u=-1,i=n.length,o=r.length,f=-1,c=t.length,a=Gl(i-o,0),l=il(c+a),s=!e;++f<c;)l[f]=t[f];for(;++u<o;)(s||u<i)&&(l[r[u]]=n[u]);for(;a--;)l[f++]=n[u++];return l;\n}function Bu(n,t,r,e){for(var u=-1,i=n.length,o=-1,f=r.length,c=-1,a=t.length,l=Gl(i-f,0),s=il(l+a),h=!e;++u<l;)s[u]=n[u];for(var p=u;++c<a;)s[p+c]=t[c];for(;++o<f;)(h||u<i)&&(s[p+r[o]]=n[u++]);return s}function Tu(n,t){var r=-1,e=n.length;for(t||(t=il(e));++r<e;)t[r]=n[r];return t}function $u(n,t,r,e){var u=!r;r||(r={});for(var i=-1,o=t.length;++i<o;){var f=t[i],c=e?e(r[f],n[f],f,r,n):X;c===X&&(c=n[f]),u?Br(r,f,c):Sr(r,f,c)}return r}function Du(n,t){return $u(n,Is(n),t)}function Mu(n,t){return $u(n,Rs(n),t);\n}function Fu(n,r){return function(e,u){var i=bh(e)?t:Lr,o=r?r():{};return i(e,n,mi(u,2),o)}}function Nu(n){return uu(function(t,r){var e=-1,u=r.length,i=u>1?r[u-1]:X,o=u>2?r[2]:X;for(i=n.length>3&&\"function\"==typeof i?(u--,i):X,o&&Ui(r[0],r[1],o)&&(i=u<3?X:i,u=1),t=ll(t);++e<u;){var f=r[e];f&&n(t,f,e,i)}return t})}function Pu(n,t){return function(r,e){if(null==r)return r;if(!Hf(r))return n(r,e);for(var u=r.length,i=t?u:-1,o=ll(r);(t?i--:++i<u)&&e(o[i],i,o)!==!1;);return r}}function qu(n){return function(t,r,e){\nfor(var u=-1,i=ll(t),o=e(t),f=o.length;f--;){var c=o[n?f:++u];if(r(i[c],c,i)===!1)break}return t}}function Zu(n,t,r){function e(){return(this&&this!==re&&this instanceof e?i:n).apply(u?r:this,arguments)}var u=t&_n,i=Gu(n);return e}function Ku(n){return function(t){t=Ec(t);var r=T(t)?G(t):X,e=r?r[0]:t.charAt(0),u=r?Ou(r,1).join(\"\"):t.slice(1);return e[n]()+u}}function Vu(n){return function(t){return l(Ra(ca(t).replace($r,\"\")),n,\"\")}}function Gu(n){return function(){var t=arguments;switch(t.length){\ncase 0:return new n;case 1:return new n(t[0]);case 2:return new n(t[0],t[1]);case 3:return new n(t[0],t[1],t[2]);case 4:return new n(t[0],t[1],t[2],t[3]);case 5:return new n(t[0],t[1],t[2],t[3],t[4]);case 6:return new n(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new n(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var r=gs(n.prototype),e=n.apply(r,t);return fc(e)?e:r}}function Hu(t,r,e){function u(){for(var o=arguments.length,f=il(o),c=o,a=wi(u);c--;)f[c]=arguments[c];var l=o<3&&f[0]!==a&&f[o-1]!==a?[]:N(f,a);\nreturn o-=l.length,o<e?oi(t,r,Qu,u.placeholder,X,f,l,X,X,e-o):n(this&&this!==re&&this instanceof u?i:t,this,f)}var i=Gu(t);return u}function Ju(n){return function(t,r,e){var u=ll(t);if(!Hf(t)){var i=mi(r,3);t=Pc(t),r=function(n){return i(u[n],n,u)}}var o=n(t,r,e);return o>-1?u[i?t[o]:o]:X}}function Yu(n){return gi(function(t){var r=t.length,e=r,u=Y.prototype.thru;for(n&&t.reverse();e--;){var i=t[e];if(\"function\"!=typeof i)throw new pl(en);if(u&&!o&&\"wrapper\"==bi(i))var o=new Y([],!0)}for(e=o?e:r;++e<r;){\ni=t[e];var f=bi(i),c=\"wrapper\"==f?Os(i):X;o=c&&$i(c[0])&&c[1]==(mn|yn|bn|xn)&&!c[4].length&&1==c[9]?o[bi(c[0])].apply(o,c[3]):1==i.length&&$i(i)?o[f]():o.thru(i)}return function(){var n=arguments,e=n[0];if(o&&1==n.length&&bh(e))return o.plant(e).value();for(var u=0,i=r?t[u].apply(this,n):e;++u<r;)i=t[u].call(this,i);return i}})}function Qu(n,t,r,e,u,i,o,f,c,a){function l(){for(var y=arguments.length,d=il(y),b=y;b--;)d[b]=arguments[b];if(_)var w=wi(l),m=C(d,w);if(e&&(d=Uu(d,e,u,_)),i&&(d=Bu(d,i,o,_)),\ny-=m,_&&y<a){return oi(n,t,Qu,l.placeholder,r,d,N(d,w),f,c,a-y)}var x=h?r:this,j=p?x[n]:n;return y=d.length,f?d=Hi(d,f):v&&y>1&&d.reverse(),s&&c<y&&(d.length=c),this&&this!==re&&this instanceof l&&(j=g||Gu(j)),j.apply(x,d)}var s=t&mn,h=t&_n,p=t&vn,_=t&(yn|dn),v=t&jn,g=p?X:Gu(n);return l}function Xu(n,t){return function(r,e){return Oe(r,n,t(e),{})}}function ni(n,t){return function(r,e){var u;if(r===X&&e===X)return t;if(r!==X&&(u=r),e!==X){if(u===X)return e;\"string\"==typeof r||\"string\"==typeof e?(r=vu(r),\ne=vu(e)):(r=_u(r),e=_u(e)),u=n(r,e)}return u}}function ti(t){return gi(function(r){return r=c(r,z(mi())),uu(function(e){var u=this;return t(r,function(t){return n(t,u,e)})})})}function ri(n,t){t=t===X?\" \":vu(t);var r=t.length;if(r<2)return r?eu(t,n):t;var e=eu(t,Fl(n/V(t)));return T(t)?Ou(G(e),0,n).join(\"\"):e.slice(0,n)}function ei(t,r,e,u){function i(){for(var r=-1,c=arguments.length,a=-1,l=u.length,s=il(l+c),h=this&&this!==re&&this instanceof i?f:t;++a<l;)s[a]=u[a];for(;c--;)s[a++]=arguments[++r];\nreturn n(h,o?e:this,s)}var o=r&_n,f=Gu(t);return i}function ui(n){return function(t,r,e){return e&&\"number\"!=typeof e&&Ui(t,r,e)&&(r=e=X),t=Ac(t),r===X?(r=t,t=0):r=Ac(r),e=e===X?t<r?1:-1:Ac(e),ru(t,r,e,n)}}function ii(n){return function(t,r){return\"string\"==typeof t&&\"string\"==typeof r||(t=Ic(t),r=Ic(r)),n(t,r)}}function oi(n,t,r,e,u,i,o,f,c,a){var l=t&yn,s=l?o:X,h=l?X:o,p=l?i:X,_=l?X:i;t|=l?bn:wn,t&=~(l?wn:bn),t&gn||(t&=~(_n|vn));var v=[n,t,u,p,s,_,h,f,c,a],g=r.apply(X,v);return $i(n)&&Ss(g,v),g.placeholder=e,\nYi(g,n,t)}function fi(n){var t=al[n];return function(n,r){if(n=Ic(n),r=null==r?0:Hl(kc(r),292),r&&Zl(n)){var e=(Ec(n)+\"e\").split(\"e\");return e=(Ec(t(e[0]+\"e\"+(+e[1]+r)))+\"e\").split(\"e\"),+(e[0]+\"e\"+(+e[1]-r))}return t(n)}}function ci(n){return function(t){var r=zs(t);return r==Gn?M(t):r==tt?q(t):I(t,n(t))}}function ai(n,t,r,e,u,i,o,f){var c=t&vn;if(!c&&\"function\"!=typeof n)throw new pl(en);var a=e?e.length:0;if(a||(t&=~(bn|wn),e=u=X),o=o===X?o:Gl(kc(o),0),f=f===X?f:kc(f),a-=u?u.length:0,t&wn){var l=e,s=u;\ne=u=X}var h=c?X:Os(n),p=[n,t,r,e,u,l,s,i,o,f];if(h&&qi(p,h),n=p[0],t=p[1],r=p[2],e=p[3],u=p[4],f=p[9]=p[9]===X?c?0:n.length:Gl(p[9]-a,0),!f&&t&(yn|dn)&&(t&=~(yn|dn)),t&&t!=_n)_=t==yn||t==dn?Hu(n,t,f):t!=bn&&t!=(_n|bn)||u.length?Qu.apply(X,p):ei(n,t,r,e);else var _=Zu(n,t,r);return Yi((h?ms:Ss)(_,p),n,t)}function li(n,t,r,e){return n===X||Gf(n,gl[r])&&!bl.call(e,r)?t:n}function si(n,t,r,e,u,i){return fc(n)&&fc(t)&&(i.set(t,n),Ke(n,t,X,si,i),i.delete(t)),n}function hi(n){return gc(n)?X:n}function pi(n,t,r,e,u,i){\nvar o=r&hn,f=n.length,c=t.length;if(f!=c&&!(o&&c>f))return!1;var a=i.get(n),l=i.get(t);if(a&&l)return a==t&&l==n;var s=-1,p=!0,_=r&pn?new yr:X;for(i.set(n,t),i.set(t,n);++s<f;){var v=n[s],g=t[s];if(e)var y=o?e(g,v,s,t,n,i):e(v,g,s,n,t,i);if(y!==X){if(y)continue;p=!1;break}if(_){if(!h(t,function(n,t){if(!S(_,t)&&(v===n||u(v,n,r,e,i)))return _.push(t)})){p=!1;break}}else if(v!==g&&!u(v,g,r,e,i)){p=!1;break}}return i.delete(n),i.delete(t),p}function _i(n,t,r,e,u,i,o){switch(r){case ct:if(n.byteLength!=t.byteLength||n.byteOffset!=t.byteOffset)return!1;\nn=n.buffer,t=t.buffer;case ft:return!(n.byteLength!=t.byteLength||!i(new Rl(n),new Rl(t)));case Nn:case Pn:case Hn:return Gf(+n,+t);case Zn:return n.name==t.name&&n.message==t.message;case nt:case rt:return n==t+\"\";case Gn:var f=M;case tt:var c=e&hn;if(f||(f=P),n.size!=t.size&&!c)return!1;var a=o.get(n);if(a)return a==t;e|=pn,o.set(n,t);var l=pi(f(n),f(t),e,u,i,o);return o.delete(n),l;case et:if(_s)return _s.call(n)==_s.call(t)}return!1}function vi(n,t,r,e,u,i){var o=r&hn,f=yi(n),c=f.length;if(c!=yi(t).length&&!o)return!1;\nfor(var a=c;a--;){var l=f[a];if(!(o?l in t:bl.call(t,l)))return!1}var s=i.get(n),h=i.get(t);if(s&&h)return s==t&&h==n;var p=!0;i.set(n,t),i.set(t,n);for(var _=o;++a<c;){l=f[a];var v=n[l],g=t[l];if(e)var y=o?e(g,v,l,t,n,i):e(v,g,l,n,t,i);if(!(y===X?v===g||u(v,g,r,e,i):y)){p=!1;break}_||(_=\"constructor\"==l)}if(p&&!_){var d=n.constructor,b=t.constructor;d!=b&&\"constructor\"in n&&\"constructor\"in t&&!(\"function\"==typeof d&&d instanceof d&&\"function\"==typeof b&&b instanceof b)&&(p=!1)}return i.delete(n),\ni.delete(t),p}function gi(n){return Ls(Vi(n,X,_o),n+\"\")}function yi(n){return de(n,Pc,Is)}function di(n){return de(n,qc,Rs)}function bi(n){for(var t=n.name+\"\",r=fs[t],e=bl.call(fs,t)?r.length:0;e--;){var u=r[e],i=u.func;if(null==i||i==n)return u.name}return t}function wi(n){return(bl.call(Z,\"placeholder\")?Z:n).placeholder}function mi(){var n=Z.iteratee||Ca;return n=n===Ca?De:n,arguments.length?n(arguments[0],arguments[1]):n}function xi(n,t){var r=n.__data__;return Ti(t)?r[\"string\"==typeof t?\"string\":\"hash\"]:r.map;\n}function ji(n){for(var t=Pc(n),r=t.length;r--;){var e=t[r],u=n[e];t[r]=[e,u,Fi(u)]}return t}function Ai(n,t){var r=B(n,t);return Ue(r)?r:X}function ki(n){var t=bl.call(n,Bl),r=n[Bl];try{n[Bl]=X;var e=!0}catch(n){}var u=xl.call(n);return e&&(t?n[Bl]=r:delete n[Bl]),u}function Oi(n,t,r){for(var e=-1,u=r.length;++e<u;){var i=r[e],o=i.size;switch(i.type){case\"drop\":n+=o;break;case\"dropRight\":t-=o;break;case\"take\":t=Hl(t,n+o);break;case\"takeRight\":n=Gl(n,t-o)}}return{start:n,end:t}}function Ii(n){var t=n.match(Bt);\nreturn t?t[1].split(Tt):[]}function Ri(n,t,r){t=ku(t,n);for(var e=-1,u=t.length,i=!1;++e<u;){var o=no(t[e]);if(!(i=null!=n&&r(n,o)))break;n=n[o]}return i||++e!=u?i:(u=null==n?0:n.length,!!u&&oc(u)&&Ci(o,u)&&(bh(n)||dh(n)))}function zi(n){var t=n.length,r=new n.constructor(t);return t&&\"string\"==typeof n[0]&&bl.call(n,\"index\")&&(r.index=n.index,r.input=n.input),r}function Ei(n){return\"function\"!=typeof n.constructor||Mi(n)?{}:gs(El(n))}function Si(n,t,r){var e=n.constructor;switch(t){case ft:return Ru(n);\ncase Nn:case Pn:return new e(+n);case ct:return zu(n,r);case at:case lt:case st:case ht:case pt:case _t:case vt:case gt:case yt:return Wu(n,r);case Gn:return new e;case Hn:case rt:return new e(n);case nt:return Eu(n);case tt:return new e;case et:return Su(n)}}function Wi(n,t){var r=t.length;if(!r)return n;var e=r-1;return t[e]=(r>1?\"& \":\"\")+t[e],t=t.join(r>2?\", \":\" \"),n.replace(Ut,\"{\\n/* [wrapped with \"+t+\"] */\\n\")}function Li(n){return bh(n)||dh(n)||!!(Cl&&n&&n[Cl])}function Ci(n,t){var r=typeof n;\nreturn t=null==t?Wn:t,!!t&&(\"number\"==r||\"symbol\"!=r&&Vt.test(n))&&n>-1&&n%1==0&&n<t}function Ui(n,t,r){if(!fc(r))return!1;var e=typeof t;return!!(\"number\"==e?Hf(r)&&Ci(t,r.length):\"string\"==e&&t in r)&&Gf(r[t],n)}function Bi(n,t){if(bh(n))return!1;var r=typeof n;return!(\"number\"!=r&&\"symbol\"!=r&&\"boolean\"!=r&&null!=n&&!bc(n))||(zt.test(n)||!Rt.test(n)||null!=t&&n in ll(t))}function Ti(n){var t=typeof n;return\"string\"==t||\"number\"==t||\"symbol\"==t||\"boolean\"==t?\"__proto__\"!==n:null===n}function $i(n){\nvar t=bi(n),r=Z[t];if(\"function\"!=typeof r||!(t in Ct.prototype))return!1;if(n===r)return!0;var e=Os(r);return!!e&&n===e[0]}function Di(n){return!!ml&&ml in n}function Mi(n){var t=n&&n.constructor;return n===(\"function\"==typeof t&&t.prototype||gl)}function Fi(n){return n===n&&!fc(n)}function Ni(n,t){return function(r){return null!=r&&(r[n]===t&&(t!==X||n in ll(r)))}}function Pi(n){var t=Cf(n,function(n){return r.size===fn&&r.clear(),n}),r=t.cache;return t}function qi(n,t){var r=n[1],e=t[1],u=r|e,i=u<(_n|vn|mn),o=e==mn&&r==yn||e==mn&&r==xn&&n[7].length<=t[8]||e==(mn|xn)&&t[7].length<=t[8]&&r==yn;\nif(!i&&!o)return n;e&_n&&(n[2]=t[2],u|=r&_n?0:gn);var f=t[3];if(f){var c=n[3];n[3]=c?Uu(c,f,t[4]):f,n[4]=c?N(n[3],cn):t[4]}return f=t[5],f&&(c=n[5],n[5]=c?Bu(c,f,t[6]):f,n[6]=c?N(n[5],cn):t[6]),f=t[7],f&&(n[7]=f),e&mn&&(n[8]=null==n[8]?t[8]:Hl(n[8],t[8])),null==n[9]&&(n[9]=t[9]),n[0]=t[0],n[1]=u,n}function Zi(n){var t=[];if(null!=n)for(var r in ll(n))t.push(r);return t}function Ki(n){return xl.call(n)}function Vi(t,r,e){return r=Gl(r===X?t.length-1:r,0),function(){for(var u=arguments,i=-1,o=Gl(u.length-r,0),f=il(o);++i<o;)f[i]=u[r+i];\ni=-1;for(var c=il(r+1);++i<r;)c[i]=u[i];return c[r]=e(f),n(t,this,c)}}function Gi(n,t){return t.length<2?n:_e(n,au(t,0,-1))}function Hi(n,t){for(var r=n.length,e=Hl(t.length,r),u=Tu(n);e--;){var i=t[e];n[e]=Ci(i,r)?u[i]:X}return n}function Ji(n,t){if((\"constructor\"!==t||\"function\"!=typeof n[t])&&\"__proto__\"!=t)return n[t]}function Yi(n,t,r){var e=t+\"\";return Ls(n,Wi(e,ro(Ii(e),r)))}function Qi(n){var t=0,r=0;return function(){var e=Jl(),u=In-(e-r);if(r=e,u>0){if(++t>=On)return arguments[0]}else t=0;\nreturn n.apply(X,arguments)}}function Xi(n,t){var r=-1,e=n.length,u=e-1;for(t=t===X?e:t;++r<t;){var i=tu(r,u),o=n[i];n[i]=n[r],n[r]=o}return n.length=t,n}function no(n){if(\"string\"==typeof n||bc(n))return n;var t=n+\"\";return\"0\"==t&&1/n==-Sn?\"-0\":t}function to(n){if(null!=n){try{return dl.call(n)}catch(n){}try{return n+\"\"}catch(n){}}return\"\"}function ro(n,t){return r($n,function(r){var e=\"_.\"+r[0];t&r[1]&&!o(n,e)&&n.push(e)}),n.sort()}function eo(n){if(n instanceof Ct)return n.clone();var t=new Y(n.__wrapped__,n.__chain__);\nreturn t.__actions__=Tu(n.__actions__),t.__index__=n.__index__,t.__values__=n.__values__,t}function uo(n,t,r){t=(r?Ui(n,t,r):t===X)?1:Gl(kc(t),0);var e=null==n?0:n.length;if(!e||t<1)return[];for(var u=0,i=0,o=il(Fl(e/t));u<e;)o[i++]=au(n,u,u+=t);return o}function io(n){for(var t=-1,r=null==n?0:n.length,e=0,u=[];++t<r;){var i=n[t];i&&(u[e++]=i)}return u}function oo(){var n=arguments.length;if(!n)return[];for(var t=il(n-1),r=arguments[0],e=n;e--;)t[e-1]=arguments[e];return a(bh(r)?Tu(r):[r],ee(t,1));\n}function fo(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===X?1:kc(t),au(n,t<0?0:t,e)):[]}function co(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===X?1:kc(t),t=e-t,au(n,0,t<0?0:t)):[]}function ao(n,t){return n&&n.length?bu(n,mi(t,3),!0,!0):[]}function lo(n,t){return n&&n.length?bu(n,mi(t,3),!0):[]}function so(n,t,r,e){var u=null==n?0:n.length;return u?(r&&\"number\"!=typeof r&&Ui(n,t,r)&&(r=0,e=u),ne(n,t,r,e)):[]}function ho(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=null==r?0:kc(r);\nreturn u<0&&(u=Gl(e+u,0)),g(n,mi(t,3),u)}function po(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=e-1;return r!==X&&(u=kc(r),u=r<0?Gl(e+u,0):Hl(u,e-1)),g(n,mi(t,3),u,!0)}function _o(n){return(null==n?0:n.length)?ee(n,1):[]}function vo(n){return(null==n?0:n.length)?ee(n,Sn):[]}function go(n,t){return(null==n?0:n.length)?(t=t===X?1:kc(t),ee(n,t)):[]}function yo(n){for(var t=-1,r=null==n?0:n.length,e={};++t<r;){var u=n[t];e[u[0]]=u[1]}return e}function bo(n){return n&&n.length?n[0]:X}function wo(n,t,r){\nvar e=null==n?0:n.length;if(!e)return-1;var u=null==r?0:kc(r);return u<0&&(u=Gl(e+u,0)),y(n,t,u)}function mo(n){return(null==n?0:n.length)?au(n,0,-1):[]}function xo(n,t){return null==n?\"\":Kl.call(n,t)}function jo(n){var t=null==n?0:n.length;return t?n[t-1]:X}function Ao(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=e;return r!==X&&(u=kc(r),u=u<0?Gl(e+u,0):Hl(u,e-1)),t===t?K(n,t,u):g(n,b,u,!0)}function ko(n,t){return n&&n.length?Ge(n,kc(t)):X}function Oo(n,t){return n&&n.length&&t&&t.length?Xe(n,t):n;\n}function Io(n,t,r){return n&&n.length&&t&&t.length?Xe(n,t,mi(r,2)):n}function Ro(n,t,r){return n&&n.length&&t&&t.length?Xe(n,t,X,r):n}function zo(n,t){var r=[];if(!n||!n.length)return r;var e=-1,u=[],i=n.length;for(t=mi(t,3);++e<i;){var o=n[e];t(o,e,n)&&(r.push(o),u.push(e))}return nu(n,u),r}function Eo(n){return null==n?n:Xl.call(n)}function So(n,t,r){var e=null==n?0:n.length;return e?(r&&\"number\"!=typeof r&&Ui(n,t,r)?(t=0,r=e):(t=null==t?0:kc(t),r=r===X?e:kc(r)),au(n,t,r)):[]}function Wo(n,t){\nreturn su(n,t)}function Lo(n,t,r){return hu(n,t,mi(r,2))}function Co(n,t){var r=null==n?0:n.length;if(r){var e=su(n,t);if(e<r&&Gf(n[e],t))return e}return-1}function Uo(n,t){return su(n,t,!0)}function Bo(n,t,r){return hu(n,t,mi(r,2),!0)}function To(n,t){if(null==n?0:n.length){var r=su(n,t,!0)-1;if(Gf(n[r],t))return r}return-1}function $o(n){return n&&n.length?pu(n):[]}function Do(n,t){return n&&n.length?pu(n,mi(t,2)):[]}function Mo(n){var t=null==n?0:n.length;return t?au(n,1,t):[]}function Fo(n,t,r){\nreturn n&&n.length?(t=r||t===X?1:kc(t),au(n,0,t<0?0:t)):[]}function No(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===X?1:kc(t),t=e-t,au(n,t<0?0:t,e)):[]}function Po(n,t){return n&&n.length?bu(n,mi(t,3),!1,!0):[]}function qo(n,t){return n&&n.length?bu(n,mi(t,3)):[]}function Zo(n){return n&&n.length?gu(n):[]}function Ko(n,t){return n&&n.length?gu(n,mi(t,2)):[]}function Vo(n,t){return t=\"function\"==typeof t?t:X,n&&n.length?gu(n,X,t):[]}function Go(n){if(!n||!n.length)return[];var t=0;return n=i(n,function(n){\nif(Jf(n))return t=Gl(n.length,t),!0}),O(t,function(t){return c(n,m(t))})}function Ho(t,r){if(!t||!t.length)return[];var e=Go(t);return null==r?e:c(e,function(t){return n(r,X,t)})}function Jo(n,t){return xu(n||[],t||[],Sr)}function Yo(n,t){return xu(n||[],t||[],fu)}function Qo(n){var t=Z(n);return t.__chain__=!0,t}function Xo(n,t){return t(n),n}function nf(n,t){return t(n)}function tf(){return Qo(this)}function rf(){return new Y(this.value(),this.__chain__)}function ef(){this.__values__===X&&(this.__values__=jc(this.value()));\nvar n=this.__index__>=this.__values__.length;return{done:n,value:n?X:this.__values__[this.__index__++]}}function uf(){return this}function of(n){for(var t,r=this;r instanceof J;){var e=eo(r);e.__index__=0,e.__values__=X,t?u.__wrapped__=e:t=e;var u=e;r=r.__wrapped__}return u.__wrapped__=n,t}function ff(){var n=this.__wrapped__;if(n instanceof Ct){var t=n;return this.__actions__.length&&(t=new Ct(this)),t=t.reverse(),t.__actions__.push({func:nf,args:[Eo],thisArg:X}),new Y(t,this.__chain__)}return this.thru(Eo);\n}function cf(){return wu(this.__wrapped__,this.__actions__)}function af(n,t,r){var e=bh(n)?u:Jr;return r&&Ui(n,t,r)&&(t=X),e(n,mi(t,3))}function lf(n,t){return(bh(n)?i:te)(n,mi(t,3))}function sf(n,t){return ee(yf(n,t),1)}function hf(n,t){return ee(yf(n,t),Sn)}function pf(n,t,r){return r=r===X?1:kc(r),ee(yf(n,t),r)}function _f(n,t){return(bh(n)?r:ys)(n,mi(t,3))}function vf(n,t){return(bh(n)?e:ds)(n,mi(t,3))}function gf(n,t,r,e){n=Hf(n)?n:ra(n),r=r&&!e?kc(r):0;var u=n.length;return r<0&&(r=Gl(u+r,0)),\ndc(n)?r<=u&&n.indexOf(t,r)>-1:!!u&&y(n,t,r)>-1}function yf(n,t){return(bh(n)?c:Pe)(n,mi(t,3))}function df(n,t,r,e){return null==n?[]:(bh(t)||(t=null==t?[]:[t]),r=e?X:r,bh(r)||(r=null==r?[]:[r]),He(n,t,r))}function bf(n,t,r){var e=bh(n)?l:j,u=arguments.length<3;return e(n,mi(t,4),r,u,ys)}function wf(n,t,r){var e=bh(n)?s:j,u=arguments.length<3;return e(n,mi(t,4),r,u,ds)}function mf(n,t){return(bh(n)?i:te)(n,Uf(mi(t,3)))}function xf(n){return(bh(n)?Ir:iu)(n)}function jf(n,t,r){return t=(r?Ui(n,t,r):t===X)?1:kc(t),\n(bh(n)?Rr:ou)(n,t)}function Af(n){return(bh(n)?zr:cu)(n)}function kf(n){if(null==n)return 0;if(Hf(n))return dc(n)?V(n):n.length;var t=zs(n);return t==Gn||t==tt?n.size:Me(n).length}function Of(n,t,r){var e=bh(n)?h:lu;return r&&Ui(n,t,r)&&(t=X),e(n,mi(t,3))}function If(n,t){if(\"function\"!=typeof t)throw new pl(en);return n=kc(n),function(){if(--n<1)return t.apply(this,arguments)}}function Rf(n,t,r){return t=r?X:t,t=n&&null==t?n.length:t,ai(n,mn,X,X,X,X,t)}function zf(n,t){var r;if(\"function\"!=typeof t)throw new pl(en);\nreturn n=kc(n),function(){return--n>0&&(r=t.apply(this,arguments)),n<=1&&(t=X),r}}function Ef(n,t,r){t=r?X:t;var e=ai(n,yn,X,X,X,X,X,t);return e.placeholder=Ef.placeholder,e}function Sf(n,t,r){t=r?X:t;var e=ai(n,dn,X,X,X,X,X,t);return e.placeholder=Sf.placeholder,e}function Wf(n,t,r){function e(t){var r=h,e=p;return h=p=X,d=t,v=n.apply(e,r)}function u(n){return d=n,g=Ws(f,t),b?e(n):v}function i(n){var r=n-y,e=n-d,u=t-r;return w?Hl(u,_-e):u}function o(n){var r=n-y,e=n-d;return y===X||r>=t||r<0||w&&e>=_;\n}function f(){var n=fh();return o(n)?c(n):(g=Ws(f,i(n)),X)}function c(n){return g=X,m&&h?e(n):(h=p=X,v)}function a(){g!==X&&As(g),d=0,h=y=p=g=X}function l(){return g===X?v:c(fh())}function s(){var n=fh(),r=o(n);if(h=arguments,p=this,y=n,r){if(g===X)return u(y);if(w)return As(g),g=Ws(f,t),e(y)}return g===X&&(g=Ws(f,t)),v}var h,p,_,v,g,y,d=0,b=!1,w=!1,m=!0;if(\"function\"!=typeof n)throw new pl(en);return t=Ic(t)||0,fc(r)&&(b=!!r.leading,w=\"maxWait\"in r,_=w?Gl(Ic(r.maxWait)||0,t):_,m=\"trailing\"in r?!!r.trailing:m),\ns.cancel=a,s.flush=l,s}function Lf(n){return ai(n,jn)}function Cf(n,t){if(\"function\"!=typeof n||null!=t&&\"function\"!=typeof t)throw new pl(en);var r=function(){var e=arguments,u=t?t.apply(this,e):e[0],i=r.cache;if(i.has(u))return i.get(u);var o=n.apply(this,e);return r.cache=i.set(u,o)||i,o};return r.cache=new(Cf.Cache||sr),r}function Uf(n){if(\"function\"!=typeof n)throw new pl(en);return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:\nreturn!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}function Bf(n){return zf(2,n)}function Tf(n,t){if(\"function\"!=typeof n)throw new pl(en);return t=t===X?t:kc(t),uu(n,t)}function $f(t,r){if(\"function\"!=typeof t)throw new pl(en);return r=null==r?0:Gl(kc(r),0),uu(function(e){var u=e[r],i=Ou(e,0,r);return u&&a(i,u),n(t,this,i)})}function Df(n,t,r){var e=!0,u=!0;if(\"function\"!=typeof n)throw new pl(en);return fc(r)&&(e=\"leading\"in r?!!r.leading:e,u=\"trailing\"in r?!!r.trailing:u),\nWf(n,t,{leading:e,maxWait:t,trailing:u})}function Mf(n){return Rf(n,1)}function Ff(n,t){return ph(Au(t),n)}function Nf(){if(!arguments.length)return[];var n=arguments[0];return bh(n)?n:[n]}function Pf(n){return Fr(n,sn)}function qf(n,t){return t=\"function\"==typeof t?t:X,Fr(n,sn,t)}function Zf(n){return Fr(n,an|sn)}function Kf(n,t){return t=\"function\"==typeof t?t:X,Fr(n,an|sn,t)}function Vf(n,t){return null==t||Pr(n,t,Pc(t))}function Gf(n,t){return n===t||n!==n&&t!==t}function Hf(n){return null!=n&&oc(n.length)&&!uc(n);\n}function Jf(n){return cc(n)&&Hf(n)}function Yf(n){return n===!0||n===!1||cc(n)&&we(n)==Nn}function Qf(n){return cc(n)&&1===n.nodeType&&!gc(n)}function Xf(n){if(null==n)return!0;if(Hf(n)&&(bh(n)||\"string\"==typeof n||\"function\"==typeof n.splice||mh(n)||Oh(n)||dh(n)))return!n.length;var t=zs(n);if(t==Gn||t==tt)return!n.size;if(Mi(n))return!Me(n).length;for(var r in n)if(bl.call(n,r))return!1;return!0}function nc(n,t){return Se(n,t)}function tc(n,t,r){r=\"function\"==typeof r?r:X;var e=r?r(n,t):X;return e===X?Se(n,t,X,r):!!e;\n}function rc(n){if(!cc(n))return!1;var t=we(n);return t==Zn||t==qn||\"string\"==typeof n.message&&\"string\"==typeof n.name&&!gc(n)}function ec(n){return\"number\"==typeof n&&Zl(n)}function uc(n){if(!fc(n))return!1;var t=we(n);return t==Kn||t==Vn||t==Fn||t==Xn}function ic(n){return\"number\"==typeof n&&n==kc(n)}function oc(n){return\"number\"==typeof n&&n>-1&&n%1==0&&n<=Wn}function fc(n){var t=typeof n;return null!=n&&(\"object\"==t||\"function\"==t)}function cc(n){return null!=n&&\"object\"==typeof n}function ac(n,t){\nreturn n===t||Ce(n,t,ji(t))}function lc(n,t,r){return r=\"function\"==typeof r?r:X,Ce(n,t,ji(t),r)}function sc(n){return vc(n)&&n!=+n}function hc(n){if(Es(n))throw new fl(rn);return Ue(n)}function pc(n){return null===n}function _c(n){return null==n}function vc(n){return\"number\"==typeof n||cc(n)&&we(n)==Hn}function gc(n){if(!cc(n)||we(n)!=Yn)return!1;var t=El(n);if(null===t)return!0;var r=bl.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof r&&r instanceof r&&dl.call(r)==jl}function yc(n){\nreturn ic(n)&&n>=-Wn&&n<=Wn}function dc(n){return\"string\"==typeof n||!bh(n)&&cc(n)&&we(n)==rt}function bc(n){return\"symbol\"==typeof n||cc(n)&&we(n)==et}function wc(n){return n===X}function mc(n){return cc(n)&&zs(n)==it}function xc(n){return cc(n)&&we(n)==ot}function jc(n){if(!n)return[];if(Hf(n))return dc(n)?G(n):Tu(n);if(Ul&&n[Ul])return D(n[Ul]());var t=zs(n);return(t==Gn?M:t==tt?P:ra)(n)}function Ac(n){if(!n)return 0===n?n:0;if(n=Ic(n),n===Sn||n===-Sn){return(n<0?-1:1)*Ln}return n===n?n:0}function kc(n){\nvar t=Ac(n),r=t%1;return t===t?r?t-r:t:0}function Oc(n){return n?Mr(kc(n),0,Un):0}function Ic(n){if(\"number\"==typeof n)return n;if(bc(n))return Cn;if(fc(n)){var t=\"function\"==typeof n.valueOf?n.valueOf():n;n=fc(t)?t+\"\":t}if(\"string\"!=typeof n)return 0===n?n:+n;n=R(n);var r=qt.test(n);return r||Kt.test(n)?Xr(n.slice(2),r?2:8):Pt.test(n)?Cn:+n}function Rc(n){return $u(n,qc(n))}function zc(n){return n?Mr(kc(n),-Wn,Wn):0===n?n:0}function Ec(n){return null==n?\"\":vu(n)}function Sc(n,t){var r=gs(n);return null==t?r:Cr(r,t);\n}function Wc(n,t){return v(n,mi(t,3),ue)}function Lc(n,t){return v(n,mi(t,3),oe)}function Cc(n,t){return null==n?n:bs(n,mi(t,3),qc)}function Uc(n,t){return null==n?n:ws(n,mi(t,3),qc)}function Bc(n,t){return n&&ue(n,mi(t,3))}function Tc(n,t){return n&&oe(n,mi(t,3))}function $c(n){return null==n?[]:fe(n,Pc(n))}function Dc(n){return null==n?[]:fe(n,qc(n))}function Mc(n,t,r){var e=null==n?X:_e(n,t);return e===X?r:e}function Fc(n,t){return null!=n&&Ri(n,t,xe)}function Nc(n,t){return null!=n&&Ri(n,t,je);\n}function Pc(n){return Hf(n)?Or(n):Me(n)}function qc(n){return Hf(n)?Or(n,!0):Fe(n)}function Zc(n,t){var r={};return t=mi(t,3),ue(n,function(n,e,u){Br(r,t(n,e,u),n)}),r}function Kc(n,t){var r={};return t=mi(t,3),ue(n,function(n,e,u){Br(r,e,t(n,e,u))}),r}function Vc(n,t){return Gc(n,Uf(mi(t)))}function Gc(n,t){if(null==n)return{};var r=c(di(n),function(n){return[n]});return t=mi(t),Ye(n,r,function(n,r){return t(n,r[0])})}function Hc(n,t,r){t=ku(t,n);var e=-1,u=t.length;for(u||(u=1,n=X);++e<u;){var i=null==n?X:n[no(t[e])];\ni===X&&(e=u,i=r),n=uc(i)?i.call(n):i}return n}function Jc(n,t,r){return null==n?n:fu(n,t,r)}function Yc(n,t,r,e){return e=\"function\"==typeof e?e:X,null==n?n:fu(n,t,r,e)}function Qc(n,t,e){var u=bh(n),i=u||mh(n)||Oh(n);if(t=mi(t,4),null==e){var o=n&&n.constructor;e=i?u?new o:[]:fc(n)&&uc(o)?gs(El(n)):{}}return(i?r:ue)(n,function(n,r,u){return t(e,n,r,u)}),e}function Xc(n,t){return null==n||yu(n,t)}function na(n,t,r){return null==n?n:du(n,t,Au(r))}function ta(n,t,r,e){return e=\"function\"==typeof e?e:X,\nnull==n?n:du(n,t,Au(r),e)}function ra(n){return null==n?[]:E(n,Pc(n))}function ea(n){return null==n?[]:E(n,qc(n))}function ua(n,t,r){return r===X&&(r=t,t=X),r!==X&&(r=Ic(r),r=r===r?r:0),t!==X&&(t=Ic(t),t=t===t?t:0),Mr(Ic(n),t,r)}function ia(n,t,r){return t=Ac(t),r===X?(r=t,t=0):r=Ac(r),n=Ic(n),Ae(n,t,r)}function oa(n,t,r){if(r&&\"boolean\"!=typeof r&&Ui(n,t,r)&&(t=r=X),r===X&&(\"boolean\"==typeof t?(r=t,t=X):\"boolean\"==typeof n&&(r=n,n=X)),n===X&&t===X?(n=0,t=1):(n=Ac(n),t===X?(t=n,n=0):t=Ac(t)),n>t){\nvar e=n;n=t,t=e}if(r||n%1||t%1){var u=Ql();return Hl(n+u*(t-n+Qr(\"1e-\"+((u+\"\").length-1))),t)}return tu(n,t)}function fa(n){return Qh(Ec(n).toLowerCase())}function ca(n){return n=Ec(n),n&&n.replace(Gt,ve).replace(Dr,\"\")}function aa(n,t,r){n=Ec(n),t=vu(t);var e=n.length;r=r===X?e:Mr(kc(r),0,e);var u=r;return r-=t.length,r>=0&&n.slice(r,u)==t}function la(n){return n=Ec(n),n&&At.test(n)?n.replace(xt,ge):n}function sa(n){return n=Ec(n),n&&Wt.test(n)?n.replace(St,\"\\\\$&\"):n}function ha(n,t,r){n=Ec(n),t=kc(t);\nvar e=t?V(n):0;if(!t||e>=t)return n;var u=(t-e)/2;return ri(Nl(u),r)+n+ri(Fl(u),r)}function pa(n,t,r){n=Ec(n),t=kc(t);var e=t?V(n):0;return t&&e<t?n+ri(t-e,r):n}function _a(n,t,r){n=Ec(n),t=kc(t);var e=t?V(n):0;return t&&e<t?ri(t-e,r)+n:n}function va(n,t,r){return r||null==t?t=0:t&&(t=+t),Yl(Ec(n).replace(Lt,\"\"),t||0)}function ga(n,t,r){return t=(r?Ui(n,t,r):t===X)?1:kc(t),eu(Ec(n),t)}function ya(){var n=arguments,t=Ec(n[0]);return n.length<3?t:t.replace(n[1],n[2])}function da(n,t,r){return r&&\"number\"!=typeof r&&Ui(n,t,r)&&(t=r=X),\n(r=r===X?Un:r>>>0)?(n=Ec(n),n&&(\"string\"==typeof t||null!=t&&!Ah(t))&&(t=vu(t),!t&&T(n))?Ou(G(n),0,r):n.split(t,r)):[]}function ba(n,t,r){return n=Ec(n),r=null==r?0:Mr(kc(r),0,n.length),t=vu(t),n.slice(r,r+t.length)==t}function wa(n,t,r){var e=Z.templateSettings;r&&Ui(n,t,r)&&(t=X),n=Ec(n),t=Sh({},t,e,li);var u,i,o=Sh({},t.imports,e.imports,li),f=Pc(o),c=E(o,f),a=0,l=t.interpolate||Ht,s=\"__p += '\",h=sl((t.escape||Ht).source+\"|\"+l.source+\"|\"+(l===It?Ft:Ht).source+\"|\"+(t.evaluate||Ht).source+\"|$\",\"g\"),p=\"//# sourceURL=\"+(bl.call(t,\"sourceURL\")?(t.sourceURL+\"\").replace(/\\s/g,\" \"):\"lodash.templateSources[\"+ ++Zr+\"]\")+\"\\n\";\nn.replace(h,function(t,r,e,o,f,c){return e||(e=o),s+=n.slice(a,c).replace(Jt,U),r&&(u=!0,s+=\"' +\\n__e(\"+r+\") +\\n'\"),f&&(i=!0,s+=\"';\\n\"+f+\";\\n__p += '\"),e&&(s+=\"' +\\n((__t = (\"+e+\")) == null ? '' : __t) +\\n'\"),a=c+t.length,t}),s+=\"';\\n\";var _=bl.call(t,\"variable\")&&t.variable;if(_){if(Dt.test(_))throw new fl(un)}else s=\"with (obj) {\\n\"+s+\"\\n}\\n\";s=(i?s.replace(dt,\"\"):s).replace(bt,\"$1\").replace(wt,\"$1;\"),s=\"function(\"+(_||\"obj\")+\") {\\n\"+(_?\"\":\"obj || (obj = {});\\n\")+\"var __t, __p = ''\"+(u?\", __e = _.escape\":\"\")+(i?\", __j = Array.prototype.join;\\nfunction print() { __p += __j.call(arguments, '') }\\n\":\";\\n\")+s+\"return __p\\n}\";\nvar v=Xh(function(){return cl(f,p+\"return \"+s).apply(X,c)});if(v.source=s,rc(v))throw v;return v}function ma(n){return Ec(n).toLowerCase()}function xa(n){return Ec(n).toUpperCase()}function ja(n,t,r){if(n=Ec(n),n&&(r||t===X))return R(n);if(!n||!(t=vu(t)))return n;var e=G(n),u=G(t);return Ou(e,W(e,u),L(e,u)+1).join(\"\")}function Aa(n,t,r){if(n=Ec(n),n&&(r||t===X))return n.slice(0,H(n)+1);if(!n||!(t=vu(t)))return n;var e=G(n);return Ou(e,0,L(e,G(t))+1).join(\"\")}function ka(n,t,r){if(n=Ec(n),n&&(r||t===X))return n.replace(Lt,\"\");\nif(!n||!(t=vu(t)))return n;var e=G(n);return Ou(e,W(e,G(t))).join(\"\")}function Oa(n,t){var r=An,e=kn;if(fc(t)){var u=\"separator\"in t?t.separator:u;r=\"length\"in t?kc(t.length):r,e=\"omission\"in t?vu(t.omission):e}n=Ec(n);var i=n.length;if(T(n)){var o=G(n);i=o.length}if(r>=i)return n;var f=r-V(e);if(f<1)return e;var c=o?Ou(o,0,f).join(\"\"):n.slice(0,f);if(u===X)return c+e;if(o&&(f+=c.length-f),Ah(u)){if(n.slice(f).search(u)){var a,l=c;for(u.global||(u=sl(u.source,Ec(Nt.exec(u))+\"g\")),u.lastIndex=0;a=u.exec(l);)var s=a.index;\nc=c.slice(0,s===X?f:s)}}else if(n.indexOf(vu(u),f)!=f){var h=c.lastIndexOf(u);h>-1&&(c=c.slice(0,h))}return c+e}function Ia(n){return n=Ec(n),n&&jt.test(n)?n.replace(mt,ye):n}function Ra(n,t,r){return n=Ec(n),t=r?X:t,t===X?$(n)?Q(n):_(n):n.match(t)||[]}function za(t){var r=null==t?0:t.length,e=mi();return t=r?c(t,function(n){if(\"function\"!=typeof n[1])throw new pl(en);return[e(n[0]),n[1]]}):[],uu(function(e){for(var u=-1;++u<r;){var i=t[u];if(n(i[0],this,e))return n(i[1],this,e)}})}function Ea(n){\nreturn Nr(Fr(n,an))}function Sa(n){return function(){return n}}function Wa(n,t){return null==n||n!==n?t:n}function La(n){return n}function Ca(n){return De(\"function\"==typeof n?n:Fr(n,an))}function Ua(n){return qe(Fr(n,an))}function Ba(n,t){return Ze(n,Fr(t,an))}function Ta(n,t,e){var u=Pc(t),i=fe(t,u);null!=e||fc(t)&&(i.length||!u.length)||(e=t,t=n,n=this,i=fe(t,Pc(t)));var o=!(fc(e)&&\"chain\"in e&&!e.chain),f=uc(n);return r(i,function(r){var e=t[r];n[r]=e,f&&(n.prototype[r]=function(){var t=this.__chain__;\nif(o||t){var r=n(this.__wrapped__);return(r.__actions__=Tu(this.__actions__)).push({func:e,args:arguments,thisArg:n}),r.__chain__=t,r}return e.apply(n,a([this.value()],arguments))})}),n}function $a(){return re._===this&&(re._=Al),this}function Da(){}function Ma(n){return n=kc(n),uu(function(t){return Ge(t,n)})}function Fa(n){return Bi(n)?m(no(n)):Qe(n)}function Na(n){return function(t){return null==n?X:_e(n,t)}}function Pa(){return[]}function qa(){return!1}function Za(){return{}}function Ka(){return\"\";\n}function Va(){return!0}function Ga(n,t){if(n=kc(n),n<1||n>Wn)return[];var r=Un,e=Hl(n,Un);t=mi(t),n-=Un;for(var u=O(e,t);++r<n;)t(r);return u}function Ha(n){return bh(n)?c(n,no):bc(n)?[n]:Tu(Cs(Ec(n)))}function Ja(n){var t=++wl;return Ec(n)+t}function Ya(n){return n&&n.length?Yr(n,La,me):X}function Qa(n,t){return n&&n.length?Yr(n,mi(t,2),me):X}function Xa(n){return w(n,La)}function nl(n,t){return w(n,mi(t,2))}function tl(n){return n&&n.length?Yr(n,La,Ne):X}function rl(n,t){return n&&n.length?Yr(n,mi(t,2),Ne):X;\n}function el(n){return n&&n.length?k(n,La):0}function ul(n,t){return n&&n.length?k(n,mi(t,2)):0}x=null==x?re:be.defaults(re.Object(),x,be.pick(re,qr));var il=x.Array,ol=x.Date,fl=x.Error,cl=x.Function,al=x.Math,ll=x.Object,sl=x.RegExp,hl=x.String,pl=x.TypeError,_l=il.prototype,vl=cl.prototype,gl=ll.prototype,yl=x[\"__core-js_shared__\"],dl=vl.toString,bl=gl.hasOwnProperty,wl=0,ml=function(){var n=/[^.]+$/.exec(yl&&yl.keys&&yl.keys.IE_PROTO||\"\");return n?\"Symbol(src)_1.\"+n:\"\"}(),xl=gl.toString,jl=dl.call(ll),Al=re._,kl=sl(\"^\"+dl.call(bl).replace(St,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),Ol=ie?x.Buffer:X,Il=x.Symbol,Rl=x.Uint8Array,zl=Ol?Ol.allocUnsafe:X,El=F(ll.getPrototypeOf,ll),Sl=ll.create,Wl=gl.propertyIsEnumerable,Ll=_l.splice,Cl=Il?Il.isConcatSpreadable:X,Ul=Il?Il.iterator:X,Bl=Il?Il.toStringTag:X,Tl=function(){\ntry{var n=Ai(ll,\"defineProperty\");return n({},\"\",{}),n}catch(n){}}(),$l=x.clearTimeout!==re.clearTimeout&&x.clearTimeout,Dl=ol&&ol.now!==re.Date.now&&ol.now,Ml=x.setTimeout!==re.setTimeout&&x.setTimeout,Fl=al.ceil,Nl=al.floor,Pl=ll.getOwnPropertySymbols,ql=Ol?Ol.isBuffer:X,Zl=x.isFinite,Kl=_l.join,Vl=F(ll.keys,ll),Gl=al.max,Hl=al.min,Jl=ol.now,Yl=x.parseInt,Ql=al.random,Xl=_l.reverse,ns=Ai(x,\"DataView\"),ts=Ai(x,\"Map\"),rs=Ai(x,\"Promise\"),es=Ai(x,\"Set\"),us=Ai(x,\"WeakMap\"),is=Ai(ll,\"create\"),os=us&&new us,fs={},cs=to(ns),as=to(ts),ls=to(rs),ss=to(es),hs=to(us),ps=Il?Il.prototype:X,_s=ps?ps.valueOf:X,vs=ps?ps.toString:X,gs=function(){\nfunction n(){}return function(t){if(!fc(t))return{};if(Sl)return Sl(t);n.prototype=t;var r=new n;return n.prototype=X,r}}();Z.templateSettings={escape:kt,evaluate:Ot,interpolate:It,variable:\"\",imports:{_:Z}},Z.prototype=J.prototype,Z.prototype.constructor=Z,Y.prototype=gs(J.prototype),Y.prototype.constructor=Y,Ct.prototype=gs(J.prototype),Ct.prototype.constructor=Ct,Xt.prototype.clear=nr,Xt.prototype.delete=tr,Xt.prototype.get=rr,Xt.prototype.has=er,Xt.prototype.set=ur,ir.prototype.clear=or,ir.prototype.delete=fr,\nir.prototype.get=cr,ir.prototype.has=ar,ir.prototype.set=lr,sr.prototype.clear=hr,sr.prototype.delete=pr,sr.prototype.get=_r,sr.prototype.has=vr,sr.prototype.set=gr,yr.prototype.add=yr.prototype.push=dr,yr.prototype.has=br,wr.prototype.clear=mr,wr.prototype.delete=xr,wr.prototype.get=jr,wr.prototype.has=Ar,wr.prototype.set=kr;var ys=Pu(ue),ds=Pu(oe,!0),bs=qu(),ws=qu(!0),ms=os?function(n,t){return os.set(n,t),n}:La,xs=Tl?function(n,t){return Tl(n,\"toString\",{configurable:!0,enumerable:!1,value:Sa(t),\nwritable:!0})}:La,js=uu,As=$l||function(n){return re.clearTimeout(n)},ks=es&&1/P(new es([,-0]))[1]==Sn?function(n){return new es(n)}:Da,Os=os?function(n){return os.get(n)}:Da,Is=Pl?function(n){return null==n?[]:(n=ll(n),i(Pl(n),function(t){return Wl.call(n,t)}))}:Pa,Rs=Pl?function(n){for(var t=[];n;)a(t,Is(n)),n=El(n);return t}:Pa,zs=we;(ns&&zs(new ns(new ArrayBuffer(1)))!=ct||ts&&zs(new ts)!=Gn||rs&&zs(rs.resolve())!=Qn||es&&zs(new es)!=tt||us&&zs(new us)!=it)&&(zs=function(n){var t=we(n),r=t==Yn?n.constructor:X,e=r?to(r):\"\";\nif(e)switch(e){case cs:return ct;case as:return Gn;case ls:return Qn;case ss:return tt;case hs:return it}return t});var Es=yl?uc:qa,Ss=Qi(ms),Ws=Ml||function(n,t){return re.setTimeout(n,t)},Ls=Qi(xs),Cs=Pi(function(n){var t=[];return 46===n.charCodeAt(0)&&t.push(\"\"),n.replace(Et,function(n,r,e,u){t.push(e?u.replace(Mt,\"$1\"):r||n)}),t}),Us=uu(function(n,t){return Jf(n)?Hr(n,ee(t,1,Jf,!0)):[]}),Bs=uu(function(n,t){var r=jo(t);return Jf(r)&&(r=X),Jf(n)?Hr(n,ee(t,1,Jf,!0),mi(r,2)):[]}),Ts=uu(function(n,t){\nvar r=jo(t);return Jf(r)&&(r=X),Jf(n)?Hr(n,ee(t,1,Jf,!0),X,r):[]}),$s=uu(function(n){var t=c(n,ju);return t.length&&t[0]===n[0]?ke(t):[]}),Ds=uu(function(n){var t=jo(n),r=c(n,ju);return t===jo(r)?t=X:r.pop(),r.length&&r[0]===n[0]?ke(r,mi(t,2)):[]}),Ms=uu(function(n){var t=jo(n),r=c(n,ju);return t=\"function\"==typeof t?t:X,t&&r.pop(),r.length&&r[0]===n[0]?ke(r,X,t):[]}),Fs=uu(Oo),Ns=gi(function(n,t){var r=null==n?0:n.length,e=Tr(n,t);return nu(n,c(t,function(n){return Ci(n,r)?+n:n}).sort(Lu)),e}),Ps=uu(function(n){\nreturn gu(ee(n,1,Jf,!0))}),qs=uu(function(n){var t=jo(n);return Jf(t)&&(t=X),gu(ee(n,1,Jf,!0),mi(t,2))}),Zs=uu(function(n){var t=jo(n);return t=\"function\"==typeof t?t:X,gu(ee(n,1,Jf,!0),X,t)}),Ks=uu(function(n,t){return Jf(n)?Hr(n,t):[]}),Vs=uu(function(n){return mu(i(n,Jf))}),Gs=uu(function(n){var t=jo(n);return Jf(t)&&(t=X),mu(i(n,Jf),mi(t,2))}),Hs=uu(function(n){var t=jo(n);return t=\"function\"==typeof t?t:X,mu(i(n,Jf),X,t)}),Js=uu(Go),Ys=uu(function(n){var t=n.length,r=t>1?n[t-1]:X;return r=\"function\"==typeof r?(n.pop(),\nr):X,Ho(n,r)}),Qs=gi(function(n){var t=n.length,r=t?n[0]:0,e=this.__wrapped__,u=function(t){return Tr(t,n)};return!(t>1||this.__actions__.length)&&e instanceof Ct&&Ci(r)?(e=e.slice(r,+r+(t?1:0)),e.__actions__.push({func:nf,args:[u],thisArg:X}),new Y(e,this.__chain__).thru(function(n){return t&&!n.length&&n.push(X),n})):this.thru(u)}),Xs=Fu(function(n,t,r){bl.call(n,r)?++n[r]:Br(n,r,1)}),nh=Ju(ho),th=Ju(po),rh=Fu(function(n,t,r){bl.call(n,r)?n[r].push(t):Br(n,r,[t])}),eh=uu(function(t,r,e){var u=-1,i=\"function\"==typeof r,o=Hf(t)?il(t.length):[];\nreturn ys(t,function(t){o[++u]=i?n(r,t,e):Ie(t,r,e)}),o}),uh=Fu(function(n,t,r){Br(n,r,t)}),ih=Fu(function(n,t,r){n[r?0:1].push(t)},function(){return[[],[]]}),oh=uu(function(n,t){if(null==n)return[];var r=t.length;return r>1&&Ui(n,t[0],t[1])?t=[]:r>2&&Ui(t[0],t[1],t[2])&&(t=[t[0]]),He(n,ee(t,1),[])}),fh=Dl||function(){return re.Date.now()},ch=uu(function(n,t,r){var e=_n;if(r.length){var u=N(r,wi(ch));e|=bn}return ai(n,e,t,r,u)}),ah=uu(function(n,t,r){var e=_n|vn;if(r.length){var u=N(r,wi(ah));e|=bn;\n}return ai(t,e,n,r,u)}),lh=uu(function(n,t){return Gr(n,1,t)}),sh=uu(function(n,t,r){return Gr(n,Ic(t)||0,r)});Cf.Cache=sr;var hh=js(function(t,r){r=1==r.length&&bh(r[0])?c(r[0],z(mi())):c(ee(r,1),z(mi()));var e=r.length;return uu(function(u){for(var i=-1,o=Hl(u.length,e);++i<o;)u[i]=r[i].call(this,u[i]);return n(t,this,u)})}),ph=uu(function(n,t){return ai(n,bn,X,t,N(t,wi(ph)))}),_h=uu(function(n,t){return ai(n,wn,X,t,N(t,wi(_h)))}),vh=gi(function(n,t){return ai(n,xn,X,X,X,t)}),gh=ii(me),yh=ii(function(n,t){\nreturn n>=t}),dh=Re(function(){return arguments}())?Re:function(n){return cc(n)&&bl.call(n,\"callee\")&&!Wl.call(n,\"callee\")},bh=il.isArray,wh=ce?z(ce):ze,mh=ql||qa,xh=ae?z(ae):Ee,jh=le?z(le):Le,Ah=se?z(se):Be,kh=he?z(he):Te,Oh=pe?z(pe):$e,Ih=ii(Ne),Rh=ii(function(n,t){return n<=t}),zh=Nu(function(n,t){if(Mi(t)||Hf(t))return $u(t,Pc(t),n),X;for(var r in t)bl.call(t,r)&&Sr(n,r,t[r])}),Eh=Nu(function(n,t){$u(t,qc(t),n)}),Sh=Nu(function(n,t,r,e){$u(t,qc(t),n,e)}),Wh=Nu(function(n,t,r,e){$u(t,Pc(t),n,e);\n}),Lh=gi(Tr),Ch=uu(function(n,t){n=ll(n);var r=-1,e=t.length,u=e>2?t[2]:X;for(u&&Ui(t[0],t[1],u)&&(e=1);++r<e;)for(var i=t[r],o=qc(i),f=-1,c=o.length;++f<c;){var a=o[f],l=n[a];(l===X||Gf(l,gl[a])&&!bl.call(n,a))&&(n[a]=i[a])}return n}),Uh=uu(function(t){return t.push(X,si),n(Mh,X,t)}),Bh=Xu(function(n,t,r){null!=t&&\"function\"!=typeof t.toString&&(t=xl.call(t)),n[t]=r},Sa(La)),Th=Xu(function(n,t,r){null!=t&&\"function\"!=typeof t.toString&&(t=xl.call(t)),bl.call(n,t)?n[t].push(r):n[t]=[r]},mi),$h=uu(Ie),Dh=Nu(function(n,t,r){\nKe(n,t,r)}),Mh=Nu(function(n,t,r,e){Ke(n,t,r,e)}),Fh=gi(function(n,t){var r={};if(null==n)return r;var e=!1;t=c(t,function(t){return t=ku(t,n),e||(e=t.length>1),t}),$u(n,di(n),r),e&&(r=Fr(r,an|ln|sn,hi));for(var u=t.length;u--;)yu(r,t[u]);return r}),Nh=gi(function(n,t){return null==n?{}:Je(n,t)}),Ph=ci(Pc),qh=ci(qc),Zh=Vu(function(n,t,r){return t=t.toLowerCase(),n+(r?fa(t):t)}),Kh=Vu(function(n,t,r){return n+(r?\"-\":\"\")+t.toLowerCase()}),Vh=Vu(function(n,t,r){return n+(r?\" \":\"\")+t.toLowerCase()}),Gh=Ku(\"toLowerCase\"),Hh=Vu(function(n,t,r){\nreturn n+(r?\"_\":\"\")+t.toLowerCase()}),Jh=Vu(function(n,t,r){return n+(r?\" \":\"\")+Qh(t)}),Yh=Vu(function(n,t,r){return n+(r?\" \":\"\")+t.toUpperCase()}),Qh=Ku(\"toUpperCase\"),Xh=uu(function(t,r){try{return n(t,X,r)}catch(n){return rc(n)?n:new fl(n)}}),np=gi(function(n,t){return r(t,function(t){t=no(t),Br(n,t,ch(n[t],n))}),n}),tp=Yu(),rp=Yu(!0),ep=uu(function(n,t){return function(r){return Ie(r,n,t)}}),up=uu(function(n,t){return function(r){return Ie(n,r,t)}}),ip=ti(c),op=ti(u),fp=ti(h),cp=ui(),ap=ui(!0),lp=ni(function(n,t){\nreturn n+t},0),sp=fi(\"ceil\"),hp=ni(function(n,t){return n/t},1),pp=fi(\"floor\"),_p=ni(function(n,t){return n*t},1),vp=fi(\"round\"),gp=ni(function(n,t){return n-t},0);return Z.after=If,Z.ary=Rf,Z.assign=zh,Z.assignIn=Eh,Z.assignInWith=Sh,Z.assignWith=Wh,Z.at=Lh,Z.before=zf,Z.bind=ch,Z.bindAll=np,Z.bindKey=ah,Z.castArray=Nf,Z.chain=Qo,Z.chunk=uo,Z.compact=io,Z.concat=oo,Z.cond=za,Z.conforms=Ea,Z.constant=Sa,Z.countBy=Xs,Z.create=Sc,Z.curry=Ef,Z.curryRight=Sf,Z.debounce=Wf,Z.defaults=Ch,Z.defaultsDeep=Uh,\nZ.defer=lh,Z.delay=sh,Z.difference=Us,Z.differenceBy=Bs,Z.differenceWith=Ts,Z.drop=fo,Z.dropRight=co,Z.dropRightWhile=ao,Z.dropWhile=lo,Z.fill=so,Z.filter=lf,Z.flatMap=sf,Z.flatMapDeep=hf,Z.flatMapDepth=pf,Z.flatten=_o,Z.flattenDeep=vo,Z.flattenDepth=go,Z.flip=Lf,Z.flow=tp,Z.flowRight=rp,Z.fromPairs=yo,Z.functions=$c,Z.functionsIn=Dc,Z.groupBy=rh,Z.initial=mo,Z.intersection=$s,Z.intersectionBy=Ds,Z.intersectionWith=Ms,Z.invert=Bh,Z.invertBy=Th,Z.invokeMap=eh,Z.iteratee=Ca,Z.keyBy=uh,Z.keys=Pc,Z.keysIn=qc,\nZ.map=yf,Z.mapKeys=Zc,Z.mapValues=Kc,Z.matches=Ua,Z.matchesProperty=Ba,Z.memoize=Cf,Z.merge=Dh,Z.mergeWith=Mh,Z.method=ep,Z.methodOf=up,Z.mixin=Ta,Z.negate=Uf,Z.nthArg=Ma,Z.omit=Fh,Z.omitBy=Vc,Z.once=Bf,Z.orderBy=df,Z.over=ip,Z.overArgs=hh,Z.overEvery=op,Z.overSome=fp,Z.partial=ph,Z.partialRight=_h,Z.partition=ih,Z.pick=Nh,Z.pickBy=Gc,Z.property=Fa,Z.propertyOf=Na,Z.pull=Fs,Z.pullAll=Oo,Z.pullAllBy=Io,Z.pullAllWith=Ro,Z.pullAt=Ns,Z.range=cp,Z.rangeRight=ap,Z.rearg=vh,Z.reject=mf,Z.remove=zo,Z.rest=Tf,\nZ.reverse=Eo,Z.sampleSize=jf,Z.set=Jc,Z.setWith=Yc,Z.shuffle=Af,Z.slice=So,Z.sortBy=oh,Z.sortedUniq=$o,Z.sortedUniqBy=Do,Z.split=da,Z.spread=$f,Z.tail=Mo,Z.take=Fo,Z.takeRight=No,Z.takeRightWhile=Po,Z.takeWhile=qo,Z.tap=Xo,Z.throttle=Df,Z.thru=nf,Z.toArray=jc,Z.toPairs=Ph,Z.toPairsIn=qh,Z.toPath=Ha,Z.toPlainObject=Rc,Z.transform=Qc,Z.unary=Mf,Z.union=Ps,Z.unionBy=qs,Z.unionWith=Zs,Z.uniq=Zo,Z.uniqBy=Ko,Z.uniqWith=Vo,Z.unset=Xc,Z.unzip=Go,Z.unzipWith=Ho,Z.update=na,Z.updateWith=ta,Z.values=ra,Z.valuesIn=ea,\nZ.without=Ks,Z.words=Ra,Z.wrap=Ff,Z.xor=Vs,Z.xorBy=Gs,Z.xorWith=Hs,Z.zip=Js,Z.zipObject=Jo,Z.zipObjectDeep=Yo,Z.zipWith=Ys,Z.entries=Ph,Z.entriesIn=qh,Z.extend=Eh,Z.extendWith=Sh,Ta(Z,Z),Z.add=lp,Z.attempt=Xh,Z.camelCase=Zh,Z.capitalize=fa,Z.ceil=sp,Z.clamp=ua,Z.clone=Pf,Z.cloneDeep=Zf,Z.cloneDeepWith=Kf,Z.cloneWith=qf,Z.conformsTo=Vf,Z.deburr=ca,Z.defaultTo=Wa,Z.divide=hp,Z.endsWith=aa,Z.eq=Gf,Z.escape=la,Z.escapeRegExp=sa,Z.every=af,Z.find=nh,Z.findIndex=ho,Z.findKey=Wc,Z.findLast=th,Z.findLastIndex=po,\nZ.findLastKey=Lc,Z.floor=pp,Z.forEach=_f,Z.forEachRight=vf,Z.forIn=Cc,Z.forInRight=Uc,Z.forOwn=Bc,Z.forOwnRight=Tc,Z.get=Mc,Z.gt=gh,Z.gte=yh,Z.has=Fc,Z.hasIn=Nc,Z.head=bo,Z.identity=La,Z.includes=gf,Z.indexOf=wo,Z.inRange=ia,Z.invoke=$h,Z.isArguments=dh,Z.isArray=bh,Z.isArrayBuffer=wh,Z.isArrayLike=Hf,Z.isArrayLikeObject=Jf,Z.isBoolean=Yf,Z.isBuffer=mh,Z.isDate=xh,Z.isElement=Qf,Z.isEmpty=Xf,Z.isEqual=nc,Z.isEqualWith=tc,Z.isError=rc,Z.isFinite=ec,Z.isFunction=uc,Z.isInteger=ic,Z.isLength=oc,Z.isMap=jh,\nZ.isMatch=ac,Z.isMatchWith=lc,Z.isNaN=sc,Z.isNative=hc,Z.isNil=_c,Z.isNull=pc,Z.isNumber=vc,Z.isObject=fc,Z.isObjectLike=cc,Z.isPlainObject=gc,Z.isRegExp=Ah,Z.isSafeInteger=yc,Z.isSet=kh,Z.isString=dc,Z.isSymbol=bc,Z.isTypedArray=Oh,Z.isUndefined=wc,Z.isWeakMap=mc,Z.isWeakSet=xc,Z.join=xo,Z.kebabCase=Kh,Z.last=jo,Z.lastIndexOf=Ao,Z.lowerCase=Vh,Z.lowerFirst=Gh,Z.lt=Ih,Z.lte=Rh,Z.max=Ya,Z.maxBy=Qa,Z.mean=Xa,Z.meanBy=nl,Z.min=tl,Z.minBy=rl,Z.stubArray=Pa,Z.stubFalse=qa,Z.stubObject=Za,Z.stubString=Ka,\nZ.stubTrue=Va,Z.multiply=_p,Z.nth=ko,Z.noConflict=$a,Z.noop=Da,Z.now=fh,Z.pad=ha,Z.padEnd=pa,Z.padStart=_a,Z.parseInt=va,Z.random=oa,Z.reduce=bf,Z.reduceRight=wf,Z.repeat=ga,Z.replace=ya,Z.result=Hc,Z.round=vp,Z.runInContext=p,Z.sample=xf,Z.size=kf,Z.snakeCase=Hh,Z.some=Of,Z.sortedIndex=Wo,Z.sortedIndexBy=Lo,Z.sortedIndexOf=Co,Z.sortedLastIndex=Uo,Z.sortedLastIndexBy=Bo,Z.sortedLastIndexOf=To,Z.startCase=Jh,Z.startsWith=ba,Z.subtract=gp,Z.sum=el,Z.sumBy=ul,Z.template=wa,Z.times=Ga,Z.toFinite=Ac,Z.toInteger=kc,\nZ.toLength=Oc,Z.toLower=ma,Z.toNumber=Ic,Z.toSafeInteger=zc,Z.toString=Ec,Z.toUpper=xa,Z.trim=ja,Z.trimEnd=Aa,Z.trimStart=ka,Z.truncate=Oa,Z.unescape=Ia,Z.uniqueId=Ja,Z.upperCase=Yh,Z.upperFirst=Qh,Z.each=_f,Z.eachRight=vf,Z.first=bo,Ta(Z,function(){var n={};return ue(Z,function(t,r){bl.call(Z.prototype,r)||(n[r]=t)}),n}(),{chain:!1}),Z.VERSION=nn,r([\"bind\",\"bindKey\",\"curry\",\"curryRight\",\"partial\",\"partialRight\"],function(n){Z[n].placeholder=Z}),r([\"drop\",\"take\"],function(n,t){Ct.prototype[n]=function(r){\nr=r===X?1:Gl(kc(r),0);var e=this.__filtered__&&!t?new Ct(this):this.clone();return e.__filtered__?e.__takeCount__=Hl(r,e.__takeCount__):e.__views__.push({size:Hl(r,Un),type:n+(e.__dir__<0?\"Right\":\"\")}),e},Ct.prototype[n+\"Right\"]=function(t){return this.reverse()[n](t).reverse()}}),r([\"filter\",\"map\",\"takeWhile\"],function(n,t){var r=t+1,e=r==Rn||r==En;Ct.prototype[n]=function(n){var t=this.clone();return t.__iteratees__.push({iteratee:mi(n,3),type:r}),t.__filtered__=t.__filtered__||e,t}}),r([\"head\",\"last\"],function(n,t){\nvar r=\"take\"+(t?\"Right\":\"\");Ct.prototype[n]=function(){return this[r](1).value()[0]}}),r([\"initial\",\"tail\"],function(n,t){var r=\"drop\"+(t?\"\":\"Right\");Ct.prototype[n]=function(){return this.__filtered__?new Ct(this):this[r](1)}}),Ct.prototype.compact=function(){return this.filter(La)},Ct.prototype.find=function(n){return this.filter(n).head()},Ct.prototype.findLast=function(n){return this.reverse().find(n)},Ct.prototype.invokeMap=uu(function(n,t){return\"function\"==typeof n?new Ct(this):this.map(function(r){\nreturn Ie(r,n,t)})}),Ct.prototype.reject=function(n){return this.filter(Uf(mi(n)))},Ct.prototype.slice=function(n,t){n=kc(n);var r=this;return r.__filtered__&&(n>0||t<0)?new Ct(r):(n<0?r=r.takeRight(-n):n&&(r=r.drop(n)),t!==X&&(t=kc(t),r=t<0?r.dropRight(-t):r.take(t-n)),r)},Ct.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},Ct.prototype.toArray=function(){return this.take(Un)},ue(Ct.prototype,function(n,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),e=/^(?:head|last)$/.test(t),u=Z[e?\"take\"+(\"last\"==t?\"Right\":\"\"):t],i=e||/^find/.test(t);\nu&&(Z.prototype[t]=function(){var t=this.__wrapped__,o=e?[1]:arguments,f=t instanceof Ct,c=o[0],l=f||bh(t),s=function(n){var t=u.apply(Z,a([n],o));return e&&h?t[0]:t};l&&r&&\"function\"==typeof c&&1!=c.length&&(f=l=!1);var h=this.__chain__,p=!!this.__actions__.length,_=i&&!h,v=f&&!p;if(!i&&l){t=v?t:new Ct(this);var g=n.apply(t,o);return g.__actions__.push({func:nf,args:[s],thisArg:X}),new Y(g,h)}return _&&v?n.apply(this,o):(g=this.thru(s),_?e?g.value()[0]:g.value():g)})}),r([\"pop\",\"push\",\"shift\",\"sort\",\"splice\",\"unshift\"],function(n){\nvar t=_l[n],r=/^(?:push|sort|unshift)$/.test(n)?\"tap\":\"thru\",e=/^(?:pop|shift)$/.test(n);Z.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){var u=this.value();return t.apply(bh(u)?u:[],n)}return this[r](function(r){return t.apply(bh(r)?r:[],n)})}}),ue(Ct.prototype,function(n,t){var r=Z[t];if(r){var e=r.name+\"\";bl.call(fs,e)||(fs[e]=[]),fs[e].push({name:t,func:r})}}),fs[Qu(X,vn).name]=[{name:\"wrapper\",func:X}],Ct.prototype.clone=$t,Ct.prototype.reverse=Yt,Ct.prototype.value=Qt,Z.prototype.at=Qs,\nZ.prototype.chain=tf,Z.prototype.commit=rf,Z.prototype.next=ef,Z.prototype.plant=of,Z.prototype.reverse=ff,Z.prototype.toJSON=Z.prototype.valueOf=Z.prototype.value=cf,Z.prototype.first=Z.prototype.head,Ul&&(Z.prototype[Ul]=uf),Z},be=de();\"function\"==typeof define&&\"object\"==typeof define.amd&&define.amd?(re._=be,define(function(){return be})):ue?((ue.exports=be)._=be,ee._=be):re._=be}).call(this);","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n  if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n    throw new TypeError(FUNC_ERROR_TEXT);\n  }\n  var memoized = function() {\n    var args = arguments,\n        key = resolver ? resolver.apply(this, args) : args[0],\n        cache = memoized.cache;\n\n    if (cache.has(key)) {\n      return cache.get(key);\n    }\n    var result = func.apply(this, args);\n    memoized.cache = cache.set(key, result) || cache;\n    return result;\n  };\n  memoized.cache = new (memoize.Cache || MapCache);\n  return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var basePick = require('./_basePick'),\n    flatRest = require('./_flatRest');\n\n/**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\nvar pick = flatRest(function(object, paths) {\n  return object == null ? {} : basePick(object, paths);\n});\n\nmodule.exports = pick;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n  return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","/*\n* loglevel - https://github.com/pimterry/loglevel\n*\n* Copyright (c) 2013 Tim Perry\n* Licensed under the MIT license.\n*/\n(function (root, definition) {\n    \"use strict\";\n    if (typeof define === 'function' && define.amd) {\n        define(definition);\n    } else if (typeof module === 'object' && module.exports) {\n        module.exports = definition();\n    } else {\n        root.log = definition();\n    }\n}(this, function () {\n    \"use strict\";\n\n    // Slightly dubious tricks to cut down minimized file size\n    var noop = function() {};\n    var undefinedType = \"undefined\";\n    var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && (\n        /Trident\\/|MSIE /.test(window.navigator.userAgent)\n    );\n\n    var logMethods = [\n        \"trace\",\n        \"debug\",\n        \"info\",\n        \"warn\",\n        \"error\"\n    ];\n\n    var _loggersByName = {};\n    var defaultLogger = null;\n\n    // Cross-browser bind equivalent that works at least back to IE6\n    function bindMethod(obj, methodName) {\n        var method = obj[methodName];\n        if (typeof method.bind === 'function') {\n            return method.bind(obj);\n        } else {\n            try {\n                return Function.prototype.bind.call(method, obj);\n            } catch (e) {\n                // Missing bind shim or IE8 + Modernizr, fallback to wrapping\n                return function() {\n                    return Function.prototype.apply.apply(method, [obj, arguments]);\n                };\n            }\n        }\n    }\n\n    // Trace() doesn't print the message in IE, so for that case we need to wrap it\n    function traceForIE() {\n        if (console.log) {\n            if (console.log.apply) {\n                console.log.apply(console, arguments);\n            } else {\n                // In old IE, native console methods themselves don't have apply().\n                Function.prototype.apply.apply(console.log, [console, arguments]);\n            }\n        }\n        if (console.trace) console.trace();\n    }\n\n    // Build the best logging method possible for this env\n    // Wherever possible we want to bind, not wrap, to preserve stack traces\n    function realMethod(methodName) {\n        if (methodName === 'debug') {\n            methodName = 'log';\n        }\n\n        if (typeof console === undefinedType) {\n            return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives\n        } else if (methodName === 'trace' && isIE) {\n            return traceForIE;\n        } else if (console[methodName] !== undefined) {\n            return bindMethod(console, methodName);\n        } else if (console.log !== undefined) {\n            return bindMethod(console, 'log');\n        } else {\n            return noop;\n        }\n    }\n\n    // These private functions always need `this` to be set properly\n\n    function replaceLoggingMethods() {\n        /*jshint validthis:true */\n        var level = this.getLevel();\n\n        // Replace the actual methods.\n        for (var i = 0; i < logMethods.length; i++) {\n            var methodName = logMethods[i];\n            this[methodName] = (i < level) ?\n                noop :\n                this.methodFactory(methodName, level, this.name);\n        }\n\n        // Define log.log as an alias for log.debug\n        this.log = this.debug;\n\n        // Return any important warnings.\n        if (typeof console === undefinedType && level < this.levels.SILENT) {\n            return \"No console available for logging\";\n        }\n    }\n\n    // In old IE versions, the console isn't present until you first open it.\n    // We build realMethod() replacements here that regenerate logging methods\n    function enableLoggingWhenConsoleArrives(methodName) {\n        return function () {\n            if (typeof console !== undefinedType) {\n                replaceLoggingMethods.call(this);\n                this[methodName].apply(this, arguments);\n            }\n        };\n    }\n\n    // By default, we use closely bound real methods wherever possible, and\n    // otherwise we wait for a console to appear, and then try again.\n    function defaultMethodFactory(methodName, _level, _loggerName) {\n        /*jshint validthis:true */\n        return realMethod(methodName) ||\n               enableLoggingWhenConsoleArrives.apply(this, arguments);\n    }\n\n    function Logger(name, factory) {\n      // Private instance variables.\n      var self = this;\n      /**\n       * The level inherited from a parent logger (or a global default). We\n       * cache this here rather than delegating to the parent so that it stays\n       * in sync with the actual logging methods that we have installed (the\n       * parent could change levels but we might not have rebuilt the loggers\n       * in this child yet).\n       * @type {number}\n       */\n      var inheritedLevel;\n      /**\n       * The default level for this logger, if any. If set, this overrides\n       * `inheritedLevel`.\n       * @type {number|null}\n       */\n      var defaultLevel;\n      /**\n       * A user-specific level for this logger. If set, this overrides\n       * `defaultLevel`.\n       * @type {number|null}\n       */\n      var userLevel;\n\n      var storageKey = \"loglevel\";\n      if (typeof name === \"string\") {\n        storageKey += \":\" + name;\n      } else if (typeof name === \"symbol\") {\n        storageKey = undefined;\n      }\n\n      function persistLevelIfPossible(levelNum) {\n          var levelName = (logMethods[levelNum] || 'silent').toUpperCase();\n\n          if (typeof window === undefinedType || !storageKey) return;\n\n          // Use localStorage if available\n          try {\n              window.localStorage[storageKey] = levelName;\n              return;\n          } catch (ignore) {}\n\n          // Use session cookie as fallback\n          try {\n              window.document.cookie =\n                encodeURIComponent(storageKey) + \"=\" + levelName + \";\";\n          } catch (ignore) {}\n      }\n\n      function getPersistedLevel() {\n          var storedLevel;\n\n          if (typeof window === undefinedType || !storageKey) return;\n\n          try {\n              storedLevel = window.localStorage[storageKey];\n          } catch (ignore) {}\n\n          // Fallback to cookies if local storage gives us nothing\n          if (typeof storedLevel === undefinedType) {\n              try {\n                  var cookie = window.document.cookie;\n                  var cookieName = encodeURIComponent(storageKey);\n                  var location = cookie.indexOf(cookieName + \"=\");\n                  if (location !== -1) {\n                      storedLevel = /^([^;]+)/.exec(\n                          cookie.slice(location + cookieName.length + 1)\n                      )[1];\n                  }\n              } catch (ignore) {}\n          }\n\n          // If the stored level is not valid, treat it as if nothing was stored.\n          if (self.levels[storedLevel] === undefined) {\n              storedLevel = undefined;\n          }\n\n          return storedLevel;\n      }\n\n      function clearPersistedLevel() {\n          if (typeof window === undefinedType || !storageKey) return;\n\n          // Use localStorage if available\n          try {\n              window.localStorage.removeItem(storageKey);\n          } catch (ignore) {}\n\n          // Use session cookie as fallback\n          try {\n              window.document.cookie =\n                encodeURIComponent(storageKey) + \"=; expires=Thu, 01 Jan 1970 00:00:00 UTC\";\n          } catch (ignore) {}\n      }\n\n      function normalizeLevel(input) {\n          var level = input;\n          if (typeof level === \"string\" && self.levels[level.toUpperCase()] !== undefined) {\n              level = self.levels[level.toUpperCase()];\n          }\n          if (typeof level === \"number\" && level >= 0 && level <= self.levels.SILENT) {\n              return level;\n          } else {\n              throw new TypeError(\"log.setLevel() called with invalid level: \" + input);\n          }\n      }\n\n      /*\n       *\n       * Public logger API - see https://github.com/pimterry/loglevel for details\n       *\n       */\n\n      self.name = name;\n\n      self.levels = { \"TRACE\": 0, \"DEBUG\": 1, \"INFO\": 2, \"WARN\": 3,\n          \"ERROR\": 4, \"SILENT\": 5};\n\n      self.methodFactory = factory || defaultMethodFactory;\n\n      self.getLevel = function () {\n          if (userLevel != null) {\n            return userLevel;\n          } else if (defaultLevel != null) {\n            return defaultLevel;\n          } else {\n            return inheritedLevel;\n          }\n      };\n\n      self.setLevel = function (level, persist) {\n          userLevel = normalizeLevel(level);\n          if (persist !== false) {  // defaults to true\n              persistLevelIfPossible(userLevel);\n          }\n\n          // NOTE: in v2, this should call rebuild(), which updates children.\n          return replaceLoggingMethods.call(self);\n      };\n\n      self.setDefaultLevel = function (level) {\n          defaultLevel = normalizeLevel(level);\n          if (!getPersistedLevel()) {\n              self.setLevel(level, false);\n          }\n      };\n\n      self.resetLevel = function () {\n          userLevel = null;\n          clearPersistedLevel();\n          replaceLoggingMethods.call(self);\n      };\n\n      self.enableAll = function(persist) {\n          self.setLevel(self.levels.TRACE, persist);\n      };\n\n      self.disableAll = function(persist) {\n          self.setLevel(self.levels.SILENT, persist);\n      };\n\n      self.rebuild = function () {\n          if (defaultLogger !== self) {\n              inheritedLevel = normalizeLevel(defaultLogger.getLevel());\n          }\n          replaceLoggingMethods.call(self);\n\n          if (defaultLogger === self) {\n              for (var childName in _loggersByName) {\n                _loggersByName[childName].rebuild();\n              }\n          }\n      };\n\n      // Initialize all the internal levels.\n      inheritedLevel = normalizeLevel(\n          defaultLogger ? defaultLogger.getLevel() : \"WARN\"\n      );\n      var initialLevel = getPersistedLevel();\n      if (initialLevel != null) {\n          userLevel = normalizeLevel(initialLevel);\n      }\n      replaceLoggingMethods.call(self);\n    }\n\n    /*\n     *\n     * Top-level API\n     *\n     */\n\n    defaultLogger = new Logger();\n\n    defaultLogger.getLogger = function getLogger(name) {\n        if ((typeof name !== \"symbol\" && typeof name !== \"string\") || name === \"\") {\n            throw new TypeError(\"You must supply a name when creating a logger.\");\n        }\n\n        var logger = _loggersByName[name];\n        if (!logger) {\n            logger = _loggersByName[name] = new Logger(\n                name,\n                defaultLogger.methodFactory\n            );\n        }\n        return logger;\n    };\n\n    // Grab the current global log variable in case of overwrite\n    var _log = (typeof window !== undefinedType) ? window.log : undefined;\n    defaultLogger.noConflict = function() {\n        if (typeof window !== undefinedType &&\n               window.log === defaultLogger) {\n            window.log = _log;\n        }\n\n        return defaultLogger;\n    };\n\n    defaultLogger.getLoggers = function getLoggers() {\n        return _loggersByName;\n    };\n\n    // ES6 default export, for compatibility\n    defaultLogger['default'] = defaultLogger;\n\n    return defaultLogger;\n}));\n","(typeof navigator !== \"undefined\") && (function (global, factory) {\n  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n  typeof define === 'function' && define.amd ? define(factory) :\n  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lottie = factory());\n})(this, (function () { 'use strict';\n\n  var svgNS = 'http://www.w3.org/2000/svg';\n  var locationHref = '';\n  var _useWebWorker = false;\n  var initialDefaultFrame = -999999;\n\n  var setWebWorker = function setWebWorker(flag) {\n    _useWebWorker = !!flag;\n  };\n\n  var getWebWorker = function getWebWorker() {\n    return _useWebWorker;\n  };\n\n  var setLocationHref = function setLocationHref(value) {\n    locationHref = value;\n  };\n\n  var getLocationHref = function getLocationHref() {\n    return locationHref;\n  };\n\n  function createTag(type) {\n    // return {appendChild:function(){},setAttribute:function(){},style:{}}\n    return document.createElement(type);\n  }\n\n  function extendPrototype(sources, destination) {\n    var i;\n    var len = sources.length;\n    var sourcePrototype;\n\n    for (i = 0; i < len; i += 1) {\n      sourcePrototype = sources[i].prototype;\n\n      for (var attr in sourcePrototype) {\n        if (Object.prototype.hasOwnProperty.call(sourcePrototype, attr)) destination.prototype[attr] = sourcePrototype[attr];\n      }\n    }\n  }\n\n  function getDescriptor(object, prop) {\n    return Object.getOwnPropertyDescriptor(object, prop);\n  }\n\n  function createProxyFunction(prototype) {\n    function ProxyFunction() {}\n\n    ProxyFunction.prototype = prototype;\n    return ProxyFunction;\n  }\n\n  // import Howl from '../../3rd_party/howler';\n  var audioControllerFactory = function () {\n    function AudioController(audioFactory) {\n      this.audios = [];\n      this.audioFactory = audioFactory;\n      this._volume = 1;\n      this._isMuted = false;\n    }\n\n    AudioController.prototype = {\n      addAudio: function addAudio(audio) {\n        this.audios.push(audio);\n      },\n      pause: function pause() {\n        var i;\n        var len = this.audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          this.audios[i].pause();\n        }\n      },\n      resume: function resume() {\n        var i;\n        var len = this.audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          this.audios[i].resume();\n        }\n      },\n      setRate: function setRate(rateValue) {\n        var i;\n        var len = this.audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          this.audios[i].setRate(rateValue);\n        }\n      },\n      createAudio: function createAudio(assetPath) {\n        if (this.audioFactory) {\n          return this.audioFactory(assetPath);\n        }\n\n        if (window.Howl) {\n          return new window.Howl({\n            src: [assetPath]\n          });\n        }\n\n        return {\n          isPlaying: false,\n          play: function play() {\n            this.isPlaying = true;\n          },\n          seek: function seek() {\n            this.isPlaying = false;\n          },\n          playing: function playing() {},\n          rate: function rate() {},\n          setVolume: function setVolume() {}\n        };\n      },\n      setAudioFactory: function setAudioFactory(audioFactory) {\n        this.audioFactory = audioFactory;\n      },\n      setVolume: function setVolume(value) {\n        this._volume = value;\n\n        this._updateVolume();\n      },\n      mute: function mute() {\n        this._isMuted = true;\n\n        this._updateVolume();\n      },\n      unmute: function unmute() {\n        this._isMuted = false;\n\n        this._updateVolume();\n      },\n      getVolume: function getVolume() {\n        return this._volume;\n      },\n      _updateVolume: function _updateVolume() {\n        var i;\n        var len = this.audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          this.audios[i].volume(this._volume * (this._isMuted ? 0 : 1));\n        }\n      }\n    };\n    return function () {\n      return new AudioController();\n    };\n  }();\n\n  var createTypedArray = function () {\n    function createRegularArray(type, len) {\n      var i = 0;\n      var arr = [];\n      var value;\n\n      switch (type) {\n        case 'int16':\n        case 'uint8c':\n          value = 1;\n          break;\n\n        default:\n          value = 1.1;\n          break;\n      }\n\n      for (i = 0; i < len; i += 1) {\n        arr.push(value);\n      }\n\n      return arr;\n    }\n\n    function createTypedArrayFactory(type, len) {\n      if (type === 'float32') {\n        return new Float32Array(len);\n      }\n\n      if (type === 'int16') {\n        return new Int16Array(len);\n      }\n\n      if (type === 'uint8c') {\n        return new Uint8ClampedArray(len);\n      }\n\n      return createRegularArray(type, len);\n    }\n\n    if (typeof Uint8ClampedArray === 'function' && typeof Float32Array === 'function') {\n      return createTypedArrayFactory;\n    }\n\n    return createRegularArray;\n  }();\n\n  function createSizedArray(len) {\n    return Array.apply(null, {\n      length: len\n    });\n  }\n\n  function _typeof$6(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$6 = function _typeof(obj) { return typeof obj; }; } else { _typeof$6 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$6(obj); }\n  var subframeEnabled = true;\n  var expressionsPlugin = null;\n  var expressionsInterfaces = null;\n  var idPrefix$1 = '';\n  var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n  var _shouldRoundValues = false;\n  var bmPow = Math.pow;\n  var bmSqrt = Math.sqrt;\n  var bmFloor = Math.floor;\n  var bmMax = Math.max;\n  var bmMin = Math.min;\n  var BMMath = {};\n\n  (function () {\n    var propertyNames = ['abs', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atanh', 'atan2', 'ceil', 'cbrt', 'expm1', 'clz32', 'cos', 'cosh', 'exp', 'floor', 'fround', 'hypot', 'imul', 'log', 'log1p', 'log2', 'log10', 'max', 'min', 'pow', 'random', 'round', 'sign', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc', 'E', 'LN10', 'LN2', 'LOG10E', 'LOG2E', 'PI', 'SQRT1_2', 'SQRT2'];\n    var i;\n    var len = propertyNames.length;\n\n    for (i = 0; i < len; i += 1) {\n      BMMath[propertyNames[i]] = Math[propertyNames[i]];\n    }\n  })();\n\n  function ProjectInterface$1() {\n    return {};\n  }\n\n  BMMath.random = Math.random;\n\n  BMMath.abs = function (val) {\n    var tOfVal = _typeof$6(val);\n\n    if (tOfVal === 'object' && val.length) {\n      var absArr = createSizedArray(val.length);\n      var i;\n      var len = val.length;\n\n      for (i = 0; i < len; i += 1) {\n        absArr[i] = Math.abs(val[i]);\n      }\n\n      return absArr;\n    }\n\n    return Math.abs(val);\n  };\n\n  var defaultCurveSegments = 150;\n  var degToRads = Math.PI / 180;\n  var roundCorner = 0.5519;\n\n  function roundValues(flag) {\n    _shouldRoundValues = !!flag;\n  }\n\n  function bmRnd(value) {\n    if (_shouldRoundValues) {\n      return Math.round(value);\n    }\n\n    return value;\n  }\n\n  function styleDiv(element) {\n    element.style.position = 'absolute';\n    element.style.top = 0;\n    element.style.left = 0;\n    element.style.display = 'block';\n    element.style.transformOrigin = '0 0';\n    element.style.webkitTransformOrigin = '0 0';\n    element.style.backfaceVisibility = 'visible';\n    element.style.webkitBackfaceVisibility = 'visible';\n    element.style.transformStyle = 'preserve-3d';\n    element.style.webkitTransformStyle = 'preserve-3d';\n    element.style.mozTransformStyle = 'preserve-3d';\n  }\n\n  function BMEnterFrameEvent(type, currentTime, totalTime, frameMultiplier) {\n    this.type = type;\n    this.currentTime = currentTime;\n    this.totalTime = totalTime;\n    this.direction = frameMultiplier < 0 ? -1 : 1;\n  }\n\n  function BMCompleteEvent(type, frameMultiplier) {\n    this.type = type;\n    this.direction = frameMultiplier < 0 ? -1 : 1;\n  }\n\n  function BMCompleteLoopEvent(type, totalLoops, currentLoop, frameMultiplier) {\n    this.type = type;\n    this.currentLoop = currentLoop;\n    this.totalLoops = totalLoops;\n    this.direction = frameMultiplier < 0 ? -1 : 1;\n  }\n\n  function BMSegmentStartEvent(type, firstFrame, totalFrames) {\n    this.type = type;\n    this.firstFrame = firstFrame;\n    this.totalFrames = totalFrames;\n  }\n\n  function BMDestroyEvent(type, target) {\n    this.type = type;\n    this.target = target;\n  }\n\n  function BMRenderFrameErrorEvent(nativeError, currentTime) {\n    this.type = 'renderFrameError';\n    this.nativeError = nativeError;\n    this.currentTime = currentTime;\n  }\n\n  function BMConfigErrorEvent(nativeError) {\n    this.type = 'configError';\n    this.nativeError = nativeError;\n  }\n\n  function BMAnimationConfigErrorEvent(type, nativeError) {\n    this.type = type;\n    this.nativeError = nativeError;\n  }\n\n  var createElementID = function () {\n    var _count = 0;\n    return function createID() {\n      _count += 1;\n      return idPrefix$1 + '__lottie_element_' + _count;\n    };\n  }();\n\n  function HSVtoRGB(h, s, v) {\n    var r;\n    var g;\n    var b;\n    var i;\n    var f;\n    var p;\n    var q;\n    var t;\n    i = Math.floor(h * 6);\n    f = h * 6 - i;\n    p = v * (1 - s);\n    q = v * (1 - f * s);\n    t = v * (1 - (1 - f) * s);\n\n    switch (i % 6) {\n      case 0:\n        r = v;\n        g = t;\n        b = p;\n        break;\n\n      case 1:\n        r = q;\n        g = v;\n        b = p;\n        break;\n\n      case 2:\n        r = p;\n        g = v;\n        b = t;\n        break;\n\n      case 3:\n        r = p;\n        g = q;\n        b = v;\n        break;\n\n      case 4:\n        r = t;\n        g = p;\n        b = v;\n        break;\n\n      case 5:\n        r = v;\n        g = p;\n        b = q;\n        break;\n\n      default:\n        break;\n    }\n\n    return [r, g, b];\n  }\n\n  function RGBtoHSV(r, g, b) {\n    var max = Math.max(r, g, b);\n    var min = Math.min(r, g, b);\n    var d = max - min;\n    var h;\n    var s = max === 0 ? 0 : d / max;\n    var v = max / 255;\n\n    switch (max) {\n      case min:\n        h = 0;\n        break;\n\n      case r:\n        h = g - b + d * (g < b ? 6 : 0);\n        h /= 6 * d;\n        break;\n\n      case g:\n        h = b - r + d * 2;\n        h /= 6 * d;\n        break;\n\n      case b:\n        h = r - g + d * 4;\n        h /= 6 * d;\n        break;\n\n      default:\n        break;\n    }\n\n    return [h, s, v];\n  }\n\n  function addSaturationToRGB(color, offset) {\n    var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n    hsv[1] += offset;\n\n    if (hsv[1] > 1) {\n      hsv[1] = 1;\n    } else if (hsv[1] <= 0) {\n      hsv[1] = 0;\n    }\n\n    return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n  }\n\n  function addBrightnessToRGB(color, offset) {\n    var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n    hsv[2] += offset;\n\n    if (hsv[2] > 1) {\n      hsv[2] = 1;\n    } else if (hsv[2] < 0) {\n      hsv[2] = 0;\n    }\n\n    return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n  }\n\n  function addHueToRGB(color, offset) {\n    var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n    hsv[0] += offset / 360;\n\n    if (hsv[0] > 1) {\n      hsv[0] -= 1;\n    } else if (hsv[0] < 0) {\n      hsv[0] += 1;\n    }\n\n    return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n  }\n\n  var rgbToHex = function () {\n    var colorMap = [];\n    var i;\n    var hex;\n\n    for (i = 0; i < 256; i += 1) {\n      hex = i.toString(16);\n      colorMap[i] = hex.length === 1 ? '0' + hex : hex;\n    }\n\n    return function (r, g, b) {\n      if (r < 0) {\n        r = 0;\n      }\n\n      if (g < 0) {\n        g = 0;\n      }\n\n      if (b < 0) {\n        b = 0;\n      }\n\n      return '#' + colorMap[r] + colorMap[g] + colorMap[b];\n    };\n  }();\n\n  var setSubframeEnabled = function setSubframeEnabled(flag) {\n    subframeEnabled = !!flag;\n  };\n\n  var getSubframeEnabled = function getSubframeEnabled() {\n    return subframeEnabled;\n  };\n\n  var setExpressionsPlugin = function setExpressionsPlugin(value) {\n    expressionsPlugin = value;\n  };\n\n  var getExpressionsPlugin = function getExpressionsPlugin() {\n    return expressionsPlugin;\n  };\n\n  var setExpressionInterfaces = function setExpressionInterfaces(value) {\n    expressionsInterfaces = value;\n  };\n\n  var getExpressionInterfaces = function getExpressionInterfaces() {\n    return expressionsInterfaces;\n  };\n\n  var setDefaultCurveSegments = function setDefaultCurveSegments(value) {\n    defaultCurveSegments = value;\n  };\n\n  var getDefaultCurveSegments = function getDefaultCurveSegments() {\n    return defaultCurveSegments;\n  };\n\n  var setIdPrefix = function setIdPrefix(value) {\n    idPrefix$1 = value;\n  };\n\n  var getIdPrefix = function getIdPrefix() {\n    return idPrefix$1;\n  };\n\n  function createNS(type) {\n    // return {appendChild:function(){},setAttribute:function(){},style:{}}\n    return document.createElementNS(svgNS, type);\n  }\n\n  function _typeof$5(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$5 = function _typeof(obj) { return typeof obj; }; } else { _typeof$5 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$5(obj); }\n\n  var dataManager = function () {\n    var _counterId = 1;\n    var processes = [];\n    var workerFn;\n    var workerInstance;\n    var workerProxy = {\n      onmessage: function onmessage() {},\n      postMessage: function postMessage(path) {\n        workerFn({\n          data: path\n        });\n      }\n    };\n    var _workerSelf = {\n      postMessage: function postMessage(data) {\n        workerProxy.onmessage({\n          data: data\n        });\n      }\n    };\n\n    function createWorker(fn) {\n      if (window.Worker && window.Blob && getWebWorker()) {\n        var blob = new Blob(['var _workerSelf = self; self.onmessage = ', fn.toString()], {\n          type: 'text/javascript'\n        }); // var blob = new Blob(['self.onmessage = ', fn.toString()], { type: 'text/javascript' });\n\n        var url = URL.createObjectURL(blob);\n        return new Worker(url);\n      }\n\n      workerFn = fn;\n      return workerProxy;\n    }\n\n    function setupWorker() {\n      if (!workerInstance) {\n        workerInstance = createWorker(function workerStart(e) {\n          function dataFunctionManager() {\n            function completeLayers(layers, comps) {\n              var layerData;\n              var i;\n              var len = layers.length;\n              var j;\n              var jLen;\n              var k;\n              var kLen;\n\n              for (i = 0; i < len; i += 1) {\n                layerData = layers[i];\n\n                if ('ks' in layerData && !layerData.completed) {\n                  layerData.completed = true;\n\n                  if (layerData.hasMask) {\n                    var maskProps = layerData.masksProperties;\n                    jLen = maskProps.length;\n\n                    for (j = 0; j < jLen; j += 1) {\n                      if (maskProps[j].pt.k.i) {\n                        convertPathsToAbsoluteValues(maskProps[j].pt.k);\n                      } else {\n                        kLen = maskProps[j].pt.k.length;\n\n                        for (k = 0; k < kLen; k += 1) {\n                          if (maskProps[j].pt.k[k].s) {\n                            convertPathsToAbsoluteValues(maskProps[j].pt.k[k].s[0]);\n                          }\n\n                          if (maskProps[j].pt.k[k].e) {\n                            convertPathsToAbsoluteValues(maskProps[j].pt.k[k].e[0]);\n                          }\n                        }\n                      }\n                    }\n                  }\n\n                  if (layerData.ty === 0) {\n                    layerData.layers = findCompLayers(layerData.refId, comps);\n                    completeLayers(layerData.layers, comps);\n                  } else if (layerData.ty === 4) {\n                    completeShapes(layerData.shapes);\n                  } else if (layerData.ty === 5) {\n                    completeText(layerData);\n                  }\n                }\n              }\n            }\n\n            function completeChars(chars, assets) {\n              if (chars) {\n                var i = 0;\n                var len = chars.length;\n\n                for (i = 0; i < len; i += 1) {\n                  if (chars[i].t === 1) {\n                    // var compData = findComp(chars[i].data.refId, assets);\n                    chars[i].data.layers = findCompLayers(chars[i].data.refId, assets); // chars[i].data.ip = 0;\n                    // chars[i].data.op = 99999;\n                    // chars[i].data.st = 0;\n                    // chars[i].data.sr = 1;\n                    // chars[i].w = compData.w;\n                    // chars[i].data.ks = {\n                    //   a: { k: [0, 0, 0], a: 0 },\n                    //   p: { k: [0, -compData.h, 0], a: 0 },\n                    //   r: { k: 0, a: 0 },\n                    //   s: { k: [100, 100], a: 0 },\n                    //   o: { k: 100, a: 0 },\n                    // };\n\n                    completeLayers(chars[i].data.layers, assets);\n                  }\n                }\n              }\n            }\n\n            function findComp(id, comps) {\n              var i = 0;\n              var len = comps.length;\n\n              while (i < len) {\n                if (comps[i].id === id) {\n                  return comps[i];\n                }\n\n                i += 1;\n              }\n\n              return null;\n            }\n\n            function findCompLayers(id, comps) {\n              var comp = findComp(id, comps);\n\n              if (comp) {\n                if (!comp.layers.__used) {\n                  comp.layers.__used = true;\n                  return comp.layers;\n                }\n\n                return JSON.parse(JSON.stringify(comp.layers));\n              }\n\n              return null;\n            }\n\n            function completeShapes(arr) {\n              var i;\n              var len = arr.length;\n              var j;\n              var jLen;\n\n              for (i = len - 1; i >= 0; i -= 1) {\n                if (arr[i].ty === 'sh') {\n                  if (arr[i].ks.k.i) {\n                    convertPathsToAbsoluteValues(arr[i].ks.k);\n                  } else {\n                    jLen = arr[i].ks.k.length;\n\n                    for (j = 0; j < jLen; j += 1) {\n                      if (arr[i].ks.k[j].s) {\n                        convertPathsToAbsoluteValues(arr[i].ks.k[j].s[0]);\n                      }\n\n                      if (arr[i].ks.k[j].e) {\n                        convertPathsToAbsoluteValues(arr[i].ks.k[j].e[0]);\n                      }\n                    }\n                  }\n                } else if (arr[i].ty === 'gr') {\n                  completeShapes(arr[i].it);\n                }\n              }\n            }\n\n            function convertPathsToAbsoluteValues(path) {\n              var i;\n              var len = path.i.length;\n\n              for (i = 0; i < len; i += 1) {\n                path.i[i][0] += path.v[i][0];\n                path.i[i][1] += path.v[i][1];\n                path.o[i][0] += path.v[i][0];\n                path.o[i][1] += path.v[i][1];\n              }\n            }\n\n            function checkVersion(minimum, animVersionString) {\n              var animVersion = animVersionString ? animVersionString.split('.') : [100, 100, 100];\n\n              if (minimum[0] > animVersion[0]) {\n                return true;\n              }\n\n              if (animVersion[0] > minimum[0]) {\n                return false;\n              }\n\n              if (minimum[1] > animVersion[1]) {\n                return true;\n              }\n\n              if (animVersion[1] > minimum[1]) {\n                return false;\n              }\n\n              if (minimum[2] > animVersion[2]) {\n                return true;\n              }\n\n              if (animVersion[2] > minimum[2]) {\n                return false;\n              }\n\n              return null;\n            }\n\n            var checkText = function () {\n              var minimumVersion = [4, 4, 14];\n\n              function updateTextLayer(textLayer) {\n                var documentData = textLayer.t.d;\n                textLayer.t.d = {\n                  k: [{\n                    s: documentData,\n                    t: 0\n                  }]\n                };\n              }\n\n              function iterateLayers(layers) {\n                var i;\n                var len = layers.length;\n\n                for (i = 0; i < len; i += 1) {\n                  if (layers[i].ty === 5) {\n                    updateTextLayer(layers[i]);\n                  }\n                }\n              }\n\n              return function (animationData) {\n                if (checkVersion(minimumVersion, animationData.v)) {\n                  iterateLayers(animationData.layers);\n\n                  if (animationData.assets) {\n                    var i;\n                    var len = animationData.assets.length;\n\n                    for (i = 0; i < len; i += 1) {\n                      if (animationData.assets[i].layers) {\n                        iterateLayers(animationData.assets[i].layers);\n                      }\n                    }\n                  }\n                }\n              };\n            }();\n\n            var checkChars = function () {\n              var minimumVersion = [4, 7, 99];\n              return function (animationData) {\n                if (animationData.chars && !checkVersion(minimumVersion, animationData.v)) {\n                  var i;\n                  var len = animationData.chars.length;\n\n                  for (i = 0; i < len; i += 1) {\n                    var charData = animationData.chars[i];\n\n                    if (charData.data && charData.data.shapes) {\n                      completeShapes(charData.data.shapes);\n                      charData.data.ip = 0;\n                      charData.data.op = 99999;\n                      charData.data.st = 0;\n                      charData.data.sr = 1;\n                      charData.data.ks = {\n                        p: {\n                          k: [0, 0],\n                          a: 0\n                        },\n                        s: {\n                          k: [100, 100],\n                          a: 0\n                        },\n                        a: {\n                          k: [0, 0],\n                          a: 0\n                        },\n                        r: {\n                          k: 0,\n                          a: 0\n                        },\n                        o: {\n                          k: 100,\n                          a: 0\n                        }\n                      };\n\n                      if (!animationData.chars[i].t) {\n                        charData.data.shapes.push({\n                          ty: 'no'\n                        });\n                        charData.data.shapes[0].it.push({\n                          p: {\n                            k: [0, 0],\n                            a: 0\n                          },\n                          s: {\n                            k: [100, 100],\n                            a: 0\n                          },\n                          a: {\n                            k: [0, 0],\n                            a: 0\n                          },\n                          r: {\n                            k: 0,\n                            a: 0\n                          },\n                          o: {\n                            k: 100,\n                            a: 0\n                          },\n                          sk: {\n                            k: 0,\n                            a: 0\n                          },\n                          sa: {\n                            k: 0,\n                            a: 0\n                          },\n                          ty: 'tr'\n                        });\n                      }\n                    }\n                  }\n                }\n              };\n            }();\n\n            var checkPathProperties = function () {\n              var minimumVersion = [5, 7, 15];\n\n              function updateTextLayer(textLayer) {\n                var pathData = textLayer.t.p;\n\n                if (typeof pathData.a === 'number') {\n                  pathData.a = {\n                    a: 0,\n                    k: pathData.a\n                  };\n                }\n\n                if (typeof pathData.p === 'number') {\n                  pathData.p = {\n                    a: 0,\n                    k: pathData.p\n                  };\n                }\n\n                if (typeof pathData.r === 'number') {\n                  pathData.r = {\n                    a: 0,\n                    k: pathData.r\n                  };\n                }\n              }\n\n              function iterateLayers(layers) {\n                var i;\n                var len = layers.length;\n\n                for (i = 0; i < len; i += 1) {\n                  if (layers[i].ty === 5) {\n                    updateTextLayer(layers[i]);\n                  }\n                }\n              }\n\n              return function (animationData) {\n                if (checkVersion(minimumVersion, animationData.v)) {\n                  iterateLayers(animationData.layers);\n\n                  if (animationData.assets) {\n                    var i;\n                    var len = animationData.assets.length;\n\n                    for (i = 0; i < len; i += 1) {\n                      if (animationData.assets[i].layers) {\n                        iterateLayers(animationData.assets[i].layers);\n                      }\n                    }\n                  }\n                }\n              };\n            }();\n\n            var checkColors = function () {\n              var minimumVersion = [4, 1, 9];\n\n              function iterateShapes(shapes) {\n                var i;\n                var len = shapes.length;\n                var j;\n                var jLen;\n\n                for (i = 0; i < len; i += 1) {\n                  if (shapes[i].ty === 'gr') {\n                    iterateShapes(shapes[i].it);\n                  } else if (shapes[i].ty === 'fl' || shapes[i].ty === 'st') {\n                    if (shapes[i].c.k && shapes[i].c.k[0].i) {\n                      jLen = shapes[i].c.k.length;\n\n                      for (j = 0; j < jLen; j += 1) {\n                        if (shapes[i].c.k[j].s) {\n                          shapes[i].c.k[j].s[0] /= 255;\n                          shapes[i].c.k[j].s[1] /= 255;\n                          shapes[i].c.k[j].s[2] /= 255;\n                          shapes[i].c.k[j].s[3] /= 255;\n                        }\n\n                        if (shapes[i].c.k[j].e) {\n                          shapes[i].c.k[j].e[0] /= 255;\n                          shapes[i].c.k[j].e[1] /= 255;\n                          shapes[i].c.k[j].e[2] /= 255;\n                          shapes[i].c.k[j].e[3] /= 255;\n                        }\n                      }\n                    } else {\n                      shapes[i].c.k[0] /= 255;\n                      shapes[i].c.k[1] /= 255;\n                      shapes[i].c.k[2] /= 255;\n                      shapes[i].c.k[3] /= 255;\n                    }\n                  }\n                }\n              }\n\n              function iterateLayers(layers) {\n                var i;\n                var len = layers.length;\n\n                for (i = 0; i < len; i += 1) {\n                  if (layers[i].ty === 4) {\n                    iterateShapes(layers[i].shapes);\n                  }\n                }\n              }\n\n              return function (animationData) {\n                if (checkVersion(minimumVersion, animationData.v)) {\n                  iterateLayers(animationData.layers);\n\n                  if (animationData.assets) {\n                    var i;\n                    var len = animationData.assets.length;\n\n                    for (i = 0; i < len; i += 1) {\n                      if (animationData.assets[i].layers) {\n                        iterateLayers(animationData.assets[i].layers);\n                      }\n                    }\n                  }\n                }\n              };\n            }();\n\n            var checkShapes = function () {\n              var minimumVersion = [4, 4, 18];\n\n              function completeClosingShapes(arr) {\n                var i;\n                var len = arr.length;\n                var j;\n                var jLen;\n\n                for (i = len - 1; i >= 0; i -= 1) {\n                  if (arr[i].ty === 'sh') {\n                    if (arr[i].ks.k.i) {\n                      arr[i].ks.k.c = arr[i].closed;\n                    } else {\n                      jLen = arr[i].ks.k.length;\n\n                      for (j = 0; j < jLen; j += 1) {\n                        if (arr[i].ks.k[j].s) {\n                          arr[i].ks.k[j].s[0].c = arr[i].closed;\n                        }\n\n                        if (arr[i].ks.k[j].e) {\n                          arr[i].ks.k[j].e[0].c = arr[i].closed;\n                        }\n                      }\n                    }\n                  } else if (arr[i].ty === 'gr') {\n                    completeClosingShapes(arr[i].it);\n                  }\n                }\n              }\n\n              function iterateLayers(layers) {\n                var layerData;\n                var i;\n                var len = layers.length;\n                var j;\n                var jLen;\n                var k;\n                var kLen;\n\n                for (i = 0; i < len; i += 1) {\n                  layerData = layers[i];\n\n                  if (layerData.hasMask) {\n                    var maskProps = layerData.masksProperties;\n                    jLen = maskProps.length;\n\n                    for (j = 0; j < jLen; j += 1) {\n                      if (maskProps[j].pt.k.i) {\n                        maskProps[j].pt.k.c = maskProps[j].cl;\n                      } else {\n                        kLen = maskProps[j].pt.k.length;\n\n                        for (k = 0; k < kLen; k += 1) {\n                          if (maskProps[j].pt.k[k].s) {\n                            maskProps[j].pt.k[k].s[0].c = maskProps[j].cl;\n                          }\n\n                          if (maskProps[j].pt.k[k].e) {\n                            maskProps[j].pt.k[k].e[0].c = maskProps[j].cl;\n                          }\n                        }\n                      }\n                    }\n                  }\n\n                  if (layerData.ty === 4) {\n                    completeClosingShapes(layerData.shapes);\n                  }\n                }\n              }\n\n              return function (animationData) {\n                if (checkVersion(minimumVersion, animationData.v)) {\n                  iterateLayers(animationData.layers);\n\n                  if (animationData.assets) {\n                    var i;\n                    var len = animationData.assets.length;\n\n                    for (i = 0; i < len; i += 1) {\n                      if (animationData.assets[i].layers) {\n                        iterateLayers(animationData.assets[i].layers);\n                      }\n                    }\n                  }\n                }\n              };\n            }();\n\n            function completeData(animationData) {\n              if (animationData.__complete) {\n                return;\n              }\n\n              checkColors(animationData);\n              checkText(animationData);\n              checkChars(animationData);\n              checkPathProperties(animationData);\n              checkShapes(animationData);\n              completeLayers(animationData.layers, animationData.assets);\n              completeChars(animationData.chars, animationData.assets);\n              animationData.__complete = true;\n            }\n\n            function completeText(data) {\n              if (data.t.a.length === 0 && !('m' in data.t.p)) {// data.singleShape = true;\n              }\n            }\n\n            var moduleOb = {};\n            moduleOb.completeData = completeData;\n            moduleOb.checkColors = checkColors;\n            moduleOb.checkChars = checkChars;\n            moduleOb.checkPathProperties = checkPathProperties;\n            moduleOb.checkShapes = checkShapes;\n            moduleOb.completeLayers = completeLayers;\n            return moduleOb;\n          }\n\n          if (!_workerSelf.dataManager) {\n            _workerSelf.dataManager = dataFunctionManager();\n          }\n\n          if (!_workerSelf.assetLoader) {\n            _workerSelf.assetLoader = function () {\n              function formatResponse(xhr) {\n                // using typeof doubles the time of execution of this method,\n                // so if available, it's better to use the header to validate the type\n                var contentTypeHeader = xhr.getResponseHeader('content-type');\n\n                if (contentTypeHeader && xhr.responseType === 'json' && contentTypeHeader.indexOf('json') !== -1) {\n                  return xhr.response;\n                }\n\n                if (xhr.response && _typeof$5(xhr.response) === 'object') {\n                  return xhr.response;\n                }\n\n                if (xhr.response && typeof xhr.response === 'string') {\n                  return JSON.parse(xhr.response);\n                }\n\n                if (xhr.responseText) {\n                  return JSON.parse(xhr.responseText);\n                }\n\n                return null;\n              }\n\n              function loadAsset(path, fullPath, callback, errorCallback) {\n                var response;\n                var xhr = new XMLHttpRequest(); // set responseType after calling open or IE will break.\n\n                try {\n                  // This crashes on Android WebView prior to KitKat\n                  xhr.responseType = 'json';\n                } catch (err) {} // eslint-disable-line no-empty\n\n\n                xhr.onreadystatechange = function () {\n                  if (xhr.readyState === 4) {\n                    if (xhr.status === 200) {\n                      response = formatResponse(xhr);\n                      callback(response);\n                    } else {\n                      try {\n                        response = formatResponse(xhr);\n                        callback(response);\n                      } catch (err) {\n                        if (errorCallback) {\n                          errorCallback(err);\n                        }\n                      }\n                    }\n                  }\n                };\n\n                try {\n                  // Hack to workaround banner validation\n                  xhr.open(['G', 'E', 'T'].join(''), path, true);\n                } catch (error) {\n                  // Hack to workaround banner validation\n                  xhr.open(['G', 'E', 'T'].join(''), fullPath + '/' + path, true);\n                }\n\n                xhr.send();\n              }\n\n              return {\n                load: loadAsset\n              };\n            }();\n          }\n\n          if (e.data.type === 'loadAnimation') {\n            _workerSelf.assetLoader.load(e.data.path, e.data.fullPath, function (data) {\n              _workerSelf.dataManager.completeData(data);\n\n              _workerSelf.postMessage({\n                id: e.data.id,\n                payload: data,\n                status: 'success'\n              });\n            }, function () {\n              _workerSelf.postMessage({\n                id: e.data.id,\n                status: 'error'\n              });\n            });\n          } else if (e.data.type === 'complete') {\n            var animation = e.data.animation;\n\n            _workerSelf.dataManager.completeData(animation);\n\n            _workerSelf.postMessage({\n              id: e.data.id,\n              payload: animation,\n              status: 'success'\n            });\n          } else if (e.data.type === 'loadData') {\n            _workerSelf.assetLoader.load(e.data.path, e.data.fullPath, function (data) {\n              _workerSelf.postMessage({\n                id: e.data.id,\n                payload: data,\n                status: 'success'\n              });\n            }, function () {\n              _workerSelf.postMessage({\n                id: e.data.id,\n                status: 'error'\n              });\n            });\n          }\n        });\n\n        workerInstance.onmessage = function (event) {\n          var data = event.data;\n          var id = data.id;\n          var process = processes[id];\n          processes[id] = null;\n\n          if (data.status === 'success') {\n            process.onComplete(data.payload);\n          } else if (process.onError) {\n            process.onError();\n          }\n        };\n      }\n    }\n\n    function createProcess(onComplete, onError) {\n      _counterId += 1;\n      var id = 'processId_' + _counterId;\n      processes[id] = {\n        onComplete: onComplete,\n        onError: onError\n      };\n      return id;\n    }\n\n    function loadAnimation(path, onComplete, onError) {\n      setupWorker();\n      var processId = createProcess(onComplete, onError);\n      workerInstance.postMessage({\n        type: 'loadAnimation',\n        path: path,\n        fullPath: window.location.origin + window.location.pathname,\n        id: processId\n      });\n    }\n\n    function loadData(path, onComplete, onError) {\n      setupWorker();\n      var processId = createProcess(onComplete, onError);\n      workerInstance.postMessage({\n        type: 'loadData',\n        path: path,\n        fullPath: window.location.origin + window.location.pathname,\n        id: processId\n      });\n    }\n\n    function completeAnimation(anim, onComplete, onError) {\n      setupWorker();\n      var processId = createProcess(onComplete, onError);\n      workerInstance.postMessage({\n        type: 'complete',\n        animation: anim,\n        id: processId\n      });\n    }\n\n    return {\n      loadAnimation: loadAnimation,\n      loadData: loadData,\n      completeAnimation: completeAnimation\n    };\n  }();\n\n  var ImagePreloader = function () {\n    var proxyImage = function () {\n      var canvas = createTag('canvas');\n      canvas.width = 1;\n      canvas.height = 1;\n      var ctx = canvas.getContext('2d');\n      ctx.fillStyle = 'rgba(0,0,0,0)';\n      ctx.fillRect(0, 0, 1, 1);\n      return canvas;\n    }();\n\n    function imageLoaded() {\n      this.loadedAssets += 1;\n\n      if (this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages) {\n        if (this.imagesLoadedCb) {\n          this.imagesLoadedCb(null);\n        }\n      }\n    }\n\n    function footageLoaded() {\n      this.loadedFootagesCount += 1;\n\n      if (this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages) {\n        if (this.imagesLoadedCb) {\n          this.imagesLoadedCb(null);\n        }\n      }\n    }\n\n    function getAssetsPath(assetData, assetsPath, originalPath) {\n      var path = '';\n\n      if (assetData.e) {\n        path = assetData.p;\n      } else if (assetsPath) {\n        var imagePath = assetData.p;\n\n        if (imagePath.indexOf('images/') !== -1) {\n          imagePath = imagePath.split('/')[1];\n        }\n\n        path = assetsPath + imagePath;\n      } else {\n        path = originalPath;\n        path += assetData.u ? assetData.u : '';\n        path += assetData.p;\n      }\n\n      return path;\n    }\n\n    function testImageLoaded(img) {\n      var _count = 0;\n      var intervalId = setInterval(function () {\n        var box = img.getBBox();\n\n        if (box.width || _count > 500) {\n          this._imageLoaded();\n\n          clearInterval(intervalId);\n        }\n\n        _count += 1;\n      }.bind(this), 50);\n    }\n\n    function createImageData(assetData) {\n      var path = getAssetsPath(assetData, this.assetsPath, this.path);\n      var img = createNS('image');\n\n      if (isSafari) {\n        this.testImageLoaded(img);\n      } else {\n        img.addEventListener('load', this._imageLoaded, false);\n      }\n\n      img.addEventListener('error', function () {\n        ob.img = proxyImage;\n\n        this._imageLoaded();\n      }.bind(this), false);\n      img.setAttributeNS('http://www.w3.org/1999/xlink', 'href', path);\n\n      if (this._elementHelper.append) {\n        this._elementHelper.append(img);\n      } else {\n        this._elementHelper.appendChild(img);\n      }\n\n      var ob = {\n        img: img,\n        assetData: assetData\n      };\n      return ob;\n    }\n\n    function createImgData(assetData) {\n      var path = getAssetsPath(assetData, this.assetsPath, this.path);\n      var img = createTag('img');\n      img.crossOrigin = 'anonymous';\n      img.addEventListener('load', this._imageLoaded, false);\n      img.addEventListener('error', function () {\n        ob.img = proxyImage;\n\n        this._imageLoaded();\n      }.bind(this), false);\n      img.src = path;\n      var ob = {\n        img: img,\n        assetData: assetData\n      };\n      return ob;\n    }\n\n    function createFootageData(data) {\n      var ob = {\n        assetData: data\n      };\n      var path = getAssetsPath(data, this.assetsPath, this.path);\n      dataManager.loadData(path, function (footageData) {\n        ob.img = footageData;\n\n        this._footageLoaded();\n      }.bind(this), function () {\n        ob.img = {};\n\n        this._footageLoaded();\n      }.bind(this));\n      return ob;\n    }\n\n    function loadAssets(assets, cb) {\n      this.imagesLoadedCb = cb;\n      var i;\n      var len = assets.length;\n\n      for (i = 0; i < len; i += 1) {\n        if (!assets[i].layers) {\n          if (!assets[i].t || assets[i].t === 'seq') {\n            this.totalImages += 1;\n            this.images.push(this._createImageData(assets[i]));\n          } else if (assets[i].t === 3) {\n            this.totalFootages += 1;\n            this.images.push(this.createFootageData(assets[i]));\n          }\n        }\n      }\n    }\n\n    function setPath(path) {\n      this.path = path || '';\n    }\n\n    function setAssetsPath(path) {\n      this.assetsPath = path || '';\n    }\n\n    function getAsset(assetData) {\n      var i = 0;\n      var len = this.images.length;\n\n      while (i < len) {\n        if (this.images[i].assetData === assetData) {\n          return this.images[i].img;\n        }\n\n        i += 1;\n      }\n\n      return null;\n    }\n\n    function destroy() {\n      this.imagesLoadedCb = null;\n      this.images.length = 0;\n    }\n\n    function loadedImages() {\n      return this.totalImages === this.loadedAssets;\n    }\n\n    function loadedFootages() {\n      return this.totalFootages === this.loadedFootagesCount;\n    }\n\n    function setCacheType(type, elementHelper) {\n      if (type === 'svg') {\n        this._elementHelper = elementHelper;\n        this._createImageData = this.createImageData.bind(this);\n      } else {\n        this._createImageData = this.createImgData.bind(this);\n      }\n    }\n\n    function ImagePreloaderFactory() {\n      this._imageLoaded = imageLoaded.bind(this);\n      this._footageLoaded = footageLoaded.bind(this);\n      this.testImageLoaded = testImageLoaded.bind(this);\n      this.createFootageData = createFootageData.bind(this);\n      this.assetsPath = '';\n      this.path = '';\n      this.totalImages = 0;\n      this.totalFootages = 0;\n      this.loadedAssets = 0;\n      this.loadedFootagesCount = 0;\n      this.imagesLoadedCb = null;\n      this.images = [];\n    }\n\n    ImagePreloaderFactory.prototype = {\n      loadAssets: loadAssets,\n      setAssetsPath: setAssetsPath,\n      setPath: setPath,\n      loadedImages: loadedImages,\n      loadedFootages: loadedFootages,\n      destroy: destroy,\n      getAsset: getAsset,\n      createImgData: createImgData,\n      createImageData: createImageData,\n      imageLoaded: imageLoaded,\n      footageLoaded: footageLoaded,\n      setCacheType: setCacheType\n    };\n    return ImagePreloaderFactory;\n  }();\n\n  function BaseEvent() {}\n\n  BaseEvent.prototype = {\n    triggerEvent: function triggerEvent(eventName, args) {\n      if (this._cbs[eventName]) {\n        var callbacks = this._cbs[eventName];\n\n        for (var i = 0; i < callbacks.length; i += 1) {\n          callbacks[i](args);\n        }\n      }\n    },\n    addEventListener: function addEventListener(eventName, callback) {\n      if (!this._cbs[eventName]) {\n        this._cbs[eventName] = [];\n      }\n\n      this._cbs[eventName].push(callback);\n\n      return function () {\n        this.removeEventListener(eventName, callback);\n      }.bind(this);\n    },\n    removeEventListener: function removeEventListener(eventName, callback) {\n      if (!callback) {\n        this._cbs[eventName] = null;\n      } else if (this._cbs[eventName]) {\n        var i = 0;\n        var len = this._cbs[eventName].length;\n\n        while (i < len) {\n          if (this._cbs[eventName][i] === callback) {\n            this._cbs[eventName].splice(i, 1);\n\n            i -= 1;\n            len -= 1;\n          }\n\n          i += 1;\n        }\n\n        if (!this._cbs[eventName].length) {\n          this._cbs[eventName] = null;\n        }\n      }\n    }\n  };\n\n  var markerParser = function () {\n    function parsePayloadLines(payload) {\n      var lines = payload.split('\\r\\n');\n      var keys = {};\n      var line;\n      var keysCount = 0;\n\n      for (var i = 0; i < lines.length; i += 1) {\n        line = lines[i].split(':');\n\n        if (line.length === 2) {\n          keys[line[0]] = line[1].trim();\n          keysCount += 1;\n        }\n      }\n\n      if (keysCount === 0) {\n        throw new Error();\n      }\n\n      return keys;\n    }\n\n    return function (_markers) {\n      var markers = [];\n\n      for (var i = 0; i < _markers.length; i += 1) {\n        var _marker = _markers[i];\n        var markerData = {\n          time: _marker.tm,\n          duration: _marker.dr\n        };\n\n        try {\n          markerData.payload = JSON.parse(_markers[i].cm);\n        } catch (_) {\n          try {\n            markerData.payload = parsePayloadLines(_markers[i].cm);\n          } catch (__) {\n            markerData.payload = {\n              name: _markers[i].cm\n            };\n          }\n        }\n\n        markers.push(markerData);\n      }\n\n      return markers;\n    };\n  }();\n\n  var ProjectInterface = function () {\n    function registerComposition(comp) {\n      this.compositions.push(comp);\n    }\n\n    return function () {\n      function _thisProjectFunction(name) {\n        var i = 0;\n        var len = this.compositions.length;\n\n        while (i < len) {\n          if (this.compositions[i].data && this.compositions[i].data.nm === name) {\n            if (this.compositions[i].prepareFrame && this.compositions[i].data.xt) {\n              this.compositions[i].prepareFrame(this.currentFrame);\n            }\n\n            return this.compositions[i].compInterface;\n          }\n\n          i += 1;\n        }\n\n        return null;\n      }\n\n      _thisProjectFunction.compositions = [];\n      _thisProjectFunction.currentFrame = 0;\n      _thisProjectFunction.registerComposition = registerComposition;\n      return _thisProjectFunction;\n    };\n  }();\n\n  var renderers = {};\n\n  var registerRenderer = function registerRenderer(key, value) {\n    renderers[key] = value;\n  };\n\n  function getRenderer(key) {\n    return renderers[key];\n  }\n\n  function getRegisteredRenderer() {\n    // Returns canvas by default for compatibility\n    if (renderers.canvas) {\n      return 'canvas';\n    } // Returns any renderer that is registered\n\n\n    for (var key in renderers) {\n      if (renderers[key]) {\n        return key;\n      }\n    }\n\n    return '';\n  }\n\n  function _typeof$4(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$4 = function _typeof(obj) { return typeof obj; }; } else { _typeof$4 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$4(obj); }\n\n  var AnimationItem = function AnimationItem() {\n    this._cbs = [];\n    this.name = '';\n    this.path = '';\n    this.isLoaded = false;\n    this.currentFrame = 0;\n    this.currentRawFrame = 0;\n    this.firstFrame = 0;\n    this.totalFrames = 0;\n    this.frameRate = 0;\n    this.frameMult = 0;\n    this.playSpeed = 1;\n    this.playDirection = 1;\n    this.playCount = 0;\n    this.animationData = {};\n    this.assets = [];\n    this.isPaused = true;\n    this.autoplay = false;\n    this.loop = true;\n    this.renderer = null;\n    this.animationID = createElementID();\n    this.assetsPath = '';\n    this.timeCompleted = 0;\n    this.segmentPos = 0;\n    this.isSubframeEnabled = getSubframeEnabled();\n    this.segments = [];\n    this._idle = true;\n    this._completedLoop = false;\n    this.projectInterface = ProjectInterface();\n    this.imagePreloader = new ImagePreloader();\n    this.audioController = audioControllerFactory();\n    this.markers = [];\n    this.configAnimation = this.configAnimation.bind(this);\n    this.onSetupError = this.onSetupError.bind(this);\n    this.onSegmentComplete = this.onSegmentComplete.bind(this);\n    this.drawnFrameEvent = new BMEnterFrameEvent('drawnFrame', 0, 0, 0);\n    this.expressionsPlugin = getExpressionsPlugin();\n  };\n\n  extendPrototype([BaseEvent], AnimationItem);\n\n  AnimationItem.prototype.setParams = function (params) {\n    if (params.wrapper || params.container) {\n      this.wrapper = params.wrapper || params.container;\n    }\n\n    var animType = 'svg';\n\n    if (params.animType) {\n      animType = params.animType;\n    } else if (params.renderer) {\n      animType = params.renderer;\n    }\n\n    var RendererClass = getRenderer(animType);\n    this.renderer = new RendererClass(this, params.rendererSettings);\n    this.imagePreloader.setCacheType(animType, this.renderer.globalData.defs);\n    this.renderer.setProjectInterface(this.projectInterface);\n    this.animType = animType;\n\n    if (params.loop === '' || params.loop === null || params.loop === undefined || params.loop === true) {\n      this.loop = true;\n    } else if (params.loop === false) {\n      this.loop = false;\n    } else {\n      this.loop = parseInt(params.loop, 10);\n    }\n\n    this.autoplay = 'autoplay' in params ? params.autoplay : true;\n    this.name = params.name ? params.name : '';\n    this.autoloadSegments = Object.prototype.hasOwnProperty.call(params, 'autoloadSegments') ? params.autoloadSegments : true;\n    this.assetsPath = params.assetsPath;\n    this.initialSegment = params.initialSegment;\n\n    if (params.audioFactory) {\n      this.audioController.setAudioFactory(params.audioFactory);\n    }\n\n    if (params.animationData) {\n      this.setupAnimation(params.animationData);\n    } else if (params.path) {\n      if (params.path.lastIndexOf('\\\\') !== -1) {\n        this.path = params.path.substr(0, params.path.lastIndexOf('\\\\') + 1);\n      } else {\n        this.path = params.path.substr(0, params.path.lastIndexOf('/') + 1);\n      }\n\n      this.fileName = params.path.substr(params.path.lastIndexOf('/') + 1);\n      this.fileName = this.fileName.substr(0, this.fileName.lastIndexOf('.json'));\n      dataManager.loadAnimation(params.path, this.configAnimation, this.onSetupError);\n    }\n  };\n\n  AnimationItem.prototype.onSetupError = function () {\n    this.trigger('data_failed');\n  };\n\n  AnimationItem.prototype.setupAnimation = function (data) {\n    dataManager.completeAnimation(data, this.configAnimation);\n  };\n\n  AnimationItem.prototype.setData = function (wrapper, animationData) {\n    if (animationData) {\n      if (_typeof$4(animationData) !== 'object') {\n        animationData = JSON.parse(animationData);\n      }\n    }\n\n    var params = {\n      wrapper: wrapper,\n      animationData: animationData\n    };\n    var wrapperAttributes = wrapper.attributes;\n    params.path = wrapperAttributes.getNamedItem('data-animation-path') // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem('data-animation-path').value : wrapperAttributes.getNamedItem('data-bm-path') // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem('data-bm-path').value : wrapperAttributes.getNamedItem('bm-path') ? wrapperAttributes.getNamedItem('bm-path').value : '';\n    params.animType = wrapperAttributes.getNamedItem('data-anim-type') // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem('data-anim-type').value : wrapperAttributes.getNamedItem('data-bm-type') // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem('data-bm-type').value : wrapperAttributes.getNamedItem('bm-type') // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem('bm-type').value : wrapperAttributes.getNamedItem('data-bm-renderer') // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem('data-bm-renderer').value : wrapperAttributes.getNamedItem('bm-renderer') ? wrapperAttributes.getNamedItem('bm-renderer').value : getRegisteredRenderer() || 'canvas';\n    var loop = wrapperAttributes.getNamedItem('data-anim-loop') // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem('data-anim-loop').value : wrapperAttributes.getNamedItem('data-bm-loop') // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem('data-bm-loop').value : wrapperAttributes.getNamedItem('bm-loop') ? wrapperAttributes.getNamedItem('bm-loop').value : '';\n\n    if (loop === 'false') {\n      params.loop = false;\n    } else if (loop === 'true') {\n      params.loop = true;\n    } else if (loop !== '') {\n      params.loop = parseInt(loop, 10);\n    }\n\n    var autoplay = wrapperAttributes.getNamedItem('data-anim-autoplay') // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem('data-anim-autoplay').value : wrapperAttributes.getNamedItem('data-bm-autoplay') // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem('data-bm-autoplay').value : wrapperAttributes.getNamedItem('bm-autoplay') ? wrapperAttributes.getNamedItem('bm-autoplay').value : true;\n    params.autoplay = autoplay !== 'false';\n    params.name = wrapperAttributes.getNamedItem('data-name') // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem('data-name').value : wrapperAttributes.getNamedItem('data-bm-name') // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem('data-bm-name').value : wrapperAttributes.getNamedItem('bm-name') ? wrapperAttributes.getNamedItem('bm-name').value : '';\n    var prerender = wrapperAttributes.getNamedItem('data-anim-prerender') // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem('data-anim-prerender').value : wrapperAttributes.getNamedItem('data-bm-prerender') // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem('data-bm-prerender').value : wrapperAttributes.getNamedItem('bm-prerender') ? wrapperAttributes.getNamedItem('bm-prerender').value : '';\n\n    if (prerender === 'false') {\n      params.prerender = false;\n    }\n\n    if (!params.path) {\n      this.trigger('destroy');\n    } else {\n      this.setParams(params);\n    }\n  };\n\n  AnimationItem.prototype.includeLayers = function (data) {\n    if (data.op > this.animationData.op) {\n      this.animationData.op = data.op;\n      this.totalFrames = Math.floor(data.op - this.animationData.ip);\n    }\n\n    var layers = this.animationData.layers;\n    var i;\n    var len = layers.length;\n    var newLayers = data.layers;\n    var j;\n    var jLen = newLayers.length;\n\n    for (j = 0; j < jLen; j += 1) {\n      i = 0;\n\n      while (i < len) {\n        if (layers[i].id === newLayers[j].id) {\n          layers[i] = newLayers[j];\n          break;\n        }\n\n        i += 1;\n      }\n    }\n\n    if (data.chars || data.fonts) {\n      this.renderer.globalData.fontManager.addChars(data.chars);\n      this.renderer.globalData.fontManager.addFonts(data.fonts, this.renderer.globalData.defs);\n    }\n\n    if (data.assets) {\n      len = data.assets.length;\n\n      for (i = 0; i < len; i += 1) {\n        this.animationData.assets.push(data.assets[i]);\n      }\n    }\n\n    this.animationData.__complete = false;\n    dataManager.completeAnimation(this.animationData, this.onSegmentComplete);\n  };\n\n  AnimationItem.prototype.onSegmentComplete = function (data) {\n    this.animationData = data;\n    var expressionsPlugin = getExpressionsPlugin();\n\n    if (expressionsPlugin) {\n      expressionsPlugin.initExpressions(this);\n    }\n\n    this.loadNextSegment();\n  };\n\n  AnimationItem.prototype.loadNextSegment = function () {\n    var segments = this.animationData.segments;\n\n    if (!segments || segments.length === 0 || !this.autoloadSegments) {\n      this.trigger('data_ready');\n      this.timeCompleted = this.totalFrames;\n      return;\n    }\n\n    var segment = segments.shift();\n    this.timeCompleted = segment.time * this.frameRate;\n    var segmentPath = this.path + this.fileName + '_' + this.segmentPos + '.json';\n    this.segmentPos += 1;\n    dataManager.loadData(segmentPath, this.includeLayers.bind(this), function () {\n      this.trigger('data_failed');\n    }.bind(this));\n  };\n\n  AnimationItem.prototype.loadSegments = function () {\n    var segments = this.animationData.segments;\n\n    if (!segments) {\n      this.timeCompleted = this.totalFrames;\n    }\n\n    this.loadNextSegment();\n  };\n\n  AnimationItem.prototype.imagesLoaded = function () {\n    this.trigger('loaded_images');\n    this.checkLoaded();\n  };\n\n  AnimationItem.prototype.preloadImages = function () {\n    this.imagePreloader.setAssetsPath(this.assetsPath);\n    this.imagePreloader.setPath(this.path);\n    this.imagePreloader.loadAssets(this.animationData.assets, this.imagesLoaded.bind(this));\n  };\n\n  AnimationItem.prototype.configAnimation = function (animData) {\n    if (!this.renderer) {\n      return;\n    }\n\n    try {\n      this.animationData = animData;\n\n      if (this.initialSegment) {\n        this.totalFrames = Math.floor(this.initialSegment[1] - this.initialSegment[0]);\n        this.firstFrame = Math.round(this.initialSegment[0]);\n      } else {\n        this.totalFrames = Math.floor(this.animationData.op - this.animationData.ip);\n        this.firstFrame = Math.round(this.animationData.ip);\n      }\n\n      this.renderer.configAnimation(animData);\n\n      if (!animData.assets) {\n        animData.assets = [];\n      }\n\n      this.assets = this.animationData.assets;\n      this.frameRate = this.animationData.fr;\n      this.frameMult = this.animationData.fr / 1000;\n      this.renderer.searchExtraCompositions(animData.assets);\n      this.markers = markerParser(animData.markers || []);\n      this.trigger('config_ready');\n      this.preloadImages();\n      this.loadSegments();\n      this.updaFrameModifier();\n      this.waitForFontsLoaded();\n\n      if (this.isPaused) {\n        this.audioController.pause();\n      }\n    } catch (error) {\n      this.triggerConfigError(error);\n    }\n  };\n\n  AnimationItem.prototype.waitForFontsLoaded = function () {\n    if (!this.renderer) {\n      return;\n    }\n\n    if (this.renderer.globalData.fontManager.isLoaded) {\n      this.checkLoaded();\n    } else {\n      setTimeout(this.waitForFontsLoaded.bind(this), 20);\n    }\n  };\n\n  AnimationItem.prototype.checkLoaded = function () {\n    if (!this.isLoaded && this.renderer.globalData.fontManager.isLoaded && (this.imagePreloader.loadedImages() || this.renderer.rendererType !== 'canvas') && this.imagePreloader.loadedFootages()) {\n      this.isLoaded = true;\n      var expressionsPlugin = getExpressionsPlugin();\n\n      if (expressionsPlugin) {\n        expressionsPlugin.initExpressions(this);\n      }\n\n      this.renderer.initItems();\n      setTimeout(function () {\n        this.trigger('DOMLoaded');\n      }.bind(this), 0);\n      this.gotoFrame();\n\n      if (this.autoplay) {\n        this.play();\n      }\n    }\n  };\n\n  AnimationItem.prototype.resize = function (width, height) {\n    // Adding this validation for backwards compatibility in case an event object was being passed down\n    var _width = typeof width === 'number' ? width : undefined;\n\n    var _height = typeof height === 'number' ? height : undefined;\n\n    this.renderer.updateContainerSize(_width, _height);\n  };\n\n  AnimationItem.prototype.setSubframe = function (flag) {\n    this.isSubframeEnabled = !!flag;\n  };\n\n  AnimationItem.prototype.gotoFrame = function () {\n    this.currentFrame = this.isSubframeEnabled ? this.currentRawFrame : ~~this.currentRawFrame; // eslint-disable-line no-bitwise\n\n    if (this.timeCompleted !== this.totalFrames && this.currentFrame > this.timeCompleted) {\n      this.currentFrame = this.timeCompleted;\n    }\n\n    this.trigger('enterFrame');\n    this.renderFrame();\n    this.trigger('drawnFrame');\n  };\n\n  AnimationItem.prototype.renderFrame = function () {\n    if (this.isLoaded === false || !this.renderer) {\n      return;\n    }\n\n    try {\n      if (this.expressionsPlugin) {\n        this.expressionsPlugin.resetFrame();\n      }\n\n      this.renderer.renderFrame(this.currentFrame + this.firstFrame);\n    } catch (error) {\n      this.triggerRenderFrameError(error);\n    }\n  };\n\n  AnimationItem.prototype.play = function (name) {\n    if (name && this.name !== name) {\n      return;\n    }\n\n    if (this.isPaused === true) {\n      this.isPaused = false;\n      this.trigger('_play');\n      this.audioController.resume();\n\n      if (this._idle) {\n        this._idle = false;\n        this.trigger('_active');\n      }\n    }\n  };\n\n  AnimationItem.prototype.pause = function (name) {\n    if (name && this.name !== name) {\n      return;\n    }\n\n    if (this.isPaused === false) {\n      this.isPaused = true;\n      this.trigger('_pause');\n      this._idle = true;\n      this.trigger('_idle');\n      this.audioController.pause();\n    }\n  };\n\n  AnimationItem.prototype.togglePause = function (name) {\n    if (name && this.name !== name) {\n      return;\n    }\n\n    if (this.isPaused === true) {\n      this.play();\n    } else {\n      this.pause();\n    }\n  };\n\n  AnimationItem.prototype.stop = function (name) {\n    if (name && this.name !== name) {\n      return;\n    }\n\n    this.pause();\n    this.playCount = 0;\n    this._completedLoop = false;\n    this.setCurrentRawFrameValue(0);\n  };\n\n  AnimationItem.prototype.getMarkerData = function (markerName) {\n    var marker;\n\n    for (var i = 0; i < this.markers.length; i += 1) {\n      marker = this.markers[i];\n\n      if (marker.payload && marker.payload.name === markerName) {\n        return marker;\n      }\n    }\n\n    return null;\n  };\n\n  AnimationItem.prototype.goToAndStop = function (value, isFrame, name) {\n    if (name && this.name !== name) {\n      return;\n    }\n\n    var numValue = Number(value);\n\n    if (isNaN(numValue)) {\n      var marker = this.getMarkerData(value);\n\n      if (marker) {\n        this.goToAndStop(marker.time, true);\n      }\n    } else if (isFrame) {\n      this.setCurrentRawFrameValue(value);\n    } else {\n      this.setCurrentRawFrameValue(value * this.frameModifier);\n    }\n\n    this.pause();\n  };\n\n  AnimationItem.prototype.goToAndPlay = function (value, isFrame, name) {\n    if (name && this.name !== name) {\n      return;\n    }\n\n    var numValue = Number(value);\n\n    if (isNaN(numValue)) {\n      var marker = this.getMarkerData(value);\n\n      if (marker) {\n        if (!marker.duration) {\n          this.goToAndStop(marker.time, true);\n        } else {\n          this.playSegments([marker.time, marker.time + marker.duration], true);\n        }\n      }\n    } else {\n      this.goToAndStop(numValue, isFrame, name);\n    }\n\n    this.play();\n  };\n\n  AnimationItem.prototype.advanceTime = function (value) {\n    if (this.isPaused === true || this.isLoaded === false) {\n      return;\n    }\n\n    var nextValue = this.currentRawFrame + value * this.frameModifier;\n    var _isComplete = false; // Checking if nextValue > totalFrames - 1 for addressing non looping and looping animations.\n    // If animation won't loop, it should stop at totalFrames - 1. If it will loop it should complete the last frame and then loop.\n\n    if (nextValue >= this.totalFrames - 1 && this.frameModifier > 0) {\n      if (!this.loop || this.playCount === this.loop) {\n        if (!this.checkSegments(nextValue > this.totalFrames ? nextValue % this.totalFrames : 0)) {\n          _isComplete = true;\n          nextValue = this.totalFrames - 1;\n        }\n      } else if (nextValue >= this.totalFrames) {\n        this.playCount += 1;\n\n        if (!this.checkSegments(nextValue % this.totalFrames)) {\n          this.setCurrentRawFrameValue(nextValue % this.totalFrames);\n          this._completedLoop = true;\n          this.trigger('loopComplete');\n        }\n      } else {\n        this.setCurrentRawFrameValue(nextValue);\n      }\n    } else if (nextValue < 0) {\n      if (!this.checkSegments(nextValue % this.totalFrames)) {\n        if (this.loop && !(this.playCount-- <= 0 && this.loop !== true)) {\n          // eslint-disable-line no-plusplus\n          this.setCurrentRawFrameValue(this.totalFrames + nextValue % this.totalFrames);\n\n          if (!this._completedLoop) {\n            this._completedLoop = true;\n          } else {\n            this.trigger('loopComplete');\n          }\n        } else {\n          _isComplete = true;\n          nextValue = 0;\n        }\n      }\n    } else {\n      this.setCurrentRawFrameValue(nextValue);\n    }\n\n    if (_isComplete) {\n      this.setCurrentRawFrameValue(nextValue);\n      this.pause();\n      this.trigger('complete');\n    }\n  };\n\n  AnimationItem.prototype.adjustSegment = function (arr, offset) {\n    this.playCount = 0;\n\n    if (arr[1] < arr[0]) {\n      if (this.frameModifier > 0) {\n        if (this.playSpeed < 0) {\n          this.setSpeed(-this.playSpeed);\n        } else {\n          this.setDirection(-1);\n        }\n      }\n\n      this.totalFrames = arr[0] - arr[1];\n      this.timeCompleted = this.totalFrames;\n      this.firstFrame = arr[1];\n      this.setCurrentRawFrameValue(this.totalFrames - 0.001 - offset);\n    } else if (arr[1] > arr[0]) {\n      if (this.frameModifier < 0) {\n        if (this.playSpeed < 0) {\n          this.setSpeed(-this.playSpeed);\n        } else {\n          this.setDirection(1);\n        }\n      }\n\n      this.totalFrames = arr[1] - arr[0];\n      this.timeCompleted = this.totalFrames;\n      this.firstFrame = arr[0];\n      this.setCurrentRawFrameValue(0.001 + offset);\n    }\n\n    this.trigger('segmentStart');\n  };\n\n  AnimationItem.prototype.setSegment = function (init, end) {\n    var pendingFrame = -1;\n\n    if (this.isPaused) {\n      if (this.currentRawFrame + this.firstFrame < init) {\n        pendingFrame = init;\n      } else if (this.currentRawFrame + this.firstFrame > end) {\n        pendingFrame = end - init;\n      }\n    }\n\n    this.firstFrame = init;\n    this.totalFrames = end - init;\n    this.timeCompleted = this.totalFrames;\n\n    if (pendingFrame !== -1) {\n      this.goToAndStop(pendingFrame, true);\n    }\n  };\n\n  AnimationItem.prototype.playSegments = function (arr, forceFlag) {\n    if (forceFlag) {\n      this.segments.length = 0;\n    }\n\n    if (_typeof$4(arr[0]) === 'object') {\n      var i;\n      var len = arr.length;\n\n      for (i = 0; i < len; i += 1) {\n        this.segments.push(arr[i]);\n      }\n    } else {\n      this.segments.push(arr);\n    }\n\n    if (this.segments.length && forceFlag) {\n      this.adjustSegment(this.segments.shift(), 0);\n    }\n\n    if (this.isPaused) {\n      this.play();\n    }\n  };\n\n  AnimationItem.prototype.resetSegments = function (forceFlag) {\n    this.segments.length = 0;\n    this.segments.push([this.animationData.ip, this.animationData.op]);\n\n    if (forceFlag) {\n      this.checkSegments(0);\n    }\n  };\n\n  AnimationItem.prototype.checkSegments = function (offset) {\n    if (this.segments.length) {\n      this.adjustSegment(this.segments.shift(), offset);\n      return true;\n    }\n\n    return false;\n  };\n\n  AnimationItem.prototype.destroy = function (name) {\n    if (name && this.name !== name || !this.renderer) {\n      return;\n    }\n\n    this.renderer.destroy();\n    this.imagePreloader.destroy();\n    this.trigger('destroy');\n    this._cbs = null;\n    this.onEnterFrame = null;\n    this.onLoopComplete = null;\n    this.onComplete = null;\n    this.onSegmentStart = null;\n    this.onDestroy = null;\n    this.renderer = null;\n    this.expressionsPlugin = null;\n    this.imagePreloader = null;\n    this.projectInterface = null;\n  };\n\n  AnimationItem.prototype.setCurrentRawFrameValue = function (value) {\n    this.currentRawFrame = value;\n    this.gotoFrame();\n  };\n\n  AnimationItem.prototype.setSpeed = function (val) {\n    this.playSpeed = val;\n    this.updaFrameModifier();\n  };\n\n  AnimationItem.prototype.setDirection = function (val) {\n    this.playDirection = val < 0 ? -1 : 1;\n    this.updaFrameModifier();\n  };\n\n  AnimationItem.prototype.setLoop = function (isLooping) {\n    this.loop = isLooping;\n  };\n\n  AnimationItem.prototype.setVolume = function (val, name) {\n    if (name && this.name !== name) {\n      return;\n    }\n\n    this.audioController.setVolume(val);\n  };\n\n  AnimationItem.prototype.getVolume = function () {\n    return this.audioController.getVolume();\n  };\n\n  AnimationItem.prototype.mute = function (name) {\n    if (name && this.name !== name) {\n      return;\n    }\n\n    this.audioController.mute();\n  };\n\n  AnimationItem.prototype.unmute = function (name) {\n    if (name && this.name !== name) {\n      return;\n    }\n\n    this.audioController.unmute();\n  };\n\n  AnimationItem.prototype.updaFrameModifier = function () {\n    this.frameModifier = this.frameMult * this.playSpeed * this.playDirection;\n    this.audioController.setRate(this.playSpeed * this.playDirection);\n  };\n\n  AnimationItem.prototype.getPath = function () {\n    return this.path;\n  };\n\n  AnimationItem.prototype.getAssetsPath = function (assetData) {\n    var path = '';\n\n    if (assetData.e) {\n      path = assetData.p;\n    } else if (this.assetsPath) {\n      var imagePath = assetData.p;\n\n      if (imagePath.indexOf('images/') !== -1) {\n        imagePath = imagePath.split('/')[1];\n      }\n\n      path = this.assetsPath + imagePath;\n    } else {\n      path = this.path;\n      path += assetData.u ? assetData.u : '';\n      path += assetData.p;\n    }\n\n    return path;\n  };\n\n  AnimationItem.prototype.getAssetData = function (id) {\n    var i = 0;\n    var len = this.assets.length;\n\n    while (i < len) {\n      if (id === this.assets[i].id) {\n        return this.assets[i];\n      }\n\n      i += 1;\n    }\n\n    return null;\n  };\n\n  AnimationItem.prototype.hide = function () {\n    this.renderer.hide();\n  };\n\n  AnimationItem.prototype.show = function () {\n    this.renderer.show();\n  };\n\n  AnimationItem.prototype.getDuration = function (isFrame) {\n    return isFrame ? this.totalFrames : this.totalFrames / this.frameRate;\n  };\n\n  AnimationItem.prototype.updateDocumentData = function (path, documentData, index) {\n    try {\n      var element = this.renderer.getElementByPath(path);\n      element.updateDocumentData(documentData, index);\n    } catch (error) {// TODO: decide how to handle catch case\n    }\n  };\n\n  AnimationItem.prototype.trigger = function (name) {\n    if (this._cbs && this._cbs[name]) {\n      switch (name) {\n        case 'enterFrame':\n          this.triggerEvent(name, new BMEnterFrameEvent(name, this.currentFrame, this.totalFrames, this.frameModifier));\n          break;\n\n        case 'drawnFrame':\n          this.drawnFrameEvent.currentTime = this.currentFrame;\n          this.drawnFrameEvent.totalTime = this.totalFrames;\n          this.drawnFrameEvent.direction = this.frameModifier;\n          this.triggerEvent(name, this.drawnFrameEvent);\n          break;\n\n        case 'loopComplete':\n          this.triggerEvent(name, new BMCompleteLoopEvent(name, this.loop, this.playCount, this.frameMult));\n          break;\n\n        case 'complete':\n          this.triggerEvent(name, new BMCompleteEvent(name, this.frameMult));\n          break;\n\n        case 'segmentStart':\n          this.triggerEvent(name, new BMSegmentStartEvent(name, this.firstFrame, this.totalFrames));\n          break;\n\n        case 'destroy':\n          this.triggerEvent(name, new BMDestroyEvent(name, this));\n          break;\n\n        default:\n          this.triggerEvent(name);\n      }\n    }\n\n    if (name === 'enterFrame' && this.onEnterFrame) {\n      this.onEnterFrame.call(this, new BMEnterFrameEvent(name, this.currentFrame, this.totalFrames, this.frameMult));\n    }\n\n    if (name === 'loopComplete' && this.onLoopComplete) {\n      this.onLoopComplete.call(this, new BMCompleteLoopEvent(name, this.loop, this.playCount, this.frameMult));\n    }\n\n    if (name === 'complete' && this.onComplete) {\n      this.onComplete.call(this, new BMCompleteEvent(name, this.frameMult));\n    }\n\n    if (name === 'segmentStart' && this.onSegmentStart) {\n      this.onSegmentStart.call(this, new BMSegmentStartEvent(name, this.firstFrame, this.totalFrames));\n    }\n\n    if (name === 'destroy' && this.onDestroy) {\n      this.onDestroy.call(this, new BMDestroyEvent(name, this));\n    }\n  };\n\n  AnimationItem.prototype.triggerRenderFrameError = function (nativeError) {\n    var error = new BMRenderFrameErrorEvent(nativeError, this.currentFrame);\n    this.triggerEvent('error', error);\n\n    if (this.onError) {\n      this.onError.call(this, error);\n    }\n  };\n\n  AnimationItem.prototype.triggerConfigError = function (nativeError) {\n    var error = new BMConfigErrorEvent(nativeError, this.currentFrame);\n    this.triggerEvent('error', error);\n\n    if (this.onError) {\n      this.onError.call(this, error);\n    }\n  };\n\n  var animationManager = function () {\n    var moduleOb = {};\n    var registeredAnimations = [];\n    var initTime = 0;\n    var len = 0;\n    var playingAnimationsNum = 0;\n    var _stopped = true;\n    var _isFrozen = false;\n\n    function removeElement(ev) {\n      var i = 0;\n      var animItem = ev.target;\n\n      while (i < len) {\n        if (registeredAnimations[i].animation === animItem) {\n          registeredAnimations.splice(i, 1);\n          i -= 1;\n          len -= 1;\n\n          if (!animItem.isPaused) {\n            subtractPlayingCount();\n          }\n        }\n\n        i += 1;\n      }\n    }\n\n    function registerAnimation(element, animationData) {\n      if (!element) {\n        return null;\n      }\n\n      var i = 0;\n\n      while (i < len) {\n        if (registeredAnimations[i].elem === element && registeredAnimations[i].elem !== null) {\n          return registeredAnimations[i].animation;\n        }\n\n        i += 1;\n      }\n\n      var animItem = new AnimationItem();\n      setupAnimation(animItem, element);\n      animItem.setData(element, animationData);\n      return animItem;\n    }\n\n    function getRegisteredAnimations() {\n      var i;\n      var lenAnims = registeredAnimations.length;\n      var animations = [];\n\n      for (i = 0; i < lenAnims; i += 1) {\n        animations.push(registeredAnimations[i].animation);\n      }\n\n      return animations;\n    }\n\n    function addPlayingCount() {\n      playingAnimationsNum += 1;\n      activate();\n    }\n\n    function subtractPlayingCount() {\n      playingAnimationsNum -= 1;\n    }\n\n    function setupAnimation(animItem, element) {\n      animItem.addEventListener('destroy', removeElement);\n      animItem.addEventListener('_active', addPlayingCount);\n      animItem.addEventListener('_idle', subtractPlayingCount);\n      registeredAnimations.push({\n        elem: element,\n        animation: animItem\n      });\n      len += 1;\n    }\n\n    function loadAnimation(params) {\n      var animItem = new AnimationItem();\n      setupAnimation(animItem, null);\n      animItem.setParams(params);\n      return animItem;\n    }\n\n    function setSpeed(val, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.setSpeed(val, animation);\n      }\n    }\n\n    function setDirection(val, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.setDirection(val, animation);\n      }\n    }\n\n    function play(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.play(animation);\n      }\n    }\n\n    function resume(nowTime) {\n      var elapsedTime = nowTime - initTime;\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.advanceTime(elapsedTime);\n      }\n\n      initTime = nowTime;\n\n      if (playingAnimationsNum && !_isFrozen) {\n        window.requestAnimationFrame(resume);\n      } else {\n        _stopped = true;\n      }\n    }\n\n    function first(nowTime) {\n      initTime = nowTime;\n      window.requestAnimationFrame(resume);\n    }\n\n    function pause(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.pause(animation);\n      }\n    }\n\n    function goToAndStop(value, isFrame, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.goToAndStop(value, isFrame, animation);\n      }\n    }\n\n    function stop(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.stop(animation);\n      }\n    }\n\n    function togglePause(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.togglePause(animation);\n      }\n    }\n\n    function destroy(animation) {\n      var i;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        registeredAnimations[i].animation.destroy(animation);\n      }\n    }\n\n    function searchAnimations(animationData, standalone, renderer) {\n      var animElements = [].concat([].slice.call(document.getElementsByClassName('lottie')), [].slice.call(document.getElementsByClassName('bodymovin')));\n      var i;\n      var lenAnims = animElements.length;\n\n      for (i = 0; i < lenAnims; i += 1) {\n        if (renderer) {\n          animElements[i].setAttribute('data-bm-type', renderer);\n        }\n\n        registerAnimation(animElements[i], animationData);\n      }\n\n      if (standalone && lenAnims === 0) {\n        if (!renderer) {\n          renderer = 'svg';\n        }\n\n        var body = document.getElementsByTagName('body')[0];\n        body.innerText = '';\n        var div = createTag('div');\n        div.style.width = '100%';\n        div.style.height = '100%';\n        div.setAttribute('data-bm-type', renderer);\n        body.appendChild(div);\n        registerAnimation(div, animationData);\n      }\n    }\n\n    function resize() {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.resize();\n      }\n    }\n\n    function activate() {\n      if (!_isFrozen && playingAnimationsNum) {\n        if (_stopped) {\n          window.requestAnimationFrame(first);\n          _stopped = false;\n        }\n      }\n    }\n\n    function freeze() {\n      _isFrozen = true;\n    }\n\n    function unfreeze() {\n      _isFrozen = false;\n      activate();\n    }\n\n    function setVolume(val, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.setVolume(val, animation);\n      }\n    }\n\n    function mute(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.mute(animation);\n      }\n    }\n\n    function unmute(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.unmute(animation);\n      }\n    }\n\n    moduleOb.registerAnimation = registerAnimation;\n    moduleOb.loadAnimation = loadAnimation;\n    moduleOb.setSpeed = setSpeed;\n    moduleOb.setDirection = setDirection;\n    moduleOb.play = play;\n    moduleOb.pause = pause;\n    moduleOb.stop = stop;\n    moduleOb.togglePause = togglePause;\n    moduleOb.searchAnimations = searchAnimations;\n    moduleOb.resize = resize; // moduleOb.start = start;\n\n    moduleOb.goToAndStop = goToAndStop;\n    moduleOb.destroy = destroy;\n    moduleOb.freeze = freeze;\n    moduleOb.unfreeze = unfreeze;\n    moduleOb.setVolume = setVolume;\n    moduleOb.mute = mute;\n    moduleOb.unmute = unmute;\n    moduleOb.getRegisteredAnimations = getRegisteredAnimations;\n    return moduleOb;\n  }();\n\n  /* eslint-disable */\n  var BezierFactory = function () {\n    /**\r\n       * BezierEasing - use bezier curve for transition easing function\r\n       * by Gaëtan Renaudeau 2014 - 2015 – MIT License\r\n       *\r\n       * Credits: is based on Firefox's nsSMILKeySpline.cpp\r\n       * Usage:\r\n       * var spline = BezierEasing([ 0.25, 0.1, 0.25, 1.0 ])\r\n       * spline.get(x) => returns the easing value | x must be in [0, 1] range\r\n       *\r\n       */\n    var ob = {};\n    ob.getBezierEasing = getBezierEasing;\n    var beziers = {};\n\n    function getBezierEasing(a, b, c, d, nm) {\n      var str = nm || ('bez_' + a + '_' + b + '_' + c + '_' + d).replace(/\\./g, 'p');\n\n      if (beziers[str]) {\n        return beziers[str];\n      }\n\n      var bezEasing = new BezierEasing([a, b, c, d]);\n      beziers[str] = bezEasing;\n      return bezEasing;\n    } // These values are established by empiricism with tests (tradeoff: performance VS precision)\n\n\n    var NEWTON_ITERATIONS = 4;\n    var NEWTON_MIN_SLOPE = 0.001;\n    var SUBDIVISION_PRECISION = 0.0000001;\n    var SUBDIVISION_MAX_ITERATIONS = 10;\n    var kSplineTableSize = 11;\n    var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n    var float32ArraySupported = typeof Float32Array === 'function';\n\n    function A(aA1, aA2) {\n      return 1.0 - 3.0 * aA2 + 3.0 * aA1;\n    }\n\n    function B(aA1, aA2) {\n      return 3.0 * aA2 - 6.0 * aA1;\n    }\n\n    function C(aA1) {\n      return 3.0 * aA1;\n    } // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\n\n\n    function calcBezier(aT, aA1, aA2) {\n      return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n    } // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\n\n\n    function getSlope(aT, aA1, aA2) {\n      return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);\n    }\n\n    function binarySubdivide(aX, aA, aB, mX1, mX2) {\n      var currentX,\n          currentT,\n          i = 0;\n\n      do {\n        currentT = aA + (aB - aA) / 2.0;\n        currentX = calcBezier(currentT, mX1, mX2) - aX;\n\n        if (currentX > 0.0) {\n          aB = currentT;\n        } else {\n          aA = currentT;\n        }\n      } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\n\n      return currentT;\n    }\n\n    function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n      for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\n        var currentSlope = getSlope(aGuessT, mX1, mX2);\n        if (currentSlope === 0.0) return aGuessT;\n        var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n        aGuessT -= currentX / currentSlope;\n      }\n\n      return aGuessT;\n    }\n    /**\r\n       * points is an array of [ mX1, mY1, mX2, mY2 ]\r\n       */\n\n\n    function BezierEasing(points) {\n      this._p = points;\n      this._mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n      this._precomputed = false;\n      this.get = this.get.bind(this);\n    }\n\n    BezierEasing.prototype = {\n      get: function get(x) {\n        var mX1 = this._p[0],\n            mY1 = this._p[1],\n            mX2 = this._p[2],\n            mY2 = this._p[3];\n        if (!this._precomputed) this._precompute();\n        if (mX1 === mY1 && mX2 === mY2) return x; // linear\n        // Because JavaScript number are imprecise, we should guarantee the extremes are right.\n\n        if (x === 0) return 0;\n        if (x === 1) return 1;\n        return calcBezier(this._getTForX(x), mY1, mY2);\n      },\n      // Private part\n      _precompute: function _precompute() {\n        var mX1 = this._p[0],\n            mY1 = this._p[1],\n            mX2 = this._p[2],\n            mY2 = this._p[3];\n        this._precomputed = true;\n\n        if (mX1 !== mY1 || mX2 !== mY2) {\n          this._calcSampleValues();\n        }\n      },\n      _calcSampleValues: function _calcSampleValues() {\n        var mX1 = this._p[0],\n            mX2 = this._p[2];\n\n        for (var i = 0; i < kSplineTableSize; ++i) {\n          this._mSampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n        }\n      },\n\n      /**\r\n           * getTForX chose the fastest heuristic to determine the percentage value precisely from a given X projection.\r\n           */\n      _getTForX: function _getTForX(aX) {\n        var mX1 = this._p[0],\n            mX2 = this._p[2],\n            mSampleValues = this._mSampleValues;\n        var intervalStart = 0.0;\n        var currentSample = 1;\n        var lastSample = kSplineTableSize - 1;\n\n        for (; currentSample !== lastSample && mSampleValues[currentSample] <= aX; ++currentSample) {\n          intervalStart += kSampleStepSize;\n        }\n\n        --currentSample; // Interpolate to provide an initial guess for t\n\n        var dist = (aX - mSampleValues[currentSample]) / (mSampleValues[currentSample + 1] - mSampleValues[currentSample]);\n        var guessForT = intervalStart + dist * kSampleStepSize;\n        var initialSlope = getSlope(guessForT, mX1, mX2);\n\n        if (initialSlope >= NEWTON_MIN_SLOPE) {\n          return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n        }\n\n        if (initialSlope === 0.0) {\n          return guessForT;\n        }\n\n        return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n      }\n    };\n    return ob;\n  }();\n\n  var pooling = function () {\n    function _double(arr) {\n      return arr.concat(createSizedArray(arr.length));\n    }\n\n    return {\n      \"double\": _double\n    };\n  }();\n\n  var poolFactory = function () {\n    return function (initialLength, _create, _release) {\n      var _length = 0;\n      var _maxLength = initialLength;\n      var pool = createSizedArray(_maxLength);\n      var ob = {\n        newElement: newElement,\n        release: release\n      };\n\n      function newElement() {\n        var element;\n\n        if (_length) {\n          _length -= 1;\n          element = pool[_length];\n        } else {\n          element = _create();\n        }\n\n        return element;\n      }\n\n      function release(element) {\n        if (_length === _maxLength) {\n          pool = pooling[\"double\"](pool);\n          _maxLength *= 2;\n        }\n\n        if (_release) {\n          _release(element);\n        }\n\n        pool[_length] = element;\n        _length += 1;\n      }\n\n      return ob;\n    };\n  }();\n\n  var bezierLengthPool = function () {\n    function create() {\n      return {\n        addedLength: 0,\n        percents: createTypedArray('float32', getDefaultCurveSegments()),\n        lengths: createTypedArray('float32', getDefaultCurveSegments())\n      };\n    }\n\n    return poolFactory(8, create);\n  }();\n\n  var segmentsLengthPool = function () {\n    function create() {\n      return {\n        lengths: [],\n        totalLength: 0\n      };\n    }\n\n    function release(element) {\n      var i;\n      var len = element.lengths.length;\n\n      for (i = 0; i < len; i += 1) {\n        bezierLengthPool.release(element.lengths[i]);\n      }\n\n      element.lengths.length = 0;\n    }\n\n    return poolFactory(8, create, release);\n  }();\n\n  function bezFunction() {\n    var math = Math;\n\n    function pointOnLine2D(x1, y1, x2, y2, x3, y3) {\n      var det1 = x1 * y2 + y1 * x3 + x2 * y3 - x3 * y2 - y3 * x1 - x2 * y1;\n      return det1 > -0.001 && det1 < 0.001;\n    }\n\n    function pointOnLine3D(x1, y1, z1, x2, y2, z2, x3, y3, z3) {\n      if (z1 === 0 && z2 === 0 && z3 === 0) {\n        return pointOnLine2D(x1, y1, x2, y2, x3, y3);\n      }\n\n      var dist1 = math.sqrt(math.pow(x2 - x1, 2) + math.pow(y2 - y1, 2) + math.pow(z2 - z1, 2));\n      var dist2 = math.sqrt(math.pow(x3 - x1, 2) + math.pow(y3 - y1, 2) + math.pow(z3 - z1, 2));\n      var dist3 = math.sqrt(math.pow(x3 - x2, 2) + math.pow(y3 - y2, 2) + math.pow(z3 - z2, 2));\n      var diffDist;\n\n      if (dist1 > dist2) {\n        if (dist1 > dist3) {\n          diffDist = dist1 - dist2 - dist3;\n        } else {\n          diffDist = dist3 - dist2 - dist1;\n        }\n      } else if (dist3 > dist2) {\n        diffDist = dist3 - dist2 - dist1;\n      } else {\n        diffDist = dist2 - dist1 - dist3;\n      }\n\n      return diffDist > -0.0001 && diffDist < 0.0001;\n    }\n\n    var getBezierLength = function () {\n      return function (pt1, pt2, pt3, pt4) {\n        var curveSegments = getDefaultCurveSegments();\n        var k;\n        var i;\n        var len;\n        var ptCoord;\n        var perc;\n        var addedLength = 0;\n        var ptDistance;\n        var point = [];\n        var lastPoint = [];\n        var lengthData = bezierLengthPool.newElement();\n        len = pt3.length;\n\n        for (k = 0; k < curveSegments; k += 1) {\n          perc = k / (curveSegments - 1);\n          ptDistance = 0;\n\n          for (i = 0; i < len; i += 1) {\n            ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * pt3[i] + 3 * (1 - perc) * bmPow(perc, 2) * pt4[i] + bmPow(perc, 3) * pt2[i];\n            point[i] = ptCoord;\n\n            if (lastPoint[i] !== null) {\n              ptDistance += bmPow(point[i] - lastPoint[i], 2);\n            }\n\n            lastPoint[i] = point[i];\n          }\n\n          if (ptDistance) {\n            ptDistance = bmSqrt(ptDistance);\n            addedLength += ptDistance;\n          }\n\n          lengthData.percents[k] = perc;\n          lengthData.lengths[k] = addedLength;\n        }\n\n        lengthData.addedLength = addedLength;\n        return lengthData;\n      };\n    }();\n\n    function getSegmentsLength(shapeData) {\n      var segmentsLength = segmentsLengthPool.newElement();\n      var closed = shapeData.c;\n      var pathV = shapeData.v;\n      var pathO = shapeData.o;\n      var pathI = shapeData.i;\n      var i;\n      var len = shapeData._length;\n      var lengths = segmentsLength.lengths;\n      var totalLength = 0;\n\n      for (i = 0; i < len - 1; i += 1) {\n        lengths[i] = getBezierLength(pathV[i], pathV[i + 1], pathO[i], pathI[i + 1]);\n        totalLength += lengths[i].addedLength;\n      }\n\n      if (closed && len) {\n        lengths[i] = getBezierLength(pathV[i], pathV[0], pathO[i], pathI[0]);\n        totalLength += lengths[i].addedLength;\n      }\n\n      segmentsLength.totalLength = totalLength;\n      return segmentsLength;\n    }\n\n    function BezierData(length) {\n      this.segmentLength = 0;\n      this.points = new Array(length);\n    }\n\n    function PointData(partial, point) {\n      this.partialLength = partial;\n      this.point = point;\n    }\n\n    var buildBezierData = function () {\n      var storedData = {};\n      return function (pt1, pt2, pt3, pt4) {\n        var bezierName = (pt1[0] + '_' + pt1[1] + '_' + pt2[0] + '_' + pt2[1] + '_' + pt3[0] + '_' + pt3[1] + '_' + pt4[0] + '_' + pt4[1]).replace(/\\./g, 'p');\n\n        if (!storedData[bezierName]) {\n          var curveSegments = getDefaultCurveSegments();\n          var k;\n          var i;\n          var len;\n          var ptCoord;\n          var perc;\n          var addedLength = 0;\n          var ptDistance;\n          var point;\n          var lastPoint = null;\n\n          if (pt1.length === 2 && (pt1[0] !== pt2[0] || pt1[1] !== pt2[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt1[0] + pt3[0], pt1[1] + pt3[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt2[0] + pt4[0], pt2[1] + pt4[1])) {\n            curveSegments = 2;\n          }\n\n          var bezierData = new BezierData(curveSegments);\n          len = pt3.length;\n\n          for (k = 0; k < curveSegments; k += 1) {\n            point = createSizedArray(len);\n            perc = k / (curveSegments - 1);\n            ptDistance = 0;\n\n            for (i = 0; i < len; i += 1) {\n              ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * (pt1[i] + pt3[i]) + 3 * (1 - perc) * bmPow(perc, 2) * (pt2[i] + pt4[i]) + bmPow(perc, 3) * pt2[i];\n              point[i] = ptCoord;\n\n              if (lastPoint !== null) {\n                ptDistance += bmPow(point[i] - lastPoint[i], 2);\n              }\n            }\n\n            ptDistance = bmSqrt(ptDistance);\n            addedLength += ptDistance;\n            bezierData.points[k] = new PointData(ptDistance, point);\n            lastPoint = point;\n          }\n\n          bezierData.segmentLength = addedLength;\n          storedData[bezierName] = bezierData;\n        }\n\n        return storedData[bezierName];\n      };\n    }();\n\n    function getDistancePerc(perc, bezierData) {\n      var percents = bezierData.percents;\n      var lengths = bezierData.lengths;\n      var len = percents.length;\n      var initPos = bmFloor((len - 1) * perc);\n      var lengthPos = perc * bezierData.addedLength;\n      var lPerc = 0;\n\n      if (initPos === len - 1 || initPos === 0 || lengthPos === lengths[initPos]) {\n        return percents[initPos];\n      }\n\n      var dir = lengths[initPos] > lengthPos ? -1 : 1;\n      var flag = true;\n\n      while (flag) {\n        if (lengths[initPos] <= lengthPos && lengths[initPos + 1] > lengthPos) {\n          lPerc = (lengthPos - lengths[initPos]) / (lengths[initPos + 1] - lengths[initPos]);\n          flag = false;\n        } else {\n          initPos += dir;\n        }\n\n        if (initPos < 0 || initPos >= len - 1) {\n          // FIX for TypedArrays that don't store floating point values with enough accuracy\n          if (initPos === len - 1) {\n            return percents[initPos];\n          }\n\n          flag = false;\n        }\n      }\n\n      return percents[initPos] + (percents[initPos + 1] - percents[initPos]) * lPerc;\n    }\n\n    function getPointInSegment(pt1, pt2, pt3, pt4, percent, bezierData) {\n      var t1 = getDistancePerc(percent, bezierData);\n      var u1 = 1 - t1;\n      var ptX = math.round((u1 * u1 * u1 * pt1[0] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[0] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[0] + t1 * t1 * t1 * pt2[0]) * 1000) / 1000;\n      var ptY = math.round((u1 * u1 * u1 * pt1[1] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[1] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[1] + t1 * t1 * t1 * pt2[1]) * 1000) / 1000;\n      return [ptX, ptY];\n    }\n\n    var bezierSegmentPoints = createTypedArray('float32', 8);\n\n    function getNewSegment(pt1, pt2, pt3, pt4, startPerc, endPerc, bezierData) {\n      if (startPerc < 0) {\n        startPerc = 0;\n      } else if (startPerc > 1) {\n        startPerc = 1;\n      }\n\n      var t0 = getDistancePerc(startPerc, bezierData);\n      endPerc = endPerc > 1 ? 1 : endPerc;\n      var t1 = getDistancePerc(endPerc, bezierData);\n      var i;\n      var len = pt1.length;\n      var u0 = 1 - t0;\n      var u1 = 1 - t1;\n      var u0u0u0 = u0 * u0 * u0;\n      var t0u0u0_3 = t0 * u0 * u0 * 3; // eslint-disable-line camelcase\n\n      var t0t0u0_3 = t0 * t0 * u0 * 3; // eslint-disable-line camelcase\n\n      var t0t0t0 = t0 * t0 * t0; //\n\n      var u0u0u1 = u0 * u0 * u1;\n      var t0u0u1_3 = t0 * u0 * u1 + u0 * t0 * u1 + u0 * u0 * t1; // eslint-disable-line camelcase\n\n      var t0t0u1_3 = t0 * t0 * u1 + u0 * t0 * t1 + t0 * u0 * t1; // eslint-disable-line camelcase\n\n      var t0t0t1 = t0 * t0 * t1; //\n\n      var u0u1u1 = u0 * u1 * u1;\n      var t0u1u1_3 = t0 * u1 * u1 + u0 * t1 * u1 + u0 * u1 * t1; // eslint-disable-line camelcase\n\n      var t0t1u1_3 = t0 * t1 * u1 + u0 * t1 * t1 + t0 * u1 * t1; // eslint-disable-line camelcase\n\n      var t0t1t1 = t0 * t1 * t1; //\n\n      var u1u1u1 = u1 * u1 * u1;\n      var t1u1u1_3 = t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1; // eslint-disable-line camelcase\n\n      var t1t1u1_3 = t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1; // eslint-disable-line camelcase\n\n      var t1t1t1 = t1 * t1 * t1;\n\n      for (i = 0; i < len; i += 1) {\n        bezierSegmentPoints[i * 4] = math.round((u0u0u0 * pt1[i] + t0u0u0_3 * pt3[i] + t0t0u0_3 * pt4[i] + t0t0t0 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n        bezierSegmentPoints[i * 4 + 1] = math.round((u0u0u1 * pt1[i] + t0u0u1_3 * pt3[i] + t0t0u1_3 * pt4[i] + t0t0t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n        bezierSegmentPoints[i * 4 + 2] = math.round((u0u1u1 * pt1[i] + t0u1u1_3 * pt3[i] + t0t1u1_3 * pt4[i] + t0t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n        bezierSegmentPoints[i * 4 + 3] = math.round((u1u1u1 * pt1[i] + t1u1u1_3 * pt3[i] + t1t1u1_3 * pt4[i] + t1t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n      }\n\n      return bezierSegmentPoints;\n    }\n\n    return {\n      getSegmentsLength: getSegmentsLength,\n      getNewSegment: getNewSegment,\n      getPointInSegment: getPointInSegment,\n      buildBezierData: buildBezierData,\n      pointOnLine2D: pointOnLine2D,\n      pointOnLine3D: pointOnLine3D\n    };\n  }\n\n  var bez = bezFunction();\n\n  var initFrame = initialDefaultFrame;\n  var mathAbs = Math.abs;\n\n  function interpolateValue(frameNum, caching) {\n    var offsetTime = this.offsetTime;\n    var newValue;\n\n    if (this.propType === 'multidimensional') {\n      newValue = createTypedArray('float32', this.pv.length);\n    }\n\n    var iterationIndex = caching.lastIndex;\n    var i = iterationIndex;\n    var len = this.keyframes.length - 1;\n    var flag = true;\n    var keyData;\n    var nextKeyData;\n    var keyframeMetadata;\n\n    while (flag) {\n      keyData = this.keyframes[i];\n      nextKeyData = this.keyframes[i + 1];\n\n      if (i === len - 1 && frameNum >= nextKeyData.t - offsetTime) {\n        if (keyData.h) {\n          keyData = nextKeyData;\n        }\n\n        iterationIndex = 0;\n        break;\n      }\n\n      if (nextKeyData.t - offsetTime > frameNum) {\n        iterationIndex = i;\n        break;\n      }\n\n      if (i < len - 1) {\n        i += 1;\n      } else {\n        iterationIndex = 0;\n        flag = false;\n      }\n    }\n\n    keyframeMetadata = this.keyframesMetadata[i] || {};\n    var k;\n    var kLen;\n    var perc;\n    var jLen;\n    var j;\n    var fnc;\n    var nextKeyTime = nextKeyData.t - offsetTime;\n    var keyTime = keyData.t - offsetTime;\n    var endValue;\n\n    if (keyData.to) {\n      if (!keyframeMetadata.bezierData) {\n        keyframeMetadata.bezierData = bez.buildBezierData(keyData.s, nextKeyData.s || keyData.e, keyData.to, keyData.ti);\n      }\n\n      var bezierData = keyframeMetadata.bezierData;\n\n      if (frameNum >= nextKeyTime || frameNum < keyTime) {\n        var ind = frameNum >= nextKeyTime ? bezierData.points.length - 1 : 0;\n        kLen = bezierData.points[ind].point.length;\n\n        for (k = 0; k < kLen; k += 1) {\n          newValue[k] = bezierData.points[ind].point[k];\n        } // caching._lastKeyframeIndex = -1;\n\n      } else {\n        if (keyframeMetadata.__fnct) {\n          fnc = keyframeMetadata.__fnct;\n        } else {\n          fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y, keyData.n).get;\n          keyframeMetadata.__fnct = fnc;\n        }\n\n        perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n        var distanceInLine = bezierData.segmentLength * perc;\n        var segmentPerc;\n        var addedLength = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastAddedLength : 0;\n        j = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastPoint : 0;\n        flag = true;\n        jLen = bezierData.points.length;\n\n        while (flag) {\n          addedLength += bezierData.points[j].partialLength;\n\n          if (distanceInLine === 0 || perc === 0 || j === bezierData.points.length - 1) {\n            kLen = bezierData.points[j].point.length;\n\n            for (k = 0; k < kLen; k += 1) {\n              newValue[k] = bezierData.points[j].point[k];\n            }\n\n            break;\n          } else if (distanceInLine >= addedLength && distanceInLine < addedLength + bezierData.points[j + 1].partialLength) {\n            segmentPerc = (distanceInLine - addedLength) / bezierData.points[j + 1].partialLength;\n            kLen = bezierData.points[j].point.length;\n\n            for (k = 0; k < kLen; k += 1) {\n              newValue[k] = bezierData.points[j].point[k] + (bezierData.points[j + 1].point[k] - bezierData.points[j].point[k]) * segmentPerc;\n            }\n\n            break;\n          }\n\n          if (j < jLen - 1) {\n            j += 1;\n          } else {\n            flag = false;\n          }\n        }\n\n        caching._lastPoint = j;\n        caching._lastAddedLength = addedLength - bezierData.points[j].partialLength;\n        caching._lastKeyframeIndex = i;\n      }\n    } else {\n      var outX;\n      var outY;\n      var inX;\n      var inY;\n      var keyValue;\n      len = keyData.s.length;\n      endValue = nextKeyData.s || keyData.e;\n\n      if (this.sh && keyData.h !== 1) {\n        if (frameNum >= nextKeyTime) {\n          newValue[0] = endValue[0];\n          newValue[1] = endValue[1];\n          newValue[2] = endValue[2];\n        } else if (frameNum <= keyTime) {\n          newValue[0] = keyData.s[0];\n          newValue[1] = keyData.s[1];\n          newValue[2] = keyData.s[2];\n        } else {\n          var quatStart = createQuaternion(keyData.s);\n          var quatEnd = createQuaternion(endValue);\n          var time = (frameNum - keyTime) / (nextKeyTime - keyTime);\n          quaternionToEuler(newValue, slerp(quatStart, quatEnd, time));\n        }\n      } else {\n        for (i = 0; i < len; i += 1) {\n          if (keyData.h !== 1) {\n            if (frameNum >= nextKeyTime) {\n              perc = 1;\n            } else if (frameNum < keyTime) {\n              perc = 0;\n            } else {\n              if (keyData.o.x.constructor === Array) {\n                if (!keyframeMetadata.__fnct) {\n                  keyframeMetadata.__fnct = [];\n                }\n\n                if (!keyframeMetadata.__fnct[i]) {\n                  outX = keyData.o.x[i] === undefined ? keyData.o.x[0] : keyData.o.x[i];\n                  outY = keyData.o.y[i] === undefined ? keyData.o.y[0] : keyData.o.y[i];\n                  inX = keyData.i.x[i] === undefined ? keyData.i.x[0] : keyData.i.x[i];\n                  inY = keyData.i.y[i] === undefined ? keyData.i.y[0] : keyData.i.y[i];\n                  fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n                  keyframeMetadata.__fnct[i] = fnc;\n                } else {\n                  fnc = keyframeMetadata.__fnct[i];\n                }\n              } else if (!keyframeMetadata.__fnct) {\n                outX = keyData.o.x;\n                outY = keyData.o.y;\n                inX = keyData.i.x;\n                inY = keyData.i.y;\n                fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n                keyData.keyframeMetadata = fnc;\n              } else {\n                fnc = keyframeMetadata.__fnct;\n              }\n\n              perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n            }\n          }\n\n          endValue = nextKeyData.s || keyData.e;\n          keyValue = keyData.h === 1 ? keyData.s[i] : keyData.s[i] + (endValue[i] - keyData.s[i]) * perc;\n\n          if (this.propType === 'multidimensional') {\n            newValue[i] = keyValue;\n          } else {\n            newValue = keyValue;\n          }\n        }\n      }\n    }\n\n    caching.lastIndex = iterationIndex;\n    return newValue;\n  } // based on @Toji's https://github.com/toji/gl-matrix/\n\n\n  function slerp(a, b, t) {\n    var out = [];\n    var ax = a[0];\n    var ay = a[1];\n    var az = a[2];\n    var aw = a[3];\n    var bx = b[0];\n    var by = b[1];\n    var bz = b[2];\n    var bw = b[3];\n    var omega;\n    var cosom;\n    var sinom;\n    var scale0;\n    var scale1;\n    cosom = ax * bx + ay * by + az * bz + aw * bw;\n\n    if (cosom < 0.0) {\n      cosom = -cosom;\n      bx = -bx;\n      by = -by;\n      bz = -bz;\n      bw = -bw;\n    }\n\n    if (1.0 - cosom > 0.000001) {\n      omega = Math.acos(cosom);\n      sinom = Math.sin(omega);\n      scale0 = Math.sin((1.0 - t) * omega) / sinom;\n      scale1 = Math.sin(t * omega) / sinom;\n    } else {\n      scale0 = 1.0 - t;\n      scale1 = t;\n    }\n\n    out[0] = scale0 * ax + scale1 * bx;\n    out[1] = scale0 * ay + scale1 * by;\n    out[2] = scale0 * az + scale1 * bz;\n    out[3] = scale0 * aw + scale1 * bw;\n    return out;\n  }\n\n  function quaternionToEuler(out, quat) {\n    var qx = quat[0];\n    var qy = quat[1];\n    var qz = quat[2];\n    var qw = quat[3];\n    var heading = Math.atan2(2 * qy * qw - 2 * qx * qz, 1 - 2 * qy * qy - 2 * qz * qz);\n    var attitude = Math.asin(2 * qx * qy + 2 * qz * qw);\n    var bank = Math.atan2(2 * qx * qw - 2 * qy * qz, 1 - 2 * qx * qx - 2 * qz * qz);\n    out[0] = heading / degToRads;\n    out[1] = attitude / degToRads;\n    out[2] = bank / degToRads;\n  }\n\n  function createQuaternion(values) {\n    var heading = values[0] * degToRads;\n    var attitude = values[1] * degToRads;\n    var bank = values[2] * degToRads;\n    var c1 = Math.cos(heading / 2);\n    var c2 = Math.cos(attitude / 2);\n    var c3 = Math.cos(bank / 2);\n    var s1 = Math.sin(heading / 2);\n    var s2 = Math.sin(attitude / 2);\n    var s3 = Math.sin(bank / 2);\n    var w = c1 * c2 * c3 - s1 * s2 * s3;\n    var x = s1 * s2 * c3 + c1 * c2 * s3;\n    var y = s1 * c2 * c3 + c1 * s2 * s3;\n    var z = c1 * s2 * c3 - s1 * c2 * s3;\n    return [x, y, z, w];\n  }\n\n  function getValueAtCurrentTime() {\n    var frameNum = this.comp.renderedFrame - this.offsetTime;\n    var initTime = this.keyframes[0].t - this.offsetTime;\n    var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\n\n    if (!(frameNum === this._caching.lastFrame || this._caching.lastFrame !== initFrame && (this._caching.lastFrame >= endTime && frameNum >= endTime || this._caching.lastFrame < initTime && frameNum < initTime))) {\n      if (this._caching.lastFrame >= frameNum) {\n        this._caching._lastKeyframeIndex = -1;\n        this._caching.lastIndex = 0;\n      }\n\n      var renderResult = this.interpolateValue(frameNum, this._caching);\n      this.pv = renderResult;\n    }\n\n    this._caching.lastFrame = frameNum;\n    return this.pv;\n  }\n\n  function setVValue(val) {\n    var multipliedValue;\n\n    if (this.propType === 'unidimensional') {\n      multipliedValue = val * this.mult;\n\n      if (mathAbs(this.v - multipliedValue) > 0.00001) {\n        this.v = multipliedValue;\n        this._mdf = true;\n      }\n    } else {\n      var i = 0;\n      var len = this.v.length;\n\n      while (i < len) {\n        multipliedValue = val[i] * this.mult;\n\n        if (mathAbs(this.v[i] - multipliedValue) > 0.00001) {\n          this.v[i] = multipliedValue;\n          this._mdf = true;\n        }\n\n        i += 1;\n      }\n    }\n  }\n\n  function processEffectsSequence() {\n    if (this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) {\n      return;\n    }\n\n    if (this.lock) {\n      this.setVValue(this.pv);\n      return;\n    }\n\n    this.lock = true;\n    this._mdf = this._isFirstFrame;\n    var i;\n    var len = this.effectsSequence.length;\n    var finalValue = this.kf ? this.pv : this.data.k;\n\n    for (i = 0; i < len; i += 1) {\n      finalValue = this.effectsSequence[i](finalValue);\n    }\n\n    this.setVValue(finalValue);\n    this._isFirstFrame = false;\n    this.lock = false;\n    this.frameId = this.elem.globalData.frameId;\n  }\n\n  function addEffect(effectFunction) {\n    this.effectsSequence.push(effectFunction);\n    this.container.addDynamicProperty(this);\n  }\n\n  function ValueProperty(elem, data, mult, container) {\n    this.propType = 'unidimensional';\n    this.mult = mult || 1;\n    this.data = data;\n    this.v = mult ? data.k * mult : data.k;\n    this.pv = data.k;\n    this._mdf = false;\n    this.elem = elem;\n    this.container = container;\n    this.comp = elem.comp;\n    this.k = false;\n    this.kf = false;\n    this.vel = 0;\n    this.effectsSequence = [];\n    this._isFirstFrame = true;\n    this.getValue = processEffectsSequence;\n    this.setVValue = setVValue;\n    this.addEffect = addEffect;\n  }\n\n  function MultiDimensionalProperty(elem, data, mult, container) {\n    this.propType = 'multidimensional';\n    this.mult = mult || 1;\n    this.data = data;\n    this._mdf = false;\n    this.elem = elem;\n    this.container = container;\n    this.comp = elem.comp;\n    this.k = false;\n    this.kf = false;\n    this.frameId = -1;\n    var i;\n    var len = data.k.length;\n    this.v = createTypedArray('float32', len);\n    this.pv = createTypedArray('float32', len);\n    this.vel = createTypedArray('float32', len);\n\n    for (i = 0; i < len; i += 1) {\n      this.v[i] = data.k[i] * this.mult;\n      this.pv[i] = data.k[i];\n    }\n\n    this._isFirstFrame = true;\n    this.effectsSequence = [];\n    this.getValue = processEffectsSequence;\n    this.setVValue = setVValue;\n    this.addEffect = addEffect;\n  }\n\n  function KeyframedValueProperty(elem, data, mult, container) {\n    this.propType = 'unidimensional';\n    this.keyframes = data.k;\n    this.keyframesMetadata = [];\n    this.offsetTime = elem.data.st;\n    this.frameId = -1;\n    this._caching = {\n      lastFrame: initFrame,\n      lastIndex: 0,\n      value: 0,\n      _lastKeyframeIndex: -1\n    };\n    this.k = true;\n    this.kf = true;\n    this.data = data;\n    this.mult = mult || 1;\n    this.elem = elem;\n    this.container = container;\n    this.comp = elem.comp;\n    this.v = initFrame;\n    this.pv = initFrame;\n    this._isFirstFrame = true;\n    this.getValue = processEffectsSequence;\n    this.setVValue = setVValue;\n    this.interpolateValue = interpolateValue;\n    this.effectsSequence = [getValueAtCurrentTime.bind(this)];\n    this.addEffect = addEffect;\n  }\n\n  function KeyframedMultidimensionalProperty(elem, data, mult, container) {\n    this.propType = 'multidimensional';\n    var i;\n    var len = data.k.length;\n    var s;\n    var e;\n    var to;\n    var ti;\n\n    for (i = 0; i < len - 1; i += 1) {\n      if (data.k[i].to && data.k[i].s && data.k[i + 1] && data.k[i + 1].s) {\n        s = data.k[i].s;\n        e = data.k[i + 1].s;\n        to = data.k[i].to;\n        ti = data.k[i].ti;\n\n        if (s.length === 2 && !(s[0] === e[0] && s[1] === e[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], s[0] + to[0], s[1] + to[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], e[0] + ti[0], e[1] + ti[1]) || s.length === 3 && !(s[0] === e[0] && s[1] === e[1] && s[2] === e[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], s[0] + to[0], s[1] + to[1], s[2] + to[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], e[0] + ti[0], e[1] + ti[1], e[2] + ti[2])) {\n          data.k[i].to = null;\n          data.k[i].ti = null;\n        }\n\n        if (s[0] === e[0] && s[1] === e[1] && to[0] === 0 && to[1] === 0 && ti[0] === 0 && ti[1] === 0) {\n          if (s.length === 2 || s[2] === e[2] && to[2] === 0 && ti[2] === 0) {\n            data.k[i].to = null;\n            data.k[i].ti = null;\n          }\n        }\n      }\n    }\n\n    this.effectsSequence = [getValueAtCurrentTime.bind(this)];\n    this.data = data;\n    this.keyframes = data.k;\n    this.keyframesMetadata = [];\n    this.offsetTime = elem.data.st;\n    this.k = true;\n    this.kf = true;\n    this._isFirstFrame = true;\n    this.mult = mult || 1;\n    this.elem = elem;\n    this.container = container;\n    this.comp = elem.comp;\n    this.getValue = processEffectsSequence;\n    this.setVValue = setVValue;\n    this.interpolateValue = interpolateValue;\n    this.frameId = -1;\n    var arrLen = data.k[0].s.length;\n    this.v = createTypedArray('float32', arrLen);\n    this.pv = createTypedArray('float32', arrLen);\n\n    for (i = 0; i < arrLen; i += 1) {\n      this.v[i] = initFrame;\n      this.pv[i] = initFrame;\n    }\n\n    this._caching = {\n      lastFrame: initFrame,\n      lastIndex: 0,\n      value: createTypedArray('float32', arrLen)\n    };\n    this.addEffect = addEffect;\n  }\n\n  var PropertyFactory = function () {\n    function getProp(elem, data, type, mult, container) {\n      if (data.sid) {\n        data = elem.globalData.slotManager.getProp(data);\n      }\n\n      var p;\n\n      if (!data.k.length) {\n        p = new ValueProperty(elem, data, mult, container);\n      } else if (typeof data.k[0] === 'number') {\n        p = new MultiDimensionalProperty(elem, data, mult, container);\n      } else {\n        switch (type) {\n          case 0:\n            p = new KeyframedValueProperty(elem, data, mult, container);\n            break;\n\n          case 1:\n            p = new KeyframedMultidimensionalProperty(elem, data, mult, container);\n            break;\n\n          default:\n            break;\n        }\n      }\n\n      if (p.effectsSequence.length) {\n        container.addDynamicProperty(p);\n      }\n\n      return p;\n    }\n\n    var ob = {\n      getProp: getProp\n    };\n    return ob;\n  }();\n\n  function DynamicPropertyContainer() {}\n\n  DynamicPropertyContainer.prototype = {\n    addDynamicProperty: function addDynamicProperty(prop) {\n      if (this.dynamicProperties.indexOf(prop) === -1) {\n        this.dynamicProperties.push(prop);\n        this.container.addDynamicProperty(this);\n        this._isAnimated = true;\n      }\n    },\n    iterateDynamicProperties: function iterateDynamicProperties() {\n      this._mdf = false;\n      var i;\n      var len = this.dynamicProperties.length;\n\n      for (i = 0; i < len; i += 1) {\n        this.dynamicProperties[i].getValue();\n\n        if (this.dynamicProperties[i]._mdf) {\n          this._mdf = true;\n        }\n      }\n    },\n    initDynamicPropertyContainer: function initDynamicPropertyContainer(container) {\n      this.container = container;\n      this.dynamicProperties = [];\n      this._mdf = false;\n      this._isAnimated = false;\n    }\n  };\n\n  var pointPool = function () {\n    function create() {\n      return createTypedArray('float32', 2);\n    }\n\n    return poolFactory(8, create);\n  }();\n\n  function ShapePath() {\n    this.c = false;\n    this._length = 0;\n    this._maxLength = 8;\n    this.v = createSizedArray(this._maxLength);\n    this.o = createSizedArray(this._maxLength);\n    this.i = createSizedArray(this._maxLength);\n  }\n\n  ShapePath.prototype.setPathData = function (closed, len) {\n    this.c = closed;\n    this.setLength(len);\n    var i = 0;\n\n    while (i < len) {\n      this.v[i] = pointPool.newElement();\n      this.o[i] = pointPool.newElement();\n      this.i[i] = pointPool.newElement();\n      i += 1;\n    }\n  };\n\n  ShapePath.prototype.setLength = function (len) {\n    while (this._maxLength < len) {\n      this.doubleArrayLength();\n    }\n\n    this._length = len;\n  };\n\n  ShapePath.prototype.doubleArrayLength = function () {\n    this.v = this.v.concat(createSizedArray(this._maxLength));\n    this.i = this.i.concat(createSizedArray(this._maxLength));\n    this.o = this.o.concat(createSizedArray(this._maxLength));\n    this._maxLength *= 2;\n  };\n\n  ShapePath.prototype.setXYAt = function (x, y, type, pos, replace) {\n    var arr;\n    this._length = Math.max(this._length, pos + 1);\n\n    if (this._length >= this._maxLength) {\n      this.doubleArrayLength();\n    }\n\n    switch (type) {\n      case 'v':\n        arr = this.v;\n        break;\n\n      case 'i':\n        arr = this.i;\n        break;\n\n      case 'o':\n        arr = this.o;\n        break;\n\n      default:\n        arr = [];\n        break;\n    }\n\n    if (!arr[pos] || arr[pos] && !replace) {\n      arr[pos] = pointPool.newElement();\n    }\n\n    arr[pos][0] = x;\n    arr[pos][1] = y;\n  };\n\n  ShapePath.prototype.setTripleAt = function (vX, vY, oX, oY, iX, iY, pos, replace) {\n    this.setXYAt(vX, vY, 'v', pos, replace);\n    this.setXYAt(oX, oY, 'o', pos, replace);\n    this.setXYAt(iX, iY, 'i', pos, replace);\n  };\n\n  ShapePath.prototype.reverse = function () {\n    var newPath = new ShapePath();\n    newPath.setPathData(this.c, this._length);\n    var vertices = this.v;\n    var outPoints = this.o;\n    var inPoints = this.i;\n    var init = 0;\n\n    if (this.c) {\n      newPath.setTripleAt(vertices[0][0], vertices[0][1], inPoints[0][0], inPoints[0][1], outPoints[0][0], outPoints[0][1], 0, false);\n      init = 1;\n    }\n\n    var cnt = this._length - 1;\n    var len = this._length;\n    var i;\n\n    for (i = init; i < len; i += 1) {\n      newPath.setTripleAt(vertices[cnt][0], vertices[cnt][1], inPoints[cnt][0], inPoints[cnt][1], outPoints[cnt][0], outPoints[cnt][1], i, false);\n      cnt -= 1;\n    }\n\n    return newPath;\n  };\n\n  ShapePath.prototype.length = function () {\n    return this._length;\n  };\n\n  var shapePool = function () {\n    function create() {\n      return new ShapePath();\n    }\n\n    function release(shapePath) {\n      var len = shapePath._length;\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        pointPool.release(shapePath.v[i]);\n        pointPool.release(shapePath.i[i]);\n        pointPool.release(shapePath.o[i]);\n        shapePath.v[i] = null;\n        shapePath.i[i] = null;\n        shapePath.o[i] = null;\n      }\n\n      shapePath._length = 0;\n      shapePath.c = false;\n    }\n\n    function clone(shape) {\n      var cloned = factory.newElement();\n      var i;\n      var len = shape._length === undefined ? shape.v.length : shape._length;\n      cloned.setLength(len);\n      cloned.c = shape.c;\n\n      for (i = 0; i < len; i += 1) {\n        cloned.setTripleAt(shape.v[i][0], shape.v[i][1], shape.o[i][0], shape.o[i][1], shape.i[i][0], shape.i[i][1], i);\n      }\n\n      return cloned;\n    }\n\n    var factory = poolFactory(4, create, release);\n    factory.clone = clone;\n    return factory;\n  }();\n\n  function ShapeCollection() {\n    this._length = 0;\n    this._maxLength = 4;\n    this.shapes = createSizedArray(this._maxLength);\n  }\n\n  ShapeCollection.prototype.addShape = function (shapeData) {\n    if (this._length === this._maxLength) {\n      this.shapes = this.shapes.concat(createSizedArray(this._maxLength));\n      this._maxLength *= 2;\n    }\n\n    this.shapes[this._length] = shapeData;\n    this._length += 1;\n  };\n\n  ShapeCollection.prototype.releaseShapes = function () {\n    var i;\n\n    for (i = 0; i < this._length; i += 1) {\n      shapePool.release(this.shapes[i]);\n    }\n\n    this._length = 0;\n  };\n\n  var shapeCollectionPool = function () {\n    var ob = {\n      newShapeCollection: newShapeCollection,\n      release: release\n    };\n    var _length = 0;\n    var _maxLength = 4;\n    var pool = createSizedArray(_maxLength);\n\n    function newShapeCollection() {\n      var shapeCollection;\n\n      if (_length) {\n        _length -= 1;\n        shapeCollection = pool[_length];\n      } else {\n        shapeCollection = new ShapeCollection();\n      }\n\n      return shapeCollection;\n    }\n\n    function release(shapeCollection) {\n      var i;\n      var len = shapeCollection._length;\n\n      for (i = 0; i < len; i += 1) {\n        shapePool.release(shapeCollection.shapes[i]);\n      }\n\n      shapeCollection._length = 0;\n\n      if (_length === _maxLength) {\n        pool = pooling[\"double\"](pool);\n        _maxLength *= 2;\n      }\n\n      pool[_length] = shapeCollection;\n      _length += 1;\n    }\n\n    return ob;\n  }();\n\n  var ShapePropertyFactory = function () {\n    var initFrame = -999999;\n\n    function interpolateShape(frameNum, previousValue, caching) {\n      var iterationIndex = caching.lastIndex;\n      var keyPropS;\n      var keyPropE;\n      var isHold;\n      var j;\n      var k;\n      var jLen;\n      var kLen;\n      var perc;\n      var vertexValue;\n      var kf = this.keyframes;\n\n      if (frameNum < kf[0].t - this.offsetTime) {\n        keyPropS = kf[0].s[0];\n        isHold = true;\n        iterationIndex = 0;\n      } else if (frameNum >= kf[kf.length - 1].t - this.offsetTime) {\n        keyPropS = kf[kf.length - 1].s ? kf[kf.length - 1].s[0] : kf[kf.length - 2].e[0];\n        /* if(kf[kf.length - 1].s){\r\n                  keyPropS = kf[kf.length - 1].s[0];\r\n              }else{\r\n                  keyPropS = kf[kf.length - 2].e[0];\r\n              } */\n\n        isHold = true;\n      } else {\n        var i = iterationIndex;\n        var len = kf.length - 1;\n        var flag = true;\n        var keyData;\n        var nextKeyData;\n        var keyframeMetadata;\n\n        while (flag) {\n          keyData = kf[i];\n          nextKeyData = kf[i + 1];\n\n          if (nextKeyData.t - this.offsetTime > frameNum) {\n            break;\n          }\n\n          if (i < len - 1) {\n            i += 1;\n          } else {\n            flag = false;\n          }\n        }\n\n        keyframeMetadata = this.keyframesMetadata[i] || {};\n        isHold = keyData.h === 1;\n        iterationIndex = i;\n\n        if (!isHold) {\n          if (frameNum >= nextKeyData.t - this.offsetTime) {\n            perc = 1;\n          } else if (frameNum < keyData.t - this.offsetTime) {\n            perc = 0;\n          } else {\n            var fnc;\n\n            if (keyframeMetadata.__fnct) {\n              fnc = keyframeMetadata.__fnct;\n            } else {\n              fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y).get;\n              keyframeMetadata.__fnct = fnc;\n            }\n\n            perc = fnc((frameNum - (keyData.t - this.offsetTime)) / (nextKeyData.t - this.offsetTime - (keyData.t - this.offsetTime)));\n          }\n\n          keyPropE = nextKeyData.s ? nextKeyData.s[0] : keyData.e[0];\n        }\n\n        keyPropS = keyData.s[0];\n      }\n\n      jLen = previousValue._length;\n      kLen = keyPropS.i[0].length;\n      caching.lastIndex = iterationIndex;\n\n      for (j = 0; j < jLen; j += 1) {\n        for (k = 0; k < kLen; k += 1) {\n          vertexValue = isHold ? keyPropS.i[j][k] : keyPropS.i[j][k] + (keyPropE.i[j][k] - keyPropS.i[j][k]) * perc;\n          previousValue.i[j][k] = vertexValue;\n          vertexValue = isHold ? keyPropS.o[j][k] : keyPropS.o[j][k] + (keyPropE.o[j][k] - keyPropS.o[j][k]) * perc;\n          previousValue.o[j][k] = vertexValue;\n          vertexValue = isHold ? keyPropS.v[j][k] : keyPropS.v[j][k] + (keyPropE.v[j][k] - keyPropS.v[j][k]) * perc;\n          previousValue.v[j][k] = vertexValue;\n        }\n      }\n    }\n\n    function interpolateShapeCurrentTime() {\n      var frameNum = this.comp.renderedFrame - this.offsetTime;\n      var initTime = this.keyframes[0].t - this.offsetTime;\n      var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\n      var lastFrame = this._caching.lastFrame;\n\n      if (!(lastFrame !== initFrame && (lastFrame < initTime && frameNum < initTime || lastFrame > endTime && frameNum > endTime))) {\n        /// /\n        this._caching.lastIndex = lastFrame < frameNum ? this._caching.lastIndex : 0;\n        this.interpolateShape(frameNum, this.pv, this._caching); /// /\n      }\n\n      this._caching.lastFrame = frameNum;\n      return this.pv;\n    }\n\n    function resetShape() {\n      this.paths = this.localShapeCollection;\n    }\n\n    function shapesEqual(shape1, shape2) {\n      if (shape1._length !== shape2._length || shape1.c !== shape2.c) {\n        return false;\n      }\n\n      var i;\n      var len = shape1._length;\n\n      for (i = 0; i < len; i += 1) {\n        if (shape1.v[i][0] !== shape2.v[i][0] || shape1.v[i][1] !== shape2.v[i][1] || shape1.o[i][0] !== shape2.o[i][0] || shape1.o[i][1] !== shape2.o[i][1] || shape1.i[i][0] !== shape2.i[i][0] || shape1.i[i][1] !== shape2.i[i][1]) {\n          return false;\n        }\n      }\n\n      return true;\n    }\n\n    function setVValue(newPath) {\n      if (!shapesEqual(this.v, newPath)) {\n        this.v = shapePool.clone(newPath);\n        this.localShapeCollection.releaseShapes();\n        this.localShapeCollection.addShape(this.v);\n        this._mdf = true;\n        this.paths = this.localShapeCollection;\n      }\n    }\n\n    function processEffectsSequence() {\n      if (this.elem.globalData.frameId === this.frameId) {\n        return;\n      }\n\n      if (!this.effectsSequence.length) {\n        this._mdf = false;\n        return;\n      }\n\n      if (this.lock) {\n        this.setVValue(this.pv);\n        return;\n      }\n\n      this.lock = true;\n      this._mdf = false;\n      var finalValue;\n\n      if (this.kf) {\n        finalValue = this.pv;\n      } else if (this.data.ks) {\n        finalValue = this.data.ks.k;\n      } else {\n        finalValue = this.data.pt.k;\n      }\n\n      var i;\n      var len = this.effectsSequence.length;\n\n      for (i = 0; i < len; i += 1) {\n        finalValue = this.effectsSequence[i](finalValue);\n      }\n\n      this.setVValue(finalValue);\n      this.lock = false;\n      this.frameId = this.elem.globalData.frameId;\n    }\n\n    function ShapeProperty(elem, data, type) {\n      this.propType = 'shape';\n      this.comp = elem.comp;\n      this.container = elem;\n      this.elem = elem;\n      this.data = data;\n      this.k = false;\n      this.kf = false;\n      this._mdf = false;\n      var pathData = type === 3 ? data.pt.k : data.ks.k;\n      this.v = shapePool.clone(pathData);\n      this.pv = shapePool.clone(this.v);\n      this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n      this.paths = this.localShapeCollection;\n      this.paths.addShape(this.v);\n      this.reset = resetShape;\n      this.effectsSequence = [];\n    }\n\n    function addEffect(effectFunction) {\n      this.effectsSequence.push(effectFunction);\n      this.container.addDynamicProperty(this);\n    }\n\n    ShapeProperty.prototype.interpolateShape = interpolateShape;\n    ShapeProperty.prototype.getValue = processEffectsSequence;\n    ShapeProperty.prototype.setVValue = setVValue;\n    ShapeProperty.prototype.addEffect = addEffect;\n\n    function KeyframedShapeProperty(elem, data, type) {\n      this.propType = 'shape';\n      this.comp = elem.comp;\n      this.elem = elem;\n      this.container = elem;\n      this.offsetTime = elem.data.st;\n      this.keyframes = type === 3 ? data.pt.k : data.ks.k;\n      this.keyframesMetadata = [];\n      this.k = true;\n      this.kf = true;\n      var len = this.keyframes[0].s[0].i.length;\n      this.v = shapePool.newElement();\n      this.v.setPathData(this.keyframes[0].s[0].c, len);\n      this.pv = shapePool.clone(this.v);\n      this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n      this.paths = this.localShapeCollection;\n      this.paths.addShape(this.v);\n      this.lastFrame = initFrame;\n      this.reset = resetShape;\n      this._caching = {\n        lastFrame: initFrame,\n        lastIndex: 0\n      };\n      this.effectsSequence = [interpolateShapeCurrentTime.bind(this)];\n    }\n\n    KeyframedShapeProperty.prototype.getValue = processEffectsSequence;\n    KeyframedShapeProperty.prototype.interpolateShape = interpolateShape;\n    KeyframedShapeProperty.prototype.setVValue = setVValue;\n    KeyframedShapeProperty.prototype.addEffect = addEffect;\n\n    var EllShapeProperty = function () {\n      var cPoint = roundCorner;\n\n      function EllShapePropertyFactory(elem, data) {\n        this.v = shapePool.newElement();\n        this.v.setPathData(true, 4);\n        this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n        this.paths = this.localShapeCollection;\n        this.localShapeCollection.addShape(this.v);\n        this.d = data.d;\n        this.elem = elem;\n        this.comp = elem.comp;\n        this.frameId = -1;\n        this.initDynamicPropertyContainer(elem);\n        this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n        this.s = PropertyFactory.getProp(elem, data.s, 1, 0, this);\n\n        if (this.dynamicProperties.length) {\n          this.k = true;\n        } else {\n          this.k = false;\n          this.convertEllToPath();\n        }\n      }\n\n      EllShapePropertyFactory.prototype = {\n        reset: resetShape,\n        getValue: function getValue() {\n          if (this.elem.globalData.frameId === this.frameId) {\n            return;\n          }\n\n          this.frameId = this.elem.globalData.frameId;\n          this.iterateDynamicProperties();\n\n          if (this._mdf) {\n            this.convertEllToPath();\n          }\n        },\n        convertEllToPath: function convertEllToPath() {\n          var p0 = this.p.v[0];\n          var p1 = this.p.v[1];\n          var s0 = this.s.v[0] / 2;\n          var s1 = this.s.v[1] / 2;\n\n          var _cw = this.d !== 3;\n\n          var _v = this.v;\n          _v.v[0][0] = p0;\n          _v.v[0][1] = p1 - s1;\n          _v.v[1][0] = _cw ? p0 + s0 : p0 - s0;\n          _v.v[1][1] = p1;\n          _v.v[2][0] = p0;\n          _v.v[2][1] = p1 + s1;\n          _v.v[3][0] = _cw ? p0 - s0 : p0 + s0;\n          _v.v[3][1] = p1;\n          _v.i[0][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n          _v.i[0][1] = p1 - s1;\n          _v.i[1][0] = _cw ? p0 + s0 : p0 - s0;\n          _v.i[1][1] = p1 - s1 * cPoint;\n          _v.i[2][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n          _v.i[2][1] = p1 + s1;\n          _v.i[3][0] = _cw ? p0 - s0 : p0 + s0;\n          _v.i[3][1] = p1 + s1 * cPoint;\n          _v.o[0][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n          _v.o[0][1] = p1 - s1;\n          _v.o[1][0] = _cw ? p0 + s0 : p0 - s0;\n          _v.o[1][1] = p1 + s1 * cPoint;\n          _v.o[2][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n          _v.o[2][1] = p1 + s1;\n          _v.o[3][0] = _cw ? p0 - s0 : p0 + s0;\n          _v.o[3][1] = p1 - s1 * cPoint;\n        }\n      };\n      extendPrototype([DynamicPropertyContainer], EllShapePropertyFactory);\n      return EllShapePropertyFactory;\n    }();\n\n    var StarShapeProperty = function () {\n      function StarShapePropertyFactory(elem, data) {\n        this.v = shapePool.newElement();\n        this.v.setPathData(true, 0);\n        this.elem = elem;\n        this.comp = elem.comp;\n        this.data = data;\n        this.frameId = -1;\n        this.d = data.d;\n        this.initDynamicPropertyContainer(elem);\n\n        if (data.sy === 1) {\n          this.ir = PropertyFactory.getProp(elem, data.ir, 0, 0, this);\n          this.is = PropertyFactory.getProp(elem, data.is, 0, 0.01, this);\n          this.convertToPath = this.convertStarToPath;\n        } else {\n          this.convertToPath = this.convertPolygonToPath;\n        }\n\n        this.pt = PropertyFactory.getProp(elem, data.pt, 0, 0, this);\n        this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n        this.r = PropertyFactory.getProp(elem, data.r, 0, degToRads, this);\n        this.or = PropertyFactory.getProp(elem, data.or, 0, 0, this);\n        this.os = PropertyFactory.getProp(elem, data.os, 0, 0.01, this);\n        this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n        this.localShapeCollection.addShape(this.v);\n        this.paths = this.localShapeCollection;\n\n        if (this.dynamicProperties.length) {\n          this.k = true;\n        } else {\n          this.k = false;\n          this.convertToPath();\n        }\n      }\n\n      StarShapePropertyFactory.prototype = {\n        reset: resetShape,\n        getValue: function getValue() {\n          if (this.elem.globalData.frameId === this.frameId) {\n            return;\n          }\n\n          this.frameId = this.elem.globalData.frameId;\n          this.iterateDynamicProperties();\n\n          if (this._mdf) {\n            this.convertToPath();\n          }\n        },\n        convertStarToPath: function convertStarToPath() {\n          var numPts = Math.floor(this.pt.v) * 2;\n          var angle = Math.PI * 2 / numPts;\n          /* this.v.v.length = numPts;\r\n                  this.v.i.length = numPts;\r\n                  this.v.o.length = numPts; */\n\n          var longFlag = true;\n          var longRad = this.or.v;\n          var shortRad = this.ir.v;\n          var longRound = this.os.v;\n          var shortRound = this.is.v;\n          var longPerimSegment = 2 * Math.PI * longRad / (numPts * 2);\n          var shortPerimSegment = 2 * Math.PI * shortRad / (numPts * 2);\n          var i;\n          var rad;\n          var roundness;\n          var perimSegment;\n          var currentAng = -Math.PI / 2;\n          currentAng += this.r.v;\n          var dir = this.data.d === 3 ? -1 : 1;\n          this.v._length = 0;\n\n          for (i = 0; i < numPts; i += 1) {\n            rad = longFlag ? longRad : shortRad;\n            roundness = longFlag ? longRound : shortRound;\n            perimSegment = longFlag ? longPerimSegment : shortPerimSegment;\n            var x = rad * Math.cos(currentAng);\n            var y = rad * Math.sin(currentAng);\n            var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n            var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n            x += +this.p.v[0];\n            y += +this.p.v[1];\n            this.v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n            /* this.v.v[i] = [x,y];\r\n                      this.v.i[i] = [x+ox*perimSegment*roundness*dir,y+oy*perimSegment*roundness*dir];\r\n                      this.v.o[i] = [x-ox*perimSegment*roundness*dir,y-oy*perimSegment*roundness*dir];\r\n                      this.v._length = numPts; */\n\n            longFlag = !longFlag;\n            currentAng += angle * dir;\n          }\n        },\n        convertPolygonToPath: function convertPolygonToPath() {\n          var numPts = Math.floor(this.pt.v);\n          var angle = Math.PI * 2 / numPts;\n          var rad = this.or.v;\n          var roundness = this.os.v;\n          var perimSegment = 2 * Math.PI * rad / (numPts * 4);\n          var i;\n          var currentAng = -Math.PI * 0.5;\n          var dir = this.data.d === 3 ? -1 : 1;\n          currentAng += this.r.v;\n          this.v._length = 0;\n\n          for (i = 0; i < numPts; i += 1) {\n            var x = rad * Math.cos(currentAng);\n            var y = rad * Math.sin(currentAng);\n            var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n            var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n            x += +this.p.v[0];\n            y += +this.p.v[1];\n            this.v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n            currentAng += angle * dir;\n          }\n\n          this.paths.length = 0;\n          this.paths[0] = this.v;\n        }\n      };\n      extendPrototype([DynamicPropertyContainer], StarShapePropertyFactory);\n      return StarShapePropertyFactory;\n    }();\n\n    var RectShapeProperty = function () {\n      function RectShapePropertyFactory(elem, data) {\n        this.v = shapePool.newElement();\n        this.v.c = true;\n        this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n        this.localShapeCollection.addShape(this.v);\n        this.paths = this.localShapeCollection;\n        this.elem = elem;\n        this.comp = elem.comp;\n        this.frameId = -1;\n        this.d = data.d;\n        this.initDynamicPropertyContainer(elem);\n        this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n        this.s = PropertyFactory.getProp(elem, data.s, 1, 0, this);\n        this.r = PropertyFactory.getProp(elem, data.r, 0, 0, this);\n\n        if (this.dynamicProperties.length) {\n          this.k = true;\n        } else {\n          this.k = false;\n          this.convertRectToPath();\n        }\n      }\n\n      RectShapePropertyFactory.prototype = {\n        convertRectToPath: function convertRectToPath() {\n          var p0 = this.p.v[0];\n          var p1 = this.p.v[1];\n          var v0 = this.s.v[0] / 2;\n          var v1 = this.s.v[1] / 2;\n          var round = bmMin(v0, v1, this.r.v);\n          var cPoint = round * (1 - roundCorner);\n          this.v._length = 0;\n\n          if (this.d === 2 || this.d === 1) {\n            this.v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, 0, true);\n            this.v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, p0 + v0, p1 + v1 - round, 1, true);\n\n            if (round !== 0) {\n              this.v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, 2, true);\n              this.v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0 + round, p1 + v1, 3, true);\n              this.v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, 4, true);\n              this.v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1 + round, 5, true);\n              this.v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, 6, true);\n              this.v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, p0 + v0 - round, p1 - v1, 7, true);\n            } else {\n              this.v.setTripleAt(p0 - v0, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0, p1 + v1, 2);\n              this.v.setTripleAt(p0 - v0, p1 - v1, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1, 3);\n            }\n          } else {\n            this.v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, p0 + v0, p1 - v1 + round, 0, true);\n\n            if (round !== 0) {\n              this.v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, 1, true);\n              this.v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0 + round, p1 - v1, 2, true);\n              this.v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, 3, true);\n              this.v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1 - round, 4, true);\n              this.v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, 5, true);\n              this.v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0 - round, p1 + v1, 6, true);\n              this.v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, 7, true);\n            } else {\n              this.v.setTripleAt(p0 - v0, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0, p1 - v1, 1, true);\n              this.v.setTripleAt(p0 - v0, p1 + v1, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1, 2, true);\n              this.v.setTripleAt(p0 + v0, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0, p1 + v1, 3, true);\n            }\n          }\n        },\n        getValue: function getValue() {\n          if (this.elem.globalData.frameId === this.frameId) {\n            return;\n          }\n\n          this.frameId = this.elem.globalData.frameId;\n          this.iterateDynamicProperties();\n\n          if (this._mdf) {\n            this.convertRectToPath();\n          }\n        },\n        reset: resetShape\n      };\n      extendPrototype([DynamicPropertyContainer], RectShapePropertyFactory);\n      return RectShapePropertyFactory;\n    }();\n\n    function getShapeProp(elem, data, type) {\n      var prop;\n\n      if (type === 3 || type === 4) {\n        var dataProp = type === 3 ? data.pt : data.ks;\n        var keys = dataProp.k;\n\n        if (keys.length) {\n          prop = new KeyframedShapeProperty(elem, data, type);\n        } else {\n          prop = new ShapeProperty(elem, data, type);\n        }\n      } else if (type === 5) {\n        prop = new RectShapeProperty(elem, data);\n      } else if (type === 6) {\n        prop = new EllShapeProperty(elem, data);\n      } else if (type === 7) {\n        prop = new StarShapeProperty(elem, data);\n      }\n\n      if (prop.k) {\n        elem.addDynamicProperty(prop);\n      }\n\n      return prop;\n    }\n\n    function getConstructorFunction() {\n      return ShapeProperty;\n    }\n\n    function getKeyframedConstructorFunction() {\n      return KeyframedShapeProperty;\n    }\n\n    var ob = {};\n    ob.getShapeProp = getShapeProp;\n    ob.getConstructorFunction = getConstructorFunction;\n    ob.getKeyframedConstructorFunction = getKeyframedConstructorFunction;\n    return ob;\n  }();\n\n  /*!\r\n   Transformation Matrix v2.0\r\n   (c) Epistemex 2014-2015\r\n   www.epistemex.com\r\n   By Ken Fyrstenberg\r\n   Contributions by leeoniya.\r\n   License: MIT, header required.\r\n   */\n\n  /**\r\n   * 2D transformation matrix object initialized with identity matrix.\r\n   *\r\n   * The matrix can synchronize a canvas context by supplying the context\r\n   * as an argument, or later apply current absolute transform to an\r\n   * existing context.\r\n   *\r\n   * All values are handled as floating point values.\r\n   *\r\n   * @param {CanvasRenderingContext2D} [context] - Optional context to sync with Matrix\r\n   * @prop {number} a - scale x\r\n   * @prop {number} b - shear y\r\n   * @prop {number} c - shear x\r\n   * @prop {number} d - scale y\r\n   * @prop {number} e - translate x\r\n   * @prop {number} f - translate y\r\n   * @prop {CanvasRenderingContext2D|null} [context=null] - set or get current canvas context\r\n   * @constructor\r\n   */\n\n  var Matrix = function () {\n    var _cos = Math.cos;\n    var _sin = Math.sin;\n    var _tan = Math.tan;\n    var _rnd = Math.round;\n\n    function reset() {\n      this.props[0] = 1;\n      this.props[1] = 0;\n      this.props[2] = 0;\n      this.props[3] = 0;\n      this.props[4] = 0;\n      this.props[5] = 1;\n      this.props[6] = 0;\n      this.props[7] = 0;\n      this.props[8] = 0;\n      this.props[9] = 0;\n      this.props[10] = 1;\n      this.props[11] = 0;\n      this.props[12] = 0;\n      this.props[13] = 0;\n      this.props[14] = 0;\n      this.props[15] = 1;\n      return this;\n    }\n\n    function rotate(angle) {\n      if (angle === 0) {\n        return this;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n    }\n\n    function rotateX(angle) {\n      if (angle === 0) {\n        return this;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(1, 0, 0, 0, 0, mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1);\n    }\n\n    function rotateY(angle) {\n      if (angle === 0) {\n        return this;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, 0, mSin, 0, 0, 1, 0, 0, -mSin, 0, mCos, 0, 0, 0, 0, 1);\n    }\n\n    function rotateZ(angle) {\n      if (angle === 0) {\n        return this;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n    }\n\n    function shear(sx, sy) {\n      return this._t(1, sy, sx, 1, 0, 0);\n    }\n\n    function skew(ax, ay) {\n      return this.shear(_tan(ax), _tan(ay));\n    }\n\n    function skewFromAxis(ax, angle) {\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, mSin, 0, 0, -mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(1, 0, 0, 0, _tan(ax), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); // return this._t(mCos, mSin, -mSin, mCos, 0, 0)._t(1, 0, _tan(ax), 1, 0, 0)._t(mCos, -mSin, mSin, mCos, 0, 0);\n    }\n\n    function scale(sx, sy, sz) {\n      if (!sz && sz !== 0) {\n        sz = 1;\n      }\n\n      if (sx === 1 && sy === 1 && sz === 1) {\n        return this;\n      }\n\n      return this._t(sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1);\n    }\n\n    function setTransform(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) {\n      this.props[0] = a;\n      this.props[1] = b;\n      this.props[2] = c;\n      this.props[3] = d;\n      this.props[4] = e;\n      this.props[5] = f;\n      this.props[6] = g;\n      this.props[7] = h;\n      this.props[8] = i;\n      this.props[9] = j;\n      this.props[10] = k;\n      this.props[11] = l;\n      this.props[12] = m;\n      this.props[13] = n;\n      this.props[14] = o;\n      this.props[15] = p;\n      return this;\n    }\n\n    function translate(tx, ty, tz) {\n      tz = tz || 0;\n\n      if (tx !== 0 || ty !== 0 || tz !== 0) {\n        return this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, tx, ty, tz, 1);\n      }\n\n      return this;\n    }\n\n    function transform(a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2, n2, o2, p2) {\n      var _p = this.props;\n\n      if (a2 === 1 && b2 === 0 && c2 === 0 && d2 === 0 && e2 === 0 && f2 === 1 && g2 === 0 && h2 === 0 && i2 === 0 && j2 === 0 && k2 === 1 && l2 === 0) {\n        // NOTE: commenting this condition because TurboFan deoptimizes code when present\n        // if(m2 !== 0 || n2 !== 0 || o2 !== 0){\n        _p[12] = _p[12] * a2 + _p[15] * m2;\n        _p[13] = _p[13] * f2 + _p[15] * n2;\n        _p[14] = _p[14] * k2 + _p[15] * o2;\n        _p[15] *= p2; // }\n\n        this._identityCalculated = false;\n        return this;\n      }\n\n      var a1 = _p[0];\n      var b1 = _p[1];\n      var c1 = _p[2];\n      var d1 = _p[3];\n      var e1 = _p[4];\n      var f1 = _p[5];\n      var g1 = _p[6];\n      var h1 = _p[7];\n      var i1 = _p[8];\n      var j1 = _p[9];\n      var k1 = _p[10];\n      var l1 = _p[11];\n      var m1 = _p[12];\n      var n1 = _p[13];\n      var o1 = _p[14];\n      var p1 = _p[15];\n      /* matrix order (canvas compatible):\r\n           * ace\r\n           * bdf\r\n           * 001\r\n           */\n\n      _p[0] = a1 * a2 + b1 * e2 + c1 * i2 + d1 * m2;\n      _p[1] = a1 * b2 + b1 * f2 + c1 * j2 + d1 * n2;\n      _p[2] = a1 * c2 + b1 * g2 + c1 * k2 + d1 * o2;\n      _p[3] = a1 * d2 + b1 * h2 + c1 * l2 + d1 * p2;\n      _p[4] = e1 * a2 + f1 * e2 + g1 * i2 + h1 * m2;\n      _p[5] = e1 * b2 + f1 * f2 + g1 * j2 + h1 * n2;\n      _p[6] = e1 * c2 + f1 * g2 + g1 * k2 + h1 * o2;\n      _p[7] = e1 * d2 + f1 * h2 + g1 * l2 + h1 * p2;\n      _p[8] = i1 * a2 + j1 * e2 + k1 * i2 + l1 * m2;\n      _p[9] = i1 * b2 + j1 * f2 + k1 * j2 + l1 * n2;\n      _p[10] = i1 * c2 + j1 * g2 + k1 * k2 + l1 * o2;\n      _p[11] = i1 * d2 + j1 * h2 + k1 * l2 + l1 * p2;\n      _p[12] = m1 * a2 + n1 * e2 + o1 * i2 + p1 * m2;\n      _p[13] = m1 * b2 + n1 * f2 + o1 * j2 + p1 * n2;\n      _p[14] = m1 * c2 + n1 * g2 + o1 * k2 + p1 * o2;\n      _p[15] = m1 * d2 + n1 * h2 + o1 * l2 + p1 * p2;\n      this._identityCalculated = false;\n      return this;\n    }\n\n    function multiply(matrix) {\n      var matrixProps = matrix.props;\n      return this.transform(matrixProps[0], matrixProps[1], matrixProps[2], matrixProps[3], matrixProps[4], matrixProps[5], matrixProps[6], matrixProps[7], matrixProps[8], matrixProps[9], matrixProps[10], matrixProps[11], matrixProps[12], matrixProps[13], matrixProps[14], matrixProps[15]);\n    }\n\n    function isIdentity() {\n      if (!this._identityCalculated) {\n        this._identity = !(this.props[0] !== 1 || this.props[1] !== 0 || this.props[2] !== 0 || this.props[3] !== 0 || this.props[4] !== 0 || this.props[5] !== 1 || this.props[6] !== 0 || this.props[7] !== 0 || this.props[8] !== 0 || this.props[9] !== 0 || this.props[10] !== 1 || this.props[11] !== 0 || this.props[12] !== 0 || this.props[13] !== 0 || this.props[14] !== 0 || this.props[15] !== 1);\n        this._identityCalculated = true;\n      }\n\n      return this._identity;\n    }\n\n    function equals(matr) {\n      var i = 0;\n\n      while (i < 16) {\n        if (matr.props[i] !== this.props[i]) {\n          return false;\n        }\n\n        i += 1;\n      }\n\n      return true;\n    }\n\n    function clone(matr) {\n      var i;\n\n      for (i = 0; i < 16; i += 1) {\n        matr.props[i] = this.props[i];\n      }\n\n      return matr;\n    }\n\n    function cloneFromProps(props) {\n      var i;\n\n      for (i = 0; i < 16; i += 1) {\n        this.props[i] = props[i];\n      }\n    }\n\n    function applyToPoint(x, y, z) {\n      return {\n        x: x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12],\n        y: x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13],\n        z: x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14]\n      };\n      /* return {\r\n           x: x * me.a + y * me.c + me.e,\r\n           y: x * me.b + y * me.d + me.f\r\n           }; */\n    }\n\n    function applyToX(x, y, z) {\n      return x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12];\n    }\n\n    function applyToY(x, y, z) {\n      return x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13];\n    }\n\n    function applyToZ(x, y, z) {\n      return x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14];\n    }\n\n    function getInverseMatrix() {\n      var determinant = this.props[0] * this.props[5] - this.props[1] * this.props[4];\n      var a = this.props[5] / determinant;\n      var b = -this.props[1] / determinant;\n      var c = -this.props[4] / determinant;\n      var d = this.props[0] / determinant;\n      var e = (this.props[4] * this.props[13] - this.props[5] * this.props[12]) / determinant;\n      var f = -(this.props[0] * this.props[13] - this.props[1] * this.props[12]) / determinant;\n      var inverseMatrix = new Matrix();\n      inverseMatrix.props[0] = a;\n      inverseMatrix.props[1] = b;\n      inverseMatrix.props[4] = c;\n      inverseMatrix.props[5] = d;\n      inverseMatrix.props[12] = e;\n      inverseMatrix.props[13] = f;\n      return inverseMatrix;\n    }\n\n    function inversePoint(pt) {\n      var inverseMatrix = this.getInverseMatrix();\n      return inverseMatrix.applyToPointArray(pt[0], pt[1], pt[2] || 0);\n    }\n\n    function inversePoints(pts) {\n      var i;\n      var len = pts.length;\n      var retPts = [];\n\n      for (i = 0; i < len; i += 1) {\n        retPts[i] = inversePoint(pts[i]);\n      }\n\n      return retPts;\n    }\n\n    function applyToTriplePoints(pt1, pt2, pt3) {\n      var arr = createTypedArray('float32', 6);\n\n      if (this.isIdentity()) {\n        arr[0] = pt1[0];\n        arr[1] = pt1[1];\n        arr[2] = pt2[0];\n        arr[3] = pt2[1];\n        arr[4] = pt3[0];\n        arr[5] = pt3[1];\n      } else {\n        var p0 = this.props[0];\n        var p1 = this.props[1];\n        var p4 = this.props[4];\n        var p5 = this.props[5];\n        var p12 = this.props[12];\n        var p13 = this.props[13];\n        arr[0] = pt1[0] * p0 + pt1[1] * p4 + p12;\n        arr[1] = pt1[0] * p1 + pt1[1] * p5 + p13;\n        arr[2] = pt2[0] * p0 + pt2[1] * p4 + p12;\n        arr[3] = pt2[0] * p1 + pt2[1] * p5 + p13;\n        arr[4] = pt3[0] * p0 + pt3[1] * p4 + p12;\n        arr[5] = pt3[0] * p1 + pt3[1] * p5 + p13;\n      }\n\n      return arr;\n    }\n\n    function applyToPointArray(x, y, z) {\n      var arr;\n\n      if (this.isIdentity()) {\n        arr = [x, y, z];\n      } else {\n        arr = [x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12], x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13], x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14]];\n      }\n\n      return arr;\n    }\n\n    function applyToPointStringified(x, y) {\n      if (this.isIdentity()) {\n        return x + ',' + y;\n      }\n\n      var _p = this.props;\n      return Math.round((x * _p[0] + y * _p[4] + _p[12]) * 100) / 100 + ',' + Math.round((x * _p[1] + y * _p[5] + _p[13]) * 100) / 100;\n    }\n\n    function toCSS() {\n      // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n      /* if(this.isIdentity()) {\r\n              return '';\r\n          } */\n      var i = 0;\n      var props = this.props;\n      var cssValue = 'matrix3d(';\n      var v = 10000;\n\n      while (i < 16) {\n        cssValue += _rnd(props[i] * v) / v;\n        cssValue += i === 15 ? ')' : ',';\n        i += 1;\n      }\n\n      return cssValue;\n    }\n\n    function roundMatrixProperty(val) {\n      var v = 10000;\n\n      if (val < 0.000001 && val > 0 || val > -0.000001 && val < 0) {\n        return _rnd(val * v) / v;\n      }\n\n      return val;\n    }\n\n    function to2dCSS() {\n      // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n      /* if(this.isIdentity()) {\r\n              return '';\r\n          } */\n      var props = this.props;\n\n      var _a = roundMatrixProperty(props[0]);\n\n      var _b = roundMatrixProperty(props[1]);\n\n      var _c = roundMatrixProperty(props[4]);\n\n      var _d = roundMatrixProperty(props[5]);\n\n      var _e = roundMatrixProperty(props[12]);\n\n      var _f = roundMatrixProperty(props[13]);\n\n      return 'matrix(' + _a + ',' + _b + ',' + _c + ',' + _d + ',' + _e + ',' + _f + ')';\n    }\n\n    return function () {\n      this.reset = reset;\n      this.rotate = rotate;\n      this.rotateX = rotateX;\n      this.rotateY = rotateY;\n      this.rotateZ = rotateZ;\n      this.skew = skew;\n      this.skewFromAxis = skewFromAxis;\n      this.shear = shear;\n      this.scale = scale;\n      this.setTransform = setTransform;\n      this.translate = translate;\n      this.transform = transform;\n      this.multiply = multiply;\n      this.applyToPoint = applyToPoint;\n      this.applyToX = applyToX;\n      this.applyToY = applyToY;\n      this.applyToZ = applyToZ;\n      this.applyToPointArray = applyToPointArray;\n      this.applyToTriplePoints = applyToTriplePoints;\n      this.applyToPointStringified = applyToPointStringified;\n      this.toCSS = toCSS;\n      this.to2dCSS = to2dCSS;\n      this.clone = clone;\n      this.cloneFromProps = cloneFromProps;\n      this.equals = equals;\n      this.inversePoints = inversePoints;\n      this.inversePoint = inversePoint;\n      this.getInverseMatrix = getInverseMatrix;\n      this._t = this.transform;\n      this.isIdentity = isIdentity;\n      this._identity = true;\n      this._identityCalculated = false;\n      this.props = createTypedArray('float32', 16);\n      this.reset();\n    };\n  }();\n\n  function _typeof$3(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$3 = function _typeof(obj) { return typeof obj; }; } else { _typeof$3 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$3(obj); }\n  var lottie = {};\n  var standalone = '__[STANDALONE]__';\n  var animationData = '__[ANIMATIONDATA]__';\n  var renderer = '';\n\n  function setLocation(href) {\n    setLocationHref(href);\n  }\n\n  function searchAnimations() {\n    if (standalone === true) {\n      animationManager.searchAnimations(animationData, standalone, renderer);\n    } else {\n      animationManager.searchAnimations();\n    }\n  }\n\n  function setSubframeRendering(flag) {\n    setSubframeEnabled(flag);\n  }\n\n  function setPrefix(prefix) {\n    setIdPrefix(prefix);\n  }\n\n  function loadAnimation(params) {\n    if (standalone === true) {\n      params.animationData = JSON.parse(animationData);\n    }\n\n    return animationManager.loadAnimation(params);\n  }\n\n  function setQuality(value) {\n    if (typeof value === 'string') {\n      switch (value) {\n        case 'high':\n          setDefaultCurveSegments(200);\n          break;\n\n        default:\n        case 'medium':\n          setDefaultCurveSegments(50);\n          break;\n\n        case 'low':\n          setDefaultCurveSegments(10);\n          break;\n      }\n    } else if (!isNaN(value) && value > 1) {\n      setDefaultCurveSegments(value);\n    }\n\n    if (getDefaultCurveSegments() >= 50) {\n      roundValues(false);\n    } else {\n      roundValues(true);\n    }\n  }\n\n  function inBrowser() {\n    return typeof navigator !== 'undefined';\n  }\n\n  function installPlugin(type, plugin) {\n    if (type === 'expressions') {\n      setExpressionsPlugin(plugin);\n    }\n  }\n\n  function getFactory(name) {\n    switch (name) {\n      case 'propertyFactory':\n        return PropertyFactory;\n\n      case 'shapePropertyFactory':\n        return ShapePropertyFactory;\n\n      case 'matrix':\n        return Matrix;\n\n      default:\n        return null;\n    }\n  }\n\n  lottie.play = animationManager.play;\n  lottie.pause = animationManager.pause;\n  lottie.setLocationHref = setLocation;\n  lottie.togglePause = animationManager.togglePause;\n  lottie.setSpeed = animationManager.setSpeed;\n  lottie.setDirection = animationManager.setDirection;\n  lottie.stop = animationManager.stop;\n  lottie.searchAnimations = searchAnimations;\n  lottie.registerAnimation = animationManager.registerAnimation;\n  lottie.loadAnimation = loadAnimation;\n  lottie.setSubframeRendering = setSubframeRendering;\n  lottie.resize = animationManager.resize; // lottie.start = start;\n\n  lottie.goToAndStop = animationManager.goToAndStop;\n  lottie.destroy = animationManager.destroy;\n  lottie.setQuality = setQuality;\n  lottie.inBrowser = inBrowser;\n  lottie.installPlugin = installPlugin;\n  lottie.freeze = animationManager.freeze;\n  lottie.unfreeze = animationManager.unfreeze;\n  lottie.setVolume = animationManager.setVolume;\n  lottie.mute = animationManager.mute;\n  lottie.unmute = animationManager.unmute;\n  lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations;\n  lottie.useWebWorker = setWebWorker;\n  lottie.setIDPrefix = setPrefix;\n  lottie.__getFactory = getFactory;\n  lottie.version = '5.12.2';\n\n  function checkReady() {\n    if (document.readyState === 'complete') {\n      clearInterval(readyStateCheckInterval);\n      searchAnimations();\n    }\n  }\n\n  function getQueryVariable(variable) {\n    var vars = queryString.split('&');\n\n    for (var i = 0; i < vars.length; i += 1) {\n      var pair = vars[i].split('=');\n\n      if (decodeURIComponent(pair[0]) == variable) {\n        // eslint-disable-line eqeqeq\n        return decodeURIComponent(pair[1]);\n      }\n    }\n\n    return null;\n  }\n\n  var queryString = '';\n\n  if (standalone) {\n    var scripts = document.getElementsByTagName('script');\n    var index = scripts.length - 1;\n    var myScript = scripts[index] || {\n      src: ''\n    };\n    queryString = myScript.src ? myScript.src.replace(/^[^\\?]+\\??/, '') : ''; // eslint-disable-line no-useless-escape\n\n    renderer = getQueryVariable('renderer');\n  }\n\n  var readyStateCheckInterval = setInterval(checkReady, 100); // this adds bodymovin to the window object for backwards compatibility\n\n  try {\n    if (!((typeof exports === \"undefined\" ? \"undefined\" : _typeof$3(exports)) === 'object' && typeof module !== 'undefined') && !(typeof define === 'function' && define.amd) // eslint-disable-line no-undef\n    ) {\n      window.bodymovin = lottie;\n    }\n  } catch (err) {//\n  }\n\n  var ShapeModifiers = function () {\n    var ob = {};\n    var modifiers = {};\n    ob.registerModifier = registerModifier;\n    ob.getModifier = getModifier;\n\n    function registerModifier(nm, factory) {\n      if (!modifiers[nm]) {\n        modifiers[nm] = factory;\n      }\n    }\n\n    function getModifier(nm, elem, data) {\n      return new modifiers[nm](elem, data);\n    }\n\n    return ob;\n  }();\n\n  function ShapeModifier() {}\n\n  ShapeModifier.prototype.initModifierProperties = function () {};\n\n  ShapeModifier.prototype.addShapeToModifier = function () {};\n\n  ShapeModifier.prototype.addShape = function (data) {\n    if (!this.closed) {\n      // Adding shape to dynamic properties. It covers the case where a shape has no effects applied, to reset it's _mdf state on every tick.\n      data.sh.container.addDynamicProperty(data.sh);\n      var shapeData = {\n        shape: data.sh,\n        data: data,\n        localShapeCollection: shapeCollectionPool.newShapeCollection()\n      };\n      this.shapes.push(shapeData);\n      this.addShapeToModifier(shapeData);\n\n      if (this._isAnimated) {\n        data.setAsAnimated();\n      }\n    }\n  };\n\n  ShapeModifier.prototype.init = function (elem, data) {\n    this.shapes = [];\n    this.elem = elem;\n    this.initDynamicPropertyContainer(elem);\n    this.initModifierProperties(elem, data);\n    this.frameId = initialDefaultFrame;\n    this.closed = false;\n    this.k = false;\n\n    if (this.dynamicProperties.length) {\n      this.k = true;\n    } else {\n      this.getValue(true);\n    }\n  };\n\n  ShapeModifier.prototype.processKeys = function () {\n    if (this.elem.globalData.frameId === this.frameId) {\n      return;\n    }\n\n    this.frameId = this.elem.globalData.frameId;\n    this.iterateDynamicProperties();\n  };\n\n  extendPrototype([DynamicPropertyContainer], ShapeModifier);\n\n  function TrimModifier() {}\n\n  extendPrototype([ShapeModifier], TrimModifier);\n\n  TrimModifier.prototype.initModifierProperties = function (elem, data) {\n    this.s = PropertyFactory.getProp(elem, data.s, 0, 0.01, this);\n    this.e = PropertyFactory.getProp(elem, data.e, 0, 0.01, this);\n    this.o = PropertyFactory.getProp(elem, data.o, 0, 0, this);\n    this.sValue = 0;\n    this.eValue = 0;\n    this.getValue = this.processKeys;\n    this.m = data.m;\n    this._isAnimated = !!this.s.effectsSequence.length || !!this.e.effectsSequence.length || !!this.o.effectsSequence.length;\n  };\n\n  TrimModifier.prototype.addShapeToModifier = function (shapeData) {\n    shapeData.pathsData = [];\n  };\n\n  TrimModifier.prototype.calculateShapeEdges = function (s, e, shapeLength, addedLength, totalModifierLength) {\n    var segments = [];\n\n    if (e <= 1) {\n      segments.push({\n        s: s,\n        e: e\n      });\n    } else if (s >= 1) {\n      segments.push({\n        s: s - 1,\n        e: e - 1\n      });\n    } else {\n      segments.push({\n        s: s,\n        e: 1\n      });\n      segments.push({\n        s: 0,\n        e: e - 1\n      });\n    }\n\n    var shapeSegments = [];\n    var i;\n    var len = segments.length;\n    var segmentOb;\n\n    for (i = 0; i < len; i += 1) {\n      segmentOb = segments[i];\n\n      if (!(segmentOb.e * totalModifierLength < addedLength || segmentOb.s * totalModifierLength > addedLength + shapeLength)) {\n        var shapeS;\n        var shapeE;\n\n        if (segmentOb.s * totalModifierLength <= addedLength) {\n          shapeS = 0;\n        } else {\n          shapeS = (segmentOb.s * totalModifierLength - addedLength) / shapeLength;\n        }\n\n        if (segmentOb.e * totalModifierLength >= addedLength + shapeLength) {\n          shapeE = 1;\n        } else {\n          shapeE = (segmentOb.e * totalModifierLength - addedLength) / shapeLength;\n        }\n\n        shapeSegments.push([shapeS, shapeE]);\n      }\n    }\n\n    if (!shapeSegments.length) {\n      shapeSegments.push([0, 0]);\n    }\n\n    return shapeSegments;\n  };\n\n  TrimModifier.prototype.releasePathsData = function (pathsData) {\n    var i;\n    var len = pathsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      segmentsLengthPool.release(pathsData[i]);\n    }\n\n    pathsData.length = 0;\n    return pathsData;\n  };\n\n  TrimModifier.prototype.processShapes = function (_isFirstFrame) {\n    var s;\n    var e;\n\n    if (this._mdf || _isFirstFrame) {\n      var o = this.o.v % 360 / 360;\n\n      if (o < 0) {\n        o += 1;\n      }\n\n      if (this.s.v > 1) {\n        s = 1 + o;\n      } else if (this.s.v < 0) {\n        s = 0 + o;\n      } else {\n        s = this.s.v + o;\n      }\n\n      if (this.e.v > 1) {\n        e = 1 + o;\n      } else if (this.e.v < 0) {\n        e = 0 + o;\n      } else {\n        e = this.e.v + o;\n      }\n\n      if (s > e) {\n        var _s = s;\n        s = e;\n        e = _s;\n      }\n\n      s = Math.round(s * 10000) * 0.0001;\n      e = Math.round(e * 10000) * 0.0001;\n      this.sValue = s;\n      this.eValue = e;\n    } else {\n      s = this.sValue;\n      e = this.eValue;\n    }\n\n    var shapePaths;\n    var i;\n    var len = this.shapes.length;\n    var j;\n    var jLen;\n    var pathsData;\n    var pathData;\n    var totalShapeLength;\n    var totalModifierLength = 0;\n\n    if (e === s) {\n      for (i = 0; i < len; i += 1) {\n        this.shapes[i].localShapeCollection.releaseShapes();\n        this.shapes[i].shape._mdf = true;\n        this.shapes[i].shape.paths = this.shapes[i].localShapeCollection;\n\n        if (this._mdf) {\n          this.shapes[i].pathsData.length = 0;\n        }\n      }\n    } else if (!(e === 1 && s === 0 || e === 0 && s === 1)) {\n      var segments = [];\n      var shapeData;\n      var localShapeCollection;\n\n      for (i = 0; i < len; i += 1) {\n        shapeData = this.shapes[i]; // if shape hasn't changed and trim properties haven't changed, cached previous path can be used\n\n        if (!shapeData.shape._mdf && !this._mdf && !_isFirstFrame && this.m !== 2) {\n          shapeData.shape.paths = shapeData.localShapeCollection;\n        } else {\n          shapePaths = shapeData.shape.paths;\n          jLen = shapePaths._length;\n          totalShapeLength = 0;\n\n          if (!shapeData.shape._mdf && shapeData.pathsData.length) {\n            totalShapeLength = shapeData.totalShapeLength;\n          } else {\n            pathsData = this.releasePathsData(shapeData.pathsData);\n\n            for (j = 0; j < jLen; j += 1) {\n              pathData = bez.getSegmentsLength(shapePaths.shapes[j]);\n              pathsData.push(pathData);\n              totalShapeLength += pathData.totalLength;\n            }\n\n            shapeData.totalShapeLength = totalShapeLength;\n            shapeData.pathsData = pathsData;\n          }\n\n          totalModifierLength += totalShapeLength;\n          shapeData.shape._mdf = true;\n        }\n      }\n\n      var shapeS = s;\n      var shapeE = e;\n      var addedLength = 0;\n      var edges;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        shapeData = this.shapes[i];\n\n        if (shapeData.shape._mdf) {\n          localShapeCollection = shapeData.localShapeCollection;\n          localShapeCollection.releaseShapes(); // if m === 2 means paths are trimmed individually so edges need to be found for this specific shape relative to whoel group\n\n          if (this.m === 2 && len > 1) {\n            edges = this.calculateShapeEdges(s, e, shapeData.totalShapeLength, addedLength, totalModifierLength);\n            addedLength += shapeData.totalShapeLength;\n          } else {\n            edges = [[shapeS, shapeE]];\n          }\n\n          jLen = edges.length;\n\n          for (j = 0; j < jLen; j += 1) {\n            shapeS = edges[j][0];\n            shapeE = edges[j][1];\n            segments.length = 0;\n\n            if (shapeE <= 1) {\n              segments.push({\n                s: shapeData.totalShapeLength * shapeS,\n                e: shapeData.totalShapeLength * shapeE\n              });\n            } else if (shapeS >= 1) {\n              segments.push({\n                s: shapeData.totalShapeLength * (shapeS - 1),\n                e: shapeData.totalShapeLength * (shapeE - 1)\n              });\n            } else {\n              segments.push({\n                s: shapeData.totalShapeLength * shapeS,\n                e: shapeData.totalShapeLength\n              });\n              segments.push({\n                s: 0,\n                e: shapeData.totalShapeLength * (shapeE - 1)\n              });\n            }\n\n            var newShapesData = this.addShapes(shapeData, segments[0]);\n\n            if (segments[0].s !== segments[0].e) {\n              if (segments.length > 1) {\n                var lastShapeInCollection = shapeData.shape.paths.shapes[shapeData.shape.paths._length - 1];\n\n                if (lastShapeInCollection.c) {\n                  var lastShape = newShapesData.pop();\n                  this.addPaths(newShapesData, localShapeCollection);\n                  newShapesData = this.addShapes(shapeData, segments[1], lastShape);\n                } else {\n                  this.addPaths(newShapesData, localShapeCollection);\n                  newShapesData = this.addShapes(shapeData, segments[1]);\n                }\n              }\n\n              this.addPaths(newShapesData, localShapeCollection);\n            }\n          }\n\n          shapeData.shape.paths = localShapeCollection;\n        }\n      }\n    } else if (this._mdf) {\n      for (i = 0; i < len; i += 1) {\n        // Releasign Trim Cached paths data when no trim applied in case shapes are modified inbetween.\n        // Don't remove this even if it's losing cached info.\n        this.shapes[i].pathsData.length = 0;\n        this.shapes[i].shape._mdf = true;\n      }\n    }\n  };\n\n  TrimModifier.prototype.addPaths = function (newPaths, localShapeCollection) {\n    var i;\n    var len = newPaths.length;\n\n    for (i = 0; i < len; i += 1) {\n      localShapeCollection.addShape(newPaths[i]);\n    }\n  };\n\n  TrimModifier.prototype.addSegment = function (pt1, pt2, pt3, pt4, shapePath, pos, newShape) {\n    shapePath.setXYAt(pt2[0], pt2[1], 'o', pos);\n    shapePath.setXYAt(pt3[0], pt3[1], 'i', pos + 1);\n\n    if (newShape) {\n      shapePath.setXYAt(pt1[0], pt1[1], 'v', pos);\n    }\n\n    shapePath.setXYAt(pt4[0], pt4[1], 'v', pos + 1);\n  };\n\n  TrimModifier.prototype.addSegmentFromArray = function (points, shapePath, pos, newShape) {\n    shapePath.setXYAt(points[1], points[5], 'o', pos);\n    shapePath.setXYAt(points[2], points[6], 'i', pos + 1);\n\n    if (newShape) {\n      shapePath.setXYAt(points[0], points[4], 'v', pos);\n    }\n\n    shapePath.setXYAt(points[3], points[7], 'v', pos + 1);\n  };\n\n  TrimModifier.prototype.addShapes = function (shapeData, shapeSegment, shapePath) {\n    var pathsData = shapeData.pathsData;\n    var shapePaths = shapeData.shape.paths.shapes;\n    var i;\n    var len = shapeData.shape.paths._length;\n    var j;\n    var jLen;\n    var addedLength = 0;\n    var currentLengthData;\n    var segmentCount;\n    var lengths;\n    var segment;\n    var shapes = [];\n    var initPos;\n    var newShape = true;\n\n    if (!shapePath) {\n      shapePath = shapePool.newElement();\n      segmentCount = 0;\n      initPos = 0;\n    } else {\n      segmentCount = shapePath._length;\n      initPos = shapePath._length;\n    }\n\n    shapes.push(shapePath);\n\n    for (i = 0; i < len; i += 1) {\n      lengths = pathsData[i].lengths;\n      shapePath.c = shapePaths[i].c;\n      jLen = shapePaths[i].c ? lengths.length : lengths.length + 1;\n\n      for (j = 1; j < jLen; j += 1) {\n        currentLengthData = lengths[j - 1];\n\n        if (addedLength + currentLengthData.addedLength < shapeSegment.s) {\n          addedLength += currentLengthData.addedLength;\n          shapePath.c = false;\n        } else if (addedLength > shapeSegment.e) {\n          shapePath.c = false;\n          break;\n        } else {\n          if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + currentLengthData.addedLength) {\n            this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[j], shapePaths[i].v[j], shapePath, segmentCount, newShape);\n            newShape = false;\n          } else {\n            segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[j], shapePaths[i].o[j - 1], shapePaths[i].i[j], (shapeSegment.s - addedLength) / currentLengthData.addedLength, (shapeSegment.e - addedLength) / currentLengthData.addedLength, lengths[j - 1]);\n            this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n            newShape = false;\n            shapePath.c = false;\n          }\n\n          addedLength += currentLengthData.addedLength;\n          segmentCount += 1;\n        }\n      }\n\n      if (shapePaths[i].c && lengths.length) {\n        currentLengthData = lengths[j - 1];\n\n        if (addedLength <= shapeSegment.e) {\n          var segmentLength = lengths[j - 1].addedLength;\n\n          if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + segmentLength) {\n            this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[0], shapePaths[i].v[0], shapePath, segmentCount, newShape);\n            newShape = false;\n          } else {\n            segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[0], shapePaths[i].o[j - 1], shapePaths[i].i[0], (shapeSegment.s - addedLength) / segmentLength, (shapeSegment.e - addedLength) / segmentLength, lengths[j - 1]);\n            this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n            newShape = false;\n            shapePath.c = false;\n          }\n        } else {\n          shapePath.c = false;\n        }\n\n        addedLength += currentLengthData.addedLength;\n        segmentCount += 1;\n      }\n\n      if (shapePath._length) {\n        shapePath.setXYAt(shapePath.v[initPos][0], shapePath.v[initPos][1], 'i', initPos);\n        shapePath.setXYAt(shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1], 'o', shapePath._length - 1);\n      }\n\n      if (addedLength > shapeSegment.e) {\n        break;\n      }\n\n      if (i < len - 1) {\n        shapePath = shapePool.newElement();\n        newShape = true;\n        shapes.push(shapePath);\n        segmentCount = 0;\n      }\n    }\n\n    return shapes;\n  };\n\n  function PuckerAndBloatModifier() {}\n\n  extendPrototype([ShapeModifier], PuckerAndBloatModifier);\n\n  PuckerAndBloatModifier.prototype.initModifierProperties = function (elem, data) {\n    this.getValue = this.processKeys;\n    this.amount = PropertyFactory.getProp(elem, data.a, 0, null, this);\n    this._isAnimated = !!this.amount.effectsSequence.length;\n  };\n\n  PuckerAndBloatModifier.prototype.processPath = function (path, amount) {\n    var percent = amount / 100;\n    var centerPoint = [0, 0];\n    var pathLength = path._length;\n    var i = 0;\n\n    for (i = 0; i < pathLength; i += 1) {\n      centerPoint[0] += path.v[i][0];\n      centerPoint[1] += path.v[i][1];\n    }\n\n    centerPoint[0] /= pathLength;\n    centerPoint[1] /= pathLength;\n    var clonedPath = shapePool.newElement();\n    clonedPath.c = path.c;\n    var vX;\n    var vY;\n    var oX;\n    var oY;\n    var iX;\n    var iY;\n\n    for (i = 0; i < pathLength; i += 1) {\n      vX = path.v[i][0] + (centerPoint[0] - path.v[i][0]) * percent;\n      vY = path.v[i][1] + (centerPoint[1] - path.v[i][1]) * percent;\n      oX = path.o[i][0] + (centerPoint[0] - path.o[i][0]) * -percent;\n      oY = path.o[i][1] + (centerPoint[1] - path.o[i][1]) * -percent;\n      iX = path.i[i][0] + (centerPoint[0] - path.i[i][0]) * -percent;\n      iY = path.i[i][1] + (centerPoint[1] - path.i[i][1]) * -percent;\n      clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, i);\n    }\n\n    return clonedPath;\n  };\n\n  PuckerAndBloatModifier.prototype.processShapes = function (_isFirstFrame) {\n    var shapePaths;\n    var i;\n    var len = this.shapes.length;\n    var j;\n    var jLen;\n    var amount = this.amount.v;\n\n    if (amount !== 0) {\n      var shapeData;\n      var localShapeCollection;\n\n      for (i = 0; i < len; i += 1) {\n        shapeData = this.shapes[i];\n        localShapeCollection = shapeData.localShapeCollection;\n\n        if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n          localShapeCollection.releaseShapes();\n          shapeData.shape._mdf = true;\n          shapePaths = shapeData.shape.paths.shapes;\n          jLen = shapeData.shape.paths._length;\n\n          for (j = 0; j < jLen; j += 1) {\n            localShapeCollection.addShape(this.processPath(shapePaths[j], amount));\n          }\n        }\n\n        shapeData.shape.paths = shapeData.localShapeCollection;\n      }\n    }\n\n    if (!this.dynamicProperties.length) {\n      this._mdf = false;\n    }\n  };\n\n  var TransformPropertyFactory = function () {\n    var defaultVector = [0, 0];\n\n    function applyToMatrix(mat) {\n      var _mdf = this._mdf;\n      this.iterateDynamicProperties();\n      this._mdf = this._mdf || _mdf;\n\n      if (this.a) {\n        mat.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n      }\n\n      if (this.s) {\n        mat.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n      }\n\n      if (this.sk) {\n        mat.skewFromAxis(-this.sk.v, this.sa.v);\n      }\n\n      if (this.r) {\n        mat.rotate(-this.r.v);\n      } else {\n        mat.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\n      }\n\n      if (this.data.p.s) {\n        if (this.data.p.z) {\n          mat.translate(this.px.v, this.py.v, -this.pz.v);\n        } else {\n          mat.translate(this.px.v, this.py.v, 0);\n        }\n      } else {\n        mat.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n      }\n    }\n\n    function processKeys(forceRender) {\n      if (this.elem.globalData.frameId === this.frameId) {\n        return;\n      }\n\n      if (this._isDirty) {\n        this.precalculateMatrix();\n        this._isDirty = false;\n      }\n\n      this.iterateDynamicProperties();\n\n      if (this._mdf || forceRender) {\n        var frameRate;\n        this.v.cloneFromProps(this.pre.props);\n\n        if (this.appliedTransformations < 1) {\n          this.v.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n        }\n\n        if (this.appliedTransformations < 2) {\n          this.v.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n        }\n\n        if (this.sk && this.appliedTransformations < 3) {\n          this.v.skewFromAxis(-this.sk.v, this.sa.v);\n        }\n\n        if (this.r && this.appliedTransformations < 4) {\n          this.v.rotate(-this.r.v);\n        } else if (!this.r && this.appliedTransformations < 4) {\n          this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\n        }\n\n        if (this.autoOriented) {\n          var v1;\n          var v2;\n          frameRate = this.elem.globalData.frameRate;\n\n          if (this.p && this.p.keyframes && this.p.getValueAtTime) {\n            if (this.p._caching.lastFrame + this.p.offsetTime <= this.p.keyframes[0].t) {\n              v1 = this.p.getValueAtTime((this.p.keyframes[0].t + 0.01) / frameRate, 0);\n              v2 = this.p.getValueAtTime(this.p.keyframes[0].t / frameRate, 0);\n            } else if (this.p._caching.lastFrame + this.p.offsetTime >= this.p.keyframes[this.p.keyframes.length - 1].t) {\n              v1 = this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length - 1].t / frameRate, 0);\n              v2 = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - 0.05) / frameRate, 0);\n            } else {\n              v1 = this.p.pv;\n              v2 = this.p.getValueAtTime((this.p._caching.lastFrame + this.p.offsetTime - 0.01) / frameRate, this.p.offsetTime);\n            }\n          } else if (this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime) {\n            v1 = [];\n            v2 = [];\n            var px = this.px;\n            var py = this.py;\n\n            if (px._caching.lastFrame + px.offsetTime <= px.keyframes[0].t) {\n              v1[0] = px.getValueAtTime((px.keyframes[0].t + 0.01) / frameRate, 0);\n              v1[1] = py.getValueAtTime((py.keyframes[0].t + 0.01) / frameRate, 0);\n              v2[0] = px.getValueAtTime(px.keyframes[0].t / frameRate, 0);\n              v2[1] = py.getValueAtTime(py.keyframes[0].t / frameRate, 0);\n            } else if (px._caching.lastFrame + px.offsetTime >= px.keyframes[px.keyframes.length - 1].t) {\n              v1[0] = px.getValueAtTime(px.keyframes[px.keyframes.length - 1].t / frameRate, 0);\n              v1[1] = py.getValueAtTime(py.keyframes[py.keyframes.length - 1].t / frameRate, 0);\n              v2[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t - 0.01) / frameRate, 0);\n              v2[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t - 0.01) / frameRate, 0);\n            } else {\n              v1 = [px.pv, py.pv];\n              v2[0] = px.getValueAtTime((px._caching.lastFrame + px.offsetTime - 0.01) / frameRate, px.offsetTime);\n              v2[1] = py.getValueAtTime((py._caching.lastFrame + py.offsetTime - 0.01) / frameRate, py.offsetTime);\n            }\n          } else {\n            v2 = defaultVector;\n            v1 = v2;\n          }\n\n          this.v.rotate(-Math.atan2(v1[1] - v2[1], v1[0] - v2[0]));\n        }\n\n        if (this.data.p && this.data.p.s) {\n          if (this.data.p.z) {\n            this.v.translate(this.px.v, this.py.v, -this.pz.v);\n          } else {\n            this.v.translate(this.px.v, this.py.v, 0);\n          }\n        } else {\n          this.v.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n        }\n      }\n\n      this.frameId = this.elem.globalData.frameId;\n    }\n\n    function precalculateMatrix() {\n      this.appliedTransformations = 0;\n      this.pre.reset();\n\n      if (!this.a.effectsSequence.length) {\n        this.pre.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n        this.appliedTransformations = 1;\n      } else {\n        return;\n      }\n\n      if (!this.s.effectsSequence.length) {\n        this.pre.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n        this.appliedTransformations = 2;\n      } else {\n        return;\n      }\n\n      if (this.sk) {\n        if (!this.sk.effectsSequence.length && !this.sa.effectsSequence.length) {\n          this.pre.skewFromAxis(-this.sk.v, this.sa.v);\n          this.appliedTransformations = 3;\n        } else {\n          return;\n        }\n      }\n\n      if (this.r) {\n        if (!this.r.effectsSequence.length) {\n          this.pre.rotate(-this.r.v);\n          this.appliedTransformations = 4;\n        }\n      } else if (!this.rz.effectsSequence.length && !this.ry.effectsSequence.length && !this.rx.effectsSequence.length && !this.or.effectsSequence.length) {\n        this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\n        this.appliedTransformations = 4;\n      }\n    }\n\n    function autoOrient() {//\n      // var prevP = this.getValueAtTime();\n    }\n\n    function addDynamicProperty(prop) {\n      this._addDynamicProperty(prop);\n\n      this.elem.addDynamicProperty(prop);\n      this._isDirty = true;\n    }\n\n    function TransformProperty(elem, data, container) {\n      this.elem = elem;\n      this.frameId = -1;\n      this.propType = 'transform';\n      this.data = data;\n      this.v = new Matrix(); // Precalculated matrix with non animated properties\n\n      this.pre = new Matrix();\n      this.appliedTransformations = 0;\n      this.initDynamicPropertyContainer(container || elem);\n\n      if (data.p && data.p.s) {\n        this.px = PropertyFactory.getProp(elem, data.p.x, 0, 0, this);\n        this.py = PropertyFactory.getProp(elem, data.p.y, 0, 0, this);\n\n        if (data.p.z) {\n          this.pz = PropertyFactory.getProp(elem, data.p.z, 0, 0, this);\n        }\n      } else {\n        this.p = PropertyFactory.getProp(elem, data.p || {\n          k: [0, 0, 0]\n        }, 1, 0, this);\n      }\n\n      if (data.rx) {\n        this.rx = PropertyFactory.getProp(elem, data.rx, 0, degToRads, this);\n        this.ry = PropertyFactory.getProp(elem, data.ry, 0, degToRads, this);\n        this.rz = PropertyFactory.getProp(elem, data.rz, 0, degToRads, this);\n\n        if (data.or.k[0].ti) {\n          var i;\n          var len = data.or.k.length;\n\n          for (i = 0; i < len; i += 1) {\n            data.or.k[i].to = null;\n            data.or.k[i].ti = null;\n          }\n        }\n\n        this.or = PropertyFactory.getProp(elem, data.or, 1, degToRads, this); // sh Indicates it needs to be capped between -180 and 180\n\n        this.or.sh = true;\n      } else {\n        this.r = PropertyFactory.getProp(elem, data.r || {\n          k: 0\n        }, 0, degToRads, this);\n      }\n\n      if (data.sk) {\n        this.sk = PropertyFactory.getProp(elem, data.sk, 0, degToRads, this);\n        this.sa = PropertyFactory.getProp(elem, data.sa, 0, degToRads, this);\n      }\n\n      this.a = PropertyFactory.getProp(elem, data.a || {\n        k: [0, 0, 0]\n      }, 1, 0, this);\n      this.s = PropertyFactory.getProp(elem, data.s || {\n        k: [100, 100, 100]\n      }, 1, 0.01, this); // Opacity is not part of the transform properties, that's why it won't use this.dynamicProperties. That way transforms won't get updated if opacity changes.\n\n      if (data.o) {\n        this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, elem);\n      } else {\n        this.o = {\n          _mdf: false,\n          v: 1\n        };\n      }\n\n      this._isDirty = true;\n\n      if (!this.dynamicProperties.length) {\n        this.getValue(true);\n      }\n    }\n\n    TransformProperty.prototype = {\n      applyToMatrix: applyToMatrix,\n      getValue: processKeys,\n      precalculateMatrix: precalculateMatrix,\n      autoOrient: autoOrient\n    };\n    extendPrototype([DynamicPropertyContainer], TransformProperty);\n    TransformProperty.prototype.addDynamicProperty = addDynamicProperty;\n    TransformProperty.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty;\n\n    function getTransformProperty(elem, data, container) {\n      return new TransformProperty(elem, data, container);\n    }\n\n    return {\n      getTransformProperty: getTransformProperty\n    };\n  }();\n\n  function RepeaterModifier() {}\n\n  extendPrototype([ShapeModifier], RepeaterModifier);\n\n  RepeaterModifier.prototype.initModifierProperties = function (elem, data) {\n    this.getValue = this.processKeys;\n    this.c = PropertyFactory.getProp(elem, data.c, 0, null, this);\n    this.o = PropertyFactory.getProp(elem, data.o, 0, null, this);\n    this.tr = TransformPropertyFactory.getTransformProperty(elem, data.tr, this);\n    this.so = PropertyFactory.getProp(elem, data.tr.so, 0, 0.01, this);\n    this.eo = PropertyFactory.getProp(elem, data.tr.eo, 0, 0.01, this);\n    this.data = data;\n\n    if (!this.dynamicProperties.length) {\n      this.getValue(true);\n    }\n\n    this._isAnimated = !!this.dynamicProperties.length;\n    this.pMatrix = new Matrix();\n    this.rMatrix = new Matrix();\n    this.sMatrix = new Matrix();\n    this.tMatrix = new Matrix();\n    this.matrix = new Matrix();\n  };\n\n  RepeaterModifier.prototype.applyTransforms = function (pMatrix, rMatrix, sMatrix, transform, perc, inv) {\n    var dir = inv ? -1 : 1;\n    var scaleX = transform.s.v[0] + (1 - transform.s.v[0]) * (1 - perc);\n    var scaleY = transform.s.v[1] + (1 - transform.s.v[1]) * (1 - perc);\n    pMatrix.translate(transform.p.v[0] * dir * perc, transform.p.v[1] * dir * perc, transform.p.v[2]);\n    rMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n    rMatrix.rotate(-transform.r.v * dir * perc);\n    rMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n    sMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n    sMatrix.scale(inv ? 1 / scaleX : scaleX, inv ? 1 / scaleY : scaleY);\n    sMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n  };\n\n  RepeaterModifier.prototype.init = function (elem, arr, pos, elemsData) {\n    this.elem = elem;\n    this.arr = arr;\n    this.pos = pos;\n    this.elemsData = elemsData;\n    this._currentCopies = 0;\n    this._elements = [];\n    this._groups = [];\n    this.frameId = -1;\n    this.initDynamicPropertyContainer(elem);\n    this.initModifierProperties(elem, arr[pos]);\n\n    while (pos > 0) {\n      pos -= 1; // this._elements.unshift(arr.splice(pos,1)[0]);\n\n      this._elements.unshift(arr[pos]);\n    }\n\n    if (this.dynamicProperties.length) {\n      this.k = true;\n    } else {\n      this.getValue(true);\n    }\n  };\n\n  RepeaterModifier.prototype.resetElements = function (elements) {\n    var i;\n    var len = elements.length;\n\n    for (i = 0; i < len; i += 1) {\n      elements[i]._processed = false;\n\n      if (elements[i].ty === 'gr') {\n        this.resetElements(elements[i].it);\n      }\n    }\n  };\n\n  RepeaterModifier.prototype.cloneElements = function (elements) {\n    var newElements = JSON.parse(JSON.stringify(elements));\n    this.resetElements(newElements);\n    return newElements;\n  };\n\n  RepeaterModifier.prototype.changeGroupRender = function (elements, renderFlag) {\n    var i;\n    var len = elements.length;\n\n    for (i = 0; i < len; i += 1) {\n      elements[i]._render = renderFlag;\n\n      if (elements[i].ty === 'gr') {\n        this.changeGroupRender(elements[i].it, renderFlag);\n      }\n    }\n  };\n\n  RepeaterModifier.prototype.processShapes = function (_isFirstFrame) {\n    var items;\n    var itemsTransform;\n    var i;\n    var dir;\n    var cont;\n    var hasReloaded = false;\n\n    if (this._mdf || _isFirstFrame) {\n      var copies = Math.ceil(this.c.v);\n\n      if (this._groups.length < copies) {\n        while (this._groups.length < copies) {\n          var group = {\n            it: this.cloneElements(this._elements),\n            ty: 'gr'\n          };\n          group.it.push({\n            a: {\n              a: 0,\n              ix: 1,\n              k: [0, 0]\n            },\n            nm: 'Transform',\n            o: {\n              a: 0,\n              ix: 7,\n              k: 100\n            },\n            p: {\n              a: 0,\n              ix: 2,\n              k: [0, 0]\n            },\n            r: {\n              a: 1,\n              ix: 6,\n              k: [{\n                s: 0,\n                e: 0,\n                t: 0\n              }, {\n                s: 0,\n                e: 0,\n                t: 1\n              }]\n            },\n            s: {\n              a: 0,\n              ix: 3,\n              k: [100, 100]\n            },\n            sa: {\n              a: 0,\n              ix: 5,\n              k: 0\n            },\n            sk: {\n              a: 0,\n              ix: 4,\n              k: 0\n            },\n            ty: 'tr'\n          });\n          this.arr.splice(0, 0, group);\n\n          this._groups.splice(0, 0, group);\n\n          this._currentCopies += 1;\n        }\n\n        this.elem.reloadShapes();\n        hasReloaded = true;\n      }\n\n      cont = 0;\n      var renderFlag;\n\n      for (i = 0; i <= this._groups.length - 1; i += 1) {\n        renderFlag = cont < copies;\n        this._groups[i]._render = renderFlag;\n        this.changeGroupRender(this._groups[i].it, renderFlag);\n\n        if (!renderFlag) {\n          var elems = this.elemsData[i].it;\n          var transformData = elems[elems.length - 1];\n\n          if (transformData.transform.op.v !== 0) {\n            transformData.transform.op._mdf = true;\n            transformData.transform.op.v = 0;\n          } else {\n            transformData.transform.op._mdf = false;\n          }\n        }\n\n        cont += 1;\n      }\n\n      this._currentCopies = copies; /// /\n\n      var offset = this.o.v;\n      var offsetModulo = offset % 1;\n      var roundOffset = offset > 0 ? Math.floor(offset) : Math.ceil(offset);\n      var pProps = this.pMatrix.props;\n      var rProps = this.rMatrix.props;\n      var sProps = this.sMatrix.props;\n      this.pMatrix.reset();\n      this.rMatrix.reset();\n      this.sMatrix.reset();\n      this.tMatrix.reset();\n      this.matrix.reset();\n      var iteration = 0;\n\n      if (offset > 0) {\n        while (iteration < roundOffset) {\n          this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);\n          iteration += 1;\n        }\n\n        if (offsetModulo) {\n          this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, offsetModulo, false);\n          iteration += offsetModulo;\n        }\n      } else if (offset < 0) {\n        while (iteration > roundOffset) {\n          this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, true);\n          iteration -= 1;\n        }\n\n        if (offsetModulo) {\n          this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, -offsetModulo, true);\n          iteration -= offsetModulo;\n        }\n      }\n\n      i = this.data.m === 1 ? 0 : this._currentCopies - 1;\n      dir = this.data.m === 1 ? 1 : -1;\n      cont = this._currentCopies;\n      var j;\n      var jLen;\n\n      while (cont) {\n        items = this.elemsData[i].it;\n        itemsTransform = items[items.length - 1].transform.mProps.v.props;\n        jLen = itemsTransform.length;\n        items[items.length - 1].transform.mProps._mdf = true;\n        items[items.length - 1].transform.op._mdf = true;\n        items[items.length - 1].transform.op.v = this._currentCopies === 1 ? this.so.v : this.so.v + (this.eo.v - this.so.v) * (i / (this._currentCopies - 1));\n\n        if (iteration !== 0) {\n          if (i !== 0 && dir === 1 || i !== this._currentCopies - 1 && dir === -1) {\n            this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);\n          }\n\n          this.matrix.transform(rProps[0], rProps[1], rProps[2], rProps[3], rProps[4], rProps[5], rProps[6], rProps[7], rProps[8], rProps[9], rProps[10], rProps[11], rProps[12], rProps[13], rProps[14], rProps[15]);\n          this.matrix.transform(sProps[0], sProps[1], sProps[2], sProps[3], sProps[4], sProps[5], sProps[6], sProps[7], sProps[8], sProps[9], sProps[10], sProps[11], sProps[12], sProps[13], sProps[14], sProps[15]);\n          this.matrix.transform(pProps[0], pProps[1], pProps[2], pProps[3], pProps[4], pProps[5], pProps[6], pProps[7], pProps[8], pProps[9], pProps[10], pProps[11], pProps[12], pProps[13], pProps[14], pProps[15]);\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsTransform[j] = this.matrix.props[j];\n          }\n\n          this.matrix.reset();\n        } else {\n          this.matrix.reset();\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsTransform[j] = this.matrix.props[j];\n          }\n        }\n\n        iteration += 1;\n        cont -= 1;\n        i += dir;\n      }\n    } else {\n      cont = this._currentCopies;\n      i = 0;\n      dir = 1;\n\n      while (cont) {\n        items = this.elemsData[i].it;\n        itemsTransform = items[items.length - 1].transform.mProps.v.props;\n        items[items.length - 1].transform.mProps._mdf = false;\n        items[items.length - 1].transform.op._mdf = false;\n        cont -= 1;\n        i += dir;\n      }\n    }\n\n    return hasReloaded;\n  };\n\n  RepeaterModifier.prototype.addShape = function () {};\n\n  function RoundCornersModifier() {}\n\n  extendPrototype([ShapeModifier], RoundCornersModifier);\n\n  RoundCornersModifier.prototype.initModifierProperties = function (elem, data) {\n    this.getValue = this.processKeys;\n    this.rd = PropertyFactory.getProp(elem, data.r, 0, null, this);\n    this._isAnimated = !!this.rd.effectsSequence.length;\n  };\n\n  RoundCornersModifier.prototype.processPath = function (path, round) {\n    var clonedPath = shapePool.newElement();\n    clonedPath.c = path.c;\n    var i;\n    var len = path._length;\n    var currentV;\n    var currentI;\n    var currentO;\n    var closerV;\n    var distance;\n    var newPosPerc;\n    var index = 0;\n    var vX;\n    var vY;\n    var oX;\n    var oY;\n    var iX;\n    var iY;\n\n    for (i = 0; i < len; i += 1) {\n      currentV = path.v[i];\n      currentO = path.o[i];\n      currentI = path.i[i];\n\n      if (currentV[0] === currentO[0] && currentV[1] === currentO[1] && currentV[0] === currentI[0] && currentV[1] === currentI[1]) {\n        if ((i === 0 || i === len - 1) && !path.c) {\n          clonedPath.setTripleAt(currentV[0], currentV[1], currentO[0], currentO[1], currentI[0], currentI[1], index);\n          /* clonedPath.v[index] = currentV;\r\n                  clonedPath.o[index] = currentO;\r\n                  clonedPath.i[index] = currentI; */\n\n          index += 1;\n        } else {\n          if (i === 0) {\n            closerV = path.v[len - 1];\n          } else {\n            closerV = path.v[i - 1];\n          }\n\n          distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n          newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n          iX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n          vX = iX;\n          iY = currentV[1] - (currentV[1] - closerV[1]) * newPosPerc;\n          vY = iY;\n          oX = vX - (vX - currentV[0]) * roundCorner;\n          oY = vY - (vY - currentV[1]) * roundCorner;\n          clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n          index += 1;\n\n          if (i === len - 1) {\n            closerV = path.v[0];\n          } else {\n            closerV = path.v[i + 1];\n          }\n\n          distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n          newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n          oX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n          vX = oX;\n          oY = currentV[1] + (closerV[1] - currentV[1]) * newPosPerc;\n          vY = oY;\n          iX = vX - (vX - currentV[0]) * roundCorner;\n          iY = vY - (vY - currentV[1]) * roundCorner;\n          clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n          index += 1;\n        }\n      } else {\n        clonedPath.setTripleAt(path.v[i][0], path.v[i][1], path.o[i][0], path.o[i][1], path.i[i][0], path.i[i][1], index);\n        index += 1;\n      }\n    }\n\n    return clonedPath;\n  };\n\n  RoundCornersModifier.prototype.processShapes = function (_isFirstFrame) {\n    var shapePaths;\n    var i;\n    var len = this.shapes.length;\n    var j;\n    var jLen;\n    var rd = this.rd.v;\n\n    if (rd !== 0) {\n      var shapeData;\n      var localShapeCollection;\n\n      for (i = 0; i < len; i += 1) {\n        shapeData = this.shapes[i];\n        localShapeCollection = shapeData.localShapeCollection;\n\n        if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n          localShapeCollection.releaseShapes();\n          shapeData.shape._mdf = true;\n          shapePaths = shapeData.shape.paths.shapes;\n          jLen = shapeData.shape.paths._length;\n\n          for (j = 0; j < jLen; j += 1) {\n            localShapeCollection.addShape(this.processPath(shapePaths[j], rd));\n          }\n        }\n\n        shapeData.shape.paths = shapeData.localShapeCollection;\n      }\n    }\n\n    if (!this.dynamicProperties.length) {\n      this._mdf = false;\n    }\n  };\n\n  function floatEqual(a, b) {\n    return Math.abs(a - b) * 100000 <= Math.min(Math.abs(a), Math.abs(b));\n  }\n\n  function floatZero(f) {\n    return Math.abs(f) <= 0.00001;\n  }\n\n  function lerp(p0, p1, amount) {\n    return p0 * (1 - amount) + p1 * amount;\n  }\n\n  function lerpPoint(p0, p1, amount) {\n    return [lerp(p0[0], p1[0], amount), lerp(p0[1], p1[1], amount)];\n  }\n\n  function quadRoots(a, b, c) {\n    // no root\n    if (a === 0) return [];\n    var s = b * b - 4 * a * c; // Complex roots\n\n    if (s < 0) return [];\n    var singleRoot = -b / (2 * a); // 1 root\n\n    if (s === 0) return [singleRoot];\n    var delta = Math.sqrt(s) / (2 * a); // 2 roots\n\n    return [singleRoot - delta, singleRoot + delta];\n  }\n\n  function polynomialCoefficients(p0, p1, p2, p3) {\n    return [-p0 + 3 * p1 - 3 * p2 + p3, 3 * p0 - 6 * p1 + 3 * p2, -3 * p0 + 3 * p1, p0];\n  }\n\n  function singlePoint(p) {\n    return new PolynomialBezier(p, p, p, p, false);\n  }\n\n  function PolynomialBezier(p0, p1, p2, p3, linearize) {\n    if (linearize && pointEqual(p0, p1)) {\n      p1 = lerpPoint(p0, p3, 1 / 3);\n    }\n\n    if (linearize && pointEqual(p2, p3)) {\n      p2 = lerpPoint(p0, p3, 2 / 3);\n    }\n\n    var coeffx = polynomialCoefficients(p0[0], p1[0], p2[0], p3[0]);\n    var coeffy = polynomialCoefficients(p0[1], p1[1], p2[1], p3[1]);\n    this.a = [coeffx[0], coeffy[0]];\n    this.b = [coeffx[1], coeffy[1]];\n    this.c = [coeffx[2], coeffy[2]];\n    this.d = [coeffx[3], coeffy[3]];\n    this.points = [p0, p1, p2, p3];\n  }\n\n  PolynomialBezier.prototype.point = function (t) {\n    return [((this.a[0] * t + this.b[0]) * t + this.c[0]) * t + this.d[0], ((this.a[1] * t + this.b[1]) * t + this.c[1]) * t + this.d[1]];\n  };\n\n  PolynomialBezier.prototype.derivative = function (t) {\n    return [(3 * t * this.a[0] + 2 * this.b[0]) * t + this.c[0], (3 * t * this.a[1] + 2 * this.b[1]) * t + this.c[1]];\n  };\n\n  PolynomialBezier.prototype.tangentAngle = function (t) {\n    var p = this.derivative(t);\n    return Math.atan2(p[1], p[0]);\n  };\n\n  PolynomialBezier.prototype.normalAngle = function (t) {\n    var p = this.derivative(t);\n    return Math.atan2(p[0], p[1]);\n  };\n\n  PolynomialBezier.prototype.inflectionPoints = function () {\n    var denom = this.a[1] * this.b[0] - this.a[0] * this.b[1];\n    if (floatZero(denom)) return [];\n    var tcusp = -0.5 * (this.a[1] * this.c[0] - this.a[0] * this.c[1]) / denom;\n    var square = tcusp * tcusp - 1 / 3 * (this.b[1] * this.c[0] - this.b[0] * this.c[1]) / denom;\n    if (square < 0) return [];\n    var root = Math.sqrt(square);\n\n    if (floatZero(root)) {\n      if (root > 0 && root < 1) return [tcusp];\n      return [];\n    }\n\n    return [tcusp - root, tcusp + root].filter(function (r) {\n      return r > 0 && r < 1;\n    });\n  };\n\n  PolynomialBezier.prototype.split = function (t) {\n    if (t <= 0) return [singlePoint(this.points[0]), this];\n    if (t >= 1) return [this, singlePoint(this.points[this.points.length - 1])];\n    var p10 = lerpPoint(this.points[0], this.points[1], t);\n    var p11 = lerpPoint(this.points[1], this.points[2], t);\n    var p12 = lerpPoint(this.points[2], this.points[3], t);\n    var p20 = lerpPoint(p10, p11, t);\n    var p21 = lerpPoint(p11, p12, t);\n    var p3 = lerpPoint(p20, p21, t);\n    return [new PolynomialBezier(this.points[0], p10, p20, p3, true), new PolynomialBezier(p3, p21, p12, this.points[3], true)];\n  };\n\n  function extrema(bez, comp) {\n    var min = bez.points[0][comp];\n    var max = bez.points[bez.points.length - 1][comp];\n\n    if (min > max) {\n      var e = max;\n      max = min;\n      min = e;\n    } // Derivative roots to find min/max\n\n\n    var f = quadRoots(3 * bez.a[comp], 2 * bez.b[comp], bez.c[comp]);\n\n    for (var i = 0; i < f.length; i += 1) {\n      if (f[i] > 0 && f[i] < 1) {\n        var val = bez.point(f[i])[comp];\n        if (val < min) min = val;else if (val > max) max = val;\n      }\n    }\n\n    return {\n      min: min,\n      max: max\n    };\n  }\n\n  PolynomialBezier.prototype.bounds = function () {\n    return {\n      x: extrema(this, 0),\n      y: extrema(this, 1)\n    };\n  };\n\n  PolynomialBezier.prototype.boundingBox = function () {\n    var bounds = this.bounds();\n    return {\n      left: bounds.x.min,\n      right: bounds.x.max,\n      top: bounds.y.min,\n      bottom: bounds.y.max,\n      width: bounds.x.max - bounds.x.min,\n      height: bounds.y.max - bounds.y.min,\n      cx: (bounds.x.max + bounds.x.min) / 2,\n      cy: (bounds.y.max + bounds.y.min) / 2\n    };\n  };\n\n  function intersectData(bez, t1, t2) {\n    var box = bez.boundingBox();\n    return {\n      cx: box.cx,\n      cy: box.cy,\n      width: box.width,\n      height: box.height,\n      bez: bez,\n      t: (t1 + t2) / 2,\n      t1: t1,\n      t2: t2\n    };\n  }\n\n  function splitData(data) {\n    var split = data.bez.split(0.5);\n    return [intersectData(split[0], data.t1, data.t), intersectData(split[1], data.t, data.t2)];\n  }\n\n  function boxIntersect(b1, b2) {\n    return Math.abs(b1.cx - b2.cx) * 2 < b1.width + b2.width && Math.abs(b1.cy - b2.cy) * 2 < b1.height + b2.height;\n  }\n\n  function intersectsImpl(d1, d2, depth, tolerance, intersections, maxRecursion) {\n    if (!boxIntersect(d1, d2)) return;\n\n    if (depth >= maxRecursion || d1.width <= tolerance && d1.height <= tolerance && d2.width <= tolerance && d2.height <= tolerance) {\n      intersections.push([d1.t, d2.t]);\n      return;\n    }\n\n    var d1s = splitData(d1);\n    var d2s = splitData(d2);\n    intersectsImpl(d1s[0], d2s[0], depth + 1, tolerance, intersections, maxRecursion);\n    intersectsImpl(d1s[0], d2s[1], depth + 1, tolerance, intersections, maxRecursion);\n    intersectsImpl(d1s[1], d2s[0], depth + 1, tolerance, intersections, maxRecursion);\n    intersectsImpl(d1s[1], d2s[1], depth + 1, tolerance, intersections, maxRecursion);\n  }\n\n  PolynomialBezier.prototype.intersections = function (other, tolerance, maxRecursion) {\n    if (tolerance === undefined) tolerance = 2;\n    if (maxRecursion === undefined) maxRecursion = 7;\n    var intersections = [];\n    intersectsImpl(intersectData(this, 0, 1), intersectData(other, 0, 1), 0, tolerance, intersections, maxRecursion);\n    return intersections;\n  };\n\n  PolynomialBezier.shapeSegment = function (shapePath, index) {\n    var nextIndex = (index + 1) % shapePath.length();\n    return new PolynomialBezier(shapePath.v[index], shapePath.o[index], shapePath.i[nextIndex], shapePath.v[nextIndex], true);\n  };\n\n  PolynomialBezier.shapeSegmentInverted = function (shapePath, index) {\n    var nextIndex = (index + 1) % shapePath.length();\n    return new PolynomialBezier(shapePath.v[nextIndex], shapePath.i[nextIndex], shapePath.o[index], shapePath.v[index], true);\n  };\n\n  function crossProduct(a, b) {\n    return [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]];\n  }\n\n  function lineIntersection(start1, end1, start2, end2) {\n    var v1 = [start1[0], start1[1], 1];\n    var v2 = [end1[0], end1[1], 1];\n    var v3 = [start2[0], start2[1], 1];\n    var v4 = [end2[0], end2[1], 1];\n    var r = crossProduct(crossProduct(v1, v2), crossProduct(v3, v4));\n    if (floatZero(r[2])) return null;\n    return [r[0] / r[2], r[1] / r[2]];\n  }\n\n  function polarOffset(p, angle, length) {\n    return [p[0] + Math.cos(angle) * length, p[1] - Math.sin(angle) * length];\n  }\n\n  function pointDistance(p1, p2) {\n    return Math.hypot(p1[0] - p2[0], p1[1] - p2[1]);\n  }\n\n  function pointEqual(p1, p2) {\n    return floatEqual(p1[0], p2[0]) && floatEqual(p1[1], p2[1]);\n  }\n\n  function ZigZagModifier() {}\n\n  extendPrototype([ShapeModifier], ZigZagModifier);\n\n  ZigZagModifier.prototype.initModifierProperties = function (elem, data) {\n    this.getValue = this.processKeys;\n    this.amplitude = PropertyFactory.getProp(elem, data.s, 0, null, this);\n    this.frequency = PropertyFactory.getProp(elem, data.r, 0, null, this);\n    this.pointsType = PropertyFactory.getProp(elem, data.pt, 0, null, this);\n    this._isAnimated = this.amplitude.effectsSequence.length !== 0 || this.frequency.effectsSequence.length !== 0 || this.pointsType.effectsSequence.length !== 0;\n  };\n\n  function setPoint(outputBezier, point, angle, direction, amplitude, outAmplitude, inAmplitude) {\n    var angO = angle - Math.PI / 2;\n    var angI = angle + Math.PI / 2;\n    var px = point[0] + Math.cos(angle) * direction * amplitude;\n    var py = point[1] - Math.sin(angle) * direction * amplitude;\n    outputBezier.setTripleAt(px, py, px + Math.cos(angO) * outAmplitude, py - Math.sin(angO) * outAmplitude, px + Math.cos(angI) * inAmplitude, py - Math.sin(angI) * inAmplitude, outputBezier.length());\n  }\n\n  function getPerpendicularVector(pt1, pt2) {\n    var vector = [pt2[0] - pt1[0], pt2[1] - pt1[1]];\n    var rot = -Math.PI * 0.5;\n    var rotatedVector = [Math.cos(rot) * vector[0] - Math.sin(rot) * vector[1], Math.sin(rot) * vector[0] + Math.cos(rot) * vector[1]];\n    return rotatedVector;\n  }\n\n  function getProjectingAngle(path, cur) {\n    var prevIndex = cur === 0 ? path.length() - 1 : cur - 1;\n    var nextIndex = (cur + 1) % path.length();\n    var prevPoint = path.v[prevIndex];\n    var nextPoint = path.v[nextIndex];\n    var pVector = getPerpendicularVector(prevPoint, nextPoint);\n    return Math.atan2(0, 1) - Math.atan2(pVector[1], pVector[0]);\n  }\n\n  function zigZagCorner(outputBezier, path, cur, amplitude, frequency, pointType, direction) {\n    var angle = getProjectingAngle(path, cur);\n    var point = path.v[cur % path._length];\n    var prevPoint = path.v[cur === 0 ? path._length - 1 : cur - 1];\n    var nextPoint = path.v[(cur + 1) % path._length];\n    var prevDist = pointType === 2 ? Math.sqrt(Math.pow(point[0] - prevPoint[0], 2) + Math.pow(point[1] - prevPoint[1], 2)) : 0;\n    var nextDist = pointType === 2 ? Math.sqrt(Math.pow(point[0] - nextPoint[0], 2) + Math.pow(point[1] - nextPoint[1], 2)) : 0;\n    setPoint(outputBezier, path.v[cur % path._length], angle, direction, amplitude, nextDist / ((frequency + 1) * 2), prevDist / ((frequency + 1) * 2), pointType);\n  }\n\n  function zigZagSegment(outputBezier, segment, amplitude, frequency, pointType, direction) {\n    for (var i = 0; i < frequency; i += 1) {\n      var t = (i + 1) / (frequency + 1);\n      var dist = pointType === 2 ? Math.sqrt(Math.pow(segment.points[3][0] - segment.points[0][0], 2) + Math.pow(segment.points[3][1] - segment.points[0][1], 2)) : 0;\n      var angle = segment.normalAngle(t);\n      var point = segment.point(t);\n      setPoint(outputBezier, point, angle, direction, amplitude, dist / ((frequency + 1) * 2), dist / ((frequency + 1) * 2), pointType);\n      direction = -direction;\n    }\n\n    return direction;\n  }\n\n  ZigZagModifier.prototype.processPath = function (path, amplitude, frequency, pointType) {\n    var count = path._length;\n    var clonedPath = shapePool.newElement();\n    clonedPath.c = path.c;\n\n    if (!path.c) {\n      count -= 1;\n    }\n\n    if (count === 0) return clonedPath;\n    var direction = -1;\n    var segment = PolynomialBezier.shapeSegment(path, 0);\n    zigZagCorner(clonedPath, path, 0, amplitude, frequency, pointType, direction);\n\n    for (var i = 0; i < count; i += 1) {\n      direction = zigZagSegment(clonedPath, segment, amplitude, frequency, pointType, -direction);\n\n      if (i === count - 1 && !path.c) {\n        segment = null;\n      } else {\n        segment = PolynomialBezier.shapeSegment(path, (i + 1) % count);\n      }\n\n      zigZagCorner(clonedPath, path, i + 1, amplitude, frequency, pointType, direction);\n    }\n\n    return clonedPath;\n  };\n\n  ZigZagModifier.prototype.processShapes = function (_isFirstFrame) {\n    var shapePaths;\n    var i;\n    var len = this.shapes.length;\n    var j;\n    var jLen;\n    var amplitude = this.amplitude.v;\n    var frequency = Math.max(0, Math.round(this.frequency.v));\n    var pointType = this.pointsType.v;\n\n    if (amplitude !== 0) {\n      var shapeData;\n      var localShapeCollection;\n\n      for (i = 0; i < len; i += 1) {\n        shapeData = this.shapes[i];\n        localShapeCollection = shapeData.localShapeCollection;\n\n        if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n          localShapeCollection.releaseShapes();\n          shapeData.shape._mdf = true;\n          shapePaths = shapeData.shape.paths.shapes;\n          jLen = shapeData.shape.paths._length;\n\n          for (j = 0; j < jLen; j += 1) {\n            localShapeCollection.addShape(this.processPath(shapePaths[j], amplitude, frequency, pointType));\n          }\n        }\n\n        shapeData.shape.paths = shapeData.localShapeCollection;\n      }\n    }\n\n    if (!this.dynamicProperties.length) {\n      this._mdf = false;\n    }\n  };\n\n  function linearOffset(p1, p2, amount) {\n    var angle = Math.atan2(p2[0] - p1[0], p2[1] - p1[1]);\n    return [polarOffset(p1, angle, amount), polarOffset(p2, angle, amount)];\n  }\n\n  function offsetSegment(segment, amount) {\n    var p0;\n    var p1a;\n    var p1b;\n    var p2b;\n    var p2a;\n    var p3;\n    var e;\n    e = linearOffset(segment.points[0], segment.points[1], amount);\n    p0 = e[0];\n    p1a = e[1];\n    e = linearOffset(segment.points[1], segment.points[2], amount);\n    p1b = e[0];\n    p2b = e[1];\n    e = linearOffset(segment.points[2], segment.points[3], amount);\n    p2a = e[0];\n    p3 = e[1];\n    var p1 = lineIntersection(p0, p1a, p1b, p2b);\n    if (p1 === null) p1 = p1a;\n    var p2 = lineIntersection(p2a, p3, p1b, p2b);\n    if (p2 === null) p2 = p2a;\n    return new PolynomialBezier(p0, p1, p2, p3);\n  }\n\n  function joinLines(outputBezier, seg1, seg2, lineJoin, miterLimit) {\n    var p0 = seg1.points[3];\n    var p1 = seg2.points[0]; // Bevel\n\n    if (lineJoin === 3) return p0; // Connected, they don't need a joint\n\n    if (pointEqual(p0, p1)) return p0; // Round\n\n    if (lineJoin === 2) {\n      var angleOut = -seg1.tangentAngle(1);\n      var angleIn = -seg2.tangentAngle(0) + Math.PI;\n      var center = lineIntersection(p0, polarOffset(p0, angleOut + Math.PI / 2, 100), p1, polarOffset(p1, angleOut + Math.PI / 2, 100));\n      var radius = center ? pointDistance(center, p0) : pointDistance(p0, p1) / 2;\n      var tan = polarOffset(p0, angleOut, 2 * radius * roundCorner);\n      outputBezier.setXYAt(tan[0], tan[1], 'o', outputBezier.length() - 1);\n      tan = polarOffset(p1, angleIn, 2 * radius * roundCorner);\n      outputBezier.setTripleAt(p1[0], p1[1], p1[0], p1[1], tan[0], tan[1], outputBezier.length());\n      return p1;\n    } // Miter\n\n\n    var t0 = pointEqual(p0, seg1.points[2]) ? seg1.points[0] : seg1.points[2];\n    var t1 = pointEqual(p1, seg2.points[1]) ? seg2.points[3] : seg2.points[1];\n    var intersection = lineIntersection(t0, p0, p1, t1);\n\n    if (intersection && pointDistance(intersection, p0) < miterLimit) {\n      outputBezier.setTripleAt(intersection[0], intersection[1], intersection[0], intersection[1], intersection[0], intersection[1], outputBezier.length());\n      return intersection;\n    }\n\n    return p0;\n  }\n\n  function getIntersection(a, b) {\n    var intersect = a.intersections(b);\n    if (intersect.length && floatEqual(intersect[0][0], 1)) intersect.shift();\n    if (intersect.length) return intersect[0];\n    return null;\n  }\n\n  function pruneSegmentIntersection(a, b) {\n    var outa = a.slice();\n    var outb = b.slice();\n    var intersect = getIntersection(a[a.length - 1], b[0]);\n\n    if (intersect) {\n      outa[a.length - 1] = a[a.length - 1].split(intersect[0])[0];\n      outb[0] = b[0].split(intersect[1])[1];\n    }\n\n    if (a.length > 1 && b.length > 1) {\n      intersect = getIntersection(a[0], b[b.length - 1]);\n\n      if (intersect) {\n        return [[a[0].split(intersect[0])[0]], [b[b.length - 1].split(intersect[1])[1]]];\n      }\n    }\n\n    return [outa, outb];\n  }\n\n  function pruneIntersections(segments) {\n    var e;\n\n    for (var i = 1; i < segments.length; i += 1) {\n      e = pruneSegmentIntersection(segments[i - 1], segments[i]);\n      segments[i - 1] = e[0];\n      segments[i] = e[1];\n    }\n\n    if (segments.length > 1) {\n      e = pruneSegmentIntersection(segments[segments.length - 1], segments[0]);\n      segments[segments.length - 1] = e[0];\n      segments[0] = e[1];\n    }\n\n    return segments;\n  }\n\n  function offsetSegmentSplit(segment, amount) {\n    /*\r\n      We split each bezier segment into smaller pieces based\r\n      on inflection points, this ensures the control point\r\n      polygon is convex.\r\n        (A cubic bezier can have none, one, or two inflection points)\r\n    */\n    var flex = segment.inflectionPoints();\n    var left;\n    var right;\n    var split;\n    var mid;\n\n    if (flex.length === 0) {\n      return [offsetSegment(segment, amount)];\n    }\n\n    if (flex.length === 1 || floatEqual(flex[1], 1)) {\n      split = segment.split(flex[0]);\n      left = split[0];\n      right = split[1];\n      return [offsetSegment(left, amount), offsetSegment(right, amount)];\n    }\n\n    split = segment.split(flex[0]);\n    left = split[0];\n    var t = (flex[1] - flex[0]) / (1 - flex[0]);\n    split = split[1].split(t);\n    mid = split[0];\n    right = split[1];\n    return [offsetSegment(left, amount), offsetSegment(mid, amount), offsetSegment(right, amount)];\n  }\n\n  function OffsetPathModifier() {}\n\n  extendPrototype([ShapeModifier], OffsetPathModifier);\n\n  OffsetPathModifier.prototype.initModifierProperties = function (elem, data) {\n    this.getValue = this.processKeys;\n    this.amount = PropertyFactory.getProp(elem, data.a, 0, null, this);\n    this.miterLimit = PropertyFactory.getProp(elem, data.ml, 0, null, this);\n    this.lineJoin = data.lj;\n    this._isAnimated = this.amount.effectsSequence.length !== 0;\n  };\n\n  OffsetPathModifier.prototype.processPath = function (inputBezier, amount, lineJoin, miterLimit) {\n    var outputBezier = shapePool.newElement();\n    outputBezier.c = inputBezier.c;\n    var count = inputBezier.length();\n\n    if (!inputBezier.c) {\n      count -= 1;\n    }\n\n    var i;\n    var j;\n    var segment;\n    var multiSegments = [];\n\n    for (i = 0; i < count; i += 1) {\n      segment = PolynomialBezier.shapeSegment(inputBezier, i);\n      multiSegments.push(offsetSegmentSplit(segment, amount));\n    }\n\n    if (!inputBezier.c) {\n      for (i = count - 1; i >= 0; i -= 1) {\n        segment = PolynomialBezier.shapeSegmentInverted(inputBezier, i);\n        multiSegments.push(offsetSegmentSplit(segment, amount));\n      }\n    }\n\n    multiSegments = pruneIntersections(multiSegments); // Add bezier segments to the output and apply line joints\n\n    var lastPoint = null;\n    var lastSeg = null;\n\n    for (i = 0; i < multiSegments.length; i += 1) {\n      var multiSegment = multiSegments[i];\n      if (lastSeg) lastPoint = joinLines(outputBezier, lastSeg, multiSegment[0], lineJoin, miterLimit);\n      lastSeg = multiSegment[multiSegment.length - 1];\n\n      for (j = 0; j < multiSegment.length; j += 1) {\n        segment = multiSegment[j];\n\n        if (lastPoint && pointEqual(segment.points[0], lastPoint)) {\n          outputBezier.setXYAt(segment.points[1][0], segment.points[1][1], 'o', outputBezier.length() - 1);\n        } else {\n          outputBezier.setTripleAt(segment.points[0][0], segment.points[0][1], segment.points[1][0], segment.points[1][1], segment.points[0][0], segment.points[0][1], outputBezier.length());\n        }\n\n        outputBezier.setTripleAt(segment.points[3][0], segment.points[3][1], segment.points[3][0], segment.points[3][1], segment.points[2][0], segment.points[2][1], outputBezier.length());\n        lastPoint = segment.points[3];\n      }\n    }\n\n    if (multiSegments.length) joinLines(outputBezier, lastSeg, multiSegments[0][0], lineJoin, miterLimit);\n    return outputBezier;\n  };\n\n  OffsetPathModifier.prototype.processShapes = function (_isFirstFrame) {\n    var shapePaths;\n    var i;\n    var len = this.shapes.length;\n    var j;\n    var jLen;\n    var amount = this.amount.v;\n    var miterLimit = this.miterLimit.v;\n    var lineJoin = this.lineJoin;\n\n    if (amount !== 0) {\n      var shapeData;\n      var localShapeCollection;\n\n      for (i = 0; i < len; i += 1) {\n        shapeData = this.shapes[i];\n        localShapeCollection = shapeData.localShapeCollection;\n\n        if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n          localShapeCollection.releaseShapes();\n          shapeData.shape._mdf = true;\n          shapePaths = shapeData.shape.paths.shapes;\n          jLen = shapeData.shape.paths._length;\n\n          for (j = 0; j < jLen; j += 1) {\n            localShapeCollection.addShape(this.processPath(shapePaths[j], amount, lineJoin, miterLimit));\n          }\n        }\n\n        shapeData.shape.paths = shapeData.localShapeCollection;\n      }\n    }\n\n    if (!this.dynamicProperties.length) {\n      this._mdf = false;\n    }\n  };\n\n  function getFontProperties(fontData) {\n    var styles = fontData.fStyle ? fontData.fStyle.split(' ') : [];\n    var fWeight = 'normal';\n    var fStyle = 'normal';\n    var len = styles.length;\n    var styleName;\n\n    for (var i = 0; i < len; i += 1) {\n      styleName = styles[i].toLowerCase();\n\n      switch (styleName) {\n        case 'italic':\n          fStyle = 'italic';\n          break;\n\n        case 'bold':\n          fWeight = '700';\n          break;\n\n        case 'black':\n          fWeight = '900';\n          break;\n\n        case 'medium':\n          fWeight = '500';\n          break;\n\n        case 'regular':\n        case 'normal':\n          fWeight = '400';\n          break;\n\n        case 'light':\n        case 'thin':\n          fWeight = '200';\n          break;\n\n        default:\n          break;\n      }\n    }\n\n    return {\n      style: fStyle,\n      weight: fontData.fWeight || fWeight\n    };\n  }\n\n  var FontManager = function () {\n    var maxWaitingTime = 5000;\n    var emptyChar = {\n      w: 0,\n      size: 0,\n      shapes: [],\n      data: {\n        shapes: []\n      }\n    };\n    var combinedCharacters = []; // Hindi characters\n\n    combinedCharacters = combinedCharacters.concat([2304, 2305, 2306, 2307, 2362, 2363, 2364, 2364, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2387, 2388, 2389, 2390, 2391, 2402, 2403]);\n    var BLACK_FLAG_CODE_POINT = 127988;\n    var CANCEL_TAG_CODE_POINT = 917631;\n    var A_TAG_CODE_POINT = 917601;\n    var Z_TAG_CODE_POINT = 917626;\n    var VARIATION_SELECTOR_16_CODE_POINT = 65039;\n    var ZERO_WIDTH_JOINER_CODE_POINT = 8205;\n    var REGIONAL_CHARACTER_A_CODE_POINT = 127462;\n    var REGIONAL_CHARACTER_Z_CODE_POINT = 127487;\n    var surrogateModifiers = ['d83cdffb', 'd83cdffc', 'd83cdffd', 'd83cdffe', 'd83cdfff'];\n\n    function trimFontOptions(font) {\n      var familyArray = font.split(',');\n      var i;\n      var len = familyArray.length;\n      var enabledFamilies = [];\n\n      for (i = 0; i < len; i += 1) {\n        if (familyArray[i] !== 'sans-serif' && familyArray[i] !== 'monospace') {\n          enabledFamilies.push(familyArray[i]);\n        }\n      }\n\n      return enabledFamilies.join(',');\n    }\n\n    function setUpNode(font, family) {\n      var parentNode = createTag('span'); // Node is invisible to screen readers.\n\n      parentNode.setAttribute('aria-hidden', true);\n      parentNode.style.fontFamily = family;\n      var node = createTag('span'); // Characters that vary significantly among different fonts\n\n      node.innerText = 'giItT1WQy@!-/#'; // Visible - so we can measure it - but not on the screen\n\n      parentNode.style.position = 'absolute';\n      parentNode.style.left = '-10000px';\n      parentNode.style.top = '-10000px'; // Large font size makes even subtle changes obvious\n\n      parentNode.style.fontSize = '300px'; // Reset any font properties\n\n      parentNode.style.fontVariant = 'normal';\n      parentNode.style.fontStyle = 'normal';\n      parentNode.style.fontWeight = 'normal';\n      parentNode.style.letterSpacing = '0';\n      parentNode.appendChild(node);\n      document.body.appendChild(parentNode); // Remember width with no applied web font\n\n      var width = node.offsetWidth;\n      node.style.fontFamily = trimFontOptions(font) + ', ' + family;\n      return {\n        node: node,\n        w: width,\n        parent: parentNode\n      };\n    }\n\n    function checkLoadedFonts() {\n      var i;\n      var len = this.fonts.length;\n      var node;\n      var w;\n      var loadedCount = len;\n\n      for (i = 0; i < len; i += 1) {\n        if (this.fonts[i].loaded) {\n          loadedCount -= 1;\n        } else if (this.fonts[i].fOrigin === 'n' || this.fonts[i].origin === 0) {\n          this.fonts[i].loaded = true;\n        } else {\n          node = this.fonts[i].monoCase.node;\n          w = this.fonts[i].monoCase.w;\n\n          if (node.offsetWidth !== w) {\n            loadedCount -= 1;\n            this.fonts[i].loaded = true;\n          } else {\n            node = this.fonts[i].sansCase.node;\n            w = this.fonts[i].sansCase.w;\n\n            if (node.offsetWidth !== w) {\n              loadedCount -= 1;\n              this.fonts[i].loaded = true;\n            }\n          }\n\n          if (this.fonts[i].loaded) {\n            this.fonts[i].sansCase.parent.parentNode.removeChild(this.fonts[i].sansCase.parent);\n            this.fonts[i].monoCase.parent.parentNode.removeChild(this.fonts[i].monoCase.parent);\n          }\n        }\n      }\n\n      if (loadedCount !== 0 && Date.now() - this.initTime < maxWaitingTime) {\n        setTimeout(this.checkLoadedFontsBinded, 20);\n      } else {\n        setTimeout(this.setIsLoadedBinded, 10);\n      }\n    }\n\n    function createHelper(fontData, def) {\n      var engine = document.body && def ? 'svg' : 'canvas';\n      var helper;\n      var fontProps = getFontProperties(fontData);\n\n      if (engine === 'svg') {\n        var tHelper = createNS('text');\n        tHelper.style.fontSize = '100px'; // tHelper.style.fontFamily = fontData.fFamily;\n\n        tHelper.setAttribute('font-family', fontData.fFamily);\n        tHelper.setAttribute('font-style', fontProps.style);\n        tHelper.setAttribute('font-weight', fontProps.weight);\n        tHelper.textContent = '1';\n\n        if (fontData.fClass) {\n          tHelper.style.fontFamily = 'inherit';\n          tHelper.setAttribute('class', fontData.fClass);\n        } else {\n          tHelper.style.fontFamily = fontData.fFamily;\n        }\n\n        def.appendChild(tHelper);\n        helper = tHelper;\n      } else {\n        var tCanvasHelper = new OffscreenCanvas(500, 500).getContext('2d');\n        tCanvasHelper.font = fontProps.style + ' ' + fontProps.weight + ' 100px ' + fontData.fFamily;\n        helper = tCanvasHelper;\n      }\n\n      function measure(text) {\n        if (engine === 'svg') {\n          helper.textContent = text;\n          return helper.getComputedTextLength();\n        }\n\n        return helper.measureText(text).width;\n      }\n\n      return {\n        measureText: measure\n      };\n    }\n\n    function addFonts(fontData, defs) {\n      if (!fontData) {\n        this.isLoaded = true;\n        return;\n      }\n\n      if (this.chars) {\n        this.isLoaded = true;\n        this.fonts = fontData.list;\n        return;\n      }\n\n      if (!document.body) {\n        this.isLoaded = true;\n        fontData.list.forEach(function (data) {\n          data.helper = createHelper(data);\n          data.cache = {};\n        });\n        this.fonts = fontData.list;\n        return;\n      }\n\n      var fontArr = fontData.list;\n      var i;\n      var len = fontArr.length;\n      var _pendingFonts = len;\n\n      for (i = 0; i < len; i += 1) {\n        var shouldLoadFont = true;\n        var loadedSelector;\n        var j;\n        fontArr[i].loaded = false;\n        fontArr[i].monoCase = setUpNode(fontArr[i].fFamily, 'monospace');\n        fontArr[i].sansCase = setUpNode(fontArr[i].fFamily, 'sans-serif');\n\n        if (!fontArr[i].fPath) {\n          fontArr[i].loaded = true;\n          _pendingFonts -= 1;\n        } else if (fontArr[i].fOrigin === 'p' || fontArr[i].origin === 3) {\n          loadedSelector = document.querySelectorAll('style[f-forigin=\"p\"][f-family=\"' + fontArr[i].fFamily + '\"], style[f-origin=\"3\"][f-family=\"' + fontArr[i].fFamily + '\"]');\n\n          if (loadedSelector.length > 0) {\n            shouldLoadFont = false;\n          }\n\n          if (shouldLoadFont) {\n            var s = createTag('style');\n            s.setAttribute('f-forigin', fontArr[i].fOrigin);\n            s.setAttribute('f-origin', fontArr[i].origin);\n            s.setAttribute('f-family', fontArr[i].fFamily);\n            s.type = 'text/css';\n            s.innerText = '@font-face {font-family: ' + fontArr[i].fFamily + \"; font-style: normal; src: url('\" + fontArr[i].fPath + \"');}\";\n            defs.appendChild(s);\n          }\n        } else if (fontArr[i].fOrigin === 'g' || fontArr[i].origin === 1) {\n          loadedSelector = document.querySelectorAll('link[f-forigin=\"g\"], link[f-origin=\"1\"]');\n\n          for (j = 0; j < loadedSelector.length; j += 1) {\n            if (loadedSelector[j].href.indexOf(fontArr[i].fPath) !== -1) {\n              // Font is already loaded\n              shouldLoadFont = false;\n            }\n          }\n\n          if (shouldLoadFont) {\n            var l = createTag('link');\n            l.setAttribute('f-forigin', fontArr[i].fOrigin);\n            l.setAttribute('f-origin', fontArr[i].origin);\n            l.type = 'text/css';\n            l.rel = 'stylesheet';\n            l.href = fontArr[i].fPath;\n            document.body.appendChild(l);\n          }\n        } else if (fontArr[i].fOrigin === 't' || fontArr[i].origin === 2) {\n          loadedSelector = document.querySelectorAll('script[f-forigin=\"t\"], script[f-origin=\"2\"]');\n\n          for (j = 0; j < loadedSelector.length; j += 1) {\n            if (fontArr[i].fPath === loadedSelector[j].src) {\n              // Font is already loaded\n              shouldLoadFont = false;\n            }\n          }\n\n          if (shouldLoadFont) {\n            var sc = createTag('link');\n            sc.setAttribute('f-forigin', fontArr[i].fOrigin);\n            sc.setAttribute('f-origin', fontArr[i].origin);\n            sc.setAttribute('rel', 'stylesheet');\n            sc.setAttribute('href', fontArr[i].fPath);\n            defs.appendChild(sc);\n          }\n        }\n\n        fontArr[i].helper = createHelper(fontArr[i], defs);\n        fontArr[i].cache = {};\n        this.fonts.push(fontArr[i]);\n      }\n\n      if (_pendingFonts === 0) {\n        this.isLoaded = true;\n      } else {\n        // On some cases even if the font is loaded, it won't load correctly when measuring text on canvas.\n        // Adding this timeout seems to fix it\n        setTimeout(this.checkLoadedFonts.bind(this), 100);\n      }\n    }\n\n    function addChars(chars) {\n      if (!chars) {\n        return;\n      }\n\n      if (!this.chars) {\n        this.chars = [];\n      }\n\n      var i;\n      var len = chars.length;\n      var j;\n      var jLen = this.chars.length;\n      var found;\n\n      for (i = 0; i < len; i += 1) {\n        j = 0;\n        found = false;\n\n        while (j < jLen) {\n          if (this.chars[j].style === chars[i].style && this.chars[j].fFamily === chars[i].fFamily && this.chars[j].ch === chars[i].ch) {\n            found = true;\n          }\n\n          j += 1;\n        }\n\n        if (!found) {\n          this.chars.push(chars[i]);\n          jLen += 1;\n        }\n      }\n    }\n\n    function getCharData(_char, style, font) {\n      var i = 0;\n      var len = this.chars.length;\n\n      while (i < len) {\n        if (this.chars[i].ch === _char && this.chars[i].style === style && this.chars[i].fFamily === font) {\n          return this.chars[i];\n        }\n\n        i += 1;\n      }\n\n      if ((typeof _char === 'string' && _char.charCodeAt(0) !== 13 || !_char) && console && console.warn // eslint-disable-line no-console\n      && !this._warned) {\n        this._warned = true;\n        console.warn('Missing character from exported characters list: ', _char, style, font); // eslint-disable-line no-console\n      }\n\n      return emptyChar;\n    }\n\n    function measureText(_char2, fontName, size) {\n      var fontData = this.getFontByName(fontName); // Using the char instead of char.charCodeAt(0)\n      // to avoid collisions between equal chars\n\n      var index = _char2;\n\n      if (!fontData.cache[index]) {\n        var tHelper = fontData.helper;\n\n        if (_char2 === ' ') {\n          var doubleSize = tHelper.measureText('|' + _char2 + '|');\n          var singleSize = tHelper.measureText('||');\n          fontData.cache[index] = (doubleSize - singleSize) / 100;\n        } else {\n          fontData.cache[index] = tHelper.measureText(_char2) / 100;\n        }\n      }\n\n      return fontData.cache[index] * size;\n    }\n\n    function getFontByName(name) {\n      var i = 0;\n      var len = this.fonts.length;\n\n      while (i < len) {\n        if (this.fonts[i].fName === name) {\n          return this.fonts[i];\n        }\n\n        i += 1;\n      }\n\n      return this.fonts[0];\n    }\n\n    function getCodePoint(string) {\n      var codePoint = 0;\n      var first = string.charCodeAt(0);\n\n      if (first >= 0xD800 && first <= 0xDBFF) {\n        var second = string.charCodeAt(1);\n\n        if (second >= 0xDC00 && second <= 0xDFFF) {\n          codePoint = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n        }\n      }\n\n      return codePoint;\n    } // Skin tone modifiers\n\n\n    function isModifier(firstCharCode, secondCharCode) {\n      var sum = firstCharCode.toString(16) + secondCharCode.toString(16);\n      return surrogateModifiers.indexOf(sum) !== -1;\n    }\n\n    function isZeroWidthJoiner(charCode) {\n      return charCode === ZERO_WIDTH_JOINER_CODE_POINT;\n    } // This codepoint may change the appearance of the preceding character.\n    // If that is a symbol, dingbat or emoji, U+FE0F forces it to be rendered\n    // as a colorful image as compared to a monochrome text variant.\n\n\n    function isVariationSelector(charCode) {\n      return charCode === VARIATION_SELECTOR_16_CODE_POINT;\n    } // The regional indicator symbols are a set of 26 alphabetic Unicode\n    /// characters (A–Z) intended to be used to encode ISO 3166-1 alpha-2\n    // two-letter country codes in a way that allows optional special treatment.\n\n\n    function isRegionalCode(string) {\n      var codePoint = getCodePoint(string);\n\n      if (codePoint >= REGIONAL_CHARACTER_A_CODE_POINT && codePoint <= REGIONAL_CHARACTER_Z_CODE_POINT) {\n        return true;\n      }\n\n      return false;\n    } // Some Emoji implementations represent combinations of\n    // two “regional indicator” letters as a single flag symbol.\n\n\n    function isFlagEmoji(string) {\n      return isRegionalCode(string.substr(0, 2)) && isRegionalCode(string.substr(2, 2));\n    }\n\n    function isCombinedCharacter(_char3) {\n      return combinedCharacters.indexOf(_char3) !== -1;\n    } // Regional flags start with a BLACK_FLAG_CODE_POINT\n    // folowed by 5 chars in the TAG range\n    // and end with a CANCEL_TAG_CODE_POINT\n\n\n    function isRegionalFlag(text, index) {\n      var codePoint = getCodePoint(text.substr(index, 2));\n\n      if (codePoint !== BLACK_FLAG_CODE_POINT) {\n        return false;\n      }\n\n      var count = 0;\n      index += 2;\n\n      while (count < 5) {\n        codePoint = getCodePoint(text.substr(index, 2));\n\n        if (codePoint < A_TAG_CODE_POINT || codePoint > Z_TAG_CODE_POINT) {\n          return false;\n        }\n\n        count += 1;\n        index += 2;\n      }\n\n      return getCodePoint(text.substr(index, 2)) === CANCEL_TAG_CODE_POINT;\n    }\n\n    function setIsLoaded() {\n      this.isLoaded = true;\n    }\n\n    var Font = function Font() {\n      this.fonts = [];\n      this.chars = null;\n      this.typekitLoaded = 0;\n      this.isLoaded = false;\n      this._warned = false;\n      this.initTime = Date.now();\n      this.setIsLoadedBinded = this.setIsLoaded.bind(this);\n      this.checkLoadedFontsBinded = this.checkLoadedFonts.bind(this);\n    };\n\n    Font.isModifier = isModifier;\n    Font.isZeroWidthJoiner = isZeroWidthJoiner;\n    Font.isFlagEmoji = isFlagEmoji;\n    Font.isRegionalCode = isRegionalCode;\n    Font.isCombinedCharacter = isCombinedCharacter;\n    Font.isRegionalFlag = isRegionalFlag;\n    Font.isVariationSelector = isVariationSelector;\n    Font.BLACK_FLAG_CODE_POINT = BLACK_FLAG_CODE_POINT;\n    var fontPrototype = {\n      addChars: addChars,\n      addFonts: addFonts,\n      getCharData: getCharData,\n      getFontByName: getFontByName,\n      measureText: measureText,\n      checkLoadedFonts: checkLoadedFonts,\n      setIsLoaded: setIsLoaded\n    };\n    Font.prototype = fontPrototype;\n    return Font;\n  }();\n\n  function SlotManager(animationData) {\n    this.animationData = animationData;\n  }\n\n  SlotManager.prototype.getProp = function (data) {\n    if (this.animationData.slots && this.animationData.slots[data.sid]) {\n      return Object.assign(data, this.animationData.slots[data.sid].p);\n    }\n\n    return data;\n  };\n\n  function slotFactory(animationData) {\n    return new SlotManager(animationData);\n  }\n\n  function RenderableElement() {}\n\n  RenderableElement.prototype = {\n    initRenderable: function initRenderable() {\n      // layer's visibility related to inpoint and outpoint. Rename isVisible to isInRange\n      this.isInRange = false; // layer's display state\n\n      this.hidden = false; // If layer's transparency equals 0, it can be hidden\n\n      this.isTransparent = false; // list of animated components\n\n      this.renderableComponents = [];\n    },\n    addRenderableComponent: function addRenderableComponent(component) {\n      if (this.renderableComponents.indexOf(component) === -1) {\n        this.renderableComponents.push(component);\n      }\n    },\n    removeRenderableComponent: function removeRenderableComponent(component) {\n      if (this.renderableComponents.indexOf(component) !== -1) {\n        this.renderableComponents.splice(this.renderableComponents.indexOf(component), 1);\n      }\n    },\n    prepareRenderableFrame: function prepareRenderableFrame(num) {\n      this.checkLayerLimits(num);\n    },\n    checkTransparency: function checkTransparency() {\n      if (this.finalTransform.mProp.o.v <= 0) {\n        if (!this.isTransparent && this.globalData.renderConfig.hideOnTransparent) {\n          this.isTransparent = true;\n          this.hide();\n        }\n      } else if (this.isTransparent) {\n        this.isTransparent = false;\n        this.show();\n      }\n    },\n\n    /**\r\n       * @function\r\n       * Initializes frame related properties.\r\n       *\r\n       * @param {number} num\r\n       * current frame number in Layer's time\r\n       *\r\n       */\n    checkLayerLimits: function checkLayerLimits(num) {\n      if (this.data.ip - this.data.st <= num && this.data.op - this.data.st > num) {\n        if (this.isInRange !== true) {\n          this.globalData._mdf = true;\n          this._mdf = true;\n          this.isInRange = true;\n          this.show();\n        }\n      } else if (this.isInRange !== false) {\n        this.globalData._mdf = true;\n        this.isInRange = false;\n        this.hide();\n      }\n    },\n    renderRenderable: function renderRenderable() {\n      var i;\n      var len = this.renderableComponents.length;\n\n      for (i = 0; i < len; i += 1) {\n        this.renderableComponents[i].renderFrame(this._isFirstFrame);\n      }\n      /* this.maskManager.renderFrame(this.finalTransform.mat);\r\n          this.renderableEffectsManager.renderFrame(this._isFirstFrame); */\n\n    },\n    sourceRectAtTime: function sourceRectAtTime() {\n      return {\n        top: 0,\n        left: 0,\n        width: 100,\n        height: 100\n      };\n    },\n    getLayerSize: function getLayerSize() {\n      if (this.data.ty === 5) {\n        return {\n          w: this.data.textData.width,\n          h: this.data.textData.height\n        };\n      }\n\n      return {\n        w: this.data.width,\n        h: this.data.height\n      };\n    }\n  };\n\n  var getBlendMode = function () {\n    var blendModeEnums = {\n      0: 'source-over',\n      1: 'multiply',\n      2: 'screen',\n      3: 'overlay',\n      4: 'darken',\n      5: 'lighten',\n      6: 'color-dodge',\n      7: 'color-burn',\n      8: 'hard-light',\n      9: 'soft-light',\n      10: 'difference',\n      11: 'exclusion',\n      12: 'hue',\n      13: 'saturation',\n      14: 'color',\n      15: 'luminosity'\n    };\n    return function (mode) {\n      return blendModeEnums[mode] || '';\n    };\n  }();\n\n  function SliderEffect(data, elem, container) {\n    this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function AngleEffect(data, elem, container) {\n    this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function ColorEffect(data, elem, container) {\n    this.p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n  }\n\n  function PointEffect(data, elem, container) {\n    this.p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n  }\n\n  function LayerIndexEffect(data, elem, container) {\n    this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function MaskIndexEffect(data, elem, container) {\n    this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function CheckboxEffect(data, elem, container) {\n    this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function NoValueEffect() {\n    this.p = {};\n  }\n\n  function EffectsManager(data, element) {\n    var effects = data.ef || [];\n    this.effectElements = [];\n    var i;\n    var len = effects.length;\n    var effectItem;\n\n    for (i = 0; i < len; i += 1) {\n      effectItem = new GroupEffect(effects[i], element);\n      this.effectElements.push(effectItem);\n    }\n  }\n\n  function GroupEffect(data, element) {\n    this.init(data, element);\n  }\n\n  extendPrototype([DynamicPropertyContainer], GroupEffect);\n  GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties;\n\n  GroupEffect.prototype.init = function (data, element) {\n    this.data = data;\n    this.effectElements = [];\n    this.initDynamicPropertyContainer(element);\n    var i;\n    var len = this.data.ef.length;\n    var eff;\n    var effects = this.data.ef;\n\n    for (i = 0; i < len; i += 1) {\n      eff = null;\n\n      switch (effects[i].ty) {\n        case 0:\n          eff = new SliderEffect(effects[i], element, this);\n          break;\n\n        case 1:\n          eff = new AngleEffect(effects[i], element, this);\n          break;\n\n        case 2:\n          eff = new ColorEffect(effects[i], element, this);\n          break;\n\n        case 3:\n          eff = new PointEffect(effects[i], element, this);\n          break;\n\n        case 4:\n        case 7:\n          eff = new CheckboxEffect(effects[i], element, this);\n          break;\n\n        case 10:\n          eff = new LayerIndexEffect(effects[i], element, this);\n          break;\n\n        case 11:\n          eff = new MaskIndexEffect(effects[i], element, this);\n          break;\n\n        case 5:\n          eff = new EffectsManager(effects[i], element, this);\n          break;\n        // case 6:\n\n        default:\n          eff = new NoValueEffect(effects[i], element, this);\n          break;\n      }\n\n      if (eff) {\n        this.effectElements.push(eff);\n      }\n    }\n  };\n\n  function BaseElement() {}\n\n  BaseElement.prototype = {\n    checkMasks: function checkMasks() {\n      if (!this.data.hasMask) {\n        return false;\n      }\n\n      var i = 0;\n      var len = this.data.masksProperties.length;\n\n      while (i < len) {\n        if (this.data.masksProperties[i].mode !== 'n' && this.data.masksProperties[i].cl !== false) {\n          return true;\n        }\n\n        i += 1;\n      }\n\n      return false;\n    },\n    initExpressions: function initExpressions() {\n      var expressionsInterfaces = getExpressionInterfaces();\n\n      if (!expressionsInterfaces) {\n        return;\n      }\n\n      var LayerExpressionInterface = expressionsInterfaces('layer');\n      var EffectsExpressionInterface = expressionsInterfaces('effects');\n      var ShapeExpressionInterface = expressionsInterfaces('shape');\n      var TextExpressionInterface = expressionsInterfaces('text');\n      var CompExpressionInterface = expressionsInterfaces('comp');\n      this.layerInterface = LayerExpressionInterface(this);\n\n      if (this.data.hasMask && this.maskManager) {\n        this.layerInterface.registerMaskInterface(this.maskManager);\n      }\n\n      var effectsInterface = EffectsExpressionInterface.createEffectsInterface(this, this.layerInterface);\n      this.layerInterface.registerEffectsInterface(effectsInterface);\n\n      if (this.data.ty === 0 || this.data.xt) {\n        this.compInterface = CompExpressionInterface(this);\n      } else if (this.data.ty === 4) {\n        this.layerInterface.shapeInterface = ShapeExpressionInterface(this.shapesData, this.itemsData, this.layerInterface);\n        this.layerInterface.content = this.layerInterface.shapeInterface;\n      } else if (this.data.ty === 5) {\n        this.layerInterface.textInterface = TextExpressionInterface(this);\n        this.layerInterface.text = this.layerInterface.textInterface;\n      }\n    },\n    setBlendMode: function setBlendMode() {\n      var blendModeValue = getBlendMode(this.data.bm);\n      var elem = this.baseElement || this.layerElement;\n      elem.style['mix-blend-mode'] = blendModeValue;\n    },\n    initBaseData: function initBaseData(data, globalData, comp) {\n      this.globalData = globalData;\n      this.comp = comp;\n      this.data = data;\n      this.layerId = createElementID(); // Stretch factor for old animations missing this property.\n\n      if (!this.data.sr) {\n        this.data.sr = 1;\n      } // effects manager\n\n\n      this.effectsManager = new EffectsManager(this.data, this, this.dynamicProperties);\n    },\n    getType: function getType() {\n      return this.type;\n    },\n    sourceRectAtTime: function sourceRectAtTime() {}\n  };\n\n  /**\r\n   * @file\r\n   * Handles element's layer frame update.\r\n   * Checks layer in point and out point\r\n   *\r\n   */\n  function FrameElement() {}\n\n  FrameElement.prototype = {\n    /**\r\n       * @function\r\n       * Initializes frame related properties.\r\n       *\r\n       */\n    initFrame: function initFrame() {\n      // set to true when inpoint is rendered\n      this._isFirstFrame = false; // list of animated properties\n\n      this.dynamicProperties = []; // If layer has been modified in current tick this will be true\n\n      this._mdf = false;\n    },\n\n    /**\r\n       * @function\r\n       * Calculates all dynamic values\r\n       *\r\n       * @param {number} num\r\n       * current frame number in Layer's time\r\n       * @param {boolean} isVisible\r\n       * if layers is currently in range\r\n       *\r\n       */\n    prepareProperties: function prepareProperties(num, isVisible) {\n      var i;\n      var len = this.dynamicProperties.length;\n\n      for (i = 0; i < len; i += 1) {\n        if (isVisible || this._isParent && this.dynamicProperties[i].propType === 'transform') {\n          this.dynamicProperties[i].getValue();\n\n          if (this.dynamicProperties[i]._mdf) {\n            this.globalData._mdf = true;\n            this._mdf = true;\n          }\n        }\n      }\n    },\n    addDynamicProperty: function addDynamicProperty(prop) {\n      if (this.dynamicProperties.indexOf(prop) === -1) {\n        this.dynamicProperties.push(prop);\n      }\n    }\n  };\n\n  function FootageElement(data, globalData, comp) {\n    this.initFrame();\n    this.initRenderable();\n    this.assetData = globalData.getAssetData(data.refId);\n    this.footageData = globalData.imageLoader.getAsset(this.assetData);\n    this.initBaseData(data, globalData, comp);\n  }\n\n  FootageElement.prototype.prepareFrame = function () {};\n\n  extendPrototype([RenderableElement, BaseElement, FrameElement], FootageElement);\n\n  FootageElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  FootageElement.prototype.renderFrame = function () {};\n\n  FootageElement.prototype.destroy = function () {};\n\n  FootageElement.prototype.initExpressions = function () {\n    var expressionsInterfaces = getExpressionInterfaces();\n\n    if (!expressionsInterfaces) {\n      return;\n    }\n\n    var FootageInterface = expressionsInterfaces('footage');\n    this.layerInterface = FootageInterface(this);\n  };\n\n  FootageElement.prototype.getFootageData = function () {\n    return this.footageData;\n  };\n\n  function AudioElement(data, globalData, comp) {\n    this.initFrame();\n    this.initRenderable();\n    this.assetData = globalData.getAssetData(data.refId);\n    this.initBaseData(data, globalData, comp);\n    this._isPlaying = false;\n    this._canPlay = false;\n    var assetPath = this.globalData.getAssetsPath(this.assetData);\n    this.audio = this.globalData.audioController.createAudio(assetPath);\n    this._currentTime = 0;\n    this.globalData.audioController.addAudio(this);\n    this._volumeMultiplier = 1;\n    this._volume = 1;\n    this._previousVolume = null;\n    this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n      _placeholder: true\n    };\n    this.lv = PropertyFactory.getProp(this, data.au && data.au.lv ? data.au.lv : {\n      k: [100]\n    }, 1, 0.01, this);\n  }\n\n  AudioElement.prototype.prepareFrame = function (num) {\n    this.prepareRenderableFrame(num, true);\n    this.prepareProperties(num, true);\n\n    if (!this.tm._placeholder) {\n      var timeRemapped = this.tm.v;\n      this._currentTime = timeRemapped;\n    } else {\n      this._currentTime = num / this.data.sr;\n    }\n\n    this._volume = this.lv.v[0];\n    var totalVolume = this._volume * this._volumeMultiplier;\n\n    if (this._previousVolume !== totalVolume) {\n      this._previousVolume = totalVolume;\n      this.audio.volume(totalVolume);\n    }\n  };\n\n  extendPrototype([RenderableElement, BaseElement, FrameElement], AudioElement);\n\n  AudioElement.prototype.renderFrame = function () {\n    if (this.isInRange && this._canPlay) {\n      if (!this._isPlaying) {\n        this.audio.play();\n        this.audio.seek(this._currentTime / this.globalData.frameRate);\n        this._isPlaying = true;\n      } else if (!this.audio.playing() || Math.abs(this._currentTime / this.globalData.frameRate - this.audio.seek()) > 0.1) {\n        this.audio.seek(this._currentTime / this.globalData.frameRate);\n      }\n    }\n  };\n\n  AudioElement.prototype.show = function () {// this.audio.play()\n  };\n\n  AudioElement.prototype.hide = function () {\n    this.audio.pause();\n    this._isPlaying = false;\n  };\n\n  AudioElement.prototype.pause = function () {\n    this.audio.pause();\n    this._isPlaying = false;\n    this._canPlay = false;\n  };\n\n  AudioElement.prototype.resume = function () {\n    this._canPlay = true;\n  };\n\n  AudioElement.prototype.setRate = function (rateValue) {\n    this.audio.rate(rateValue);\n  };\n\n  AudioElement.prototype.volume = function (volumeValue) {\n    this._volumeMultiplier = volumeValue;\n    this._previousVolume = volumeValue * this._volume;\n    this.audio.volume(this._previousVolume);\n  };\n\n  AudioElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  AudioElement.prototype.destroy = function () {};\n\n  AudioElement.prototype.sourceRectAtTime = function () {};\n\n  AudioElement.prototype.initExpressions = function () {};\n\n  function BaseRenderer() {}\n\n  BaseRenderer.prototype.checkLayers = function (num) {\n    var i;\n    var len = this.layers.length;\n    var data;\n    this.completeLayers = true;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if (!this.elements[i]) {\n        data = this.layers[i];\n\n        if (data.ip - data.st <= num - this.layers[i].st && data.op - data.st > num - this.layers[i].st) {\n          this.buildItem(i);\n        }\n      }\n\n      this.completeLayers = this.elements[i] ? this.completeLayers : false;\n    }\n\n    this.checkPendingElements();\n  };\n\n  BaseRenderer.prototype.createItem = function (layer) {\n    switch (layer.ty) {\n      case 2:\n        return this.createImage(layer);\n\n      case 0:\n        return this.createComp(layer);\n\n      case 1:\n        return this.createSolid(layer);\n\n      case 3:\n        return this.createNull(layer);\n\n      case 4:\n        return this.createShape(layer);\n\n      case 5:\n        return this.createText(layer);\n\n      case 6:\n        return this.createAudio(layer);\n\n      case 13:\n        return this.createCamera(layer);\n\n      case 15:\n        return this.createFootage(layer);\n\n      default:\n        return this.createNull(layer);\n    }\n  };\n\n  BaseRenderer.prototype.createCamera = function () {\n    throw new Error('You\\'re using a 3d camera. Try the html renderer.');\n  };\n\n  BaseRenderer.prototype.createAudio = function (data) {\n    return new AudioElement(data, this.globalData, this);\n  };\n\n  BaseRenderer.prototype.createFootage = function (data) {\n    return new FootageElement(data, this.globalData, this);\n  };\n\n  BaseRenderer.prototype.buildAllItems = function () {\n    var i;\n    var len = this.layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      this.buildItem(i);\n    }\n\n    this.checkPendingElements();\n  };\n\n  BaseRenderer.prototype.includeLayers = function (newLayers) {\n    this.completeLayers = false;\n    var i;\n    var len = newLayers.length;\n    var j;\n    var jLen = this.layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      j = 0;\n\n      while (j < jLen) {\n        if (this.layers[j].id === newLayers[i].id) {\n          this.layers[j] = newLayers[i];\n          break;\n        }\n\n        j += 1;\n      }\n    }\n  };\n\n  BaseRenderer.prototype.setProjectInterface = function (pInterface) {\n    this.globalData.projectInterface = pInterface;\n  };\n\n  BaseRenderer.prototype.initItems = function () {\n    if (!this.globalData.progressiveLoad) {\n      this.buildAllItems();\n    }\n  };\n\n  BaseRenderer.prototype.buildElementParenting = function (element, parentName, hierarchy) {\n    var elements = this.elements;\n    var layers = this.layers;\n    var i = 0;\n    var len = layers.length;\n\n    while (i < len) {\n      if (layers[i].ind == parentName) {\n        // eslint-disable-line eqeqeq\n        if (!elements[i] || elements[i] === true) {\n          this.buildItem(i);\n          this.addPendingElement(element);\n        } else {\n          hierarchy.push(elements[i]);\n          elements[i].setAsParent();\n\n          if (layers[i].parent !== undefined) {\n            this.buildElementParenting(element, layers[i].parent, hierarchy);\n          } else {\n            element.setHierarchy(hierarchy);\n          }\n        }\n      }\n\n      i += 1;\n    }\n  };\n\n  BaseRenderer.prototype.addPendingElement = function (element) {\n    this.pendingElements.push(element);\n  };\n\n  BaseRenderer.prototype.searchExtraCompositions = function (assets) {\n    var i;\n    var len = assets.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (assets[i].xt) {\n        var comp = this.createComp(assets[i]);\n        comp.initExpressions();\n        this.globalData.projectInterface.registerComposition(comp);\n      }\n    }\n  };\n\n  BaseRenderer.prototype.getElementById = function (ind) {\n    var i;\n    var len = this.elements.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (this.elements[i].data.ind === ind) {\n        return this.elements[i];\n      }\n    }\n\n    return null;\n  };\n\n  BaseRenderer.prototype.getElementByPath = function (path) {\n    var pathValue = path.shift();\n    var element;\n\n    if (typeof pathValue === 'number') {\n      element = this.elements[pathValue];\n    } else {\n      var i;\n      var len = this.elements.length;\n\n      for (i = 0; i < len; i += 1) {\n        if (this.elements[i].data.nm === pathValue) {\n          element = this.elements[i];\n          break;\n        }\n      }\n    }\n\n    if (path.length === 0) {\n      return element;\n    }\n\n    return element.getElementByPath(path);\n  };\n\n  BaseRenderer.prototype.setupGlobalData = function (animData, fontsContainer) {\n    this.globalData.fontManager = new FontManager();\n    this.globalData.slotManager = slotFactory(animData);\n    this.globalData.fontManager.addChars(animData.chars);\n    this.globalData.fontManager.addFonts(animData.fonts, fontsContainer);\n    this.globalData.getAssetData = this.animationItem.getAssetData.bind(this.animationItem);\n    this.globalData.getAssetsPath = this.animationItem.getAssetsPath.bind(this.animationItem);\n    this.globalData.imageLoader = this.animationItem.imagePreloader;\n    this.globalData.audioController = this.animationItem.audioController;\n    this.globalData.frameId = 0;\n    this.globalData.frameRate = animData.fr;\n    this.globalData.nm = animData.nm;\n    this.globalData.compSize = {\n      w: animData.w,\n      h: animData.h\n    };\n  };\n\n  var effectTypes = {\n    TRANSFORM_EFFECT: 'transformEFfect'\n  };\n\n  function TransformElement() {}\n\n  TransformElement.prototype = {\n    initTransform: function initTransform() {\n      var mat = new Matrix();\n      this.finalTransform = {\n        mProp: this.data.ks ? TransformPropertyFactory.getTransformProperty(this, this.data.ks, this) : {\n          o: 0\n        },\n        _matMdf: false,\n        _localMatMdf: false,\n        _opMdf: false,\n        mat: mat,\n        localMat: mat,\n        localOpacity: 1\n      };\n\n      if (this.data.ao) {\n        this.finalTransform.mProp.autoOriented = true;\n      } // TODO: check TYPE 11: Guided elements\n\n\n      if (this.data.ty !== 11) {// this.createElements();\n      }\n    },\n    renderTransform: function renderTransform() {\n      this.finalTransform._opMdf = this.finalTransform.mProp.o._mdf || this._isFirstFrame;\n      this.finalTransform._matMdf = this.finalTransform.mProp._mdf || this._isFirstFrame;\n\n      if (this.hierarchy) {\n        var mat;\n        var finalMat = this.finalTransform.mat;\n        var i = 0;\n        var len = this.hierarchy.length; // Checking if any of the transformation matrices in the hierarchy chain has changed.\n\n        if (!this.finalTransform._matMdf) {\n          while (i < len) {\n            if (this.hierarchy[i].finalTransform.mProp._mdf) {\n              this.finalTransform._matMdf = true;\n              break;\n            }\n\n            i += 1;\n          }\n        }\n\n        if (this.finalTransform._matMdf) {\n          mat = this.finalTransform.mProp.v.props;\n          finalMat.cloneFromProps(mat);\n\n          for (i = 0; i < len; i += 1) {\n            finalMat.multiply(this.hierarchy[i].finalTransform.mProp.v);\n          }\n        }\n      }\n\n      if (this.finalTransform._matMdf) {\n        this.finalTransform._localMatMdf = this.finalTransform._matMdf;\n      }\n\n      if (this.finalTransform._opMdf) {\n        this.finalTransform.localOpacity = this.finalTransform.mProp.o.v;\n      }\n    },\n    renderLocalTransform: function renderLocalTransform() {\n      if (this.localTransforms) {\n        var i = 0;\n        var len = this.localTransforms.length;\n        this.finalTransform._localMatMdf = this.finalTransform._matMdf;\n\n        if (!this.finalTransform._localMatMdf || !this.finalTransform._opMdf) {\n          while (i < len) {\n            if (this.localTransforms[i]._mdf) {\n              this.finalTransform._localMatMdf = true;\n            }\n\n            if (this.localTransforms[i]._opMdf && !this.finalTransform._opMdf) {\n              this.finalTransform.localOpacity = this.finalTransform.mProp.o.v;\n              this.finalTransform._opMdf = true;\n            }\n\n            i += 1;\n          }\n        }\n\n        if (this.finalTransform._localMatMdf) {\n          var localMat = this.finalTransform.localMat;\n          this.localTransforms[0].matrix.clone(localMat);\n\n          for (i = 1; i < len; i += 1) {\n            var lmat = this.localTransforms[i].matrix;\n            localMat.multiply(lmat);\n          }\n\n          localMat.multiply(this.finalTransform.mat);\n        }\n\n        if (this.finalTransform._opMdf) {\n          var localOp = this.finalTransform.localOpacity;\n\n          for (i = 0; i < len; i += 1) {\n            localOp *= this.localTransforms[i].opacity * 0.01;\n          }\n\n          this.finalTransform.localOpacity = localOp;\n        }\n      }\n    },\n    searchEffectTransforms: function searchEffectTransforms() {\n      if (this.renderableEffectsManager) {\n        var transformEffects = this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);\n\n        if (transformEffects.length) {\n          this.localTransforms = [];\n          this.finalTransform.localMat = new Matrix();\n          var i = 0;\n          var len = transformEffects.length;\n\n          for (i = 0; i < len; i += 1) {\n            this.localTransforms.push(transformEffects[i]);\n          }\n        }\n      }\n    },\n    globalToLocal: function globalToLocal(pt) {\n      var transforms = [];\n      transforms.push(this.finalTransform);\n      var flag = true;\n      var comp = this.comp;\n\n      while (flag) {\n        if (comp.finalTransform) {\n          if (comp.data.hasMask) {\n            transforms.splice(0, 0, comp.finalTransform);\n          }\n\n          comp = comp.comp;\n        } else {\n          flag = false;\n        }\n      }\n\n      var i;\n      var len = transforms.length;\n      var ptNew;\n\n      for (i = 0; i < len; i += 1) {\n        ptNew = transforms[i].mat.applyToPointArray(0, 0, 0); // ptNew = transforms[i].mat.applyToPointArray(pt[0],pt[1],pt[2]);\n\n        pt = [pt[0] - ptNew[0], pt[1] - ptNew[1], 0];\n      }\n\n      return pt;\n    },\n    mHelper: new Matrix()\n  };\n\n  function MaskElement(data, element, globalData) {\n    this.data = data;\n    this.element = element;\n    this.globalData = globalData;\n    this.storedData = [];\n    this.masksProperties = this.data.masksProperties || [];\n    this.maskElement = null;\n    var defs = this.globalData.defs;\n    var i;\n    var len = this.masksProperties ? this.masksProperties.length : 0;\n    this.viewData = createSizedArray(len);\n    this.solidPath = '';\n    var path;\n    var properties = this.masksProperties;\n    var count = 0;\n    var currentMasks = [];\n    var j;\n    var jLen;\n    var layerId = createElementID();\n    var rect;\n    var expansor;\n    var feMorph;\n    var x;\n    var maskType = 'clipPath';\n    var maskRef = 'clip-path';\n\n    for (i = 0; i < len; i += 1) {\n      if (properties[i].mode !== 'a' && properties[i].mode !== 'n' || properties[i].inv || properties[i].o.k !== 100 || properties[i].o.x) {\n        maskType = 'mask';\n        maskRef = 'mask';\n      }\n\n      if ((properties[i].mode === 's' || properties[i].mode === 'i') && count === 0) {\n        rect = createNS('rect');\n        rect.setAttribute('fill', '#ffffff');\n        rect.setAttribute('width', this.element.comp.data.w || 0);\n        rect.setAttribute('height', this.element.comp.data.h || 0);\n        currentMasks.push(rect);\n      } else {\n        rect = null;\n      }\n\n      path = createNS('path');\n\n      if (properties[i].mode === 'n') {\n        // TODO move this to a factory or to a constructor\n        this.viewData[i] = {\n          op: PropertyFactory.getProp(this.element, properties[i].o, 0, 0.01, this.element),\n          prop: ShapePropertyFactory.getShapeProp(this.element, properties[i], 3),\n          elem: path,\n          lastPath: ''\n        };\n        defs.appendChild(path);\n      } else {\n        count += 1;\n        path.setAttribute('fill', properties[i].mode === 's' ? '#000000' : '#ffffff');\n        path.setAttribute('clip-rule', 'nonzero');\n        var filterID;\n\n        if (properties[i].x.k !== 0) {\n          maskType = 'mask';\n          maskRef = 'mask';\n          x = PropertyFactory.getProp(this.element, properties[i].x, 0, null, this.element);\n          filterID = createElementID();\n          expansor = createNS('filter');\n          expansor.setAttribute('id', filterID);\n          feMorph = createNS('feMorphology');\n          feMorph.setAttribute('operator', 'erode');\n          feMorph.setAttribute('in', 'SourceGraphic');\n          feMorph.setAttribute('radius', '0');\n          expansor.appendChild(feMorph);\n          defs.appendChild(expansor);\n          path.setAttribute('stroke', properties[i].mode === 's' ? '#000000' : '#ffffff');\n        } else {\n          feMorph = null;\n          x = null;\n        } // TODO move this to a factory or to a constructor\n\n\n        this.storedData[i] = {\n          elem: path,\n          x: x,\n          expan: feMorph,\n          lastPath: '',\n          lastOperator: '',\n          filterId: filterID,\n          lastRadius: 0\n        };\n\n        if (properties[i].mode === 'i') {\n          jLen = currentMasks.length;\n          var g = createNS('g');\n\n          for (j = 0; j < jLen; j += 1) {\n            g.appendChild(currentMasks[j]);\n          }\n\n          var mask = createNS('mask');\n          mask.setAttribute('mask-type', 'alpha');\n          mask.setAttribute('id', layerId + '_' + count);\n          mask.appendChild(path);\n          defs.appendChild(mask);\n          g.setAttribute('mask', 'url(' + getLocationHref() + '#' + layerId + '_' + count + ')');\n          currentMasks.length = 0;\n          currentMasks.push(g);\n        } else {\n          currentMasks.push(path);\n        }\n\n        if (properties[i].inv && !this.solidPath) {\n          this.solidPath = this.createLayerSolidPath();\n        } // TODO move this to a factory or to a constructor\n\n\n        this.viewData[i] = {\n          elem: path,\n          lastPath: '',\n          op: PropertyFactory.getProp(this.element, properties[i].o, 0, 0.01, this.element),\n          prop: ShapePropertyFactory.getShapeProp(this.element, properties[i], 3),\n          invRect: rect\n        };\n\n        if (!this.viewData[i].prop.k) {\n          this.drawPath(properties[i], this.viewData[i].prop.v, this.viewData[i]);\n        }\n      }\n    }\n\n    this.maskElement = createNS(maskType);\n    len = currentMasks.length;\n\n    for (i = 0; i < len; i += 1) {\n      this.maskElement.appendChild(currentMasks[i]);\n    }\n\n    if (count > 0) {\n      this.maskElement.setAttribute('id', layerId);\n      this.element.maskedElement.setAttribute(maskRef, 'url(' + getLocationHref() + '#' + layerId + ')');\n      defs.appendChild(this.maskElement);\n    }\n\n    if (this.viewData.length) {\n      this.element.addRenderableComponent(this);\n    }\n  }\n\n  MaskElement.prototype.getMaskProperty = function (pos) {\n    return this.viewData[pos].prop;\n  };\n\n  MaskElement.prototype.renderFrame = function (isFirstFrame) {\n    var finalMat = this.element.finalTransform.mat;\n    var i;\n    var len = this.masksProperties.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (this.viewData[i].prop._mdf || isFirstFrame) {\n        this.drawPath(this.masksProperties[i], this.viewData[i].prop.v, this.viewData[i]);\n      }\n\n      if (this.viewData[i].op._mdf || isFirstFrame) {\n        this.viewData[i].elem.setAttribute('fill-opacity', this.viewData[i].op.v);\n      }\n\n      if (this.masksProperties[i].mode !== 'n') {\n        if (this.viewData[i].invRect && (this.element.finalTransform.mProp._mdf || isFirstFrame)) {\n          this.viewData[i].invRect.setAttribute('transform', finalMat.getInverseMatrix().to2dCSS());\n        }\n\n        if (this.storedData[i].x && (this.storedData[i].x._mdf || isFirstFrame)) {\n          var feMorph = this.storedData[i].expan;\n\n          if (this.storedData[i].x.v < 0) {\n            if (this.storedData[i].lastOperator !== 'erode') {\n              this.storedData[i].lastOperator = 'erode';\n              this.storedData[i].elem.setAttribute('filter', 'url(' + getLocationHref() + '#' + this.storedData[i].filterId + ')');\n            }\n\n            feMorph.setAttribute('radius', -this.storedData[i].x.v);\n          } else {\n            if (this.storedData[i].lastOperator !== 'dilate') {\n              this.storedData[i].lastOperator = 'dilate';\n              this.storedData[i].elem.setAttribute('filter', null);\n            }\n\n            this.storedData[i].elem.setAttribute('stroke-width', this.storedData[i].x.v * 2);\n          }\n        }\n      }\n    }\n  };\n\n  MaskElement.prototype.getMaskelement = function () {\n    return this.maskElement;\n  };\n\n  MaskElement.prototype.createLayerSolidPath = function () {\n    var path = 'M0,0 ';\n    path += ' h' + this.globalData.compSize.w;\n    path += ' v' + this.globalData.compSize.h;\n    path += ' h-' + this.globalData.compSize.w;\n    path += ' v-' + this.globalData.compSize.h + ' ';\n    return path;\n  };\n\n  MaskElement.prototype.drawPath = function (pathData, pathNodes, viewData) {\n    var pathString = ' M' + pathNodes.v[0][0] + ',' + pathNodes.v[0][1];\n    var i;\n    var len;\n    len = pathNodes._length;\n\n    for (i = 1; i < len; i += 1) {\n      // pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[i][0]+','+pathNodes.i[i][1] + \" \"+pathNodes.v[i][0]+','+pathNodes.v[i][1];\n      pathString += ' C' + pathNodes.o[i - 1][0] + ',' + pathNodes.o[i - 1][1] + ' ' + pathNodes.i[i][0] + ',' + pathNodes.i[i][1] + ' ' + pathNodes.v[i][0] + ',' + pathNodes.v[i][1];\n    } // pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[0][0]+','+pathNodes.i[0][1] + \" \"+pathNodes.v[0][0]+','+pathNodes.v[0][1];\n\n\n    if (pathNodes.c && len > 1) {\n      pathString += ' C' + pathNodes.o[i - 1][0] + ',' + pathNodes.o[i - 1][1] + ' ' + pathNodes.i[0][0] + ',' + pathNodes.i[0][1] + ' ' + pathNodes.v[0][0] + ',' + pathNodes.v[0][1];\n    } // pathNodes.__renderedString = pathString;\n\n\n    if (viewData.lastPath !== pathString) {\n      var pathShapeValue = '';\n\n      if (viewData.elem) {\n        if (pathNodes.c) {\n          pathShapeValue = pathData.inv ? this.solidPath + pathString : pathString;\n        }\n\n        viewData.elem.setAttribute('d', pathShapeValue);\n      }\n\n      viewData.lastPath = pathString;\n    }\n  };\n\n  MaskElement.prototype.destroy = function () {\n    this.element = null;\n    this.globalData = null;\n    this.maskElement = null;\n    this.data = null;\n    this.masksProperties = null;\n  };\n\n  var filtersFactory = function () {\n    var ob = {};\n    ob.createFilter = createFilter;\n    ob.createAlphaToLuminanceFilter = createAlphaToLuminanceFilter;\n\n    function createFilter(filId, skipCoordinates) {\n      var fil = createNS('filter');\n      fil.setAttribute('id', filId);\n\n      if (skipCoordinates !== true) {\n        fil.setAttribute('filterUnits', 'objectBoundingBox');\n        fil.setAttribute('x', '0%');\n        fil.setAttribute('y', '0%');\n        fil.setAttribute('width', '100%');\n        fil.setAttribute('height', '100%');\n      }\n\n      return fil;\n    }\n\n    function createAlphaToLuminanceFilter() {\n      var feColorMatrix = createNS('feColorMatrix');\n      feColorMatrix.setAttribute('type', 'matrix');\n      feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n      feColorMatrix.setAttribute('values', '0 0 0 1 0  0 0 0 1 0  0 0 0 1 0  0 0 0 1 1');\n      return feColorMatrix;\n    }\n\n    return ob;\n  }();\n\n  var featureSupport = function () {\n    var ob = {\n      maskType: true,\n      svgLumaHidden: true,\n      offscreenCanvas: typeof OffscreenCanvas !== 'undefined'\n    };\n\n    if (/MSIE 10/i.test(navigator.userAgent) || /MSIE 9/i.test(navigator.userAgent) || /rv:11.0/i.test(navigator.userAgent) || /Edge\\/\\d./i.test(navigator.userAgent)) {\n      ob.maskType = false;\n    }\n\n    if (/firefox/i.test(navigator.userAgent)) {\n      ob.svgLumaHidden = false;\n    }\n\n    return ob;\n  }();\n\n  var registeredEffects$1 = {};\n  var idPrefix = 'filter_result_';\n\n  function SVGEffects(elem) {\n    var i;\n    var source = 'SourceGraphic';\n    var len = elem.data.ef ? elem.data.ef.length : 0;\n    var filId = createElementID();\n    var fil = filtersFactory.createFilter(filId, true);\n    var count = 0;\n    this.filters = [];\n    var filterManager;\n\n    for (i = 0; i < len; i += 1) {\n      filterManager = null;\n      var type = elem.data.ef[i].ty;\n\n      if (registeredEffects$1[type]) {\n        var Effect = registeredEffects$1[type].effect;\n        filterManager = new Effect(fil, elem.effectsManager.effectElements[i], elem, idPrefix + count, source);\n        source = idPrefix + count;\n\n        if (registeredEffects$1[type].countsAsEffect) {\n          count += 1;\n        }\n      }\n\n      if (filterManager) {\n        this.filters.push(filterManager);\n      }\n    }\n\n    if (count) {\n      elem.globalData.defs.appendChild(fil);\n      elem.layerElement.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')');\n    }\n\n    if (this.filters.length) {\n      elem.addRenderableComponent(this);\n    }\n  }\n\n  SVGEffects.prototype.renderFrame = function (_isFirstFrame) {\n    var i;\n    var len = this.filters.length;\n\n    for (i = 0; i < len; i += 1) {\n      this.filters[i].renderFrame(_isFirstFrame);\n    }\n  };\n\n  SVGEffects.prototype.getEffects = function (type) {\n    var i;\n    var len = this.filters.length;\n    var effects = [];\n\n    for (i = 0; i < len; i += 1) {\n      if (this.filters[i].type === type) {\n        effects.push(this.filters[i]);\n      }\n    }\n\n    return effects;\n  };\n\n  function registerEffect$1(id, effect, countsAsEffect) {\n    registeredEffects$1[id] = {\n      effect: effect,\n      countsAsEffect: countsAsEffect\n    };\n  }\n\n  function SVGBaseElement() {}\n\n  SVGBaseElement.prototype = {\n    initRendererElement: function initRendererElement() {\n      this.layerElement = createNS('g');\n    },\n    createContainerElements: function createContainerElements() {\n      this.matteElement = createNS('g');\n      this.transformedElement = this.layerElement;\n      this.maskedElement = this.layerElement;\n      this._sizeChanged = false;\n      var layerElementParent = null; // If this layer acts as a mask for the following layer\n\n      if (this.data.td) {\n        this.matteMasks = {};\n        var gg = createNS('g');\n        gg.setAttribute('id', this.layerId);\n        gg.appendChild(this.layerElement);\n        layerElementParent = gg;\n        this.globalData.defs.appendChild(gg);\n      } else if (this.data.tt) {\n        this.matteElement.appendChild(this.layerElement);\n        layerElementParent = this.matteElement;\n        this.baseElement = this.matteElement;\n      } else {\n        this.baseElement = this.layerElement;\n      }\n\n      if (this.data.ln) {\n        this.layerElement.setAttribute('id', this.data.ln);\n      }\n\n      if (this.data.cl) {\n        this.layerElement.setAttribute('class', this.data.cl);\n      } // Clipping compositions to hide content that exceeds boundaries. If collapsed transformations is on, component should not be clipped\n\n\n      if (this.data.ty === 0 && !this.data.hd) {\n        var cp = createNS('clipPath');\n        var pt = createNS('path');\n        pt.setAttribute('d', 'M0,0 L' + this.data.w + ',0 L' + this.data.w + ',' + this.data.h + ' L0,' + this.data.h + 'z');\n        var clipId = createElementID();\n        cp.setAttribute('id', clipId);\n        cp.appendChild(pt);\n        this.globalData.defs.appendChild(cp);\n\n        if (this.checkMasks()) {\n          var cpGroup = createNS('g');\n          cpGroup.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + clipId + ')');\n          cpGroup.appendChild(this.layerElement);\n          this.transformedElement = cpGroup;\n\n          if (layerElementParent) {\n            layerElementParent.appendChild(this.transformedElement);\n          } else {\n            this.baseElement = this.transformedElement;\n          }\n        } else {\n          this.layerElement.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + clipId + ')');\n        }\n      }\n\n      if (this.data.bm !== 0) {\n        this.setBlendMode();\n      }\n    },\n    renderElement: function renderElement() {\n      if (this.finalTransform._localMatMdf) {\n        this.transformedElement.setAttribute('transform', this.finalTransform.localMat.to2dCSS());\n      }\n\n      if (this.finalTransform._opMdf) {\n        this.transformedElement.setAttribute('opacity', this.finalTransform.localOpacity);\n      }\n    },\n    destroyBaseElement: function destroyBaseElement() {\n      this.layerElement = null;\n      this.matteElement = null;\n      this.maskManager.destroy();\n    },\n    getBaseElement: function getBaseElement() {\n      if (this.data.hd) {\n        return null;\n      }\n\n      return this.baseElement;\n    },\n    createRenderableComponents: function createRenderableComponents() {\n      this.maskManager = new MaskElement(this.data, this, this.globalData);\n      this.renderableEffectsManager = new SVGEffects(this);\n      this.searchEffectTransforms();\n    },\n    getMatte: function getMatte(matteType) {\n      // This should not be a common case. But for backward compatibility, we'll create the matte object.\n      // It solves animations that have two consecutive layers marked as matte masks.\n      // Which is an undefined behavior in AE.\n      if (!this.matteMasks) {\n        this.matteMasks = {};\n      }\n\n      if (!this.matteMasks[matteType]) {\n        var id = this.layerId + '_' + matteType;\n        var filId;\n        var fil;\n        var useElement;\n        var gg;\n\n        if (matteType === 1 || matteType === 3) {\n          var masker = createNS('mask');\n          masker.setAttribute('id', id);\n          masker.setAttribute('mask-type', matteType === 3 ? 'luminance' : 'alpha');\n          useElement = createNS('use');\n          useElement.setAttributeNS('http://www.w3.org/1999/xlink', 'href', '#' + this.layerId);\n          masker.appendChild(useElement);\n          this.globalData.defs.appendChild(masker);\n\n          if (!featureSupport.maskType && matteType === 1) {\n            masker.setAttribute('mask-type', 'luminance');\n            filId = createElementID();\n            fil = filtersFactory.createFilter(filId);\n            this.globalData.defs.appendChild(fil);\n            fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n            gg = createNS('g');\n            gg.appendChild(useElement);\n            masker.appendChild(gg);\n            gg.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')');\n          }\n        } else if (matteType === 2) {\n          var maskGroup = createNS('mask');\n          maskGroup.setAttribute('id', id);\n          maskGroup.setAttribute('mask-type', 'alpha');\n          var maskGrouper = createNS('g');\n          maskGroup.appendChild(maskGrouper);\n          filId = createElementID();\n          fil = filtersFactory.createFilter(filId); /// /\n\n          var feCTr = createNS('feComponentTransfer');\n          feCTr.setAttribute('in', 'SourceGraphic');\n          fil.appendChild(feCTr);\n          var feFunc = createNS('feFuncA');\n          feFunc.setAttribute('type', 'table');\n          feFunc.setAttribute('tableValues', '1.0 0.0');\n          feCTr.appendChild(feFunc); /// /\n\n          this.globalData.defs.appendChild(fil);\n          var alphaRect = createNS('rect');\n          alphaRect.setAttribute('width', this.comp.data.w);\n          alphaRect.setAttribute('height', this.comp.data.h);\n          alphaRect.setAttribute('x', '0');\n          alphaRect.setAttribute('y', '0');\n          alphaRect.setAttribute('fill', '#ffffff');\n          alphaRect.setAttribute('opacity', '0');\n          maskGrouper.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')');\n          maskGrouper.appendChild(alphaRect);\n          useElement = createNS('use');\n          useElement.setAttributeNS('http://www.w3.org/1999/xlink', 'href', '#' + this.layerId);\n          maskGrouper.appendChild(useElement);\n\n          if (!featureSupport.maskType) {\n            maskGroup.setAttribute('mask-type', 'luminance');\n            fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n            gg = createNS('g');\n            maskGrouper.appendChild(alphaRect);\n            gg.appendChild(this.layerElement);\n            maskGrouper.appendChild(gg);\n          }\n\n          this.globalData.defs.appendChild(maskGroup);\n        }\n\n        this.matteMasks[matteType] = id;\n      }\n\n      return this.matteMasks[matteType];\n    },\n    setMatte: function setMatte(id) {\n      if (!this.matteElement) {\n        return;\n      }\n\n      this.matteElement.setAttribute('mask', 'url(' + getLocationHref() + '#' + id + ')');\n    }\n  };\n\n  /**\r\n   * @file\r\n   * Handles AE's layer parenting property.\r\n   *\r\n   */\n  function HierarchyElement() {}\n\n  HierarchyElement.prototype = {\n    /**\r\n       * @function\r\n       * Initializes hierarchy properties\r\n       *\r\n       */\n    initHierarchy: function initHierarchy() {\n      // element's parent list\n      this.hierarchy = []; // if element is parent of another layer _isParent will be true\n\n      this._isParent = false;\n      this.checkParenting();\n    },\n\n    /**\r\n       * @function\r\n       * Sets layer's hierarchy.\r\n       * @param {array} hierarch\r\n       * layer's parent list\r\n       *\r\n       */\n    setHierarchy: function setHierarchy(hierarchy) {\n      this.hierarchy = hierarchy;\n    },\n\n    /**\r\n       * @function\r\n       * Sets layer as parent.\r\n       *\r\n       */\n    setAsParent: function setAsParent() {\n      this._isParent = true;\n    },\n\n    /**\r\n       * @function\r\n       * Searches layer's parenting chain\r\n       *\r\n       */\n    checkParenting: function checkParenting() {\n      if (this.data.parent !== undefined) {\n        this.comp.buildElementParenting(this, this.data.parent, []);\n      }\n    }\n  };\n\n  function RenderableDOMElement() {}\n\n  (function () {\n    var _prototype = {\n      initElement: function initElement(data, globalData, comp) {\n        this.initFrame();\n        this.initBaseData(data, globalData, comp);\n        this.initTransform(data, globalData, comp);\n        this.initHierarchy();\n        this.initRenderable();\n        this.initRendererElement();\n        this.createContainerElements();\n        this.createRenderableComponents();\n        this.createContent();\n        this.hide();\n      },\n      hide: function hide() {\n        // console.log('HIDE', this);\n        if (!this.hidden && (!this.isInRange || this.isTransparent)) {\n          var elem = this.baseElement || this.layerElement;\n          elem.style.display = 'none';\n          this.hidden = true;\n        }\n      },\n      show: function show() {\n        // console.log('SHOW', this);\n        if (this.isInRange && !this.isTransparent) {\n          if (!this.data.hd) {\n            var elem = this.baseElement || this.layerElement;\n            elem.style.display = 'block';\n          }\n\n          this.hidden = false;\n          this._isFirstFrame = true;\n        }\n      },\n      renderFrame: function renderFrame() {\n        // If it is exported as hidden (data.hd === true) no need to render\n        // If it is not visible no need to render\n        if (this.data.hd || this.hidden) {\n          return;\n        }\n\n        this.renderTransform();\n        this.renderRenderable();\n        this.renderLocalTransform();\n        this.renderElement();\n        this.renderInnerContent();\n\n        if (this._isFirstFrame) {\n          this._isFirstFrame = false;\n        }\n      },\n      renderInnerContent: function renderInnerContent() {},\n      prepareFrame: function prepareFrame(num) {\n        this._mdf = false;\n        this.prepareRenderableFrame(num);\n        this.prepareProperties(num, this.isInRange);\n        this.checkTransparency();\n      },\n      destroy: function destroy() {\n        this.innerElem = null;\n        this.destroyBaseElement();\n      }\n    };\n    extendPrototype([RenderableElement, createProxyFunction(_prototype)], RenderableDOMElement);\n  })();\n\n  function IImageElement(data, globalData, comp) {\n    this.assetData = globalData.getAssetData(data.refId);\n\n    if (this.assetData && this.assetData.sid) {\n      this.assetData = globalData.slotManager.getProp(this.assetData);\n    }\n\n    this.initElement(data, globalData, comp);\n    this.sourceRect = {\n      top: 0,\n      left: 0,\n      width: this.assetData.w,\n      height: this.assetData.h\n    };\n  }\n\n  extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], IImageElement);\n\n  IImageElement.prototype.createContent = function () {\n    var assetPath = this.globalData.getAssetsPath(this.assetData);\n    this.innerElem = createNS('image');\n    this.innerElem.setAttribute('width', this.assetData.w + 'px');\n    this.innerElem.setAttribute('height', this.assetData.h + 'px');\n    this.innerElem.setAttribute('preserveAspectRatio', this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio);\n    this.innerElem.setAttributeNS('http://www.w3.org/1999/xlink', 'href', assetPath);\n    this.layerElement.appendChild(this.innerElem);\n  };\n\n  IImageElement.prototype.sourceRectAtTime = function () {\n    return this.sourceRect;\n  };\n\n  function ProcessedElement(element, position) {\n    this.elem = element;\n    this.pos = position;\n  }\n\n  function IShapeElement() {}\n\n  IShapeElement.prototype = {\n    addShapeToModifiers: function addShapeToModifiers(data) {\n      var i;\n      var len = this.shapeModifiers.length;\n\n      for (i = 0; i < len; i += 1) {\n        this.shapeModifiers[i].addShape(data);\n      }\n    },\n    isShapeInAnimatedModifiers: function isShapeInAnimatedModifiers(data) {\n      var i = 0;\n      var len = this.shapeModifiers.length;\n\n      while (i < len) {\n        if (this.shapeModifiers[i].isAnimatedWithShape(data)) {\n          return true;\n        }\n      }\n\n      return false;\n    },\n    renderModifiers: function renderModifiers() {\n      if (!this.shapeModifiers.length) {\n        return;\n      }\n\n      var i;\n      var len = this.shapes.length;\n\n      for (i = 0; i < len; i += 1) {\n        this.shapes[i].sh.reset();\n      }\n\n      len = this.shapeModifiers.length;\n      var shouldBreakProcess;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        shouldBreakProcess = this.shapeModifiers[i].processShapes(this._isFirstFrame); // workaround to fix cases where a repeater resets the shape so the following processes get called twice\n        // TODO: find a better solution for this\n\n        if (shouldBreakProcess) {\n          break;\n        }\n      }\n    },\n    searchProcessedElement: function searchProcessedElement(elem) {\n      var elements = this.processedElements;\n      var i = 0;\n      var len = elements.length;\n\n      while (i < len) {\n        if (elements[i].elem === elem) {\n          return elements[i].pos;\n        }\n\n        i += 1;\n      }\n\n      return 0;\n    },\n    addProcessedElement: function addProcessedElement(elem, pos) {\n      var elements = this.processedElements;\n      var i = elements.length;\n\n      while (i) {\n        i -= 1;\n\n        if (elements[i].elem === elem) {\n          elements[i].pos = pos;\n          return;\n        }\n      }\n\n      elements.push(new ProcessedElement(elem, pos));\n    },\n    prepareFrame: function prepareFrame(num) {\n      this.prepareRenderableFrame(num);\n      this.prepareProperties(num, this.isInRange);\n    }\n  };\n\n  var lineCapEnum = {\n    1: 'butt',\n    2: 'round',\n    3: 'square'\n  };\n  var lineJoinEnum = {\n    1: 'miter',\n    2: 'round',\n    3: 'bevel'\n  };\n\n  function SVGShapeData(transformers, level, shape) {\n    this.caches = [];\n    this.styles = [];\n    this.transformers = transformers;\n    this.lStr = '';\n    this.sh = shape;\n    this.lvl = level; // TODO find if there are some cases where _isAnimated can be false.\n    // For now, since shapes add up with other shapes. They have to be calculated every time.\n    // One way of finding out is checking if all styles associated to this shape depend only of this shape\n\n    this._isAnimated = !!shape.k; // TODO: commenting this for now since all shapes are animated\n\n    var i = 0;\n    var len = transformers.length;\n\n    while (i < len) {\n      if (transformers[i].mProps.dynamicProperties.length) {\n        this._isAnimated = true;\n        break;\n      }\n\n      i += 1;\n    }\n  }\n\n  SVGShapeData.prototype.setAsAnimated = function () {\n    this._isAnimated = true;\n  };\n\n  function SVGStyleData(data, level) {\n    this.data = data;\n    this.type = data.ty;\n    this.d = '';\n    this.lvl = level;\n    this._mdf = false;\n    this.closed = data.hd === true;\n    this.pElem = createNS('path');\n    this.msElem = null;\n  }\n\n  SVGStyleData.prototype.reset = function () {\n    this.d = '';\n    this._mdf = false;\n  };\n\n  function DashProperty(elem, data, renderer, container) {\n    this.elem = elem;\n    this.frameId = -1;\n    this.dataProps = createSizedArray(data.length);\n    this.renderer = renderer;\n    this.k = false;\n    this.dashStr = '';\n    this.dashArray = createTypedArray('float32', data.length ? data.length - 1 : 0);\n    this.dashoffset = createTypedArray('float32', 1);\n    this.initDynamicPropertyContainer(container);\n    var i;\n    var len = data.length || 0;\n    var prop;\n\n    for (i = 0; i < len; i += 1) {\n      prop = PropertyFactory.getProp(elem, data[i].v, 0, 0, this);\n      this.k = prop.k || this.k;\n      this.dataProps[i] = {\n        n: data[i].n,\n        p: prop\n      };\n    }\n\n    if (!this.k) {\n      this.getValue(true);\n    }\n\n    this._isAnimated = this.k;\n  }\n\n  DashProperty.prototype.getValue = function (forceRender) {\n    if (this.elem.globalData.frameId === this.frameId && !forceRender) {\n      return;\n    }\n\n    this.frameId = this.elem.globalData.frameId;\n    this.iterateDynamicProperties();\n    this._mdf = this._mdf || forceRender;\n\n    if (this._mdf) {\n      var i = 0;\n      var len = this.dataProps.length;\n\n      if (this.renderer === 'svg') {\n        this.dashStr = '';\n      }\n\n      for (i = 0; i < len; i += 1) {\n        if (this.dataProps[i].n !== 'o') {\n          if (this.renderer === 'svg') {\n            this.dashStr += ' ' + this.dataProps[i].p.v;\n          } else {\n            this.dashArray[i] = this.dataProps[i].p.v;\n          }\n        } else {\n          this.dashoffset[0] = this.dataProps[i].p.v;\n        }\n      }\n    }\n  };\n\n  extendPrototype([DynamicPropertyContainer], DashProperty);\n\n  function SVGStrokeStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    this.getValue = this.iterateDynamicProperties;\n    this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n    this.w = PropertyFactory.getProp(elem, data.w, 0, null, this);\n    this.d = new DashProperty(elem, data.d || {}, 'svg', this);\n    this.c = PropertyFactory.getProp(elem, data.c, 1, 255, this);\n    this.style = styleOb;\n    this._isAnimated = !!this._isAnimated;\n  }\n\n  extendPrototype([DynamicPropertyContainer], SVGStrokeStyleData);\n\n  function SVGFillStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    this.getValue = this.iterateDynamicProperties;\n    this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n    this.c = PropertyFactory.getProp(elem, data.c, 1, 255, this);\n    this.style = styleOb;\n  }\n\n  extendPrototype([DynamicPropertyContainer], SVGFillStyleData);\n\n  function SVGNoStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    this.getValue = this.iterateDynamicProperties;\n    this.style = styleOb;\n  }\n\n  extendPrototype([DynamicPropertyContainer], SVGNoStyleData);\n\n  function GradientProperty(elem, data, container) {\n    this.data = data;\n    this.c = createTypedArray('uint8c', data.p * 4);\n    var cLength = data.k.k[0].s ? data.k.k[0].s.length - data.p * 4 : data.k.k.length - data.p * 4;\n    this.o = createTypedArray('float32', cLength);\n    this._cmdf = false;\n    this._omdf = false;\n    this._collapsable = this.checkCollapsable();\n    this._hasOpacity = cLength;\n    this.initDynamicPropertyContainer(container);\n    this.prop = PropertyFactory.getProp(elem, data.k, 1, null, this);\n    this.k = this.prop.k;\n    this.getValue(true);\n  }\n\n  GradientProperty.prototype.comparePoints = function (values, points) {\n    var i = 0;\n    var len = this.o.length / 2;\n    var diff;\n\n    while (i < len) {\n      diff = Math.abs(values[i * 4] - values[points * 4 + i * 2]);\n\n      if (diff > 0.01) {\n        return false;\n      }\n\n      i += 1;\n    }\n\n    return true;\n  };\n\n  GradientProperty.prototype.checkCollapsable = function () {\n    if (this.o.length / 2 !== this.c.length / 4) {\n      return false;\n    }\n\n    if (this.data.k.k[0].s) {\n      var i = 0;\n      var len = this.data.k.k.length;\n\n      while (i < len) {\n        if (!this.comparePoints(this.data.k.k[i].s, this.data.p)) {\n          return false;\n        }\n\n        i += 1;\n      }\n    } else if (!this.comparePoints(this.data.k.k, this.data.p)) {\n      return false;\n    }\n\n    return true;\n  };\n\n  GradientProperty.prototype.getValue = function (forceRender) {\n    this.prop.getValue();\n    this._mdf = false;\n    this._cmdf = false;\n    this._omdf = false;\n\n    if (this.prop._mdf || forceRender) {\n      var i;\n      var len = this.data.p * 4;\n      var mult;\n      var val;\n\n      for (i = 0; i < len; i += 1) {\n        mult = i % 4 === 0 ? 100 : 255;\n        val = Math.round(this.prop.v[i] * mult);\n\n        if (this.c[i] !== val) {\n          this.c[i] = val;\n          this._cmdf = !forceRender;\n        }\n      }\n\n      if (this.o.length) {\n        len = this.prop.v.length;\n\n        for (i = this.data.p * 4; i < len; i += 1) {\n          mult = i % 2 === 0 ? 100 : 1;\n          val = i % 2 === 0 ? Math.round(this.prop.v[i] * 100) : this.prop.v[i];\n\n          if (this.o[i - this.data.p * 4] !== val) {\n            this.o[i - this.data.p * 4] = val;\n            this._omdf = !forceRender;\n          }\n        }\n      }\n\n      this._mdf = !forceRender;\n    }\n  };\n\n  extendPrototype([DynamicPropertyContainer], GradientProperty);\n\n  function SVGGradientFillStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    this.getValue = this.iterateDynamicProperties;\n    this.initGradientData(elem, data, styleOb);\n  }\n\n  SVGGradientFillStyleData.prototype.initGradientData = function (elem, data, styleOb) {\n    this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n    this.s = PropertyFactory.getProp(elem, data.s, 1, null, this);\n    this.e = PropertyFactory.getProp(elem, data.e, 1, null, this);\n    this.h = PropertyFactory.getProp(elem, data.h || {\n      k: 0\n    }, 0, 0.01, this);\n    this.a = PropertyFactory.getProp(elem, data.a || {\n      k: 0\n    }, 0, degToRads, this);\n    this.g = new GradientProperty(elem, data.g, this);\n    this.style = styleOb;\n    this.stops = [];\n    this.setGradientData(styleOb.pElem, data);\n    this.setGradientOpacity(data, styleOb);\n    this._isAnimated = !!this._isAnimated;\n  };\n\n  SVGGradientFillStyleData.prototype.setGradientData = function (pathElement, data) {\n    var gradientId = createElementID();\n    var gfill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient');\n    gfill.setAttribute('id', gradientId);\n    gfill.setAttribute('spreadMethod', 'pad');\n    gfill.setAttribute('gradientUnits', 'userSpaceOnUse');\n    var stops = [];\n    var stop;\n    var j;\n    var jLen;\n    jLen = data.g.p * 4;\n\n    for (j = 0; j < jLen; j += 4) {\n      stop = createNS('stop');\n      gfill.appendChild(stop);\n      stops.push(stop);\n    }\n\n    pathElement.setAttribute(data.ty === 'gf' ? 'fill' : 'stroke', 'url(' + getLocationHref() + '#' + gradientId + ')');\n    this.gf = gfill;\n    this.cst = stops;\n  };\n\n  SVGGradientFillStyleData.prototype.setGradientOpacity = function (data, styleOb) {\n    if (this.g._hasOpacity && !this.g._collapsable) {\n      var stop;\n      var j;\n      var jLen;\n      var mask = createNS('mask');\n      var maskElement = createNS('path');\n      mask.appendChild(maskElement);\n      var opacityId = createElementID();\n      var maskId = createElementID();\n      mask.setAttribute('id', maskId);\n      var opFill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient');\n      opFill.setAttribute('id', opacityId);\n      opFill.setAttribute('spreadMethod', 'pad');\n      opFill.setAttribute('gradientUnits', 'userSpaceOnUse');\n      jLen = data.g.k.k[0].s ? data.g.k.k[0].s.length : data.g.k.k.length;\n      var stops = this.stops;\n\n      for (j = data.g.p * 4; j < jLen; j += 2) {\n        stop = createNS('stop');\n        stop.setAttribute('stop-color', 'rgb(255,255,255)');\n        opFill.appendChild(stop);\n        stops.push(stop);\n      }\n\n      maskElement.setAttribute(data.ty === 'gf' ? 'fill' : 'stroke', 'url(' + getLocationHref() + '#' + opacityId + ')');\n\n      if (data.ty === 'gs') {\n        maskElement.setAttribute('stroke-linecap', lineCapEnum[data.lc || 2]);\n        maskElement.setAttribute('stroke-linejoin', lineJoinEnum[data.lj || 2]);\n\n        if (data.lj === 1) {\n          maskElement.setAttribute('stroke-miterlimit', data.ml);\n        }\n      }\n\n      this.of = opFill;\n      this.ms = mask;\n      this.ost = stops;\n      this.maskId = maskId;\n      styleOb.msElem = maskElement;\n    }\n  };\n\n  extendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData);\n\n  function SVGGradientStrokeStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    this.getValue = this.iterateDynamicProperties;\n    this.w = PropertyFactory.getProp(elem, data.w, 0, null, this);\n    this.d = new DashProperty(elem, data.d || {}, 'svg', this);\n    this.initGradientData(elem, data, styleOb);\n    this._isAnimated = !!this._isAnimated;\n  }\n\n  extendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData);\n\n  function ShapeGroupData() {\n    this.it = [];\n    this.prevViewData = [];\n    this.gr = createNS('g');\n  }\n\n  function SVGTransformData(mProps, op, container) {\n    this.transform = {\n      mProps: mProps,\n      op: op,\n      container: container\n    };\n    this.elements = [];\n    this._isAnimated = this.transform.mProps.dynamicProperties.length || this.transform.op.effectsSequence.length;\n  }\n\n  var buildShapeString = function buildShapeString(pathNodes, length, closed, mat) {\n    if (length === 0) {\n      return '';\n    }\n\n    var _o = pathNodes.o;\n    var _i = pathNodes.i;\n    var _v = pathNodes.v;\n    var i;\n    var shapeString = ' M' + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n\n    for (i = 1; i < length; i += 1) {\n      shapeString += ' C' + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + ' ' + mat.applyToPointStringified(_i[i][0], _i[i][1]) + ' ' + mat.applyToPointStringified(_v[i][0], _v[i][1]);\n    }\n\n    if (closed && length) {\n      shapeString += ' C' + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + ' ' + mat.applyToPointStringified(_i[0][0], _i[0][1]) + ' ' + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n      shapeString += 'z';\n    }\n\n    return shapeString;\n  };\n\n  var SVGElementsRenderer = function () {\n    var _identityMatrix = new Matrix();\n\n    var _matrixHelper = new Matrix();\n\n    var ob = {\n      createRenderFunction: createRenderFunction\n    };\n\n    function createRenderFunction(data) {\n      switch (data.ty) {\n        case 'fl':\n          return renderFill;\n\n        case 'gf':\n          return renderGradient;\n\n        case 'gs':\n          return renderGradientStroke;\n\n        case 'st':\n          return renderStroke;\n\n        case 'sh':\n        case 'el':\n        case 'rc':\n        case 'sr':\n          return renderPath;\n\n        case 'tr':\n          return renderContentTransform;\n\n        case 'no':\n          return renderNoop;\n\n        default:\n          return null;\n      }\n    }\n\n    function renderContentTransform(styleData, itemData, isFirstFrame) {\n      if (isFirstFrame || itemData.transform.op._mdf) {\n        itemData.transform.container.setAttribute('opacity', itemData.transform.op.v);\n      }\n\n      if (isFirstFrame || itemData.transform.mProps._mdf) {\n        itemData.transform.container.setAttribute('transform', itemData.transform.mProps.v.to2dCSS());\n      }\n    }\n\n    function renderNoop() {}\n\n    function renderPath(styleData, itemData, isFirstFrame) {\n      var j;\n      var jLen;\n      var pathStringTransformed;\n      var redraw;\n      var pathNodes;\n      var l;\n      var lLen = itemData.styles.length;\n      var lvl = itemData.lvl;\n      var paths;\n      var mat;\n      var iterations;\n      var k;\n\n      for (l = 0; l < lLen; l += 1) {\n        redraw = itemData.sh._mdf || isFirstFrame;\n\n        if (itemData.styles[l].lvl < lvl) {\n          mat = _matrixHelper.reset();\n          iterations = lvl - itemData.styles[l].lvl;\n          k = itemData.transformers.length - 1;\n\n          while (!redraw && iterations > 0) {\n            redraw = itemData.transformers[k].mProps._mdf || redraw;\n            iterations -= 1;\n            k -= 1;\n          }\n\n          if (redraw) {\n            iterations = lvl - itemData.styles[l].lvl;\n            k = itemData.transformers.length - 1;\n\n            while (iterations > 0) {\n              mat.multiply(itemData.transformers[k].mProps.v);\n              iterations -= 1;\n              k -= 1;\n            }\n          }\n        } else {\n          mat = _identityMatrix;\n        }\n\n        paths = itemData.sh.paths;\n        jLen = paths._length;\n\n        if (redraw) {\n          pathStringTransformed = '';\n\n          for (j = 0; j < jLen; j += 1) {\n            pathNodes = paths.shapes[j];\n\n            if (pathNodes && pathNodes._length) {\n              pathStringTransformed += buildShapeString(pathNodes, pathNodes._length, pathNodes.c, mat);\n            }\n          }\n\n          itemData.caches[l] = pathStringTransformed;\n        } else {\n          pathStringTransformed = itemData.caches[l];\n        }\n\n        itemData.styles[l].d += styleData.hd === true ? '' : pathStringTransformed;\n        itemData.styles[l]._mdf = redraw || itemData.styles[l]._mdf;\n      }\n    }\n\n    function renderFill(styleData, itemData, isFirstFrame) {\n      var styleElem = itemData.style;\n\n      if (itemData.c._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute('fill', 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')');\n      }\n\n      if (itemData.o._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute('fill-opacity', itemData.o.v);\n      }\n    }\n\n    function renderGradientStroke(styleData, itemData, isFirstFrame) {\n      renderGradient(styleData, itemData, isFirstFrame);\n      renderStroke(styleData, itemData, isFirstFrame);\n    }\n\n    function renderGradient(styleData, itemData, isFirstFrame) {\n      var gfill = itemData.gf;\n      var hasOpacity = itemData.g._hasOpacity;\n      var pt1 = itemData.s.v;\n      var pt2 = itemData.e.v;\n\n      if (itemData.o._mdf || isFirstFrame) {\n        var attr = styleData.ty === 'gf' ? 'fill-opacity' : 'stroke-opacity';\n        itemData.style.pElem.setAttribute(attr, itemData.o.v);\n      }\n\n      if (itemData.s._mdf || isFirstFrame) {\n        var attr1 = styleData.t === 1 ? 'x1' : 'cx';\n        var attr2 = attr1 === 'x1' ? 'y1' : 'cy';\n        gfill.setAttribute(attr1, pt1[0]);\n        gfill.setAttribute(attr2, pt1[1]);\n\n        if (hasOpacity && !itemData.g._collapsable) {\n          itemData.of.setAttribute(attr1, pt1[0]);\n          itemData.of.setAttribute(attr2, pt1[1]);\n        }\n      }\n\n      var stops;\n      var i;\n      var len;\n      var stop;\n\n      if (itemData.g._cmdf || isFirstFrame) {\n        stops = itemData.cst;\n        var cValues = itemData.g.c;\n        len = stops.length;\n\n        for (i = 0; i < len; i += 1) {\n          stop = stops[i];\n          stop.setAttribute('offset', cValues[i * 4] + '%');\n          stop.setAttribute('stop-color', 'rgb(' + cValues[i * 4 + 1] + ',' + cValues[i * 4 + 2] + ',' + cValues[i * 4 + 3] + ')');\n        }\n      }\n\n      if (hasOpacity && (itemData.g._omdf || isFirstFrame)) {\n        var oValues = itemData.g.o;\n\n        if (itemData.g._collapsable) {\n          stops = itemData.cst;\n        } else {\n          stops = itemData.ost;\n        }\n\n        len = stops.length;\n\n        for (i = 0; i < len; i += 1) {\n          stop = stops[i];\n\n          if (!itemData.g._collapsable) {\n            stop.setAttribute('offset', oValues[i * 2] + '%');\n          }\n\n          stop.setAttribute('stop-opacity', oValues[i * 2 + 1]);\n        }\n      }\n\n      if (styleData.t === 1) {\n        if (itemData.e._mdf || isFirstFrame) {\n          gfill.setAttribute('x2', pt2[0]);\n          gfill.setAttribute('y2', pt2[1]);\n\n          if (hasOpacity && !itemData.g._collapsable) {\n            itemData.of.setAttribute('x2', pt2[0]);\n            itemData.of.setAttribute('y2', pt2[1]);\n          }\n        }\n      } else {\n        var rad;\n\n        if (itemData.s._mdf || itemData.e._mdf || isFirstFrame) {\n          rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n          gfill.setAttribute('r', rad);\n\n          if (hasOpacity && !itemData.g._collapsable) {\n            itemData.of.setAttribute('r', rad);\n          }\n        }\n\n        if (itemData.e._mdf || itemData.h._mdf || itemData.a._mdf || isFirstFrame) {\n          if (!rad) {\n            rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n          }\n\n          var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n          var percent = itemData.h.v;\n\n          if (percent >= 1) {\n            percent = 0.99;\n          } else if (percent <= -1) {\n            percent = -0.99;\n          }\n\n          var dist = rad * percent;\n          var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n          var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n          gfill.setAttribute('fx', x);\n          gfill.setAttribute('fy', y);\n\n          if (hasOpacity && !itemData.g._collapsable) {\n            itemData.of.setAttribute('fx', x);\n            itemData.of.setAttribute('fy', y);\n          }\n        } // gfill.setAttribute('fy','200');\n\n      }\n    }\n\n    function renderStroke(styleData, itemData, isFirstFrame) {\n      var styleElem = itemData.style;\n      var d = itemData.d;\n\n      if (d && (d._mdf || isFirstFrame) && d.dashStr) {\n        styleElem.pElem.setAttribute('stroke-dasharray', d.dashStr);\n        styleElem.pElem.setAttribute('stroke-dashoffset', d.dashoffset[0]);\n      }\n\n      if (itemData.c && (itemData.c._mdf || isFirstFrame)) {\n        styleElem.pElem.setAttribute('stroke', 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')');\n      }\n\n      if (itemData.o._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute('stroke-opacity', itemData.o.v);\n      }\n\n      if (itemData.w._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute('stroke-width', itemData.w.v);\n\n        if (styleElem.msElem) {\n          styleElem.msElem.setAttribute('stroke-width', itemData.w.v);\n        }\n      }\n    }\n\n    return ob;\n  }();\n\n  function SVGShapeElement(data, globalData, comp) {\n    // List of drawable elements\n    this.shapes = []; // Full shape data\n\n    this.shapesData = data.shapes; // List of styles that will be applied to shapes\n\n    this.stylesList = []; // List of modifiers that will be applied to shapes\n\n    this.shapeModifiers = []; // List of items in shape tree\n\n    this.itemsData = []; // List of items in previous shape tree\n\n    this.processedElements = []; // List of animated components\n\n    this.animatedContents = [];\n    this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n    // List of elements that have been created\n\n    this.prevViewData = []; // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n  }\n\n  extendPrototype([BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableDOMElement], SVGShapeElement);\n\n  SVGShapeElement.prototype.initSecondaryElement = function () {};\n\n  SVGShapeElement.prototype.identityMatrix = new Matrix();\n\n  SVGShapeElement.prototype.buildExpressionInterface = function () {};\n\n  SVGShapeElement.prototype.createContent = function () {\n    this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true);\n    this.filterUniqueShapes();\n  };\n  /*\r\n  This method searches for multiple shapes that affect a single element and one of them is animated\r\n  */\n\n\n  SVGShapeElement.prototype.filterUniqueShapes = function () {\n    var i;\n    var len = this.shapes.length;\n    var shape;\n    var j;\n    var jLen = this.stylesList.length;\n    var style;\n    var tempShapes = [];\n    var areAnimated = false;\n\n    for (j = 0; j < jLen; j += 1) {\n      style = this.stylesList[j];\n      areAnimated = false;\n      tempShapes.length = 0;\n\n      for (i = 0; i < len; i += 1) {\n        shape = this.shapes[i];\n\n        if (shape.styles.indexOf(style) !== -1) {\n          tempShapes.push(shape);\n          areAnimated = shape._isAnimated || areAnimated;\n        }\n      }\n\n      if (tempShapes.length > 1 && areAnimated) {\n        this.setShapesAsAnimated(tempShapes);\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.setShapesAsAnimated = function (shapes) {\n    var i;\n    var len = shapes.length;\n\n    for (i = 0; i < len; i += 1) {\n      shapes[i].setAsAnimated();\n    }\n  };\n\n  SVGShapeElement.prototype.createStyleElement = function (data, level) {\n    // TODO: prevent drawing of hidden styles\n    var elementData;\n    var styleOb = new SVGStyleData(data, level);\n    var pathElement = styleOb.pElem;\n\n    if (data.ty === 'st') {\n      elementData = new SVGStrokeStyleData(this, data, styleOb);\n    } else if (data.ty === 'fl') {\n      elementData = new SVGFillStyleData(this, data, styleOb);\n    } else if (data.ty === 'gf' || data.ty === 'gs') {\n      var GradientConstructor = data.ty === 'gf' ? SVGGradientFillStyleData : SVGGradientStrokeStyleData;\n      elementData = new GradientConstructor(this, data, styleOb);\n      this.globalData.defs.appendChild(elementData.gf);\n\n      if (elementData.maskId) {\n        this.globalData.defs.appendChild(elementData.ms);\n        this.globalData.defs.appendChild(elementData.of);\n        pathElement.setAttribute('mask', 'url(' + getLocationHref() + '#' + elementData.maskId + ')');\n      }\n    } else if (data.ty === 'no') {\n      elementData = new SVGNoStyleData(this, data, styleOb);\n    }\n\n    if (data.ty === 'st' || data.ty === 'gs') {\n      pathElement.setAttribute('stroke-linecap', lineCapEnum[data.lc || 2]);\n      pathElement.setAttribute('stroke-linejoin', lineJoinEnum[data.lj || 2]);\n      pathElement.setAttribute('fill-opacity', '0');\n\n      if (data.lj === 1) {\n        pathElement.setAttribute('stroke-miterlimit', data.ml);\n      }\n    }\n\n    if (data.r === 2) {\n      pathElement.setAttribute('fill-rule', 'evenodd');\n    }\n\n    if (data.ln) {\n      pathElement.setAttribute('id', data.ln);\n    }\n\n    if (data.cl) {\n      pathElement.setAttribute('class', data.cl);\n    }\n\n    if (data.bm) {\n      pathElement.style['mix-blend-mode'] = getBlendMode(data.bm);\n    }\n\n    this.stylesList.push(styleOb);\n    this.addToAnimatedContents(data, elementData);\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.createGroupElement = function (data) {\n    var elementData = new ShapeGroupData();\n\n    if (data.ln) {\n      elementData.gr.setAttribute('id', data.ln);\n    }\n\n    if (data.cl) {\n      elementData.gr.setAttribute('class', data.cl);\n    }\n\n    if (data.bm) {\n      elementData.gr.style['mix-blend-mode'] = getBlendMode(data.bm);\n    }\n\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.createTransformElement = function (data, container) {\n    var transformProperty = TransformPropertyFactory.getTransformProperty(this, data, this);\n    var elementData = new SVGTransformData(transformProperty, transformProperty.o, container);\n    this.addToAnimatedContents(data, elementData);\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.createShapeElement = function (data, ownTransformers, level) {\n    var ty = 4;\n\n    if (data.ty === 'rc') {\n      ty = 5;\n    } else if (data.ty === 'el') {\n      ty = 6;\n    } else if (data.ty === 'sr') {\n      ty = 7;\n    }\n\n    var shapeProperty = ShapePropertyFactory.getShapeProp(this, data, ty, this);\n    var elementData = new SVGShapeData(ownTransformers, level, shapeProperty);\n    this.shapes.push(elementData);\n    this.addShapeToModifiers(elementData);\n    this.addToAnimatedContents(data, elementData);\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.addToAnimatedContents = function (data, element) {\n    var i = 0;\n    var len = this.animatedContents.length;\n\n    while (i < len) {\n      if (this.animatedContents[i].element === element) {\n        return;\n      }\n\n      i += 1;\n    }\n\n    this.animatedContents.push({\n      fn: SVGElementsRenderer.createRenderFunction(data),\n      element: element,\n      data: data\n    });\n  };\n\n  SVGShapeElement.prototype.setElementStyles = function (elementData) {\n    var arr = elementData.styles;\n    var j;\n    var jLen = this.stylesList.length;\n\n    for (j = 0; j < jLen; j += 1) {\n      if (!this.stylesList[j].closed) {\n        arr.push(this.stylesList[j]);\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.reloadShapes = function () {\n    this._isFirstFrame = true;\n    var i;\n    var len = this.itemsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      this.prevViewData[i] = this.itemsData[i];\n    }\n\n    this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true);\n    this.filterUniqueShapes();\n    len = this.dynamicProperties.length;\n\n    for (i = 0; i < len; i += 1) {\n      this.dynamicProperties[i].getValue();\n    }\n\n    this.renderModifiers();\n  };\n\n  SVGShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, container, level, transformers, render) {\n    var ownTransformers = [].concat(transformers);\n    var i;\n    var len = arr.length - 1;\n    var j;\n    var jLen;\n    var ownStyles = [];\n    var ownModifiers = [];\n    var currentTransform;\n    var modifier;\n    var processedPos;\n\n    for (i = len; i >= 0; i -= 1) {\n      processedPos = this.searchProcessedElement(arr[i]);\n\n      if (!processedPos) {\n        arr[i]._render = render;\n      } else {\n        itemsData[i] = prevViewData[processedPos - 1];\n      }\n\n      if (arr[i].ty === 'fl' || arr[i].ty === 'st' || arr[i].ty === 'gf' || arr[i].ty === 'gs' || arr[i].ty === 'no') {\n        if (!processedPos) {\n          itemsData[i] = this.createStyleElement(arr[i], level);\n        } else {\n          itemsData[i].style.closed = false;\n        }\n\n        if (arr[i]._render) {\n          if (itemsData[i].style.pElem.parentNode !== container) {\n            container.appendChild(itemsData[i].style.pElem);\n          }\n        }\n\n        ownStyles.push(itemsData[i].style);\n      } else if (arr[i].ty === 'gr') {\n        if (!processedPos) {\n          itemsData[i] = this.createGroupElement(arr[i]);\n        } else {\n          jLen = itemsData[i].it.length;\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsData[i].prevViewData[j] = itemsData[i].it[j];\n          }\n        }\n\n        this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, itemsData[i].gr, level + 1, ownTransformers, render);\n\n        if (arr[i]._render) {\n          if (itemsData[i].gr.parentNode !== container) {\n            container.appendChild(itemsData[i].gr);\n          }\n        }\n      } else if (arr[i].ty === 'tr') {\n        if (!processedPos) {\n          itemsData[i] = this.createTransformElement(arr[i], container);\n        }\n\n        currentTransform = itemsData[i].transform;\n        ownTransformers.push(currentTransform);\n      } else if (arr[i].ty === 'sh' || arr[i].ty === 'rc' || arr[i].ty === 'el' || arr[i].ty === 'sr') {\n        if (!processedPos) {\n          itemsData[i] = this.createShapeElement(arr[i], ownTransformers, level);\n        }\n\n        this.setElementStyles(itemsData[i]);\n      } else if (arr[i].ty === 'tm' || arr[i].ty === 'rd' || arr[i].ty === 'ms' || arr[i].ty === 'pb' || arr[i].ty === 'zz' || arr[i].ty === 'op') {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          modifier.init(this, arr[i]);\n          itemsData[i] = modifier;\n          this.shapeModifiers.push(modifier);\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = false;\n        }\n\n        ownModifiers.push(modifier);\n      } else if (arr[i].ty === 'rp') {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          itemsData[i] = modifier;\n          modifier.init(this, arr, i, itemsData);\n          this.shapeModifiers.push(modifier);\n          render = false;\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = true;\n        }\n\n        ownModifiers.push(modifier);\n      }\n\n      this.addProcessedElement(arr[i], i + 1);\n    }\n\n    len = ownStyles.length;\n\n    for (i = 0; i < len; i += 1) {\n      ownStyles[i].closed = true;\n    }\n\n    len = ownModifiers.length;\n\n    for (i = 0; i < len; i += 1) {\n      ownModifiers[i].closed = true;\n    }\n  };\n\n  SVGShapeElement.prototype.renderInnerContent = function () {\n    this.renderModifiers();\n    var i;\n    var len = this.stylesList.length;\n\n    for (i = 0; i < len; i += 1) {\n      this.stylesList[i].reset();\n    }\n\n    this.renderShape();\n\n    for (i = 0; i < len; i += 1) {\n      if (this.stylesList[i]._mdf || this._isFirstFrame) {\n        if (this.stylesList[i].msElem) {\n          this.stylesList[i].msElem.setAttribute('d', this.stylesList[i].d); // Adding M0 0 fixes same mask bug on all browsers\n\n          this.stylesList[i].d = 'M0 0' + this.stylesList[i].d;\n        }\n\n        this.stylesList[i].pElem.setAttribute('d', this.stylesList[i].d || 'M0 0');\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.renderShape = function () {\n    var i;\n    var len = this.animatedContents.length;\n    var animatedContent;\n\n    for (i = 0; i < len; i += 1) {\n      animatedContent = this.animatedContents[i];\n\n      if ((this._isFirstFrame || animatedContent.element._isAnimated) && animatedContent.data !== true) {\n        animatedContent.fn(animatedContent.data, animatedContent.element, this._isFirstFrame);\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.destroy = function () {\n    this.destroyBaseElement();\n    this.shapesData = null;\n    this.itemsData = null;\n  };\n\n  function LetterProps(o, sw, sc, fc, m, p) {\n    this.o = o;\n    this.sw = sw;\n    this.sc = sc;\n    this.fc = fc;\n    this.m = m;\n    this.p = p;\n    this._mdf = {\n      o: true,\n      sw: !!sw,\n      sc: !!sc,\n      fc: !!fc,\n      m: true,\n      p: true\n    };\n  }\n\n  LetterProps.prototype.update = function (o, sw, sc, fc, m, p) {\n    this._mdf.o = false;\n    this._mdf.sw = false;\n    this._mdf.sc = false;\n    this._mdf.fc = false;\n    this._mdf.m = false;\n    this._mdf.p = false;\n    var updated = false;\n\n    if (this.o !== o) {\n      this.o = o;\n      this._mdf.o = true;\n      updated = true;\n    }\n\n    if (this.sw !== sw) {\n      this.sw = sw;\n      this._mdf.sw = true;\n      updated = true;\n    }\n\n    if (this.sc !== sc) {\n      this.sc = sc;\n      this._mdf.sc = true;\n      updated = true;\n    }\n\n    if (this.fc !== fc) {\n      this.fc = fc;\n      this._mdf.fc = true;\n      updated = true;\n    }\n\n    if (this.m !== m) {\n      this.m = m;\n      this._mdf.m = true;\n      updated = true;\n    }\n\n    if (p.length && (this.p[0] !== p[0] || this.p[1] !== p[1] || this.p[4] !== p[4] || this.p[5] !== p[5] || this.p[12] !== p[12] || this.p[13] !== p[13])) {\n      this.p = p;\n      this._mdf.p = true;\n      updated = true;\n    }\n\n    return updated;\n  };\n\n  function TextProperty(elem, data) {\n    this._frameId = initialDefaultFrame;\n    this.pv = '';\n    this.v = '';\n    this.kf = false;\n    this._isFirstFrame = true;\n    this._mdf = false;\n\n    if (data.d && data.d.sid) {\n      data.d = elem.globalData.slotManager.getProp(data.d);\n    }\n\n    this.data = data;\n    this.elem = elem;\n    this.comp = this.elem.comp;\n    this.keysIndex = 0;\n    this.canResize = false;\n    this.minimumFontSize = 1;\n    this.effectsSequence = [];\n    this.currentData = {\n      ascent: 0,\n      boxWidth: this.defaultBoxWidth,\n      f: '',\n      fStyle: '',\n      fWeight: '',\n      fc: '',\n      j: '',\n      justifyOffset: '',\n      l: [],\n      lh: 0,\n      lineWidths: [],\n      ls: '',\n      of: '',\n      s: '',\n      sc: '',\n      sw: 0,\n      t: 0,\n      tr: 0,\n      sz: 0,\n      ps: null,\n      fillColorAnim: false,\n      strokeColorAnim: false,\n      strokeWidthAnim: false,\n      yOffset: 0,\n      finalSize: 0,\n      finalText: [],\n      finalLineHeight: 0,\n      __complete: false\n    };\n    this.copyData(this.currentData, this.data.d.k[0].s);\n\n    if (!this.searchProperty()) {\n      this.completeTextData(this.currentData);\n    }\n  }\n\n  TextProperty.prototype.defaultBoxWidth = [0, 0];\n\n  TextProperty.prototype.copyData = function (obj, data) {\n    for (var s in data) {\n      if (Object.prototype.hasOwnProperty.call(data, s)) {\n        obj[s] = data[s];\n      }\n    }\n\n    return obj;\n  };\n\n  TextProperty.prototype.setCurrentData = function (data) {\n    if (!data.__complete) {\n      this.completeTextData(data);\n    }\n\n    this.currentData = data;\n    this.currentData.boxWidth = this.currentData.boxWidth || this.defaultBoxWidth;\n    this._mdf = true;\n  };\n\n  TextProperty.prototype.searchProperty = function () {\n    return this.searchKeyframes();\n  };\n\n  TextProperty.prototype.searchKeyframes = function () {\n    this.kf = this.data.d.k.length > 1;\n\n    if (this.kf) {\n      this.addEffect(this.getKeyframeValue.bind(this));\n    }\n\n    return this.kf;\n  };\n\n  TextProperty.prototype.addEffect = function (effectFunction) {\n    this.effectsSequence.push(effectFunction);\n    this.elem.addDynamicProperty(this);\n  };\n\n  TextProperty.prototype.getValue = function (_finalValue) {\n    if ((this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) && !_finalValue) {\n      return;\n    }\n\n    this.currentData.t = this.data.d.k[this.keysIndex].s.t;\n    var currentValue = this.currentData;\n    var currentIndex = this.keysIndex;\n\n    if (this.lock) {\n      this.setCurrentData(this.currentData);\n      return;\n    }\n\n    this.lock = true;\n    this._mdf = false;\n    var i;\n    var len = this.effectsSequence.length;\n    var finalValue = _finalValue || this.data.d.k[this.keysIndex].s;\n\n    for (i = 0; i < len; i += 1) {\n      // Checking if index changed to prevent creating a new object every time the expression updates.\n      if (currentIndex !== this.keysIndex) {\n        finalValue = this.effectsSequence[i](finalValue, finalValue.t);\n      } else {\n        finalValue = this.effectsSequence[i](this.currentData, finalValue.t);\n      }\n    }\n\n    if (currentValue !== finalValue) {\n      this.setCurrentData(finalValue);\n    }\n\n    this.v = this.currentData;\n    this.pv = this.v;\n    this.lock = false;\n    this.frameId = this.elem.globalData.frameId;\n  };\n\n  TextProperty.prototype.getKeyframeValue = function () {\n    var textKeys = this.data.d.k;\n    var frameNum = this.elem.comp.renderedFrame;\n    var i = 0;\n    var len = textKeys.length;\n\n    while (i <= len - 1) {\n      if (i === len - 1 || textKeys[i + 1].t > frameNum) {\n        break;\n      }\n\n      i += 1;\n    }\n\n    if (this.keysIndex !== i) {\n      this.keysIndex = i;\n    }\n\n    return this.data.d.k[this.keysIndex].s;\n  };\n\n  TextProperty.prototype.buildFinalText = function (text) {\n    var charactersArray = [];\n    var i = 0;\n    var len = text.length;\n    var charCode;\n    var secondCharCode;\n    var shouldCombine = false;\n    var shouldCombineNext = false;\n    var currentChars = '';\n\n    while (i < len) {\n      shouldCombine = shouldCombineNext;\n      shouldCombineNext = false;\n      charCode = text.charCodeAt(i);\n      currentChars = text.charAt(i);\n\n      if (FontManager.isCombinedCharacter(charCode)) {\n        shouldCombine = true; // It's a potential surrogate pair (this is the High surrogate)\n      } else if (charCode >= 0xD800 && charCode <= 0xDBFF) {\n        if (FontManager.isRegionalFlag(text, i)) {\n          currentChars = text.substr(i, 14);\n        } else {\n          secondCharCode = text.charCodeAt(i + 1); // It's a surrogate pair (this is the Low surrogate)\n\n          if (secondCharCode >= 0xDC00 && secondCharCode <= 0xDFFF) {\n            if (FontManager.isModifier(charCode, secondCharCode)) {\n              currentChars = text.substr(i, 2);\n              shouldCombine = true;\n            } else if (FontManager.isFlagEmoji(text.substr(i, 4))) {\n              currentChars = text.substr(i, 4);\n            } else {\n              currentChars = text.substr(i, 2);\n            }\n          }\n        }\n      } else if (charCode > 0xDBFF) {\n        secondCharCode = text.charCodeAt(i + 1);\n\n        if (FontManager.isVariationSelector(charCode)) {\n          shouldCombine = true;\n        }\n      } else if (FontManager.isZeroWidthJoiner(charCode)) {\n        shouldCombine = true;\n        shouldCombineNext = true;\n      }\n\n      if (shouldCombine) {\n        charactersArray[charactersArray.length - 1] += currentChars;\n        shouldCombine = false;\n      } else {\n        charactersArray.push(currentChars);\n      }\n\n      i += currentChars.length;\n    }\n\n    return charactersArray;\n  };\n\n  TextProperty.prototype.completeTextData = function (documentData) {\n    documentData.__complete = true;\n    var fontManager = this.elem.globalData.fontManager;\n    var data = this.data;\n    var letters = [];\n    var i;\n    var len;\n    var newLineFlag;\n    var index = 0;\n    var val;\n    var anchorGrouping = data.m.g;\n    var currentSize = 0;\n    var currentPos = 0;\n    var currentLine = 0;\n    var lineWidths = [];\n    var lineWidth = 0;\n    var maxLineWidth = 0;\n    var j;\n    var jLen;\n    var fontData = fontManager.getFontByName(documentData.f);\n    var charData;\n    var cLength = 0;\n    var fontProps = getFontProperties(fontData);\n    documentData.fWeight = fontProps.weight;\n    documentData.fStyle = fontProps.style;\n    documentData.finalSize = documentData.s;\n    documentData.finalText = this.buildFinalText(documentData.t);\n    len = documentData.finalText.length;\n    documentData.finalLineHeight = documentData.lh;\n    var trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n    var charCode;\n\n    if (documentData.sz) {\n      var flag = true;\n      var boxWidth = documentData.sz[0];\n      var boxHeight = documentData.sz[1];\n      var currentHeight;\n      var finalText;\n\n      while (flag) {\n        finalText = this.buildFinalText(documentData.t);\n        currentHeight = 0;\n        lineWidth = 0;\n        len = finalText.length;\n        trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n        var lastSpaceIndex = -1;\n\n        for (i = 0; i < len; i += 1) {\n          charCode = finalText[i].charCodeAt(0);\n          newLineFlag = false;\n\n          if (finalText[i] === ' ') {\n            lastSpaceIndex = i;\n          } else if (charCode === 13 || charCode === 3) {\n            lineWidth = 0;\n            newLineFlag = true;\n            currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n          }\n\n          if (fontManager.chars) {\n            charData = fontManager.getCharData(finalText[i], fontData.fStyle, fontData.fFamily);\n            cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n          } else {\n            // tCanvasHelper.font = documentData.s + 'px '+ fontData.fFamily;\n            cLength = fontManager.measureText(finalText[i], documentData.f, documentData.finalSize);\n          }\n\n          if (lineWidth + cLength > boxWidth && finalText[i] !== ' ') {\n            if (lastSpaceIndex === -1) {\n              len += 1;\n            } else {\n              i = lastSpaceIndex;\n            }\n\n            currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n            finalText.splice(i, lastSpaceIndex === i ? 1 : 0, '\\r'); // finalText = finalText.substr(0,i) + \"\\r\" + finalText.substr(i === lastSpaceIndex ? i + 1 : i);\n\n            lastSpaceIndex = -1;\n            lineWidth = 0;\n          } else {\n            lineWidth += cLength;\n            lineWidth += trackingOffset;\n          }\n        }\n\n        currentHeight += fontData.ascent * documentData.finalSize / 100;\n\n        if (this.canResize && documentData.finalSize > this.minimumFontSize && boxHeight < currentHeight) {\n          documentData.finalSize -= 1;\n          documentData.finalLineHeight = documentData.finalSize * documentData.lh / documentData.s;\n        } else {\n          documentData.finalText = finalText;\n          len = documentData.finalText.length;\n          flag = false;\n        }\n      }\n    }\n\n    lineWidth = -trackingOffset;\n    cLength = 0;\n    var uncollapsedSpaces = 0;\n    var currentChar;\n\n    for (i = 0; i < len; i += 1) {\n      newLineFlag = false;\n      currentChar = documentData.finalText[i];\n      charCode = currentChar.charCodeAt(0);\n\n      if (charCode === 13 || charCode === 3) {\n        uncollapsedSpaces = 0;\n        lineWidths.push(lineWidth);\n        maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n        lineWidth = -2 * trackingOffset;\n        val = '';\n        newLineFlag = true;\n        currentLine += 1;\n      } else {\n        val = currentChar;\n      }\n\n      if (fontManager.chars) {\n        charData = fontManager.getCharData(currentChar, fontData.fStyle, fontManager.getFontByName(documentData.f).fFamily);\n        cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n      } else {\n        // var charWidth = fontManager.measureText(val, documentData.f, documentData.finalSize);\n        // tCanvasHelper.font = documentData.finalSize + 'px '+ fontManager.getFontByName(documentData.f).fFamily;\n        cLength = fontManager.measureText(val, documentData.f, documentData.finalSize);\n      } //\n\n\n      if (currentChar === ' ') {\n        uncollapsedSpaces += cLength + trackingOffset;\n      } else {\n        lineWidth += cLength + trackingOffset + uncollapsedSpaces;\n        uncollapsedSpaces = 0;\n      }\n\n      letters.push({\n        l: cLength,\n        an: cLength,\n        add: currentSize,\n        n: newLineFlag,\n        anIndexes: [],\n        val: val,\n        line: currentLine,\n        animatorJustifyOffset: 0\n      });\n\n      if (anchorGrouping == 2) {\n        // eslint-disable-line eqeqeq\n        currentSize += cLength;\n\n        if (val === '' || val === ' ' || i === len - 1) {\n          if (val === '' || val === ' ') {\n            currentSize -= cLength;\n          }\n\n          while (currentPos <= i) {\n            letters[currentPos].an = currentSize;\n            letters[currentPos].ind = index;\n            letters[currentPos].extra = cLength;\n            currentPos += 1;\n          }\n\n          index += 1;\n          currentSize = 0;\n        }\n      } else if (anchorGrouping == 3) {\n        // eslint-disable-line eqeqeq\n        currentSize += cLength;\n\n        if (val === '' || i === len - 1) {\n          if (val === '') {\n            currentSize -= cLength;\n          }\n\n          while (currentPos <= i) {\n            letters[currentPos].an = currentSize;\n            letters[currentPos].ind = index;\n            letters[currentPos].extra = cLength;\n            currentPos += 1;\n          }\n\n          currentSize = 0;\n          index += 1;\n        }\n      } else {\n        letters[index].ind = index;\n        letters[index].extra = 0;\n        index += 1;\n      }\n    }\n\n    documentData.l = letters;\n    maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n    lineWidths.push(lineWidth);\n\n    if (documentData.sz) {\n      documentData.boxWidth = documentData.sz[0];\n      documentData.justifyOffset = 0;\n    } else {\n      documentData.boxWidth = maxLineWidth;\n\n      switch (documentData.j) {\n        case 1:\n          documentData.justifyOffset = -documentData.boxWidth;\n          break;\n\n        case 2:\n          documentData.justifyOffset = -documentData.boxWidth / 2;\n          break;\n\n        default:\n          documentData.justifyOffset = 0;\n      }\n    }\n\n    documentData.lineWidths = lineWidths;\n    var animators = data.a;\n    var animatorData;\n    var letterData;\n    jLen = animators.length;\n    var based;\n    var ind;\n    var indexes = [];\n\n    for (j = 0; j < jLen; j += 1) {\n      animatorData = animators[j];\n\n      if (animatorData.a.sc) {\n        documentData.strokeColorAnim = true;\n      }\n\n      if (animatorData.a.sw) {\n        documentData.strokeWidthAnim = true;\n      }\n\n      if (animatorData.a.fc || animatorData.a.fh || animatorData.a.fs || animatorData.a.fb) {\n        documentData.fillColorAnim = true;\n      }\n\n      ind = 0;\n      based = animatorData.s.b;\n\n      for (i = 0; i < len; i += 1) {\n        letterData = letters[i];\n        letterData.anIndexes[j] = ind;\n\n        if (based == 1 && letterData.val !== '' || based == 2 && letterData.val !== '' && letterData.val !== ' ' || based == 3 && (letterData.n || letterData.val == ' ' || i == len - 1) || based == 4 && (letterData.n || i == len - 1)) {\n          // eslint-disable-line eqeqeq\n          if (animatorData.s.rn === 1) {\n            indexes.push(ind);\n          }\n\n          ind += 1;\n        }\n      }\n\n      data.a[j].s.totalChars = ind;\n      var currentInd = -1;\n      var newInd;\n\n      if (animatorData.s.rn === 1) {\n        for (i = 0; i < len; i += 1) {\n          letterData = letters[i];\n\n          if (currentInd != letterData.anIndexes[j]) {\n            // eslint-disable-line eqeqeq\n            currentInd = letterData.anIndexes[j];\n            newInd = indexes.splice(Math.floor(Math.random() * indexes.length), 1)[0];\n          }\n\n          letterData.anIndexes[j] = newInd;\n        }\n      }\n    }\n\n    documentData.yOffset = documentData.finalLineHeight || documentData.finalSize * 1.2;\n    documentData.ls = documentData.ls || 0;\n    documentData.ascent = fontData.ascent * documentData.finalSize / 100;\n  };\n\n  TextProperty.prototype.updateDocumentData = function (newData, index) {\n    index = index === undefined ? this.keysIndex : index;\n    var dData = this.copyData({}, this.data.d.k[index].s);\n    dData = this.copyData(dData, newData);\n    this.data.d.k[index].s = dData;\n    this.recalculate(index);\n    this.setCurrentData(dData);\n    this.elem.addDynamicProperty(this);\n  };\n\n  TextProperty.prototype.recalculate = function (index) {\n    var dData = this.data.d.k[index].s;\n    dData.__complete = false;\n    this.keysIndex = 0;\n    this._isFirstFrame = true;\n    this.getValue(dData);\n  };\n\n  TextProperty.prototype.canResizeFont = function (_canResize) {\n    this.canResize = _canResize;\n    this.recalculate(this.keysIndex);\n    this.elem.addDynamicProperty(this);\n  };\n\n  TextProperty.prototype.setMinimumFontSize = function (_fontValue) {\n    this.minimumFontSize = Math.floor(_fontValue) || 1;\n    this.recalculate(this.keysIndex);\n    this.elem.addDynamicProperty(this);\n  };\n\n  var TextSelectorProp = function () {\n    var max = Math.max;\n    var min = Math.min;\n    var floor = Math.floor;\n\n    function TextSelectorPropFactory(elem, data) {\n      this._currentTextLength = -1;\n      this.k = false;\n      this.data = data;\n      this.elem = elem;\n      this.comp = elem.comp;\n      this.finalS = 0;\n      this.finalE = 0;\n      this.initDynamicPropertyContainer(elem);\n      this.s = PropertyFactory.getProp(elem, data.s || {\n        k: 0\n      }, 0, 0, this);\n\n      if ('e' in data) {\n        this.e = PropertyFactory.getProp(elem, data.e, 0, 0, this);\n      } else {\n        this.e = {\n          v: 100\n        };\n      }\n\n      this.o = PropertyFactory.getProp(elem, data.o || {\n        k: 0\n      }, 0, 0, this);\n      this.xe = PropertyFactory.getProp(elem, data.xe || {\n        k: 0\n      }, 0, 0, this);\n      this.ne = PropertyFactory.getProp(elem, data.ne || {\n        k: 0\n      }, 0, 0, this);\n      this.sm = PropertyFactory.getProp(elem, data.sm || {\n        k: 100\n      }, 0, 0, this);\n      this.a = PropertyFactory.getProp(elem, data.a, 0, 0.01, this);\n\n      if (!this.dynamicProperties.length) {\n        this.getValue();\n      }\n    }\n\n    TextSelectorPropFactory.prototype = {\n      getMult: function getMult(ind) {\n        if (this._currentTextLength !== this.elem.textProperty.currentData.l.length) {\n          this.getValue();\n        }\n\n        var x1 = 0;\n        var y1 = 0;\n        var x2 = 1;\n        var y2 = 1;\n\n        if (this.ne.v > 0) {\n          x1 = this.ne.v / 100.0;\n        } else {\n          y1 = -this.ne.v / 100.0;\n        }\n\n        if (this.xe.v > 0) {\n          x2 = 1.0 - this.xe.v / 100.0;\n        } else {\n          y2 = 1.0 + this.xe.v / 100.0;\n        }\n\n        var easer = BezierFactory.getBezierEasing(x1, y1, x2, y2).get;\n        var mult = 0;\n        var s = this.finalS;\n        var e = this.finalE;\n        var type = this.data.sh;\n\n        if (type === 2) {\n          if (e === s) {\n            mult = ind >= e ? 1 : 0;\n          } else {\n            mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n          }\n\n          mult = easer(mult);\n        } else if (type === 3) {\n          if (e === s) {\n            mult = ind >= e ? 0 : 1;\n          } else {\n            mult = 1 - max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n          }\n\n          mult = easer(mult);\n        } else if (type === 4) {\n          if (e === s) {\n            mult = 0;\n          } else {\n            mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n\n            if (mult < 0.5) {\n              mult *= 2;\n            } else {\n              mult = 1 - 2 * (mult - 0.5);\n            }\n          }\n\n          mult = easer(mult);\n        } else if (type === 5) {\n          if (e === s) {\n            mult = 0;\n          } else {\n            var tot = e - s;\n            /* ind += 0.5;\r\n                      mult = -4/(tot*tot)*(ind*ind)+(4/tot)*ind; */\n\n            ind = min(max(0, ind + 0.5 - s), e - s);\n            var x = -tot / 2 + ind;\n            var a = tot / 2;\n            mult = Math.sqrt(1 - x * x / (a * a));\n          }\n\n          mult = easer(mult);\n        } else if (type === 6) {\n          if (e === s) {\n            mult = 0;\n          } else {\n            ind = min(max(0, ind + 0.5 - s), e - s);\n            mult = (1 + Math.cos(Math.PI + Math.PI * 2 * ind / (e - s))) / 2; // eslint-disable-line\n          }\n\n          mult = easer(mult);\n        } else {\n          if (ind >= floor(s)) {\n            if (ind - s < 0) {\n              mult = max(0, min(min(e, 1) - (s - ind), 1));\n            } else {\n              mult = max(0, min(e - ind, 1));\n            }\n          }\n\n          mult = easer(mult);\n        } // Smoothness implementation.\n        // The smoothness represents a reduced range of the original [0; 1] range.\n        // if smoothness is 25%, the new range will be [0.375; 0.625]\n        // Steps are:\n        // - find the lower value of the new range (threshold)\n        // - if multiplier is smaller than that value, floor it to 0\n        // - if it is larger,\n        //     - subtract the threshold\n        //     - divide it by the smoothness (this will return the range to [0; 1])\n        // Note: If it doesn't work on some scenarios, consider applying it before the easer.\n\n\n        if (this.sm.v !== 100) {\n          var smoothness = this.sm.v * 0.01;\n\n          if (smoothness === 0) {\n            smoothness = 0.00000001;\n          }\n\n          var threshold = 0.5 - smoothness * 0.5;\n\n          if (mult < threshold) {\n            mult = 0;\n          } else {\n            mult = (mult - threshold) / smoothness;\n\n            if (mult > 1) {\n              mult = 1;\n            }\n          }\n        }\n\n        return mult * this.a.v;\n      },\n      getValue: function getValue(newCharsFlag) {\n        this.iterateDynamicProperties();\n        this._mdf = newCharsFlag || this._mdf;\n        this._currentTextLength = this.elem.textProperty.currentData.l.length || 0;\n\n        if (newCharsFlag && this.data.r === 2) {\n          this.e.v = this._currentTextLength;\n        }\n\n        var divisor = this.data.r === 2 ? 1 : 100 / this.data.totalChars;\n        var o = this.o.v / divisor;\n        var s = this.s.v / divisor + o;\n        var e = this.e.v / divisor + o;\n\n        if (s > e) {\n          var _s = s;\n          s = e;\n          e = _s;\n        }\n\n        this.finalS = s;\n        this.finalE = e;\n      }\n    };\n    extendPrototype([DynamicPropertyContainer], TextSelectorPropFactory);\n\n    function getTextSelectorProp(elem, data, arr) {\n      return new TextSelectorPropFactory(elem, data, arr);\n    }\n\n    return {\n      getTextSelectorProp: getTextSelectorProp\n    };\n  }();\n\n  function TextAnimatorDataProperty(elem, animatorProps, container) {\n    var defaultData = {\n      propType: false\n    };\n    var getProp = PropertyFactory.getProp;\n    var textAnimatorAnimatables = animatorProps.a;\n    this.a = {\n      r: textAnimatorAnimatables.r ? getProp(elem, textAnimatorAnimatables.r, 0, degToRads, container) : defaultData,\n      rx: textAnimatorAnimatables.rx ? getProp(elem, textAnimatorAnimatables.rx, 0, degToRads, container) : defaultData,\n      ry: textAnimatorAnimatables.ry ? getProp(elem, textAnimatorAnimatables.ry, 0, degToRads, container) : defaultData,\n      sk: textAnimatorAnimatables.sk ? getProp(elem, textAnimatorAnimatables.sk, 0, degToRads, container) : defaultData,\n      sa: textAnimatorAnimatables.sa ? getProp(elem, textAnimatorAnimatables.sa, 0, degToRads, container) : defaultData,\n      s: textAnimatorAnimatables.s ? getProp(elem, textAnimatorAnimatables.s, 1, 0.01, container) : defaultData,\n      a: textAnimatorAnimatables.a ? getProp(elem, textAnimatorAnimatables.a, 1, 0, container) : defaultData,\n      o: textAnimatorAnimatables.o ? getProp(elem, textAnimatorAnimatables.o, 0, 0.01, container) : defaultData,\n      p: textAnimatorAnimatables.p ? getProp(elem, textAnimatorAnimatables.p, 1, 0, container) : defaultData,\n      sw: textAnimatorAnimatables.sw ? getProp(elem, textAnimatorAnimatables.sw, 0, 0, container) : defaultData,\n      sc: textAnimatorAnimatables.sc ? getProp(elem, textAnimatorAnimatables.sc, 1, 0, container) : defaultData,\n      fc: textAnimatorAnimatables.fc ? getProp(elem, textAnimatorAnimatables.fc, 1, 0, container) : defaultData,\n      fh: textAnimatorAnimatables.fh ? getProp(elem, textAnimatorAnimatables.fh, 0, 0, container) : defaultData,\n      fs: textAnimatorAnimatables.fs ? getProp(elem, textAnimatorAnimatables.fs, 0, 0.01, container) : defaultData,\n      fb: textAnimatorAnimatables.fb ? getProp(elem, textAnimatorAnimatables.fb, 0, 0.01, container) : defaultData,\n      t: textAnimatorAnimatables.t ? getProp(elem, textAnimatorAnimatables.t, 0, 0, container) : defaultData\n    };\n    this.s = TextSelectorProp.getTextSelectorProp(elem, animatorProps.s, container);\n    this.s.t = animatorProps.s.t;\n  }\n\n  function TextAnimatorProperty(textData, renderType, elem) {\n    this._isFirstFrame = true;\n    this._hasMaskedPath = false;\n    this._frameId = -1;\n    this._textData = textData;\n    this._renderType = renderType;\n    this._elem = elem;\n    this._animatorsData = createSizedArray(this._textData.a.length);\n    this._pathData = {};\n    this._moreOptions = {\n      alignment: {}\n    };\n    this.renderedLetters = [];\n    this.lettersChangedFlag = false;\n    this.initDynamicPropertyContainer(elem);\n  }\n\n  TextAnimatorProperty.prototype.searchProperties = function () {\n    var i;\n    var len = this._textData.a.length;\n    var animatorProps;\n    var getProp = PropertyFactory.getProp;\n\n    for (i = 0; i < len; i += 1) {\n      animatorProps = this._textData.a[i];\n      this._animatorsData[i] = new TextAnimatorDataProperty(this._elem, animatorProps, this);\n    }\n\n    if (this._textData.p && 'm' in this._textData.p) {\n      this._pathData = {\n        a: getProp(this._elem, this._textData.p.a, 0, 0, this),\n        f: getProp(this._elem, this._textData.p.f, 0, 0, this),\n        l: getProp(this._elem, this._textData.p.l, 0, 0, this),\n        r: getProp(this._elem, this._textData.p.r, 0, 0, this),\n        p: getProp(this._elem, this._textData.p.p, 0, 0, this),\n        m: this._elem.maskManager.getMaskProperty(this._textData.p.m)\n      };\n      this._hasMaskedPath = true;\n    } else {\n      this._hasMaskedPath = false;\n    }\n\n    this._moreOptions.alignment = getProp(this._elem, this._textData.m.a, 1, 0, this);\n  };\n\n  TextAnimatorProperty.prototype.getMeasures = function (documentData, lettersChangedFlag) {\n    this.lettersChangedFlag = lettersChangedFlag;\n\n    if (!this._mdf && !this._isFirstFrame && !lettersChangedFlag && (!this._hasMaskedPath || !this._pathData.m._mdf)) {\n      return;\n    }\n\n    this._isFirstFrame = false;\n    var alignment = this._moreOptions.alignment.v;\n    var animators = this._animatorsData;\n    var textData = this._textData;\n    var matrixHelper = this.mHelper;\n    var renderType = this._renderType;\n    var renderedLettersCount = this.renderedLetters.length;\n    var xPos;\n    var yPos;\n    var i;\n    var len;\n    var letters = documentData.l;\n    var pathInfo;\n    var currentLength;\n    var currentPoint;\n    var segmentLength;\n    var flag;\n    var pointInd;\n    var segmentInd;\n    var prevPoint;\n    var points;\n    var segments;\n    var partialLength;\n    var totalLength;\n    var perc;\n    var tanAngle;\n    var mask;\n\n    if (this._hasMaskedPath) {\n      mask = this._pathData.m;\n\n      if (!this._pathData.n || this._pathData._mdf) {\n        var paths = mask.v;\n\n        if (this._pathData.r.v) {\n          paths = paths.reverse();\n        } // TODO: release bezier data cached from previous pathInfo: this._pathData.pi\n\n\n        pathInfo = {\n          tLength: 0,\n          segments: []\n        };\n        len = paths._length - 1;\n        var bezierData;\n        totalLength = 0;\n\n        for (i = 0; i < len; i += 1) {\n          bezierData = bez.buildBezierData(paths.v[i], paths.v[i + 1], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[i + 1][0] - paths.v[i + 1][0], paths.i[i + 1][1] - paths.v[i + 1][1]]);\n          pathInfo.tLength += bezierData.segmentLength;\n          pathInfo.segments.push(bezierData);\n          totalLength += bezierData.segmentLength;\n        }\n\n        i = len;\n\n        if (mask.v.c) {\n          bezierData = bez.buildBezierData(paths.v[i], paths.v[0], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[0][0] - paths.v[0][0], paths.i[0][1] - paths.v[0][1]]);\n          pathInfo.tLength += bezierData.segmentLength;\n          pathInfo.segments.push(bezierData);\n          totalLength += bezierData.segmentLength;\n        }\n\n        this._pathData.pi = pathInfo;\n      }\n\n      pathInfo = this._pathData.pi;\n      currentLength = this._pathData.f.v;\n      segmentInd = 0;\n      pointInd = 1;\n      segmentLength = 0;\n      flag = true;\n      segments = pathInfo.segments;\n\n      if (currentLength < 0 && mask.v.c) {\n        if (pathInfo.tLength < Math.abs(currentLength)) {\n          currentLength = -Math.abs(currentLength) % pathInfo.tLength;\n        }\n\n        segmentInd = segments.length - 1;\n        points = segments[segmentInd].points;\n        pointInd = points.length - 1;\n\n        while (currentLength < 0) {\n          currentLength += points[pointInd].partialLength;\n          pointInd -= 1;\n\n          if (pointInd < 0) {\n            segmentInd -= 1;\n            points = segments[segmentInd].points;\n            pointInd = points.length - 1;\n          }\n        }\n      }\n\n      points = segments[segmentInd].points;\n      prevPoint = points[pointInd - 1];\n      currentPoint = points[pointInd];\n      partialLength = currentPoint.partialLength;\n    }\n\n    len = letters.length;\n    xPos = 0;\n    yPos = 0;\n    var yOff = documentData.finalSize * 1.2 * 0.714;\n    var firstLine = true;\n    var animatorProps;\n    var animatorSelector;\n    var j;\n    var jLen;\n    var letterValue;\n    jLen = animators.length;\n    var mult;\n    var ind = -1;\n    var offf;\n    var xPathPos;\n    var yPathPos;\n    var initPathPos = currentLength;\n    var initSegmentInd = segmentInd;\n    var initPointInd = pointInd;\n    var currentLine = -1;\n    var elemOpacity;\n    var sc;\n    var sw;\n    var fc;\n    var k;\n    var letterSw;\n    var letterSc;\n    var letterFc;\n    var letterM = '';\n    var letterP = this.defaultPropsArray;\n    var letterO; //\n\n    if (documentData.j === 2 || documentData.j === 1) {\n      var animatorJustifyOffset = 0;\n      var animatorFirstCharOffset = 0;\n      var justifyOffsetMult = documentData.j === 2 ? -0.5 : -1;\n      var lastIndex = 0;\n      var isNewLine = true;\n\n      for (i = 0; i < len; i += 1) {\n        if (letters[i].n) {\n          if (animatorJustifyOffset) {\n            animatorJustifyOffset += animatorFirstCharOffset;\n          }\n\n          while (lastIndex < i) {\n            letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n            lastIndex += 1;\n          }\n\n          animatorJustifyOffset = 0;\n          isNewLine = true;\n        } else {\n          for (j = 0; j < jLen; j += 1) {\n            animatorProps = animators[j].a;\n\n            if (animatorProps.t.propType) {\n              if (isNewLine && documentData.j === 2) {\n                animatorFirstCharOffset += animatorProps.t.v * justifyOffsetMult;\n              }\n\n              animatorSelector = animators[j].s;\n              mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n              if (mult.length) {\n                animatorJustifyOffset += animatorProps.t.v * mult[0] * justifyOffsetMult;\n              } else {\n                animatorJustifyOffset += animatorProps.t.v * mult * justifyOffsetMult;\n              }\n            }\n          }\n\n          isNewLine = false;\n        }\n      }\n\n      if (animatorJustifyOffset) {\n        animatorJustifyOffset += animatorFirstCharOffset;\n      }\n\n      while (lastIndex < i) {\n        letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n        lastIndex += 1;\n      }\n    } //\n\n\n    for (i = 0; i < len; i += 1) {\n      matrixHelper.reset();\n      elemOpacity = 1;\n\n      if (letters[i].n) {\n        xPos = 0;\n        yPos += documentData.yOffset;\n        yPos += firstLine ? 1 : 0;\n        currentLength = initPathPos;\n        firstLine = false;\n\n        if (this._hasMaskedPath) {\n          segmentInd = initSegmentInd;\n          pointInd = initPointInd;\n          points = segments[segmentInd].points;\n          prevPoint = points[pointInd - 1];\n          currentPoint = points[pointInd];\n          partialLength = currentPoint.partialLength;\n          segmentLength = 0;\n        }\n\n        letterM = '';\n        letterFc = '';\n        letterSw = '';\n        letterO = '';\n        letterP = this.defaultPropsArray;\n      } else {\n        if (this._hasMaskedPath) {\n          if (currentLine !== letters[i].line) {\n            switch (documentData.j) {\n              case 1:\n                currentLength += totalLength - documentData.lineWidths[letters[i].line];\n                break;\n\n              case 2:\n                currentLength += (totalLength - documentData.lineWidths[letters[i].line]) / 2;\n                break;\n\n              default:\n                break;\n            }\n\n            currentLine = letters[i].line;\n          }\n\n          if (ind !== letters[i].ind) {\n            if (letters[ind]) {\n              currentLength += letters[ind].extra;\n            }\n\n            currentLength += letters[i].an / 2;\n            ind = letters[i].ind;\n          }\n\n          currentLength += alignment[0] * letters[i].an * 0.005;\n          var animatorOffset = 0;\n\n          for (j = 0; j < jLen; j += 1) {\n            animatorProps = animators[j].a;\n\n            if (animatorProps.p.propType) {\n              animatorSelector = animators[j].s;\n              mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n              if (mult.length) {\n                animatorOffset += animatorProps.p.v[0] * mult[0];\n              } else {\n                animatorOffset += animatorProps.p.v[0] * mult;\n              }\n            }\n\n            if (animatorProps.a.propType) {\n              animatorSelector = animators[j].s;\n              mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n              if (mult.length) {\n                animatorOffset += animatorProps.a.v[0] * mult[0];\n              } else {\n                animatorOffset += animatorProps.a.v[0] * mult;\n              }\n            }\n          }\n\n          flag = true; // Force alignment only works with a single line for now\n\n          if (this._pathData.a.v) {\n            currentLength = letters[0].an * 0.5 + (totalLength - this._pathData.f.v - letters[0].an * 0.5 - letters[letters.length - 1].an * 0.5) * ind / (len - 1);\n            currentLength += this._pathData.f.v;\n          }\n\n          while (flag) {\n            if (segmentLength + partialLength >= currentLength + animatorOffset || !points) {\n              perc = (currentLength + animatorOffset - segmentLength) / currentPoint.partialLength;\n              xPathPos = prevPoint.point[0] + (currentPoint.point[0] - prevPoint.point[0]) * perc;\n              yPathPos = prevPoint.point[1] + (currentPoint.point[1] - prevPoint.point[1]) * perc;\n              matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -(alignment[1] * yOff) * 0.01);\n              flag = false;\n            } else if (points) {\n              segmentLength += currentPoint.partialLength;\n              pointInd += 1;\n\n              if (pointInd >= points.length) {\n                pointInd = 0;\n                segmentInd += 1;\n\n                if (!segments[segmentInd]) {\n                  if (mask.v.c) {\n                    pointInd = 0;\n                    segmentInd = 0;\n                    points = segments[segmentInd].points;\n                  } else {\n                    segmentLength -= currentPoint.partialLength;\n                    points = null;\n                  }\n                } else {\n                  points = segments[segmentInd].points;\n                }\n              }\n\n              if (points) {\n                prevPoint = currentPoint;\n                currentPoint = points[pointInd];\n                partialLength = currentPoint.partialLength;\n              }\n            }\n          }\n\n          offf = letters[i].an / 2 - letters[i].add;\n          matrixHelper.translate(-offf, 0, 0);\n        } else {\n          offf = letters[i].an / 2 - letters[i].add;\n          matrixHelper.translate(-offf, 0, 0); // Grouping alignment\n\n          matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -alignment[1] * yOff * 0.01, 0);\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.t.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars); // This condition is to prevent applying tracking to first character in each line. Might be better to use a boolean \"isNewLine\"\n\n            if (xPos !== 0 || documentData.j !== 0) {\n              if (this._hasMaskedPath) {\n                if (mult.length) {\n                  currentLength += animatorProps.t.v * mult[0];\n                } else {\n                  currentLength += animatorProps.t.v * mult;\n                }\n              } else if (mult.length) {\n                xPos += animatorProps.t.v * mult[0];\n              } else {\n                xPos += animatorProps.t.v * mult;\n              }\n            }\n          }\n        }\n\n        if (documentData.strokeWidthAnim) {\n          sw = documentData.sw || 0;\n        }\n\n        if (documentData.strokeColorAnim) {\n          if (documentData.sc) {\n            sc = [documentData.sc[0], documentData.sc[1], documentData.sc[2]];\n          } else {\n            sc = [0, 0, 0];\n          }\n        }\n\n        if (documentData.fillColorAnim && documentData.fc) {\n          fc = [documentData.fc[0], documentData.fc[1], documentData.fc[2]];\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.a.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n            if (mult.length) {\n              matrixHelper.translate(-animatorProps.a.v[0] * mult[0], -animatorProps.a.v[1] * mult[1], animatorProps.a.v[2] * mult[2]);\n            } else {\n              matrixHelper.translate(-animatorProps.a.v[0] * mult, -animatorProps.a.v[1] * mult, animatorProps.a.v[2] * mult);\n            }\n          }\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.s.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n            if (mult.length) {\n              matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult[0], 1 + (animatorProps.s.v[1] - 1) * mult[1], 1);\n            } else {\n              matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult, 1 + (animatorProps.s.v[1] - 1) * mult, 1);\n            }\n          }\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n          animatorSelector = animators[j].s;\n          mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n          if (animatorProps.sk.propType) {\n            if (mult.length) {\n              matrixHelper.skewFromAxis(-animatorProps.sk.v * mult[0], animatorProps.sa.v * mult[1]);\n            } else {\n              matrixHelper.skewFromAxis(-animatorProps.sk.v * mult, animatorProps.sa.v * mult);\n            }\n          }\n\n          if (animatorProps.r.propType) {\n            if (mult.length) {\n              matrixHelper.rotateZ(-animatorProps.r.v * mult[2]);\n            } else {\n              matrixHelper.rotateZ(-animatorProps.r.v * mult);\n            }\n          }\n\n          if (animatorProps.ry.propType) {\n            if (mult.length) {\n              matrixHelper.rotateY(animatorProps.ry.v * mult[1]);\n            } else {\n              matrixHelper.rotateY(animatorProps.ry.v * mult);\n            }\n          }\n\n          if (animatorProps.rx.propType) {\n            if (mult.length) {\n              matrixHelper.rotateX(animatorProps.rx.v * mult[0]);\n            } else {\n              matrixHelper.rotateX(animatorProps.rx.v * mult);\n            }\n          }\n\n          if (animatorProps.o.propType) {\n            if (mult.length) {\n              elemOpacity += (animatorProps.o.v * mult[0] - elemOpacity) * mult[0];\n            } else {\n              elemOpacity += (animatorProps.o.v * mult - elemOpacity) * mult;\n            }\n          }\n\n          if (documentData.strokeWidthAnim && animatorProps.sw.propType) {\n            if (mult.length) {\n              sw += animatorProps.sw.v * mult[0];\n            } else {\n              sw += animatorProps.sw.v * mult;\n            }\n          }\n\n          if (documentData.strokeColorAnim && animatorProps.sc.propType) {\n            for (k = 0; k < 3; k += 1) {\n              if (mult.length) {\n                sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult[0];\n              } else {\n                sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult;\n              }\n            }\n          }\n\n          if (documentData.fillColorAnim && documentData.fc) {\n            if (animatorProps.fc.propType) {\n              for (k = 0; k < 3; k += 1) {\n                if (mult.length) {\n                  fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult[0];\n                } else {\n                  fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult;\n                }\n              }\n            }\n\n            if (animatorProps.fh.propType) {\n              if (mult.length) {\n                fc = addHueToRGB(fc, animatorProps.fh.v * mult[0]);\n              } else {\n                fc = addHueToRGB(fc, animatorProps.fh.v * mult);\n              }\n            }\n\n            if (animatorProps.fs.propType) {\n              if (mult.length) {\n                fc = addSaturationToRGB(fc, animatorProps.fs.v * mult[0]);\n              } else {\n                fc = addSaturationToRGB(fc, animatorProps.fs.v * mult);\n              }\n            }\n\n            if (animatorProps.fb.propType) {\n              if (mult.length) {\n                fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult[0]);\n              } else {\n                fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult);\n              }\n            }\n          }\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.p.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n            if (this._hasMaskedPath) {\n              if (mult.length) {\n                matrixHelper.translate(0, animatorProps.p.v[1] * mult[0], -animatorProps.p.v[2] * mult[1]);\n              } else {\n                matrixHelper.translate(0, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n              }\n            } else if (mult.length) {\n              matrixHelper.translate(animatorProps.p.v[0] * mult[0], animatorProps.p.v[1] * mult[1], -animatorProps.p.v[2] * mult[2]);\n            } else {\n              matrixHelper.translate(animatorProps.p.v[0] * mult, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n            }\n          }\n        }\n\n        if (documentData.strokeWidthAnim) {\n          letterSw = sw < 0 ? 0 : sw;\n        }\n\n        if (documentData.strokeColorAnim) {\n          letterSc = 'rgb(' + Math.round(sc[0] * 255) + ',' + Math.round(sc[1] * 255) + ',' + Math.round(sc[2] * 255) + ')';\n        }\n\n        if (documentData.fillColorAnim && documentData.fc) {\n          letterFc = 'rgb(' + Math.round(fc[0] * 255) + ',' + Math.round(fc[1] * 255) + ',' + Math.round(fc[2] * 255) + ')';\n        }\n\n        if (this._hasMaskedPath) {\n          matrixHelper.translate(0, -documentData.ls);\n          matrixHelper.translate(0, alignment[1] * yOff * 0.01 + yPos, 0);\n\n          if (this._pathData.p.v) {\n            tanAngle = (currentPoint.point[1] - prevPoint.point[1]) / (currentPoint.point[0] - prevPoint.point[0]);\n            var rot = Math.atan(tanAngle) * 180 / Math.PI;\n\n            if (currentPoint.point[0] < prevPoint.point[0]) {\n              rot += 180;\n            }\n\n            matrixHelper.rotate(-rot * Math.PI / 180);\n          }\n\n          matrixHelper.translate(xPathPos, yPathPos, 0);\n          currentLength -= alignment[0] * letters[i].an * 0.005;\n\n          if (letters[i + 1] && ind !== letters[i + 1].ind) {\n            currentLength += letters[i].an / 2;\n            currentLength += documentData.tr * 0.001 * documentData.finalSize;\n          }\n        } else {\n          matrixHelper.translate(xPos, yPos, 0);\n\n          if (documentData.ps) {\n            // matrixHelper.translate(documentData.ps[0],documentData.ps[1],0);\n            matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n          }\n\n          switch (documentData.j) {\n            case 1:\n              matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]), 0, 0);\n              break;\n\n            case 2:\n              matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]) / 2, 0, 0);\n              break;\n\n            default:\n              break;\n          }\n\n          matrixHelper.translate(0, -documentData.ls);\n          matrixHelper.translate(offf, 0, 0);\n          matrixHelper.translate(alignment[0] * letters[i].an * 0.005, alignment[1] * yOff * 0.01, 0);\n          xPos += letters[i].l + documentData.tr * 0.001 * documentData.finalSize;\n        }\n\n        if (renderType === 'html') {\n          letterM = matrixHelper.toCSS();\n        } else if (renderType === 'svg') {\n          letterM = matrixHelper.to2dCSS();\n        } else {\n          letterP = [matrixHelper.props[0], matrixHelper.props[1], matrixHelper.props[2], matrixHelper.props[3], matrixHelper.props[4], matrixHelper.props[5], matrixHelper.props[6], matrixHelper.props[7], matrixHelper.props[8], matrixHelper.props[9], matrixHelper.props[10], matrixHelper.props[11], matrixHelper.props[12], matrixHelper.props[13], matrixHelper.props[14], matrixHelper.props[15]];\n        }\n\n        letterO = elemOpacity;\n      }\n\n      if (renderedLettersCount <= i) {\n        letterValue = new LetterProps(letterO, letterSw, letterSc, letterFc, letterM, letterP);\n        this.renderedLetters.push(letterValue);\n        renderedLettersCount += 1;\n        this.lettersChangedFlag = true;\n      } else {\n        letterValue = this.renderedLetters[i];\n        this.lettersChangedFlag = letterValue.update(letterO, letterSw, letterSc, letterFc, letterM, letterP) || this.lettersChangedFlag;\n      }\n    }\n  };\n\n  TextAnimatorProperty.prototype.getValue = function () {\n    if (this._elem.globalData.frameId === this._frameId) {\n      return;\n    }\n\n    this._frameId = this._elem.globalData.frameId;\n    this.iterateDynamicProperties();\n  };\n\n  TextAnimatorProperty.prototype.mHelper = new Matrix();\n  TextAnimatorProperty.prototype.defaultPropsArray = [];\n  extendPrototype([DynamicPropertyContainer], TextAnimatorProperty);\n\n  function ITextElement() {}\n\n  ITextElement.prototype.initElement = function (data, globalData, comp) {\n    this.lettersChangedFlag = true;\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    this.textProperty = new TextProperty(this, data.t, this.dynamicProperties);\n    this.textAnimator = new TextAnimatorProperty(data.t, this.renderType, this);\n    this.initTransform(data, globalData, comp);\n    this.initHierarchy();\n    this.initRenderable();\n    this.initRendererElement();\n    this.createContainerElements();\n    this.createRenderableComponents();\n    this.createContent();\n    this.hide();\n    this.textAnimator.searchProperties(this.dynamicProperties);\n  };\n\n  ITextElement.prototype.prepareFrame = function (num) {\n    this._mdf = false;\n    this.prepareRenderableFrame(num);\n    this.prepareProperties(num, this.isInRange);\n  };\n\n  ITextElement.prototype.createPathShape = function (matrixHelper, shapes) {\n    var j;\n    var jLen = shapes.length;\n    var pathNodes;\n    var shapeStr = '';\n\n    for (j = 0; j < jLen; j += 1) {\n      if (shapes[j].ty === 'sh') {\n        pathNodes = shapes[j].ks.k;\n        shapeStr += buildShapeString(pathNodes, pathNodes.i.length, true, matrixHelper);\n      }\n    }\n\n    return shapeStr;\n  };\n\n  ITextElement.prototype.updateDocumentData = function (newData, index) {\n    this.textProperty.updateDocumentData(newData, index);\n  };\n\n  ITextElement.prototype.canResizeFont = function (_canResize) {\n    this.textProperty.canResizeFont(_canResize);\n  };\n\n  ITextElement.prototype.setMinimumFontSize = function (_fontSize) {\n    this.textProperty.setMinimumFontSize(_fontSize);\n  };\n\n  ITextElement.prototype.applyTextPropertiesToMatrix = function (documentData, matrixHelper, lineNumber, xPos, yPos) {\n    if (documentData.ps) {\n      matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n    }\n\n    matrixHelper.translate(0, -documentData.ls, 0);\n\n    switch (documentData.j) {\n      case 1:\n        matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]), 0, 0);\n        break;\n\n      case 2:\n        matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]) / 2, 0, 0);\n        break;\n\n      default:\n        break;\n    }\n\n    matrixHelper.translate(xPos, yPos, 0);\n  };\n\n  ITextElement.prototype.buildColor = function (colorData) {\n    return 'rgb(' + Math.round(colorData[0] * 255) + ',' + Math.round(colorData[1] * 255) + ',' + Math.round(colorData[2] * 255) + ')';\n  };\n\n  ITextElement.prototype.emptyProp = new LetterProps();\n\n  ITextElement.prototype.destroy = function () {};\n\n  ITextElement.prototype.validateText = function () {\n    if (this.textProperty._mdf || this.textProperty._isFirstFrame) {\n      this.buildNewText();\n      this.textProperty._isFirstFrame = false;\n      this.textProperty._mdf = false;\n    }\n  };\n\n  var emptyShapeData = {\n    shapes: []\n  };\n\n  function SVGTextLottieElement(data, globalData, comp) {\n    this.textSpans = [];\n    this.renderType = 'svg';\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], SVGTextLottieElement);\n\n  SVGTextLottieElement.prototype.createContent = function () {\n    if (this.data.singleShape && !this.globalData.fontManager.chars) {\n      this.textContainer = createNS('text');\n    }\n  };\n\n  SVGTextLottieElement.prototype.buildTextContents = function (textArray) {\n    var i = 0;\n    var len = textArray.length;\n    var textContents = [];\n    var currentTextContent = '';\n\n    while (i < len) {\n      if (textArray[i] === String.fromCharCode(13) || textArray[i] === String.fromCharCode(3)) {\n        textContents.push(currentTextContent);\n        currentTextContent = '';\n      } else {\n        currentTextContent += textArray[i];\n      }\n\n      i += 1;\n    }\n\n    textContents.push(currentTextContent);\n    return textContents;\n  };\n\n  SVGTextLottieElement.prototype.buildShapeData = function (data, scale) {\n    // data should probably be cloned to apply scale separately to each instance of a text on different layers\n    // but since text internal content gets only rendered once and then it's never rerendered,\n    // it's probably safe not to clone data and reuse always the same instance even if the object is mutated.\n    // Avoiding cloning is preferred since cloning each character shape data is expensive\n    if (data.shapes && data.shapes.length) {\n      var shape = data.shapes[0];\n\n      if (shape.it) {\n        var shapeItem = shape.it[shape.it.length - 1];\n\n        if (shapeItem.s) {\n          shapeItem.s.k[0] = scale;\n          shapeItem.s.k[1] = scale;\n        }\n      }\n    }\n\n    return data;\n  };\n\n  SVGTextLottieElement.prototype.buildNewText = function () {\n    this.addDynamicProperty(this);\n    var i;\n    var len;\n    var documentData = this.textProperty.currentData;\n    this.renderedLetters = createSizedArray(documentData ? documentData.l.length : 0);\n\n    if (documentData.fc) {\n      this.layerElement.setAttribute('fill', this.buildColor(documentData.fc));\n    } else {\n      this.layerElement.setAttribute('fill', 'rgba(0,0,0,0)');\n    }\n\n    if (documentData.sc) {\n      this.layerElement.setAttribute('stroke', this.buildColor(documentData.sc));\n      this.layerElement.setAttribute('stroke-width', documentData.sw);\n    }\n\n    this.layerElement.setAttribute('font-size', documentData.finalSize);\n    var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n\n    if (fontData.fClass) {\n      this.layerElement.setAttribute('class', fontData.fClass);\n    } else {\n      this.layerElement.setAttribute('font-family', fontData.fFamily);\n      var fWeight = documentData.fWeight;\n      var fStyle = documentData.fStyle;\n      this.layerElement.setAttribute('font-style', fStyle);\n      this.layerElement.setAttribute('font-weight', fWeight);\n    }\n\n    this.layerElement.setAttribute('aria-label', documentData.t);\n    var letters = documentData.l || [];\n    var usesGlyphs = !!this.globalData.fontManager.chars;\n    len = letters.length;\n    var tSpan;\n    var matrixHelper = this.mHelper;\n    var shapeStr = '';\n    var singleShape = this.data.singleShape;\n    var xPos = 0;\n    var yPos = 0;\n    var firstLine = true;\n    var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n\n    if (singleShape && !usesGlyphs && !documentData.sz) {\n      var tElement = this.textContainer;\n      var justify = 'start';\n\n      switch (documentData.j) {\n        case 1:\n          justify = 'end';\n          break;\n\n        case 2:\n          justify = 'middle';\n          break;\n\n        default:\n          justify = 'start';\n          break;\n      }\n\n      tElement.setAttribute('text-anchor', justify);\n      tElement.setAttribute('letter-spacing', trackingOffset);\n      var textContent = this.buildTextContents(documentData.finalText);\n      len = textContent.length;\n      yPos = documentData.ps ? documentData.ps[1] + documentData.ascent : 0;\n\n      for (i = 0; i < len; i += 1) {\n        tSpan = this.textSpans[i].span || createNS('tspan');\n        tSpan.textContent = textContent[i];\n        tSpan.setAttribute('x', 0);\n        tSpan.setAttribute('y', yPos);\n        tSpan.style.display = 'inherit';\n        tElement.appendChild(tSpan);\n\n        if (!this.textSpans[i]) {\n          this.textSpans[i] = {\n            span: null,\n            glyph: null\n          };\n        }\n\n        this.textSpans[i].span = tSpan;\n        yPos += documentData.finalLineHeight;\n      }\n\n      this.layerElement.appendChild(tElement);\n    } else {\n      var cachedSpansLength = this.textSpans.length;\n      var charData;\n\n      for (i = 0; i < len; i += 1) {\n        if (!this.textSpans[i]) {\n          this.textSpans[i] = {\n            span: null,\n            childSpan: null,\n            glyph: null\n          };\n        }\n\n        if (!usesGlyphs || !singleShape || i === 0) {\n          tSpan = cachedSpansLength > i ? this.textSpans[i].span : createNS(usesGlyphs ? 'g' : 'text');\n\n          if (cachedSpansLength <= i) {\n            tSpan.setAttribute('stroke-linecap', 'butt');\n            tSpan.setAttribute('stroke-linejoin', 'round');\n            tSpan.setAttribute('stroke-miterlimit', '4');\n            this.textSpans[i].span = tSpan;\n\n            if (usesGlyphs) {\n              var childSpan = createNS('g');\n              tSpan.appendChild(childSpan);\n              this.textSpans[i].childSpan = childSpan;\n            }\n\n            this.textSpans[i].span = tSpan;\n            this.layerElement.appendChild(tSpan);\n          }\n\n          tSpan.style.display = 'inherit';\n        }\n\n        matrixHelper.reset();\n\n        if (singleShape) {\n          if (letters[i].n) {\n            xPos = -trackingOffset;\n            yPos += documentData.yOffset;\n            yPos += firstLine ? 1 : 0;\n            firstLine = false;\n          }\n\n          this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n          xPos += letters[i].l || 0; // xPos += letters[i].val === ' ' ? 0 : trackingOffset;\n\n          xPos += trackingOffset;\n        }\n\n        if (usesGlyphs) {\n          charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\n          var glyphElement; // t === 1 means the character has been replaced with an animated shaped\n\n          if (charData.t === 1) {\n            glyphElement = new SVGCompElement(charData.data, this.globalData, this);\n          } else {\n            var data = emptyShapeData;\n\n            if (charData.data && charData.data.shapes) {\n              data = this.buildShapeData(charData.data, documentData.finalSize);\n            }\n\n            glyphElement = new SVGShapeElement(data, this.globalData, this);\n          }\n\n          if (this.textSpans[i].glyph) {\n            var glyph = this.textSpans[i].glyph;\n            this.textSpans[i].childSpan.removeChild(glyph.layerElement);\n            glyph.destroy();\n          }\n\n          this.textSpans[i].glyph = glyphElement;\n          glyphElement._debug = true;\n          glyphElement.prepareFrame(0);\n          glyphElement.renderFrame();\n          this.textSpans[i].childSpan.appendChild(glyphElement.layerElement); // when using animated shapes, the layer will be scaled instead of replacing the internal scale\n          // this might have issues with strokes and might need a different solution\n\n          if (charData.t === 1) {\n            this.textSpans[i].childSpan.setAttribute('transform', 'scale(' + documentData.finalSize / 100 + ',' + documentData.finalSize / 100 + ')');\n          }\n        } else {\n          if (singleShape) {\n            tSpan.setAttribute('transform', 'translate(' + matrixHelper.props[12] + ',' + matrixHelper.props[13] + ')');\n          }\n\n          tSpan.textContent = letters[i].val;\n          tSpan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');\n        } //\n\n      }\n\n      if (singleShape && tSpan) {\n        tSpan.setAttribute('d', shapeStr);\n      }\n    }\n\n    while (i < this.textSpans.length) {\n      this.textSpans[i].span.style.display = 'none';\n      i += 1;\n    }\n\n    this._sizeChanged = true;\n  };\n\n  SVGTextLottieElement.prototype.sourceRectAtTime = function () {\n    this.prepareFrame(this.comp.renderedFrame - this.data.st);\n    this.renderInnerContent();\n\n    if (this._sizeChanged) {\n      this._sizeChanged = false;\n      var textBox = this.layerElement.getBBox();\n      this.bbox = {\n        top: textBox.y,\n        left: textBox.x,\n        width: textBox.width,\n        height: textBox.height\n      };\n    }\n\n    return this.bbox;\n  };\n\n  SVGTextLottieElement.prototype.getValue = function () {\n    var i;\n    var len = this.textSpans.length;\n    var glyphElement;\n    this.renderedFrame = this.comp.renderedFrame;\n\n    for (i = 0; i < len; i += 1) {\n      glyphElement = this.textSpans[i].glyph;\n\n      if (glyphElement) {\n        glyphElement.prepareFrame(this.comp.renderedFrame - this.data.st);\n\n        if (glyphElement._mdf) {\n          this._mdf = true;\n        }\n      }\n    }\n  };\n\n  SVGTextLottieElement.prototype.renderInnerContent = function () {\n    this.validateText();\n\n    if (!this.data.singleShape || this._mdf) {\n      this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n\n      if (this.lettersChangedFlag || this.textAnimator.lettersChangedFlag) {\n        this._sizeChanged = true;\n        var i;\n        var len;\n        var renderedLetters = this.textAnimator.renderedLetters;\n        var letters = this.textProperty.currentData.l;\n        len = letters.length;\n        var renderedLetter;\n        var textSpan;\n        var glyphElement;\n\n        for (i = 0; i < len; i += 1) {\n          if (!letters[i].n) {\n            renderedLetter = renderedLetters[i];\n            textSpan = this.textSpans[i].span;\n            glyphElement = this.textSpans[i].glyph;\n\n            if (glyphElement) {\n              glyphElement.renderFrame();\n            }\n\n            if (renderedLetter._mdf.m) {\n              textSpan.setAttribute('transform', renderedLetter.m);\n            }\n\n            if (renderedLetter._mdf.o) {\n              textSpan.setAttribute('opacity', renderedLetter.o);\n            }\n\n            if (renderedLetter._mdf.sw) {\n              textSpan.setAttribute('stroke-width', renderedLetter.sw);\n            }\n\n            if (renderedLetter._mdf.sc) {\n              textSpan.setAttribute('stroke', renderedLetter.sc);\n            }\n\n            if (renderedLetter._mdf.fc) {\n              textSpan.setAttribute('fill', renderedLetter.fc);\n            }\n          }\n        }\n      }\n    }\n  };\n\n  function ISolidElement(data, globalData, comp) {\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([IImageElement], ISolidElement);\n\n  ISolidElement.prototype.createContent = function () {\n    var rect = createNS('rect'); /// /rect.style.width = this.data.sw;\n    /// /rect.style.height = this.data.sh;\n    /// /rect.style.fill = this.data.sc;\n\n    rect.setAttribute('width', this.data.sw);\n    rect.setAttribute('height', this.data.sh);\n    rect.setAttribute('fill', this.data.sc);\n    this.layerElement.appendChild(rect);\n  };\n\n  function NullElement(data, globalData, comp) {\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    this.initFrame();\n    this.initTransform(data, globalData, comp);\n    this.initHierarchy();\n  }\n\n  NullElement.prototype.prepareFrame = function (num) {\n    this.prepareProperties(num, true);\n  };\n\n  NullElement.prototype.renderFrame = function () {};\n\n  NullElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  NullElement.prototype.destroy = function () {};\n\n  NullElement.prototype.sourceRectAtTime = function () {};\n\n  NullElement.prototype.hide = function () {};\n\n  extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement], NullElement);\n\n  function SVGRendererBase() {}\n\n  extendPrototype([BaseRenderer], SVGRendererBase);\n\n  SVGRendererBase.prototype.createNull = function (data) {\n    return new NullElement(data, this.globalData, this);\n  };\n\n  SVGRendererBase.prototype.createShape = function (data) {\n    return new SVGShapeElement(data, this.globalData, this);\n  };\n\n  SVGRendererBase.prototype.createText = function (data) {\n    return new SVGTextLottieElement(data, this.globalData, this);\n  };\n\n  SVGRendererBase.prototype.createImage = function (data) {\n    return new IImageElement(data, this.globalData, this);\n  };\n\n  SVGRendererBase.prototype.createSolid = function (data) {\n    return new ISolidElement(data, this.globalData, this);\n  };\n\n  SVGRendererBase.prototype.configAnimation = function (animData) {\n    this.svgElement.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n    this.svgElement.setAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink');\n\n    if (this.renderConfig.viewBoxSize) {\n      this.svgElement.setAttribute('viewBox', this.renderConfig.viewBoxSize);\n    } else {\n      this.svgElement.setAttribute('viewBox', '0 0 ' + animData.w + ' ' + animData.h);\n    }\n\n    if (!this.renderConfig.viewBoxOnly) {\n      this.svgElement.setAttribute('width', animData.w);\n      this.svgElement.setAttribute('height', animData.h);\n      this.svgElement.style.width = '100%';\n      this.svgElement.style.height = '100%';\n      this.svgElement.style.transform = 'translate3d(0,0,0)';\n      this.svgElement.style.contentVisibility = this.renderConfig.contentVisibility;\n    }\n\n    if (this.renderConfig.width) {\n      this.svgElement.setAttribute('width', this.renderConfig.width);\n    }\n\n    if (this.renderConfig.height) {\n      this.svgElement.setAttribute('height', this.renderConfig.height);\n    }\n\n    if (this.renderConfig.className) {\n      this.svgElement.setAttribute('class', this.renderConfig.className);\n    }\n\n    if (this.renderConfig.id) {\n      this.svgElement.setAttribute('id', this.renderConfig.id);\n    }\n\n    if (this.renderConfig.focusable !== undefined) {\n      this.svgElement.setAttribute('focusable', this.renderConfig.focusable);\n    }\n\n    this.svgElement.setAttribute('preserveAspectRatio', this.renderConfig.preserveAspectRatio); // this.layerElement.style.transform = 'translate3d(0,0,0)';\n    // this.layerElement.style.transformOrigin = this.layerElement.style.mozTransformOrigin = this.layerElement.style.webkitTransformOrigin = this.layerElement.style['-webkit-transform'] = \"0px 0px 0px\";\n\n    this.animationItem.wrapper.appendChild(this.svgElement); // Mask animation\n\n    var defs = this.globalData.defs;\n    this.setupGlobalData(animData, defs);\n    this.globalData.progressiveLoad = this.renderConfig.progressiveLoad;\n    this.data = animData;\n    var maskElement = createNS('clipPath');\n    var rect = createNS('rect');\n    rect.setAttribute('width', animData.w);\n    rect.setAttribute('height', animData.h);\n    rect.setAttribute('x', 0);\n    rect.setAttribute('y', 0);\n    var maskId = createElementID();\n    maskElement.setAttribute('id', maskId);\n    maskElement.appendChild(rect);\n    this.layerElement.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + maskId + ')');\n    defs.appendChild(maskElement);\n    this.layers = animData.layers;\n    this.elements = createSizedArray(animData.layers.length);\n  };\n\n  SVGRendererBase.prototype.destroy = function () {\n    if (this.animationItem.wrapper) {\n      this.animationItem.wrapper.innerText = '';\n    }\n\n    this.layerElement = null;\n    this.globalData.defs = null;\n    var i;\n    var len = this.layers ? this.layers.length : 0;\n\n    for (i = 0; i < len; i += 1) {\n      if (this.elements[i] && this.elements[i].destroy) {\n        this.elements[i].destroy();\n      }\n    }\n\n    this.elements.length = 0;\n    this.destroyed = true;\n    this.animationItem = null;\n  };\n\n  SVGRendererBase.prototype.updateContainerSize = function () {};\n\n  SVGRendererBase.prototype.findIndexByInd = function (ind) {\n    var i = 0;\n    var len = this.layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (this.layers[i].ind === ind) {\n        return i;\n      }\n    }\n\n    return -1;\n  };\n\n  SVGRendererBase.prototype.buildItem = function (pos) {\n    var elements = this.elements;\n\n    if (elements[pos] || this.layers[pos].ty === 99) {\n      return;\n    }\n\n    elements[pos] = true;\n    var element = this.createItem(this.layers[pos]);\n    elements[pos] = element;\n\n    if (getExpressionsPlugin()) {\n      if (this.layers[pos].ty === 0) {\n        this.globalData.projectInterface.registerComposition(element);\n      }\n\n      element.initExpressions();\n    }\n\n    this.appendElementInPos(element, pos);\n\n    if (this.layers[pos].tt) {\n      var elementIndex = 'tp' in this.layers[pos] ? this.findIndexByInd(this.layers[pos].tp) : pos - 1;\n\n      if (elementIndex === -1) {\n        return;\n      }\n\n      if (!this.elements[elementIndex] || this.elements[elementIndex] === true) {\n        this.buildItem(elementIndex);\n        this.addPendingElement(element);\n      } else {\n        var matteElement = elements[elementIndex];\n        var matteMask = matteElement.getMatte(this.layers[pos].tt);\n        element.setMatte(matteMask);\n      }\n    }\n  };\n\n  SVGRendererBase.prototype.checkPendingElements = function () {\n    while (this.pendingElements.length) {\n      var element = this.pendingElements.pop();\n      element.checkParenting();\n\n      if (element.data.tt) {\n        var i = 0;\n        var len = this.elements.length;\n\n        while (i < len) {\n          if (this.elements[i] === element) {\n            var elementIndex = 'tp' in element.data ? this.findIndexByInd(element.data.tp) : i - 1;\n            var matteElement = this.elements[elementIndex];\n            var matteMask = matteElement.getMatte(this.layers[i].tt);\n            element.setMatte(matteMask);\n            break;\n          }\n\n          i += 1;\n        }\n      }\n    }\n  };\n\n  SVGRendererBase.prototype.renderFrame = function (num) {\n    if (this.renderedFrame === num || this.destroyed) {\n      return;\n    }\n\n    if (num === null) {\n      num = this.renderedFrame;\n    } else {\n      this.renderedFrame = num;\n    } // console.log('-------');\n    // console.log('FRAME ',num);\n\n\n    this.globalData.frameNum = num;\n    this.globalData.frameId += 1;\n    this.globalData.projectInterface.currentFrame = num;\n    this.globalData._mdf = false;\n    var i;\n    var len = this.layers.length;\n\n    if (!this.completeLayers) {\n      this.checkLayers(num);\n    }\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if (this.completeLayers || this.elements[i]) {\n        this.elements[i].prepareFrame(num - this.layers[i].st);\n      }\n    }\n\n    if (this.globalData._mdf) {\n      for (i = 0; i < len; i += 1) {\n        if (this.completeLayers || this.elements[i]) {\n          this.elements[i].renderFrame();\n        }\n      }\n    }\n  };\n\n  SVGRendererBase.prototype.appendElementInPos = function (element, pos) {\n    var newElement = element.getBaseElement();\n\n    if (!newElement) {\n      return;\n    }\n\n    var i = 0;\n    var nextElement;\n\n    while (i < pos) {\n      if (this.elements[i] && this.elements[i] !== true && this.elements[i].getBaseElement()) {\n        nextElement = this.elements[i].getBaseElement();\n      }\n\n      i += 1;\n    }\n\n    if (nextElement) {\n      this.layerElement.insertBefore(newElement, nextElement);\n    } else {\n      this.layerElement.appendChild(newElement);\n    }\n  };\n\n  SVGRendererBase.prototype.hide = function () {\n    this.layerElement.style.display = 'none';\n  };\n\n  SVGRendererBase.prototype.show = function () {\n    this.layerElement.style.display = 'block';\n  };\n\n  function ICompElement() {}\n\n  extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement], ICompElement);\n\n  ICompElement.prototype.initElement = function (data, globalData, comp) {\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    this.initTransform(data, globalData, comp);\n    this.initRenderable();\n    this.initHierarchy();\n    this.initRendererElement();\n    this.createContainerElements();\n    this.createRenderableComponents();\n\n    if (this.data.xt || !globalData.progressiveLoad) {\n      this.buildAllItems();\n    }\n\n    this.hide();\n  };\n  /* ICompElement.prototype.hide = function(){\r\n      if(!this.hidden){\r\n          this.hideElement();\r\n          var i,len = this.elements.length;\r\n          for( i = 0; i < len; i+=1 ){\r\n              if(this.elements[i]){\r\n                  this.elements[i].hide();\r\n              }\r\n          }\r\n      }\r\n  }; */\n\n\n  ICompElement.prototype.prepareFrame = function (num) {\n    this._mdf = false;\n    this.prepareRenderableFrame(num);\n    this.prepareProperties(num, this.isInRange);\n\n    if (!this.isInRange && !this.data.xt) {\n      return;\n    }\n\n    if (!this.tm._placeholder) {\n      var timeRemapped = this.tm.v;\n\n      if (timeRemapped === this.data.op) {\n        timeRemapped = this.data.op - 1;\n      }\n\n      this.renderedFrame = timeRemapped;\n    } else {\n      this.renderedFrame = num / this.data.sr;\n    }\n\n    var i;\n    var len = this.elements.length;\n\n    if (!this.completeLayers) {\n      this.checkLayers(this.renderedFrame);\n    } // This iteration needs to be backwards because of how expressions connect between each other\n\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if (this.completeLayers || this.elements[i]) {\n        this.elements[i].prepareFrame(this.renderedFrame - this.layers[i].st);\n\n        if (this.elements[i]._mdf) {\n          this._mdf = true;\n        }\n      }\n    }\n  };\n\n  ICompElement.prototype.renderInnerContent = function () {\n    var i;\n    var len = this.layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (this.completeLayers || this.elements[i]) {\n        this.elements[i].renderFrame();\n      }\n    }\n  };\n\n  ICompElement.prototype.setElements = function (elems) {\n    this.elements = elems;\n  };\n\n  ICompElement.prototype.getElements = function () {\n    return this.elements;\n  };\n\n  ICompElement.prototype.destroyElements = function () {\n    var i;\n    var len = this.layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (this.elements[i]) {\n        this.elements[i].destroy();\n      }\n    }\n  };\n\n  ICompElement.prototype.destroy = function () {\n    this.destroyElements();\n    this.destroyBaseElement();\n  };\n\n  function SVGCompElement(data, globalData, comp) {\n    this.layers = data.layers;\n    this.supports3d = true;\n    this.completeLayers = false;\n    this.pendingElements = [];\n    this.elements = this.layers ? createSizedArray(this.layers.length) : [];\n    this.initElement(data, globalData, comp);\n    this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n      _placeholder: true\n    };\n  }\n\n  extendPrototype([SVGRendererBase, ICompElement, SVGBaseElement], SVGCompElement);\n\n  SVGCompElement.prototype.createComp = function (data) {\n    return new SVGCompElement(data, this.globalData, this);\n  };\n\n  function SVGRenderer(animationItem, config) {\n    this.animationItem = animationItem;\n    this.layers = null;\n    this.renderedFrame = -1;\n    this.svgElement = createNS('svg');\n    var ariaLabel = '';\n\n    if (config && config.title) {\n      var titleElement = createNS('title');\n      var titleId = createElementID();\n      titleElement.setAttribute('id', titleId);\n      titleElement.textContent = config.title;\n      this.svgElement.appendChild(titleElement);\n      ariaLabel += titleId;\n    }\n\n    if (config && config.description) {\n      var descElement = createNS('desc');\n      var descId = createElementID();\n      descElement.setAttribute('id', descId);\n      descElement.textContent = config.description;\n      this.svgElement.appendChild(descElement);\n      ariaLabel += ' ' + descId;\n    }\n\n    if (ariaLabel) {\n      this.svgElement.setAttribute('aria-labelledby', ariaLabel);\n    }\n\n    var defs = createNS('defs');\n    this.svgElement.appendChild(defs);\n    var maskElement = createNS('g');\n    this.svgElement.appendChild(maskElement);\n    this.layerElement = maskElement;\n    this.renderConfig = {\n      preserveAspectRatio: config && config.preserveAspectRatio || 'xMidYMid meet',\n      imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n      contentVisibility: config && config.contentVisibility || 'visible',\n      progressiveLoad: config && config.progressiveLoad || false,\n      hideOnTransparent: !(config && config.hideOnTransparent === false),\n      viewBoxOnly: config && config.viewBoxOnly || false,\n      viewBoxSize: config && config.viewBoxSize || false,\n      className: config && config.className || '',\n      id: config && config.id || '',\n      focusable: config && config.focusable,\n      filterSize: {\n        width: config && config.filterSize && config.filterSize.width || '100%',\n        height: config && config.filterSize && config.filterSize.height || '100%',\n        x: config && config.filterSize && config.filterSize.x || '0%',\n        y: config && config.filterSize && config.filterSize.y || '0%'\n      },\n      width: config && config.width,\n      height: config && config.height,\n      runExpressions: !config || config.runExpressions === undefined || config.runExpressions\n    };\n    this.globalData = {\n      _mdf: false,\n      frameNum: -1,\n      defs: defs,\n      renderConfig: this.renderConfig\n    };\n    this.elements = [];\n    this.pendingElements = [];\n    this.destroyed = false;\n    this.rendererType = 'svg';\n  }\n\n  extendPrototype([SVGRendererBase], SVGRenderer);\n\n  SVGRenderer.prototype.createComp = function (data) {\n    return new SVGCompElement(data, this.globalData, this);\n  };\n\n  function ShapeTransformManager() {\n    this.sequences = {};\n    this.sequenceList = [];\n    this.transform_key_count = 0;\n  }\n\n  ShapeTransformManager.prototype = {\n    addTransformSequence: function addTransformSequence(transforms) {\n      var i;\n      var len = transforms.length;\n      var key = '_';\n\n      for (i = 0; i < len; i += 1) {\n        key += transforms[i].transform.key + '_';\n      }\n\n      var sequence = this.sequences[key];\n\n      if (!sequence) {\n        sequence = {\n          transforms: [].concat(transforms),\n          finalTransform: new Matrix(),\n          _mdf: false\n        };\n        this.sequences[key] = sequence;\n        this.sequenceList.push(sequence);\n      }\n\n      return sequence;\n    },\n    processSequence: function processSequence(sequence, isFirstFrame) {\n      var i = 0;\n      var len = sequence.transforms.length;\n      var _mdf = isFirstFrame;\n\n      while (i < len && !isFirstFrame) {\n        if (sequence.transforms[i].transform.mProps._mdf) {\n          _mdf = true;\n          break;\n        }\n\n        i += 1;\n      }\n\n      if (_mdf) {\n        sequence.finalTransform.reset();\n\n        for (i = len - 1; i >= 0; i -= 1) {\n          sequence.finalTransform.multiply(sequence.transforms[i].transform.mProps.v);\n        }\n      }\n\n      sequence._mdf = _mdf;\n    },\n    processSequences: function processSequences(isFirstFrame) {\n      var i;\n      var len = this.sequenceList.length;\n\n      for (i = 0; i < len; i += 1) {\n        this.processSequence(this.sequenceList[i], isFirstFrame);\n      }\n    },\n    getNewKey: function getNewKey() {\n      this.transform_key_count += 1;\n      return '_' + this.transform_key_count;\n    }\n  };\n\n  var lumaLoader = function lumaLoader() {\n    var id = '__lottie_element_luma_buffer';\n    var lumaBuffer = null;\n    var lumaBufferCtx = null;\n    var svg = null; // This alternate solution has a slight delay before the filter is applied, resulting in a flicker on the first frame.\n    // Keeping this here for reference, and in the future, if offscreen canvas supports url filters, this can be used.\n    // For now, neither of them work for offscreen canvas, so canvas workers can't support the luma track matte mask.\n    // Naming it solution 2 to mark the extra comment lines.\n\n    /*\r\n    var svgString = [\r\n      '<svg xmlns=\"http://www.w3.org/2000/svg\">',\r\n      '<filter id=\"' + id + '\">',\r\n      '<feColorMatrix type=\"matrix\" color-interpolation-filters=\"sRGB\" values=\"',\r\n      '0.3, 0.3, 0.3, 0, 0, ',\r\n      '0.3, 0.3, 0.3, 0, 0, ',\r\n      '0.3, 0.3, 0.3, 0, 0, ',\r\n      '0.3, 0.3, 0.3, 0, 0',\r\n      '\"/>',\r\n      '</filter>',\r\n      '</svg>',\r\n    ].join('');\r\n    var blob = new Blob([svgString], { type: 'image/svg+xml' });\r\n    var url = URL.createObjectURL(blob);\r\n    */\n\n    function createLumaSvgFilter() {\n      var _svg = createNS('svg');\n\n      var fil = createNS('filter');\n      var matrix = createNS('feColorMatrix');\n      fil.setAttribute('id', id);\n      matrix.setAttribute('type', 'matrix');\n      matrix.setAttribute('color-interpolation-filters', 'sRGB');\n      matrix.setAttribute('values', '0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0');\n      fil.appendChild(matrix);\n\n      _svg.appendChild(fil);\n\n      _svg.setAttribute('id', id + '_svg');\n\n      if (featureSupport.svgLumaHidden) {\n        _svg.style.display = 'none';\n      }\n\n      return _svg;\n    }\n\n    function loadLuma() {\n      if (!lumaBuffer) {\n        svg = createLumaSvgFilter();\n        document.body.appendChild(svg);\n        lumaBuffer = createTag('canvas');\n        lumaBufferCtx = lumaBuffer.getContext('2d'); // lumaBufferCtx.filter = `url('${url}#__lottie_element_luma_buffer')`; // part of solution 2\n\n        lumaBufferCtx.filter = 'url(#' + id + ')';\n        lumaBufferCtx.fillStyle = 'rgba(0,0,0,0)';\n        lumaBufferCtx.fillRect(0, 0, 1, 1);\n      }\n    }\n\n    function getLuma(canvas) {\n      if (!lumaBuffer) {\n        loadLuma();\n      }\n\n      lumaBuffer.width = canvas.width;\n      lumaBuffer.height = canvas.height; // lumaBufferCtx.filter = `url('${url}#__lottie_element_luma_buffer')`; // part of solution 2\n\n      lumaBufferCtx.filter = 'url(#' + id + ')';\n      return lumaBuffer;\n    }\n\n    return {\n      load: loadLuma,\n      get: getLuma\n    };\n  };\n\n  function createCanvas(width, height) {\n    if (featureSupport.offscreenCanvas) {\n      return new OffscreenCanvas(width, height);\n    }\n\n    var canvas = createTag('canvas');\n    canvas.width = width;\n    canvas.height = height;\n    return canvas;\n  }\n\n  var assetLoader = function () {\n    return {\n      loadLumaCanvas: lumaLoader.load,\n      getLumaCanvas: lumaLoader.get,\n      createCanvas: createCanvas\n    };\n  }();\n\n  var registeredEffects = {};\n\n  function CVEffects(elem) {\n    var i;\n    var len = elem.data.ef ? elem.data.ef.length : 0;\n    this.filters = [];\n    var filterManager;\n\n    for (i = 0; i < len; i += 1) {\n      filterManager = null;\n      var type = elem.data.ef[i].ty;\n\n      if (registeredEffects[type]) {\n        var Effect = registeredEffects[type].effect;\n        filterManager = new Effect(elem.effectsManager.effectElements[i], elem);\n      }\n\n      if (filterManager) {\n        this.filters.push(filterManager);\n      }\n    }\n\n    if (this.filters.length) {\n      elem.addRenderableComponent(this);\n    }\n  }\n\n  CVEffects.prototype.renderFrame = function (_isFirstFrame) {\n    var i;\n    var len = this.filters.length;\n\n    for (i = 0; i < len; i += 1) {\n      this.filters[i].renderFrame(_isFirstFrame);\n    }\n  };\n\n  CVEffects.prototype.getEffects = function (type) {\n    var i;\n    var len = this.filters.length;\n    var effects = [];\n\n    for (i = 0; i < len; i += 1) {\n      if (this.filters[i].type === type) {\n        effects.push(this.filters[i]);\n      }\n    }\n\n    return effects;\n  };\n\n  function registerEffect(id, effect) {\n    registeredEffects[id] = {\n      effect: effect\n    };\n  }\n\n  function CVMaskElement(data, element) {\n    this.data = data;\n    this.element = element;\n    this.masksProperties = this.data.masksProperties || [];\n    this.viewData = createSizedArray(this.masksProperties.length);\n    var i;\n    var len = this.masksProperties.length;\n    var hasMasks = false;\n\n    for (i = 0; i < len; i += 1) {\n      if (this.masksProperties[i].mode !== 'n') {\n        hasMasks = true;\n      }\n\n      this.viewData[i] = ShapePropertyFactory.getShapeProp(this.element, this.masksProperties[i], 3);\n    }\n\n    this.hasMasks = hasMasks;\n\n    if (hasMasks) {\n      this.element.addRenderableComponent(this);\n    }\n  }\n\n  CVMaskElement.prototype.renderFrame = function () {\n    if (!this.hasMasks) {\n      return;\n    }\n\n    var transform = this.element.finalTransform.mat;\n    var ctx = this.element.canvasContext;\n    var i;\n    var len = this.masksProperties.length;\n    var pt;\n    var pts;\n    var data;\n    ctx.beginPath();\n\n    for (i = 0; i < len; i += 1) {\n      if (this.masksProperties[i].mode !== 'n') {\n        if (this.masksProperties[i].inv) {\n          ctx.moveTo(0, 0);\n          ctx.lineTo(this.element.globalData.compSize.w, 0);\n          ctx.lineTo(this.element.globalData.compSize.w, this.element.globalData.compSize.h);\n          ctx.lineTo(0, this.element.globalData.compSize.h);\n          ctx.lineTo(0, 0);\n        }\n\n        data = this.viewData[i].v;\n        pt = transform.applyToPointArray(data.v[0][0], data.v[0][1], 0);\n        ctx.moveTo(pt[0], pt[1]);\n        var j;\n        var jLen = data._length;\n\n        for (j = 1; j < jLen; j += 1) {\n          pts = transform.applyToTriplePoints(data.o[j - 1], data.i[j], data.v[j]);\n          ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n        }\n\n        pts = transform.applyToTriplePoints(data.o[j - 1], data.i[0], data.v[0]);\n        ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n      }\n    }\n\n    this.element.globalData.renderer.save(true);\n    ctx.clip();\n  };\n\n  CVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty;\n\n  CVMaskElement.prototype.destroy = function () {\n    this.element = null;\n  };\n\n  function CVBaseElement() {}\n\n  var operationsMap = {\n    1: 'source-in',\n    2: 'source-out',\n    3: 'source-in',\n    4: 'source-out'\n  };\n  CVBaseElement.prototype = {\n    createElements: function createElements() {},\n    initRendererElement: function initRendererElement() {},\n    createContainerElements: function createContainerElements() {\n      // If the layer is masked we will use two buffers to store each different states of the drawing\n      // This solution is not ideal for several reason. But unfortunately, because of the recursive\n      // nature of the render tree, it's the only simple way to make sure one inner mask doesn't override an outer mask.\n      // TODO: try to reduce the size of these buffers to the size of the composition contaning the layer\n      // It might be challenging because the layer most likely is transformed in some way\n      if (this.data.tt >= 1) {\n        this.buffers = [];\n        var canvasContext = this.globalData.canvasContext;\n        var bufferCanvas = assetLoader.createCanvas(canvasContext.canvas.width, canvasContext.canvas.height);\n        this.buffers.push(bufferCanvas);\n        var bufferCanvas2 = assetLoader.createCanvas(canvasContext.canvas.width, canvasContext.canvas.height);\n        this.buffers.push(bufferCanvas2);\n\n        if (this.data.tt >= 3 && !document._isProxy) {\n          assetLoader.loadLumaCanvas();\n        }\n      }\n\n      this.canvasContext = this.globalData.canvasContext;\n      this.transformCanvas = this.globalData.transformCanvas;\n      this.renderableEffectsManager = new CVEffects(this);\n      this.searchEffectTransforms();\n    },\n    createContent: function createContent() {},\n    setBlendMode: function setBlendMode() {\n      var globalData = this.globalData;\n\n      if (globalData.blendMode !== this.data.bm) {\n        globalData.blendMode = this.data.bm;\n        var blendModeValue = getBlendMode(this.data.bm);\n        globalData.canvasContext.globalCompositeOperation = blendModeValue;\n      }\n    },\n    createRenderableComponents: function createRenderableComponents() {\n      this.maskManager = new CVMaskElement(this.data, this);\n      this.transformEffects = this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);\n    },\n    hideElement: function hideElement() {\n      if (!this.hidden && (!this.isInRange || this.isTransparent)) {\n        this.hidden = true;\n      }\n    },\n    showElement: function showElement() {\n      if (this.isInRange && !this.isTransparent) {\n        this.hidden = false;\n        this._isFirstFrame = true;\n        this.maskManager._isFirstFrame = true;\n      }\n    },\n    clearCanvas: function clearCanvas(canvasContext) {\n      canvasContext.clearRect(this.transformCanvas.tx, this.transformCanvas.ty, this.transformCanvas.w * this.transformCanvas.sx, this.transformCanvas.h * this.transformCanvas.sy);\n    },\n    prepareLayer: function prepareLayer() {\n      if (this.data.tt >= 1) {\n        var buffer = this.buffers[0];\n        var bufferCtx = buffer.getContext('2d');\n        this.clearCanvas(bufferCtx); // on the first buffer we store the current state of the global drawing\n\n        bufferCtx.drawImage(this.canvasContext.canvas, 0, 0); // The next four lines are to clear the canvas\n        // TODO: Check if there is a way to clear the canvas without resetting the transform\n\n        this.currentTransform = this.canvasContext.getTransform();\n        this.canvasContext.setTransform(1, 0, 0, 1, 0, 0);\n        this.clearCanvas(this.canvasContext);\n        this.canvasContext.setTransform(this.currentTransform);\n      }\n    },\n    exitLayer: function exitLayer() {\n      if (this.data.tt >= 1) {\n        var buffer = this.buffers[1]; // On the second buffer we store the current state of the global drawing\n        // that only contains the content of this layer\n        // (if it is a composition, it also includes the nested layers)\n\n        var bufferCtx = buffer.getContext('2d');\n        this.clearCanvas(bufferCtx);\n        bufferCtx.drawImage(this.canvasContext.canvas, 0, 0); // We clear the canvas again\n\n        this.canvasContext.setTransform(1, 0, 0, 1, 0, 0);\n        this.clearCanvas(this.canvasContext);\n        this.canvasContext.setTransform(this.currentTransform); // We draw the mask\n\n        var mask = this.comp.getElementById('tp' in this.data ? this.data.tp : this.data.ind - 1);\n        mask.renderFrame(true); // We draw the second buffer (that contains the content of this layer)\n\n        this.canvasContext.setTransform(1, 0, 0, 1, 0, 0); // If the mask is a Luma matte, we need to do two extra painting operations\n        // the _isProxy check is to avoid drawing a fake canvas in workers that will throw an error\n\n        if (this.data.tt >= 3 && !document._isProxy) {\n          // We copy the painted mask to a buffer that has a color matrix filter applied to it\n          // that applies the rgb values to the alpha channel\n          var lumaBuffer = assetLoader.getLumaCanvas(this.canvasContext.canvas);\n          var lumaBufferCtx = lumaBuffer.getContext('2d');\n          lumaBufferCtx.drawImage(this.canvasContext.canvas, 0, 0);\n          this.clearCanvas(this.canvasContext); // we repaint the context with the mask applied to it\n\n          this.canvasContext.drawImage(lumaBuffer, 0, 0);\n        }\n\n        this.canvasContext.globalCompositeOperation = operationsMap[this.data.tt];\n        this.canvasContext.drawImage(buffer, 0, 0); // We finally draw the first buffer (that contains the content of the global drawing)\n        // We use destination-over to draw the global drawing below the current layer\n\n        this.canvasContext.globalCompositeOperation = 'destination-over';\n        this.canvasContext.drawImage(this.buffers[0], 0, 0);\n        this.canvasContext.setTransform(this.currentTransform); // We reset the globalCompositeOperation to source-over, the standard type of operation\n\n        this.canvasContext.globalCompositeOperation = 'source-over';\n      }\n    },\n    renderFrame: function renderFrame(forceRender) {\n      if (this.hidden || this.data.hd) {\n        return;\n      }\n\n      if (this.data.td === 1 && !forceRender) {\n        return;\n      }\n\n      this.renderTransform();\n      this.renderRenderable();\n      this.renderLocalTransform();\n      this.setBlendMode();\n      var forceRealStack = this.data.ty === 0;\n      this.prepareLayer();\n      this.globalData.renderer.save(forceRealStack);\n      this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props);\n      this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity);\n      this.renderInnerContent();\n      this.globalData.renderer.restore(forceRealStack);\n      this.exitLayer();\n\n      if (this.maskManager.hasMasks) {\n        this.globalData.renderer.restore(true);\n      }\n\n      if (this._isFirstFrame) {\n        this._isFirstFrame = false;\n      }\n    },\n    destroy: function destroy() {\n      this.canvasContext = null;\n      this.data = null;\n      this.globalData = null;\n      this.maskManager.destroy();\n    },\n    mHelper: new Matrix()\n  };\n  CVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement;\n  CVBaseElement.prototype.show = CVBaseElement.prototype.showElement;\n\n  function CVShapeData(element, data, styles, transformsManager) {\n    this.styledShapes = [];\n    this.tr = [0, 0, 0, 0, 0, 0];\n    var ty = 4;\n\n    if (data.ty === 'rc') {\n      ty = 5;\n    } else if (data.ty === 'el') {\n      ty = 6;\n    } else if (data.ty === 'sr') {\n      ty = 7;\n    }\n\n    this.sh = ShapePropertyFactory.getShapeProp(element, data, ty, element);\n    var i;\n    var len = styles.length;\n    var styledShape;\n\n    for (i = 0; i < len; i += 1) {\n      if (!styles[i].closed) {\n        styledShape = {\n          transforms: transformsManager.addTransformSequence(styles[i].transforms),\n          trNodes: []\n        };\n        this.styledShapes.push(styledShape);\n        styles[i].elements.push(styledShape);\n      }\n    }\n  }\n\n  CVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated;\n\n  function CVShapeElement(data, globalData, comp) {\n    this.shapes = [];\n    this.shapesData = data.shapes;\n    this.stylesList = [];\n    this.itemsData = [];\n    this.prevViewData = [];\n    this.shapeModifiers = [];\n    this.processedElements = [];\n    this.transformsManager = new ShapeTransformManager();\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableElement], CVShapeElement);\n  CVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement;\n  CVShapeElement.prototype.transformHelper = {\n    opacity: 1,\n    _opMdf: false\n  };\n  CVShapeElement.prototype.dashResetter = [];\n\n  CVShapeElement.prototype.createContent = function () {\n    this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, true, []);\n  };\n\n  CVShapeElement.prototype.createStyleElement = function (data, transforms) {\n    var styleElem = {\n      data: data,\n      type: data.ty,\n      preTransforms: this.transformsManager.addTransformSequence(transforms),\n      transforms: [],\n      elements: [],\n      closed: data.hd === true\n    };\n    var elementData = {};\n\n    if (data.ty === 'fl' || data.ty === 'st') {\n      elementData.c = PropertyFactory.getProp(this, data.c, 1, 255, this);\n\n      if (!elementData.c.k) {\n        styleElem.co = 'rgb(' + bmFloor(elementData.c.v[0]) + ',' + bmFloor(elementData.c.v[1]) + ',' + bmFloor(elementData.c.v[2]) + ')';\n      }\n    } else if (data.ty === 'gf' || data.ty === 'gs') {\n      elementData.s = PropertyFactory.getProp(this, data.s, 1, null, this);\n      elementData.e = PropertyFactory.getProp(this, data.e, 1, null, this);\n      elementData.h = PropertyFactory.getProp(this, data.h || {\n        k: 0\n      }, 0, 0.01, this);\n      elementData.a = PropertyFactory.getProp(this, data.a || {\n        k: 0\n      }, 0, degToRads, this);\n      elementData.g = new GradientProperty(this, data.g, this);\n    }\n\n    elementData.o = PropertyFactory.getProp(this, data.o, 0, 0.01, this);\n\n    if (data.ty === 'st' || data.ty === 'gs') {\n      styleElem.lc = lineCapEnum[data.lc || 2];\n      styleElem.lj = lineJoinEnum[data.lj || 2];\n\n      if (data.lj == 1) {\n        // eslint-disable-line eqeqeq\n        styleElem.ml = data.ml;\n      }\n\n      elementData.w = PropertyFactory.getProp(this, data.w, 0, null, this);\n\n      if (!elementData.w.k) {\n        styleElem.wi = elementData.w.v;\n      }\n\n      if (data.d) {\n        var d = new DashProperty(this, data.d, 'canvas', this);\n        elementData.d = d;\n\n        if (!elementData.d.k) {\n          styleElem.da = elementData.d.dashArray;\n          styleElem[\"do\"] = elementData.d.dashoffset[0];\n        }\n      }\n    } else {\n      styleElem.r = data.r === 2 ? 'evenodd' : 'nonzero';\n    }\n\n    this.stylesList.push(styleElem);\n    elementData.style = styleElem;\n    return elementData;\n  };\n\n  CVShapeElement.prototype.createGroupElement = function () {\n    var elementData = {\n      it: [],\n      prevViewData: []\n    };\n    return elementData;\n  };\n\n  CVShapeElement.prototype.createTransformElement = function (data) {\n    var elementData = {\n      transform: {\n        opacity: 1,\n        _opMdf: false,\n        key: this.transformsManager.getNewKey(),\n        op: PropertyFactory.getProp(this, data.o, 0, 0.01, this),\n        mProps: TransformPropertyFactory.getTransformProperty(this, data, this)\n      }\n    };\n    return elementData;\n  };\n\n  CVShapeElement.prototype.createShapeElement = function (data) {\n    var elementData = new CVShapeData(this, data, this.stylesList, this.transformsManager);\n    this.shapes.push(elementData);\n    this.addShapeToModifiers(elementData);\n    return elementData;\n  };\n\n  CVShapeElement.prototype.reloadShapes = function () {\n    this._isFirstFrame = true;\n    var i;\n    var len = this.itemsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      this.prevViewData[i] = this.itemsData[i];\n    }\n\n    this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, true, []);\n    len = this.dynamicProperties.length;\n\n    for (i = 0; i < len; i += 1) {\n      this.dynamicProperties[i].getValue();\n    }\n\n    this.renderModifiers();\n    this.transformsManager.processSequences(this._isFirstFrame);\n  };\n\n  CVShapeElement.prototype.addTransformToStyleList = function (transform) {\n    var i;\n    var len = this.stylesList.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (!this.stylesList[i].closed) {\n        this.stylesList[i].transforms.push(transform);\n      }\n    }\n  };\n\n  CVShapeElement.prototype.removeTransformFromStyleList = function () {\n    var i;\n    var len = this.stylesList.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (!this.stylesList[i].closed) {\n        this.stylesList[i].transforms.pop();\n      }\n    }\n  };\n\n  CVShapeElement.prototype.closeStyles = function (styles) {\n    var i;\n    var len = styles.length;\n\n    for (i = 0; i < len; i += 1) {\n      styles[i].closed = true;\n    }\n  };\n\n  CVShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, shouldRender, transforms) {\n    var i;\n    var len = arr.length - 1;\n    var j;\n    var jLen;\n    var ownStyles = [];\n    var ownModifiers = [];\n    var processedPos;\n    var modifier;\n    var currentTransform;\n    var ownTransforms = [].concat(transforms);\n\n    for (i = len; i >= 0; i -= 1) {\n      processedPos = this.searchProcessedElement(arr[i]);\n\n      if (!processedPos) {\n        arr[i]._shouldRender = shouldRender;\n      } else {\n        itemsData[i] = prevViewData[processedPos - 1];\n      }\n\n      if (arr[i].ty === 'fl' || arr[i].ty === 'st' || arr[i].ty === 'gf' || arr[i].ty === 'gs') {\n        if (!processedPos) {\n          itemsData[i] = this.createStyleElement(arr[i], ownTransforms);\n        } else {\n          itemsData[i].style.closed = false;\n        }\n\n        ownStyles.push(itemsData[i].style);\n      } else if (arr[i].ty === 'gr') {\n        if (!processedPos) {\n          itemsData[i] = this.createGroupElement(arr[i]);\n        } else {\n          jLen = itemsData[i].it.length;\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsData[i].prevViewData[j] = itemsData[i].it[j];\n          }\n        }\n\n        this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, shouldRender, ownTransforms);\n      } else if (arr[i].ty === 'tr') {\n        if (!processedPos) {\n          currentTransform = this.createTransformElement(arr[i]);\n          itemsData[i] = currentTransform;\n        }\n\n        ownTransforms.push(itemsData[i]);\n        this.addTransformToStyleList(itemsData[i]);\n      } else if (arr[i].ty === 'sh' || arr[i].ty === 'rc' || arr[i].ty === 'el' || arr[i].ty === 'sr') {\n        if (!processedPos) {\n          itemsData[i] = this.createShapeElement(arr[i]);\n        }\n      } else if (arr[i].ty === 'tm' || arr[i].ty === 'rd' || arr[i].ty === 'pb' || arr[i].ty === 'zz' || arr[i].ty === 'op') {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          modifier.init(this, arr[i]);\n          itemsData[i] = modifier;\n          this.shapeModifiers.push(modifier);\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = false;\n        }\n\n        ownModifiers.push(modifier);\n      } else if (arr[i].ty === 'rp') {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          itemsData[i] = modifier;\n          modifier.init(this, arr, i, itemsData);\n          this.shapeModifiers.push(modifier);\n          shouldRender = false;\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = true;\n        }\n\n        ownModifiers.push(modifier);\n      }\n\n      this.addProcessedElement(arr[i], i + 1);\n    }\n\n    this.removeTransformFromStyleList();\n    this.closeStyles(ownStyles);\n    len = ownModifiers.length;\n\n    for (i = 0; i < len; i += 1) {\n      ownModifiers[i].closed = true;\n    }\n  };\n\n  CVShapeElement.prototype.renderInnerContent = function () {\n    this.transformHelper.opacity = 1;\n    this.transformHelper._opMdf = false;\n    this.renderModifiers();\n    this.transformsManager.processSequences(this._isFirstFrame);\n    this.renderShape(this.transformHelper, this.shapesData, this.itemsData, true);\n  };\n\n  CVShapeElement.prototype.renderShapeTransform = function (parentTransform, groupTransform) {\n    if (parentTransform._opMdf || groupTransform.op._mdf || this._isFirstFrame) {\n      groupTransform.opacity = parentTransform.opacity;\n      groupTransform.opacity *= groupTransform.op.v;\n      groupTransform._opMdf = true;\n    }\n  };\n\n  CVShapeElement.prototype.drawLayer = function () {\n    var i;\n    var len = this.stylesList.length;\n    var j;\n    var jLen;\n    var k;\n    var kLen;\n    var elems;\n    var nodes;\n    var renderer = this.globalData.renderer;\n    var ctx = this.globalData.canvasContext;\n    var type;\n    var currentStyle;\n\n    for (i = 0; i < len; i += 1) {\n      currentStyle = this.stylesList[i];\n      type = currentStyle.type; // Skipping style when\n      // Stroke width equals 0\n      // style should not be rendered (extra unused repeaters)\n      // current opacity equals 0\n      // global opacity equals 0\n\n      if (!((type === 'st' || type === 'gs') && currentStyle.wi === 0 || !currentStyle.data._shouldRender || currentStyle.coOp === 0 || this.globalData.currentGlobalAlpha === 0)) {\n        renderer.save();\n        elems = currentStyle.elements;\n\n        if (type === 'st' || type === 'gs') {\n          renderer.ctxStrokeStyle(type === 'st' ? currentStyle.co : currentStyle.grd); // ctx.strokeStyle = type === 'st' ? currentStyle.co : currentStyle.grd;\n\n          renderer.ctxLineWidth(currentStyle.wi); // ctx.lineWidth = currentStyle.wi;\n\n          renderer.ctxLineCap(currentStyle.lc); // ctx.lineCap = currentStyle.lc;\n\n          renderer.ctxLineJoin(currentStyle.lj); // ctx.lineJoin = currentStyle.lj;\n\n          renderer.ctxMiterLimit(currentStyle.ml || 0); // ctx.miterLimit = currentStyle.ml || 0;\n        } else {\n          renderer.ctxFillStyle(type === 'fl' ? currentStyle.co : currentStyle.grd); // ctx.fillStyle = type === 'fl' ? currentStyle.co : currentStyle.grd;\n        }\n\n        renderer.ctxOpacity(currentStyle.coOp);\n\n        if (type !== 'st' && type !== 'gs') {\n          ctx.beginPath();\n        }\n\n        renderer.ctxTransform(currentStyle.preTransforms.finalTransform.props);\n        jLen = elems.length;\n\n        for (j = 0; j < jLen; j += 1) {\n          if (type === 'st' || type === 'gs') {\n            ctx.beginPath();\n\n            if (currentStyle.da) {\n              ctx.setLineDash(currentStyle.da);\n              ctx.lineDashOffset = currentStyle[\"do\"];\n            }\n          }\n\n          nodes = elems[j].trNodes;\n          kLen = nodes.length;\n\n          for (k = 0; k < kLen; k += 1) {\n            if (nodes[k].t === 'm') {\n              ctx.moveTo(nodes[k].p[0], nodes[k].p[1]);\n            } else if (nodes[k].t === 'c') {\n              ctx.bezierCurveTo(nodes[k].pts[0], nodes[k].pts[1], nodes[k].pts[2], nodes[k].pts[3], nodes[k].pts[4], nodes[k].pts[5]);\n            } else {\n              ctx.closePath();\n            }\n          }\n\n          if (type === 'st' || type === 'gs') {\n            // ctx.stroke();\n            renderer.ctxStroke();\n\n            if (currentStyle.da) {\n              ctx.setLineDash(this.dashResetter);\n            }\n          }\n        }\n\n        if (type !== 'st' && type !== 'gs') {\n          // ctx.fill(currentStyle.r);\n          this.globalData.renderer.ctxFill(currentStyle.r);\n        }\n\n        renderer.restore();\n      }\n    }\n  };\n\n  CVShapeElement.prototype.renderShape = function (parentTransform, items, data, isMain) {\n    var i;\n    var len = items.length - 1;\n    var groupTransform;\n    groupTransform = parentTransform;\n\n    for (i = len; i >= 0; i -= 1) {\n      if (items[i].ty === 'tr') {\n        groupTransform = data[i].transform;\n        this.renderShapeTransform(parentTransform, groupTransform);\n      } else if (items[i].ty === 'sh' || items[i].ty === 'el' || items[i].ty === 'rc' || items[i].ty === 'sr') {\n        this.renderPath(items[i], data[i]);\n      } else if (items[i].ty === 'fl') {\n        this.renderFill(items[i], data[i], groupTransform);\n      } else if (items[i].ty === 'st') {\n        this.renderStroke(items[i], data[i], groupTransform);\n      } else if (items[i].ty === 'gf' || items[i].ty === 'gs') {\n        this.renderGradientFill(items[i], data[i], groupTransform);\n      } else if (items[i].ty === 'gr') {\n        this.renderShape(groupTransform, items[i].it, data[i].it);\n      } else if (items[i].ty === 'tm') {//\n      }\n    }\n\n    if (isMain) {\n      this.drawLayer();\n    }\n  };\n\n  CVShapeElement.prototype.renderStyledShape = function (styledShape, shape) {\n    if (this._isFirstFrame || shape._mdf || styledShape.transforms._mdf) {\n      var shapeNodes = styledShape.trNodes;\n      var paths = shape.paths;\n      var i;\n      var len;\n      var j;\n      var jLen = paths._length;\n      shapeNodes.length = 0;\n      var groupTransformMat = styledShape.transforms.finalTransform;\n\n      for (j = 0; j < jLen; j += 1) {\n        var pathNodes = paths.shapes[j];\n\n        if (pathNodes && pathNodes.v) {\n          len = pathNodes._length;\n\n          for (i = 1; i < len; i += 1) {\n            if (i === 1) {\n              shapeNodes.push({\n                t: 'm',\n                p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n              });\n            }\n\n            shapeNodes.push({\n              t: 'c',\n              pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[i], pathNodes.v[i])\n            });\n          }\n\n          if (len === 1) {\n            shapeNodes.push({\n              t: 'm',\n              p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n            });\n          }\n\n          if (pathNodes.c && len) {\n            shapeNodes.push({\n              t: 'c',\n              pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[0], pathNodes.v[0])\n            });\n            shapeNodes.push({\n              t: 'z'\n            });\n          }\n        }\n      }\n\n      styledShape.trNodes = shapeNodes;\n    }\n  };\n\n  CVShapeElement.prototype.renderPath = function (pathData, itemData) {\n    if (pathData.hd !== true && pathData._shouldRender) {\n      var i;\n      var len = itemData.styledShapes.length;\n\n      for (i = 0; i < len; i += 1) {\n        this.renderStyledShape(itemData.styledShapes[i], itemData.sh);\n      }\n    }\n  };\n\n  CVShapeElement.prototype.renderFill = function (styleData, itemData, groupTransform) {\n    var styleElem = itemData.style;\n\n    if (itemData.c._mdf || this._isFirstFrame) {\n      styleElem.co = 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')';\n    }\n\n    if (itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame) {\n      styleElem.coOp = itemData.o.v * groupTransform.opacity;\n    }\n  };\n\n  CVShapeElement.prototype.renderGradientFill = function (styleData, itemData, groupTransform) {\n    var styleElem = itemData.style;\n    var grd;\n\n    if (!styleElem.grd || itemData.g._mdf || itemData.s._mdf || itemData.e._mdf || styleData.t !== 1 && (itemData.h._mdf || itemData.a._mdf)) {\n      var ctx = this.globalData.canvasContext;\n      var pt1 = itemData.s.v;\n      var pt2 = itemData.e.v;\n\n      if (styleData.t === 1) {\n        grd = ctx.createLinearGradient(pt1[0], pt1[1], pt2[0], pt2[1]);\n      } else {\n        var rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n        var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n        var percent = itemData.h.v;\n\n        if (percent >= 1) {\n          percent = 0.99;\n        } else if (percent <= -1) {\n          percent = -0.99;\n        }\n\n        var dist = rad * percent;\n        var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n        var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n        grd = ctx.createRadialGradient(x, y, 0, pt1[0], pt1[1], rad);\n      }\n\n      var i;\n      var len = styleData.g.p;\n      var cValues = itemData.g.c;\n      var opacity = 1;\n\n      for (i = 0; i < len; i += 1) {\n        if (itemData.g._hasOpacity && itemData.g._collapsable) {\n          opacity = itemData.g.o[i * 2 + 1];\n        }\n\n        grd.addColorStop(cValues[i * 4] / 100, 'rgba(' + cValues[i * 4 + 1] + ',' + cValues[i * 4 + 2] + ',' + cValues[i * 4 + 3] + ',' + opacity + ')');\n      }\n\n      styleElem.grd = grd;\n    }\n\n    styleElem.coOp = itemData.o.v * groupTransform.opacity;\n  };\n\n  CVShapeElement.prototype.renderStroke = function (styleData, itemData, groupTransform) {\n    var styleElem = itemData.style;\n    var d = itemData.d;\n\n    if (d && (d._mdf || this._isFirstFrame)) {\n      styleElem.da = d.dashArray;\n      styleElem[\"do\"] = d.dashoffset[0];\n    }\n\n    if (itemData.c._mdf || this._isFirstFrame) {\n      styleElem.co = 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')';\n    }\n\n    if (itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame) {\n      styleElem.coOp = itemData.o.v * groupTransform.opacity;\n    }\n\n    if (itemData.w._mdf || this._isFirstFrame) {\n      styleElem.wi = itemData.w.v;\n    }\n  };\n\n  CVShapeElement.prototype.destroy = function () {\n    this.shapesData = null;\n    this.globalData = null;\n    this.canvasContext = null;\n    this.stylesList.length = 0;\n    this.itemsData.length = 0;\n  };\n\n  function CVTextElement(data, globalData, comp) {\n    this.textSpans = [];\n    this.yOffset = 0;\n    this.fillColorAnim = false;\n    this.strokeColorAnim = false;\n    this.strokeWidthAnim = false;\n    this.stroke = false;\n    this.fill = false;\n    this.justifyOffset = 0;\n    this.currentRender = null;\n    this.renderType = 'canvas';\n    this.values = {\n      fill: 'rgba(0,0,0,0)',\n      stroke: 'rgba(0,0,0,0)',\n      sWidth: 0,\n      fValue: ''\n    };\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement, ITextElement], CVTextElement);\n  CVTextElement.prototype.tHelper = createTag('canvas').getContext('2d');\n\n  CVTextElement.prototype.buildNewText = function () {\n    var documentData = this.textProperty.currentData;\n    this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n    var hasFill = false;\n\n    if (documentData.fc) {\n      hasFill = true;\n      this.values.fill = this.buildColor(documentData.fc);\n    } else {\n      this.values.fill = 'rgba(0,0,0,0)';\n    }\n\n    this.fill = hasFill;\n    var hasStroke = false;\n\n    if (documentData.sc) {\n      hasStroke = true;\n      this.values.stroke = this.buildColor(documentData.sc);\n      this.values.sWidth = documentData.sw;\n    }\n\n    var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n    var i;\n    var len;\n    var letters = documentData.l;\n    var matrixHelper = this.mHelper;\n    this.stroke = hasStroke;\n    this.values.fValue = documentData.finalSize + 'px ' + this.globalData.fontManager.getFontByName(documentData.f).fFamily;\n    len = documentData.finalText.length; // this.tHelper.font = this.values.fValue;\n\n    var charData;\n    var shapeData;\n    var k;\n    var kLen;\n    var shapes;\n    var j;\n    var jLen;\n    var pathNodes;\n    var commands;\n    var pathArr;\n    var singleShape = this.data.singleShape;\n    var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n    var xPos = 0;\n    var yPos = 0;\n    var firstLine = true;\n    var cnt = 0;\n\n    for (i = 0; i < len; i += 1) {\n      charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\n      shapeData = charData && charData.data || {};\n      matrixHelper.reset();\n\n      if (singleShape && letters[i].n) {\n        xPos = -trackingOffset;\n        yPos += documentData.yOffset;\n        yPos += firstLine ? 1 : 0;\n        firstLine = false;\n      }\n\n      shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\n      jLen = shapes.length;\n      matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n\n      if (singleShape) {\n        this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n      }\n\n      commands = createSizedArray(jLen - 1);\n      var commandsCounter = 0;\n\n      for (j = 0; j < jLen; j += 1) {\n        if (shapes[j].ty === 'sh') {\n          kLen = shapes[j].ks.k.i.length;\n          pathNodes = shapes[j].ks.k;\n          pathArr = [];\n\n          for (k = 1; k < kLen; k += 1) {\n            if (k === 1) {\n              pathArr.push(matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n            }\n\n            pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToY(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToX(pathNodes.v[k][0], pathNodes.v[k][1], 0), matrixHelper.applyToY(pathNodes.v[k][0], pathNodes.v[k][1], 0));\n          }\n\n          pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToY(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n          commands[commandsCounter] = pathArr;\n          commandsCounter += 1;\n        }\n      }\n\n      if (singleShape) {\n        xPos += letters[i].l;\n        xPos += trackingOffset;\n      }\n\n      if (this.textSpans[cnt]) {\n        this.textSpans[cnt].elem = commands;\n      } else {\n        this.textSpans[cnt] = {\n          elem: commands\n        };\n      }\n\n      cnt += 1;\n    }\n  };\n\n  CVTextElement.prototype.renderInnerContent = function () {\n    this.validateText();\n    var ctx = this.canvasContext;\n    ctx.font = this.values.fValue;\n    this.globalData.renderer.ctxLineCap('butt'); // ctx.lineCap = 'butt';\n\n    this.globalData.renderer.ctxLineJoin('miter'); // ctx.lineJoin = 'miter';\n\n    this.globalData.renderer.ctxMiterLimit(4); // ctx.miterLimit = 4;\n\n    if (!this.data.singleShape) {\n      this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n    }\n\n    var i;\n    var len;\n    var j;\n    var jLen;\n    var k;\n    var kLen;\n    var renderedLetters = this.textAnimator.renderedLetters;\n    var letters = this.textProperty.currentData.l;\n    len = letters.length;\n    var renderedLetter;\n    var lastFill = null;\n    var lastStroke = null;\n    var lastStrokeW = null;\n    var commands;\n    var pathArr;\n    var renderer = this.globalData.renderer;\n\n    for (i = 0; i < len; i += 1) {\n      if (!letters[i].n) {\n        renderedLetter = renderedLetters[i];\n\n        if (renderedLetter) {\n          renderer.save();\n          renderer.ctxTransform(renderedLetter.p);\n          renderer.ctxOpacity(renderedLetter.o);\n        }\n\n        if (this.fill) {\n          if (renderedLetter && renderedLetter.fc) {\n            if (lastFill !== renderedLetter.fc) {\n              renderer.ctxFillStyle(renderedLetter.fc);\n              lastFill = renderedLetter.fc; // ctx.fillStyle = renderedLetter.fc;\n            }\n          } else if (lastFill !== this.values.fill) {\n            lastFill = this.values.fill;\n            renderer.ctxFillStyle(this.values.fill); // ctx.fillStyle = this.values.fill;\n          }\n\n          commands = this.textSpans[i].elem;\n          jLen = commands.length;\n          this.globalData.canvasContext.beginPath();\n\n          for (j = 0; j < jLen; j += 1) {\n            pathArr = commands[j];\n            kLen = pathArr.length;\n            this.globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n            for (k = 2; k < kLen; k += 6) {\n              this.globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n            }\n          }\n\n          this.globalData.canvasContext.closePath();\n          renderer.ctxFill(); // this.globalData.canvasContext.fill();\n          /// ctx.fillText(this.textSpans[i].val,0,0);\n        }\n\n        if (this.stroke) {\n          if (renderedLetter && renderedLetter.sw) {\n            if (lastStrokeW !== renderedLetter.sw) {\n              lastStrokeW = renderedLetter.sw;\n              renderer.ctxLineWidth(renderedLetter.sw); // ctx.lineWidth = renderedLetter.sw;\n            }\n          } else if (lastStrokeW !== this.values.sWidth) {\n            lastStrokeW = this.values.sWidth;\n            renderer.ctxLineWidth(this.values.sWidth); // ctx.lineWidth = this.values.sWidth;\n          }\n\n          if (renderedLetter && renderedLetter.sc) {\n            if (lastStroke !== renderedLetter.sc) {\n              lastStroke = renderedLetter.sc;\n              renderer.ctxStrokeStyle(renderedLetter.sc); // ctx.strokeStyle = renderedLetter.sc;\n            }\n          } else if (lastStroke !== this.values.stroke) {\n            lastStroke = this.values.stroke;\n            renderer.ctxStrokeStyle(this.values.stroke); // ctx.strokeStyle = this.values.stroke;\n          }\n\n          commands = this.textSpans[i].elem;\n          jLen = commands.length;\n          this.globalData.canvasContext.beginPath();\n\n          for (j = 0; j < jLen; j += 1) {\n            pathArr = commands[j];\n            kLen = pathArr.length;\n            this.globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n            for (k = 2; k < kLen; k += 6) {\n              this.globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n            }\n          }\n\n          this.globalData.canvasContext.closePath();\n          renderer.ctxStroke(); // this.globalData.canvasContext.stroke();\n          /// ctx.strokeText(letters[i].val,0,0);\n        }\n\n        if (renderedLetter) {\n          this.globalData.renderer.restore();\n        }\n      }\n    }\n  };\n\n  function CVImageElement(data, globalData, comp) {\n    this.assetData = globalData.getAssetData(data.refId);\n    this.img = globalData.imageLoader.getAsset(this.assetData);\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVImageElement);\n  CVImageElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n  CVImageElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n  CVImageElement.prototype.createContent = function () {\n    if (this.img.width && (this.assetData.w !== this.img.width || this.assetData.h !== this.img.height)) {\n      var canvas = createTag('canvas');\n      canvas.width = this.assetData.w;\n      canvas.height = this.assetData.h;\n      var ctx = canvas.getContext('2d');\n      var imgW = this.img.width;\n      var imgH = this.img.height;\n      var imgRel = imgW / imgH;\n      var canvasRel = this.assetData.w / this.assetData.h;\n      var widthCrop;\n      var heightCrop;\n      var par = this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio;\n\n      if (imgRel > canvasRel && par === 'xMidYMid slice' || imgRel < canvasRel && par !== 'xMidYMid slice') {\n        heightCrop = imgH;\n        widthCrop = heightCrop * canvasRel;\n      } else {\n        widthCrop = imgW;\n        heightCrop = widthCrop / canvasRel;\n      }\n\n      ctx.drawImage(this.img, (imgW - widthCrop) / 2, (imgH - heightCrop) / 2, widthCrop, heightCrop, 0, 0, this.assetData.w, this.assetData.h);\n      this.img = canvas;\n    }\n  };\n\n  CVImageElement.prototype.renderInnerContent = function () {\n    this.canvasContext.drawImage(this.img, 0, 0);\n  };\n\n  CVImageElement.prototype.destroy = function () {\n    this.img = null;\n  };\n\n  function CVSolidElement(data, globalData, comp) {\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement);\n  CVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n  CVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n  CVSolidElement.prototype.renderInnerContent = function () {\n    // var ctx = this.canvasContext;\n    this.globalData.renderer.ctxFillStyle(this.data.sc); // ctx.fillStyle = this.data.sc;\n\n    this.globalData.renderer.ctxFillRect(0, 0, this.data.sw, this.data.sh); // ctx.fillRect(0, 0, this.data.sw, this.data.sh);\n    //\n  };\n\n  function CanvasRendererBase() {}\n\n  extendPrototype([BaseRenderer], CanvasRendererBase);\n\n  CanvasRendererBase.prototype.createShape = function (data) {\n    return new CVShapeElement(data, this.globalData, this);\n  };\n\n  CanvasRendererBase.prototype.createText = function (data) {\n    return new CVTextElement(data, this.globalData, this);\n  };\n\n  CanvasRendererBase.prototype.createImage = function (data) {\n    return new CVImageElement(data, this.globalData, this);\n  };\n\n  CanvasRendererBase.prototype.createSolid = function (data) {\n    return new CVSolidElement(data, this.globalData, this);\n  };\n\n  CanvasRendererBase.prototype.createNull = SVGRenderer.prototype.createNull;\n\n  CanvasRendererBase.prototype.ctxTransform = function (props) {\n    if (props[0] === 1 && props[1] === 0 && props[4] === 0 && props[5] === 1 && props[12] === 0 && props[13] === 0) {\n      return;\n    }\n\n    this.canvasContext.transform(props[0], props[1], props[4], props[5], props[12], props[13]);\n  };\n\n  CanvasRendererBase.prototype.ctxOpacity = function (op) {\n    this.canvasContext.globalAlpha *= op < 0 ? 0 : op;\n  };\n\n  CanvasRendererBase.prototype.ctxFillStyle = function (value) {\n    this.canvasContext.fillStyle = value;\n  };\n\n  CanvasRendererBase.prototype.ctxStrokeStyle = function (value) {\n    this.canvasContext.strokeStyle = value;\n  };\n\n  CanvasRendererBase.prototype.ctxLineWidth = function (value) {\n    this.canvasContext.lineWidth = value;\n  };\n\n  CanvasRendererBase.prototype.ctxLineCap = function (value) {\n    this.canvasContext.lineCap = value;\n  };\n\n  CanvasRendererBase.prototype.ctxLineJoin = function (value) {\n    this.canvasContext.lineJoin = value;\n  };\n\n  CanvasRendererBase.prototype.ctxMiterLimit = function (value) {\n    this.canvasContext.miterLimit = value;\n  };\n\n  CanvasRendererBase.prototype.ctxFill = function (rule) {\n    this.canvasContext.fill(rule);\n  };\n\n  CanvasRendererBase.prototype.ctxFillRect = function (x, y, w, h) {\n    this.canvasContext.fillRect(x, y, w, h);\n  };\n\n  CanvasRendererBase.prototype.ctxStroke = function () {\n    this.canvasContext.stroke();\n  };\n\n  CanvasRendererBase.prototype.reset = function () {\n    if (!this.renderConfig.clearCanvas) {\n      this.canvasContext.restore();\n      return;\n    }\n\n    this.contextData.reset();\n  };\n\n  CanvasRendererBase.prototype.save = function () {\n    this.canvasContext.save();\n  };\n\n  CanvasRendererBase.prototype.restore = function (actionFlag) {\n    if (!this.renderConfig.clearCanvas) {\n      this.canvasContext.restore();\n      return;\n    }\n\n    if (actionFlag) {\n      this.globalData.blendMode = 'source-over';\n    }\n\n    this.contextData.restore(actionFlag);\n  };\n\n  CanvasRendererBase.prototype.configAnimation = function (animData) {\n    if (this.animationItem.wrapper) {\n      this.animationItem.container = createTag('canvas');\n      var containerStyle = this.animationItem.container.style;\n      containerStyle.width = '100%';\n      containerStyle.height = '100%';\n      var origin = '0px 0px 0px';\n      containerStyle.transformOrigin = origin;\n      containerStyle.mozTransformOrigin = origin;\n      containerStyle.webkitTransformOrigin = origin;\n      containerStyle['-webkit-transform'] = origin;\n      containerStyle.contentVisibility = this.renderConfig.contentVisibility;\n      this.animationItem.wrapper.appendChild(this.animationItem.container);\n      this.canvasContext = this.animationItem.container.getContext('2d');\n\n      if (this.renderConfig.className) {\n        this.animationItem.container.setAttribute('class', this.renderConfig.className);\n      }\n\n      if (this.renderConfig.id) {\n        this.animationItem.container.setAttribute('id', this.renderConfig.id);\n      }\n    } else {\n      this.canvasContext = this.renderConfig.context;\n    }\n\n    this.contextData.setContext(this.canvasContext);\n    this.data = animData;\n    this.layers = animData.layers;\n    this.transformCanvas = {\n      w: animData.w,\n      h: animData.h,\n      sx: 0,\n      sy: 0,\n      tx: 0,\n      ty: 0\n    };\n    this.setupGlobalData(animData, document.body);\n    this.globalData.canvasContext = this.canvasContext;\n    this.globalData.renderer = this;\n    this.globalData.isDashed = false;\n    this.globalData.progressiveLoad = this.renderConfig.progressiveLoad;\n    this.globalData.transformCanvas = this.transformCanvas;\n    this.elements = createSizedArray(animData.layers.length);\n    this.updateContainerSize();\n  };\n\n  CanvasRendererBase.prototype.updateContainerSize = function (width, height) {\n    this.reset();\n    var elementWidth;\n    var elementHeight;\n\n    if (width) {\n      elementWidth = width;\n      elementHeight = height;\n      this.canvasContext.canvas.width = elementWidth;\n      this.canvasContext.canvas.height = elementHeight;\n    } else {\n      if (this.animationItem.wrapper && this.animationItem.container) {\n        elementWidth = this.animationItem.wrapper.offsetWidth;\n        elementHeight = this.animationItem.wrapper.offsetHeight;\n      } else {\n        elementWidth = this.canvasContext.canvas.width;\n        elementHeight = this.canvasContext.canvas.height;\n      }\n\n      this.canvasContext.canvas.width = elementWidth * this.renderConfig.dpr;\n      this.canvasContext.canvas.height = elementHeight * this.renderConfig.dpr;\n    }\n\n    var elementRel;\n    var animationRel;\n\n    if (this.renderConfig.preserveAspectRatio.indexOf('meet') !== -1 || this.renderConfig.preserveAspectRatio.indexOf('slice') !== -1) {\n      var par = this.renderConfig.preserveAspectRatio.split(' ');\n      var fillType = par[1] || 'meet';\n      var pos = par[0] || 'xMidYMid';\n      var xPos = pos.substr(0, 4);\n      var yPos = pos.substr(4);\n      elementRel = elementWidth / elementHeight;\n      animationRel = this.transformCanvas.w / this.transformCanvas.h;\n\n      if (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice') {\n        this.transformCanvas.sx = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n        this.transformCanvas.sy = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n      } else {\n        this.transformCanvas.sx = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n        this.transformCanvas.sy = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n      }\n\n      if (xPos === 'xMid' && (animationRel < elementRel && fillType === 'meet' || animationRel > elementRel && fillType === 'slice')) {\n        this.transformCanvas.tx = (elementWidth - this.transformCanvas.w * (elementHeight / this.transformCanvas.h)) / 2 * this.renderConfig.dpr;\n      } else if (xPos === 'xMax' && (animationRel < elementRel && fillType === 'meet' || animationRel > elementRel && fillType === 'slice')) {\n        this.transformCanvas.tx = (elementWidth - this.transformCanvas.w * (elementHeight / this.transformCanvas.h)) * this.renderConfig.dpr;\n      } else {\n        this.transformCanvas.tx = 0;\n      }\n\n      if (yPos === 'YMid' && (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice')) {\n        this.transformCanvas.ty = (elementHeight - this.transformCanvas.h * (elementWidth / this.transformCanvas.w)) / 2 * this.renderConfig.dpr;\n      } else if (yPos === 'YMax' && (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice')) {\n        this.transformCanvas.ty = (elementHeight - this.transformCanvas.h * (elementWidth / this.transformCanvas.w)) * this.renderConfig.dpr;\n      } else {\n        this.transformCanvas.ty = 0;\n      }\n    } else if (this.renderConfig.preserveAspectRatio === 'none') {\n      this.transformCanvas.sx = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n      this.transformCanvas.sy = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n      this.transformCanvas.tx = 0;\n      this.transformCanvas.ty = 0;\n    } else {\n      this.transformCanvas.sx = this.renderConfig.dpr;\n      this.transformCanvas.sy = this.renderConfig.dpr;\n      this.transformCanvas.tx = 0;\n      this.transformCanvas.ty = 0;\n    }\n\n    this.transformCanvas.props = [this.transformCanvas.sx, 0, 0, 0, 0, this.transformCanvas.sy, 0, 0, 0, 0, 1, 0, this.transformCanvas.tx, this.transformCanvas.ty, 0, 1];\n    /* var i, len = this.elements.length;\r\n      for(i=0;i<len;i+=1){\r\n          if(this.elements[i] && this.elements[i].data.ty === 0){\r\n              this.elements[i].resize(this.globalData.transformCanvas);\r\n          }\r\n      } */\n\n    this.ctxTransform(this.transformCanvas.props);\n    this.canvasContext.beginPath();\n    this.canvasContext.rect(0, 0, this.transformCanvas.w, this.transformCanvas.h);\n    this.canvasContext.closePath();\n    this.canvasContext.clip();\n    this.renderFrame(this.renderedFrame, true);\n  };\n\n  CanvasRendererBase.prototype.destroy = function () {\n    if (this.renderConfig.clearCanvas && this.animationItem.wrapper) {\n      this.animationItem.wrapper.innerText = '';\n    }\n\n    var i;\n    var len = this.layers ? this.layers.length : 0;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if (this.elements[i] && this.elements[i].destroy) {\n        this.elements[i].destroy();\n      }\n    }\n\n    this.elements.length = 0;\n    this.globalData.canvasContext = null;\n    this.animationItem.container = null;\n    this.destroyed = true;\n  };\n\n  CanvasRendererBase.prototype.renderFrame = function (num, forceRender) {\n    if (this.renderedFrame === num && this.renderConfig.clearCanvas === true && !forceRender || this.destroyed || num === -1) {\n      return;\n    }\n\n    this.renderedFrame = num;\n    this.globalData.frameNum = num - this.animationItem._isFirstFrame;\n    this.globalData.frameId += 1;\n    this.globalData._mdf = !this.renderConfig.clearCanvas || forceRender;\n    this.globalData.projectInterface.currentFrame = num; // console.log('--------');\n    // console.log('NEW: ',num);\n\n    var i;\n    var len = this.layers.length;\n\n    if (!this.completeLayers) {\n      this.checkLayers(num);\n    }\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if (this.completeLayers || this.elements[i]) {\n        this.elements[i].prepareFrame(num - this.layers[i].st);\n      }\n    }\n\n    if (this.globalData._mdf) {\n      if (this.renderConfig.clearCanvas === true) {\n        this.canvasContext.clearRect(0, 0, this.transformCanvas.w, this.transformCanvas.h);\n      } else {\n        this.save();\n      }\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        if (this.completeLayers || this.elements[i]) {\n          this.elements[i].renderFrame();\n        }\n      }\n\n      if (this.renderConfig.clearCanvas !== true) {\n        this.restore();\n      }\n    }\n  };\n\n  CanvasRendererBase.prototype.buildItem = function (pos) {\n    var elements = this.elements;\n\n    if (elements[pos] || this.layers[pos].ty === 99) {\n      return;\n    }\n\n    var element = this.createItem(this.layers[pos], this, this.globalData);\n    elements[pos] = element;\n    element.initExpressions();\n    /* if(this.layers[pos].ty === 0){\r\n          element.resize(this.globalData.transformCanvas);\r\n      } */\n  };\n\n  CanvasRendererBase.prototype.checkPendingElements = function () {\n    while (this.pendingElements.length) {\n      var element = this.pendingElements.pop();\n      element.checkParenting();\n    }\n  };\n\n  CanvasRendererBase.prototype.hide = function () {\n    this.animationItem.container.style.display = 'none';\n  };\n\n  CanvasRendererBase.prototype.show = function () {\n    this.animationItem.container.style.display = 'block';\n  };\n\n  function CanvasContext() {\n    this.opacity = -1;\n    this.transform = createTypedArray('float32', 16);\n    this.fillStyle = '';\n    this.strokeStyle = '';\n    this.lineWidth = '';\n    this.lineCap = '';\n    this.lineJoin = '';\n    this.miterLimit = '';\n    this.id = Math.random();\n  }\n\n  function CVContextData() {\n    this.stack = [];\n    this.cArrPos = 0;\n    this.cTr = new Matrix();\n    var i;\n    var len = 15;\n\n    for (i = 0; i < len; i += 1) {\n      var canvasContext = new CanvasContext();\n      this.stack[i] = canvasContext;\n    }\n\n    this._length = len;\n    this.nativeContext = null;\n    this.transformMat = new Matrix();\n    this.currentOpacity = 1; //\n\n    this.currentFillStyle = '';\n    this.appliedFillStyle = ''; //\n\n    this.currentStrokeStyle = '';\n    this.appliedStrokeStyle = ''; //\n\n    this.currentLineWidth = '';\n    this.appliedLineWidth = ''; //\n\n    this.currentLineCap = '';\n    this.appliedLineCap = ''; //\n\n    this.currentLineJoin = '';\n    this.appliedLineJoin = ''; //\n\n    this.appliedMiterLimit = '';\n    this.currentMiterLimit = '';\n  }\n\n  CVContextData.prototype.duplicate = function () {\n    var newLength = this._length * 2;\n    var i = 0;\n\n    for (i = this._length; i < newLength; i += 1) {\n      this.stack[i] = new CanvasContext();\n    }\n\n    this._length = newLength;\n  };\n\n  CVContextData.prototype.reset = function () {\n    this.cArrPos = 0;\n    this.cTr.reset();\n    this.stack[this.cArrPos].opacity = 1;\n  };\n\n  CVContextData.prototype.restore = function (forceRestore) {\n    this.cArrPos -= 1;\n    var currentContext = this.stack[this.cArrPos];\n    var transform = currentContext.transform;\n    var i;\n    var arr = this.cTr.props;\n\n    for (i = 0; i < 16; i += 1) {\n      arr[i] = transform[i];\n    }\n\n    if (forceRestore) {\n      this.nativeContext.restore();\n      var prevStack = this.stack[this.cArrPos + 1];\n      this.appliedFillStyle = prevStack.fillStyle;\n      this.appliedStrokeStyle = prevStack.strokeStyle;\n      this.appliedLineWidth = prevStack.lineWidth;\n      this.appliedLineCap = prevStack.lineCap;\n      this.appliedLineJoin = prevStack.lineJoin;\n      this.appliedMiterLimit = prevStack.miterLimit;\n    }\n\n    this.nativeContext.setTransform(transform[0], transform[1], transform[4], transform[5], transform[12], transform[13]);\n\n    if (forceRestore || currentContext.opacity !== -1 && this.currentOpacity !== currentContext.opacity) {\n      this.nativeContext.globalAlpha = currentContext.opacity;\n      this.currentOpacity = currentContext.opacity;\n    }\n\n    this.currentFillStyle = currentContext.fillStyle;\n    this.currentStrokeStyle = currentContext.strokeStyle;\n    this.currentLineWidth = currentContext.lineWidth;\n    this.currentLineCap = currentContext.lineCap;\n    this.currentLineJoin = currentContext.lineJoin;\n    this.currentMiterLimit = currentContext.miterLimit;\n  };\n\n  CVContextData.prototype.save = function (saveOnNativeFlag) {\n    if (saveOnNativeFlag) {\n      this.nativeContext.save();\n    }\n\n    var props = this.cTr.props;\n\n    if (this._length <= this.cArrPos) {\n      this.duplicate();\n    }\n\n    var currentStack = this.stack[this.cArrPos];\n    var i;\n\n    for (i = 0; i < 16; i += 1) {\n      currentStack.transform[i] = props[i];\n    }\n\n    this.cArrPos += 1;\n    var newStack = this.stack[this.cArrPos];\n    newStack.opacity = currentStack.opacity;\n    newStack.fillStyle = currentStack.fillStyle;\n    newStack.strokeStyle = currentStack.strokeStyle;\n    newStack.lineWidth = currentStack.lineWidth;\n    newStack.lineCap = currentStack.lineCap;\n    newStack.lineJoin = currentStack.lineJoin;\n    newStack.miterLimit = currentStack.miterLimit;\n  };\n\n  CVContextData.prototype.setOpacity = function (value) {\n    this.stack[this.cArrPos].opacity = value;\n  };\n\n  CVContextData.prototype.setContext = function (value) {\n    this.nativeContext = value;\n  };\n\n  CVContextData.prototype.fillStyle = function (value) {\n    if (this.stack[this.cArrPos].fillStyle !== value) {\n      this.currentFillStyle = value;\n      this.stack[this.cArrPos].fillStyle = value;\n    }\n  };\n\n  CVContextData.prototype.strokeStyle = function (value) {\n    if (this.stack[this.cArrPos].strokeStyle !== value) {\n      this.currentStrokeStyle = value;\n      this.stack[this.cArrPos].strokeStyle = value;\n    }\n  };\n\n  CVContextData.prototype.lineWidth = function (value) {\n    if (this.stack[this.cArrPos].lineWidth !== value) {\n      this.currentLineWidth = value;\n      this.stack[this.cArrPos].lineWidth = value;\n    }\n  };\n\n  CVContextData.prototype.lineCap = function (value) {\n    if (this.stack[this.cArrPos].lineCap !== value) {\n      this.currentLineCap = value;\n      this.stack[this.cArrPos].lineCap = value;\n    }\n  };\n\n  CVContextData.prototype.lineJoin = function (value) {\n    if (this.stack[this.cArrPos].lineJoin !== value) {\n      this.currentLineJoin = value;\n      this.stack[this.cArrPos].lineJoin = value;\n    }\n  };\n\n  CVContextData.prototype.miterLimit = function (value) {\n    if (this.stack[this.cArrPos].miterLimit !== value) {\n      this.currentMiterLimit = value;\n      this.stack[this.cArrPos].miterLimit = value;\n    }\n  };\n\n  CVContextData.prototype.transform = function (props) {\n    this.transformMat.cloneFromProps(props); // Taking the last transform value from the stored stack of transforms\n\n    var currentTransform = this.cTr; // Applying the last transform value after the new transform to respect the order of transformations\n\n    this.transformMat.multiply(currentTransform); // Storing the new transformed value in the stored transform\n\n    currentTransform.cloneFromProps(this.transformMat.props);\n    var trProps = currentTransform.props; // Applying the new transform to the canvas\n\n    this.nativeContext.setTransform(trProps[0], trProps[1], trProps[4], trProps[5], trProps[12], trProps[13]);\n  };\n\n  CVContextData.prototype.opacity = function (op) {\n    var currentOpacity = this.stack[this.cArrPos].opacity;\n    currentOpacity *= op < 0 ? 0 : op;\n\n    if (this.stack[this.cArrPos].opacity !== currentOpacity) {\n      if (this.currentOpacity !== op) {\n        this.nativeContext.globalAlpha = op;\n        this.currentOpacity = op;\n      }\n\n      this.stack[this.cArrPos].opacity = currentOpacity;\n    }\n  };\n\n  CVContextData.prototype.fill = function (rule) {\n    if (this.appliedFillStyle !== this.currentFillStyle) {\n      this.appliedFillStyle = this.currentFillStyle;\n      this.nativeContext.fillStyle = this.appliedFillStyle;\n    }\n\n    this.nativeContext.fill(rule);\n  };\n\n  CVContextData.prototype.fillRect = function (x, y, w, h) {\n    if (this.appliedFillStyle !== this.currentFillStyle) {\n      this.appliedFillStyle = this.currentFillStyle;\n      this.nativeContext.fillStyle = this.appliedFillStyle;\n    }\n\n    this.nativeContext.fillRect(x, y, w, h);\n  };\n\n  CVContextData.prototype.stroke = function () {\n    if (this.appliedStrokeStyle !== this.currentStrokeStyle) {\n      this.appliedStrokeStyle = this.currentStrokeStyle;\n      this.nativeContext.strokeStyle = this.appliedStrokeStyle;\n    }\n\n    if (this.appliedLineWidth !== this.currentLineWidth) {\n      this.appliedLineWidth = this.currentLineWidth;\n      this.nativeContext.lineWidth = this.appliedLineWidth;\n    }\n\n    if (this.appliedLineCap !== this.currentLineCap) {\n      this.appliedLineCap = this.currentLineCap;\n      this.nativeContext.lineCap = this.appliedLineCap;\n    }\n\n    if (this.appliedLineJoin !== this.currentLineJoin) {\n      this.appliedLineJoin = this.currentLineJoin;\n      this.nativeContext.lineJoin = this.appliedLineJoin;\n    }\n\n    if (this.appliedMiterLimit !== this.currentMiterLimit) {\n      this.appliedMiterLimit = this.currentMiterLimit;\n      this.nativeContext.miterLimit = this.appliedMiterLimit;\n    }\n\n    this.nativeContext.stroke();\n  };\n\n  function CVCompElement(data, globalData, comp) {\n    this.completeLayers = false;\n    this.layers = data.layers;\n    this.pendingElements = [];\n    this.elements = createSizedArray(this.layers.length);\n    this.initElement(data, globalData, comp);\n    this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n      _placeholder: true\n    };\n  }\n\n  extendPrototype([CanvasRendererBase, ICompElement, CVBaseElement], CVCompElement);\n\n  CVCompElement.prototype.renderInnerContent = function () {\n    var ctx = this.canvasContext;\n    ctx.beginPath();\n    ctx.moveTo(0, 0);\n    ctx.lineTo(this.data.w, 0);\n    ctx.lineTo(this.data.w, this.data.h);\n    ctx.lineTo(0, this.data.h);\n    ctx.lineTo(0, 0);\n    ctx.clip();\n    var i;\n    var len = this.layers.length;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if (this.completeLayers || this.elements[i]) {\n        this.elements[i].renderFrame();\n      }\n    }\n  };\n\n  CVCompElement.prototype.destroy = function () {\n    var i;\n    var len = this.layers.length;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if (this.elements[i]) {\n        this.elements[i].destroy();\n      }\n    }\n\n    this.layers = null;\n    this.elements = null;\n  };\n\n  CVCompElement.prototype.createComp = function (data) {\n    return new CVCompElement(data, this.globalData, this);\n  };\n\n  function CanvasRenderer(animationItem, config) {\n    this.animationItem = animationItem;\n    this.renderConfig = {\n      clearCanvas: config && config.clearCanvas !== undefined ? config.clearCanvas : true,\n      context: config && config.context || null,\n      progressiveLoad: config && config.progressiveLoad || false,\n      preserveAspectRatio: config && config.preserveAspectRatio || 'xMidYMid meet',\n      imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n      contentVisibility: config && config.contentVisibility || 'visible',\n      className: config && config.className || '',\n      id: config && config.id || '',\n      runExpressions: !config || config.runExpressions === undefined || config.runExpressions\n    };\n    this.renderConfig.dpr = config && config.dpr || 1;\n\n    if (this.animationItem.wrapper) {\n      this.renderConfig.dpr = config && config.dpr || window.devicePixelRatio || 1;\n    }\n\n    this.renderedFrame = -1;\n    this.globalData = {\n      frameNum: -1,\n      _mdf: false,\n      renderConfig: this.renderConfig,\n      currentGlobalAlpha: -1\n    };\n    this.contextData = new CVContextData();\n    this.elements = [];\n    this.pendingElements = [];\n    this.transformMat = new Matrix();\n    this.completeLayers = false;\n    this.rendererType = 'canvas';\n\n    if (this.renderConfig.clearCanvas) {\n      this.ctxTransform = this.contextData.transform.bind(this.contextData);\n      this.ctxOpacity = this.contextData.opacity.bind(this.contextData);\n      this.ctxFillStyle = this.contextData.fillStyle.bind(this.contextData);\n      this.ctxStrokeStyle = this.contextData.strokeStyle.bind(this.contextData);\n      this.ctxLineWidth = this.contextData.lineWidth.bind(this.contextData);\n      this.ctxLineCap = this.contextData.lineCap.bind(this.contextData);\n      this.ctxLineJoin = this.contextData.lineJoin.bind(this.contextData);\n      this.ctxMiterLimit = this.contextData.miterLimit.bind(this.contextData);\n      this.ctxFill = this.contextData.fill.bind(this.contextData);\n      this.ctxFillRect = this.contextData.fillRect.bind(this.contextData);\n      this.ctxStroke = this.contextData.stroke.bind(this.contextData);\n      this.save = this.contextData.save.bind(this.contextData);\n    }\n  }\n\n  extendPrototype([CanvasRendererBase], CanvasRenderer);\n\n  CanvasRenderer.prototype.createComp = function (data) {\n    return new CVCompElement(data, this.globalData, this);\n  };\n\n  function HBaseElement() {}\n\n  HBaseElement.prototype = {\n    checkBlendMode: function checkBlendMode() {},\n    initRendererElement: function initRendererElement() {\n      this.baseElement = createTag(this.data.tg || 'div');\n\n      if (this.data.hasMask) {\n        this.svgElement = createNS('svg');\n        this.layerElement = createNS('g');\n        this.maskedElement = this.layerElement;\n        this.svgElement.appendChild(this.layerElement);\n        this.baseElement.appendChild(this.svgElement);\n      } else {\n        this.layerElement = this.baseElement;\n      }\n\n      styleDiv(this.baseElement);\n    },\n    createContainerElements: function createContainerElements() {\n      this.renderableEffectsManager = new CVEffects(this);\n      this.transformedElement = this.baseElement;\n      this.maskedElement = this.layerElement;\n\n      if (this.data.ln) {\n        this.layerElement.setAttribute('id', this.data.ln);\n      }\n\n      if (this.data.cl) {\n        this.layerElement.setAttribute('class', this.data.cl);\n      }\n\n      if (this.data.bm !== 0) {\n        this.setBlendMode();\n      }\n    },\n    renderElement: function renderElement() {\n      var transformedElementStyle = this.transformedElement ? this.transformedElement.style : {};\n\n      if (this.finalTransform._matMdf) {\n        var matrixValue = this.finalTransform.mat.toCSS();\n        transformedElementStyle.transform = matrixValue;\n        transformedElementStyle.webkitTransform = matrixValue;\n      }\n\n      if (this.finalTransform._opMdf) {\n        transformedElementStyle.opacity = this.finalTransform.mProp.o.v;\n      }\n    },\n    renderFrame: function renderFrame() {\n      // If it is exported as hidden (data.hd === true) no need to render\n      // If it is not visible no need to render\n      if (this.data.hd || this.hidden) {\n        return;\n      }\n\n      this.renderTransform();\n      this.renderRenderable();\n      this.renderElement();\n      this.renderInnerContent();\n\n      if (this._isFirstFrame) {\n        this._isFirstFrame = false;\n      }\n    },\n    destroy: function destroy() {\n      this.layerElement = null;\n      this.transformedElement = null;\n\n      if (this.matteElement) {\n        this.matteElement = null;\n      }\n\n      if (this.maskManager) {\n        this.maskManager.destroy();\n        this.maskManager = null;\n      }\n    },\n    createRenderableComponents: function createRenderableComponents() {\n      this.maskManager = new MaskElement(this.data, this, this.globalData);\n    },\n    addEffects: function addEffects() {},\n    setMatte: function setMatte() {}\n  };\n  HBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement;\n  HBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy;\n  HBaseElement.prototype.buildElementParenting = BaseRenderer.prototype.buildElementParenting;\n\n  function HSolidElement(data, globalData, comp) {\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], HSolidElement);\n\n  HSolidElement.prototype.createContent = function () {\n    var rect;\n\n    if (this.data.hasMask) {\n      rect = createNS('rect');\n      rect.setAttribute('width', this.data.sw);\n      rect.setAttribute('height', this.data.sh);\n      rect.setAttribute('fill', this.data.sc);\n      this.svgElement.setAttribute('width', this.data.sw);\n      this.svgElement.setAttribute('height', this.data.sh);\n    } else {\n      rect = createTag('div');\n      rect.style.width = this.data.sw + 'px';\n      rect.style.height = this.data.sh + 'px';\n      rect.style.backgroundColor = this.data.sc;\n    }\n\n    this.layerElement.appendChild(rect);\n  };\n\n  function HShapeElement(data, globalData, comp) {\n    // List of drawable elements\n    this.shapes = []; // Full shape data\n\n    this.shapesData = data.shapes; // List of styles that will be applied to shapes\n\n    this.stylesList = []; // List of modifiers that will be applied to shapes\n\n    this.shapeModifiers = []; // List of items in shape tree\n\n    this.itemsData = []; // List of items in previous shape tree\n\n    this.processedElements = []; // List of animated components\n\n    this.animatedContents = [];\n    this.shapesContainer = createNS('g');\n    this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n    // List of elements that have been created\n\n    this.prevViewData = [];\n    this.currentBBox = {\n      x: 999999,\n      y: -999999,\n      h: 0,\n      w: 0\n    };\n  }\n\n  extendPrototype([BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement, HierarchyElement, FrameElement, RenderableElement], HShapeElement);\n  HShapeElement.prototype._renderShapeFrame = HShapeElement.prototype.renderInnerContent;\n\n  HShapeElement.prototype.createContent = function () {\n    var cont;\n    this.baseElement.style.fontSize = 0;\n\n    if (this.data.hasMask) {\n      this.layerElement.appendChild(this.shapesContainer);\n      cont = this.svgElement;\n    } else {\n      cont = createNS('svg');\n      var size = this.comp.data ? this.comp.data : this.globalData.compSize;\n      cont.setAttribute('width', size.w);\n      cont.setAttribute('height', size.h);\n      cont.appendChild(this.shapesContainer);\n      this.layerElement.appendChild(cont);\n    }\n\n    this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.shapesContainer, 0, [], true);\n    this.filterUniqueShapes();\n    this.shapeCont = cont;\n  };\n\n  HShapeElement.prototype.getTransformedPoint = function (transformers, point) {\n    var i;\n    var len = transformers.length;\n\n    for (i = 0; i < len; i += 1) {\n      point = transformers[i].mProps.v.applyToPointArray(point[0], point[1], 0);\n    }\n\n    return point;\n  };\n\n  HShapeElement.prototype.calculateShapeBoundingBox = function (item, boundingBox) {\n    var shape = item.sh.v;\n    var transformers = item.transformers;\n    var i;\n    var len = shape._length;\n    var vPoint;\n    var oPoint;\n    var nextIPoint;\n    var nextVPoint;\n\n    if (len <= 1) {\n      return;\n    }\n\n    for (i = 0; i < len - 1; i += 1) {\n      vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n      oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n      nextIPoint = this.getTransformedPoint(transformers, shape.i[i + 1]);\n      nextVPoint = this.getTransformedPoint(transformers, shape.v[i + 1]);\n      this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n    }\n\n    if (shape.c) {\n      vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n      oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n      nextIPoint = this.getTransformedPoint(transformers, shape.i[0]);\n      nextVPoint = this.getTransformedPoint(transformers, shape.v[0]);\n      this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n    }\n  };\n\n  HShapeElement.prototype.checkBounds = function (vPoint, oPoint, nextIPoint, nextVPoint, boundingBox) {\n    this.getBoundsOfCurve(vPoint, oPoint, nextIPoint, nextVPoint);\n    var bounds = this.shapeBoundingBox;\n    boundingBox.x = bmMin(bounds.left, boundingBox.x);\n    boundingBox.xMax = bmMax(bounds.right, boundingBox.xMax);\n    boundingBox.y = bmMin(bounds.top, boundingBox.y);\n    boundingBox.yMax = bmMax(bounds.bottom, boundingBox.yMax);\n  };\n\n  HShapeElement.prototype.shapeBoundingBox = {\n    left: 0,\n    right: 0,\n    top: 0,\n    bottom: 0\n  };\n  HShapeElement.prototype.tempBoundingBox = {\n    x: 0,\n    xMax: 0,\n    y: 0,\n    yMax: 0,\n    width: 0,\n    height: 0\n  };\n\n  HShapeElement.prototype.getBoundsOfCurve = function (p0, p1, p2, p3) {\n    var bounds = [[p0[0], p3[0]], [p0[1], p3[1]]];\n\n    for (var a, b, c, t, b2ac, t1, t2, i = 0; i < 2; ++i) {\n      // eslint-disable-line no-plusplus\n      b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i];\n      a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i];\n      c = 3 * p1[i] - 3 * p0[i];\n      b |= 0; // eslint-disable-line no-bitwise\n\n      a |= 0; // eslint-disable-line no-bitwise\n\n      c |= 0; // eslint-disable-line no-bitwise\n\n      if (a === 0 && b === 0) {//\n      } else if (a === 0) {\n        t = -c / b;\n\n        if (t > 0 && t < 1) {\n          bounds[i].push(this.calculateF(t, p0, p1, p2, p3, i));\n        }\n      } else {\n        b2ac = b * b - 4 * c * a;\n\n        if (b2ac >= 0) {\n          t1 = (-b + bmSqrt(b2ac)) / (2 * a);\n          if (t1 > 0 && t1 < 1) bounds[i].push(this.calculateF(t1, p0, p1, p2, p3, i));\n          t2 = (-b - bmSqrt(b2ac)) / (2 * a);\n          if (t2 > 0 && t2 < 1) bounds[i].push(this.calculateF(t2, p0, p1, p2, p3, i));\n        }\n      }\n    }\n\n    this.shapeBoundingBox.left = bmMin.apply(null, bounds[0]);\n    this.shapeBoundingBox.top = bmMin.apply(null, bounds[1]);\n    this.shapeBoundingBox.right = bmMax.apply(null, bounds[0]);\n    this.shapeBoundingBox.bottom = bmMax.apply(null, bounds[1]);\n  };\n\n  HShapeElement.prototype.calculateF = function (t, p0, p1, p2, p3, i) {\n    return bmPow(1 - t, 3) * p0[i] + 3 * bmPow(1 - t, 2) * t * p1[i] + 3 * (1 - t) * bmPow(t, 2) * p2[i] + bmPow(t, 3) * p3[i];\n  };\n\n  HShapeElement.prototype.calculateBoundingBox = function (itemsData, boundingBox) {\n    var i;\n    var len = itemsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (itemsData[i] && itemsData[i].sh) {\n        this.calculateShapeBoundingBox(itemsData[i], boundingBox);\n      } else if (itemsData[i] && itemsData[i].it) {\n        this.calculateBoundingBox(itemsData[i].it, boundingBox);\n      } else if (itemsData[i] && itemsData[i].style && itemsData[i].w) {\n        this.expandStrokeBoundingBox(itemsData[i].w, boundingBox);\n      }\n    }\n  };\n\n  HShapeElement.prototype.expandStrokeBoundingBox = function (widthProperty, boundingBox) {\n    var width = 0;\n\n    if (widthProperty.keyframes) {\n      for (var i = 0; i < widthProperty.keyframes.length; i += 1) {\n        var kfw = widthProperty.keyframes[i].s;\n\n        if (kfw > width) {\n          width = kfw;\n        }\n      }\n\n      width *= widthProperty.mult;\n    } else {\n      width = widthProperty.v * widthProperty.mult;\n    }\n\n    boundingBox.x -= width;\n    boundingBox.xMax += width;\n    boundingBox.y -= width;\n    boundingBox.yMax += width;\n  };\n\n  HShapeElement.prototype.currentBoxContains = function (box) {\n    return this.currentBBox.x <= box.x && this.currentBBox.y <= box.y && this.currentBBox.width + this.currentBBox.x >= box.x + box.width && this.currentBBox.height + this.currentBBox.y >= box.y + box.height;\n  };\n\n  HShapeElement.prototype.renderInnerContent = function () {\n    this._renderShapeFrame();\n\n    if (!this.hidden && (this._isFirstFrame || this._mdf)) {\n      var tempBoundingBox = this.tempBoundingBox;\n      var max = 999999;\n      tempBoundingBox.x = max;\n      tempBoundingBox.xMax = -max;\n      tempBoundingBox.y = max;\n      tempBoundingBox.yMax = -max;\n      this.calculateBoundingBox(this.itemsData, tempBoundingBox);\n      tempBoundingBox.width = tempBoundingBox.xMax < tempBoundingBox.x ? 0 : tempBoundingBox.xMax - tempBoundingBox.x;\n      tempBoundingBox.height = tempBoundingBox.yMax < tempBoundingBox.y ? 0 : tempBoundingBox.yMax - tempBoundingBox.y; // var tempBoundingBox = this.shapeCont.getBBox();\n\n      if (this.currentBoxContains(tempBoundingBox)) {\n        return;\n      }\n\n      var changed = false;\n\n      if (this.currentBBox.w !== tempBoundingBox.width) {\n        this.currentBBox.w = tempBoundingBox.width;\n        this.shapeCont.setAttribute('width', tempBoundingBox.width);\n        changed = true;\n      }\n\n      if (this.currentBBox.h !== tempBoundingBox.height) {\n        this.currentBBox.h = tempBoundingBox.height;\n        this.shapeCont.setAttribute('height', tempBoundingBox.height);\n        changed = true;\n      }\n\n      if (changed || this.currentBBox.x !== tempBoundingBox.x || this.currentBBox.y !== tempBoundingBox.y) {\n        this.currentBBox.w = tempBoundingBox.width;\n        this.currentBBox.h = tempBoundingBox.height;\n        this.currentBBox.x = tempBoundingBox.x;\n        this.currentBBox.y = tempBoundingBox.y;\n        this.shapeCont.setAttribute('viewBox', this.currentBBox.x + ' ' + this.currentBBox.y + ' ' + this.currentBBox.w + ' ' + this.currentBBox.h);\n        var shapeStyle = this.shapeCont.style;\n        var shapeTransform = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)';\n        shapeStyle.transform = shapeTransform;\n        shapeStyle.webkitTransform = shapeTransform;\n      }\n    }\n  };\n\n  function HTextElement(data, globalData, comp) {\n    this.textSpans = [];\n    this.textPaths = [];\n    this.currentBBox = {\n      x: 999999,\n      y: -999999,\n      h: 0,\n      w: 0\n    };\n    this.renderType = 'svg';\n    this.isMasked = false;\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], HTextElement);\n\n  HTextElement.prototype.createContent = function () {\n    this.isMasked = this.checkMasks();\n\n    if (this.isMasked) {\n      this.renderType = 'svg';\n      this.compW = this.comp.data.w;\n      this.compH = this.comp.data.h;\n      this.svgElement.setAttribute('width', this.compW);\n      this.svgElement.setAttribute('height', this.compH);\n      var g = createNS('g');\n      this.maskedElement.appendChild(g);\n      this.innerElem = g;\n    } else {\n      this.renderType = 'html';\n      this.innerElem = this.layerElement;\n    }\n\n    this.checkParenting();\n  };\n\n  HTextElement.prototype.buildNewText = function () {\n    var documentData = this.textProperty.currentData;\n    this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n    var innerElemStyle = this.innerElem.style;\n    var textColor = documentData.fc ? this.buildColor(documentData.fc) : 'rgba(0,0,0,0)';\n    innerElemStyle.fill = textColor;\n    innerElemStyle.color = textColor;\n\n    if (documentData.sc) {\n      innerElemStyle.stroke = this.buildColor(documentData.sc);\n      innerElemStyle.strokeWidth = documentData.sw + 'px';\n    }\n\n    var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n\n    if (!this.globalData.fontManager.chars) {\n      innerElemStyle.fontSize = documentData.finalSize + 'px';\n      innerElemStyle.lineHeight = documentData.finalSize + 'px';\n\n      if (fontData.fClass) {\n        this.innerElem.className = fontData.fClass;\n      } else {\n        innerElemStyle.fontFamily = fontData.fFamily;\n        var fWeight = documentData.fWeight;\n        var fStyle = documentData.fStyle;\n        innerElemStyle.fontStyle = fStyle;\n        innerElemStyle.fontWeight = fWeight;\n      }\n    }\n\n    var i;\n    var len;\n    var letters = documentData.l;\n    len = letters.length;\n    var tSpan;\n    var tParent;\n    var tCont;\n    var matrixHelper = this.mHelper;\n    var shapes;\n    var shapeStr = '';\n    var cnt = 0;\n\n    for (i = 0; i < len; i += 1) {\n      if (this.globalData.fontManager.chars) {\n        if (!this.textPaths[cnt]) {\n          tSpan = createNS('path');\n          tSpan.setAttribute('stroke-linecap', lineCapEnum[1]);\n          tSpan.setAttribute('stroke-linejoin', lineJoinEnum[2]);\n          tSpan.setAttribute('stroke-miterlimit', '4');\n        } else {\n          tSpan = this.textPaths[cnt];\n        }\n\n        if (!this.isMasked) {\n          if (this.textSpans[cnt]) {\n            tParent = this.textSpans[cnt];\n            tCont = tParent.children[0];\n          } else {\n            tParent = createTag('div');\n            tParent.style.lineHeight = 0;\n            tCont = createNS('svg');\n            tCont.appendChild(tSpan);\n            styleDiv(tParent);\n          }\n        }\n      } else if (!this.isMasked) {\n        if (this.textSpans[cnt]) {\n          tParent = this.textSpans[cnt];\n          tSpan = this.textPaths[cnt];\n        } else {\n          tParent = createTag('span');\n          styleDiv(tParent);\n          tSpan = createTag('span');\n          styleDiv(tSpan);\n          tParent.appendChild(tSpan);\n        }\n      } else {\n        tSpan = this.textPaths[cnt] ? this.textPaths[cnt] : createNS('text');\n      } // tSpan.setAttribute('visibility', 'hidden');\n\n\n      if (this.globalData.fontManager.chars) {\n        var charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\n        var shapeData;\n\n        if (charData) {\n          shapeData = charData.data;\n        } else {\n          shapeData = null;\n        }\n\n        matrixHelper.reset();\n\n        if (shapeData && shapeData.shapes && shapeData.shapes.length) {\n          shapes = shapeData.shapes[0].it;\n          matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n          shapeStr = this.createPathShape(matrixHelper, shapes);\n          tSpan.setAttribute('d', shapeStr);\n        }\n\n        if (!this.isMasked) {\n          this.innerElem.appendChild(tParent);\n\n          if (shapeData && shapeData.shapes) {\n            // document.body.appendChild is needed to get exact measure of shape\n            document.body.appendChild(tCont);\n            var boundingBox = tCont.getBBox();\n            tCont.setAttribute('width', boundingBox.width + 2);\n            tCont.setAttribute('height', boundingBox.height + 2);\n            tCont.setAttribute('viewBox', boundingBox.x - 1 + ' ' + (boundingBox.y - 1) + ' ' + (boundingBox.width + 2) + ' ' + (boundingBox.height + 2));\n            var tContStyle = tCont.style;\n            var tContTranslation = 'translate(' + (boundingBox.x - 1) + 'px,' + (boundingBox.y - 1) + 'px)';\n            tContStyle.transform = tContTranslation;\n            tContStyle.webkitTransform = tContTranslation;\n            letters[i].yOffset = boundingBox.y - 1;\n          } else {\n            tCont.setAttribute('width', 1);\n            tCont.setAttribute('height', 1);\n          }\n\n          tParent.appendChild(tCont);\n        } else {\n          this.innerElem.appendChild(tSpan);\n        }\n      } else {\n        tSpan.textContent = letters[i].val;\n        tSpan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');\n\n        if (!this.isMasked) {\n          this.innerElem.appendChild(tParent); //\n\n          var tStyle = tSpan.style;\n          var tSpanTranslation = 'translate3d(0,' + -documentData.finalSize / 1.2 + 'px,0)';\n          tStyle.transform = tSpanTranslation;\n          tStyle.webkitTransform = tSpanTranslation;\n        } else {\n          this.innerElem.appendChild(tSpan);\n        }\n      } //\n\n\n      if (!this.isMasked) {\n        this.textSpans[cnt] = tParent;\n      } else {\n        this.textSpans[cnt] = tSpan;\n      }\n\n      this.textSpans[cnt].style.display = 'block';\n      this.textPaths[cnt] = tSpan;\n      cnt += 1;\n    }\n\n    while (cnt < this.textSpans.length) {\n      this.textSpans[cnt].style.display = 'none';\n      cnt += 1;\n    }\n  };\n\n  HTextElement.prototype.renderInnerContent = function () {\n    this.validateText();\n    var svgStyle;\n\n    if (this.data.singleShape) {\n      if (!this._isFirstFrame && !this.lettersChangedFlag) {\n        return;\n      }\n\n      if (this.isMasked && this.finalTransform._matMdf) {\n        // Todo Benchmark if using this is better than getBBox\n        this.svgElement.setAttribute('viewBox', -this.finalTransform.mProp.p.v[0] + ' ' + -this.finalTransform.mProp.p.v[1] + ' ' + this.compW + ' ' + this.compH);\n        svgStyle = this.svgElement.style;\n        var translation = 'translate(' + -this.finalTransform.mProp.p.v[0] + 'px,' + -this.finalTransform.mProp.p.v[1] + 'px)';\n        svgStyle.transform = translation;\n        svgStyle.webkitTransform = translation;\n      }\n    }\n\n    this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n\n    if (!this.lettersChangedFlag && !this.textAnimator.lettersChangedFlag) {\n      return;\n    }\n\n    var i;\n    var len;\n    var count = 0;\n    var renderedLetters = this.textAnimator.renderedLetters;\n    var letters = this.textProperty.currentData.l;\n    len = letters.length;\n    var renderedLetter;\n    var textSpan;\n    var textPath;\n\n    for (i = 0; i < len; i += 1) {\n      if (letters[i].n) {\n        count += 1;\n      } else {\n        textSpan = this.textSpans[i];\n        textPath = this.textPaths[i];\n        renderedLetter = renderedLetters[count];\n        count += 1;\n\n        if (renderedLetter._mdf.m) {\n          if (!this.isMasked) {\n            textSpan.style.webkitTransform = renderedLetter.m;\n            textSpan.style.transform = renderedLetter.m;\n          } else {\n            textSpan.setAttribute('transform', renderedLetter.m);\n          }\n        } /// /textSpan.setAttribute('opacity',renderedLetter.o);\n\n\n        textSpan.style.opacity = renderedLetter.o;\n\n        if (renderedLetter.sw && renderedLetter._mdf.sw) {\n          textPath.setAttribute('stroke-width', renderedLetter.sw);\n        }\n\n        if (renderedLetter.sc && renderedLetter._mdf.sc) {\n          textPath.setAttribute('stroke', renderedLetter.sc);\n        }\n\n        if (renderedLetter.fc && renderedLetter._mdf.fc) {\n          textPath.setAttribute('fill', renderedLetter.fc);\n          textPath.style.color = renderedLetter.fc;\n        }\n      }\n    }\n\n    if (this.innerElem.getBBox && !this.hidden && (this._isFirstFrame || this._mdf)) {\n      var boundingBox = this.innerElem.getBBox();\n\n      if (this.currentBBox.w !== boundingBox.width) {\n        this.currentBBox.w = boundingBox.width;\n        this.svgElement.setAttribute('width', boundingBox.width);\n      }\n\n      if (this.currentBBox.h !== boundingBox.height) {\n        this.currentBBox.h = boundingBox.height;\n        this.svgElement.setAttribute('height', boundingBox.height);\n      }\n\n      var margin = 1;\n\n      if (this.currentBBox.w !== boundingBox.width + margin * 2 || this.currentBBox.h !== boundingBox.height + margin * 2 || this.currentBBox.x !== boundingBox.x - margin || this.currentBBox.y !== boundingBox.y - margin) {\n        this.currentBBox.w = boundingBox.width + margin * 2;\n        this.currentBBox.h = boundingBox.height + margin * 2;\n        this.currentBBox.x = boundingBox.x - margin;\n        this.currentBBox.y = boundingBox.y - margin;\n        this.svgElement.setAttribute('viewBox', this.currentBBox.x + ' ' + this.currentBBox.y + ' ' + this.currentBBox.w + ' ' + this.currentBBox.h);\n        svgStyle = this.svgElement.style;\n        var svgTransform = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)';\n        svgStyle.transform = svgTransform;\n        svgStyle.webkitTransform = svgTransform;\n      }\n    }\n  };\n\n  function HCameraElement(data, globalData, comp) {\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    this.initHierarchy();\n    var getProp = PropertyFactory.getProp;\n    this.pe = getProp(this, data.pe, 0, 0, this);\n\n    if (data.ks.p.s) {\n      this.px = getProp(this, data.ks.p.x, 1, 0, this);\n      this.py = getProp(this, data.ks.p.y, 1, 0, this);\n      this.pz = getProp(this, data.ks.p.z, 1, 0, this);\n    } else {\n      this.p = getProp(this, data.ks.p, 1, 0, this);\n    }\n\n    if (data.ks.a) {\n      this.a = getProp(this, data.ks.a, 1, 0, this);\n    }\n\n    if (data.ks.or.k.length && data.ks.or.k[0].to) {\n      var i;\n      var len = data.ks.or.k.length;\n\n      for (i = 0; i < len; i += 1) {\n        data.ks.or.k[i].to = null;\n        data.ks.or.k[i].ti = null;\n      }\n    }\n\n    this.or = getProp(this, data.ks.or, 1, degToRads, this);\n    this.or.sh = true;\n    this.rx = getProp(this, data.ks.rx, 0, degToRads, this);\n    this.ry = getProp(this, data.ks.ry, 0, degToRads, this);\n    this.rz = getProp(this, data.ks.rz, 0, degToRads, this);\n    this.mat = new Matrix();\n    this._prevMat = new Matrix();\n    this._isFirstFrame = true; // TODO: find a better way to make the HCamera element to be compatible with the LayerInterface and TransformInterface.\n\n    this.finalTransform = {\n      mProp: this\n    };\n  }\n\n  extendPrototype([BaseElement, FrameElement, HierarchyElement], HCameraElement);\n\n  HCameraElement.prototype.setup = function () {\n    var i;\n    var len = this.comp.threeDElements.length;\n    var comp;\n    var perspectiveStyle;\n    var containerStyle;\n\n    for (i = 0; i < len; i += 1) {\n      // [perspectiveElem,container]\n      comp = this.comp.threeDElements[i];\n\n      if (comp.type === '3d') {\n        perspectiveStyle = comp.perspectiveElem.style;\n        containerStyle = comp.container.style;\n        var perspective = this.pe.v + 'px';\n        var origin = '0px 0px 0px';\n        var matrix = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';\n        perspectiveStyle.perspective = perspective;\n        perspectiveStyle.webkitPerspective = perspective;\n        containerStyle.transformOrigin = origin;\n        containerStyle.mozTransformOrigin = origin;\n        containerStyle.webkitTransformOrigin = origin;\n        perspectiveStyle.transform = matrix;\n        perspectiveStyle.webkitTransform = matrix;\n      }\n    }\n  };\n\n  HCameraElement.prototype.createElements = function () {};\n\n  HCameraElement.prototype.hide = function () {};\n\n  HCameraElement.prototype.renderFrame = function () {\n    var _mdf = this._isFirstFrame;\n    var i;\n    var len;\n\n    if (this.hierarchy) {\n      len = this.hierarchy.length;\n\n      for (i = 0; i < len; i += 1) {\n        _mdf = this.hierarchy[i].finalTransform.mProp._mdf || _mdf;\n      }\n    }\n\n    if (_mdf || this.pe._mdf || this.p && this.p._mdf || this.px && (this.px._mdf || this.py._mdf || this.pz._mdf) || this.rx._mdf || this.ry._mdf || this.rz._mdf || this.or._mdf || this.a && this.a._mdf) {\n      this.mat.reset();\n\n      if (this.hierarchy) {\n        len = this.hierarchy.length - 1;\n\n        for (i = len; i >= 0; i -= 1) {\n          var mTransf = this.hierarchy[i].finalTransform.mProp;\n          this.mat.translate(-mTransf.p.v[0], -mTransf.p.v[1], mTransf.p.v[2]);\n          this.mat.rotateX(-mTransf.or.v[0]).rotateY(-mTransf.or.v[1]).rotateZ(mTransf.or.v[2]);\n          this.mat.rotateX(-mTransf.rx.v).rotateY(-mTransf.ry.v).rotateZ(mTransf.rz.v);\n          this.mat.scale(1 / mTransf.s.v[0], 1 / mTransf.s.v[1], 1 / mTransf.s.v[2]);\n          this.mat.translate(mTransf.a.v[0], mTransf.a.v[1], mTransf.a.v[2]);\n        }\n      }\n\n      if (this.p) {\n        this.mat.translate(-this.p.v[0], -this.p.v[1], this.p.v[2]);\n      } else {\n        this.mat.translate(-this.px.v, -this.py.v, this.pz.v);\n      }\n\n      if (this.a) {\n        var diffVector;\n\n        if (this.p) {\n          diffVector = [this.p.v[0] - this.a.v[0], this.p.v[1] - this.a.v[1], this.p.v[2] - this.a.v[2]];\n        } else {\n          diffVector = [this.px.v - this.a.v[0], this.py.v - this.a.v[1], this.pz.v - this.a.v[2]];\n        }\n\n        var mag = Math.sqrt(Math.pow(diffVector[0], 2) + Math.pow(diffVector[1], 2) + Math.pow(diffVector[2], 2)); // var lookDir = getNormalizedPoint(getDiffVector(this.a.v,this.p.v));\n\n        var lookDir = [diffVector[0] / mag, diffVector[1] / mag, diffVector[2] / mag];\n        var lookLengthOnXZ = Math.sqrt(lookDir[2] * lookDir[2] + lookDir[0] * lookDir[0]);\n        var mRotationX = Math.atan2(lookDir[1], lookLengthOnXZ);\n        var mRotationY = Math.atan2(lookDir[0], -lookDir[2]);\n        this.mat.rotateY(mRotationY).rotateX(-mRotationX);\n      }\n\n      this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v);\n      this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]);\n      this.mat.translate(this.globalData.compSize.w / 2, this.globalData.compSize.h / 2, 0);\n      this.mat.translate(0, 0, this.pe.v);\n      var hasMatrixChanged = !this._prevMat.equals(this.mat);\n\n      if ((hasMatrixChanged || this.pe._mdf) && this.comp.threeDElements) {\n        len = this.comp.threeDElements.length;\n        var comp;\n        var perspectiveStyle;\n        var containerStyle;\n\n        for (i = 0; i < len; i += 1) {\n          comp = this.comp.threeDElements[i];\n\n          if (comp.type === '3d') {\n            if (hasMatrixChanged) {\n              var matValue = this.mat.toCSS();\n              containerStyle = comp.container.style;\n              containerStyle.transform = matValue;\n              containerStyle.webkitTransform = matValue;\n            }\n\n            if (this.pe._mdf) {\n              perspectiveStyle = comp.perspectiveElem.style;\n              perspectiveStyle.perspective = this.pe.v + 'px';\n              perspectiveStyle.webkitPerspective = this.pe.v + 'px';\n            }\n          }\n        }\n\n        this.mat.clone(this._prevMat);\n      }\n    }\n\n    this._isFirstFrame = false;\n  };\n\n  HCameraElement.prototype.prepareFrame = function (num) {\n    this.prepareProperties(num, true);\n  };\n\n  HCameraElement.prototype.destroy = function () {};\n\n  HCameraElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  function HImageElement(data, globalData, comp) {\n    this.assetData = globalData.getAssetData(data.refId);\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement, FrameElement, RenderableElement], HImageElement);\n\n  HImageElement.prototype.createContent = function () {\n    var assetPath = this.globalData.getAssetsPath(this.assetData);\n    var img = new Image();\n\n    if (this.data.hasMask) {\n      this.imageElem = createNS('image');\n      this.imageElem.setAttribute('width', this.assetData.w + 'px');\n      this.imageElem.setAttribute('height', this.assetData.h + 'px');\n      this.imageElem.setAttributeNS('http://www.w3.org/1999/xlink', 'href', assetPath);\n      this.layerElement.appendChild(this.imageElem);\n      this.baseElement.setAttribute('width', this.assetData.w);\n      this.baseElement.setAttribute('height', this.assetData.h);\n    } else {\n      this.layerElement.appendChild(img);\n    }\n\n    img.crossOrigin = 'anonymous';\n    img.src = assetPath;\n\n    if (this.data.ln) {\n      this.baseElement.setAttribute('id', this.data.ln);\n    }\n  };\n\n  function HybridRendererBase(animationItem, config) {\n    this.animationItem = animationItem;\n    this.layers = null;\n    this.renderedFrame = -1;\n    this.renderConfig = {\n      className: config && config.className || '',\n      imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n      hideOnTransparent: !(config && config.hideOnTransparent === false),\n      filterSize: {\n        width: config && config.filterSize && config.filterSize.width || '400%',\n        height: config && config.filterSize && config.filterSize.height || '400%',\n        x: config && config.filterSize && config.filterSize.x || '-100%',\n        y: config && config.filterSize && config.filterSize.y || '-100%'\n      }\n    };\n    this.globalData = {\n      _mdf: false,\n      frameNum: -1,\n      renderConfig: this.renderConfig\n    };\n    this.pendingElements = [];\n    this.elements = [];\n    this.threeDElements = [];\n    this.destroyed = false;\n    this.camera = null;\n    this.supports3d = true;\n    this.rendererType = 'html';\n  }\n\n  extendPrototype([BaseRenderer], HybridRendererBase);\n  HybridRendererBase.prototype.buildItem = SVGRenderer.prototype.buildItem;\n\n  HybridRendererBase.prototype.checkPendingElements = function () {\n    while (this.pendingElements.length) {\n      var element = this.pendingElements.pop();\n      element.checkParenting();\n    }\n  };\n\n  HybridRendererBase.prototype.appendElementInPos = function (element, pos) {\n    var newDOMElement = element.getBaseElement();\n\n    if (!newDOMElement) {\n      return;\n    }\n\n    var layer = this.layers[pos];\n\n    if (!layer.ddd || !this.supports3d) {\n      if (this.threeDElements) {\n        this.addTo3dContainer(newDOMElement, pos);\n      } else {\n        var i = 0;\n        var nextDOMElement;\n        var nextLayer;\n        var tmpDOMElement;\n\n        while (i < pos) {\n          if (this.elements[i] && this.elements[i] !== true && this.elements[i].getBaseElement) {\n            nextLayer = this.elements[i];\n            tmpDOMElement = this.layers[i].ddd ? this.getThreeDContainerByPos(i) : nextLayer.getBaseElement();\n            nextDOMElement = tmpDOMElement || nextDOMElement;\n          }\n\n          i += 1;\n        }\n\n        if (nextDOMElement) {\n          if (!layer.ddd || !this.supports3d) {\n            this.layerElement.insertBefore(newDOMElement, nextDOMElement);\n          }\n        } else if (!layer.ddd || !this.supports3d) {\n          this.layerElement.appendChild(newDOMElement);\n        }\n      }\n    } else {\n      this.addTo3dContainer(newDOMElement, pos);\n    }\n  };\n\n  HybridRendererBase.prototype.createShape = function (data) {\n    if (!this.supports3d) {\n      return new SVGShapeElement(data, this.globalData, this);\n    }\n\n    return new HShapeElement(data, this.globalData, this);\n  };\n\n  HybridRendererBase.prototype.createText = function (data) {\n    if (!this.supports3d) {\n      return new SVGTextLottieElement(data, this.globalData, this);\n    }\n\n    return new HTextElement(data, this.globalData, this);\n  };\n\n  HybridRendererBase.prototype.createCamera = function (data) {\n    this.camera = new HCameraElement(data, this.globalData, this);\n    return this.camera;\n  };\n\n  HybridRendererBase.prototype.createImage = function (data) {\n    if (!this.supports3d) {\n      return new IImageElement(data, this.globalData, this);\n    }\n\n    return new HImageElement(data, this.globalData, this);\n  };\n\n  HybridRendererBase.prototype.createSolid = function (data) {\n    if (!this.supports3d) {\n      return new ISolidElement(data, this.globalData, this);\n    }\n\n    return new HSolidElement(data, this.globalData, this);\n  };\n\n  HybridRendererBase.prototype.createNull = SVGRenderer.prototype.createNull;\n\n  HybridRendererBase.prototype.getThreeDContainerByPos = function (pos) {\n    var i = 0;\n    var len = this.threeDElements.length;\n\n    while (i < len) {\n      if (this.threeDElements[i].startPos <= pos && this.threeDElements[i].endPos >= pos) {\n        return this.threeDElements[i].perspectiveElem;\n      }\n\n      i += 1;\n    }\n\n    return null;\n  };\n\n  HybridRendererBase.prototype.createThreeDContainer = function (pos, type) {\n    var perspectiveElem = createTag('div');\n    var style;\n    var containerStyle;\n    styleDiv(perspectiveElem);\n    var container = createTag('div');\n    styleDiv(container);\n\n    if (type === '3d') {\n      style = perspectiveElem.style;\n      style.width = this.globalData.compSize.w + 'px';\n      style.height = this.globalData.compSize.h + 'px';\n      var center = '50% 50%';\n      style.webkitTransformOrigin = center;\n      style.mozTransformOrigin = center;\n      style.transformOrigin = center;\n      containerStyle = container.style;\n      var matrix = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';\n      containerStyle.transform = matrix;\n      containerStyle.webkitTransform = matrix;\n    }\n\n    perspectiveElem.appendChild(container); // this.resizerElem.appendChild(perspectiveElem);\n\n    var threeDContainerData = {\n      container: container,\n      perspectiveElem: perspectiveElem,\n      startPos: pos,\n      endPos: pos,\n      type: type\n    };\n    this.threeDElements.push(threeDContainerData);\n    return threeDContainerData;\n  };\n\n  HybridRendererBase.prototype.build3dContainers = function () {\n    var i;\n    var len = this.layers.length;\n    var lastThreeDContainerData;\n    var currentContainer = '';\n\n    for (i = 0; i < len; i += 1) {\n      if (this.layers[i].ddd && this.layers[i].ty !== 3) {\n        if (currentContainer !== '3d') {\n          currentContainer = '3d';\n          lastThreeDContainerData = this.createThreeDContainer(i, '3d');\n        }\n\n        lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n      } else {\n        if (currentContainer !== '2d') {\n          currentContainer = '2d';\n          lastThreeDContainerData = this.createThreeDContainer(i, '2d');\n        }\n\n        lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n      }\n    }\n\n    len = this.threeDElements.length;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      this.resizerElem.appendChild(this.threeDElements[i].perspectiveElem);\n    }\n  };\n\n  HybridRendererBase.prototype.addTo3dContainer = function (elem, pos) {\n    var i = 0;\n    var len = this.threeDElements.length;\n\n    while (i < len) {\n      if (pos <= this.threeDElements[i].endPos) {\n        var j = this.threeDElements[i].startPos;\n        var nextElement;\n\n        while (j < pos) {\n          if (this.elements[j] && this.elements[j].getBaseElement) {\n            nextElement = this.elements[j].getBaseElement();\n          }\n\n          j += 1;\n        }\n\n        if (nextElement) {\n          this.threeDElements[i].container.insertBefore(elem, nextElement);\n        } else {\n          this.threeDElements[i].container.appendChild(elem);\n        }\n\n        break;\n      }\n\n      i += 1;\n    }\n  };\n\n  HybridRendererBase.prototype.configAnimation = function (animData) {\n    var resizerElem = createTag('div');\n    var wrapper = this.animationItem.wrapper;\n    var style = resizerElem.style;\n    style.width = animData.w + 'px';\n    style.height = animData.h + 'px';\n    this.resizerElem = resizerElem;\n    styleDiv(resizerElem);\n    style.transformStyle = 'flat';\n    style.mozTransformStyle = 'flat';\n    style.webkitTransformStyle = 'flat';\n\n    if (this.renderConfig.className) {\n      resizerElem.setAttribute('class', this.renderConfig.className);\n    }\n\n    wrapper.appendChild(resizerElem);\n    style.overflow = 'hidden';\n    var svg = createNS('svg');\n    svg.setAttribute('width', '1');\n    svg.setAttribute('height', '1');\n    styleDiv(svg);\n    this.resizerElem.appendChild(svg);\n    var defs = createNS('defs');\n    svg.appendChild(defs);\n    this.data = animData; // Mask animation\n\n    this.setupGlobalData(animData, svg);\n    this.globalData.defs = defs;\n    this.layers = animData.layers;\n    this.layerElement = this.resizerElem;\n    this.build3dContainers();\n    this.updateContainerSize();\n  };\n\n  HybridRendererBase.prototype.destroy = function () {\n    if (this.animationItem.wrapper) {\n      this.animationItem.wrapper.innerText = '';\n    }\n\n    this.animationItem.container = null;\n    this.globalData.defs = null;\n    var i;\n    var len = this.layers ? this.layers.length : 0;\n\n    for (i = 0; i < len; i += 1) {\n      if (this.elements[i] && this.elements[i].destroy) {\n        this.elements[i].destroy();\n      }\n    }\n\n    this.elements.length = 0;\n    this.destroyed = true;\n    this.animationItem = null;\n  };\n\n  HybridRendererBase.prototype.updateContainerSize = function () {\n    var elementWidth = this.animationItem.wrapper.offsetWidth;\n    var elementHeight = this.animationItem.wrapper.offsetHeight;\n    var elementRel = elementWidth / elementHeight;\n    var animationRel = this.globalData.compSize.w / this.globalData.compSize.h;\n    var sx;\n    var sy;\n    var tx;\n    var ty;\n\n    if (animationRel > elementRel) {\n      sx = elementWidth / this.globalData.compSize.w;\n      sy = elementWidth / this.globalData.compSize.w;\n      tx = 0;\n      ty = (elementHeight - this.globalData.compSize.h * (elementWidth / this.globalData.compSize.w)) / 2;\n    } else {\n      sx = elementHeight / this.globalData.compSize.h;\n      sy = elementHeight / this.globalData.compSize.h;\n      tx = (elementWidth - this.globalData.compSize.w * (elementHeight / this.globalData.compSize.h)) / 2;\n      ty = 0;\n    }\n\n    var style = this.resizerElem.style;\n    style.webkitTransform = 'matrix3d(' + sx + ',0,0,0,0,' + sy + ',0,0,0,0,1,0,' + tx + ',' + ty + ',0,1)';\n    style.transform = style.webkitTransform;\n  };\n\n  HybridRendererBase.prototype.renderFrame = SVGRenderer.prototype.renderFrame;\n\n  HybridRendererBase.prototype.hide = function () {\n    this.resizerElem.style.display = 'none';\n  };\n\n  HybridRendererBase.prototype.show = function () {\n    this.resizerElem.style.display = 'block';\n  };\n\n  HybridRendererBase.prototype.initItems = function () {\n    this.buildAllItems();\n\n    if (this.camera) {\n      this.camera.setup();\n    } else {\n      var cWidth = this.globalData.compSize.w;\n      var cHeight = this.globalData.compSize.h;\n      var i;\n      var len = this.threeDElements.length;\n\n      for (i = 0; i < len; i += 1) {\n        var style = this.threeDElements[i].perspectiveElem.style;\n        style.webkitPerspective = Math.sqrt(Math.pow(cWidth, 2) + Math.pow(cHeight, 2)) + 'px';\n        style.perspective = style.webkitPerspective;\n      }\n    }\n  };\n\n  HybridRendererBase.prototype.searchExtraCompositions = function (assets) {\n    var i;\n    var len = assets.length;\n    var floatingContainer = createTag('div');\n\n    for (i = 0; i < len; i += 1) {\n      if (assets[i].xt) {\n        var comp = this.createComp(assets[i], floatingContainer, this.globalData.comp, null);\n        comp.initExpressions();\n        this.globalData.projectInterface.registerComposition(comp);\n      }\n    }\n  };\n\n  function HCompElement(data, globalData, comp) {\n    this.layers = data.layers;\n    this.supports3d = !data.hasMask;\n    this.completeLayers = false;\n    this.pendingElements = [];\n    this.elements = this.layers ? createSizedArray(this.layers.length) : [];\n    this.initElement(data, globalData, comp);\n    this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n      _placeholder: true\n    };\n  }\n\n  extendPrototype([HybridRendererBase, ICompElement, HBaseElement], HCompElement);\n  HCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements;\n\n  HCompElement.prototype.createContainerElements = function () {\n    this._createBaseContainerElements(); // divElement.style.clip = 'rect(0px, '+this.data.w+'px, '+this.data.h+'px, 0px)';\n\n\n    if (this.data.hasMask) {\n      this.svgElement.setAttribute('width', this.data.w);\n      this.svgElement.setAttribute('height', this.data.h);\n      this.transformedElement = this.baseElement;\n    } else {\n      this.transformedElement = this.layerElement;\n    }\n  };\n\n  HCompElement.prototype.addTo3dContainer = function (elem, pos) {\n    var j = 0;\n    var nextElement;\n\n    while (j < pos) {\n      if (this.elements[j] && this.elements[j].getBaseElement) {\n        nextElement = this.elements[j].getBaseElement();\n      }\n\n      j += 1;\n    }\n\n    if (nextElement) {\n      this.layerElement.insertBefore(elem, nextElement);\n    } else {\n      this.layerElement.appendChild(elem);\n    }\n  };\n\n  HCompElement.prototype.createComp = function (data) {\n    if (!this.supports3d) {\n      return new SVGCompElement(data, this.globalData, this);\n    }\n\n    return new HCompElement(data, this.globalData, this);\n  };\n\n  function HybridRenderer(animationItem, config) {\n    this.animationItem = animationItem;\n    this.layers = null;\n    this.renderedFrame = -1;\n    this.renderConfig = {\n      className: config && config.className || '',\n      imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n      hideOnTransparent: !(config && config.hideOnTransparent === false),\n      filterSize: {\n        width: config && config.filterSize && config.filterSize.width || '400%',\n        height: config && config.filterSize && config.filterSize.height || '400%',\n        x: config && config.filterSize && config.filterSize.x || '-100%',\n        y: config && config.filterSize && config.filterSize.y || '-100%'\n      },\n      runExpressions: !config || config.runExpressions === undefined || config.runExpressions\n    };\n    this.globalData = {\n      _mdf: false,\n      frameNum: -1,\n      renderConfig: this.renderConfig\n    };\n    this.pendingElements = [];\n    this.elements = [];\n    this.threeDElements = [];\n    this.destroyed = false;\n    this.camera = null;\n    this.supports3d = true;\n    this.rendererType = 'html';\n  }\n\n  extendPrototype([HybridRendererBase], HybridRenderer);\n\n  HybridRenderer.prototype.createComp = function (data) {\n    if (!this.supports3d) {\n      return new SVGCompElement(data, this.globalData, this);\n    }\n\n    return new HCompElement(data, this.globalData, this);\n  };\n\n  var CompExpressionInterface = function () {\n    return function (comp) {\n      function _thisLayerFunction(name) {\n        var i = 0;\n        var len = comp.layers.length;\n\n        while (i < len) {\n          if (comp.layers[i].nm === name || comp.layers[i].ind === name) {\n            return comp.elements[i].layerInterface;\n          }\n\n          i += 1;\n        }\n\n        return null; // return {active:false};\n      }\n\n      Object.defineProperty(_thisLayerFunction, '_name', {\n        value: comp.data.nm\n      });\n      _thisLayerFunction.layer = _thisLayerFunction;\n      _thisLayerFunction.pixelAspect = 1;\n      _thisLayerFunction.height = comp.data.h || comp.globalData.compSize.h;\n      _thisLayerFunction.width = comp.data.w || comp.globalData.compSize.w;\n      _thisLayerFunction.pixelAspect = 1;\n      _thisLayerFunction.frameDuration = 1 / comp.globalData.frameRate;\n      _thisLayerFunction.displayStartTime = 0;\n      _thisLayerFunction.numLayers = comp.layers.length;\n      return _thisLayerFunction;\n    };\n  }();\n\n  function _typeof$2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$2 = function _typeof(obj) { return typeof obj; }; } else { _typeof$2 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$2(obj); }\n\n  /* eslint-disable */\n\n  /*\r\n   Copyright 2014 David Bau.\r\n\r\n   Permission is hereby granted, free of charge, to any person obtaining\r\n   a copy of this software and associated documentation files (the\r\n   \"Software\"), to deal in the Software without restriction, including\r\n   without limitation the rights to use, copy, modify, merge, publish,\r\n   distribute, sublicense, and/or sell copies of the Software, and to\r\n   permit persons to whom the Software is furnished to do so, subject to\r\n   the following conditions:\r\n\r\n   The above copyright notice and this permission notice shall be\r\n   included in all copies or substantial portions of the Software.\r\n\r\n   THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\r\n   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\n   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\r\n   IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\r\n   CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\r\n   TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\r\n   SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n\r\n   */\n  function seedRandom(pool, math) {\n    //\n    // The following constants are related to IEEE 754 limits.\n    //\n    var global = this,\n        width = 256,\n        // each RC4 output is 0 <= x < 256\n    chunks = 6,\n        // at least six RC4 outputs for each double\n    digits = 52,\n        // there are 52 significant digits in a double\n    rngname = 'random',\n        // rngname: name for Math.random and Math.seedrandom\n    startdenom = math.pow(width, chunks),\n        significance = math.pow(2, digits),\n        overflow = significance * 2,\n        mask = width - 1,\n        nodecrypto; // node.js crypto module, initialized at the bottom.\n    //\n    // seedrandom()\n    // This is the seedrandom function described above.\n    //\n\n    function seedrandom(seed, options, callback) {\n      var key = [];\n      options = options === true ? {\n        entropy: true\n      } : options || {}; // Flatten the seed string or build one from local entropy if needed.\n\n      var shortseed = mixkey(flatten(options.entropy ? [seed, tostring(pool)] : seed === null ? autoseed() : seed, 3), key); // Use the seed to initialize an ARC4 generator.\n\n      var arc4 = new ARC4(key); // This function returns a random double in [0, 1) that contains\n      // randomness in every bit of the mantissa of the IEEE 754 value.\n\n      var prng = function prng() {\n        var n = arc4.g(chunks),\n            // Start with a numerator n < 2 ^ 48\n        d = startdenom,\n            //   and denominator d = 2 ^ 48.\n        x = 0; //   and no 'extra last byte'.\n\n        while (n < significance) {\n          // Fill up all significant digits by\n          n = (n + x) * width; //   shifting numerator and\n\n          d *= width; //   denominator and generating a\n\n          x = arc4.g(1); //   new least-significant-byte.\n        }\n\n        while (n >= overflow) {\n          // To avoid rounding up, before adding\n          n /= 2; //   last byte, shift everything\n\n          d /= 2; //   right using integer math until\n\n          x >>>= 1; //   we have exactly the desired bits.\n        }\n\n        return (n + x) / d; // Form the number within [0, 1).\n      };\n\n      prng.int32 = function () {\n        return arc4.g(4) | 0;\n      };\n\n      prng.quick = function () {\n        return arc4.g(4) / 0x100000000;\n      };\n\n      prng[\"double\"] = prng; // Mix the randomness into accumulated entropy.\n\n      mixkey(tostring(arc4.S), pool); // Calling convention: what to return as a function of prng, seed, is_math.\n\n      return (options.pass || callback || function (prng, seed, is_math_call, state) {\n        if (state) {\n          // Load the arc4 state from the given state if it has an S array.\n          if (state.S) {\n            copy(state, arc4);\n          } // Only provide the .state method if requested via options.state.\n\n\n          prng.state = function () {\n            return copy(arc4, {});\n          };\n        } // If called as a method of Math (Math.seedrandom()), mutate\n        // Math.random because that is how seedrandom.js has worked since v1.0.\n\n\n        if (is_math_call) {\n          math[rngname] = prng;\n          return seed;\n        } // Otherwise, it is a newer calling convention, so return the\n        // prng directly.\n        else return prng;\n      })(prng, shortseed, 'global' in options ? options.global : this == math, options.state);\n    }\n\n    math['seed' + rngname] = seedrandom; //\n    // ARC4\n    //\n    // An ARC4 implementation.  The constructor takes a key in the form of\n    // an array of at most (width) integers that should be 0 <= x < (width).\n    //\n    // The g(count) method returns a pseudorandom integer that concatenates\n    // the next (count) outputs from ARC4.  Its return value is a number x\n    // that is in the range 0 <= x < (width ^ count).\n    //\n\n    function ARC4(key) {\n      var t,\n          keylen = key.length,\n          me = this,\n          i = 0,\n          j = me.i = me.j = 0,\n          s = me.S = []; // The empty key [] is treated as [0].\n\n      if (!keylen) {\n        key = [keylen++];\n      } // Set up S using the standard key scheduling algorithm.\n\n\n      while (i < width) {\n        s[i] = i++;\n      }\n\n      for (i = 0; i < width; i++) {\n        s[i] = s[j = mask & j + key[i % keylen] + (t = s[i])];\n        s[j] = t;\n      } // The \"g\" method returns the next (count) outputs as one number.\n\n\n      me.g = function (count) {\n        // Using instance members instead of closure state nearly doubles speed.\n        var t,\n            r = 0,\n            i = me.i,\n            j = me.j,\n            s = me.S;\n\n        while (count--) {\n          t = s[i = mask & i + 1];\n          r = r * width + s[mask & (s[i] = s[j = mask & j + t]) + (s[j] = t)];\n        }\n\n        me.i = i;\n        me.j = j;\n        return r; // For robust unpredictability, the function call below automatically\n        // discards an initial batch of values.  This is called RC4-drop[256].\n        // See http://google.com/search?q=rsa+fluhrer+response&btnI\n      };\n    } //\n    // copy()\n    // Copies internal state of ARC4 to or from a plain object.\n    //\n\n\n    function copy(f, t) {\n      t.i = f.i;\n      t.j = f.j;\n      t.S = f.S.slice();\n      return t;\n    } //\n    // flatten()\n    // Converts an object tree to nested arrays of strings.\n    //\n\n\n    function flatten(obj, depth) {\n      var result = [],\n          typ = _typeof$2(obj),\n          prop;\n\n      if (depth && typ == 'object') {\n        for (prop in obj) {\n          try {\n            result.push(flatten(obj[prop], depth - 1));\n          } catch (e) {}\n        }\n      }\n\n      return result.length ? result : typ == 'string' ? obj : obj + '\\0';\n    } //\n    // mixkey()\n    // Mixes a string seed into a key that is an array of integers, and\n    // returns a shortened string seed that is equivalent to the result key.\n    //\n\n\n    function mixkey(seed, key) {\n      var stringseed = seed + '',\n          smear,\n          j = 0;\n\n      while (j < stringseed.length) {\n        key[mask & j] = mask & (smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++);\n      }\n\n      return tostring(key);\n    } //\n    // autoseed()\n    // Returns an object for autoseeding, using window.crypto and Node crypto\n    // module if available.\n    //\n\n\n    function autoseed() {\n      try {\n        if (nodecrypto) {\n          return tostring(nodecrypto.randomBytes(width));\n        }\n\n        var out = new Uint8Array(width);\n        (global.crypto || global.msCrypto).getRandomValues(out);\n        return tostring(out);\n      } catch (e) {\n        var browser = global.navigator,\n            plugins = browser && browser.plugins;\n        return [+new Date(), global, plugins, global.screen, tostring(pool)];\n      }\n    } //\n    // tostring()\n    // Converts an array of charcodes to a string\n    //\n\n\n    function tostring(a) {\n      return String.fromCharCode.apply(0, a);\n    } //\n    // When seedrandom.js is loaded, we immediately mix a few bits\n    // from the built-in RNG into the entropy pool.  Because we do\n    // not want to interfere with deterministic PRNG state later,\n    // seedrandom will not call math.random on its own again after\n    // initialization.\n    //\n\n\n    mixkey(math.random(), pool); //\n    // Nodejs and AMD support: export the implementation as a module using\n    // either convention.\n    //\n    // End anonymous scope, and pass initial values.\n  }\n\n  ;\n\n  function initialize$2(BMMath) {\n    seedRandom([], BMMath);\n  }\n\n  var propTypes = {\n    SHAPE: 'shape'\n  };\n\n  function _typeof$1(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$1 = function _typeof(obj) { return typeof obj; }; } else { _typeof$1 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$1(obj); }\n\n  var ExpressionManager = function () {\n    'use strict';\n\n    var ob = {};\n    var Math = BMMath;\n    var window = null;\n    var document = null;\n    var XMLHttpRequest = null;\n    var fetch = null;\n    var frames = null;\n    var _lottieGlobal = {};\n    initialize$2(BMMath);\n\n    function resetFrame() {\n      _lottieGlobal = {};\n    }\n\n    function $bm_isInstanceOfArray(arr) {\n      return arr.constructor === Array || arr.constructor === Float32Array;\n    }\n\n    function isNumerable(tOfV, v) {\n      return tOfV === 'number' || v instanceof Number || tOfV === 'boolean' || tOfV === 'string';\n    }\n\n    function $bm_neg(a) {\n      var tOfA = _typeof$1(a);\n\n      if (tOfA === 'number' || a instanceof Number || tOfA === 'boolean') {\n        return -a;\n      }\n\n      if ($bm_isInstanceOfArray(a)) {\n        var i;\n        var lenA = a.length;\n        var retArr = [];\n\n        for (i = 0; i < lenA; i += 1) {\n          retArr[i] = -a[i];\n        }\n\n        return retArr;\n      }\n\n      if (a.propType) {\n        return a.v;\n      }\n\n      return -a;\n    }\n\n    var easeInBez = BezierFactory.getBezierEasing(0.333, 0, 0.833, 0.833, 'easeIn').get;\n    var easeOutBez = BezierFactory.getBezierEasing(0.167, 0.167, 0.667, 1, 'easeOut').get;\n    var easeInOutBez = BezierFactory.getBezierEasing(0.33, 0, 0.667, 1, 'easeInOut').get;\n\n    function sum(a, b) {\n      var tOfA = _typeof$1(a);\n\n      var tOfB = _typeof$1(b);\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b) || tOfA === 'string' || tOfB === 'string') {\n        return a + b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        a = a.slice(0);\n        a[0] += b;\n        return a;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        b = b.slice(0);\n        b[0] = a + b[0];\n        return b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n        var i = 0;\n        var lenA = a.length;\n        var lenB = b.length;\n        var retArr = [];\n\n        while (i < lenA || i < lenB) {\n          if ((typeof a[i] === 'number' || a[i] instanceof Number) && (typeof b[i] === 'number' || b[i] instanceof Number)) {\n            retArr[i] = a[i] + b[i];\n          } else {\n            retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n          }\n\n          i += 1;\n        }\n\n        return retArr;\n      }\n\n      return 0;\n    }\n\n    var add = sum;\n\n    function sub(a, b) {\n      var tOfA = _typeof$1(a);\n\n      var tOfB = _typeof$1(b);\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        if (tOfA === 'string') {\n          a = parseInt(a, 10);\n        }\n\n        if (tOfB === 'string') {\n          b = parseInt(b, 10);\n        }\n\n        return a - b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        a = a.slice(0);\n        a[0] -= b;\n        return a;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        b = b.slice(0);\n        b[0] = a - b[0];\n        return b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n        var i = 0;\n        var lenA = a.length;\n        var lenB = b.length;\n        var retArr = [];\n\n        while (i < lenA || i < lenB) {\n          if ((typeof a[i] === 'number' || a[i] instanceof Number) && (typeof b[i] === 'number' || b[i] instanceof Number)) {\n            retArr[i] = a[i] - b[i];\n          } else {\n            retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n          }\n\n          i += 1;\n        }\n\n        return retArr;\n      }\n\n      return 0;\n    }\n\n    function mul(a, b) {\n      var tOfA = _typeof$1(a);\n\n      var tOfB = _typeof$1(b);\n\n      var arr;\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        return a * b;\n      }\n\n      var i;\n      var len;\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        len = a.length;\n        arr = createTypedArray('float32', len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a[i] * b;\n        }\n\n        return arr;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        len = b.length;\n        arr = createTypedArray('float32', len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a * b[i];\n        }\n\n        return arr;\n      }\n\n      return 0;\n    }\n\n    function div(a, b) {\n      var tOfA = _typeof$1(a);\n\n      var tOfB = _typeof$1(b);\n\n      var arr;\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        return a / b;\n      }\n\n      var i;\n      var len;\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        len = a.length;\n        arr = createTypedArray('float32', len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a[i] / b;\n        }\n\n        return arr;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        len = b.length;\n        arr = createTypedArray('float32', len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a / b[i];\n        }\n\n        return arr;\n      }\n\n      return 0;\n    }\n\n    function mod(a, b) {\n      if (typeof a === 'string') {\n        a = parseInt(a, 10);\n      }\n\n      if (typeof b === 'string') {\n        b = parseInt(b, 10);\n      }\n\n      return a % b;\n    }\n\n    var $bm_sum = sum;\n    var $bm_sub = sub;\n    var $bm_mul = mul;\n    var $bm_div = div;\n    var $bm_mod = mod;\n\n    function clamp(num, min, max) {\n      if (min > max) {\n        var mm = max;\n        max = min;\n        min = mm;\n      }\n\n      return Math.min(Math.max(num, min), max);\n    }\n\n    function radiansToDegrees(val) {\n      return val / degToRads;\n    }\n\n    var radians_to_degrees = radiansToDegrees;\n\n    function degreesToRadians(val) {\n      return val * degToRads;\n    }\n\n    var degrees_to_radians = radiansToDegrees;\n    var helperLengthArray = [0, 0, 0, 0, 0, 0];\n\n    function length(arr1, arr2) {\n      if (typeof arr1 === 'number' || arr1 instanceof Number) {\n        arr2 = arr2 || 0;\n        return Math.abs(arr1 - arr2);\n      }\n\n      if (!arr2) {\n        arr2 = helperLengthArray;\n      }\n\n      var i;\n      var len = Math.min(arr1.length, arr2.length);\n      var addedLength = 0;\n\n      for (i = 0; i < len; i += 1) {\n        addedLength += Math.pow(arr2[i] - arr1[i], 2);\n      }\n\n      return Math.sqrt(addedLength);\n    }\n\n    function normalize(vec) {\n      return div(vec, length(vec));\n    }\n\n    function rgbToHsl(val) {\n      var r = val[0];\n      var g = val[1];\n      var b = val[2];\n      var max = Math.max(r, g, b);\n      var min = Math.min(r, g, b);\n      var h;\n      var s;\n      var l = (max + min) / 2;\n\n      if (max === min) {\n        h = 0; // achromatic\n\n        s = 0; // achromatic\n      } else {\n        var d = max - min;\n        s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n        switch (max) {\n          case r:\n            h = (g - b) / d + (g < b ? 6 : 0);\n            break;\n\n          case g:\n            h = (b - r) / d + 2;\n            break;\n\n          case b:\n            h = (r - g) / d + 4;\n            break;\n\n          default:\n            break;\n        }\n\n        h /= 6;\n      }\n\n      return [h, s, l, val[3]];\n    }\n\n    function hue2rgb(p, q, t) {\n      if (t < 0) t += 1;\n      if (t > 1) t -= 1;\n      if (t < 1 / 6) return p + (q - p) * 6 * t;\n      if (t < 1 / 2) return q;\n      if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n      return p;\n    }\n\n    function hslToRgb(val) {\n      var h = val[0];\n      var s = val[1];\n      var l = val[2];\n      var r;\n      var g;\n      var b;\n\n      if (s === 0) {\n        r = l; // achromatic\n\n        b = l; // achromatic\n\n        g = l; // achromatic\n      } else {\n        var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n        var p = 2 * l - q;\n        r = hue2rgb(p, q, h + 1 / 3);\n        g = hue2rgb(p, q, h);\n        b = hue2rgb(p, q, h - 1 / 3);\n      }\n\n      return [r, g, b, val[3]];\n    }\n\n    function linear(t, tMin, tMax, value1, value2) {\n      if (value1 === undefined || value2 === undefined) {\n        value1 = tMin;\n        value2 = tMax;\n        tMin = 0;\n        tMax = 1;\n      }\n\n      if (tMax < tMin) {\n        var _tMin = tMax;\n        tMax = tMin;\n        tMin = _tMin;\n      }\n\n      if (t <= tMin) {\n        return value1;\n      }\n\n      if (t >= tMax) {\n        return value2;\n      }\n\n      var perc = tMax === tMin ? 0 : (t - tMin) / (tMax - tMin);\n\n      if (!value1.length) {\n        return value1 + (value2 - value1) * perc;\n      }\n\n      var i;\n      var len = value1.length;\n      var arr = createTypedArray('float32', len);\n\n      for (i = 0; i < len; i += 1) {\n        arr[i] = value1[i] + (value2[i] - value1[i]) * perc;\n      }\n\n      return arr;\n    }\n\n    function random(min, max) {\n      if (max === undefined) {\n        if (min === undefined) {\n          min = 0;\n          max = 1;\n        } else {\n          max = min;\n          min = undefined;\n        }\n      }\n\n      if (max.length) {\n        var i;\n        var len = max.length;\n\n        if (!min) {\n          min = createTypedArray('float32', len);\n        }\n\n        var arr = createTypedArray('float32', len);\n        var rnd = BMMath.random();\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = min[i] + rnd * (max[i] - min[i]);\n        }\n\n        return arr;\n      }\n\n      if (min === undefined) {\n        min = 0;\n      }\n\n      var rndm = BMMath.random();\n      return min + rndm * (max - min);\n    }\n\n    function createPath(points, inTangents, outTangents, closed) {\n      var i;\n      var len = points.length;\n      var path = shapePool.newElement();\n      path.setPathData(!!closed, len);\n      var arrPlaceholder = [0, 0];\n      var inVertexPoint;\n      var outVertexPoint;\n\n      for (i = 0; i < len; i += 1) {\n        inVertexPoint = inTangents && inTangents[i] ? inTangents[i] : arrPlaceholder;\n        outVertexPoint = outTangents && outTangents[i] ? outTangents[i] : arrPlaceholder;\n        path.setTripleAt(points[i][0], points[i][1], outVertexPoint[0] + points[i][0], outVertexPoint[1] + points[i][1], inVertexPoint[0] + points[i][0], inVertexPoint[1] + points[i][1], i, true);\n      }\n\n      return path;\n    }\n\n    function initiateExpression(elem, data, property) {\n      // Bail out if we don't want expressions\n      function noOp(_value) {\n        return _value;\n      }\n\n      if (!elem.globalData.renderConfig.runExpressions) {\n        return noOp;\n      }\n\n      var val = data.x;\n      var needsVelocity = /velocity(?![\\w\\d])/.test(val);\n\n      var _needsRandom = val.indexOf('random') !== -1;\n\n      var elemType = elem.data.ty;\n      var transform;\n      var $bm_transform;\n      var content;\n      var effect;\n      var thisProperty = property;\n      thisProperty.valueAtTime = thisProperty.getValueAtTime;\n      Object.defineProperty(thisProperty, 'value', {\n        get: function get() {\n          return thisProperty.v;\n        }\n      });\n      elem.comp.frameDuration = 1 / elem.comp.globalData.frameRate;\n      elem.comp.displayStartTime = 0;\n      var inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n      var outPoint = elem.data.op / elem.comp.globalData.frameRate;\n      var width = elem.data.sw ? elem.data.sw : 0;\n      var height = elem.data.sh ? elem.data.sh : 0;\n      var name = elem.data.nm;\n      var loopIn;\n      var loop_in;\n      var loopOut;\n      var loop_out;\n      var smooth;\n      var toWorld;\n      var fromWorld;\n      var fromComp;\n      var toComp;\n      var fromCompToSurface;\n      var position;\n      var rotation;\n      var anchorPoint;\n      var scale;\n      var thisLayer;\n      var thisComp;\n      var mask;\n      var valueAtTime;\n      var velocityAtTime;\n      var scoped_bm_rt; // val = val.replace(/(\\\\?\"|')((http)(s)?(:\\/))?\\/.*?(\\\\?\"|')/g, \"\\\"\\\"\"); // deter potential network calls\n\n      var expression_function = eval('[function _expression_function(){' + val + ';scoped_bm_rt=$bm_rt}]')[0]; // eslint-disable-line no-eval\n\n      var numKeys = property.kf ? data.k.length : 0;\n      var active = !this.data || this.data.hd !== true;\n\n      var wiggle = function wiggle(freq, amp) {\n        var iWiggle;\n        var j;\n        var lenWiggle = this.pv.length ? this.pv.length : 1;\n        var addedAmps = createTypedArray('float32', lenWiggle);\n        freq = 5;\n        var iterations = Math.floor(time * freq);\n        iWiggle = 0;\n        j = 0;\n\n        while (iWiggle < iterations) {\n          // var rnd = BMMath.random();\n          for (j = 0; j < lenWiggle; j += 1) {\n            addedAmps[j] += -amp + amp * 2 * BMMath.random(); // addedAmps[j] += -amp + amp*2*rnd;\n          }\n\n          iWiggle += 1;\n        } // var rnd2 = BMMath.random();\n\n\n        var periods = time * freq;\n        var perc = periods - Math.floor(periods);\n        var arr = createTypedArray('float32', lenWiggle);\n\n        if (lenWiggle > 1) {\n          for (j = 0; j < lenWiggle; j += 1) {\n            arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp * 2 * BMMath.random()) * perc; // arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp*2*rnd)*perc;\n            // arr[i] = this.pv[i] + addedAmp + amp1*perc + amp2*(1-perc);\n          }\n\n          return arr;\n        }\n\n        return this.pv + addedAmps[0] + (-amp + amp * 2 * BMMath.random()) * perc;\n      }.bind(this);\n\n      if (thisProperty.loopIn) {\n        loopIn = thisProperty.loopIn.bind(thisProperty);\n        loop_in = loopIn;\n      }\n\n      if (thisProperty.loopOut) {\n        loopOut = thisProperty.loopOut.bind(thisProperty);\n        loop_out = loopOut;\n      }\n\n      if (thisProperty.smooth) {\n        smooth = thisProperty.smooth.bind(thisProperty);\n      }\n\n      function loopInDuration(type, duration) {\n        return loopIn(type, duration, true);\n      }\n\n      function loopOutDuration(type, duration) {\n        return loopOut(type, duration, true);\n      }\n\n      if (this.getValueAtTime) {\n        valueAtTime = this.getValueAtTime.bind(this);\n      }\n\n      if (this.getVelocityAtTime) {\n        velocityAtTime = this.getVelocityAtTime.bind(this);\n      }\n\n      var comp = elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface);\n\n      function lookAt(elem1, elem2) {\n        var fVec = [elem2[0] - elem1[0], elem2[1] - elem1[1], elem2[2] - elem1[2]];\n        var pitch = Math.atan2(fVec[0], Math.sqrt(fVec[1] * fVec[1] + fVec[2] * fVec[2])) / degToRads;\n        var yaw = -Math.atan2(fVec[1], fVec[2]) / degToRads;\n        return [yaw, pitch, 0];\n      }\n\n      function easeOut(t, tMin, tMax, val1, val2) {\n        return applyEase(easeOutBez, t, tMin, tMax, val1, val2);\n      }\n\n      function easeIn(t, tMin, tMax, val1, val2) {\n        return applyEase(easeInBez, t, tMin, tMax, val1, val2);\n      }\n\n      function ease(t, tMin, tMax, val1, val2) {\n        return applyEase(easeInOutBez, t, tMin, tMax, val1, val2);\n      }\n\n      function applyEase(fn, t, tMin, tMax, val1, val2) {\n        if (val1 === undefined) {\n          val1 = tMin;\n          val2 = tMax;\n        } else {\n          t = (t - tMin) / (tMax - tMin);\n        }\n\n        if (t > 1) {\n          t = 1;\n        } else if (t < 0) {\n          t = 0;\n        }\n\n        var mult = fn(t);\n\n        if ($bm_isInstanceOfArray(val1)) {\n          var iKey;\n          var lenKey = val1.length;\n          var arr = createTypedArray('float32', lenKey);\n\n          for (iKey = 0; iKey < lenKey; iKey += 1) {\n            arr[iKey] = (val2[iKey] - val1[iKey]) * mult + val1[iKey];\n          }\n\n          return arr;\n        }\n\n        return (val2 - val1) * mult + val1;\n      }\n\n      function nearestKey(time) {\n        var iKey;\n        var lenKey = data.k.length;\n        var index;\n        var keyTime;\n\n        if (!data.k.length || typeof data.k[0] === 'number') {\n          index = 0;\n          keyTime = 0;\n        } else {\n          index = -1;\n          time *= elem.comp.globalData.frameRate;\n\n          if (time < data.k[0].t) {\n            index = 1;\n            keyTime = data.k[0].t;\n          } else {\n            for (iKey = 0; iKey < lenKey - 1; iKey += 1) {\n              if (time === data.k[iKey].t) {\n                index = iKey + 1;\n                keyTime = data.k[iKey].t;\n                break;\n              } else if (time > data.k[iKey].t && time < data.k[iKey + 1].t) {\n                if (time - data.k[iKey].t > data.k[iKey + 1].t - time) {\n                  index = iKey + 2;\n                  keyTime = data.k[iKey + 1].t;\n                } else {\n                  index = iKey + 1;\n                  keyTime = data.k[iKey].t;\n                }\n\n                break;\n              }\n            }\n\n            if (index === -1) {\n              index = iKey + 1;\n              keyTime = data.k[iKey].t;\n            }\n          }\n        }\n\n        var obKey = {};\n        obKey.index = index;\n        obKey.time = keyTime / elem.comp.globalData.frameRate;\n        return obKey;\n      }\n\n      function key(ind) {\n        var obKey;\n        var iKey;\n        var lenKey;\n\n        if (!data.k.length || typeof data.k[0] === 'number') {\n          throw new Error('The property has no keyframe at index ' + ind);\n        }\n\n        ind -= 1;\n        obKey = {\n          time: data.k[ind].t / elem.comp.globalData.frameRate,\n          value: []\n        };\n        var arr = Object.prototype.hasOwnProperty.call(data.k[ind], 's') ? data.k[ind].s : data.k[ind - 1].e;\n        lenKey = arr.length;\n\n        for (iKey = 0; iKey < lenKey; iKey += 1) {\n          obKey[iKey] = arr[iKey];\n          obKey.value[iKey] = arr[iKey];\n        }\n\n        return obKey;\n      }\n\n      function framesToTime(fr, fps) {\n        if (!fps) {\n          fps = elem.comp.globalData.frameRate;\n        }\n\n        return fr / fps;\n      }\n\n      function timeToFrames(t, fps) {\n        if (!t && t !== 0) {\n          t = time;\n        }\n\n        if (!fps) {\n          fps = elem.comp.globalData.frameRate;\n        }\n\n        return t * fps;\n      }\n\n      function seedRandom(seed) {\n        BMMath.seedrandom(randSeed + seed);\n      }\n\n      function sourceRectAtTime() {\n        return elem.sourceRectAtTime();\n      }\n\n      function substring(init, end) {\n        if (typeof value === 'string') {\n          if (end === undefined) {\n            return value.substring(init);\n          }\n\n          return value.substring(init, end);\n        }\n\n        return '';\n      }\n\n      function substr(init, end) {\n        if (typeof value === 'string') {\n          if (end === undefined) {\n            return value.substr(init);\n          }\n\n          return value.substr(init, end);\n        }\n\n        return '';\n      }\n\n      function posterizeTime(framesPerSecond) {\n        time = framesPerSecond === 0 ? 0 : Math.floor(time * framesPerSecond) / framesPerSecond;\n        value = valueAtTime(time);\n      }\n\n      var time;\n      var velocity;\n      var value;\n      var text;\n      var textIndex;\n      var textTotal;\n      var selectorValue;\n      var index = elem.data.ind;\n      var hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n      var parent;\n      var randSeed = Math.floor(Math.random() * 1000000);\n      var globalData = elem.globalData;\n\n      function executeExpression(_value) {\n        // globalData.pushExpression();\n        value = _value;\n\n        if (this.frameExpressionId === elem.globalData.frameId && this.propType !== 'textSelector') {\n          return value;\n        }\n\n        if (this.propType === 'textSelector') {\n          textIndex = this.textIndex;\n          textTotal = this.textTotal;\n          selectorValue = this.selectorValue;\n        }\n\n        if (!thisLayer) {\n          text = elem.layerInterface.text;\n          thisLayer = elem.layerInterface;\n          thisComp = elem.comp.compInterface;\n          toWorld = thisLayer.toWorld.bind(thisLayer);\n          fromWorld = thisLayer.fromWorld.bind(thisLayer);\n          fromComp = thisLayer.fromComp.bind(thisLayer);\n          toComp = thisLayer.toComp.bind(thisLayer);\n          mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null;\n          fromCompToSurface = fromComp;\n        }\n\n        if (!transform) {\n          transform = elem.layerInterface('ADBE Transform Group');\n          $bm_transform = transform;\n\n          if (transform) {\n            anchorPoint = transform.anchorPoint;\n            /* position = transform.position;\r\n                      rotation = transform.rotation;\r\n                      scale = transform.scale; */\n          }\n        }\n\n        if (elemType === 4 && !content) {\n          content = thisLayer('ADBE Root Vectors Group');\n        }\n\n        if (!effect) {\n          effect = thisLayer(4);\n        }\n\n        hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n\n        if (hasParent && !parent) {\n          parent = elem.hierarchy[0].layerInterface;\n        }\n\n        time = this.comp.renderedFrame / this.comp.globalData.frameRate;\n\n        if (_needsRandom) {\n          seedRandom(randSeed + time);\n        }\n\n        if (needsVelocity) {\n          velocity = velocityAtTime(time);\n        }\n\n        expression_function();\n        this.frameExpressionId = elem.globalData.frameId; // TODO: Check if it's possible to return on ShapeInterface the .v value\n        // Changed this to a ternary operation because Rollup failed compiling it correctly\n\n        scoped_bm_rt = scoped_bm_rt.propType === propTypes.SHAPE ? scoped_bm_rt.v : scoped_bm_rt;\n        return scoped_bm_rt;\n      } // Bundlers will see these as dead code and unless we reference them\n\n\n      executeExpression.__preventDeadCodeRemoval = [$bm_transform, anchorPoint, time, velocity, inPoint, outPoint, width, height, name, loop_in, loop_out, smooth, toComp, fromCompToSurface, toWorld, fromWorld, mask, position, rotation, scale, thisComp, numKeys, active, wiggle, loopInDuration, loopOutDuration, comp, lookAt, easeOut, easeIn, ease, nearestKey, key, text, textIndex, textTotal, selectorValue, framesToTime, timeToFrames, sourceRectAtTime, substring, substr, posterizeTime, index, globalData];\n      return executeExpression;\n    }\n\n    ob.initiateExpression = initiateExpression;\n    ob.__preventDeadCodeRemoval = [window, document, XMLHttpRequest, fetch, frames, $bm_neg, add, $bm_sum, $bm_sub, $bm_mul, $bm_div, $bm_mod, clamp, radians_to_degrees, degreesToRadians, degrees_to_radians, normalize, rgbToHsl, hslToRgb, linear, random, createPath, _lottieGlobal];\n    ob.resetFrame = resetFrame;\n    return ob;\n  }();\n\n  var Expressions = function () {\n    var ob = {};\n    ob.initExpressions = initExpressions;\n    ob.resetFrame = ExpressionManager.resetFrame;\n\n    function initExpressions(animation) {\n      var stackCount = 0;\n      var registers = [];\n\n      function pushExpression() {\n        stackCount += 1;\n      }\n\n      function popExpression() {\n        stackCount -= 1;\n\n        if (stackCount === 0) {\n          releaseInstances();\n        }\n      }\n\n      function registerExpressionProperty(expression) {\n        if (registers.indexOf(expression) === -1) {\n          registers.push(expression);\n        }\n      }\n\n      function releaseInstances() {\n        var i;\n        var len = registers.length;\n\n        for (i = 0; i < len; i += 1) {\n          registers[i].release();\n        }\n\n        registers.length = 0;\n      }\n\n      animation.renderer.compInterface = CompExpressionInterface(animation.renderer);\n      animation.renderer.globalData.projectInterface.registerComposition(animation.renderer);\n      animation.renderer.globalData.pushExpression = pushExpression;\n      animation.renderer.globalData.popExpression = popExpression;\n      animation.renderer.globalData.registerExpressionProperty = registerExpressionProperty;\n    }\n\n    return ob;\n  }();\n\n  var MaskManagerInterface = function () {\n    function MaskInterface(mask, data) {\n      this._mask = mask;\n      this._data = data;\n    }\n\n    Object.defineProperty(MaskInterface.prototype, 'maskPath', {\n      get: function get() {\n        if (this._mask.prop.k) {\n          this._mask.prop.getValue();\n        }\n\n        return this._mask.prop;\n      }\n    });\n    Object.defineProperty(MaskInterface.prototype, 'maskOpacity', {\n      get: function get() {\n        if (this._mask.op.k) {\n          this._mask.op.getValue();\n        }\n\n        return this._mask.op.v * 100;\n      }\n    });\n\n    var MaskManager = function MaskManager(maskManager) {\n      var _masksInterfaces = createSizedArray(maskManager.viewData.length);\n\n      var i;\n      var len = maskManager.viewData.length;\n\n      for (i = 0; i < len; i += 1) {\n        _masksInterfaces[i] = new MaskInterface(maskManager.viewData[i], maskManager.masksProperties[i]);\n      }\n\n      var maskFunction = function maskFunction(name) {\n        i = 0;\n\n        while (i < len) {\n          if (maskManager.masksProperties[i].nm === name) {\n            return _masksInterfaces[i];\n          }\n\n          i += 1;\n        }\n\n        return null;\n      };\n\n      return maskFunction;\n    };\n\n    return MaskManager;\n  }();\n\n  var ExpressionPropertyInterface = function () {\n    var defaultUnidimensionalValue = {\n      pv: 0,\n      v: 0,\n      mult: 1\n    };\n    var defaultMultidimensionalValue = {\n      pv: [0, 0, 0],\n      v: [0, 0, 0],\n      mult: 1\n    };\n\n    function completeProperty(expressionValue, property, type) {\n      Object.defineProperty(expressionValue, 'velocity', {\n        get: function get() {\n          return property.getVelocityAtTime(property.comp.currentFrame);\n        }\n      });\n      expressionValue.numKeys = property.keyframes ? property.keyframes.length : 0;\n\n      expressionValue.key = function (pos) {\n        if (!expressionValue.numKeys) {\n          return 0;\n        }\n\n        var value = '';\n\n        if ('s' in property.keyframes[pos - 1]) {\n          value = property.keyframes[pos - 1].s;\n        } else if ('e' in property.keyframes[pos - 2]) {\n          value = property.keyframes[pos - 2].e;\n        } else {\n          value = property.keyframes[pos - 2].s;\n        }\n\n        var valueProp = type === 'unidimensional' ? new Number(value) : Object.assign({}, value); // eslint-disable-line no-new-wrappers\n\n        valueProp.time = property.keyframes[pos - 1].t / property.elem.comp.globalData.frameRate;\n        valueProp.value = type === 'unidimensional' ? value[0] : value;\n        return valueProp;\n      };\n\n      expressionValue.valueAtTime = property.getValueAtTime;\n      expressionValue.speedAtTime = property.getSpeedAtTime;\n      expressionValue.velocityAtTime = property.getVelocityAtTime;\n      expressionValue.propertyGroup = property.propertyGroup;\n    }\n\n    function UnidimensionalPropertyInterface(property) {\n      if (!property || !('pv' in property)) {\n        property = defaultUnidimensionalValue;\n      }\n\n      var mult = 1 / property.mult;\n      var val = property.pv * mult;\n      var expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n      expressionValue.value = val;\n      completeProperty(expressionValue, property, 'unidimensional');\n      return function () {\n        if (property.k) {\n          property.getValue();\n        }\n\n        val = property.v * mult;\n\n        if (expressionValue.value !== val) {\n          expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n          expressionValue.value = val;\n          completeProperty(expressionValue, property, 'unidimensional');\n        }\n\n        return expressionValue;\n      };\n    }\n\n    function MultidimensionalPropertyInterface(property) {\n      if (!property || !('pv' in property)) {\n        property = defaultMultidimensionalValue;\n      }\n\n      var mult = 1 / property.mult;\n      var len = property.data && property.data.l || property.pv.length;\n      var expressionValue = createTypedArray('float32', len);\n      var arrValue = createTypedArray('float32', len);\n      expressionValue.value = arrValue;\n      completeProperty(expressionValue, property, 'multidimensional');\n      return function () {\n        if (property.k) {\n          property.getValue();\n        }\n\n        for (var i = 0; i < len; i += 1) {\n          arrValue[i] = property.v[i] * mult;\n          expressionValue[i] = arrValue[i];\n        }\n\n        return expressionValue;\n      };\n    } // TODO: try to avoid using this getter\n\n\n    function defaultGetter() {\n      return defaultUnidimensionalValue;\n    }\n\n    return function (property) {\n      if (!property) {\n        return defaultGetter;\n      }\n\n      if (property.propType === 'unidimensional') {\n        return UnidimensionalPropertyInterface(property);\n      }\n\n      return MultidimensionalPropertyInterface(property);\n    };\n  }();\n\n  var TransformExpressionInterface = function () {\n    return function (transform) {\n      function _thisFunction(name) {\n        switch (name) {\n          case 'scale':\n          case 'Scale':\n          case 'ADBE Scale':\n          case 6:\n            return _thisFunction.scale;\n\n          case 'rotation':\n          case 'Rotation':\n          case 'ADBE Rotation':\n          case 'ADBE Rotate Z':\n          case 10:\n            return _thisFunction.rotation;\n\n          case 'ADBE Rotate X':\n            return _thisFunction.xRotation;\n\n          case 'ADBE Rotate Y':\n            return _thisFunction.yRotation;\n\n          case 'position':\n          case 'Position':\n          case 'ADBE Position':\n          case 2:\n            return _thisFunction.position;\n\n          case 'ADBE Position_0':\n            return _thisFunction.xPosition;\n\n          case 'ADBE Position_1':\n            return _thisFunction.yPosition;\n\n          case 'ADBE Position_2':\n            return _thisFunction.zPosition;\n\n          case 'anchorPoint':\n          case 'AnchorPoint':\n          case 'Anchor Point':\n          case 'ADBE AnchorPoint':\n          case 1:\n            return _thisFunction.anchorPoint;\n\n          case 'opacity':\n          case 'Opacity':\n          case 11:\n            return _thisFunction.opacity;\n\n          default:\n            return null;\n        }\n      }\n\n      Object.defineProperty(_thisFunction, 'rotation', {\n        get: ExpressionPropertyInterface(transform.r || transform.rz)\n      });\n      Object.defineProperty(_thisFunction, 'zRotation', {\n        get: ExpressionPropertyInterface(transform.rz || transform.r)\n      });\n      Object.defineProperty(_thisFunction, 'xRotation', {\n        get: ExpressionPropertyInterface(transform.rx)\n      });\n      Object.defineProperty(_thisFunction, 'yRotation', {\n        get: ExpressionPropertyInterface(transform.ry)\n      });\n      Object.defineProperty(_thisFunction, 'scale', {\n        get: ExpressionPropertyInterface(transform.s)\n      });\n\n      var _px;\n\n      var _py;\n\n      var _pz;\n\n      var _transformFactory;\n\n      if (transform.p) {\n        _transformFactory = ExpressionPropertyInterface(transform.p);\n      } else {\n        _px = ExpressionPropertyInterface(transform.px);\n        _py = ExpressionPropertyInterface(transform.py);\n\n        if (transform.pz) {\n          _pz = ExpressionPropertyInterface(transform.pz);\n        }\n      }\n\n      Object.defineProperty(_thisFunction, 'position', {\n        get: function get() {\n          if (transform.p) {\n            return _transformFactory();\n          }\n\n          return [_px(), _py(), _pz ? _pz() : 0];\n        }\n      });\n      Object.defineProperty(_thisFunction, 'xPosition', {\n        get: ExpressionPropertyInterface(transform.px)\n      });\n      Object.defineProperty(_thisFunction, 'yPosition', {\n        get: ExpressionPropertyInterface(transform.py)\n      });\n      Object.defineProperty(_thisFunction, 'zPosition', {\n        get: ExpressionPropertyInterface(transform.pz)\n      });\n      Object.defineProperty(_thisFunction, 'anchorPoint', {\n        get: ExpressionPropertyInterface(transform.a)\n      });\n      Object.defineProperty(_thisFunction, 'opacity', {\n        get: ExpressionPropertyInterface(transform.o)\n      });\n      Object.defineProperty(_thisFunction, 'skew', {\n        get: ExpressionPropertyInterface(transform.sk)\n      });\n      Object.defineProperty(_thisFunction, 'skewAxis', {\n        get: ExpressionPropertyInterface(transform.sa)\n      });\n      Object.defineProperty(_thisFunction, 'orientation', {\n        get: ExpressionPropertyInterface(transform.or)\n      });\n      return _thisFunction;\n    };\n  }();\n\n  var LayerExpressionInterface = function () {\n    function getMatrix(time) {\n      var toWorldMat = new Matrix();\n\n      if (time !== undefined) {\n        var propMatrix = this._elem.finalTransform.mProp.getValueAtTime(time);\n\n        propMatrix.clone(toWorldMat);\n      } else {\n        var transformMat = this._elem.finalTransform.mProp;\n        transformMat.applyToMatrix(toWorldMat);\n      }\n\n      return toWorldMat;\n    }\n\n    function toWorldVec(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      toWorldMat.props[12] = 0;\n      toWorldMat.props[13] = 0;\n      toWorldMat.props[14] = 0;\n      return this.applyPoint(toWorldMat, arr);\n    }\n\n    function toWorld(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      return this.applyPoint(toWorldMat, arr);\n    }\n\n    function fromWorldVec(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      toWorldMat.props[12] = 0;\n      toWorldMat.props[13] = 0;\n      toWorldMat.props[14] = 0;\n      return this.invertPoint(toWorldMat, arr);\n    }\n\n    function fromWorld(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      return this.invertPoint(toWorldMat, arr);\n    }\n\n    function applyPoint(matrix, arr) {\n      if (this._elem.hierarchy && this._elem.hierarchy.length) {\n        var i;\n        var len = this._elem.hierarchy.length;\n\n        for (i = 0; i < len; i += 1) {\n          this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n        }\n      }\n\n      return matrix.applyToPointArray(arr[0], arr[1], arr[2] || 0);\n    }\n\n    function invertPoint(matrix, arr) {\n      if (this._elem.hierarchy && this._elem.hierarchy.length) {\n        var i;\n        var len = this._elem.hierarchy.length;\n\n        for (i = 0; i < len; i += 1) {\n          this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n        }\n      }\n\n      return matrix.inversePoint(arr);\n    }\n\n    function fromComp(arr) {\n      var toWorldMat = new Matrix();\n      toWorldMat.reset();\n\n      this._elem.finalTransform.mProp.applyToMatrix(toWorldMat);\n\n      if (this._elem.hierarchy && this._elem.hierarchy.length) {\n        var i;\n        var len = this._elem.hierarchy.length;\n\n        for (i = 0; i < len; i += 1) {\n          this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat);\n        }\n\n        return toWorldMat.inversePoint(arr);\n      }\n\n      return toWorldMat.inversePoint(arr);\n    }\n\n    function sampleImage() {\n      return [1, 1, 1, 1];\n    }\n\n    return function (elem) {\n      var transformInterface;\n\n      function _registerMaskInterface(maskManager) {\n        _thisLayerFunction.mask = new MaskManagerInterface(maskManager, elem);\n      }\n\n      function _registerEffectsInterface(effects) {\n        _thisLayerFunction.effect = effects;\n      }\n\n      function _thisLayerFunction(name) {\n        switch (name) {\n          case 'ADBE Root Vectors Group':\n          case 'Contents':\n          case 2:\n            return _thisLayerFunction.shapeInterface;\n\n          case 1:\n          case 6:\n          case 'Transform':\n          case 'transform':\n          case 'ADBE Transform Group':\n            return transformInterface;\n\n          case 4:\n          case 'ADBE Effect Parade':\n          case 'effects':\n          case 'Effects':\n            return _thisLayerFunction.effect;\n\n          case 'ADBE Text Properties':\n            return _thisLayerFunction.textInterface;\n\n          default:\n            return null;\n        }\n      }\n\n      _thisLayerFunction.getMatrix = getMatrix;\n      _thisLayerFunction.invertPoint = invertPoint;\n      _thisLayerFunction.applyPoint = applyPoint;\n      _thisLayerFunction.toWorld = toWorld;\n      _thisLayerFunction.toWorldVec = toWorldVec;\n      _thisLayerFunction.fromWorld = fromWorld;\n      _thisLayerFunction.fromWorldVec = fromWorldVec;\n      _thisLayerFunction.toComp = toWorld;\n      _thisLayerFunction.fromComp = fromComp;\n      _thisLayerFunction.sampleImage = sampleImage;\n      _thisLayerFunction.sourceRectAtTime = elem.sourceRectAtTime.bind(elem);\n      _thisLayerFunction._elem = elem;\n      transformInterface = TransformExpressionInterface(elem.finalTransform.mProp);\n      var anchorPointDescriptor = getDescriptor(transformInterface, 'anchorPoint');\n      Object.defineProperties(_thisLayerFunction, {\n        hasParent: {\n          get: function get() {\n            return elem.hierarchy.length;\n          }\n        },\n        parent: {\n          get: function get() {\n            return elem.hierarchy[0].layerInterface;\n          }\n        },\n        rotation: getDescriptor(transformInterface, 'rotation'),\n        scale: getDescriptor(transformInterface, 'scale'),\n        position: getDescriptor(transformInterface, 'position'),\n        opacity: getDescriptor(transformInterface, 'opacity'),\n        anchorPoint: anchorPointDescriptor,\n        anchor_point: anchorPointDescriptor,\n        transform: {\n          get: function get() {\n            return transformInterface;\n          }\n        },\n        active: {\n          get: function get() {\n            return elem.isInRange;\n          }\n        }\n      });\n      _thisLayerFunction.startTime = elem.data.st;\n      _thisLayerFunction.index = elem.data.ind;\n      _thisLayerFunction.source = elem.data.refId;\n      _thisLayerFunction.height = elem.data.ty === 0 ? elem.data.h : 100;\n      _thisLayerFunction.width = elem.data.ty === 0 ? elem.data.w : 100;\n      _thisLayerFunction.inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n      _thisLayerFunction.outPoint = elem.data.op / elem.comp.globalData.frameRate;\n      _thisLayerFunction._name = elem.data.nm;\n      _thisLayerFunction.registerMaskInterface = _registerMaskInterface;\n      _thisLayerFunction.registerEffectsInterface = _registerEffectsInterface;\n      return _thisLayerFunction;\n    };\n  }();\n\n  var propertyGroupFactory = function () {\n    return function (interfaceFunction, parentPropertyGroup) {\n      return function (val) {\n        val = val === undefined ? 1 : val;\n\n        if (val <= 0) {\n          return interfaceFunction;\n        }\n\n        return parentPropertyGroup(val - 1);\n      };\n    };\n  }();\n\n  var PropertyInterface = function () {\n    return function (propertyName, propertyGroup) {\n      var interfaceFunction = {\n        _name: propertyName\n      };\n\n      function _propertyGroup(val) {\n        val = val === undefined ? 1 : val;\n\n        if (val <= 0) {\n          return interfaceFunction;\n        }\n\n        return propertyGroup(val - 1);\n      }\n\n      return _propertyGroup;\n    };\n  }();\n\n  var EffectsExpressionInterface = function () {\n    var ob = {\n      createEffectsInterface: createEffectsInterface\n    };\n\n    function createEffectsInterface(elem, propertyGroup) {\n      if (elem.effectsManager) {\n        var effectElements = [];\n        var effectsData = elem.data.ef;\n        var i;\n        var len = elem.effectsManager.effectElements.length;\n\n        for (i = 0; i < len; i += 1) {\n          effectElements.push(createGroupInterface(effectsData[i], elem.effectsManager.effectElements[i], propertyGroup, elem));\n        }\n\n        var effects = elem.data.ef || [];\n\n        var groupInterface = function groupInterface(name) {\n          i = 0;\n          len = effects.length;\n\n          while (i < len) {\n            if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n              return effectElements[i];\n            }\n\n            i += 1;\n          }\n\n          return null;\n        };\n\n        Object.defineProperty(groupInterface, 'numProperties', {\n          get: function get() {\n            return effects.length;\n          }\n        });\n        return groupInterface;\n      }\n\n      return null;\n    }\n\n    function createGroupInterface(data, elements, propertyGroup, elem) {\n      function groupInterface(name) {\n        var effects = data.ef;\n        var i = 0;\n        var len = effects.length;\n\n        while (i < len) {\n          if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n            if (effects[i].ty === 5) {\n              return effectElements[i];\n            }\n\n            return effectElements[i]();\n          }\n\n          i += 1;\n        }\n\n        throw new Error();\n      }\n\n      var _propertyGroup = propertyGroupFactory(groupInterface, propertyGroup);\n\n      var effectElements = [];\n      var i;\n      var len = data.ef.length;\n\n      for (i = 0; i < len; i += 1) {\n        if (data.ef[i].ty === 5) {\n          effectElements.push(createGroupInterface(data.ef[i], elements.effectElements[i], elements.effectElements[i].propertyGroup, elem));\n        } else {\n          effectElements.push(createValueInterface(elements.effectElements[i], data.ef[i].ty, elem, _propertyGroup));\n        }\n      }\n\n      if (data.mn === 'ADBE Color Control') {\n        Object.defineProperty(groupInterface, 'color', {\n          get: function get() {\n            return effectElements[0]();\n          }\n        });\n      }\n\n      Object.defineProperties(groupInterface, {\n        numProperties: {\n          get: function get() {\n            return data.np;\n          }\n        },\n        _name: {\n          value: data.nm\n        },\n        propertyGroup: {\n          value: _propertyGroup\n        }\n      });\n      groupInterface.enabled = data.en !== 0;\n      groupInterface.active = groupInterface.enabled;\n      return groupInterface;\n    }\n\n    function createValueInterface(element, type, elem, propertyGroup) {\n      var expressionProperty = ExpressionPropertyInterface(element.p);\n\n      function interfaceFunction() {\n        if (type === 10) {\n          return elem.comp.compInterface(element.p.v);\n        }\n\n        return expressionProperty();\n      }\n\n      if (element.p.setGroupProperty) {\n        element.p.setGroupProperty(PropertyInterface('', propertyGroup));\n      }\n\n      return interfaceFunction;\n    }\n\n    return ob;\n  }();\n\n  var ShapePathInterface = function () {\n    return function pathInterfaceFactory(shape, view, propertyGroup) {\n      var prop = view.sh;\n\n      function interfaceFunction(val) {\n        if (val === 'Shape' || val === 'shape' || val === 'Path' || val === 'path' || val === 'ADBE Vector Shape' || val === 2) {\n          return interfaceFunction.path;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      prop.setGroupProperty(PropertyInterface('Path', _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        path: {\n          get: function get() {\n            if (prop.k) {\n              prop.getValue();\n            }\n\n            return prop;\n          }\n        },\n        shape: {\n          get: function get() {\n            if (prop.k) {\n              prop.getValue();\n            }\n\n            return prop;\n          }\n        },\n        _name: {\n          value: shape.nm\n        },\n        ix: {\n          value: shape.ix\n        },\n        propertyIndex: {\n          value: shape.ix\n        },\n        mn: {\n          value: shape.mn\n        },\n        propertyGroup: {\n          value: propertyGroup\n        }\n      });\n      return interfaceFunction;\n    };\n  }();\n\n  var ShapeExpressionInterface = function () {\n    function iterateElements(shapes, view, propertyGroup) {\n      var arr = [];\n      var i;\n      var len = shapes ? shapes.length : 0;\n\n      for (i = 0; i < len; i += 1) {\n        if (shapes[i].ty === 'gr') {\n          arr.push(groupInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === 'fl') {\n          arr.push(fillInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === 'st') {\n          arr.push(strokeInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === 'tm') {\n          arr.push(trimInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === 'tr') {// arr.push(transformInterfaceFactory(shapes[i],view[i],propertyGroup));\n        } else if (shapes[i].ty === 'el') {\n          arr.push(ellipseInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === 'sr') {\n          arr.push(starInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === 'sh') {\n          arr.push(ShapePathInterface(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === 'rc') {\n          arr.push(rectInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === 'rd') {\n          arr.push(roundedInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === 'rp') {\n          arr.push(repeaterInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === 'gf') {\n          arr.push(gradientFillInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else {\n          arr.push(defaultInterfaceFactory(shapes[i], view[i], propertyGroup));\n        }\n      }\n\n      return arr;\n    }\n\n    function contentsInterfaceFactory(shape, view, propertyGroup) {\n      var interfaces;\n\n      var interfaceFunction = function _interfaceFunction(value) {\n        var i = 0;\n        var len = interfaces.length;\n\n        while (i < len) {\n          if (interfaces[i]._name === value || interfaces[i].mn === value || interfaces[i].propertyIndex === value || interfaces[i].ix === value || interfaces[i].ind === value) {\n            return interfaces[i];\n          }\n\n          i += 1;\n        }\n\n        if (typeof value === 'number') {\n          return interfaces[value - 1];\n        }\n\n        return null;\n      };\n\n      interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n      interfaces = iterateElements(shape.it, view.it, interfaceFunction.propertyGroup);\n      interfaceFunction.numProperties = interfaces.length;\n      var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n      interfaceFunction.transform = transformInterface;\n      interfaceFunction.propertyIndex = shape.cix;\n      interfaceFunction._name = shape.nm;\n      return interfaceFunction;\n    }\n\n    function groupInterfaceFactory(shape, view, propertyGroup) {\n      var interfaceFunction = function _interfaceFunction(value) {\n        switch (value) {\n          case 'ADBE Vectors Group':\n          case 'Contents':\n          case 2:\n            return interfaceFunction.content;\n          // Not necessary for now. Keeping them here in case a new case appears\n          // case 'ADBE Vector Transform Group':\n          // case 3:\n\n          default:\n            return interfaceFunction.transform;\n        }\n      };\n\n      interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n      var content = contentsInterfaceFactory(shape, view, interfaceFunction.propertyGroup);\n      var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n      interfaceFunction.content = content;\n      interfaceFunction.transform = transformInterface;\n      Object.defineProperty(interfaceFunction, '_name', {\n        get: function get() {\n          return shape.nm;\n        }\n      }); // interfaceFunction.content = interfaceFunction;\n\n      interfaceFunction.numProperties = shape.np;\n      interfaceFunction.propertyIndex = shape.ix;\n      interfaceFunction.nm = shape.nm;\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function fillInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(val) {\n        if (val === 'Color' || val === 'color') {\n          return interfaceFunction.color;\n        }\n\n        if (val === 'Opacity' || val === 'opacity') {\n          return interfaceFunction.opacity;\n        }\n\n        return null;\n      }\n\n      Object.defineProperties(interfaceFunction, {\n        color: {\n          get: ExpressionPropertyInterface(view.c)\n        },\n        opacity: {\n          get: ExpressionPropertyInterface(view.o)\n        },\n        _name: {\n          value: shape.nm\n        },\n        mn: {\n          value: shape.mn\n        }\n      });\n      view.c.setGroupProperty(PropertyInterface('Color', propertyGroup));\n      view.o.setGroupProperty(PropertyInterface('Opacity', propertyGroup));\n      return interfaceFunction;\n    }\n\n    function gradientFillInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(val) {\n        if (val === 'Start Point' || val === 'start point') {\n          return interfaceFunction.startPoint;\n        }\n\n        if (val === 'End Point' || val === 'end point') {\n          return interfaceFunction.endPoint;\n        }\n\n        if (val === 'Opacity' || val === 'opacity') {\n          return interfaceFunction.opacity;\n        }\n\n        return null;\n      }\n\n      Object.defineProperties(interfaceFunction, {\n        startPoint: {\n          get: ExpressionPropertyInterface(view.s)\n        },\n        endPoint: {\n          get: ExpressionPropertyInterface(view.e)\n        },\n        opacity: {\n          get: ExpressionPropertyInterface(view.o)\n        },\n        type: {\n          get: function get() {\n            return 'a';\n          }\n        },\n        _name: {\n          value: shape.nm\n        },\n        mn: {\n          value: shape.mn\n        }\n      });\n      view.s.setGroupProperty(PropertyInterface('Start Point', propertyGroup));\n      view.e.setGroupProperty(PropertyInterface('End Point', propertyGroup));\n      view.o.setGroupProperty(PropertyInterface('Opacity', propertyGroup));\n      return interfaceFunction;\n    }\n\n    function defaultInterfaceFactory() {\n      function interfaceFunction() {\n        return null;\n      }\n\n      return interfaceFunction;\n    }\n\n    function strokeInterfaceFactory(shape, view, propertyGroup) {\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var _dashPropertyGroup = propertyGroupFactory(dashOb, _propertyGroup);\n\n      function addPropertyToDashOb(i) {\n        Object.defineProperty(dashOb, shape.d[i].nm, {\n          get: ExpressionPropertyInterface(view.d.dataProps[i].p)\n        });\n      }\n\n      var i;\n      var len = shape.d ? shape.d.length : 0;\n      var dashOb = {};\n\n      for (i = 0; i < len; i += 1) {\n        addPropertyToDashOb(i);\n        view.d.dataProps[i].p.setGroupProperty(_dashPropertyGroup);\n      }\n\n      function interfaceFunction(val) {\n        if (val === 'Color' || val === 'color') {\n          return interfaceFunction.color;\n        }\n\n        if (val === 'Opacity' || val === 'opacity') {\n          return interfaceFunction.opacity;\n        }\n\n        if (val === 'Stroke Width' || val === 'stroke width') {\n          return interfaceFunction.strokeWidth;\n        }\n\n        return null;\n      }\n\n      Object.defineProperties(interfaceFunction, {\n        color: {\n          get: ExpressionPropertyInterface(view.c)\n        },\n        opacity: {\n          get: ExpressionPropertyInterface(view.o)\n        },\n        strokeWidth: {\n          get: ExpressionPropertyInterface(view.w)\n        },\n        dash: {\n          get: function get() {\n            return dashOb;\n          }\n        },\n        _name: {\n          value: shape.nm\n        },\n        mn: {\n          value: shape.mn\n        }\n      });\n      view.c.setGroupProperty(PropertyInterface('Color', _propertyGroup));\n      view.o.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n      view.w.setGroupProperty(PropertyInterface('Stroke Width', _propertyGroup));\n      return interfaceFunction;\n    }\n\n    function trimInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(val) {\n        if (val === shape.e.ix || val === 'End' || val === 'end') {\n          return interfaceFunction.end;\n        }\n\n        if (val === shape.s.ix) {\n          return interfaceFunction.start;\n        }\n\n        if (val === shape.o.ix) {\n          return interfaceFunction.offset;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      interfaceFunction.propertyIndex = shape.ix;\n      view.s.setGroupProperty(PropertyInterface('Start', _propertyGroup));\n      view.e.setGroupProperty(PropertyInterface('End', _propertyGroup));\n      view.o.setGroupProperty(PropertyInterface('Offset', _propertyGroup));\n      interfaceFunction.propertyIndex = shape.ix;\n      interfaceFunction.propertyGroup = propertyGroup;\n      Object.defineProperties(interfaceFunction, {\n        start: {\n          get: ExpressionPropertyInterface(view.s)\n        },\n        end: {\n          get: ExpressionPropertyInterface(view.e)\n        },\n        offset: {\n          get: ExpressionPropertyInterface(view.o)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function transformInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.a.ix === value || value === 'Anchor Point') {\n          return interfaceFunction.anchorPoint;\n        }\n\n        if (shape.o.ix === value || value === 'Opacity') {\n          return interfaceFunction.opacity;\n        }\n\n        if (shape.p.ix === value || value === 'Position') {\n          return interfaceFunction.position;\n        }\n\n        if (shape.r.ix === value || value === 'Rotation' || value === 'ADBE Vector Rotation') {\n          return interfaceFunction.rotation;\n        }\n\n        if (shape.s.ix === value || value === 'Scale') {\n          return interfaceFunction.scale;\n        }\n\n        if (shape.sk && shape.sk.ix === value || value === 'Skew') {\n          return interfaceFunction.skew;\n        }\n\n        if (shape.sa && shape.sa.ix === value || value === 'Skew Axis') {\n          return interfaceFunction.skewAxis;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      view.transform.mProps.o.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n      view.transform.mProps.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n      view.transform.mProps.a.setGroupProperty(PropertyInterface('Anchor Point', _propertyGroup));\n      view.transform.mProps.s.setGroupProperty(PropertyInterface('Scale', _propertyGroup));\n      view.transform.mProps.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n\n      if (view.transform.mProps.sk) {\n        view.transform.mProps.sk.setGroupProperty(PropertyInterface('Skew', _propertyGroup));\n        view.transform.mProps.sa.setGroupProperty(PropertyInterface('Skew Angle', _propertyGroup));\n      }\n\n      view.transform.op.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        opacity: {\n          get: ExpressionPropertyInterface(view.transform.mProps.o)\n        },\n        position: {\n          get: ExpressionPropertyInterface(view.transform.mProps.p)\n        },\n        anchorPoint: {\n          get: ExpressionPropertyInterface(view.transform.mProps.a)\n        },\n        scale: {\n          get: ExpressionPropertyInterface(view.transform.mProps.s)\n        },\n        rotation: {\n          get: ExpressionPropertyInterface(view.transform.mProps.r)\n        },\n        skew: {\n          get: ExpressionPropertyInterface(view.transform.mProps.sk)\n        },\n        skewAxis: {\n          get: ExpressionPropertyInterface(view.transform.mProps.sa)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.ty = 'tr';\n      interfaceFunction.mn = shape.mn;\n      interfaceFunction.propertyGroup = propertyGroup;\n      return interfaceFunction;\n    }\n\n    function ellipseInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.p.ix === value) {\n          return interfaceFunction.position;\n        }\n\n        if (shape.s.ix === value) {\n          return interfaceFunction.size;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      interfaceFunction.propertyIndex = shape.ix;\n      var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n      prop.s.setGroupProperty(PropertyInterface('Size', _propertyGroup));\n      prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        size: {\n          get: ExpressionPropertyInterface(prop.s)\n        },\n        position: {\n          get: ExpressionPropertyInterface(prop.p)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function starInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.p.ix === value) {\n          return interfaceFunction.position;\n        }\n\n        if (shape.r.ix === value) {\n          return interfaceFunction.rotation;\n        }\n\n        if (shape.pt.ix === value) {\n          return interfaceFunction.points;\n        }\n\n        if (shape.or.ix === value || value === 'ADBE Vector Star Outer Radius') {\n          return interfaceFunction.outerRadius;\n        }\n\n        if (shape.os.ix === value) {\n          return interfaceFunction.outerRoundness;\n        }\n\n        if (shape.ir && (shape.ir.ix === value || value === 'ADBE Vector Star Inner Radius')) {\n          return interfaceFunction.innerRadius;\n        }\n\n        if (shape.is && shape.is.ix === value) {\n          return interfaceFunction.innerRoundness;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.or.setGroupProperty(PropertyInterface('Outer Radius', _propertyGroup));\n      prop.os.setGroupProperty(PropertyInterface('Outer Roundness', _propertyGroup));\n      prop.pt.setGroupProperty(PropertyInterface('Points', _propertyGroup));\n      prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n      prop.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n\n      if (shape.ir) {\n        prop.ir.setGroupProperty(PropertyInterface('Inner Radius', _propertyGroup));\n        prop.is.setGroupProperty(PropertyInterface('Inner Roundness', _propertyGroup));\n      }\n\n      Object.defineProperties(interfaceFunction, {\n        position: {\n          get: ExpressionPropertyInterface(prop.p)\n        },\n        rotation: {\n          get: ExpressionPropertyInterface(prop.r)\n        },\n        points: {\n          get: ExpressionPropertyInterface(prop.pt)\n        },\n        outerRadius: {\n          get: ExpressionPropertyInterface(prop.or)\n        },\n        outerRoundness: {\n          get: ExpressionPropertyInterface(prop.os)\n        },\n        innerRadius: {\n          get: ExpressionPropertyInterface(prop.ir)\n        },\n        innerRoundness: {\n          get: ExpressionPropertyInterface(prop.is)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function rectInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.p.ix === value) {\n          return interfaceFunction.position;\n        }\n\n        if (shape.r.ix === value) {\n          return interfaceFunction.roundness;\n        }\n\n        if (shape.s.ix === value || value === 'Size' || value === 'ADBE Vector Rect Size') {\n          return interfaceFunction.size;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n      prop.s.setGroupProperty(PropertyInterface('Size', _propertyGroup));\n      prop.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        position: {\n          get: ExpressionPropertyInterface(prop.p)\n        },\n        roundness: {\n          get: ExpressionPropertyInterface(prop.r)\n        },\n        size: {\n          get: ExpressionPropertyInterface(prop.s)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function roundedInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.r.ix === value || value === 'Round Corners 1') {\n          return interfaceFunction.radius;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.rd.setGroupProperty(PropertyInterface('Radius', _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        radius: {\n          get: ExpressionPropertyInterface(prop.rd)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function repeaterInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.c.ix === value || value === 'Copies') {\n          return interfaceFunction.copies;\n        }\n\n        if (shape.o.ix === value || value === 'Offset') {\n          return interfaceFunction.offset;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.c.setGroupProperty(PropertyInterface('Copies', _propertyGroup));\n      prop.o.setGroupProperty(PropertyInterface('Offset', _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        copies: {\n          get: ExpressionPropertyInterface(prop.c)\n        },\n        offset: {\n          get: ExpressionPropertyInterface(prop.o)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    return function (shapes, view, propertyGroup) {\n      var interfaces;\n\n      function _interfaceFunction(value) {\n        if (typeof value === 'number') {\n          value = value === undefined ? 1 : value;\n\n          if (value === 0) {\n            return propertyGroup;\n          }\n\n          return interfaces[value - 1];\n        }\n\n        var i = 0;\n        var len = interfaces.length;\n\n        while (i < len) {\n          if (interfaces[i]._name === value) {\n            return interfaces[i];\n          }\n\n          i += 1;\n        }\n\n        return null;\n      }\n\n      function parentGroupWrapper() {\n        return propertyGroup;\n      }\n\n      _interfaceFunction.propertyGroup = propertyGroupFactory(_interfaceFunction, parentGroupWrapper);\n      interfaces = iterateElements(shapes, view, _interfaceFunction.propertyGroup);\n      _interfaceFunction.numProperties = interfaces.length;\n      _interfaceFunction._name = 'Contents';\n      return _interfaceFunction;\n    };\n  }();\n\n  var TextExpressionInterface = function () {\n    return function (elem) {\n      var _sourceText;\n\n      function _thisLayerFunction(name) {\n        switch (name) {\n          case 'ADBE Text Document':\n            return _thisLayerFunction.sourceText;\n\n          default:\n            return null;\n        }\n      }\n\n      Object.defineProperty(_thisLayerFunction, 'sourceText', {\n        get: function get() {\n          elem.textProperty.getValue();\n          var stringValue = elem.textProperty.currentData.t;\n\n          if (!_sourceText || stringValue !== _sourceText.value) {\n            _sourceText = new String(stringValue); // eslint-disable-line no-new-wrappers\n            // If stringValue is an empty string, eval returns undefined, so it has to be returned as a String primitive\n\n            _sourceText.value = stringValue || new String(stringValue); // eslint-disable-line no-new-wrappers\n\n            Object.defineProperty(_sourceText, 'style', {\n              get: function get() {\n                return {\n                  fillColor: elem.textProperty.currentData.fc\n                };\n              }\n            });\n          }\n\n          return _sourceText;\n        }\n      });\n      return _thisLayerFunction;\n    };\n  }();\n\n  function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n  var FootageInterface = function () {\n    var outlineInterfaceFactory = function outlineInterfaceFactory(elem) {\n      var currentPropertyName = '';\n      var currentProperty = elem.getFootageData();\n\n      function init() {\n        currentPropertyName = '';\n        currentProperty = elem.getFootageData();\n        return searchProperty;\n      }\n\n      function searchProperty(value) {\n        if (currentProperty[value]) {\n          currentPropertyName = value;\n          currentProperty = currentProperty[value];\n\n          if (_typeof(currentProperty) === 'object') {\n            return searchProperty;\n          }\n\n          return currentProperty;\n        }\n\n        var propertyNameIndex = value.indexOf(currentPropertyName);\n\n        if (propertyNameIndex !== -1) {\n          var index = parseInt(value.substr(propertyNameIndex + currentPropertyName.length), 10);\n          currentProperty = currentProperty[index];\n\n          if (_typeof(currentProperty) === 'object') {\n            return searchProperty;\n          }\n\n          return currentProperty;\n        }\n\n        return '';\n      }\n\n      return init;\n    };\n\n    var dataInterfaceFactory = function dataInterfaceFactory(elem) {\n      function interfaceFunction(value) {\n        if (value === 'Outline') {\n          return interfaceFunction.outlineInterface();\n        }\n\n        return null;\n      }\n\n      interfaceFunction._name = 'Outline';\n      interfaceFunction.outlineInterface = outlineInterfaceFactory(elem);\n      return interfaceFunction;\n    };\n\n    return function (elem) {\n      function _interfaceFunction(value) {\n        if (value === 'Data') {\n          return _interfaceFunction.dataInterface;\n        }\n\n        return null;\n      }\n\n      _interfaceFunction._name = 'Data';\n      _interfaceFunction.dataInterface = dataInterfaceFactory(elem);\n      return _interfaceFunction;\n    };\n  }();\n\n  var interfaces = {\n    layer: LayerExpressionInterface,\n    effects: EffectsExpressionInterface,\n    comp: CompExpressionInterface,\n    shape: ShapeExpressionInterface,\n    text: TextExpressionInterface,\n    footage: FootageInterface\n  };\n\n  function getInterface(type) {\n    return interfaces[type] || null;\n  }\n\n  var expressionHelpers = function () {\n    function searchExpressions(elem, data, prop) {\n      if (data.x) {\n        prop.k = true;\n        prop.x = true;\n        prop.initiateExpression = ExpressionManager.initiateExpression;\n        prop.effectsSequence.push(prop.initiateExpression(elem, data, prop).bind(prop));\n      }\n    }\n\n    function getValueAtTime(frameNum) {\n      frameNum *= this.elem.globalData.frameRate;\n      frameNum -= this.offsetTime;\n\n      if (frameNum !== this._cachingAtTime.lastFrame) {\n        this._cachingAtTime.lastIndex = this._cachingAtTime.lastFrame < frameNum ? this._cachingAtTime.lastIndex : 0;\n        this._cachingAtTime.value = this.interpolateValue(frameNum, this._cachingAtTime);\n        this._cachingAtTime.lastFrame = frameNum;\n      }\n\n      return this._cachingAtTime.value;\n    }\n\n    function getSpeedAtTime(frameNum) {\n      var delta = -0.01;\n      var v1 = this.getValueAtTime(frameNum);\n      var v2 = this.getValueAtTime(frameNum + delta);\n      var speed = 0;\n\n      if (v1.length) {\n        var i;\n\n        for (i = 0; i < v1.length; i += 1) {\n          speed += Math.pow(v2[i] - v1[i], 2);\n        }\n\n        speed = Math.sqrt(speed) * 100;\n      } else {\n        speed = 0;\n      }\n\n      return speed;\n    }\n\n    function getVelocityAtTime(frameNum) {\n      if (this.vel !== undefined) {\n        return this.vel;\n      }\n\n      var delta = -0.001; // frameNum += this.elem.data.st;\n\n      var v1 = this.getValueAtTime(frameNum);\n      var v2 = this.getValueAtTime(frameNum + delta);\n      var velocity;\n\n      if (v1.length) {\n        velocity = createTypedArray('float32', v1.length);\n        var i;\n\n        for (i = 0; i < v1.length; i += 1) {\n          // removing frameRate\n          // if needed, don't add it here\n          // velocity[i] = this.elem.globalData.frameRate*((v2[i] - v1[i])/delta);\n          velocity[i] = (v2[i] - v1[i]) / delta;\n        }\n      } else {\n        velocity = (v2 - v1) / delta;\n      }\n\n      return velocity;\n    }\n\n    function getStaticValueAtTime() {\n      return this.pv;\n    }\n\n    function setGroupProperty(propertyGroup) {\n      this.propertyGroup = propertyGroup;\n    }\n\n    return {\n      searchExpressions: searchExpressions,\n      getSpeedAtTime: getSpeedAtTime,\n      getVelocityAtTime: getVelocityAtTime,\n      getValueAtTime: getValueAtTime,\n      getStaticValueAtTime: getStaticValueAtTime,\n      setGroupProperty: setGroupProperty\n    };\n  }();\n\n  function addPropertyDecorator() {\n    function loopOut(type, duration, durationFlag) {\n      if (!this.k || !this.keyframes) {\n        return this.pv;\n      }\n\n      type = type ? type.toLowerCase() : '';\n      var currentFrame = this.comp.renderedFrame;\n      var keyframes = this.keyframes;\n      var lastKeyFrame = keyframes[keyframes.length - 1].t;\n\n      if (currentFrame <= lastKeyFrame) {\n        return this.pv;\n      }\n\n      var cycleDuration;\n      var firstKeyFrame;\n\n      if (!durationFlag) {\n        if (!duration || duration > keyframes.length - 1) {\n          duration = keyframes.length - 1;\n        }\n\n        firstKeyFrame = keyframes[keyframes.length - 1 - duration].t;\n        cycleDuration = lastKeyFrame - firstKeyFrame;\n      } else {\n        if (!duration) {\n          cycleDuration = Math.max(0, lastKeyFrame - this.elem.data.ip);\n        } else {\n          cycleDuration = Math.abs(lastKeyFrame - this.elem.comp.globalData.frameRate * duration);\n        }\n\n        firstKeyFrame = lastKeyFrame - cycleDuration;\n      }\n\n      var i;\n      var len;\n      var ret;\n\n      if (type === 'pingpong') {\n        var iterations = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n        if (iterations % 2 !== 0) {\n          return this.getValueAtTime((cycleDuration - (currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n        }\n      } else if (type === 'offset') {\n        var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n        var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n        var current = this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n\n        var repeats = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n        if (this.pv.length) {\n          ret = new Array(initV.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = (endV[i] - initV[i]) * repeats + current[i];\n          }\n\n          return ret;\n        }\n\n        return (endV - initV) * repeats + current;\n      } else if (type === 'continue') {\n        var lastValue = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n        var nextLastValue = this.getValueAtTime((lastKeyFrame - 0.001) / this.comp.globalData.frameRate, 0);\n\n        if (this.pv.length) {\n          ret = new Array(lastValue.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = lastValue[i] + (lastValue[i] - nextLastValue[i]) * ((currentFrame - lastKeyFrame) / this.comp.globalData.frameRate) / 0.0005; // eslint-disable-line\n          }\n\n          return ret;\n        }\n\n        return lastValue + (lastValue - nextLastValue) * ((currentFrame - lastKeyFrame) / 0.001);\n      }\n\n      return this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n    }\n\n    function loopIn(type, duration, durationFlag) {\n      if (!this.k) {\n        return this.pv;\n      }\n\n      type = type ? type.toLowerCase() : '';\n      var currentFrame = this.comp.renderedFrame;\n      var keyframes = this.keyframes;\n      var firstKeyFrame = keyframes[0].t;\n\n      if (currentFrame >= firstKeyFrame) {\n        return this.pv;\n      }\n\n      var cycleDuration;\n      var lastKeyFrame;\n\n      if (!durationFlag) {\n        if (!duration || duration > keyframes.length - 1) {\n          duration = keyframes.length - 1;\n        }\n\n        lastKeyFrame = keyframes[duration].t;\n        cycleDuration = lastKeyFrame - firstKeyFrame;\n      } else {\n        if (!duration) {\n          cycleDuration = Math.max(0, this.elem.data.op - firstKeyFrame);\n        } else {\n          cycleDuration = Math.abs(this.elem.comp.globalData.frameRate * duration);\n        }\n\n        lastKeyFrame = firstKeyFrame + cycleDuration;\n      }\n\n      var i;\n      var len;\n      var ret;\n\n      if (type === 'pingpong') {\n        var iterations = Math.floor((firstKeyFrame - currentFrame) / cycleDuration);\n\n        if (iterations % 2 === 0) {\n          return this.getValueAtTime(((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n        }\n      } else if (type === 'offset') {\n        var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n        var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n        var current = this.getValueAtTime((cycleDuration - (firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0);\n        var repeats = Math.floor((firstKeyFrame - currentFrame) / cycleDuration) + 1;\n\n        if (this.pv.length) {\n          ret = new Array(initV.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = current[i] - (endV[i] - initV[i]) * repeats;\n          }\n\n          return ret;\n        }\n\n        return current - (endV - initV) * repeats;\n      } else if (type === 'continue') {\n        var firstValue = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n        var nextFirstValue = this.getValueAtTime((firstKeyFrame + 0.001) / this.comp.globalData.frameRate, 0);\n\n        if (this.pv.length) {\n          ret = new Array(firstValue.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = firstValue[i] + (firstValue[i] - nextFirstValue[i]) * (firstKeyFrame - currentFrame) / 0.001;\n          }\n\n          return ret;\n        }\n\n        return firstValue + (firstValue - nextFirstValue) * (firstKeyFrame - currentFrame) / 0.001;\n      }\n\n      return this.getValueAtTime((cycleDuration - ((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame)) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n    }\n\n    function smooth(width, samples) {\n      if (!this.k) {\n        return this.pv;\n      }\n\n      width = (width || 0.4) * 0.5;\n      samples = Math.floor(samples || 5);\n\n      if (samples <= 1) {\n        return this.pv;\n      }\n\n      var currentTime = this.comp.renderedFrame / this.comp.globalData.frameRate;\n      var initFrame = currentTime - width;\n      var endFrame = currentTime + width;\n      var sampleFrequency = samples > 1 ? (endFrame - initFrame) / (samples - 1) : 1;\n      var i = 0;\n      var j = 0;\n      var value;\n\n      if (this.pv.length) {\n        value = createTypedArray('float32', this.pv.length);\n      } else {\n        value = 0;\n      }\n\n      var sampleValue;\n\n      while (i < samples) {\n        sampleValue = this.getValueAtTime(initFrame + i * sampleFrequency);\n\n        if (this.pv.length) {\n          for (j = 0; j < this.pv.length; j += 1) {\n            value[j] += sampleValue[j];\n          }\n        } else {\n          value += sampleValue;\n        }\n\n        i += 1;\n      }\n\n      if (this.pv.length) {\n        for (j = 0; j < this.pv.length; j += 1) {\n          value[j] /= samples;\n        }\n      } else {\n        value /= samples;\n      }\n\n      return value;\n    }\n\n    function getTransformValueAtTime(time) {\n      if (!this._transformCachingAtTime) {\n        this._transformCachingAtTime = {\n          v: new Matrix()\n        };\n      } /// /\n\n\n      var matrix = this._transformCachingAtTime.v;\n      matrix.cloneFromProps(this.pre.props);\n\n      if (this.appliedTransformations < 1) {\n        var anchor = this.a.getValueAtTime(time);\n        matrix.translate(-anchor[0] * this.a.mult, -anchor[1] * this.a.mult, anchor[2] * this.a.mult);\n      }\n\n      if (this.appliedTransformations < 2) {\n        var scale = this.s.getValueAtTime(time);\n        matrix.scale(scale[0] * this.s.mult, scale[1] * this.s.mult, scale[2] * this.s.mult);\n      }\n\n      if (this.sk && this.appliedTransformations < 3) {\n        var skew = this.sk.getValueAtTime(time);\n        var skewAxis = this.sa.getValueAtTime(time);\n        matrix.skewFromAxis(-skew * this.sk.mult, skewAxis * this.sa.mult);\n      }\n\n      if (this.r && this.appliedTransformations < 4) {\n        var rotation = this.r.getValueAtTime(time);\n        matrix.rotate(-rotation * this.r.mult);\n      } else if (!this.r && this.appliedTransformations < 4) {\n        var rotationZ = this.rz.getValueAtTime(time);\n        var rotationY = this.ry.getValueAtTime(time);\n        var rotationX = this.rx.getValueAtTime(time);\n        var orientation = this.or.getValueAtTime(time);\n        matrix.rotateZ(-rotationZ * this.rz.mult).rotateY(rotationY * this.ry.mult).rotateX(rotationX * this.rx.mult).rotateZ(-orientation[2] * this.or.mult).rotateY(orientation[1] * this.or.mult).rotateX(orientation[0] * this.or.mult);\n      }\n\n      if (this.data.p && this.data.p.s) {\n        var positionX = this.px.getValueAtTime(time);\n        var positionY = this.py.getValueAtTime(time);\n\n        if (this.data.p.z) {\n          var positionZ = this.pz.getValueAtTime(time);\n          matrix.translate(positionX * this.px.mult, positionY * this.py.mult, -positionZ * this.pz.mult);\n        } else {\n          matrix.translate(positionX * this.px.mult, positionY * this.py.mult, 0);\n        }\n      } else {\n        var position = this.p.getValueAtTime(time);\n        matrix.translate(position[0] * this.p.mult, position[1] * this.p.mult, -position[2] * this.p.mult);\n      }\n\n      return matrix; /// /\n    }\n\n    function getTransformStaticValueAtTime() {\n      return this.v.clone(new Matrix());\n    }\n\n    var getTransformProperty = TransformPropertyFactory.getTransformProperty;\n\n    TransformPropertyFactory.getTransformProperty = function (elem, data, container) {\n      var prop = getTransformProperty(elem, data, container);\n\n      if (prop.dynamicProperties.length) {\n        prop.getValueAtTime = getTransformValueAtTime.bind(prop);\n      } else {\n        prop.getValueAtTime = getTransformStaticValueAtTime.bind(prop);\n      }\n\n      prop.setGroupProperty = expressionHelpers.setGroupProperty;\n      return prop;\n    };\n\n    var propertyGetProp = PropertyFactory.getProp;\n\n    PropertyFactory.getProp = function (elem, data, type, mult, container) {\n      var prop = propertyGetProp(elem, data, type, mult, container); // prop.getVelocityAtTime = getVelocityAtTime;\n      // prop.loopOut = loopOut;\n      // prop.loopIn = loopIn;\n\n      if (prop.kf) {\n        prop.getValueAtTime = expressionHelpers.getValueAtTime.bind(prop);\n      } else {\n        prop.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(prop);\n      }\n\n      prop.setGroupProperty = expressionHelpers.setGroupProperty;\n      prop.loopOut = loopOut;\n      prop.loopIn = loopIn;\n      prop.smooth = smooth;\n      prop.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(prop);\n      prop.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(prop);\n      prop.numKeys = data.a === 1 ? data.k.length : 0;\n      prop.propertyIndex = data.ix;\n      var value = 0;\n\n      if (type !== 0) {\n        value = createTypedArray('float32', data.a === 1 ? data.k[0].s.length : data.k.length);\n      }\n\n      prop._cachingAtTime = {\n        lastFrame: initialDefaultFrame,\n        lastIndex: 0,\n        value: value\n      };\n      expressionHelpers.searchExpressions(elem, data, prop);\n\n      if (prop.k) {\n        container.addDynamicProperty(prop);\n      }\n\n      return prop;\n    };\n\n    function getShapeValueAtTime(frameNum) {\n      // For now this caching object is created only when needed instead of creating it when the shape is initialized.\n      if (!this._cachingAtTime) {\n        this._cachingAtTime = {\n          shapeValue: shapePool.clone(this.pv),\n          lastIndex: 0,\n          lastTime: initialDefaultFrame\n        };\n      }\n\n      frameNum *= this.elem.globalData.frameRate;\n      frameNum -= this.offsetTime;\n\n      if (frameNum !== this._cachingAtTime.lastTime) {\n        this._cachingAtTime.lastIndex = this._cachingAtTime.lastTime < frameNum ? this._caching.lastIndex : 0;\n        this._cachingAtTime.lastTime = frameNum;\n        this.interpolateShape(frameNum, this._cachingAtTime.shapeValue, this._cachingAtTime);\n      }\n\n      return this._cachingAtTime.shapeValue;\n    }\n\n    var ShapePropertyConstructorFunction = ShapePropertyFactory.getConstructorFunction();\n    var KeyframedShapePropertyConstructorFunction = ShapePropertyFactory.getKeyframedConstructorFunction();\n\n    function ShapeExpressions() {}\n\n    ShapeExpressions.prototype = {\n      vertices: function vertices(prop, time) {\n        if (this.k) {\n          this.getValue();\n        }\n\n        var shapePath = this.v;\n\n        if (time !== undefined) {\n          shapePath = this.getValueAtTime(time, 0);\n        }\n\n        var i;\n        var len = shapePath._length;\n        var vertices = shapePath[prop];\n        var points = shapePath.v;\n        var arr = createSizedArray(len);\n\n        for (i = 0; i < len; i += 1) {\n          if (prop === 'i' || prop === 'o') {\n            arr[i] = [vertices[i][0] - points[i][0], vertices[i][1] - points[i][1]];\n          } else {\n            arr[i] = [vertices[i][0], vertices[i][1]];\n          }\n        }\n\n        return arr;\n      },\n      points: function points(time) {\n        return this.vertices('v', time);\n      },\n      inTangents: function inTangents(time) {\n        return this.vertices('i', time);\n      },\n      outTangents: function outTangents(time) {\n        return this.vertices('o', time);\n      },\n      isClosed: function isClosed() {\n        return this.v.c;\n      },\n      pointOnPath: function pointOnPath(perc, time) {\n        var shapePath = this.v;\n\n        if (time !== undefined) {\n          shapePath = this.getValueAtTime(time, 0);\n        }\n\n        if (!this._segmentsLength) {\n          this._segmentsLength = bez.getSegmentsLength(shapePath);\n        }\n\n        var segmentsLength = this._segmentsLength;\n        var lengths = segmentsLength.lengths;\n        var lengthPos = segmentsLength.totalLength * perc;\n        var i = 0;\n        var len = lengths.length;\n        var accumulatedLength = 0;\n        var pt;\n\n        while (i < len) {\n          if (accumulatedLength + lengths[i].addedLength > lengthPos) {\n            var initIndex = i;\n            var endIndex = shapePath.c && i === len - 1 ? 0 : i + 1;\n            var segmentPerc = (lengthPos - accumulatedLength) / lengths[i].addedLength;\n            pt = bez.getPointInSegment(shapePath.v[initIndex], shapePath.v[endIndex], shapePath.o[initIndex], shapePath.i[endIndex], segmentPerc, lengths[i]);\n            break;\n          } else {\n            accumulatedLength += lengths[i].addedLength;\n          }\n\n          i += 1;\n        }\n\n        if (!pt) {\n          pt = shapePath.c ? [shapePath.v[0][0], shapePath.v[0][1]] : [shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1]];\n        }\n\n        return pt;\n      },\n      vectorOnPath: function vectorOnPath(perc, time, vectorType) {\n        // perc doesn't use triple equality because it can be a Number object as well as a primitive.\n        if (perc == 1) {\n          // eslint-disable-line eqeqeq\n          perc = this.v.c;\n        } else if (perc == 0) {\n          // eslint-disable-line eqeqeq\n          perc = 0.999;\n        }\n\n        var pt1 = this.pointOnPath(perc, time);\n        var pt2 = this.pointOnPath(perc + 0.001, time);\n        var xLength = pt2[0] - pt1[0];\n        var yLength = pt2[1] - pt1[1];\n        var magnitude = Math.sqrt(Math.pow(xLength, 2) + Math.pow(yLength, 2));\n\n        if (magnitude === 0) {\n          return [0, 0];\n        }\n\n        var unitVector = vectorType === 'tangent' ? [xLength / magnitude, yLength / magnitude] : [-yLength / magnitude, xLength / magnitude];\n        return unitVector;\n      },\n      tangentOnPath: function tangentOnPath(perc, time) {\n        return this.vectorOnPath(perc, time, 'tangent');\n      },\n      normalOnPath: function normalOnPath(perc, time) {\n        return this.vectorOnPath(perc, time, 'normal');\n      },\n      setGroupProperty: expressionHelpers.setGroupProperty,\n      getValueAtTime: expressionHelpers.getStaticValueAtTime\n    };\n    extendPrototype([ShapeExpressions], ShapePropertyConstructorFunction);\n    extendPrototype([ShapeExpressions], KeyframedShapePropertyConstructorFunction);\n    KeyframedShapePropertyConstructorFunction.prototype.getValueAtTime = getShapeValueAtTime;\n    KeyframedShapePropertyConstructorFunction.prototype.initiateExpression = ExpressionManager.initiateExpression;\n    var propertyGetShapeProp = ShapePropertyFactory.getShapeProp;\n\n    ShapePropertyFactory.getShapeProp = function (elem, data, type, arr, trims) {\n      var prop = propertyGetShapeProp(elem, data, type, arr, trims);\n      prop.propertyIndex = data.ix;\n      prop.lock = false;\n\n      if (type === 3) {\n        expressionHelpers.searchExpressions(elem, data.pt, prop);\n      } else if (type === 4) {\n        expressionHelpers.searchExpressions(elem, data.ks, prop);\n      }\n\n      if (prop.k) {\n        elem.addDynamicProperty(prop);\n      }\n\n      return prop;\n    };\n  }\n\n  function initialize$1() {\n    addPropertyDecorator();\n  }\n\n  function addDecorator() {\n    function searchExpressions() {\n      if (this.data.d.x) {\n        this.calculateExpression = ExpressionManager.initiateExpression.bind(this)(this.elem, this.data.d, this);\n        this.addEffect(this.getExpressionValue.bind(this));\n        return true;\n      }\n\n      return null;\n    }\n\n    TextProperty.prototype.getExpressionValue = function (currentValue, text) {\n      var newValue = this.calculateExpression(text);\n\n      if (currentValue.t !== newValue) {\n        var newData = {};\n        this.copyData(newData, currentValue);\n        newData.t = newValue.toString();\n        newData.__complete = false;\n        return newData;\n      }\n\n      return currentValue;\n    };\n\n    TextProperty.prototype.searchProperty = function () {\n      var isKeyframed = this.searchKeyframes();\n      var hasExpressions = this.searchExpressions();\n      this.kf = isKeyframed || hasExpressions;\n      return this.kf;\n    };\n\n    TextProperty.prototype.searchExpressions = searchExpressions;\n  }\n\n  function initialize() {\n    addDecorator();\n  }\n\n  function SVGComposableEffect() {}\n\n  SVGComposableEffect.prototype = {\n    createMergeNode: function createMergeNode(resultId, ins) {\n      var feMerge = createNS('feMerge');\n      feMerge.setAttribute('result', resultId);\n      var feMergeNode;\n      var i;\n\n      for (i = 0; i < ins.length; i += 1) {\n        feMergeNode = createNS('feMergeNode');\n        feMergeNode.setAttribute('in', ins[i]);\n        feMerge.appendChild(feMergeNode);\n        feMerge.appendChild(feMergeNode);\n      }\n\n      return feMerge;\n    }\n  };\n\n  var linearFilterValue = '0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0';\n\n  function SVGTintFilter(filter, filterManager, elem, id, source) {\n    this.filterManager = filterManager;\n    var feColorMatrix = createNS('feColorMatrix');\n    feColorMatrix.setAttribute('type', 'matrix');\n    feColorMatrix.setAttribute('color-interpolation-filters', 'linearRGB');\n    feColorMatrix.setAttribute('values', linearFilterValue + ' 1 0');\n    this.linearFilter = feColorMatrix;\n    feColorMatrix.setAttribute('result', id + '_tint_1');\n    filter.appendChild(feColorMatrix);\n    feColorMatrix = createNS('feColorMatrix');\n    feColorMatrix.setAttribute('type', 'matrix');\n    feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n    feColorMatrix.setAttribute('values', '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0');\n    feColorMatrix.setAttribute('result', id + '_tint_2');\n    filter.appendChild(feColorMatrix);\n    this.matrixFilter = feColorMatrix;\n    var feMerge = this.createMergeNode(id, [source, id + '_tint_1', id + '_tint_2']);\n    filter.appendChild(feMerge);\n  }\n\n  extendPrototype([SVGComposableEffect], SVGTintFilter);\n\n  SVGTintFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || this.filterManager._mdf) {\n      var colorBlack = this.filterManager.effectElements[0].p.v;\n      var colorWhite = this.filterManager.effectElements[1].p.v;\n      var opacity = this.filterManager.effectElements[2].p.v / 100;\n      this.linearFilter.setAttribute('values', linearFilterValue + ' ' + opacity + ' 0');\n      this.matrixFilter.setAttribute('values', colorWhite[0] - colorBlack[0] + ' 0 0 0 ' + colorBlack[0] + ' ' + (colorWhite[1] - colorBlack[1]) + ' 0 0 0 ' + colorBlack[1] + ' ' + (colorWhite[2] - colorBlack[2]) + ' 0 0 0 ' + colorBlack[2] + ' 0 0 0 1 0');\n    }\n  };\n\n  function SVGFillFilter(filter, filterManager, elem, id) {\n    this.filterManager = filterManager;\n    var feColorMatrix = createNS('feColorMatrix');\n    feColorMatrix.setAttribute('type', 'matrix');\n    feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n    feColorMatrix.setAttribute('values', '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0');\n    feColorMatrix.setAttribute('result', id);\n    filter.appendChild(feColorMatrix);\n    this.matrixFilter = feColorMatrix;\n  }\n\n  SVGFillFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || this.filterManager._mdf) {\n      var color = this.filterManager.effectElements[2].p.v;\n      var opacity = this.filterManager.effectElements[6].p.v;\n      this.matrixFilter.setAttribute('values', '0 0 0 0 ' + color[0] + ' 0 0 0 0 ' + color[1] + ' 0 0 0 0 ' + color[2] + ' 0 0 0 ' + opacity + ' 0');\n    }\n  };\n\n  function SVGStrokeEffect(fil, filterManager, elem) {\n    this.initialized = false;\n    this.filterManager = filterManager;\n    this.elem = elem;\n    this.paths = [];\n  }\n\n  SVGStrokeEffect.prototype.initialize = function () {\n    var elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;\n    var path;\n    var groupPath;\n    var i;\n    var len;\n\n    if (this.filterManager.effectElements[1].p.v === 1) {\n      len = this.elem.maskManager.masksProperties.length;\n      i = 0;\n    } else {\n      i = this.filterManager.effectElements[0].p.v - 1;\n      len = i + 1;\n    }\n\n    groupPath = createNS('g');\n    groupPath.setAttribute('fill', 'none');\n    groupPath.setAttribute('stroke-linecap', 'round');\n    groupPath.setAttribute('stroke-dashoffset', 1);\n\n    for (i; i < len; i += 1) {\n      path = createNS('path');\n      groupPath.appendChild(path);\n      this.paths.push({\n        p: path,\n        m: i\n      });\n    }\n\n    if (this.filterManager.effectElements[10].p.v === 3) {\n      var mask = createNS('mask');\n      var id = createElementID();\n      mask.setAttribute('id', id);\n      mask.setAttribute('mask-type', 'alpha');\n      mask.appendChild(groupPath);\n      this.elem.globalData.defs.appendChild(mask);\n      var g = createNS('g');\n      g.setAttribute('mask', 'url(' + getLocationHref() + '#' + id + ')');\n\n      while (elemChildren[0]) {\n        g.appendChild(elemChildren[0]);\n      }\n\n      this.elem.layerElement.appendChild(g);\n      this.masker = mask;\n      groupPath.setAttribute('stroke', '#fff');\n    } else if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) {\n      if (this.filterManager.effectElements[10].p.v === 2) {\n        elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;\n\n        while (elemChildren.length) {\n          this.elem.layerElement.removeChild(elemChildren[0]);\n        }\n      }\n\n      this.elem.layerElement.appendChild(groupPath);\n      this.elem.layerElement.removeAttribute('mask');\n      groupPath.setAttribute('stroke', '#fff');\n    }\n\n    this.initialized = true;\n    this.pathMasker = groupPath;\n  };\n\n  SVGStrokeEffect.prototype.renderFrame = function (forceRender) {\n    if (!this.initialized) {\n      this.initialize();\n    }\n\n    var i;\n    var len = this.paths.length;\n    var mask;\n    var path;\n\n    for (i = 0; i < len; i += 1) {\n      if (this.paths[i].m !== -1) {\n        mask = this.elem.maskManager.viewData[this.paths[i].m];\n        path = this.paths[i].p;\n\n        if (forceRender || this.filterManager._mdf || mask.prop._mdf) {\n          path.setAttribute('d', mask.lastPath);\n        }\n\n        if (forceRender || this.filterManager.effectElements[9].p._mdf || this.filterManager.effectElements[4].p._mdf || this.filterManager.effectElements[7].p._mdf || this.filterManager.effectElements[8].p._mdf || mask.prop._mdf) {\n          var dasharrayValue;\n\n          if (this.filterManager.effectElements[7].p.v !== 0 || this.filterManager.effectElements[8].p.v !== 100) {\n            var s = Math.min(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) * 0.01;\n            var e = Math.max(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) * 0.01;\n            var l = path.getTotalLength();\n            dasharrayValue = '0 0 0 ' + l * s + ' ';\n            var lineLength = l * (e - s);\n            var segment = 1 + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01;\n            var units = Math.floor(lineLength / segment);\n            var j;\n\n            for (j = 0; j < units; j += 1) {\n              dasharrayValue += '1 ' + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01 + ' ';\n            }\n\n            dasharrayValue += '0 ' + l * 10 + ' 0 0';\n          } else {\n            dasharrayValue = '1 ' + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01;\n          }\n\n          path.setAttribute('stroke-dasharray', dasharrayValue);\n        }\n      }\n    }\n\n    if (forceRender || this.filterManager.effectElements[4].p._mdf) {\n      this.pathMasker.setAttribute('stroke-width', this.filterManager.effectElements[4].p.v * 2);\n    }\n\n    if (forceRender || this.filterManager.effectElements[6].p._mdf) {\n      this.pathMasker.setAttribute('opacity', this.filterManager.effectElements[6].p.v);\n    }\n\n    if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) {\n      if (forceRender || this.filterManager.effectElements[3].p._mdf) {\n        var color = this.filterManager.effectElements[3].p.v;\n        this.pathMasker.setAttribute('stroke', 'rgb(' + bmFloor(color[0] * 255) + ',' + bmFloor(color[1] * 255) + ',' + bmFloor(color[2] * 255) + ')');\n      }\n    }\n  };\n\n  function SVGTritoneFilter(filter, filterManager, elem, id) {\n    this.filterManager = filterManager;\n    var feColorMatrix = createNS('feColorMatrix');\n    feColorMatrix.setAttribute('type', 'matrix');\n    feColorMatrix.setAttribute('color-interpolation-filters', 'linearRGB');\n    feColorMatrix.setAttribute('values', '0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0');\n    filter.appendChild(feColorMatrix);\n    var feComponentTransfer = createNS('feComponentTransfer');\n    feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n    feComponentTransfer.setAttribute('result', id);\n    this.matrixFilter = feComponentTransfer;\n    var feFuncR = createNS('feFuncR');\n    feFuncR.setAttribute('type', 'table');\n    feComponentTransfer.appendChild(feFuncR);\n    this.feFuncR = feFuncR;\n    var feFuncG = createNS('feFuncG');\n    feFuncG.setAttribute('type', 'table');\n    feComponentTransfer.appendChild(feFuncG);\n    this.feFuncG = feFuncG;\n    var feFuncB = createNS('feFuncB');\n    feFuncB.setAttribute('type', 'table');\n    feComponentTransfer.appendChild(feFuncB);\n    this.feFuncB = feFuncB;\n    filter.appendChild(feComponentTransfer);\n  }\n\n  SVGTritoneFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || this.filterManager._mdf) {\n      var color1 = this.filterManager.effectElements[0].p.v;\n      var color2 = this.filterManager.effectElements[1].p.v;\n      var color3 = this.filterManager.effectElements[2].p.v;\n      var tableR = color3[0] + ' ' + color2[0] + ' ' + color1[0];\n      var tableG = color3[1] + ' ' + color2[1] + ' ' + color1[1];\n      var tableB = color3[2] + ' ' + color2[2] + ' ' + color1[2];\n      this.feFuncR.setAttribute('tableValues', tableR);\n      this.feFuncG.setAttribute('tableValues', tableG);\n      this.feFuncB.setAttribute('tableValues', tableB);\n    }\n  };\n\n  function SVGProLevelsFilter(filter, filterManager, elem, id) {\n    this.filterManager = filterManager;\n    var effectElements = this.filterManager.effectElements;\n    var feComponentTransfer = createNS('feComponentTransfer'); // Red\n\n    if (effectElements[10].p.k || effectElements[10].p.v !== 0 || effectElements[11].p.k || effectElements[11].p.v !== 1 || effectElements[12].p.k || effectElements[12].p.v !== 1 || effectElements[13].p.k || effectElements[13].p.v !== 0 || effectElements[14].p.k || effectElements[14].p.v !== 1) {\n      this.feFuncR = this.createFeFunc('feFuncR', feComponentTransfer);\n    } // Green\n\n\n    if (effectElements[17].p.k || effectElements[17].p.v !== 0 || effectElements[18].p.k || effectElements[18].p.v !== 1 || effectElements[19].p.k || effectElements[19].p.v !== 1 || effectElements[20].p.k || effectElements[20].p.v !== 0 || effectElements[21].p.k || effectElements[21].p.v !== 1) {\n      this.feFuncG = this.createFeFunc('feFuncG', feComponentTransfer);\n    } // Blue\n\n\n    if (effectElements[24].p.k || effectElements[24].p.v !== 0 || effectElements[25].p.k || effectElements[25].p.v !== 1 || effectElements[26].p.k || effectElements[26].p.v !== 1 || effectElements[27].p.k || effectElements[27].p.v !== 0 || effectElements[28].p.k || effectElements[28].p.v !== 1) {\n      this.feFuncB = this.createFeFunc('feFuncB', feComponentTransfer);\n    } // Alpha\n\n\n    if (effectElements[31].p.k || effectElements[31].p.v !== 0 || effectElements[32].p.k || effectElements[32].p.v !== 1 || effectElements[33].p.k || effectElements[33].p.v !== 1 || effectElements[34].p.k || effectElements[34].p.v !== 0 || effectElements[35].p.k || effectElements[35].p.v !== 1) {\n      this.feFuncA = this.createFeFunc('feFuncA', feComponentTransfer);\n    } // RGB\n\n\n    if (this.feFuncR || this.feFuncG || this.feFuncB || this.feFuncA) {\n      feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n      filter.appendChild(feComponentTransfer);\n    }\n\n    if (effectElements[3].p.k || effectElements[3].p.v !== 0 || effectElements[4].p.k || effectElements[4].p.v !== 1 || effectElements[5].p.k || effectElements[5].p.v !== 1 || effectElements[6].p.k || effectElements[6].p.v !== 0 || effectElements[7].p.k || effectElements[7].p.v !== 1) {\n      feComponentTransfer = createNS('feComponentTransfer');\n      feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n      feComponentTransfer.setAttribute('result', id);\n      filter.appendChild(feComponentTransfer);\n      this.feFuncRComposed = this.createFeFunc('feFuncR', feComponentTransfer);\n      this.feFuncGComposed = this.createFeFunc('feFuncG', feComponentTransfer);\n      this.feFuncBComposed = this.createFeFunc('feFuncB', feComponentTransfer);\n    }\n  }\n\n  SVGProLevelsFilter.prototype.createFeFunc = function (type, feComponentTransfer) {\n    var feFunc = createNS(type);\n    feFunc.setAttribute('type', 'table');\n    feComponentTransfer.appendChild(feFunc);\n    return feFunc;\n  };\n\n  SVGProLevelsFilter.prototype.getTableValue = function (inputBlack, inputWhite, gamma, outputBlack, outputWhite) {\n    var cnt = 0;\n    var segments = 256;\n    var perc;\n    var min = Math.min(inputBlack, inputWhite);\n    var max = Math.max(inputBlack, inputWhite);\n    var table = Array.call(null, {\n      length: segments\n    });\n    var colorValue;\n    var pos = 0;\n    var outputDelta = outputWhite - outputBlack;\n    var inputDelta = inputWhite - inputBlack;\n\n    while (cnt <= 256) {\n      perc = cnt / 256;\n\n      if (perc <= min) {\n        colorValue = inputDelta < 0 ? outputWhite : outputBlack;\n      } else if (perc >= max) {\n        colorValue = inputDelta < 0 ? outputBlack : outputWhite;\n      } else {\n        colorValue = outputBlack + outputDelta * Math.pow((perc - inputBlack) / inputDelta, 1 / gamma);\n      }\n\n      table[pos] = colorValue;\n      pos += 1;\n      cnt += 256 / (segments - 1);\n    }\n\n    return table.join(' ');\n  };\n\n  SVGProLevelsFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || this.filterManager._mdf) {\n      var val;\n      var effectElements = this.filterManager.effectElements;\n\n      if (this.feFuncRComposed && (forceRender || effectElements[3].p._mdf || effectElements[4].p._mdf || effectElements[5].p._mdf || effectElements[6].p._mdf || effectElements[7].p._mdf)) {\n        val = this.getTableValue(effectElements[3].p.v, effectElements[4].p.v, effectElements[5].p.v, effectElements[6].p.v, effectElements[7].p.v);\n        this.feFuncRComposed.setAttribute('tableValues', val);\n        this.feFuncGComposed.setAttribute('tableValues', val);\n        this.feFuncBComposed.setAttribute('tableValues', val);\n      }\n\n      if (this.feFuncR && (forceRender || effectElements[10].p._mdf || effectElements[11].p._mdf || effectElements[12].p._mdf || effectElements[13].p._mdf || effectElements[14].p._mdf)) {\n        val = this.getTableValue(effectElements[10].p.v, effectElements[11].p.v, effectElements[12].p.v, effectElements[13].p.v, effectElements[14].p.v);\n        this.feFuncR.setAttribute('tableValues', val);\n      }\n\n      if (this.feFuncG && (forceRender || effectElements[17].p._mdf || effectElements[18].p._mdf || effectElements[19].p._mdf || effectElements[20].p._mdf || effectElements[21].p._mdf)) {\n        val = this.getTableValue(effectElements[17].p.v, effectElements[18].p.v, effectElements[19].p.v, effectElements[20].p.v, effectElements[21].p.v);\n        this.feFuncG.setAttribute('tableValues', val);\n      }\n\n      if (this.feFuncB && (forceRender || effectElements[24].p._mdf || effectElements[25].p._mdf || effectElements[26].p._mdf || effectElements[27].p._mdf || effectElements[28].p._mdf)) {\n        val = this.getTableValue(effectElements[24].p.v, effectElements[25].p.v, effectElements[26].p.v, effectElements[27].p.v, effectElements[28].p.v);\n        this.feFuncB.setAttribute('tableValues', val);\n      }\n\n      if (this.feFuncA && (forceRender || effectElements[31].p._mdf || effectElements[32].p._mdf || effectElements[33].p._mdf || effectElements[34].p._mdf || effectElements[35].p._mdf)) {\n        val = this.getTableValue(effectElements[31].p.v, effectElements[32].p.v, effectElements[33].p.v, effectElements[34].p.v, effectElements[35].p.v);\n        this.feFuncA.setAttribute('tableValues', val);\n      }\n    }\n  };\n\n  function SVGDropShadowEffect(filter, filterManager, elem, id, source) {\n    var globalFilterSize = filterManager.container.globalData.renderConfig.filterSize;\n    var filterSize = filterManager.data.fs || globalFilterSize;\n    filter.setAttribute('x', filterSize.x || globalFilterSize.x);\n    filter.setAttribute('y', filterSize.y || globalFilterSize.y);\n    filter.setAttribute('width', filterSize.width || globalFilterSize.width);\n    filter.setAttribute('height', filterSize.height || globalFilterSize.height);\n    this.filterManager = filterManager;\n    var feGaussianBlur = createNS('feGaussianBlur');\n    feGaussianBlur.setAttribute('in', 'SourceAlpha');\n    feGaussianBlur.setAttribute('result', id + '_drop_shadow_1');\n    feGaussianBlur.setAttribute('stdDeviation', '0');\n    this.feGaussianBlur = feGaussianBlur;\n    filter.appendChild(feGaussianBlur);\n    var feOffset = createNS('feOffset');\n    feOffset.setAttribute('dx', '25');\n    feOffset.setAttribute('dy', '0');\n    feOffset.setAttribute('in', id + '_drop_shadow_1');\n    feOffset.setAttribute('result', id + '_drop_shadow_2');\n    this.feOffset = feOffset;\n    filter.appendChild(feOffset);\n    var feFlood = createNS('feFlood');\n    feFlood.setAttribute('flood-color', '#00ff00');\n    feFlood.setAttribute('flood-opacity', '1');\n    feFlood.setAttribute('result', id + '_drop_shadow_3');\n    this.feFlood = feFlood;\n    filter.appendChild(feFlood);\n    var feComposite = createNS('feComposite');\n    feComposite.setAttribute('in', id + '_drop_shadow_3');\n    feComposite.setAttribute('in2', id + '_drop_shadow_2');\n    feComposite.setAttribute('operator', 'in');\n    feComposite.setAttribute('result', id + '_drop_shadow_4');\n    filter.appendChild(feComposite);\n    var feMerge = this.createMergeNode(id, [id + '_drop_shadow_4', source]);\n    filter.appendChild(feMerge); //\n  }\n\n  extendPrototype([SVGComposableEffect], SVGDropShadowEffect);\n\n  SVGDropShadowEffect.prototype.renderFrame = function (forceRender) {\n    if (forceRender || this.filterManager._mdf) {\n      if (forceRender || this.filterManager.effectElements[4].p._mdf) {\n        this.feGaussianBlur.setAttribute('stdDeviation', this.filterManager.effectElements[4].p.v / 4);\n      }\n\n      if (forceRender || this.filterManager.effectElements[0].p._mdf) {\n        var col = this.filterManager.effectElements[0].p.v;\n        this.feFlood.setAttribute('flood-color', rgbToHex(Math.round(col[0] * 255), Math.round(col[1] * 255), Math.round(col[2] * 255)));\n      }\n\n      if (forceRender || this.filterManager.effectElements[1].p._mdf) {\n        this.feFlood.setAttribute('flood-opacity', this.filterManager.effectElements[1].p.v / 255);\n      }\n\n      if (forceRender || this.filterManager.effectElements[2].p._mdf || this.filterManager.effectElements[3].p._mdf) {\n        var distance = this.filterManager.effectElements[3].p.v;\n        var angle = (this.filterManager.effectElements[2].p.v - 90) * degToRads;\n        var x = distance * Math.cos(angle);\n        var y = distance * Math.sin(angle);\n        this.feOffset.setAttribute('dx', x);\n        this.feOffset.setAttribute('dy', y);\n      }\n    }\n  };\n\n  var _svgMatteSymbols = [];\n\n  function SVGMatte3Effect(filterElem, filterManager, elem) {\n    this.initialized = false;\n    this.filterManager = filterManager;\n    this.filterElem = filterElem;\n    this.elem = elem;\n    elem.matteElement = createNS('g');\n    elem.matteElement.appendChild(elem.layerElement);\n    elem.matteElement.appendChild(elem.transformedElement);\n    elem.baseElement = elem.matteElement;\n  }\n\n  SVGMatte3Effect.prototype.findSymbol = function (mask) {\n    var i = 0;\n    var len = _svgMatteSymbols.length;\n\n    while (i < len) {\n      if (_svgMatteSymbols[i] === mask) {\n        return _svgMatteSymbols[i];\n      }\n\n      i += 1;\n    }\n\n    return null;\n  };\n\n  SVGMatte3Effect.prototype.replaceInParent = function (mask, symbolId) {\n    var parentNode = mask.layerElement.parentNode;\n\n    if (!parentNode) {\n      return;\n    }\n\n    var children = parentNode.children;\n    var i = 0;\n    var len = children.length;\n\n    while (i < len) {\n      if (children[i] === mask.layerElement) {\n        break;\n      }\n\n      i += 1;\n    }\n\n    var nextChild;\n\n    if (i <= len - 2) {\n      nextChild = children[i + 1];\n    }\n\n    var useElem = createNS('use');\n    useElem.setAttribute('href', '#' + symbolId);\n\n    if (nextChild) {\n      parentNode.insertBefore(useElem, nextChild);\n    } else {\n      parentNode.appendChild(useElem);\n    }\n  };\n\n  SVGMatte3Effect.prototype.setElementAsMask = function (elem, mask) {\n    if (!this.findSymbol(mask)) {\n      var symbolId = createElementID();\n      var masker = createNS('mask');\n      masker.setAttribute('id', mask.layerId);\n      masker.setAttribute('mask-type', 'alpha');\n\n      _svgMatteSymbols.push(mask);\n\n      var defs = elem.globalData.defs;\n      defs.appendChild(masker);\n      var symbol = createNS('symbol');\n      symbol.setAttribute('id', symbolId);\n      this.replaceInParent(mask, symbolId);\n      symbol.appendChild(mask.layerElement);\n      defs.appendChild(symbol);\n      var useElem = createNS('use');\n      useElem.setAttribute('href', '#' + symbolId);\n      masker.appendChild(useElem);\n      mask.data.hd = false;\n      mask.show();\n    }\n\n    elem.setMatte(mask.layerId);\n  };\n\n  SVGMatte3Effect.prototype.initialize = function () {\n    var ind = this.filterManager.effectElements[0].p.v;\n    var elements = this.elem.comp.elements;\n    var i = 0;\n    var len = elements.length;\n\n    while (i < len) {\n      if (elements[i] && elements[i].data.ind === ind) {\n        this.setElementAsMask(this.elem, elements[i]);\n      }\n\n      i += 1;\n    }\n\n    this.initialized = true;\n  };\n\n  SVGMatte3Effect.prototype.renderFrame = function () {\n    if (!this.initialized) {\n      this.initialize();\n    }\n  };\n\n  function SVGGaussianBlurEffect(filter, filterManager, elem, id) {\n    // Outset the filter region by 100% on all sides to accommodate blur expansion.\n    filter.setAttribute('x', '-100%');\n    filter.setAttribute('y', '-100%');\n    filter.setAttribute('width', '300%');\n    filter.setAttribute('height', '300%');\n    this.filterManager = filterManager;\n    var feGaussianBlur = createNS('feGaussianBlur');\n    feGaussianBlur.setAttribute('result', id);\n    filter.appendChild(feGaussianBlur);\n    this.feGaussianBlur = feGaussianBlur;\n  }\n\n  SVGGaussianBlurEffect.prototype.renderFrame = function (forceRender) {\n    if (forceRender || this.filterManager._mdf) {\n      // Empirical value, matching AE's blur appearance.\n      var kBlurrinessToSigma = 0.3;\n      var sigma = this.filterManager.effectElements[0].p.v * kBlurrinessToSigma; // Dimensions mapping:\n      //\n      //   1 -> horizontal & vertical\n      //   2 -> horizontal only\n      //   3 -> vertical only\n      //\n\n      var dimensions = this.filterManager.effectElements[1].p.v;\n      var sigmaX = dimensions == 3 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n      var sigmaY = dimensions == 2 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n      this.feGaussianBlur.setAttribute('stdDeviation', sigmaX + ' ' + sigmaY); // Repeat edges mapping:\n      //\n      //   0 -> off -> duplicate\n      //   1 -> on  -> wrap\n\n      var edgeMode = this.filterManager.effectElements[2].p.v == 1 ? 'wrap' : 'duplicate'; // eslint-disable-line eqeqeq\n\n      this.feGaussianBlur.setAttribute('edgeMode', edgeMode);\n    }\n  };\n\n  function TransformEffect() {}\n\n  TransformEffect.prototype.init = function (effectsManager) {\n    this.effectsManager = effectsManager;\n    this.type = effectTypes.TRANSFORM_EFFECT;\n    this.matrix = new Matrix();\n    this.opacity = -1;\n    this._mdf = false;\n    this._opMdf = false;\n  };\n\n  TransformEffect.prototype.renderFrame = function (forceFrame) {\n    this._opMdf = false;\n    this._mdf = false;\n\n    if (forceFrame || this.effectsManager._mdf) {\n      var effectElements = this.effectsManager.effectElements;\n      var anchor = effectElements[0].p.v;\n      var position = effectElements[1].p.v;\n      var isUniformScale = effectElements[2].p.v === 1;\n      var scaleHeight = effectElements[3].p.v;\n      var scaleWidth = isUniformScale ? scaleHeight : effectElements[4].p.v;\n      var skew = effectElements[5].p.v;\n      var skewAxis = effectElements[6].p.v;\n      var rotation = effectElements[7].p.v;\n      this.matrix.reset();\n      this.matrix.translate(-anchor[0], -anchor[1], anchor[2]);\n      this.matrix.scale(scaleWidth * 0.01, scaleHeight * 0.01, 1);\n      this.matrix.rotate(-rotation * degToRads);\n      this.matrix.skewFromAxis(-skew * degToRads, (skewAxis + 90) * degToRads);\n      this.matrix.translate(position[0], position[1], 0);\n      this._mdf = true;\n\n      if (this.opacity !== effectElements[8].p.v) {\n        this.opacity = effectElements[8].p.v;\n        this._opMdf = true;\n      }\n    }\n  };\n\n  function SVGTransformEffect(_, filterManager) {\n    this.init(filterManager);\n  }\n\n  extendPrototype([TransformEffect], SVGTransformEffect);\n\n  function CVTransformEffect(effectsManager) {\n    this.init(effectsManager);\n  }\n\n  extendPrototype([TransformEffect], CVTransformEffect);\n\n  registerRenderer('canvas', CanvasRenderer);\n  registerRenderer('html', HybridRenderer);\n  registerRenderer('svg', SVGRenderer); // Registering shape modifiers\n\n  ShapeModifiers.registerModifier('tm', TrimModifier);\n  ShapeModifiers.registerModifier('pb', PuckerAndBloatModifier);\n  ShapeModifiers.registerModifier('rp', RepeaterModifier);\n  ShapeModifiers.registerModifier('rd', RoundCornersModifier);\n  ShapeModifiers.registerModifier('zz', ZigZagModifier);\n  ShapeModifiers.registerModifier('op', OffsetPathModifier); // Registering expression plugin\n\n  setExpressionsPlugin(Expressions);\n  setExpressionInterfaces(getInterface);\n  initialize$1();\n  initialize(); // Registering svg effects\n\n  registerEffect$1(20, SVGTintFilter, true);\n  registerEffect$1(21, SVGFillFilter, true);\n  registerEffect$1(22, SVGStrokeEffect, false);\n  registerEffect$1(23, SVGTritoneFilter, true);\n  registerEffect$1(24, SVGProLevelsFilter, true);\n  registerEffect$1(25, SVGDropShadowEffect, true);\n  registerEffect$1(28, SVGMatte3Effect, false);\n  registerEffect$1(29, SVGGaussianBlurEffect, true);\n  registerEffect$1(35, SVGTransformEffect, false);\n  registerEffect(35, CVTransformEffect);\n\n  return lottie;\n\n}));\n","(function (global, factory) {\n  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n  typeof define === 'function' && define.amd ? define(['exports'], factory) :\n  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.loupe = {}));\n}(this, (function (exports) { 'use strict';\n\n  function _typeof(obj) {\n    \"@babel/helpers - typeof\";\n\n    if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n      _typeof = function (obj) {\n        return typeof obj;\n      };\n    } else {\n      _typeof = function (obj) {\n        return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n      };\n    }\n\n    return _typeof(obj);\n  }\n\n  function _slicedToArray(arr, i) {\n    return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n  }\n\n  function _arrayWithHoles(arr) {\n    if (Array.isArray(arr)) return arr;\n  }\n\n  function _iterableToArrayLimit(arr, i) {\n    if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n    var _arr = [];\n    var _n = true;\n    var _d = false;\n    var _e = undefined;\n\n    try {\n      for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n        _arr.push(_s.value);\n\n        if (i && _arr.length === i) break;\n      }\n    } catch (err) {\n      _d = true;\n      _e = err;\n    } finally {\n      try {\n        if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n\n    return _arr;\n  }\n\n  function _unsupportedIterableToArray(o, minLen) {\n    if (!o) return;\n    if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n    var n = Object.prototype.toString.call(o).slice(8, -1);\n    if (n === \"Object\" && o.constructor) n = o.constructor.name;\n    if (n === \"Map\" || n === \"Set\") return Array.from(o);\n    if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n  }\n\n  function _arrayLikeToArray(arr, len) {\n    if (len == null || len > arr.length) len = arr.length;\n\n    for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n    return arr2;\n  }\n\n  function _nonIterableRest() {\n    throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n  }\n\n  var ansiColors = {\n    bold: ['1', '22'],\n    dim: ['2', '22'],\n    italic: ['3', '23'],\n    underline: ['4', '24'],\n    // 5 & 6 are blinking\n    inverse: ['7', '27'],\n    hidden: ['8', '28'],\n    strike: ['9', '29'],\n    // 10-20 are fonts\n    // 21-29 are resets for 1-9\n    black: ['30', '39'],\n    red: ['31', '39'],\n    green: ['32', '39'],\n    yellow: ['33', '39'],\n    blue: ['34', '39'],\n    magenta: ['35', '39'],\n    cyan: ['36', '39'],\n    white: ['37', '39'],\n    brightblack: ['30;1', '39'],\n    brightred: ['31;1', '39'],\n    brightgreen: ['32;1', '39'],\n    brightyellow: ['33;1', '39'],\n    brightblue: ['34;1', '39'],\n    brightmagenta: ['35;1', '39'],\n    brightcyan: ['36;1', '39'],\n    brightwhite: ['37;1', '39'],\n    grey: ['90', '39']\n  };\n  var styles = {\n    special: 'cyan',\n    number: 'yellow',\n    bigint: 'yellow',\n    boolean: 'yellow',\n    undefined: 'grey',\n    null: 'bold',\n    string: 'green',\n    symbol: 'green',\n    date: 'magenta',\n    regexp: 'red'\n  };\n  var truncator = '…';\n\n  function colorise(value, styleType) {\n    var color = ansiColors[styles[styleType]] || ansiColors[styleType];\n\n    if (!color) {\n      return String(value);\n    }\n\n    return \"\\x1B[\".concat(color[0], \"m\").concat(String(value), \"\\x1B[\").concat(color[1], \"m\");\n  }\n\n  function normaliseOptions() {\n    var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n        _ref$showHidden = _ref.showHidden,\n        showHidden = _ref$showHidden === void 0 ? false : _ref$showHidden,\n        _ref$depth = _ref.depth,\n        depth = _ref$depth === void 0 ? 2 : _ref$depth,\n        _ref$colors = _ref.colors,\n        colors = _ref$colors === void 0 ? false : _ref$colors,\n        _ref$customInspect = _ref.customInspect,\n        customInspect = _ref$customInspect === void 0 ? true : _ref$customInspect,\n        _ref$showProxy = _ref.showProxy,\n        showProxy = _ref$showProxy === void 0 ? false : _ref$showProxy,\n        _ref$maxArrayLength = _ref.maxArrayLength,\n        maxArrayLength = _ref$maxArrayLength === void 0 ? Infinity : _ref$maxArrayLength,\n        _ref$breakLength = _ref.breakLength,\n        breakLength = _ref$breakLength === void 0 ? Infinity : _ref$breakLength,\n        _ref$seen = _ref.seen,\n        seen = _ref$seen === void 0 ? [] : _ref$seen,\n        _ref$truncate = _ref.truncate,\n        truncate = _ref$truncate === void 0 ? Infinity : _ref$truncate,\n        _ref$stylize = _ref.stylize,\n        stylize = _ref$stylize === void 0 ? String : _ref$stylize;\n\n    var options = {\n      showHidden: Boolean(showHidden),\n      depth: Number(depth),\n      colors: Boolean(colors),\n      customInspect: Boolean(customInspect),\n      showProxy: Boolean(showProxy),\n      maxArrayLength: Number(maxArrayLength),\n      breakLength: Number(breakLength),\n      truncate: Number(truncate),\n      seen: seen,\n      stylize: stylize\n    };\n\n    if (options.colors) {\n      options.stylize = colorise;\n    }\n\n    return options;\n  }\n  function truncate(string, length) {\n    var tail = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : truncator;\n    string = String(string);\n    var tailLength = tail.length;\n    var stringLength = string.length;\n\n    if (tailLength > length && stringLength > tailLength) {\n      return tail;\n    }\n\n    if (stringLength > length && stringLength > tailLength) {\n      return \"\".concat(string.slice(0, length - tailLength)).concat(tail);\n    }\n\n    return string;\n  } // eslint-disable-next-line complexity\n\n  function inspectList(list, options, inspectItem) {\n    var separator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ', ';\n    inspectItem = inspectItem || options.inspect;\n    var size = list.length;\n    if (size === 0) return '';\n    var originalLength = options.truncate;\n    var output = '';\n    var peek = '';\n    var truncated = '';\n\n    for (var i = 0; i < size; i += 1) {\n      var last = i + 1 === list.length;\n      var secondToLast = i + 2 === list.length;\n      truncated = \"\".concat(truncator, \"(\").concat(list.length - i, \")\");\n      var value = list[i]; // If there is more than one remaining we need to account for a separator of `, `\n\n      options.truncate = originalLength - output.length - (last ? 0 : separator.length);\n      var string = peek || inspectItem(value, options) + (last ? '' : separator);\n      var nextLength = output.length + string.length;\n      var truncatedLength = nextLength + truncated.length; // If this is the last element, and adding it would\n      // take us over length, but adding the truncator wouldn't - then break now\n\n      if (last && nextLength > originalLength && output.length + truncated.length <= originalLength) {\n        break;\n      } // If this isn't the last or second to last element to scan,\n      // but the string is already over length then break here\n\n\n      if (!last && !secondToLast && truncatedLength > originalLength) {\n        break;\n      } // Peek at the next string to determine if we should\n      // break early before adding this item to the output\n\n\n      peek = last ? '' : inspectItem(list[i + 1], options) + (secondToLast ? '' : separator); // If we have one element left, but this element and\n      // the next takes over length, the break early\n\n      if (!last && secondToLast && truncatedLength > originalLength && nextLength + peek.length > originalLength) {\n        break;\n      }\n\n      output += string; // If the next element takes us to length -\n      // but there are more after that, then we should truncate now\n\n      if (!last && !secondToLast && nextLength + peek.length >= originalLength) {\n        truncated = \"\".concat(truncator, \"(\").concat(list.length - i - 1, \")\");\n        break;\n      }\n\n      truncated = '';\n    }\n\n    return \"\".concat(output).concat(truncated);\n  }\n\n  function quoteComplexKey(key) {\n    if (key.match(/^[a-zA-Z_][a-zA-Z_0-9]*$/)) {\n      return key;\n    }\n\n    return JSON.stringify(key).replace(/'/g, \"\\\\'\").replace(/\\\\\"/g, '\"').replace(/(^\"|\"$)/g, \"'\");\n  }\n\n  function inspectProperty(_ref2, options) {\n    var _ref3 = _slicedToArray(_ref2, 2),\n        key = _ref3[0],\n        value = _ref3[1];\n\n    options.truncate -= 2;\n\n    if (typeof key === 'string') {\n      key = quoteComplexKey(key);\n    } else if (typeof key !== 'number') {\n      key = \"[\".concat(options.inspect(key, options), \"]\");\n    }\n\n    options.truncate -= key.length;\n    value = options.inspect(value, options);\n    return \"\".concat(key, \": \").concat(value);\n  }\n\n  function inspectArray(array, options) {\n    // Object.keys will always output the Array indices first, so we can slice by\n    // `array.length` to get non-index properties\n    var nonIndexProperties = Object.keys(array).slice(array.length);\n    if (!array.length && !nonIndexProperties.length) return '[]';\n    options.truncate -= 4;\n    var listContents = inspectList(array, options);\n    options.truncate -= listContents.length;\n    var propertyContents = '';\n\n    if (nonIndexProperties.length) {\n      propertyContents = inspectList(nonIndexProperties.map(function (key) {\n        return [key, array[key]];\n      }), options, inspectProperty);\n    }\n\n    return \"[ \".concat(listContents).concat(propertyContents ? \", \".concat(propertyContents) : '', \" ]\");\n  }\n\n  /* !\n   * Chai - getFuncName utility\n   * Copyright(c) 2012-2016 Jake Luer <jake@alogicalparadox.com>\n   * MIT Licensed\n   */\n\n  /**\n   * ### .getFuncName(constructorFn)\n   *\n   * Returns the name of a function.\n   * When a non-function instance is passed, returns `null`.\n   * This also includes a polyfill function if `aFunc.name` is not defined.\n   *\n   * @name getFuncName\n   * @param {Function} funct\n   * @namespace Utils\n   * @api public\n   */\n\n  var toString = Function.prototype.toString;\n  var functionNameMatch = /\\s*function(?:\\s|\\s*\\/\\*[^(?:*\\/)]+\\*\\/\\s*)*([^\\s\\(\\/]+)/;\n  var maxFunctionSourceLength = 512;\n  function getFuncName(aFunc) {\n    if (typeof aFunc !== 'function') {\n      return null;\n    }\n\n    var name = '';\n    if (typeof Function.prototype.name === 'undefined' && typeof aFunc.name === 'undefined') {\n      // eslint-disable-next-line prefer-reflect\n      var functionSource = toString.call(aFunc);\n      // To avoid unconstrained resource consumption due to pathalogically large function names,\n      // we limit the available return value to be less than 512 characters.\n      if (functionSource.indexOf('(') > maxFunctionSourceLength) {\n        return name;\n      }\n      // Here we run a polyfill if Function does not support the `name` property and if aFunc.name is not defined\n      var match = functionSource.match(functionNameMatch);\n      if (match) {\n        name = match[1];\n      }\n    } else {\n      // If we've got a `name` property we just use it\n      name = aFunc.name;\n    }\n\n    return name;\n  }\n\n  var getFuncName_1 = getFuncName;\n\n  var getArrayName = function getArrayName(array) {\n    // We need to special case Node.js' Buffers, which report to be Uint8Array\n    if (typeof Buffer === 'function' && array instanceof Buffer) {\n      return 'Buffer';\n    }\n\n    if (array[Symbol.toStringTag]) {\n      return array[Symbol.toStringTag];\n    }\n\n    return getFuncName_1(array.constructor);\n  };\n\n  function inspectTypedArray(array, options) {\n    var name = getArrayName(array);\n    options.truncate -= name.length + 4; // Object.keys will always output the Array indices first, so we can slice by\n    // `array.length` to get non-index properties\n\n    var nonIndexProperties = Object.keys(array).slice(array.length);\n    if (!array.length && !nonIndexProperties.length) return \"\".concat(name, \"[]\"); // As we know TypedArrays only contain Unsigned Integers, we can skip inspecting each one and simply\n    // stylise the toString() value of them\n\n    var output = '';\n\n    for (var i = 0; i < array.length; i++) {\n      var string = \"\".concat(options.stylize(truncate(array[i], options.truncate), 'number')).concat(i === array.length - 1 ? '' : ', ');\n      options.truncate -= string.length;\n\n      if (array[i] !== array.length && options.truncate <= 3) {\n        output += \"\".concat(truncator, \"(\").concat(array.length - array[i] + 1, \")\");\n        break;\n      }\n\n      output += string;\n    }\n\n    var propertyContents = '';\n\n    if (nonIndexProperties.length) {\n      propertyContents = inspectList(nonIndexProperties.map(function (key) {\n        return [key, array[key]];\n      }), options, inspectProperty);\n    }\n\n    return \"\".concat(name, \"[ \").concat(output).concat(propertyContents ? \", \".concat(propertyContents) : '', \" ]\");\n  }\n\n  function inspectDate(dateObject, options) {\n    var stringRepresentation = dateObject.toJSON();\n\n    if (stringRepresentation === null) {\n      return 'Invalid Date';\n    }\n\n    var split = stringRepresentation.split('T');\n    var date = split[0]; // If we need to - truncate the time portion, but never the date\n\n    return options.stylize(\"\".concat(date, \"T\").concat(truncate(split[1], options.truncate - date.length - 1)), 'date');\n  }\n\n  function inspectFunction(func, options) {\n    var name = getFuncName_1(func);\n\n    if (!name) {\n      return options.stylize('[Function]', 'special');\n    }\n\n    return options.stylize(\"[Function \".concat(truncate(name, options.truncate - 11), \"]\"), 'special');\n  }\n\n  function inspectMapEntry(_ref, options) {\n    var _ref2 = _slicedToArray(_ref, 2),\n        key = _ref2[0],\n        value = _ref2[1];\n\n    options.truncate -= 4;\n    key = options.inspect(key, options);\n    options.truncate -= key.length;\n    value = options.inspect(value, options);\n    return \"\".concat(key, \" => \").concat(value);\n  } // IE11 doesn't support `map.entries()`\n\n\n  function mapToEntries(map) {\n    var entries = [];\n    map.forEach(function (value, key) {\n      entries.push([key, value]);\n    });\n    return entries;\n  }\n\n  function inspectMap(map, options) {\n    var size = map.size - 1;\n\n    if (size <= 0) {\n      return 'Map{}';\n    }\n\n    options.truncate -= 7;\n    return \"Map{ \".concat(inspectList(mapToEntries(map), options, inspectMapEntry), \" }\");\n  }\n\n  var isNaN = Number.isNaN || function (i) {\n    return i !== i;\n  }; // eslint-disable-line no-self-compare\n\n\n  function inspectNumber(number, options) {\n    if (isNaN(number)) {\n      return options.stylize('NaN', 'number');\n    }\n\n    if (number === Infinity) {\n      return options.stylize('Infinity', 'number');\n    }\n\n    if (number === -Infinity) {\n      return options.stylize('-Infinity', 'number');\n    }\n\n    if (number === 0) {\n      return options.stylize(1 / number === Infinity ? '+0' : '-0', 'number');\n    }\n\n    return options.stylize(truncate(number, options.truncate), 'number');\n  }\n\n  function inspectBigInt(number, options) {\n    var nums = truncate(number.toString(), options.truncate - 1);\n    if (nums !== truncator) nums += 'n';\n    return options.stylize(nums, 'bigint');\n  }\n\n  function inspectRegExp(value, options) {\n    var flags = value.toString().split('/')[2];\n    var sourceLength = options.truncate - (2 + flags.length);\n    var source = value.source;\n    return options.stylize(\"/\".concat(truncate(source, sourceLength), \"/\").concat(flags), 'regexp');\n  }\n\n  function arrayFromSet(set) {\n    var values = [];\n    set.forEach(function (value) {\n      values.push(value);\n    });\n    return values;\n  }\n\n  function inspectSet(set, options) {\n    if (set.size === 0) return 'Set{}';\n    options.truncate -= 7;\n    return \"Set{ \".concat(inspectList(arrayFromSet(set), options), \" }\");\n  }\n\n  var stringEscapeChars = new RegExp(\"['\\\\u0000-\\\\u001f\\\\u007f-\\\\u009f\\\\u00ad\\\\u0600-\\\\u0604\\\\u070f\\\\u17b4\\\\u17b5\" + \"\\\\u200c-\\\\u200f\\\\u2028-\\\\u202f\\\\u2060-\\\\u206f\\\\ufeff\\\\ufff0-\\\\uffff]\", 'g');\n  var escapeCharacters = {\n    '\\b': '\\\\b',\n    '\\t': '\\\\t',\n    '\\n': '\\\\n',\n    '\\f': '\\\\f',\n    '\\r': '\\\\r',\n    \"'\": \"\\\\'\",\n    '\\\\': '\\\\\\\\'\n  };\n  var hex = 16;\n  var unicodeLength = 4;\n\n  function escape(char) {\n    return escapeCharacters[char] || \"\\\\u\".concat(\"0000\".concat(char.charCodeAt(0).toString(hex)).slice(-unicodeLength));\n  }\n\n  function inspectString(string, options) {\n    if (stringEscapeChars.test(string)) {\n      string = string.replace(stringEscapeChars, escape);\n    }\n\n    return options.stylize(\"'\".concat(truncate(string, options.truncate - 2), \"'\"), 'string');\n  }\n\n  function inspectSymbol(value) {\n    if ('description' in Symbol.prototype) {\n      return value.description ? \"Symbol(\".concat(value.description, \")\") : 'Symbol()';\n    }\n\n    return value.toString();\n  }\n\n  var getPromiseValue = function getPromiseValue() {\n    return 'Promise{…}';\n  };\n\n  try {\n    var _process$binding = process.binding('util'),\n        getPromiseDetails = _process$binding.getPromiseDetails,\n        kPending = _process$binding.kPending,\n        kRejected = _process$binding.kRejected;\n\n    if (Array.isArray(getPromiseDetails(Promise.resolve()))) {\n      getPromiseValue = function getPromiseValue(value, options) {\n        var _getPromiseDetails = getPromiseDetails(value),\n            _getPromiseDetails2 = _slicedToArray(_getPromiseDetails, 2),\n            state = _getPromiseDetails2[0],\n            innerValue = _getPromiseDetails2[1];\n\n        if (state === kPending) {\n          return 'Promise{<pending>}';\n        }\n\n        return \"Promise\".concat(state === kRejected ? '!' : '', \"{\").concat(options.inspect(innerValue, options), \"}\");\n      };\n    }\n  } catch (notNode) {\n    /* ignore */\n  }\n\n  var inspectPromise = getPromiseValue;\n\n  function inspectObject(object, options) {\n    var properties = Object.getOwnPropertyNames(object);\n    var symbols = Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(object) : [];\n\n    if (properties.length === 0 && symbols.length === 0) {\n      return '{}';\n    }\n\n    options.truncate -= 4;\n    options.seen = options.seen || [];\n\n    if (options.seen.indexOf(object) >= 0) {\n      return '[Circular]';\n    }\n\n    options.seen.push(object);\n    var propertyContents = inspectList(properties.map(function (key) {\n      return [key, object[key]];\n    }), options, inspectProperty);\n    var symbolContents = inspectList(symbols.map(function (key) {\n      return [key, object[key]];\n    }), options, inspectProperty);\n    options.seen.pop();\n    var sep = '';\n\n    if (propertyContents && symbolContents) {\n      sep = ', ';\n    }\n\n    return \"{ \".concat(propertyContents).concat(sep).concat(symbolContents, \" }\");\n  }\n\n  var toStringTag = typeof Symbol !== 'undefined' && Symbol.toStringTag ? Symbol.toStringTag : false;\n  function inspectClass(value, options) {\n    var name = '';\n\n    if (toStringTag && toStringTag in value) {\n      name = value[toStringTag];\n    }\n\n    name = name || getFuncName_1(value.constructor); // Babel transforms anonymous classes to the name `_class`\n\n    if (!name || name === '_class') {\n      name = '<Anonymous Class>';\n    }\n\n    options.truncate -= name.length;\n    return \"\".concat(name).concat(inspectObject(value, options));\n  }\n\n  function inspectArguments(args, options) {\n    if (args.length === 0) return 'Arguments[]';\n    options.truncate -= 13;\n    return \"Arguments[ \".concat(inspectList(args, options), \" ]\");\n  }\n\n  var errorKeys = ['stack', 'line', 'column', 'name', 'message', 'fileName', 'lineNumber', 'columnNumber', 'number', 'description'];\n  function inspectObject$1(error, options) {\n    var properties = Object.getOwnPropertyNames(error).filter(function (key) {\n      return errorKeys.indexOf(key) === -1;\n    });\n    var name = error.name;\n    options.truncate -= name.length;\n    var message = '';\n\n    if (typeof error.message === 'string') {\n      message = truncate(error.message, options.truncate);\n    } else {\n      properties.unshift('message');\n    }\n\n    message = message ? \": \".concat(message) : '';\n    options.truncate -= message.length + 5;\n    var propertyContents = inspectList(properties.map(function (key) {\n      return [key, error[key]];\n    }), options, inspectProperty);\n    return \"\".concat(name).concat(message).concat(propertyContents ? \" { \".concat(propertyContents, \" }\") : '');\n  }\n\n  function inspectAttribute(_ref, options) {\n    var _ref2 = _slicedToArray(_ref, 2),\n        key = _ref2[0],\n        value = _ref2[1];\n\n    options.truncate -= 3;\n\n    if (!value) {\n      return \"\".concat(options.stylize(key, 'yellow'));\n    }\n\n    return \"\".concat(options.stylize(key, 'yellow'), \"=\").concat(options.stylize(\"\\\"\".concat(value, \"\\\"\"), 'string'));\n  }\n  function inspectHTMLCollection(collection, options) {\n    // eslint-disable-next-line no-use-before-define\n    return inspectList(collection, options, inspectHTML, '\\n');\n  }\n  function inspectHTML(element, options) {\n    var properties = element.getAttributeNames();\n    var name = element.tagName.toLowerCase();\n    var head = options.stylize(\"<\".concat(name), 'special');\n    var headClose = options.stylize(\">\", 'special');\n    var tail = options.stylize(\"</\".concat(name, \">\"), 'special');\n    options.truncate -= name.length * 2 + 5;\n    var propertyContents = '';\n\n    if (properties.length > 0) {\n      propertyContents += ' ';\n      propertyContents += inspectList(properties.map(function (key) {\n        return [key, element.getAttribute(key)];\n      }), options, inspectAttribute, ' ');\n    }\n\n    options.truncate -= propertyContents.length;\n    var truncate = options.truncate;\n    var children = inspectHTMLCollection(element.children, options);\n\n    if (children && children.length > truncate) {\n      children = \"\".concat(truncator, \"(\").concat(element.children.length, \")\");\n    }\n\n    return \"\".concat(head).concat(propertyContents).concat(headClose).concat(children).concat(tail);\n  }\n\n  var symbolsSupported = typeof Symbol === 'function' && typeof Symbol.for === 'function';\n  var chaiInspect = symbolsSupported ? Symbol.for('chai/inspect') : '@@chai/inspect';\n  var nodeInspect = false;\n\n  try {\n    // eslint-disable-next-line global-require\n    var nodeUtil = require('util');\n\n    nodeInspect = nodeUtil.inspect ? nodeUtil.inspect.custom : false;\n  } catch (noNodeInspect) {\n    nodeInspect = false;\n  }\n\n  function FakeMap() {\n    // eslint-disable-next-line prefer-template\n    this.key = 'chai/loupe__' + Math.random() + Date.now();\n  }\n\n  FakeMap.prototype = {\n    // eslint-disable-next-line object-shorthand\n    get: function get(key) {\n      return key[this.key];\n    },\n    // eslint-disable-next-line object-shorthand\n    has: function has(key) {\n      return this.key in key;\n    },\n    // eslint-disable-next-line object-shorthand\n    set: function set(key, value) {\n      if (Object.isExtensible(key)) {\n        Object.defineProperty(key, this.key, {\n          // eslint-disable-next-line object-shorthand\n          value: value,\n          configurable: true\n        });\n      }\n    }\n  };\n  var constructorMap = new (typeof WeakMap === 'function' ? WeakMap : FakeMap)();\n  var stringTagMap = {};\n  var baseTypesMap = {\n    undefined: function undefined$1(value, options) {\n      return options.stylize('undefined', 'undefined');\n    },\n    null: function _null(value, options) {\n      return options.stylize(null, 'null');\n    },\n    boolean: function boolean(value, options) {\n      return options.stylize(value, 'boolean');\n    },\n    Boolean: function Boolean(value, options) {\n      return options.stylize(value, 'boolean');\n    },\n    number: inspectNumber,\n    Number: inspectNumber,\n    bigint: inspectBigInt,\n    BigInt: inspectBigInt,\n    string: inspectString,\n    String: inspectString,\n    function: inspectFunction,\n    Function: inspectFunction,\n    symbol: inspectSymbol,\n    // A Symbol polyfill will return `Symbol` not `symbol` from typedetect\n    Symbol: inspectSymbol,\n    Array: inspectArray,\n    Date: inspectDate,\n    Map: inspectMap,\n    Set: inspectSet,\n    RegExp: inspectRegExp,\n    Promise: inspectPromise,\n    // WeakSet, WeakMap are totally opaque to us\n    WeakSet: function WeakSet(value, options) {\n      return options.stylize('WeakSet{…}', 'special');\n    },\n    WeakMap: function WeakMap(value, options) {\n      return options.stylize('WeakMap{…}', 'special');\n    },\n    Arguments: inspectArguments,\n    Int8Array: inspectTypedArray,\n    Uint8Array: inspectTypedArray,\n    Uint8ClampedArray: inspectTypedArray,\n    Int16Array: inspectTypedArray,\n    Uint16Array: inspectTypedArray,\n    Int32Array: inspectTypedArray,\n    Uint32Array: inspectTypedArray,\n    Float32Array: inspectTypedArray,\n    Float64Array: inspectTypedArray,\n    Generator: function Generator() {\n      return '';\n    },\n    DataView: function DataView() {\n      return '';\n    },\n    ArrayBuffer: function ArrayBuffer() {\n      return '';\n    },\n    Error: inspectObject$1,\n    HTMLCollection: inspectHTMLCollection,\n    NodeList: inspectHTMLCollection\n  }; // eslint-disable-next-line complexity\n\n  var inspectCustom = function inspectCustom(value, options, type) {\n    if (chaiInspect in value && typeof value[chaiInspect] === 'function') {\n      return value[chaiInspect](options);\n    }\n\n    if (nodeInspect && nodeInspect in value && typeof value[nodeInspect] === 'function') {\n      return value[nodeInspect](options.depth, options);\n    }\n\n    if ('inspect' in value && typeof value.inspect === 'function') {\n      return value.inspect(options.depth, options);\n    }\n\n    if ('constructor' in value && constructorMap.has(value.constructor)) {\n      return constructorMap.get(value.constructor)(value, options);\n    }\n\n    if (stringTagMap[type]) {\n      return stringTagMap[type](value, options);\n    }\n\n    return '';\n  };\n\n  var toString$1 = Object.prototype.toString; // eslint-disable-next-line complexity\n\n  function inspect(value, options) {\n    options = normaliseOptions(options);\n    options.inspect = inspect;\n    var _options = options,\n        customInspect = _options.customInspect;\n    var type = value === null ? 'null' : _typeof(value);\n\n    if (type === 'object') {\n      type = toString$1.call(value).slice(8, -1);\n    } // If it is a base value that we already support, then use Loupe's inspector\n\n\n    if (baseTypesMap[type]) {\n      return baseTypesMap[type](value, options);\n    } // If `options.customInspect` is set to true then try to use the custom inspector\n\n\n    if (customInspect && value) {\n      var output = inspectCustom(value, options, type);\n\n      if (output) {\n        if (typeof output === 'string') return output;\n        return inspect(output, options);\n      }\n    }\n\n    var proto = value ? Object.getPrototypeOf(value) : false; // If it's a plain Object then use Loupe's inspector\n\n    if (proto === Object.prototype || proto === null) {\n      return inspectObject(value, options);\n    } // Specifically account for HTMLElements\n    // eslint-disable-next-line no-undef\n\n\n    if (value && typeof HTMLElement === 'function' && value instanceof HTMLElement) {\n      return inspectHTML(value, options);\n    }\n\n    if ('constructor' in value) {\n      // If it is a class, inspect it like an object but add the constructor name\n      if (value.constructor !== Object) {\n        return inspectClass(value, options);\n      } // If it is an object with an anonymous prototype, display it as an object.\n\n\n      return inspectObject(value, options);\n    } // last chance to check if it's an object\n\n\n    if (value === Object(value)) {\n      return inspectObject(value, options);\n    } // We have run out of options! Just stringify the value\n\n\n    return options.stylize(String(value), type);\n  }\n  function registerConstructor(constructor, inspector) {\n    if (constructorMap.has(constructor)) {\n      return false;\n    }\n\n    constructorMap.set(constructor, inspector);\n    return true;\n  }\n  function registerStringTag(stringTag, inspector) {\n    if (stringTag in stringTagMap) {\n      return false;\n    }\n\n    stringTagMap[stringTag] = inspector;\n    return true;\n  }\n  var custom = chaiInspect;\n\n  exports.custom = custom;\n  exports.default = inspect;\n  exports.inspect = inspect;\n  exports.registerConstructor = registerConstructor;\n  exports.registerStringTag = registerStringTag;\n\n  Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n","'use strict';\n\n/** @type {import('./abs')} */\nmodule.exports = Math.abs;\n","'use strict';\n\n/** @type {import('./floor')} */\nmodule.exports = Math.floor;\n","'use strict';\n\n/** @type {import('./isNaN')} */\nmodule.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n","'use strict';\n\n/** @type {import('./max')} */\nmodule.exports = Math.max;\n","'use strict';\n\n/** @type {import('./min')} */\nmodule.exports = Math.min;\n","'use strict';\n\n/** @type {import('./pow')} */\nmodule.exports = Math.pow;\n","'use strict';\n\n/** @type {import('./round')} */\nmodule.exports = Math.round;\n","'use strict';\n\nvar $isNaN = require('./isNaN');\n\n/** @type {import('./sign')} */\nmodule.exports = function sign(number) {\n\tif ($isNaN(number) || number === 0) {\n\t\treturn number;\n\t}\n\treturn number < 0 ? -1 : +1;\n};\n","//! moment.js locale configuration\n//! locale : Afrikaans [af]\n//! author : Werner Mollentze : https://github.com/wernerm\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var af = moment.defineLocale('af', {\n        months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n        weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split(\n            '_'\n        ),\n        weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n        weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n        meridiemParse: /vm|nm/i,\n        isPM: function (input) {\n            return /^nm$/i.test(input);\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower ? 'vm' : 'VM';\n            } else {\n                return isLower ? 'nm' : 'NM';\n            }\n        },\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Vandag om] LT',\n            nextDay: '[Môre om] LT',\n            nextWeek: 'dddd [om] LT',\n            lastDay: '[Gister om] LT',\n            lastWeek: '[Laas] dddd [om] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'oor %s',\n            past: '%s gelede',\n            s: \"'n paar sekondes\",\n            ss: '%d sekondes',\n            m: \"'n minuut\",\n            mm: '%d minute',\n            h: \"'n uur\",\n            hh: '%d ure',\n            d: \"'n dag\",\n            dd: '%d dae',\n            M: \"'n maand\",\n            MM: '%d maande',\n            y: \"'n jaar\",\n            yy: '%d jaar',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n        ordinal: function (number) {\n            return (\n                number +\n                (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n            ); // Thanks to Joris Röling : https://github.com/jjupiter\n        },\n        week: {\n            dow: 1, // Maandag is die eerste dag van die week.\n            doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n        },\n    });\n\n    return af;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Algeria) [ar-dz]\n//! author : Amine Roukh: https://github.com/Amine27\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n//! author : Noureddine LOUAHEDJ : https://github.com/noureddinem\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var pluralForm = function (n) {\n            return n === 0\n                ? 0\n                : n === 1\n                  ? 1\n                  : n === 2\n                    ? 2\n                    : n % 100 >= 3 && n % 100 <= 10\n                      ? 3\n                      : n % 100 >= 11\n                        ? 4\n                        : 5;\n        },\n        plurals = {\n            s: [\n                'أقل من ثانية',\n                'ثانية واحدة',\n                ['ثانيتان', 'ثانيتين'],\n                '%d ثوان',\n                '%d ثانية',\n                '%d ثانية',\n            ],\n            m: [\n                'أقل من دقيقة',\n                'دقيقة واحدة',\n                ['دقيقتان', 'دقيقتين'],\n                '%d دقائق',\n                '%d دقيقة',\n                '%d دقيقة',\n            ],\n            h: [\n                'أقل من ساعة',\n                'ساعة واحدة',\n                ['ساعتان', 'ساعتين'],\n                '%d ساعات',\n                '%d ساعة',\n                '%d ساعة',\n            ],\n            d: [\n                'أقل من يوم',\n                'يوم واحد',\n                ['يومان', 'يومين'],\n                '%d أيام',\n                '%d يومًا',\n                '%d يوم',\n            ],\n            M: [\n                'أقل من شهر',\n                'شهر واحد',\n                ['شهران', 'شهرين'],\n                '%d أشهر',\n                '%d شهرا',\n                '%d شهر',\n            ],\n            y: [\n                'أقل من عام',\n                'عام واحد',\n                ['عامان', 'عامين'],\n                '%d أعوام',\n                '%d عامًا',\n                '%d عام',\n            ],\n        },\n        pluralize = function (u) {\n            return function (number, withoutSuffix, string, isFuture) {\n                var f = pluralForm(number),\n                    str = plurals[u][pluralForm(number)];\n                if (f === 2) {\n                    str = str[withoutSuffix ? 0 : 1];\n                }\n                return str.replace(/%d/i, number);\n            };\n        },\n        months = [\n            'جانفي',\n            'فيفري',\n            'مارس',\n            'أفريل',\n            'ماي',\n            'جوان',\n            'جويلية',\n            'أوت',\n            'سبتمبر',\n            'أكتوبر',\n            'نوفمبر',\n            'ديسمبر',\n        ];\n\n    var arDz = moment.defineLocale('ar-dz', {\n        months: months,\n        monthsShort: months,\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'D/\\u200FM/\\u200FYYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ص|م/,\n        isPM: function (input) {\n            return 'م' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar: {\n            sameDay: '[اليوم عند الساعة] LT',\n            nextDay: '[غدًا عند الساعة] LT',\n            nextWeek: 'dddd [عند الساعة] LT',\n            lastDay: '[أمس عند الساعة] LT',\n            lastWeek: 'dddd [عند الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'بعد %s',\n            past: 'منذ %s',\n            s: pluralize('s'),\n            ss: pluralize('s'),\n            m: pluralize('m'),\n            mm: pluralize('m'),\n            h: pluralize('h'),\n            hh: pluralize('h'),\n            d: pluralize('d'),\n            dd: pluralize('d'),\n            M: pluralize('M'),\n            MM: pluralize('M'),\n            y: pluralize('y'),\n            yy: pluralize('y'),\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return arDz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Kuwait) [ar-kw]\n//! author : Nusret Parlak: https://github.com/nusretparlak\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var arKw = moment.defineLocale('ar-kw', {\n        months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n            '_'\n        ),\n        monthsShort:\n            'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n                '_'\n            ),\n        weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'في %s',\n            past: 'منذ %s',\n            s: 'ثوان',\n            ss: '%d ثانية',\n            m: 'دقيقة',\n            mm: '%d دقائق',\n            h: 'ساعة',\n            hh: '%d ساعات',\n            d: 'يوم',\n            dd: '%d أيام',\n            M: 'شهر',\n            MM: '%d أشهر',\n            y: 'سنة',\n            yy: '%d سنوات',\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return arKw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Libya) [ar-ly]\n//! author : Ali Hmer: https://github.com/kikoanis\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '1',\n            2: '2',\n            3: '3',\n            4: '4',\n            5: '5',\n            6: '6',\n            7: '7',\n            8: '8',\n            9: '9',\n            0: '0',\n        },\n        pluralForm = function (n) {\n            return n === 0\n                ? 0\n                : n === 1\n                  ? 1\n                  : n === 2\n                    ? 2\n                    : n % 100 >= 3 && n % 100 <= 10\n                      ? 3\n                      : n % 100 >= 11\n                        ? 4\n                        : 5;\n        },\n        plurals = {\n            s: [\n                'أقل من ثانية',\n                'ثانية واحدة',\n                ['ثانيتان', 'ثانيتين'],\n                '%d ثوان',\n                '%d ثانية',\n                '%d ثانية',\n            ],\n            m: [\n                'أقل من دقيقة',\n                'دقيقة واحدة',\n                ['دقيقتان', 'دقيقتين'],\n                '%d دقائق',\n                '%d دقيقة',\n                '%d دقيقة',\n            ],\n            h: [\n                'أقل من ساعة',\n                'ساعة واحدة',\n                ['ساعتان', 'ساعتين'],\n                '%d ساعات',\n                '%d ساعة',\n                '%d ساعة',\n            ],\n            d: [\n                'أقل من يوم',\n                'يوم واحد',\n                ['يومان', 'يومين'],\n                '%d أيام',\n                '%d يومًا',\n                '%d يوم',\n            ],\n            M: [\n                'أقل من شهر',\n                'شهر واحد',\n                ['شهران', 'شهرين'],\n                '%d أشهر',\n                '%d شهرا',\n                '%d شهر',\n            ],\n            y: [\n                'أقل من عام',\n                'عام واحد',\n                ['عامان', 'عامين'],\n                '%d أعوام',\n                '%d عامًا',\n                '%d عام',\n            ],\n        },\n        pluralize = function (u) {\n            return function (number, withoutSuffix, string, isFuture) {\n                var f = pluralForm(number),\n                    str = plurals[u][pluralForm(number)];\n                if (f === 2) {\n                    str = str[withoutSuffix ? 0 : 1];\n                }\n                return str.replace(/%d/i, number);\n            };\n        },\n        months = [\n            'يناير',\n            'فبراير',\n            'مارس',\n            'أبريل',\n            'مايو',\n            'يونيو',\n            'يوليو',\n            'أغسطس',\n            'سبتمبر',\n            'أكتوبر',\n            'نوفمبر',\n            'ديسمبر',\n        ];\n\n    var arLy = moment.defineLocale('ar-ly', {\n        months: months,\n        monthsShort: months,\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'D/\\u200FM/\\u200FYYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ص|م/,\n        isPM: function (input) {\n            return 'م' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar: {\n            sameDay: '[اليوم عند الساعة] LT',\n            nextDay: '[غدًا عند الساعة] LT',\n            nextWeek: 'dddd [عند الساعة] LT',\n            lastDay: '[أمس عند الساعة] LT',\n            lastWeek: 'dddd [عند الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'بعد %s',\n            past: 'منذ %s',\n            s: pluralize('s'),\n            ss: pluralize('s'),\n            m: pluralize('m'),\n            mm: pluralize('m'),\n            h: pluralize('h'),\n            hh: pluralize('h'),\n            d: pluralize('d'),\n            dd: pluralize('d'),\n            M: pluralize('M'),\n            MM: pluralize('M'),\n            y: pluralize('y'),\n            yy: pluralize('y'),\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return arLy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Morocco) [ar-ma]\n//! author : ElFadili Yassine : https://github.com/ElFadiliY\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var arMa = moment.defineLocale('ar-ma', {\n        months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n            '_'\n        ),\n        monthsShort:\n            'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n                '_'\n            ),\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'في %s',\n            past: 'منذ %s',\n            s: 'ثوان',\n            ss: '%d ثانية',\n            m: 'دقيقة',\n            mm: '%d دقائق',\n            h: 'ساعة',\n            hh: '%d ساعات',\n            d: 'يوم',\n            dd: '%d أيام',\n            M: 'شهر',\n            MM: '%d أشهر',\n            y: 'سنة',\n            yy: '%d سنوات',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return arMa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Palestine) [ar-ps]\n//! author : Majd Al-Shihabi : https://github.com/majdal\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '١',\n            2: '٢',\n            3: '٣',\n            4: '٤',\n            5: '٥',\n            6: '٦',\n            7: '٧',\n            8: '٨',\n            9: '٩',\n            0: '٠',\n        },\n        numberMap = {\n            '١': '1',\n            '٢': '2',\n            '٣': '3',\n            '٤': '4',\n            '٥': '5',\n            '٦': '6',\n            '٧': '7',\n            '٨': '8',\n            '٩': '9',\n            '٠': '0',\n        };\n\n    var arPs = moment.defineLocale('ar-ps', {\n        months: 'كانون الثاني_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_تشري الأوّل_تشرين الثاني_كانون الأوّل'.split(\n            '_'\n        ),\n        monthsShort:\n            'ك٢_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_ت١_ت٢_ك١'.split('_'),\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ص|م/,\n        isPM: function (input) {\n            return 'م' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar: {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'في %s',\n            past: 'منذ %s',\n            s: 'ثوان',\n            ss: '%d ثانية',\n            m: 'دقيقة',\n            mm: '%d دقائق',\n            h: 'ساعة',\n            hh: '%d ساعات',\n            d: 'يوم',\n            dd: '%d أيام',\n            M: 'شهر',\n            MM: '%d أشهر',\n            y: 'سنة',\n            yy: '%d سنوات',\n        },\n        preparse: function (string) {\n            return string\n                .replace(/[٣٤٥٦٧٨٩٠]/g, function (match) {\n                    return numberMap[match];\n                })\n                .split('') // reversed since negative lookbehind not supported everywhere\n                .reverse()\n                .join('')\n                .replace(/[١٢](?![\\u062a\\u0643])/g, function (match) {\n                    return numberMap[match];\n                })\n                .split('')\n                .reverse()\n                .join('')\n                .replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return arPs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Saudi Arabia) [ar-sa]\n//! author : Suhail Alkowaileet : https://github.com/xsoh\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '١',\n            2: '٢',\n            3: '٣',\n            4: '٤',\n            5: '٥',\n            6: '٦',\n            7: '٧',\n            8: '٨',\n            9: '٩',\n            0: '٠',\n        },\n        numberMap = {\n            '١': '1',\n            '٢': '2',\n            '٣': '3',\n            '٤': '4',\n            '٥': '5',\n            '٦': '6',\n            '٧': '7',\n            '٨': '8',\n            '٩': '9',\n            '٠': '0',\n        };\n\n    var arSa = moment.defineLocale('ar-sa', {\n        months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n            '_'\n        ),\n        monthsShort:\n            'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n                '_'\n            ),\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ص|م/,\n        isPM: function (input) {\n            return 'م' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar: {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'في %s',\n            past: 'منذ %s',\n            s: 'ثوان',\n            ss: '%d ثانية',\n            m: 'دقيقة',\n            mm: '%d دقائق',\n            h: 'ساعة',\n            hh: '%d ساعات',\n            d: 'يوم',\n            dd: '%d أيام',\n            M: 'شهر',\n            MM: '%d أشهر',\n            y: 'سنة',\n            yy: '%d سنوات',\n        },\n        preparse: function (string) {\n            return string\n                .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n                    return numberMap[match];\n                })\n                .replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return arSa;\n\n})));\n","//! moment.js locale configuration\n//! locale  :  Arabic (Tunisia) [ar-tn]\n//! author : Nader Toukabri : https://github.com/naderio\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var arTn = moment.defineLocale('ar-tn', {\n        months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n            '_'\n        ),\n        monthsShort:\n            'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n                '_'\n            ),\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'في %s',\n            past: 'منذ %s',\n            s: 'ثوان',\n            ss: '%d ثانية',\n            m: 'دقيقة',\n            mm: '%d دقائق',\n            h: 'ساعة',\n            hh: '%d ساعات',\n            d: 'يوم',\n            dd: '%d أيام',\n            M: 'شهر',\n            MM: '%d أشهر',\n            y: 'سنة',\n            yy: '%d سنوات',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return arTn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic [ar]\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '١',\n            2: '٢',\n            3: '٣',\n            4: '٤',\n            5: '٥',\n            6: '٦',\n            7: '٧',\n            8: '٨',\n            9: '٩',\n            0: '٠',\n        },\n        numberMap = {\n            '١': '1',\n            '٢': '2',\n            '٣': '3',\n            '٤': '4',\n            '٥': '5',\n            '٦': '6',\n            '٧': '7',\n            '٨': '8',\n            '٩': '9',\n            '٠': '0',\n        },\n        pluralForm = function (n) {\n            return n === 0\n                ? 0\n                : n === 1\n                  ? 1\n                  : n === 2\n                    ? 2\n                    : n % 100 >= 3 && n % 100 <= 10\n                      ? 3\n                      : n % 100 >= 11\n                        ? 4\n                        : 5;\n        },\n        plurals = {\n            s: [\n                'أقل من ثانية',\n                'ثانية واحدة',\n                ['ثانيتان', 'ثانيتين'],\n                '%d ثوان',\n                '%d ثانية',\n                '%d ثانية',\n            ],\n            m: [\n                'أقل من دقيقة',\n                'دقيقة واحدة',\n                ['دقيقتان', 'دقيقتين'],\n                '%d دقائق',\n                '%d دقيقة',\n                '%d دقيقة',\n            ],\n            h: [\n                'أقل من ساعة',\n                'ساعة واحدة',\n                ['ساعتان', 'ساعتين'],\n                '%d ساعات',\n                '%d ساعة',\n                '%d ساعة',\n            ],\n            d: [\n                'أقل من يوم',\n                'يوم واحد',\n                ['يومان', 'يومين'],\n                '%d أيام',\n                '%d يومًا',\n                '%d يوم',\n            ],\n            M: [\n                'أقل من شهر',\n                'شهر واحد',\n                ['شهران', 'شهرين'],\n                '%d أشهر',\n                '%d شهرا',\n                '%d شهر',\n            ],\n            y: [\n                'أقل من عام',\n                'عام واحد',\n                ['عامان', 'عامين'],\n                '%d أعوام',\n                '%d عامًا',\n                '%d عام',\n            ],\n        },\n        pluralize = function (u) {\n            return function (number, withoutSuffix, string, isFuture) {\n                var f = pluralForm(number),\n                    str = plurals[u][pluralForm(number)];\n                if (f === 2) {\n                    str = str[withoutSuffix ? 0 : 1];\n                }\n                return str.replace(/%d/i, number);\n            };\n        },\n        months = [\n            'يناير',\n            'فبراير',\n            'مارس',\n            'أبريل',\n            'مايو',\n            'يونيو',\n            'يوليو',\n            'أغسطس',\n            'سبتمبر',\n            'أكتوبر',\n            'نوفمبر',\n            'ديسمبر',\n        ];\n\n    var ar = moment.defineLocale('ar', {\n        months: months,\n        monthsShort: months,\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'D/\\u200FM/\\u200FYYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ص|م/,\n        isPM: function (input) {\n            return 'م' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar: {\n            sameDay: '[اليوم عند الساعة] LT',\n            nextDay: '[غدًا عند الساعة] LT',\n            nextWeek: 'dddd [عند الساعة] LT',\n            lastDay: '[أمس عند الساعة] LT',\n            lastWeek: 'dddd [عند الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'بعد %s',\n            past: 'منذ %s',\n            s: pluralize('s'),\n            ss: pluralize('s'),\n            m: pluralize('m'),\n            mm: pluralize('m'),\n            h: pluralize('h'),\n            hh: pluralize('h'),\n            d: pluralize('d'),\n            dd: pluralize('d'),\n            M: pluralize('M'),\n            MM: pluralize('M'),\n            y: pluralize('y'),\n            yy: pluralize('y'),\n        },\n        preparse: function (string) {\n            return string\n                .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n                    return numberMap[match];\n                })\n                .replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return ar;\n\n})));\n","//! moment.js locale configuration\n//! locale : Azerbaijani [az]\n//! author : topchiyev : https://github.com/topchiyev\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        1: '-inci',\n        5: '-inci',\n        8: '-inci',\n        70: '-inci',\n        80: '-inci',\n        2: '-nci',\n        7: '-nci',\n        20: '-nci',\n        50: '-nci',\n        3: '-üncü',\n        4: '-üncü',\n        100: '-üncü',\n        6: '-ncı',\n        9: '-uncu',\n        10: '-uncu',\n        30: '-uncu',\n        60: '-ıncı',\n        90: '-ıncı',\n    };\n\n    var az = moment.defineLocale('az', {\n        months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split(\n            '_'\n        ),\n        monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n        weekdays:\n            'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split(\n                '_'\n            ),\n        weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n        weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[bugün saat] LT',\n            nextDay: '[sabah saat] LT',\n            nextWeek: '[gələn həftə] dddd [saat] LT',\n            lastDay: '[dünən] LT',\n            lastWeek: '[keçən həftə] dddd [saat] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s sonra',\n            past: '%s əvvəl',\n            s: 'bir neçə saniyə',\n            ss: '%d saniyə',\n            m: 'bir dəqiqə',\n            mm: '%d dəqiqə',\n            h: 'bir saat',\n            hh: '%d saat',\n            d: 'bir gün',\n            dd: '%d gün',\n            M: 'bir ay',\n            MM: '%d ay',\n            y: 'bir il',\n            yy: '%d il',\n        },\n        meridiemParse: /gecə|səhər|gündüz|axşam/,\n        isPM: function (input) {\n            return /^(gündüz|axşam)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'gecə';\n            } else if (hour < 12) {\n                return 'səhər';\n            } else if (hour < 17) {\n                return 'gündüz';\n            } else {\n                return 'axşam';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n        ordinal: function (number) {\n            if (number === 0) {\n                // special case for zero\n                return number + '-ıncı';\n            }\n            var a = number % 10,\n                b = (number % 100) - a,\n                c = number >= 100 ? 100 : null;\n            return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return az;\n\n})));\n","//! moment.js locale configuration\n//! locale : Belarusian [be]\n//! author : Dmitry Demidov : https://github.com/demidov91\n//! author: Praleska: http://praleska.pro/\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function plural(word, num) {\n        var forms = word.split('_');\n        return num % 10 === 1 && num % 100 !== 11\n            ? forms[0]\n            : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n              ? forms[1]\n              : forms[2];\n    }\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        var format = {\n            ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n            mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n            hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n            dd: 'дзень_дні_дзён',\n            MM: 'месяц_месяцы_месяцаў',\n            yy: 'год_гады_гадоў',\n        };\n        if (key === 'm') {\n            return withoutSuffix ? 'хвіліна' : 'хвіліну';\n        } else if (key === 'h') {\n            return withoutSuffix ? 'гадзіна' : 'гадзіну';\n        } else {\n            return number + ' ' + plural(format[key], +number);\n        }\n    }\n\n    var be = moment.defineLocale('be', {\n        months: {\n            format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(\n                '_'\n            ),\n            standalone:\n                'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(\n                    '_'\n                ),\n        },\n        monthsShort:\n            'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n        weekdays: {\n            format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split(\n                '_'\n            ),\n            standalone:\n                'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split(\n                    '_'\n                ),\n            isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/,\n        },\n        weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n        weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY г.',\n            LLL: 'D MMMM YYYY г., HH:mm',\n            LLLL: 'dddd, D MMMM YYYY г., HH:mm',\n        },\n        calendar: {\n            sameDay: '[Сёння ў] LT',\n            nextDay: '[Заўтра ў] LT',\n            lastDay: '[Учора ў] LT',\n            nextWeek: function () {\n                return '[У] dddd [ў] LT';\n            },\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                    case 5:\n                    case 6:\n                        return '[У мінулую] dddd [ў] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                        return '[У мінулы] dddd [ў] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'праз %s',\n            past: '%s таму',\n            s: 'некалькі секунд',\n            m: relativeTimeWithPlural,\n            mm: relativeTimeWithPlural,\n            h: relativeTimeWithPlural,\n            hh: relativeTimeWithPlural,\n            d: 'дзень',\n            dd: relativeTimeWithPlural,\n            M: 'месяц',\n            MM: relativeTimeWithPlural,\n            y: 'год',\n            yy: relativeTimeWithPlural,\n        },\n        meridiemParse: /ночы|раніцы|дня|вечара/,\n        isPM: function (input) {\n            return /^(дня|вечара)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ночы';\n            } else if (hour < 12) {\n                return 'раніцы';\n            } else if (hour < 17) {\n                return 'дня';\n            } else {\n                return 'вечара';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'M':\n                case 'd':\n                case 'DDD':\n                case 'w':\n                case 'W':\n                    return (number % 10 === 2 || number % 10 === 3) &&\n                        number % 100 !== 12 &&\n                        number % 100 !== 13\n                        ? number + '-і'\n                        : number + '-ы';\n                case 'D':\n                    return number + '-га';\n                default:\n                    return number;\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return be;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bulgarian [bg]\n//! author : Krasen Borisov : https://github.com/kraz\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var bg = moment.defineLocale('bg', {\n        months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split(\n            '_'\n        ),\n        monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n        weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split(\n            '_'\n        ),\n        weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n        weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'D.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY H:mm',\n            LLLL: 'dddd, D MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[Днес в] LT',\n            nextDay: '[Утре в] LT',\n            nextWeek: 'dddd [в] LT',\n            lastDay: '[Вчера в] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                    case 6:\n                        return '[Миналата] dddd [в] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[Миналия] dddd [в] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'след %s',\n            past: 'преди %s',\n            s: 'няколко секунди',\n            ss: '%d секунди',\n            m: 'минута',\n            mm: '%d минути',\n            h: 'час',\n            hh: '%d часа',\n            d: 'ден',\n            dd: '%d дена',\n            w: 'седмица',\n            ww: '%d седмици',\n            M: 'месец',\n            MM: '%d месеца',\n            y: 'година',\n            yy: '%d години',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n        ordinal: function (number) {\n            var lastDigit = number % 10,\n                last2Digits = number % 100;\n            if (number === 0) {\n                return number + '-ев';\n            } else if (last2Digits === 0) {\n                return number + '-ен';\n            } else if (last2Digits > 10 && last2Digits < 20) {\n                return number + '-ти';\n            } else if (lastDigit === 1) {\n                return number + '-ви';\n            } else if (lastDigit === 2) {\n                return number + '-ри';\n            } else if (lastDigit === 7 || lastDigit === 8) {\n                return number + '-ми';\n            } else {\n                return number + '-ти';\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return bg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bambara [bm]\n//! author : Estelle Comment : https://github.com/estellecomment\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var bm = moment.defineLocale('bm', {\n        months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split(\n            '_'\n        ),\n        monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n        weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n        weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n        weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'MMMM [tile] D [san] YYYY',\n            LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n            LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n        },\n        calendar: {\n            sameDay: '[Bi lɛrɛ] LT',\n            nextDay: '[Sini lɛrɛ] LT',\n            nextWeek: 'dddd [don lɛrɛ] LT',\n            lastDay: '[Kunu lɛrɛ] LT',\n            lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s kɔnɔ',\n            past: 'a bɛ %s bɔ',\n            s: 'sanga dama dama',\n            ss: 'sekondi %d',\n            m: 'miniti kelen',\n            mm: 'miniti %d',\n            h: 'lɛrɛ kelen',\n            hh: 'lɛrɛ %d',\n            d: 'tile kelen',\n            dd: 'tile %d',\n            M: 'kalo kelen',\n            MM: 'kalo %d',\n            y: 'san kelen',\n            yy: 'san %d',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return bm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali (Bangladesh) [bn-bd]\n//! author : Asraf Hossain Patoary : https://github.com/ashwoolford\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '১',\n            2: '২',\n            3: '৩',\n            4: '৪',\n            5: '৫',\n            6: '৬',\n            7: '৭',\n            8: '৮',\n            9: '৯',\n            0: '০',\n        },\n        numberMap = {\n            '১': '1',\n            '২': '2',\n            '৩': '3',\n            '৪': '4',\n            '৫': '5',\n            '৬': '6',\n            '৭': '7',\n            '৮': '8',\n            '৯': '9',\n            '০': '0',\n        };\n\n    var bnBd = moment.defineLocale('bn-bd', {\n        months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n            '_'\n        ),\n        monthsShort:\n            'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n                '_'\n            ),\n        weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n            '_'\n        ),\n        weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n        weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm সময়',\n            LTS: 'A h:mm:ss সময়',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm সময়',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n        },\n        calendar: {\n            sameDay: '[আজ] LT',\n            nextDay: '[আগামীকাল] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[গতকাল] LT',\n            lastWeek: '[গত] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s পরে',\n            past: '%s আগে',\n            s: 'কয়েক সেকেন্ড',\n            ss: '%d সেকেন্ড',\n            m: 'এক মিনিট',\n            mm: '%d মিনিট',\n            h: 'এক ঘন্টা',\n            hh: '%d ঘন্টা',\n            d: 'এক দিন',\n            dd: '%d দিন',\n            M: 'এক মাস',\n            MM: '%d মাস',\n            y: 'এক বছর',\n            yy: '%d বছর',\n        },\n        preparse: function (string) {\n            return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n\n        meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'রাত') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'ভোর') {\n                return hour;\n            } else if (meridiem === 'সকাল') {\n                return hour;\n            } else if (meridiem === 'দুপুর') {\n                return hour >= 3 ? hour : hour + 12;\n            } else if (meridiem === 'বিকাল') {\n                return hour + 12;\n            } else if (meridiem === 'সন্ধ্যা') {\n                return hour + 12;\n            }\n        },\n\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'রাত';\n            } else if (hour < 6) {\n                return 'ভোর';\n            } else if (hour < 12) {\n                return 'সকাল';\n            } else if (hour < 15) {\n                return 'দুপুর';\n            } else if (hour < 18) {\n                return 'বিকাল';\n            } else if (hour < 20) {\n                return 'সন্ধ্যা';\n            } else {\n                return 'রাত';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return bnBd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali [bn]\n//! author : Kaushik Gandhi : https://github.com/kaushikgandhi\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '১',\n            2: '২',\n            3: '৩',\n            4: '৪',\n            5: '৫',\n            6: '৬',\n            7: '৭',\n            8: '৮',\n            9: '৯',\n            0: '০',\n        },\n        numberMap = {\n            '১': '1',\n            '২': '2',\n            '৩': '3',\n            '৪': '4',\n            '৫': '5',\n            '৬': '6',\n            '৭': '7',\n            '৮': '8',\n            '৯': '9',\n            '০': '0',\n        };\n\n    var bn = moment.defineLocale('bn', {\n        months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n            '_'\n        ),\n        monthsShort:\n            'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n                '_'\n            ),\n        weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n            '_'\n        ),\n        weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n        weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm সময়',\n            LTS: 'A h:mm:ss সময়',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm সময়',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n        },\n        calendar: {\n            sameDay: '[আজ] LT',\n            nextDay: '[আগামীকাল] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[গতকাল] LT',\n            lastWeek: '[গত] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s পরে',\n            past: '%s আগে',\n            s: 'কয়েক সেকেন্ড',\n            ss: '%d সেকেন্ড',\n            m: 'এক মিনিট',\n            mm: '%d মিনিট',\n            h: 'এক ঘন্টা',\n            hh: '%d ঘন্টা',\n            d: 'এক দিন',\n            dd: '%d দিন',\n            M: 'এক মাস',\n            MM: '%d মাস',\n            y: 'এক বছর',\n            yy: '%d বছর',\n        },\n        preparse: function (string) {\n            return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (\n                (meridiem === 'রাত' && hour >= 4) ||\n                (meridiem === 'দুপুর' && hour < 5) ||\n                meridiem === 'বিকাল'\n            ) {\n                return hour + 12;\n            } else {\n                return hour;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'রাত';\n            } else if (hour < 10) {\n                return 'সকাল';\n            } else if (hour < 17) {\n                return 'দুপুর';\n            } else if (hour < 20) {\n                return 'বিকাল';\n            } else {\n                return 'রাত';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return bn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tibetan [bo]\n//! author : Thupten N. Chakrishar : https://github.com/vajradog\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '༡',\n            2: '༢',\n            3: '༣',\n            4: '༤',\n            5: '༥',\n            6: '༦',\n            7: '༧',\n            8: '༨',\n            9: '༩',\n            0: '༠',\n        },\n        numberMap = {\n            '༡': '1',\n            '༢': '2',\n            '༣': '3',\n            '༤': '4',\n            '༥': '5',\n            '༦': '6',\n            '༧': '7',\n            '༨': '8',\n            '༩': '9',\n            '༠': '0',\n        };\n\n    var bo = moment.defineLocale('bo', {\n        months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split(\n            '_'\n        ),\n        monthsShort:\n            'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split(\n                '_'\n            ),\n        monthsShortRegex: /^(ཟླ་\\d{1,2})/,\n        monthsParseExact: true,\n        weekdays:\n            'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split(\n                '_'\n            ),\n        weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split(\n            '_'\n        ),\n        weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm',\n            LTS: 'A h:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm',\n        },\n        calendar: {\n            sameDay: '[དི་རིང] LT',\n            nextDay: '[སང་ཉིན] LT',\n            nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT',\n            lastDay: '[ཁ་སང] LT',\n            lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ལ་',\n            past: '%s སྔན་ལ',\n            s: 'ལམ་སང',\n            ss: '%d སྐར་ཆ།',\n            m: 'སྐར་མ་གཅིག',\n            mm: '%d སྐར་མ',\n            h: 'ཆུ་ཚོད་གཅིག',\n            hh: '%d ཆུ་ཚོད',\n            d: 'ཉིན་གཅིག',\n            dd: '%d ཉིན་',\n            M: 'ཟླ་བ་གཅིག',\n            MM: '%d ཟླ་བ',\n            y: 'ལོ་གཅིག',\n            yy: '%d ལོ',\n        },\n        preparse: function (string) {\n            return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (\n                (meridiem === 'མཚན་མོ' && hour >= 4) ||\n                (meridiem === 'ཉིན་གུང' && hour < 5) ||\n                meridiem === 'དགོང་དག'\n            ) {\n                return hour + 12;\n            } else {\n                return hour;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'མཚན་མོ';\n            } else if (hour < 10) {\n                return 'ཞོགས་ཀས';\n            } else if (hour < 17) {\n                return 'ཉིན་གུང';\n            } else if (hour < 20) {\n                return 'དགོང་དག';\n            } else {\n                return 'མཚན་མོ';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return bo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Breton [br]\n//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function relativeTimeWithMutation(number, withoutSuffix, key) {\n        var format = {\n            mm: 'munutenn',\n            MM: 'miz',\n            dd: 'devezh',\n        };\n        return number + ' ' + mutation(format[key], number);\n    }\n    function specialMutationForYears(number) {\n        switch (lastNumber(number)) {\n            case 1:\n            case 3:\n            case 4:\n            case 5:\n            case 9:\n                return number + ' bloaz';\n            default:\n                return number + ' vloaz';\n        }\n    }\n    function lastNumber(number) {\n        if (number > 9) {\n            return lastNumber(number % 10);\n        }\n        return number;\n    }\n    function mutation(text, number) {\n        if (number === 2) {\n            return softMutation(text);\n        }\n        return text;\n    }\n    function softMutation(text) {\n        var mutationTable = {\n            m: 'v',\n            b: 'v',\n            d: 'z',\n        };\n        if (mutationTable[text.charAt(0)] === undefined) {\n            return text;\n        }\n        return mutationTable[text.charAt(0)] + text.substring(1);\n    }\n\n    var monthsParse = [\n            /^gen/i,\n            /^c[ʼ\\']hwe/i,\n            /^meu/i,\n            /^ebr/i,\n            /^mae/i,\n            /^(mez|eve)/i,\n            /^gou/i,\n            /^eos/i,\n            /^gwe/i,\n            /^her/i,\n            /^du/i,\n            /^ker/i,\n        ],\n        monthsRegex =\n            /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n        monthsStrictRegex =\n            /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,\n        monthsShortStrictRegex =\n            /^(gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n        fullWeekdaysParse = [\n            /^sul/i,\n            /^lun/i,\n            /^meurzh/i,\n            /^merc[ʼ\\']her/i,\n            /^yaou/i,\n            /^gwener/i,\n            /^sadorn/i,\n        ],\n        shortWeekdaysParse = [\n            /^Sul/i,\n            /^Lun/i,\n            /^Meu/i,\n            /^Mer/i,\n            /^Yao/i,\n            /^Gwe/i,\n            /^Sad/i,\n        ],\n        minWeekdaysParse = [\n            /^Su/i,\n            /^Lu/i,\n            /^Me([^r]|$)/i,\n            /^Mer/i,\n            /^Ya/i,\n            /^Gw/i,\n            /^Sa/i,\n        ];\n\n    var br = moment.defineLocale('br', {\n        months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split(\n            '_'\n        ),\n        monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n        weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'),\n        weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n        weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n        weekdaysParse: minWeekdaysParse,\n        fullWeekdaysParse: fullWeekdaysParse,\n        shortWeekdaysParse: shortWeekdaysParse,\n        minWeekdaysParse: minWeekdaysParse,\n\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex: monthsStrictRegex,\n        monthsShortStrictRegex: monthsShortStrictRegex,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [a viz] MMMM YYYY',\n            LLL: 'D [a viz] MMMM YYYY HH:mm',\n            LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Hiziv da] LT',\n            nextDay: '[Warcʼhoazh da] LT',\n            nextWeek: 'dddd [da] LT',\n            lastDay: '[Decʼh da] LT',\n            lastWeek: 'dddd [paset da] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'a-benn %s',\n            past: '%s ʼzo',\n            s: 'un nebeud segondennoù',\n            ss: '%d eilenn',\n            m: 'ur vunutenn',\n            mm: relativeTimeWithMutation,\n            h: 'un eur',\n            hh: '%d eur',\n            d: 'un devezh',\n            dd: relativeTimeWithMutation,\n            M: 'ur miz',\n            MM: relativeTimeWithMutation,\n            y: 'ur bloaz',\n            yy: specialMutationForYears,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n        ordinal: function (number) {\n            var output = number === 1 ? 'añ' : 'vet';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n        meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn\n        isPM: function (token) {\n            return token === 'g.m.';\n        },\n        meridiem: function (hour, minute, isLower) {\n            return hour < 12 ? 'a.m.' : 'g.m.';\n        },\n    });\n\n    return br;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bosnian [bs]\n//! author : Nedim Cholich : https://github.com/frontyard\n//! author : Rasid Redzic : https://github.com/rasidre\n//! based on (hr) translation by Bojan Marković\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        switch (key) {\n            case 'm':\n                return withoutSuffix\n                    ? 'jedna minuta'\n                    : isFuture\n                      ? 'jednu minutu'\n                      : 'jedne minute';\n        }\n    }\n\n    function translate(number, withoutSuffix, key) {\n        var result = number + ' ';\n        switch (key) {\n            case 'ss':\n                if (number === 1) {\n                    result += 'sekunda';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'sekunde';\n                } else {\n                    result += 'sekundi';\n                }\n                return result;\n            case 'mm':\n                if (number === 1) {\n                    result += 'minuta';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'minute';\n                } else {\n                    result += 'minuta';\n                }\n                return result;\n            case 'h':\n                return withoutSuffix ? 'jedan sat' : 'jedan sat';\n            case 'hh':\n                if (number === 1) {\n                    result += 'sat';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'sata';\n                } else {\n                    result += 'sati';\n                }\n                return result;\n            case 'dd':\n                if (number === 1) {\n                    result += 'dan';\n                } else {\n                    result += 'dana';\n                }\n                return result;\n            case 'MM':\n                if (number === 1) {\n                    result += 'mjesec';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'mjeseca';\n                } else {\n                    result += 'mjeseci';\n                }\n                return result;\n            case 'yy':\n                if (number === 1) {\n                    result += 'godina';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'godine';\n                } else {\n                    result += 'godina';\n                }\n                return result;\n        }\n    }\n\n    var bs = moment.defineLocale('bs', {\n        months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n            '_'\n        ),\n        weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd, D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[danas u] LT',\n            nextDay: '[sutra u] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[u] [nedjelju] [u] LT';\n                    case 3:\n                        return '[u] [srijedu] [u] LT';\n                    case 6:\n                        return '[u] [subotu] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[u] dddd [u] LT';\n                }\n            },\n            lastDay: '[jučer u] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                        return '[prošlu] dddd [u] LT';\n                    case 6:\n                        return '[prošle] [subote] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[prošli] dddd [u] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'prije %s',\n            s: 'par sekundi',\n            ss: translate,\n            m: processRelativeTime,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: 'dan',\n            dd: translate,\n            M: 'mjesec',\n            MM: translate,\n            y: 'godinu',\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return bs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Catalan [ca]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ca = moment.defineLocale('ca', {\n        months: {\n            standalone:\n                'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split(\n                    '_'\n                ),\n            format: \"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre\".split(\n                '_'\n            ),\n            isFormat: /D[oD]?(\\s)+MMMM/,\n        },\n        monthsShort:\n            'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split(\n                '_'\n            ),\n        weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n        weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM [de] YYYY',\n            ll: 'D MMM YYYY',\n            LLL: 'D MMMM [de] YYYY [a les] H:mm',\n            lll: 'D MMM YYYY, H:mm',\n            LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',\n            llll: 'ddd D MMM YYYY, H:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n            },\n            nextDay: function () {\n                return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n            },\n            lastDay: function () {\n                return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [passat a ' +\n                    (this.hours() !== 1 ? 'les' : 'la') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: \"d'aquí %s\",\n            past: 'fa %s',\n            s: 'uns segons',\n            ss: '%d segons',\n            m: 'un minut',\n            mm: '%d minuts',\n            h: 'una hora',\n            hh: '%d hores',\n            d: 'un dia',\n            dd: '%d dies',\n            M: 'un mes',\n            MM: '%d mesos',\n            y: 'un any',\n            yy: '%d anys',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n        ordinal: function (number, period) {\n            var output =\n                number === 1\n                    ? 'r'\n                    : number === 2\n                      ? 'n'\n                      : number === 3\n                        ? 'r'\n                        : number === 4\n                          ? 't'\n                          : 'è';\n            if (period === 'w' || period === 'W') {\n                output = 'a';\n            }\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ca;\n\n})));\n","//! moment.js locale configuration\n//! locale : Czech [cs]\n//! author : petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = {\n            standalone:\n                'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(\n                    '_'\n                ),\n            format: 'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split(\n                '_'\n            ),\n            isFormat: /DD?[o.]?(\\[[^\\[\\]]*\\]|\\s)+MMMM/,\n        },\n        monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),\n        monthsParse = [\n            /^led/i,\n            /^úno/i,\n            /^bře/i,\n            /^dub/i,\n            /^kvě/i,\n            /^(čvn|červen$|června)/i,\n            /^(čvc|červenec|července)/i,\n            /^srp/i,\n            /^zář/i,\n            /^říj/i,\n            /^lis/i,\n            /^pro/i,\n        ],\n        // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n        // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n        monthsRegex =\n            /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;\n\n    function plural(n) {\n        return n > 1 && n < 5 && ~~(n / 10) !== 1;\n    }\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        switch (key) {\n            case 's': // a few seconds / in a few seconds / a few seconds ago\n                return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';\n            case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'sekundy' : 'sekund');\n                } else {\n                    return result + 'sekundami';\n                }\n            case 'm': // a minute / in a minute / a minute ago\n                return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';\n            case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'minuty' : 'minut');\n                } else {\n                    return result + 'minutami';\n                }\n            case 'h': // an hour / in an hour / an hour ago\n                return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n            case 'hh': // 9 hours / in 9 hours / 9 hours ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'hodiny' : 'hodin');\n                } else {\n                    return result + 'hodinami';\n                }\n            case 'd': // a day / in a day / a day ago\n                return withoutSuffix || isFuture ? 'den' : 'dnem';\n            case 'dd': // 9 days / in 9 days / 9 days ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'dny' : 'dní');\n                } else {\n                    return result + 'dny';\n                }\n            case 'M': // a month / in a month / a month ago\n                return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';\n            case 'MM': // 9 months / in 9 months / 9 months ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'měsíce' : 'měsíců');\n                } else {\n                    return result + 'měsíci';\n                }\n            case 'y': // a year / in a year / a year ago\n                return withoutSuffix || isFuture ? 'rok' : 'rokem';\n            case 'yy': // 9 years / in 9 years / 9 years ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'roky' : 'let');\n                } else {\n                    return result + 'lety';\n                }\n        }\n    }\n\n    var cs = moment.defineLocale('cs', {\n        months: months,\n        monthsShort: monthsShort,\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n        // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n        monthsStrictRegex:\n            /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,\n        monthsShortStrictRegex:\n            /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n        weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),\n        weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd D. MMMM YYYY H:mm',\n            l: 'D. M. YYYY',\n        },\n        calendar: {\n            sameDay: '[dnes v] LT',\n            nextDay: '[zítra v] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[v neděli v] LT';\n                    case 1:\n                    case 2:\n                        return '[v] dddd [v] LT';\n                    case 3:\n                        return '[ve středu v] LT';\n                    case 4:\n                        return '[ve čtvrtek v] LT';\n                    case 5:\n                        return '[v pátek v] LT';\n                    case 6:\n                        return '[v sobotu v] LT';\n                }\n            },\n            lastDay: '[včera v] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[minulou neděli v] LT';\n                    case 1:\n                    case 2:\n                        return '[minulé] dddd [v] LT';\n                    case 3:\n                        return '[minulou středu v] LT';\n                    case 4:\n                    case 5:\n                        return '[minulý] dddd [v] LT';\n                    case 6:\n                        return '[minulou sobotu v] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'před %s',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return cs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chuvash [cv]\n//! author : Anatoly Mironov : https://github.com/mirontoli\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var cv = moment.defineLocale('cv', {\n        months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split(\n            '_'\n        ),\n        monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n        weekdays:\n            'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split(\n                '_'\n            ),\n        weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n        weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD-MM-YYYY',\n            LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n            LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n            LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n        },\n        calendar: {\n            sameDay: '[Паян] LT [сехетре]',\n            nextDay: '[Ыран] LT [сехетре]',\n            lastDay: '[Ӗнер] LT [сехетре]',\n            nextWeek: '[Ҫитес] dddd LT [сехетре]',\n            lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: function (output) {\n                var affix = /сехет$/i.exec(output)\n                    ? 'рен'\n                    : /ҫул$/i.exec(output)\n                      ? 'тан'\n                      : 'ран';\n                return output + affix;\n            },\n            past: '%s каялла',\n            s: 'пӗр-ик ҫеккунт',\n            ss: '%d ҫеккунт',\n            m: 'пӗр минут',\n            mm: '%d минут',\n            h: 'пӗр сехет',\n            hh: '%d сехет',\n            d: 'пӗр кун',\n            dd: '%d кун',\n            M: 'пӗр уйӑх',\n            MM: '%d уйӑх',\n            y: 'пӗр ҫул',\n            yy: '%d ҫул',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n        ordinal: '%d-мӗш',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return cv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Welsh [cy]\n//! author : Robert Allen : https://github.com/robgallen\n//! author : https://github.com/ryangreaves\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var cy = moment.defineLocale('cy', {\n        months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split(\n            '_'\n        ),\n        monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split(\n            '_'\n        ),\n        weekdays:\n            'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split(\n                '_'\n            ),\n        weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n        weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n        weekdaysParseExact: true,\n        // time formats are the same as en-gb\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Heddiw am] LT',\n            nextDay: '[Yfory am] LT',\n            nextWeek: 'dddd [am] LT',\n            lastDay: '[Ddoe am] LT',\n            lastWeek: 'dddd [diwethaf am] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'mewn %s',\n            past: '%s yn ôl',\n            s: 'ychydig eiliadau',\n            ss: '%d eiliad',\n            m: 'munud',\n            mm: '%d munud',\n            h: 'awr',\n            hh: '%d awr',\n            d: 'diwrnod',\n            dd: '%d diwrnod',\n            M: 'mis',\n            MM: '%d mis',\n            y: 'blwyddyn',\n            yy: '%d flynedd',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n        // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n        ordinal: function (number) {\n            var b = number,\n                output = '',\n                lookup = [\n                    '',\n                    'af',\n                    'il',\n                    'ydd',\n                    'ydd',\n                    'ed',\n                    'ed',\n                    'ed',\n                    'fed',\n                    'fed',\n                    'fed', // 1af to 10fed\n                    'eg',\n                    'fed',\n                    'eg',\n                    'eg',\n                    'fed',\n                    'eg',\n                    'eg',\n                    'fed',\n                    'eg',\n                    'fed', // 11eg to 20fed\n                ];\n            if (b > 20) {\n                if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n                    output = 'fed'; // not 30ain, 70ain or 90ain\n                } else {\n                    output = 'ain';\n                }\n            } else if (b > 0) {\n                output = lookup[b];\n            }\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return cy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Danish [da]\n//! author : Ulrik Nielsen : https://github.com/mrbase\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var da = moment.defineLocale('da', {\n        months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n        weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n        weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n        weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY HH:mm',\n            LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm',\n        },\n        calendar: {\n            sameDay: '[i dag kl.] LT',\n            nextDay: '[i morgen kl.] LT',\n            nextWeek: 'på dddd [kl.] LT',\n            lastDay: '[i går kl.] LT',\n            lastWeek: '[i] dddd[s kl.] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'om %s',\n            past: '%s siden',\n            s: 'få sekunder',\n            ss: '%d sekunder',\n            m: 'et minut',\n            mm: '%d minutter',\n            h: 'en time',\n            hh: '%d timer',\n            d: 'en dag',\n            dd: '%d dage',\n            M: 'en måned',\n            MM: '%d måneder',\n            y: 'et år',\n            yy: '%d år',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return da;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Austria) [de-at]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Martin Groller : https://github.com/MadMG\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            m: ['eine Minute', 'einer Minute'],\n            h: ['eine Stunde', 'einer Stunde'],\n            d: ['ein Tag', 'einem Tag'],\n            dd: [number + ' Tage', number + ' Tagen'],\n            w: ['eine Woche', 'einer Woche'],\n            M: ['ein Monat', 'einem Monat'],\n            MM: [number + ' Monate', number + ' Monaten'],\n            y: ['ein Jahr', 'einem Jahr'],\n            yy: [number + ' Jahre', number + ' Jahren'],\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n\n    var deAt = moment.defineLocale('de-at', {\n        months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n            '_'\n        ),\n        monthsShort:\n            'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n        monthsParseExact: true,\n        weekdays:\n            'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n                '_'\n            ),\n        weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n        weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY HH:mm',\n            LLLL: 'dddd, D. MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[heute um] LT [Uhr]',\n            sameElse: 'L',\n            nextDay: '[morgen um] LT [Uhr]',\n            nextWeek: 'dddd [um] LT [Uhr]',\n            lastDay: '[gestern um] LT [Uhr]',\n            lastWeek: '[letzten] dddd [um] LT [Uhr]',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: 'vor %s',\n            s: 'ein paar Sekunden',\n            ss: '%d Sekunden',\n            m: processRelativeTime,\n            mm: '%d Minuten',\n            h: processRelativeTime,\n            hh: '%d Stunden',\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            w: processRelativeTime,\n            ww: '%d Wochen',\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return deAt;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Switzerland) [de-ch]\n//! author : sschueller : https://github.com/sschueller\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            m: ['eine Minute', 'einer Minute'],\n            h: ['eine Stunde', 'einer Stunde'],\n            d: ['ein Tag', 'einem Tag'],\n            dd: [number + ' Tage', number + ' Tagen'],\n            w: ['eine Woche', 'einer Woche'],\n            M: ['ein Monat', 'einem Monat'],\n            MM: [number + ' Monate', number + ' Monaten'],\n            y: ['ein Jahr', 'einem Jahr'],\n            yy: [number + ' Jahre', number + ' Jahren'],\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n\n    var deCh = moment.defineLocale('de-ch', {\n        months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n            '_'\n        ),\n        monthsShort:\n            'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n        monthsParseExact: true,\n        weekdays:\n            'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n                '_'\n            ),\n        weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n        weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY HH:mm',\n            LLLL: 'dddd, D. MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[heute um] LT [Uhr]',\n            sameElse: 'L',\n            nextDay: '[morgen um] LT [Uhr]',\n            nextWeek: 'dddd [um] LT [Uhr]',\n            lastDay: '[gestern um] LT [Uhr]',\n            lastWeek: '[letzten] dddd [um] LT [Uhr]',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: 'vor %s',\n            s: 'ein paar Sekunden',\n            ss: '%d Sekunden',\n            m: processRelativeTime,\n            mm: '%d Minuten',\n            h: processRelativeTime,\n            hh: '%d Stunden',\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            w: processRelativeTime,\n            ww: '%d Wochen',\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return deCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : German [de]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            m: ['eine Minute', 'einer Minute'],\n            h: ['eine Stunde', 'einer Stunde'],\n            d: ['ein Tag', 'einem Tag'],\n            dd: [number + ' Tage', number + ' Tagen'],\n            w: ['eine Woche', 'einer Woche'],\n            M: ['ein Monat', 'einem Monat'],\n            MM: [number + ' Monate', number + ' Monaten'],\n            y: ['ein Jahr', 'einem Jahr'],\n            yy: [number + ' Jahre', number + ' Jahren'],\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n\n    var de = moment.defineLocale('de', {\n        months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n            '_'\n        ),\n        monthsShort:\n            'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n        monthsParseExact: true,\n        weekdays:\n            'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n                '_'\n            ),\n        weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n        weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY HH:mm',\n            LLLL: 'dddd, D. MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[heute um] LT [Uhr]',\n            sameElse: 'L',\n            nextDay: '[morgen um] LT [Uhr]',\n            nextWeek: 'dddd [um] LT [Uhr]',\n            lastDay: '[gestern um] LT [Uhr]',\n            lastWeek: '[letzten] dddd [um] LT [Uhr]',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: 'vor %s',\n            s: 'ein paar Sekunden',\n            ss: '%d Sekunden',\n            m: processRelativeTime,\n            mm: '%d Minuten',\n            h: processRelativeTime,\n            hh: '%d Stunden',\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            w: processRelativeTime,\n            ww: '%d Wochen',\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return de;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maldivian [dv]\n//! author : Jawish Hameed : https://github.com/jawish\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'ޖެނުއަރީ',\n            'ފެބްރުއަރީ',\n            'މާރިޗު',\n            'އޭޕްރީލު',\n            'މޭ',\n            'ޖޫން',\n            'ޖުލައި',\n            'އޯގަސްޓު',\n            'ސެޕްޓެމްބަރު',\n            'އޮކްޓޯބަރު',\n            'ނޮވެމްބަރު',\n            'ޑިސެމްބަރު',\n        ],\n        weekdays = [\n            'އާދިއްތަ',\n            'ހޯމަ',\n            'އަންގާރަ',\n            'ބުދަ',\n            'ބުރާސްފަތި',\n            'ހުކުރު',\n            'ހޮނިހިރު',\n        ];\n\n    var dv = moment.defineLocale('dv', {\n        months: months,\n        monthsShort: months,\n        weekdays: weekdays,\n        weekdaysShort: weekdays,\n        weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'D/M/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /މކ|މފ/,\n        isPM: function (input) {\n            return 'މފ' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'މކ';\n            } else {\n                return 'މފ';\n            }\n        },\n        calendar: {\n            sameDay: '[މިއަދު] LT',\n            nextDay: '[މާދަމާ] LT',\n            nextWeek: 'dddd LT',\n            lastDay: '[އިއްޔެ] LT',\n            lastWeek: '[ފާއިތުވި] dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ތެރޭގައި %s',\n            past: 'ކުރިން %s',\n            s: 'ސިކުންތުކޮޅެއް',\n            ss: 'd% ސިކުންތު',\n            m: 'މިނިޓެއް',\n            mm: 'މިނިޓު %d',\n            h: 'ގަޑިއިރެއް',\n            hh: 'ގަޑިއިރު %d',\n            d: 'ދުވަހެއް',\n            dd: 'ދުވަސް %d',\n            M: 'މަހެއް',\n            MM: 'މަސް %d',\n            y: 'އަހަރެއް',\n            yy: 'އަހަރު %d',\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            dow: 7, // Sunday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return dv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Greek [el]\n//! author : Aggelos Karalias : https://github.com/mehiel\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function isFunction(input) {\n        return (\n            (typeof Function !== 'undefined' && input instanceof Function) ||\n            Object.prototype.toString.call(input) === '[object Function]'\n        );\n    }\n\n    var el = moment.defineLocale('el', {\n        monthsNominativeEl:\n            'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split(\n                '_'\n            ),\n        monthsGenitiveEl:\n            'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split(\n                '_'\n            ),\n        months: function (momentToFormat, format) {\n            if (!momentToFormat) {\n                return this._monthsNominativeEl;\n            } else if (\n                typeof format === 'string' &&\n                /D/.test(format.substring(0, format.indexOf('MMMM')))\n            ) {\n                // if there is a day number before 'MMMM'\n                return this._monthsGenitiveEl[momentToFormat.month()];\n            } else {\n                return this._monthsNominativeEl[momentToFormat.month()];\n            }\n        },\n        monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n        weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split(\n            '_'\n        ),\n        weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n        weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n        meridiem: function (hours, minutes, isLower) {\n            if (hours > 11) {\n                return isLower ? 'μμ' : 'ΜΜ';\n            } else {\n                return isLower ? 'πμ' : 'ΠΜ';\n            }\n        },\n        isPM: function (input) {\n            return (input + '').toLowerCase()[0] === 'μ';\n        },\n        meridiemParse: /[ΠΜ]\\.?Μ?\\.?/i,\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendarEl: {\n            sameDay: '[Σήμερα {}] LT',\n            nextDay: '[Αύριο {}] LT',\n            nextWeek: 'dddd [{}] LT',\n            lastDay: '[Χθες {}] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 6:\n                        return '[το προηγούμενο] dddd [{}] LT';\n                    default:\n                        return '[την προηγούμενη] dddd [{}] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        calendar: function (key, mom) {\n            var output = this._calendarEl[key],\n                hours = mom && mom.hours();\n            if (isFunction(output)) {\n                output = output.apply(mom);\n            }\n            return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις');\n        },\n        relativeTime: {\n            future: 'σε %s',\n            past: '%s πριν',\n            s: 'λίγα δευτερόλεπτα',\n            ss: '%d δευτερόλεπτα',\n            m: 'ένα λεπτό',\n            mm: '%d λεπτά',\n            h: 'μία ώρα',\n            hh: '%d ώρες',\n            d: 'μία μέρα',\n            dd: '%d μέρες',\n            M: 'ένας μήνας',\n            MM: '%d μήνες',\n            y: 'ένας χρόνος',\n            yy: '%d χρόνια',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}η/,\n        ordinal: '%dη',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4st is the first week of the year.\n        },\n    });\n\n    return el;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Australia) [en-au]\n//! author : Jared Morse : https://github.com/jarcoal\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enAu = moment.defineLocale('en-au', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enAu;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Canada) [en-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enCa = moment.defineLocale('en-ca', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'YYYY-MM-DD',\n            LL: 'MMMM D, YYYY',\n            LLL: 'MMMM D, YYYY h:mm A',\n            LLLL: 'dddd, MMMM D, YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n    });\n\n    return enCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (United Kingdom) [en-gb]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enGb = moment.defineLocale('en-gb', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enGb;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Ireland) [en-ie]\n//! author : Chris Cartlidge : https://github.com/chriscartlidge\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enIe = moment.defineLocale('en-ie', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enIe;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Israel) [en-il]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enIl = moment.defineLocale('en-il', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n    });\n\n    return enIl;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (India) [en-in]\n//! author : Jatin Agrawal : https://github.com/jatinag22\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enIn = moment.defineLocale('en-in', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 1st is the first week of the year.\n        },\n    });\n\n    return enIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (New Zealand) [en-nz]\n//! author : Luke McGregor : https://github.com/lukemcgregor\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enNz = moment.defineLocale('en-nz', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enNz;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Singapore) [en-sg]\n//! author : Matthew Castrillon-Madrigal : https://github.com/techdimension\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enSg = moment.defineLocale('en-sg', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enSg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Esperanto [eo]\n//! author : Colin Dean : https://github.com/colindean\n//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia\n//! comment : miestasmia corrected the translation by colindean\n//! comment : Vivakvo corrected the translation by colindean and miestasmia\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var eo = moment.defineLocale('eo', {\n        months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'),\n        weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n        weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n        weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: '[la] D[-an de] MMMM, YYYY',\n            LLL: '[la] D[-an de] MMMM, YYYY HH:mm',\n            LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm',\n            llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm',\n        },\n        meridiemParse: /[ap]\\.t\\.m/i,\n        isPM: function (input) {\n            return input.charAt(0).toLowerCase() === 'p';\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours > 11) {\n                return isLower ? 'p.t.m.' : 'P.T.M.';\n            } else {\n                return isLower ? 'a.t.m.' : 'A.T.M.';\n            }\n        },\n        calendar: {\n            sameDay: '[Hodiaŭ je] LT',\n            nextDay: '[Morgaŭ je] LT',\n            nextWeek: 'dddd[n je] LT',\n            lastDay: '[Hieraŭ je] LT',\n            lastWeek: '[pasintan] dddd[n je] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'post %s',\n            past: 'antaŭ %s',\n            s: 'kelkaj sekundoj',\n            ss: '%d sekundoj',\n            m: 'unu minuto',\n            mm: '%d minutoj',\n            h: 'unu horo',\n            hh: '%d horoj',\n            d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo\n            dd: '%d tagoj',\n            M: 'unu monato',\n            MM: '%d monatoj',\n            y: 'unu jaro',\n            yy: '%d jaroj',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}a/,\n        ordinal: '%da',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return eo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Dominican Republic) [es-do]\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortDot =\n            'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n                '_'\n            ),\n        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n        monthsParse = [\n            /^ene/i,\n            /^feb/i,\n            /^mar/i,\n            /^abr/i,\n            /^may/i,\n            /^jun/i,\n            /^jul/i,\n            /^ago/i,\n            /^sep/i,\n            /^oct/i,\n            /^nov/i,\n            /^dic/i,\n        ],\n        monthsRegex =\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n    var esDo = moment.defineLocale('es-do', {\n        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortDot;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShort[m.month()];\n            } else {\n                return monthsShortDot[m.month()];\n            }\n        },\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n        monthsShortStrictRegex:\n            /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY h:mm A',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastDay: function () {\n                return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [pasado a la' +\n                    (this.hours() !== 1 ? 's' : '') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'en %s',\n            past: 'hace %s',\n            s: 'unos segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'una hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            w: 'una semana',\n            ww: '%d semanas',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un año',\n            yy: '%d años',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return esDo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Mexico) [es-mx]\n//! author : JC Franco : https://github.com/jcfranco\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortDot =\n            'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n                '_'\n            ),\n        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n        monthsParse = [\n            /^ene/i,\n            /^feb/i,\n            /^mar/i,\n            /^abr/i,\n            /^may/i,\n            /^jun/i,\n            /^jul/i,\n            /^ago/i,\n            /^sep/i,\n            /^oct/i,\n            /^nov/i,\n            /^dic/i,\n        ],\n        monthsRegex =\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n    var esMx = moment.defineLocale('es-mx', {\n        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortDot;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShort[m.month()];\n            } else {\n                return monthsShortDot[m.month()];\n            }\n        },\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n        monthsShortStrictRegex:\n            /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY H:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastDay: function () {\n                return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [pasado a la' +\n                    (this.hours() !== 1 ? 's' : '') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'en %s',\n            past: 'hace %s',\n            s: 'unos segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'una hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            w: 'una semana',\n            ww: '%d semanas',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un año',\n            yy: '%d años',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n        invalidDate: 'Fecha inválida',\n    });\n\n    return esMx;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (United States) [es-us]\n//! author : bustta : https://github.com/bustta\n//! author : chrisrodz : https://github.com/chrisrodz\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortDot =\n            'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n                '_'\n            ),\n        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n        monthsParse = [\n            /^ene/i,\n            /^feb/i,\n            /^mar/i,\n            /^abr/i,\n            /^may/i,\n            /^jun/i,\n            /^jul/i,\n            /^ago/i,\n            /^sep/i,\n            /^oct/i,\n            /^nov/i,\n            /^dic/i,\n        ],\n        monthsRegex =\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n    var esUs = moment.defineLocale('es-us', {\n        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortDot;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShort[m.month()];\n            } else {\n                return monthsShortDot[m.month()];\n            }\n        },\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n        monthsShortStrictRegex:\n            /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'MM/DD/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY h:mm A',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastDay: function () {\n                return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [pasado a la' +\n                    (this.hours() !== 1 ? 's' : '') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'en %s',\n            past: 'hace %s',\n            s: 'unos segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'una hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            w: 'una semana',\n            ww: '%d semanas',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un año',\n            yy: '%d años',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return esUs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish [es]\n//! author : Julio Napurí : https://github.com/julionc\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortDot =\n            'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n                '_'\n            ),\n        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n        monthsParse = [\n            /^ene/i,\n            /^feb/i,\n            /^mar/i,\n            /^abr/i,\n            /^may/i,\n            /^jun/i,\n            /^jul/i,\n            /^ago/i,\n            /^sep/i,\n            /^oct/i,\n            /^nov/i,\n            /^dic/i,\n        ],\n        monthsRegex =\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n    var es = moment.defineLocale('es', {\n        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortDot;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShort[m.month()];\n            } else {\n                return monthsShortDot[m.month()];\n            }\n        },\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n        monthsShortStrictRegex:\n            /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY H:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastDay: function () {\n                return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [pasado a la' +\n                    (this.hours() !== 1 ? 's' : '') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'en %s',\n            past: 'hace %s',\n            s: 'unos segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'una hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            w: 'una semana',\n            ww: '%d semanas',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un año',\n            yy: '%d años',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n        invalidDate: 'Fecha inválida',\n    });\n\n    return es;\n\n})));\n","//! moment.js locale configuration\n//! locale : Estonian [et]\n//! author : Henry Kehlmann : https://github.com/madhenry\n//! improvements : Illimar Tambek : https://github.com/ragulka\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n            ss: [number + 'sekundi', number + 'sekundit'],\n            m: ['ühe minuti', 'üks minut'],\n            mm: [number + ' minuti', number + ' minutit'],\n            h: ['ühe tunni', 'tund aega', 'üks tund'],\n            hh: [number + ' tunni', number + ' tundi'],\n            d: ['ühe päeva', 'üks päev'],\n            M: ['kuu aja', 'kuu aega', 'üks kuu'],\n            MM: [number + ' kuu', number + ' kuud'],\n            y: ['ühe aasta', 'aasta', 'üks aasta'],\n            yy: [number + ' aasta', number + ' aastat'],\n        };\n        if (withoutSuffix) {\n            return format[key][2] ? format[key][2] : format[key][1];\n        }\n        return isFuture ? format[key][0] : format[key][1];\n    }\n\n    var et = moment.defineLocale('et', {\n        months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split(\n            '_'\n        ),\n        monthsShort:\n            'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n        weekdays:\n            'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split(\n                '_'\n            ),\n        weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),\n        weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd, D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[Täna,] LT',\n            nextDay: '[Homme,] LT',\n            nextWeek: '[Järgmine] dddd LT',\n            lastDay: '[Eile,] LT',\n            lastWeek: '[Eelmine] dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s pärast',\n            past: '%s tagasi',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: '%d päeva',\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return et;\n\n})));\n","//! moment.js locale configuration\n//! locale : Basque [eu]\n//! author : Eneko Illarramendi : https://github.com/eillarra\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var eu = moment.defineLocale('eu', {\n        months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split(\n            '_'\n        ),\n        monthsShort:\n            'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split(\n                '_'\n            ),\n        weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),\n        weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'YYYY[ko] MMMM[ren] D[a]',\n            LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n            LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n            l: 'YYYY-M-D',\n            ll: 'YYYY[ko] MMM D[a]',\n            lll: 'YYYY[ko] MMM D[a] HH:mm',\n            llll: 'ddd, YYYY[ko] MMM D[a] HH:mm',\n        },\n        calendar: {\n            sameDay: '[gaur] LT[etan]',\n            nextDay: '[bihar] LT[etan]',\n            nextWeek: 'dddd LT[etan]',\n            lastDay: '[atzo] LT[etan]',\n            lastWeek: '[aurreko] dddd LT[etan]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s barru',\n            past: 'duela %s',\n            s: 'segundo batzuk',\n            ss: '%d segundo',\n            m: 'minutu bat',\n            mm: '%d minutu',\n            h: 'ordu bat',\n            hh: '%d ordu',\n            d: 'egun bat',\n            dd: '%d egun',\n            M: 'hilabete bat',\n            MM: '%d hilabete',\n            y: 'urte bat',\n            yy: '%d urte',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return eu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Persian [fa]\n//! author : Ebrahim Byagowi : https://github.com/ebraminio\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '۱',\n            2: '۲',\n            3: '۳',\n            4: '۴',\n            5: '۵',\n            6: '۶',\n            7: '۷',\n            8: '۸',\n            9: '۹',\n            0: '۰',\n        },\n        numberMap = {\n            '۱': '1',\n            '۲': '2',\n            '۳': '3',\n            '۴': '4',\n            '۵': '5',\n            '۶': '6',\n            '۷': '7',\n            '۸': '8',\n            '۹': '9',\n            '۰': '0',\n        };\n\n    var fa = moment.defineLocale('fa', {\n        months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n            '_'\n        ),\n        monthsShort:\n            'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n                '_'\n            ),\n        weekdays:\n            'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n                '_'\n            ),\n        weekdaysShort:\n            'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n                '_'\n            ),\n        weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /قبل از ظهر|بعد از ظهر/,\n        isPM: function (input) {\n            return /بعد از ظهر/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'قبل از ظهر';\n            } else {\n                return 'بعد از ظهر';\n            }\n        },\n        calendar: {\n            sameDay: '[امروز ساعت] LT',\n            nextDay: '[فردا ساعت] LT',\n            nextWeek: 'dddd [ساعت] LT',\n            lastDay: '[دیروز ساعت] LT',\n            lastWeek: 'dddd [پیش] [ساعت] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'در %s',\n            past: '%s پیش',\n            s: 'چند ثانیه',\n            ss: '%d ثانیه',\n            m: 'یک دقیقه',\n            mm: '%d دقیقه',\n            h: 'یک ساعت',\n            hh: '%d ساعت',\n            d: 'یک روز',\n            dd: '%d روز',\n            M: 'یک ماه',\n            MM: '%d ماه',\n            y: 'یک سال',\n            yy: '%d سال',\n        },\n        preparse: function (string) {\n            return string\n                .replace(/[۰-۹]/g, function (match) {\n                    return numberMap[match];\n                })\n                .replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}م/,\n        ordinal: '%dم',\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return fa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Finnish [fi]\n//! author : Tarmo Aidantausta : https://github.com/bleadof\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var numbersPast =\n            'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(\n                ' '\n            ),\n        numbersFuture = [\n            'nolla',\n            'yhden',\n            'kahden',\n            'kolmen',\n            'neljän',\n            'viiden',\n            'kuuden',\n            numbersPast[7],\n            numbersPast[8],\n            numbersPast[9],\n        ];\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = '';\n        switch (key) {\n            case 's':\n                return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n            case 'ss':\n                result = isFuture ? 'sekunnin' : 'sekuntia';\n                break;\n            case 'm':\n                return isFuture ? 'minuutin' : 'minuutti';\n            case 'mm':\n                result = isFuture ? 'minuutin' : 'minuuttia';\n                break;\n            case 'h':\n                return isFuture ? 'tunnin' : 'tunti';\n            case 'hh':\n                result = isFuture ? 'tunnin' : 'tuntia';\n                break;\n            case 'd':\n                return isFuture ? 'päivän' : 'päivä';\n            case 'dd':\n                result = isFuture ? 'päivän' : 'päivää';\n                break;\n            case 'M':\n                return isFuture ? 'kuukauden' : 'kuukausi';\n            case 'MM':\n                result = isFuture ? 'kuukauden' : 'kuukautta';\n                break;\n            case 'y':\n                return isFuture ? 'vuoden' : 'vuosi';\n            case 'yy':\n                result = isFuture ? 'vuoden' : 'vuotta';\n                break;\n        }\n        result = verbalNumber(number, isFuture) + ' ' + result;\n        return result;\n    }\n    function verbalNumber(number, isFuture) {\n        return number < 10\n            ? isFuture\n                ? numbersFuture[number]\n                : numbersPast[number]\n            : number;\n    }\n\n    var fi = moment.defineLocale('fi', {\n        months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split(\n            '_'\n        ),\n        monthsShort:\n            'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split(\n                '_'\n            ),\n        weekdays:\n            'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split(\n                '_'\n            ),\n        weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),\n        weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD.MM.YYYY',\n            LL: 'Do MMMM[ta] YYYY',\n            LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',\n            LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n            l: 'D.M.YYYY',\n            ll: 'Do MMM YYYY',\n            lll: 'Do MMM YYYY, [klo] HH.mm',\n            llll: 'ddd, Do MMM YYYY, [klo] HH.mm',\n        },\n        calendar: {\n            sameDay: '[tänään] [klo] LT',\n            nextDay: '[huomenna] [klo] LT',\n            nextWeek: 'dddd [klo] LT',\n            lastDay: '[eilen] [klo] LT',\n            lastWeek: '[viime] dddd[na] [klo] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s päästä',\n            past: '%s sitten',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Filipino [fil]\n//! author : Dan Hagman : https://github.com/hagmandan\n//! author : Matthew Co : https://github.com/matthewdeeco\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var fil = moment.defineLocale('fil', {\n        months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n            '_'\n        ),\n        monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n        weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n            '_'\n        ),\n        weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n        weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'MM/D/YYYY',\n            LL: 'MMMM D, YYYY',\n            LLL: 'MMMM D, YYYY HH:mm',\n            LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: 'LT [ngayong araw]',\n            nextDay: '[Bukas ng] LT',\n            nextWeek: 'LT [sa susunod na] dddd',\n            lastDay: 'LT [kahapon]',\n            lastWeek: 'LT [noong nakaraang] dddd',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'sa loob ng %s',\n            past: '%s ang nakalipas',\n            s: 'ilang segundo',\n            ss: '%d segundo',\n            m: 'isang minuto',\n            mm: '%d minuto',\n            h: 'isang oras',\n            hh: '%d oras',\n            d: 'isang araw',\n            dd: '%d araw',\n            M: 'isang buwan',\n            MM: '%d buwan',\n            y: 'isang taon',\n            yy: '%d taon',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}/,\n        ordinal: function (number) {\n            return number;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fil;\n\n})));\n","//! moment.js locale configuration\n//! locale : Faroese [fo]\n//! author : Ragnar Johannesen : https://github.com/ragnar123\n//! author : Kristian Sakarisson : https://github.com/sakarisson\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var fo = moment.defineLocale('fo', {\n        months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n        weekdays:\n            'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split(\n                '_'\n            ),\n        weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n        weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D. MMMM, YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Í dag kl.] LT',\n            nextDay: '[Í morgin kl.] LT',\n            nextWeek: 'dddd [kl.] LT',\n            lastDay: '[Í gjár kl.] LT',\n            lastWeek: '[síðstu] dddd [kl] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'um %s',\n            past: '%s síðani',\n            s: 'fá sekund',\n            ss: '%d sekundir',\n            m: 'ein minuttur',\n            mm: '%d minuttir',\n            h: 'ein tími',\n            hh: '%d tímar',\n            d: 'ein dagur',\n            dd: '%d dagar',\n            M: 'ein mánaður',\n            MM: '%d mánaðir',\n            y: 'eitt ár',\n            yy: '%d ár',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fo;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Canada) [fr-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var frCa = moment.defineLocale('fr-ca', {\n        months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n            '_'\n        ),\n        monthsShort:\n            'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n        weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n        weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Aujourd’hui à] LT',\n            nextDay: '[Demain à] LT',\n            nextWeek: 'dddd [à] LT',\n            lastDay: '[Hier à] LT',\n            lastWeek: 'dddd [dernier à] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dans %s',\n            past: 'il y a %s',\n            s: 'quelques secondes',\n            ss: '%d secondes',\n            m: 'une minute',\n            mm: '%d minutes',\n            h: 'une heure',\n            hh: '%d heures',\n            d: 'un jour',\n            dd: '%d jours',\n            M: 'un mois',\n            MM: '%d mois',\n            y: 'un an',\n            yy: '%d ans',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // Words with masculine grammatical gender: mois, trimestre, jour\n                default:\n                case 'M':\n                case 'Q':\n                case 'D':\n                case 'DDD':\n                case 'd':\n                    return number + (number === 1 ? 'er' : 'e');\n\n                // Words with feminine grammatical gender: semaine\n                case 'w':\n                case 'W':\n                    return number + (number === 1 ? 're' : 'e');\n            }\n        },\n    });\n\n    return frCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Switzerland) [fr-ch]\n//! author : Gaspard Bucher : https://github.com/gaspard\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var frCh = moment.defineLocale('fr-ch', {\n        months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n            '_'\n        ),\n        monthsShort:\n            'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n        weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n        weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Aujourd’hui à] LT',\n            nextDay: '[Demain à] LT',\n            nextWeek: 'dddd [à] LT',\n            lastDay: '[Hier à] LT',\n            lastWeek: 'dddd [dernier à] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dans %s',\n            past: 'il y a %s',\n            s: 'quelques secondes',\n            ss: '%d secondes',\n            m: 'une minute',\n            mm: '%d minutes',\n            h: 'une heure',\n            hh: '%d heures',\n            d: 'un jour',\n            dd: '%d jours',\n            M: 'un mois',\n            MM: '%d mois',\n            y: 'un an',\n            yy: '%d ans',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // Words with masculine grammatical gender: mois, trimestre, jour\n                default:\n                case 'M':\n                case 'Q':\n                case 'D':\n                case 'DDD':\n                case 'd':\n                    return number + (number === 1 ? 'er' : 'e');\n\n                // Words with feminine grammatical gender: semaine\n                case 'w':\n                case 'W':\n                    return number + (number === 1 ? 're' : 'e');\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return frCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : French [fr]\n//! author : John Fischer : https://github.com/jfroffice\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsStrictRegex =\n            /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n        monthsShortStrictRegex =\n            /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?)/i,\n        monthsRegex =\n            /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n        monthsParse = [\n            /^janv/i,\n            /^févr/i,\n            /^mars/i,\n            /^avr/i,\n            /^mai/i,\n            /^juin/i,\n            /^juil/i,\n            /^août/i,\n            /^sept/i,\n            /^oct/i,\n            /^nov/i,\n            /^déc/i,\n        ];\n\n    var fr = moment.defineLocale('fr', {\n        months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n            '_'\n        ),\n        monthsShort:\n            'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n                '_'\n            ),\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex: monthsStrictRegex,\n        monthsShortStrictRegex: monthsShortStrictRegex,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n        weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n        weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Aujourd’hui à] LT',\n            nextDay: '[Demain à] LT',\n            nextWeek: 'dddd [à] LT',\n            lastDay: '[Hier à] LT',\n            lastWeek: 'dddd [dernier à] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dans %s',\n            past: 'il y a %s',\n            s: 'quelques secondes',\n            ss: '%d secondes',\n            m: 'une minute',\n            mm: '%d minutes',\n            h: 'une heure',\n            hh: '%d heures',\n            d: 'un jour',\n            dd: '%d jours',\n            w: 'une semaine',\n            ww: '%d semaines',\n            M: 'un mois',\n            MM: '%d mois',\n            y: 'un an',\n            yy: '%d ans',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // TODO: Return 'e' when day of month > 1. Move this case inside\n                // block for masculine words below.\n                // See https://github.com/moment/moment/issues/3375\n                case 'D':\n                    return number + (number === 1 ? 'er' : '');\n\n                // Words with masculine grammatical gender: mois, trimestre, jour\n                default:\n                case 'M':\n                case 'Q':\n                case 'DDD':\n                case 'd':\n                    return number + (number === 1 ? 'er' : 'e');\n\n                // Words with feminine grammatical gender: semaine\n                case 'w':\n                case 'W':\n                    return number + (number === 1 ? 're' : 'e');\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Frisian [fy]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortWithDots =\n            'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n        monthsShortWithoutDots =\n            'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\n    var fy = moment.defineLocale('fy', {\n        months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortWithDots;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShortWithoutDots[m.month()];\n            } else {\n                return monthsShortWithDots[m.month()];\n            }\n        },\n        monthsParseExact: true,\n        weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split(\n            '_'\n        ),\n        weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),\n        weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD-MM-YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[hjoed om] LT',\n            nextDay: '[moarn om] LT',\n            nextWeek: 'dddd [om] LT',\n            lastDay: '[juster om] LT',\n            lastWeek: '[ôfrûne] dddd [om] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'oer %s',\n            past: '%s lyn',\n            s: 'in pear sekonden',\n            ss: '%d sekonden',\n            m: 'ien minút',\n            mm: '%d minuten',\n            h: 'ien oere',\n            hh: '%d oeren',\n            d: 'ien dei',\n            dd: '%d dagen',\n            M: 'ien moanne',\n            MM: '%d moannen',\n            y: 'ien jier',\n            yy: '%d jierren',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n        ordinal: function (number) {\n            return (\n                number +\n                (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n            );\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Irish or Irish Gaelic [ga]\n//! author : André Silva : https://github.com/askpt\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'Eanáir',\n            'Feabhra',\n            'Márta',\n            'Aibreán',\n            'Bealtaine',\n            'Meitheamh',\n            'Iúil',\n            'Lúnasa',\n            'Meán Fómhair',\n            'Deireadh Fómhair',\n            'Samhain',\n            'Nollaig',\n        ],\n        monthsShort = [\n            'Ean',\n            'Feabh',\n            'Márt',\n            'Aib',\n            'Beal',\n            'Meith',\n            'Iúil',\n            'Lún',\n            'M.F.',\n            'D.F.',\n            'Samh',\n            'Noll',\n        ],\n        weekdays = [\n            'Dé Domhnaigh',\n            'Dé Luain',\n            'Dé Máirt',\n            'Dé Céadaoin',\n            'Déardaoin',\n            'Dé hAoine',\n            'Dé Sathairn',\n        ],\n        weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'],\n        weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa'];\n\n    var ga = moment.defineLocale('ga', {\n        months: months,\n        monthsShort: monthsShort,\n        monthsParseExact: true,\n        weekdays: weekdays,\n        weekdaysShort: weekdaysShort,\n        weekdaysMin: weekdaysMin,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Inniu ag] LT',\n            nextDay: '[Amárach ag] LT',\n            nextWeek: 'dddd [ag] LT',\n            lastDay: '[Inné ag] LT',\n            lastWeek: 'dddd [seo caite] [ag] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'i %s',\n            past: '%s ó shin',\n            s: 'cúpla soicind',\n            ss: '%d soicind',\n            m: 'nóiméad',\n            mm: '%d nóiméad',\n            h: 'uair an chloig',\n            hh: '%d uair an chloig',\n            d: 'lá',\n            dd: '%d lá',\n            M: 'mí',\n            MM: '%d míonna',\n            y: 'bliain',\n            yy: '%d bliain',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n        ordinal: function (number) {\n            var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ga;\n\n})));\n","//! moment.js locale configuration\n//! locale : Scottish Gaelic [gd]\n//! author : Jon Ashdown : https://github.com/jonashdown\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'Am Faoilleach',\n            'An Gearran',\n            'Am Màrt',\n            'An Giblean',\n            'An Cèitean',\n            'An t-Ògmhios',\n            'An t-Iuchar',\n            'An Lùnastal',\n            'An t-Sultain',\n            'An Dàmhair',\n            'An t-Samhain',\n            'An Dùbhlachd',\n        ],\n        monthsShort = [\n            'Faoi',\n            'Gear',\n            'Màrt',\n            'Gibl',\n            'Cèit',\n            'Ògmh',\n            'Iuch',\n            'Lùn',\n            'Sult',\n            'Dàmh',\n            'Samh',\n            'Dùbh',\n        ],\n        weekdays = [\n            'Didòmhnaich',\n            'Diluain',\n            'Dimàirt',\n            'Diciadain',\n            'Diardaoin',\n            'Dihaoine',\n            'Disathairne',\n        ],\n        weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],\n        weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n    var gd = moment.defineLocale('gd', {\n        months: months,\n        monthsShort: monthsShort,\n        monthsParseExact: true,\n        weekdays: weekdays,\n        weekdaysShort: weekdaysShort,\n        weekdaysMin: weekdaysMin,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[An-diugh aig] LT',\n            nextDay: '[A-màireach aig] LT',\n            nextWeek: 'dddd [aig] LT',\n            lastDay: '[An-dè aig] LT',\n            lastWeek: 'dddd [seo chaidh] [aig] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ann an %s',\n            past: 'bho chionn %s',\n            s: 'beagan diogan',\n            ss: '%d diogan',\n            m: 'mionaid',\n            mm: '%d mionaidean',\n            h: 'uair',\n            hh: '%d uairean',\n            d: 'latha',\n            dd: '%d latha',\n            M: 'mìos',\n            MM: '%d mìosan',\n            y: 'bliadhna',\n            yy: '%d bliadhna',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n        ordinal: function (number) {\n            var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return gd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Galician [gl]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var gl = moment.defineLocale('gl', {\n        months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split(\n            '_'\n        ),\n        monthsShort:\n            'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY H:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';\n            },\n            lastDay: function () {\n                return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: function (str) {\n                if (str.indexOf('un') === 0) {\n                    return 'n' + str;\n                }\n                return 'en ' + str;\n            },\n            past: 'hai %s',\n            s: 'uns segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'unha hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un ano',\n            yy: '%d anos',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return gl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Devanagari script [gom-deva]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'],\n            ss: [number + ' सॅकंडांनी', number + ' सॅकंड'],\n            m: ['एका मिणटान', 'एक मिनूट'],\n            mm: [number + ' मिणटांनी', number + ' मिणटां'],\n            h: ['एका वरान', 'एक वर'],\n            hh: [number + ' वरांनी', number + ' वरां'],\n            d: ['एका दिसान', 'एक दीस'],\n            dd: [number + ' दिसांनी', number + ' दीस'],\n            M: ['एका म्हयन्यान', 'एक म्हयनो'],\n            MM: [number + ' म्हयन्यानी', number + ' म्हयने'],\n            y: ['एका वर्सान', 'एक वर्स'],\n            yy: [number + ' वर्सांनी', number + ' वर्सां'],\n        };\n        return isFuture ? format[key][0] : format[key][1];\n    }\n\n    var gomDeva = moment.defineLocale('gom-deva', {\n        months: {\n            standalone:\n                'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n                    '_'\n                ),\n            format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split(\n                '_'\n            ),\n            isFormat: /MMMM(\\s)+D[oD]?/,\n        },\n        monthsShort:\n            'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'),\n        weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'),\n        weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'A h:mm [वाजतां]',\n            LTS: 'A h:mm:ss [वाजतां]',\n            L: 'DD-MM-YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY A h:mm [वाजतां]',\n            LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]',\n            llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]',\n        },\n        calendar: {\n            sameDay: '[आयज] LT',\n            nextDay: '[फाल्यां] LT',\n            nextWeek: '[फुडलो] dddd[,] LT',\n            lastDay: '[काल] LT',\n            lastWeek: '[फाटलो] dddd[,] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s',\n            past: '%s आदीं',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(वेर)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // the ordinal 'वेर' only applies to day of the month\n                case 'D':\n                    return number + 'वेर';\n                default:\n                case 'M':\n                case 'Q':\n                case 'DDD':\n                case 'd':\n                case 'w':\n                case 'W':\n                    return number;\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week\n            doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n        },\n        meridiemParse: /राती|सकाळीं|दनपारां|सांजे/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'राती') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'सकाळीं') {\n                return hour;\n            } else if (meridiem === 'दनपारां') {\n                return hour > 12 ? hour : hour + 12;\n            } else if (meridiem === 'सांजे') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'राती';\n            } else if (hour < 12) {\n                return 'सकाळीं';\n            } else if (hour < 16) {\n                return 'दनपारां';\n            } else if (hour < 20) {\n                return 'सांजे';\n            } else {\n                return 'राती';\n            }\n        },\n    });\n\n    return gomDeva;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Latin script [gom-latn]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            s: ['thoddea sekondamni', 'thodde sekond'],\n            ss: [number + ' sekondamni', number + ' sekond'],\n            m: ['eka mintan', 'ek minut'],\n            mm: [number + ' mintamni', number + ' mintam'],\n            h: ['eka voran', 'ek vor'],\n            hh: [number + ' voramni', number + ' voram'],\n            d: ['eka disan', 'ek dis'],\n            dd: [number + ' disamni', number + ' dis'],\n            M: ['eka mhoinean', 'ek mhoino'],\n            MM: [number + ' mhoineamni', number + ' mhoine'],\n            y: ['eka vorsan', 'ek voros'],\n            yy: [number + ' vorsamni', number + ' vorsam'],\n        };\n        return isFuture ? format[key][0] : format[key][1];\n    }\n\n    var gomLatn = moment.defineLocale('gom-latn', {\n        months: {\n            standalone:\n                'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split(\n                    '_'\n                ),\n            format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split(\n                '_'\n            ),\n            isFormat: /MMMM(\\s)+D[oD]?/,\n        },\n        monthsShort:\n            'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n        monthsParseExact: true,\n        weekdays: \"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var\".split('_'),\n        weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n        weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'A h:mm [vazta]',\n            LTS: 'A h:mm:ss [vazta]',\n            L: 'DD-MM-YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY A h:mm [vazta]',\n            LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]',\n            llll: 'ddd, D MMM YYYY, A h:mm [vazta]',\n        },\n        calendar: {\n            sameDay: '[Aiz] LT',\n            nextDay: '[Faleam] LT',\n            nextWeek: '[Fuddlo] dddd[,] LT',\n            lastDay: '[Kal] LT',\n            lastWeek: '[Fattlo] dddd[,] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s',\n            past: '%s adim',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(er)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // the ordinal 'er' only applies to day of the month\n                case 'D':\n                    return number + 'er';\n                default:\n                case 'M':\n                case 'Q':\n                case 'DDD':\n                case 'd':\n                case 'w':\n                case 'W':\n                    return number;\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week\n            doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n        },\n        meridiemParse: /rati|sokallim|donparam|sanje/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'rati') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'sokallim') {\n                return hour;\n            } else if (meridiem === 'donparam') {\n                return hour > 12 ? hour : hour + 12;\n            } else if (meridiem === 'sanje') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'rati';\n            } else if (hour < 12) {\n                return 'sokallim';\n            } else if (hour < 16) {\n                return 'donparam';\n            } else if (hour < 20) {\n                return 'sanje';\n            } else {\n                return 'rati';\n            }\n        },\n    });\n\n    return gomLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Gujarati [gu]\n//! author : Kaushik Thanki : https://github.com/Kaushik1987\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '૧',\n            2: '૨',\n            3: '૩',\n            4: '૪',\n            5: '૫',\n            6: '૬',\n            7: '૭',\n            8: '૮',\n            9: '૯',\n            0: '૦',\n        },\n        numberMap = {\n            '૧': '1',\n            '૨': '2',\n            '૩': '3',\n            '૪': '4',\n            '૫': '5',\n            '૬': '6',\n            '૭': '7',\n            '૮': '8',\n            '૯': '9',\n            '૦': '0',\n        };\n\n    var gu = moment.defineLocale('gu', {\n        months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split(\n            '_'\n        ),\n        monthsShort:\n            'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split(\n            '_'\n        ),\n        weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n        weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm વાગ્યે',\n            LTS: 'A h:mm:ss વાગ્યે',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે',\n        },\n        calendar: {\n            sameDay: '[આજ] LT',\n            nextDay: '[કાલે] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[ગઇકાલે] LT',\n            lastWeek: '[પાછલા] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s મા',\n            past: '%s પહેલા',\n            s: 'અમુક પળો',\n            ss: '%d સેકંડ',\n            m: 'એક મિનિટ',\n            mm: '%d મિનિટ',\n            h: 'એક કલાક',\n            hh: '%d કલાક',\n            d: 'એક દિવસ',\n            dd: '%d દિવસ',\n            M: 'એક મહિનો',\n            MM: '%d મહિનો',\n            y: 'એક વર્ષ',\n            yy: '%d વર્ષ',\n        },\n        preparse: function (string) {\n            return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n        meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'રાત') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'સવાર') {\n                return hour;\n            } else if (meridiem === 'બપોર') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'સાંજ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'રાત';\n            } else if (hour < 10) {\n                return 'સવાર';\n            } else if (hour < 17) {\n                return 'બપોર';\n            } else if (hour < 20) {\n                return 'સાંજ';\n            } else {\n                return 'રાત';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return gu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hebrew [he]\n//! author : Tomer Cohen : https://github.com/tomer\n//! author : Moshe Simantov : https://github.com/DevelopmentIL\n//! author : Tal Ater : https://github.com/TalAter\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var he = moment.defineLocale('he', {\n        months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split(\n            '_'\n        ),\n        monthsShort:\n            'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n        weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n        weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n        weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [ב]MMMM YYYY',\n            LLL: 'D [ב]MMMM YYYY HH:mm',\n            LLLL: 'dddd, D [ב]MMMM YYYY HH:mm',\n            l: 'D/M/YYYY',\n            ll: 'D MMM YYYY',\n            lll: 'D MMM YYYY HH:mm',\n            llll: 'ddd, D MMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[היום ב־]LT',\n            nextDay: '[מחר ב־]LT',\n            nextWeek: 'dddd [בשעה] LT',\n            lastDay: '[אתמול ב־]LT',\n            lastWeek: '[ביום] dddd [האחרון בשעה] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'בעוד %s',\n            past: 'לפני %s',\n            s: 'מספר שניות',\n            ss: '%d שניות',\n            m: 'דקה',\n            mm: '%d דקות',\n            h: 'שעה',\n            hh: function (number) {\n                if (number === 2) {\n                    return 'שעתיים';\n                }\n                return number + ' שעות';\n            },\n            d: 'יום',\n            dd: function (number) {\n                if (number === 2) {\n                    return 'יומיים';\n                }\n                return number + ' ימים';\n            },\n            M: 'חודש',\n            MM: function (number) {\n                if (number === 2) {\n                    return 'חודשיים';\n                }\n                return number + ' חודשים';\n            },\n            y: 'שנה',\n            yy: function (number) {\n                if (number === 2) {\n                    return 'שנתיים';\n                } else if (number % 10 === 0 && number !== 10) {\n                    return number + ' שנה';\n                }\n                return number + ' שנים';\n            },\n        },\n        meridiemParse:\n            /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n        isPM: function (input) {\n            return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 5) {\n                return 'לפנות בוקר';\n            } else if (hour < 10) {\n                return 'בבוקר';\n            } else if (hour < 12) {\n                return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n            } else if (hour < 18) {\n                return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n            } else {\n                return 'בערב';\n            }\n        },\n    });\n\n    return he;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hindi [hi]\n//! author : Mayank Singhal : https://github.com/mayanksinghal\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '१',\n            2: '२',\n            3: '३',\n            4: '४',\n            5: '५',\n            6: '६',\n            7: '७',\n            8: '८',\n            9: '९',\n            0: '०',\n        },\n        numberMap = {\n            '१': '1',\n            '२': '2',\n            '३': '3',\n            '४': '4',\n            '५': '5',\n            '६': '6',\n            '७': '7',\n            '८': '8',\n            '९': '9',\n            '०': '0',\n        },\n        monthsParse = [\n            /^जन/i,\n            /^फ़र|फर/i,\n            /^मार्च/i,\n            /^अप्रै/i,\n            /^मई/i,\n            /^जून/i,\n            /^जुल/i,\n            /^अग/i,\n            /^सितं|सित/i,\n            /^अक्टू/i,\n            /^नव|नवं/i,\n            /^दिसं|दिस/i,\n        ],\n        shortMonthsParse = [\n            /^जन/i,\n            /^फ़र/i,\n            /^मार्च/i,\n            /^अप्रै/i,\n            /^मई/i,\n            /^जून/i,\n            /^जुल/i,\n            /^अग/i,\n            /^सित/i,\n            /^अक्टू/i,\n            /^नव/i,\n            /^दिस/i,\n        ];\n\n    var hi = moment.defineLocale('hi', {\n        months: {\n            format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split(\n                '_'\n            ),\n            standalone:\n                'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split(\n                    '_'\n                ),\n        },\n        monthsShort:\n            'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n        weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n        weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n        weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm बजे',\n            LTS: 'A h:mm:ss बजे',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm बजे',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm बजे',\n        },\n\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: shortMonthsParse,\n\n        monthsRegex:\n            /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n        monthsShortRegex:\n            /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n        monthsStrictRegex:\n            /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i,\n\n        monthsShortStrictRegex:\n            /^(जन\\.?|फ़र\\.?|मार्च?|अप्रै\\.?|मई?|जून?|जुल\\.?|अग\\.?|सित\\.?|अक्टू\\.?|नव\\.?|दिस\\.?)/i,\n\n        calendar: {\n            sameDay: '[आज] LT',\n            nextDay: '[कल] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[कल] LT',\n            lastWeek: '[पिछले] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s में',\n            past: '%s पहले',\n            s: 'कुछ ही क्षण',\n            ss: '%d सेकंड',\n            m: 'एक मिनट',\n            mm: '%d मिनट',\n            h: 'एक घंटा',\n            hh: '%d घंटे',\n            d: 'एक दिन',\n            dd: '%d दिन',\n            M: 'एक महीने',\n            MM: '%d महीने',\n            y: 'एक वर्ष',\n            yy: '%d वर्ष',\n        },\n        preparse: function (string) {\n            return string.replace(/[१२३४५६७८९०]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n        meridiemParse: /रात|सुबह|दोपहर|शाम/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'रात') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'सुबह') {\n                return hour;\n            } else if (meridiem === 'दोपहर') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'शाम') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'रात';\n            } else if (hour < 10) {\n                return 'सुबह';\n            } else if (hour < 17) {\n                return 'दोपहर';\n            } else if (hour < 20) {\n                return 'शाम';\n            } else {\n                return 'रात';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return hi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Croatian [hr]\n//! author : Bojan Marković : https://github.com/bmarkovic\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function translate(number, withoutSuffix, key) {\n        var result = number + ' ';\n        switch (key) {\n            case 'ss':\n                if (number === 1) {\n                    result += 'sekunda';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'sekunde';\n                } else {\n                    result += 'sekundi';\n                }\n                return result;\n            case 'm':\n                return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n            case 'mm':\n                if (number === 1) {\n                    result += 'minuta';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'minute';\n                } else {\n                    result += 'minuta';\n                }\n                return result;\n            case 'h':\n                return withoutSuffix ? 'jedan sat' : 'jednog sata';\n            case 'hh':\n                if (number === 1) {\n                    result += 'sat';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'sata';\n                } else {\n                    result += 'sati';\n                }\n                return result;\n            case 'dd':\n                if (number === 1) {\n                    result += 'dan';\n                } else {\n                    result += 'dana';\n                }\n                return result;\n            case 'MM':\n                if (number === 1) {\n                    result += 'mjesec';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'mjeseca';\n                } else {\n                    result += 'mjeseci';\n                }\n                return result;\n            case 'yy':\n                if (number === 1) {\n                    result += 'godina';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'godine';\n                } else {\n                    result += 'godina';\n                }\n                return result;\n        }\n    }\n\n    var hr = moment.defineLocale('hr', {\n        months: {\n            format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split(\n                '_'\n            ),\n            standalone:\n                'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split(\n                    '_'\n                ),\n        },\n        monthsShort:\n            'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n            '_'\n        ),\n        weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'Do MMMM YYYY',\n            LLL: 'Do MMMM YYYY H:mm',\n            LLLL: 'dddd, Do MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[danas u] LT',\n            nextDay: '[sutra u] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[u] [nedjelju] [u] LT';\n                    case 3:\n                        return '[u] [srijedu] [u] LT';\n                    case 6:\n                        return '[u] [subotu] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[u] dddd [u] LT';\n                }\n            },\n            lastDay: '[jučer u] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[prošlu] [nedjelju] [u] LT';\n                    case 3:\n                        return '[prošlu] [srijedu] [u] LT';\n                    case 6:\n                        return '[prošle] [subote] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[prošli] dddd [u] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'prije %s',\n            s: 'par sekundi',\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: 'dan',\n            dd: translate,\n            M: 'mjesec',\n            MM: translate,\n            y: 'godinu',\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return hr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hungarian [hu]\n//! author : Adam Brunner : https://github.com/adambrunner\n//! author : Peter Viszt  : https://github.com/passatgt\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var weekEndings =\n        'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n    function translate(number, withoutSuffix, key, isFuture) {\n        var num = number;\n        switch (key) {\n            case 's':\n                return isFuture || withoutSuffix\n                    ? 'néhány másodperc'\n                    : 'néhány másodperce';\n            case 'ss':\n                return num + (isFuture || withoutSuffix)\n                    ? ' másodperc'\n                    : ' másodperce';\n            case 'm':\n                return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n            case 'mm':\n                return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n            case 'h':\n                return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n            case 'hh':\n                return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n            case 'd':\n                return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n            case 'dd':\n                return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n            case 'M':\n                return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n            case 'MM':\n                return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n            case 'y':\n                return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n            case 'yy':\n                return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n        }\n        return '';\n    }\n    function week(isFuture) {\n        return (\n            (isFuture ? '' : '[múlt] ') +\n            '[' +\n            weekEndings[this.day()] +\n            '] LT[-kor]'\n        );\n    }\n\n    var hu = moment.defineLocale('hu', {\n        months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n        weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n        weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'YYYY.MM.DD.',\n            LL: 'YYYY. MMMM D.',\n            LLL: 'YYYY. MMMM D. H:mm',\n            LLLL: 'YYYY. MMMM D., dddd H:mm',\n        },\n        meridiemParse: /de|du/i,\n        isPM: function (input) {\n            return input.charAt(1).toLowerCase() === 'u';\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower === true ? 'de' : 'DE';\n            } else {\n                return isLower === true ? 'du' : 'DU';\n            }\n        },\n        calendar: {\n            sameDay: '[ma] LT[-kor]',\n            nextDay: '[holnap] LT[-kor]',\n            nextWeek: function () {\n                return week.call(this, true);\n            },\n            lastDay: '[tegnap] LT[-kor]',\n            lastWeek: function () {\n                return week.call(this, false);\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s múlva',\n            past: '%s',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return hu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Armenian [hy-am]\n//! author : Armendarabyan : https://github.com/armendarabyan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var hyAm = moment.defineLocale('hy-am', {\n        months: {\n            format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split(\n                '_'\n            ),\n            standalone:\n                'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split(\n                    '_'\n                ),\n        },\n        monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n        weekdays:\n            'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split(\n                '_'\n            ),\n        weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n        weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY թ.',\n            LLL: 'D MMMM YYYY թ., HH:mm',\n            LLLL: 'dddd, D MMMM YYYY թ., HH:mm',\n        },\n        calendar: {\n            sameDay: '[այսօր] LT',\n            nextDay: '[վաղը] LT',\n            lastDay: '[երեկ] LT',\n            nextWeek: function () {\n                return 'dddd [օրը ժամը] LT';\n            },\n            lastWeek: function () {\n                return '[անցած] dddd [օրը ժամը] LT';\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s հետո',\n            past: '%s առաջ',\n            s: 'մի քանի վայրկյան',\n            ss: '%d վայրկյան',\n            m: 'րոպե',\n            mm: '%d րոպե',\n            h: 'ժամ',\n            hh: '%d ժամ',\n            d: 'օր',\n            dd: '%d օր',\n            M: 'ամիս',\n            MM: '%d ամիս',\n            y: 'տարի',\n            yy: '%d տարի',\n        },\n        meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n        isPM: function (input) {\n            return /^(ցերեկվա|երեկոյան)$/.test(input);\n        },\n        meridiem: function (hour) {\n            if (hour < 4) {\n                return 'գիշերվա';\n            } else if (hour < 12) {\n                return 'առավոտվա';\n            } else if (hour < 17) {\n                return 'ցերեկվա';\n            } else {\n                return 'երեկոյան';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'DDD':\n                case 'w':\n                case 'W':\n                case 'DDDo':\n                    if (number === 1) {\n                        return number + '-ին';\n                    }\n                    return number + '-րդ';\n                default:\n                    return number;\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return hyAm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Indonesian [id]\n//! author : Mohammad Satrio Utomo : https://github.com/tyok\n//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var id = moment.defineLocale('id', {\n        months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n        weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n        weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n        weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [pukul] HH.mm',\n            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n        },\n        meridiemParse: /pagi|siang|sore|malam/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'pagi') {\n                return hour;\n            } else if (meridiem === 'siang') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'sore' || meridiem === 'malam') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'pagi';\n            } else if (hours < 15) {\n                return 'siang';\n            } else if (hours < 19) {\n                return 'sore';\n            } else {\n                return 'malam';\n            }\n        },\n        calendar: {\n            sameDay: '[Hari ini pukul] LT',\n            nextDay: '[Besok pukul] LT',\n            nextWeek: 'dddd [pukul] LT',\n            lastDay: '[Kemarin pukul] LT',\n            lastWeek: 'dddd [lalu pukul] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dalam %s',\n            past: '%s yang lalu',\n            s: 'beberapa detik',\n            ss: '%d detik',\n            m: 'semenit',\n            mm: '%d menit',\n            h: 'sejam',\n            hh: '%d jam',\n            d: 'sehari',\n            dd: '%d hari',\n            M: 'sebulan',\n            MM: '%d bulan',\n            y: 'setahun',\n            yy: '%d tahun',\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return id;\n\n})));\n","//! moment.js locale configuration\n//! locale : Icelandic [is]\n//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function plural(n) {\n        if (n % 100 === 11) {\n            return true;\n        } else if (n % 10 === 1) {\n            return false;\n        }\n        return true;\n    }\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        switch (key) {\n            case 's':\n                return withoutSuffix || isFuture\n                    ? 'nokkrar sekúndur'\n                    : 'nokkrum sekúndum';\n            case 'ss':\n                if (plural(number)) {\n                    return (\n                        result +\n                        (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum')\n                    );\n                }\n                return result + 'sekúnda';\n            case 'm':\n                return withoutSuffix ? 'mínúta' : 'mínútu';\n            case 'mm':\n                if (plural(number)) {\n                    return (\n                        result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum')\n                    );\n                } else if (withoutSuffix) {\n                    return result + 'mínúta';\n                }\n                return result + 'mínútu';\n            case 'hh':\n                if (plural(number)) {\n                    return (\n                        result +\n                        (withoutSuffix || isFuture\n                            ? 'klukkustundir'\n                            : 'klukkustundum')\n                    );\n                }\n                return result + 'klukkustund';\n            case 'd':\n                if (withoutSuffix) {\n                    return 'dagur';\n                }\n                return isFuture ? 'dag' : 'degi';\n            case 'dd':\n                if (plural(number)) {\n                    if (withoutSuffix) {\n                        return result + 'dagar';\n                    }\n                    return result + (isFuture ? 'daga' : 'dögum');\n                } else if (withoutSuffix) {\n                    return result + 'dagur';\n                }\n                return result + (isFuture ? 'dag' : 'degi');\n            case 'M':\n                if (withoutSuffix) {\n                    return 'mánuður';\n                }\n                return isFuture ? 'mánuð' : 'mánuði';\n            case 'MM':\n                if (plural(number)) {\n                    if (withoutSuffix) {\n                        return result + 'mánuðir';\n                    }\n                    return result + (isFuture ? 'mánuði' : 'mánuðum');\n                } else if (withoutSuffix) {\n                    return result + 'mánuður';\n                }\n                return result + (isFuture ? 'mánuð' : 'mánuði');\n            case 'y':\n                return withoutSuffix || isFuture ? 'ár' : 'ári';\n            case 'yy':\n                if (plural(number)) {\n                    return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n                }\n                return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n        }\n    }\n\n    var is = moment.defineLocale('is', {\n        months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n        weekdays:\n            'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split(\n                '_'\n            ),\n        weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n        weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY [kl.] H:mm',\n            LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm',\n        },\n        calendar: {\n            sameDay: '[í dag kl.] LT',\n            nextDay: '[á morgun kl.] LT',\n            nextWeek: 'dddd [kl.] LT',\n            lastDay: '[í gær kl.] LT',\n            lastWeek: '[síðasta] dddd [kl.] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'eftir %s',\n            past: 'fyrir %s síðan',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: 'klukkustund',\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return is;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian (Switzerland) [it-ch]\n//! author : xfh : https://github.com/xfh\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var itCh = moment.defineLocale('it-ch', {\n        months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n            '_'\n        ),\n        monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n        weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n            '_'\n        ),\n        weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n        weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Oggi alle] LT',\n            nextDay: '[Domani alle] LT',\n            nextWeek: 'dddd [alle] LT',\n            lastDay: '[Ieri alle] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[la scorsa] dddd [alle] LT';\n                    default:\n                        return '[lo scorso] dddd [alle] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: function (s) {\n                return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s;\n            },\n            past: '%s fa',\n            s: 'alcuni secondi',\n            ss: '%d secondi',\n            m: 'un minuto',\n            mm: '%d minuti',\n            h: \"un'ora\",\n            hh: '%d ore',\n            d: 'un giorno',\n            dd: '%d giorni',\n            M: 'un mese',\n            MM: '%d mesi',\n            y: 'un anno',\n            yy: '%d anni',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return itCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian [it]\n//! author : Lorenzo : https://github.com/aliem\n//! author: Mattia Larentis: https://github.com/nostalgiaz\n//! author: Marco : https://github.com/Manfre98\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var it = moment.defineLocale('it', {\n        months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n            '_'\n        ),\n        monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n        weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n            '_'\n        ),\n        weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n        weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return (\n                    '[Oggi a' +\n                    (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n                    ']LT'\n                );\n            },\n            nextDay: function () {\n                return (\n                    '[Domani a' +\n                    (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n                    ']LT'\n                );\n            },\n            nextWeek: function () {\n                return (\n                    'dddd [a' +\n                    (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n                    ']LT'\n                );\n            },\n            lastDay: function () {\n                return (\n                    '[Ieri a' +\n                    (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n                    ']LT'\n                );\n            },\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return (\n                            '[La scorsa] dddd [a' +\n                            (this.hours() > 1\n                                ? 'lle '\n                                : this.hours() === 0\n                                  ? ' '\n                                  : \"ll'\") +\n                            ']LT'\n                        );\n                    default:\n                        return (\n                            '[Lo scorso] dddd [a' +\n                            (this.hours() > 1\n                                ? 'lle '\n                                : this.hours() === 0\n                                  ? ' '\n                                  : \"ll'\") +\n                            ']LT'\n                        );\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'tra %s',\n            past: '%s fa',\n            s: 'alcuni secondi',\n            ss: '%d secondi',\n            m: 'un minuto',\n            mm: '%d minuti',\n            h: \"un'ora\",\n            hh: '%d ore',\n            d: 'un giorno',\n            dd: '%d giorni',\n            w: 'una settimana',\n            ww: '%d settimane',\n            M: 'un mese',\n            MM: '%d mesi',\n            y: 'un anno',\n            yy: '%d anni',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return it;\n\n})));\n","//! moment.js locale configuration\n//! locale : Japanese [ja]\n//! author : LI Long : https://github.com/baryon\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ja = moment.defineLocale('ja', {\n        eras: [\n            {\n                since: '2019-05-01',\n                offset: 1,\n                name: '令和',\n                narrow: '㋿',\n                abbr: 'R',\n            },\n            {\n                since: '1989-01-08',\n                until: '2019-04-30',\n                offset: 1,\n                name: '平成',\n                narrow: '㍻',\n                abbr: 'H',\n            },\n            {\n                since: '1926-12-25',\n                until: '1989-01-07',\n                offset: 1,\n                name: '昭和',\n                narrow: '㍼',\n                abbr: 'S',\n            },\n            {\n                since: '1912-07-30',\n                until: '1926-12-24',\n                offset: 1,\n                name: '大正',\n                narrow: '㍽',\n                abbr: 'T',\n            },\n            {\n                since: '1873-01-01',\n                until: '1912-07-29',\n                offset: 6,\n                name: '明治',\n                narrow: '㍾',\n                abbr: 'M',\n            },\n            {\n                since: '0001-01-01',\n                until: '1873-12-31',\n                offset: 1,\n                name: '西暦',\n                narrow: 'AD',\n                abbr: 'AD',\n            },\n            {\n                since: '0000-12-31',\n                until: -Infinity,\n                offset: 1,\n                name: '紀元前',\n                narrow: 'BC',\n                abbr: 'BC',\n            },\n        ],\n        eraYearOrdinalRegex: /(元|\\d+)年/,\n        eraYearOrdinalParse: function (input, match) {\n            return match[1] === '元' ? 1 : parseInt(match[1] || input, 10);\n        },\n        months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n        weekdaysShort: '日_月_火_水_木_金_土'.split('_'),\n        weekdaysMin: '日_月_火_水_木_金_土'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日 HH:mm',\n            LLLL: 'YYYY年M月D日 dddd HH:mm',\n            l: 'YYYY/MM/DD',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日(ddd) HH:mm',\n        },\n        meridiemParse: /午前|午後/i,\n        isPM: function (input) {\n            return input === '午後';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return '午前';\n            } else {\n                return '午後';\n            }\n        },\n        calendar: {\n            sameDay: '[今日] LT',\n            nextDay: '[明日] LT',\n            nextWeek: function (now) {\n                if (now.week() !== this.week()) {\n                    return '[来週]dddd LT';\n                } else {\n                    return 'dddd LT';\n                }\n            },\n            lastDay: '[昨日] LT',\n            lastWeek: function (now) {\n                if (this.week() !== now.week()) {\n                    return '[先週]dddd LT';\n                } else {\n                    return 'dddd LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}日/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'y':\n                    return number === 1 ? '元年' : number + '年';\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s後',\n            past: '%s前',\n            s: '数秒',\n            ss: '%d秒',\n            m: '1分',\n            mm: '%d分',\n            h: '1時間',\n            hh: '%d時間',\n            d: '1日',\n            dd: '%d日',\n            M: '1ヶ月',\n            MM: '%dヶ月',\n            y: '1年',\n            yy: '%d年',\n        },\n    });\n\n    return ja;\n\n})));\n","//! moment.js locale configuration\n//! locale : Javanese [jv]\n//! author : Rony Lantip : https://github.com/lantip\n//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var jv = moment.defineLocale('jv', {\n        months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n        weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n        weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n        weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [pukul] HH.mm',\n            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n        },\n        meridiemParse: /enjing|siyang|sonten|ndalu/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'enjing') {\n                return hour;\n            } else if (meridiem === 'siyang') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'enjing';\n            } else if (hours < 15) {\n                return 'siyang';\n            } else if (hours < 19) {\n                return 'sonten';\n            } else {\n                return 'ndalu';\n            }\n        },\n        calendar: {\n            sameDay: '[Dinten puniko pukul] LT',\n            nextDay: '[Mbenjang pukul] LT',\n            nextWeek: 'dddd [pukul] LT',\n            lastDay: '[Kala wingi pukul] LT',\n            lastWeek: 'dddd [kepengker pukul] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'wonten ing %s',\n            past: '%s ingkang kepengker',\n            s: 'sawetawis detik',\n            ss: '%d detik',\n            m: 'setunggal menit',\n            mm: '%d menit',\n            h: 'setunggal jam',\n            hh: '%d jam',\n            d: 'sedinten',\n            dd: '%d dinten',\n            M: 'sewulan',\n            MM: '%d wulan',\n            y: 'setaun',\n            yy: '%d taun',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return jv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Georgian [ka]\n//! author : Irakli Janiashvili : https://github.com/IrakliJani\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ka = moment.defineLocale('ka', {\n        months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split(\n            '_'\n        ),\n        monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n        weekdays: {\n            standalone:\n                'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split(\n                    '_'\n                ),\n            format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split(\n                '_'\n            ),\n            isFormat: /(წინა|შემდეგ)/,\n        },\n        weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n        weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[დღეს] LT[-ზე]',\n            nextDay: '[ხვალ] LT[-ზე]',\n            lastDay: '[გუშინ] LT[-ზე]',\n            nextWeek: '[შემდეგ] dddd LT[-ზე]',\n            lastWeek: '[წინა] dddd LT-ზე',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: function (s) {\n                return s.replace(\n                    /(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/,\n                    function ($0, $1, $2) {\n                        return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';\n                    }\n                );\n            },\n            past: function (s) {\n                if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {\n                    return s.replace(/(ი|ე)$/, 'ის წინ');\n                }\n                if (/წელი/.test(s)) {\n                    return s.replace(/წელი$/, 'წლის წინ');\n                }\n                return s;\n            },\n            s: 'რამდენიმე წამი',\n            ss: '%d წამი',\n            m: 'წუთი',\n            mm: '%d წუთი',\n            h: 'საათი',\n            hh: '%d საათი',\n            d: 'დღე',\n            dd: '%d დღე',\n            M: 'თვე',\n            MM: '%d თვე',\n            y: 'წელი',\n            yy: '%d წელი',\n        },\n        dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n        ordinal: function (number) {\n            if (number === 0) {\n                return number;\n            }\n            if (number === 1) {\n                return number + '-ლი';\n            }\n            if (\n                number < 20 ||\n                (number <= 100 && number % 20 === 0) ||\n                number % 100 === 0\n            ) {\n                return 'მე-' + number;\n            }\n            return number + '-ე';\n        },\n        week: {\n            dow: 1,\n            doy: 7,\n        },\n    });\n\n    return ka;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kazakh [kk]\n//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        0: '-ші',\n        1: '-ші',\n        2: '-ші',\n        3: '-ші',\n        4: '-ші',\n        5: '-ші',\n        6: '-шы',\n        7: '-ші',\n        8: '-ші',\n        9: '-шы',\n        10: '-шы',\n        20: '-шы',\n        30: '-шы',\n        40: '-шы',\n        50: '-ші',\n        60: '-шы',\n        70: '-ші',\n        80: '-ші',\n        90: '-шы',\n        100: '-ші',\n    };\n\n    var kk = moment.defineLocale('kk', {\n        months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split(\n            '_'\n        ),\n        monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n        weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split(\n            '_'\n        ),\n        weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n        weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Бүгін сағат] LT',\n            nextDay: '[Ертең сағат] LT',\n            nextWeek: 'dddd [сағат] LT',\n            lastDay: '[Кеше сағат] LT',\n            lastWeek: '[Өткен аптаның] dddd [сағат] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ішінде',\n            past: '%s бұрын',\n            s: 'бірнеше секунд',\n            ss: '%d секунд',\n            m: 'бір минут',\n            mm: '%d минут',\n            h: 'бір сағат',\n            hh: '%d сағат',\n            d: 'бір күн',\n            dd: '%d күн',\n            M: 'бір ай',\n            MM: '%d ай',\n            y: 'бір жыл',\n            yy: '%d жыл',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n        ordinal: function (number) {\n            var a = number % 10,\n                b = number >= 100 ? 100 : null;\n            return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return kk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Cambodian [km]\n//! author : Kruy Vanna : https://github.com/kruyvanna\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '១',\n            2: '២',\n            3: '៣',\n            4: '៤',\n            5: '៥',\n            6: '៦',\n            7: '៧',\n            8: '៨',\n            9: '៩',\n            0: '០',\n        },\n        numberMap = {\n            '១': '1',\n            '២': '2',\n            '៣': '3',\n            '៤': '4',\n            '៥': '5',\n            '៦': '6',\n            '៧': '7',\n            '៨': '8',\n            '៩': '9',\n            '០': '0',\n        };\n\n    var km = moment.defineLocale('km', {\n        months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n            '_'\n        ),\n        monthsShort:\n            'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n                '_'\n            ),\n        weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n        weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n        weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ព្រឹក|ល្ងាច/,\n        isPM: function (input) {\n            return input === 'ល្ងាច';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ព្រឹក';\n            } else {\n                return 'ល្ងាច';\n            }\n        },\n        calendar: {\n            sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n            nextDay: '[ស្អែក ម៉ោង] LT',\n            nextWeek: 'dddd [ម៉ោង] LT',\n            lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n            lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%sទៀត',\n            past: '%sមុន',\n            s: 'ប៉ុន្មានវិនាទី',\n            ss: '%d វិនាទី',\n            m: 'មួយនាទី',\n            mm: '%d នាទី',\n            h: 'មួយម៉ោង',\n            hh: '%d ម៉ោង',\n            d: 'មួយថ្ងៃ',\n            dd: '%d ថ្ងៃ',\n            M: 'មួយខែ',\n            MM: '%d ខែ',\n            y: 'មួយឆ្នាំ',\n            yy: '%d ឆ្នាំ',\n        },\n        dayOfMonthOrdinalParse: /ទី\\d{1,2}/,\n        ordinal: 'ទី%d',\n        preparse: function (string) {\n            return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return km;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kannada [kn]\n//! author : Rajeev Naik : https://github.com/rajeevnaikte\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '೧',\n            2: '೨',\n            3: '೩',\n            4: '೪',\n            5: '೫',\n            6: '೬',\n            7: '೭',\n            8: '೮',\n            9: '೯',\n            0: '೦',\n        },\n        numberMap = {\n            '೧': '1',\n            '೨': '2',\n            '೩': '3',\n            '೪': '4',\n            '೫': '5',\n            '೬': '6',\n            '೭': '7',\n            '೮': '8',\n            '೯': '9',\n            '೦': '0',\n        };\n\n    var kn = moment.defineLocale('kn', {\n        months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split(\n            '_'\n        ),\n        monthsShort:\n            'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split(\n            '_'\n        ),\n        weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n        weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm',\n            LTS: 'A h:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm',\n        },\n        calendar: {\n            sameDay: '[ಇಂದು] LT',\n            nextDay: '[ನಾಳೆ] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[ನಿನ್ನೆ] LT',\n            lastWeek: '[ಕೊನೆಯ] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ನಂತರ',\n            past: '%s ಹಿಂದೆ',\n            s: 'ಕೆಲವು ಕ್ಷಣಗಳು',\n            ss: '%d ಸೆಕೆಂಡುಗಳು',\n            m: 'ಒಂದು ನಿಮಿಷ',\n            mm: '%d ನಿಮಿಷ',\n            h: 'ಒಂದು ಗಂಟೆ',\n            hh: '%d ಗಂಟೆ',\n            d: 'ಒಂದು ದಿನ',\n            dd: '%d ದಿನ',\n            M: 'ಒಂದು ತಿಂಗಳು',\n            MM: '%d ತಿಂಗಳು',\n            y: 'ಒಂದು ವರ್ಷ',\n            yy: '%d ವರ್ಷ',\n        },\n        preparse: function (string) {\n            return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'ರಾತ್ರಿ') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n                return hour;\n            } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'ಸಂಜೆ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ರಾತ್ರಿ';\n            } else if (hour < 10) {\n                return 'ಬೆಳಿಗ್ಗೆ';\n            } else if (hour < 17) {\n                return 'ಮಧ್ಯಾಹ್ನ';\n            } else if (hour < 20) {\n                return 'ಸಂಜೆ';\n            } else {\n                return 'ರಾತ್ರಿ';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n        ordinal: function (number) {\n            return number + 'ನೇ';\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return kn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Korean [ko]\n//! author : Kyungwook, Park : https://github.com/kyungw00k\n//! author : Jeeeyul Lee <jeeeyul@gmail.com>\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ko = moment.defineLocale('ko', {\n        months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n        monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split(\n            '_'\n        ),\n        weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n        weekdaysShort: '일_월_화_수_목_금_토'.split('_'),\n        weekdaysMin: '일_월_화_수_목_금_토'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm',\n            LTS: 'A h:mm:ss',\n            L: 'YYYY.MM.DD.',\n            LL: 'YYYY년 MMMM D일',\n            LLL: 'YYYY년 MMMM D일 A h:mm',\n            LLLL: 'YYYY년 MMMM D일 dddd A h:mm',\n            l: 'YYYY.MM.DD.',\n            ll: 'YYYY년 MMMM D일',\n            lll: 'YYYY년 MMMM D일 A h:mm',\n            llll: 'YYYY년 MMMM D일 dddd A h:mm',\n        },\n        calendar: {\n            sameDay: '오늘 LT',\n            nextDay: '내일 LT',\n            nextWeek: 'dddd LT',\n            lastDay: '어제 LT',\n            lastWeek: '지난주 dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s 후',\n            past: '%s 전',\n            s: '몇 초',\n            ss: '%d초',\n            m: '1분',\n            mm: '%d분',\n            h: '한 시간',\n            hh: '%d시간',\n            d: '하루',\n            dd: '%d일',\n            M: '한 달',\n            MM: '%d달',\n            y: '일 년',\n            yy: '%d년',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(일|월|주)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '일';\n                case 'M':\n                    return number + '월';\n                case 'w':\n                case 'W':\n                    return number + '주';\n                default:\n                    return number;\n            }\n        },\n        meridiemParse: /오전|오후/,\n        isPM: function (token) {\n            return token === '오후';\n        },\n        meridiem: function (hour, minute, isUpper) {\n            return hour < 12 ? '오전' : '오후';\n        },\n    });\n\n    return ko;\n\n})));\n","//! moment.js locale configuration\n//! locale : Northern Kurdish [ku-kmr]\n//! authors : Mazlum Özdogan : https://github.com/mergehez\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(num, withoutSuffix, key, isFuture) {\n        var format = {\n            s: ['çend sanîye', 'çend sanîyeyan'],\n            ss: [num + ' sanîye', num + ' sanîyeyan'],\n            m: ['deqîqeyek', 'deqîqeyekê'],\n            mm: [num + ' deqîqe', num + ' deqîqeyan'],\n            h: ['saetek', 'saetekê'],\n            hh: [num + ' saet', num + ' saetan'],\n            d: ['rojek', 'rojekê'],\n            dd: [num + ' roj', num + ' rojan'],\n            w: ['hefteyek', 'hefteyekê'],\n            ww: [num + ' hefte', num + ' hefteyan'],\n            M: ['mehek', 'mehekê'],\n            MM: [num + ' meh', num + ' mehan'],\n            y: ['salek', 'salekê'],\n            yy: [num + ' sal', num + ' salan'],\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n    // function obliqueNumSuffix(num) {\n    //     if(num.includes(':'))\n    //         num = parseInt(num.split(':')[0]);\n    //     else\n    //         num = parseInt(num);\n    //     return num == 0 || num % 10 == 1 ? 'ê'\n    //                         : (num > 10 && num % 10 == 0 ? 'î' : 'an');\n    // }\n    function ezafeNumSuffix(num) {\n        num = '' + num;\n        var l = num.substring(num.length - 1),\n            ll = num.length > 1 ? num.substring(num.length - 2) : '';\n        if (\n            !(ll == 12 || ll == 13) &&\n            (l == '2' || l == '3' || ll == '50' || l == '70' || l == '80')\n        )\n            return 'yê';\n        return 'ê';\n    }\n\n    var kuKmr = moment.defineLocale('ku-kmr', {\n        // According to the spelling rules defined by the work group of Weqfa Mezopotamyayê (Mesopotamia Foundation)\n        // this should be: 'Kanûna Paşîn_Sibat_Adar_Nîsan_Gulan_Hezîran_Tîrmeh_Tebax_Îlon_Çirîya Pêşîn_Çirîya Paşîn_Kanûna Pêşîn'\n        // But the names below are more well known and handy\n        months: 'Rêbendan_Sibat_Adar_Nîsan_Gulan_Hezîran_Tîrmeh_Tebax_Îlon_Cotmeh_Mijdar_Berfanbar'.split(\n            '_'\n        ),\n        monthsShort: 'Rêb_Sib_Ada_Nîs_Gul_Hez_Tîr_Teb_Îlo_Cot_Mij_Ber'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'Yekşem_Duşem_Sêşem_Çarşem_Pêncşem_În_Şemî'.split('_'),\n        weekdaysShort: 'Yek_Du_Sê_Çar_Pên_În_Şem'.split('_'),\n        weekdaysMin: 'Ye_Du_Sê_Ça_Pê_În_Şe'.split('_'),\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower ? 'bn' : 'BN';\n            } else {\n                return isLower ? 'pn' : 'PN';\n            }\n        },\n        meridiemParse: /bn|BN|pn|PN/,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'Do MMMM[a] YYYY[an]',\n            LLL: 'Do MMMM[a] YYYY[an] HH:mm',\n            LLLL: 'dddd, Do MMMM[a] YYYY[an] HH:mm',\n            ll: 'Do MMM[.] YYYY[an]',\n            lll: 'Do MMM[.] YYYY[an] HH:mm',\n            llll: 'ddd[.], Do MMM[.] YYYY[an] HH:mm',\n        },\n        calendar: {\n            sameDay: '[Îro di saet] LT [de]',\n            nextDay: '[Sibê di saet] LT [de]',\n            nextWeek: 'dddd [di saet] LT [de]',\n            lastDay: '[Duh di saet] LT [de]',\n            lastWeek: 'dddd[a borî di saet] LT [de]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'di %s de',\n            past: 'berî %s',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            w: processRelativeTime,\n            ww: processRelativeTime,\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(?:yê|ê|\\.)/,\n        ordinal: function (num, period) {\n            var p = period.toLowerCase();\n            if (p.includes('w') || p.includes('m')) return num + '.';\n\n            return num + ezafeNumSuffix(num);\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return kuKmr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kurdish [ku]\n//! author : Shahram Mebashar : https://github.com/ShahramMebashar\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '١',\n            2: '٢',\n            3: '٣',\n            4: '٤',\n            5: '٥',\n            6: '٦',\n            7: '٧',\n            8: '٨',\n            9: '٩',\n            0: '٠',\n        },\n        numberMap = {\n            '١': '1',\n            '٢': '2',\n            '٣': '3',\n            '٤': '4',\n            '٥': '5',\n            '٦': '6',\n            '٧': '7',\n            '٨': '8',\n            '٩': '9',\n            '٠': '0',\n        },\n        months = [\n            'کانونی دووەم',\n            'شوبات',\n            'ئازار',\n            'نیسان',\n            'ئایار',\n            'حوزەیران',\n            'تەمموز',\n            'ئاب',\n            'ئەیلوول',\n            'تشرینی یەكەم',\n            'تشرینی دووەم',\n            'كانونی یەکەم',\n        ];\n\n    var ku = moment.defineLocale('ku', {\n        months: months,\n        monthsShort: months,\n        weekdays:\n            'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split(\n                '_'\n            ),\n        weekdaysShort:\n            'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'),\n        weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ئێواره‌|به‌یانی/,\n        isPM: function (input) {\n            return /ئێواره‌/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'به‌یانی';\n            } else {\n                return 'ئێواره‌';\n            }\n        },\n        calendar: {\n            sameDay: '[ئه‌مرۆ كاتژمێر] LT',\n            nextDay: '[به‌یانی كاتژمێر] LT',\n            nextWeek: 'dddd [كاتژمێر] LT',\n            lastDay: '[دوێنێ كاتژمێر] LT',\n            lastWeek: 'dddd [كاتژمێر] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'له‌ %s',\n            past: '%s',\n            s: 'چه‌ند چركه‌یه‌ك',\n            ss: 'چركه‌ %d',\n            m: 'یه‌ك خوله‌ك',\n            mm: '%d خوله‌ك',\n            h: 'یه‌ك كاتژمێر',\n            hh: '%d كاتژمێر',\n            d: 'یه‌ك ڕۆژ',\n            dd: '%d ڕۆژ',\n            M: 'یه‌ك مانگ',\n            MM: '%d مانگ',\n            y: 'یه‌ك ساڵ',\n            yy: '%d ساڵ',\n        },\n        preparse: function (string) {\n            return string\n                .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n                    return numberMap[match];\n                })\n                .replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return ku;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kyrgyz [ky]\n//! author : Chyngyz Arystan uulu : https://github.com/chyngyz\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        0: '-чү',\n        1: '-чи',\n        2: '-чи',\n        3: '-чү',\n        4: '-чү',\n        5: '-чи',\n        6: '-чы',\n        7: '-чи',\n        8: '-чи',\n        9: '-чу',\n        10: '-чу',\n        20: '-чы',\n        30: '-чу',\n        40: '-чы',\n        50: '-чү',\n        60: '-чы',\n        70: '-чи',\n        80: '-чи',\n        90: '-чу',\n        100: '-чү',\n    };\n\n    var ky = moment.defineLocale('ky', {\n        months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n            '_'\n        ),\n        monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split(\n            '_'\n        ),\n        weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split(\n            '_'\n        ),\n        weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n        weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Бүгүн саат] LT',\n            nextDay: '[Эртең саат] LT',\n            nextWeek: 'dddd [саат] LT',\n            lastDay: '[Кечээ саат] LT',\n            lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ичинде',\n            past: '%s мурун',\n            s: 'бирнече секунд',\n            ss: '%d секунд',\n            m: 'бир мүнөт',\n            mm: '%d мүнөт',\n            h: 'бир саат',\n            hh: '%d саат',\n            d: 'бир күн',\n            dd: '%d күн',\n            M: 'бир ай',\n            MM: '%d ай',\n            y: 'бир жыл',\n            yy: '%d жыл',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n        ordinal: function (number) {\n            var a = number % 10,\n                b = number >= 100 ? 100 : null;\n            return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return ky;\n\n})));\n","//! moment.js locale configuration\n//! locale : Luxembourgish [lb]\n//! author : mweimerskirch : https://github.com/mweimerskirch\n//! author : David Raison : https://github.com/kwisatz\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            m: ['eng Minutt', 'enger Minutt'],\n            h: ['eng Stonn', 'enger Stonn'],\n            d: ['een Dag', 'engem Dag'],\n            M: ['ee Mount', 'engem Mount'],\n            y: ['ee Joer', 'engem Joer'],\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n    function processFutureTime(string) {\n        var number = string.substr(0, string.indexOf(' '));\n        if (eifelerRegelAppliesToNumber(number)) {\n            return 'a ' + string;\n        }\n        return 'an ' + string;\n    }\n    function processPastTime(string) {\n        var number = string.substr(0, string.indexOf(' '));\n        if (eifelerRegelAppliesToNumber(number)) {\n            return 'viru ' + string;\n        }\n        return 'virun ' + string;\n    }\n    /**\n     * Returns true if the word before the given number loses the '-n' ending.\n     * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n     *\n     * @param number {integer}\n     * @returns {boolean}\n     */\n    function eifelerRegelAppliesToNumber(number) {\n        number = parseInt(number, 10);\n        if (isNaN(number)) {\n            return false;\n        }\n        if (number < 0) {\n            // Negative Number --> always true\n            return true;\n        } else if (number < 10) {\n            // Only 1 digit\n            if (4 <= number && number <= 7) {\n                return true;\n            }\n            return false;\n        } else if (number < 100) {\n            // 2 digits\n            var lastDigit = number % 10,\n                firstDigit = number / 10;\n            if (lastDigit === 0) {\n                return eifelerRegelAppliesToNumber(firstDigit);\n            }\n            return eifelerRegelAppliesToNumber(lastDigit);\n        } else if (number < 10000) {\n            // 3 or 4 digits --> recursively check first digit\n            while (number >= 10) {\n                number = number / 10;\n            }\n            return eifelerRegelAppliesToNumber(number);\n        } else {\n            // Anything larger than 4 digits: recursively check first n-3 digits\n            number = number / 1000;\n            return eifelerRegelAppliesToNumber(number);\n        }\n    }\n\n    var lb = moment.defineLocale('lb', {\n        months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n            '_'\n        ),\n        monthsShort:\n            'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split(\n                '_'\n            ),\n        weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n        weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm [Auer]',\n            LTS: 'H:mm:ss [Auer]',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm [Auer]',\n            LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]',\n        },\n        calendar: {\n            sameDay: '[Haut um] LT',\n            sameElse: 'L',\n            nextDay: '[Muer um] LT',\n            nextWeek: 'dddd [um] LT',\n            lastDay: '[Gëschter um] LT',\n            lastWeek: function () {\n                // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n                switch (this.day()) {\n                    case 2:\n                    case 4:\n                        return '[Leschten] dddd [um] LT';\n                    default:\n                        return '[Leschte] dddd [um] LT';\n                }\n            },\n        },\n        relativeTime: {\n            future: processFutureTime,\n            past: processPastTime,\n            s: 'e puer Sekonnen',\n            ss: '%d Sekonnen',\n            m: processRelativeTime,\n            mm: '%d Minutten',\n            h: processRelativeTime,\n            hh: '%d Stonnen',\n            d: processRelativeTime,\n            dd: '%d Deeg',\n            M: processRelativeTime,\n            MM: '%d Méint',\n            y: processRelativeTime,\n            yy: '%d Joer',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return lb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lao [lo]\n//! author : Ryan Hart : https://github.com/ryanhart2\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var lo = moment.defineLocale('lo', {\n        months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n            '_'\n        ),\n        monthsShort:\n            'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n                '_'\n            ),\n        weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n        weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n        weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'ວັນdddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n        isPM: function (input) {\n            return input === 'ຕອນແລງ';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ຕອນເຊົ້າ';\n            } else {\n                return 'ຕອນແລງ';\n            }\n        },\n        calendar: {\n            sameDay: '[ມື້ນີ້ເວລາ] LT',\n            nextDay: '[ມື້ອື່ນເວລາ] LT',\n            nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT',\n            lastDay: '[ມື້ວານນີ້ເວລາ] LT',\n            lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ອີກ %s',\n            past: '%sຜ່ານມາ',\n            s: 'ບໍ່ເທົ່າໃດວິນາທີ',\n            ss: '%d ວິນາທີ',\n            m: '1 ນາທີ',\n            mm: '%d ນາທີ',\n            h: '1 ຊົ່ວໂມງ',\n            hh: '%d ຊົ່ວໂມງ',\n            d: '1 ມື້',\n            dd: '%d ມື້',\n            M: '1 ເດືອນ',\n            MM: '%d ເດືອນ',\n            y: '1 ປີ',\n            yy: '%d ປີ',\n        },\n        dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n        ordinal: function (number) {\n            return 'ທີ່' + number;\n        },\n    });\n\n    return lo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lithuanian [lt]\n//! author : Mindaugas Mozūras : https://github.com/mmozuras\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var units = {\n        ss: 'sekundė_sekundžių_sekundes',\n        m: 'minutė_minutės_minutę',\n        mm: 'minutės_minučių_minutes',\n        h: 'valanda_valandos_valandą',\n        hh: 'valandos_valandų_valandas',\n        d: 'diena_dienos_dieną',\n        dd: 'dienos_dienų_dienas',\n        M: 'mėnuo_mėnesio_mėnesį',\n        MM: 'mėnesiai_mėnesių_mėnesius',\n        y: 'metai_metų_metus',\n        yy: 'metai_metų_metus',\n    };\n    function translateSeconds(number, withoutSuffix, key, isFuture) {\n        if (withoutSuffix) {\n            return 'kelios sekundės';\n        } else {\n            return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n        }\n    }\n    function translateSingular(number, withoutSuffix, key, isFuture) {\n        return withoutSuffix\n            ? forms(key)[0]\n            : isFuture\n              ? forms(key)[1]\n              : forms(key)[2];\n    }\n    function special(number) {\n        return number % 10 === 0 || (number > 10 && number < 20);\n    }\n    function forms(key) {\n        return units[key].split('_');\n    }\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        if (number === 1) {\n            return (\n                result + translateSingular(number, withoutSuffix, key[0], isFuture)\n            );\n        } else if (withoutSuffix) {\n            return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n        } else {\n            if (isFuture) {\n                return result + forms(key)[1];\n            } else {\n                return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n            }\n        }\n    }\n    var lt = moment.defineLocale('lt', {\n        months: {\n            format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split(\n                '_'\n            ),\n            standalone:\n                'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split(\n                    '_'\n                ),\n            isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/,\n        },\n        monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n        weekdays: {\n            format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split(\n                '_'\n            ),\n            standalone:\n                'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split(\n                    '_'\n                ),\n            isFormat: /dddd HH:mm/,\n        },\n        weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n        weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'YYYY [m.] MMMM D [d.]',\n            LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n            LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n            l: 'YYYY-MM-DD',\n            ll: 'YYYY [m.] MMMM D [d.]',\n            lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n            llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]',\n        },\n        calendar: {\n            sameDay: '[Šiandien] LT',\n            nextDay: '[Rytoj] LT',\n            nextWeek: 'dddd LT',\n            lastDay: '[Vakar] LT',\n            lastWeek: '[Praėjusį] dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'po %s',\n            past: 'prieš %s',\n            s: translateSeconds,\n            ss: translate,\n            m: translateSingular,\n            mm: translate,\n            h: translateSingular,\n            hh: translate,\n            d: translateSingular,\n            dd: translate,\n            M: translateSingular,\n            MM: translate,\n            y: translateSingular,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n        ordinal: function (number) {\n            return number + '-oji';\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return lt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Latvian [lv]\n//! author : Kristaps Karlsons : https://github.com/skakri\n//! author : Jānis Elmeris : https://github.com/JanisE\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var units = {\n        ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n        m: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n        mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n        h: 'stundas_stundām_stunda_stundas'.split('_'),\n        hh: 'stundas_stundām_stunda_stundas'.split('_'),\n        d: 'dienas_dienām_diena_dienas'.split('_'),\n        dd: 'dienas_dienām_diena_dienas'.split('_'),\n        M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n        MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n        y: 'gada_gadiem_gads_gadi'.split('_'),\n        yy: 'gada_gadiem_gads_gadi'.split('_'),\n    };\n    /**\n     * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n     */\n    function format(forms, number, withoutSuffix) {\n        if (withoutSuffix) {\n            // E.g. \"21 minūte\", \"3 minūtes\".\n            return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n        } else {\n            // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n            // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n            return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n        }\n    }\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        return number + ' ' + format(units[key], number, withoutSuffix);\n    }\n    function relativeTimeWithSingular(number, withoutSuffix, key) {\n        return format(units[key], number, withoutSuffix);\n    }\n    function relativeSeconds(number, withoutSuffix) {\n        return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n    }\n\n    var lv = moment.defineLocale('lv', {\n        months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n        weekdays:\n            'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split(\n                '_'\n            ),\n        weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),\n        weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY.',\n            LL: 'YYYY. [gada] D. MMMM',\n            LLL: 'YYYY. [gada] D. MMMM, HH:mm',\n            LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm',\n        },\n        calendar: {\n            sameDay: '[Šodien pulksten] LT',\n            nextDay: '[Rīt pulksten] LT',\n            nextWeek: 'dddd [pulksten] LT',\n            lastDay: '[Vakar pulksten] LT',\n            lastWeek: '[Pagājušā] dddd [pulksten] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'pēc %s',\n            past: 'pirms %s',\n            s: relativeSeconds,\n            ss: relativeTimeWithPlural,\n            m: relativeTimeWithSingular,\n            mm: relativeTimeWithPlural,\n            h: relativeTimeWithSingular,\n            hh: relativeTimeWithPlural,\n            d: relativeTimeWithSingular,\n            dd: relativeTimeWithPlural,\n            M: relativeTimeWithSingular,\n            MM: relativeTimeWithPlural,\n            y: relativeTimeWithSingular,\n            yy: relativeTimeWithPlural,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return lv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Montenegrin [me]\n//! author : Miodrag Nikač <miodrag@restartit.me> : https://github.com/miodragnikac\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var translator = {\n        words: {\n            //Different grammatical cases\n            ss: ['sekund', 'sekunda', 'sekundi'],\n            m: ['jedan minut', 'jednog minuta'],\n            mm: ['minut', 'minuta', 'minuta'],\n            h: ['jedan sat', 'jednog sata'],\n            hh: ['sat', 'sata', 'sati'],\n            dd: ['dan', 'dana', 'dana'],\n            MM: ['mjesec', 'mjeseca', 'mjeseci'],\n            yy: ['godina', 'godine', 'godina'],\n        },\n        correctGrammaticalCase: function (number, wordKey) {\n            return number === 1\n                ? wordKey[0]\n                : number >= 2 && number <= 4\n                  ? wordKey[1]\n                  : wordKey[2];\n        },\n        translate: function (number, withoutSuffix, key) {\n            var wordKey = translator.words[key];\n            if (key.length === 1) {\n                return withoutSuffix ? wordKey[0] : wordKey[1];\n            } else {\n                return (\n                    number +\n                    ' ' +\n                    translator.correctGrammaticalCase(number, wordKey)\n                );\n            }\n        },\n    };\n\n    var me = moment.defineLocale('me', {\n        months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n            '_'\n        ),\n        weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd, D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[danas u] LT',\n            nextDay: '[sjutra u] LT',\n\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[u] [nedjelju] [u] LT';\n                    case 3:\n                        return '[u] [srijedu] [u] LT';\n                    case 6:\n                        return '[u] [subotu] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[u] dddd [u] LT';\n                }\n            },\n            lastDay: '[juče u] LT',\n            lastWeek: function () {\n                var lastWeekDays = [\n                    '[prošle] [nedjelje] [u] LT',\n                    '[prošlog] [ponedjeljka] [u] LT',\n                    '[prošlog] [utorka] [u] LT',\n                    '[prošle] [srijede] [u] LT',\n                    '[prošlog] [četvrtka] [u] LT',\n                    '[prošlog] [petka] [u] LT',\n                    '[prošle] [subote] [u] LT',\n                ];\n                return lastWeekDays[this.day()];\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'prije %s',\n            s: 'nekoliko sekundi',\n            ss: translator.translate,\n            m: translator.translate,\n            mm: translator.translate,\n            h: translator.translate,\n            hh: translator.translate,\n            d: 'dan',\n            dd: translator.translate,\n            M: 'mjesec',\n            MM: translator.translate,\n            y: 'godinu',\n            yy: translator.translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return me;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maori [mi]\n//! author : John Corrigan <robbiecloset@gmail.com> : https://github.com/johnideal\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var mi = moment.defineLocale('mi', {\n        months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split(\n            '_'\n        ),\n        monthsShort:\n            'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split(\n                '_'\n            ),\n        monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n        monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n        monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n        monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n        weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n        weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n        weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [i] HH:mm',\n            LLLL: 'dddd, D MMMM YYYY [i] HH:mm',\n        },\n        calendar: {\n            sameDay: '[i teie mahana, i] LT',\n            nextDay: '[apopo i] LT',\n            nextWeek: 'dddd [i] LT',\n            lastDay: '[inanahi i] LT',\n            lastWeek: 'dddd [whakamutunga i] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'i roto i %s',\n            past: '%s i mua',\n            s: 'te hēkona ruarua',\n            ss: '%d hēkona',\n            m: 'he meneti',\n            mm: '%d meneti',\n            h: 'te haora',\n            hh: '%d haora',\n            d: 'he ra',\n            dd: '%d ra',\n            M: 'he marama',\n            MM: '%d marama',\n            y: 'he tau',\n            yy: '%d tau',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return mi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Macedonian [mk]\n//! author : Borislav Mickov : https://github.com/B0k0\n//! author : Sashko Todorov : https://github.com/bkyceh\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var mk = moment.defineLocale('mk', {\n        months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split(\n            '_'\n        ),\n        monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n        weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split(\n            '_'\n        ),\n        weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n        weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'D.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY H:mm',\n            LLLL: 'dddd, D MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[Денес во] LT',\n            nextDay: '[Утре во] LT',\n            nextWeek: '[Во] dddd [во] LT',\n            lastDay: '[Вчера во] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                    case 6:\n                        return '[Изминатата] dddd [во] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[Изминатиот] dddd [во] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'за %s',\n            past: 'пред %s',\n            s: 'неколку секунди',\n            ss: '%d секунди',\n            m: 'една минута',\n            mm: '%d минути',\n            h: 'еден час',\n            hh: '%d часа',\n            d: 'еден ден',\n            dd: '%d дена',\n            M: 'еден месец',\n            MM: '%d месеци',\n            y: 'една година',\n            yy: '%d години',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n        ordinal: function (number) {\n            var lastDigit = number % 10,\n                last2Digits = number % 100;\n            if (number === 0) {\n                return number + '-ев';\n            } else if (last2Digits === 0) {\n                return number + '-ен';\n            } else if (last2Digits > 10 && last2Digits < 20) {\n                return number + '-ти';\n            } else if (lastDigit === 1) {\n                return number + '-ви';\n            } else if (lastDigit === 2) {\n                return number + '-ри';\n            } else if (lastDigit === 7 || lastDigit === 8) {\n                return number + '-ми';\n            } else {\n                return number + '-ти';\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return mk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malayalam [ml]\n//! author : Floyd Pink : https://github.com/floydpink\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ml = moment.defineLocale('ml', {\n        months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split(\n            '_'\n        ),\n        monthsShort:\n            'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split(\n                '_'\n            ),\n        weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n        weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm -നു',\n            LTS: 'A h:mm:ss -നു',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm -നു',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm -നു',\n        },\n        calendar: {\n            sameDay: '[ഇന്ന്] LT',\n            nextDay: '[നാളെ] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[ഇന്നലെ] LT',\n            lastWeek: '[കഴിഞ്ഞ] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s കഴിഞ്ഞ്',\n            past: '%s മുൻപ്',\n            s: 'അൽപ നിമിഷങ്ങൾ',\n            ss: '%d സെക്കൻഡ്',\n            m: 'ഒരു മിനിറ്റ്',\n            mm: '%d മിനിറ്റ്',\n            h: 'ഒരു മണിക്കൂർ',\n            hh: '%d മണിക്കൂർ',\n            d: 'ഒരു ദിവസം',\n            dd: '%d ദിവസം',\n            M: 'ഒരു മാസം',\n            MM: '%d മാസം',\n            y: 'ഒരു വർഷം',\n            yy: '%d വർഷം',\n        },\n        meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (\n                (meridiem === 'രാത്രി' && hour >= 4) ||\n                meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n                meridiem === 'വൈകുന്നേരം'\n            ) {\n                return hour + 12;\n            } else {\n                return hour;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'രാത്രി';\n            } else if (hour < 12) {\n                return 'രാവിലെ';\n            } else if (hour < 17) {\n                return 'ഉച്ച കഴിഞ്ഞ്';\n            } else if (hour < 20) {\n                return 'വൈകുന്നേരം';\n            } else {\n                return 'രാത്രി';\n            }\n        },\n    });\n\n    return ml;\n\n})));\n","//! moment.js locale configuration\n//! locale : Mongolian [mn]\n//! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function translate(number, withoutSuffix, key, isFuture) {\n        switch (key) {\n            case 's':\n                return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n            case 'ss':\n                return number + (withoutSuffix ? ' секунд' : ' секундын');\n            case 'm':\n            case 'mm':\n                return number + (withoutSuffix ? ' минут' : ' минутын');\n            case 'h':\n            case 'hh':\n                return number + (withoutSuffix ? ' цаг' : ' цагийн');\n            case 'd':\n            case 'dd':\n                return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n            case 'M':\n            case 'MM':\n                return number + (withoutSuffix ? ' сар' : ' сарын');\n            case 'y':\n            case 'yy':\n                return number + (withoutSuffix ? ' жил' : ' жилийн');\n            default:\n                return number;\n        }\n    }\n\n    var mn = moment.defineLocale('mn', {\n        months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split(\n            '_'\n        ),\n        monthsShort:\n            '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n        weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n        weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'YYYY оны MMMMын D',\n            LLL: 'YYYY оны MMMMын D HH:mm',\n            LLLL: 'dddd, YYYY оны MMMMын D HH:mm',\n        },\n        meridiemParse: /ҮӨ|ҮХ/i,\n        isPM: function (input) {\n            return input === 'ҮХ';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ҮӨ';\n            } else {\n                return 'ҮХ';\n            }\n        },\n        calendar: {\n            sameDay: '[Өнөөдөр] LT',\n            nextDay: '[Маргааш] LT',\n            nextWeek: '[Ирэх] dddd LT',\n            lastDay: '[Өчигдөр] LT',\n            lastWeek: '[Өнгөрсөн] dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s дараа',\n            past: '%s өмнө',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + ' өдөр';\n                default:\n                    return number;\n            }\n        },\n    });\n\n    return mn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Marathi [mr]\n//! author : Harshad Kale : https://github.com/kalehv\n//! author : Vivek Athalye : https://github.com/vnathalye\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '१',\n            2: '२',\n            3: '३',\n            4: '४',\n            5: '५',\n            6: '६',\n            7: '७',\n            8: '८',\n            9: '९',\n            0: '०',\n        },\n        numberMap = {\n            '१': '1',\n            '२': '2',\n            '३': '3',\n            '४': '4',\n            '५': '5',\n            '६': '6',\n            '७': '7',\n            '८': '8',\n            '९': '9',\n            '०': '0',\n        };\n\n    function relativeTimeMr(number, withoutSuffix, string, isFuture) {\n        var output = '';\n        if (withoutSuffix) {\n            switch (string) {\n                case 's':\n                    output = 'काही सेकंद';\n                    break;\n                case 'ss':\n                    output = '%d सेकंद';\n                    break;\n                case 'm':\n                    output = 'एक मिनिट';\n                    break;\n                case 'mm':\n                    output = '%d मिनिटे';\n                    break;\n                case 'h':\n                    output = 'एक तास';\n                    break;\n                case 'hh':\n                    output = '%d तास';\n                    break;\n                case 'd':\n                    output = 'एक दिवस';\n                    break;\n                case 'dd':\n                    output = '%d दिवस';\n                    break;\n                case 'M':\n                    output = 'एक महिना';\n                    break;\n                case 'MM':\n                    output = '%d महिने';\n                    break;\n                case 'y':\n                    output = 'एक वर्ष';\n                    break;\n                case 'yy':\n                    output = '%d वर्षे';\n                    break;\n            }\n        } else {\n            switch (string) {\n                case 's':\n                    output = 'काही सेकंदां';\n                    break;\n                case 'ss':\n                    output = '%d सेकंदां';\n                    break;\n                case 'm':\n                    output = 'एका मिनिटा';\n                    break;\n                case 'mm':\n                    output = '%d मिनिटां';\n                    break;\n                case 'h':\n                    output = 'एका तासा';\n                    break;\n                case 'hh':\n                    output = '%d तासां';\n                    break;\n                case 'd':\n                    output = 'एका दिवसा';\n                    break;\n                case 'dd':\n                    output = '%d दिवसां';\n                    break;\n                case 'M':\n                    output = 'एका महिन्या';\n                    break;\n                case 'MM':\n                    output = '%d महिन्यां';\n                    break;\n                case 'y':\n                    output = 'एका वर्षा';\n                    break;\n                case 'yy':\n                    output = '%d वर्षां';\n                    break;\n            }\n        }\n        return output.replace(/%d/i, number);\n    }\n\n    var mr = moment.defineLocale('mr', {\n        months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n            '_'\n        ),\n        monthsShort:\n            'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n        weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n        weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm वाजता',\n            LTS: 'A h:mm:ss वाजता',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm वाजता',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता',\n        },\n        calendar: {\n            sameDay: '[आज] LT',\n            nextDay: '[उद्या] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[काल] LT',\n            lastWeek: '[मागील] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%sमध्ये',\n            past: '%sपूर्वी',\n            s: relativeTimeMr,\n            ss: relativeTimeMr,\n            m: relativeTimeMr,\n            mm: relativeTimeMr,\n            h: relativeTimeMr,\n            hh: relativeTimeMr,\n            d: relativeTimeMr,\n            dd: relativeTimeMr,\n            M: relativeTimeMr,\n            MM: relativeTimeMr,\n            y: relativeTimeMr,\n            yy: relativeTimeMr,\n        },\n        preparse: function (string) {\n            return string.replace(/[१२३४५६७८९०]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'पहाटे' || meridiem === 'सकाळी') {\n                return hour;\n            } else if (\n                meridiem === 'दुपारी' ||\n                meridiem === 'सायंकाळी' ||\n                meridiem === 'रात्री'\n            ) {\n                return hour >= 12 ? hour : hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour >= 0 && hour < 6) {\n                return 'पहाटे';\n            } else if (hour < 12) {\n                return 'सकाळी';\n            } else if (hour < 17) {\n                return 'दुपारी';\n            } else if (hour < 20) {\n                return 'सायंकाळी';\n            } else {\n                return 'रात्री';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return mr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms-my]\n//! note : DEPRECATED, the correct one is [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var msMy = moment.defineLocale('ms-my', {\n        months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n        weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n        weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n        weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [pukul] HH.mm',\n            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n        },\n        meridiemParse: /pagi|tengahari|petang|malam/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'pagi') {\n                return hour;\n            } else if (meridiem === 'tengahari') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'petang' || meridiem === 'malam') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'pagi';\n            } else if (hours < 15) {\n                return 'tengahari';\n            } else if (hours < 19) {\n                return 'petang';\n            } else {\n                return 'malam';\n            }\n        },\n        calendar: {\n            sameDay: '[Hari ini pukul] LT',\n            nextDay: '[Esok pukul] LT',\n            nextWeek: 'dddd [pukul] LT',\n            lastDay: '[Kelmarin pukul] LT',\n            lastWeek: 'dddd [lepas pukul] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dalam %s',\n            past: '%s yang lepas',\n            s: 'beberapa saat',\n            ss: '%d saat',\n            m: 'seminit',\n            mm: '%d minit',\n            h: 'sejam',\n            hh: '%d jam',\n            d: 'sehari',\n            dd: '%d hari',\n            M: 'sebulan',\n            MM: '%d bulan',\n            y: 'setahun',\n            yy: '%d tahun',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return msMy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ms = moment.defineLocale('ms', {\n        months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n        weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n        weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n        weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [pukul] HH.mm',\n            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n        },\n        meridiemParse: /pagi|tengahari|petang|malam/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'pagi') {\n                return hour;\n            } else if (meridiem === 'tengahari') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'petang' || meridiem === 'malam') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'pagi';\n            } else if (hours < 15) {\n                return 'tengahari';\n            } else if (hours < 19) {\n                return 'petang';\n            } else {\n                return 'malam';\n            }\n        },\n        calendar: {\n            sameDay: '[Hari ini pukul] LT',\n            nextDay: '[Esok pukul] LT',\n            nextWeek: 'dddd [pukul] LT',\n            lastDay: '[Kelmarin pukul] LT',\n            lastWeek: 'dddd [lepas pukul] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dalam %s',\n            past: '%s yang lepas',\n            s: 'beberapa saat',\n            ss: '%d saat',\n            m: 'seminit',\n            mm: '%d minit',\n            h: 'sejam',\n            hh: '%d jam',\n            d: 'sehari',\n            dd: '%d hari',\n            M: 'sebulan',\n            MM: '%d bulan',\n            y: 'setahun',\n            yy: '%d tahun',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return ms;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maltese (Malta) [mt]\n//! author : Alessandro Maruccia : https://github.com/alesma\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var mt = moment.defineLocale('mt', {\n        months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n        weekdays:\n            'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split(\n                '_'\n            ),\n        weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n        weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Illum fil-]LT',\n            nextDay: '[Għada fil-]LT',\n            nextWeek: 'dddd [fil-]LT',\n            lastDay: '[Il-bieraħ fil-]LT',\n            lastWeek: 'dddd [li għadda] [fil-]LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'f’ %s',\n            past: '%s ilu',\n            s: 'ftit sekondi',\n            ss: '%d sekondi',\n            m: 'minuta',\n            mm: '%d minuti',\n            h: 'siegħa',\n            hh: '%d siegħat',\n            d: 'ġurnata',\n            dd: '%d ġranet',\n            M: 'xahar',\n            MM: '%d xhur',\n            y: 'sena',\n            yy: '%d sni',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return mt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Burmese [my]\n//! author : Squar team, mysquar.com\n//! author : David Rossellat : https://github.com/gholadr\n//! author : Tin Aung Lin : https://github.com/thanyawzinmin\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '၁',\n            2: '၂',\n            3: '၃',\n            4: '၄',\n            5: '၅',\n            6: '၆',\n            7: '၇',\n            8: '၈',\n            9: '၉',\n            0: '၀',\n        },\n        numberMap = {\n            '၁': '1',\n            '၂': '2',\n            '၃': '3',\n            '၄': '4',\n            '၅': '5',\n            '၆': '6',\n            '၇': '7',\n            '၈': '8',\n            '၉': '9',\n            '၀': '0',\n        };\n\n    var my = moment.defineLocale('my', {\n        months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split(\n            '_'\n        ),\n        monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n        weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split(\n            '_'\n        ),\n        weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n        weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[ယနေ.] LT [မှာ]',\n            nextDay: '[မနက်ဖြန်] LT [မှာ]',\n            nextWeek: 'dddd LT [မှာ]',\n            lastDay: '[မနေ.က] LT [မှာ]',\n            lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'လာမည့် %s မှာ',\n            past: 'လွန်ခဲ့သော %s က',\n            s: 'စက္ကန်.အနည်းငယ်',\n            ss: '%d စက္ကန့်',\n            m: 'တစ်မိနစ်',\n            mm: '%d မိနစ်',\n            h: 'တစ်နာရီ',\n            hh: '%d နာရီ',\n            d: 'တစ်ရက်',\n            dd: '%d ရက်',\n            M: 'တစ်လ',\n            MM: '%d လ',\n            y: 'တစ်နှစ်',\n            yy: '%d နှစ်',\n        },\n        preparse: function (string) {\n            return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return my;\n\n})));\n","//! moment.js locale configuration\n//! locale : Norwegian Bokmål [nb]\n//! authors : Espen Hovlandsdal : https://github.com/rexxars\n//!           Sigurd Gartmann : https://github.com/sigurdga\n//!           Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var nb = moment.defineLocale('nb', {\n        months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n        weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n        weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY [kl.] HH:mm',\n            LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n        },\n        calendar: {\n            sameDay: '[i dag kl.] LT',\n            nextDay: '[i morgen kl.] LT',\n            nextWeek: 'dddd [kl.] LT',\n            lastDay: '[i går kl.] LT',\n            lastWeek: '[forrige] dddd [kl.] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'om %s',\n            past: '%s siden',\n            s: 'noen sekunder',\n            ss: '%d sekunder',\n            m: 'ett minutt',\n            mm: '%d minutter',\n            h: 'én time',\n            hh: '%d timer',\n            d: 'én dag',\n            dd: '%d dager',\n            w: 'én uke',\n            ww: '%d uker',\n            M: 'én måned',\n            MM: '%d måneder',\n            y: 'ett år',\n            yy: '%d år',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return nb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nepalese [ne]\n//! author : suvash : https://github.com/suvash\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '१',\n            2: '२',\n            3: '३',\n            4: '४',\n            5: '५',\n            6: '६',\n            7: '७',\n            8: '८',\n            9: '९',\n            0: '०',\n        },\n        numberMap = {\n            '१': '1',\n            '२': '2',\n            '३': '3',\n            '४': '4',\n            '५': '5',\n            '६': '6',\n            '७': '7',\n            '८': '8',\n            '९': '9',\n            '०': '0',\n        };\n\n    var ne = moment.defineLocale('ne', {\n        months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split(\n            '_'\n        ),\n        monthsShort:\n            'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split(\n            '_'\n        ),\n        weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n        weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'Aको h:mm बजे',\n            LTS: 'Aको h:mm:ss बजे',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, Aको h:mm बजे',\n            LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे',\n        },\n        preparse: function (string) {\n            return string.replace(/[१२३४५६७८९०]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'राति') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'बिहान') {\n                return hour;\n            } else if (meridiem === 'दिउँसो') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'साँझ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 3) {\n                return 'राति';\n            } else if (hour < 12) {\n                return 'बिहान';\n            } else if (hour < 16) {\n                return 'दिउँसो';\n            } else if (hour < 20) {\n                return 'साँझ';\n            } else {\n                return 'राति';\n            }\n        },\n        calendar: {\n            sameDay: '[आज] LT',\n            nextDay: '[भोलि] LT',\n            nextWeek: '[आउँदो] dddd[,] LT',\n            lastDay: '[हिजो] LT',\n            lastWeek: '[गएको] dddd[,] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%sमा',\n            past: '%s अगाडि',\n            s: 'केही क्षण',\n            ss: '%d सेकेण्ड',\n            m: 'एक मिनेट',\n            mm: '%d मिनेट',\n            h: 'एक घण्टा',\n            hh: '%d घण्टा',\n            d: 'एक दिन',\n            dd: '%d दिन',\n            M: 'एक महिना',\n            MM: '%d महिना',\n            y: 'एक बर्ष',\n            yy: '%d बर्ष',\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return ne;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch (Belgium) [nl-be]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortWithDots =\n            'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n        monthsShortWithoutDots =\n            'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n        monthsParse = [\n            /^jan/i,\n            /^feb/i,\n            /^(maart|mrt\\.?)$/i,\n            /^apr/i,\n            /^mei$/i,\n            /^jun[i.]?$/i,\n            /^jul[i.]?$/i,\n            /^aug/i,\n            /^sep/i,\n            /^okt/i,\n            /^nov/i,\n            /^dec/i,\n        ],\n        monthsRegex =\n            /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n    var nlBe = moment.defineLocale('nl-be', {\n        months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortWithDots;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShortWithoutDots[m.month()];\n            } else {\n                return monthsShortWithDots[m.month()];\n            }\n        },\n\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n        monthsShortStrictRegex:\n            /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n\n        weekdays:\n            'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n        weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n        weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[vandaag om] LT',\n            nextDay: '[morgen om] LT',\n            nextWeek: 'dddd [om] LT',\n            lastDay: '[gisteren om] LT',\n            lastWeek: '[afgelopen] dddd [om] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'over %s',\n            past: '%s geleden',\n            s: 'een paar seconden',\n            ss: '%d seconden',\n            m: 'één minuut',\n            mm: '%d minuten',\n            h: 'één uur',\n            hh: '%d uur',\n            d: 'één dag',\n            dd: '%d dagen',\n            M: 'één maand',\n            MM: '%d maanden',\n            y: 'één jaar',\n            yy: '%d jaar',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n        ordinal: function (number) {\n            return (\n                number +\n                (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n            );\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return nlBe;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch [nl]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortWithDots =\n            'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n        monthsShortWithoutDots =\n            'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n        monthsParse = [\n            /^jan/i,\n            /^feb/i,\n            /^(maart|mrt\\.?)$/i,\n            /^apr/i,\n            /^mei$/i,\n            /^jun[i.]?$/i,\n            /^jul[i.]?$/i,\n            /^aug/i,\n            /^sep/i,\n            /^okt/i,\n            /^nov/i,\n            /^dec/i,\n        ],\n        monthsRegex =\n            /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n    var nl = moment.defineLocale('nl', {\n        months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortWithDots;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShortWithoutDots[m.month()];\n            } else {\n                return monthsShortWithDots[m.month()];\n            }\n        },\n\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex:\n            /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n        monthsShortStrictRegex:\n            /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n\n        weekdays:\n            'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n        weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n        weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD-MM-YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[vandaag om] LT',\n            nextDay: '[morgen om] LT',\n            nextWeek: 'dddd [om] LT',\n            lastDay: '[gisteren om] LT',\n            lastWeek: '[afgelopen] dddd [om] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'over %s',\n            past: '%s geleden',\n            s: 'een paar seconden',\n            ss: '%d seconden',\n            m: 'één minuut',\n            mm: '%d minuten',\n            h: 'één uur',\n            hh: '%d uur',\n            d: 'één dag',\n            dd: '%d dagen',\n            w: 'één week',\n            ww: '%d weken',\n            M: 'één maand',\n            MM: '%d maanden',\n            y: 'één jaar',\n            yy: '%d jaar',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n        ordinal: function (number) {\n            return (\n                number +\n                (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n            );\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return nl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nynorsk [nn]\n//! authors : https://github.com/mechuwind\n//!           Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var nn = moment.defineLocale('nn', {\n        months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n        weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'),\n        weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY [kl.] H:mm',\n            LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n        },\n        calendar: {\n            sameDay: '[I dag klokka] LT',\n            nextDay: '[I morgon klokka] LT',\n            nextWeek: 'dddd [klokka] LT',\n            lastDay: '[I går klokka] LT',\n            lastWeek: '[Føregåande] dddd [klokka] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'om %s',\n            past: '%s sidan',\n            s: 'nokre sekund',\n            ss: '%d sekund',\n            m: 'eit minutt',\n            mm: '%d minutt',\n            h: 'ein time',\n            hh: '%d timar',\n            d: 'ein dag',\n            dd: '%d dagar',\n            w: 'ei veke',\n            ww: '%d veker',\n            M: 'ein månad',\n            MM: '%d månader',\n            y: 'eit år',\n            yy: '%d år',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return nn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Occitan, lengadocian dialecte [oc-lnc]\n//! author : Quentin PAGÈS : https://github.com/Quenty31\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ocLnc = moment.defineLocale('oc-lnc', {\n        months: {\n            standalone:\n                'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split(\n                    '_'\n                ),\n            format: \"de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre\".split(\n                '_'\n            ),\n            isFormat: /D[oD]?(\\s)+MMMM/,\n        },\n        monthsShort:\n            'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split(\n            '_'\n        ),\n        weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),\n        weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM [de] YYYY',\n            ll: 'D MMM YYYY',\n            LLL: 'D MMMM [de] YYYY [a] H:mm',\n            lll: 'D MMM YYYY, H:mm',\n            LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',\n            llll: 'ddd D MMM YYYY, H:mm',\n        },\n        calendar: {\n            sameDay: '[uèi a] LT',\n            nextDay: '[deman a] LT',\n            nextWeek: 'dddd [a] LT',\n            lastDay: '[ièr a] LT',\n            lastWeek: 'dddd [passat a] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: \"d'aquí %s\",\n            past: 'fa %s',\n            s: 'unas segondas',\n            ss: '%d segondas',\n            m: 'una minuta',\n            mm: '%d minutas',\n            h: 'una ora',\n            hh: '%d oras',\n            d: 'un jorn',\n            dd: '%d jorns',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un an',\n            yy: '%d ans',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n        ordinal: function (number, period) {\n            var output =\n                number === 1\n                    ? 'r'\n                    : number === 2\n                      ? 'n'\n                      : number === 3\n                        ? 'r'\n                        : number === 4\n                          ? 't'\n                          : 'è';\n            if (period === 'w' || period === 'W') {\n                output = 'a';\n            }\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4,\n        },\n    });\n\n    return ocLnc;\n\n})));\n","//! moment.js locale configuration\n//! locale : Punjabi (India) [pa-in]\n//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '੧',\n            2: '੨',\n            3: '੩',\n            4: '੪',\n            5: '੫',\n            6: '੬',\n            7: '੭',\n            8: '੮',\n            9: '੯',\n            0: '੦',\n        },\n        numberMap = {\n            '੧': '1',\n            '੨': '2',\n            '੩': '3',\n            '੪': '4',\n            '੫': '5',\n            '੬': '6',\n            '੭': '7',\n            '੮': '8',\n            '੯': '9',\n            '੦': '0',\n        };\n\n    var paIn = moment.defineLocale('pa-in', {\n        // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.\n        months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n            '_'\n        ),\n        monthsShort:\n            'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n                '_'\n            ),\n        weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split(\n            '_'\n        ),\n        weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n        weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm ਵਜੇ',\n            LTS: 'A h:mm:ss ਵਜੇ',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ',\n        },\n        calendar: {\n            sameDay: '[ਅਜ] LT',\n            nextDay: '[ਕਲ] LT',\n            nextWeek: '[ਅਗਲਾ] dddd, LT',\n            lastDay: '[ਕਲ] LT',\n            lastWeek: '[ਪਿਛਲੇ] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ਵਿੱਚ',\n            past: '%s ਪਿਛਲੇ',\n            s: 'ਕੁਝ ਸਕਿੰਟ',\n            ss: '%d ਸਕਿੰਟ',\n            m: 'ਇਕ ਮਿੰਟ',\n            mm: '%d ਮਿੰਟ',\n            h: 'ਇੱਕ ਘੰਟਾ',\n            hh: '%d ਘੰਟੇ',\n            d: 'ਇੱਕ ਦਿਨ',\n            dd: '%d ਦਿਨ',\n            M: 'ਇੱਕ ਮਹੀਨਾ',\n            MM: '%d ਮਹੀਨੇ',\n            y: 'ਇੱਕ ਸਾਲ',\n            yy: '%d ਸਾਲ',\n        },\n        preparse: function (string) {\n            return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n        meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'ਰਾਤ') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'ਸਵੇਰ') {\n                return hour;\n            } else if (meridiem === 'ਦੁਪਹਿਰ') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'ਸ਼ਾਮ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ਰਾਤ';\n            } else if (hour < 10) {\n                return 'ਸਵੇਰ';\n            } else if (hour < 17) {\n                return 'ਦੁਪਹਿਰ';\n            } else if (hour < 20) {\n                return 'ਸ਼ਾਮ';\n            } else {\n                return 'ਰਾਤ';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return paIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Polish [pl]\n//! author : Rafal Hirsz : https://github.com/evoL\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsNominative =\n            'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split(\n                '_'\n            ),\n        monthsSubjective =\n            'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split(\n                '_'\n            ),\n        monthsParse = [\n            /^sty/i,\n            /^lut/i,\n            /^mar/i,\n            /^kwi/i,\n            /^maj/i,\n            /^cze/i,\n            /^lip/i,\n            /^sie/i,\n            /^wrz/i,\n            /^paź/i,\n            /^lis/i,\n            /^gru/i,\n        ];\n    function plural(n) {\n        return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;\n    }\n    function translate(number, withoutSuffix, key) {\n        var result = number + ' ';\n        switch (key) {\n            case 'ss':\n                return result + (plural(number) ? 'sekundy' : 'sekund');\n            case 'm':\n                return withoutSuffix ? 'minuta' : 'minutę';\n            case 'mm':\n                return result + (plural(number) ? 'minuty' : 'minut');\n            case 'h':\n                return withoutSuffix ? 'godzina' : 'godzinę';\n            case 'hh':\n                return result + (plural(number) ? 'godziny' : 'godzin');\n            case 'ww':\n                return result + (plural(number) ? 'tygodnie' : 'tygodni');\n            case 'MM':\n                return result + (plural(number) ? 'miesiące' : 'miesięcy');\n            case 'yy':\n                return result + (plural(number) ? 'lata' : 'lat');\n        }\n    }\n\n    var pl = moment.defineLocale('pl', {\n        months: function (momentToFormat, format) {\n            if (!momentToFormat) {\n                return monthsNominative;\n            } else if (/D MMMM/.test(format)) {\n                return monthsSubjective[momentToFormat.month()];\n            } else {\n                return monthsNominative[momentToFormat.month()];\n            }\n        },\n        monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays:\n            'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n        weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n        weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Dziś o] LT',\n            nextDay: '[Jutro o] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[W niedzielę o] LT';\n\n                    case 2:\n                        return '[We wtorek o] LT';\n\n                    case 3:\n                        return '[W środę o] LT';\n\n                    case 6:\n                        return '[W sobotę o] LT';\n\n                    default:\n                        return '[W] dddd [o] LT';\n                }\n            },\n            lastDay: '[Wczoraj o] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[W zeszłą niedzielę o] LT';\n                    case 3:\n                        return '[W zeszłą środę o] LT';\n                    case 6:\n                        return '[W zeszłą sobotę o] LT';\n                    default:\n                        return '[W zeszły] dddd [o] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: '%s temu',\n            s: 'kilka sekund',\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: '1 dzień',\n            dd: '%d dni',\n            w: 'tydzień',\n            ww: translate,\n            M: 'miesiąc',\n            MM: translate,\n            y: 'rok',\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return pl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese (Brazil) [pt-br]\n//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ptBr = moment.defineLocale('pt-br', {\n        months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n            '_'\n        ),\n        monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n        weekdays:\n            'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split(\n                '_'\n            ),\n        weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),\n        weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm',\n        },\n        calendar: {\n            sameDay: '[Hoje às] LT',\n            nextDay: '[Amanhã às] LT',\n            nextWeek: 'dddd [às] LT',\n            lastDay: '[Ontem às] LT',\n            lastWeek: function () {\n                return this.day() === 0 || this.day() === 6\n                    ? '[Último] dddd [às] LT' // Saturday + Sunday\n                    : '[Última] dddd [às] LT'; // Monday - Friday\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'em %s',\n            past: 'há %s',\n            s: 'poucos segundos',\n            ss: '%d segundos',\n            m: 'um minuto',\n            mm: '%d minutos',\n            h: 'uma hora',\n            hh: '%d horas',\n            d: 'um dia',\n            dd: '%d dias',\n            M: 'um mês',\n            MM: '%d meses',\n            y: 'um ano',\n            yy: '%d anos',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        invalidDate: 'Data inválida',\n    });\n\n    return ptBr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese [pt]\n//! author : Jefferson : https://github.com/jalex79\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var pt = moment.defineLocale('pt', {\n        months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n            '_'\n        ),\n        monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n        weekdays:\n            'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split(\n                '_'\n            ),\n        weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n        weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY HH:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Hoje às] LT',\n            nextDay: '[Amanhã às] LT',\n            nextWeek: 'dddd [às] LT',\n            lastDay: '[Ontem às] LT',\n            lastWeek: function () {\n                return this.day() === 0 || this.day() === 6\n                    ? '[Último] dddd [às] LT' // Saturday + Sunday\n                    : '[Última] dddd [às] LT'; // Monday - Friday\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'em %s',\n            past: 'há %s',\n            s: 'segundos',\n            ss: '%d segundos',\n            m: 'um minuto',\n            mm: '%d minutos',\n            h: 'uma hora',\n            hh: '%d horas',\n            d: 'um dia',\n            dd: '%d dias',\n            w: 'uma semana',\n            ww: '%d semanas',\n            M: 'um mês',\n            MM: '%d meses',\n            y: 'um ano',\n            yy: '%d anos',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return pt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Romanian [ro]\n//! author : Vlad Gurdiga : https://github.com/gurdiga\n//! author : Valentin Agachi : https://github.com/avaly\n//! author : Emanuel Cepoi : https://github.com/cepem\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        var format = {\n                ss: 'secunde',\n                mm: 'minute',\n                hh: 'ore',\n                dd: 'zile',\n                ww: 'săptămâni',\n                MM: 'luni',\n                yy: 'ani',\n            },\n            separator = ' ';\n        if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n            separator = ' de ';\n        }\n        return number + separator + format[key];\n    }\n\n    var ro = moment.defineLocale('ro', {\n        months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split(\n            '_'\n        ),\n        monthsShort:\n            'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n        weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n        weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY H:mm',\n            LLLL: 'dddd, D MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[azi la] LT',\n            nextDay: '[mâine la] LT',\n            nextWeek: 'dddd [la] LT',\n            lastDay: '[ieri la] LT',\n            lastWeek: '[fosta] dddd [la] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'peste %s',\n            past: '%s în urmă',\n            s: 'câteva secunde',\n            ss: relativeTimeWithPlural,\n            m: 'un minut',\n            mm: relativeTimeWithPlural,\n            h: 'o oră',\n            hh: relativeTimeWithPlural,\n            d: 'o zi',\n            dd: relativeTimeWithPlural,\n            w: 'o săptămână',\n            ww: relativeTimeWithPlural,\n            M: 'o lună',\n            MM: relativeTimeWithPlural,\n            y: 'un an',\n            yy: relativeTimeWithPlural,\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return ro;\n\n})));\n","//! moment.js locale configuration\n//! locale : Russian [ru]\n//! author : Viktorminator : https://github.com/Viktorminator\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Коренберг Марк : https://github.com/socketpair\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function plural(word, num) {\n        var forms = word.split('_');\n        return num % 10 === 1 && num % 100 !== 11\n            ? forms[0]\n            : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n              ? forms[1]\n              : forms[2];\n    }\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        var format = {\n            ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n            mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n            hh: 'час_часа_часов',\n            dd: 'день_дня_дней',\n            ww: 'неделя_недели_недель',\n            MM: 'месяц_месяца_месяцев',\n            yy: 'год_года_лет',\n        };\n        if (key === 'm') {\n            return withoutSuffix ? 'минута' : 'минуту';\n        } else {\n            return number + ' ' + plural(format[key], +number);\n        }\n    }\n    var monthsParse = [\n        /^янв/i,\n        /^фев/i,\n        /^мар/i,\n        /^апр/i,\n        /^ма[йя]/i,\n        /^июн/i,\n        /^июл/i,\n        /^авг/i,\n        /^сен/i,\n        /^окт/i,\n        /^ноя/i,\n        /^дек/i,\n    ];\n\n    // http://new.gramota.ru/spravka/rules/139-prop : § 103\n    // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n    // CLDR data:          http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n    var ru = moment.defineLocale('ru', {\n        months: {\n            format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split(\n                '_'\n            ),\n            standalone:\n                'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n                    '_'\n                ),\n        },\n        monthsShort: {\n            // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку?\n            format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split(\n                '_'\n            ),\n            standalone:\n                'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split(\n                    '_'\n                ),\n        },\n        weekdays: {\n            standalone:\n                'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split(\n                    '_'\n                ),\n            format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split(\n                '_'\n            ),\n            isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/,\n        },\n        weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n        weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n\n        // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n        monthsRegex:\n            /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n        // копия предыдущего\n        monthsShortRegex:\n            /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n        // полные названия с падежами\n        monthsStrictRegex:\n            /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n        // Выражение, которое соответствует только сокращённым формам\n        monthsShortStrictRegex:\n            /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY г.',\n            LLL: 'D MMMM YYYY г., H:mm',\n            LLLL: 'dddd, D MMMM YYYY г., H:mm',\n        },\n        calendar: {\n            sameDay: '[Сегодня, в] LT',\n            nextDay: '[Завтра, в] LT',\n            lastDay: '[Вчера, в] LT',\n            nextWeek: function (now) {\n                if (now.week() !== this.week()) {\n                    switch (this.day()) {\n                        case 0:\n                            return '[В следующее] dddd, [в] LT';\n                        case 1:\n                        case 2:\n                        case 4:\n                            return '[В следующий] dddd, [в] LT';\n                        case 3:\n                        case 5:\n                        case 6:\n                            return '[В следующую] dddd, [в] LT';\n                    }\n                } else {\n                    if (this.day() === 2) {\n                        return '[Во] dddd, [в] LT';\n                    } else {\n                        return '[В] dddd, [в] LT';\n                    }\n                }\n            },\n            lastWeek: function (now) {\n                if (now.week() !== this.week()) {\n                    switch (this.day()) {\n                        case 0:\n                            return '[В прошлое] dddd, [в] LT';\n                        case 1:\n                        case 2:\n                        case 4:\n                            return '[В прошлый] dddd, [в] LT';\n                        case 3:\n                        case 5:\n                        case 6:\n                            return '[В прошлую] dddd, [в] LT';\n                    }\n                } else {\n                    if (this.day() === 2) {\n                        return '[Во] dddd, [в] LT';\n                    } else {\n                        return '[В] dddd, [в] LT';\n                    }\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'через %s',\n            past: '%s назад',\n            s: 'несколько секунд',\n            ss: relativeTimeWithPlural,\n            m: relativeTimeWithPlural,\n            mm: relativeTimeWithPlural,\n            h: 'час',\n            hh: relativeTimeWithPlural,\n            d: 'день',\n            dd: relativeTimeWithPlural,\n            w: 'неделя',\n            ww: relativeTimeWithPlural,\n            M: 'месяц',\n            MM: relativeTimeWithPlural,\n            y: 'год',\n            yy: relativeTimeWithPlural,\n        },\n        meridiemParse: /ночи|утра|дня|вечера/i,\n        isPM: function (input) {\n            return /^(дня|вечера)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ночи';\n            } else if (hour < 12) {\n                return 'утра';\n            } else if (hour < 17) {\n                return 'дня';\n            } else {\n                return 'вечера';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'M':\n                case 'd':\n                case 'DDD':\n                    return number + '-й';\n                case 'D':\n                    return number + '-го';\n                case 'w':\n                case 'W':\n                    return number + '-я';\n                default:\n                    return number;\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ru;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sindhi [sd]\n//! author : Narain Sagar : https://github.com/narainsagar\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'جنوري',\n            'فيبروري',\n            'مارچ',\n            'اپريل',\n            'مئي',\n            'جون',\n            'جولاءِ',\n            'آگسٽ',\n            'سيپٽمبر',\n            'آڪٽوبر',\n            'نومبر',\n            'ڊسمبر',\n        ],\n        days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر'];\n\n    var sd = moment.defineLocale('sd', {\n        months: months,\n        monthsShort: months,\n        weekdays: days,\n        weekdaysShort: days,\n        weekdaysMin: days,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd، D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /صبح|شام/,\n        isPM: function (input) {\n            return 'شام' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'صبح';\n            }\n            return 'شام';\n        },\n        calendar: {\n            sameDay: '[اڄ] LT',\n            nextDay: '[سڀاڻي] LT',\n            nextWeek: 'dddd [اڳين هفتي تي] LT',\n            lastDay: '[ڪالهه] LT',\n            lastWeek: '[گزريل هفتي] dddd [تي] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s پوء',\n            past: '%s اڳ',\n            s: 'چند سيڪنڊ',\n            ss: '%d سيڪنڊ',\n            m: 'هڪ منٽ',\n            mm: '%d منٽ',\n            h: 'هڪ ڪلاڪ',\n            hh: '%d ڪلاڪ',\n            d: 'هڪ ڏينهن',\n            dd: '%d ڏينهن',\n            M: 'هڪ مهينو',\n            MM: '%d مهينا',\n            y: 'هڪ سال',\n            yy: '%d سال',\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return sd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Northern Sami [se]\n//! authors : Bård Rolstad Henriksen : https://github.com/karamell\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var se = moment.defineLocale('se', {\n        months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split(\n            '_'\n        ),\n        monthsShort:\n            'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n        weekdays:\n            'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split(\n                '_'\n            ),\n        weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n        weekdaysMin: 's_v_m_g_d_b_L'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'MMMM D. [b.] YYYY',\n            LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',\n            LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm',\n        },\n        calendar: {\n            sameDay: '[otne ti] LT',\n            nextDay: '[ihttin ti] LT',\n            nextWeek: 'dddd [ti] LT',\n            lastDay: '[ikte ti] LT',\n            lastWeek: '[ovddit] dddd [ti] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s geažes',\n            past: 'maŋit %s',\n            s: 'moadde sekunddat',\n            ss: '%d sekunddat',\n            m: 'okta minuhta',\n            mm: '%d minuhtat',\n            h: 'okta diimmu',\n            hh: '%d diimmut',\n            d: 'okta beaivi',\n            dd: '%d beaivvit',\n            M: 'okta mánnu',\n            MM: '%d mánut',\n            y: 'okta jahki',\n            yy: '%d jagit',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return se;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sinhalese [si]\n//! author : Sampath Sitinamaluwa : https://github.com/sampathsris\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    /*jshint -W100*/\n    var si = moment.defineLocale('si', {\n        months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split(\n            '_'\n        ),\n        monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split(\n            '_'\n        ),\n        weekdays:\n            'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split(\n                '_'\n            ),\n        weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n        weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'a h:mm',\n            LTS: 'a h:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY MMMM D',\n            LLL: 'YYYY MMMM D, a h:mm',\n            LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss',\n        },\n        calendar: {\n            sameDay: '[අද] LT[ට]',\n            nextDay: '[හෙට] LT[ට]',\n            nextWeek: 'dddd LT[ට]',\n            lastDay: '[ඊයේ] LT[ට]',\n            lastWeek: '[පසුගිය] dddd LT[ට]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%sකින්',\n            past: '%sකට පෙර',\n            s: 'තත්පර කිහිපය',\n            ss: 'තත්පර %d',\n            m: 'මිනිත්තුව',\n            mm: 'මිනිත්තු %d',\n            h: 'පැය',\n            hh: 'පැය %d',\n            d: 'දිනය',\n            dd: 'දින %d',\n            M: 'මාසය',\n            MM: 'මාස %d',\n            y: 'වසර',\n            yy: 'වසර %d',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n        ordinal: function (number) {\n            return number + ' වැනි';\n        },\n        meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n        isPM: function (input) {\n            return input === 'ප.ව.' || input === 'පස් වරු';\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours > 11) {\n                return isLower ? 'ප.ව.' : 'පස් වරු';\n            } else {\n                return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n            }\n        },\n    });\n\n    return si;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovak [sk]\n//! author : Martin Minka : https://github.com/k2s\n//! based on work of petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months =\n            'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split(\n                '_'\n            ),\n        monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n    function plural(n) {\n        return n > 1 && n < 5;\n    }\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        switch (key) {\n            case 's': // a few seconds / in a few seconds / a few seconds ago\n                return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami';\n            case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'sekundy' : 'sekúnd');\n                } else {\n                    return result + 'sekundami';\n                }\n            case 'm': // a minute / in a minute / a minute ago\n                return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou';\n            case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'minúty' : 'minút');\n                } else {\n                    return result + 'minútami';\n                }\n            case 'h': // an hour / in an hour / an hour ago\n                return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n            case 'hh': // 9 hours / in 9 hours / 9 hours ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'hodiny' : 'hodín');\n                } else {\n                    return result + 'hodinami';\n                }\n            case 'd': // a day / in a day / a day ago\n                return withoutSuffix || isFuture ? 'deň' : 'dňom';\n            case 'dd': // 9 days / in 9 days / 9 days ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'dni' : 'dní');\n                } else {\n                    return result + 'dňami';\n                }\n            case 'M': // a month / in a month / a month ago\n                return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom';\n            case 'MM': // 9 months / in 9 months / 9 months ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'mesiace' : 'mesiacov');\n                } else {\n                    return result + 'mesiacmi';\n                }\n            case 'y': // a year / in a year / a year ago\n                return withoutSuffix || isFuture ? 'rok' : 'rokom';\n            case 'yy': // 9 years / in 9 years / 9 years ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'roky' : 'rokov');\n                } else {\n                    return result + 'rokmi';\n                }\n        }\n    }\n\n    var sk = moment.defineLocale('sk', {\n        months: months,\n        monthsShort: monthsShort,\n        weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n        weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'),\n        weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[dnes o] LT',\n            nextDay: '[zajtra o] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[v nedeľu o] LT';\n                    case 1:\n                    case 2:\n                        return '[v] dddd [o] LT';\n                    case 3:\n                        return '[v stredu o] LT';\n                    case 4:\n                        return '[vo štvrtok o] LT';\n                    case 5:\n                        return '[v piatok o] LT';\n                    case 6:\n                        return '[v sobotu o] LT';\n                }\n            },\n            lastDay: '[včera o] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[minulú nedeľu o] LT';\n                    case 1:\n                    case 2:\n                        return '[minulý] dddd [o] LT';\n                    case 3:\n                        return '[minulú stredu o] LT';\n                    case 4:\n                    case 5:\n                        return '[minulý] dddd [o] LT';\n                    case 6:\n                        return '[minulú sobotu o] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'pred %s',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return sk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovenian [sl]\n//! author : Robert Sedovšek : https://github.com/sedovsek\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        switch (key) {\n            case 's':\n                return withoutSuffix || isFuture\n                    ? 'nekaj sekund'\n                    : 'nekaj sekundami';\n            case 'ss':\n                if (number === 1) {\n                    result += withoutSuffix ? 'sekundo' : 'sekundi';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n                } else {\n                    result += 'sekund';\n                }\n                return result;\n            case 'm':\n                return withoutSuffix ? 'ena minuta' : 'eno minuto';\n            case 'mm':\n                if (number === 1) {\n                    result += withoutSuffix ? 'minuta' : 'minuto';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n                } else {\n                    result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n                }\n                return result;\n            case 'h':\n                return withoutSuffix ? 'ena ura' : 'eno uro';\n            case 'hh':\n                if (number === 1) {\n                    result += withoutSuffix ? 'ura' : 'uro';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'uri' : 'urama';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'ure' : 'urami';\n                } else {\n                    result += withoutSuffix || isFuture ? 'ur' : 'urami';\n                }\n                return result;\n            case 'd':\n                return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n            case 'dd':\n                if (number === 1) {\n                    result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n                } else {\n                    result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n                }\n                return result;\n            case 'M':\n                return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n            case 'MM':\n                if (number === 1) {\n                    result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n                } else {\n                    result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n                }\n                return result;\n            case 'y':\n                return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n            case 'yy':\n                if (number === 1) {\n                    result += withoutSuffix || isFuture ? 'leto' : 'letom';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'leta' : 'leti';\n                } else {\n                    result += withoutSuffix || isFuture ? 'let' : 'leti';\n                }\n                return result;\n        }\n    }\n\n    var sl = moment.defineLocale('sl', {\n        months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n        weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n        weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD. MM. YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd, D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[danes ob] LT',\n            nextDay: '[jutri ob] LT',\n\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[v] [nedeljo] [ob] LT';\n                    case 3:\n                        return '[v] [sredo] [ob] LT';\n                    case 6:\n                        return '[v] [soboto] [ob] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[v] dddd [ob] LT';\n                }\n            },\n            lastDay: '[včeraj ob] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[prejšnjo] [nedeljo] [ob] LT';\n                    case 3:\n                        return '[prejšnjo] [sredo] [ob] LT';\n                    case 6:\n                        return '[prejšnjo] [soboto] [ob] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[prejšnji] dddd [ob] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'čez %s',\n            past: 'pred %s',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return sl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Albanian [sq]\n//! author : Flakërim Ismani : https://github.com/flakerimi\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Oerd Cukalla : https://github.com/oerd\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var sq = moment.defineLocale('sq', {\n        months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n        weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split(\n            '_'\n        ),\n        weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n        weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),\n        weekdaysParseExact: true,\n        meridiemParse: /PD|MD/,\n        isPM: function (input) {\n            return input.charAt(0) === 'M';\n        },\n        meridiem: function (hours, minutes, isLower) {\n            return hours < 12 ? 'PD' : 'MD';\n        },\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Sot në] LT',\n            nextDay: '[Nesër në] LT',\n            nextWeek: 'dddd [në] LT',\n            lastDay: '[Dje në] LT',\n            lastWeek: 'dddd [e kaluar në] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'në %s',\n            past: '%s më parë',\n            s: 'disa sekonda',\n            ss: '%d sekonda',\n            m: 'një minutë',\n            mm: '%d minuta',\n            h: 'një orë',\n            hh: '%d orë',\n            d: 'një ditë',\n            dd: '%d ditë',\n            M: 'një muaj',\n            MM: '%d muaj',\n            y: 'një vit',\n            yy: '%d vite',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return sq;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian Cyrillic [sr-cyrl]\n//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j\n//! author : Stefan Crnjaković <stefan@hotmail.rs> : https://github.com/crnjakovic\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var translator = {\n        words: {\n            //Different grammatical cases\n            ss: ['секунда', 'секунде', 'секунди'],\n            m: ['један минут', 'једног минута'],\n            mm: ['минут', 'минута', 'минута'],\n            h: ['један сат', 'једног сата'],\n            hh: ['сат', 'сата', 'сати'],\n            d: ['један дан', 'једног дана'],\n            dd: ['дан', 'дана', 'дана'],\n            M: ['један месец', 'једног месеца'],\n            MM: ['месец', 'месеца', 'месеци'],\n            y: ['једну годину', 'једне године'],\n            yy: ['годину', 'године', 'година'],\n        },\n        correctGrammaticalCase: function (number, wordKey) {\n            if (\n                number % 10 >= 1 &&\n                number % 10 <= 4 &&\n                (number % 100 < 10 || number % 100 >= 20)\n            ) {\n                return number % 10 === 1 ? wordKey[0] : wordKey[1];\n            }\n            return wordKey[2];\n        },\n        translate: function (number, withoutSuffix, key, isFuture) {\n            var wordKey = translator.words[key],\n                word;\n\n            if (key.length === 1) {\n                // Nominativ\n                if (key === 'y' && withoutSuffix) return 'једна година';\n                return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n            }\n\n            word = translator.correctGrammaticalCase(number, wordKey);\n            // Nominativ\n            if (key === 'yy' && withoutSuffix && word === 'годину') {\n                return number + ' година';\n            }\n\n            return number + ' ' + word;\n        },\n    };\n\n    var srCyrl = moment.defineLocale('sr-cyrl', {\n        months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split(\n            '_'\n        ),\n        monthsShort:\n            'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n        weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n        weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'D. M. YYYY.',\n            LL: 'D. MMMM YYYY.',\n            LLL: 'D. MMMM YYYY. H:mm',\n            LLLL: 'dddd, D. MMMM YYYY. H:mm',\n        },\n        calendar: {\n            sameDay: '[данас у] LT',\n            nextDay: '[сутра у] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[у] [недељу] [у] LT';\n                    case 3:\n                        return '[у] [среду] [у] LT';\n                    case 6:\n                        return '[у] [суботу] [у] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[у] dddd [у] LT';\n                }\n            },\n            lastDay: '[јуче у] LT',\n            lastWeek: function () {\n                var lastWeekDays = [\n                    '[прошле] [недеље] [у] LT',\n                    '[прошлог] [понедељка] [у] LT',\n                    '[прошлог] [уторка] [у] LT',\n                    '[прошле] [среде] [у] LT',\n                    '[прошлог] [четвртка] [у] LT',\n                    '[прошлог] [петка] [у] LT',\n                    '[прошле] [суботе] [у] LT',\n                ];\n                return lastWeekDays[this.day()];\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'за %s',\n            past: 'пре %s',\n            s: 'неколико секунди',\n            ss: translator.translate,\n            m: translator.translate,\n            mm: translator.translate,\n            h: translator.translate,\n            hh: translator.translate,\n            d: translator.translate,\n            dd: translator.translate,\n            M: translator.translate,\n            MM: translator.translate,\n            y: translator.translate,\n            yy: translator.translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 1st is the first week of the year.\n        },\n    });\n\n    return srCyrl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian [sr]\n//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j\n//! author : Stefan Crnjaković <stefan@hotmail.rs> : https://github.com/crnjakovic\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var translator = {\n        words: {\n            //Different grammatical cases\n            ss: ['sekunda', 'sekunde', 'sekundi'],\n            m: ['jedan minut', 'jednog minuta'],\n            mm: ['minut', 'minuta', 'minuta'],\n            h: ['jedan sat', 'jednog sata'],\n            hh: ['sat', 'sata', 'sati'],\n            d: ['jedan dan', 'jednog dana'],\n            dd: ['dan', 'dana', 'dana'],\n            M: ['jedan mesec', 'jednog meseca'],\n            MM: ['mesec', 'meseca', 'meseci'],\n            y: ['jednu godinu', 'jedne godine'],\n            yy: ['godinu', 'godine', 'godina'],\n        },\n        correctGrammaticalCase: function (number, wordKey) {\n            if (\n                number % 10 >= 1 &&\n                number % 10 <= 4 &&\n                (number % 100 < 10 || number % 100 >= 20)\n            ) {\n                return number % 10 === 1 ? wordKey[0] : wordKey[1];\n            }\n            return wordKey[2];\n        },\n        translate: function (number, withoutSuffix, key, isFuture) {\n            var wordKey = translator.words[key],\n                word;\n\n            if (key.length === 1) {\n                // Nominativ\n                if (key === 'y' && withoutSuffix) return 'jedna godina';\n                return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n            }\n\n            word = translator.correctGrammaticalCase(number, wordKey);\n            // Nominativ\n            if (key === 'yy' && withoutSuffix && word === 'godinu') {\n                return number + ' godina';\n            }\n\n            return number + ' ' + word;\n        },\n    };\n\n    var sr = moment.defineLocale('sr', {\n        months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n            '_'\n        ),\n        monthsShort:\n            'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split(\n            '_'\n        ),\n        weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'D. M. YYYY.',\n            LL: 'D. MMMM YYYY.',\n            LLL: 'D. MMMM YYYY. H:mm',\n            LLLL: 'dddd, D. MMMM YYYY. H:mm',\n        },\n        calendar: {\n            sameDay: '[danas u] LT',\n            nextDay: '[sutra u] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[u] [nedelju] [u] LT';\n                    case 3:\n                        return '[u] [sredu] [u] LT';\n                    case 6:\n                        return '[u] [subotu] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[u] dddd [u] LT';\n                }\n            },\n            lastDay: '[juče u] LT',\n            lastWeek: function () {\n                var lastWeekDays = [\n                    '[prošle] [nedelje] [u] LT',\n                    '[prošlog] [ponedeljka] [u] LT',\n                    '[prošlog] [utorka] [u] LT',\n                    '[prošle] [srede] [u] LT',\n                    '[prošlog] [četvrtka] [u] LT',\n                    '[prošlog] [petka] [u] LT',\n                    '[prošle] [subote] [u] LT',\n                ];\n                return lastWeekDays[this.day()];\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'pre %s',\n            s: 'nekoliko sekundi',\n            ss: translator.translate,\n            m: translator.translate,\n            mm: translator.translate,\n            h: translator.translate,\n            hh: translator.translate,\n            d: translator.translate,\n            dd: translator.translate,\n            M: translator.translate,\n            MM: translator.translate,\n            y: translator.translate,\n            yy: translator.translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return sr;\n\n})));\n","//! moment.js locale configuration\n//! locale : siSwati [ss]\n//! author : Nicolai Davies<mail@nicolai.io> : https://github.com/nicolaidavies\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ss = moment.defineLocale('ss', {\n        months: \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split(\n            '_'\n        ),\n        monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n        weekdays:\n            'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split(\n                '_'\n            ),\n        weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n        weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Namuhla nga] LT',\n            nextDay: '[Kusasa nga] LT',\n            nextWeek: 'dddd [nga] LT',\n            lastDay: '[Itolo nga] LT',\n            lastWeek: 'dddd [leliphelile] [nga] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'nga %s',\n            past: 'wenteka nga %s',\n            s: 'emizuzwana lomcane',\n            ss: '%d mzuzwana',\n            m: 'umzuzu',\n            mm: '%d emizuzu',\n            h: 'lihora',\n            hh: '%d emahora',\n            d: 'lilanga',\n            dd: '%d emalanga',\n            M: 'inyanga',\n            MM: '%d tinyanga',\n            y: 'umnyaka',\n            yy: '%d iminyaka',\n        },\n        meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'ekuseni';\n            } else if (hours < 15) {\n                return 'emini';\n            } else if (hours < 19) {\n                return 'entsambama';\n            } else {\n                return 'ebusuku';\n            }\n        },\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'ekuseni') {\n                return hour;\n            } else if (meridiem === 'emini') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n                if (hour === 0) {\n                    return 0;\n                }\n                return hour + 12;\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}/,\n        ordinal: '%d',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ss;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swedish [sv]\n//! author : Jens Alm : https://github.com/ulmus\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var sv = moment.defineLocale('sv', {\n        months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n        weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n        weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n        weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [kl.] HH:mm',\n            LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',\n            lll: 'D MMM YYYY HH:mm',\n            llll: 'ddd D MMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Idag] LT',\n            nextDay: '[Imorgon] LT',\n            lastDay: '[Igår] LT',\n            nextWeek: '[På] dddd LT',\n            lastWeek: '[I] dddd[s] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'om %s',\n            past: 'för %s sedan',\n            s: 'några sekunder',\n            ss: '%d sekunder',\n            m: 'en minut',\n            mm: '%d minuter',\n            h: 'en timme',\n            hh: '%d timmar',\n            d: 'en dag',\n            dd: '%d dagar',\n            M: 'en månad',\n            MM: '%d månader',\n            y: 'ett år',\n            yy: '%d år',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(\\:e|\\:a)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? ':e'\n                        : b === 1\n                          ? ':a'\n                          : b === 2\n                            ? ':a'\n                            : b === 3\n                              ? ':e'\n                              : ':e';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return sv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swahili [sw]\n//! author : Fahad Kassim : https://github.com/fadsel\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var sw = moment.defineLocale('sw', {\n        months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n        weekdays:\n            'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split(\n                '_'\n            ),\n        weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n        weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'hh:mm A',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[leo saa] LT',\n            nextDay: '[kesho saa] LT',\n            nextWeek: '[wiki ijayo] dddd [saat] LT',\n            lastDay: '[jana] LT',\n            lastWeek: '[wiki iliyopita] dddd [saat] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s baadaye',\n            past: 'tokea %s',\n            s: 'hivi punde',\n            ss: 'sekunde %d',\n            m: 'dakika moja',\n            mm: 'dakika %d',\n            h: 'saa limoja',\n            hh: 'masaa %d',\n            d: 'siku moja',\n            dd: 'siku %d',\n            M: 'mwezi mmoja',\n            MM: 'miezi %d',\n            y: 'mwaka mmoja',\n            yy: 'miaka %d',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return sw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tamil [ta]\n//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '௧',\n            2: '௨',\n            3: '௩',\n            4: '௪',\n            5: '௫',\n            6: '௬',\n            7: '௭',\n            8: '௮',\n            9: '௯',\n            0: '௦',\n        },\n        numberMap = {\n            '௧': '1',\n            '௨': '2',\n            '௩': '3',\n            '௪': '4',\n            '௫': '5',\n            '௬': '6',\n            '௭': '7',\n            '௮': '8',\n            '௯': '9',\n            '௦': '0',\n        };\n\n    var ta = moment.defineLocale('ta', {\n        months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n            '_'\n        ),\n        monthsShort:\n            'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n                '_'\n            ),\n        weekdays:\n            'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split(\n                '_'\n            ),\n        weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split(\n            '_'\n        ),\n        weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, HH:mm',\n            LLLL: 'dddd, D MMMM YYYY, HH:mm',\n        },\n        calendar: {\n            sameDay: '[இன்று] LT',\n            nextDay: '[நாளை] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[நேற்று] LT',\n            lastWeek: '[கடந்த வாரம்] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s இல்',\n            past: '%s முன்',\n            s: 'ஒரு சில விநாடிகள்',\n            ss: '%d விநாடிகள்',\n            m: 'ஒரு நிமிடம்',\n            mm: '%d நிமிடங்கள்',\n            h: 'ஒரு மணி நேரம்',\n            hh: '%d மணி நேரம்',\n            d: 'ஒரு நாள்',\n            dd: '%d நாட்கள்',\n            M: 'ஒரு மாதம்',\n            MM: '%d மாதங்கள்',\n            y: 'ஒரு வருடம்',\n            yy: '%d ஆண்டுகள்',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n        ordinal: function (number) {\n            return number + 'வது';\n        },\n        preparse: function (string) {\n            return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        // refer http://ta.wikipedia.org/s/1er1\n        meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 2) {\n                return ' யாமம்';\n            } else if (hour < 6) {\n                return ' வைகறை'; // வைகறை\n            } else if (hour < 10) {\n                return ' காலை'; // காலை\n            } else if (hour < 14) {\n                return ' நண்பகல்'; // நண்பகல்\n            } else if (hour < 18) {\n                return ' எற்பாடு'; // எற்பாடு\n            } else if (hour < 22) {\n                return ' மாலை'; // மாலை\n            } else {\n                return ' யாமம்';\n            }\n        },\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'யாமம்') {\n                return hour < 2 ? hour : hour + 12;\n            } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n                return hour;\n            } else if (meridiem === 'நண்பகல்') {\n                return hour >= 10 ? hour : hour + 12;\n            } else {\n                return hour + 12;\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return ta;\n\n})));\n","//! moment.js locale configuration\n//! locale : Telugu [te]\n//! author : Krishna Chaitanya Thota : https://github.com/kcthota\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var te = moment.defineLocale('te', {\n        months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split(\n            '_'\n        ),\n        monthsShort:\n            'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split(\n                '_'\n            ),\n        weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n        weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm',\n            LTS: 'A h:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm',\n        },\n        calendar: {\n            sameDay: '[నేడు] LT',\n            nextDay: '[రేపు] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[నిన్న] LT',\n            lastWeek: '[గత] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s లో',\n            past: '%s క్రితం',\n            s: 'కొన్ని క్షణాలు',\n            ss: '%d సెకన్లు',\n            m: 'ఒక నిమిషం',\n            mm: '%d నిమిషాలు',\n            h: 'ఒక గంట',\n            hh: '%d గంటలు',\n            d: 'ఒక రోజు',\n            dd: '%d రోజులు',\n            M: 'ఒక నెల',\n            MM: '%d నెలలు',\n            y: 'ఒక సంవత్సరం',\n            yy: '%d సంవత్సరాలు',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}వ/,\n        ordinal: '%dవ',\n        meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'రాత్రి') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'ఉదయం') {\n                return hour;\n            } else if (meridiem === 'మధ్యాహ్నం') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'సాయంత్రం') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'రాత్రి';\n            } else if (hour < 10) {\n                return 'ఉదయం';\n            } else if (hour < 17) {\n                return 'మధ్యాహ్నం';\n            } else if (hour < 20) {\n                return 'సాయంత్రం';\n            } else {\n                return 'రాత్రి';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return te;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tetun Dili (East Timor) [tet]\n//! author : Joshua Brooks : https://github.com/joshbrooks\n//! author : Onorio De J. Afonso : https://github.com/marobo\n//! author : Sonia Simoes : https://github.com/soniasimoes\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var tet = moment.defineLocale('tet', {\n        months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n        weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n        weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n        weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Ohin iha] LT',\n            nextDay: '[Aban iha] LT',\n            nextWeek: 'dddd [iha] LT',\n            lastDay: '[Horiseik iha] LT',\n            lastWeek: 'dddd [semana kotuk] [iha] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'iha %s',\n            past: '%s liuba',\n            s: 'segundu balun',\n            ss: 'segundu %d',\n            m: 'minutu ida',\n            mm: 'minutu %d',\n            h: 'oras ida',\n            hh: 'oras %d',\n            d: 'loron ida',\n            dd: 'loron %d',\n            M: 'fulan ida',\n            MM: 'fulan %d',\n            y: 'tinan ida',\n            yy: 'tinan %d',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return tet;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tajik [tg]\n//! author : Orif N. Jr. : https://github.com/orif-jr\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        0: '-ум',\n        1: '-ум',\n        2: '-юм',\n        3: '-юм',\n        4: '-ум',\n        5: '-ум',\n        6: '-ум',\n        7: '-ум',\n        8: '-ум',\n        9: '-ум',\n        10: '-ум',\n        12: '-ум',\n        13: '-ум',\n        20: '-ум',\n        30: '-юм',\n        40: '-ум',\n        50: '-ум',\n        60: '-ум',\n        70: '-ум',\n        80: '-ум',\n        90: '-ум',\n        100: '-ум',\n    };\n\n    var tg = moment.defineLocale('tg', {\n        months: {\n            format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split(\n                '_'\n            ),\n            standalone:\n                'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n                    '_'\n                ),\n        },\n        monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n        weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split(\n            '_'\n        ),\n        weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n        weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Имрӯз соати] LT',\n            nextDay: '[Фардо соати] LT',\n            lastDay: '[Дирӯз соати] LT',\n            nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT',\n            lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'баъди %s',\n            past: '%s пеш',\n            s: 'якчанд сония',\n            m: 'як дақиқа',\n            mm: '%d дақиқа',\n            h: 'як соат',\n            hh: '%d соат',\n            d: 'як рӯз',\n            dd: '%d рӯз',\n            M: 'як моҳ',\n            MM: '%d моҳ',\n            y: 'як сол',\n            yy: '%d сол',\n        },\n        meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'шаб') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'субҳ') {\n                return hour;\n            } else if (meridiem === 'рӯз') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'бегоҳ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'шаб';\n            } else if (hour < 11) {\n                return 'субҳ';\n            } else if (hour < 16) {\n                return 'рӯз';\n            } else if (hour < 19) {\n                return 'бегоҳ';\n            } else {\n                return 'шаб';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n        ordinal: function (number) {\n            var a = number % 10,\n                b = number >= 100 ? 100 : null;\n            return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 1th is the first week of the year.\n        },\n    });\n\n    return tg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Thai [th]\n//! author : Kridsada Thanabulpong : https://github.com/sirn\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var th = moment.defineLocale('th', {\n        months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split(\n            '_'\n        ),\n        monthsShort:\n            'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n        weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n        weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY เวลา H:mm',\n            LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm',\n        },\n        meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n        isPM: function (input) {\n            return input === 'หลังเที่ยง';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ก่อนเที่ยง';\n            } else {\n                return 'หลังเที่ยง';\n            }\n        },\n        calendar: {\n            sameDay: '[วันนี้ เวลา] LT',\n            nextDay: '[พรุ่งนี้ เวลา] LT',\n            nextWeek: 'dddd[หน้า เวลา] LT',\n            lastDay: '[เมื่อวานนี้ เวลา] LT',\n            lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'อีก %s',\n            past: '%sที่แล้ว',\n            s: 'ไม่กี่วินาที',\n            ss: '%d วินาที',\n            m: '1 นาที',\n            mm: '%d นาที',\n            h: '1 ชั่วโมง',\n            hh: '%d ชั่วโมง',\n            d: '1 วัน',\n            dd: '%d วัน',\n            w: '1 สัปดาห์',\n            ww: '%d สัปดาห์',\n            M: '1 เดือน',\n            MM: '%d เดือน',\n            y: '1 ปี',\n            yy: '%d ปี',\n        },\n    });\n\n    return th;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkmen [tk]\n//! author : Atamyrat Abdyrahmanov : https://github.com/atamyratabdy\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        1: \"'inji\",\n        5: \"'inji\",\n        8: \"'inji\",\n        70: \"'inji\",\n        80: \"'inji\",\n        2: \"'nji\",\n        7: \"'nji\",\n        20: \"'nji\",\n        50: \"'nji\",\n        3: \"'ünji\",\n        4: \"'ünji\",\n        100: \"'ünji\",\n        6: \"'njy\",\n        9: \"'unjy\",\n        10: \"'unjy\",\n        30: \"'unjy\",\n        60: \"'ynjy\",\n        90: \"'ynjy\",\n    };\n\n    var tk = moment.defineLocale('tk', {\n        months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split(\n            '_'\n        ),\n        monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'),\n        weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split(\n            '_'\n        ),\n        weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'),\n        weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[bugün sagat] LT',\n            nextDay: '[ertir sagat] LT',\n            nextWeek: '[indiki] dddd [sagat] LT',\n            lastDay: '[düýn] LT',\n            lastWeek: '[geçen] dddd [sagat] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s soň',\n            past: '%s öň',\n            s: 'birnäçe sekunt',\n            m: 'bir minut',\n            mm: '%d minut',\n            h: 'bir sagat',\n            hh: '%d sagat',\n            d: 'bir gün',\n            dd: '%d gün',\n            M: 'bir aý',\n            MM: '%d aý',\n            y: 'bir ýyl',\n            yy: '%d ýyl',\n        },\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'Do':\n                case 'DD':\n                    return number;\n                default:\n                    if (number === 0) {\n                        // special case for zero\n                        return number + \"'unjy\";\n                    }\n                    var a = number % 10,\n                        b = (number % 100) - a,\n                        c = number >= 100 ? 100 : null;\n                    return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return tk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tagalog (Philippines) [tl-ph]\n//! author : Dan Hagman : https://github.com/hagmandan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var tlPh = moment.defineLocale('tl-ph', {\n        months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n            '_'\n        ),\n        monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n        weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n            '_'\n        ),\n        weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n        weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'MM/D/YYYY',\n            LL: 'MMMM D, YYYY',\n            LLL: 'MMMM D, YYYY HH:mm',\n            LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: 'LT [ngayong araw]',\n            nextDay: '[Bukas ng] LT',\n            nextWeek: 'LT [sa susunod na] dddd',\n            lastDay: 'LT [kahapon]',\n            lastWeek: 'LT [noong nakaraang] dddd',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'sa loob ng %s',\n            past: '%s ang nakalipas',\n            s: 'ilang segundo',\n            ss: '%d segundo',\n            m: 'isang minuto',\n            mm: '%d minuto',\n            h: 'isang oras',\n            hh: '%d oras',\n            d: 'isang araw',\n            dd: '%d araw',\n            M: 'isang buwan',\n            MM: '%d buwan',\n            y: 'isang taon',\n            yy: '%d taon',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}/,\n        ordinal: function (number) {\n            return number;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return tlPh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Klingon [tlh]\n//! author : Dominika Kruk : https://github.com/amaranthrose\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n    function translateFuture(output) {\n        var time = output;\n        time =\n            output.indexOf('jaj') !== -1\n                ? time.slice(0, -3) + 'leS'\n                : output.indexOf('jar') !== -1\n                  ? time.slice(0, -3) + 'waQ'\n                  : output.indexOf('DIS') !== -1\n                    ? time.slice(0, -3) + 'nem'\n                    : time + ' pIq';\n        return time;\n    }\n\n    function translatePast(output) {\n        var time = output;\n        time =\n            output.indexOf('jaj') !== -1\n                ? time.slice(0, -3) + 'Hu’'\n                : output.indexOf('jar') !== -1\n                  ? time.slice(0, -3) + 'wen'\n                  : output.indexOf('DIS') !== -1\n                    ? time.slice(0, -3) + 'ben'\n                    : time + ' ret';\n        return time;\n    }\n\n    function translate(number, withoutSuffix, string, isFuture) {\n        var numberNoun = numberAsNoun(number);\n        switch (string) {\n            case 'ss':\n                return numberNoun + ' lup';\n            case 'mm':\n                return numberNoun + ' tup';\n            case 'hh':\n                return numberNoun + ' rep';\n            case 'dd':\n                return numberNoun + ' jaj';\n            case 'MM':\n                return numberNoun + ' jar';\n            case 'yy':\n                return numberNoun + ' DIS';\n        }\n    }\n\n    function numberAsNoun(number) {\n        var hundred = Math.floor((number % 1000) / 100),\n            ten = Math.floor((number % 100) / 10),\n            one = number % 10,\n            word = '';\n        if (hundred > 0) {\n            word += numbersNouns[hundred] + 'vatlh';\n        }\n        if (ten > 0) {\n            word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';\n        }\n        if (one > 0) {\n            word += (word !== '' ? ' ' : '') + numbersNouns[one];\n        }\n        return word === '' ? 'pagh' : word;\n    }\n\n    var tlh = moment.defineLocale('tlh', {\n        months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split(\n            '_'\n        ),\n        monthsShort:\n            'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(\n            '_'\n        ),\n        weekdaysShort:\n            'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n        weekdaysMin:\n            'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[DaHjaj] LT',\n            nextDay: '[wa’leS] LT',\n            nextWeek: 'LLL',\n            lastDay: '[wa’Hu’] LT',\n            lastWeek: 'LLL',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: translateFuture,\n            past: translatePast,\n            s: 'puS lup',\n            ss: translate,\n            m: 'wa’ tup',\n            mm: translate,\n            h: 'wa’ rep',\n            hh: translate,\n            d: 'wa’ jaj',\n            dd: translate,\n            M: 'wa’ jar',\n            MM: translate,\n            y: 'wa’ DIS',\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return tlh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkish [tr]\n//! authors : Erhan Gundogan : https://github.com/erhangundogan,\n//!           Burak Yiğit Kaya: https://github.com/BYK\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        1: \"'inci\",\n        5: \"'inci\",\n        8: \"'inci\",\n        70: \"'inci\",\n        80: \"'inci\",\n        2: \"'nci\",\n        7: \"'nci\",\n        20: \"'nci\",\n        50: \"'nci\",\n        3: \"'üncü\",\n        4: \"'üncü\",\n        100: \"'üncü\",\n        6: \"'ncı\",\n        9: \"'uncu\",\n        10: \"'uncu\",\n        30: \"'uncu\",\n        60: \"'ıncı\",\n        90: \"'ıncı\",\n    };\n\n    var tr = moment.defineLocale('tr', {\n        months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split(\n            '_'\n        ),\n        monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n        weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split(\n            '_'\n        ),\n        weekdaysShort: 'Paz_Pzt_Sal_Çar_Per_Cum_Cmt'.split('_'),\n        weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower ? 'öö' : 'ÖÖ';\n            } else {\n                return isLower ? 'ös' : 'ÖS';\n            }\n        },\n        meridiemParse: /öö|ÖÖ|ös|ÖS/,\n        isPM: function (input) {\n            return input === 'ös' || input === 'ÖS';\n        },\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[bugün saat] LT',\n            nextDay: '[yarın saat] LT',\n            nextWeek: '[gelecek] dddd [saat] LT',\n            lastDay: '[dün] LT',\n            lastWeek: '[geçen] dddd [saat] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s sonra',\n            past: '%s önce',\n            s: 'birkaç saniye',\n            ss: '%d saniye',\n            m: 'bir dakika',\n            mm: '%d dakika',\n            h: 'bir saat',\n            hh: '%d saat',\n            d: 'bir gün',\n            dd: '%d gün',\n            w: 'bir hafta',\n            ww: '%d hafta',\n            M: 'bir ay',\n            MM: '%d ay',\n            y: 'bir yıl',\n            yy: '%d yıl',\n        },\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'Do':\n                case 'DD':\n                    return number;\n                default:\n                    if (number === 0) {\n                        // special case for zero\n                        return number + \"'ıncı\";\n                    }\n                    var a = number % 10,\n                        b = (number % 100) - a,\n                        c = number >= 100 ? 100 : null;\n                    return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return tr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Talossan [tzl]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n//! author : Iustì Canun\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n    // This is currently too difficult (maybe even impossible) to add.\n    var tzl = moment.defineLocale('tzl', {\n        months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n        weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n        weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n        weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM [dallas] YYYY',\n            LLL: 'D. MMMM [dallas] YYYY HH.mm',\n            LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm',\n        },\n        meridiemParse: /d\\'o|d\\'a/i,\n        isPM: function (input) {\n            return \"d'o\" === input.toLowerCase();\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours > 11) {\n                return isLower ? \"d'o\" : \"D'O\";\n            } else {\n                return isLower ? \"d'a\" : \"D'A\";\n            }\n        },\n        calendar: {\n            sameDay: '[oxhi à] LT',\n            nextDay: '[demà à] LT',\n            nextWeek: 'dddd [à] LT',\n            lastDay: '[ieiri à] LT',\n            lastWeek: '[sür el] dddd [lasteu à] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'osprei %s',\n            past: 'ja%s',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            s: ['viensas secunds', \"'iensas secunds\"],\n            ss: [number + ' secunds', '' + number + ' secunds'],\n            m: [\"'n míut\", \"'iens míut\"],\n            mm: [number + ' míuts', '' + number + ' míuts'],\n            h: [\"'n þora\", \"'iensa þora\"],\n            hh: [number + ' þoras', '' + number + ' þoras'],\n            d: [\"'n ziua\", \"'iensa ziua\"],\n            dd: [number + ' ziuas', '' + number + ' ziuas'],\n            M: [\"'n mes\", \"'iens mes\"],\n            MM: [number + ' mesen', '' + number + ' mesen'],\n            y: [\"'n ar\", \"'iens ar\"],\n            yy: [number + ' ars', '' + number + ' ars'],\n        };\n        return isFuture\n            ? format[key][0]\n            : withoutSuffix\n              ? format[key][0]\n              : format[key][1];\n    }\n\n    return tzl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight Latin [tzm-latn]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var tzmLatn = moment.defineLocale('tzm-latn', {\n        months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n            '_'\n        ),\n        monthsShort:\n            'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n                '_'\n            ),\n        weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n        weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n        weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[asdkh g] LT',\n            nextDay: '[aska g] LT',\n            nextWeek: 'dddd [g] LT',\n            lastDay: '[assant g] LT',\n            lastWeek: 'dddd [g] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dadkh s yan %s',\n            past: 'yan %s',\n            s: 'imik',\n            ss: '%d imik',\n            m: 'minuḍ',\n            mm: '%d minuḍ',\n            h: 'saɛa',\n            hh: '%d tassaɛin',\n            d: 'ass',\n            dd: '%d ossan',\n            M: 'ayowr',\n            MM: '%d iyyirn',\n            y: 'asgas',\n            yy: '%d isgasn',\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return tzmLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight [tzm]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var tzm = moment.defineLocale('tzm', {\n        months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n            '_'\n        ),\n        monthsShort:\n            'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n                '_'\n            ),\n        weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n        weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n        weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n            nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n            nextWeek: 'dddd [ⴴ] LT',\n            lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n            lastWeek: 'dddd [ⴴ] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n            past: 'ⵢⴰⵏ %s',\n            s: 'ⵉⵎⵉⴽ',\n            ss: '%d ⵉⵎⵉⴽ',\n            m: 'ⵎⵉⵏⵓⴺ',\n            mm: '%d ⵎⵉⵏⵓⴺ',\n            h: 'ⵙⴰⵄⴰ',\n            hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n            d: 'ⴰⵙⵙ',\n            dd: '%d oⵙⵙⴰⵏ',\n            M: 'ⴰⵢoⵓⵔ',\n            MM: '%d ⵉⵢⵢⵉⵔⵏ',\n            y: 'ⴰⵙⴳⴰⵙ',\n            yy: '%d ⵉⵙⴳⴰⵙⵏ',\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return tzm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uyghur (China) [ug-cn]\n//! author: boyaq : https://github.com/boyaq\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ugCn = moment.defineLocale('ug-cn', {\n        months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n            '_'\n        ),\n        monthsShort:\n            'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n                '_'\n            ),\n        weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n            '_'\n        ),\n        weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n        weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n            LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n            LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n        },\n        meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (\n                meridiem === 'يېرىم كېچە' ||\n                meridiem === 'سەھەر' ||\n                meridiem === 'چۈشتىن بۇرۇن'\n            ) {\n                return hour;\n            } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n                return hour + 12;\n            } else {\n                return hour >= 11 ? hour : hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return 'يېرىم كېچە';\n            } else if (hm < 900) {\n                return 'سەھەر';\n            } else if (hm < 1130) {\n                return 'چۈشتىن بۇرۇن';\n            } else if (hm < 1230) {\n                return 'چۈش';\n            } else if (hm < 1800) {\n                return 'چۈشتىن كېيىن';\n            } else {\n                return 'كەچ';\n            }\n        },\n        calendar: {\n            sameDay: '[بۈگۈن سائەت] LT',\n            nextDay: '[ئەتە سائەت] LT',\n            nextWeek: '[كېلەركى] dddd [سائەت] LT',\n            lastDay: '[تۆنۈگۈن] LT',\n            lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s كېيىن',\n            past: '%s بۇرۇن',\n            s: 'نەچچە سېكونت',\n            ss: '%d سېكونت',\n            m: 'بىر مىنۇت',\n            mm: '%d مىنۇت',\n            h: 'بىر سائەت',\n            hh: '%d سائەت',\n            d: 'بىر كۈن',\n            dd: '%d كۈن',\n            M: 'بىر ئاي',\n            MM: '%d ئاي',\n            y: 'بىر يىل',\n            yy: '%d يىل',\n        },\n\n        dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '-كۈنى';\n                case 'w':\n                case 'W':\n                    return number + '-ھەپتە';\n                default:\n                    return number;\n            }\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 1st is the first week of the year.\n        },\n    });\n\n    return ugCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Ukrainian [uk]\n//! author : zemlanin : https://github.com/zemlanin\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function plural(word, num) {\n        var forms = word.split('_');\n        return num % 10 === 1 && num % 100 !== 11\n            ? forms[0]\n            : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n              ? forms[1]\n              : forms[2];\n    }\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        var format = {\n            ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n            mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n            hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n            dd: 'день_дні_днів',\n            MM: 'місяць_місяці_місяців',\n            yy: 'рік_роки_років',\n        };\n        if (key === 'm') {\n            return withoutSuffix ? 'хвилина' : 'хвилину';\n        } else if (key === 'h') {\n            return withoutSuffix ? 'година' : 'годину';\n        } else {\n            return number + ' ' + plural(format[key], +number);\n        }\n    }\n    function weekdaysCaseReplace(m, format) {\n        var weekdays = {\n                nominative:\n                    'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split(\n                        '_'\n                    ),\n                accusative:\n                    'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split(\n                        '_'\n                    ),\n                genitive:\n                    'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split(\n                        '_'\n                    ),\n            },\n            nounCase;\n\n        if (m === true) {\n            return weekdays['nominative']\n                .slice(1, 7)\n                .concat(weekdays['nominative'].slice(0, 1));\n        }\n        if (!m) {\n            return weekdays['nominative'];\n        }\n\n        nounCase = /(\\[[ВвУу]\\]) ?dddd/.test(format)\n            ? 'accusative'\n            : /\\[?(?:минулої|наступної)? ?\\] ?dddd/.test(format)\n              ? 'genitive'\n              : 'nominative';\n        return weekdays[nounCase][m.day()];\n    }\n    function processHoursFunction(str) {\n        return function () {\n            return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n        };\n    }\n\n    var uk = moment.defineLocale('uk', {\n        months: {\n            format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split(\n                '_'\n            ),\n            standalone:\n                'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split(\n                    '_'\n                ),\n        },\n        monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split(\n            '_'\n        ),\n        weekdays: weekdaysCaseReplace,\n        weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n        weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY р.',\n            LLL: 'D MMMM YYYY р., HH:mm',\n            LLLL: 'dddd, D MMMM YYYY р., HH:mm',\n        },\n        calendar: {\n            sameDay: processHoursFunction('[Сьогодні '),\n            nextDay: processHoursFunction('[Завтра '),\n            lastDay: processHoursFunction('[Вчора '),\n            nextWeek: processHoursFunction('[У] dddd ['),\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                    case 5:\n                    case 6:\n                        return processHoursFunction('[Минулої] dddd [').call(this);\n                    case 1:\n                    case 2:\n                    case 4:\n                        return processHoursFunction('[Минулого] dddd [').call(this);\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'за %s',\n            past: '%s тому',\n            s: 'декілька секунд',\n            ss: relativeTimeWithPlural,\n            m: relativeTimeWithPlural,\n            mm: relativeTimeWithPlural,\n            h: 'годину',\n            hh: relativeTimeWithPlural,\n            d: 'день',\n            dd: relativeTimeWithPlural,\n            M: 'місяць',\n            MM: relativeTimeWithPlural,\n            y: 'рік',\n            yy: relativeTimeWithPlural,\n        },\n        // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n        meridiemParse: /ночі|ранку|дня|вечора/,\n        isPM: function (input) {\n            return /^(дня|вечора)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ночі';\n            } else if (hour < 12) {\n                return 'ранку';\n            } else if (hour < 17) {\n                return 'дня';\n            } else {\n                return 'вечора';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'M':\n                case 'd':\n                case 'DDD':\n                case 'w':\n                case 'W':\n                    return number + '-й';\n                case 'D':\n                    return number + '-го';\n                default:\n                    return number;\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return uk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Urdu [ur]\n//! author : Sawood Alam : https://github.com/ibnesayeed\n//! author : Zack : https://github.com/ZackVision\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'جنوری',\n            'فروری',\n            'مارچ',\n            'اپریل',\n            'مئی',\n            'جون',\n            'جولائی',\n            'اگست',\n            'ستمبر',\n            'اکتوبر',\n            'نومبر',\n            'دسمبر',\n        ],\n        days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'];\n\n    var ur = moment.defineLocale('ur', {\n        months: months,\n        monthsShort: months,\n        weekdays: days,\n        weekdaysShort: days,\n        weekdaysMin: days,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd، D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /صبح|شام/,\n        isPM: function (input) {\n            return 'شام' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'صبح';\n            }\n            return 'شام';\n        },\n        calendar: {\n            sameDay: '[آج بوقت] LT',\n            nextDay: '[کل بوقت] LT',\n            nextWeek: 'dddd [بوقت] LT',\n            lastDay: '[گذشتہ روز بوقت] LT',\n            lastWeek: '[گذشتہ] dddd [بوقت] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s بعد',\n            past: '%s قبل',\n            s: 'چند سیکنڈ',\n            ss: '%d سیکنڈ',\n            m: 'ایک منٹ',\n            mm: '%d منٹ',\n            h: 'ایک گھنٹہ',\n            hh: '%d گھنٹے',\n            d: 'ایک دن',\n            dd: '%d دن',\n            M: 'ایک ماہ',\n            MM: '%d ماہ',\n            y: 'ایک سال',\n            yy: '%d سال',\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ur;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek Latin [uz-latn]\n//! author : Rasulbek Mirzayev : github.com/Rasulbeeek\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var uzLatn = moment.defineLocale('uz-latn', {\n        months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split(\n            '_'\n        ),\n        monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n        weekdays:\n            'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split(\n                '_'\n            ),\n        weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n        weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'D MMMM YYYY, dddd HH:mm',\n        },\n        calendar: {\n            sameDay: '[Bugun soat] LT [da]',\n            nextDay: '[Ertaga] LT [da]',\n            nextWeek: 'dddd [kuni soat] LT [da]',\n            lastDay: '[Kecha soat] LT [da]',\n            lastWeek: \"[O'tgan] dddd [kuni soat] LT [da]\",\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'Yaqin %s ichida',\n            past: 'Bir necha %s oldin',\n            s: 'soniya',\n            ss: '%d soniya',\n            m: 'bir daqiqa',\n            mm: '%d daqiqa',\n            h: 'bir soat',\n            hh: '%d soat',\n            d: 'bir kun',\n            dd: '%d kun',\n            M: 'bir oy',\n            MM: '%d oy',\n            y: 'bir yil',\n            yy: '%d yil',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return uzLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek [uz]\n//! author : Sardor Muminov : https://github.com/muminoff\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var uz = moment.defineLocale('uz', {\n        months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n            '_'\n        ),\n        monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n        weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n        weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n        weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'D MMMM YYYY, dddd HH:mm',\n        },\n        calendar: {\n            sameDay: '[Бугун соат] LT [да]',\n            nextDay: '[Эртага] LT [да]',\n            nextWeek: 'dddd [куни соат] LT [да]',\n            lastDay: '[Кеча соат] LT [да]',\n            lastWeek: '[Утган] dddd [куни соат] LT [да]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'Якин %s ичида',\n            past: 'Бир неча %s олдин',\n            s: 'фурсат',\n            ss: '%d фурсат',\n            m: 'бир дакика',\n            mm: '%d дакика',\n            h: 'бир соат',\n            hh: '%d соат',\n            d: 'бир кун',\n            dd: '%d кун',\n            M: 'бир ой',\n            MM: '%d ой',\n            y: 'бир йил',\n            yy: '%d йил',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return uz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Vietnamese [vi]\n//! author : Bang Nguyen : https://github.com/bangnk\n//! author : Chien Kira : https://github.com/chienkira\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var vi = moment.defineLocale('vi', {\n        months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split(\n            '_'\n        ),\n        monthsShort:\n            'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split(\n            '_'\n        ),\n        weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n        weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n        weekdaysParseExact: true,\n        meridiemParse: /sa|ch/i,\n        isPM: function (input) {\n            return /^ch$/i.test(input);\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower ? 'sa' : 'SA';\n            } else {\n                return isLower ? 'ch' : 'CH';\n            }\n        },\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM [năm] YYYY',\n            LLL: 'D MMMM [năm] YYYY HH:mm',\n            LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',\n            l: 'DD/M/YYYY',\n            ll: 'D MMM YYYY',\n            lll: 'D MMM YYYY HH:mm',\n            llll: 'ddd, D MMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Hôm nay lúc] LT',\n            nextDay: '[Ngày mai lúc] LT',\n            nextWeek: 'dddd [tuần tới lúc] LT',\n            lastDay: '[Hôm qua lúc] LT',\n            lastWeek: 'dddd [tuần trước lúc] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s tới',\n            past: '%s trước',\n            s: 'vài giây',\n            ss: '%d giây',\n            m: 'một phút',\n            mm: '%d phút',\n            h: 'một giờ',\n            hh: '%d giờ',\n            d: 'một ngày',\n            dd: '%d ngày',\n            w: 'một tuần',\n            ww: '%d tuần',\n            M: 'một tháng',\n            MM: '%d tháng',\n            y: 'một năm',\n            yy: '%d năm',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}/,\n        ordinal: function (number) {\n            return number;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return vi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Pseudo [x-pseudo]\n//! author : Andrew Hood : https://github.com/andrewhood125\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var xPseudo = moment.defineLocale('x-pseudo', {\n        months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split(\n            '_'\n        ),\n        monthsShort:\n            'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split(\n                '_'\n            ),\n        monthsParseExact: true,\n        weekdays:\n            'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split(\n                '_'\n            ),\n        weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n        weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[T~ódá~ý át] LT',\n            nextDay: '[T~ómó~rró~w át] LT',\n            nextWeek: 'dddd [át] LT',\n            lastDay: '[Ý~ést~érdá~ý át] LT',\n            lastWeek: '[L~ást] dddd [át] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'í~ñ %s',\n            past: '%s á~gó',\n            s: 'á ~féw ~sécó~ñds',\n            ss: '%d s~écóñ~ds',\n            m: 'á ~míñ~úté',\n            mm: '%d m~íñú~tés',\n            h: 'á~ñ hó~úr',\n            hh: '%d h~óúrs',\n            d: 'á ~dáý',\n            dd: '%d d~áýs',\n            M: 'á ~móñ~th',\n            MM: '%d m~óñt~hs',\n            y: 'á ~ýéár',\n            yy: '%d ý~éárs',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return xPseudo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Yoruba Nigeria [yo]\n//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var yo = moment.defineLocale('yo', {\n        months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split(\n            '_'\n        ),\n        monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n        weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n        weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n        weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Ònì ni] LT',\n            nextDay: '[Ọ̀la ni] LT',\n            nextWeek: \"dddd [Ọsẹ̀ tón'bọ] [ni] LT\",\n            lastDay: '[Àna ni] LT',\n            lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ní %s',\n            past: '%s kọjá',\n            s: 'ìsẹjú aayá die',\n            ss: 'aayá %d',\n            m: 'ìsẹjú kan',\n            mm: 'ìsẹjú %d',\n            h: 'wákati kan',\n            hh: 'wákati %d',\n            d: 'ọjọ́ kan',\n            dd: 'ọjọ́ %d',\n            M: 'osù kan',\n            MM: 'osù %d',\n            y: 'ọdún kan',\n            yy: 'ọdún %d',\n        },\n        dayOfMonthOrdinalParse: /ọjọ́\\s\\d{1,2}/,\n        ordinal: 'ọjọ́ %d',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return yo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (China) [zh-cn]\n//! author : suupic : https://github.com/suupic\n//! author : Zeno Zeng : https://github.com/zenozeng\n//! author : uu109 : https://github.com/uu109\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var zhCn = moment.defineLocale('zh-cn', {\n        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n            '_'\n        ),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n        weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日Ah点mm分',\n            LLLL: 'YYYY年M月D日ddddAh点mm分',\n            l: 'YYYY/M/D',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日dddd HH:mm',\n        },\n        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n                return hour;\n            } else if (meridiem === '下午' || meridiem === '晚上') {\n                return hour + 12;\n            } else {\n                // '中午'\n                return hour >= 11 ? hour : hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return '凌晨';\n            } else if (hm < 900) {\n                return '早上';\n            } else if (hm < 1130) {\n                return '上午';\n            } else if (hm < 1230) {\n                return '中午';\n            } else if (hm < 1800) {\n                return '下午';\n            } else {\n                return '晚上';\n            }\n        },\n        calendar: {\n            sameDay: '[今天]LT',\n            nextDay: '[明天]LT',\n            nextWeek: function (now) {\n                if (now.week() !== this.week()) {\n                    return '[下]dddLT';\n                } else {\n                    return '[本]dddLT';\n                }\n            },\n            lastDay: '[昨天]LT',\n            lastWeek: function (now) {\n                if (this.week() !== now.week()) {\n                    return '[上]dddLT';\n                } else {\n                    return '[本]dddLT';\n                }\n            },\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                case 'M':\n                    return number + '月';\n                case 'w':\n                case 'W':\n                    return number + '周';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s后',\n            past: '%s前',\n            s: '几秒',\n            ss: '%d 秒',\n            m: '1 分钟',\n            mm: '%d 分钟',\n            h: '1 小时',\n            hh: '%d 小时',\n            d: '1 天',\n            dd: '%d 天',\n            w: '1 周',\n            ww: '%d 周',\n            M: '1 个月',\n            MM: '%d 个月',\n            y: '1 年',\n            yy: '%d 年',\n        },\n        week: {\n            // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return zhCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Hong Kong) [zh-hk]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Konstantin : https://github.com/skfd\n//! author : Anthony : https://github.com/anthonylau\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var zhHk = moment.defineLocale('zh-hk', {\n        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n            '_'\n        ),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n        weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日 HH:mm',\n            LLLL: 'YYYY年M月D日dddd HH:mm',\n            l: 'YYYY/M/D',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日dddd HH:mm',\n        },\n        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n                return hour;\n            } else if (meridiem === '中午') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === '下午' || meridiem === '晚上') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return '凌晨';\n            } else if (hm < 900) {\n                return '早上';\n            } else if (hm < 1200) {\n                return '上午';\n            } else if (hm === 1200) {\n                return '中午';\n            } else if (hm < 1800) {\n                return '下午';\n            } else {\n                return '晚上';\n            }\n        },\n        calendar: {\n            sameDay: '[今天]LT',\n            nextDay: '[明天]LT',\n            nextWeek: '[下]ddddLT',\n            lastDay: '[昨天]LT',\n            lastWeek: '[上]ddddLT',\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                case 'M':\n                    return number + '月';\n                case 'w':\n                case 'W':\n                    return number + '週';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s後',\n            past: '%s前',\n            s: '幾秒',\n            ss: '%d 秒',\n            m: '1 分鐘',\n            mm: '%d 分鐘',\n            h: '1 小時',\n            hh: '%d 小時',\n            d: '1 天',\n            dd: '%d 天',\n            M: '1 個月',\n            MM: '%d 個月',\n            y: '1 年',\n            yy: '%d 年',\n        },\n    });\n\n    return zhHk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Macau) [zh-mo]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Tan Yuanhong : https://github.com/le0tan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var zhMo = moment.defineLocale('zh-mo', {\n        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n            '_'\n        ),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n        weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日 HH:mm',\n            LLLL: 'YYYY年M月D日dddd HH:mm',\n            l: 'D/M/YYYY',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日dddd HH:mm',\n        },\n        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n                return hour;\n            } else if (meridiem === '中午') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === '下午' || meridiem === '晚上') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return '凌晨';\n            } else if (hm < 900) {\n                return '早上';\n            } else if (hm < 1130) {\n                return '上午';\n            } else if (hm < 1230) {\n                return '中午';\n            } else if (hm < 1800) {\n                return '下午';\n            } else {\n                return '晚上';\n            }\n        },\n        calendar: {\n            sameDay: '[今天] LT',\n            nextDay: '[明天] LT',\n            nextWeek: '[下]dddd LT',\n            lastDay: '[昨天] LT',\n            lastWeek: '[上]dddd LT',\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                case 'M':\n                    return number + '月';\n                case 'w':\n                case 'W':\n                    return number + '週';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s內',\n            past: '%s前',\n            s: '幾秒',\n            ss: '%d 秒',\n            m: '1 分鐘',\n            mm: '%d 分鐘',\n            h: '1 小時',\n            hh: '%d 小時',\n            d: '1 天',\n            dd: '%d 天',\n            M: '1 個月',\n            MM: '%d 個月',\n            y: '1 年',\n            yy: '%d 年',\n        },\n    });\n\n    return zhMo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Taiwan) [zh-tw]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var zhTw = moment.defineLocale('zh-tw', {\n        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n            '_'\n        ),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n        weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日 HH:mm',\n            LLLL: 'YYYY年M月D日dddd HH:mm',\n            l: 'YYYY/M/D',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日dddd HH:mm',\n        },\n        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n                return hour;\n            } else if (meridiem === '中午') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === '下午' || meridiem === '晚上') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return '凌晨';\n            } else if (hm < 900) {\n                return '早上';\n            } else if (hm < 1130) {\n                return '上午';\n            } else if (hm < 1230) {\n                return '中午';\n            } else if (hm < 1800) {\n                return '下午';\n            } else {\n                return '晚上';\n            }\n        },\n        calendar: {\n            sameDay: '[今天] LT',\n            nextDay: '[明天] LT',\n            nextWeek: '[下]dddd LT',\n            lastDay: '[昨天] LT',\n            lastWeek: '[上]dddd LT',\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                case 'M':\n                    return number + '月';\n                case 'w':\n                case 'W':\n                    return number + '週';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s後',\n            past: '%s前',\n            s: '幾秒',\n            ss: '%d 秒',\n            m: '1 分鐘',\n            mm: '%d 分鐘',\n            h: '1 小時',\n            hh: '%d 小時',\n            d: '1 天',\n            dd: '%d 天',\n            M: '1 個月',\n            MM: '%d 個月',\n            y: '1 年',\n            yy: '%d 年',\n        },\n    });\n\n    return zhTw;\n\n})));\n","//! moment.js\n//! version : 2.30.1\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n    typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n    typeof define === 'function' && define.amd ? define(factory) :\n    global.moment = factory()\n}(this, (function () { 'use strict';\n\n    var hookCallback;\n\n    function hooks() {\n        return hookCallback.apply(null, arguments);\n    }\n\n    // This is done to register the method called with moment()\n    // without creating circular dependencies.\n    function setHookCallback(callback) {\n        hookCallback = callback;\n    }\n\n    function isArray(input) {\n        return (\n            input instanceof Array ||\n            Object.prototype.toString.call(input) === '[object Array]'\n        );\n    }\n\n    function isObject(input) {\n        // IE8 will treat undefined and null as object if it wasn't for\n        // input != null\n        return (\n            input != null &&\n            Object.prototype.toString.call(input) === '[object Object]'\n        );\n    }\n\n    function hasOwnProp(a, b) {\n        return Object.prototype.hasOwnProperty.call(a, b);\n    }\n\n    function isObjectEmpty(obj) {\n        if (Object.getOwnPropertyNames) {\n            return Object.getOwnPropertyNames(obj).length === 0;\n        } else {\n            var k;\n            for (k in obj) {\n                if (hasOwnProp(obj, k)) {\n                    return false;\n                }\n            }\n            return true;\n        }\n    }\n\n    function isUndefined(input) {\n        return input === void 0;\n    }\n\n    function isNumber(input) {\n        return (\n            typeof input === 'number' ||\n            Object.prototype.toString.call(input) === '[object Number]'\n        );\n    }\n\n    function isDate(input) {\n        return (\n            input instanceof Date ||\n            Object.prototype.toString.call(input) === '[object Date]'\n        );\n    }\n\n    function map(arr, fn) {\n        var res = [],\n            i,\n            arrLen = arr.length;\n        for (i = 0; i < arrLen; ++i) {\n            res.push(fn(arr[i], i));\n        }\n        return res;\n    }\n\n    function extend(a, b) {\n        for (var i in b) {\n            if (hasOwnProp(b, i)) {\n                a[i] = b[i];\n            }\n        }\n\n        if (hasOwnProp(b, 'toString')) {\n            a.toString = b.toString;\n        }\n\n        if (hasOwnProp(b, 'valueOf')) {\n            a.valueOf = b.valueOf;\n        }\n\n        return a;\n    }\n\n    function createUTC(input, format, locale, strict) {\n        return createLocalOrUTC(input, format, locale, strict, true).utc();\n    }\n\n    function defaultParsingFlags() {\n        // We need to deep clone this object.\n        return {\n            empty: false,\n            unusedTokens: [],\n            unusedInput: [],\n            overflow: -2,\n            charsLeftOver: 0,\n            nullInput: false,\n            invalidEra: null,\n            invalidMonth: null,\n            invalidFormat: false,\n            userInvalidated: false,\n            iso: false,\n            parsedDateParts: [],\n            era: null,\n            meridiem: null,\n            rfc2822: false,\n            weekdayMismatch: false,\n        };\n    }\n\n    function getParsingFlags(m) {\n        if (m._pf == null) {\n            m._pf = defaultParsingFlags();\n        }\n        return m._pf;\n    }\n\n    var some;\n    if (Array.prototype.some) {\n        some = Array.prototype.some;\n    } else {\n        some = function (fun) {\n            var t = Object(this),\n                len = t.length >>> 0,\n                i;\n\n            for (i = 0; i < len; i++) {\n                if (i in t && fun.call(this, t[i], i, t)) {\n                    return true;\n                }\n            }\n\n            return false;\n        };\n    }\n\n    function isValid(m) {\n        var flags = null,\n            parsedParts = false,\n            isNowValid = m._d && !isNaN(m._d.getTime());\n        if (isNowValid) {\n            flags = getParsingFlags(m);\n            parsedParts = some.call(flags.parsedDateParts, function (i) {\n                return i != null;\n            });\n            isNowValid =\n                flags.overflow < 0 &&\n                !flags.empty &&\n                !flags.invalidEra &&\n                !flags.invalidMonth &&\n                !flags.invalidWeekday &&\n                !flags.weekdayMismatch &&\n                !flags.nullInput &&\n                !flags.invalidFormat &&\n                !flags.userInvalidated &&\n                (!flags.meridiem || (flags.meridiem && parsedParts));\n            if (m._strict) {\n                isNowValid =\n                    isNowValid &&\n                    flags.charsLeftOver === 0 &&\n                    flags.unusedTokens.length === 0 &&\n                    flags.bigHour === undefined;\n            }\n        }\n        if (Object.isFrozen == null || !Object.isFrozen(m)) {\n            m._isValid = isNowValid;\n        } else {\n            return isNowValid;\n        }\n        return m._isValid;\n    }\n\n    function createInvalid(flags) {\n        var m = createUTC(NaN);\n        if (flags != null) {\n            extend(getParsingFlags(m), flags);\n        } else {\n            getParsingFlags(m).userInvalidated = true;\n        }\n\n        return m;\n    }\n\n    // Plugins that add properties should also add the key here (null value),\n    // so we can properly clone ourselves.\n    var momentProperties = (hooks.momentProperties = []),\n        updateInProgress = false;\n\n    function copyConfig(to, from) {\n        var i,\n            prop,\n            val,\n            momentPropertiesLen = momentProperties.length;\n\n        if (!isUndefined(from._isAMomentObject)) {\n            to._isAMomentObject = from._isAMomentObject;\n        }\n        if (!isUndefined(from._i)) {\n            to._i = from._i;\n        }\n        if (!isUndefined(from._f)) {\n            to._f = from._f;\n        }\n        if (!isUndefined(from._l)) {\n            to._l = from._l;\n        }\n        if (!isUndefined(from._strict)) {\n            to._strict = from._strict;\n        }\n        if (!isUndefined(from._tzm)) {\n            to._tzm = from._tzm;\n        }\n        if (!isUndefined(from._isUTC)) {\n            to._isUTC = from._isUTC;\n        }\n        if (!isUndefined(from._offset)) {\n            to._offset = from._offset;\n        }\n        if (!isUndefined(from._pf)) {\n            to._pf = getParsingFlags(from);\n        }\n        if (!isUndefined(from._locale)) {\n            to._locale = from._locale;\n        }\n\n        if (momentPropertiesLen > 0) {\n            for (i = 0; i < momentPropertiesLen; i++) {\n                prop = momentProperties[i];\n                val = from[prop];\n                if (!isUndefined(val)) {\n                    to[prop] = val;\n                }\n            }\n        }\n\n        return to;\n    }\n\n    // Moment prototype object\n    function Moment(config) {\n        copyConfig(this, config);\n        this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n        if (!this.isValid()) {\n            this._d = new Date(NaN);\n        }\n        // Prevent infinite loop in case updateOffset creates new moment\n        // objects.\n        if (updateInProgress === false) {\n            updateInProgress = true;\n            hooks.updateOffset(this);\n            updateInProgress = false;\n        }\n    }\n\n    function isMoment(obj) {\n        return (\n            obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n        );\n    }\n\n    function warn(msg) {\n        if (\n            hooks.suppressDeprecationWarnings === false &&\n            typeof console !== 'undefined' &&\n            console.warn\n        ) {\n            console.warn('Deprecation warning: ' + msg);\n        }\n    }\n\n    function deprecate(msg, fn) {\n        var firstTime = true;\n\n        return extend(function () {\n            if (hooks.deprecationHandler != null) {\n                hooks.deprecationHandler(null, msg);\n            }\n            if (firstTime) {\n                var args = [],\n                    arg,\n                    i,\n                    key,\n                    argLen = arguments.length;\n                for (i = 0; i < argLen; i++) {\n                    arg = '';\n                    if (typeof arguments[i] === 'object') {\n                        arg += '\\n[' + i + '] ';\n                        for (key in arguments[0]) {\n                            if (hasOwnProp(arguments[0], key)) {\n                                arg += key + ': ' + arguments[0][key] + ', ';\n                            }\n                        }\n                        arg = arg.slice(0, -2); // Remove trailing comma and space\n                    } else {\n                        arg = arguments[i];\n                    }\n                    args.push(arg);\n                }\n                warn(\n                    msg +\n                        '\\nArguments: ' +\n                        Array.prototype.slice.call(args).join('') +\n                        '\\n' +\n                        new Error().stack\n                );\n                firstTime = false;\n            }\n            return fn.apply(this, arguments);\n        }, fn);\n    }\n\n    var deprecations = {};\n\n    function deprecateSimple(name, msg) {\n        if (hooks.deprecationHandler != null) {\n            hooks.deprecationHandler(name, msg);\n        }\n        if (!deprecations[name]) {\n            warn(msg);\n            deprecations[name] = true;\n        }\n    }\n\n    hooks.suppressDeprecationWarnings = false;\n    hooks.deprecationHandler = null;\n\n    function isFunction(input) {\n        return (\n            (typeof Function !== 'undefined' && input instanceof Function) ||\n            Object.prototype.toString.call(input) === '[object Function]'\n        );\n    }\n\n    function set(config) {\n        var prop, i;\n        for (i in config) {\n            if (hasOwnProp(config, i)) {\n                prop = config[i];\n                if (isFunction(prop)) {\n                    this[i] = prop;\n                } else {\n                    this['_' + i] = prop;\n                }\n            }\n        }\n        this._config = config;\n        // Lenient ordinal parsing accepts just a number in addition to\n        // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n        // TODO: Remove \"ordinalParse\" fallback in next major release.\n        this._dayOfMonthOrdinalParseLenient = new RegExp(\n            (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n                '|' +\n                /\\d{1,2}/.source\n        );\n    }\n\n    function mergeConfigs(parentConfig, childConfig) {\n        var res = extend({}, parentConfig),\n            prop;\n        for (prop in childConfig) {\n            if (hasOwnProp(childConfig, prop)) {\n                if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n                    res[prop] = {};\n                    extend(res[prop], parentConfig[prop]);\n                    extend(res[prop], childConfig[prop]);\n                } else if (childConfig[prop] != null) {\n                    res[prop] = childConfig[prop];\n                } else {\n                    delete res[prop];\n                }\n            }\n        }\n        for (prop in parentConfig) {\n            if (\n                hasOwnProp(parentConfig, prop) &&\n                !hasOwnProp(childConfig, prop) &&\n                isObject(parentConfig[prop])\n            ) {\n                // make sure changes to properties don't modify parent config\n                res[prop] = extend({}, res[prop]);\n            }\n        }\n        return res;\n    }\n\n    function Locale(config) {\n        if (config != null) {\n            this.set(config);\n        }\n    }\n\n    var keys;\n\n    if (Object.keys) {\n        keys = Object.keys;\n    } else {\n        keys = function (obj) {\n            var i,\n                res = [];\n            for (i in obj) {\n                if (hasOwnProp(obj, i)) {\n                    res.push(i);\n                }\n            }\n            return res;\n        };\n    }\n\n    var defaultCalendar = {\n        sameDay: '[Today at] LT',\n        nextDay: '[Tomorrow at] LT',\n        nextWeek: 'dddd [at] LT',\n        lastDay: '[Yesterday at] LT',\n        lastWeek: '[Last] dddd [at] LT',\n        sameElse: 'L',\n    };\n\n    function calendar(key, mom, now) {\n        var output = this._calendar[key] || this._calendar['sameElse'];\n        return isFunction(output) ? output.call(mom, now) : output;\n    }\n\n    function zeroFill(number, targetLength, forceSign) {\n        var absNumber = '' + Math.abs(number),\n            zerosToFill = targetLength - absNumber.length,\n            sign = number >= 0;\n        return (\n            (sign ? (forceSign ? '+' : '') : '-') +\n            Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n            absNumber\n        );\n    }\n\n    var formattingTokens =\n            /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n        localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n        formatFunctions = {},\n        formatTokenFunctions = {};\n\n    // token:    'M'\n    // padded:   ['MM', 2]\n    // ordinal:  'Mo'\n    // callback: function () { this.month() + 1 }\n    function addFormatToken(token, padded, ordinal, callback) {\n        var func = callback;\n        if (typeof callback === 'string') {\n            func = function () {\n                return this[callback]();\n            };\n        }\n        if (token) {\n            formatTokenFunctions[token] = func;\n        }\n        if (padded) {\n            formatTokenFunctions[padded[0]] = function () {\n                return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n            };\n        }\n        if (ordinal) {\n            formatTokenFunctions[ordinal] = function () {\n                return this.localeData().ordinal(\n                    func.apply(this, arguments),\n                    token\n                );\n            };\n        }\n    }\n\n    function removeFormattingTokens(input) {\n        if (input.match(/\\[[\\s\\S]/)) {\n            return input.replace(/^\\[|\\]$/g, '');\n        }\n        return input.replace(/\\\\/g, '');\n    }\n\n    function makeFormatFunction(format) {\n        var array = format.match(formattingTokens),\n            i,\n            length;\n\n        for (i = 0, length = array.length; i < length; i++) {\n            if (formatTokenFunctions[array[i]]) {\n                array[i] = formatTokenFunctions[array[i]];\n            } else {\n                array[i] = removeFormattingTokens(array[i]);\n            }\n        }\n\n        return function (mom) {\n            var output = '',\n                i;\n            for (i = 0; i < length; i++) {\n                output += isFunction(array[i])\n                    ? array[i].call(mom, format)\n                    : array[i];\n            }\n            return output;\n        };\n    }\n\n    // format date using native date object\n    function formatMoment(m, format) {\n        if (!m.isValid()) {\n            return m.localeData().invalidDate();\n        }\n\n        format = expandFormat(format, m.localeData());\n        formatFunctions[format] =\n            formatFunctions[format] || makeFormatFunction(format);\n\n        return formatFunctions[format](m);\n    }\n\n    function expandFormat(format, locale) {\n        var i = 5;\n\n        function replaceLongDateFormatTokens(input) {\n            return locale.longDateFormat(input) || input;\n        }\n\n        localFormattingTokens.lastIndex = 0;\n        while (i >= 0 && localFormattingTokens.test(format)) {\n            format = format.replace(\n                localFormattingTokens,\n                replaceLongDateFormatTokens\n            );\n            localFormattingTokens.lastIndex = 0;\n            i -= 1;\n        }\n\n        return format;\n    }\n\n    var defaultLongDateFormat = {\n        LTS: 'h:mm:ss A',\n        LT: 'h:mm A',\n        L: 'MM/DD/YYYY',\n        LL: 'MMMM D, YYYY',\n        LLL: 'MMMM D, YYYY h:mm A',\n        LLLL: 'dddd, MMMM D, YYYY h:mm A',\n    };\n\n    function longDateFormat(key) {\n        var format = this._longDateFormat[key],\n            formatUpper = this._longDateFormat[key.toUpperCase()];\n\n        if (format || !formatUpper) {\n            return format;\n        }\n\n        this._longDateFormat[key] = formatUpper\n            .match(formattingTokens)\n            .map(function (tok) {\n                if (\n                    tok === 'MMMM' ||\n                    tok === 'MM' ||\n                    tok === 'DD' ||\n                    tok === 'dddd'\n                ) {\n                    return tok.slice(1);\n                }\n                return tok;\n            })\n            .join('');\n\n        return this._longDateFormat[key];\n    }\n\n    var defaultInvalidDate = 'Invalid date';\n\n    function invalidDate() {\n        return this._invalidDate;\n    }\n\n    var defaultOrdinal = '%d',\n        defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n    function ordinal(number) {\n        return this._ordinal.replace('%d', number);\n    }\n\n    var defaultRelativeTime = {\n        future: 'in %s',\n        past: '%s ago',\n        s: 'a few seconds',\n        ss: '%d seconds',\n        m: 'a minute',\n        mm: '%d minutes',\n        h: 'an hour',\n        hh: '%d hours',\n        d: 'a day',\n        dd: '%d days',\n        w: 'a week',\n        ww: '%d weeks',\n        M: 'a month',\n        MM: '%d months',\n        y: 'a year',\n        yy: '%d years',\n    };\n\n    function relativeTime(number, withoutSuffix, string, isFuture) {\n        var output = this._relativeTime[string];\n        return isFunction(output)\n            ? output(number, withoutSuffix, string, isFuture)\n            : output.replace(/%d/i, number);\n    }\n\n    function pastFuture(diff, output) {\n        var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n        return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n    }\n\n    var aliases = {\n        D: 'date',\n        dates: 'date',\n        date: 'date',\n        d: 'day',\n        days: 'day',\n        day: 'day',\n        e: 'weekday',\n        weekdays: 'weekday',\n        weekday: 'weekday',\n        E: 'isoWeekday',\n        isoweekdays: 'isoWeekday',\n        isoweekday: 'isoWeekday',\n        DDD: 'dayOfYear',\n        dayofyears: 'dayOfYear',\n        dayofyear: 'dayOfYear',\n        h: 'hour',\n        hours: 'hour',\n        hour: 'hour',\n        ms: 'millisecond',\n        milliseconds: 'millisecond',\n        millisecond: 'millisecond',\n        m: 'minute',\n        minutes: 'minute',\n        minute: 'minute',\n        M: 'month',\n        months: 'month',\n        month: 'month',\n        Q: 'quarter',\n        quarters: 'quarter',\n        quarter: 'quarter',\n        s: 'second',\n        seconds: 'second',\n        second: 'second',\n        gg: 'weekYear',\n        weekyears: 'weekYear',\n        weekyear: 'weekYear',\n        GG: 'isoWeekYear',\n        isoweekyears: 'isoWeekYear',\n        isoweekyear: 'isoWeekYear',\n        w: 'week',\n        weeks: 'week',\n        week: 'week',\n        W: 'isoWeek',\n        isoweeks: 'isoWeek',\n        isoweek: 'isoWeek',\n        y: 'year',\n        years: 'year',\n        year: 'year',\n    };\n\n    function normalizeUnits(units) {\n        return typeof units === 'string'\n            ? aliases[units] || aliases[units.toLowerCase()]\n            : undefined;\n    }\n\n    function normalizeObjectUnits(inputObject) {\n        var normalizedInput = {},\n            normalizedProp,\n            prop;\n\n        for (prop in inputObject) {\n            if (hasOwnProp(inputObject, prop)) {\n                normalizedProp = normalizeUnits(prop);\n                if (normalizedProp) {\n                    normalizedInput[normalizedProp] = inputObject[prop];\n                }\n            }\n        }\n\n        return normalizedInput;\n    }\n\n    var priorities = {\n        date: 9,\n        day: 11,\n        weekday: 11,\n        isoWeekday: 11,\n        dayOfYear: 4,\n        hour: 13,\n        millisecond: 16,\n        minute: 14,\n        month: 8,\n        quarter: 7,\n        second: 15,\n        weekYear: 1,\n        isoWeekYear: 1,\n        week: 5,\n        isoWeek: 5,\n        year: 1,\n    };\n\n    function getPrioritizedUnits(unitsObj) {\n        var units = [],\n            u;\n        for (u in unitsObj) {\n            if (hasOwnProp(unitsObj, u)) {\n                units.push({ unit: u, priority: priorities[u] });\n            }\n        }\n        units.sort(function (a, b) {\n            return a.priority - b.priority;\n        });\n        return units;\n    }\n\n    var match1 = /\\d/, //       0 - 9\n        match2 = /\\d\\d/, //      00 - 99\n        match3 = /\\d{3}/, //     000 - 999\n        match4 = /\\d{4}/, //    0000 - 9999\n        match6 = /[+-]?\\d{6}/, // -999999 - 999999\n        match1to2 = /\\d\\d?/, //       0 - 99\n        match3to4 = /\\d\\d\\d\\d?/, //     999 - 9999\n        match5to6 = /\\d\\d\\d\\d\\d\\d?/, //   99999 - 999999\n        match1to3 = /\\d{1,3}/, //       0 - 999\n        match1to4 = /\\d{1,4}/, //       0 - 9999\n        match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n        matchUnsigned = /\\d+/, //       0 - inf\n        matchSigned = /[+-]?\\d+/, //    -inf - inf\n        matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n        matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n        matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n        // any word (or two) characters or numbers including two/three word month in arabic.\n        // includes scottish gaelic two word and hyphenated months\n        matchWord =\n            /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n        match1to2NoLeadingZero = /^[1-9]\\d?/, //         1-99\n        match1to2HasZero = /^([1-9]\\d|\\d)/, //           0-99\n        regexes;\n\n    regexes = {};\n\n    function addRegexToken(token, regex, strictRegex) {\n        regexes[token] = isFunction(regex)\n            ? regex\n            : function (isStrict, localeData) {\n                  return isStrict && strictRegex ? strictRegex : regex;\n              };\n    }\n\n    function getParseRegexForToken(token, config) {\n        if (!hasOwnProp(regexes, token)) {\n            return new RegExp(unescapeFormat(token));\n        }\n\n        return regexes[token](config._strict, config._locale);\n    }\n\n    // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n    function unescapeFormat(s) {\n        return regexEscape(\n            s\n                .replace('\\\\', '')\n                .replace(\n                    /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n                    function (matched, p1, p2, p3, p4) {\n                        return p1 || p2 || p3 || p4;\n                    }\n                )\n        );\n    }\n\n    function regexEscape(s) {\n        return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n    }\n\n    function absFloor(number) {\n        if (number < 0) {\n            // -0 -> 0\n            return Math.ceil(number) || 0;\n        } else {\n            return Math.floor(number);\n        }\n    }\n\n    function toInt(argumentForCoercion) {\n        var coercedNumber = +argumentForCoercion,\n            value = 0;\n\n        if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n            value = absFloor(coercedNumber);\n        }\n\n        return value;\n    }\n\n    var tokens = {};\n\n    function addParseToken(token, callback) {\n        var i,\n            func = callback,\n            tokenLen;\n        if (typeof token === 'string') {\n            token = [token];\n        }\n        if (isNumber(callback)) {\n            func = function (input, array) {\n                array[callback] = toInt(input);\n            };\n        }\n        tokenLen = token.length;\n        for (i = 0; i < tokenLen; i++) {\n            tokens[token[i]] = func;\n        }\n    }\n\n    function addWeekParseToken(token, callback) {\n        addParseToken(token, function (input, array, config, token) {\n            config._w = config._w || {};\n            callback(input, config._w, config, token);\n        });\n    }\n\n    function addTimeToArrayFromToken(token, input, config) {\n        if (input != null && hasOwnProp(tokens, token)) {\n            tokens[token](input, config._a, config, token);\n        }\n    }\n\n    function isLeapYear(year) {\n        return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n    }\n\n    var YEAR = 0,\n        MONTH = 1,\n        DATE = 2,\n        HOUR = 3,\n        MINUTE = 4,\n        SECOND = 5,\n        MILLISECOND = 6,\n        WEEK = 7,\n        WEEKDAY = 8;\n\n    // FORMATTING\n\n    addFormatToken('Y', 0, 0, function () {\n        var y = this.year();\n        return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n    });\n\n    addFormatToken(0, ['YY', 2], 0, function () {\n        return this.year() % 100;\n    });\n\n    addFormatToken(0, ['YYYY', 4], 0, 'year');\n    addFormatToken(0, ['YYYYY', 5], 0, 'year');\n    addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n    // PARSING\n\n    addRegexToken('Y', matchSigned);\n    addRegexToken('YY', match1to2, match2);\n    addRegexToken('YYYY', match1to4, match4);\n    addRegexToken('YYYYY', match1to6, match6);\n    addRegexToken('YYYYYY', match1to6, match6);\n\n    addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n    addParseToken('YYYY', function (input, array) {\n        array[YEAR] =\n            input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n    });\n    addParseToken('YY', function (input, array) {\n        array[YEAR] = hooks.parseTwoDigitYear(input);\n    });\n    addParseToken('Y', function (input, array) {\n        array[YEAR] = parseInt(input, 10);\n    });\n\n    // HELPERS\n\n    function daysInYear(year) {\n        return isLeapYear(year) ? 366 : 365;\n    }\n\n    // HOOKS\n\n    hooks.parseTwoDigitYear = function (input) {\n        return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n    };\n\n    // MOMENTS\n\n    var getSetYear = makeGetSet('FullYear', true);\n\n    function getIsLeapYear() {\n        return isLeapYear(this.year());\n    }\n\n    function makeGetSet(unit, keepTime) {\n        return function (value) {\n            if (value != null) {\n                set$1(this, unit, value);\n                hooks.updateOffset(this, keepTime);\n                return this;\n            } else {\n                return get(this, unit);\n            }\n        };\n    }\n\n    function get(mom, unit) {\n        if (!mom.isValid()) {\n            return NaN;\n        }\n\n        var d = mom._d,\n            isUTC = mom._isUTC;\n\n        switch (unit) {\n            case 'Milliseconds':\n                return isUTC ? d.getUTCMilliseconds() : d.getMilliseconds();\n            case 'Seconds':\n                return isUTC ? d.getUTCSeconds() : d.getSeconds();\n            case 'Minutes':\n                return isUTC ? d.getUTCMinutes() : d.getMinutes();\n            case 'Hours':\n                return isUTC ? d.getUTCHours() : d.getHours();\n            case 'Date':\n                return isUTC ? d.getUTCDate() : d.getDate();\n            case 'Day':\n                return isUTC ? d.getUTCDay() : d.getDay();\n            case 'Month':\n                return isUTC ? d.getUTCMonth() : d.getMonth();\n            case 'FullYear':\n                return isUTC ? d.getUTCFullYear() : d.getFullYear();\n            default:\n                return NaN; // Just in case\n        }\n    }\n\n    function set$1(mom, unit, value) {\n        var d, isUTC, year, month, date;\n\n        if (!mom.isValid() || isNaN(value)) {\n            return;\n        }\n\n        d = mom._d;\n        isUTC = mom._isUTC;\n\n        switch (unit) {\n            case 'Milliseconds':\n                return void (isUTC\n                    ? d.setUTCMilliseconds(value)\n                    : d.setMilliseconds(value));\n            case 'Seconds':\n                return void (isUTC ? d.setUTCSeconds(value) : d.setSeconds(value));\n            case 'Minutes':\n                return void (isUTC ? d.setUTCMinutes(value) : d.setMinutes(value));\n            case 'Hours':\n                return void (isUTC ? d.setUTCHours(value) : d.setHours(value));\n            case 'Date':\n                return void (isUTC ? d.setUTCDate(value) : d.setDate(value));\n            // case 'Day': // Not real\n            //    return void (isUTC ? d.setUTCDay(value) : d.setDay(value));\n            // case 'Month': // Not used because we need to pass two variables\n            //     return void (isUTC ? d.setUTCMonth(value) : d.setMonth(value));\n            case 'FullYear':\n                break; // See below ...\n            default:\n                return; // Just in case\n        }\n\n        year = value;\n        month = mom.month();\n        date = mom.date();\n        date = date === 29 && month === 1 && !isLeapYear(year) ? 28 : date;\n        void (isUTC\n            ? d.setUTCFullYear(year, month, date)\n            : d.setFullYear(year, month, date));\n    }\n\n    // MOMENTS\n\n    function stringGet(units) {\n        units = normalizeUnits(units);\n        if (isFunction(this[units])) {\n            return this[units]();\n        }\n        return this;\n    }\n\n    function stringSet(units, value) {\n        if (typeof units === 'object') {\n            units = normalizeObjectUnits(units);\n            var prioritized = getPrioritizedUnits(units),\n                i,\n                prioritizedLen = prioritized.length;\n            for (i = 0; i < prioritizedLen; i++) {\n                this[prioritized[i].unit](units[prioritized[i].unit]);\n            }\n        } else {\n            units = normalizeUnits(units);\n            if (isFunction(this[units])) {\n                return this[units](value);\n            }\n        }\n        return this;\n    }\n\n    function mod(n, x) {\n        return ((n % x) + x) % x;\n    }\n\n    var indexOf;\n\n    if (Array.prototype.indexOf) {\n        indexOf = Array.prototype.indexOf;\n    } else {\n        indexOf = function (o) {\n            // I know\n            var i;\n            for (i = 0; i < this.length; ++i) {\n                if (this[i] === o) {\n                    return i;\n                }\n            }\n            return -1;\n        };\n    }\n\n    function daysInMonth(year, month) {\n        if (isNaN(year) || isNaN(month)) {\n            return NaN;\n        }\n        var modMonth = mod(month, 12);\n        year += (month - modMonth) / 12;\n        return modMonth === 1\n            ? isLeapYear(year)\n                ? 29\n                : 28\n            : 31 - ((modMonth % 7) % 2);\n    }\n\n    // FORMATTING\n\n    addFormatToken('M', ['MM', 2], 'Mo', function () {\n        return this.month() + 1;\n    });\n\n    addFormatToken('MMM', 0, 0, function (format) {\n        return this.localeData().monthsShort(this, format);\n    });\n\n    addFormatToken('MMMM', 0, 0, function (format) {\n        return this.localeData().months(this, format);\n    });\n\n    // PARSING\n\n    addRegexToken('M', match1to2, match1to2NoLeadingZero);\n    addRegexToken('MM', match1to2, match2);\n    addRegexToken('MMM', function (isStrict, locale) {\n        return locale.monthsShortRegex(isStrict);\n    });\n    addRegexToken('MMMM', function (isStrict, locale) {\n        return locale.monthsRegex(isStrict);\n    });\n\n    addParseToken(['M', 'MM'], function (input, array) {\n        array[MONTH] = toInt(input) - 1;\n    });\n\n    addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n        var month = config._locale.monthsParse(input, token, config._strict);\n        // if we didn't find a month name, mark the date as invalid.\n        if (month != null) {\n            array[MONTH] = month;\n        } else {\n            getParsingFlags(config).invalidMonth = input;\n        }\n    });\n\n    // LOCALES\n\n    var defaultLocaleMonths =\n            'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n                '_'\n            ),\n        defaultLocaleMonthsShort =\n            'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n        defaultMonthsShortRegex = matchWord,\n        defaultMonthsRegex = matchWord;\n\n    function localeMonths(m, format) {\n        if (!m) {\n            return isArray(this._months)\n                ? this._months\n                : this._months['standalone'];\n        }\n        return isArray(this._months)\n            ? this._months[m.month()]\n            : this._months[\n                  (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n                      ? 'format'\n                      : 'standalone'\n              ][m.month()];\n    }\n\n    function localeMonthsShort(m, format) {\n        if (!m) {\n            return isArray(this._monthsShort)\n                ? this._monthsShort\n                : this._monthsShort['standalone'];\n        }\n        return isArray(this._monthsShort)\n            ? this._monthsShort[m.month()]\n            : this._monthsShort[\n                  MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n              ][m.month()];\n    }\n\n    function handleStrictParse(monthName, format, strict) {\n        var i,\n            ii,\n            mom,\n            llc = monthName.toLocaleLowerCase();\n        if (!this._monthsParse) {\n            // this is not used\n            this._monthsParse = [];\n            this._longMonthsParse = [];\n            this._shortMonthsParse = [];\n            for (i = 0; i < 12; ++i) {\n                mom = createUTC([2000, i]);\n                this._shortMonthsParse[i] = this.monthsShort(\n                    mom,\n                    ''\n                ).toLocaleLowerCase();\n                this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n            }\n        }\n\n        if (strict) {\n            if (format === 'MMM') {\n                ii = indexOf.call(this._shortMonthsParse, llc);\n                return ii !== -1 ? ii : null;\n            } else {\n                ii = indexOf.call(this._longMonthsParse, llc);\n                return ii !== -1 ? ii : null;\n            }\n        } else {\n            if (format === 'MMM') {\n                ii = indexOf.call(this._shortMonthsParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._longMonthsParse, llc);\n                return ii !== -1 ? ii : null;\n            } else {\n                ii = indexOf.call(this._longMonthsParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._shortMonthsParse, llc);\n                return ii !== -1 ? ii : null;\n            }\n        }\n    }\n\n    function localeMonthsParse(monthName, format, strict) {\n        var i, mom, regex;\n\n        if (this._monthsParseExact) {\n            return handleStrictParse.call(this, monthName, format, strict);\n        }\n\n        if (!this._monthsParse) {\n            this._monthsParse = [];\n            this._longMonthsParse = [];\n            this._shortMonthsParse = [];\n        }\n\n        // TODO: add sorting\n        // Sorting makes sure if one month (or abbr) is a prefix of another\n        // see sorting in computeMonthsParse\n        for (i = 0; i < 12; i++) {\n            // make the regex if we don't have it already\n            mom = createUTC([2000, i]);\n            if (strict && !this._longMonthsParse[i]) {\n                this._longMonthsParse[i] = new RegExp(\n                    '^' + this.months(mom, '').replace('.', '') + '$',\n                    'i'\n                );\n                this._shortMonthsParse[i] = new RegExp(\n                    '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n                    'i'\n                );\n            }\n            if (!strict && !this._monthsParse[i]) {\n                regex =\n                    '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n                this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n            }\n            // test the regex\n            if (\n                strict &&\n                format === 'MMMM' &&\n                this._longMonthsParse[i].test(monthName)\n            ) {\n                return i;\n            } else if (\n                strict &&\n                format === 'MMM' &&\n                this._shortMonthsParse[i].test(monthName)\n            ) {\n                return i;\n            } else if (!strict && this._monthsParse[i].test(monthName)) {\n                return i;\n            }\n        }\n    }\n\n    // MOMENTS\n\n    function setMonth(mom, value) {\n        if (!mom.isValid()) {\n            // No op\n            return mom;\n        }\n\n        if (typeof value === 'string') {\n            if (/^\\d+$/.test(value)) {\n                value = toInt(value);\n            } else {\n                value = mom.localeData().monthsParse(value);\n                // TODO: Another silent failure?\n                if (!isNumber(value)) {\n                    return mom;\n                }\n            }\n        }\n\n        var month = value,\n            date = mom.date();\n\n        date = date < 29 ? date : Math.min(date, daysInMonth(mom.year(), month));\n        void (mom._isUTC\n            ? mom._d.setUTCMonth(month, date)\n            : mom._d.setMonth(month, date));\n        return mom;\n    }\n\n    function getSetMonth(value) {\n        if (value != null) {\n            setMonth(this, value);\n            hooks.updateOffset(this, true);\n            return this;\n        } else {\n            return get(this, 'Month');\n        }\n    }\n\n    function getDaysInMonth() {\n        return daysInMonth(this.year(), this.month());\n    }\n\n    function monthsShortRegex(isStrict) {\n        if (this._monthsParseExact) {\n            if (!hasOwnProp(this, '_monthsRegex')) {\n                computeMonthsParse.call(this);\n            }\n            if (isStrict) {\n                return this._monthsShortStrictRegex;\n            } else {\n                return this._monthsShortRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_monthsShortRegex')) {\n                this._monthsShortRegex = defaultMonthsShortRegex;\n            }\n            return this._monthsShortStrictRegex && isStrict\n                ? this._monthsShortStrictRegex\n                : this._monthsShortRegex;\n        }\n    }\n\n    function monthsRegex(isStrict) {\n        if (this._monthsParseExact) {\n            if (!hasOwnProp(this, '_monthsRegex')) {\n                computeMonthsParse.call(this);\n            }\n            if (isStrict) {\n                return this._monthsStrictRegex;\n            } else {\n                return this._monthsRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_monthsRegex')) {\n                this._monthsRegex = defaultMonthsRegex;\n            }\n            return this._monthsStrictRegex && isStrict\n                ? this._monthsStrictRegex\n                : this._monthsRegex;\n        }\n    }\n\n    function computeMonthsParse() {\n        function cmpLenRev(a, b) {\n            return b.length - a.length;\n        }\n\n        var shortPieces = [],\n            longPieces = [],\n            mixedPieces = [],\n            i,\n            mom,\n            shortP,\n            longP;\n        for (i = 0; i < 12; i++) {\n            // make the regex if we don't have it already\n            mom = createUTC([2000, i]);\n            shortP = regexEscape(this.monthsShort(mom, ''));\n            longP = regexEscape(this.months(mom, ''));\n            shortPieces.push(shortP);\n            longPieces.push(longP);\n            mixedPieces.push(longP);\n            mixedPieces.push(shortP);\n        }\n        // Sorting makes sure if one month (or abbr) is a prefix of another it\n        // will match the longer piece.\n        shortPieces.sort(cmpLenRev);\n        longPieces.sort(cmpLenRev);\n        mixedPieces.sort(cmpLenRev);\n\n        this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n        this._monthsShortRegex = this._monthsRegex;\n        this._monthsStrictRegex = new RegExp(\n            '^(' + longPieces.join('|') + ')',\n            'i'\n        );\n        this._monthsShortStrictRegex = new RegExp(\n            '^(' + shortPieces.join('|') + ')',\n            'i'\n        );\n    }\n\n    function createDate(y, m, d, h, M, s, ms) {\n        // can't just apply() to create a date:\n        // https://stackoverflow.com/q/181348\n        var date;\n        // the date constructor remaps years 0-99 to 1900-1999\n        if (y < 100 && y >= 0) {\n            // preserve leap years using a full 400 year cycle, then reset\n            date = new Date(y + 400, m, d, h, M, s, ms);\n            if (isFinite(date.getFullYear())) {\n                date.setFullYear(y);\n            }\n        } else {\n            date = new Date(y, m, d, h, M, s, ms);\n        }\n\n        return date;\n    }\n\n    function createUTCDate(y) {\n        var date, args;\n        // the Date.UTC function remaps years 0-99 to 1900-1999\n        if (y < 100 && y >= 0) {\n            args = Array.prototype.slice.call(arguments);\n            // preserve leap years using a full 400 year cycle, then reset\n            args[0] = y + 400;\n            date = new Date(Date.UTC.apply(null, args));\n            if (isFinite(date.getUTCFullYear())) {\n                date.setUTCFullYear(y);\n            }\n        } else {\n            date = new Date(Date.UTC.apply(null, arguments));\n        }\n\n        return date;\n    }\n\n    // start-of-first-week - start-of-year\n    function firstWeekOffset(year, dow, doy) {\n        var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n            fwd = 7 + dow - doy,\n            // first-week day local weekday -- which local weekday is fwd\n            fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n        return -fwdlw + fwd - 1;\n    }\n\n    // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n    function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n        var localWeekday = (7 + weekday - dow) % 7,\n            weekOffset = firstWeekOffset(year, dow, doy),\n            dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n            resYear,\n            resDayOfYear;\n\n        if (dayOfYear <= 0) {\n            resYear = year - 1;\n            resDayOfYear = daysInYear(resYear) + dayOfYear;\n        } else if (dayOfYear > daysInYear(year)) {\n            resYear = year + 1;\n            resDayOfYear = dayOfYear - daysInYear(year);\n        } else {\n            resYear = year;\n            resDayOfYear = dayOfYear;\n        }\n\n        return {\n            year: resYear,\n            dayOfYear: resDayOfYear,\n        };\n    }\n\n    function weekOfYear(mom, dow, doy) {\n        var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n            week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n            resWeek,\n            resYear;\n\n        if (week < 1) {\n            resYear = mom.year() - 1;\n            resWeek = week + weeksInYear(resYear, dow, doy);\n        } else if (week > weeksInYear(mom.year(), dow, doy)) {\n            resWeek = week - weeksInYear(mom.year(), dow, doy);\n            resYear = mom.year() + 1;\n        } else {\n            resYear = mom.year();\n            resWeek = week;\n        }\n\n        return {\n            week: resWeek,\n            year: resYear,\n        };\n    }\n\n    function weeksInYear(year, dow, doy) {\n        var weekOffset = firstWeekOffset(year, dow, doy),\n            weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n        return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n    }\n\n    // FORMATTING\n\n    addFormatToken('w', ['ww', 2], 'wo', 'week');\n    addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n    // PARSING\n\n    addRegexToken('w', match1to2, match1to2NoLeadingZero);\n    addRegexToken('ww', match1to2, match2);\n    addRegexToken('W', match1to2, match1to2NoLeadingZero);\n    addRegexToken('WW', match1to2, match2);\n\n    addWeekParseToken(\n        ['w', 'ww', 'W', 'WW'],\n        function (input, week, config, token) {\n            week[token.substr(0, 1)] = toInt(input);\n        }\n    );\n\n    // HELPERS\n\n    // LOCALES\n\n    function localeWeek(mom) {\n        return weekOfYear(mom, this._week.dow, this._week.doy).week;\n    }\n\n    var defaultLocaleWeek = {\n        dow: 0, // Sunday is the first day of the week.\n        doy: 6, // The week that contains Jan 6th is the first week of the year.\n    };\n\n    function localeFirstDayOfWeek() {\n        return this._week.dow;\n    }\n\n    function localeFirstDayOfYear() {\n        return this._week.doy;\n    }\n\n    // MOMENTS\n\n    function getSetWeek(input) {\n        var week = this.localeData().week(this);\n        return input == null ? week : this.add((input - week) * 7, 'd');\n    }\n\n    function getSetISOWeek(input) {\n        var week = weekOfYear(this, 1, 4).week;\n        return input == null ? week : this.add((input - week) * 7, 'd');\n    }\n\n    // FORMATTING\n\n    addFormatToken('d', 0, 'do', 'day');\n\n    addFormatToken('dd', 0, 0, function (format) {\n        return this.localeData().weekdaysMin(this, format);\n    });\n\n    addFormatToken('ddd', 0, 0, function (format) {\n        return this.localeData().weekdaysShort(this, format);\n    });\n\n    addFormatToken('dddd', 0, 0, function (format) {\n        return this.localeData().weekdays(this, format);\n    });\n\n    addFormatToken('e', 0, 0, 'weekday');\n    addFormatToken('E', 0, 0, 'isoWeekday');\n\n    // PARSING\n\n    addRegexToken('d', match1to2);\n    addRegexToken('e', match1to2);\n    addRegexToken('E', match1to2);\n    addRegexToken('dd', function (isStrict, locale) {\n        return locale.weekdaysMinRegex(isStrict);\n    });\n    addRegexToken('ddd', function (isStrict, locale) {\n        return locale.weekdaysShortRegex(isStrict);\n    });\n    addRegexToken('dddd', function (isStrict, locale) {\n        return locale.weekdaysRegex(isStrict);\n    });\n\n    addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n        var weekday = config._locale.weekdaysParse(input, token, config._strict);\n        // if we didn't get a weekday name, mark the date as invalid\n        if (weekday != null) {\n            week.d = weekday;\n        } else {\n            getParsingFlags(config).invalidWeekday = input;\n        }\n    });\n\n    addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n        week[token] = toInt(input);\n    });\n\n    // HELPERS\n\n    function parseWeekday(input, locale) {\n        if (typeof input !== 'string') {\n            return input;\n        }\n\n        if (!isNaN(input)) {\n            return parseInt(input, 10);\n        }\n\n        input = locale.weekdaysParse(input);\n        if (typeof input === 'number') {\n            return input;\n        }\n\n        return null;\n    }\n\n    function parseIsoWeekday(input, locale) {\n        if (typeof input === 'string') {\n            return locale.weekdaysParse(input) % 7 || 7;\n        }\n        return isNaN(input) ? null : input;\n    }\n\n    // LOCALES\n    function shiftWeekdays(ws, n) {\n        return ws.slice(n, 7).concat(ws.slice(0, n));\n    }\n\n    var defaultLocaleWeekdays =\n            'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n        defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        defaultWeekdaysRegex = matchWord,\n        defaultWeekdaysShortRegex = matchWord,\n        defaultWeekdaysMinRegex = matchWord;\n\n    function localeWeekdays(m, format) {\n        var weekdays = isArray(this._weekdays)\n            ? this._weekdays\n            : this._weekdays[\n                  m && m !== true && this._weekdays.isFormat.test(format)\n                      ? 'format'\n                      : 'standalone'\n              ];\n        return m === true\n            ? shiftWeekdays(weekdays, this._week.dow)\n            : m\n              ? weekdays[m.day()]\n              : weekdays;\n    }\n\n    function localeWeekdaysShort(m) {\n        return m === true\n            ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n            : m\n              ? this._weekdaysShort[m.day()]\n              : this._weekdaysShort;\n    }\n\n    function localeWeekdaysMin(m) {\n        return m === true\n            ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n            : m\n              ? this._weekdaysMin[m.day()]\n              : this._weekdaysMin;\n    }\n\n    function handleStrictParse$1(weekdayName, format, strict) {\n        var i,\n            ii,\n            mom,\n            llc = weekdayName.toLocaleLowerCase();\n        if (!this._weekdaysParse) {\n            this._weekdaysParse = [];\n            this._shortWeekdaysParse = [];\n            this._minWeekdaysParse = [];\n\n            for (i = 0; i < 7; ++i) {\n                mom = createUTC([2000, 1]).day(i);\n                this._minWeekdaysParse[i] = this.weekdaysMin(\n                    mom,\n                    ''\n                ).toLocaleLowerCase();\n                this._shortWeekdaysParse[i] = this.weekdaysShort(\n                    mom,\n                    ''\n                ).toLocaleLowerCase();\n                this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n            }\n        }\n\n        if (strict) {\n            if (format === 'dddd') {\n                ii = indexOf.call(this._weekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            } else if (format === 'ddd') {\n                ii = indexOf.call(this._shortWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            } else {\n                ii = indexOf.call(this._minWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            }\n        } else {\n            if (format === 'dddd') {\n                ii = indexOf.call(this._weekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._shortWeekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._minWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            } else if (format === 'ddd') {\n                ii = indexOf.call(this._shortWeekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._weekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._minWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            } else {\n                ii = indexOf.call(this._minWeekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._weekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._shortWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            }\n        }\n    }\n\n    function localeWeekdaysParse(weekdayName, format, strict) {\n        var i, mom, regex;\n\n        if (this._weekdaysParseExact) {\n            return handleStrictParse$1.call(this, weekdayName, format, strict);\n        }\n\n        if (!this._weekdaysParse) {\n            this._weekdaysParse = [];\n            this._minWeekdaysParse = [];\n            this._shortWeekdaysParse = [];\n            this._fullWeekdaysParse = [];\n        }\n\n        for (i = 0; i < 7; i++) {\n            // make the regex if we don't have it already\n\n            mom = createUTC([2000, 1]).day(i);\n            if (strict && !this._fullWeekdaysParse[i]) {\n                this._fullWeekdaysParse[i] = new RegExp(\n                    '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n                    'i'\n                );\n                this._shortWeekdaysParse[i] = new RegExp(\n                    '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n                    'i'\n                );\n                this._minWeekdaysParse[i] = new RegExp(\n                    '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n                    'i'\n                );\n            }\n            if (!this._weekdaysParse[i]) {\n                regex =\n                    '^' +\n                    this.weekdays(mom, '') +\n                    '|^' +\n                    this.weekdaysShort(mom, '') +\n                    '|^' +\n                    this.weekdaysMin(mom, '');\n                this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n            }\n            // test the regex\n            if (\n                strict &&\n                format === 'dddd' &&\n                this._fullWeekdaysParse[i].test(weekdayName)\n            ) {\n                return i;\n            } else if (\n                strict &&\n                format === 'ddd' &&\n                this._shortWeekdaysParse[i].test(weekdayName)\n            ) {\n                return i;\n            } else if (\n                strict &&\n                format === 'dd' &&\n                this._minWeekdaysParse[i].test(weekdayName)\n            ) {\n                return i;\n            } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n                return i;\n            }\n        }\n    }\n\n    // MOMENTS\n\n    function getSetDayOfWeek(input) {\n        if (!this.isValid()) {\n            return input != null ? this : NaN;\n        }\n\n        var day = get(this, 'Day');\n        if (input != null) {\n            input = parseWeekday(input, this.localeData());\n            return this.add(input - day, 'd');\n        } else {\n            return day;\n        }\n    }\n\n    function getSetLocaleDayOfWeek(input) {\n        if (!this.isValid()) {\n            return input != null ? this : NaN;\n        }\n        var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n        return input == null ? weekday : this.add(input - weekday, 'd');\n    }\n\n    function getSetISODayOfWeek(input) {\n        if (!this.isValid()) {\n            return input != null ? this : NaN;\n        }\n\n        // behaves the same as moment#day except\n        // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n        // as a setter, sunday should belong to the previous week.\n\n        if (input != null) {\n            var weekday = parseIsoWeekday(input, this.localeData());\n            return this.day(this.day() % 7 ? weekday : weekday - 7);\n        } else {\n            return this.day() || 7;\n        }\n    }\n\n    function weekdaysRegex(isStrict) {\n        if (this._weekdaysParseExact) {\n            if (!hasOwnProp(this, '_weekdaysRegex')) {\n                computeWeekdaysParse.call(this);\n            }\n            if (isStrict) {\n                return this._weekdaysStrictRegex;\n            } else {\n                return this._weekdaysRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_weekdaysRegex')) {\n                this._weekdaysRegex = defaultWeekdaysRegex;\n            }\n            return this._weekdaysStrictRegex && isStrict\n                ? this._weekdaysStrictRegex\n                : this._weekdaysRegex;\n        }\n    }\n\n    function weekdaysShortRegex(isStrict) {\n        if (this._weekdaysParseExact) {\n            if (!hasOwnProp(this, '_weekdaysRegex')) {\n                computeWeekdaysParse.call(this);\n            }\n            if (isStrict) {\n                return this._weekdaysShortStrictRegex;\n            } else {\n                return this._weekdaysShortRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n                this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n            }\n            return this._weekdaysShortStrictRegex && isStrict\n                ? this._weekdaysShortStrictRegex\n                : this._weekdaysShortRegex;\n        }\n    }\n\n    function weekdaysMinRegex(isStrict) {\n        if (this._weekdaysParseExact) {\n            if (!hasOwnProp(this, '_weekdaysRegex')) {\n                computeWeekdaysParse.call(this);\n            }\n            if (isStrict) {\n                return this._weekdaysMinStrictRegex;\n            } else {\n                return this._weekdaysMinRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n                this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n            }\n            return this._weekdaysMinStrictRegex && isStrict\n                ? this._weekdaysMinStrictRegex\n                : this._weekdaysMinRegex;\n        }\n    }\n\n    function computeWeekdaysParse() {\n        function cmpLenRev(a, b) {\n            return b.length - a.length;\n        }\n\n        var minPieces = [],\n            shortPieces = [],\n            longPieces = [],\n            mixedPieces = [],\n            i,\n            mom,\n            minp,\n            shortp,\n            longp;\n        for (i = 0; i < 7; i++) {\n            // make the regex if we don't have it already\n            mom = createUTC([2000, 1]).day(i);\n            minp = regexEscape(this.weekdaysMin(mom, ''));\n            shortp = regexEscape(this.weekdaysShort(mom, ''));\n            longp = regexEscape(this.weekdays(mom, ''));\n            minPieces.push(minp);\n            shortPieces.push(shortp);\n            longPieces.push(longp);\n            mixedPieces.push(minp);\n            mixedPieces.push(shortp);\n            mixedPieces.push(longp);\n        }\n        // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n        // will match the longer piece.\n        minPieces.sort(cmpLenRev);\n        shortPieces.sort(cmpLenRev);\n        longPieces.sort(cmpLenRev);\n        mixedPieces.sort(cmpLenRev);\n\n        this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n        this._weekdaysShortRegex = this._weekdaysRegex;\n        this._weekdaysMinRegex = this._weekdaysRegex;\n\n        this._weekdaysStrictRegex = new RegExp(\n            '^(' + longPieces.join('|') + ')',\n            'i'\n        );\n        this._weekdaysShortStrictRegex = new RegExp(\n            '^(' + shortPieces.join('|') + ')',\n            'i'\n        );\n        this._weekdaysMinStrictRegex = new RegExp(\n            '^(' + minPieces.join('|') + ')',\n            'i'\n        );\n    }\n\n    // FORMATTING\n\n    function hFormat() {\n        return this.hours() % 12 || 12;\n    }\n\n    function kFormat() {\n        return this.hours() || 24;\n    }\n\n    addFormatToken('H', ['HH', 2], 0, 'hour');\n    addFormatToken('h', ['hh', 2], 0, hFormat);\n    addFormatToken('k', ['kk', 2], 0, kFormat);\n\n    addFormatToken('hmm', 0, 0, function () {\n        return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n    });\n\n    addFormatToken('hmmss', 0, 0, function () {\n        return (\n            '' +\n            hFormat.apply(this) +\n            zeroFill(this.minutes(), 2) +\n            zeroFill(this.seconds(), 2)\n        );\n    });\n\n    addFormatToken('Hmm', 0, 0, function () {\n        return '' + this.hours() + zeroFill(this.minutes(), 2);\n    });\n\n    addFormatToken('Hmmss', 0, 0, function () {\n        return (\n            '' +\n            this.hours() +\n            zeroFill(this.minutes(), 2) +\n            zeroFill(this.seconds(), 2)\n        );\n    });\n\n    function meridiem(token, lowercase) {\n        addFormatToken(token, 0, 0, function () {\n            return this.localeData().meridiem(\n                this.hours(),\n                this.minutes(),\n                lowercase\n            );\n        });\n    }\n\n    meridiem('a', true);\n    meridiem('A', false);\n\n    // PARSING\n\n    function matchMeridiem(isStrict, locale) {\n        return locale._meridiemParse;\n    }\n\n    addRegexToken('a', matchMeridiem);\n    addRegexToken('A', matchMeridiem);\n    addRegexToken('H', match1to2, match1to2HasZero);\n    addRegexToken('h', match1to2, match1to2NoLeadingZero);\n    addRegexToken('k', match1to2, match1to2NoLeadingZero);\n    addRegexToken('HH', match1to2, match2);\n    addRegexToken('hh', match1to2, match2);\n    addRegexToken('kk', match1to2, match2);\n\n    addRegexToken('hmm', match3to4);\n    addRegexToken('hmmss', match5to6);\n    addRegexToken('Hmm', match3to4);\n    addRegexToken('Hmmss', match5to6);\n\n    addParseToken(['H', 'HH'], HOUR);\n    addParseToken(['k', 'kk'], function (input, array, config) {\n        var kInput = toInt(input);\n        array[HOUR] = kInput === 24 ? 0 : kInput;\n    });\n    addParseToken(['a', 'A'], function (input, array, config) {\n        config._isPm = config._locale.isPM(input);\n        config._meridiem = input;\n    });\n    addParseToken(['h', 'hh'], function (input, array, config) {\n        array[HOUR] = toInt(input);\n        getParsingFlags(config).bigHour = true;\n    });\n    addParseToken('hmm', function (input, array, config) {\n        var pos = input.length - 2;\n        array[HOUR] = toInt(input.substr(0, pos));\n        array[MINUTE] = toInt(input.substr(pos));\n        getParsingFlags(config).bigHour = true;\n    });\n    addParseToken('hmmss', function (input, array, config) {\n        var pos1 = input.length - 4,\n            pos2 = input.length - 2;\n        array[HOUR] = toInt(input.substr(0, pos1));\n        array[MINUTE] = toInt(input.substr(pos1, 2));\n        array[SECOND] = toInt(input.substr(pos2));\n        getParsingFlags(config).bigHour = true;\n    });\n    addParseToken('Hmm', function (input, array, config) {\n        var pos = input.length - 2;\n        array[HOUR] = toInt(input.substr(0, pos));\n        array[MINUTE] = toInt(input.substr(pos));\n    });\n    addParseToken('Hmmss', function (input, array, config) {\n        var pos1 = input.length - 4,\n            pos2 = input.length - 2;\n        array[HOUR] = toInt(input.substr(0, pos1));\n        array[MINUTE] = toInt(input.substr(pos1, 2));\n        array[SECOND] = toInt(input.substr(pos2));\n    });\n\n    // LOCALES\n\n    function localeIsPM(input) {\n        // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n        // Using charAt should be more compatible.\n        return (input + '').toLowerCase().charAt(0) === 'p';\n    }\n\n    var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n        // Setting the hour should keep the time, because the user explicitly\n        // specified which hour they want. So trying to maintain the same hour (in\n        // a new timezone) makes sense. Adding/subtracting hours does not follow\n        // this rule.\n        getSetHour = makeGetSet('Hours', true);\n\n    function localeMeridiem(hours, minutes, isLower) {\n        if (hours > 11) {\n            return isLower ? 'pm' : 'PM';\n        } else {\n            return isLower ? 'am' : 'AM';\n        }\n    }\n\n    var baseConfig = {\n        calendar: defaultCalendar,\n        longDateFormat: defaultLongDateFormat,\n        invalidDate: defaultInvalidDate,\n        ordinal: defaultOrdinal,\n        dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n        relativeTime: defaultRelativeTime,\n\n        months: defaultLocaleMonths,\n        monthsShort: defaultLocaleMonthsShort,\n\n        week: defaultLocaleWeek,\n\n        weekdays: defaultLocaleWeekdays,\n        weekdaysMin: defaultLocaleWeekdaysMin,\n        weekdaysShort: defaultLocaleWeekdaysShort,\n\n        meridiemParse: defaultLocaleMeridiemParse,\n    };\n\n    // internal storage for locale config files\n    var locales = {},\n        localeFamilies = {},\n        globalLocale;\n\n    function commonPrefix(arr1, arr2) {\n        var i,\n            minl = Math.min(arr1.length, arr2.length);\n        for (i = 0; i < minl; i += 1) {\n            if (arr1[i] !== arr2[i]) {\n                return i;\n            }\n        }\n        return minl;\n    }\n\n    function normalizeLocale(key) {\n        return key ? key.toLowerCase().replace('_', '-') : key;\n    }\n\n    // pick the locale from the array\n    // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n    // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n    function chooseLocale(names) {\n        var i = 0,\n            j,\n            next,\n            locale,\n            split;\n\n        while (i < names.length) {\n            split = normalizeLocale(names[i]).split('-');\n            j = split.length;\n            next = normalizeLocale(names[i + 1]);\n            next = next ? next.split('-') : null;\n            while (j > 0) {\n                locale = loadLocale(split.slice(0, j).join('-'));\n                if (locale) {\n                    return locale;\n                }\n                if (\n                    next &&\n                    next.length >= j &&\n                    commonPrefix(split, next) >= j - 1\n                ) {\n                    //the next array item is better than a shallower substring of this one\n                    break;\n                }\n                j--;\n            }\n            i++;\n        }\n        return globalLocale;\n    }\n\n    function isLocaleNameSane(name) {\n        // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n        // Ensure name is available and function returns boolean\n        return !!(name && name.match('^[^/\\\\\\\\]*$'));\n    }\n\n    function loadLocale(name) {\n        var oldLocale = null,\n            aliasedRequire;\n        // TODO: Find a better way to register and load all the locales in Node\n        if (\n            locales[name] === undefined &&\n            typeof module !== 'undefined' &&\n            module &&\n            module.exports &&\n            isLocaleNameSane(name)\n        ) {\n            try {\n                oldLocale = globalLocale._abbr;\n                aliasedRequire = require;\n                aliasedRequire('./locale/' + name);\n                getSetGlobalLocale(oldLocale);\n            } catch (e) {\n                // mark as not found to avoid repeating expensive file require call causing high CPU\n                // when trying to find en-US, en_US, en-us for every format call\n                locales[name] = null; // null means not found\n            }\n        }\n        return locales[name];\n    }\n\n    // This function will load locale and then set the global locale.  If\n    // no arguments are passed in, it will simply return the current global\n    // locale key.\n    function getSetGlobalLocale(key, values) {\n        var data;\n        if (key) {\n            if (isUndefined(values)) {\n                data = getLocale(key);\n            } else {\n                data = defineLocale(key, values);\n            }\n\n            if (data) {\n                // moment.duration._locale = moment._locale = data;\n                globalLocale = data;\n            } else {\n                if (typeof console !== 'undefined' && console.warn) {\n                    //warn user if arguments are passed but the locale could not be set\n                    console.warn(\n                        'Locale ' + key + ' not found. Did you forget to load it?'\n                    );\n                }\n            }\n        }\n\n        return globalLocale._abbr;\n    }\n\n    function defineLocale(name, config) {\n        if (config !== null) {\n            var locale,\n                parentConfig = baseConfig;\n            config.abbr = name;\n            if (locales[name] != null) {\n                deprecateSimple(\n                    'defineLocaleOverride',\n                    'use moment.updateLocale(localeName, config) to change ' +\n                        'an existing locale. moment.defineLocale(localeName, ' +\n                        'config) should only be used for creating a new locale ' +\n                        'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n                );\n                parentConfig = locales[name]._config;\n            } else if (config.parentLocale != null) {\n                if (locales[config.parentLocale] != null) {\n                    parentConfig = locales[config.parentLocale]._config;\n                } else {\n                    locale = loadLocale(config.parentLocale);\n                    if (locale != null) {\n                        parentConfig = locale._config;\n                    } else {\n                        if (!localeFamilies[config.parentLocale]) {\n                            localeFamilies[config.parentLocale] = [];\n                        }\n                        localeFamilies[config.parentLocale].push({\n                            name: name,\n                            config: config,\n                        });\n                        return null;\n                    }\n                }\n            }\n            locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n            if (localeFamilies[name]) {\n                localeFamilies[name].forEach(function (x) {\n                    defineLocale(x.name, x.config);\n                });\n            }\n\n            // backwards compat for now: also set the locale\n            // make sure we set the locale AFTER all child locales have been\n            // created, so we won't end up with the child locale set.\n            getSetGlobalLocale(name);\n\n            return locales[name];\n        } else {\n            // useful for testing\n            delete locales[name];\n            return null;\n        }\n    }\n\n    function updateLocale(name, config) {\n        if (config != null) {\n            var locale,\n                tmpLocale,\n                parentConfig = baseConfig;\n\n            if (locales[name] != null && locales[name].parentLocale != null) {\n                // Update existing child locale in-place to avoid memory-leaks\n                locales[name].set(mergeConfigs(locales[name]._config, config));\n            } else {\n                // MERGE\n                tmpLocale = loadLocale(name);\n                if (tmpLocale != null) {\n                    parentConfig = tmpLocale._config;\n                }\n                config = mergeConfigs(parentConfig, config);\n                if (tmpLocale == null) {\n                    // updateLocale is called for creating a new locale\n                    // Set abbr so it will have a name (getters return\n                    // undefined otherwise).\n                    config.abbr = name;\n                }\n                locale = new Locale(config);\n                locale.parentLocale = locales[name];\n                locales[name] = locale;\n            }\n\n            // backwards compat for now: also set the locale\n            getSetGlobalLocale(name);\n        } else {\n            // pass null for config to unupdate, useful for tests\n            if (locales[name] != null) {\n                if (locales[name].parentLocale != null) {\n                    locales[name] = locales[name].parentLocale;\n                    if (name === getSetGlobalLocale()) {\n                        getSetGlobalLocale(name);\n                    }\n                } else if (locales[name] != null) {\n                    delete locales[name];\n                }\n            }\n        }\n        return locales[name];\n    }\n\n    // returns locale data\n    function getLocale(key) {\n        var locale;\n\n        if (key && key._locale && key._locale._abbr) {\n            key = key._locale._abbr;\n        }\n\n        if (!key) {\n            return globalLocale;\n        }\n\n        if (!isArray(key)) {\n            //short-circuit everything else\n            locale = loadLocale(key);\n            if (locale) {\n                return locale;\n            }\n            key = [key];\n        }\n\n        return chooseLocale(key);\n    }\n\n    function listLocales() {\n        return keys(locales);\n    }\n\n    function checkOverflow(m) {\n        var overflow,\n            a = m._a;\n\n        if (a && getParsingFlags(m).overflow === -2) {\n            overflow =\n                a[MONTH] < 0 || a[MONTH] > 11\n                    ? MONTH\n                    : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n                      ? DATE\n                      : a[HOUR] < 0 ||\n                          a[HOUR] > 24 ||\n                          (a[HOUR] === 24 &&\n                              (a[MINUTE] !== 0 ||\n                                  a[SECOND] !== 0 ||\n                                  a[MILLISECOND] !== 0))\n                        ? HOUR\n                        : a[MINUTE] < 0 || a[MINUTE] > 59\n                          ? MINUTE\n                          : a[SECOND] < 0 || a[SECOND] > 59\n                            ? SECOND\n                            : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n                              ? MILLISECOND\n                              : -1;\n\n            if (\n                getParsingFlags(m)._overflowDayOfYear &&\n                (overflow < YEAR || overflow > DATE)\n            ) {\n                overflow = DATE;\n            }\n            if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n                overflow = WEEK;\n            }\n            if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n                overflow = WEEKDAY;\n            }\n\n            getParsingFlags(m).overflow = overflow;\n        }\n\n        return m;\n    }\n\n    // iso 8601 regex\n    // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n    var extendedIsoRegex =\n            /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n        basicIsoRegex =\n            /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n        tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n        isoDates = [\n            ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n            ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n            ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n            ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n            ['YYYY-DDD', /\\d{4}-\\d{3}/],\n            ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n            ['YYYYYYMMDD', /[+-]\\d{10}/],\n            ['YYYYMMDD', /\\d{8}/],\n            ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n            ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n            ['YYYYDDD', /\\d{7}/],\n            ['YYYYMM', /\\d{6}/, false],\n            ['YYYY', /\\d{4}/, false],\n        ],\n        // iso time formats and regexes\n        isoTimes = [\n            ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n            ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n            ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n            ['HH:mm', /\\d\\d:\\d\\d/],\n            ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n            ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n            ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n            ['HHmm', /\\d\\d\\d\\d/],\n            ['HH', /\\d\\d/],\n        ],\n        aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n        // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n        rfc2822 =\n            /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n        obsOffsets = {\n            UT: 0,\n            GMT: 0,\n            EDT: -4 * 60,\n            EST: -5 * 60,\n            CDT: -5 * 60,\n            CST: -6 * 60,\n            MDT: -6 * 60,\n            MST: -7 * 60,\n            PDT: -7 * 60,\n            PST: -8 * 60,\n        };\n\n    // date from iso format\n    function configFromISO(config) {\n        var i,\n            l,\n            string = config._i,\n            match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n            allowTime,\n            dateFormat,\n            timeFormat,\n            tzFormat,\n            isoDatesLen = isoDates.length,\n            isoTimesLen = isoTimes.length;\n\n        if (match) {\n            getParsingFlags(config).iso = true;\n            for (i = 0, l = isoDatesLen; i < l; i++) {\n                if (isoDates[i][1].exec(match[1])) {\n                    dateFormat = isoDates[i][0];\n                    allowTime = isoDates[i][2] !== false;\n                    break;\n                }\n            }\n            if (dateFormat == null) {\n                config._isValid = false;\n                return;\n            }\n            if (match[3]) {\n                for (i = 0, l = isoTimesLen; i < l; i++) {\n                    if (isoTimes[i][1].exec(match[3])) {\n                        // match[2] should be 'T' or space\n                        timeFormat = (match[2] || ' ') + isoTimes[i][0];\n                        break;\n                    }\n                }\n                if (timeFormat == null) {\n                    config._isValid = false;\n                    return;\n                }\n            }\n            if (!allowTime && timeFormat != null) {\n                config._isValid = false;\n                return;\n            }\n            if (match[4]) {\n                if (tzRegex.exec(match[4])) {\n                    tzFormat = 'Z';\n                } else {\n                    config._isValid = false;\n                    return;\n                }\n            }\n            config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n            configFromStringAndFormat(config);\n        } else {\n            config._isValid = false;\n        }\n    }\n\n    function extractFromRFC2822Strings(\n        yearStr,\n        monthStr,\n        dayStr,\n        hourStr,\n        minuteStr,\n        secondStr\n    ) {\n        var result = [\n            untruncateYear(yearStr),\n            defaultLocaleMonthsShort.indexOf(monthStr),\n            parseInt(dayStr, 10),\n            parseInt(hourStr, 10),\n            parseInt(minuteStr, 10),\n        ];\n\n        if (secondStr) {\n            result.push(parseInt(secondStr, 10));\n        }\n\n        return result;\n    }\n\n    function untruncateYear(yearStr) {\n        var year = parseInt(yearStr, 10);\n        if (year <= 49) {\n            return 2000 + year;\n        } else if (year <= 999) {\n            return 1900 + year;\n        }\n        return year;\n    }\n\n    function preprocessRFC2822(s) {\n        // Remove comments and folding whitespace and replace multiple-spaces with a single space\n        return s\n            .replace(/\\([^()]*\\)|[\\n\\t]/g, ' ')\n            .replace(/(\\s\\s+)/g, ' ')\n            .replace(/^\\s\\s*/, '')\n            .replace(/\\s\\s*$/, '');\n    }\n\n    function checkWeekday(weekdayStr, parsedInput, config) {\n        if (weekdayStr) {\n            // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n            var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n                weekdayActual = new Date(\n                    parsedInput[0],\n                    parsedInput[1],\n                    parsedInput[2]\n                ).getDay();\n            if (weekdayProvided !== weekdayActual) {\n                getParsingFlags(config).weekdayMismatch = true;\n                config._isValid = false;\n                return false;\n            }\n        }\n        return true;\n    }\n\n    function calculateOffset(obsOffset, militaryOffset, numOffset) {\n        if (obsOffset) {\n            return obsOffsets[obsOffset];\n        } else if (militaryOffset) {\n            // the only allowed military tz is Z\n            return 0;\n        } else {\n            var hm = parseInt(numOffset, 10),\n                m = hm % 100,\n                h = (hm - m) / 100;\n            return h * 60 + m;\n        }\n    }\n\n    // date and time from ref 2822 format\n    function configFromRFC2822(config) {\n        var match = rfc2822.exec(preprocessRFC2822(config._i)),\n            parsedArray;\n        if (match) {\n            parsedArray = extractFromRFC2822Strings(\n                match[4],\n                match[3],\n                match[2],\n                match[5],\n                match[6],\n                match[7]\n            );\n            if (!checkWeekday(match[1], parsedArray, config)) {\n                return;\n            }\n\n            config._a = parsedArray;\n            config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n            config._d = createUTCDate.apply(null, config._a);\n            config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n            getParsingFlags(config).rfc2822 = true;\n        } else {\n            config._isValid = false;\n        }\n    }\n\n    // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n    function configFromString(config) {\n        var matched = aspNetJsonRegex.exec(config._i);\n        if (matched !== null) {\n            config._d = new Date(+matched[1]);\n            return;\n        }\n\n        configFromISO(config);\n        if (config._isValid === false) {\n            delete config._isValid;\n        } else {\n            return;\n        }\n\n        configFromRFC2822(config);\n        if (config._isValid === false) {\n            delete config._isValid;\n        } else {\n            return;\n        }\n\n        if (config._strict) {\n            config._isValid = false;\n        } else {\n            // Final attempt, use Input Fallback\n            hooks.createFromInputFallback(config);\n        }\n    }\n\n    hooks.createFromInputFallback = deprecate(\n        'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n            'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n            'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n        function (config) {\n            config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n        }\n    );\n\n    // Pick the first defined of two or three arguments.\n    function defaults(a, b, c) {\n        if (a != null) {\n            return a;\n        }\n        if (b != null) {\n            return b;\n        }\n        return c;\n    }\n\n    function currentDateArray(config) {\n        // hooks is actually the exported moment object\n        var nowValue = new Date(hooks.now());\n        if (config._useUTC) {\n            return [\n                nowValue.getUTCFullYear(),\n                nowValue.getUTCMonth(),\n                nowValue.getUTCDate(),\n            ];\n        }\n        return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n    }\n\n    // convert an array to a date.\n    // the array should mirror the parameters below\n    // note: all values past the year are optional and will default to the lowest possible value.\n    // [year, month, day , hour, minute, second, millisecond]\n    function configFromArray(config) {\n        var i,\n            date,\n            input = [],\n            currentDate,\n            expectedWeekday,\n            yearToUse;\n\n        if (config._d) {\n            return;\n        }\n\n        currentDate = currentDateArray(config);\n\n        //compute day of the year from weeks and weekdays\n        if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n            dayOfYearFromWeekInfo(config);\n        }\n\n        //if the day of the year is set, figure out what it is\n        if (config._dayOfYear != null) {\n            yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n            if (\n                config._dayOfYear > daysInYear(yearToUse) ||\n                config._dayOfYear === 0\n            ) {\n                getParsingFlags(config)._overflowDayOfYear = true;\n            }\n\n            date = createUTCDate(yearToUse, 0, config._dayOfYear);\n            config._a[MONTH] = date.getUTCMonth();\n            config._a[DATE] = date.getUTCDate();\n        }\n\n        // Default to current date.\n        // * if no year, month, day of month are given, default to today\n        // * if day of month is given, default month and year\n        // * if month is given, default only year\n        // * if year is given, don't default anything\n        for (i = 0; i < 3 && config._a[i] == null; ++i) {\n            config._a[i] = input[i] = currentDate[i];\n        }\n\n        // Zero out whatever was not defaulted, including time\n        for (; i < 7; i++) {\n            config._a[i] = input[i] =\n                config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n        }\n\n        // Check for 24:00:00.000\n        if (\n            config._a[HOUR] === 24 &&\n            config._a[MINUTE] === 0 &&\n            config._a[SECOND] === 0 &&\n            config._a[MILLISECOND] === 0\n        ) {\n            config._nextDay = true;\n            config._a[HOUR] = 0;\n        }\n\n        config._d = (config._useUTC ? createUTCDate : createDate).apply(\n            null,\n            input\n        );\n        expectedWeekday = config._useUTC\n            ? config._d.getUTCDay()\n            : config._d.getDay();\n\n        // Apply timezone offset from input. The actual utcOffset can be changed\n        // with parseZone.\n        if (config._tzm != null) {\n            config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n        }\n\n        if (config._nextDay) {\n            config._a[HOUR] = 24;\n        }\n\n        // check for mismatching day of week\n        if (\n            config._w &&\n            typeof config._w.d !== 'undefined' &&\n            config._w.d !== expectedWeekday\n        ) {\n            getParsingFlags(config).weekdayMismatch = true;\n        }\n    }\n\n    function dayOfYearFromWeekInfo(config) {\n        var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n        w = config._w;\n        if (w.GG != null || w.W != null || w.E != null) {\n            dow = 1;\n            doy = 4;\n\n            // TODO: We need to take the current isoWeekYear, but that depends on\n            // how we interpret now (local, utc, fixed offset). So create\n            // a now version of current config (take local/utc/offset flags, and\n            // create now).\n            weekYear = defaults(\n                w.GG,\n                config._a[YEAR],\n                weekOfYear(createLocal(), 1, 4).year\n            );\n            week = defaults(w.W, 1);\n            weekday = defaults(w.E, 1);\n            if (weekday < 1 || weekday > 7) {\n                weekdayOverflow = true;\n            }\n        } else {\n            dow = config._locale._week.dow;\n            doy = config._locale._week.doy;\n\n            curWeek = weekOfYear(createLocal(), dow, doy);\n\n            weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n            // Default to current week.\n            week = defaults(w.w, curWeek.week);\n\n            if (w.d != null) {\n                // weekday -- low day numbers are considered next week\n                weekday = w.d;\n                if (weekday < 0 || weekday > 6) {\n                    weekdayOverflow = true;\n                }\n            } else if (w.e != null) {\n                // local weekday -- counting starts from beginning of week\n                weekday = w.e + dow;\n                if (w.e < 0 || w.e > 6) {\n                    weekdayOverflow = true;\n                }\n            } else {\n                // default to beginning of week\n                weekday = dow;\n            }\n        }\n        if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n            getParsingFlags(config)._overflowWeeks = true;\n        } else if (weekdayOverflow != null) {\n            getParsingFlags(config)._overflowWeekday = true;\n        } else {\n            temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n            config._a[YEAR] = temp.year;\n            config._dayOfYear = temp.dayOfYear;\n        }\n    }\n\n    // constant that refers to the ISO standard\n    hooks.ISO_8601 = function () {};\n\n    // constant that refers to the RFC 2822 form\n    hooks.RFC_2822 = function () {};\n\n    // date from string and format string\n    function configFromStringAndFormat(config) {\n        // TODO: Move this to another part of the creation flow to prevent circular deps\n        if (config._f === hooks.ISO_8601) {\n            configFromISO(config);\n            return;\n        }\n        if (config._f === hooks.RFC_2822) {\n            configFromRFC2822(config);\n            return;\n        }\n        config._a = [];\n        getParsingFlags(config).empty = true;\n\n        // This array is used to make a Date, either with `new Date` or `Date.UTC`\n        var string = '' + config._i,\n            i,\n            parsedInput,\n            tokens,\n            token,\n            skipped,\n            stringLength = string.length,\n            totalParsedInputLength = 0,\n            era,\n            tokenLen;\n\n        tokens =\n            expandFormat(config._f, config._locale).match(formattingTokens) || [];\n        tokenLen = tokens.length;\n        for (i = 0; i < tokenLen; i++) {\n            token = tokens[i];\n            parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n                [])[0];\n            if (parsedInput) {\n                skipped = string.substr(0, string.indexOf(parsedInput));\n                if (skipped.length > 0) {\n                    getParsingFlags(config).unusedInput.push(skipped);\n                }\n                string = string.slice(\n                    string.indexOf(parsedInput) + parsedInput.length\n                );\n                totalParsedInputLength += parsedInput.length;\n            }\n            // don't parse if it's not a known token\n            if (formatTokenFunctions[token]) {\n                if (parsedInput) {\n                    getParsingFlags(config).empty = false;\n                } else {\n                    getParsingFlags(config).unusedTokens.push(token);\n                }\n                addTimeToArrayFromToken(token, parsedInput, config);\n            } else if (config._strict && !parsedInput) {\n                getParsingFlags(config).unusedTokens.push(token);\n            }\n        }\n\n        // add remaining unparsed input length to the string\n        getParsingFlags(config).charsLeftOver =\n            stringLength - totalParsedInputLength;\n        if (string.length > 0) {\n            getParsingFlags(config).unusedInput.push(string);\n        }\n\n        // clear _12h flag if hour is <= 12\n        if (\n            config._a[HOUR] <= 12 &&\n            getParsingFlags(config).bigHour === true &&\n            config._a[HOUR] > 0\n        ) {\n            getParsingFlags(config).bigHour = undefined;\n        }\n\n        getParsingFlags(config).parsedDateParts = config._a.slice(0);\n        getParsingFlags(config).meridiem = config._meridiem;\n        // handle meridiem\n        config._a[HOUR] = meridiemFixWrap(\n            config._locale,\n            config._a[HOUR],\n            config._meridiem\n        );\n\n        // handle era\n        era = getParsingFlags(config).era;\n        if (era !== null) {\n            config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n        }\n\n        configFromArray(config);\n        checkOverflow(config);\n    }\n\n    function meridiemFixWrap(locale, hour, meridiem) {\n        var isPm;\n\n        if (meridiem == null) {\n            // nothing to do\n            return hour;\n        }\n        if (locale.meridiemHour != null) {\n            return locale.meridiemHour(hour, meridiem);\n        } else if (locale.isPM != null) {\n            // Fallback\n            isPm = locale.isPM(meridiem);\n            if (isPm && hour < 12) {\n                hour += 12;\n            }\n            if (!isPm && hour === 12) {\n                hour = 0;\n            }\n            return hour;\n        } else {\n            // this is not supposed to happen\n            return hour;\n        }\n    }\n\n    // date from string and array of format strings\n    function configFromStringAndArray(config) {\n        var tempConfig,\n            bestMoment,\n            scoreToBeat,\n            i,\n            currentScore,\n            validFormatFound,\n            bestFormatIsValid = false,\n            configfLen = config._f.length;\n\n        if (configfLen === 0) {\n            getParsingFlags(config).invalidFormat = true;\n            config._d = new Date(NaN);\n            return;\n        }\n\n        for (i = 0; i < configfLen; i++) {\n            currentScore = 0;\n            validFormatFound = false;\n            tempConfig = copyConfig({}, config);\n            if (config._useUTC != null) {\n                tempConfig._useUTC = config._useUTC;\n            }\n            tempConfig._f = config._f[i];\n            configFromStringAndFormat(tempConfig);\n\n            if (isValid(tempConfig)) {\n                validFormatFound = true;\n            }\n\n            // if there is any input that was not parsed add a penalty for that format\n            currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n            //or tokens\n            currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n            getParsingFlags(tempConfig).score = currentScore;\n\n            if (!bestFormatIsValid) {\n                if (\n                    scoreToBeat == null ||\n                    currentScore < scoreToBeat ||\n                    validFormatFound\n                ) {\n                    scoreToBeat = currentScore;\n                    bestMoment = tempConfig;\n                    if (validFormatFound) {\n                        bestFormatIsValid = true;\n                    }\n                }\n            } else {\n                if (currentScore < scoreToBeat) {\n                    scoreToBeat = currentScore;\n                    bestMoment = tempConfig;\n                }\n            }\n        }\n\n        extend(config, bestMoment || tempConfig);\n    }\n\n    function configFromObject(config) {\n        if (config._d) {\n            return;\n        }\n\n        var i = normalizeObjectUnits(config._i),\n            dayOrDate = i.day === undefined ? i.date : i.day;\n        config._a = map(\n            [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n            function (obj) {\n                return obj && parseInt(obj, 10);\n            }\n        );\n\n        configFromArray(config);\n    }\n\n    function createFromConfig(config) {\n        var res = new Moment(checkOverflow(prepareConfig(config)));\n        if (res._nextDay) {\n            // Adding is smart enough around DST\n            res.add(1, 'd');\n            res._nextDay = undefined;\n        }\n\n        return res;\n    }\n\n    function prepareConfig(config) {\n        var input = config._i,\n            format = config._f;\n\n        config._locale = config._locale || getLocale(config._l);\n\n        if (input === null || (format === undefined && input === '')) {\n            return createInvalid({ nullInput: true });\n        }\n\n        if (typeof input === 'string') {\n            config._i = input = config._locale.preparse(input);\n        }\n\n        if (isMoment(input)) {\n            return new Moment(checkOverflow(input));\n        } else if (isDate(input)) {\n            config._d = input;\n        } else if (isArray(format)) {\n            configFromStringAndArray(config);\n        } else if (format) {\n            configFromStringAndFormat(config);\n        } else {\n            configFromInput(config);\n        }\n\n        if (!isValid(config)) {\n            config._d = null;\n        }\n\n        return config;\n    }\n\n    function configFromInput(config) {\n        var input = config._i;\n        if (isUndefined(input)) {\n            config._d = new Date(hooks.now());\n        } else if (isDate(input)) {\n            config._d = new Date(input.valueOf());\n        } else if (typeof input === 'string') {\n            configFromString(config);\n        } else if (isArray(input)) {\n            config._a = map(input.slice(0), function (obj) {\n                return parseInt(obj, 10);\n            });\n            configFromArray(config);\n        } else if (isObject(input)) {\n            configFromObject(config);\n        } else if (isNumber(input)) {\n            // from milliseconds\n            config._d = new Date(input);\n        } else {\n            hooks.createFromInputFallback(config);\n        }\n    }\n\n    function createLocalOrUTC(input, format, locale, strict, isUTC) {\n        var c = {};\n\n        if (format === true || format === false) {\n            strict = format;\n            format = undefined;\n        }\n\n        if (locale === true || locale === false) {\n            strict = locale;\n            locale = undefined;\n        }\n\n        if (\n            (isObject(input) && isObjectEmpty(input)) ||\n            (isArray(input) && input.length === 0)\n        ) {\n            input = undefined;\n        }\n        // object construction must be done this way.\n        // https://github.com/moment/moment/issues/1423\n        c._isAMomentObject = true;\n        c._useUTC = c._isUTC = isUTC;\n        c._l = locale;\n        c._i = input;\n        c._f = format;\n        c._strict = strict;\n\n        return createFromConfig(c);\n    }\n\n    function createLocal(input, format, locale, strict) {\n        return createLocalOrUTC(input, format, locale, strict, false);\n    }\n\n    var prototypeMin = deprecate(\n            'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n            function () {\n                var other = createLocal.apply(null, arguments);\n                if (this.isValid() && other.isValid()) {\n                    return other < this ? this : other;\n                } else {\n                    return createInvalid();\n                }\n            }\n        ),\n        prototypeMax = deprecate(\n            'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n            function () {\n                var other = createLocal.apply(null, arguments);\n                if (this.isValid() && other.isValid()) {\n                    return other > this ? this : other;\n                } else {\n                    return createInvalid();\n                }\n            }\n        );\n\n    // Pick a moment m from moments so that m[fn](other) is true for all\n    // other. This relies on the function fn to be transitive.\n    //\n    // moments should either be an array of moment objects or an array, whose\n    // first element is an array of moment objects.\n    function pickBy(fn, moments) {\n        var res, i;\n        if (moments.length === 1 && isArray(moments[0])) {\n            moments = moments[0];\n        }\n        if (!moments.length) {\n            return createLocal();\n        }\n        res = moments[0];\n        for (i = 1; i < moments.length; ++i) {\n            if (!moments[i].isValid() || moments[i][fn](res)) {\n                res = moments[i];\n            }\n        }\n        return res;\n    }\n\n    // TODO: Use [].sort instead?\n    function min() {\n        var args = [].slice.call(arguments, 0);\n\n        return pickBy('isBefore', args);\n    }\n\n    function max() {\n        var args = [].slice.call(arguments, 0);\n\n        return pickBy('isAfter', args);\n    }\n\n    var now = function () {\n        return Date.now ? Date.now() : +new Date();\n    };\n\n    var ordering = [\n        'year',\n        'quarter',\n        'month',\n        'week',\n        'day',\n        'hour',\n        'minute',\n        'second',\n        'millisecond',\n    ];\n\n    function isDurationValid(m) {\n        var key,\n            unitHasDecimal = false,\n            i,\n            orderLen = ordering.length;\n        for (key in m) {\n            if (\n                hasOwnProp(m, key) &&\n                !(\n                    indexOf.call(ordering, key) !== -1 &&\n                    (m[key] == null || !isNaN(m[key]))\n                )\n            ) {\n                return false;\n            }\n        }\n\n        for (i = 0; i < orderLen; ++i) {\n            if (m[ordering[i]]) {\n                if (unitHasDecimal) {\n                    return false; // only allow non-integers for smallest unit\n                }\n                if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n                    unitHasDecimal = true;\n                }\n            }\n        }\n\n        return true;\n    }\n\n    function isValid$1() {\n        return this._isValid;\n    }\n\n    function createInvalid$1() {\n        return createDuration(NaN);\n    }\n\n    function Duration(duration) {\n        var normalizedInput = normalizeObjectUnits(duration),\n            years = normalizedInput.year || 0,\n            quarters = normalizedInput.quarter || 0,\n            months = normalizedInput.month || 0,\n            weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n            days = normalizedInput.day || 0,\n            hours = normalizedInput.hour || 0,\n            minutes = normalizedInput.minute || 0,\n            seconds = normalizedInput.second || 0,\n            milliseconds = normalizedInput.millisecond || 0;\n\n        this._isValid = isDurationValid(normalizedInput);\n\n        // representation for dateAddRemove\n        this._milliseconds =\n            +milliseconds +\n            seconds * 1e3 + // 1000\n            minutes * 6e4 + // 1000 * 60\n            hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n        // Because of dateAddRemove treats 24 hours as different from a\n        // day when working around DST, we need to store them separately\n        this._days = +days + weeks * 7;\n        // It is impossible to translate months into days without knowing\n        // which months you are are talking about, so we have to store\n        // it separately.\n        this._months = +months + quarters * 3 + years * 12;\n\n        this._data = {};\n\n        this._locale = getLocale();\n\n        this._bubble();\n    }\n\n    function isDuration(obj) {\n        return obj instanceof Duration;\n    }\n\n    function absRound(number) {\n        if (number < 0) {\n            return Math.round(-1 * number) * -1;\n        } else {\n            return Math.round(number);\n        }\n    }\n\n    // compare two arrays, return the number of differences\n    function compareArrays(array1, array2, dontConvert) {\n        var len = Math.min(array1.length, array2.length),\n            lengthDiff = Math.abs(array1.length - array2.length),\n            diffs = 0,\n            i;\n        for (i = 0; i < len; i++) {\n            if (\n                (dontConvert && array1[i] !== array2[i]) ||\n                (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n            ) {\n                diffs++;\n            }\n        }\n        return diffs + lengthDiff;\n    }\n\n    // FORMATTING\n\n    function offset(token, separator) {\n        addFormatToken(token, 0, 0, function () {\n            var offset = this.utcOffset(),\n                sign = '+';\n            if (offset < 0) {\n                offset = -offset;\n                sign = '-';\n            }\n            return (\n                sign +\n                zeroFill(~~(offset / 60), 2) +\n                separator +\n                zeroFill(~~offset % 60, 2)\n            );\n        });\n    }\n\n    offset('Z', ':');\n    offset('ZZ', '');\n\n    // PARSING\n\n    addRegexToken('Z', matchShortOffset);\n    addRegexToken('ZZ', matchShortOffset);\n    addParseToken(['Z', 'ZZ'], function (input, array, config) {\n        config._useUTC = true;\n        config._tzm = offsetFromString(matchShortOffset, input);\n    });\n\n    // HELPERS\n\n    // timezone chunker\n    // '+10:00' > ['10',  '00']\n    // '-1530'  > ['-15', '30']\n    var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n    function offsetFromString(matcher, string) {\n        var matches = (string || '').match(matcher),\n            chunk,\n            parts,\n            minutes;\n\n        if (matches === null) {\n            return null;\n        }\n\n        chunk = matches[matches.length - 1] || [];\n        parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n        minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n        return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n    }\n\n    // Return a moment from input, that is local/utc/zone equivalent to model.\n    function cloneWithOffset(input, model) {\n        var res, diff;\n        if (model._isUTC) {\n            res = model.clone();\n            diff =\n                (isMoment(input) || isDate(input)\n                    ? input.valueOf()\n                    : createLocal(input).valueOf()) - res.valueOf();\n            // Use low-level api, because this fn is low-level api.\n            res._d.setTime(res._d.valueOf() + diff);\n            hooks.updateOffset(res, false);\n            return res;\n        } else {\n            return createLocal(input).local();\n        }\n    }\n\n    function getDateOffset(m) {\n        // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n        // https://github.com/moment/moment/pull/1871\n        return -Math.round(m._d.getTimezoneOffset());\n    }\n\n    // HOOKS\n\n    // This function will be called whenever a moment is mutated.\n    // It is intended to keep the offset in sync with the timezone.\n    hooks.updateOffset = function () {};\n\n    // MOMENTS\n\n    // keepLocalTime = true means only change the timezone, without\n    // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n    // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n    // +0200, so we adjust the time as needed, to be valid.\n    //\n    // Keeping the time actually adds/subtracts (one hour)\n    // from the actual represented time. That is why we call updateOffset\n    // a second time. In case it wants us to change the offset again\n    // _changeInProgress == true case, then we have to adjust, because\n    // there is no such time in the given timezone.\n    function getSetOffset(input, keepLocalTime, keepMinutes) {\n        var offset = this._offset || 0,\n            localAdjust;\n        if (!this.isValid()) {\n            return input != null ? this : NaN;\n        }\n        if (input != null) {\n            if (typeof input === 'string') {\n                input = offsetFromString(matchShortOffset, input);\n                if (input === null) {\n                    return this;\n                }\n            } else if (Math.abs(input) < 16 && !keepMinutes) {\n                input = input * 60;\n            }\n            if (!this._isUTC && keepLocalTime) {\n                localAdjust = getDateOffset(this);\n            }\n            this._offset = input;\n            this._isUTC = true;\n            if (localAdjust != null) {\n                this.add(localAdjust, 'm');\n            }\n            if (offset !== input) {\n                if (!keepLocalTime || this._changeInProgress) {\n                    addSubtract(\n                        this,\n                        createDuration(input - offset, 'm'),\n                        1,\n                        false\n                    );\n                } else if (!this._changeInProgress) {\n                    this._changeInProgress = true;\n                    hooks.updateOffset(this, true);\n                    this._changeInProgress = null;\n                }\n            }\n            return this;\n        } else {\n            return this._isUTC ? offset : getDateOffset(this);\n        }\n    }\n\n    function getSetZone(input, keepLocalTime) {\n        if (input != null) {\n            if (typeof input !== 'string') {\n                input = -input;\n            }\n\n            this.utcOffset(input, keepLocalTime);\n\n            return this;\n        } else {\n            return -this.utcOffset();\n        }\n    }\n\n    function setOffsetToUTC(keepLocalTime) {\n        return this.utcOffset(0, keepLocalTime);\n    }\n\n    function setOffsetToLocal(keepLocalTime) {\n        if (this._isUTC) {\n            this.utcOffset(0, keepLocalTime);\n            this._isUTC = false;\n\n            if (keepLocalTime) {\n                this.subtract(getDateOffset(this), 'm');\n            }\n        }\n        return this;\n    }\n\n    function setOffsetToParsedOffset() {\n        if (this._tzm != null) {\n            this.utcOffset(this._tzm, false, true);\n        } else if (typeof this._i === 'string') {\n            var tZone = offsetFromString(matchOffset, this._i);\n            if (tZone != null) {\n                this.utcOffset(tZone);\n            } else {\n                this.utcOffset(0, true);\n            }\n        }\n        return this;\n    }\n\n    function hasAlignedHourOffset(input) {\n        if (!this.isValid()) {\n            return false;\n        }\n        input = input ? createLocal(input).utcOffset() : 0;\n\n        return (this.utcOffset() - input) % 60 === 0;\n    }\n\n    function isDaylightSavingTime() {\n        return (\n            this.utcOffset() > this.clone().month(0).utcOffset() ||\n            this.utcOffset() > this.clone().month(5).utcOffset()\n        );\n    }\n\n    function isDaylightSavingTimeShifted() {\n        if (!isUndefined(this._isDSTShifted)) {\n            return this._isDSTShifted;\n        }\n\n        var c = {},\n            other;\n\n        copyConfig(c, this);\n        c = prepareConfig(c);\n\n        if (c._a) {\n            other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n            this._isDSTShifted =\n                this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n        } else {\n            this._isDSTShifted = false;\n        }\n\n        return this._isDSTShifted;\n    }\n\n    function isLocal() {\n        return this.isValid() ? !this._isUTC : false;\n    }\n\n    function isUtcOffset() {\n        return this.isValid() ? this._isUTC : false;\n    }\n\n    function isUtc() {\n        return this.isValid() ? this._isUTC && this._offset === 0 : false;\n    }\n\n    // ASP.NET json date format regex\n    var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n        // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n        // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n        // and further modified to allow for strings containing both week and day\n        isoRegex =\n            /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n    function createDuration(input, key) {\n        var duration = input,\n            // matching against regexp is expensive, do it on demand\n            match = null,\n            sign,\n            ret,\n            diffRes;\n\n        if (isDuration(input)) {\n            duration = {\n                ms: input._milliseconds,\n                d: input._days,\n                M: input._months,\n            };\n        } else if (isNumber(input) || !isNaN(+input)) {\n            duration = {};\n            if (key) {\n                duration[key] = +input;\n            } else {\n                duration.milliseconds = +input;\n            }\n        } else if ((match = aspNetRegex.exec(input))) {\n            sign = match[1] === '-' ? -1 : 1;\n            duration = {\n                y: 0,\n                d: toInt(match[DATE]) * sign,\n                h: toInt(match[HOUR]) * sign,\n                m: toInt(match[MINUTE]) * sign,\n                s: toInt(match[SECOND]) * sign,\n                ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n            };\n        } else if ((match = isoRegex.exec(input))) {\n            sign = match[1] === '-' ? -1 : 1;\n            duration = {\n                y: parseIso(match[2], sign),\n                M: parseIso(match[3], sign),\n                w: parseIso(match[4], sign),\n                d: parseIso(match[5], sign),\n                h: parseIso(match[6], sign),\n                m: parseIso(match[7], sign),\n                s: parseIso(match[8], sign),\n            };\n        } else if (duration == null) {\n            // checks for null or undefined\n            duration = {};\n        } else if (\n            typeof duration === 'object' &&\n            ('from' in duration || 'to' in duration)\n        ) {\n            diffRes = momentsDifference(\n                createLocal(duration.from),\n                createLocal(duration.to)\n            );\n\n            duration = {};\n            duration.ms = diffRes.milliseconds;\n            duration.M = diffRes.months;\n        }\n\n        ret = new Duration(duration);\n\n        if (isDuration(input) && hasOwnProp(input, '_locale')) {\n            ret._locale = input._locale;\n        }\n\n        if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n            ret._isValid = input._isValid;\n        }\n\n        return ret;\n    }\n\n    createDuration.fn = Duration.prototype;\n    createDuration.invalid = createInvalid$1;\n\n    function parseIso(inp, sign) {\n        // We'd normally use ~~inp for this, but unfortunately it also\n        // converts floats to ints.\n        // inp may be undefined, so careful calling replace on it.\n        var res = inp && parseFloat(inp.replace(',', '.'));\n        // apply sign while we're at it\n        return (isNaN(res) ? 0 : res) * sign;\n    }\n\n    function positiveMomentsDifference(base, other) {\n        var res = {};\n\n        res.months =\n            other.month() - base.month() + (other.year() - base.year()) * 12;\n        if (base.clone().add(res.months, 'M').isAfter(other)) {\n            --res.months;\n        }\n\n        res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n        return res;\n    }\n\n    function momentsDifference(base, other) {\n        var res;\n        if (!(base.isValid() && other.isValid())) {\n            return { milliseconds: 0, months: 0 };\n        }\n\n        other = cloneWithOffset(other, base);\n        if (base.isBefore(other)) {\n            res = positiveMomentsDifference(base, other);\n        } else {\n            res = positiveMomentsDifference(other, base);\n            res.milliseconds = -res.milliseconds;\n            res.months = -res.months;\n        }\n\n        return res;\n    }\n\n    // TODO: remove 'name' arg after deprecation is removed\n    function createAdder(direction, name) {\n        return function (val, period) {\n            var dur, tmp;\n            //invert the arguments, but complain about it\n            if (period !== null && !isNaN(+period)) {\n                deprecateSimple(\n                    name,\n                    'moment().' +\n                        name +\n                        '(period, number) is deprecated. Please use moment().' +\n                        name +\n                        '(number, period). ' +\n                        'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n                );\n                tmp = val;\n                val = period;\n                period = tmp;\n            }\n\n            dur = createDuration(val, period);\n            addSubtract(this, dur, direction);\n            return this;\n        };\n    }\n\n    function addSubtract(mom, duration, isAdding, updateOffset) {\n        var milliseconds = duration._milliseconds,\n            days = absRound(duration._days),\n            months = absRound(duration._months);\n\n        if (!mom.isValid()) {\n            // No op\n            return;\n        }\n\n        updateOffset = updateOffset == null ? true : updateOffset;\n\n        if (months) {\n            setMonth(mom, get(mom, 'Month') + months * isAdding);\n        }\n        if (days) {\n            set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n        }\n        if (milliseconds) {\n            mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n        }\n        if (updateOffset) {\n            hooks.updateOffset(mom, days || months);\n        }\n    }\n\n    var add = createAdder(1, 'add'),\n        subtract = createAdder(-1, 'subtract');\n\n    function isString(input) {\n        return typeof input === 'string' || input instanceof String;\n    }\n\n    // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n    function isMomentInput(input) {\n        return (\n            isMoment(input) ||\n            isDate(input) ||\n            isString(input) ||\n            isNumber(input) ||\n            isNumberOrStringArray(input) ||\n            isMomentInputObject(input) ||\n            input === null ||\n            input === undefined\n        );\n    }\n\n    function isMomentInputObject(input) {\n        var objectTest = isObject(input) && !isObjectEmpty(input),\n            propertyTest = false,\n            properties = [\n                'years',\n                'year',\n                'y',\n                'months',\n                'month',\n                'M',\n                'days',\n                'day',\n                'd',\n                'dates',\n                'date',\n                'D',\n                'hours',\n                'hour',\n                'h',\n                'minutes',\n                'minute',\n                'm',\n                'seconds',\n                'second',\n                's',\n                'milliseconds',\n                'millisecond',\n                'ms',\n            ],\n            i,\n            property,\n            propertyLen = properties.length;\n\n        for (i = 0; i < propertyLen; i += 1) {\n            property = properties[i];\n            propertyTest = propertyTest || hasOwnProp(input, property);\n        }\n\n        return objectTest && propertyTest;\n    }\n\n    function isNumberOrStringArray(input) {\n        var arrayTest = isArray(input),\n            dataTypeTest = false;\n        if (arrayTest) {\n            dataTypeTest =\n                input.filter(function (item) {\n                    return !isNumber(item) && isString(input);\n                }).length === 0;\n        }\n        return arrayTest && dataTypeTest;\n    }\n\n    function isCalendarSpec(input) {\n        var objectTest = isObject(input) && !isObjectEmpty(input),\n            propertyTest = false,\n            properties = [\n                'sameDay',\n                'nextDay',\n                'lastDay',\n                'nextWeek',\n                'lastWeek',\n                'sameElse',\n            ],\n            i,\n            property;\n\n        for (i = 0; i < properties.length; i += 1) {\n            property = properties[i];\n            propertyTest = propertyTest || hasOwnProp(input, property);\n        }\n\n        return objectTest && propertyTest;\n    }\n\n    function getCalendarFormat(myMoment, now) {\n        var diff = myMoment.diff(now, 'days', true);\n        return diff < -6\n            ? 'sameElse'\n            : diff < -1\n              ? 'lastWeek'\n              : diff < 0\n                ? 'lastDay'\n                : diff < 1\n                  ? 'sameDay'\n                  : diff < 2\n                    ? 'nextDay'\n                    : diff < 7\n                      ? 'nextWeek'\n                      : 'sameElse';\n    }\n\n    function calendar$1(time, formats) {\n        // Support for single parameter, formats only overload to the calendar function\n        if (arguments.length === 1) {\n            if (!arguments[0]) {\n                time = undefined;\n                formats = undefined;\n            } else if (isMomentInput(arguments[0])) {\n                time = arguments[0];\n                formats = undefined;\n            } else if (isCalendarSpec(arguments[0])) {\n                formats = arguments[0];\n                time = undefined;\n            }\n        }\n        // We want to compare the start of today, vs this.\n        // Getting start-of-today depends on whether we're local/utc/offset or not.\n        var now = time || createLocal(),\n            sod = cloneWithOffset(now, this).startOf('day'),\n            format = hooks.calendarFormat(this, sod) || 'sameElse',\n            output =\n                formats &&\n                (isFunction(formats[format])\n                    ? formats[format].call(this, now)\n                    : formats[format]);\n\n        return this.format(\n            output || this.localeData().calendar(format, this, createLocal(now))\n        );\n    }\n\n    function clone() {\n        return new Moment(this);\n    }\n\n    function isAfter(input, units) {\n        var localInput = isMoment(input) ? input : createLocal(input);\n        if (!(this.isValid() && localInput.isValid())) {\n            return false;\n        }\n        units = normalizeUnits(units) || 'millisecond';\n        if (units === 'millisecond') {\n            return this.valueOf() > localInput.valueOf();\n        } else {\n            return localInput.valueOf() < this.clone().startOf(units).valueOf();\n        }\n    }\n\n    function isBefore(input, units) {\n        var localInput = isMoment(input) ? input : createLocal(input);\n        if (!(this.isValid() && localInput.isValid())) {\n            return false;\n        }\n        units = normalizeUnits(units) || 'millisecond';\n        if (units === 'millisecond') {\n            return this.valueOf() < localInput.valueOf();\n        } else {\n            return this.clone().endOf(units).valueOf() < localInput.valueOf();\n        }\n    }\n\n    function isBetween(from, to, units, inclusivity) {\n        var localFrom = isMoment(from) ? from : createLocal(from),\n            localTo = isMoment(to) ? to : createLocal(to);\n        if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n            return false;\n        }\n        inclusivity = inclusivity || '()';\n        return (\n            (inclusivity[0] === '('\n                ? this.isAfter(localFrom, units)\n                : !this.isBefore(localFrom, units)) &&\n            (inclusivity[1] === ')'\n                ? this.isBefore(localTo, units)\n                : !this.isAfter(localTo, units))\n        );\n    }\n\n    function isSame(input, units) {\n        var localInput = isMoment(input) ? input : createLocal(input),\n            inputMs;\n        if (!(this.isValid() && localInput.isValid())) {\n            return false;\n        }\n        units = normalizeUnits(units) || 'millisecond';\n        if (units === 'millisecond') {\n            return this.valueOf() === localInput.valueOf();\n        } else {\n            inputMs = localInput.valueOf();\n            return (\n                this.clone().startOf(units).valueOf() <= inputMs &&\n                inputMs <= this.clone().endOf(units).valueOf()\n            );\n        }\n    }\n\n    function isSameOrAfter(input, units) {\n        return this.isSame(input, units) || this.isAfter(input, units);\n    }\n\n    function isSameOrBefore(input, units) {\n        return this.isSame(input, units) || this.isBefore(input, units);\n    }\n\n    function diff(input, units, asFloat) {\n        var that, zoneDelta, output;\n\n        if (!this.isValid()) {\n            return NaN;\n        }\n\n        that = cloneWithOffset(input, this);\n\n        if (!that.isValid()) {\n            return NaN;\n        }\n\n        zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n        units = normalizeUnits(units);\n\n        switch (units) {\n            case 'year':\n                output = monthDiff(this, that) / 12;\n                break;\n            case 'month':\n                output = monthDiff(this, that);\n                break;\n            case 'quarter':\n                output = monthDiff(this, that) / 3;\n                break;\n            case 'second':\n                output = (this - that) / 1e3;\n                break; // 1000\n            case 'minute':\n                output = (this - that) / 6e4;\n                break; // 1000 * 60\n            case 'hour':\n                output = (this - that) / 36e5;\n                break; // 1000 * 60 * 60\n            case 'day':\n                output = (this - that - zoneDelta) / 864e5;\n                break; // 1000 * 60 * 60 * 24, negate dst\n            case 'week':\n                output = (this - that - zoneDelta) / 6048e5;\n                break; // 1000 * 60 * 60 * 24 * 7, negate dst\n            default:\n                output = this - that;\n        }\n\n        return asFloat ? output : absFloor(output);\n    }\n\n    function monthDiff(a, b) {\n        if (a.date() < b.date()) {\n            // end-of-month calculations work correct when the start month has more\n            // days than the end month.\n            return -monthDiff(b, a);\n        }\n        // difference in months\n        var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n            // b is in (anchor - 1 month, anchor + 1 month)\n            anchor = a.clone().add(wholeMonthDiff, 'months'),\n            anchor2,\n            adjust;\n\n        if (b - anchor < 0) {\n            anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n            // linear across the month\n            adjust = (b - anchor) / (anchor - anchor2);\n        } else {\n            anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n            // linear across the month\n            adjust = (b - anchor) / (anchor2 - anchor);\n        }\n\n        //check for negative zero, return zero if negative zero\n        return -(wholeMonthDiff + adjust) || 0;\n    }\n\n    hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n    hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n    function toString() {\n        return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n    }\n\n    function toISOString(keepOffset) {\n        if (!this.isValid()) {\n            return null;\n        }\n        var utc = keepOffset !== true,\n            m = utc ? this.clone().utc() : this;\n        if (m.year() < 0 || m.year() > 9999) {\n            return formatMoment(\n                m,\n                utc\n                    ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n                    : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n            );\n        }\n        if (isFunction(Date.prototype.toISOString)) {\n            // native implementation is ~50x faster, use it when we can\n            if (utc) {\n                return this.toDate().toISOString();\n            } else {\n                return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n                    .toISOString()\n                    .replace('Z', formatMoment(m, 'Z'));\n            }\n        }\n        return formatMoment(\n            m,\n            utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n        );\n    }\n\n    /**\n     * Return a human readable representation of a moment that can\n     * also be evaluated to get a new moment which is the same\n     *\n     * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n     */\n    function inspect() {\n        if (!this.isValid()) {\n            return 'moment.invalid(/* ' + this._i + ' */)';\n        }\n        var func = 'moment',\n            zone = '',\n            prefix,\n            year,\n            datetime,\n            suffix;\n        if (!this.isLocal()) {\n            func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n            zone = 'Z';\n        }\n        prefix = '[' + func + '(\"]';\n        year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n        datetime = '-MM-DD[T]HH:mm:ss.SSS';\n        suffix = zone + '[\")]';\n\n        return this.format(prefix + year + datetime + suffix);\n    }\n\n    function format(inputString) {\n        if (!inputString) {\n            inputString = this.isUtc()\n                ? hooks.defaultFormatUtc\n                : hooks.defaultFormat;\n        }\n        var output = formatMoment(this, inputString);\n        return this.localeData().postformat(output);\n    }\n\n    function from(time, withoutSuffix) {\n        if (\n            this.isValid() &&\n            ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n        ) {\n            return createDuration({ to: this, from: time })\n                .locale(this.locale())\n                .humanize(!withoutSuffix);\n        } else {\n            return this.localeData().invalidDate();\n        }\n    }\n\n    function fromNow(withoutSuffix) {\n        return this.from(createLocal(), withoutSuffix);\n    }\n\n    function to(time, withoutSuffix) {\n        if (\n            this.isValid() &&\n            ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n        ) {\n            return createDuration({ from: this, to: time })\n                .locale(this.locale())\n                .humanize(!withoutSuffix);\n        } else {\n            return this.localeData().invalidDate();\n        }\n    }\n\n    function toNow(withoutSuffix) {\n        return this.to(createLocal(), withoutSuffix);\n    }\n\n    // If passed a locale key, it will set the locale for this\n    // instance.  Otherwise, it will return the locale configuration\n    // variables for this instance.\n    function locale(key) {\n        var newLocaleData;\n\n        if (key === undefined) {\n            return this._locale._abbr;\n        } else {\n            newLocaleData = getLocale(key);\n            if (newLocaleData != null) {\n                this._locale = newLocaleData;\n            }\n            return this;\n        }\n    }\n\n    var lang = deprecate(\n        'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n        function (key) {\n            if (key === undefined) {\n                return this.localeData();\n            } else {\n                return this.locale(key);\n            }\n        }\n    );\n\n    function localeData() {\n        return this._locale;\n    }\n\n    var MS_PER_SECOND = 1000,\n        MS_PER_MINUTE = 60 * MS_PER_SECOND,\n        MS_PER_HOUR = 60 * MS_PER_MINUTE,\n        MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n    // actual modulo - handles negative numbers (for dates before 1970):\n    function mod$1(dividend, divisor) {\n        return ((dividend % divisor) + divisor) % divisor;\n    }\n\n    function localStartOfDate(y, m, d) {\n        // the date constructor remaps years 0-99 to 1900-1999\n        if (y < 100 && y >= 0) {\n            // preserve leap years using a full 400 year cycle, then reset\n            return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n        } else {\n            return new Date(y, m, d).valueOf();\n        }\n    }\n\n    function utcStartOfDate(y, m, d) {\n        // Date.UTC remaps years 0-99 to 1900-1999\n        if (y < 100 && y >= 0) {\n            // preserve leap years using a full 400 year cycle, then reset\n            return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n        } else {\n            return Date.UTC(y, m, d);\n        }\n    }\n\n    function startOf(units) {\n        var time, startOfDate;\n        units = normalizeUnits(units);\n        if (units === undefined || units === 'millisecond' || !this.isValid()) {\n            return this;\n        }\n\n        startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n        switch (units) {\n            case 'year':\n                time = startOfDate(this.year(), 0, 1);\n                break;\n            case 'quarter':\n                time = startOfDate(\n                    this.year(),\n                    this.month() - (this.month() % 3),\n                    1\n                );\n                break;\n            case 'month':\n                time = startOfDate(this.year(), this.month(), 1);\n                break;\n            case 'week':\n                time = startOfDate(\n                    this.year(),\n                    this.month(),\n                    this.date() - this.weekday()\n                );\n                break;\n            case 'isoWeek':\n                time = startOfDate(\n                    this.year(),\n                    this.month(),\n                    this.date() - (this.isoWeekday() - 1)\n                );\n                break;\n            case 'day':\n            case 'date':\n                time = startOfDate(this.year(), this.month(), this.date());\n                break;\n            case 'hour':\n                time = this._d.valueOf();\n                time -= mod$1(\n                    time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n                    MS_PER_HOUR\n                );\n                break;\n            case 'minute':\n                time = this._d.valueOf();\n                time -= mod$1(time, MS_PER_MINUTE);\n                break;\n            case 'second':\n                time = this._d.valueOf();\n                time -= mod$1(time, MS_PER_SECOND);\n                break;\n        }\n\n        this._d.setTime(time);\n        hooks.updateOffset(this, true);\n        return this;\n    }\n\n    function endOf(units) {\n        var time, startOfDate;\n        units = normalizeUnits(units);\n        if (units === undefined || units === 'millisecond' || !this.isValid()) {\n            return this;\n        }\n\n        startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n        switch (units) {\n            case 'year':\n                time = startOfDate(this.year() + 1, 0, 1) - 1;\n                break;\n            case 'quarter':\n                time =\n                    startOfDate(\n                        this.year(),\n                        this.month() - (this.month() % 3) + 3,\n                        1\n                    ) - 1;\n                break;\n            case 'month':\n                time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n                break;\n            case 'week':\n                time =\n                    startOfDate(\n                        this.year(),\n                        this.month(),\n                        this.date() - this.weekday() + 7\n                    ) - 1;\n                break;\n            case 'isoWeek':\n                time =\n                    startOfDate(\n                        this.year(),\n                        this.month(),\n                        this.date() - (this.isoWeekday() - 1) + 7\n                    ) - 1;\n                break;\n            case 'day':\n            case 'date':\n                time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n                break;\n            case 'hour':\n                time = this._d.valueOf();\n                time +=\n                    MS_PER_HOUR -\n                    mod$1(\n                        time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n                        MS_PER_HOUR\n                    ) -\n                    1;\n                break;\n            case 'minute':\n                time = this._d.valueOf();\n                time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n                break;\n            case 'second':\n                time = this._d.valueOf();\n                time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n                break;\n        }\n\n        this._d.setTime(time);\n        hooks.updateOffset(this, true);\n        return this;\n    }\n\n    function valueOf() {\n        return this._d.valueOf() - (this._offset || 0) * 60000;\n    }\n\n    function unix() {\n        return Math.floor(this.valueOf() / 1000);\n    }\n\n    function toDate() {\n        return new Date(this.valueOf());\n    }\n\n    function toArray() {\n        var m = this;\n        return [\n            m.year(),\n            m.month(),\n            m.date(),\n            m.hour(),\n            m.minute(),\n            m.second(),\n            m.millisecond(),\n        ];\n    }\n\n    function toObject() {\n        var m = this;\n        return {\n            years: m.year(),\n            months: m.month(),\n            date: m.date(),\n            hours: m.hours(),\n            minutes: m.minutes(),\n            seconds: m.seconds(),\n            milliseconds: m.milliseconds(),\n        };\n    }\n\n    function toJSON() {\n        // new Date(NaN).toJSON() === null\n        return this.isValid() ? this.toISOString() : null;\n    }\n\n    function isValid$2() {\n        return isValid(this);\n    }\n\n    function parsingFlags() {\n        return extend({}, getParsingFlags(this));\n    }\n\n    function invalidAt() {\n        return getParsingFlags(this).overflow;\n    }\n\n    function creationData() {\n        return {\n            input: this._i,\n            format: this._f,\n            locale: this._locale,\n            isUTC: this._isUTC,\n            strict: this._strict,\n        };\n    }\n\n    addFormatToken('N', 0, 0, 'eraAbbr');\n    addFormatToken('NN', 0, 0, 'eraAbbr');\n    addFormatToken('NNN', 0, 0, 'eraAbbr');\n    addFormatToken('NNNN', 0, 0, 'eraName');\n    addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n    addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n    addFormatToken('y', ['yy', 2], 0, 'eraYear');\n    addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n    addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n    addRegexToken('N', matchEraAbbr);\n    addRegexToken('NN', matchEraAbbr);\n    addRegexToken('NNN', matchEraAbbr);\n    addRegexToken('NNNN', matchEraName);\n    addRegexToken('NNNNN', matchEraNarrow);\n\n    addParseToken(\n        ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n        function (input, array, config, token) {\n            var era = config._locale.erasParse(input, token, config._strict);\n            if (era) {\n                getParsingFlags(config).era = era;\n            } else {\n                getParsingFlags(config).invalidEra = input;\n            }\n        }\n    );\n\n    addRegexToken('y', matchUnsigned);\n    addRegexToken('yy', matchUnsigned);\n    addRegexToken('yyy', matchUnsigned);\n    addRegexToken('yyyy', matchUnsigned);\n    addRegexToken('yo', matchEraYearOrdinal);\n\n    addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n    addParseToken(['yo'], function (input, array, config, token) {\n        var match;\n        if (config._locale._eraYearOrdinalRegex) {\n            match = input.match(config._locale._eraYearOrdinalRegex);\n        }\n\n        if (config._locale.eraYearOrdinalParse) {\n            array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n        } else {\n            array[YEAR] = parseInt(input, 10);\n        }\n    });\n\n    function localeEras(m, format) {\n        var i,\n            l,\n            date,\n            eras = this._eras || getLocale('en')._eras;\n        for (i = 0, l = eras.length; i < l; ++i) {\n            switch (typeof eras[i].since) {\n                case 'string':\n                    // truncate time\n                    date = hooks(eras[i].since).startOf('day');\n                    eras[i].since = date.valueOf();\n                    break;\n            }\n\n            switch (typeof eras[i].until) {\n                case 'undefined':\n                    eras[i].until = +Infinity;\n                    break;\n                case 'string':\n                    // truncate time\n                    date = hooks(eras[i].until).startOf('day').valueOf();\n                    eras[i].until = date.valueOf();\n                    break;\n            }\n        }\n        return eras;\n    }\n\n    function localeErasParse(eraName, format, strict) {\n        var i,\n            l,\n            eras = this.eras(),\n            name,\n            abbr,\n            narrow;\n        eraName = eraName.toUpperCase();\n\n        for (i = 0, l = eras.length; i < l; ++i) {\n            name = eras[i].name.toUpperCase();\n            abbr = eras[i].abbr.toUpperCase();\n            narrow = eras[i].narrow.toUpperCase();\n\n            if (strict) {\n                switch (format) {\n                    case 'N':\n                    case 'NN':\n                    case 'NNN':\n                        if (abbr === eraName) {\n                            return eras[i];\n                        }\n                        break;\n\n                    case 'NNNN':\n                        if (name === eraName) {\n                            return eras[i];\n                        }\n                        break;\n\n                    case 'NNNNN':\n                        if (narrow === eraName) {\n                            return eras[i];\n                        }\n                        break;\n                }\n            } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n                return eras[i];\n            }\n        }\n    }\n\n    function localeErasConvertYear(era, year) {\n        var dir = era.since <= era.until ? +1 : -1;\n        if (year === undefined) {\n            return hooks(era.since).year();\n        } else {\n            return hooks(era.since).year() + (year - era.offset) * dir;\n        }\n    }\n\n    function getEraName() {\n        var i,\n            l,\n            val,\n            eras = this.localeData().eras();\n        for (i = 0, l = eras.length; i < l; ++i) {\n            // truncate time\n            val = this.clone().startOf('day').valueOf();\n\n            if (eras[i].since <= val && val <= eras[i].until) {\n                return eras[i].name;\n            }\n            if (eras[i].until <= val && val <= eras[i].since) {\n                return eras[i].name;\n            }\n        }\n\n        return '';\n    }\n\n    function getEraNarrow() {\n        var i,\n            l,\n            val,\n            eras = this.localeData().eras();\n        for (i = 0, l = eras.length; i < l; ++i) {\n            // truncate time\n            val = this.clone().startOf('day').valueOf();\n\n            if (eras[i].since <= val && val <= eras[i].until) {\n                return eras[i].narrow;\n            }\n            if (eras[i].until <= val && val <= eras[i].since) {\n                return eras[i].narrow;\n            }\n        }\n\n        return '';\n    }\n\n    function getEraAbbr() {\n        var i,\n            l,\n            val,\n            eras = this.localeData().eras();\n        for (i = 0, l = eras.length; i < l; ++i) {\n            // truncate time\n            val = this.clone().startOf('day').valueOf();\n\n            if (eras[i].since <= val && val <= eras[i].until) {\n                return eras[i].abbr;\n            }\n            if (eras[i].until <= val && val <= eras[i].since) {\n                return eras[i].abbr;\n            }\n        }\n\n        return '';\n    }\n\n    function getEraYear() {\n        var i,\n            l,\n            dir,\n            val,\n            eras = this.localeData().eras();\n        for (i = 0, l = eras.length; i < l; ++i) {\n            dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n            // truncate time\n            val = this.clone().startOf('day').valueOf();\n\n            if (\n                (eras[i].since <= val && val <= eras[i].until) ||\n                (eras[i].until <= val && val <= eras[i].since)\n            ) {\n                return (\n                    (this.year() - hooks(eras[i].since).year()) * dir +\n                    eras[i].offset\n                );\n            }\n        }\n\n        return this.year();\n    }\n\n    function erasNameRegex(isStrict) {\n        if (!hasOwnProp(this, '_erasNameRegex')) {\n            computeErasParse.call(this);\n        }\n        return isStrict ? this._erasNameRegex : this._erasRegex;\n    }\n\n    function erasAbbrRegex(isStrict) {\n        if (!hasOwnProp(this, '_erasAbbrRegex')) {\n            computeErasParse.call(this);\n        }\n        return isStrict ? this._erasAbbrRegex : this._erasRegex;\n    }\n\n    function erasNarrowRegex(isStrict) {\n        if (!hasOwnProp(this, '_erasNarrowRegex')) {\n            computeErasParse.call(this);\n        }\n        return isStrict ? this._erasNarrowRegex : this._erasRegex;\n    }\n\n    function matchEraAbbr(isStrict, locale) {\n        return locale.erasAbbrRegex(isStrict);\n    }\n\n    function matchEraName(isStrict, locale) {\n        return locale.erasNameRegex(isStrict);\n    }\n\n    function matchEraNarrow(isStrict, locale) {\n        return locale.erasNarrowRegex(isStrict);\n    }\n\n    function matchEraYearOrdinal(isStrict, locale) {\n        return locale._eraYearOrdinalRegex || matchUnsigned;\n    }\n\n    function computeErasParse() {\n        var abbrPieces = [],\n            namePieces = [],\n            narrowPieces = [],\n            mixedPieces = [],\n            i,\n            l,\n            erasName,\n            erasAbbr,\n            erasNarrow,\n            eras = this.eras();\n\n        for (i = 0, l = eras.length; i < l; ++i) {\n            erasName = regexEscape(eras[i].name);\n            erasAbbr = regexEscape(eras[i].abbr);\n            erasNarrow = regexEscape(eras[i].narrow);\n\n            namePieces.push(erasName);\n            abbrPieces.push(erasAbbr);\n            narrowPieces.push(erasNarrow);\n            mixedPieces.push(erasName);\n            mixedPieces.push(erasAbbr);\n            mixedPieces.push(erasNarrow);\n        }\n\n        this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n        this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n        this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n        this._erasNarrowRegex = new RegExp(\n            '^(' + narrowPieces.join('|') + ')',\n            'i'\n        );\n    }\n\n    // FORMATTING\n\n    addFormatToken(0, ['gg', 2], 0, function () {\n        return this.weekYear() % 100;\n    });\n\n    addFormatToken(0, ['GG', 2], 0, function () {\n        return this.isoWeekYear() % 100;\n    });\n\n    function addWeekYearFormatToken(token, getter) {\n        addFormatToken(0, [token, token.length], 0, getter);\n    }\n\n    addWeekYearFormatToken('gggg', 'weekYear');\n    addWeekYearFormatToken('ggggg', 'weekYear');\n    addWeekYearFormatToken('GGGG', 'isoWeekYear');\n    addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n    // ALIASES\n\n    // PARSING\n\n    addRegexToken('G', matchSigned);\n    addRegexToken('g', matchSigned);\n    addRegexToken('GG', match1to2, match2);\n    addRegexToken('gg', match1to2, match2);\n    addRegexToken('GGGG', match1to4, match4);\n    addRegexToken('gggg', match1to4, match4);\n    addRegexToken('GGGGG', match1to6, match6);\n    addRegexToken('ggggg', match1to6, match6);\n\n    addWeekParseToken(\n        ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n        function (input, week, config, token) {\n            week[token.substr(0, 2)] = toInt(input);\n        }\n    );\n\n    addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n        week[token] = hooks.parseTwoDigitYear(input);\n    });\n\n    // MOMENTS\n\n    function getSetWeekYear(input) {\n        return getSetWeekYearHelper.call(\n            this,\n            input,\n            this.week(),\n            this.weekday() + this.localeData()._week.dow,\n            this.localeData()._week.dow,\n            this.localeData()._week.doy\n        );\n    }\n\n    function getSetISOWeekYear(input) {\n        return getSetWeekYearHelper.call(\n            this,\n            input,\n            this.isoWeek(),\n            this.isoWeekday(),\n            1,\n            4\n        );\n    }\n\n    function getISOWeeksInYear() {\n        return weeksInYear(this.year(), 1, 4);\n    }\n\n    function getISOWeeksInISOWeekYear() {\n        return weeksInYear(this.isoWeekYear(), 1, 4);\n    }\n\n    function getWeeksInYear() {\n        var weekInfo = this.localeData()._week;\n        return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n    }\n\n    function getWeeksInWeekYear() {\n        var weekInfo = this.localeData()._week;\n        return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n    }\n\n    function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n        var weeksTarget;\n        if (input == null) {\n            return weekOfYear(this, dow, doy).year;\n        } else {\n            weeksTarget = weeksInYear(input, dow, doy);\n            if (week > weeksTarget) {\n                week = weeksTarget;\n            }\n            return setWeekAll.call(this, input, week, weekday, dow, doy);\n        }\n    }\n\n    function setWeekAll(weekYear, week, weekday, dow, doy) {\n        var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n            date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n        this.year(date.getUTCFullYear());\n        this.month(date.getUTCMonth());\n        this.date(date.getUTCDate());\n        return this;\n    }\n\n    // FORMATTING\n\n    addFormatToken('Q', 0, 'Qo', 'quarter');\n\n    // PARSING\n\n    addRegexToken('Q', match1);\n    addParseToken('Q', function (input, array) {\n        array[MONTH] = (toInt(input) - 1) * 3;\n    });\n\n    // MOMENTS\n\n    function getSetQuarter(input) {\n        return input == null\n            ? Math.ceil((this.month() + 1) / 3)\n            : this.month((input - 1) * 3 + (this.month() % 3));\n    }\n\n    // FORMATTING\n\n    addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n    // PARSING\n\n    addRegexToken('D', match1to2, match1to2NoLeadingZero);\n    addRegexToken('DD', match1to2, match2);\n    addRegexToken('Do', function (isStrict, locale) {\n        // TODO: Remove \"ordinalParse\" fallback in next major release.\n        return isStrict\n            ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n            : locale._dayOfMonthOrdinalParseLenient;\n    });\n\n    addParseToken(['D', 'DD'], DATE);\n    addParseToken('Do', function (input, array) {\n        array[DATE] = toInt(input.match(match1to2)[0]);\n    });\n\n    // MOMENTS\n\n    var getSetDayOfMonth = makeGetSet('Date', true);\n\n    // FORMATTING\n\n    addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n    // PARSING\n\n    addRegexToken('DDD', match1to3);\n    addRegexToken('DDDD', match3);\n    addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n        config._dayOfYear = toInt(input);\n    });\n\n    // HELPERS\n\n    // MOMENTS\n\n    function getSetDayOfYear(input) {\n        var dayOfYear =\n            Math.round(\n                (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n            ) + 1;\n        return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n    }\n\n    // FORMATTING\n\n    addFormatToken('m', ['mm', 2], 0, 'minute');\n\n    // PARSING\n\n    addRegexToken('m', match1to2, match1to2HasZero);\n    addRegexToken('mm', match1to2, match2);\n    addParseToken(['m', 'mm'], MINUTE);\n\n    // MOMENTS\n\n    var getSetMinute = makeGetSet('Minutes', false);\n\n    // FORMATTING\n\n    addFormatToken('s', ['ss', 2], 0, 'second');\n\n    // PARSING\n\n    addRegexToken('s', match1to2, match1to2HasZero);\n    addRegexToken('ss', match1to2, match2);\n    addParseToken(['s', 'ss'], SECOND);\n\n    // MOMENTS\n\n    var getSetSecond = makeGetSet('Seconds', false);\n\n    // FORMATTING\n\n    addFormatToken('S', 0, 0, function () {\n        return ~~(this.millisecond() / 100);\n    });\n\n    addFormatToken(0, ['SS', 2], 0, function () {\n        return ~~(this.millisecond() / 10);\n    });\n\n    addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n    addFormatToken(0, ['SSSS', 4], 0, function () {\n        return this.millisecond() * 10;\n    });\n    addFormatToken(0, ['SSSSS', 5], 0, function () {\n        return this.millisecond() * 100;\n    });\n    addFormatToken(0, ['SSSSSS', 6], 0, function () {\n        return this.millisecond() * 1000;\n    });\n    addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n        return this.millisecond() * 10000;\n    });\n    addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n        return this.millisecond() * 100000;\n    });\n    addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n        return this.millisecond() * 1000000;\n    });\n\n    // PARSING\n\n    addRegexToken('S', match1to3, match1);\n    addRegexToken('SS', match1to3, match2);\n    addRegexToken('SSS', match1to3, match3);\n\n    var token, getSetMillisecond;\n    for (token = 'SSSS'; token.length <= 9; token += 'S') {\n        addRegexToken(token, matchUnsigned);\n    }\n\n    function parseMs(input, array) {\n        array[MILLISECOND] = toInt(('0.' + input) * 1000);\n    }\n\n    for (token = 'S'; token.length <= 9; token += 'S') {\n        addParseToken(token, parseMs);\n    }\n\n    getSetMillisecond = makeGetSet('Milliseconds', false);\n\n    // FORMATTING\n\n    addFormatToken('z', 0, 0, 'zoneAbbr');\n    addFormatToken('zz', 0, 0, 'zoneName');\n\n    // MOMENTS\n\n    function getZoneAbbr() {\n        return this._isUTC ? 'UTC' : '';\n    }\n\n    function getZoneName() {\n        return this._isUTC ? 'Coordinated Universal Time' : '';\n    }\n\n    var proto = Moment.prototype;\n\n    proto.add = add;\n    proto.calendar = calendar$1;\n    proto.clone = clone;\n    proto.diff = diff;\n    proto.endOf = endOf;\n    proto.format = format;\n    proto.from = from;\n    proto.fromNow = fromNow;\n    proto.to = to;\n    proto.toNow = toNow;\n    proto.get = stringGet;\n    proto.invalidAt = invalidAt;\n    proto.isAfter = isAfter;\n    proto.isBefore = isBefore;\n    proto.isBetween = isBetween;\n    proto.isSame = isSame;\n    proto.isSameOrAfter = isSameOrAfter;\n    proto.isSameOrBefore = isSameOrBefore;\n    proto.isValid = isValid$2;\n    proto.lang = lang;\n    proto.locale = locale;\n    proto.localeData = localeData;\n    proto.max = prototypeMax;\n    proto.min = prototypeMin;\n    proto.parsingFlags = parsingFlags;\n    proto.set = stringSet;\n    proto.startOf = startOf;\n    proto.subtract = subtract;\n    proto.toArray = toArray;\n    proto.toObject = toObject;\n    proto.toDate = toDate;\n    proto.toISOString = toISOString;\n    proto.inspect = inspect;\n    if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n        proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n            return 'Moment<' + this.format() + '>';\n        };\n    }\n    proto.toJSON = toJSON;\n    proto.toString = toString;\n    proto.unix = unix;\n    proto.valueOf = valueOf;\n    proto.creationData = creationData;\n    proto.eraName = getEraName;\n    proto.eraNarrow = getEraNarrow;\n    proto.eraAbbr = getEraAbbr;\n    proto.eraYear = getEraYear;\n    proto.year = getSetYear;\n    proto.isLeapYear = getIsLeapYear;\n    proto.weekYear = getSetWeekYear;\n    proto.isoWeekYear = getSetISOWeekYear;\n    proto.quarter = proto.quarters = getSetQuarter;\n    proto.month = getSetMonth;\n    proto.daysInMonth = getDaysInMonth;\n    proto.week = proto.weeks = getSetWeek;\n    proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n    proto.weeksInYear = getWeeksInYear;\n    proto.weeksInWeekYear = getWeeksInWeekYear;\n    proto.isoWeeksInYear = getISOWeeksInYear;\n    proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n    proto.date = getSetDayOfMonth;\n    proto.day = proto.days = getSetDayOfWeek;\n    proto.weekday = getSetLocaleDayOfWeek;\n    proto.isoWeekday = getSetISODayOfWeek;\n    proto.dayOfYear = getSetDayOfYear;\n    proto.hour = proto.hours = getSetHour;\n    proto.minute = proto.minutes = getSetMinute;\n    proto.second = proto.seconds = getSetSecond;\n    proto.millisecond = proto.milliseconds = getSetMillisecond;\n    proto.utcOffset = getSetOffset;\n    proto.utc = setOffsetToUTC;\n    proto.local = setOffsetToLocal;\n    proto.parseZone = setOffsetToParsedOffset;\n    proto.hasAlignedHourOffset = hasAlignedHourOffset;\n    proto.isDST = isDaylightSavingTime;\n    proto.isLocal = isLocal;\n    proto.isUtcOffset = isUtcOffset;\n    proto.isUtc = isUtc;\n    proto.isUTC = isUtc;\n    proto.zoneAbbr = getZoneAbbr;\n    proto.zoneName = getZoneName;\n    proto.dates = deprecate(\n        'dates accessor is deprecated. Use date instead.',\n        getSetDayOfMonth\n    );\n    proto.months = deprecate(\n        'months accessor is deprecated. Use month instead',\n        getSetMonth\n    );\n    proto.years = deprecate(\n        'years accessor is deprecated. Use year instead',\n        getSetYear\n    );\n    proto.zone = deprecate(\n        'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n        getSetZone\n    );\n    proto.isDSTShifted = deprecate(\n        'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n        isDaylightSavingTimeShifted\n    );\n\n    function createUnix(input) {\n        return createLocal(input * 1000);\n    }\n\n    function createInZone() {\n        return createLocal.apply(null, arguments).parseZone();\n    }\n\n    function preParsePostFormat(string) {\n        return string;\n    }\n\n    var proto$1 = Locale.prototype;\n\n    proto$1.calendar = calendar;\n    proto$1.longDateFormat = longDateFormat;\n    proto$1.invalidDate = invalidDate;\n    proto$1.ordinal = ordinal;\n    proto$1.preparse = preParsePostFormat;\n    proto$1.postformat = preParsePostFormat;\n    proto$1.relativeTime = relativeTime;\n    proto$1.pastFuture = pastFuture;\n    proto$1.set = set;\n    proto$1.eras = localeEras;\n    proto$1.erasParse = localeErasParse;\n    proto$1.erasConvertYear = localeErasConvertYear;\n    proto$1.erasAbbrRegex = erasAbbrRegex;\n    proto$1.erasNameRegex = erasNameRegex;\n    proto$1.erasNarrowRegex = erasNarrowRegex;\n\n    proto$1.months = localeMonths;\n    proto$1.monthsShort = localeMonthsShort;\n    proto$1.monthsParse = localeMonthsParse;\n    proto$1.monthsRegex = monthsRegex;\n    proto$1.monthsShortRegex = monthsShortRegex;\n    proto$1.week = localeWeek;\n    proto$1.firstDayOfYear = localeFirstDayOfYear;\n    proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n    proto$1.weekdays = localeWeekdays;\n    proto$1.weekdaysMin = localeWeekdaysMin;\n    proto$1.weekdaysShort = localeWeekdaysShort;\n    proto$1.weekdaysParse = localeWeekdaysParse;\n\n    proto$1.weekdaysRegex = weekdaysRegex;\n    proto$1.weekdaysShortRegex = weekdaysShortRegex;\n    proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n    proto$1.isPM = localeIsPM;\n    proto$1.meridiem = localeMeridiem;\n\n    function get$1(format, index, field, setter) {\n        var locale = getLocale(),\n            utc = createUTC().set(setter, index);\n        return locale[field](utc, format);\n    }\n\n    function listMonthsImpl(format, index, field) {\n        if (isNumber(format)) {\n            index = format;\n            format = undefined;\n        }\n\n        format = format || '';\n\n        if (index != null) {\n            return get$1(format, index, field, 'month');\n        }\n\n        var i,\n            out = [];\n        for (i = 0; i < 12; i++) {\n            out[i] = get$1(format, i, field, 'month');\n        }\n        return out;\n    }\n\n    // ()\n    // (5)\n    // (fmt, 5)\n    // (fmt)\n    // (true)\n    // (true, 5)\n    // (true, fmt, 5)\n    // (true, fmt)\n    function listWeekdaysImpl(localeSorted, format, index, field) {\n        if (typeof localeSorted === 'boolean') {\n            if (isNumber(format)) {\n                index = format;\n                format = undefined;\n            }\n\n            format = format || '';\n        } else {\n            format = localeSorted;\n            index = format;\n            localeSorted = false;\n\n            if (isNumber(format)) {\n                index = format;\n                format = undefined;\n            }\n\n            format = format || '';\n        }\n\n        var locale = getLocale(),\n            shift = localeSorted ? locale._week.dow : 0,\n            i,\n            out = [];\n\n        if (index != null) {\n            return get$1(format, (index + shift) % 7, field, 'day');\n        }\n\n        for (i = 0; i < 7; i++) {\n            out[i] = get$1(format, (i + shift) % 7, field, 'day');\n        }\n        return out;\n    }\n\n    function listMonths(format, index) {\n        return listMonthsImpl(format, index, 'months');\n    }\n\n    function listMonthsShort(format, index) {\n        return listMonthsImpl(format, index, 'monthsShort');\n    }\n\n    function listWeekdays(localeSorted, format, index) {\n        return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n    }\n\n    function listWeekdaysShort(localeSorted, format, index) {\n        return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n    }\n\n    function listWeekdaysMin(localeSorted, format, index) {\n        return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n    }\n\n    getSetGlobalLocale('en', {\n        eras: [\n            {\n                since: '0001-01-01',\n                until: +Infinity,\n                offset: 1,\n                name: 'Anno Domini',\n                narrow: 'AD',\n                abbr: 'AD',\n            },\n            {\n                since: '0000-12-31',\n                until: -Infinity,\n                offset: 1,\n                name: 'Before Christ',\n                narrow: 'BC',\n                abbr: 'BC',\n            },\n        ],\n        dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    toInt((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                          ? 'st'\n                          : b === 2\n                            ? 'nd'\n                            : b === 3\n                              ? 'rd'\n                              : 'th';\n            return number + output;\n        },\n    });\n\n    // Side effect imports\n\n    hooks.lang = deprecate(\n        'moment.lang is deprecated. Use moment.locale instead.',\n        getSetGlobalLocale\n    );\n    hooks.langData = deprecate(\n        'moment.langData is deprecated. Use moment.localeData instead.',\n        getLocale\n    );\n\n    var mathAbs = Math.abs;\n\n    function abs() {\n        var data = this._data;\n\n        this._milliseconds = mathAbs(this._milliseconds);\n        this._days = mathAbs(this._days);\n        this._months = mathAbs(this._months);\n\n        data.milliseconds = mathAbs(data.milliseconds);\n        data.seconds = mathAbs(data.seconds);\n        data.minutes = mathAbs(data.minutes);\n        data.hours = mathAbs(data.hours);\n        data.months = mathAbs(data.months);\n        data.years = mathAbs(data.years);\n\n        return this;\n    }\n\n    function addSubtract$1(duration, input, value, direction) {\n        var other = createDuration(input, value);\n\n        duration._milliseconds += direction * other._milliseconds;\n        duration._days += direction * other._days;\n        duration._months += direction * other._months;\n\n        return duration._bubble();\n    }\n\n    // supports only 2.0-style add(1, 's') or add(duration)\n    function add$1(input, value) {\n        return addSubtract$1(this, input, value, 1);\n    }\n\n    // supports only 2.0-style subtract(1, 's') or subtract(duration)\n    function subtract$1(input, value) {\n        return addSubtract$1(this, input, value, -1);\n    }\n\n    function absCeil(number) {\n        if (number < 0) {\n            return Math.floor(number);\n        } else {\n            return Math.ceil(number);\n        }\n    }\n\n    function bubble() {\n        var milliseconds = this._milliseconds,\n            days = this._days,\n            months = this._months,\n            data = this._data,\n            seconds,\n            minutes,\n            hours,\n            years,\n            monthsFromDays;\n\n        // if we have a mix of positive and negative values, bubble down first\n        // check: https://github.com/moment/moment/issues/2166\n        if (\n            !(\n                (milliseconds >= 0 && days >= 0 && months >= 0) ||\n                (milliseconds <= 0 && days <= 0 && months <= 0)\n            )\n        ) {\n            milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n            days = 0;\n            months = 0;\n        }\n\n        // The following code bubbles up values, see the tests for\n        // examples of what that means.\n        data.milliseconds = milliseconds % 1000;\n\n        seconds = absFloor(milliseconds / 1000);\n        data.seconds = seconds % 60;\n\n        minutes = absFloor(seconds / 60);\n        data.minutes = minutes % 60;\n\n        hours = absFloor(minutes / 60);\n        data.hours = hours % 24;\n\n        days += absFloor(hours / 24);\n\n        // convert days to months\n        monthsFromDays = absFloor(daysToMonths(days));\n        months += monthsFromDays;\n        days -= absCeil(monthsToDays(monthsFromDays));\n\n        // 12 months -> 1 year\n        years = absFloor(months / 12);\n        months %= 12;\n\n        data.days = days;\n        data.months = months;\n        data.years = years;\n\n        return this;\n    }\n\n    function daysToMonths(days) {\n        // 400 years have 146097 days (taking into account leap year rules)\n        // 400 years have 12 months === 4800\n        return (days * 4800) / 146097;\n    }\n\n    function monthsToDays(months) {\n        // the reverse of daysToMonths\n        return (months * 146097) / 4800;\n    }\n\n    function as(units) {\n        if (!this.isValid()) {\n            return NaN;\n        }\n        var days,\n            months,\n            milliseconds = this._milliseconds;\n\n        units = normalizeUnits(units);\n\n        if (units === 'month' || units === 'quarter' || units === 'year') {\n            days = this._days + milliseconds / 864e5;\n            months = this._months + daysToMonths(days);\n            switch (units) {\n                case 'month':\n                    return months;\n                case 'quarter':\n                    return months / 3;\n                case 'year':\n                    return months / 12;\n            }\n        } else {\n            // handle milliseconds separately because of floating point math errors (issue #1867)\n            days = this._days + Math.round(monthsToDays(this._months));\n            switch (units) {\n                case 'week':\n                    return days / 7 + milliseconds / 6048e5;\n                case 'day':\n                    return days + milliseconds / 864e5;\n                case 'hour':\n                    return days * 24 + milliseconds / 36e5;\n                case 'minute':\n                    return days * 1440 + milliseconds / 6e4;\n                case 'second':\n                    return days * 86400 + milliseconds / 1000;\n                // Math.floor prevents floating point math errors here\n                case 'millisecond':\n                    return Math.floor(days * 864e5) + milliseconds;\n                default:\n                    throw new Error('Unknown unit ' + units);\n            }\n        }\n    }\n\n    function makeAs(alias) {\n        return function () {\n            return this.as(alias);\n        };\n    }\n\n    var asMilliseconds = makeAs('ms'),\n        asSeconds = makeAs('s'),\n        asMinutes = makeAs('m'),\n        asHours = makeAs('h'),\n        asDays = makeAs('d'),\n        asWeeks = makeAs('w'),\n        asMonths = makeAs('M'),\n        asQuarters = makeAs('Q'),\n        asYears = makeAs('y'),\n        valueOf$1 = asMilliseconds;\n\n    function clone$1() {\n        return createDuration(this);\n    }\n\n    function get$2(units) {\n        units = normalizeUnits(units);\n        return this.isValid() ? this[units + 's']() : NaN;\n    }\n\n    function makeGetter(name) {\n        return function () {\n            return this.isValid() ? this._data[name] : NaN;\n        };\n    }\n\n    var milliseconds = makeGetter('milliseconds'),\n        seconds = makeGetter('seconds'),\n        minutes = makeGetter('minutes'),\n        hours = makeGetter('hours'),\n        days = makeGetter('days'),\n        months = makeGetter('months'),\n        years = makeGetter('years');\n\n    function weeks() {\n        return absFloor(this.days() / 7);\n    }\n\n    var round = Math.round,\n        thresholds = {\n            ss: 44, // a few seconds to seconds\n            s: 45, // seconds to minute\n            m: 45, // minutes to hour\n            h: 22, // hours to day\n            d: 26, // days to month/week\n            w: null, // weeks to month\n            M: 11, // months to year\n        };\n\n    // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n    function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n        return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n    }\n\n    function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n        var duration = createDuration(posNegDuration).abs(),\n            seconds = round(duration.as('s')),\n            minutes = round(duration.as('m')),\n            hours = round(duration.as('h')),\n            days = round(duration.as('d')),\n            months = round(duration.as('M')),\n            weeks = round(duration.as('w')),\n            years = round(duration.as('y')),\n            a =\n                (seconds <= thresholds.ss && ['s', seconds]) ||\n                (seconds < thresholds.s && ['ss', seconds]) ||\n                (minutes <= 1 && ['m']) ||\n                (minutes < thresholds.m && ['mm', minutes]) ||\n                (hours <= 1 && ['h']) ||\n                (hours < thresholds.h && ['hh', hours]) ||\n                (days <= 1 && ['d']) ||\n                (days < thresholds.d && ['dd', days]);\n\n        if (thresholds.w != null) {\n            a =\n                a ||\n                (weeks <= 1 && ['w']) ||\n                (weeks < thresholds.w && ['ww', weeks]);\n        }\n        a = a ||\n            (months <= 1 && ['M']) ||\n            (months < thresholds.M && ['MM', months]) ||\n            (years <= 1 && ['y']) || ['yy', years];\n\n        a[2] = withoutSuffix;\n        a[3] = +posNegDuration > 0;\n        a[4] = locale;\n        return substituteTimeAgo.apply(null, a);\n    }\n\n    // This function allows you to set the rounding function for relative time strings\n    function getSetRelativeTimeRounding(roundingFunction) {\n        if (roundingFunction === undefined) {\n            return round;\n        }\n        if (typeof roundingFunction === 'function') {\n            round = roundingFunction;\n            return true;\n        }\n        return false;\n    }\n\n    // This function allows you to set a threshold for relative time strings\n    function getSetRelativeTimeThreshold(threshold, limit) {\n        if (thresholds[threshold] === undefined) {\n            return false;\n        }\n        if (limit === undefined) {\n            return thresholds[threshold];\n        }\n        thresholds[threshold] = limit;\n        if (threshold === 's') {\n            thresholds.ss = limit - 1;\n        }\n        return true;\n    }\n\n    function humanize(argWithSuffix, argThresholds) {\n        if (!this.isValid()) {\n            return this.localeData().invalidDate();\n        }\n\n        var withSuffix = false,\n            th = thresholds,\n            locale,\n            output;\n\n        if (typeof argWithSuffix === 'object') {\n            argThresholds = argWithSuffix;\n            argWithSuffix = false;\n        }\n        if (typeof argWithSuffix === 'boolean') {\n            withSuffix = argWithSuffix;\n        }\n        if (typeof argThresholds === 'object') {\n            th = Object.assign({}, thresholds, argThresholds);\n            if (argThresholds.s != null && argThresholds.ss == null) {\n                th.ss = argThresholds.s - 1;\n            }\n        }\n\n        locale = this.localeData();\n        output = relativeTime$1(this, !withSuffix, th, locale);\n\n        if (withSuffix) {\n            output = locale.pastFuture(+this, output);\n        }\n\n        return locale.postformat(output);\n    }\n\n    var abs$1 = Math.abs;\n\n    function sign(x) {\n        return (x > 0) - (x < 0) || +x;\n    }\n\n    function toISOString$1() {\n        // for ISO strings we do not use the normal bubbling rules:\n        //  * milliseconds bubble up until they become hours\n        //  * days do not bubble at all\n        //  * months bubble up until they become years\n        // This is because there is no context-free conversion between hours and days\n        // (think of clock changes)\n        // and also not between days and months (28-31 days per month)\n        if (!this.isValid()) {\n            return this.localeData().invalidDate();\n        }\n\n        var seconds = abs$1(this._milliseconds) / 1000,\n            days = abs$1(this._days),\n            months = abs$1(this._months),\n            minutes,\n            hours,\n            years,\n            s,\n            total = this.asSeconds(),\n            totalSign,\n            ymSign,\n            daysSign,\n            hmsSign;\n\n        if (!total) {\n            // this is the same as C#'s (Noda) and python (isodate)...\n            // but not other JS (goog.date)\n            return 'P0D';\n        }\n\n        // 3600 seconds -> 60 minutes -> 1 hour\n        minutes = absFloor(seconds / 60);\n        hours = absFloor(minutes / 60);\n        seconds %= 60;\n        minutes %= 60;\n\n        // 12 months -> 1 year\n        years = absFloor(months / 12);\n        months %= 12;\n\n        // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n        s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n        totalSign = total < 0 ? '-' : '';\n        ymSign = sign(this._months) !== sign(total) ? '-' : '';\n        daysSign = sign(this._days) !== sign(total) ? '-' : '';\n        hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n        return (\n            totalSign +\n            'P' +\n            (years ? ymSign + years + 'Y' : '') +\n            (months ? ymSign + months + 'M' : '') +\n            (days ? daysSign + days + 'D' : '') +\n            (hours || minutes || seconds ? 'T' : '') +\n            (hours ? hmsSign + hours + 'H' : '') +\n            (minutes ? hmsSign + minutes + 'M' : '') +\n            (seconds ? hmsSign + s + 'S' : '')\n        );\n    }\n\n    var proto$2 = Duration.prototype;\n\n    proto$2.isValid = isValid$1;\n    proto$2.abs = abs;\n    proto$2.add = add$1;\n    proto$2.subtract = subtract$1;\n    proto$2.as = as;\n    proto$2.asMilliseconds = asMilliseconds;\n    proto$2.asSeconds = asSeconds;\n    proto$2.asMinutes = asMinutes;\n    proto$2.asHours = asHours;\n    proto$2.asDays = asDays;\n    proto$2.asWeeks = asWeeks;\n    proto$2.asMonths = asMonths;\n    proto$2.asQuarters = asQuarters;\n    proto$2.asYears = asYears;\n    proto$2.valueOf = valueOf$1;\n    proto$2._bubble = bubble;\n    proto$2.clone = clone$1;\n    proto$2.get = get$2;\n    proto$2.milliseconds = milliseconds;\n    proto$2.seconds = seconds;\n    proto$2.minutes = minutes;\n    proto$2.hours = hours;\n    proto$2.days = days;\n    proto$2.weeks = weeks;\n    proto$2.months = months;\n    proto$2.years = years;\n    proto$2.humanize = humanize;\n    proto$2.toISOString = toISOString$1;\n    proto$2.toString = toISOString$1;\n    proto$2.toJSON = toISOString$1;\n    proto$2.locale = locale;\n    proto$2.localeData = localeData;\n\n    proto$2.toIsoString = deprecate(\n        'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n        toISOString$1\n    );\n    proto$2.lang = lang;\n\n    // FORMATTING\n\n    addFormatToken('X', 0, 0, 'unix');\n    addFormatToken('x', 0, 0, 'valueOf');\n\n    // PARSING\n\n    addRegexToken('x', matchSigned);\n    addRegexToken('X', matchTimestamp);\n    addParseToken('X', function (input, array, config) {\n        config._d = new Date(parseFloat(input) * 1000);\n    });\n    addParseToken('x', function (input, array, config) {\n        config._d = new Date(toInt(input));\n    });\n\n    //! moment.js\n\n    hooks.version = '2.30.1';\n\n    setHookCallback(createLocal);\n\n    hooks.fn = proto;\n    hooks.min = min;\n    hooks.max = max;\n    hooks.now = now;\n    hooks.utc = createUTC;\n    hooks.unix = createUnix;\n    hooks.months = listMonths;\n    hooks.isDate = isDate;\n    hooks.locale = getSetGlobalLocale;\n    hooks.invalid = createInvalid;\n    hooks.duration = createDuration;\n    hooks.isMoment = isMoment;\n    hooks.weekdays = listWeekdays;\n    hooks.parseZone = createInZone;\n    hooks.localeData = getLocale;\n    hooks.isDuration = isDuration;\n    hooks.monthsShort = listMonthsShort;\n    hooks.weekdaysMin = listWeekdaysMin;\n    hooks.defineLocale = defineLocale;\n    hooks.updateLocale = updateLocale;\n    hooks.locales = listLocales;\n    hooks.weekdaysShort = listWeekdaysShort;\n    hooks.normalizeUnits = normalizeUnits;\n    hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n    hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n    hooks.calendarFormat = getCalendarFormat;\n    hooks.prototype = proto;\n\n    // currently HTML5 input type only supports 24-hour formats\n    hooks.HTML5_FMT = {\n        DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type=\"datetime-local\" />\n        DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type=\"datetime-local\" step=\"1\" />\n        DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type=\"datetime-local\" step=\"0.001\" />\n        DATE: 'YYYY-MM-DD', // <input type=\"date\" />\n        TIME: 'HH:mm', // <input type=\"time\" />\n        TIME_SECONDS: 'HH:mm:ss', // <input type=\"time\" step=\"1\" />\n        TIME_MS: 'HH:mm:ss.SSS', // <input type=\"time\" step=\"0.001\" />\n        WEEK: 'GGGG-[W]WW', // <input type=\"week\" />\n        MONTH: 'YYYY-MM', // <input type=\"month\" />\n    };\n\n    return hooks;\n\n})));\n","/*!\n * mustache.js - Logic-less {{mustache}} templates with JavaScript\n * http://github.com/janl/mustache.js\n */\n\n/*global define: false Mustache: true*/\n\n(function defineMustache (global, factory) {\n  if (typeof exports === 'object' && exports && typeof exports.nodeName !== 'string') {\n    factory(exports); // CommonJS\n  } else if (typeof define === 'function' && define.amd) {\n    define(['exports'], factory); // AMD\n  } else {\n    global.Mustache = {};\n    factory(global.Mustache); // script, wsh, asp\n  }\n}(this, function mustacheFactory (mustache) {\n\n  var objectToString = Object.prototype.toString;\n  var isArray = Array.isArray || function isArrayPolyfill (object) {\n    return objectToString.call(object) === '[object Array]';\n  };\n\n  function isFunction (object) {\n    return typeof object === 'function';\n  }\n\n  /**\n   * More correct typeof string handling array\n   * which normally returns typeof 'object'\n   */\n  function typeStr (obj) {\n    return isArray(obj) ? 'array' : typeof obj;\n  }\n\n  function escapeRegExp (string) {\n    return string.replace(/[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g, '\\\\$&');\n  }\n\n  /**\n   * Null safe way of checking whether or not an object,\n   * including its prototype, has a given property\n   */\n  function hasProperty (obj, propName) {\n    return obj != null && typeof obj === 'object' && (propName in obj);\n  }\n\n  /**\n   * Safe way of detecting whether or not the given thing is a primitive and\n   * whether it has the given property\n   */\n  function primitiveHasOwnProperty (primitive, propName) {  \n    return (\n      primitive != null\n      && typeof primitive !== 'object'\n      && primitive.hasOwnProperty\n      && primitive.hasOwnProperty(propName)\n    );\n  }\n\n  // Workaround for https://issues.apache.org/jira/browse/COUCHDB-577\n  // See https://github.com/janl/mustache.js/issues/189\n  var regExpTest = RegExp.prototype.test;\n  function testRegExp (re, string) {\n    return regExpTest.call(re, string);\n  }\n\n  var nonSpaceRe = /\\S/;\n  function isWhitespace (string) {\n    return !testRegExp(nonSpaceRe, string);\n  }\n\n  var entityMap = {\n    '&': '&amp;',\n    '<': '&lt;',\n    '>': '&gt;',\n    '\"': '&quot;',\n    \"'\": '&#39;',\n    '/': '&#x2F;',\n    '`': '&#x60;',\n    '=': '&#x3D;'\n  };\n\n  function escapeHtml (string) {\n    return String(string).replace(/[&<>\"'`=\\/]/g, function fromEntityMap (s) {\n      return entityMap[s];\n    });\n  }\n\n  var whiteRe = /\\s*/;\n  var spaceRe = /\\s+/;\n  var equalsRe = /\\s*=/;\n  var curlyRe = /\\s*\\}/;\n  var tagRe = /#|\\^|\\/|>|\\{|&|=|!/;\n\n  /**\n   * Breaks up the given `template` string into a tree of tokens. If the `tags`\n   * argument is given here it must be an array with two string values: the\n   * opening and closing tags used in the template (e.g. [ \"<%\", \"%>\" ]). Of\n   * course, the default is to use mustaches (i.e. mustache.tags).\n   *\n   * A token is an array with at least 4 elements. The first element is the\n   * mustache symbol that was used inside the tag, e.g. \"#\" or \"&\". If the tag\n   * did not contain a symbol (i.e. {{myValue}}) this element is \"name\". For\n   * all text that appears outside a symbol this element is \"text\".\n   *\n   * The second element of a token is its \"value\". For mustache tags this is\n   * whatever else was inside the tag besides the opening symbol. For text tokens\n   * this is the text itself.\n   *\n   * The third and fourth elements of the token are the start and end indices,\n   * respectively, of the token in the original template.\n   *\n   * Tokens that are the root node of a subtree contain two more elements: 1) an\n   * array of tokens in the subtree and 2) the index in the original template at\n   * which the closing tag for that section begins.\n   */\n  function parseTemplate (template, tags) {\n    if (!template)\n      return [];\n\n    var sections = [];     // Stack to hold section tokens\n    var tokens = [];       // Buffer to hold the tokens\n    var spaces = [];       // Indices of whitespace tokens on the current line\n    var hasTag = false;    // Is there a {{tag}} on the current line?\n    var nonSpace = false;  // Is there a non-space char on the current line?\n\n    // Strips all whitespace tokens array for the current line\n    // if there was a {{#tag}} on it and otherwise only space.\n    function stripSpace () {\n      if (hasTag && !nonSpace) {\n        while (spaces.length)\n          delete tokens[spaces.pop()];\n      } else {\n        spaces = [];\n      }\n\n      hasTag = false;\n      nonSpace = false;\n    }\n\n    var openingTagRe, closingTagRe, closingCurlyRe;\n    function compileTags (tagsToCompile) {\n      if (typeof tagsToCompile === 'string')\n        tagsToCompile = tagsToCompile.split(spaceRe, 2);\n\n      if (!isArray(tagsToCompile) || tagsToCompile.length !== 2)\n        throw new Error('Invalid tags: ' + tagsToCompile);\n\n      openingTagRe = new RegExp(escapeRegExp(tagsToCompile[0]) + '\\\\s*');\n      closingTagRe = new RegExp('\\\\s*' + escapeRegExp(tagsToCompile[1]));\n      closingCurlyRe = new RegExp('\\\\s*' + escapeRegExp('}' + tagsToCompile[1]));\n    }\n\n    compileTags(tags || mustache.tags);\n\n    var scanner = new Scanner(template);\n\n    var start, type, value, chr, token, openSection;\n    while (!scanner.eos()) {\n      start = scanner.pos;\n\n      // Match any text between tags.\n      value = scanner.scanUntil(openingTagRe);\n\n      if (value) {\n        for (var i = 0, valueLength = value.length; i < valueLength; ++i) {\n          chr = value.charAt(i);\n\n          if (isWhitespace(chr)) {\n            spaces.push(tokens.length);\n          } else {\n            nonSpace = true;\n          }\n\n          tokens.push([ 'text', chr, start, start + 1 ]);\n          start += 1;\n\n          // Check for whitespace on the current line.\n          if (chr === '\\n')\n            stripSpace();\n        }\n      }\n\n      // Match the opening tag.\n      if (!scanner.scan(openingTagRe))\n        break;\n\n      hasTag = true;\n\n      // Get the tag type.\n      type = scanner.scan(tagRe) || 'name';\n      scanner.scan(whiteRe);\n\n      // Get the tag value.\n      if (type === '=') {\n        value = scanner.scanUntil(equalsRe);\n        scanner.scan(equalsRe);\n        scanner.scanUntil(closingTagRe);\n      } else if (type === '{') {\n        value = scanner.scanUntil(closingCurlyRe);\n        scanner.scan(curlyRe);\n        scanner.scanUntil(closingTagRe);\n        type = '&';\n      } else {\n        value = scanner.scanUntil(closingTagRe);\n      }\n\n      // Match the closing tag.\n      if (!scanner.scan(closingTagRe))\n        throw new Error('Unclosed tag at ' + scanner.pos);\n\n      token = [ type, value, start, scanner.pos ];\n      tokens.push(token);\n\n      if (type === '#' || type === '^') {\n        sections.push(token);\n      } else if (type === '/') {\n        // Check section nesting.\n        openSection = sections.pop();\n\n        if (!openSection)\n          throw new Error('Unopened section \"' + value + '\" at ' + start);\n\n        if (openSection[1] !== value)\n          throw new Error('Unclosed section \"' + openSection[1] + '\" at ' + start);\n      } else if (type === 'name' || type === '{' || type === '&') {\n        nonSpace = true;\n      } else if (type === '=') {\n        // Set the tags for the next time around.\n        compileTags(value);\n      }\n    }\n\n    // Make sure there are no open sections when we're done.\n    openSection = sections.pop();\n\n    if (openSection)\n      throw new Error('Unclosed section \"' + openSection[1] + '\" at ' + scanner.pos);\n\n    return nestTokens(squashTokens(tokens));\n  }\n\n  /**\n   * Combines the values of consecutive text tokens in the given `tokens` array\n   * to a single token.\n   */\n  function squashTokens (tokens) {\n    var squashedTokens = [];\n\n    var token, lastToken;\n    for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {\n      token = tokens[i];\n\n      if (token) {\n        if (token[0] === 'text' && lastToken && lastToken[0] === 'text') {\n          lastToken[1] += token[1];\n          lastToken[3] = token[3];\n        } else {\n          squashedTokens.push(token);\n          lastToken = token;\n        }\n      }\n    }\n\n    return squashedTokens;\n  }\n\n  /**\n   * Forms the given array of `tokens` into a nested tree structure where\n   * tokens that represent a section have two additional items: 1) an array of\n   * all tokens that appear in that section and 2) the index in the original\n   * template that represents the end of that section.\n   */\n  function nestTokens (tokens) {\n    var nestedTokens = [];\n    var collector = nestedTokens;\n    var sections = [];\n\n    var token, section;\n    for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {\n      token = tokens[i];\n\n      switch (token[0]) {\n        case '#':\n        case '^':\n          collector.push(token);\n          sections.push(token);\n          collector = token[4] = [];\n          break;\n        case '/':\n          section = sections.pop();\n          section[5] = token[2];\n          collector = sections.length > 0 ? sections[sections.length - 1][4] : nestedTokens;\n          break;\n        default:\n          collector.push(token);\n      }\n    }\n\n    return nestedTokens;\n  }\n\n  /**\n   * A simple string scanner that is used by the template parser to find\n   * tokens in template strings.\n   */\n  function Scanner (string) {\n    this.string = string;\n    this.tail = string;\n    this.pos = 0;\n  }\n\n  /**\n   * Returns `true` if the tail is empty (end of string).\n   */\n  Scanner.prototype.eos = function eos () {\n    return this.tail === '';\n  };\n\n  /**\n   * Tries to match the given regular expression at the current position.\n   * Returns the matched text if it can match, the empty string otherwise.\n   */\n  Scanner.prototype.scan = function scan (re) {\n    var match = this.tail.match(re);\n\n    if (!match || match.index !== 0)\n      return '';\n\n    var string = match[0];\n\n    this.tail = this.tail.substring(string.length);\n    this.pos += string.length;\n\n    return string;\n  };\n\n  /**\n   * Skips all text until the given regular expression can be matched. Returns\n   * the skipped string, which is the entire tail if no match can be made.\n   */\n  Scanner.prototype.scanUntil = function scanUntil (re) {\n    var index = this.tail.search(re), match;\n\n    switch (index) {\n      case -1:\n        match = this.tail;\n        this.tail = '';\n        break;\n      case 0:\n        match = '';\n        break;\n      default:\n        match = this.tail.substring(0, index);\n        this.tail = this.tail.substring(index);\n    }\n\n    this.pos += match.length;\n\n    return match;\n  };\n\n  /**\n   * Represents a rendering context by wrapping a view object and\n   * maintaining a reference to the parent context.\n   */\n  function Context (view, parentContext) {\n    this.view = view;\n    this.cache = { '.': this.view };\n    this.parent = parentContext;\n  }\n\n  /**\n   * Creates a new context using the given view with this context\n   * as the parent.\n   */\n  Context.prototype.push = function push (view) {\n    return new Context(view, this);\n  };\n\n  /**\n   * Returns the value of the given name in this context, traversing\n   * up the context hierarchy if the value is absent in this context's view.\n   */\n  Context.prototype.lookup = function lookup (name) {\n    var cache = this.cache;\n\n    var value;\n    if (cache.hasOwnProperty(name)) {\n      value = cache[name];\n    } else {\n      var context = this, intermediateValue, names, index, lookupHit = false;\n\n      while (context) {\n        if (name.indexOf('.') > 0) {\n          intermediateValue = context.view;\n          names = name.split('.');\n          index = 0;\n\n          /**\n           * Using the dot notion path in `name`, we descend through the\n           * nested objects.\n           *\n           * To be certain that the lookup has been successful, we have to\n           * check if the last object in the path actually has the property\n           * we are looking for. We store the result in `lookupHit`.\n           *\n           * This is specially necessary for when the value has been set to\n           * `undefined` and we want to avoid looking up parent contexts.\n           *\n           * In the case where dot notation is used, we consider the lookup\n           * to be successful even if the last \"object\" in the path is\n           * not actually an object but a primitive (e.g., a string, or an\n           * integer), because it is sometimes useful to access a property\n           * of an autoboxed primitive, such as the length of a string.\n           **/\n          while (intermediateValue != null && index < names.length) {\n            if (index === names.length - 1)\n              lookupHit = (\n                hasProperty(intermediateValue, names[index]) \n                || primitiveHasOwnProperty(intermediateValue, names[index])\n              );\n\n            intermediateValue = intermediateValue[names[index++]];\n          }\n        } else {\n          intermediateValue = context.view[name];\n\n          /**\n           * Only checking against `hasProperty`, which always returns `false` if\n           * `context.view` is not an object. Deliberately omitting the check\n           * against `primitiveHasOwnProperty` if dot notation is not used.\n           *\n           * Consider this example:\n           * ```\n           * Mustache.render(\"The length of a football field is {{#length}}{{length}}{{/length}}.\", {length: \"100 yards\"})\n           * ```\n           *\n           * If we were to check also against `primitiveHasOwnProperty`, as we do\n           * in the dot notation case, then render call would return:\n           *\n           * \"The length of a football field is 9.\"\n           *\n           * rather than the expected:\n           *\n           * \"The length of a football field is 100 yards.\"\n           **/\n          lookupHit = hasProperty(context.view, name);\n        }\n\n        if (lookupHit) {\n          value = intermediateValue;\n          break;\n        }\n\n        context = context.parent;\n      }\n\n      cache[name] = value;\n    }\n\n    if (isFunction(value))\n      value = value.call(this.view);\n\n    return value;\n  };\n\n  /**\n   * A Writer knows how to take a stream of tokens and render them to a\n   * string, given a context. It also maintains a cache of templates to\n   * avoid the need to parse the same template twice.\n   */\n  function Writer () {\n    this.cache = {};\n  }\n\n  /**\n   * Clears all cached templates in this writer.\n   */\n  Writer.prototype.clearCache = function clearCache () {\n    this.cache = {};\n  };\n\n  /**\n   * Parses and caches the given `template` according to the given `tags` or\n   * `mustache.tags` if `tags` is omitted,  and returns the array of tokens\n   * that is generated from the parse.\n   */\n  Writer.prototype.parse = function parse (template, tags) {\n    var cache = this.cache;\n    var cacheKey = template + ':' + (tags || mustache.tags).join(':');\n    var tokens = cache[cacheKey];\n\n    if (tokens == null)\n      tokens = cache[cacheKey] = parseTemplate(template, tags);\n\n    return tokens;\n  };\n\n  /**\n   * High-level method that is used to render the given `template` with\n   * the given `view`.\n   *\n   * The optional `partials` argument may be an object that contains the\n   * names and templates of partials that are used in the template. It may\n   * also be a function that is used to load partial templates on the fly\n   * that takes a single argument: the name of the partial.\n   *\n   * If the optional `tags` argument is given here it must be an array with two\n   * string values: the opening and closing tags used in the template (e.g.\n   * [ \"<%\", \"%>\" ]). The default is to mustache.tags.\n   */\n  Writer.prototype.render = function render (template, view, partials, tags) {\n    var tokens = this.parse(template, tags);\n    var context = (view instanceof Context) ? view : new Context(view);\n    return this.renderTokens(tokens, context, partials, template);\n  };\n\n  /**\n   * Low-level method that renders the given array of `tokens` using\n   * the given `context` and `partials`.\n   *\n   * Note: The `originalTemplate` is only ever used to extract the portion\n   * of the original template that was contained in a higher-order section.\n   * If the template doesn't use higher-order sections, this argument may\n   * be omitted.\n   */\n  Writer.prototype.renderTokens = function renderTokens (tokens, context, partials, originalTemplate) {\n    var buffer = '';\n\n    var token, symbol, value;\n    for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {\n      value = undefined;\n      token = tokens[i];\n      symbol = token[0];\n\n      if (symbol === '#') value = this.renderSection(token, context, partials, originalTemplate);\n      else if (symbol === '^') value = this.renderInverted(token, context, partials, originalTemplate);\n      else if (symbol === '>') value = this.renderPartial(token, context, partials, originalTemplate);\n      else if (symbol === '&') value = this.unescapedValue(token, context);\n      else if (symbol === 'name') value = this.escapedValue(token, context);\n      else if (symbol === 'text') value = this.rawValue(token);\n\n      if (value !== undefined)\n        buffer += value;\n    }\n\n    return buffer;\n  };\n\n  Writer.prototype.renderSection = function renderSection (token, context, partials, originalTemplate) {\n    var self = this;\n    var buffer = '';\n    var value = context.lookup(token[1]);\n\n    // This function is used to render an arbitrary template\n    // in the current context by higher-order sections.\n    function subRender (template) {\n      return self.render(template, context, partials);\n    }\n\n    if (!value) return;\n\n    if (isArray(value)) {\n      for (var j = 0, valueLength = value.length; j < valueLength; ++j) {\n        buffer += this.renderTokens(token[4], context.push(value[j]), partials, originalTemplate);\n      }\n    } else if (typeof value === 'object' || typeof value === 'string' || typeof value === 'number') {\n      buffer += this.renderTokens(token[4], context.push(value), partials, originalTemplate);\n    } else if (isFunction(value)) {\n      if (typeof originalTemplate !== 'string')\n        throw new Error('Cannot use higher-order sections without the original template');\n\n      // Extract the portion of the original template that the section contains.\n      value = value.call(context.view, originalTemplate.slice(token[3], token[5]), subRender);\n\n      if (value != null)\n        buffer += value;\n    } else {\n      buffer += this.renderTokens(token[4], context, partials, originalTemplate);\n    }\n    return buffer;\n  };\n\n  Writer.prototype.renderInverted = function renderInverted (token, context, partials, originalTemplate) {\n    var value = context.lookup(token[1]);\n\n    // Use JavaScript's definition of falsy. Include empty arrays.\n    // See https://github.com/janl/mustache.js/issues/186\n    if (!value || (isArray(value) && value.length === 0))\n      return this.renderTokens(token[4], context, partials, originalTemplate);\n  };\n\n  Writer.prototype.renderPartial = function renderPartial (token, context, partials) {\n    if (!partials) return;\n\n    var value = isFunction(partials) ? partials(token[1]) : partials[token[1]];\n    if (value != null)\n      return this.renderTokens(this.parse(value), context, partials, value);\n  };\n\n  Writer.prototype.unescapedValue = function unescapedValue (token, context) {\n    var value = context.lookup(token[1]);\n    if (value != null)\n      return value;\n  };\n\n  Writer.prototype.escapedValue = function escapedValue (token, context) {\n    var value = context.lookup(token[1]);\n    if (value != null)\n      return mustache.escape(value);\n  };\n\n  Writer.prototype.rawValue = function rawValue (token) {\n    return token[1];\n  };\n\n  mustache.name = 'mustache.js';\n  mustache.version = '3.0.0';\n  mustache.tags = [ '{{', '}}' ];\n\n  // All high-level mustache.* functions use this writer.\n  var defaultWriter = new Writer();\n\n  /**\n   * Clears all cached templates in the default writer.\n   */\n  mustache.clearCache = function clearCache () {\n    return defaultWriter.clearCache();\n  };\n\n  /**\n   * Parses and caches the given template in the default writer and returns the\n   * array of tokens it contains. Doing this ahead of time avoids the need to\n   * parse templates on the fly as they are rendered.\n   */\n  mustache.parse = function parse (template, tags) {\n    return defaultWriter.parse(template, tags);\n  };\n\n  /**\n   * Renders the `template` with the given `view` and `partials` using the\n   * default writer. If the optional `tags` argument is given here it must be an\n   * array with two string values: the opening and closing tags used in the\n   * template (e.g. [ \"<%\", \"%>\" ]). The default is to mustache.tags.\n   */\n  mustache.render = function render (template, view, partials, tags) {\n    if (typeof template !== 'string') {\n      throw new TypeError('Invalid template! Template should be a \"string\" ' +\n                          'but \"' + typeStr(template) + '\" was given as the first ' +\n                          'argument for mustache#render(template, view, partials)');\n    }\n\n    return defaultWriter.render(template, view, partials, tags);\n  };\n\n  // This is here for backwards compatibility with 0.4.x.,\n  /*eslint-disable */ // eslint wants camel cased function name\n  mustache.to_html = function to_html (template, view, partials, send) {\n    /*eslint-enable*/\n\n    var result = mustache.render(template, view, partials);\n\n    if (isFunction(send)) {\n      send(result);\n    } else {\n      return result;\n    }\n  };\n\n  // Export the escaping function so that the user may override it.\n  // See https://github.com/janl/mustache.js/issues/244\n  mustache.escape = escapeHtml;\n\n  // Export these mainly for testing, but also for advanced usage.\n  mustache.Scanner = Scanner;\n  mustache.Context = Context;\n  mustache.Writer = Writer;\n\n  return mustache;\n}));\n","/*!\n * Number-To-Words util\n * @version v1.2.4\n * @link https://github.com/marlun78/number-to-words\n * @author Martin Eneqvist (https://github.com/marlun78)\n * @contributors Aleksey Pilyugin (https://github.com/pilyugin),Jeremiah Hall (https://github.com/jeremiahrhall),Adriano Melo (https://github.com/adrianomelo),dmrzn (https://github.com/dmrzn)\n * @license MIT\n */\n!function(){\"use strict\";var e=\"object\"==typeof self&&self.self===self&&self||\"object\"==typeof global&&global.global===global&&global||this,t=9007199254740991;function f(e){return!(\"number\"!=typeof e||e!=e||e===1/0||e===-1/0)}function l(e){return\"number\"==typeof e&&Math.abs(e)<=t}var n=/(hundred|thousand|(m|b|tr|quadr)illion)$/,r=/teen$/,o=/y$/,i=/(zero|one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve)$/,s={zero:\"zeroth\",one:\"first\",two:\"second\",three:\"third\",four:\"fourth\",five:\"fifth\",six:\"sixth\",seven:\"seventh\",eight:\"eighth\",nine:\"ninth\",ten:\"tenth\",eleven:\"eleventh\",twelve:\"twelfth\"};function h(e){return n.test(e)||r.test(e)?e+\"th\":o.test(e)?e.replace(o,\"ieth\"):i.test(e)?e.replace(i,a):e}function a(e,t){return s[t]}var u=10,d=100,p=1e3,v=1e6,b=1e9,y=1e12,c=1e15,g=9007199254740992,m=[\"zero\",\"one\",\"two\",\"three\",\"four\",\"five\",\"six\",\"seven\",\"eight\",\"nine\",\"ten\",\"eleven\",\"twelve\",\"thirteen\",\"fourteen\",\"fifteen\",\"sixteen\",\"seventeen\",\"eighteen\",\"nineteen\"],w=[\"zero\",\"ten\",\"twenty\",\"thirty\",\"forty\",\"fifty\",\"sixty\",\"seventy\",\"eighty\",\"ninety\"];function x(e,t){var n,r=parseInt(e,10);if(!f(r))throw new TypeError(\"Not a finite number: \"+e+\" (\"+typeof e+\")\");if(!l(r))throw new RangeError(\"Input is not a safe number, it’s either too large or too small.\");return n=function e(t){var n,r,o=arguments[1];if(0===t)return o?o.join(\" \").replace(/,$/,\"\"):\"zero\";o||(o=[]);t<0&&(o.push(\"minus\"),t=Math.abs(t));t<20?(n=0,r=m[t]):t<d?(n=t%u,r=w[Math.floor(t/u)],n&&(r+=\"-\"+m[n],n=0)):t<p?(n=t%d,r=e(Math.floor(t/d))+\" hundred\"):t<v?(n=t%p,r=e(Math.floor(t/p))+\" thousand,\"):t<b?(n=t%v,r=e(Math.floor(t/v))+\" million,\"):t<y?(n=t%b,r=e(Math.floor(t/b))+\" billion,\"):t<c?(n=t%y,r=e(Math.floor(t/y))+\" trillion,\"):t<=g&&(n=t%c,r=e(Math.floor(t/c))+\" quadrillion,\");o.push(r);return e(n,o)}(r),t?h(n):n}var M={toOrdinal:function(e){var t=parseInt(e,10);if(!f(t))throw new TypeError(\"Not a finite number: \"+e+\" (\"+typeof e+\")\");if(!l(t))throw new RangeError(\"Input is not a safe number, it’s either too large or too small.\");var n=String(t),r=Math.abs(t%100),o=11<=r&&r<=13,i=n.charAt(n.length-1);return n+(o?\"th\":\"1\"===i?\"st\":\"2\"===i?\"nd\":\"3\"===i?\"rd\":\"th\")},toWords:x,toWordsOrdinal:function(e){return h(x(e))}};\"undefined\"!=typeof exports?(\"undefined\"!=typeof module&&module.exports&&(exports=module.exports=M),exports.numberToWords=M):e.numberToWords=M}();","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc');  // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","var hasMap = typeof Map === 'function' && Map.prototype;\nvar mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;\nvar mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;\nvar mapForEach = hasMap && Map.prototype.forEach;\nvar hasSet = typeof Set === 'function' && Set.prototype;\nvar setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;\nvar setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;\nvar setForEach = hasSet && Set.prototype.forEach;\nvar hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;\nvar weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;\nvar hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;\nvar weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;\nvar hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;\nvar weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;\nvar booleanValueOf = Boolean.prototype.valueOf;\nvar objectToString = Object.prototype.toString;\nvar functionToString = Function.prototype.toString;\nvar $match = String.prototype.match;\nvar $slice = String.prototype.slice;\nvar $replace = String.prototype.replace;\nvar $toUpperCase = String.prototype.toUpperCase;\nvar $toLowerCase = String.prototype.toLowerCase;\nvar $test = RegExp.prototype.test;\nvar $concat = Array.prototype.concat;\nvar $join = Array.prototype.join;\nvar $arrSlice = Array.prototype.slice;\nvar $floor = Math.floor;\nvar bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;\nvar gOPS = Object.getOwnPropertySymbols;\nvar symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;\nvar hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';\n// ie, `has-tostringtag/shams\nvar toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol')\n    ? Symbol.toStringTag\n    : null;\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\nvar gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (\n    [].__proto__ === Array.prototype // eslint-disable-line no-proto\n        ? function (O) {\n            return O.__proto__; // eslint-disable-line no-proto\n        }\n        : null\n);\n\nfunction addNumericSeparator(num, str) {\n    if (\n        num === Infinity\n        || num === -Infinity\n        || num !== num\n        || (num && num > -1000 && num < 1000)\n        || $test.call(/e/, str)\n    ) {\n        return str;\n    }\n    var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;\n    if (typeof num === 'number') {\n        var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num)\n        if (int !== num) {\n            var intStr = String(int);\n            var dec = $slice.call(str, intStr.length + 1);\n            return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');\n        }\n    }\n    return $replace.call(str, sepRegex, '$&_');\n}\n\nvar utilInspect = require('./util.inspect');\nvar inspectCustom = utilInspect.custom;\nvar inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;\n\nvar quotes = {\n    __proto__: null,\n    'double': '\"',\n    single: \"'\"\n};\nvar quoteREs = {\n    __proto__: null,\n    'double': /([\"\\\\])/g,\n    single: /(['\\\\])/g\n};\n\nmodule.exports = function inspect_(obj, options, depth, seen) {\n    var opts = options || {};\n\n    if (has(opts, 'quoteStyle') && !has(quotes, opts.quoteStyle)) {\n        throw new TypeError('option \"quoteStyle\" must be \"single\" or \"double\"');\n    }\n    if (\n        has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number'\n            ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity\n            : opts.maxStringLength !== null\n        )\n    ) {\n        throw new TypeError('option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`');\n    }\n    var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;\n    if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {\n        throw new TypeError('option \"customInspect\", if provided, must be `true`, `false`, or `\\'symbol\\'`');\n    }\n\n    if (\n        has(opts, 'indent')\n        && opts.indent !== null\n        && opts.indent !== '\\t'\n        && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)\n    ) {\n        throw new TypeError('option \"indent\" must be \"\\\\t\", an integer > 0, or `null`');\n    }\n    if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {\n        throw new TypeError('option \"numericSeparator\", if provided, must be `true` or `false`');\n    }\n    var numericSeparator = opts.numericSeparator;\n\n    if (typeof obj === 'undefined') {\n        return 'undefined';\n    }\n    if (obj === null) {\n        return 'null';\n    }\n    if (typeof obj === 'boolean') {\n        return obj ? 'true' : 'false';\n    }\n\n    if (typeof obj === 'string') {\n        return inspectString(obj, opts);\n    }\n    if (typeof obj === 'number') {\n        if (obj === 0) {\n            return Infinity / obj > 0 ? '0' : '-0';\n        }\n        var str = String(obj);\n        return numericSeparator ? addNumericSeparator(obj, str) : str;\n    }\n    if (typeof obj === 'bigint') {\n        var bigIntStr = String(obj) + 'n';\n        return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;\n    }\n\n    var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;\n    if (typeof depth === 'undefined') { depth = 0; }\n    if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {\n        return isArray(obj) ? '[Array]' : '[Object]';\n    }\n\n    var indent = getIndent(opts, depth);\n\n    if (typeof seen === 'undefined') {\n        seen = [];\n    } else if (indexOf(seen, obj) >= 0) {\n        return '[Circular]';\n    }\n\n    function inspect(value, from, noIndent) {\n        if (from) {\n            seen = $arrSlice.call(seen);\n            seen.push(from);\n        }\n        if (noIndent) {\n            var newOpts = {\n                depth: opts.depth\n            };\n            if (has(opts, 'quoteStyle')) {\n                newOpts.quoteStyle = opts.quoteStyle;\n            }\n            return inspect_(value, newOpts, depth + 1, seen);\n        }\n        return inspect_(value, opts, depth + 1, seen);\n    }\n\n    if (typeof obj === 'function' && !isRegExp(obj)) { // in older engines, regexes are callable\n        var name = nameOf(obj);\n        var keys = arrObjKeys(obj, inspect);\n        return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');\n    }\n    if (isSymbol(obj)) {\n        var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\\(.*\\))_[^)]*$/, '$1') : symToString.call(obj);\n        return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;\n    }\n    if (isElement(obj)) {\n        var s = '<' + $toLowerCase.call(String(obj.nodeName));\n        var attrs = obj.attributes || [];\n        for (var i = 0; i < attrs.length; i++) {\n            s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);\n        }\n        s += '>';\n        if (obj.childNodes && obj.childNodes.length) { s += '...'; }\n        s += '</' + $toLowerCase.call(String(obj.nodeName)) + '>';\n        return s;\n    }\n    if (isArray(obj)) {\n        if (obj.length === 0) { return '[]'; }\n        var xs = arrObjKeys(obj, inspect);\n        if (indent && !singleLineValues(xs)) {\n            return '[' + indentedJoin(xs, indent) + ']';\n        }\n        return '[ ' + $join.call(xs, ', ') + ' ]';\n    }\n    if (isError(obj)) {\n        var parts = arrObjKeys(obj, inspect);\n        if (!('cause' in Error.prototype) && 'cause' in obj && !isEnumerable.call(obj, 'cause')) {\n            return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';\n        }\n        if (parts.length === 0) { return '[' + String(obj) + ']'; }\n        return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';\n    }\n    if (typeof obj === 'object' && customInspect) {\n        if (inspectSymbol && typeof obj[inspectSymbol] === 'function' && utilInspect) {\n            return utilInspect(obj, { depth: maxDepth - depth });\n        } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {\n            return obj.inspect();\n        }\n    }\n    if (isMap(obj)) {\n        var mapParts = [];\n        if (mapForEach) {\n            mapForEach.call(obj, function (value, key) {\n                mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));\n            });\n        }\n        return collectionOf('Map', mapSize.call(obj), mapParts, indent);\n    }\n    if (isSet(obj)) {\n        var setParts = [];\n        if (setForEach) {\n            setForEach.call(obj, function (value) {\n                setParts.push(inspect(value, obj));\n            });\n        }\n        return collectionOf('Set', setSize.call(obj), setParts, indent);\n    }\n    if (isWeakMap(obj)) {\n        return weakCollectionOf('WeakMap');\n    }\n    if (isWeakSet(obj)) {\n        return weakCollectionOf('WeakSet');\n    }\n    if (isWeakRef(obj)) {\n        return weakCollectionOf('WeakRef');\n    }\n    if (isNumber(obj)) {\n        return markBoxed(inspect(Number(obj)));\n    }\n    if (isBigInt(obj)) {\n        return markBoxed(inspect(bigIntValueOf.call(obj)));\n    }\n    if (isBoolean(obj)) {\n        return markBoxed(booleanValueOf.call(obj));\n    }\n    if (isString(obj)) {\n        return markBoxed(inspect(String(obj)));\n    }\n    // note: in IE 8, sometimes `global !== window` but both are the prototypes of each other\n    /* eslint-env browser */\n    if (typeof window !== 'undefined' && obj === window) {\n        return '{ [object Window] }';\n    }\n    if (\n        (typeof globalThis !== 'undefined' && obj === globalThis)\n        || (typeof global !== 'undefined' && obj === global)\n    ) {\n        return '{ [object globalThis] }';\n    }\n    if (!isDate(obj) && !isRegExp(obj)) {\n        var ys = arrObjKeys(obj, inspect);\n        var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;\n        var protoTag = obj instanceof Object ? '' : 'null prototype';\n        var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';\n        var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';\n        var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');\n        if (ys.length === 0) { return tag + '{}'; }\n        if (indent) {\n            return tag + '{' + indentedJoin(ys, indent) + '}';\n        }\n        return tag + '{ ' + $join.call(ys, ', ') + ' }';\n    }\n    return String(obj);\n};\n\nfunction wrapQuotes(s, defaultStyle, opts) {\n    var style = opts.quoteStyle || defaultStyle;\n    var quoteChar = quotes[style];\n    return quoteChar + s + quoteChar;\n}\n\nfunction quote(s) {\n    return $replace.call(String(s), /\"/g, '&quot;');\n}\n\nfunction canTrustToString(obj) {\n    return !toStringTag || !(typeof obj === 'object' && (toStringTag in obj || typeof obj[toStringTag] !== 'undefined'));\n}\nfunction isArray(obj) { return toStr(obj) === '[object Array]' && canTrustToString(obj); }\nfunction isDate(obj) { return toStr(obj) === '[object Date]' && canTrustToString(obj); }\nfunction isRegExp(obj) { return toStr(obj) === '[object RegExp]' && canTrustToString(obj); }\nfunction isError(obj) { return toStr(obj) === '[object Error]' && canTrustToString(obj); }\nfunction isString(obj) { return toStr(obj) === '[object String]' && canTrustToString(obj); }\nfunction isNumber(obj) { return toStr(obj) === '[object Number]' && canTrustToString(obj); }\nfunction isBoolean(obj) { return toStr(obj) === '[object Boolean]' && canTrustToString(obj); }\n\n// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives\nfunction isSymbol(obj) {\n    if (hasShammedSymbols) {\n        return obj && typeof obj === 'object' && obj instanceof Symbol;\n    }\n    if (typeof obj === 'symbol') {\n        return true;\n    }\n    if (!obj || typeof obj !== 'object' || !symToString) {\n        return false;\n    }\n    try {\n        symToString.call(obj);\n        return true;\n    } catch (e) {}\n    return false;\n}\n\nfunction isBigInt(obj) {\n    if (!obj || typeof obj !== 'object' || !bigIntValueOf) {\n        return false;\n    }\n    try {\n        bigIntValueOf.call(obj);\n        return true;\n    } catch (e) {}\n    return false;\n}\n\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };\nfunction has(obj, key) {\n    return hasOwn.call(obj, key);\n}\n\nfunction toStr(obj) {\n    return objectToString.call(obj);\n}\n\nfunction nameOf(f) {\n    if (f.name) { return f.name; }\n    var m = $match.call(functionToString.call(f), /^function\\s*([\\w$]+)/);\n    if (m) { return m[1]; }\n    return null;\n}\n\nfunction indexOf(xs, x) {\n    if (xs.indexOf) { return xs.indexOf(x); }\n    for (var i = 0, l = xs.length; i < l; i++) {\n        if (xs[i] === x) { return i; }\n    }\n    return -1;\n}\n\nfunction isMap(x) {\n    if (!mapSize || !x || typeof x !== 'object') {\n        return false;\n    }\n    try {\n        mapSize.call(x);\n        try {\n            setSize.call(x);\n        } catch (s) {\n            return true;\n        }\n        return x instanceof Map; // core-js workaround, pre-v2.5.0\n    } catch (e) {}\n    return false;\n}\n\nfunction isWeakMap(x) {\n    if (!weakMapHas || !x || typeof x !== 'object') {\n        return false;\n    }\n    try {\n        weakMapHas.call(x, weakMapHas);\n        try {\n            weakSetHas.call(x, weakSetHas);\n        } catch (s) {\n            return true;\n        }\n        return x instanceof WeakMap; // core-js workaround, pre-v2.5.0\n    } catch (e) {}\n    return false;\n}\n\nfunction isWeakRef(x) {\n    if (!weakRefDeref || !x || typeof x !== 'object') {\n        return false;\n    }\n    try {\n        weakRefDeref.call(x);\n        return true;\n    } catch (e) {}\n    return false;\n}\n\nfunction isSet(x) {\n    if (!setSize || !x || typeof x !== 'object') {\n        return false;\n    }\n    try {\n        setSize.call(x);\n        try {\n            mapSize.call(x);\n        } catch (m) {\n            return true;\n        }\n        return x instanceof Set; // core-js workaround, pre-v2.5.0\n    } catch (e) {}\n    return false;\n}\n\nfunction isWeakSet(x) {\n    if (!weakSetHas || !x || typeof x !== 'object') {\n        return false;\n    }\n    try {\n        weakSetHas.call(x, weakSetHas);\n        try {\n            weakMapHas.call(x, weakMapHas);\n        } catch (s) {\n            return true;\n        }\n        return x instanceof WeakSet; // core-js workaround, pre-v2.5.0\n    } catch (e) {}\n    return false;\n}\n\nfunction isElement(x) {\n    if (!x || typeof x !== 'object') { return false; }\n    if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {\n        return true;\n    }\n    return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';\n}\n\nfunction inspectString(str, opts) {\n    if (str.length > opts.maxStringLength) {\n        var remaining = str.length - opts.maxStringLength;\n        var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');\n        return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;\n    }\n    var quoteRE = quoteREs[opts.quoteStyle || 'single'];\n    quoteRE.lastIndex = 0;\n    // eslint-disable-next-line no-control-regex\n    var s = $replace.call($replace.call(str, quoteRE, '\\\\$1'), /[\\x00-\\x1f]/g, lowbyte);\n    return wrapQuotes(s, 'single', opts);\n}\n\nfunction lowbyte(c) {\n    var n = c.charCodeAt(0);\n    var x = {\n        8: 'b',\n        9: 't',\n        10: 'n',\n        12: 'f',\n        13: 'r'\n    }[n];\n    if (x) { return '\\\\' + x; }\n    return '\\\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));\n}\n\nfunction markBoxed(str) {\n    return 'Object(' + str + ')';\n}\n\nfunction weakCollectionOf(type) {\n    return type + ' { ? }';\n}\n\nfunction collectionOf(type, size, entries, indent) {\n    var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');\n    return type + ' (' + size + ') {' + joinedEntries + '}';\n}\n\nfunction singleLineValues(xs) {\n    for (var i = 0; i < xs.length; i++) {\n        if (indexOf(xs[i], '\\n') >= 0) {\n            return false;\n        }\n    }\n    return true;\n}\n\nfunction getIndent(opts, depth) {\n    var baseIndent;\n    if (opts.indent === '\\t') {\n        baseIndent = '\\t';\n    } else if (typeof opts.indent === 'number' && opts.indent > 0) {\n        baseIndent = $join.call(Array(opts.indent + 1), ' ');\n    } else {\n        return null;\n    }\n    return {\n        base: baseIndent,\n        prev: $join.call(Array(depth + 1), baseIndent)\n    };\n}\n\nfunction indentedJoin(xs, indent) {\n    if (xs.length === 0) { return ''; }\n    var lineJoiner = '\\n' + indent.prev + indent.base;\n    return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\\n' + indent.prev;\n}\n\nfunction arrObjKeys(obj, inspect) {\n    var isArr = isArray(obj);\n    var xs = [];\n    if (isArr) {\n        xs.length = obj.length;\n        for (var i = 0; i < obj.length; i++) {\n            xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';\n        }\n    }\n    var syms = typeof gOPS === 'function' ? gOPS(obj) : [];\n    var symMap;\n    if (hasShammedSymbols) {\n        symMap = {};\n        for (var k = 0; k < syms.length; k++) {\n            symMap['$' + syms[k]] = syms[k];\n        }\n    }\n\n    for (var key in obj) { // eslint-disable-line no-restricted-syntax\n        if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n        if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n        if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {\n            // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section\n            continue; // eslint-disable-line no-restricted-syntax, no-continue\n        } else if ($test.call(/[^\\w$]/, key)) {\n            xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));\n        } else {\n            xs.push(key + ': ' + inspect(obj[key], obj));\n        }\n    }\n    if (typeof gOPS === 'function') {\n        for (var j = 0; j < syms.length; j++) {\n            if (isEnumerable.call(obj, syms[j])) {\n                xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));\n            }\n        }\n    }\n    return xs;\n}\n","'use strict';\n\nvar numberIsNaN = function (value) {\n\treturn value !== value;\n};\n\nmodule.exports = function is(a, b) {\n\tif (a === 0 && b === 0) {\n\t\treturn 1 / a === 1 / b;\n\t}\n\tif (a === b) {\n\t\treturn true;\n\t}\n\tif (numberIsNaN(a) && numberIsNaN(b)) {\n\t\treturn true;\n\t}\n\treturn false;\n};\n\n","'use strict';\n\nvar define = require('define-properties');\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind(getPolyfill(), Object);\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\treturn typeof Object.is === 'function' ? Object.is : implementation;\n};\n","'use strict';\n\nvar getPolyfill = require('./polyfill');\nvar define = require('define-properties');\n\nmodule.exports = function shimObjectIs() {\n\tvar polyfill = getPolyfill();\n\tdefine(Object, { is: polyfill }, {\n\t\tis: function testObjectIs() {\n\t\t\treturn Object.is !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","'use strict';\n\nvar keysShim;\nif (!Object.keys) {\n\t// modified from https://github.com/es-shims/es5-shim\n\tvar has = Object.prototype.hasOwnProperty;\n\tvar toStr = Object.prototype.toString;\n\tvar isArgs = require('./isArguments'); // eslint-disable-line global-require\n\tvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\tvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\n\tvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\n\tvar dontEnums = [\n\t\t'toString',\n\t\t'toLocaleString',\n\t\t'valueOf',\n\t\t'hasOwnProperty',\n\t\t'isPrototypeOf',\n\t\t'propertyIsEnumerable',\n\t\t'constructor'\n\t];\n\tvar equalsConstructorPrototype = function (o) {\n\t\tvar ctor = o.constructor;\n\t\treturn ctor && ctor.prototype === o;\n\t};\n\tvar excludedKeys = {\n\t\t$applicationCache: true,\n\t\t$console: true,\n\t\t$external: true,\n\t\t$frame: true,\n\t\t$frameElement: true,\n\t\t$frames: true,\n\t\t$innerHeight: true,\n\t\t$innerWidth: true,\n\t\t$onmozfullscreenchange: true,\n\t\t$onmozfullscreenerror: true,\n\t\t$outerHeight: true,\n\t\t$outerWidth: true,\n\t\t$pageXOffset: true,\n\t\t$pageYOffset: true,\n\t\t$parent: true,\n\t\t$scrollLeft: true,\n\t\t$scrollTop: true,\n\t\t$scrollX: true,\n\t\t$scrollY: true,\n\t\t$self: true,\n\t\t$webkitIndexedDB: true,\n\t\t$webkitStorageInfo: true,\n\t\t$window: true\n\t};\n\tvar hasAutomationEqualityBug = (function () {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined') { return false; }\n\t\tfor (var k in window) {\n\t\t\ttry {\n\t\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}());\n\tvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t}\n\t\ttry {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\tkeysShim = function keys(object) {\n\t\tvar isObject = object !== null && typeof object === 'object';\n\t\tvar isFunction = toStr.call(object) === '[object Function]';\n\t\tvar isArguments = isArgs(object);\n\t\tvar isString = isObject && toStr.call(object) === '[object String]';\n\t\tvar theKeys = [];\n\n\t\tif (!isObject && !isFunction && !isArguments) {\n\t\t\tthrow new TypeError('Object.keys called on a non-object');\n\t\t}\n\n\t\tvar skipProto = hasProtoEnumBug && isFunction;\n\t\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\t\ttheKeys.push(String(i));\n\t\t\t}\n\t\t}\n\n\t\tif (isArguments && object.length > 0) {\n\t\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\t\ttheKeys.push(String(j));\n\t\t\t}\n\t\t} else {\n\t\t\tfor (var name in object) {\n\t\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\t\ttheKeys.push(String(name));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (hasDontEnumBug) {\n\t\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn theKeys;\n\t};\n}\nmodule.exports = keysShim;\n","'use strict';\n\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\n\nvar origKeys = Object.keys;\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : require('./implementation');\n\nvar originalKeys = Object.keys;\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\tvar args = Object.keys(arguments);\n\t\t\treturn args && args.length === arguments.length;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t}\n\t\t\t\treturn originalKeys(object);\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n","'use strict';\n\n// modified from https://github.com/es-shims/es6-shim\nvar objectKeys = require('object-keys');\nvar hasSymbols = require('has-symbols/shams')();\nvar callBound = require('call-bound');\nvar $Object = require('es-object-atoms');\nvar $push = callBound('Array.prototype.push');\nvar $propIsEnumerable = callBound('Object.prototype.propertyIsEnumerable');\nvar originalGetSymbols = hasSymbols ? $Object.getOwnPropertySymbols : null;\n\n// eslint-disable-next-line no-unused-vars\nmodule.exports = function assign(target, source1) {\n\tif (target == null) { throw new TypeError('target must be an object'); }\n\tvar to = $Object(target); // step 1\n\tif (arguments.length === 1) {\n\t\treturn to; // step 2\n\t}\n\tfor (var s = 1; s < arguments.length; ++s) {\n\t\tvar from = $Object(arguments[s]); // step 3.a.i\n\n\t\t// step 3.a.ii:\n\t\tvar keys = objectKeys(from);\n\t\tvar getSymbols = hasSymbols && ($Object.getOwnPropertySymbols || originalGetSymbols);\n\t\tif (getSymbols) {\n\t\t\tvar syms = getSymbols(from);\n\t\t\tfor (var j = 0; j < syms.length; ++j) {\n\t\t\t\tvar key = syms[j];\n\t\t\t\tif ($propIsEnumerable(from, key)) {\n\t\t\t\t\t$push(keys, key);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// step 3.a.iii:\n\t\tfor (var i = 0; i < keys.length; ++i) {\n\t\t\tvar nextKey = keys[i];\n\t\t\tif ($propIsEnumerable(from, nextKey)) { // step 3.a.iii.2\n\t\t\t\tvar propValue = from[nextKey]; // step 3.a.iii.2.a\n\t\t\t\tto[nextKey] = propValue; // step 3.a.iii.2.b\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to; // step 4\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nvar lacksProperEnumerationOrder = function () {\n\tif (!Object.assign) {\n\t\treturn false;\n\t}\n\t/*\n\t * v8, specifically in node 4.x, has a bug with incorrect property enumeration order\n\t * note: this does not detect the bug unless there's 20 characters\n\t */\n\tvar str = 'abcdefghijklmnopqrst';\n\tvar letters = str.split('');\n\tvar map = {};\n\tfor (var i = 0; i < letters.length; ++i) {\n\t\tmap[letters[i]] = letters[i];\n\t}\n\tvar obj = Object.assign({}, map);\n\tvar actual = '';\n\tfor (var k in obj) {\n\t\tactual += k;\n\t}\n\treturn str !== actual;\n};\n\nvar assignHasPendingExceptions = function () {\n\tif (!Object.assign || !Object.preventExtensions) {\n\t\treturn false;\n\t}\n\t/*\n\t * Firefox 37 still has \"pending exception\" logic in its Object.assign implementation,\n\t * which is 72% slower than our shim, and Firefox 40's native implementation.\n\t */\n\tvar thrower = Object.preventExtensions({ 1: 2 });\n\ttry {\n\t\tObject.assign(thrower, 'xy');\n\t} catch (e) {\n\t\treturn thrower[1] === 'y';\n\t}\n\treturn false;\n};\n\nmodule.exports = function getPolyfill() {\n\tif (!Object.assign) {\n\t\treturn implementation;\n\t}\n\tif (lacksProperEnumerationOrder()) {\n\t\treturn implementation;\n\t}\n\tif (assignHasPendingExceptions()) {\n\t\treturn implementation;\n\t}\n\treturn Object.assign;\n};\n","module.exports = require('os')\n","'use strict';\n\n\nvar TYPED_OK =  (typeof Uint8Array !== 'undefined') &&\n                (typeof Uint16Array !== 'undefined') &&\n                (typeof Int32Array !== 'undefined');\n\nfunction _has(obj, key) {\n  return Object.prototype.hasOwnProperty.call(obj, key);\n}\n\nexports.assign = function (obj /*from1, from2, from3, ...*/) {\n  var sources = Array.prototype.slice.call(arguments, 1);\n  while (sources.length) {\n    var source = sources.shift();\n    if (!source) { continue; }\n\n    if (typeof source !== 'object') {\n      throw new TypeError(source + 'must be non-object');\n    }\n\n    for (var p in source) {\n      if (_has(source, p)) {\n        obj[p] = source[p];\n      }\n    }\n  }\n\n  return obj;\n};\n\n\n// reduce buffer size, avoiding mem copy\nexports.shrinkBuf = function (buf, size) {\n  if (buf.length === size) { return buf; }\n  if (buf.subarray) { return buf.subarray(0, size); }\n  buf.length = size;\n  return buf;\n};\n\n\nvar fnTyped = {\n  arraySet: function (dest, src, src_offs, len, dest_offs) {\n    if (src.subarray && dest.subarray) {\n      dest.set(src.subarray(src_offs, src_offs + len), dest_offs);\n      return;\n    }\n    // Fallback to ordinary array\n    for (var i = 0; i < len; i++) {\n      dest[dest_offs + i] = src[src_offs + i];\n    }\n  },\n  // Join array of chunks to single array.\n  flattenChunks: function (chunks) {\n    var i, l, len, pos, chunk, result;\n\n    // calculate data length\n    len = 0;\n    for (i = 0, l = chunks.length; i < l; i++) {\n      len += chunks[i].length;\n    }\n\n    // join chunks\n    result = new Uint8Array(len);\n    pos = 0;\n    for (i = 0, l = chunks.length; i < l; i++) {\n      chunk = chunks[i];\n      result.set(chunk, pos);\n      pos += chunk.length;\n    }\n\n    return result;\n  }\n};\n\nvar fnUntyped = {\n  arraySet: function (dest, src, src_offs, len, dest_offs) {\n    for (var i = 0; i < len; i++) {\n      dest[dest_offs + i] = src[src_offs + i];\n    }\n  },\n  // Join array of chunks to single array.\n  flattenChunks: function (chunks) {\n    return [].concat.apply([], chunks);\n  }\n};\n\n\n// Enable/Disable typed arrays use, for testing\n//\nexports.setTyped = function (on) {\n  if (on) {\n    exports.Buf8  = Uint8Array;\n    exports.Buf16 = Uint16Array;\n    exports.Buf32 = Int32Array;\n    exports.assign(exports, fnTyped);\n  } else {\n    exports.Buf8  = Array;\n    exports.Buf16 = Array;\n    exports.Buf32 = Array;\n    exports.assign(exports, fnUntyped);\n  }\n};\n\nexports.setTyped(TYPED_OK);\n","'use strict';\n\n// Note: adler32 takes 12% for level 0 and 2% for level 6.\n// It isn't worth it to make additional optimizations as in original.\n// Small size is preferable.\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n//   claim that you wrote the original software. If you use this software\n//   in a product, an acknowledgment in the product documentation would be\n//   appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//   misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction adler32(adler, buf, len, pos) {\n  var s1 = (adler & 0xffff) |0,\n      s2 = ((adler >>> 16) & 0xffff) |0,\n      n = 0;\n\n  while (len !== 0) {\n    // Set limit ~ twice less than 5552, to keep\n    // s2 in 31-bits, because we force signed ints.\n    // in other case %= will fail.\n    n = len > 2000 ? 2000 : len;\n    len -= n;\n\n    do {\n      s1 = (s1 + buf[pos++]) |0;\n      s2 = (s2 + s1) |0;\n    } while (--n);\n\n    s1 %= 65521;\n    s2 %= 65521;\n  }\n\n  return (s1 | (s2 << 16)) |0;\n}\n\n\nmodule.exports = adler32;\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n//   claim that you wrote the original software. If you use this software\n//   in a product, an acknowledgment in the product documentation would be\n//   appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//   misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nmodule.exports = {\n\n  /* Allowed flush values; see deflate() and inflate() below for details */\n  Z_NO_FLUSH:         0,\n  Z_PARTIAL_FLUSH:    1,\n  Z_SYNC_FLUSH:       2,\n  Z_FULL_FLUSH:       3,\n  Z_FINISH:           4,\n  Z_BLOCK:            5,\n  Z_TREES:            6,\n\n  /* Return codes for the compression/decompression functions. Negative values\n  * are errors, positive values are used for special but normal events.\n  */\n  Z_OK:               0,\n  Z_STREAM_END:       1,\n  Z_NEED_DICT:        2,\n  Z_ERRNO:           -1,\n  Z_STREAM_ERROR:    -2,\n  Z_DATA_ERROR:      -3,\n  //Z_MEM_ERROR:     -4,\n  Z_BUF_ERROR:       -5,\n  //Z_VERSION_ERROR: -6,\n\n  /* compression levels */\n  Z_NO_COMPRESSION:         0,\n  Z_BEST_SPEED:             1,\n  Z_BEST_COMPRESSION:       9,\n  Z_DEFAULT_COMPRESSION:   -1,\n\n\n  Z_FILTERED:               1,\n  Z_HUFFMAN_ONLY:           2,\n  Z_RLE:                    3,\n  Z_FIXED:                  4,\n  Z_DEFAULT_STRATEGY:       0,\n\n  /* Possible values of the data_type field (though see inflate()) */\n  Z_BINARY:                 0,\n  Z_TEXT:                   1,\n  //Z_ASCII:                1, // = Z_TEXT (deprecated)\n  Z_UNKNOWN:                2,\n\n  /* The deflate compression method */\n  Z_DEFLATED:               8\n  //Z_NULL:                 null // Use -1 or null inline, depending on var type\n};\n","'use strict';\n\n// Note: we can't get significant speed boost here.\n// So write code to minimize size - no pregenerated tables\n// and array tools dependencies.\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n//   claim that you wrote the original software. If you use this software\n//   in a product, an acknowledgment in the product documentation would be\n//   appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//   misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n// Use ordinary array, since untyped makes no boost here\nfunction makeTable() {\n  var c, table = [];\n\n  for (var n = 0; n < 256; n++) {\n    c = n;\n    for (var k = 0; k < 8; k++) {\n      c = ((c & 1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));\n    }\n    table[n] = c;\n  }\n\n  return table;\n}\n\n// Create table on load. Just 255 signed longs. Not a problem.\nvar crcTable = makeTable();\n\n\nfunction crc32(crc, buf, len, pos) {\n  var t = crcTable,\n      end = pos + len;\n\n  crc ^= -1;\n\n  for (var i = pos; i < end; i++) {\n    crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF];\n  }\n\n  return (crc ^ (-1)); // >>> 0;\n}\n\n\nmodule.exports = crc32;\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n//   claim that you wrote the original software. If you use this software\n//   in a product, an acknowledgment in the product documentation would be\n//   appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//   misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nvar utils   = require('../utils/common');\nvar trees   = require('./trees');\nvar adler32 = require('./adler32');\nvar crc32   = require('./crc32');\nvar msg     = require('./messages');\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n/* Allowed flush values; see deflate() and inflate() below for details */\nvar Z_NO_FLUSH      = 0;\nvar Z_PARTIAL_FLUSH = 1;\n//var Z_SYNC_FLUSH    = 2;\nvar Z_FULL_FLUSH    = 3;\nvar Z_FINISH        = 4;\nvar Z_BLOCK         = 5;\n//var Z_TREES         = 6;\n\n\n/* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\nvar Z_OK            = 0;\nvar Z_STREAM_END    = 1;\n//var Z_NEED_DICT     = 2;\n//var Z_ERRNO         = -1;\nvar Z_STREAM_ERROR  = -2;\nvar Z_DATA_ERROR    = -3;\n//var Z_MEM_ERROR     = -4;\nvar Z_BUF_ERROR     = -5;\n//var Z_VERSION_ERROR = -6;\n\n\n/* compression levels */\n//var Z_NO_COMPRESSION      = 0;\n//var Z_BEST_SPEED          = 1;\n//var Z_BEST_COMPRESSION    = 9;\nvar Z_DEFAULT_COMPRESSION = -1;\n\n\nvar Z_FILTERED            = 1;\nvar Z_HUFFMAN_ONLY        = 2;\nvar Z_RLE                 = 3;\nvar Z_FIXED               = 4;\nvar Z_DEFAULT_STRATEGY    = 0;\n\n/* Possible values of the data_type field (though see inflate()) */\n//var Z_BINARY              = 0;\n//var Z_TEXT                = 1;\n//var Z_ASCII               = 1; // = Z_TEXT\nvar Z_UNKNOWN             = 2;\n\n\n/* The deflate compression method */\nvar Z_DEFLATED  = 8;\n\n/*============================================================================*/\n\n\nvar MAX_MEM_LEVEL = 9;\n/* Maximum value for memLevel in deflateInit2 */\nvar MAX_WBITS = 15;\n/* 32K LZ77 window */\nvar DEF_MEM_LEVEL = 8;\n\n\nvar LENGTH_CODES  = 29;\n/* number of length codes, not counting the special END_BLOCK code */\nvar LITERALS      = 256;\n/* number of literal bytes 0..255 */\nvar L_CODES       = LITERALS + 1 + LENGTH_CODES;\n/* number of Literal or Length codes, including the END_BLOCK code */\nvar D_CODES       = 30;\n/* number of distance codes */\nvar BL_CODES      = 19;\n/* number of codes used to transfer the bit lengths */\nvar HEAP_SIZE     = 2 * L_CODES + 1;\n/* maximum heap size */\nvar MAX_BITS  = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nvar MIN_MATCH = 3;\nvar MAX_MATCH = 258;\nvar MIN_LOOKAHEAD = (MAX_MATCH + MIN_MATCH + 1);\n\nvar PRESET_DICT = 0x20;\n\nvar INIT_STATE = 42;\nvar EXTRA_STATE = 69;\nvar NAME_STATE = 73;\nvar COMMENT_STATE = 91;\nvar HCRC_STATE = 103;\nvar BUSY_STATE = 113;\nvar FINISH_STATE = 666;\n\nvar BS_NEED_MORE      = 1; /* block not completed, need more input or more output */\nvar BS_BLOCK_DONE     = 2; /* block flush performed */\nvar BS_FINISH_STARTED = 3; /* finish started, need only more output at next deflate */\nvar BS_FINISH_DONE    = 4; /* finish done, accept no more input or output */\n\nvar OS_CODE = 0x03; // Unix :) . Don't detect, use this default.\n\nfunction err(strm, errorCode) {\n  strm.msg = msg[errorCode];\n  return errorCode;\n}\n\nfunction rank(f) {\n  return ((f) << 1) - ((f) > 4 ? 9 : 0);\n}\n\nfunction zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } }\n\n\n/* =========================================================================\n * Flush as much pending output as possible. All deflate() output goes\n * through this function so some applications may wish to modify it\n * to avoid allocating a large strm->output buffer and copying into it.\n * (See also read_buf()).\n */\nfunction flush_pending(strm) {\n  var s = strm.state;\n\n  //_tr_flush_bits(s);\n  var len = s.pending;\n  if (len > strm.avail_out) {\n    len = strm.avail_out;\n  }\n  if (len === 0) { return; }\n\n  utils.arraySet(strm.output, s.pending_buf, s.pending_out, len, strm.next_out);\n  strm.next_out += len;\n  s.pending_out += len;\n  strm.total_out += len;\n  strm.avail_out -= len;\n  s.pending -= len;\n  if (s.pending === 0) {\n    s.pending_out = 0;\n  }\n}\n\n\nfunction flush_block_only(s, last) {\n  trees._tr_flush_block(s, (s.block_start >= 0 ? s.block_start : -1), s.strstart - s.block_start, last);\n  s.block_start = s.strstart;\n  flush_pending(s.strm);\n}\n\n\nfunction put_byte(s, b) {\n  s.pending_buf[s.pending++] = b;\n}\n\n\n/* =========================================================================\n * Put a short in the pending buffer. The 16-bit value is put in MSB order.\n * IN assertion: the stream state is correct and there is enough room in\n * pending_buf.\n */\nfunction putShortMSB(s, b) {\n//  put_byte(s, (Byte)(b >> 8));\n//  put_byte(s, (Byte)(b & 0xff));\n  s.pending_buf[s.pending++] = (b >>> 8) & 0xff;\n  s.pending_buf[s.pending++] = b & 0xff;\n}\n\n\n/* ===========================================================================\n * Read a new buffer from the current input stream, update the adler32\n * and total number of bytes read.  All deflate() input goes through\n * this function so some applications may wish to modify it to avoid\n * allocating a large strm->input buffer and copying from it.\n * (See also flush_pending()).\n */\nfunction read_buf(strm, buf, start, size) {\n  var len = strm.avail_in;\n\n  if (len > size) { len = size; }\n  if (len === 0) { return 0; }\n\n  strm.avail_in -= len;\n\n  // zmemcpy(buf, strm->next_in, len);\n  utils.arraySet(buf, strm.input, strm.next_in, len, start);\n  if (strm.state.wrap === 1) {\n    strm.adler = adler32(strm.adler, buf, len, start);\n  }\n\n  else if (strm.state.wrap === 2) {\n    strm.adler = crc32(strm.adler, buf, len, start);\n  }\n\n  strm.next_in += len;\n  strm.total_in += len;\n\n  return len;\n}\n\n\n/* ===========================================================================\n * Set match_start to the longest match starting at the given string and\n * return its length. Matches shorter or equal to prev_length are discarded,\n * in which case the result is equal to prev_length and match_start is\n * garbage.\n * IN assertions: cur_match is the head of the hash chain for the current\n *   string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1\n * OUT assertion: the match length is not greater than s->lookahead.\n */\nfunction longest_match(s, cur_match) {\n  var chain_length = s.max_chain_length;      /* max hash chain length */\n  var scan = s.strstart; /* current string */\n  var match;                       /* matched string */\n  var len;                           /* length of current match */\n  var best_len = s.prev_length;              /* best match length so far */\n  var nice_match = s.nice_match;             /* stop if match long enough */\n  var limit = (s.strstart > (s.w_size - MIN_LOOKAHEAD)) ?\n      s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0/*NIL*/;\n\n  var _win = s.window; // shortcut\n\n  var wmask = s.w_mask;\n  var prev  = s.prev;\n\n  /* Stop when cur_match becomes <= limit. To simplify the code,\n   * we prevent matches with the string of window index 0.\n   */\n\n  var strend = s.strstart + MAX_MATCH;\n  var scan_end1  = _win[scan + best_len - 1];\n  var scan_end   = _win[scan + best_len];\n\n  /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.\n   * It is easy to get rid of this optimization if necessary.\n   */\n  // Assert(s->hash_bits >= 8 && MAX_MATCH == 258, \"Code too clever\");\n\n  /* Do not waste too much time if we already have a good match: */\n  if (s.prev_length >= s.good_match) {\n    chain_length >>= 2;\n  }\n  /* Do not look for matches beyond the end of the input. This is necessary\n   * to make deflate deterministic.\n   */\n  if (nice_match > s.lookahead) { nice_match = s.lookahead; }\n\n  // Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, \"need lookahead\");\n\n  do {\n    // Assert(cur_match < s->strstart, \"no future\");\n    match = cur_match;\n\n    /* Skip to next match if the match length cannot increase\n     * or if the match length is less than 2.  Note that the checks below\n     * for insufficient lookahead only occur occasionally for performance\n     * reasons.  Therefore uninitialized memory will be accessed, and\n     * conditional jumps will be made that depend on those values.\n     * However the length of the match is limited to the lookahead, so\n     * the output of deflate is not affected by the uninitialized values.\n     */\n\n    if (_win[match + best_len]     !== scan_end  ||\n        _win[match + best_len - 1] !== scan_end1 ||\n        _win[match]                !== _win[scan] ||\n        _win[++match]              !== _win[scan + 1]) {\n      continue;\n    }\n\n    /* The check at best_len-1 can be removed because it will be made\n     * again later. (This heuristic is not always a win.)\n     * It is not necessary to compare scan[2] and match[2] since they\n     * are always equal when the other bytes match, given that\n     * the hash keys are equal and that HASH_BITS >= 8.\n     */\n    scan += 2;\n    match++;\n    // Assert(*scan == *match, \"match[2]?\");\n\n    /* We check for insufficient lookahead only every 8th comparison;\n     * the 256th check will be made at strstart+258.\n     */\n    do {\n      /*jshint noempty:false*/\n    } while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n             _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n             _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n             _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n             scan < strend);\n\n    // Assert(scan <= s->window+(unsigned)(s->window_size-1), \"wild scan\");\n\n    len = MAX_MATCH - (strend - scan);\n    scan = strend - MAX_MATCH;\n\n    if (len > best_len) {\n      s.match_start = cur_match;\n      best_len = len;\n      if (len >= nice_match) {\n        break;\n      }\n      scan_end1  = _win[scan + best_len - 1];\n      scan_end   = _win[scan + best_len];\n    }\n  } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0);\n\n  if (best_len <= s.lookahead) {\n    return best_len;\n  }\n  return s.lookahead;\n}\n\n\n/* ===========================================================================\n * Fill the window when the lookahead becomes insufficient.\n * Updates strstart and lookahead.\n *\n * IN assertion: lookahead < MIN_LOOKAHEAD\n * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD\n *    At least one byte has been read, or avail_in == 0; reads are\n *    performed for at least two bytes (required for the zip translate_eol\n *    option -- not supported here).\n */\nfunction fill_window(s) {\n  var _w_size = s.w_size;\n  var p, n, m, more, str;\n\n  //Assert(s->lookahead < MIN_LOOKAHEAD, \"already enough lookahead\");\n\n  do {\n    more = s.window_size - s.lookahead - s.strstart;\n\n    // JS ints have 32 bit, block below not needed\n    /* Deal with !@#$% 64K limit: */\n    //if (sizeof(int) <= 2) {\n    //    if (more == 0 && s->strstart == 0 && s->lookahead == 0) {\n    //        more = wsize;\n    //\n    //  } else if (more == (unsigned)(-1)) {\n    //        /* Very unlikely, but possible on 16 bit machine if\n    //         * strstart == 0 && lookahead == 1 (input done a byte at time)\n    //         */\n    //        more--;\n    //    }\n    //}\n\n\n    /* If the window is almost full and there is insufficient lookahead,\n     * move the upper half to the lower one to make room in the upper half.\n     */\n    if (s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) {\n\n      utils.arraySet(s.window, s.window, _w_size, _w_size, 0);\n      s.match_start -= _w_size;\n      s.strstart -= _w_size;\n      /* we now have strstart >= MAX_DIST */\n      s.block_start -= _w_size;\n\n      /* Slide the hash table (could be avoided with 32 bit values\n       at the expense of memory usage). We slide even when level == 0\n       to keep the hash table consistent if we switch back to level > 0\n       later. (Using level 0 permanently is not an optimal usage of\n       zlib, so we don't care about this pathological case.)\n       */\n\n      n = s.hash_size;\n      p = n;\n      do {\n        m = s.head[--p];\n        s.head[p] = (m >= _w_size ? m - _w_size : 0);\n      } while (--n);\n\n      n = _w_size;\n      p = n;\n      do {\n        m = s.prev[--p];\n        s.prev[p] = (m >= _w_size ? m - _w_size : 0);\n        /* If n is not on any hash chain, prev[n] is garbage but\n         * its value will never be used.\n         */\n      } while (--n);\n\n      more += _w_size;\n    }\n    if (s.strm.avail_in === 0) {\n      break;\n    }\n\n    /* If there was no sliding:\n     *    strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&\n     *    more == window_size - lookahead - strstart\n     * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)\n     * => more >= window_size - 2*WSIZE + 2\n     * In the BIG_MEM or MMAP case (not yet supported),\n     *   window_size == input_size + MIN_LOOKAHEAD  &&\n     *   strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.\n     * Otherwise, window_size == 2*WSIZE so more >= 2.\n     * If there was sliding, more >= WSIZE. So in all cases, more >= 2.\n     */\n    //Assert(more >= 2, \"more < 2\");\n    n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more);\n    s.lookahead += n;\n\n    /* Initialize the hash value now that we have some input: */\n    if (s.lookahead + s.insert >= MIN_MATCH) {\n      str = s.strstart - s.insert;\n      s.ins_h = s.window[str];\n\n      /* UPDATE_HASH(s, s->ins_h, s->window[str + 1]); */\n      s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + 1]) & s.hash_mask;\n//#if MIN_MATCH != 3\n//        Call update_hash() MIN_MATCH-3 more times\n//#endif\n      while (s.insert) {\n        /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\n        s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask;\n\n        s.prev[str & s.w_mask] = s.head[s.ins_h];\n        s.head[s.ins_h] = str;\n        str++;\n        s.insert--;\n        if (s.lookahead + s.insert < MIN_MATCH) {\n          break;\n        }\n      }\n    }\n    /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,\n     * but this is not important since only literal bytes will be emitted.\n     */\n\n  } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0);\n\n  /* If the WIN_INIT bytes after the end of the current data have never been\n   * written, then zero those bytes in order to avoid memory check reports of\n   * the use of uninitialized (or uninitialised as Julian writes) bytes by\n   * the longest match routines.  Update the high water mark for the next\n   * time through here.  WIN_INIT is set to MAX_MATCH since the longest match\n   * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead.\n   */\n//  if (s.high_water < s.window_size) {\n//    var curr = s.strstart + s.lookahead;\n//    var init = 0;\n//\n//    if (s.high_water < curr) {\n//      /* Previous high water mark below current data -- zero WIN_INIT\n//       * bytes or up to end of window, whichever is less.\n//       */\n//      init = s.window_size - curr;\n//      if (init > WIN_INIT)\n//        init = WIN_INIT;\n//      zmemzero(s->window + curr, (unsigned)init);\n//      s->high_water = curr + init;\n//    }\n//    else if (s->high_water < (ulg)curr + WIN_INIT) {\n//      /* High water mark at or above current data, but below current data\n//       * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up\n//       * to end of window, whichever is less.\n//       */\n//      init = (ulg)curr + WIN_INIT - s->high_water;\n//      if (init > s->window_size - s->high_water)\n//        init = s->window_size - s->high_water;\n//      zmemzero(s->window + s->high_water, (unsigned)init);\n//      s->high_water += init;\n//    }\n//  }\n//\n//  Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD,\n//    \"not enough room for search\");\n}\n\n/* ===========================================================================\n * Copy without compression as much as possible from the input stream, return\n * the current block state.\n * This function does not insert new strings in the dictionary since\n * uncompressible data is probably not useful. This function is used\n * only for the level=0 compression option.\n * NOTE: this function should be optimized to avoid extra copying from\n * window to pending_buf.\n */\nfunction deflate_stored(s, flush) {\n  /* Stored blocks are limited to 0xffff bytes, pending_buf is limited\n   * to pending_buf_size, and each stored block has a 5 byte header:\n   */\n  var max_block_size = 0xffff;\n\n  if (max_block_size > s.pending_buf_size - 5) {\n    max_block_size = s.pending_buf_size - 5;\n  }\n\n  /* Copy as much as possible from input to output: */\n  for (;;) {\n    /* Fill the window as much as possible: */\n    if (s.lookahead <= 1) {\n\n      //Assert(s->strstart < s->w_size+MAX_DIST(s) ||\n      //  s->block_start >= (long)s->w_size, \"slide too late\");\n//      if (!(s.strstart < s.w_size + (s.w_size - MIN_LOOKAHEAD) ||\n//        s.block_start >= s.w_size)) {\n//        throw  new Error(\"slide too late\");\n//      }\n\n      fill_window(s);\n      if (s.lookahead === 0 && flush === Z_NO_FLUSH) {\n        return BS_NEED_MORE;\n      }\n\n      if (s.lookahead === 0) {\n        break;\n      }\n      /* flush the current block */\n    }\n    //Assert(s->block_start >= 0L, \"block gone\");\n//    if (s.block_start < 0) throw new Error(\"block gone\");\n\n    s.strstart += s.lookahead;\n    s.lookahead = 0;\n\n    /* Emit a stored block if pending_buf will be full: */\n    var max_start = s.block_start + max_block_size;\n\n    if (s.strstart === 0 || s.strstart >= max_start) {\n      /* strstart == 0 is possible when wraparound on 16-bit machine */\n      s.lookahead = s.strstart - max_start;\n      s.strstart = max_start;\n      /*** FLUSH_BLOCK(s, 0); ***/\n      flush_block_only(s, false);\n      if (s.strm.avail_out === 0) {\n        return BS_NEED_MORE;\n      }\n      /***/\n\n\n    }\n    /* Flush if we may have to slide, otherwise block_start may become\n     * negative and the data will be gone:\n     */\n    if (s.strstart - s.block_start >= (s.w_size - MIN_LOOKAHEAD)) {\n      /*** FLUSH_BLOCK(s, 0); ***/\n      flush_block_only(s, false);\n      if (s.strm.avail_out === 0) {\n        return BS_NEED_MORE;\n      }\n      /***/\n    }\n  }\n\n  s.insert = 0;\n\n  if (flush === Z_FINISH) {\n    /*** FLUSH_BLOCK(s, 1); ***/\n    flush_block_only(s, true);\n    if (s.strm.avail_out === 0) {\n      return BS_FINISH_STARTED;\n    }\n    /***/\n    return BS_FINISH_DONE;\n  }\n\n  if (s.strstart > s.block_start) {\n    /*** FLUSH_BLOCK(s, 0); ***/\n    flush_block_only(s, false);\n    if (s.strm.avail_out === 0) {\n      return BS_NEED_MORE;\n    }\n    /***/\n  }\n\n  return BS_NEED_MORE;\n}\n\n/* ===========================================================================\n * Compress as much as possible from the input stream, return the current\n * block state.\n * This function does not perform lazy evaluation of matches and inserts\n * new strings in the dictionary only for unmatched strings or for short\n * matches. It is used only for the fast compression options.\n */\nfunction deflate_fast(s, flush) {\n  var hash_head;        /* head of the hash chain */\n  var bflush;           /* set if current block must be flushed */\n\n  for (;;) {\n    /* Make sure that we always have enough lookahead, except\n     * at the end of the input file. We need MAX_MATCH bytes\n     * for the next match, plus MIN_MATCH bytes to insert the\n     * string following the next match.\n     */\n    if (s.lookahead < MIN_LOOKAHEAD) {\n      fill_window(s);\n      if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {\n        return BS_NEED_MORE;\n      }\n      if (s.lookahead === 0) {\n        break; /* flush the current block */\n      }\n    }\n\n    /* Insert the string window[strstart .. strstart+2] in the\n     * dictionary, and set hash_head to the head of the hash chain:\n     */\n    hash_head = 0/*NIL*/;\n    if (s.lookahead >= MIN_MATCH) {\n      /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n      s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n      hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n      s.head[s.ins_h] = s.strstart;\n      /***/\n    }\n\n    /* Find the longest match, discarding those <= prev_length.\n     * At this point we have always match_length < MIN_MATCH\n     */\n    if (hash_head !== 0/*NIL*/ && ((s.strstart - hash_head) <= (s.w_size - MIN_LOOKAHEAD))) {\n      /* To simplify the code, we prevent matches with the string\n       * of window index 0 (in particular we have to avoid a match\n       * of the string with itself at the start of the input file).\n       */\n      s.match_length = longest_match(s, hash_head);\n      /* longest_match() sets match_start */\n    }\n    if (s.match_length >= MIN_MATCH) {\n      // check_match(s, s.strstart, s.match_start, s.match_length); // for debug only\n\n      /*** _tr_tally_dist(s, s.strstart - s.match_start,\n                     s.match_length - MIN_MATCH, bflush); ***/\n      bflush = trees._tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH);\n\n      s.lookahead -= s.match_length;\n\n      /* Insert new strings in the hash table only if the match length\n       * is not too large. This saves time but degrades compression.\n       */\n      if (s.match_length <= s.max_lazy_match/*max_insert_length*/ && s.lookahead >= MIN_MATCH) {\n        s.match_length--; /* string at strstart already in table */\n        do {\n          s.strstart++;\n          /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n          s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n          hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n          s.head[s.ins_h] = s.strstart;\n          /***/\n          /* strstart never exceeds WSIZE-MAX_MATCH, so there are\n           * always MIN_MATCH bytes ahead.\n           */\n        } while (--s.match_length !== 0);\n        s.strstart++;\n      } else\n      {\n        s.strstart += s.match_length;\n        s.match_length = 0;\n        s.ins_h = s.window[s.strstart];\n        /* UPDATE_HASH(s, s.ins_h, s.window[s.strstart+1]); */\n        s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + 1]) & s.hash_mask;\n\n//#if MIN_MATCH != 3\n//                Call UPDATE_HASH() MIN_MATCH-3 more times\n//#endif\n        /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not\n         * matter since it will be recomputed at next deflate call.\n         */\n      }\n    } else {\n      /* No match, output a literal byte */\n      //Tracevv((stderr,\"%c\", s.window[s.strstart]));\n      /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n      bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n\n      s.lookahead--;\n      s.strstart++;\n    }\n    if (bflush) {\n      /*** FLUSH_BLOCK(s, 0); ***/\n      flush_block_only(s, false);\n      if (s.strm.avail_out === 0) {\n        return BS_NEED_MORE;\n      }\n      /***/\n    }\n  }\n  s.insert = ((s.strstart < (MIN_MATCH - 1)) ? s.strstart : MIN_MATCH - 1);\n  if (flush === Z_FINISH) {\n    /*** FLUSH_BLOCK(s, 1); ***/\n    flush_block_only(s, true);\n    if (s.strm.avail_out === 0) {\n      return BS_FINISH_STARTED;\n    }\n    /***/\n    return BS_FINISH_DONE;\n  }\n  if (s.last_lit) {\n    /*** FLUSH_BLOCK(s, 0); ***/\n    flush_block_only(s, false);\n    if (s.strm.avail_out === 0) {\n      return BS_NEED_MORE;\n    }\n    /***/\n  }\n  return BS_BLOCK_DONE;\n}\n\n/* ===========================================================================\n * Same as above, but achieves better compression. We use a lazy\n * evaluation for matches: a match is finally adopted only if there is\n * no better match at the next window position.\n */\nfunction deflate_slow(s, flush) {\n  var hash_head;          /* head of hash chain */\n  var bflush;              /* set if current block must be flushed */\n\n  var max_insert;\n\n  /* Process the input block. */\n  for (;;) {\n    /* Make sure that we always have enough lookahead, except\n     * at the end of the input file. We need MAX_MATCH bytes\n     * for the next match, plus MIN_MATCH bytes to insert the\n     * string following the next match.\n     */\n    if (s.lookahead < MIN_LOOKAHEAD) {\n      fill_window(s);\n      if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {\n        return BS_NEED_MORE;\n      }\n      if (s.lookahead === 0) { break; } /* flush the current block */\n    }\n\n    /* Insert the string window[strstart .. strstart+2] in the\n     * dictionary, and set hash_head to the head of the hash chain:\n     */\n    hash_head = 0/*NIL*/;\n    if (s.lookahead >= MIN_MATCH) {\n      /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n      s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n      hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n      s.head[s.ins_h] = s.strstart;\n      /***/\n    }\n\n    /* Find the longest match, discarding those <= prev_length.\n     */\n    s.prev_length = s.match_length;\n    s.prev_match = s.match_start;\n    s.match_length = MIN_MATCH - 1;\n\n    if (hash_head !== 0/*NIL*/ && s.prev_length < s.max_lazy_match &&\n        s.strstart - hash_head <= (s.w_size - MIN_LOOKAHEAD)/*MAX_DIST(s)*/) {\n      /* To simplify the code, we prevent matches with the string\n       * of window index 0 (in particular we have to avoid a match\n       * of the string with itself at the start of the input file).\n       */\n      s.match_length = longest_match(s, hash_head);\n      /* longest_match() sets match_start */\n\n      if (s.match_length <= 5 &&\n         (s.strategy === Z_FILTERED || (s.match_length === MIN_MATCH && s.strstart - s.match_start > 4096/*TOO_FAR*/))) {\n\n        /* If prev_match is also MIN_MATCH, match_start is garbage\n         * but we will ignore the current match anyway.\n         */\n        s.match_length = MIN_MATCH - 1;\n      }\n    }\n    /* If there was a match at the previous step and the current\n     * match is not better, output the previous match:\n     */\n    if (s.prev_length >= MIN_MATCH && s.match_length <= s.prev_length) {\n      max_insert = s.strstart + s.lookahead - MIN_MATCH;\n      /* Do not insert strings in hash table beyond this. */\n\n      //check_match(s, s.strstart-1, s.prev_match, s.prev_length);\n\n      /***_tr_tally_dist(s, s.strstart - 1 - s.prev_match,\n                     s.prev_length - MIN_MATCH, bflush);***/\n      bflush = trees._tr_tally(s, s.strstart - 1 - s.prev_match, s.prev_length - MIN_MATCH);\n      /* Insert in hash table all strings up to the end of the match.\n       * strstart-1 and strstart are already inserted. If there is not\n       * enough lookahead, the last two strings are not inserted in\n       * the hash table.\n       */\n      s.lookahead -= s.prev_length - 1;\n      s.prev_length -= 2;\n      do {\n        if (++s.strstart <= max_insert) {\n          /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n          s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n          hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n          s.head[s.ins_h] = s.strstart;\n          /***/\n        }\n      } while (--s.prev_length !== 0);\n      s.match_available = 0;\n      s.match_length = MIN_MATCH - 1;\n      s.strstart++;\n\n      if (bflush) {\n        /*** FLUSH_BLOCK(s, 0); ***/\n        flush_block_only(s, false);\n        if (s.strm.avail_out === 0) {\n          return BS_NEED_MORE;\n        }\n        /***/\n      }\n\n    } else if (s.match_available) {\n      /* If there was no match at the previous position, output a\n       * single literal. If there was a match but the current match\n       * is longer, truncate the previous match to a single literal.\n       */\n      //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n      /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n      bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]);\n\n      if (bflush) {\n        /*** FLUSH_BLOCK_ONLY(s, 0) ***/\n        flush_block_only(s, false);\n        /***/\n      }\n      s.strstart++;\n      s.lookahead--;\n      if (s.strm.avail_out === 0) {\n        return BS_NEED_MORE;\n      }\n    } else {\n      /* There is no previous match to compare with, wait for\n       * the next step to decide.\n       */\n      s.match_available = 1;\n      s.strstart++;\n      s.lookahead--;\n    }\n  }\n  //Assert (flush != Z_NO_FLUSH, \"no flush?\");\n  if (s.match_available) {\n    //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n    /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n    bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]);\n\n    s.match_available = 0;\n  }\n  s.insert = s.strstart < MIN_MATCH - 1 ? s.strstart : MIN_MATCH - 1;\n  if (flush === Z_FINISH) {\n    /*** FLUSH_BLOCK(s, 1); ***/\n    flush_block_only(s, true);\n    if (s.strm.avail_out === 0) {\n      return BS_FINISH_STARTED;\n    }\n    /***/\n    return BS_FINISH_DONE;\n  }\n  if (s.last_lit) {\n    /*** FLUSH_BLOCK(s, 0); ***/\n    flush_block_only(s, false);\n    if (s.strm.avail_out === 0) {\n      return BS_NEED_MORE;\n    }\n    /***/\n  }\n\n  return BS_BLOCK_DONE;\n}\n\n\n/* ===========================================================================\n * For Z_RLE, simply look for runs of bytes, generate matches only of distance\n * one.  Do not maintain a hash table.  (It will be regenerated if this run of\n * deflate switches away from Z_RLE.)\n */\nfunction deflate_rle(s, flush) {\n  var bflush;            /* set if current block must be flushed */\n  var prev;              /* byte at distance one to match */\n  var scan, strend;      /* scan goes up to strend for length of run */\n\n  var _win = s.window;\n\n  for (;;) {\n    /* Make sure that we always have enough lookahead, except\n     * at the end of the input file. We need MAX_MATCH bytes\n     * for the longest run, plus one for the unrolled loop.\n     */\n    if (s.lookahead <= MAX_MATCH) {\n      fill_window(s);\n      if (s.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH) {\n        return BS_NEED_MORE;\n      }\n      if (s.lookahead === 0) { break; } /* flush the current block */\n    }\n\n    /* See how many times the previous byte repeats */\n    s.match_length = 0;\n    if (s.lookahead >= MIN_MATCH && s.strstart > 0) {\n      scan = s.strstart - 1;\n      prev = _win[scan];\n      if (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) {\n        strend = s.strstart + MAX_MATCH;\n        do {\n          /*jshint noempty:false*/\n        } while (prev === _win[++scan] && prev === _win[++scan] &&\n                 prev === _win[++scan] && prev === _win[++scan] &&\n                 prev === _win[++scan] && prev === _win[++scan] &&\n                 prev === _win[++scan] && prev === _win[++scan] &&\n                 scan < strend);\n        s.match_length = MAX_MATCH - (strend - scan);\n        if (s.match_length > s.lookahead) {\n          s.match_length = s.lookahead;\n        }\n      }\n      //Assert(scan <= s->window+(uInt)(s->window_size-1), \"wild scan\");\n    }\n\n    /* Emit match if have run of MIN_MATCH or longer, else emit literal */\n    if (s.match_length >= MIN_MATCH) {\n      //check_match(s, s.strstart, s.strstart - 1, s.match_length);\n\n      /*** _tr_tally_dist(s, 1, s.match_length - MIN_MATCH, bflush); ***/\n      bflush = trees._tr_tally(s, 1, s.match_length - MIN_MATCH);\n\n      s.lookahead -= s.match_length;\n      s.strstart += s.match_length;\n      s.match_length = 0;\n    } else {\n      /* No match, output a literal byte */\n      //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n      /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n      bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n\n      s.lookahead--;\n      s.strstart++;\n    }\n    if (bflush) {\n      /*** FLUSH_BLOCK(s, 0); ***/\n      flush_block_only(s, false);\n      if (s.strm.avail_out === 0) {\n        return BS_NEED_MORE;\n      }\n      /***/\n    }\n  }\n  s.insert = 0;\n  if (flush === Z_FINISH) {\n    /*** FLUSH_BLOCK(s, 1); ***/\n    flush_block_only(s, true);\n    if (s.strm.avail_out === 0) {\n      return BS_FINISH_STARTED;\n    }\n    /***/\n    return BS_FINISH_DONE;\n  }\n  if (s.last_lit) {\n    /*** FLUSH_BLOCK(s, 0); ***/\n    flush_block_only(s, false);\n    if (s.strm.avail_out === 0) {\n      return BS_NEED_MORE;\n    }\n    /***/\n  }\n  return BS_BLOCK_DONE;\n}\n\n/* ===========================================================================\n * For Z_HUFFMAN_ONLY, do not look for matches.  Do not maintain a hash table.\n * (It will be regenerated if this run of deflate switches away from Huffman.)\n */\nfunction deflate_huff(s, flush) {\n  var bflush;             /* set if current block must be flushed */\n\n  for (;;) {\n    /* Make sure that we have a literal to write. */\n    if (s.lookahead === 0) {\n      fill_window(s);\n      if (s.lookahead === 0) {\n        if (flush === Z_NO_FLUSH) {\n          return BS_NEED_MORE;\n        }\n        break;      /* flush the current block */\n      }\n    }\n\n    /* Output a literal byte */\n    s.match_length = 0;\n    //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n    /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n    bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n    s.lookahead--;\n    s.strstart++;\n    if (bflush) {\n      /*** FLUSH_BLOCK(s, 0); ***/\n      flush_block_only(s, false);\n      if (s.strm.avail_out === 0) {\n        return BS_NEED_MORE;\n      }\n      /***/\n    }\n  }\n  s.insert = 0;\n  if (flush === Z_FINISH) {\n    /*** FLUSH_BLOCK(s, 1); ***/\n    flush_block_only(s, true);\n    if (s.strm.avail_out === 0) {\n      return BS_FINISH_STARTED;\n    }\n    /***/\n    return BS_FINISH_DONE;\n  }\n  if (s.last_lit) {\n    /*** FLUSH_BLOCK(s, 0); ***/\n    flush_block_only(s, false);\n    if (s.strm.avail_out === 0) {\n      return BS_NEED_MORE;\n    }\n    /***/\n  }\n  return BS_BLOCK_DONE;\n}\n\n/* Values for max_lazy_match, good_match and max_chain_length, depending on\n * the desired pack level (0..9). The values given below have been tuned to\n * exclude worst case performance for pathological files. Better values may be\n * found for specific files.\n */\nfunction Config(good_length, max_lazy, nice_length, max_chain, func) {\n  this.good_length = good_length;\n  this.max_lazy = max_lazy;\n  this.nice_length = nice_length;\n  this.max_chain = max_chain;\n  this.func = func;\n}\n\nvar configuration_table;\n\nconfiguration_table = [\n  /*      good lazy nice chain */\n  new Config(0, 0, 0, 0, deflate_stored),          /* 0 store only */\n  new Config(4, 4, 8, 4, deflate_fast),            /* 1 max speed, no lazy matches */\n  new Config(4, 5, 16, 8, deflate_fast),           /* 2 */\n  new Config(4, 6, 32, 32, deflate_fast),          /* 3 */\n\n  new Config(4, 4, 16, 16, deflate_slow),          /* 4 lazy matches */\n  new Config(8, 16, 32, 32, deflate_slow),         /* 5 */\n  new Config(8, 16, 128, 128, deflate_slow),       /* 6 */\n  new Config(8, 32, 128, 256, deflate_slow),       /* 7 */\n  new Config(32, 128, 258, 1024, deflate_slow),    /* 8 */\n  new Config(32, 258, 258, 4096, deflate_slow)     /* 9 max compression */\n];\n\n\n/* ===========================================================================\n * Initialize the \"longest match\" routines for a new zlib stream\n */\nfunction lm_init(s) {\n  s.window_size = 2 * s.w_size;\n\n  /*** CLEAR_HASH(s); ***/\n  zero(s.head); // Fill with NIL (= 0);\n\n  /* Set the default configuration parameters:\n   */\n  s.max_lazy_match = configuration_table[s.level].max_lazy;\n  s.good_match = configuration_table[s.level].good_length;\n  s.nice_match = configuration_table[s.level].nice_length;\n  s.max_chain_length = configuration_table[s.level].max_chain;\n\n  s.strstart = 0;\n  s.block_start = 0;\n  s.lookahead = 0;\n  s.insert = 0;\n  s.match_length = s.prev_length = MIN_MATCH - 1;\n  s.match_available = 0;\n  s.ins_h = 0;\n}\n\n\nfunction DeflateState() {\n  this.strm = null;            /* pointer back to this zlib stream */\n  this.status = 0;            /* as the name implies */\n  this.pending_buf = null;      /* output still pending */\n  this.pending_buf_size = 0;  /* size of pending_buf */\n  this.pending_out = 0;       /* next pending byte to output to the stream */\n  this.pending = 0;           /* nb of bytes in the pending buffer */\n  this.wrap = 0;              /* bit 0 true for zlib, bit 1 true for gzip */\n  this.gzhead = null;         /* gzip header information to write */\n  this.gzindex = 0;           /* where in extra, name, or comment */\n  this.method = Z_DEFLATED; /* can only be DEFLATED */\n  this.last_flush = -1;   /* value of flush param for previous deflate call */\n\n  this.w_size = 0;  /* LZ77 window size (32K by default) */\n  this.w_bits = 0;  /* log2(w_size)  (8..16) */\n  this.w_mask = 0;  /* w_size - 1 */\n\n  this.window = null;\n  /* Sliding window. Input bytes are read into the second half of the window,\n   * and move to the first half later to keep a dictionary of at least wSize\n   * bytes. With this organization, matches are limited to a distance of\n   * wSize-MAX_MATCH bytes, but this ensures that IO is always\n   * performed with a length multiple of the block size.\n   */\n\n  this.window_size = 0;\n  /* Actual size of window: 2*wSize, except when the user input buffer\n   * is directly used as sliding window.\n   */\n\n  this.prev = null;\n  /* Link to older string with same hash index. To limit the size of this\n   * array to 64K, this link is maintained only for the last 32K strings.\n   * An index in this array is thus a window index modulo 32K.\n   */\n\n  this.head = null;   /* Heads of the hash chains or NIL. */\n\n  this.ins_h = 0;       /* hash index of string to be inserted */\n  this.hash_size = 0;   /* number of elements in hash table */\n  this.hash_bits = 0;   /* log2(hash_size) */\n  this.hash_mask = 0;   /* hash_size-1 */\n\n  this.hash_shift = 0;\n  /* Number of bits by which ins_h must be shifted at each input\n   * step. It must be such that after MIN_MATCH steps, the oldest\n   * byte no longer takes part in the hash key, that is:\n   *   hash_shift * MIN_MATCH >= hash_bits\n   */\n\n  this.block_start = 0;\n  /* Window position at the beginning of the current output block. Gets\n   * negative when the window is moved backwards.\n   */\n\n  this.match_length = 0;      /* length of best match */\n  this.prev_match = 0;        /* previous match */\n  this.match_available = 0;   /* set if previous match exists */\n  this.strstart = 0;          /* start of string to insert */\n  this.match_start = 0;       /* start of matching string */\n  this.lookahead = 0;         /* number of valid bytes ahead in window */\n\n  this.prev_length = 0;\n  /* Length of the best match at previous step. Matches not greater than this\n   * are discarded. This is used in the lazy match evaluation.\n   */\n\n  this.max_chain_length = 0;\n  /* To speed up deflation, hash chains are never searched beyond this\n   * length.  A higher limit improves compression ratio but degrades the\n   * speed.\n   */\n\n  this.max_lazy_match = 0;\n  /* Attempt to find a better match only when the current match is strictly\n   * smaller than this value. This mechanism is used only for compression\n   * levels >= 4.\n   */\n  // That's alias to max_lazy_match, don't use directly\n  //this.max_insert_length = 0;\n  /* Insert new strings in the hash table only if the match length is not\n   * greater than this length. This saves time but degrades compression.\n   * max_insert_length is used only for compression levels <= 3.\n   */\n\n  this.level = 0;     /* compression level (1..9) */\n  this.strategy = 0;  /* favor or force Huffman coding*/\n\n  this.good_match = 0;\n  /* Use a faster search when the previous match is longer than this */\n\n  this.nice_match = 0; /* Stop searching when current match exceeds this */\n\n              /* used by trees.c: */\n\n  /* Didn't use ct_data typedef below to suppress compiler warning */\n\n  // struct ct_data_s dyn_ltree[HEAP_SIZE];   /* literal and length tree */\n  // struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */\n  // struct ct_data_s bl_tree[2*BL_CODES+1];  /* Huffman tree for bit lengths */\n\n  // Use flat array of DOUBLE size, with interleaved fata,\n  // because JS does not support effective\n  this.dyn_ltree  = new utils.Buf16(HEAP_SIZE * 2);\n  this.dyn_dtree  = new utils.Buf16((2 * D_CODES + 1) * 2);\n  this.bl_tree    = new utils.Buf16((2 * BL_CODES + 1) * 2);\n  zero(this.dyn_ltree);\n  zero(this.dyn_dtree);\n  zero(this.bl_tree);\n\n  this.l_desc   = null;         /* desc. for literal tree */\n  this.d_desc   = null;         /* desc. for distance tree */\n  this.bl_desc  = null;         /* desc. for bit length tree */\n\n  //ush bl_count[MAX_BITS+1];\n  this.bl_count = new utils.Buf16(MAX_BITS + 1);\n  /* number of codes at each bit length for an optimal tree */\n\n  //int heap[2*L_CODES+1];      /* heap used to build the Huffman trees */\n  this.heap = new utils.Buf16(2 * L_CODES + 1);  /* heap used to build the Huffman trees */\n  zero(this.heap);\n\n  this.heap_len = 0;               /* number of elements in the heap */\n  this.heap_max = 0;               /* element of largest frequency */\n  /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.\n   * The same heap array is used to build all trees.\n   */\n\n  this.depth = new utils.Buf16(2 * L_CODES + 1); //uch depth[2*L_CODES+1];\n  zero(this.depth);\n  /* Depth of each subtree used as tie breaker for trees of equal frequency\n   */\n\n  this.l_buf = 0;          /* buffer index for literals or lengths */\n\n  this.lit_bufsize = 0;\n  /* Size of match buffer for literals/lengths.  There are 4 reasons for\n   * limiting lit_bufsize to 64K:\n   *   - frequencies can be kept in 16 bit counters\n   *   - if compression is not successful for the first block, all input\n   *     data is still in the window so we can still emit a stored block even\n   *     when input comes from standard input.  (This can also be done for\n   *     all blocks if lit_bufsize is not greater than 32K.)\n   *   - if compression is not successful for a file smaller than 64K, we can\n   *     even emit a stored file instead of a stored block (saving 5 bytes).\n   *     This is applicable only for zip (not gzip or zlib).\n   *   - creating new Huffman trees less frequently may not provide fast\n   *     adaptation to changes in the input data statistics. (Take for\n   *     example a binary file with poorly compressible code followed by\n   *     a highly compressible string table.) Smaller buffer sizes give\n   *     fast adaptation but have of course the overhead of transmitting\n   *     trees more frequently.\n   *   - I can't count above 4\n   */\n\n  this.last_lit = 0;      /* running index in l_buf */\n\n  this.d_buf = 0;\n  /* Buffer index for distances. To simplify the code, d_buf and l_buf have\n   * the same number of elements. To use different lengths, an extra flag\n   * array would be necessary.\n   */\n\n  this.opt_len = 0;       /* bit length of current block with optimal trees */\n  this.static_len = 0;    /* bit length of current block with static trees */\n  this.matches = 0;       /* number of string matches in current block */\n  this.insert = 0;        /* bytes at end of window left to insert */\n\n\n  this.bi_buf = 0;\n  /* Output buffer. bits are inserted starting at the bottom (least\n   * significant bits).\n   */\n  this.bi_valid = 0;\n  /* Number of valid bits in bi_buf.  All bits above the last valid bit\n   * are always zero.\n   */\n\n  // Used for window memory init. We safely ignore it for JS. That makes\n  // sense only for pointers and memory check tools.\n  //this.high_water = 0;\n  /* High water mark offset in window for initialized bytes -- bytes above\n   * this are set to zero in order to avoid memory check warnings when\n   * longest match routines access bytes past the input.  This is then\n   * updated to the new high water mark.\n   */\n}\n\n\nfunction deflateResetKeep(strm) {\n  var s;\n\n  if (!strm || !strm.state) {\n    return err(strm, Z_STREAM_ERROR);\n  }\n\n  strm.total_in = strm.total_out = 0;\n  strm.data_type = Z_UNKNOWN;\n\n  s = strm.state;\n  s.pending = 0;\n  s.pending_out = 0;\n\n  if (s.wrap < 0) {\n    s.wrap = -s.wrap;\n    /* was made negative by deflate(..., Z_FINISH); */\n  }\n  s.status = (s.wrap ? INIT_STATE : BUSY_STATE);\n  strm.adler = (s.wrap === 2) ?\n    0  // crc32(0, Z_NULL, 0)\n  :\n    1; // adler32(0, Z_NULL, 0)\n  s.last_flush = Z_NO_FLUSH;\n  trees._tr_init(s);\n  return Z_OK;\n}\n\n\nfunction deflateReset(strm) {\n  var ret = deflateResetKeep(strm);\n  if (ret === Z_OK) {\n    lm_init(strm.state);\n  }\n  return ret;\n}\n\n\nfunction deflateSetHeader(strm, head) {\n  if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n  if (strm.state.wrap !== 2) { return Z_STREAM_ERROR; }\n  strm.state.gzhead = head;\n  return Z_OK;\n}\n\n\nfunction deflateInit2(strm, level, method, windowBits, memLevel, strategy) {\n  if (!strm) { // === Z_NULL\n    return Z_STREAM_ERROR;\n  }\n  var wrap = 1;\n\n  if (level === Z_DEFAULT_COMPRESSION) {\n    level = 6;\n  }\n\n  if (windowBits < 0) { /* suppress zlib wrapper */\n    wrap = 0;\n    windowBits = -windowBits;\n  }\n\n  else if (windowBits > 15) {\n    wrap = 2;           /* write gzip wrapper instead */\n    windowBits -= 16;\n  }\n\n\n  if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED ||\n    windowBits < 8 || windowBits > 15 || level < 0 || level > 9 ||\n    strategy < 0 || strategy > Z_FIXED) {\n    return err(strm, Z_STREAM_ERROR);\n  }\n\n\n  if (windowBits === 8) {\n    windowBits = 9;\n  }\n  /* until 256-byte window bug fixed */\n\n  var s = new DeflateState();\n\n  strm.state = s;\n  s.strm = strm;\n\n  s.wrap = wrap;\n  s.gzhead = null;\n  s.w_bits = windowBits;\n  s.w_size = 1 << s.w_bits;\n  s.w_mask = s.w_size - 1;\n\n  s.hash_bits = memLevel + 7;\n  s.hash_size = 1 << s.hash_bits;\n  s.hash_mask = s.hash_size - 1;\n  s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH);\n\n  s.window = new utils.Buf8(s.w_size * 2);\n  s.head = new utils.Buf16(s.hash_size);\n  s.prev = new utils.Buf16(s.w_size);\n\n  // Don't need mem init magic for JS.\n  //s.high_water = 0;  /* nothing written to s->window yet */\n\n  s.lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */\n\n  s.pending_buf_size = s.lit_bufsize * 4;\n\n  //overlay = (ushf *) ZALLOC(strm, s->lit_bufsize, sizeof(ush)+2);\n  //s->pending_buf = (uchf *) overlay;\n  s.pending_buf = new utils.Buf8(s.pending_buf_size);\n\n  // It is offset from `s.pending_buf` (size is `s.lit_bufsize * 2`)\n  //s->d_buf = overlay + s->lit_bufsize/sizeof(ush);\n  s.d_buf = 1 * s.lit_bufsize;\n\n  //s->l_buf = s->pending_buf + (1+sizeof(ush))*s->lit_bufsize;\n  s.l_buf = (1 + 2) * s.lit_bufsize;\n\n  s.level = level;\n  s.strategy = strategy;\n  s.method = method;\n\n  return deflateReset(strm);\n}\n\nfunction deflateInit(strm, level) {\n  return deflateInit2(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY);\n}\n\n\nfunction deflate(strm, flush) {\n  var old_flush, s;\n  var beg, val; // for gzip header write only\n\n  if (!strm || !strm.state ||\n    flush > Z_BLOCK || flush < 0) {\n    return strm ? err(strm, Z_STREAM_ERROR) : Z_STREAM_ERROR;\n  }\n\n  s = strm.state;\n\n  if (!strm.output ||\n      (!strm.input && strm.avail_in !== 0) ||\n      (s.status === FINISH_STATE && flush !== Z_FINISH)) {\n    return err(strm, (strm.avail_out === 0) ? Z_BUF_ERROR : Z_STREAM_ERROR);\n  }\n\n  s.strm = strm; /* just in case */\n  old_flush = s.last_flush;\n  s.last_flush = flush;\n\n  /* Write the header */\n  if (s.status === INIT_STATE) {\n\n    if (s.wrap === 2) { // GZIP header\n      strm.adler = 0;  //crc32(0L, Z_NULL, 0);\n      put_byte(s, 31);\n      put_byte(s, 139);\n      put_byte(s, 8);\n      if (!s.gzhead) { // s->gzhead == Z_NULL\n        put_byte(s, 0);\n        put_byte(s, 0);\n        put_byte(s, 0);\n        put_byte(s, 0);\n        put_byte(s, 0);\n        put_byte(s, s.level === 9 ? 2 :\n                    (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n                     4 : 0));\n        put_byte(s, OS_CODE);\n        s.status = BUSY_STATE;\n      }\n      else {\n        put_byte(s, (s.gzhead.text ? 1 : 0) +\n                    (s.gzhead.hcrc ? 2 : 0) +\n                    (!s.gzhead.extra ? 0 : 4) +\n                    (!s.gzhead.name ? 0 : 8) +\n                    (!s.gzhead.comment ? 0 : 16)\n        );\n        put_byte(s, s.gzhead.time & 0xff);\n        put_byte(s, (s.gzhead.time >> 8) & 0xff);\n        put_byte(s, (s.gzhead.time >> 16) & 0xff);\n        put_byte(s, (s.gzhead.time >> 24) & 0xff);\n        put_byte(s, s.level === 9 ? 2 :\n                    (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n                     4 : 0));\n        put_byte(s, s.gzhead.os & 0xff);\n        if (s.gzhead.extra && s.gzhead.extra.length) {\n          put_byte(s, s.gzhead.extra.length & 0xff);\n          put_byte(s, (s.gzhead.extra.length >> 8) & 0xff);\n        }\n        if (s.gzhead.hcrc) {\n          strm.adler = crc32(strm.adler, s.pending_buf, s.pending, 0);\n        }\n        s.gzindex = 0;\n        s.status = EXTRA_STATE;\n      }\n    }\n    else // DEFLATE header\n    {\n      var header = (Z_DEFLATED + ((s.w_bits - 8) << 4)) << 8;\n      var level_flags = -1;\n\n      if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2) {\n        level_flags = 0;\n      } else if (s.level < 6) {\n        level_flags = 1;\n      } else if (s.level === 6) {\n        level_flags = 2;\n      } else {\n        level_flags = 3;\n      }\n      header |= (level_flags << 6);\n      if (s.strstart !== 0) { header |= PRESET_DICT; }\n      header += 31 - (header % 31);\n\n      s.status = BUSY_STATE;\n      putShortMSB(s, header);\n\n      /* Save the adler32 of the preset dictionary: */\n      if (s.strstart !== 0) {\n        putShortMSB(s, strm.adler >>> 16);\n        putShortMSB(s, strm.adler & 0xffff);\n      }\n      strm.adler = 1; // adler32(0L, Z_NULL, 0);\n    }\n  }\n\n//#ifdef GZIP\n  if (s.status === EXTRA_STATE) {\n    if (s.gzhead.extra/* != Z_NULL*/) {\n      beg = s.pending;  /* start of bytes to update crc */\n\n      while (s.gzindex < (s.gzhead.extra.length & 0xffff)) {\n        if (s.pending === s.pending_buf_size) {\n          if (s.gzhead.hcrc && s.pending > beg) {\n            strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n          }\n          flush_pending(strm);\n          beg = s.pending;\n          if (s.pending === s.pending_buf_size) {\n            break;\n          }\n        }\n        put_byte(s, s.gzhead.extra[s.gzindex] & 0xff);\n        s.gzindex++;\n      }\n      if (s.gzhead.hcrc && s.pending > beg) {\n        strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n      }\n      if (s.gzindex === s.gzhead.extra.length) {\n        s.gzindex = 0;\n        s.status = NAME_STATE;\n      }\n    }\n    else {\n      s.status = NAME_STATE;\n    }\n  }\n  if (s.status === NAME_STATE) {\n    if (s.gzhead.name/* != Z_NULL*/) {\n      beg = s.pending;  /* start of bytes to update crc */\n      //int val;\n\n      do {\n        if (s.pending === s.pending_buf_size) {\n          if (s.gzhead.hcrc && s.pending > beg) {\n            strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n          }\n          flush_pending(strm);\n          beg = s.pending;\n          if (s.pending === s.pending_buf_size) {\n            val = 1;\n            break;\n          }\n        }\n        // JS specific: little magic to add zero terminator to end of string\n        if (s.gzindex < s.gzhead.name.length) {\n          val = s.gzhead.name.charCodeAt(s.gzindex++) & 0xff;\n        } else {\n          val = 0;\n        }\n        put_byte(s, val);\n      } while (val !== 0);\n\n      if (s.gzhead.hcrc && s.pending > beg) {\n        strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n      }\n      if (val === 0) {\n        s.gzindex = 0;\n        s.status = COMMENT_STATE;\n      }\n    }\n    else {\n      s.status = COMMENT_STATE;\n    }\n  }\n  if (s.status === COMMENT_STATE) {\n    if (s.gzhead.comment/* != Z_NULL*/) {\n      beg = s.pending;  /* start of bytes to update crc */\n      //int val;\n\n      do {\n        if (s.pending === s.pending_buf_size) {\n          if (s.gzhead.hcrc && s.pending > beg) {\n            strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n          }\n          flush_pending(strm);\n          beg = s.pending;\n          if (s.pending === s.pending_buf_size) {\n            val = 1;\n            break;\n          }\n        }\n        // JS specific: little magic to add zero terminator to end of string\n        if (s.gzindex < s.gzhead.comment.length) {\n          val = s.gzhead.comment.charCodeAt(s.gzindex++) & 0xff;\n        } else {\n          val = 0;\n        }\n        put_byte(s, val);\n      } while (val !== 0);\n\n      if (s.gzhead.hcrc && s.pending > beg) {\n        strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n      }\n      if (val === 0) {\n        s.status = HCRC_STATE;\n      }\n    }\n    else {\n      s.status = HCRC_STATE;\n    }\n  }\n  if (s.status === HCRC_STATE) {\n    if (s.gzhead.hcrc) {\n      if (s.pending + 2 > s.pending_buf_size) {\n        flush_pending(strm);\n      }\n      if (s.pending + 2 <= s.pending_buf_size) {\n        put_byte(s, strm.adler & 0xff);\n        put_byte(s, (strm.adler >> 8) & 0xff);\n        strm.adler = 0; //crc32(0L, Z_NULL, 0);\n        s.status = BUSY_STATE;\n      }\n    }\n    else {\n      s.status = BUSY_STATE;\n    }\n  }\n//#endif\n\n  /* Flush as much pending output as possible */\n  if (s.pending !== 0) {\n    flush_pending(strm);\n    if (strm.avail_out === 0) {\n      /* Since avail_out is 0, deflate will be called again with\n       * more output space, but possibly with both pending and\n       * avail_in equal to zero. There won't be anything to do,\n       * but this is not an error situation so make sure we\n       * return OK instead of BUF_ERROR at next call of deflate:\n       */\n      s.last_flush = -1;\n      return Z_OK;\n    }\n\n    /* Make sure there is something to do and avoid duplicate consecutive\n     * flushes. For repeated and useless calls with Z_FINISH, we keep\n     * returning Z_STREAM_END instead of Z_BUF_ERROR.\n     */\n  } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) &&\n    flush !== Z_FINISH) {\n    return err(strm, Z_BUF_ERROR);\n  }\n\n  /* User must not provide more input after the first FINISH: */\n  if (s.status === FINISH_STATE && strm.avail_in !== 0) {\n    return err(strm, Z_BUF_ERROR);\n  }\n\n  /* Start a new block or continue the current one.\n   */\n  if (strm.avail_in !== 0 || s.lookahead !== 0 ||\n    (flush !== Z_NO_FLUSH && s.status !== FINISH_STATE)) {\n    var bstate = (s.strategy === Z_HUFFMAN_ONLY) ? deflate_huff(s, flush) :\n      (s.strategy === Z_RLE ? deflate_rle(s, flush) :\n        configuration_table[s.level].func(s, flush));\n\n    if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE) {\n      s.status = FINISH_STATE;\n    }\n    if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) {\n      if (strm.avail_out === 0) {\n        s.last_flush = -1;\n        /* avoid BUF_ERROR next call, see above */\n      }\n      return Z_OK;\n      /* If flush != Z_NO_FLUSH && avail_out == 0, the next call\n       * of deflate should use the same flush parameter to make sure\n       * that the flush is complete. So we don't have to output an\n       * empty block here, this will be done at next call. This also\n       * ensures that for a very small output buffer, we emit at most\n       * one empty block.\n       */\n    }\n    if (bstate === BS_BLOCK_DONE) {\n      if (flush === Z_PARTIAL_FLUSH) {\n        trees._tr_align(s);\n      }\n      else if (flush !== Z_BLOCK) { /* FULL_FLUSH or SYNC_FLUSH */\n\n        trees._tr_stored_block(s, 0, 0, false);\n        /* For a full flush, this empty block will be recognized\n         * as a special marker by inflate_sync().\n         */\n        if (flush === Z_FULL_FLUSH) {\n          /*** CLEAR_HASH(s); ***/             /* forget history */\n          zero(s.head); // Fill with NIL (= 0);\n\n          if (s.lookahead === 0) {\n            s.strstart = 0;\n            s.block_start = 0;\n            s.insert = 0;\n          }\n        }\n      }\n      flush_pending(strm);\n      if (strm.avail_out === 0) {\n        s.last_flush = -1; /* avoid BUF_ERROR at next call, see above */\n        return Z_OK;\n      }\n    }\n  }\n  //Assert(strm->avail_out > 0, \"bug2\");\n  //if (strm.avail_out <= 0) { throw new Error(\"bug2\");}\n\n  if (flush !== Z_FINISH) { return Z_OK; }\n  if (s.wrap <= 0) { return Z_STREAM_END; }\n\n  /* Write the trailer */\n  if (s.wrap === 2) {\n    put_byte(s, strm.adler & 0xff);\n    put_byte(s, (strm.adler >> 8) & 0xff);\n    put_byte(s, (strm.adler >> 16) & 0xff);\n    put_byte(s, (strm.adler >> 24) & 0xff);\n    put_byte(s, strm.total_in & 0xff);\n    put_byte(s, (strm.total_in >> 8) & 0xff);\n    put_byte(s, (strm.total_in >> 16) & 0xff);\n    put_byte(s, (strm.total_in >> 24) & 0xff);\n  }\n  else\n  {\n    putShortMSB(s, strm.adler >>> 16);\n    putShortMSB(s, strm.adler & 0xffff);\n  }\n\n  flush_pending(strm);\n  /* If avail_out is zero, the application will call deflate again\n   * to flush the rest.\n   */\n  if (s.wrap > 0) { s.wrap = -s.wrap; }\n  /* write the trailer only once! */\n  return s.pending !== 0 ? Z_OK : Z_STREAM_END;\n}\n\nfunction deflateEnd(strm) {\n  var status;\n\n  if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) {\n    return Z_STREAM_ERROR;\n  }\n\n  status = strm.state.status;\n  if (status !== INIT_STATE &&\n    status !== EXTRA_STATE &&\n    status !== NAME_STATE &&\n    status !== COMMENT_STATE &&\n    status !== HCRC_STATE &&\n    status !== BUSY_STATE &&\n    status !== FINISH_STATE\n  ) {\n    return err(strm, Z_STREAM_ERROR);\n  }\n\n  strm.state = null;\n\n  return status === BUSY_STATE ? err(strm, Z_DATA_ERROR) : Z_OK;\n}\n\n\n/* =========================================================================\n * Initializes the compression dictionary from the given byte\n * sequence without producing any compressed output.\n */\nfunction deflateSetDictionary(strm, dictionary) {\n  var dictLength = dictionary.length;\n\n  var s;\n  var str, n;\n  var wrap;\n  var avail;\n  var next;\n  var input;\n  var tmpDict;\n\n  if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) {\n    return Z_STREAM_ERROR;\n  }\n\n  s = strm.state;\n  wrap = s.wrap;\n\n  if (wrap === 2 || (wrap === 1 && s.status !== INIT_STATE) || s.lookahead) {\n    return Z_STREAM_ERROR;\n  }\n\n  /* when using zlib wrappers, compute Adler-32 for provided dictionary */\n  if (wrap === 1) {\n    /* adler32(strm->adler, dictionary, dictLength); */\n    strm.adler = adler32(strm.adler, dictionary, dictLength, 0);\n  }\n\n  s.wrap = 0;   /* avoid computing Adler-32 in read_buf */\n\n  /* if dictionary would fill window, just replace the history */\n  if (dictLength >= s.w_size) {\n    if (wrap === 0) {            /* already empty otherwise */\n      /*** CLEAR_HASH(s); ***/\n      zero(s.head); // Fill with NIL (= 0);\n      s.strstart = 0;\n      s.block_start = 0;\n      s.insert = 0;\n    }\n    /* use the tail */\n    // dictionary = dictionary.slice(dictLength - s.w_size);\n    tmpDict = new utils.Buf8(s.w_size);\n    utils.arraySet(tmpDict, dictionary, dictLength - s.w_size, s.w_size, 0);\n    dictionary = tmpDict;\n    dictLength = s.w_size;\n  }\n  /* insert dictionary into window and hash */\n  avail = strm.avail_in;\n  next = strm.next_in;\n  input = strm.input;\n  strm.avail_in = dictLength;\n  strm.next_in = 0;\n  strm.input = dictionary;\n  fill_window(s);\n  while (s.lookahead >= MIN_MATCH) {\n    str = s.strstart;\n    n = s.lookahead - (MIN_MATCH - 1);\n    do {\n      /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\n      s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask;\n\n      s.prev[str & s.w_mask] = s.head[s.ins_h];\n\n      s.head[s.ins_h] = str;\n      str++;\n    } while (--n);\n    s.strstart = str;\n    s.lookahead = MIN_MATCH - 1;\n    fill_window(s);\n  }\n  s.strstart += s.lookahead;\n  s.block_start = s.strstart;\n  s.insert = s.lookahead;\n  s.lookahead = 0;\n  s.match_length = s.prev_length = MIN_MATCH - 1;\n  s.match_available = 0;\n  strm.next_in = next;\n  strm.input = input;\n  strm.avail_in = avail;\n  s.wrap = wrap;\n  return Z_OK;\n}\n\n\nexports.deflateInit = deflateInit;\nexports.deflateInit2 = deflateInit2;\nexports.deflateReset = deflateReset;\nexports.deflateResetKeep = deflateResetKeep;\nexports.deflateSetHeader = deflateSetHeader;\nexports.deflate = deflate;\nexports.deflateEnd = deflateEnd;\nexports.deflateSetDictionary = deflateSetDictionary;\nexports.deflateInfo = 'pako deflate (from Nodeca project)';\n\n/* Not implemented\nexports.deflateBound = deflateBound;\nexports.deflateCopy = deflateCopy;\nexports.deflateParams = deflateParams;\nexports.deflatePending = deflatePending;\nexports.deflatePrime = deflatePrime;\nexports.deflateTune = deflateTune;\n*/\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n//   claim that you wrote the original software. If you use this software\n//   in a product, an acknowledgment in the product documentation would be\n//   appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//   misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n// See state defs from inflate.js\nvar BAD = 30;       /* got a data error -- remain here until reset */\nvar TYPE = 12;      /* i: waiting for type bits, including last-flag bit */\n\n/*\n   Decode literal, length, and distance codes and write out the resulting\n   literal and match bytes until either not enough input or output is\n   available, an end-of-block is encountered, or a data error is encountered.\n   When large enough input and output buffers are supplied to inflate(), for\n   example, a 16K input buffer and a 64K output buffer, more than 95% of the\n   inflate execution time is spent in this routine.\n\n   Entry assumptions:\n\n        state.mode === LEN\n        strm.avail_in >= 6\n        strm.avail_out >= 258\n        start >= strm.avail_out\n        state.bits < 8\n\n   On return, state.mode is one of:\n\n        LEN -- ran out of enough output space or enough available input\n        TYPE -- reached end of block code, inflate() to interpret next block\n        BAD -- error in block data\n\n   Notes:\n\n    - The maximum input bits used by a length/distance pair is 15 bits for the\n      length code, 5 bits for the length extra, 15 bits for the distance code,\n      and 13 bits for the distance extra.  This totals 48 bits, or six bytes.\n      Therefore if strm.avail_in >= 6, then there is enough input to avoid\n      checking for available input while decoding.\n\n    - The maximum bytes that a single length/distance pair can output is 258\n      bytes, which is the maximum length that can be coded.  inflate_fast()\n      requires strm.avail_out >= 258 for each loop to avoid checking for\n      output space.\n */\nmodule.exports = function inflate_fast(strm, start) {\n  var state;\n  var _in;                    /* local strm.input */\n  var last;                   /* have enough input while in < last */\n  var _out;                   /* local strm.output */\n  var beg;                    /* inflate()'s initial strm.output */\n  var end;                    /* while out < end, enough space available */\n//#ifdef INFLATE_STRICT\n  var dmax;                   /* maximum distance from zlib header */\n//#endif\n  var wsize;                  /* window size or zero if not using window */\n  var whave;                  /* valid bytes in the window */\n  var wnext;                  /* window write index */\n  // Use `s_window` instead `window`, avoid conflict with instrumentation tools\n  var s_window;               /* allocated sliding window, if wsize != 0 */\n  var hold;                   /* local strm.hold */\n  var bits;                   /* local strm.bits */\n  var lcode;                  /* local strm.lencode */\n  var dcode;                  /* local strm.distcode */\n  var lmask;                  /* mask for first level of length codes */\n  var dmask;                  /* mask for first level of distance codes */\n  var here;                   /* retrieved table entry */\n  var op;                     /* code bits, operation, extra bits, or */\n                              /*  window position, window bytes to copy */\n  var len;                    /* match length, unused bytes */\n  var dist;                   /* match distance */\n  var from;                   /* where to copy match from */\n  var from_source;\n\n\n  var input, output; // JS specific, because we have no pointers\n\n  /* copy state to local variables */\n  state = strm.state;\n  //here = state.here;\n  _in = strm.next_in;\n  input = strm.input;\n  last = _in + (strm.avail_in - 5);\n  _out = strm.next_out;\n  output = strm.output;\n  beg = _out - (start - strm.avail_out);\n  end = _out + (strm.avail_out - 257);\n//#ifdef INFLATE_STRICT\n  dmax = state.dmax;\n//#endif\n  wsize = state.wsize;\n  whave = state.whave;\n  wnext = state.wnext;\n  s_window = state.window;\n  hold = state.hold;\n  bits = state.bits;\n  lcode = state.lencode;\n  dcode = state.distcode;\n  lmask = (1 << state.lenbits) - 1;\n  dmask = (1 << state.distbits) - 1;\n\n\n  /* decode literals and length/distances until end-of-block or not enough\n     input data or output space */\n\n  top:\n  do {\n    if (bits < 15) {\n      hold += input[_in++] << bits;\n      bits += 8;\n      hold += input[_in++] << bits;\n      bits += 8;\n    }\n\n    here = lcode[hold & lmask];\n\n    dolen:\n    for (;;) { // Goto emulation\n      op = here >>> 24/*here.bits*/;\n      hold >>>= op;\n      bits -= op;\n      op = (here >>> 16) & 0xff/*here.op*/;\n      if (op === 0) {                          /* literal */\n        //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n        //        \"inflate:         literal '%c'\\n\" :\n        //        \"inflate:         literal 0x%02x\\n\", here.val));\n        output[_out++] = here & 0xffff/*here.val*/;\n      }\n      else if (op & 16) {                     /* length base */\n        len = here & 0xffff/*here.val*/;\n        op &= 15;                           /* number of extra bits */\n        if (op) {\n          if (bits < op) {\n            hold += input[_in++] << bits;\n            bits += 8;\n          }\n          len += hold & ((1 << op) - 1);\n          hold >>>= op;\n          bits -= op;\n        }\n        //Tracevv((stderr, \"inflate:         length %u\\n\", len));\n        if (bits < 15) {\n          hold += input[_in++] << bits;\n          bits += 8;\n          hold += input[_in++] << bits;\n          bits += 8;\n        }\n        here = dcode[hold & dmask];\n\n        dodist:\n        for (;;) { // goto emulation\n          op = here >>> 24/*here.bits*/;\n          hold >>>= op;\n          bits -= op;\n          op = (here >>> 16) & 0xff/*here.op*/;\n\n          if (op & 16) {                      /* distance base */\n            dist = here & 0xffff/*here.val*/;\n            op &= 15;                       /* number of extra bits */\n            if (bits < op) {\n              hold += input[_in++] << bits;\n              bits += 8;\n              if (bits < op) {\n                hold += input[_in++] << bits;\n                bits += 8;\n              }\n            }\n            dist += hold & ((1 << op) - 1);\n//#ifdef INFLATE_STRICT\n            if (dist > dmax) {\n              strm.msg = 'invalid distance too far back';\n              state.mode = BAD;\n              break top;\n            }\n//#endif\n            hold >>>= op;\n            bits -= op;\n            //Tracevv((stderr, \"inflate:         distance %u\\n\", dist));\n            op = _out - beg;                /* max distance in output */\n            if (dist > op) {                /* see if copy from window */\n              op = dist - op;               /* distance back in window */\n              if (op > whave) {\n                if (state.sane) {\n                  strm.msg = 'invalid distance too far back';\n                  state.mode = BAD;\n                  break top;\n                }\n\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n//                if (len <= op - whave) {\n//                  do {\n//                    output[_out++] = 0;\n//                  } while (--len);\n//                  continue top;\n//                }\n//                len -= op - whave;\n//                do {\n//                  output[_out++] = 0;\n//                } while (--op > whave);\n//                if (op === 0) {\n//                  from = _out - dist;\n//                  do {\n//                    output[_out++] = output[from++];\n//                  } while (--len);\n//                  continue top;\n//                }\n//#endif\n              }\n              from = 0; // window index\n              from_source = s_window;\n              if (wnext === 0) {           /* very common case */\n                from += wsize - op;\n                if (op < len) {         /* some from window */\n                  len -= op;\n                  do {\n                    output[_out++] = s_window[from++];\n                  } while (--op);\n                  from = _out - dist;  /* rest from output */\n                  from_source = output;\n                }\n              }\n              else if (wnext < op) {      /* wrap around window */\n                from += wsize + wnext - op;\n                op -= wnext;\n                if (op < len) {         /* some from end of window */\n                  len -= op;\n                  do {\n                    output[_out++] = s_window[from++];\n                  } while (--op);\n                  from = 0;\n                  if (wnext < len) {  /* some from start of window */\n                    op = wnext;\n                    len -= op;\n                    do {\n                      output[_out++] = s_window[from++];\n                    } while (--op);\n                    from = _out - dist;      /* rest from output */\n                    from_source = output;\n                  }\n                }\n              }\n              else {                      /* contiguous in window */\n                from += wnext - op;\n                if (op < len) {         /* some from window */\n                  len -= op;\n                  do {\n                    output[_out++] = s_window[from++];\n                  } while (--op);\n                  from = _out - dist;  /* rest from output */\n                  from_source = output;\n                }\n              }\n              while (len > 2) {\n                output[_out++] = from_source[from++];\n                output[_out++] = from_source[from++];\n                output[_out++] = from_source[from++];\n                len -= 3;\n              }\n              if (len) {\n                output[_out++] = from_source[from++];\n                if (len > 1) {\n                  output[_out++] = from_source[from++];\n                }\n              }\n            }\n            else {\n              from = _out - dist;          /* copy direct from output */\n              do {                        /* minimum length is three */\n                output[_out++] = output[from++];\n                output[_out++] = output[from++];\n                output[_out++] = output[from++];\n                len -= 3;\n              } while (len > 2);\n              if (len) {\n                output[_out++] = output[from++];\n                if (len > 1) {\n                  output[_out++] = output[from++];\n                }\n              }\n            }\n          }\n          else if ((op & 64) === 0) {          /* 2nd level distance code */\n            here = dcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n            continue dodist;\n          }\n          else {\n            strm.msg = 'invalid distance code';\n            state.mode = BAD;\n            break top;\n          }\n\n          break; // need to emulate goto via \"continue\"\n        }\n      }\n      else if ((op & 64) === 0) {              /* 2nd level length code */\n        here = lcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n        continue dolen;\n      }\n      else if (op & 32) {                     /* end-of-block */\n        //Tracevv((stderr, \"inflate:         end of block\\n\"));\n        state.mode = TYPE;\n        break top;\n      }\n      else {\n        strm.msg = 'invalid literal/length code';\n        state.mode = BAD;\n        break top;\n      }\n\n      break; // need to emulate goto via \"continue\"\n    }\n  } while (_in < last && _out < end);\n\n  /* return unused bytes (on entry, bits < 8, so in won't go too far back) */\n  len = bits >> 3;\n  _in -= len;\n  bits -= len << 3;\n  hold &= (1 << bits) - 1;\n\n  /* update state and return */\n  strm.next_in = _in;\n  strm.next_out = _out;\n  strm.avail_in = (_in < last ? 5 + (last - _in) : 5 - (_in - last));\n  strm.avail_out = (_out < end ? 257 + (end - _out) : 257 - (_out - end));\n  state.hold = hold;\n  state.bits = bits;\n  return;\n};\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n//   claim that you wrote the original software. If you use this software\n//   in a product, an acknowledgment in the product documentation would be\n//   appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//   misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nvar utils         = require('../utils/common');\nvar adler32       = require('./adler32');\nvar crc32         = require('./crc32');\nvar inflate_fast  = require('./inffast');\nvar inflate_table = require('./inftrees');\n\nvar CODES = 0;\nvar LENS = 1;\nvar DISTS = 2;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n/* Allowed flush values; see deflate() and inflate() below for details */\n//var Z_NO_FLUSH      = 0;\n//var Z_PARTIAL_FLUSH = 1;\n//var Z_SYNC_FLUSH    = 2;\n//var Z_FULL_FLUSH    = 3;\nvar Z_FINISH        = 4;\nvar Z_BLOCK         = 5;\nvar Z_TREES         = 6;\n\n\n/* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\nvar Z_OK            = 0;\nvar Z_STREAM_END    = 1;\nvar Z_NEED_DICT     = 2;\n//var Z_ERRNO         = -1;\nvar Z_STREAM_ERROR  = -2;\nvar Z_DATA_ERROR    = -3;\nvar Z_MEM_ERROR     = -4;\nvar Z_BUF_ERROR     = -5;\n//var Z_VERSION_ERROR = -6;\n\n/* The deflate compression method */\nvar Z_DEFLATED  = 8;\n\n\n/* STATES ====================================================================*/\n/* ===========================================================================*/\n\n\nvar    HEAD = 1;       /* i: waiting for magic header */\nvar    FLAGS = 2;      /* i: waiting for method and flags (gzip) */\nvar    TIME = 3;       /* i: waiting for modification time (gzip) */\nvar    OS = 4;         /* i: waiting for extra flags and operating system (gzip) */\nvar    EXLEN = 5;      /* i: waiting for extra length (gzip) */\nvar    EXTRA = 6;      /* i: waiting for extra bytes (gzip) */\nvar    NAME = 7;       /* i: waiting for end of file name (gzip) */\nvar    COMMENT = 8;    /* i: waiting for end of comment (gzip) */\nvar    HCRC = 9;       /* i: waiting for header crc (gzip) */\nvar    DICTID = 10;    /* i: waiting for dictionary check value */\nvar    DICT = 11;      /* waiting for inflateSetDictionary() call */\nvar        TYPE = 12;      /* i: waiting for type bits, including last-flag bit */\nvar        TYPEDO = 13;    /* i: same, but skip check to exit inflate on new block */\nvar        STORED = 14;    /* i: waiting for stored size (length and complement) */\nvar        COPY_ = 15;     /* i/o: same as COPY below, but only first time in */\nvar        COPY = 16;      /* i/o: waiting for input or output to copy stored block */\nvar        TABLE = 17;     /* i: waiting for dynamic block table lengths */\nvar        LENLENS = 18;   /* i: waiting for code length code lengths */\nvar        CODELENS = 19;  /* i: waiting for length/lit and distance code lengths */\nvar            LEN_ = 20;      /* i: same as LEN below, but only first time in */\nvar            LEN = 21;       /* i: waiting for length/lit/eob code */\nvar            LENEXT = 22;    /* i: waiting for length extra bits */\nvar            DIST = 23;      /* i: waiting for distance code */\nvar            DISTEXT = 24;   /* i: waiting for distance extra bits */\nvar            MATCH = 25;     /* o: waiting for output space to copy string */\nvar            LIT = 26;       /* o: waiting for output space to write literal */\nvar    CHECK = 27;     /* i: waiting for 32-bit check value */\nvar    LENGTH = 28;    /* i: waiting for 32-bit length (gzip) */\nvar    DONE = 29;      /* finished check, done -- remain here until reset */\nvar    BAD = 30;       /* got a data error -- remain here until reset */\nvar    MEM = 31;       /* got an inflate() memory error -- remain here until reset */\nvar    SYNC = 32;      /* looking for synchronization bytes to restart inflate() */\n\n/* ===========================================================================*/\n\n\n\nvar ENOUGH_LENS = 852;\nvar ENOUGH_DISTS = 592;\n//var ENOUGH =  (ENOUGH_LENS+ENOUGH_DISTS);\n\nvar MAX_WBITS = 15;\n/* 32K LZ77 window */\nvar DEF_WBITS = MAX_WBITS;\n\n\nfunction zswap32(q) {\n  return  (((q >>> 24) & 0xff) +\n          ((q >>> 8) & 0xff00) +\n          ((q & 0xff00) << 8) +\n          ((q & 0xff) << 24));\n}\n\n\nfunction InflateState() {\n  this.mode = 0;             /* current inflate mode */\n  this.last = false;          /* true if processing last block */\n  this.wrap = 0;              /* bit 0 true for zlib, bit 1 true for gzip */\n  this.havedict = false;      /* true if dictionary provided */\n  this.flags = 0;             /* gzip header method and flags (0 if zlib) */\n  this.dmax = 0;              /* zlib header max distance (INFLATE_STRICT) */\n  this.check = 0;             /* protected copy of check value */\n  this.total = 0;             /* protected copy of output count */\n  // TODO: may be {}\n  this.head = null;           /* where to save gzip header information */\n\n  /* sliding window */\n  this.wbits = 0;             /* log base 2 of requested window size */\n  this.wsize = 0;             /* window size or zero if not using window */\n  this.whave = 0;             /* valid bytes in the window */\n  this.wnext = 0;             /* window write index */\n  this.window = null;         /* allocated sliding window, if needed */\n\n  /* bit accumulator */\n  this.hold = 0;              /* input bit accumulator */\n  this.bits = 0;              /* number of bits in \"in\" */\n\n  /* for string and stored block copying */\n  this.length = 0;            /* literal or length of data to copy */\n  this.offset = 0;            /* distance back to copy string from */\n\n  /* for table and code decoding */\n  this.extra = 0;             /* extra bits needed */\n\n  /* fixed and dynamic code tables */\n  this.lencode = null;          /* starting table for length/literal codes */\n  this.distcode = null;         /* starting table for distance codes */\n  this.lenbits = 0;           /* index bits for lencode */\n  this.distbits = 0;          /* index bits for distcode */\n\n  /* dynamic table building */\n  this.ncode = 0;             /* number of code length code lengths */\n  this.nlen = 0;              /* number of length code lengths */\n  this.ndist = 0;             /* number of distance code lengths */\n  this.have = 0;              /* number of code lengths in lens[] */\n  this.next = null;              /* next available space in codes[] */\n\n  this.lens = new utils.Buf16(320); /* temporary storage for code lengths */\n  this.work = new utils.Buf16(288); /* work area for code table building */\n\n  /*\n   because we don't have pointers in js, we use lencode and distcode directly\n   as buffers so we don't need codes\n  */\n  //this.codes = new utils.Buf32(ENOUGH);       /* space for code tables */\n  this.lendyn = null;              /* dynamic table for length/literal codes (JS specific) */\n  this.distdyn = null;             /* dynamic table for distance codes (JS specific) */\n  this.sane = 0;                   /* if false, allow invalid distance too far */\n  this.back = 0;                   /* bits back of last unprocessed length/lit */\n  this.was = 0;                    /* initial length of match */\n}\n\nfunction inflateResetKeep(strm) {\n  var state;\n\n  if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n  state = strm.state;\n  strm.total_in = strm.total_out = state.total = 0;\n  strm.msg = ''; /*Z_NULL*/\n  if (state.wrap) {       /* to support ill-conceived Java test suite */\n    strm.adler = state.wrap & 1;\n  }\n  state.mode = HEAD;\n  state.last = 0;\n  state.havedict = 0;\n  state.dmax = 32768;\n  state.head = null/*Z_NULL*/;\n  state.hold = 0;\n  state.bits = 0;\n  //state.lencode = state.distcode = state.next = state.codes;\n  state.lencode = state.lendyn = new utils.Buf32(ENOUGH_LENS);\n  state.distcode = state.distdyn = new utils.Buf32(ENOUGH_DISTS);\n\n  state.sane = 1;\n  state.back = -1;\n  //Tracev((stderr, \"inflate: reset\\n\"));\n  return Z_OK;\n}\n\nfunction inflateReset(strm) {\n  var state;\n\n  if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n  state = strm.state;\n  state.wsize = 0;\n  state.whave = 0;\n  state.wnext = 0;\n  return inflateResetKeep(strm);\n\n}\n\nfunction inflateReset2(strm, windowBits) {\n  var wrap;\n  var state;\n\n  /* get the state */\n  if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n  state = strm.state;\n\n  /* extract wrap request from windowBits parameter */\n  if (windowBits < 0) {\n    wrap = 0;\n    windowBits = -windowBits;\n  }\n  else {\n    wrap = (windowBits >> 4) + 1;\n    if (windowBits < 48) {\n      windowBits &= 15;\n    }\n  }\n\n  /* set number of window bits, free window if different */\n  if (windowBits && (windowBits < 8 || windowBits > 15)) {\n    return Z_STREAM_ERROR;\n  }\n  if (state.window !== null && state.wbits !== windowBits) {\n    state.window = null;\n  }\n\n  /* update state and reset the rest of it */\n  state.wrap = wrap;\n  state.wbits = windowBits;\n  return inflateReset(strm);\n}\n\nfunction inflateInit2(strm, windowBits) {\n  var ret;\n  var state;\n\n  if (!strm) { return Z_STREAM_ERROR; }\n  //strm.msg = Z_NULL;                 /* in case we return an error */\n\n  state = new InflateState();\n\n  //if (state === Z_NULL) return Z_MEM_ERROR;\n  //Tracev((stderr, \"inflate: allocated\\n\"));\n  strm.state = state;\n  state.window = null/*Z_NULL*/;\n  ret = inflateReset2(strm, windowBits);\n  if (ret !== Z_OK) {\n    strm.state = null/*Z_NULL*/;\n  }\n  return ret;\n}\n\nfunction inflateInit(strm) {\n  return inflateInit2(strm, DEF_WBITS);\n}\n\n\n/*\n Return state with length and distance decoding tables and index sizes set to\n fixed code decoding.  Normally this returns fixed tables from inffixed.h.\n If BUILDFIXED is defined, then instead this routine builds the tables the\n first time it's called, and returns those tables the first time and\n thereafter.  This reduces the size of the code by about 2K bytes, in\n exchange for a little execution time.  However, BUILDFIXED should not be\n used for threaded applications, since the rewriting of the tables and virgin\n may not be thread-safe.\n */\nvar virgin = true;\n\nvar lenfix, distfix; // We have no pointers in JS, so keep tables separate\n\nfunction fixedtables(state) {\n  /* build fixed huffman tables if first call (may not be thread safe) */\n  if (virgin) {\n    var sym;\n\n    lenfix = new utils.Buf32(512);\n    distfix = new utils.Buf32(32);\n\n    /* literal/length table */\n    sym = 0;\n    while (sym < 144) { state.lens[sym++] = 8; }\n    while (sym < 256) { state.lens[sym++] = 9; }\n    while (sym < 280) { state.lens[sym++] = 7; }\n    while (sym < 288) { state.lens[sym++] = 8; }\n\n    inflate_table(LENS,  state.lens, 0, 288, lenfix,   0, state.work, { bits: 9 });\n\n    /* distance table */\n    sym = 0;\n    while (sym < 32) { state.lens[sym++] = 5; }\n\n    inflate_table(DISTS, state.lens, 0, 32,   distfix, 0, state.work, { bits: 5 });\n\n    /* do this just once */\n    virgin = false;\n  }\n\n  state.lencode = lenfix;\n  state.lenbits = 9;\n  state.distcode = distfix;\n  state.distbits = 5;\n}\n\n\n/*\n Update the window with the last wsize (normally 32K) bytes written before\n returning.  If window does not exist yet, create it.  This is only called\n when a window is already in use, or when output has been written during this\n inflate call, but the end of the deflate stream has not been reached yet.\n It is also called to create a window for dictionary data when a dictionary\n is loaded.\n\n Providing output buffers larger than 32K to inflate() should provide a speed\n advantage, since only the last 32K of output is copied to the sliding window\n upon return from inflate(), and since all distances after the first 32K of\n output will fall in the output data, making match copies simpler and faster.\n The advantage may be dependent on the size of the processor's data caches.\n */\nfunction updatewindow(strm, src, end, copy) {\n  var dist;\n  var state = strm.state;\n\n  /* if it hasn't been done already, allocate space for the window */\n  if (state.window === null) {\n    state.wsize = 1 << state.wbits;\n    state.wnext = 0;\n    state.whave = 0;\n\n    state.window = new utils.Buf8(state.wsize);\n  }\n\n  /* copy state->wsize or less output bytes into the circular window */\n  if (copy >= state.wsize) {\n    utils.arraySet(state.window, src, end - state.wsize, state.wsize, 0);\n    state.wnext = 0;\n    state.whave = state.wsize;\n  }\n  else {\n    dist = state.wsize - state.wnext;\n    if (dist > copy) {\n      dist = copy;\n    }\n    //zmemcpy(state->window + state->wnext, end - copy, dist);\n    utils.arraySet(state.window, src, end - copy, dist, state.wnext);\n    copy -= dist;\n    if (copy) {\n      //zmemcpy(state->window, end - copy, copy);\n      utils.arraySet(state.window, src, end - copy, copy, 0);\n      state.wnext = copy;\n      state.whave = state.wsize;\n    }\n    else {\n      state.wnext += dist;\n      if (state.wnext === state.wsize) { state.wnext = 0; }\n      if (state.whave < state.wsize) { state.whave += dist; }\n    }\n  }\n  return 0;\n}\n\nfunction inflate(strm, flush) {\n  var state;\n  var input, output;          // input/output buffers\n  var next;                   /* next input INDEX */\n  var put;                    /* next output INDEX */\n  var have, left;             /* available input and output */\n  var hold;                   /* bit buffer */\n  var bits;                   /* bits in bit buffer */\n  var _in, _out;              /* save starting available input and output */\n  var copy;                   /* number of stored or match bytes to copy */\n  var from;                   /* where to copy match bytes from */\n  var from_source;\n  var here = 0;               /* current decoding table entry */\n  var here_bits, here_op, here_val; // paked \"here\" denormalized (JS specific)\n  //var last;                   /* parent table entry */\n  var last_bits, last_op, last_val; // paked \"last\" denormalized (JS specific)\n  var len;                    /* length to copy for repeats, bits to drop */\n  var ret;                    /* return code */\n  var hbuf = new utils.Buf8(4);    /* buffer for gzip header crc calculation */\n  var opts;\n\n  var n; // temporary var for NEED_BITS\n\n  var order = /* permutation of code lengths */\n    [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ];\n\n\n  if (!strm || !strm.state || !strm.output ||\n      (!strm.input && strm.avail_in !== 0)) {\n    return Z_STREAM_ERROR;\n  }\n\n  state = strm.state;\n  if (state.mode === TYPE) { state.mode = TYPEDO; }    /* skip check */\n\n\n  //--- LOAD() ---\n  put = strm.next_out;\n  output = strm.output;\n  left = strm.avail_out;\n  next = strm.next_in;\n  input = strm.input;\n  have = strm.avail_in;\n  hold = state.hold;\n  bits = state.bits;\n  //---\n\n  _in = have;\n  _out = left;\n  ret = Z_OK;\n\n  inf_leave: // goto emulation\n  for (;;) {\n    switch (state.mode) {\n      case HEAD:\n        if (state.wrap === 0) {\n          state.mode = TYPEDO;\n          break;\n        }\n        //=== NEEDBITS(16);\n        while (bits < 16) {\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n        }\n        //===//\n        if ((state.wrap & 2) && hold === 0x8b1f) {  /* gzip header */\n          state.check = 0/*crc32(0L, Z_NULL, 0)*/;\n          //=== CRC2(state.check, hold);\n          hbuf[0] = hold & 0xff;\n          hbuf[1] = (hold >>> 8) & 0xff;\n          state.check = crc32(state.check, hbuf, 2, 0);\n          //===//\n\n          //=== INITBITS();\n          hold = 0;\n          bits = 0;\n          //===//\n          state.mode = FLAGS;\n          break;\n        }\n        state.flags = 0;           /* expect zlib header */\n        if (state.head) {\n          state.head.done = false;\n        }\n        if (!(state.wrap & 1) ||   /* check if zlib header allowed */\n          (((hold & 0xff)/*BITS(8)*/ << 8) + (hold >> 8)) % 31) {\n          strm.msg = 'incorrect header check';\n          state.mode = BAD;\n          break;\n        }\n        if ((hold & 0x0f)/*BITS(4)*/ !== Z_DEFLATED) {\n          strm.msg = 'unknown compression method';\n          state.mode = BAD;\n          break;\n        }\n        //--- DROPBITS(4) ---//\n        hold >>>= 4;\n        bits -= 4;\n        //---//\n        len = (hold & 0x0f)/*BITS(4)*/ + 8;\n        if (state.wbits === 0) {\n          state.wbits = len;\n        }\n        else if (len > state.wbits) {\n          strm.msg = 'invalid window size';\n          state.mode = BAD;\n          break;\n        }\n        state.dmax = 1 << len;\n        //Tracev((stderr, \"inflate:   zlib header ok\\n\"));\n        strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n        state.mode = hold & 0x200 ? DICTID : TYPE;\n        //=== INITBITS();\n        hold = 0;\n        bits = 0;\n        //===//\n        break;\n      case FLAGS:\n        //=== NEEDBITS(16); */\n        while (bits < 16) {\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n        }\n        //===//\n        state.flags = hold;\n        if ((state.flags & 0xff) !== Z_DEFLATED) {\n          strm.msg = 'unknown compression method';\n          state.mode = BAD;\n          break;\n        }\n        if (state.flags & 0xe000) {\n          strm.msg = 'unknown header flags set';\n          state.mode = BAD;\n          break;\n        }\n        if (state.head) {\n          state.head.text = ((hold >> 8) & 1);\n        }\n        if (state.flags & 0x0200) {\n          //=== CRC2(state.check, hold);\n          hbuf[0] = hold & 0xff;\n          hbuf[1] = (hold >>> 8) & 0xff;\n          state.check = crc32(state.check, hbuf, 2, 0);\n          //===//\n        }\n        //=== INITBITS();\n        hold = 0;\n        bits = 0;\n        //===//\n        state.mode = TIME;\n        /* falls through */\n      case TIME:\n        //=== NEEDBITS(32); */\n        while (bits < 32) {\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n        }\n        //===//\n        if (state.head) {\n          state.head.time = hold;\n        }\n        if (state.flags & 0x0200) {\n          //=== CRC4(state.check, hold)\n          hbuf[0] = hold & 0xff;\n          hbuf[1] = (hold >>> 8) & 0xff;\n          hbuf[2] = (hold >>> 16) & 0xff;\n          hbuf[3] = (hold >>> 24) & 0xff;\n          state.check = crc32(state.check, hbuf, 4, 0);\n          //===\n        }\n        //=== INITBITS();\n        hold = 0;\n        bits = 0;\n        //===//\n        state.mode = OS;\n        /* falls through */\n      case OS:\n        //=== NEEDBITS(16); */\n        while (bits < 16) {\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n        }\n        //===//\n        if (state.head) {\n          state.head.xflags = (hold & 0xff);\n          state.head.os = (hold >> 8);\n        }\n        if (state.flags & 0x0200) {\n          //=== CRC2(state.check, hold);\n          hbuf[0] = hold & 0xff;\n          hbuf[1] = (hold >>> 8) & 0xff;\n          state.check = crc32(state.check, hbuf, 2, 0);\n          //===//\n        }\n        //=== INITBITS();\n        hold = 0;\n        bits = 0;\n        //===//\n        state.mode = EXLEN;\n        /* falls through */\n      case EXLEN:\n        if (state.flags & 0x0400) {\n          //=== NEEDBITS(16); */\n          while (bits < 16) {\n            if (have === 0) { break inf_leave; }\n            have--;\n            hold += input[next++] << bits;\n            bits += 8;\n          }\n          //===//\n          state.length = hold;\n          if (state.head) {\n            state.head.extra_len = hold;\n          }\n          if (state.flags & 0x0200) {\n            //=== CRC2(state.check, hold);\n            hbuf[0] = hold & 0xff;\n            hbuf[1] = (hold >>> 8) & 0xff;\n            state.check = crc32(state.check, hbuf, 2, 0);\n            //===//\n          }\n          //=== INITBITS();\n          hold = 0;\n          bits = 0;\n          //===//\n        }\n        else if (state.head) {\n          state.head.extra = null/*Z_NULL*/;\n        }\n        state.mode = EXTRA;\n        /* falls through */\n      case EXTRA:\n        if (state.flags & 0x0400) {\n          copy = state.length;\n          if (copy > have) { copy = have; }\n          if (copy) {\n            if (state.head) {\n              len = state.head.extra_len - state.length;\n              if (!state.head.extra) {\n                // Use untyped array for more convenient processing later\n                state.head.extra = new Array(state.head.extra_len);\n              }\n              utils.arraySet(\n                state.head.extra,\n                input,\n                next,\n                // extra field is limited to 65536 bytes\n                // - no need for additional size check\n                copy,\n                /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/\n                len\n              );\n              //zmemcpy(state.head.extra + len, next,\n              //        len + copy > state.head.extra_max ?\n              //        state.head.extra_max - len : copy);\n            }\n            if (state.flags & 0x0200) {\n              state.check = crc32(state.check, input, copy, next);\n            }\n            have -= copy;\n            next += copy;\n            state.length -= copy;\n          }\n          if (state.length) { break inf_leave; }\n        }\n        state.length = 0;\n        state.mode = NAME;\n        /* falls through */\n      case NAME:\n        if (state.flags & 0x0800) {\n          if (have === 0) { break inf_leave; }\n          copy = 0;\n          do {\n            // TODO: 2 or 1 bytes?\n            len = input[next + copy++];\n            /* use constant limit because in js we should not preallocate memory */\n            if (state.head && len &&\n                (state.length < 65536 /*state.head.name_max*/)) {\n              state.head.name += String.fromCharCode(len);\n            }\n          } while (len && copy < have);\n\n          if (state.flags & 0x0200) {\n            state.check = crc32(state.check, input, copy, next);\n          }\n          have -= copy;\n          next += copy;\n          if (len) { break inf_leave; }\n        }\n        else if (state.head) {\n          state.head.name = null;\n        }\n        state.length = 0;\n        state.mode = COMMENT;\n        /* falls through */\n      case COMMENT:\n        if (state.flags & 0x1000) {\n          if (have === 0) { break inf_leave; }\n          copy = 0;\n          do {\n            len = input[next + copy++];\n            /* use constant limit because in js we should not preallocate memory */\n            if (state.head && len &&\n                (state.length < 65536 /*state.head.comm_max*/)) {\n              state.head.comment += String.fromCharCode(len);\n            }\n          } while (len && copy < have);\n          if (state.flags & 0x0200) {\n            state.check = crc32(state.check, input, copy, next);\n          }\n          have -= copy;\n          next += copy;\n          if (len) { break inf_leave; }\n        }\n        else if (state.head) {\n          state.head.comment = null;\n        }\n        state.mode = HCRC;\n        /* falls through */\n      case HCRC:\n        if (state.flags & 0x0200) {\n          //=== NEEDBITS(16); */\n          while (bits < 16) {\n            if (have === 0) { break inf_leave; }\n            have--;\n            hold += input[next++] << bits;\n            bits += 8;\n          }\n          //===//\n          if (hold !== (state.check & 0xffff)) {\n            strm.msg = 'header crc mismatch';\n            state.mode = BAD;\n            break;\n          }\n          //=== INITBITS();\n          hold = 0;\n          bits = 0;\n          //===//\n        }\n        if (state.head) {\n          state.head.hcrc = ((state.flags >> 9) & 1);\n          state.head.done = true;\n        }\n        strm.adler = state.check = 0;\n        state.mode = TYPE;\n        break;\n      case DICTID:\n        //=== NEEDBITS(32); */\n        while (bits < 32) {\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n        }\n        //===//\n        strm.adler = state.check = zswap32(hold);\n        //=== INITBITS();\n        hold = 0;\n        bits = 0;\n        //===//\n        state.mode = DICT;\n        /* falls through */\n      case DICT:\n        if (state.havedict === 0) {\n          //--- RESTORE() ---\n          strm.next_out = put;\n          strm.avail_out = left;\n          strm.next_in = next;\n          strm.avail_in = have;\n          state.hold = hold;\n          state.bits = bits;\n          //---\n          return Z_NEED_DICT;\n        }\n        strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n        state.mode = TYPE;\n        /* falls through */\n      case TYPE:\n        if (flush === Z_BLOCK || flush === Z_TREES) { break inf_leave; }\n        /* falls through */\n      case TYPEDO:\n        if (state.last) {\n          //--- BYTEBITS() ---//\n          hold >>>= bits & 7;\n          bits -= bits & 7;\n          //---//\n          state.mode = CHECK;\n          break;\n        }\n        //=== NEEDBITS(3); */\n        while (bits < 3) {\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n        }\n        //===//\n        state.last = (hold & 0x01)/*BITS(1)*/;\n        //--- DROPBITS(1) ---//\n        hold >>>= 1;\n        bits -= 1;\n        //---//\n\n        switch ((hold & 0x03)/*BITS(2)*/) {\n          case 0:                             /* stored block */\n            //Tracev((stderr, \"inflate:     stored block%s\\n\",\n            //        state.last ? \" (last)\" : \"\"));\n            state.mode = STORED;\n            break;\n          case 1:                             /* fixed block */\n            fixedtables(state);\n            //Tracev((stderr, \"inflate:     fixed codes block%s\\n\",\n            //        state.last ? \" (last)\" : \"\"));\n            state.mode = LEN_;             /* decode codes */\n            if (flush === Z_TREES) {\n              //--- DROPBITS(2) ---//\n              hold >>>= 2;\n              bits -= 2;\n              //---//\n              break inf_leave;\n            }\n            break;\n          case 2:                             /* dynamic block */\n            //Tracev((stderr, \"inflate:     dynamic codes block%s\\n\",\n            //        state.last ? \" (last)\" : \"\"));\n            state.mode = TABLE;\n            break;\n          case 3:\n            strm.msg = 'invalid block type';\n            state.mode = BAD;\n        }\n        //--- DROPBITS(2) ---//\n        hold >>>= 2;\n        bits -= 2;\n        //---//\n        break;\n      case STORED:\n        //--- BYTEBITS() ---// /* go to byte boundary */\n        hold >>>= bits & 7;\n        bits -= bits & 7;\n        //---//\n        //=== NEEDBITS(32); */\n        while (bits < 32) {\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n        }\n        //===//\n        if ((hold & 0xffff) !== ((hold >>> 16) ^ 0xffff)) {\n          strm.msg = 'invalid stored block lengths';\n          state.mode = BAD;\n          break;\n        }\n        state.length = hold & 0xffff;\n        //Tracev((stderr, \"inflate:       stored length %u\\n\",\n        //        state.length));\n        //=== INITBITS();\n        hold = 0;\n        bits = 0;\n        //===//\n        state.mode = COPY_;\n        if (flush === Z_TREES) { break inf_leave; }\n        /* falls through */\n      case COPY_:\n        state.mode = COPY;\n        /* falls through */\n      case COPY:\n        copy = state.length;\n        if (copy) {\n          if (copy > have) { copy = have; }\n          if (copy > left) { copy = left; }\n          if (copy === 0) { break inf_leave; }\n          //--- zmemcpy(put, next, copy); ---\n          utils.arraySet(output, input, next, copy, put);\n          //---//\n          have -= copy;\n          next += copy;\n          left -= copy;\n          put += copy;\n          state.length -= copy;\n          break;\n        }\n        //Tracev((stderr, \"inflate:       stored end\\n\"));\n        state.mode = TYPE;\n        break;\n      case TABLE:\n        //=== NEEDBITS(14); */\n        while (bits < 14) {\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n        }\n        //===//\n        state.nlen = (hold & 0x1f)/*BITS(5)*/ + 257;\n        //--- DROPBITS(5) ---//\n        hold >>>= 5;\n        bits -= 5;\n        //---//\n        state.ndist = (hold & 0x1f)/*BITS(5)*/ + 1;\n        //--- DROPBITS(5) ---//\n        hold >>>= 5;\n        bits -= 5;\n        //---//\n        state.ncode = (hold & 0x0f)/*BITS(4)*/ + 4;\n        //--- DROPBITS(4) ---//\n        hold >>>= 4;\n        bits -= 4;\n        //---//\n//#ifndef PKZIP_BUG_WORKAROUND\n        if (state.nlen > 286 || state.ndist > 30) {\n          strm.msg = 'too many length or distance symbols';\n          state.mode = BAD;\n          break;\n        }\n//#endif\n        //Tracev((stderr, \"inflate:       table sizes ok\\n\"));\n        state.have = 0;\n        state.mode = LENLENS;\n        /* falls through */\n      case LENLENS:\n        while (state.have < state.ncode) {\n          //=== NEEDBITS(3);\n          while (bits < 3) {\n            if (have === 0) { break inf_leave; }\n            have--;\n            hold += input[next++] << bits;\n            bits += 8;\n          }\n          //===//\n          state.lens[order[state.have++]] = (hold & 0x07);//BITS(3);\n          //--- DROPBITS(3) ---//\n          hold >>>= 3;\n          bits -= 3;\n          //---//\n        }\n        while (state.have < 19) {\n          state.lens[order[state.have++]] = 0;\n        }\n        // We have separate tables & no pointers. 2 commented lines below not needed.\n        //state.next = state.codes;\n        //state.lencode = state.next;\n        // Switch to use dynamic table\n        state.lencode = state.lendyn;\n        state.lenbits = 7;\n\n        opts = { bits: state.lenbits };\n        ret = inflate_table(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts);\n        state.lenbits = opts.bits;\n\n        if (ret) {\n          strm.msg = 'invalid code lengths set';\n          state.mode = BAD;\n          break;\n        }\n        //Tracev((stderr, \"inflate:       code lengths ok\\n\"));\n        state.have = 0;\n        state.mode = CODELENS;\n        /* falls through */\n      case CODELENS:\n        while (state.have < state.nlen + state.ndist) {\n          for (;;) {\n            here = state.lencode[hold & ((1 << state.lenbits) - 1)];/*BITS(state.lenbits)*/\n            here_bits = here >>> 24;\n            here_op = (here >>> 16) & 0xff;\n            here_val = here & 0xffff;\n\n            if ((here_bits) <= bits) { break; }\n            //--- PULLBYTE() ---//\n            if (have === 0) { break inf_leave; }\n            have--;\n            hold += input[next++] << bits;\n            bits += 8;\n            //---//\n          }\n          if (here_val < 16) {\n            //--- DROPBITS(here.bits) ---//\n            hold >>>= here_bits;\n            bits -= here_bits;\n            //---//\n            state.lens[state.have++] = here_val;\n          }\n          else {\n            if (here_val === 16) {\n              //=== NEEDBITS(here.bits + 2);\n              n = here_bits + 2;\n              while (bits < n) {\n                if (have === 0) { break inf_leave; }\n                have--;\n                hold += input[next++] << bits;\n                bits += 8;\n              }\n              //===//\n              //--- DROPBITS(here.bits) ---//\n              hold >>>= here_bits;\n              bits -= here_bits;\n              //---//\n              if (state.have === 0) {\n                strm.msg = 'invalid bit length repeat';\n                state.mode = BAD;\n                break;\n              }\n              len = state.lens[state.have - 1];\n              copy = 3 + (hold & 0x03);//BITS(2);\n              //--- DROPBITS(2) ---//\n              hold >>>= 2;\n              bits -= 2;\n              //---//\n            }\n            else if (here_val === 17) {\n              //=== NEEDBITS(here.bits + 3);\n              n = here_bits + 3;\n              while (bits < n) {\n                if (have === 0) { break inf_leave; }\n                have--;\n                hold += input[next++] << bits;\n                bits += 8;\n              }\n              //===//\n              //--- DROPBITS(here.bits) ---//\n              hold >>>= here_bits;\n              bits -= here_bits;\n              //---//\n              len = 0;\n              copy = 3 + (hold & 0x07);//BITS(3);\n              //--- DROPBITS(3) ---//\n              hold >>>= 3;\n              bits -= 3;\n              //---//\n            }\n            else {\n              //=== NEEDBITS(here.bits + 7);\n              n = here_bits + 7;\n              while (bits < n) {\n                if (have === 0) { break inf_leave; }\n                have--;\n                hold += input[next++] << bits;\n                bits += 8;\n              }\n              //===//\n              //--- DROPBITS(here.bits) ---//\n              hold >>>= here_bits;\n              bits -= here_bits;\n              //---//\n              len = 0;\n              copy = 11 + (hold & 0x7f);//BITS(7);\n              //--- DROPBITS(7) ---//\n              hold >>>= 7;\n              bits -= 7;\n              //---//\n            }\n            if (state.have + copy > state.nlen + state.ndist) {\n              strm.msg = 'invalid bit length repeat';\n              state.mode = BAD;\n              break;\n            }\n            while (copy--) {\n              state.lens[state.have++] = len;\n            }\n          }\n        }\n\n        /* handle error breaks in while */\n        if (state.mode === BAD) { break; }\n\n        /* check for end-of-block code (better have one) */\n        if (state.lens[256] === 0) {\n          strm.msg = 'invalid code -- missing end-of-block';\n          state.mode = BAD;\n          break;\n        }\n\n        /* build code tables -- note: do not change the lenbits or distbits\n           values here (9 and 6) without reading the comments in inftrees.h\n           concerning the ENOUGH constants, which depend on those values */\n        state.lenbits = 9;\n\n        opts = { bits: state.lenbits };\n        ret = inflate_table(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts);\n        // We have separate tables & no pointers. 2 commented lines below not needed.\n        // state.next_index = opts.table_index;\n        state.lenbits = opts.bits;\n        // state.lencode = state.next;\n\n        if (ret) {\n          strm.msg = 'invalid literal/lengths set';\n          state.mode = BAD;\n          break;\n        }\n\n        state.distbits = 6;\n        //state.distcode.copy(state.codes);\n        // Switch to use dynamic table\n        state.distcode = state.distdyn;\n        opts = { bits: state.distbits };\n        ret = inflate_table(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts);\n        // We have separate tables & no pointers. 2 commented lines below not needed.\n        // state.next_index = opts.table_index;\n        state.distbits = opts.bits;\n        // state.distcode = state.next;\n\n        if (ret) {\n          strm.msg = 'invalid distances set';\n          state.mode = BAD;\n          break;\n        }\n        //Tracev((stderr, 'inflate:       codes ok\\n'));\n        state.mode = LEN_;\n        if (flush === Z_TREES) { break inf_leave; }\n        /* falls through */\n      case LEN_:\n        state.mode = LEN;\n        /* falls through */\n      case LEN:\n        if (have >= 6 && left >= 258) {\n          //--- RESTORE() ---\n          strm.next_out = put;\n          strm.avail_out = left;\n          strm.next_in = next;\n          strm.avail_in = have;\n          state.hold = hold;\n          state.bits = bits;\n          //---\n          inflate_fast(strm, _out);\n          //--- LOAD() ---\n          put = strm.next_out;\n          output = strm.output;\n          left = strm.avail_out;\n          next = strm.next_in;\n          input = strm.input;\n          have = strm.avail_in;\n          hold = state.hold;\n          bits = state.bits;\n          //---\n\n          if (state.mode === TYPE) {\n            state.back = -1;\n          }\n          break;\n        }\n        state.back = 0;\n        for (;;) {\n          here = state.lencode[hold & ((1 << state.lenbits) - 1)];  /*BITS(state.lenbits)*/\n          here_bits = here >>> 24;\n          here_op = (here >>> 16) & 0xff;\n          here_val = here & 0xffff;\n\n          if (here_bits <= bits) { break; }\n          //--- PULLBYTE() ---//\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n          //---//\n        }\n        if (here_op && (here_op & 0xf0) === 0) {\n          last_bits = here_bits;\n          last_op = here_op;\n          last_val = here_val;\n          for (;;) {\n            here = state.lencode[last_val +\n                    ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n            here_bits = here >>> 24;\n            here_op = (here >>> 16) & 0xff;\n            here_val = here & 0xffff;\n\n            if ((last_bits + here_bits) <= bits) { break; }\n            //--- PULLBYTE() ---//\n            if (have === 0) { break inf_leave; }\n            have--;\n            hold += input[next++] << bits;\n            bits += 8;\n            //---//\n          }\n          //--- DROPBITS(last.bits) ---//\n          hold >>>= last_bits;\n          bits -= last_bits;\n          //---//\n          state.back += last_bits;\n        }\n        //--- DROPBITS(here.bits) ---//\n        hold >>>= here_bits;\n        bits -= here_bits;\n        //---//\n        state.back += here_bits;\n        state.length = here_val;\n        if (here_op === 0) {\n          //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n          //        \"inflate:         literal '%c'\\n\" :\n          //        \"inflate:         literal 0x%02x\\n\", here.val));\n          state.mode = LIT;\n          break;\n        }\n        if (here_op & 32) {\n          //Tracevv((stderr, \"inflate:         end of block\\n\"));\n          state.back = -1;\n          state.mode = TYPE;\n          break;\n        }\n        if (here_op & 64) {\n          strm.msg = 'invalid literal/length code';\n          state.mode = BAD;\n          break;\n        }\n        state.extra = here_op & 15;\n        state.mode = LENEXT;\n        /* falls through */\n      case LENEXT:\n        if (state.extra) {\n          //=== NEEDBITS(state.extra);\n          n = state.extra;\n          while (bits < n) {\n            if (have === 0) { break inf_leave; }\n            have--;\n            hold += input[next++] << bits;\n            bits += 8;\n          }\n          //===//\n          state.length += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;\n          //--- DROPBITS(state.extra) ---//\n          hold >>>= state.extra;\n          bits -= state.extra;\n          //---//\n          state.back += state.extra;\n        }\n        //Tracevv((stderr, \"inflate:         length %u\\n\", state.length));\n        state.was = state.length;\n        state.mode = DIST;\n        /* falls through */\n      case DIST:\n        for (;;) {\n          here = state.distcode[hold & ((1 << state.distbits) - 1)];/*BITS(state.distbits)*/\n          here_bits = here >>> 24;\n          here_op = (here >>> 16) & 0xff;\n          here_val = here & 0xffff;\n\n          if ((here_bits) <= bits) { break; }\n          //--- PULLBYTE() ---//\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n          //---//\n        }\n        if ((here_op & 0xf0) === 0) {\n          last_bits = here_bits;\n          last_op = here_op;\n          last_val = here_val;\n          for (;;) {\n            here = state.distcode[last_val +\n                    ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n            here_bits = here >>> 24;\n            here_op = (here >>> 16) & 0xff;\n            here_val = here & 0xffff;\n\n            if ((last_bits + here_bits) <= bits) { break; }\n            //--- PULLBYTE() ---//\n            if (have === 0) { break inf_leave; }\n            have--;\n            hold += input[next++] << bits;\n            bits += 8;\n            //---//\n          }\n          //--- DROPBITS(last.bits) ---//\n          hold >>>= last_bits;\n          bits -= last_bits;\n          //---//\n          state.back += last_bits;\n        }\n        //--- DROPBITS(here.bits) ---//\n        hold >>>= here_bits;\n        bits -= here_bits;\n        //---//\n        state.back += here_bits;\n        if (here_op & 64) {\n          strm.msg = 'invalid distance code';\n          state.mode = BAD;\n          break;\n        }\n        state.offset = here_val;\n        state.extra = (here_op) & 15;\n        state.mode = DISTEXT;\n        /* falls through */\n      case DISTEXT:\n        if (state.extra) {\n          //=== NEEDBITS(state.extra);\n          n = state.extra;\n          while (bits < n) {\n            if (have === 0) { break inf_leave; }\n            have--;\n            hold += input[next++] << bits;\n            bits += 8;\n          }\n          //===//\n          state.offset += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;\n          //--- DROPBITS(state.extra) ---//\n          hold >>>= state.extra;\n          bits -= state.extra;\n          //---//\n          state.back += state.extra;\n        }\n//#ifdef INFLATE_STRICT\n        if (state.offset > state.dmax) {\n          strm.msg = 'invalid distance too far back';\n          state.mode = BAD;\n          break;\n        }\n//#endif\n        //Tracevv((stderr, \"inflate:         distance %u\\n\", state.offset));\n        state.mode = MATCH;\n        /* falls through */\n      case MATCH:\n        if (left === 0) { break inf_leave; }\n        copy = _out - left;\n        if (state.offset > copy) {         /* copy from window */\n          copy = state.offset - copy;\n          if (copy > state.whave) {\n            if (state.sane) {\n              strm.msg = 'invalid distance too far back';\n              state.mode = BAD;\n              break;\n            }\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n//          Trace((stderr, \"inflate.c too far\\n\"));\n//          copy -= state.whave;\n//          if (copy > state.length) { copy = state.length; }\n//          if (copy > left) { copy = left; }\n//          left -= copy;\n//          state.length -= copy;\n//          do {\n//            output[put++] = 0;\n//          } while (--copy);\n//          if (state.length === 0) { state.mode = LEN; }\n//          break;\n//#endif\n          }\n          if (copy > state.wnext) {\n            copy -= state.wnext;\n            from = state.wsize - copy;\n          }\n          else {\n            from = state.wnext - copy;\n          }\n          if (copy > state.length) { copy = state.length; }\n          from_source = state.window;\n        }\n        else {                              /* copy from output */\n          from_source = output;\n          from = put - state.offset;\n          copy = state.length;\n        }\n        if (copy > left) { copy = left; }\n        left -= copy;\n        state.length -= copy;\n        do {\n          output[put++] = from_source[from++];\n        } while (--copy);\n        if (state.length === 0) { state.mode = LEN; }\n        break;\n      case LIT:\n        if (left === 0) { break inf_leave; }\n        output[put++] = state.length;\n        left--;\n        state.mode = LEN;\n        break;\n      case CHECK:\n        if (state.wrap) {\n          //=== NEEDBITS(32);\n          while (bits < 32) {\n            if (have === 0) { break inf_leave; }\n            have--;\n            // Use '|' instead of '+' to make sure that result is signed\n            hold |= input[next++] << bits;\n            bits += 8;\n          }\n          //===//\n          _out -= left;\n          strm.total_out += _out;\n          state.total += _out;\n          if (_out) {\n            strm.adler = state.check =\n                /*UPDATE(state.check, put - _out, _out);*/\n                (state.flags ? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out));\n\n          }\n          _out = left;\n          // NB: crc32 stored as signed 32-bit int, zswap32 returns signed too\n          if ((state.flags ? hold : zswap32(hold)) !== state.check) {\n            strm.msg = 'incorrect data check';\n            state.mode = BAD;\n            break;\n          }\n          //=== INITBITS();\n          hold = 0;\n          bits = 0;\n          //===//\n          //Tracev((stderr, \"inflate:   check matches trailer\\n\"));\n        }\n        state.mode = LENGTH;\n        /* falls through */\n      case LENGTH:\n        if (state.wrap && state.flags) {\n          //=== NEEDBITS(32);\n          while (bits < 32) {\n            if (have === 0) { break inf_leave; }\n            have--;\n            hold += input[next++] << bits;\n            bits += 8;\n          }\n          //===//\n          if (hold !== (state.total & 0xffffffff)) {\n            strm.msg = 'incorrect length check';\n            state.mode = BAD;\n            break;\n          }\n          //=== INITBITS();\n          hold = 0;\n          bits = 0;\n          //===//\n          //Tracev((stderr, \"inflate:   length matches trailer\\n\"));\n        }\n        state.mode = DONE;\n        /* falls through */\n      case DONE:\n        ret = Z_STREAM_END;\n        break inf_leave;\n      case BAD:\n        ret = Z_DATA_ERROR;\n        break inf_leave;\n      case MEM:\n        return Z_MEM_ERROR;\n      case SYNC:\n        /* falls through */\n      default:\n        return Z_STREAM_ERROR;\n    }\n  }\n\n  // inf_leave <- here is real place for \"goto inf_leave\", emulated via \"break inf_leave\"\n\n  /*\n     Return from inflate(), updating the total counts and the check value.\n     If there was no progress during the inflate() call, return a buffer\n     error.  Call updatewindow() to create and/or update the window state.\n     Note: a memory error from inflate() is non-recoverable.\n   */\n\n  //--- RESTORE() ---\n  strm.next_out = put;\n  strm.avail_out = left;\n  strm.next_in = next;\n  strm.avail_in = have;\n  state.hold = hold;\n  state.bits = bits;\n  //---\n\n  if (state.wsize || (_out !== strm.avail_out && state.mode < BAD &&\n                      (state.mode < CHECK || flush !== Z_FINISH))) {\n    if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out)) {\n      state.mode = MEM;\n      return Z_MEM_ERROR;\n    }\n  }\n  _in -= strm.avail_in;\n  _out -= strm.avail_out;\n  strm.total_in += _in;\n  strm.total_out += _out;\n  state.total += _out;\n  if (state.wrap && _out) {\n    strm.adler = state.check = /*UPDATE(state.check, strm.next_out - _out, _out);*/\n      (state.flags ? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out));\n  }\n  strm.data_type = state.bits + (state.last ? 64 : 0) +\n                    (state.mode === TYPE ? 128 : 0) +\n                    (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0);\n  if (((_in === 0 && _out === 0) || flush === Z_FINISH) && ret === Z_OK) {\n    ret = Z_BUF_ERROR;\n  }\n  return ret;\n}\n\nfunction inflateEnd(strm) {\n\n  if (!strm || !strm.state /*|| strm->zfree == (free_func)0*/) {\n    return Z_STREAM_ERROR;\n  }\n\n  var state = strm.state;\n  if (state.window) {\n    state.window = null;\n  }\n  strm.state = null;\n  return Z_OK;\n}\n\nfunction inflateGetHeader(strm, head) {\n  var state;\n\n  /* check state */\n  if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n  state = strm.state;\n  if ((state.wrap & 2) === 0) { return Z_STREAM_ERROR; }\n\n  /* save header structure */\n  state.head = head;\n  head.done = false;\n  return Z_OK;\n}\n\nfunction inflateSetDictionary(strm, dictionary) {\n  var dictLength = dictionary.length;\n\n  var state;\n  var dictid;\n  var ret;\n\n  /* check state */\n  if (!strm /* == Z_NULL */ || !strm.state /* == Z_NULL */) { return Z_STREAM_ERROR; }\n  state = strm.state;\n\n  if (state.wrap !== 0 && state.mode !== DICT) {\n    return Z_STREAM_ERROR;\n  }\n\n  /* check for correct dictionary identifier */\n  if (state.mode === DICT) {\n    dictid = 1; /* adler32(0, null, 0)*/\n    /* dictid = adler32(dictid, dictionary, dictLength); */\n    dictid = adler32(dictid, dictionary, dictLength, 0);\n    if (dictid !== state.check) {\n      return Z_DATA_ERROR;\n    }\n  }\n  /* copy dictionary to window using updatewindow(), which will amend the\n   existing dictionary if appropriate */\n  ret = updatewindow(strm, dictionary, dictLength, dictLength);\n  if (ret) {\n    state.mode = MEM;\n    return Z_MEM_ERROR;\n  }\n  state.havedict = 1;\n  // Tracev((stderr, \"inflate:   dictionary set\\n\"));\n  return Z_OK;\n}\n\nexports.inflateReset = inflateReset;\nexports.inflateReset2 = inflateReset2;\nexports.inflateResetKeep = inflateResetKeep;\nexports.inflateInit = inflateInit;\nexports.inflateInit2 = inflateInit2;\nexports.inflate = inflate;\nexports.inflateEnd = inflateEnd;\nexports.inflateGetHeader = inflateGetHeader;\nexports.inflateSetDictionary = inflateSetDictionary;\nexports.inflateInfo = 'pako inflate (from Nodeca project)';\n\n/* Not implemented\nexports.inflateCopy = inflateCopy;\nexports.inflateGetDictionary = inflateGetDictionary;\nexports.inflateMark = inflateMark;\nexports.inflatePrime = inflatePrime;\nexports.inflateSync = inflateSync;\nexports.inflateSyncPoint = inflateSyncPoint;\nexports.inflateUndermine = inflateUndermine;\n*/\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n//   claim that you wrote the original software. If you use this software\n//   in a product, an acknowledgment in the product documentation would be\n//   appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//   misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nvar utils = require('../utils/common');\n\nvar MAXBITS = 15;\nvar ENOUGH_LENS = 852;\nvar ENOUGH_DISTS = 592;\n//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nvar CODES = 0;\nvar LENS = 1;\nvar DISTS = 2;\n\nvar lbase = [ /* Length codes 257..285 base */\n  3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,\n  35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0\n];\n\nvar lext = [ /* Length codes 257..285 extra */\n  16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,\n  19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78\n];\n\nvar dbase = [ /* Distance codes 0..29 base */\n  1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,\n  257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,\n  8193, 12289, 16385, 24577, 0, 0\n];\n\nvar dext = [ /* Distance codes 0..29 extra */\n  16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22,\n  23, 23, 24, 24, 25, 25, 26, 26, 27, 27,\n  28, 28, 29, 29, 64, 64\n];\n\nmodule.exports = function inflate_table(type, lens, lens_index, codes, table, table_index, work, opts)\n{\n  var bits = opts.bits;\n      //here = opts.here; /* table entry for duplication */\n\n  var len = 0;               /* a code's length in bits */\n  var sym = 0;               /* index of code symbols */\n  var min = 0, max = 0;          /* minimum and maximum code lengths */\n  var root = 0;              /* number of index bits for root table */\n  var curr = 0;              /* number of index bits for current table */\n  var drop = 0;              /* code bits to drop for sub-table */\n  var left = 0;                   /* number of prefix codes available */\n  var used = 0;              /* code entries in table used */\n  var huff = 0;              /* Huffman code */\n  var incr;              /* for incrementing code, index */\n  var fill;              /* index for replicating entries */\n  var low;               /* low bits for current root entry */\n  var mask;              /* mask for low root bits */\n  var next;             /* next available space in table */\n  var base = null;     /* base value table to use */\n  var base_index = 0;\n//  var shoextra;    /* extra bits table to use */\n  var end;                    /* use base and extra for symbol > end */\n  var count = new utils.Buf16(MAXBITS + 1); //[MAXBITS+1];    /* number of codes of each length */\n  var offs = new utils.Buf16(MAXBITS + 1); //[MAXBITS+1];     /* offsets in table for each length */\n  var extra = null;\n  var extra_index = 0;\n\n  var here_bits, here_op, here_val;\n\n  /*\n   Process a set of code lengths to create a canonical Huffman code.  The\n   code lengths are lens[0..codes-1].  Each length corresponds to the\n   symbols 0..codes-1.  The Huffman code is generated by first sorting the\n   symbols by length from short to long, and retaining the symbol order\n   for codes with equal lengths.  Then the code starts with all zero bits\n   for the first code of the shortest length, and the codes are integer\n   increments for the same length, and zeros are appended as the length\n   increases.  For the deflate format, these bits are stored backwards\n   from their more natural integer increment ordering, and so when the\n   decoding tables are built in the large loop below, the integer codes\n   are incremented backwards.\n\n   This routine assumes, but does not check, that all of the entries in\n   lens[] are in the range 0..MAXBITS.  The caller must assure this.\n   1..MAXBITS is interpreted as that code length.  zero means that that\n   symbol does not occur in this code.\n\n   The codes are sorted by computing a count of codes for each length,\n   creating from that a table of starting indices for each length in the\n   sorted table, and then entering the symbols in order in the sorted\n   table.  The sorted table is work[], with that space being provided by\n   the caller.\n\n   The length counts are used for other purposes as well, i.e. finding\n   the minimum and maximum length codes, determining if there are any\n   codes at all, checking for a valid set of lengths, and looking ahead\n   at length counts to determine sub-table sizes when building the\n   decoding tables.\n   */\n\n  /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */\n  for (len = 0; len <= MAXBITS; len++) {\n    count[len] = 0;\n  }\n  for (sym = 0; sym < codes; sym++) {\n    count[lens[lens_index + sym]]++;\n  }\n\n  /* bound code lengths, force root to be within code lengths */\n  root = bits;\n  for (max = MAXBITS; max >= 1; max--) {\n    if (count[max] !== 0) { break; }\n  }\n  if (root > max) {\n    root = max;\n  }\n  if (max === 0) {                     /* no symbols to code at all */\n    //table.op[opts.table_index] = 64;  //here.op = (var char)64;    /* invalid code marker */\n    //table.bits[opts.table_index] = 1;   //here.bits = (var char)1;\n    //table.val[opts.table_index++] = 0;   //here.val = (var short)0;\n    table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n\n    //table.op[opts.table_index] = 64;\n    //table.bits[opts.table_index] = 1;\n    //table.val[opts.table_index++] = 0;\n    table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n    opts.bits = 1;\n    return 0;     /* no symbols, but wait for decoding to report error */\n  }\n  for (min = 1; min < max; min++) {\n    if (count[min] !== 0) { break; }\n  }\n  if (root < min) {\n    root = min;\n  }\n\n  /* check for an over-subscribed or incomplete set of lengths */\n  left = 1;\n  for (len = 1; len <= MAXBITS; len++) {\n    left <<= 1;\n    left -= count[len];\n    if (left < 0) {\n      return -1;\n    }        /* over-subscribed */\n  }\n  if (left > 0 && (type === CODES || max !== 1)) {\n    return -1;                      /* incomplete set */\n  }\n\n  /* generate offsets into symbol table for each length for sorting */\n  offs[1] = 0;\n  for (len = 1; len < MAXBITS; len++) {\n    offs[len + 1] = offs[len] + count[len];\n  }\n\n  /* sort symbols by length, by symbol order within each length */\n  for (sym = 0; sym < codes; sym++) {\n    if (lens[lens_index + sym] !== 0) {\n      work[offs[lens[lens_index + sym]]++] = sym;\n    }\n  }\n\n  /*\n   Create and fill in decoding tables.  In this loop, the table being\n   filled is at next and has curr index bits.  The code being used is huff\n   with length len.  That code is converted to an index by dropping drop\n   bits off of the bottom.  For codes where len is less than drop + curr,\n   those top drop + curr - len bits are incremented through all values to\n   fill the table with replicated entries.\n\n   root is the number of index bits for the root table.  When len exceeds\n   root, sub-tables are created pointed to by the root entry with an index\n   of the low root bits of huff.  This is saved in low to check for when a\n   new sub-table should be started.  drop is zero when the root table is\n   being filled, and drop is root when sub-tables are being filled.\n\n   When a new sub-table is needed, it is necessary to look ahead in the\n   code lengths to determine what size sub-table is needed.  The length\n   counts are used for this, and so count[] is decremented as codes are\n   entered in the tables.\n\n   used keeps track of how many table entries have been allocated from the\n   provided *table space.  It is checked for LENS and DIST tables against\n   the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in\n   the initial root table size constants.  See the comments in inftrees.h\n   for more information.\n\n   sym increments through all symbols, and the loop terminates when\n   all codes of length max, i.e. all codes, have been processed.  This\n   routine permits incomplete codes, so another loop after this one fills\n   in the rest of the decoding tables with invalid code markers.\n   */\n\n  /* set up for code type */\n  // poor man optimization - use if-else instead of switch,\n  // to avoid deopts in old v8\n  if (type === CODES) {\n    base = extra = work;    /* dummy value--not used */\n    end = 19;\n\n  } else if (type === LENS) {\n    base = lbase;\n    base_index -= 257;\n    extra = lext;\n    extra_index -= 257;\n    end = 256;\n\n  } else {                    /* DISTS */\n    base = dbase;\n    extra = dext;\n    end = -1;\n  }\n\n  /* initialize opts for loop */\n  huff = 0;                   /* starting code */\n  sym = 0;                    /* starting code symbol */\n  len = min;                  /* starting code length */\n  next = table_index;              /* current table to fill in */\n  curr = root;                /* current table index bits */\n  drop = 0;                   /* current bits to drop from code for index */\n  low = -1;                   /* trigger new sub-table when len > root */\n  used = 1 << root;          /* use root table entries */\n  mask = used - 1;            /* mask for comparing low */\n\n  /* check available table space */\n  if ((type === LENS && used > ENOUGH_LENS) ||\n    (type === DISTS && used > ENOUGH_DISTS)) {\n    return 1;\n  }\n\n  /* process all codes and make table entries */\n  for (;;) {\n    /* create table entry */\n    here_bits = len - drop;\n    if (work[sym] < end) {\n      here_op = 0;\n      here_val = work[sym];\n    }\n    else if (work[sym] > end) {\n      here_op = extra[extra_index + work[sym]];\n      here_val = base[base_index + work[sym]];\n    }\n    else {\n      here_op = 32 + 64;         /* end of block */\n      here_val = 0;\n    }\n\n    /* replicate for those indices with low len bits equal to huff */\n    incr = 1 << (len - drop);\n    fill = 1 << curr;\n    min = fill;                 /* save offset to next table */\n    do {\n      fill -= incr;\n      table[next + (huff >> drop) + fill] = (here_bits << 24) | (here_op << 16) | here_val |0;\n    } while (fill !== 0);\n\n    /* backwards increment the len-bit code huff */\n    incr = 1 << (len - 1);\n    while (huff & incr) {\n      incr >>= 1;\n    }\n    if (incr !== 0) {\n      huff &= incr - 1;\n      huff += incr;\n    } else {\n      huff = 0;\n    }\n\n    /* go to next symbol, update count, len */\n    sym++;\n    if (--count[len] === 0) {\n      if (len === max) { break; }\n      len = lens[lens_index + work[sym]];\n    }\n\n    /* create new sub-table if needed */\n    if (len > root && (huff & mask) !== low) {\n      /* if first time, transition to sub-tables */\n      if (drop === 0) {\n        drop = root;\n      }\n\n      /* increment past last table */\n      next += min;            /* here min is 1 << curr */\n\n      /* determine length of next table */\n      curr = len - drop;\n      left = 1 << curr;\n      while (curr + drop < max) {\n        left -= count[curr + drop];\n        if (left <= 0) { break; }\n        curr++;\n        left <<= 1;\n      }\n\n      /* check for enough space */\n      used += 1 << curr;\n      if ((type === LENS && used > ENOUGH_LENS) ||\n        (type === DISTS && used > ENOUGH_DISTS)) {\n        return 1;\n      }\n\n      /* point entry in root table to sub-table */\n      low = huff & mask;\n      /*table.op[low] = curr;\n      table.bits[low] = root;\n      table.val[low] = next - opts.table_index;*/\n      table[low] = (root << 24) | (curr << 16) | (next - table_index) |0;\n    }\n  }\n\n  /* fill in remaining table entry if code is incomplete (guaranteed to have\n   at most one remaining entry, since if the code is incomplete, the\n   maximum code length that was allowed to get this far is one bit) */\n  if (huff !== 0) {\n    //table.op[next + huff] = 64;            /* invalid code marker */\n    //table.bits[next + huff] = len - drop;\n    //table.val[next + huff] = 0;\n    table[next + huff] = ((len - drop) << 24) | (64 << 16) |0;\n  }\n\n  /* set return parameters */\n  //opts.table_index += used;\n  opts.bits = root;\n  return 0;\n};\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n//   claim that you wrote the original software. If you use this software\n//   in a product, an acknowledgment in the product documentation would be\n//   appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//   misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nmodule.exports = {\n  2:      'need dictionary',     /* Z_NEED_DICT       2  */\n  1:      'stream end',          /* Z_STREAM_END      1  */\n  0:      '',                    /* Z_OK              0  */\n  '-1':   'file error',          /* Z_ERRNO         (-1) */\n  '-2':   'stream error',        /* Z_STREAM_ERROR  (-2) */\n  '-3':   'data error',          /* Z_DATA_ERROR    (-3) */\n  '-4':   'insufficient memory', /* Z_MEM_ERROR     (-4) */\n  '-5':   'buffer error',        /* Z_BUF_ERROR     (-5) */\n  '-6':   'incompatible version' /* Z_VERSION_ERROR (-6) */\n};\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n//   claim that you wrote the original software. If you use this software\n//   in a product, an acknowledgment in the product documentation would be\n//   appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//   misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n/* eslint-disable space-unary-ops */\n\nvar utils = require('../utils/common');\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n//var Z_FILTERED          = 1;\n//var Z_HUFFMAN_ONLY      = 2;\n//var Z_RLE               = 3;\nvar Z_FIXED               = 4;\n//var Z_DEFAULT_STRATEGY  = 0;\n\n/* Possible values of the data_type field (though see inflate()) */\nvar Z_BINARY              = 0;\nvar Z_TEXT                = 1;\n//var Z_ASCII             = 1; // = Z_TEXT\nvar Z_UNKNOWN             = 2;\n\n/*============================================================================*/\n\n\nfunction zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } }\n\n// From zutil.h\n\nvar STORED_BLOCK = 0;\nvar STATIC_TREES = 1;\nvar DYN_TREES    = 2;\n/* The three kinds of block type */\n\nvar MIN_MATCH    = 3;\nvar MAX_MATCH    = 258;\n/* The minimum and maximum match lengths */\n\n// From deflate.h\n/* ===========================================================================\n * Internal compression state.\n */\n\nvar LENGTH_CODES  = 29;\n/* number of length codes, not counting the special END_BLOCK code */\n\nvar LITERALS      = 256;\n/* number of literal bytes 0..255 */\n\nvar L_CODES       = LITERALS + 1 + LENGTH_CODES;\n/* number of Literal or Length codes, including the END_BLOCK code */\n\nvar D_CODES       = 30;\n/* number of distance codes */\n\nvar BL_CODES      = 19;\n/* number of codes used to transfer the bit lengths */\n\nvar HEAP_SIZE     = 2 * L_CODES + 1;\n/* maximum heap size */\n\nvar MAX_BITS      = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nvar Buf_size      = 16;\n/* size of bit buffer in bi_buf */\n\n\n/* ===========================================================================\n * Constants\n */\n\nvar MAX_BL_BITS = 7;\n/* Bit length codes must not exceed MAX_BL_BITS bits */\n\nvar END_BLOCK   = 256;\n/* end of block literal code */\n\nvar REP_3_6     = 16;\n/* repeat previous bit length 3-6 times (2 bits of repeat count) */\n\nvar REPZ_3_10   = 17;\n/* repeat a zero length 3-10 times  (3 bits of repeat count) */\n\nvar REPZ_11_138 = 18;\n/* repeat a zero length 11-138 times  (7 bits of repeat count) */\n\n/* eslint-disable comma-spacing,array-bracket-spacing */\nvar extra_lbits =   /* extra bits for each length code */\n  [0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];\n\nvar extra_dbits =   /* extra bits for each distance code */\n  [0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];\n\nvar extra_blbits =  /* extra bits for each bit length code */\n  [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];\n\nvar bl_order =\n  [16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];\n/* eslint-enable comma-spacing,array-bracket-spacing */\n\n/* The lengths of the bit length codes are sent in order of decreasing\n * probability, to avoid transmitting the lengths for unused bit length codes.\n */\n\n/* ===========================================================================\n * Local data. These are initialized only once.\n */\n\n// We pre-fill arrays with 0 to avoid uninitialized gaps\n\nvar DIST_CODE_LEN = 512; /* see definition of array dist_code below */\n\n// !!!! Use flat array instead of structure, Freq = i*2, Len = i*2+1\nvar static_ltree  = new Array((L_CODES + 2) * 2);\nzero(static_ltree);\n/* The static literal tree. Since the bit lengths are imposed, there is no\n * need for the L_CODES extra codes used during heap construction. However\n * The codes 286 and 287 are needed to build a canonical tree (see _tr_init\n * below).\n */\n\nvar static_dtree  = new Array(D_CODES * 2);\nzero(static_dtree);\n/* The static distance tree. (Actually a trivial tree since all codes use\n * 5 bits.)\n */\n\nvar _dist_code    = new Array(DIST_CODE_LEN);\nzero(_dist_code);\n/* Distance codes. The first 256 values correspond to the distances\n * 3 .. 258, the last 256 values correspond to the top 8 bits of\n * the 15 bit distances.\n */\n\nvar _length_code  = new Array(MAX_MATCH - MIN_MATCH + 1);\nzero(_length_code);\n/* length code for each normalized match length (0 == MIN_MATCH) */\n\nvar base_length   = new Array(LENGTH_CODES);\nzero(base_length);\n/* First normalized length for each code (0 = MIN_MATCH) */\n\nvar base_dist     = new Array(D_CODES);\nzero(base_dist);\n/* First normalized distance for each code (0 = distance of 1) */\n\n\nfunction StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) {\n\n  this.static_tree  = static_tree;  /* static tree or NULL */\n  this.extra_bits   = extra_bits;   /* extra bits for each code or NULL */\n  this.extra_base   = extra_base;   /* base index for extra_bits */\n  this.elems        = elems;        /* max number of elements in the tree */\n  this.max_length   = max_length;   /* max bit length for the codes */\n\n  // show if `static_tree` has data or dummy - needed for monomorphic objects\n  this.has_stree    = static_tree && static_tree.length;\n}\n\n\nvar static_l_desc;\nvar static_d_desc;\nvar static_bl_desc;\n\n\nfunction TreeDesc(dyn_tree, stat_desc) {\n  this.dyn_tree = dyn_tree;     /* the dynamic tree */\n  this.max_code = 0;            /* largest code with non zero frequency */\n  this.stat_desc = stat_desc;   /* the corresponding static tree */\n}\n\n\n\nfunction d_code(dist) {\n  return dist < 256 ? _dist_code[dist] : _dist_code[256 + (dist >>> 7)];\n}\n\n\n/* ===========================================================================\n * Output a short LSB first on the stream.\n * IN assertion: there is enough room in pendingBuf.\n */\nfunction put_short(s, w) {\n//    put_byte(s, (uch)((w) & 0xff));\n//    put_byte(s, (uch)((ush)(w) >> 8));\n  s.pending_buf[s.pending++] = (w) & 0xff;\n  s.pending_buf[s.pending++] = (w >>> 8) & 0xff;\n}\n\n\n/* ===========================================================================\n * Send a value on a given number of bits.\n * IN assertion: length <= 16 and value fits in length bits.\n */\nfunction send_bits(s, value, length) {\n  if (s.bi_valid > (Buf_size - length)) {\n    s.bi_buf |= (value << s.bi_valid) & 0xffff;\n    put_short(s, s.bi_buf);\n    s.bi_buf = value >> (Buf_size - s.bi_valid);\n    s.bi_valid += length - Buf_size;\n  } else {\n    s.bi_buf |= (value << s.bi_valid) & 0xffff;\n    s.bi_valid += length;\n  }\n}\n\n\nfunction send_code(s, c, tree) {\n  send_bits(s, tree[c * 2]/*.Code*/, tree[c * 2 + 1]/*.Len*/);\n}\n\n\n/* ===========================================================================\n * Reverse the first len bits of a code, using straightforward code (a faster\n * method would use a table)\n * IN assertion: 1 <= len <= 15\n */\nfunction bi_reverse(code, len) {\n  var res = 0;\n  do {\n    res |= code & 1;\n    code >>>= 1;\n    res <<= 1;\n  } while (--len > 0);\n  return res >>> 1;\n}\n\n\n/* ===========================================================================\n * Flush the bit buffer, keeping at most 7 bits in it.\n */\nfunction bi_flush(s) {\n  if (s.bi_valid === 16) {\n    put_short(s, s.bi_buf);\n    s.bi_buf = 0;\n    s.bi_valid = 0;\n\n  } else if (s.bi_valid >= 8) {\n    s.pending_buf[s.pending++] = s.bi_buf & 0xff;\n    s.bi_buf >>= 8;\n    s.bi_valid -= 8;\n  }\n}\n\n\n/* ===========================================================================\n * Compute the optimal bit lengths for a tree and update the total bit length\n * for the current block.\n * IN assertion: the fields freq and dad are set, heap[heap_max] and\n *    above are the tree nodes sorted by increasing frequency.\n * OUT assertions: the field len is set to the optimal bit length, the\n *     array bl_count contains the frequencies for each bit length.\n *     The length opt_len is updated; static_len is also updated if stree is\n *     not null.\n */\nfunction gen_bitlen(s, desc)\n//    deflate_state *s;\n//    tree_desc *desc;    /* the tree descriptor */\n{\n  var tree            = desc.dyn_tree;\n  var max_code        = desc.max_code;\n  var stree           = desc.stat_desc.static_tree;\n  var has_stree       = desc.stat_desc.has_stree;\n  var extra           = desc.stat_desc.extra_bits;\n  var base            = desc.stat_desc.extra_base;\n  var max_length      = desc.stat_desc.max_length;\n  var h;              /* heap index */\n  var n, m;           /* iterate over the tree elements */\n  var bits;           /* bit length */\n  var xbits;          /* extra bits */\n  var f;              /* frequency */\n  var overflow = 0;   /* number of elements with bit length too large */\n\n  for (bits = 0; bits <= MAX_BITS; bits++) {\n    s.bl_count[bits] = 0;\n  }\n\n  /* In a first pass, compute the optimal bit lengths (which may\n   * overflow in the case of the bit length tree).\n   */\n  tree[s.heap[s.heap_max] * 2 + 1]/*.Len*/ = 0; /* root of the heap */\n\n  for (h = s.heap_max + 1; h < HEAP_SIZE; h++) {\n    n = s.heap[h];\n    bits = tree[tree[n * 2 + 1]/*.Dad*/ * 2 + 1]/*.Len*/ + 1;\n    if (bits > max_length) {\n      bits = max_length;\n      overflow++;\n    }\n    tree[n * 2 + 1]/*.Len*/ = bits;\n    /* We overwrite tree[n].Dad which is no longer needed */\n\n    if (n > max_code) { continue; } /* not a leaf node */\n\n    s.bl_count[bits]++;\n    xbits = 0;\n    if (n >= base) {\n      xbits = extra[n - base];\n    }\n    f = tree[n * 2]/*.Freq*/;\n    s.opt_len += f * (bits + xbits);\n    if (has_stree) {\n      s.static_len += f * (stree[n * 2 + 1]/*.Len*/ + xbits);\n    }\n  }\n  if (overflow === 0) { return; }\n\n  // Trace((stderr,\"\\nbit length overflow\\n\"));\n  /* This happens for example on obj2 and pic of the Calgary corpus */\n\n  /* Find the first bit length which could increase: */\n  do {\n    bits = max_length - 1;\n    while (s.bl_count[bits] === 0) { bits--; }\n    s.bl_count[bits]--;      /* move one leaf down the tree */\n    s.bl_count[bits + 1] += 2; /* move one overflow item as its brother */\n    s.bl_count[max_length]--;\n    /* The brother of the overflow item also moves one step up,\n     * but this does not affect bl_count[max_length]\n     */\n    overflow -= 2;\n  } while (overflow > 0);\n\n  /* Now recompute all bit lengths, scanning in increasing frequency.\n   * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all\n   * lengths instead of fixing only the wrong ones. This idea is taken\n   * from 'ar' written by Haruhiko Okumura.)\n   */\n  for (bits = max_length; bits !== 0; bits--) {\n    n = s.bl_count[bits];\n    while (n !== 0) {\n      m = s.heap[--h];\n      if (m > max_code) { continue; }\n      if (tree[m * 2 + 1]/*.Len*/ !== bits) {\n        // Trace((stderr,\"code %d bits %d->%d\\n\", m, tree[m].Len, bits));\n        s.opt_len += (bits - tree[m * 2 + 1]/*.Len*/) * tree[m * 2]/*.Freq*/;\n        tree[m * 2 + 1]/*.Len*/ = bits;\n      }\n      n--;\n    }\n  }\n}\n\n\n/* ===========================================================================\n * Generate the codes for a given tree and bit counts (which need not be\n * optimal).\n * IN assertion: the array bl_count contains the bit length statistics for\n * the given tree and the field len is set for all tree elements.\n * OUT assertion: the field code is set for all tree elements of non\n *     zero code length.\n */\nfunction gen_codes(tree, max_code, bl_count)\n//    ct_data *tree;             /* the tree to decorate */\n//    int max_code;              /* largest code with non zero frequency */\n//    ushf *bl_count;            /* number of codes at each bit length */\n{\n  var next_code = new Array(MAX_BITS + 1); /* next code value for each bit length */\n  var code = 0;              /* running code value */\n  var bits;                  /* bit index */\n  var n;                     /* code index */\n\n  /* The distribution counts are first used to generate the code values\n   * without bit reversal.\n   */\n  for (bits = 1; bits <= MAX_BITS; bits++) {\n    next_code[bits] = code = (code + bl_count[bits - 1]) << 1;\n  }\n  /* Check that the bit counts in bl_count are consistent. The last code\n   * must be all ones.\n   */\n  //Assert (code + bl_count[MAX_BITS]-1 == (1<<MAX_BITS)-1,\n  //        \"inconsistent bit counts\");\n  //Tracev((stderr,\"\\ngen_codes: max_code %d \", max_code));\n\n  for (n = 0;  n <= max_code; n++) {\n    var len = tree[n * 2 + 1]/*.Len*/;\n    if (len === 0) { continue; }\n    /* Now reverse the bits */\n    tree[n * 2]/*.Code*/ = bi_reverse(next_code[len]++, len);\n\n    //Tracecv(tree != static_ltree, (stderr,\"\\nn %3d %c l %2d c %4x (%x) \",\n    //     n, (isgraph(n) ? n : ' '), len, tree[n].Code, next_code[len]-1));\n  }\n}\n\n\n/* ===========================================================================\n * Initialize the various 'constant' tables.\n */\nfunction tr_static_init() {\n  var n;        /* iterates over tree elements */\n  var bits;     /* bit counter */\n  var length;   /* length value */\n  var code;     /* code value */\n  var dist;     /* distance index */\n  var bl_count = new Array(MAX_BITS + 1);\n  /* number of codes at each bit length for an optimal tree */\n\n  // do check in _tr_init()\n  //if (static_init_done) return;\n\n  /* For some embedded targets, global variables are not initialized: */\n/*#ifdef NO_INIT_GLOBAL_POINTERS\n  static_l_desc.static_tree = static_ltree;\n  static_l_desc.extra_bits = extra_lbits;\n  static_d_desc.static_tree = static_dtree;\n  static_d_desc.extra_bits = extra_dbits;\n  static_bl_desc.extra_bits = extra_blbits;\n#endif*/\n\n  /* Initialize the mapping length (0..255) -> length code (0..28) */\n  length = 0;\n  for (code = 0; code < LENGTH_CODES - 1; code++) {\n    base_length[code] = length;\n    for (n = 0; n < (1 << extra_lbits[code]); n++) {\n      _length_code[length++] = code;\n    }\n  }\n  //Assert (length == 256, \"tr_static_init: length != 256\");\n  /* Note that the length 255 (match length 258) can be represented\n   * in two different ways: code 284 + 5 bits or code 285, so we\n   * overwrite length_code[255] to use the best encoding:\n   */\n  _length_code[length - 1] = code;\n\n  /* Initialize the mapping dist (0..32K) -> dist code (0..29) */\n  dist = 0;\n  for (code = 0; code < 16; code++) {\n    base_dist[code] = dist;\n    for (n = 0; n < (1 << extra_dbits[code]); n++) {\n      _dist_code[dist++] = code;\n    }\n  }\n  //Assert (dist == 256, \"tr_static_init: dist != 256\");\n  dist >>= 7; /* from now on, all distances are divided by 128 */\n  for (; code < D_CODES; code++) {\n    base_dist[code] = dist << 7;\n    for (n = 0; n < (1 << (extra_dbits[code] - 7)); n++) {\n      _dist_code[256 + dist++] = code;\n    }\n  }\n  //Assert (dist == 256, \"tr_static_init: 256+dist != 512\");\n\n  /* Construct the codes of the static literal tree */\n  for (bits = 0; bits <= MAX_BITS; bits++) {\n    bl_count[bits] = 0;\n  }\n\n  n = 0;\n  while (n <= 143) {\n    static_ltree[n * 2 + 1]/*.Len*/ = 8;\n    n++;\n    bl_count[8]++;\n  }\n  while (n <= 255) {\n    static_ltree[n * 2 + 1]/*.Len*/ = 9;\n    n++;\n    bl_count[9]++;\n  }\n  while (n <= 279) {\n    static_ltree[n * 2 + 1]/*.Len*/ = 7;\n    n++;\n    bl_count[7]++;\n  }\n  while (n <= 287) {\n    static_ltree[n * 2 + 1]/*.Len*/ = 8;\n    n++;\n    bl_count[8]++;\n  }\n  /* Codes 286 and 287 do not exist, but we must include them in the\n   * tree construction to get a canonical Huffman tree (longest code\n   * all ones)\n   */\n  gen_codes(static_ltree, L_CODES + 1, bl_count);\n\n  /* The static distance tree is trivial: */\n  for (n = 0; n < D_CODES; n++) {\n    static_dtree[n * 2 + 1]/*.Len*/ = 5;\n    static_dtree[n * 2]/*.Code*/ = bi_reverse(n, 5);\n  }\n\n  // Now data ready and we can init static trees\n  static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS + 1, L_CODES, MAX_BITS);\n  static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0,          D_CODES, MAX_BITS);\n  static_bl_desc = new StaticTreeDesc(new Array(0), extra_blbits, 0,         BL_CODES, MAX_BL_BITS);\n\n  //static_init_done = true;\n}\n\n\n/* ===========================================================================\n * Initialize a new block.\n */\nfunction init_block(s) {\n  var n; /* iterates over tree elements */\n\n  /* Initialize the trees. */\n  for (n = 0; n < L_CODES;  n++) { s.dyn_ltree[n * 2]/*.Freq*/ = 0; }\n  for (n = 0; n < D_CODES;  n++) { s.dyn_dtree[n * 2]/*.Freq*/ = 0; }\n  for (n = 0; n < BL_CODES; n++) { s.bl_tree[n * 2]/*.Freq*/ = 0; }\n\n  s.dyn_ltree[END_BLOCK * 2]/*.Freq*/ = 1;\n  s.opt_len = s.static_len = 0;\n  s.last_lit = s.matches = 0;\n}\n\n\n/* ===========================================================================\n * Flush the bit buffer and align the output on a byte boundary\n */\nfunction bi_windup(s)\n{\n  if (s.bi_valid > 8) {\n    put_short(s, s.bi_buf);\n  } else if (s.bi_valid > 0) {\n    //put_byte(s, (Byte)s->bi_buf);\n    s.pending_buf[s.pending++] = s.bi_buf;\n  }\n  s.bi_buf = 0;\n  s.bi_valid = 0;\n}\n\n/* ===========================================================================\n * Copy a stored block, storing first the length and its\n * one's complement if requested.\n */\nfunction copy_block(s, buf, len, header)\n//DeflateState *s;\n//charf    *buf;    /* the input data */\n//unsigned len;     /* its length */\n//int      header;  /* true if block header must be written */\n{\n  bi_windup(s);        /* align on byte boundary */\n\n  if (header) {\n    put_short(s, len);\n    put_short(s, ~len);\n  }\n//  while (len--) {\n//    put_byte(s, *buf++);\n//  }\n  utils.arraySet(s.pending_buf, s.window, buf, len, s.pending);\n  s.pending += len;\n}\n\n/* ===========================================================================\n * Compares to subtrees, using the tree depth as tie breaker when\n * the subtrees have equal frequency. This minimizes the worst case length.\n */\nfunction smaller(tree, n, m, depth) {\n  var _n2 = n * 2;\n  var _m2 = m * 2;\n  return (tree[_n2]/*.Freq*/ < tree[_m2]/*.Freq*/ ||\n         (tree[_n2]/*.Freq*/ === tree[_m2]/*.Freq*/ && depth[n] <= depth[m]));\n}\n\n/* ===========================================================================\n * Restore the heap property by moving down the tree starting at node k,\n * exchanging a node with the smallest of its two sons if necessary, stopping\n * when the heap property is re-established (each father smaller than its\n * two sons).\n */\nfunction pqdownheap(s, tree, k)\n//    deflate_state *s;\n//    ct_data *tree;  /* the tree to restore */\n//    int k;               /* node to move down */\n{\n  var v = s.heap[k];\n  var j = k << 1;  /* left son of k */\n  while (j <= s.heap_len) {\n    /* Set j to the smallest of the two sons: */\n    if (j < s.heap_len &&\n      smaller(tree, s.heap[j + 1], s.heap[j], s.depth)) {\n      j++;\n    }\n    /* Exit if v is smaller than both sons */\n    if (smaller(tree, v, s.heap[j], s.depth)) { break; }\n\n    /* Exchange v with the smallest son */\n    s.heap[k] = s.heap[j];\n    k = j;\n\n    /* And continue down the tree, setting j to the left son of k */\n    j <<= 1;\n  }\n  s.heap[k] = v;\n}\n\n\n// inlined manually\n// var SMALLEST = 1;\n\n/* ===========================================================================\n * Send the block data compressed using the given Huffman trees\n */\nfunction compress_block(s, ltree, dtree)\n//    deflate_state *s;\n//    const ct_data *ltree; /* literal tree */\n//    const ct_data *dtree; /* distance tree */\n{\n  var dist;           /* distance of matched string */\n  var lc;             /* match length or unmatched char (if dist == 0) */\n  var lx = 0;         /* running index in l_buf */\n  var code;           /* the code to send */\n  var extra;          /* number of extra bits to send */\n\n  if (s.last_lit !== 0) {\n    do {\n      dist = (s.pending_buf[s.d_buf + lx * 2] << 8) | (s.pending_buf[s.d_buf + lx * 2 + 1]);\n      lc = s.pending_buf[s.l_buf + lx];\n      lx++;\n\n      if (dist === 0) {\n        send_code(s, lc, ltree); /* send a literal byte */\n        //Tracecv(isgraph(lc), (stderr,\" '%c' \", lc));\n      } else {\n        /* Here, lc is the match length - MIN_MATCH */\n        code = _length_code[lc];\n        send_code(s, code + LITERALS + 1, ltree); /* send the length code */\n        extra = extra_lbits[code];\n        if (extra !== 0) {\n          lc -= base_length[code];\n          send_bits(s, lc, extra);       /* send the extra length bits */\n        }\n        dist--; /* dist is now the match distance - 1 */\n        code = d_code(dist);\n        //Assert (code < D_CODES, \"bad d_code\");\n\n        send_code(s, code, dtree);       /* send the distance code */\n        extra = extra_dbits[code];\n        if (extra !== 0) {\n          dist -= base_dist[code];\n          send_bits(s, dist, extra);   /* send the extra distance bits */\n        }\n      } /* literal or match pair ? */\n\n      /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */\n      //Assert((uInt)(s->pending) < s->lit_bufsize + 2*lx,\n      //       \"pendingBuf overflow\");\n\n    } while (lx < s.last_lit);\n  }\n\n  send_code(s, END_BLOCK, ltree);\n}\n\n\n/* ===========================================================================\n * Construct one Huffman tree and assigns the code bit strings and lengths.\n * Update the total bit length for the current block.\n * IN assertion: the field freq is set for all tree elements.\n * OUT assertions: the fields len and code are set to the optimal bit length\n *     and corresponding code. The length opt_len is updated; static_len is\n *     also updated if stree is not null. The field max_code is set.\n */\nfunction build_tree(s, desc)\n//    deflate_state *s;\n//    tree_desc *desc; /* the tree descriptor */\n{\n  var tree     = desc.dyn_tree;\n  var stree    = desc.stat_desc.static_tree;\n  var has_stree = desc.stat_desc.has_stree;\n  var elems    = desc.stat_desc.elems;\n  var n, m;          /* iterate over heap elements */\n  var max_code = -1; /* largest code with non zero frequency */\n  var node;          /* new node being created */\n\n  /* Construct the initial heap, with least frequent element in\n   * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].\n   * heap[0] is not used.\n   */\n  s.heap_len = 0;\n  s.heap_max = HEAP_SIZE;\n\n  for (n = 0; n < elems; n++) {\n    if (tree[n * 2]/*.Freq*/ !== 0) {\n      s.heap[++s.heap_len] = max_code = n;\n      s.depth[n] = 0;\n\n    } else {\n      tree[n * 2 + 1]/*.Len*/ = 0;\n    }\n  }\n\n  /* The pkzip format requires that at least one distance code exists,\n   * and that at least one bit should be sent even if there is only one\n   * possible code. So to avoid special checks later on we force at least\n   * two codes of non zero frequency.\n   */\n  while (s.heap_len < 2) {\n    node = s.heap[++s.heap_len] = (max_code < 2 ? ++max_code : 0);\n    tree[node * 2]/*.Freq*/ = 1;\n    s.depth[node] = 0;\n    s.opt_len--;\n\n    if (has_stree) {\n      s.static_len -= stree[node * 2 + 1]/*.Len*/;\n    }\n    /* node is 0 or 1 so it does not have extra bits */\n  }\n  desc.max_code = max_code;\n\n  /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,\n   * establish sub-heaps of increasing lengths:\n   */\n  for (n = (s.heap_len >> 1/*int /2*/); n >= 1; n--) { pqdownheap(s, tree, n); }\n\n  /* Construct the Huffman tree by repeatedly combining the least two\n   * frequent nodes.\n   */\n  node = elems;              /* next internal node of the tree */\n  do {\n    //pqremove(s, tree, n);  /* n = node of least frequency */\n    /*** pqremove ***/\n    n = s.heap[1/*SMALLEST*/];\n    s.heap[1/*SMALLEST*/] = s.heap[s.heap_len--];\n    pqdownheap(s, tree, 1/*SMALLEST*/);\n    /***/\n\n    m = s.heap[1/*SMALLEST*/]; /* m = node of next least frequency */\n\n    s.heap[--s.heap_max] = n; /* keep the nodes sorted by frequency */\n    s.heap[--s.heap_max] = m;\n\n    /* Create a new node father of n and m */\n    tree[node * 2]/*.Freq*/ = tree[n * 2]/*.Freq*/ + tree[m * 2]/*.Freq*/;\n    s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1;\n    tree[n * 2 + 1]/*.Dad*/ = tree[m * 2 + 1]/*.Dad*/ = node;\n\n    /* and insert the new node in the heap */\n    s.heap[1/*SMALLEST*/] = node++;\n    pqdownheap(s, tree, 1/*SMALLEST*/);\n\n  } while (s.heap_len >= 2);\n\n  s.heap[--s.heap_max] = s.heap[1/*SMALLEST*/];\n\n  /* At this point, the fields freq and dad are set. We can now\n   * generate the bit lengths.\n   */\n  gen_bitlen(s, desc);\n\n  /* The field len is now set, we can generate the bit codes */\n  gen_codes(tree, max_code, s.bl_count);\n}\n\n\n/* ===========================================================================\n * Scan a literal or distance tree to determine the frequencies of the codes\n * in the bit length tree.\n */\nfunction scan_tree(s, tree, max_code)\n//    deflate_state *s;\n//    ct_data *tree;   /* the tree to be scanned */\n//    int max_code;    /* and its largest code of non zero frequency */\n{\n  var n;                     /* iterates over all tree elements */\n  var prevlen = -1;          /* last emitted length */\n  var curlen;                /* length of current code */\n\n  var nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */\n\n  var count = 0;             /* repeat count of the current code */\n  var max_count = 7;         /* max repeat count */\n  var min_count = 4;         /* min repeat count */\n\n  if (nextlen === 0) {\n    max_count = 138;\n    min_count = 3;\n  }\n  tree[(max_code + 1) * 2 + 1]/*.Len*/ = 0xffff; /* guard */\n\n  for (n = 0; n <= max_code; n++) {\n    curlen = nextlen;\n    nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;\n\n    if (++count < max_count && curlen === nextlen) {\n      continue;\n\n    } else if (count < min_count) {\n      s.bl_tree[curlen * 2]/*.Freq*/ += count;\n\n    } else if (curlen !== 0) {\n\n      if (curlen !== prevlen) { s.bl_tree[curlen * 2]/*.Freq*/++; }\n      s.bl_tree[REP_3_6 * 2]/*.Freq*/++;\n\n    } else if (count <= 10) {\n      s.bl_tree[REPZ_3_10 * 2]/*.Freq*/++;\n\n    } else {\n      s.bl_tree[REPZ_11_138 * 2]/*.Freq*/++;\n    }\n\n    count = 0;\n    prevlen = curlen;\n\n    if (nextlen === 0) {\n      max_count = 138;\n      min_count = 3;\n\n    } else if (curlen === nextlen) {\n      max_count = 6;\n      min_count = 3;\n\n    } else {\n      max_count = 7;\n      min_count = 4;\n    }\n  }\n}\n\n\n/* ===========================================================================\n * Send a literal or distance tree in compressed form, using the codes in\n * bl_tree.\n */\nfunction send_tree(s, tree, max_code)\n//    deflate_state *s;\n//    ct_data *tree; /* the tree to be scanned */\n//    int max_code;       /* and its largest code of non zero frequency */\n{\n  var n;                     /* iterates over all tree elements */\n  var prevlen = -1;          /* last emitted length */\n  var curlen;                /* length of current code */\n\n  var nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */\n\n  var count = 0;             /* repeat count of the current code */\n  var max_count = 7;         /* max repeat count */\n  var min_count = 4;         /* min repeat count */\n\n  /* tree[max_code+1].Len = -1; */  /* guard already set */\n  if (nextlen === 0) {\n    max_count = 138;\n    min_count = 3;\n  }\n\n  for (n = 0; n <= max_code; n++) {\n    curlen = nextlen;\n    nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;\n\n    if (++count < max_count && curlen === nextlen) {\n      continue;\n\n    } else if (count < min_count) {\n      do { send_code(s, curlen, s.bl_tree); } while (--count !== 0);\n\n    } else if (curlen !== 0) {\n      if (curlen !== prevlen) {\n        send_code(s, curlen, s.bl_tree);\n        count--;\n      }\n      //Assert(count >= 3 && count <= 6, \" 3_6?\");\n      send_code(s, REP_3_6, s.bl_tree);\n      send_bits(s, count - 3, 2);\n\n    } else if (count <= 10) {\n      send_code(s, REPZ_3_10, s.bl_tree);\n      send_bits(s, count - 3, 3);\n\n    } else {\n      send_code(s, REPZ_11_138, s.bl_tree);\n      send_bits(s, count - 11, 7);\n    }\n\n    count = 0;\n    prevlen = curlen;\n    if (nextlen === 0) {\n      max_count = 138;\n      min_count = 3;\n\n    } else if (curlen === nextlen) {\n      max_count = 6;\n      min_count = 3;\n\n    } else {\n      max_count = 7;\n      min_count = 4;\n    }\n  }\n}\n\n\n/* ===========================================================================\n * Construct the Huffman tree for the bit lengths and return the index in\n * bl_order of the last bit length code to send.\n */\nfunction build_bl_tree(s) {\n  var max_blindex;  /* index of last bit length code of non zero freq */\n\n  /* Determine the bit length frequencies for literal and distance trees */\n  scan_tree(s, s.dyn_ltree, s.l_desc.max_code);\n  scan_tree(s, s.dyn_dtree, s.d_desc.max_code);\n\n  /* Build the bit length tree: */\n  build_tree(s, s.bl_desc);\n  /* opt_len now includes the length of the tree representations, except\n   * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.\n   */\n\n  /* Determine the number of bit length codes to send. The pkzip format\n   * requires that at least 4 bit length codes be sent. (appnote.txt says\n   * 3 but the actual value used is 4.)\n   */\n  for (max_blindex = BL_CODES - 1; max_blindex >= 3; max_blindex--) {\n    if (s.bl_tree[bl_order[max_blindex] * 2 + 1]/*.Len*/ !== 0) {\n      break;\n    }\n  }\n  /* Update opt_len to include the bit length tree and counts */\n  s.opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4;\n  //Tracev((stderr, \"\\ndyn trees: dyn %ld, stat %ld\",\n  //        s->opt_len, s->static_len));\n\n  return max_blindex;\n}\n\n\n/* ===========================================================================\n * Send the header for a block using dynamic Huffman trees: the counts, the\n * lengths of the bit length codes, the literal tree and the distance tree.\n * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.\n */\nfunction send_all_trees(s, lcodes, dcodes, blcodes)\n//    deflate_state *s;\n//    int lcodes, dcodes, blcodes; /* number of codes for each tree */\n{\n  var rank;                    /* index in bl_order */\n\n  //Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, \"not enough codes\");\n  //Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,\n  //        \"too many codes\");\n  //Tracev((stderr, \"\\nbl counts: \"));\n  send_bits(s, lcodes - 257, 5); /* not +255 as stated in appnote.txt */\n  send_bits(s, dcodes - 1,   5);\n  send_bits(s, blcodes - 4,  4); /* not -3 as stated in appnote.txt */\n  for (rank = 0; rank < blcodes; rank++) {\n    //Tracev((stderr, \"\\nbl code %2d \", bl_order[rank]));\n    send_bits(s, s.bl_tree[bl_order[rank] * 2 + 1]/*.Len*/, 3);\n  }\n  //Tracev((stderr, \"\\nbl tree: sent %ld\", s->bits_sent));\n\n  send_tree(s, s.dyn_ltree, lcodes - 1); /* literal tree */\n  //Tracev((stderr, \"\\nlit tree: sent %ld\", s->bits_sent));\n\n  send_tree(s, s.dyn_dtree, dcodes - 1); /* distance tree */\n  //Tracev((stderr, \"\\ndist tree: sent %ld\", s->bits_sent));\n}\n\n\n/* ===========================================================================\n * Check if the data type is TEXT or BINARY, using the following algorithm:\n * - TEXT if the two conditions below are satisfied:\n *    a) There are no non-portable control characters belonging to the\n *       \"black list\" (0..6, 14..25, 28..31).\n *    b) There is at least one printable character belonging to the\n *       \"white list\" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).\n * - BINARY otherwise.\n * - The following partially-portable control characters form a\n *   \"gray list\" that is ignored in this detection algorithm:\n *   (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}).\n * IN assertion: the fields Freq of dyn_ltree are set.\n */\nfunction detect_data_type(s) {\n  /* black_mask is the bit mask of black-listed bytes\n   * set bits 0..6, 14..25, and 28..31\n   * 0xf3ffc07f = binary 11110011111111111100000001111111\n   */\n  var black_mask = 0xf3ffc07f;\n  var n;\n\n  /* Check for non-textual (\"black-listed\") bytes. */\n  for (n = 0; n <= 31; n++, black_mask >>>= 1) {\n    if ((black_mask & 1) && (s.dyn_ltree[n * 2]/*.Freq*/ !== 0)) {\n      return Z_BINARY;\n    }\n  }\n\n  /* Check for textual (\"white-listed\") bytes. */\n  if (s.dyn_ltree[9 * 2]/*.Freq*/ !== 0 || s.dyn_ltree[10 * 2]/*.Freq*/ !== 0 ||\n      s.dyn_ltree[13 * 2]/*.Freq*/ !== 0) {\n    return Z_TEXT;\n  }\n  for (n = 32; n < LITERALS; n++) {\n    if (s.dyn_ltree[n * 2]/*.Freq*/ !== 0) {\n      return Z_TEXT;\n    }\n  }\n\n  /* There are no \"black-listed\" or \"white-listed\" bytes:\n   * this stream either is empty or has tolerated (\"gray-listed\") bytes only.\n   */\n  return Z_BINARY;\n}\n\n\nvar static_init_done = false;\n\n/* ===========================================================================\n * Initialize the tree data structures for a new zlib stream.\n */\nfunction _tr_init(s)\n{\n\n  if (!static_init_done) {\n    tr_static_init();\n    static_init_done = true;\n  }\n\n  s.l_desc  = new TreeDesc(s.dyn_ltree, static_l_desc);\n  s.d_desc  = new TreeDesc(s.dyn_dtree, static_d_desc);\n  s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc);\n\n  s.bi_buf = 0;\n  s.bi_valid = 0;\n\n  /* Initialize the first block of the first file: */\n  init_block(s);\n}\n\n\n/* ===========================================================================\n * Send a stored block\n */\nfunction _tr_stored_block(s, buf, stored_len, last)\n//DeflateState *s;\n//charf *buf;       /* input block */\n//ulg stored_len;   /* length of input block */\n//int last;         /* one if this is the last block for a file */\n{\n  send_bits(s, (STORED_BLOCK << 1) + (last ? 1 : 0), 3);    /* send block type */\n  copy_block(s, buf, stored_len, true); /* with header */\n}\n\n\n/* ===========================================================================\n * Send one empty static block to give enough lookahead for inflate.\n * This takes 10 bits, of which 7 may remain in the bit buffer.\n */\nfunction _tr_align(s) {\n  send_bits(s, STATIC_TREES << 1, 3);\n  send_code(s, END_BLOCK, static_ltree);\n  bi_flush(s);\n}\n\n\n/* ===========================================================================\n * Determine the best encoding for the current block: dynamic trees, static\n * trees or store, and output the encoded block to the zip file.\n */\nfunction _tr_flush_block(s, buf, stored_len, last)\n//DeflateState *s;\n//charf *buf;       /* input block, or NULL if too old */\n//ulg stored_len;   /* length of input block */\n//int last;         /* one if this is the last block for a file */\n{\n  var opt_lenb, static_lenb;  /* opt_len and static_len in bytes */\n  var max_blindex = 0;        /* index of last bit length code of non zero freq */\n\n  /* Build the Huffman trees unless a stored block is forced */\n  if (s.level > 0) {\n\n    /* Check if the file is binary or text */\n    if (s.strm.data_type === Z_UNKNOWN) {\n      s.strm.data_type = detect_data_type(s);\n    }\n\n    /* Construct the literal and distance trees */\n    build_tree(s, s.l_desc);\n    // Tracev((stderr, \"\\nlit data: dyn %ld, stat %ld\", s->opt_len,\n    //        s->static_len));\n\n    build_tree(s, s.d_desc);\n    // Tracev((stderr, \"\\ndist data: dyn %ld, stat %ld\", s->opt_len,\n    //        s->static_len));\n    /* At this point, opt_len and static_len are the total bit lengths of\n     * the compressed block data, excluding the tree representations.\n     */\n\n    /* Build the bit length tree for the above two trees, and get the index\n     * in bl_order of the last bit length code to send.\n     */\n    max_blindex = build_bl_tree(s);\n\n    /* Determine the best encoding. Compute the block lengths in bytes. */\n    opt_lenb = (s.opt_len + 3 + 7) >>> 3;\n    static_lenb = (s.static_len + 3 + 7) >>> 3;\n\n    // Tracev((stderr, \"\\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u \",\n    //        opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,\n    //        s->last_lit));\n\n    if (static_lenb <= opt_lenb) { opt_lenb = static_lenb; }\n\n  } else {\n    // Assert(buf != (char*)0, \"lost buf\");\n    opt_lenb = static_lenb = stored_len + 5; /* force a stored block */\n  }\n\n  if ((stored_len + 4 <= opt_lenb) && (buf !== -1)) {\n    /* 4: two words for the lengths */\n\n    /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.\n     * Otherwise we can't have processed more than WSIZE input bytes since\n     * the last block flush, because compression would have been\n     * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to\n     * transform a block into a stored block.\n     */\n    _tr_stored_block(s, buf, stored_len, last);\n\n  } else if (s.strategy === Z_FIXED || static_lenb === opt_lenb) {\n\n    send_bits(s, (STATIC_TREES << 1) + (last ? 1 : 0), 3);\n    compress_block(s, static_ltree, static_dtree);\n\n  } else {\n    send_bits(s, (DYN_TREES << 1) + (last ? 1 : 0), 3);\n    send_all_trees(s, s.l_desc.max_code + 1, s.d_desc.max_code + 1, max_blindex + 1);\n    compress_block(s, s.dyn_ltree, s.dyn_dtree);\n  }\n  // Assert (s->compressed_len == s->bits_sent, \"bad compressed size\");\n  /* The above check is made mod 2^32, for files larger than 512 MB\n   * and uLong implemented on 32 bits.\n   */\n  init_block(s);\n\n  if (last) {\n    bi_windup(s);\n  }\n  // Tracev((stderr,\"\\ncomprlen %lu(%lu) \", s->compressed_len>>3,\n  //       s->compressed_len-7*last));\n}\n\n/* ===========================================================================\n * Save the match info and tally the frequency counts. Return true if\n * the current block must be flushed.\n */\nfunction _tr_tally(s, dist, lc)\n//    deflate_state *s;\n//    unsigned dist;  /* distance of matched string */\n//    unsigned lc;    /* match length-MIN_MATCH or unmatched char (if dist==0) */\n{\n  //var out_length, in_length, dcode;\n\n  s.pending_buf[s.d_buf + s.last_lit * 2]     = (dist >>> 8) & 0xff;\n  s.pending_buf[s.d_buf + s.last_lit * 2 + 1] = dist & 0xff;\n\n  s.pending_buf[s.l_buf + s.last_lit] = lc & 0xff;\n  s.last_lit++;\n\n  if (dist === 0) {\n    /* lc is the unmatched char */\n    s.dyn_ltree[lc * 2]/*.Freq*/++;\n  } else {\n    s.matches++;\n    /* Here, lc is the match length - MIN_MATCH */\n    dist--;             /* dist = match distance - 1 */\n    //Assert((ush)dist < (ush)MAX_DIST(s) &&\n    //       (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&\n    //       (ush)d_code(dist) < (ush)D_CODES,  \"_tr_tally: bad match\");\n\n    s.dyn_ltree[(_length_code[lc] + LITERALS + 1) * 2]/*.Freq*/++;\n    s.dyn_dtree[d_code(dist) * 2]/*.Freq*/++;\n  }\n\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n\n//#ifdef TRUNCATE_BLOCK\n//  /* Try to guess if it is profitable to stop the current block here */\n//  if ((s.last_lit & 0x1fff) === 0 && s.level > 2) {\n//    /* Compute an upper bound for the compressed length */\n//    out_length = s.last_lit*8;\n//    in_length = s.strstart - s.block_start;\n//\n//    for (dcode = 0; dcode < D_CODES; dcode++) {\n//      out_length += s.dyn_dtree[dcode*2]/*.Freq*/ * (5 + extra_dbits[dcode]);\n//    }\n//    out_length >>>= 3;\n//    //Tracev((stderr,\"\\nlast_lit %u, in %ld, out ~%ld(%ld%%) \",\n//    //       s->last_lit, in_length, out_length,\n//    //       100L - out_length*100L/in_length));\n//    if (s.matches < (s.last_lit>>1)/*int /2*/ && out_length < (in_length>>1)/*int /2*/) {\n//      return true;\n//    }\n//  }\n//#endif\n\n  return (s.last_lit === s.lit_bufsize - 1);\n  /* We avoid equality with lit_bufsize because of wraparound at 64K\n   * on 16 bit machines and because stored blocks are restricted to\n   * 64K-1 bytes.\n   */\n}\n\nexports._tr_init  = _tr_init;\nexports._tr_stored_block = _tr_stored_block;\nexports._tr_flush_block  = _tr_flush_block;\nexports._tr_tally = _tr_tally;\nexports._tr_align = _tr_align;\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n//   claim that you wrote the original software. If you use this software\n//   in a product, an acknowledgment in the product documentation would be\n//   appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//   misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction ZStream() {\n  /* next input byte */\n  this.input = null; // JS specific, because we have no pointers\n  this.next_in = 0;\n  /* number of bytes available at input */\n  this.avail_in = 0;\n  /* total number of input bytes read so far */\n  this.total_in = 0;\n  /* next output byte should be put there */\n  this.output = null; // JS specific, because we have no pointers\n  this.next_out = 0;\n  /* remaining free space at output */\n  this.avail_out = 0;\n  /* total number of bytes output so far */\n  this.total_out = 0;\n  /* last error message, NULL if no error */\n  this.msg = ''/*Z_NULL*/;\n  /* not visible by applications */\n  this.state = null;\n  /* best guess about the data type: binary or text */\n  this.data_type = 2/*Z_UNKNOWN*/;\n  /* adler32 value of the uncompressed data */\n  this.adler = 0;\n}\n\nmodule.exports = ZStream;\n","/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp\nmodule.exports.parse = parse\nmodule.exports.compile = compile\nmodule.exports.tokensToFunction = tokensToFunction\nmodule.exports.tokensToRegExp = tokensToRegExp\n\n/**\n * Default configs.\n */\nvar DEFAULT_DELIMITER = '/'\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n  // Match escaped characters that would otherwise appear in future matches.\n  // This allows the user to escape special characters that won't transform.\n  '(\\\\\\\\.)',\n  // Match Express-style parameters and un-named parameters with a prefix\n  // and optional suffixes. Matches appear as:\n  //\n  // \":test(\\\\d+)?\" => [\"test\", \"\\d+\", undefined, \"?\"]\n  // \"(\\\\d+)\"  => [undefined, undefined, \"\\d+\", undefined]\n  '(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param  {string}  str\n * @param  {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n  var tokens = []\n  var key = 0\n  var index = 0\n  var path = ''\n  var defaultDelimiter = (options && options.delimiter) || DEFAULT_DELIMITER\n  var whitelist = (options && options.whitelist) || undefined\n  var pathEscaped = false\n  var res\n\n  while ((res = PATH_REGEXP.exec(str)) !== null) {\n    var m = res[0]\n    var escaped = res[1]\n    var offset = res.index\n    path += str.slice(index, offset)\n    index = offset + m.length\n\n    // Ignore already escaped sequences.\n    if (escaped) {\n      path += escaped[1]\n      pathEscaped = true\n      continue\n    }\n\n    var prev = ''\n    var name = res[2]\n    var capture = res[3]\n    var group = res[4]\n    var modifier = res[5]\n\n    if (!pathEscaped && path.length) {\n      var k = path.length - 1\n      var c = path[k]\n      var matches = whitelist ? whitelist.indexOf(c) > -1 : true\n\n      if (matches) {\n        prev = c\n        path = path.slice(0, k)\n      }\n    }\n\n    // Push the current path onto the tokens.\n    if (path) {\n      tokens.push(path)\n      path = ''\n      pathEscaped = false\n    }\n\n    var repeat = modifier === '+' || modifier === '*'\n    var optional = modifier === '?' || modifier === '*'\n    var pattern = capture || group\n    var delimiter = prev || defaultDelimiter\n\n    tokens.push({\n      name: name || key++,\n      prefix: prev,\n      delimiter: delimiter,\n      optional: optional,\n      repeat: repeat,\n      pattern: pattern\n        ? escapeGroup(pattern)\n        : '[^' + escapeString(delimiter === defaultDelimiter ? delimiter : (delimiter + defaultDelimiter)) + ']+?'\n    })\n  }\n\n  // Push any remaining characters.\n  if (path || index < str.length) {\n    tokens.push(path + str.substr(index))\n  }\n\n  return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param  {string}             str\n * @param  {Object=}            options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n  return tokensToFunction(parse(str, options))\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens) {\n  // Compile all the tokens into regexps.\n  var matches = new Array(tokens.length)\n\n  // Compile all the patterns before compilation.\n  for (var i = 0; i < tokens.length; i++) {\n    if (typeof tokens[i] === 'object') {\n      matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$')\n    }\n  }\n\n  return function (data, options) {\n    var path = ''\n    var encode = (options && options.encode) || encodeURIComponent\n\n    for (var i = 0; i < tokens.length; i++) {\n      var token = tokens[i]\n\n      if (typeof token === 'string') {\n        path += token\n        continue\n      }\n\n      var value = data ? data[token.name] : undefined\n      var segment\n\n      if (Array.isArray(value)) {\n        if (!token.repeat) {\n          throw new TypeError('Expected \"' + token.name + '\" to not repeat, but got array')\n        }\n\n        if (value.length === 0) {\n          if (token.optional) continue\n\n          throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n        }\n\n        for (var j = 0; j < value.length; j++) {\n          segment = encode(value[j], token)\n\n          if (!matches[i].test(segment)) {\n            throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\"')\n          }\n\n          path += (j === 0 ? token.prefix : token.delimiter) + segment\n        }\n\n        continue\n      }\n\n      if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n        segment = encode(String(value), token)\n\n        if (!matches[i].test(segment)) {\n          throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but got \"' + segment + '\"')\n        }\n\n        path += token.prefix + segment\n        continue\n      }\n\n      if (token.optional) continue\n\n      throw new TypeError('Expected \"' + token.name + '\" to be ' + (token.repeat ? 'an array' : 'a string'))\n    }\n\n    return path\n  }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param  {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n  return str.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param  {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n  return group.replace(/([=!:$/()])/g, '\\\\$1')\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param  {Object} options\n * @return {string}\n */\nfunction flags (options) {\n  return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param  {!RegExp} path\n * @param  {Array=}  keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n  if (!keys) return path\n\n  // Use a negative lookahead to match only capturing groups.\n  var groups = path.source.match(/\\((?!\\?)/g)\n\n  if (groups) {\n    for (var i = 0; i < groups.length; i++) {\n      keys.push({\n        name: i,\n        prefix: null,\n        delimiter: null,\n        optional: false,\n        repeat: false,\n        pattern: null\n      })\n    }\n  }\n\n  return path\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param  {!Array}  path\n * @param  {Array=}  keys\n * @param  {Object=} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n  var parts = []\n\n  for (var i = 0; i < path.length; i++) {\n    parts.push(pathToRegexp(path[i], keys, options).source)\n  }\n\n  return new RegExp('(?:' + parts.join('|') + ')', flags(options))\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param  {string}  path\n * @param  {Array=}  keys\n * @param  {Object=} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n  return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param  {!Array}  tokens\n * @param  {Array=}  keys\n * @param  {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n  options = options || {}\n\n  var strict = options.strict\n  var start = options.start !== false\n  var end = options.end !== false\n  var delimiter = options.delimiter || DEFAULT_DELIMITER\n  var endsWith = [].concat(options.endsWith || []).map(escapeString).concat('$').join('|')\n  var route = start ? '^' : ''\n\n  // Iterate over the tokens and create our regexp string.\n  for (var i = 0; i < tokens.length; i++) {\n    var token = tokens[i]\n\n    if (typeof token === 'string') {\n      route += escapeString(token)\n    } else {\n      var capture = token.repeat\n        ? '(?:' + token.pattern + ')(?:' + escapeString(token.delimiter) + '(?:' + token.pattern + '))*'\n        : token.pattern\n\n      if (keys) keys.push(token)\n\n      if (token.optional) {\n        if (!token.prefix) {\n          route += '(' + capture + ')?'\n        } else {\n          route += '(?:' + escapeString(token.prefix) + '(' + capture + '))?'\n        }\n      } else {\n        route += escapeString(token.prefix) + '(' + capture + ')'\n      }\n    }\n  }\n\n  if (end) {\n    if (!strict) route += '(?:' + escapeString(delimiter) + ')?'\n\n    route += endsWith === '$' ? '$' : '(?=' + endsWith + ')'\n  } else {\n    var endToken = tokens[tokens.length - 1]\n    var isEndDelimited = typeof endToken === 'string'\n      ? endToken[endToken.length - 1] === delimiter\n      : endToken === undefined\n\n    if (!strict) route += '(?:' + escapeString(delimiter) + '(?=' + endsWith + '))?'\n    if (!isEndDelimited) route += '(?=' + escapeString(delimiter) + '|' + endsWith + ')'\n  }\n\n  return new RegExp(route, flags(options))\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param  {(string|RegExp|Array)} path\n * @param  {Array=}                keys\n * @param  {Object=}               options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n  if (path instanceof RegExp) {\n    return regexpToRegexp(path, keys)\n  }\n\n  if (Array.isArray(path)) {\n    return arrayToRegexp(/** @type {!Array} */ (path), keys, options)\n  }\n\n  return stringToRegexp(/** @type {string} */ (path), keys, options)\n}\n","// Copyright Joyent, Inc. and other Node contributors.\r\n//\r\n// Permission is hereby granted, free of charge, to any person obtaining a\r\n// copy of this software and associated documentation files (the\r\n// \"Software\"), to deal in the Software without restriction, including\r\n// without limitation the rights to use, copy, modify, merge, publish,\r\n// distribute, sublicense, and/or sell copies of the Software, and to permit\r\n// persons to whom the Software is furnished to do so, subject to the\r\n// following conditions:\r\n//\r\n// The above copyright notice and this permission notice shall be included\r\n// in all copies or substantial portions of the Software.\r\n//\r\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\r\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\r\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\r\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\r\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\r\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n\r\n'use strict';\r\n\r\n\r\nvar isWindows = process.platform === 'win32';\r\nvar util = require('util');\r\n\r\n\r\n// resolves . and .. elements in a path array with directory names there\r\n// must be no slashes or device names (c:\\) in the array\r\n// (so also no leading and trailing slashes - it does not distinguish\r\n// relative and absolute paths)\r\nfunction normalizeArray(parts, allowAboveRoot) {\r\n  var res = [];\r\n  for (var i = 0; i < parts.length; i++) {\r\n    var p = parts[i];\r\n\r\n    // ignore empty parts\r\n    if (!p || p === '.')\r\n      continue;\r\n\r\n    if (p === '..') {\r\n      if (res.length && res[res.length - 1] !== '..') {\r\n        res.pop();\r\n      } else if (allowAboveRoot) {\r\n        res.push('..');\r\n      }\r\n    } else {\r\n      res.push(p);\r\n    }\r\n  }\r\n\r\n  return res;\r\n}\r\n\r\n// returns an array with empty elements removed from either end of the input\r\n// array or the original array if no elements need to be removed\r\nfunction trimArray(arr) {\r\n  var lastIndex = arr.length - 1;\r\n  var start = 0;\r\n  for (; start <= lastIndex; start++) {\r\n    if (arr[start])\r\n      break;\r\n  }\r\n\r\n  var end = lastIndex;\r\n  for (; end >= 0; end--) {\r\n    if (arr[end])\r\n      break;\r\n  }\r\n\r\n  if (start === 0 && end === lastIndex)\r\n    return arr;\r\n  if (start > end)\r\n    return [];\r\n  return arr.slice(start, end + 1);\r\n}\r\n\r\n// Regex to split a windows path into three parts: [*, device, slash,\r\n// tail] windows-only\r\nvar splitDeviceRe =\r\n    /^([a-zA-Z]:|[\\\\\\/]{2}[^\\\\\\/]+[\\\\\\/]+[^\\\\\\/]+)?([\\\\\\/])?([\\s\\S]*?)$/;\r\n\r\n// Regex to split the tail part of the above into [*, dir, basename, ext]\r\nvar splitTailRe =\r\n    /^([\\s\\S]*?)((?:\\.{1,2}|[^\\\\\\/]+?|)(\\.[^.\\/\\\\]*|))(?:[\\\\\\/]*)$/;\r\n\r\nvar win32 = {};\r\n\r\n// Function to split a filename into [root, dir, basename, ext]\r\nfunction win32SplitPath(filename) {\r\n  // Separate device+slash from tail\r\n  var result = splitDeviceRe.exec(filename),\r\n      device = (result[1] || '') + (result[2] || ''),\r\n      tail = result[3] || '';\r\n  // Split the tail into dir, basename and extension\r\n  var result2 = splitTailRe.exec(tail),\r\n      dir = result2[1],\r\n      basename = result2[2],\r\n      ext = result2[3];\r\n  return [device, dir, basename, ext];\r\n}\r\n\r\nfunction win32StatPath(path) {\r\n  var result = splitDeviceRe.exec(path),\r\n      device = result[1] || '',\r\n      isUnc = !!device && device[1] !== ':';\r\n  return {\r\n    device: device,\r\n    isUnc: isUnc,\r\n    isAbsolute: isUnc || !!result[2], // UNC paths are always absolute\r\n    tail: result[3]\r\n  };\r\n}\r\n\r\nfunction normalizeUNCRoot(device) {\r\n  return '\\\\\\\\' + device.replace(/^[\\\\\\/]+/, '').replace(/[\\\\\\/]+/g, '\\\\');\r\n}\r\n\r\n// path.resolve([from ...], to)\r\nwin32.resolve = function() {\r\n  var resolvedDevice = '',\r\n      resolvedTail = '',\r\n      resolvedAbsolute = false;\r\n\r\n  for (var i = arguments.length - 1; i >= -1; i--) {\r\n    var path;\r\n    if (i >= 0) {\r\n      path = arguments[i];\r\n    } else if (!resolvedDevice) {\r\n      path = process.cwd();\r\n    } else {\r\n      // Windows has the concept of drive-specific current working\r\n      // directories. If we've resolved a drive letter but not yet an\r\n      // absolute path, get cwd for that drive. We're sure the device is not\r\n      // an unc path at this points, because unc paths are always absolute.\r\n      path = process.env['=' + resolvedDevice];\r\n      // Verify that a drive-local cwd was found and that it actually points\r\n      // to our drive. If not, default to the drive's root.\r\n      if (!path || path.substr(0, 3).toLowerCase() !==\r\n          resolvedDevice.toLowerCase() + '\\\\') {\r\n        path = resolvedDevice + '\\\\';\r\n      }\r\n    }\r\n\r\n    // Skip empty and invalid entries\r\n    if (!util.isString(path)) {\r\n      throw new TypeError('Arguments to path.resolve must be strings');\r\n    } else if (!path) {\r\n      continue;\r\n    }\r\n\r\n    var result = win32StatPath(path),\r\n        device = result.device,\r\n        isUnc = result.isUnc,\r\n        isAbsolute = result.isAbsolute,\r\n        tail = result.tail;\r\n\r\n    if (device &&\r\n        resolvedDevice &&\r\n        device.toLowerCase() !== resolvedDevice.toLowerCase()) {\r\n      // This path points to another device so it is not applicable\r\n      continue;\r\n    }\r\n\r\n    if (!resolvedDevice) {\r\n      resolvedDevice = device;\r\n    }\r\n    if (!resolvedAbsolute) {\r\n      resolvedTail = tail + '\\\\' + resolvedTail;\r\n      resolvedAbsolute = isAbsolute;\r\n    }\r\n\r\n    if (resolvedDevice && resolvedAbsolute) {\r\n      break;\r\n    }\r\n  }\r\n\r\n  // Convert slashes to backslashes when `resolvedDevice` points to an UNC\r\n  // root. Also squash multiple slashes into a single one where appropriate.\r\n  if (isUnc) {\r\n    resolvedDevice = normalizeUNCRoot(resolvedDevice);\r\n  }\r\n\r\n  // At this point the path should be resolved to a full absolute path,\r\n  // but handle relative paths to be safe (might happen when process.cwd()\r\n  // fails)\r\n\r\n  // Normalize the tail path\r\n  resolvedTail = normalizeArray(resolvedTail.split(/[\\\\\\/]+/),\r\n                                !resolvedAbsolute).join('\\\\');\r\n\r\n  return (resolvedDevice + (resolvedAbsolute ? '\\\\' : '') + resolvedTail) ||\r\n         '.';\r\n};\r\n\r\n\r\nwin32.normalize = function(path) {\r\n  var result = win32StatPath(path),\r\n      device = result.device,\r\n      isUnc = result.isUnc,\r\n      isAbsolute = result.isAbsolute,\r\n      tail = result.tail,\r\n      trailingSlash = /[\\\\\\/]$/.test(tail);\r\n\r\n  // Normalize the tail path\r\n  tail = normalizeArray(tail.split(/[\\\\\\/]+/), !isAbsolute).join('\\\\');\r\n\r\n  if (!tail && !isAbsolute) {\r\n    tail = '.';\r\n  }\r\n  if (tail && trailingSlash) {\r\n    tail += '\\\\';\r\n  }\r\n\r\n  // Convert slashes to backslashes when `device` points to an UNC root.\r\n  // Also squash multiple slashes into a single one where appropriate.\r\n  if (isUnc) {\r\n    device = normalizeUNCRoot(device);\r\n  }\r\n\r\n  return device + (isAbsolute ? '\\\\' : '') + tail;\r\n};\r\n\r\n\r\nwin32.isAbsolute = function(path) {\r\n  return win32StatPath(path).isAbsolute;\r\n};\r\n\r\nwin32.join = function() {\r\n  var paths = [];\r\n  for (var i = 0; i < arguments.length; i++) {\r\n    var arg = arguments[i];\r\n    if (!util.isString(arg)) {\r\n      throw new TypeError('Arguments to path.join must be strings');\r\n    }\r\n    if (arg) {\r\n      paths.push(arg);\r\n    }\r\n  }\r\n\r\n  var joined = paths.join('\\\\');\r\n\r\n  // Make sure that the joined path doesn't start with two slashes, because\r\n  // normalize() will mistake it for an UNC path then.\r\n  //\r\n  // This step is skipped when it is very clear that the user actually\r\n  // intended to point at an UNC path. This is assumed when the first\r\n  // non-empty string arguments starts with exactly two slashes followed by\r\n  // at least one more non-slash character.\r\n  //\r\n  // Note that for normalize() to treat a path as an UNC path it needs to\r\n  // have at least 2 components, so we don't filter for that here.\r\n  // This means that the user can use join to construct UNC paths from\r\n  // a server name and a share name; for example:\r\n  //   path.join('//server', 'share') -> '\\\\\\\\server\\\\share\\')\r\n  if (!/^[\\\\\\/]{2}[^\\\\\\/]/.test(paths[0])) {\r\n    joined = joined.replace(/^[\\\\\\/]{2,}/, '\\\\');\r\n  }\r\n\r\n  return win32.normalize(joined);\r\n};\r\n\r\n\r\n// path.relative(from, to)\r\n// it will solve the relative path from 'from' to 'to', for instance:\r\n// from = 'C:\\\\orandea\\\\test\\\\aaa'\r\n// to = 'C:\\\\orandea\\\\impl\\\\bbb'\r\n// The output of the function should be: '..\\\\..\\\\impl\\\\bbb'\r\nwin32.relative = function(from, to) {\r\n  from = win32.resolve(from);\r\n  to = win32.resolve(to);\r\n\r\n  // windows is not case sensitive\r\n  var lowerFrom = from.toLowerCase();\r\n  var lowerTo = to.toLowerCase();\r\n\r\n  var toParts = trimArray(to.split('\\\\'));\r\n\r\n  var lowerFromParts = trimArray(lowerFrom.split('\\\\'));\r\n  var lowerToParts = trimArray(lowerTo.split('\\\\'));\r\n\r\n  var length = Math.min(lowerFromParts.length, lowerToParts.length);\r\n  var samePartsLength = length;\r\n  for (var i = 0; i < length; i++) {\r\n    if (lowerFromParts[i] !== lowerToParts[i]) {\r\n      samePartsLength = i;\r\n      break;\r\n    }\r\n  }\r\n\r\n  if (samePartsLength == 0) {\r\n    return to;\r\n  }\r\n\r\n  var outputParts = [];\r\n  for (var i = samePartsLength; i < lowerFromParts.length; i++) {\r\n    outputParts.push('..');\r\n  }\r\n\r\n  outputParts = outputParts.concat(toParts.slice(samePartsLength));\r\n\r\n  return outputParts.join('\\\\');\r\n};\r\n\r\n\r\nwin32._makeLong = function(path) {\r\n  // Note: this will *probably* throw somewhere.\r\n  if (!util.isString(path))\r\n    return path;\r\n\r\n  if (!path) {\r\n    return '';\r\n  }\r\n\r\n  var resolvedPath = win32.resolve(path);\r\n\r\n  if (/^[a-zA-Z]\\:\\\\/.test(resolvedPath)) {\r\n    // path is local filesystem path, which needs to be converted\r\n    // to long UNC path.\r\n    return '\\\\\\\\?\\\\' + resolvedPath;\r\n  } else if (/^\\\\\\\\[^?.]/.test(resolvedPath)) {\r\n    // path is network UNC path, which needs to be converted\r\n    // to long UNC path.\r\n    return '\\\\\\\\?\\\\UNC\\\\' + resolvedPath.substring(2);\r\n  }\r\n\r\n  return path;\r\n};\r\n\r\n\r\nwin32.dirname = function(path) {\r\n  var result = win32SplitPath(path),\r\n      root = result[0],\r\n      dir = result[1];\r\n\r\n  if (!root && !dir) {\r\n    // No dirname whatsoever\r\n    return '.';\r\n  }\r\n\r\n  if (dir) {\r\n    // It has a dirname, strip trailing slash\r\n    dir = dir.substr(0, dir.length - 1);\r\n  }\r\n\r\n  return root + dir;\r\n};\r\n\r\n\r\nwin32.basename = function(path, ext) {\r\n  var f = win32SplitPath(path)[2];\r\n  // TODO: make this comparison case-insensitive on windows?\r\n  if (ext && f.substr(-1 * ext.length) === ext) {\r\n    f = f.substr(0, f.length - ext.length);\r\n  }\r\n  return f;\r\n};\r\n\r\n\r\nwin32.extname = function(path) {\r\n  return win32SplitPath(path)[3];\r\n};\r\n\r\n\r\nwin32.format = function(pathObject) {\r\n  if (!util.isObject(pathObject)) {\r\n    throw new TypeError(\r\n        \"Parameter 'pathObject' must be an object, not \" + typeof pathObject\r\n    );\r\n  }\r\n\r\n  var root = pathObject.root || '';\r\n\r\n  if (!util.isString(root)) {\r\n    throw new TypeError(\r\n        \"'pathObject.root' must be a string or undefined, not \" +\r\n        typeof pathObject.root\r\n    );\r\n  }\r\n\r\n  var dir = pathObject.dir;\r\n  var base = pathObject.base || '';\r\n  if (!dir) {\r\n    return base;\r\n  }\r\n  if (dir[dir.length - 1] === win32.sep) {\r\n    return dir + base;\r\n  }\r\n  return dir + win32.sep + base;\r\n};\r\n\r\n\r\nwin32.parse = function(pathString) {\r\n  if (!util.isString(pathString)) {\r\n    throw new TypeError(\r\n        \"Parameter 'pathString' must be a string, not \" + typeof pathString\r\n    );\r\n  }\r\n  var allParts = win32SplitPath(pathString);\r\n  if (!allParts || allParts.length !== 4) {\r\n    throw new TypeError(\"Invalid path '\" + pathString + \"'\");\r\n  }\r\n  return {\r\n    root: allParts[0],\r\n    dir: allParts[0] + allParts[1].slice(0, -1),\r\n    base: allParts[2],\r\n    ext: allParts[3],\r\n    name: allParts[2].slice(0, allParts[2].length - allParts[3].length)\r\n  };\r\n};\r\n\r\n\r\nwin32.sep = '\\\\';\r\nwin32.delimiter = ';';\r\n\r\n\r\n// Split a filename into [root, dir, basename, ext], unix version\r\n// 'root' is just a slash, or nothing.\r\nvar splitPathRe =\r\n    /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\r\nvar posix = {};\r\n\r\n\r\nfunction posixSplitPath(filename) {\r\n  return splitPathRe.exec(filename).slice(1);\r\n}\r\n\r\n\r\n// path.resolve([from ...], to)\r\n// posix version\r\nposix.resolve = function() {\r\n  var resolvedPath = '',\r\n      resolvedAbsolute = false;\r\n\r\n  for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\r\n    var path = (i >= 0) ? arguments[i] : process.cwd();\r\n\r\n    // Skip empty and invalid entries\r\n    if (!util.isString(path)) {\r\n      throw new TypeError('Arguments to path.resolve must be strings');\r\n    } else if (!path) {\r\n      continue;\r\n    }\r\n\r\n    resolvedPath = path + '/' + resolvedPath;\r\n    resolvedAbsolute = path[0] === '/';\r\n  }\r\n\r\n  // At this point the path should be resolved to a full absolute path, but\r\n  // handle relative paths to be safe (might happen when process.cwd() fails)\r\n\r\n  // Normalize the path\r\n  resolvedPath = normalizeArray(resolvedPath.split('/'),\r\n                                !resolvedAbsolute).join('/');\r\n\r\n  return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\r\n};\r\n\r\n// path.normalize(path)\r\n// posix version\r\nposix.normalize = function(path) {\r\n  var isAbsolute = posix.isAbsolute(path),\r\n      trailingSlash = path && path[path.length - 1] === '/';\r\n\r\n  // Normalize the path\r\n  path = normalizeArray(path.split('/'), !isAbsolute).join('/');\r\n\r\n  if (!path && !isAbsolute) {\r\n    path = '.';\r\n  }\r\n  if (path && trailingSlash) {\r\n    path += '/';\r\n  }\r\n\r\n  return (isAbsolute ? '/' : '') + path;\r\n};\r\n\r\n// posix version\r\nposix.isAbsolute = function(path) {\r\n  return path.charAt(0) === '/';\r\n};\r\n\r\n// posix version\r\nposix.join = function() {\r\n  var path = '';\r\n  for (var i = 0; i < arguments.length; i++) {\r\n    var segment = arguments[i];\r\n    if (!util.isString(segment)) {\r\n      throw new TypeError('Arguments to path.join must be strings');\r\n    }\r\n    if (segment) {\r\n      if (!path) {\r\n        path += segment;\r\n      } else {\r\n        path += '/' + segment;\r\n      }\r\n    }\r\n  }\r\n  return posix.normalize(path);\r\n};\r\n\r\n\r\n// path.relative(from, to)\r\n// posix version\r\nposix.relative = function(from, to) {\r\n  from = posix.resolve(from).substr(1);\r\n  to = posix.resolve(to).substr(1);\r\n\r\n  var fromParts = trimArray(from.split('/'));\r\n  var toParts = trimArray(to.split('/'));\r\n\r\n  var length = Math.min(fromParts.length, toParts.length);\r\n  var samePartsLength = length;\r\n  for (var i = 0; i < length; i++) {\r\n    if (fromParts[i] !== toParts[i]) {\r\n      samePartsLength = i;\r\n      break;\r\n    }\r\n  }\r\n\r\n  var outputParts = [];\r\n  for (var i = samePartsLength; i < fromParts.length; i++) {\r\n    outputParts.push('..');\r\n  }\r\n\r\n  outputParts = outputParts.concat(toParts.slice(samePartsLength));\r\n\r\n  return outputParts.join('/');\r\n};\r\n\r\n\r\nposix._makeLong = function(path) {\r\n  return path;\r\n};\r\n\r\n\r\nposix.dirname = function(path) {\r\n  var result = posixSplitPath(path),\r\n      root = result[0],\r\n      dir = result[1];\r\n\r\n  if (!root && !dir) {\r\n    // No dirname whatsoever\r\n    return '.';\r\n  }\r\n\r\n  if (dir) {\r\n    // It has a dirname, strip trailing slash\r\n    dir = dir.substr(0, dir.length - 1);\r\n  }\r\n\r\n  return root + dir;\r\n};\r\n\r\n\r\nposix.basename = function(path, ext) {\r\n  var f = posixSplitPath(path)[2];\r\n  // TODO: make this comparison case-insensitive on windows?\r\n  if (ext && f.substr(-1 * ext.length) === ext) {\r\n    f = f.substr(0, f.length - ext.length);\r\n  }\r\n  return f;\r\n};\r\n\r\n\r\nposix.extname = function(path) {\r\n  return posixSplitPath(path)[3];\r\n};\r\n\r\n\r\nposix.format = function(pathObject) {\r\n  if (!util.isObject(pathObject)) {\r\n    throw new TypeError(\r\n        \"Parameter 'pathObject' must be an object, not \" + typeof pathObject\r\n    );\r\n  }\r\n\r\n  var root = pathObject.root || '';\r\n\r\n  if (!util.isString(root)) {\r\n    throw new TypeError(\r\n        \"'pathObject.root' must be a string or undefined, not \" +\r\n        typeof pathObject.root\r\n    );\r\n  }\r\n\r\n  var dir = pathObject.dir ? pathObject.dir + posix.sep : '';\r\n  var base = pathObject.base || '';\r\n  return dir + base;\r\n};\r\n\r\n\r\nposix.parse = function(pathString) {\r\n  if (!util.isString(pathString)) {\r\n    throw new TypeError(\r\n        \"Parameter 'pathString' must be a string, not \" + typeof pathString\r\n    );\r\n  }\r\n  var allParts = posixSplitPath(pathString);\r\n  if (!allParts || allParts.length !== 4) {\r\n    throw new TypeError(\"Invalid path '\" + pathString + \"'\");\r\n  }\r\n  allParts[1] = allParts[1] || '';\r\n  allParts[2] = allParts[2] || '';\r\n  allParts[3] = allParts[3] || '';\r\n\r\n  return {\r\n    root: allParts[0],\r\n    dir: allParts[0] + allParts[1].slice(0, -1),\r\n    base: allParts[2],\r\n    ext: allParts[3],\r\n    name: allParts[2].slice(0, allParts[2].length - allParts[3].length)\r\n  };\r\n};\r\n\r\n\r\nposix.sep = '/';\r\nposix.delimiter = ':';\r\n\r\n\r\nif (isWindows)\r\n  module.exports = win32;\r\nelse /* posix */\r\n  module.exports = posix;\r\n\r\nmodule.exports.posix = posix;\r\nmodule.exports.win32 = win32;\r\n","'use strict';\n\n/* !\n * Chai - pathval utility\n * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>\n * @see https://github.com/logicalparadox/filtr\n * MIT Licensed\n */\n\n/**\n * ### .hasProperty(object, name)\n *\n * This allows checking whether an object has own\n * or inherited from prototype chain named property.\n *\n * Basically does the same thing as the `in`\n * operator but works properly with null/undefined values\n * and other primitives.\n *\n *     var obj = {\n *         arr: ['a', 'b', 'c']\n *       , str: 'Hello'\n *     }\n *\n * The following would be the results.\n *\n *     hasProperty(obj, 'str');  // true\n *     hasProperty(obj, 'constructor');  // true\n *     hasProperty(obj, 'bar');  // false\n *\n *     hasProperty(obj.str, 'length'); // true\n *     hasProperty(obj.str, 1);  // true\n *     hasProperty(obj.str, 5);  // false\n *\n *     hasProperty(obj.arr, 'length');  // true\n *     hasProperty(obj.arr, 2);  // true\n *     hasProperty(obj.arr, 3);  // false\n *\n * @param {Object} object\n * @param {String|Symbol} name\n * @returns {Boolean} whether it exists\n * @namespace Utils\n * @name hasProperty\n * @api public\n */\n\nfunction hasProperty(obj, name) {\n  if (typeof obj === 'undefined' || obj === null) {\n    return false;\n  }\n\n  // The `in` operator does not work with primitives.\n  return name in Object(obj);\n}\n\n/* !\n * ## parsePath(path)\n *\n * Helper function used to parse string object\n * paths. Use in conjunction with `internalGetPathValue`.\n *\n *      var parsed = parsePath('myobject.property.subprop');\n *\n * ### Paths:\n *\n * * Can be infinitely deep and nested.\n * * Arrays are also valid using the formal `myobject.document[3].property`.\n * * Literal dots and brackets (not delimiter) must be backslash-escaped.\n *\n * @param {String} path\n * @returns {Object} parsed\n * @api private\n */\n\nfunction parsePath(path) {\n  var str = path.replace(/([^\\\\])\\[/g, '$1.[');\n  var parts = str.match(/(\\\\\\.|[^.]+?)+/g);\n  return parts.map(function mapMatches(value) {\n    if (\n      value === 'constructor' ||\n      value === '__proto__' ||\n      value === 'prototype'\n    ) {\n      return {};\n    }\n    var regexp = /^\\[(\\d+)\\]$/;\n    var mArr = regexp.exec(value);\n    var parsed = null;\n    if (mArr) {\n      parsed = { i: parseFloat(mArr[1]) };\n    } else {\n      parsed = { p: value.replace(/\\\\([.[\\]])/g, '$1') };\n    }\n\n    return parsed;\n  });\n}\n\n/* !\n * ## internalGetPathValue(obj, parsed[, pathDepth])\n *\n * Helper companion function for `.parsePath` that returns\n * the value located at the parsed address.\n *\n *      var value = getPathValue(obj, parsed);\n *\n * @param {Object} object to search against\n * @param {Object} parsed definition from `parsePath`.\n * @param {Number} depth (nesting level) of the property we want to retrieve\n * @returns {Object|Undefined} value\n * @api private\n */\n\nfunction internalGetPathValue(obj, parsed, pathDepth) {\n  var temporaryValue = obj;\n  var res = null;\n  pathDepth = typeof pathDepth === 'undefined' ? parsed.length : pathDepth;\n\n  for (var i = 0; i < pathDepth; i++) {\n    var part = parsed[i];\n    if (temporaryValue) {\n      if (typeof part.p === 'undefined') {\n        temporaryValue = temporaryValue[part.i];\n      } else {\n        temporaryValue = temporaryValue[part.p];\n      }\n\n      if (i === pathDepth - 1) {\n        res = temporaryValue;\n      }\n    }\n  }\n\n  return res;\n}\n\n/* !\n * ## internalSetPathValue(obj, value, parsed)\n *\n * Companion function for `parsePath` that sets\n * the value located at a parsed address.\n *\n *  internalSetPathValue(obj, 'value', parsed);\n *\n * @param {Object} object to search and define on\n * @param {*} value to use upon set\n * @param {Object} parsed definition from `parsePath`\n * @api private\n */\n\nfunction internalSetPathValue(obj, val, parsed) {\n  var tempObj = obj;\n  var pathDepth = parsed.length;\n  var part = null;\n  // Here we iterate through every part of the path\n  for (var i = 0; i < pathDepth; i++) {\n    var propName = null;\n    var propVal = null;\n    part = parsed[i];\n\n    // If it's the last part of the path, we set the 'propName' value with the property name\n    if (i === pathDepth - 1) {\n      propName = typeof part.p === 'undefined' ? part.i : part.p;\n      // Now we set the property with the name held by 'propName' on object with the desired val\n      tempObj[propName] = val;\n    } else if (typeof part.p !== 'undefined' && tempObj[part.p]) {\n      tempObj = tempObj[part.p];\n    } else if (typeof part.i !== 'undefined' && tempObj[part.i]) {\n      tempObj = tempObj[part.i];\n    } else {\n      // If the obj doesn't have the property we create one with that name to define it\n      var next = parsed[i + 1];\n      // Here we set the name of the property which will be defined\n      propName = typeof part.p === 'undefined' ? part.i : part.p;\n      // Here we decide if this property will be an array or a new object\n      propVal = typeof next.p === 'undefined' ? [] : {};\n      tempObj[propName] = propVal;\n      tempObj = tempObj[propName];\n    }\n  }\n}\n\n/**\n * ### .getPathInfo(object, path)\n *\n * This allows the retrieval of property info in an\n * object given a string path.\n *\n * The path info consists of an object with the\n * following properties:\n *\n * * parent - The parent object of the property referenced by `path`\n * * name - The name of the final property, a number if it was an array indexer\n * * value - The value of the property, if it exists, otherwise `undefined`\n * * exists - Whether the property exists or not\n *\n * @param {Object} object\n * @param {String} path\n * @returns {Object} info\n * @namespace Utils\n * @name getPathInfo\n * @api public\n */\n\nfunction getPathInfo(obj, path) {\n  var parsed = parsePath(path);\n  var last = parsed[parsed.length - 1];\n  var info = {\n    parent:\n      parsed.length > 1 ?\n        internalGetPathValue(obj, parsed, parsed.length - 1) :\n        obj,\n    name: last.p || last.i,\n    value: internalGetPathValue(obj, parsed),\n  };\n  info.exists = hasProperty(info.parent, info.name);\n\n  return info;\n}\n\n/**\n * ### .getPathValue(object, path)\n *\n * This allows the retrieval of values in an\n * object given a string path.\n *\n *     var obj = {\n *         prop1: {\n *             arr: ['a', 'b', 'c']\n *           , str: 'Hello'\n *         }\n *       , prop2: {\n *             arr: [ { nested: 'Universe' } ]\n *           , str: 'Hello again!'\n *         }\n *     }\n *\n * The following would be the results.\n *\n *     getPathValue(obj, 'prop1.str'); // Hello\n *     getPathValue(obj, 'prop1.att[2]'); // b\n *     getPathValue(obj, 'prop2.arr[0].nested'); // Universe\n *\n * @param {Object} object\n * @param {String} path\n * @returns {Object} value or `undefined`\n * @namespace Utils\n * @name getPathValue\n * @api public\n */\n\nfunction getPathValue(obj, path) {\n  var info = getPathInfo(obj, path);\n  return info.value;\n}\n\n/**\n * ### .setPathValue(object, path, value)\n *\n * Define the value in an object at a given string path.\n *\n * ```js\n * var obj = {\n *     prop1: {\n *         arr: ['a', 'b', 'c']\n *       , str: 'Hello'\n *     }\n *   , prop2: {\n *         arr: [ { nested: 'Universe' } ]\n *       , str: 'Hello again!'\n *     }\n * };\n * ```\n *\n * The following would be acceptable.\n *\n * ```js\n * var properties = require('tea-properties');\n * properties.set(obj, 'prop1.str', 'Hello Universe!');\n * properties.set(obj, 'prop1.arr[2]', 'B');\n * properties.set(obj, 'prop2.arr[0].nested.value', { hello: 'universe' });\n * ```\n *\n * @param {Object} object\n * @param {String} path\n * @param {Mixed} value\n * @api private\n */\n\nfunction setPathValue(obj, path, val) {\n  var parsed = parsePath(path);\n  internalSetPathValue(obj, val, parsed);\n  return obj;\n}\n\nmodule.exports = {\n  hasProperty: hasProperty,\n  getPathInfo: getPathInfo,\n  getPathValue: getPathValue,\n  setPathValue: setPathValue,\n};\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = [\n\t'Float16Array',\n\t'Float32Array',\n\t'Float64Array',\n\t'Int8Array',\n\t'Int16Array',\n\t'Int32Array',\n\t'Uint8Array',\n\t'Uint8ClampedArray',\n\t'Uint16Array',\n\t'Uint32Array',\n\t'BigInt64Array',\n\t'BigUint64Array'\n];\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n  function shim(props, propName, componentName, location, propFullName, secret) {\n    if (secret === ReactPropTypesSecret) {\n      // It is still safe when called from React.\n      return;\n    }\n    var err = new Error(\n      'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n      'Use PropTypes.checkPropTypes() to call them. ' +\n      'Read more at http://fb.me/use-check-prop-types'\n    );\n    err.name = 'Invariant Violation';\n    throw err;\n  };\n  shim.isRequired = shim;\n  function getShim() {\n    return shim;\n  };\n  // Important!\n  // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n  var ReactPropTypes = {\n    array: shim,\n    bool: shim,\n    func: shim,\n    number: shim,\n    object: shim,\n    string: shim,\n    symbol: shim,\n\n    any: shim,\n    arrayOf: getShim,\n    element: shim,\n    elementType: shim,\n    instanceOf: getShim,\n    node: shim,\n    objectOf: getShim,\n    oneOf: getShim,\n    oneOfType: getShim,\n    shape: getShim,\n    exact: getShim,\n\n    checkPropTypes: emptyFunctionWithReset,\n    resetWarningCache: emptyFunction\n  };\n\n  ReactPropTypes.PropTypes = ReactPropTypes;\n\n  return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n  var ReactIs = require('react-is');\n\n  // By explicitly using `prop-types` you are opting into new development behavior.\n  // http://fb.me/prop-types-in-prod\n  var throwOnDirectAccess = true;\n  module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n  // By explicitly using `prop-types` you are opting into new production behavior.\n  // http://fb.me/prop-types-in-prod\n  module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","'use strict';\n\n/** Highest positive signed 32-bit float value */\nconst maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\n\n/** Bootstring parameters */\nconst base = 36;\nconst tMin = 1;\nconst tMax = 26;\nconst skew = 38;\nconst damp = 700;\nconst initialBias = 72;\nconst initialN = 128; // 0x80\nconst delimiter = '-'; // '\\x2D'\n\n/** Regular expressions */\nconst regexPunycode = /^xn--/;\nconst regexNonASCII = /[^\\0-\\x7F]/; // Note: U+007F DEL is excluded too.\nconst regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\n\n/** Error messages */\nconst errors = {\n\t'overflow': 'Overflow: input needs wider integers to process',\n\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t'invalid-input': 'Invalid input'\n};\n\n/** Convenience shortcuts */\nconst baseMinusTMin = base - tMin;\nconst floor = Math.floor;\nconst stringFromCharCode = String.fromCharCode;\n\n/*--------------------------------------------------------------------------*/\n\n/**\n * A generic error utility function.\n * @private\n * @param {String} type The error type.\n * @returns {Error} Throws a `RangeError` with the applicable error message.\n */\nfunction error(type) {\n\tthrow new RangeError(errors[type]);\n}\n\n/**\n * A generic `Array#map` utility function.\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} callback The function that gets called for every array\n * item.\n * @returns {Array} A new array of values returned by the callback function.\n */\nfunction map(array, callback) {\n\tconst result = [];\n\tlet length = array.length;\n\twhile (length--) {\n\t\tresult[length] = callback(array[length]);\n\t}\n\treturn result;\n}\n\n/**\n * A simple `Array#map`-like wrapper to work with domain name strings or email\n * addresses.\n * @private\n * @param {String} domain The domain name or email address.\n * @param {Function} callback The function that gets called for every\n * character.\n * @returns {String} A new string of characters returned by the callback\n * function.\n */\nfunction mapDomain(domain, callback) {\n\tconst parts = domain.split('@');\n\tlet result = '';\n\tif (parts.length > 1) {\n\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t// the local part (i.e. everything up to `@`) intact.\n\t\tresult = parts[0] + '@';\n\t\tdomain = parts[1];\n\t}\n\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\tdomain = domain.replace(regexSeparators, '\\x2E');\n\tconst labels = domain.split('.');\n\tconst encoded = map(labels, callback).join('.');\n\treturn result + encoded;\n}\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n * @see `punycode.ucs2.encode`\n * @see <https://mathiasbynens.be/notes/javascript-encoding>\n * @memberOf punycode.ucs2\n * @name decode\n * @param {String} string The Unicode input string (UCS-2).\n * @returns {Array} The new array of code points.\n */\nfunction ucs2decode(string) {\n\tconst output = [];\n\tlet counter = 0;\n\tconst length = string.length;\n\twhile (counter < length) {\n\t\tconst value = string.charCodeAt(counter++);\n\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t// It's a high surrogate, and there is a next character.\n\t\t\tconst extra = string.charCodeAt(counter++);\n\t\t\tif ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t} else {\n\t\t\t\t// It's an unmatched surrogate; only append this code unit, in case the\n\t\t\t\t// next code unit is the high surrogate of a surrogate pair.\n\t\t\t\toutput.push(value);\n\t\t\t\tcounter--;\n\t\t\t}\n\t\t} else {\n\t\t\toutput.push(value);\n\t\t}\n\t}\n\treturn output;\n}\n\n/**\n * Creates a string based on an array of numeric code points.\n * @see `punycode.ucs2.decode`\n * @memberOf punycode.ucs2\n * @name encode\n * @param {Array} codePoints The array of numeric code points.\n * @returns {String} The new Unicode string (UCS-2).\n */\nconst ucs2encode = codePoints => String.fromCodePoint(...codePoints);\n\n/**\n * Converts a basic code point into a digit/integer.\n * @see `digitToBasic()`\n * @private\n * @param {Number} codePoint The basic numeric code point value.\n * @returns {Number} The numeric value of a basic code point (for use in\n * representing integers) in the range `0` to `base - 1`, or `base` if\n * the code point does not represent a value.\n */\nconst basicToDigit = function(codePoint) {\n\tif (codePoint >= 0x30 && codePoint < 0x3A) {\n\t\treturn 26 + (codePoint - 0x30);\n\t}\n\tif (codePoint >= 0x41 && codePoint < 0x5B) {\n\t\treturn codePoint - 0x41;\n\t}\n\tif (codePoint >= 0x61 && codePoint < 0x7B) {\n\t\treturn codePoint - 0x61;\n\t}\n\treturn base;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n * @see `basicToDigit()`\n * @private\n * @param {Number} digit The numeric value of a basic code point.\n * @returns {Number} The basic code point whose value (when used for\n * representing integers) is `digit`, which needs to be in the range\n * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n * used; else, the lowercase form is used. The behavior is undefined\n * if `flag` is non-zero and `digit` has no uppercase form.\n */\nconst digitToBasic = function(digit, flag) {\n\t//  0..25 map to ASCII a..z or A..Z\n\t// 26..35 map to ASCII 0..9\n\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n * @private\n */\nconst adapt = function(delta, numPoints, firstTime) {\n\tlet k = 0;\n\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\tdelta += floor(delta / numPoints);\n\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\tdelta = floor(delta / baseMinusTMin);\n\t}\n\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n * symbols.\n * @memberOf punycode\n * @param {String} input The Punycode string of ASCII-only symbols.\n * @returns {String} The resulting string of Unicode symbols.\n */\nconst decode = function(input) {\n\t// Don't use UCS-2.\n\tconst output = [];\n\tconst inputLength = input.length;\n\tlet i = 0;\n\tlet n = initialN;\n\tlet bias = initialBias;\n\n\t// Handle the basic code points: let `basic` be the number of input code\n\t// points before the last delimiter, or `0` if there is none, then copy\n\t// the first basic code points to the output.\n\n\tlet basic = input.lastIndexOf(delimiter);\n\tif (basic < 0) {\n\t\tbasic = 0;\n\t}\n\n\tfor (let j = 0; j < basic; ++j) {\n\t\t// if it's not a basic code point\n\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\terror('not-basic');\n\t\t}\n\t\toutput.push(input.charCodeAt(j));\n\t}\n\n\t// Main decoding loop: start just after the last delimiter if any basic code\n\t// points were copied; start at the beginning otherwise.\n\n\tfor (let index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t// `index` is the index of the next character to be consumed.\n\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t// which gets added to `i`. The overflow checking is easier\n\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t// value at the end to obtain `delta`.\n\t\tconst oldi = i;\n\t\tfor (let w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\tif (index >= inputLength) {\n\t\t\t\terror('invalid-input');\n\t\t\t}\n\n\t\t\tconst digit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\tif (digit >= base) {\n\t\t\t\terror('invalid-input');\n\t\t\t}\n\t\t\tif (digit > floor((maxInt - i) / w)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\ti += digit * w;\n\t\t\tconst t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\tif (digit < t) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tconst baseMinusT = base - t;\n\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tw *= baseMinusT;\n\n\t\t}\n\n\t\tconst out = output.length + 1;\n\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t// incrementing `n` each time, so we'll fix that now:\n\t\tif (floor(i / out) > maxInt - n) {\n\t\t\terror('overflow');\n\t\t}\n\n\t\tn += floor(i / out);\n\t\ti %= out;\n\n\t\t// Insert `n` at position `i` of the output.\n\t\toutput.splice(i++, 0, n);\n\n\t}\n\n\treturn String.fromCodePoint(...output);\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n * @memberOf punycode\n * @param {String} input The string of Unicode symbols.\n * @returns {String} The resulting Punycode string of ASCII-only symbols.\n */\nconst encode = function(input) {\n\tconst output = [];\n\n\t// Convert the input in UCS-2 to an array of Unicode code points.\n\tinput = ucs2decode(input);\n\n\t// Cache the length.\n\tconst inputLength = input.length;\n\n\t// Initialize the state.\n\tlet n = initialN;\n\tlet delta = 0;\n\tlet bias = initialBias;\n\n\t// Handle the basic code points.\n\tfor (const currentValue of input) {\n\t\tif (currentValue < 0x80) {\n\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t}\n\t}\n\n\tconst basicLength = output.length;\n\tlet handledCPCount = basicLength;\n\n\t// `handledCPCount` is the number of code points that have been handled;\n\t// `basicLength` is the number of basic code points.\n\n\t// Finish the basic string with a delimiter unless it's empty.\n\tif (basicLength) {\n\t\toutput.push(delimiter);\n\t}\n\n\t// Main encoding loop:\n\twhile (handledCPCount < inputLength) {\n\n\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t// larger one:\n\t\tlet m = maxInt;\n\t\tfor (const currentValue of input) {\n\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\tm = currentValue;\n\t\t\t}\n\t\t}\n\n\t\t// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,\n\t\t// but guard against overflow.\n\t\tconst handledCPCountPlusOne = handledCPCount + 1;\n\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\terror('overflow');\n\t\t}\n\n\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\tn = m;\n\n\t\tfor (const currentValue of input) {\n\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\t\t\tif (currentValue === n) {\n\t\t\t\t// Represent delta as a generalized variable-length integer.\n\t\t\t\tlet q = delta;\n\t\t\t\tfor (let k = base; /* no condition */; k += base) {\n\t\t\t\t\tconst t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tconst qMinusT = q - t;\n\t\t\t\t\tconst baseMinusT = base - t;\n\t\t\t\t\toutput.push(\n\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t);\n\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t}\n\n\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength);\n\t\t\t\tdelta = 0;\n\t\t\t\t++handledCPCount;\n\t\t\t}\n\t\t}\n\n\t\t++delta;\n\t\t++n;\n\n\t}\n\treturn output.join('');\n};\n\n/**\n * Converts a Punycode string representing a domain name or an email address\n * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n * it doesn't matter if you call it on a string that has already been\n * converted to Unicode.\n * @memberOf punycode\n * @param {String} input The Punycoded domain name or email address to\n * convert to Unicode.\n * @returns {String} The Unicode representation of the given Punycode\n * string.\n */\nconst toUnicode = function(input) {\n\treturn mapDomain(input, function(string) {\n\t\treturn regexPunycode.test(string)\n\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t: string;\n\t});\n};\n\n/**\n * Converts a Unicode string representing a domain name or an email address to\n * Punycode. Only the non-ASCII parts of the domain name will be converted,\n * i.e. it doesn't matter if you call it with a domain that's already in\n * ASCII.\n * @memberOf punycode\n * @param {String} input The domain name or email address to convert, as a\n * Unicode string.\n * @returns {String} The Punycode representation of the given domain name or\n * email address.\n */\nconst toASCII = function(input) {\n\treturn mapDomain(input, function(string) {\n\t\treturn regexNonASCII.test(string)\n\t\t\t? 'xn--' + encode(string)\n\t\t\t: string;\n\t});\n};\n\n/*--------------------------------------------------------------------------*/\n\n/** Define the public API */\nconst punycode = {\n\t/**\n\t * A string representing the current Punycode.js version number.\n\t * @memberOf punycode\n\t * @type String\n\t */\n\t'version': '2.3.1',\n\t/**\n\t * An object of methods to convert from JavaScript's internal character\n\t * representation (UCS-2) to Unicode code points, and back.\n\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t * @memberOf punycode\n\t * @type Object\n\t */\n\t'ucs2': {\n\t\t'decode': ucs2decode,\n\t\t'encode': ucs2encode\n\t},\n\t'decode': decode,\n\t'encode': encode,\n\t'toASCII': toASCII,\n\t'toUnicode': toUnicode\n};\n\nexport { ucs2decode, ucs2encode, decode, encode, toASCII, toUnicode };\nexport default punycode;\n","'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nvar Format = {\n    RFC1738: 'RFC1738',\n    RFC3986: 'RFC3986'\n};\n\nmodule.exports = {\n    'default': Format.RFC3986,\n    formatters: {\n        RFC1738: function (value) {\n            return replace.call(value, percentTwenties, '+');\n        },\n        RFC3986: function (value) {\n            return String(value);\n        }\n    },\n    RFC1738: Format.RFC1738,\n    RFC3986: Format.RFC3986\n};\n","'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n    formats: formats,\n    parse: parse,\n    stringify: stringify\n};\n","'use strict';\n\nvar utils = require('./utils');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar defaults = {\n    allowDots: false,\n    allowEmptyArrays: false,\n    allowPrototypes: false,\n    allowSparse: false,\n    arrayLimit: 20,\n    charset: 'utf-8',\n    charsetSentinel: false,\n    comma: false,\n    decodeDotInKeys: false,\n    decoder: utils.decode,\n    delimiter: '&',\n    depth: 5,\n    duplicates: 'combine',\n    ignoreQueryPrefix: false,\n    interpretNumericEntities: false,\n    parameterLimit: 1000,\n    parseArrays: true,\n    plainObjects: false,\n    strictDepth: false,\n    strictMerge: true,\n    strictNullHandling: false,\n    throwOnLimitExceeded: false\n};\n\nvar interpretNumericEntities = function (str) {\n    return str.replace(/&#(\\d+);/g, function ($0, numberStr) {\n        return String.fromCharCode(parseInt(numberStr, 10));\n    });\n};\n\nvar parseArrayValue = function (val, options, currentArrayLength) {\n    if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {\n        return val.split(',');\n    }\n\n    if (options.throwOnLimitExceeded && currentArrayLength >= options.arrayLimit) {\n        throw new RangeError('Array limit exceeded. Only ' + options.arrayLimit + ' element' + (options.arrayLimit === 1 ? '' : 's') + ' allowed in an array.');\n    }\n\n    return val;\n};\n\n// This is what browsers will submit when the ✓ character occurs in an\n// application/x-www-form-urlencoded body and the encoding of the page containing\n// the form is iso-8859-1, or when the submitted form has an accept-charset\n// attribute of iso-8859-1. Presumably also with other charsets that do not contain\n// the ✓ character, such as us-ascii.\nvar isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('&#10003;')\n\n// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.\nvar charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')\n\nvar parseValues = function parseQueryStringValues(str, options) {\n    var obj = { __proto__: null };\n\n    var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n    cleanStr = cleanStr.replace(/%5B/gi, '[').replace(/%5D/gi, ']');\n\n    var limit = options.parameterLimit === Infinity ? void undefined : options.parameterLimit;\n    var parts = cleanStr.split(\n        options.delimiter,\n        options.throwOnLimitExceeded && typeof limit !== 'undefined' ? limit + 1 : limit\n    );\n\n    if (options.throwOnLimitExceeded && typeof limit !== 'undefined' && parts.length > limit) {\n        throw new RangeError('Parameter limit exceeded. Only ' + limit + ' parameter' + (limit === 1 ? '' : 's') + ' allowed.');\n    }\n\n    var skipIndex = -1; // Keep track of where the utf8 sentinel was found\n    var i;\n\n    var charset = options.charset;\n    if (options.charsetSentinel) {\n        for (i = 0; i < parts.length; ++i) {\n            if (parts[i].indexOf('utf8=') === 0) {\n                if (parts[i] === charsetSentinel) {\n                    charset = 'utf-8';\n                } else if (parts[i] === isoSentinel) {\n                    charset = 'iso-8859-1';\n                }\n                skipIndex = i;\n                i = parts.length; // The eslint settings do not allow break;\n            }\n        }\n    }\n\n    for (i = 0; i < parts.length; ++i) {\n        if (i === skipIndex) {\n            continue;\n        }\n        var part = parts[i];\n\n        var bracketEqualsPos = part.indexOf(']=');\n        var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n        var key;\n        var val;\n        if (pos === -1) {\n            key = options.decoder(part, defaults.decoder, charset, 'key');\n            val = options.strictNullHandling ? null : '';\n        } else {\n            key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');\n\n            if (key !== null) {\n                val = utils.maybeMap(\n                    parseArrayValue(\n                        part.slice(pos + 1),\n                        options,\n                        isArray(obj[key]) ? obj[key].length : 0\n                    ),\n                    function (encodedVal) {\n                        return options.decoder(encodedVal, defaults.decoder, charset, 'value');\n                    }\n                );\n            }\n        }\n\n        if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {\n            val = interpretNumericEntities(String(val));\n        }\n\n        if (part.indexOf('[]=') > -1) {\n            val = isArray(val) ? [val] : val;\n        }\n\n        if (options.comma && isArray(val) && val.length > options.arrayLimit) {\n            if (options.throwOnLimitExceeded) {\n                throw new RangeError('Array limit exceeded. Only ' + options.arrayLimit + ' element' + (options.arrayLimit === 1 ? '' : 's') + ' allowed in an array.');\n            }\n            val = utils.combine([], val, options.arrayLimit, options.plainObjects);\n        }\n\n        if (key !== null) {\n            var existing = has.call(obj, key);\n            if (existing && (options.duplicates === 'combine' || part.indexOf('[]=') > -1)) {\n                obj[key] = utils.combine(\n                    obj[key],\n                    val,\n                    options.arrayLimit,\n                    options.plainObjects\n                );\n            } else if (!existing || options.duplicates === 'last') {\n                obj[key] = val;\n            }\n        }\n    }\n\n    return obj;\n};\n\nvar parseObject = function (chain, val, options, valuesParsed) {\n    var currentArrayLength = 0;\n    if (chain.length > 0 && chain[chain.length - 1] === '[]') {\n        var parentKey = chain.slice(0, -1).join('');\n        currentArrayLength = Array.isArray(val) && val[parentKey] ? val[parentKey].length : 0;\n    }\n\n    var leaf = valuesParsed ? val : parseArrayValue(val, options, currentArrayLength);\n\n    for (var i = chain.length - 1; i >= 0; --i) {\n        var obj;\n        var root = chain[i];\n\n        if (root === '[]' && options.parseArrays) {\n            if (utils.isOverflow(leaf)) {\n                // leaf is already an overflow object, preserve it\n                obj = leaf;\n            } else {\n                obj = options.allowEmptyArrays && (leaf === '' || (options.strictNullHandling && leaf === null))\n                    ? []\n                    : utils.combine(\n                        [],\n                        leaf,\n                        options.arrayLimit,\n                        options.plainObjects\n                    );\n            }\n        } else {\n            obj = options.plainObjects ? { __proto__: null } : {};\n            var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n            var decodedRoot = options.decodeDotInKeys ? cleanRoot.replace(/%2E/g, '.') : cleanRoot;\n            var index = parseInt(decodedRoot, 10);\n            var isValidArrayIndex = !isNaN(index)\n                && root !== decodedRoot\n                && String(index) === decodedRoot\n                && index >= 0\n                && options.parseArrays;\n            if (!options.parseArrays && decodedRoot === '') {\n                obj = { 0: leaf };\n            } else if (isValidArrayIndex && index < options.arrayLimit) {\n                obj = [];\n                obj[index] = leaf;\n            } else if (isValidArrayIndex && options.throwOnLimitExceeded) {\n                throw new RangeError('Array limit exceeded. Only ' + options.arrayLimit + ' element' + (options.arrayLimit === 1 ? '' : 's') + ' allowed in an array.');\n            } else if (isValidArrayIndex) {\n                obj[index] = leaf;\n                utils.markOverflow(obj, index);\n            } else if (decodedRoot !== '__proto__') {\n                obj[decodedRoot] = leaf;\n            }\n        }\n\n        leaf = obj;\n    }\n\n    return leaf;\n};\n\nvar splitKeyIntoSegments = function splitKeyIntoSegments(givenKey, options) {\n    var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n    if (options.depth <= 0) {\n        if (!options.plainObjects && has.call(Object.prototype, key)) {\n            if (!options.allowPrototypes) {\n                return;\n            }\n        }\n\n        return [key];\n    }\n\n    var brackets = /(\\[[^[\\]]*])/;\n    var child = /(\\[[^[\\]]*])/g;\n\n    var segment = brackets.exec(key);\n    var parent = segment ? key.slice(0, segment.index) : key;\n\n    var keys = [];\n\n    if (parent) {\n        if (!options.plainObjects && has.call(Object.prototype, parent)) {\n            if (!options.allowPrototypes) {\n                return;\n            }\n        }\n\n        keys[keys.length] = parent;\n    }\n\n    var i = 0;\n    while ((segment = child.exec(key)) !== null && i < options.depth) {\n        i += 1;\n\n        var segmentContent = segment[1].slice(1, -1);\n        if (!options.plainObjects && has.call(Object.prototype, segmentContent)) {\n            if (!options.allowPrototypes) {\n                return;\n            }\n        }\n\n        keys[keys.length] = segment[1];\n    }\n\n    if (segment) {\n        if (options.strictDepth === true) {\n            throw new RangeError('Input depth exceeded depth option of ' + options.depth + ' and strictDepth is true');\n        }\n\n        keys[keys.length] = '[' + key.slice(segment.index) + ']';\n    }\n\n    return keys;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {\n    if (!givenKey) {\n        return;\n    }\n\n    var keys = splitKeyIntoSegments(givenKey, options);\n\n    if (!keys) {\n        return;\n    }\n\n    return parseObject(keys, val, options, valuesParsed);\n};\n\nvar normalizeParseOptions = function normalizeParseOptions(opts) {\n    if (!opts) {\n        return defaults;\n    }\n\n    if (typeof opts.allowEmptyArrays !== 'undefined' && typeof opts.allowEmptyArrays !== 'boolean') {\n        throw new TypeError('`allowEmptyArrays` option can only be `true` or `false`, when provided');\n    }\n\n    if (typeof opts.decodeDotInKeys !== 'undefined' && typeof opts.decodeDotInKeys !== 'boolean') {\n        throw new TypeError('`decodeDotInKeys` option can only be `true` or `false`, when provided');\n    }\n\n    if (opts.decoder !== null && typeof opts.decoder !== 'undefined' && typeof opts.decoder !== 'function') {\n        throw new TypeError('Decoder has to be a function.');\n    }\n\n    if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n        throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n    }\n\n    if (typeof opts.throwOnLimitExceeded !== 'undefined' && typeof opts.throwOnLimitExceeded !== 'boolean') {\n        throw new TypeError('`throwOnLimitExceeded` option must be a boolean');\n    }\n\n    var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;\n\n    var duplicates = typeof opts.duplicates === 'undefined' ? defaults.duplicates : opts.duplicates;\n\n    if (duplicates !== 'combine' && duplicates !== 'first' && duplicates !== 'last') {\n        throw new TypeError('The duplicates option must be either combine, first, or last');\n    }\n\n    var allowDots = typeof opts.allowDots === 'undefined' ? opts.decodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots;\n\n    return {\n        allowDots: allowDots,\n        allowEmptyArrays: typeof opts.allowEmptyArrays === 'boolean' ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays,\n        allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,\n        allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,\n        arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,\n        charset: charset,\n        charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n        comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,\n        decodeDotInKeys: typeof opts.decodeDotInKeys === 'boolean' ? opts.decodeDotInKeys : defaults.decodeDotInKeys,\n        decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,\n        delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,\n        // eslint-disable-next-line no-implicit-coercion, no-extra-parens\n        depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,\n        duplicates: duplicates,\n        ignoreQueryPrefix: opts.ignoreQueryPrefix === true,\n        interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,\n        parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,\n        parseArrays: opts.parseArrays !== false,\n        plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,\n        strictDepth: typeof opts.strictDepth === 'boolean' ? !!opts.strictDepth : defaults.strictDepth,\n        strictMerge: typeof opts.strictMerge === 'boolean' ? !!opts.strictMerge : defaults.strictMerge,\n        strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling,\n        throwOnLimitExceeded: typeof opts.throwOnLimitExceeded === 'boolean' ? opts.throwOnLimitExceeded : false\n    };\n};\n\nmodule.exports = function (str, opts) {\n    var options = normalizeParseOptions(opts);\n\n    if (str === '' || str === null || typeof str === 'undefined') {\n        return options.plainObjects ? { __proto__: null } : {};\n    }\n\n    var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n    var obj = options.plainObjects ? { __proto__: null } : {};\n\n    // Iterate over the keys and setup the new object\n\n    var keys = Object.keys(tempObj);\n    for (var i = 0; i < keys.length; ++i) {\n        var key = keys[i];\n        var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');\n        obj = utils.merge(obj, newObj, options);\n    }\n\n    if (options.allowSparse === true) {\n        return obj;\n    }\n\n    return utils.compact(obj);\n};\n","'use strict';\n\nvar getSideChannel = require('side-channel');\nvar utils = require('./utils');\nvar formats = require('./formats');\nvar has = Object.prototype.hasOwnProperty;\n\nvar arrayPrefixGenerators = {\n    brackets: function brackets(prefix) {\n        return prefix + '[]';\n    },\n    comma: 'comma',\n    indices: function indices(prefix, key) {\n        return prefix + '[' + key + ']';\n    },\n    repeat: function repeat(prefix) {\n        return prefix;\n    }\n};\n\nvar isArray = Array.isArray;\nvar push = Array.prototype.push;\nvar pushToArray = function (arr, valueOrArray) {\n    push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaultFormat = formats['default'];\nvar defaults = {\n    addQueryPrefix: false,\n    allowDots: false,\n    allowEmptyArrays: false,\n    arrayFormat: 'indices',\n    charset: 'utf-8',\n    charsetSentinel: false,\n    commaRoundTrip: false,\n    delimiter: '&',\n    encode: true,\n    encodeDotInKeys: false,\n    encoder: utils.encode,\n    encodeValuesOnly: false,\n    filter: void undefined,\n    format: defaultFormat,\n    formatter: formats.formatters[defaultFormat],\n    // deprecated\n    indices: false,\n    serializeDate: function serializeDate(date) {\n        return toISO.call(date);\n    },\n    skipNulls: false,\n    strictNullHandling: false\n};\n\nvar isNonNullishPrimitive = function isNonNullishPrimitive(v) {\n    return typeof v === 'string'\n        || typeof v === 'number'\n        || typeof v === 'boolean'\n        || typeof v === 'symbol'\n        || typeof v === 'bigint';\n};\n\nvar sentinel = {};\n\nvar stringify = function stringify(\n    object,\n    prefix,\n    generateArrayPrefix,\n    commaRoundTrip,\n    allowEmptyArrays,\n    strictNullHandling,\n    skipNulls,\n    encodeDotInKeys,\n    encoder,\n    filter,\n    sort,\n    allowDots,\n    serializeDate,\n    format,\n    formatter,\n    encodeValuesOnly,\n    charset,\n    sideChannel\n) {\n    var obj = object;\n\n    var tmpSc = sideChannel;\n    var step = 0;\n    var findFlag = false;\n    while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) {\n        // Where object last appeared in the ref tree\n        var pos = tmpSc.get(object);\n        step += 1;\n        if (typeof pos !== 'undefined') {\n            if (pos === step) {\n                throw new RangeError('Cyclic object value');\n            } else {\n                findFlag = true; // Break while\n            }\n        }\n        if (typeof tmpSc.get(sentinel) === 'undefined') {\n            step = 0;\n        }\n    }\n\n    if (typeof filter === 'function') {\n        obj = filter(prefix, obj);\n    } else if (obj instanceof Date) {\n        obj = serializeDate(obj);\n    } else if (generateArrayPrefix === 'comma' && isArray(obj)) {\n        obj = utils.maybeMap(obj, function (value) {\n            if (value instanceof Date) {\n                return serializeDate(value);\n            }\n            return value;\n        });\n    }\n\n    if (obj === null) {\n        if (strictNullHandling) {\n            return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;\n        }\n\n        obj = '';\n    }\n\n    if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {\n        if (encoder) {\n            var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);\n            return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];\n        }\n        return [formatter(prefix) + '=' + formatter(String(obj))];\n    }\n\n    var values = [];\n\n    if (typeof obj === 'undefined') {\n        return values;\n    }\n\n    var objKeys;\n    if (generateArrayPrefix === 'comma' && isArray(obj)) {\n        // we need to join elements in\n        if (encodeValuesOnly && encoder) {\n            obj = utils.maybeMap(obj, encoder);\n        }\n        objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }];\n    } else if (isArray(filter)) {\n        objKeys = filter;\n    } else {\n        var keys = Object.keys(obj);\n        objKeys = sort ? keys.sort(sort) : keys;\n    }\n\n    var encodedPrefix = encodeDotInKeys ? String(prefix).replace(/\\./g, '%2E') : String(prefix);\n\n    var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? encodedPrefix + '[]' : encodedPrefix;\n\n    if (allowEmptyArrays && isArray(obj) && obj.length === 0) {\n        return adjustedPrefix + '[]';\n    }\n\n    for (var j = 0; j < objKeys.length; ++j) {\n        var key = objKeys[j];\n        var value = typeof key === 'object' && key && typeof key.value !== 'undefined'\n            ? key.value\n            : obj[key];\n\n        if (skipNulls && value === null) {\n            continue;\n        }\n\n        var encodedKey = allowDots && encodeDotInKeys ? String(key).replace(/\\./g, '%2E') : String(key);\n        var keyPrefix = isArray(obj)\n            ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(adjustedPrefix, encodedKey) : adjustedPrefix\n            : adjustedPrefix + (allowDots ? '.' + encodedKey : '[' + encodedKey + ']');\n\n        sideChannel.set(object, step);\n        var valueSideChannel = getSideChannel();\n        valueSideChannel.set(sentinel, sideChannel);\n        pushToArray(values, stringify(\n            value,\n            keyPrefix,\n            generateArrayPrefix,\n            commaRoundTrip,\n            allowEmptyArrays,\n            strictNullHandling,\n            skipNulls,\n            encodeDotInKeys,\n            generateArrayPrefix === 'comma' && encodeValuesOnly && isArray(obj) ? null : encoder,\n            filter,\n            sort,\n            allowDots,\n            serializeDate,\n            format,\n            formatter,\n            encodeValuesOnly,\n            charset,\n            valueSideChannel\n        ));\n    }\n\n    return values;\n};\n\nvar normalizeStringifyOptions = function normalizeStringifyOptions(opts) {\n    if (!opts) {\n        return defaults;\n    }\n\n    if (typeof opts.allowEmptyArrays !== 'undefined' && typeof opts.allowEmptyArrays !== 'boolean') {\n        throw new TypeError('`allowEmptyArrays` option can only be `true` or `false`, when provided');\n    }\n\n    if (typeof opts.encodeDotInKeys !== 'undefined' && typeof opts.encodeDotInKeys !== 'boolean') {\n        throw new TypeError('`encodeDotInKeys` option can only be `true` or `false`, when provided');\n    }\n\n    if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') {\n        throw new TypeError('Encoder has to be a function.');\n    }\n\n    var charset = opts.charset || defaults.charset;\n    if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n        throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n    }\n\n    var format = formats['default'];\n    if (typeof opts.format !== 'undefined') {\n        if (!has.call(formats.formatters, opts.format)) {\n            throw new TypeError('Unknown format option provided.');\n        }\n        format = opts.format;\n    }\n    var formatter = formats.formatters[format];\n\n    var filter = defaults.filter;\n    if (typeof opts.filter === 'function' || isArray(opts.filter)) {\n        filter = opts.filter;\n    }\n\n    var arrayFormat;\n    if (opts.arrayFormat in arrayPrefixGenerators) {\n        arrayFormat = opts.arrayFormat;\n    } else if ('indices' in opts) {\n        arrayFormat = opts.indices ? 'indices' : 'repeat';\n    } else {\n        arrayFormat = defaults.arrayFormat;\n    }\n\n    if ('commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') {\n        throw new TypeError('`commaRoundTrip` must be a boolean, or absent');\n    }\n\n    var allowDots = typeof opts.allowDots === 'undefined' ? opts.encodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots;\n\n    return {\n        addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,\n        allowDots: allowDots,\n        allowEmptyArrays: typeof opts.allowEmptyArrays === 'boolean' ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays,\n        arrayFormat: arrayFormat,\n        charset: charset,\n        charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n        commaRoundTrip: !!opts.commaRoundTrip,\n        delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,\n        encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,\n        encodeDotInKeys: typeof opts.encodeDotInKeys === 'boolean' ? opts.encodeDotInKeys : defaults.encodeDotInKeys,\n        encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,\n        encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,\n        filter: filter,\n        format: format,\n        formatter: formatter,\n        serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,\n        skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,\n        sort: typeof opts.sort === 'function' ? opts.sort : null,\n        strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n    };\n};\n\nmodule.exports = function (object, opts) {\n    var obj = object;\n    var options = normalizeStringifyOptions(opts);\n\n    var objKeys;\n    var filter;\n\n    if (typeof options.filter === 'function') {\n        filter = options.filter;\n        obj = filter('', obj);\n    } else if (isArray(options.filter)) {\n        filter = options.filter;\n        objKeys = filter;\n    }\n\n    var keys = [];\n\n    if (typeof obj !== 'object' || obj === null) {\n        return '';\n    }\n\n    var generateArrayPrefix = arrayPrefixGenerators[options.arrayFormat];\n    var commaRoundTrip = generateArrayPrefix === 'comma' && options.commaRoundTrip;\n\n    if (!objKeys) {\n        objKeys = Object.keys(obj);\n    }\n\n    if (options.sort) {\n        objKeys.sort(options.sort);\n    }\n\n    var sideChannel = getSideChannel();\n    for (var i = 0; i < objKeys.length; ++i) {\n        var key = objKeys[i];\n        var value = obj[key];\n\n        if (options.skipNulls && value === null) {\n            continue;\n        }\n        pushToArray(keys, stringify(\n            value,\n            key,\n            generateArrayPrefix,\n            commaRoundTrip,\n            options.allowEmptyArrays,\n            options.strictNullHandling,\n            options.skipNulls,\n            options.encodeDotInKeys,\n            options.encode ? options.encoder : null,\n            options.filter,\n            options.sort,\n            options.allowDots,\n            options.serializeDate,\n            options.format,\n            options.formatter,\n            options.encodeValuesOnly,\n            options.charset,\n            sideChannel\n        ));\n    }\n\n    var joined = keys.join(options.delimiter);\n    var prefix = options.addQueryPrefix === true ? '?' : '';\n\n    if (options.charsetSentinel) {\n        if (options.charset === 'iso-8859-1') {\n            // encodeURIComponent('&#10003;'), the \"numeric entity\" representation of a checkmark\n            prefix += 'utf8=%26%2310003%3B&';\n        } else {\n            // encodeURIComponent('✓')\n            prefix += 'utf8=%E2%9C%93&';\n        }\n    }\n\n    return joined.length > 0 ? prefix + joined : '';\n};\n","'use strict';\n\nvar formats = require('./formats');\nvar getSideChannel = require('side-channel');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\n// Track objects created from arrayLimit overflow using side-channel\n// Stores the current max numeric index for O(1) lookup\nvar overflowChannel = getSideChannel();\n\nvar markOverflow = function markOverflow(obj, maxIndex) {\n    overflowChannel.set(obj, maxIndex);\n    return obj;\n};\n\nvar isOverflow = function isOverflow(obj) {\n    return overflowChannel.has(obj);\n};\n\nvar getMaxIndex = function getMaxIndex(obj) {\n    return overflowChannel.get(obj);\n};\n\nvar setMaxIndex = function setMaxIndex(obj, maxIndex) {\n    overflowChannel.set(obj, maxIndex);\n};\n\nvar hexTable = (function () {\n    var array = [];\n    for (var i = 0; i < 256; ++i) {\n        array[array.length] = '%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase();\n    }\n\n    return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n    while (queue.length > 1) {\n        var item = queue.pop();\n        var obj = item.obj[item.prop];\n\n        if (isArray(obj)) {\n            var compacted = [];\n\n            for (var j = 0; j < obj.length; ++j) {\n                if (typeof obj[j] !== 'undefined') {\n                    compacted[compacted.length] = obj[j];\n                }\n            }\n\n            item.obj[item.prop] = compacted;\n        }\n    }\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n    var obj = options && options.plainObjects ? { __proto__: null } : {};\n    for (var i = 0; i < source.length; ++i) {\n        if (typeof source[i] !== 'undefined') {\n            obj[i] = source[i];\n        }\n    }\n\n    return obj;\n};\n\nvar merge = function merge(target, source, options) {\n    /* eslint no-param-reassign: 0 */\n    if (!source) {\n        return target;\n    }\n\n    if (typeof source !== 'object' && typeof source !== 'function') {\n        if (isArray(target)) {\n            var nextIndex = target.length;\n            if (options && typeof options.arrayLimit === 'number' && nextIndex > options.arrayLimit) {\n                return markOverflow(arrayToObject(target.concat(source), options), nextIndex);\n            }\n            target[nextIndex] = source;\n        } else if (target && typeof target === 'object') {\n            if (isOverflow(target)) {\n                // Add at next numeric index for overflow objects\n                var newIndex = getMaxIndex(target) + 1;\n                target[newIndex] = source;\n                setMaxIndex(target, newIndex);\n            } else if (options && options.strictMerge) {\n                return [target, source];\n            } else if (\n                (options && (options.plainObjects || options.allowPrototypes))\n                || !has.call(Object.prototype, source)\n            ) {\n                target[source] = true;\n            }\n        } else {\n            return [target, source];\n        }\n\n        return target;\n    }\n\n    if (!target || typeof target !== 'object') {\n        if (isOverflow(source)) {\n            // Create new object with target at 0, source values shifted by 1\n            var sourceKeys = Object.keys(source);\n            var result = options && options.plainObjects\n                ? { __proto__: null, 0: target }\n                : { 0: target };\n            for (var m = 0; m < sourceKeys.length; m++) {\n                var oldKey = parseInt(sourceKeys[m], 10);\n                result[oldKey + 1] = source[sourceKeys[m]];\n            }\n            return markOverflow(result, getMaxIndex(source) + 1);\n        }\n        var combined = [target].concat(source);\n        if (options && typeof options.arrayLimit === 'number' && combined.length > options.arrayLimit) {\n            return markOverflow(arrayToObject(combined, options), combined.length - 1);\n        }\n        return combined;\n    }\n\n    var mergeTarget = target;\n    if (isArray(target) && !isArray(source)) {\n        mergeTarget = arrayToObject(target, options);\n    }\n\n    if (isArray(target) && isArray(source)) {\n        source.forEach(function (item, i) {\n            if (has.call(target, i)) {\n                var targetItem = target[i];\n                if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {\n                    target[i] = merge(targetItem, item, options);\n                } else {\n                    target[target.length] = item;\n                }\n            } else {\n                target[i] = item;\n            }\n        });\n        return target;\n    }\n\n    return Object.keys(source).reduce(function (acc, key) {\n        var value = source[key];\n\n        if (has.call(acc, key)) {\n            acc[key] = merge(acc[key], value, options);\n        } else {\n            acc[key] = value;\n        }\n\n        if (isOverflow(source) && !isOverflow(acc)) {\n            markOverflow(acc, getMaxIndex(source));\n        }\n        if (isOverflow(acc)) {\n            var keyNum = parseInt(key, 10);\n            if (String(keyNum) === key && keyNum >= 0 && keyNum > getMaxIndex(acc)) {\n                setMaxIndex(acc, keyNum);\n            }\n        }\n\n        return acc;\n    }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n    return Object.keys(source).reduce(function (acc, key) {\n        acc[key] = source[key];\n        return acc;\n    }, target);\n};\n\nvar decode = function (str, defaultDecoder, charset) {\n    var strWithoutPlus = str.replace(/\\+/g, ' ');\n    if (charset === 'iso-8859-1') {\n        // unescape never throws, no try...catch needed:\n        return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);\n    }\n    // utf-8\n    try {\n        return decodeURIComponent(strWithoutPlus);\n    } catch (e) {\n        return strWithoutPlus;\n    }\n};\n\nvar limit = 1024;\n\n/* eslint operator-linebreak: [2, \"before\"] */\n\nvar encode = function encode(str, defaultEncoder, charset, kind, format) {\n    // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n    // It has been adapted here for stricter adherence to RFC 3986\n    if (str.length === 0) {\n        return str;\n    }\n\n    var string = str;\n    if (typeof str === 'symbol') {\n        string = Symbol.prototype.toString.call(str);\n    } else if (typeof str !== 'string') {\n        string = String(str);\n    }\n\n    if (charset === 'iso-8859-1') {\n        return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {\n            return '%26%23' + parseInt($0.slice(2), 16) + '%3B';\n        });\n    }\n\n    var out = '';\n    for (var j = 0; j < string.length; j += limit) {\n        var segment = string.length >= limit ? string.slice(j, j + limit) : string;\n        var arr = [];\n\n        for (var i = 0; i < segment.length; ++i) {\n            var c = segment.charCodeAt(i);\n            if (\n                c === 0x2D // -\n                || c === 0x2E // .\n                || c === 0x5F // _\n                || c === 0x7E // ~\n                || (c >= 0x30 && c <= 0x39) // 0-9\n                || (c >= 0x41 && c <= 0x5A) // a-z\n                || (c >= 0x61 && c <= 0x7A) // A-Z\n                || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )\n            ) {\n                arr[arr.length] = segment.charAt(i);\n                continue;\n            }\n\n            if (c < 0x80) {\n                arr[arr.length] = hexTable[c];\n                continue;\n            }\n\n            if (c < 0x800) {\n                arr[arr.length] = hexTable[0xC0 | (c >> 6)]\n                    + hexTable[0x80 | (c & 0x3F)];\n                continue;\n            }\n\n            if (c < 0xD800 || c >= 0xE000) {\n                arr[arr.length] = hexTable[0xE0 | (c >> 12)]\n                    + hexTable[0x80 | ((c >> 6) & 0x3F)]\n                    + hexTable[0x80 | (c & 0x3F)];\n                continue;\n            }\n\n            i += 1;\n            c = 0x10000 + (((c & 0x3FF) << 10) | (segment.charCodeAt(i) & 0x3FF));\n\n            arr[arr.length] = hexTable[0xF0 | (c >> 18)]\n                + hexTable[0x80 | ((c >> 12) & 0x3F)]\n                + hexTable[0x80 | ((c >> 6) & 0x3F)]\n                + hexTable[0x80 | (c & 0x3F)];\n        }\n\n        out += arr.join('');\n    }\n\n    return out;\n};\n\nvar compact = function compact(value) {\n    var queue = [{ obj: { o: value }, prop: 'o' }];\n    var refs = [];\n\n    for (var i = 0; i < queue.length; ++i) {\n        var item = queue[i];\n        var obj = item.obj[item.prop];\n\n        var keys = Object.keys(obj);\n        for (var j = 0; j < keys.length; ++j) {\n            var key = keys[j];\n            var val = obj[key];\n            if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n                queue[queue.length] = { obj: obj, prop: key };\n                refs[refs.length] = val;\n            }\n        }\n    }\n\n    compactQueue(queue);\n\n    return value;\n};\n\nvar isRegExp = function isRegExp(obj) {\n    return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n    if (!obj || typeof obj !== 'object') {\n        return false;\n    }\n\n    return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nvar combine = function combine(a, b, arrayLimit, plainObjects) {\n    // If 'a' is already an overflow object, add to it\n    if (isOverflow(a)) {\n        var newIndex = getMaxIndex(a) + 1;\n        a[newIndex] = b;\n        setMaxIndex(a, newIndex);\n        return a;\n    }\n\n    var result = [].concat(a, b);\n    if (result.length > arrayLimit) {\n        return markOverflow(arrayToObject(result, { plainObjects: plainObjects }), result.length - 1);\n    }\n    return result;\n};\n\nvar maybeMap = function maybeMap(val, fn) {\n    if (isArray(val)) {\n        var mapped = [];\n        for (var i = 0; i < val.length; i += 1) {\n            mapped[mapped.length] = fn(val[i]);\n        }\n        return mapped;\n    }\n    return fn(val);\n};\n\nmodule.exports = {\n    arrayToObject: arrayToObject,\n    assign: assign,\n    combine: combine,\n    compact: compact,\n    decode: decode,\n    encode: encode,\n    isBuffer: isBuffer,\n    isOverflow: isOverflow,\n    isRegExp: isRegExp,\n    markOverflow: markOverflow,\n    maybeMap: maybeMap,\n    merge: merge\n};\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n  , undef;\n\n/**\n * Decode a URI encoded string.\n *\n * @param {String} input The URI encoded string.\n * @returns {String|Null} The decoded string.\n * @api private\n */\nfunction decode(input) {\n  try {\n    return decodeURIComponent(input.replace(/\\+/g, ' '));\n  } catch (e) {\n    return null;\n  }\n}\n\n/**\n * Attempts to encode a given input.\n *\n * @param {String} input The string that needs to be encoded.\n * @returns {String|Null} The encoded string.\n * @api private\n */\nfunction encode(input) {\n  try {\n    return encodeURIComponent(input);\n  } catch (e) {\n    return null;\n  }\n}\n\n/**\n * Simple query string parser.\n *\n * @param {String} query The query string that needs to be parsed.\n * @returns {Object}\n * @api public\n */\nfunction querystring(query) {\n  var parser = /([^=?#&]+)=?([^&]*)/g\n    , result = {}\n    , part;\n\n  while (part = parser.exec(query)) {\n    var key = decode(part[1])\n      , value = decode(part[2]);\n\n    //\n    // Prevent overriding of existing properties. This ensures that build-in\n    // methods like `toString` or __proto__ are not overriden by malicious\n    // querystrings.\n    //\n    // In the case if failed decoding, we want to omit the key/value pairs\n    // from the result.\n    //\n    if (key === null || value === null || key in result) continue;\n    result[key] = value;\n  }\n\n  return result;\n}\n\n/**\n * Transform a query string to an object.\n *\n * @param {Object} obj Object that should be transformed.\n * @param {String} prefix Optional prefix.\n * @returns {String}\n * @api public\n */\nfunction querystringify(obj, prefix) {\n  prefix = prefix || '';\n\n  var pairs = []\n    , value\n    , key;\n\n  //\n  // Optionally prefix with a '?' if needed\n  //\n  if ('string' !== typeof prefix) prefix = '?';\n\n  for (key in obj) {\n    if (has.call(obj, key)) {\n      value = obj[key];\n\n      //\n      // Edge cases where we actually want to encode the value to an empty\n      // string instead of the stringified value.\n      //\n      if (!value && (value === null || value === undef || isNaN(value))) {\n        value = '';\n      }\n\n      key = encode(key);\n      value = encode(value);\n\n      //\n      // If we failed to encode the strings, we should bail out as we don't\n      // want to add invalid strings to the query.\n      //\n      if (key === null || value === null) continue;\n      pairs.push(key +'='+ value);\n    }\n  }\n\n  return pairs.length ? prefix + pairs.join('&') : '';\n}\n\n//\n// Expose the module.\n//\nexports.stringify = querystringify;\nexports.parse = querystring;\n","/** @license React v16.14.0\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),n=require(\"object-assign\"),r=require(\"scheduler\");function u(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}if(!aa)throw Error(u(227));\nfunction ba(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var da=!1,ea=null,fa=!1,ha=null,ia={onError:function(a){da=!0;ea=a}};function ja(a,b,c,d,e,f,g,h,k){da=!1;ea=null;ba.apply(ia,arguments)}function ka(a,b,c,d,e,f,g,h,k){ja.apply(this,arguments);if(da){if(da){var l=ea;da=!1;ea=null}else throw Error(u(198));fa||(fa=!0,ha=l)}}var la=null,ma=null,na=null;\nfunction oa(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=na(c);ka(d,b,void 0,a);a.currentTarget=null}var pa=null,qa={};\nfunction ra(){if(pa)for(var a in qa){var b=qa[a],c=pa.indexOf(a);if(!(-1<c))throw Error(u(96,a));if(!sa[c]){if(!b.extractEvents)throw Error(u(97,a));sa[c]=b;c=b.eventTypes;for(var d in c){var e=void 0;var f=c[d],g=b,h=d;if(ta.hasOwnProperty(h))throw Error(u(99,h));ta[h]=f;var k=f.phasedRegistrationNames;if(k){for(e in k)k.hasOwnProperty(e)&&ua(k[e],g,h);e=!0}else f.registrationName?(ua(f.registrationName,g,h),e=!0):e=!1;if(!e)throw Error(u(98,d,a));}}}}\nfunction ua(a,b,c){if(va[a])throw Error(u(100,a));va[a]=b;wa[a]=b.eventTypes[c].dependencies}var sa=[],ta={},va={},wa={};function xa(a){var b=!1,c;for(c in a)if(a.hasOwnProperty(c)){var d=a[c];if(!qa.hasOwnProperty(c)||qa[c]!==d){if(qa[c])throw Error(u(102,c));qa[c]=d;b=!0}}b&&ra()}var ya=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),za=null,Aa=null,Ba=null;\nfunction Ca(a){if(a=ma(a)){if(\"function\"!==typeof za)throw Error(u(280));var b=a.stateNode;b&&(b=la(b),za(a.stateNode,a.type,b))}}function Da(a){Aa?Ba?Ba.push(a):Ba=[a]:Aa=a}function Ea(){if(Aa){var a=Aa,b=Ba;Ba=Aa=null;Ca(a);if(b)for(a=0;a<b.length;a++)Ca(b[a])}}function Fa(a,b){return a(b)}function Ga(a,b,c,d,e){return a(b,c,d,e)}function Ha(){}var Ia=Fa,Ja=!1,Ka=!1;function La(){if(null!==Aa||null!==Ba)Ha(),Ea()}\nfunction Ma(a,b,c){if(Ka)return a(b,c);Ka=!0;try{return Ia(a,b,c)}finally{Ka=!1,La()}}var Na=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,Oa=Object.prototype.hasOwnProperty,Pa={},Qa={};\nfunction Ra(a){if(Oa.call(Qa,a))return!0;if(Oa.call(Pa,a))return!1;if(Na.test(a))return Qa[a]=!0;Pa[a]=!0;return!1}function Sa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction Ta(a,b,c,d){if(null===b||\"undefined\"===typeof b||Sa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var C={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){C[a]=new v(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];C[b]=new v(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){C[a]=new v(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){C[a]=new v(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){C[a]=new v(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){C[a]=new v(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){C[a]=new v(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){C[a]=new v(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){C[a]=new v(a,5,!1,a.toLowerCase(),null,!1)});var Ua=/[\\-:]([a-z])/g;function Va(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(Ua,\nVa);C[b]=new v(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!1)});\nC.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!0)});var Wa=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Wa.hasOwnProperty(\"ReactCurrentDispatcher\")||(Wa.ReactCurrentDispatcher={current:null});Wa.hasOwnProperty(\"ReactCurrentBatchConfig\")||(Wa.ReactCurrentBatchConfig={suspense:null});\nfunction Xa(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1]?!1:!0;f||(Ta(b,c,e,d)&&(c=null),d||null===e?Ra(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c))))}\nvar Ya=/^(.*)[\\\\\\/]/,E=\"function\"===typeof Symbol&&Symbol.for,Za=E?Symbol.for(\"react.element\"):60103,$a=E?Symbol.for(\"react.portal\"):60106,ab=E?Symbol.for(\"react.fragment\"):60107,bb=E?Symbol.for(\"react.strict_mode\"):60108,cb=E?Symbol.for(\"react.profiler\"):60114,db=E?Symbol.for(\"react.provider\"):60109,eb=E?Symbol.for(\"react.context\"):60110,fb=E?Symbol.for(\"react.concurrent_mode\"):60111,gb=E?Symbol.for(\"react.forward_ref\"):60112,hb=E?Symbol.for(\"react.suspense\"):60113,ib=E?Symbol.for(\"react.suspense_list\"):\n60120,jb=E?Symbol.for(\"react.memo\"):60115,kb=E?Symbol.for(\"react.lazy\"):60116,lb=E?Symbol.for(\"react.block\"):60121,mb=\"function\"===typeof Symbol&&Symbol.iterator;function nb(a){if(null===a||\"object\"!==typeof a)return null;a=mb&&a[mb]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function ob(a){if(-1===a._status){a._status=0;var b=a._ctor;b=b();a._result=b;b.then(function(b){0===a._status&&(b=b.default,a._status=1,a._result=b)},function(b){0===a._status&&(a._status=2,a._result=b)})}}\nfunction pb(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ab:return\"Fragment\";case $a:return\"Portal\";case cb:return\"Profiler\";case bb:return\"StrictMode\";case hb:return\"Suspense\";case ib:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case eb:return\"Context.Consumer\";case db:return\"Context.Provider\";case gb:var b=a.render;b=b.displayName||b.name||\"\";return a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\n\"ForwardRef\");case jb:return pb(a.type);case lb:return pb(a.render);case kb:if(a=1===a._status?a._result:null)return pb(a)}return null}function qb(a){var b=\"\";do{a:switch(a.tag){case 3:case 4:case 6:case 7:case 10:case 9:var c=\"\";break a;default:var d=a._debugOwner,e=a._debugSource,f=pb(a.type);c=null;d&&(c=pb(d.type));d=f;f=\"\";e?f=\" (at \"+e.fileName.replace(Ya,\"\")+\":\"+e.lineNumber+\")\":c&&(f=\" (created by \"+c+\")\");c=\"\\n    in \"+(d||\"Unknown\")+f}b+=c;a=a.return}while(a);return b}\nfunction rb(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function sb(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction tb(a){var b=sb(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function xb(a){a._valueTracker||(a._valueTracker=tb(a))}function yb(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=sb(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function zb(a,b){var c=b.checked;return n({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}\nfunction Ab(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=rb(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function Bb(a,b){b=b.checked;null!=b&&Xa(a,\"checked\",b,!1)}\nfunction Cb(a,b){Bb(a,b);var c=rb(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?Db(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&Db(a,b.type,rb(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction Eb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction Db(a,b,c){if(\"number\"!==b||a.ownerDocument.activeElement!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function Fb(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function Gb(a,b){a=n({children:void 0},b);if(b=Fb(b.children))a.children=b;return a}\nfunction Hb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+rb(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction Ib(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(u(91));return n({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function Jb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(u(92));if(Array.isArray(c)){if(!(1>=c.length))throw Error(u(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:rb(c)}}\nfunction Kb(a,b){var c=rb(b.value),d=rb(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Lb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Mb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Nb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Ob(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Nb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Pb,Qb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Mb.svg||\"innerHTML\"in a)a.innerHTML=b;else{Pb=Pb||document.createElement(\"div\");Pb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=Pb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Rb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Sb(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Tb={animationend:Sb(\"Animation\",\"AnimationEnd\"),animationiteration:Sb(\"Animation\",\"AnimationIteration\"),animationstart:Sb(\"Animation\",\"AnimationStart\"),transitionend:Sb(\"Transition\",\"TransitionEnd\")},Ub={},Vb={};\nya&&(Vb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Tb.animationend.animation,delete Tb.animationiteration.animation,delete Tb.animationstart.animation),\"TransitionEvent\"in window||delete Tb.transitionend.transition);function Wb(a){if(Ub[a])return Ub[a];if(!Tb[a])return a;var b=Tb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Vb)return Ub[a]=b[c];return a}\nvar Xb=Wb(\"animationend\"),Yb=Wb(\"animationiteration\"),Zb=Wb(\"animationstart\"),$b=Wb(\"transitionend\"),ac=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),bc=new (\"function\"===typeof WeakMap?WeakMap:Map);function cc(a){var b=bc.get(a);void 0===b&&(b=new Map,bc.set(a,b));return b}\nfunction dc(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function ec(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function fc(a){if(dc(a)!==a)throw Error(u(188));}\nfunction gc(a){var b=a.alternate;if(!b){b=dc(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return fc(e),a;if(f===d)return fc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function hc(a){a=gc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction ic(a,b){if(null==b)throw Error(u(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function jc(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var kc=null;\nfunction lc(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;d<b.length&&!a.isPropagationStopped();d++)oa(a,b[d],c[d]);else b&&oa(a,b,c);a._dispatchListeners=null;a._dispatchInstances=null;a.isPersistent()||a.constructor.release(a)}}function mc(a){null!==a&&(kc=ic(kc,a));a=kc;kc=null;if(a){jc(a,lc);if(kc)throw Error(u(95));if(fa)throw a=ha,fa=!1,ha=null,a;}}\nfunction nc(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}function oc(a){if(!ya)return!1;a=\"on\"+a;var b=a in document;b||(b=document.createElement(\"div\"),b.setAttribute(a,\"return;\"),b=\"function\"===typeof b[a]);return b}var pc=[];function qc(a){a.topLevelType=null;a.nativeEvent=null;a.targetInst=null;a.ancestors.length=0;10>pc.length&&pc.push(a)}\nfunction rc(a,b,c,d){if(pc.length){var e=pc.pop();e.topLevelType=a;e.eventSystemFlags=d;e.nativeEvent=b;e.targetInst=c;return e}return{topLevelType:a,eventSystemFlags:d,nativeEvent:b,targetInst:c,ancestors:[]}}\nfunction sc(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=tc(d)}while(c);for(c=0;c<a.ancestors.length;c++){b=a.ancestors[c];var e=nc(a.nativeEvent);d=a.topLevelType;var f=a.nativeEvent,g=a.eventSystemFlags;0===c&&(g|=64);for(var h=null,k=0;k<sa.length;k++){var l=sa[k];l&&(l=l.extractEvents(d,b,f,e,g))&&(h=\nic(h,l))}mc(h)}}function uc(a,b,c){if(!c.has(a)){switch(a){case \"scroll\":vc(b,\"scroll\",!0);break;case \"focus\":case \"blur\":vc(b,\"focus\",!0);vc(b,\"blur\",!0);c.set(\"blur\",null);c.set(\"focus\",null);break;case \"cancel\":case \"close\":oc(a)&&vc(b,a,!0);break;case \"invalid\":case \"submit\":case \"reset\":break;default:-1===ac.indexOf(a)&&F(a,b)}c.set(a,null)}}\nvar wc,xc,yc,zc=!1,Ac=[],Bc=null,Cc=null,Dc=null,Ec=new Map,Fc=new Map,Gc=[],Hc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput close cancel copy cut paste click change contextmenu reset submit\".split(\" \"),Ic=\"focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture\".split(\" \");\nfunction Jc(a,b){var c=cc(b);Hc.forEach(function(a){uc(a,b,c)});Ic.forEach(function(a){uc(a,b,c)})}function Kc(a,b,c,d,e){return{blockedOn:a,topLevelType:b,eventSystemFlags:c|32,nativeEvent:e,container:d}}\nfunction Lc(a,b){switch(a){case \"focus\":case \"blur\":Bc=null;break;case \"dragenter\":case \"dragleave\":Cc=null;break;case \"mouseover\":case \"mouseout\":Dc=null;break;case \"pointerover\":case \"pointerout\":Ec.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Fc.delete(b.pointerId)}}function Mc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a=Kc(b,c,d,e,f),null!==b&&(b=Nc(b),null!==b&&xc(b)),a;a.eventSystemFlags|=d;return a}\nfunction Oc(a,b,c,d,e){switch(b){case \"focus\":return Bc=Mc(Bc,a,b,c,d,e),!0;case \"dragenter\":return Cc=Mc(Cc,a,b,c,d,e),!0;case \"mouseover\":return Dc=Mc(Dc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Ec.set(f,Mc(Ec.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Fc.set(f,Mc(Fc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Pc(a){var b=tc(a.target);if(null!==b){var c=dc(b);if(null!==c)if(b=c.tag,13===b){if(b=ec(c),null!==b){a.blockedOn=b;r.unstable_runWithPriority(a.priority,function(){yc(c)});return}}else if(3===b&&c.stateNode.hydrate){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}function Qc(a){if(null!==a.blockedOn)return!1;var b=Rc(a.topLevelType,a.eventSystemFlags,a.container,a.nativeEvent);if(null!==b){var c=Nc(b);null!==c&&xc(c);a.blockedOn=b;return!1}return!0}\nfunction Sc(a,b,c){Qc(a)&&c.delete(b)}function Tc(){for(zc=!1;0<Ac.length;){var a=Ac[0];if(null!==a.blockedOn){a=Nc(a.blockedOn);null!==a&&wc(a);break}var b=Rc(a.topLevelType,a.eventSystemFlags,a.container,a.nativeEvent);null!==b?a.blockedOn=b:Ac.shift()}null!==Bc&&Qc(Bc)&&(Bc=null);null!==Cc&&Qc(Cc)&&(Cc=null);null!==Dc&&Qc(Dc)&&(Dc=null);Ec.forEach(Sc);Fc.forEach(Sc)}function Uc(a,b){a.blockedOn===b&&(a.blockedOn=null,zc||(zc=!0,r.unstable_scheduleCallback(r.unstable_NormalPriority,Tc)))}\nfunction Vc(a){function b(b){return Uc(b,a)}if(0<Ac.length){Uc(Ac[0],a);for(var c=1;c<Ac.length;c++){var d=Ac[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Bc&&Uc(Bc,a);null!==Cc&&Uc(Cc,a);null!==Dc&&Uc(Dc,a);Ec.forEach(b);Fc.forEach(b);for(c=0;c<Gc.length;c++)d=Gc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Gc.length&&(c=Gc[0],null===c.blockedOn);)Pc(c),null===c.blockedOn&&Gc.shift()}\nvar Wc={},Yc=new Map,Zc=new Map,$c=[\"abort\",\"abort\",Xb,\"animationEnd\",Yb,\"animationIteration\",Zb,\"animationStart\",\"canplay\",\"canPlay\",\"canplaythrough\",\"canPlayThrough\",\"durationchange\",\"durationChange\",\"emptied\",\"emptied\",\"encrypted\",\"encrypted\",\"ended\",\"ended\",\"error\",\"error\",\"gotpointercapture\",\"gotPointerCapture\",\"load\",\"load\",\"loadeddata\",\"loadedData\",\"loadedmetadata\",\"loadedMetadata\",\"loadstart\",\"loadStart\",\"lostpointercapture\",\"lostPointerCapture\",\"playing\",\"playing\",\"progress\",\"progress\",\"seeking\",\n\"seeking\",\"stalled\",\"stalled\",\"suspend\",\"suspend\",\"timeupdate\",\"timeUpdate\",$b,\"transitionEnd\",\"waiting\",\"waiting\"];function ad(a,b){for(var c=0;c<a.length;c+=2){var d=a[c],e=a[c+1],f=\"on\"+(e[0].toUpperCase()+e.slice(1));f={phasedRegistrationNames:{bubbled:f,captured:f+\"Capture\"},dependencies:[d],eventPriority:b};Zc.set(d,b);Yc.set(d,f);Wc[e]=f}}\nad(\"blur blur cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focus focus input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange\".split(\" \"),0);\nad(\"drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel\".split(\" \"),1);ad($c,2);for(var bd=\"change selectionchange textInput compositionstart compositionend compositionupdate\".split(\" \"),cd=0;cd<bd.length;cd++)Zc.set(bd[cd],0);\nvar dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function F(a,b){vc(b,a,!1)}function vc(a,b,c){var d=Zc.get(b);switch(void 0===d?2:d){case 0:d=gd.bind(null,b,1,a);break;case 1:d=hd.bind(null,b,1,a);break;default:d=id.bind(null,b,1,a)}c?a.addEventListener(b,d,!0):a.addEventListener(b,d,!1)}function gd(a,b,c,d){Ja||Ha();var e=id,f=Ja;Ja=!0;try{Ga(e,a,b,c,d)}finally{(Ja=f)||La()}}function hd(a,b,c,d){ed(dd,id.bind(null,a,b,c,d))}\nfunction id(a,b,c,d){if(fd)if(0<Ac.length&&-1<Hc.indexOf(a))a=Kc(null,a,b,c,d),Ac.push(a);else{var e=Rc(a,b,c,d);if(null===e)Lc(a,d);else if(-1<Hc.indexOf(a))a=Kc(e,a,b,c,d),Ac.push(a);else if(!Oc(e,a,b,c,d)){Lc(a,d);a=rc(a,d,null,b);try{Ma(sc,a)}finally{qc(a)}}}}\nfunction Rc(a,b,c,d){c=nc(d);c=tc(c);if(null!==c){var e=dc(c);if(null===e)c=null;else{var f=e.tag;if(13===f){c=ec(e);if(null!==c)return c;c=null}else if(3===f){if(e.stateNode.hydrate)return 3===e.tag?e.stateNode.containerInfo:null;c=null}else e!==c&&(c=null)}}a=rc(a,d,c,b);try{Ma(sc,a)}finally{qc(a)}return null}\nvar jd={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},kd=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(jd).forEach(function(a){kd.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);jd[b]=jd[a]})});function ld(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||jd.hasOwnProperty(a)&&jd[a]?(\"\"+b).trim():b+\"px\"}\nfunction md(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=ld(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var nd=n({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction od(a,b){if(b){if(nd[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(u(137,a,\"\"));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(u(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(u(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(u(62,\"\"));}}\nfunction pd(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var qd=Mb.html;function rd(a,b){a=9===a.nodeType||11===a.nodeType?a:a.ownerDocument;var c=cc(a);b=wa[b];for(var d=0;d<b.length;d++)uc(b[d],a,c)}function sd(){}\nfunction td(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}function ud(a){for(;a&&a.firstChild;)a=a.firstChild;return a}function vd(a,b){var c=ud(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ud(c)}}\nfunction wd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wd(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xd(){for(var a=window,b=td();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=td(a.document)}return b}\nfunction yd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var zd=\"$\",Ad=\"/$\",Bd=\"$?\",Cd=\"$!\",Dd=null,Ed=null;function Fd(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction Gd(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var Hd=\"function\"===typeof setTimeout?setTimeout:void 0,Id=\"function\"===typeof clearTimeout?clearTimeout:void 0;function Jd(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction Kd(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===zd||c===Cd||c===Bd){if(0===b)return a;b--}else c===Ad&&b++}a=a.previousSibling}return null}var Ld=Math.random().toString(36).slice(2),Md=\"__reactInternalInstance$\"+Ld,Nd=\"__reactEventHandlers$\"+Ld,Od=\"__reactContainere$\"+Ld;\nfunction tc(a){var b=a[Md];if(b)return b;for(var c=a.parentNode;c;){if(b=c[Od]||c[Md]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Kd(a);null!==a;){if(c=a[Md])return c;a=Kd(a)}return b}a=c;c=a.parentNode}return null}function Nc(a){a=a[Md]||a[Od];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function Pd(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function Qd(a){return a[Nd]||null}\nfunction Rd(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction Sd(a,b){var c=a.stateNode;if(!c)return null;var d=la(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==typeof c)throw Error(u(231,\nb,typeof c));return c}function Td(a,b,c){if(b=Sd(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a)}function Ud(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Rd(b);for(b=c.length;0<b--;)Td(c[b],\"captured\",a);for(b=0;b<c.length;b++)Td(c[b],\"bubbled\",a)}}\nfunction Vd(a,b,c){a&&c&&c.dispatchConfig.registrationName&&(b=Sd(a,c.dispatchConfig.registrationName))&&(c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a))}function Wd(a){a&&a.dispatchConfig.registrationName&&Vd(a._targetInst,null,a)}function Xd(a){jc(a,Ud)}var Yd=null,Zd=null,$d=null;\nfunction ae(){if($d)return $d;var a,b=Zd,c=b.length,d,e=\"value\"in Yd?Yd.value:Yd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return $d=e.slice(a,1<d?1-d:void 0)}function be(){return!0}function ce(){return!1}\nfunction G(a,b,c,d){this.dispatchConfig=a;this._targetInst=b;this.nativeEvent=c;a=this.constructor.Interface;for(var e in a)a.hasOwnProperty(e)&&((b=a[e])?this[e]=b(c):\"target\"===e?this.target=d:this[e]=c[e]);this.isDefaultPrevented=(null!=c.defaultPrevented?c.defaultPrevented:!1===c.returnValue)?be:ce;this.isPropagationStopped=ce;return this}\nn(G.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&(a.returnValue=!1),this.isDefaultPrevented=be)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=be)},persist:function(){this.isPersistent=be},isPersistent:ce,destructor:function(){var a=this.constructor.Interface,\nb;for(b in a)this[b]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null;this.isPropagationStopped=this.isDefaultPrevented=ce;this._dispatchInstances=this._dispatchListeners=null}});G.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};\nG.extend=function(a){function b(){}function c(){return d.apply(this,arguments)}var d=this;b.prototype=d.prototype;var e=new b;n(e,c.prototype);c.prototype=e;c.prototype.constructor=c;c.Interface=n({},d.Interface,a);c.extend=d.extend;de(c);return c};de(G);function ee(a,b,c,d){if(this.eventPool.length){var e=this.eventPool.pop();this.call(e,a,b,c,d);return e}return new this(a,b,c,d)}\nfunction fe(a){if(!(a instanceof this))throw Error(u(279));a.destructor();10>this.eventPool.length&&this.eventPool.push(a)}function de(a){a.eventPool=[];a.getPooled=ee;a.release=fe}var ge=G.extend({data:null}),he=G.extend({data:null}),ie=[9,13,27,32],je=ya&&\"CompositionEvent\"in window,ke=null;ya&&\"documentMode\"in document&&(ke=document.documentMode);\nvar le=ya&&\"TextEvent\"in window&&!ke,me=ya&&(!je||ke&&8<ke&&11>=ke),ne=String.fromCharCode(32),oe={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},pe=!1;\nfunction qe(a,b){switch(a){case \"keyup\":return-1!==ie.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function re(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var se=!1;function te(a,b){switch(a){case \"compositionend\":return re(b);case \"keypress\":if(32!==b.which)return null;pe=!0;return ne;case \"textInput\":return a=b.data,a===ne&&pe?null:a;default:return null}}\nfunction ue(a,b){if(se)return\"compositionend\"===a||!je&&qe(a,b)?(a=ae(),$d=Zd=Yd=null,se=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return me&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar ve={eventTypes:oe,extractEvents:function(a,b,c,d){var e;if(je)b:{switch(a){case \"compositionstart\":var f=oe.compositionStart;break b;case \"compositionend\":f=oe.compositionEnd;break b;case \"compositionupdate\":f=oe.compositionUpdate;break b}f=void 0}else se?qe(a,c)&&(f=oe.compositionEnd):\"keydown\"===a&&229===c.keyCode&&(f=oe.compositionStart);f?(me&&\"ko\"!==c.locale&&(se||f!==oe.compositionStart?f===oe.compositionEnd&&se&&(e=ae()):(Yd=d,Zd=\"value\"in Yd?Yd.value:Yd.textContent,se=!0)),f=ge.getPooled(f,\nb,c,d),e?f.data=e:(e=re(c),null!==e&&(f.data=e)),Xd(f),e=f):e=null;(a=le?te(a,c):ue(a,c))?(b=he.getPooled(oe.beforeInput,b,c,d),b.data=a,Xd(b)):b=null;return null===e?b:null===b?e:[e,b]}},we={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function xe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!we[a.type]:\"textarea\"===b?!0:!1}\nvar ye={change:{phasedRegistrationNames:{bubbled:\"onChange\",captured:\"onChangeCapture\"},dependencies:\"blur change click focus input keydown keyup selectionchange\".split(\" \")}};function ze(a,b,c){a=G.getPooled(ye.change,a,b,c);a.type=\"change\";Da(c);Xd(a);return a}var Ae=null,Be=null;function Ce(a){mc(a)}function De(a){var b=Pd(a);if(yb(b))return a}function Ee(a,b){if(\"change\"===a)return b}var Fe=!1;ya&&(Fe=oc(\"input\")&&(!document.documentMode||9<document.documentMode));\nfunction Ge(){Ae&&(Ae.detachEvent(\"onpropertychange\",He),Be=Ae=null)}function He(a){if(\"value\"===a.propertyName&&De(Be))if(a=ze(Be,a,nc(a)),Ja)mc(a);else{Ja=!0;try{Fa(Ce,a)}finally{Ja=!1,La()}}}function Ie(a,b,c){\"focus\"===a?(Ge(),Ae=b,Be=c,Ae.attachEvent(\"onpropertychange\",He)):\"blur\"===a&&Ge()}function Je(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return De(Be)}function Ke(a,b){if(\"click\"===a)return De(b)}function Le(a,b){if(\"input\"===a||\"change\"===a)return De(b)}\nvar Me={eventTypes:ye,_isInputEventSupported:Fe,extractEvents:function(a,b,c,d){var e=b?Pd(b):window,f=e.nodeName&&e.nodeName.toLowerCase();if(\"select\"===f||\"input\"===f&&\"file\"===e.type)var g=Ee;else if(xe(e))if(Fe)g=Le;else{g=Je;var h=Ie}else(f=e.nodeName)&&\"input\"===f.toLowerCase()&&(\"checkbox\"===e.type||\"radio\"===e.type)&&(g=Ke);if(g&&(g=g(a,b)))return ze(g,c,d);h&&h(a,e,b);\"blur\"===a&&(a=e._wrapperState)&&a.controlled&&\"number\"===e.type&&Db(e,\"number\",e.value)}},Ne=G.extend({view:null,detail:null}),\nOe={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pe(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Oe[a])?!!b[a]:!1}function Qe(){return Pe}\nvar Re=0,Se=0,Te=!1,Ue=!1,Ve=Ne.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:Qe,button:null,buttons:null,relatedTarget:function(a){return a.relatedTarget||(a.fromElement===a.srcElement?a.toElement:a.fromElement)},movementX:function(a){if(\"movementX\"in a)return a.movementX;var b=Re;Re=a.screenX;return Te?\"mousemove\"===a.type?a.screenX-b:0:(Te=!0,0)},movementY:function(a){if(\"movementY\"in a)return a.movementY;\nvar b=Se;Se=a.screenY;return Ue?\"mousemove\"===a.type?a.screenY-b:0:(Ue=!0,0)}}),We=Ve.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),Xe={mouseEnter:{registrationName:\"onMouseEnter\",dependencies:[\"mouseout\",\"mouseover\"]},mouseLeave:{registrationName:\"onMouseLeave\",dependencies:[\"mouseout\",\"mouseover\"]},pointerEnter:{registrationName:\"onPointerEnter\",dependencies:[\"pointerout\",\"pointerover\"]},pointerLeave:{registrationName:\"onPointerLeave\",\ndependencies:[\"pointerout\",\"pointerover\"]}},Ye={eventTypes:Xe,extractEvents:function(a,b,c,d,e){var f=\"mouseover\"===a||\"pointerover\"===a,g=\"mouseout\"===a||\"pointerout\"===a;if(f&&0===(e&32)&&(c.relatedTarget||c.fromElement)||!g&&!f)return null;f=d.window===d?d:(f=d.ownerDocument)?f.defaultView||f.parentWindow:window;if(g){if(g=b,b=(b=c.relatedTarget||c.toElement)?tc(b):null,null!==b){var h=dc(b);if(b!==h||5!==b.tag&&6!==b.tag)b=null}}else g=null;if(g===b)return null;if(\"mouseout\"===a||\"mouseover\"===\na){var k=Ve;var l=Xe.mouseLeave;var m=Xe.mouseEnter;var p=\"mouse\"}else if(\"pointerout\"===a||\"pointerover\"===a)k=We,l=Xe.pointerLeave,m=Xe.pointerEnter,p=\"pointer\";a=null==g?f:Pd(g);f=null==b?f:Pd(b);l=k.getPooled(l,g,c,d);l.type=p+\"leave\";l.target=a;l.relatedTarget=f;c=k.getPooled(m,b,c,d);c.type=p+\"enter\";c.target=f;c.relatedTarget=a;d=g;p=b;if(d&&p)a:{k=d;m=p;g=0;for(a=k;a;a=Rd(a))g++;a=0;for(b=m;b;b=Rd(b))a++;for(;0<g-a;)k=Rd(k),g--;for(;0<a-g;)m=Rd(m),a--;for(;g--;){if(k===m||k===m.alternate)break a;\nk=Rd(k);m=Rd(m)}k=null}else k=null;m=k;for(k=[];d&&d!==m;){g=d.alternate;if(null!==g&&g===m)break;k.push(d);d=Rd(d)}for(d=[];p&&p!==m;){g=p.alternate;if(null!==g&&g===m)break;d.push(p);p=Rd(p)}for(p=0;p<k.length;p++)Vd(k[p],\"bubbled\",l);for(p=d.length;0<p--;)Vd(d[p],\"captured\",c);return 0===(e&64)?[l]:[l,c]}};function Ze(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var $e=\"function\"===typeof Object.is?Object.is:Ze,af=Object.prototype.hasOwnProperty;\nfunction bf(a,b){if($e(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++)if(!af.call(b,c[d])||!$e(a[c[d]],b[c[d]]))return!1;return!0}\nvar cf=ya&&\"documentMode\"in document&&11>=document.documentMode,df={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},ef=null,ff=null,gf=null,hf=!1;\nfunction jf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(hf||null==ef||ef!==td(c))return null;c=ef;\"selectionStart\"in c&&yd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return gf&&bf(gf,c)?null:(gf=c,a=G.getPooled(df.select,ff,a,b),a.type=\"select\",a.target=ef,Xd(a),a)}\nvar kf={eventTypes:df,extractEvents:function(a,b,c,d,e,f){e=f||(d.window===d?d.document:9===d.nodeType?d:d.ownerDocument);if(!(f=!e)){a:{e=cc(e);f=wa.onSelect;for(var g=0;g<f.length;g++)if(!e.has(f[g])){e=!1;break a}e=!0}f=!e}if(f)return null;e=b?Pd(b):window;switch(a){case \"focus\":if(xe(e)||\"true\"===e.contentEditable)ef=e,ff=b,gf=null;break;case \"blur\":gf=ff=ef=null;break;case \"mousedown\":hf=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":return hf=!1,jf(c,d);case \"selectionchange\":if(cf)break;\ncase \"keydown\":case \"keyup\":return jf(c,d)}return null}},lf=G.extend({animationName:null,elapsedTime:null,pseudoElement:null}),mf=G.extend({clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),nf=Ne.extend({relatedTarget:null});function of(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}\nvar pf={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},qf={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",\n116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},rf=Ne.extend({key:function(a){if(a.key){var b=pf[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=of(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?qf[a.keyCode]||\"Unidentified\":\"\"},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:Qe,charCode:function(a){return\"keypress\"===\na.type?of(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===a.type?of(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),sf=Ve.extend({dataTransfer:null}),tf=Ne.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:Qe}),uf=G.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),vf=Ve.extend({deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in\na?-a.wheelDeltaX:0},deltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:null,deltaMode:null}),wf={eventTypes:Wc,extractEvents:function(a,b,c,d){var e=Yc.get(a);if(!e)return null;switch(a){case \"keypress\":if(0===of(c))return null;case \"keydown\":case \"keyup\":a=rf;break;case \"blur\":case \"focus\":a=nf;break;case \"click\":if(2===c.button)return null;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":a=\nVe;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":a=sf;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":a=tf;break;case Xb:case Yb:case Zb:a=lf;break;case $b:a=uf;break;case \"scroll\":a=Ne;break;case \"wheel\":a=vf;break;case \"copy\":case \"cut\":case \"paste\":a=mf;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":a=\nWe;break;default:a=G}b=a.getPooled(e,b,c,d);Xd(b);return b}};if(pa)throw Error(u(101));pa=Array.prototype.slice.call(\"ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin\".split(\" \"));ra();var xf=Nc;la=Qd;ma=xf;na=Pd;xa({SimpleEventPlugin:wf,EnterLeaveEventPlugin:Ye,ChangeEventPlugin:Me,SelectEventPlugin:kf,BeforeInputEventPlugin:ve});var yf=[],zf=-1;function H(a){0>zf||(a.current=yf[zf],yf[zf]=null,zf--)}\nfunction I(a,b){zf++;yf[zf]=a.current;a.current=b}var Af={},J={current:Af},K={current:!1},Bf=Af;function Cf(a,b){var c=a.type.contextTypes;if(!c)return Af;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Df(){H(K);H(J)}function Ef(a,b,c){if(J.current!==Af)throw Error(u(168));I(J,b);I(K,c)}function Ff(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,pb(b)||\"Unknown\",e));return n({},c,{},d)}function Gf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Af;Bf=J.current;I(J,a);I(K,K.current);return!0}\nfunction Hf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(a=Ff(a,b,Bf),d.__reactInternalMemoizedMergedChildContext=a,H(K),H(J),I(J,a)):H(K);I(K,c)}\nvar If=r.unstable_runWithPriority,Jf=r.unstable_scheduleCallback,Kf=r.unstable_cancelCallback,Lf=r.unstable_requestPaint,Mf=r.unstable_now,Nf=r.unstable_getCurrentPriorityLevel,Of=r.unstable_ImmediatePriority,Pf=r.unstable_UserBlockingPriority,Qf=r.unstable_NormalPriority,Rf=r.unstable_LowPriority,Sf=r.unstable_IdlePriority,Tf={},Uf=r.unstable_shouldYield,Vf=void 0!==Lf?Lf:function(){},Wf=null,Xf=null,Yf=!1,Zf=Mf(),$f=1E4>Zf?Mf:function(){return Mf()-Zf};\nfunction ag(){switch(Nf()){case Of:return 99;case Pf:return 98;case Qf:return 97;case Rf:return 96;case Sf:return 95;default:throw Error(u(332));}}function bg(a){switch(a){case 99:return Of;case 98:return Pf;case 97:return Qf;case 96:return Rf;case 95:return Sf;default:throw Error(u(332));}}function cg(a,b){a=bg(a);return If(a,b)}function dg(a,b,c){a=bg(a);return Jf(a,b,c)}function eg(a){null===Wf?(Wf=[a],Xf=Jf(Of,fg)):Wf.push(a);return Tf}function gg(){if(null!==Xf){var a=Xf;Xf=null;Kf(a)}fg()}\nfunction fg(){if(!Yf&&null!==Wf){Yf=!0;var a=0;try{var b=Wf;cg(99,function(){for(;a<b.length;a++){var c=b[a];do c=c(!0);while(null!==c)}});Wf=null}catch(c){throw null!==Wf&&(Wf=Wf.slice(a+1)),Jf(Of,gg),c;}finally{Yf=!1}}}function hg(a,b,c){c/=10;return 1073741821-(((1073741821-a+b/10)/c|0)+1)*c}function ig(a,b){if(a&&a.defaultProps){b=n({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c])}return b}var jg={current:null},kg=null,lg=null,mg=null;function ng(){mg=lg=kg=null}\nfunction og(a){var b=jg.current;H(jg);a.type._context._currentValue=b}function pg(a,b){for(;null!==a;){var c=a.alternate;if(a.childExpirationTime<b)a.childExpirationTime=b,null!==c&&c.childExpirationTime<b&&(c.childExpirationTime=b);else if(null!==c&&c.childExpirationTime<b)c.childExpirationTime=b;else break;a=a.return}}function qg(a,b){kg=a;mg=lg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(a.expirationTime>=b&&(rg=!0),a.firstContext=null)}\nfunction sg(a,b){if(mg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)mg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===lg){if(null===kg)throw Error(u(308));lg=b;kg.dependencies={expirationTime:0,firstContext:b,responders:null}}else lg=lg.next=b}return a._currentValue}var tg=!1;function ug(a){a.updateQueue={baseState:a.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}\nfunction vg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,baseQueue:a.baseQueue,shared:a.shared,effects:a.effects})}function wg(a,b){a={expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null};return a.next=a}function xg(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction yg(a,b){var c=a.alternate;null!==c&&vg(c,a);a=a.updateQueue;c=a.baseQueue;null===c?(a.baseQueue=b.next=b,b.next=b):(b.next=c.next,c.next=b)}\nfunction zg(a,b,c,d){var e=a.updateQueue;tg=!1;var f=e.baseQueue,g=e.shared.pending;if(null!==g){if(null!==f){var h=f.next;f.next=g.next;g.next=h}f=g;e.shared.pending=null;h=a.alternate;null!==h&&(h=h.updateQueue,null!==h&&(h.baseQueue=g))}if(null!==f){h=f.next;var k=e.baseState,l=0,m=null,p=null,x=null;if(null!==h){var z=h;do{g=z.expirationTime;if(g<d){var ca={expirationTime:z.expirationTime,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null};null===x?(p=x=\nca,m=k):x=x.next=ca;g>l&&(l=g)}else{null!==x&&(x=x.next={expirationTime:1073741823,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null});Ag(g,z.suspenseConfig);a:{var D=a,t=z;g=b;ca=c;switch(t.tag){case 1:D=t.payload;if(\"function\"===typeof D){k=D.call(ca,k,g);break a}k=D;break a;case 3:D.effectTag=D.effectTag&-4097|64;case 0:D=t.payload;g=\"function\"===typeof D?D.call(ca,k,g):D;if(null===g||void 0===g)break a;k=n({},k,g);break a;case 2:tg=!0}}null!==z.callback&&\n(a.effectTag|=32,g=e.effects,null===g?e.effects=[z]:g.push(z))}z=z.next;if(null===z||z===h)if(g=e.shared.pending,null===g)break;else z=f.next=g.next,g.next=h,e.baseQueue=f=g,e.shared.pending=null}while(1)}null===x?m=k:x.next=p;e.baseState=m;e.baseQueue=x;Bg(l);a.expirationTime=l;a.memoizedState=k}}\nfunction Cg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=e;e=c;if(\"function\"!==typeof d)throw Error(u(191,d));d.call(e)}}}var Dg=Wa.ReactCurrentBatchConfig,Eg=(new aa.Component).refs;function Fg(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:n({},b,c);a.memoizedState=c;0===a.expirationTime&&(a.updateQueue.baseState=c)}\nvar Jg={isMounted:function(a){return(a=a._reactInternalFiber)?dc(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternalFiber;var d=Gg(),e=Dg.suspense;d=Hg(d,a,e);e=wg(d,e);e.payload=b;void 0!==c&&null!==c&&(e.callback=c);xg(a,e);Ig(a,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternalFiber;var d=Gg(),e=Dg.suspense;d=Hg(d,a,e);e=wg(d,e);e.tag=1;e.payload=b;void 0!==c&&null!==c&&(e.callback=c);xg(a,e);Ig(a,d)},enqueueForceUpdate:function(a,b){a=a._reactInternalFiber;var c=Gg(),d=Dg.suspense;\nc=Hg(c,a,d);d=wg(c,d);d.tag=2;void 0!==b&&null!==b&&(d.callback=b);xg(a,d);Ig(a,c)}};function Kg(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!bf(c,d)||!bf(e,f):!0}\nfunction Lg(a,b,c){var d=!1,e=Af;var f=b.contextType;\"object\"===typeof f&&null!==f?f=sg(f):(e=L(b)?Bf:J.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Cf(a,e):Af);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Jg;a.stateNode=b;b._reactInternalFiber=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction Mg(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Jg.enqueueReplaceState(b,b.state,null)}\nfunction Ng(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=Eg;ug(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=sg(f):(f=L(b)?Bf:J.current,e.context=Cf(a,f));zg(a,c,e,d);e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(Fg(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||\n(b=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Jg.enqueueReplaceState(e,e.state,null),zg(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.effectTag|=4)}var Og=Array.isArray;\nfunction Pg(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(u(309));var d=c.stateNode}if(!d)throw Error(u(147,a));var e=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function(a){var b=d.refs;b===Eg&&(b=d.refs={});null===a?delete b[e]:b[e]=a};b._stringRef=e;return b}if(\"string\"!==typeof a)throw Error(u(284));if(!c._owner)throw Error(u(290,a));}return a}\nfunction Qg(a,b){if(\"textarea\"!==a.type)throw Error(u(31,\"[object Object]\"===Object.prototype.toString.call(b)?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":b,\"\"));}\nfunction Rg(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.effectTag=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Sg(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.effectTag=\n2,c):d;b.effectTag=2;return c}function g(b){a&&null===b.alternate&&(b.effectTag=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Tg(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){if(null!==b&&b.elementType===c.type)return d=e(b,c.props),d.ref=Pg(a,b,c),d.return=a,d;d=Ug(c.type,c.key,c.props,null,a.mode,d);d.ref=Pg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||b.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==\nc.implementation)return b=Vg(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Wg(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function p(a,b,c){if(\"string\"===typeof b||\"number\"===typeof b)return b=Tg(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case Za:return c=Ug(b.type,b.key,b.props,null,a.mode,c),c.ref=Pg(a,null,b),c.return=a,c;case $a:return b=Vg(b,a.mode,c),b.return=a,b}if(Og(b)||\nnb(b))return b=Wg(b,a.mode,c,null),b.return=a,b;Qg(a,b)}return null}function x(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case Za:return c.key===e?c.type===ab?m(a,b,c.props.children,d,e):k(a,b,c,d):null;case $a:return c.key===e?l(a,b,c,d):null}if(Og(c)||nb(c))return null!==e?null:m(a,b,c,d,null);Qg(a,c)}return null}function z(a,b,c,d,e){if(\"string\"===typeof d||\"number\"===typeof d)return a=\na.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case Za:return a=a.get(null===d.key?c:d.key)||null,d.type===ab?m(b,a,d.props.children,e,d.key):k(b,a,d,e);case $a:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e)}if(Og(d)||nb(d))return a=a.get(c)||null,m(b,a,d,e,null);Qg(b,d)}return null}function ca(e,g,h,k){for(var l=null,t=null,m=g,y=g=0,A=null;null!==m&&y<h.length;y++){m.index>y?(A=m,m=null):A=m.sibling;var q=x(e,m,h[y],k);if(null===q){null===m&&(m=A);break}a&&\nm&&null===q.alternate&&b(e,m);g=f(q,g,y);null===t?l=q:t.sibling=q;t=q;m=A}if(y===h.length)return c(e,m),l;if(null===m){for(;y<h.length;y++)m=p(e,h[y],k),null!==m&&(g=f(m,g,y),null===t?l=m:t.sibling=m,t=m);return l}for(m=d(e,m);y<h.length;y++)A=z(m,e,y,h[y],k),null!==A&&(a&&null!==A.alternate&&m.delete(null===A.key?y:A.key),g=f(A,g,y),null===t?l=A:t.sibling=A,t=A);a&&m.forEach(function(a){return b(e,a)});return l}function D(e,g,h,l){var k=nb(h);if(\"function\"!==typeof k)throw Error(u(150));h=k.call(h);\nif(null==h)throw Error(u(151));for(var m=k=null,t=g,y=g=0,A=null,q=h.next();null!==t&&!q.done;y++,q=h.next()){t.index>y?(A=t,t=null):A=t.sibling;var D=x(e,t,q.value,l);if(null===D){null===t&&(t=A);break}a&&t&&null===D.alternate&&b(e,t);g=f(D,g,y);null===m?k=D:m.sibling=D;m=D;t=A}if(q.done)return c(e,t),k;if(null===t){for(;!q.done;y++,q=h.next())q=p(e,q.value,l),null!==q&&(g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);return k}for(t=d(e,t);!q.done;y++,q=h.next())q=z(t,e,y,q.value,l),null!==q&&(a&&null!==\nq.alternate&&t.delete(null===q.key?y:q.key),g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);a&&t.forEach(function(a){return b(e,a)});return k}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ab&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Za:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ab){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,\nk.sibling);d=e(k,f.props);d.ref=Pg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ab?(d=Wg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ug(f.type,f.key,f.props,null,a.mode,h),h.ref=Pg(a,d,f),h.return=a,a=h)}return g(a);case $a:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=\nd.sibling}d=Vg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Tg(f,a.mode,h),d.return=a,a=d),g(a);if(Og(f))return ca(a,d,f,h);if(nb(f))return D(a,d,f,h);l&&Qg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var Xg=Rg(!0),Yg=Rg(!1),Zg={},$g={current:Zg},ah={current:Zg},bh={current:Zg};\nfunction ch(a){if(a===Zg)throw Error(u(174));return a}function dh(a,b){I(bh,b);I(ah,a);I($g,Zg);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Ob(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Ob(b,a)}H($g);I($g,b)}function eh(){H($g);H(ah);H(bh)}function fh(a){ch(bh.current);var b=ch($g.current);var c=Ob(b,a.type);b!==c&&(I(ah,a),I($g,c))}function gh(a){ah.current===a&&(H($g),H(ah))}var M={current:0};\nfunction hh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===Bd||c.data===Cd))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function ih(a,b){return{responder:a,props:b}}\nvar jh=Wa.ReactCurrentDispatcher,kh=Wa.ReactCurrentBatchConfig,lh=0,N=null,O=null,P=null,mh=!1;function Q(){throw Error(u(321));}function nh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!$e(a[c],b[c]))return!1;return!0}\nfunction oh(a,b,c,d,e,f){lh=f;N=b;b.memoizedState=null;b.updateQueue=null;b.expirationTime=0;jh.current=null===a||null===a.memoizedState?ph:qh;a=c(d,e);if(b.expirationTime===lh){f=0;do{b.expirationTime=0;if(!(25>f))throw Error(u(301));f+=1;P=O=null;b.updateQueue=null;jh.current=rh;a=c(d,e)}while(b.expirationTime===lh)}jh.current=sh;b=null!==O&&null!==O.next;lh=0;P=O=N=null;mh=!1;if(b)throw Error(u(300));return a}\nfunction th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function uh(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(u(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction wh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.expirationTime;if(l<lh){var m={expirationTime:k.expirationTime,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null};null===h?(g=h=m,f=d):h=h.next=m;l>N.expirationTime&&\n(N.expirationTime=l,Bg(l))}else null!==h&&(h=h.next={expirationTime:1073741823,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),Ag(l,k.suspenseConfig),d=k.eagerReducer===a?k.eagerState:a(d,k.action);k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;$e(d,b.memoizedState)||(rg=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction xh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);$e(f,b.memoizedState)||(rg=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction yh(a){var b=th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:vh,lastRenderedState:a};a=a.dispatch=zh.bind(null,N,a);return[b.memoizedState,a]}function Ah(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}\nfunction Bh(){return uh().memoizedState}function Ch(a,b,c,d){var e=th();N.effectTag|=a;e.memoizedState=Ah(1|b,c,void 0,void 0===d?null:d)}function Dh(a,b,c,d){var e=uh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&nh(d,g.deps)){Ah(b,c,f,d);return}}N.effectTag|=a;e.memoizedState=Ah(1|b,c,f,d)}function Eh(a,b){return Ch(516,4,a,b)}function Fh(a,b){return Dh(516,4,a,b)}function Gh(a,b){return Dh(4,2,a,b)}\nfunction Hh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function Ih(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Dh(4,2,Hh.bind(null,b,a),c)}function Jh(){}function Kh(a,b){th().memoizedState=[a,void 0===b?null:b];return a}function Lh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Mh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Nh(a,b,c){var d=ag();cg(98>d?98:d,function(){a(!0)});cg(97<d?97:d,function(){var d=kh.suspense;kh.suspense=void 0===b?null:b;try{a(!1),c()}finally{kh.suspense=d}})}\nfunction zh(a,b,c){var d=Gg(),e=Dg.suspense;d=Hg(d,a,e);e={expirationTime:d,suspenseConfig:e,action:c,eagerReducer:null,eagerState:null,next:null};var f=b.pending;null===f?e.next=e:(e.next=f.next,f.next=e);b.pending=e;f=a.alternate;if(a===N||null!==f&&f===N)mh=!0,e.expirationTime=lh,N.expirationTime=lh;else{if(0===a.expirationTime&&(null===f||0===f.expirationTime)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.eagerReducer=f;e.eagerState=h;if($e(h,g))return}catch(k){}finally{}Ig(a,\nd)}}\nvar sh={readContext:sg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useResponder:Q,useDeferredValue:Q,useTransition:Q},ph={readContext:sg,useCallback:Kh,useContext:sg,useEffect:Eh,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Ch(4,2,Hh.bind(null,b,a),c)},useLayoutEffect:function(a,b){return Ch(4,2,a,b)},useMemo:function(a,b){var c=th();b=void 0===b?null:b;a=a();c.memoizedState=[a,\nb];return a},useReducer:function(a,b,c){var d=th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={pending:null,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};a=a.dispatch=zh.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=th();a={current:a};return b.memoizedState=a},useState:yh,useDebugValue:Jh,useResponder:ih,useDeferredValue:function(a,b){var c=yh(a),d=c[0],e=c[1];Eh(function(){var c=kh.suspense;kh.suspense=void 0===b?null:b;try{e(a)}finally{kh.suspense=\nc}},[a,b]);return d},useTransition:function(a){var b=yh(!1),c=b[0];b=b[1];return[Kh(Nh.bind(null,b,a),[b,a]),c]}},qh={readContext:sg,useCallback:Lh,useContext:sg,useEffect:Fh,useImperativeHandle:Ih,useLayoutEffect:Gh,useMemo:Mh,useReducer:wh,useRef:Bh,useState:function(){return wh(vh)},useDebugValue:Jh,useResponder:ih,useDeferredValue:function(a,b){var c=wh(vh),d=c[0],e=c[1];Fh(function(){var c=kh.suspense;kh.suspense=void 0===b?null:b;try{e(a)}finally{kh.suspense=c}},[a,b]);return d},useTransition:function(a){var b=\nwh(vh),c=b[0];b=b[1];return[Lh(Nh.bind(null,b,a),[b,a]),c]}},rh={readContext:sg,useCallback:Lh,useContext:sg,useEffect:Fh,useImperativeHandle:Ih,useLayoutEffect:Gh,useMemo:Mh,useReducer:xh,useRef:Bh,useState:function(){return xh(vh)},useDebugValue:Jh,useResponder:ih,useDeferredValue:function(a,b){var c=xh(vh),d=c[0],e=c[1];Fh(function(){var c=kh.suspense;kh.suspense=void 0===b?null:b;try{e(a)}finally{kh.suspense=c}},[a,b]);return d},useTransition:function(a){var b=xh(vh),c=b[0];b=b[1];return[Lh(Nh.bind(null,\nb,a),[b,a]),c]}},Oh=null,Ph=null,Qh=!1;function Rh(a,b){var c=Sh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.effectTag=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}\nfunction Th(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction Uh(a){if(Qh){var b=Ph;if(b){var c=b;if(!Th(a,b)){b=Jd(c.nextSibling);if(!b||!Th(a,b)){a.effectTag=a.effectTag&-1025|2;Qh=!1;Oh=a;return}Rh(Oh,c)}Oh=a;Ph=Jd(b.firstChild)}else a.effectTag=a.effectTag&-1025|2,Qh=!1,Oh=a}}function Vh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;Oh=a}\nfunction Wh(a){if(a!==Oh)return!1;if(!Qh)return Vh(a),Qh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!Gd(b,a.memoizedProps))for(b=Ph;b;)Rh(a,b),b=Jd(b.nextSibling);Vh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(u(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(c===Ad){if(0===b){Ph=Jd(a.nextSibling);break a}b--}else c!==zd&&c!==Cd&&c!==Bd||b++}a=a.nextSibling}Ph=null}}else Ph=Oh?Jd(a.stateNode.nextSibling):null;return!0}\nfunction Xh(){Ph=Oh=null;Qh=!1}var Yh=Wa.ReactCurrentOwner,rg=!1;function R(a,b,c,d){b.child=null===a?Yg(b,null,c,d):Xg(b,a.child,c,d)}function Zh(a,b,c,d,e){c=c.render;var f=b.ref;qg(b,e);d=oh(a,b,c,d,f,e);if(null!==a&&!rg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),$h(a,b,e);b.effectTag|=1;R(a,b,d,e);return b.child}\nfunction ai(a,b,c,d,e,f){if(null===a){var g=c.type;if(\"function\"===typeof g&&!bi(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,ci(a,b,g,d,e,f);a=Ug(c.type,null,d,null,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(e<f&&(e=g.memoizedProps,c=c.compare,c=null!==c?c:bf,c(e,d)&&a.ref===b.ref))return $h(a,b,f);b.effectTag|=1;a=Sg(g,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction ci(a,b,c,d,e,f){return null!==a&&bf(a.memoizedProps,d)&&a.ref===b.ref&&(rg=!1,e<f)?(b.expirationTime=a.expirationTime,$h(a,b,f)):di(a,b,c,d,f)}function ei(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.effectTag|=128}function di(a,b,c,d,e){var f=L(c)?Bf:J.current;f=Cf(b,f);qg(b,e);c=oh(a,b,c,d,f,e);if(null!==a&&!rg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),$h(a,b,e);b.effectTag|=1;R(a,b,c,e);return b.child}\nfunction fi(a,b,c,d,e){if(L(c)){var f=!0;Gf(b)}else f=!1;qg(b,e);if(null===b.stateNode)null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2),Lg(b,c,d),Ng(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=sg(l):(l=L(c)?Bf:J.current,l=Cf(b,l));var m=c.getDerivedStateFromProps,p=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;p||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\n\"function\"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Mg(b,g,d,l);tg=!1;var x=b.memoizedState;g.state=x;zg(b,d,g,e);k=b.memoizedState;h!==d||x!==k||K.current||tg?(\"function\"===typeof m&&(Fg(b,c,m,d),k=b.memoizedState),(h=tg||Kg(b,c,h,d,x,k,l))?(p||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===\ntypeof g.componentDidMount&&(b.effectTag|=4)):(\"function\"===typeof g.componentDidMount&&(b.effectTag|=4),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.effectTag|=4),d=!1)}else g=b.stateNode,vg(a,b),h=b.memoizedProps,g.props=b.type===b.elementType?h:ig(b.type,h),k=g.context,l=c.contextType,\"object\"===typeof l&&null!==l?l=sg(l):(l=L(c)?Bf:J.current,l=Cf(b,l)),m=c.getDerivedStateFromProps,(p=\"function\"===typeof m||\"function\"===\ntypeof g.getSnapshotBeforeUpdate)||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Mg(b,g,d,l),tg=!1,k=b.memoizedState,g.state=k,zg(b,d,g,e),x=b.memoizedState,h!==d||k!==x||K.current||tg?(\"function\"===typeof m&&(Fg(b,c,m,d),x=b.memoizedState),(m=tg||Kg(b,c,h,d,k,x,l))?(p||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,\nx,l),\"function\"===typeof g.UNSAFE_componentWillUpdate&&g.UNSAFE_componentWillUpdate(d,x,l)),\"function\"===typeof g.componentDidUpdate&&(b.effectTag|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.effectTag|=256)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=256),b.memoizedProps=d,b.memoizedState=x),g.props=d,g.state=x,g.context=l,d=m):\n(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=256),d=!1);return gi(a,b,c,d,f,e)}\nfunction gi(a,b,c,d,e,f){ei(a,b);var g=0!==(b.effectTag&64);if(!d&&!g)return e&&Hf(b,c,!1),$h(a,b,f);d=b.stateNode;Yh.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.effectTag|=1;null!==a&&g?(b.child=Xg(b,a.child,null,f),b.child=Xg(b,null,h,f)):R(a,b,h,f);b.memoizedState=d.state;e&&Hf(b,c,!0);return b.child}function hi(a){var b=a.stateNode;b.pendingContext?Ef(a,b.pendingContext,b.pendingContext!==b.context):b.context&&Ef(a,b.context,!1);dh(a,b.containerInfo)}\nvar ii={dehydrated:null,retryTime:0};\nfunction ji(a,b,c){var d=b.mode,e=b.pendingProps,f=M.current,g=!1,h;(h=0!==(b.effectTag&64))||(h=0!==(f&2)&&(null===a||null!==a.memoizedState));h?(g=!0,b.effectTag&=-65):null!==a&&null===a.memoizedState||void 0===e.fallback||!0===e.unstable_avoidThisFallback||(f|=1);I(M,f&1);if(null===a){void 0!==e.fallback&&Uh(b);if(g){g=e.fallback;e=Wg(null,d,0,null);e.return=b;if(0===(b.mode&2))for(a=null!==b.memoizedState?b.child.child:b.child,e.child=a;null!==a;)a.return=e,a=a.sibling;c=Wg(g,d,c,null);c.return=\nb;e.sibling=c;b.memoizedState=ii;b.child=e;return c}d=e.children;b.memoizedState=null;return b.child=Yg(b,null,d,c)}if(null!==a.memoizedState){a=a.child;d=a.sibling;if(g){e=e.fallback;c=Sg(a,a.pendingProps);c.return=b;if(0===(b.mode&2)&&(g=null!==b.memoizedState?b.child.child:b.child,g!==a.child))for(c.child=g;null!==g;)g.return=c,g=g.sibling;d=Sg(d,e);d.return=b;c.sibling=d;c.childExpirationTime=0;b.memoizedState=ii;b.child=c;return d}c=Xg(b,a.child,e.children,c);b.memoizedState=null;return b.child=\nc}a=a.child;if(g){g=e.fallback;e=Wg(null,d,0,null);e.return=b;e.child=a;null!==a&&(a.return=e);if(0===(b.mode&2))for(a=null!==b.memoizedState?b.child.child:b.child,e.child=a;null!==a;)a.return=e,a=a.sibling;c=Wg(g,d,c,null);c.return=b;e.sibling=c;c.effectTag|=2;e.childExpirationTime=0;b.memoizedState=ii;b.child=e;return c}b.memoizedState=null;return b.child=Xg(b,a,e.children,c)}\nfunction ki(a,b){a.expirationTime<b&&(a.expirationTime=b);var c=a.alternate;null!==c&&c.expirationTime<b&&(c.expirationTime=b);pg(a.return,b)}function li(a,b,c,d,e,f){var g=a.memoizedState;null===g?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailExpiration:0,tailMode:e,lastEffect:f}:(g.isBackwards=b,g.rendering=null,g.renderingStartTime=0,g.last=d,g.tail=c,g.tailExpiration=0,g.tailMode=e,g.lastEffect=f)}\nfunction mi(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;R(a,b,d.children,c);d=M.current;if(0!==(d&2))d=d&1|2,b.effectTag|=64;else{if(null!==a&&0!==(a.effectTag&64))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&ki(a,c);else if(19===a.tag)ki(a,c);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}I(M,d);if(0===(b.mode&2))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===hh(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);li(b,!1,e,c,f,b.lastEffect);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===hh(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}li(b,!0,c,null,f,b.lastEffect);break;case \"together\":li(b,!1,null,null,void 0,b.lastEffect);break;default:b.memoizedState=null}return b.child}\nfunction $h(a,b,c){null!==a&&(b.dependencies=a.dependencies);var d=b.expirationTime;0!==d&&Bg(d);if(b.childExpirationTime<c)return null;if(null!==a&&b.child!==a.child)throw Error(u(153));if(null!==b.child){a=b.child;c=Sg(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Sg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}var ni,oi,pi,qi;\nni=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};oi=function(){};\npi=function(a,b,c,d,e){var f=a.memoizedProps;if(f!==d){var g=b.stateNode;ch($g.current);a=null;switch(c){case \"input\":f=zb(g,f);d=zb(g,d);a=[];break;case \"option\":f=Gb(g,f);d=Gb(g,d);a=[];break;case \"select\":f=n({},f,{value:void 0});d=n({},d,{value:void 0});a=[];break;case \"textarea\":f=Ib(g,f);d=Ib(g,d);a=[];break;default:\"function\"!==typeof f.onClick&&\"function\"===typeof d.onClick&&(g.onclick=sd)}od(c,d);var h,k;c=null;for(h in f)if(!d.hasOwnProperty(h)&&f.hasOwnProperty(h)&&null!=f[h])if(\"style\"===\nh)for(k in g=f[h],g)g.hasOwnProperty(k)&&(c||(c={}),c[k]=\"\");else\"dangerouslySetInnerHTML\"!==h&&\"children\"!==h&&\"suppressContentEditableWarning\"!==h&&\"suppressHydrationWarning\"!==h&&\"autoFocus\"!==h&&(va.hasOwnProperty(h)?a||(a=[]):(a=a||[]).push(h,null));for(h in d){var l=d[h];g=null!=f?f[h]:void 0;if(d.hasOwnProperty(h)&&l!==g&&(null!=l||null!=g))if(\"style\"===h)if(g){for(k in g)!g.hasOwnProperty(k)||l&&l.hasOwnProperty(k)||(c||(c={}),c[k]=\"\");for(k in l)l.hasOwnProperty(k)&&g[k]!==l[k]&&(c||(c={}),\nc[k]=l[k])}else c||(a||(a=[]),a.push(h,c)),c=l;else\"dangerouslySetInnerHTML\"===h?(l=l?l.__html:void 0,g=g?g.__html:void 0,null!=l&&g!==l&&(a=a||[]).push(h,l)):\"children\"===h?g===l||\"string\"!==typeof l&&\"number\"!==typeof l||(a=a||[]).push(h,\"\"+l):\"suppressContentEditableWarning\"!==h&&\"suppressHydrationWarning\"!==h&&(va.hasOwnProperty(h)?(null!=l&&rd(e,h),a||g===l||(a=[])):(a=a||[]).push(h,l))}c&&(a=a||[]).push(\"style\",c);e=a;if(b.updateQueue=e)b.effectTag|=4}};\nqi=function(a,b,c,d){c!==d&&(b.effectTag|=4)};function ri(a,b){switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction si(a,b,c){var d=b.pendingProps;switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return L(b.type)&&Df(),null;case 3:return eh(),H(K),H(J),c=b.stateNode,c.pendingContext&&(c.context=c.pendingContext,c.pendingContext=null),null!==a&&null!==a.child||!Wh(b)||(b.effectTag|=4),oi(b),null;case 5:gh(b);c=ch(bh.current);var e=b.type;if(null!==a&&null!=b.stateNode)pi(a,b,e,d,c),a.ref!==b.ref&&(b.effectTag|=128);else{if(!d){if(null===b.stateNode)throw Error(u(166));\nreturn null}a=ch($g.current);if(Wh(b)){d=b.stateNode;e=b.type;var f=b.memoizedProps;d[Md]=b;d[Nd]=f;switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",d);break;case \"video\":case \"audio\":for(a=0;a<ac.length;a++)F(ac[a],d);break;case \"source\":F(\"error\",d);break;case \"img\":case \"image\":case \"link\":F(\"error\",d);F(\"load\",d);break;case \"form\":F(\"reset\",d);F(\"submit\",d);break;case \"details\":F(\"toggle\",d);break;case \"input\":Ab(d,f);F(\"invalid\",d);rd(c,\"onChange\");break;case \"select\":d._wrapperState=\n{wasMultiple:!!f.multiple};F(\"invalid\",d);rd(c,\"onChange\");break;case \"textarea\":Jb(d,f),F(\"invalid\",d),rd(c,\"onChange\")}od(e,f);a=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(a=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(a=[\"children\",\"\"+h]):va.hasOwnProperty(g)&&null!=h&&rd(c,g)}switch(e){case \"input\":xb(d);Eb(d,f,!0);break;case \"textarea\":xb(d);Lb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&\n(d.onclick=sd)}c=a;b.updateQueue=c;null!==c&&(b.effectTag|=4)}else{g=9===c.nodeType?c:c.ownerDocument;a===qd&&(a=Nb(e));a===qd?\"script\"===e?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(e,{is:d.is}):(a=g.createElement(e),\"select\"===e&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,e);a[Md]=b;a[Nd]=d;ni(a,b,!1,!1);b.stateNode=a;g=pd(e,d);switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\na);h=d;break;case \"video\":case \"audio\":for(h=0;h<ac.length;h++)F(ac[h],a);h=d;break;case \"source\":F(\"error\",a);h=d;break;case \"img\":case \"image\":case \"link\":F(\"error\",a);F(\"load\",a);h=d;break;case \"form\":F(\"reset\",a);F(\"submit\",a);h=d;break;case \"details\":F(\"toggle\",a);h=d;break;case \"input\":Ab(a,d);h=zb(a,d);F(\"invalid\",a);rd(c,\"onChange\");break;case \"option\":h=Gb(a,d);break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};h=n({},d,{value:void 0});F(\"invalid\",a);rd(c,\"onChange\");break;case \"textarea\":Jb(a,\nd);h=Ib(a,d);F(\"invalid\",a);rd(c,\"onChange\");break;default:h=d}od(e,h);var k=h;for(f in k)if(k.hasOwnProperty(f)){var l=k[f];\"style\"===f?md(a,l):\"dangerouslySetInnerHTML\"===f?(l=l?l.__html:void 0,null!=l&&Qb(a,l)):\"children\"===f?\"string\"===typeof l?(\"textarea\"!==e||\"\"!==l)&&Rb(a,l):\"number\"===typeof l&&Rb(a,\"\"+l):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(va.hasOwnProperty(f)?null!=l&&rd(c,f):null!=l&&Xa(a,f,l,g))}switch(e){case \"input\":xb(a);Eb(a,d,!1);\nbreak;case \"textarea\":xb(a);Lb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+rb(d.value));break;case \"select\":a.multiple=!!d.multiple;c=d.value;null!=c?Hb(a,!!d.multiple,c,!1):null!=d.defaultValue&&Hb(a,!!d.multiple,d.defaultValue,!0);break;default:\"function\"===typeof h.onClick&&(a.onclick=sd)}Fd(e,d)&&(b.effectTag|=4)}null!==b.ref&&(b.effectTag|=128)}return null;case 6:if(a&&null!=b.stateNode)qi(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(u(166));\nc=ch(bh.current);ch($g.current);Wh(b)?(c=b.stateNode,d=b.memoizedProps,c[Md]=b,c.nodeValue!==d&&(b.effectTag|=4)):(c=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),c[Md]=b,b.stateNode=c)}return null;case 13:H(M);d=b.memoizedState;if(0!==(b.effectTag&64))return b.expirationTime=c,b;c=null!==d;d=!1;null===a?void 0!==b.memoizedProps.fallback&&Wh(b):(e=a.memoizedState,d=null!==e,c||null===e||(e=a.child.sibling,null!==e&&(f=b.firstEffect,null!==f?(b.firstEffect=e,e.nextEffect=f):(b.firstEffect=b.lastEffect=\ne,e.nextEffect=null),e.effectTag=8)));if(c&&!d&&0!==(b.mode&2))if(null===a&&!0!==b.memoizedProps.unstable_avoidThisFallback||0!==(M.current&1))S===ti&&(S=ui);else{if(S===ti||S===ui)S=vi;0!==wi&&null!==T&&(xi(T,U),yi(T,wi))}if(c||d)b.effectTag|=4;return null;case 4:return eh(),oi(b),null;case 10:return og(b),null;case 17:return L(b.type)&&Df(),null;case 19:H(M);d=b.memoizedState;if(null===d)return null;e=0!==(b.effectTag&64);f=d.rendering;if(null===f)if(e)ri(d,!1);else{if(S!==ti||null!==a&&0!==(a.effectTag&\n64))for(f=b.child;null!==f;){a=hh(f);if(null!==a){b.effectTag|=64;ri(d,!1);e=a.updateQueue;null!==e&&(b.updateQueue=e,b.effectTag|=4);null===d.lastEffect&&(b.firstEffect=null);b.lastEffect=d.lastEffect;for(d=b.child;null!==d;)e=d,f=c,e.effectTag&=2,e.nextEffect=null,e.firstEffect=null,e.lastEffect=null,a=e.alternate,null===a?(e.childExpirationTime=0,e.expirationTime=f,e.child=null,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null):(e.childExpirationTime=a.childExpirationTime,\ne.expirationTime=a.expirationTime,e.child=a.child,e.memoizedProps=a.memoizedProps,e.memoizedState=a.memoizedState,e.updateQueue=a.updateQueue,f=a.dependencies,e.dependencies=null===f?null:{expirationTime:f.expirationTime,firstContext:f.firstContext,responders:f.responders}),d=d.sibling;I(M,M.current&1|2);return b.child}f=f.sibling}}else{if(!e)if(a=hh(f),null!==a){if(b.effectTag|=64,e=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.effectTag|=4),ri(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!f.alternate)return b=\nb.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*$f()-d.renderingStartTime>d.tailExpiration&&1<c&&(b.effectTag|=64,e=!0,ri(d,!1),b.expirationTime=b.childExpirationTime=c-1);d.isBackwards?(f.sibling=b.child,b.child=f):(c=d.last,null!==c?c.sibling=f:b.child=f,d.last=f)}return null!==d.tail?(0===d.tailExpiration&&(d.tailExpiration=$f()+500),c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=$f(),c.sibling=null,b=M.current,I(M,e?b&1|2:b&1),c):null}throw Error(u(156,\nb.tag));}function zi(a){switch(a.tag){case 1:L(a.type)&&Df();var b=a.effectTag;return b&4096?(a.effectTag=b&-4097|64,a):null;case 3:eh();H(K);H(J);b=a.effectTag;if(0!==(b&64))throw Error(u(285));a.effectTag=b&-4097|64;return a;case 5:return gh(a),null;case 13:return H(M),b=a.effectTag,b&4096?(a.effectTag=b&-4097|64,a):null;case 19:return H(M),null;case 4:return eh(),null;case 10:return og(a),null;default:return null}}function Ai(a,b){return{value:a,source:b,stack:qb(b)}}\nvar Bi=\"function\"===typeof WeakSet?WeakSet:Set;function Ci(a,b){var c=b.source,d=b.stack;null===d&&null!==c&&(d=qb(c));null!==c&&pb(c.type);b=b.value;null!==a&&1===a.tag&&pb(a.type);try{console.error(b)}catch(e){setTimeout(function(){throw e;})}}function Di(a,b){try{b.props=a.memoizedProps,b.state=a.memoizedState,b.componentWillUnmount()}catch(c){Ei(a,c)}}function Fi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Ei(a,c)}else b.current=null}\nfunction Gi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.effectTag&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:ig(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:case 5:case 6:case 4:case 17:return}throw Error(u(163));}\nfunction Hi(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.destroy;c.destroy=void 0;void 0!==d&&d()}c=c.next}while(c!==b)}}function Ii(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}\nfunction Ji(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:Ii(3,c);return;case 1:a=c.stateNode;if(c.effectTag&4)if(null===b)a.componentDidMount();else{var d=c.elementType===c.type?b.memoizedProps:ig(c.type,b.memoizedProps);a.componentDidUpdate(d,b.memoizedState,a.__reactInternalSnapshotBeforeUpdate)}b=c.updateQueue;null!==b&&Cg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Cg(c,b,a)}return;\ncase 5:a=c.stateNode;null===b&&c.effectTag&4&&Fd(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Vc(c))));return;case 19:case 17:case 20:case 21:return}throw Error(u(163));}\nfunction Ki(a,b,c){\"function\"===typeof Li&&Li(b);switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var d=a.next;cg(97<c?97:c,function(){var a=d;do{var c=a.destroy;if(void 0!==c){var g=b;try{c()}catch(h){Ei(g,h)}}a=a.next}while(a!==d)})}break;case 1:Fi(b);c=b.stateNode;\"function\"===typeof c.componentWillUnmount&&Di(b,c);break;case 5:Fi(b);break;case 4:Mi(a,b,c)}}\nfunction Ni(a){var b=a.alternate;a.return=null;a.child=null;a.memoizedState=null;a.updateQueue=null;a.dependencies=null;a.alternate=null;a.firstEffect=null;a.lastEffect=null;a.pendingProps=null;a.memoizedProps=null;a.stateNode=null;null!==b&&Ni(b)}function Oi(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Pi(a){a:{for(var b=a.return;null!==b;){if(Oi(b)){var c=b;break a}b=b.return}throw Error(u(160));}b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(u(161));}c.effectTag&16&&(Rb(b,\"\"),c.effectTag&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||Oi(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.effectTag&2)continue b;\nif(null===c.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.effectTag&2)){c=c.stateNode;break a}}d?Qi(a,c,b):Ri(a,c,b)}\nfunction Qi(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=sd));else if(4!==d&&(a=a.child,null!==a))for(Qi(a,b,c),a=a.sibling;null!==a;)Qi(a,b,c),a=a.sibling}\nfunction Ri(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Ri(a,b,c),a=a.sibling;null!==a;)Ri(a,b,c),a=a.sibling}\nfunction Mi(a,b,c){for(var d=b,e=!1,f,g;;){if(!e){e=d.return;a:for(;;){if(null===e)throw Error(u(160));f=e.stateNode;switch(e.tag){case 5:g=!1;break a;case 3:f=f.containerInfo;g=!0;break a;case 4:f=f.containerInfo;g=!0;break a}e=e.return}e=!0}if(5===d.tag||6===d.tag){a:for(var h=a,k=d,l=c,m=k;;)if(Ki(h,m,l),null!==m.child&&4!==m.tag)m.child.return=m,m=m.child;else{if(m===k)break a;for(;null===m.sibling;){if(null===m.return||m.return===k)break a;m=m.return}m.sibling.return=m.return;m=m.sibling}g?(h=\nf,k=d.stateNode,8===h.nodeType?h.parentNode.removeChild(k):h.removeChild(k)):f.removeChild(d.stateNode)}else if(4===d.tag){if(null!==d.child){f=d.stateNode.containerInfo;g=!0;d.child.return=d;d=d.child;continue}}else if(Ki(a,d,c),null!==d.child){d.child.return=d;d=d.child;continue}if(d===b)break;for(;null===d.sibling;){if(null===d.return||d.return===b)return;d=d.return;4===d.tag&&(e=!1)}d.sibling.return=d.return;d=d.sibling}}\nfunction Si(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:Hi(3,b);return;case 1:return;case 5:var c=b.stateNode;if(null!=c){var d=b.memoizedProps,e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[Nd]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&Bb(c,d);pd(a,e);b=pd(a,d);for(e=0;e<f.length;e+=2){var g=f[e],h=f[e+1];\"style\"===g?md(c,h):\"dangerouslySetInnerHTML\"===g?Qb(c,h):\"children\"===g?Rb(c,h):Xa(c,g,h,b)}switch(a){case \"input\":Cb(c,d);break;\ncase \"textarea\":Kb(c,d);break;case \"select\":b=c._wrapperState.wasMultiple,c._wrapperState.wasMultiple=!!d.multiple,a=d.value,null!=a?Hb(c,!!d.multiple,a,!1):b!==!!d.multiple&&(null!=d.defaultValue?Hb(c,!!d.multiple,d.defaultValue,!0):Hb(c,!!d.multiple,d.multiple?[]:\"\",!1))}}}return;case 6:if(null===b.stateNode)throw Error(u(162));b.stateNode.nodeValue=b.memoizedProps;return;case 3:b=b.stateNode;b.hydrate&&(b.hydrate=!1,Vc(b.containerInfo));return;case 12:return;case 13:c=b;null===b.memoizedState?\nd=!1:(d=!0,c=b.child,Ti=$f());if(null!==c)a:for(a=c;;){if(5===a.tag)f=a.stateNode,d?(f=f.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(f=a.stateNode,e=a.memoizedProps.style,e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null,f.style.display=ld(\"display\",e));else if(6===a.tag)a.stateNode.nodeValue=d?\"\":a.memoizedProps;else if(13===a.tag&&null!==a.memoizedState&&null===a.memoizedState.dehydrated){f=a.child.sibling;f.return=a;a=\nf;continue}else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===c)break;for(;null===a.sibling;){if(null===a.return||a.return===c)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}Ui(b);return;case 19:Ui(b);return;case 17:return}throw Error(u(163));}function Ui(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Bi);b.forEach(function(b){var d=Vi.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nvar Wi=\"function\"===typeof WeakMap?WeakMap:Map;function Xi(a,b,c){c=wg(c,null);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Yi||(Yi=!0,Zi=d);Ci(a,b)};return c}\nfunction $i(a,b,c){c=wg(c,null);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ci(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===aj?aj=new Set([this]):aj.add(this),Ci(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nvar bj=Math.ceil,cj=Wa.ReactCurrentDispatcher,dj=Wa.ReactCurrentOwner,V=0,ej=8,fj=16,gj=32,ti=0,hj=1,ij=2,ui=3,vi=4,jj=5,W=V,T=null,X=null,U=0,S=ti,kj=null,lj=1073741823,mj=1073741823,nj=null,wi=0,oj=!1,Ti=0,pj=500,Y=null,Yi=!1,Zi=null,aj=null,qj=!1,rj=null,sj=90,tj=null,uj=0,vj=null,wj=0;function Gg(){return(W&(fj|gj))!==V?1073741821-($f()/10|0):0!==wj?wj:wj=1073741821-($f()/10|0)}\nfunction Hg(a,b,c){b=b.mode;if(0===(b&2))return 1073741823;var d=ag();if(0===(b&4))return 99===d?1073741823:1073741822;if((W&fj)!==V)return U;if(null!==c)a=hg(a,c.timeoutMs|0||5E3,250);else switch(d){case 99:a=1073741823;break;case 98:a=hg(a,150,100);break;case 97:case 96:a=hg(a,5E3,250);break;case 95:a=2;break;default:throw Error(u(326));}null!==T&&a===U&&--a;return a}\nfunction Ig(a,b){if(50<uj)throw uj=0,vj=null,Error(u(185));a=xj(a,b);if(null!==a){var c=ag();1073741823===b?(W&ej)!==V&&(W&(fj|gj))===V?yj(a):(Z(a),W===V&&gg()):Z(a);(W&4)===V||98!==c&&99!==c||(null===tj?tj=new Map([[a,b]]):(c=tj.get(a),(void 0===c||c>b)&&tj.set(a,b)))}}\nfunction xj(a,b){a.expirationTime<b&&(a.expirationTime=b);var c=a.alternate;null!==c&&c.expirationTime<b&&(c.expirationTime=b);var d=a.return,e=null;if(null===d&&3===a.tag)e=a.stateNode;else for(;null!==d;){c=d.alternate;d.childExpirationTime<b&&(d.childExpirationTime=b);null!==c&&c.childExpirationTime<b&&(c.childExpirationTime=b);if(null===d.return&&3===d.tag){e=d.stateNode;break}d=d.return}null!==e&&(T===e&&(Bg(b),S===vi&&xi(e,U)),yi(e,b));return e}\nfunction zj(a){var b=a.lastExpiredTime;if(0!==b)return b;b=a.firstPendingTime;if(!Aj(a,b))return b;var c=a.lastPingedTime;a=a.nextKnownPendingLevel;a=c>a?c:a;return 2>=a&&b!==a?0:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=eg(yj.bind(null,a));else{var b=zj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Gg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Tf&&Kf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?eg(yj.bind(null,a)):dg(d,Bj.bind(null,a),{timeout:10*(1073741821-b)-$f()});a.callbackNode=b}}}\nfunction Bj(a,b){wj=0;if(b)return b=Gg(),Cj(a,b),Z(a),null;var c=zj(a);if(0!==c){b=a.callbackNode;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&c===U||Ej(a,c);if(null!==X){var d=W;W|=fj;var e=Fj();do try{Gj();break}catch(h){Hj(a,h)}while(1);ng();W=d;cj.current=e;if(S===hj)throw b=kj,Ej(a,c),xi(a,c),Z(a),b;if(null===X)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=S,T=null,d){case ti:case hj:throw Error(u(345));case ij:Cj(a,2<c?2:c);break;case ui:xi(a,c);d=a.lastSuspendedTime;\nc===d&&(a.nextKnownPendingLevel=Ij(e));if(1073741823===lj&&(e=Ti+pj-$f(),10<e)){if(oj){var f=a.lastPingedTime;if(0===f||f>=c){a.lastPingedTime=c;Ej(a,c);break}}f=zj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=Hd(Jj.bind(null,a),e);break}Jj(a);break;case vi:xi(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ij(e));if(oj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Ej(a,c);break}e=zj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==mj?d=10*(1073741821-mj)-$f():1073741823===lj?d=0:(d=10*(1073741821-lj)-5E3,e=$f(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*bj(d/1960))-d,c<d&&(d=c));if(10<d){a.timeoutHandle=Hd(Jj.bind(null,a),d);break}Jj(a);break;case jj:if(1073741823!==lj&&null!==nj){f=lj;var g=nj;d=g.busyMinDurationMs|0;0>=d?d=0:(e=g.busyDelayMs|0,f=$f()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10<d){xi(a,c);a.timeoutHandle=\nHd(Jj.bind(null,a),d);break}}Jj(a);break;default:throw Error(u(329));}Z(a);if(a.callbackNode===b)return Bj.bind(null,a)}}return null}\nfunction yj(a){var b=a.lastExpiredTime;b=0!==b?b:1073741823;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&b===U||Ej(a,b);if(null!==X){var c=W;W|=fj;var d=Fj();do try{Kj();break}catch(e){Hj(a,e)}while(1);ng();W=c;cj.current=d;if(S===hj)throw c=kj,Ej(a,b),xi(a,b),Z(a),c;if(null!==X)throw Error(u(261));a.finishedWork=a.current.alternate;a.finishedExpirationTime=b;T=null;Jj(a);Z(a)}return null}function Lj(){if(null!==tj){var a=tj;tj=null;a.forEach(function(a,c){Cj(c,a);Z(c)});gg()}}\nfunction Mj(a,b){var c=W;W|=1;try{return a(b)}finally{W=c,W===V&&gg()}}function Nj(a,b){var c=W;W&=-2;W|=ej;try{return a(b)}finally{W=c,W===V&&gg()}}\nfunction Ej(a,b){a.finishedWork=null;a.finishedExpirationTime=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Id(c));if(null!==X)for(c=X.return;null!==c;){var d=c;switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&Df();break;case 3:eh();H(K);H(J);break;case 5:gh(d);break;case 4:eh();break;case 13:H(M);break;case 19:H(M);break;case 10:og(d)}c=c.return}T=a;X=Sg(a.current,null);U=b;S=ti;kj=null;mj=lj=1073741823;nj=null;wi=0;oj=!1}\nfunction Hj(a,b){do{try{ng();jh.current=sh;if(mh)for(var c=N.memoizedState;null!==c;){var d=c.queue;null!==d&&(d.pending=null);c=c.next}lh=0;P=O=N=null;mh=!1;if(null===X||null===X.return)return S=hj,kj=b,X=null;a:{var e=a,f=X.return,g=X,h=b;b=U;g.effectTag|=2048;g.firstEffect=g.lastEffect=null;if(null!==h&&\"object\"===typeof h&&\"function\"===typeof h.then){var k=h;if(0===(g.mode&2)){var l=g.alternate;l?(g.updateQueue=l.updateQueue,g.memoizedState=l.memoizedState,g.expirationTime=l.expirationTime):(g.updateQueue=\nnull,g.memoizedState=null)}var m=0!==(M.current&1),p=f;do{var x;if(x=13===p.tag){var z=p.memoizedState;if(null!==z)x=null!==z.dehydrated?!0:!1;else{var ca=p.memoizedProps;x=void 0===ca.fallback?!1:!0!==ca.unstable_avoidThisFallback?!0:m?!1:!0}}if(x){var D=p.updateQueue;if(null===D){var t=new Set;t.add(k);p.updateQueue=t}else D.add(k);if(0===(p.mode&2)){p.effectTag|=64;g.effectTag&=-2981;if(1===g.tag)if(null===g.alternate)g.tag=17;else{var y=wg(1073741823,null);y.tag=2;xg(g,y)}g.expirationTime=1073741823;\nbreak a}h=void 0;g=b;var A=e.pingCache;null===A?(A=e.pingCache=new Wi,h=new Set,A.set(k,h)):(h=A.get(k),void 0===h&&(h=new Set,A.set(k,h)));if(!h.has(g)){h.add(g);var q=Oj.bind(null,e,k,g);k.then(q,q)}p.effectTag|=4096;p.expirationTime=b;break a}p=p.return}while(null!==p);h=Error((pb(g.type)||\"A React component\")+\" suspended while rendering, but no fallback UI was specified.\\n\\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.\"+qb(g))}S!==\njj&&(S=ij);h=Ai(h,g);p=f;do{switch(p.tag){case 3:k=h;p.effectTag|=4096;p.expirationTime=b;var B=Xi(p,k,b);yg(p,B);break a;case 1:k=h;var w=p.type,ub=p.stateNode;if(0===(p.effectTag&64)&&(\"function\"===typeof w.getDerivedStateFromError||null!==ub&&\"function\"===typeof ub.componentDidCatch&&(null===aj||!aj.has(ub)))){p.effectTag|=4096;p.expirationTime=b;var vb=$i(p,k,b);yg(p,vb);break a}}p=p.return}while(null!==p)}X=Pj(X)}catch(Xc){b=Xc;continue}break}while(1)}\nfunction Fj(){var a=cj.current;cj.current=sh;return null===a?sh:a}function Ag(a,b){a<lj&&2<a&&(lj=a);null!==b&&a<mj&&2<a&&(mj=a,nj=b)}function Bg(a){a>wi&&(wi=a)}function Kj(){for(;null!==X;)X=Qj(X)}function Gj(){for(;null!==X&&!Uf();)X=Qj(X)}function Qj(a){var b=Rj(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=Pj(a));dj.current=null;return b}\nfunction Pj(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=si(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1<X.effectTag&&(null!==\na.lastEffect?a.lastEffect.nextEffect=X:a.firstEffect=X,a.lastEffect=X))}else{b=zi(X);if(null!==b)return b.effectTag&=2047,b;null!==a&&(a.firstEffect=a.lastEffect=null,a.effectTag|=2048)}b=X.sibling;if(null!==b)return b;X=a}while(null!==X);S===ti&&(S=jj);return null}function Ij(a){var b=a.expirationTime;a=a.childExpirationTime;return b>a?b:a}function Jj(a){var b=ag();cg(99,Sj.bind(null,a,b));return null}\nfunction Sj(a,b){do Dj();while(null!==rj);if((W&(fj|gj))!==V)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Ij(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===T&&(X=T=null,U=0);1<c.effectTag?null!==c.lastEffect?(c.lastEffect.nextEffect=c,e=c.firstEffect):e=c:e=c.firstEffect;if(null!==e){var f=W;W|=gj;dj.current=null;Dd=fd;var g=xd();if(yd(g)){if(\"selectionStart\"in g)var h={start:g.selectionStart,end:g.selectionEnd};else a:{h=(h=g.ownerDocument)&&h.defaultView||window;var k=h.getSelection&&h.getSelection();if(k&&0!==k.rangeCount){h=k.anchorNode;var l=k.anchorOffset,\nm=k.focusNode;k=k.focusOffset;try{h.nodeType,m.nodeType}catch(wb){h=null;break a}var p=0,x=-1,z=-1,ca=0,D=0,t=g,y=null;b:for(;;){for(var A;;){t!==h||0!==l&&3!==t.nodeType||(x=p+l);t!==m||0!==k&&3!==t.nodeType||(z=p+k);3===t.nodeType&&(p+=t.nodeValue.length);if(null===(A=t.firstChild))break;y=t;t=A}for(;;){if(t===g)break b;y===h&&++ca===l&&(x=p);y===m&&++D===k&&(z=p);if(null!==(A=t.nextSibling))break;t=y;y=t.parentNode}t=A}h=-1===x||-1===z?null:{start:x,end:z}}else h=null}h=h||{start:0,end:0}}else h=\nnull;Ed={activeElementDetached:null,focusedElem:g,selectionRange:h};fd=!1;Y=e;do try{Tj()}catch(wb){if(null===Y)throw Error(u(330));Ei(Y,wb);Y=Y.nextEffect}while(null!==Y);Y=e;do try{for(g=a,h=b;null!==Y;){var q=Y.effectTag;q&16&&Rb(Y.stateNode,\"\");if(q&128){var B=Y.alternate;if(null!==B){var w=B.ref;null!==w&&(\"function\"===typeof w?w(null):w.current=null)}}switch(q&1038){case 2:Pi(Y);Y.effectTag&=-3;break;case 6:Pi(Y);Y.effectTag&=-3;Si(Y.alternate,Y);break;case 1024:Y.effectTag&=-1025;break;case 1028:Y.effectTag&=\n-1025;Si(Y.alternate,Y);break;case 4:Si(Y.alternate,Y);break;case 8:l=Y,Mi(g,l,h),Ni(l)}Y=Y.nextEffect}}catch(wb){if(null===Y)throw Error(u(330));Ei(Y,wb);Y=Y.nextEffect}while(null!==Y);w=Ed;B=xd();q=w.focusedElem;h=w.selectionRange;if(B!==q&&q&&q.ownerDocument&&wd(q.ownerDocument.documentElement,q)){null!==h&&yd(q)&&(B=h.start,w=h.end,void 0===w&&(w=B),\"selectionStart\"in q?(q.selectionStart=B,q.selectionEnd=Math.min(w,q.value.length)):(w=(B=q.ownerDocument||document)&&B.defaultView||window,w.getSelection&&\n(w=w.getSelection(),l=q.textContent.length,g=Math.min(h.start,l),h=void 0===h.end?g:Math.min(h.end,l),!w.extend&&g>h&&(l=h,h=g,g=l),l=vd(q,g),m=vd(q,h),l&&m&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==m.node||w.focusOffset!==m.offset)&&(B=B.createRange(),B.setStart(l.node,l.offset),w.removeAllRanges(),g>h?(w.addRange(B),w.extend(m.node,m.offset)):(B.setEnd(m.node,m.offset),w.addRange(B))))));B=[];for(w=q;w=w.parentNode;)1===w.nodeType&&B.push({element:w,left:w.scrollLeft,\ntop:w.scrollTop});\"function\"===typeof q.focus&&q.focus();for(q=0;q<B.length;q++)w=B[q],w.element.scrollLeft=w.left,w.element.scrollTop=w.top}fd=!!Dd;Ed=Dd=null;a.current=c;Y=e;do try{for(q=a;null!==Y;){var ub=Y.effectTag;ub&36&&Ji(q,Y.alternate,Y);if(ub&128){B=void 0;var vb=Y.ref;if(null!==vb){var Xc=Y.stateNode;switch(Y.tag){case 5:B=Xc;break;default:B=Xc}\"function\"===typeof vb?vb(B):vb.current=B}}Y=Y.nextEffect}}catch(wb){if(null===Y)throw Error(u(330));Ei(Y,wb);Y=Y.nextEffect}while(null!==Y);Y=\nnull;Vf();W=f}else a.current=c;if(qj)qj=!1,rj=a,sj=b;else for(Y=e;null!==Y;)b=Y.nextEffect,Y.nextEffect=null,Y=b;b=a.firstPendingTime;0===b&&(aj=null);1073741823===b?a===vj?uj++:(uj=0,vj=a):uj=0;\"function\"===typeof Uj&&Uj(c.stateNode,d);Z(a);if(Yi)throw Yi=!1,a=Zi,Zi=null,a;if((W&ej)!==V)return null;gg();return null}function Tj(){for(;null!==Y;){var a=Y.effectTag;0!==(a&256)&&Gi(Y.alternate,Y);0===(a&512)||qj||(qj=!0,dg(97,function(){Dj();return null}));Y=Y.nextEffect}}\nfunction Dj(){if(90!==sj){var a=97<sj?97:sj;sj=90;return cg(a,Vj)}}function Vj(){if(null===rj)return!1;var a=rj;rj=null;if((W&(fj|gj))!==V)throw Error(u(331));var b=W;W|=gj;for(a=a.current.firstEffect;null!==a;){try{var c=a;if(0!==(c.effectTag&512))switch(c.tag){case 0:case 11:case 15:case 22:Hi(5,c),Ii(5,c)}}catch(d){if(null===a)throw Error(u(330));Ei(a,d)}c=a.nextEffect;a.nextEffect=null;a=c}W=b;gg();return!0}\nfunction Wj(a,b,c){b=Ai(c,b);b=Xi(a,b,1073741823);xg(a,b);a=xj(a,1073741823);null!==a&&Z(a)}function Ei(a,b){if(3===a.tag)Wj(a,a,b);else for(var c=a.return;null!==c;){if(3===c.tag){Wj(c,a,b);break}else if(1===c.tag){var d=c.stateNode;if(\"function\"===typeof c.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===aj||!aj.has(d))){a=Ai(b,a);a=$i(c,a,1073741823);xg(c,a);c=xj(c,1073741823);null!==c&&Z(c);break}}c=c.return}}\nfunction Oj(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);T===a&&U===c?S===vi||S===ui&&1073741823===lj&&$f()-Ti<pj?Ej(a,U):oj=!0:Aj(a,c)&&(b=a.lastPingedTime,0!==b&&b<c||(a.lastPingedTime=c,Z(a)))}function Vi(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=Gg(),b=Hg(b,a,null));a=xj(a,b);null!==a&&Z(a)}var Rj;\nRj=function(a,b,c){var d=b.expirationTime;if(null!==a){var e=b.pendingProps;if(a.memoizedProps!==e||K.current)rg=!0;else{if(d<c){rg=!1;switch(b.tag){case 3:hi(b);Xh();break;case 5:fh(b);if(b.mode&4&&1!==c&&e.hidden)return b.expirationTime=b.childExpirationTime=1,null;break;case 1:L(b.type)&&Gf(b);break;case 4:dh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;e=b.type._context;I(jg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){d=b.child.childExpirationTime;\nif(0!==d&&d>=c)return ji(a,b,c);I(M,M.current&1);b=$h(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return mi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current);if(!d)return null}return $h(a,b,c)}rg=!1}}else rg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Cf(b,J.current);qg(b,c);e=oh(null,\nb,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(L(d)){var f=!0;Gf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;ug(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Fg(b,d,g,a);e.updater=Jg;b.stateNode=e;e._reactInternalFiber=b;Ng(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:a:{e=b.elementType;null!==a&&(a.alternate=\nnull,b.alternate=null,b.effectTag|=2);a=b.pendingProps;ob(e);if(1!==e._status)throw e._result;e=e._result;b.type=e;f=b.tag=Xj(e);a=ig(e,a);switch(f){case 0:b=di(null,b,e,a,c);break a;case 1:b=fi(null,b,e,a,c);break a;case 11:b=Zh(null,b,e,a,c);break a;case 14:b=ai(null,b,e,ig(e.type,a),d,c);break a}throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),fi(a,b,d,e,c);\ncase 3:hi(b);d=b.updateQueue;if(null===a||null===d)throw Error(u(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;vg(a,b);zg(b,d,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=Jd(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Yg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return fh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:\nnull,g=e.children,Gd(d,e)?g=null:null!==f&&Gd(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return dh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Xg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,\nb,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(jg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=$e(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==\nk){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=wg(c,null),l.tag=2,xg(h,l));h.expirationTime<c&&(h.expirationTime=c);l=h.alternate;null!==l&&l.expirationTime<c&&(l.expirationTime=c);pg(h.return,c);k.expirationTime<c&&(k.expirationTime=c);break}l=l.next}}else g=10===h.tag?h.type===b.type?null:h.child:h.child;if(null!==g)g.return=h;else for(g=h;null!==g;){if(g===b){g=null;break}h=g.sibling;if(null!==h){h.return=g.return;g=h;break}g=g.return}h=\ng}R(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,f=b.pendingProps,d=f.children,qg(b,c),e=sg(e,f.unstable_observedBits),d=d(e),b.effectTag|=1,R(a,b,d,c),b.child;case 14:return e=b.type,f=ig(e,b.pendingProps),f=ig(e.type,f),ai(a,b,e,f,d,c);case 15:return ci(a,b,b.type,b.pendingProps,d,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2),b.tag=1,L(d)?(a=!0,Gf(b)):a=!1,qg(b,c),Lg(b,d,e),Ng(b,d,e,c),gi(null,\nb,d,!0,a,c);case 19:return mi(a,b,c)}throw Error(u(156,b.tag));};var Uj=null,Li=null;function Yj(a){if(\"undefined\"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(b.isDisabled||!b.supportsFiber)return!0;try{var c=b.inject(a);Uj=function(a){try{b.onCommitFiberRoot(c,a,void 0,64===(a.current.effectTag&64))}catch(e){}};Li=function(a){try{b.onCommitFiberUnmount(c,a)}catch(e){}}}catch(d){}return!0}\nfunction Zj(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.effectTag=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.childExpirationTime=this.expirationTime=0;this.alternate=null}function Sh(a,b,c,d){return new Zj(a,b,c,d)}\nfunction bi(a){a=a.prototype;return!(!a||!a.isReactComponent)}function Xj(a){if(\"function\"===typeof a)return bi(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===gb)return 11;if(a===jb)return 14}return 2}\nfunction Sg(a,b){var c=a.alternate;null===c?(c=Sh(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.effectTag=0,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null);c.childExpirationTime=a.childExpirationTime;c.expirationTime=a.expirationTime;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{expirationTime:b.expirationTime,\nfirstContext:b.firstContext,responders:b.responders};c.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Ug(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bi(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ab:return Wg(c.children,e,f,b);case fb:g=8;e|=7;break;case bb:g=8;e|=1;break;case cb:return a=Sh(12,c,b,e|8),a.elementType=cb,a.type=cb,a.expirationTime=f,a;case hb:return a=Sh(13,c,b,e),a.type=hb,a.elementType=hb,a.expirationTime=f,a;case ib:return a=Sh(19,c,b,e),a.elementType=ib,a.expirationTime=f,a;default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case db:g=\n10;break a;case eb:g=9;break a;case gb:g=11;break a;case jb:g=14;break a;case kb:g=16;d=null;break a;case lb:g=22;break a}throw Error(u(130,null==a?a:typeof a,\"\"));}b=Sh(g,c,b,e);b.elementType=a;b.type=d;b.expirationTime=f;return b}function Wg(a,b,c,d){a=Sh(7,a,d,b);a.expirationTime=c;return a}function Tg(a,b,c){a=Sh(6,a,null,b);a.expirationTime=c;return a}\nfunction Vg(a,b,c){b=Sh(4,null!==a.children?a.children:[],a.key,b);b.expirationTime=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction ak(a,b,c){this.tag=b;this.current=null;this.containerInfo=a;this.pingCache=this.pendingChildren=null;this.finishedExpirationTime=0;this.finishedWork=null;this.timeoutHandle=-1;this.pendingContext=this.context=null;this.hydrate=c;this.callbackNode=null;this.callbackPriority=90;this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0}\nfunction Aj(a,b){var c=a.firstSuspendedTime;a=a.lastSuspendedTime;return 0!==c&&c>=b&&a<=b}function xi(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;c<b&&(a.firstSuspendedTime=b);if(d>b||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction yi(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Cj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction bk(a,b,c,d){var e=b.current,f=Gg(),g=Dg.suspense;f=Hg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(dc(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=Ff(c,k,h);break a}}c=h}else c=Af;null===b.context?b.context=c:b.pendingContext=c;b=wg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);xg(e,b);Ig(e,f);return f}function ck(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function dk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime<b&&(a.retryTime=b)}function ek(a,b){dk(a,b);(a=a.alternate)&&dk(a,b)}\nfunction fk(a,b,c){c=null!=c&&!0===c.hydrate;var d=new ak(a,b,c),e=Sh(3,null,null,2===b?7:1===b?3:0);d.current=e;e.stateNode=d;ug(e);a[Od]=d.current;c&&0!==b&&Jc(a,9===a.nodeType?a:a.ownerDocument);this._internalRoot=d}fk.prototype.render=function(a){bk(a,this._internalRoot,null,null)};fk.prototype.unmount=function(){var a=this._internalRoot,b=a.containerInfo;bk(null,a,null,function(){b[Od]=null})};\nfunction gk(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function hk(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute(\"data-reactroot\")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new fk(a,0,b?{hydrate:!0}:void 0)}\nfunction ik(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f._internalRoot;if(\"function\"===typeof e){var h=e;e=function(){var a=ck(g);h.call(a)}}bk(b,g,a,e)}else{f=c._reactRootContainer=hk(c,d);g=f._internalRoot;if(\"function\"===typeof e){var k=e;e=function(){var a=ck(g);k.call(a)}}Nj(function(){bk(b,g,a,e)})}return ck(g)}function jk(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:$a,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nwc=function(a){if(13===a.tag){var b=hg(Gg(),150,100);Ig(a,b);ek(a,b)}};xc=function(a){13===a.tag&&(Ig(a,3),ek(a,3))};yc=function(a){if(13===a.tag){var b=Gg();b=Hg(b,a,null);Ig(a,b);ek(a,b)}};\nza=function(a,b,c){switch(b){case \"input\":Cb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Qd(d);if(!e)throw Error(u(90));yb(d);Cb(d,e)}}}break;case \"textarea\":Kb(a,c);break;case \"select\":b=c.value,null!=b&&Hb(a,!!c.multiple,b,!1)}};Fa=Mj;\nGa=function(a,b,c,d,e){var f=W;W|=4;try{return cg(98,a.bind(null,b,c,d,e))}finally{W=f,W===V&&gg()}};Ha=function(){(W&(1|fj|gj))===V&&(Lj(),Dj())};Ia=function(a,b){var c=W;W|=2;try{return a(b)}finally{W=c,W===V&&gg()}};function kk(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!gk(b))throw Error(u(200));return jk(a,b,null,c)}var lk={Events:[Nc,Pd,Qd,xa,ta,Xd,function(a){jc(a,Wd)},Da,Ea,id,mc,Dj,{current:!1}]};\n(function(a){var b=a.findFiberByHostInstance;return Yj(n({},a,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Wa.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=hc(a);return null===a?null:a.stateNode},findFiberByHostInstance:function(a){return b?b(a):null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null}))})({findFiberByHostInstance:tc,bundleType:0,version:\"16.14.0\",\nrendererPackageName:\"react-dom\"});exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=lk;exports.createPortal=kk;exports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternalFiber;if(void 0===b){if(\"function\"===typeof a.render)throw Error(u(188));throw Error(u(268,Object.keys(a)));}a=hc(b);a=null===a?null:a.stateNode;return a};\nexports.flushSync=function(a,b){if((W&(fj|gj))!==V)throw Error(u(187));var c=W;W|=1;try{return cg(99,a.bind(null,b))}finally{W=c,gg()}};exports.hydrate=function(a,b,c){if(!gk(b))throw Error(u(200));return ik(null,a,b,!0,c)};exports.render=function(a,b,c){if(!gk(b))throw Error(u(200));return ik(null,a,b,!1,c)};\nexports.unmountComponentAtNode=function(a){if(!gk(a))throw Error(u(40));return a._reactRootContainer?(Nj(function(){ik(null,null,a,!1,function(){a._reactRootContainer=null;a[Od]=null})}),!0):!1};exports.unstable_batchedUpdates=Mj;exports.unstable_createPortal=function(a,b){return kk(a,b,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)};\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!gk(c))throw Error(u(200));if(null==a||void 0===a._reactInternalFiber)throw Error(u(38));return ik(a,b,c,!1,d)};exports.version=\"16.14.0\";\n","'use strict';\n\nfunction checkDCE() {\n  /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n  if (\n    typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n    typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n  ) {\n    return;\n  }\n  if (process.env.NODE_ENV !== 'production') {\n    // This branch is unreachable because this function is only called\n    // in production, but the condition is true only in development.\n    // Therefore if the branch is still here, dead code elimination wasn't\n    // properly applied.\n    // Don't change the message. React DevTools relies on it. Also make sure\n    // this message doesn't occur elsewhere in this function, or it will cause\n    // a false positive.\n    throw new Error('^_^');\n  }\n  try {\n    // Verify that the code above has been dead code eliminated (DCE'd).\n    __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n  } catch (err) {\n    // DevTools shouldn't crash React, no matter what.\n    // We should still report in case we break this code.\n    console.error(err);\n  }\n}\n\nif (process.env.NODE_ENV === 'production') {\n  // DCE check should happen before ReactDOM bundle executes so that\n  // DevTools can report bad minification during injection.\n  checkDCE();\n  module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n  module.exports = require('./cjs/react-dom.development.js');\n}\n","/** @license React v16.14.0\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var l=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.forward_ref\"):60112,y=n?Symbol.for(\"react.suspense\"):60113,z=n?Symbol.for(\"react.memo\"):60115,A=n?Symbol.for(\"react.lazy\"):\n60116,B=\"function\"===typeof Symbol&&Symbol.iterator;function C(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}\nvar D={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},E={};function F(a,b,c){this.props=a;this.context=b;this.refs=E;this.updater=c||D}F.prototype.isReactComponent={};F.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(C(85));this.updater.enqueueSetState(this,a,b,\"setState\")};F.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};\nfunction G(){}G.prototype=F.prototype;function H(a,b,c){this.props=a;this.context=b;this.refs=E;this.updater=c||D}var I=H.prototype=new G;I.constructor=H;l(I,F.prototype);I.isPureReactComponent=!0;var J={current:null},K=Object.prototype.hasOwnProperty,L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,c){var e,d={},g=null,k=null;if(null!=b)for(e in void 0!==b.ref&&(k=b.ref),void 0!==b.key&&(g=\"\"+b.key),b)K.call(b,e)&&!L.hasOwnProperty(e)&&(d[e]=b[e]);var f=arguments.length-2;if(1===f)d.children=c;else if(1<f){for(var h=Array(f),m=0;m<f;m++)h[m]=arguments[m+2];d.children=h}if(a&&a.defaultProps)for(e in f=a.defaultProps,f)void 0===d[e]&&(d[e]=f[e]);return{$$typeof:p,type:a,key:g,ref:k,props:d,_owner:J.current}}\nfunction N(a,b){return{$$typeof:p,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===p}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+(\"\"+a).replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g,Q=[];function R(a,b,c,e){if(Q.length){var d=Q.pop();d.result=a;d.keyPrefix=b;d.func=c;d.context=e;d.count=0;return d}return{result:a,keyPrefix:b,func:c,context:e,count:0}}\nfunction S(a){a.result=null;a.keyPrefix=null;a.func=null;a.context=null;a.count=0;10>Q.length&&Q.push(a)}\nfunction T(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+U(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;k<a.length;k++){d=a[k];var f=b+U(d,k);g+=T(d,f,c,e)}else if(null===a||\"object\"!==typeof a?f=null:(f=B&&a[B]||a[\"@@iterator\"],f=\"function\"===typeof f?f:null),\"function\"===typeof f)for(a=f.call(a),k=\n0;!(d=a.next()).done;)d=d.value,f=b+U(d,k++),g+=T(d,f,c,e);else if(\"object\"===d)throw c=\"\"+a,Error(C(31,\"[object Object]\"===c?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":c,\"\"));return g}function V(a,b,c){return null==a?0:T(a,\"\",b,c)}function U(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(a.key):b.toString(36)}function W(a,b){a.func.call(a.context,b,a.count++)}\nfunction aa(a,b,c){var e=a.result,d=a.keyPrefix;a=a.func.call(a.context,b,a.count++);Array.isArray(a)?X(a,e,c,function(a){return a}):null!=a&&(O(a)&&(a=N(a,d+(!a.key||b&&b.key===a.key?\"\":(\"\"+a.key).replace(P,\"$&/\")+\"/\")+c)),e.push(a))}function X(a,b,c,e,d){var g=\"\";null!=c&&(g=(\"\"+c).replace(P,\"$&/\")+\"/\");b=R(b,g,e,d);V(a,aa,b);S(b)}var Y={current:null};function Z(){var a=Y.current;if(null===a)throw Error(C(321));return a}\nvar ba={ReactCurrentDispatcher:Y,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:J,IsSomeRendererActing:{current:!1},assign:l};exports.Children={map:function(a,b,c){if(null==a)return a;var e=[];X(a,e,null,b,c);return e},forEach:function(a,b,c){if(null==a)return a;b=R(null,null,b,c);V(a,W,b);S(b)},count:function(a){return V(a,function(){return null},null)},toArray:function(a){var b=[];X(a,b,null,function(a){return a});return b},only:function(a){if(!O(a))throw Error(C(143));return a}};\nexports.Component=F;exports.Fragment=r;exports.Profiler=u;exports.PureComponent=H;exports.StrictMode=t;exports.Suspense=y;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=ba;\nexports.cloneElement=function(a,b,c){if(null===a||void 0===a)throw Error(C(267,a));var e=l({},a.props),d=a.key,g=a.ref,k=a._owner;if(null!=b){void 0!==b.ref&&(g=b.ref,k=J.current);void 0!==b.key&&(d=\"\"+b.key);if(a.type&&a.type.defaultProps)var f=a.type.defaultProps;for(h in b)K.call(b,h)&&!L.hasOwnProperty(h)&&(e[h]=void 0===b[h]&&void 0!==f?f[h]:b[h])}var h=arguments.length-2;if(1===h)e.children=c;else if(1<h){f=Array(h);for(var m=0;m<h;m++)f[m]=arguments[m+2];e.children=f}return{$$typeof:p,type:a.type,\nkey:d,ref:g,props:e,_owner:k}};exports.createContext=function(a,b){void 0===b&&(b=null);a={$$typeof:w,_calculateChangedBits:b,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null};a.Provider={$$typeof:v,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};exports.forwardRef=function(a){return{$$typeof:x,render:a}};exports.isValidElement=O;\nexports.lazy=function(a){return{$$typeof:A,_ctor:a,_status:-1,_result:null}};exports.memo=function(a,b){return{$$typeof:z,type:a,compare:void 0===b?null:b}};exports.useCallback=function(a,b){return Z().useCallback(a,b)};exports.useContext=function(a,b){return Z().useContext(a,b)};exports.useDebugValue=function(){};exports.useEffect=function(a,b){return Z().useEffect(a,b)};exports.useImperativeHandle=function(a,b,c){return Z().useImperativeHandle(a,b,c)};\nexports.useLayoutEffect=function(a,b){return Z().useLayoutEffect(a,b)};exports.useMemo=function(a,b){return Z().useMemo(a,b)};exports.useReducer=function(a,b,c){return Z().useReducer(a,b,c)};exports.useRef=function(a){return Z().useRef(a)};exports.useState=function(a){return Z().useState(a)};exports.version=\"16.14.0\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/react.production.min.js');\n} else {\n  module.exports = require('./cjs/react.development.js');\n}\n","'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n  if (!Base) {\n    Base = Error;\n  }\n\n  function getMessage(arg1, arg2, arg3) {\n    if (typeof message === 'string') {\n      return message;\n    } else {\n      return message(arg1, arg2, arg3);\n    }\n  }\n\n  var NodeError =\n  /*#__PURE__*/\n  function (_Base) {\n    _inheritsLoose(NodeError, _Base);\n\n    function NodeError(arg1, arg2, arg3) {\n      return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n    }\n\n    return NodeError;\n  }(Base);\n\n  NodeError.prototype.name = Base.name;\n  NodeError.prototype.code = code;\n  codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n  if (Array.isArray(expected)) {\n    var len = expected.length;\n    expected = expected.map(function (i) {\n      return String(i);\n    });\n\n    if (len > 2) {\n      return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n    } else if (len === 2) {\n      return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n    } else {\n      return \"of \".concat(thing, \" \").concat(expected[0]);\n    }\n  } else {\n    return \"of \".concat(thing, \" \").concat(String(expected));\n  }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n  return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n  if (this_len === undefined || this_len > str.length) {\n    this_len = str.length;\n  }\n\n  return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n  if (typeof start !== 'number') {\n    start = 0;\n  }\n\n  if (start + search.length > str.length) {\n    return false;\n  } else {\n    return str.indexOf(search, start) !== -1;\n  }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n  return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n  // determiner: 'must be' or 'must not be'\n  var determiner;\n\n  if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n    determiner = 'must not be';\n    expected = expected.replace(/^not /, '');\n  } else {\n    determiner = 'must be';\n  }\n\n  var msg;\n\n  if (endsWith(name, ' argument')) {\n    // For cases like 'first argument'\n    msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n  } else {\n    var type = includes(name, '.') ? 'property' : 'argument';\n    msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n  }\n\n  msg += \". Received type \".concat(typeof actual);\n  return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n  return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n  return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n  return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict';\n\n/*<replacement>*/\nvar objectKeys = Object.keys || function (obj) {\n  var keys = [];\n  for (var key in obj) keys.push(key);\n  return keys;\n};\n/*</replacement>*/\n\nmodule.exports = Duplex;\nvar Readable = require('./_stream_readable');\nvar Writable = require('./_stream_writable');\nrequire('inherits')(Duplex, Readable);\n{\n  // Allow the keys array to be GC'ed.\n  var keys = objectKeys(Writable.prototype);\n  for (var v = 0; v < keys.length; v++) {\n    var method = keys[v];\n    if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n  }\n}\nfunction Duplex(options) {\n  if (!(this instanceof Duplex)) return new Duplex(options);\n  Readable.call(this, options);\n  Writable.call(this, options);\n  this.allowHalfOpen = true;\n  if (options) {\n    if (options.readable === false) this.readable = false;\n    if (options.writable === false) this.writable = false;\n    if (options.allowHalfOpen === false) {\n      this.allowHalfOpen = false;\n      this.once('end', onend);\n    }\n  }\n}\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n  // making it explicit this property is not enumerable\n  // because otherwise some prototype manipulation in\n  // userland will fail\n  enumerable: false,\n  get: function get() {\n    return this._writableState.highWaterMark;\n  }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n  // making it explicit this property is not enumerable\n  // because otherwise some prototype manipulation in\n  // userland will fail\n  enumerable: false,\n  get: function get() {\n    return this._writableState && this._writableState.getBuffer();\n  }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n  // making it explicit this property is not enumerable\n  // because otherwise some prototype manipulation in\n  // userland will fail\n  enumerable: false,\n  get: function get() {\n    return this._writableState.length;\n  }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n  // If the writable side ended, then we're ok.\n  if (this._writableState.ended) return;\n\n  // no more data can be written.\n  // But allow more writes to happen in this tick.\n  process.nextTick(onEndNT, this);\n}\nfunction onEndNT(self) {\n  self.end();\n}\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n  // making it explicit this property is not enumerable\n  // because otherwise some prototype manipulation in\n  // userland will fail\n  enumerable: false,\n  get: function get() {\n    if (this._readableState === undefined || this._writableState === undefined) {\n      return false;\n    }\n    return this._readableState.destroyed && this._writableState.destroyed;\n  },\n  set: function set(value) {\n    // we ignore the value if the stream\n    // has not been initialized yet\n    if (this._readableState === undefined || this._writableState === undefined) {\n      return;\n    }\n\n    // backward compatibility, the user is explicitly\n    // managing destroyed\n    this._readableState.destroyed = value;\n    this._writableState.destroyed = value;\n  }\n});","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n'use strict';\n\nmodule.exports = PassThrough;\nvar Transform = require('./_stream_transform');\nrequire('inherits')(PassThrough, Transform);\nfunction PassThrough(options) {\n  if (!(this instanceof PassThrough)) return new PassThrough(options);\n  Transform.call(this, options);\n}\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n  cb(null, chunk);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nmodule.exports = Readable;\n\n/*<replacement>*/\nvar Duplex;\n/*</replacement>*/\n\nReadable.ReadableState = ReadableState;\n\n/*<replacement>*/\nvar EE = require('events').EventEmitter;\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n  return emitter.listeners(type).length;\n};\n/*</replacement>*/\n\n/*<replacement>*/\nvar Stream = require('./internal/streams/stream');\n/*</replacement>*/\n\nvar Buffer = require('buffer').Buffer;\nvar OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n  return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n  return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/*<replacement>*/\nvar debugUtil = require('util');\nvar debug;\nif (debugUtil && debugUtil.debuglog) {\n  debug = debugUtil.debuglog('stream');\n} else {\n  debug = function debug() {};\n}\n/*</replacement>*/\n\nvar BufferList = require('./internal/streams/buffer_list');\nvar destroyImpl = require('./internal/streams/destroy');\nvar _require = require('./internal/streams/state'),\n  getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = require('../errors').codes,\n  ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n  ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n  ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n  ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;\n\n// Lazy loaded to improve the startup performance.\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\nrequire('inherits')(Readable, Stream);\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\nfunction prependListener(emitter, event, fn) {\n  // Sadly this is not cacheable as some libraries bundle their own\n  // event emitter implementation with them.\n  if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n  // This is a hack to make sure that our error handler is attached before any\n  // userland ones.  NEVER DO THIS. This is here only because this code needs\n  // to continue to work with older versions of Node.js that do not include\n  // the prependListener() method. The goal is to eventually remove this hack.\n  if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\nfunction ReadableState(options, stream, isDuplex) {\n  Duplex = Duplex || require('./_stream_duplex');\n  options = options || {};\n\n  // Duplex streams are both readable and writable, but share\n  // the same options object.\n  // However, some cases require setting options to different\n  // values for the readable and the writable sides of the duplex stream.\n  // These options can be provided separately as readableXXX and writableXXX.\n  if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n  // object stream flag. Used to make read(n) ignore n and to\n  // make all the buffer merging and length checks go away\n  this.objectMode = !!options.objectMode;\n  if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n  // the point at which it stops calling _read() to fill the buffer\n  // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n  this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex);\n\n  // A linked list is used to store data chunks instead of an array because the\n  // linked list can remove elements from the beginning faster than\n  // array.shift()\n  this.buffer = new BufferList();\n  this.length = 0;\n  this.pipes = null;\n  this.pipesCount = 0;\n  this.flowing = null;\n  this.ended = false;\n  this.endEmitted = false;\n  this.reading = false;\n\n  // a flag to be able to tell if the event 'readable'/'data' is emitted\n  // immediately, or on a later tick.  We set this to true at first, because\n  // any actions that shouldn't happen until \"later\" should generally also\n  // not happen before the first read call.\n  this.sync = true;\n\n  // whenever we return null, then we set a flag to say\n  // that we're awaiting a 'readable' event emission.\n  this.needReadable = false;\n  this.emittedReadable = false;\n  this.readableListening = false;\n  this.resumeScheduled = false;\n  this.paused = true;\n\n  // Should close be emitted on destroy. Defaults to true.\n  this.emitClose = options.emitClose !== false;\n\n  // Should .destroy() be called after 'end' (and potentially 'finish')\n  this.autoDestroy = !!options.autoDestroy;\n\n  // has it been destroyed\n  this.destroyed = false;\n\n  // Crypto is kind of old and crusty.  Historically, its default string\n  // encoding is 'binary' so we have to make this configurable.\n  // Everything else in the universe uses 'utf8', though.\n  this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n  // the number of writers that are awaiting a drain event in .pipe()s\n  this.awaitDrain = 0;\n\n  // if true, a maybeReadMore has been scheduled\n  this.readingMore = false;\n  this.decoder = null;\n  this.encoding = null;\n  if (options.encoding) {\n    if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n    this.decoder = new StringDecoder(options.encoding);\n    this.encoding = options.encoding;\n  }\n}\nfunction Readable(options) {\n  Duplex = Duplex || require('./_stream_duplex');\n  if (!(this instanceof Readable)) return new Readable(options);\n\n  // Checking for a Stream.Duplex instance is faster here instead of inside\n  // the ReadableState constructor, at least with V8 6.5\n  var isDuplex = this instanceof Duplex;\n  this._readableState = new ReadableState(options, this, isDuplex);\n\n  // legacy\n  this.readable = true;\n  if (options) {\n    if (typeof options.read === 'function') this._read = options.read;\n    if (typeof options.destroy === 'function') this._destroy = options.destroy;\n  }\n  Stream.call(this);\n}\nObject.defineProperty(Readable.prototype, 'destroyed', {\n  // making it explicit this property is not enumerable\n  // because otherwise some prototype manipulation in\n  // userland will fail\n  enumerable: false,\n  get: function get() {\n    if (this._readableState === undefined) {\n      return false;\n    }\n    return this._readableState.destroyed;\n  },\n  set: function set(value) {\n    // we ignore the value if the stream\n    // has not been initialized yet\n    if (!this._readableState) {\n      return;\n    }\n\n    // backward compatibility, the user is explicitly\n    // managing destroyed\n    this._readableState.destroyed = value;\n  }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n  cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n  var state = this._readableState;\n  var skipChunkCheck;\n  if (!state.objectMode) {\n    if (typeof chunk === 'string') {\n      encoding = encoding || state.defaultEncoding;\n      if (encoding !== state.encoding) {\n        chunk = Buffer.from(chunk, encoding);\n        encoding = '';\n      }\n      skipChunkCheck = true;\n    }\n  } else {\n    skipChunkCheck = true;\n  }\n  return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n  return readableAddChunk(this, chunk, null, true, false);\n};\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n  debug('readableAddChunk', chunk);\n  var state = stream._readableState;\n  if (chunk === null) {\n    state.reading = false;\n    onEofChunk(stream, state);\n  } else {\n    var er;\n    if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n    if (er) {\n      errorOrDestroy(stream, er);\n    } else if (state.objectMode || chunk && chunk.length > 0) {\n      if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n        chunk = _uint8ArrayToBuffer(chunk);\n      }\n      if (addToFront) {\n        if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n      } else if (state.ended) {\n        errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n      } else if (state.destroyed) {\n        return false;\n      } else {\n        state.reading = false;\n        if (state.decoder && !encoding) {\n          chunk = state.decoder.write(chunk);\n          if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n        } else {\n          addChunk(stream, state, chunk, false);\n        }\n      }\n    } else if (!addToFront) {\n      state.reading = false;\n      maybeReadMore(stream, state);\n    }\n  }\n\n  // We can push more data if we are below the highWaterMark.\n  // Also, if we have no data yet, we can stand some more bytes.\n  // This is to work around cases where hwm=0, such as the repl.\n  return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\nfunction addChunk(stream, state, chunk, addToFront) {\n  if (state.flowing && state.length === 0 && !state.sync) {\n    state.awaitDrain = 0;\n    stream.emit('data', chunk);\n  } else {\n    // update the buffer info.\n    state.length += state.objectMode ? 1 : chunk.length;\n    if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n    if (state.needReadable) emitReadable(stream);\n  }\n  maybeReadMore(stream, state);\n}\nfunction chunkInvalid(state, chunk) {\n  var er;\n  if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n    er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n  }\n  return er;\n}\nReadable.prototype.isPaused = function () {\n  return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n  if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n  var decoder = new StringDecoder(enc);\n  this._readableState.decoder = decoder;\n  // If setEncoding(null), decoder.encoding equals utf8\n  this._readableState.encoding = this._readableState.decoder.encoding;\n\n  // Iterate over current buffer to convert already stored Buffers:\n  var p = this._readableState.buffer.head;\n  var content = '';\n  while (p !== null) {\n    content += decoder.write(p.data);\n    p = p.next;\n  }\n  this._readableState.buffer.clear();\n  if (content !== '') this._readableState.buffer.push(content);\n  this._readableState.length = content.length;\n  return this;\n};\n\n// Don't raise the hwm > 1GB\nvar MAX_HWM = 0x40000000;\nfunction computeNewHighWaterMark(n) {\n  if (n >= MAX_HWM) {\n    // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n    n = MAX_HWM;\n  } else {\n    // Get the next highest power of 2 to prevent increasing hwm excessively in\n    // tiny amounts\n    n--;\n    n |= n >>> 1;\n    n |= n >>> 2;\n    n |= n >>> 4;\n    n |= n >>> 8;\n    n |= n >>> 16;\n    n++;\n  }\n  return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n  if (n <= 0 || state.length === 0 && state.ended) return 0;\n  if (state.objectMode) return 1;\n  if (n !== n) {\n    // Only flow one buffer at a time\n    if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n  }\n  // If we're asking for more than the current hwm, then raise the hwm.\n  if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n  if (n <= state.length) return n;\n  // Don't have enough\n  if (!state.ended) {\n    state.needReadable = true;\n    return 0;\n  }\n  return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n  debug('read', n);\n  n = parseInt(n, 10);\n  var state = this._readableState;\n  var nOrig = n;\n  if (n !== 0) state.emittedReadable = false;\n\n  // if we're doing read(0) to trigger a readable event, but we\n  // already have a bunch of data in the buffer, then just trigger\n  // the 'readable' event and move on.\n  if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n    debug('read: emitReadable', state.length, state.ended);\n    if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n    return null;\n  }\n  n = howMuchToRead(n, state);\n\n  // if we've ended, and we're now clear, then finish it up.\n  if (n === 0 && state.ended) {\n    if (state.length === 0) endReadable(this);\n    return null;\n  }\n\n  // All the actual chunk generation logic needs to be\n  // *below* the call to _read.  The reason is that in certain\n  // synthetic stream cases, such as passthrough streams, _read\n  // may be a completely synchronous operation which may change\n  // the state of the read buffer, providing enough data when\n  // before there was *not* enough.\n  //\n  // So, the steps are:\n  // 1. Figure out what the state of things will be after we do\n  // a read from the buffer.\n  //\n  // 2. If that resulting state will trigger a _read, then call _read.\n  // Note that this may be asynchronous, or synchronous.  Yes, it is\n  // deeply ugly to write APIs this way, but that still doesn't mean\n  // that the Readable class should behave improperly, as streams are\n  // designed to be sync/async agnostic.\n  // Take note if the _read call is sync or async (ie, if the read call\n  // has returned yet), so that we know whether or not it's safe to emit\n  // 'readable' etc.\n  //\n  // 3. Actually pull the requested chunks out of the buffer and return.\n\n  // if we need a readable event, then we need to do some reading.\n  var doRead = state.needReadable;\n  debug('need readable', doRead);\n\n  // if we currently have less than the highWaterMark, then also read some\n  if (state.length === 0 || state.length - n < state.highWaterMark) {\n    doRead = true;\n    debug('length less than watermark', doRead);\n  }\n\n  // however, if we've ended, then there's no point, and if we're already\n  // reading, then it's unnecessary.\n  if (state.ended || state.reading) {\n    doRead = false;\n    debug('reading or ended', doRead);\n  } else if (doRead) {\n    debug('do read');\n    state.reading = true;\n    state.sync = true;\n    // if the length is currently zero, then we *need* a readable event.\n    if (state.length === 0) state.needReadable = true;\n    // call internal read method\n    this._read(state.highWaterMark);\n    state.sync = false;\n    // If _read pushed data synchronously, then `reading` will be false,\n    // and we need to re-evaluate how much data we can return to the user.\n    if (!state.reading) n = howMuchToRead(nOrig, state);\n  }\n  var ret;\n  if (n > 0) ret = fromList(n, state);else ret = null;\n  if (ret === null) {\n    state.needReadable = state.length <= state.highWaterMark;\n    n = 0;\n  } else {\n    state.length -= n;\n    state.awaitDrain = 0;\n  }\n  if (state.length === 0) {\n    // If we have nothing in the buffer, then we want to know\n    // as soon as we *do* get something into the buffer.\n    if (!state.ended) state.needReadable = true;\n\n    // If we tried to read() past the EOF, then emit end on the next tick.\n    if (nOrig !== n && state.ended) endReadable(this);\n  }\n  if (ret !== null) this.emit('data', ret);\n  return ret;\n};\nfunction onEofChunk(stream, state) {\n  debug('onEofChunk');\n  if (state.ended) return;\n  if (state.decoder) {\n    var chunk = state.decoder.end();\n    if (chunk && chunk.length) {\n      state.buffer.push(chunk);\n      state.length += state.objectMode ? 1 : chunk.length;\n    }\n  }\n  state.ended = true;\n  if (state.sync) {\n    // if we are sync, wait until next tick to emit the data.\n    // Otherwise we risk emitting data in the flow()\n    // the readable code triggers during a read() call\n    emitReadable(stream);\n  } else {\n    // emit 'readable' now to make sure it gets picked up.\n    state.needReadable = false;\n    if (!state.emittedReadable) {\n      state.emittedReadable = true;\n      emitReadable_(stream);\n    }\n  }\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow.  This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n  var state = stream._readableState;\n  debug('emitReadable', state.needReadable, state.emittedReadable);\n  state.needReadable = false;\n  if (!state.emittedReadable) {\n    debug('emitReadable', state.flowing);\n    state.emittedReadable = true;\n    process.nextTick(emitReadable_, stream);\n  }\n}\nfunction emitReadable_(stream) {\n  var state = stream._readableState;\n  debug('emitReadable_', state.destroyed, state.length, state.ended);\n  if (!state.destroyed && (state.length || state.ended)) {\n    stream.emit('readable');\n    state.emittedReadable = false;\n  }\n\n  // The stream needs another readable event if\n  // 1. It is not flowing, as the flow mechanism will take\n  //    care of it.\n  // 2. It is not ended.\n  // 3. It is below the highWaterMark, so we can schedule\n  //    another readable later.\n  state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n  flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data.  that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n  if (!state.readingMore) {\n    state.readingMore = true;\n    process.nextTick(maybeReadMore_, stream, state);\n  }\n}\nfunction maybeReadMore_(stream, state) {\n  // Attempt to read more data if we should.\n  //\n  // The conditions for reading more data are (one of):\n  // - Not enough data buffered (state.length < state.highWaterMark). The loop\n  //   is responsible for filling the buffer with enough data if such data\n  //   is available. If highWaterMark is 0 and we are not in the flowing mode\n  //   we should _not_ attempt to buffer any extra data. We'll get more data\n  //   when the stream consumer calls read() instead.\n  // - No data in the buffer, and the stream is in flowing mode. In this mode\n  //   the loop below is responsible for ensuring read() is called. Failing to\n  //   call read here would abort the flow and there's no other mechanism for\n  //   continuing the flow if the stream consumer has just subscribed to the\n  //   'data' event.\n  //\n  // In addition to the above conditions to keep reading data, the following\n  // conditions prevent the data from being read:\n  // - The stream has ended (state.ended).\n  // - There is already a pending 'read' operation (state.reading). This is a\n  //   case where the the stream has called the implementation defined _read()\n  //   method, but they are processing the call asynchronously and have _not_\n  //   called push() with new data. In this case we skip performing more\n  //   read()s. The execution ends in this method again after the _read() ends\n  //   up calling push() with more data.\n  while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n    var len = state.length;\n    debug('maybeReadMore read 0');\n    stream.read(0);\n    if (len === state.length)\n      // didn't get any data, stop spinning.\n      break;\n  }\n  state.readingMore = false;\n}\n\n// abstract method.  to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n  errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\nReadable.prototype.pipe = function (dest, pipeOpts) {\n  var src = this;\n  var state = this._readableState;\n  switch (state.pipesCount) {\n    case 0:\n      state.pipes = dest;\n      break;\n    case 1:\n      state.pipes = [state.pipes, dest];\n      break;\n    default:\n      state.pipes.push(dest);\n      break;\n  }\n  state.pipesCount += 1;\n  debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n  var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n  var endFn = doEnd ? onend : unpipe;\n  if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n  dest.on('unpipe', onunpipe);\n  function onunpipe(readable, unpipeInfo) {\n    debug('onunpipe');\n    if (readable === src) {\n      if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n        unpipeInfo.hasUnpiped = true;\n        cleanup();\n      }\n    }\n  }\n  function onend() {\n    debug('onend');\n    dest.end();\n  }\n\n  // when the dest drains, it reduces the awaitDrain counter\n  // on the source.  This would be more elegant with a .once()\n  // handler in flow(), but adding and removing repeatedly is\n  // too slow.\n  var ondrain = pipeOnDrain(src);\n  dest.on('drain', ondrain);\n  var cleanedUp = false;\n  function cleanup() {\n    debug('cleanup');\n    // cleanup event handlers once the pipe is broken\n    dest.removeListener('close', onclose);\n    dest.removeListener('finish', onfinish);\n    dest.removeListener('drain', ondrain);\n    dest.removeListener('error', onerror);\n    dest.removeListener('unpipe', onunpipe);\n    src.removeListener('end', onend);\n    src.removeListener('end', unpipe);\n    src.removeListener('data', ondata);\n    cleanedUp = true;\n\n    // if the reader is waiting for a drain event from this\n    // specific writer, then it would cause it to never start\n    // flowing again.\n    // So, if this is awaiting a drain, then we just call it now.\n    // If we don't know, then assume that we are waiting for one.\n    if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n  }\n  src.on('data', ondata);\n  function ondata(chunk) {\n    debug('ondata');\n    var ret = dest.write(chunk);\n    debug('dest.write', ret);\n    if (ret === false) {\n      // If the user unpiped during `dest.write()`, it is possible\n      // to get stuck in a permanently paused state if that write\n      // also returned false.\n      // => Check whether `dest` is still a piping destination.\n      if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n        debug('false write response, pause', state.awaitDrain);\n        state.awaitDrain++;\n      }\n      src.pause();\n    }\n  }\n\n  // if the dest has an error, then stop piping into it.\n  // however, don't suppress the throwing behavior for this.\n  function onerror(er) {\n    debug('onerror', er);\n    unpipe();\n    dest.removeListener('error', onerror);\n    if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n  }\n\n  // Make sure our error handler is attached before userland ones.\n  prependListener(dest, 'error', onerror);\n\n  // Both close and finish should trigger unpipe, but only once.\n  function onclose() {\n    dest.removeListener('finish', onfinish);\n    unpipe();\n  }\n  dest.once('close', onclose);\n  function onfinish() {\n    debug('onfinish');\n    dest.removeListener('close', onclose);\n    unpipe();\n  }\n  dest.once('finish', onfinish);\n  function unpipe() {\n    debug('unpipe');\n    src.unpipe(dest);\n  }\n\n  // tell the dest that it's being piped to\n  dest.emit('pipe', src);\n\n  // start the flow if it hasn't been started already.\n  if (!state.flowing) {\n    debug('pipe resume');\n    src.resume();\n  }\n  return dest;\n};\nfunction pipeOnDrain(src) {\n  return function pipeOnDrainFunctionResult() {\n    var state = src._readableState;\n    debug('pipeOnDrain', state.awaitDrain);\n    if (state.awaitDrain) state.awaitDrain--;\n    if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n      state.flowing = true;\n      flow(src);\n    }\n  };\n}\nReadable.prototype.unpipe = function (dest) {\n  var state = this._readableState;\n  var unpipeInfo = {\n    hasUnpiped: false\n  };\n\n  // if we're not piping anywhere, then do nothing.\n  if (state.pipesCount === 0) return this;\n\n  // just one destination.  most common case.\n  if (state.pipesCount === 1) {\n    // passed in one, but it's not the right one.\n    if (dest && dest !== state.pipes) return this;\n    if (!dest) dest = state.pipes;\n\n    // got a match.\n    state.pipes = null;\n    state.pipesCount = 0;\n    state.flowing = false;\n    if (dest) dest.emit('unpipe', this, unpipeInfo);\n    return this;\n  }\n\n  // slow case. multiple pipe destinations.\n\n  if (!dest) {\n    // remove all.\n    var dests = state.pipes;\n    var len = state.pipesCount;\n    state.pipes = null;\n    state.pipesCount = 0;\n    state.flowing = false;\n    for (var i = 0; i < len; i++) dests[i].emit('unpipe', this, {\n      hasUnpiped: false\n    });\n    return this;\n  }\n\n  // try to find the right one.\n  var index = indexOf(state.pipes, dest);\n  if (index === -1) return this;\n  state.pipes.splice(index, 1);\n  state.pipesCount -= 1;\n  if (state.pipesCount === 1) state.pipes = state.pipes[0];\n  dest.emit('unpipe', this, unpipeInfo);\n  return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n  var res = Stream.prototype.on.call(this, ev, fn);\n  var state = this._readableState;\n  if (ev === 'data') {\n    // update readableListening so that resume() may be a no-op\n    // a few lines down. This is needed to support once('readable').\n    state.readableListening = this.listenerCount('readable') > 0;\n\n    // Try start flowing on next tick if stream isn't explicitly paused\n    if (state.flowing !== false) this.resume();\n  } else if (ev === 'readable') {\n    if (!state.endEmitted && !state.readableListening) {\n      state.readableListening = state.needReadable = true;\n      state.flowing = false;\n      state.emittedReadable = false;\n      debug('on readable', state.length, state.reading);\n      if (state.length) {\n        emitReadable(this);\n      } else if (!state.reading) {\n        process.nextTick(nReadingNextTick, this);\n      }\n    }\n  }\n  return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\nReadable.prototype.removeListener = function (ev, fn) {\n  var res = Stream.prototype.removeListener.call(this, ev, fn);\n  if (ev === 'readable') {\n    // We need to check if there is someone still listening to\n    // readable and reset the state. However this needs to happen\n    // after readable has been emitted but before I/O (nextTick) to\n    // support once('readable', fn) cycles. This means that calling\n    // resume within the same tick will have no\n    // effect.\n    process.nextTick(updateReadableListening, this);\n  }\n  return res;\n};\nReadable.prototype.removeAllListeners = function (ev) {\n  var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n  if (ev === 'readable' || ev === undefined) {\n    // We need to check if there is someone still listening to\n    // readable and reset the state. However this needs to happen\n    // after readable has been emitted but before I/O (nextTick) to\n    // support once('readable', fn) cycles. This means that calling\n    // resume within the same tick will have no\n    // effect.\n    process.nextTick(updateReadableListening, this);\n  }\n  return res;\n};\nfunction updateReadableListening(self) {\n  var state = self._readableState;\n  state.readableListening = self.listenerCount('readable') > 0;\n  if (state.resumeScheduled && !state.paused) {\n    // flowing needs to be set to true now, otherwise\n    // the upcoming resume will not flow.\n    state.flowing = true;\n\n    // crude way to check if we should resume\n  } else if (self.listenerCount('data') > 0) {\n    self.resume();\n  }\n}\nfunction nReadingNextTick(self) {\n  debug('readable nexttick read 0');\n  self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n  var state = this._readableState;\n  if (!state.flowing) {\n    debug('resume');\n    // we flow only if there is no one listening\n    // for readable, but we still have to call\n    // resume()\n    state.flowing = !state.readableListening;\n    resume(this, state);\n  }\n  state.paused = false;\n  return this;\n};\nfunction resume(stream, state) {\n  if (!state.resumeScheduled) {\n    state.resumeScheduled = true;\n    process.nextTick(resume_, stream, state);\n  }\n}\nfunction resume_(stream, state) {\n  debug('resume', state.reading);\n  if (!state.reading) {\n    stream.read(0);\n  }\n  state.resumeScheduled = false;\n  stream.emit('resume');\n  flow(stream);\n  if (state.flowing && !state.reading) stream.read(0);\n}\nReadable.prototype.pause = function () {\n  debug('call pause flowing=%j', this._readableState.flowing);\n  if (this._readableState.flowing !== false) {\n    debug('pause');\n    this._readableState.flowing = false;\n    this.emit('pause');\n  }\n  this._readableState.paused = true;\n  return this;\n};\nfunction flow(stream) {\n  var state = stream._readableState;\n  debug('flow', state.flowing);\n  while (state.flowing && stream.read() !== null);\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n  var _this = this;\n  var state = this._readableState;\n  var paused = false;\n  stream.on('end', function () {\n    debug('wrapped end');\n    if (state.decoder && !state.ended) {\n      var chunk = state.decoder.end();\n      if (chunk && chunk.length) _this.push(chunk);\n    }\n    _this.push(null);\n  });\n  stream.on('data', function (chunk) {\n    debug('wrapped data');\n    if (state.decoder) chunk = state.decoder.write(chunk);\n\n    // don't skip over falsy values in objectMode\n    if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n    var ret = _this.push(chunk);\n    if (!ret) {\n      paused = true;\n      stream.pause();\n    }\n  });\n\n  // proxy all the other methods.\n  // important when wrapping filters and duplexes.\n  for (var i in stream) {\n    if (this[i] === undefined && typeof stream[i] === 'function') {\n      this[i] = function methodWrap(method) {\n        return function methodWrapReturnFunction() {\n          return stream[method].apply(stream, arguments);\n        };\n      }(i);\n    }\n  }\n\n  // proxy certain important events.\n  for (var n = 0; n < kProxyEvents.length; n++) {\n    stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n  }\n\n  // when we try to consume some more bytes, simply unpause the\n  // underlying stream.\n  this._read = function (n) {\n    debug('wrapped _read', n);\n    if (paused) {\n      paused = false;\n      stream.resume();\n    }\n  };\n  return this;\n};\nif (typeof Symbol === 'function') {\n  Readable.prototype[Symbol.asyncIterator] = function () {\n    if (createReadableStreamAsyncIterator === undefined) {\n      createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n    }\n    return createReadableStreamAsyncIterator(this);\n  };\n}\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n  // making it explicit this property is not enumerable\n  // because otherwise some prototype manipulation in\n  // userland will fail\n  enumerable: false,\n  get: function get() {\n    return this._readableState.highWaterMark;\n  }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n  // making it explicit this property is not enumerable\n  // because otherwise some prototype manipulation in\n  // userland will fail\n  enumerable: false,\n  get: function get() {\n    return this._readableState && this._readableState.buffer;\n  }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n  // making it explicit this property is not enumerable\n  // because otherwise some prototype manipulation in\n  // userland will fail\n  enumerable: false,\n  get: function get() {\n    return this._readableState.flowing;\n  },\n  set: function set(state) {\n    if (this._readableState) {\n      this._readableState.flowing = state;\n    }\n  }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n  // making it explicit this property is not enumerable\n  // because otherwise some prototype manipulation in\n  // userland will fail\n  enumerable: false,\n  get: function get() {\n    return this._readableState.length;\n  }\n});\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n  // nothing buffered\n  if (state.length === 0) return null;\n  var ret;\n  if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n    // read it all, truncate the list\n    if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n    state.buffer.clear();\n  } else {\n    // read part of list\n    ret = state.buffer.consume(n, state.decoder);\n  }\n  return ret;\n}\nfunction endReadable(stream) {\n  var state = stream._readableState;\n  debug('endReadable', state.endEmitted);\n  if (!state.endEmitted) {\n    state.ended = true;\n    process.nextTick(endReadableNT, state, stream);\n  }\n}\nfunction endReadableNT(state, stream) {\n  debug('endReadableNT', state.endEmitted, state.length);\n\n  // Check that we didn't get one last unshift.\n  if (!state.endEmitted && state.length === 0) {\n    state.endEmitted = true;\n    stream.readable = false;\n    stream.emit('end');\n    if (state.autoDestroy) {\n      // In case of duplex streams we need a way to detect\n      // if the writable side is ready for autoDestroy as well\n      var wState = stream._writableState;\n      if (!wState || wState.autoDestroy && wState.finished) {\n        stream.destroy();\n      }\n    }\n  }\n}\nif (typeof Symbol === 'function') {\n  Readable.from = function (iterable, opts) {\n    if (from === undefined) {\n      from = require('./internal/streams/from');\n    }\n    return from(Readable, iterable, opts);\n  };\n}\nfunction indexOf(xs, x) {\n  for (var i = 0, l = xs.length; i < l; i++) {\n    if (xs[i] === x) return i;\n  }\n  return -1;\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data.  Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored.  (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation.  For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes.  When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up.  When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer.  When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks.  If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk.  However,\n// a pathological inflate type of transform can cause excessive buffering\n// here.  For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output.  Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output.  In this case, you could write a very small\n// amount of input, and end up with a very large amount of output.  In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform.  A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict';\n\nmodule.exports = Transform;\nvar _require$codes = require('../errors').codes,\n  ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n  ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n  ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n  ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\nvar Duplex = require('./_stream_duplex');\nrequire('inherits')(Transform, Duplex);\nfunction afterTransform(er, data) {\n  var ts = this._transformState;\n  ts.transforming = false;\n  var cb = ts.writecb;\n  if (cb === null) {\n    return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n  }\n  ts.writechunk = null;\n  ts.writecb = null;\n  if (data != null)\n    // single equals check for both `null` and `undefined`\n    this.push(data);\n  cb(er);\n  var rs = this._readableState;\n  rs.reading = false;\n  if (rs.needReadable || rs.length < rs.highWaterMark) {\n    this._read(rs.highWaterMark);\n  }\n}\nfunction Transform(options) {\n  if (!(this instanceof Transform)) return new Transform(options);\n  Duplex.call(this, options);\n  this._transformState = {\n    afterTransform: afterTransform.bind(this),\n    needTransform: false,\n    transforming: false,\n    writecb: null,\n    writechunk: null,\n    writeencoding: null\n  };\n\n  // start out asking for a readable event once data is transformed.\n  this._readableState.needReadable = true;\n\n  // we have implemented the _read method, and done the other things\n  // that Readable wants before the first _read call, so unset the\n  // sync guard flag.\n  this._readableState.sync = false;\n  if (options) {\n    if (typeof options.transform === 'function') this._transform = options.transform;\n    if (typeof options.flush === 'function') this._flush = options.flush;\n  }\n\n  // When the writable side finishes, then flush out anything remaining.\n  this.on('prefinish', prefinish);\n}\nfunction prefinish() {\n  var _this = this;\n  if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n    this._flush(function (er, data) {\n      done(_this, er, data);\n    });\n  } else {\n    done(this, null, null);\n  }\n}\nTransform.prototype.push = function (chunk, encoding) {\n  this._transformState.needTransform = false;\n  return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side.  You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk.  If you pass\n// an error, then that'll put the hurt on the whole operation.  If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n  cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\nTransform.prototype._write = function (chunk, encoding, cb) {\n  var ts = this._transformState;\n  ts.writecb = cb;\n  ts.writechunk = chunk;\n  ts.writeencoding = encoding;\n  if (!ts.transforming) {\n    var rs = this._readableState;\n    if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n  }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n  var ts = this._transformState;\n  if (ts.writechunk !== null && !ts.transforming) {\n    ts.transforming = true;\n    this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n  } else {\n    // mark that we need a transform, so that any data that comes in\n    // will get processed, now that we've asked for it.\n    ts.needTransform = true;\n  }\n};\nTransform.prototype._destroy = function (err, cb) {\n  Duplex.prototype._destroy.call(this, err, function (err2) {\n    cb(err2);\n  });\n};\nfunction done(stream, er, data) {\n  if (er) return stream.emit('error', er);\n  if (data != null)\n    // single equals check for both `null` and `undefined`\n    stream.push(data);\n\n  // TODO(BridgeAR): Write a test for these two error cases\n  // if there's nothing in the write buffer, then that means\n  // that nothing more will ever be provided\n  if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n  if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n  return stream.push(null);\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n'use strict';\n\nmodule.exports = Writable;\n\n/* <replacement> */\nfunction WriteReq(chunk, encoding, cb) {\n  this.chunk = chunk;\n  this.encoding = encoding;\n  this.callback = cb;\n  this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n  var _this = this;\n  this.next = null;\n  this.entry = null;\n  this.finish = function () {\n    onCorkedFinish(_this, state);\n  };\n}\n/* </replacement> */\n\n/*<replacement>*/\nvar Duplex;\n/*</replacement>*/\n\nWritable.WritableState = WritableState;\n\n/*<replacement>*/\nvar internalUtil = {\n  deprecate: require('util-deprecate')\n};\n/*</replacement>*/\n\n/*<replacement>*/\nvar Stream = require('./internal/streams/stream');\n/*</replacement>*/\n\nvar Buffer = require('buffer').Buffer;\nvar OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n  return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n  return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\nvar destroyImpl = require('./internal/streams/destroy');\nvar _require = require('./internal/streams/state'),\n  getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = require('../errors').codes,\n  ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n  ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n  ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n  ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n  ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n  ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n  ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n  ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nrequire('inherits')(Writable, Stream);\nfunction nop() {}\nfunction WritableState(options, stream, isDuplex) {\n  Duplex = Duplex || require('./_stream_duplex');\n  options = options || {};\n\n  // Duplex streams are both readable and writable, but share\n  // the same options object.\n  // However, some cases require setting options to different\n  // values for the readable and the writable sides of the duplex stream,\n  // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n  if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n  // object stream flag to indicate whether or not this stream\n  // contains buffers or objects.\n  this.objectMode = !!options.objectMode;\n  if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n  // the point at which write() starts returning false\n  // Note: 0 is a valid value, means that we always return false if\n  // the entire buffer is not flushed immediately on write()\n  this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex);\n\n  // if _final has been called\n  this.finalCalled = false;\n\n  // drain event flag.\n  this.needDrain = false;\n  // at the start of calling end()\n  this.ending = false;\n  // when end() has been called, and returned\n  this.ended = false;\n  // when 'finish' is emitted\n  this.finished = false;\n\n  // has it been destroyed\n  this.destroyed = false;\n\n  // should we decode strings into buffers before passing to _write?\n  // this is here so that some node-core streams can optimize string\n  // handling at a lower level.\n  var noDecode = options.decodeStrings === false;\n  this.decodeStrings = !noDecode;\n\n  // Crypto is kind of old and crusty.  Historically, its default string\n  // encoding is 'binary' so we have to make this configurable.\n  // Everything else in the universe uses 'utf8', though.\n  this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n  // not an actual buffer we keep track of, but a measurement\n  // of how much we're waiting to get pushed to some underlying\n  // socket or file.\n  this.length = 0;\n\n  // a flag to see when we're in the middle of a write.\n  this.writing = false;\n\n  // when true all writes will be buffered until .uncork() call\n  this.corked = 0;\n\n  // a flag to be able to tell if the onwrite cb is called immediately,\n  // or on a later tick.  We set this to true at first, because any\n  // actions that shouldn't happen until \"later\" should generally also\n  // not happen before the first write call.\n  this.sync = true;\n\n  // a flag to know if we're processing previously buffered items, which\n  // may call the _write() callback in the same tick, so that we don't\n  // end up in an overlapped onwrite situation.\n  this.bufferProcessing = false;\n\n  // the callback that's passed to _write(chunk,cb)\n  this.onwrite = function (er) {\n    onwrite(stream, er);\n  };\n\n  // the callback that the user supplies to write(chunk,encoding,cb)\n  this.writecb = null;\n\n  // the amount that is being written when _write is called.\n  this.writelen = 0;\n  this.bufferedRequest = null;\n  this.lastBufferedRequest = null;\n\n  // number of pending user-supplied write callbacks\n  // this must be 0 before 'finish' can be emitted\n  this.pendingcb = 0;\n\n  // emit prefinish if the only thing we're waiting for is _write cbs\n  // This is relevant for synchronous Transform streams\n  this.prefinished = false;\n\n  // True if the error was already emitted and should not be thrown again\n  this.errorEmitted = false;\n\n  // Should close be emitted on destroy. Defaults to true.\n  this.emitClose = options.emitClose !== false;\n\n  // Should .destroy() be called after 'finish' (and potentially 'end')\n  this.autoDestroy = !!options.autoDestroy;\n\n  // count buffered requests\n  this.bufferedRequestCount = 0;\n\n  // allocate the first CorkedRequest, there is always\n  // one allocated and free to use, and we maintain at most two\n  this.corkedRequestsFree = new CorkedRequest(this);\n}\nWritableState.prototype.getBuffer = function getBuffer() {\n  var current = this.bufferedRequest;\n  var out = [];\n  while (current) {\n    out.push(current);\n    current = current.next;\n  }\n  return out;\n};\n(function () {\n  try {\n    Object.defineProperty(WritableState.prototype, 'buffer', {\n      get: internalUtil.deprecate(function writableStateBufferGetter() {\n        return this.getBuffer();\n      }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n    });\n  } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n  realHasInstance = Function.prototype[Symbol.hasInstance];\n  Object.defineProperty(Writable, Symbol.hasInstance, {\n    value: function value(object) {\n      if (realHasInstance.call(this, object)) return true;\n      if (this !== Writable) return false;\n      return object && object._writableState instanceof WritableState;\n    }\n  });\n} else {\n  realHasInstance = function realHasInstance(object) {\n    return object instanceof this;\n  };\n}\nfunction Writable(options) {\n  Duplex = Duplex || require('./_stream_duplex');\n\n  // Writable ctor is applied to Duplexes, too.\n  // `realHasInstance` is necessary because using plain `instanceof`\n  // would return false, as no `_writableState` property is attached.\n\n  // Trying to use the custom `instanceof` for Writable here will also break the\n  // Node.js LazyTransform implementation, which has a non-trivial getter for\n  // `_writableState` that would lead to infinite recursion.\n\n  // Checking for a Stream.Duplex instance is faster here instead of inside\n  // the WritableState constructor, at least with V8 6.5\n  var isDuplex = this instanceof Duplex;\n  if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n  this._writableState = new WritableState(options, this, isDuplex);\n\n  // legacy.\n  this.writable = true;\n  if (options) {\n    if (typeof options.write === 'function') this._write = options.write;\n    if (typeof options.writev === 'function') this._writev = options.writev;\n    if (typeof options.destroy === 'function') this._destroy = options.destroy;\n    if (typeof options.final === 'function') this._final = options.final;\n  }\n  Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n  errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\nfunction writeAfterEnd(stream, cb) {\n  var er = new ERR_STREAM_WRITE_AFTER_END();\n  // TODO: defer error events consistently everywhere, not just the cb\n  errorOrDestroy(stream, er);\n  process.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n  var er;\n  if (chunk === null) {\n    er = new ERR_STREAM_NULL_VALUES();\n  } else if (typeof chunk !== 'string' && !state.objectMode) {\n    er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n  }\n  if (er) {\n    errorOrDestroy(stream, er);\n    process.nextTick(cb, er);\n    return false;\n  }\n  return true;\n}\nWritable.prototype.write = function (chunk, encoding, cb) {\n  var state = this._writableState;\n  var ret = false;\n  var isBuf = !state.objectMode && _isUint8Array(chunk);\n  if (isBuf && !Buffer.isBuffer(chunk)) {\n    chunk = _uint8ArrayToBuffer(chunk);\n  }\n  if (typeof encoding === 'function') {\n    cb = encoding;\n    encoding = null;\n  }\n  if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n  if (typeof cb !== 'function') cb = nop;\n  if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n    state.pendingcb++;\n    ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n  }\n  return ret;\n};\nWritable.prototype.cork = function () {\n  this._writableState.corked++;\n};\nWritable.prototype.uncork = function () {\n  var state = this._writableState;\n  if (state.corked) {\n    state.corked--;\n    if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n  }\n};\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n  // node::ParseEncoding() requires lower case.\n  if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n  if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n  this._writableState.defaultEncoding = encoding;\n  return this;\n};\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n  // making it explicit this property is not enumerable\n  // because otherwise some prototype manipulation in\n  // userland will fail\n  enumerable: false,\n  get: function get() {\n    return this._writableState && this._writableState.getBuffer();\n  }\n});\nfunction decodeChunk(state, chunk, encoding) {\n  if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n    chunk = Buffer.from(chunk, encoding);\n  }\n  return chunk;\n}\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n  // making it explicit this property is not enumerable\n  // because otherwise some prototype manipulation in\n  // userland will fail\n  enumerable: false,\n  get: function get() {\n    return this._writableState.highWaterMark;\n  }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn.  Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n  if (!isBuf) {\n    var newChunk = decodeChunk(state, chunk, encoding);\n    if (chunk !== newChunk) {\n      isBuf = true;\n      encoding = 'buffer';\n      chunk = newChunk;\n    }\n  }\n  var len = state.objectMode ? 1 : chunk.length;\n  state.length += len;\n  var ret = state.length < state.highWaterMark;\n  // we must ensure that previous needDrain will not be reset to false.\n  if (!ret) state.needDrain = true;\n  if (state.writing || state.corked) {\n    var last = state.lastBufferedRequest;\n    state.lastBufferedRequest = {\n      chunk: chunk,\n      encoding: encoding,\n      isBuf: isBuf,\n      callback: cb,\n      next: null\n    };\n    if (last) {\n      last.next = state.lastBufferedRequest;\n    } else {\n      state.bufferedRequest = state.lastBufferedRequest;\n    }\n    state.bufferedRequestCount += 1;\n  } else {\n    doWrite(stream, state, false, len, chunk, encoding, cb);\n  }\n  return ret;\n}\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n  state.writelen = len;\n  state.writecb = cb;\n  state.writing = true;\n  state.sync = true;\n  if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n  state.sync = false;\n}\nfunction onwriteError(stream, state, sync, er, cb) {\n  --state.pendingcb;\n  if (sync) {\n    // defer the callback if we are being called synchronously\n    // to avoid piling up things on the stack\n    process.nextTick(cb, er);\n    // this can emit finish, and it will always happen\n    // after error\n    process.nextTick(finishMaybe, stream, state);\n    stream._writableState.errorEmitted = true;\n    errorOrDestroy(stream, er);\n  } else {\n    // the caller expect this to happen before if\n    // it is async\n    cb(er);\n    stream._writableState.errorEmitted = true;\n    errorOrDestroy(stream, er);\n    // this can emit finish, but finish must\n    // always follow error\n    finishMaybe(stream, state);\n  }\n}\nfunction onwriteStateUpdate(state) {\n  state.writing = false;\n  state.writecb = null;\n  state.length -= state.writelen;\n  state.writelen = 0;\n}\nfunction onwrite(stream, er) {\n  var state = stream._writableState;\n  var sync = state.sync;\n  var cb = state.writecb;\n  if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n  onwriteStateUpdate(state);\n  if (er) onwriteError(stream, state, sync, er, cb);else {\n    // Check if we're actually ready to finish, but don't emit yet\n    var finished = needFinish(state) || stream.destroyed;\n    if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n      clearBuffer(stream, state);\n    }\n    if (sync) {\n      process.nextTick(afterWrite, stream, state, finished, cb);\n    } else {\n      afterWrite(stream, state, finished, cb);\n    }\n  }\n}\nfunction afterWrite(stream, state, finished, cb) {\n  if (!finished) onwriteDrain(stream, state);\n  state.pendingcb--;\n  cb();\n  finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n  if (state.length === 0 && state.needDrain) {\n    state.needDrain = false;\n    stream.emit('drain');\n  }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n  state.bufferProcessing = true;\n  var entry = state.bufferedRequest;\n  if (stream._writev && entry && entry.next) {\n    // Fast case, write everything using _writev()\n    var l = state.bufferedRequestCount;\n    var buffer = new Array(l);\n    var holder = state.corkedRequestsFree;\n    holder.entry = entry;\n    var count = 0;\n    var allBuffers = true;\n    while (entry) {\n      buffer[count] = entry;\n      if (!entry.isBuf) allBuffers = false;\n      entry = entry.next;\n      count += 1;\n    }\n    buffer.allBuffers = allBuffers;\n    doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n    // doWrite is almost always async, defer these to save a bit of time\n    // as the hot path ends with doWrite\n    state.pendingcb++;\n    state.lastBufferedRequest = null;\n    if (holder.next) {\n      state.corkedRequestsFree = holder.next;\n      holder.next = null;\n    } else {\n      state.corkedRequestsFree = new CorkedRequest(state);\n    }\n    state.bufferedRequestCount = 0;\n  } else {\n    // Slow case, write chunks one-by-one\n    while (entry) {\n      var chunk = entry.chunk;\n      var encoding = entry.encoding;\n      var cb = entry.callback;\n      var len = state.objectMode ? 1 : chunk.length;\n      doWrite(stream, state, false, len, chunk, encoding, cb);\n      entry = entry.next;\n      state.bufferedRequestCount--;\n      // if we didn't call the onwrite immediately, then\n      // it means that we need to wait until it does.\n      // also, that means that the chunk and cb are currently\n      // being processed, so move the buffer counter past them.\n      if (state.writing) {\n        break;\n      }\n    }\n    if (entry === null) state.lastBufferedRequest = null;\n  }\n  state.bufferedRequest = entry;\n  state.bufferProcessing = false;\n}\nWritable.prototype._write = function (chunk, encoding, cb) {\n  cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\nWritable.prototype._writev = null;\nWritable.prototype.end = function (chunk, encoding, cb) {\n  var state = this._writableState;\n  if (typeof chunk === 'function') {\n    cb = chunk;\n    chunk = null;\n    encoding = null;\n  } else if (typeof encoding === 'function') {\n    cb = encoding;\n    encoding = null;\n  }\n  if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n  // .end() fully uncorks\n  if (state.corked) {\n    state.corked = 1;\n    this.uncork();\n  }\n\n  // ignore unnecessary end() calls.\n  if (!state.ending) endWritable(this, state, cb);\n  return this;\n};\nObject.defineProperty(Writable.prototype, 'writableLength', {\n  // making it explicit this property is not enumerable\n  // because otherwise some prototype manipulation in\n  // userland will fail\n  enumerable: false,\n  get: function get() {\n    return this._writableState.length;\n  }\n});\nfunction needFinish(state) {\n  return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n  stream._final(function (err) {\n    state.pendingcb--;\n    if (err) {\n      errorOrDestroy(stream, err);\n    }\n    state.prefinished = true;\n    stream.emit('prefinish');\n    finishMaybe(stream, state);\n  });\n}\nfunction prefinish(stream, state) {\n  if (!state.prefinished && !state.finalCalled) {\n    if (typeof stream._final === 'function' && !state.destroyed) {\n      state.pendingcb++;\n      state.finalCalled = true;\n      process.nextTick(callFinal, stream, state);\n    } else {\n      state.prefinished = true;\n      stream.emit('prefinish');\n    }\n  }\n}\nfunction finishMaybe(stream, state) {\n  var need = needFinish(state);\n  if (need) {\n    prefinish(stream, state);\n    if (state.pendingcb === 0) {\n      state.finished = true;\n      stream.emit('finish');\n      if (state.autoDestroy) {\n        // In case of duplex streams we need a way to detect\n        // if the readable side is ready for autoDestroy as well\n        var rState = stream._readableState;\n        if (!rState || rState.autoDestroy && rState.endEmitted) {\n          stream.destroy();\n        }\n      }\n    }\n  }\n  return need;\n}\nfunction endWritable(stream, state, cb) {\n  state.ending = true;\n  finishMaybe(stream, state);\n  if (cb) {\n    if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n  }\n  state.ended = true;\n  stream.writable = false;\n}\nfunction onCorkedFinish(corkReq, state, err) {\n  var entry = corkReq.entry;\n  corkReq.entry = null;\n  while (entry) {\n    var cb = entry.callback;\n    state.pendingcb--;\n    cb(err);\n    entry = entry.next;\n  }\n\n  // reuse the free corkReq.\n  state.corkedRequestsFree.next = corkReq;\n}\nObject.defineProperty(Writable.prototype, 'destroyed', {\n  // making it explicit this property is not enumerable\n  // because otherwise some prototype manipulation in\n  // userland will fail\n  enumerable: false,\n  get: function get() {\n    if (this._writableState === undefined) {\n      return false;\n    }\n    return this._writableState.destroyed;\n  },\n  set: function set(value) {\n    // we ignore the value if the stream\n    // has not been initialized yet\n    if (!this._writableState) {\n      return;\n    }\n\n    // backward compatibility, the user is explicitly\n    // managing destroyed\n    this._writableState.destroyed = value;\n  }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n  cb(err);\n};","'use strict';\n\nvar _Object$setPrototypeO;\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar finished = require('./end-of-stream');\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\nfunction createIterResult(value, done) {\n  return {\n    value: value,\n    done: done\n  };\n}\nfunction readAndResolve(iter) {\n  var resolve = iter[kLastResolve];\n  if (resolve !== null) {\n    var data = iter[kStream].read();\n    // we defer if data is null\n    // we can be expecting either 'end' or\n    // 'error'\n    if (data !== null) {\n      iter[kLastPromise] = null;\n      iter[kLastResolve] = null;\n      iter[kLastReject] = null;\n      resolve(createIterResult(data, false));\n    }\n  }\n}\nfunction onReadable(iter) {\n  // we wait for the next tick, because it might\n  // emit an error with process.nextTick\n  process.nextTick(readAndResolve, iter);\n}\nfunction wrapForNext(lastPromise, iter) {\n  return function (resolve, reject) {\n    lastPromise.then(function () {\n      if (iter[kEnded]) {\n        resolve(createIterResult(undefined, true));\n        return;\n      }\n      iter[kHandlePromise](resolve, reject);\n    }, reject);\n  };\n}\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n  get stream() {\n    return this[kStream];\n  },\n  next: function next() {\n    var _this = this;\n    // if we have detected an error in the meanwhile\n    // reject straight away\n    var error = this[kError];\n    if (error !== null) {\n      return Promise.reject(error);\n    }\n    if (this[kEnded]) {\n      return Promise.resolve(createIterResult(undefined, true));\n    }\n    if (this[kStream].destroyed) {\n      // We need to defer via nextTick because if .destroy(err) is\n      // called, the error will be emitted via nextTick, and\n      // we cannot guarantee that there is no error lingering around\n      // waiting to be emitted.\n      return new Promise(function (resolve, reject) {\n        process.nextTick(function () {\n          if (_this[kError]) {\n            reject(_this[kError]);\n          } else {\n            resolve(createIterResult(undefined, true));\n          }\n        });\n      });\n    }\n\n    // if we have multiple next() calls\n    // we will wait for the previous Promise to finish\n    // this logic is optimized to support for await loops,\n    // where next() is only called once at a time\n    var lastPromise = this[kLastPromise];\n    var promise;\n    if (lastPromise) {\n      promise = new Promise(wrapForNext(lastPromise, this));\n    } else {\n      // fast path needed to support multiple this.push()\n      // without triggering the next() queue\n      var data = this[kStream].read();\n      if (data !== null) {\n        return Promise.resolve(createIterResult(data, false));\n      }\n      promise = new Promise(this[kHandlePromise]);\n    }\n    this[kLastPromise] = promise;\n    return promise;\n  }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n  return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n  var _this2 = this;\n  // destroy(err, cb) is a private API\n  // we can guarantee we have that here, because we control the\n  // Readable class this is attached to\n  return new Promise(function (resolve, reject) {\n    _this2[kStream].destroy(null, function (err) {\n      if (err) {\n        reject(err);\n        return;\n      }\n      resolve(createIterResult(undefined, true));\n    });\n  });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n  var _Object$create;\n  var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n    value: stream,\n    writable: true\n  }), _defineProperty(_Object$create, kLastResolve, {\n    value: null,\n    writable: true\n  }), _defineProperty(_Object$create, kLastReject, {\n    value: null,\n    writable: true\n  }), _defineProperty(_Object$create, kError, {\n    value: null,\n    writable: true\n  }), _defineProperty(_Object$create, kEnded, {\n    value: stream._readableState.endEmitted,\n    writable: true\n  }), _defineProperty(_Object$create, kHandlePromise, {\n    value: function value(resolve, reject) {\n      var data = iterator[kStream].read();\n      if (data) {\n        iterator[kLastPromise] = null;\n        iterator[kLastResolve] = null;\n        iterator[kLastReject] = null;\n        resolve(createIterResult(data, false));\n      } else {\n        iterator[kLastResolve] = resolve;\n        iterator[kLastReject] = reject;\n      }\n    },\n    writable: true\n  }), _Object$create));\n  iterator[kLastPromise] = null;\n  finished(stream, function (err) {\n    if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n      var reject = iterator[kLastReject];\n      // reject if we are waiting for data in the Promise\n      // returned by next() and store the error\n      if (reject !== null) {\n        iterator[kLastPromise] = null;\n        iterator[kLastResolve] = null;\n        iterator[kLastReject] = null;\n        reject(err);\n      }\n      iterator[kError] = err;\n      return;\n    }\n    var resolve = iterator[kLastResolve];\n    if (resolve !== null) {\n      iterator[kLastPromise] = null;\n      iterator[kLastResolve] = null;\n      iterator[kLastReject] = null;\n      resolve(createIterResult(undefined, true));\n    }\n    iterator[kEnded] = true;\n  });\n  stream.on('readable', onReadable.bind(null, iterator));\n  return iterator;\n};\nmodule.exports = createReadableStreamAsyncIterator;","'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar _require = require('buffer'),\n  Buffer = _require.Buffer;\nvar _require2 = require('util'),\n  inspect = _require2.inspect;\nvar custom = inspect && inspect.custom || 'inspect';\nfunction copyBuffer(src, target, offset) {\n  Buffer.prototype.copy.call(src, target, offset);\n}\nmodule.exports = /*#__PURE__*/function () {\n  function BufferList() {\n    _classCallCheck(this, BufferList);\n    this.head = null;\n    this.tail = null;\n    this.length = 0;\n  }\n  _createClass(BufferList, [{\n    key: \"push\",\n    value: function push(v) {\n      var entry = {\n        data: v,\n        next: null\n      };\n      if (this.length > 0) this.tail.next = entry;else this.head = entry;\n      this.tail = entry;\n      ++this.length;\n    }\n  }, {\n    key: \"unshift\",\n    value: function unshift(v) {\n      var entry = {\n        data: v,\n        next: this.head\n      };\n      if (this.length === 0) this.tail = entry;\n      this.head = entry;\n      ++this.length;\n    }\n  }, {\n    key: \"shift\",\n    value: function shift() {\n      if (this.length === 0) return;\n      var ret = this.head.data;\n      if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n      --this.length;\n      return ret;\n    }\n  }, {\n    key: \"clear\",\n    value: function clear() {\n      this.head = this.tail = null;\n      this.length = 0;\n    }\n  }, {\n    key: \"join\",\n    value: function join(s) {\n      if (this.length === 0) return '';\n      var p = this.head;\n      var ret = '' + p.data;\n      while (p = p.next) ret += s + p.data;\n      return ret;\n    }\n  }, {\n    key: \"concat\",\n    value: function concat(n) {\n      if (this.length === 0) return Buffer.alloc(0);\n      var ret = Buffer.allocUnsafe(n >>> 0);\n      var p = this.head;\n      var i = 0;\n      while (p) {\n        copyBuffer(p.data, ret, i);\n        i += p.data.length;\n        p = p.next;\n      }\n      return ret;\n    }\n\n    // Consumes a specified amount of bytes or characters from the buffered data.\n  }, {\n    key: \"consume\",\n    value: function consume(n, hasStrings) {\n      var ret;\n      if (n < this.head.data.length) {\n        // `slice` is the same for buffers and strings.\n        ret = this.head.data.slice(0, n);\n        this.head.data = this.head.data.slice(n);\n      } else if (n === this.head.data.length) {\n        // First chunk is a perfect match.\n        ret = this.shift();\n      } else {\n        // Result spans more than one buffer.\n        ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n      }\n      return ret;\n    }\n  }, {\n    key: \"first\",\n    value: function first() {\n      return this.head.data;\n    }\n\n    // Consumes a specified amount of characters from the buffered data.\n  }, {\n    key: \"_getString\",\n    value: function _getString(n) {\n      var p = this.head;\n      var c = 1;\n      var ret = p.data;\n      n -= ret.length;\n      while (p = p.next) {\n        var str = p.data;\n        var nb = n > str.length ? str.length : n;\n        if (nb === str.length) ret += str;else ret += str.slice(0, n);\n        n -= nb;\n        if (n === 0) {\n          if (nb === str.length) {\n            ++c;\n            if (p.next) this.head = p.next;else this.head = this.tail = null;\n          } else {\n            this.head = p;\n            p.data = str.slice(nb);\n          }\n          break;\n        }\n        ++c;\n      }\n      this.length -= c;\n      return ret;\n    }\n\n    // Consumes a specified amount of bytes from the buffered data.\n  }, {\n    key: \"_getBuffer\",\n    value: function _getBuffer(n) {\n      var ret = Buffer.allocUnsafe(n);\n      var p = this.head;\n      var c = 1;\n      p.data.copy(ret);\n      n -= p.data.length;\n      while (p = p.next) {\n        var buf = p.data;\n        var nb = n > buf.length ? buf.length : n;\n        buf.copy(ret, ret.length - n, 0, nb);\n        n -= nb;\n        if (n === 0) {\n          if (nb === buf.length) {\n            ++c;\n            if (p.next) this.head = p.next;else this.head = this.tail = null;\n          } else {\n            this.head = p;\n            p.data = buf.slice(nb);\n          }\n          break;\n        }\n        ++c;\n      }\n      this.length -= c;\n      return ret;\n    }\n\n    // Make sure the linked list only shows the minimal necessary information.\n  }, {\n    key: custom,\n    value: function value(_, options) {\n      return inspect(this, _objectSpread(_objectSpread({}, options), {}, {\n        // Only inspect one level.\n        depth: 0,\n        // It should not recurse.\n        customInspect: false\n      }));\n    }\n  }]);\n  return BufferList;\n}();","'use strict';\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n  var _this = this;\n  var readableDestroyed = this._readableState && this._readableState.destroyed;\n  var writableDestroyed = this._writableState && this._writableState.destroyed;\n  if (readableDestroyed || writableDestroyed) {\n    if (cb) {\n      cb(err);\n    } else if (err) {\n      if (!this._writableState) {\n        process.nextTick(emitErrorNT, this, err);\n      } else if (!this._writableState.errorEmitted) {\n        this._writableState.errorEmitted = true;\n        process.nextTick(emitErrorNT, this, err);\n      }\n    }\n    return this;\n  }\n\n  // we set destroyed to true before firing error callbacks in order\n  // to make it re-entrance safe in case destroy() is called within callbacks\n\n  if (this._readableState) {\n    this._readableState.destroyed = true;\n  }\n\n  // if this is a duplex stream mark the writable part as destroyed as well\n  if (this._writableState) {\n    this._writableState.destroyed = true;\n  }\n  this._destroy(err || null, function (err) {\n    if (!cb && err) {\n      if (!_this._writableState) {\n        process.nextTick(emitErrorAndCloseNT, _this, err);\n      } else if (!_this._writableState.errorEmitted) {\n        _this._writableState.errorEmitted = true;\n        process.nextTick(emitErrorAndCloseNT, _this, err);\n      } else {\n        process.nextTick(emitCloseNT, _this);\n      }\n    } else if (cb) {\n      process.nextTick(emitCloseNT, _this);\n      cb(err);\n    } else {\n      process.nextTick(emitCloseNT, _this);\n    }\n  });\n  return this;\n}\nfunction emitErrorAndCloseNT(self, err) {\n  emitErrorNT(self, err);\n  emitCloseNT(self);\n}\nfunction emitCloseNT(self) {\n  if (self._writableState && !self._writableState.emitClose) return;\n  if (self._readableState && !self._readableState.emitClose) return;\n  self.emit('close');\n}\nfunction undestroy() {\n  if (this._readableState) {\n    this._readableState.destroyed = false;\n    this._readableState.reading = false;\n    this._readableState.ended = false;\n    this._readableState.endEmitted = false;\n  }\n  if (this._writableState) {\n    this._writableState.destroyed = false;\n    this._writableState.ended = false;\n    this._writableState.ending = false;\n    this._writableState.finalCalled = false;\n    this._writableState.prefinished = false;\n    this._writableState.finished = false;\n    this._writableState.errorEmitted = false;\n  }\n}\nfunction emitErrorNT(self, err) {\n  self.emit('error', err);\n}\nfunction errorOrDestroy(stream, err) {\n  // We have tests that rely on errors being emitted\n  // in the same tick, so changing this is semver major.\n  // For now when you opt-in to autoDestroy we allow\n  // the error to be emitted nextTick. In a future\n  // semver major update we should change the default to this.\n\n  var rState = stream._readableState;\n  var wState = stream._writableState;\n  if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\nmodule.exports = {\n  destroy: destroy,\n  undestroy: undestroy,\n  errorOrDestroy: errorOrDestroy\n};","// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\nfunction once(callback) {\n  var called = false;\n  return function () {\n    if (called) return;\n    called = true;\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    callback.apply(this, args);\n  };\n}\nfunction noop() {}\nfunction isRequest(stream) {\n  return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction eos(stream, opts, callback) {\n  if (typeof opts === 'function') return eos(stream, null, opts);\n  if (!opts) opts = {};\n  callback = once(callback || noop);\n  var readable = opts.readable || opts.readable !== false && stream.readable;\n  var writable = opts.writable || opts.writable !== false && stream.writable;\n  var onlegacyfinish = function onlegacyfinish() {\n    if (!stream.writable) onfinish();\n  };\n  var writableEnded = stream._writableState && stream._writableState.finished;\n  var onfinish = function onfinish() {\n    writable = false;\n    writableEnded = true;\n    if (!readable) callback.call(stream);\n  };\n  var readableEnded = stream._readableState && stream._readableState.endEmitted;\n  var onend = function onend() {\n    readable = false;\n    readableEnded = true;\n    if (!writable) callback.call(stream);\n  };\n  var onerror = function onerror(err) {\n    callback.call(stream, err);\n  };\n  var onclose = function onclose() {\n    var err;\n    if (readable && !readableEnded) {\n      if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n      return callback.call(stream, err);\n    }\n    if (writable && !writableEnded) {\n      if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n      return callback.call(stream, err);\n    }\n  };\n  var onrequest = function onrequest() {\n    stream.req.on('finish', onfinish);\n  };\n  if (isRequest(stream)) {\n    stream.on('complete', onfinish);\n    stream.on('abort', onclose);\n    if (stream.req) onrequest();else stream.on('request', onrequest);\n  } else if (writable && !stream._writableState) {\n    // legacy streams\n    stream.on('end', onlegacyfinish);\n    stream.on('close', onlegacyfinish);\n  }\n  stream.on('end', onend);\n  stream.on('finish', onfinish);\n  if (opts.error !== false) stream.on('error', onerror);\n  stream.on('close', onclose);\n  return function () {\n    stream.removeListener('complete', onfinish);\n    stream.removeListener('abort', onclose);\n    stream.removeListener('request', onrequest);\n    if (stream.req) stream.req.removeListener('finish', onfinish);\n    stream.removeListener('end', onlegacyfinish);\n    stream.removeListener('close', onlegacyfinish);\n    stream.removeListener('finish', onfinish);\n    stream.removeListener('end', onend);\n    stream.removeListener('error', onerror);\n    stream.removeListener('close', onclose);\n  };\n}\nmodule.exports = eos;","module.exports = function () {\n  throw new Error('Readable.from is not available in the browser')\n};\n","// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n\n'use strict';\n\nvar eos;\nfunction once(callback) {\n  var called = false;\n  return function () {\n    if (called) return;\n    called = true;\n    callback.apply(void 0, arguments);\n  };\n}\nvar _require$codes = require('../../../errors').codes,\n  ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n  ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\nfunction noop(err) {\n  // Rethrow the error if it exists to avoid swallowing it\n  if (err) throw err;\n}\nfunction isRequest(stream) {\n  return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction destroyer(stream, reading, writing, callback) {\n  callback = once(callback);\n  var closed = false;\n  stream.on('close', function () {\n    closed = true;\n  });\n  if (eos === undefined) eos = require('./end-of-stream');\n  eos(stream, {\n    readable: reading,\n    writable: writing\n  }, function (err) {\n    if (err) return callback(err);\n    closed = true;\n    callback();\n  });\n  var destroyed = false;\n  return function (err) {\n    if (closed) return;\n    if (destroyed) return;\n    destroyed = true;\n\n    // request.destroy just do .end - .abort is what we want\n    if (isRequest(stream)) return stream.abort();\n    if (typeof stream.destroy === 'function') return stream.destroy();\n    callback(err || new ERR_STREAM_DESTROYED('pipe'));\n  };\n}\nfunction call(fn) {\n  fn();\n}\nfunction pipe(from, to) {\n  return from.pipe(to);\n}\nfunction popCallback(streams) {\n  if (!streams.length) return noop;\n  if (typeof streams[streams.length - 1] !== 'function') return noop;\n  return streams.pop();\n}\nfunction pipeline() {\n  for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n    streams[_key] = arguments[_key];\n  }\n  var callback = popCallback(streams);\n  if (Array.isArray(streams[0])) streams = streams[0];\n  if (streams.length < 2) {\n    throw new ERR_MISSING_ARGS('streams');\n  }\n  var error;\n  var destroys = streams.map(function (stream, i) {\n    var reading = i < streams.length - 1;\n    var writing = i > 0;\n    return destroyer(stream, reading, writing, function (err) {\n      if (!error) error = err;\n      if (err) destroys.forEach(call);\n      if (reading) return;\n      destroys.forEach(call);\n      callback(error);\n    });\n  });\n  return streams.reduce(pipe);\n}\nmodule.exports = pipeline;","'use strict';\n\nvar ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n  return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n  var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n  if (hwm != null) {\n    if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n      var name = isDuplex ? duplexKey : 'highWaterMark';\n      throw new ERR_INVALID_OPT_VALUE(name, hwm);\n    }\n    return Math.floor(hwm);\n  }\n\n  // Default value\n  return state.objectMode ? 16 : 16 * 1024;\n}\nmodule.exports = {\n  getHighWaterMark: getHighWaterMark\n};","module.exports = require('events').EventEmitter;\n","exports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\nexports.finished = require('./lib/internal/streams/end-of-stream.js');\nexports.pipeline = require('./lib/internal/streams/pipeline.js');\n","'use strict';\n\n/**\n * Check if we're required to add a port number.\n *\n * @see https://url.spec.whatwg.org/#default-port\n * @param {Number|String} port Port number we need to check\n * @param {String} protocol Protocol we need to check against.\n * @returns {Boolean} Is it a default port for the given protocol\n * @api private\n */\nmodule.exports = function required(port, protocol) {\n  protocol = protocol.split(':')[0];\n  port = +port;\n\n  if (!port) return false;\n\n  switch (protocol) {\n    case 'http':\n    case 'ws':\n    return port !== 80;\n\n    case 'https':\n    case 'wss':\n    return port !== 443;\n\n    case 'ftp':\n    return port !== 21;\n\n    case 'gopher':\n    return port !== 70;\n\n    case 'file':\n    return false;\n  }\n\n  return port !== 0;\n};\n","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n    if (typeof Map !== 'undefined') {\r\n        return Map;\r\n    }\r\n    /**\r\n     * Returns index in provided array that matches the specified key.\r\n     *\r\n     * @param {Array<Array>} arr\r\n     * @param {*} key\r\n     * @returns {number}\r\n     */\r\n    function getIndex(arr, key) {\r\n        var result = -1;\r\n        arr.some(function (entry, index) {\r\n            if (entry[0] === key) {\r\n                result = index;\r\n                return true;\r\n            }\r\n            return false;\r\n        });\r\n        return result;\r\n    }\r\n    return /** @class */ (function () {\r\n        function class_1() {\r\n            this.__entries__ = [];\r\n        }\r\n        Object.defineProperty(class_1.prototype, \"size\", {\r\n            /**\r\n             * @returns {boolean}\r\n             */\r\n            get: function () {\r\n                return this.__entries__.length;\r\n            },\r\n            enumerable: true,\r\n            configurable: true\r\n        });\r\n        /**\r\n         * @param {*} key\r\n         * @returns {*}\r\n         */\r\n        class_1.prototype.get = function (key) {\r\n            var index = getIndex(this.__entries__, key);\r\n            var entry = this.__entries__[index];\r\n            return entry && entry[1];\r\n        };\r\n        /**\r\n         * @param {*} key\r\n         * @param {*} value\r\n         * @returns {void}\r\n         */\r\n        class_1.prototype.set = function (key, value) {\r\n            var index = getIndex(this.__entries__, key);\r\n            if (~index) {\r\n                this.__entries__[index][1] = value;\r\n            }\r\n            else {\r\n                this.__entries__.push([key, value]);\r\n            }\r\n        };\r\n        /**\r\n         * @param {*} key\r\n         * @returns {void}\r\n         */\r\n        class_1.prototype.delete = function (key) {\r\n            var entries = this.__entries__;\r\n            var index = getIndex(entries, key);\r\n            if (~index) {\r\n                entries.splice(index, 1);\r\n            }\r\n        };\r\n        /**\r\n         * @param {*} key\r\n         * @returns {void}\r\n         */\r\n        class_1.prototype.has = function (key) {\r\n            return !!~getIndex(this.__entries__, key);\r\n        };\r\n        /**\r\n         * @returns {void}\r\n         */\r\n        class_1.prototype.clear = function () {\r\n            this.__entries__.splice(0);\r\n        };\r\n        /**\r\n         * @param {Function} callback\r\n         * @param {*} [ctx=null]\r\n         * @returns {void}\r\n         */\r\n        class_1.prototype.forEach = function (callback, ctx) {\r\n            if (ctx === void 0) { ctx = null; }\r\n            for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n                var entry = _a[_i];\r\n                callback.call(ctx, entry[1], entry[0]);\r\n            }\r\n        };\r\n        return class_1;\r\n    }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n    if (typeof global !== 'undefined' && global.Math === Math) {\r\n        return global;\r\n    }\r\n    if (typeof self !== 'undefined' && self.Math === Math) {\r\n        return self;\r\n    }\r\n    if (typeof window !== 'undefined' && window.Math === Math) {\r\n        return window;\r\n    }\r\n    // eslint-disable-next-line no-new-func\r\n    return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n    if (typeof requestAnimationFrame === 'function') {\r\n        // It's required to use a bounded function because IE sometimes throws\r\n        // an \"Invalid calling object\" error if rAF is invoked without the global\r\n        // object on the left hand side.\r\n        return requestAnimationFrame.bind(global$1);\r\n    }\r\n    return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n    var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n    /**\r\n     * Invokes the original callback function and schedules new invocation if\r\n     * the \"proxy\" was called during current request.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    function resolvePending() {\r\n        if (leadingCall) {\r\n            leadingCall = false;\r\n            callback();\r\n        }\r\n        if (trailingCall) {\r\n            proxy();\r\n        }\r\n    }\r\n    /**\r\n     * Callback invoked after the specified delay. It will further postpone\r\n     * invocation of the original function delegating it to the\r\n     * requestAnimationFrame.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    function timeoutCallback() {\r\n        requestAnimationFrame$1(resolvePending);\r\n    }\r\n    /**\r\n     * Schedules invocation of the original function.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    function proxy() {\r\n        var timeStamp = Date.now();\r\n        if (leadingCall) {\r\n            // Reject immediately following calls.\r\n            if (timeStamp - lastCallTime < trailingTimeout) {\r\n                return;\r\n            }\r\n            // Schedule new call to be in invoked when the pending one is resolved.\r\n            // This is important for \"transitions\" which never actually start\r\n            // immediately so there is a chance that we might miss one if change\r\n            // happens amids the pending invocation.\r\n            trailingCall = true;\r\n        }\r\n        else {\r\n            leadingCall = true;\r\n            trailingCall = false;\r\n            setTimeout(timeoutCallback, delay);\r\n        }\r\n        lastCallTime = timeStamp;\r\n    }\r\n    return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n    /**\r\n     * Creates a new instance of ResizeObserverController.\r\n     *\r\n     * @private\r\n     */\r\n    function ResizeObserverController() {\r\n        /**\r\n         * Indicates whether DOM listeners have been added.\r\n         *\r\n         * @private {boolean}\r\n         */\r\n        this.connected_ = false;\r\n        /**\r\n         * Tells that controller has subscribed for Mutation Events.\r\n         *\r\n         * @private {boolean}\r\n         */\r\n        this.mutationEventsAdded_ = false;\r\n        /**\r\n         * Keeps reference to the instance of MutationObserver.\r\n         *\r\n         * @private {MutationObserver}\r\n         */\r\n        this.mutationsObserver_ = null;\r\n        /**\r\n         * A list of connected observers.\r\n         *\r\n         * @private {Array<ResizeObserverSPI>}\r\n         */\r\n        this.observers_ = [];\r\n        this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n        this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n    }\r\n    /**\r\n     * Adds observer to observers list.\r\n     *\r\n     * @param {ResizeObserverSPI} observer - Observer to be added.\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.addObserver = function (observer) {\r\n        if (!~this.observers_.indexOf(observer)) {\r\n            this.observers_.push(observer);\r\n        }\r\n        // Add listeners if they haven't been added yet.\r\n        if (!this.connected_) {\r\n            this.connect_();\r\n        }\r\n    };\r\n    /**\r\n     * Removes observer from observers list.\r\n     *\r\n     * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.removeObserver = function (observer) {\r\n        var observers = this.observers_;\r\n        var index = observers.indexOf(observer);\r\n        // Remove observer if it's present in registry.\r\n        if (~index) {\r\n            observers.splice(index, 1);\r\n        }\r\n        // Remove listeners if controller has no connected observers.\r\n        if (!observers.length && this.connected_) {\r\n            this.disconnect_();\r\n        }\r\n    };\r\n    /**\r\n     * Invokes the update of observers. It will continue running updates insofar\r\n     * it detects changes.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.refresh = function () {\r\n        var changesDetected = this.updateObservers_();\r\n        // Continue running updates if changes have been detected as there might\r\n        // be future ones caused by CSS transitions.\r\n        if (changesDetected) {\r\n            this.refresh();\r\n        }\r\n    };\r\n    /**\r\n     * Updates every observer from observers list and notifies them of queued\r\n     * entries.\r\n     *\r\n     * @private\r\n     * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n     *      dimensions of it's elements.\r\n     */\r\n    ResizeObserverController.prototype.updateObservers_ = function () {\r\n        // Collect observers that have active observations.\r\n        var activeObservers = this.observers_.filter(function (observer) {\r\n            return observer.gatherActive(), observer.hasActive();\r\n        });\r\n        // Deliver notifications in a separate cycle in order to avoid any\r\n        // collisions between observers, e.g. when multiple instances of\r\n        // ResizeObserver are tracking the same element and the callback of one\r\n        // of them changes content dimensions of the observed target. Sometimes\r\n        // this may result in notifications being blocked for the rest of observers.\r\n        activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n        return activeObservers.length > 0;\r\n    };\r\n    /**\r\n     * Initializes DOM listeners.\r\n     *\r\n     * @private\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.connect_ = function () {\r\n        // Do nothing if running in a non-browser environment or if listeners\r\n        // have been already added.\r\n        if (!isBrowser || this.connected_) {\r\n            return;\r\n        }\r\n        // Subscription to the \"Transitionend\" event is used as a workaround for\r\n        // delayed transitions. This way it's possible to capture at least the\r\n        // final state of an element.\r\n        document.addEventListener('transitionend', this.onTransitionEnd_);\r\n        window.addEventListener('resize', this.refresh);\r\n        if (mutationObserverSupported) {\r\n            this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n            this.mutationsObserver_.observe(document, {\r\n                attributes: true,\r\n                childList: true,\r\n                characterData: true,\r\n                subtree: true\r\n            });\r\n        }\r\n        else {\r\n            document.addEventListener('DOMSubtreeModified', this.refresh);\r\n            this.mutationEventsAdded_ = true;\r\n        }\r\n        this.connected_ = true;\r\n    };\r\n    /**\r\n     * Removes DOM listeners.\r\n     *\r\n     * @private\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.disconnect_ = function () {\r\n        // Do nothing if running in a non-browser environment or if listeners\r\n        // have been already removed.\r\n        if (!isBrowser || !this.connected_) {\r\n            return;\r\n        }\r\n        document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n        window.removeEventListener('resize', this.refresh);\r\n        if (this.mutationsObserver_) {\r\n            this.mutationsObserver_.disconnect();\r\n        }\r\n        if (this.mutationEventsAdded_) {\r\n            document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n        }\r\n        this.mutationsObserver_ = null;\r\n        this.mutationEventsAdded_ = false;\r\n        this.connected_ = false;\r\n    };\r\n    /**\r\n     * \"Transitionend\" event handler.\r\n     *\r\n     * @private\r\n     * @param {TransitionEvent} event\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n        var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n        // Detect whether transition may affect dimensions of an element.\r\n        var isReflowProperty = transitionKeys.some(function (key) {\r\n            return !!~propertyName.indexOf(key);\r\n        });\r\n        if (isReflowProperty) {\r\n            this.refresh();\r\n        }\r\n    };\r\n    /**\r\n     * Returns instance of the ResizeObserverController.\r\n     *\r\n     * @returns {ResizeObserverController}\r\n     */\r\n    ResizeObserverController.getInstance = function () {\r\n        if (!this.instance_) {\r\n            this.instance_ = new ResizeObserverController();\r\n        }\r\n        return this.instance_;\r\n    };\r\n    /**\r\n     * Holds reference to the controller's instance.\r\n     *\r\n     * @private {ResizeObserverController}\r\n     */\r\n    ResizeObserverController.instance_ = null;\r\n    return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n    for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n        var key = _a[_i];\r\n        Object.defineProperty(target, key, {\r\n            value: props[key],\r\n            enumerable: false,\r\n            writable: false,\r\n            configurable: true\r\n        });\r\n    }\r\n    return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n    // Assume that the element is an instance of Node, which means that it\r\n    // has the \"ownerDocument\" property from which we can retrieve a\r\n    // corresponding global object.\r\n    var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n    // Return the local global object if it's not possible extract one from\r\n    // provided element.\r\n    return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n    return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n    var positions = [];\r\n    for (var _i = 1; _i < arguments.length; _i++) {\r\n        positions[_i - 1] = arguments[_i];\r\n    }\r\n    return positions.reduce(function (size, position) {\r\n        var value = styles['border-' + position + '-width'];\r\n        return size + toFloat(value);\r\n    }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n    var positions = ['top', 'right', 'bottom', 'left'];\r\n    var paddings = {};\r\n    for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n        var position = positions_1[_i];\r\n        var value = styles['padding-' + position];\r\n        paddings[position] = toFloat(value);\r\n    }\r\n    return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n *      to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n    var bbox = target.getBBox();\r\n    return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n    // Client width & height properties can't be\r\n    // used exclusively as they provide rounded values.\r\n    var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n    // By this condition we can catch all non-replaced inline, hidden and\r\n    // detached elements. Though elements with width & height properties less\r\n    // than 0.5 will be discarded as well.\r\n    //\r\n    // Without it we would need to implement separate methods for each of\r\n    // those cases and it's not possible to perform a precise and performance\r\n    // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n    // gives wrong results for elements with width & height less than 0.5.\r\n    if (!clientWidth && !clientHeight) {\r\n        return emptyRect;\r\n    }\r\n    var styles = getWindowOf(target).getComputedStyle(target);\r\n    var paddings = getPaddings(styles);\r\n    var horizPad = paddings.left + paddings.right;\r\n    var vertPad = paddings.top + paddings.bottom;\r\n    // Computed styles of width & height are being used because they are the\r\n    // only dimensions available to JS that contain non-rounded values. It could\r\n    // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n    // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n    var width = toFloat(styles.width), height = toFloat(styles.height);\r\n    // Width & height include paddings and borders when the 'border-box' box\r\n    // model is applied (except for IE).\r\n    if (styles.boxSizing === 'border-box') {\r\n        // Following conditions are required to handle Internet Explorer which\r\n        // doesn't include paddings and borders to computed CSS dimensions.\r\n        //\r\n        // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n        // properties then it's either IE, and thus we don't need to subtract\r\n        // anything, or an element merely doesn't have paddings/borders styles.\r\n        if (Math.round(width + horizPad) !== clientWidth) {\r\n            width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n        }\r\n        if (Math.round(height + vertPad) !== clientHeight) {\r\n            height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n        }\r\n    }\r\n    // Following steps can't be applied to the document's root element as its\r\n    // client[Width/Height] properties represent viewport area of the window.\r\n    // Besides, it's as well not necessary as the <html> itself neither has\r\n    // rendered scroll bars nor it can be clipped.\r\n    if (!isDocumentElement(target)) {\r\n        // In some browsers (only in Firefox, actually) CSS width & height\r\n        // include scroll bars size which can be removed at this step as scroll\r\n        // bars are the only difference between rounded dimensions + paddings\r\n        // and \"client\" properties, though that is not always true in Chrome.\r\n        var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n        var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n        // Chrome has a rather weird rounding of \"client\" properties.\r\n        // E.g. for an element with content width of 314.2px it sometimes gives\r\n        // the client width of 315px and for the width of 314.7px it may give\r\n        // 314px. And it doesn't happen all the time. So just ignore this delta\r\n        // as a non-relevant.\r\n        if (Math.abs(vertScrollbar) !== 1) {\r\n            width -= vertScrollbar;\r\n        }\r\n        if (Math.abs(horizScrollbar) !== 1) {\r\n            height -= horizScrollbar;\r\n        }\r\n    }\r\n    return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n    // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n    // interface.\r\n    if (typeof SVGGraphicsElement !== 'undefined') {\r\n        return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n    }\r\n    // If it's so, then check that element is at least an instance of the\r\n    // SVGElement and that it has the \"getBBox\" method.\r\n    // eslint-disable-next-line no-extra-parens\r\n    return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n        typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element (<html>).\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n    return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n    if (!isBrowser) {\r\n        return emptyRect;\r\n    }\r\n    if (isSVGGraphicsElement(target)) {\r\n        return getSVGContentRect(target);\r\n    }\r\n    return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n    var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n    // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n    var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n    var rect = Object.create(Constr.prototype);\r\n    // Rectangle's properties are not writable and non-enumerable.\r\n    defineConfigurable(rect, {\r\n        x: x, y: y, width: width, height: height,\r\n        top: y,\r\n        right: x + width,\r\n        bottom: height + y,\r\n        left: x\r\n    });\r\n    return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n    return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n    /**\r\n     * Creates an instance of ResizeObservation.\r\n     *\r\n     * @param {Element} target - Element to be observed.\r\n     */\r\n    function ResizeObservation(target) {\r\n        /**\r\n         * Broadcasted width of content rectangle.\r\n         *\r\n         * @type {number}\r\n         */\r\n        this.broadcastWidth = 0;\r\n        /**\r\n         * Broadcasted height of content rectangle.\r\n         *\r\n         * @type {number}\r\n         */\r\n        this.broadcastHeight = 0;\r\n        /**\r\n         * Reference to the last observed content rectangle.\r\n         *\r\n         * @private {DOMRectInit}\r\n         */\r\n        this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n        this.target = target;\r\n    }\r\n    /**\r\n     * Updates content rectangle and tells whether it's width or height properties\r\n     * have changed since the last broadcast.\r\n     *\r\n     * @returns {boolean}\r\n     */\r\n    ResizeObservation.prototype.isActive = function () {\r\n        var rect = getContentRect(this.target);\r\n        this.contentRect_ = rect;\r\n        return (rect.width !== this.broadcastWidth ||\r\n            rect.height !== this.broadcastHeight);\r\n    };\r\n    /**\r\n     * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n     * from the corresponding properties of the last observed content rectangle.\r\n     *\r\n     * @returns {DOMRectInit} Last observed content rectangle.\r\n     */\r\n    ResizeObservation.prototype.broadcastRect = function () {\r\n        var rect = this.contentRect_;\r\n        this.broadcastWidth = rect.width;\r\n        this.broadcastHeight = rect.height;\r\n        return rect;\r\n    };\r\n    return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n    /**\r\n     * Creates an instance of ResizeObserverEntry.\r\n     *\r\n     * @param {Element} target - Element that is being observed.\r\n     * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n     */\r\n    function ResizeObserverEntry(target, rectInit) {\r\n        var contentRect = createReadOnlyRect(rectInit);\r\n        // According to the specification following properties are not writable\r\n        // and are also not enumerable in the native implementation.\r\n        //\r\n        // Property accessors are not being used as they'd require to define a\r\n        // private WeakMap storage which may cause memory leaks in browsers that\r\n        // don't support this type of collections.\r\n        defineConfigurable(this, { target: target, contentRect: contentRect });\r\n    }\r\n    return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n    /**\r\n     * Creates a new instance of ResizeObserver.\r\n     *\r\n     * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n     *      when one of the observed elements changes it's content dimensions.\r\n     * @param {ResizeObserverController} controller - Controller instance which\r\n     *      is responsible for the updates of observer.\r\n     * @param {ResizeObserver} callbackCtx - Reference to the public\r\n     *      ResizeObserver instance which will be passed to callback function.\r\n     */\r\n    function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n        /**\r\n         * Collection of resize observations that have detected changes in dimensions\r\n         * of elements.\r\n         *\r\n         * @private {Array<ResizeObservation>}\r\n         */\r\n        this.activeObservations_ = [];\r\n        /**\r\n         * Registry of the ResizeObservation instances.\r\n         *\r\n         * @private {Map<Element, ResizeObservation>}\r\n         */\r\n        this.observations_ = new MapShim();\r\n        if (typeof callback !== 'function') {\r\n            throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n        }\r\n        this.callback_ = callback;\r\n        this.controller_ = controller;\r\n        this.callbackCtx_ = callbackCtx;\r\n    }\r\n    /**\r\n     * Starts observing provided element.\r\n     *\r\n     * @param {Element} target - Element to be observed.\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.observe = function (target) {\r\n        if (!arguments.length) {\r\n            throw new TypeError('1 argument required, but only 0 present.');\r\n        }\r\n        // Do nothing if current environment doesn't have the Element interface.\r\n        if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n            return;\r\n        }\r\n        if (!(target instanceof getWindowOf(target).Element)) {\r\n            throw new TypeError('parameter 1 is not of type \"Element\".');\r\n        }\r\n        var observations = this.observations_;\r\n        // Do nothing if element is already being observed.\r\n        if (observations.has(target)) {\r\n            return;\r\n        }\r\n        observations.set(target, new ResizeObservation(target));\r\n        this.controller_.addObserver(this);\r\n        // Force the update of observations.\r\n        this.controller_.refresh();\r\n    };\r\n    /**\r\n     * Stops observing provided element.\r\n     *\r\n     * @param {Element} target - Element to stop observing.\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.unobserve = function (target) {\r\n        if (!arguments.length) {\r\n            throw new TypeError('1 argument required, but only 0 present.');\r\n        }\r\n        // Do nothing if current environment doesn't have the Element interface.\r\n        if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n            return;\r\n        }\r\n        if (!(target instanceof getWindowOf(target).Element)) {\r\n            throw new TypeError('parameter 1 is not of type \"Element\".');\r\n        }\r\n        var observations = this.observations_;\r\n        // Do nothing if element is not being observed.\r\n        if (!observations.has(target)) {\r\n            return;\r\n        }\r\n        observations.delete(target);\r\n        if (!observations.size) {\r\n            this.controller_.removeObserver(this);\r\n        }\r\n    };\r\n    /**\r\n     * Stops observing all elements.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.disconnect = function () {\r\n        this.clearActive();\r\n        this.observations_.clear();\r\n        this.controller_.removeObserver(this);\r\n    };\r\n    /**\r\n     * Collects observation instances the associated element of which has changed\r\n     * it's content rectangle.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.gatherActive = function () {\r\n        var _this = this;\r\n        this.clearActive();\r\n        this.observations_.forEach(function (observation) {\r\n            if (observation.isActive()) {\r\n                _this.activeObservations_.push(observation);\r\n            }\r\n        });\r\n    };\r\n    /**\r\n     * Invokes initial callback function with a list of ResizeObserverEntry\r\n     * instances collected from active resize observations.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.broadcastActive = function () {\r\n        // Do nothing if observer doesn't have active observations.\r\n        if (!this.hasActive()) {\r\n            return;\r\n        }\r\n        var ctx = this.callbackCtx_;\r\n        // Create ResizeObserverEntry instance for every active observation.\r\n        var entries = this.activeObservations_.map(function (observation) {\r\n            return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n        });\r\n        this.callback_.call(ctx, entries, ctx);\r\n        this.clearActive();\r\n    };\r\n    /**\r\n     * Clears the collection of active observations.\r\n     *\r\n     * @returns {void}\r\n     */\r\n    ResizeObserverSPI.prototype.clearActive = function () {\r\n        this.activeObservations_.splice(0);\r\n    };\r\n    /**\r\n     * Tells whether observer has active observations.\r\n     *\r\n     * @returns {boolean}\r\n     */\r\n    ResizeObserverSPI.prototype.hasActive = function () {\r\n        return this.activeObservations_.length > 0;\r\n    };\r\n    return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n    /**\r\n     * Creates a new instance of ResizeObserver.\r\n     *\r\n     * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n     *      dimensions of the observed elements change.\r\n     */\r\n    function ResizeObserver(callback) {\r\n        if (!(this instanceof ResizeObserver)) {\r\n            throw new TypeError('Cannot call a class as a function.');\r\n        }\r\n        if (!arguments.length) {\r\n            throw new TypeError('1 argument required, but only 0 present.');\r\n        }\r\n        var controller = ResizeObserverController.getInstance();\r\n        var observer = new ResizeObserverSPI(callback, controller, this);\r\n        observers.set(this, observer);\r\n    }\r\n    return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n    'observe',\r\n    'unobserve',\r\n    'disconnect'\r\n].forEach(function (method) {\r\n    ResizeObserver.prototype[method] = function () {\r\n        var _a;\r\n        return (_a = observers.get(this))[method].apply(_a, arguments);\r\n    };\r\n});\n\nvar index = (function () {\r\n    // Export existing implementation if available.\r\n    if (typeof global$1.ResizeObserver !== 'undefined') {\r\n        return global$1.ResizeObserver;\r\n    }\r\n    return ResizeObserver;\r\n})();\n\nexport default index;\n","/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n  for (var key in src) {\n    dst[key] = src[key]\n  }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n  module.exports = buffer\n} else {\n  // Copy properties from require('buffer')\n  copyProps(buffer, exports)\n  exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n  return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n  if (typeof arg === 'number') {\n    throw new TypeError('Argument must not be a number')\n  }\n  return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n  if (typeof size !== 'number') {\n    throw new TypeError('Argument must be a number')\n  }\n  var buf = Buffer(size)\n  if (fill !== undefined) {\n    if (typeof encoding === 'string') {\n      buf.fill(fill, encoding)\n    } else {\n      buf.fill(fill)\n    }\n  } else {\n    buf.fill(0)\n  }\n  return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n  if (typeof size !== 'number') {\n    throw new TypeError('Argument must be a number')\n  }\n  return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n  if (typeof size !== 'number') {\n    throw new TypeError('Argument must be a number')\n  }\n  return buffer.SlowBuffer(size)\n}\n","'use strict';\n\nvar callBound = require('call-bound');\nvar isRegex = require('is-regex');\n\nvar $exec = callBound('RegExp.prototype.exec');\nvar $TypeError = require('es-errors/type');\n\n/** @type {import('.')} */\nmodule.exports = function regexTester(regex) {\n\tif (!isRegex(regex)) {\n\t\tthrow new $TypeError('`regex` must be a RegExp');\n\t}\n\treturn function test(s) {\n\t\treturn $exec(regex, s) !== null;\n\t};\n};\n","'use strict';\n\n(function () {\n  var out$ = typeof exports != 'undefined' && exports || typeof define != 'undefined' && {} || this || window;\n  if (typeof define !== 'undefined') define('save-svg-as-png', [], function () {\n    return out$;\n  });\n  out$.default = out$;\n\n  var xmlNs = 'http://www.w3.org/2000/xmlns/';\n  var xhtmlNs = 'http://www.w3.org/1999/xhtml';\n  var svgNs = 'http://www.w3.org/2000/svg';\n  var doctype = '<?xml version=\"1.0\" standalone=\"no\"?><!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\" [<!ENTITY nbsp \"&#160;\">]>';\n  var urlRegex = /url\\([\"']?(.+?)[\"']?\\)/;\n  var fontFormats = {\n    woff2: 'font/woff2',\n    woff: 'font/woff',\n    otf: 'application/x-font-opentype',\n    ttf: 'application/x-font-ttf',\n    eot: 'application/vnd.ms-fontobject',\n    sfnt: 'application/font-sfnt',\n    svg: 'image/svg+xml'\n  };\n\n  var isElement = function isElement(obj) {\n    return obj instanceof HTMLElement || obj instanceof SVGElement;\n  };\n  var requireDomNode = function requireDomNode(el) {\n    if (!isElement(el)) throw new Error('an HTMLElement or SVGElement is required; got ' + el);\n  };\n  var requireDomNodePromise = function requireDomNodePromise(el) {\n    return new Promise(function (resolve, reject) {\n      if (isElement(el)) resolve(el);else reject(new Error('an HTMLElement or SVGElement is required; got ' + el));\n    });\n  };\n  var isExternal = function isExternal(url) {\n    return url && url.lastIndexOf('http', 0) === 0 && url.lastIndexOf(window.location.host) === -1;\n  };\n\n  var getFontMimeTypeFromUrl = function getFontMimeTypeFromUrl(fontUrl) {\n    var formats = Object.keys(fontFormats).filter(function (extension) {\n      return fontUrl.indexOf('.' + extension) > 0;\n    }).map(function (extension) {\n      return fontFormats[extension];\n    });\n    if (formats) return formats[0];\n    console.error('Unknown font format for ' + fontUrl + '. Fonts may not be working correctly.');\n    return 'application/octet-stream';\n  };\n\n  var arrayBufferToBase64 = function arrayBufferToBase64(buffer) {\n    var binary = '';\n    var bytes = new Uint8Array(buffer);\n    for (var i = 0; i < bytes.byteLength; i++) {\n      binary += String.fromCharCode(bytes[i]);\n    }return window.btoa(binary);\n  };\n\n  var getDimension = function getDimension(el, clone, dim) {\n    var v = el.viewBox && el.viewBox.baseVal && el.viewBox.baseVal[dim] || clone.getAttribute(dim) !== null && !clone.getAttribute(dim).match(/%$/) && parseInt(clone.getAttribute(dim)) || el.getBoundingClientRect()[dim] || parseInt(clone.style[dim]) || parseInt(window.getComputedStyle(el).getPropertyValue(dim));\n    return typeof v === 'undefined' || v === null || isNaN(parseFloat(v)) ? 0 : v;\n  };\n\n  var getDimensions = function getDimensions(el, clone, width, height) {\n    if (el.tagName === 'svg') return {\n      width: width || getDimension(el, clone, 'width'),\n      height: height || getDimension(el, clone, 'height')\n    };else if (el.getBBox) {\n      var _el$getBBox = el.getBBox(),\n          x = _el$getBBox.x,\n          y = _el$getBBox.y,\n          _width = _el$getBBox.width,\n          _height = _el$getBBox.height;\n\n      return {\n        width: x + _width,\n        height: y + _height\n      };\n    }\n  };\n\n  var reEncode = function reEncode(data) {\n    return decodeURIComponent(encodeURIComponent(data).replace(/%([0-9A-F]{2})/g, function (match, p1) {\n      var c = String.fromCharCode('0x' + p1);\n      return c === '%' ? '%25' : c;\n    }));\n  };\n\n  var uriToBlob = function uriToBlob(uri) {\n    var byteString = window.atob(uri.split(',')[1]);\n    var mimeString = uri.split(',')[0].split(':')[1].split(';')[0];\n    var buffer = new ArrayBuffer(byteString.length);\n    var intArray = new Uint8Array(buffer);\n    for (var i = 0; i < byteString.length; i++) {\n      intArray[i] = byteString.charCodeAt(i);\n    }\n    return new Blob([buffer], { type: mimeString });\n  };\n\n  var query = function query(el, selector) {\n    if (!selector) return;\n    try {\n      return el.querySelector(selector) || el.parentNode && el.parentNode.querySelector(selector);\n    } catch (err) {\n      console.warn('Invalid CSS selector \"' + selector + '\"', err);\n    }\n  };\n\n  var detectCssFont = function detectCssFont(rule, href) {\n    // Match CSS font-face rules to external links.\n    // @font-face {\n    //   src: local('Abel'), url(https://fonts.gstatic.com/s/abel/v6/UzN-iejR1VoXU2Oc-7LsbvesZW2xOQ-xsNqO47m55DA.woff2);\n    // }\n    var match = rule.cssText.match(urlRegex);\n    var url = match && match[1] || '';\n    if (!url || url.match(/^data:/) || url === 'about:blank') return;\n    var fullUrl = url.startsWith('../') ? href + '/../' + url : url.startsWith('./') ? href + '/.' + url : url;\n    return {\n      text: rule.cssText,\n      format: getFontMimeTypeFromUrl(fullUrl),\n      url: fullUrl\n    };\n  };\n\n  var inlineImages = function inlineImages(el) {\n    return Promise.all(Array.from(el.querySelectorAll('image')).map(function (image) {\n      var href = image.getAttributeNS('http://www.w3.org/1999/xlink', 'href') || image.getAttribute('href');\n      if (!href) return Promise.resolve(null);\n      if (isExternal(href)) {\n        href += (href.indexOf('?') === -1 ? '?' : '&') + 't=' + new Date().valueOf();\n      }\n      return new Promise(function (resolve, reject) {\n        var canvas = document.createElement('canvas');\n        var img = new Image();\n        img.crossOrigin = 'anonymous';\n        img.src = href;\n        img.onerror = function () {\n          return reject(new Error('Could not load ' + href));\n        };\n        img.onload = function () {\n          canvas.width = img.width;\n          canvas.height = img.height;\n          canvas.getContext('2d').drawImage(img, 0, 0);\n          image.setAttributeNS('http://www.w3.org/1999/xlink', 'href', canvas.toDataURL('image/png'));\n          resolve(true);\n        };\n      });\n    }));\n  };\n\n  var cachedFonts = {};\n  var inlineFonts = function inlineFonts(fonts) {\n    return Promise.all(fonts.map(function (font) {\n      return new Promise(function (resolve, reject) {\n        if (cachedFonts[font.url]) return resolve(cachedFonts[font.url]);\n\n        var req = new XMLHttpRequest();\n        req.addEventListener('load', function () {\n          // TODO: it may also be worth it to wait until fonts are fully loaded before\n          // attempting to rasterize them. (e.g. use https://developer.mozilla.org/en-US/docs/Web/API/FontFaceSet)\n          var fontInBase64 = arrayBufferToBase64(req.response);\n          var fontUri = font.text.replace(urlRegex, 'url(\"data:' + font.format + ';base64,' + fontInBase64 + '\")') + '\\n';\n          cachedFonts[font.url] = fontUri;\n          resolve(fontUri);\n        });\n        req.addEventListener('error', function (e) {\n          console.warn('Failed to load font from: ' + font.url, e);\n          cachedFonts[font.url] = null;\n          resolve(null);\n        });\n        req.addEventListener('abort', function (e) {\n          console.warn('Aborted loading font from: ' + font.url, e);\n          resolve(null);\n        });\n        req.open('GET', font.url);\n        req.responseType = 'arraybuffer';\n        req.send();\n      });\n    })).then(function (fontCss) {\n      return fontCss.filter(function (x) {\n        return x;\n      }).join('');\n    });\n  };\n\n  var cachedRules = null;\n  var styleSheetRules = function styleSheetRules() {\n    if (cachedRules) return cachedRules;\n    return cachedRules = Array.from(document.styleSheets).map(function (sheet) {\n      try {\n        return { rules: sheet.cssRules, href: sheet.href };\n      } catch (e) {\n        console.warn('Stylesheet could not be loaded: ' + sheet.href, e);\n        return {};\n      }\n    });\n  };\n\n  var inlineCss = function inlineCss(el, options) {\n    var _ref = options || {},\n        selectorRemap = _ref.selectorRemap,\n        modifyStyle = _ref.modifyStyle,\n        modifyCss = _ref.modifyCss,\n        fonts = _ref.fonts,\n        excludeUnusedCss = _ref.excludeUnusedCss;\n\n    var generateCss = modifyCss || function (selector, properties) {\n      var sel = selectorRemap ? selectorRemap(selector) : selector;\n      var props = modifyStyle ? modifyStyle(properties) : properties;\n      return sel + '{' + props + '}\\n';\n    };\n    var css = [];\n    var detectFonts = typeof fonts === 'undefined';\n    var fontList = fonts || [];\n    styleSheetRules().forEach(function (_ref2) {\n      var rules = _ref2.rules,\n          href = _ref2.href;\n\n      if (!rules) return;\n      Array.from(rules).forEach(function (rule) {\n        if (typeof rule.style != 'undefined') {\n          if (query(el, rule.selectorText)) css.push(generateCss(rule.selectorText, rule.style.cssText));else if (detectFonts && rule.cssText.match(/^@font-face/)) {\n            var font = detectCssFont(rule, href);\n            if (font) fontList.push(font);\n          } else if (!excludeUnusedCss) {\n            css.push(rule.cssText);\n          }\n        }\n      });\n    });\n\n    return inlineFonts(fontList).then(function (fontCss) {\n      return css.join('\\n') + fontCss;\n    });\n  };\n\n  var downloadOptions = function downloadOptions() {\n    if (!navigator.msSaveOrOpenBlob && !('download' in document.createElement('a'))) {\n      return { popup: window.open() };\n    }\n  };\n\n  out$.prepareSvg = function (el, options, done) {\n    requireDomNode(el);\n\n    var _ref3 = options || {},\n        _ref3$left = _ref3.left,\n        left = _ref3$left === undefined ? 0 : _ref3$left,\n        _ref3$top = _ref3.top,\n        top = _ref3$top === undefined ? 0 : _ref3$top,\n        w = _ref3.width,\n        h = _ref3.height,\n        _ref3$scale = _ref3.scale,\n        scale = _ref3$scale === undefined ? 1 : _ref3$scale,\n        _ref3$responsive = _ref3.responsive,\n        responsive = _ref3$responsive === undefined ? false : _ref3$responsive,\n        _ref3$excludeCss = _ref3.excludeCss,\n        excludeCss = _ref3$excludeCss === undefined ? false : _ref3$excludeCss;\n\n    return inlineImages(el).then(function () {\n      var clone = el.cloneNode(true);\n      clone.style.backgroundColor = (options || {}).backgroundColor || el.style.backgroundColor;\n\n      var _getDimensions = getDimensions(el, clone, w, h),\n          width = _getDimensions.width,\n          height = _getDimensions.height;\n\n      if (el.tagName !== 'svg') {\n        if (el.getBBox) {\n          if (clone.getAttribute('transform') != null) {\n            clone.setAttribute('transform', clone.getAttribute('transform').replace(/translate\\(.*?\\)/, ''));\n          }\n          var svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n          svg.appendChild(clone);\n          clone = svg;\n        } else {\n          console.error('Attempted to render non-SVG element', el);\n          return;\n        }\n      }\n\n      clone.setAttribute('version', '1.1');\n      clone.setAttribute('viewBox', [left, top, width, height].join(' '));\n      if (!clone.getAttribute('xmlns')) clone.setAttributeNS(xmlNs, 'xmlns', svgNs);\n      if (!clone.getAttribute('xmlns:xlink')) clone.setAttributeNS(xmlNs, 'xmlns:xlink', 'http://www.w3.org/1999/xlink');\n\n      if (responsive) {\n        clone.removeAttribute('width');\n        clone.removeAttribute('height');\n        clone.setAttribute('preserveAspectRatio', 'xMinYMin meet');\n      } else {\n        clone.setAttribute('width', width * scale);\n        clone.setAttribute('height', height * scale);\n      }\n\n      Array.from(clone.querySelectorAll('foreignObject > *')).forEach(function (foreignObject) {\n        foreignObject.setAttributeNS(xmlNs, 'xmlns', foreignObject.tagName === 'svg' ? svgNs : xhtmlNs);\n      });\n\n      if (excludeCss) {\n        var outer = document.createElement('div');\n        outer.appendChild(clone);\n        var src = outer.innerHTML;\n        if (typeof done === 'function') done(src, width, height);else return { src: src, width: width, height: height };\n      } else {\n        return inlineCss(el, options).then(function (css) {\n          var style = document.createElement('style');\n          style.setAttribute('type', 'text/css');\n          style.innerHTML = '<![CDATA[\\n' + css + '\\n]]>';\n\n          var defs = document.createElement('defs');\n          defs.appendChild(style);\n          clone.insertBefore(defs, clone.firstChild);\n\n          var outer = document.createElement('div');\n          outer.appendChild(clone);\n          var src = outer.innerHTML.replace(/NS\\d+:href/gi, 'xmlns:xlink=\"http://www.w3.org/1999/xlink\" xlink:href');\n\n          if (typeof done === 'function') done(src, width, height);else return { src: src, width: width, height: height };\n        });\n      }\n    });\n  };\n\n  out$.svgAsDataUri = function (el, options, done) {\n    requireDomNode(el);\n    return out$.prepareSvg(el, options).then(function (_ref4) {\n      var src = _ref4.src,\n          width = _ref4.width,\n          height = _ref4.height;\n\n      var svgXml = 'data:image/svg+xml;base64,' + window.btoa(reEncode(doctype + src));\n      if (typeof done === 'function') {\n        done(svgXml, width, height);\n      }\n      return svgXml;\n    });\n  };\n\n  out$.svgAsPngUri = function (el, options, done) {\n    requireDomNode(el);\n\n    var _ref5 = options || {},\n        _ref5$encoderType = _ref5.encoderType,\n        encoderType = _ref5$encoderType === undefined ? 'image/png' : _ref5$encoderType,\n        _ref5$encoderOptions = _ref5.encoderOptions,\n        encoderOptions = _ref5$encoderOptions === undefined ? 0.8 : _ref5$encoderOptions,\n        canvg = _ref5.canvg;\n\n    var convertToPng = function convertToPng(_ref6) {\n      var src = _ref6.src,\n          width = _ref6.width,\n          height = _ref6.height;\n\n      var canvas = document.createElement('canvas');\n      var context = canvas.getContext('2d');\n      var pixelRatio = window.devicePixelRatio || 1;\n\n      canvas.width = width * pixelRatio;\n      canvas.height = height * pixelRatio;\n      canvas.style.width = canvas.width + 'px';\n      canvas.style.height = canvas.height + 'px';\n      context.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n\n      if (canvg) canvg(canvas, src);else context.drawImage(src, 0, 0);\n\n      var png = void 0;\n      try {\n        png = canvas.toDataURL(encoderType, encoderOptions);\n      } catch (e) {\n        if (typeof SecurityError !== 'undefined' && e instanceof SecurityError || e.name === 'SecurityError') {\n          console.error('Rendered SVG images cannot be downloaded in this browser.');\n          return;\n        } else throw e;\n      }\n      if (typeof done === 'function') done(png, canvas.width, canvas.height);\n      return Promise.resolve(png);\n    };\n\n    if (canvg) return out$.prepareSvg(el, options).then(convertToPng);else return out$.svgAsDataUri(el, options).then(function (uri) {\n      return new Promise(function (resolve, reject) {\n        var image = new Image();\n        image.onload = function () {\n          return resolve(convertToPng({\n            src: image,\n            width: image.width,\n            height: image.height\n          }));\n        };\n        image.onerror = function () {\n          reject('There was an error loading the data URI as an image on the following SVG\\n' + window.atob(uri.slice(26)) + 'Open the following link to see browser\\'s diagnosis\\n' + uri);\n        };\n        image.src = uri;\n      });\n    });\n  };\n\n  out$.download = function (name, uri, options) {\n    if (navigator.msSaveOrOpenBlob) navigator.msSaveOrOpenBlob(uriToBlob(uri), name);else {\n      var saveLink = document.createElement('a');\n      if ('download' in saveLink) {\n        saveLink.download = name;\n        saveLink.style.display = 'none';\n        document.body.appendChild(saveLink);\n        try {\n          var blob = uriToBlob(uri);\n          var url = URL.createObjectURL(blob);\n          saveLink.href = url;\n          saveLink.onclick = function () {\n            return requestAnimationFrame(function () {\n              return URL.revokeObjectURL(url);\n            });\n          };\n        } catch (e) {\n          console.error(e);\n          console.warn('Error while getting object URL. Falling back to string URL.');\n          saveLink.href = uri;\n        }\n        saveLink.click();\n        document.body.removeChild(saveLink);\n      } else if (options && options.popup) {\n        options.popup.document.title = name;\n        options.popup.location.replace(uri);\n      }\n    }\n  };\n\n  out$.saveSvg = function (el, name, options) {\n    var downloadOpts = downloadOptions(); // don't inline, can't be async\n    return requireDomNodePromise(el).then(function (el) {\n      return out$.svgAsDataUri(el, options || {});\n    }).then(function (uri) {\n      return out$.download(name, uri, downloadOpts);\n    });\n  };\n\n  out$.saveSvgAsPng = function (el, name, options) {\n    var downloadOpts = downloadOptions(); // don't inline, can't be async\n    return requireDomNodePromise(el).then(function (el) {\n      return out$.svgAsPngUri(el, options || {});\n    }).then(function (uri) {\n      return out$.download(name, uri, downloadOpts);\n    });\n  };\n})();","/** @license React v0.19.1\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var f,g,h,k,l;\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var p=null,q=null,t=function(){if(null!==p)try{var a=exports.unstable_now();p(!0,a);p=null}catch(b){throw setTimeout(t,0),b;}},u=Date.now();exports.unstable_now=function(){return Date.now()-u};f=function(a){null!==p?setTimeout(f,0,a):(p=a,setTimeout(t,0))};g=function(a,b){q=setTimeout(a,b)};h=function(){clearTimeout(q)};k=function(){return!1};l=exports.unstable_forceFrameRate=function(){}}else{var w=window.performance,x=window.Date,\ny=window.setTimeout,z=window.clearTimeout;if(\"undefined\"!==typeof console){var A=window.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\");\"function\"!==typeof A&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\")}if(\"object\"===\ntypeof w&&\"function\"===typeof w.now)exports.unstable_now=function(){return w.now()};else{var B=x.now();exports.unstable_now=function(){return x.now()-B}}var C=!1,D=null,E=-1,F=5,G=0;k=function(){return exports.unstable_now()>=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported\"):F=0<a?Math.floor(1E3/a):5};var H=new MessageChannel,I=H.port2;H.port1.onmessage=\nfunction(){if(null!==D){var a=exports.unstable_now();G=a+F;try{D(!0,a)?I.postMessage(null):(C=!1,D=null)}catch(b){throw I.postMessage(null),b;}}else C=!1};f=function(a){D=a;C||(C=!0,I.postMessage(null))};g=function(a,b){E=y(function(){a(exports.unstable_now())},b)};h=function(){z(E);E=-1}}function J(a,b){var c=a.length;a.push(b);a:for(;;){var d=c-1>>>1,e=a[d];if(void 0!==e&&0<K(e,b))a[d]=b,a[c]=e,c=d;else break a}}function L(a){a=a[0];return void 0===a?null:a}\nfunction M(a){var b=a[0];if(void 0!==b){var c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length;d<e;){var m=2*(d+1)-1,n=a[m],v=m+1,r=a[v];if(void 0!==n&&0>K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){T||S||(T=!0,f(X))};\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0<e?d+e:d;c=\"number\"===typeof c.timeout?c.timeout:Y(a)}else c=Y(a),e=d;c=e+c;a={id:P++,callback:b,priorityLevel:a,startTime:e,expirationTime:c,sortIndex:-1};e>d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime<Q.expirationTime||k()};exports.unstable_wrapCallback=function(a){var b=R;return function(){var c=R;R=b;try{return a.apply(this,arguments)}finally{R=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n  module.exports = require('./cjs/scheduler.development.js');\n}\n","\"use strict\";\n\nvar defaultParseOptions = {\n  decodeValues: true,\n  map: false,\n  silent: false,\n};\n\nfunction isForbiddenKey(key) {\n  return typeof key !== \"string\" || key in {};\n}\n\nfunction createNullObj() {\n  return Object.create(null);\n}\n\nfunction isNonEmptyString(str) {\n  return typeof str === \"string\" && !!str.trim();\n}\n\nfunction parseString(setCookieValue, options) {\n  var parts = setCookieValue.split(\";\").filter(isNonEmptyString);\n\n  var nameValuePairStr = parts.shift();\n  var parsed = parseNameValuePair(nameValuePairStr);\n  var name = parsed.name;\n  var value = parsed.value;\n\n  options = options\n    ? Object.assign({}, defaultParseOptions, options)\n    : defaultParseOptions;\n\n  if (isForbiddenKey(name)) {\n    return null;\n  }\n\n  try {\n    value = options.decodeValues ? decodeURIComponent(value) : value; // decode cookie value\n  } catch (e) {\n    console.error(\n      \"set-cookie-parser: failed to decode cookie value. Set options.decodeValues=false to disable decoding.\",\n      e\n    );\n  }\n\n  var cookie = createNullObj();\n  cookie.name = name;\n  cookie.value = value;\n\n  parts.forEach(function (part) {\n    var sides = part.split(\"=\");\n    var key = sides.shift().trimLeft().toLowerCase();\n    if (isForbiddenKey(key)) {\n      return;\n    }\n    var value = sides.join(\"=\");\n    if (key === \"expires\") {\n      cookie.expires = new Date(value);\n    } else if (key === \"max-age\") {\n      var n = parseInt(value, 10);\n      if (!Number.isNaN(n)) cookie.maxAge = n;\n    } else if (key === \"secure\") {\n      cookie.secure = true;\n    } else if (key === \"httponly\") {\n      cookie.httpOnly = true;\n    } else if (key === \"samesite\") {\n      cookie.sameSite = value;\n    } else if (key === \"partitioned\") {\n      cookie.partitioned = true;\n    } else if (key) {\n      cookie[key] = value;\n    }\n  });\n\n  return cookie;\n}\n\nfunction parseNameValuePair(nameValuePairStr) {\n  // Parses name-value-pair according to rfc6265bis draft\n\n  var name = \"\";\n  var value = \"\";\n  var nameValueArr = nameValuePairStr.split(\"=\");\n  if (nameValueArr.length > 1) {\n    name = nameValueArr.shift();\n    value = nameValueArr.join(\"=\"); // everything after the first =, joined by a \"=\" if there was more than one part\n  } else {\n    value = nameValuePairStr;\n  }\n\n  return { name: name, value: value };\n}\n\nfunction parse(input, options) {\n  options = options\n    ? Object.assign({}, defaultParseOptions, options)\n    : defaultParseOptions;\n\n  if (!input) {\n    if (!options.map) {\n      return [];\n    } else {\n      return createNullObj();\n    }\n  }\n\n  if (input.headers) {\n    if (typeof input.headers.getSetCookie === \"function\") {\n      // for fetch responses - they combine headers of the same type in the headers array,\n      // but getSetCookie returns an uncombined array\n      input = input.headers.getSetCookie();\n    } else if (input.headers[\"set-cookie\"]) {\n      // fast-path for node.js (which automatically normalizes header names to lower-case)\n      input = input.headers[\"set-cookie\"];\n    } else {\n      // slow-path for other environments - see #25\n      var sch =\n        input.headers[\n          Object.keys(input.headers).find(function (key) {\n            return key.toLowerCase() === \"set-cookie\";\n          })\n        ];\n      // warn if called on a request-like object with a cookie header rather than a set-cookie header - see #34, 36\n      if (!sch && input.headers.cookie && !options.silent) {\n        console.warn(\n          \"Warning: set-cookie-parser appears to have been called on a request object. It is designed to parse Set-Cookie headers from responses, not Cookie headers from requests. Set the option {silent: true} to suppress this warning.\"\n        );\n      }\n      input = sch;\n    }\n  }\n  if (!Array.isArray(input)) {\n    input = [input];\n  }\n\n  if (!options.map) {\n    return input\n      .filter(isNonEmptyString)\n      .map(function (str) {\n        return parseString(str, options);\n      })\n      .filter(Boolean);\n  } else {\n    var cookies = createNullObj();\n    return input.filter(isNonEmptyString).reduce(function (cookies, str) {\n      var cookie = parseString(str, options);\n      if (cookie && !isForbiddenKey(cookie.name)) {\n        cookies[cookie.name] = cookie;\n      }\n      return cookies;\n    }, cookies);\n  }\n}\n\n/*\n  Set-Cookie header field-values are sometimes comma joined in one string. This splits them without choking on commas\n  that are within a single set-cookie field-value, such as in the Expires portion.\n\n  This is uncommon, but explicitly allowed - see https://tools.ietf.org/html/rfc2616#section-4.2\n  Node.js does this for every header *except* set-cookie - see https://github.com/nodejs/node/blob/d5e363b77ebaf1caf67cd7528224b651c86815c1/lib/_http_incoming.js#L128\n  React Native's fetch does this for *every* header, including set-cookie.\n\n  Based on: https://github.com/google/j2objc/commit/16820fdbc8f76ca0c33472810ce0cb03d20efe25\n  Credits to: https://github.com/tomball for original and https://github.com/chrusart for JavaScript implementation\n*/\nfunction splitCookiesString(cookiesString) {\n  if (Array.isArray(cookiesString)) {\n    return cookiesString;\n  }\n  if (typeof cookiesString !== \"string\") {\n    return [];\n  }\n\n  var cookiesStrings = [];\n  var pos = 0;\n  var start;\n  var ch;\n  var lastComma;\n  var nextStart;\n  var cookiesSeparatorFound;\n\n  function skipWhitespace() {\n    while (pos < cookiesString.length && /\\s/.test(cookiesString.charAt(pos))) {\n      pos += 1;\n    }\n    return pos < cookiesString.length;\n  }\n\n  function notSpecialChar() {\n    ch = cookiesString.charAt(pos);\n\n    return ch !== \"=\" && ch !== \";\" && ch !== \",\";\n  }\n\n  while (pos < cookiesString.length) {\n    start = pos;\n    cookiesSeparatorFound = false;\n\n    while (skipWhitespace()) {\n      ch = cookiesString.charAt(pos);\n      if (ch === \",\") {\n        // ',' is a cookie separator if we have later first '=', not ';' or ','\n        lastComma = pos;\n        pos += 1;\n\n        skipWhitespace();\n        nextStart = pos;\n\n        while (pos < cookiesString.length && notSpecialChar()) {\n          pos += 1;\n        }\n\n        // currently special character\n        if (pos < cookiesString.length && cookiesString.charAt(pos) === \"=\") {\n          // we found cookies separator\n          cookiesSeparatorFound = true;\n          // pos is inside the next cookie, so back up and return it.\n          pos = nextStart;\n          cookiesStrings.push(cookiesString.substring(start, lastComma));\n          start = pos;\n        } else {\n          // in param ',' or param separator ';',\n          // we continue from that comma\n          pos = lastComma + 1;\n        }\n      } else {\n        pos += 1;\n      }\n    }\n\n    if (!cookiesSeparatorFound || pos >= cookiesString.length) {\n      cookiesStrings.push(cookiesString.substring(start, cookiesString.length));\n    }\n  }\n\n  return cookiesStrings;\n}\n\nmodule.exports = parse;\nmodule.exports.parse = parse;\nmodule.exports.parseString = parseString;\nmodule.exports.splitCookiesString = splitCookiesString;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\n\nvar $TypeError = require('es-errors/type');\nvar $floor = GetIntrinsic('%Math.floor%');\n\n/** @type {import('.')} */\nmodule.exports = function setFunctionLength(fn, length) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tif (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(/** @type {Parameters<define>[0]} */ (fn), 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(/** @type {Parameters<define>[0]} */ (fn), 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","'use strict';\n\nvar inspect = require('object-inspect');\n\nvar $TypeError = require('es-errors/type');\n\n/*\n* This function traverses the list returning the node corresponding to the given key.\n*\n* That node is also moved to the head of the list, so that if it's accessed again we don't need to traverse the whole list.\n* By doing so, all the recently used nodes can be accessed relatively quickly.\n*/\n/** @type {import('./list.d.ts').listGetNode} */\n// eslint-disable-next-line consistent-return\nvar listGetNode = function (list, key, isDelete) {\n\t/** @type {typeof list | NonNullable<(typeof list)['next']>} */\n\tvar prev = list;\n\t/** @type {(typeof list)['next']} */\n\tvar curr;\n\t// eslint-disable-next-line eqeqeq\n\tfor (; (curr = prev.next) != null; prev = curr) {\n\t\tif (curr.key === key) {\n\t\t\tprev.next = curr.next;\n\t\t\tif (!isDelete) {\n\t\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\t\tcurr.next = /** @type {NonNullable<typeof list.next>} */ (list.next);\n\t\t\t\tlist.next = curr; // eslint-disable-line no-param-reassign\n\t\t\t}\n\t\t\treturn curr;\n\t\t}\n\t}\n};\n\n/** @type {import('./list.d.ts').listGet} */\nvar listGet = function (objects, key) {\n\tif (!objects) {\n\t\treturn void undefined;\n\t}\n\tvar node = listGetNode(objects, key);\n\treturn node && node.value;\n};\n/** @type {import('./list.d.ts').listSet} */\nvar listSet = function (objects, key, value) {\n\tvar node = listGetNode(objects, key);\n\tif (node) {\n\t\tnode.value = value;\n\t} else {\n\t\t// Prepend the new node to the beginning of the list\n\t\tobjects.next = /** @type {import('./list.d.ts').ListNode<typeof value, typeof key>} */ ({ // eslint-disable-line no-param-reassign, no-extra-parens\n\t\t\tkey: key,\n\t\t\tnext: objects.next,\n\t\t\tvalue: value\n\t\t});\n\t}\n};\n/** @type {import('./list.d.ts').listHas} */\nvar listHas = function (objects, key) {\n\tif (!objects) {\n\t\treturn false;\n\t}\n\treturn !!listGetNode(objects, key);\n};\n/** @type {import('./list.d.ts').listDelete} */\n// eslint-disable-next-line consistent-return\nvar listDelete = function (objects, key) {\n\tif (objects) {\n\t\treturn listGetNode(objects, key, true);\n\t}\n};\n\n/** @type {import('.')} */\nmodule.exports = function getSideChannelList() {\n\t/** @typedef {ReturnType<typeof getSideChannelList>} Channel */\n\t/** @typedef {Parameters<Channel['get']>[0]} K */\n\t/** @typedef {Parameters<Channel['set']>[1]} V */\n\n\t/** @type {import('./list.d.ts').RootNode<V, K> | undefined} */ var $o;\n\n\t/** @type {Channel} */\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\t'delete': function (key) {\n\t\t\tvar deletedNode = listDelete($o, key);\n\t\t\tif (deletedNode && $o && !$o.next) {\n\t\t\t\t$o = void undefined;\n\t\t\t}\n\t\t\treturn !!deletedNode;\n\t\t},\n\t\tget: function (key) {\n\t\t\treturn listGet($o, key);\n\t\t},\n\t\thas: function (key) {\n\t\t\treturn listHas($o, key);\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif (!$o) {\n\t\t\t\t// Initialize the linked list as an empty node, so that we don't have to special-case handling of the first node: we can always refer to it as (previous node).next, instead of something like (list).head\n\t\t\t\t$o = {\n\t\t\t\t\tnext: void undefined\n\t\t\t\t};\n\t\t\t}\n\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\tlistSet(/** @type {NonNullable<typeof $o>} */ ($o), key, value);\n\t\t}\n\t};\n\treturn channel;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bound');\nvar inspect = require('object-inspect');\n\nvar $TypeError = require('es-errors/type');\nvar $Map = GetIntrinsic('%Map%', true);\n\n/** @type {<K, V>(thisArg: Map<K, V>, key: K) => V} */\nvar $mapGet = callBound('Map.prototype.get', true);\n/** @type {<K, V>(thisArg: Map<K, V>, key: K, value: V) => void} */\nvar $mapSet = callBound('Map.prototype.set', true);\n/** @type {<K, V>(thisArg: Map<K, V>, key: K) => boolean} */\nvar $mapHas = callBound('Map.prototype.has', true);\n/** @type {<K, V>(thisArg: Map<K, V>, key: K) => boolean} */\nvar $mapDelete = callBound('Map.prototype.delete', true);\n/** @type {<K, V>(thisArg: Map<K, V>) => number} */\nvar $mapSize = callBound('Map.prototype.size', true);\n\n/** @type {import('.')} */\nmodule.exports = !!$Map && /** @type {Exclude<import('.'), false>} */ function getSideChannelMap() {\n\t/** @typedef {ReturnType<typeof getSideChannelMap>} Channel */\n\t/** @typedef {Parameters<Channel['get']>[0]} K */\n\t/** @typedef {Parameters<Channel['set']>[1]} V */\n\n\t/** @type {Map<K, V> | undefined} */ var $m;\n\n\t/** @type {Channel} */\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\t'delete': function (key) {\n\t\t\tif ($m) {\n\t\t\t\tvar result = $mapDelete($m, key);\n\t\t\t\tif ($mapSize($m) === 0) {\n\t\t\t\t\t$m = void undefined;\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($m) {\n\t\t\t\treturn $mapGet($m, key);\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($m) {\n\t\t\t\treturn $mapHas($m, key);\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif (!$m) {\n\t\t\t\t// @ts-expect-error TS can't handle narrowing a variable inside a closure\n\t\t\t\t$m = new $Map();\n\t\t\t}\n\t\t\t$mapSet($m, key, value);\n\t\t}\n\t};\n\n\t// @ts-expect-error TODO: figure out why TS is erroring here\n\treturn channel;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bound');\nvar inspect = require('object-inspect');\nvar getSideChannelMap = require('side-channel-map');\n\nvar $TypeError = require('es-errors/type');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\n\n/** @type {<K extends object, V>(thisArg: WeakMap<K, V>, key: K) => V} */\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\n/** @type {<K extends object, V>(thisArg: WeakMap<K, V>, key: K, value: V) => void} */\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\n/** @type {<K extends object, V>(thisArg: WeakMap<K, V>, key: K) => boolean} */\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\n/** @type {<K extends object, V>(thisArg: WeakMap<K, V>, key: K) => boolean} */\nvar $weakMapDelete = callBound('WeakMap.prototype.delete', true);\n\n/** @type {import('.')} */\nmodule.exports = $WeakMap\n\t? /** @type {Exclude<import('.'), false>} */ function getSideChannelWeakMap() {\n\t\t/** @typedef {ReturnType<typeof getSideChannelWeakMap>} Channel */\n\t\t/** @typedef {Parameters<Channel['get']>[0]} K */\n\t\t/** @typedef {Parameters<Channel['set']>[1]} V */\n\n\t\t/** @type {WeakMap<K & object, V> | undefined} */ var $wm;\n\t\t/** @type {Channel | undefined} */ var $m;\n\n\t\t/** @type {Channel} */\n\t\tvar channel = {\n\t\t\tassert: function (key) {\n\t\t\t\tif (!channel.has(key)) {\n\t\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t\t}\n\t\t\t},\n\t\t\t'delete': function (key) {\n\t\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\t\tif ($wm) {\n\t\t\t\t\t\treturn $weakMapDelete($wm, key);\n\t\t\t\t\t}\n\t\t\t\t} else if (getSideChannelMap) {\n\t\t\t\t\tif ($m) {\n\t\t\t\t\t\treturn $m['delete'](key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\tget: function (key) {\n\t\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\t\tif ($wm) {\n\t\t\t\t\t\treturn $weakMapGet($wm, key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn $m && $m.get(key);\n\t\t\t},\n\t\t\thas: function (key) {\n\t\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\t\tif ($wm) {\n\t\t\t\t\t\treturn $weakMapHas($wm, key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn !!$m && $m.has(key);\n\t\t\t},\n\t\t\tset: function (key, value) {\n\t\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\t\tif (!$wm) {\n\t\t\t\t\t\t$wm = new $WeakMap();\n\t\t\t\t\t}\n\t\t\t\t\t$weakMapSet($wm, key, value);\n\t\t\t\t} else if (getSideChannelMap) {\n\t\t\t\t\tif (!$m) {\n\t\t\t\t\t\t$m = getSideChannelMap();\n\t\t\t\t\t}\n\t\t\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\t\t\t/** @type {NonNullable<typeof $m>} */ ($m).set(key, value);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\t// @ts-expect-error TODO: figure out why this is erroring\n\t\treturn channel;\n\t}\n\t: getSideChannelMap;\n","'use strict';\n\nvar $TypeError = require('es-errors/type');\nvar inspect = require('object-inspect');\nvar getSideChannelList = require('side-channel-list');\nvar getSideChannelMap = require('side-channel-map');\nvar getSideChannelWeakMap = require('side-channel-weakmap');\n\nvar makeChannel = getSideChannelWeakMap || getSideChannelMap || getSideChannelList;\n\n/** @type {import('.')} */\nmodule.exports = function getSideChannel() {\n\t/** @typedef {ReturnType<typeof getSideChannel>} Channel */\n\n\t/** @type {Channel | undefined} */ var $channelData;\n\n\t/** @type {Channel} */\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\t'delete': function (key) {\n\t\t\treturn !!$channelData && $channelData['delete'](key);\n\t\t},\n\t\tget: function (key) {\n\t\t\treturn $channelData && $channelData.get(key);\n\t\t},\n\t\thas: function (key) {\n\t\t\treturn !!$channelData && $channelData.has(key);\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif (!$channelData) {\n\t\t\t\t$channelData = makeChannel();\n\t\t\t}\n\n\t\t\t$channelData.set(key, value);\n\t\t}\n\t};\n\t// @ts-expect-error TODO: figure out why this is erroring\n\treturn channel;\n};\n","\n;(function (name, root, factory) {\n  if (typeof exports === 'object') {\n    module.exports = factory()\n    module.exports['default'] = factory()\n  }\n  /* istanbul ignore next */\n  else if (typeof define === 'function' && define.amd) {\n    define(factory)\n  }\n  else {\n    root[name] = factory()\n  }\n}('slugify', this, function () {\n  var charMap = JSON.parse('{\"$\":\"dollar\",\"%\":\"percent\",\"&\":\"and\",\"<\":\"less\",\">\":\"greater\",\"|\":\"or\",\"¢\":\"cent\",\"£\":\"pound\",\"¤\":\"currency\",\"¥\":\"yen\",\"©\":\"(c)\",\"ª\":\"a\",\"®\":\"(r)\",\"º\":\"o\",\"À\":\"A\",\"Á\":\"A\",\"Â\":\"A\",\"Ã\":\"A\",\"Ä\":\"A\",\"Å\":\"A\",\"Æ\":\"AE\",\"Ç\":\"C\",\"È\":\"E\",\"É\":\"E\",\"Ê\":\"E\",\"Ë\":\"E\",\"Ì\":\"I\",\"Í\":\"I\",\"Î\":\"I\",\"Ï\":\"I\",\"Ð\":\"D\",\"Ñ\":\"N\",\"Ò\":\"O\",\"Ó\":\"O\",\"Ô\":\"O\",\"Õ\":\"O\",\"Ö\":\"O\",\"Ø\":\"O\",\"Ù\":\"U\",\"Ú\":\"U\",\"Û\":\"U\",\"Ü\":\"U\",\"Ý\":\"Y\",\"Þ\":\"TH\",\"ß\":\"ss\",\"à\":\"a\",\"á\":\"a\",\"â\":\"a\",\"ã\":\"a\",\"ä\":\"a\",\"å\":\"a\",\"æ\":\"ae\",\"ç\":\"c\",\"è\":\"e\",\"é\":\"e\",\"ê\":\"e\",\"ë\":\"e\",\"ì\":\"i\",\"í\":\"i\",\"î\":\"i\",\"ï\":\"i\",\"ð\":\"d\",\"ñ\":\"n\",\"ò\":\"o\",\"ó\":\"o\",\"ô\":\"o\",\"õ\":\"o\",\"ö\":\"o\",\"ø\":\"o\",\"ù\":\"u\",\"ú\":\"u\",\"û\":\"u\",\"ü\":\"u\",\"ý\":\"y\",\"þ\":\"th\",\"ÿ\":\"y\",\"Ā\":\"A\",\"ā\":\"a\",\"Ă\":\"A\",\"ă\":\"a\",\"Ą\":\"A\",\"ą\":\"a\",\"Ć\":\"C\",\"ć\":\"c\",\"Č\":\"C\",\"č\":\"c\",\"Ď\":\"D\",\"ď\":\"d\",\"Đ\":\"DJ\",\"đ\":\"dj\",\"Ē\":\"E\",\"ē\":\"e\",\"Ė\":\"E\",\"ė\":\"e\",\"Ę\":\"e\",\"ę\":\"e\",\"Ě\":\"E\",\"ě\":\"e\",\"Ğ\":\"G\",\"ğ\":\"g\",\"Ģ\":\"G\",\"ģ\":\"g\",\"Ĩ\":\"I\",\"ĩ\":\"i\",\"Ī\":\"i\",\"ī\":\"i\",\"Į\":\"I\",\"į\":\"i\",\"İ\":\"I\",\"ı\":\"i\",\"Ķ\":\"k\",\"ķ\":\"k\",\"Ļ\":\"L\",\"ļ\":\"l\",\"Ľ\":\"L\",\"ľ\":\"l\",\"Ł\":\"L\",\"ł\":\"l\",\"Ń\":\"N\",\"ń\":\"n\",\"Ņ\":\"N\",\"ņ\":\"n\",\"Ň\":\"N\",\"ň\":\"n\",\"Ō\":\"O\",\"ō\":\"o\",\"Ő\":\"O\",\"ő\":\"o\",\"Œ\":\"OE\",\"œ\":\"oe\",\"Ŕ\":\"R\",\"ŕ\":\"r\",\"Ř\":\"R\",\"ř\":\"r\",\"Ś\":\"S\",\"ś\":\"s\",\"Ş\":\"S\",\"ş\":\"s\",\"Š\":\"S\",\"š\":\"s\",\"Ţ\":\"T\",\"ţ\":\"t\",\"Ť\":\"T\",\"ť\":\"t\",\"Ũ\":\"U\",\"ũ\":\"u\",\"Ū\":\"u\",\"ū\":\"u\",\"Ů\":\"U\",\"ů\":\"u\",\"Ű\":\"U\",\"ű\":\"u\",\"Ų\":\"U\",\"ų\":\"u\",\"Ŵ\":\"W\",\"ŵ\":\"w\",\"Ŷ\":\"Y\",\"ŷ\":\"y\",\"Ÿ\":\"Y\",\"Ź\":\"Z\",\"ź\":\"z\",\"Ż\":\"Z\",\"ż\":\"z\",\"Ž\":\"Z\",\"ž\":\"z\",\"Ə\":\"E\",\"ƒ\":\"f\",\"Ơ\":\"O\",\"ơ\":\"o\",\"Ư\":\"U\",\"ư\":\"u\",\"ǈ\":\"LJ\",\"ǉ\":\"lj\",\"ǋ\":\"NJ\",\"ǌ\":\"nj\",\"Ș\":\"S\",\"ș\":\"s\",\"Ț\":\"T\",\"ț\":\"t\",\"ə\":\"e\",\"˚\":\"o\",\"Ά\":\"A\",\"Έ\":\"E\",\"Ή\":\"H\",\"Ί\":\"I\",\"Ό\":\"O\",\"Ύ\":\"Y\",\"Ώ\":\"W\",\"ΐ\":\"i\",\"Α\":\"A\",\"Β\":\"B\",\"Γ\":\"G\",\"Δ\":\"D\",\"Ε\":\"E\",\"Ζ\":\"Z\",\"Η\":\"H\",\"Θ\":\"8\",\"Ι\":\"I\",\"Κ\":\"K\",\"Λ\":\"L\",\"Μ\":\"M\",\"Ν\":\"N\",\"Ξ\":\"3\",\"Ο\":\"O\",\"Π\":\"P\",\"Ρ\":\"R\",\"Σ\":\"S\",\"Τ\":\"T\",\"Υ\":\"Y\",\"Φ\":\"F\",\"Χ\":\"X\",\"Ψ\":\"PS\",\"Ω\":\"W\",\"Ϊ\":\"I\",\"Ϋ\":\"Y\",\"ά\":\"a\",\"έ\":\"e\",\"ή\":\"h\",\"ί\":\"i\",\"ΰ\":\"y\",\"α\":\"a\",\"β\":\"b\",\"γ\":\"g\",\"δ\":\"d\",\"ε\":\"e\",\"ζ\":\"z\",\"η\":\"h\",\"θ\":\"8\",\"ι\":\"i\",\"κ\":\"k\",\"λ\":\"l\",\"μ\":\"m\",\"ν\":\"n\",\"ξ\":\"3\",\"ο\":\"o\",\"π\":\"p\",\"ρ\":\"r\",\"ς\":\"s\",\"σ\":\"s\",\"τ\":\"t\",\"υ\":\"y\",\"φ\":\"f\",\"χ\":\"x\",\"ψ\":\"ps\",\"ω\":\"w\",\"ϊ\":\"i\",\"ϋ\":\"y\",\"ό\":\"o\",\"ύ\":\"y\",\"ώ\":\"w\",\"Ё\":\"Yo\",\"Ђ\":\"DJ\",\"Є\":\"Ye\",\"І\":\"I\",\"Ї\":\"Yi\",\"Ј\":\"J\",\"Љ\":\"LJ\",\"Њ\":\"NJ\",\"Ћ\":\"C\",\"Џ\":\"DZ\",\"А\":\"A\",\"Б\":\"B\",\"В\":\"V\",\"Г\":\"G\",\"Д\":\"D\",\"Е\":\"E\",\"Ж\":\"Zh\",\"З\":\"Z\",\"И\":\"I\",\"Й\":\"J\",\"К\":\"K\",\"Л\":\"L\",\"М\":\"M\",\"Н\":\"N\",\"О\":\"O\",\"П\":\"P\",\"Р\":\"R\",\"С\":\"S\",\"Т\":\"T\",\"У\":\"U\",\"Ф\":\"F\",\"Х\":\"H\",\"Ц\":\"C\",\"Ч\":\"Ch\",\"Ш\":\"Sh\",\"Щ\":\"Sh\",\"Ъ\":\"U\",\"Ы\":\"Y\",\"Ь\":\"\",\"Э\":\"E\",\"Ю\":\"Yu\",\"Я\":\"Ya\",\"а\":\"a\",\"б\":\"b\",\"в\":\"v\",\"г\":\"g\",\"д\":\"d\",\"е\":\"e\",\"ж\":\"zh\",\"з\":\"z\",\"и\":\"i\",\"й\":\"j\",\"к\":\"k\",\"л\":\"l\",\"м\":\"m\",\"н\":\"n\",\"о\":\"o\",\"п\":\"p\",\"р\":\"r\",\"с\":\"s\",\"т\":\"t\",\"у\":\"u\",\"ф\":\"f\",\"х\":\"h\",\"ц\":\"c\",\"ч\":\"ch\",\"ш\":\"sh\",\"щ\":\"sh\",\"ъ\":\"u\",\"ы\":\"y\",\"ь\":\"\",\"э\":\"e\",\"ю\":\"yu\",\"я\":\"ya\",\"ё\":\"yo\",\"ђ\":\"dj\",\"є\":\"ye\",\"і\":\"i\",\"ї\":\"yi\",\"ј\":\"j\",\"љ\":\"lj\",\"њ\":\"nj\",\"ћ\":\"c\",\"ѝ\":\"u\",\"џ\":\"dz\",\"Ґ\":\"G\",\"ґ\":\"g\",\"Ғ\":\"GH\",\"ғ\":\"gh\",\"Қ\":\"KH\",\"қ\":\"kh\",\"Ң\":\"NG\",\"ң\":\"ng\",\"Ү\":\"UE\",\"ү\":\"ue\",\"Ұ\":\"U\",\"ұ\":\"u\",\"Һ\":\"H\",\"һ\":\"h\",\"Ә\":\"AE\",\"ә\":\"ae\",\"Ө\":\"OE\",\"ө\":\"oe\",\"Ա\":\"A\",\"Բ\":\"B\",\"Գ\":\"G\",\"Դ\":\"D\",\"Ե\":\"E\",\"Զ\":\"Z\",\"Է\":\"E\\'\",\"Ը\":\"Y\\'\",\"Թ\":\"T\\'\",\"Ժ\":\"JH\",\"Ի\":\"I\",\"Լ\":\"L\",\"Խ\":\"X\",\"Ծ\":\"C\\'\",\"Կ\":\"K\",\"Հ\":\"H\",\"Ձ\":\"D\\'\",\"Ղ\":\"GH\",\"Ճ\":\"TW\",\"Մ\":\"M\",\"Յ\":\"Y\",\"Ն\":\"N\",\"Շ\":\"SH\",\"Չ\":\"CH\",\"Պ\":\"P\",\"Ջ\":\"J\",\"Ռ\":\"R\\'\",\"Ս\":\"S\",\"Վ\":\"V\",\"Տ\":\"T\",\"Ր\":\"R\",\"Ց\":\"C\",\"Փ\":\"P\\'\",\"Ք\":\"Q\\'\",\"Օ\":\"O\\'\\'\",\"Ֆ\":\"F\",\"և\":\"EV\",\"ء\":\"a\",\"آ\":\"aa\",\"أ\":\"a\",\"ؤ\":\"u\",\"إ\":\"i\",\"ئ\":\"e\",\"ا\":\"a\",\"ب\":\"b\",\"ة\":\"h\",\"ت\":\"t\",\"ث\":\"th\",\"ج\":\"j\",\"ح\":\"h\",\"خ\":\"kh\",\"د\":\"d\",\"ذ\":\"th\",\"ر\":\"r\",\"ز\":\"z\",\"س\":\"s\",\"ش\":\"sh\",\"ص\":\"s\",\"ض\":\"dh\",\"ط\":\"t\",\"ظ\":\"z\",\"ع\":\"a\",\"غ\":\"gh\",\"ف\":\"f\",\"ق\":\"q\",\"ك\":\"k\",\"ل\":\"l\",\"م\":\"m\",\"ن\":\"n\",\"ه\":\"h\",\"و\":\"w\",\"ى\":\"a\",\"ي\":\"y\",\"ً\":\"an\",\"ٌ\":\"on\",\"ٍ\":\"en\",\"َ\":\"a\",\"ُ\":\"u\",\"ِ\":\"e\",\"ْ\":\"\",\"٠\":\"0\",\"١\":\"1\",\"٢\":\"2\",\"٣\":\"3\",\"٤\":\"4\",\"٥\":\"5\",\"٦\":\"6\",\"٧\":\"7\",\"٨\":\"8\",\"٩\":\"9\",\"پ\":\"p\",\"چ\":\"ch\",\"ژ\":\"zh\",\"ک\":\"k\",\"گ\":\"g\",\"ی\":\"y\",\"۰\":\"0\",\"۱\":\"1\",\"۲\":\"2\",\"۳\":\"3\",\"۴\":\"4\",\"۵\":\"5\",\"۶\":\"6\",\"۷\":\"7\",\"۸\":\"8\",\"۹\":\"9\",\"฿\":\"baht\",\"ა\":\"a\",\"ბ\":\"b\",\"გ\":\"g\",\"დ\":\"d\",\"ე\":\"e\",\"ვ\":\"v\",\"ზ\":\"z\",\"თ\":\"t\",\"ი\":\"i\",\"კ\":\"k\",\"ლ\":\"l\",\"მ\":\"m\",\"ნ\":\"n\",\"ო\":\"o\",\"პ\":\"p\",\"ჟ\":\"zh\",\"რ\":\"r\",\"ს\":\"s\",\"ტ\":\"t\",\"უ\":\"u\",\"ფ\":\"f\",\"ქ\":\"k\",\"ღ\":\"gh\",\"ყ\":\"q\",\"შ\":\"sh\",\"ჩ\":\"ch\",\"ც\":\"ts\",\"ძ\":\"dz\",\"წ\":\"ts\",\"ჭ\":\"ch\",\"ხ\":\"kh\",\"ჯ\":\"j\",\"ჰ\":\"h\",\"Ṣ\":\"S\",\"ṣ\":\"s\",\"Ẁ\":\"W\",\"ẁ\":\"w\",\"Ẃ\":\"W\",\"ẃ\":\"w\",\"Ẅ\":\"W\",\"ẅ\":\"w\",\"ẞ\":\"SS\",\"Ạ\":\"A\",\"ạ\":\"a\",\"Ả\":\"A\",\"ả\":\"a\",\"Ấ\":\"A\",\"ấ\":\"a\",\"Ầ\":\"A\",\"ầ\":\"a\",\"Ẩ\":\"A\",\"ẩ\":\"a\",\"Ẫ\":\"A\",\"ẫ\":\"a\",\"Ậ\":\"A\",\"ậ\":\"a\",\"Ắ\":\"A\",\"ắ\":\"a\",\"Ằ\":\"A\",\"ằ\":\"a\",\"Ẳ\":\"A\",\"ẳ\":\"a\",\"Ẵ\":\"A\",\"ẵ\":\"a\",\"Ặ\":\"A\",\"ặ\":\"a\",\"Ẹ\":\"E\",\"ẹ\":\"e\",\"Ẻ\":\"E\",\"ẻ\":\"e\",\"Ẽ\":\"E\",\"ẽ\":\"e\",\"Ế\":\"E\",\"ế\":\"e\",\"Ề\":\"E\",\"ề\":\"e\",\"Ể\":\"E\",\"ể\":\"e\",\"Ễ\":\"E\",\"ễ\":\"e\",\"Ệ\":\"E\",\"ệ\":\"e\",\"Ỉ\":\"I\",\"ỉ\":\"i\",\"Ị\":\"I\",\"ị\":\"i\",\"Ọ\":\"O\",\"ọ\":\"o\",\"Ỏ\":\"O\",\"ỏ\":\"o\",\"Ố\":\"O\",\"ố\":\"o\",\"Ồ\":\"O\",\"ồ\":\"o\",\"Ổ\":\"O\",\"ổ\":\"o\",\"Ỗ\":\"O\",\"ỗ\":\"o\",\"Ộ\":\"O\",\"ộ\":\"o\",\"Ớ\":\"O\",\"ớ\":\"o\",\"Ờ\":\"O\",\"ờ\":\"o\",\"Ở\":\"O\",\"ở\":\"o\",\"Ỡ\":\"O\",\"ỡ\":\"o\",\"Ợ\":\"O\",\"ợ\":\"o\",\"Ụ\":\"U\",\"ụ\":\"u\",\"Ủ\":\"U\",\"ủ\":\"u\",\"Ứ\":\"U\",\"ứ\":\"u\",\"Ừ\":\"U\",\"ừ\":\"u\",\"Ử\":\"U\",\"ử\":\"u\",\"Ữ\":\"U\",\"ữ\":\"u\",\"Ự\":\"U\",\"ự\":\"u\",\"Ỳ\":\"Y\",\"ỳ\":\"y\",\"Ỵ\":\"Y\",\"ỵ\":\"y\",\"Ỷ\":\"Y\",\"ỷ\":\"y\",\"Ỹ\":\"Y\",\"ỹ\":\"y\",\"–\":\"-\",\"‘\":\"\\'\",\"’\":\"\\'\",\"“\":\"\\\\\\\"\",\"”\":\"\\\\\\\"\",\"„\":\"\\\\\\\"\",\"†\":\"+\",\"•\":\"*\",\"…\":\"...\",\"₠\":\"ecu\",\"₢\":\"cruzeiro\",\"₣\":\"french franc\",\"₤\":\"lira\",\"₥\":\"mill\",\"₦\":\"naira\",\"₧\":\"peseta\",\"₨\":\"rupee\",\"₩\":\"won\",\"₪\":\"new shequel\",\"₫\":\"dong\",\"€\":\"euro\",\"₭\":\"kip\",\"₮\":\"tugrik\",\"₯\":\"drachma\",\"₰\":\"penny\",\"₱\":\"peso\",\"₲\":\"guarani\",\"₳\":\"austral\",\"₴\":\"hryvnia\",\"₵\":\"cedi\",\"₸\":\"kazakhstani tenge\",\"₹\":\"indian rupee\",\"₺\":\"turkish lira\",\"₽\":\"russian ruble\",\"₿\":\"bitcoin\",\"℠\":\"sm\",\"™\":\"tm\",\"∂\":\"d\",\"∆\":\"delta\",\"∑\":\"sum\",\"∞\":\"infinity\",\"♥\":\"love\",\"元\":\"yuan\",\"円\":\"yen\",\"﷼\":\"rial\",\"ﻵ\":\"laa\",\"ﻷ\":\"laa\",\"ﻹ\":\"lai\",\"ﻻ\":\"la\"}')\n  var locales = JSON.parse('{\"bg\":{\"Й\":\"Y\",\"Ц\":\"Ts\",\"Щ\":\"Sht\",\"Ъ\":\"A\",\"Ь\":\"Y\",\"й\":\"y\",\"ц\":\"ts\",\"щ\":\"sht\",\"ъ\":\"a\",\"ь\":\"y\"},\"de\":{\"Ä\":\"AE\",\"ä\":\"ae\",\"Ö\":\"OE\",\"ö\":\"oe\",\"Ü\":\"UE\",\"ü\":\"ue\",\"ß\":\"ss\",\"%\":\"prozent\",\"&\":\"und\",\"|\":\"oder\",\"∑\":\"summe\",\"∞\":\"unendlich\",\"♥\":\"liebe\"},\"es\":{\"%\":\"por ciento\",\"&\":\"y\",\"<\":\"menor que\",\">\":\"mayor que\",\"|\":\"o\",\"¢\":\"centavos\",\"£\":\"libras\",\"¤\":\"moneda\",\"₣\":\"francos\",\"∑\":\"suma\",\"∞\":\"infinito\",\"♥\":\"amor\"},\"fr\":{\"%\":\"pourcent\",\"&\":\"et\",\"<\":\"plus petit\",\">\":\"plus grand\",\"|\":\"ou\",\"¢\":\"centime\",\"£\":\"livre\",\"¤\":\"devise\",\"₣\":\"franc\",\"∑\":\"somme\",\"∞\":\"infini\",\"♥\":\"amour\"},\"pt\":{\"%\":\"porcento\",\"&\":\"e\",\"<\":\"menor\",\">\":\"maior\",\"|\":\"ou\",\"¢\":\"centavo\",\"∑\":\"soma\",\"£\":\"libra\",\"∞\":\"infinito\",\"♥\":\"amor\"},\"uk\":{\"И\":\"Y\",\"и\":\"y\",\"Й\":\"Y\",\"й\":\"y\",\"Ц\":\"Ts\",\"ц\":\"ts\",\"Х\":\"Kh\",\"х\":\"kh\",\"Щ\":\"Shch\",\"щ\":\"shch\",\"Г\":\"H\",\"г\":\"h\"},\"vi\":{\"Đ\":\"D\",\"đ\":\"d\"},\"da\":{\"Ø\":\"OE\",\"ø\":\"oe\",\"Å\":\"AA\",\"å\":\"aa\",\"%\":\"procent\",\"&\":\"og\",\"|\":\"eller\",\"$\":\"dollar\",\"<\":\"mindre end\",\">\":\"større end\"},\"nb\":{\"&\":\"og\",\"Å\":\"AA\",\"Æ\":\"AE\",\"Ø\":\"OE\",\"å\":\"aa\",\"æ\":\"ae\",\"ø\":\"oe\"},\"it\":{\"&\":\"e\"},\"nl\":{\"&\":\"en\"},\"sv\":{\"&\":\"och\",\"Å\":\"AA\",\"Ä\":\"AE\",\"Ö\":\"OE\",\"å\":\"aa\",\"ä\":\"ae\",\"ö\":\"oe\"}}')\n\n  function replace (string, options) {\n    if (typeof string !== 'string') {\n      throw new Error('slugify: string argument expected')\n    }\n\n    options = (typeof options === 'string')\n      ? {replacement: options}\n      : options || {}\n\n    var locale = locales[options.locale] || {}\n\n    var replacement = options.replacement === undefined ? '-' : options.replacement\n\n    var trim = options.trim === undefined ? true : options.trim\n\n    var slug = string.normalize().split('')\n      // replace characters based on charMap\n      .reduce(function (result, ch) {\n        var appendChar = locale[ch];\n        if (appendChar === undefined) appendChar = charMap[ch];\n        if (appendChar === undefined) appendChar = ch;\n        if (appendChar === replacement) appendChar = ' ';\n        return result + appendChar\n          // remove not allowed characters\n          .replace(options.remove || /[^\\w\\s$*_+~.()'\"!\\-:@]+/g, '')\n      }, '');\n\n    if (options.strict) {\n      slug = slug.replace(/[^A-Za-z0-9\\s]/g, '');\n    }\n\n    if (trim) {\n      slug = slug.trim()\n    }\n\n    // Replace spaces with replacement character, treating multiple consecutive\n    // spaces as a single space.\n    slug = slug.replace(/\\s+/g, replacement);\n\n    if (options.lower) {\n      slug = slug.toLowerCase()\n    }\n\n    return slug\n  }\n\n  replace.extend = function (customMap) {\n    Object.assign(charMap, customMap)\n  }\n\n  return replace\n}))\n","import {createHttpEffect} from '@servicenow/ui-effect-http';\nimport {actionTypes} from '@servicenow/ui-core';\nimport get from 'lodash/get';\n\nconst {\n\tCOMPONENT_RENDERED,\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_DISCONNECTED\n} = actionTypes;\n\nconst ACTION_FETCH_URLS_SUCCEEDED = 'NOW_LINK_INTERCEPTOR_FETCH_URLS_SUCCEEDED';\nconst ACTION_FETCH_URLS_FAILED = 'ACTION_FETCH_URLS_FAILED';\nconst ACTION_FETCH_URLS = 'ACTION_FETCH_URLS';\n\nconst NOW_LINK_INTERCEPTOR_MAX_RETRY = 3; //Attempts\nconst NOW_LINK_INTERCEPTOR_RETRY_AFTER = 1000; //Milliseconds\nconst NOW_LINK_INTERCEPTOR_PREVIEW_RECORD_ACTION = 'PREVIEW_RECORD'; // Workspace chrome action\nconst NOW_LINK_INTERCEPTOR_REQUESTED = 'REQUESTED'; // Temporary url state while waiting for rest call to complete\nconst TABLES_OPEN_OUTSIDE_WORKSPACE = new Set(['sys_attachment']);\n\nlet nowLinkInterceptorState = {\n\tretryHandler: null,\n\tretryCount: 0,\n\tcapturedUrls: {},\n\tpropsToHtmlArrayByComponentId: new Map(),\n\tcoeffectsToHtmlArrayByComponentId: new Map()\n};\n\nlet decoderElement = document.createElement('textarea');\n\nexport function decodeUrl(url) {\n\tdecoderElement.innerHTML = url;\n\treturn decoderElement.childNodes.length === 0\n\t\t? ''\n\t\t: decoderElement.childNodes[0].nodeValue;\n}\n\nexport const extractAnchorUrls = (html) => {\n\tconst foundUrls = new Set();\n\tconst regExp = /<a\\s*[^>]*?\\s?href\\s*=\\s*[\"']([^\"']*)[\"']/gi;\n\tconst results = [...html.matchAll(regExp)];\n\tresults.forEach((match) => {\n\t\tconst href = match[1];\n\t\tif (href) foundUrls.add(decodeUrl(href));\n\t});\n\treturn foundUrls;\n};\n\nexport const processProps = (coeffects) => {\n\tconst nowId = coeffects.properties.nowId;\n\tconst fromCoeffectsFnc = nowLinkInterceptorState.coeffectsToHtmlArrayByComponentId.get(\n\t\tnowId\n\t);\n\tconst fromPropsFnc = nowLinkInterceptorState.propsToHtmlArrayByComponentId.get(\n\t\tnowId\n\t);\n\tconst toHtmlArray = fromCoeffectsFnc || fromPropsFnc;\n\tconst params = fromCoeffectsFnc ? coeffects : coeffects.properties;\n\n\tif (!toHtmlArray) return;\n\n\tlet newUrls = new Set();\n\ttoHtmlArray(params).forEach((text) => {\n\t\textractAnchorUrls(text).forEach((t) => {\n\t\t\tt = decodeUrl(t);\n\t\t\tconst toCapture = t[0] === '/' ? t.substring(1) : t;\n\t\t\tif (!nowLinkInterceptorState.capturedUrls[toCapture]) {\n\t\t\t\tnowLinkInterceptorState.capturedUrls[\n\t\t\t\t\ttoCapture\n\t\t\t\t] = NOW_LINK_INTERCEPTOR_REQUESTED;\n\t\t\t\tnewUrls.add(toCapture);\n\t\t\t}\n\t\t});\n\t});\n\n\tif (newUrls.size > 0)\n\t\tcoeffects.dispatch(ACTION_FETCH_URLS, {sysparm_link: Array.from(newUrls)});\n};\n\nconst handleFetchUrlsError = (coeffects) => {\n\tlet newUrls = new Set();\n\n\tObject.keys(nowLinkInterceptorState.capturedUrls).forEach((k) => {\n\t\tk = decodeUrl(k);\n\t\tif (\n\t\t\tnowLinkInterceptorState.capturedUrls[k] === NOW_LINK_INTERCEPTOR_REQUESTED\n\t\t)\n\t\t\tnewUrls.add(k);\n\t});\n\n\tif (nowLinkInterceptorState.retryHandler) {\n\t\tclearTimeout(nowLinkInterceptorState.retryHandler);\n\t\tnowLinkInterceptorState.retryHandler = null;\n\t}\n\n\tif (nowLinkInterceptorState.retryCount < NOW_LINK_INTERCEPTOR_MAX_RETRY)\n\t\tnowLinkInterceptorState.retryHandler = setTimeout(() => {\n\t\t\tnowLinkInterceptorState.retryHandler = null;\n\t\t\tnowLinkInterceptorState.retryCount++;\n\t\t\tcoeffects.dispatch(ACTION_FETCH_URLS, {\n\t\t\t\tsysparm_link: Array.from(newUrls)\n\t\t\t}); //REQUEST\n\t\t}, NOW_LINK_INTERCEPTOR_RETRY_AFTER);\n};\n\nexport const nowLinkInterceptorBehavior = {\n\tname: 'nowLinkInterceptorBehavior',\n\n\tproperties: {\n\t\tcapturedUrls: {default: {}},\n\t\tpropsToHtmlArray: {default: null},\n\t\tnowLinkInterceptor: {\n\t\t\tdefault: {\n\t\t\t\tretryHandler: null,\n\t\t\t\tretryCount: 0,\n\t\t\t\tcapturedUrls: {}\n\t\t\t}\n\t\t}\n\t},\n\n\tactionHandlers: {\n\t\t[ACTION_FETCH_URLS]: createHttpEffect('/api/now/ui/link_parser', {\n\t\t\tmethod: 'POST',\n\t\t\tbatch: true,\n\t\t\tsuccessActionType: ACTION_FETCH_URLS_SUCCEEDED,\n\t\t\terrorActionType: ACTION_FETCH_URLS_FAILED,\n\t\t\tqueryParams: ['sysparm_link']\n\t\t}),\n\t\t[ACTION_FETCH_URLS_SUCCEEDED]: (coeffects) => {\n\t\t\tconst {\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {result = []}\n\t\t\t\t}\n\t\t\t} = coeffects;\n\t\t\tif (result)\n\t\t\t\tresult.forEach((urlEntry) => {\n\t\t\t\t\tnowLinkInterceptorState.capturedUrls[urlEntry.url] = urlEntry;\n\t\t\t\t});\n\t\t},\n\t\t[ACTION_FETCH_URLS_FAILED]: handleFetchUrlsError,\n\t\t[COMPONENT_RENDERED]: processProps,\n\t\t[COMPONENT_CONNECTED]: (coeffects) => {\n\t\t\tconst {\n\t\t\t\tproperties,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\toptions: {propsToHtmlArray = null, coeffectsToHtmlArray = null}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} = coeffects;\n\n\t\t\tif (!propsToHtmlArray && !coeffectsToHtmlArray) {\n\t\t\t\tconsole.error(\n\t\t\t\t\t'No propsToHtmlArray or coeffectsToHtmlArray function passed to nowLinkInterceptorBehavior options or present in host component properties, interceptor will not work!'\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst nowId = properties.nowId;\n\n\t\t\tif (coeffectsToHtmlArray)\n\t\t\t\tnowLinkInterceptorState.coeffectsToHtmlArrayByComponentId.set(\n\t\t\t\t\tnowId,\n\t\t\t\t\tcoeffectsToHtmlArray\n\t\t\t\t);\n\t\t\telse\n\t\t\t\tnowLinkInterceptorState.propsToHtmlArrayByComponentId.set(\n\t\t\t\t\tnowId,\n\t\t\t\t\tpropsToHtmlArray\n\t\t\t\t);\n\n\t\t\tprocessProps(coeffects);\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: (coeffects) => {\n\t\t\tconst {\n\t\t\t\tproperties: {nowId}\n\t\t\t} = coeffects;\n\t\t\tnowLinkInterceptorState.propsToHtmlArrayByComponentId.delete(nowId);\n\t\t\tnowLinkInterceptorState.coeffectsToHtmlArrayByComponentId.delete(nowId);\n\t\t}\n\t},\n\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['click'],\n\t\t\teffect({\n\t\t\t\tdispatch,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {event}\n\t\t\t\t}\n\t\t\t}) {\n\t\t\t\tconst path = event.composedPath() || event.path || [];\n\n\t\t\t\tif (path.length === 0) return true;\n\n\t\t\t\tlet anchor = null;\n\t\t\t\tfor (let i = 0; i < path.length; i++)\n\t\t\t\t\tif (path[i].tagName === 'A') {\n\t\t\t\t\t\tanchor = path[i];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\tif (!anchor || !anchor.getAttribute('href')) return;\n\n\t\t\t\tconst url = anchor.getAttribute('href');\n\t\t\t\tconst cleanedUrl =\n\t\t\t\t\turl.length > 0 && url[0] === '/' ? url.substring(1) : url;\n\t\t\t\tconst captured =\n\t\t\t\t\tnowLinkInterceptorState.capturedUrls[decodeUrl(cleanedUrl)] || null;\n\t\t\t\tconst isOpenInNewTab =\n\t\t\t\t\tevent.ctrlKey ||\n\t\t\t\t\tevent.shiftKey ||\n\t\t\t\t\tevent.metaKey ||\n\t\t\t\t\t(event.button && event.button === 1);\n\n\t\t\t\tif (\n\t\t\t\t\tisOpenInNewTab ||\n\t\t\t\t\t!captured ||\n\t\t\t\t\tcaptured === NOW_LINK_INTERCEPTOR_REQUESTED ||\n\t\t\t\t\t(captured.type || '') === 'NOT_FOUND'\n\t\t\t\t)\n\t\t\t\t\treturn;\n\n\t\t\t\tconst openInWorkspace = (table, sys_id) => {\n\t\t\t\t\tdispatch(NOW_LINK_INTERCEPTOR_PREVIEW_RECORD_ACTION, {\n\t\t\t\t\t\ttable,\n\t\t\t\t\t\tsys_id\n\t\t\t\t\t});\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t};\n\n\t\t\t\tconst table = get(captured, 'type_metadata.table', '');\n\t\t\t\tconst sysId = get(captured, 'type_metadata.sys_id', '');\n\t\t\t\tif (table && sysId && !TABLES_OPEN_OUTSIDE_WORKSPACE.has(table))\n\t\t\t\t\topenInWorkspace(table, sysId);\n\n\t\t\t\tconst sysKBId = get(captured, 'query_params.sys_kb_id', '');\n\t\t\t\tif (\n\t\t\t\t\tsysKBId &&\n\t\t\t\t\tcaptured.type === 'UIPAGE' &&\n\t\t\t\t\tcaptured.url.indexOf('kb_view.do') !== -1\n\t\t\t\t)\n\t\t\t\t\topenInWorkspace('kb_knowledge', sysKBId);\n\t\t\t}\n\t\t}\n\t]\n};\n","/**\n * For Dirty State Manager API see uxf-monorepo/library-uxf/src/dirtyStateManager/index.js\n * @returns Returns the global instance of the dirtyStateManager.\n */\nexport const getDirtyStateManager = () => {\n\tif (!window?.uxf?.dirtyStateManager) {\n\t\tthrow new Error(\n\t\t\t'DirtyStateManager not found on window. ' +\n\t\t\t\t'Make sure the library-uxf dirtyStateManager is initialized.'\n\t\t);\n\t}\n\treturn window?.uxf?.dirtyStateManager;\n};\n","import {actionTypes} from '@servicenow/ui-core';\n\nimport {getDirtyStateManager} from './utils';\n\nconst {COMPONENT_DISCONNECTED, COMPONENT_DOM_READY} = actionTypes;\n\n/**\n * Behavior for subscribing and unsubscribing components to dirty state management.\n * This behavior registers components for dirty state management when they are connected and unregisters them when they disconnect.\n * It ensures that components can track and manage their dirty state using registered callbacks.\n *\n * @constant\n * @type {Object}\n * @property {string} name - The name of the behavior.\n * @property {Object} actionHandlers - Handlers for specific lifecycle events.\n * @property {Function} actionHandlers.COMPONENT_DOM_READY -\n *     Handles the `COMPONENT_DOM_READY` event to register the component for dirty state management.\n * @property {Function} actionHandlers.COMPONENT_DISCONNECTED -\n *     Handles the `COMPONENT_DISCONNECTED` event to unregister the component.\n * @example\n * // Example of a component DOM ready\n * dispatch({\n *   type: COMPONENT_DOM_READY,\n *   payload: { options: { callbackFn: () => console.log('Component is dirty') } },\n *   host: { componentId: 'componentA' }\n * });\n *\n * // Example of a component disconnecting\n * dispatch({\n *   type: COMPONENT_DISCONNECTED,\n *   host: { componentId: 'componentA' }\n * });\n */\nexport const dirtyStateSubscriberBehavior = {\n\tname: 'dirtyStateSubscriberBehavior',\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_READY](coeffects) {\n\t\t\tgetDirtyStateManager().registerComponent(coeffects);\n\t\t},\n\t\t[COMPONENT_DISCONNECTED](coeffects) {\n\t\t\tgetDirtyStateManager().unregisterComponent(coeffects);\n\t\t}\n\t}\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport styles from './_now-collapse.scss';\n\nconst view = (state) => {\n\tconst {expanded} = state.properties;\n\treturn (\n\t\t<div class={{'now-collapse': true, 'is-expanded': expanded}}>\n\t\t\t<slot />\n\t\t</div>\n\t);\n};\n\n/**\n * Component that lets the user expand and collapse sections.\n * ```jsx\n * <now-collapse expanded>\n *   Rich content area to be expanded and collapsed.\n * </now-collapse>\n * ```\n *\n * @seismicElement now-collapse\n * @summary A helper element for expandable and collapsible sections.\n * @uib.label Collapse\n * @uib.icon collapse\n * @uib.description A helper element for expandable and collapsible sections\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties expanded, ariaHidden\n * @uib.layout.accessibility.children ariaHidden\n * @uib.layout.accessibility.icon accessibility-outline\n */\ncreateCustomElement('now-collapse', {\n\tpresentational: true,\n\tproperties: {\n\t\t/**\n\t\t * When true, the collapsible section is currently expanded.\n\t\t * @type {boolean}\n\t\t * @uib.description Whether the collapsible section is currently expanded\n\t\t * @uib.defaultValue true\n\t\t */\n\t\texpanded: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, the collapsible section is visible to a screen reader.\n\t\t * It is only visible to a screen reader when expanded.\n\t\t * @type {string}\n\t\t * @uib.label ARIA hidden\n\t\t * @uib.description Whether the collapsible section is visible to a screen reader\n\t\t */\n\t\tariaHidden: {\n\t\t\tcomputed: (state) => (state.properties.expanded ? 'false' : 'true'),\n\t\t\treflect: true,\n\t\t\tschema: {type: 'string', enum: ['true', 'false']},\n\t\t},\n\t},\n\tslots: {\n\t\t/**\n\t\t * Content placed in the default slot appears inside of the collapsible section.\n\t\t * @defaultSlot\n\t\t */\n\t\tdefaultSlot: {},\n\t},\n\tstyles,\n\tview,\n});\n","import {createCustomElement} from '@servicenow/ui-core';\n/**\n * A trigger element to be used with an now-collapse element\n * for triggering the expand/collapse behavior. The `controls` property\n * links the trigger to the corresponding collapse by element ID.\n *\n * ```jsx\n * <now-collapse-trigger controls=\"collapseID\">\n *   <button>Toggle</button>\n * </now-collapse-trigger>\n *\n * <now-collapse id=\"collapseID\">\n * </now-collapse>\n * ```\n *\n * @seismicElement now-collapse-trigger\n * @summary A trigger element to be used with an now-collapse element for triggering the expand/collapse behavior.\n */\ncreateCustomElement('now-collapse-trigger', {\n\tproperties: {\n\t\t/**\n\t\t * ID of the `now-collapse` element associated with this trigger.\n\t\t * @type {'string'}\n\t\t */\n\t\tcontrols: {schema: {type: 'string'}, required: true},\n\t},\n\tslots: {\n\t\t/**\n\t\t * Place content inside of the default slot of the collapse trigger to use it\n\t\t * as a control for a now-collapse component instance.\n\t\t * @defaultSlot\n\t\t */\n\t\tdefaultSlot: {},\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['click'],\n\t\t\teffect: ({host, properties}) => {\n\t\t\t\tconst {controls} = properties;\n\t\t\t\tconst collapse = host.parentNode.querySelector(\n\t\t\t\t\t`#${CSS.escape ? CSS.escape(controls) : controls}`,\n\t\t\t\t);\n\t\t\t\tif (!collapse) return;\n\t\t\t\tcollapse.expanded = !collapse.expanded;\n\t\t\t},\n\t\t\tmodifier: {name: 'throttle', limit: 300},\n\t\t},\n\t],\n\tview: () => <slot />,\n});\n","/* eslint-disable */\nimport {default as NowCollapse} from './now-collapse';\nimport {default as NowCollapseTrigger} from './now-collapse-trigger';\n\nimport * as info from '../package.json';\nconst {name, version} = info;\n\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {extensionSplit} from '@servicenow/library-enhanced-utils';\nimport styles from './_now-heading.scss';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport '@servicenow/now-tooltip';\n\nconst view = (state) => {\n\tconst {label, level, variant, wontWrap, hasNoMargin, align} =\n\t\tstate.properties;\n\tconst HeadingLevel = `h${level}`;\n\treturn (\n\t\t<HeadingLevel\n\t\t\tclass={{\n\t\t\t\t'now-heading': true,\n\t\t\t\t...extensionSplit(variant),\n\t\t\t\t['-' + align]: align,\n\t\t\t\t'has-no-margin': hasNoMargin,\n\t\t\t\t'wont-wrap': wontWrap,\n\t\t\t}}\n\t\t\tdata-truncation\n\t\t>\n\t\t\t{label}\n\t\t</HeadingLevel>\n\t);\n};\n\n/**\n * Use a heading to communicate the hierarchy of content on your page. Set heading\n * levels according to the logical structure of the document, then apply\n * visual styles separately. Visually styling headers according\n * to the structure of your page also improves the readability and scannability\n * of your design.\n *\n * ```jsx\n * <now-heading label=\"Default\" />\n *\n * <now-heading label=\"Header Primary\" level={1} variant=\"header-primary\" />\n *\n * <now-heading label=\"Header Tertiary\" level={3} variant=\"header-tertiary\" wont-wrap />\n * ```\n *\n * @seismicElement now-heading\n * @summary Text that provides a short summary of content, styled to indicate the hierarchy of content on a page.\n * @uib.label Heading\n * @uib.icon heading\n * @uib.description Displays heading text in multiple sizes\n * @uib.category primitives\n * @uib.associatedTypes global.core, global.dashboard, global.landing-page\n * @uib.properties variant, label, wontWrap, hasNoMargin, level, align\n * @uib.parMetadata {\"useDashboardHeader\": true}\n */\ncreateEnhancedElement('now-heading', {\n\tproperties: {\n\t\t/**\n\t\t * Defines the textual content rendered by the header.\n\t\t * @type {string}\n\t\t * @uib.required\n\t\t * @uib.description Text for the heading\n\t\t * @uib.defaultValue We make work, work better for people with modern digital workflows\n\t\t * @uib.translatable true\n\t\t */\n\t\tlabel: {required: true, schema: {type: 'string'}},\n\t\t/**\n\t\t * Defines the HTML <hx> heading element used to render the label.\n\t\t * @type {(1|2|3|4|5|6)}\n\t\t * @uib.description Defines the HTML <hx> heading element used to render the label\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"1\",\"value\": \"1\"},{\"label\": \"2\",\"value\": \"2\"},{\"label\": \"3\",\"value\": \"3\"},{\"label\": \"4\",\"value\": \"4\"},{\"label\": \"5\",\"value\": \"5\"},{\"label\": \"6\",\"value\": \"6\"}]\n\t\t */\n\t\tlevel: {\n\t\t\tdefault: 1,\n\t\t\tschema: {type: 'number', enum: [1, 2, 3, 4, 5, 6]},\n\t\t},\n\t\t/**\n\t\t * Defines the styles used to render the heading.\n\t\t * @type {('header-hero'|'header-primary'|'header-secondary'|'header-tertiary'|'title-primary'|'title-secondary'|'title-tertiary')}\n\t\t * @uib.label Style\n\t\t * @uib.description Text style\n\t\t */\n\t\tvariant: {\n\t\t\tdefault: 'header-primary',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'header-hero',\n\t\t\t\t\t'header-primary',\n\t\t\t\t\t'header-secondary',\n\t\t\t\t\t'header-tertiary',\n\t\t\t\t\t'title-primary',\n\t\t\t\t\t'title-secondary',\n\t\t\t\t\t'title-tertiary',\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Set to true if the heading should have no block end margin.\n\t\t * @type {boolean}\n\t\t * @uib.label Hide bottom margin\n\t\t * @uib.description Hides the extra space on the bottom of the text\n\t\t */\n\t\thasNoMargin: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Set to true if the heading label should not wrap. Label text is\n\t\t * truncated if it does not fit in the available space. The full label is\n\t\t * rendered in a title attribute.\n\t\t * @type {boolean}\n\t\t * @uib.label Disable text wrap\n\t\t * @uib.description Truncates the text with an ellipsis if it does not fit on one line\n\t\t */\n\t\twontWrap: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Defines the aligmnent of the heading.\n\t\t * @type {('start'|'center'|'end'|'justify')}\n\t\t * @uib.label Align\n\t\t * @uib.description Align heading\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Start\", \"value\": \"start\"}, {\"label\": \"Center\", \"value\": \"center\"}, {\"label\": \"End\", \"value\": \"end\"}, {\"label\": \"Justify\", \"value\": \"justify\"}]\n\t\t */\n\t\talign: {\n\t\t\tdefault: 'start',\n\t\t\tschema: {type: 'string', enum: ['start', 'center', 'end', 'justify']},\n\t\t},\n\t},\n\tview,\n\tbehaviors: [truncationBehavior, tooltipBehavior],\n\tstyles,\n});\n","import './now-heading.js';\nimport * as info from '../package.json';\n\nconst {name, version} = info;\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n","/**\n * Seismic does not polyfill the `::slotted` psuedo-selector, which we use all\n * over this project to set margin between multiple slotted elements.\n *\n * This is a hacky workaround to inline margins onto the slotted components\n * directly for IE11/Edge browsers.\n */\nimport { toLower, forEach } from 'lodash';\n\nconst MARGIN_MAP = {\n\t'now-uxf-page': '1.5rem',\n\tdefault: '0.75rem'\n};\n\nexport function getMargin(locals, el) {\n\treturn (\n\t\tlocals[toLower(el.tagName)] ||\n\t\tlocals[toLower(el.getAttribute('parent-tag'))] ||\n\t\tlocals.default\n\t);\n}\n\nexport function isIEOrEdge(userAgent) {\n\treturn /Trident\\/|Edge/.test(userAgent);\n}\n\nexport default {\n\tname: 'slottedPolyfill',\n\tonConnect(el, _, { selector = '*' }) {\n\t\tif (!isIEOrEdge(window.navigator.userAgent)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst margin = getMargin(MARGIN_MAP, el);\n\n\t\tif (margin) {\n\t\t\tforEach(el.querySelectorAll(selector), el => {\n\t\t\t\tel.style.display = 'block';\n\t\t\t\tel.style.marginBottom = margin;\n\t\t\t});\n\t\t}\n\t}\n};\n","import forOwn from 'lodash/forOwn';\nimport set from 'lodash/set';\nimport {\n\tPOLITE,\n\tASSERTIVE,\n\tCRITICAL,\n\tTRUE,\n\tEMPTY_STATE_NODE\n} from './constants';\nimport { getActiveElement } from '@servicenow/library-enhanced-utils';\n\nexport const ariaHeading = (id, name, level) => {\n\tif (level < 1 || level > 6) {\n\t\treturn;\n\t}\n\tconst HeadingLevel = `h${level}`;\n\treturn (\n\t\t<HeadingLevel id={`heading-${id}`} className={'hide-element'}>\n\t\t\t{name}\n\t\t</HeadingLevel>\n\t);\n};\n\nexport const ariaLabel = (id, name, includeHeading) => {\n\tif (!name) {\n\t\treturn;\n\t}\n\tif (includeHeading) {\n\t\treturn { ['aria-labelledby']: `heading-${id}` };\n\t}\n\treturn { ['aria-label']: name };\n};\n\nexport const ariaProgressBarConfig = (loader) => {\n\tif (!loader || loader.length === 0) {\n\t\treturn;\n\t}\n\n\tconst loaderDoesNotHaveLabel = !loader[0].label;\n\tconst progressbar = {};\n\tprogressbar['aria-live'] = POLITE;\n\tprogressbar['aria-label'] = loaderDoesNotHaveLabel\n\t\t? undefined\n\t\t: loader[0].label;\n\n\treturn {\n\t\t['configAria']: {\n\t\t\tprogressbar\n\t\t}\n\t};\n};\n\nexport const findFocusableElement = (el, elSelector, startElement) => {\n\tif (!startElement) return null;\n\n\tconst queue = [startElement];\n\twhile (queue.length > 0) {\n\t\tconst top = queue.shift();\n\t\tconst ele = top.querySelector(el);\n\t\tif (ele && !elSelector) return ele;\n\n\t\tif (ele && ele.shadowRoot && ele.shadowRoot.querySelector(elSelector))\n\t\t\treturn ele;\n\n\t\tconst topShadow = top.shadowRoot;\n\t\tif (topShadow) queue.push(topShadow);\n\n\t\tconst allSearched = top.querySelectorAll('*');\n\t\tfor (let i = 0; i < allSearched.length; i++) {\n\t\t\tif (allSearched[i].shadowRoot) queue.push(allSearched[i].shadowRoot);\n\t\t}\n\t}\n};\n\nexport const manageFocus = (\n\telm,\n\tupdateState,\n\tnowUxfPageElRef,\n\tupdateActiveElement = false,\n\tscrollIntoView = true\n) => {\n\tif (updateActiveElement) {\n\t\tconst activeElement = getActiveElement();\n\t\tupdateState({ activeElement });\n\t}\n\tconst focusEl = findFocusableElement(elm, null, nowUxfPageElRef);\n\tapplyStyleAndFocus(focusEl, scrollIntoView);\n\treturn focusEl;\n};\n\nexport const restoreFocus = (previouslyFocusedElement) => {\n\tif (!previouslyFocusedElement) return;\n\n\tpreviouslyFocusedElement.focus();\n};\n\nexport const applyStyleAndFocus = (elm, scrollIntoView = true) => {\n\tif (elm) {\n\t\tconst noOutline = { outline: 'none' };\n\t\tsetElementStyles(elm, noOutline);\n\t\tif (scrollIntoView) elm.scrollIntoView({ block: 'center' }); // focus() does not scroll to elements without focusable elements\n\t\telm.focus();\n\t}\n};\n\nconst setElementStyles = (element, styles) => {\n\t// set element with styles\n\tforOwn(styles, (value, key) => {\n\t\tset(element, ['style', key], value);\n\t});\n};\n\nexport const removeEmptyState = (slot) => {\n\tif (slot.assignedNodes() && slot.assignedNodes().length > 0) {\n\t\tconst emptyStateNode = Array.from(slot.childNodes).find(\n\t\t\t(node) => node.nodeName.toLowerCase() === EMPTY_STATE_NODE\n\t\t);\n\t\tif (emptyStateNode) slot.removeChild(emptyStateNode);\n\t}\n};\n\nexport const isHighAssuranceNotificationInMessage = (msg) => {\n\tif (!msg || typeof msg !== 'string') return false;\n\treturn msg.includes('sn-high-assurance-notif');\n};\n\nexport const filterSpanInMessage = (notification) => {\n\tconst content = notification.content || notification.message;\n\tif (typeof content === 'string') {\n\t\treturn !(\n\t\t\tcontent.startsWith('<span') &&\n\t\t\tisHighAssuranceNotificationInMessage(content)\n\t\t);\n\t}\n\tif (\n\t\ttypeof content === 'object' &&\n\t\tcontent.type === 'html' &&\n\t\ttypeof content.value === 'string'\n\t) {\n\t\treturn !(\n\t\t\tcontent.value.startsWith('<span') &&\n\t\t\tisHighAssuranceNotificationInMessage(content.value)\n\t\t);\n\t}\n\treturn true;\n};\n\nexport const getIsScreenPreviewFromURL = () => {\n\tconst { searchParams } = new URL(decodeURIComponent(window.location.href));\n\treturn (\n\t\tsearchParams.has('sysparm_live_preview') ||\n\t\tsearchParams.get('mode') === 'preview'\n\t);\n};\n","export const POLITE = 'polite';\nexport const ASSERTIVE = 'assertive';\nexport const CRITICAL = 'critical';\nexport const TRUE = 'true';\nexport const EMPTY_STATE_NODE = 'now-template-message-empty-state';\nexport const AUTO_DISMISS_DEFAULT_TIMEOUT = 5; // in secs\n","import { createCustomElement } from '@servicenow/ui-core';\nimport {\n\tsnabbdom,\n\tdangerouslyCreateElementFromString\n} from '@servicenow/ui-renderer-snabbdom';\nimport { nowLinkInterceptorBehavior } from '@devsnc/uxf-shared-behaviors';\nimport '@servicenow/now-alert';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport styles from './styles.scss';\nimport { restoreFocus, manageFocus } from '../utils';\n\nexport const getHtmlArrayFromProps = (props) => {\n\tconst { notifications = [] } = props;\n\treturn notifications\n\t\t.filter((n) => {\n\t\t\tconst {\n\t\t\t\tcontent: { value = '' } = {},\n\t\t\t\ttextLinkProps: { href = '' } = {}\n\t\t\t} = n;\n\t\t\treturn !!n.content || value !== '' || href !== '';\n\t\t})\n\t\t.map((n) => {\n\t\t\tconst { content: { value } = {}, textLinkProps: { href } = {} } = n;\n\t\t\tlet text = n.content;\n\t\t\tif (value) text = value;\n\t\t\tif (href) text = `<a href=\"${href}\" />`;\n\t\t\treturn text;\n\t\t});\n};\n\n// sending data as jsx as onclick needs to be preserved for auth notification with html now-alert is stripping the onclick function\nconst view = (state, { updateState }) => {\n\tconst {\n\t\tproperties: { notifications, targetRef, authNotification },\n\t\tactiveElement\n\t} = state;\n\treturn (\n\t\t<div id=\"notification\">\n\t\t\t{authNotification && (\n\t\t\t\t<now-alert\n\t\t\t\t\tid=\"authAlert\"\n\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\ticon=\"exclamation-triangle-outline\"\n\t\t\t\t\tcontent={{\n\t\t\t\t\t\ttype: 'jsx',\n\t\t\t\t\t\tvalue: dangerouslyCreateElementFromString(authNotification)\n\t\t\t\t\t}}\n\t\t\t\t\thook={{\n\t\t\t\t\t\tinsert() {\n\t\t\t\t\t\t\tmanageFocus(\n\t\t\t\t\t\t\t\t'sn-uxf-page-notifications',\n\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t\ttargetRef,\n\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdestroy() {\n\t\t\t\t\t\t\trestoreFocus(activeElement);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\taction={{ type: 'dismiss', authNotification: true }}\n\t\t\t\t></now-alert>\n\t\t\t)}\n\t\t\t{notifications.length > 0 && (\n\t\t\t\t<now-alert-list\n\t\t\t\t\titems={notifications}\n\t\t\t\t\tmanage-items\n\t\t\t\t\thook={{\n\t\t\t\t\t\tinsert() {\n\t\t\t\t\t\t\tmanageFocus(\n\t\t\t\t\t\t\t\t'sn-uxf-page-notifications',\n\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t\ttargetRef,\n\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tupdate() {\n\t\t\t\t\t\t\tmanageFocus('sn-uxf-page-notifications', updateState, targetRef);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdestroy() {\n\t\t\t\t\t\t\trestoreFocus(activeElement);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nconst TAG_NAME = 'sn-uxf-page-notifications';\nconst TAB_INDEX_ATTR = 'tabIndex';\ncreateCustomElement(TAG_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: nowLinkInterceptorBehavior,\n\t\t\toptions: {\n\t\t\t\tpropsToHtmlArray: getHtmlArrayFromProps\n\t\t\t}\n\t\t},\n\t\t{ behavior: rtlBehavior }\n\t],\n\tproperties: {\n\t\tnotifications: { default: [] },\n\t\tauthNotification: { default: null },\n\t\ttargetRef: {\n\t\t\tdefault: null,\n\t\t\tshouldRenderWhenSet: false\n\t\t}\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['blur'],\n\t\t\teffect({ host }) {\n\t\t\t\thost.removeAttribute(TAB_INDEX_ATTR);\n\t\t\t}\n\t\t}\n\t],\n\tactionHandlers: {\n\t\tPREVIEW_RECORD: {\n\t\t\teffect({ action, dispatch }) {\n\t\t\t\tdispatch('PAGE_NOTIFICATIONS#RECORD_LINK_CLICKED', {\n\t\t\t\t\t...action.payload\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t},\n\tstyles\n});\n\nexport default TAG_NAME;\n","export const sysProps = {\n\tGLIDE_UI_ESCAPE_FORM_MESSAGE: 'glide.ui.escape_form_message'\n};\n\nexport const actions = {\n\tNOTIFICATIONS_UPDATED: 'NOW_UXF_PAGE#NOTIFICATIONS_UPDATED',\n\tNOTIFICATION_ACTION_CLICKED: 'NOW_UXF_PAGE#NOTIFICATION_ACTION_CLICKED',\n\tLOADER_ACTION_CLICKED: 'NOW_UXF_PAGE#LOADER_ACTION_CLICKED',\n\tRECORD_LINK_CLICKED: 'NOW_UXF_PAGE#RECORD_LINK_CLICKED',\n\tLOADING_STATUS_CHANGED: 'NOW_UXF_PAGE#LOADING_STATUS_CHANGED',\n\tSET_PROPAGATED_NOTIFICATIONS: 'NOW_UXF_PAGE#SET_PROPAGATED_NOTIFICATIONS'\n};\n\nexport const notificationHandlers = {\n\tADD_NOTIFICATIONS: 'NOW_UXF_PAGE#ADD_NOTIFICATIONS',\n\tREMOVE_NOTIFICATIONS: 'NOW_UXF_PAGE#REMOVE_NOTIFICATIONS',\n\tCLEAR_NOTIFICATIONS: 'NOW_UXF_PAGE#CLEAR_NOTIFICATIONS',\n\tSET_LOADING_STATE: 'NOW_UXF_PAGE#SET_LOADING_STATE',\n\tHTTP_EFFECT_SESSION_NOTIFICATIONS_RECEIVED:\n\t\t'HTTP_EFFECT_SESSION_NOTIFICATIONS_RECEIVED'\n};\n","import { AUTO_DISMISS_DEFAULT_TIMEOUT } from '../constants';\nimport { get } from 'lodash';\n\nexport const isUserPrefEnabledForAutoDismissal = () => {\n\tconst userPrefEnabled = get(window, [\n\t\t'ux_globals',\n\t\t'userPrefs',\n\t\t'glide.uxf.alert.auto_dismissal_enabled'\n\t]);\n\treturn userPrefEnabled !== 'false';\n};\nexport const getEffectiveTimeout = (\n\tenabledAtEventLevel,\n\teventLevelTimeout,\n\texpLevelTimeout\n) => {\n\tif (!enabledAtEventLevel) {\n\t\treturn undefined;\n\t}\n\tif (eventLevelTimeout !== null && eventLevelTimeout !== undefined) {\n\t\treturn eventLevelTimeout;\n\t}\n\treturn expLevelTimeout;\n};\n\nexport const getStatus = (type) => {\n\tswitch (type) {\n\t\tcase 'info':\n\t\t\treturn 'info';\n\t\tcase 'error':\n\t\t\treturn 'critical';\n\t\tcase 'warning':\n\t\t\treturn 'warning';\n\t\tcase 'success':\n\t\t\treturn 'positive';\n\t\tcase 'moderate':\n\t\tcase 'suggestion':\n\t\t\treturn 'moderate';\n\t\tcase 'low':\n\t\t\treturn 'low';\n\t\tcase 'high':\n\t\t\treturn 'high';\n\t\tdefault:\n\t\t\treturn 'info';\n\t}\n};\nexport const handleAutoDismissal = (\n\tnotification,\n\texpLevelAutoDismissalSettings\n) => {\n\tif (!isUserPrefEnabledForAutoDismissal()) return notification;\n\n\tconst {\n\t\tautoDismiss: {\n\t\t\tenabled: eventLevelAutoDismissEnabled = true,\n\t\t\ttimeout: eventLevelAutoDismissTimeout\n\t\t} = {},\n\t\t...notificationData\n\t} = notification;\n\n\tconst alertTypes = expLevelAutoDismissalSettings?.get('alertTypes');\n\tconst alertTypeSettings =\n\t\talertTypes?.get(notification.status ?? getStatus(notification.type)) || {};\n\n\tconst {\n\t\tenabled: expLevelAutoDismissEnabled = false,\n\t\ttimeout: expLevelAutoDismissTimeout = AUTO_DISMISS_DEFAULT_TIMEOUT\n\t} = alertTypeSettings;\n\n\tif (!expLevelAutoDismissEnabled) return notificationData;\n\n\tconst showTimer = expLevelAutoDismissalSettings.get('showTimer');\n\tconst hideProgressBar = expLevelAutoDismissalSettings.get('hideProgressBar');\n\n\tconst effectiveTimeout = getEffectiveTimeout(\n\t\teventLevelAutoDismissEnabled,\n\t\teventLevelAutoDismissTimeout,\n\t\texpLevelAutoDismissTimeout\n\t);\n\n\tif (effectiveTimeout === undefined) {\n\t\treturn notificationData;\n\t}\n\n\tconst autoDismissConfig = {\n\t\tenableAutoDismiss: eventLevelAutoDismissEnabled,\n\t\tduration: effectiveTimeout * 1000\n\t};\n\tif (showTimer !== undefined) {\n\t\tautoDismissConfig.showTimer = showTimer;\n\t}\n\tif (hideProgressBar !== undefined) {\n\t\tautoDismissConfig.hideProgressBar = hideProgressBar;\n\t}\n\n\treturn {\n\t\t...notificationData,\n\t\tautoDismissConfig\n\t};\n};\n","import { getProperty } from 'sn-uxpage-presource';\nimport { uniqueId, uniqBy } from 'lodash';\nimport {\n\tsysProps,\n\tactions,\n\tnotificationHandlers as handlers\n} from '../uxf-page/constants';\nimport { getAncestorNode } from '@servicenow/ui-core';\nimport {\n\tfilterSpanInMessage,\n\tisHighAssuranceNotificationInMessage\n} from '../utils';\nimport { handleAutoDismissal, getStatus } from './../behaviors/utils';\nimport track from '@devsnc/ux-metrics';\n\nexport const sortNotifications = (notifications) => {\n\tconst NOTIFICATION_SORT_ORDER = {\n\t\tcritical: 4,\n\t\thigh: 3,\n\t\twarning: 2,\n\t\tinfo: 1,\n\t\tpositive: 0\n\t};\n\treturn notifications.sort(\n\t\t(a, b) =>\n\t\t\tNOTIFICATION_SORT_ORDER[a.status] - NOTIFICATION_SORT_ORDER[b.status]\n\t);\n};\n\nexport const transformedNotification = (id, type, message) => {\n\tconst getIcon = (type) => {\n\t\tswitch (type) {\n\t\t\tcase 'error':\n\t\t\t\treturn 'circle-close-outline';\n\t\t\tcase 'warning':\n\t\t\t\treturn 'exclamation-circle-outline';\n\t\t\tcase 'success':\n\t\t\t\treturn 'check-circle-outline';\n\t\t\tcase 'suggestion':\n\t\t\t\treturn 'ai-sparkle-fill';\n\t\t\tdefault:\n\t\t\t\treturn 'info-circle-outline';\n\t\t}\n\t};\n\tconst hasHtml = (message) => {\n\t\ttry {\n\t\t\tconst parser = new DOMParser();\n\t\t\tconst doc = parser.parseFromString(message, 'text/html');\n\t\t\treturn (\n\t\t\t\tArray.from(doc.body.childNodes).findIndex(\n\t\t\t\t\t(child) => child.nodeType === 1\n\t\t\t\t) !== -1\n\t\t\t);\n\t\t} catch (e) {\n\t\t\tconsole.error('Error while parsing message to html ', e);\n\t\t\treturn false;\n\t\t}\n\t};\n\tconst escFormMsg = getProperty(sysProps.GLIDE_UI_ESCAPE_FORM_MESSAGE, false);\n\tconst isHtml = escFormMsg !== 'true' && hasHtml(message);\n\tconst content = {\n\t\ttype: isHtml ? 'html' : 'string',\n\t\tvalue: isHtml ? `<div>${message}</div>` : message\n\t};\n\n\treturn {\n\t\tid,\n\t\tstatus: getStatus(type),\n\t\ticon: getIcon(type),\n\t\tcontent,\n\t\tmsgKey: `${type}_${message}`,\n\t\taction: {\n\t\t\ttype: 'dismiss'\n\t\t}\n\t};\n};\n\nexport const generateId = (prefix, componentId, notificationId) => {\n\tconst namespace = prefix || componentId || 'generated_';\n\tif (!notificationId) return uniqueId(namespace);\n\treturn `${namespace}_${notificationId}`;\n};\n\nexport const getAutoExpandAlertsProp = (targetRef) => {\n\t//targetRef is now-uxf-page & it's parent is a macroponent\n\tconst parentMacroponent = getAncestorNode(targetRef);\n\treturn parentMacroponent?.nowAppProps?.auto_expand_now_alert_message ?? false;\n};\n\nconst isNotificationMissing = (msgKey, notifications) =>\n\tnotifications.every((notification) => notification.msgKey != msgKey);\n\nexport const addNotificationsEffect = (coeffects) => {\n\tconst { state, action, dispatch, updateState } = coeffects;\n\tconst {\n\t\tproperties: {\n\t\t\tpropagateNotifications = false,\n\t\t\tinterceptNotifications = false\n\t\t} = {},\n\t\ttargetRef,\n\t\texpLevelAutoDismissalSettings,\n\t\tnotificationMessages = {}\n\t} = state;\n\tconst {\n\t\tmeta: { id: componentId },\n\t\tpayload: { prefix, items = [] }\n\t} = action;\n\tif (interceptNotifications || !(Array.isArray(items) && items.length)) return;\n\tconst expandAlerts = getAutoExpandAlertsProp(targetRef);\n\tconst getMessageOrContentValue = (msg) => {\n\t\tif (!msg) return '';\n\t\tif (typeof msg === 'string') return msg;\n\t\tif (typeof msg === 'object' && msg.value) return msg.value;\n\t\treturn '';\n\t};\n\t/* filtering the auth notification using the span class 'sn-high-assurance-notif' which is unique to auth notification for now.\n\t\tThis behavior will be replaced when alternative solution's are worked upon by the auth team in future.\n\t*/\n\tconst firstAuthMessageInItems = items.find((item) =>\n\t\tisHighAssuranceNotificationInMessage(\n\t\t\tgetMessageOrContentValue(item.message || item.content)\n\t\t)\n\t);\n\tif (firstAuthMessageInItems && !state.authNotification) {\n\t\tdispatch(handlers.HTTP_EFFECT_SESSION_NOTIFICATIONS_RECEIVED, {\n\t\t\tnotifications: [{ ...firstAuthMessageInItems }]\n\t\t});\n\t}\n\tconst filteredNotifications = items.filter(filterSpanInMessage);\n\n\tconst notificationItems = filteredNotifications.map((notification) => ({\n\t\t...handleAutoDismissal(notification, expLevelAutoDismissalSettings),\n\t\t...(expandAlerts && { expanded: expandAlerts })\n\t}));\n\n\tif (propagateNotifications) {\n\t\tdispatch(actions.SET_PROPAGATED_NOTIFICATIONS, {\n\t\t\ttype: 'ADD',\n\t\t\tprefix: componentId,\n\t\t\titems: notificationItems\n\t\t});\n\t} else {\n\t\tconst newNotificationMessages = { ...notificationMessages };\n\t\tupdateState(({ state }) => {\n\t\t\tconst uniqueNotifications = notificationItems.filter(\n\t\t\t\t({ type, message, preventDuplicates = true }) => {\n\t\t\t\t\tif (!type || !message) return true;\n\n\t\t\t\t\tconst msgKey = `${type}_${message}`;\n\t\t\t\t\tif (preventDuplicates && notificationMessages[msgKey]) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tnewNotificationMessages[msgKey] = true;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst newNotifications = uniqueNotifications.map((notification) => {\n\t\t\t\tif (notification.type && notification.message) {\n\t\t\t\t\tconst { id, type, message, expanded = false } = notification;\n\t\t\t\t\tconst updatedNotificationProps = transformedNotification(\n\t\t\t\t\t\tgenerateId(prefix, componentId, id),\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tmessage\n\t\t\t\t\t);\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...notification,\n\t\t\t\t\t\t...updatedNotificationProps,\n\t\t\t\t\t\texpanded\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tif (notification.autoDismissConfig) {\n\t\t\t\t\ttrack(coeffects, 'Enable auto dismissing alert', {\n\t\t\t\t\t\ttype: notification.status ?? getStatus(notification.type)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\t...notification,\n\t\t\t\t\tid: generateId(prefix, componentId, notification.id)\n\t\t\t\t};\n\t\t\t});\n\n\t\t\tconst notifications = sortNotifications(\n\t\t\t\tuniqBy([...newNotifications, ...state.notifications], 'id')\n\t\t\t);\n\t\t\tdispatch(actions.NOTIFICATIONS_UPDATED, {\n\t\t\t\tnotifications\n\t\t\t});\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tpath: 'notifications',\n\t\t\t\t\tvalue: notifications,\n\t\t\t\t\toperation: 'set'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'notificationMessages',\n\t\t\t\t\tvalue: newNotificationMessages,\n\t\t\t\t\toperation: 'merge'\n\t\t\t\t}\n\t\t\t];\n\t\t});\n\t}\n};\n\nexport const removeNotificationsEffect = ({\n\tstate,\n\taction,\n\tdispatch,\n\tupdateState\n}) => {\n\tconst {\n\t\tproperties: {\n\t\t\tpropagateNotifications = false,\n\t\t\tinterceptNotifications = false\n\t\t} = {}\n\t} = state;\n\tconst {\n\t\tmeta: { id: componentId },\n\t\tpayload: { prefix, items = [] }\n\t} = action;\n\n\tif (interceptNotifications || !(Array.isArray(items) && items.length)) return;\n\tif (propagateNotifications) {\n\t\tdispatch(actions.SET_PROPAGATED_NOTIFICATIONS, {\n\t\t\ttype: 'REMOVE',\n\t\t\tprefix: componentId,\n\t\t\titems\n\t\t});\n\t} else {\n\t\tupdateState(({ state }) => {\n\t\t\tconst validIds = items.reduce((acc, curr) => {\n\t\t\t\tconst { id } = curr;\n\t\t\t\tif (id) acc.push(generateId(prefix, componentId, id));\n\t\t\t\treturn acc;\n\t\t\t}, []);\n\t\t\tif (validIds.length === 0) return;\n\n\t\t\tconst notifications = sortNotifications(\n\t\t\t\tstate.notifications.filter(\n\t\t\t\t\t(notification) => !validIds.includes(notification.id)\n\t\t\t\t)\n\t\t\t);\n\n\t\t\tdispatch(actions.NOTIFICATIONS_UPDATED, {\n\t\t\t\tnotifications: [...notifications]\n\t\t\t});\n\n\t\t\treturn {\n\t\t\t\tpath: 'notifications',\n\t\t\t\tvalue: notifications,\n\t\t\t\toperation: 'set'\n\t\t\t};\n\t\t});\n\t}\n};\n\nexport const clearNotificationsEffect = ({ state, dispatch, updateState }) => {\n\tconst {\n\t\tproperties: {\n\t\t\tpropagateNotifications = false,\n\t\t\tinterceptNotifications = false\n\t\t} = {}\n\t} = state;\n\tif (interceptNotifications) return;\n\n\tif (propagateNotifications) {\n\t\tdispatch(actions.SET_PROPAGATED_NOTIFICATIONS, {\n\t\t\ttype: 'CLEAR'\n\t\t});\n\t} else {\n\t\tupdateState(() => {\n\t\t\tdispatch(actions.NOTIFICATIONS_UPDATED, { notifications: [] });\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tpath: 'notifications',\n\t\t\t\t\tvalue: [],\n\t\t\t\t\toperation: 'set'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'notificationMessages',\n\t\t\t\t\tvalue: {},\n\t\t\t\t\toperation: 'set'\n\t\t\t\t}\n\t\t\t];\n\t\t});\n\t}\n};\n\nexport const setNotificationsEffect = ({\n\tstate,\n\taction,\n\tdispatch,\n\tupdateState\n}) => {\n\tconst {\n\t\tproperties: { interceptNotifications = false } = {},\n\t\tnotificationMessages = {}\n\t} = state;\n\tif (interceptNotifications) return;\n\tupdateState(() => {\n\t\tconst {\n\t\t\tpayload: { value = [] }\n\t\t} = action;\n\t\tconst prevNotifications = state?.notifications;\n\t\tif (prevNotifications) {\n\t\t\tfor (let index = 0; index < prevNotifications.length; index++) {\n\t\t\t\tconst notificationIndex = value.findIndex(\n\t\t\t\t\t(valueNotification) =>\n\t\t\t\t\t\tvalueNotification.id === prevNotifications[index].id\n\t\t\t\t);\n\t\t\t\tif (\n\t\t\t\t\tnotificationIndex >= 0 &&\n\t\t\t\t\tprevNotifications[index].expanded !== undefined\n\t\t\t\t)\n\t\t\t\t\tvalue[notificationIndex].expanded = prevNotifications[index].expanded;\n\t\t\t}\n\t\t}\n\t\tconst notifications = sortNotifications(value);\n\t\tconst msgKeys = Object.keys(notificationMessages);\n\t\tconst newNotificationMessages = { ...notificationMessages };\n\t\tmsgKeys.forEach((msgKey) => {\n\t\t\tif (isNotificationMissing(msgKey, notifications)) {\n\t\t\t\tnewNotificationMessages[msgKey] = false;\n\t\t\t}\n\t\t});\n\t\tdispatch(actions.NOTIFICATIONS_UPDATED, {\n\t\t\tnotifications\n\t\t});\n\t\treturn [\n\t\t\t{\n\t\t\t\tpath: 'notifications',\n\t\t\t\tvalue: notifications,\n\t\t\t\toperation: 'set'\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'notificationMessages',\n\t\t\t\tvalue: newNotificationMessages,\n\t\t\t\toperation: 'set'\n\t\t\t}\n\t\t];\n\t});\n};\n\nexport const setPropagatedNotificationsEffect = ({\n\thost,\n\tstate,\n\taction,\n\tdispatch\n}) => {\n\tconst hostId = host.getComponentId();\n\tconst actionHostId = action.meta.id;\n\tif (hostId === actionHostId) return;\n\tconst {\n\t\tproperties: {\n\t\t\tinterceptNotifications = false,\n\t\t\tpropagateNotifications = []\n\t\t} = {}\n\t} = state;\n\tif (propagateNotifications) return;\n\taction.stopPropagation();\n\tif (interceptNotifications) return;\n\tconst { type, prefix, items = [] } = action.payload;\n\tswitch (type) {\n\t\tcase 'ADD':\n\t\t\tdispatch(handlers.ADD_NOTIFICATIONS, { prefix, items });\n\t\t\tbreak;\n\t\tcase 'REMOVE':\n\t\t\tdispatch(handlers.REMOVE_NOTIFICATIONS, { prefix, items });\n\t\t\tbreak;\n\t\tcase 'CLEAR':\n\t\t\tdispatch(handlers.CLEAR_NOTIFICATIONS, {});\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n\nexport const setLoadingStateEffect = ({ action, dispatch, updateState }) => {\n\taction.stopPropagation();\n\tupdateState(({ state }) => {\n\t\tconst { loaders_blocking: spinners = [], loaders_non_blocking: bars = [] } =\n\t\t\tstate;\n\t\tconst new_spinners = [...spinners];\n\t\tconst new_bars = [...bars];\n\t\tconst {\n\t\t\tmeta: { id: componentId },\n\t\t\tpayload: {\n\t\t\t\tid: customId,\n\t\t\t\tloading,\n\t\t\t\tlabel,\n\t\t\t\taction: loadingAction,\n\t\t\t\tnonBlocking = false\n\t\t\t}\n\t\t} = action;\n\t\tconst loaderId = customId || componentId;\n\t\tlet stateUpdate;\n\t\tif (!loading) {\n\t\t\tlet index = spinners.findIndex((loader) => loader.loaderId === loaderId);\n\t\t\tif (index !== -1) new_spinners.splice(index, 1);\n\t\t\tstateUpdate = {\n\t\t\t\tpath: 'loaders_blocking',\n\t\t\t\tstart: index,\n\t\t\t\tdeleteCount: 1,\n\t\t\t\toperation: 'splice'\n\t\t\t};\n\n\t\t\tindex = bars.findIndex((loader) => loader.loaderId === loaderId);\n\t\t\tif (index !== -1) {\n\t\t\t\tnew_bars.splice(index, 1);\n\t\t\t\tstateUpdate = {\n\t\t\t\t\tpath: 'loaders_non_blocking',\n\t\t\t\t\tstart: index,\n\t\t\t\t\tdeleteCount: 1,\n\t\t\t\t\toperation: 'splice'\n\t\t\t\t};\n\t\t\t}\n\t\t} else {\n\t\t\tif (!nonBlocking) {\n\t\t\t\tnew_spinners.push({ loaderId, label, action: loadingAction });\n\t\t\t\tstateUpdate = {\n\t\t\t\t\tpath: 'loaders_blocking',\n\t\t\t\t\tvalue: { loaderId, label, action: loadingAction },\n\t\t\t\t\toperation: 'push'\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tnew_bars.push({ loaderId, label, action: loadingAction });\n\t\t\t\tstateUpdate = {\n\t\t\t\t\tpath: 'loaders_non_blocking',\n\t\t\t\t\tvalue: { loaderId, label, action: loadingAction },\n\t\t\t\t\toperation: 'push'\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t\tdispatch(actions.LOADING_STATUS_CHANGED, {\n\t\t\tloaders_blocking: new_spinners,\n\t\t\tloaders_non_blocking: new_bars\n\t\t});\n\t\treturn stateUpdate;\n\t});\n};\n\nexport const setNotificationExpandStateEffect = ({\n\tstate,\n\taction,\n\tupdateState\n}) => {\n\tconst { alertId, value: expanded } = action.payload;\n\tconst { notifications = [] } = state;\n\tconst notificationIndex = notifications.findIndex(\n\t\t(notification) => notification.id === alertId\n\t);\n\tif (notificationIndex >= 0)\n\t\tupdateState({\n\t\t\tpath: `notifications[${notificationIndex}].expanded`,\n\t\t\toperation: 'set',\n\t\t\tvalue: expanded,\n\t\t\tshouldRender: false\n\t\t});\n};\n\nexport default {\n\tname: 'nowPageNotificationsBehavior',\n\tactionHandlers: {\n\t\t[handlers.ADD_NOTIFICATIONS]: {\n\t\t\teffect: addNotificationsEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[handlers.REMOVE_NOTIFICATIONS]: {\n\t\t\teffect: removeNotificationsEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[handlers.CLEAR_NOTIFICATIONS]: {\n\t\t\teffect: clearNotificationsEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[handlers.SET_LOADING_STATE]: {\n\t\t\teffect: setLoadingStateEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[actions.SET_PROPAGATED_NOTIFICATIONS]: {\n\t\t\teffect: setPropagatedNotificationsEffect\n\t\t},\n\t\t'NOW_ALERT_LIST#ITEMS_SET': {\n\t\t\teffect: setNotificationsEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t'NOW_ALERT#EXPANDED_SET': {\n\t\t\teffect: setNotificationExpandStateEffect\n\t\t},\n\t\t'NOW_ALERT#ACTION_CLICKED': {\n\t\t\teffect({ action, dispatch, updateState }) {\n\t\t\t\tconst { authNotification } = action.payload.action;\n\t\t\t\tif (authNotification) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpath: 'authNotification',\n\t\t\t\t\t\tvalue: null,\n\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tconst { payload: { alertId, action: alertAction } = {} } = action;\n\t\t\t\t\tdispatch(actions.NOTIFICATION_ACTION_CLICKED, {\n\t\t\t\t\t\talertId,\n\t\t\t\t\t\taction: { ...alertAction }\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'NOW_LOADER#ACTION_CLICKED': {\n\t\t\teffect({ action, dispatch }) {\n\t\t\t\tdispatch(actions.LOADER_ACTION_CLICKED, { ...action.payload });\n\t\t\t}\n\t\t},\n\t\t'PAGE_NOTIFICATIONS#RECORD_LINK_CLICKED': {\n\t\t\teffect({ action, dispatch }) {\n\t\t\t\tdispatch(actions.RECORD_LINK_CLICKED, { ...action.payload });\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t'NOW_ALERT#AUTO_DISMISS': {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: { alertId }\n\t\t\t\t\t},\n\t\t\t\t\tstate: {\n\t\t\t\t\t\tnotifications = [],\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tinterceptNotifications = false,\n\t\t\t\t\t\t\tpropagateNotifications = false\n\t\t\t\t\t\t} = {}\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\t\t\t\tif (interceptNotifications) {\n\t\t\t\t\tcoeffects.action.stopPropagation();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (propagateNotifications) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst dismissedNotification = notifications.find(\n\t\t\t\t\t({ id }) => id === alertId\n\t\t\t\t);\n\t\t\t\ttrack(coeffects, 'Auto dismiss alert', {\n\t\t\t\t\ttype:\n\t\t\t\t\t\tdismissedNotification?.status ??\n\t\t\t\t\t\tgetStatus(dismissedNotification?.type)\n\t\t\t\t});\n\t\t\t\tcoeffects.action.stopPropagation();\n\t\t\t}\n\t\t}\n\t}\n};\n","import {\n\tcreateCustomElement,\n\tactionTypes,\n\tgetAncestorNode\n} from '@servicenow/ui-core';\nimport { getActiveElement } from '@servicenow/library-enhanced-utils';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { isEmpty, toString, noop } from 'lodash';\nimport slottedPolyfillBehavior from '../slotted-polyfill-behavior';\nimport '../uxf-page-notifications/uxfPageNotifications';\nimport '@servicenow/now-alert';\nimport '@servicenow/now-heading';\nimport '@servicenow/now-template-message';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport { t } from 'sn-translate';\nimport '@servicenow/now-loader';\nimport '@servicenow/now-progress-bar';\nimport { dirtyStateSubscriberBehavior } from '@devsnc/uxf-shared-behaviors';\nimport styles from './styles.scss';\nimport {\n\tariaProgressBarConfig,\n\tfindFocusableElement,\n\tmanageFocus,\n\trestoreFocus,\n\tapplyStyleAndFocus,\n\tremoveEmptyState,\n\tisHighAssuranceNotificationInMessage,\n\tgetIsScreenPreviewFromURL\n} from '../utils';\nimport nowUxfPageNotificationsBehavior from '../behaviors/nowUxfPageNotificationsBehavior';\nimport { notificationHandlers as handlers } from '../uxf-page/constants';\n\nconst {\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_TREE_RENDERED,\n\tARIA_LIVE_REGION_UPDATE_REQUESTED\n} = actionTypes;\n\nconst view = (state, { dispatch, updateState }) => {\n\tconst {\n\t\tproperties: {\n\t\t\tlabel,\n\t\t\tbare,\n\t\t\tscrollable,\n\t\t\theadingLevel,\n\t\t\theadingOnlyVisibleToScreenReaders,\n\t\t\tinterceptNotifications,\n\t\t\tpropagateNotifications\n\t\t},\n\t\tnotifications = [],\n\t\tloaders_blocking = [],\n\t\tloaders_non_blocking = [],\n\t\tactiveElement,\n\t\ttargetRef,\n\t\tauthNotification = null\n\t} = state;\n\tconst isLoading = loaders_blocking.length > 0 || loaders_non_blocking > 0;\n\tlet totalNotifications = [];\n\tif (!interceptNotifications && !propagateNotifications)\n\t\ttotalNotifications = notifications;\n\tconst ariaProps = {\n\t\t'aria-live': 'polite',\n\t\t'aria-busy': `${isLoading}`,\n\t\t'aria-label': loaders_blocking[0]?.label\n\t};\n\tlet nowLoaderObserver = null;\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\tpage: true,\n\t\t\t\tpadded: !bare,\n\t\t\t\tloading: isLoading,\n\t\t\t\t[`scroll-${scrollable}`]: scrollable\n\t\t\t}}\n\t\t\thook-insert={({ elm }) => {\n\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\tif (elm.scrollTop !== 0 || elm.scrollLeft !== 0) {\n\t\t\t\t\t\telm.scrollTo(0, 0);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}}\n\t\t>\n\t\t\t{loaders_blocking.length > 0 ? (\n\t\t\t\t<div className=\"loading-overlay\">\n\t\t\t\t\t<now-loader\n\t\t\t\t\t\t{...ariaProps}\n\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\tlabel={loaders_blocking[0].label}\n\t\t\t\t\t\taction={loaders_blocking[0].action}\n\t\t\t\t\t\thook={{\n\t\t\t\t\t\t\tinsert(vnode) {\n\t\t\t\t\t\t\t\tconst options = {\n\t\t\t\t\t\t\t\t\troot: null, // relative to the viewport\n\t\t\t\t\t\t\t\t\trootMargin: '0px',\n\t\t\t\t\t\t\t\t\tthreshold: 0.1 // 10% of the element is visible\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tconst observerHandler = (entries) => {\n\t\t\t\t\t\t\t\t\tconst intersectingEntry = entries.find(\n\t\t\t\t\t\t\t\t\t\t(entry) => entry.isIntersecting\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tif (intersectingEntry) {\n\t\t\t\t\t\t\t\t\t\tmanageFocus(\n\t\t\t\t\t\t\t\t\t\t\t'now-loader',\n\t\t\t\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t\t\t\t\ttargetRef,\n\t\t\t\t\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tnowLoaderObserver = new IntersectionObserver(\n\t\t\t\t\t\t\t\t\tobserverHandler,\n\t\t\t\t\t\t\t\t\toptions\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tnowLoaderObserver.observe(vnode.elm);\n\t\t\t\t\t\t\t\tif (loaders_blocking[0]?.label) {\n\t\t\t\t\t\t\t\t\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\t\t\t\t\t\t\t\tmessage: loaders_blocking[0]?.label,\n\t\t\t\t\t\t\t\t\t\ttype: 'polite'\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdestroy(vnode) {\n\t\t\t\t\t\t\t\trestoreFocus(activeElement);\n\t\t\t\t\t\t\t\tif (nowLoaderObserver) nowLoaderObserver.unobserve(vnode.elm);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t></now-loader>\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t\t{loaders_blocking.length === 0 && loaders_non_blocking.length > 0 ? (\n\t\t\t\t<now-progress-bar\n\t\t\t\t\t{...ariaProgressBarConfig(loaders_non_blocking)}\n\t\t\t\t\tpathType=\"initial\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t></now-progress-bar>\n\t\t\t) : null}\n\t\t\t<sn-uxf-page-notifications\n\t\t\t\tclassName=\"notifications\"\n\t\t\t\tnotifications={totalNotifications}\n\t\t\t\tauthNotification={authNotification}\n\t\t\t\ttargetRef={targetRef}\n\t\t\t\taria-hidden={\n\t\t\t\t\ttotalNotifications.length || authNotification ? 'false' : 'true'\n\t\t\t\t}\n\t\t\t></sn-uxf-page-notifications>\n\t\t\t{!isEmpty(label) && (\n\t\t\t\t<now-heading\n\t\t\t\t\tclass={{\n\t\t\t\t\t\theading: true,\n\t\t\t\t\t\t'only-visible-to-screen-readers': headingOnlyVisibleToScreenReaders\n\t\t\t\t\t}}\n\t\t\t\t\tlevel={toString(headingLevel)}\n\t\t\t\t\tvariant=\"header-primary\"\n\t\t\t\t\twontWrap={true}\n\t\t\t\t\tlabel={toString(label)}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<slot on-slotchange={(e) => removeEmptyState(e.target)}>\n\t\t\t\t<now-template-message-empty-state\n\t\t\t\t\theading={{ label: t('No content available.') }}\n\t\t\t\t\tcontent={t(\n\t\t\t\t\t\t'Contact your ServiceNow administrator for more information.'\n\t\t\t\t\t)}\n\t\t\t\t\tillustration=\"no-data\"\n\t\t\t\t/>\n\t\t\t</slot>\n\t\t</div>\n\t);\n};\n\nexport const getAuthNotificationEffect = (updateState, payload) => {\n\tconst { notifications } = payload;\n\tif (Array.isArray(notifications) && notifications.length > 0) {\n\t\tconst authNotification = notifications.find((notification) =>\n\t\t\tisHighAssuranceNotificationInMessage(\n\t\t\t\tnotification?.text || notification?.message || notification?.content\n\t\t\t)\n\t\t);\n\t\tif (authNotification) {\n\t\t\tupdateState(({ state }) => {\n\t\t\t\tif (!state.authNotification) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tpath: 'authNotification',\n\t\t\t\t\t\tvalue:\n\t\t\t\t\t\t\tauthNotification.text ||\n\t\t\t\t\t\t\tauthNotification.message ||\n\t\t\t\t\t\t\tauthNotification.content,\n\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n};\n\nconst parseAlertTypes = (alertTypes) => {\n\tif (typeof alertTypes !== 'object' || !alertTypes) return null;\n\n\treturn new Map(\n\t\tObject.entries(alertTypes).filter(([, alert]) => alert?.enabled === true)\n\t);\n};\n\nconst loadAutoDismissalExpSettings = (targetRef) => {\n\tconst jsonStr =\n\t\tgetAncestorNode(targetRef)?.nowAppProps?.alert_auto_dismiss_config;\n\tif (!jsonStr) return null;\n\ttry {\n\t\tconst parsedJson = JSON.parse(jsonStr);\n\t\treturn new Map(\n\t\t\tObject.entries(parsedJson).map(([key, value]) => [\n\t\t\t\tkey,\n\t\t\t\tkey === 'alertTypes' ? parseAlertTypes(value) : value\n\t\t\t])\n\t\t);\n\t} catch {\n\t\treturn null;\n\t}\n};\n\nconst TAG_NAME = 'now-uxf-page';\n\ncreateCustomElement(TAG_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tbehaviors: [\n\t\tslottedPolyfillBehavior,\n\t\trtlBehavior,\n\t\tnowUxfPageNotificationsBehavior,\n\t\t{\n\t\t\tbehavior: dirtyStateSubscriberBehavior,\n\t\t\toptions: {\n\t\t\t\tcallbackFn: noop\n\t\t\t}\n\t\t}\n\t],\n\tproperties: {\n\t\tlabel: { default: '' },\n\t\tbare: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tscrollable: {\n\t\t\tdefault: 'y'\n\t\t},\n\t\theadingLevel: { default: 1 },\n\t\theadingOnlyVisibleToScreenReaders: { default: false },\n\t\tinterceptNotifications: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tpropagateNotifications: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_TREE_READY]({ host, updateState }) {\n\t\t\tupdateState({\n\t\t\t\ttargetRef: host,\n\t\t\t\texpLevelAutoDismissalSettings: loadAutoDismissalExpSettings(host)\n\t\t\t});\n\t\t},\n\t\t[COMPONENT_TREE_RENDERED]() {\n\t\t\tif (getActiveElement()?.nodeName === 'BODY') {\n\t\t\t\tconst headingElement = findFocusableElement(\n\t\t\t\t\t'now-heading',\n\t\t\t\t\t'h1',\n\t\t\t\t\tdocument.body\n\t\t\t\t);\n\t\t\t\tif (document.activeElement !== headingElement) {\n\t\t\t\t\tapplyStyleAndFocus(headingElement);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: [handlers.HTTP_EFFECT_SESSION_NOTIFICATIONS_RECEIVED],\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\thost,\n\t\t\t\t\taction: { payload },\n\t\t\t\t\tupdateState\n\t\t\t\t} = coeffects;\n\t\t\t\t// checks if the page is in preview mode\n\t\t\t\tif (getIsScreenPreviewFromURL()) return;\n\t\t\t\tconst parentNode = getAncestorNode(host);\n\t\t\t\tif (!parentNode) return;\n\t\t\t\tconst ancestorNodeParent = getAncestorNode(parentNode);\n\t\t\t\tif (\n\t\t\t\t\tancestorNodeParent?.tagName?.toLowerCase() === 'sn-canvas-screen' &&\n\t\t\t\t\tancestorNodeParent.screenData?.isActive\n\t\t\t\t) {\n\t\t\t\t\tgetAuthNotificationEffect(updateState, payload);\n\t\t\t\t}\n\t\t\t},\n\t\t\ttarget: document\n\t\t}\n\t],\n\tinitialState: {\n\t\tnotifications: [],\n\t\tauthNotification: null,\n\t\tloaders_blocking: [],\n\t\tloaders_non_blocking: [],\n\t\tactiveElement: null,\n\t\texpLevelAutoDismissalSettings: null,\n\t\ttargetRef: null,\n\t\tnotificationMessages: {}\n\t},\n\tstyles\n});\n\nexport default TAG_NAME;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { t } from 'sn-translate';\nimport '@servicenow/now-collapse';\nimport '@servicenow/now-heading';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-tooltip';\nimport { isEmpty, toString } from 'lodash';\nimport styles from './styles.scss';\nimport '@servicenow/now-template-message';\nimport { ariaHeading, ariaLabel, removeEmptyState } from '../utils';\nimport rtlBehavior from '@servicenow/behavior-rtl';\n\n/**\n * Dispatched action when the collapsible container is interacted by the user.\n */\nconst UXF_PAGE_COLLAPSED_SET = 'NOW-UXF-PAGE-CONTAINER#COLLAPSED_SET';\nconst NO_CONTENT_HEADING = t('No content available.');\nconst NO_CONTENT_MESSAGE = t(\n\t'Contact your ServiceNow administrator for more information.'\n);\n\n/**\n * Function for rendering the page container content\n * @param {string} label The heading label\n * @param {boolean} hideEmptyStateUi Whether to display an empty state message\n */\nconst renderContent = (label, hideEmptyStateUi) => (\n\t<Fragment>\n\t\t{label && (\n\t\t\t<now-heading\n\t\t\t\tclassName=\"main-heading\"\n\t\t\t\tlabel={toString(label)}\n\t\t\t\tlevel=\"2\"\n\t\t\t\tvariant=\"header-secondary\"\n\t\t\t\twontWrap={true}\n\t\t\t/>\n\t\t)}\n\t\t{hideEmptyStateUi ? (\n\t\t\t<slot />\n\t\t) : (\n\t\t\t<slot on-slotchange={(e) => removeEmptyState(e.target)}>\n\t\t\t\t<now-template-message-empty-state\n\t\t\t\t\theading={NO_CONTENT_HEADING}\n\t\t\t\t\tcontent={NO_CONTENT_MESSAGE}\n\t\t\t\t\tillustration=\"no-data\"\n\t\t\t\t/>\n\t\t\t</slot>\n\t\t)}\n\t</Fragment>\n);\n\n/**\n * Function for rendering a tool tip for chevron button in the case of a collapsable container.\n * @param {*} state\n * @param {boolean} canCollapse Whether the container can be collapsed\n * @param {boolean} collapsed The initial state of the container\n * @returns A now-tooltip for the chevron button if the container is collapsable, null otherwise.\n */\nexport const renderTooltip = (state, canCollapse, collapsed) => {\n\tconst {\n\t\tproperties: { expandButtonTooltipContent, collapseButtonTooltipContent }\n\t} = state;\n\tconst tooltipMessage = collapsed\n\t\t? expandButtonTooltipContent\n\t\t: collapseButtonTooltipContent;\n\treturn canCollapse ? (\n\t\t<now-tooltip\n\t\t\tid={`tooltip-${state.componentId}`}\n\t\t\ttarget-ref={state.targetRef}\n\t\t\tcontent={tooltipMessage}\n\t\t\tposition={['top-start']}\n\t\t/>\n\t) : null;\n};\n\n/**\n * Callback function for determining whether a modal has been hoisted\n * @param {*} props state properties of the container\n * @returns true when it is a modal that is not hoisted\n */\nexport const unHoistCanvasModal = (props) =>\n\tprops.isModalContainer &&\n\t'nowHoist' in props &&\n\t'nowHoistAppendTo' in props &&\n\tisEmpty(props.nowHoist) &&\n\tisEmpty(props.nowHoistAppendTo);\n\n/**\n * Callback function that generates the view of the container.\n * @param {*} state\n * @param {{updateProperties: function, updateState:function, dispatch:function}} helpers\n */\nconst view = (state, { updateProperties, updateState, dispatch }) => {\n\tconst {\n\t\tproperties: {\n\t\t\tlabel,\n\t\t\tbare,\n\t\t\ttype,\n\t\t\tbgvar,\n\t\t\tborder,\n\t\t\tcanCollapse,\n\t\t\tcollapsed,\n\t\t\texpandButtonTooltipContent,\n\t\t\tcollapseButtonTooltipContent,\n\t\t\tariaRegionName,\n\t\t\tariaRegionHeadingLevel,\n\t\t\tincludeAriaHeading,\n\t\t\thideEmptyStateUi\n\t\t}\n\t} = state;\n\n\tif (unHoistCanvasModal(state.properties)) return;\n\n\tconst setTargetRef = (ref) =>\n\t\tsetTimeout(() => updateState({ targetRef: ref }));\n\n\tlet bg;\n\tif (!canCollapse) {\n\t\tif (bgvar) bg = `variant-${bgvar}`;\n\t\telse if (type === 'visualizations') {\n\t\t\tbg = 'variant-neutral-1';\n\t\t}\n\t}\n\n\tlet bordered;\n\tif (border && !canCollapse) bordered = true;\n\n\treturn (\n\t\t<div\n\t\t\trole=\"region\"\n\t\t\t{...ariaLabel(state.componentId, ariaRegionName, includeAriaHeading)}\n\t\t\tclass={{\n\t\t\t\tcontainer: true,\n\t\t\t\tpadded: !bare,\n\t\t\t\tbordered,\n\t\t\t\t[bg]: bg,\n\t\t\t\tcollapsible: canCollapse,\n\t\t\t\tcollapsed,\n\t\t\t\t'expand-container': !(collapsed || canCollapse)\n\t\t\t}}\n\t\t>\n\t\t\t{includeAriaHeading\n\t\t\t\t? ariaHeading(state.componentId, ariaRegionName, ariaRegionHeadingLevel)\n\t\t\t\t: null}\n\t\t\t{!canCollapse ? null : (\n\t\t\t\t// nds-scanner-disable-start native-element\n\t\t\t\t<button\n\t\t\t\t\tclassName=\"collapse-trigger\"\n\t\t\t\t\taria-expanded={!collapsed ? 'true' : 'false'}\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\tupdateProperties({ collapsed: !collapsed });\n\t\t\t\t\t\tdispatch(UXF_PAGE_COLLAPSED_SET, {\n\t\t\t\t\t\t\tvalue: !collapsed\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t\thook-insert={({ elm }) => setTargetRef(elm)}\n\t\t\t\t\thook-destroy={() => setTargetRef(null)}\n\t\t\t\t\taria-describedby={`tooltip-${state.componentId}`}\n\t\t\t\t\taria-label={\n\t\t\t\t\t\tcollapsed\n\t\t\t\t\t\t\t? expandButtonTooltipContent\n\t\t\t\t\t\t\t: collapseButtonTooltipContent\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\ticon={collapsed ? 'chevron-down-fill' : 'chevron-up-fill'}\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t></now-icon>\n\t\t\t\t\t{isEmpty(label) ? null : (\n\t\t\t\t\t\t<now-heading\n\t\t\t\t\t\t\tlabel={toString(label)}\n\t\t\t\t\t\t\tlevel=\"2\"\n\t\t\t\t\t\t\tvariant=\"title-secondary\"\n\t\t\t\t\t\t\twontWrap={true}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t<hr />\n\t\t\t\t</button>\n\t\t\t\t// nds-scanner-disable-end\n\t\t\t)}\n\t\t\t{canCollapse ? (\n\t\t\t\t<now-collapse expanded={!collapsed}>\n\t\t\t\t\t{renderContent(label, hideEmptyStateUi)}\n\t\t\t\t</now-collapse>\n\t\t\t) : (\n\t\t\t\t<Fragment>{renderContent(label, hideEmptyStateUi)}</Fragment>\n\t\t\t)}\n\t\t\t{renderTooltip(state, canCollapse, collapsed)}\n\t\t</div>\n\t);\n};\n\n/**\n * Represents the container's element name following ServiceNow naming convention\n */\nconst TAG_NAME = 'now-uxf-page-container';\n\n/**\n * ## UXF Page Container:\n *\n * A UXF owned component responsible for being a container for various other components on pages built using seismic.\n *\n * @summary A page container that is used for seismic pages that acts as a base or container for various components in the UI.\n * @seismicElement now-uxf-page-container\n */\ncreateCustomElement(TAG_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tbehaviors: [rtlBehavior],\n\tproperties: {\n\t\t/**\n\t\t * The header of the now-uxf-page-container\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * Applies the padded class when false\n\t\t * @type {boolean}\n\t\t */\n\t\tbare: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\ttype: {},\n\t\t/**\n\t\t * The background color varient for now-uxf-page-container\n\t\t * Neutral-0 or Neutral-1\n\t\t * @type {(\"Neutral-0\" | \"Neutral-1\")}\n\t\t */\n\t\tbgvar: {},\n\n\t\t/**\n\t\t * Whether or not the container has a border\n\t\t * @type {boolean}\n\t\t */\n\t\tborder: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Sets the container state as collapsed or not\n\t\t * @type {boolean}\n\t\t */\n\t\tcollapsed: {\n\t\t\tdefault: false,\n\t\t\treflect: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Makes the container collapsible with a chevron button and 2 levels of header text\n\t\t * @type {boolean}\n\t\t */\n\t\tcanCollapse: {\n\t\t\tdefault: false,\n\t\t\treflect: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Whether it is a modal, or not.\n\t\t * @type {boolean}\n\t\t */\n\t\tisModalContainer: {\n\t\t\tdefault: false,\n\t\t\treflect: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Text for the content of the tool tip upon hovering over the uncollapse icon\n\t\t * @type {string}\n\t\t */\n\t\texpandButtonTooltipContent: {\n\t\t\tdefault: t('Expand container to show contents'),\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Text for the content of the tool tip upon hovering over the collapse icon\n\t\t * @type {string}\n\t\t */\n\t\tcollapseButtonTooltipContent: {\n\t\t\tdefault: t('Collapse container to hide contents'),\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Heading/Name for ARIA Landmark region\n\t\t * @type {string}\n\t\t */\n\t\tariaRegionName: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * When true, will include a non visible heading in the ARIA region.\n\t\t * @type {boolean}\n\t\t */\n\t\tincludeAriaHeading: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Defines the level of the non visible HTML heading element within ARIA region.\n\t\t * @type {('1'|'2'|'3'|'4'|'5'|'6')}\n\t\t */\n\t\tariaRegionHeadingLevel: {\n\t\t\tdefault: '1',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['1', '2', '3', '4', '5', '6']\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * When true, the empty state UI will be hidden even in empty states\n\t\t * @type {boolean}\n\t\t */\n\t\thideEmptyStateUi: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t}\n\t},\n\tstyles\n});\n\nexport default TAG_NAME;\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-template-message';\nimport { t } from 'sn-translate';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport styles from './styles.scss';\nimport { uxfViewportBehavior } from '@devsnc/library-uxf';\nimport { removeEmptyState } from '../utils';\n\nconst { COMPONENT_CONNECTED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport const requestRoute = ({ dispatch, properties }) => {\n\tconst { activeRoute, viewportRoutes, headless } = properties;\n\n\t// When the component is used in headless mode (by macroponent factory), ignore this handler\n\tif (headless) return;\n\n\t// for now we only request the first configured route\n\tconst route = viewportRoutes ? Object.keys(viewportRoutes)[0] : null;\n\tconst isNewRoute = route !== get(activeRoute, ['routeType']);\n\n\tif (route && isNewRoute) {\n\t\tdispatch('VIEWPORT_ROUTE_REQUESTED', { route });\n\t}\n};\n\nexport const propertyChangedHandler = (coeffects) => {\n\tconst { name } = coeffects.action.payload;\n\n\tif (name === 'viewportRoutes') {\n\t\trequestRoute(coeffects);\n\t}\n};\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tscrollable,\n\t\t\theight,\n\t\t\twidth,\n\t\t\tviewportRoutes,\n\t\t\theadless,\n\t\t\thideEmptyStateUi\n\t\t}\n\t} = state;\n\n\tconst style = {\n\t\theight,\n\t\twidth\n\t};\n\n\t// uxf runtime assumes all metadata-driven viewports use slot=\"viewport\". We\n\t// need to keep the default slot around for backwards compatibility and in\n\t// cases where this component is used programatically/outside uxf\n\tconst hasRoutes = !isEmpty(viewportRoutes);\n\tconst slotName = hasRoutes || headless ? 'viewport' : undefined;\n\n\treturn (\n\t\t// nds-scanner-disable-start inline-styles\n\t\t<div\n\t\t\tclass={{ viewport: true, [`scroll-${scrollable}`]: scrollable }}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{hideEmptyStateUi ? (\n\t\t\t\t<slot name={slotName} />\n\t\t\t) : (\n\t\t\t\t<slot name={slotName} on-slotchange={(e) => removeEmptyState(e.target)}>\n\t\t\t\t\t<now-template-message-empty-state\n\t\t\t\t\t\theading={{ label: t('No content available.') }}\n\t\t\t\t\t\tcontent={t(\n\t\t\t\t\t\t\t'Contact your ServiceNow administrator for more information.'\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tillustration=\"no-data\"\n\t\t\t\t\t/>\n\t\t\t\t</slot>\n\t\t\t)}\n\t\t</div>\n\t\t// nds-scanner-disable-end\n\t);\n};\n\nconst TAG_NAME = 'now-uxf-viewport';\ncreateCustomElement(TAG_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tproperties: {\n\t\tscrollable: {},\n\t\theight: {},\n\t\twidth: {},\n\t\theadless: {\n\t\t\tdefault: false\n\t\t},\n\t\thideEmptyStateUi: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t/**\n\t\t * When this component is given a map of routes, we need to go request that\n\t\t * one of those routes gets loaded.\n\t\t */\n\t\t[COMPONENT_CONNECTED]: requestRoute,\n\t\t[COMPONENT_PROPERTY_CHANGED]: propertyChangedHandler\n\t},\n\tbehaviors: [uxfViewportBehavior],\n\tstyles\n});\n\nexport default TAG_NAME;\n","import { t } from 'sn-translate';\n\nexport const DEFAULT_404_MESSAGE = t(\n\t'The page you are looking for could not be found'\n);\nexport const VIEWPORT_SCREEN_LABEL = t('Screen content');\nexport const VIEWPORT_SCREEN_LOADING_MESSAGE = t('Loading...');\n\nexport const TAG_NAME = 'sn-uxf-viewport-screen';\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-heading';\nimport styles from './styles.scss';\nimport { uxfViewportBehavior } from '@devsnc/library-uxf';\nimport {\n\tVIEWPORT_SCREEN_LABEL,\n\tVIEWPORT_SCREEN_LOADING_MESSAGE,\n\tDEFAULT_404_MESSAGE,\n\tTAG_NAME\n} from './constants';\n\nexport const Default404 = () => (\n\t<now-heading label={DEFAULT_404_MESSAGE} level=\"1\" variant=\"title-primary\" />\n);\n\nexport const view = (state) => {\n\tconst { showDefault404 } = state;\n\treturn (\n\t\t<main className=\"sn-uxf-viewport-screen\" aria-label={VIEWPORT_SCREEN_LABEL}>\n\t\t\t<slot name=\"viewport\">\n\t\t\t\t<span>{VIEWPORT_SCREEN_LOADING_MESSAGE}</span>\n\t\t\t\t{showDefault404 ? <Default404 /> : null}\n\t\t\t</slot>\n\t\t</main>\n\t);\n};\n\ncreateCustomElement(TAG_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: uxfViewportBehavior,\n\t\t\toptions: { canSyncWithURL: true }\n\t\t}\n\t],\n\tstyles\n});\n\nexport default TAG_NAME;\n","export const VIEWPORT_ROUTE_REQUESTED = 'VIEWPORT_ROUTE_REQUESTED';\nexport const VIEWPORT_ROUTE_DISMISSED = 'VIEWPORT_ROUTE_DISMISSED';\nexport const LOAD_VIEWPORT_CONTENT = 'LOAD_VIEWPORT_CONTENT';\nexport const HOIST_VIEWPORT_CONTENT = 'HOIST_VIEWPORT_CONTENT';\nexport const MODAL_SELECTED = 'MODAL_SELECTED';\nexport const CANVAS_MODAL_OPENED = 'CANVAS_MODAL#OPENED';\nexport const CANVAS_MODAL_CLOSED = 'CANVAS_MODAL#CLOSED';\nexport const CANVAS_MODAL_RESIZED = 'CANVAS_MODAL#RESIZED';\nexport const MODAL_CONTENT_LOADED =\n\t'NOW_UXF_VIEWPORT_MODAL#MODAL_CONTENT_LOADED';\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nconst { COMPONENT_RENDERED } = actionTypes;\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { uxfViewportBehavior } from '@devsnc/library-uxf';\nimport {\n\tVIEWPORT_ROUTE_REQUESTED,\n\tVIEWPORT_ROUTE_DISMISSED,\n\tLOAD_VIEWPORT_CONTENT,\n\tHOIST_VIEWPORT_CONTENT,\n\tMODAL_SELECTED,\n\tCANVAS_MODAL_OPENED,\n\tCANVAS_MODAL_CLOSED,\n\tCANVAS_MODAL_RESIZED\n} from './constants';\n\nconst getCanvasModalAction = (showModal) =>\n\tshowModal ? CANVAS_MODAL_OPENED : CANVAS_MODAL_CLOSED;\n\nconst TAG_NAME = 'now-uxf-modal-viewport';\ncreateCustomElement(TAG_NAME, {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview: () => <slot name=\"viewport\" />,\n\tbehaviors: [uxfViewportBehavior],\n\tactionHandlers: {\n\t\t[COMPONENT_RENDERED]({ host, action, dispatch, properties }) {\n\t\t\tconst { previousRenderProperties: prevProps } = action.payload;\n\t\t\tconst { contents, activeRoute } = properties;\n\n\t\t\tif (contents && contents.route && contents !== prevProps.contents) {\n\t\t\t\tdispatch(\n\t\t\t\t\tLOAD_VIEWPORT_CONTENT,\n\t\t\t\t\t{ contents },\n\t\t\t\t\t{ ...(contents?.meta ?? {}) }\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (activeRoute && activeRoute !== prevProps.activeRoute) {\n\t\t\t\tconst elementRef = host.nowRootNode\n\t\t\t\t\t.querySelector('slot')\n\t\t\t\t\t.assignedElements()[0];\n\t\t\t\tdispatch(\n\t\t\t\t\tHOIST_VIEWPORT_CONTENT,\n\t\t\t\t\t{ elementRef },\n\t\t\t\t\t{ ...(contents?.meta ?? {}) }\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[LOAD_VIEWPORT_CONTENT]: {\n\t\t\tmodifier: { name: 'debounce', delay: 10 },\n\t\t\tstopPropagation: true,\n\t\t\teffect({ action, dispatch }) {\n\t\t\t\tconst {\n\t\t\t\t\tpayload: { contents = {} },\n\t\t\t\t\tmeta: { uxfMeta = {} }\n\t\t\t\t} = action;\n\t\t\t\tif (contents.route) {\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tVIEWPORT_ROUTE_REQUESTED,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...contents\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tuxfMeta\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[HOIST_VIEWPORT_CONTENT]: {\n\t\t\tstopPropagation: true,\n\t\t\teffect({ action, dispatch, properties }) {\n\t\t\t\tconst {\n\t\t\t\t\tpayload: { elementRef },\n\t\t\t\t\tmeta: { uxfMeta = {} }\n\t\t\t\t} = action;\n\n\t\t\t\tconst {\n\t\t\t\t\tactiveRoute,\n\t\t\t\t\tdisplayOptions = {},\n\t\t\t\t\tbare,\n\t\t\t\t\tsize,\n\t\t\t\t\tdisableDismiss,\n\t\t\t\t\tenableResizable,\n\t\t\t\t\tresizableMinHeight,\n\t\t\t\t\tresizableMaxHeight,\n\t\t\t\t\tresizableMinWidth,\n\t\t\t\t\tresizableMaxWidth\n\t\t\t\t} = properties;\n\n\t\t\t\tif (!elementRef) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// When this viewport is hoisted to the modal, it needs to use the\n\t\t\t\t// default slot rather than the `slot=\"viewport\"` that UXF uses\n\t\t\t\telementRef.setAttribute('slot', '');\n\n\t\t\t\t// Watch for when the viewport contents is no longer hoisted. This\n\t\t\t\t// happens when the user dismisses the modal, and at that point we need\n\t\t\t\t// to tell UXF that this screen has been dismissed\n\t\t\t\tconst observer = new MutationObserver((mutations) => {\n\t\t\t\t\tfor (const mutation of mutations) {\n\t\t\t\t\t\tif (!mutation.target.nowHoist) {\n\t\t\t\t\t\t\tobserver.disconnect();\n\n\t\t\t\t\t\t\tdispatch(VIEWPORT_ROUTE_DISMISSED, {\n\t\t\t\t\t\t\t\troute: activeRoute.routeType,\n\t\t\t\t\t\t\t\tfields: activeRoute.fields\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst height = mutation.target.getAttribute('height');\n\t\t\t\t\t\t\tconst width = mutation.target.getAttribute('width');\n\n\t\t\t\t\t\t\tif (height != null && width != null) {\n\t\t\t\t\t\t\t\tdispatch(CANVAS_MODAL_RESIZED, {\n\t\t\t\t\t\t\t\t\theight,\n\t\t\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\t\t\tfields: activeRoute.fields\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tobserver.observe(elementRef, {\n\t\t\t\t\tattributes: true,\n\t\t\t\t\tattributeFilter: ['now-hoist', 'height', 'width']\n\t\t\t\t});\n\n\t\t\t\tconst payload = {\n\t\t\t\t\tmodalId: elementRef.getAttribute('now-id'),\n\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\tsize,\n\t\t\t\t\t\tdisableDismiss,\n\t\t\t\t\t\tresizableConfig: {\n\t\t\t\t\t\t\tenableResizable,\n\t\t\t\t\t\t\tresizableMinHeight,\n\t\t\t\t\t\t\tresizableMaxHeight,\n\t\t\t\t\t\t\tresizableMinWidth,\n\t\t\t\t\t\t\tresizableMaxWidth\n\t\t\t\t\t\t},\n\t\t\t\t\t\t...displayOptions\n\t\t\t\t\t},\n\t\t\t\t\tbare: Boolean(bare)\n\t\t\t\t};\n\n\t\t\t\t// This should be removed once we can verify that event mappings for this works.\n\t\t\t\tdispatch(\n\t\t\t\t\t'MODAL_SELECTED',\n\t\t\t\t\t{\n\t\t\t\t\t\t...payload,\n\t\t\t\t\t\tshowModal: true\n\t\t\t\t\t},\n\t\t\t\t\t{ elementRef, uxfMeta }\n\t\t\t\t);\n\t\t\t\tdispatch('NOW_UXF_VIEWPORT_MODAL#MODAL_CONTENT_LOADED', payload, {\n\t\t\t\t\tuxfMeta\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[MODAL_SELECTED]({ action, dispatch, properties: { nowId } }) {\n\t\t\tconst {\n\t\t\t\tpayload: { showModal, modalId },\n\t\t\t\tmeta: { id, uxfMeta = {} }\n\t\t\t} = action;\n\t\t\t// we only need to dispatch CANVAS_MODAL event when MODAL_SELECTED dispatched from a subpage in the modal;\n\t\t\t// otherwise canvas will already dispatch that.\n\t\t\tif (nowId === id) return;\n\n\t\t\tdispatch(\n\t\t\t\tgetCanvasModalAction(showModal),\n\t\t\t\t{ modalInstanceId: modalId },\n\t\t\t\t{ uxfMeta }\n\t\t\t);\n\t\t}\n\t},\n\tproperties: {\n\t\tcontents: {},\n\t\tdisplayOptions: {},\n\t\tsize: {\n\t\t\tdefault: 'md'\n\t\t},\n\t\tdisableDismiss: {\n\t\t\tdefault: false\n\t\t},\n\t\tenableResizable: {\n\t\t\tdefault: false\n\t\t},\n\t\tresizableMinWidth: {\n\t\t\tdefault: 420\n\t\t},\n\t\tresizableMinHeight: {\n\t\t\tdefault: 133\n\t\t},\n\t\tresizableMaxWidth: {\n\t\t\tdefault: null\n\t\t},\n\t\tresizableMaxHeight: {\n\t\t\tdefault: null\n\t\t},\n\t\tbare: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t}\n\t}\n});\n\nexport default TAG_NAME;\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport { layerEvents } from '@servicenow/library-enhanced-utils';\nimport '@servicenow/now-button';\nimport { t } from 'sn-translate';\nimport styles from './styles.scss';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport { getAriaAttributes } from './utils';\nimport resizableBehavior from '@servicenow/behavior-resizable';\n\nconst { COMPONENT_RENDERED } = actionTypes;\nconst DISMISS_ACTION = 'NOW_UXF_BARE_MODAL#DISMISSED';\nconst UXF_BARE_MODAL_RESIZED = 'NOW_UXF_BARE_MODAL#RESIZED';\nconst MODAL_RESIZE_END = 'PRIVATE#RESIZABLE_END';\n\nexport const TAG_NAME = 'now-uxf-bare-modal';\n\nexport const componentRenderedHandler = ({\n\taction,\n\tproperties,\n\tdispatch,\n\thost\n}) => {\n\tconst { previousRenderProperties: prevProps } = action.payload;\n\tconst { opened, disableDismiss, nowId: id, customSize = {} } = properties;\n\tconst { height, width } = customSize;\n\tconst isOpening = opened && !prevProps.opened && !disableDismiss;\n\tconst isClosing = !opened && prevProps.opened;\n\tconst isBecomingDismissable =\n\t\t!disableDismiss && prevProps.disableDismiss && opened;\n\tconst isBecomingNonDismissable = disableDismiss && !prevProps.disableDismiss;\n\n\tif (isOpening && height && width) {\n\t\tconst bareModal = host.shadowRoot.querySelector('.now-uxf-bare-modal-body');\n\t\tbareModal.style.height = `${height}px`;\n\t\tbareModal.style.width = `${width}px`;\n\t}\n\tif (isOpening || isBecomingDismissable) {\n\t\tlayerEvents.add({\n\t\t\tid,\n\t\t\tevents: ['keydown'],\n\t\t\tcallback(event) {\n\t\t\t\tif (event.key !== 'Escape') return;\n\t\t\t\tdocument.activeElement.blur();\n\t\t\t\tdispatch(DISMISS_ACTION, { reason: 'keyboard-escape' });\n\t\t\t}\n\t\t});\n\t} else if (isClosing || isBecomingNonDismissable) {\n\t\tlayerEvents.remove(id);\n\t}\n};\n\nconst view = (state, { dispatch }) => {\n\tconst { properties } = state;\n\tconst {\n\t\tsize,\n\t\topened,\n\t\tdisableDismiss,\n\t\thideDismissPadding,\n\t\toverlayPositionAbsolute,\n\t\tcustomSize,\n\t\tresizableConfig: { enableResizable } = { enableResizable: false }\n\t} = properties;\n\tif (!opened) {\n\t\treturn;\n\t}\n\tconst dialogSize = size === 'custom' ? 'md' : size;\n\tconst isCustomSize = customSize && customSize.height && customSize.width;\n\tconst hidePadding = hideDismissPadding ? 'hide-padding' : '';\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'now-uxf-bare-modal-overlay': true,\n\t\t\t\t'now-uxf-bare-modal-absolute-overlay': overlayPositionAbsolute\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\trole=\"dialog\"\n\t\t\t\t{...getAriaAttributes(properties)}\n\t\t\t\tclass={{\n\t\t\t\t\t'now-uxf-bare-modal': true,\n\t\t\t\t\t[`-${dialogSize}`]: !isCustomSize\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={`now-uxf-bare-modal-body ${isCustomSize ? 'custom' : ''}`}\n\t\t\t\t\tstyle={\n\t\t\t\t\t\tisCustomSize\n\t\t\t\t\t\t\t? { width: customSize.width, height: customSize.height }\n\t\t\t\t\t\t\t: {}\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{disableDismiss ? undefined : (\n\t\t\t\t\t\t<div className={`now-uxf-bare-modal-header ${hidePadding}`}>\n\t\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\t\tclassName=\"now-uxf-bare-modal-dismiss\"\n\t\t\t\t\t\t\t\ticon=\"close-fill\"\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\t\t\thide-padding\n\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\tconfig-aria={{ 'aria-label': t('Close dialog') }}\n\t\t\t\t\t\t\t\ttooltip-content={t('Close dialog')}\n\t\t\t\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\t\t\t\tdispatch(DISMISS_ACTION, { reason: 'dismiss-icon' })\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{enableResizable ? (\n\t\t\t\t\t\t<div className=\"now-uxf-bare-modal-resizable-container\">\n\t\t\t\t\t\t\t<slot className=\"now-uxf-bare-modal-slot\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<slot className=\"now-uxf-bare-modal-slot\" />\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\n/**\n * A modal is a container that displays over application content to give\n * critical information or to ask users to complete a task in the middle of a\n * workflow. When the modal opens, users cannot access the application.\n *\n * Note: Set `aria-hidden=\"true\"` on all non-modal elements when now-modal is\n * open to provide the correct experience for screen reader users.\n *\n * ```jsx\n * <now-modal\n * \topened={openedApp}\n * \tsize='sm'\n * \theader-label='Hello!'\n * \tcontent='And this is the body of the modal.'\n * \tfooter-actions='[\n * \t\t{\n * \t\t\t\"variant\": \"primary\",\n * \t\t\t\"label\": \"Save\"\n * \t\t}\n * \t]'\n * />\n * ```\n *\n * @seismicElement now-modal\n * @summary A popup component that temporarily blocks underlying content to provide information or ask the user for a decision.\n */\ncreateCustomElement(TAG_NAME, {\n\tproperties: {\n\t\t/**\n\t\t * Sets the width of the modal container. If \"fullscreen\", the container\n\t\t * will fill to fit the screen. If \"content\", the width will shrink to fit\n\t\t * the content. If size is \"custom\" the size defaults to \"md\" or uses the\n\t\t * customSize property if that is provided.\n\t\t * @type {('sm'|'md'|'lg'|'fullscreen'|'content')}\n\t\t */\n\t\tsize: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['sm', 'md', 'lg', 'fullscreen', 'auto', 'custom']\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * When true, the modal is open.\n\t\t * @type {boolean}\n\t\t */\n\t\topened: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * When true, the dismiss icon and Escape keydown handler are omitted. In\n\t\t * this case, consuming components must provide some mechanism to close the\n\t\t * modal.\n\t\t * @type {boolean}\n\t\t */\n\t\tdisableDismiss: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Removes padding around dismiss button\n\t\t * @type {boolean}\n\t\t */\n\t\thideDismissPadding: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * enableResizable : @type {boolean} When true, resize handles will be shown on the borders of the modal to support resizing.\n\t\t * resizableMaxHeight : @type {number} Maximum height in pixels that the target element can be resized to. Default value is window's height.\n\t\t * resizableMaxWidth : @type {number} Maximum width in pixels that the target element can be resized to. Default value is window's width\n\t\t * resizableMinHeight : @type {number} Minimum height in pixels that the modal can be resized to. Default value is 133px.\n\t\t * resizableMinWidth : @type {number} Minimum width in pixels that the modal can be resized to. Default value is 420px.\n\t\t */\n\t\tresizableConfig: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tenableResizable: { schema: { type: 'boolean' } },\n\t\t\t\tresizableMinWidth: { schema: { type: 'number' } },\n\t\t\t\tresizableMinHeight: { schema: { type: 'number' } },\n\t\t\t\tresizableMaxWidth: {\n\t\t\t\t\tschema: { type: 'number' }\n\t\t\t\t},\n\t\t\t\tresizableMaxHeight: {\n\t\t\t\t\tschema: { type: 'number' }\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * When true, the position fixed of the overlay will be changed to absolute position.\n\t\t * This helps the user to customize or render modal however they want.\n\t\t * @type {boolean}\n\t\t */\n\t\toverlayPositionAbsolute: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * height : @type {number} Height in pixels of the modal.\n\t\t * width : @type {number} Width in pixels of the modal.\n\t\t */\n\t\tcustomSize: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\theight: {\n\t\t\t\t\tschema: { type: 'string' }\n\t\t\t\t},\n\t\t\t\twidth: {\n\t\t\t\t\tschema: { type: 'string' }\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The text content for the modals aria label attribute.\n\t\t * @type {string}\n\t\t */\n\t\tlabel: { schema: { type: 'string' } }\n\t},\n\tview,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: { trap: true }\n\t\t},\n\t\t{ behavior: rtlBehavior },\n\t\t{\n\t\t\tbehavior: resizableBehavior,\n\t\t\toptions: {\n\t\t\t\tresizeTarget: '.now-uxf-bare-modal-body',\n\t\t\t\tgetResizableConfig({ properties }) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tenableResizable: false,\n\t\t\t\t\t\tresizableMinWidth: 420,\n\t\t\t\t\t\tresizableMinHeight: 133,\n\t\t\t\t\t\t...properties.resizableConfig,\n\t\t\t\t\t\tcontext: 'fixed'\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t],\n\tstyles,\n\tactions: {\n\t\t[DISMISS_ACTION]: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\treason: {\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tenum: ['dismiss-icon', 'keyboard-escape']\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_RENDERED]: componentRenderedHandler,\n\t\t[DISMISS_ACTION]({ updateProperties }) {\n\t\t\tupdateProperties({\n\t\t\t\topened: false\n\t\t\t});\n\t\t},\n\t\t[MODAL_RESIZE_END]({ action, dispatch }) {\n\t\t\tdispatch(UXF_BARE_MODAL_RESIZED, { ...action.payload });\n\t\t}\n\t}\n});\n\nexport default TAG_NAME;\n","export const getAriaAttributes = (properties = {}) => {\n\tconst output = {};\n\tconst { label } = properties;\n\tif (label) {\n\t\toutput['aria-label'] = label;\n\t}\n\treturn output;\n};\n","import { t } from 'sn-translate';\n\nexport const containerTypes = {\n\tSECTION: 'section',\n\tARTICLE: 'article',\n\tHEADER: 'header',\n\tFOOTER: 'footer',\n\tASIDE: 'aside',\n\tADDRESS: 'address',\n\tMAIN: 'main'\n};\n\nexport const i18n = {\n\tEMPTY_STATE_HEADING: t('No content available.'),\n\tEMPTY_STATE_MESSAGE: t(\n\t\t'Contact your ServiceNow administrator for more information.'\n\t)\n};\n","/**\n * Create a \"role\" attribute object for elements\n *\n * @param {string} ariaRole the \"role\" attribute value\n * @returns {object}\n */\nexport const setAriaRole = ariaRole => {\n\treturn ariaRole ? { role: ariaRole } : {};\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-collapse';\nimport '@servicenow/now-heading';\nimport '@servicenow/now-icon';\nimport styles from './styles.scss';\nimport '@servicenow/now-template-message';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport { ariaHeading, ariaLabel, removeEmptyState } from '../utils';\nimport { containerTypes, i18n } from './constants';\nimport { setAriaRole } from './utils';\n\nconst { SECTION, ARTICLE, HEADER, FOOTER, ASIDE, ADDRESS, MAIN } =\n\tcontainerTypes;\n\nconst { EMPTY_STATE_HEADING, EMPTY_STATE_MESSAGE } = i18n;\n\nexport const renderSlot = (hideEmptyStateUi) =>\n\thideEmptyStateUi ? (\n\t\t<slot />\n\t) : (\n\t\t<slot on-slotchange={(e) => removeEmptyState(e.target)}>\n\t\t\t<now-template-message-empty-state\n\t\t\t\theading={{ label: EMPTY_STATE_HEADING }}\n\t\t\t\tcontent={EMPTY_STATE_MESSAGE}\n\t\t\t\tillustration=\"no-data\"\n\t\t\t/>\n\t\t</slot>\n\t);\n\nexport const renderAriaHeading = (\n\tcomponentId,\n\tincludeAriaHeading,\n\tariaRegionName,\n\tariaRegionHeadingLevel\n) =>\n\tincludeAriaHeading\n\t\t? ariaHeading(componentId, ariaRegionName, ariaRegionHeadingLevel)\n\t\t: null;\n\nexport const renderContainer = (\n\tcomponentId,\n\tincludeAriaHeading,\n\tariaRegionName,\n\tariaRegionHeadingLevel,\n\ttype,\n\tariaRole,\n\thideEmptyStateUi,\n\tslotWrapperBehavior\n) => {\n\tconst className =\n\t\tslotWrapperBehavior === 'contents'\n\t\t\t? 'slot-wrapper-contents'\n\t\t\t: 'slot-wrapper';\n\n\tswitch (type) {\n\t\tcase SECTION:\n\t\t\treturn (\n\t\t\t\t<section\n\t\t\t\t\tclassName={className}\n\t\t\t\t\t{...setAriaRole(ariaRole)}\n\t\t\t\t\t{...ariaLabel(componentId, ariaRegionName, includeAriaHeading)}\n\t\t\t\t>\n\t\t\t\t\t{renderAriaHeading(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tincludeAriaHeading,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tariaRegionHeadingLevel\n\t\t\t\t\t)}\n\t\t\t\t\t{renderSlot(hideEmptyStateUi)}\n\t\t\t\t</section>\n\t\t\t);\n\t\tcase ARTICLE:\n\t\t\treturn (\n\t\t\t\t<article\n\t\t\t\t\tclassName={className}\n\t\t\t\t\t{...ariaLabel(componentId, ariaRegionName, includeAriaHeading)}\n\t\t\t\t>\n\t\t\t\t\t{renderAriaHeading(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tincludeAriaHeading,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tariaRegionHeadingLevel\n\t\t\t\t\t)}\n\t\t\t\t\t{renderSlot(hideEmptyStateUi)}\n\t\t\t\t</article>\n\t\t\t);\n\t\tcase HEADER:\n\t\t\treturn (\n\t\t\t\t<header\n\t\t\t\t\tclassName={className}\n\t\t\t\t\t{...ariaLabel(componentId, ariaRegionName, includeAriaHeading)}\n\t\t\t\t>\n\t\t\t\t\t{renderAriaHeading(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tincludeAriaHeading,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tariaRegionHeadingLevel\n\t\t\t\t\t)}\n\t\t\t\t\t{renderSlot(hideEmptyStateUi)}\n\t\t\t\t</header>\n\t\t\t);\n\t\tcase FOOTER:\n\t\t\treturn (\n\t\t\t\t<footer\n\t\t\t\t\tclassName={className}\n\t\t\t\t\t{...ariaLabel(componentId, ariaRegionName, includeAriaHeading)}\n\t\t\t\t>\n\t\t\t\t\t{renderAriaHeading(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tincludeAriaHeading,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tariaRegionHeadingLevel\n\t\t\t\t\t)}\n\t\t\t\t\t{renderSlot(hideEmptyStateUi)}\n\t\t\t\t</footer>\n\t\t\t);\n\t\tcase ASIDE:\n\t\t\treturn (\n\t\t\t\t<aside\n\t\t\t\t\tclassName={className}\n\t\t\t\t\t{...ariaLabel(componentId, ariaRegionName, includeAriaHeading)}\n\t\t\t\t>\n\t\t\t\t\t{renderAriaHeading(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tincludeAriaHeading,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tariaRegionHeadingLevel\n\t\t\t\t\t)}\n\t\t\t\t\t{renderSlot(hideEmptyStateUi)}\n\t\t\t\t</aside>\n\t\t\t);\n\t\tcase ADDRESS:\n\t\t\treturn (\n\t\t\t\t<address\n\t\t\t\t\tclassName={className}\n\t\t\t\t\t{...setAriaRole(ariaRole)}\n\t\t\t\t\t{...ariaLabel(componentId, ariaRegionName, includeAriaHeading)}\n\t\t\t\t>\n\t\t\t\t\t{renderAriaHeading(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tincludeAriaHeading,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tariaRegionHeadingLevel\n\t\t\t\t\t)}\n\t\t\t\t\t{renderSlot(hideEmptyStateUi)}\n\t\t\t\t</address>\n\t\t\t);\n\t\tcase MAIN:\n\t\t\treturn (\n\t\t\t\t<main\n\t\t\t\t\trole={ariaRole || 'main'}\n\t\t\t\t\tclassName={className}\n\t\t\t\t\t{...ariaLabel(componentId, ariaRegionName, includeAriaHeading)}\n\t\t\t\t>\n\t\t\t\t\t{renderAriaHeading(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tincludeAriaHeading,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tariaRegionHeadingLevel\n\t\t\t\t\t)}\n\t\t\t\t\t{renderSlot(hideEmptyStateUi)}\n\t\t\t\t</main>\n\t\t\t);\n\t\tdefault:\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\t{...setAriaRole(ariaRole)}\n\t\t\t\t\tclassName={className}\n\t\t\t\t\t{...ariaLabel(componentId, ariaRegionName, includeAriaHeading)}\n\t\t\t\t>\n\t\t\t\t\t{renderAriaHeading(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tincludeAriaHeading,\n\t\t\t\t\t\tariaRegionName,\n\t\t\t\t\t\tariaRegionHeadingLevel\n\t\t\t\t\t)}\n\t\t\t\t\t{renderSlot(hideEmptyStateUi)}\n\t\t\t\t</div>\n\t\t\t);\n\t}\n};\n\nconst view = (state) => {\n\tconst {\n\t\tariaRegionName,\n\t\tariaRegionHeadingLevel,\n\t\tincludeAriaHeading,\n\t\ttype,\n\t\tariaRole,\n\t\thideEmptyStateUi,\n\t\tslotWrapperBehavior\n\t} = state.properties;\n\n\tconst { componentId } = state;\n\n\treturn renderContainer(\n\t\tcomponentId,\n\t\tincludeAriaHeading,\n\t\tariaRegionName,\n\t\tariaRegionHeadingLevel,\n\t\ttype,\n\t\tariaRole,\n\t\thideEmptyStateUi,\n\t\tslotWrapperBehavior\n\t);\n};\n\nconst TAG_NAME = 'now-uxf-page-simple-container';\n\n/**\n * A wrapper around a group of components that need to reside together on a screen. A container can\n * be used to nest components at various levels, including other containers.\n *\n * @seismicElement now-uxf-page-simple-container\n * @summary Container component to organize, group, and layout content. Contains any number of nested components.\n */\n\ncreateCustomElement(TAG_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Heading/Name for ARIA Landmark region\n\t\t * @type {string}\n\t\t */\n\t\tariaRegionName: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * When true, will include a non visible heading in the ARIA region.\n\t\t * @type {boolean}\n\t\t */\n\t\tincludeAriaHeading: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Defines the level of the non visible HTML heading element within the ARIA region.\n\t\t * @type {('1'|'2'|'3'|'4'|'5'|'6')}\n\t\t */\n\t\tariaRegionHeadingLevel: {\n\t\t\tdefault: '1',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['1', '2', '3', '4', '5', '6']\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the kind of content the container will represent.\n\t\t * @type {string}\n\t\t */\n\t\ttype: {\n\t\t\tdefault: 'section',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'section',\n\t\t\t\t\t'article',\n\t\t\t\t\t'header',\n\t\t\t\t\t'footer',\n\t\t\t\t\t'aside',\n\t\t\t\t\t'address',\n\t\t\t\t\t'main',\n\t\t\t\t\t'div'\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t *\tConfigure the role attribute that describes the role of an element.\n\t\t *\t@type {string}\n\t\t */\n\t\tariaRole: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'alert',\n\t\t\t\t\t'alertdialog',\n\t\t\t\t\t'article',\n\t\t\t\t\t'application',\n\t\t\t\t\t'banner',\n\t\t\t\t\t'complementary',\n\t\t\t\t\t'contentinfo',\n\t\t\t\t\t'dialog',\n\t\t\t\t\t'document',\n\t\t\t\t\t'feed',\n\t\t\t\t\t'group',\n\t\t\t\t\t'log',\n\t\t\t\t\t'main',\n\t\t\t\t\t'marquee',\n\t\t\t\t\t'navigation',\n\t\t\t\t\t'none',\n\t\t\t\t\t'note',\n\t\t\t\t\t'presentation',\n\t\t\t\t\t'region',\n\t\t\t\t\t'search',\n\t\t\t\t\t'status',\n\t\t\t\t\t'tabpanel'\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\t\thideEmptyStateUi: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tslotWrapperBehavior: {\n\t\t\tdefault: 'fullheight',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['fullheight', 'contents']\n\t\t\t}\n\t\t}\n\t},\n\tbehaviors: [rtlBehavior],\n\tstyles\n});\n\nexport default TAG_NAME;\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n  return function wrap() {\n    return fn.apply(thisArg, arguments);\n  };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n    const str = toString.call(thing);\n    return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n  type = type.toLowerCase();\n  return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n  return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n    && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n  let result;\n  if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n    result = ArrayBuffer.isView(val);\n  } else {\n    result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n  }\n  return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n  if (kindOf(val) !== 'object') {\n    return false;\n  }\n\n  const prototype = getPrototypeOf(val);\n  return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n  let kind;\n  return thing && (\n    (typeof FormData === 'function' && thing instanceof FormData) || (\n      isFunction(thing.append) && (\n        (kind = kindOf(thing)) === 'formdata' ||\n        // detect form-data instance\n        (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n      )\n    )\n  )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n  str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n  // Don't bother if no value provided\n  if (obj === null || typeof obj === 'undefined') {\n    return;\n  }\n\n  let i;\n  let l;\n\n  // Force an array if not already something iterable\n  if (typeof obj !== 'object') {\n    /*eslint no-param-reassign:0*/\n    obj = [obj];\n  }\n\n  if (isArray(obj)) {\n    // Iterate over array values\n    for (i = 0, l = obj.length; i < l; i++) {\n      fn.call(null, obj[i], i, obj);\n    }\n  } else {\n    // Iterate over object keys\n    const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n    const len = keys.length;\n    let key;\n\n    for (i = 0; i < len; i++) {\n      key = keys[i];\n      fn.call(null, obj[key], key, obj);\n    }\n  }\n}\n\nfunction findKey(obj, key) {\n  key = key.toLowerCase();\n  const keys = Object.keys(obj);\n  let i = keys.length;\n  let _key;\n  while (i-- > 0) {\n    _key = keys[i];\n    if (key === _key.toLowerCase()) {\n      return _key;\n    }\n  }\n  return null;\n}\n\nconst _global = (() => {\n  /*eslint no-undef:0*/\n  if (typeof globalThis !== \"undefined\") return globalThis;\n  return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n  const {caseless} = isContextDefined(this) && this || {};\n  const result = {};\n  const assignValue = (val, key) => {\n    const targetKey = caseless && findKey(result, key) || key;\n    if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n      result[targetKey] = merge(result[targetKey], val);\n    } else if (isPlainObject(val)) {\n      result[targetKey] = merge({}, val);\n    } else if (isArray(val)) {\n      result[targetKey] = val.slice();\n    } else {\n      result[targetKey] = val;\n    }\n  }\n\n  for (let i = 0, l = arguments.length; i < l; i++) {\n    arguments[i] && forEach(arguments[i], assignValue);\n  }\n  return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n  forEach(b, (val, key) => {\n    if (thisArg && isFunction(val)) {\n      a[key] = bind(val, thisArg);\n    } else {\n      a[key] = val;\n    }\n  }, {allOwnKeys});\n  return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n  if (content.charCodeAt(0) === 0xFEFF) {\n    content = content.slice(1);\n  }\n  return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n  constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n  constructor.prototype.constructor = constructor;\n  Object.defineProperty(constructor, 'super', {\n    value: superConstructor.prototype\n  });\n  props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n  let props;\n  let i;\n  let prop;\n  const merged = {};\n\n  destObj = destObj || {};\n  // eslint-disable-next-line no-eq-null,eqeqeq\n  if (sourceObj == null) return destObj;\n\n  do {\n    props = Object.getOwnPropertyNames(sourceObj);\n    i = props.length;\n    while (i-- > 0) {\n      prop = props[i];\n      if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n        destObj[prop] = sourceObj[prop];\n        merged[prop] = true;\n      }\n    }\n    sourceObj = filter !== false && getPrototypeOf(sourceObj);\n  } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n  return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n  str = String(str);\n  if (position === undefined || position > str.length) {\n    position = str.length;\n  }\n  position -= searchString.length;\n  const lastIndex = str.indexOf(searchString, position);\n  return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n  if (!thing) return null;\n  if (isArray(thing)) return thing;\n  let i = thing.length;\n  if (!isNumber(i)) return null;\n  const arr = new Array(i);\n  while (i-- > 0) {\n    arr[i] = thing[i];\n  }\n  return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n  // eslint-disable-next-line func-names\n  return thing => {\n    return TypedArray && thing instanceof TypedArray;\n  };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n  const generator = obj && obj[Symbol.iterator];\n\n  const iterator = generator.call(obj);\n\n  let result;\n\n  while ((result = iterator.next()) && !result.done) {\n    const pair = result.value;\n    fn.call(obj, pair[0], pair[1]);\n  }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n  let matches;\n  const arr = [];\n\n  while ((matches = regExp.exec(str)) !== null) {\n    arr.push(matches);\n  }\n\n  return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n  return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n    function replacer(m, p1, p2) {\n      return p1.toUpperCase() + p2;\n    }\n  );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n  const descriptors = Object.getOwnPropertyDescriptors(obj);\n  const reducedDescriptors = {};\n\n  forEach(descriptors, (descriptor, name) => {\n    let ret;\n    if ((ret = reducer(descriptor, name, obj)) !== false) {\n      reducedDescriptors[name] = ret || descriptor;\n    }\n  });\n\n  Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n  reduceDescriptors(obj, (descriptor, name) => {\n    // skip restricted props in strict mode\n    if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n      return false;\n    }\n\n    const value = obj[name];\n\n    if (!isFunction(value)) return;\n\n    descriptor.enumerable = false;\n\n    if ('writable' in descriptor) {\n      descriptor.writable = false;\n      return;\n    }\n\n    if (!descriptor.set) {\n      descriptor.set = () => {\n        throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n      };\n    }\n  });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n  const obj = {};\n\n  const define = (arr) => {\n    arr.forEach(value => {\n      obj[value] = true;\n    });\n  }\n\n  isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n  return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n  return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n  DIGIT,\n  ALPHA,\n  ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n  let str = '';\n  const {length} = alphabet;\n  while (size--) {\n    str += alphabet[Math.random() * length|0]\n  }\n\n  return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n  return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n  const stack = new Array(10);\n\n  const visit = (source, i) => {\n\n    if (isObject(source)) {\n      if (stack.indexOf(source) >= 0) {\n        return;\n      }\n\n      if(!('toJSON' in source)) {\n        stack[i] = source;\n        const target = isArray(source) ? [] : {};\n\n        forEach(source, (value, key) => {\n          const reducedValue = visit(value, i + 1);\n          !isUndefined(reducedValue) && (target[key] = reducedValue);\n        });\n\n        stack[i] = undefined;\n\n        return target;\n      }\n    }\n\n    return source;\n  }\n\n  return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n  thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n  if (setImmediateSupported) {\n    return setImmediate;\n  }\n\n  return postMessageSupported ? ((token, callbacks) => {\n    _global.addEventListener(\"message\", ({source, data}) => {\n      if (source === _global && data === token) {\n        callbacks.length && callbacks.shift()();\n      }\n    }, false);\n\n    return (cb) => {\n      callbacks.push(cb);\n      _global.postMessage(token, \"*\");\n    }\n  })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n  typeof setImmediate === 'function',\n  isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n  queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n  isArray,\n  isArrayBuffer,\n  isBuffer,\n  isFormData,\n  isArrayBufferView,\n  isString,\n  isNumber,\n  isBoolean,\n  isObject,\n  isPlainObject,\n  isReadableStream,\n  isRequest,\n  isResponse,\n  isHeaders,\n  isUndefined,\n  isDate,\n  isFile,\n  isBlob,\n  isRegExp,\n  isFunction,\n  isStream,\n  isURLSearchParams,\n  isTypedArray,\n  isFileList,\n  forEach,\n  merge,\n  extend,\n  trim,\n  stripBOM,\n  inherits,\n  toFlatObject,\n  kindOf,\n  kindOfTest,\n  endsWith,\n  toArray,\n  forEachEntry,\n  matchAll,\n  isHTMLForm,\n  hasOwnProperty,\n  hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n  reduceDescriptors,\n  freezeMethods,\n  toObjectSet,\n  toCamelCase,\n  noop,\n  toFiniteNumber,\n  findKey,\n  global: _global,\n  isContextDefined,\n  ALPHABET,\n  generateString,\n  isSpecCompliantForm,\n  toJSONObject,\n  isAsyncFn,\n  isThenable,\n  setImmediate: _setImmediate,\n  asap\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n  Error.call(this);\n\n  if (Error.captureStackTrace) {\n    Error.captureStackTrace(this, this.constructor);\n  } else {\n    this.stack = (new Error()).stack;\n  }\n\n  this.message = message;\n  this.name = 'AxiosError';\n  code && (this.code = code);\n  config && (this.config = config);\n  request && (this.request = request);\n  if (response) {\n    this.response = response;\n    this.status = response.status ? response.status : null;\n  }\n}\n\nutils.inherits(AxiosError, Error, {\n  toJSON: function toJSON() {\n    return {\n      // Standard\n      message: this.message,\n      name: this.name,\n      // Microsoft\n      description: this.description,\n      number: this.number,\n      // Mozilla\n      fileName: this.fileName,\n      lineNumber: this.lineNumber,\n      columnNumber: this.columnNumber,\n      stack: this.stack,\n      // Axios\n      config: utils.toJSONObject(this.config),\n      code: this.code,\n      status: this.status\n    };\n  }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n  'ERR_BAD_OPTION_VALUE',\n  'ERR_BAD_OPTION',\n  'ECONNABORTED',\n  'ETIMEDOUT',\n  'ERR_NETWORK',\n  'ERR_FR_TOO_MANY_REDIRECTS',\n  'ERR_DEPRECATED',\n  'ERR_BAD_RESPONSE',\n  'ERR_BAD_REQUEST',\n  'ERR_CANCELED',\n  'ERR_NOT_SUPPORT',\n  'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n  descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n  const axiosError = Object.create(prototype);\n\n  utils.toFlatObject(error, axiosError, function filter(obj) {\n    return obj !== Error.prototype;\n  }, prop => {\n    return prop !== 'isAxiosError';\n  });\n\n  AxiosError.call(axiosError, error.message, code, config, request, response);\n\n  axiosError.cause = error;\n\n  axiosError.name = error.name;\n\n  customProps && Object.assign(axiosError, customProps);\n\n  return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n  return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n  return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n  if (!path) return key;\n  return path.concat(key).map(function each(token, i) {\n    // eslint-disable-next-line no-param-reassign\n    token = removeBrackets(token);\n    return !dots && i ? '[' + token + ']' : token;\n  }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n  return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n  return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n  if (!utils.isObject(obj)) {\n    throw new TypeError('target must be an object');\n  }\n\n  // eslint-disable-next-line no-param-reassign\n  formData = formData || new (PlatformFormData || FormData)();\n\n  // eslint-disable-next-line no-param-reassign\n  options = utils.toFlatObject(options, {\n    metaTokens: true,\n    dots: false,\n    indexes: false\n  }, false, function defined(option, source) {\n    // eslint-disable-next-line no-eq-null,eqeqeq\n    return !utils.isUndefined(source[option]);\n  });\n\n  const metaTokens = options.metaTokens;\n  // eslint-disable-next-line no-use-before-define\n  const visitor = options.visitor || defaultVisitor;\n  const dots = options.dots;\n  const indexes = options.indexes;\n  const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n  const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n  if (!utils.isFunction(visitor)) {\n    throw new TypeError('visitor must be a function');\n  }\n\n  function convertValue(value) {\n    if (value === null) return '';\n\n    if (utils.isDate(value)) {\n      return value.toISOString();\n    }\n\n    if (!useBlob && utils.isBlob(value)) {\n      throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n    }\n\n    if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n      return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n    }\n\n    return value;\n  }\n\n  /**\n   * Default visitor.\n   *\n   * @param {*} value\n   * @param {String|Number} key\n   * @param {Array<String|Number>} path\n   * @this {FormData}\n   *\n   * @returns {boolean} return true to visit the each prop of the value recursively\n   */\n  function defaultVisitor(value, key, path) {\n    let arr = value;\n\n    if (value && !path && typeof value === 'object') {\n      if (utils.endsWith(key, '{}')) {\n        // eslint-disable-next-line no-param-reassign\n        key = metaTokens ? key : key.slice(0, -2);\n        // eslint-disable-next-line no-param-reassign\n        value = JSON.stringify(value);\n      } else if (\n        (utils.isArray(value) && isFlatArray(value)) ||\n        ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n        )) {\n        // eslint-disable-next-line no-param-reassign\n        key = removeBrackets(key);\n\n        arr.forEach(function each(el, index) {\n          !(utils.isUndefined(el) || el === null) && formData.append(\n            // eslint-disable-next-line no-nested-ternary\n            indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n            convertValue(el)\n          );\n        });\n        return false;\n      }\n    }\n\n    if (isVisitable(value)) {\n      return true;\n    }\n\n    formData.append(renderKey(path, key, dots), convertValue(value));\n\n    return false;\n  }\n\n  const stack = [];\n\n  const exposedHelpers = Object.assign(predicates, {\n    defaultVisitor,\n    convertValue,\n    isVisitable\n  });\n\n  function build(value, path) {\n    if (utils.isUndefined(value)) return;\n\n    if (stack.indexOf(value) !== -1) {\n      throw Error('Circular reference detected in ' + path.join('.'));\n    }\n\n    stack.push(value);\n\n    utils.forEach(value, function each(el, key) {\n      const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n        formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n      );\n\n      if (result === true) {\n        build(el, path ? path.concat(key) : [key]);\n      }\n    });\n\n    stack.pop();\n  }\n\n  if (!utils.isObject(obj)) {\n    throw new TypeError('data must be an object');\n  }\n\n  build(obj);\n\n  return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n  const charMap = {\n    '!': '%21',\n    \"'\": '%27',\n    '(': '%28',\n    ')': '%29',\n    '~': '%7E',\n    '%20': '+',\n    '%00': '\\x00'\n  };\n  return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n    return charMap[match];\n  });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n  this._pairs = [];\n\n  params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n  this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n  const _encode = encoder ? function(value) {\n    return encoder.call(this, value, encode);\n  } : encode;\n\n  return this._pairs.map(function each(pair) {\n    return _encode(pair[0]) + '=' + _encode(pair[1]);\n  }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n  return encodeURIComponent(val).\n    replace(/%3A/gi, ':').\n    replace(/%24/g, '$').\n    replace(/%2C/gi, ',').\n    replace(/%20/g, '+').\n    replace(/%5B/gi, '[').\n    replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n  /*eslint no-param-reassign:0*/\n  if (!params) {\n    return url;\n  }\n  \n  const _encode = options && options.encode || encode;\n\n  const serializeFn = options && options.serialize;\n\n  let serializedParams;\n\n  if (serializeFn) {\n    serializedParams = serializeFn(params, options);\n  } else {\n    serializedParams = utils.isURLSearchParams(params) ?\n      params.toString() :\n      new AxiosURLSearchParams(params, options).toString(_encode);\n  }\n\n  if (serializedParams) {\n    const hashmarkIndex = url.indexOf(\"#\");\n\n    if (hashmarkIndex !== -1) {\n      url = url.slice(0, hashmarkIndex);\n    }\n    url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n  }\n\n  return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n  constructor() {\n    this.handlers = [];\n  }\n\n  /**\n   * Add a new interceptor to the stack\n   *\n   * @param {Function} fulfilled The function to handle `then` for a `Promise`\n   * @param {Function} rejected The function to handle `reject` for a `Promise`\n   *\n   * @return {Number} An ID used to remove interceptor later\n   */\n  use(fulfilled, rejected, options) {\n    this.handlers.push({\n      fulfilled,\n      rejected,\n      synchronous: options ? options.synchronous : false,\n      runWhen: options ? options.runWhen : null\n    });\n    return this.handlers.length - 1;\n  }\n\n  /**\n   * Remove an interceptor from the stack\n   *\n   * @param {Number} id The ID that was returned by `use`\n   *\n   * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n   */\n  eject(id) {\n    if (this.handlers[id]) {\n      this.handlers[id] = null;\n    }\n  }\n\n  /**\n   * Clear all interceptors from the stack\n   *\n   * @returns {void}\n   */\n  clear() {\n    if (this.handlers) {\n      this.handlers = [];\n    }\n  }\n\n  /**\n   * Iterate over all the registered interceptors\n   *\n   * This method is particularly useful for skipping over any\n   * interceptors that may have become `null` calling `eject`.\n   *\n   * @param {Function} fn The function to call for each interceptor\n   *\n   * @returns {void}\n   */\n  forEach(fn) {\n    utils.forEach(this.handlers, function forEachHandler(h) {\n      if (h !== null) {\n        fn(h);\n      }\n    });\n  }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n  silentJSONParsing: true,\n  forcedJSONParsing: true,\n  clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n  isBrowser: true,\n  classes: {\n    URLSearchParams,\n    FormData,\n    Blob\n  },\n  protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n *  typeof window -> undefined\n *  typeof document -> undefined\n *\n * react-native:\n *  navigator.product -> 'ReactNative'\n * nativescript\n *  navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n  (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n  return (\n    typeof WorkerGlobalScope !== 'undefined' &&\n    // eslint-disable-next-line no-undef\n    self instanceof WorkerGlobalScope &&\n    typeof self.importScripts === 'function'\n  );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n  hasBrowserEnv,\n  hasStandardBrowserWebWorkerEnv,\n  hasStandardBrowserEnv,\n  _navigator as navigator,\n  origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n  ...utils,\n  ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n  // foo[x][y][z]\n  // foo.x.y.z\n  // foo-x-y-z\n  // foo x y z\n  return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n    return match[0] === '[]' ? '' : match[1] || match[0];\n  });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n  const obj = {};\n  const keys = Object.keys(arr);\n  let i;\n  const len = keys.length;\n  let key;\n  for (i = 0; i < len; i++) {\n    key = keys[i];\n    obj[key] = arr[key];\n  }\n  return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n  function buildPath(path, value, target, index) {\n    let name = path[index++];\n\n    if (name === '__proto__') return true;\n\n    const isNumericKey = Number.isFinite(+name);\n    const isLast = index >= path.length;\n    name = !name && utils.isArray(target) ? target.length : name;\n\n    if (isLast) {\n      if (utils.hasOwnProp(target, name)) {\n        target[name] = [target[name], value];\n      } else {\n        target[name] = value;\n      }\n\n      return !isNumericKey;\n    }\n\n    if (!target[name] || !utils.isObject(target[name])) {\n      target[name] = [];\n    }\n\n    const result = buildPath(path, value, target[name], index);\n\n    if (result && utils.isArray(target[name])) {\n      target[name] = arrayToObject(target[name]);\n    }\n\n    return !isNumericKey;\n  }\n\n  if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n    const obj = {};\n\n    utils.forEachEntry(formData, (name, value) => {\n      buildPath(parsePropPath(name), value, obj, 0);\n    });\n\n    return obj;\n  }\n\n  return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n  if (utils.isString(rawValue)) {\n    try {\n      (parser || JSON.parse)(rawValue);\n      return utils.trim(rawValue);\n    } catch (e) {\n      if (e.name !== 'SyntaxError') {\n        throw e;\n      }\n    }\n  }\n\n  return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n  transitional: transitionalDefaults,\n\n  adapter: ['xhr', 'http', 'fetch'],\n\n  transformRequest: [function transformRequest(data, headers) {\n    const contentType = headers.getContentType() || '';\n    const hasJSONContentType = contentType.indexOf('application/json') > -1;\n    const isObjectPayload = utils.isObject(data);\n\n    if (isObjectPayload && utils.isHTMLForm(data)) {\n      data = new FormData(data);\n    }\n\n    const isFormData = utils.isFormData(data);\n\n    if (isFormData) {\n      return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n    }\n\n    if (utils.isArrayBuffer(data) ||\n      utils.isBuffer(data) ||\n      utils.isStream(data) ||\n      utils.isFile(data) ||\n      utils.isBlob(data) ||\n      utils.isReadableStream(data)\n    ) {\n      return data;\n    }\n    if (utils.isArrayBufferView(data)) {\n      return data.buffer;\n    }\n    if (utils.isURLSearchParams(data)) {\n      headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n      return data.toString();\n    }\n\n    let isFileList;\n\n    if (isObjectPayload) {\n      if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n        return toURLEncodedForm(data, this.formSerializer).toString();\n      }\n\n      if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n        const _FormData = this.env && this.env.FormData;\n\n        return toFormData(\n          isFileList ? {'files[]': data} : data,\n          _FormData && new _FormData(),\n          this.formSerializer\n        );\n      }\n    }\n\n    if (isObjectPayload || hasJSONContentType ) {\n      headers.setContentType('application/json', false);\n      return stringifySafely(data);\n    }\n\n    return data;\n  }],\n\n  transformResponse: [function transformResponse(data) {\n    const transitional = this.transitional || defaults.transitional;\n    const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n    const JSONRequested = this.responseType === 'json';\n\n    if (utils.isResponse(data) || utils.isReadableStream(data)) {\n      return data;\n    }\n\n    if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n      const silentJSONParsing = transitional && transitional.silentJSONParsing;\n      const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n      try {\n        return JSON.parse(data);\n      } catch (e) {\n        if (strictJSONParsing) {\n          if (e.name === 'SyntaxError') {\n            throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n          }\n          throw e;\n        }\n      }\n    }\n\n    return data;\n  }],\n\n  /**\n   * A timeout in milliseconds to abort a request. If set to 0 (default) a\n   * timeout is not created.\n   */\n  timeout: 0,\n\n  xsrfCookieName: 'XSRF-TOKEN',\n  xsrfHeaderName: 'X-XSRF-TOKEN',\n\n  maxContentLength: -1,\n  maxBodyLength: -1,\n\n  env: {\n    FormData: platform.classes.FormData,\n    Blob: platform.classes.Blob\n  },\n\n  validateStatus: function validateStatus(status) {\n    return status >= 200 && status < 300;\n  },\n\n  headers: {\n    common: {\n      'Accept': 'application/json, text/plain, */*',\n      'Content-Type': undefined\n    }\n  }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n  defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n  return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n    visitor: function(value, key, path, helpers) {\n      if (platform.isNode && utils.isBuffer(value)) {\n        this.append(key, value.toString('base64'));\n        return false;\n      }\n\n      return helpers.defaultVisitor.apply(this, arguments);\n    }\n  }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n  'age', 'authorization', 'content-length', 'content-type', 'etag',\n  'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n  'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n  'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n  const parsed = {};\n  let key;\n  let val;\n  let i;\n\n  rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n    i = line.indexOf(':');\n    key = line.substring(0, i).trim().toLowerCase();\n    val = line.substring(i + 1).trim();\n\n    if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n      return;\n    }\n\n    if (key === 'set-cookie') {\n      if (parsed[key]) {\n        parsed[key].push(val);\n      } else {\n        parsed[key] = [val];\n      }\n    } else {\n      parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n    }\n  });\n\n  return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n  return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n  if (value === false || value == null) {\n    return value;\n  }\n\n  return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n  const tokens = Object.create(null);\n  const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n  let match;\n\n  while ((match = tokensRE.exec(str))) {\n    tokens[match[1]] = match[2];\n  }\n\n  return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n  if (utils.isFunction(filter)) {\n    return filter.call(this, value, header);\n  }\n\n  if (isHeaderNameFilter) {\n    value = header;\n  }\n\n  if (!utils.isString(value)) return;\n\n  if (utils.isString(filter)) {\n    return value.indexOf(filter) !== -1;\n  }\n\n  if (utils.isRegExp(filter)) {\n    return filter.test(value);\n  }\n}\n\nfunction formatHeader(header) {\n  return header.trim()\n    .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n      return char.toUpperCase() + str;\n    });\n}\n\nfunction buildAccessors(obj, header) {\n  const accessorName = utils.toCamelCase(' ' + header);\n\n  ['get', 'set', 'has'].forEach(methodName => {\n    Object.defineProperty(obj, methodName + accessorName, {\n      value: function(arg1, arg2, arg3) {\n        return this[methodName].call(this, header, arg1, arg2, arg3);\n      },\n      configurable: true\n    });\n  });\n}\n\nclass AxiosHeaders {\n  constructor(headers) {\n    headers && this.set(headers);\n  }\n\n  set(header, valueOrRewrite, rewrite) {\n    const self = this;\n\n    function setHeader(_value, _header, _rewrite) {\n      const lHeader = normalizeHeader(_header);\n\n      if (!lHeader) {\n        throw new Error('header name must be a non-empty string');\n      }\n\n      const key = utils.findKey(self, lHeader);\n\n      if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n        self[key || _header] = normalizeValue(_value);\n      }\n    }\n\n    const setHeaders = (headers, _rewrite) =>\n      utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n    if (utils.isPlainObject(header) || header instanceof this.constructor) {\n      setHeaders(header, valueOrRewrite)\n    } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n      setHeaders(parseHeaders(header), valueOrRewrite);\n    } else if (utils.isHeaders(header)) {\n      for (const [key, value] of header.entries()) {\n        setHeader(value, key, rewrite);\n      }\n    } else {\n      header != null && setHeader(valueOrRewrite, header, rewrite);\n    }\n\n    return this;\n  }\n\n  get(header, parser) {\n    header = normalizeHeader(header);\n\n    if (header) {\n      const key = utils.findKey(this, header);\n\n      if (key) {\n        const value = this[key];\n\n        if (!parser) {\n          return value;\n        }\n\n        if (parser === true) {\n          return parseTokens(value);\n        }\n\n        if (utils.isFunction(parser)) {\n          return parser.call(this, value, key);\n        }\n\n        if (utils.isRegExp(parser)) {\n          return parser.exec(value);\n        }\n\n        throw new TypeError('parser must be boolean|regexp|function');\n      }\n    }\n  }\n\n  has(header, matcher) {\n    header = normalizeHeader(header);\n\n    if (header) {\n      const key = utils.findKey(this, header);\n\n      return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n    }\n\n    return false;\n  }\n\n  delete(header, matcher) {\n    const self = this;\n    let deleted = false;\n\n    function deleteHeader(_header) {\n      _header = normalizeHeader(_header);\n\n      if (_header) {\n        const key = utils.findKey(self, _header);\n\n        if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n          delete self[key];\n\n          deleted = true;\n        }\n      }\n    }\n\n    if (utils.isArray(header)) {\n      header.forEach(deleteHeader);\n    } else {\n      deleteHeader(header);\n    }\n\n    return deleted;\n  }\n\n  clear(matcher) {\n    const keys = Object.keys(this);\n    let i = keys.length;\n    let deleted = false;\n\n    while (i--) {\n      const key = keys[i];\n      if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n        delete this[key];\n        deleted = true;\n      }\n    }\n\n    return deleted;\n  }\n\n  normalize(format) {\n    const self = this;\n    const headers = {};\n\n    utils.forEach(this, (value, header) => {\n      const key = utils.findKey(headers, header);\n\n      if (key) {\n        self[key] = normalizeValue(value);\n        delete self[header];\n        return;\n      }\n\n      const normalized = format ? formatHeader(header) : String(header).trim();\n\n      if (normalized !== header) {\n        delete self[header];\n      }\n\n      self[normalized] = normalizeValue(value);\n\n      headers[normalized] = true;\n    });\n\n    return this;\n  }\n\n  concat(...targets) {\n    return this.constructor.concat(this, ...targets);\n  }\n\n  toJSON(asStrings) {\n    const obj = Object.create(null);\n\n    utils.forEach(this, (value, header) => {\n      value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n    });\n\n    return obj;\n  }\n\n  [Symbol.iterator]() {\n    return Object.entries(this.toJSON())[Symbol.iterator]();\n  }\n\n  toString() {\n    return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n  }\n\n  get [Symbol.toStringTag]() {\n    return 'AxiosHeaders';\n  }\n\n  static from(thing) {\n    return thing instanceof this ? thing : new this(thing);\n  }\n\n  static concat(first, ...targets) {\n    const computed = new this(first);\n\n    targets.forEach((target) => computed.set(target));\n\n    return computed;\n  }\n\n  static accessor(header) {\n    const internals = this[$internals] = (this[$internals] = {\n      accessors: {}\n    });\n\n    const accessors = internals.accessors;\n    const prototype = this.prototype;\n\n    function defineAccessor(_header) {\n      const lHeader = normalizeHeader(_header);\n\n      if (!accessors[lHeader]) {\n        buildAccessors(prototype, _header);\n        accessors[lHeader] = true;\n      }\n    }\n\n    utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n    return this;\n  }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n  let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n  return {\n    get: () => value,\n    set(headerValue) {\n      this[mapped] = headerValue;\n    }\n  }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n  const config = this || defaults;\n  const context = response || config;\n  const headers = AxiosHeaders.from(context.headers);\n  let data = context.data;\n\n  utils.forEach(fns, function transform(fn) {\n    data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n  });\n\n  headers.normalize();\n\n  return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n  return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n  // eslint-disable-next-line no-eq-null,eqeqeq\n  AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n  this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n  __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n  const validateStatus = response.config.validateStatus;\n  if (!response.status || !validateStatus || validateStatus(response.status)) {\n    resolve(response);\n  } else {\n    reject(new AxiosError(\n      'Request failed with status code ' + response.status,\n      [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n      response.config,\n      response.request,\n      response\n    ));\n  }\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n  samplesCount = samplesCount || 10;\n  const bytes = new Array(samplesCount);\n  const timestamps = new Array(samplesCount);\n  let head = 0;\n  let tail = 0;\n  let firstSampleTS;\n\n  min = min !== undefined ? min : 1000;\n\n  return function push(chunkLength) {\n    const now = Date.now();\n\n    const startedAt = timestamps[tail];\n\n    if (!firstSampleTS) {\n      firstSampleTS = now;\n    }\n\n    bytes[head] = chunkLength;\n    timestamps[head] = now;\n\n    let i = tail;\n    let bytesCount = 0;\n\n    while (i !== head) {\n      bytesCount += bytes[i++];\n      i = i % samplesCount;\n    }\n\n    head = (head + 1) % samplesCount;\n\n    if (head === tail) {\n      tail = (tail + 1) % samplesCount;\n    }\n\n    if (now - firstSampleTS < min) {\n      return;\n    }\n\n    const passed = startedAt && now - startedAt;\n\n    return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n  };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n  let timestamp = 0;\n  let threshold = 1000 / freq;\n  let lastArgs;\n  let timer;\n\n  const invoke = (args, now = Date.now()) => {\n    timestamp = now;\n    lastArgs = null;\n    if (timer) {\n      clearTimeout(timer);\n      timer = null;\n    }\n    fn.apply(null, args);\n  }\n\n  const throttled = (...args) => {\n    const now = Date.now();\n    const passed = now - timestamp;\n    if ( passed >= threshold) {\n      invoke(args, now);\n    } else {\n      lastArgs = args;\n      if (!timer) {\n        timer = setTimeout(() => {\n          timer = null;\n          invoke(lastArgs)\n        }, threshold - passed);\n      }\n    }\n  }\n\n  const flush = () => lastArgs && invoke(lastArgs);\n\n  return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n  let bytesNotified = 0;\n  const _speedometer = speedometer(50, 250);\n\n  return throttle(e => {\n    const loaded = e.loaded;\n    const total = e.lengthComputable ? e.total : undefined;\n    const progressBytes = loaded - bytesNotified;\n    const rate = _speedometer(progressBytes);\n    const inRange = loaded <= total;\n\n    bytesNotified = loaded;\n\n    const data = {\n      loaded,\n      total,\n      progress: total ? (loaded / total) : undefined,\n      bytes: progressBytes,\n      rate: rate ? rate : undefined,\n      estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n      event: e,\n      lengthComputable: total != null,\n      [isDownloadStream ? 'download' : 'upload']: true\n    };\n\n    listener(data);\n  }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n  const lengthComputable = total != null;\n\n  return [(loaded) => throttled[0]({\n    lengthComputable,\n    total,\n    loaded\n  }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n  (function standardBrowserEnv() {\n    const msie = platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent);\n    const urlParsingNode = document.createElement('a');\n    let originURL;\n\n    /**\n    * Parse a URL to discover its components\n    *\n    * @param {String} url The URL to be parsed\n    * @returns {Object}\n    */\n    function resolveURL(url) {\n      let href = url;\n\n      if (msie) {\n        // IE needs attribute set twice to normalize properties\n        urlParsingNode.setAttribute('href', href);\n        href = urlParsingNode.href;\n      }\n\n      urlParsingNode.setAttribute('href', href);\n\n      // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n      return {\n        href: urlParsingNode.href,\n        protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n        host: urlParsingNode.host,\n        search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n        hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n        hostname: urlParsingNode.hostname,\n        port: urlParsingNode.port,\n        pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n          urlParsingNode.pathname :\n          '/' + urlParsingNode.pathname\n      };\n    }\n\n    originURL = resolveURL(window.location.href);\n\n    /**\n    * Determine if a URL shares the same origin as the current location\n    *\n    * @param {String} requestURL The URL to test\n    * @returns {boolean} True if URL shares the same origin, otherwise false\n    */\n    return function isURLSameOrigin(requestURL) {\n      const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n      return (parsed.protocol === originURL.protocol &&\n          parsed.host === originURL.host);\n    };\n  })() :\n\n  // Non standard browser envs (web workers, react-native) lack needed support.\n  (function nonStandardBrowserEnv() {\n    return function isURLSameOrigin() {\n      return true;\n    };\n  })();\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n  // Standard browser envs support document.cookie\n  {\n    write(name, value, expires, path, domain, secure) {\n      const cookie = [name + '=' + encodeURIComponent(value)];\n\n      utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n      utils.isString(path) && cookie.push('path=' + path);\n\n      utils.isString(domain) && cookie.push('domain=' + domain);\n\n      secure === true && cookie.push('secure');\n\n      document.cookie = cookie.join('; ');\n    },\n\n    read(name) {\n      const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n      return (match ? decodeURIComponent(match[3]) : null);\n    },\n\n    remove(name) {\n      this.write(name, '', Date.now() - 86400000);\n    }\n  }\n\n  :\n\n  // Non-standard browser env (web workers, react-native) lack needed support.\n  {\n    write() {},\n    read() {\n      return null;\n    },\n    remove() {}\n  };\n\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n  if (baseURL && !isAbsoluteURL(requestedURL)) {\n    return combineURLs(baseURL, requestedURL);\n  }\n  return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n  // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n  // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n  // by any combination of letters, digits, plus, period, or hyphen.\n  return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n  return relativeURL\n    ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n    : baseURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n  // eslint-disable-next-line no-param-reassign\n  config2 = config2 || {};\n  const config = {};\n\n  function getMergedValue(target, source, caseless) {\n    if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n      return utils.merge.call({caseless}, target, source);\n    } else if (utils.isPlainObject(source)) {\n      return utils.merge({}, source);\n    } else if (utils.isArray(source)) {\n      return source.slice();\n    }\n    return source;\n  }\n\n  // eslint-disable-next-line consistent-return\n  function mergeDeepProperties(a, b, caseless) {\n    if (!utils.isUndefined(b)) {\n      return getMergedValue(a, b, caseless);\n    } else if (!utils.isUndefined(a)) {\n      return getMergedValue(undefined, a, caseless);\n    }\n  }\n\n  // eslint-disable-next-line consistent-return\n  function valueFromConfig2(a, b) {\n    if (!utils.isUndefined(b)) {\n      return getMergedValue(undefined, b);\n    }\n  }\n\n  // eslint-disable-next-line consistent-return\n  function defaultToConfig2(a, b) {\n    if (!utils.isUndefined(b)) {\n      return getMergedValue(undefined, b);\n    } else if (!utils.isUndefined(a)) {\n      return getMergedValue(undefined, a);\n    }\n  }\n\n  // eslint-disable-next-line consistent-return\n  function mergeDirectKeys(a, b, prop) {\n    if (prop in config2) {\n      return getMergedValue(a, b);\n    } else if (prop in config1) {\n      return getMergedValue(undefined, a);\n    }\n  }\n\n  const mergeMap = {\n    url: valueFromConfig2,\n    method: valueFromConfig2,\n    data: valueFromConfig2,\n    baseURL: defaultToConfig2,\n    transformRequest: defaultToConfig2,\n    transformResponse: defaultToConfig2,\n    paramsSerializer: defaultToConfig2,\n    timeout: defaultToConfig2,\n    timeoutMessage: defaultToConfig2,\n    withCredentials: defaultToConfig2,\n    withXSRFToken: defaultToConfig2,\n    adapter: defaultToConfig2,\n    responseType: defaultToConfig2,\n    xsrfCookieName: defaultToConfig2,\n    xsrfHeaderName: defaultToConfig2,\n    onUploadProgress: defaultToConfig2,\n    onDownloadProgress: defaultToConfig2,\n    decompress: defaultToConfig2,\n    maxContentLength: defaultToConfig2,\n    maxBodyLength: defaultToConfig2,\n    beforeRedirect: defaultToConfig2,\n    transport: defaultToConfig2,\n    httpAgent: defaultToConfig2,\n    httpsAgent: defaultToConfig2,\n    cancelToken: defaultToConfig2,\n    socketPath: defaultToConfig2,\n    responseEncoding: defaultToConfig2,\n    validateStatus: mergeDirectKeys,\n    headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n  };\n\n  utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n    const merge = mergeMap[prop] || mergeDeepProperties;\n    const configValue = merge(config1[prop], config2[prop], prop);\n    (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n  });\n\n  return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n  const newConfig = mergeConfig({}, config);\n\n  let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n  newConfig.headers = headers = AxiosHeaders.from(headers);\n\n  newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n  // HTTP basic authentication\n  if (auth) {\n    headers.set('Authorization', 'Basic ' +\n      btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n    );\n  }\n\n  let contentType;\n\n  if (utils.isFormData(data)) {\n    if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n      headers.setContentType(undefined); // Let the browser set it\n    } else if ((contentType = headers.getContentType()) !== false) {\n      // fix semicolon duplication issue for ReactNative FormData implementation\n      const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n      headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n    }\n  }\n\n  // Add xsrf header\n  // This is only done if running in a standard browser environment.\n  // Specifically not if we're in a web worker, or react-native.\n\n  if (platform.hasStandardBrowserEnv) {\n    withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n    if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n      // Add xsrf header\n      const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n      if (xsrfValue) {\n        headers.set(xsrfHeaderName, xsrfValue);\n      }\n    }\n  }\n\n  return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n  return new Promise(function dispatchXhrRequest(resolve, reject) {\n    const _config = resolveConfig(config);\n    let requestData = _config.data;\n    const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n    let {responseType, onUploadProgress, onDownloadProgress} = _config;\n    let onCanceled;\n    let uploadThrottled, downloadThrottled;\n    let flushUpload, flushDownload;\n\n    function done() {\n      flushUpload && flushUpload(); // flush events\n      flushDownload && flushDownload(); // flush events\n\n      _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n      _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n    }\n\n    let request = new XMLHttpRequest();\n\n    request.open(_config.method.toUpperCase(), _config.url, true);\n\n    // Set the request timeout in MS\n    request.timeout = _config.timeout;\n\n    function onloadend() {\n      if (!request) {\n        return;\n      }\n      // Prepare the response\n      const responseHeaders = AxiosHeaders.from(\n        'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n      );\n      const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n        request.responseText : request.response;\n      const response = {\n        data: responseData,\n        status: request.status,\n        statusText: request.statusText,\n        headers: responseHeaders,\n        config,\n        request\n      };\n\n      settle(function _resolve(value) {\n        resolve(value);\n        done();\n      }, function _reject(err) {\n        reject(err);\n        done();\n      }, response);\n\n      // Clean up request\n      request = null;\n    }\n\n    if ('onloadend' in request) {\n      // Use onloadend if available\n      request.onloadend = onloadend;\n    } else {\n      // Listen for ready state to emulate onloadend\n      request.onreadystatechange = function handleLoad() {\n        if (!request || request.readyState !== 4) {\n          return;\n        }\n\n        // The request errored out and we didn't get a response, this will be\n        // handled by onerror instead\n        // With one exception: request that using file: protocol, most browsers\n        // will return status as 0 even though it's a successful request\n        if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n          return;\n        }\n        // readystate handler is calling before onerror or ontimeout handlers,\n        // so we should call onloadend on the next 'tick'\n        setTimeout(onloadend);\n      };\n    }\n\n    // Handle browser request cancellation (as opposed to a manual cancellation)\n    request.onabort = function handleAbort() {\n      if (!request) {\n        return;\n      }\n\n      reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Handle low level network errors\n    request.onerror = function handleError() {\n      // Real errors are hidden from us by the browser\n      // onerror should only fire if it's a network error\n      reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Handle timeout\n    request.ontimeout = function handleTimeout() {\n      let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n      const transitional = _config.transitional || transitionalDefaults;\n      if (_config.timeoutErrorMessage) {\n        timeoutErrorMessage = _config.timeoutErrorMessage;\n      }\n      reject(new AxiosError(\n        timeoutErrorMessage,\n        transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n        config,\n        request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Remove Content-Type if data is undefined\n    requestData === undefined && requestHeaders.setContentType(null);\n\n    // Add headers to the request\n    if ('setRequestHeader' in request) {\n      utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n        request.setRequestHeader(key, val);\n      });\n    }\n\n    // Add withCredentials to request if needed\n    if (!utils.isUndefined(_config.withCredentials)) {\n      request.withCredentials = !!_config.withCredentials;\n    }\n\n    // Add responseType to request if needed\n    if (responseType && responseType !== 'json') {\n      request.responseType = _config.responseType;\n    }\n\n    // Handle progress if needed\n    if (onDownloadProgress) {\n      ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n      request.addEventListener('progress', downloadThrottled);\n    }\n\n    // Not all browsers support upload events\n    if (onUploadProgress && request.upload) {\n      ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n      request.upload.addEventListener('progress', uploadThrottled);\n\n      request.upload.addEventListener('loadend', flushUpload);\n    }\n\n    if (_config.cancelToken || _config.signal) {\n      // Handle cancellation\n      // eslint-disable-next-line func-names\n      onCanceled = cancel => {\n        if (!request) {\n          return;\n        }\n        reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n        request.abort();\n        request = null;\n      };\n\n      _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n      if (_config.signal) {\n        _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n      }\n    }\n\n    const protocol = parseProtocol(_config.url);\n\n    if (protocol && platform.protocols.indexOf(protocol) === -1) {\n      reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n      return;\n    }\n\n\n    // Send the request\n    request.send(requestData || null);\n  });\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n  const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n  return match && match[1] || '';\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n  const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n  if (timeout || length) {\n    let controller = new AbortController();\n\n    let aborted;\n\n    const onabort = function (reason) {\n      if (!aborted) {\n        aborted = true;\n        unsubscribe();\n        const err = reason instanceof Error ? reason : this.reason;\n        controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n      }\n    }\n\n    let timer = timeout && setTimeout(() => {\n      timer = null;\n      onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n    }, timeout)\n\n    const unsubscribe = () => {\n      if (signals) {\n        timer && clearTimeout(timer);\n        timer = null;\n        signals.forEach(signal => {\n          signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n        });\n        signals = null;\n      }\n    }\n\n    signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n    const {signal} = controller;\n\n    signal.unsubscribe = () => utils.asap(unsubscribe);\n\n    return signal;\n  }\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n  let len = chunk.byteLength;\n\n  if (!chunkSize || len < chunkSize) {\n    yield chunk;\n    return;\n  }\n\n  let pos = 0;\n  let end;\n\n  while (pos < len) {\n    end = pos + chunkSize;\n    yield chunk.slice(pos, end);\n    pos = end;\n  }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n  for await (const chunk of readStream(iterable)) {\n    yield* streamChunk(chunk, chunkSize);\n  }\n}\n\nconst readStream = async function* (stream) {\n  if (stream[Symbol.asyncIterator]) {\n    yield* stream;\n    return;\n  }\n\n  const reader = stream.getReader();\n  try {\n    for (;;) {\n      const {done, value} = await reader.read();\n      if (done) {\n        break;\n      }\n      yield value;\n    }\n  } finally {\n    await reader.cancel();\n  }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n  const iterator = readBytes(stream, chunkSize);\n\n  let bytes = 0;\n  let done;\n  let _onFinish = (e) => {\n    if (!done) {\n      done = true;\n      onFinish && onFinish(e);\n    }\n  }\n\n  return new ReadableStream({\n    async pull(controller) {\n      try {\n        const {done, value} = await iterator.next();\n\n        if (done) {\n         _onFinish();\n          controller.close();\n          return;\n        }\n\n        let len = value.byteLength;\n        if (onProgress) {\n          let loadedBytes = bytes += len;\n          onProgress(loadedBytes);\n        }\n        controller.enqueue(new Uint8Array(value));\n      } catch (err) {\n        _onFinish(err);\n        throw err;\n      }\n    },\n    cancel(reason) {\n      _onFinish(reason);\n      return iterator.return();\n    }\n  }, {\n    highWaterMark: 2\n  })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n    ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n    async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n  try {\n    return !!fn(...args);\n  } catch (e) {\n    return false\n  }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n  let duplexAccessed = false;\n\n  const hasContentType = new Request(platform.origin, {\n    body: new ReadableStream(),\n    method: 'POST',\n    get duplex() {\n      duplexAccessed = true;\n      return 'half';\n    },\n  }).headers.has('Content-Type');\n\n  return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n  test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n  stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n  ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n    !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n      (_, config) => {\n        throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n      })\n  });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n  if (body == null) {\n    return 0;\n  }\n\n  if(utils.isBlob(body)) {\n    return body.size;\n  }\n\n  if(utils.isSpecCompliantForm(body)) {\n    const _request = new Request(platform.origin, {\n      method: 'POST',\n      body,\n    });\n    return (await _request.arrayBuffer()).byteLength;\n  }\n\n  if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n    return body.byteLength;\n  }\n\n  if(utils.isURLSearchParams(body)) {\n    body = body + '';\n  }\n\n  if(utils.isString(body)) {\n    return (await encodeText(body)).byteLength;\n  }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n  const length = utils.toFiniteNumber(headers.getContentLength());\n\n  return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n  let {\n    url,\n    method,\n    data,\n    signal,\n    cancelToken,\n    timeout,\n    onDownloadProgress,\n    onUploadProgress,\n    responseType,\n    headers,\n    withCredentials = 'same-origin',\n    fetchOptions\n  } = resolveConfig(config);\n\n  responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n  let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n  let request;\n\n  const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n      composedSignal.unsubscribe();\n  });\n\n  let requestContentLength;\n\n  try {\n    if (\n      onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n      (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n    ) {\n      let _request = new Request(url, {\n        method: 'POST',\n        body: data,\n        duplex: \"half\"\n      });\n\n      let contentTypeHeader;\n\n      if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n        headers.setContentType(contentTypeHeader)\n      }\n\n      if (_request.body) {\n        const [onProgress, flush] = progressEventDecorator(\n          requestContentLength,\n          progressEventReducer(asyncDecorator(onUploadProgress))\n        );\n\n        data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n      }\n    }\n\n    if (!utils.isString(withCredentials)) {\n      withCredentials = withCredentials ? 'include' : 'omit';\n    }\n\n    // Cloudflare Workers throws when credentials are defined\n    // see https://github.com/cloudflare/workerd/issues/902\n    const isCredentialsSupported = \"credentials\" in Request.prototype;\n    request = new Request(url, {\n      ...fetchOptions,\n      signal: composedSignal,\n      method: method.toUpperCase(),\n      headers: headers.normalize().toJSON(),\n      body: data,\n      duplex: \"half\",\n      credentials: isCredentialsSupported ? withCredentials : undefined\n    });\n\n    let response = await fetch(request);\n\n    const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n    if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n      const options = {};\n\n      ['status', 'statusText', 'headers'].forEach(prop => {\n        options[prop] = response[prop];\n      });\n\n      const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n      const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n        responseContentLength,\n        progressEventReducer(asyncDecorator(onDownloadProgress), true)\n      ) || [];\n\n      response = new Response(\n        trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n          flush && flush();\n          unsubscribe && unsubscribe();\n        }),\n        options\n      );\n    }\n\n    responseType = responseType || 'text';\n\n    let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n    !isStreamResponse && unsubscribe && unsubscribe();\n\n    return await new Promise((resolve, reject) => {\n      settle(resolve, reject, {\n        data: responseData,\n        headers: AxiosHeaders.from(response.headers),\n        status: response.status,\n        statusText: response.statusText,\n        config,\n        request\n      })\n    })\n  } catch (err) {\n    unsubscribe && unsubscribe();\n\n    if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n      throw Object.assign(\n        new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n        {\n          cause: err.cause || err\n        }\n      )\n    }\n\n    throw AxiosError.from(err, err && err.code, config, request);\n  }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n  http: httpAdapter,\n  xhr: xhrAdapter,\n  fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n  if (fn) {\n    try {\n      Object.defineProperty(fn, 'name', {value});\n    } catch (e) {\n      // eslint-disable-next-line no-empty\n    }\n    Object.defineProperty(fn, 'adapterName', {value});\n  }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n  getAdapter: (adapters) => {\n    adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n    const {length} = adapters;\n    let nameOrAdapter;\n    let adapter;\n\n    const rejectedReasons = {};\n\n    for (let i = 0; i < length; i++) {\n      nameOrAdapter = adapters[i];\n      let id;\n\n      adapter = nameOrAdapter;\n\n      if (!isResolvedHandle(nameOrAdapter)) {\n        adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n        if (adapter === undefined) {\n          throw new AxiosError(`Unknown adapter '${id}'`);\n        }\n      }\n\n      if (adapter) {\n        break;\n      }\n\n      rejectedReasons[id || '#' + i] = adapter;\n    }\n\n    if (!adapter) {\n\n      const reasons = Object.entries(rejectedReasons)\n        .map(([id, state]) => `adapter ${id} ` +\n          (state === false ? 'is not supported by the environment' : 'is not available in the build')\n        );\n\n      let s = length ?\n        (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n        'as no adapter specified';\n\n      throw new AxiosError(\n        `There is no suitable adapter to dispatch the request ` + s,\n        'ERR_NOT_SUPPORT'\n      );\n    }\n\n    return adapter;\n  },\n  adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n  if (config.cancelToken) {\n    config.cancelToken.throwIfRequested();\n  }\n\n  if (config.signal && config.signal.aborted) {\n    throw new CanceledError(null, config);\n  }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n  throwIfCancellationRequested(config);\n\n  config.headers = AxiosHeaders.from(config.headers);\n\n  // Transform request data\n  config.data = transformData.call(\n    config,\n    config.transformRequest\n  );\n\n  if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n    config.headers.setContentType('application/x-www-form-urlencoded', false);\n  }\n\n  const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n  return adapter(config).then(function onAdapterResolution(response) {\n    throwIfCancellationRequested(config);\n\n    // Transform response data\n    response.data = transformData.call(\n      config,\n      config.transformResponse,\n      response\n    );\n\n    response.headers = AxiosHeaders.from(response.headers);\n\n    return response;\n  }, function onAdapterRejection(reason) {\n    if (!isCancel(reason)) {\n      throwIfCancellationRequested(config);\n\n      // Transform response data\n      if (reason && reason.response) {\n        reason.response.data = transformData.call(\n          config,\n          config.transformResponse,\n          reason.response\n        );\n        reason.response.headers = AxiosHeaders.from(reason.response.headers);\n      }\n    }\n\n    return Promise.reject(reason);\n  });\n}\n","export const VERSION = \"1.7.7\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n  validators[type] = function validator(thing) {\n    return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n  };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n  function formatMessage(opt, desc) {\n    return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n  }\n\n  // eslint-disable-next-line func-names\n  return (value, opt, opts) => {\n    if (validator === false) {\n      throw new AxiosError(\n        formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n        AxiosError.ERR_DEPRECATED\n      );\n    }\n\n    if (version && !deprecatedWarnings[opt]) {\n      deprecatedWarnings[opt] = true;\n      // eslint-disable-next-line no-console\n      console.warn(\n        formatMessage(\n          opt,\n          ' has been deprecated since v' + version + ' and will be removed in the near future'\n        )\n      );\n    }\n\n    return validator ? validator(value, opt, opts) : true;\n  };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n  if (typeof options !== 'object') {\n    throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n  }\n  const keys = Object.keys(options);\n  let i = keys.length;\n  while (i-- > 0) {\n    const opt = keys[i];\n    const validator = schema[opt];\n    if (validator) {\n      const value = options[opt];\n      const result = value === undefined || validator(value, opt, options);\n      if (result !== true) {\n        throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n      }\n      continue;\n    }\n    if (allowUnknown !== true) {\n      throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n    }\n  }\n}\n\nexport default {\n  assertOptions,\n  validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n  constructor(instanceConfig) {\n    this.defaults = instanceConfig;\n    this.interceptors = {\n      request: new InterceptorManager(),\n      response: new InterceptorManager()\n    };\n  }\n\n  /**\n   * Dispatch a request\n   *\n   * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n   * @param {?Object} config\n   *\n   * @returns {Promise} The Promise to be fulfilled\n   */\n  async request(configOrUrl, config) {\n    try {\n      return await this._request(configOrUrl, config);\n    } catch (err) {\n      if (err instanceof Error) {\n        let dummy;\n\n        Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n        // slice off the Error: ... line\n        const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n        try {\n          if (!err.stack) {\n            err.stack = stack;\n            // match without the 2 top stack lines\n          } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n            err.stack += '\\n' + stack\n          }\n        } catch (e) {\n          // ignore the case where \"stack\" is an un-writable property\n        }\n      }\n\n      throw err;\n    }\n  }\n\n  _request(configOrUrl, config) {\n    /*eslint no-param-reassign:0*/\n    // Allow for axios('example/url'[, config]) a la fetch API\n    if (typeof configOrUrl === 'string') {\n      config = config || {};\n      config.url = configOrUrl;\n    } else {\n      config = configOrUrl || {};\n    }\n\n    config = mergeConfig(this.defaults, config);\n\n    const {transitional, paramsSerializer, headers} = config;\n\n    if (transitional !== undefined) {\n      validator.assertOptions(transitional, {\n        silentJSONParsing: validators.transitional(validators.boolean),\n        forcedJSONParsing: validators.transitional(validators.boolean),\n        clarifyTimeoutError: validators.transitional(validators.boolean)\n      }, false);\n    }\n\n    if (paramsSerializer != null) {\n      if (utils.isFunction(paramsSerializer)) {\n        config.paramsSerializer = {\n          serialize: paramsSerializer\n        }\n      } else {\n        validator.assertOptions(paramsSerializer, {\n          encode: validators.function,\n          serialize: validators.function\n        }, true);\n      }\n    }\n\n    // Set config.method\n    config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n    // Flatten headers\n    let contextHeaders = headers && utils.merge(\n      headers.common,\n      headers[config.method]\n    );\n\n    headers && utils.forEach(\n      ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n      (method) => {\n        delete headers[method];\n      }\n    );\n\n    config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n    // filter out skipped interceptors\n    const requestInterceptorChain = [];\n    let synchronousRequestInterceptors = true;\n    this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n      if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n        return;\n      }\n\n      synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n      requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n    });\n\n    const responseInterceptorChain = [];\n    this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n      responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n    });\n\n    let promise;\n    let i = 0;\n    let len;\n\n    if (!synchronousRequestInterceptors) {\n      const chain = [dispatchRequest.bind(this), undefined];\n      chain.unshift.apply(chain, requestInterceptorChain);\n      chain.push.apply(chain, responseInterceptorChain);\n      len = chain.length;\n\n      promise = Promise.resolve(config);\n\n      while (i < len) {\n        promise = promise.then(chain[i++], chain[i++]);\n      }\n\n      return promise;\n    }\n\n    len = requestInterceptorChain.length;\n\n    let newConfig = config;\n\n    i = 0;\n\n    while (i < len) {\n      const onFulfilled = requestInterceptorChain[i++];\n      const onRejected = requestInterceptorChain[i++];\n      try {\n        newConfig = onFulfilled(newConfig);\n      } catch (error) {\n        onRejected.call(this, error);\n        break;\n      }\n    }\n\n    try {\n      promise = dispatchRequest.call(this, newConfig);\n    } catch (error) {\n      return Promise.reject(error);\n    }\n\n    i = 0;\n    len = responseInterceptorChain.length;\n\n    while (i < len) {\n      promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n    }\n\n    return promise;\n  }\n\n  getUri(config) {\n    config = mergeConfig(this.defaults, config);\n    const fullPath = buildFullPath(config.baseURL, config.url);\n    return buildURL(fullPath, config.params, config.paramsSerializer);\n  }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n  /*eslint func-names:0*/\n  Axios.prototype[method] = function(url, config) {\n    return this.request(mergeConfig(config || {}, {\n      method,\n      url,\n      data: (config || {}).data\n    }));\n  };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n  /*eslint func-names:0*/\n\n  function generateHTTPMethod(isForm) {\n    return function httpMethod(url, data, config) {\n      return this.request(mergeConfig(config || {}, {\n        method,\n        headers: isForm ? {\n          'Content-Type': 'multipart/form-data'\n        } : {},\n        url,\n        data\n      }));\n    };\n  }\n\n  Axios.prototype[method] = generateHTTPMethod();\n\n  Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n  constructor(executor) {\n    if (typeof executor !== 'function') {\n      throw new TypeError('executor must be a function.');\n    }\n\n    let resolvePromise;\n\n    this.promise = new Promise(function promiseExecutor(resolve) {\n      resolvePromise = resolve;\n    });\n\n    const token = this;\n\n    // eslint-disable-next-line func-names\n    this.promise.then(cancel => {\n      if (!token._listeners) return;\n\n      let i = token._listeners.length;\n\n      while (i-- > 0) {\n        token._listeners[i](cancel);\n      }\n      token._listeners = null;\n    });\n\n    // eslint-disable-next-line func-names\n    this.promise.then = onfulfilled => {\n      let _resolve;\n      // eslint-disable-next-line func-names\n      const promise = new Promise(resolve => {\n        token.subscribe(resolve);\n        _resolve = resolve;\n      }).then(onfulfilled);\n\n      promise.cancel = function reject() {\n        token.unsubscribe(_resolve);\n      };\n\n      return promise;\n    };\n\n    executor(function cancel(message, config, request) {\n      if (token.reason) {\n        // Cancellation has already been requested\n        return;\n      }\n\n      token.reason = new CanceledError(message, config, request);\n      resolvePromise(token.reason);\n    });\n  }\n\n  /**\n   * Throws a `CanceledError` if cancellation has been requested.\n   */\n  throwIfRequested() {\n    if (this.reason) {\n      throw this.reason;\n    }\n  }\n\n  /**\n   * Subscribe to the cancel signal\n   */\n\n  subscribe(listener) {\n    if (this.reason) {\n      listener(this.reason);\n      return;\n    }\n\n    if (this._listeners) {\n      this._listeners.push(listener);\n    } else {\n      this._listeners = [listener];\n    }\n  }\n\n  /**\n   * Unsubscribe from the cancel signal\n   */\n\n  unsubscribe(listener) {\n    if (!this._listeners) {\n      return;\n    }\n    const index = this._listeners.indexOf(listener);\n    if (index !== -1) {\n      this._listeners.splice(index, 1);\n    }\n  }\n\n  toAbortSignal() {\n    const controller = new AbortController();\n\n    const abort = (err) => {\n      controller.abort(err);\n    };\n\n    this.subscribe(abort);\n\n    controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n    return controller.signal;\n  }\n\n  /**\n   * Returns an object that contains a new `CancelToken` and a function that, when called,\n   * cancels the `CancelToken`.\n   */\n  static source() {\n    let cancel;\n    const token = new CancelToken(function executor(c) {\n      cancel = c;\n    });\n    return {\n      token,\n      cancel\n    };\n  }\n}\n\nexport default CancelToken;\n","const HttpStatusCode = {\n  Continue: 100,\n  SwitchingProtocols: 101,\n  Processing: 102,\n  EarlyHints: 103,\n  Ok: 200,\n  Created: 201,\n  Accepted: 202,\n  NonAuthoritativeInformation: 203,\n  NoContent: 204,\n  ResetContent: 205,\n  PartialContent: 206,\n  MultiStatus: 207,\n  AlreadyReported: 208,\n  ImUsed: 226,\n  MultipleChoices: 300,\n  MovedPermanently: 301,\n  Found: 302,\n  SeeOther: 303,\n  NotModified: 304,\n  UseProxy: 305,\n  Unused: 306,\n  TemporaryRedirect: 307,\n  PermanentRedirect: 308,\n  BadRequest: 400,\n  Unauthorized: 401,\n  PaymentRequired: 402,\n  Forbidden: 403,\n  NotFound: 404,\n  MethodNotAllowed: 405,\n  NotAcceptable: 406,\n  ProxyAuthenticationRequired: 407,\n  RequestTimeout: 408,\n  Conflict: 409,\n  Gone: 410,\n  LengthRequired: 411,\n  PreconditionFailed: 412,\n  PayloadTooLarge: 413,\n  UriTooLong: 414,\n  UnsupportedMediaType: 415,\n  RangeNotSatisfiable: 416,\n  ExpectationFailed: 417,\n  ImATeapot: 418,\n  MisdirectedRequest: 421,\n  UnprocessableEntity: 422,\n  Locked: 423,\n  FailedDependency: 424,\n  TooEarly: 425,\n  UpgradeRequired: 426,\n  PreconditionRequired: 428,\n  TooManyRequests: 429,\n  RequestHeaderFieldsTooLarge: 431,\n  UnavailableForLegalReasons: 451,\n  InternalServerError: 500,\n  NotImplemented: 501,\n  BadGateway: 502,\n  ServiceUnavailable: 503,\n  GatewayTimeout: 504,\n  HttpVersionNotSupported: 505,\n  VariantAlsoNegotiates: 506,\n  InsufficientStorage: 507,\n  LoopDetected: 508,\n  NotExtended: 510,\n  NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n  HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n  const context = new Axios(defaultConfig);\n  const instance = bind(Axios.prototype.request, context);\n\n  // Copy axios.prototype to instance\n  utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n  // Copy context to instance\n  utils.extend(instance, context, null, {allOwnKeys: true});\n\n  // Factory for creating new instances\n  instance.create = function create(instanceConfig) {\n    return createInstance(mergeConfig(defaultConfig, instanceConfig));\n  };\n\n  return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n  return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n *  ```js\n *  function f(x, y, z) {}\n *  var args = [1, 2, 3];\n *  f.apply(null, args);\n *  ```\n *\n * With `spread` this example can be re-written.\n *\n *  ```js\n *  spread(function(x, y, z) {})([1, 2, 3]);\n *  ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n  return function wrap(arr) {\n    return callback.apply(null, arr);\n  };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n  return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import cuid from 'cuid';\n\nexport default function createBatchId() {\n\treturn cuid();\n}\n","import {DEFAULT_BATCH_URL, DEFAULT_BATCH_METHOD, DEFAULT_BATCH_MAX, DEFAULT_BATCH_INTERVAL} from './defaults';\nimport {createBatchId} from './utils';\nimport invariant from 'invariant';\nimport forEach from 'lodash/forEach';\nimport reduce from 'lodash/reduce';\nimport toUpper from 'lodash/toUpper';\n\nfunction createHttpRequestBatcher({\n\t\t\t\t\t\t\t\t\t  batchUrl = DEFAULT_BATCH_URL,\n\t\t\t\t\t\t\t\t\t  batchMethod = DEFAULT_BATCH_METHOD,\n\t\t\t\t\t\t\t\t\t  batchMax = DEFAULT_BATCH_MAX,\n\t\t\t\t\t\t\t\t\t  batchInterval = DEFAULT_BATCH_INTERVAL,\n\t\t\t\t\t\t\t\t\t  sendRequest\n\t\t\t\t\t\t\t\t  } = {}) {\n\n\tinvariant(sendRequest, `createHttpRequestBatcher: options must contain 'sendRequest' function.`);\n\n\tlet batchingQueue = [];\n\tconst batchItemConfigMap = new Map();\n\n\tfunction enqueue(batchItem) {\n\t\tbatchingQueue.push(batchItem);\n\n\t\tif (batchingQueue.length === 1)\n\t\t\tscheduleProcessQueue();\n\n\t\tif (batchingQueue.length === batchMax) {\n\t\t\tprocessQueue();\n\t\t}\n\t}\n\n\tfunction enqueueRequest(url, method, options) {\n\t\tconst requestId = createBatchId();\n\n\t\tlet deferredResolve, deferredReject;\n\t\tconst promise = new Promise((resolve, reject) => {\n\t\t\tdeferredResolve = resolve;\n\t\t\tdeferredReject = reject;\n\t\t});\n\n\t\tconst {\n\t\t\tdata,\n\t\t\tparams,\n\t\t\theaders,\n\t\t} = options;\n\n\t\tconst batchItem = {\n\t\t\trequestId,\n\t\t\trequest: {\n\t\t\t\tid: requestId,\n\t\t\t\theaders: createHeaders(headers),\n\t\t\t\turl,\n\t\t\t\tmethod: toUpper(options.method || method),\n\t\t\t\t...data && {body: data},\n\t\t\t\t...params && {params: params}\n\t\t\t},\n\t\t\tdeferredReject,\n\t\t\tdeferredResolve\n\t\t};\n\n\t\tenqueue(batchItem);\n\n\t\treturn promise;\n\t}\n\n\tfunction batchErrorHandler(error) {\n\t\tconst response = error.response || {};\n\t\tconst config = error.config || {};\n\t\tconst data = config.data || {};\n\n\t\tforEach(data.rest_requests, req => {\n\t\t\tconst {id} = req;\n\t\t\tif (id === undefined || !batchItemConfigMap.has(id))\n\t\t\t\treturn;\n\n\t\t\tconst {deferredReject} = batchItemConfigMap.get(id);\n\t\t\tdeferredReject({\n\t\t\t\t...error,\n\t\t\t\tresponse: {\n\t\t\t\t\theaders: response.headers,\n\t\t\t\t\tdata: response.data,\n\t\t\t\t\tstatus: response.status,\n\t\t\t\t\tstatusText: response.statusText\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tbatchItemConfigMap.delete(id)\n\t\t});\n\t}\n\n\tfunction batchSuccessHandler(response) {\n\t\tconst {\n\t\t\tdata = {},\n\t\t\tconfig = {}\n\t\t} = response;\n\n\t\tconst {\n\t\t\tserviced_requests = [],\n\t\t\tunserviced_requests = [],\n\t\t} = data;\n\n\t\t// Handle Serviced Requests\n\t\tforEach(serviced_requests, (resp) => {\n\t\t\tconst {id, ...rest} = resp;\n\t\t\tif (id === undefined || !batchItemConfigMap.has(id))\n\t\t\t\treturn;\n\n\t\t\tconst {deferredResolve, deferredReject} = batchItemConfigMap.get(id);\n\n\t\t\tif (isSuccessStatus(resp.status))\n\t\t\t\tdeferredResolve(rest);\n\t\t\telse\n\t\t\t\tdeferredReject({\n\t\t\t\t\tconfig,\n\t\t\t\t\tresponse: rest\n\t\t\t\t});\n\n\t\t\tbatchItemConfigMap.delete(id)\n\t\t});\n\n\t\t// Handle Unserviced Request\n\t\tforEach(unserviced_requests, (id) => {\n\t\t\tenqueue(batchItemConfigMap.get(id))\n\t\t});\n\t}\n\n\tfunction processQueue() {\n\t\tconst batchId = createBatchId();\n\t\tconst rest_requests = [];\n\n\t\twhile (batchingQueue.length) {\n\t\t\tconst item = batchingQueue.shift();\n\t\t\trest_requests.push(item.request);\n\t\t\tbatchItemConfigMap.set(item.requestId, item);\n\t\t}\n\n\t\tconst data = {\n\t\t\tbatch_request_id: batchId,\n\t\t\tenforce_order: false,\n\t\t\trest_requests\n\t\t};\n\n\t\tsendRequest(batchUrl, batchMethod, {\n\t\t\tbatch: true,\n\t\t\tdata\n\t\t})\n\t\t\t.then(batchSuccessHandler)\n\t\t\t.catch(batchErrorHandler);\n\t}\n\n\tfunction scheduleProcessQueue() {\n\t\tsetTimeout(() => {\n\t\t\tif (batchingQueue.length)\n\t\t\t\tprocessQueue();\n\t\t}, batchInterval);\n\t}\n\n\tfunction createHeaders(headers = {}) {\n\t\treturn reduce(headers, (result, value, name) => {\n\t\t\tresult.push({\n\t\t\t\tname,\n\t\t\t\tvalue\n\t\t\t});\n\t\t\treturn result;\n\t\t}, []);\n\t}\n\n\tfunction isSuccessStatus(statusCode) {\n\t\treturn (statusCode >= 200 && statusCode < 300);\n\t}\n\n\treturn {\n\t\tget currentQueueSize() {\n\t\t\treturn batchingQueue.length;\n\t\t},\n\t\tenqueueRequest\n\t};\n}\n\nexport default createHttpRequestBatcher;\n","export const DEFAULT_BATCH_URL = '/api/now/v1/batch';\nexport const DEFAULT_BATCH_METHOD = 'post';\nexport const DEFAULT_BATCH_MAX = 10;\nexport const DEFAULT_BATCH_INTERVAL = 50;\n","export const XTransactionSource = 'X-Transaction-Source';\nexport const XUserTokenHeader = 'X-UserToken';\n","import qs from 'qs';\nimport map from 'lodash/map';\nimport {b64EncodeUnicode} from './utils';\nimport {XUserTokenHeader} from '../constants';\n\nfunction appendQuery(url, params) {\n\tconst querySting = qs.stringify(params, {addQueryPrefix: true});\n\treturn `${url}${querySting}`;\n}\n\n/**\n * @method createBatchRequestInterceptor\n * @param {String} userToken\n * @return {function(*)} Interceptor\n */\nfunction createBatchRequestInterceptor(userToken) {\n\treturn config => {\n\t\tif (!config.data || !config.data.batch_request_id)\n\t\t\treturn config;\n\n\t\tconst transformRequest = config.transformRequest[0];\n\t\tconst restRequests = config.data.rest_requests || [];\n\t\tconst updatedRestRequests = map(restRequests, request => {\n\t\t\tconst {\n\t\t\t\theaders,\n\t\t\t\tbody,\n\t\t\t\turl,\n\t\t\t\tparams,\n\t\t\t\t...rest\n\t\t\t} = request;\n\n\t\t\tconst updatedUrl = appendQuery(url, params);\n\t\t\tconst updatedBody = body ? b64EncodeUnicode(transformRequest(body)) : body;\n\t\t\tconst updatedHeaders = userToken ? [...headers, {\n\t\t\t\tname: XUserTokenHeader,\n\t\t\t\tvalue: userToken\n\t\t\t}] : [...headers];\n\n\t\t\treturn {\n\t\t\t\t...rest,\n\t\t\t\turl: updatedUrl,\n\t\t\t\theaders: updatedHeaders,\n\t\t\t\tbody: updatedBody\n\t\t\t}\n\t\t});\n\n\t\treturn {\n\t\t\t...config,\n\t\t\tdata: {\n\t\t\t\t...config.data,\n\t\t\t\trest_requests: updatedRestRequests\n\t\t\t}\n\t\t};\n\t}\n}\n\nexport default createBatchRequestInterceptor;\n","/**\n * See:\n * https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding\n * The Unicode Problem: Solution #1\n *\n * @param str\n * @return {string}\n */\nexport default function b64EncodeUnicode(str) {\n\treturn btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g,\n\t\tfunction toSolidBytes(match, p1) {\n\t\t\treturn String.fromCharCode('0x' + p1);\n\t\t}));\n}\n","import map from 'lodash/map';\nimport reduce from 'lodash/reduce';\nimport {b64DecodeUnicode} from './utils';\n\n/**\n * @method createBatchResponseSuccessInterceptor\n * @return {function(*)} Interceptor\n */\nfunction createBatchResponseSuccessInterceptor() {\n\tfunction transformBody(body) {\n\t\tlet data = b64DecodeUnicode(body);\n\t\tif (typeof data === 'string') {\n\t\t\ttry {\n\t\t\t\tdata = JSON.parse(data);\n\t\t\t} catch (e) {\n\t\t\t\t/* Ignore */\n\t\t\t}\n\t\t}\n\t\treturn data;\n\t}\n\n\tfunction transformHeaders(headers) {\n\t\treturn reduce(headers, (acc, {name, value}) => {\n\t\t\treturn {\n\t\t\t\t...acc,\n\t\t\t\t[name]: value\n\t\t\t}\n\t\t}, {});\n\t}\n\n\tfunction transformServiceResponse(response) {\n\t\treturn {\n\t\t\tid: response.id,\t// batch item id\n\t\t\tdata: transformBody(response.body),\n\t\t\theaders: transformHeaders(response.headers),\n\t\t\tstatus: response.status_code,\n\t\t\tstatusText: response.status_text,\n\t\t\t...response.error_message && {\n\t\t\t\terror: true,\n\t\t\t\terrorMessage: response.error_message\n\t\t\t}\n\t\t};\n\t}\n\n\treturn response => {\n\t\tconst {config, data = {}} = response;\n\n\t\tif (config.batch === true) {\n\t\t\tconst {serviced_requests = []} = data;\n\t\t\tconst updatedServiceRequests = map(serviced_requests, transformServiceResponse);\n\n\t\t\treturn {\n\t\t\t\t...response,\n\t\t\t\tdata: {\n\t\t\t\t\t...data,\n\t\t\t\t\tserviced_requests: updatedServiceRequests\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\n\t\treturn response;\n\t};\n}\n\nexport default createBatchResponseSuccessInterceptor;\n","/**\n * See:\n * https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding\n * The Unicode Problem: Solution #1\n *\n * @param str\n * @return {string}\n */\nexport default function b64DecodeUnicode(str) {\n\treturn decodeURIComponent(atob(str).split('').map(c => {\n\t\treturn '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n\t}).join(''));\n}\n","/**\n * @method createBatchResponseFailedInterceptor\n * @return {function(*)} Interceptor\n */\nfunction createBatchResponseFailedInterceptor() {\n\tfunction transformData(data) {\n\t\tif (typeof data === 'string') {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(data);\n\t\t\t} catch (e) {\n\t\t\t\t/* Ignore */\n\t\t\t}\n\t\t}\n\t\treturn data;\n\t}\n\n\treturn error => {\n\t\tconst {config, response, message} = error;\n\n\t\tif (config && config.batch === true) {\n\t\t\treturn Promise.reject({\n\t\t\t\t...error,\n\t\t\t\tconfig: {\n\t\t\t\t\t...config,\n\t\t\t\t\tdata: transformData(config.data)\n\t\t\t\t},\n\t\t\t\t...response && {\n\t\t\t\t\t...response,\n\t\t\t\t\tdata: transformData(response.data)\n\t\t\t\t},\n\t\t\t\tmessage\n\t\t\t});\n\t\t}\n\n\t\treturn Promise.reject(error);\n\t};\n}\n\nexport default createBatchResponseFailedInterceptor;\n","import axios from 'axios';\nimport {\n\tcreateBatchRequestInterceptor,\n\tcreateBatchResponseSuccessInterceptor,\n\tcreateBatchResponseFailedInterceptor\n} from './batch';\nimport {XUserTokenHeader, XTransactionSource} from './constants';\nimport cloneDeep from 'lodash/cloneDeep';\n\nconst snHttpClient = (() => {\n\tconst axiosInstance = axios.create();\n\tlet currentUserToken;\n\tlet transactionSource;\n\tlet defaultHeaders;\n\n\taxiosInstance.interceptors.request.use(config => {\n\t\tconst headers = {\n\t\t\t...defaultHeaders,\n\t\t\t...config.headers,\n\t\t\t[XUserTokenHeader]: currentUserToken,\n\t\t\t...transactionSource && {[XTransactionSource]: transactionSource}\n\t\t};\n\n\t\treturn {\n\t\t\t...config,\n\t\t\theaders\n\t\t};\n\t});\n\n\taxiosInstance.interceptors.response.use(undefined, error => {\n\t\tconst {response} = error;\n\n\t\tif (response && response.status === 401 && response.config) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tconst newToken = response.headers['x-usertoken-response'];\n\n\t\t\t\tif (!newToken || newToken === currentUserToken)\n\t\t\t\t\treturn reject(error);\n\n\t\t\t\tcurrentUserToken = newToken;\n\t\t\t\tconst newConfig = cloneDeep(response.config);\n\t\t\t\tnewConfig.headers[XUserTokenHeader] = newToken;\n\t\t\t\treturn resolve(axiosInstance(newConfig));\n\t\t\t});\n\t\t}\n\n\t\treturn Promise.reject(error);\n\t});\n\n\t// Batching Interceptors\n\taxiosInstance.interceptors.request\n\t\t.use(createBatchRequestInterceptor(currentUserToken));\n\taxiosInstance.interceptors.response\n\t\t.use(createBatchResponseSuccessInterceptor(), createBatchResponseFailedInterceptor());\n\n\taxiosInstance.getSource = () => {\n\t\tconst CancelToken = axios.CancelToken;\n\t\treturn CancelToken.source();\n\t};\n\n\taxiosInstance.setXsrfToken = (token) => {\n\t\tcurrentUserToken = token;\n\t};\n\n\taxiosInstance.setXTransactionSource = (source) => {\n\t\ttransactionSource = source;\n\t};\n\n\taxiosInstance.setDefaultHeaders = (headers) => {\n\t\tdefaultHeaders = headers;\n\t};\n\n\treturn axiosInstance;\n})();\n\nexport default snHttpClient;\n","/****************************************************************************\n * Copy of util functions from axios source code since it isn't exported\n *\n * Potentially replace later...\n ****************************************************************************/\n\nimport isFunction from 'lodash/isFunction';\nimport isObjectLike from 'lodash/isObjectLike';\n\nconst toString = Object.prototype.toString;\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nexport function isFormData(val) {\n\treturn (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nexport function isArrayBufferView(val) {\n\tlet result;\n\tif ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n\t\tresult = ArrayBuffer.isView(val);\n\t} else {\n\t\tresult = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n\t}\n\treturn result;\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nexport function isFile(val) {\n\treturn toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nexport function isBlob(val) {\n\treturn toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nexport function isStream(val) {\n\treturn isObjectLike(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nexport function isURLSearchParams(val) {\n\treturn typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n","import overSome from 'lodash/overSome';\nimport isArrayBuffer from 'lodash/isArrayBuffer';\nimport isBuffer from 'lodash/isBuffer';\nimport {\n\tisArrayBufferView,\n\tisBlob,\n\tisFile,\n\tisFormData,\n\tisStream,\n\tisURLSearchParams\n} from './utils';\n\nfunction isBatchable(data) {\n\treturn !(overSome([\n\t\tisArrayBuffer,\n\t\tisArrayBufferView,\n\t\tisBlob,\n\t\tisBuffer,\n\t\tisFile,\n\t\tisFormData,\n\t\tisStream,\n\t\tisURLSearchParams])(data));\n}\n\n/**\n * Currently, only standard request bodies are supported that can be JSON stringified\n *\n * @param options\n * @return {boolean}\n */\nexport default function shouldBatch(options = {}) {\n\tconst {\n\t\tbatching = true,\t// Client level config\n\t\tbatch,\t\t\t\t// Request level config\n\t\tdata = {}\n\t} = options;\n\n\treturn ((batch === true || batch === false) ? batch : batching) && batching && isBatchable(data);\n};\n","import snHttpClient from './snHttpClient';\nimport {createHttpRequestBatcher} from './batch';\nimport {shouldBatch} from './utils';\n\n/**\n * Factory for creating new HTTP request clients.  HTTP request clients will typically\n * be long-lived objects as they manage queuing, interceptors, etc.  The factory allows\n * for callers to control the lifecycle of those request clients.\n */\nconst snHttpFactory = ((httpClient) => {\n\treturn (setup = {}) => {\n\n\t\tconst SUPPORTED_METHODS = setup.methods || ['get', 'post', 'put', 'patch', 'delete', 'head'];\n\t\tconst MAX_IN_FLIGHT = setup.maxConcurrent || 2;\n\t\tconst queue = setup.queue || [];\n\t\tconst batching = setup.batching !== false;\n\t\tif (setup.xsrfToken)\n\t\t\thttpClient.setXsrfToken(setup.xsrfToken);\n\t\telse\n\t\t\tconsole.warn('No XSRF token supplied in snHttp construction.  Setting an initial XSRF token ' +\n\t\t\t\t'(typically found on window.g_ck) is highly advised to avoid a 401 on initial request.');\n\n\t\tif (setup.xTransactionSource)\n\t\t\thttpClient.setXTransactionSource(setup.xTransactionSource);\n\n\t\tif (setup.headers)\n\t\t\thttpClient.setDefaultHeaders(setup.headers);\n\n\t\tconst requestBatcher = createHttpRequestBatcher({\n\t\t\tsendRequest: enqueueRequest\n\t\t});\n\n\t\tlet inFlightRequests = [];\n\n\t\tfunction decrementInFlightRequests() {\n\t\t\treturn inFlightRequests.length > 0 && inFlightRequests.shift();\n\t\t}\n\n\t\tfunction incrementInFlightRequests(request) {\n\t\t\tinFlightRequests.push(request);\n\t\t}\n\n\t\tfunction getInFlightRequestCount() {\n\t\t\treturn inFlightRequests.length;\n\t\t}\n\n\t\tfunction startIfIdle() {\n\t\t\tif (getInFlightRequestCount() === 0)\n\t\t\t\tnext();\n\t\t}\n\n\t\tfunction enqueue(requestDescriptor) {\n\t\t\tqueue.push(requestDescriptor);\n\t\t}\n\n\t\tfunction numAvailableSlots() {\n\t\t\treturn MAX_IN_FLIGHT - getInFlightRequestCount();\n\t\t}\n\n\t\tfunction advance() {\n\t\t\tdecrementInFlightRequests();\n\t\t\tnext();\n\t\t}\n\n\t\tfunction dequeue() {\n\t\t\treturn queue.splice(0, numAvailableSlots());\n\t\t}\n\n\t\tfunction next() {\n\t\t\tconst requestDescriptors = dequeue();\n\t\t\trequestDescriptors.forEach(sendRequest);\n\t\t}\n\n\t\tfunction sendRequest(options) {\n\t\t\tconst {config, deferredResolve, deferredReject, cancel} = options;\n\t\t\thttpClient.request(config)\n\t\t\t\t.then(response => {\n\t\t\t\t\tdeferredResolve(response);\n\t\t\t\t})\n\t\t\t\t.catch(error => {\n\t\t\t\t\tdeferredReject(error);\n\t\t\t\t})\n\t\t\t\t.then(advance);\n\t\t\tincrementInFlightRequests({config, cancel});\n\t\t}\n\n\t\tfunction cancelInFlightRequests() {\n\t\t\tinFlightRequests.slice().forEach(({cancel}) => {\n\t\t\t\tcancel();\n\t\t\t\tinFlightRequests.shift();\n\t\t\t});\n\t\t}\n\n\t\tfunction cancelQueuedRequests() {\n\t\t\tqueue.slice().forEach((request) => {\n\t\t\t\trequest.deferredReject('Request cancelled by user');\n\t\t\t\tqueue.shift();\n\t\t\t});\n\t\t}\n\n\t\tfunction cancelRequests() {\n\t\t\tcancelInFlightRequests();\n\t\t\tcancelQueuedRequests();\n\t\t}\n\n\t\tfunction enqueueRequest(url, method, options) {\n\t\t\tlet deferredResolve, deferredReject;\n\t\t\tconst promise = new Promise((resolve, reject) => {\n\t\t\t\tdeferredResolve = resolve;\n\t\t\t\tdeferredReject = reject;\n\t\t\t});\n\t\t\tconst source = options.source || httpClient.getSource();\n\t\t\tconst cancelToken = source.token;\n\t\t\tenqueue({\n\t\t\t\tconfig: Object.assign({}, {url, method, cancelToken}, options),\n\t\t\t\tdeferredResolve,\n\t\t\t\tdeferredReject,\n\t\t\t\tcancel: () => source.cancel('Request cancelled by user')\n\t\t\t});\n\t\t\tstartIfIdle();\n\t\t\treturn promise;\n\t\t}\n\n\t\tfunction enqueueBatchRequest(url, method, options) {\n\t\t\treturn requestBatcher.enqueueRequest(url, method, Object.assign({}, options, {batch: true}));\n\t\t}\n\n\t\tfunction request(url, method, options) {\n\t\t\tif (!method)\n\t\t\t\tthrow new Error('Must supply method');\n\t\t\tif (!SUPPORTED_METHODS.includes(method.toLowerCase()))\n\t\t\t\tthrow new Error(`Method \"${method}\" is not supported (supported methods are ${SUPPORTED_METHODS})`);\n\n\t\t\treturn shouldBatch({...options, batching}) ?\n\t\t\t\tenqueueBatchRequest(url, method, {...options, batch: true}) :\n\t\t\t\tenqueueRequest(url, method, {...options, batch: false});\n\t\t}\n\n\t\tconst helperMethods = {\n\t\t\tget client() {\n\t\t\t\treturn httpClient;\n\t\t\t},\n\t\t\tget queue() {\n\t\t\t\treturn queue;\n\t\t\t},\n\t\t\tget interceptors() {\n\t\t\t\treturn httpClient.interceptors;\n\t\t\t},\n\t\t\tcancelRequests,\n\t\t\tcancelInFlightRequests,\n\t\t\trequest\n\t\t};\n\n\t\treturn SUPPORTED_METHODS.reduce((acc, method) => {\n\t\t\treturn {\n\t\t\t\t...acc,\n\t\t\t\t[method]: (url, options = {}) => request(url, method, options)\n\t\t\t};\n\t\t}, helperMethods);\n\t};\n\n})(snHttpClient);\n\nexport default snHttpFactory;\n","/* !\n * Tiny PowerPaste plugin\n *\n * Copyright (c) 2023 Ephox Corporation DBA Tiny Technologies, Inc.\n * Licensed under the Tiny commercial license. See https://www.tiny.cloud/legal/\n *\n * Version: 6.2.4-639\n */\n\n!function(){\"use strict\";const e=e=>t=>(e=>{const t=typeof e;return null===e?\"null\":\"object\"===t&&Array.isArray(e)?\"array\":\"object\"===t&&((e,t,n)=>{var r,o;return o=e,!!t.prototype.isPrototypeOf(o)||(null===(r=e.constructor)||void 0===r?void 0:r.name)===t.name})(e,String)?\"string\":t})(t)===e,t=e=>t=>typeof t===e,n=e(\"string\"),r=e(\"object\"),o=e(\"array\"),s=t(\"boolean\"),a=(void 0,e=>undefined===e);const i=e=>null==e,l=e=>!i(e),c=t(\"function\"),u=t(\"number\"),d=()=>{},h=(e,t)=>(...n)=>e(t.apply(null,n)),m=e=>()=>e,p=e=>e,f=(e,t)=>e===t;function g(e,...t){return(...n)=>{const r=t.concat(n);return e.apply(null,r)}}const v=e=>()=>{throw new Error(e)},y=e=>e(),b=m(!1),x=m(!0);class k{constructor(e,t){this.tag=e,this.value=t}static some(e){return new k(!0,e)}static none(){return k.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?k.some(e(this.value)):k.none()}bind(e){return this.tag?e(this.value):k.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:k.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:\"Called getOrDie on None\")}static from(e){return l(e)?k.some(e):k.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:\"none()\"}}k.singletonNone=new k(!1);const w=Array.prototype.slice,S=Array.prototype.indexOf,C=Array.prototype.push,T=(e,t)=>((e,t)=>S.call(e,t))(e,t)>-1,I=(e,t)=>{for(let n=0,r=e.length;n<r;n++)if(t(e[n],n))return!0;return!1},A=(e,t)=>{const n=e.length,r=new Array(n);for(let o=0;o<n;o++){const n=e[o];r[o]=t(n,o)}return r},O=(e,t)=>{for(let n=0,r=e.length;n<r;n++)t(e[n],n)},E=(e,t)=>{const n=[],r=[];for(let o=0,s=e.length;o<s;o++){const s=e[o];(t(s,o)?n:r).push(s)}return{pass:n,fail:r}},L=(e,t)=>{const n=[];for(let r=0,o=e.length;r<o;r++){const o=e[r];t(o,r)&&n.push(o)}return n},N=(e,t,n)=>(O(e,((e,r)=>{n=t(n,e,r)})),n),_=(e,t)=>((e,t,n)=>{for(let r=0,o=e.length;r<o;r++){const o=e[r];if(t(o,r))return k.some(o);if(n(o,r))break}return k.none()})(e,t,b),D=(e,t)=>{for(let n=0,r=e.length;n<r;n++)if(t(e[n],n))return k.some(n);return k.none()},P=e=>{const t=[];for(let n=0,r=e.length;n<r;++n){if(!o(e[n]))throw new Error(\"Arr.flatten item \"+n+\" was not an array, input: \"+e);C.apply(t,e[n])}return t},R=(e,t)=>P(A(e,t)),M=(e,t)=>{for(let n=0,r=e.length;n<r;++n)if(!0!==t(e[n],n))return!1;return!0},j=(e,t)=>{const n={};for(let r=0,o=e.length;r<o;r++){const o=e[r];n[String(o)]=t(o,r)}return n},F=(e,t)=>{const n=w.call(e,0);return n.sort(t),n},U=e=>((e,t)=>0<e.length?k.some(e[0]):k.none())(e),B=(e,t)=>{for(let n=0;n<e.length;n++){const r=t(e[n],n);if(r.isSome())return r}return k.none()},z=(e,t,n)=>\"\"===t||e.length>=t.length&&e.substr(n,n+t.length)===t,H=(e,t)=>$(e,t)?((e,t)=>e.substring(t))(e,t.length):e,W=(e,t,n=0,r)=>{const o=e.indexOf(t,n);return-1!==o&&(!!a(r)||o+t.length<=r)},$=(e,t)=>z(e,t,0),V=(e,t)=>z(e,t,e.length-t.length),G=(q=/^\\s+|\\s+$/g,e=>e.replace(q,\"\"));var q;const K=e=>parseInt(e,10),J=(e,t)=>{const n=e-t;return 0===n?0:n>0?1:-1},Y=(e,t,n)=>({major:e,minor:t,patch:n}),X=e=>{const t=/([0-9]+)\\.([0-9]+)\\.([0-9]+)(?:(\\-.+)?)/.exec(e);return t?Y(K(t[1]),K(t[2]),K(t[3])):Y(0,0,0)},Z=e=>t=>t.options.get(e),Q=Z(\"paste_as_text\"),ee=Z(\"paste_merge_formats\"),te=Z(\"paste_tab_spaces\"),ne=Z(\"smart_paste\"),re=Z(\"cache_suffix\"),oe=Z(\"automatic_uploads\"),se=Z(\"indent_use_margin\"),ae=Z(\"powerpaste_block_drop\"),ie=Z(\"powerpaste_keep_unsupported_src\"),le=Z(\"powerpaste_allow_local_images\"),ce=Z(\"powerpaste_word_import\"),ue=Z(\"powerpaste_googledocs_import\"),de=Z(\"powerpaste_html_import\"),he=Z(\"powerpaste_clean_filtered_inline_elements\"),me=Z(\"link_default_protocol\"),pe=e=>{var t;return tinymce.explode(null!==(t=e.options.get(\"images_file_types\"))&&void 0!==t?t:\"\")},fe=e=>{let t=e;return{get:()=>t,set:e=>{t=e}}},ge=()=>{const e=(e=>{const t=fe(k.none()),n=()=>t.get().each(e);return{clear:()=>{n(),t.set(k.none())},isSet:()=>t.get().isSome(),get:()=>t.get(),set:e=>{n(),t.set(k.some(e))}}})(d);return{...e,on:t=>e.get().each(t)}},ve=(e,t)=>{const n=t=>e(t)?k.from(t.dom.nodeValue):k.none();return{get:r=>{if(!e(r))throw new Error(\"Can only get \"+t+\" value of a \"+t+\" node\");return n(r).getOr(\"\")},getOption:n,set:(n,r)=>{if(!e(n))throw new Error(\"Can only set raw \"+t+\" value of a \"+t+\" node\");n.dom.nodeValue=r}}},ye=\"undefined\"!=typeof window?window:Function(\"return this;\")(),be=(e,t)=>(void 0!==e[t]&&null!==e[t]||(e[t]={}),e[t]),xe=(e,t)=>((e,t)=>{let n=void 0!==t?t:ye;for(let t=0;t<e.length;++t)n=be(n,e[t]);return n})(e.split(\".\"),t),ke=e=>e.dom.nodeName.toLowerCase(),we=e=>e.dom.nodeType,Se=e=>t=>we(t)===e,Ce=e=>8===we(e)||\"#comment\"===ke(e),Te=Se(1),Ie=Se(3),Ae=Se(9),Oe=Se(11),Ee=e=>t=>Te(t)&&ke(t)===e,Le=ve(Ce,\"comment\"),Ne=e=>Le.get(e),_e=e=>{if(null==e)throw new Error(\"Node cannot be null or undefined\");return{dom:e}},De={fromHtml:(e,t)=>{const n=(t||document).createElement(\"div\");if(n.innerHTML=e,!n.hasChildNodes()||n.childNodes.length>1){const t=\"HTML does not have a single root node\";throw console.error(t,e),new Error(t)}return _e(n.childNodes[0])},fromTag:(e,t)=>{const n=(t||document).createElement(e);return _e(n)},fromText:(e,t)=>{const n=(t||document).createTextNode(e);return _e(n)},fromDom:_e,fromPoint:(e,t,n)=>k.from(e.dom.elementFromPoint(t,n)).map(_e)},Pe=Object.keys,Re=Object.hasOwnProperty,Me=(e,t)=>{const n=Pe(e);for(let r=0,o=n.length;r<o;r++){const o=n[r];t(e[o],o)}},je=(e,t)=>Fe(e,((e,n)=>({k:n,v:t(e,n)}))),Fe=(e,t)=>{const n={};return Me(e,((e,r)=>{const o=t(e,r);n[o.k]=o.v})),n},Ue=(e,t)=>{const n={};return((e,t,n,r)=>{Me(e,((e,o)=>{(t(e,o)?n:r)(e,o)}))})(e,t,(e=>(t,n)=>{e[n]=t})(n),d),n},Be=e=>Pe(e).length,ze=(e,t)=>Re.call(e,t),He=e=>{let t,n=!1;return(...r)=>(n||(n=!0,t=e.apply(null,r)),t)},We=()=>$e(0,0),$e=(e,t)=>({major:e,minor:t}),Ve={nu:$e,detect:(e,t)=>{const n=String(t).toLowerCase();return 0===e.length?We():((e,t)=>{const n=((e,t)=>{for(let n=0;n<e.length;n++){const r=e[n];if(r.test(t))return r}})(e,t);if(!n)return{major:0,minor:0};const r=e=>Number(t.replace(n,\"$\"+e));return $e(r(1),r(2))})(e,n)},unknown:We},Ge=(e,t)=>{const n=String(t).toLowerCase();return _(e,(e=>e.search(n)))},qe=/.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/,Ke=e=>t=>W(t,e),Je=[{name:\"Edge\",versionRegexes:[/.*?edge\\/ ?([0-9]+)\\.([0-9]+)$/],search:e=>W(e,\"edge/\")&&W(e,\"chrome\")&&W(e,\"safari\")&&W(e,\"applewebkit\")},{name:\"Chromium\",brand:\"Chromium\",versionRegexes:[/.*?chrome\\/([0-9]+)\\.([0-9]+).*/,qe],search:e=>W(e,\"chrome\")&&!W(e,\"chromeframe\")},{name:\"IE\",versionRegexes:[/.*?msie\\ ?([0-9]+)\\.([0-9]+).*/,/.*?rv:([0-9]+)\\.([0-9]+).*/],search:e=>W(e,\"msie\")||W(e,\"trident\")},{name:\"Opera\",versionRegexes:[qe,/.*?opera\\/([0-9]+)\\.([0-9]+).*/],search:Ke(\"opera\")},{name:\"Firefox\",versionRegexes:[/.*?firefox\\/\\ ?([0-9]+)\\.([0-9]+).*/],search:Ke(\"firefox\")},{name:\"Safari\",versionRegexes:[qe,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:e=>(W(e,\"safari\")||W(e,\"mobile/\"))&&W(e,\"applewebkit\")}],Ye=[{name:\"Windows\",search:Ke(\"win\"),versionRegexes:[/.*?windows\\ nt\\ ?([0-9]+)\\.([0-9]+).*/]},{name:\"iOS\",search:e=>W(e,\"iphone\")||W(e,\"ipad\"),versionRegexes:[/.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:\"Android\",search:Ke(\"android\"),versionRegexes:[/.*?android\\ ?([0-9]+)\\.([0-9]+).*/]},{name:\"macOS\",search:Ke(\"mac os x\"),versionRegexes:[/.*?mac\\ os\\ x\\ ?([0-9]+)_([0-9]+).*/]},{name:\"Linux\",search:Ke(\"linux\"),versionRegexes:[]},{name:\"Solaris\",search:Ke(\"sunos\"),versionRegexes:[]},{name:\"FreeBSD\",search:Ke(\"freebsd\"),versionRegexes:[]},{name:\"ChromeOS\",search:Ke(\"cros\"),versionRegexes:[/.*?chrome\\/([0-9]+)\\.([0-9]+).*/]}],Xe={browsers:m(Je),oses:m(Ye)},Ze=\"Edge\",Qe=\"Chromium\",et=\"Opera\",tt=\"Firefox\",nt=\"Safari\",rt=e=>{const t=e.current,n=e.version,r=e=>()=>t===e;return{current:t,version:n,isEdge:r(Ze),isChromium:r(Qe),isIE:r(\"IE\"),isOpera:r(et),isFirefox:r(tt),isSafari:r(nt)}},ot=()=>rt({current:void 0,version:Ve.unknown()}),st=rt,at=(m(Ze),m(Qe),m(\"IE\"),m(et),m(tt),m(nt),\"Windows\"),it=\"Android\",lt=\"Linux\",ct=\"macOS\",ut=\"Solaris\",dt=\"FreeBSD\",ht=\"ChromeOS\",mt=e=>{const t=e.current,n=e.version,r=e=>()=>t===e;return{current:t,version:n,isWindows:r(at),isiOS:r(\"iOS\"),isAndroid:r(it),isMacOS:r(ct),isLinux:r(lt),isSolaris:r(ut),isFreeBSD:r(dt),isChromeOS:r(ht)}},pt=()=>mt({current:void 0,version:Ve.unknown()}),ft=mt,gt=(m(at),m(\"iOS\"),m(it),m(lt),m(ct),m(ut),m(dt),m(ht),e=>window.matchMedia(e).matches);let vt=He((()=>((e,t,n)=>{const r=Xe.browsers(),o=Xe.oses(),s=t.bind((e=>((e,t)=>B(t.brands,(t=>{const n=t.brand.toLowerCase();return _(e,(e=>{var t;return n===(null===(t=e.brand)||void 0===t?void 0:t.toLowerCase())})).map((e=>({current:e.name,version:Ve.nu(parseInt(t.version,10),0)})))})))(r,e))).orThunk((()=>((e,t)=>Ge(e,t).map((e=>{const n=Ve.detect(e.versionRegexes,t);return{current:e.name,version:n}})))(r,e))).fold(ot,st),a=((e,t)=>Ge(e,t).map((e=>{const n=Ve.detect(e.versionRegexes,t);return{current:e.name,version:n}})))(o,e).fold(pt,ft),i=((e,t,n,r)=>{const o=e.isiOS()&&!0===/ipad/i.test(n),s=e.isiOS()&&!o,a=e.isiOS()||e.isAndroid(),i=a||r(\"(pointer:coarse)\"),l=o||!s&&a&&r(\"(min-device-width:768px)\"),c=s||a&&!l,u=t.isSafari()&&e.isiOS()&&!1===/safari/i.test(n),d=!c&&!l&&!u;return{isiPad:m(o),isiPhone:m(s),isTablet:m(l),isPhone:m(c),isTouch:m(i),isAndroid:e.isAndroid,isiOS:e.isiOS,isWebView:m(u),isDesktop:m(d)}})(a,s,e,n);return{browser:s,os:a,deviceType:i}})(navigator.userAgent,k.from(navigator.userAgentData),gt)));const yt=()=>vt(),bt=yt(),xt=bt.deviceType.isiOS()||bt.deviceType.isAndroid(),kt=m({isSupported:!1,cleanDocument:()=>Promise.reject(\"not supported\")});var wt=xt?kt:(e,t,n)=>{const r=t+\"/wordimport.js\"+(e=>k.from(e).filter((e=>0!==e.length)).map((e=>(-1===e.indexOf(\"?\")?\"?\":\"\")+e)).getOr(\"\"))(n||\"v=9.2.3\"),o=e.loadScript(\"ephox.wimp\",r);return o.catch((e=>{console.error(\"Unable to load word import: \",e)})),{isSupported:!0,cleanDocument:(e,t,n)=>o.then((r=>r.cleanDocument(e,t,n.cleanFilteredInlineElements)))}};const St=e=>{let t=[];return{bind:e=>{if(void 0===e)throw new Error(\"Event bind error: undefined handler\");t.push(e)},unbind:e=>{t=L(t,(t=>t!==e))},trigger:(...n)=>{const r={};O(e,((e,t)=>{r[e]=n[t]})),O(t,(e=>{e(r)}))}}},Ct=e=>{const t=je(e,(e=>({bind:e.bind,unbind:e.unbind}))),n=je(e,(e=>e.trigger));return{registry:t,trigger:n}},Tt=(e,t)=>{const n=e.dom;if(1!==n.nodeType)return!1;{const e=n;if(void 0!==e.matches)return e.matches(t);if(void 0!==e.msMatchesSelector)return e.msMatchesSelector(t);if(void 0!==e.webkitMatchesSelector)return e.webkitMatchesSelector(t);if(void 0!==e.mozMatchesSelector)return e.mozMatchesSelector(t);throw new Error(\"Browser lacks native selectors\")}},It=(e,t)=>{const n=void 0===t?document:t.dom;return 1!==(r=n).nodeType&&9!==r.nodeType&&11!==r.nodeType||0===r.childElementCount?[]:A(n.querySelectorAll(e),De.fromDom);var r},At=(e,t)=>e.dom===t.dom,Ot=Tt,Et=(e,t,n)=>{const r=e.document.createRange();var o;return o=r,t.fold((e=>{o.setStartBefore(e.dom)}),((e,t)=>{o.setStart(e.dom,t)}),(e=>{o.setStartAfter(e.dom)})),((e,t)=>{t.fold((t=>{e.setEndBefore(t.dom)}),((t,n)=>{e.setEnd(t.dom,n)}),(t=>{e.setEndAfter(t.dom)}))})(r,n),r},Lt=(e,t,n,r,o)=>{const s=e.document.createRange();return s.setStart(t.dom,n),s.setEnd(r.dom,o),s},Nt=e=>{if(!o(e))throw new Error(\"cases must be an array\");if(0===e.length)throw new Error(\"there must be at least one case\");const t=[],n={};return O(e,((r,s)=>{const a=Pe(r);if(1!==a.length)throw new Error(\"one and only one name per case\");const i=a[0],l=r[i];if(void 0!==n[i])throw new Error(\"duplicate key detected:\"+i);if(\"cata\"===i)throw new Error(\"cannot have a case named cata (sorry)\");if(!o(l))throw new Error(\"case arguments must be an array\");t.push(i),n[i]=(...n)=>{const r=n.length;if(r!==l.length)throw new Error(\"Wrong number of arguments to case \"+i+\". Expected \"+l.length+\" (\"+l+\"), got \"+r);return{fold:(...t)=>{if(t.length!==e.length)throw new Error(\"Wrong number of arguments to fold. Expected \"+e.length+\", got \"+t.length);return t[s].apply(null,n)},match:e=>{const r=Pe(e);if(t.length!==r.length)throw new Error(\"Wrong number of arguments to match. Expected: \"+t.join(\",\")+\"\\nActual: \"+r.join(\",\"));if(!M(t,(e=>T(r,e))))throw new Error(\"Not all branches were specified when using match. Specified: \"+r.join(\", \")+\"\\nRequired: \"+t.join(\", \"));return e[i].apply(null,n)},log:e=>{console.log(e,{constructors:t,constructor:i,params:n})}}}})),n},_t=Nt([{ltr:[\"start\",\"soffset\",\"finish\",\"foffset\"]},{rtl:[\"start\",\"soffset\",\"finish\",\"foffset\"]}]),Dt=(e,t,n)=>t(De.fromDom(n.startContainer),n.startOffset,De.fromDom(n.endContainer),n.endOffset);_t.ltr,_t.rtl;const Pt=(e,t,n,r)=>({start:e,soffset:t,finish:n,foffset:r}),Rt=e=>De.fromDom(e.dom.ownerDocument),Mt=e=>Ae(e)?e:Rt(e),jt=e=>De.fromDom(Mt(e).dom.defaultView),Ft=e=>k.from(e.dom.parentNode).map(De.fromDom),Ut=e=>k.from(e.dom.previousSibling).map(De.fromDom),Bt=e=>k.from(e.dom.nextSibling).map(De.fromDom),zt=e=>(e=>{const t=w.call(e,0);return t.reverse(),t})(((e,t)=>{const n=[],r=e=>(n.push(e),t(e));let o=t(e);do{o=o.bind(r)}while(o.isSome());return n})(e,Ut)),Ht=e=>A(e.dom.childNodes,De.fromDom),Wt=c(Element.prototype.attachShadow)&&c(Node.prototype.getRootNode),$t=m(Wt),Vt=Wt?e=>De.fromDom(e.dom.getRootNode()):Mt,Gt=e=>De.fromDom(e.dom.host),qt=e=>{const t=Ie(e)?e.dom.parentNode:e.dom;if(null==t||null===t.ownerDocument)return!1;const n=t.ownerDocument;return(e=>{const t=Vt(e);return Oe(n=t)&&l(n.dom.host)?k.some(t):k.none();var n})(De.fromDom(t)).fold((()=>n.body.contains(t)),(r=qt,o=Gt,e=>r(o(e))));var r,o},Kt=(e,t)=>{let n=[];return O(Ht(e),(e=>{t(e)&&(n=n.concat([e])),n=n.concat(Kt(e,t))})),n},Jt=(e,t)=>It(t,e),Yt=Nt([{before:[\"element\"]},{on:[\"element\",\"offset\"]},{after:[\"element\"]}]),Xt={before:Yt.before,on:Yt.on,after:Yt.after,cata:(e,t,n,r)=>e.fold(t,n,r),getStart:e=>e.fold(p,p,p)},Zt=Nt([{domRange:[\"rng\"]},{relative:[\"startSitu\",\"finishSitu\"]},{exact:[\"start\",\"soffset\",\"finish\",\"foffset\"]}]),Qt={domRange:Zt.domRange,relative:Zt.relative,exact:Zt.exact,exactFromRange:e=>Zt.exact(e.start,e.soffset,e.finish,e.foffset),getWin:e=>{const t=(e=>e.match({domRange:e=>De.fromDom(e.startContainer),relative:(e,t)=>Xt.getStart(e),exact:(e,t,n,r)=>e}))(e);return jt(t)},range:Pt},en=(e,t)=>{const n=ke(e);return\"input\"===n?Xt.after(e):T([\"br\",\"img\"],n)?0===t?Xt.before(e):Xt.after(e):Xt.on(e,t)},tn=(e,t,n,r)=>{const o=Rt(e).dom.createRange();return o.setStart(e.dom,t),o.setEnd(n.dom,r),o},nn=e=>k.from(e.getSelection()),rn=(e,t,n,r,o)=>{((e,t)=>{nn(e).each((e=>{e.removeAllRanges(),e.addRange(t)}))})(e,Lt(e,t,n,r,o))},on=(e,t,n,r,o)=>{const s=((e,t,n,r)=>{const o=en(e,t),s=en(n,r);return Qt.relative(o,s)})(t,n,r,o);((e,t)=>{((e,t)=>{const n=((e,t)=>t.match({domRange:e=>({ltr:m(e),rtl:k.none}),relative:(t,n)=>({ltr:He((()=>Et(e,t,n))),rtl:He((()=>k.some(Et(e,n,t))))}),exact:(t,n,r,o)=>({ltr:He((()=>Lt(e,t,n,r,o))),rtl:He((()=>k.some(Lt(e,r,o,t,n))))})}))(e,t);return((e,t)=>{const n=t.ltr();return n.collapsed?t.rtl().filter((e=>!1===e.collapsed)).map((e=>_t.rtl(De.fromDom(e.endContainer),e.endOffset,De.fromDom(e.startContainer),e.startOffset))).getOrThunk((()=>Dt(0,_t.ltr,n))):Dt(0,_t.ltr,n)})(0,n)})(e,t).match({ltr:(t,n,r,o)=>{rn(e,t,n,r,o)},rtl:(t,n,r,o)=>{nn(e).each((s=>{if(s.setBaseAndExtent)s.setBaseAndExtent(t.dom,n,r.dom,o);else if(s.extend)try{((e,t,n,r,o,s)=>{t.collapse(n.dom,r),t.extend(o.dom,s)})(0,s,t,n,r,o)}catch(s){rn(e,r,o,t,n)}else rn(e,r,o,t,n)}))}})})(e,s)},sn=e=>{if(e.rangeCount>0){const t=e.getRangeAt(0),n=e.getRangeAt(e.rangeCount-1);return k.some(Pt(De.fromDom(t.startContainer),t.startOffset,De.fromDom(n.endContainer),n.endOffset))}return k.none()},an=e=>{if(null===e.anchorNode||null===e.focusNode)return sn(e);{const t=De.fromDom(e.anchorNode),n=De.fromDom(e.focusNode);return((e,t,n,r)=>{const o=tn(e,t,n,r),s=At(e,n)&&t===r;return o.collapsed&&!s})(t,e.anchorOffset,n,e.focusOffset)?k.some(Pt(t,e.anchorOffset,n,e.focusOffset)):sn(e)}},ln=e=>nn(e).filter((e=>e.rangeCount>0)).bind(an),cn=(e,t)=>{Ft(e).each((n=>{n.dom.insertBefore(t.dom,e.dom)}))},un=(e,t)=>{Bt(e).fold((()=>{Ft(e).each((e=>{hn(e,t)}))}),(e=>{cn(e,t)}))},dn=(e,t)=>{(e=>((e,t)=>{const n=e.dom.childNodes;return k.from(n[0]).map(De.fromDom)})(e))(e).fold((()=>{hn(e,t)}),(n=>{e.dom.insertBefore(t.dom,n.dom)}))},hn=(e,t)=>{e.dom.appendChild(t.dom)},mn=(e,t)=>{cn(e,t),hn(t,e)},pn=(e,t)=>{O(t,((n,r)=>{const o=0===r?e:t[r-1];un(o,n)}))},fn=(e,t)=>{O(t,(t=>{hn(e,t)}))},gn=e=>{e.dom.textContent=\"\",O(Ht(e),(e=>{vn(e)}))},vn=e=>{const t=e.dom;null!==t.parentNode&&t.parentNode.removeChild(t)},yn=e=>{const t=Ht(e);t.length>0&&pn(e,t),vn(e)},bn=(e,t,n,r)=>{const o=At(e,n)&&t===r;return{startContainer:m(e),startOffset:m(t),endContainer:m(n),endOffset:m(r),collapsed:m(o)}};let xn=0;const kn=e=>{const t=(new Date).getTime(),n=Math.floor(1e9*Math.random());return xn++,e+\"_\"+n+xn+String(t)},wn=(e,t,r)=>{if(!(n(r)||s(r)||u(r)))throw console.error(\"Invalid call to Attribute.set. Key \",t,\":: Value \",r,\":: Element \",e),new Error(\"Attribute value was not simple\");e.setAttribute(t,r+\"\")},Sn=(e,t,n)=>{wn(e.dom,t,n)},Cn=(e,t)=>{const n=e.dom;Me(t,((e,t)=>{wn(n,t,e)}))},Tn=(e,t)=>{const n=e.dom.getAttribute(t);return null===n?void 0:n},In=(e,t)=>k.from(Tn(e,t)),An=(e,t)=>{const n=e.dom;return!(!n||!n.hasAttribute)&&n.hasAttribute(t)},On=(e,t)=>{e.dom.removeAttribute(t)},En=(e,t)=>{const n=Tn(e,t);return void 0===n||\"\"===n?[]:n.split(\" \")},Ln=e=>void 0!==e.dom.classList,Nn=e=>En(e,\"class\"),_n=(e,t)=>{Ln(e)?e.dom.classList.add(t):((e,t)=>{((e,t,n)=>{const r=En(e,t).concat([n]);Sn(e,t,r.join(\" \"))})(e,\"class\",t)})(e,t)},Dn=(e,t)=>{Ln(e)?e.dom.classList.remove(t):((e,t)=>{((e,t,n)=>{const r=L(En(e,t),(e=>e!==n));r.length>0?Sn(e,t,r.join(\" \")):On(e,t)})(e,\"class\",t)})(e,t),(e=>{0===(Ln(e)?e.dom.classList:Nn(e)).length&&On(e,\"class\")})(e)},Pn=(e,t)=>Ln(e)&&e.dom.classList.contains(t),Rn=(e,t,n=f)=>e.exists((e=>n(e,t))),Mn=(e,t)=>e?k.some(t):k.none(),jn=e=>void 0!==e.style&&c(e.style.getPropertyValue),Fn=(e,t,r)=>{if(!n(r))throw console.error(\"Invalid call to CSS.set. Property \",t,\":: Value \",r,\":: Element \",e),new Error(\"CSS value must be a string: \"+r);jn(e)&&e.style.setProperty(t,r)},Un=(e,t)=>{jn(e)&&e.style.removeProperty(t)},Bn=(e,t,n)=>{const r=e.dom;Fn(r,t,n)},zn=(e,t)=>{const n=e.dom;Me(t,((e,t)=>{Fn(n,t,e)}))},Hn=(e,t)=>{const n=e.dom,r=window.getComputedStyle(n).getPropertyValue(t);return\"\"!==r||qt(e)?r:Wn(n,t)},Wn=(e,t)=>jn(e)?e.style.getPropertyValue(t):\"\",$n=(e,t)=>{const n=e.dom,r=Wn(n,t);return k.from(r).filter((e=>e.length>0))},Vn=e=>{const t={},n=e.dom;if(jn(n))for(let e=0;e<n.style.length;e++){const r=n.style.item(e);t[r]=n.style[r]}return t},Gn=(e,t)=>{const n=e.dom;Un(n,t),Rn(In(e,\"style\").map(G),\"\")&&On(e,\"style\")},qn=e=>\"rtl\"===Hn(e,\"direction\")?\"rtl\":\"ltr\",Kn=(e,t)=>{const n=(t||document).createElement(\"div\");return n.innerHTML=e,Ht(De.fromDom(n))},Jn=e=>e.dom.innerHTML,Yn=(e,t,n)=>{let r=e.dom;const o=c(n)?n:b;for(;r.parentNode;){r=r.parentNode;const e=De.fromDom(r);if(t(e))return k.some(e);if(o(e))break}return k.none()},Xn=(e,t)=>_(e.dom.childNodes,(e=>t(De.fromDom(e)))).map(De.fromDom),Zn=(e,t)=>{const n=e=>{for(let r=0;r<e.childNodes.length;r++){const o=De.fromDom(e.childNodes[r]);if(t(o))return k.some(o);const s=n(e.childNodes[r]);if(s.isSome())return s}return k.none()};return n(e.dom)},Qn=(e,t,n)=>Yn(e,(e=>Tt(e,t)),n),er=(e,t,n)=>((e,t,n,r,o)=>((e,t)=>Tt(e,t))(n,r)?k.some(n):c(o)&&o(n)?k.none():t(n,r,o))(0,Qn,e,t,n),tr=e=>{const t=nr(e);return{resolve:e=>{const n=e.split(\" \");return A(n,(e=>rr(t,e))).join(\" \")}}},nr=e=>e.replace(/\\./g,\"-\"),rr=(e,t)=>e+\"-\"+t,or=tr(\"ephox-sloth\").resolve,sr=m(or(\"bin\")),ar=[\"b\",\"i\",\"u\",\"sub\",\"sup\",\"strike\"],ir=sr(),lr=ir+kn(\"\"),cr=(\"-100000px\",\"100000px\",e=>\"rtl\"===qn(e)?\"100000px\":\"-100000px\");const ur=(e,t)=>{const n=De.fromTag(\"div\");var r;Cn(n,t),Cn(n,{contenteditable:\"true\",\"aria-hidden\":\"true\"}),zn(n,{position:\"fixed\",top:\"0px\",width:\"100px\",height:\"100px\",overflow:\"hidden\",opacity:\"0\"}),r=n,O([ir,lr],(e=>{_n(r,e)}));const o=e=>Pn(e,lr);return{attach:e=>{gn(n),Bn(n,\"left\",cr(e)),hn(e,n)},focus:()=>{Qn(n,\"body\").each((t=>{e.toOff(t,n)}))},contents:()=>(((e,t)=>{Bt(e).filter(t).each((t=>{const n=Ht(t);fn(e,n),vn(t)})),((e,t)=>{const n=Ht(e);O(n,(e=>{t(e)&&((e,t)=>{const n=Ht(e),r=De.fromTag(\"div\",Rt(e).dom);fn(r,n),cn(e,r),vn(e)})(e)}))})(e,t),O(Ht(e),(e=>{(e=>Te(e)&&!e.dom.hasChildNodes()&&T(ar,ke(e)))(e)&&vn(e)}))})(n,o),{elements:Ht(n),html:Jn(n),offscreen:n}),container:m(n),detach:()=>{vn(n)}}},dr=e=>{const t=At(e.start,e.finish)&&e.soffset===e.foffset;return{startContainer:m(e.start),startOffset:m(e.soffset),endContainer:m(e.finish),endOffset:m(e.foffset),collapsed:m(t)}},hr={set:(e,t)=>{on(e,t.startContainer(),t.startOffset(),t.endContainer(),t.endOffset())},get:e=>ln(e).map(dr)};var mr=e=>t=>{const n=Ct({after:St([\"container\"])}),r=(e=>{const t=De.fromTag(\"br\");let n=k.none();const r=e=>jt(e).dom;return{cleanup:()=>{vn(t)},toOn:(t,o)=>{const s=r(o);n.each((n=>{const r=(e=>e.dom.childNodes.length)(t),o=At(t,n.startContainer())&&r<n.startOffset()?r:n.startOffset(),a=At(t,n.endContainer())&&r<n.endOffset()?r:n.endOffset(),i=bn(n.startContainer(),o,n.endContainer(),a);e.set(s,i)}))},toOff:(o,s)=>{const a=r(s);hn(s,t),n=e.get(a),e.set(a,bn(t,0,t,0))}}})(hr),o=((e,t,n)=>{const r=ur(e,n),o=()=>{e.cleanup();const t=r.contents();r.detach(),s.trigger.after(t.elements,t.html,r.container())},s=Ct({before:St([]),after:St([\"elements\",\"html\",\"container\"])}),a=d;return{instance:m((()=>{s.trigger.before(),r.attach(t),r.focus(),((e,t)=>{((e,t)=>{setTimeout(t,1)})(0,t)})(Rt(t),o)})),destroy:a,events:s.registry}})(r,t,e);return o.events.after.bind((e=>{r.toOn(t,e.container),n.trigger.after(e.container)})),{run:()=>{o.instance()()},events:n.registry}};const pr=tr(\"ephox-cement\").resolve,fr={cacheSuffix:\"\",pasteBinAttrs:{},keepSrc:!1,sanitizer:{sanitizeHtml:m(\"\"),sanitizeText:m(\"\")},tabSpaces:4,cleanFilteredInlineElements:[],indentUseMargin:!1,defaultProtocol:\"https\"},gr=m(pr(\"smartpaste-eph-bin\")),vr=e=>{let t=k.none(),n=[];const r=e=>{o()?s(e):n.push(e)},o=()=>t.isSome(),s=e=>{t.each((t=>{setTimeout((()=>{e(t)}),0)}))};return e((e=>{o()||(t=k.some(e),O(n,s),n=[])})),{get:r,map:e=>vr((t=>{r((n=>{t(e(n))}))})),isReady:o}},yr={nu:vr,pure:e=>vr((t=>{t(e)}))},br=e=>{setTimeout((()=>{throw e}),0)},xr=e=>{const t=t=>{e().then(t,br)};return{map:t=>xr((()=>e().then(t))),bind:t=>xr((()=>e().then((e=>t(e).toPromise())))),anonBind:t=>xr((()=>e().then((()=>t.toPromise())))),toLazy:()=>yr.nu(t),toCached:()=>{let t=null;return xr((()=>(null===t&&(t=e()),t)))},toPromise:e,get:t}},kr=e=>xr((()=>new Promise(e))),wr=e=>((e,t)=>t((t=>{const n=[];let r=0;0===e.length?t([]):O(e,((o,s)=>{o.get((o=>s=>{n[o]=s,r++,r>=e.length&&t(n)})(s))}))})))(e,kr),Sr=()=>{const e={};return{getOrSetIndexed:(t,n)=>(t=>void 0!==e[t])(t)?e[t]:((t,n)=>(e[t]=n,n))(t,n()),waitForLoad:()=>{const t=((e,t)=>{const n=[];return Me(e,((e,r)=>{n.push(t(e,r))})),n})(e,p);return wr(t)}}},Cr=e=>{const t=t=>t(e),n=m(e),r=()=>o,o={tag:!0,inner:e,fold:(t,n)=>n(e),isValue:x,isError:b,map:t=>Ir.value(t(e)),mapError:r,bind:t,exists:t,forall:t,getOr:n,or:r,getOrThunk:n,orThunk:r,getOrDie:n,each:t=>{t(e)},toOptional:()=>k.some(e)};return o},Tr=e=>{const t=()=>n,n={tag:!1,inner:e,fold:(t,n)=>t(e),isValue:b,isError:x,map:t,mapError:t=>Ir.error(t(e)),bind:t,exists:b,forall:x,getOr:p,or:p,getOrThunk:y,orThunk:y,getOrDie:v(String(e)),each:d,toOptional:k.none};return n},Ir={value:Cr,error:Tr,fromOption:(e,t)=>e.fold((()=>Tr(t)),Cr)},Ar=e=>{const t=De.fromDom((e=>{if($t()&&l(e.target)){const t=De.fromDom(e.target);if(Te(t)&&l(t.dom.shadowRoot)&&e.composed&&e.composedPath){const t=e.composedPath();if(t)return U(t)}}return k.from(e.target)})(e).getOr(e.target)),n=()=>e.stopPropagation(),r=()=>e.preventDefault(),o=h(r,n);return((e,t,n,r,o,s,a)=>({target:e,x:t,y:n,stop:r,prevent:o,kill:s,raw:a}))(t,e.clientX,e.clientY,n,r,o,e)},Or=(e,t,n,r)=>{e.dom.removeEventListener(t,n,r)},Er=x,Lr=(e,t,n)=>((e,t,n,r)=>((e,t,n,r,o)=>{const s=((e,t)=>n=>{e(n)&&t(Ar(n))})(n,r);return e.dom.addEventListener(t,s,o),{unbind:g(Or,e,t,s,o)}})(e,t,n,r,!1))(e,t,Er,n),Nr=(e=>{const t=g(xe,e);xe(\"callbacks\",t());const n=(n,o)=>{const s=t(),a=(e=>{const t=void 0===e.count?0:e.count,n=\"callback_\"+t;return e.count=t+1,n})(s);return s.callbacks[a]=(...e)=>{o||r(a),n(...e)},(t=>e+\".callbacks.\"+t)(a)},r=e=>{const n=e.substring(e.lastIndexOf(\".\")+1),r=t();void 0!==r.callbacks[n]&&delete r.callbacks[n]};return{ephemeral:e=>n(e,!1),permanent:e=>n(e,!0),unregister:r}})(\"ephox.henchman.features\"),_r=(e,t)=>yr.nu((n=>{const o=t=>{O(a,(e=>{e.unbind()})),n(t.fold((t=>Ir.error(t+'Unable to download editor stylesheets from \"'+e+'\"')),Ir.value))},s=((e,t)=>{const n=De.fromDom(document),r=De.fromTag(\"link\",n.dom);return Cn(r,{rel:\"stylesheet\",type:\"text/css\",href:e}),((e,t)=>{const n=(e=>{const t=e.dom.head;if(null==t)throw new Error(\"Head is not available yet\");return De.fromDom(t)})(e);hn(n,t)})(n,r),r})(e),a=[Lr(s,\"load\",(e=>{(e=>{var t;try{const n=null===(t=e.target.dom.sheet)||void 0===t?void 0:t.cssRules;return r(n)&&0===n.length}catch(e){}return!1})(e)?o(Ir.error(\"\")):t(o)})),Lr(s,\"error\",g(o,Ir.error(\"\")))]})),Dr=(()=>{const e=Sr(),t=()=>e.waitForLoad();return{preload:()=>{t().get(p)},addStylesheet:(t,n)=>e.getOrSetIndexed(t,(()=>_r(t,n))),addScript:(t,n)=>e.getOrSetIndexed(t,(()=>(e=>yr.nu((t=>{const n=()=>{o.unbind(),s.unbind()},r=De.fromTag(\"script\");Sn(r,\"src\",e),Sn(r,\"type\",\"text/javascript\"),Sn(r,\"async\",\"async\"),Sn(r,\"data-main\",Nr.ephemeral((e=>{t(Ir.value(e))})));const o=Lr(r,\"error\",(()=>{n(),t(Ir.error(\"Error loading external script tag \"+e))})),s=Lr(r,\"load\",n);hn(De.fromDom(document.head),r)})))(t).map(n))),waitForLoad:t}})(),Pr={loadScript:(e,t)=>new Promise(((e,n)=>{((e,t)=>Dr.addScript(e,t))(t,p).get((t=>{t.fold(n,e)}))}))},Rr=Nt([{error:[\"message\"]},{paste:[\"elements\",\"correlated\"]},{cancel:[]},{incomplete:[\"elements\",\"correlated\",\"message\"]}]),Mr=(e,t,n,r,o)=>e.fold(t,n,r,o),jr=Rr.error,Fr=Rr.paste,Ur=Rr.cancel,Br=Rr.incomplete,zr=[\"officeStyles\",\"htmlStyles\",\"gdocsStyles\",\"isWord\",\"isGoogleDocs\",\"proxyBin\",\"isInternal\"],Hr=(e,t)=>{const n={};return O(zr,(r=>{t[r].or(e[r]).each((e=>{n[r]=e}))})),Wr(n)},Wr=e=>j(zr,(t=>k.from(e[t]))),$r=e=>({response:jr(e),bundle:Wr({})}),Vr=e=>Promise.resolve($r(e)),Gr={response:Ur(),bundle:Wr({})},qr=e=>l(e.then),Kr=(e,t,n,r)=>({steps:e,input:t,label:n,capture:r}),Jr=(e,t)=>{const n=Hr(e.bundle,t.bundle),r=((e,t)=>Mr(e,k.none,k.none,k.none,((e,n,r)=>Mr(t,k.none,((e,t)=>k.some(Rr.incomplete(e,t,r))),k.none,k.none))).getOr(t))(e.response,t.response);return{response:r,bundle:n}},Yr=(e,t,n)=>{const r=()=>e,o=()=>{const r=n(t,e);return qr(r)?r.then((t=>Jr(e,t))):Jr(e,r)};return Mr(e.response,r,o,r,o)},Xr=(Zr=(e,t)=>t,(...e)=>{if(0===e.length)throw new Error(\"Can't merge zero objects\");const t={};for(let n=0;n<e.length;n++){const r=e[n];for(const e in r)ze(r,e)&&(t[e]=Zr(t[e],r[e]))}return t});var Zr;const Qr=Nt([{starts:[\"value\",\"f\"]},{pattern:[\"regex\",\"f\"]},{contains:[\"value\",\"f\"]},{exact:[\"value\",\"f\"]},{all:[]},{not:[\"stringMatch\"]}]),eo=p,to=(e,t)=>e.fold(((e,n)=>0===n(t).indexOf(n(e))),((e,n)=>e.test(n(t))),((e,n)=>n(t).indexOf(n(e))>=0),((e,n)=>n(t)===n(e)),x,(e=>!to(e,t))),no={starts:Qr.starts,pattern:Qr.pattern,contains:Qr.contains,exact:Qr.exact,all:Qr.all,not:Qr.not,cata:(e,t,n,r,o,s,a)=>e.fold(t,n,r,o,s,a),matches:to,caseSensitive:eo,caseInsensitive:e=>e.toLowerCase()},ro=(e,t)=>{const n=ke(e),r=t.name,o=void 0!==t.condition?t.condition:x;return no.matches(r,n)&&o(e)},oo=(e,t,n)=>{const r=(e=>{const t={},n=l(e)?e.split(\";\"):[];return O(n,(e=>{const n=e.split(\":\");2===n.length&&(t[G(n[0])]=G(n[1]))})),t})(e.dom.getAttribute(\"style\")),o={};return O(t,(e=>{const t=r[e];void 0===t||n(t,e)||(o[e]=t)})),o},so=e=>{const t=Pe(e);return A(t,(t=>t+\": \"+e[t])).join(\"; \")},ao=[\"mso-list\"],io=(e,t)=>{const n=oo(e,ao,t),r=((e,t)=>{const n=e.dom.style,r=i(n)?[]:n,o={};return O(r,(n=>{$n(e,n).each((e=>{t(e,n)||(o[n]=e)}))})),o})(e,t);((e,t,n)=>{Sn(e,\"style\",\"\");const r=Be(t),o=Be(n);if(0===r&&0===o)On(e,\"style\");else if(0===r)Sn(e,\"style\",so(n));else{Me(t,((t,n)=>{Bn(e,n,t)}));const r=Tn(e,\"style\"),s=o>0?so(n)+\"; \":\"\";Sn(e,\"style\",s+r)}})(e,r,n)},lo=(e,t)=>{const n=((e,t)=>{const n={};return O(e.dom.attributes,(e=>{t(e.value,e.name)||(n[e.name]=e.value)})),n})(e,t);((e,t)=>{const n=A(e.dom.attributes,(e=>e.name));Be(t)!==n.length&&((e,t,n)=>{O(t,(t=>{On(e,t)})),Me(n,((t,n)=>{Sn(e,n,t)}))})(e,n,t)})(e,n)},co=(e,t)=>{io(De.fromDom(e),t)},uo=(e,t,n)=>{e(n,((e,r)=>I(t,(t=>((e,t,n,r)=>{const o=r.name,s=void 0!==r.condition?r.condition:x,a=void 0!==r.value?r.value:no.all();return no.matches(o,n)&&no.matches(a,t)&&s(e)})(n,e,r,t)))))},ho=\"startElement\",mo=\"endElement\",po=\"text\",fo=\"comment\",go=(e,t,n)=>{let r,o,s;const a=De.fromDom(e);switch(e.nodeType){case 1:t?r=mo:(r=ho,zn(a,n||{}));const i=e;o=\"HTML\"!==i.scopeName&&i.scopeName&&i.tagName&&i.tagName.indexOf(\":\")<=0?(i.scopeName+\":\"+i.tagName).toLowerCase():i.tagName.toLowerCase();break;case 3:r=po,s=e.nodeValue;break;case 8:r=fo,s=e.nodeValue;break;default:console.log(\"WARNING: Unsupported node type encountered: \"+e.nodeType)}return{getNode:m(e),tag:()=>o,type:()=>r,text:()=>s}},vo=(e,t,n,r)=>{const o=r.createElement(e);return Me(t,((e,t)=>{o.setAttribute(t,e+\"\")})),go(o,!1,n)},yo=(e,t)=>go(t.createElement(e),!0),bo=yo(\"html\",window.document),xo=e=>{const t=e.createDocumentFragment();let n=t;const r=e=>{n.appendChild(e)};return{dom:t,receive:o=>{switch(o.type()){case ho:s=o.getNode().cloneNode(!1),r(s),n=s;break;case po:(t=>{const n=e.createTextNode(t.text());r(n)})(o);break;case mo:(()=>{const e=n.parentNode;n=null===e?t:e})();break;case fo:break;default:throw new Error(\"Unsupported token type: \"+o.type())}var s},label:\"SERIALISER\"}},ko=e=>t=>{((e,t)=>{const n=Xr({styles:[],attributes:[],classes:[],tags:[]},t),r=Jt(e,\"*\");O(r,(e=>{uo(io,n.styles,e),uo(lo,n.attributes,e),O(n.classes,(t=>{const n=An(e,\"class\")?(e=>Ln(e)?(e=>{const t=e.dom.classList,n=new Array(t.length);for(let e=0;e<t.length;e++){const r=t.item(e);null!==r&&(n[e]=r)}return n})(e):Nn(e))(e):[];O(n,(n=>{no.matches(t.name,n)&&Dn(e,n)}))}))}));const o=Jt(e,\"*\");O(o,(e=>{I(n.tags,g(ro,e))&&vn(e)}))})(t,e)},wo=e=>t=>{((e,t)=>{const n=Xr({tags:[]},t),r=Jt(e,\"*\");O(r,(e=>{I(n.tags,g(ro,e))&&yn(e)}))})(t,e)},So=e=>t=>{((e,t)=>{const n=Xr({tags:[]},t),r=Jt(e,\"*\");O(r,(e=>{_(n.tags,g(ro,e)).each((t=>{t.mutate(e)}))}))})(t,e)},Co=e=>t=>{const n=Jn(t),r=((e,t,n)=>{const r=xo(e),o=((e,t=window.document)=>{const n=t.createElement(\"div\");t.body.appendChild(n),n.style.position=\"absolute\",n.style.left=\"-10000px\",n.innerHTML=e;let r=n.firstChild||bo;const o=[];let s=!1;return{hasNext:()=>void 0!==r,next:()=>{const e=r,a=r,i=s;return!s&&e.firstChild?(o.push(e),r=e.firstChild):s||1!==e.nodeType?e.nextSibling?(r=e.nextSibling,s=!1):(r=o.pop(),s=!0):s=!0,a===bo||r||(t.body.removeChild(n),r=bo),(l=a)===bo?l:l?go(l,i):void 0;var l}}})(t,e),s=((e,t,n)=>{let r=n;for(let n=t.length-1;n>=0;n--)r=t[n](r,{},e);return r})(e,n,r);for(;o.hasNext();){const e=o.next();s.receive(e)}return r.dom})(Rt(t).dom,n,e);gn(t),t.dom.appendChild(r)},To=(e,t,n)=>{const r=De.fromTag(\"div\",e.dom);zn(r,{position:\"fixed\",left:\"-100000px\",top:\"0px\"}),hn((e=>{const t=e.dom.body;if(null==t)throw new Error(\"Body is not available yet\");return De.fromDom(t)})(e),r),r.dom.innerHTML=t,O(n,(e=>{e(r)}));const o=Jn(r);return vn(r),o},Io=(e,t)=>n=>{const r=e=>{n.receive(e)},o=(e,t,n)=>(n=void 0!==n?n:e.type()===mo,go(t,n,{})),s={emit:r,emitTokens:e=>{O(e,r)},receive:t=>{e(s,t,o)},document:window.document};return t(s),s},Ao=(e,t)=>{if(void 0===e||void 0===t)throw console.trace(),new Error(\"brick\");e.nextFilter.set(t)},Oo=(e,t,n=!1)=>e===t||l(e)&&l(t)&&e.tag===t.tag&&e.type===t.type&&(n||e.variant===t.variant),Eo=(e,t)=>An(De.fromDom(t.getNode()),\"data-list-level\"),Lo=(e,t,n,r)=>{const o=n.getCurrentListType(),s=n.getCurrentLevel()==r.level()?o:null;return(a=r.emblems(),i=s,_(a,(e=>\"ul\"===e.tag||l(i)&&Oo(e,i,!0))).orThunk((()=>U(a)))).filter((e=>!(\"ol\"===e.tag&&(e=>{if(T([\"p\"],e.tag())){const t=((e,t)=>{const n=De.fromDom(e.getNode());return Tn(n,\"class\")})(e);return l(t)&&/^MsoHeading/.test(t)}return!0})(t))));var a,i},No=e=>(t,n,r)=>{const o=r,s=(e=>{const t=parseInt(Tn(e,\"data-list-level\"),10),n=Tn(e,\"data-list-emblems\"),r=l(n)?JSON.parse(n):[];return On(e,\"data-list-level\"),On(e,\"data-list-emblems\"),{level:m(t),emblems:m(r)}})(De.fromDom(o.getNode()));n.originalToken.set(o);const a=((e,t,n)=>(Lo(n.listType.get(),e,n.emitter,t).each(n.listType.set),((e,t,n)=>({level:m(e),token:m(t),type:m(n)}))(t.level(),n.originalToken.get(),n.listType.get())))(o,s,n);n.emitter.openItem(a.level(),a.token(),a.type()),Ao(n,e.inside())},_o=(e,t,n)=>({pred:e,action:t,label:m(n)});var Do=(e,t,n)=>{const r=(e,r,o)=>{_(t,(e=>e.pred(r,o))).fold(m(n),(e=>e.action))(e,r,o)};return r.toString=()=>\"Handlers for \"+e,r};const Po=(e,t)=>({state:m(e),result:m(t)}),Ro=(e,t)=>({state:m(e),value:m(t)}),Mo=(e,t,n,r)=>({level:m(e),type:m(t),types:m(n),items:m(r)}),jo=e=>{const t=e.items().slice(0);if(t.length>0&&\"p\"!==t[t.length-1]){const n=t[t.length-1];t[t.length-1]=\"p\";const r=Mo(e.level(),e.type(),e.types(),t);return Ro(r,k.some(n))}return Ro(e,k.none())},Fo=(e,t,n)=>{let r=[],o=e;for(;t(o);){const e=n(o);o=e.state(),r=r.concat(e.result())}return Po(o,r)},Uo=(e,t,n)=>{const r=t.start&&t.start>1?{start:t.start}:{},o=e.level()+1,s=t,a=e.types().concat([t]),i=[g(vo,t.tag,r,n)],l=Mo(o,s,a,e.items());return Po(l,i)},Bo=e=>{const t=e.types().slice(0),n=[g(yo,t.pop().tag)],r=e.level()-1,o=t[t.length-1],s=Mo(r,o,t,e.items());return Po(s,n)},zo=(e,t,n)=>{const r=(c=t)?(e=>{const t=((e,t)=>{const n=De.fromDom(e.getNode());return Hn(n,\"margin-left\")})(e);return l(t)&&\"0px\"!==t?{\"margin-left\":t}:{}})(c):{\"list-style-type\":\"none\"},o=e.type()&&!Oo(e.type(),n)?((e,t)=>{const n=Bo(e),r=Uo(n.state(),t,t.type?{\"list-style-type\":t.type}:{});return Po(r.state(),n.result().concat(r.result()))})(e,n):Po(e,[]),s=[g(vo,\"li\",{},r)],a=((e,t)=>{const n=e.items().slice(0),r=void 0!==t&&\"p\"!==t?k.some(t):k.none();r.fold((()=>{n.push(\"p\")}),(e=>{n.push(e)}));const o=Mo(e.level(),e.type(),e.types(),n);return Ro(o,r)})(o.state(),t&&t.tag()),i=a.value().map((e=>{const n=t;return co(n.getNode(),x),[m(n)]})).getOr([]);var c;return Po(a.state(),o.result().concat(s).concat(i))},Ho=e=>{const t=g(yo,\"li\"),n=jo(e),r=n.value().fold((()=>[t]),(e=>[g(yo,e),t]));return Po(n.state(),r)},Wo=e=>{if(0===e.length)throw new Error(\"Compose must have at least one element in the list\");const t=e[e.length-1],n=R(e,(e=>e.result()));return Po(t.state(),n)},$o=e=>{const t=Ho(e),n=Bo(t.state());return Wo([t,n])},Vo=(e,t)=>((e,t,n)=>Fo(e,(e=>e.level()>t),n))(e,t,$o),Go=(e,t,n,r)=>{const o=e.level()>t?Vo(e,t):Po(e,[]),s=o.state().level()===t?((e,t,n)=>{const r=e.level()>0?Ho(e):Po(e,[]),o=zo(r.state(),n,t);return Wo([r,o])})(o.state(),r,n):((e,t,n,r)=>{const o=n>1?jo(e):Ro(e,k.none()),s=o.value().map((e=>[g(yo,e)])).getOr([]),a=((e,t,n,r)=>((e,t,n)=>Fo(e,(e=>e.level()<t),n))(e,n,(e=>((e,t,n,r)=>{const o=e.level()===n-1&&t.type?{\"list-style-type\":t.type}:{},s=Uo(e,t,o),a=zo(s.state(),s.state().level()==n?r:void 0,t);return Wo([s,a])})(e,t,n,r))))(o.state(),t,n,r);return Po(a.state(),s.concat(a.result()))})(o.state(),r,t,n);return Wo([o,s])},qo=Vo,Ko=[\"disc\",\"circle\",\"square\"],Jo={getCurrentListType:()=>Yo().getCurrentListType(),getCurrentLevel:()=>Yo().getCurrentLevel(),closeAllLists:()=>Yo().closeAllLists(),openItem:(e,t,n)=>Yo().openItem(e,t,n)};let Yo=()=>({getCurrentListType:m({}),getCurrentLevel:m(1),closeAllLists:d,openItem:p});const Xo={inside:()=>Qo,outside:()=>es},Zo=(()=>{let e=!1;return{check:t=>!(!e||t.type()!==po)||(t.type()===ho&&\"style\"===t.tag()?(e=!0,!0):t.type()===mo&&\"style\"===t.tag()&&(e=!1,!0))}})(),Qo=(e=>Do(\"Inside.List.Item\",[_o(((e,t)=>{const n=e.originalToken.get();return t.type()===mo&&null!==n&&t.tag()===n.tag()}),((t,n)=>{Ao(n,e.outside())}),\"Closing open tag\")],((e,t,n)=>{e.emit(n)})))(Xo),es=(e=>Do(\"Outside.List.Item\",[_o(Eo,No(e),\"Data List ****\"),_o(((e,t)=>t.type()===po&&(e=>e.type()===po&&/^[\\s\\u00A0]*$/.test(e.text()))(t)),((e,t,n)=>{e.emit(n)}),\"Whitespace\")],((t,n,r)=>{n.emitter.closeAllLists(),t.emit(r),Ao(n,e.outside())})))(Xo),ts=(e=>{const t=fe(e),n=fe(null),r=fe(null);return{reset:o=>{t.set(e),n.set(null),r.set(null),Yo=m(((e,t)=>{let n=Mo(0,void 0,[],[]);const r=n=>{O(n.result(),(n=>{const r=n(t);e.emit(r)}))};return{closeAllLists:()=>{const e=qo(n,0);n=e.state(),r(e)},openItem:(e,t,o)=>{if(!o)return;const s=((e,t)=>\"ul\"===e.tag&&Ko[t-1]===e.type?{tag:\"ul\"}:e)(o,e),a=Go(n,e,t,s);n=a.state(),r(a)},getCurrentListType:()=>n.type(),getCurrentLevel:()=>n.level()}})(o,o.document))},nextFilter:t,originalToken:n,listType:r,emitter:Jo}})(es);var ns=Io(((e,t,n)=>{Zo.check(t)||((e,t,n)=>{t.nextFilter.get()(e,t,n)})(e,ts,t)}),ts.reset);const rs=e=>e.dom.textContent,os=[{regex:/^\\(?[dc][\\.\\)]$/,type:{tag:\"ol\",type:\"lower-alpha\"}},{regex:/^\\(?[DC][\\.\\)]$/,type:{tag:\"ol\",type:\"upper-alpha\"}},{regex:/^\\(?M*(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})[\\.\\)]$/,type:{tag:\"ol\",type:\"upper-roman\"}},{regex:/^\\(?m*(cm|cd|d?c{0,3})(xc|xl|l?x{0,3})(ix|iv|v?i{0,3})[\\.\\)]$/,type:{tag:\"ol\",type:\"lower-roman\"}},{regex:/^\\(?[0-9]+[\\.\\)]$/,type:{tag:\"ol\"}},{regex:/^([0-9]+\\.)*[0-9]+\\.?$/,type:{tag:\"ol\",variant:\"outline\"}},{regex:/^\\(?[a-z]+[\\.\\)]$/,type:{tag:\"ol\",type:\"lower-alpha\"}},{regex:/^\\(?[A-Z]+[\\.\\)]$/,type:{tag:\"ol\",type:\"upper-alpha\"}}],ss={\"\\u2022\":{tag:\"ul\",type:\"disc\"},\"\\xb7\":{tag:\"ul\",type:\"disc\"},\"\\xa7\":{tag:\"ul\",type:\"square\"}},as={o:{tag:\"ul\",type:\"circle\"},\"-\":{tag:\"ul\",type:\"disc\"},\"\\u25cf\":{tag:\"ul\",type:\"disc\"},\"\\ufffd\":{tag:\"ul\",type:\"circle\"}},is=(e,t)=>a(e.variant)?\"(\"===t.charAt(0)?\"()\":\")\"===t.charAt(t.length-1)?\")\":\".\":e.variant,ls=e=>{const t=e.split(\".\"),n=(()=>{if(0===t.length)return e;const n=t[t.length-1];return 0===n.length&&t.length>1?t[t.length-2]:n})(),r=parseInt(n,10);return isNaN(r)?{}:{start:r}},cs=e=>{const t=(e=>oo(e,[\"mso-list\"],b)[\"mso-list\"])(e),n=l(t)&&/ level([0-9]+)/.exec(t);return n&&n[1]?k.some(parseInt(n[1],10)):k.none()},us=(e,t)=>{const n=((e,t)=>{const n=as[e]?[as[e]]:[],r=((e,t)=>t&&ss[e]?[ss[e]]:t?[{tag:\"ul\",variant:e}]:[])(e,t),o=R(os,(t=>t.regex.test(e)?[Xr(t.type,ls(e),{variant:is(t.type,e)})]:[])),s=n.concat(r).concat(o);return A(s,(t=>void 0!==t.variant?t:Xr(t,{variant:e})))})(rs(e).trim(),t);return n.length>0?k.some(n):k.none()},ds=e=>Xn(e,Ce).bind(Bt).filter(Ee(\"span\")),hs=e=>Zn(e,(e=>!!(Te(e)?oo(e,[\"mso-list\"],b):{})[\"mso-list\"])),ms=e=>Te(e)&&$n(e,\"font-family\").exists((e=>T([\"wingdings\",\"symbol\"],e.toLowerCase()))),ps=(e,t,n,r)=>{((e,t,n)=>{Sn(e,\"data-list-level\",t);const r=JSON.stringify(n);Sn(e,\"data-list-emblems\",r)})(e,t,n),(e=>{const t=((e,t)=>{const n=t.getOr(x);return(e=>{const t=[];for(;null!==e.nextNode();)t.push(De.fromDom(e.currentNode));return t})(document.createTreeWalker(e.dom,NodeFilter.SHOW_COMMENT,{acceptNode:e=>n(e.nodeValue)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}))})(e,k.none());O(t,vn)})(e),O(r,vn),On(e,\"style\"),On(e,\"class\")},fs=e=>(e=>cs(e).bind((t=>(e=>Xn(e,ms))(e).bind((n=>us(n,!0).map((r=>({mutate:()=>{ps(e,t,r,[n])}}))))))))(e).orThunk((()=>(e=>cs(e).bind((t=>ds(e).bind((n=>us(n,ms(n)).map((r=>({mutate:()=>{ps(e,t,r,[n])}}))))))))(e))).orThunk((()=>(e=>cs(e).bind((t=>ds(e).bind((n=>us(n,ms(n)).map((r=>({mutate:()=>{ps(e,t,r,[n])}}))))))))(e))).orThunk((()=>(e=>\"p\"!==ke(e)?k.none():cs(e).bind((t=>hs(e).bind((n=>us(n,!1).map((r=>({mutate:()=>{ps(e,t,r,[Ft(n).getOr(n)])}}))))))))(e))).orThunk((()=>(e=>\"p\"!==ke(e)?k.none():hs(e).bind((t=>{const n=Ft(t).getOr(t),r=ms(n);return us(t,r).bind((t=>(e=>$n(e,\"margin-left\").bind((e=>{const t=parseInt(e,10);return isNaN(t)?k.none():k.some(Math.max(1,Math.ceil(t/18)))})))(e).map((r=>({mutate:()=>{ps(e,r,t,[n])}})))))})))(e))),gs=So({tags:[{name:no.pattern(/^(p|h\\d+)$/,no.caseInsensitive),mutate:e=>{fs(e).each((e=>{e.mutate()}))}}]}),vs=ns,ys=e=>{return(o=e,Ce(o)?(t=o,n=\"v:shape\",k.from((r=t,r.dom.nodeValue)).bind((e=>{const t=e.indexOf(\"]>\"),r=(e=>{try{return(new DOMParser).parseFromString(e,\"text/html\").body}catch(t){const n=document.implementation.createHTMLDocument(\"\").body;return n.innerHTML=e,n}})(`<div>${e.slice(t+2,e.lastIndexOf(\"<![\"))}</div>`);return Zn(De.fromDom(r),(e=>ke(e)===n))}))):k.none()).map((e=>{const t=Tn(e,\"o:spid\"),n=void 0===t?In(e,\"id\").getOr(\"\"):t,r=De.fromTag(\"img\");return _n(r,\"rtf-data-image\"),Sn(r,\"data-image-id\",n.substr(7)),Sn(r,\"data-image-type\",\"code\"),((e,t)=>{const n=e.dom;Me(t,((e,t)=>{e.fold((()=>{Un(n,t)}),(e=>{Fn(n,t,e)}))}))})(r,{width:$n(e,\"width\"),height:$n(e,\"height\")}),r}));var t,n,r,o},bs=e=>{if(Ee(\"img\")(e)){const t=Tn(e,\"src\");if(null!=t&&$(t,\"file://\")){const n=(e=>((e,t)=>De.fromDom(e.dom.cloneNode(!1)))(e))(e),r=t.split(/[\\/\\\\]/),o=r[r.length-1];return Sn(n,\"data-image-id\",o),On(n,\"src\"),Sn(n,\"data-image-type\",\"local\"),_n(n,\"rtf-data-image\"),k.some(n)}return k.none()}return k.none()};var xs;!function(e){e[e.Word=0]=\"Word\",e[e.GoogleDocs=1]=\"GoogleDocs\",e[e.Html=2]=\"Html\"}(xs||(xs={}));const ks=e=>t=>{In(t,e.attrName).each((n=>{const r=l(e.styleName)?e.styleName:e.attrName;if($n(t,r).isNone()){const o=e.mapValue(n);Bn(t,r,o)}On(t,e.attrName)}))},ws=e=>{const t=ke(e);return\"td\"===t||\"tr\"===t||\"col\"===t||\"th\"===t},Ss=/^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i,Cs=/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i,Ts=e=>H(e,\"#\").toUpperCase(),Is=e=>{const t=e.toString(16);return(1===t.length?\"0\"+t:t).toUpperCase()},As=e=>(e=>({value:Ts(e)}))(Is(e.red)+Is(e.green)+Is(e.blue)),Os=/^\\s*rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)\\s*$/i,Es=/^\\s*rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d?(?:\\.\\d+)?)\\s*\\)\\s*$/i,Ls=(e,t,n,r)=>({red:e,green:t,blue:n,alpha:r}),Ns=(e,t,n,r)=>{const o=parseInt(e,10),s=parseInt(t,10),a=parseInt(n,10),i=parseFloat(r);return Ls(o,s,a,i)},_s=[\"background-repeat-x\",\"background-repeat-y\"],Ds=e=>{return\"currentcolor\"===e||\"transparent\"===e?e:\"#\"+(t=H(e,\"#\").toUpperCase(),(e=>Ss.test(e)||Cs.test(e))(t)?k.some({value:Ts(t)}):k.none()).orThunk((()=>(e=>{if(\"transparent\"===e)return k.some(Ls(0,0,0,0));const t=Os.exec(e);if(null!==t)return k.some(Ns(t[1],t[2],t[3],\"1\"));const n=Es.exec(e);return null!==n?k.some(Ns(n[1],n[2],n[3],n[4])):k.none()})(e).map(As))).getOrThunk((()=>{const t=document.createElement(\"canvas\");t.height=1,t.width=1;const n=t.getContext(\"2d\");n.clearRect(0,0,t.width,t.height),n.fillStyle=\"#FFFFFF\",n.fillStyle=e,n.fillRect(0,0,1,1);const r=n.getImageData(0,0,1,1).data,o=r[0],s=r[1],a=r[2],i=r[3];return As(Ls(o,s,a,i))})).value;var t},Ps=(e,t)=>{if(a(e))return\"\";switch(t){case\"color\":return Ds(e);case\"font-family\":return e.replace(/['\"]/g,\"\");case\"font-weight\":return(e=>{switch(e){case\"bold\":return\"700\";case\"normal\":return\"400\";default:return e}})(e);default:return V(t,\"-color\")?Ds(e):(e=>e.replace(/^0(pt|px|pc|in|cm|mm|Q|cap|ch|ic|em|ex|lh|rlh|rem|vw|vh|vb|vi|vmax|vmin|%)$/,\"0\"))(e)}},Rs=So({tags:[{name:no.pattern(/^(p|div)$/,no.caseInsensitive),mutate:e=>{const t=\"ltr\"===qn(e),n=t?\"margin-left\":\"margin-right\",r=t?\"padding-left\":\"padding-right\";$n(e,n).each((()=>{const t=Hn(e,n);Bn(e,r,t),Gn(e,n)}))}}]}),Ms=wo({tags:[{name:no.exact(\"b\",no.caseInsensitive),condition:e=>In(e,\"id\").exists((e=>$(e,\"docs-internal-guid\")))}]}),js=ko({attributes:[{name:no.exact(\"id\",no.caseInsensitive),value:no.starts(\"docs-internal-guid\",no.caseInsensitive)}]}),Fs=[So({tags:[{name:no.exact(\"col\",no.caseInsensitive),mutate:ks({attrName:\"width\",mapValue:e=>e.replace(/^(\\d+)$/,\"$1px\")})}]})],Us=e=>So({tags:[{name:no.exact(e.matchTag,no.caseInsensitive),mutate:t=>{var n,r;(n=Vn(t),r=e.key,ze(n,r)?k.from(n[r]):k.none()).exists((t=>T(e.values,t)))&&(mn(t,De.fromTag(e.newTag)),Gn(t,e.key),o(e.removeExtra)&&O(e.removeExtra,(e=>Gn(t,e))))}}]}),Bs=[Us({matchTag:\"span\",key:\"font-weight\",values:[\"700\",\"bold\"],newTag:\"strong\"}),Us({matchTag:\"span\",key:\"font-style\",values:[\"italic\"],newTag:\"em\"}),Us({matchTag:\"span\",key:\"vertical-align\",values:[\"sub\"],newTag:\"sub\",removeExtra:[\"font-size\"]}),Us({matchTag:\"span\",key:\"vertical-align\",values:[\"super\"],newTag:\"sup\",removeExtra:[\"font-size\"]})],zs=e=>t=>{const n=[],r={border:e.browser.isFirefox()?\"medium none\":\"none\",\"text-decoration\":\"none\"},o=(e,t)=>{if(!a(t)){const r=De.fromTag(ke(e));hn(t,r),n.push({me:e,fake:r})}const r=L(Ht(e),Te);O(r,(t=>o(t,e)))};o(t);const s=A(n,(e=>{const{fake:t,me:n}=e,o=Vn(n),s=Ue(o,((e,r)=>{const o=((e,t)=>T(_s,t)?$n(e,\"background-repeat\"):k.none())(n,r).getOr(e),s=((e,t)=>T(_s,t)?Hn(e,\"background-repeat\"):Hn(e,t))(t,r);return Ps(o,r)===Ps(s,r)})),a=Ue(r,((e,t)=>Rn($n(n,t),e)));return{fake:t,me:n,toRemove:s,toPreserve:a}}));O(s,(e=>{const{me:t,toRemove:n,toPreserve:r,fake:o}=e;Me(n,((e,n)=>{Gn(t,n)})),Me(r,((e,n)=>{Bn(t,n,e)})),vn(o)}))},Hs=[\"p\",\"div\",\"article\",\"aside\",\"details\",\"dt\",\"figcaption\",\"footer\",\"form\",\"fieldset\",\"header\",\"hgroup\",\"html\",\"main\",\"nav\",\"section\",\"summary\",\"body\",\"dl\",\"multicol\",\"dd\",\"figure\",\"address\",\"center\",\"blockquote\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"listing\",\"xmp\",\"pre\",\"plaintext\",\"menu\",\"dir\",\"ul\",\"ol\",\"li\",\"hr\",\"table\",\"tbody\",\"thead\",\"tfoot\",\"th\",\"tr\",\"td\",\"caption\"],Ws=ko({styles:[{name:no.exact(\"background-color\",no.caseInsensitive),value:no.exact(\"transparent\",no.caseInsensitive)},{name:no.exact(\"white-space\",no.caseInsensitive),value:no.starts(\"pre\",no.caseInsensitive)},{name:no.exact(\"white-space-collapse\",no.caseInsensitive),value:no.starts(\"preserve\",no.caseInsensitive)},{name:no.exact(\"text-wrap\",no.caseInsensitive),value:no.not(no.exact(\"wrap\",no.caseInsensitive))},{name:no.pattern(/^overflow(-[xy])?$/,no.caseInsensitive),condition:e=>ws(e)&&Rn($n(e,\"overflow\"),\"hidden\")},{name:no.exact(\"overflow-wrap\",no.caseInsensitive),condition:ws},{name:no.exact(\"table-layout\",no.caseInsensitive),value:no.exact(\"fixed\",no.caseInsensitive),condition:Ee(\"table\")},{name:no.exact(\"line-height\",no.caseInsensitive),value:no.exact(\"1.38\",no.caseInsensitive)},{name:no.exact(\"vertical-align\",no.caseInsensitive),value:no.exact(\"baseline\",no.caseInsensitive)},{name:no.exact(\"font-style\",no.caseInsensitive),value:no.exact(\"normal\",no.caseInsensitive)},{name:no.exact(\"font-variant\",no.caseInsensitive),value:no.exact(\"normal\",no.caseInsensitive)},{name:no.exact(\"background-color\",no.caseInsensitive),value:no.exact(\"transparent\",no.caseInsensitive)},{name:no.starts(\"padding\",no.caseInsensitive),condition:ws},{name:no.pattern(/^text-decoration(-(line|thickness|style|color))?$/,no.caseInsensitive),condition:e=>!Ee(\"a\")(e)&&Rn($n(e,\"text-decoration\"),\"none\")}],attributes:[{name:no.exact(\"aria-level\",no.caseInsensitive),condition:Ee(\"li\")},{name:no.exact(\"dir\",no.caseInsensitive),value:no.exact(\"ltr\",no.caseInsensitive),condition:e=>T(Hs,ke(e))},{name:no.exact(\"role\",no.caseInsensitive),value:no.exact(\"presentation\",no.caseInsensitive),condition:e=>Ee(\"p\")(e)&&Ft(e).exists(Ee(\"li\"))}]}),$s=ko({styles:[{name:no.exact(\"text-align\",no.caseInsensitive),value:no.exact(\"right\",no.caseInsensitive),condition:e=>\"rtl\"===qn(e)}]}),Vs=So({tags:[{name:no.exact(\"p\",no.caseInsensitive),condition:e=>{const t=t=>$n(e,t).map((e=>parseInt(e,10))).filter((e=>!isNaN(e))).getOr(0),n=qn(e);return t(\"text-indent\")+t(\"rtl\"===n?\"padding-right\":\"padding-left\")===0},mutate:e=>{const t=qn(e);Gn(e,\"text-indent\"),Gn(e,\"rtl\"===t?\"padding-right\":\"padding-left\")}}]}),Gs=e=>t=>Pn(t,e),qs=ve(Ie,\"text\"),Ks=e=>qs.get(e),Js=e=>{const t=e.dom.attributes;return null==t||0===t.length||1===t.length&&\"style\"===t[0].name},Ys=(e,t)=>{const n=De.fromTag(e);cn(t,n);const r=t.dom.attributes;O(r,(e=>{n.dom.setAttribute(e.name,e.value)}));const o=Ht(t);return fn(n,o),vn(t),n},Xs=Ee(\"li\"),Zs=e=>Ut(e).bind((e=>Ie(e)&&0===Ks(e).trim().length?Zs(e):Xs(e)?k.some(e):k.none())),Qs=e=>{const t=Ys(\"span\",e),n={\"font-size\":{1:\"8pt\",2:\"10pt\",3:\"12pt\",4:\"14pt\",5:\"18pt\",6:\"24pt\",7:\"36pt\"}};Me({face:\"font-family\",size:\"font-size\",color:\"color\"},((e,r)=>{In(t,r).each((o=>{const s=n[e],a=void 0!==s&&void 0!==s[o]?s[o]:o;Bn(t,e,a),On(t,r)}))}))},ea=ko({tags:[{name:no.exact(\"script\",no.caseInsensitive)},{name:no.exact(\"link\",no.caseInsensitive)},{name:no.exact(\"style\",no.caseInsensitive),condition:e=>0===Jn(e).length}],attributes:[{name:no.starts(\"on\",no.caseInsensitive)},{name:no.exact('\"',no.caseInsensitive)},{name:no.exact(\"lang\",no.caseInsensitive)},{name:no.exact(\"language\",no.caseInsensitive)}],styles:[{name:no.all(),value:no.pattern(/OLE_LINK/i,no.caseInsensitive)}]}),ta=ko({tags:[{name:no.exact(\"meta\",no.caseInsensitive)}]}),na=ko({tags:[{name:no.exact(\"style\",no.caseInsensitive)}]}),ra=ko({styles:[{name:no.not(no.pattern(/^(width|height|list-style-type)$/,no.caseInsensitive)),condition:e=>!Pn(e,\"ephox-limbo-transform\")},{name:no.pattern(/^(width|height)$/,no.caseInsensitive),condition:e=>{return(e=>\"img\"!==ke(e))(e)&&!(\"table\"===ke(t=e)||ws(t));var t}}]}),oa=(e=[])=>{const t=A(e,(e=>({name:no.exact(e,no.caseInsensitive)})));return wo({tags:t})},sa=ko({classes:[{name:no.not(no.exact(\"rtf-data-image\",no.caseInsensitive))}]}),aa=ko({styles:[{name:no.pattern(/^(mso-.*|tab-stops|tab-interval|language|text-underline|text-effect|text-line-through|font-color|horiz-align|list-image-[0-9]+|separator-image|table-border-color-(dark|light)|vert-align|vnd\\..*)$/,no.caseInsensitive)}]}),ia=ko({classes:[{name:no.pattern(/mso/i,no.caseInsensitive)}]}),la=wo({tags:[{name:no.exact(\"img\",no.caseInsensitive),condition:e=>{const t=Tn(e,\"src\");return n(t)&&/^file:/.test(t)}}]}),ca=wo({tags:[{name:no.exact(\"a\",no.caseInsensitive),condition:Js}]}),ua=ko({attributes:[{name:no.exact(\"style\",no.caseInsensitive),value:no.exact(\"\",no.caseInsensitive)}]}),da=ko({attributes:[{name:no.exact(\"class\",no.caseInsensitive),value:no.exact(\"\",no.caseInsensitive)}]}),ha=wo({tags:[{name:no.pattern(/^(font|em|strong|samp|acronym|cite|code|dfn|kbd|tt|b|i|u|s|sub|sup|ins|del|var|span)$/,no.caseInsensitive),condition:(ma=e=>!Js(e)||(e=>{const t=e.dom.attributes,n=null!=t&&t.length>0;return\"span\"!==ke(e)||n})(e)&&Zn(e,(e=>{const t=!Js(e),n=!T([\"font\",\"em\",\"strong\",\"samp\",\"acronym\",\"cite\",\"code\",\"dfn\",\"kbd\",\"tt\",\"b\",\"i\",\"u\",\"s\",\"sub\",\"sup\",\"ins\",\"del\",\"var\",\"span\"],ke(e));return Ie(e)||t||n})).isSome(),e=>!ma(e))}]});var ma;const pa=So({tags:[{name:no.exact(\"p\",no.caseInsensitive),mutate:e=>{0===Jn(e).length&&hn(e,De.fromTag(\"br\"))}}]}),fa=e=>{const t=Ys(\"span\",e);_n(t,\"ephox-limbo-transform\"),Bn(t,\"text-decoration\",\"underline\")},ga=So({tags:[{name:no.pattern(/ol|ul/,no.caseInsensitive),mutate:e=>{Ft(e).each((t=>{const n=ke(t);T([\"ol\",\"ul\"],n)&&Zs(e).fold((()=>{const t=De.fromTag(\"li\");Bn(t,\"list-style-type\",\"none\"),mn(e,t)}),(t=>{hn(t,e)}))}))}}]}),va=e=>{const t=[{name:\"b\",transform:{mutate:g(Ys,\"strong\")}},{name:\"i\",transform:{mutate:g(Ys,\"em\")}},{name:\"u\",transform:{mutate:fa}},{name:\"s\",transform:{mutate:g(Ys,\"strike\")}},{name:\"font\",transform:{mutate:Qs,debug:!0}}],n=L(t,(t=>!T(e,t.name))).map((e=>({name:no.exact(e.name,no.caseInsensitive),...e.transform})));return So({tags:n})},ya=ko({classes:[{name:no.exact(\"ephox-limbo-transform\",no.caseInsensitive)}]}),ba=ko({tags:[{name:no.exact(\"br\",no.caseInsensitive),condition:Gs(\"Apple-interchange-newline\")}]}),xa=ko({styles:[{name:no.pattern(/^-/,no.caseInsensitive)},{name:no.all(),value:no.exact(\"initial\",no.caseInsensitive)},{name:no.exact(\"background-color\",no.caseInsensitive),value:no.exact(\"transparent\",no.caseInsensitive)},{name:no.exact(\"font-style\",no.caseInsensitive),value:no.exact(\"normal\",no.caseInsensitive)},{name:no.pattern(/font-variant.*/,no.caseInsensitive)},{name:no.exact(\"letter-spacing\",no.caseInsensitive)},{name:no.exact(\"font-weight\",no.caseInsensitive),value:no.pattern(/400|normal/,no.caseInsensitive)},{name:no.exact(\"orphans\",no.caseInsensitive)},{name:no.exact(\"text-decoration\",no.caseInsensitive),value:no.exact(\"none\",no.caseInsensitive)},{name:no.exact(\"text-size-adjust\",no.caseInsensitive)},{name:no.exact(\"text-indent\",no.caseInsensitive),value:no.exact(\"0px\",no.caseInsensitive)},{name:no.exact(\"text-transform\",no.caseInsensitive),value:no.exact(\"none\",no.caseInsensitive)},{name:no.exact(\"white-space\",no.caseInsensitive),value:no.exact(\"normal\",no.caseInsensitive)},{name:no.exact(\"widows\",no.caseInsensitive)},{name:no.exact(\"word-spacing\",no.caseInsensitive),value:no.exact(\"0px\",no.caseInsensitive)},{name:no.exact(\"text-align\",no.caseInsensitive),value:no.pattern(/start|end/,no.caseInsensitive)},{name:no.exact(\"font-weight\",no.caseInsensitive),value:no.pattern(/700|bold/,no.caseInsensitive),condition:e=>/^h\\d$/.test(ke(e))}]}),ka=(()=>{const e=(e,t)=>n=>e(n).filter((e=>Ie(n)&&t(rs(e)||\"\",\" \"))).isSome(),t=e(Ut,V),n=e(Bt,$);return So({tags:[{name:no.exact(\"span\",no.caseInsensitive),condition:Gs(\"Apple-converted-space\"),mutate:e=>{\"\\xa0\"===rs(e)&&(t(e)||n(e)?yn(e):(cn(e,De.fromText(\" \")),vn(e)))}}]})})(),wa=(()=>{const e=/^file:\\/\\/\\/[^#]+(#[^#]+)$/;return So({tags:[{name:no.exact(\"a\",no.caseInsensitive),condition:t=>{const n=Tn(t,\"href\");return!!n&&e.test(n)},mutate:t=>{In(t,\"href\").each((n=>{Sn(t,\"href\",n.replace(e,\"$1\"))}))}}]})})(),Sa=ko({attributes:[{name:no.exact(\"href\",no.caseInsensitive),value:no.starts(\"file:///\",no.caseInsensitive)}]}),Ca=(()=>{const e=(e,t,n)=>({name:no.exact(e,no.caseInsensitive),condition:e=>An(e,t),mutate:e=>{In(e,t).each((r=>{Sn(e,n,r),On(e,t)}))}});return So({tags:[e(\"a\",\"data-ephox-href\",\"href\"),e(\"img\",\"data-ephox-src\",\"src\")]})})(),Ta=e=>{const t=[\"table\",\"thead\",\"tbody\",\"tfoot\",\"th\",\"tr\",\"td\",\"ul\",\"ol\",\"li\"],n=Kt(e,Ce),r=_(n,(e=>W(Ne(e),\"StartFragment\"))),o=_(n,(e=>W(Ne(e),\"EndFragment\")));r.each((n=>{o.each((r=>{let o=n;const s=[];let a=((e,t,n,r)=>{const o=tn(e,0,n,0);return De.fromDom(o.commonAncestorContainer)})(n,0,r);for(;void 0!==a&&!At(a,e);)T(t,ke(a))?o=a:s.push(a),a=Ft(a).getOrUndefined();O(s,yn),O(zt(o),vn)})),vn(n)})),o.each(vn)},Ia=So({tags:[{name:no.pattern(/^(img|table)$/,no.caseInsensitive),mutate:e=>{$n(e,\"margin-left\").exists((e=>$(e,\"-\")))&&Gn(e,\"margin-left\"),$(Hn(e,\"margin-left\"),\"-\")&&(Bn(e,\"margin-top\",Hn(e,\"margin-top\")),Bn(e,\"margin-bottom\",Hn(e,\"margin-bottom\")),Bn(e,\"margin-right\",Hn(e,\"margin-right\")),Gn(e,\"margin\"))}}]}),Aa=So({tags:[{name:no.exact(\"p\",no.caseInsensitive),mutate:ks({attrName:\"align\",styleName:\"text-align\",mapValue:p})}]}),Oa=(e,t)=>{return(n=e,qs.getOption(n)).exists((e=>0===t(e).length));var n},Ea=ko({tags:[{name:no.exact(\"font\",no.caseInsensitive),condition:e=>{const t=Ht(e),n=e=>e.replace(/[ \\r\\n\\uFEFF]+/g,\"\");return 0===t.length||M(t,(e=>Oa(e,n)))}}]}),La=e=>O(Ht(e),(e=>{Oa(e,G)&&vn(e)})),Na=So({tags:[{name:no.exact(\"ol\",no.caseInsensitive),mutate:La},{name:no.exact(\"ul\",no.caseInsensitive),mutate:La}]}),_a=wo({tags:[{name:no.pattern(/^([OVWXP]|U[0-9]+|ST[0-9]+):/i,no.caseInsensitive)}]}),Da=[Co([vs])],Pa=ko({attributes:[{name:no.exact(\"height\",no.caseInsensitive),condition:Ee(\"table\")}]}),Ra=ko({attributes:[{name:no.pattern(/^(width|height)$/,no.caseInsensitive),condition:ws}]}),Ma=So({tags:[{name:no.exact(\"table\",no.caseInsensitive),mutate:ks({attrName:\"width\",mapValue:e=>e.replace(/^(\\d+)$/,\"$1px\")})}]}),ja=ko({styles:[{name:no.exact(\"height\",no.caseInsensitive),condition:Ee(\"td\")},{name:no.exact(\"width\",no.caseInsensitive),condition:Ee(\"tr\")},{name:no.exact(\"height\",no.caseInsensitive),condition:Ee(\"col\")}]}),Fa=ko({attributes:[{name:no.pattern(/^v:/,no.caseInsensitive)},{name:no.exact(\"href\",no.caseInsensitive),value:no.contains(\"#_toc\",no.caseInsensitive)},{name:no.exact(\"href\",no.caseInsensitive),value:no.contains(\"#_mso\",no.caseInsensitive)},{name:no.pattern(/^xmlns(:|$)/,no.caseInsensitive)},{name:no.exact(\"type\",no.caseInsensitive),condition:e=>\"ol\"===ke(e)||\"ul\"===ke(e)}]});wo({tags:[{name:no.exact(\"p\",no.caseInsensitive),condition:(\"li\",e=>Ft(e).exists((e=>\"li\"===ke(e)&&1===Ht(e).length)))}]}),So({tags:[{name:no.pattern(/^(img|table)$/,no.caseInsensitive),mutate:e=>{$n(e,\"margin-left\").exists((e=>$(e,\"-\")))&&Gn(e,\"margin-left\"),$(Hn(e,\"margin-left\"),\"-\")&&(Bn(e,\"margin-top\",Hn(e,\"margin-top\")),Bn(e,\"margin-bottom\",Hn(e,\"margin-bottom\")),Bn(e,\"margin-right\",Hn(e,\"margin-right\")),Gn(e,\"margin\"))}}]});const Ua=e=>{const t=[Aa,aa,ia],n=[Aa,ra,oa(e.cleanFilteredInlineElements),sa];return e.merge?t:n},Ba=e=>e.type===xs.Word?[gs]:[],za=e=>e.type===xs.Word?[_a,...Da,Fa]:[],Ha=e=>e.type===xs.GoogleDocs?[Ms]:[],Wa=e=>e.type!==xs.GoogleDocs||e.indentUseMargin?[]:[Rs],$a=(e,t)=>e.type===xs.GoogleDocs?[Ws,...Bs,...Fs,zs(t),$s,Vs,...Wa(e)]:[],Va=e=>e.type===xs.Html&&e.merge?[xa]:[],Ga=e=>e.type===xs.Word?[ja,Ma,Ra,Pa]:[];Nt([{bothErrors:[\"error1\",\"error2\"]},{firstError:[\"error1\",\"value2\"]},{secondError:[\"value1\",\"error2\"]},{bothValues:[\"value1\",\"value2\"]}]);const qa=(e,t)=>Ya(document.createElement(\"canvas\"),e,t),Ka=e=>{const t=qa(e.width,e.height);return Ja(t).drawImage(e,0,0),t},Ja=e=>e.getContext(\"2d\"),Ya=(e,t,n)=>(e.width=t,e.height=n,e),Xa=e=>e.naturalWidth||e.width,Za=e=>e.naturalHeight||e.height,Qa=e=>fetch(e).then((e=>e.ok?e.blob():Promise.reject(new Error(\"Error \"+e.status+\" downloading image\"))),(()=>Promise.reject((()=>{const e=new Error(\"No access to download image\");return e.code=18,e.name=\"SecurityError\",e})()))),ei=e=>{const t=e.split(\",\"),n=/data:([^;]+)/.exec(t[0]);if(!n)return k.none();const r=n[1],o=t[1],s=1024,a=atob(o),i=a.length,l=Math.ceil(i/s),c=new Array(l);for(let e=0;e<l;++e){const t=e*s,n=Math.min(t+s,i),r=new Array(n-t);for(let e=t,o=0;e<n;++o,++e)r[o]=a[e].charCodeAt(0);c[e]=new Uint8Array(r)}return k.some(new Blob(c,{type:r}))},ti=e=>new Promise(((t,n)=>{ei(e).fold((()=>{n(\"uri is not base64: \"+e)}),t)})),ni=(e,t,n)=>(t=t||\"image/png\",c(HTMLCanvasElement.prototype.toBlob)?new Promise(((r,o)=>{e.toBlob((e=>{e?r(e):o()}),t,n)})):ti(e.toDataURL(t,n))),ri=e=>(e=>{const t=URL.createObjectURL(e),n=new Image;return n.src=t,(e=>new Promise(((t,n)=>{const r=()=>{s(),t(e)},o=[Lr(e,\"load\",r),Lr(e,\"error\",(()=>{s(),n(\"Unable to load data from image: \"+e.dom.src)}))],s=()=>O(o,(e=>e.unbind()));e.dom.complete&&r()})))(De.fromDom(n)).then((e=>e.dom))})(e).then((e=>{si(e);const t=qa(Xa(e),Za(e));return Ja(t).drawImage(e,0,0),t})),oi=e=>new Promise((t=>{const n=new FileReader;n.onloadend=()=>{t(n.result)},n.readAsDataURL(e)})),si=e=>{URL.revokeObjectURL(e.src)},ai=(e,t,n)=>{const r=t.type,o=m(r),s=m(n),a=(t,n)=>e.then((e=>((e,t,n)=>(t=t||\"image/png\",e.toDataURL(t,n)))(e,t,n)));return{getType:o,toBlob:()=>Promise.resolve(t),toDataURL:s,toBase64:()=>n.split(\",\")[1],toAdjustedBlob:(t,n)=>e.then((e=>ni(e,t,n))),toAdjustedDataURL:a,toAdjustedBase64:(e,t)=>a(e,t).then((e=>e.split(\",\")[1])),toCanvas:()=>e.then(Ka)}},ii=(e,t)=>ni(e,t).then((t=>ai(Promise.resolve(e),t,e.toDataURL()))),li=(e,t,n)=>{const r=Xa(e),o=Za(e);let s=t/r,a=n/o,i=!1;(s<.5||s>2)&&(s=s<.5?.5:2,i=!0),(a<.5||a>2)&&(a=a<.5?.5:2,i=!0);const l=ci(e,s,a);return i?l.then((e=>li(e,t,n))):l},ci=(e,t,n)=>new Promise((r=>{const o=Xa(e),s=Za(e),a=Math.floor(o*t),i=Math.floor(s*n),l=qa(a,i);Ja(l).drawImage(e,0,0,o,s,0,0,a,i),r(l)})),ui=(e,t=2)=>{const n=Math.pow(10,t),r=Math.round(e*n);return Math.ceil(r/n)},di=(e,t,n,r,o)=>((e,t,n,r,o)=>e.toCanvas().then((s=>((e,t,n,r,o,s)=>{const a=qa(o,s);return Ja(a).drawImage(e,-n,-r),ii(a,t)})(s,e.getType(),t,n,r,o))))(e,t,n,r,o),hi=(e,t)=>((e,t)=>e.toCanvas().then((n=>((e,t,n)=>{const r=(n<0?360+n:n)*Math.PI/180,o=e.width,s=e.height,a=Math.sin(r),i=Math.cos(r),l=ui(Math.abs(o*i)+Math.abs(s*a)),c=ui(Math.abs(o*a)+Math.abs(s*i)),u=qa(l,c),d=Ja(u);return d.translate(l/2,c/2),d.rotate(r),d.drawImage(e,-o/2,-s/2),ii(u,t)})(n,e.getType(),t))))(e,t),mi=(e,t)=>((e,t)=>ai(ri(e),e,t))(e,t),pi=e=>(e=>(e=>{const t=e.src;return 0===t.indexOf(\"data:\")?ti(t):Qa(t)})(e).then((e=>(e=>oi(e).then((t=>ai(ri(e),e,t))))(e))))(e),fi=e=>e.toBlob(),gi=e=>e.toDataURL(),vi=e=>parseInt(e,10),yi=e=>e.isPx&&(e.cropWidth!==e.width||e.cropHeight!==e.height),bi=/rotate\\((\\d\\.\\d+)rad\\)/,xi=(e,t,n)=>pi(e.dom).then((e=>t=>((e,t,n)=>((e,t,n)=>e.toCanvas().then((r=>li(r,t,n).then((t=>ii(t,e.getType()))))))(e,t,n))(t,e.width,e.height))(t)).then(((e,t)=>n=>{if(yi(t)){const r=-1*vi(Hn(e,\"margin-top\")),o=-1*vi(Hn(e,\"margin-left\"));return di(n,o,r,t.cropWidth,t.cropHeight).then((n=>(Cn(e,{width:t.cropWidth,height:t.cropHeight}),n)))}return Promise.resolve(n)})(e,t)).then(((e,t)=>n=>(e=>{const t=Hn(e,\"transform\");return k.from(bi.exec(t)).map((e=>Math.round(parseFloat(e[1])*(180/Math.PI))))})(t).fold((()=>Promise.resolve(n)),(r=>hi(n,r).then((n=>(Gn(t,\"transform\"),On(e,\"width\"),On(e,\"height\"),n))))))(e,n)).then((t=>{const n=gi(t);return Sn(e,\"src\",n),Promise.resolve()})),ki=e=>Ft(e).filter(Ee(\"span\")).map((t=>{const n=()=>((e,t)=>{var n,r,o;Gn(e,\"margin-top\"),Gn(e,\"margin-left\"),Gn(t,\"width\"),Gn(t,\"height\"),Gn(t,\"overflow\"),Gn(t,\"display\"),r=e,o=[\"transform\"],Te(n=t)&&Te(r)&&O(o,(e=>{((e,t,n)=>{$n(e,n).each((e=>{$n(t,n).isNone()&&Bn(t,n,e)}))})(n,r,e)})),Gn(t,\"transform\")})(e,t),r=((e,t)=>{const n=(e,t)=>In(e,t).map(vi).filter((e=>!isNaN(e))).getOr(0),r=Hn(t,\"width\"),o=Hn(t,\"height\"),s=n(e,\"width\"),a=n(e,\"height\"),i=/^\\d+px$/;return{isPx:i.test(r)&&i.test(o),cropWidth:vi(r),cropHeight:vi(o),width:s,height:a}})(e,t);return(yi(r)||bi.test(Hn(t,\"transform\"))?xi(e,r,t):Promise.resolve()).then(n,n)})).getOrThunk((()=>Promise.resolve()));var wi=[\"body\",\"p\",\"div\",\"article\",\"aside\",\"figcaption\",\"figure\",\"footer\",\"header\",\"nav\",\"section\",\"ol\",\"ul\",\"li\",\"table\",\"thead\",\"tbody\",\"tfoot\",\"caption\",\"tr\",\"td\",\"th\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"blockquote\",\"pre\",\"address\"];const Si=(e,t)=>D(e,(e=>e.start===t)),Ci=(e,t,n=0)=>N(e,((e,n)=>t(n,e.len).fold(m(e),(t=>({len:t.finish,list:e.list.concat([t])})))),{len:n,list:[]}).list,Ti=(e,t,n)=>0===t.length?e:R(e,(e=>{const r=R(t,(t=>((e,t)=>t>=e.start&&t<=e.finish)(e,t)?[t-e.start]:[]));return r.length>0?((e,t,n)=>((e,t)=>A(e,(e=>({...e,start:e.start+t,finish:e.finish+t}))))(n(e,t),e.start))(e,r,n):[e]})),Ii=(e,t)=>{const n=R(t,(t=>{const n=((e,t)=>{const n=t.term(),r=[];let o=n.exec(e);for(;o;){const s=o.index+t.prefix(o),a=o[0].length-t.prefix(o)-t.suffix(o);r.push({start:s,finish:s+a}),n.lastIndex=s+a,o=n.exec(e)}return r})(e,t.pattern);return A(n,(e=>({...t,...e})))}));return(e=>{const t=(e=>F(e,((e,t)=>e.start-t.start)))(e);return N(t,((e,t)=>{const n=I(e,(e=>t.start>=e.start&&t.finish<=e.finish));return D(e,(e=>t.start===e.start)).fold((()=>n?e:[...e,t]),(n=>t.finish>e[n].finish?[...e.slice(0,n),t]:e))}),[])})(n)},Ai=(e,t,n)=>({element:e,start:t,finish:n}),Oi=Nt([{include:[\"item\"]},{excludeWith:[\"item\"]},{excludeWithout:[\"item\"]}]),Ei={include:Oi.include,excludeWith:Oi.excludeWith,excludeWithout:Oi.excludeWithout,cata:(e,t,n,r)=>e.fold(t,n,r)},Li=Nt([{boundary:[\"item\",\"universe\"]},{empty:[\"item\",\"universe\"]},{text:[\"item\",\"universe\"]},{nonEditable:[\"item\",\"universe\"]}]),Ni=b,_i=x,Di=m(0),Pi=m(1),Ri=e=>({...e,isBoundary:()=>e.fold(_i,Ni,Ni,Ni),toText:()=>e.fold(k.none,k.none,(e=>k.some(e)),k.none),is:t=>e.fold(Ni,Ni,((e,n)=>n.eq(e,t)),Ni),len:()=>e.fold(Di,Pi,((e,t)=>t.property().getText(e).length),Pi)}),Mi={text:h(Ri,Li.text),boundary:h(Ri,Li.boundary),empty:h(Ri,Li.empty),nonEditable:h(Ri,Li.empty),cata:(e,t,n,r,o)=>e.fold(t,n,r,o)},ji=m([]),Fi=(e,t,n)=>{if(e.property().isText(t))return[Mi.text(t,e)];if(e.property().isEmptyTag(t))return[Mi.empty(t,e)];if(e.property().isNonEditable(t))return[];if(e.property().isElement(t)){const r=e.property().children(t),o=e.property().isBoundary(t)?[Mi.boundary(t,e)]:[],s=void 0!==n&&n(t)?[]:R(r,(t=>Fi(e,t,n)));return o.concat(s).concat(o)}return[]},Ui=Fi,Bi=(e,t,n)=>{const r=((e,t)=>{const n=[];let r=[];return O(e,(e=>{const o=t(e);Ei.cata(o,(()=>{r.push(e)}),(()=>{r.length>0&&n.push(r),n.push([e]),r=[]}),(()=>{r.length>0&&n.push(r),r=[]}))})),r.length>0&&n.push(r),n})(R(t,(t=>Ui(e,t,n))),(e=>e.match({boundary:()=>Ei.excludeWithout(e),empty:()=>Ei.excludeWith(e),text:()=>Ei.include(e),nonEditable:()=>Ei.excludeWithout(e)})));return L(r,(e=>e.length>0))},zi=(e,t,n)=>{const r=R(n,(e=>[e.start,e.finish])),o=Ti(t,r,((t,n)=>((e,t,n)=>{const r=e.property().getText(t),o=L(((e,t)=>{if(0===t.length)return[e];const n=N(t,((t,n)=>{if(0===n)return t;const r=e.substring(t.prev,n);return{prev:n,values:t.values.concat([r])}}),{prev:0,values:[]}),r=t[t.length-1];return r<e.length?n.values.concat(e.substring(r)):n.values})(r,n),(e=>e.length>0));if(o.length<=1)return[Ai(t,0,r.length)];e.property().setText(t,o[0]);const s=Ci(o.slice(1),((t,n)=>{const r=e.create().text(t),o=Ai(r,n,n+t.length);return k.some(o)}),o[0].length),a=A(s,(e=>e.element));return e.insert().afterAll(t,a),[Ai(t,0,o[0].length)].concat(s)})(e,t.element,n)));return A(n,(t=>{const n=((e,t,n)=>{const r=Si(e,t),o=Si(e,n);return r.bind((t=>{const r=o.getOr(((e,t)=>e[e.length-1]&&e[e.length-1].finish===t?e.length+1:-1)(e,n));return r>-1?k.some(e.slice(t,r)):k.none()})).getOr([])})(o,t.start,t.finish),r=A(n,(e=>e.element)),s=A(r,e.property().getText).join(\"\");return{elements:r,word:t.word,exact:s}}))},Hi={up:m({selector:Qn,closest:er,predicate:Yn,all:(e,t)=>{const n=c(t)?t:b;let r=e.dom;const o=[];for(;null!==r.parentNode&&void 0!==r.parentNode;){const e=r.parentNode,t=De.fromDom(e);if(o.push(t),!0===n(t))break;r=e}return o}}),down:m({selector:Jt,predicate:Kt}),styles:m({get:Hn,getRaw:$n,set:Bn,remove:Gn}),attrs:m({get:Tn,set:Sn,remove:On,copyTo:(e,t)=>{const n=N(e.dom.attributes,((e,t)=>(e[t.name]=t.value,e)),{});Cn(t,n)}}),insert:m({before:cn,after:un,afterAll:pn,append:hn,appendAll:fn,prepend:dn,wrap:mn}),remove:m({unwrap:yn,remove:vn}),create:m({nu:De.fromTag,clone:e=>De.fromDom(e.dom.cloneNode(!1)),text:De.fromText}),query:m({comparePosition:(e,t)=>e.dom.compareDocumentPosition(t.dom),prevSibling:Ut,nextSibling:Bt}),property:m({children:Ht,name:ke,parent:Ft,document:e=>Mt(e).dom,isText:Ie,isComment:Ce,isElement:Te,isSpecial:e=>{const t=ke(e);return T([\"script\",\"noscript\",\"iframe\",\"noframes\",\"noembed\",\"title\",\"style\",\"textarea\",\"xmp\"],t)},getLanguage:e=>Te(e)?In(e,\"lang\"):k.none(),getText:Ks,setText:(e,t)=>qs.set(e,t),isBoundary:e=>!!Te(e)&&(\"body\"===ke(e)||T(wi,ke(e))),isEmptyTag:e=>!!Te(e)&&T([\"br\",\"img\",\"hr\",\"input\"],ke(e)),isNonEditable:e=>Te(e)&&\"false\"===Tn(e,\"contenteditable\")}),eq:At,is:Ot},Wi=/(?:[A-Za-z][A-Za-z\\d.+-]{0,14}:\\/\\/(?:[-.~*+=!&;:'%@?^${}(),\\w]+@)?|www\\.|[-;:&=+$,.\\w]+@)[A-Za-z\\d-]+(?:\\.[A-Za-z\\d-]+)*(?::\\d+)?(?:\\/(?:[-.~*+=!;:'%@$(),\\/\\w]*[-~*+=%@$()\\/\\w])?)?(?:\\?(?:[-.~*+=!&;:'%@?^${}(),\\/\\w]+))?(?:#(?:[-.~*+=!&;:'%@?^${}(),\\/\\w]+))?/g.source,$i=e=>{return((e,t,n)=>((e,t,n,r)=>{const o=Bi(e,t,r),s=R(o,(t=>{const r=R(t,(e=>e.fold(ji,ji,(e=>[e]),ji))),o=A(r,e.property().getText).join(\"\"),s=Ii(o,n),a=((e,t)=>Ci(t,((t,n)=>{const r=n+e.property().getText(t).length;return k.from(Ai(t,n,r))})))(e,r);return zi(e,a,s)}));return s})(Hi,e,t,void 0))(e,[{word:\"__INTERNAL__\",pattern:(t=Wi,((e,t,n,r)=>({term:()=>new RegExp(e,r.getOr(\"g\")),prefix:t,suffix:n}))(t,m(0),m(0),k.none()))}]);var t},Vi=e=>!er(e,\"a\",undefined).isSome(),Gi=(e,t)=>{const n=$i(e);O(n,(e=>{const n=e.exact;if(n.indexOf(\"@\")<0||qi(n)){const r=W(n,\"://\")?n:`${t.defaultProtocol}://${n}`;((e,t)=>{k.from(e[0]).filter(Vi).map((n=>{const r=De.fromTag(\"a\");return cn(n,r),fn(r,e),Sn(r,\"href\",t),r}))})(e.elements,r)}}))},qi=e=>{const t=e.indexOf(\"://\");return t>=3&&t<=9},Ki=(e,t)=>{O(e,(e=>{Te(e)&&$n(e,\"position\").isSome()&&Gn(e,\"position\")}))},Ji=(e,t)=>{const n=L(e,Ee(\"li\"));if(n.length>0){const t=zt(n[0]),r=De.fromTag(\"ul\");if(cn(e[0],r),t.length>0){const e=De.fromTag(\"li\");hn(r,e),fn(e,t)}fn(r,n)}},Yi=(e,t)=>{const n=Ht(e);O([Gi,Ki,Ji],(e=>{e(n,t)}))},Xi={disabled:()=>({discriminator:\"disabled\",data:{}}),fromClipboard:e=>({discriminator:\"fromClipboard\",data:{rtf:e}})},Zi=Pe(Xi),Qi=Xi.disabled,el=Xi.fromClipboard,tl=e=>void 0!==e&&void 0!==e.types&&null!==e.types,nl=(e,t)=>{const n=new RegExp(t,\"i\");return B(e,(e=>Mn(null!==n.exec(e),{type:e,flavor:t})))};function rl(e){return rl=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},rl(e)}function ol(e,t){return ol=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},ol(e,t)}function sl(e,t,n){return sl=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&ol(o,n.prototype),o},sl.apply(null,arguments)}function al(e){return function(e){if(Array.isArray(e))return il(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(e){if(\"string\"==typeof e)return il(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?il(e,t):void 0}}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function il(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var ll=Object.hasOwnProperty,cl=Object.setPrototypeOf,ul=Object.isFrozen,dl=Object.getPrototypeOf,hl=Object.getOwnPropertyDescriptor,ml=Object.freeze,pl=Object.seal,fl=Object.create,gl=\"undefined\"!=typeof Reflect&&Reflect,vl=gl.apply,yl=gl.construct;vl||(vl=function(e,t,n){return e.apply(t,n)}),ml||(ml=function(e){return e}),pl||(pl=function(e){return e}),yl||(yl=function(e,t){return sl(e,al(t))});var bl,xl=Nl(Array.prototype.forEach),kl=Nl(Array.prototype.pop),wl=Nl(Array.prototype.push),Sl=Nl(String.prototype.toLowerCase),Cl=Nl(String.prototype.toString),Tl=Nl(String.prototype.match),Il=Nl(String.prototype.replace),Al=Nl(String.prototype.indexOf),Ol=Nl(String.prototype.trim),El=Nl(RegExp.prototype.test),Ll=(bl=TypeError,function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return yl(bl,t)});function Nl(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return vl(e,t,r)}}function _l(e,t,n){var r;n=null!==(r=n)&&void 0!==r?r:Sl,cl&&cl(e,null);for(var o=t.length;o--;){var s=t[o];if(\"string\"==typeof s){var a=n(s);a!==s&&(ul(t)||(t[o]=a),s=a)}e[s]=!0}return e}function Dl(e){var t,n=fl(null);for(t in e)!0===vl(ll,e,[t])&&(n[t]=e[t]);return n}function Pl(e,t){for(;null!==e;){var n=hl(e,t);if(n){if(n.get)return Nl(n.get);if(\"function\"==typeof n.value)return Nl(n.value)}e=dl(e)}return function(e){return console.warn(\"fallback value for\",e),null}}var Rl=ml([\"a\",\"abbr\",\"acronym\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"bdi\",\"bdo\",\"big\",\"blink\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"center\",\"cite\",\"code\",\"col\",\"colgroup\",\"content\",\"data\",\"datalist\",\"dd\",\"decorator\",\"del\",\"details\",\"dfn\",\"dialog\",\"dir\",\"div\",\"dl\",\"dt\",\"element\",\"em\",\"fieldset\",\"figcaption\",\"figure\",\"font\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"img\",\"input\",\"ins\",\"kbd\",\"label\",\"legend\",\"li\",\"main\",\"map\",\"mark\",\"marquee\",\"menu\",\"menuitem\",\"meter\",\"nav\",\"nobr\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"picture\",\"pre\",\"progress\",\"q\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"section\",\"select\",\"shadow\",\"small\",\"source\",\"spacer\",\"span\",\"strike\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"template\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"tr\",\"track\",\"tt\",\"u\",\"ul\",\"var\",\"video\",\"wbr\"]),Ml=ml([\"svg\",\"a\",\"altglyph\",\"altglyphdef\",\"altglyphitem\",\"animatecolor\",\"animatemotion\",\"animatetransform\",\"circle\",\"clippath\",\"defs\",\"desc\",\"ellipse\",\"filter\",\"font\",\"g\",\"glyph\",\"glyphref\",\"hkern\",\"image\",\"line\",\"lineargradient\",\"marker\",\"mask\",\"metadata\",\"mpath\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialgradient\",\"rect\",\"stop\",\"style\",\"switch\",\"symbol\",\"text\",\"textpath\",\"title\",\"tref\",\"tspan\",\"view\",\"vkern\"]),jl=ml([\"feBlend\",\"feColorMatrix\",\"feComponentTransfer\",\"feComposite\",\"feConvolveMatrix\",\"feDiffuseLighting\",\"feDisplacementMap\",\"feDistantLight\",\"feFlood\",\"feFuncA\",\"feFuncB\",\"feFuncG\",\"feFuncR\",\"feGaussianBlur\",\"feImage\",\"feMerge\",\"feMergeNode\",\"feMorphology\",\"feOffset\",\"fePointLight\",\"feSpecularLighting\",\"feSpotLight\",\"feTile\",\"feTurbulence\"]),Fl=ml([\"animate\",\"color-profile\",\"cursor\",\"discard\",\"fedropshadow\",\"font-face\",\"font-face-format\",\"font-face-name\",\"font-face-src\",\"font-face-uri\",\"foreignobject\",\"hatch\",\"hatchpath\",\"mesh\",\"meshgradient\",\"meshpatch\",\"meshrow\",\"missing-glyph\",\"script\",\"set\",\"solidcolor\",\"unknown\",\"use\"]),Ul=ml([\"math\",\"menclose\",\"merror\",\"mfenced\",\"mfrac\",\"mglyph\",\"mi\",\"mlabeledtr\",\"mmultiscripts\",\"mn\",\"mo\",\"mover\",\"mpadded\",\"mphantom\",\"mroot\",\"mrow\",\"ms\",\"mspace\",\"msqrt\",\"mstyle\",\"msub\",\"msup\",\"msubsup\",\"mtable\",\"mtd\",\"mtext\",\"mtr\",\"munder\",\"munderover\"]),Bl=ml([\"maction\",\"maligngroup\",\"malignmark\",\"mlongdiv\",\"mscarries\",\"mscarry\",\"msgroup\",\"mstack\",\"msline\",\"msrow\",\"semantics\",\"annotation\",\"annotation-xml\",\"mprescripts\",\"none\"]),zl=ml([\"#text\"]),Hl=ml([\"accept\",\"action\",\"align\",\"alt\",\"autocapitalize\",\"autocomplete\",\"autopictureinpicture\",\"autoplay\",\"background\",\"bgcolor\",\"border\",\"capture\",\"cellpadding\",\"cellspacing\",\"checked\",\"cite\",\"class\",\"clear\",\"color\",\"cols\",\"colspan\",\"controls\",\"controlslist\",\"coords\",\"crossorigin\",\"datetime\",\"decoding\",\"default\",\"dir\",\"disabled\",\"disablepictureinpicture\",\"disableremoteplayback\",\"download\",\"draggable\",\"enctype\",\"enterkeyhint\",\"face\",\"for\",\"headers\",\"height\",\"hidden\",\"high\",\"href\",\"hreflang\",\"id\",\"inputmode\",\"integrity\",\"ismap\",\"kind\",\"label\",\"lang\",\"list\",\"loading\",\"loop\",\"low\",\"max\",\"maxlength\",\"media\",\"method\",\"min\",\"minlength\",\"multiple\",\"muted\",\"name\",\"nonce\",\"noshade\",\"novalidate\",\"nowrap\",\"open\",\"optimum\",\"pattern\",\"placeholder\",\"playsinline\",\"poster\",\"preload\",\"pubdate\",\"radiogroup\",\"readonly\",\"rel\",\"required\",\"rev\",\"reversed\",\"role\",\"rows\",\"rowspan\",\"spellcheck\",\"scope\",\"selected\",\"shape\",\"size\",\"sizes\",\"span\",\"srclang\",\"start\",\"src\",\"srcset\",\"step\",\"style\",\"summary\",\"tabindex\",\"title\",\"translate\",\"type\",\"usemap\",\"valign\",\"value\",\"width\",\"xmlns\",\"slot\"]),Wl=ml([\"accent-height\",\"accumulate\",\"additive\",\"alignment-baseline\",\"ascent\",\"attributename\",\"attributetype\",\"azimuth\",\"basefrequency\",\"baseline-shift\",\"begin\",\"bias\",\"by\",\"class\",\"clip\",\"clippathunits\",\"clip-path\",\"clip-rule\",\"color\",\"color-interpolation\",\"color-interpolation-filters\",\"color-profile\",\"color-rendering\",\"cx\",\"cy\",\"d\",\"dx\",\"dy\",\"diffuseconstant\",\"direction\",\"display\",\"divisor\",\"dur\",\"edgemode\",\"elevation\",\"end\",\"fill\",\"fill-opacity\",\"fill-rule\",\"filter\",\"filterunits\",\"flood-color\",\"flood-opacity\",\"font-family\",\"font-size\",\"font-size-adjust\",\"font-stretch\",\"font-style\",\"font-variant\",\"font-weight\",\"fx\",\"fy\",\"g1\",\"g2\",\"glyph-name\",\"glyphref\",\"gradientunits\",\"gradienttransform\",\"height\",\"href\",\"id\",\"image-rendering\",\"in\",\"in2\",\"k\",\"k1\",\"k2\",\"k3\",\"k4\",\"kerning\",\"keypoints\",\"keysplines\",\"keytimes\",\"lang\",\"lengthadjust\",\"letter-spacing\",\"kernelmatrix\",\"kernelunitlength\",\"lighting-color\",\"local\",\"marker-end\",\"marker-mid\",\"marker-start\",\"markerheight\",\"markerunits\",\"markerwidth\",\"maskcontentunits\",\"maskunits\",\"max\",\"mask\",\"media\",\"method\",\"mode\",\"min\",\"name\",\"numoctaves\",\"offset\",\"operator\",\"opacity\",\"order\",\"orient\",\"orientation\",\"origin\",\"overflow\",\"paint-order\",\"path\",\"pathlength\",\"patterncontentunits\",\"patterntransform\",\"patternunits\",\"points\",\"preservealpha\",\"preserveaspectratio\",\"primitiveunits\",\"r\",\"rx\",\"ry\",\"radius\",\"refx\",\"refy\",\"repeatcount\",\"repeatdur\",\"restart\",\"result\",\"rotate\",\"scale\",\"seed\",\"shape-rendering\",\"specularconstant\",\"specularexponent\",\"spreadmethod\",\"startoffset\",\"stddeviation\",\"stitchtiles\",\"stop-color\",\"stop-opacity\",\"stroke-dasharray\",\"stroke-dashoffset\",\"stroke-linecap\",\"stroke-linejoin\",\"stroke-miterlimit\",\"stroke-opacity\",\"stroke\",\"stroke-width\",\"style\",\"surfacescale\",\"systemlanguage\",\"tabindex\",\"targetx\",\"targety\",\"transform\",\"transform-origin\",\"text-anchor\",\"text-decoration\",\"text-rendering\",\"textlength\",\"type\",\"u1\",\"u2\",\"unicode\",\"values\",\"viewbox\",\"visibility\",\"version\",\"vert-adv-y\",\"vert-origin-x\",\"vert-origin-y\",\"width\",\"word-spacing\",\"wrap\",\"writing-mode\",\"xchannelselector\",\"ychannelselector\",\"x\",\"x1\",\"x2\",\"xmlns\",\"y\",\"y1\",\"y2\",\"z\",\"zoomandpan\"]),$l=ml([\"accent\",\"accentunder\",\"align\",\"bevelled\",\"close\",\"columnsalign\",\"columnlines\",\"columnspan\",\"denomalign\",\"depth\",\"dir\",\"display\",\"displaystyle\",\"encoding\",\"fence\",\"frame\",\"height\",\"href\",\"id\",\"largeop\",\"length\",\"linethickness\",\"lspace\",\"lquote\",\"mathbackground\",\"mathcolor\",\"mathsize\",\"mathvariant\",\"maxsize\",\"minsize\",\"movablelimits\",\"notation\",\"numalign\",\"open\",\"rowalign\",\"rowlines\",\"rowspacing\",\"rowspan\",\"rspace\",\"rquote\",\"scriptlevel\",\"scriptminsize\",\"scriptsizemultiplier\",\"selection\",\"separator\",\"separators\",\"stretchy\",\"subscriptshift\",\"supscriptshift\",\"symmetric\",\"voffset\",\"width\",\"xmlns\"]),Vl=ml([\"xlink:href\",\"xml:id\",\"xlink:title\",\"xml:space\",\"xmlns:xlink\"]),Gl=pl(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm),ql=pl(/<%[\\w\\W]*|[\\w\\W]*%>/gm),Kl=pl(/\\${[\\w\\W]*}/gm),Jl=pl(/^data-[\\-\\w.\\u00B7-\\uFFFF]/),Yl=pl(/^aria-[\\-\\w]+$/),Xl=pl(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i),Zl=pl(/^(?:\\w+script|data):/i),Ql=pl(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g),ec=pl(/^html$/i),tc=function(){return\"undefined\"==typeof window?null:window},nc=function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:tc(),n=function(t){return e(t)};if(n.version=\"2.4.7\",n.removed=[],!t||!t.document||9!==t.document.nodeType)return n.isSupported=!1,n;var r=t.document,o=t.document,s=t.DocumentFragment,a=t.HTMLTemplateElement,i=t.Node,l=t.Element,c=t.NodeFilter,u=t.NamedNodeMap,d=void 0===u?t.NamedNodeMap||t.MozNamedAttrMap:u,h=t.HTMLFormElement,m=t.DOMParser,p=t.trustedTypes,f=l.prototype,g=Pl(f,\"cloneNode\"),v=Pl(f,\"nextSibling\"),y=Pl(f,\"childNodes\"),b=Pl(f,\"parentNode\");if(\"function\"==typeof a){var x=o.createElement(\"template\");x.content&&x.content.ownerDocument&&(o=x.content.ownerDocument)}var k=function(e,t){if(\"object\"!==rl(e)||\"function\"!=typeof e.createPolicy)return null;var n=null,r=\"data-tt-policy-suffix\";t.currentScript&&t.currentScript.hasAttribute(r)&&(n=t.currentScript.getAttribute(r));var o=\"dompurify\"+(n?\"#\"+n:\"\");try{return e.createPolicy(o,{createHTML:function(e){return e},createScriptURL:function(e){return e}})}catch(e){return console.warn(\"TrustedTypes policy \"+o+\" could not be created.\"),null}}(p,r),w=k?k.createHTML(\"\"):\"\",S=o,C=S.implementation,T=S.createNodeIterator,I=S.createDocumentFragment,A=S.getElementsByTagName,O=r.importNode,E={};try{E=Dl(o).documentMode?o.documentMode:{}}catch(e){}var L={};n.isSupported=\"function\"==typeof b&&C&&void 0!==C.createHTMLDocument&&9!==E;var N,_,D=Gl,P=ql,R=Kl,M=Jl,j=Yl,F=Zl,U=Ql,B=Xl,z=null,H=_l({},[].concat(al(Rl),al(Ml),al(jl),al(Ul),al(zl))),W=null,$=_l({},[].concat(al(Hl),al(Wl),al($l),al(Vl))),V=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),G=null,q=null,K=!0,J=!0,Y=!1,X=!0,Z=!1,Q=!1,ee=!1,te=!1,ne=!1,re=!1,oe=!1,se=!0,ae=!1,ie=!0,le=!1,ce={},ue=null,de=_l({},[\"annotation-xml\",\"audio\",\"colgroup\",\"desc\",\"foreignobject\",\"head\",\"iframe\",\"math\",\"mi\",\"mn\",\"mo\",\"ms\",\"mtext\",\"noembed\",\"noframes\",\"noscript\",\"plaintext\",\"script\",\"style\",\"svg\",\"template\",\"thead\",\"title\",\"video\",\"xmp\"]),he=null,me=_l({},[\"audio\",\"video\",\"img\",\"source\",\"image\",\"track\"]),pe=null,fe=_l({},[\"alt\",\"class\",\"for\",\"id\",\"label\",\"name\",\"pattern\",\"placeholder\",\"role\",\"summary\",\"title\",\"value\",\"style\",\"xmlns\"]),ge=\"http://www.w3.org/1998/Math/MathML\",ve=\"http://www.w3.org/2000/svg\",ye=\"http://www.w3.org/1999/xhtml\",be=ye,xe=!1,ke=null,we=_l({},[ge,ve,ye],Cl),Se=[\"application/xhtml+xml\",\"text/html\"],Ce=null,Te=o.createElement(\"form\"),Ie=function(e){return e instanceof RegExp||e instanceof Function},Ae=function(e){Ce&&Ce===e||(e&&\"object\"===rl(e)||(e={}),e=Dl(e),N=N=-1===Se.indexOf(e.PARSER_MEDIA_TYPE)?\"text/html\":e.PARSER_MEDIA_TYPE,_=\"application/xhtml+xml\"===N?Cl:Sl,z=\"ALLOWED_TAGS\"in e?_l({},e.ALLOWED_TAGS,_):H,W=\"ALLOWED_ATTR\"in e?_l({},e.ALLOWED_ATTR,_):$,ke=\"ALLOWED_NAMESPACES\"in e?_l({},e.ALLOWED_NAMESPACES,Cl):we,pe=\"ADD_URI_SAFE_ATTR\"in e?_l(Dl(fe),e.ADD_URI_SAFE_ATTR,_):fe,he=\"ADD_DATA_URI_TAGS\"in e?_l(Dl(me),e.ADD_DATA_URI_TAGS,_):me,ue=\"FORBID_CONTENTS\"in e?_l({},e.FORBID_CONTENTS,_):de,G=\"FORBID_TAGS\"in e?_l({},e.FORBID_TAGS,_):{},q=\"FORBID_ATTR\"in e?_l({},e.FORBID_ATTR,_):{},ce=\"USE_PROFILES\"in e&&e.USE_PROFILES,K=!1!==e.ALLOW_ARIA_ATTR,J=!1!==e.ALLOW_DATA_ATTR,Y=e.ALLOW_UNKNOWN_PROTOCOLS||!1,X=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,Z=e.SAFE_FOR_TEMPLATES||!1,Q=e.WHOLE_DOCUMENT||!1,ne=e.RETURN_DOM||!1,re=e.RETURN_DOM_FRAGMENT||!1,oe=e.RETURN_TRUSTED_TYPE||!1,te=e.FORCE_BODY||!1,se=!1!==e.SANITIZE_DOM,ae=e.SANITIZE_NAMED_PROPS||!1,ie=!1!==e.KEEP_CONTENT,le=e.IN_PLACE||!1,B=e.ALLOWED_URI_REGEXP||B,be=e.NAMESPACE||ye,V=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&Ie(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(V.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&Ie(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(V.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&\"boolean\"==typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(V.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Z&&(J=!1),re&&(ne=!0),ce&&(z=_l({},al(zl)),W=[],!0===ce.html&&(_l(z,Rl),_l(W,Hl)),!0===ce.svg&&(_l(z,Ml),_l(W,Wl),_l(W,Vl)),!0===ce.svgFilters&&(_l(z,jl),_l(W,Wl),_l(W,Vl)),!0===ce.mathMl&&(_l(z,Ul),_l(W,$l),_l(W,Vl))),e.ADD_TAGS&&(z===H&&(z=Dl(z)),_l(z,e.ADD_TAGS,_)),e.ADD_ATTR&&(W===$&&(W=Dl(W)),_l(W,e.ADD_ATTR,_)),e.ADD_URI_SAFE_ATTR&&_l(pe,e.ADD_URI_SAFE_ATTR,_),e.FORBID_CONTENTS&&(ue===de&&(ue=Dl(ue)),_l(ue,e.FORBID_CONTENTS,_)),ie&&(z[\"#text\"]=!0),Q&&_l(z,[\"html\",\"head\",\"body\"]),z.table&&(_l(z,[\"tbody\"]),delete G.tbody),ml&&ml(e),Ce=e)},Oe=_l({},[\"mi\",\"mo\",\"mn\",\"ms\",\"mtext\"]),Ee=_l({},[\"foreignobject\",\"desc\",\"title\",\"annotation-xml\"]),Le=_l({},[\"title\",\"style\",\"font\",\"a\",\"script\"]),Ne=_l({},Ml);_l(Ne,jl),_l(Ne,Fl);var _e=_l({},Ul);_l(_e,Bl);var De=function(e){wl(n.removed,{element:e});try{e.parentNode.removeChild(e)}catch(t){try{e.outerHTML=w}catch(t){e.remove()}}},Pe=function(e,t){try{wl(n.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){wl(n.removed,{attribute:null,from:t})}if(t.removeAttribute(e),\"is\"===e&&!W[e])if(ne||re)try{De(t)}catch(e){}else try{t.setAttribute(e,\"\")}catch(e){}},Re=function(e){var t,n;if(te)e=\"<remove></remove>\"+e;else{var r=Tl(e,/^[\\r\\n\\t ]+/);n=r&&r[0]}\"application/xhtml+xml\"===N&&be===ye&&(e='<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>'+e+\"</body></html>\");var s=k?k.createHTML(e):e;if(be===ye)try{t=(new m).parseFromString(s,N)}catch(e){}if(!t||!t.documentElement){t=C.createDocument(be,\"template\",null);try{t.documentElement.innerHTML=xe?w:s}catch(e){}}var a=t.body||t.documentElement;return e&&n&&a.insertBefore(o.createTextNode(n),a.childNodes[0]||null),be===ye?A.call(t,Q?\"html\":\"body\")[0]:Q?t.documentElement:a},Me=function(e){return T.call(e.ownerDocument||e,e,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT,null,!1)},je=function(e){return\"object\"===rl(i)?e instanceof i:e&&\"object\"===rl(e)&&\"number\"==typeof e.nodeType&&\"string\"==typeof e.nodeName},Fe=function(e,t,r){L[e]&&xl(L[e],(function(e){e.call(n,t,r,Ce)}))},Ue=function(e){var t,r;if(Fe(\"beforeSanitizeElements\",e,null),(r=e)instanceof h&&(\"string\"!=typeof r.nodeName||\"string\"!=typeof r.textContent||\"function\"!=typeof r.removeChild||!(r.attributes instanceof d)||\"function\"!=typeof r.removeAttribute||\"function\"!=typeof r.setAttribute||\"string\"!=typeof r.namespaceURI||\"function\"!=typeof r.insertBefore||\"function\"!=typeof r.hasChildNodes))return De(e),!0;if(El(/[\\u0080-\\uFFFF]/,e.nodeName))return De(e),!0;var o=_(e.nodeName);if(Fe(\"uponSanitizeElement\",e,{tagName:o,allowedTags:z}),e.hasChildNodes()&&!je(e.firstElementChild)&&(!je(e.content)||!je(e.content.firstElementChild))&&El(/<[/\\w]/g,e.innerHTML)&&El(/<[/\\w]/g,e.textContent))return De(e),!0;if(\"select\"===o&&El(/<template/i,e.innerHTML))return De(e),!0;if(!z[o]||G[o]){if(!G[o]&&ze(o)){if(V.tagNameCheck instanceof RegExp&&El(V.tagNameCheck,o))return!1;if(V.tagNameCheck instanceof Function&&V.tagNameCheck(o))return!1}if(ie&&!ue[o]){var s=b(e)||e.parentNode,a=y(e)||e.childNodes;if(a&&s)for(var i=a.length-1;i>=0;--i)s.insertBefore(g(a[i],!0),v(e))}return De(e),!0}return e instanceof l&&!function(e){var t=b(e);t&&t.tagName||(t={namespaceURI:be,tagName:\"template\"});var n=Sl(e.tagName),r=Sl(t.tagName);return!!ke[e.namespaceURI]&&(e.namespaceURI===ve?t.namespaceURI===ye?\"svg\"===n:t.namespaceURI===ge?\"svg\"===n&&(\"annotation-xml\"===r||Oe[r]):Boolean(Ne[n]):e.namespaceURI===ge?t.namespaceURI===ye?\"math\"===n:t.namespaceURI===ve?\"math\"===n&&Ee[r]:Boolean(_e[n]):e.namespaceURI===ye?!(t.namespaceURI===ve&&!Ee[r])&&!(t.namespaceURI===ge&&!Oe[r])&&!_e[n]&&(Le[n]||!Ne[n]):!(\"application/xhtml+xml\"!==N||!ke[e.namespaceURI]))}(e)?(De(e),!0):\"noscript\"!==o&&\"noembed\"!==o&&\"noframes\"!==o||!El(/<\\/no(script|embed|frames)/i,e.innerHTML)?(Z&&3===e.nodeType&&(t=e.textContent,t=Il(t,D,\" \"),t=Il(t,P,\" \"),t=Il(t,R,\" \"),e.textContent!==t&&(wl(n.removed,{element:e.cloneNode()}),e.textContent=t)),Fe(\"afterSanitizeElements\",e,null),!1):(De(e),!0)},Be=function(e,t,n){if(se&&(\"id\"===t||\"name\"===t)&&(n in o||n in Te))return!1;if(J&&!q[t]&&El(M,t));else if(K&&El(j,t));else if(!W[t]||q[t]){if(!(ze(e)&&(V.tagNameCheck instanceof RegExp&&El(V.tagNameCheck,e)||V.tagNameCheck instanceof Function&&V.tagNameCheck(e))&&(V.attributeNameCheck instanceof RegExp&&El(V.attributeNameCheck,t)||V.attributeNameCheck instanceof Function&&V.attributeNameCheck(t))||\"is\"===t&&V.allowCustomizedBuiltInElements&&(V.tagNameCheck instanceof RegExp&&El(V.tagNameCheck,n)||V.tagNameCheck instanceof Function&&V.tagNameCheck(n))))return!1}else if(pe[t]);else if(El(B,Il(n,U,\"\")));else if(\"src\"!==t&&\"xlink:href\"!==t&&\"href\"!==t||\"script\"===e||0!==Al(n,\"data:\")||!he[e])if(Y&&!El(F,Il(n,U,\"\")));else if(n)return!1;return!0},ze=function(e){return e.indexOf(\"-\")>0},He=function(e){var t,r,o,s;Fe(\"beforeSanitizeAttributes\",e,null);var a=e.attributes;if(a){var i={attrName:\"\",attrValue:\"\",keepAttr:!0,allowedAttributes:W};for(s=a.length;s--;){var l=t=a[s],c=l.name,u=l.namespaceURI;if(r=\"value\"===c?t.value:Ol(t.value),o=_(c),i.attrName=o,i.attrValue=r,i.keepAttr=!0,i.forceKeepAttr=void 0,Fe(\"uponSanitizeAttribute\",e,i),r=i.attrValue,!i.forceKeepAttr&&(Pe(c,e),i.keepAttr))if(X||!El(/\\/>/i,r)){Z&&(r=Il(r,D,\" \"),r=Il(r,P,\" \"),r=Il(r,R,\" \"));var d=_(e.nodeName);if(Be(d,o,r)){if(!ae||\"id\"!==o&&\"name\"!==o||(Pe(c,e),r=\"user-content-\"+r),k&&\"object\"===rl(p)&&\"function\"==typeof p.getAttributeType)if(u);else switch(p.getAttributeType(d,o)){case\"TrustedHTML\":r=k.createHTML(r);break;case\"TrustedScriptURL\":r=k.createScriptURL(r)}try{u?e.setAttributeNS(u,c,r):e.setAttribute(c,r),kl(n.removed)}catch(e){}}}else Pe(c,e)}Fe(\"afterSanitizeAttributes\",e,null)}},We=function e(t){var n,r=Me(t);for(Fe(\"beforeSanitizeShadowDOM\",t,null);n=r.nextNode();)Fe(\"uponSanitizeShadowNode\",n,null),Ue(n)||(n.content instanceof s&&e(n.content),He(n));Fe(\"afterSanitizeShadowDOM\",t,null)};return n.sanitize=function(e){var o,a,l,c,u,d=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if((xe=!e)&&(e=\"\\x3c!--\\x3e\"),\"string\"!=typeof e&&!je(e)){if(\"function\"!=typeof e.toString)throw Ll(\"toString is not a function\");if(\"string\"!=typeof(e=e.toString()))throw Ll(\"dirty is not a string, aborting\")}if(!n.isSupported){if(\"object\"===rl(t.toStaticHTML)||\"function\"==typeof t.toStaticHTML){if(\"string\"==typeof e)return t.toStaticHTML(e);if(je(e))return t.toStaticHTML(e.outerHTML)}return e}if(ee||Ae(d),n.removed=[],\"string\"==typeof e&&(le=!1),le){if(e.nodeName){var h=_(e.nodeName);if(!z[h]||G[h])throw Ll(\"root node is forbidden and cannot be sanitized in-place\")}}else if(e instanceof i)1===(a=(o=Re(\"\\x3c!----\\x3e\")).ownerDocument.importNode(e,!0)).nodeType&&\"BODY\"===a.nodeName||\"HTML\"===a.nodeName?o=a:o.appendChild(a);else{if(!ne&&!Z&&!Q&&-1===e.indexOf(\"<\"))return k&&oe?k.createHTML(e):e;if(!(o=Re(e)))return ne?null:oe?w:\"\"}o&&te&&De(o.firstChild);for(var m=Me(le?e:o);l=m.nextNode();)3===l.nodeType&&l===c||Ue(l)||(l.content instanceof s&&We(l.content),He(l),c=l);if(c=null,le)return e;if(ne){if(re)for(u=I.call(o.ownerDocument);o.firstChild;)u.appendChild(o.firstChild);else u=o;return(W.shadowroot||W.shadowrootmod)&&(u=O.call(r,u,!0)),u}var p=Q?o.outerHTML:o.innerHTML;return Q&&z[\"!doctype\"]&&o.ownerDocument&&o.ownerDocument.doctype&&o.ownerDocument.doctype.name&&El(ec,o.ownerDocument.doctype.name)&&(p=\"<!DOCTYPE \"+o.ownerDocument.doctype.name+\">\\n\"+p),Z&&(p=Il(p,D,\" \"),p=Il(p,P,\" \"),p=Il(p,R,\" \")),k&&oe?k.createHTML(p):p},n.setConfig=function(e){Ae(e),ee=!0},n.clearConfig=function(){Ce=null,ee=!1},n.isValidAttribute=function(e,t,n){Ce||Ae({});var r=_(e),o=_(t);return Be(r,o,n)},n.addHook=function(e,t){\"function\"==typeof t&&(L[e]=L[e]||[],wl(L[e],t))},n.removeHook=function(e){if(L[e])return kl(L[e])},n.removeHooks=function(e){L[e]&&(L[e]=[])},n.removeAllHooks=function(){L={}},n}();const rc=[\"script\",\"svg\"],oc=e=>-1!==e.lastIndexOf(\"</html>\"),sc=e=>({sanitizeHtml:(t,n)=>e(t)?t:((e,t)=>{nc.addHook(\"uponSanitizeElement\",((e,t)=>{T(rc,t.tagName)||ze(t.allowedTags,t.tagName)||(t.allowedTags[t.tagName]=!0)})),nc.addHook(\"uponSanitizeAttribute\",((e,t)=>{0===t.attrName.indexOf(\"on\")||ze(t.allowedAttributes,t.attrName)||(t.allowedAttributes[t.attrName]=!0),t.attrValue&&-1!==t.attrValue.indexOf(\"\\n\")&&(t.attrValue=t.attrValue.replace(/\\r?\\n/g,\"\"))}));const n=(e=>$(G(e),\"<!\"))(e),r=n?`<body>${e}</body>`:(e=>e.replace(/^[\\S\\s]*?(<!DOCTYPE|<html)/i,\"$1\"))(e),o=nc.sanitize(r,{ALLOW_UNKNOWN_PROTOCOLS:!0,FORBID_TAGS:rc,WHOLE_DOCUMENT:oc(e)});return nc.removeHook(\"uponSanitizeElement\"),nc.removeHook(\"uponSanitizeAttribute\"),n?(s=H(o,\"<body>\"),V(s,\"</body>\")?((e,t)=>e.substring(0,e.length-7))(s):s):o;var s})(t),sanitizeText:p}),ac={sanitizeHtml:p,sanitizeText:p},ic=e=>t=>({discriminator:e,data:t}),lc=e=>t=>t.discriminator===e?k.some(t.data):k.none(),cc=ic(\"event\"),uc=ic(\"html\"),dc=ic(\"images\"),hc=ic(\"word\"),mc=ic(\"text\"),pc=ic(\"void\"),fc=lc(\"html\"),gc=lc(\"images\"),vc=lc(\"word\"),yc=lc(\"text\"),bc=[\"^image/\",\"file\"],xc=e=>(e=>W(e,\"<html\")&&(W(e,'xmlns:o=\"urn:schemas-microsoft-com:office:office\"')||W(e,'xmlns:x=\"urn:schemas-microsoft-com:office:excel\"')))(e)||(e=>W(e,'meta name=\"ProgId\" content=\"Word.Document\"'))(e),kc=e=>W(e,'id=\"docs-internal-guid-'),wc=e=>e.length>0,Sc=(e,t)=>nl(e.types,t).map((t=>e.getData(t.type))).filter(wc),Cc=e=>Sc(e,\"html\"),Tc=e=>Cc(e).filter(kc),Ic=e=>k.from(e.clipboardData).filter(tl),Ac=e=>{const t=De.fromTag(\"div\"),n=((e,t)=>To(e,t,[Ta]))(Rt(t),e);return((e,t)=>{const n=Rt(e).dom,r=De.fromDom(n.createDocumentFragment()),o=Kn(t,n);fn(r,o),gn(e),hn(e,r)})(t,n),uc({container:t})},Oc={native:\"Outside of Textbox.io pasting HTML5 API (could be internal)\",fallback:\"Outside of Textbox.io pasting offscreen (could be internal)\",msoffice:\"Word Import pasting\",googledocs:\"Google Docs pasting\",image:\"Image pasting\",plaintext:\"Only plain text is available to paste\",text:\"Plain text pasting\",none:\"There is no valid way to paste\",discard:\"There is no valid way to paste, discarding content\"},Ec={getLabelForApi:e=>{const t=Pe(Oc);return _(t,(t=>Oc[t]===e)).fold(m(\"unknown\"),(e=>{switch(e){case\"native\":case\"fallback\":return\"html\";case\"none\":case\"discard\":return\"invalid\";default:return e}}))},...Oc},Lc=e=>A(e,(e=>e.asset)),Nc=(e,t,n)=>{const r=Ct({cancel:St([]),error:St([\"message\"]),insert:St([\"elements\",\"assets\",\"correlated\",\"isInternal\",\"source\",\"mode\"]),block:St([\"state\"])});let o=!1;r.registry.block.bind((e=>o=e.state));const s=(n,o)=>{r.trigger.block(!0);const s=((e,t,n)=>{const r=((e,t)=>B(e,(e=>e.getAvailable(t).map((t=>Kr(e.steps,t,e.label,e.capture()))))))(e,n);return r.getOrThunk((()=>{const e=t.getAvailable(n);return Kr(t.steps,e,t.label,t.capture())}))})(e,t,n);s.capture&&o();const a=((e,t)=>{const n={response:Fr([],[]),bundle:Wr({})},r=N(e,((e,n)=>qr(e)?e.then((e=>Yr(e,t,n))):Yr(e,t,n)),n);return qr(r)?r:Promise.resolve(r)})(s.steps,s.input),i=Ec.getLabelForApi(s.label);a.then((e=>{const t=e.bundle.isInternal.getOr(!1),n=e.bundle.officeStyles.fold(m(\"auto\"),(e=>e?\"merge\":\"clean\"));r.trigger.block(!1),Mr(e.response,(e=>{r.trigger.error(e)}),((e,o)=>{r.trigger.insert(e,Lc(o),o,t,i,n)}),(()=>{r.trigger.cancel()}),((e,o,s)=>{r.trigger.insert(e,Lc(o),o,t,i,n),r.trigger.error(s)}))}))};return{paste:e=>{const t=jt(De.fromDom(e.target));ln(t.dom).each((t=>{if(!Pn(t.start,sr())){const t=((e,t=ac)=>{const n=e=>{return void 0===e.items?k.none():(t=bc,n=e.types,B(t,(e=>nl(n,e)))).map((t=>{const n=[];for(let t=0;t<e.items.length;t++)n.push(e.items[t]);return dc({images:n})}));var t,n},r=e=>B(e.types,(n=>\"text/plain\"===n?k.some(e.getData(n)).map((e=>mc({text:t.sanitizeText(e)}))):k.none()));return{getWordData:()=>Ic(e).bind((e=>(e=>Cc(e).filter(xc))(e).map((t=>{const n=(e=>Sc(e,\"rtf\"))(e);return hc({html:t,rtf:n.fold((()=>Qi()),(e=>el(e)))})})))),getGoogleDocsData:()=>Ic(e).bind(Tc).map((e=>t.sanitizeHtml(e,\"googledocs\"))).map(Ac),getImage:()=>Ic(e).bind(n),getText:()=>Ic(e).bind(r),getHtml:()=>Ic(e).bind(Cc).map(t.sanitizeHtml).map(Ac),getOnlyText:()=>Ic(e).bind((e=>{return 1===(t=e.types).length&&\"text/plain\"===t[0]?r(e):k.none();var t})),getNative:()=>cc({nativeEvent:e}),getVoid:()=>pc({})}})(e,n);s(t,(()=>{e.preventDefault()}))}}))},pasteCustom:(e,t=d)=>{s(e,t)},isBlocked:()=>o,destroy:d,events:r.registry}},_c=e=>oi(e);var Dc={cata:(e,t,n)=>e.fold(t,n),...Nt([{blob:[\"id\",\"imageresult\",\"objurl\"]},{url:[\"id\",\"url\",\"raw\"]}])};const Pc=e=>{const t=URL.createObjectURL(e);return Rc(e,t)},Rc=(e,t)=>_c(e).then((n=>{const r=mi(e,n),o=kn(\"image\");return Dc.blob(o,r,t)})),Mc=e=>Promise.all(A(e,Pc)),jc=(e,t)=>({asset:e,image:t}),Fc=(e,t)=>Dc.cata(e,((e,n,r)=>(Sn(t,\"src\",r),!0)),b),Uc=(e,t)=>{const n=[];return O(e,((e,r)=>{const o=t[r];Fc(e,o)&&n.push(jc(e,o))})),n},Bc=(e,t)=>({asyncAsset:e.then(Ir.value,Ir.error),image:t}),zc=e=>{const t=De.fromTag(\"div\");return fn(t,e),Jt(t,\"img[src]\")},Hc=e=>0===e.indexOf(\"data:\")&&e.indexOf(\"base64\")>-1,Wc=e=>0===e.indexOf(\"blob:\"),$c=e=>In(e,\"src\").exists((e=>Hc(e)||Wc(e))),Vc=e=>R(zc(e),(e=>{const t=In(e,\"src\").getOr(\"\");return Hc(t)?((e,t)=>{return(n=t,ei(n)).map((t=>Bc(Pc(t),e)));var n})(e,t).toArray():Wc(t)?((e,t)=>{return(n=t,k.from(0===(r=n).indexOf(\"blob:\")?Qa(r):0===r.indexOf(\"data:\")?ti(r):null)).map((t=>{const n=t.then(Pc);return Bc(n,e)}));var n,r})(e,t).toArray():[]})),Gc=e=>{const t=L(e,(e=>!Ee(\"img\")(e)||!$c(e)));return Br(t,[],\"errors.local.images.disallowed\")};var qc=e=>(t,n)=>{const r=()=>Promise.resolve(n),o=(t,o)=>!1===e.allowLocalImages?(e=>{const t=L(zc(e),$c);return O(t,vn),Promise.resolve({response:t.length>0?Gc(e):n.response,bundle:n.bundle})})(t):0===o.length?(e=>{const t=Vc(e),r=Promise.all(A(t,(e=>e.asyncAsset))),o=A(t,(e=>e.image));return r.then((t=>{const r=(e=>{const t=[],n=[];return O(e,(e=>{e.fold((e=>{t.push(e)}),(e=>{n.push(e)}))})),{errors:t,values:n}})(t),s=Uc(r.values,o);return{response:r.errors.length>0?Br(e,s,\"errors.imageimport.failed\"):Fr(e,s),bundle:n.bundle}}))})(t):r();return Mr(n.response,Vr,o,r,o)};const Kc=(e,t,n=!1)=>fetch(e,{credentials:n?\"include\":\"same-origin\",headers:t}).then((async e=>{const t=await e.blob();return{ok:e.ok,status:e.status,blob:t}}),(()=>({ok:!1,status:0}))),Jc=[{code:404,message:\"Could not find Image Proxy\"},{code:403,message:\"Rejected request\"},{code:0,message:\"Incorrect Image Proxy URL\"}],Yc=[{type:\"not_found\",message:\"Failed to load image.\"},{type:\"key_missing\",message:\"The request did not include an api key.\"},{type:\"key_not_found\",message:\"The provided api key could not be found.\"},{type:\"domain_not_trusted\",message:\"The api key is not valid for the request origins.\"}],Xc=e=>{const t=(e=>{const t=_(Jc,(t=>e===t.code)).fold(m(\"Unknown ImageProxy error\"),(e=>e.message));return\"ImageProxy HTTP error: \"+t})(e);return Promise.reject(t)},Zc=e=>_(Yc,(t=>t.type===e)).fold(m(\"Unknown service error\"),(e=>e.message)),Qc=e=>(e=>new Promise(((t,n)=>{const r=new FileReader;r.onload=()=>{t(r.result)},r.onerror=e=>{n(e)},r.readAsText(e)})))(e).then((e=>{const t=(e=>{const t=(e=>{try{return k.some(JSON.parse(e))}catch(e){return k.none()}})(e),n=t.bind((e=>((e,t)=>{const n=N([\"error\",\"type\"],((e,t)=>l(e)?e[t]:void 0),e);return k.from(n)})(e).map(Zc))).getOr(\"Invalid JSON in service error message\");return\"ImageProxy Service error: \"+n})(e);return Promise.reject(t)})),eu=(e,t,n=!0)=>t?((e,t)=>{const n={\"Content-Type\":\"application/json;charset=UTF-8\",\"tiny-api-key\":t};return Kc(((e,t)=>{const n=-1===e.indexOf(\"?\")?\"?\":\"&\";return/[?&]apiKey=/.test(e)?e:e+n+\"apiKey=\"+encodeURIComponent(t)})(e,t),n).then((e=>{return e.ok?Promise.resolve(e.blob):((e,t)=>\"application/json\"===(null==t?void 0:t.type)&&(400===e||403===e||404===e||500===e))(t=e.status,n=e.blob)?Qc(n):Xc(t);var t,n}))})(e,t):((e,t)=>Kc(e,{},t).then((e=>e.ok?Promise.resolve(e.blob):Xc(e.status))))(e,n),tu=/^(?:([^:\\/?#]+):)?(?:\\/\\/((?:(([^:@\\/]*)(?::([^:@\\/]*))?)?@)?([^:\\/?#]*)(?::(\\d*))?))?((((?:[^?#\\/]*\\/)*)([^?#]*))(?:\\?([^#]*))?(?:#(.*))?)/,nu=/^(?:(?![^:@\\/]+:[^:@\\/]*@)([^:\\/?#.]+):)?(?:\\/\\/)?((?:(([^:@\\/]*)(?::([^:@\\/]*))?)?@)?([^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/,ru=/(?:^|&)([^&=]+)=?([^&]*)/g,ou=e=>{const t={};for(;;){const n=ru.exec(e);if(null===n)return t;t[n[1]]=n[2]}},su=(e,t)=>{const n=()=>Promise.resolve({response:t.response,bundle:t.bundle}),r=e=>_c(e).then((t=>{const n=kn(\"image\"),r=mi(e,t),o=URL.createObjectURL(e);return Dc.blob(n,r,o)})),o=(e,t)=>Dc.url(kn(\"image\"),t,e),s=(e,n)=>{let s=!1;const a=R(e,(e=>Jt(e,\"img\")));return Promise.all(A(a,(e=>{const t=e.dom.src;return(e=>{const t=((e,t={})=>{var n;return((e,t)=>{const n=(t?tu:nu).exec(e),r=j([\"source\",\"protocol\",\"authority\",\"userInfo\",\"user\",\"password\",\"host\",\"port\",\"relative\",\"path\",\"directory\",\"file\",\"query\",\"anchor\"],((e,t)=>{var r;return null!==(r=n[t])&&void 0!==r?r:\"\"}));return{...r,queryKey:ou(r.query)}})(e,null!==(n=t.strictMode)&&void 0!==n&&n)})(e);return W(t.host,\"google\")&&!$(t.path,\"/drawings/\")})(t)?eu(e.dom.src,void 0,!0).then(r,(()=>(s=!0,o(e,t)))):o(e,t)}))).then((r=>{const o=n.concat(Uc(r,a));return{response:s?Br(e,o,\"errors.imageimport.failed\"):Fr(e,o),bundle:t.bundle}}),(()=>({response:jr(\"errors.imageimport.invalid\"),bundle:t.bundle})))};return Mr(t.response,n,s,n,s)},au=e=>{const t=cu(e);return t&&iu(e)||!t&&lu(e)},iu=e=>e.officeStyles.getOr(!0),lu=e=>e.htmlStyles.getOr(!1),cu=e=>e.isWord.getOr(!1),uu=e=>e.isInternal.getOr(!1),du=e=>cu(e)?xs.Word:(e=>e.isGoogleDocs.getOr(!1))(e)?xs.GoogleDocs:xs.Html,hu=(e,t)=>{const n=((e,t)=>{const n=t.translations,r=e=>k.some(Xr(t,{officeStyles:e,gdocsStyles:e,htmlStyles:e}));return{get:o=>{const s=(e=>{switch(e){case xs.Word:return\"officeStyles\";case xs.GoogleDocs:return\"gdocsStyles\";default:return\"htmlStyles\"}})(o),a=t[s];return c(a)?a().then((e=>r(\"merge\"===e)),(e=>(console.error(e),r(!1)))):\"clean\"===a?Promise.resolve(r(!1)):\"merge\"===a?Promise.resolve(r(!0)):new Promise((t=>{const o=De.fromTag(\"div\");_n(o,pr(\"styles-dialog-content\"));const s=De.fromTag(\"p\"),a=Kn(n(\"cement.dialog.paste.instructions\"));fn(s,a),hn(o,s);const i={text:n(\"cement.dialog.paste.clean\"),tabindex:0,className:pr(\"clean-styles\"),click:()=>{c(),t(r(!1))}},l={text:n(\"cement.dialog.paste.merge\"),tabindex:1,className:pr(\"merge-styles\"),click:()=>{c(),t(r(!0))}},c=()=>{u.destroy()},u=e();u.setTitle(n(\"cement.dialog.paste.title\")),u.setContent(o),u.setButtons([i,l]),u.events.close.bind((()=>{c(),t(k.none())})),u.show()}))},destroy:d}})(e,t);return(e,t)=>{const r=t.bundle,o=t.response;return n.get(du(r)).then((e=>e.fold((()=>({response:Ur(),bundle:t.bundle})),(e=>({response:o,bundle:Wr({officeStyles:e.officeStyles,gdocsStyles:e.gdocsStyles,htmlStyles:e.htmlStyles})})))))}},mu=(e,t)=>(n,r)=>uu(r.bundle)?(e=>Promise.resolve({response:r.response,bundle:Wr({officeStyles:e,gdocsStyles:e,htmlStyles:e})}))(!0):hu(e,t)(n,r),pu=(e,t)=>{if(!qt(e))throw new Error(\"Internal error: attempted to write to an iframe that is not in the DOM\");const n=(e=>(e=>{const t=e.dom;try{return((e,t)=>null!=e?k.some(t(e)):k.none())(t.contentWindow?t.contentWindow.document:t.contentDocument,De.fromDom)}catch(e){return console.log(\"Error reading iframe: \",t),console.log(\"Error was: \"+e),k.none()}})(e).getOrThunk((()=>Rt(e))))(e),r=n.dom;r.open(\"text/html\",\"replace\"),r.write(t),r.close()};var fu=Object.create,gu=Object.defineProperty,vu=Object.getOwnPropertyDescriptor,yu=Object.getOwnPropertyNames,bu=Object.getPrototypeOf,xu=Object.prototype.hasOwnProperty,ku=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),wu=(e,t)=>{for(var n in t)gu(e,n,{get:t[n],enumerable:!0})},Su=ku((e=>{var t=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".split(\"\");e.encode=function(e){if(0<=e&&e<t.length)return t[e];throw new TypeError(\"Must be between 0 and 63: \"+e)},e.decode=function(e){return 65<=e&&e<=90?e-65:97<=e&&e<=122?e-97+26:48<=e&&e<=57?e-48+52:43==e?62:47==e?63:-1}})),Cu=ku((e=>{var t=Su();e.encode=function(e){var n,r,o=\"\",s=(r=e)<0?1+(-r<<1):0+(r<<1);do{n=31&s,(s>>>=5)>0&&(n|=32),o+=t.encode(n)}while(s>0);return o},e.decode=function(e,n,r){var o,s,a=e.length,i=0,l=0;do{if(n>=a)throw new Error(\"Expected more digits in base 64 VLQ value.\");if(-1===(s=t.decode(e.charCodeAt(n++))))throw new Error(\"Invalid base64 digit: \"+e.charAt(n-1));o=!!(32&s),i+=(s&=31)<<l,l+=5}while(o);r.value=function(e){var t=e>>1;return 1==(1&e)?-t:t}(i),r.rest=n}})),Tu=ku((e=>{e.getArg=function(e,t,n){if(t in e)return e[t];if(3===arguments.length)return n;throw new Error('\"'+t+'\" is a required argument.')};var t=/^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/,n=/^data:.+\\,.+$/;function r(e){var n=e.match(t);return n?{scheme:n[1],auth:n[2],host:n[3],port:n[4],path:n[5]}:null}function o(e){var t=\"\";return e.scheme&&(t+=e.scheme+\":\"),t+=\"//\",e.auth&&(t+=e.auth+\"@\"),e.host&&(t+=e.host),e.port&&(t+=\":\"+e.port),e.path&&(t+=e.path),t}e.urlParse=r,e.urlGenerate=o;var s=function(t){var n=[];return function(t){for(var s=0;s<n.length;s++)if(n[s].input===t){var a=n[0];return n[0]=n[s],n[s]=a,n[0].result}var i=function(t){var n=t,s=r(t);if(s){if(!s.path)return t;n=s.path}for(var a=e.isAbsolute(n),i=[],l=0,c=0;;){if(l=c,-1===(c=n.indexOf(\"/\",l))){i.push(n.slice(l));break}for(i.push(n.slice(l,c));c<n.length&&\"/\"===n[c];)c++}var u,d=0;for(c=i.length-1;c>=0;c--)\".\"===(u=i[c])?i.splice(c,1):\"..\"===u?d++:d>0&&(\"\"===u?(i.splice(c+1,d),d=0):(i.splice(c,2),d--));return\"\"===(n=i.join(\"/\"))&&(n=a?\"/\":\".\"),s?(s.path=n,o(s)):n}(t);return n.unshift({input:t,result:i}),n.length>32&&n.pop(),i}}();function a(e,t){\"\"===e&&(e=\".\"),\"\"===t&&(t=\".\");var a=r(t),i=r(e);if(i&&(e=i.path||\"/\"),a&&!a.scheme)return i&&(a.scheme=i.scheme),o(a);if(a||t.match(n))return t;if(i&&!i.host&&!i.path)return i.host=t,o(i);var l=\"/\"===t.charAt(0)?t:s(e.replace(/\\/+$/,\"\")+\"/\"+t);return i?(i.path=l,o(i)):l}e.normalize=s,e.join=a,e.isAbsolute=function(e){return\"/\"===e.charAt(0)||t.test(e)},e.relative=function(e,t){\"\"===e&&(e=\".\"),e=e.replace(/\\/$/,\"\");for(var n=0;0!==t.indexOf(e+\"/\");){var r=e.lastIndexOf(\"/\");if(r<0||(e=e.slice(0,r)).match(/^([^\\/]+:\\/)?\\/*$/))return t;++n}return Array(n+1).join(\"../\")+t.substr(e.length+1)};var i=!(\"__proto__\"in Object.create(null));function l(e){return e}function c(e){if(!e)return!1;var t=e.length;if(t<9||95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var n=t-10;n>=0;n--)if(36!==e.charCodeAt(n))return!1;return!0}function u(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}e.toSetString=i?l:function(e){return c(e)?\"$\"+e:e},e.fromSetString=i?l:function(e){return c(e)?e.slice(1):e},e.compareByOriginalPositions=function(e,t,n){var r=u(e.source,t.source);return 0!==r||0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)||n||0!=(r=e.generatedColumn-t.generatedColumn)||0!=(r=e.generatedLine-t.generatedLine)?r:u(e.name,t.name)},e.compareByOriginalPositionsNoSource=function(e,t,n){var r;return 0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)||n||0!=(r=e.generatedColumn-t.generatedColumn)||0!=(r=e.generatedLine-t.generatedLine)?r:u(e.name,t.name)},e.compareByGeneratedPositionsDeflated=function(e,t,n){var r=e.generatedLine-t.generatedLine;return 0!==r||0!=(r=e.generatedColumn-t.generatedColumn)||n||0!==(r=u(e.source,t.source))||0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)?r:u(e.name,t.name)},e.compareByGeneratedPositionsDeflatedNoLine=function(e,t,n){var r=e.generatedColumn-t.generatedColumn;return 0!==r||n||0!==(r=u(e.source,t.source))||0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)?r:u(e.name,t.name)},e.compareByGeneratedPositionsInflated=function(e,t){var n=e.generatedLine-t.generatedLine;return 0!==n||0!=(n=e.generatedColumn-t.generatedColumn)||0!==(n=u(e.source,t.source))||0!=(n=e.originalLine-t.originalLine)||0!=(n=e.originalColumn-t.originalColumn)?n:u(e.name,t.name)},e.parseSourceMapInput=function(e){return JSON.parse(e.replace(/^\\)]}'[^\\n]*\\n/,\"\"))},e.computeSourceURL=function(e,t,n){if(t=t||\"\",e&&(\"/\"!==e[e.length-1]&&\"/\"!==t[0]&&(e+=\"/\"),t=e+t),n){var i=r(n);if(!i)throw new Error(\"sourceMapURL could not be parsed\");if(i.path){var l=i.path.lastIndexOf(\"/\");l>=0&&(i.path=i.path.substring(0,l+1))}t=a(o(i),t)}return s(t)}})),Iu=ku((e=>{var t=Tu(),n=Object.prototype.hasOwnProperty,r=typeof Map<\"u\";function o(){this._array=[],this._set=r?new Map:Object.create(null)}o.fromArray=function(e,t){for(var n=new o,r=0,s=e.length;r<s;r++)n.add(e[r],t);return n},o.prototype.size=function(){return r?this._set.size:Object.getOwnPropertyNames(this._set).length},o.prototype.add=function(e,o){var s=r?e:t.toSetString(e),a=r?this.has(e):n.call(this._set,s),i=this._array.length;(!a||o)&&this._array.push(e),a||(r?this._set.set(e,i):this._set[s]=i)},o.prototype.has=function(e){if(r)return this._set.has(e);var o=t.toSetString(e);return n.call(this._set,o)},o.prototype.indexOf=function(e){if(r){var o=this._set.get(e);if(o>=0)return o}else{var s=t.toSetString(e);if(n.call(this._set,s))return this._set[s]}throw new Error('\"'+e+'\" is not in the set.')},o.prototype.at=function(e){if(e>=0&&e<this._array.length)return this._array[e];throw new Error(\"No element indexed by \"+e)},o.prototype.toArray=function(){return this._array.slice()},e.ArraySet=o})),Au=ku((e=>{var t=Tu();function n(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}n.prototype.unsortedForEach=function(e,t){this._array.forEach(e,t)},n.prototype.add=function(e){!function(e,n){var r=e.generatedLine,o=n.generatedLine,s=e.generatedColumn,a=n.generatedColumn;return o>r||o==r&&a>=s||t.compareByGeneratedPositionsInflated(e,n)<=0}(this._last,e)?(this._sorted=!1,this._array.push(e)):(this._last=e,this._array.push(e))},n.prototype.toArray=function(){return this._sorted||(this._array.sort(t.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},e.MappingList=n})),Ou=ku((e=>{var t=Cu(),n=Tu(),r=Iu().ArraySet,o=Au().MappingList;function s(e){e||(e={}),this._file=n.getArg(e,\"file\",null),this._sourceRoot=n.getArg(e,\"sourceRoot\",null),this._skipValidation=n.getArg(e,\"skipValidation\",!1),this._sources=new r,this._names=new r,this._mappings=new o,this._sourcesContents=null}s.prototype._version=3,s.fromSourceMap=function(e){var t=e.sourceRoot,r=new s({file:e.file,sourceRoot:t});return e.eachMapping((function(e){var o={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(o.source=e.source,null!=t&&(o.source=n.relative(t,o.source)),o.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(o.name=e.name)),r.addMapping(o)})),e.sources.forEach((function(o){var s=o;null!==t&&(s=n.relative(t,o)),r._sources.has(s)||r._sources.add(s);var a=e.sourceContentFor(o);null!=a&&r.setSourceContent(o,a)})),r},s.prototype.addMapping=function(e){var t=n.getArg(e,\"generated\"),r=n.getArg(e,\"original\",null),o=n.getArg(e,\"source\",null),s=n.getArg(e,\"name\",null);this._skipValidation||this._validateMapping(t,r,o,s),null!=o&&(o=String(o),this._sources.has(o)||this._sources.add(o)),null!=s&&(s=String(s),this._names.has(s)||this._names.add(s)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=r&&r.line,originalColumn:null!=r&&r.column,source:o,name:s})},s.prototype.setSourceContent=function(e,t){var r=e;null!=this._sourceRoot&&(r=n.relative(this._sourceRoot,r)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[n.toSetString(r)]=t):this._sourcesContents&&(delete this._sourcesContents[n.toSetString(r)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},s.prototype.applySourceMap=function(e,t,o){var s=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\\'s \"file\" property. Both were omitted.');s=e.file}var a=this._sourceRoot;null!=a&&(s=n.relative(a,s));var i=new r,l=new r;this._mappings.unsortedForEach((function(t){if(t.source===s&&null!=t.originalLine){var r=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=r.source&&(t.source=r.source,null!=o&&(t.source=n.join(o,t.source)),null!=a&&(t.source=n.relative(a,t.source)),t.originalLine=r.line,t.originalColumn=r.column,null!=r.name&&(t.name=r.name))}var c=t.source;null!=c&&!i.has(c)&&i.add(c);var u=t.name;null!=u&&!l.has(u)&&l.add(u)}),this),this._sources=i,this._names=l,e.sources.forEach((function(t){var r=e.sourceContentFor(t);null!=r&&(null!=o&&(t=n.join(o,t)),null!=a&&(t=n.relative(a,t)),this.setSourceContent(t,r))}),this)},s.prototype._validateMapping=function(e,t,n,r){if(t&&\"number\"!=typeof t.line&&\"number\"!=typeof t.column)throw new Error(\"original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.\");if(!(e&&\"line\"in e&&\"column\"in e&&e.line>0&&e.column>=0)||t||n||r){if(e&&\"line\"in e&&\"column\"in e&&t&&\"line\"in t&&\"column\"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&n)return;throw new Error(\"Invalid mapping: \"+JSON.stringify({generated:e,source:n,original:t,name:r}))}},s.prototype._serializeMappings=function(){for(var e,r,o,s,a=0,i=1,l=0,c=0,u=0,d=0,h=\"\",m=this._mappings.toArray(),p=0,f=m.length;p<f;p++){if(e=\"\",(r=m[p]).generatedLine!==i)for(a=0;r.generatedLine!==i;)e+=\";\",i++;else if(p>0){if(!n.compareByGeneratedPositionsInflated(r,m[p-1]))continue;e+=\",\"}e+=t.encode(r.generatedColumn-a),a=r.generatedColumn,null!=r.source&&(s=this._sources.indexOf(r.source),e+=t.encode(s-d),d=s,e+=t.encode(r.originalLine-1-c),c=r.originalLine-1,e+=t.encode(r.originalColumn-l),l=r.originalColumn,null!=r.name&&(o=this._names.indexOf(r.name),e+=t.encode(o-u),u=o)),h+=e}return h},s.prototype._generateSourcesContent=function(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=n.relative(t,e));var r=n.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null}),this)},s.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},s.prototype.toString=function(){return JSON.stringify(this.toJSON())},e.SourceMapGenerator=s}));function Eu(e){return e>=48&&e<=57}function Lu(e){return Eu(e)||e>=65&&e<=70||e>=97&&e<=102}function Nu(e){return e>=65&&e<=90}function _u(e){return function(e){return Nu(e)||function(e){return e>=97&&e<=122}(e)}(e)||function(e){return e>=128}(e)||95===e}function Du(e){return _u(e)||Eu(e)||45===e}function Pu(e){return e>=0&&e<=8||11===e||e>=14&&e<=31||127===e}function Ru(e){return 10===e||13===e||12===e}function Mu(e){return Ru(e)||32===e||9===e}function ju(e,t){return!(92!==e||Ru(t)||0===t)}function Fu(e,t,n){return 45===e?_u(t)||45===t||ju(t,n):!!_u(e)||92===e&&ju(e,t)}function Uu(e,t,n){return 43===e||45===e?Eu(t)?2:46===t&&Eu(n)?3:0:46===e?Eu(t)?2:0:Eu(e)?1:0}function Bu(e){return 65279===e||65534===e?1:0}var zu=new Array(128),Hu=130,Wu=131,$u=132,Vu=133;for(let e=0;e<zu.length;e++)zu[e]=Mu(e)&&Hu||Eu(e)&&Wu||_u(e)&&$u||Pu(e)&&Vu||e||128;function Gu(e){return e<128?zu[e]:$u}function qu(e,t){return t<e.length?e.charCodeAt(t):0}function Ku(e,t,n){return 13===n&&10===qu(e,t+1)?2:1}function Ju(e,t,n){let r=e.charCodeAt(t);return Nu(r)&&(r|=32),r===n}function Yu(e,t,n,r){if(n-t!==r.length||t<0||n>e.length)return!1;for(let o=t;o<n;o++){let n=r.charCodeAt(o-t),s=e.charCodeAt(o);if(Nu(s)&&(s|=32),s!==n)return!1}return!0}function Xu(e,t){for(;t<e.length&&Mu(e.charCodeAt(t));t++);return t}function Zu(e,t){for(;t<e.length&&Eu(e.charCodeAt(t));t++);return t}function Qu(e,t){if(Lu(qu(e,(t+=2)-1))){for(let n=Math.min(e.length,t+5);t<n&&Lu(qu(e,t));t++);let n=qu(e,t);Mu(n)&&(t+=Ku(e,t,n))}return t}function ed(e,t){for(;t<e.length;t++){let n=e.charCodeAt(t);if(!Du(n)){if(ju(n,qu(e,t+1))){t=Qu(e,t)-1;continue}break}}return t}function td(e,t){let n=e.charCodeAt(t);if((43===n||45===n)&&(n=e.charCodeAt(t+=1)),Eu(n)&&(t=Zu(e,t+1),n=e.charCodeAt(t)),46===n&&Eu(e.charCodeAt(t+1))&&(t=Zu(e,t+=2)),Ju(e,t,101)){let r=0;n=e.charCodeAt(t+1),(45===n||43===n)&&(r=1,n=e.charCodeAt(t+2)),Eu(n)&&(t=Zu(e,t+1+r+1))}return t}function nd(e,t){for(;t<e.length;t++){let n=e.charCodeAt(t);if(41===n){t++;break}ju(n,qu(e,t+1))&&(t=Qu(e,t))}return t}function rd(e){if(1===e.length&&!Lu(e.charCodeAt(0)))return e[0];let t=parseInt(e,16);return(0===t||t>=55296&&t<=57343||t>1114111)&&(t=65533),String.fromCodePoint(t)}var od=[\"EOF-token\",\"ident-token\",\"function-token\",\"at-keyword-token\",\"hash-token\",\"string-token\",\"bad-string-token\",\"url-token\",\"bad-url-token\",\"delim-token\",\"number-token\",\"percentage-token\",\"dimension-token\",\"whitespace-token\",\"CDO-token\",\"CDC-token\",\"colon-token\",\"semicolon-token\",\"comma-token\",\"[-token\",\"]-token\",\"(-token\",\")-token\",\"{-token\",\"}-token\"];function sd(e=null,t){return null===e||e.length<t?new Uint32Array(Math.max(t+1024,16384)):e}function ad(e){let t=e.source,n=t.length,r=t.length>0?Bu(t.charCodeAt(0)):0,o=sd(e.lines,n),s=sd(e.columns,n),a=e.startLine,i=e.startColumn;for(let e=r;e<n;e++){let r=t.charCodeAt(e);o[e]=a,s[e]=i++,(10===r||13===r||12===r)&&(13===r&&e+1<n&&10===t.charCodeAt(e+1)&&(e++,o[e]=a,s[e]=i),a++,i=1)}o[n]=a,s[n]=i,e.lines=o,e.columns=s,e.computed=!0}var id=16777215,ld=24,cd=new Map([[2,22],[21,22],[19,20],[23,24]]);function ud(e,t){function n(t){return t<i?e.charCodeAt(t):0}function r(){return c=td(e,c),Fu(n(c),n(c+1),n(c+2))?(a=12,void(c=ed(e,c))):37===n(c)?(a=11,void c++):void(a=10)}function o(){let t=c;return c=ed(e,c),Yu(e,t,c,\"url\")&&40===n(c)?(c=Xu(e,c+1),34===n(c)||39===n(c)?(a=2,void(c=t+4)):void function(){for(a=7,c=Xu(e,c);c<e.length;c++){let t=e.charCodeAt(c);switch(Gu(t)){case 41:return void c++;case Hu:return c=Xu(e,c),41===n(c)||c>=e.length?void(c<e.length&&c++):(c=nd(e,c),void(a=8));case 34:case 39:case 40:case Vu:return c=nd(e,c),void(a=8);case 92:if(ju(t,n(c+1))){c=Qu(e,c)-1;break}return c=nd(e,c),void(a=8)}}}()):40===n(c)?(a=2,void c++):void(a=1)}function s(t){for(t||(t=n(c++)),a=5;c<e.length;c++){let r=e.charCodeAt(c);switch(Gu(r)){case t:return void c++;case Hu:if(Ru(r))return c+=Ku(e,c,r),void(a=6);break;case 92:if(c===e.length-1)break;let o=n(c+1);Ru(o)?c+=Ku(e,c+1,o):ju(r,o)&&(c=Qu(e,c)-1)}}}let a,i=(e=String(e||\"\")).length,l=Bu(n(0)),c=l;for(;c<i;){let i=e.charCodeAt(c);switch(Gu(i)){case Hu:a=13,c=Xu(e,c+1);break;case 34:s();break;case 35:Du(n(c+1))||ju(n(c+1),n(c+2))?(a=4,c=ed(e,c+1)):(a=9,c++);break;case 39:s();break;case 40:a=21,c++;break;case 41:a=22,c++;break;case 43:Uu(i,n(c+1),n(c+2))?r():(a=9,c++);break;case 44:a=18,c++;break;case 45:Uu(i,n(c+1),n(c+2))?r():45===n(c+1)&&62===n(c+2)?(a=15,c+=3):Fu(i,n(c+1),n(c+2))?o():(a=9,c++);break;case 46:Uu(i,n(c+1),n(c+2))?r():(a=9,c++);break;case 47:42===n(c+1)?(a=25,c=e.indexOf(\"*/\",c+2),c=-1===c?e.length:c+2):(a=9,c++);break;case 58:a=16,c++;break;case 59:a=17,c++;break;case 60:33===n(c+1)&&45===n(c+2)&&45===n(c+3)?(a=14,c+=4):(a=9,c++);break;case 64:Fu(n(c+1),n(c+2),n(c+3))?(a=3,c=ed(e,c+1)):(a=9,c++);break;case 91:a=19,c++;break;case 92:ju(i,n(c+1))?o():(a=9,c++);break;case 93:a=20,c++;break;case 123:a=23,c++;break;case 125:a=24,c++;break;case Wu:r();break;case $u:o();break;default:a=9,c++}t(a,l,l=c)}}var dd,hd=(dd=Ou(),((e,t,n,r)=>{if(t&&\"object\"==typeof t||\"function\"==typeof t)for(let n of yu(t))!xu.call(e,n)&&\"default\"!==n&&gu(e,n,{get:()=>t[n],enumerable:!(r=vu(t,n))||r.enumerable});return e})((e=>gu(e,\"__esModule\",{value:!0}))(gu(null!=dd?fu(bu(dd)):{},\"default\",{value:dd,enumerable:!0})),dd)),md=new Set([\"Atrule\",\"Selector\",\"Declaration\"]),pd={};wu(pd,{safe:()=>xd,spec:()=>bd});var fd=(e,t)=>{if(9===e&&(e=t),\"string\"==typeof e){let t=e.charCodeAt(0);return t>127?32768:t<<8}return e},gd=[[1,1],[1,2],[1,7],[1,8],[1,\"-\"],[1,10],[1,11],[1,12],[1,15],[1,21],[3,1],[3,2],[3,7],[3,8],[3,\"-\"],[3,10],[3,11],[3,12],[3,15],[4,1],[4,2],[4,7],[4,8],[4,\"-\"],[4,10],[4,11],[4,12],[4,15],[12,1],[12,2],[12,7],[12,8],[12,\"-\"],[12,10],[12,11],[12,12],[12,15],[\"#\",1],[\"#\",2],[\"#\",7],[\"#\",8],[\"#\",\"-\"],[\"#\",10],[\"#\",11],[\"#\",12],[\"#\",15],[\"-\",1],[\"-\",2],[\"-\",7],[\"-\",8],[\"-\",\"-\"],[\"-\",10],[\"-\",11],[\"-\",12],[\"-\",15],[10,1],[10,2],[10,7],[10,8],[10,10],[10,11],[10,12],[10,\"%\"],[10,15],[\"@\",1],[\"@\",2],[\"@\",7],[\"@\",8],[\"@\",\"-\"],[\"@\",15],[\".\",10],[\".\",11],[\".\",12],[\"+\",10],[\"+\",11],[\"+\",12],[\"/\",\"*\"]],vd=gd.concat([[1,4],[12,4],[4,4],[3,21],[3,5],[3,16],[11,11],[11,12],[11,2],[11,\"-\"],[22,1],[22,2],[22,11],[22,12],[22,4],[22,\"-\"]]);function yd(e){let t=new Set(e.map((([e,t])=>fd(e)<<16|fd(t))));return function(e,n,r){let o=fd(n,r),s=r.charCodeAt(0);return(45===s&&1!==n&&2!==n&&15!==n||43===s?t.has(e<<16|s<<8):t.has(e<<16|o))&&this.emit(\" \",13,!0),o}}var bd=yd(gd),xd=yd(vd);function kd(e,t){if(\"function\"!=typeof t)e.children.forEach(this.node,this);else{let n=null;e.children.forEach((e=>{null!==n&&t.call(this,n),this.node(e),n=e}))}}function wd(e){ud(e,((t,n,r)=>{this.token(t,e.slice(n,r))}))}var Sd={};wu(Sd,{AnPlusB:()=>Dd,Atrule:()=>Pd,AtrulePrelude:()=>Rd,AttributeSelector:()=>Vd,Block:()=>Gd,Brackets:()=>qd,CDC:()=>Kd,CDO:()=>Jd,ClassSelector:()=>Xd,Combinator:()=>Qd,Comment:()=>eh,Declaration:()=>th,DeclarationList:()=>nh,Dimension:()=>rh,Function:()=>oh,Hash:()=>sh,IdSelector:()=>ch,Identifier:()=>ih,MediaFeature:()=>uh,MediaQuery:()=>dh,MediaQueryList:()=>hh,NestingSelector:()=>ph,Nth:()=>gh,Number:()=>vh,Operator:()=>yh,Parentheses:()=>bh,Percentage:()=>kh,PseudoClassSelector:()=>Sh,PseudoElementSelector:()=>Th,Ratio:()=>Ih,Raw:()=>Eh,Rule:()=>Lh,Selector:()=>_h,SelectorList:()=>Ph,String:()=>Bh,StyleSheet:()=>zh,TypeSelector:()=>Vh,UnicodeRange:()=>Gh,Url:()=>Qh,Value:()=>em,WhiteSpace:()=>tm});var Cd=43,Td=45,Id=110,Ad=!0;function Od(e,t){let n=this.tokenStart+e,r=this.charCodeAt(n);for((r===Cd||r===Td)&&(t&&this.error(\"Number sign is not allowed\"),n++);n<this.tokenEnd;n++)Eu(this.charCodeAt(n))||this.error(\"Integer is expected\",n)}function Ed(e){return Od.call(this,0,e)}function Ld(e,t){if(!this.cmpChar(this.tokenStart+e,t)){let n=\"\";switch(t){case Id:n=\"N is expected\";break;case Td:n=\"HyphenMinus is expected\"}this.error(n,this.tokenStart+e)}}function Nd(){let e=0,t=0,n=this.tokenType;for(;13===n||25===n;)n=this.lookupType(++e);if(10!==n){if(!this.isDelim(Cd,e)&&!this.isDelim(Td,e))return null;t=this.isDelim(Cd,e)?Cd:Td;do{n=this.lookupType(++e)}while(13===n||25===n);10!==n&&(this.skip(e),Ed.call(this,Ad))}return e>0&&this.skip(e),0===t&&(n=this.charCodeAt(this.tokenStart),n!==Cd&&n!==Td&&this.error(\"Number sign is expected\")),Ed.call(this,0!==t),t===Td?\"-\"+this.consume(10):this.consume(10)}function _d(){let e=this.tokenStart,t=null,n=null;if(10===this.tokenType)Ed.call(this,!1),n=this.consume(10);else if(1===this.tokenType&&this.cmpChar(this.tokenStart,Td))switch(t=\"-1\",Ld.call(this,1,Id),this.tokenEnd-this.tokenStart){case 2:this.next(),n=Nd.call(this);break;case 3:Ld.call(this,2,Td),this.next(),this.skipSC(),Ed.call(this,Ad),n=\"-\"+this.consume(10);break;default:Ld.call(this,2,Td),Od.call(this,3,Ad),this.next(),n=this.substrToCursor(e+2)}else if(1===this.tokenType||this.isDelim(Cd)&&1===this.lookupType(1)){let r=0;switch(t=\"1\",this.isDelim(Cd)&&(r=1,this.next()),Ld.call(this,0,Id),this.tokenEnd-this.tokenStart){case 1:this.next(),n=Nd.call(this);break;case 2:Ld.call(this,1,Td),this.next(),this.skipSC(),Ed.call(this,Ad),n=\"-\"+this.consume(10);break;default:Ld.call(this,1,Td),Od.call(this,2,Ad),this.next(),n=this.substrToCursor(e+r+1)}}else if(12===this.tokenType){let r=this.charCodeAt(this.tokenStart),o=r===Cd||r===Td,s=this.tokenStart+o;for(;s<this.tokenEnd&&Eu(this.charCodeAt(s));s++);s===this.tokenStart+o&&this.error(\"Integer is expected\",this.tokenStart+o),Ld.call(this,s-this.tokenStart,Id),t=this.substring(e,s),s+1===this.tokenEnd?(this.next(),n=Nd.call(this)):(Ld.call(this,s-this.tokenStart+1,Td),s+2===this.tokenEnd?(this.next(),this.skipSC(),Ed.call(this,Ad),n=\"-\"+this.consume(10)):(Od.call(this,s-this.tokenStart+2,Ad),this.next(),n=this.substrToCursor(s+1)))}else this.error();return null!==t&&t.charCodeAt(0)===Cd&&(t=t.substr(1)),null!==n&&n.charCodeAt(0)===Cd&&(n=n.substr(1)),{type:\"AnPlusB\",loc:this.getLocation(e,this.tokenStart),a:t,b:n}}function Dd(e){if(e.a){let t=(\"+1\"===e.a||\"1\"===e.a?\"n\":\"-1\"===e.a&&\"-n\")||e.a+\"n\";if(e.b){let n=\"-\"===e.b[0]||\"+\"===e.b[0]?e.b:\"+\"+e.b;this.tokenize(t+n)}else this.tokenize(t)}else this.tokenize(e.b)}function Pd(e){this.token(3,\"@\"+e.name),null!==e.prelude&&this.node(e.prelude),e.block?this.node(e.block):this.token(17,\";\")}function Rd(e){this.children(e)}var Md=36,jd=42,Fd=61,Ud=94,Bd=124,zd=126;function Hd(){this.eof&&this.error(\"Unexpected end of input\");let e=this.tokenStart,t=!1;return this.isDelim(jd)?(t=!0,this.next()):this.isDelim(Bd)||this.eat(1),this.isDelim(Bd)?this.charCodeAt(this.tokenStart+1)!==Fd?(this.next(),this.eat(1)):t&&this.error(\"Identifier is expected\",this.tokenEnd):t&&this.error(\"Vertical line is expected\"),{type:\"Identifier\",loc:this.getLocation(e,this.tokenStart),name:this.substrToCursor(e)}}function Wd(){let e=this.tokenStart,t=this.charCodeAt(e);return t!==Fd&&t!==zd&&t!==Ud&&t!==Md&&t!==jd&&t!==Bd&&this.error(\"Attribute selector (=, ~=, ^=, $=, *=, |=) is expected\"),this.next(),t!==Fd&&(this.isDelim(Fd)||this.error(\"Equal sign is expected\"),this.next()),this.substrToCursor(e)}function $d(){let e,t=this.tokenStart,n=null,r=null,o=null;return this.eat(19),this.skipSC(),e=Hd.call(this),this.skipSC(),20!==this.tokenType&&(1!==this.tokenType&&(n=Wd.call(this),this.skipSC(),r=5===this.tokenType?this.String():this.Identifier(),this.skipSC()),1===this.tokenType&&(o=this.consume(1),this.skipSC())),this.eat(20),{type:\"AttributeSelector\",loc:this.getLocation(t,this.tokenStart),name:e,matcher:n,value:r,flags:o}}function Vd(e){this.token(9,\"[\"),this.node(e.name),null!==e.matcher&&(this.tokenize(e.matcher),this.node(e.value)),null!==e.flags&&this.token(1,e.flags),this.token(9,\"]\")}function Gd(e){this.token(23,\"{\"),this.children(e,(e=>{\"Declaration\"===e.type&&this.token(17,\";\")})),this.token(24,\"}\")}function qd(e){this.token(9,\"[\"),this.children(e),this.token(9,\"]\")}function Kd(){this.token(15,\"--\\x3e\")}function Jd(){this.token(14,\"\\x3c!--\")}function Yd(){return this.eatDelim(46),{type:\"ClassSelector\",loc:this.getLocation(this.tokenStart-1,this.tokenEnd),name:this.consume(1)}}function Xd(e){this.token(9,\".\"),this.token(1,e.name)}function Zd(){let e,t=this.tokenStart;switch(this.tokenType){case 13:e=\" \";break;case 9:switch(this.charCodeAt(this.tokenStart)){case 62:case 43:case 126:this.next();break;case 47:this.next(),this.eatIdent(\"deep\"),this.eatDelim(47);break;default:this.error(\"Combinator is expected\")}e=this.substrToCursor(t)}return{type:\"Combinator\",loc:this.getLocation(t,this.tokenStart),name:e}}function Qd(e){this.tokenize(e.name)}function eh(e){this.token(25,\"/*\"+e.value+\"*/\")}function th(e){this.token(1,e.property),this.token(16,\":\"),this.node(e.value),e.important&&(this.token(9,\"!\"),this.token(1,!0===e.important?\"important\":e.important))}function nh(e){this.children(e,(e=>{\"Declaration\"===e.type&&this.token(17,\";\")}))}function rh(e){this.token(12,e.value+e.unit)}function oh(e){this.token(2,e.name+\"(\"),this.children(e),this.token(22,\")\")}function sh(e){this.token(4,\"#\"+e.value)}function ah(){return{type:\"Identifier\",loc:this.getLocation(this.tokenStart,this.tokenEnd),name:this.consume(1)}}function ih(e){this.token(1,e.name)}function lh(){let e=this.tokenStart;return this.eat(4),{type:\"IdSelector\",loc:this.getLocation(e,this.tokenStart),name:this.substrToCursor(e+1)}}function ch(e){this.token(9,\"#\"+e.name)}function uh(e){this.token(21,\"(\"),this.token(1,e.name),null!==e.value&&(this.token(16,\":\"),this.node(e.value)),this.token(22,\")\")}function dh(e){this.children(e)}function hh(e){this.children(e,(()=>this.token(18,\",\")))}function mh(){let e=this.tokenStart;return this.eatDelim(38),{type:\"NestingSelector\",loc:this.getLocation(e,this.tokenStart)}}function ph(){this.token(9,\"&\")}function fh(){this.skipSC();let e,t=this.tokenStart,n=t,r=null;return e=this.lookupValue(0,\"odd\")||this.lookupValue(0,\"even\")?this.Identifier():this.AnPlusB(),n=this.tokenStart,this.skipSC(),this.lookupValue(0,\"of\")&&(this.next(),r=this.SelectorList(),n=this.tokenStart),{type:\"Nth\",loc:this.getLocation(t,n),nth:e,selector:r}}function gh(e){this.node(e.nth),null!==e.selector&&(this.token(1,\"of\"),this.node(e.selector))}function vh(e){this.token(10,e.value)}function yh(e){this.tokenize(e.value)}function bh(e){this.token(21,\"(\"),this.children(e),this.token(22,\")\")}function xh(){return{type:\"Percentage\",loc:this.getLocation(this.tokenStart,this.tokenEnd),value:this.consumeNumber(11)}}function kh(e){this.token(11,e.value+\"%\")}function wh(){let e,t,n=this.tokenStart,r=null;return this.eat(16),2===this.tokenType?(e=this.consumeFunctionName(),t=e.toLowerCase(),hasOwnProperty.call(this.pseudo,t)?(this.skipSC(),r=this.pseudo[t].call(this),this.skipSC()):(r=this.createList(),r.push(this.Raw(this.tokenIndex,null,!1))),this.eat(22)):e=this.consume(1),{type:\"PseudoClassSelector\",loc:this.getLocation(n,this.tokenStart),name:e,children:r}}function Sh(e){this.token(16,\":\"),null===e.children?this.token(1,e.name):(this.token(2,e.name+\"(\"),this.children(e),this.token(22,\")\"))}function Ch(){let e,t,n=this.tokenStart,r=null;return this.eat(16),this.eat(16),2===this.tokenType?(e=this.consumeFunctionName(),t=e.toLowerCase(),hasOwnProperty.call(this.pseudo,t)?(this.skipSC(),r=this.pseudo[t].call(this),this.skipSC()):(r=this.createList(),r.push(this.Raw(this.tokenIndex,null,!1))),this.eat(22)):e=this.consume(1),{type:\"PseudoElementSelector\",loc:this.getLocation(n,this.tokenStart),name:e,children:r}}function Th(e){this.token(16,\":\"),this.token(16,\":\"),null===e.children?this.token(1,e.name):(this.token(2,e.name+\"(\"),this.children(e),this.token(22,\")\"))}function Ih(e){this.token(10,e.left),this.token(9,\"/\"),this.token(10,e.right)}function Ah(){return this.tokenIndex>0&&13===this.lookupType(-1)?this.tokenIndex>1?this.getTokenStart(this.tokenIndex-1):this.firstCharOffset:this.tokenStart}function Oh(e,t,n){let r,o=this.getTokenStart(e);return this.skipUntilBalanced(e,t||this.consumeUntilBalanceEnd),r=n&&this.tokenStart>o?Ah.call(this):this.tokenStart,{type:\"Raw\",loc:this.getLocation(o,r),value:this.substring(o,r)}}function Eh(e){this.tokenize(e.value)}function Lh(e){this.node(e.prelude),this.node(e.block)}function Nh(){let e=this.readSequence(this.scope.Selector);return null===this.getFirstListNode(e)&&this.error(\"Selector is expected\"),{type:\"Selector\",loc:this.getLocationFromList(e),children:e}}function _h(e){this.children(e)}function Dh(){let e=this.createList();for(;!this.eof&&(e.push(this.Selector()),18===this.tokenType);)this.next();return{type:\"SelectorList\",loc:this.getLocationFromList(e),children:e}}function Ph(e){this.children(e,(()=>this.token(18,\",\")))}var Rh=92,Mh=34,jh=39;function Fh(e){let t=e.length,n=e.charCodeAt(0),r=n===Mh||n===jh?1:0,o=1===r&&t>1&&e.charCodeAt(t-1)===n?t-2:t-1,s=\"\";for(let n=r;n<=o;n++){let r=e.charCodeAt(n);if(r===Rh){if(n===o){n!==t-1&&(s=e.substr(n+1));break}if(r=e.charCodeAt(++n),ju(Rh,r)){let t=n-1,r=Qu(e,t);n=r-1,s+=rd(e.substring(t+1,r))}else 13===r&&10===e.charCodeAt(n+1)&&n++}else s+=e[n]}return s}function Uh(){return{type:\"String\",loc:this.getLocation(this.tokenStart,this.tokenEnd),value:Fh(this.consume(5))}}function Bh(e){this.token(5,function(e,t){let n=Mh,r=\"\",o=!1;for(let t=0;t<e.length;t++){let s=e.charCodeAt(t);0!==s?s<=31||127===s?(r+=\"\\\\\"+s.toString(16),o=!0):s===n||s===Rh?(r+=\"\\\\\"+e.charAt(t),o=!1):(o&&(Lu(s)||Mu(s))&&(r+=\" \"),r+=e.charAt(t),o=!1):r+=\"\\ufffd\"}return'\"'+r+'\"'}(e.value))}function zh(e){this.children(e)}var Hh=42;function Wh(){1!==this.tokenType&&!1===this.isDelim(Hh)&&this.error(\"Identifier or asterisk is expected\"),this.next()}function $h(){let e=this.tokenStart;return this.isDelim(124)?(this.next(),Wh.call(this)):(Wh.call(this),this.isDelim(124)&&(this.next(),Wh.call(this))),{type:\"TypeSelector\",loc:this.getLocation(e,this.tokenStart),name:this.substrToCursor(e)}}function Vh(e){this.tokenize(e.name)}function Gh(e){this.tokenize(e.value)}var qh=32,Kh=92,Jh=34,Yh=39,Xh=40,Zh=41;function Qh(e){this.token(7,function(e){let t=\"\",n=!1;for(let r=0;r<e.length;r++){let o=e.charCodeAt(r);0!==o?o<=31||127===o?(t+=\"\\\\\"+o.toString(16),n=!0):o===qh||o===Kh||o===Jh||o===Yh||o===Xh||o===Zh?(t+=\"\\\\\"+e.charAt(r),n=!1):(n&&Lu(o)&&(t+=\" \"),t+=e.charAt(r),n=!1):t+=\"\\ufffd\"}return\"url(\"+t+\")\"}(e.value))}function em(e){this.children(e)}function tm(e){this.token(13,e.value)}Object.freeze({type:\"WhiteSpace\",loc:null,value:\" \"});var nm=function(e){let t=new Map;for(let n in e.node){let r=e.node[n];\"function\"==typeof(r.generate||r)&&t.set(n,r.generate||r)}return function(e,n){let r=\"\",o=0,s={node(e){if(!t.has(e.type))throw new Error(\"Unknown node type: \"+e.type);t.get(e.type).call(a,e)},tokenBefore:xd,token(e,t){o=this.tokenBefore(o,e,t),this.emit(t,e,!1),9===e&&92===t.charCodeAt(0)&&this.emit(\"\\n\",13,!0)},emit(e){r+=e},result:()=>r};n&&(\"function\"==typeof n.decorator&&(s=n.decorator(s)),n.sourceMap&&(s=function(e){let t=new hd.SourceMapGenerator,n={line:1,column:0},r={line:0,column:0},o={line:1,column:0},s={generated:o},a=1,i=0,l=!1,c=e.node;e.node=function(e){if(e.loc&&e.loc.start&&md.has(e.type)){let c=e.loc.start.line,u=e.loc.start.column-1;(r.line!==c||r.column!==u)&&(r.line=c,r.column=u,n.line=a,n.column=i,l&&(l=!1,(n.line!==o.line||n.column!==o.column)&&t.addMapping(s)),l=!0,t.addMapping({source:e.loc.source,original:r,generated:n}))}c.call(this,e),l&&md.has(e.type)&&(o.line=a,o.column=i)};let u=e.emit;e.emit=function(e,t,n){for(let t=0;t<e.length;t++)10===e.charCodeAt(t)?(a++,i=0):i++;u(e,t,n)};let d=e.result;return e.result=function(){return l&&t.addMapping(s),{css:d(),map:t}},e}(s)),n.mode in pd&&(s.tokenBefore=pd[n.mode]));let a={node:e=>s.node(e),children:kd,token:(e,t)=>s.token(e,t),tokenize:wd};return s.node(e),s.result()}}({node:Sd}),rm=null,om=class{static createItem(e){return{prev:null,next:null,data:e}}constructor(){this.head=null,this.tail=null,this.cursor=null}createItem(e){return om.createItem(e)}allocateCursor(e,t){let n;return null!==rm?(n=rm,rm=rm.cursor,n.prev=e,n.next=t,n.cursor=this.cursor):n={prev:e,next:t,cursor:this.cursor},this.cursor=n,n}releaseCursor(){let{cursor:e}=this;this.cursor=e.cursor,e.prev=null,e.next=null,e.cursor=rm,rm=e}updateCursors(e,t,n,r){let{cursor:o}=this;for(;null!==o;)o.prev===e&&(o.prev=t),o.next===n&&(o.next=r),o=o.cursor}*[Symbol.iterator](){for(let e=this.head;null!==e;e=e.next)yield e.data}get size(){let e=0;for(let t=this.head;null!==t;t=t.next)e++;return e}get isEmpty(){return null===this.head}get first(){return this.head&&this.head.data}get last(){return this.tail&&this.tail.data}fromArray(e){let t=null;this.head=null;for(let n of e){let e=om.createItem(n);null!==t?t.next=e:this.head=e,e.prev=t,t=e}return this.tail=t,this}toArray(){return[...this]}toJSON(){return[...this]}forEach(e,t=this){let n=this.allocateCursor(null,this.head);for(;null!==n.next;){let r=n.next;n.next=r.next,e.call(t,r.data,r,this)}this.releaseCursor()}forEachRight(e,t=this){let n=this.allocateCursor(this.tail,null);for(;null!==n.prev;){let r=n.prev;n.prev=r.prev,e.call(t,r.data,r,this)}this.releaseCursor()}reduce(e,t,n=this){let r,o=this.allocateCursor(null,this.head),s=t;for(;null!==o.next;)r=o.next,o.next=r.next,s=e.call(n,s,r.data,r,this);return this.releaseCursor(),s}reduceRight(e,t,n=this){let r,o=this.allocateCursor(this.tail,null),s=t;for(;null!==o.prev;)r=o.prev,o.prev=r.prev,s=e.call(n,s,r.data,r,this);return this.releaseCursor(),s}some(e,t=this){for(let n=this.head;null!==n;n=n.next)if(e.call(t,n.data,n,this))return!0;return!1}map(e,t=this){let n=new om;for(let r=this.head;null!==r;r=r.next)n.appendData(e.call(t,r.data,r,this));return n}filter(e,t=this){let n=new om;for(let r=this.head;null!==r;r=r.next)e.call(t,r.data,r,this)&&n.appendData(r.data);return n}nextUntil(e,t,n=this){if(null===e)return;let r=this.allocateCursor(null,e);for(;null!==r.next;){let e=r.next;if(r.next=e.next,t.call(n,e.data,e,this))break}this.releaseCursor()}prevUntil(e,t,n=this){if(null===e)return;let r=this.allocateCursor(e,null);for(;null!==r.prev;){let e=r.prev;if(r.prev=e.prev,t.call(n,e.data,e,this))break}this.releaseCursor()}clear(){this.head=null,this.tail=null}copy(){let e=new om;for(let t of this)e.appendData(t);return e}prepend(e){return this.updateCursors(null,e,this.head,e),null!==this.head?(this.head.prev=e,e.next=this.head):this.tail=e,this.head=e,this}prependData(e){return this.prepend(om.createItem(e))}append(e){return this.insert(e)}appendData(e){return this.insert(om.createItem(e))}insert(e,t=null){if(null!==t)if(this.updateCursors(t.prev,e,t,e),null===t.prev){if(this.head!==t)throw new Error(\"before doesn't belong to list\");this.head=e,t.prev=e,e.next=t,this.updateCursors(null,e)}else t.prev.next=e,e.prev=t.prev,t.prev=e,e.next=t;else this.updateCursors(this.tail,e,null,e),null!==this.tail?(this.tail.next=e,e.prev=this.tail):this.head=e,this.tail=e;return this}insertData(e,t){return this.insert(om.createItem(e),t)}remove(e){if(this.updateCursors(e,e.prev,e,e.next),null!==e.prev)e.prev.next=e.next;else{if(this.head!==e)throw new Error(\"item doesn't belong to list\");this.head=e.next}if(null!==e.next)e.next.prev=e.prev;else{if(this.tail!==e)throw new Error(\"item doesn't belong to list\");this.tail=e.prev}return e.prev=null,e.next=null,e}push(e){this.insert(om.createItem(e))}pop(){return null!==this.tail?this.remove(this.tail):null}unshift(e){this.prepend(om.createItem(e))}shift(){return null!==this.head?this.remove(this.head):null}prependList(e){return this.insertList(e,this.head)}appendList(e){return this.insertList(e)}insertList(e,t){return null===e.head||(null!=t?(this.updateCursors(t.prev,e.tail,t,e.head),null!==t.prev?(t.prev.next=e.head,e.head.prev=t.prev):this.head=e.head,t.prev=e.tail,e.tail.next=t):(this.updateCursors(this.tail,e.tail,null,e.head),null!==this.tail?(this.tail.next=e.head,e.head.prev=this.tail):this.head=e.head,this.tail=e.tail),e.head=null,e.tail=null),this}replace(e,t){\"head\"in t?this.insertList(t,e):this.insert(t,e),this.remove(e)}},sm=100,am=60,im=\"    \";function lm({source:e,line:t,column:n},r){function o(e,t){return s.slice(e,t).map(((t,n)=>String(e+n+1).padStart(l)+\" |\"+t)).join(\"\\n\")}let s=e.split(/\\r\\n?|\\n|\\f/),a=Math.max(1,t-r)-1,i=Math.min(t+r,s.length+1),l=Math.max(4,String(i).length)+1,c=0;(n+=(im.length-1)*(s[t-1].substr(0,n-1).match(/\\t/g)||[]).length)>sm&&(c=n-am+3,n=am-2);for(let e=a;e<=i;e++)e>=0&&e<s.length&&(s[e]=s[e].replace(/\\t/g,im),s[e]=(c>0&&s[e].length>c?\"\\u2026\":\"\")+s[e].substr(c,sm-2)+(s[e].length>c+sm-1?\"\\u2026\":\"\"));return[o(a,t),new Array(n+l+2).join(\"-\")+\"^\",o(t,i)].filter(Boolean).join(\"\\n\")}function cm(e,t,n,r,o){return Object.assign(function(e,t){let n=Object.create(SyntaxError.prototype),r=new Error;return Object.assign(n,{name:e,message:t,get stack(){return(r.stack||\"\").replace(/^(.+\\n){1,3}/,`${e}: ${t}\\n`)}})}(\"SyntaxError\",e),{source:t,offset:n,line:r,column:o,sourceFragment:e=>lm({source:t,line:r,column:o},isNaN(e)?0:e),get formattedMessage(){return`Parse error: ${e}\\n`+lm({source:t,line:r,column:o},2)}})}function um(e){let t=this.createList(),n=!1,r={recognizer:e};for(;!this.eof;){switch(this.tokenType){case 25:this.next();continue;case 13:n=!0,this.next();continue}let o=e.getNode.call(this,r);if(void 0===o)break;n&&(e.onWhiteSpace&&e.onWhiteSpace.call(this,o,t,r),n=!1),t.push(o)}return n&&e.onWhiteSpace&&e.onWhiteSpace.call(this,null,t,r),t}var dm=()=>{};function hm(e){return function(){return this[e]()}}function mm(e){let t=Object.create(null);for(let n in e){let r=e[n],o=r.parse||r;o&&(t[n]=o)}return t}var pm={parse(){return this.createSingleNodeList(this.SelectorList())}},fm={parse(){return this.createSingleNodeList(this.Selector())}},gm={parse(){return this.createSingleNodeList(this.Identifier())}},vm={parse(){return this.createSingleNodeList(this.Nth())}},ym={dir:gm,has:pm,lang:gm,matches:pm,is:pm,\"-moz-any\":pm,\"-webkit-any\":pm,where:pm,not:pm,\"nth-child\":vm,\"nth-last-child\":vm,\"nth-last-of-type\":vm,\"nth-of-type\":vm,slotted:fm,host:fm,\"host-context\":fm},bm={};wu(bm,{AnPlusB:()=>_d,AttributeSelector:()=>$d,ClassSelector:()=>Yd,Combinator:()=>Zd,IdSelector:()=>lh,Identifier:()=>ah,NestingSelector:()=>mh,Nth:()=>fh,Percentage:()=>xh,PseudoClassSelector:()=>wh,PseudoElementSelector:()=>Ch,Raw:()=>Oh,Selector:()=>Nh,SelectorList:()=>Dh,String:()=>Uh,TypeSelector:()=>$h});var xm=function(e){let t=\"\",n=\"<unknown>\",r=!1,o=dm,s=!1,a=new class{constructor(){this.lines=null,this.columns=null,this.computed=!1}setSource(e,t=0,n=1,r=1){this.source=e,this.startOffset=t,this.startLine=n,this.startColumn=r,this.computed=!1}getLocation(e,t){return this.computed||ad(this),{source:t,offset:this.startOffset+e,line:this.lines[e],column:this.columns[e]}}getLocationRange(e,t,n){return this.computed||ad(this),{source:n,start:{offset:this.startOffset+e,line:this.lines[e],column:this.columns[e]},end:{offset:this.startOffset+t,line:this.lines[t],column:this.columns[t]}}}},i=Object.assign(new class{constructor(e,t){this.setSource(e,t)}reset(){this.eof=!1,this.tokenIndex=-1,this.tokenType=0,this.tokenStart=this.firstCharOffset,this.tokenEnd=this.firstCharOffset}setSource(e=\"\",t=(()=>{})){let n=(e=String(e||\"\")).length,r=sd(this.offsetAndType,e.length+1),o=sd(this.balance,e.length+1),s=0,a=0,i=0,l=-1;for(this.offsetAndType=null,this.balance=null,t(e,((e,t,c)=>{switch(e){default:o[s]=n;break;case a:{let e=i&id;for(i=o[e],a=i>>ld,o[s]=e,o[e++]=s;e<s;e++)o[e]===n&&(o[e]=s);break}case 21:case 2:case 19:case 23:o[s]=i,a=cd.get(e),i=a<<ld|s}r[s++]=e<<ld|c,-1===l&&(l=t)})),r[s]=0|n,o[s]=n,o[n]=n;0!==i;){let e=i&id;i=o[e],o[e]=n}this.source=e,this.firstCharOffset=-1===l?0:l,this.tokenCount=s,this.offsetAndType=r,this.balance=o,this.reset(),this.next()}lookupType(e){return(e+=this.tokenIndex)<this.tokenCount?this.offsetAndType[e]>>ld:0}lookupOffset(e){return(e+=this.tokenIndex)<this.tokenCount?this.offsetAndType[e-1]&id:this.source.length}lookupValue(e,t){return(e+=this.tokenIndex)<this.tokenCount&&Yu(this.source,this.offsetAndType[e-1]&id,this.offsetAndType[e]&id,t)}getTokenStart(e){return e===this.tokenIndex?this.tokenStart:e>0?e<this.tokenCount?this.offsetAndType[e-1]&id:this.offsetAndType[this.tokenCount]&id:this.firstCharOffset}substrToCursor(e){return this.source.substring(e,this.tokenStart)}isBalanceEdge(e){return this.balance[this.tokenIndex]<e}isDelim(e,t){return t?9===this.lookupType(t)&&this.source.charCodeAt(this.lookupOffset(t))===e:9===this.tokenType&&this.source.charCodeAt(this.tokenStart)===e}skip(e){let t=this.tokenIndex+e;t<this.tokenCount?(this.tokenIndex=t,this.tokenStart=this.offsetAndType[t-1]&id,t=this.offsetAndType[t],this.tokenType=t>>ld,this.tokenEnd=t&id):(this.tokenIndex=this.tokenCount,this.next())}next(){let e=this.tokenIndex+1;e<this.tokenCount?(this.tokenIndex=e,this.tokenStart=this.tokenEnd,e=this.offsetAndType[e],this.tokenType=e>>ld,this.tokenEnd=e&id):(this.eof=!0,this.tokenIndex=this.tokenCount,this.tokenType=0,this.tokenStart=this.tokenEnd=this.source.length)}skipSC(){for(;13===this.tokenType||25===this.tokenType;)this.next()}skipUntilBalanced(e,t){let n,r,o=e;e:for(;o<this.tokenCount&&(n=this.balance[o],!(n<e));o++)switch(r=o>0?this.offsetAndType[o-1]&id:this.firstCharOffset,t(this.source.charCodeAt(r))){case 1:break e;case 2:o++;break e;default:this.balance[n]===o&&(o=n)}this.skip(o-this.tokenIndex)}forEachToken(e){for(let t=0,n=this.firstCharOffset;t<this.tokenCount;t++){let r=n,o=this.offsetAndType[t],s=o&id;n=s,e(o>>ld,r,s,t)}}dump(){let e=new Array(this.tokenCount);return this.forEachToken(((t,n,r,o)=>{e[o]={idx:o,type:od[t],chunk:this.source.substring(n,r),balance:this.balance[o]}})),e}},function(e){let t={context:Object.create(null),scope:Object.assign(Object.create(null),e.scope),atrule:mm(e.atrule),pseudo:mm(e.pseudo),node:mm(e.node)};for(let n in e.parseContext)switch(typeof e.parseContext[n]){case\"function\":t.context[n]=e.parseContext[n];break;case\"string\":t.context[n]=hm(e.parseContext[n])}return{config:t,...t,...t.node}}(e||{}),{parseAtrulePrelude:!0,parseRulePrelude:!0,parseValue:!0,parseCustomProperty:!1,readSequence:um,consumeUntilBalanceEnd:()=>0,consumeUntilLeftCurlyBracket:e=>123===e?1:0,consumeUntilLeftCurlyBracketOrSemicolon:e=>123===e||59===e?1:0,consumeUntilExclamationMarkOrSemicolon:e=>33===e||59===e?1:0,consumeUntilSemicolonIncluded:e=>59===e?2:0,createList:()=>new om,createSingleNodeList:e=>(new om).appendData(e),getFirstListNode:e=>e&&e.first,getLastListNode:e=>e&&e.last,parseWithFallback(e,t){let n=this.tokenIndex;try{return e.call(this)}catch(e){if(s)throw e;let r=t.call(this,n);return s=!0,o(e,r),s=!1,r}},lookupNonWSType(e){let t;do{if(t=this.lookupType(e++),13!==t)return t}while(0!==t);return 0},charCodeAt:e=>e>=0&&e<t.length?t.charCodeAt(e):0,substring:(e,n)=>t.substring(e,n),substrToCursor(e){return this.source.substring(e,this.tokenStart)},cmpChar:(e,n)=>Ju(t,e,n),cmpStr:(e,n,r)=>Yu(t,e,n,r),consume(e){let t=this.tokenStart;return this.eat(e),this.substrToCursor(t)},consumeFunctionName(){let e=t.substring(this.tokenStart,this.tokenEnd-1);return this.eat(2),e},consumeNumber(e){let n=t.substring(this.tokenStart,td(t,this.tokenStart));return this.eat(e),n},eat(e){if(this.tokenType!==e){let t=od[e].slice(0,-6).replace(/-/g,\" \").replace(/^./,(e=>e.toUpperCase())),n=`${/[[\\](){}]/.test(t)?`\"${t}\"`:t} is expected`,r=this.tokenStart;switch(e){case 1:2===this.tokenType||7===this.tokenType?(r=this.tokenEnd-1,n=\"Identifier is expected but function found\"):n=\"Identifier is expected\";break;case 4:this.isDelim(35)&&(this.next(),r++,n=\"Name is expected\");break;case 11:10===this.tokenType&&(r=this.tokenEnd,n=\"Percent sign is expected\")}this.error(n,r)}this.next()},eatIdent(e){(1!==this.tokenType||!1===this.lookupValue(0,e))&&this.error(`Identifier \"${e}\" is expected`),this.next()},eatDelim(e){this.isDelim(e)||this.error(`Delim \"${String.fromCharCode(e)}\" is expected`),this.next()},getLocation:(e,t)=>r?a.getLocationRange(e,t,n):null,getLocationFromList(e){if(r){let t=this.getFirstListNode(e),r=this.getLastListNode(e);return a.getLocationRange(null!==t?t.loc.start.offset-a.startOffset:this.tokenStart,null!==r?r.loc.end.offset-a.startOffset:this.tokenStart,n)}return null},error(e,n){let r=typeof n<\"u\"&&n<t.length?a.getLocation(n):this.eof?a.getLocation(function(e,t){for(;t>=0&&Mu(e.charCodeAt(t));t--);return t+1}(t,t.length-1)):a.getLocation(this.tokenStart);throw new cm(e||\"Unexpected input\",t,r.offset,r.line,r.column)}});return Object.assign((function(e,l){t=e,l=l||{},i.setSource(t,ud),a.setSource(t,l.offset,l.line,l.column),n=l.filename||\"<unknown>\",r=Boolean(l.positions),o=\"function\"==typeof l.onParseError?l.onParseError:dm,s=!1,i.parseAtrulePrelude=!(\"parseAtrulePrelude\"in l)||Boolean(l.parseAtrulePrelude),i.parseRulePrelude=!(\"parseRulePrelude\"in l)||Boolean(l.parseRulePrelude),i.parseValue=!(\"parseValue\"in l)||Boolean(l.parseValue),i.parseCustomProperty=\"parseCustomProperty\"in l&&Boolean(l.parseCustomProperty);let{context:c=\"default\",onComment:u}=l;if(!(c in i.context))throw new Error(\"Unknown context `\"+c+\"`\");\"function\"==typeof u&&i.forEachToken(((e,n,r)=>{if(25===e){let e=i.getLocation(n,r),o=Yu(t,r-2,r,\"*/\")?t.slice(n+2,r-2):t.slice(n+2,r);u(o,e)}}));let d=i.context[c].call(i,l);return i.eof||i.error(),d}),{SyntaxError:cm,config:i.config})}({parseContext:{default:\"SelectorList\",selectorList:\"SelectorList\",selector:\"Selector\"},scope:{Selector:{onWhiteSpace:function(e,t){null!==t.last&&\"Combinator\"!==t.last.type&&null!==e&&\"Combinator\"!==e.type&&t.push({type:\"Combinator\",loc:null,name:\" \"})},getNode:function(){switch(this.tokenType){case 19:return this.AttributeSelector();case 4:return this.IdSelector();case 16:return 16===this.lookupType(1)?this.PseudoElementSelector():this.PseudoClassSelector();case 1:return this.TypeSelector();case 10:case 11:return this.Percentage();case 12:46===this.charCodeAt(this.tokenStart)&&this.error(\"Identifier is expected\",this.tokenStart+1);break;case 9:switch(this.charCodeAt(this.tokenStart)){case 43:case 62:case 126:case 47:return this.Combinator();case 46:return this.ClassSelector();case 42:case 124:return this.TypeSelector();case 35:return this.IdSelector();case 38:return this.NestingSelector()}}}}},atrule:{},pseudo:ym,node:bm}),km=(e,t)=>e.a===t.a?e.b===t.b?e.c-t.c:e.b-t.b:e.a-t.a,wm=(e,t)=>0===km(e,t),Sm=(e,t)=>km(e,t)>0,Cm=(e,t)=>km(e,t)<0,Tm=(e,t=\"ASC\")=>{let n=e.sort(km);return\"DESC\"===t?n.reverse():n},Im=(...e)=>Tm(e,\"ASC\"),Am=(...e)=>Tm(e,\"DESC\"),Om=(...e)=>Am(...e)[0],Em=e=>{let t={a:0,b:0,c:0};return e.children.forEach((e=>{switch(e.type){case\"IdSelector\":t.a+=1;break;case\"AttributeSelector\":case\"ClassSelector\":t.b+=1;break;case\"PseudoClassSelector\":switch(e.name.toLowerCase()){case\"where\":break;case\"is\":case\"matches\":case\"-webkit-any\":case\"-moz-any\":case\"any\":case\"not\":case\"has\":if(e.children){let n=Om(...Lm(e.children.first));t.a+=n.a,t.b+=n.b,t.c+=n.c}break;case\"nth-child\":case\"nth-last-child\":if(t.b+=1,e.children.first.selector){let n=Om(...Lm(e.children.first.selector));t.a+=n.a,t.b+=n.b,t.c+=n.c}break;case\"host-context\":case\"host\":if(t.b+=1,e.children){let n={type:\"Selector\",children:[]},r=!1;e.children.first.children.forEach((e=>!r&&(\"Combinator\"===e.type?(r=!0,!1):void n.children.push(e))));let o=Lm(n)[0];t.a+=o.a,t.b+=o.b,t.c+=o.c}break;case\"after\":case\"before\":case\"first-letter\":case\"first-line\":t.c+=1;break;default:t.b+=1}break;case\"PseudoElementSelector\":switch(e.name){case\"slotted\":if(t.c+=1,e.children){let n={type:\"Selector\",children:[]},r=!1;e.children.first.children.forEach((e=>!r&&(\"Combinator\"===e.type?(r=!0,!1):void n.children.push(e))));let o=Lm(n)[0];t.a+=o.a,t.b+=o.b,t.c+=o.c}break;case\"view-transition-group\":case\"view-transition-image-pair\":case\"view-transition-old\":case\"view-transition-new\":if(e.children&&\"*\"===e.children.first.value)break;t.c+=1;break;default:t.c+=1}break;case\"TypeSelector\":let n=e.name;n.includes(\"|\")&&(n=n.split(\"|\")[1]),\"*\"!==n&&(t.c+=1)}})),new Nm(t,e)},Lm=e=>{if(!e)return[];let t=(e=>{if(\"string\"==typeof e||e instanceof String)try{return xm(e,{context:\"selectorList\"})}catch(t){throw new TypeError(`Could not convert passed in source '${e}' to SelectorList: ${t.message}`)}if(e instanceof Object){if(e.type&&[\"Selector\",\"SelectorList\"].includes(e.type))return e;if(e.type&&\"Raw\"===e.type)try{return xm(e.value,{context:\"selectorList\"})}catch(e){throw new TypeError(`Could not convert passed in source to SelectorList: ${e.message}`)}throw new TypeError(\"Passed in source is an Object but no AST / AST of the type Selector or SelectorList\")}throw new TypeError(\"Passed in source is not a String nor an Object. I don't know what to do with it.\")})(e);if(\"Selector\"===t.type)return[Em(e)];if(\"SelectorList\"===t.type){let e=[];return t.children.forEach((t=>{let n=Em(t);e.push(n)})),e}},Nm=class{constructor(e,t=null){this.value=e,this.selector=t}get a(){return this.value.a}set a(e){throw new Error(\"Manipulating the port of the specificity directly is not allowed. Instead, directly set a new value\")}get b(){return this.value.b}set b(e){throw new Error(\"Manipulating the port of the specificity directly is not allowed. Instead, directly set a new value\")}get c(){return this.value.c}set c(e){throw new Error(\"Manipulating the port of the specificity directly is not allowed. Instead, directly set a new value\")}selectorString(){return\"string\"==typeof this.selector||this.selector instanceof String?this.selector:this.selector instanceof Object&&\"Selector\"===this.selector.type?nm(this.selector):\"\"}toObject(){return this.value}toArray(){return[this.value.a,this.value.b,this.value.c]}toString(){return`(${this.value.a},${this.value.b},${this.value.c})`}toJSON(){return{selector:this.selectorString(),asObject:this.toObject(),asArray:this.toArray(),asString:this.toString()}}isEqualTo(e){return wm(this,e)}isGreaterThan(e){return Sm(this,e)}isLessThan(e){return Cm(this,e)}static calculate(e){return Lm(e)}static compare(e,t){return km(e,t)}static equals(e,t){return wm(e,t)}static lessThan(e,t){return Cm(e,t)}static greaterThan(e,t){return Sm(e,t)}static min(...e){return((...e)=>Im(...e)[0])(...e)}static max(...e){return Om(...e)}static sortAsc(...e){return Im(...e)}static sortDesc(...e){return Am(...e)}};const _m=e=>(e=>{const t=new Map,n=e=>{const n=t.get(e);if(l(n))return n;{const n=Nm.calculate(e)[0];return t.set(e,n),n}};return F(e,((e,t)=>{const r=n(e.selector),o=n(t.selector);return Nm.compare(r,o)}))})((e=>R(e,(e=>(e=>-1!==e.selector.indexOf(\",\"))(e)?(e=>{const t=e.selector.split(/,(?![^(]*\\))/g);return A(t,(t=>{const n=t.trim();return{...e,selector:n}}))})(e):[e])))(e)),Dm=e=>{const t={};return O(e,(r=>{const o=e.getPropertyValue(r);n(o)&&(t[r]=o)})),t},Pm=e=>({selector:e.selectorText,styles:Dm(e.style)}),Rm=e=>{const t=e.cssRules;return R(t,(e=>(e=>e.type===window.CSSRule.IMPORT_RULE)(e)?Rm(e.styleSheet):(e=>e.type===window.CSSRule.STYLE_RULE)(e)?[Pm(e)]:[]))},Mm=(e,t)=>{const n=N(t,((e,t)=>({...e,...t.styles})),{});return Ue(n,((t,n)=>!T(e.dom.style,n)))};const jm=e=>{return t=(e=>{const t=e.dom.styleSheets;return Array.prototype.slice.call(t)})(e),R(t,Rm);var t},Fm=(!0,(e,t,n)=>((e,t,r,o)=>{var s,a;((e,t,n)=>{((e,t,n)=>{const r=[],o=document.createTreeWalker(e.dom,NodeFilter.SHOW_ELEMENT);for(;l(o.nextNode());){const e=De.fromDom(o.currentNode),n=L(t,(t=>Tt(e,t.selector)));if(n.length>0){const t=Mm(e,n);zn(e,t),r.push(e)}}n&&O(r,(e=>On(e,\"class\")))})(t,_m(e),n)})((s=jm(t),a=n,A(s,(e=>{const t=e.selector,n=a.hasOwnProperty(t)?a[t]:t;return{...e,selector:n}}))),r,true)})(0,e,t));const Um={p:\"p, li[data-converted-paragraph]\"},Bm=(e,t)=>{const n=Jt(e,\"li[data-converted-paragraph]\");if(O(n,(e=>{On(e,\"data-converted-paragraph\")})),t){const t=Jt(e,\"li\");O(t,(t=>{const n=(e=>{const t=(()=>{const t=De.fromTag(\"spn\");return dn(e,t),t})();return{convertToPx:e=>{return Bn(t,\"margin-left\",e),n=Hn(t,\"margin-left\"),parseFloat(/-?\\d+\\.?\\d*/.exec(n)[0]);var n},destroy:()=>vn(t)}})(e),r=((e,t)=>{const n=In(e,\"data-tab-interval\").getOr(\"36pt\");return t.convertToPx(n)})(e,n),o=zm(t,r,n).getOr({});(e=>{On(e,\"data-list-level\"),On(e,\"data-text-indent-alt\"),On(e,\"data-border-margin\"),Gn(e,\"margin-left\"),Gn(e,\"text-indent\"),Me(Vn(e),((t,n)=>{!$(n,\"border\")||\"border-image\"!==n&&\"none\"!==t.trim()&&\"initial\"!==t.trim()||Gn(e,n)}))})(t),n.destroy(),zn(t,o)}));const n=Jt(e,\"ol,ul\");O(n,(e=>{const t=Jt(e,\"li\");$n(e,\"margin-top\").isNone()&&k.from(t[0]).each((t=>{Bn(e,\"margin-top\",Hn(t,\"margin-top\"))})),$n(e,\"margin-bottom\").isNone()&&k.from(t[t.length-1]).each((t=>{Bn(e,\"margin-bottom\",Hn(t,\"margin-bottom\"))}))}))}On(e,\"data-tab-interval\")},zm=(e,t,n)=>{const r=e=>In(e,\"data-list-level\").map((e=>parseInt(e,10))).getOr(1);return $n(e,\"text-indent\").bind((o=>$n(e,\"margin-left\").map((s=>{const a=$n(e,\"list-style\").exists((e=>W(e,\"none\"))),i=In(e,\"data-border-margin\").getOr(\"0px\"),l=a?r(e)+1:r(e),c=n.convertToPx(s)+n.convertToPx(i),u=t*l,d=In(e,\"data-text-indent-alt\").getOr(o),h=n.convertToPx(d),m={},p=t/2*-1-h;p>0&&(m[\"text-indent\"]=p+\"px\");const f=c-u-p;return m[\"margin-left\"]=f>0?f+\"px\":\"0px\",m}))))},Hm=e=>{const t=(n=De.fromDom(document.body),{play:(e,t,r)=>{const o=De.fromTag(\"div\"),s=De.fromTag(\"iframe\");zn(o,{display:\"none\"});const a=Lr(s,\"load\",(()=>{var n;a.unbind(),pu(s,e);const i=null===(n=s.dom.contentWindow)||void 0===n?void 0:n.document;if(void 0===i)throw new Error(\"sandbox iframe load event did not fire correctly\");const l=De.fromDom(i),c=l.dom.body;if(void 0===c)throw new Error(\"sandbox iframe does not have a body\");const u=De.fromDom(c),d=t(l,u);vn(o),setTimeout(g(r,d),0)}));hn(o,s),hn(n,o)}});var n;return n=>new Promise((r=>{t.play(n,((t,n)=>(((e,t,n)=>{const r=n.mergeInline();r&&(Fm(e,t,Um),(e=>{Ia(e)})(t)),Bm(t,r)})(t,n,{mergeInline:m(e)}),Jn(n))),r)}))},Wm=(e,t,n,r)=>{const o=e.html;return n.cleanDocument(o,t,r).then((e=>{if(null==(n=e)||0===n.length)return{response:Fr([],[]),bundle:Wr({})};{const n=void 0===r.sanitizer?sc(r.intraFlag.isMarked):r.sanitizer;return((e,t,n,r)=>{const o=e=>({response:e,bundle:Wr({})}),s=r.sanitizeHtml(t,\"word\");return Hm(e)(s).then((e=>{const t=Kn(e),r=e=>o(Fr(t,e)),s=De.fromTag(\"div\");fn(s,t);const a=L(It(\"img[src]\",s),(e=>In(e,\"src\").exists((e=>$(e,\"blob:\")||$(e,\"data:\"))))),i=It(\"img[data-image-src]\",s);if(0===a.length&&0===i.length)return r([]);if(n)return O(a,(e=>On(e,\"id\"))),(e=>Promise.all(A(e,(e=>{const t=e.dom;return pi(t).then((n=>n.toBlob().then((r=>((n,r)=>{const o=$(t.src,\"blob:\")?t.src:URL.createObjectURL(r),s=kn(\"image\"),a=Dc.blob(s,n,o);return jc(a,e)})(n,r)))))}))))(a).then(r);{O(a,vn),O(i,vn);const e=Ht(s);return o(Br(e,[],\"errors.local.images.disallowed\"))}}))})(t,e,r.allowLocalImages,n)}var n}),(e=>(console.error(\"PowerPaste error code: WIM01\"),{response:jr(\"errors.paste.process.failure\"),bundle:Wr({})})))},$m=yt(),Vm=e=>{try{const t=e(),n=null!=t&&t.length>0?Kn(t):[];return Ir.value(n)}catch(e){return console.error(\"PowerPaste error code: PT01. Message: \",e),Ir.error(\"errors.paste.process.failure\")}},Gm=e=>e.fold($r,(e=>({response:Fr(e,[]),bundle:Wr({})}))),qm=(e,t,n,r,o)=>Vm((()=>{const s={type:r,merge:n,cleanFilteredInlineElements:o.cleanFilteredInlineElements,indentUseMargin:o.indentUseMargin,preprocessor:{defaultProtocol:o.defaultProtocol}};return((e,t,n,r)=>{Yi(n,r.preprocessor);const o=Jn(n),s=((e,t)=>{const n=t.merge,r=((e,t)=>{const n=t.browser.isFirefox(),r=Co([(s=n?bs:ys,a=!n,Io(((e,t)=>{const n=((e,t,n)=>t(De.fromDom(e.getNode())).fold((()=>[e]),(t=>{const r=e.type()===mo,o=[go(t.dom,r)];return!r&&n&&o.push(go(t.dom,!0)),o})))(t,s,a);e.emitTokens(n)}),d))]),o=n?d:la;var s,a;return{annotate:[e.type===xs.Word?r:d],local:[o]}})(t,e);return P([r.local,Ba(t),Ha(t),r.annotate,(o=n?[]:t.cleanFilteredInlineElements,[Ea,Na,va(o)]),za(t),$a(t,e),[js],[ga],[ea],[ta],Ua(t),[wa,Sa,ca,Ca],[ua],[da],[ha],[ba],Va(t),[ka],[pa],[Ia],Ga(t),[ya],[na]]);var o})(t,r);return To(e,o,s)})(e,$m,t,s)})),Km=(e,t)=>{const n=Vm((()=>((e,t)=>((e,t)=>To(e,t,[ta,Ca]))(e,Jn(t)))(e,t)));return Gm(n)},Jm=(e,t,n,r,o)=>qm(e,t,r,n,o).fold(Vr,(e=>Promise.resolve({response:Fr(e,[]),bundle:Wr({})}))),Ym=e=>\"\\n\"===e||\"\\r\"===e,Xm=(e,t)=>{const n=(e=>{const t=De.fromTag(\"div\");return((e,t)=>{e.dom.textContent=t})(t,e),Jn(t)})(e),r=((e,t)=>{const n=((e,t)=>{const n=e.replace(/\\t/g,(r=t)<=0?\"\":new Array(r+1).join(\" \"));var r;const o=N(n,((e,t)=>(e=>-1!==\" \\f\\t\\v\".indexOf(e))(t)||\"\\xa0\"===t?e.pcIsSpace||\"\"===e.str||e.str.length===n.length-1||((e,t)=>t<e.length&&t>=0&&Ym(e[t]))(n,e.str.length+1)?{pcIsSpace:!1,str:e.str+\"\\xa0\"}:{pcIsSpace:!0,str:e.str+\" \"}:{pcIsSpace:Ym(t),str:e.str+t}),{pcIsSpace:!1,str:\"\"});return o.str})(e,t).replace(/^[\\r\\n]*|[\\r\\n]*$/g,\"\").split(/(?:\\r?\\n){2}/),r=A(n,(e=>e.split(/\\n|\\r\\n/).join(\"<br />\")));return 1===r.length?r[0]:A(r,(e=>\"<p>\"+e+\"</p>\")).join(\"\")})(n,t),o=Kn(r);return Fr(o,[])},Zm=e=>(t,n)=>((e,t)=>{const n=yc(e).getOrDie(\"Required text input for Text Handler\");return{response:n.text.length>0?Xm(n.text,t):Ur(),bundle:Wr({})}})(t,e),Qm=e=>(t,n)=>{const r=(t,r)=>{const o=De.fromTag(\"div\");fn(o,t),Yi(o,e);const s=Ht(o);return{response:Fr(s,r),bundle:n.bundle}},o=m(n);return Mr(n.response,o,r,o,r)},ep=(e,t,n)=>(r,o)=>{const s=fc(r).getOrDie(\"Wrong input type for HTML handler\").container,a=Rt(t),i=o.bundle;return uu(i)?Km(a,s):(e(s),((e,t,n,r,o)=>{const s=qm(e,t,n,r,o);return Gm(s)})(a,s,au(i),du(i),n))},tp=(e,t,n)=>(r,o)=>{const s=o.bundle;return(e=>({handle:(t,n)=>e.proxyBin.fold((()=>(console.error(t),Promise.resolve({response:Ur(),bundle:Wr({})}))),n)}))(s).handle(\"There was no proxy bin setup. Ensure you have run proxyStep first.\",(r=>{const o=au(s),a=du(s),i=uu(s),l=Rt(e);return i?((e,t,n,r)=>{const o=xs.Html,s=t.findClipboardTags(Ht(n)).getOr([]);return O(s,vn),Jm(e,n,o,!0,r)})(l,t,r,n):((e,t,n,r,o)=>Jm(e,t,r,n,o))(l,r,o,a,n)}))},np=(e,t)=>(n,r)=>{const o=vc(n).getOrDie(\"Wrong input type for Word Import handler\"),s=iu(r.bundle);return Wm(o,s,e,t)},rp=(e,t)=>Gr,op=e=>(t,n)=>{const r=Hr(n.bundle,Wr(e));return{response:n.response,bundle:r}},sp=(e,t)=>(e=>{const t=e=>({response:Fr([e],[]),bundle:Wr({})});return(e=>(e=>{const t=Jt(e,\"img\");return Promise.all(A(t,ki)).then((()=>e))})(e))(e).then(t).catch((()=>t(e)))})(fc(e).getOrDie(\"Wrong input type for HTML handler\").container);yt();var ap=(e,t,n,r)=>(o,s)=>{const a=s.response;return new Promise(((o,s)=>{const i=e(n);i.events.after.bind((e=>{const n=e.container;t(n),_n(n,gr());const s=(u=Jn(n)).indexOf(\"<o:p>\")>=0||u.indexOf(\"mso-list\")>=0||u.indexOf(\"p.MsoNormal, li.MsoNormal, div.MsoNormal\")>=0||u.indexOf(\"MsoListParagraphCxSpFirst\")>=0||u.indexOf(\"<w:WordDocument>\")>=0,i=((e,t)=>{const n=Jt(t,\"*[id]\");return I(n,(e=>In(e,\"id\").exists((e=>$(e,\"docs-internal-guid-\")))))})(0,n),l=Ht(n),c=r.findClipboardTags(l).isSome();var u;o({response:a,bundle:Wr({isWord:s,isGoogleDocs:i,isInternal:c,proxyBin:n})})})),i.run()}))};const ip=Nt([{unsupported:[\"id\",\"message\",\"isEquation\",\"attrs\"]},{supported:[\"id\",\"contentType\",\"blob\",\"isEquation\",\"attrs\"]}]),lp={unsupported:ip.unsupported,supported:ip.supported,cata:(e,t,n)=>e.fold(t,n)},cp=(e,t,n)=>t.indexOf(e,n),up=(e,t,n,r,o,s,a)=>-1===e||-1===t?k.none():k.some({start:e,end:t,bower:n,regex:r,idRef:o,isEquation:s,attrs:a}),dp=(e,t,n)=>e.substring(t,n),hp=(e,t)=>{if(-1===t)return t;let n=0;const r=e.length;do{const o=e.indexOf(\"{\",t),s=e.indexOf(\"}\",t);if(s>o&&-1!==o?(t=o+1,++n):(o>s||o<0)&&-1!==s&&(t=s+1,--n),t>r||-1===s)return-1}while(n>0);return t},mp=(e,t,n,r,o)=>{const s=dp(e,n,r),a=((e,t)=>{const n=cp(\"\\\\picscalex\",e,t),r=cp(\"\\\\bliptag\",e,n);return n>-1&&n<r?k.from(e.substring(n,r)):k.none()})(e,n);return up(n,r,s,/[^a-fA-F0-9]([a-fA-F0-9]+)\\}$/,\"i\",o,a)},pp=(e,t,n,r,o)=>{const s=dp(e,n,r);return up(n,r,s,/([a-fA-F0-9]{64,})(?:\\}.*)/,\"s\",o,k.none())},fp=(e,t)=>((e,t)=>{const n=cp(\"{\\\\pict{\",e,t),r=hp(e,n),o=cp(\"{\\\\shp{\",e,t),s=hp(e,o),a=cp(\"{\\\\mmathPict{\",e,t),i=hp(e,a),l=-1!==a&&(a<n&&i>r||a<o&&i>s),c=g(pp,e,t,o,s,l),u=g(mp,e,t,n,r,l);return-1===n&&-1===o?k.none():-1===n?c():-1===o||o<n&&s>r?u():n<o&&r>s?c():n<o?u():o<n?c():k.none()})(e,t),gp=e=>{let t=[];const n=()=>e.length,r=e=>{const n=(e=>{const t=e.bower,n=e.regex,r=e.isEquation,o=e.attrs;return(e=>{const t=/\\\\shplid(\\d+)/.exec(e);return null!==t?k.some(t[1]):k.none()})(t).map((s=>{const a=e.idRef+s;return(e=>e.indexOf(\"\\\\pngblip\")>=0?Ir.value(\"image/png\"):e.indexOf(\"\\\\jpegblip\")>=0?Ir.value(\"image/jpeg\"):Ir.error(\"errors.imageimport.unsupported\"))(t).fold((e=>lp.unsupported(a,e,r,o)),(e=>((e,t)=>{const n=e.match(t);return n&&n[1]&&n[1].length%2==0?Ir.value(n[1]):Ir.error(\"errors.imageimport.invalid\")})(t,n).fold((e=>lp.unsupported(a,e,r,o)),(t=>lp.supported(a,e,((e,t)=>{if(0===e.length)throw new Error(\"Zero length content passed to Hex conversion\");const n=(e=>{const t=new Array(e.length/2);for(let n=0;n<e.length;n+=2){const r=e.substr(n,2);t[Math.floor(n/2)]=parseInt(r,16)}return t})(e),r=new Uint8Array(n);return new Blob([r],{type:t})})(t,e),r,o)))))}))})(e);return t=t.concat(n.toArray()),e.end};let o=0;for(;o<e.length;)o=fp(e,o).fold(n,r);return t},vp=e=>lp.cata(e,((e,t,n)=>e),((e,t,n,r,o)=>e)),yp=e=>lp.cata(e,((e,t,n)=>n),((e,t,n,r,o)=>r)),bp=e=>lp.cata(e,((e,t,n)=>Ir.error(t)),((e,t,n,r,o)=>Ir.value(n))),xp=(e,t)=>{const n=new RegExp(\"\\\\\\\\pic\"+t+\"(\\\\-?\\\\d+)\\\\\\\\\").exec(e)[1];return parseInt(n,10)},kp=(e,t,n,r,o)=>{const s=[],a=[];let i=!1;const l=R(e,((e,l)=>{const c=Tn(e,\"data-image-id\");return On(e,\"rtf-data-image\"),On(e,\"data-image-id\"),On(e,\"data-ms-equation\"),o||On(e,\"data-image-src\"),\"unsupported\"===c?(i=!0,Sn(e,\"alt\",n(\"errors.imageimport.unsupported\")),[]):_(t,((e,t)=>r(e,t,c,l))).fold((()=>(console.log(\"WARNING: unable to find data for image \",e.dom),i=!0,Sn(e,\"alt\",n(\"errors.imageimport.unsupported\")),[])),(t=>bp(t).fold((t=>(i=!0,console.error(\"PowerPaste error code: RTF04\"),Sn(e,\"alt\",n(t)),[])),(n=>{var r;return s.push(e),a.push((r=t,lp.cata(r,((e,t,n)=>k.none()),((e,t,n,r,o)=>o)))),o&&On(e,\"data-image-src\"),[n]}))))}));return{blobs:l,filteredImages:s,imageAttrs:a,failedImage:i}},wp=(e,t,n,r,o)=>{const s=(e=>N(e,((e,t)=>{const n=vp(t),r=yp(t);return D(e,(e=>!(r||yp(e))&&vp(e)===n)).fold((()=>e.concat([t])),(n=>bp(e[n]).isValue()?e:e.slice(0,n).concat(e.slice(n+1)).concat([t])))}),[]))(t),{pass:a,fail:i}=E(s,(e=>!yp(e))),{pass:l,fail:c}=E(e,(e=>!(e=>\"true\"===Tn(e,\"data-ms-equation\"))(e))),u=kp(l,a,r,((e,t,n,r)=>vp(e)===n),o.keepSrc),d=kp(c,i,r,((e,t,n,r)=>t===r),o.keepSrc),h=u.filteredImages.concat(d.filteredImages),m=u.imageAttrs.concat(d.imageAttrs),p=u.blobs.concat(d.blobs),f=u.failedImage||d.failedImage;Mc(p).then((e=>{((e,t)=>e.length===t.length?Promise.all(A(e,((e,n)=>((e,t)=>t.fold((()=>Promise.resolve(e)),(t=>Dc.cata(e,((n,r,o)=>r.toCanvas().then((s=>{const a=De.fromDom(s),i=In(a,\"width\").map((e=>parseInt(e,10))).getOr(1),l=In(a,\"height\").map((e=>parseInt(e,10))).getOr(1),c=((e,t,n)=>{const r=g(xp,e),o=r(\"wgoal\"),s=r(\"hgoal\"),a=o/t,i=s/n,l=r(\"cropl\"),c=r(\"cropt\");return{cropl:l/a,cropt:c/i,cropw:(o-l-r(\"cropr\"))/a,croph:(s-c-r(\"cropb\"))/i}})(t,i,l);return i===c.cropw&&l===c.croph&&0===c.cropl&&0===c.cropt?Promise.resolve(e):di(r,c.cropl,c.cropt,c.cropw,c.croph).then((e=>e.toBlob().then((t=>{URL.revokeObjectURL(o);const r=URL.createObjectURL(t);return Dc.blob(n,e,r)}))))}))),((t,n,r)=>Promise.resolve(e))))))(e,t[n])))):Promise.resolve(e))(e,m).then((e=>{const t=Uc(e,h);n(t,f)}))}))},Sp=e=>Jt(e,\"[rtf-data-image]\"),Cp=e=>{const t=e.translations,n=Ct({insert:St([\"elements\",\"correlated\"]),incomplete:St([\"elements\",\"correlated\",\"message\"])});return{events:n.registry,processRtf:(e,r,o,s)=>{const a=(e=>{const t=e.replace(/\\r/g,\"\").replace(/\\n/g,\"\");return gp(t)})(o),i=Sp(e);wp(i,a,((t,o)=>{const s=Ht(e),a=t.concat(r);o?(console.error(\"PowerPaste error code: RTF01\"),n.trigger.incomplete(s,a,\"errors.imageimport.failed\")):n.trigger.insert(s,a)}),t,s)}}};const Tp=e=>{const t=()=>Promise.resolve(e);return Dc.cata(e.asset,((n,r,o)=>/(tiff|pdf)$/.test(r.getType())?(e=>((e,t,n)=>e.toAdjustedBlob(t,n))(e,\"image/png\").then(Pc).then(k.some).catch((e=>(console.warn(e),k.none()))))(r).then((t=>t.map((t=>{const n=e.image;return URL.revokeObjectURL(o),Fc(t,n),jc(t,n)})).getOr(e))):t()),t)};var Ip=(e,t)=>{const n=(e,n)=>Promise.all(A(e,Tp)).then((e=>({response:n(e),bundle:t.bundle})));return Mr(t.response,Vr,((e,t)=>n(t,(t=>Fr(e,t)))),(()=>Promise.resolve(t)),((e,t,r)=>n(t,(t=>(console.error(\"PowerPaste error code:  IMG01\"),Br(e,t,r))))))};const Ap=(e,t)=>e.isSupported?t.getWordData():k.none(),Op=e=>e.getNative(),Ep=e=>e.getImage(),Lp=e=>e.getHtml(),Np=e=>e.getText(),_p=e=>e.getOnlyText(),Dp=e=>e.getGoogleDocsData(),Pp=e=>e.getVoid(),Rp=(e,t,n,r)=>({label:e,getAvailable:t,steps:n,capture:m(r)}),Mp=(e,t,n,r)=>({label:e,getAvailable:t,steps:n,capture:m(r)}),jp=(e,t,n,r)=>{return Rp(Ec.native,Lp,[(o=t.intraFlag,(e,t)=>{const n=fc(e).getOrDie(\"Wrong input type for HTML handler\"),r=o.findClipboardTags(Ht(n.container));r.each((e=>{O(e,vn)}));const s=r.isSome();return{response:t.response,bundle:Wr({isInternal:s})}}),mu(e,t),ep(n,r,t),qc(t),Ip],!0);var o},Fp=(e,t,n)=>{return Rp(Ec.msoffice,g(Ap,e),[op({isWord:!0}),hu(t,n),np(e,n),(r=n,(e,t)=>new Promise(((n,o)=>{const s=Cp(r),a=e=>n({response:e,bundle:Wr({})});s.events.insert.bind((e=>{a(Fr(e.elements,e.correlated))})),s.events.incomplete.bind((e=>{console.error(\"PowerPaste error code: RTF02\"),a(Br(e.elements,e.correlated,e.message))}));const i=vc(e).getOrDie(\"Word input required for rtf data\"),l=e=>{const n=()=>Promise.resolve(t),o=(t,n)=>{const o=De.fromTag(\"div\");return fn(o,t),e.fold((()=>{const e=Sp(o);return e.length>0?(e=>{O(e,vn);const t=Ht(o);return console.error(\"PowerPaste error code: RTF03\"),a(Br(t,n,\"errors.imageimport.failed\"))})(e):(()=>{const e=Ht(o);return a(Fr(e,n))})()}),(e=>{s.processRtf(o,n,e,r)}))};return Mr(t.response,n,o,n,o)};((e,t)=>{const n=Pe(t);if(n.length!==Zi.length)throw new Error(\"Partial match\");B(n,(n=>Mn(e.discriminator===n,t[n]))).getOrDie(\"Must find branch for constructor: \"+e.discriminator)(e.data)})(i.rtf,{disabled:()=>{l(k.none())},fromClipboard:e=>{l(!0===r.allowLocalImages?k.some(e.rtf):k.none())}})}))),Ip],!0);var r},Up=(e,t,n,r)=>Rp(Ec.googledocs,Dp,[op({isGoogleDocs:!0}),hu(e,t),sp,ep(n,r,t),su,qc(t),Ip],!0),Bp=e=>Rp(Ec.image,Ep,[!1===e.allowLocalImages?(e,t)=>Vr(\"errors.local.images.disallowed\"):(e,t)=>(e=>{const t=L(e,(e=>\"file\"===e.kind&&/image/.test(e.type))),n=N(t,((e,t)=>{const n=t.getAsFile();return(e=>null!==e)(n)?e.concat(n):e}),[]);return Mc(n).then((e=>{const t=(e=>{const t=[],n=[];return O(e,(e=>Dc.cata(e,((r,o,s)=>{const a=De.fromTag(\"img\");Sn(a,\"src\",s),t.push(a),n.push(jc(e,a))}),((e,t,n)=>{console.error(\"Internal error: Paste operation produced an image URL instead of a Data URI: \",t)})))),Fr(t,n)})(e);return{response:t,bundle:Wr({})}}))})(gc(e).getOrDie(\"Must have image data for images handler\").images),Ip],!0),zp=e=>Rp(Ec.plaintext,_p,[Zm(e.tabSpaces),Qm({defaultProtocol:e.defaultProtocol})],!0),Hp=(e,t)=>Rp(Ec.text,Np,[Zm(e),Qm({defaultProtocol:t})],!0);var Wp=Object.freeze({__proto__:null,loadScript:(e,t)=>tinymce.Resource.load(e,t)});const $p={\"cement.dialog.paste.title\":\"Paste Formatting Options\",\"cement.dialog.paste.instructions\":\"Choose to keep or remove formatting in the pasted content.\",\"cement.dialog.paste.merge\":\"Keep formatting\",\"cement.dialog.paste.clean\":\"Remove formatting\",\"error.code.images.not.found\":\"The images service was not found: (\",\"error.imageupload\":\"Image failed to upload: (\",\"error.full.stop\":\").\",\"errors.local.images.disallowed\":\"Local image paste has been disabled. Local images have been removed from pasted content.\",\"errors.imageimport.failed\":\"Some images failed to import.\",\"errors.imageimport.unsupported\":\"Unsupported image type.\",\"errors.imageimport.invalid\":\"Image is invalid.\"},Vp=e=>tinymce.translate((e=>$p[e])(e)),Gp=e=>{const t=document.createElement(\"div\");return t.appendChild(e.cloneNode(!0)),t.innerHTML},qp=\"x-tinymce/html\",Kp=m(qp),Jp=\"\\x3c!-- \"+qp+\" --\\x3e\",Yp=e=>-1!==e.indexOf(Jp),Xp=e=>/^https?:\\/\\/[\\w\\-\\/+=.,!;:&%@^~(){}?#]+$/i.test(e),Zp=e=>{const t=/^<a href=\"([^\"]+)\">([^<]+)<\\/a>$/.exec(e);return k.from(t).bind((t=>{const n={url:t[1],html:e};return Mn(t[1]===t[2],n)}))},Qp=(e,t,n)=>(e=>\"extra\"in e.undoManager)(e)?(e.undoManager.extra((()=>{nf(e,t)}),n),k.some(!0)):k.none(),ef=(e,t)=>Zp(t).bind((t=>!1===e.selection.isCollapsed()&&Xp(t.url)?((e,t)=>Qp(e,t.html,(()=>{e.execCommand(\"mceInsertLink\",!1,t.url)})))(e,t):k.none())),tf=(e,t)=>Zp(t).bind((t=>((e,t)=>{const n=e.toLowerCase();return Xp(n)&&I(t,(e=>V(n,`.${e.toLowerCase()}`)))})(t.url,pe(e))?((e,t)=>Qp(e,t.html,(()=>{e.insertContent('<img src=\"'+t.url+'\">')})))(e,t):k.none())),nf=(e,t)=>(e.insertContent(t,{merge:ee(e),paste:!0}),k.some(!0)),rf=(e,t)=>e.hasEventListeners(t),of=(e,t,n,r,o)=>{const s=(e=>e.replace(Jp,\"\"))(t),a=((e,t,n,r,o)=>rf(e,\"PastePreProcess\")?((e,t,n,r,o)=>{const s=((e,t)=>e.dispatch(\"PastePreProcess\",t))(e,{internal:n,content:t,source:r,mode:o}),a=s.isDefaultPrevented();return a?{cancelled:a}:{cancelled:a,content:s.content}})(e,t,n,r,o):{cancelled:!1,content:t})(e,s,n,r,o);return a.cancelled?a:((e,t,n,r,o)=>rf(e,\"PastePostProcess\")?((e,t,n,r,o)=>{const s=e.dom.add(e.getBody(),\"div\",{style:\"display:none\"},t),a=((e,t)=>e.dispatch(\"PastePostProcess\",t))(e,{internal:n,node:s,source:r,mode:o}),i=a.isDefaultPrevented();if(i)return{cancelled:i};const l=a.node.innerHTML;return e.dom.remove(s),{cancelled:i,content:l}})(e,t,n,r,o):{content:t,cancelled:!1})(e,a.content,n,r,o)},sf=(e,t,n,r,o,s)=>{const a=ge(),i=(null==r?void 0:r.jsUrl)?r.jsUrl:(\"/js\",n.replace(/\\/$/,\"\")+\"/\"+\"/js\".replace(/^\\//,\"\"));const c=(e,t)=>(e.undoManager.transact((()=>{var n;nf(e,t),n=e.getBody(),O(A(n.getElementsByTagName(\"*\"),De.fromDom),(e=>{An(e,\"data-mce-style\")&&!An(e,\"style\")&&In(e,\"data-mce-style\").each((t=>Sn(e,\"style\",t)))}))})),k.some(!0)),u=()=>{a.on((t=>e.selection.moveToBookmark(t))),a.clear()},h=te(e),m={baseUrl:i,cacheSuffix:re(e),officeStyles:ce(e),htmlStyles:de(e),gdocsStyles:ue(e),translations:Vp,allowLocalImages:le(e),pasteBinAttrs:{\"data-mce-bogus\":\"all\",class:\"mce-pastebin\"},intraFlag:{isMarked:Yp,findClipboardTags:e=>{const t=L(e,(e=>Ce(e)&&W(Ne(e),Kp())));return t.length?k.some(t):k.none()}},keepSrc:ie(e),cleanFilteredInlineElements:he(e),indentUseMargin:se(e),sanitizer:o,tabSpaces:h,defaultProtocol:me(e)},p=((e,t,n,r,o=Pr)=>{const s={...{...fr,sanitizer:sc(r.intraFlag.isMarked)},...Ue(r,l)},a=wt(o,s.baseUrl,s.cacheSuffix),i=mr(s.pasteBinAttrs),c=[zp(s),Fp(a,t,s),Up(t,s,n,e),jp(t,s,n,e),Bp(s),Hp(s.tabSpaces,s.defaultProtocol)],u=((e,t,n,r,o)=>Mp(Ec.fallback,Op,[ap(r,n,o,t.intraFlag),mu(e,t),tp(o,t.intraFlag,t),qc(t),Ip],!1))(t,s,n,i,e);return Nc(c,u,s.sanitizer)})(De.fromDom(e.getBody()),(e=>({createDialog:()=>{let t=\"\";const n=ge(),r=(()=>{const e=fe([{text:\"Close\",name:\"close\",type:\"custom\",primary:!0}]),t=fe({});return{setButtons:n=>{const r={},o=A(n,(e=>{const t=e.text;return r[t.toLowerCase()]=e.click,{text:t,name:t.toLowerCase(),type:\"custom\"}}));t.set(r),e.set(o)},getButtons:e.get,getAction:e=>{const n=t.get();return ze(n,e)?k.some(n[e]):k.none()}}})(),o=Ct({close:St([])}),s=()=>{o.trigger.close()};return{events:o.registry,setTitle:e=>t=e,setContent:e=>n.set(e),setButtons:e=>{r.setButtons(e)},show:()=>{n.on((n=>{const o=Gp(n.dom),a={title:t,body:{type:\"panel\",items:[{type:\"htmlpanel\",html:o}]},initialData:{},buttons:r.getButtons(),onCancel:s,onAction:(e,t)=>{r.getAction(t.name).each(y),e.close()}};e.windowManager.open(a)}))},hide:d,destroy:()=>{n.clear()},reflow:d}}}))(e).createDialog,d,m,Wp),f=((e=ac,t=fr.tabSpaces)=>Nc([Hp(t,fr.defaultProtocol)],Mp(Ec.discard,Pp,[rp],!0),e))(o,h);return O([p,f],(t=>{t.events.cancel.bind((()=>{u()})),t.events.error.bind((t=>{u(),e.notificationManager?e.notificationManager.open({text:Vp(t.message),type:\"error\"}):((e,t)=>{const n={title:\"Error\",body:{type:\"panel\",items:[{type:\"htmlpanel\",html:t}]},initialData:{},buttons:[{text:\"OK\",type:\"cancel\",name:\"ok\",primary:!0}]};e.windowManager.open(n)})(e,Vp(t.message))})),t.events.insert.bind((t=>{const n=A(t.elements,(e=>Gp(e.dom))).join(\"\");e.focus(),s.importImages(t.assets).get((()=>{u();const r=of(e,n,t.isInternal,t.source,t.mode);r.cancelled||(((e,t)=>{((e,t,n)=>{B(n,(n=>n(e,t)))})(e,t,(ne(e)?[ef,tf]:[]).concat([c]))})(e,r.content),oe(e)&&s.uploadImages(t.assets))}))})),t.events.block.bind((t=>{e.setProgressState(t.state)}))})),{pasteHtml:e=>p.pasteCustom(((e,t=ac)=>({getWordData:()=>k.from(e).filter(xc).map((e=>hc({html:e,rtf:Qi()}))),getGoogleDocsData:()=>k.from(e).filter(kc).map((e=>t.sanitizeHtml(e,\"googledocs\"))).map(Ac),getImage:k.none,getHtml:()=>k.some(Ac(t.sanitizeHtml(e))),getText:k.none,getNative:v(\"There is no native event\"),getOnlyText:k.none,getVoid:v(\"There is no paste event\")}))(e,o)),pasteText:e=>f.pasteCustom(((e,t=ac)=>({getWordData:k.none,getGoogleDocsData:k.none,getImage:k.none,getHtml:k.none,getText:()=>k.some(mc({text:t.sanitizeText(e)})),getNative:v(\"There is no native event\"),getOnlyText:k.none,getVoid:v(\"There is no paste event\")}))(e,o)),pasteEvent:n=>{(e=>{return(t=e,k.from(t.clipboardData).bind((e=>k.from(e.getData(\"text/html\"))))).bind((e=>(e=>W(e,\"<google-sheets-html-origin\"))(e)?k.some(\"googlesheets\"):(e=>W(e,\" data-ccp-props=\")&&W(e,\" paraid=\")&&/font-family:.+?_MSFontService(&quot;)?[,;]/.test(e))(e)?k.some(\"mswordonline\"):(e=>W(e,\"<meta name=ProgId content=Excel.Sheet>\")&&!W(e,'=\"urn:schemas-microsoft-com:office:'))(e)?k.some(\"msexcelonline\"):k.none()));var t})(n).each((t=>{((e,t)=>{e.dispatch(\"PowerPasteTempStats\",{source:t})})(e,t)})),a.isSet()||a.set(e.selection.getBookmark(1)),(t.isText()?f:p).paste(n),t.reset(),n.stopImmediatePropagation()}}},af=(e,t)=>{const n=tinymce.html.DomParser({},e.schema).parse(t,{forced_root_block:!1,isRootContent:!0});return tinymce.html.Serializer({validate:!0},e.schema).serialize(n)},lf=(e,t)=>{e.dom.bind(t,\"drop dragstart dragend dragover dragenter dragleave dragdrop draggesture\",(e=>{e.preventDefault(),e.stopImmediatePropagation()}))},cf=e=>{var t,n;return I(null!==(n=null===(t=e.dataTransfer)||void 0===t?void 0:t.items)&&void 0!==n?n:[],(e=>$(e.type,\"image/\")))},uf=(e,t,n,r)=>{const o=tinymce.dom.RangeUtils;let s;const a=t=>{var n,r;const s=o.getCaretRangeFromPoint(null!==(n=t.clientX)&&void 0!==n?n:0,null!==(r=t.clientY)&&void 0!==r?r:0,e.getDoc());e.focus(),l(s)&&e.selection.setRng(s)};e.on(\"dragstart dragend\",(e=>{s=\"dragstart\"===e.type})),e.on(\"dragover dragend dragleave\",(e=>{s||cf(e)||(e.preventDefault(),a(e))}));const i=(e,t)=>t in e&&e[t].length>0;e.on(\"drop\",(t=>{if(!s&&!cf(t)){a(t);const o=(t=>{var n,r,o;const s=null!==(o=null!==(n=t.target.files)&&void 0!==n?n:null===(r=t.dataTransfer)||void 0===r?void 0:r.files)&&void 0!==o?o:[],a=pe(e);return L(s,(e=>$(e.type,\"image/\")&&I(a,(t=>(e=>{const t=e.toLowerCase(),n={jpg:\"jpeg\",jpe:\"jpeg\",jfi:\"jpeg\",jif:\"jpeg\",jfif:\"jpeg\",pjpeg:\"jpeg\",pjp:\"jpeg\",svg:\"svg+xml\"};return ze(n,t)?\"image/\"+n[t]:\"image/\"+t})(t)===e.type))))})(t);if(o.length>0)return(t=>{Mc(t).then((t=>{const n=(e=>A(e,(e=>{const t=De.fromTag(\"img\"),n=Dc.cata(e,r.getLocalURL,((e,t,n)=>t));return Sn(t,\"src\",n),t.dom.outerHTML})).join(\"\"))(t),o=of(e,n,!1,\"imagedrop\",\"auto\");o.cancelled||(e.insertContent(o.content,{merge:ee(e)}),oe(e)&&r.uploadImages(t))}))})(o),void t.preventDefault();const s=(e=>{const t={};if(e&&e.types)for(let n=0;n<e.types.length;n++){const r=e.types[n];t[r]=e.getData(r)}return t})(t.dataTransfer);i(s,\"text/html\")?(n.pasteHtml(s[\"text/html\"]),t.preventDefault()):i(s,\"text/plain\")&&!(e=>{const t=e[\"text/plain\"];return!!t&&0===t.indexOf(\"file://\")})(s)&&(n.pasteText(s[\"text/plain\"]),t.preventDefault())}}))};tinymce.PluginManager.requireLangPack(\"powerpaste\",\"ar,bg_BG,ca,cs,da,de,el,es,eu,fa,fi,fr_FR,he_IL,hi,hr,hu_HU,id,it,ja,kk,ko_KR,ms,nb_NO,nl,pl,pt_BR,pt_PT,ro,ru,sk,sl_SI,sv_SE,th_TH,tr,uk,vi,zh_CN,zh_TW\"),tinymce.PluginManager.add(\"powerpaste\",(e=>(t,r)=>{if(((e,t)=>!!e&&-1===((e,t)=>{const n=J(e.major,t.major);if(0!==n)return n;const r=J(e.minor,t.minor);if(0!==r)return r;const o=J(e.patch,t.patch);return 0!==o?o:0})((e=>X((e=>[e.majorVersion,e.minorVersion].join(\".\").split(\".\").slice(0,3).join(\".\"))(e)))(e),X(t)))(tinymce,\"6.0.0\"))return void console.error('The \"powerpaste\" plugin requires at least version 6.0.0 of TinyMCE.');(e=>{const t=e.options.register,r=e=>{const t=c(e)||(e=>n(e)&&T([\"clean\",\"merge\",\"prompt\"],e))(e);return t?{value:e,valid:t}:{valid:!1,message:\"Must be prompt, clean or merge.\"}};t(\"powerpaste_block_drop\",{processor:\"boolean\",default:!1}),t(\"powerpaste_keep_unsupported_src\",{processor:\"boolean\",default:!1}),t(\"powerpaste_allow_local_images\",{processor:\"boolean\",default:!0}),t(\"powerpaste_word_import\",{processor:r,default:\"prompt\"}),t(\"powerpaste_googledocs_import\",{processor:r,default:\"prompt\"}),t(\"powerpaste_html_import\",{processor:r,default:\"clean\"}),t(\"powerpaste_clean_filtered_inline_elements\",{processor:\"string[]\",default:[]}),e.options.isRegistered(\"link_default_protocol\")||t(\"link_default_protocol\",{processor:\"string\",default:\"https\"})})(t),(e=>{const t=e.options.set;t(\"paste_block_drop\",!1),t(\"paste_remove_styles_if_webkit\",!1)})(t);const o=(e=>{const t=fe(Q(e)),n=fe(!1);return e.on(\"keydown\",(e=>{(e=>tinymce.util.VK.metaKeyPressed(e)&&86===e.keyCode&&e.shiftKey)(e)&&n.set(!0)})),e.on(\"PastePlainTextToggle\",(e=>{t.set(e.state)})),{reset:()=>{n.set(!1)},isText:()=>n.get()||t.get()}})(t),s=(e=>{const t=(e,t)=>m(e+\".\"+(e=>{const t=e.toLowerCase(),n={\"image/jpeg\":\"jpg\",\"image/jpg\":\"jpg\",\"image/gif\":\"gif\",\"image/png\":\"png\",\"image/apng\":\"apng\",\"image/avif\":\"avif\",\"image/svg+xml\":\"svg\",\"image/webp\":\"webp\",\"image/bmp\":\"bmp\",\"image/tiff\":\"tiff\"};return ze(n,t)?n[t]:\"dat\"})(t)),n=(n,r,o,s)=>kr((a=>{fi(r).then((r=>{e.editorUpload.blobCache.add({id:m(n),name:m(n),filename:t(n,r.type),blob:m(r),base64:m(o.split(\",\")[1]),blobUri:m(s),uri:m(void 0)}),a(r)}))}));return{importImages:e=>{const t=R(e,(e=>Dc.cata(e,((e,t,r)=>{const o=gi(t);return[n(e,t,o,r)]}),m([]))));return wr(t)},uploadImages:()=>{e.uploadImages()},getLocalURL:(e,t,n)=>gi(t)}})(t),a=(e=>{const t=sc(Yp),n=(e=>({sanitizeHtml:g(af,e),sanitizeText:p}))(e);return{sanitizeText:t.sanitizeText,sanitizeHtml:(e,r)=>(Yp(e)?n:t).sanitizeHtml(e,r)}})(t);t.on(\"PreInit\",(()=>{if(t.removed)return;const i=sf(t,o,r,e,a,s);((e,t)=>{e.addCommand(\"mceInsertClipboardContent\",((e,r)=>{n(r.html)?t.pasteHtml(r.html):n(r.text)&&t.pasteText(r.text)}))})(t,i),((e,t)=>{e.on(\"paste\",(e=>{e.isDefaultPrevented()||(e=>{var t,n;const r=null!==(n=null===(t=e.clipboardData)||void 0===t?void 0:t.items)&&void 0!==n?n:[],o=L(r,(e=>$(e.type,\"image/\")));return o.length>0&&o.length===r.length})(e)||t.pasteEvent(e)}))})(t,i),ae(t)?(e=>{lf(e,e.getBody()),e.inline||lf(e,e.getDoc())})(t):uf(t,0,i,s)}))})(undefined))}();/* !\n * Tiny PowerPaste plugin\n *\n * Copyright (c) 2023 Ephox Corporation DBA Tiny Technologies, Inc.\n * Licensed under the Tiny commercial license. See https://www.tiny.cloud/legal/\n *\n * Version: 6.2.4-639\n */\n\n// Generated by js_of_ocaml 4.0.0\n(function(a){typeof\nglobalThis!==\"object\"&&(this?b():(a.defineProperty(a.prototype,\"_T_\",{configurable:true,get:b}),_T_));function\nb(){var\nb=this||self;b.globalThis=b;delete\na.prototype._T_}}(Object));(function(x){\"use strict\";var\njI=\"q\",f8=\"i\",aU=\"img\",i3=\"Invalid_argument\",d7=\"Map.bal\",i2=\"@[\",i1=\"%ni\",jH=\"data-text-indent-alt\",c0=\"th\",bb=\"!\",i0=\"align\",jG=\"applewebkit\",b5=\"label\",bt=\"col\",ag=0xff,cc=\"title\",fI=\"del\",l=-579472809,cZ=\"font\",iZ=\"strike\",X=\"contents\",cK=\"height\",iY=\"abbr\",af=\"0\",f7=\"samp\",c=-841728391,R=698996132,cY=128,iX=\"Sys_blocked_io\",aT=\"p\",cX=\"start\",jF=\"fd \",iW=\"normal\",ba=\"form\",A=248,f6=\"DeltaViewInsertion\",f5=\"var\",f4=\" {\\n\",cW=\">\",jE=1027,f3=\"em\",aC=0xFF,ei=\"caption\",ao=246,bI=\"td\",bs=\"object\",iV=\"%u\",fH=\"[endif]\",cV=\"noscript\",jD=\"error\",a$=\"table\",cH=\"tbody\",cI=127,cJ=1024,ap=\"script\",iU=\"@{\",f1=\"1\",f2=\"e\",fG=\" : flags Open_rdonly and Open_wronly are not compatible\",jC=\"mso-list\",eh=\"button\",cU=\"h1\",br=\"-\",f0=\": Not a directory\",fF=\" : file already exists\",fZ=\"b\",a7=0xffffff,iT=\"startfragment\",fE=\"strong\",jB=\"Out_of_memory\",eg=\"big\",$=\"ul\",jA=\": closedir failed\",fY=\"index out of bounds\",d6=\"select\",at=\"tr\",ef=\"_bigarr02\",ee=\"@\",iR=\", characters \",iS=0x7F,cb=\"isindex\",aV=0xffff,d5=\"basefont\",iP=\"wordimport.js\",d4=\"none\",iQ=12520,d3=\"small\",jz=\"infinity\",aa=\"li\",d2=\"menu\",cG=1000,e=\"\",cT=\"sub\",iO=\"^\",ca=749117977,bq=0x3f,bC=\"link\",iN=\"src\",ed=\"frame\",iM=\"Match_failure\",jy=\"mso-element\",cS=\"html\",ec=\"iframe\",eb=252,an=0x00,iL=\" : is a directory\",bu=\".\",b4=\"+\",jw=\"safari\",fX=\"tt\",jx=0xf0,jv=\"<![endif]\",b3=\"param\",bH=\"width\",iK=\"%li\",ju=\"map\",bG=\"fieldset\",bB=\"a\",iJ=65536,fW=-32,fD=\")\",d1=\"legend\",bA=-810056052,fC=\"nan\",jt=\"list-style-type\",js=\"closedir\",d0=\"applet\",iI=0xe0,iH=0xdfff,b2=\"div\",aS=\"/\",jr=\"Assert_failure\",dZ=\"s\",bp=\"meta\",fB=\"ENOTDIR\",fA=1073741823,j=870530776,b1=\"dl\",bo=250,b$=\"frameset\",cR=\"blockquote\",ea=\",\",bF='\"',iG=\"function\",fz=1255,fV=\"<\",jq=\"Fatal error: exception %s\\n\",b0=255,jp=0x800,fy=\"jsError\",aR=0x8000,aK=256,aE=\"style\",fx=\"\\n}\",iF=\"End_of_file\",jo=\"text-align\",dY=\"center\",jn=\"data-main\",fw=\"Failure\",iE=\"data-converted-paragraph\",v=50834029,fv=\"code\",fU=\"ENOENT\",iD=\".5pt\",fu=\"dfn\",jm=\"([^/]+)\",fT=0xf,iB=-48,iC=0xdc00,jl=\"ENOTEMPTY\",ft=\"EBADF\",iA=\"data-list-level\",N=\"camlinternalFormat.ml\",jk=\"Division_by_zero\",jj=\"<\\/\",iz=\"Sys_error\",fs=\"cite\",b_=\"noframes\",W=\"ol\",ji=\": \",iy=\"EEXIST\",fS=\"%d\",ix=\"Printexc.handle_uncaught_exception\",d$=\"optgroup\",fr=\"kbd\",jg=\"'\",jh=\"buffer.ml\",cQ=\"h5\",dX=\"int_of_string\",dW=\"dt\",iw=\"display\",iu=120,iv=103,d_=\"colgroup\",cF=\"h6\",a_=\"head\",cP=\"h3\",it=512,jf=\"br\",is=0x7ff0,b9=\"data-list-id\",a9=\"body\",dV=\"u\",ir=\"0x\",dU=\"\\n\",cE=\"h2\",d9=254,iq=\"bdo\",fR=100,cO=\"pre\",io=\"%Li\",ip=\": file descriptor already closed\",fQ=\" : flags Open_text and Open_binary are not compatible\",dT=\"area\",je=\"Safari\",cN=\"tfoot\",dS=\"input\",bz=\"span\",fq=3257036,a8=-804212868,cD=\"thead\",fP=17731,im=\"lexing: empty token\",fO=\"Unix.Unix_error\",by=\"--\",jd=\"&nbsp;\",fp=\"mkdir\",jc=\"Stack_overflow\",fo=\"v:shape\",cC=\"address\",dR=\": No such file or directory\",ja=\"border\",jb=\"/static/\",i$=-97,i9=\"tab-interval\",i_=\"Not_found\",i8=\"chrome\",cM=\"dd\",fn=\"ins\",cB=\", \",i=781665294,il=0xFE,fN=\"rmdir\",bE=\"dir\",fm=\"data-list-type\",bn=\"class\",i7=1026,i6=\"Chromium\",cL=\"sup\",fM=\"?\",dQ=\"list-style\",ik=\"Pervasives.do_at_exit\",ae=\" \",fL=\"Fatal error: exception \",aD=0x80,ij=\"Undefined_recursive_module\",b8=\"base\",bD=\":\",i5=\"\\xc2\\xa0\",b7=\"option\",b6=\"hr\",ii=\"cleanDocument\",cA=\"h4\",o=-936778451,dP=\"Set.bal\",i4=\"_\",fK=\"compare: functional value\",ih=\"%i\",d8=\"true\",dO=\"textarea\",fJ=\"acronym\";function\nzB(d,b,e,c,f){if(c<=b)for(var\na=1;a<=f;a++)e[c+a]=d[b+a];else\nfor(var\na=f;a>=1;a--)e[c+a]=d[b+a];return 0}function\nzC(e,f,d){var\na=new\nArray(d+1);a[0]=0;for(var\nb=1,c=f+1;b<=d;b++,c++)a[b]=e[c];return a}function\nc_(c,b,a){var\nd=String.fromCharCode;if(b==0&&a<=4096&&a==c.length)return d.apply(null,c);var\nf=e;for(;0<a;b+=cJ,a-=cJ)f+=d.apply(null,c.slice(b,b+Math.min(a,cJ)));return f}function\nek(b){var\nc=new\nUint8Array(b.l),e=b.c,d=e.length,a=0;for(;a<d;a++)c[a]=e.charCodeAt(a);for(d=b.l;a<d;a++)c[a]=0;b.c=c;b.t=4;return c}function\nbc(d,e,b,f,c){if(c==0)return 0;if(f==0&&(c>=b.l||b.t==2&&c>=b.c.length)){b.c=d.t==4?c_(d.c,e,c):e==0&&d.c.length==c?d.c:d.c.substr(e,c);b.t=b.c.length==b.l?0:2}else\nif(b.t==2&&f==b.c.length){b.c+=d.t==4?c_(d.c,e,c):e==0&&d.c.length==c?d.c:d.c.substr(e,c);b.t=b.c.length==b.l?0:2}else{if(b.t!=4)ek(b);var\ng=d.c,h=b.c;if(d.t==4)if(f<=e)for(var\na=0;a<c;a++)h[f+a]=g[e+a];else\nfor(var\na=c-1;a>=0;a--)h[f+a]=g[e+a];else{var\ni=Math.min(c,g.length-e);for(var\na=0;a<i;a++)h[f+a]=g.charCodeAt(e+a);for(;a<c;a++)h[f+a]=0}}return 0}function\nau(a){return a}function\nbd(a,b,c,d,e){bc(au(a),b,c,d,e);return 0}function\ncf(b,a){if(b==0)return e;if(a.repeat)return a.repeat(b);var\nd=e,c=0;for(;;){if(b&1)d+=a;b>>=1;if(b==0)return d;a+=a;c++;if(c==9)a.slice(0,1)}}function\nbM(a){if(a.t==2)a.c+=cf(a.l-a.c.length,\"\\0\");else\na.c=c_(a.c,0,a.c.length);a.t=0}function\njS(a,b){if(a===b)return 1;a.t&6&&bM(a);b.t&6&&bM(b);return a.c==b.c?1:0}function\nAo(b,a){throw[0,b,a]}function\nkd(a){if(a.length<24){for(var\nb=0;b<a.length;b++)if(a.charCodeAt(b)>cI)return false;return true}else\nreturn!/[^\\x00-\\x7f]/.test(a)}function\nAx(f){for(var\nk=e,c=e,h,g,i,a,b=0,j=f.length;b<j;b++){g=f.charCodeAt(b);if(g<aD){for(var\nd=b+1;d<j&&(g=f.charCodeAt(d))<aD;d++);if(d-b>it){c.substr(0,1);k+=c;c=e;k+=f.slice(b,d)}else\nc+=f.slice(b,d);if(d==j)break;b=d}a=1;if(++b<j&&((i=f.charCodeAt(b))&-64)==cY){h=i+(g<<6);if(g<iI){a=h-0x3080;if(a<aD)a=1}else{a=2;if(++b<j&&((i=f.charCodeAt(b))&-64)==cY){h=i+(h<<6);if(g<jx){a=h-0xe2080;if(a<jp||a>=0xd7ff&&a<0xe000)a=2}else{a=3;if(++b<j&&((i=f.charCodeAt(b))&-64)==cY&&g<0xf5){a=i-0x3c82080+(h<<6);if(a<0x10000||a>0x10ffff)a=3}}}}}if(a<4){b-=a;c+=\"\\ufffd\"}else\nif(a>aV)c+=String.fromCharCode(0xd7c0+(a>>10),iC+(a&0x3FF));else\nc+=String.fromCharCode(a);if(c.length>cJ){c.substr(0,1);k+=c;c=e}}return k+c}function\naW(c,a,b){this.t=c;this.c=a;this.l=b}aW.prototype.toString=function(){switch(this.t){case\n9:return this.c;default:bM(this);case\n0:if(kd(this.c)){this.t=9;return this.c}this.t=8;case\n8:return this.c}};aW.prototype.toUtf16=function(){var\na=this.toString();if(this.t==9)return a;return Ax(a)};aW.prototype.slice=function(){var\na=this.t==4?this.c.slice():this.c;return new\naW(this.t,a,this.l)};function\njT(a){return new\naW(0,a,a.length)}function\na(a){return jT(a)}function\ngn(c,b){Ao(c,a(b))}var\naG=[0];function\nL(a){gn(aG.Invalid_argument,a)}function\njQ(){L(fY)}function\nbL(a,b){switch(a.t&6){default:if(b>=a.c.length)return 0;case\n0:return a.c.charCodeAt(b);case\n4:return a.c[b]}}function\nbK(b,a){if(a>>>0>=b.l)jQ();return bL(b,a)}function\nH(a,c,b){b&=ag;if(a.t!=4){if(c==a.c.length){a.c+=String.fromCharCode(b);if(c+1==a.l)a.t=0;return 0}ek(a)}a.c[c]=b;return 0}function\naL(b,a,c){if(a>>>0>=b.l)jQ();return H(b,a,c)}function\naF(c,a){if(c.fun)return aF(c.fun,a);if(typeof\nc!==\"function\")return c;var\nb=c.length|0;if(b===0)return c.apply(null,a);var\ne=a.length|0,d=b-e|0;if(d==0)return c.apply(null,a);else\nif(d<0)return aF(c.apply(null,a.slice(0,b)),a.slice(b));else\nreturn function(){var\ne=arguments.length==0?1:arguments.length,d=new\nArray(a.length+e);for(var\nb=0;b<a.length;b++)d[b]=a[b];for(var\nb=0;b<arguments.length;b++)d[a.length+b]=arguments[b];return aF(c,d)}}function\nc2(){L(fY)}function\nw(a,b){if(b>>>0>=a.length-1)c2();return a}function\nzG(a){if(isFinite(a)){if(Math.abs(a)>=2.2250738585072014e-308)return 0;if(a!=0)return 1;return 2}return isNaN(a)?4:3}function\naw(a){a.t&6&&bM(a);return a.c}var\nAA=Math.log2&&Math.log2(1.1235582092889474E+307)==1020;function\nAz(a){if(AA)return Math.floor(Math.log2(a));var\nb=0;if(a==0)return-Infinity;if(a>=1)while(a>=2){a/=2;b++}else\nwhile(a<1){a*=2;b--}return b}function\ngf(c){var\na=new\nFloat32Array(1);a[0]=c;var\nb=new\nInt32Array(a.buffer);return b[0]|0}var\njZ=Math.pow(2,-24);function\nj9(a){throw a}function\ngo(){j9(aG.Division_by_zero)}function\nm(b,c,a){this.lo=b&a7;this.mi=c&a7;this.hi=a&aV}m.prototype.caml_custom=\"_j\";m.prototype.copy=function(){return new\nm(this.lo,this.mi,this.hi)};m.prototype.ucompare=function(a){if(this.hi>a.hi)return 1;if(this.hi<a.hi)return-1;if(this.mi>a.mi)return 1;if(this.mi<a.mi)return-1;if(this.lo>a.lo)return 1;if(this.lo<a.lo)return-1;return 0};m.prototype.compare=function(a){var\nb=this.hi<<16,c=a.hi<<16;if(b>c)return 1;if(b<c)return-1;if(this.mi>a.mi)return 1;if(this.mi<a.mi)return-1;if(this.lo>a.lo)return 1;if(this.lo<a.lo)return-1;return 0};m.prototype.neg=function(){var\na=-this.lo,b=-this.mi+(a>>24),c=-this.hi+(b>>24);return new\nm(a,b,c)};m.prototype.add=function(a){var\nb=this.lo+a.lo,c=this.mi+a.mi+(b>>24),d=this.hi+a.hi+(c>>24);return new\nm(b,c,d)};m.prototype.sub=function(a){var\nb=this.lo-a.lo,c=this.mi-a.mi+(b>>24),d=this.hi-a.hi+(c>>24);return new\nm(b,c,d)};m.prototype.mul=function(a){var\nb=this.lo*a.lo,c=(b*jZ|0)+this.mi*a.lo+this.lo*a.mi,d=(c*jZ|0)+this.hi*a.lo+this.mi*a.mi+this.lo*a.hi;return new\nm(b,c,d)};m.prototype.isZero=function(){return(this.lo|this.mi|this.hi)==0};m.prototype.isNeg=function(){return this.hi<<16<0};m.prototype.and=function(a){return new\nm(this.lo&a.lo,this.mi&a.mi,this.hi&a.hi)};m.prototype.or=function(a){return new\nm(this.lo|a.lo,this.mi|a.mi,this.hi|a.hi)};m.prototype.xor=function(a){return new\nm(this.lo^a.lo,this.mi^a.mi,this.hi^a.hi)};m.prototype.shift_left=function(a){a=a&63;if(a==0)return this;if(a<24)return new\nm(this.lo<<a,this.mi<<a|this.lo>>24-a,this.hi<<a|this.mi>>24-a);if(a<48)return new\nm(0,this.lo<<a-24,this.mi<<a-24|this.lo>>48-a);return new\nm(0,0,this.lo<<a-48)};m.prototype.shift_right_unsigned=function(a){a=a&63;if(a==0)return this;if(a<24)return new\nm(this.lo>>a|this.mi<<24-a,this.mi>>a|this.hi<<24-a,this.hi>>a);if(a<48)return new\nm(this.mi>>a-24|this.hi<<48-a,this.hi>>a-24,0);return new\nm(this.hi>>a-48,0,0)};m.prototype.shift_right=function(a){a=a&63;if(a==0)return this;var\nc=this.hi<<16>>16;if(a<24)return new\nm(this.lo>>a|this.mi<<24-a,this.mi>>a|c<<24-a,this.hi<<16>>a>>>16);var\nb=this.hi<<16>>31;if(a<48)return new\nm(this.mi>>a-24|this.hi<<48-a,this.hi<<16>>a-24>>16,b&aV);return new\nm(this.hi<<16>>a-32,b,b)};m.prototype.lsl1=function(){this.hi=this.hi<<1|this.mi>>23;this.mi=(this.mi<<1|this.lo>>23)&a7;this.lo=this.lo<<1&a7};m.prototype.lsr1=function(){this.lo=(this.lo>>>1|this.mi<<23)&a7;this.mi=(this.mi>>>1|this.hi<<23)&a7;this.hi=this.hi>>>1};m.prototype.udivmod=function(e){var\nc=0,b=this.copy(),a=e.copy(),d=new\nm(0,0,0);while(b.ucompare(a)>0){c++;a.lsl1()}while(c>=0){c--;d.lsl1();if(b.ucompare(a)>=0){d.lo++;b=b.sub(a)}a.lsr1()}return{quotient:d,modulus:b}};m.prototype.div=function(a){var\nb=this;if(a.isZero())go();var\nd=b.hi^a.hi;if(b.hi&aR)b=b.neg();if(a.hi&aR)a=a.neg();var\nc=b.udivmod(a).quotient;if(d&aR)c=c.neg();return c};m.prototype.mod=function(b){var\na=this;if(b.isZero())go();var\nd=a.hi;if(a.hi&aR)a=a.neg();if(b.hi&aR)b=b.neg();var\nc=a.udivmod(b).modulus;if(d&aR)c=c.neg();return c};m.prototype.toInt=function(){return this.lo|this.mi<<24};m.prototype.toFloat=function(){return(this.hi<<16)*Math.pow(2,32)+this.mi*Math.pow(2,24)+this.lo};m.prototype.toArray=function(){return[this.hi>>8,this.hi&ag,this.mi>>16,this.mi>>8&ag,this.mi&ag,this.lo>>16,this.lo>>8&ag,this.lo&ag]};m.prototype.lo32=function(){return this.lo|(this.mi&ag)<<24};m.prototype.hi32=function(){return this.mi>>>8&aV|this.hi<<16};function\nen(b,c,a){return new\nm(b,c,a)}function\nem(a){if(!isFinite(a)){if(isNaN(a))return en(1,0,is);return a>0?en(0,0,is):en(0,0,0xfff0)}var\nf=a==0&&1/a==-Infinity?aR:a>=0?0:aR;if(f)a=-a;var\nb=Az(a)+1023;if(b<=0){b=0;a/=Math.pow(2,-i7)}else{a/=Math.pow(2,b-jE);if(a<16){a*=2;b-=1}if(b==0)a/=2}var\nd=Math.pow(2,24),c=a|0;a=(a-c)*d;var\ne=a|0;a=(a-e)*d;var\ng=a|0;c=c&fT|f|b<<4;return en(g,e,c)}function\nc6(a){return a.toArray()}function\njP(c,b,g){c.write(32,b.dims.length);c.write(32,b.kind|b.layout<<8);if(b.caml_custom==ef)for(var\na=0;a<b.dims.length;a++)if(b.dims[a]<aV)c.write(16,b.dims[a]);else{c.write(16,aV);c.write(32,0);c.write(32,b.dims[a])}else\nfor(var\na=0;a<b.dims.length;a++)c.write(32,b.dims[a]);switch(b.kind){case\n2:case\n3:case\n12:for(var\na=0;a<b.data.length;a++)c.write(8,b.data[a]);break;case\n4:case\n5:for(var\na=0;a<b.data.length;a++)c.write(16,b.data[a]);break;case\n6:for(var\na=0;a<b.data.length;a++)c.write(32,b.data[a]);break;case\n8:case\n9:c.write(8,0);for(var\na=0;a<b.data.length;a++)c.write(32,b.data[a]);break;case\n7:for(var\na=0;a<b.data.length/2;a++){var\ne=c6(b.get(a));for(var\nd=0;d<8;d++)c.write(8,e[d])}break;case\n1:for(var\na=0;a<b.data.length;a++){var\ne=c6(em(b.get(a)));for(var\nd=0;d<8;d++)c.write(8,e[d])}break;case\n0:for(var\na=0;a<b.data.length;a++){var\ne=gf(b.get(a));c.write(32,e)}break;case\n10:for(var\na=0;a<b.data.length/2;a++){var\nd=b.get(a);c.write(32,gf(d[1]));c.write(32,gf(d[2]))}break;case\n11:for(var\na=0;a<b.data.length/2;a++){var\nf=b.get(a),e=c6(em(f[1]));for(var\nd=0;d<8;d++)c.write(8,e[d]);var\ne=c6(em(f[2]));for(var\nd=0;d<8;d++)c.write(8,e[d])}break}g[0]=(4+b.dims.length)*4;g[1]=(4+b.dims.length)*8}function\njN(a){switch(a){case\n7:case\n10:case\n11:return 2;default:return 1}}function\nzD(b,d){var\na;switch(b){case\n0:a=Float32Array;break;case\n1:a=Float64Array;break;case\n2:a=Int8Array;break;case\n3:a=Uint8Array;break;case\n4:a=Int16Array;break;case\n5:a=Uint16Array;break;case\n6:a=Int32Array;break;case\n7:a=Int32Array;break;case\n8:a=Int32Array;break;case\n9:a=Int32Array;break;case\n10:a=Float32Array;break;case\n11:a=Float64Array;break;case\n12:a=Uint8Array;break}if(!a)L(\"Bigarray.create: unsupported kind\");var\nc=new\na(d*jN(b));return c}function\ngg(c){var\na=new\nInt32Array(1);a[0]=c;var\nb=new\nFloat32Array(a.buffer);return b[0]}function\nc5(a){return new\nm(a[7]<<0|a[6]<<8|a[5]<<16,a[4]<<0|a[3]<<8|a[2]<<16,a[1]<<0|a[0]<<8)}function\ngh(d){var\nf=d.lo,g=d.mi,b=d.hi,c=(b&0x7fff)>>4;if(c==2047)return(f|g|b&fT)==0?b&aR?-Infinity:Infinity:NaN;var\ne=Math.pow(2,-24),a=(f*e+g)*e+(b&fT);if(c>0){a+=16;a*=Math.pow(2,c-jE)}else\na*=Math.pow(2,-i7);if(b&aR)a=-a;return a}function\nf9(b){var\nd=b.length,c=1;for(var\na=0;a<d;a++){if(b[a]<0)L(\"Bigarray.create: negative dimension\");c=c*b[a]}return c}function\nzV(b,a){return new\nm(b&a7,b>>>24&ag|(a&aV)<<8,a>>>16&aV)}function\ngi(a){return a.hi32()}function\ngj(a){return a.lo32()}var\nzE=ef;function\nbv(c,d,b,a){this.kind=c;this.layout=d;this.dims=b;this.data=a}bv.prototype.caml_custom=zE;bv.prototype.offset=function(b){var\nc=0;if(typeof\nb===\"number\")b=[b];if(!(b\ninstanceof\nArray))L(\"bigarray.js: invalid offset\");if(this.dims.length!=b.length)L(\"Bigarray.get/set: bad number of dimensions\");if(this.layout==0)for(var\na=0;a<this.dims.length;a++){if(b[a]<0||b[a]>=this.dims[a])c2();c=c*this.dims[a]+b[a]}else\nfor(var\na=this.dims.length-1;a>=0;a--){if(b[a]<1||b[a]>this.dims[a])c2();c=c*this.dims[a]+(b[a]-1)}return c};bv.prototype.get=function(a){switch(this.kind){case\n7:var\nd=this.data[a*2+0],b=this.data[a*2+1];return zV(d,b);case\n10:case\n11:var\ne=this.data[a*2+0],c=this.data[a*2+1];return[d9,e,c];default:return this.data[a]}};bv.prototype.set=function(a,b){switch(this.kind){case\n7:this.data[a*2+0]=gj(b);this.data[a*2+1]=gi(b);break;case\n10:case\n11:this.data[a*2+0]=b[1];this.data[a*2+1]=b[2];break;default:this.data[a]=b;break}return 0};bv.prototype.fill=function(b){switch(this.kind){case\n7:var\nc=gj(b),e=gi(b);if(c==e)this.data.fill(c);else\nfor(var\na=0;a<this.data.length;a++)this.data[a]=a%2==0?c:e;break;case\n10:case\n11:var\nd=b[1],f=b[2];if(d==f)this.data.fill(d);else\nfor(var\na=0;a<this.data.length;a++)this.data[a]=a%2==0?d:f;break;default:this.data.fill(b);break}};bv.prototype.compare=function(b,g){if(this.layout!=b.layout||this.kind!=b.kind){var\ne=this.kind|this.layout<<8,f=b.kind|b.layout<<8;return f-e}if(this.dims.length!=b.dims.length)return b.dims.length-this.dims.length;for(var\na=0;a<this.dims.length;a++)if(this.dims[a]!=b.dims[a])return this.dims[a]<b.dims[a]?-1:1;switch(this.kind){case\n0:case\n1:case\n10:case\n11:var\nc,d;for(var\na=0;a<this.data.length;a++){c=this.data[a];d=b.data[a];if(c<d)return-1;if(c>d)return 1;if(c!=d){if(!g)return NaN;if(c==c)return 1;if(d==d)return-1}}break;case\n7:for(var\na=0;a<this.data.length;a+=2){if(this.data[a+1]<b.data[a+1])return-1;if(this.data[a+1]>b.data[a+1])return 1;if(this.data[a]>>>0<b.data[a]>>>0)return-1;if(this.data[a]>>>0>b.data[a]>>>0)return 1}break;case\n2:case\n3:case\n4:case\n5:case\n6:case\n8:case\n9:case\n12:for(var\na=0;a<this.data.length;a++){if(this.data[a]<b.data[a])return-1;if(this.data[a]>b.data[a])return 1}break}return 0};function\ncd(c,d,b,a){this.kind=c;this.layout=d;this.dims=b;this.data=a}cd.prototype=new\nbv();cd.prototype.offset=function(a){if(typeof\na!==\"number\")if(a\ninstanceof\nArray&&a.length==1)a=a[0];else\nL(\"Ml_Bigarray_c_1_1.offset\");if(a<0||a>=this.dims[0])c2();return a};cd.prototype.get=function(a){return this.data[a]};cd.prototype.set=function(a,b){this.data[a]=b;return 0};cd.prototype.fill=function(a){this.data.fill(a);return 0};function\njL(c,d,a,b){var\ne=jN(c);if(f9(a)*e!=b.length)L(\"length doesn't match dims\");if(d==0&&a.length==1&&e==1)return new\ncd(c,d,a,b);return new\nbv(c,d,a,b)}function\nav(b){if(!aG.Failure)aG.Failure=[A,a(fw),-3];gn(aG.Failure,b)}function\njM(b,v,r){var\ni=b.read32s();if(i<0||i>16)av(\"input_value: wrong number of bigarray dimensions\");var\np=b.read32s(),j=p&ag,o=p>>8&1,h=[];if(r==ef)for(var\na=0;a<i;a++){var\nn=b.read16u();if(n==aV){var\nt=b.read32u(),u=b.read32u();if(t!=0)av(\"input_value: bigarray dimension overflow in 32bit\");n=u}h.push(n)}else\nfor(var\na=0;a<i;a++)h.push(b.read32u());var\nd=f9(h),f=zD(j,d),g=jL(j,o,h,f);switch(j){case\n2:for(var\na=0;a<d;a++)f[a]=b.read8s();break;case\n3:case\n12:for(var\na=0;a<d;a++)f[a]=b.read8u();break;case\n4:for(var\na=0;a<d;a++)f[a]=b.read16s();break;case\n5:for(var\na=0;a<d;a++)f[a]=b.read16u();break;case\n6:for(var\na=0;a<d;a++)f[a]=b.read32s();break;case\n8:case\n9:var\ns=b.read8u();if(s)av(\"input_value: cannot read bigarray with 64-bit OCaml ints\");for(var\na=0;a<d;a++)f[a]=b.read32s();break;case\n7:var\ne=new\nArray(8);for(var\na=0;a<d;a++){for(var\nc=0;c<8;c++)e[c]=b.read8u();var\nq=c5(e);g.set(a,q)}break;case\n1:var\ne=new\nArray(8);for(var\na=0;a<d;a++){for(var\nc=0;c<8;c++)e[c]=b.read8u();var\nk=gh(c5(e));g.set(a,k)}break;case\n0:for(var\na=0;a<d;a++){var\nk=gg(b.read32s());g.set(a,k)}break;case\n10:for(var\na=0;a<d;a++){var\nm=gg(b.read32s()),l=gg(b.read32s());g.set(a,[d9,m,l])}break;case\n11:var\ne=new\nArray(8);for(var\na=0;a<d;a++){for(var\nc=0;c<8;c++)e[c]=b.read8u();var\nm=gh(c5(e));for(var\nc=0;c<8;c++)e[c]=b.read8u();var\nl=gh(c5(e));g.set(a,[d9,m,l])}break}v[0]=(4+i)*4;return jL(j,o,h,f)}function\njK(a,b,c){return a.compare(b,c)}function\nep(a,b){return Math.imul(a,b)}function\nY(b,a){a=ep(a,0xcc9e2d51|0);a=a<<15|a>>>32-15;a=ep(a,0x1b873593);b^=a;b=b<<13|b>>>32-13;return(b+(b<<2)|0)+(0xe6546b64|0)|0}function\nzQ(a,b){a=Y(a,gj(b));a=Y(a,gi(b));return a}function\ngd(a,b){return zQ(a,em(b))}function\njO(c){var\nb=f9(c.dims),d=0;switch(c.kind){case\n2:case\n3:case\n12:if(b>aK)b=aK;var\ne=0,a=0;for(a=0;a+4<=c.data.length;a+=4){e=c.data[a+0]|c.data[a+1]<<8|c.data[a+2]<<16|c.data[a+3]<<24;d=Y(d,e)}e=0;switch(b&3){case\n3:e=c.data[a+2]<<16;case\n2:e|=c.data[a+1]<<8;case\n1:e|=c.data[a+0];d=Y(d,e)}break;case\n4:case\n5:if(b>cY)b=cY;var\ne=0,a=0;for(a=0;a+2<=c.data.length;a+=2){e=c.data[a+0]|c.data[a+1]<<16;d=Y(d,e)}if((b&1)!=0)d=Y(d,c.data[a]);break;case\n6:if(b>64)b=64;for(var\na=0;a<b;a++)d=Y(d,c.data[a]);break;case\n8:case\n9:if(b>64)b=64;for(var\na=0;a<b;a++)d=Y(d,c.data[a]);break;case\n7:if(b>32)b=32;b*=2;for(var\na=0;a<b;a++)d=Y(d,c.data[a]);break;case\n10:b*=2;case\n0:if(b>64)b=64;for(var\na=0;a<b;a++)d=gd(d,c.data[a]);break;case\n11:b*=2;case\n1:if(b>32)b=32;for(var\na=0;a<b;a++)d=gd(d,c.data[a]);break}return d}function\nzT(a,b){b[0]=4;return a.read32s()}function\nAj(a,b){switch(a.read8u()){case\n1:b[0]=4;return a.read32s();case\n2:av(\"input_value: native integer value too large\");default:av(\"input_value: ill-formed native integer\")}}function\nz4(c,d){var\nb=new\nArray(8);for(var\na=0;a<8;a++)b[a]=c.read8u();d[0]=8;return c5(b)}function\nz0(e,d,b){var\nc=c6(d);for(var\na=0;a<8;a++)e.write(8,c[a]);b[0]=8;b[1]=8}function\nzU(a,b,c){return a.compare(b)}function\nzX(a){return a.lo32()^a.hi32()}var\nc4={\"_j\":{deserialize:z4,serialize:z0,fixed_length:8,compare:zU,hash:zX},\"_i\":{deserialize:zT,fixed_length:4},\"_n\":{deserialize:Aj,fixed_length:4},\"_bigarray\":{deserialize:function(a,b){return jM(a,b,\"_bigarray\")},serialize:jP,compare:jK,hash:jO},\"_bigarr02\":{deserialize:function(a,b){return jM(a,b,ef)},serialize:jP,compare:jK,hash:jO}};function\nga(a){return c4[a.caml_custom]&&c4[a.caml_custom].compare}function\njU(f,c,d,e){var\nb=ga(c);if(b){var\na=d>0?b(c,f,e):b(f,c,e);if(e&&a!=a)return d;if(+a!=+a)return+a;if((a|0)!=0)return a|0}return d}function\nc8(a){return a\ninstanceof\naW}function\neo(a){return c8(a)}function\njV(a){if(typeof\na===\"number\")return cG;else\nif(c8(a))return eb;else\nif(eo(a))return 1252;else\nif(a\ninstanceof\nArray&&a[0]===a[0]>>>0&&a[0]<=b0){var\nb=a[0]|0;return b==d9?0:b}else\nif(a\ninstanceof\nString)return iQ;else\nif(typeof\na==\"string\")return iQ;else\nif(a\ninstanceof\nNumber)return cG;else\nif(a&&a.caml_custom)return fz;else\nif(a&&a.compare)return 1256;else\nif(typeof\na==\"function\")return 1247;else\nif(typeof\na==\"symbol\")return 1251;return 1001}function\nj0(a,b){if(a<b)return-1;if(a==b)return 0;return 1}function\njR(a,b){a.t&6&&bM(a);b.t&6&&bM(b);return a.c<b.c?-1:a.c>b.c?1:0}function\nc9(a,b){return jR(a,b)}function\nf$(a,b,d){var\ne=[];for(;;){if(!(d&&a===b)){var\nf=jV(a);if(f==bo){a=a[1];continue}var\ng=jV(b);if(g==bo){b=b[1];continue}if(f!==g){if(f==cG){if(g==fz)return jU(a,b,-1,d);return-1}if(g==cG){if(f==fz)return jU(b,a,1,d);return 1}return f<g?-1:1}switch(f){case\n247:L(fK);break;case\n248:var\nc=j0(a[2],b[2]);if(c!=0)return c|0;break;case\n249:L(fK);break;case\n250:L(\"equal: got Forward_tag, should not happen\");break;case\n251:L(\"equal: abstract value\");break;case\n252:if(a!==b){var\nc=jR(a,b);if(c!=0)return c|0}break;case\n253:L(\"equal: got Double_tag, should not happen\");break;case\n254:L(\"equal: got Double_array_tag, should not happen\");break;case\n255:L(\"equal: got Custom_tag, should not happen\");break;case\n1247:L(fK);break;case\n1255:var\ni=ga(a);if(i!=ga(b))return a.caml_custom<b.caml_custom?-1:1;if(!i)L(\"compare: abstract value\");var\nc=i(a,b,d);if(c!=c)return d?-1:c;if(c!==(c|0))return-1;if(c!=0)return c|0;break;case\n1256:var\nc=a.compare(b,d);if(c!=c)return d?-1:c;if(c!==(c|0))return-1;if(c!=0)return c|0;break;case\n1000:a=+a;b=+b;if(a<b)return-1;if(a>b)return 1;if(a!=b){if(!d)return NaN;if(a==a)return 1;if(b==b)return-1}break;case\n1001:if(a<b)return-1;if(a>b)return 1;if(a!=b){if(!d)return NaN;if(a==a)return 1;if(b==b)return-1}break;case\n1251:if(a!==b){if(!d)return NaN;return 1}break;case\n1252:var\na=aw(a),b=aw(b);if(a!==b){if(a<b)return-1;if(a>b)return 1}break;case\n12520:var\na=a.toString(),b=b.toString();if(a!==b){if(a<b)return-1;if(a>b)return 1}break;case\n246:case\n254:default:if(a.length!=b.length)return a.length<b.length?-1:1;if(a.length>1)e.push(a,b,1);break}}if(e.length==0)return 0;var\nh=e.pop();b=e.pop();a=e.pop();if(h+1<a.length)e.push(a,b,h+1);a=a[h];b=b[h]}}function\nce(a,b){return f$(a,b,true)}function\nzH(){return[0]}function\nD(a){if(a<0)L(\"Bytes.create\");return new\naW(a?2:9,e,a)}function\nbN(a,b){return+(f$(a,b,false)==0)}function\nzJ(a,c,b,d){if(b>0)if(c==0&&(b>=a.l||a.t==2&&b>=a.c.length))if(d==0){a.c=e;a.t=2}else{a.c=cf(b,String.fromCharCode(d));a.t=b==a.l?0:2}else{if(a.t!=4)ek(a);for(b+=c;c<b;c++)a.c[c]=d}return 0}function\ngm(d){d=aw(d);var\ne=d.length;if(e>31)L(\"format_int: format too long\");var\na={justify:b4,signstyle:br,filler:ae,alternate:false,base:0,signedconv:false,width:0,uppercase:false,sign:1,prec:-1,conv:\"f\"};for(var\nc=0;c<e;c++){var\nb=d.charAt(c);switch(b){case\"-\":a.justify=br;break;case\"+\":case\" \":a.signstyle=b;break;case\"0\":a.filler=af;break;case\"#\":a.alternate=true;break;case\"1\":case\"2\":case\"3\":case\"4\":case\"5\":case\"6\":case\"7\":case\"8\":case\"9\":a.width=0;while(b=d.charCodeAt(c)-48,b>=0&&b<=9){a.width=a.width*10+b;c++}c--;break;case\".\":a.prec=0;c++;while(b=d.charCodeAt(c)-48,b>=0&&b<=9){a.prec=a.prec*10+b;c++}c--;case\"d\":case\"i\":a.signedconv=true;case\"u\":a.base=10;break;case\"x\":a.base=16;break;case\"X\":a.base=16;a.uppercase=true;break;case\"o\":a.base=8;break;case\"e\":case\"f\":case\"g\":a.signedconv=true;a.conv=b;break;case\"E\":case\"F\":case\"G\":a.signedconv=true;a.uppercase=true;a.conv=b.toLowerCase();break}}return a}function\ngb(b,g){if(b.uppercase)g=g.toUpperCase();var\nf=g.length;if(b.signedconv&&(b.sign<0||b.signstyle!=br))f++;if(b.alternate){if(b.base==8)f+=1;if(b.base==16)f+=2}var\nc=e;if(b.justify==b4&&b.filler==ae)for(var\nd=f;d<b.width;d++)c+=ae;if(b.signedconv)if(b.sign<0)c+=br;else\nif(b.signstyle!=br)c+=b.signstyle;if(b.alternate&&b.base==8)c+=af;if(b.alternate&&b.base==16)c+=b.uppercase?\"0X\":ir;if(b.justify==b4&&b.filler==af)for(var\nd=f;d<b.width;d++)c+=af;c+=g;if(b.justify==br)for(var\nd=f;d<b.width;d++)c+=ae;return a(c)}function\ngc(i,c){function\nj(a,b){if(Math.abs(a)<1.0)return a.toFixed(b);else{var\nc=parseInt(a.toString().split(b4)[1]);if(c>20){c-=20;a/=Math.pow(10,c);a+=new\nArray(c+1).join(af);if(b>0)a=a+bu+new\nArray(b+1).join(af);return a}else\nreturn a.toFixed(b)}}var\na,e=gm(i),d=e.prec<0?6:e.prec;if(c<0||c==0&&1/c==-Infinity){e.sign=-1;c=-c}if(isNaN(c)){a=fC;e.filler=ae}else\nif(!isFinite(c)){a=\"inf\";e.filler=ae}else\nswitch(e.conv){case\"e\":var\na=c.toExponential(d),b=a.length;if(a.charAt(b-3)==f2)a=a.slice(0,b-1)+af+a.slice(b-1);break;case\"f\":a=j(c,d);break;case\"g\":d=d?d:1;a=c.toExponential(d-1);var\nh=a.indexOf(f2),g=+a.slice(h+1);if(g<-4||c>=1e21||c.toFixed(0).length>d){var\nb=h-1;while(a.charAt(b)==af)b--;if(a.charAt(b)==bu)b--;a=a.slice(0,b+1)+a.slice(h);b=a.length;if(a.charAt(b-3)==f2)a=a.slice(0,b-1)+af+a.slice(b-1);break}else{var\nf=d;if(g<0){f-=g+1;a=c.toFixed(f)}else\nwhile(a=c.toFixed(f),a.length>d+1)f--;if(f){var\nb=a.length-1;while(a.charAt(b)==af)b--;if(a.charAt(b)==bu)b--;a=a.slice(0,b+1)}}break}return gb(e,a)}function\nel(f,c){if(aw(f)==fS)return a(e+c);var\nb=gm(f);if(c<0)if(b.signedconv){b.sign=-1;c=-c}else\nc>>>=0;var\nd=c.toString(b.base);if(b.prec>=0){b.filler=ae;var\ng=b.prec-d.length;if(g>0)d=cf(g,af)+d}return gb(b,d)}var\nj7=0;function\nbe(){return j7++}function\ngk(a){return a.toUtf16()}function\nda(){return false}function\nAB(){function\na(a){if(a.charAt(0)===aS)return[e,a.substring(1)];return}function\nb(c){var\nh=/^([a-zA-Z]:|[\\\\/]{2}[^\\\\/]+[\\\\/]+[^\\\\/]+)?([\\\\/])?([\\s\\S]*?)$/,a=h.exec(c),b=a[1]||e,f=Boolean(b&&b.charAt(1)!==bD);if(Boolean(a[2]||f)){var\nd=a[1]||e,g=a[2]||e;return[d,c.substring(d.length+g.length)]}return}return da()&&x.process&&x.process.platform?x.process.platform===\"win32\"?b:a:a}var\ngq=AB();function\nkb(a){return a.slice(-1)!==aS?a+aS:a}if(da()&&x.process&&x.process.cwd)var\nc3=x.process.cwd().replace(/\\\\/g,aS);else\nvar\nc3=\"/static\";c3=kb(c3);function\nAa(a){a=gk(a);if(!gq(a))a=c3+a;var\ne=gq(a),d=e[1].split(aS),b=[];for(var\nc=0;c<d.length;c++)switch(d[c]){case\"..\":if(b.length>1)b.pop();break;case\".\":break;case\"\":break;default:b.push(d[c]);break}b.unshift(e[0]);b.orig=a;return b}function\nAy(f){for(var\ng=e,b=g,a,i,c=0,h=f.length;c<h;c++){a=f.charCodeAt(c);if(a<aD){for(var\nd=c+1;d<h&&(a=f.charCodeAt(d))<aD;d++);if(d-c>it){b.substr(0,1);g+=b;b=e;g+=f.slice(c,d)}else\nb+=f.slice(c,d);if(d==h)break;c=d}if(a<jp){b+=String.fromCharCode(0xc0|a>>6);b+=String.fromCharCode(aD|a&bq)}else\nif(a<0xd800||a>=iH)b+=String.fromCharCode(iI|a>>12,aD|a>>6&bq,aD|a&bq);else\nif(a>=0xdbff||c+1==h||(i=f.charCodeAt(c+1))<iC||i>iH)b+=\"\\xef\\xbf\\xbd\";else{c++;a=(a<<10)+i-0x35fdc00;b+=String.fromCharCode(jx|a>>18,aD|a>>12&bq,aD|a>>6&bq,aD|a&bq)}if(b.length>cJ){b.substr(0,1);g+=b;b=e}}return g+b}function\nzF(a){var\nb=9;if(!kd(a))b=8,a=Ay(a);return new\naW(b,a,a.length)}function\nai(a){return zF(a)}var\nAE=[\"E2BIG\",\"EACCES\",\"EAGAIN\",ft,\"EBUSY\",\"ECHILD\",\"EDEADLK\",\"EDOM\",iy,\"EFAULT\",\"EFBIG\",\"EINTR\",\"EINVAL\",\"EIO\",\"EISDIR\",\"EMFILE\",\"EMLINK\",\"ENAMETOOLONG\",\"ENFILE\",\"ENODEV\",fU,\"ENOEXEC\",\"ENOLCK\",\"ENOMEM\",\"ENOSPC\",\"ENOSYS\",fB,jl,\"ENOTTY\",\"ENXIO\",\"EPERM\",\"EPIPE\",\"ERANGE\",\"EROFS\",\"ESPIPE\",\"ESRCH\",\"EXDEV\",\"EWOULDBLOCK\",\"EINPROGRESS\",\"EALREADY\",\"ENOTSOCK\",\"EDESTADDRREQ\",\"EMSGSIZE\",\"EPROTOTYPE\",\"ENOPROTOOPT\",\"EPROTONOSUPPORT\",\"ESOCKTNOSUPPORT\",\"EOPNOTSUPP\",\"EPFNOSUPPORT\",\"EAFNOSUPPORT\",\"EADDRINUSE\",\"EADDRNOTAVAIL\",\"ENETDOWN\",\"ENETUNREACH\",\"ENETRESET\",\"ECONNABORTED\",\"ECONNRESET\",\"ENOBUFS\",\"EISCONN\",\"ENOTCONN\",\"ESHUTDOWN\",\"ETOOMANYREFS\",\"ETIMEDOUT\",\"ECONNREFUSED\",\"EHOSTDOWN\",\"EHOSTUNREACH\",\"ELOOP\",\"EOVERFLOW\"];function\nbx(d,g,f,a){var\nb=AE.indexOf(d);if(b<0){if(a==null)a=-9999;b=[0,a]}var\nc=[b,ai(g||e),ai(f||e)];return c}var\nj5={};function\nbP(a){return j5[a]}function\nbw(b,a){throw[0,b].concat(a)}function\nf_(a){if(!(a\ninstanceof\nUint8Array))a=new\nUint8Array(a);return new\naW(4,a,a.length)}function\nr(a){gn(aG.Sys_error,a)}function\nj_(a){r(a+dR)}function\nc$(a){if(a.t!=4)ek(a);return a.c}function\nax(a){return a.l}function\nzx(){}function\nab(a){this.data=a}ab.prototype=new\nzx();ab.prototype.constructor=ab;ab.prototype.truncate=function(a){var\nb=this.data;this.data=D(a|0);bc(b,0,this.data,0,a)};ab.prototype.length=function(){return ax(this.data)};ab.prototype.write=function(b,d,g,a){var\nc=this.length();if(b+a>=c){var\ne=D(b+a),f=this.data;this.data=e;bc(f,0,this.data,0,c)}bc(f_(d),g,this.data,b,a);return 0};ab.prototype.read=function(b,e,f,a){var\nc=this.length();if(b+a>=c)a=c-b;if(a){var\nd=D(a|0);bc(this.data,b,d,0,a);e.set(c$(d),f)}return a};function\nbJ(c,a,b){this.file=a;this.name=c;this.flags=b}bJ.prototype.err_closed=function(){r(this.name+ip)};bJ.prototype.length=function(){if(this.file)return this.file.length();this.err_closed()};bJ.prototype.write=function(c,a,d,b){if(this.file)return this.file.write(c,a,d,b);this.err_closed()};bJ.prototype.read=function(c,a,d,b){if(this.file)return this.file.read(c,a,d,b);this.err_closed()};bJ.prototype.close=function(){this.file=undefined};function\nU(b,a){this.content={};this.root=b;this.lookupFun=a}U.prototype.nm=function(a){return this.root+a};U.prototype.create_dir_if_needed=function(d){var\nc=d.split(aS),b=e;for(var\na=0;a<c.length-1;a++){b+=c[a]+aS;if(this.content[b])continue;this.content[b]=Symbol(\"directory\")}};U.prototype.slash=function(a){return/\\/$/.test(a)?a:a+aS};U.prototype.lookup=function(b){if(!this.content[b]&&this.lookupFun){var\nc=this.lookupFun(a(this.root),a(b));if(c!==0){this.create_dir_if_needed(b);this.content[b]=new\nab(au(c[1]))}}};U.prototype.exists=function(a){if(a==e)return 1;var\nb=this.slash(a);if(this.content[b])return 1;this.lookup(a);return this.content[a]?1:0};U.prototype.mkdir=function(c,f,d){var\nb=d&&bP(fO);if(this.exists(c))if(b)bw(b,bx(iy,fp,this.nm(c)));else\nr(c+\": File exists\");var\na=/^(.*)\\/[^/]+/.exec(c);a=a&&a[1]||e;if(!this.exists(a))if(b)bw(b,bx(fU,fp,this.nm(a)));else\nr(a+dR);if(!this.is_dir(a))if(b)bw(b,bx(fB,fp,this.nm(a)));else\nr(a+f0);this.create_dir_if_needed(this.slash(c))};U.prototype.rmdir=function(a,g){var\nb=g&&bP(fO),c=a==e?e:this.slash(a),f=new\nRegExp(iO+c+jm);if(!this.exists(a))if(b)bw(b,bx(fU,fN,this.nm(a)));else\nr(a+dR);if(!this.is_dir(a))if(b)bw(b,bx(fB,fN,this.nm(a)));else\nr(a+f0);for(var\nd\nin\nthis.content)if(d.match(f))if(b)bw(b,bx(jl,fN,this.nm(a)));else\nr(this.nm(a)+\": Directory not empty\");delete\nthis.content[c]};U.prototype.readdir=function(a){var\ng=a==e?e:this.slash(a);if(!this.exists(a))r(a+dR);if(!this.is_dir(a))r(a+f0);var\nh=new\nRegExp(iO+g+jm),d={},c=[];for(var\nf\nin\nthis.content){var\nb=f.match(h);if(b&&!d[b[1]]){d[b[1]]=true;c.push(b[1])}}return c};U.prototype.opendir=function(a,f){var\nb=f&&bP(fO),c=this.readdir(a),d=false,e=0;return{readSync:function(){if(d)if(b)bw(b,bx(ft,js,this.nm(a)));else\nr(a+jA);if(e==c.length)return null;var\nf=c[e];e++;return{name:f}},closeSync:function(){if(d)if(b)bw(b,bx(ft,js,this.nm(a)));else\nr(a+jA);d=true;c=[]}}};U.prototype.is_dir=function(a){if(a==e)return true;var\nb=this.slash(a);return this.content[b]?1:0};U.prototype.unlink=function(a){var\nb=this.content[a]?true:false;delete\nthis.content[a];return b};U.prototype.open=function(a,b){var\nc;if(b.rdonly&&b.wronly)r(this.nm(a)+fG);if(b.text&&b.binary)r(this.nm(a)+fQ);this.lookup(a);if(this.content[a]){if(this.is_dir(a))r(this.nm(a)+iL);if(b.create&&b.excl)r(this.nm(a)+fF);c=this.content[a];if(b.truncate)c.truncate()}else\nif(b.create){this.create_dir_if_needed(a);this.content[a]=new\nab(D(0));c=this.content[a]}else\nj_(this.nm(a));return new\nbJ(this.nm(a),c,b)};U.prototype.open=function(a,b){var\nc;if(b.rdonly&&b.wronly)r(this.nm(a)+fG);if(b.text&&b.binary)r(this.nm(a)+fQ);this.lookup(a);if(this.content[a]){if(this.is_dir(a))r(this.nm(a)+iL);if(b.create&&b.excl)r(this.nm(a)+fF);c=this.content[a];if(b.truncate)c.truncate()}else\nif(b.create){this.create_dir_if_needed(a);this.content[a]=new\nab(D(0));c=this.content[a]}else\nj_(this.nm(a));return new\nbJ(this.nm(a),c,b)};U.prototype.register=function(c,a){var\nb;if(this.content[c])r(this.nm(c)+fF);if(c8(a))b=new\nab(a);if(eo(a))b=new\nab(au(a));else\nif(a\ninstanceof\nArray)b=new\nab(f_(a));else\nif(typeof\na===\"string\")b=new\nab(jT(a));else\nif(a.toString){var\nd=au(ai(a.toString()));b=new\nab(d)}if(b){this.create_dir_if_needed(c);this.content[c]=b}else\nr(this.nm(c)+\" : registering file with invalid content type\")};U.prototype.constructor=U;function\njJ(){}function\njY(b){var\na=gq(b);if(!a)return;return a[0]+aS}var\neq=jY(c3)||av(\"unable to compute caml_root\"),cg=[];if(da())cg.push({path:eq,device:new\njJ(eq)});else\ncg.push({path:eq,device:new\nU(eq)});cg.push({path:jb,device:new\nU(jb)});function\nke(b){var\ng=Aa(b),b=g.join(aS),f=kb(b),c;for(var\ne=0;e<cg.length;e++){var\na=cg[e];if(f.search(a.path)==0&&(!c||c.path.length<a.path.length))c={path:a.path,device:a.device,rest:b.substring(a.path.length,b.length)}}if(!c&&da()){var\nd=jY(b);if(d&&d.match(/^[a-zA-Z]:\\/$/)){var\na={path:d,device:new\njJ(d)};cg.push(a);c={path:a.path,device:a.device,rest:b.substring(a.path.length,b.length)}}}if(c)return c;r(\"no device found for \"+f)}function\nzI(c,b){var\na=ke(c);if(!a.device.register)av(\"cannot register file\");a.device.register(a.rest,b);return 0}function\nkc(c,b){var\nc=a(c),b=a(b);return zI(c,b)}function\nzL(){var\nb=x.caml_fs_tmp;if(b)for(var\na=0;a<b.length;a++)kc(b[a].name,b[a].content);x.jsoo_create_file=kc;x.caml_fs_tmp=[];return 0}function\njX(){return[0]}function\nge(d,b){var\ne=b.length,a,c;for(a=0;a+4<=e;a+=4){c=b.charCodeAt(a)|b.charCodeAt(a+1)<<8|b.charCodeAt(a+2)<<16|b.charCodeAt(a+3)<<24;d=Y(d,c)}c=0;switch(e&3){case\n3:c=b.charCodeAt(a+2)<<16;case\n2:c|=b.charCodeAt(a+1)<<8;case\n1:c|=b.charCodeAt(a);d=Y(d,c)}d^=e;return d}function\nzR(a,b){return ge(a,aw(b))}function\nzO(d,b){var\ne=b.length,a,c;for(a=0;a+4<=e;a+=4){c=b[a]|b[a+1]<<8|b[a+2]<<16|b[a+3]<<24;d=Y(d,c)}c=0;switch(e&3){case\n3:c=b[a+2]<<16;case\n2:c|=b[a+1]<<8;case\n1:c|=b[a];d=Y(d,c)}d^=e;return d}function\nAd(a){switch(a.t&6){default:bM(a);case\n0:return a.c;case\n4:return a.c}}function\nzN(b,c){var\na=Ad(c);return typeof\na===\"string\"?ge(b,a):zO(b,a)}function\nzP(a){a^=a>>>16;a=ep(a,0x85ebca6b|0);a^=a>>>13;a=ep(a,0xc2b2ae35|0);a^=a>>>16;return a}function\nzM(j,l,n,m){var\nf,g,h,d,c,b,a,e,i;d=l;if(d<0||d>aK)d=aK;c=j;b=n;f=[m];g=0;h=1;while(g<h&&c>0){a=f[g++];if(a&&a.caml_custom){if(c4[a.caml_custom]&&c4[a.caml_custom].hash){var\nk=c4[a.caml_custom].hash(a);b=Y(b,k);c--}}else\nif(a\ninstanceof\nArray&&a[0]===(a[0]|0))switch(a[0]){case\n248:b=Y(b,a[2]);c--;break;case\n250:f[--g]=a[1];break;default:var\no=a.length-1<<10|a[0];b=Y(b,o);for(e=1,i=a.length;e<i;e++){if(h>=d)break;f[h++]=a[e]}break}else\nif(c8(a)){b=zN(b,a);c--}else\nif(eo(a)){b=zR(b,a);c--}else\nif(typeof\na===\"string\"){b=ge(b,a);c--}else\nif(a===(a|0)){b=Y(b,a+a+1);c--}else\nif(a===+a){b=gd(b,a);c--}}b=zP(b);return b&0x3FFFFFFF}function\nzS(a,c,l){if(!isFinite(a)){if(isNaN(a))return ai(fC);return ai(a>0?jz:\"-infinity\")}var\nj=a==0&&1/a==-Infinity?1:a>=0?0:1;if(j)a=-a;var\nd=0;if(a==0);else\nif(a<1)while(a<1&&d>-1022){a*=2;d--}else\nwhile(a>=2){a/=2;d++}var\nk=d<0?e:b4,f=e;if(j)f=br;else\nswitch(l){case\n43:f=b4;break;case\n32:f=ae;break;default:break}if(c>=0&&c<13){var\nh=Math.pow(2,c*4);a=Math.round(a*h)/h}var\nb=a.toString(16);if(c>=0){var\ni=b.indexOf(bu);if(i<0)b+=bu+cf(c,af);else{var\ng=i+1+c;if(b.length<g)b+=cf(g-b.length,af);else\nb=b.substr(0,g)}}return ai(f+ir+b+aT+k+d.toString(10))}function\nzZ(a){return+a.isZero()}function\nz2(a){return new\nm(a&a7,a>>24&a7,a>>31&aV)}function\nz3(a){return a.toInt()}function\nzY(a){return+a.isNeg()}function\nz1(a){return a.neg()}function\nzW(h,c){var\na=gm(h);if(a.signedconv&&zY(c)){a.sign=-1;c=z1(c)}var\nb=e,i=z2(a.base),g=\"0123456789abcdef\";do{var\nf=c.udivmod(i);c=f.quotient;b=g.charAt(z3(f.modulus))+b}while(!zZ(c));if(a.prec>=0){a.filler=ae;var\nd=a.prec-b.length;if(d>0)b=cf(d,af)+b}return gb(a,b)}function\nay(b,a){return bL(b,a)}function\nk(a){return ax(a)}function\nAm(c){var\na=0,e=k(c),b=10,d=1;if(e>0)switch(ay(c,a)){case\n45:a++;d=-1;break;case\n43:a++;d=1;break}if(a+1<e&&ay(c,a)==48)switch(ay(c,a+1)){case\n120:case\n88:b=16;a+=2;break;case\n111:case\n79:b=8;a+=2;break;case\n98:case\n66:b=2;a+=2;break;case\n117:case\n85:a+=2;break}return[a,d,b]}function\nj8(a){if(a>=48&&a<=57)return a-48;if(a>=65&&a<=90)return a-55;if(a>=97&&a<=122)return a-87;return-1}function\nc7(f){var\nh=Am(f),c=h[0],i=h[1],d=h[2],g=k(f),j=-1>>>0,e=c<g?ay(f,c):0,b=j8(e);if(b<0||b>=d)av(dX);var\na=b;for(c++;c<g;c++){e=ay(f,c);if(e==95)continue;b=j8(e);if(b<0||b>=d)break;a=d*a+b;if(a>j)av(dX)}if(c!=g)av(dX);a=i*a;if(d==10&&(a|0)!=a)av(dX);return a|0}function\nz6(){var\nb=console,c=[\"log\",\"debug\",\"info\",\"warn\",jD,\"assert\",bE,\"dirxml\",\"trace\",\"group\",\"groupCollapsed\",\"groupEnd\",\"time\",\"timeEnd\"];function\nd(){}for(var\na=0;a<c.length;a++)if(!b[c[a]])b[c[a]]=d;return b}function\nz7(c){var\nd=c.length,b=new\nArray(d+1);b[0]=0;for(var\na=0;a<d;a++)b[a+1]=c[a];return b}function\nz8(d){return function(){var\nb=arguments.length;if(b>0){var\nc=new\nArray(b);for(var\na=0;a<b;a++)c[a]=arguments[a];return aF(d,c)}else\nreturn aF(d,[undefined])}}function\nz9(d){return function(){var\nc=arguments.length,b=new\nArray(c+1);b[0]=this;for(var\na=0;a<c;a++)b[a+1]=arguments[a];return aF(d,b)}}function\nah(b){b=aw(b);var\nd=b.length/2,c=new\nArray(d);for(var\na=0;a<d;a++)c[a]=(b.charCodeAt(2*a)|b.charCodeAt(2*a+1)<<8)<<16>>16;return c}function\nz_(b,t,a){var\nn=2,o=3,r=5,d=6,h=7,g=8,j=9,m=1,l=2,q=3,s=4,p=5;if(!b.lex_default){b.lex_base=ah(b[m]);b.lex_backtrk=ah(b[l]);b.lex_check=ah(b[p]);b.lex_trans=ah(b[s]);b.lex_default=ah(b[q])}var\ne,c=t,k=c$(a[n]);if(c>=0){a[h]=a[r]=a[d];a[g]=-1}else\nc=-c-1;for(;;){var\nf=b.lex_base[c];if(f<0)return-f-1;var\ni=b.lex_backtrk[c];if(i>=0){a[h]=a[d];a[g]=i}if(a[d]>=a[o])if(a[j]==0)return-c-1;else\ne=aK;else{e=k[a[d]];a[d]++}if(b.lex_check[f+e]==c)c=b.lex_trans[f+e];else\nc=b.lex_default[c];if(c<0){a[d]=a[h];if(a[g]==-1)av(im);else\nreturn a[g]}else\nif(e==aK)a[j]=0}}function\nbO(c){var\nb=0;for(var\na=c.length-1;a>=0;a--){var\nd=c[a];b=[0,d,b]}return b}function\naM(a,d){if(a<0)c2();var\na=a+1|0,b=new\nArray(a);b[0]=0;for(var\nc=1;c<a;c++)b[c]=d;return b}function\nzz(){var\na=new\nArrayBuffer(64),b=new\nUint32Array(a),c=new\nUint8Array(a);return{len:0,w:new\nUint32Array([0x67452301,0xEFCDAB89,0x98BADCFE,0x10325476]),b32:b,b8:c}}var\nej=function(){function\nk(a,b){return a+b|0}function\na(d,a,c,f,b,e){a=k(k(a,d),k(f,e));return k(a<<b|a>>>32-b,c)}function\nf(c,b,d,e,h,f,g){return a(b&d|~b&e,c,b,h,f,g)}function\ng(d,b,e,c,h,f,g){return a(b&c|e&~c,d,b,h,f,g)}function\nh(c,b,d,e,h,f,g){return a(b^d^e,c,b,h,f,g)}function\ni(c,b,d,e,h,f,g){return a(d^(b|~e),c,b,h,f,g)}return function(j,e){var\na=j[0],b=j[1],c=j[2],d=j[3];a=f(a,b,c,d,e[0],7,0xD76AA478);d=f(d,a,b,c,e[1],12,0xE8C7B756);c=f(c,d,a,b,e[2],17,0x242070DB);b=f(b,c,d,a,e[3],22,0xC1BDCEEE);a=f(a,b,c,d,e[4],7,0xF57C0FAF);d=f(d,a,b,c,e[5],12,0x4787C62A);c=f(c,d,a,b,e[6],17,0xA8304613);b=f(b,c,d,a,e[7],22,0xFD469501);a=f(a,b,c,d,e[8],7,0x698098D8);d=f(d,a,b,c,e[9],12,0x8B44F7AF);c=f(c,d,a,b,e[10],17,0xFFFF5BB1);b=f(b,c,d,a,e[11],22,0x895CD7BE);a=f(a,b,c,d,e[12],7,0x6B901122);d=f(d,a,b,c,e[13],12,0xFD987193);c=f(c,d,a,b,e[14],17,0xA679438E);b=f(b,c,d,a,e[15],22,0x49B40821);a=g(a,b,c,d,e[1],5,0xF61E2562);d=g(d,a,b,c,e[6],9,0xC040B340);c=g(c,d,a,b,e[11],14,0x265E5A51);b=g(b,c,d,a,e[0],20,0xE9B6C7AA);a=g(a,b,c,d,e[5],5,0xD62F105D);d=g(d,a,b,c,e[10],9,0x02441453);c=g(c,d,a,b,e[15],14,0xD8A1E681);b=g(b,c,d,a,e[4],20,0xE7D3FBC8);a=g(a,b,c,d,e[9],5,0x21E1CDE6);d=g(d,a,b,c,e[14],9,0xC33707D6);c=g(c,d,a,b,e[3],14,0xF4D50D87);b=g(b,c,d,a,e[8],20,0x455A14ED);a=g(a,b,c,d,e[13],5,0xA9E3E905);d=g(d,a,b,c,e[2],9,0xFCEFA3F8);c=g(c,d,a,b,e[7],14,0x676F02D9);b=g(b,c,d,a,e[12],20,0x8D2A4C8A);a=h(a,b,c,d,e[5],4,0xFFFA3942);d=h(d,a,b,c,e[8],11,0x8771F681);c=h(c,d,a,b,e[11],16,0x6D9D6122);b=h(b,c,d,a,e[14],23,0xFDE5380C);a=h(a,b,c,d,e[1],4,0xA4BEEA44);d=h(d,a,b,c,e[4],11,0x4BDECFA9);c=h(c,d,a,b,e[7],16,0xF6BB4B60);b=h(b,c,d,a,e[10],23,0xBEBFBC70);a=h(a,b,c,d,e[13],4,0x289B7EC6);d=h(d,a,b,c,e[0],11,0xEAA127FA);c=h(c,d,a,b,e[3],16,0xD4EF3085);b=h(b,c,d,a,e[6],23,0x04881D05);a=h(a,b,c,d,e[9],4,0xD9D4D039);d=h(d,a,b,c,e[12],11,0xE6DB99E5);c=h(c,d,a,b,e[15],16,0x1FA27CF8);b=h(b,c,d,a,e[2],23,0xC4AC5665);a=i(a,b,c,d,e[0],6,0xF4292244);d=i(d,a,b,c,e[7],10,0x432AFF97);c=i(c,d,a,b,e[14],15,0xAB9423A7);b=i(b,c,d,a,e[5],21,0xFC93A039);a=i(a,b,c,d,e[12],6,0x655B59C3);d=i(d,a,b,c,e[3],10,0x8F0CCC92);c=i(c,d,a,b,e[10],15,0xFFEFF47D);b=i(b,c,d,a,e[1],21,0x85845DD1);a=i(a,b,c,d,e[8],6,0x6FA87E4F);d=i(d,a,b,c,e[15],10,0xFE2CE6E0);c=i(c,d,a,b,e[6],15,0xA3014314);b=i(b,c,d,a,e[13],21,0x4E0811A1);a=i(a,b,c,d,e[4],6,0xF7537E82);d=i(d,a,b,c,e[11],10,0xBD3AF235);c=i(c,d,a,b,e[2],15,0x2AD7D2BB);b=i(b,c,d,a,e[9],21,0xEB86D391);j[0]=k(a,j[0]);j[1]=k(b,j[1]);j[2]=k(c,j[2]);j[3]=k(d,j[3])}}();function\nzA(a,e,b){var\nd=a.len&bq,c=0;a.len+=b;if(d){var\nf=64-d;if(b<f){a.b8.set(e.subarray(0,b),d);return}a.b8.set(e.subarray(0,f),d);ej(a.w,a.b32);b-=f;c+=f}while(b>=64){a.b8.set(e.subarray(c,c+64),0);ej(a.w,a.b32);b-=64;c+=64}if(b)a.b8.set(e.subarray(c,c+b),0)}function\nzy(b){var\nc=b.len&bq;b.b8[c]=aD;c++;if(c>56){for(var\na=c;a<64;a++)b.b8[a]=0;ej(b.w,b.b32);for(var\na=0;a<56;a++)b.b8[a]=0}else\nfor(var\na=c;a<56;a++)b.b8[a]=0;b.b32[14]=b.len<<3;b.b32[15]=b.len>>29&0x1FFFFFFF;ej(b.w,b.b32);var\ne=new\nUint8Array(16);for(var\nd=0;d<4;d++)for(var\na=0;a<4;a++)e[d*4+a]=b.w[d]>>8*a&aC;return e}function\nAs(b){return a(c_(b,0,b.length))}function\nAb(e,c,b){var\na=zz(),d=c$(e);zA(a,d.subarray(c,c+b),b);return As(zy(a))}function\nAc(c,b,a){return Ab(au(c),b,a)}function\nAe(){return 0}var\nbf=new\nArray();function\naX(b){var\na=bf[b];if(!a.opened)r(\"Cannot flush a closed channel\");if(!a.buffer||a.buffer_curr==0)return 0;if(a.output)a.output(c_(a.buffer,0,a.buffer_curr));else\na.file.write(a.offset,a.buffer,0,a.buffer_curr);a.offset+=a.buffer_curr;a.buffer_curr=0;return 0}function\nAu(a,b){return null}var\ner=new\nArray(3);function\nc1(a,b){ab.call(this,D(0));this.log=function(a){return 0};if(a==1&&typeof\nconsole.log==\"function\")this.log=console.log;else\nif(a==2&&typeof\nconsole.error==\"function\")this.log=console.error;else\nif(typeof\nconsole.log==\"function\")this.log=console.log;this.flags=b}c1.prototype.length=function(){return 0};c1.prototype.write=function(e,c,b,a){if(this.log){if(a>0&&b>=0&&b+a<=c.length&&c[b+a-1]==10)a--;var\nd=D(a);bc(f_(c),b,d,0,a);this.log(d.toUtf16());return 0}r(this.fd+ip)};c1.prototype.read=function(c,a,d,b){r(this.fd+\": file descriptor is write only\")};c1.prototype.close=function(){this.log=undefined};function\nes(b,a){if(a==undefined)a=er.length;er[a]=b;return a}function\nAF(c,b,f){var\na={};while(b){switch(b[1]){case\n0:a.rdonly=1;break;case\n1:a.wronly=1;break;case\n2:a.append=1;break;case\n3:a.create=1;break;case\n4:a.truncate=1;break;case\n5:a.excl=1;break;case\n6:a.binary=1;break;case\n7:a.text=1;break;case\n8:a.nonblock=1;break}b=b[2]}if(a.rdonly&&a.wronly)r(aw(c)+fG);if(a.text&&a.binary)r(aw(c)+fQ);var\nd=ke(c),e=d.device.open(d.rest,a);return es(e,undefined)}(function(){function\na(a,b){return da()?Au(a,b):new\nc1(a,b)}es(a(0,{rdonly:1,altname:\"/dev/stdin\",isCharacterDevice:true}),0);es(a(1,{buffered:2,wronly:1,isCharacterDevice:true}),1);es(a(2,{buffered:2,wronly:1,isCharacterDevice:true}),2)}());function\nAf(c){var\na=er[c];if(a.flags.wronly)r(jF+c+\" is writeonly\");var\nd=null,b={file:a,offset:a.flags.append?a.length():0,fd:c,opened:true,out:false,buffer_curr:0,buffer_max:0,buffer:new\nUint8Array(iJ),refill:d};bf[b.fd]=b;return b.fd}function\nj3(c){var\na=er[c];if(a.flags.rdonly)r(jF+c+\" is readonly\");var\nd=a.flags.buffered!==undefined?a.flags.buffered:1,b={file:a,offset:a.flags.append?a.length():0,fd:c,opened:true,out:true,buffer_curr:0,buffer:new\nUint8Array(iJ),buffered:d};bf[b.fd]=b;return b.fd}function\nAg(){var\nb=0;for(var\na=0;a<bf.length;a++)if(bf[a]&&bf[a].opened&&bf[a].out)b=[0,bf[a].fd,b];return b}function\nO(a){return a}function\nAh(c,b,f,g){var\na=bf[c];if(!a.opened)r(\"Cannot output to a closed channel\");var\nb=c$(b);b=b.subarray(f,f+g);if(a.buffer_curr+b.length>a.buffer.length){var\ne=new\nUint8Array(a.buffer_curr+b.length);e.set(a.buffer);a.buffer=e}switch(a.buffered){case\n0:a.buffer.set(b,a.buffer_curr);a.buffer_curr+=b.length;aX(c);break;case\n1:a.buffer.set(b,a.buffer_curr);a.buffer_curr+=b.length;if(a.buffer_curr>=a.buffer.length)aX(c);break;case\n2:var\nd=b.lastIndexOf(10);if(d<0){a.buffer.set(b,a.buffer_curr);a.buffer_curr+=b.length;if(a.buffer_curr>=a.buffer.length)aX(c)}else{a.buffer.set(b.subarray(0,d+1),a.buffer_curr);a.buffer_curr+=d+1;aX(c);a.buffer.set(b.subarray(d+1),a.buffer_curr);a.buffer_curr+=b.length-d-1}break}return 0}function\nj4(b,a,d,c){return Ah(b,au(a),d,c)}function\ngl(c,b){var\nd=a(String.fromCharCode(b));j4(c,d,0,1);return 0}function\nAi(b,a){if(a==0)go();return b%a}function\nz$(d,a,c,f){for(;;){var\nb=d.charCodeAt(a);a++;if(b==ag)return;var\ne=d.charCodeAt(a);a++;if(e==ag)c[b+1]=f;else\nc[b+1]=c[e+1]}}function\nj2(d,a,c){for(;;){var\nb=d.charCodeAt(a);a++;if(b==ag)return;var\ne=d.charCodeAt(a);a++;if(e==ag)c[b+1]=-1;else\nc[b+1]=c[e+1]}}function\nAk(a,D,b){var\nt=2,u=3,A=5,f=6,i=7,h=8,n=9,j=10,r=1,p=2,y=3,B=4,v=5,s=6,q=7,z=8,C=9,w=10,x=11;if(!a.lex_default){a.lex_base=ah(a[r]);a.lex_backtrk=ah(a[p]);a.lex_check=ah(a[v]);a.lex_trans=ah(a[B]);a.lex_default=ah(a[y])}if(!a.lex_default_code){a.lex_base_code=ah(a[s]);a.lex_backtrk_code=ah(a[q]);a.lex_check_code=ah(a[w]);a.lex_trans_code=ah(a[C]);a.lex_default_code=ah(a[z])}if(a.lex_code==null)a.lex_code=aw(a[x]);var\ne,c=D,o=c$(b[t]);if(c>=0){b[i]=b[A]=b[f];b[h]=-1}else\nc=-c-1;for(;;){var\ng=a.lex_base[c];if(g<0){var\nd=a.lex_base_code[c];j2(a.lex_code,d,b[j]);return-g-1}var\nl=a.lex_backtrk[c];if(l>=0){var\nd=a.lex_backtrk_code[c];j2(a.lex_code,d,b[j]);b[i]=b[f];b[h]=l}if(b[f]>=b[u])if(b[n]==0)return-c-1;else\ne=aK;else{e=o[b[f]];b[f]++}var\nk=c;if(a.lex_check[g+e]==c)c=a.lex_trans[g+e];else\nc=a.lex_default[c];if(c<0){b[f]=b[i];if(b[h]==-1)av(im);else\nreturn b[h]}else{var\nm=a.lex_base_code[k],d;if(a.lex_check_code[m+e]==k)d=a.lex_trans_code[m+e];else\nd=a.lex_default_code[k];if(d>0)z$(a.lex_code,d,b[j],b[f]);if(e==aK)b[n]=0}}}function\nbQ(a,b){return+(f$(a,b,false)!=0)}function\nj6(d,c){var\nb=new\nArray(c+1);b[0]=d;for(var\na=1;a<=c;a++)b[a]=0;return b}function\nAl(a,b){a[0]=bo;a[1]=b;return 0}function\nbg(a){if(a\ninstanceof\nArray&&a[0]==a[0]>>>0)return a[0];else\nif(c8(a))return eb;else\nif(eo(a))return eb;else\nif(a\ninstanceof\nFunction||typeof\na==\"function\")return 247;else\nif(a&&a.caml_custom)return b0;else\nreturn cG}function\naH(b,c,a){if(a&&x.toplevelReloc)b=x.toplevelReloc(a);aG[b+1]=c;if(a)aG[a]=c}function\ngp(a,b){j5[aw(a)]=b;return 0}function\nAp(a){a[2]=j7++;return a}function\nd(a,b){return jS(a,b)}function\nAr(){L(fY)}function\nB(b,a){if(a>>>0>=k(b))Ar();return ay(b,a)}function\ng(a,b){return 1-d(a,b)}function\nAt(){return 0x7FFFFFFF/4|0}function\nAn(){j9(aG.Not_found)}function\nka(c){var\nb=x.process,a=gk(c);if(b&&b.env&&b.env[a]!=undefined)return ai(b.env[a]);if(x.jsoo_static_env&&x.jsoo_static_env[a])return ai(x.jsoo_static_env[a]);An()}function\nAv(){if(x.crypto)if(typeof\nx.crypto.getRandomValues===\"function\"){var\na=new\nUint32Array(1);x.crypto.getRandomValues(a);return[0,a[0]]}else\nif(x.crypto.randomBytes===iG){var\nb=x.crypto.randomBytes(4),a=new\nUint32Array(b);return[0,a[0]]}var\nc=new\nDate().getTime(),d=c^0xffffffff*Math.random();return[0,d]}function\nbR(a){var\nb=1;while(a&&a.joo_tramp){a=a.joo_tramp.apply(null,a.joo_args);b++}return a}function\nn(b,a){return{joo_tramp:b,joo_args:a}}function\nj$(a){return a}function\nC(a){if(a\ninstanceof\nArray)return a;if(x.RangeError&&a\ninstanceof\nx.RangeError&&a.message&&a.message.match(/maximum call stack/i))return j$(aG.Stack_overflow);if(x.InternalError&&a\ninstanceof\nx.InternalError&&a.message&&a.message.match(/too much recursion/i))return j$(aG.Stack_overflow);if(a\ninstanceof\nx.Error&&bP(fy))return[0,bP(fy),a];return[0,aG.Failure,ai(String(a))]}function\nj1(a){return a.slice(1)}function\nAw(d){var\nc=k(d),b=new\nArray(c),a=0;for(;a<c;a++)b[a]=ay(d,a);return b}var\nAC=function(){var\nb=[an,an,an,an,an,an,aC,0x03,il,aC,aC,0x87,il,aC,aC,0x07,an,an,an,an,an,an,an,an,aC,aC,iS,aC,aC,aC,iS,aC],c={CHAR:0,CHARNORM:1,STRING:2,STRINGNORM:3,CHARCLASS:4,BOL:5,EOL:6,WORDBOUNDARY:7,BEGGROUP:8,ENDGROUP:9,REFGROUP:10,ACCEPT:11,SIMPLEOPT:12,SIMPLESTAR:13,SIMPLEPLUS:14,GOTO:15,PUSHBACK:16,SETMARK:17,CHECKPROGRESS:18};function\nr(a){return b[a>>3]>>(a&7)&1}function\no(b,a){return B(b,a>>3)>>(a&7)&1}function\na(m,b,a,B){var\nw=j1(m[1]),k=j1(m[2]),v=aw(m[3]),y=m[4]|0,z=m[5]|0,C=m[6]|0,b=Aw(b),l=0,x=false,t=[],i=new\nArray(y),q=new\nArray(z);for(var\nf=0;f<i.length;f++)i[f]={start:-1,end:-1};i[0].start=a;function\ne(){while(t.length){var\nb=t.pop();if(b.undo)b.undo.obj[b.undo.prop]=b.undo.value;else\nif(b.pos){l=b.pos.pc;a=b.pos.txt;return}}x=true}function\np(a){t.push(a)}function\nu(){i[0].end=a;var\nd=new\nArray(1+i.length*2);d[0]=0;for(var\nc=0;c<i.length;c++){var\nb=i[c];if(b.start<0||b.end<0)b.start=b.end=-1;d[2*c+1]=b.start;d[2*c+1+1]=b.end}return d}function\nj(){if(B)return u();else\ne()}while(!x){var\nA=w[l]&ag,s=w[l]>>8,d=s&ag,g=b[a],h;l++;switch(A){case\nc.CHAR:if(a===b.length){j();break}if(g===d)a++;else\ne();break;case\nc.CHARNORM:if(a===b.length){j();break}if(v.charCodeAt(g)===d)a++;else\ne();break;case\nc.STRING:for(var\nn=aw(k[d]),f=0;f<n.length;f++){if(a===b.length){j();break}if(g===n.charCodeAt(f))g=b[++a];else{e();break}}break;case\nc.STRINGNORM:for(var\nn=aw(k[d]),f=0;f<n.length;f++){if(a===b.length){j();break}if(v.charCodeAt(g)===n.charCodeAt(f))g=b[++a];else{e();break}}break;case\nc.CHARCLASS:if(a===b.length){j();break}if(o(k[d],g))a++;else\ne();break;case\nc.BOL:if(a>0&&b[a-1]!=10)e();break;case\nc.EOL:if(a<b.length&&b[a]!=10)e();break;case\nc.WORDBOUNDARY:if(a==0){if(a===b.length){j();break}if(r(b[0]))break;e()}else\nif(a===b.length){if(r(b[a-1]))break;e()}else{if(r(b[a-1])!=r(b[a]))break;e()}break;case\nc.BEGGROUP:h=i[d];p({undo:{obj:h,prop:cX,value:h.start}});h.start=a;break;case\nc.ENDGROUP:h=i[d];p({undo:{obj:h,prop:\"end\",value:h.end}});h.end=a;break;case\nc.REFGROUP:h=i[d];if(h.start<0||h.end<0){e();break}for(var\nf=h.start;f<h.end;f++){if(a===b.length){j();break}if(b[f]!=b[a]){e();break}a++}break;case\nc.SIMPLEOPT:if(o(k[d],g))a++;break;case\nc.SIMPLESTAR:while(o(k[d],g))g=b[++a];break;case\nc.SIMPLEPLUS:if(a===b.length){j();break}if(o(k[d],g))do\ng=b[++a];while(o(k[d],g));else\ne();break;case\nc.ACCEPT:return u();case\nc.GOTO:l=l+s;break;case\nc.PUSHBACK:p({pos:{pc:l+s,txt:a}});break;case\nc.SETMARK:p({undo:{obj:q,prop:d,value:q[d]}});q[d]=a;break;case\nc.CHECKPROGRESS:if(q[d]===a)e();break;default:throw new\nError(\"Invalid bytecode\")}}return 0}return a}();function\nAD(d,b,a){if(a<0||a>k(b))L(\"Str.search_forward\");while(a<=k(b)){var\nc=AC(d,b,a,0);if(c)return c;a++}return[0]}function\nz5(a){switch(a[2]){case-8:case-11:case-12:return 1;default:return 0}}function\nzK(b){var\na=e;if(b[0]==0){a+=b[1][1];if(b.length==3&&b[2][0]==0&&z5(b[1]))var\nf=b[2],g=1;else\nvar\ng=2,f=b;a+=\"(\";for(var\nd=g;d<f.length;d++){if(d>g)a+=cB;var\nc=f[d];if(typeof\nc==\"number\")a+=c.toString();else\nif(c\ninstanceof\naW)a+=bF+c.toString()+bF;else\nif(typeof\nc==\"string\")a+=bF+c.toString()+bF;else\na+=i4}a+=fD}else\nif(b[0]==A)a+=b[1];return a}function\njW(a){if(a\ninstanceof\nArray&&(a[0]==0||a[0]==A)){var\nc=bP(ix);if(c)c(a,false);else{var\nd=zK(a),b=bP(ik);if(b)b(0);console.error(fL+d+\"\\n\")}}else\nthrow a}function\nAq(){var\na=x.process;if(a&&a.on)a.on(\"uncaughtException\",function(b,c){jW(b);a.exit(2)});else\nif(x.addEventListener)x.addEventListener(jD,function(a){if(a.error)jW(a.error)})}Aq();function\nb(a,b){return a.length==1?a(b):aF(a,[b])}function\nf(a,b,c){return a.length==2?a(b,c):aF(a,[b,c])}function\naJ(a,b,c,d){return a.length==3?a(b,c,d):aF(a,[b,c,d])}function\nfl(a,b,c,d,e){return a.length==4?a(b,c,d,e):aF(a,[b,c,d,e])}function\ncz(a,b,c,d,e,f){return a.length==5?a(b,c,d,e,f):aF(a,[b,c,d,e,f])}function\nzw(a,b,c,d,e,f,g,h){return a.length==7?a(b,c,d,e,f,g,h):aF(a,[b,c,d,e,f,g,h])}zL();var\neu=[A,a(jB),-1],gu=[A,a(iz),-2],db=[A,a(fw),-3],et=[A,a(i3),-4],p=[A,a(i_),-7],gs=[A,a(iM),-8],gt=[A,a(jc),-9],s=[A,a(jr),-11],gv=[A,a(ij),-12],di=[0,a(e),0,0,-1],gL=[0,a(e),1,0,0],zr=[4,0,0,0,[12,45,[4,0,0,0,0]]],eK=[0,[11,a('File \"'),[2,0,[11,a('\", line '),[4,0,0,0,[11,a(iR),[4,0,0,0,[12,45,[4,0,0,0,[11,a(ji),[2,0,0]]]]]]]]]],a('File \"%s\", line %d, characters %d-%d: %s')],a3=[0,a(\"\\0\\0\\x01\\0\\xf9\\xff\\0\\0A\\0\\xa3\\0\\xfd\\xff\\0\\0\\x01\\0\\xff\\xff\\xf1\\0 \\0\\x80\\0\\xfd\\xff\\x01\\0@\\x01\\x8e\\x01.\\x000\\0\\xfd\\xff\\x04\\0\\0\\0\\xff\\xff\\x7f\\0\\xa0\\0\\xfe\\xff\\xff\\xff\\xee\\0\\x0e\\x01\\xfd\\xff\\xfe\\xff\\x02\\0\\xff\\xff\\0\\x02\\xf7\\xffr\\x02\\xf9\\xff\\xfa\\xff\\xfb\\xff\\x84\\x02\\0\\0\\xf8\\x02\\xff\\xff\\xfe\\xff\\xfe\\x02\\xf9\\xff\\x04\\x03\\xfb\\xff\\xfc\\xff\\x02\\0\\n\\x03\\xff\\xff\\xfe\\xff\\x03\\0\\xff\\xffu\\0\\xff\\xff\"),a(\"\\xff\\xff\\x07\\0\\xff\\xff\\x05\\0\\xff\\xff\\x03\\0\\xff\\xff\\x01\\0\\xff\\xff\\xff\\xff\\x04\\0\\xff\\xff\\x03\\0\\xff\\xff\\x01\\0\\xff\\xff\\0\\0\\xff\\xff\\x03\\0\\xff\\xff\\x01\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x02\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x04\\0\\xff\\xff\\xff\\xff\\x03\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x07\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x03\\0\\x02\\0\\x07\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x05\\0\\xff\\xff\\xff\\xff\\x02\\0\\x05\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\"),a(\"\\x01\\0\\x01\\0\\0\\0\\xff\\xff\\xff\\xff\\xff\\xff\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\xff\\xff\\f\\0\\f\\0\\0\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x12\\0\\x12\\0\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\x18\\0\\x18\\0\\0\\0\\0\\0\\x1c\\0\\x1c\\0\\0\\0\\0\\0\\xff\\xff\\0\\0#\\0\\0\\0#\\0\\0\\0\\0\\0\\0\\0#\\0\\xff\\xff#\\0\\0\\0\\0\\0.\\0\\0\\0.\\0\\0\\0\\0\\0\\xff\\xff.\\0\\0\\0\\0\\x005\\0\\0\\x007\\0\\0\\0\"),a(\"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0(\\0(\\x001\\x001\\0(\\0\\0\\x001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0(\\0\\x07\\x001\\0\\0\\0\\0\\x006\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\b\\0\\t\\0\\x04\\0\\x0f\\0\\x15\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x03\\0\\xff\\xff\\x16\\0\\x06\\0 \\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x14\\0\\x0e\\0\\xff\\xff\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\n\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\x008\\0\\0\\0\\0\\0\\0\\0\\n\\0\\0\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\xff\\xff\\x1a\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\0\\0\\x02\\0\\xff\\xff\\x05\\0\\xff\\xff\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\n\\0\\n\\0\\r\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\x1e\\0\\x1f\\0\\x13\\0\\0\\0\\xff\\xff\\0\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\n\\0\\0\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\x10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x19\\0\\xff\\xff\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x10\\0\\xff\\xff\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\0\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x10\\0\\x1d\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0(\\0(\\0\\0\\0\\0\\0(\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0(\\0\\0\\0%\\0\\0\\0\\0\\0\\0\\0\\0\\0$\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0)\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0'\\0\\0\\0\\0\\0&\\0*\\0\\0\\0\\0\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0\\0\\0\\0\\0\\0\\0\\0\\0'\\0\\0\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\xff\\xff\\xff\\xff'\\0'\\0\\0\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0\\0\\0\\0\\0\\0\\0\\0\\0'\\0\\0\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0\\0\\0\\\"\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\xff\\xff\\0\\x001\\x001\\0\\0\\0\\0\\x001\\0\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\xff\\xff\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\x001\\0\\xff\\xff0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff/\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\xff\\xff2\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\xff\\xff+\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x003\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x004\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0-\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\"),a(\"\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff(\\0(\\x001\\x001\\0(\\0\\xff\\xff1\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff(\\0\\x03\\x001\\0\\xff\\xff\\xff\\xff5\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x07\\0\\b\\0\\x03\\0\\x0e\\0\\x14\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x03\\0\\xff\\xff\\0\\0\\x01\\0\\x15\\0\\x03\\0\\x1f\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x11\\0\\x0b\\0\\x12\\0\\xff\\xff\\x03\\0\\xff\\xff\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x03\\0\\x04\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\x007\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x04\\0\\xff\\xff\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\x04\\0\\f\\0\\x17\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x05\\0\\x05\\0\\xff\\xff\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x18\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\xff\\xff\\xff\\xff\\0\\0\\x01\\0\\x05\\x005\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\n\\0\\n\\0\\x0b\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\x1b\\0\\x1b\\0\\x11\\0\\xff\\xff\\x12\\0\\xff\\xff\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\x1c\\0\\x1c\\0\\xff\\xff\\xff\\xff\\n\\0\\xff\\xff\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff7\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x0f\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x17\\0\\f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x0f\\0\\x18\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x10\\0\\x10\\0\\xff\\xff\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x10\\0\\x1b\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0!\\0!\\0\\xff\\xff\\xff\\xff!\\0\\x1c\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff!\\0\\xff\\xff!\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff!\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff!\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff!\\0\\xff\\xff\\xff\\xff!\\0!\\0\\xff\\xff\\xff\\xff!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff!\\0\\xff\\xff!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0#\\0#\\0\\xff\\xff\\xff\\xff#\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff'\\0'\\0\\xff\\xff\\xff\\xff'\\0#\\0\\xff\\xff#\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff#\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff'\\0\\xff\\xff'\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff'\\0\\xff\\xff\\xff\\xff\\xff\\xff#\\0#\\0'\\0'\\0\\xff\\xff'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0\\xff\\xff\\xff\\xff'\\0'\\0\\xff\\xff\\xff\\xff'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff'\\0\\xff\\xff'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0'\\0\\xff\\xff!\\0)\\0)\\0\\xff\\xff\\xff\\xff)\\0\\xff\\xff,\\0,\\0\\xff\\xff\\xff\\xff,\\0\\xff\\xff.\\0.\\0\\xff\\xff\\xff\\xff.\\0\\xff\\xff2\\x002\\0\\xff\\xff\\xff\\xff2\\0)\\0\\xff\\xff)\\0\\xff\\xff\\xff\\xff\\xff\\xff,\\0)\\0,\\0\\xff\\xff\\xff\\xff\\xff\\xff.\\0,\\0.\\0\\xff\\xff\\xff\\xff\\xff\\xff2\\0.\\x002\\0,\\0\\xff\\xff\\xff\\xff\\xff\\xff2\\0\\xff\\xff\\xff\\xff\\xff\\xff)\\0)\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff,\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff.\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff2\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff#\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff'\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff)\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff,\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff.\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff2\\0\"),a(e),a(e),a(e),a(e),a(e),a(e)],g9=bO([a(aT),a(b1),a(b2),a(dY),a(cV),a(b_),a(cR),a(ba),a(cb),a(b6),a(a$),a(bG),a(cC),a(cU),a(cE),a(cP),a(cA),a(cQ),a(cF),a(cO),a($),a(W),a(bE),a(d2)]),zs=[0,a(cZ),[0,a(d5),0]],zt=[0,a(bG),[0,a(cb),[0,a(ec),0]]],hL=bO([a(aT),a(b1),a(b2),a(dY),a(cV),a(b_),a(cR),a(ba),a(cb),a(b6),a(a$),a(bG),a(cC),a(cU),a(cE),a(cP),a(cA),a(cQ),a(cF),a(cO),a($),a(W),a(bE),a(d2)]),zu=[0,a(d5),0],zv=[0,a(bG),[0,a(cb),[0,a(ec),0]]],hP=a(\"o:spid\"),hQ=a(\"id\"),dI=[0,a(ii)];aH(11,gv,ij);aH(10,s,jr);aH(9,[A,a(iX),-10],iX);aH(8,gt,jc);aH(7,gs,iM);aH(6,p,i_);aH(5,[A,a(jk),-6],jk);aH(4,[A,a(iF),-5],iF);aH(3,et,i3);aH(2,db,fw);aH(1,gu,iz);aH(0,eu,jB);var\nkl=a(\"%.12g\"),kk=a(bu),kh=a(d8),ki=a(\"false\"),kf=a(\"Stdlib.Exit\"),km=a(\"CamlinternalLazy.Undefined\"),kq=a(\"\\\\\\\\\"),kr=a(\"\\\\'\"),ks=a(\"\\\\b\"),kt=a(\"\\\\t\"),ku=a(\"\\\\n\"),kv=a(\"\\\\r\"),kp=a(\"Char.chr\"),kz=a(\"nth\"),kA=a(\"List.nth\"),ky=a(\"tl\"),kE=a(\"String.blit / Bytes.blit_string\"),kD=a(\"Bytes.blit\"),kC=a(\"String.sub / Bytes.sub\"),kJ=a(\"String.contains_from / Bytes.contains_from\"),kH=a(e),kG=a(e),kF=a(\"String.concat\"),kM=a(\"Array.blit\"),kL=a(\"Array.sub\"),kR=a(\"Set.remove_min_elt\"),kS=[0,0,0,0],kT=[0,0,0],kU=[0,a(\"set.ml\"),570,18],kN=a(dP),kO=a(dP),kP=a(dP),kQ=a(dP),kZ=a(\"Map.remove_min_elt\"),k0=[0,0,0,0],k1=[0,a(\"map.ml\"),400,10],k2=[0,0,0],kV=a(d7),kW=a(d7),kX=a(d7),kY=a(d7),k3=a(\"Stdlib.Stack.Empty\"),k7=a(\"Buffer.add: cannot grow buffer\"),k6=[0,a(jh),93,2],k5=[0,a(jh),94,2],le=a(\"%c\"),lf=a(\"%s\"),lg=a(ih),lh=a(iK),li=a(i1),lj=a(io),lk=a(\"%f\"),ll=a(\"%B\"),lm=a(\"%{\"),ln=a(\"%}\"),lo=a(\"%(\"),lp=a(\"%)\"),lq=a(\"%a\"),lr=a(\"%t\"),ls=a(\"%?\"),lt=a(\"%r\"),lu=a(\"%_r\"),lv=[0,a(N),850,23],lG=[0,a(N),814,21],ly=[0,a(N),815,21],lH=[0,a(N),818,21],lz=[0,a(N),819,21],lI=[0,a(N),822,19],lA=[0,a(N),823,19],lJ=[0,a(N),826,22],lB=[0,a(N),827,22],lK=[0,a(N),831,30],lC=[0,a(N),832,30],lE=[0,a(N),836,26],lw=[0,a(N),837,26],lF=[0,a(N),846,28],lx=[0,a(N),847,28],lD=[0,a(N),851,23],mN=a(iV),mL=[0,a(N),1558,4],mM=a(\"Printf: bad conversion %[\"),mO=[0,a(N),1626,39],mP=[0,a(N),1649,31],mQ=[0,a(N),1650,31],mR=a(\"Printf: bad conversion %_\"),mS=a(iU),mT=a(i2),mU=a(iU),mV=a(i2),mJ=a(fC),mH=a(\"neg_infinity\"),mI=a(jz),mG=a(bu),mB=[0,iv],mp=a(\"%+nd\"),mq=a(\"% nd\"),ms=a(\"%+ni\"),mt=a(\"% ni\"),mu=a(\"%nx\"),mv=a(\"%#nx\"),mw=a(\"%nX\"),mx=a(\"%#nX\"),my=a(\"%no\"),mz=a(\"%#no\"),mo=a(\"%nd\"),mr=a(i1),mA=a(\"%nu\"),mc=a(\"%+ld\"),md=a(\"% ld\"),mf=a(\"%+li\"),mg=a(\"% li\"),mh=a(\"%lx\"),mi=a(\"%#lx\"),mj=a(\"%lX\"),mk=a(\"%#lX\"),ml=a(\"%lo\"),mm=a(\"%#lo\"),mb=a(\"%ld\"),me=a(iK),mn=a(\"%lu\"),l1=a(\"%+Ld\"),l2=a(\"% Ld\"),l4=a(\"%+Li\"),l5=a(\"% Li\"),l6=a(\"%Lx\"),l7=a(\"%#Lx\"),l8=a(\"%LX\"),l9=a(\"%#LX\"),l_=a(\"%Lo\"),l$=a(\"%#Lo\"),l0=a(\"%Ld\"),l3=a(io),ma=a(\"%Lu\"),lO=a(\"%+d\"),lP=a(\"% d\"),lR=a(\"%+i\"),lS=a(\"% i\"),lT=a(\"%x\"),lU=a(\"%#x\"),lV=a(\"%X\"),lW=a(\"%#X\"),lX=a(\"%o\"),lY=a(\"%#o\"),lN=a(fS),lQ=a(ih),lZ=a(iV),k8=a(\"@]\"),k9=a(\"@}\"),k_=a(\"@?\"),k$=a(\"@\\n\"),la=a(\"@.\"),lb=a(\"@@\"),lc=a(\"@%\"),ld=a(ee),lL=a(\"CamlinternalFormat.Type_mismatch\"),mZ=a(e),m0=[0,[11,a(cB),[2,0,[2,0,0]]],a(\", %s%s\")],nn=[0,[11,a(fL),[2,0,[12,10,0]]],a(jq)],no=[0,[11,a(\"Fatal error in uncaught exception handler: exception \"),[2,0,[12,10,0]]],a(\"Fatal error in uncaught exception handler: exception %s\\n\")],nm=a(\"Fatal error: out of memory in uncaught exception handler\"),nk=[0,[11,a(fL),[2,0,[12,10,0]]],a(jq)],ng=[0,[2,0,[12,10,0]],a(\"%s\\n\")],m_=a(\"Raised at\"),m$=a(\"Re-raised at\"),na=a(\"Raised by primitive operation at\"),nb=a(\"Called from\"),nc=a(\" (inlined)\"),ne=a(e),nd=[0,[2,0,[12,32,[2,0,[11,a(' in file \"'),[2,0,[12,34,[2,0,[11,a(\", line \"),[4,0,0,0,[11,a(iR),zr]]]]]]]]]],a('%s %s in file \"%s\"%s, line %d, characters %d-%d')],nf=[0,[2,0,[11,a(\" unknown location\"),0]],a(\"%s unknown location\")],m5=a(\"Out of memory\"),m6=a(\"Stack overflow\"),m7=a(\"Pattern matching failed\"),m8=a(\"Assertion failed\"),m9=a(\"Undefined recursive module\"),m1=[0,[12,40,[2,0,[2,0,[12,41,0]]]],a(\"(%s%s)\")],m2=a(e),m3=a(e),m4=[0,[12,40,[2,0,[12,41,0]]],a(\"(%s)\")],mY=[0,[4,0,0,0,0],a(fS)],mW=[0,[3,0,0],a(\"%S\")],mX=a(i4),nh=[0,a(e),a(\"(Cannot print locations:\\n bytecode executable program file not found)\"),a(\"(Cannot print locations:\\n bytecode executable program file appears to be corrupt)\"),a(\"(Cannot print locations:\\n bytecode executable program file has wrong magic number)\"),a(\"(Cannot print locations:\\n bytecode executable program file cannot be opened;\\n -- too many open files. Try running with OCAMLRUNPARAM=b=2)\")],np=a(\"x\"),ns=a(\"Hashtbl: unsupported hash table format\"),zp=a(\"OCAMLRUNPARAM\"),zn=a(\"CAMLRUNPARAM\"),nq=a(e),nC=a(e),nH=a(e),nG=a(e),nE=a(e),nM=[2,a(fV)],nN=[2,a(fV)],pB=a(e),pC=a(e),p4=a(ae),p5=a('=\"'),p6=a(bF),p0=a(bb),p1=a(by),p2=a(fM),qa=a(\"<?\"),qb=a(X),qc=a(cW),qd=a(\"<!--\"),qe=a(X),qf=a(\"-->\"),qg=a(\"<!\"),qh=a(X),qi=a(cW),p3=a(fV),p7=a(\"/>\"),p8=a(cW),p9=a(cW),p_=a(jj),p$=a(cW),pZ=a(\"&quot;\"),qj=a(\"write\"),pP=a(e),pQ=a(jj),pR=a(X),pS=a(by),pT=a(X),pU=a(bb),pV=a(X),pW=a(fM),pX=a(e),pL=[0,0,0],pM=[0,0,1],pN=[0,0,0],pO=[0,0,1],pK=[0,a(\"netstring/code/src/netstring/nethtml.ml\"),356,27],pJ=a(e),pG=a(e),pH=[0,bA,fq],pI=[0,bA,fq],pF=a(e),pA=a(e),nO=a(\"Nethtml.End_of_scan\"),nP=a(\"Nethtml.Found\"),nQ=[0,[0,a(b$),[0,j,[0,l,[0,a(b$),[0,a(ed),[0,a(b_),0]]]]]],[0,[0,a(ed),[0,j,v]],0]],nR=bO([l,a(a_),a(cc),a(b8),a(ap),a(aE),a(bp),a(bC),a(bs),a(a9),a(b$)]),nS=a(cS),nT=[0,a(aE),[0,j,ca]],nU=[0,a(bp),[0,j,v]],nV=[0,a(b8),[0,j,v]],nW=[0,a(cc),[0,j,[0,l,0]]],nX=[0,a(a_),[0,j,[0,l,[0,a(cc),[0,a(b8),[0,a(ap),[0,a(aE),[0,a(bp),[0,a(bC),[0,a(bs),0]]]]]]]]]],nY=[0,a(bI),[0,j,i]],nZ=[0,a(c0),[0,j,i]],n0=[0,a(at),[0,j,[0,l,[0,a(c0),[0,a(bI),0]]]]],n1=[0,a(bt),[0,j,v]],n2=[0,a(d_),[0,j,[0,l,[0,a(bt),0]]]],n3=[0,a(cN),[0,j,[0,l,[0,a(at),0]]]],n4=[0,a(cH),[0,j,[0,l,[0,a(at),0]]]],n5=[0,a(cD),[0,j,[0,l,[0,a(at),0]]]],n6=[0,a(ei),[0,j,c]],n7=[0,a(d1),[0,j,c]],n8=[0,a(b7),[0,j,[0,l,0]]],n9=[0,a(d$),[0,j,[0,l,[0,a(b7),0]]]],n_=[0,a(aa),[0,j,i]],n$=[0,a(cM),[0,j,i]],oa=[0,a(dW),[0,j,c]],ob=[0,a(fI),[0,bA,i]],oc=[0,a(fn),[0,bA,i]],od=[0,a(b3),[0,j,v]],oe=[0,a(bC),[0,j,v]],of=[0,a(dT),[0,j,v]],oh=[0,l,[0,a(ap),0]],oi=a(a9),oj=[0,a(cb),[0,o,v]],ok=[0,a(b_),[0,o,i]],ol=[0,a(dY),[0,o,i]],om=[0,a(cC),[0,o,c]],oo=[0,l,[0,a(d1),0]],op=a(bG),oq=[0,a(a$),[0,o,[0,l,[0,a(ei),[0,a(bt),[0,a(d_),[0,a(cD),[0,a(cN),[0,a(cH),[0,a(at),0]]]]]]]]]],or=[0,a(b6),[0,o,v]],ot=[0,l,[0,a(ap),0]],ou=[0,a(ba),0],ov=a(ba),ox=[0,l,[0,a(ap),0]],oy=a(cR),oz=[0,a(cV),[0,o,i]],oA=[0,a(b2),[0,o,i]],oB=[0,a(b1),[0,o,[0,l,[0,a(dW),[0,a(cM),0]]]]],oC=[0,a(cO),[0,o,[0,R,[0,[0,a(aU),[0,a(bs),[0,a(d0),[0,a(eg),[0,a(d3),[0,a(cT),[0,a(cL),zs]]]]]]],c]]]],oD=[0,l,[0,a(aa),0]],oE=a(d2),oF=[0,l,[0,a(aa),0]],oG=a(bE),oH=[0,a(W),[0,o,[0,l,[0,a(aa),0]]]],oI=[0,a($),[0,o,[0,l,[0,a(aa),0]]]],oJ=[0,a(cF),[0,o,c]],oK=[0,a(cQ),[0,o,c]],oL=[0,a(cA),[0,o,c]],oM=[0,a(cP),[0,o,c]],oN=[0,a(cE),[0,o,c]],oO=[0,a(cU),[0,o,c]],oP=[0,a(aT),[0,o,c]],oQ=[0,a(eh),[0,c,[0,R,[0,[0,a(bB),[0,a(dS),[0,a(d6),[0,a(dO),[0,a(b5),[0,a(eh),[0,a(ba),zt]]]]]]],i]]]],oR=[0,a(b5),[0,c,[0,R,[0,[0,a(b5),0],c]]]],oS=[0,a(dO),[0,c,[0,l,0]]],oT=[0,a(d6),[0,c,[0,l,[0,a(d$),[0,a(b7),0]]]]],oU=[0,a(dS),[0,c,v]],oV=[0,a(ec),[0,c,i]],oW=[0,a(d5),[0,c,v]],oX=[0,a(cZ),[0,c,c]],oZ=[0,l,[0,a(b3),0]],o0=a(d0),o1=[0,a(jI),[0,c,c]],o3=[0,l,[0,a(dT),0]],o4=a(ju),o5=[0,a(ap),[0,c,ca]],o7=[0,l,[0,a(b3),0]],o8=a(bs),o9=[0,a(aU),[0,c,v]],o_=[0,a(bB),[0,c,[0,R,[0,[0,a(bB),0],c]]]],o$=[0,a(jf),[0,c,v]],pa=[0,a(iq),[0,c,c]],pb=[0,a(bz),[0,c,c]],pc=[0,a(cT),[0,c,c]],pd=[0,a(cL),[0,c,c]],pe=[0,a(fJ),[0,c,c]],pf=[0,a(iY),[0,c,c]],pg=[0,a(fs),[0,c,c]],ph=[0,a(f5),[0,c,c]],pi=[0,a(fr),[0,c,c]],pj=[0,a(f7),[0,c,c]],pk=[0,a(fv),[0,c,c]],pl=[0,a(fu),[0,c,c]],pm=[0,a(fE),[0,c,c]],pn=[0,a(f3),[0,c,c]],po=[0,a(iZ),[0,c,c]],pp=[0,a(dZ),[0,c,c]],pq=[0,a(dV),[0,c,c]],pr=[0,a(d3),[0,c,c]],ps=[0,a(eg),[0,c,c]],pt=[0,a(fZ),[0,c,c]],pu=[0,a(f8),[0,c,c]],pv=[0,a(fX),[0,c,c]],py=[0,a(a9),[0,a(a$),[0,a(W),[0,a($),[0,a(b1),0]]]]],qz=a(e),qA=a(e),qD=a(\"too many r* or r+ where r is nullable\"),qE=a(e),qB=[0,a(\"str.ml\"),214,11],qI=[0,0,0],qM=a(e),qL=a(e),qK=a(e),qJ=a(e),qS=a(ae),qQ=a(\"' is invalid\"),qR=a(\"document list level '\"),qN=a(\"\\xef\\x82\\xb7\"),qO=a(\"\\xef\\x82\\xa7\"),qP=a(\"o\"),q0=a(\"excel\"),qZ=a(cS),q3=[0,a(\"src/main/re/html/htmlStd.re\"),144,9],qT=a(X),qU=a(fH),qV=bO([a(cC),a(\"article\"),a(\"aside\"),a(\"audio\"),a(cR),a(\"canvas\"),a(cM),a(b2),a(b1),a(bG),a(\"figcaption\"),a(\"figure\"),a(\"footer\"),a(ba),a(cU),a(cE),a(cP),a(cA),a(cQ),a(cF),a(\"header\"),a(\"hgroup\"),a(b6),a(aa),a(cV),a(W),a(\"output\"),a(aT),a(cO),a(\"section\"),a(a$),a(cH),a(bI),a(cN),a(c0),a(cD),a(at),a($),a(\"video\")]),qW=[0,a(a9),[0,a(a_),[0,a(cS),[0,a(bC),[0,a(bp),[0,a(aE),[0,a(fo),0]]]]]]],q1=[0,a(e)],re=a(aT),rc=a(jo),rb=a(i0),rd=[0,a(jo)],q$=a(i0),q9=a(aU),q5=a(iN),q6=a(iN),q7=a(\"file:\"),q8=a(\"data-image-src\"),rQ=a(ae),rP=a(dU),rM=a(\":level\"),rK=a(ae),rD=a(fx),rE=a(f4),rF=a(fx),rG=a(f4),rH=a(ee),rI=a(fx),rJ=a(f4),rL=a(e),rN=a(e),rO=a(\"@list \"),rB=a(cB),rz=[0,a(\"\\n  \")],rA=a(\"  \"),ry=a(e),rw=a(\"color\"),rx=a(ae),rt=a('\"\"'),ru=a(\";\"),rv=a(bD),rj=a(ea),rk=a(e),rl=a(bb),rm=a(ae),rn=a(e),ri=[0,a(e),0],ro=a(e),rp=a(cB),rg=a(bF),rh=a(bF),rq=[0,a(\"font-family\"),0],r4=a(\"Internal failure -- please contact the parser generator's developers.\\n%!\"),r5=[0,a(\"src/main/re/css_parser.ml\"),494,4],r3=a(ea),r2=a(bD),r1=a(ee),r0=a(ea),rZ=a(bD),rY=a(ee),rV=a(\"list\"),rX=a(bD),rW=a(e),rT=a(ea),rU=a(e),rS=[0,a(e),0],rR=a(\"Css_parser.MenhirBasics.Error\"),sa=a(fD),sb=a(\"' (\"),sc=a(\"Unexpected char: '\"),r9=a(\"Css_lexer.SyntaxError\"),r_=[0,a('\\0\\0\\xeb\\xff\\x14\\0\\x03\\0\\x01\\0\\xd7\\0\\x0e\\0H\\x01\\x9d\\0\\xf1\\xff\\x03\\0\\x06\\0\\x11\\0u\\x01\\xe8\\x01B\\x02\\x9c\\x02\\xf6\\x02\\x02\\0\\x1e\\0\\xf7\\xff\\xf8\\xff\\xf9\\xff\\xfa\\xff\\xfb\\xff\\xfc\\xff\\b\\0\\x01\\0\\xfe\\xff\\xff\\xff\\xf6\\xff\\xf5\\xff\\x12\\0P\\x03\\xaa\\x03|\\0\\xf4\\xff\\x04\\x04^\\x04\\xc8\\x01\\x90\\x04\\x13\\0\\xbd\\x04\\xed\\xff0\\x05\\x15\\0\\x16\\0\\x17\\0\\xf0\\xff2\\x052\\x001\\x054\\0\\x0b\\0\\x12\\0\\x0e\\0\"\\0\\xa1\\x05\\xa2\\x055\\0\\xa3\\x05\\xa7\\x05\\xa8\\x05\\xa9\\x05\\xad\\x051\\x003\\0\\xee\\xffY\\0Z\\0\\xec\\xff\\\\\\0]\\0'),a(\"\\xff\\xff\\xff\\xff\\x14\\0\\x14\\0\\x14\\0\\x10\\0\\x14\\0\\x14\\0\\x14\\0\\xff\\xff\\x14\\0\\x14\\0\\x14\\0\\x10\\0\\r\\0\\x10\\0\\x10\\0\\x10\\0\\x14\\0\\x14\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x02\\0\\x01\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x10\\0\\x10\\0\\xff\\xff\\xff\\xff\\x10\\0\\x10\\0\\xff\\xff\\f\\0\\xff\\xff\\x10\\0\\xff\\xff\\r\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x0f\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\"),a(\"\\x01\\0\\0\\0\\xff\\xff\\xff\\xff\\x05\\0\\xff\\xff\\xff\\xff3\\x001\\0\\0\\0.\\0-\\0\\t\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\xff\\xff\\xff\\xff\\xff\\xff\\0\\0\\xff\\xff\\xff\\xff'\\0'\\0'\\0\\xff\\xff\\0\\0\\xff\\xff\\t\\0/\\0\\t\\0\\0\\x001\\x001\\x003\\x003\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff9\\x009\\x009\\x009\\x009\\x009\\x009\\x009\\0\\xff\\xff\\xff\\xff\\0\\0D\\0G\\0\\0\\0G\\0G\\0\"),a(\"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x1a\\0\\x1c\\0\\x1c\\0\\0\\0\\x1b\\0\\0\\0\\0\\0\\0\\0\\x1a\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x1a\\0\\x05\\0\\b\\0\\x05\\0A\\0\\x05\\0\\x06\\0\\x07\\0\\x1a\\0\\0\\0\\t\\0\\x05\\0\\x19\\0\\x0f\\0\\r\\0\\x02\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x15\\0\\x16\\0\\x03\\0\\x05\\0D\\0\\x1f\\0\\x14\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x1e\\0\\x04\\x009\\0B\\0\\x05\\0C\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x11\\0\\x05\\0\\x05\\0\\x10\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x18\\0\\x12\\0\\x17\\0\\x13\\x005\\x006\\x007\\x008\\0E\\0E\\0#\\0H\\0H\\0\\0\\0F\\0\\0\\0\\0\\0F\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0#\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0$\\0\\0\\0\\xff\\xff#\\0\\0\\0\\xff\\xff\\0\\0#\\0#\\0#\\0#\\0#\\0#\\0#\\0#\\0#\\0#\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x000\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\f\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\x0b\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\n\\0\\x05\\x002\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x1d\\0\\xff\\xff\\x05\\0\\xff\\xff\\x05\\0\\x05\\0\\xff\\xff\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x05\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\xff\\xff \\0\\xff\\xff\\xff\\xff\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\xff\\xff\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x000\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\x004\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0 \\0\\xff\\xff\\0\\0\\x05\\0\\xff\\xff\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0(\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\r\\0\\0\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\0\\0\\0\\0)\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0 \\0\\0\\0\\0\\0\\x05\\0\\xff\\xff\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0*\\0\\r\\0\\0\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0 \\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\xff\\xff\\x05\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0 \\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0%\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0 \\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0!\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0 \\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\\"\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0#\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0 \\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0 \\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0&\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0'\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\0\\0\\xff\\xff\\x05\\0\\0\\0\\xff\\xff\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0(\\0 \\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0)\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0+\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0 \\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\x000\\0\\x05\\0\\0\\0\\0\\x000\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\x05\\0\\x05\\0\\0\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\0\\0 \\x004\\x002\\0\\x05\\0\\xff\\xff\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0:\\0:\\0:\\0\\0\\0\\0\\0\\0\\0:\\0:\\0:\\0\\0\\0\\0\\0\\0\\0:\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0;\\0;\\0;\\0\\0\\0\\0\\0\\0\\0;\\0;\\0;\\0\\0\\0\\0\\0\\0\\0;\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<\\0\\0\\0\\0\\0>\\0\\0\\0=\\0\\0\\0\\0\\0\\0\\0?\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\0\\0\\xff\\xff\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\0\\0\\xff\\xff\"),a('\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\x1b\\0\\xff\\xff\\0\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x1a\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\x03\\0\\0\\0\\0\\0\\0\\0\\x1a\\0\\xff\\xff\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x02\\0\\x12\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x13\\0\\0\\x008\\0A\\0\\0\\0B\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x06\\x005\\x006\\x007\\0D\\0E\\0#\\0G\\0H\\0\\xff\\xffE\\0\\xff\\xff\\xff\\xffH\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff#\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff#\\0\\xff\\xff\\b\\0#\\0\\xff\\xff\\b\\0\\xff\\xff#\\0#\\0#\\0#\\0#\\0#\\0#\\0#\\0#\\0#\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\b\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x05\\0\\b\\0\\x05\\0\\xff\\xff\\x05\\0\\xff\\xff\\xff\\xff\\xff\\xff\\0\\0\\x04\\0\\x05\\0\\n\\0\\x05\\0\\x05\\0\\x0b\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\f\\0 \\0)\\0\\x05\\0-\\0.\\0/\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\x002\\0\\x05\\x004\\0;\\0\\x05\\0\\xff\\xff\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x05\\0\\x07\\0\\xff\\xff\\xff\\xff\\x07\\0\\xff\\xff\\xff\\xff\\xff\\xffD\\0E\\0\\xff\\xffG\\0H\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x07\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\r\\0\\xff\\xff\\r\\0\\xff\\xff\\r\\0\\xff\\xff\\xff\\xff\\b\\0\\xff\\xff\\xff\\xff\\r\\0\\xff\\xff\\r\\0\\r\\0\\x07\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\xff\\xff\\xff\\xff\\xff\\xff\\r\\0\\xff\\xff\\xff\\xff\\xff\\xff\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\xff\\xff\\r\\0\\'\\0\\xff\\xff\\r\\0\\'\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\r\\0\\xff\\xff\\'\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x0e\\0\\xff\\xff\\x0e\\0\\xff\\xff\\x0e\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x0e\\0\\xff\\xff\\x0e\\0\\x0e\\0\\xff\\xff\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\xff\\xff\\xff\\xff\\'\\0\\x0e\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\xff\\xff\\x0e\\0\\xff\\xff\\xff\\xff\\x0e\\0\\x07\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0e\\0\\x0f\\0\\xff\\xff\\x0f\\0\\xff\\xff\\x0f\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x0f\\0\\xff\\xff\\x0f\\0\\x0f\\0\\xff\\xff\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x0f\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\xff\\xff\\x0f\\0\\xff\\xff\\xff\\xff\\x0f\\0\\xff\\xff\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x0f\\0\\x10\\0\\xff\\xff\\x10\\0\\xff\\xff\\x10\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x10\\0\\'\\0\\x10\\0\\x10\\0\\xff\\xff\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x10\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\xff\\xff\\x10\\0\\xff\\xff\\xff\\xff\\x10\\0\\xff\\xff\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x10\\0\\x11\\0\\xff\\xff\\x11\\0\\xff\\xff\\x11\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x11\\0\\xff\\xff\\x11\\0\\x11\\0\\xff\\xff\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x11\\0\\xff\\xff\\xff\\xff\\xff\\xff\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\xff\\xff\\x11\\0\\xff\\xff\\xff\\xff\\x11\\0\\xff\\xff\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0\\x11\\0!\\0\\xff\\xff!\\0\\xff\\xff!\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff!\\0\\xff\\xff!\\0!\\0\\xff\\xff!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0\\xff\\xff\\xff\\xff\\xff\\xff!\\0\\xff\\xff\\xff\\xff\\xff\\xff!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0\\xff\\xff!\\0\\xff\\xff\\xff\\xff!\\0\\xff\\xff!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0!\\0\"\\0\\xff\\xff\"\\0\\xff\\xff\"\\0\\xff\\xff\\xff\\xff\"\\0\\xff\\xff\\xff\\xff\"\\0\\xff\\xff\"\\0\"\\0\\xff\\xff\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\\xff\\xff\\xff\\xff\\xff\\xff\"\\0\\xff\\xff\\xff\\xff\\xff\\xff\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\\xff\\xff\"\\0\\xff\\xff\\xff\\xff\"\\0\\xff\\xff\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0\"\\0%\\0\\xff\\xff%\\0\\xff\\xff%\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff%\\0\\xff\\xff%\\0%\\0\\xff\\xff%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0\\xff\\xff\\xff\\xff\\xff\\xff%\\0\\xff\\xff\\xff\\xff\\xff\\xff%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0\\xff\\xff%\\0\\xff\\xff\\xff\\xff%\\0\\xff\\xff%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0%\\0&\\0\\xff\\xff&\\0\\xff\\xff&\\0\\xff\\xff\\xff\\xff&\\0\\xff\\xff\\xff\\xff&\\0\\xff\\xff&\\0&\\0\\xff\\xff&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0\\xff\\xff\\xff\\xff(\\0&\\0\\xff\\xff(\\0\\xff\\xff&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0(\\0&\\0\\xff\\xff\\xff\\xff&\\0\\xff\\xff&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0&\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff*\\0\\xff\\xff*\\0\\xff\\xff*\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff*\\0\\xff\\xff*\\0*\\0(\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0\\xff\\xff\\xff\\xff\\xff\\xff*\\0*\\0\\xff\\xff\\xff\\xff*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0\\xff\\xff*\\0\\xff\\xff\\xff\\xff*\\0\\xff\\xff*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0*\\0\\xff\\xff\\xff\\xff\\xff\\xff3\\x001\\0\\xff\\xff3\\x001\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff,\\0\\xff\\xff,\\x001\\0,\\0\\xff\\xff\\xff\\xff3\\0\\xff\\xff\\xff\\xff,\\0\\xff\\xff,\\0,\\0\\xff\\xff,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0\\xff\\xff\\xff\\xff\\xff\\xff,\\0\\xff\\xff\\xff\\xff\\xff\\xff,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0\\xff\\xff,\\x003\\x001\\0,\\0(\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\0,\\x009\\0:\\0<\\x009\\0:\\0<\\0=\\0>\\0?\\0=\\0>\\0?\\0@\\0\\xff\\xff\\xff\\xff@\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff9\\0:\\0<\\0\\xff\\xff\\xff\\xff\\xff\\xff=\\0>\\0?\\0\\xff\\xff\\xff\\xff\\xff\\xff@\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff?\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff9\\0:\\0<\\0\\xff\\xff\\xff\\xff\\xff\\xff=\\0>\\0?\\0\\xff\\xff\\xff\\xff\\xff\\xff@\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff:\\0\\xff\\xff\\xff\\xff=\\0\\xff\\xff<\\0\\xff\\xff\\xff\\xff\\xff\\xff>\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff3\\x001\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff9\\0:\\0<\\0\\xff\\xff\\xff\\xff\\xff\\xff=\\0>\\0?\\0\\xff\\xff\\xff\\xff\\xff\\xff@\\0'),a(\"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\x02\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\t\\0\\x03\\0\\0\\0\\x07\\0\\x04\\0\\0\\0\\0\\0\\0\\0\\0\\0\\t\\0\\x0b\\0\\x05\\0\\r\\0\\x0f\\0\\x11\\0\\x13\\0\\x19\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"),a(\"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\t\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"),a(\"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x06\\0\\x06\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x06\\0\\x06\\0\\x06\\0\\x06\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x06\\0\\x06\\0\\x06\\0\\x06\\0\\x06\\0\\x06\\0\\x06\\0\\x06\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"),a(\"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x0e\\0\\0\\0\\x11\\0\\0\\0\\x11\\0\\0\\0\\x11\\0\\0\\0\\x11\\0\\0\\0\\x11\\0\\0\\0\\x01\\0\\0\\0\\0\\0\\0\\0\\x11\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x0e\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\x0e\\0\\0\\0\\x0e\\0\\0\\0\\0\\0\\0\\0\\x0e\\0\\0\\0\\0\\0\\x0e\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"),a(\"\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x07\\0\\b\\x001\\0\\x07\\0\\b\\x001\\x003\\0\\xff\\xff9\\x003\\0:\\x009\\0<\\0:\\0=\\0<\\0>\\0=\\0?\\0>\\0\\xff\\xff?\\0\\xff\\xff\\0\\0@\\0\\b\\x001\\0@\\0\\0\\0\\x07\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff3\\x009\\0\\xff\\xff:\\0\\xff\\xff<\\0\\xff\\xff=\\0\\xff\\xff>\\0\\xff\\xff?\\0\\xff\\xff8\\0\\xff\\xff\\xff\\xff\\xff\\xff@\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff?\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x07\\0\\b\\x001\\0\\xff\\xff\\xff\\xff\\xff\\xff3\\0\\xff\\xff9\\0\\xff\\xff:\\0\\xff\\xff<\\0\\xff\\xff=\\0\\xff\\xff>\\0\\xff\\xff?\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff@\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff:\\0\\xff\\xff=\\0\\xff\\xff\\xff\\xff\\xff\\xff<\\0\\xff\\xff\\xff\\xff>\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff2\\0\\x07\\0\\b\\x001\\x004\\0;\\0\\xff\\xff3\\0\\xff\\xff9\\0\\xff\\xff:\\0\\xff\\xff<\\0\\xff\\xff=\\0\\xff\\xff>\\0\\xff\\xff?\\0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff@\\0\"),a(\"\\xff\\x03\\xff\\x02\\xff\\xff\\x03\\xff\\xff\\x01\\x02\\0\\x03\\xff\\x04\\xff\\xff\\x03\\x04\\x04\\xff\\xff\")],sh=a(aE),sf=a(ji),sg=a(\": syntax error parsing:\"),sd=a(br),se=a(bD),si=a(a9),sj=a(aE),sx=a(e),sr=a(jg),ss=a(\"='\"),sk=a(jg),sl=a(\"Data '\"),sm=a(dU),sn=a(fD),so=a(dU),sp=a(e),sq=a(\"]\"),st=a(cB),su=a(\", [\"),sv=a(\"Element (\"),sw=a(dU),sy=[0,[0,a(b$),[0,j,[0,l,[0,a(b$),[0,a(ed),[0,a(b_),0]]]]]],[0,[0,a(ed),[0,j,v]],0]],sz=bO([l,a(a_),a(cc),a(b8),a(ap),a(aE),a(bp),a(bC),a(bs),a(a9),a(b$)]),sA=a(cS),sB=[0,a(aE),[0,j,ca]],sC=[0,a(bp),[0,j,v]],sD=[0,a(b8),[0,j,v]],sE=[0,a(cc),[0,j,[0,l,0]]],sF=[0,a(a_),[0,j,[0,l,[0,a(cc),[0,a(b8),[0,a(ap),[0,a(aE),[0,a(bp),[0,a(bC),[0,a(bs),0]]]]]]]]]],sG=[0,a(bI),[0,j,i]],sH=[0,a(c0),[0,j,i]],sI=[0,a(at),[0,j,[0,l,[0,a(c0),[0,a(bI),0]]]]],sJ=[0,a(bt),[0,j,v]],sK=[0,a(d_),[0,j,[0,l,[0,a(bt),0]]]],sL=[0,a(cN),[0,j,[0,l,[0,a(at),0]]]],sM=[0,a(cH),[0,j,[0,l,[0,a(at),0]]]],sN=[0,a(cD),[0,j,[0,l,[0,a(at),0]]]],sO=[0,a(ei),[0,j,c]],sP=[0,a(d1),[0,j,c]],sQ=[0,a(b7),[0,j,[0,l,0]]],sR=[0,a(d$),[0,j,[0,l,[0,a(b7),0]]]],sS=[0,a(aa),[0,j,i]],sT=[0,a(cM),[0,j,i]],sU=[0,a(dW),[0,j,c]],sV=[0,a(fI),[0,bA,i]],sW=[0,a(fn),[0,bA,i]],sX=[0,a(b3),[0,j,v]],sY=[0,a(bC),[0,j,v]],sZ=[0,a(dT),[0,j,v]],s1=[0,l,[0,a(ap),0]],s2=a(a9),s3=[0,a(cb),[0,o,v]],s4=[0,a(b_),[0,o,i]],s5=[0,a(dY),[0,o,i]],s6=[0,a(cC),[0,o,c]],s8=[0,l,[0,a(d1),0]],s9=a(bG),s_=[0,a(a$),[0,a8,[0,l,[0,a(ei),[0,a(bt),[0,a(d_),[0,a(cD),[0,a(cN),[0,a(cH),[0,a(at),0]]]]]]]]]],s$=[0,a(b6),[0,o,v]],tb=[0,l,[0,a(ap),0]],tc=[0,a(ba),0],td=a(ba),tf=[0,l,[0,a(ap),0]],tg=a(cR),th=[0,a(cV),[0,o,i]],ti=[0,a(b2),[0,o,i]],tj=[0,a(b1),[0,a8,[0,l,[0,a(dW),[0,a(cM),0]]]]],tk=[0,a(cO),[0,o,[0,R,[0,[0,a(bs),[0,a(d0),[0,a(eg),[0,a(d3),[0,a(cT),[0,a(cL),[0,a(cZ),zu]]]]]]],c]]]],tl=[0,l,[0,a(aa),0]],tm=a(d2),tn=[0,l,[0,a(aa),0]],to=a(bE),tp=[0,a(W),[0,a8,[0,l,[0,a(aa),0]]]],tq=[0,a($),[0,a8,[0,l,[0,a(aa),0]]]],tr=[0,a(cF),[0,o,c]],ts=[0,a(cQ),[0,o,c]],tt=[0,a(cA),[0,o,c]],tu=[0,a(cP),[0,o,c]],tv=[0,a(cE),[0,o,c]],tw=[0,a(cU),[0,o,c]],tx=[0,a(aT),[0,o,c]],ty=[0,a(eh),[0,c,[0,R,[0,[0,a(bB),[0,a(dS),[0,a(d6),[0,a(dO),[0,a(b5),[0,a(eh),[0,a(ba),zv]]]]]]],i]]]],tz=[0,a(b5),[0,c,[0,R,[0,[0,a(b5),0],c]]]],tA=[0,a(dO),[0,c,[0,l,0]]],tB=[0,a(d6),[0,c,[0,l,[0,a(d$),[0,a(b7),0]]]]],tC=[0,a(dS),[0,c,v]],tD=[0,a(ec),[0,c,i]],tE=[0,a(d5),[0,c,v]],tF=[0,a(cZ),[0,c,i]],tH=[0,l,[0,a(b3),0]],tI=a(d0),tJ=[0,a(jI),[0,c,i]],tL=[0,l,[0,a(dT),0]],tM=a(ju),tN=[0,a(ap),[0,c,ca]],tP=[0,l,[0,a(b3),0]],tQ=a(bs),tR=[0,a(aU),[0,c,v]],tS=[0,a(bB),[0,c,[0,R,[0,[0,a(bB),0],c]]]],tT=[0,a(jf),[0,c,v]],tU=[0,a(iq),[0,c,i]],tV=[0,a(bz),[0,c,i]],tW=[0,a(cT),[0,c,i]],tX=[0,a(cL),[0,c,i]],tY=[0,a(fJ),[0,c,i]],tZ=[0,a(iY),[0,c,i]],t0=[0,a(fs),[0,c,i]],t1=[0,a(f5),[0,c,i]],t2=[0,a(fr),[0,c,i]],t3=[0,a(f7),[0,c,i]],t4=[0,a(fv),[0,c,i]],t5=[0,a(fu),[0,c,i]],t6=[0,a(fE),[0,c,i]],t7=[0,a(f3),[0,c,i]],t8=[0,a(iZ),[0,c,i]],t9=[0,a(dZ),[0,c,i]],t_=[0,a(dV),[0,c,i]],t$=[0,a(d3),[0,c,i]],ua=[0,a(eg),[0,c,i]],ub=[0,a(fZ),[0,c,i]],uc=[0,a(f8),[0,c,i]],ud=[0,a(fX),[0,c,i]],uu=a(aE),ut=a(a_),ur=a(a9),us=a(cS),uo=a(a_),up=a(aE),un=a(aE),uk=a(X),ul=a(by),um=a(iT),uj=a(a_),ui=a(a9),uf=[0,1],ug=[0,0],uh=[0,1],uq=[1,a(bp),[0,[0,a(\"http-equiv\"),a(\"Content-Type\")],[0,[0,a(\"content\"),a(\"text/html; charset=utf-8\")],0]],0,0],u8=a(X),u9=a(bb),u_=a(X),u$=a(\"[if !msEquation]\"),va=a(bb),vb=a(X),vc=a(fH),u6=[0,a(\"data-ms-equation\"),a(d8)],uV=a(X),uW=a(bb),uX=a(X),uY=a(\"[if !vml]\"),uZ=a(bb),u0=a(X),u1=a(fH),uT=a(fo),uO=a(aU),uP=a(aU),uN=a(aU),uQ=a(aU),uJ=a(fo),uH=a(\"v:imagedata\"),uI=a(aU),uF=a(\"vshapedata\"),uC=[0,[0,a(\"rtf-data-image\"),a(d8)],0],uD=a(\"data-image-id\"),uz=a(\"rotation\"),uv=a(\"-90\"),uw=a(\"90\"),ux=a(cK),uy=a(bH),uA=a(cK),uB=a(bH),uE=a(\"unsupported\"),uM=a(aU),uR=a(\"[if gte vml 1]>\"),uS=a(jv),u2=a(by),u4=a(\"[if gte msEquation\"),u5=a(jv),vd=a(by),vf=[0,0],vi=a(X),vj=a(\"[if !supportLists]\"),vk=a(bb),vl=a(by),vY=a(iA),vZ=a(aa),v0=a(bn),v2=[0,a(iE),a(d8)],v1=a(aa),vV=a(b9),vW=a(bD),vX=a(fm),v3=a(aT),vT=a(\"mso-text-indent-alt\"),vU=a(jH),vQ=a(\"mso-level-legacy\"),vR=a(\"yes\"),vS=[0,a($),0,0],vN=a(iw),vO=a(d4),vP=[0,a(dQ)],vK=a(\"margin-top\"),vL=a(\"margin-bottom\"),vC=[0,[0,a($),0]],vw=a(\"alpha-lower\"),vx=a(\"alpha-upper\"),vy=a(\"bullet\"),vz=a(\"image\"),vA=a(\"roman-lower\"),vB=a(\"roman-upper\"),vD=[0,[0,a(W),[0,a(\"upper-roman\")]]],vE=[0,[0,a(W),[0,a(\"lower-roman\")]]],vF=[0,[0,a(W),[0,a(\"upper-alpha\")]]],vG=[0,[0,a(W),[0,a(\"lower-alpha\")]]],vH=a(\"mso-level-number-format\"),vI=[0,a(W),0],vt=[0,[0,a($),[0,a(\"square\")]]],vu=[0,[0,a($),[0,a(\"circle\")]]],vv=a(\"mso-level-text\"),vs=a(af),vr=a(cX),vo=[0,a(jt)],vp=a($),vq=a(\"mso-level-start-at\"),vm=[0,[0,a(dQ)],[0,[0,a(d4),0]]],vn=a(aa),vh=a(jC),v7=a(dV),v_=a(dZ),v$=a(bz),v8=a(jd),v9=a(i5),wa=a(aT),v5=[0,a(i5)],v6=[0,a(jd)],wK=[0,1],wL=[0,1],wM=[0,1],wI=a(b9),wE=a(W),wF=a($),wA=a($),wB=a(W),wC=a(W),wz=a(b9),wD=a(b9),ww=a(cX),wx=a(f1),wt=a(W),wu=a($),ws=a(aa),wo=a(dQ),wp=[0,a(d4),0],wq=a(b9),wr=a(b9),wl=a(W),wm=a($),wh=a(aa),wi=a(W),we=a($),wf=a(f1),wg=a(cX),wj=a(fm),wk=a(cX),wc=bO([a(cZ),a(bz),a(fZ),a(f8),a(dV),a(cT),a(cL),a(f3),a(fE),a(f7),a(fJ),a(fs),a(fv),a(fu),a(fr),a(fX),a(dZ),a(fn),a(fI),a(f5),a(a_)]),xB=a(bz),xy=a(bn),xz=a(f6),xx=a(f6),xv=a(bn),xw=a(f6),xt=a(bn),xu=a(\"Apple-converted-space\"),xm=a(X),xh=a(bn),xi=a(\"msocomtxt\"),xf=a(b6),xc=a(bn),xd=a(\"msocomoff\"),w$=a(\"mso-comment-reference\"),w8=a(\"comment-list\"),w7=a(jy),w3=a(bn),w4=a(\"MsoCommentReference\"),w0=a(by),w1=a(\"---\"),wZ=a(X),wU=a(iT),wV=a(\"endfragment\"),wW=a(\"[if \"),wX=a(\"[endif\"),wS=a(bB),wQ=a(\"name\"),wR=a(\"OLE_LINK\"),xn=a(bb),xp=[0,a(\"lang\"),[0,a(\"onmouseover\"),[0,a(\"onmouseout\"),[0,a(fm),0]]]],xq=[0,a(bn),[0,a(iE),[0,a(iA),[0,a(jH),0]]]],xP=a(b2),xN=a(jy),xO=[0,a(\"para-border-div\"),0],xL=a(ja),xJ=a(\"margin-left\"),xK=a(\"data-border-margin\"),xH=a(aT),xD=a(bz),xE=a(bE),xF=a(bz),xG=a(bE),x8=a(\"mso-\"),x9=a(jC),xV=a(\"font-stretch\"),xW=a(\"font-variant-caps\"),xX=a(\"text-decoration\"),xY=a(\"text-indent\"),xZ=a(\"text-transform\"),x0=a(\"vertical-align\"),x1=a(\"white-space\"),x2=a(\"word-spacing\"),x4=a(iW),x5=a(\"baseline\"),x7=a(iW),x6=a(d4),x3=a(\"0px\"),xR=[0,a(jt),[0,a(dQ),[0,a(iw),0]]],xT=bO([a(\"layout-grid-mode\"),a(\"tab-stops\"),a(i9),a(\"text-underline\"),a(\"text-effect\"),a(\"text-line-through\"),a(\"page\"),a(\"font-color\"),a(\"horiz-align\"),a(\"language\"),a(\"separator-image\"),a(\"table-border-color-dark\"),a(\"table-border-color-light\"),a(\"vert-align\"),a(\"widows\"),a(\"letter-spacing\"),a(\"caret-color\"),a(\"orphans\")]),yh=a(\"a:link\"),ye=a(iD),yf=a(\"1px\"),yd=a(iD),yc=a(ja),x$=[0,a(a$),[0,a(at),[0,a(bI),[0,a(bt),0]]]],yu=a(cK),yv=a(bH),yt=[0,a(bI),[0,a(bt),0]],ys=a(at),yq=a(bH),yr=a(cK),yp=a(a$),yn=a(a$),ym=a(bH),yk=a(bH),yj=a(\"px\"),yi=[0,a(bH),[0,a(cK),0]],yC=a(\"before:\"),yD=a(\"after:\"),yz=a(i9),yA=a(\"data-tab-interval\"),yy=[0,1],yx=[0,0],yE=a(\"Jsoo_runtime.Error.Exn\"),yF=a(fy),y3=a(\"edge/\"),y4=a(i8),y5=a(jw),y6=a(jG),yY=a(i8),yZ=a(\"chromeframe\"),yU=a(\"msie\"),yV=a(\"trident\"),yJ=a(jw),yL=a(\"mobile/\"),yK=a(jG),yM=a(je),yO=a(\"firefox\"),yP=a(\"Firefox\"),yR=a(\"opera\"),yS=a(\"Opera\"),yW=a(\"IE\"),y0=[0,a(i6)],y1=a(i6),y7=a(\"Edge\"),y$=a(je),zg=a(e),zh=a(ii),zb=a(iG),zl=a(\"ephox.wimp\");function\nE(a){if(typeof\na===\"number\")return 0;else\nswitch(a[0]){case\n0:return[0,E(a[1])];case\n1:return[1,E(a[1])];case\n2:return[2,E(a[1])];case\n3:return[3,E(a[1])];case\n4:return[4,E(a[1])];case\n5:return[5,E(a[1])];case\n6:return[6,E(a[1])];case\n7:return[7,E(a[1])];case\n8:var\nc=a[1];return[8,c,E(a[2])];case\n9:var\nb=a[1];return[9,b,b,E(a[3])];case\n10:return[10,E(a[1])];case\n11:return[11,E(a[1])];case\n12:return[12,E(a[1])];case\n13:return[13,E(a[1])];default:return[14,E(a[1])]}}function\nZ(a,b){if(typeof\na===\"number\")return b;else\nswitch(a[0]){case\n0:return[0,Z(a[1],b)];case\n1:return[1,Z(a[1],b)];case\n2:return[2,Z(a[1],b)];case\n3:return[3,Z(a[1],b)];case\n4:return[4,Z(a[1],b)];case\n5:return[5,Z(a[1],b)];case\n6:return[6,Z(a[1],b)];case\n7:return[7,Z(a[1],b)];case\n8:var\nc=a[1];return[8,c,Z(a[2],b)];case\n9:var\nd=a[2],e=a[1];return[9,e,d,Z(a[3],b)];case\n10:return[10,Z(a[1],b)];case\n11:return[11,Z(a[1],b)];case\n12:return[12,Z(a[1],b)];case\n13:return[13,Z(a[1],b)];default:return[14,Z(a[1],b)]}}function\ny(a,b){if(typeof\na===\"number\")return b;else\nswitch(a[0]){case\n0:return[0,y(a[1],b)];case\n1:return[1,y(a[1],b)];case\n2:var\nc=a[1];return[2,c,y(a[2],b)];case\n3:var\nd=a[1];return[3,d,y(a[2],b)];case\n4:var\ne=a[3],f=a[2],g=a[1];return[4,g,f,e,y(a[4],b)];case\n5:var\nh=a[3],i=a[2],j=a[1];return[5,j,i,h,y(a[4],b)];case\n6:var\nk=a[3],l=a[2],m=a[1];return[6,m,l,k,y(a[4],b)];case\n7:var\nn=a[3],o=a[2],p=a[1];return[7,p,o,n,y(a[4],b)];case\n8:var\nq=a[3],r=a[2],s=a[1];return[8,s,r,q,y(a[4],b)];case\n9:var\nt=a[1];return[9,t,y(a[2],b)];case\n10:return[10,y(a[1],b)];case\n11:var\nu=a[1];return[11,u,y(a[2],b)];case\n12:var\nv=a[1];return[12,v,y(a[2],b)];case\n13:var\nw=a[2],x=a[1];return[13,x,w,y(a[3],b)];case\n14:var\nz=a[2],A=a[1];return[14,A,z,y(a[3],b)];case\n15:return[15,y(a[1],b)];case\n16:return[16,y(a[1],b)];case\n17:var\nB=a[1];return[17,B,y(a[2],b)];case\n18:var\nC=a[1];return[18,C,y(a[2],b)];case\n19:return[19,y(a[1],b)];case\n20:var\nD=a[2],E=a[1];return[20,E,D,y(a[3],b)];case\n21:var\nF=a[1];return[21,F,y(a[2],b)];case\n22:return[22,y(a[1],b)];case\n23:var\nG=a[1];return[23,G,y(a[2],b)];default:var\nH=a[2],I=a[1];return[24,I,H,y(a[3],b)]}}function\nch(a){throw[0,db,a]}function\nI(a){throw[0,et,a]}var\ngr=[A,kf,be(0)];function\ndc(a){return 0<=a?a:-a|0}function\nh(d,c){var\na=k(d),e=k(c),b=D(a+e|0);bd(d,0,b,0,a);bd(c,0,b,a,e);return O(b)}function\nkg(a){return a?kh:ki}function\nkj(a){try{var\nb=[0,c7(a)];return b}catch(a){a=C(a);if(a[1]===db)return 0;throw a}}function\nF(a,b){if(a){var\nc=a[1];return[0,c,F(a[2],b)]}return b}Af(0);var\nev=j3(1),aY=j3(2);function\nbS(b,a){return j4(b,a,0,k(a))}function\nci(a){bS(ev,a);gl(ev,10);return aX(ev)}function\ngw(a){bS(aY,a);gl(aY,10);return aX(aY)}function\new(b){function\na(b){var\na=b;for(;;){if(a){var\nc=a[2],d=a[1];try{aX(d)}catch(a){a=C(a);if(a[1]!==gu)throw a;var\ne=a}var\na=c;continue}return 0}}return a(Ag(0))}gp(a(ik),ew);var\nex=At(0),cj=(4*ex|0)-1|0,kn=[A,km,be(0)];function\nko(a){throw kn}function\nck(a){var\nd=a[1];a[1]=ko;try{var\nc=b(d,0);Al(a,c);return c}catch(b){b=C(b);a[1]=function(a){throw b};throw b}}function\ngx(h,g,e){var\na=g,d=e;for(;;){var\nc=b(d,0);if(c){var\ni=c[2],a=f(h,a,c[1]),d=i;continue}return a}}function\ngy(c,a){return a?[0,b(c,a[1])]:0}function\ncl(a){if(0<=a&&!(b0<a))return a;return I(kp)}function\ncm(a){var\nb=a-192|0,c=0;if(30<b>>>0){if(!(25<b+cI>>>0))c=1}else\nif(23!==b)c=1;return c?a+32|0:a}function\nkw(a){return 25<a-65>>>0?a:a+32|0}function\nkx(a){return 25<a+i$>>>0?a:a+fW|0}function\nbh(c){var\nb=0,a=c;for(;;){if(a){var\nb=b+1|0,a=a[2];continue}return b}}function\ndd(a){return a?a[2]:ch(ky)}function\ney(d,c){if(0<=c){var\na=d,b=c;for(;;){if(a){var\ne=a[2],f=a[1];if(0===b)return f;var\na=e,b=b-1|0;continue}return ch(kz)}}return I(kA)}function\ncn(d,c){var\na=d,b=c;for(;;){if(a){var\ne=[0,a[1],b],a=a[2],b=e;continue}return b}}function\nG(a){return cn(a,0)}function\naj(c,a){if(a){var\nd=a[2],e=b(c,a[1]);return[0,e,aj(c,d)]}return 0}function\nbT(d,c){var\na=c;for(;;){if(a){var\ne=a[2];b(d,a[1]);var\na=e;continue}return 0}}function\nbi(e,d,c){var\nb=d,a=c;for(;;){if(a){var\ng=a[2],b=f(e,b,a[1]),a=g;continue}return b}}function\ngz(c,a,b){if(a){var\nd=a[1];return f(c,d,gz(c,a[2],b))}return b}function\ngA(e,d){var\na=d;for(;;){if(a){var\nf=a[2],c=b(e,a[1]);if(c){var\na=f;continue}return c}return 1}}function\nV(e,d){var\na=d;for(;;){if(a){var\nf=a[2],c=b(e,a[1]);if(c)return c;var\na=f;continue}return 0}}function\ngB(d,c){var\na=c;for(;;){if(a){var\ne=a[2],b=0===ce(a[1],d)?1:0;if(b)return b;var\na=e;continue}return 0}}function\nco(d,c){var\na=c;for(;;){if(a){var\nb=a[1],e=a[2],f=b[2];if(0===ce(b[1],d))return f;var\na=e;continue}throw p}}function\nde(b,a){return a<=b?b:a}function\naN(a,c){var\nb=D(a);zJ(b,0,a,c);return b}var\nkB=D(0);function\nez(a){var\nb=ax(a),c=D(b);bc(a,0,c,0,b);return c}function\ndf(a){return O(ez(a))}function\neA(c,b,a){if(0<=b&&0<=a&&!((ax(c)-a|0)<b)){var\nd=D(a);bc(c,b,d,0,a);return d}return I(kC)}function\ndg(c,b,a){return O(eA(c,b,a))}function\ngC(e,c,d,b,a){if(0<=a&&0<=c&&!((ax(e)-a|0)<c)&&0<=b&&!((ax(d)-a|0)<b))return bc(e,c,d,b,a);return I(kD)}function\naZ(e,c,d,b,a){if(0<=a&&0<=c&&!((k(e)-a|0)<c)&&0<=b&&!((ax(d)-a|0)<b))return bd(e,c,d,b,a);return I(kE)}function\ngD(c){var\na=c-9|0,b=0;if(4<a>>>0){if(23===a)b=1}else\nif(2!==a)b=1;return b?1:0}function\neB(g,c){var\nd=ax(c);if(0===d)return c;var\ne=D(d),f=d-1|0,h=0;if(!(f<0)){var\na=h;for(;;){H(e,a,b(g,bL(c,a)));var\ni=a+1|0;if(f!==a){var\na=i;continue}break}}return e}function\ngE(b,a){return O(aN(b,a))}function\naq(c,b,a){return O(eA(au(c),b,a))}function\naz(l,g){if(g){var\nh=k(l),c=0,b=g,q=0;for(;;){if(b){var\ni=b[1];if(b[2]){var\nj=(k(i)+h|0)+c|0,n=b[2],o=c<=j?j:I(kF),c=o,b=n;continue}var\nm=k(i)+c|0}else\nvar\nm=c;var\nf=D(m),e=q,d=g;for(;;){if(d){var\na=d[1];if(d[2]){var\np=d[2];bd(a,0,f,e,k(a));bd(l,0,f,e+k(a)|0,h);var\ne=(e+k(a)|0)+h|0,d=p;continue}bd(a,0,f,e,k(a))}return O(f)}}}return kG}function\ngF(c){var\na=c-9|0,b=0;if(4<a>>>0){if(23===a)b=1}else\nif(2!==a)b=1;return b?1:0}function\ngG(e,d,c,b){var\na=c;for(;;){if(d<=a)throw p;if(ay(e,a)===b)return a;var\na=a+1|0;continue}}function\neC(a,b){return gG(a,k(a),0,b)}function\nkI(b,a,d){var\nc=k(b);if(0<=a&&!(c<a))try{gG(b,c,a,d);var\ne=1;return e}catch(a){a=C(a);if(a===p)return 0;throw a}return I(kJ)}function\ngH(b,a){return kI(b,0,a)}function\ndh(a){return O(eB(kw,au(a)))}function\ngI(a){return O(eB(cm,au(a)))}var\nkK=c9;function\ngJ(e,c,d,b,a){if(0<=a&&0<=c&&!((e.length-1-a|0)<c)&&0<=b&&!((d.length-1-a|0)<b))return zB(e,c,d,b,a);return I(kM)}function\ngK(e,c){var\nd=c.length-1;if(0===d)return[0];var\nf=aM(d,b(e,c[1])),g=d-1|0,h=1;if(!(g<1)){var\na=h;for(;;){f[1+a]=b(e,c[1+a]);var\ni=a+1|0;if(g!==a){var\na=i;continue}break}}return f}function\na0(f,e,a){var\nc=z_(f,e,a),d=0<=c?1:0,g=d?a[12]!==di?1:0:d;if(g){a[11]=a[12];var\nb=a[12];a[12]=[0,b[1],b[2],b[3],a[4]+a[6]|0]}return c}function\ngM(b,a){var\nc=b?b[1]:1,e=c?gL:di,f=c?gL:di,g=[0],h=1,i=0,j=0,l=0,m=0,n=0,o=k(a),d=ez(au(a));return[0,function(a){a[9]=1;return 0},d,o,n,m,l,j,i,h,g,f,e]}function\nJ(a){return dg(a[2],a[5],a[6]-a[5]|0)}function\neD(c,a,b){return dg(c[2],a,b-a|0)}function\ngN(d){function\nq(a){return a?a[4]:0}function\ne(b,e,a){var\nc=b?b[4]:0,d=a?a[4]:0,f=d<=c?c+1|0:d+1|0;return[0,b,e,a,f]}function\ng(b,f,a){var\ng=b?b[4]:0,h=a?a[4]:0;if((h+2|0)<g){if(b){var\nc=b[3],k=b[2],i=b[1],m=q(c);if(m<=q(i))return e(i,k,e(c,f,a));if(c){var\nn=c[2],o=c[1],p=e(c[3],f,a);return e(e(i,k,o),n,p)}return I(kN)}return I(kO)}if((g+2|0)<h){if(a){var\nj=a[3],l=a[2],d=a[1],r=q(d);if(r<=q(j))return e(e(b,f,d),l,j);if(d){var\ns=d[2],t=d[1],u=e(d[3],l,j);return e(e(b,f,t),s,u)}return I(kP)}return I(kQ)}var\nv=h<=g?g+1|0:h+1|0;return[0,b,f,a,v]}function\na(c,b){if(b){var\ne=b[3],h=b[2],i=b[1],j=f(d[1],c,h);if(0===j)return b;if(0<=j){var\nk=a(c,e);return e===k?b:g(i,h,k)}var\nl=a(c,i);return i===l?b:g(l,h,e)}return[0,0,c,0,1]}function\nh(a){return[0,0,a,0,1]}function\nE(b,a){if(a){var\nc=a[3],d=a[2];return g(E(b,a[1]),d,c)}return h(b)}function\nF(b,a){if(a){var\nc=a[2],d=a[1];return g(d,c,F(b,a[3]))}return h(b)}function\nc(b,d,a){if(b){if(a){var\nf=a[4],h=b[4],i=a[3],j=a[2],k=a[1],l=b[3],m=b[2],n=b[1];return(f+2|0)<h?g(n,m,c(l,d,a)):(h+2|0)<f?g(c(b,d,k),j,i):e(b,d,a)}return F(d,b)}return E(d,a)}function\nj(c){var\na=c;for(;;){if(a){var\nb=a[1];if(b){var\na=b;continue}return a[2]}throw p}}function\nG(c){var\na=c;for(;;){if(a){var\nb=a[1];if(b){var\na=b;continue}return[0,a[2]]}return 0}}function\nH(b){var\na=b;for(;;){if(a){if(a[3]){var\na=a[3];continue}return a[2]}throw p}}function\nT(b){var\na=b;for(;;){if(a){if(a[3]){var\na=a[3];continue}return[0,a[2]]}return 0}}function\nr(a){if(a){var\nb=a[1];if(b){var\nc=a[3],d=a[2];return g(r(b),d,c)}return a[3]}return I(kR)}function\nm(b,a){if(b){if(a){var\nd=r(a);return c(b,j(a),d)}return b}return a}function\ni(b,a){if(a){var\ne=a[3],g=a[2],h=a[1],l=f(d[1],b,g);if(0===l)return[0,h,1,e];if(0<=l){var\nj=i(b,e),m=j[3],n=j[2];return[0,c(h,g,j[1]),n,m]}var\nk=i(b,h),o=k[2],p=k[1];return[0,p,o,c(k[3],g,e)]}return kS}var\nu=0;function\nU(a){return a?0:1}function\nV(g,e){var\na=e;for(;;){if(a){var\nh=a[3],i=a[1],b=f(d[1],g,a[2]),c=0===b?1:0;if(c)return c;var\nj=0<=b?h:i,a=j;continue}return 0}}function\nv(e,b){if(b){var\na=b[3],h=b[2],c=b[1],i=f(d[1],e,h);if(0===i){if(c){if(a){var\nm=r(a);return g(c,j(a),m)}return c}return a}if(0<=i){var\nk=v(e,a);return a===k?b:g(c,h,k)}var\nl=v(e,c);return c===l?b:g(l,h,a)}return 0}function\nk(d,b){if(d){if(b){var\ng=b[4],e=b[2],h=d[4],f=d[2],m=b[3],n=b[1],o=d[3],p=d[1];if(g<=h){if(1===g)return a(e,d);var\nj=i(f,b),q=j[1],r=k(o,j[3]);return c(k(p,q),f,r)}if(1===h)return a(f,b);var\nl=i(e,d),s=l[1],t=k(l[3],m);return c(k(s,n),e,t)}return d}return b}function\nn(a,d){if(a){if(d){var\ne=a[3],f=a[2],g=a[1],b=i(f,d),h=b[1];if(b[2]){var\nj=n(e,b[3]);return c(n(g,h),f,j)}var\nk=n(e,b[3]);return m(n(g,h),k)}return 0}return 0}function\nw(e,a){if(a){var\nj=a[3],g=a[2],k=a[1],l=f(d[1],e,g);if(0===l)return 0;if(0<=l){var\nh=w(e,j);if(h){var\nm=h[2];return[0,c(k,g,h[1]),m]}return 0}var\ni=w(e,k);if(i){var\nn=i[2],o=i[1];return[0,o,function(a){return c(b(n,0),g,j)}]}return 0}return[0,0,function(a){return 0}]}function\nJ(g,f){var\na=g,c=f;for(;;){if(a&&c){var\nh=a[3],i=a[2],j=a[1];if(a===c)return 0;var\nd=w(i,c);if(d){var\nk=d[2],e=J(j,d[1]);if(e){var\na=h,c=b(k,0);continue}return e}return 0}return 1}}function\no(a,d){if(a){if(d){var\ne=a[3],f=a[2],g=a[1],b=i(f,d),h=b[1];if(b[2]){var\nj=o(e,b[3]);return m(o(g,h),j)}var\nk=o(e,b[3]);return c(o(g,h),f,k)}return a}return 0}function\nl(d,c){var\na=d,b=c;for(;;){if(a){var\ne=[0,a[2],a[3],b],a=a[1],b=e;continue}return b}}function\nK(m,k){var\nn=l(k,0),b=l(m,0),a=n;for(;;){if(b){if(a){var\ne=a[3],g=a[2],h=b[3],i=b[2],c=f(d[1],b[1],a[1]);if(0===c){var\nj=l(g,e),b=l(i,h),a=j;continue}return c}return 1}return a?-1:0}}function\nW(b,a){return 0===K(b,a)?1:0}function\nt(o,n){var\na=o,b=n;for(;;){if(a){if(b){var\nh=b[3],i=b[1],c=a[3],e=a[2],g=a[1],j=f(d[1],e,b[2]);if(0===j){var\nk=t(g,i);if(k){var\na=c,b=h;continue}return k}if(0<=j){var\nl=t([0,0,e,c,0],h);if(l){var\na=g;continue}return l}var\nm=t([0,g,e,0,0],i);if(m){var\na=c;continue}return m}return 0}return 1}}function\nL(c,d){var\na=d;for(;;){if(a){var\ne=a[3],f=a[2];L(c,a[1]);b(c,f);var\na=e;continue}return 0}}function\nM(c,e,d){var\na=e,b=d;for(;;){if(a){var\ng=a[3],h=a[2],i=f(c,h,M(c,a[1],b)),a=g,b=i;continue}return b}}function\nN(c,g){var\na=g;for(;;){if(a){var\nh=a[3],i=a[1],d=b(c,a[2]);if(d){var\ne=N(c,i);if(e){var\na=h;continue}var\nf=e}else\nvar\nf=d;return f}return 1}}function\nO(c,g){var\na=g;for(;;){if(a){var\nh=a[3],i=a[1],d=b(c,a[2]);if(d)var\ne=d;else{var\nf=O(c,i);if(!f){var\na=h;continue}var\ne=f}return e}return 0}}function\nx(d,a){if(a){var\ng=a[3],h=a[2],i=a[1],e=x(d,i),j=b(d,h),f=x(d,g);if(j){if(i===e&&g===f)return a;return c(e,h,f)}return m(e,f)}return 0}function\ny(d,a){if(a){var\ne=a[2],l=a[3],f=y(d,a[1]),g=f[2],h=f[1],n=b(d,e),i=y(d,l),j=i[2],k=i[1];if(n){var\no=m(g,j);return[0,c(h,e,k),o]}var\np=c(g,e,j);return[0,m(h,k),p]}return kT}function\nz(a){if(a){var\nb=a[1],c=z(a[3]);return(z(b)+1|0)+c|0}return 0}function\nP(d,c){var\nb=d,a=c;for(;;){if(a){var\ne=a[2],f=a[1],b=[0,e,P(b,a[3])],a=f;continue}return b}}function\nX(a){return P(0,a)}function\nY(g,e){var\na=e;for(;;){if(a){var\nb=a[2],h=a[3],i=a[1],c=f(d[1],g,b);if(0===c)return b;var\nj=0<=c?h:i,a=j;continue}throw p}}function\nZ(f,j){var\nc=j;for(;;){if(c){var\ng=c[2],k=c[3],l=c[1];if(b(f,g)){var\nd=g,a=l;for(;;){if(a){var\ne=a[2],h=a[3],i=a[1];if(b(f,e)){var\nd=e,a=i;continue}var\na=h;continue}return d}}var\nc=k;continue}throw p}}function\n_(f,j){var\nc=j;for(;;){if(c){var\ng=c[2],k=c[3],l=c[1];if(b(f,g)){var\nd=g,a=l;for(;;){if(a){var\ne=a[2],h=a[3],i=a[1];if(b(f,e)){var\nd=e,a=i;continue}var\na=h;continue}return[0,d]}}var\nc=k;continue}return 0}}function\n$(f,j){var\nc=j;for(;;){if(c){var\ng=c[2],k=c[3],l=c[1];if(b(f,g)){var\nd=g,a=k;for(;;){if(a){var\ne=a[2],h=a[3],i=a[1];if(b(f,e)){var\nd=e,a=h;continue}var\na=i;continue}return d}}var\nc=l;continue}throw p}}function\naa(f,j){var\nc=j;for(;;){if(c){var\ng=c[2],k=c[3],l=c[1];if(b(f,g)){var\nd=g,a=k;for(;;){if(a){var\ne=a[2],h=a[3],i=a[1];if(b(f,e)){var\nd=e,a=h;continue}var\na=i;continue}return[0,d]}}var\nc=l;continue}return 0}}function\nab(g,e){var\na=e;for(;;){if(a){var\nb=a[2],h=a[3],i=a[1],c=f(d[1],g,b);if(0===c)return[0,b];var\nj=0<=c?h:i,a=j;continue}return 0}}function\nA(g,e,b){var\nh=0;if(0!==g){var\nm=H(g);if(0<=f(d[1],m,e))h=1}if(!h){var\ni=0;if(0!==b){var\nl=j(b);if(0<=f(d[1],e,l))i=1}if(!i)return c(g,e,b)}return k(g,a(e,b))}function\nB(c,a){if(a){var\nd=a[3],e=a[2],f=a[1],g=B(c,f),h=b(c,e),i=B(c,d);if(f===g&&e===h&&d===i)return a;return A(g,h,i)}return 0}function\nC(e,c){if(c){var\nf=c[3],g=c[2],h=c[1],d=C(e,h),i=b(e,g),a=C(e,f);if(i){var\nk=i[1];if(h===d&&g===k&&f===a)return c;return A(d,k,a)}if(d){if(a){var\nl=r(a);return A(d,j(a),l)}return d}return a}return 0}function\nac(c){if(c){var\nk=c[2],g=c[1];if(k){var\nl=k[2],i=k[1];if(l){var\nn=l[2],o=l[1];if(n){var\np=n[2],r=n[1];if(p){if(p[2]){var\nb=d[1],x=function(j,g){if(2===j){if(g){var\nn=g[2];if(n){var\no=n[1],k=g[1],J=n[2],y=f(b,k,o),K=0===y?[0,k,0]:0<y?[0,k,[0,o,0]]:[0,o,[0,k,0]];return[0,K,J]}}}else\nif(3===j&&g){var\np=g[2];if(p){var\nq=p[2];if(q){var\nc=q[1],a=p[1],d=g[1],N=q[2],D=f(b,d,a);if(0===D)var\nE=f(b,a,c),O=0===E?[0,a,0]:0<E?[0,a,[0,c,0]]:[0,c,[0,a,0]],r=O;else\nif(0<D){var\nF=f(b,a,c);if(0===F)var\ns=[0,d,[0,a,0]];else\nif(0<F)var\ns=[0,d,[0,a,[0,c,0]]];else\nvar\nG=f(b,d,c),P=0===G?[0,d,[0,a,0]]:0<G?[0,d,[0,c,[0,a,0]]]:[0,c,[0,d,[0,a,0]]],s=P;var\nr=s}else{var\nH=f(b,d,c);if(0===H)var\nt=[0,a,[0,d,0]];else\nif(0<H)var\nt=[0,a,[0,d,[0,c,0]]];else\nvar\nI=f(b,a,c),Q=0===I?[0,a,[0,d,0]]:0<I?[0,a,[0,c,[0,d,0]]]:[0,c,[0,a,[0,d,0]]],t=Q;var\nr=t}return[0,r,N]}}}var\nz=j>>1,A=m(z,g),L=A[1],B=m(j-z|0,A[2]),i=L,h=B[1],e=0,M=B[2];for(;;){if(i){if(h){var\nu=h[2],v=h[1],w=i[2],l=i[1],x=f(b,l,v);if(0===x){var\ni=w,h=u,e=[0,l,e];continue}if(0<=x){var\nh=u,e=[0,v,e];continue}var\ni=w,e=[0,l,e];continue}var\nC=cn(i,e)}else\nvar\nC=cn(h,e);return[0,C,M]}},m=function(j,g){if(2===j){if(g){var\nm=g[2];if(m){var\nn=m[1],k=g[1],J=m[2],y=f(b,k,n),K=0===y?[0,k,0]:0<=y?[0,n,[0,k,0]]:[0,k,[0,n,0]];return[0,K,J]}}}else\nif(3===j&&g){var\no=g[2];if(o){var\np=o[2];if(p){var\nc=p[1],a=o[1],d=g[1],N=p[2],D=f(b,d,a);if(0===D)var\nE=f(b,a,c),O=0===E?[0,a,0]:0<=E?[0,c,[0,a,0]]:[0,a,[0,c,0]],q=O;else\nif(0<=D){var\nF=f(b,d,c);if(0===F)var\nr=[0,a,[0,d,0]];else\nif(0<=F)var\nG=f(b,a,c),P=0===G?[0,a,[0,d,0]]:0<=G?[0,c,[0,a,[0,d,0]]]:[0,a,[0,c,[0,d,0]]],r=P;else\nvar\nr=[0,a,[0,d,[0,c,0]]];var\nq=r}else{var\nH=f(b,a,c);if(0===H)var\ns=[0,d,[0,a,0]];else\nif(0<=H)var\nI=f(b,d,c),Q=0===I?[0,d,[0,a,0]]:0<=I?[0,c,[0,d,[0,a,0]]]:[0,d,[0,c,[0,a,0]]],s=Q;else\nvar\ns=[0,d,[0,a,[0,c,0]]];var\nq=s}return[0,q,N]}}}var\nz=j>>1,A=x(z,g),L=A[1],B=x(j-z|0,A[2]),i=L,h=B[1],e=0,M=B[2];for(;;){if(i){if(h){var\nt=h[2],u=h[1],v=i[2],l=i[1],w=f(b,l,u);if(0===w){var\ni=v,h=t,e=[0,l,e];continue}if(0<w){var\ni=v,e=[0,l,e];continue}var\nh=t,e=[0,u,e];continue}var\nC=cn(i,e)}else\nvar\nC=cn(h,e);return[0,C,M]}},q=bh(c),t=2<=q?m(q,c)[1]:c,j=function(b,a){if(!(3<b>>>0))switch(b){case\n0:return[0,0,a];case\n1:if(a)return[0,[0,0,a[1],0,1],a[2]];break;case\n2:if(a){var\nd=a[2];if(d)return[0,[0,[0,0,a[1],0,1],d[1],0,2],d[2]]}break;default:if(a){var\nf=a[2];if(f){var\ng=f[2];if(g)return[0,[0,[0,0,a[1],0,1],f[1],[0,0,g[1],0,1],2],g[2]]}}}var\nh=b/2|0,i=j(h,a),c=i[2],l=i[1];if(c){var\nm=c[1],k=j((b-h|0)-1|0,c[2]),n=k[2];return[0,e(l,m,k[1]),n]}throw[0,s,kU]};return j(bh(t),t)[1]}var\nv=p[1];return a(v,a(r,a(o,a(i,h(g)))))}return a(r,a(o,a(i,h(g))))}return a(o,a(i,h(g)))}return a(i,h(g))}return h(g)}return u}function\nQ(c,b){return gx(function(c,b){return a(b,c)},b,c)}function\nad(a){return Q(a,u)}function\nD(a,d){if(a){var\nb=a[1],c=l(a[2],a[3]);return[0,b,function(a){return D(c,a)}]}return 0}function\nae(a){var\nb=l(a,0);return function(a){return D(b,a)}}function\nR(d,c){var\na=d,b=c;for(;;){if(a){var\ne=[0,a[2],a[1],b],a=a[3],b=e;continue}return b}}function\nS(a,d){if(a){var\nb=a[1],c=R(a[2],a[3]);return[0,b,function(a){return S(c,a)}]}return 0}function\naf(a){var\nb=R(a,0);return function(a){return S(b,a)}}return[0,u,U,V,a,h,v,k,n,J,o,K,W,t,L,B,M,N,O,x,C,y,z,X,j,G,H,T,j,G,i,Y,ab,Z,_,$,aa,ac,function(j,i){var\na=i,b=0;for(;;){if(a){var\nc=a[3],e=a[2],k=a[1],g=f(d[1],e,j);if(0!==g){if(0<=g){var\na=k,b=[0,e,c,b];continue}var\na=c;continue}var\nh=[0,e,c,b]}else\nvar\nh=b;return function(a){return D(h,a)}}},ae,af,Q,ad]}function\ndj(g){function\nh(a){return a?a[5]:0}function\nd(b,f,e,a){var\nc=h(b),d=h(a),g=d<=c?c+1|0:d+1|0;return[0,b,f,e,a,g]}function\nq(b,a){return[0,0,b,a,0,1]}function\na(b,g,f,a){var\ni=b?b[5]:0,j=a?a[5]:0;if((j+2|0)<i){if(b){var\nc=b[4],m=b[3],n=b[2],k=b[1],q=h(c);if(q<=h(k))return d(k,n,m,d(c,g,f,a));if(c){var\nr=c[3],s=c[2],t=c[1],u=d(c[4],g,f,a);return d(d(k,n,m,t),s,r,u)}return I(kV)}return I(kW)}if((i+2|0)<j){if(a){var\nl=a[4],o=a[3],p=a[2],e=a[1],v=h(e);if(v<=h(l))return d(d(b,g,f,e),p,o,l);if(e){var\nw=e[3],x=e[2],y=e[1],z=d(e[4],p,o,l);return d(d(b,g,f,y),x,w,z)}return I(kX)}return I(kY)}var\nA=j<=i?i+1|0:j+1|0;return[0,b,g,f,a,A]}var\nC=0;function\nQ(a){return a?0:1}function\nm(d,c,b){if(b){var\ne=b[4],i=b[3],j=b[2],h=b[1],o=b[5],k=f(g[1],d,j);if(0===k)return i===c?b:[0,h,d,c,e,o];if(0<=k){var\nl=m(d,c,e);return e===l?b:a(h,j,i,l)}var\nn=m(d,c,h);return h===n?b:a(n,j,i,e)}return[0,0,d,c,0,1]}function\nR(d,c){var\na=c;for(;;){if(a){var\ne=a[4],h=a[3],i=a[1],b=f(g[1],d,a[2]);if(0===b)return h;var\nj=0<=b?e:i,a=j;continue}throw p}}function\nS(g,l){var\nc=l;for(;;){if(c){var\nh=c[2],m=c[4],n=c[3],o=c[1];if(b(g,h)){var\ne=h,d=n,a=o;for(;;){if(a){var\nf=a[2],i=a[4],j=a[3],k=a[1];if(b(g,f)){var\ne=f,d=j,a=k;continue}var\na=i;continue}return[0,e,d]}}var\nc=m;continue}throw p}}function\nT(g,l){var\nc=l;for(;;){if(c){var\nh=c[2],m=c[4],n=c[3],o=c[1];if(b(g,h)){var\ne=h,d=n,a=o;for(;;){if(a){var\nf=a[2],i=a[4],j=a[3],k=a[1];if(b(g,f)){var\ne=f,d=j,a=k;continue}var\na=i;continue}return[0,[0,e,d]]}}var\nc=m;continue}return 0}}function\nU(g,l){var\nc=l;for(;;){if(c){var\nh=c[2],m=c[4],n=c[3],o=c[1];if(b(g,h)){var\ne=h,d=n,a=m;for(;;){if(a){var\nf=a[2],i=a[4],j=a[3],k=a[1];if(b(g,f)){var\ne=f,d=j,a=i;continue}var\na=k;continue}return[0,e,d]}}var\nc=o;continue}throw p}}function\nV(g,l){var\nc=l;for(;;){if(c){var\nh=c[2],m=c[4],n=c[3],o=c[1];if(b(g,h)){var\ne=h,d=n,a=m;for(;;){if(a){var\nf=a[2],i=a[4],j=a[3],k=a[1];if(b(g,f)){var\ne=f,d=j,a=i;continue}var\na=k;continue}return[0,[0,e,d]]}}var\nc=o;continue}return 0}}function\nW(d,c){var\na=c;for(;;){if(a){var\ne=a[4],h=a[3],i=a[1],b=f(g[1],d,a[2]);if(0===b)return[0,h];var\nj=0<=b?e:i,a=j;continue}return 0}}function\nX(e,d){var\na=d;for(;;){if(a){var\nh=a[4],i=a[1],b=f(g[1],e,a[2]),c=0===b?1:0;if(c)return c;var\nj=0<=b?h:i,a=j;continue}return 0}}function\nn(c){var\na=c;for(;;){if(a){var\nb=a[1];if(b){var\na=b;continue}return[0,a[2],a[3]]}throw p}}function\nD(c){var\na=c;for(;;){if(a){var\nb=a[1];if(b){var\na=b;continue}return[0,[0,a[2],a[3]]]}return 0}}function\nY(b){var\na=b;for(;;){if(a){if(a[4]){var\na=a[4];continue}return[0,a[2],a[3]]}throw p}}function\nZ(b){var\na=b;for(;;){if(a){if(a[4]){var\na=a[4];continue}return[0,[0,a[2],a[3]]]}return 0}}function\nr(b){if(b){var\nc=b[1];if(c){var\nd=b[4],e=b[3],f=b[2];return a(r(c),f,e,d)}return b[4]}return I(kZ)}function\nE(c,b){if(c){if(b){var\nd=n(b),e=d[2],f=d[1];return a(c,f,e,r(b))}return c}return b}function\nt(e,b){if(b){var\nc=b[4],i=b[3],h=b[2],d=b[1],j=f(g[1],e,h);if(0===j)return E(d,c);if(0<=j){var\nk=t(e,c);return c===k?b:a(d,h,i,k)}var\nl=t(e,d);return d===l?b:a(l,h,i,c)}return 0}function\nu(d,i,c){if(c){var\ne=c[4],j=c[3],k=c[2],h=c[1],r=c[5],l=f(g[1],d,k);if(0===l){var\nm=b(i,[0,j]);if(m){var\nn=m[1];return j===n?c:[0,h,d,n,e,r]}return E(h,e)}if(0<=l){var\no=u(d,i,e);return e===o?c:a(h,k,j,o)}var\np=u(d,i,h);return h===p?c:a(p,k,j,e)}var\nq=b(i,0);return q?[0,0,d,q[1],0,1]:0}function\nF(b,c){var\na=c;for(;;){if(a){var\nd=a[4],e=a[3],g=a[2];F(b,a[1]);f(b,g,e);var\na=d;continue}return 0}}function\nv(c,a){if(a){var\nd=a[5],e=a[4],f=a[3],g=a[2],h=v(c,a[1]),i=b(c,f);return[0,h,g,i,v(c,e),d]}return 0}function\nw(b,a){if(a){var\nc=a[2],d=a[5],e=a[4],g=a[3],h=w(b,a[1]),i=f(b,c,g);return[0,h,c,i,w(b,e),d]}return 0}function\nG(c,e,d){var\na=e,b=d;for(;;){if(a){var\nf=a[4],g=a[3],h=a[2],i=aJ(c,h,g,G(c,a[1],b)),a=f,b=i;continue}return b}}function\nH(b,g){var\na=g;for(;;){if(a){var\nh=a[4],i=a[1],c=f(b,a[2],a[3]);if(c){var\nd=H(b,i);if(d){var\na=h;continue}var\ne=d}else\nvar\ne=c;return e}return 1}}function\nJ(b,g){var\na=g;for(;;){if(a){var\nh=a[4],i=a[1],c=f(b,a[2],a[3]);if(c)var\nd=c;else{var\ne=J(b,i);if(!e){var\na=h;continue}var\nd=e}return d}return 0}}function\nK(d,c,b){if(b){var\ne=b[4],f=b[3],g=b[2];return a(K(d,c,b[1]),g,f,e)}return q(d,c)}function\nL(d,c,b){if(b){var\ne=b[3],f=b[2],g=b[1];return a(g,f,e,L(d,c,b[4]))}return q(d,c)}function\nc(e,g,f,b){if(e){if(b){var\nh=b[5],i=e[5],j=b[4],k=b[3],l=b[2],m=b[1],n=e[4],o=e[3],p=e[2],q=e[1];return(h+2|0)<i?a(q,p,o,c(n,g,f,b)):(i+2|0)<h?a(c(e,g,f,m),l,k,j):d(e,g,f,b)}return L(g,f,e)}return K(g,f,b)}function\nj(b,a){if(b){if(a){var\nd=n(a),e=d[2],f=d[1];return c(b,f,e,r(a))}return b}return a}function\no(d,e,b,a){return b?c(d,e,b[1],a):j(d,a)}function\ni(b,a){if(a){var\nd=a[4],e=a[3],h=a[2],j=a[1],m=f(g[1],b,h);if(0===m)return[0,j,[0,e],d];if(0<=m){var\nk=i(b,d),n=k[3],o=k[2];return[0,c(j,h,e,k[1]),o,n]}var\nl=i(b,j),p=l[2],q=l[1];return[0,q,p,c(l[3],h,e,d)]}return k0}function\nk(c,b,a){if(b){var\nd=b[2],j=b[5],l=b[4],m=b[3],n=b[1];if(h(a)<=j){var\ne=i(d,a),p=e[2],q=e[1],r=k(c,l,e[3]),t=aJ(c,d,[0,m],p);return o(k(c,n,q),d,t,r)}}else\nif(!a)return 0;if(a){var\nf=a[2],u=a[4],v=a[3],w=a[1],g=i(f,b),x=g[2],y=g[1],z=k(c,g[3],u),A=aJ(c,f,x,[0,v]);return o(k(c,y,w),f,A,z)}throw[0,s,k1]}function\nl(d,b,a){if(b){if(a){var\nj=a[3],e=a[2],k=b[3],f=b[2],u=a[4],v=a[1],w=b[4],x=b[1];if(a[5]<=b[5]){var\ng=i(f,a),m=g[2],y=g[3],n=l(d,x,g[1]),p=l(d,w,y);return m?o(n,f,aJ(d,f,k,m[1]),p):c(n,f,k,p)}var\nh=i(e,b),q=h[2],z=h[3],r=l(d,h[1],v),s=l(d,z,u);return q?o(r,e,aJ(d,e,q[1],j),s):c(r,e,j,s)}var\nt=b}else\nvar\nt=a;return t}function\nx(b,a){if(a){var\ng=a[4],h=a[3],i=a[2],k=a[1],d=x(b,k),l=f(b,i,h),e=x(b,g);if(l){if(k===d&&g===e)return a;return c(d,i,h,e)}return j(d,e)}return 0}function\ny(b,a){if(a){var\nd=a[2],i=a[4],k=a[3],e=y(b,a[1]),g=f(b,d,k),h=y(b,i);return g?c(e,d,g[1],h):j(e,h)}return 0}function\nz(b,a){if(a){var\nd=a[3],e=a[2],n=a[4],g=z(b,a[1]),h=g[2],i=g[1],o=f(b,e,d),k=z(b,n),l=k[2],m=k[1];if(o){var\np=j(h,l);return[0,c(i,e,d,m),p]}var\nq=c(h,e,d,l);return[0,j(i,m),q]}return k2}function\ne(d,c){var\na=d,b=c;for(;;){if(a){var\ne=[0,a[2],a[3],a[4],b],a=a[1],b=e;continue}return b}}function\n_(j,i,h){var\nr=e(h,0),b=e(i,0),a=r;for(;;){if(b){if(a){var\nk=a[4],l=a[3],m=a[2],n=b[4],o=b[3],p=b[2],c=f(g[1],b[1],a[1]);if(0===c){var\nd=f(j,p,m);if(0===d){var\nq=e(l,k),b=e(o,n),a=q;continue}return d}return c}return 1}return a?-1:0}}function\n$(k,j,i){var\ns=e(i,0),b=e(j,0),a=s;for(;;){if(b){if(a){var\nl=a[4],m=a[3],n=a[2],o=b[4],p=b[3],q=b[2],c=0===f(g[1],b[1],a[1])?1:0;if(c){var\nd=f(k,q,n);if(d){var\nr=e(m,l),b=e(p,o),a=r;continue}var\nh=d}else\nvar\nh=c;return h}return 0}return a?0:1}}function\nA(a){if(a){var\nb=a[1],c=A(a[4]);return(A(b)+1|0)+c|0}return 0}function\nM(d,c){var\nb=d,a=c;for(;;){if(a){var\ne=a[3],f=a[2],g=a[1],b=[0,[0,f,e],M(b,a[4])],a=g;continue}return b}}function\naa(a){return M(0,a)}function\nN(b,a){return gx(function(b,a){return m(a[1],a[2],b)},a,b)}function\nab(a){return N(a,C)}function\nB(a,f){if(a){var\nb=a[2],c=a[1],d=e(a[3],a[4]);return[0,[0,c,b],function(a){return B(d,a)}]}return 0}function\nac(a){var\nb=e(a,0);return function(a){return B(b,a)}}function\nO(d,c){var\na=d,b=c;for(;;){if(a){var\ne=[0,a[2],a[3],a[1],b],a=a[4],b=e;continue}return b}}function\nP(a,e){if(a){var\nb=a[2],c=a[1],d=O(a[3],a[4]);return[0,[0,c,b],function(a){return P(d,a)}]}return 0}function\nad(a){var\nb=O(a,0);return function(a){return P(b,a)}}return[0,C,Q,X,m,u,q,t,k,l,_,$,F,G,H,J,x,y,z,A,aa,n,D,Y,Z,n,D,i,R,W,S,T,U,V,v,w,ac,ad,function(k,j){var\na=j,b=0;for(;;){if(a){var\nc=a[4],e=a[3],d=a[2],l=a[1],h=f(g[1],d,k);if(0!==h){if(0<=h){var\na=l,b=[0,d,e,c,b];continue}var\na=c;continue}var\ni=[0,d,e,c,b]}else\nvar\ni=b;return function(a){return B(i,a)}}},N,ab]}var\neE=[A,k3,be(0)];function\ngO(a){return[0,0,0]}function\neF(b,a){a[1]=[0,b,a[1]];a[2]=a[2]+1|0;return 0}function\ncp(a){var\nb=a[1];if(b){var\nc=b[1];a[1]=b[2];a[2]=a[2]-1|0;return c}throw eE}function\nk4(b,a){return bT(b,a[1])}function\ngP(a){var\nb=1<=a?a:1,c=cj<b?cj:b,d=D(c);return[0,d,0,c,d]}function\ngQ(a){return dg(a[1],0,a[2])}function\ngR(a,c){var\nd=a[2],b=[0,a[3]];for(;;){if(b[1]<(d+c|0)){b[1]=2*b[1]|0;continue}if(cj<b[1])if((d+c|0)<=cj)b[1]=cj;else\nch(k7);var\ne=D(b[1]);gC(a[1],0,e,0,a[2]);a[1]=e;a[3]=b[1];if((a[2]+c|0)<=a[3]){if((d+c|0)<=a[3])return 0;throw[0,s,k5]}throw[0,s,k6]}}function\nbU(a,c){var\nb=k(c),d=a[2]+b|0;if(a[3]<d)gR(a,b);bd(c,0,a[1],a[2],b);a[2]=d;return 0}function\neG(a){return 5===a[2]?12:-6}function\ngS(a){return[0,0,D(a)]}function\ngT(a,g){var\nb=ax(a[2]),c=a[1]+g|0,d=b<c?1:0;if(d){var\ne=D(de(b*2|0,c));gC(a[2],0,e,0,b);a[2]=e;var\nf=0}else\nvar\nf=d;return f}function\nbV(a,b){gT(a,1);aL(a[2],a[1],b);a[1]=a[1]+1|0;return 0}function\nS(a,c){var\nb=k(c);gT(a,b);aZ(c,0,a[2],a[1],b);a[1]=a[1]+b|0;return 0}function\ngU(a){return dg(a[2],0,a[1])}function\ngV(a){if(typeof\na===\"number\")switch(a){case\n0:return k8;case\n1:return k9;case\n2:return k_;case\n3:return k$;case\n4:return la;case\n5:return lb;default:return lc}else\nswitch(a[0]){case\n0:return a[1];case\n1:return a[1];default:return h(ld,gE(1,a[1]))}}function\neH(b,c){var\na=c;for(;;)if(typeof\na===\"number\")return 0;else\nswitch(a[0]){case\n0:var\nd=a[1];S(b,le);var\na=d;continue;case\n1:var\ne=a[1];S(b,lf);var\na=e;continue;case\n2:var\nf=a[1];S(b,lg);var\na=f;continue;case\n3:var\ng=a[1];S(b,lh);var\na=g;continue;case\n4:var\nh=a[1];S(b,li);var\na=h;continue;case\n5:var\ni=a[1];S(b,lj);var\na=i;continue;case\n6:var\nj=a[1];S(b,lk);var\na=j;continue;case\n7:var\nk=a[1];S(b,ll);var\na=k;continue;case\n8:var\nl=a[2],m=a[1];S(b,lm);eH(b,m);S(b,ln);var\na=l;continue;case\n9:var\nn=a[3],o=a[1];S(b,lo);eH(b,o);S(b,lp);var\na=n;continue;case\n10:var\np=a[1];S(b,lq);var\na=p;continue;case\n11:var\nq=a[1];S(b,lr);var\na=q;continue;case\n12:var\nr=a[1];S(b,ls);var\na=r;continue;case\n13:var\ns=a[1];S(b,lt);var\na=s;continue;default:var\nt=a[1];S(b,lu);var\na=t;continue}}function\nK(a){if(typeof\na===\"number\")return 0;else\nswitch(a[0]){case\n0:return[0,K(a[1])];case\n1:return[1,K(a[1])];case\n2:return[2,K(a[1])];case\n3:return[3,K(a[1])];case\n4:return[4,K(a[1])];case\n5:return[5,K(a[1])];case\n6:return[6,K(a[1])];case\n7:return[7,K(a[1])];case\n8:var\nb=a[1];return[8,b,K(a[2])];case\n9:var\nc=a[2],d=a[1];return[9,c,d,K(a[3])];case\n10:return[10,K(a[1])];case\n11:return[11,K(a[1])];case\n12:return[12,K(a[1])];case\n13:return[13,K(a[1])];default:return[14,K(a[1])]}}function\nT(a){if(typeof\na===\"number\"){var\ns=function(a){return 0},t=function(a){return 0},u=function(a){return 0};return[0,function(a){return 0},u,t,s]}else\nswitch(a[0]){case\n0:var\nc=T(a[1]),v=c[4],w=c[3],x=c[2],y=c[1],z=function(a){b(x,0);return 0};return[0,function(a){b(y,0);return 0},z,w,v];case\n1:var\nd=T(a[1]),A=d[4],B=d[3],C=d[2],D=d[1],E=function(a){b(C,0);return 0};return[0,function(a){b(D,0);return 0},E,B,A];case\n2:var\ne=T(a[1]),F=e[4],G=e[3],H=e[2],I=e[1],J=function(a){b(H,0);return 0};return[0,function(a){b(I,0);return 0},J,G,F];case\n3:var\nf=T(a[1]),L=f[4],N=f[3],O=f[2],P=f[1],Q=function(a){b(O,0);return 0};return[0,function(a){b(P,0);return 0},Q,N,L];case\n4:var\ng=T(a[1]),R=g[4],S=g[3],U=g[2],V=g[1],W=function(a){b(U,0);return 0};return[0,function(a){b(V,0);return 0},W,S,R];case\n5:var\nh=T(a[1]),X=h[4],Y=h[3],Z=h[2],_=h[1],$=function(a){b(Z,0);return 0};return[0,function(a){b(_,0);return 0},$,Y,X];case\n6:var\ni=T(a[1]),aa=i[4],ab=i[3],ac=i[2],ad=i[1],ae=function(a){b(ac,0);return 0};return[0,function(a){b(ad,0);return 0},ae,ab,aa];case\n7:var\nj=T(a[1]),af=j[4],ag=j[3],ah=j[2],ai=j[1],aj=function(a){b(ah,0);return 0};return[0,function(a){b(ai,0);return 0},aj,ag,af];case\n8:var\nk=T(a[2]),ak=k[4],al=k[3],am=k[2],an=k[1],ao=function(a){b(am,0);return 0};return[0,function(a){b(an,0);return 0},ao,al,ak];case\n9:var\nap=a[2],aq=a[1],l=T(a[3]),ar=l[4],as=l[3],at=l[2],au=l[1],m=T(M(K(aq),ap)),av=m[4],aw=m[3],ax=m[2],ay=m[1],az=function(a){b(av,0);b(ar,0);return 0},aA=function(a){b(as,0);b(aw,0);return 0},aB=function(a){b(ax,0);b(at,0);return 0};return[0,function(a){b(au,0);b(ay,0);return 0},aB,aA,az];case\n10:var\nn=T(a[1]),aC=n[4],aD=n[3],aE=n[2],aF=n[1],aG=function(a){b(aE,0);return 0};return[0,function(a){b(aF,0);return 0},aG,aD,aC];case\n11:var\no=T(a[1]),aH=o[4],aI=o[3],aJ=o[2],aK=o[1],aL=function(a){b(aJ,0);return 0};return[0,function(a){b(aK,0);return 0},aL,aI,aH];case\n12:var\np=T(a[1]),aM=p[4],aN=p[3],aO=p[2],aP=p[1],aQ=function(a){b(aO,0);return 0};return[0,function(a){b(aP,0);return 0},aQ,aN,aM];case\n13:var\nq=T(a[1]),aR=q[4],aS=q[3],aT=q[2],aU=q[1],aV=function(a){b(aR,0);return 0},aW=function(a){b(aS,0);return 0},aX=function(a){b(aT,0);return 0};return[0,function(a){b(aU,0);return 0},aX,aW,aV];default:var\nr=T(a[1]),aY=r[4],aZ=r[3],a0=r[2],a1=r[1],a2=function(a){b(aY,0);return 0},a3=function(a){b(aZ,0);return 0},a4=function(a){b(a0,0);return 0};return[0,function(a){b(a1,0);return 0},a4,a3,a2]}}function\nM(d,c){var\na=0;if(typeof\nd===\"number\")if(typeof\nc===\"number\")return 0;else\nswitch(c[0]){case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:a=3;break;case\n14:a=4;break;case\n8:a=5;break;case\n9:a=6;break;default:throw[0,s,lv]}else\nswitch(d[0]){case\n0:var\ne=0,u=d[1];if(typeof\nc!==\"number\")switch(c[0]){case\n0:return[0,M(u,c[1])];case\n8:a=5;e=1;break;case\n9:a=6;e=1;break;case\n10:e=1;break;case\n11:a=1;e=1;break;case\n12:a=2;e=1;break;case\n13:a=3;e=1;break;case\n14:a=4;e=1;break}if(!e)a=7;break;case\n1:var\nf=0,v=d[1];if(typeof\nc!==\"number\")switch(c[0]){case\n1:return[1,M(v,c[1])];case\n8:a=5;f=1;break;case\n9:a=6;f=1;break;case\n10:f=1;break;case\n11:a=1;f=1;break;case\n12:a=2;f=1;break;case\n13:a=3;f=1;break;case\n14:a=4;f=1;break}if(!f)a=7;break;case\n2:var\ng=0,w=d[1];if(typeof\nc===\"number\")g=1;else\nswitch(c[0]){case\n2:return[2,M(w,c[1])];case\n8:a=5;break;case\n9:a=6;break;case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:a=3;break;case\n14:a=4;break;default:g=1}if(g)a=7;break;case\n3:var\nh=0,x=d[1];if(typeof\nc===\"number\")h=1;else\nswitch(c[0]){case\n3:return[3,M(x,c[1])];case\n8:a=5;break;case\n9:a=6;break;case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:a=3;break;case\n14:a=4;break;default:h=1}if(h)a=7;break;case\n4:var\ni=0,y=d[1];if(typeof\nc===\"number\")i=1;else\nswitch(c[0]){case\n4:return[4,M(y,c[1])];case\n8:a=5;break;case\n9:a=6;break;case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:a=3;break;case\n14:a=4;break;default:i=1}if(i)a=7;break;case\n5:var\nj=0,z=d[1];if(typeof\nc===\"number\")j=1;else\nswitch(c[0]){case\n5:return[5,M(z,c[1])];case\n8:a=5;break;case\n9:a=6;break;case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:a=3;break;case\n14:a=4;break;default:j=1}if(j)a=7;break;case\n6:var\nk=0,A=d[1];if(typeof\nc===\"number\")k=1;else\nswitch(c[0]){case\n6:return[6,M(A,c[1])];case\n8:a=5;break;case\n9:a=6;break;case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:a=3;break;case\n14:a=4;break;default:k=1}if(k)a=7;break;case\n7:var\nl=0,B=d[1];if(typeof\nc===\"number\")l=1;else\nswitch(c[0]){case\n7:return[7,M(B,c[1])];case\n8:a=5;break;case\n9:a=6;break;case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:a=3;break;case\n14:a=4;break;default:l=1}if(l)a=7;break;case\n8:var\nm=0,C=d[2],D=d[1];if(typeof\nc===\"number\")m=1;else\nswitch(c[0]){case\n8:var\nE=c[1],F=M(C,c[2]);return[8,M(D,E),F];case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:a=3;break;case\n14:a=4;break;default:m=1}if(m)throw[0,s,lE];break;case\n9:var\nn=0,G=d[3],H=d[2],I=d[1];if(typeof\nc===\"number\")n=1;else\nswitch(c[0]){case\n8:a=5;break;case\n9:var\nJ=c[3],L=c[2],N=c[1],t=T(M(K(H),N)),O=t[4];b(t[2],0);b(O,0);return[9,I,L,M(G,J)];case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:a=3;break;case\n14:a=4;break;default:n=1}if(n)throw[0,s,lF];break;case\n10:var\nP=d[1];if(typeof\nc!==\"number\"&&10===c[0])return[10,M(P,c[1])];throw[0,s,lG];case\n11:var\no=0,Q=d[1];if(typeof\nc===\"number\")o=1;else\nswitch(c[0]){case\n10:break;case\n11:return[11,M(Q,c[1])];default:o=1}if(o)throw[0,s,lH];break;case\n12:var\np=0,R=d[1];if(typeof\nc===\"number\")p=1;else\nswitch(c[0]){case\n10:break;case\n11:a=1;break;case\n12:return[12,M(R,c[1])];default:p=1}if(p)throw[0,s,lI];break;case\n13:var\nq=0,S=d[1];if(typeof\nc===\"number\")q=1;else\nswitch(c[0]){case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:return[13,M(S,c[1])];default:q=1}if(q)throw[0,s,lJ];break;default:var\nr=0,U=d[1];if(typeof\nc===\"number\")r=1;else\nswitch(c[0]){case\n10:break;case\n11:a=1;break;case\n12:a=2;break;case\n13:a=3;break;case\n14:return[14,M(U,c[1])];default:r=1}if(r)throw[0,s,lK]}switch(a){case\n0:throw[0,s,ly];case\n1:throw[0,s,lz];case\n2:throw[0,s,lA];case\n3:throw[0,s,lB];case\n4:throw[0,s,lC];case\n5:throw[0,s,lw];case\n6:throw[0,s,lx];default:throw[0,s,lD]}}var\nP=[A,lL,be(0)];function\ndk(b,a){if(typeof\nb===\"number\")return[0,0,a];else{if(0===b[0])return[0,[0,b[1],b[2]],a];if(typeof\na!==\"number\"&&2===a[0])return[0,[1,b[1]],a[1]];throw P}}function\ncq(e,b,d){var\na=dk(e,d);if(typeof\nb===\"number\"){if(b){var\nc=a[2];if(typeof\nc!==\"number\"&&2===c[0])return[0,a[1],1,c[1]];throw P}return[0,a[1],0,a[2]]}return[0,a[1],[0,b[1]],a[2]]}function\nac(c,d,a){if(typeof\nc===\"number\")return[0,0,u(d,a)];else\nswitch(c[0]){case\n0:if(typeof\na!==\"number\"&&0===a[0]){var\ng=ac(c[1],d,a[1]);return[0,[0,g[1]],g[2]]}break;case\n1:if(typeof\na!==\"number\"&&1===a[0]){var\nh=ac(c[1],d,a[1]);return[0,[1,h[1]],h[2]]}break;case\n2:if(typeof\na!==\"number\"&&2===a[0]){var\ni=ac(c[1],d,a[1]);return[0,[2,i[1]],i[2]]}break;case\n3:if(typeof\na!==\"number\"&&3===a[0]){var\nj=ac(c[1],d,a[1]);return[0,[3,j[1]],j[2]]}break;case\n4:if(typeof\na!==\"number\"&&4===a[0]){var\nk=ac(c[1],d,a[1]);return[0,[4,k[1]],k[2]]}break;case\n5:if(typeof\na!==\"number\"&&5===a[0]){var\nl=ac(c[1],d,a[1]);return[0,[5,l[1]],l[2]]}break;case\n6:if(typeof\na!==\"number\"&&6===a[0]){var\nm=ac(c[1],d,a[1]);return[0,[6,m[1]],m[2]]}break;case\n7:if(typeof\na!==\"number\"&&7===a[0]){var\nn=ac(c[1],d,a[1]);return[0,[7,n[1]],n[2]]}break;case\n8:if(typeof\na!==\"number\"&&8===a[0]){var\no=a[1],x=a[2],y=c[2];if(bQ([0,c[1]],[0,o]))throw P;var\np=ac(y,d,x);return[0,[8,o,p[1]],p[2]]}break;case\n9:if(typeof\na!==\"number\"&&9===a[0]){var\ne=a[2],f=a[1],z=a[3],A=c[3],B=c[2],C=c[1],D=[0,E(f)];if(bQ([0,E(C)],D))throw P;var\nF=[0,E(e)];if(bQ([0,E(B)],F))throw P;var\nq=T(M(K(f),e)),G=q[4];b(q[2],0);b(G,0);var\nr=ac(E(A),d,z),H=r[2];return[0,[9,f,e,K(r[1])],H]}break;case\n10:if(typeof\na!==\"number\"&&10===a[0]){var\ns=ac(c[1],d,a[1]);return[0,[10,s[1]],s[2]]}break;case\n11:if(typeof\na!==\"number\"&&11===a[0]){var\nt=ac(c[1],d,a[1]);return[0,[11,t[1]],t[2]]}break;case\n13:if(typeof\na!==\"number\"&&13===a[0]){var\nv=ac(c[1],d,a[1]);return[0,[13,v[1]],v[2]]}break;case\n14:if(typeof\na!==\"number\"&&14===a[0]){var\nw=ac(c[1],d,a[1]);return[0,[14,w[1]],w[2]]}break}throw P}function\nu(b,a){if(typeof\nb===\"number\")return[0,0,a];else\nswitch(b[0]){case\n0:if(typeof\na!==\"number\"&&0===a[0]){var\ns=u(b[1],a[1]);return[0,[0,s[1]],s[2]]}break;case\n1:if(typeof\na!==\"number\"&&0===a[0]){var\nt=u(b[1],a[1]);return[0,[1,t[1]],t[2]]}break;case\n2:var\nae=b[2],v=dk(b[1],a),e=v[2],af=v[1];if(typeof\ne!==\"number\"&&1===e[0]){var\nw=u(ae,e[1]);return[0,[2,af,w[1]],w[2]]}throw P;case\n3:var\nag=b[2],x=dk(b[1],a),f=x[2],ah=x[1];if(typeof\nf!==\"number\"&&1===f[0]){var\ny=u(ag,f[1]);return[0,[3,ah,y[1]],y[2]]}throw P;case\n4:var\nai=b[4],aj=b[1],g=cq(b[2],b[3],a),h=g[3],al=g[1];if(typeof\nh!==\"number\"&&2===h[0]){var\nam=g[2],z=u(ai,h[1]);return[0,[4,aj,al,am,z[1]],z[2]]}throw P;case\n5:var\nan=b[4],ao=b[1],i=cq(b[2],b[3],a),j=i[3],ap=i[1];if(typeof\nj!==\"number\"&&3===j[0]){var\naq=i[2],A=u(an,j[1]);return[0,[5,ao,ap,aq,A[1]],A[2]]}throw P;case\n6:var\nar=b[4],as=b[1],k=cq(b[2],b[3],a),l=k[3],at=k[1];if(typeof\nl!==\"number\"&&4===l[0]){var\nau=k[2],B=u(ar,l[1]);return[0,[6,as,at,au,B[1]],B[2]]}throw P;case\n7:var\nav=b[4],aw=b[1],m=cq(b[2],b[3],a),n=m[3],ax=m[1];if(typeof\nn!==\"number\"&&5===n[0]){var\nay=m[2],C=u(av,n[1]);return[0,[7,aw,ax,ay,C[1]],C[2]]}throw P;case\n8:var\naz=b[4],aA=b[1],o=cq(b[2],b[3],a),p=o[3],aB=o[1];if(typeof\np!==\"number\"&&6===p[0]){var\naC=o[2],D=u(az,p[1]);return[0,[8,aA,aB,aC,D[1]],D[2]]}throw P;case\n9:var\naD=b[2],F=dk(b[1],a),q=F[2],aE=F[1];if(typeof\nq!==\"number\"&&7===q[0]){var\nG=u(aD,q[1]);return[0,[9,aE,G[1]],G[2]]}throw P;case\n10:var\nH=u(b[1],a);return[0,[10,H[1]],H[2]];case\n11:var\naF=b[1],I=u(b[2],a);return[0,[11,aF,I[1]],I[2]];case\n12:var\naG=b[1],J=u(b[2],a);return[0,[12,aG,J[1]],J[2]];case\n13:if(typeof\na!==\"number\"&&8===a[0]){var\nK=a[1],aH=a[2],aI=b[3],aJ=b[1];if(bQ([0,b[2]],[0,K]))throw P;var\nL=u(aI,aH);return[0,[13,aJ,K,L[1]],L[2]]}break;case\n14:if(typeof\na!==\"number\"&&9===a[0]){var\nM=a[1],aK=a[3],aL=b[3],aM=b[2],aN=b[1],aO=[0,E(M)];if(bQ([0,E(aM)],aO))throw P;var\nN=u(aL,E(aK));return[0,[14,aN,M,N[1]],N[2]]}break;case\n15:if(typeof\na!==\"number\"&&10===a[0]){var\nO=u(b[1],a[1]);return[0,[15,O[1]],O[2]]}break;case\n16:if(typeof\na!==\"number\"&&11===a[0]){var\nQ=u(b[1],a[1]);return[0,[16,Q[1]],Q[2]]}break;case\n17:var\naP=b[1],R=u(b[2],a);return[0,[17,aP,R[1]],R[2]];case\n18:var\nS=b[2],r=b[1];if(0===r[0]){var\nW=r[1],aT=W[2],X=u(W[1],a),aU=X[1],Y=u(S,X[2]);return[0,[18,[0,[0,aU,aT]],Y[1]],Y[2]]}var\nZ=r[1],aV=Z[2],_=u(Z[1],a),aW=_[1],$=u(S,_[2]);return[0,[18,[1,[0,aW,aV]],$[1]],$[2]];case\n19:if(typeof\na!==\"number\"&&13===a[0]){var\nT=u(b[1],a[1]);return[0,[19,T[1]],T[2]]}break;case\n20:if(typeof\na!==\"number\"&&1===a[0]){var\naQ=b[2],aR=b[1],U=u(b[3],a[1]);return[0,[20,aR,aQ,U[1]],U[2]]}break;case\n21:if(typeof\na!==\"number\"&&2===a[0]){var\naS=b[1],V=u(b[2],a[1]);return[0,[21,aS,V[1]],V[2]]}break;case\n23:var\nd=b[2],c=b[1];if(typeof\nc===\"number\")switch(c){case\n0:return ak(c,d,a);case\n1:return ak(c,d,a);case\n2:if(typeof\na!==\"number\"&&14===a[0]){var\naa=u(d,a[1]);return[0,[23,2,aa[1]],aa[2]]}throw P;default:return ak(c,d,a)}else\nswitch(c[0]){case\n0:return ak(c,d,a);case\n1:return ak(c,d,a);case\n2:return ak(c,d,a);case\n3:return ak(c,d,a);case\n4:return ak(c,d,a);case\n5:return ak(c,d,a);case\n6:return ak(c,d,a);case\n7:return ak(c,d,a);case\n8:return ak([8,c[1],c[2]],d,a);case\n9:var\naX=c[1],ab=ac(c[2],d,a),ad=ab[2];return[0,[23,[9,aX,ab[1]],ad[1]],ad[2]];case\n10:return ak(c,d,a);default:return ak(c,d,a)}}throw P}function\nak(d,c,b){var\na=u(c,b);return[0,[23,d,a[1]],a[2]]}function\nal(l,g,a){var\nb=k(a),h=0<=g?l:0,d=dc(g);if(d<=b)return a;var\nm=2===h?48:32,c=aN(d,m);switch(h){case\n0:aZ(a,0,c,0,b);break;case\n1:aZ(a,0,c,d-b|0,b);break;default:var\ne=0;if(0<b){var\ni=0;if(43!==B(a,0)&&45!==B(a,0)&&32!==B(a,0)){e=1;i=1}if(!i){aL(c,0,B(a,0));aZ(a,1,c,(d-b|0)+1|0,b-1|0)}}else\ne=1;if(e){var\nf=0;if(1<b&&48===B(a,0)){var\nj=0;if(iu!==B(a,1)&&88!==B(a,1)){f=1;j=1}if(!j){aL(c,1,B(a,1));aZ(a,2,c,(d-b|0)+2|0,b-2|0)}}else\nf=1;if(f)aZ(a,0,c,d-b|0,b)}}return O(c)}function\nbW(l,b){var\nc=dc(l),a=k(b),d=B(b,0),e=0;if(58<=d){if(71<=d){if(!(5<d+i$>>>0))e=1}else\nif(65<=d)e=1}else{var\nf=0;if(32!==d)if(43<=d)switch(d-43|0){case\n5:if(a<(c+2|0)&&1<a){var\nj=0;if(iu===B(b,1)||88===B(b,1))j=1;if(j){var\nh=aN(c+2|0,48);aL(h,1,B(b,1));aZ(b,2,h,(c-a|0)+4|0,a-2|0);return O(h)}}e=1;f=1;break;case\n0:case\n2:break;case\n1:case\n3:case\n4:f=1;break;default:e=1;f=1}else\nf=1;if(!f&&a<(c+1|0)){var\ng=aN(c+1|0,48);aL(g,0,d);aZ(b,1,g,(c-a|0)+2|0,a-1|0);return O(g)}}if(e&&a<c){var\ni=aN(c,48);aZ(b,0,i,c-a|0,a);return O(i)}return b}function\nlM(l){var\nj=0,B=k(l);for(;;){if(B<=j)var\np=l;else{var\no=ay(l,j)+fW|0,q=0;if(59<o>>>0){if(33<o-61>>>0)q=1}else\nif(2===o)q=1;if(!q){var\nj=j+1|0;continue}var\ne=au(l),a=[0,0],s=ax(e)-1|0,x=0;if(!(s<0)){var\ni=x;for(;;){var\nf=bL(e,i),g=0;if(32<=f){var\nm=f-34|0,r=0;if(58<m>>>0){if(93<=m)r=1}else\nif(56<m-1>>>0){g=1;r=1}if(!r){var\nn=1;g=2}}else\nif(11<=f){if(13===f)g=1}else\nif(8<=f)g=1;switch(g){case\n0:var\nn=4;break;case\n1:var\nn=2;break}a[1]=a[1]+n|0;var\nA=i+1|0;if(s!==i){var\ni=A;continue}break}}if(a[1]===ax(e))var\nu=ez(e);else{var\nb=D(a[1]);a[1]=0;var\nt=ax(e)-1|0,y=0;if(!(t<0)){var\nh=y;for(;;){var\nc=bL(e,h),d=0;if(35<=c)if(92===c)d=2;else\nif(cI<=c)d=1;else\nd=3;else\nif(32<=c)if(34<=c)d=2;else\nd=3;else\nif(14<=c)d=1;else\nswitch(c){case\n8:H(b,a[1],92);a[1]++;H(b,a[1],98);break;case\n9:H(b,a[1],92);a[1]++;H(b,a[1],116);break;case\n10:H(b,a[1],92);a[1]++;H(b,a[1],110);break;case\n13:H(b,a[1],92);a[1]++;H(b,a[1],114);break;default:d=1}switch(d){case\n1:H(b,a[1],92);a[1]++;H(b,a[1],48+(c/fR|0)|0);a[1]++;H(b,a[1],48+((c/10|0)%10|0)|0);a[1]++;H(b,a[1],48+(c%10|0)|0);break;case\n2:H(b,a[1],92);a[1]++;H(b,a[1],c);break;case\n3:H(b,a[1],c);break}a[1]++;var\nz=h+1|0;if(t!==h){var\nh=z;continue}break}}var\nu=b}var\np=O(u)}var\nv=k(p),w=aN(v+2|0,34);bd(p,0,w,1,v);return O(w)}}function\ngW(d,g){var\nh=dc(g),f=mB[1];switch(d[2]){case\n0:var\nb=102;break;case\n1:var\nb=101;break;case\n2:var\nb=69;break;case\n3:var\nb=iv;break;case\n4:var\nb=71;break;case\n5:var\nb=f;break;case\n6:var\nb=104;break;case\n7:var\nb=72;break;default:var\nb=70}var\nc=gS(16);bV(c,37);switch(d[1]){case\n0:break;case\n1:bV(c,43);break;default:bV(c,32)}if(8<=d[2])bV(c,35);bV(c,46);S(c,a(e+h));bV(c,b);return gU(c)}function\ndl(n,a){if(13<=n){var\ng=[0,0],h=k(a)-1|0,o=0;if(!(h<0)){var\nc=o;for(;;){if(!(9<ay(a,c)+iB>>>0))g[1]++;var\nr=c+1|0;if(h!==c){var\nc=r;continue}break}}var\ni=g[1],j=D(k(a)+((i-1|0)/3|0)|0),l=[0,0],d=function(a){aL(j,l[1],a);l[1]++;return 0},e=[0,((i-1|0)%3|0)+1|0],m=k(a)-1|0,p=0;if(!(m<0)){var\nb=p;for(;;){var\nf=ay(a,b);if(9<f+iB>>>0)d(f);else{if(0===e[1]){d(95);e[1]=3}e[1]+=-1;d(f)}var\nq=b+1|0;if(m!==b){var\nb=q;continue}break}}return O(j)}return a}function\nmC(b,c){switch(b){case\n1:var\na=lO;break;case\n2:var\na=lP;break;case\n4:var\na=lR;break;case\n5:var\na=lS;break;case\n6:var\na=lT;break;case\n7:var\na=lU;break;case\n8:var\na=lV;break;case\n9:var\na=lW;break;case\n10:var\na=lX;break;case\n11:var\na=lY;break;case\n0:case\n13:var\na=lN;break;case\n3:case\n14:var\na=lQ;break;default:var\na=lZ}return dl(b,el(a,c))}function\nmD(b,c){switch(b){case\n1:var\na=mc;break;case\n2:var\na=md;break;case\n4:var\na=mf;break;case\n5:var\na=mg;break;case\n6:var\na=mh;break;case\n7:var\na=mi;break;case\n8:var\na=mj;break;case\n9:var\na=mk;break;case\n10:var\na=ml;break;case\n11:var\na=mm;break;case\n0:case\n13:var\na=mb;break;case\n3:case\n14:var\na=me;break;default:var\na=mn}return dl(b,el(a,c))}function\nmE(b,c){switch(b){case\n1:var\na=mp;break;case\n2:var\na=mq;break;case\n4:var\na=ms;break;case\n5:var\na=mt;break;case\n6:var\na=mu;break;case\n7:var\na=mv;break;case\n8:var\na=mw;break;case\n9:var\na=mx;break;case\n10:var\na=my;break;case\n11:var\na=mz;break;case\n0:case\n13:var\na=mo;break;case\n3:case\n14:var\na=mr;break;default:var\na=mA}return dl(b,el(a,c))}function\nmF(b,c){switch(b){case\n1:var\na=l1;break;case\n2:var\na=l2;break;case\n4:var\na=l4;break;case\n5:var\na=l5;break;case\n6:var\na=l6;break;case\n7:var\na=l7;break;case\n8:var\na=l8;break;case\n9:var\na=l9;break;case\n10:var\na=l_;break;case\n11:var\na=l$;break;case\n0:case\n13:var\na=l0;break;case\n3:case\n14:var\na=l3;break;default:var\na=ma}return dl(b,zW(a,c))}function\na1(b,e,a){function\nf(d){switch(b[1]){case\n0:var\nc=45;break;case\n1:var\nc=43;break;default:var\nc=32}return zS(a,e,c)}function\nl(c){var\nb=zG(a);return 3===b?a<0.?mH:mI:4<=b?mJ:c}switch(b[2]){case\n5:var\nd=gc(gW(b,e),a),c=0,m=k(d);for(;;){if(c===m)var\nj=0;else{var\ng=B(d,c)-46|0,i=0;if(23<g>>>0){if(55===g)i=1}else\nif(21<g-1>>>0)i=1;if(!i){var\nc=c+1|0;continue}var\nj=1}var\nn=j?d:h(d,mG);return l(n)}case\n6:return f(0);case\n7:return O(eB(kx,au(f(0))));case\n8:return l(f(0));default:return gc(gW(b,e),a)}}function\ncx(e,I,G,F){var\nc=I,a=G,d=F;for(;;)if(typeof\nd===\"number\")return b(c,a);else\nswitch(d[0]){case\n0:var\nJ=d[1];return function(b){return q(c,[5,a,b],J)};case\n1:var\nL=d[1];return function(b){var\ne=0;if(40<=b)if(92===b)var\nd=kq;else\nif(cI<=b)e=1;else\ne=2;else\nif(32<=b)if(39<=b)var\nd=kr;else\ne=2;else\nif(14<=b)e=1;else\nswitch(b){case\n8:var\nd=ks;break;case\n9:var\nd=kt;break;case\n10:var\nd=ku;break;case\n13:var\nd=kv;break;default:e=1}switch(e){case\n1:var\nf=D(4);H(f,0,92);H(f,1,48+(b/fR|0)|0);H(f,2,48+((b/10|0)%10|0)|0);H(f,3,48+(b%10|0)|0);var\nd=O(f);break;case\n2:var\ng=D(1);H(g,0,b);var\nd=O(g);break}var\nh=k(d),i=aN(h+2|0,39);bd(d,0,i,1,h);return q(c,[4,a,O(i)],L)};case\n2:var\nM=d[2],N=d[1];return eI(c,a,M,N,function(a){return a});case\n3:return eI(c,a,d[2],d[1],lM);case\n4:return dm(c,a,d[4],d[2],d[3],mC,d[1]);case\n5:return dm(c,a,d[4],d[2],d[3],mD,d[1]);case\n6:return dm(c,a,d[4],d[2],d[3],mE,d[1]);case\n7:return dm(c,a,d[4],d[2],d[3],mF,d[1]);case\n8:var\ni=d[4],j=d[3],l=d[2],h=d[1];if(typeof\nl===\"number\"){if(typeof\nj===\"number\")return j?function(d,b){return q(c,[4,a,a1(h,d,b)],i)}:function(b){return q(c,[4,a,a1(h,eG(h),b)],i)};var\nae=j[1];return function(b){return q(c,[4,a,a1(h,ae,b)],i)}}else{if(0===l[0]){var\np=l[2],r=l[1];if(typeof\nj===\"number\")return j?function(d,b){return q(c,[4,a,al(r,p,a1(h,d,b))],i)}:function(b){return q(c,[4,a,al(r,p,a1(h,eG(h),b))],i)};var\naf=j[1];return function(b){return q(c,[4,a,al(r,p,a1(h,af,b))],i)}}var\nv=l[1];if(typeof\nj===\"number\")return j?function(e,d,b){return q(c,[4,a,al(v,e,a1(h,d,b))],i)}:function(d,b){return q(c,[4,a,al(v,d,a1(h,eG(h),b))],i)};var\nag=j[1];return function(d,b){return q(c,[4,a,al(v,d,a1(h,ag,b))],i)}}case\n9:return eI(c,a,d[2],d[1],kg);case\n10:var\na=[7,a],d=d[1];continue;case\n11:var\na=[2,a,d[1]],d=d[2];continue;case\n12:var\na=[3,a,d[1]],d=d[2];continue;case\n13:var\nQ=d[3],R=d[2],w=gS(16);eH(w,R);var\nC=gU(w);return function(b){return q(c,[4,a,C],Q)};case\n14:var\nS=d[3],T=d[2];return function(d){var\ne=d[1],b=u(e,E(K(T)));if(typeof\nb[2]===\"number\")return q(c,a,y(b[1],S));throw P};case\n15:var\nU=d[1];return function(d,b){return q(c,[6,a,function(a){return f(d,a,b)}],U)};case\n16:var\nV=d[1];return function(b){return q(c,[6,a,b],V)};case\n17:var\na=[0,a,d[1]],d=d[2];continue;case\n18:var\no=d[1];if(0===o[0]){var\nW=d[2],X=o[1][1],Y=0,c=function(b,c,d){return function(a){return q(c,[1,b,[0,a]],d)}}(a,c,W),a=Y,d=X;continue}var\nZ=d[2],_=o[1][1],$=0,c=function(b,c,d){return function(a){return q(c,[1,b,[1,a]],d)}}(a,c,Z),a=$,d=_;continue;case\n19:throw[0,s,mL];case\n20:var\naa=d[3],ab=[8,a,mM];return function(a){return q(c,ab,aa)};case\n21:var\nac=d[2];return function(b){return q(c,[4,a,el(mN,b)],ac)};case\n22:var\nad=d[1];return function(b){return q(c,[5,a,b],ad)};case\n23:var\ng=d[2],m=d[1];if(typeof\nm===\"number\")switch(m){case\n0:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n1:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n2:throw[0,s,mO];default:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g])}else\nswitch(m[0]){case\n0:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n1:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n2:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n3:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n4:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n5:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n6:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n7:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n8:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);case\n9:var\nB=m[2];return e<50?fi(e+1|0,c,a,B,g):n(fi,[0,c,a,B,g]);case\n10:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g]);default:return e<50?t(e+1|0,c,a,g):n(t,[0,c,a,g])}default:var\nx=d[3],z=d[1],A=b(d[2],0);return e<50?fh(e+1|0,c,a,x,z,A):n(fh,[0,c,a,x,z,A])}}function\nfi(e,d,c,a,b){if(typeof\na===\"number\")return e<50?t(e+1|0,d,c,b):n(t,[0,d,c,b]);else\nswitch(a[0]){case\n0:var\nf=a[1];return function(a){return ar(d,c,f,b)};case\n1:var\ng=a[1];return function(a){return ar(d,c,g,b)};case\n2:var\nh=a[1];return function(a){return ar(d,c,h,b)};case\n3:var\ni=a[1];return function(a){return ar(d,c,i,b)};case\n4:var\nj=a[1];return function(a){return ar(d,c,j,b)};case\n5:var\nk=a[1];return function(a){return ar(d,c,k,b)};case\n6:var\nl=a[1];return function(a){return ar(d,c,l,b)};case\n7:var\nm=a[1];return function(a){return ar(d,c,m,b)};case\n8:var\no=a[2];return function(a){return ar(d,c,o,b)};case\n9:var\np=a[3],q=a[2],r=M(K(a[1]),q);return function(a){return ar(d,c,Z(r,p),b)};case\n10:var\nu=a[1];return function(e,a){return ar(d,c,u,b)};case\n11:var\nv=a[1];return function(a){return ar(d,c,v,b)};case\n12:var\nw=a[1];return function(a){return ar(d,c,w,b)};case\n13:throw[0,s,mP];default:throw[0,s,mQ]}}function\nt(d,b,e,a){var\nc=[8,e,mR];return d<50?cx(d+1|0,b,c,a):n(cx,[0,b,c,a])}function\nfh(h,c,f,a,e,d){if(e){var\ni=e[1];return function(e){return mK(c,f,a,i,b(d,e))}}var\ng=[4,f,d];return h<50?cx(h+1|0,c,g,a):n(cx,[0,c,g,a])}function\nq(a,b,c){return bR(cx(0,a,b,c))}function\nar(a,b,c,d){return bR(fi(0,a,b,c,d))}function\nmK(a,b,c,d,e){return bR(fh(0,a,b,c,d,e))}function\neI(f,e,d,a,c){if(typeof\na===\"number\")return function(a){return q(f,[4,e,b(c,a)],d)};else{if(0===a[0]){var\ng=a[2],h=a[1];return function(a){return q(f,[4,e,al(h,g,b(c,a))],d)}}var\ni=a[1];return function(g,a){return q(f,[4,e,al(i,g,b(c,a))],d)}}}function\ndm(g,e,d,h,c,b,a){if(typeof\nh===\"number\"){if(typeof\nc===\"number\")return c?function(h,c){return q(g,[4,e,bW(h,f(b,a,c))],d)}:function(c){return q(g,[4,e,f(b,a,c)],d)};var\nl=c[1];return function(c){return q(g,[4,e,bW(l,f(b,a,c))],d)}}else{if(0===h[0]){var\ni=h[2],j=h[1];if(typeof\nc===\"number\")return c?function(h,c){return q(g,[4,e,al(j,i,bW(h,f(b,a,c)))],d)}:function(c){return q(g,[4,e,al(j,i,f(b,a,c))],d)};var\nm=c[1];return function(c){return q(g,[4,e,al(j,i,bW(m,f(b,a,c)))],d)}}var\nk=h[1];if(typeof\nc===\"number\")return c?function(i,h,c){return q(g,[4,e,al(k,i,bW(h,f(b,a,c)))],d)}:function(h,c){return q(g,[4,e,al(k,h,f(b,a,c))],d)};var\nn=c[1];return function(h,c){return q(g,[4,e,al(k,h,bW(n,f(b,a,c)))],d)}}}function\na2(c,f){var\na=f;for(;;)if(typeof\na===\"number\")return 0;else\nswitch(a[0]){case\n0:var\ng=a[1],h=gV(a[2]);a2(c,g);return bS(c,h);case\n1:var\nd=a[2],e=a[1];if(0===d[0]){var\ni=d[1];a2(c,e);bS(c,mS);var\na=i;continue}var\nj=d[1];a2(c,e);bS(c,mT);var\na=j;continue;case\n6:var\nm=a[2];a2(c,a[1]);return b(m,c);case\n7:a2(c,a[1]);return aX(c);case\n8:var\nn=a[2];a2(c,a[1]);return I(n);case\n2:case\n4:var\nk=a[2];a2(c,a[1]);return bS(c,k);default:var\nl=a[2];a2(c,a[1]);return gl(c,l)}}function\nbj(c,g){var\na=g;for(;;)if(typeof\na===\"number\")return 0;else\nswitch(a[0]){case\n0:var\nh=a[1],i=gV(a[2]);bj(c,h);return bU(c,i);case\n1:var\ne=a[2],f=a[1];if(0===e[0]){var\nj=e[1];bj(c,f);bU(c,mU);var\na=j;continue}var\nk=e[1];bj(c,f);bU(c,mV);var\na=k;continue;case\n6:var\nn=a[2];bj(c,a[1]);return bU(c,b(n,0));case\n7:var\na=a[1];continue;case\n8:var\no=a[2];bj(c,a[1]);return I(o);case\n2:case\n4:var\nl=a[2];bj(c,a[1]);return bU(c,l);default:var\nm=a[2];bj(c,a[1]);var\nd=c[2];if(c[3]<=d)gR(c,1);H(c[1],d,m);c[2]=d+1|0;return 0}}function\ngX(d,c){var\na=c[1],b=0;return q(function(a){a2(d,a);return 0},b,a)}function\neJ(a){return gX(aY,a)}function\naO(b){var\na=b[1];return q(function(b){var\na=gP(64);bj(a,b);return gQ(a)},0,a)}var\ndn=[0,0];function\neL(j,i){var\na=j[1+i];if(1-(typeof\na===\"number\"?1:0)){if(bg(a)===eb)return b(aO(mW),a);if(bg(a)===253){var\nd=gc(kl,a),c=0,g=k(d);for(;;){if(g<=c)return h(d,kk);var\ne=B(d,c),f=0;if(48<=e){if(!(58<=e))f=1}else\nif(45===e)f=1;if(f){var\nc=c+1|0;continue}return d}}return mX}return b(aO(mY),a)}function\ngY(b,a){if(b.length-1<=a)return mZ;var\nc=gY(b,a+1|0),d=eL(b,a);return f(aO(m0),d,c)}function\neM(a){function\nq(f){var\nc=f;for(;;){if(c){var\ng=c[2],h=c[1];try{var\ne=0,d=b(h,a);e=1}catch(a){}if(e&&d)return[0,d[1]];var\nc=g;continue}return 0}}var\nj=q(dn[1]);if(j)return j[1];if(a===eu)return m5;if(a===gt)return m6;if(a[1]===gs){var\nd=a[2],k=d[3],r=d[2],t=d[1];return cz(aO(eK),t,r,k,k+5|0,m7)}if(a[1]===s){var\ne=a[2],l=e[3],u=e[2],v=e[1];return cz(aO(eK),v,u,l,l+6|0,m8)}if(a[1]===gv){var\ng=a[2],m=g[3],w=g[2],x=g[1];return cz(aO(eK),x,w,m,m+6|0,m9)}if(0===bg(a)){var\ni=a.length-1,y=a[1][1];if(2<i>>>0)var\nn=gY(a,2),o=eL(a,1),c=f(aO(m1),o,n);else\nswitch(i){case\n0:var\nc=m2;break;case\n1:var\nc=m3;break;default:var\np=eL(a,1),c=b(aO(m4),p)}return h(y,c)}return a[1]}function\neN(t,s){var\ne=zH(s),g=e.length-1-1|0,p=0;if(!(g<0)){var\nc=p;for(;;){var\na=w(e,c)[1+c],f=function(a){return function(b){return b?0===a?m_:m$:0===a?na:nb}}(c);if(0===a[0])var\nh=a[5],i=a[4],j=a[3],k=a[6]?nc:ne,l=a[2],m=a[7],n=f(a[1]),d=[0,zw(aO(nd),n,m,l,k,j,i,h)];else\nif(a[1])var\nd=0;else\nvar\no=f(0),d=[0,b(aO(nf),o)];if(d){var\nq=d[1];b(gX(t,ng),q)}var\nr=c+1|0;if(g!==c){var\nc=r;continue}break}}return 0}function\ngZ(c){for(;;){var\na=dn[1],d=[0,c,a],e=dn[1]===a?(dn[1]=d,1):0,b=1-e;if(b)continue;return b}}var\nni=nh.slice();function\nnj(e,d){var\nf=eM(e);b(eJ(nk),f);eN(aY,d);var\na=Ae(0);if(a<0){var\nc=dc(a);gw(w(ni,c)[1+c])}return aX(aY)}var\nnl=[0];gp(a(ix),function(e,i){try{try{var\nc=i?nl:jX(0);try{ew(0)}catch(a){}try{var\na=nj(e,c),d=a}catch(a){a=C(a);var\ng=eM(e);b(eJ(nn),g);eN(aY,c);var\nh=eM(a);b(eJ(no),h);eN(aY,jX(0));var\nd=aX(aY)}var\nf=d}catch(a){a=C(a);if(a!==eu)throw a;var\nf=gw(nm)}return f}catch(a){return 0}});try{var\nzq=ka(zp),g1=zq}catch(a){a=C(a);if(a!==p)throw a;try{var\nzo=ka(zn),g0=zo}catch(a){a=C(a);if(a!==p)throw a;var\ng0=nq}var\ng1=g0}var\nnr=gH(g1,82),dp=[ao,function(A){var\np=Av(0),c=[0,aM(55,0),0],l=0===p.length-1?[0,0]:p,m=l.length-1,b=0;for(;;){w(c[1],b)[1+b]=b;var\nz=b+1|0;if(54!==b){var\nb=z;continue}var\ni=[0,np],n=54+de(55,m)|0,u=0;if(!(n<0)){var\nd=u;for(;;){var\nf=d%55|0,o=Ai(d,m),v=w(l,o)[1+o],j=h(i[1],a(e+v));i[1]=Ac(j,0,k(j));var\ng=i[1],q=B(g,3)<<24,r=B(g,2)<<16,s=B(g,1)<<8,t=((B(g,0)+s|0)+r|0)+q|0,x=(w(c[1],f)[1+f]^t)&fA;w(c[1],f)[1+f]=x;var\ny=d+1|0;if(n!==d){var\nd=y;continue}break}}c[2]=0;return c}}];function\neO(a,b){return 4<=a.length-1?zM(10,fR,a[3],b)&(a[2].length-1-1|0):I(ns)}function\ng2(f,b){var\ng=eO(f,b),c=w(f[2],g)[1+g];if(c){var\nd=c[3],j=c[2];if(0===ce(b,c[1]))return j;if(d){var\ne=d[3],k=d[2];if(0===ce(b,d[1]))return k;if(e){var\nl=e[2],m=e[3];if(0===ce(b,e[1]))return l;var\na=m;for(;;){if(a){var\nh=a[2],i=a[3];if(0===ce(b,a[1]))return h;var\na=i;continue}throw p}}throw p}throw p}throw p}function\nnt(b,a){var\nc=bg(a)===A?a:a[1];return gp(b,c)}var\nnu=2;function\nnv(c){var\na=[0,0],d=k(c)-1|0,e=0;if(!(d<0)){var\nb=e;for(;;){var\ng=B(c,b);a[1]=(223*a[1]|0)+g|0;var\nh=b+1|0;if(d!==b){var\nb=h;continue}break}}a[1]=a[1]&2147483647;var\nf=fA<a[1]?a[1]+2147483648|0:a[1];return f}var\neP=dj([0,c9]),dq=dj([0,c9]),dr=dj([0,j0]),g3=j6(0,0),nw=[0,0];function\ng4(a){return 2<a?g4((a+1|0)/2|0)*2|0:a}function\ng5(d){nw[1]++;var\nb=d.length-1,c=aM((b*2|0)+2|0,g3);w(c,0)[1]=b;var\ng=((g4(b)*32|0)/8|0)-1|0;w(c,1)[2]=g;var\ne=b-1|0,h=0;if(!(e<0)){var\na=h;for(;;){var\nf=(a*2|0)+3|0,i=w(d,a)[1+a];w(c,f)[1+f]=i;var\nj=a+1|0;if(e!==a){var\na=j;continue}break}}return[0,nu,c,dq[1],dr[1],0,0,eP[1],0]}function\neQ(a,b){var\nc=a[2].length-1,d=c<b?1:0;if(d){var\ne=aM(b,g3);gJ(a[2],0,e,0,c);a[2]=e;var\nf=0}else\nvar\nf=d;return f}var\ng6=[0,0],nx=[0,0];function\nny(a){var\nb=a[2].length-1;eQ(a,b+1|0);return b}function\nnz(a,d){try{var\nb=f(dq[28],d,a[3]);return b}catch(b){b=C(b);if(b===p){var\nc=ny(a);a[3]=aJ(dq[4],d,c,a[3]);a[4]=aJ(dr[4],c,1,a[4]);return c}throw b}}function\nnA(a){var\nb=a[1];a[1]=b+1|0;return b}function\nnB(a,c){try{var\nb=f(eP[28],c,a[7]);return b}catch(b){b=C(b);if(b===p){var\nd=nA(a);if(g(c,nC))a[7]=aJ(eP[4],c,d,a[7]);return d}throw b}}function\nnD(b,a){var\nc=k(b);return c<a?nE:aq(b,a,c-a|0)}var\nnF=34;function\nnI(a){var\nd=0;for(;;){var\nc=a0(a3,d,a);if(7<c>>>0){b(a[1],a);var\nd=c;continue}switch(c){case\n0:return 0;case\n1:return 3;case\n2:return 6;case\n3:var\ne=J(a);return[0,aq(e,1,k(e)-1|0)];case\n4:var\nf=J(a);return[1,aq(f,2,k(f)-2|0)];case\n5:return nM;case\n6:return 13;default:return[2,J(a)]}}}function\ng7(a){var\nd=33;for(;;){var\nc=a0(a3,d,a);if(9<c>>>0){b(a[1],a);var\nd=c;continue}switch(c){case\n0:return 9;case\n1:return 10;case\n2:return[3,k(J(a))];case\n3:return[4,J(a)];case\n4:return 11;case\n5:return 12;case\n6:return 12;case\n7:return[5,J(a)];case\n8:return 13;default:return 12}}}function\nnL(a){var\nc=55;for(;;){var\nd=a0(a3,c,a);if(0===d)return eD(a,a[5],a[6]-1|0);b(a[1],a);var\nc=d;continue}}function\nnK(a){var\nc=53;for(;;){var\nd=a0(a3,c,a);if(0===d)return eD(a,a[5],a[6]-1|0);b(a[1],a);var\nc=d;continue}}var\naP=[A,nO,be(0)],g8=[A,nP,be(0)];function\nnJ(a,e){var\nd=e;for(;;){var\nc=a0(a3,d,a);if(7<c>>>0){b(a[1],a);var\nd=c;continue}switch(c){case\n0:return 9;case\n1:return 10;case\n2:return[3,k(J(a))];case\n3:try{var\nf=[5,nK(a)];return f}catch(a){return 12}case\n4:try{var\ng=[5,nL(a)];return g}catch(a){return 12}case\n5:return[5,J(a)];case\n6:return 13;default:return 12}}}function\nbk(b,a){return[0,fP,[0,b,a]]}var\nog=[0,of,[0,oe,[0,od,[0,oc,[0,ob,[0,oa,[0,n$,[0,n_,[0,n9,[0,n8,[0,n7,[0,n6,[0,n5,[0,n4,[0,n3,[0,n2,[0,n1,[0,n0,[0,nZ,[0,nY,[0,nX,[0,nW,[0,nV,[0,nU,[0,nT,[0,[0,nS,[0,j,bk(i,nR)]],nQ]]]]]]]]]]]]]]]]]]]]]]]]]],on=[0,om,[0,ol,[0,ok,[0,oj,[0,[0,oi,[0,j,bk(i,oh)]],og]]]]],os=[0,or,[0,oq,[0,[0,op,[0,o,bk(i,oo)]],on]]],ow=[0,[0,ov,[0,o,[0,R,[0,ou,bk(i,ot)]]]],os],oY=[0,oX,[0,oW,[0,oV,[0,oU,[0,oT,[0,oS,[0,oR,[0,oQ,[0,oP,[0,oO,[0,oN,[0,oM,[0,oL,[0,oK,[0,oJ,[0,oI,[0,oH,[0,[0,oG,[0,o,[0,R,[0,g9,oF]]]],[0,[0,oE,[0,o,[0,R,[0,g9,oD]]]],[0,oC,[0,oB,[0,oA,[0,oz,[0,[0,oy,[0,o,bk(i,ox)]],ow]]]]]]]]]]]]]]]]]]]]]]]],o2=[0,o1,[0,[0,o0,[0,c,bk(i,oZ)]],oY]],o6=[0,o5,[0,[0,o4,[0,c,bk(i,o3)]],o2]],eR=[0,pv,[0,pu,[0,pt,[0,ps,[0,pr,[0,pq,[0,pp,[0,po,[0,pn,[0,pm,[0,pl,[0,pk,[0,pj,[0,pi,[0,ph,[0,pg,[0,pf,[0,pe,[0,pd,[0,pc,[0,pb,[0,pa,[0,o$,[0,o_,[0,o9,[0,[0,o8,[0,c,bk(i,o7)]],o6]]]]]]]]]]]]]]]]]]]]]]]]]];function\npw(a){function\nb(a){if(typeof\na===\"number\"){if(c===a)return i}else\nif(R===a[1]){var\nd=a[2],e=d[1];return[0,R,[0,e,b(d[2])]]}return a}return aj(function(d){var\ne=d[2],f=e[2],a=e[1],g=d[1];return c===a?[0,g,[0,a,b(f)]]:[0,g,[0,a,f]]},a)}function\npx(a,f){return aj(function(b){var\nc=b[2],d=c[2],e=c[1],a=b[1];if(o===e&&gB(a,f))return[0,a,[0,a8,d]];return[0,a,[0,e,d]]},a)}px(pw(eR),py);function\npz(c){var\ne=pA;a:for(;;){var\nf=17;for(;;){var\nd=a0(a3,f,c);if(3<d>>>0){b(c[1],c);var\nf=d;continue}switch(d){case\n0:var\na=1;break;case\n1:var\na=2;break;case\n2:var\na=13;break;default:var\na=2}if(2===a){var\ne=h(e,J(c));continue a}if(13<=a)throw aP;return e}}}function\ng_(a){var\ne=23;for(;;){var\nd=a0(a3,e,a);if(2<d>>>0){b(a[1],a);var\ne=d;continue}switch(d){case\n0:var\nc=4;break;case\n1:var\nc=13;break;default:var\nc=5}if(5===c){var\nf=J(a);return h(f,g_(a))}if(13<=c)throw aP;return pB}}function\ng$(c){var\ne=27;for(;;){var\nd=a0(a3,e,c);if(4<d>>>0){b(c[1],c);var\ne=d;continue}switch(d){case\n0:var\na=7;break;case\n1:var\na=7;break;case\n2:var\na=13;break;case\n3:var\na=8;break;default:var\na=8}if(8===a){var\nf=J(c);return h(f,g$(c))}if(13<=a)throw aP;return pC}}function\npD(k){var\nc=16,l=bh(k);for(;;){if(!(l<=c)&&!(ex<(c*2|0))){var\nc=c*2|0;continue}if(nr){var\ni=bg(dp),b=bo===i?dp[1]:ao===i?ck(dp):dp;b[2]=(b[2]+1|0)%55|0;var\nd=b[2],e=w(b[1],d)[1+d],f=(b[2]+24|0)%55|0,g=(w(b[1],f)[1+f]+(e^(e>>>25|0)&31)|0)&fA,h=b[2];w(b[1],h)[1+h]=g;var\nj=g}else\nvar\nj=0;var\na=[0,0,aM(c,0),j,c];bT(function(v){var\nx=v[1],H=v[2],f=eO(a,x),G=[0,x,H,w(a[2],f)[1+f]];w(a[2],f)[1+f]=G;a[1]=a[1]+1|0;var\nu=a[2].length-1<<1<a[1]?1:0;if(u){var\ni=a[2],s=(i.length-1)*2|0,t=s<ex?1:0;if(t){var\nj=aM(s,0),y=a.length-1<4?1:0,z=y||(a[4]<0?1:0),k=1-z;a[2]=j;var\nl=j.length-1,g=aM(l,0),o=i.length-1-1|0,C=0;if(!(o<0)){var\ne=C;a:for(;;){var\nb=w(i,e)[1+e];for(;;){if(b){var\nm=b[1],A=b[2],B=b[3],h=k?b:[0,m,A,0],c=eO(a,m),n=w(g,c)[1+c];if(n)n[3]=h;else\nw(j,c)[1+c]=h;w(g,c)[1+c]=h;var\nb=B;continue}var\nF=e+1|0;if(o!==e){var\ne=F;continue a}break}break}}if(k){var\np=l-1|0,D=0;if(!(p<0)){var\nd=D;for(;;){var\nr=w(g,d)[1+d];if(r)r[3]=0;var\nE=d+1|0;if(p!==d){var\nd=E;continue}break}}var\nq=0}else\nvar\nq=k;return q}return t}return u},k);return a}}var\neS=gN([0,c9]);function\npE(M,L,K,I,H,j){var\nX=M?M[1]:eR,Y=L?L[1]:0,Z=K?K[1]:0,_=I?I[1]:0,$=H?H[1]:0,e=[0,pF],l=[0,0],a=[0,0],q=[0,eS[1]],r=gO(0),N=pD(X),m=$?function(a){return a}:gI;function\nu(a){if(d(a,pG))return pH;function\nb(a){var\nb=a[2];if(typeof\nb!==\"number\"&&R===b[1])return[0,a[1],b[2][2]];return a}try{var\nc=b(g2(N,a));return c}catch(a){a=C(a);if(a===p)return pI;throw a}}function\nac(k,j,e){var\nb=u(e)[1];function\nd(n){var\na=n;for(;;){if(typeof\na===\"number\"){if(fq<=a){if(ca<=a){if(i<=a){var\ng=c===b?1:0;if(g)var\nh=g;else\nvar\np=o===b?1:0,h=p||(a8===b?1:0);return h}return 0}return v<=a?0:1}if(c<=a)return c===b?1:0;var\nq=o===b?1:0,r=q||(a8===b?1:0);return r}var\nf=a[1];if(fP<=f){if(R<=f)throw[0,s,pK];var\nj=a[2],t=j[2],k=d(j[1]);if(k)return k;var\na=t;continue}if(-260921543<=f){var\nl=a[2],u=l[2],m=d(l[1]),w=m?1-d(u):m;return w}return gB(e,a[2])}}var\na=bA===b?1:0;if(a)var\ng=a;else{var\nh=1-f(eS[3],e,j);if(h)return d(u(k)[2]);var\ng=h}return g}function\nz(d){var\nc=gO(0),f=e[1],g=l[1],h=a[1],i=q[1];try{for(;;){if(ac(e[1],q[1],d)){var\nj=0;return j}if(a8===u(e[1])[1])throw eE;var\nb=cp(r);eF(b,c);var\nk=b[4],m=b[3],n=b[2],o=b[1],p=G(a[1]),s=[0,[0,e[1],l[1],p]];e[1]=o;l[1]=n;q[1]=k;a[1]=[0,s,m];continue}}catch(b){b=C(b);if(b===eE)for(;;){if(0<c[2]){eF(cp(c),r);continue}e[1]=f;l[1]=g;a[1]=h;q[1]=i;return 0}throw b}}function\nA(a){function\nb(b){for(;;){var\na=b?nJ(j,44):g7(j);if(typeof\na!==\"number\"&&3===a[0])continue;return a}}function\ne(j){var\nc=j;for(;;){if(typeof\nc===\"number\")switch(c){case\n9:return pL;case\n10:return pM;case\n13:throw aP}else\nif(4===c[0]){var\na=c[1],f=b(0);if(typeof\nf===\"number\")switch(f){case\n9:var\no=m(a);return[0,[0,[0,m(a),o],0],0];case\n10:var\np=m(a);return[0,[0,[0,m(a),p],0],1];case\n11:var\nd=b(1);if(typeof\nd===\"number\")switch(d){case\n9:return pN;case\n10:return pO;case\n13:throw aP}else\nswitch(d[0]){case\n4:var\nq=d[1],h=e(b(0)),r=h[2],s=h[1];return[0,[0,[0,m(a),q],s],r];case\n5:var\nt=d[1],i=e(b(0)),u=i[2],v=i[1];return[0,[0,[0,m(a),t],v],u]}var\nc=b(0);continue;case\n13:throw aP}var\ng=e(f),k=g[2],l=g[1],n=m(a);return[0,[0,[0,m(a),n],l],k]}var\nc=b(0);continue}}return e(b(0))}function\nB(e){a:for(;;){var\nf=11;for(;;){var\nc=a0(a3,f,j);if(3<c>>>0){b(j[1],j);var\nf=c;continue}switch(c){case\n0:var\ng=J(j),a=[1,aq(g,2,k(g)-2|0)];break;case\n1:var\na=nN;break;case\n2:var\na=13;break;default:var\na=[2,J(j)]}if(typeof\na===\"number\"){if(13===a)throw aP}else\nswitch(a[0]){case\n1:var\ni=a[1];return d(m(i),e)?pP:h(pQ,h(i,B(e)));case\n2:var\nl=a[1];return h(l,B(e))}continue a}}}function\nO(b){for(;;){var\na=g7(j);if(typeof\na===\"number\")if(11<=a){if(13<=a)throw aP}else\nif(9<=a)return 0;continue}}try{a:for(;;){var\nt=nI(j);if(typeof\nt===\"number\")switch(t){case\n0:var\nad=pz(j);if(_)a[1]=[0,[0,[0,pS,[0,[0,pR,ad],0],0]],a[1]];continue;case\n3:var\nae=g_(j);if(Y)a[1]=[0,[0,[0,pU,[0,[0,pT,ae],0],0]],a[1]];continue;case\n6:var\naf=g$(j);if(Z)a[1]=[0,[0,[0,pW,[0,[0,pV,af],0],0]],a[1]];continue;case\n13:throw aP}else\nswitch(t[0]){case\n0:var\nn=m(t[1]),P=u(n)[2];if(v===P){var\nag=A(0)[1];z(n);a[1]=[0,[0,[0,n,ag,0]],a[1]];continue}if(ca===P){var\nQ=A(0),ah=Q[2],ai=Q[1];z(n);if(ah)var\nS=pX;else{var\naj=B(n);O(0);var\nS=aj}a[1]=[0,[0,[0,n,ai,[0,[1,S],0]]],a[1]];continue}var\nT=A(0),U=T[1],ak=T[2];z(n);if(ak)a[1]=[0,[0,[0,n,U,0]],a[1]];else{if(d(n,pJ))var\nD=0;else{var\naa=function(b){var\na=b[2];if(typeof\na!==\"number\"&&R===a[1])return a[2][1];return 0};try{var\nab=aa(g2(N,n)),D=ab}catch(a){a=C(a);if(a!==p)throw a;var\nD=0,aC=a}}eF([0,e[1],l[1],a[1],q[1]],r);e[1]=n;l[1]=U;a[1]=0;bT(function(a){q[1]=f(eS[4],a,q[1]);return 0},D)}continue;case\n1:var\nE=m(t[1]);O(0);var\nV=d(E,e[1]);if(V)var\nF=V;else\ntry{k4(function(c){return function(b){var\na=b[1];if(d(c,a))throw g8;if(a8===u(a)[1])throw p;return 0}}(E),r);var\naw=0,F=aw}catch(a){a=C(a);if(a===g8)var\nW=1;else{if(a!==p)throw a;var\nW=0}var\nF=W,aD=a}if(F)for(;;){if(g(e[1],E)){var\nw=cp(r),al=w[4],am=w[3],an=w[2],ao=w[1],ap=G(a[1]);a[1]=[0,[0,[0,e[1],l[1],ap]],am];e[1]=ao;l[1]=an;q[1]=al;continue}var\nx=cp(r),ar=x[4],as=x[3],at=x[2],au=x[1],av=G(a[1]);a[1]=[0,[0,[0,e[1],l[1],av]],as];e[1]=au;l[1]=at;q[1]=ar;continue a}continue;case\n2:a[1]=[0,[1,t[1]],a[1]];continue}continue}}catch(b){b=C(b);if(b===aP)for(;;){if(0<r[2]){var\ny=cp(r),ax=y[4],ay=y[3],az=y[2],aA=y[1],aB=G(a[1]);a[1]=[0,[0,[0,e[1],l[1],aB]],ay];e[1]=aA;l[1]=az;q[1]=ax;continue}return G(a[1])}throw b}}function\npY(l,k,a,c){function\ni(f){if(0===f[0]){var\nh=f[1],e=h[2],c=h[1],m=h[3];if(g(c,p0)){if(g(c,p1)){if(g(c,p2)){try{var\no=v===co(c,l)[2]?1:0,j=o}catch(a){a=C(a);if(a!==p)throw a;var\nj=0}b(a,p3);b(a,c);bT(function(e){var\nf=e[2],g=e[1];b(a,p4);b(a,g);b(a,p5);function\nc(b,a){try{var\ne=eC(a,nF),f=aq(a,0,e),g=nD(a,e+1|0),h=d(f,nH)?c(b,g):c([0,f,b],g);return h}catch(c){c=C(c);if(c===p)return d(a,nG)?b:[0,a,b];throw c}}b(a,az(pZ,G(c(0,f))));return b(a,p6)},e);if(j){var\nn=k?p7:p8;return b(a,n)}b(a,p9);bT(i,m);b(a,p_);b(a,c);return b(a,p$)}b(a,qa);b(a,co(qb,e));return b(a,qc)}b(a,qd);b(a,co(qe,e));return b(a,qf)}b(a,qg);b(a,co(qh,e));return b(a,qi)}return b(a,f[1])}try{var\ne=bT(i,c);return e}catch(a){a=C(a);if(a===p)return ch(qj);throw a}}function\nqk(b,a){return aq(b,0,a)}function\nql(b,a){return aq(b,a,k(b)-a|0)}var\na4=aN(32,b0);function\nha(a){return aN(32,0)}function\neT(b,a){return aL(b,a>>>3|0,cl(bK(b,a>>>3|0)|1<<(a&7)))}function\nds(b){var\na=ha(0);eT(a,b);return a}function\ndt(c){var\nb=D(32),a=0;for(;;){aL(b,a,cl(bK(c,a)^b0));var\nd=a+1|0;if(31!==a){var\na=d;continue}return b}}function\neU(d,c){var\nb=D(32),a=0;for(;;){var\ne=bK(c,a);aL(b,a,cl(bK(d,a)|e));var\nf=a+1|0;if(31!==a){var\na=f;continue}return b}}function\nqm(c,b){try{var\na=0;for(;;){var\ne=bK(b,a);if(0!==(bK(c,a)&e))throw gr;var\nf=a+1|0;if(31!==a){var\na=f;continue}var\nd=1;return d}}catch(a){a=C(a);if(a===gr)return 0;throw a}}function\nhb(f,e){var\na=0;for(;;){var\nd=bK(e,a);if(0!==d){var\nc=0;for(;;){if(0!==(d&1<<c))b(f,cl((a<<3)+c|0));var\nh=c+1|0;if(7!==c){var\nc=h;continue}break}}var\ng=a+1|0;if(31!==a){var\na=g;continue}return 0}}function\ncr(a){var\nc=ha(0);hb(function(a){eT(c,cm(a));var\nb=a-224|0,d=0;if(30<b>>>0){if(!(25<b+cI>>>0))d=1}else\nif(23!==b)d=1;var\ne=d?a+fW|0:a;return eT(c,e)},a);return c}var\nhc=0,hd=1,qn=3,qo=4,qp=5,qq=6,qr=7,qs=8,qt=9,qu=10,qv=11,qw=12,qx=13,qy=14,eV=15,du=16,he=17,hf=18;function\nhg(b,a){return b|a<<8}function\neW(b,a){return(b-a|0)-1|0}function\neX(c){var\na=c;for(;;)if(typeof\na===\"number\")switch(a){case\n0:return 1;case\n1:return 1;default:return 1}else\nswitch(a[0]){case\n0:return 0;case\n1:return d(a[1],qz);case\n2:return 0;case\n3:return gA(eX,a[1]);case\n4:var\ne=a[2],b=eX(a[1]);if(b)return b;var\na=e;continue;case\n5:return 1;case\n6:var\na=a[1];continue;case\n7:return 1;case\n8:var\na=a[2];continue;default:return 1}}function\nfk(f,g){var\na=g;for(;;)if(typeof\na===\"number\")switch(a){case\n0:return a4;case\n1:return a4;default:return a4}else\nswitch(a[0]){case\n0:return ds(a[1]);case\n1:var\nb=a[1];return d(b,qA)?a4:ds(B(b,0));case\n2:var\nc=a[1];return a[2]?dt(c):c;case\n3:var\ne=a[1];return f<50?fj(f+1|0,e):n(fj,[0,e]);case\n4:var\nh=a[1],i=bl(a[2]);return eU(bl(h),i);case\n5:return a4;case\n6:var\na=a[1];continue;case\n7:return a4;case\n8:var\na=a[2];continue;default:return a4}}function\nfj(c,d){var\na=d;for(;;){if(a){var\nb=a[1];if(typeof\nb===\"number\"){var\na=a[2];continue}else\nswitch(b[0]){case\n5:var\ne=b[1],f=cs(a[2]);return eU(bl(e),f);case\n7:var\ng=b[1],h=cs(a[2]);return eU(bl(g),h);default:return c<50?fk(c+1|0,b):n(fk,[0,b])}}return a4}}function\nbl(a){return bR(fk(0,a))}function\ncs(a){return bR(fj(0,a))}function\neY(f,a){var\nc=0;if(typeof\na!==\"number\")switch(a[0]){case\n0:var\nd=0,b=ds(a[1]);c=1;break;case\n2:var\nd=a[2],b=a[1];c=1;break}if(c){var\ne=f?cr(b):b,g=d?dt(e):e;return df(g)}throw[0,s,qB]}var\nhh=D(aK),cw=0;for(;;){aL(hh,cw,cm(cl(cw)));var\nzm=cw+1|0;if(b0!==cw){var\ncw=zm;continue}var\nqC=df(hh),dv=dj([0,c9]);dt(ds(10));var\nqF=function(K){var\nz=[1,K],b=[0,aM(32,0)],c=[0,0],j=[0,dv[1]],l=[0,0],g=[0,1],m=[0,0],q=1;function\na(g,f){if(b[1].length-1<=c[1]){var\na=[0,b[1].length-1];for(;;){if(a[1]<=c[1]){a[1]=a[1]*2|0;continue}var\nd=aM(a[1],0);gJ(b[1],0,d,0,b[1].length-1);b[1]=d;break}}var\nh=hg(g,f),e=c[1];w(b[1],e)[1+e]=h;c[1]++;return 0}function\nh(d){var\nb=c[1];a(hc,0);return b}function\ni(a,d,c){var\ne=hg(d,eW(c,a));w(b[1],a)[1+a]=e;return 0}function\ne(b){try{var\na=f(dv[28],b,j[1]);return a}catch(a){a=C(a);if(a===p){var\nc=l[1];j[1]=aJ(dv[4],b,c,j[1]);l[1]++;return c}throw a}}function\ns(b){if(eX(b)){var\na=m[1];if(64<=a)ch(qD);m[1]++;return a}return-1}function\nn(b,a){var\nc=cr(a);return qm(cr(b),c)}function\nd(b){if(typeof\nb===\"number\")switch(b){case\n0:return a(qp,0);case\n1:return a(qq,0);default:return a(qr,0)}else\nswitch(b[0]){case\n0:return a(hd,cm(b[1]));case\n1:var\nf=b[1],n=k(f);if(0===n)return 0;if(1===n)return a(hd,cm(B(f,0)));try{var\no=eC(f,0);d([1,qk(f,o)]);a(hc,0);var\nw=d([1,ql(f,o+1|0)]);return w}catch(b){b=C(b);if(b===p)return a(qn,e(gI(f)));throw b}case\n2:var\nx=b[2],q=cr(b[1]),y=x?dt(q):q;return a(qo,e(df(y)));case\n3:return D(b[1]);case\n4:var\nz=b[2],A=b[1],E=h(0);d(A);var\nF=h(0),G=c[1];d(z);var\nH=c[1];i(E,du,G);return i(F,eV,H);case\n5:var\nr=b[1],j=s(r),t=h(0);if(0<=j)a(he,j);d(r);if(0<=j)a(hf,j);a(eV,eW(t,c[1]));return i(t,du,c[1]);case\n6:var\nu=b[1],l=s(u),I=c[1];d(u);if(0<=l)a(hf,l);var\nJ=h(0);if(0<=l)a(he,l);a(eV,eW(I,c[1]));return i(J,du,c[1]);case\n7:var\nK=b[1],L=h(0);d(K);return i(L,du,c[1]);case\n8:var\nm=b[1],M=b[2];a(qs,m);d(M);a(qt,m);g[1]=de(g[1],m+1|0);return 0;default:var\nv=b[1];a(qu,v);g[1]=de(g[1],v+1|0);return 0}}function\nD(p){var\nb=p;for(;;){if(b){var\nc=b[1];if(typeof\nc!==\"number\")switch(c[0]){case\n5:var\nf=c[1],l=0;if(typeof\nf===\"number\")l=1;else\nswitch(f[0]){case\n0:case\n2:var\ni=b[2],s=cs(i);if(n(bl(f),s)){a(qx,e(eY(q,f)));var\nb=i;continue}break;default:l=1}break;case\n6:var\ng=c[1],m=0;if(typeof\ng===\"number\")m=1;else\nswitch(g[0]){case\n0:case\n2:var\nj=b[2],t=cs(j);if(n(bl(g),t)){a(qy,e(eY(q,g)));var\nb=j;continue}break;default:m=1}break;case\n7:var\nh=c[1],o=0;if(typeof\nh===\"number\")o=1;else\nswitch(h[0]){case\n0:case\n2:var\nk=b[2],u=cs(k);if(n(bl(h),u)){a(qw,e(eY(q,h)));var\nb=k;continue}break;default:o=1}break}var\nr=b[2];d(c);var\nb=r;continue}return 0}}d(z);a(qv,0);var\nt=bl(z),E=cr(t);if(jS(t,a4))var\nu=-1;else{var\nr=aN(aK,0);hb(function(a){return aL(r,a,1)},E);var\nu=e(df(r))}var\nv=aM(l[1],qE),F=j[1];function\nG(b,a){w(v,a)[1+a]=b;return 0}f(dv[12],G,F);var\no=c[1],x=b[1],A=0,H=m[1],J=g[1];if(0<=o&&!((x.length-1-o|0)<0)){var\ny=zC(x,0,o);A=1}if(!A)var\ny=I(kL);return[0,y,v,qC,J,H,u]},qG=[0,[0]],qH=function(d,c,b){var\na=AD(d,c,b);qG[1]=a;if(0===a.length-1)throw p;return w(a,0)[1]},Q=function(b,a){return a?a[1]:b},dw=function(a,b){if(b)return b;var\nc=bg(a);return bo===c?a[1]:ao===c?ck(a):a},ct=function(c,a){return a?[0,b(c,a[1])]:0},dx=function(c,a){return a?b(c,a[1])?a:0:0},hi=function(a,b){if(b)return b[1];var\nc=bg(a);return bo===c?a[1]:ao===c?ck(a):a},aA=function(a,c){return a?b(c,a[1]):0},am=function(b,a){return ct(a,b)},hj=function(a){return a?[0,a[1],0]:0},hk=function(c,a){if(a){var\nd=a[2],e=a[1],f=b(c,e),g=hk(c,d),h=e===f?1:0,i=h?d===g?1:0:h;return i?a:[0,f,g]}return a},ad=function(d,a){if(a){var\ne=a[2],f=a[1],g=b(d,f),c=ad(d,e);return g?e===c?a:[0,f,c]:c}return a},dy=function(c,b,a){var\nd=G(b);return bi(function(b,a){return f(c,a,b)},a,d)},dz=function(a){return a?[0,a[1]]:0},aQ=function(e,d){var\na=d;for(;;){if(a){var\nf=a[2],c=b(e,a[1]);if(c)return c;var\na=f;continue}return 0}},eZ=function(d,a){var\nc=0;return dy(function(e,a){var\nc=b(d,e);return c?[0,c[1],a]:a},a,c)},e0=function(e,d){var\na=d;for(;;){if(a){var\nc=a[1];if(b(e,c))return[0,c];var\na=a[2];continue}return 0}},e1=function(f){function\na(a,c){var\nd=c[2],e=c[1];return b(f,a)?[0,[0,a,e],d]:[0,e,[0,a,d]]}return function(b){return dy(a,b,qI)}},dA=function(c,a){var\nd=0;return dy(function(d,a){return F(b(c,d),a)},a,d)},e2=function(c,a){if(a){var\nd=a[1],f=a[2];if(b(c,d)){var\ne=e2(c,f);return[0,[0,d,e[1]],e[2]]}}return[0,0,a]},hl=function(c,a){return e2(function(a){return 1-b(c,a)},a)},hm=function(b){if(d(b,kH))var\nf=b;else{var\nh=0;if(gF(ay(b,0))||gF(ay(b,k(b)-1|0)))h=1;else\nvar\nf=b;if(h){var\ne=au(b),g=ax(e),a=[0,0];for(;;){if(a[1]<g&&gD(bL(e,a[1]))){a[1]++;continue}var\nc=[0,g-1|0];for(;;){if(a[1]<=c[1]&&gD(bL(e,c[1]))){c[1]+=-1;continue}var\ni=a[1]<=c[1]?eA(e,a[1],(c[1]-a[1]|0)+1|0):kB,f=O(i);break}break}}}return d(f,qJ)},a5=function(b,a){var\nc=k(a);return k(b)<c?0:d(aq(b,0,c),a)},e3=function(c,b){var\ne=k(c),a=k(b);return e<a?0:d(aq(c,e-a|0,a),b)},hn=function(b,a){var\nc=k(b);return c<a?qK:aq(b,a,c-a|0)},dB=function(a,h){function\nc(b,a){try{var\ne=eC(a,h),f=aq(a,0,e),g=hn(a,e+1|0),i=d(f,qM)?c(b,g):c([0,f,b],g);return i}catch(c){c=C(c);if(c===p)return d(a,qL)?b:[0,a,b];throw c}}return G(c(0,a))},as=function(b,a){var\nc=qF(a);try{qH(c,b,0);var\nd=1;return d}catch(a){a=C(a);if(a===p)return 0;throw a}},z=gN([0,kK]),ho=function(b){var\na=aq(b,5,k(b)-5|0);try{var\nc=c7(a);return c}catch(a){a=C(a);if(a[1]===db)throw[0,et,h(qR,h(b,qQ))];throw a}},hp=function(a){return a?[0,az(qS,a)]:0},hq=[0,0],bX=[0,0],qX=F(qW,qV),qY=b(z[37],qX),hr=function(a){return f(z[3],a,qY)},e4=function(b,a){return bN(a[1],b)},aI=function(a){function\nb(b){return e4(a,b)}return function(a){return e0(b,a)}},e5=function(c,b,a){var\nd=hk(function(a){var\nd=a[1];return bN(c,d)?[0,d,b]:a},a);return d===a?[0,[0,c,b],a]:d},q2=function(b,a){return aA(b,function(b){return 0===a[0]?[0,h(b,a[1])]:0})},hs=function(a){return bi(q2,q1,a)},ht=function(b){function\nc(a){if(1===a[0]&&d(a[1],b))return[0,a];return 0}return function(a){if(0===a[0])throw[0,s,q3];return eZ(c,a[4])}},hu=function(a){return 0===a[0]?0:a[4]},e6=function(c,b,a){if(0===a[0])return 0;var\ne=a[3],g=a[2];if(d(a[1],c))return f(b,g,e);var\nh=a[4];return aQ(function(a){return e6(c,b,a)},h)},dC=function(d,c,g,f,b){var\na=bN(c,d),e=a?0===b?1:0:a;return e},q4=function(k,j,i,h){var\nc=b(e1(function(a){return d(a[1],q5)}),j),a=c[1],l=c[2];if(a){var\ne=a[1];if(!g(e[1],q6)&&!a[2]){var\nf=e[2];return a5(f,q7)?[0,[1,k,F(l,[0,[0,q8,f],0]),i,h]]:0}}return 0},q_=[0,function(c,b,g,f){var\na=d(c,q9),e=a?0!==b?1:0:a;return e},q4],hv=function(a){return d(a[1],q$)},ra=function(f,b,a,e){var\nc=e0(hv,b);if(c){var\nh=c[1][2],i=ad(function(a){return g(a[1],rb)},b),j=V(function(a){return d(a[1][1],rc)},a)?a:[0,[0,rd,[0,[0,h,0]]],a];return[0,[1,f,i,j,e]]}return 0},rf=[0,function(c,b,f,e){var\na=d(c,re);return a?V(hv,b):a},ra],dD=function(a){return gH(a,32)?h(rh,h(a,rg)):a},rr=b(z[37],rq),rs=function(m){var\nb=m[2][1],c=m[1][1];if(f(z[3],c,rr)){var\na=bi(function(b,a){if(b){var\nc=b[2],e=b[1];if(d(a,rj))return[0,rk,[0,dD(e),c]];if(a5(a,rl)){var\nf=h(rm,a);return[0,rn,[0,h(dD(e),f),c]]}return[0,h(e,a),c]}return 0},ri,b);if(a){var\ni=a[1];if(g(i,ro))var\nn=a[2],j=[0,dD(i),n];else\nvar\nj=a[2];var\nl=j}else\nvar\nl=a;var\ne=az(rp,G(l))}else\nvar\np=e3(c,rw)?b:aj(dD,b),e=az(rx,p);var\no=0===k(e)?rt:e;return h(c,h(rv,h(o,ru)))},hw=function(a,b){var\nc=a?a[1]:ry;return az(c,aj(rs,b))},e7=function(a){return h(rA,hw(rz,a))},rC=function(b){switch(b[0]){case\n0:var\nc=b[1],d=h(rE,h(e7(b[2]),rD));return h(az(rB,c[1]),d);case\n1:var\nf=b[1];return h(rH,h(f,h(rG,h(e7(b[2]),rF))));default:var\ng=b[3],i=b[2],j=b[1][1],k=h(rJ,h(e7(b[4]),rI)),l=h(Q(rL,ct(function(a){return h(rK,a)},g)),k);return h(rO,h(j,h(Q(rN,ct(function(b){return h(rM,a(e+b[1]))},i)),l)))}},cu=function(a){return az(rQ,a[1])},hx=[A,rR,be(0)],aB=function(a){throw hx},hy=function(a){return rZ},hz=function(a){return r0},hA=function(a){return[0,a,0]},e8=function(a){return r1},e9=function(a){return r2},e_=function(a){return r3},bY=function(a){ci(r4);throw[0,s,r5]},hB=function(c,b,a){if(typeof\na===\"number\"&&3===a)return Q(0,b);return aB(0)},cy=function(e,H,c,a,G,F,g){var\nd=[0,H,F,G];if(typeof\ng===\"number\"&&5===g){var\nf=b(a,c);if(typeof\nf===\"number\")switch(f){case\n4:var\nh=b(a,c),i=hz(0),j=2;return e<50?_(e+1|0,d,c,a,i,j,h):n(_,[0,d,c,a,i,j,h]);case\n5:var\nk=b(a,c),l=hy(0),m=2;return e<50?_(e+1|0,d,c,a,l,m,k):n(_,[0,d,c,a,l,m,k]);default:return aB(0)}else\nswitch(f[0]){case\n0:var\no=f[1],p=b(a,c),q=2;return e<50?_(e+1|0,d,c,a,o,q,p):n(_,[0,d,c,a,o,q,p]);case\n1:var\nr=f[1],s=b(a,c),t=2;return e<50?_(e+1|0,d,c,a,r,t,s):n(_,[0,d,c,a,r,t,s]);case\n2:var\nu=f[1],v=2;return e<50?dN(e+1|0,d,c,a,u,v):n(dN,[0,d,c,a,u,v]);case\n3:var\nw=f[1],x=b(a,c),y=2;return e<50?_(e+1|0,d,c,a,w,y,x):n(_,[0,d,c,a,w,y,x]);case\n4:var\nz=f[1],A=b(a,c),B=2;return e<50?_(e+1|0,d,c,a,z,B,A):n(_,[0,d,c,a,z,B,A]);default:var\nC=f[1],D=b(a,c),E=2;return e<50?_(e+1|0,d,c,a,C,E,D):n(_,[0,d,c,a,C,E,D])}}return aB(0)},_=function(h,B,g,f,A,z,y){var\ne=B,d=A,c=z,a=y;for(;;)if(typeof\na===\"number\")switch(a){case\n4:var\nC=b(f,g),e=[0,e,c,d],d=hz(0),c=3,a=C;continue;case\n5:var\nD=b(f,g),e=[0,e,c,d],d=hy(0),c=3,a=D;continue;case\n2:case\n6:return aB(0);default:var\ni=e,l=[0,d,0],k=c;for(;;){if(2===k){var\nj=i[1],m=[0,i[3],[0,l]];switch(i[2]){case\n0:var\nt=hA(m),u=0;return h<50?bZ(h+1|0,j,g,f,t,u,a):n(bZ,[0,j,g,f,t,u,a]);case\n1:var\nv=j[2],w=j[1],x=[0,m,j[3]];return h<50?bZ(h+1|0,w,g,f,x,v,a):n(bZ,[0,w,g,f,x,v,a]);case\n7:var\nr=hA(m),s=7;return h<50?bZ(h+1|0,j,g,f,r,s,a):n(bZ,[0,j,g,f,r,s,a]);default:return bY(0)}}if(3===k){var\nJ=i[2],K=[0,i[3],l],i=i[1],l=K,k=J;continue}return bY(0)}}else\nswitch(a[0]){case\n0:var\nE=a[1],e=[0,e,c,d],d=E,c=3,a=b(f,g);continue;case\n1:var\nF=a[1],e=[0,e,c,d],d=F,c=3,a=b(f,g);continue;case\n2:var\no=a[1],p=[0,e,c,d],q=3;return h<50?dN(h+1|0,p,g,f,o,q):n(dN,[0,p,g,f,o,q]);case\n3:var\nG=a[1],e=[0,e,c,d],d=G,c=3,a=b(f,g);continue;case\n4:var\nH=a[1],e=[0,e,c,d],d=H,c=3,a=b(f,g);continue;default:var\nI=a[1],e=[0,e,c,d],d=I,c=3,a=b(f,g);continue}},dN=function(g,f,c,a,i,e){var\nd=b(a,c);if(typeof\nd===\"number\")switch(d){case\n2:case\n6:return aB(0)}else\nif(4===d[0]){var\nl=d[1],k=b(a,c),j=h(i,l);return g<50?dM(g+1|0,f,c,a,j,e,k):n(dM,[0,f,c,a,j,e,k])}return g<50?dM(g+1|0,f,c,a,i,e,d):n(dM,[0,f,c,a,i,e,d])},dM=function(g,f,e,d,c,b,a){return g<50?_(g+1|0,f,e,d,c,b,a):n(_,[0,f,e,d,c,b,a])},bZ=function(f,m,c,a,l,k,g){var\nd=[0,m,k,l];if(typeof\ng===\"number\")switch(g){case\n0:var\ne=b(a,c);if(typeof\ne===\"number\")switch(e){case\n1:case\n3:return f<50?dL(f+1|0,d,c,a,e):n(dL,[0,d,c,a,e])}else\nif(4===e[0]){var\no=e[1],h=b(a,c),i=[0,o],j=1;return f<50?cy(f+1|0,d,c,a,i,j,h):n(cy,[0,d,c,a,i,j,h])}return aB(0);case\n1:case\n3:return f<50?dL(f+1|0,d,c,a,g):n(dL,[0,d,c,a,g])}return bY(0)},dL=function(k,g,e,d,c){var\ni=g[2],h=g[1],m=g[3],l=[0,z[1],0],a=bi(function(a,b){var\nc=b[1][1],d=a[1],e=a[2];return f(z[3],c,d)?a:[0,f(z[4],c,d),[0,b,e]]},l,m)[2];if(i){if(7<=i){if(typeof\nc===\"number\"&&1===c){var\nj=b(d,e);return k<50?dK(k+1|0,h,e,d,a,j):n(dK,[0,h,e,d,a,j])}return aB(0)}return bY(0)}return hB(h,[0,a],c)},dK=function(e,r,c,a,k,j){var\nl=r[3],K=0,O=r[2],P=r[1];if(l&&!g(l[1],rY)){var\nf=l[2],s=0;if(f&&!g(f[1],rV)){var\no=f[2];if(o){var\np=o[2],t=o[1];if(p){if(!g(p[1],rX)){var\nq=p[2];if(q){var\nL=q[1],M=hp(q[2]),m=[2,[0,t],[0,[0,ho(L)]],M,k];s=1}}}else{var\nm=[2,[0,t],0,0,k];s=1}}}if(!s)var\nm=[1,az(rW,f),k]}else\nK=1;if(K)var\nm=[0,[0,G(bi(function(a,b){if(a){var\nc=a[2],d=a[1];return g(b,rT)?[0,h(d,b),c]:[0,rU,[0,d,c]]}return 0},rS,l))],k];var\nd=[0,P,O,m];if(typeof\nj===\"number\")switch(j){case\n3:var\ni=d,u=0;for(;;){var\nv=i[2],w=[0,i[3],u],N=i[1];if(4===v)return w;if(5===v){var\ni=N,u=w;continue}return bY(0)}case\n4:var\nx=b(a,c),y=e_(0),z=5;return e<50?a6(e+1|0,d,c,a,y,z,x):n(a6,[0,d,c,a,y,z,x]);case\n5:var\nA=b(a,c),B=e9(0),C=5;return e<50?a6(e+1|0,d,c,a,B,C,A):n(a6,[0,d,c,a,B,C,A]);case\n6:var\nD=b(a,c),E=e8(0),F=5;return e<50?a6(e+1|0,d,c,a,E,F,D):n(a6,[0,d,c,a,E,F,D])}else\nif(4===j[0]){var\nH=j[1],I=b(a,c),J=5;return e<50?a6(e+1|0,d,c,a,H,J,I):n(a6,[0,d,c,a,H,J,I])}return aB(0)},a6=function(k,p,f,e,o,m,l){var\nd=p,c=o,a=m,g=l;for(;;){if(typeof\ng===\"number\")switch(g){case\n2:var\nh=d,j=[0,c,0],i=a;for(;;)switch(i){case\n4:return k<50?dJ(k+1|0,h,f,e,j,i):n(dJ,[0,h,f,e,j,i]);case\n5:return k<50?dJ(k+1|0,h,f,e,j,i):n(dJ,[0,h,f,e,j,i]);case\n6:var\nu=h[2],v=[0,h[3],j],h=h[1],j=v,i=u;continue;default:return bY(0)}case\n4:var\nq=b(e,f),d=[0,d,a,c],c=e_(0),a=6,g=q;continue;case\n5:var\nr=b(e,f),d=[0,d,a,c],c=e9(0),a=6,g=r;continue;case\n6:var\ns=b(e,f),d=[0,d,a,c],c=e8(0),a=6,g=s;continue}else\nif(4===g[0]){var\nt=g[1],d=[0,d,a,c],c=t,a=6,g=b(e,f);continue}return aB(0)}},dJ=function(f,o,c,a,m,l){var\nd=[0,o,l,m],e=b(a,c);if(typeof\ne===\"number\"){if(1===e){var\ng=b(a,c),h=0;return f<50?dK(f+1|0,d,c,a,h,g):n(dK,[0,d,c,a,h,g])}}else\nif(4===e[0]){var\np=e[1],i=b(a,c),j=[0,p],k=7;return f<50?cy(f+1|0,d,c,a,j,k,i):n(cy,[0,d,c,a,j,k,i])}return aB(0)},r6=function(a,b,c,d,e,f){return bR(cy(0,a,b,c,d,e,f))},dE=function(a,b,c,d,e,f){return bR(a6(0,a,b,c,d,e,f))},r7=function(c,a){var\nd=b(c,a),e=0;if(typeof\nd===\"number\")switch(d){case\n3:return 0;case\n4:var\nf=b(c,a);return dE(e,a,c,e_(0),4,f);case\n5:var\ng=b(c,a);return dE(e,a,c,e9(0),4,g);case\n6:var\nh=b(c,a);return dE(e,a,c,e8(0),4,h)}else\nif(4===d[0]){var\ni=d[1];return dE(e,a,c,i,4,b(c,a))}return aB(0)},hC=[A,r9,be(0)],r8=function(d,c){var\na=b(d,c),e=0;if(typeof\na===\"number\"){if(3===a)return hB(e,0,a)}else\nif(4===a[0]){var\nf=a[1];return r6(e,c,d,[0,f],0,b(d,c))}return aB(0)},r$=function(c){a:for(;;){c[10]=aM(5,-1);var\nk=0;for(;;){var\nd=Ak(r_,k,c),j=0<=d?1:0,m=j?c[12]!==di?1:0:j;if(m){c[11]=c[12];var\nf=c[12];c[12]=[0,f[1],f[2],f[3],c[4]+c[6]|0]}if(20<d>>>0){b(c[1],c);var\nk=d;continue}switch(d){case\n0:return 3;case\n1:var\ng=c[12];c[12]=[0,g[1],g[2]+1|0,c[6],g[4]];continue a;case\n2:continue a;case\n3:return 4;case\n4:return 2;case\n5:return 1;case\n6:return 0;case\n7:return 5;case\n8:return 6;case\n9:return[3,J(c)];case\n10:return[5,J(c)];case\n11:return[4,J(c)];case\n12:return[0,J(c)];case\n13:return[2,J(c)];case\n14:return[1,J(c)];case\n15:var\nn=w(c[10],0)[1];return[1,eD(c,w(c[10],1)[2],n)];case\n16:return[4,J(c)];case\n17:continue a;case\n18:continue a;case\n19:continue a;default:var\ni=J(c),l=B(i,0);if(aK<l)return[1,i];throw[0,hC,h(sc,h(i,h(sb,h(a(e+l),sa))))]}}}},hD=function(c){var\nd=c[11],b=c[12],f=h(sd,a(e+((b[4]-b[3]|0)+1|0))),g=h(se,h(a(e+((d[4]-d[3]|0)+1|0)),f));return h(a(e+b[2]),g)},hE=function(c,a){var\nb=gM(0,c);try{var\ng=f(a,r$,b);return g}catch(a){a=C(a);if(a[1]===hC){var\nd=h(sf,a[2]);ci(h(hD(b),d));return 0}if(a===hx){var\ne=h(sg,c);ci(h(hD(b),e));return 0}throw a}},hF=function(a){return hE(a,r7)},e$=function(a){if(0===a[0])return hm(a[1]);var\nb=a[4],c=g(a[1],si);if(c){var\nd=0!==b?1:0;if(d)return gA(e$,b);var\ne=d}else\nvar\ne=c;return e},hG=function(a){var\nc=0;return G(bi(function(f,a){if(0===a[0]){var\nc=a[1],j=c[3],k=c[2],l=c[1],h=function(a){return hE(a[2],r8)},e=b(e1(function(a){return d(a[1],sh)}),k),i=e[2],g=bi(F,0,aj(h,e[1]));return[0,[1,l,i,g,hG(j)],f]}return[0,[0,a[1]],f]},c,a))},hH=function(b,a){return 0===a?b:[0,[0,sj,hw(0,a)],b]},hI=function(a){var\nb=0;return G(bi(function(b,a){if(0===a[0])return[0,[1,a[1]],b];var\nc=a[4],d=a[1],e=hH(a[2],a[3]);return[0,[0,[0,d,e,hI(c)]],b]},b,a))},hJ=function(u){var\nd=0,a=u;for(;;){if(a){var\ne=a[1],j=0;if(0===e[0]){var\nf=a[2];if(f){var\ng=f[1],k=e[1];if(0===g[0]){var\nv=f[2],a=[0,[0,h(k,g[1])],v];continue}var\no=f[2],n=k,m=g,l=g[1];j=1}}else{var\ni=a[2];if(i){var\ns=i[1],z=e[1];if(0===s[0]){var\no=i[2],n=s[1],m=e,l=z;j=1}}}if(j&&hr(l)&&hm(n)){var\na=[0,m,o];continue}var\nb=a[1];if(0===b[0]){var\nd=[0,[0,b[1]],d],a=a[2];continue}var\np=b[4],q=b[1],w=a[2],x=b[3],y=b[2];if(hr(q)){var\nc=p;for(;;){if(c){var\nt=c[2];if(e$(c[1])){var\nc=t;continue}}var\nr=dy(function(b,a){if(e$(b)&&0===a)return a;return[0,b,a]},c,0);break}}else\nvar\nr=p;var\nd=[0,[1,q,y,x,hJ(r)],d],a=w;continue}return G(d)}},hK=function(a){function\nc(d,a){var\nb=gE(d*2|0,32);if(0===a[0])return h(sm,h(b,h(sl,h(a[1],sk))));var\ne=a[4],f=a[1],g=hH(a[2],a[3]),i=h(so,h(b,sn)),j=d+1|0,k=h(sq,h(az(sp,aj(function(a){return c(j,a)},e)),i));return h(sw,h(b,h(sv,h(f,h(su,h(az(st,aj(function(a){var\nb=a[1];return h(b,h(ss,h(a[2],sr)))},g)),k))))))}return c(0,a)},bm=function(b,a){return[0,fP,[0,b,a]]},s0=[0,sZ,[0,sY,[0,sX,[0,sW,[0,sV,[0,sU,[0,sT,[0,sS,[0,sR,[0,sQ,[0,sP,[0,sO,[0,sN,[0,sM,[0,sL,[0,sK,[0,sJ,[0,sI,[0,sH,[0,sG,[0,sF,[0,sE,[0,sD,[0,sC,[0,sB,[0,[0,sA,[0,j,bm(i,sz)]],sy]]]]]]]]]]]]]]]]]]]]]]]]]],s7=[0,s6,[0,s5,[0,s4,[0,s3,[0,[0,s2,[0,j,bm(i,s1)]],s0]]]]],ta=[0,s$,[0,s_,[0,[0,s9,[0,o,bm(i,s8)]],s7]]],te=[0,[0,td,[0,o,[0,R,[0,tc,bm(i,tb)]]]],ta],tG=[0,tF,[0,tE,[0,tD,[0,tC,[0,tB,[0,tA,[0,tz,[0,ty,[0,tx,[0,tw,[0,tv,[0,tu,[0,tt,[0,ts,[0,tr,[0,tq,[0,tp,[0,[0,to,[0,o,[0,R,[0,hL,tn]]]],[0,[0,tm,[0,o,[0,R,[0,hL,tl]]]],[0,tk,[0,tj,[0,ti,[0,th,[0,[0,tg,[0,o,bm(i,tf)]],te]]]]]]]]]]]]]]]]]]]]]]]],tK=[0,tJ,[0,[0,tI,[0,c,bm(i,tH)]],tG]],tO=[0,tN,[0,[0,tM,[0,c,bm(i,tL)]],tK]],ue=[0,ud,[0,uc,[0,ub,[0,ua,[0,t$,[0,t_,[0,t9,[0,t8,[0,t7,[0,t6,[0,t5,[0,t4,[0,t3,[0,t2,[0,t1,[0,t0,[0,tZ,[0,tY,[0,tX,[0,tW,[0,tV,[0,tU,[0,tT,[0,tS,[0,tR,[0,[0,tQ,[0,c,bm(i,tP)]],tO]]]]]]]]]]]]]]]]]]]]]]]]]],hM=function(a){return hJ(hG(pE([0,ue],uh,ug,uf,0,gM(0,a))))},hN=function(a){return[0,[0,uD,a],uC]},fa=hN(uE),hO=function(n,m,a){var\nf=ad(function(b){var\na=b[1],c=d(a,hP),e=c||d(a,hQ);return e},n);function\no(a){return hn(a[2],7)}var\np=b(aI(hP),f),q=Q(fa,am(am(dw([ao,function(a){return b(aI(hQ),f)}],p),o),hN)),c=b(aI(uA),a),e=b(aI(uB),a),i=0;if(e&&c){var\nj=c[1][2],k=e[1][2],l=function(b){if(g(b,uv)&&g(b,uw))return a;return e5(uy,j,e5(ux,k,a))},h=am(aQ(function(a){return g(a[1][1],uz)?0:[0,cu(a[2])]},m),l);i=1}if(!i)var\nh=0;return F(q,Q(a,h))},hR=function(b,a){var\nc=[1,uF,0,0,a];return e6(b,function(b,a){return[0,[0,b,a]]},c)},uG=function(f,d,a,c){function\ne(b){var\nc=b[2],e=hO(d,a,b[1]);return[0,e,F(c,a)]}var\nb=Q([0,fa,0],am(hR(uH,c),e));return[0,[1,uI,b[1],b[2],0]]},uK=[0,function(a,e,c,b){return d(a,uJ)},uG],uL=function(a,b){return[0,a]},hS=function(a){return e6(uM,uL,a)},hT=function(d,a){if(0===a[0])return 0;var\nb=a[1];if(g(b,uN)){var\ne=a[4],f=a[3],h=a[2],c=function(b){if(b){var\na=b[1];if(0===a[0])return[0,a,c(b[2])];var\ne=a[1];if(g(e,uO)){var\nf=a[4],h=a[3],i=a[2],j=c(b[2]);return[0,[1,e,i,h,c(f)],j]}return[0,[1,uP,d,a[3],a[4]],b[2]]}return 0};return[0,[1,b,h,f,c(e)]]}return[0,[1,uQ,d,a[3],a[4]]]},uU=function(w,c,v,u,b){if(c){var\nn=c[1];if(!g(n[1],uV)&&!c[2]){var\na=n[2],m=a5(a,uR),s=m?e3(a,uS):m;if(s){if(b){var\nd=b[1];if(0!==d[0]&&!g(d[1],uW)){var\ne=d[2];if(e){var\no=e[1];if(!g(o[1],uX)&&!g(o[2],uY)&&!e[2]){var\nf=b[2];if(f){var\nh=f[2];if(h){var\ni=h[1],j=f[1];if(0!==i[0]&&!g(i[1],uZ)){var\nl=i[2];if(l){var\np=l[1];if(!g(p[1],u0)&&!g(p[2],u1)&&!l[2]){var\nt=h[2],q=hM(aq(a,15,(k(a)-9|0)-15|0)),r=function(a){function\nb(b){return hO(b[1],b[2],a)}var\nc=am(hR(uT,q),b);return hT(hi([ao,function(b){return F(fa,a)}],c),j)};return[0,[0,Q(j,aA(hS(j),r)),t]]}}}}}}}}}return 0}return 0}}return 0},u3=[0,function(a,b,c,d){return dC(u2,a,b,c,d)},uU],u7=function(u,b,t,s,a){if(b){var\nl=b[1];if(!g(l[1],u8)&&!b[2]){var\nm=l[2],k=a5(m,u4),q=k?e3(m,u5):k;if(q){if(a){var\nc=a[1];if(0!==c[0]&&!g(c[1],u9)){var\nd=c[2];if(d){var\nn=d[1];if(!g(n[1],u_)&&!g(n[2],u$)&&!d[2]){var\ne=a[2];if(e){var\nf=e[2];if(f){var\nh=f[1],i=e[1];if(0!==h[0]&&!g(h[1],va)){var\nj=h[2];if(j){var\no=j[1];if(!g(o[1],vb)&&!g(o[2],vc)&&!j[2]){var\nr=f[2],p=function(a){return hT([0,u6,a],i)};return[0,[0,Q(i,aA(hS(i),p)),r]]}}}}}}}}}return 0}return 0}}return 0},ve=[0,function(a,b,c,d){return dC(vd,a,b,c,d)},u7],hU=function(h,g,o){var\ni=h?h[1]:0,c=0,a=o;for(;;){if(a){var\nb=a[1];if(0===b[0]){var\nc=[0,b,c],a=a[2];continue}var\nd=a[2],f=b[4],j=b[3],k=b[2],l=b[1],e=cz(g,l,k,j,f,d);if(typeof\ne===\"number\"){if(0===e){var\na=d;continue}var\nm=hU([0,i],g,f),n=[1,l,k,j,m];if(i&&bQ(m,f)){var\na=[0,n,d];continue}var\nc=[0,n,c],a=d;continue}else{if(0===e[0]){var\na=[0,e[1],d];continue}var\na=e[1];continue}}return G(c)}},hV=function(a,e,d,c,b){return Q(0,aQ(function(f){if(fl(f[1],e,d,c,b)){var\na=fl(f[2],e,d,c,b);if(typeof\na===\"number\"&&!a)return 0;return[0,a]}return 0},a))},dF=function(a,i,h,b){var\nc=a?a[1]:0;return hU([0,c],function(f,e,d,b,c){var\na=hV(i,f,e,d,b);if(typeof\na===\"number\")switch(a){case\n0:var\ng=aQ(function(a){return fl(a[1],f,e,d,b)?cz(a[2],f,e,d,b,c):0},h);return g?[1,g[1]]:1;case\n1:return[1,F(b,c)];default:return 0}else\nreturn 0===a[0]?[0,a[1]]:[1,F(a[1],c)]},b)},vg=function(c){if(!g(c[1][1],vh)){var\na=c[2][1];if(a){var\nb=a[2];if(b){var\nd=b[2],e=b[1],f=a[1],h=[ao,function(a){return hp(d)}];return[0,[0,[0,f],ho(e),h]]}}}return 0},fb=function(a){return aQ(vg,a)},dG=function(b,a){return aQ(function(a){var\nc=a[2];return d(a[1][1],b)?[0,cu(c)]:0},a)},hW=function(o){var\nc=0,a=o;a:for(;;){if(a){var\nb=a[1];if(0===b[0]){var\nc=[0,b,c],a=a[2];continue}var\nk=a[2],f=b[2],h=b[1],p=b[3],l=hW(b[4]);if(f){var\nm=f[1];if(!g(m[1],vi)&&!g(m[2],vj)&&!f[2]&&!l){var\nn=0;if(d(h,vk)||d(h,vl))n=1;if(n){var\ni=1,e=hl(function(f){return function(a){if(1===a[0]){var\nb=a[2];if(b){var\nc=b[1],e=a[1];if(!g(c[1],qT)&&!g(c[2],qU)&&!b[2]&&d(e,f))return 1}}return 0}}(h),k)[2];for(;;){if(0===i)var\nj=e;else{if(e){var\ni=i-1|0,e=e[2];continue}var\nj=0}var\na=j;continue a}}}}var\nc=[0,[1,h,f,p,l],c],a=k;continue}return G(c)}},hX=function(a){return[0,vn,a[2],[0,vm,a[3]],0]},vJ=function(b){var\na=b[1][1],c=d(a,vK),e=c||d(a,vL);return e},vM=function(a){if(!g(a[1][1],vN)){var\nc=a[2],b=c[1];if(b&&!g(b[1],vO)&&!b[2])return[0,vP,c]}return a},hY=function(j,b,c){function\np(h){var\nk=h[3],c=h[2],i=c[3],f=c[2],l=c[1],o=c[4],p=h[1],m=0===k?0:hY(j,b,k),n=[0,vY,a(e+p)];if(d(l,vZ))return[1,l,[0,n,f],i,m];var\nq=V(function(a){return e4(v0,a)},f)?f:[0,v2,f],r=[0,n,F(eZ(function(a){return g(a[1][1],vT)?0:[0,[0,vU,cu(a[2])]]},i),q)],s=aj(vM,i);return[1,v1,r,s,F(hW(o),m)]}if(c){var\nk=c[1],l=k[2][3],m=k[1],i=function(g,e,c){function\nf(a){if(2===a[0]){var\nb=a[3];if(d(a[1][1],g)){if(c)var\nf=c[1],e=b?bN(f,b[1]):0;else\nvar\ne=0===b?1:0;if(e)return 1}}return 0}function\nh(a){if(2===a[0]){var\nb=a[2];if(b){var\nc=a[4];if(b[1][1]===e)return[0,c]}}return 0}function\ni(a){if(2===a[0]&&!a[2])return[0,a[4]];return 0}var\nb=ad(f,j),a=aQ(h,b);return a?a:aQ(i,b)},n=function(b){var\na=b[3],d=b[2],e=b[1][1],c=bg(a),f=bo===c?a[1]:ao===c?ck(a):a;return i(e,d,f)},o=function(c){var\na=[ao,function(e){function\na(a){return aA(fb(l),n)}var\nb=dG(vQ,c);return aA(dx(function(a){return d(vR,a)},b),a)}];function\nm(h){var\na=dh(h);if(g(a,vw))if(g(a,vx)){var\ne=0;if(g(a,vy)&&g(a,vz))var\nb=g(a,vA)?g(a,vB)?0:vD:vE;else\ne=1;if(e)var\nf=function(a){return d(a,qO)?vt:d(a,qP)?vu:d(a,qN)?0:0},b=aA(dG(vv,c),f)}else\nvar\nb=vF;else\nvar\nb=vG;return dw([ao,function(a){return vC}],b)}var\nh=Q(vI,aA(dG(vH,c),m)),b=h[1],j=h[2],e=hj(am(j,function(a){return[0,vo,[0,[0,a,0]]]}));if(d(b,vp))return[0,b,0,e];function\nf(a){return dG(vq,a)}var\ni=[ao,function(d){var\nb=bg(a),c=bo===b?a[1]:ao===b?ck(a):a;return aA(c,f)}];function\nk(a){return[0,vr,a]}var\no=dw(i,f(c));return[0,b,hj(am(dx(function(a){return g(a,vs)},o),k)),e]},f=Q(vS,am(i(b,m,0),o)),q=f[3],r=f[2],s=f[1],t=aj(p,c),u=F([0,[0,vX,h(b,h(vW,a(e+m)))],[0,[0,vV,b],0]],r);return[0,[1,s,u,F(q,ad(vJ,l)),t],0]}return 0},v4=function(c,b,a,f){var\nd=0,e=bX[1]?v5:v6;return[0,[1,c,b,a,[0,e,d]]]},wb=[0,function(o,r,q,b){var\nm=d(o,wa);if(m){var\nn=1===bh(b)?1:0;if(n){if(b){var\nh=b[1];if(0!==h[0]&&!b[2]){var\nc=h[1],a=h[4];for(;;){var\nj=d(c,v7);if(j)var\nf=j;else\nvar\np=d(c,v_),f=p||d(c,v$);if(f){if(a){var\ne=a[1];if(0===e[0]){var\nk=e[1];if(g(k,v8)){if(!g(k,v9)&&!a[2]&&bX[1])return 1}else\nif(!a[2])return 1}else\nif(!a[2]){var\nc=e[1],a=e[4];continue}}var\nl=0}else\nvar\nl=f;return l}}}var\ni=0}else\nvar\ni=n}else\nvar\ni=m;return i},v4],wd=b(z[37],wc),hZ=function(e){var\na=e;for(;;){if(a){var\nb=a[1];if(0===b[0]){var\nc=a[2];if(c){var\nd=c[1],f=b[1];if(0===d[0]){var\ng=c[2],a=[0,[0,h(f,d[1])],g];continue}}}return[0,b,hZ(a[2])]}return a}},h0=function(e,d){var\nb=0,a=e,c=d;for(;;){if(a){var\nb=[0,a[1],b],a=a[2];continue}if(c){var\nb=[0,c[1],b],a=0,c=c[2];continue}return G(b)}},wn=function(e,c,h,i,a){var\nj=b(aI(wq),c);if(a){var\nf=a[1];if(0===f[0])var\nk=0;else{var\nr=f[4],s=f[2],t=f[1],u=b(aI(wr),s),m=g(e,t);if(m)var\nn=m;else\nvar\np=j?1:0,q=1-p,n=q||bQ(j,u);if(n)var\no=0;else\nvar\nv=function(a){if(0===a[0])return 0;var\ng=a[4],b=d(a[1],ws);if(b){if(0===a[0])var\nc=0;else\nvar\nf=a[3],c=V(function(a){var\nc=a[2][1],b=d(a[1][1],wo),e=b?bN(c,wp):b;return e},f);var\ne=c}else\nvar\ne=b;return e?[0,g]:0},o=aA(dz(r),v);var\nk=o}var\nl=k}else\nvar\nl=0;return ct(function(g){var\nf=G(i);if(f)var\nj=f[1],d=[0,j,G(f[2])];else\nvar\nd=0;if(d){var\nb=d[1],k=d[2];if(0===b[0]){var\nl=dd(a);return[0,[1,e,c,h,F(i,g)],l]}var\nm=b[4],n=b[3],o=b[2],p=b[1],q=dd(a);return[0,[1,e,c,h,F(k,[0,[1,p,o,n,F(m,g)],0])],q]}return[0,[1,e,c,h,g],dd(a)]},l)},wv=[0,function(a,g,f,e){var\nb=d(a,wt),c=b||d(a,wu);return c},wn],h1=function(a){var\nc=b(aI(ww),a);return c7(Q(wx,ct(function(a){return a[2]},c)))},wy=function(e,c,o,g,f){function\na(a){var\nh=a[2],i=dz(f);return aA(i,function(a){if(0===a[0])return 0;var\ni=a[2],p=a[4],q=a[1],j=b(aI(wz),i);return aA(j,function(r){var\nb=r[2],s=h1(c),t=h1(i),u=(s+bh(g)|0)===t?1:0,j=d(e,wA),k=j?d(b,h):j;if(k)var\na=k;else{var\nl=d(e,wB);if(l){var\nm=d(q,wC);if(m)var\nn=d(b,h),a=n?u:n;else\nvar\na=m}else\nvar\na=l}if(a){var\nv=dd(f);return[0,[0,[1,e,c,o,F(g,p)],v]]}return 0})})}return aA(b(aI(wD),c),a)},wG=[0,function(a,g,f,e){var\nb=d(a,wE),c=b||d(a,wF);return c},wy],wH=function(e,a,d,c){var\nb=ad(function(a){return g(a[1],wI)},a);return a===b?0:[0,[1,e,b,d,c]]},wJ=[0,function(d,a,c,b){return 0!==a?1:0},wH],h2=function(a){var\ne=3<=k(a)?1:0;if(e){var\nf=58===B(a,1)?1:0;if(f){var\nb=B(a,0),d=0;if(113<=b){if(!(2<b-118>>>0))d=1}else\nif(111<=b)d=1;if(!d)return 0;var\nc=1}else\nvar\nc=f}else\nvar\nc=e;return c},wN=function(d,c,b,a){return a?1:2},wO=[0,function(a,d,c,b){return h2(a)},wN],wP=function(e,a,d,c){if(a){var\nb=a[1];if(!g(b[1],wQ)&&!a[2]&&a5(b[2],wR))return 1}return 0},wT=[0,function(a,e,c,b){return d(a,wS)},wP],wY=function(h,b,f,e){if(b){var\nc=b[1];if(!g(c[1],wZ)&&!b[2]){var\na=dh(c[2]);if(!d(a,wU)&&!d(a,wV)&&!a5(a,wW)&&!a5(a,wX))return 0;return 2}}return 0},w2=[0,function(a,h,g,c){var\ne=d(a,w0),b=e||d(a,w1),f=b?0===c?1:0:b;return f},wY],w5=function(d,c,b,a){return 2},w6=[0,function(e,a,c,b){return V(function(a){var\nc=a[2],b=d(a[1],w3),e=b?d(c,w4):b;return e},a)},w5],w9=function(d,c,b,a){return 2},w_=[0,function(e,c,a,b){return V(function(a){var\nc=a[2][1],b=d(a[1][1],w7);return b?V(function(a){return d(a,w8)},c):b},a)},w9],xa=function(d,c,b,a){return 1},xb=[0,function(e,c,a,b){return V(function(a){return d(a[1][1],w$)},a)},xa],xe=function(d,c,b,a){return 2},xg=[0,function(f,e,h,g){var\na=bX[1];if(a){var\nb=d(f,xf);if(b)return V(function(a){var\nc=a[2],b=d(a[1],xc),e=b?d(c,xd):b;return e},e);var\nc=b}else\nvar\nc=a;return c},xe],xj=function(d,c,b,a){return 2},xk=[0,function(f,b,e,c){var\na=bX[1];return a?V(function(a){var\nc=a[2],b=d(a[1],xh),e=b?d(c,xi):b;return e},b):a},xj],xl=function(d,a,c,b){if(a&&!g(a[1][1],xm)&&!a[2])return 2;return 0},xo=[0,function(a,b,c,d){return dC(xn,a,b,c,d)},xl],h3=b(z[37],xp),xr=b(z[37],xq),xs=b(b(z[7],h3),xr),xA=function(d,c,b,a){return 1},h4=[0,function(g,f,e,h){var\na=d(g,xB);if(a)var\nb=0===f?1:0,c=b?0===e?1:0:b;else\nvar\nc=a;return c},xA],xC=function(i,h,f,c){if(c){var\na=c[1];if(0!==a[0]&&!g(a[1],xD)&&!c[2]){var\nj=a[4],k=a[3],l=a[2],e=b(e1(function(a){return e4(xE,a)}),l),d=e[1],m=e[2];if(d&&!d[2])return[0,[1,i,e5(xG,d[1][2],h),f,[0,[1,xF,m,k,j],0]]];return 0}}return 0},xI=[0,function(a,e,c,b){return d(a,xH)},xC],xM=function(q,p,c,n){if(V(function(a){var\nc=a[2][1],b=d(a[1][1],xN),e=b?bN(c,xO):b;return e},c)){var\nb=G(n),g=0;if(b){var\na=b[1];if(0!==a[0]){var\ni=b[2],j=a[4],k=a[3],l=a[2],m=a[1],o=Q(0,aQ(function(a){var\nb=a[2];return d(a[1][1],xJ)?[0,[0,[0,xK,cu(b)],0]]:0},c)),e=ad(function(a){return a5(a[1][1],xL)},c),h=F(ad(function(a){var\nb=a[1][1];return 1-V(function(a){return d(a[1][1],b)},e)},k),e),f=[0,[1,m,F(o,l),h,j],i];g=1}}if(!g)var\nf=0;return[1,G(f)]}return 0},xQ=[0,function(a,e,c,b){return d(a,xP)},xM],xS=b(z[37],xR),h5=function(a){return f(z[3],a,xS)},xU=b(z[37],xT),x_=function(c,a,b){return h5(a)},fc=function(s,b,a){var\nn=h5(b);if(n)var\no=n;else{var\np=f(z[3],b,xU);if(p)var\nj=p;else{var\nl=45===B(b,0)?1:0;if(l)var\ni=l;else{var\nm=a5(b,x8);if(m)var\nr=1-s,i=r||g(b,x9);else\nvar\ni=m}var\nj=i}if(j)var\nq=j;else{var\ne=0;if(g(b,xV)&&g(b,xW)){var\nc=0;if(g(b,xX)){var\nd=0;if(g(b,xY))if(g(b,xZ))if(g(b,x0))if(g(b,x1)){if(g(b,x2)){c=1;d=1}}else\nif(a&&!(g(a[1],x4)||a[2])){var\nk=bX[1];e=2;c=1;d=1}else{c=1;d=1}else\nif(a&&!(g(a[1],x5)||a[2])){e=1;c=1;d=1}else{c=1;d=1}else\nd=1;if(!d)if(a&&!(g(a[1],x3)||a[2])){e=1;c=1}else\nc=1}if(!c&&a&&!g(a[1],x6)&&!a[2])e=1}else\ne=3;var\nh=0;switch(e){case\n3:if(a&&!g(a[1],x7)&&!a[2])h=2;break;case\n0:break;case\n1:h=2;break;default:h=1}switch(h){case\n0:var\nk=0;break;case\n2:var\nk=1;break}var\nq=k}var\no=1-q}return o},ya=b(z[37],x$),h6=function(a,c,b){var\nd=a?a[1]:0,e=c?fc:x_;return ad(function(a){return e(d,a[1][1],a[2][1])},b)},yb=function(a){var\nb=a[2][1],c=a[1][1],e=d(c,yc);if(e)var\nf=hq[1],g=f?V(function(a){return d(a,yd)},b):f;else\nvar\ng=e;return g?[0,[0,c],[0,aj(function(a){return d(a,ye)?yf:a},b)]]:a},h7=function(a,c){var\nd=a?a[1]:0;function\nb(g,f,a,e){var\nb=h6([0,d],c,a);return a===b?0:[0,[1,g,f,b,e]]}return[0,function(c,g,b,e){var\na=0!==b?1:0,d=a?1-f(z[3],c,ya):a;return d},b]},yg=function(b,a){if(0===b[0]){var\nd=b[1][1],c=h6(0,1,b[2]);if(0===c)return a;var\ne=aj(yb,c);return[0,[0,[0,ad(function(a){return g(a,yh)},d)],e],a]}return a},h8=b(z[37],yi),fd=function(a){return ad(function(a){return 1-f(z[3],a[1],h8)},a)},h9=function(g,f,e,a){return ad(function(c){var\na=c[1][1],h=c[2][1];if(g){var\nb=1-d(a,e);return b?fc(1,a,h):b}return d(a,f)},a)},yl=function(k,e,c,j){var\nb=e0(function(a){return d(a[1],yk)},e);if(b){var\nf=b[1];if(!V(function(a){return d(a[1][1],ym)},c)){var\na=f[2],g=f[1],i=kj(a)?h(a,yj):a;return[0,[1,k,e,[0,[0,[0,g],[0,[0,i,0]]],c],j]]}}return 0},yo=[0,function(a,e,c,b){return d(a,yn)},yl],yw=[0,uK,[0,wO,[0,wT,[0,w6,[0,w_,[0,xb,[0,xg,[0,xk,0]]]]]]]],h_=[A,yE,be(0)],yB=function(H,E,D,aw,av){var\nc=E?E[1]:0,I=D?D[1]:0,l=hM(aw);if(I)ci(h(yC,az(sx,aj(hK,l))));var\ni=l;for(;;){if(i){var\nj=i[1],K=0;if(1===j[0]&&!g(j[1],qZ)){var\nM=j[4],N=j[2];hq[1]=V(function(a){return as(a[2],q0)},N);var\nq=[0,M];K=1}if(!K){var\ni=i[2];continue}}else\nvar\nq=0;if(q){var\nR=q[1],t=e2(function(a){if(1===a[0]&&!g(a[1],uj))return 1;return 0},R),n=t[2],O=t[1],L=0,aC=Q(0,am(hs(dA(hu,dA(ht(un),O))),hF));if(n){var\nk=n[1];if(0!==k[0]&&!g(k[1],ui)){var\no=[0,k[3],k[4]];L=1}}if(!L)var\no=[0,0,n];var\nm=[0,aC,o[2],o[1]]}else\nvar\nu=hl(function(a){if(1===a[0]){var\nb=a[2];if(b){var\nc=b[1],f=a[1];if(!g(c[1],uk)&&!b[2]){var\nh=c[2],e=dC(ul,f,b,a[3],a[4]),i=e?d(dh(h),um):e;return i}}}return 0},l),v=u[2],P=u[1],m=v?[0,Q(0,am(hs(dA(hu,dA(ht(up),[0,[1,uo,0,0,P],0]))),hF)),v,0]:[0,0,l,0];var\ns=m[1],ax=m[3],ay=m[2],au=0,at=[0,xQ,[0,h7(yy,c),[0,h4,0]]],W=function(o,m,f,l,k){function\na(p){var\nn=p[1][1],q=[0,[1,o,m,f,l],k];function\ni(t,j){var\na=t;for(;;){if(a){var\nc=a[1];if(0!==c[0]){var\nk=a[2],f=c[4],g=c[3],l=c[2],m=c[1],o=fb(g);if(o){var\np=o[1],h=p[2],q=p[1][1];if(j){var\nu=j[1];if(d(q,n)&&h===u){var\nr=i(k,j);return[0,[0,[0,h,[0,m,l,g,f]],r[1]],r[2]]}}else\nif(d(q,n)){var\ns=i(k,[0,h]);return[0,[0,[0,h,[0,m,l,g,f]],s[1]],s[2]]}return[0,0,a]}var\nb=hV(at,m,l,g,f);if(typeof\nb===\"number\")switch(b){case\n0:var\ne=0;break;case\n1:var\ne=[0,f];break;default:var\ne=vf}else\nvar\ne=0===b[0]?[0,[0,b[1],0]]:[0,b[1]];if(e){var\na=F(e[1],k);continue}return[0,0,a]}}return[0,0,a]}}var\nb=i(q,0),a=b[1],r=b[2];function\ne(k,j){var\na=k,b=j;for(;;){if(b){var\nf=b[1],g=f[2],d=f[1],l=b[2];if(a){var\nh=a[1],c=h[1],m=a[2],n=h[2];if(c<d){var\no=d===(c+1|0)?0:[0,[0,c+1|0,hX(g),0],0],i=e(o,b),p=i[2],a=[0,[0,c,n,G(i[1])],m],b=p;continue}if(d<c)return[0,a,b]}var\na=[0,[0,d,g,0],a],b=l;continue}return[0,a,0]}}if(a)var\nc=a[1],h=c[2],j=1===c[1]?0:[0,[0,1,hX(h),0],0],g=G(e(j,a)[1]);else\nvar\ng=0;return[0,F(hY(s,n,g),r)]}return Q(0,am(fb(f),a))},aA=dF(0,yw,[0,ve,[0,u3,[0,[0,function(a,e,c,b){return d(a,v3)},W],au]]],ay),ah=[0,h4,[0,xI,0]],af=b(z[37],yt),ag=function(g,b,a,f){var\nd=fd(b),e=h9(c,yv,yu,a);if(d===b&&e===a)return 0;return[0,[1,g,d,e,f]]},ai=[0,[0,function(a,d,c,b){return f(z[3],a,af)},ag],ah],ae=function(g,b,a,f){var\nd=fd(b),e=h9(c,yr,yq,a);if(d===b&&e===a)return 0;return[0,[1,g,d,e,f]]},ak=[0,[0,function(a,e,c,b){return d(a,ys)},ae],ai],ac=function(h,b,a,g){var\nd=fd(b),e=ad(function(a){var\nb=a[1][1],d=a[2][1];return c?fc(1,b,d):f(z[3],b,h8)},a);if(d===b&&e===a)return 0;return[0,[1,h,d,e,g]]},al=[0,yo,[0,[0,function(a,e,c,b){return d(a,yp)},ac],ak]],ab=function(d,c,b,a){return a?1:2},an=[0,[0,function(a,h,g,e){if(c)return 0;var\nd=b(z[37],av);return f(z[3],a,d)},ab],al],ap=[0,xo,[0,w2,[0,wb,[0,h7(yx,c),an]]]],aa=function(e,c,b,a){return V(function(b){if(0===b[0]){var\na=b[1][1];if(a&&!g(a[1],xx)&&!a[2])return 1}return 0},s)?[0,[1,e,ad(function(a){var\nc=a[2],b=d(a[1],xy),e=b?d(c,xz):b;return 1-e},c),b,a]]:1},aq=[0,[0,function(f,a,e,b){return c?V(function(a){var\nc=a[2],b=d(a[1],xv),e=b?d(c,xw):b;return e},a):0},aa],ap],_=c?h3:xs,$=function(g,a,e,c){var\nb=ad(function(c){var\na=c[1],i=c[2],e=h2(a);if(e)var\ng=e;else\nvar\nb=d(a,xt),h=b?d(i,xu):b,g=h||f(z[3],a,_);return 1-g},a);return a===b?0:[0,[1,g,b,e,c]]},r=[0,0],ar=[0,rf,[0,q_,[0,[0,function(d,a,c,b){return 0!==a?1:0},$],aq]]],Y=[0,wv,0],X=function(m,i,u,c){var\nf=[ao,function(h){function\nf(v){var\nb=v[2],f=r[1];try{var\nn=co(b,f)}catch(a){a=C(a);if(a===p){r[1]=[0,[0,b,bh(c)],f];return 0}throw a}if(c){var\nj=c[1];if(0!==j[0]&&!g(j[1],wh)){var\nl=j[4];if(l){var\nt=l[1];if(0!==t[0]&&!g(t[1],wi)&&!l[2]&&!c[2])return 0}}}function\nw(a){return a[1]}var\nx=am(dz(f),w),h=function(a){return Q(b,a)}(x),y=function(a){return dB(a,58)}(b),z=c7(function(a){return ey(a,1)}(y)),A=function(a){return dB(a,58)}(b),k=function(a){return ey(a,0)}(A),B=function(a){return dB(a,58)}(h),D=c7(function(a){return ey(a,1)}(B)),E=dz(function(a){return dB(a,58)}(h)),o=function(a){return Q(k,a)}(E),q=z<D?1:0,F=d(h,b),G=F||q||g(o,k),s=G?a(e+(n+1|0)):a(f1),H=d(h,b),I=H||q||g(o,k),J=I?n+bh(c)|0:bh(c);r[1]=[0,[0,b,J],f];if(!d(m,we)&&!d(s,wf))return[0,[1,m,[0,[0,wg,s],i],u,c]];return 0}return Q(0,am(b(aI(wj),i),f))}];function\nh(a){return 0}return hi(f,am(b(aI(wk),i),h))},Z=dF(wK,[0,[0,function(a,g,f,e){var\nb=d(a,wl),c=b||d(a,wm);return c},X],ar],Y,aA),B=function(i,h){var\na=i,c=h;for(;;){if(a){var\nb=a[1];if(0===b[0]){var\nj=a[2],a=j,c=h0(c,[0,b,0]);continue}var\nd=a[2],e=b[1],k=b[3],l=b[2],g=B(b[4],0);if(f(z[3],e,wd)&&0===g){var\na=d;continue}var\na=d,c=h0(c,[0,[1,e,l,k,hZ(g)],0]);continue}return c}},aD=dF(wM,[0,wJ,0],0,dF(wL,0,[0,wG,0],B(Z,0))),J=c?gz(yg,s,0):0,aB=c?eZ(function(a){var\nb=a[2];return d(a[1][1],yz)?[0,[0,yA,cu(b)]]:0},ax):0,S=H?H[1]:1,w=0===J?0:[0,[1,uu,0,0,[0,[0,az(rP,aj(rC,J))],0]],0],x=S?[0,uq,0]:0,y=0===x?1:0,T=y?0===w?1:0:y,U=T?0:[0,[1,ut,0,0,F(x,w)],0],A=[1,us,0,0,F(U,[0,[1,ur,aB,0,aD],0])];if(I)ci(h(yD,hK(A)));return[0,A,0]}};nt(yF,[0,h_,[0]]);(function(a){throw a});var\ncv=x,fe=null,ff=undefined,dH=function(a){return a==fe?0:[0,a]},yG=cv.Array;gZ(function(a){return a[1]===h_?[0,ai(a[2].toString())]:0});gZ(function(a){return a\ninstanceof\nyG?0:[0,ai(a.toString())]});var\nh$=cv.document;cv.HTMLElement===ff;var\nyH=z6(0),ia=function(b,a){return as(a,b)},yI=0,yN=[0,[0,yM,0,function(a){var\nc=as(a,yJ),b=c||as(a,yL);return b?as(a,yK):b}],yI],yQ=[0,[0,yP,0,function(a){return ia(yO,a)}],yN],yT=[0,[0,yS,0,function(a){return ia(yR,a)}],yQ],yX=[0,[0,yW,0,function(a){var\nb=as(a,yU);return b?b:as(a,yV)}],yT],y2=[0,[0,y1,y0,function(a){var\nb=as(a,yY),c=b?1-as(a,yZ):b;return c}],yX],y8=[0,[0,y7,0,function(a){var\nc=as(a,y3);if(c){var\nd=as(a,y4);if(d){var\ne=as(a,y5);if(e)return as(a,y6);var\nb=e}else\nvar\nb=d}else\nvar\nb=c;return b}],y2],y9=ai(cv.navigator.userAgent),y_=function(k){var\na=y8,h=dh(y9);for(;;){if(a){var\nc=a[1],g=a[2];if(!b(c[3],h)){var\na=g;continue}var\ne=[0,c]}else\nvar\ne=0;var\nj=gy(function(a){return[0,a[1]]},e),f=gy(function(a){return d(a[1],y$)},j),i=0;return f?f[1]:i}},ib=function(a){var\nb=bN(a,fe)?ff:a;return b===ff?0:[0,b]},za=function(a){return d(ai(typeof\na),zb)},zc=function(d){var\na=d.src,b=a.length;if(0<b){var\nc=a.indexOf(fM),e=c<0?b:c,f=iP[\"length\"];return(a.indexOf(iP)+f|0)===e?1:0}return 0},ic=function(a){var\nb=a.split(bu),c=[0,cv];return b.reduce(z8(function(a,b,d,c){return a?ib(a[1][b]):a}),c)},id=function(a){if(a){var\nb=a[1],c=dH(b.getAttribute(jn));if(c){var\nd=c[1];b.removeAttribute(jn);return dx(za,ic(d))}return 0}return 0},zd=[ao,function(g){var\nd=h$.getElementsByTagName(ap),b=0,a=0,e=d.length;for(;;){if(a<e){var\nc=dH(d.item(a));if(c){var\nb=[0,c[1],b],a=a+1|0;continue}var\na=a+1|0;continue}var\nf=G(b);return aQ(function(a){var\nb=a.tagName.toLowerCase()===ap?a:fe;return id(dx(zc,dH(b)))},f)}}],ze=id(ib(h$.currentScript)),ie=function(a){return dw(zd,a)}(ze);bX[1]=y_(0);var\nfg=[0,0,0,0],zf=function(n,m){if(!fg[1]){if(0===dI)var\na=g5([0]);else{var\nd=g5(gK(nv,dI)),g=dI.length-1-1|0,k=0;if(!(g<0)){var\nc=k;for(;;){var\nh=(c*2|0)+2|0;d[3]=aJ(dq[4],dI[1+c],h,d[3]);d[4]=aJ(dr[4],h,1,d[4]);var\nl=c+1|0;if(g!==c){var\nc=l;continue}break}}var\na=d}var\ni=nB(a,zg),e=nz(a,zh),j=function(c){var\na=c[1+i];return b(a[2],a[1])};nx[1]++;if(f(dr[28],e,a[4])){eQ(a,e+1|0);w(a[2],e)[1+e]=j}else\na[6]=[0,[0,e,j],a[6]];var\no=function(d){var\nb=j6(A,a[1]);b[1]=a[2];var\nc=Ap(b);c[1+i]=d;return c};g6[1]=(g6[1]+a[1]|0)-1|0;a[8]=G(a[8]);eQ(a,3+((w(a[2],1)[2]*16|0)/32|0)|0);fg[1]=o}return b(fg[1],[0,n,m])},zi=function(n,m,l,j){var\ne=dH(j);if(e){var\nd=gK(ai,z7(e[1])),a=d.length-1-1|0,b=0;for(;;){if(0<=a){var\nh=[0,d[1+a],b],a=a-1|0,b=h;continue}var\nf=b;break}}else\nvar\nf=0;var\ng=ai(m),i=hI(yB(0,[0,l|0],[0,0],g,f)),c=gP(k(g));pY(eR,1,function(a){return bU(c,a)},i);return gk(gQ(c))},ig=function(a,b){return{\"cleanDocument\":z9(a)}}(zi,zf),zj=function(c,b){var\na=ic(\"tinymce.Resource.add\");return a?a[1](c,b):yH.error(\"Unable to find Word Import registration API\")},zk=function(a){return a(ig)};if(ie)zk(ie[1]);else\nzj(zl,ig);ew(0);return}}(globalThis));\n","/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var typeOf$1 = function (x) {\n      if (x === null) {\n        return 'null';\n      }\n      if (x === undefined) {\n        return 'undefined';\n      }\n      var t = typeof x;\n      if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) {\n        return 'array';\n      }\n      if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) {\n        return 'string';\n      }\n      return t;\n    };\n    var isEquatableType = function (x) {\n      return ['undefined', 'boolean', 'number', 'string', 'function', 'xml', 'null'].indexOf(x) !== -1;\n    };\n\n    var sort$1 = function (xs, compareFn) {\n      var clone = Array.prototype.slice.call(xs);\n      return clone.sort(compareFn);\n    };\n\n    var contramap = function (eqa, f) {\n      return eq$2(function (x, y) {\n        return eqa.eq(f(x), f(y));\n      });\n    };\n    var eq$2 = function (f) {\n      return {\n        eq: f\n      };\n    };\n    var tripleEq = eq$2(function (x, y) {\n      return x === y;\n    });\n    var eqString = tripleEq;\n    var eqArray = function (eqa) {\n      return eq$2(function (x, y) {\n        if (x.length !== y.length) {\n          return false;\n        }\n        var len = x.length;\n        for (var i = 0; i < len; i++) {\n          if (!eqa.eq(x[i], y[i])) {\n            return false;\n          }\n        }\n        return true;\n      });\n    };\n    var eqSortedArray = function (eqa, compareFn) {\n      return contramap(eqArray(eqa), function (xs) {\n        return sort$1(xs, compareFn);\n      });\n    };\n    var eqRecord = function (eqa) {\n      return eq$2(function (x, y) {\n        var kx = Object.keys(x);\n        var ky = Object.keys(y);\n        if (!eqSortedArray(eqString).eq(kx, ky)) {\n          return false;\n        }\n        var len = kx.length;\n        for (var i = 0; i < len; i++) {\n          var q = kx[i];\n          if (!eqa.eq(x[q], y[q])) {\n            return false;\n          }\n        }\n        return true;\n      });\n    };\n    var eqAny = eq$2(function (x, y) {\n      if (x === y) {\n        return true;\n      }\n      var tx = typeOf$1(x);\n      var ty = typeOf$1(y);\n      if (tx !== ty) {\n        return false;\n      }\n      if (isEquatableType(tx)) {\n        return x === y;\n      } else if (tx === 'array') {\n        return eqArray(eqAny).eq(x, y);\n      } else if (tx === 'object') {\n        return eqRecord(eqAny).eq(x, y);\n      }\n      return false;\n    });\n\n    const getPrototypeOf$2 = Object.getPrototypeOf;\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const eq$1 = t => a => t === a;\n    const is$4 = (value, constructor) => isObject(value) && hasProto(value, constructor, (o, proto) => getPrototypeOf$2(o) === proto);\n    const isString = isType$1('string');\n    const isObject = isType$1('object');\n    const isPlainObject = value => is$4(value, Object);\n    const isArray$1 = isType$1('array');\n    const isNull = eq$1(null);\n    const isBoolean = isSimpleType('boolean');\n    const isUndefined = eq$1(undefined);\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n    const isArrayOf = (value, pred) => {\n      if (isArray$1(value)) {\n        for (let i = 0, len = value.length; i < len; ++i) {\n          if (!pred(value[i])) {\n            return false;\n          }\n        }\n        return true;\n      }\n      return false;\n    };\n\n    const noop = () => {};\n    const compose = (fa, fb) => {\n      return (...args) => {\n        return fa(fb.apply(null, args));\n      };\n    };\n    const compose1 = (fbc, fab) => a => fbc(fab(a));\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const identity = x => {\n      return x;\n    };\n    const tripleEquals = (a, b) => {\n      return a === b;\n    };\n    function curry(fn, ...initialArgs) {\n      return (...restArgs) => {\n        const all = initialArgs.concat(restArgs);\n        return fn.apply(null, all);\n      };\n    }\n    const not = f => t => !f(t);\n    const die = msg => {\n      return () => {\n        throw new Error(msg);\n      };\n    };\n    const apply$1 = f => {\n      return f();\n    };\n    const call = f => {\n      f();\n    };\n    const never = constant(false);\n    const always = constant(true);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const nativeSlice = Array.prototype.slice;\n    const nativeIndexOf = Array.prototype.indexOf;\n    const nativePush = Array.prototype.push;\n    const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t);\n    const indexOf$1 = (xs, x) => {\n      const r = rawIndexOf(xs, x);\n      return r === -1 ? Optional.none() : Optional.some(r);\n    };\n    const contains$2 = (xs, x) => rawIndexOf(xs, x) > -1;\n    const exists = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const map$3 = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each$e = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const eachr = (xs, f) => {\n      for (let i = xs.length - 1; i >= 0; i--) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const partition$2 = (xs, pred) => {\n      const pass = [];\n      const fail = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        const arr = pred(x, i) ? pass : fail;\n        arr.push(x);\n      }\n      return {\n        pass,\n        fail\n      };\n    };\n    const filter$5 = (xs, pred) => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    const foldr = (xs, f, acc) => {\n      eachr(xs, (x, i) => {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    const foldl = (xs, f, acc) => {\n      each$e(xs, (x, i) => {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    const findUntil$1 = (xs, pred, until) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(x);\n        } else if (until(x, i)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const find$2 = (xs, pred) => {\n      return findUntil$1(xs, pred, never);\n    };\n    const findIndex$2 = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(i);\n        }\n      }\n      return Optional.none();\n    };\n    const flatten = xs => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray$1(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    const bind$3 = (xs, f) => flatten(map$3(xs, f));\n    const forall = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        const x = xs[i];\n        if (pred(x, i) !== true) {\n          return false;\n        }\n      }\n      return true;\n    };\n    const reverse = xs => {\n      const r = nativeSlice.call(xs, 0);\n      r.reverse();\n      return r;\n    };\n    const difference = (a1, a2) => filter$5(a1, x => !contains$2(a2, x));\n    const mapToObject = (xs, f) => {\n      const r = {};\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        r[String(x)] = f(x, i);\n      }\n      return r;\n    };\n    const sort = (xs, comparator) => {\n      const copy = nativeSlice.call(xs, 0);\n      copy.sort(comparator);\n      return copy;\n    };\n    const get$b = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n    const head = xs => get$b(xs, 0);\n    const last$3 = xs => get$b(xs, xs.length - 1);\n    const from = isFunction(Array.from) ? Array.from : x => nativeSlice.call(x);\n    const findMap = (arr, f) => {\n      for (let i = 0; i < arr.length; i++) {\n        const r = f(arr[i], i);\n        if (r.isSome()) {\n          return r;\n        }\n      }\n      return Optional.none();\n    };\n    const unique$1 = (xs, comparator) => {\n      const r = [];\n      const isDuplicated = isFunction(comparator) ? x => exists(r, i => comparator(i, x)) : x => contains$2(r, x);\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (!isDuplicated(x)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n\n    const keys = Object.keys;\n    const hasOwnProperty$1 = Object.hasOwnProperty;\n    const each$d = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n    const map$2 = (obj, f) => {\n      return tupleMap(obj, (x, i) => ({\n        k: i,\n        v: f(x, i)\n      }));\n    };\n    const tupleMap = (obj, f) => {\n      const r = {};\n      each$d(obj, (x, i) => {\n        const tuple = f(x, i);\n        r[tuple.k] = tuple.v;\n      });\n      return r;\n    };\n    const objAcc = r => (x, i) => {\n      r[i] = x;\n    };\n    const internalFilter = (obj, pred, onTrue, onFalse) => {\n      each$d(obj, (x, i) => {\n        (pred(x, i) ? onTrue : onFalse)(x, i);\n      });\n    };\n    const bifilter = (obj, pred) => {\n      const t = {};\n      const f = {};\n      internalFilter(obj, pred, objAcc(t), objAcc(f));\n      return {\n        t,\n        f\n      };\n    };\n    const filter$4 = (obj, pred) => {\n      const t = {};\n      internalFilter(obj, pred, objAcc(t), noop);\n      return t;\n    };\n    const mapToArray = (obj, f) => {\n      const r = [];\n      each$d(obj, (value, name) => {\n        r.push(f(value, name));\n      });\n      return r;\n    };\n    const values = obj => {\n      return mapToArray(obj, identity);\n    };\n    const get$a = (obj, key) => {\n      return has$2(obj, key) ? Optional.from(obj[key]) : Optional.none();\n    };\n    const has$2 = (obj, key) => hasOwnProperty$1.call(obj, key);\n    const hasNonNullableKey = (obj, key) => has$2(obj, key) && obj[key] !== undefined && obj[key] !== null;\n    const equal$1 = (a1, a2, eq = eqAny) => eqRecord(eq).eq(a1, a2);\n\n    const stringArray = a => {\n      const all = {};\n      each$e(a, key => {\n        all[key] = {};\n      });\n      return keys(all);\n    };\n\n    const isArrayLike = o => o.length !== undefined;\n    const isArray = Array.isArray;\n    const toArray$1 = obj => {\n      if (!isArray(obj)) {\n        const array = [];\n        for (let i = 0, l = obj.length; i < l; i++) {\n          array[i] = obj[i];\n        }\n        return array;\n      } else {\n        return obj;\n      }\n    };\n    const each$c = (o, cb, s) => {\n      if (!o) {\n        return false;\n      }\n      s = s || o;\n      if (isArrayLike(o)) {\n        for (let n = 0, l = o.length; n < l; n++) {\n          if (cb.call(s, o[n], n, o) === false) {\n            return false;\n          }\n        }\n      } else {\n        for (const n in o) {\n          if (has$2(o, n)) {\n            if (cb.call(s, o[n], n, o) === false) {\n              return false;\n            }\n          }\n        }\n      }\n      return true;\n    };\n    const map$1 = (array, callback) => {\n      const out = [];\n      each$c(array, (item, index) => {\n        out.push(callback(item, index, array));\n      });\n      return out;\n    };\n    const filter$3 = (a, f) => {\n      const o = [];\n      each$c(a, (v, index) => {\n        if (!f || f(v, index, a)) {\n          o.push(v);\n        }\n      });\n      return o;\n    };\n    const indexOf = (a, v) => {\n      if (a) {\n        for (let i = 0, l = a.length; i < l; i++) {\n          if (a[i] === v) {\n            return i;\n          }\n        }\n      }\n      return -1;\n    };\n    const reduce = (collection, iteratee, accumulator, thisArg) => {\n      let acc = isUndefined(accumulator) ? collection[0] : accumulator;\n      for (let i = 0; i < collection.length; i++) {\n        acc = iteratee.call(thisArg, acc, collection[i], i);\n      }\n      return acc;\n    };\n    const findIndex$1 = (array, predicate, thisArg) => {\n      for (let i = 0, l = array.length; i < l; i++) {\n        if (predicate.call(thisArg, array[i], i, array)) {\n          return i;\n        }\n      }\n      return -1;\n    };\n    const last$2 = collection => collection[collection.length - 1];\n\n    const cached = f => {\n      let called = false;\n      let r;\n      return (...args) => {\n        if (!called) {\n          called = true;\n          r = f.apply(null, args);\n        }\n        return r;\n      };\n    };\n\n    const DeviceType = (os, browser, userAgent, mediaMatch) => {\n      const isiPad = os.isiOS() && /ipad/i.test(userAgent) === true;\n      const isiPhone = os.isiOS() && !isiPad;\n      const isMobile = os.isiOS() || os.isAndroid();\n      const isTouch = isMobile || mediaMatch('(pointer:coarse)');\n      const isTablet = isiPad || !isiPhone && isMobile && mediaMatch('(min-device-width:768px)');\n      const isPhone = isiPhone || isMobile && !isTablet;\n      const iOSwebview = browser.isSafari() && os.isiOS() && /safari/i.test(userAgent) === false;\n      const isDesktop = !isPhone && !isTablet && !iOSwebview;\n      return {\n        isiPad: constant(isiPad),\n        isiPhone: constant(isiPhone),\n        isTablet: constant(isTablet),\n        isPhone: constant(isPhone),\n        isTouch: constant(isTouch),\n        isAndroid: os.isAndroid,\n        isiOS: os.isiOS,\n        isWebView: constant(iOSwebview),\n        isDesktop: constant(isDesktop)\n      };\n    };\n\n    const firstMatch = (regexes, s) => {\n      for (let i = 0; i < regexes.length; i++) {\n        const x = regexes[i];\n        if (x.test(s)) {\n          return x;\n        }\n      }\n      return undefined;\n    };\n    const find$1 = (regexes, agent) => {\n      const r = firstMatch(regexes, agent);\n      if (!r) {\n        return {\n          major: 0,\n          minor: 0\n        };\n      }\n      const group = i => {\n        return Number(agent.replace(r, '$' + i));\n      };\n      return nu$3(group(1), group(2));\n    };\n    const detect$5 = (versionRegexes, agent) => {\n      const cleanedAgent = String(agent).toLowerCase();\n      if (versionRegexes.length === 0) {\n        return unknown$2();\n      }\n      return find$1(versionRegexes, cleanedAgent);\n    };\n    const unknown$2 = () => {\n      return nu$3(0, 0);\n    };\n    const nu$3 = (major, minor) => {\n      return {\n        major,\n        minor\n      };\n    };\n    const Version = {\n      nu: nu$3,\n      detect: detect$5,\n      unknown: unknown$2\n    };\n\n    const detectBrowser$1 = (browsers, userAgentData) => {\n      return findMap(userAgentData.brands, uaBrand => {\n        const lcBrand = uaBrand.brand.toLowerCase();\n        return find$2(browsers, browser => {\n          var _a;\n          return lcBrand === ((_a = browser.brand) === null || _a === void 0 ? void 0 : _a.toLowerCase());\n        }).map(info => ({\n          current: info.name,\n          version: Version.nu(parseInt(uaBrand.version, 10), 0)\n        }));\n      });\n    };\n\n    const detect$4 = (candidates, userAgent) => {\n      const agent = String(userAgent).toLowerCase();\n      return find$2(candidates, candidate => {\n        return candidate.search(agent);\n      });\n    };\n    const detectBrowser = (browsers, userAgent) => {\n      return detect$4(browsers, userAgent).map(browser => {\n        const version = Version.detect(browser.versionRegexes, userAgent);\n        return {\n          current: browser.name,\n          version\n        };\n      });\n    };\n    const detectOs = (oses, userAgent) => {\n      return detect$4(oses, userAgent).map(os => {\n        const version = Version.detect(os.versionRegexes, userAgent);\n        return {\n          current: os.name,\n          version\n        };\n      });\n    };\n\n    const removeFromStart = (str, numChars) => {\n      return str.substring(numChars);\n    };\n\n    const checkRange = (str, substr, start) => substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr;\n    const removeLeading = (str, prefix) => {\n      return startsWith(str, prefix) ? removeFromStart(str, prefix.length) : str;\n    };\n    const contains$1 = (str, substr, start = 0, end) => {\n      const idx = str.indexOf(substr, start);\n      if (idx !== -1) {\n        return isUndefined(end) ? true : idx + substr.length <= end;\n      } else {\n        return false;\n      }\n    };\n    const startsWith = (str, prefix) => {\n      return checkRange(str, prefix, 0);\n    };\n    const endsWith = (str, suffix) => {\n      return checkRange(str, suffix, str.length - suffix.length);\n    };\n    const blank = r => s => s.replace(r, '');\n    const trim$4 = blank(/^\\s+|\\s+$/g);\n    const lTrim = blank(/^\\s+/g);\n    const rTrim = blank(/\\s+$/g);\n    const isNotEmpty = s => s.length > 0;\n    const isEmpty$3 = s => !isNotEmpty(s);\n    const repeat = (s, count) => count <= 0 ? '' : new Array(count + 1).join(s);\n    const toInt = (value, radix = 10) => {\n      const num = parseInt(value, radix);\n      return isNaN(num) ? Optional.none() : Optional.some(num);\n    };\n\n    const normalVersionRegex = /.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/;\n    const checkContains = target => {\n      return uastring => {\n        return contains$1(uastring, target);\n      };\n    };\n    const browsers = [{\n      name: 'Edge',\n      versionRegexes: [/.*?edge\\/ ?([0-9]+)\\.([0-9]+)$/],\n      search: uastring => {\n        return contains$1(uastring, 'edge/') && contains$1(uastring, 'chrome') && contains$1(uastring, 'safari') && contains$1(uastring, 'applewebkit');\n      }\n    }, {\n      name: 'Chromium',\n      brand: 'Chromium',\n      versionRegexes: [/.*?chrome\\/([0-9]+)\\.([0-9]+).*/, normalVersionRegex],\n      search: uastring => {\n        return contains$1(uastring, 'chrome') && !contains$1(uastring, 'chromeframe');\n      }\n    }, {\n      name: 'IE',\n      versionRegexes: [/.*?msie\\ ?([0-9]+)\\.([0-9]+).*/, /.*?rv:([0-9]+)\\.([0-9]+).*/],\n      search: uastring => {\n        return contains$1(uastring, 'msie') || contains$1(uastring, 'trident');\n      }\n    }, {\n      name: 'Opera',\n      versionRegexes: [normalVersionRegex, /.*?opera\\/([0-9]+)\\.([0-9]+).*/],\n      search: checkContains('opera')\n    }, {\n      name: 'Firefox',\n      versionRegexes: [/.*?firefox\\/\\ ?([0-9]+)\\.([0-9]+).*/],\n      search: checkContains('firefox')\n    }, {\n      name: 'Safari',\n      versionRegexes: [normalVersionRegex, /.*?cpu os ([0-9]+)_([0-9]+).*/],\n      search: uastring => {\n        return (contains$1(uastring, 'safari') || contains$1(uastring, 'mobile/')) && contains$1(uastring, 'applewebkit');\n      }\n    }];\n    const oses = [{\n      name: 'Windows',\n      search: checkContains('win'),\n      versionRegexes: [/.*?windows\\ nt\\ ?([0-9]+)\\.([0-9]+).*/]\n    }, {\n      name: 'iOS',\n      search: uastring => {\n        return contains$1(uastring, 'iphone') || contains$1(uastring, 'ipad');\n      },\n      versionRegexes: [/.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/, /.*cpu os ([0-9]+)_([0-9]+).*/, /.*cpu iphone os ([0-9]+)_([0-9]+).*/]\n    }, {\n      name: 'Android',\n      search: checkContains('android'),\n      versionRegexes: [/.*?android\\ ?([0-9]+)\\.([0-9]+).*/]\n    }, {\n      name: 'macOS',\n      search: checkContains('mac os x'),\n      versionRegexes: [/.*?mac\\ os\\ x\\ ?([0-9]+)_([0-9]+).*/]\n    }, {\n      name: 'Linux',\n      search: checkContains('linux'),\n      versionRegexes: []\n    }, {\n      name: 'Solaris',\n      search: checkContains('sunos'),\n      versionRegexes: []\n    }, {\n      name: 'FreeBSD',\n      search: checkContains('freebsd'),\n      versionRegexes: []\n    }, {\n      name: 'ChromeOS',\n      search: checkContains('cros'),\n      versionRegexes: [/.*?chrome\\/([0-9]+)\\.([0-9]+).*/]\n    }];\n    const PlatformInfo = {\n      browsers: constant(browsers),\n      oses: constant(oses)\n    };\n\n    const edge = 'Edge';\n    const chromium = 'Chromium';\n    const ie = 'IE';\n    const opera = 'Opera';\n    const firefox = 'Firefox';\n    const safari = 'Safari';\n    const unknown$1 = () => {\n      return nu$2({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    const nu$2 = info => {\n      const current = info.current;\n      const version = info.version;\n      const isBrowser = name => () => current === name;\n      return {\n        current,\n        version,\n        isEdge: isBrowser(edge),\n        isChromium: isBrowser(chromium),\n        isIE: isBrowser(ie),\n        isOpera: isBrowser(opera),\n        isFirefox: isBrowser(firefox),\n        isSafari: isBrowser(safari)\n      };\n    };\n    const Browser = {\n      unknown: unknown$1,\n      nu: nu$2,\n      edge: constant(edge),\n      chromium: constant(chromium),\n      ie: constant(ie),\n      opera: constant(opera),\n      firefox: constant(firefox),\n      safari: constant(safari)\n    };\n\n    const windows = 'Windows';\n    const ios = 'iOS';\n    const android = 'Android';\n    const linux = 'Linux';\n    const macos = 'macOS';\n    const solaris = 'Solaris';\n    const freebsd = 'FreeBSD';\n    const chromeos = 'ChromeOS';\n    const unknown = () => {\n      return nu$1({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    const nu$1 = info => {\n      const current = info.current;\n      const version = info.version;\n      const isOS = name => () => current === name;\n      return {\n        current,\n        version,\n        isWindows: isOS(windows),\n        isiOS: isOS(ios),\n        isAndroid: isOS(android),\n        isMacOS: isOS(macos),\n        isLinux: isOS(linux),\n        isSolaris: isOS(solaris),\n        isFreeBSD: isOS(freebsd),\n        isChromeOS: isOS(chromeos)\n      };\n    };\n    const OperatingSystem = {\n      unknown,\n      nu: nu$1,\n      windows: constant(windows),\n      ios: constant(ios),\n      android: constant(android),\n      linux: constant(linux),\n      macos: constant(macos),\n      solaris: constant(solaris),\n      freebsd: constant(freebsd),\n      chromeos: constant(chromeos)\n    };\n\n    const detect$3 = (userAgent, userAgentDataOpt, mediaMatch) => {\n      const browsers = PlatformInfo.browsers();\n      const oses = PlatformInfo.oses();\n      const browser = userAgentDataOpt.bind(userAgentData => detectBrowser$1(browsers, userAgentData)).orThunk(() => detectBrowser(browsers, userAgent)).fold(Browser.unknown, Browser.nu);\n      const os = detectOs(oses, userAgent).fold(OperatingSystem.unknown, OperatingSystem.nu);\n      const deviceType = DeviceType(os, browser, userAgent, mediaMatch);\n      return {\n        browser,\n        os,\n        deviceType\n      };\n    };\n    const PlatformDetection = {\n      detect: detect$3\n    };\n\n    const mediaMatch = query => window.matchMedia(query).matches;\n    let platform$4 = cached(() => PlatformDetection.detect(navigator.userAgent, Optional.from(navigator.userAgentData), mediaMatch));\n    const detect$2 = () => platform$4();\n\n    const userAgent = navigator.userAgent;\n    const platform$3 = detect$2();\n    const browser$3 = platform$3.browser;\n    const os$1 = platform$3.os;\n    const deviceType = platform$3.deviceType;\n    const windowsPhone = userAgent.indexOf('Windows Phone') !== -1;\n    const Env = {\n      transparentSrc: 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7',\n      documentMode: browser$3.isIE() ? document.documentMode || 7 : 10,\n      cacheSuffix: null,\n      container: null,\n      canHaveCSP: !browser$3.isIE(),\n      windowsPhone,\n      browser: {\n        current: browser$3.current,\n        version: browser$3.version,\n        isChromium: browser$3.isChromium,\n        isEdge: browser$3.isEdge,\n        isFirefox: browser$3.isFirefox,\n        isIE: browser$3.isIE,\n        isOpera: browser$3.isOpera,\n        isSafari: browser$3.isSafari\n      },\n      os: {\n        current: os$1.current,\n        version: os$1.version,\n        isAndroid: os$1.isAndroid,\n        isChromeOS: os$1.isChromeOS,\n        isFreeBSD: os$1.isFreeBSD,\n        isiOS: os$1.isiOS,\n        isLinux: os$1.isLinux,\n        isMacOS: os$1.isMacOS,\n        isSolaris: os$1.isSolaris,\n        isWindows: os$1.isWindows\n      },\n      deviceType: {\n        isDesktop: deviceType.isDesktop,\n        isiPad: deviceType.isiPad,\n        isiPhone: deviceType.isiPhone,\n        isPhone: deviceType.isPhone,\n        isTablet: deviceType.isTablet,\n        isTouch: deviceType.isTouch,\n        isWebView: deviceType.isWebView\n      }\n    };\n\n    const whiteSpaceRegExp$1 = /^\\s*|\\s*$/g;\n    const trim$3 = str => {\n      return isNullable(str) ? '' : ('' + str).replace(whiteSpaceRegExp$1, '');\n    };\n    const is$3 = (obj, type) => {\n      if (!type) {\n        return obj !== undefined;\n      }\n      if (type === 'array' && isArray(obj)) {\n        return true;\n      }\n      return typeof obj === type;\n    };\n    const makeMap$4 = (items, delim, map = {}) => {\n      const resolvedItems = isString(items) ? items.split(delim || ',') : items || [];\n      let i = resolvedItems.length;\n      while (i--) {\n        map[resolvedItems[i]] = {};\n      }\n      return map;\n    };\n    const hasOwnProperty = has$2;\n    const extend$3 = (obj, ...exts) => {\n      for (let i = 0; i < exts.length; i++) {\n        const ext = exts[i];\n        for (const name in ext) {\n          if (has$2(ext, name)) {\n            const value = ext[name];\n            if (value !== undefined) {\n              obj[name] = value;\n            }\n          }\n        }\n      }\n      return obj;\n    };\n    const walk$4 = function (o, f, n, s) {\n      s = s || this;\n      if (o) {\n        if (n) {\n          o = o[n];\n        }\n        each$c(o, (o, i) => {\n          if (f.call(s, o, i, n) === false) {\n            return false;\n          } else {\n            walk$4(o, f, n, s);\n            return true;\n          }\n        });\n      }\n    };\n    const resolve$3 = (n, o = window) => {\n      const path = n.split('.');\n      for (let i = 0, l = path.length; i < l; i++) {\n        o = o[path[i]];\n        if (!o) {\n          break;\n        }\n      }\n      return o;\n    };\n    const explode$3 = (s, d) => {\n      if (isArray$1(s)) {\n        return s;\n      } else if (s === '') {\n        return [];\n      } else {\n        return map$1(s.split(d || ','), trim$3);\n      }\n    };\n    const _addCacheSuffix = url => {\n      const cacheSuffix = Env.cacheSuffix;\n      if (cacheSuffix) {\n        url += (url.indexOf('?') === -1 ? '?' : '&') + cacheSuffix;\n      }\n      return url;\n    };\n    const Tools = {\n      trim: trim$3,\n      isArray: isArray,\n      is: is$3,\n      toArray: toArray$1,\n      makeMap: makeMap$4,\n      each: each$c,\n      map: map$1,\n      grep: filter$3,\n      inArray: indexOf,\n      hasOwn: hasOwnProperty,\n      extend: extend$3,\n      walk: walk$4,\n      resolve: resolve$3,\n      explode: explode$3,\n      _addCacheSuffix\n    };\n\n    const is$2 = (lhs, rhs, comparator = tripleEquals) => lhs.exists(left => comparator(left, rhs));\n    const equals = (lhs, rhs, comparator = tripleEquals) => lift2(lhs, rhs, comparator).getOr(lhs.isNone() && rhs.isNone());\n    const cat = arr => {\n      const r = [];\n      const push = x => {\n        r.push(x);\n      };\n      for (let i = 0; i < arr.length; i++) {\n        arr[i].each(push);\n      }\n      return r;\n    };\n    const lift2 = (oa, ob, f) => oa.isSome() && ob.isSome() ? Optional.some(f(oa.getOrDie(), ob.getOrDie())) : Optional.none();\n    const lift3 = (oa, ob, oc, f) => oa.isSome() && ob.isSome() && oc.isSome() ? Optional.some(f(oa.getOrDie(), ob.getOrDie(), oc.getOrDie())) : Optional.none();\n    const someIf = (b, a) => b ? Optional.some(a) : Optional.none();\n\n    const Global = typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const path = (parts, scope) => {\n      let o = scope !== undefined && scope !== null ? scope : Global;\n      for (let i = 0; i < parts.length && o !== undefined && o !== null; ++i) {\n        o = o[parts[i]];\n      }\n      return o;\n    };\n    const resolve$2 = (p, scope) => {\n      const parts = p.split('.');\n      return path(parts, scope);\n    };\n\n    const unsafe = (name, scope) => {\n      return resolve$2(name, scope);\n    };\n    const getOrDie = (name, scope) => {\n      const actual = unsafe(name, scope);\n      if (actual === undefined || actual === null) {\n        throw new Error(name + ' not available on this browser');\n      }\n      return actual;\n    };\n\n    const getPrototypeOf$1 = Object.getPrototypeOf;\n    const sandHTMLElement = scope => {\n      return getOrDie('HTMLElement', scope);\n    };\n    const isPrototypeOf = x => {\n      const scope = resolve$2('ownerDocument.defaultView', x);\n      return isObject(x) && (sandHTMLElement(scope).prototype.isPrototypeOf(x) || /^HTML\\w*Element$/.test(getPrototypeOf$1(x).constructor.name));\n    };\n\n    const COMMENT = 8;\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n    const ELEMENT = 1;\n    const TEXT = 3;\n\n    const name = element => {\n      const r = element.dom.nodeName;\n      return r.toLowerCase();\n    };\n    const type$1 = element => element.dom.nodeType;\n    const isType = t => element => type$1(element) === t;\n    const isComment$1 = element => type$1(element) === COMMENT || name(element) === '#comment';\n    const isHTMLElement$1 = element => isElement$7(element) && isPrototypeOf(element.dom);\n    const isElement$7 = isType(ELEMENT);\n    const isText$b = isType(TEXT);\n    const isDocument$2 = isType(DOCUMENT);\n    const isDocumentFragment$1 = isType(DOCUMENT_FRAGMENT);\n    const isTag = tag => e => isElement$7(e) && name(e) === tag;\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set$3 = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const setAll$1 = (element, attrs) => {\n      const dom = element.dom;\n      each$d(attrs, (v, k) => {\n        rawSet(dom, k, v);\n      });\n    };\n    const get$9 = (element, key) => {\n      const v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    const getOpt = (element, key) => Optional.from(get$9(element, key));\n    const has$1 = (element, key) => {\n      const dom = element.dom;\n      return dom && dom.hasAttribute ? dom.hasAttribute(key) : false;\n    };\n    const remove$a = (element, key) => {\n      element.dom.removeAttribute(key);\n    };\n    const hasNone = element => {\n      const attrs = element.dom.attributes;\n      return attrs === undefined || attrs === null || attrs.length === 0;\n    };\n    const clone$4 = element => foldl(element.dom.attributes, (acc, attr) => {\n      acc[attr.name] = attr.value;\n      return acc;\n    }, {});\n\n    const read$4 = (element, attr) => {\n      const value = get$9(element, attr);\n      return value === undefined || value === '' ? [] : value.split(' ');\n    };\n    const add$4 = (element, attr, id) => {\n      const old = read$4(element, attr);\n      const nu = old.concat([id]);\n      set$3(element, attr, nu.join(' '));\n      return true;\n    };\n    const remove$9 = (element, attr, id) => {\n      const nu = filter$5(read$4(element, attr), v => v !== id);\n      if (nu.length > 0) {\n        set$3(element, attr, nu.join(' '));\n      } else {\n        remove$a(element, attr);\n      }\n      return false;\n    };\n\n    const supports = element => element.dom.classList !== undefined;\n    const get$8 = element => read$4(element, 'class');\n    const add$3 = (element, clazz) => add$4(element, 'class', clazz);\n    const remove$8 = (element, clazz) => remove$9(element, 'class', clazz);\n    const toggle$2 = (element, clazz) => {\n      if (contains$2(get$8(element), clazz)) {\n        return remove$8(element, clazz);\n      } else {\n        return add$3(element, clazz);\n      }\n    };\n\n    const add$2 = (element, clazz) => {\n      if (supports(element)) {\n        element.dom.classList.add(clazz);\n      } else {\n        add$3(element, clazz);\n      }\n    };\n    const cleanClass = element => {\n      const classList = supports(element) ? element.dom.classList : get$8(element);\n      if (classList.length === 0) {\n        remove$a(element, 'class');\n      }\n    };\n    const remove$7 = (element, clazz) => {\n      if (supports(element)) {\n        const classList = element.dom.classList;\n        classList.remove(clazz);\n      } else {\n        remove$8(element, clazz);\n      }\n      cleanClass(element);\n    };\n    const toggle$1 = (element, clazz) => {\n      const result = supports(element) ? element.dom.classList.toggle(clazz) : toggle$2(element, clazz);\n      cleanClass(element);\n      return result;\n    };\n    const has = (element, clazz) => supports(element) && element.dom.classList.contains(clazz);\n\n    const fromHtml$1 = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom$2(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom$2(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom$2(node);\n    };\n    const fromDom$2 = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint$2 = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom$2);\n    const SugarElement = {\n      fromHtml: fromHtml$1,\n      fromTag,\n      fromText,\n      fromDom: fromDom$2,\n      fromPoint: fromPoint$2\n    };\n\n    const toArray = (target, f) => {\n      const r = [];\n      const recurse = e => {\n        r.push(e);\n        return f(e);\n      };\n      let cur = f(target);\n      do {\n        cur = cur.bind(recurse);\n      } while (cur.isSome());\n      return r;\n    };\n\n    const is$1 = (element, selector) => {\n      const dom = element.dom;\n      if (dom.nodeType !== ELEMENT) {\n        return false;\n      } else {\n        const elem = dom;\n        if (elem.matches !== undefined) {\n          return elem.matches(selector);\n        } else if (elem.msMatchesSelector !== undefined) {\n          return elem.msMatchesSelector(selector);\n        } else if (elem.webkitMatchesSelector !== undefined) {\n          return elem.webkitMatchesSelector(selector);\n        } else if (elem.mozMatchesSelector !== undefined) {\n          return elem.mozMatchesSelector(selector);\n        } else {\n          throw new Error('Browser lacks native selectors');\n        }\n      }\n    };\n    const bypassSelector = dom => dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;\n    const all = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? [] : map$3(base.querySelectorAll(selector), SugarElement.fromDom);\n    };\n    const one = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? Optional.none() : Optional.from(base.querySelector(selector)).map(SugarElement.fromDom);\n    };\n\n    const eq = (e1, e2) => e1.dom === e2.dom;\n    const contains = (e1, e2) => {\n      const d1 = e1.dom;\n      const d2 = e2.dom;\n      return d1 === d2 ? false : d1.contains(d2);\n    };\n\n    const owner$1 = element => SugarElement.fromDom(element.dom.ownerDocument);\n    const documentOrOwner = dos => isDocument$2(dos) ? dos : owner$1(dos);\n    const documentElement = element => SugarElement.fromDom(documentOrOwner(element).dom.documentElement);\n    const defaultView = element => SugarElement.fromDom(documentOrOwner(element).dom.defaultView);\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const parentElement = element => Optional.from(element.dom.parentElement).map(SugarElement.fromDom);\n    const parents$1 = (element, isRoot) => {\n      const stop = isFunction(isRoot) ? isRoot : never;\n      let dom = element.dom;\n      const ret = [];\n      while (dom.parentNode !== null && dom.parentNode !== undefined) {\n        const rawParent = dom.parentNode;\n        const p = SugarElement.fromDom(rawParent);\n        ret.push(p);\n        if (stop(p) === true) {\n          break;\n        } else {\n          dom = rawParent;\n        }\n      }\n      return ret;\n    };\n    const siblings = element => {\n      const filterSelf = elements => filter$5(elements, x => !eq(element, x));\n      return parent(element).map(children$1).map(filterSelf).getOr([]);\n    };\n    const prevSibling = element => Optional.from(element.dom.previousSibling).map(SugarElement.fromDom);\n    const nextSibling = element => Optional.from(element.dom.nextSibling).map(SugarElement.fromDom);\n    const prevSiblings = element => reverse(toArray(element, prevSibling));\n    const nextSiblings = element => toArray(element, nextSibling);\n    const children$1 = element => map$3(element.dom.childNodes, SugarElement.fromDom);\n    const child$1 = (element, index) => {\n      const cs = element.dom.childNodes;\n      return Optional.from(cs[index]).map(SugarElement.fromDom);\n    };\n    const firstChild = element => child$1(element, 0);\n    const lastChild = element => child$1(element, element.dom.childNodes.length - 1);\n    const childNodesCount = element => element.dom.childNodes.length;\n    const hasChildNodes = element => element.dom.hasChildNodes();\n\n    const getHead = doc => {\n      const b = doc.dom.head;\n      if (b === null || b === undefined) {\n        throw new Error('Head is not available yet');\n      }\n      return SugarElement.fromDom(b);\n    };\n\n    const isShadowRoot = dos => isDocumentFragment$1(dos) && isNonNullable(dos.dom.host);\n    const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    const isSupported$1 = constant(supported);\n    const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;\n    const getStyleContainer = dos => isShadowRoot(dos) ? dos : getHead(documentOrOwner(dos));\n    const getContentContainer = dos => isShadowRoot(dos) ? dos : SugarElement.fromDom(documentOrOwner(dos).dom.body);\n    const getShadowRoot = e => {\n      const r = getRootNode(e);\n      return isShadowRoot(r) ? Optional.some(r) : Optional.none();\n    };\n    const getShadowHost = e => SugarElement.fromDom(e.dom.host);\n    const getOriginalEventTarget = event => {\n      if (isSupported$1() && isNonNullable(event.target)) {\n        const el = SugarElement.fromDom(event.target);\n        if (isElement$7(el) && isOpenShadowHost(el)) {\n          if (event.composed && event.composedPath) {\n            const composedPath = event.composedPath();\n            if (composedPath) {\n              return head(composedPath);\n            }\n          }\n        }\n      }\n      return Optional.from(event.target);\n    };\n    const isOpenShadowHost = element => isNonNullable(element.dom.shadowRoot);\n\n    const inBody = element => {\n      const dom = isText$b(element) ? element.dom.parentNode : element.dom;\n      if (dom === undefined || dom === null || dom.ownerDocument === null) {\n        return false;\n      }\n      const doc = dom.ownerDocument;\n      return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost));\n    };\n\n    var ClosestOrAncestor = (is, ancestor, scope, a, isRoot) => {\n      if (is(scope, a)) {\n        return Optional.some(scope);\n      } else if (isFunction(isRoot) && isRoot(scope)) {\n        return Optional.none();\n      } else {\n        return ancestor(scope, a, isRoot);\n      }\n    };\n\n    const ancestor$4 = (scope, predicate, isRoot) => {\n      let element = scope.dom;\n      const stop = isFunction(isRoot) ? isRoot : never;\n      while (element.parentNode) {\n        element = element.parentNode;\n        const el = SugarElement.fromDom(element);\n        if (predicate(el)) {\n          return Optional.some(el);\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const closest$4 = (scope, predicate, isRoot) => {\n      const is = (s, test) => test(s);\n      return ClosestOrAncestor(is, ancestor$4, scope, predicate, isRoot);\n    };\n    const sibling$1 = (scope, predicate) => {\n      const element = scope.dom;\n      if (!element.parentNode) {\n        return Optional.none();\n      }\n      return child(SugarElement.fromDom(element.parentNode), x => !eq(scope, x) && predicate(x));\n    };\n    const child = (scope, predicate) => {\n      const pred = node => predicate(SugarElement.fromDom(node));\n      const result = find$2(scope.dom.childNodes, pred);\n      return result.map(SugarElement.fromDom);\n    };\n    const descendant$2 = (scope, predicate) => {\n      const descend = node => {\n        for (let i = 0; i < node.childNodes.length; i++) {\n          const child = SugarElement.fromDom(node.childNodes[i]);\n          if (predicate(child)) {\n            return Optional.some(child);\n          }\n          const res = descend(node.childNodes[i]);\n          if (res.isSome()) {\n            return res;\n          }\n        }\n        return Optional.none();\n      };\n      return descend(scope.dom);\n    };\n\n    const ancestor$3 = (scope, selector, isRoot) => ancestor$4(scope, e => is$1(e, selector), isRoot);\n    const descendant$1 = (scope, selector) => one(selector, scope);\n    const closest$3 = (scope, selector, isRoot) => {\n      const is = (element, selector) => is$1(element, selector);\n      return ClosestOrAncestor(is, ancestor$3, scope, selector, isRoot);\n    };\n\n    const closest$2 = target => closest$3(target, '[contenteditable]');\n    const isEditable$2 = (element, assumeEditable = false) => {\n      if (inBody(element)) {\n        return element.dom.isContentEditable;\n      } else {\n        return closest$2(element).fold(constant(assumeEditable), editable => getRaw$1(editable) === 'true');\n      }\n    };\n    const getRaw$1 = element => element.dom.contentEditable;\n\n    const isSupported = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n\n    const internalSet = (dom, property, value) => {\n      if (!isString(value)) {\n        console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);\n        throw new Error('CSS value must be a string: ' + value);\n      }\n      if (isSupported(dom)) {\n        dom.style.setProperty(property, value);\n      }\n    };\n    const internalRemove = (dom, property) => {\n      if (isSupported(dom)) {\n        dom.style.removeProperty(property);\n      }\n    };\n    const set$2 = (element, property, value) => {\n      const dom = element.dom;\n      internalSet(dom, property, value);\n    };\n    const setAll = (element, css) => {\n      const dom = element.dom;\n      each$d(css, (v, k) => {\n        internalSet(dom, k, v);\n      });\n    };\n    const get$7 = (element, property) => {\n      const dom = element.dom;\n      const styles = window.getComputedStyle(dom);\n      const r = styles.getPropertyValue(property);\n      return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r;\n    };\n    const getUnsafeProperty = (dom, property) => isSupported(dom) ? dom.style.getPropertyValue(property) : '';\n    const getRaw = (element, property) => {\n      const dom = element.dom;\n      const raw = getUnsafeProperty(dom, property);\n      return Optional.from(raw).filter(r => r.length > 0);\n    };\n    const getAllRaw = element => {\n      const css = {};\n      const dom = element.dom;\n      if (isSupported(dom)) {\n        for (let i = 0; i < dom.style.length; i++) {\n          const ruleName = dom.style.item(i);\n          css[ruleName] = dom.style[ruleName];\n        }\n      }\n      return css;\n    };\n    const remove$6 = (element, property) => {\n      const dom = element.dom;\n      internalRemove(dom, property);\n      if (is$2(getOpt(element, 'style').map(trim$4), '')) {\n        remove$a(element, 'style');\n      }\n    };\n    const reflow = e => e.dom.offsetWidth;\n\n    const before$3 = (marker, element) => {\n      const parent$1 = parent(marker);\n      parent$1.each(v => {\n        v.dom.insertBefore(element.dom, marker.dom);\n      });\n    };\n    const after$4 = (marker, element) => {\n      const sibling = nextSibling(marker);\n      sibling.fold(() => {\n        const parent$1 = parent(marker);\n        parent$1.each(v => {\n          append$1(v, element);\n        });\n      }, v => {\n        before$3(v, element);\n      });\n    };\n    const prepend = (parent, element) => {\n      const firstChild$1 = firstChild(parent);\n      firstChild$1.fold(() => {\n        append$1(parent, element);\n      }, v => {\n        parent.dom.insertBefore(element.dom, v.dom);\n      });\n    };\n    const append$1 = (parent, element) => {\n      parent.dom.appendChild(element.dom);\n    };\n    const wrap$2 = (element, wrapper) => {\n      before$3(element, wrapper);\n      append$1(wrapper, element);\n    };\n\n    const after$3 = (marker, elements) => {\n      each$e(elements, (x, i) => {\n        const e = i === 0 ? marker : elements[i - 1];\n        after$4(e, x);\n      });\n    };\n    const append = (parent, elements) => {\n      each$e(elements, x => {\n        append$1(parent, x);\n      });\n    };\n\n    const empty = element => {\n      element.dom.textContent = '';\n      each$e(children$1(element), rogue => {\n        remove$5(rogue);\n      });\n    };\n    const remove$5 = element => {\n      const dom = element.dom;\n      if (dom.parentNode !== null) {\n        dom.parentNode.removeChild(dom);\n      }\n    };\n    const unwrap = wrapper => {\n      const children = children$1(wrapper);\n      if (children.length > 0) {\n        after$3(wrapper, children);\n      }\n      remove$5(wrapper);\n    };\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      return children$1(SugarElement.fromDom(div));\n    };\n    const fromDom$1 = nodes => map$3(nodes, SugarElement.fromDom);\n\n    const get$6 = element => element.dom.innerHTML;\n    const set$1 = (element, content) => {\n      const owner = owner$1(element);\n      const docDom = owner.dom;\n      const fragment = SugarElement.fromDom(docDom.createDocumentFragment());\n      const contentElements = fromHtml(content, docDom);\n      append(fragment, contentElements);\n      empty(element);\n      append$1(element, fragment);\n    };\n    const getOuter = element => {\n      const container = SugarElement.fromTag('div');\n      const clone = SugarElement.fromDom(element.dom.cloneNode(true));\n      append$1(container, clone);\n      return get$6(container);\n    };\n\n    const mkEvent = (target, x, y, stop, prevent, kill, raw) => ({\n      target,\n      x,\n      y,\n      stop,\n      prevent,\n      kill,\n      raw\n    });\n    const fromRawEvent = rawEvent => {\n      const target = SugarElement.fromDom(getOriginalEventTarget(rawEvent).getOr(rawEvent.target));\n      const stop = () => rawEvent.stopPropagation();\n      const prevent = () => rawEvent.preventDefault();\n      const kill = compose(prevent, stop);\n      return mkEvent(target, rawEvent.clientX, rawEvent.clientY, stop, prevent, kill, rawEvent);\n    };\n    const handle$1 = (filter, handler) => rawEvent => {\n      if (filter(rawEvent)) {\n        handler(fromRawEvent(rawEvent));\n      }\n    };\n    const binder = (element, event, filter, handler, useCapture) => {\n      const wrapped = handle$1(filter, handler);\n      element.dom.addEventListener(event, wrapped, useCapture);\n      return {\n        unbind: curry(unbind, element, event, wrapped, useCapture)\n      };\n    };\n    const bind$2 = (element, event, filter, handler) => binder(element, event, filter, handler, false);\n    const unbind = (element, event, handler, useCapture) => {\n      element.dom.removeEventListener(event, handler, useCapture);\n    };\n\n    const r = (left, top) => {\n      const translate = (x, y) => r(left + x, top + y);\n      return {\n        left,\n        top,\n        translate\n      };\n    };\n    const SugarPosition = r;\n\n    const boxPosition = dom => {\n      const box = dom.getBoundingClientRect();\n      return SugarPosition(box.left, box.top);\n    };\n    const firstDefinedOrZero = (a, b) => {\n      if (a !== undefined) {\n        return a;\n      } else {\n        return b !== undefined ? b : 0;\n      }\n    };\n    const absolute = element => {\n      const doc = element.dom.ownerDocument;\n      const body = doc.body;\n      const win = doc.defaultView;\n      const html = doc.documentElement;\n      if (body === element.dom) {\n        return SugarPosition(body.offsetLeft, body.offsetTop);\n      }\n      const scrollTop = firstDefinedOrZero(win === null || win === void 0 ? void 0 : win.pageYOffset, html.scrollTop);\n      const scrollLeft = firstDefinedOrZero(win === null || win === void 0 ? void 0 : win.pageXOffset, html.scrollLeft);\n      const clientTop = firstDefinedOrZero(html.clientTop, body.clientTop);\n      const clientLeft = firstDefinedOrZero(html.clientLeft, body.clientLeft);\n      return viewport(element).translate(scrollLeft - clientLeft, scrollTop - clientTop);\n    };\n    const viewport = element => {\n      const dom = element.dom;\n      const doc = dom.ownerDocument;\n      const body = doc.body;\n      if (body === dom) {\n        return SugarPosition(body.offsetLeft, body.offsetTop);\n      }\n      if (!inBody(element)) {\n        return SugarPosition(0, 0);\n      }\n      return boxPosition(dom);\n    };\n\n    const get$5 = _DOC => {\n      const doc = _DOC !== undefined ? _DOC.dom : document;\n      const x = doc.body.scrollLeft || doc.documentElement.scrollLeft;\n      const y = doc.body.scrollTop || doc.documentElement.scrollTop;\n      return SugarPosition(x, y);\n    };\n    const to = (x, y, _DOC) => {\n      const doc = _DOC !== undefined ? _DOC.dom : document;\n      const win = doc.defaultView;\n      if (win) {\n        win.scrollTo(x, y);\n      }\n    };\n    const intoView = (element, alignToTop) => {\n      const isSafari = detect$2().browser.isSafari();\n      if (isSafari && isFunction(element.dom.scrollIntoViewIfNeeded)) {\n        element.dom.scrollIntoViewIfNeeded(false);\n      } else {\n        element.dom.scrollIntoView(alignToTop);\n      }\n    };\n\n    const get$4 = _win => {\n      const win = _win === undefined ? window : _win;\n      if (detect$2().browser.isFirefox()) {\n        return Optional.none();\n      } else {\n        return Optional.from(win.visualViewport);\n      }\n    };\n    const bounds = (x, y, width, height) => ({\n      x,\n      y,\n      width,\n      height,\n      right: x + width,\n      bottom: y + height\n    });\n    const getBounds = _win => {\n      const win = _win === undefined ? window : _win;\n      const doc = win.document;\n      const scroll = get$5(SugarElement.fromDom(doc));\n      return get$4(win).fold(() => {\n        const html = win.document.documentElement;\n        const width = html.clientWidth;\n        const height = html.clientHeight;\n        return bounds(scroll.left, scroll.top, width, height);\n      }, visualViewport => bounds(Math.max(visualViewport.pageLeft, scroll.left), Math.max(visualViewport.pageTop, scroll.top), visualViewport.width, visualViewport.height));\n    };\n\n    const children = (scope, predicate) => filter$5(children$1(scope), predicate);\n    const descendants$1 = (scope, predicate) => {\n      let result = [];\n      each$e(children$1(scope), x => {\n        if (predicate(x)) {\n          result = result.concat([x]);\n        }\n        result = result.concat(descendants$1(x, predicate));\n      });\n      return result;\n    };\n\n    const descendants = (scope, selector) => all(selector, scope);\n\n    const ancestor$2 = (scope, selector, isRoot) => ancestor$3(scope, selector, isRoot).isSome();\n\n    class DomTreeWalker {\n      constructor(startNode, rootNode) {\n        this.node = startNode;\n        this.rootNode = rootNode;\n        this.current = this.current.bind(this);\n        this.next = this.next.bind(this);\n        this.prev = this.prev.bind(this);\n        this.prev2 = this.prev2.bind(this);\n      }\n      current() {\n        return this.node;\n      }\n      next(shallow) {\n        this.node = this.findSibling(this.node, 'firstChild', 'nextSibling', shallow);\n        return this.node;\n      }\n      prev(shallow) {\n        this.node = this.findSibling(this.node, 'lastChild', 'previousSibling', shallow);\n        return this.node;\n      }\n      prev2(shallow) {\n        this.node = this.findPreviousNode(this.node, shallow);\n        return this.node;\n      }\n      findSibling(node, startName, siblingName, shallow) {\n        if (node) {\n          if (!shallow && node[startName]) {\n            return node[startName];\n          }\n          if (node !== this.rootNode) {\n            let sibling = node[siblingName];\n            if (sibling) {\n              return sibling;\n            }\n            for (let parent = node.parentNode; parent && parent !== this.rootNode; parent = parent.parentNode) {\n              sibling = parent[siblingName];\n              if (sibling) {\n                return sibling;\n              }\n            }\n          }\n        }\n        return undefined;\n      }\n      findPreviousNode(node, shallow) {\n        if (node) {\n          const sibling = node.previousSibling;\n          if (this.rootNode && sibling === this.rootNode) {\n            return;\n          }\n          if (sibling) {\n            if (!shallow) {\n              for (let child = sibling.lastChild; child; child = child.lastChild) {\n                if (!child.lastChild) {\n                  return child;\n                }\n              }\n            }\n            return sibling;\n          }\n          const parent = node.parentNode;\n          if (parent && parent !== this.rootNode) {\n            return parent;\n          }\n        }\n        return undefined;\n      }\n    }\n\n    const isNodeType = type => {\n      return node => {\n        return !!node && node.nodeType === type;\n      };\n    };\n    const isRestrictedNode = node => !!node && !Object.getPrototypeOf(node);\n    const isElement$6 = isNodeType(1);\n    const isHTMLElement = node => isElement$6(node) && isHTMLElement$1(SugarElement.fromDom(node));\n    const isSVGElement = node => isElement$6(node) && node.namespaceURI === 'http://www.w3.org/2000/svg';\n    const matchNodeName = name => {\n      const lowerCasedName = name.toLowerCase();\n      return node => isNonNullable(node) && node.nodeName.toLowerCase() === lowerCasedName;\n    };\n    const matchNodeNames = names => {\n      const lowerCasedNames = names.map(s => s.toLowerCase());\n      return node => {\n        if (node && node.nodeName) {\n          const nodeName = node.nodeName.toLowerCase();\n          return contains$2(lowerCasedNames, nodeName);\n        }\n        return false;\n      };\n    };\n    const matchStyleValues = (name, values) => {\n      const items = values.toLowerCase().split(' ');\n      return node => {\n        if (isElement$6(node)) {\n          const win = node.ownerDocument.defaultView;\n          if (win) {\n            for (let i = 0; i < items.length; i++) {\n              const computed = win.getComputedStyle(node, null);\n              const cssValue = computed ? computed.getPropertyValue(name) : null;\n              if (cssValue === items[i]) {\n                return true;\n              }\n            }\n          }\n        }\n        return false;\n      };\n    };\n    const hasAttribute = attrName => {\n      return node => {\n        return isElement$6(node) && node.hasAttribute(attrName);\n      };\n    };\n    const hasAttributeValue = (attrName, attrValue) => {\n      return node => {\n        return isElement$6(node) && node.getAttribute(attrName) === attrValue;\n      };\n    };\n    const isBogus$2 = node => isElement$6(node) && node.hasAttribute('data-mce-bogus');\n    const isBogusAll$1 = node => isElement$6(node) && node.getAttribute('data-mce-bogus') === 'all';\n    const isTable$2 = node => isElement$6(node) && node.tagName === 'TABLE';\n    const hasContentEditableState = value => {\n      return node => {\n        if (isHTMLElement(node)) {\n          if (node.contentEditable === value) {\n            return true;\n          }\n          if (node.getAttribute('data-mce-contenteditable') === value) {\n            return true;\n          }\n        }\n        return false;\n      };\n    };\n    const isTextareaOrInput = matchNodeNames(['textarea', 'input']);\n    const isText$a = isNodeType(3);\n    const isCData = isNodeType(4);\n    const isPi = isNodeType(7);\n    const isComment = isNodeType(8);\n    const isDocument$1 = isNodeType(9);\n    const isDocumentFragment = isNodeType(11);\n    const isBr$6 = matchNodeName('br');\n    const isImg = matchNodeName('img');\n    const isContentEditableTrue$3 = hasContentEditableState('true');\n    const isContentEditableFalse$b = hasContentEditableState('false');\n    const isTableCell$3 = matchNodeNames(['td', 'th']);\n    const isTableCellOrCaption = matchNodeNames(['td', 'th', 'caption']);\n    const isMedia$2 = matchNodeNames(['video', 'audio', 'object', 'embed']);\n    const isListItem$2 = matchNodeName('li');\n    const isDetails = matchNodeName('details');\n    const isSummary$1 = matchNodeName('summary');\n\n    const zeroWidth = '\\uFEFF';\n    const nbsp = '\\xA0';\n    const isZwsp$2 = char => char === zeroWidth;\n    const removeZwsp = s => s.replace(/\\uFEFF/g, '');\n\n    const NodeValue = (is, name) => {\n      const get = element => {\n        if (!is(element)) {\n          throw new Error('Can only get ' + name + ' value of a ' + name + ' node');\n        }\n        return getOption(element).getOr('');\n      };\n      const getOption = element => is(element) ? Optional.from(element.dom.nodeValue) : Optional.none();\n      const set = (element, value) => {\n        if (!is(element)) {\n          throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node');\n        }\n        element.dom.nodeValue = value;\n      };\n      return {\n        get,\n        getOption,\n        set\n      };\n    };\n\n    const api$1 = NodeValue(isText$b, 'text');\n    const get$3 = element => api$1.get(element);\n    const getOption = element => api$1.getOption(element);\n    const set = (element, value) => api$1.set(element, value);\n\n    const tableCells = ['td', 'th'];\n    const tableSections = ['thead', 'tbody', 'tfoot'];\n    const textBlocks = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p', 'div', 'address', 'pre', 'form', 'blockquote', 'center', 'dir', 'fieldset', 'header', 'footer', 'article', 'section', 'hgroup', 'aside', 'nav', 'figure'];\n    const listItems$1 = ['li', 'dd', 'dt'];\n    const lists = ['ul', 'ol', 'dl'];\n    const wsElements = ['pre', 'script', 'textarea', 'style'];\n    const lazyLookup = items => {\n      let lookup;\n      return node => {\n        lookup = lookup ? lookup : mapToObject(items, always);\n        return has$2(lookup, name(node));\n      };\n    };\n    const isTable$1 = node => name(node) === 'table';\n    const isBr$5 = node => isElement$7(node) && name(node) === 'br';\n    const isTextBlock$2 = lazyLookup(textBlocks);\n    const isList = lazyLookup(lists);\n    const isListItem$1 = lazyLookup(listItems$1);\n    const isTableSection = lazyLookup(tableSections);\n    const isTableCell$2 = lazyLookup(tableCells);\n    const isWsPreserveElement = lazyLookup(wsElements);\n\n    const getLastChildren$1 = elm => {\n      const children = [];\n      let rawNode = elm.dom;\n      while (rawNode) {\n        children.push(SugarElement.fromDom(rawNode));\n        rawNode = rawNode.lastChild;\n      }\n      return children;\n    };\n    const removeTrailingBr = elm => {\n      const allBrs = descendants(elm, 'br');\n      const brs = filter$5(getLastChildren$1(elm).slice(-1), isBr$5);\n      if (allBrs.length === brs.length) {\n        each$e(brs, remove$5);\n      }\n    };\n    const createPaddingBr = () => {\n      const br = SugarElement.fromTag('br');\n      set$3(br, 'data-mce-bogus', '1');\n      return br;\n    };\n    const fillWithPaddingBr = elm => {\n      empty(elm);\n      append$1(elm, createPaddingBr());\n    };\n    const trimBlockTrailingBr = (elm, schema) => {\n      lastChild(elm).each(lastChild => {\n        prevSibling(lastChild).each(lastChildPrevSibling => {\n          if (schema.isBlock(name(elm)) && isBr$5(lastChild) && schema.isBlock(name(lastChildPrevSibling))) {\n            remove$5(lastChild);\n          }\n        });\n      });\n    };\n\n    const ZWSP$1 = zeroWidth;\n    const isZwsp$1 = isZwsp$2;\n    const trim$2 = removeZwsp;\n    const insert$5 = editor => editor.insertContent(ZWSP$1, {\n      preserve_zwsp: true\n    });\n\n    const isElement$5 = isElement$6;\n    const isText$9 = isText$a;\n    const isCaretContainerBlock$1 = node => {\n      if (isText$9(node)) {\n        node = node.parentNode;\n      }\n      return isElement$5(node) && node.hasAttribute('data-mce-caret');\n    };\n    const isCaretContainerInline = node => isText$9(node) && isZwsp$1(node.data);\n    const isCaretContainer$2 = node => isCaretContainerBlock$1(node) || isCaretContainerInline(node);\n    const hasContent = node => node.firstChild !== node.lastChild || !isBr$6(node.firstChild);\n    const insertInline$1 = (node, before) => {\n      var _a;\n      const doc = (_a = node.ownerDocument) !== null && _a !== void 0 ? _a : document;\n      const textNode = doc.createTextNode(ZWSP$1);\n      const parentNode = node.parentNode;\n      if (!before) {\n        const sibling = node.nextSibling;\n        if (isText$9(sibling)) {\n          if (isCaretContainer$2(sibling)) {\n            return sibling;\n          }\n          if (startsWithCaretContainer$1(sibling)) {\n            sibling.splitText(1);\n            return sibling;\n          }\n        }\n        if (node.nextSibling) {\n          parentNode === null || parentNode === void 0 ? void 0 : parentNode.insertBefore(textNode, node.nextSibling);\n        } else {\n          parentNode === null || parentNode === void 0 ? void 0 : parentNode.appendChild(textNode);\n        }\n      } else {\n        const sibling = node.previousSibling;\n        if (isText$9(sibling)) {\n          if (isCaretContainer$2(sibling)) {\n            return sibling;\n          }\n          if (endsWithCaretContainer$1(sibling)) {\n            return sibling.splitText(sibling.data.length - 1);\n          }\n        }\n        parentNode === null || parentNode === void 0 ? void 0 : parentNode.insertBefore(textNode, node);\n      }\n      return textNode;\n    };\n    const isBeforeInline = pos => {\n      const container = pos.container();\n      if (!isText$a(container)) {\n        return false;\n      }\n      return container.data.charAt(pos.offset()) === ZWSP$1 || pos.isAtStart() && isCaretContainerInline(container.previousSibling);\n    };\n    const isAfterInline = pos => {\n      const container = pos.container();\n      if (!isText$a(container)) {\n        return false;\n      }\n      return container.data.charAt(pos.offset() - 1) === ZWSP$1 || pos.isAtEnd() && isCaretContainerInline(container.nextSibling);\n    };\n    const insertBlock = (blockName, node, before) => {\n      var _a;\n      const doc = (_a = node.ownerDocument) !== null && _a !== void 0 ? _a : document;\n      const blockNode = doc.createElement(blockName);\n      blockNode.setAttribute('data-mce-caret', before ? 'before' : 'after');\n      blockNode.setAttribute('data-mce-bogus', 'all');\n      blockNode.appendChild(createPaddingBr().dom);\n      const parentNode = node.parentNode;\n      if (!before) {\n        if (node.nextSibling) {\n          parentNode === null || parentNode === void 0 ? void 0 : parentNode.insertBefore(blockNode, node.nextSibling);\n        } else {\n          parentNode === null || parentNode === void 0 ? void 0 : parentNode.appendChild(blockNode);\n        }\n      } else {\n        parentNode === null || parentNode === void 0 ? void 0 : parentNode.insertBefore(blockNode, node);\n      }\n      return blockNode;\n    };\n    const startsWithCaretContainer$1 = node => isText$9(node) && node.data[0] === ZWSP$1;\n    const endsWithCaretContainer$1 = node => isText$9(node) && node.data[node.data.length - 1] === ZWSP$1;\n    const trimBogusBr = elm => {\n      var _a;\n      const brs = elm.getElementsByTagName('br');\n      const lastBr = brs[brs.length - 1];\n      if (isBogus$2(lastBr)) {\n        (_a = lastBr.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(lastBr);\n      }\n    };\n    const showCaretContainerBlock = caretContainer => {\n      if (caretContainer && caretContainer.hasAttribute('data-mce-caret')) {\n        trimBogusBr(caretContainer);\n        caretContainer.removeAttribute('data-mce-caret');\n        caretContainer.removeAttribute('data-mce-bogus');\n        caretContainer.removeAttribute('style');\n        caretContainer.removeAttribute('data-mce-style');\n        caretContainer.removeAttribute('_moz_abspos');\n        return caretContainer;\n      }\n      return null;\n    };\n    const isRangeInCaretContainerBlock = range => isCaretContainerBlock$1(range.startContainer);\n\n    const isContentEditableTrue$2 = isContentEditableTrue$3;\n    const isContentEditableFalse$a = isContentEditableFalse$b;\n    const isBr$4 = isBr$6;\n    const isText$8 = isText$a;\n    const isInvalidTextElement = matchNodeNames(['script', 'style', 'textarea']);\n    const isAtomicInline = matchNodeNames(['img', 'input', 'textarea', 'hr', 'iframe', 'video', 'audio', 'object', 'embed']);\n    const isTable = matchNodeNames(['table']);\n    const isCaretContainer$1 = isCaretContainer$2;\n    const isCaretCandidate$3 = node => {\n      if (isCaretContainer$1(node)) {\n        return false;\n      }\n      if (isText$8(node)) {\n        return !isInvalidTextElement(node.parentNode);\n      }\n      return isAtomicInline(node) || isBr$4(node) || isTable(node) || isNonUiContentEditableFalse(node);\n    };\n    const isUnselectable = node => isElement$6(node) && node.getAttribute('unselectable') === 'true';\n    const isNonUiContentEditableFalse = node => !isUnselectable(node) && isContentEditableFalse$a(node);\n    const isInEditable = (node, root) => {\n      for (let tempNode = node.parentNode; tempNode && tempNode !== root; tempNode = tempNode.parentNode) {\n        if (isNonUiContentEditableFalse(tempNode)) {\n          return false;\n        }\n        if (isContentEditableTrue$2(tempNode)) {\n          return true;\n        }\n      }\n      return true;\n    };\n    const isAtomicContentEditableFalse = node => {\n      if (!isNonUiContentEditableFalse(node)) {\n        return false;\n      }\n      return !foldl(from(node.getElementsByTagName('*')), (result, elm) => {\n        return result || isContentEditableTrue$2(elm);\n      }, false);\n    };\n    const isAtomic$1 = node => isAtomicInline(node) || isAtomicContentEditableFalse(node);\n    const isEditableCaretCandidate$1 = (node, root) => isCaretCandidate$3(node) && isInEditable(node, root);\n\n    const whiteSpaceRegExp = /^[ \\t\\r\\n]*$/;\n    const isWhitespaceText = text => whiteSpaceRegExp.test(text);\n    const isZwsp = text => {\n      for (const c of text) {\n        if (!isZwsp$2(c)) {\n          return false;\n        }\n      }\n      return true;\n    };\n    const isCollapsibleWhitespace$1 = c => ' \\f\\t\\x0B'.indexOf(c) !== -1;\n    const isNewLineChar = c => c === '\\n' || c === '\\r';\n    const isNewline = (text, idx) => idx < text.length && idx >= 0 ? isNewLineChar(text[idx]) : false;\n    const normalize$4 = (text, tabSpaces = 4, isStartOfContent = true, isEndOfContent = true) => {\n      const tabSpace = repeat(' ', tabSpaces);\n      const normalizedText = text.replace(/\\t/g, tabSpace);\n      const result = foldl(normalizedText, (acc, c) => {\n        if (isCollapsibleWhitespace$1(c) || c === nbsp) {\n          if (acc.pcIsSpace || acc.str === '' && isStartOfContent || acc.str.length === normalizedText.length - 1 && isEndOfContent || isNewline(normalizedText, acc.str.length + 1)) {\n            return {\n              pcIsSpace: false,\n              str: acc.str + nbsp\n            };\n          } else {\n            return {\n              pcIsSpace: true,\n              str: acc.str + ' '\n            };\n          }\n        } else {\n          return {\n            pcIsSpace: isNewLineChar(c),\n            str: acc.str + c\n          };\n        }\n      }, {\n        pcIsSpace: false,\n        str: ''\n      });\n      return result.str;\n    };\n\n    const hasWhitespacePreserveParent = (node, rootNode) => {\n      const rootElement = SugarElement.fromDom(rootNode);\n      const startNode = SugarElement.fromDom(node);\n      return ancestor$2(startNode, 'pre,code', curry(eq, rootElement));\n    };\n    const isWhitespace$1 = (node, rootNode) => {\n      return isText$a(node) && isWhitespaceText(node.data) && !hasWhitespacePreserveParent(node, rootNode);\n    };\n    const isNamedAnchor = node => {\n      return isElement$6(node) && node.nodeName === 'A' && !node.hasAttribute('href') && (node.hasAttribute('name') || node.hasAttribute('id'));\n    };\n    const isContent$1 = (node, rootNode) => {\n      return isCaretCandidate$3(node) && !isWhitespace$1(node, rootNode) || isNamedAnchor(node) || isBookmark(node);\n    };\n    const isBookmark = hasAttribute('data-mce-bookmark');\n    const isBogus$1 = hasAttribute('data-mce-bogus');\n    const isBogusAll = hasAttributeValue('data-mce-bogus', 'all');\n    const hasNonEditableParent = node => parentElement(SugarElement.fromDom(node)).exists(parent => !isEditable$2(parent));\n    const isEmptyNode = (targetNode, skipBogus) => {\n      let brCount = 0;\n      if (isContent$1(targetNode, targetNode)) {\n        return false;\n      } else {\n        let node = targetNode.firstChild;\n        if (!node) {\n          return true;\n        }\n        const walker = new DomTreeWalker(node, targetNode);\n        do {\n          if (skipBogus) {\n            if (isBogusAll(node)) {\n              node = walker.next(true);\n              continue;\n            }\n            if (isBogus$1(node)) {\n              node = walker.next();\n              continue;\n            }\n          }\n          if (isContentEditableTrue$3(node) && hasNonEditableParent(node)) {\n            return false;\n          }\n          if (isBr$6(node)) {\n            brCount++;\n            node = walker.next();\n            continue;\n          }\n          if (isContent$1(node, targetNode)) {\n            return false;\n          }\n          node = walker.next();\n        } while (node);\n        return brCount <= 1;\n      }\n    };\n    const isEmpty$2 = (elm, skipBogus = true) => isEmptyNode(elm.dom, skipBogus);\n\n    const isNonHtmlElementRootName = name => name.toLowerCase() === 'svg';\n    const isNonHtmlElementRoot = node => isNonHtmlElementRootName(node.nodeName);\n    const toScopeType = node => (node === null || node === void 0 ? void 0 : node.nodeName) === 'svg' ? 'svg' : 'html';\n    const namespaceElements = ['svg'];\n    const createNamespaceTracker = () => {\n      let scopes = [];\n      const peek = () => scopes[scopes.length - 1];\n      const track = node => {\n        if (isNonHtmlElementRoot(node)) {\n          scopes.push(node);\n        }\n        let currentScope = peek();\n        if (currentScope && !currentScope.contains(node)) {\n          scopes.pop();\n          currentScope = peek();\n        }\n        return toScopeType(currentScope);\n      };\n      const current = () => toScopeType(peek());\n      const reset = () => {\n        scopes = [];\n      };\n      return {\n        track,\n        current,\n        reset\n      };\n    };\n\n    const transparentBlockAttr = 'data-mce-block';\n    const elementNames = map => filter$5(keys(map), key => !/[A-Z]/.test(key));\n    const makeSelectorFromSchemaMap = map => map$3(elementNames(map), name => {\n      return \"\".concat(name, \":\") + map$3(namespaceElements, ns => \"not(\".concat(ns, \" \").concat(name, \")\")).join(':');\n    }).join(',');\n    const updateTransparent = (blocksSelector, transparent) => {\n      if (isNonNullable(transparent.querySelector(blocksSelector))) {\n        transparent.setAttribute(transparentBlockAttr, 'true');\n        if (transparent.getAttribute('data-mce-selected') === 'inline-boundary') {\n          transparent.removeAttribute('data-mce-selected');\n        }\n        return true;\n      } else {\n        transparent.removeAttribute(transparentBlockAttr);\n        return false;\n      }\n    };\n    const updateBlockStateOnChildren = (schema, scope) => {\n      const transparentSelector = makeSelectorFromSchemaMap(schema.getTransparentElements());\n      const blocksSelector = makeSelectorFromSchemaMap(schema.getBlockElements());\n      return filter$5(scope.querySelectorAll(transparentSelector), transparent => updateTransparent(blocksSelector, transparent));\n    };\n    const trimEdge = (el, leftSide) => {\n      var _a;\n      const childPropertyName = leftSide ? 'lastChild' : 'firstChild';\n      for (let child = el[childPropertyName]; child; child = child[childPropertyName]) {\n        if (isEmpty$2(SugarElement.fromDom(child))) {\n          (_a = child.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(child);\n          return;\n        }\n      }\n    };\n    const split$2 = (parentElm, splitElm) => {\n      const range = document.createRange();\n      const parentNode = parentElm.parentNode;\n      if (parentNode) {\n        range.setStartBefore(parentElm);\n        range.setEndBefore(splitElm);\n        const beforeFragment = range.extractContents();\n        trimEdge(beforeFragment, true);\n        range.setStartAfter(splitElm);\n        range.setEndAfter(parentElm);\n        const afterFragment = range.extractContents();\n        trimEdge(afterFragment, false);\n        if (!isEmpty$2(SugarElement.fromDom(beforeFragment))) {\n          parentNode.insertBefore(beforeFragment, parentElm);\n        }\n        if (!isEmpty$2(SugarElement.fromDom(splitElm))) {\n          parentNode.insertBefore(splitElm, parentElm);\n        }\n        if (!isEmpty$2(SugarElement.fromDom(afterFragment))) {\n          parentNode.insertBefore(afterFragment, parentElm);\n        }\n        parentNode.removeChild(parentElm);\n      }\n    };\n    const splitInvalidChildren = (schema, scope, transparentBlocks) => {\n      const blocksElements = schema.getBlockElements();\n      const rootNode = SugarElement.fromDom(scope);\n      const isBlock = el => name(el) in blocksElements;\n      const isRoot = el => eq(el, rootNode);\n      each$e(fromDom$1(transparentBlocks), transparentBlock => {\n        ancestor$4(transparentBlock, isBlock, isRoot).each(parentBlock => {\n          const invalidChildren = children(transparentBlock, el => isBlock(el) && !schema.isValidChild(name(parentBlock), name(el)));\n          if (invalidChildren.length > 0) {\n            const stateScope = parentElement(parentBlock);\n            each$e(invalidChildren, child => {\n              ancestor$4(child, isBlock, isRoot).each(parentBlock => {\n                split$2(parentBlock.dom, child.dom);\n              });\n            });\n            stateScope.each(scope => updateBlockStateOnChildren(schema, scope.dom));\n          }\n        });\n      });\n    };\n    const unwrapInvalidChildren = (schema, scope, transparentBlocks) => {\n      each$e([...transparentBlocks, ...(isTransparentBlock(schema, scope) ? [scope] : [])], block => each$e(descendants(SugarElement.fromDom(block), block.nodeName.toLowerCase()), elm => {\n        if (isTransparentInline(schema, elm.dom)) {\n          unwrap(elm);\n        }\n      }));\n    };\n    const updateChildren = (schema, scope) => {\n      const transparentBlocks = updateBlockStateOnChildren(schema, scope);\n      splitInvalidChildren(schema, scope, transparentBlocks);\n      unwrapInvalidChildren(schema, scope, transparentBlocks);\n    };\n    const updateElement = (schema, target) => {\n      if (isTransparentElement(schema, target)) {\n        const blocksSelector = makeSelectorFromSchemaMap(schema.getBlockElements());\n        updateTransparent(blocksSelector, target);\n      }\n    };\n    const updateCaret = (schema, root, caretParent) => {\n      const isRoot = el => eq(el, SugarElement.fromDom(root));\n      const parents = parents$1(SugarElement.fromDom(caretParent), isRoot);\n      get$b(parents, parents.length - 2).filter(isElement$7).fold(() => updateChildren(schema, root), scope => updateChildren(schema, scope.dom));\n    };\n    const hasBlockAttr = el => el.hasAttribute(transparentBlockAttr);\n    const isTransparentElementName = (schema, name) => has$2(schema.getTransparentElements(), name);\n    const isTransparentElement = (schema, node) => isElement$6(node) && isTransparentElementName(schema, node.nodeName);\n    const isTransparentBlock = (schema, node) => isTransparentElement(schema, node) && hasBlockAttr(node);\n    const isTransparentInline = (schema, node) => isTransparentElement(schema, node) && !hasBlockAttr(node);\n    const isTransparentAstBlock = (schema, node) => node.type === 1 && isTransparentElementName(schema, node.name) && isString(node.attr(transparentBlockAttr));\n\n    const browser$2 = detect$2().browser;\n    const firstElement = nodes => find$2(nodes, isElement$7);\n    const getTableCaptionDeltaY = elm => {\n      if (browser$2.isFirefox() && name(elm) === 'table') {\n        return firstElement(children$1(elm)).filter(elm => {\n          return name(elm) === 'caption';\n        }).bind(caption => {\n          return firstElement(nextSiblings(caption)).map(body => {\n            const bodyTop = body.dom.offsetTop;\n            const captionTop = caption.dom.offsetTop;\n            const captionHeight = caption.dom.offsetHeight;\n            return bodyTop <= captionTop ? -captionHeight : 0;\n          });\n        }).getOr(0);\n      } else {\n        return 0;\n      }\n    };\n    const hasChild = (elm, child) => elm.children && contains$2(elm.children, child);\n    const getPos = (body, elm, rootElm) => {\n      let x = 0,\n        y = 0;\n      const doc = body.ownerDocument;\n      rootElm = rootElm ? rootElm : body;\n      if (elm) {\n        if (rootElm === body && elm.getBoundingClientRect && get$7(SugarElement.fromDom(body), 'position') === 'static') {\n          const pos = elm.getBoundingClientRect();\n          x = pos.left + (doc.documentElement.scrollLeft || body.scrollLeft) - doc.documentElement.clientLeft;\n          y = pos.top + (doc.documentElement.scrollTop || body.scrollTop) - doc.documentElement.clientTop;\n          return {\n            x,\n            y\n          };\n        }\n        let offsetParent = elm;\n        while (offsetParent && offsetParent !== rootElm && offsetParent.nodeType && !hasChild(offsetParent, rootElm)) {\n          const castOffsetParent = offsetParent;\n          x += castOffsetParent.offsetLeft || 0;\n          y += castOffsetParent.offsetTop || 0;\n          offsetParent = castOffsetParent.offsetParent;\n        }\n        offsetParent = elm.parentNode;\n        while (offsetParent && offsetParent !== rootElm && offsetParent.nodeType && !hasChild(offsetParent, rootElm)) {\n          x -= offsetParent.scrollLeft || 0;\n          y -= offsetParent.scrollTop || 0;\n          offsetParent = offsetParent.parentNode;\n        }\n        y += getTableCaptionDeltaY(SugarElement.fromDom(elm));\n      }\n      return {\n        x,\n        y\n      };\n    };\n\n    const StyleSheetLoader = (documentOrShadowRoot, settings = {}) => {\n      let idCount = 0;\n      const loadedStates = {};\n      const edos = SugarElement.fromDom(documentOrShadowRoot);\n      const doc = documentOrOwner(edos);\n      const _setReferrerPolicy = referrerPolicy => {\n        settings.referrerPolicy = referrerPolicy;\n      };\n      const _setContentCssCors = contentCssCors => {\n        settings.contentCssCors = contentCssCors;\n      };\n      const addStyle = element => {\n        append$1(getStyleContainer(edos), element);\n      };\n      const removeStyle = id => {\n        const styleContainer = getStyleContainer(edos);\n        descendant$1(styleContainer, '#' + id).each(remove$5);\n      };\n      const getOrCreateState = url => get$a(loadedStates, url).getOrThunk(() => ({\n        id: 'mce-u' + idCount++,\n        passed: [],\n        failed: [],\n        count: 0\n      }));\n      const load = url => new Promise((success, failure) => {\n        let link;\n        const urlWithSuffix = Tools._addCacheSuffix(url);\n        const state = getOrCreateState(urlWithSuffix);\n        loadedStates[urlWithSuffix] = state;\n        state.count++;\n        const resolve = (callbacks, status) => {\n          each$e(callbacks, call);\n          state.status = status;\n          state.passed = [];\n          state.failed = [];\n          if (link) {\n            link.onload = null;\n            link.onerror = null;\n            link = null;\n          }\n        };\n        const passed = () => resolve(state.passed, 2);\n        const failed = () => resolve(state.failed, 3);\n        if (success) {\n          state.passed.push(success);\n        }\n        if (failure) {\n          state.failed.push(failure);\n        }\n        if (state.status === 1) {\n          return;\n        }\n        if (state.status === 2) {\n          passed();\n          return;\n        }\n        if (state.status === 3) {\n          failed();\n          return;\n        }\n        state.status = 1;\n        const linkElem = SugarElement.fromTag('link', doc.dom);\n        setAll$1(linkElem, {\n          rel: 'stylesheet',\n          type: 'text/css',\n          id: state.id\n        });\n        if (settings.contentCssCors) {\n          set$3(linkElem, 'crossOrigin', 'anonymous');\n        }\n        if (settings.referrerPolicy) {\n          set$3(linkElem, 'referrerpolicy', settings.referrerPolicy);\n        }\n        link = linkElem.dom;\n        link.onload = passed;\n        link.onerror = failed;\n        addStyle(linkElem);\n        set$3(linkElem, 'href', urlWithSuffix);\n      });\n      const loadRawCss = (key, css) => {\n        const state = getOrCreateState(key);\n        loadedStates[key] = state;\n        state.count++;\n        const styleElem = SugarElement.fromTag('style', doc.dom);\n        setAll$1(styleElem, {\n          rel: 'stylesheet',\n          type: 'text/css',\n          id: state.id\n        });\n        styleElem.dom.innerHTML = css;\n        addStyle(styleElem);\n      };\n      const loadAll = urls => {\n        const loadedUrls = Promise.allSettled(map$3(urls, url => load(url).then(constant(url))));\n        return loadedUrls.then(results => {\n          const parts = partition$2(results, r => r.status === 'fulfilled');\n          if (parts.fail.length > 0) {\n            return Promise.reject(map$3(parts.fail, result => result.reason));\n          } else {\n            return map$3(parts.pass, result => result.value);\n          }\n        });\n      };\n      const unload = url => {\n        const urlWithSuffix = Tools._addCacheSuffix(url);\n        get$a(loadedStates, urlWithSuffix).each(state => {\n          const count = --state.count;\n          if (count === 0) {\n            delete loadedStates[urlWithSuffix];\n            removeStyle(state.id);\n          }\n        });\n      };\n      const unloadRawCss = key => {\n        get$a(loadedStates, key).each(state => {\n          const count = --state.count;\n          if (count === 0) {\n            delete loadedStates[key];\n            removeStyle(state.id);\n          }\n        });\n      };\n      const unloadAll = urls => {\n        each$e(urls, url => {\n          unload(url);\n        });\n      };\n      return {\n        load,\n        loadRawCss,\n        loadAll,\n        unload,\n        unloadRawCss,\n        unloadAll,\n        _setReferrerPolicy,\n        _setContentCssCors\n      };\n    };\n\n    const create$d = () => {\n      const map = new WeakMap();\n      const forElement = (referenceElement, settings) => {\n        const root = getRootNode(referenceElement);\n        const rootDom = root.dom;\n        return Optional.from(map.get(rootDom)).getOrThunk(() => {\n          const sl = StyleSheetLoader(rootDom, settings);\n          map.set(rootDom, sl);\n          return sl;\n        });\n      };\n      return {\n        forElement\n      };\n    };\n    const instance = create$d();\n\n    const isSpan = node => node.nodeName.toLowerCase() === 'span';\n    const isInlineContent = (node, root, schema) => isNonNullable(node) && (isContent$1(node, root) || schema.isInline(node.nodeName.toLowerCase()));\n    const surroundedByInlineContent = (node, root, schema) => {\n      const prev = new DomTreeWalker(node, root).prev(false);\n      const next = new DomTreeWalker(node, root).next(false);\n      const prevIsInline = isUndefined(prev) || isInlineContent(prev, root, schema);\n      const nextIsInline = isUndefined(next) || isInlineContent(next, root, schema);\n      return prevIsInline && nextIsInline;\n    };\n    const isBookmarkNode$2 = node => isSpan(node) && node.getAttribute('data-mce-type') === 'bookmark';\n    const isKeepTextNode = (node, root, schema) => isText$a(node) && node.data.length > 0 && surroundedByInlineContent(node, root, schema);\n    const isKeepElement = node => isElement$6(node) ? node.childNodes.length > 0 : false;\n    const isDocument = node => isDocumentFragment(node) || isDocument$1(node);\n    const trimNode = (dom, node, schema, root) => {\n      var _a;\n      const rootNode = root || node;\n      if (isElement$6(node) && isBookmarkNode$2(node)) {\n        return node;\n      }\n      const children = node.childNodes;\n      for (let i = children.length - 1; i >= 0; i--) {\n        trimNode(dom, children[i], schema, rootNode);\n      }\n      if (isElement$6(node)) {\n        const currentChildren = node.childNodes;\n        if (currentChildren.length === 1 && isBookmarkNode$2(currentChildren[0])) {\n          (_a = node.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(currentChildren[0], node);\n        }\n      }\n      if (!isDocument(node) && !isContent$1(node, rootNode) && !isKeepElement(node) && !isKeepTextNode(node, rootNode, schema)) {\n        dom.remove(node);\n      }\n      return node;\n    };\n\n    const makeMap$3 = Tools.makeMap;\n    const attrsCharsRegExp = /[&<>\\\"\\u0060\\u007E-\\uD7FF\\uE000-\\uFFEF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n    const textCharsRegExp = /[<>&\\u007E-\\uD7FF\\uE000-\\uFFEF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n    const rawCharsRegExp = /[<>&\\\"\\']/g;\n    const entityRegExp = /&#([a-z0-9]+);?|&([a-z0-9]+);/gi;\n    const asciiMap = {\n      128: '\\u20AC',\n      130: '\\u201A',\n      131: '\\u0192',\n      132: '\\u201E',\n      133: '\\u2026',\n      134: '\\u2020',\n      135: '\\u2021',\n      136: '\\u02c6',\n      137: '\\u2030',\n      138: '\\u0160',\n      139: '\\u2039',\n      140: '\\u0152',\n      142: '\\u017d',\n      145: '\\u2018',\n      146: '\\u2019',\n      147: '\\u201C',\n      148: '\\u201D',\n      149: '\\u2022',\n      150: '\\u2013',\n      151: '\\u2014',\n      152: '\\u02DC',\n      153: '\\u2122',\n      154: '\\u0161',\n      155: '\\u203A',\n      156: '\\u0153',\n      158: '\\u017e',\n      159: '\\u0178'\n    };\n    const baseEntities = {\n      '\"': '&quot;',\n      '\\'': '&#39;',\n      '<': '&lt;',\n      '>': '&gt;',\n      '&': '&amp;',\n      '`': '&#96;'\n    };\n    const reverseEntities = {\n      '&lt;': '<',\n      '&gt;': '>',\n      '&amp;': '&',\n      '&quot;': '\"',\n      '&apos;': \"'\"\n    };\n    const nativeDecode = text => {\n      const elm = SugarElement.fromTag('div').dom;\n      elm.innerHTML = text;\n      return elm.textContent || elm.innerText || text;\n    };\n    const buildEntitiesLookup = (items, radix) => {\n      const lookup = {};\n      if (items) {\n        const itemList = items.split(',');\n        radix = radix || 10;\n        for (let i = 0; i < itemList.length; i += 2) {\n          const chr = String.fromCharCode(parseInt(itemList[i], radix));\n          if (!baseEntities[chr]) {\n            const entity = '&' + itemList[i + 1] + ';';\n            lookup[chr] = entity;\n            lookup[entity] = chr;\n          }\n        }\n        return lookup;\n      } else {\n        return undefined;\n      }\n    };\n    const namedEntities = buildEntitiesLookup('50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,' + '5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,' + '5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,' + '5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,' + '68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,' + '6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,' + '6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,' + '75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,' + '7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,' + '7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,' + 'sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,' + 'st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,' + 't9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,' + 'tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,' + 'u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,' + '81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,' + '8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,' + '8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,' + '8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,' + '8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,' + 'nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,' + 'rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,' + 'Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,' + '80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,' + '811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro', 32);\n    const encodeRaw = (text, attr) => text.replace(attr ? attrsCharsRegExp : textCharsRegExp, chr => {\n      return baseEntities[chr] || chr;\n    });\n    const encodeAllRaw = text => ('' + text).replace(rawCharsRegExp, chr => {\n      return baseEntities[chr] || chr;\n    });\n    const encodeNumeric = (text, attr) => text.replace(attr ? attrsCharsRegExp : textCharsRegExp, chr => {\n      if (chr.length > 1) {\n        return '&#' + ((chr.charCodeAt(0) - 55296) * 1024 + (chr.charCodeAt(1) - 56320) + 65536) + ';';\n      }\n      return baseEntities[chr] || '&#' + chr.charCodeAt(0) + ';';\n    });\n    const encodeNamed = (text, attr, entities) => {\n      const resolveEntities = entities || namedEntities;\n      return text.replace(attr ? attrsCharsRegExp : textCharsRegExp, chr => {\n        return baseEntities[chr] || resolveEntities[chr] || chr;\n      });\n    };\n    const getEncodeFunc = (name, entities) => {\n      const entitiesMap = buildEntitiesLookup(entities) || namedEntities;\n      const encodeNamedAndNumeric = (text, attr) => text.replace(attr ? attrsCharsRegExp : textCharsRegExp, chr => {\n        if (baseEntities[chr] !== undefined) {\n          return baseEntities[chr];\n        }\n        if (entitiesMap[chr] !== undefined) {\n          return entitiesMap[chr];\n        }\n        if (chr.length > 1) {\n          return '&#' + ((chr.charCodeAt(0) - 55296) * 1024 + (chr.charCodeAt(1) - 56320) + 65536) + ';';\n        }\n        return '&#' + chr.charCodeAt(0) + ';';\n      });\n      const encodeCustomNamed = (text, attr) => {\n        return encodeNamed(text, attr, entitiesMap);\n      };\n      const nameMap = makeMap$3(name.replace(/\\+/g, ','));\n      if (nameMap.named && nameMap.numeric) {\n        return encodeNamedAndNumeric;\n      }\n      if (nameMap.named) {\n        if (entities) {\n          return encodeCustomNamed;\n        }\n        return encodeNamed;\n      }\n      if (nameMap.numeric) {\n        return encodeNumeric;\n      }\n      return encodeRaw;\n    };\n    const decode = text => text.replace(entityRegExp, (all, numeric) => {\n      if (numeric) {\n        if (numeric.charAt(0).toLowerCase() === 'x') {\n          numeric = parseInt(numeric.substr(1), 16);\n        } else {\n          numeric = parseInt(numeric, 10);\n        }\n        if (numeric > 65535) {\n          numeric -= 65536;\n          return String.fromCharCode(55296 + (numeric >> 10), 56320 + (numeric & 1023));\n        }\n        return asciiMap[numeric] || String.fromCharCode(numeric);\n      }\n      return reverseEntities[all] || namedEntities[all] || nativeDecode(all);\n    });\n    const Entities = {\n      encodeRaw,\n      encodeAllRaw,\n      encodeNumeric,\n      encodeNamed,\n      getEncodeFunc,\n      decode\n    };\n\n    const split$1 = (items, delim) => {\n      items = Tools.trim(items);\n      return items ? items.split(delim || ' ') : [];\n    };\n    const patternToRegExp = str => new RegExp('^' + str.replace(/([?+*])/g, '.$1') + '$');\n\n    const parseCustomElementsRules = value => {\n      const customElementRegExp = /^(~)?(.+)$/;\n      return bind$3(split$1(value, ','), rule => {\n        const matches = customElementRegExp.exec(rule);\n        if (matches) {\n          const inline = matches[1] === '~';\n          const cloneName = inline ? 'span' : 'div';\n          const name = matches[2];\n          return [{\n            inline,\n            cloneName,\n            name\n          }];\n        } else {\n          return [];\n        }\n      });\n    };\n\n    const getElementSetsAsStrings = type => {\n      let globalAttributes, blockContent;\n      let phrasingContent;\n      globalAttributes = 'id accesskey class dir lang style tabindex title role';\n      blockContent = 'address blockquote div dl fieldset form h1 h2 h3 h4 h5 h6 hr menu ol p pre table ul';\n      phrasingContent = 'a abbr b bdo br button cite code del dfn em embed i iframe img input ins kbd ' + 'label map noscript object q s samp script select small span strong sub sup ' + 'textarea u var #text #comment';\n      if (type !== 'html4') {\n        const transparentContent = 'a ins del canvas map';\n        globalAttributes += ' contenteditable contextmenu draggable dropzone ' + 'hidden spellcheck translate';\n        blockContent += ' article aside details dialog figure main header footer hgroup section nav ' + transparentContent;\n        phrasingContent += ' audio canvas command datalist mark meter output picture ' + 'progress time wbr video ruby bdi keygen svg';\n      }\n      if (type !== 'html5-strict') {\n        globalAttributes += ' xml:lang';\n        const html4PhrasingContent = 'acronym applet basefont big font strike tt';\n        phrasingContent = [phrasingContent, html4PhrasingContent].join(' ');\n        const html4BlockContent = 'center dir isindex noframes';\n        blockContent = [blockContent, html4BlockContent].join(' ');\n      }\n      const flowContent = [blockContent, phrasingContent].join(' ');\n      return {\n        globalAttributes,\n        blockContent,\n        phrasingContent,\n        flowContent\n      };\n    };\n\n    const makeSchema = type => {\n      const {\n        globalAttributes,\n        phrasingContent,\n        flowContent\n      } = getElementSetsAsStrings(type);\n      const schema = {};\n      const addElement = (name, attributes, children) => {\n        schema[name] = {\n          attributes: mapToObject(attributes, constant({})),\n          attributesOrder: attributes,\n          children: mapToObject(children, constant({}))\n        };\n      };\n      const add = (name, attributes = '', children = '') => {\n        const childNames = split$1(children);\n        const names = split$1(name);\n        let ni = names.length;\n        const allAttributes = split$1([globalAttributes, attributes].join(' '));\n        while (ni--) {\n          addElement(names[ni], allAttributes.slice(), childNames);\n        }\n      };\n      const addAttrs = (name, attributes) => {\n        const names = split$1(name);\n        const attrs = split$1(attributes);\n        let ni = names.length;\n        while (ni--) {\n          const schemaItem = schema[names[ni]];\n          for (let i = 0, l = attrs.length; i < l; i++) {\n            schemaItem.attributes[attrs[i]] = {};\n            schemaItem.attributesOrder.push(attrs[i]);\n          }\n        }\n      };\n      if (type !== 'html5-strict') {\n        const html4PhrasingContent = 'acronym applet basefont big font strike tt';\n        each$e(split$1(html4PhrasingContent), name => {\n          add(name, '', phrasingContent);\n        });\n        const html4BlockContent = 'center dir isindex noframes';\n        each$e(split$1(html4BlockContent), name => {\n          add(name, '', flowContent);\n        });\n      }\n      add('html', 'manifest', 'head body');\n      add('head', '', 'base command link meta noscript script style title');\n      add('title hr noscript br');\n      add('base', 'href target');\n      add('link', 'href rel media hreflang type sizes hreflang');\n      add('meta', 'name http-equiv content charset');\n      add('style', 'media type scoped');\n      add('script', 'src async defer type charset');\n      add('body', 'onafterprint onbeforeprint onbeforeunload onblur onerror onfocus ' + 'onhashchange onload onmessage onoffline ononline onpagehide onpageshow ' + 'onpopstate onresize onscroll onstorage onunload', flowContent);\n      add('dd div', '', flowContent);\n      add('address dt caption', '', type === 'html4' ? phrasingContent : flowContent);\n      add('h1 h2 h3 h4 h5 h6 pre p abbr code var samp kbd sub sup i b u bdo span legend em strong small s cite dfn', '', phrasingContent);\n      add('blockquote', 'cite', flowContent);\n      add('ol', 'reversed start type', 'li');\n      add('ul', '', 'li');\n      add('li', 'value', flowContent);\n      add('dl', '', 'dt dd');\n      add('a', 'href target rel media hreflang type', type === 'html4' ? phrasingContent : flowContent);\n      add('q', 'cite', phrasingContent);\n      add('ins del', 'cite datetime', flowContent);\n      add('img', 'src sizes srcset alt usemap ismap width height');\n      add('iframe', 'src name width height', flowContent);\n      add('embed', 'src type width height');\n      add('object', 'data type typemustmatch name usemap form width height', [flowContent, 'param'].join(' '));\n      add('param', 'name value');\n      add('map', 'name', [flowContent, 'area'].join(' '));\n      add('area', 'alt coords shape href target rel media hreflang type');\n      add('table', 'border', 'caption colgroup thead tfoot tbody tr' + (type === 'html4' ? ' col' : ''));\n      add('colgroup', 'span', 'col');\n      add('col', 'span');\n      add('tbody thead tfoot', '', 'tr');\n      add('tr', '', 'td th');\n      add('td', 'colspan rowspan headers', flowContent);\n      add('th', 'colspan rowspan headers scope abbr', flowContent);\n      add('form', 'accept-charset action autocomplete enctype method name novalidate target', flowContent);\n      add('fieldset', 'disabled form name', [flowContent, 'legend'].join(' '));\n      add('label', 'form for', phrasingContent);\n      add('input', 'accept alt autocomplete checked dirname disabled form formaction formenctype formmethod formnovalidate ' + 'formtarget height list max maxlength min multiple name pattern readonly required size src step type value width');\n      add('button', 'disabled form formaction formenctype formmethod formnovalidate formtarget name type value', type === 'html4' ? flowContent : phrasingContent);\n      add('select', 'disabled form multiple name required size', 'option optgroup');\n      add('optgroup', 'disabled label', 'option');\n      add('option', 'disabled label selected value');\n      add('textarea', 'cols dirname disabled form maxlength name readonly required rows wrap');\n      add('menu', 'type label', [flowContent, 'li'].join(' '));\n      add('noscript', '', flowContent);\n      if (type !== 'html4') {\n        add('wbr');\n        add('ruby', '', [phrasingContent, 'rt rp'].join(' '));\n        add('figcaption', '', flowContent);\n        add('mark rt rp bdi', '', phrasingContent);\n        add('summary', '', [phrasingContent, 'h1 h2 h3 h4 h5 h6'].join(' '));\n        add('canvas', 'width height', flowContent);\n        add('video', 'src crossorigin poster preload autoplay mediagroup loop ' + 'muted controls width height buffered', [flowContent, 'track source'].join(' '));\n        add('audio', 'src crossorigin preload autoplay mediagroup loop muted controls ' + 'buffered volume', [flowContent, 'track source'].join(' '));\n        add('picture', '', 'img source');\n        add('source', 'src srcset type media sizes');\n        add('track', 'kind src srclang label default');\n        add('datalist', '', [phrasingContent, 'option'].join(' '));\n        add('article section nav aside main header footer', '', flowContent);\n        add('hgroup', '', 'h1 h2 h3 h4 h5 h6');\n        add('figure', '', [flowContent, 'figcaption'].join(' '));\n        add('time', 'datetime', phrasingContent);\n        add('dialog', 'open', flowContent);\n        add('command', 'type label icon disabled checked radiogroup command');\n        add('output', 'for form name', phrasingContent);\n        add('progress', 'value max', phrasingContent);\n        add('meter', 'value min max low high optimum', phrasingContent);\n        add('details', 'open', [flowContent, 'summary'].join(' '));\n        add('keygen', 'autofocus challenge disabled form keytype name');\n        addElement('svg', 'id tabindex lang xml:space class style x y width height viewBox preserveAspectRatio zoomAndPan transform'.split(' '), []);\n      }\n      if (type !== 'html5-strict') {\n        addAttrs('script', 'language xml:space');\n        addAttrs('style', 'xml:space');\n        addAttrs('object', 'declare classid code codebase codetype archive standby align border hspace vspace');\n        addAttrs('embed', 'align name hspace vspace');\n        addAttrs('param', 'valuetype type');\n        addAttrs('a', 'charset name rev shape coords');\n        addAttrs('br', 'clear');\n        addAttrs('applet', 'codebase archive code object alt name width height align hspace vspace');\n        addAttrs('img', 'name longdesc align border hspace vspace');\n        addAttrs('iframe', 'longdesc frameborder marginwidth marginheight scrolling align');\n        addAttrs('font basefont', 'size color face');\n        addAttrs('input', 'usemap align');\n        addAttrs('select');\n        addAttrs('textarea');\n        addAttrs('h1 h2 h3 h4 h5 h6 div p legend caption', 'align');\n        addAttrs('ul', 'type compact');\n        addAttrs('li', 'type');\n        addAttrs('ol dl menu dir', 'compact');\n        addAttrs('pre', 'width xml:space');\n        addAttrs('hr', 'align noshade size width');\n        addAttrs('isindex', 'prompt');\n        addAttrs('table', 'summary width frame rules cellspacing cellpadding align bgcolor');\n        addAttrs('col', 'width align char charoff valign');\n        addAttrs('colgroup', 'width align char charoff valign');\n        addAttrs('thead', 'align char charoff valign');\n        addAttrs('tr', 'align char charoff valign bgcolor');\n        addAttrs('th', 'axis align char charoff valign nowrap bgcolor width height');\n        addAttrs('form', 'accept');\n        addAttrs('td', 'abbr axis scope align char charoff valign nowrap bgcolor width height');\n        addAttrs('tfoot', 'align char charoff valign');\n        addAttrs('tbody', 'align char charoff valign');\n        addAttrs('area', 'nohref');\n        addAttrs('body', 'background bgcolor text link vlink alink');\n      }\n      if (type !== 'html4') {\n        addAttrs('input button select textarea', 'autofocus');\n        addAttrs('input textarea', 'placeholder');\n        addAttrs('a', 'download');\n        addAttrs('link script img', 'crossorigin');\n        addAttrs('img', 'loading');\n        addAttrs('iframe', 'sandbox seamless allow allowfullscreen loading');\n      }\n      if (type !== 'html4') {\n        each$e([schema.video, schema.audio], item => {\n          delete item.children.audio;\n          delete item.children.video;\n        });\n      }\n      each$e(split$1('a form meter progress dfn'), name => {\n        if (schema[name]) {\n          delete schema[name].children[name];\n        }\n      });\n      delete schema.caption.children.table;\n      delete schema.script;\n      return schema;\n    };\n\n    const prefixToOperation = prefix => prefix === '-' ? 'remove' : 'add';\n    const parseValidChildrenRules = value => {\n      const childRuleRegExp = /^([+\\-]?)([A-Za-z0-9_\\-.\\u00b7\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u037d\\u037f-\\u1fff\\u200c-\\u200d\\u203f-\\u2040\\u2070-\\u218f\\u2c00-\\u2fef\\u3001-\\ud7ff\\uf900-\\ufdcf\\ufdf0-\\ufffd]+)\\[([^\\]]+)]$/;\n      return bind$3(split$1(value, ','), rule => {\n        const matches = childRuleRegExp.exec(rule);\n        if (matches) {\n          const prefix = matches[1];\n          const operation = prefix ? prefixToOperation(prefix) : 'replace';\n          const name = matches[2];\n          const validChildren = split$1(matches[3], '|');\n          return [{\n            operation,\n            name,\n            validChildren\n          }];\n        } else {\n          return [];\n        }\n      });\n    };\n\n    const parseValidElementsAttrDataIntoElement = (attrData, targetElement) => {\n      const attrRuleRegExp = /^([!\\-])?(\\w+[\\\\:]:\\w+|[^=~<]+)?(?:([=~<])(.*))?$/;\n      const hasPatternsRegExp = /[*?+]/;\n      const {\n        attributes,\n        attributesOrder\n      } = targetElement;\n      return each$e(split$1(attrData, '|'), rule => {\n        const matches = attrRuleRegExp.exec(rule);\n        if (matches) {\n          const attr = {};\n          const attrType = matches[1];\n          const attrName = matches[2].replace(/[\\\\:]:/g, ':');\n          const attrPrefix = matches[3];\n          const value = matches[4];\n          if (attrType === '!') {\n            targetElement.attributesRequired = targetElement.attributesRequired || [];\n            targetElement.attributesRequired.push(attrName);\n            attr.required = true;\n          }\n          if (attrType === '-') {\n            delete attributes[attrName];\n            attributesOrder.splice(Tools.inArray(attributesOrder, attrName), 1);\n            return;\n          }\n          if (attrPrefix) {\n            if (attrPrefix === '=') {\n              targetElement.attributesDefault = targetElement.attributesDefault || [];\n              targetElement.attributesDefault.push({\n                name: attrName,\n                value\n              });\n              attr.defaultValue = value;\n            } else if (attrPrefix === '~') {\n              targetElement.attributesForced = targetElement.attributesForced || [];\n              targetElement.attributesForced.push({\n                name: attrName,\n                value\n              });\n              attr.forcedValue = value;\n            } else if (attrPrefix === '<') {\n              attr.validValues = Tools.makeMap(value, '?');\n            }\n          }\n          if (hasPatternsRegExp.test(attrName)) {\n            const attrPattern = attr;\n            targetElement.attributePatterns = targetElement.attributePatterns || [];\n            attrPattern.pattern = patternToRegExp(attrName);\n            targetElement.attributePatterns.push(attrPattern);\n          } else {\n            if (!attributes[attrName]) {\n              attributesOrder.push(attrName);\n            }\n            attributes[attrName] = attr;\n          }\n        }\n      });\n    };\n    const cloneAttributesInto = (from, to) => {\n      each$d(from.attributes, (value, key) => {\n        to.attributes[key] = value;\n      });\n      to.attributesOrder.push(...from.attributesOrder);\n    };\n    const parseValidElementsRules = (globalElement, validElements) => {\n      const elementRuleRegExp = /^([#+\\-])?([^\\[!\\/]+)(?:\\/([^\\[!]+))?(?:(!?)\\[([^\\]]+)])?$/;\n      return bind$3(split$1(validElements, ','), rule => {\n        const matches = elementRuleRegExp.exec(rule);\n        if (matches) {\n          const prefix = matches[1];\n          const elementName = matches[2];\n          const outputName = matches[3];\n          const attrsPrefix = matches[4];\n          const attrData = matches[5];\n          const element = {\n            attributes: {},\n            attributesOrder: []\n          };\n          globalElement.each(el => cloneAttributesInto(el, element));\n          if (prefix === '#') {\n            element.paddEmpty = true;\n          } else if (prefix === '-') {\n            element.removeEmpty = true;\n          }\n          if (attrsPrefix === '!') {\n            element.removeEmptyAttrs = true;\n          }\n          if (attrData) {\n            parseValidElementsAttrDataIntoElement(attrData, element);\n          }\n          if (outputName) {\n            element.outputName = elementName;\n          }\n          if (elementName === '@') {\n            if (globalElement.isNone()) {\n              globalElement = Optional.some(element);\n            } else {\n              return [];\n            }\n          }\n          return [outputName ? {\n            name: elementName,\n            element,\n            aliasName: outputName\n          } : {\n            name: elementName,\n            element\n          }];\n        } else {\n          return [];\n        }\n      });\n    };\n\n    const mapCache = {};\n    const makeMap$2 = Tools.makeMap,\n      each$b = Tools.each,\n      extend$2 = Tools.extend,\n      explode$2 = Tools.explode;\n    const createMap = (defaultValue, extendWith = {}) => {\n      const value = makeMap$2(defaultValue, ' ', makeMap$2(defaultValue.toUpperCase(), ' '));\n      return extend$2(value, extendWith);\n    };\n    const getTextRootBlockElements = schema => createMap('td th li dt dd figcaption caption details summary', schema.getTextBlockElements());\n    const compileElementMap = (value, mode) => {\n      if (value) {\n        const styles = {};\n        if (isString(value)) {\n          value = {\n            '*': value\n          };\n        }\n        each$b(value, (value, key) => {\n          styles[key] = styles[key.toUpperCase()] = mode === 'map' ? makeMap$2(value, /[, ]/) : explode$2(value, /[, ]/);\n        });\n        return styles;\n      } else {\n        return undefined;\n      }\n    };\n    const Schema = (settings = {}) => {\n      var _a;\n      const elements = {};\n      const children = {};\n      let patternElements = [];\n      const customElementsMap = {};\n      const specialElements = {};\n      const createLookupTable = (option, defaultValue, extendWith) => {\n        const value = settings[option];\n        if (!value) {\n          let newValue = mapCache[option];\n          if (!newValue) {\n            newValue = createMap(defaultValue, extendWith);\n            mapCache[option] = newValue;\n          }\n          return newValue;\n        } else {\n          return makeMap$2(value, /[, ]/, makeMap$2(value.toUpperCase(), /[, ]/));\n        }\n      };\n      const schemaType = (_a = settings.schema) !== null && _a !== void 0 ? _a : 'html5';\n      const schemaItems = makeSchema(schemaType);\n      if (settings.verify_html === false) {\n        settings.valid_elements = '*[*]';\n      }\n      const validStyles = compileElementMap(settings.valid_styles);\n      const invalidStyles = compileElementMap(settings.invalid_styles, 'map');\n      const validClasses = compileElementMap(settings.valid_classes, 'map');\n      const whitespaceElementsMap = createLookupTable('whitespace_elements', 'pre script noscript style textarea video audio iframe object code');\n      const selfClosingElementsMap = createLookupTable('self_closing_elements', 'colgroup dd dt li option p td tfoot th thead tr');\n      const voidElementsMap = createLookupTable('void_elements', 'area base basefont br col frame hr img input isindex link ' + 'meta param embed source wbr track');\n      const boolAttrMap = createLookupTable('boolean_attributes', 'checked compact declare defer disabled ismap multiple nohref noresize ' + 'noshade nowrap readonly selected autoplay loop controls allowfullscreen');\n      const nonEmptyOrMoveCaretBeforeOnEnter = 'td th iframe video audio object script code';\n      const nonEmptyElementsMap = createLookupTable('non_empty_elements', nonEmptyOrMoveCaretBeforeOnEnter + ' pre svg', voidElementsMap);\n      const moveCaretBeforeOnEnterElementsMap = createLookupTable('move_caret_before_on_enter_elements', nonEmptyOrMoveCaretBeforeOnEnter + ' table', voidElementsMap);\n      const headings = 'h1 h2 h3 h4 h5 h6';\n      const textBlockElementsMap = createLookupTable('text_block_elements', headings + ' p div address pre form ' + 'blockquote center dir fieldset header footer article section hgroup aside main nav figure');\n      const blockElementsMap = createLookupTable('block_elements', 'hr table tbody thead tfoot ' + 'th tr td li ol ul caption dl dt dd noscript menu isindex option ' + 'datalist select optgroup figcaption details summary html body multicol listing', textBlockElementsMap);\n      const textInlineElementsMap = createLookupTable('text_inline_elements', 'span strong b em i font s strike u var cite ' + 'dfn code mark q sup sub samp');\n      const transparentElementsMap = createLookupTable('transparent_elements', 'a ins del canvas map');\n      const wrapBlockElementsMap = createLookupTable('wrap_block_elements', 'pre ' + headings);\n      each$b('script noscript iframe noframes noembed title style textarea xmp plaintext'.split(' '), name => {\n        specialElements[name] = new RegExp('</' + name + '[^>]*>', 'gi');\n      });\n      const addValidElements = validElements => {\n        const globalElement = Optional.from(elements['@']);\n        const hasPatternsRegExp = /[*?+]/;\n        each$e(parseValidElementsRules(globalElement, validElements !== null && validElements !== void 0 ? validElements : ''), ({\n          name,\n          element,\n          aliasName\n        }) => {\n          if (aliasName) {\n            elements[aliasName] = element;\n          }\n          if (hasPatternsRegExp.test(name)) {\n            const patternElement = element;\n            patternElement.pattern = patternToRegExp(name);\n            patternElements.push(patternElement);\n          } else {\n            elements[name] = element;\n          }\n        });\n      };\n      const setValidElements = validElements => {\n        patternElements = [];\n        each$e(keys(elements), name => {\n          delete elements[name];\n        });\n        addValidElements(validElements);\n      };\n      const addCustomElements = customElements => {\n        delete mapCache.text_block_elements;\n        delete mapCache.block_elements;\n        each$e(parseCustomElementsRules(customElements !== null && customElements !== void 0 ? customElements : ''), ({\n          inline,\n          name,\n          cloneName\n        }) => {\n          children[name] = children[cloneName];\n          customElementsMap[name] = cloneName;\n          nonEmptyElementsMap[name.toUpperCase()] = {};\n          nonEmptyElementsMap[name] = {};\n          if (!inline) {\n            blockElementsMap[name.toUpperCase()] = {};\n            blockElementsMap[name] = {};\n          }\n          if (!elements[name]) {\n            let customRule = elements[cloneName];\n            customRule = extend$2({}, customRule);\n            delete customRule.removeEmptyAttrs;\n            delete customRule.removeEmpty;\n            elements[name] = customRule;\n          }\n          each$d(children, (element, elmName) => {\n            if (element[cloneName]) {\n              children[elmName] = element = extend$2({}, children[elmName]);\n              element[name] = element[cloneName];\n            }\n          });\n        });\n      };\n      const addValidChildren = validChildren => {\n        each$e(parseValidChildrenRules(validChildren !== null && validChildren !== void 0 ? validChildren : ''), ({\n          operation,\n          name,\n          validChildren\n        }) => {\n          const parent = operation === 'replace' ? {\n            '#comment': {}\n          } : children[name];\n          each$e(validChildren, child => {\n            if (operation === 'remove') {\n              delete parent[child];\n            } else {\n              parent[child] = {};\n            }\n          });\n          children[name] = parent;\n        });\n      };\n      const getElementRule = name => {\n        const element = elements[name];\n        if (element) {\n          return element;\n        }\n        let i = patternElements.length;\n        while (i--) {\n          const patternElement = patternElements[i];\n          if (patternElement.pattern.test(name)) {\n            return patternElement;\n          }\n        }\n        return undefined;\n      };\n      if (!settings.valid_elements) {\n        each$b(schemaItems, (element, name) => {\n          elements[name] = {\n            attributes: element.attributes,\n            attributesOrder: element.attributesOrder\n          };\n          children[name] = element.children;\n        });\n        each$b(split$1('strong/b em/i'), item => {\n          const items = split$1(item, '/');\n          elements[items[1]].outputName = items[0];\n        });\n        each$b(textInlineElementsMap, (_val, name) => {\n          if (elements[name]) {\n            if (settings.padd_empty_block_inline_children) {\n              elements[name].paddInEmptyBlock = true;\n            }\n            elements[name].removeEmpty = true;\n          }\n        });\n        each$b(split$1('ol ul blockquote a table tbody'), name => {\n          if (elements[name]) {\n            elements[name].removeEmpty = true;\n          }\n        });\n        each$b(split$1('p h1 h2 h3 h4 h5 h6 th td pre div address caption li summary'), name => {\n          if (elements[name]) {\n            elements[name].paddEmpty = true;\n          }\n        });\n        each$b(split$1('span'), name => {\n          elements[name].removeEmptyAttrs = true;\n        });\n      } else {\n        setValidElements(settings.valid_elements);\n        each$b(schemaItems, (element, name) => {\n          children[name] = element.children;\n        });\n      }\n      delete elements.svg;\n      addCustomElements(settings.custom_elements);\n      addValidChildren(settings.valid_children);\n      addValidElements(settings.extended_valid_elements);\n      addValidChildren('+ol[ul|ol],+ul[ul|ol]');\n      each$b({\n        dd: 'dl',\n        dt: 'dl',\n        li: 'ul ol',\n        td: 'tr',\n        th: 'tr',\n        tr: 'tbody thead tfoot',\n        tbody: 'table',\n        thead: 'table',\n        tfoot: 'table',\n        legend: 'fieldset',\n        area: 'map',\n        param: 'video audio object'\n      }, (parents, item) => {\n        if (elements[item]) {\n          elements[item].parentsRequired = split$1(parents);\n        }\n      });\n      if (settings.invalid_elements) {\n        each$b(explode$2(settings.invalid_elements), item => {\n          if (elements[item]) {\n            delete elements[item];\n          }\n        });\n      }\n      if (!getElementRule('span')) {\n        addValidElements('span[!data-mce-type|*]');\n      }\n      const getValidStyles = constant(validStyles);\n      const getInvalidStyles = constant(invalidStyles);\n      const getValidClasses = constant(validClasses);\n      const getBoolAttrs = constant(boolAttrMap);\n      const getBlockElements = constant(blockElementsMap);\n      const getTextBlockElements = constant(textBlockElementsMap);\n      const getTextInlineElements = constant(textInlineElementsMap);\n      const getVoidElements = constant(Object.seal(voidElementsMap));\n      const getSelfClosingElements = constant(selfClosingElementsMap);\n      const getNonEmptyElements = constant(nonEmptyElementsMap);\n      const getMoveCaretBeforeOnEnterElements = constant(moveCaretBeforeOnEnterElementsMap);\n      const getWhitespaceElements = constant(whitespaceElementsMap);\n      const getTransparentElements = constant(transparentElementsMap);\n      const getWrapBlockElements = constant(wrapBlockElementsMap);\n      const getSpecialElements = constant(Object.seal(specialElements));\n      const isValidChild = (name, child) => {\n        const parent = children[name.toLowerCase()];\n        return !!(parent && parent[child.toLowerCase()]);\n      };\n      const isValid = (name, attr) => {\n        const rule = getElementRule(name);\n        if (rule) {\n          if (attr) {\n            if (rule.attributes[attr]) {\n              return true;\n            }\n            const attrPatterns = rule.attributePatterns;\n            if (attrPatterns) {\n              let i = attrPatterns.length;\n              while (i--) {\n                if (attrPatterns[i].pattern.test(attr)) {\n                  return true;\n                }\n              }\n            }\n          } else {\n            return true;\n          }\n        }\n        return false;\n      };\n      const isBlock = name => has$2(getBlockElements(), name);\n      const isInline = name => !startsWith(name, '#') && isValid(name) && !isBlock(name);\n      const isWrapper = name => has$2(getWrapBlockElements(), name) || isInline(name);\n      const getCustomElements = constant(customElementsMap);\n      return {\n        type: schemaType,\n        children,\n        elements,\n        getValidStyles,\n        getValidClasses,\n        getBlockElements,\n        getInvalidStyles,\n        getVoidElements,\n        getTextBlockElements,\n        getTextInlineElements,\n        getBoolAttrs,\n        getElementRule,\n        getSelfClosingElements,\n        getNonEmptyElements,\n        getMoveCaretBeforeOnEnterElements,\n        getWhitespaceElements,\n        getTransparentElements,\n        getSpecialElements,\n        isValidChild,\n        isValid,\n        isBlock,\n        isInline,\n        isWrapper,\n        getCustomElements,\n        addValidElements,\n        setValidElements,\n        addCustomElements,\n        addValidChildren\n      };\n    };\n\n    const hexColour = value => ({\n      value: normalizeHex(value)\n    });\n    const normalizeHex = hex => removeLeading(hex, '#').toUpperCase();\n    const toHex = component => {\n      const hex = component.toString(16);\n      return (hex.length === 1 ? '0' + hex : hex).toUpperCase();\n    };\n    const fromRgba = rgbaColour => {\n      const value = toHex(rgbaColour.red) + toHex(rgbaColour.green) + toHex(rgbaColour.blue);\n      return hexColour(value);\n    };\n\n    const rgbRegex = /^\\s*rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)\\s*$/i;\n    const rgbaRegex = /^\\s*rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d?(?:\\.\\d+)?)\\s*\\)\\s*$/i;\n    const rgbaColour = (red, green, blue, alpha) => ({\n      red,\n      green,\n      blue,\n      alpha\n    });\n    const fromStringValues = (red, green, blue, alpha) => {\n      const r = parseInt(red, 10);\n      const g = parseInt(green, 10);\n      const b = parseInt(blue, 10);\n      const a = parseFloat(alpha);\n      return rgbaColour(r, g, b, a);\n    };\n    const fromString = rgbaString => {\n      if (rgbaString === 'transparent') {\n        return Optional.some(rgbaColour(0, 0, 0, 0));\n      }\n      const rgbMatch = rgbRegex.exec(rgbaString);\n      if (rgbMatch !== null) {\n        return Optional.some(fromStringValues(rgbMatch[1], rgbMatch[2], rgbMatch[3], '1'));\n      }\n      const rgbaMatch = rgbaRegex.exec(rgbaString);\n      if (rgbaMatch !== null) {\n        return Optional.some(fromStringValues(rgbaMatch[1], rgbaMatch[2], rgbaMatch[3], rgbaMatch[4]));\n      }\n      return Optional.none();\n    };\n    const toString = rgba => \"rgba(\".concat(rgba.red, \",\").concat(rgba.green, \",\").concat(rgba.blue, \",\").concat(rgba.alpha, \")\");\n\n    const rgbaToHexString = color => fromString(color).map(fromRgba).map(h => '#' + h.value).getOr(color);\n\n    const Styles = (settings = {}, schema) => {\n      const urlOrStrRegExp = /(?:url(?:(?:\\(\\s*\\\"([^\\\"]+)\\\"\\s*\\))|(?:\\(\\s*\\'([^\\']+)\\'\\s*\\))|(?:\\(\\s*([^)\\s]+)\\s*\\))))|(?:\\'([^\\']+)\\')|(?:\\\"([^\\\"]+)\\\")/gi;\n      const styleRegExp = /\\s*([^:]+):\\s*([^;]+);?/g;\n      const trimRightRegExp = /\\s+$/;\n      const encodingLookup = {};\n      let validStyles;\n      let invalidStyles;\n      const invisibleChar = zeroWidth;\n      if (schema) {\n        validStyles = schema.getValidStyles();\n        invalidStyles = schema.getInvalidStyles();\n      }\n      const encodingItems = (\"\\\\\\\" \\\\' \\\\; \\\\: ; : \" + invisibleChar).split(' ');\n      for (let i = 0; i < encodingItems.length; i++) {\n        encodingLookup[encodingItems[i]] = invisibleChar + i;\n        encodingLookup[invisibleChar + i] = encodingItems[i];\n      }\n      const self = {\n        parse: css => {\n          const styles = {};\n          let isEncoded = false;\n          const urlConverter = settings.url_converter;\n          const urlConverterScope = settings.url_converter_scope || self;\n          const compress = (prefix, suffix, noJoin) => {\n            const top = styles[prefix + '-top' + suffix];\n            if (!top) {\n              return;\n            }\n            const right = styles[prefix + '-right' + suffix];\n            if (!right) {\n              return;\n            }\n            const bottom = styles[prefix + '-bottom' + suffix];\n            if (!bottom) {\n              return;\n            }\n            const left = styles[prefix + '-left' + suffix];\n            if (!left) {\n              return;\n            }\n            const box = [top, right, bottom, left];\n            let i = box.length - 1;\n            while (i--) {\n              if (box[i] !== box[i + 1]) {\n                break;\n              }\n            }\n            if (i > -1 && noJoin) {\n              return;\n            }\n            styles[prefix + suffix] = i === -1 ? box[0] : box.join(' ');\n            delete styles[prefix + '-top' + suffix];\n            delete styles[prefix + '-right' + suffix];\n            delete styles[prefix + '-bottom' + suffix];\n            delete styles[prefix + '-left' + suffix];\n          };\n          const canCompress = key => {\n            const value = styles[key];\n            if (!value) {\n              return;\n            }\n            const values = value.indexOf(',') > -1 ? [value] : value.split(' ');\n            let i = values.length;\n            while (i--) {\n              if (values[i] !== values[0]) {\n                return false;\n              }\n            }\n            styles[key] = values[0];\n            return true;\n          };\n          const compress2 = (target, a, b, c) => {\n            if (!canCompress(a)) {\n              return;\n            }\n            if (!canCompress(b)) {\n              return;\n            }\n            if (!canCompress(c)) {\n              return;\n            }\n            styles[target] = styles[a] + ' ' + styles[b] + ' ' + styles[c];\n            delete styles[a];\n            delete styles[b];\n            delete styles[c];\n          };\n          const encode = str => {\n            isEncoded = true;\n            return encodingLookup[str];\n          };\n          const decode = (str, keepSlashes) => {\n            if (isEncoded) {\n              str = str.replace(/\\uFEFF[0-9]/g, str => {\n                return encodingLookup[str];\n              });\n            }\n            if (!keepSlashes) {\n              str = str.replace(/\\\\([\\'\\\";:])/g, '$1');\n            }\n            return str;\n          };\n          const decodeSingleHexSequence = escSeq => {\n            return String.fromCharCode(parseInt(escSeq.slice(1), 16));\n          };\n          const decodeHexSequences = value => {\n            return value.replace(/\\\\[0-9a-f]+/gi, decodeSingleHexSequence);\n          };\n          const processUrl = (match, url, url2, url3, str, str2) => {\n            str = str || str2;\n            if (str) {\n              str = decode(str);\n              return \"'\" + str.replace(/\\'/g, \"\\\\'\") + \"'\";\n            }\n            url = decode(url || url2 || url3 || '');\n            if (!settings.allow_script_urls) {\n              const scriptUrl = url.replace(/[\\s\\r\\n]+/g, '');\n              if (/(java|vb)script:/i.test(scriptUrl)) {\n                return '';\n              }\n              if (!settings.allow_svg_data_urls && /^data:image\\/svg/i.test(scriptUrl)) {\n                return '';\n              }\n            }\n            if (urlConverter) {\n              url = urlConverter.call(urlConverterScope, url, 'style');\n            }\n            return \"url('\" + url.replace(/\\'/g, \"\\\\'\") + \"')\";\n          };\n          if (css) {\n            css = css.replace(/[\\u0000-\\u001F]/g, '');\n            css = css.replace(/\\\\[\\\"\\';:\\uFEFF]/g, encode).replace(/\\\"[^\\\"]+\\\"|\\'[^\\']+\\'/g, str => {\n              return str.replace(/[;:]/g, encode);\n            });\n            let matches;\n            while (matches = styleRegExp.exec(css)) {\n              styleRegExp.lastIndex = matches.index + matches[0].length;\n              let name = matches[1].replace(trimRightRegExp, '').toLowerCase();\n              let value = matches[2].replace(trimRightRegExp, '');\n              if (name && value) {\n                name = decodeHexSequences(name);\n                value = decodeHexSequences(value);\n                if (name.indexOf(invisibleChar) !== -1 || name.indexOf('\"') !== -1) {\n                  continue;\n                }\n                if (!settings.allow_script_urls && (name === 'behavior' || /expression\\s*\\(|\\/\\*|\\*\\//.test(value))) {\n                  continue;\n                }\n                if (name === 'font-weight' && value === '700') {\n                  value = 'bold';\n                } else if (name === 'color' || name === 'background-color') {\n                  value = value.toLowerCase();\n                }\n                if (isString(settings.force_hex_color) && settings.force_hex_color !== 'off') {\n                  fromString(value).each(rgba => {\n                    if (settings.force_hex_color === 'always' || rgba.alpha === 1) {\n                      value = rgbaToHexString(toString(rgba));\n                    }\n                  });\n                }\n                value = value.replace(urlOrStrRegExp, processUrl);\n                styles[name] = isEncoded ? decode(value, true) : value;\n              }\n            }\n            compress('border', '', true);\n            compress('border', '-width');\n            compress('border', '-color');\n            compress('border', '-style');\n            compress('padding', '');\n            compress('margin', '');\n            compress2('border', 'border-width', 'border-style', 'border-color');\n            if (styles.border === 'medium none') {\n              delete styles.border;\n            }\n            if (styles['border-image'] === 'none') {\n              delete styles['border-image'];\n            }\n          }\n          return styles;\n        },\n        serialize: (styles, elementName) => {\n          let css = '';\n          const serializeStyles = (elemName, validStyleList) => {\n            const styleList = validStyleList[elemName];\n            if (styleList) {\n              for (let i = 0, l = styleList.length; i < l; i++) {\n                const name = styleList[i];\n                const value = styles[name];\n                if (value) {\n                  css += (css.length > 0 ? ' ' : '') + name + ': ' + value + ';';\n                }\n              }\n            }\n          };\n          const isValid = (name, elemName) => {\n            if (!invalidStyles || !elemName) {\n              return true;\n            }\n            let styleMap = invalidStyles['*'];\n            if (styleMap && styleMap[name]) {\n              return false;\n            }\n            styleMap = invalidStyles[elemName];\n            return !(styleMap && styleMap[name]);\n          };\n          if (elementName && validStyles) {\n            serializeStyles('*', validStyles);\n            serializeStyles(elementName, validStyles);\n          } else {\n            each$d(styles, (value, name) => {\n              if (value && isValid(name, elementName)) {\n                css += (css.length > 0 ? ' ' : '') + name + ': ' + value + ';';\n              }\n            });\n          }\n          return css;\n        }\n      };\n      return self;\n    };\n\n    const deprecated = {\n      keyLocation: true,\n      layerX: true,\n      layerY: true,\n      returnValue: true,\n      webkitMovementX: true,\n      webkitMovementY: true,\n      keyIdentifier: true,\n      mozPressure: true\n    };\n    const isNativeEvent = event => event instanceof Event || isFunction(event.initEvent);\n    const hasIsDefaultPrevented = event => event.isDefaultPrevented === always || event.isDefaultPrevented === never;\n    const needsNormalizing = event => isNullable(event.preventDefault) || isNativeEvent(event);\n    const clone$3 = (originalEvent, data) => {\n      const event = data !== null && data !== void 0 ? data : {};\n      for (const name in originalEvent) {\n        if (!has$2(deprecated, name)) {\n          event[name] = originalEvent[name];\n        }\n      }\n      if (isNonNullable(originalEvent.composedPath)) {\n        event.composedPath = () => originalEvent.composedPath();\n      }\n      if (isNonNullable(originalEvent.getModifierState)) {\n        event.getModifierState = keyArg => originalEvent.getModifierState(keyArg);\n      }\n      if (isNonNullable(originalEvent.getTargetRanges)) {\n        event.getTargetRanges = () => originalEvent.getTargetRanges();\n      }\n      return event;\n    };\n    const normalize$3 = (type, originalEvent, fallbackTarget, data) => {\n      var _a;\n      const event = clone$3(originalEvent, data);\n      event.type = type;\n      if (isNullable(event.target)) {\n        event.target = (_a = event.srcElement) !== null && _a !== void 0 ? _a : fallbackTarget;\n      }\n      if (needsNormalizing(originalEvent)) {\n        event.preventDefault = () => {\n          event.defaultPrevented = true;\n          event.isDefaultPrevented = always;\n          if (isFunction(originalEvent.preventDefault)) {\n            originalEvent.preventDefault();\n          }\n        };\n        event.stopPropagation = () => {\n          event.cancelBubble = true;\n          event.isPropagationStopped = always;\n          if (isFunction(originalEvent.stopPropagation)) {\n            originalEvent.stopPropagation();\n          }\n        };\n        event.stopImmediatePropagation = () => {\n          event.isImmediatePropagationStopped = always;\n          event.stopPropagation();\n        };\n        if (!hasIsDefaultPrevented(event)) {\n          event.isDefaultPrevented = event.defaultPrevented === true ? always : never;\n          event.isPropagationStopped = event.cancelBubble === true ? always : never;\n          event.isImmediatePropagationStopped = never;\n        }\n      }\n      return event;\n    };\n\n    const eventExpandoPrefix = 'mce-data-';\n    const mouseEventRe = /^(?:mouse|contextmenu)|click/;\n    const addEvent = (target, name, callback, capture) => {\n      target.addEventListener(name, callback, capture || false);\n    };\n    const removeEvent = (target, name, callback, capture) => {\n      target.removeEventListener(name, callback, capture || false);\n    };\n    const isMouseEvent = event => isNonNullable(event) && mouseEventRe.test(event.type);\n    const fix = (originalEvent, data) => {\n      const event = normalize$3(originalEvent.type, originalEvent, document, data);\n      if (isMouseEvent(originalEvent) && isUndefined(originalEvent.pageX) && !isUndefined(originalEvent.clientX)) {\n        const eventDoc = event.target.ownerDocument || document;\n        const doc = eventDoc.documentElement;\n        const body = eventDoc.body;\n        const mouseEvent = event;\n        mouseEvent.pageX = originalEvent.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);\n        mouseEvent.pageY = originalEvent.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);\n      }\n      return event;\n    };\n    const bindOnReady = (win, callback, eventUtils) => {\n      const doc = win.document,\n        event = {\n          type: 'ready'\n        };\n      if (eventUtils.domLoaded) {\n        callback(event);\n        return;\n      }\n      const isDocReady = () => {\n        return doc.readyState === 'complete' || doc.readyState === 'interactive' && doc.body;\n      };\n      const readyHandler = () => {\n        removeEvent(win, 'DOMContentLoaded', readyHandler);\n        removeEvent(win, 'load', readyHandler);\n        if (!eventUtils.domLoaded) {\n          eventUtils.domLoaded = true;\n          callback(event);\n        }\n        win = null;\n      };\n      if (isDocReady()) {\n        readyHandler();\n      } else {\n        addEvent(win, 'DOMContentLoaded', readyHandler);\n      }\n      if (!eventUtils.domLoaded) {\n        addEvent(win, 'load', readyHandler);\n      }\n    };\n    class EventUtils {\n      constructor() {\n        this.domLoaded = false;\n        this.events = {};\n        this.count = 1;\n        this.expando = eventExpandoPrefix + (+new Date()).toString(32);\n        this.hasFocusIn = 'onfocusin' in document.documentElement;\n        this.count = 1;\n      }\n      bind(target, names, callback, scope) {\n        const self = this;\n        let callbackList;\n        const win = window;\n        const defaultNativeHandler = evt => {\n          self.executeHandlers(fix(evt || win.event), id);\n        };\n        if (!target || isText$a(target) || isComment(target)) {\n          return callback;\n        }\n        let id;\n        if (!target[self.expando]) {\n          id = self.count++;\n          target[self.expando] = id;\n          self.events[id] = {};\n        } else {\n          id = target[self.expando];\n        }\n        scope = scope || target;\n        const namesList = names.split(' ');\n        let i = namesList.length;\n        while (i--) {\n          let name = namesList[i];\n          let nativeHandler = defaultNativeHandler;\n          let capture = false;\n          let fakeName = false;\n          if (name === 'DOMContentLoaded') {\n            name = 'ready';\n          }\n          if (self.domLoaded && name === 'ready' && target.readyState === 'complete') {\n            callback.call(scope, fix({\n              type: name\n            }));\n            continue;\n          }\n          if (!self.hasFocusIn && (name === 'focusin' || name === 'focusout')) {\n            capture = true;\n            fakeName = name === 'focusin' ? 'focus' : 'blur';\n            nativeHandler = evt => {\n              const event = fix(evt || win.event);\n              event.type = event.type === 'focus' ? 'focusin' : 'focusout';\n              self.executeHandlers(event, id);\n            };\n          }\n          callbackList = self.events[id][name];\n          if (!callbackList) {\n            self.events[id][name] = callbackList = [{\n              func: callback,\n              scope\n            }];\n            callbackList.fakeName = fakeName;\n            callbackList.capture = capture;\n            callbackList.nativeHandler = nativeHandler;\n            if (name === 'ready') {\n              bindOnReady(target, nativeHandler, self);\n            } else {\n              addEvent(target, fakeName || name, nativeHandler, capture);\n            }\n          } else {\n            if (name === 'ready' && self.domLoaded) {\n              callback(fix({\n                type: name\n              }));\n            } else {\n              callbackList.push({\n                func: callback,\n                scope\n              });\n            }\n          }\n        }\n        target = callbackList = null;\n        return callback;\n      }\n      unbind(target, names, callback) {\n        if (!target || isText$a(target) || isComment(target)) {\n          return this;\n        }\n        const id = target[this.expando];\n        if (id) {\n          let eventMap = this.events[id];\n          if (names) {\n            const namesList = names.split(' ');\n            let i = namesList.length;\n            while (i--) {\n              const name = namesList[i];\n              const callbackList = eventMap[name];\n              if (callbackList) {\n                if (callback) {\n                  let ci = callbackList.length;\n                  while (ci--) {\n                    if (callbackList[ci].func === callback) {\n                      const nativeHandler = callbackList.nativeHandler;\n                      const fakeName = callbackList.fakeName,\n                        capture = callbackList.capture;\n                      const newCallbackList = callbackList.slice(0, ci).concat(callbackList.slice(ci + 1));\n                      newCallbackList.nativeHandler = nativeHandler;\n                      newCallbackList.fakeName = fakeName;\n                      newCallbackList.capture = capture;\n                      eventMap[name] = newCallbackList;\n                    }\n                  }\n                }\n                if (!callback || callbackList.length === 0) {\n                  delete eventMap[name];\n                  removeEvent(target, callbackList.fakeName || name, callbackList.nativeHandler, callbackList.capture);\n                }\n              }\n            }\n          } else {\n            each$d(eventMap, (callbackList, name) => {\n              removeEvent(target, callbackList.fakeName || name, callbackList.nativeHandler, callbackList.capture);\n            });\n            eventMap = {};\n          }\n          for (const name in eventMap) {\n            if (has$2(eventMap, name)) {\n              return this;\n            }\n          }\n          delete this.events[id];\n          try {\n            delete target[this.expando];\n          } catch (ex) {\n            target[this.expando] = null;\n          }\n        }\n        return this;\n      }\n      fire(target, name, args) {\n        return this.dispatch(target, name, args);\n      }\n      dispatch(target, name, args) {\n        if (!target || isText$a(target) || isComment(target)) {\n          return this;\n        }\n        const event = fix({\n          type: name,\n          target\n        }, args);\n        do {\n          const id = target[this.expando];\n          if (id) {\n            this.executeHandlers(event, id);\n          }\n          target = target.parentNode || target.ownerDocument || target.defaultView || target.parentWindow;\n        } while (target && !event.isPropagationStopped());\n        return this;\n      }\n      clean(target) {\n        if (!target || isText$a(target) || isComment(target)) {\n          return this;\n        }\n        if (target[this.expando]) {\n          this.unbind(target);\n        }\n        if (!target.getElementsByTagName) {\n          target = target.document;\n        }\n        if (target && target.getElementsByTagName) {\n          this.unbind(target);\n          const children = target.getElementsByTagName('*');\n          let i = children.length;\n          while (i--) {\n            target = children[i];\n            if (target[this.expando]) {\n              this.unbind(target);\n            }\n          }\n        }\n        return this;\n      }\n      destroy() {\n        this.events = {};\n      }\n      cancel(e) {\n        if (e) {\n          e.preventDefault();\n          e.stopImmediatePropagation();\n        }\n        return false;\n      }\n      executeHandlers(evt, id) {\n        const container = this.events[id];\n        const callbackList = container && container[evt.type];\n        if (callbackList) {\n          for (let i = 0, l = callbackList.length; i < l; i++) {\n            const callback = callbackList[i];\n            if (callback && callback.func.call(callback.scope, evt) === false) {\n              evt.preventDefault();\n            }\n            if (evt.isImmediatePropagationStopped()) {\n              return;\n            }\n          }\n        }\n      }\n    }\n    EventUtils.Event = new EventUtils();\n\n    const each$a = Tools.each;\n    const grep = Tools.grep;\n    const internalStyleName = 'data-mce-style';\n    const numericalCssMap = Tools.makeMap('fill-opacity font-weight line-height opacity orphans widows z-index zoom', ' ');\n    const legacySetAttribute = (elm, name, value) => {\n      if (isNullable(value) || value === '') {\n        remove$a(elm, name);\n      } else {\n        set$3(elm, name, value);\n      }\n    };\n    const camelCaseToHyphens = name => name.replace(/[A-Z]/g, v => '-' + v.toLowerCase());\n    const findNodeIndex = (node, normalized) => {\n      let idx = 0;\n      if (node) {\n        for (let lastNodeType = node.nodeType, tempNode = node.previousSibling; tempNode; tempNode = tempNode.previousSibling) {\n          const nodeType = tempNode.nodeType;\n          if (normalized && isText$a(tempNode)) {\n            if (nodeType === lastNodeType || !tempNode.data.length) {\n              continue;\n            }\n          }\n          idx++;\n          lastNodeType = nodeType;\n        }\n      }\n      return idx;\n    };\n    const updateInternalStyleAttr = (styles, elm) => {\n      const rawValue = get$9(elm, 'style');\n      const value = styles.serialize(styles.parse(rawValue), name(elm));\n      legacySetAttribute(elm, internalStyleName, value);\n    };\n    const convertStyleToString = (cssValue, cssName) => {\n      if (isNumber(cssValue)) {\n        return has$2(numericalCssMap, cssName) ? cssValue + '' : cssValue + 'px';\n      } else {\n        return cssValue;\n      }\n    };\n    const applyStyle$1 = ($elm, cssName, cssValue) => {\n      const normalizedName = camelCaseToHyphens(cssName);\n      if (isNullable(cssValue) || cssValue === '') {\n        remove$6($elm, normalizedName);\n      } else {\n        set$2($elm, normalizedName, convertStyleToString(cssValue, normalizedName));\n      }\n    };\n    const setupAttrHooks = (styles, settings, getContext) => {\n      const keepValues = settings.keep_values;\n      const keepUrlHook = {\n        set: (elm, value, name) => {\n          const sugarElm = SugarElement.fromDom(elm);\n          if (isFunction(settings.url_converter) && isNonNullable(value)) {\n            value = settings.url_converter.call(settings.url_converter_scope || getContext(), String(value), name, elm);\n          }\n          const internalName = 'data-mce-' + name;\n          legacySetAttribute(sugarElm, internalName, value);\n          legacySetAttribute(sugarElm, name, value);\n        },\n        get: (elm, name) => {\n          const sugarElm = SugarElement.fromDom(elm);\n          return get$9(sugarElm, 'data-mce-' + name) || get$9(sugarElm, name);\n        }\n      };\n      const attrHooks = {\n        style: {\n          set: (elm, value) => {\n            const sugarElm = SugarElement.fromDom(elm);\n            if (keepValues) {\n              legacySetAttribute(sugarElm, internalStyleName, value);\n            }\n            remove$a(sugarElm, 'style');\n            if (isString(value)) {\n              setAll(sugarElm, styles.parse(value));\n            }\n          },\n          get: elm => {\n            const sugarElm = SugarElement.fromDom(elm);\n            const value = get$9(sugarElm, internalStyleName) || get$9(sugarElm, 'style');\n            return styles.serialize(styles.parse(value), name(sugarElm));\n          }\n        }\n      };\n      if (keepValues) {\n        attrHooks.href = attrHooks.src = keepUrlHook;\n      }\n      return attrHooks;\n    };\n    const DOMUtils = (doc, settings = {}) => {\n      const addedStyles = {};\n      const win = window;\n      const files = {};\n      let counter = 0;\n      const stdMode = true;\n      const boxModel = true;\n      const styleSheetLoader = instance.forElement(SugarElement.fromDom(doc), {\n        contentCssCors: settings.contentCssCors,\n        referrerPolicy: settings.referrerPolicy\n      });\n      const boundEvents = [];\n      const schema = settings.schema ? settings.schema : Schema({});\n      const styles = Styles({\n        url_converter: settings.url_converter,\n        url_converter_scope: settings.url_converter_scope,\n        force_hex_color: settings.force_hex_color\n      }, settings.schema);\n      const events = settings.ownEvents ? new EventUtils() : EventUtils.Event;\n      const blockElementsMap = schema.getBlockElements();\n      const isBlock = node => {\n        if (isString(node)) {\n          return has$2(blockElementsMap, node);\n        } else {\n          return isElement$6(node) && (has$2(blockElementsMap, node.nodeName) || isTransparentBlock(schema, node));\n        }\n      };\n      const get = elm => elm && doc && isString(elm) ? doc.getElementById(elm) : elm;\n      const _get = elm => {\n        const value = get(elm);\n        return isNonNullable(value) ? SugarElement.fromDom(value) : null;\n      };\n      const getAttrib = (elm, name, defaultVal = '') => {\n        let value;\n        const $elm = _get(elm);\n        if (isNonNullable($elm) && isElement$7($elm)) {\n          const hook = attrHooks[name];\n          if (hook && hook.get) {\n            value = hook.get($elm.dom, name);\n          } else {\n            value = get$9($elm, name);\n          }\n        }\n        return isNonNullable(value) ? value : defaultVal;\n      };\n      const getAttribs = elm => {\n        const node = get(elm);\n        return isNullable(node) ? [] : node.attributes;\n      };\n      const setAttrib = (elm, name, value) => {\n        run(elm, e => {\n          if (isElement$6(e)) {\n            const $elm = SugarElement.fromDom(e);\n            const val = value === '' ? null : value;\n            const originalValue = get$9($elm, name);\n            const hook = attrHooks[name];\n            if (hook && hook.set) {\n              hook.set($elm.dom, val, name);\n            } else {\n              legacySetAttribute($elm, name, val);\n            }\n            if (originalValue !== val && settings.onSetAttrib) {\n              settings.onSetAttrib({\n                attrElm: $elm.dom,\n                attrName: name,\n                attrValue: val\n              });\n            }\n          }\n        });\n      };\n      const clone = (node, deep) => {\n        return node.cloneNode(deep);\n      };\n      const getRoot = () => settings.root_element || doc.body;\n      const getViewPort = argWin => {\n        const vp = getBounds(argWin);\n        return {\n          x: vp.x,\n          y: vp.y,\n          w: vp.width,\n          h: vp.height\n        };\n      };\n      const getPos$1 = (elm, rootElm) => getPos(doc.body, get(elm), rootElm);\n      const setStyle = (elm, name, value) => {\n        run(elm, e => {\n          const $elm = SugarElement.fromDom(e);\n          applyStyle$1($elm, name, value);\n          if (settings.update_styles) {\n            updateInternalStyleAttr(styles, $elm);\n          }\n        });\n      };\n      const setStyles = (elm, stylesArg) => {\n        run(elm, e => {\n          const $elm = SugarElement.fromDom(e);\n          each$d(stylesArg, (v, n) => {\n            applyStyle$1($elm, n, v);\n          });\n          if (settings.update_styles) {\n            updateInternalStyleAttr(styles, $elm);\n          }\n        });\n      };\n      const getStyle = (elm, name, computed) => {\n        const $elm = get(elm);\n        if (isNullable($elm) || !isHTMLElement($elm) && !isSVGElement($elm)) {\n          return undefined;\n        }\n        if (computed) {\n          return get$7(SugarElement.fromDom($elm), camelCaseToHyphens(name));\n        } else {\n          name = name.replace(/-(\\D)/g, (a, b) => b.toUpperCase());\n          if (name === 'float') {\n            name = 'cssFloat';\n          }\n          return $elm.style ? $elm.style[name] : undefined;\n        }\n      };\n      const getSize = elm => {\n        const $elm = get(elm);\n        if (!$elm) {\n          return {\n            w: 0,\n            h: 0\n          };\n        }\n        let w = getStyle($elm, 'width');\n        let h = getStyle($elm, 'height');\n        if (!w || w.indexOf('px') === -1) {\n          w = '0';\n        }\n        if (!h || h.indexOf('px') === -1) {\n          h = '0';\n        }\n        return {\n          w: parseInt(w, 10) || $elm.offsetWidth || $elm.clientWidth,\n          h: parseInt(h, 10) || $elm.offsetHeight || $elm.clientHeight\n        };\n      };\n      const getRect = elm => {\n        const $elm = get(elm);\n        const pos = getPos$1($elm);\n        const size = getSize($elm);\n        return {\n          x: pos.x,\n          y: pos.y,\n          w: size.w,\n          h: size.h\n        };\n      };\n      const is = (elm, selector) => {\n        if (!elm) {\n          return false;\n        }\n        const elms = isArray$1(elm) ? elm : [elm];\n        return exists(elms, e => {\n          return is$1(SugarElement.fromDom(e), selector);\n        });\n      };\n      const getParents = (elm, selector, root, collect) => {\n        const result = [];\n        let node = get(elm);\n        collect = collect === undefined;\n        const resolvedRoot = root || (getRoot().nodeName !== 'BODY' ? getRoot().parentNode : null);\n        if (isString(selector)) {\n          if (selector === '*') {\n            selector = isElement$6;\n          } else {\n            const selectorVal = selector;\n            selector = node => is(node, selectorVal);\n          }\n        }\n        while (node) {\n          if (node === resolvedRoot || isNullable(node.nodeType) || isDocument$1(node) || isDocumentFragment(node)) {\n            break;\n          }\n          if (!selector || selector(node)) {\n            if (collect) {\n              result.push(node);\n            } else {\n              return [node];\n            }\n          }\n          node = node.parentNode;\n        }\n        return collect ? result : null;\n      };\n      const getParent = (node, selector, root) => {\n        const parents = getParents(node, selector, root, false);\n        return parents && parents.length > 0 ? parents[0] : null;\n      };\n      const _findSib = (node, selector, name) => {\n        let func = selector;\n        if (node) {\n          if (isString(selector)) {\n            func = node => {\n              return is(node, selector);\n            };\n          }\n          for (let tempNode = node[name]; tempNode; tempNode = tempNode[name]) {\n            if (isFunction(func) && func(tempNode)) {\n              return tempNode;\n            }\n          }\n        }\n        return null;\n      };\n      const getNext = (node, selector) => _findSib(node, selector, 'nextSibling');\n      const getPrev = (node, selector) => _findSib(node, selector, 'previousSibling');\n      const isParentNode = node => isFunction(node.querySelectorAll);\n      const select = (selector, scope) => {\n        var _a, _b;\n        const elm = (_b = (_a = get(scope)) !== null && _a !== void 0 ? _a : settings.root_element) !== null && _b !== void 0 ? _b : doc;\n        return isParentNode(elm) ? from(elm.querySelectorAll(selector)) : [];\n      };\n      const run = function (elm, func, scope) {\n        const context = scope !== null && scope !== void 0 ? scope : this;\n        if (isArray$1(elm)) {\n          const result = [];\n          each$a(elm, (e, i) => {\n            const node = get(e);\n            if (node) {\n              result.push(func.call(context, node, i));\n            }\n          });\n          return result;\n        } else {\n          const node = get(elm);\n          return !node ? false : func.call(context, node);\n        }\n      };\n      const setAttribs = (elm, attrs) => {\n        run(elm, $elm => {\n          each$d(attrs, (value, name) => {\n            setAttrib($elm, name, value);\n          });\n        });\n      };\n      const setHTML = (elm, html) => {\n        run(elm, e => {\n          const $elm = SugarElement.fromDom(e);\n          set$1($elm, html);\n        });\n      };\n      const add = (parentElm, name, attrs, html, create) => run(parentElm, parentElm => {\n        const newElm = isString(name) ? doc.createElement(name) : name;\n        if (isNonNullable(attrs)) {\n          setAttribs(newElm, attrs);\n        }\n        if (html) {\n          if (!isString(html) && html.nodeType) {\n            newElm.appendChild(html);\n          } else if (isString(html)) {\n            setHTML(newElm, html);\n          }\n        }\n        return !create ? parentElm.appendChild(newElm) : newElm;\n      });\n      const create = (name, attrs, html) => add(doc.createElement(name), name, attrs, html, true);\n      const decode = Entities.decode;\n      const encode = Entities.encodeAllRaw;\n      const createHTML = (name, attrs, html = '') => {\n        let outHtml = '<' + name;\n        for (const key in attrs) {\n          if (hasNonNullableKey(attrs, key)) {\n            outHtml += ' ' + key + '=\"' + encode(attrs[key]) + '\"';\n          }\n        }\n        if (isEmpty$3(html) && has$2(schema.getVoidElements(), name)) {\n          return outHtml + ' />';\n        } else {\n          return outHtml + '>' + html + '</' + name + '>';\n        }\n      };\n      const createFragment = html => {\n        const container = doc.createElement('div');\n        const frag = doc.createDocumentFragment();\n        frag.appendChild(container);\n        if (html) {\n          container.innerHTML = html;\n        }\n        let node;\n        while (node = container.firstChild) {\n          frag.appendChild(node);\n        }\n        frag.removeChild(container);\n        return frag;\n      };\n      const remove = (node, keepChildren) => {\n        return run(node, n => {\n          const $node = SugarElement.fromDom(n);\n          if (keepChildren) {\n            each$e(children$1($node), child => {\n              if (isText$b(child) && child.dom.length === 0) {\n                remove$5(child);\n              } else {\n                before$3($node, child);\n              }\n            });\n          }\n          remove$5($node);\n          return $node.dom;\n        });\n      };\n      const removeAllAttribs = e => run(e, e => {\n        const attrs = e.attributes;\n        for (let i = attrs.length - 1; i >= 0; i--) {\n          e.removeAttributeNode(attrs.item(i));\n        }\n      });\n      const parseStyle = cssText => styles.parse(cssText);\n      const serializeStyle = (stylesArg, name) => styles.serialize(stylesArg, name);\n      const addStyle = cssText => {\n        if (self !== DOMUtils.DOM && doc === document) {\n          if (addedStyles[cssText]) {\n            return;\n          }\n          addedStyles[cssText] = true;\n        }\n        let styleElm = doc.getElementById('mceDefaultStyles');\n        if (!styleElm) {\n          styleElm = doc.createElement('style');\n          styleElm.id = 'mceDefaultStyles';\n          styleElm.type = 'text/css';\n          const head = doc.head;\n          if (head.firstChild) {\n            head.insertBefore(styleElm, head.firstChild);\n          } else {\n            head.appendChild(styleElm);\n          }\n        }\n        if (styleElm.styleSheet) {\n          styleElm.styleSheet.cssText += cssText;\n        } else {\n          styleElm.appendChild(doc.createTextNode(cssText));\n        }\n      };\n      const loadCSS = urls => {\n        if (!urls) {\n          urls = '';\n        }\n        each$e(urls.split(','), url => {\n          files[url] = true;\n          styleSheetLoader.load(url).catch(noop);\n        });\n      };\n      const toggleClass = (elm, cls, state) => {\n        run(elm, e => {\n          if (isElement$6(e)) {\n            const $elm = SugarElement.fromDom(e);\n            const classes = cls.split(' ');\n            each$e(classes, c => {\n              if (isNonNullable(state)) {\n                const fn = state ? add$2 : remove$7;\n                fn($elm, c);\n              } else {\n                toggle$1($elm, c);\n              }\n            });\n          }\n        });\n      };\n      const addClass = (elm, cls) => {\n        toggleClass(elm, cls, true);\n      };\n      const removeClass = (elm, cls) => {\n        toggleClass(elm, cls, false);\n      };\n      const hasClass = (elm, cls) => {\n        const $elm = _get(elm);\n        const classes = cls.split(' ');\n        return isNonNullable($elm) && forall(classes, c => has($elm, c));\n      };\n      const show = elm => {\n        run(elm, e => remove$6(SugarElement.fromDom(e), 'display'));\n      };\n      const hide = elm => {\n        run(elm, e => set$2(SugarElement.fromDom(e), 'display', 'none'));\n      };\n      const isHidden = elm => {\n        const $elm = _get(elm);\n        return isNonNullable($elm) && is$2(getRaw($elm, 'display'), 'none');\n      };\n      const uniqueId = prefix => (!prefix ? 'mce_' : prefix) + counter++;\n      const getOuterHTML = elm => {\n        const $elm = _get(elm);\n        if (isNonNullable($elm)) {\n          return isElement$6($elm.dom) ? $elm.dom.outerHTML : getOuter($elm);\n        } else {\n          return '';\n        }\n      };\n      const setOuterHTML = (elm, html) => {\n        run(elm, $elm => {\n          if (isElement$6($elm)) {\n            $elm.outerHTML = html;\n          }\n        });\n      };\n      const insertAfter = (node, reference) => {\n        const referenceNode = get(reference);\n        return run(node, node => {\n          const parent = referenceNode === null || referenceNode === void 0 ? void 0 : referenceNode.parentNode;\n          const nextSibling = referenceNode === null || referenceNode === void 0 ? void 0 : referenceNode.nextSibling;\n          if (parent) {\n            if (nextSibling) {\n              parent.insertBefore(node, nextSibling);\n            } else {\n              parent.appendChild(node);\n            }\n          }\n          return node;\n        });\n      };\n      const replace = (newElm, oldElm, keepChildren) => run(oldElm, elm => {\n        var _a;\n        const replacee = isArray$1(oldElm) ? newElm.cloneNode(true) : newElm;\n        if (keepChildren) {\n          each$a(grep(elm.childNodes), node => {\n            replacee.appendChild(node);\n          });\n        }\n        (_a = elm.parentNode) === null || _a === void 0 ? void 0 : _a.replaceChild(replacee, elm);\n        return elm;\n      });\n      const rename = (elm, name) => {\n        if (elm.nodeName !== name.toUpperCase()) {\n          const newElm = create(name);\n          each$a(getAttribs(elm), attrNode => {\n            setAttrib(newElm, attrNode.nodeName, getAttrib(elm, attrNode.nodeName));\n          });\n          replace(newElm, elm, true);\n          return newElm;\n        } else {\n          return elm;\n        }\n      };\n      const findCommonAncestor = (a, b) => {\n        let ps = a;\n        while (ps) {\n          let pe = b;\n          while (pe && ps !== pe) {\n            pe = pe.parentNode;\n          }\n          if (ps === pe) {\n            break;\n          }\n          ps = ps.parentNode;\n        }\n        if (!ps && a.ownerDocument) {\n          return a.ownerDocument.documentElement;\n        } else {\n          return ps;\n        }\n      };\n      const isNonEmptyElement = node => {\n        if (isElement$6(node)) {\n          const isNamedAnchor = node.nodeName.toLowerCase() === 'a' && !getAttrib(node, 'href') && getAttrib(node, 'id');\n          if (getAttrib(node, 'name') || getAttrib(node, 'data-mce-bookmark') || isNamedAnchor) {\n            return true;\n          }\n        }\n        return false;\n      };\n      const isEmpty = (node, elements, options) => {\n        let brCount = 0;\n        if (isNonEmptyElement(node)) {\n          return false;\n        }\n        const firstChild = node.firstChild;\n        if (firstChild) {\n          const walker = new DomTreeWalker(firstChild, node);\n          const whitespaceElements = schema ? schema.getWhitespaceElements() : {};\n          const nonEmptyElements = elements || (schema ? schema.getNonEmptyElements() : null);\n          let tempNode = firstChild;\n          do {\n            if (isElement$6(tempNode)) {\n              const bogusVal = tempNode.getAttribute('data-mce-bogus');\n              if (bogusVal) {\n                tempNode = walker.next(bogusVal === 'all');\n                continue;\n              }\n              const name = tempNode.nodeName.toLowerCase();\n              if (nonEmptyElements && nonEmptyElements[name]) {\n                if (name === 'br') {\n                  brCount++;\n                  tempNode = walker.next();\n                  continue;\n                }\n                return false;\n              }\n              if (isNonEmptyElement(tempNode)) {\n                return false;\n              }\n            }\n            if (isComment(tempNode)) {\n              return false;\n            }\n            if (isText$a(tempNode) && !isWhitespaceText(tempNode.data) && (!(options === null || options === void 0 ? void 0 : options.includeZwsp) || !isZwsp(tempNode.data))) {\n              return false;\n            }\n            if (isText$a(tempNode) && tempNode.parentNode && whitespaceElements[tempNode.parentNode.nodeName] && isWhitespaceText(tempNode.data)) {\n              return false;\n            }\n            tempNode = walker.next();\n          } while (tempNode);\n        }\n        return brCount <= 1;\n      };\n      const createRng = () => doc.createRange();\n      const split = (parentElm, splitElm, replacementElm) => {\n        let range = createRng();\n        let beforeFragment;\n        let afterFragment;\n        if (parentElm && splitElm && parentElm.parentNode && splitElm.parentNode) {\n          const parentNode = parentElm.parentNode;\n          range.setStart(parentNode, findNodeIndex(parentElm));\n          range.setEnd(splitElm.parentNode, findNodeIndex(splitElm));\n          beforeFragment = range.extractContents();\n          range = createRng();\n          range.setStart(splitElm.parentNode, findNodeIndex(splitElm) + 1);\n          range.setEnd(parentNode, findNodeIndex(parentElm) + 1);\n          afterFragment = range.extractContents();\n          parentNode.insertBefore(trimNode(self, beforeFragment, schema), parentElm);\n          if (replacementElm) {\n            parentNode.insertBefore(replacementElm, parentElm);\n          } else {\n            parentNode.insertBefore(splitElm, parentElm);\n          }\n          parentNode.insertBefore(trimNode(self, afterFragment, schema), parentElm);\n          remove(parentElm);\n          return replacementElm || splitElm;\n        } else {\n          return undefined;\n        }\n      };\n      const bind = (target, name, func, scope) => {\n        if (isArray$1(target)) {\n          let i = target.length;\n          const rv = [];\n          while (i--) {\n            rv[i] = bind(target[i], name, func, scope);\n          }\n          return rv;\n        } else {\n          if (settings.collect && (target === doc || target === win)) {\n            boundEvents.push([target, name, func, scope]);\n          }\n          return events.bind(target, name, func, scope || self);\n        }\n      };\n      const unbind = (target, name, func) => {\n        if (isArray$1(target)) {\n          let i = target.length;\n          const rv = [];\n          while (i--) {\n            rv[i] = unbind(target[i], name, func);\n          }\n          return rv;\n        } else {\n          if (boundEvents.length > 0 && (target === doc || target === win)) {\n            let i = boundEvents.length;\n            while (i--) {\n              const [boundTarget, boundName, boundFunc] = boundEvents[i];\n              if (target === boundTarget && (!name || name === boundName) && (!func || func === boundFunc)) {\n                events.unbind(boundTarget, boundName, boundFunc);\n              }\n            }\n          }\n          return events.unbind(target, name, func);\n        }\n      };\n      const dispatch = (target, name, evt) => events.dispatch(target, name, evt);\n      const fire = (target, name, evt) => events.dispatch(target, name, evt);\n      const getContentEditable = node => {\n        if (node && isHTMLElement(node)) {\n          const contentEditable = node.getAttribute('data-mce-contenteditable');\n          if (contentEditable && contentEditable !== 'inherit') {\n            return contentEditable;\n          }\n          return node.contentEditable !== 'inherit' ? node.contentEditable : null;\n        } else {\n          return null;\n        }\n      };\n      const getContentEditableParent = node => {\n        const root = getRoot();\n        let state = null;\n        for (let tempNode = node; tempNode && tempNode !== root; tempNode = tempNode.parentNode) {\n          state = getContentEditable(tempNode);\n          if (state !== null) {\n            break;\n          }\n        }\n        return state;\n      };\n      const isEditable = node => {\n        if (isNonNullable(node)) {\n          const scope = isElement$6(node) ? node : node.parentElement;\n          return isNonNullable(scope) && isHTMLElement(scope) && isEditable$2(SugarElement.fromDom(scope));\n        } else {\n          return false;\n        }\n      };\n      const destroy = () => {\n        if (boundEvents.length > 0) {\n          let i = boundEvents.length;\n          while (i--) {\n            const [boundTarget, boundName, boundFunc] = boundEvents[i];\n            events.unbind(boundTarget, boundName, boundFunc);\n          }\n        }\n        each$d(files, (_, url) => {\n          styleSheetLoader.unload(url);\n          delete files[url];\n        });\n      };\n      const isChildOf = (node, parent) => {\n        return node === parent || parent.contains(node);\n      };\n      const dumpRng = r => 'startContainer: ' + r.startContainer.nodeName + ', startOffset: ' + r.startOffset + ', endContainer: ' + r.endContainer.nodeName + ', endOffset: ' + r.endOffset;\n      const self = {\n        doc,\n        settings,\n        win,\n        files,\n        stdMode,\n        boxModel,\n        styleSheetLoader,\n        boundEvents,\n        styles,\n        schema,\n        events,\n        isBlock: isBlock,\n        root: null,\n        clone,\n        getRoot,\n        getViewPort,\n        getRect,\n        getSize,\n        getParent,\n        getParents: getParents,\n        get,\n        getNext,\n        getPrev,\n        select,\n        is,\n        add,\n        create,\n        createHTML,\n        createFragment,\n        remove,\n        setStyle,\n        getStyle: getStyle,\n        setStyles,\n        removeAllAttribs,\n        setAttrib,\n        setAttribs,\n        getAttrib,\n        getPos: getPos$1,\n        parseStyle,\n        serializeStyle,\n        addStyle,\n        loadCSS,\n        addClass,\n        removeClass,\n        hasClass,\n        toggleClass,\n        show,\n        hide,\n        isHidden,\n        uniqueId,\n        setHTML,\n        getOuterHTML,\n        setOuterHTML,\n        decode,\n        encode,\n        insertAfter,\n        replace,\n        rename,\n        findCommonAncestor,\n        run,\n        getAttribs,\n        isEmpty,\n        createRng,\n        nodeIndex: findNodeIndex,\n        split,\n        bind: bind,\n        unbind: unbind,\n        fire,\n        dispatch,\n        getContentEditable,\n        getContentEditableParent,\n        isEditable,\n        destroy,\n        isChildOf,\n        dumpRng\n      };\n      const attrHooks = setupAttrHooks(styles, settings, constant(self));\n      return self;\n    };\n    DOMUtils.DOM = DOMUtils(document);\n    DOMUtils.nodeIndex = findNodeIndex;\n\n    const DOM$b = DOMUtils.DOM;\n    const QUEUED = 0;\n    const LOADING = 1;\n    const LOADED = 2;\n    const FAILED = 3;\n    class ScriptLoader {\n      constructor(settings = {}) {\n        this.states = {};\n        this.queue = [];\n        this.scriptLoadedCallbacks = {};\n        this.queueLoadedCallbacks = [];\n        this.loading = false;\n        this.settings = settings;\n      }\n      _setReferrerPolicy(referrerPolicy) {\n        this.settings.referrerPolicy = referrerPolicy;\n      }\n      loadScript(url) {\n        return new Promise((resolve, reject) => {\n          const dom = DOM$b;\n          let elm;\n          const cleanup = () => {\n            dom.remove(id);\n            if (elm) {\n              elm.onerror = elm.onload = elm = null;\n            }\n          };\n          const done = () => {\n            cleanup();\n            resolve();\n          };\n          const error = () => {\n            cleanup();\n            reject('Failed to load script: ' + url);\n          };\n          const id = dom.uniqueId();\n          elm = document.createElement('script');\n          elm.id = id;\n          elm.type = 'text/javascript';\n          elm.src = Tools._addCacheSuffix(url);\n          if (this.settings.referrerPolicy) {\n            dom.setAttrib(elm, 'referrerpolicy', this.settings.referrerPolicy);\n          }\n          elm.onload = done;\n          elm.onerror = error;\n          (document.getElementsByTagName('head')[0] || document.body).appendChild(elm);\n        });\n      }\n      isDone(url) {\n        return this.states[url] === LOADED;\n      }\n      markDone(url) {\n        this.states[url] = LOADED;\n      }\n      add(url) {\n        const self = this;\n        self.queue.push(url);\n        const state = self.states[url];\n        if (state === undefined) {\n          self.states[url] = QUEUED;\n        }\n        return new Promise((resolve, reject) => {\n          if (!self.scriptLoadedCallbacks[url]) {\n            self.scriptLoadedCallbacks[url] = [];\n          }\n          self.scriptLoadedCallbacks[url].push({\n            resolve,\n            reject\n          });\n        });\n      }\n      load(url) {\n        return this.add(url);\n      }\n      remove(url) {\n        delete this.states[url];\n        delete this.scriptLoadedCallbacks[url];\n      }\n      loadQueue() {\n        const queue = this.queue;\n        this.queue = [];\n        return this.loadScripts(queue);\n      }\n      loadScripts(scripts) {\n        const self = this;\n        const execCallbacks = (name, url) => {\n          get$a(self.scriptLoadedCallbacks, url).each(callbacks => {\n            each$e(callbacks, callback => callback[name](url));\n          });\n          delete self.scriptLoadedCallbacks[url];\n        };\n        const processResults = results => {\n          const failures = filter$5(results, result => result.status === 'rejected');\n          if (failures.length > 0) {\n            return Promise.reject(bind$3(failures, ({\n              reason\n            }) => isArray$1(reason) ? reason : [reason]));\n          } else {\n            return Promise.resolve();\n          }\n        };\n        const load = urls => Promise.allSettled(map$3(urls, url => {\n          if (self.states[url] === LOADED) {\n            execCallbacks('resolve', url);\n            return Promise.resolve();\n          } else if (self.states[url] === FAILED) {\n            execCallbacks('reject', url);\n            return Promise.reject(url);\n          } else {\n            self.states[url] = LOADING;\n            return self.loadScript(url).then(() => {\n              self.states[url] = LOADED;\n              execCallbacks('resolve', url);\n              const queue = self.queue;\n              if (queue.length > 0) {\n                self.queue = [];\n                return load(queue).then(processResults);\n              } else {\n                return Promise.resolve();\n              }\n            }, () => {\n              self.states[url] = FAILED;\n              execCallbacks('reject', url);\n              return Promise.reject(url);\n            });\n          }\n        }));\n        const processQueue = urls => {\n          self.loading = true;\n          return load(urls).then(results => {\n            self.loading = false;\n            const nextQueuedItem = self.queueLoadedCallbacks.shift();\n            Optional.from(nextQueuedItem).each(call);\n            return processResults(results);\n          });\n        };\n        const uniqueScripts = stringArray(scripts);\n        if (self.loading) {\n          return new Promise((resolve, reject) => {\n            self.queueLoadedCallbacks.push(() => {\n              processQueue(uniqueScripts).then(resolve, reject);\n            });\n          });\n        } else {\n          return processQueue(uniqueScripts);\n        }\n      }\n    }\n    ScriptLoader.ScriptLoader = new ScriptLoader();\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    const isDuplicated = (items, item) => {\n      const firstIndex = items.indexOf(item);\n      return firstIndex !== -1 && items.indexOf(item, firstIndex + 1) > firstIndex;\n    };\n    const isRaw = str => isObject(str) && has$2(str, 'raw');\n    const isTokenised = str => isArray$1(str) && str.length > 1;\n    const data = {};\n    const currentCode = Cell('en');\n    const getLanguageData = () => get$a(data, currentCode.get());\n    const getData$1 = () => map$2(data, value => ({\n      ...value\n    }));\n    const setCode = newCode => {\n      if (newCode) {\n        currentCode.set(newCode);\n      }\n    };\n    const getCode = () => currentCode.get();\n    const add$1 = (code, items) => {\n      let langData = data[code];\n      if (!langData) {\n        data[code] = langData = {};\n      }\n      const lcNames = map$3(keys(items), name => name.toLowerCase());\n      each$d(items, (translation, name) => {\n        const lcName = name.toLowerCase();\n        if (lcName !== name && isDuplicated(lcNames, lcName)) {\n          if (!has$2(items, lcName)) {\n            langData[lcName] = translation;\n          }\n          langData[name] = translation;\n        } else {\n          langData[lcName] = translation;\n        }\n      });\n    };\n    const translate = text => {\n      const langData = getLanguageData().getOr({});\n      const toString = obj => {\n        if (isFunction(obj)) {\n          return Object.prototype.toString.call(obj);\n        }\n        return !isEmpty(obj) ? '' + obj : '';\n      };\n      const isEmpty = text => text === '' || text === null || text === undefined;\n      const getLangData = text => {\n        const textStr = toString(text);\n        return has$2(langData, textStr) ? toString(langData[textStr]) : get$a(langData, textStr.toLowerCase()).map(toString).getOr(textStr);\n      };\n      const removeContext = str => str.replace(/{context:\\w+}$/, '');\n      if (isEmpty(text)) {\n        return '';\n      }\n      if (isRaw(text)) {\n        return toString(text.raw);\n      }\n      if (isTokenised(text)) {\n        const values = text.slice(1);\n        const substitued = getLangData(text[0]).replace(/\\{([0-9]+)\\}/g, ($1, $2) => has$2(values, $2) ? toString(values[$2]) : $1);\n        return removeContext(substitued);\n      }\n      return removeContext(getLangData(text));\n    };\n    const isRtl$1 = () => getLanguageData().bind(items => get$a(items, '_dir')).exists(dir => dir === 'rtl');\n    const hasCode = code => has$2(data, code);\n    const I18n = {\n      getData: getData$1,\n      setCode,\n      getCode,\n      add: add$1,\n      translate,\n      isRtl: isRtl$1,\n      hasCode\n    };\n\n    const AddOnManager = () => {\n      const items = [];\n      const urls = {};\n      const lookup = {};\n      const _listeners = [];\n      const runListeners = (name, state) => {\n        const matchedListeners = filter$5(_listeners, listener => listener.name === name && listener.state === state);\n        each$e(matchedListeners, listener => listener.resolve());\n      };\n      const isLoaded = name => has$2(urls, name);\n      const isAdded = name => has$2(lookup, name);\n      const get = name => {\n        if (lookup[name]) {\n          return lookup[name].instance;\n        }\n        return undefined;\n      };\n      const loadLanguagePack = (name, languages) => {\n        const language = I18n.getCode();\n        const wrappedLanguages = ',' + (languages || '') + ',';\n        if (!language || languages && wrappedLanguages.indexOf(',' + language + ',') === -1) {\n          return;\n        }\n        ScriptLoader.ScriptLoader.add(urls[name] + '/langs/' + language + '.js');\n      };\n      const requireLangPack = (name, languages) => {\n        if (AddOnManager.languageLoad !== false) {\n          if (isLoaded(name)) {\n            loadLanguagePack(name, languages);\n          } else {\n            waitFor(name, 'loaded').then(() => loadLanguagePack(name, languages));\n          }\n        }\n      };\n      const add = (id, addOn) => {\n        items.push(addOn);\n        lookup[id] = {\n          instance: addOn\n        };\n        runListeners(id, 'added');\n        return addOn;\n      };\n      const remove = name => {\n        delete urls[name];\n        delete lookup[name];\n      };\n      const createUrl = (baseUrl, dep) => {\n        if (isString(dep)) {\n          return isString(baseUrl) ? {\n            prefix: '',\n            resource: dep,\n            suffix: ''\n          } : {\n            prefix: baseUrl.prefix,\n            resource: dep,\n            suffix: baseUrl.suffix\n          };\n        } else {\n          return dep;\n        }\n      };\n      const load = (name, addOnUrl) => {\n        if (urls[name]) {\n          return Promise.resolve();\n        }\n        let urlString = isString(addOnUrl) ? addOnUrl : addOnUrl.prefix + addOnUrl.resource + addOnUrl.suffix;\n        if (urlString.indexOf('/') !== 0 && urlString.indexOf('://') === -1) {\n          urlString = AddOnManager.baseURL + '/' + urlString;\n        }\n        urls[name] = urlString.substring(0, urlString.lastIndexOf('/'));\n        const done = () => {\n          runListeners(name, 'loaded');\n          return Promise.resolve();\n        };\n        if (lookup[name]) {\n          return done();\n        } else {\n          return ScriptLoader.ScriptLoader.add(urlString).then(done);\n        }\n      };\n      const waitFor = (name, state = 'added') => {\n        if (state === 'added' && isAdded(name)) {\n          return Promise.resolve();\n        } else if (state === 'loaded' && isLoaded(name)) {\n          return Promise.resolve();\n        } else {\n          return new Promise(resolve => {\n            _listeners.push({\n              name,\n              state,\n              resolve\n            });\n          });\n        }\n      };\n      return {\n        items,\n        urls,\n        lookup,\n        get,\n        requireLangPack,\n        add,\n        remove,\n        createUrl,\n        load,\n        waitFor\n      };\n    };\n    AddOnManager.languageLoad = true;\n    AddOnManager.baseURL = '';\n    AddOnManager.PluginManager = AddOnManager();\n    AddOnManager.ThemeManager = AddOnManager();\n    AddOnManager.ModelManager = AddOnManager();\n\n    const singleton = doRevoke => {\n      const subject = Cell(Optional.none());\n      const revoke = () => subject.get().each(doRevoke);\n      const clear = () => {\n        revoke();\n        subject.set(Optional.none());\n      };\n      const isSet = () => subject.get().isSome();\n      const get = () => subject.get();\n      const set = s => {\n        revoke();\n        subject.set(Optional.some(s));\n      };\n      return {\n        clear,\n        isSet,\n        get,\n        set\n      };\n    };\n    const repeatable = delay => {\n      const intervalId = Cell(Optional.none());\n      const revoke = () => intervalId.get().each(id => clearInterval(id));\n      const clear = () => {\n        revoke();\n        intervalId.set(Optional.none());\n      };\n      const isSet = () => intervalId.get().isSome();\n      const get = () => intervalId.get();\n      const set = functionToRepeat => {\n        revoke();\n        intervalId.set(Optional.some(setInterval(functionToRepeat, delay)));\n      };\n      return {\n        clear,\n        isSet,\n        get,\n        set\n      };\n    };\n    const value$2 = () => {\n      const subject = singleton(noop);\n      const on = f => subject.get().each(f);\n      return {\n        ...subject,\n        on\n      };\n    };\n\n    const first$1 = (fn, rate) => {\n      let timer = null;\n      const cancel = () => {\n        if (!isNull(timer)) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      const throttle = (...args) => {\n        if (isNull(timer)) {\n          timer = setTimeout(() => {\n            timer = null;\n            fn.apply(null, args);\n          }, rate);\n        }\n      };\n      return {\n        cancel,\n        throttle\n      };\n    };\n    const last$1 = (fn, rate) => {\n      let timer = null;\n      const cancel = () => {\n        if (!isNull(timer)) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      const throttle = (...args) => {\n        cancel();\n        timer = setTimeout(() => {\n          timer = null;\n          fn.apply(null, args);\n        }, rate);\n      };\n      return {\n        cancel,\n        throttle\n      };\n    };\n\n    const annotation = constant('mce-annotation');\n    const dataAnnotation = constant('data-mce-annotation');\n    const dataAnnotationId = constant('data-mce-annotation-uid');\n    const dataAnnotationActive = constant('data-mce-annotation-active');\n    const dataAnnotationClasses = constant('data-mce-annotation-classes');\n    const dataAnnotationAttributes = constant('data-mce-annotation-attrs');\n\n    const isRoot$1 = root => node => eq(node, root);\n    const identify = (editor, annotationName) => {\n      const rng = editor.selection.getRng();\n      const start = SugarElement.fromDom(rng.startContainer);\n      const root = SugarElement.fromDom(editor.getBody());\n      const selector = annotationName.fold(() => '.' + annotation(), an => \"[\".concat(dataAnnotation(), \"=\\\"\").concat(an, \"\\\"]\"));\n      const newStart = child$1(start, rng.startOffset).getOr(start);\n      const closest = closest$3(newStart, selector, isRoot$1(root));\n      return closest.bind(c => getOpt(c, \"\".concat(dataAnnotationId())).bind(uid => getOpt(c, \"\".concat(dataAnnotation())).map(name => {\n        const elements = findMarkers(editor, uid);\n        return {\n          uid,\n          name,\n          elements\n        };\n      })));\n    };\n    const isAnnotation = elem => isElement$7(elem) && has(elem, annotation());\n    const isBogusElement = (elem, root) => has$1(elem, 'data-mce-bogus') || ancestor$2(elem, '[data-mce-bogus=\"all\"]', isRoot$1(root));\n    const findMarkers = (editor, uid) => {\n      const body = SugarElement.fromDom(editor.getBody());\n      const descendants$1 = descendants(body, \"[\".concat(dataAnnotationId(), \"=\\\"\").concat(uid, \"\\\"]\"));\n      return filter$5(descendants$1, descendant => !isBogusElement(descendant, body));\n    };\n    const findAll = (editor, name) => {\n      const body = SugarElement.fromDom(editor.getBody());\n      const markers = descendants(body, \"[\".concat(dataAnnotation(), \"=\\\"\").concat(name, \"\\\"]\"));\n      const directory = {};\n      each$e(markers, m => {\n        if (!isBogusElement(m, body)) {\n          const uid = get$9(m, dataAnnotationId());\n          const nodesAlready = get$a(directory, uid).getOr([]);\n          directory[uid] = nodesAlready.concat([m]);\n        }\n      });\n      return directory;\n    };\n\n    const setup$y = (editor, registry) => {\n      const changeCallbacks = Cell({});\n      const initData = () => ({\n        listeners: [],\n        previous: value$2()\n      });\n      const withCallbacks = (name, f) => {\n        updateCallbacks(name, data => {\n          f(data);\n          return data;\n        });\n      };\n      const updateCallbacks = (name, f) => {\n        const callbackMap = changeCallbacks.get();\n        const data = get$a(callbackMap, name).getOrThunk(initData);\n        const outputData = f(data);\n        callbackMap[name] = outputData;\n        changeCallbacks.set(callbackMap);\n      };\n      const fireCallbacks = (name, uid, elements) => {\n        withCallbacks(name, data => {\n          each$e(data.listeners, f => f(true, name, {\n            uid,\n            nodes: map$3(elements, elem => elem.dom)\n          }));\n        });\n      };\n      const fireNoAnnotation = name => {\n        withCallbacks(name, data => {\n          each$e(data.listeners, f => f(false, name));\n        });\n      };\n      const toggleActiveAttr = (uid, state) => {\n        each$e(findMarkers(editor, uid), elem => {\n          if (state) {\n            set$3(elem, dataAnnotationActive(), 'true');\n          } else {\n            remove$a(elem, dataAnnotationActive());\n          }\n        });\n      };\n      const onNodeChange = last$1(() => {\n        const annotations = sort(registry.getNames());\n        each$e(annotations, name => {\n          updateCallbacks(name, data => {\n            const prev = data.previous.get();\n            identify(editor, Optional.some(name)).fold(() => {\n              prev.each(uid => {\n                fireNoAnnotation(name);\n                data.previous.clear();\n                toggleActiveAttr(uid, false);\n              });\n            }, ({\n              uid,\n              name,\n              elements\n            }) => {\n              if (!is$2(prev, uid)) {\n                prev.each(uid => toggleActiveAttr(uid, false));\n                fireCallbacks(name, uid, elements);\n                data.previous.set(uid);\n                toggleActiveAttr(uid, true);\n              }\n            });\n            return {\n              previous: data.previous,\n              listeners: data.listeners\n            };\n          });\n        });\n      }, 30);\n      editor.on('remove', () => {\n        onNodeChange.cancel();\n      });\n      editor.on('NodeChange', () => {\n        onNodeChange.throttle();\n      });\n      const addListener = (name, f) => {\n        updateCallbacks(name, data => ({\n          previous: data.previous,\n          listeners: data.listeners.concat([f])\n        }));\n      };\n      return {\n        addListener\n      };\n    };\n\n    const setup$x = (editor, registry) => {\n      const dataAnnotation$1 = dataAnnotation();\n      const identifyParserNode = node => Optional.from(node.attr(dataAnnotation$1)).bind(registry.lookup);\n      const removeDirectAnnotation = node => {\n        var _a, _b;\n        node.attr(dataAnnotationId(), null);\n        node.attr(dataAnnotation(), null);\n        node.attr(dataAnnotationActive(), null);\n        const customAttrNames = Optional.from(node.attr(dataAnnotationAttributes())).map(names => names.split(',')).getOr([]);\n        const customClasses = Optional.from(node.attr(dataAnnotationClasses())).map(names => names.split(',')).getOr([]);\n        each$e(customAttrNames, name => node.attr(name, null));\n        const classList = (_b = (_a = node.attr('class')) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];\n        const newClassList = difference(classList, [annotation()].concat(customClasses));\n        node.attr('class', newClassList.length > 0 ? newClassList.join(' ') : null);\n        node.attr(dataAnnotationClasses(), null);\n        node.attr(dataAnnotationAttributes(), null);\n      };\n      editor.serializer.addTempAttr(dataAnnotationActive());\n      editor.serializer.addAttributeFilter(dataAnnotation$1, nodes => {\n        for (const node of nodes) {\n          identifyParserNode(node).each(settings => {\n            if (settings.persistent === false) {\n              if (node.name === 'span') {\n                node.unwrap();\n              } else {\n                removeDirectAnnotation(node);\n              }\n            }\n          });\n        }\n      });\n    };\n\n    const create$c = () => {\n      const annotations = {};\n      const register = (name, settings) => {\n        annotations[name] = {\n          name,\n          settings\n        };\n      };\n      const lookup = name => get$a(annotations, name).map(a => a.settings);\n      const getNames = () => keys(annotations);\n      return {\n        register,\n        lookup,\n        getNames\n      };\n    };\n\n    let unique = 0;\n    const generate$1 = prefix => {\n      const date = new Date();\n      const time = date.getTime();\n      const random = Math.floor(Math.random() * 1000000000);\n      unique++;\n      return prefix + '_' + random + unique + String(time);\n    };\n\n    const add = (element, classes) => {\n      each$e(classes, x => {\n        add$2(element, x);\n      });\n    };\n    const remove$4 = (element, classes) => {\n      each$e(classes, x => {\n        remove$7(element, x);\n      });\n    };\n\n    const clone$2 = (original, isDeep) => SugarElement.fromDom(original.dom.cloneNode(isDeep));\n    const shallow$1 = original => clone$2(original, false);\n    const deep$1 = original => clone$2(original, true);\n    const shallowAs = (original, tag) => {\n      const nu = SugarElement.fromTag(tag);\n      const attributes = clone$4(original);\n      setAll$1(nu, attributes);\n      return nu;\n    };\n    const mutate = (original, tag) => {\n      const nu = shallowAs(original, tag);\n      after$4(original, nu);\n      const children = children$1(original);\n      append(nu, children);\n      remove$5(original);\n      return nu;\n    };\n\n    const TextWalker = (startNode, rootNode, isBoundary = never) => {\n      const walker = new DomTreeWalker(startNode, rootNode);\n      const walk = direction => {\n        let next;\n        do {\n          next = walker[direction]();\n        } while (next && !isText$a(next) && !isBoundary(next));\n        return Optional.from(next).filter(isText$a);\n      };\n      return {\n        current: () => Optional.from(walker.current()).filter(isText$a),\n        next: () => walk('next'),\n        prev: () => walk('prev'),\n        prev2: () => walk('prev2')\n      };\n    };\n\n    const TextSeeker = (dom, isBoundary) => {\n      const isBlockBoundary = isBoundary ? isBoundary : node => dom.isBlock(node) || isBr$6(node) || isContentEditableFalse$b(node);\n      const walk = (node, offset, walker, process) => {\n        if (isText$a(node)) {\n          const newOffset = process(node, offset, node.data);\n          if (newOffset !== -1) {\n            return Optional.some({\n              container: node,\n              offset: newOffset\n            });\n          }\n        }\n        return walker().bind(next => walk(next.container, next.offset, walker, process));\n      };\n      const backwards = (node, offset, process, root) => {\n        const walker = TextWalker(node, root !== null && root !== void 0 ? root : dom.getRoot(), isBlockBoundary);\n        return walk(node, offset, () => walker.prev().map(prev => ({\n          container: prev,\n          offset: prev.length\n        })), process).getOrNull();\n      };\n      const forwards = (node, offset, process, root) => {\n        const walker = TextWalker(node, root !== null && root !== void 0 ? root : dom.getRoot(), isBlockBoundary);\n        return walk(node, offset, () => walker.next().map(next => ({\n          container: next,\n          offset: 0\n        })), process).getOrNull();\n      };\n      return {\n        backwards,\n        forwards\n      };\n    };\n\n    const round$2 = Math.round;\n    const clone$1 = rect => {\n      if (!rect) {\n        return {\n          left: 0,\n          top: 0,\n          bottom: 0,\n          right: 0,\n          width: 0,\n          height: 0\n        };\n      }\n      return {\n        left: round$2(rect.left),\n        top: round$2(rect.top),\n        bottom: round$2(rect.bottom),\n        right: round$2(rect.right),\n        width: round$2(rect.width),\n        height: round$2(rect.height)\n      };\n    };\n    const collapse = (rect, toStart) => {\n      rect = clone$1(rect);\n      if (toStart) {\n        rect.right = rect.left;\n      } else {\n        rect.left = rect.left + rect.width;\n        rect.right = rect.left;\n      }\n      rect.width = 0;\n      return rect;\n    };\n    const isEqual = (rect1, rect2) => rect1.left === rect2.left && rect1.top === rect2.top && rect1.bottom === rect2.bottom && rect1.right === rect2.right;\n    const isValidOverflow = (overflowY, rect1, rect2) => overflowY >= 0 && overflowY <= Math.min(rect1.height, rect2.height) / 2;\n    const isAbove$1 = (rect1, rect2) => {\n      const halfHeight = Math.min(rect2.height / 2, rect1.height / 2);\n      if (rect1.bottom - halfHeight < rect2.top) {\n        return true;\n      }\n      if (rect1.top > rect2.bottom) {\n        return false;\n      }\n      return isValidOverflow(rect2.top - rect1.bottom, rect1, rect2);\n    };\n    const isBelow$1 = (rect1, rect2) => {\n      if (rect1.top > rect2.bottom) {\n        return true;\n      }\n      if (rect1.bottom < rect2.top) {\n        return false;\n      }\n      return isValidOverflow(rect2.bottom - rect1.top, rect1, rect2);\n    };\n    const containsXY = (rect, clientX, clientY) => clientX >= rect.left && clientX <= rect.right && clientY >= rect.top && clientY <= rect.bottom;\n    const boundingClientRectFromRects = rects => {\n      return foldl(rects, (acc, rect) => {\n        return acc.fold(() => Optional.some(rect), prevRect => {\n          const left = Math.min(rect.left, prevRect.left);\n          const top = Math.min(rect.top, prevRect.top);\n          const right = Math.max(rect.right, prevRect.right);\n          const bottom = Math.max(rect.bottom, prevRect.bottom);\n          return Optional.some({\n            top,\n            right,\n            bottom,\n            left,\n            width: right - left,\n            height: bottom - top\n          });\n        });\n      }, Optional.none());\n    };\n    const distanceToRectEdgeFromXY = (rect, x, y) => {\n      const cx = Math.max(Math.min(x, rect.left + rect.width), rect.left);\n      const cy = Math.max(Math.min(y, rect.top + rect.height), rect.top);\n      return Math.sqrt((x - cx) * (x - cx) + (y - cy) * (y - cy));\n    };\n    const overlapY = (r1, r2) => Math.max(0, Math.min(r1.bottom, r2.bottom) - Math.max(r1.top, r2.top));\n\n    const clamp$2 = (value, min, max) => Math.min(Math.max(value, min), max);\n\n    const getSelectedNode = range => {\n      const startContainer = range.startContainer,\n        startOffset = range.startOffset;\n      if (startContainer === range.endContainer && startContainer.hasChildNodes() && range.endOffset === startOffset + 1) {\n        return startContainer.childNodes[startOffset];\n      }\n      return null;\n    };\n    const getNode$1 = (container, offset) => {\n      if (isElement$6(container) && container.hasChildNodes()) {\n        const childNodes = container.childNodes;\n        const safeOffset = clamp$2(offset, 0, childNodes.length - 1);\n        return childNodes[safeOffset];\n      } else {\n        return container;\n      }\n    };\n    const getNodeUnsafe = (container, offset) => {\n      if (offset < 0 && isElement$6(container) && container.hasChildNodes()) {\n        return undefined;\n      } else {\n        return getNode$1(container, offset);\n      }\n    };\n\n    const extendingChars = new RegExp('[\\u0300-\\u036f\\u0483-\\u0487\\u0488-\\u0489\\u0591-\\u05bd\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u0610-\\u061a' + '\\u064b-\\u065f\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7-\\u06e8\\u06ea-\\u06ed\\u0711\\u0730-\\u074a\\u07a6-\\u07b0' + '\\u07eb-\\u07f3\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u08e3-\\u0902\\u093a\\u093c' + '\\u0941-\\u0948\\u094d\\u0951-\\u0957\\u0962-\\u0963\\u0981\\u09bc\\u09be\\u09c1-\\u09c4\\u09cd\\u09d7\\u09e2-\\u09e3' + '\\u0a01-\\u0a02\\u0a3c\\u0a41-\\u0a42\\u0a47-\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a70-\\u0a71\\u0a75\\u0a81-\\u0a82\\u0abc' + '\\u0ac1-\\u0ac5\\u0ac7-\\u0ac8\\u0acd\\u0ae2-\\u0ae3\\u0b01\\u0b3c\\u0b3e\\u0b3f\\u0b41-\\u0b44\\u0b4d\\u0b56\\u0b57' + '\\u0b62-\\u0b63\\u0b82\\u0bbe\\u0bc0\\u0bcd\\u0bd7\\u0c00\\u0c3e-\\u0c40\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55-\\u0c56' + '\\u0c62-\\u0c63\\u0c81\\u0cbc\\u0cbf\\u0cc2\\u0cc6\\u0ccc-\\u0ccd\\u0cd5-\\u0cd6\\u0ce2-\\u0ce3\\u0d01\\u0d3e\\u0d41-\\u0d44' + '\\u0d4d\\u0d57\\u0d62-\\u0d63\\u0dca\\u0dcf\\u0dd2-\\u0dd4\\u0dd6\\u0ddf\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0eb1\\u0eb4-\\u0eb9' + '\\u0ebb-\\u0ebc\\u0ec8-\\u0ecd\\u0f18-\\u0f19\\u0f35\\u0f37\\u0f39\\u0f71-\\u0f7e\\u0f80-\\u0f84\\u0f86-\\u0f87\\u0f8d-\\u0f97' + '\\u0f99-\\u0fbc\\u0fc6\\u102d-\\u1030\\u1032-\\u1037\\u1039-\\u103a\\u103d-\\u103e\\u1058-\\u1059\\u105e-\\u1060\\u1071-\\u1074' + '\\u1082\\u1085-\\u1086\\u108d\\u109d\\u135d-\\u135f\\u1712-\\u1714\\u1732-\\u1734\\u1752-\\u1753\\u1772-\\u1773\\u17b4-\\u17b5' + '\\u17b7-\\u17bd\\u17c6\\u17c9-\\u17d3\\u17dd\\u180b-\\u180d\\u18a9\\u1920-\\u1922\\u1927-\\u1928\\u1932\\u1939-\\u193b\\u1a17-\\u1a18' + '\\u1a1b\\u1a56\\u1a58-\\u1a5e\\u1a60\\u1a62\\u1a65-\\u1a6c\\u1a73-\\u1a7c\\u1a7f\\u1ab0-\\u1abd\\u1ABE\\u1b00-\\u1b03\\u1b34' + '\\u1b36-\\u1b3a\\u1b3c\\u1b42\\u1b6b-\\u1b73\\u1b80-\\u1b81\\u1ba2-\\u1ba5\\u1ba8-\\u1ba9\\u1bab-\\u1bad\\u1be6\\u1be8-\\u1be9' + '\\u1bed\\u1bef-\\u1bf1\\u1c2c-\\u1c33\\u1c36-\\u1c37\\u1cd0-\\u1cd2\\u1cd4-\\u1ce0\\u1ce2-\\u1ce8\\u1ced\\u1cf4\\u1cf8-\\u1cf9' + '\\u1dc0-\\u1df5\\u1dfc-\\u1dff\\u200c-\\u200d\\u20d0-\\u20dc\\u20DD-\\u20E0\\u20e1\\u20E2-\\u20E4\\u20e5-\\u20f0\\u2cef-\\u2cf1' + '\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302d\\u302e-\\u302f\\u3099-\\u309a\\ua66f\\uA670-\\uA672\\ua674-\\ua67d\\ua69e-\\ua69f\\ua6f0-\\ua6f1' + '\\ua802\\ua806\\ua80b\\ua825-\\ua826\\ua8c4\\ua8e0-\\ua8f1\\ua926-\\ua92d\\ua947-\\ua951\\ua980-\\ua982\\ua9b3\\ua9b6-\\ua9b9\\ua9bc' + '\\ua9e5\\uaa29-\\uaa2e\\uaa31-\\uaa32\\uaa35-\\uaa36\\uaa43\\uaa4c\\uaa7c\\uaab0\\uaab2-\\uaab4\\uaab7-\\uaab8\\uaabe-\\uaabf\\uaac1' + '\\uaaec-\\uaaed\\uaaf6\\uabe5\\uabe8\\uabed\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe2f\\uff9e-\\uff9f]');\n    const isExtendingChar = ch => isString(ch) && ch.charCodeAt(0) >= 768 && extendingChars.test(ch);\n\n    const or = (...args) => {\n      return x => {\n        for (let i = 0; i < args.length; i++) {\n          if (args[i](x)) {\n            return true;\n          }\n        }\n        return false;\n      };\n    };\n    const and = (...args) => {\n      return x => {\n        for (let i = 0; i < args.length; i++) {\n          if (!args[i](x)) {\n            return false;\n          }\n        }\n        return true;\n      };\n    };\n\n    const isElement$4 = isElement$6;\n    const isCaretCandidate$2 = isCaretCandidate$3;\n    const isBlock$2 = matchStyleValues('display', 'block table');\n    const isFloated = matchStyleValues('float', 'left right');\n    const isValidElementCaretCandidate = and(isElement$4, isCaretCandidate$2, not(isFloated));\n    const isNotPre = not(matchStyleValues('white-space', 'pre pre-line pre-wrap'));\n    const isText$7 = isText$a;\n    const isBr$3 = isBr$6;\n    const nodeIndex$1 = DOMUtils.nodeIndex;\n    const resolveIndex$1 = getNodeUnsafe;\n    const createRange$1 = doc => doc ? doc.createRange() : DOMUtils.DOM.createRng();\n    const isWhiteSpace$1 = chr => isString(chr) && /[\\r\\n\\t ]/.test(chr);\n    const isRange = rng => !!rng.setStart && !!rng.setEnd;\n    const isHiddenWhiteSpaceRange = range => {\n      const container = range.startContainer;\n      const offset = range.startOffset;\n      if (isWhiteSpace$1(range.toString()) && isNotPre(container.parentNode) && isText$a(container)) {\n        const text = container.data;\n        if (isWhiteSpace$1(text[offset - 1]) || isWhiteSpace$1(text[offset + 1])) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const getBrClientRect = brNode => {\n      const doc = brNode.ownerDocument;\n      const rng = createRange$1(doc);\n      const nbsp$1 = doc.createTextNode(nbsp);\n      const parentNode = brNode.parentNode;\n      parentNode.insertBefore(nbsp$1, brNode);\n      rng.setStart(nbsp$1, 0);\n      rng.setEnd(nbsp$1, 1);\n      const clientRect = clone$1(rng.getBoundingClientRect());\n      parentNode.removeChild(nbsp$1);\n      return clientRect;\n    };\n    const getBoundingClientRectWebKitText = rng => {\n      const sc = rng.startContainer;\n      const ec = rng.endContainer;\n      const so = rng.startOffset;\n      const eo = rng.endOffset;\n      if (sc === ec && isText$a(ec) && so === 0 && eo === 1) {\n        const newRng = rng.cloneRange();\n        newRng.setEndAfter(ec);\n        return getBoundingClientRect$1(newRng);\n      } else {\n        return null;\n      }\n    };\n    const isZeroRect = r => r.left === 0 && r.right === 0 && r.top === 0 && r.bottom === 0;\n    const getBoundingClientRect$1 = item => {\n      var _a;\n      let clientRect;\n      const clientRects = item.getClientRects();\n      if (clientRects.length > 0) {\n        clientRect = clone$1(clientRects[0]);\n      } else {\n        clientRect = clone$1(item.getBoundingClientRect());\n      }\n      if (!isRange(item) && isBr$3(item) && isZeroRect(clientRect)) {\n        return getBrClientRect(item);\n      }\n      if (isZeroRect(clientRect) && isRange(item)) {\n        return (_a = getBoundingClientRectWebKitText(item)) !== null && _a !== void 0 ? _a : clientRect;\n      }\n      return clientRect;\n    };\n    const collapseAndInflateWidth = (clientRect, toStart) => {\n      const newClientRect = collapse(clientRect, toStart);\n      newClientRect.width = 1;\n      newClientRect.right = newClientRect.left + 1;\n      return newClientRect;\n    };\n    const getCaretPositionClientRects = caretPosition => {\n      const clientRects = [];\n      const addUniqueAndValidRect = clientRect => {\n        if (clientRect.height === 0) {\n          return;\n        }\n        if (clientRects.length > 0) {\n          if (isEqual(clientRect, clientRects[clientRects.length - 1])) {\n            return;\n          }\n        }\n        clientRects.push(clientRect);\n      };\n      const addCharacterOffset = (container, offset) => {\n        const range = createRange$1(container.ownerDocument);\n        if (offset < container.data.length) {\n          if (isExtendingChar(container.data[offset])) {\n            return;\n          }\n          if (isExtendingChar(container.data[offset - 1])) {\n            range.setStart(container, offset);\n            range.setEnd(container, offset + 1);\n            if (!isHiddenWhiteSpaceRange(range)) {\n              addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect$1(range), false));\n              return;\n            }\n          }\n        }\n        if (offset > 0) {\n          range.setStart(container, offset - 1);\n          range.setEnd(container, offset);\n          if (!isHiddenWhiteSpaceRange(range)) {\n            addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect$1(range), false));\n          }\n        }\n        if (offset < container.data.length) {\n          range.setStart(container, offset);\n          range.setEnd(container, offset + 1);\n          if (!isHiddenWhiteSpaceRange(range)) {\n            addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect$1(range), true));\n          }\n        }\n      };\n      const container = caretPosition.container();\n      const offset = caretPosition.offset();\n      if (isText$7(container)) {\n        addCharacterOffset(container, offset);\n        return clientRects;\n      }\n      if (isElement$4(container)) {\n        if (caretPosition.isAtEnd()) {\n          const node = resolveIndex$1(container, offset);\n          if (isText$7(node)) {\n            addCharacterOffset(node, node.data.length);\n          }\n          if (isValidElementCaretCandidate(node) && !isBr$3(node)) {\n            addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect$1(node), false));\n          }\n        } else {\n          const node = resolveIndex$1(container, offset);\n          if (isText$7(node)) {\n            addCharacterOffset(node, 0);\n          }\n          if (isValidElementCaretCandidate(node) && caretPosition.isAtEnd()) {\n            addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect$1(node), false));\n            return clientRects;\n          }\n          const beforeNode = resolveIndex$1(caretPosition.container(), caretPosition.offset() - 1);\n          if (isValidElementCaretCandidate(beforeNode) && !isBr$3(beforeNode)) {\n            if (isBlock$2(beforeNode) || isBlock$2(node) || !isValidElementCaretCandidate(node)) {\n              addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect$1(beforeNode), false));\n            }\n          }\n          if (isValidElementCaretCandidate(node)) {\n            addUniqueAndValidRect(collapseAndInflateWidth(getBoundingClientRect$1(node), true));\n          }\n        }\n      }\n      return clientRects;\n    };\n    const CaretPosition = (container, offset, clientRects) => {\n      const isAtStart = () => {\n        if (isText$7(container)) {\n          return offset === 0;\n        }\n        return offset === 0;\n      };\n      const isAtEnd = () => {\n        if (isText$7(container)) {\n          return offset >= container.data.length;\n        }\n        return offset >= container.childNodes.length;\n      };\n      const toRange = () => {\n        const range = createRange$1(container.ownerDocument);\n        range.setStart(container, offset);\n        range.setEnd(container, offset);\n        return range;\n      };\n      const getClientRects = () => {\n        if (!clientRects) {\n          clientRects = getCaretPositionClientRects(CaretPosition(container, offset));\n        }\n        return clientRects;\n      };\n      const isVisible = () => getClientRects().length > 0;\n      const isEqual = caretPosition => caretPosition && container === caretPosition.container() && offset === caretPosition.offset();\n      const getNode = before => resolveIndex$1(container, before ? offset - 1 : offset);\n      return {\n        container: constant(container),\n        offset: constant(offset),\n        toRange,\n        getClientRects,\n        isVisible,\n        isAtStart,\n        isAtEnd,\n        isEqual,\n        getNode\n      };\n    };\n    CaretPosition.fromRangeStart = range => CaretPosition(range.startContainer, range.startOffset);\n    CaretPosition.fromRangeEnd = range => CaretPosition(range.endContainer, range.endOffset);\n    CaretPosition.after = node => CaretPosition(node.parentNode, nodeIndex$1(node) + 1);\n    CaretPosition.before = node => CaretPosition(node.parentNode, nodeIndex$1(node));\n    CaretPosition.isAbove = (pos1, pos2) => lift2(head(pos2.getClientRects()), last$3(pos1.getClientRects()), isAbove$1).getOr(false);\n    CaretPosition.isBelow = (pos1, pos2) => lift2(last$3(pos2.getClientRects()), head(pos1.getClientRects()), isBelow$1).getOr(false);\n    CaretPosition.isAtStart = pos => pos ? pos.isAtStart() : false;\n    CaretPosition.isAtEnd = pos => pos ? pos.isAtEnd() : false;\n    CaretPosition.isTextPosition = pos => pos ? isText$a(pos.container()) : false;\n    CaretPosition.isElementPosition = pos => !CaretPosition.isTextPosition(pos);\n\n    const trimEmptyTextNode$1 = (dom, node) => {\n      if (isText$a(node) && node.data.length === 0) {\n        dom.remove(node);\n      }\n    };\n    const insertNode = (dom, rng, node) => {\n      rng.insertNode(node);\n      trimEmptyTextNode$1(dom, node.previousSibling);\n      trimEmptyTextNode$1(dom, node.nextSibling);\n    };\n    const insertFragment = (dom, rng, frag) => {\n      const firstChild = Optional.from(frag.firstChild);\n      const lastChild = Optional.from(frag.lastChild);\n      rng.insertNode(frag);\n      firstChild.each(child => trimEmptyTextNode$1(dom, child.previousSibling));\n      lastChild.each(child => trimEmptyTextNode$1(dom, child.nextSibling));\n    };\n    const rangeInsertNode = (dom, rng, node) => {\n      if (isDocumentFragment(node)) {\n        insertFragment(dom, rng, node);\n      } else {\n        insertNode(dom, rng, node);\n      }\n    };\n\n    const isText$6 = isText$a;\n    const isBogus = isBogus$2;\n    const nodeIndex = DOMUtils.nodeIndex;\n    const normalizedParent = node => {\n      const parentNode = node.parentNode;\n      if (isBogus(parentNode)) {\n        return normalizedParent(parentNode);\n      }\n      return parentNode;\n    };\n    const getChildNodes = node => {\n      if (!node) {\n        return [];\n      }\n      return reduce(node.childNodes, (result, node) => {\n        if (isBogus(node) && node.nodeName !== 'BR') {\n          result = result.concat(getChildNodes(node));\n        } else {\n          result.push(node);\n        }\n        return result;\n      }, []);\n    };\n    const normalizedTextOffset = (node, offset) => {\n      let tempNode = node;\n      while (tempNode = tempNode.previousSibling) {\n        if (!isText$6(tempNode)) {\n          break;\n        }\n        offset += tempNode.data.length;\n      }\n      return offset;\n    };\n    const equal = a => b => a === b;\n    const normalizedNodeIndex = node => {\n      let nodes, index;\n      nodes = getChildNodes(normalizedParent(node));\n      index = findIndex$1(nodes, equal(node), node);\n      nodes = nodes.slice(0, index + 1);\n      const numTextFragments = reduce(nodes, (result, node, i) => {\n        if (isText$6(node) && isText$6(nodes[i - 1])) {\n          result++;\n        }\n        return result;\n      }, 0);\n      nodes = filter$3(nodes, matchNodeNames([node.nodeName]));\n      index = findIndex$1(nodes, equal(node), node);\n      return index - numTextFragments;\n    };\n    const createPathItem = node => {\n      const name = isText$6(node) ? 'text()' : node.nodeName.toLowerCase();\n      return name + '[' + normalizedNodeIndex(node) + ']';\n    };\n    const parentsUntil$1 = (root, node, predicate) => {\n      const parents = [];\n      for (let tempNode = node.parentNode; tempNode && tempNode !== root; tempNode = tempNode.parentNode) {\n        if (predicate && predicate(tempNode)) {\n          break;\n        }\n        parents.push(tempNode);\n      }\n      return parents;\n    };\n    const create$b = (root, caretPosition) => {\n      let path = [];\n      let container = caretPosition.container();\n      let offset = caretPosition.offset();\n      let outputOffset;\n      if (isText$6(container)) {\n        outputOffset = normalizedTextOffset(container, offset);\n      } else {\n        const childNodes = container.childNodes;\n        if (offset >= childNodes.length) {\n          outputOffset = 'after';\n          offset = childNodes.length - 1;\n        } else {\n          outputOffset = 'before';\n        }\n        container = childNodes[offset];\n      }\n      path.push(createPathItem(container));\n      let parents = parentsUntil$1(root, container);\n      parents = filter$3(parents, not(isBogus$2));\n      path = path.concat(map$1(parents, node => {\n        return createPathItem(node);\n      }));\n      return path.reverse().join('/') + ',' + outputOffset;\n    };\n    const resolvePathItem = (node, name, index) => {\n      let nodes = getChildNodes(node);\n      nodes = filter$3(nodes, (node, index) => {\n        return !isText$6(node) || !isText$6(nodes[index - 1]);\n      });\n      nodes = filter$3(nodes, matchNodeNames([name]));\n      return nodes[index];\n    };\n    const findTextPosition = (container, offset) => {\n      let node = container;\n      let targetOffset = 0;\n      while (isText$6(node)) {\n        const dataLen = node.data.length;\n        if (offset >= targetOffset && offset <= targetOffset + dataLen) {\n          container = node;\n          offset = offset - targetOffset;\n          break;\n        }\n        if (!isText$6(node.nextSibling)) {\n          container = node;\n          offset = dataLen;\n          break;\n        }\n        targetOffset += dataLen;\n        node = node.nextSibling;\n      }\n      if (isText$6(container) && offset > container.data.length) {\n        offset = container.data.length;\n      }\n      return CaretPosition(container, offset);\n    };\n    const resolve$1 = (root, path) => {\n      if (!path) {\n        return null;\n      }\n      const parts = path.split(',');\n      const paths = parts[0].split('/');\n      const offset = parts.length > 1 ? parts[1] : 'before';\n      const container = reduce(paths, (result, value) => {\n        const match = /([\\w\\-\\(\\)]+)\\[([0-9]+)\\]/.exec(value);\n        if (!match) {\n          return null;\n        }\n        if (match[1] === 'text()') {\n          match[1] = '#text';\n        }\n        return resolvePathItem(result, match[1], parseInt(match[2], 10));\n      }, root);\n      if (!container) {\n        return null;\n      }\n      if (!isText$6(container) && container.parentNode) {\n        let nodeOffset;\n        if (offset === 'after') {\n          nodeOffset = nodeIndex(container) + 1;\n        } else {\n          nodeOffset = nodeIndex(container);\n        }\n        return CaretPosition(container.parentNode, nodeOffset);\n      }\n      return findTextPosition(container, parseInt(offset, 10));\n    };\n\n    const isContentEditableFalse$9 = isContentEditableFalse$b;\n    const getNormalizedTextOffset$1 = (trim, container, offset) => {\n      let trimmedOffset = trim(container.data.slice(0, offset)).length;\n      for (let node = container.previousSibling; node && isText$a(node); node = node.previousSibling) {\n        trimmedOffset += trim(node.data).length;\n      }\n      return trimmedOffset;\n    };\n    const getPoint = (dom, trim, normalized, rng, start) => {\n      const container = start ? rng.startContainer : rng.endContainer;\n      let offset = start ? rng.startOffset : rng.endOffset;\n      const point = [];\n      const root = dom.getRoot();\n      if (isText$a(container)) {\n        point.push(normalized ? getNormalizedTextOffset$1(trim, container, offset) : offset);\n      } else {\n        let after = 0;\n        const childNodes = container.childNodes;\n        if (offset >= childNodes.length && childNodes.length) {\n          after = 1;\n          offset = Math.max(0, childNodes.length - 1);\n        }\n        point.push(dom.nodeIndex(childNodes[offset], normalized) + after);\n      }\n      for (let node = container; node && node !== root; node = node.parentNode) {\n        point.push(dom.nodeIndex(node, normalized));\n      }\n      return point;\n    };\n    const getLocation = (trim, selection, normalized, rng) => {\n      const dom = selection.dom;\n      const start = getPoint(dom, trim, normalized, rng, true);\n      const forward = selection.isForward();\n      const fakeCaret = isRangeInCaretContainerBlock(rng) ? {\n        isFakeCaret: true\n      } : {};\n      if (!selection.isCollapsed()) {\n        const end = getPoint(dom, trim, normalized, rng, false);\n        return {\n          start,\n          end,\n          forward,\n          ...fakeCaret\n        };\n      } else {\n        return {\n          start,\n          forward,\n          ...fakeCaret\n        };\n      }\n    };\n    const findIndex = (dom, name, element) => {\n      let count = 0;\n      Tools.each(dom.select(name), node => {\n        if (node.getAttribute('data-mce-bogus') === 'all') {\n          return;\n        } else if (node === element) {\n          return false;\n        } else {\n          count++;\n          return;\n        }\n      });\n      return count;\n    };\n    const moveEndPoint$1 = (rng, start) => {\n      let container = start ? rng.startContainer : rng.endContainer;\n      let offset = start ? rng.startOffset : rng.endOffset;\n      if (isElement$6(container) && container.nodeName === 'TR') {\n        const childNodes = container.childNodes;\n        container = childNodes[Math.min(start ? offset : offset - 1, childNodes.length - 1)];\n        if (container) {\n          offset = start ? 0 : container.childNodes.length;\n          if (start) {\n            rng.setStart(container, offset);\n          } else {\n            rng.setEnd(container, offset);\n          }\n        }\n      }\n    };\n    const normalizeTableCellSelection = rng => {\n      moveEndPoint$1(rng, true);\n      moveEndPoint$1(rng, false);\n      return rng;\n    };\n    const findSibling = (node, offset) => {\n      if (isElement$6(node)) {\n        node = getNode$1(node, offset);\n        if (isContentEditableFalse$9(node)) {\n          return node;\n        }\n      }\n      if (isCaretContainer$2(node)) {\n        if (isText$a(node) && isCaretContainerBlock$1(node)) {\n          node = node.parentNode;\n        }\n        let sibling = node.previousSibling;\n        if (isContentEditableFalse$9(sibling)) {\n          return sibling;\n        }\n        sibling = node.nextSibling;\n        if (isContentEditableFalse$9(sibling)) {\n          return sibling;\n        }\n      }\n      return undefined;\n    };\n    const findAdjacentContentEditableFalseElm = rng => {\n      return findSibling(rng.startContainer, rng.startOffset) || findSibling(rng.endContainer, rng.endOffset);\n    };\n    const getOffsetBookmark = (trim, normalized, selection) => {\n      const element = selection.getNode();\n      const rng = selection.getRng();\n      if (element.nodeName === 'IMG' || isContentEditableFalse$9(element)) {\n        const name = element.nodeName;\n        return {\n          name,\n          index: findIndex(selection.dom, name, element)\n        };\n      }\n      const sibling = findAdjacentContentEditableFalseElm(rng);\n      if (sibling) {\n        const name = sibling.tagName;\n        return {\n          name,\n          index: findIndex(selection.dom, name, sibling)\n        };\n      }\n      return getLocation(trim, selection, normalized, rng);\n    };\n    const getCaretBookmark = selection => {\n      const rng = selection.getRng();\n      return {\n        start: create$b(selection.dom.getRoot(), CaretPosition.fromRangeStart(rng)),\n        end: create$b(selection.dom.getRoot(), CaretPosition.fromRangeEnd(rng)),\n        forward: selection.isForward()\n      };\n    };\n    const getRangeBookmark = selection => {\n      return {\n        rng: selection.getRng(),\n        forward: selection.isForward()\n      };\n    };\n    const createBookmarkSpan = (dom, id, filled) => {\n      const args = {\n        'data-mce-type': 'bookmark',\n        id,\n        'style': 'overflow:hidden;line-height:0px'\n      };\n      return filled ? dom.create('span', args, '&#xFEFF;') : dom.create('span', args);\n    };\n    const getPersistentBookmark = (selection, filled) => {\n      const dom = selection.dom;\n      let rng = selection.getRng();\n      const id = dom.uniqueId();\n      const collapsed = selection.isCollapsed();\n      const element = selection.getNode();\n      const name = element.nodeName;\n      const forward = selection.isForward();\n      if (name === 'IMG') {\n        return {\n          name,\n          index: findIndex(dom, name, element)\n        };\n      }\n      const rng2 = normalizeTableCellSelection(rng.cloneRange());\n      if (!collapsed) {\n        rng2.collapse(false);\n        const endBookmarkNode = createBookmarkSpan(dom, id + '_end', filled);\n        rangeInsertNode(dom, rng2, endBookmarkNode);\n      }\n      rng = normalizeTableCellSelection(rng);\n      rng.collapse(true);\n      const startBookmarkNode = createBookmarkSpan(dom, id + '_start', filled);\n      rangeInsertNode(dom, rng, startBookmarkNode);\n      selection.moveToBookmark({\n        id,\n        keep: true,\n        forward\n      });\n      return {\n        id,\n        forward\n      };\n    };\n    const getBookmark$2 = (selection, type, normalized = false) => {\n      if (type === 2) {\n        return getOffsetBookmark(trim$2, normalized, selection);\n      } else if (type === 3) {\n        return getCaretBookmark(selection);\n      } else if (type) {\n        return getRangeBookmark(selection);\n      } else {\n        return getPersistentBookmark(selection, false);\n      }\n    };\n    const getUndoBookmark = curry(getOffsetBookmark, identity, true);\n\n    const value$1 = value => {\n      const applyHelper = fn => fn(value);\n      const constHelper = constant(value);\n      const outputHelper = () => output;\n      const output = {\n        tag: true,\n        inner: value,\n        fold: (_onError, onValue) => onValue(value),\n        isValue: always,\n        isError: never,\n        map: mapper => Result.value(mapper(value)),\n        mapError: outputHelper,\n        bind: applyHelper,\n        exists: applyHelper,\n        forall: applyHelper,\n        getOr: constHelper,\n        or: outputHelper,\n        getOrThunk: constHelper,\n        orThunk: outputHelper,\n        getOrDie: constHelper,\n        each: fn => {\n          fn(value);\n        },\n        toOptional: () => Optional.some(value)\n      };\n      return output;\n    };\n    const error = error => {\n      const outputHelper = () => output;\n      const output = {\n        tag: false,\n        inner: error,\n        fold: (onError, _onValue) => onError(error),\n        isValue: never,\n        isError: always,\n        map: outputHelper,\n        mapError: mapper => Result.error(mapper(error)),\n        bind: outputHelper,\n        exists: never,\n        forall: always,\n        getOr: identity,\n        or: identity,\n        getOrThunk: apply$1,\n        orThunk: apply$1,\n        getOrDie: die(String(error)),\n        each: noop,\n        toOptional: Optional.none\n      };\n      return output;\n    };\n    const fromOption = (optional, err) => optional.fold(() => error(err), value$1);\n    const Result = {\n      value: value$1,\n      error,\n      fromOption\n    };\n\n    const generate = cases => {\n      if (!isArray$1(cases)) {\n        throw new Error('cases must be an array');\n      }\n      if (cases.length === 0) {\n        throw new Error('there must be at least one case');\n      }\n      const constructors = [];\n      const adt = {};\n      each$e(cases, (acase, count) => {\n        const keys$1 = keys(acase);\n        if (keys$1.length !== 1) {\n          throw new Error('one and only one name per case');\n        }\n        const key = keys$1[0];\n        const value = acase[key];\n        if (adt[key] !== undefined) {\n          throw new Error('duplicate key detected:' + key);\n        } else if (key === 'cata') {\n          throw new Error('cannot have a case named cata (sorry)');\n        } else if (!isArray$1(value)) {\n          throw new Error('case arguments must be an array');\n        }\n        constructors.push(key);\n        adt[key] = (...args) => {\n          const argLength = args.length;\n          if (argLength !== value.length) {\n            throw new Error('Wrong number of arguments to case ' + key + '. Expected ' + value.length + ' (' + value + '), got ' + argLength);\n          }\n          const match = branches => {\n            const branchKeys = keys(branches);\n            if (constructors.length !== branchKeys.length) {\n              throw new Error('Wrong number of arguments to match. Expected: ' + constructors.join(',') + '\\nActual: ' + branchKeys.join(','));\n            }\n            const allReqd = forall(constructors, reqKey => {\n              return contains$2(branchKeys, reqKey);\n            });\n            if (!allReqd) {\n              throw new Error('Not all branches were specified when using match. Specified: ' + branchKeys.join(', ') + '\\nRequired: ' + constructors.join(', '));\n            }\n            return branches[key].apply(null, args);\n          };\n          return {\n            fold: (...foldArgs) => {\n              if (foldArgs.length !== cases.length) {\n                throw new Error('Wrong number of arguments to fold. Expected ' + cases.length + ', got ' + foldArgs.length);\n              }\n              const target = foldArgs[count];\n              return target.apply(null, args);\n            },\n            match,\n            log: label => {\n              console.log(label, {\n                constructors,\n                constructor: key,\n                params: args\n              });\n            }\n          };\n        };\n      });\n      return adt;\n    };\n    const Adt = {\n      generate\n    };\n\n    Adt.generate([{\n      bothErrors: ['error1', 'error2']\n    }, {\n      firstError: ['error1', 'value2']\n    }, {\n      secondError: ['value1', 'error2']\n    }, {\n      bothValues: ['value1', 'value2']\n    }]);\n    const partition$1 = results => {\n      const errors = [];\n      const values = [];\n      each$e(results, result => {\n        result.fold(err => {\n          errors.push(err);\n        }, value => {\n          values.push(value);\n        });\n      });\n      return {\n        errors,\n        values\n      };\n    };\n\n    const isInlinePattern = pattern => pattern.type === 'inline-command' || pattern.type === 'inline-format';\n    const isBlockPattern = pattern => pattern.type === 'block-command' || pattern.type === 'block-format';\n    const normalizePattern = pattern => {\n      const err = message => Result.error({\n        message,\n        pattern\n      });\n      const formatOrCmd = (name, onFormat, onCommand) => {\n        if (pattern.format !== undefined) {\n          let formats;\n          if (isArray$1(pattern.format)) {\n            if (!forall(pattern.format, isString)) {\n              return err(name + ' pattern has non-string items in the `format` array');\n            }\n            formats = pattern.format;\n          } else if (isString(pattern.format)) {\n            formats = [pattern.format];\n          } else {\n            return err(name + ' pattern has non-string `format` parameter');\n          }\n          return Result.value(onFormat(formats));\n        } else if (pattern.cmd !== undefined) {\n          if (!isString(pattern.cmd)) {\n            return err(name + ' pattern has non-string `cmd` parameter');\n          }\n          return Result.value(onCommand(pattern.cmd, pattern.value));\n        } else {\n          return err(name + ' pattern is missing both `format` and `cmd` parameters');\n        }\n      };\n      if (!isObject(pattern)) {\n        return err('Raw pattern is not an object');\n      }\n      if (!isString(pattern.start)) {\n        return err('Raw pattern is missing `start` parameter');\n      }\n      if (pattern.end !== undefined) {\n        if (!isString(pattern.end)) {\n          return err('Inline pattern has non-string `end` parameter');\n        }\n        if (pattern.start.length === 0 && pattern.end.length === 0) {\n          return err('Inline pattern has empty `start` and `end` parameters');\n        }\n        let start = pattern.start;\n        let end = pattern.end;\n        if (end.length === 0) {\n          end = start;\n          start = '';\n        }\n        return formatOrCmd('Inline', format => ({\n          type: 'inline-format',\n          start,\n          end,\n          format\n        }), (cmd, value) => ({\n          type: 'inline-command',\n          start,\n          end,\n          cmd,\n          value\n        }));\n      } else if (pattern.replacement !== undefined) {\n        if (!isString(pattern.replacement)) {\n          return err('Replacement pattern has non-string `replacement` parameter');\n        }\n        if (pattern.start.length === 0) {\n          return err('Replacement pattern has empty `start` parameter');\n        }\n        return Result.value({\n          type: 'inline-command',\n          start: '',\n          end: pattern.start,\n          cmd: 'mceInsertContent',\n          value: pattern.replacement\n        });\n      } else {\n        if (pattern.start.length === 0) {\n          return err('Block pattern has empty `start` parameter');\n        }\n        return formatOrCmd('Block', formats => ({\n          type: 'block-format',\n          start: pattern.start,\n          format: formats[0]\n        }), (command, commandValue) => ({\n          type: 'block-command',\n          start: pattern.start,\n          cmd: command,\n          value: commandValue\n        }));\n      }\n    };\n    const getBlockPatterns = patterns => filter$5(patterns, isBlockPattern);\n    const getInlinePatterns = patterns => filter$5(patterns, isInlinePattern);\n    const createPatternSet = (patterns, dynamicPatternsLookup) => ({\n      inlinePatterns: getInlinePatterns(patterns),\n      blockPatterns: getBlockPatterns(patterns),\n      dynamicPatternsLookup\n    });\n    const fromRawPatterns = patterns => {\n      const normalized = partition$1(map$3(patterns, normalizePattern));\n      each$e(normalized.errors, err => console.error(err.message, err.pattern));\n      return normalized.values;\n    };\n    const fromRawPatternsLookup = lookupFn => {\n      return ctx => {\n        const rawPatterns = lookupFn(ctx);\n        return fromRawPatterns(rawPatterns);\n      };\n    };\n\n    const deviceDetection$1 = detect$2().deviceType;\n    const isTouch = deviceDetection$1.isTouch();\n    const DOM$a = DOMUtils.DOM;\n    const getHash = value => {\n      const items = value.indexOf('=') > 0 ? value.split(/[;,](?![^=;,]*(?:[;,]|$))/) : value.split(',');\n      return foldl(items, (output, item) => {\n        const arr = item.split('=');\n        const key = arr[0];\n        const val = arr.length > 1 ? arr[1] : key;\n        output[trim$4(key)] = trim$4(val);\n        return output;\n      }, {});\n    };\n    const isRegExp = x => is$4(x, RegExp);\n    const option = name => editor => editor.options.get(name);\n    const stringOrObjectProcessor = value => isString(value) || isObject(value);\n    const bodyOptionProcessor = (editor, defaultValue = '') => value => {\n      const valid = isString(value);\n      if (valid) {\n        if (value.indexOf('=') !== -1) {\n          const bodyObj = getHash(value);\n          return {\n            value: get$a(bodyObj, editor.id).getOr(defaultValue),\n            valid\n          };\n        } else {\n          return {\n            value,\n            valid\n          };\n        }\n      } else {\n        return {\n          valid: false,\n          message: 'Must be a string.'\n        };\n      }\n    };\n    const register$7 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('id', {\n        processor: 'string',\n        default: editor.id\n      });\n      registerOption('selector', {\n        processor: 'string'\n      });\n      registerOption('target', {\n        processor: 'object'\n      });\n      registerOption('suffix', {\n        processor: 'string'\n      });\n      registerOption('cache_suffix', {\n        processor: 'string'\n      });\n      registerOption('base_url', {\n        processor: 'string'\n      });\n      registerOption('referrer_policy', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('language_load', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('inline', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('iframe_attrs', {\n        processor: 'object',\n        default: {}\n      });\n      registerOption('doctype', {\n        processor: 'string',\n        default: '<!DOCTYPE html>'\n      });\n      registerOption('document_base_url', {\n        processor: 'string',\n        default: editor.documentBaseUrl\n      });\n      registerOption('body_id', {\n        processor: bodyOptionProcessor(editor, 'tinymce'),\n        default: 'tinymce'\n      });\n      registerOption('body_class', {\n        processor: bodyOptionProcessor(editor),\n        default: ''\n      });\n      registerOption('content_security_policy', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('br_in_pre', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('forced_root_block', {\n        processor: value => {\n          const valid = isString(value) && isNotEmpty(value);\n          if (valid) {\n            return {\n              value,\n              valid\n            };\n          } else {\n            return {\n              valid: false,\n              message: 'Must be a non-empty string.'\n            };\n          }\n        },\n        default: 'p'\n      });\n      registerOption('forced_root_block_attrs', {\n        processor: 'object',\n        default: {}\n      });\n      registerOption('newline_behavior', {\n        processor: value => {\n          const valid = contains$2(['block', 'linebreak', 'invert', 'default'], value);\n          return valid ? {\n            value,\n            valid\n          } : {\n            valid: false,\n            message: 'Must be one of: block, linebreak, invert or default.'\n          };\n        },\n        default: 'default'\n      });\n      registerOption('br_newline_selector', {\n        processor: 'string',\n        default: '.mce-toc h2,figcaption,caption'\n      });\n      registerOption('no_newline_selector', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('keep_styles', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('end_container_on_empty_block', {\n        processor: value => {\n          if (isBoolean(value)) {\n            return {\n              valid: true,\n              value\n            };\n          } else if (isString(value)) {\n            return {\n              valid: true,\n              value\n            };\n          } else {\n            return {\n              valid: false,\n              message: 'Must be boolean or a string'\n            };\n          }\n        },\n        default: 'blockquote'\n      });\n      registerOption('font_size_style_values', {\n        processor: 'string',\n        default: 'xx-small,x-small,small,medium,large,x-large,xx-large'\n      });\n      registerOption('font_size_legacy_values', {\n        processor: 'string',\n        default: 'xx-small,small,medium,large,x-large,xx-large,300%'\n      });\n      registerOption('font_size_classes', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('automatic_uploads', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('images_reuse_filename', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('images_replace_blob_uris', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('icons', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('icons_url', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('images_upload_url', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('images_upload_base_path', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('images_upload_credentials', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('images_upload_handler', {\n        processor: 'function'\n      });\n      registerOption('language', {\n        processor: 'string',\n        default: 'en'\n      });\n      registerOption('language_url', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('entity_encoding', {\n        processor: 'string',\n        default: 'named'\n      });\n      registerOption('indent', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('indent_before', {\n        processor: 'string',\n        default: 'p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,' + 'tfoot,tbody,tr,section,details,summary,article,hgroup,aside,figure,figcaption,option,optgroup,datalist'\n      });\n      registerOption('indent_after', {\n        processor: 'string',\n        default: 'p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,' + 'tfoot,tbody,tr,section,details,summary,article,hgroup,aside,figure,figcaption,option,optgroup,datalist'\n      });\n      registerOption('indent_use_margin', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('indentation', {\n        processor: 'string',\n        default: '40px'\n      });\n      registerOption('content_css', {\n        processor: value => {\n          const valid = value === false || isString(value) || isArrayOf(value, isString);\n          if (valid) {\n            if (isString(value)) {\n              return {\n                value: map$3(value.split(','), trim$4),\n                valid\n              };\n            } else if (isArray$1(value)) {\n              return {\n                value,\n                valid\n              };\n            } else if (value === false) {\n              return {\n                value: [],\n                valid\n              };\n            } else {\n              return {\n                value,\n                valid\n              };\n            }\n          } else {\n            return {\n              valid: false,\n              message: 'Must be false, a string or an array of strings.'\n            };\n          }\n        },\n        default: isInline$1(editor) ? [] : ['default']\n      });\n      registerOption('content_style', {\n        processor: 'string'\n      });\n      registerOption('content_css_cors', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('font_css', {\n        processor: value => {\n          const valid = isString(value) || isArrayOf(value, isString);\n          if (valid) {\n            const newValue = isArray$1(value) ? value : map$3(value.split(','), trim$4);\n            return {\n              value: newValue,\n              valid\n            };\n          } else {\n            return {\n              valid: false,\n              message: 'Must be a string or an array of strings.'\n            };\n          }\n        },\n        default: []\n      });\n      registerOption('inline_boundaries', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('inline_boundaries_selector', {\n        processor: 'string',\n        default: 'a[href],code,span.mce-annotation'\n      });\n      registerOption('object_resizing', {\n        processor: value => {\n          const valid = isBoolean(value) || isString(value);\n          if (valid) {\n            if (value === false || deviceDetection$1.isiPhone() || deviceDetection$1.isiPad()) {\n              return {\n                value: '',\n                valid\n              };\n            } else {\n              return {\n                value: value === true ? 'table,img,figure.image,div,video,iframe' : value,\n                valid\n              };\n            }\n          } else {\n            return {\n              valid: false,\n              message: 'Must be boolean or a string'\n            };\n          }\n        },\n        default: !isTouch\n      });\n      registerOption('resize_img_proportional', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('event_root', {\n        processor: 'object'\n      });\n      registerOption('service_message', {\n        processor: 'string'\n      });\n      registerOption('theme', {\n        processor: value => value === false || isString(value) || isFunction(value),\n        default: 'silver'\n      });\n      registerOption('theme_url', {\n        processor: 'string'\n      });\n      registerOption('formats', {\n        processor: 'object'\n      });\n      registerOption('format_empty_lines', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('format_noneditable_selector', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('preview_styles', {\n        processor: value => {\n          const valid = value === false || isString(value);\n          if (valid) {\n            return {\n              value: value === false ? '' : value,\n              valid\n            };\n          } else {\n            return {\n              valid: false,\n              message: 'Must be false or a string'\n            };\n          }\n        },\n        default: 'font-family font-size font-weight font-style text-decoration text-transform color background-color border border-radius outline text-shadow'\n      });\n      registerOption('custom_ui_selector', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('hidden_input', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('submit_patch', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('encoding', {\n        processor: 'string'\n      });\n      registerOption('add_form_submit_trigger', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('add_unload_trigger', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('custom_undo_redo_levels', {\n        processor: 'number',\n        default: 0\n      });\n      registerOption('disable_nodechange', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('readonly', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('editable_root', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('plugins', {\n        processor: 'string[]',\n        default: []\n      });\n      registerOption('external_plugins', {\n        processor: 'object'\n      });\n      registerOption('forced_plugins', {\n        processor: 'string[]'\n      });\n      registerOption('model', {\n        processor: 'string',\n        default: editor.hasPlugin('rtc') ? 'plugin' : 'dom'\n      });\n      registerOption('model_url', {\n        processor: 'string'\n      });\n      registerOption('block_unsupported_drop', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('visual', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('visual_table_class', {\n        processor: 'string',\n        default: 'mce-item-table'\n      });\n      registerOption('visual_anchor_class', {\n        processor: 'string',\n        default: 'mce-item-anchor'\n      });\n      registerOption('iframe_aria_text', {\n        processor: 'string',\n        default: 'Rich Text Area. Press ALT-0 for help.'\n      });\n      registerOption('setup', {\n        processor: 'function'\n      });\n      registerOption('init_instance_callback', {\n        processor: 'function'\n      });\n      registerOption('url_converter', {\n        processor: 'function',\n        default: editor.convertURL\n      });\n      registerOption('url_converter_scope', {\n        processor: 'object',\n        default: editor\n      });\n      registerOption('urlconverter_callback', {\n        processor: 'function'\n      });\n      registerOption('allow_conditional_comments', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('allow_html_data_urls', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('allow_svg_data_urls', {\n        processor: 'boolean'\n      });\n      registerOption('allow_html_in_named_anchor', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('allow_script_urls', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('allow_unsafe_link_target', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('convert_fonts_to_spans', {\n        processor: 'boolean',\n        default: true,\n        deprecated: true\n      });\n      registerOption('fix_list_elements', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('preserve_cdata', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('remove_trailing_brs', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('pad_empty_with_br', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('inline_styles', {\n        processor: 'boolean',\n        default: true,\n        deprecated: true\n      });\n      registerOption('element_format', {\n        processor: 'string',\n        default: 'html'\n      });\n      registerOption('entities', {\n        processor: 'string'\n      });\n      registerOption('schema', {\n        processor: 'string',\n        default: 'html5'\n      });\n      registerOption('convert_urls', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('relative_urls', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('remove_script_host', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('custom_elements', {\n        processor: 'string'\n      });\n      registerOption('extended_valid_elements', {\n        processor: 'string'\n      });\n      registerOption('invalid_elements', {\n        processor: 'string'\n      });\n      registerOption('invalid_styles', {\n        processor: stringOrObjectProcessor\n      });\n      registerOption('valid_children', {\n        processor: 'string'\n      });\n      registerOption('valid_classes', {\n        processor: stringOrObjectProcessor\n      });\n      registerOption('valid_elements', {\n        processor: 'string'\n      });\n      registerOption('valid_styles', {\n        processor: stringOrObjectProcessor\n      });\n      registerOption('verify_html', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('auto_focus', {\n        processor: value => isString(value) || value === true\n      });\n      registerOption('browser_spellcheck', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('protect', {\n        processor: 'array'\n      });\n      registerOption('images_file_types', {\n        processor: 'string',\n        default: 'jpeg,jpg,jpe,jfi,jif,jfif,png,gif,bmp,webp'\n      });\n      registerOption('deprecation_warnings', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('a11y_advanced_options', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('api_key', {\n        processor: 'string'\n      });\n      registerOption('paste_block_drop', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('paste_data_images', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('paste_preprocess', {\n        processor: 'function'\n      });\n      registerOption('paste_postprocess', {\n        processor: 'function'\n      });\n      registerOption('paste_webkit_styles', {\n        processor: 'string',\n        default: 'none'\n      });\n      registerOption('paste_remove_styles_if_webkit', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('paste_merge_formats', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('smart_paste', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('paste_as_text', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('paste_tab_spaces', {\n        processor: 'number',\n        default: 4\n      });\n      registerOption('text_patterns', {\n        processor: value => {\n          if (isArrayOf(value, isObject) || value === false) {\n            const patterns = value === false ? [] : value;\n            return {\n              value: fromRawPatterns(patterns),\n              valid: true\n            };\n          } else {\n            return {\n              valid: false,\n              message: 'Must be an array of objects or false.'\n            };\n          }\n        },\n        default: [{\n          start: '*',\n          end: '*',\n          format: 'italic'\n        }, {\n          start: '**',\n          end: '**',\n          format: 'bold'\n        }, {\n          start: '#',\n          format: 'h1'\n        }, {\n          start: '##',\n          format: 'h2'\n        }, {\n          start: '###',\n          format: 'h3'\n        }, {\n          start: '####',\n          format: 'h4'\n        }, {\n          start: '#####',\n          format: 'h5'\n        }, {\n          start: '######',\n          format: 'h6'\n        }, {\n          start: '1. ',\n          cmd: 'InsertOrderedList'\n        }, {\n          start: '* ',\n          cmd: 'InsertUnorderedList'\n        }, {\n          start: '- ',\n          cmd: 'InsertUnorderedList'\n        }]\n      });\n      registerOption('text_patterns_lookup', {\n        processor: value => {\n          if (isFunction(value)) {\n            return {\n              value: fromRawPatternsLookup(value),\n              valid: true\n            };\n          } else {\n            return {\n              valid: false,\n              message: 'Must be a single function'\n            };\n          }\n        },\n        default: _ctx => []\n      });\n      registerOption('noneditable_class', {\n        processor: 'string',\n        default: 'mceNonEditable'\n      });\n      registerOption('editable_class', {\n        processor: 'string',\n        default: 'mceEditable'\n      });\n      registerOption('noneditable_regexp', {\n        processor: value => {\n          if (isArrayOf(value, isRegExp)) {\n            return {\n              value,\n              valid: true\n            };\n          } else if (isRegExp(value)) {\n            return {\n              value: [value],\n              valid: true\n            };\n          } else {\n            return {\n              valid: false,\n              message: 'Must be a RegExp or an array of RegExp.'\n            };\n          }\n        },\n        default: []\n      });\n      registerOption('table_tab_navigation', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('highlight_on_focus', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('xss_sanitization', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('details_initial_state', {\n        processor: value => {\n          const valid = contains$2(['inherited', 'collapsed', 'expanded'], value);\n          return valid ? {\n            value,\n            valid\n          } : {\n            valid: false,\n            message: 'Must be one of: inherited, collapsed, or expanded.'\n          };\n        },\n        default: 'inherited'\n      });\n      registerOption('details_serialized_state', {\n        processor: value => {\n          const valid = contains$2(['inherited', 'collapsed', 'expanded'], value);\n          return valid ? {\n            value,\n            valid\n          } : {\n            valid: false,\n            message: 'Must be one of: inherited, collapsed, or expanded.'\n          };\n        },\n        default: 'inherited'\n      });\n      registerOption('init_content_sync', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('newdocument_content', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('force_hex_color', {\n        processor: value => {\n          const options = ['always', 'rgb_only', 'off'];\n          const valid = contains$2(options, value);\n          return valid ? {\n            value,\n            valid\n          } : {\n            valid: false,\n            message: \"Must be one of: \".concat(options.join(', '), \".\")\n          };\n        },\n        default: 'off'\n      });\n      registerOption('sandbox_iframes', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('convert_unsafe_embeds', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('sn_convert_blobs_to_base64', {\n        processor: 'boolean',\n        default: true\n      });\n      editor.on('ScriptsLoaded', () => {\n        registerOption('directionality', {\n          processor: 'string',\n          default: I18n.isRtl() ? 'rtl' : undefined\n        });\n        registerOption('placeholder', {\n          processor: 'string',\n          default: DOM$a.getAttrib(editor.getElement(), 'placeholder')\n        });\n      });\n    };\n    const getIframeAttrs = option('iframe_attrs');\n    const getDocType = option('doctype');\n    const getDocumentBaseUrl = option('document_base_url');\n    const getBodyId = option('body_id');\n    const getBodyClass = option('body_class');\n    const getContentSecurityPolicy = option('content_security_policy');\n    const shouldPutBrInPre$1 = option('br_in_pre');\n    const getForcedRootBlock = option('forced_root_block');\n    const getForcedRootBlockAttrs = option('forced_root_block_attrs');\n    const getNewlineBehavior = option('newline_behavior');\n    const getBrNewLineSelector = option('br_newline_selector');\n    const getNoNewLineSelector = option('no_newline_selector');\n    const shouldKeepStyles = option('keep_styles');\n    const shouldEndContainerOnEmptyBlock = option('end_container_on_empty_block');\n    const isAutomaticUploadsEnabled = option('automatic_uploads');\n    const shouldReuseFileName = option('images_reuse_filename');\n    const shouldReplaceBlobUris = option('images_replace_blob_uris');\n    const getIconPackName = option('icons');\n    const getIconsUrl = option('icons_url');\n    const getImageUploadUrl = option('images_upload_url');\n    const getImageUploadBasePath = option('images_upload_base_path');\n    const getImagesUploadCredentials = option('images_upload_credentials');\n    const getImagesUploadHandler = option('images_upload_handler');\n    const shouldUseContentCssCors = option('content_css_cors');\n    const getReferrerPolicy = option('referrer_policy');\n    const getLanguageCode = option('language');\n    const getLanguageUrl = option('language_url');\n    const shouldIndentUseMargin = option('indent_use_margin');\n    const getIndentation = option('indentation');\n    const getContentCss = option('content_css');\n    const getContentStyle = option('content_style');\n    const getFontCss = option('font_css');\n    const getDirectionality = option('directionality');\n    const getInlineBoundarySelector = option('inline_boundaries_selector');\n    const getObjectResizing = option('object_resizing');\n    const getResizeImgProportional = option('resize_img_proportional');\n    const getPlaceholder = option('placeholder');\n    const getEventRoot = option('event_root');\n    const getServiceMessage = option('service_message');\n    const getTheme = option('theme');\n    const getThemeUrl = option('theme_url');\n    const getModel = option('model');\n    const getModelUrl = option('model_url');\n    const isInlineBoundariesEnabled = option('inline_boundaries');\n    const getFormats = option('formats');\n    const getPreviewStyles = option('preview_styles');\n    const canFormatEmptyLines = option('format_empty_lines');\n    const getFormatNoneditableSelector = option('format_noneditable_selector');\n    const getCustomUiSelector = option('custom_ui_selector');\n    const isInline$1 = option('inline');\n    const hasHiddenInput = option('hidden_input');\n    const shouldPatchSubmit = option('submit_patch');\n    const shouldAddFormSubmitTrigger = option('add_form_submit_trigger');\n    const shouldAddUnloadTrigger = option('add_unload_trigger');\n    const getCustomUndoRedoLevels = option('custom_undo_redo_levels');\n    const shouldDisableNodeChange = option('disable_nodechange');\n    const isReadOnly$1 = option('readonly');\n    const hasEditableRoot$1 = option('editable_root');\n    const hasContentCssCors = option('content_css_cors');\n    const getPlugins = option('plugins');\n    const getExternalPlugins$1 = option('external_plugins');\n    const shouldBlockUnsupportedDrop = option('block_unsupported_drop');\n    const isVisualAidsEnabled = option('visual');\n    const getVisualAidsTableClass = option('visual_table_class');\n    const getVisualAidsAnchorClass = option('visual_anchor_class');\n    const getIframeAriaText = option('iframe_aria_text');\n    const getSetupCallback = option('setup');\n    const getInitInstanceCallback = option('init_instance_callback');\n    const getUrlConverterCallback = option('urlconverter_callback');\n    const getAutoFocus = option('auto_focus');\n    const shouldBrowserSpellcheck = option('browser_spellcheck');\n    const getProtect = option('protect');\n    const shouldPasteBlockDrop = option('paste_block_drop');\n    const shouldPasteDataImages = option('paste_data_images');\n    const getPastePreProcess = option('paste_preprocess');\n    const getPastePostProcess = option('paste_postprocess');\n    const getNewDocumentContent = option('newdocument_content');\n    const getPasteWebkitStyles = option('paste_webkit_styles');\n    const shouldPasteRemoveWebKitStyles = option('paste_remove_styles_if_webkit');\n    const shouldPasteMergeFormats = option('paste_merge_formats');\n    const isSmartPasteEnabled = option('smart_paste');\n    const isPasteAsTextEnabled = option('paste_as_text');\n    const getPasteTabSpaces = option('paste_tab_spaces');\n    const shouldAllowHtmlDataUrls = option('allow_html_data_urls');\n    const getTextPatterns = option('text_patterns');\n    const getTextPatternsLookup = option('text_patterns_lookup');\n    const getNonEditableClass = option('noneditable_class');\n    const getEditableClass = option('editable_class');\n    const getNonEditableRegExps = option('noneditable_regexp');\n    const shouldPreserveCData = option('preserve_cdata');\n    const shouldHighlightOnFocus = option('highlight_on_focus');\n    const shouldSanitizeXss = option('xss_sanitization');\n    const shouldUseDocumentWrite = option('init_content_sync');\n    const hasTextPatternsLookup = editor => editor.options.isSet('text_patterns_lookup');\n    const getFontStyleValues = editor => Tools.explode(editor.options.get('font_size_style_values'));\n    const getFontSizeClasses = editor => Tools.explode(editor.options.get('font_size_classes'));\n    const isEncodingXml = editor => editor.options.get('encoding') === 'xml';\n    const getAllowedImageFileTypes = editor => Tools.explode(editor.options.get('images_file_types'));\n    const hasTableTabNavigation = option('table_tab_navigation');\n    const getDetailsInitialState = option('details_initial_state');\n    const getDetailsSerializedState = option('details_serialized_state');\n    const shouldForceHexColor = option('force_hex_color');\n    const shouldSandboxIframes = option('sandbox_iframes');\n    const shouldConvertBlobstoBase64 = option('sn_convert_blobs_to_base64');\n\n    const isElement$3 = isElement$6;\n    const isText$5 = isText$a;\n    const removeNode$1 = node => {\n      const parentNode = node.parentNode;\n      if (parentNode) {\n        parentNode.removeChild(node);\n      }\n    };\n    const trimCount = text => {\n      const trimmedText = trim$2(text);\n      return {\n        count: text.length - trimmedText.length,\n        text: trimmedText\n      };\n    };\n    const deleteZwspChars = caretContainer => {\n      let idx;\n      while ((idx = caretContainer.data.lastIndexOf(ZWSP$1)) !== -1) {\n        caretContainer.deleteData(idx, 1);\n      }\n    };\n    const removeUnchanged = (caretContainer, pos) => {\n      remove$3(caretContainer);\n      return pos;\n    };\n    const removeTextAndReposition = (caretContainer, pos) => {\n      const before = trimCount(caretContainer.data.substr(0, pos.offset()));\n      const after = trimCount(caretContainer.data.substr(pos.offset()));\n      const text = before.text + after.text;\n      if (text.length > 0) {\n        deleteZwspChars(caretContainer);\n        return CaretPosition(caretContainer, pos.offset() - before.count);\n      } else {\n        return pos;\n      }\n    };\n    const removeElementAndReposition = (caretContainer, pos) => {\n      const parentNode = pos.container();\n      const newPosition = indexOf$1(from(parentNode.childNodes), caretContainer).map(index => {\n        return index < pos.offset() ? CaretPosition(parentNode, pos.offset() - 1) : pos;\n      }).getOr(pos);\n      remove$3(caretContainer);\n      return newPosition;\n    };\n    const removeTextCaretContainer = (caretContainer, pos) => isText$5(caretContainer) && pos.container() === caretContainer ? removeTextAndReposition(caretContainer, pos) : removeUnchanged(caretContainer, pos);\n    const removeElementCaretContainer = (caretContainer, pos) => pos.container() === caretContainer.parentNode ? removeElementAndReposition(caretContainer, pos) : removeUnchanged(caretContainer, pos);\n    const removeAndReposition = (container, pos) => CaretPosition.isTextPosition(pos) ? removeTextCaretContainer(container, pos) : removeElementCaretContainer(container, pos);\n    const remove$3 = caretContainerNode => {\n      if (isElement$3(caretContainerNode) && isCaretContainer$2(caretContainerNode)) {\n        if (hasContent(caretContainerNode)) {\n          caretContainerNode.removeAttribute('data-mce-caret');\n        } else {\n          removeNode$1(caretContainerNode);\n        }\n      }\n      if (isText$5(caretContainerNode)) {\n        deleteZwspChars(caretContainerNode);\n        if (caretContainerNode.data.length === 0) {\n          removeNode$1(caretContainerNode);\n        }\n      }\n    };\n\n    const isContentEditableFalse$8 = isContentEditableFalse$b;\n    const isMedia$1 = isMedia$2;\n    const isTableCell$1 = isTableCell$3;\n    const inlineFakeCaretSelector = '*[contentEditable=false],video,audio,embed,object';\n    const getAbsoluteClientRect = (root, element, before) => {\n      const clientRect = collapse(element.getBoundingClientRect(), before);\n      let scrollX;\n      let scrollY;\n      if (root.tagName === 'BODY') {\n        const docElm = root.ownerDocument.documentElement;\n        scrollX = root.scrollLeft || docElm.scrollLeft;\n        scrollY = root.scrollTop || docElm.scrollTop;\n      } else {\n        const rootRect = root.getBoundingClientRect();\n        scrollX = root.scrollLeft - rootRect.left;\n        scrollY = root.scrollTop - rootRect.top;\n      }\n      clientRect.left += scrollX;\n      clientRect.right += scrollX;\n      clientRect.top += scrollY;\n      clientRect.bottom += scrollY;\n      clientRect.width = 1;\n      let margin = element.offsetWidth - element.clientWidth;\n      if (margin > 0) {\n        if (before) {\n          margin *= -1;\n        }\n        clientRect.left += margin;\n        clientRect.right += margin;\n      }\n      return clientRect;\n    };\n    const trimInlineCaretContainers = root => {\n      var _a, _b;\n      const fakeCaretTargetNodes = descendants(SugarElement.fromDom(root), inlineFakeCaretSelector);\n      for (let i = 0; i < fakeCaretTargetNodes.length; i++) {\n        const node = fakeCaretTargetNodes[i].dom;\n        let sibling = node.previousSibling;\n        if (endsWithCaretContainer$1(sibling)) {\n          const data = sibling.data;\n          if (data.length === 1) {\n            (_a = sibling.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(sibling);\n          } else {\n            sibling.deleteData(data.length - 1, 1);\n          }\n        }\n        sibling = node.nextSibling;\n        if (startsWithCaretContainer$1(sibling)) {\n          const data = sibling.data;\n          if (data.length === 1) {\n            (_b = sibling.parentNode) === null || _b === void 0 ? void 0 : _b.removeChild(sibling);\n          } else {\n            sibling.deleteData(0, 1);\n          }\n        }\n      }\n    };\n    const FakeCaret = (editor, root, isBlock, hasFocus) => {\n      const lastVisualCaret = value$2();\n      let cursorInterval;\n      let caretContainerNode;\n      const caretBlock = getForcedRootBlock(editor);\n      const dom = editor.dom;\n      const show = (before, element) => {\n        let rng;\n        hide();\n        if (isTableCell$1(element)) {\n          return null;\n        }\n        if (isBlock(element)) {\n          const caretContainer = insertBlock(caretBlock, element, before);\n          const clientRect = getAbsoluteClientRect(root, element, before);\n          dom.setStyle(caretContainer, 'top', clientRect.top);\n          caretContainerNode = caretContainer;\n          const caret = dom.create('div', {\n            'class': 'mce-visual-caret',\n            'data-mce-bogus': 'all'\n          });\n          dom.setStyles(caret, {\n            ...clientRect\n          });\n          dom.add(root, caret);\n          lastVisualCaret.set({\n            caret,\n            element,\n            before\n          });\n          if (before) {\n            dom.addClass(caret, 'mce-visual-caret-before');\n          }\n          startBlink();\n          rng = element.ownerDocument.createRange();\n          rng.setStart(caretContainer, 0);\n          rng.setEnd(caretContainer, 0);\n        } else {\n          caretContainerNode = insertInline$1(element, before);\n          rng = element.ownerDocument.createRange();\n          if (isInlineFakeCaretTarget(caretContainerNode.nextSibling)) {\n            rng.setStart(caretContainerNode, 0);\n            rng.setEnd(caretContainerNode, 0);\n          } else {\n            rng.setStart(caretContainerNode, 1);\n            rng.setEnd(caretContainerNode, 1);\n          }\n          return rng;\n        }\n        return rng;\n      };\n      const hide = () => {\n        trimInlineCaretContainers(root);\n        if (caretContainerNode) {\n          remove$3(caretContainerNode);\n          caretContainerNode = null;\n        }\n        lastVisualCaret.on(caretState => {\n          dom.remove(caretState.caret);\n          lastVisualCaret.clear();\n        });\n        if (cursorInterval) {\n          clearInterval(cursorInterval);\n          cursorInterval = undefined;\n        }\n      };\n      const startBlink = () => {\n        cursorInterval = setInterval(() => {\n          lastVisualCaret.on(caretState => {\n            if (hasFocus()) {\n              dom.toggleClass(caretState.caret, 'mce-visual-caret-hidden');\n            } else {\n              dom.addClass(caretState.caret, 'mce-visual-caret-hidden');\n            }\n          });\n        }, 500);\n      };\n      const reposition = () => {\n        lastVisualCaret.on(caretState => {\n          const clientRect = getAbsoluteClientRect(root, caretState.element, caretState.before);\n          dom.setStyles(caretState.caret, {\n            ...clientRect\n          });\n        });\n      };\n      const destroy = () => clearInterval(cursorInterval);\n      const getCss = () => '.mce-visual-caret {' + 'position: absolute;' + 'background-color: black;' + 'background-color: currentcolor;' + '}' + '.mce-visual-caret-hidden {' + 'display: none;' + '}' + '*[data-mce-caret] {' + 'position: absolute;' + 'left: -1000px;' + 'right: auto;' + 'top: 0;' + 'margin: 0;' + 'padding: 0;' + '}';\n      return {\n        show,\n        hide,\n        getCss,\n        reposition,\n        destroy\n      };\n    };\n    const isFakeCaretTableBrowser = () => Env.browser.isFirefox();\n    const isInlineFakeCaretTarget = node => isContentEditableFalse$8(node) || isMedia$1(node);\n    const isFakeCaretTarget = node => {\n      const isTarget = isInlineFakeCaretTarget(node) || isTable$2(node) && isFakeCaretTableBrowser();\n      return isTarget && parentElement(SugarElement.fromDom(node)).exists(isEditable$2);\n    };\n\n    const isContentEditableTrue$1 = isContentEditableTrue$3;\n    const isContentEditableFalse$7 = isContentEditableFalse$b;\n    const isMedia = isMedia$2;\n    const isBlockLike = matchStyleValues('display', 'block table table-cell table-caption list-item');\n    const isCaretContainer = isCaretContainer$2;\n    const isCaretContainerBlock = isCaretContainerBlock$1;\n    const isElement$2 = isElement$6;\n    const isText$4 = isText$a;\n    const isCaretCandidate$1 = isCaretCandidate$3;\n    const isForwards = direction => direction > 0;\n    const isBackwards = direction => direction < 0;\n    const skipCaretContainers = (walk, shallow) => {\n      let node;\n      while (node = walk(shallow)) {\n        if (!isCaretContainerBlock(node)) {\n          return node;\n        }\n      }\n      return null;\n    };\n    const findNode = (node, direction, predicateFn, rootNode, shallow) => {\n      const walker = new DomTreeWalker(node, rootNode);\n      const isCefOrCaretContainer = isContentEditableFalse$7(node) || isCaretContainerBlock(node);\n      let tempNode;\n      if (isBackwards(direction)) {\n        if (isCefOrCaretContainer) {\n          tempNode = skipCaretContainers(walker.prev.bind(walker), true);\n          if (predicateFn(tempNode)) {\n            return tempNode;\n          }\n        }\n        while (tempNode = skipCaretContainers(walker.prev.bind(walker), shallow)) {\n          if (predicateFn(tempNode)) {\n            return tempNode;\n          }\n        }\n      }\n      if (isForwards(direction)) {\n        if (isCefOrCaretContainer) {\n          tempNode = skipCaretContainers(walker.next.bind(walker), true);\n          if (predicateFn(tempNode)) {\n            return tempNode;\n          }\n        }\n        while (tempNode = skipCaretContainers(walker.next.bind(walker), shallow)) {\n          if (predicateFn(tempNode)) {\n            return tempNode;\n          }\n        }\n      }\n      return null;\n    };\n    const getEditingHost = (node, rootNode) => {\n      const isCETrue = node => isContentEditableTrue$1(node.dom);\n      const isRoot = node => node.dom === rootNode;\n      return ancestor$4(SugarElement.fromDom(node), isCETrue, isRoot).map(elm => elm.dom).getOr(rootNode);\n    };\n    const getParentBlock$3 = (node, rootNode) => {\n      while (node && node !== rootNode) {\n        if (isBlockLike(node)) {\n          return node;\n        }\n        node = node.parentNode;\n      }\n      return null;\n    };\n    const isInSameBlock = (caretPosition1, caretPosition2, rootNode) => getParentBlock$3(caretPosition1.container(), rootNode) === getParentBlock$3(caretPosition2.container(), rootNode);\n    const getChildNodeAtRelativeOffset = (relativeOffset, caretPosition) => {\n      if (!caretPosition) {\n        return Optional.none();\n      }\n      const container = caretPosition.container();\n      const offset = caretPosition.offset();\n      if (!isElement$2(container)) {\n        return Optional.none();\n      }\n      return Optional.from(container.childNodes[offset + relativeOffset]);\n    };\n    const beforeAfter = (before, node) => {\n      var _a;\n      const doc = (_a = node.ownerDocument) !== null && _a !== void 0 ? _a : document;\n      const range = doc.createRange();\n      if (before) {\n        range.setStartBefore(node);\n        range.setEndBefore(node);\n      } else {\n        range.setStartAfter(node);\n        range.setEndAfter(node);\n      }\n      return range;\n    };\n    const isNodesInSameBlock = (root, node1, node2) => getParentBlock$3(node1, root) === getParentBlock$3(node2, root);\n    const lean = (left, root, node) => {\n      const siblingName = left ? 'previousSibling' : 'nextSibling';\n      let tempNode = node;\n      while (tempNode && tempNode !== root) {\n        let sibling = tempNode[siblingName];\n        if (sibling && isCaretContainer(sibling)) {\n          sibling = sibling[siblingName];\n        }\n        if (isContentEditableFalse$7(sibling) || isMedia(sibling)) {\n          if (isNodesInSameBlock(root, sibling, tempNode)) {\n            return sibling;\n          }\n          break;\n        }\n        if (isCaretCandidate$1(sibling)) {\n          break;\n        }\n        tempNode = tempNode.parentNode;\n      }\n      return null;\n    };\n    const before$2 = curry(beforeAfter, true);\n    const after$2 = curry(beforeAfter, false);\n    const normalizeRange = (direction, root, range) => {\n      let node;\n      const leanLeft = curry(lean, true, root);\n      const leanRight = curry(lean, false, root);\n      const container = range.startContainer;\n      const offset = range.startOffset;\n      if (isCaretContainerBlock$1(container)) {\n        const block = isText$4(container) ? container.parentNode : container;\n        const location = block.getAttribute('data-mce-caret');\n        if (location === 'before') {\n          node = block.nextSibling;\n          if (isFakeCaretTarget(node)) {\n            return before$2(node);\n          }\n        }\n        if (location === 'after') {\n          node = block.previousSibling;\n          if (isFakeCaretTarget(node)) {\n            return after$2(node);\n          }\n        }\n      }\n      if (!range.collapsed) {\n        return range;\n      }\n      if (isText$a(container)) {\n        if (isCaretContainer(container)) {\n          if (direction === 1) {\n            node = leanRight(container);\n            if (node) {\n              return before$2(node);\n            }\n            node = leanLeft(container);\n            if (node) {\n              return after$2(node);\n            }\n          }\n          if (direction === -1) {\n            node = leanLeft(container);\n            if (node) {\n              return after$2(node);\n            }\n            node = leanRight(container);\n            if (node) {\n              return before$2(node);\n            }\n          }\n          return range;\n        }\n        if (endsWithCaretContainer$1(container) && offset >= container.data.length - 1) {\n          if (direction === 1) {\n            node = leanRight(container);\n            if (node) {\n              return before$2(node);\n            }\n          }\n          return range;\n        }\n        if (startsWithCaretContainer$1(container) && offset <= 1) {\n          if (direction === -1) {\n            node = leanLeft(container);\n            if (node) {\n              return after$2(node);\n            }\n          }\n          return range;\n        }\n        if (offset === container.data.length) {\n          node = leanRight(container);\n          if (node) {\n            return before$2(node);\n          }\n          return range;\n        }\n        if (offset === 0) {\n          node = leanLeft(container);\n          if (node) {\n            return after$2(node);\n          }\n          return range;\n        }\n      }\n      return range;\n    };\n    const getRelativeCefElm = (forward, caretPosition) => getChildNodeAtRelativeOffset(forward ? 0 : -1, caretPosition).filter(isContentEditableFalse$7);\n    const getNormalizedRangeEndPoint = (direction, root, range) => {\n      const normalizedRange = normalizeRange(direction, root, range);\n      return direction === -1 ? CaretPosition.fromRangeStart(normalizedRange) : CaretPosition.fromRangeEnd(normalizedRange);\n    };\n    const getElementFromPosition = pos => Optional.from(pos.getNode()).map(SugarElement.fromDom);\n    const getElementFromPrevPosition = pos => Optional.from(pos.getNode(true)).map(SugarElement.fromDom);\n    const getVisualCaretPosition = (walkFn, caretPosition) => {\n      let pos = caretPosition;\n      while (pos = walkFn(pos)) {\n        if (pos.isVisible()) {\n          return pos;\n        }\n      }\n      return pos;\n    };\n    const isMoveInsideSameBlock = (from, to) => {\n      const inSameBlock = isInSameBlock(from, to);\n      if (!inSameBlock && isBr$6(from.getNode())) {\n        return true;\n      }\n      return inSameBlock;\n    };\n\n    var HDirection;\n    (function (HDirection) {\n      HDirection[HDirection['Backwards'] = -1] = 'Backwards';\n      HDirection[HDirection['Forwards'] = 1] = 'Forwards';\n    })(HDirection || (HDirection = {}));\n    const isContentEditableFalse$6 = isContentEditableFalse$b;\n    const isText$3 = isText$a;\n    const isElement$1 = isElement$6;\n    const isBr$2 = isBr$6;\n    const isCaretCandidate = isCaretCandidate$3;\n    const isAtomic = isAtomic$1;\n    const isEditableCaretCandidate = isEditableCaretCandidate$1;\n    const getParents$3 = (node, root) => {\n      const parents = [];\n      let tempNode = node;\n      while (tempNode && tempNode !== root) {\n        parents.push(tempNode);\n        tempNode = tempNode.parentNode;\n      }\n      return parents;\n    };\n    const nodeAtIndex = (container, offset) => {\n      if (container.hasChildNodes() && offset < container.childNodes.length) {\n        return container.childNodes[offset];\n      }\n      return null;\n    };\n    const getCaretCandidatePosition = (direction, node) => {\n      if (isForwards(direction)) {\n        if (isCaretCandidate(node.previousSibling) && !isText$3(node.previousSibling)) {\n          return CaretPosition.before(node);\n        }\n        if (isText$3(node)) {\n          return CaretPosition(node, 0);\n        }\n      }\n      if (isBackwards(direction)) {\n        if (isCaretCandidate(node.nextSibling) && !isText$3(node.nextSibling)) {\n          return CaretPosition.after(node);\n        }\n        if (isText$3(node)) {\n          return CaretPosition(node, node.data.length);\n        }\n      }\n      if (isBackwards(direction)) {\n        if (isBr$2(node)) {\n          return CaretPosition.before(node);\n        }\n        return CaretPosition.after(node);\n      }\n      return CaretPosition.before(node);\n    };\n    const moveForwardFromBr = (root, nextNode) => {\n      const nextSibling = nextNode.nextSibling;\n      if (nextSibling && isCaretCandidate(nextSibling)) {\n        if (isText$3(nextSibling)) {\n          return CaretPosition(nextSibling, 0);\n        } else {\n          return CaretPosition.before(nextSibling);\n        }\n      } else {\n        return findCaretPosition$1(HDirection.Forwards, CaretPosition.after(nextNode), root);\n      }\n    };\n    const findCaretPosition$1 = (direction, startPos, root) => {\n      let node;\n      let nextNode;\n      let innerNode;\n      let caretPosition;\n      if (!isElement$1(root) || !startPos) {\n        return null;\n      }\n      if (startPos.isEqual(CaretPosition.after(root)) && root.lastChild) {\n        caretPosition = CaretPosition.after(root.lastChild);\n        if (isBackwards(direction) && isCaretCandidate(root.lastChild) && isElement$1(root.lastChild)) {\n          return isBr$2(root.lastChild) ? CaretPosition.before(root.lastChild) : caretPosition;\n        }\n      } else {\n        caretPosition = startPos;\n      }\n      const container = caretPosition.container();\n      let offset = caretPosition.offset();\n      if (isText$3(container)) {\n        if (isBackwards(direction) && offset > 0) {\n          return CaretPosition(container, --offset);\n        }\n        if (isForwards(direction) && offset < container.length) {\n          return CaretPosition(container, ++offset);\n        }\n        node = container;\n      } else {\n        if (isBackwards(direction) && offset > 0) {\n          nextNode = nodeAtIndex(container, offset - 1);\n          if (isCaretCandidate(nextNode)) {\n            if (!isAtomic(nextNode)) {\n              innerNode = findNode(nextNode, direction, isEditableCaretCandidate, nextNode);\n              if (innerNode) {\n                if (isText$3(innerNode)) {\n                  return CaretPosition(innerNode, innerNode.data.length);\n                }\n                return CaretPosition.after(innerNode);\n              }\n            }\n            if (isText$3(nextNode)) {\n              return CaretPosition(nextNode, nextNode.data.length);\n            }\n            return CaretPosition.before(nextNode);\n          }\n        }\n        if (isForwards(direction) && offset < container.childNodes.length) {\n          nextNode = nodeAtIndex(container, offset);\n          if (isCaretCandidate(nextNode)) {\n            if (isBr$2(nextNode)) {\n              return moveForwardFromBr(root, nextNode);\n            }\n            if (!isAtomic(nextNode)) {\n              innerNode = findNode(nextNode, direction, isEditableCaretCandidate, nextNode);\n              if (innerNode) {\n                if (isText$3(innerNode)) {\n                  return CaretPosition(innerNode, 0);\n                }\n                return CaretPosition.before(innerNode);\n              }\n            }\n            if (isText$3(nextNode)) {\n              return CaretPosition(nextNode, 0);\n            }\n            return CaretPosition.after(nextNode);\n          }\n        }\n        node = nextNode ? nextNode : caretPosition.getNode();\n      }\n      if (node && (isForwards(direction) && caretPosition.isAtEnd() || isBackwards(direction) && caretPosition.isAtStart())) {\n        node = findNode(node, direction, always, root, true);\n        if (isEditableCaretCandidate(node, root)) {\n          return getCaretCandidatePosition(direction, node);\n        }\n      }\n      nextNode = node ? findNode(node, direction, isEditableCaretCandidate, root) : node;\n      const rootContentEditableFalseElm = last$2(filter$5(getParents$3(container, root), isContentEditableFalse$6));\n      if (rootContentEditableFalseElm && (!nextNode || !rootContentEditableFalseElm.contains(nextNode))) {\n        if (isForwards(direction)) {\n          caretPosition = CaretPosition.after(rootContentEditableFalseElm);\n        } else {\n          caretPosition = CaretPosition.before(rootContentEditableFalseElm);\n        }\n        return caretPosition;\n      }\n      if (nextNode) {\n        return getCaretCandidatePosition(direction, nextNode);\n      }\n      return null;\n    };\n    const CaretWalker = root => ({\n      next: caretPosition => {\n        return findCaretPosition$1(HDirection.Forwards, caretPosition, root);\n      },\n      prev: caretPosition => {\n        return findCaretPosition$1(HDirection.Backwards, caretPosition, root);\n      }\n    });\n\n    const walkToPositionIn = (forward, root, start) => {\n      const position = forward ? CaretPosition.before(start) : CaretPosition.after(start);\n      return fromPosition(forward, root, position);\n    };\n    const afterElement = node => isBr$6(node) ? CaretPosition.before(node) : CaretPosition.after(node);\n    const isBeforeOrStart = position => {\n      if (CaretPosition.isTextPosition(position)) {\n        return position.offset() === 0;\n      } else {\n        return isCaretCandidate$3(position.getNode());\n      }\n    };\n    const isAfterOrEnd = position => {\n      if (CaretPosition.isTextPosition(position)) {\n        const container = position.container();\n        return position.offset() === container.data.length;\n      } else {\n        return isCaretCandidate$3(position.getNode(true));\n      }\n    };\n    const isBeforeAfterSameElement = (from, to) => !CaretPosition.isTextPosition(from) && !CaretPosition.isTextPosition(to) && from.getNode() === to.getNode(true);\n    const isAtBr = position => !CaretPosition.isTextPosition(position) && isBr$6(position.getNode());\n    const shouldSkipPosition = (forward, from, to) => {\n      if (forward) {\n        return !isBeforeAfterSameElement(from, to) && !isAtBr(from) && isAfterOrEnd(from) && isBeforeOrStart(to);\n      } else {\n        return !isBeforeAfterSameElement(to, from) && isBeforeOrStart(from) && isAfterOrEnd(to);\n      }\n    };\n    const fromPosition = (forward, root, pos) => {\n      const walker = CaretWalker(root);\n      return Optional.from(forward ? walker.next(pos) : walker.prev(pos));\n    };\n    const navigate = (forward, root, from) => fromPosition(forward, root, from).bind(to => {\n      if (isInSameBlock(from, to, root) && shouldSkipPosition(forward, from, to)) {\n        return fromPosition(forward, root, to);\n      } else {\n        return Optional.some(to);\n      }\n    });\n    const navigateIgnore = (forward, root, from, ignoreFilter) => navigate(forward, root, from).bind(pos => ignoreFilter(pos) ? navigateIgnore(forward, root, pos, ignoreFilter) : Optional.some(pos));\n    const positionIn = (forward, element) => {\n      const startNode = forward ? element.firstChild : element.lastChild;\n      if (isText$a(startNode)) {\n        return Optional.some(CaretPosition(startNode, forward ? 0 : startNode.data.length));\n      } else if (startNode) {\n        if (isCaretCandidate$3(startNode)) {\n          return Optional.some(forward ? CaretPosition.before(startNode) : afterElement(startNode));\n        } else {\n          return walkToPositionIn(forward, element, startNode);\n        }\n      } else {\n        return Optional.none();\n      }\n    };\n    const nextPosition = curry(fromPosition, true);\n    const prevPosition = curry(fromPosition, false);\n    const firstPositionIn = curry(positionIn, true);\n    const lastPositionIn = curry(positionIn, false);\n\n    const CARET_ID = '_mce_caret';\n    const isCaretNode = node => isElement$6(node) && node.id === CARET_ID;\n    const getParentCaretContainer = (body, node) => {\n      let currentNode = node;\n      while (currentNode && currentNode !== body) {\n        if (isCaretNode(currentNode)) {\n          return currentNode;\n        }\n        currentNode = currentNode.parentNode;\n      }\n      return null;\n    };\n\n    const isStringPathBookmark = bookmark => isString(bookmark.start);\n    const isRangeBookmark = bookmark => has$2(bookmark, 'rng');\n    const isIdBookmark = bookmark => has$2(bookmark, 'id');\n    const isIndexBookmark = bookmark => has$2(bookmark, 'name');\n    const isPathBookmark = bookmark => Tools.isArray(bookmark.start);\n\n    const isForwardBookmark = bookmark => !isIndexBookmark(bookmark) && isBoolean(bookmark.forward) ? bookmark.forward : true;\n    const addBogus = (dom, node) => {\n      if (isElement$6(node) && dom.isBlock(node) && !node.innerHTML) {\n        node.innerHTML = '<br data-mce-bogus=\"1\" />';\n      }\n      return node;\n    };\n    const resolveCaretPositionBookmark = (dom, bookmark) => {\n      const startPos = Optional.from(resolve$1(dom.getRoot(), bookmark.start));\n      const endPos = Optional.from(resolve$1(dom.getRoot(), bookmark.end));\n      return lift2(startPos, endPos, (start, end) => {\n        const range = dom.createRng();\n        range.setStart(start.container(), start.offset());\n        range.setEnd(end.container(), end.offset());\n        return {\n          range,\n          forward: isForwardBookmark(bookmark)\n        };\n      });\n    };\n    const insertZwsp = (node, rng) => {\n      var _a;\n      const doc = (_a = node.ownerDocument) !== null && _a !== void 0 ? _a : document;\n      const textNode = doc.createTextNode(ZWSP$1);\n      node.appendChild(textNode);\n      rng.setStart(textNode, 0);\n      rng.setEnd(textNode, 0);\n    };\n    const isEmpty$1 = node => !node.hasChildNodes();\n    const tryFindRangePosition = (node, rng) => lastPositionIn(node).fold(never, pos => {\n      rng.setStart(pos.container(), pos.offset());\n      rng.setEnd(pos.container(), pos.offset());\n      return true;\n    });\n    const padEmptyCaretContainer = (root, node, rng) => {\n      if (isEmpty$1(node) && getParentCaretContainer(root, node)) {\n        insertZwsp(node, rng);\n        return true;\n      } else {\n        return false;\n      }\n    };\n    const setEndPoint = (dom, start, bookmark, rng) => {\n      const point = bookmark[start ? 'start' : 'end'];\n      const root = dom.getRoot();\n      if (point) {\n        let node = root;\n        let offset = point[0];\n        for (let i = point.length - 1; node && i >= 1; i--) {\n          const children = node.childNodes;\n          if (padEmptyCaretContainer(root, node, rng)) {\n            return true;\n          }\n          if (point[i] > children.length - 1) {\n            if (padEmptyCaretContainer(root, node, rng)) {\n              return true;\n            }\n            return tryFindRangePosition(node, rng);\n          }\n          node = children[point[i]];\n        }\n        if (isText$a(node)) {\n          offset = Math.min(point[0], node.data.length);\n        }\n        if (isElement$6(node)) {\n          offset = Math.min(point[0], node.childNodes.length);\n        }\n        if (start) {\n          rng.setStart(node, offset);\n        } else {\n          rng.setEnd(node, offset);\n        }\n      }\n      return true;\n    };\n    const isValidTextNode = node => isText$a(node) && node.data.length > 0;\n    const restoreEndPoint = (dom, suffix, bookmark) => {\n      const marker = dom.get(bookmark.id + '_' + suffix);\n      const markerParent = marker === null || marker === void 0 ? void 0 : marker.parentNode;\n      const keep = bookmark.keep;\n      if (marker && markerParent) {\n        let container;\n        let offset;\n        if (suffix === 'start') {\n          if (!keep) {\n            container = markerParent;\n            offset = dom.nodeIndex(marker);\n          } else {\n            if (marker.hasChildNodes()) {\n              container = marker.firstChild;\n              offset = 1;\n            } else if (isValidTextNode(marker.nextSibling)) {\n              container = marker.nextSibling;\n              offset = 0;\n            } else if (isValidTextNode(marker.previousSibling)) {\n              container = marker.previousSibling;\n              offset = marker.previousSibling.data.length;\n            } else {\n              container = markerParent;\n              offset = dom.nodeIndex(marker) + 1;\n            }\n          }\n        } else {\n          if (!keep) {\n            container = markerParent;\n            offset = dom.nodeIndex(marker);\n          } else {\n            if (marker.hasChildNodes()) {\n              container = marker.firstChild;\n              offset = 1;\n            } else if (isValidTextNode(marker.previousSibling)) {\n              container = marker.previousSibling;\n              offset = marker.previousSibling.data.length;\n            } else {\n              container = markerParent;\n              offset = dom.nodeIndex(marker);\n            }\n          }\n        }\n        if (!keep) {\n          const prev = marker.previousSibling;\n          const next = marker.nextSibling;\n          Tools.each(Tools.grep(marker.childNodes), node => {\n            if (isText$a(node)) {\n              node.data = node.data.replace(/\\uFEFF/g, '');\n            }\n          });\n          let otherMarker;\n          while (otherMarker = dom.get(bookmark.id + '_' + suffix)) {\n            dom.remove(otherMarker, true);\n          }\n          if (isText$a(next) && isText$a(prev) && !Env.browser.isOpera()) {\n            const idx = prev.data.length;\n            prev.appendData(next.data);\n            dom.remove(next);\n            container = prev;\n            offset = idx;\n          }\n        }\n        return Optional.some(CaretPosition(container, offset));\n      } else {\n        return Optional.none();\n      }\n    };\n    const resolvePaths = (dom, bookmark) => {\n      const range = dom.createRng();\n      if (setEndPoint(dom, true, bookmark, range) && setEndPoint(dom, false, bookmark, range)) {\n        return Optional.some({\n          range,\n          forward: isForwardBookmark(bookmark)\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n    const resolveId = (dom, bookmark) => {\n      const startPos = restoreEndPoint(dom, 'start', bookmark);\n      const endPos = restoreEndPoint(dom, 'end', bookmark);\n      return lift2(startPos, endPos.or(startPos), (spos, epos) => {\n        const range = dom.createRng();\n        range.setStart(addBogus(dom, spos.container()), spos.offset());\n        range.setEnd(addBogus(dom, epos.container()), epos.offset());\n        return {\n          range,\n          forward: isForwardBookmark(bookmark)\n        };\n      });\n    };\n    const resolveIndex = (dom, bookmark) => Optional.from(dom.select(bookmark.name)[bookmark.index]).map(elm => {\n      const range = dom.createRng();\n      range.selectNode(elm);\n      return {\n        range,\n        forward: true\n      };\n    });\n    const resolve = (selection, bookmark) => {\n      const dom = selection.dom;\n      if (bookmark) {\n        if (isPathBookmark(bookmark)) {\n          return resolvePaths(dom, bookmark);\n        } else if (isStringPathBookmark(bookmark)) {\n          return resolveCaretPositionBookmark(dom, bookmark);\n        } else if (isIdBookmark(bookmark)) {\n          return resolveId(dom, bookmark);\n        } else if (isIndexBookmark(bookmark)) {\n          return resolveIndex(dom, bookmark);\n        } else if (isRangeBookmark(bookmark)) {\n          return Optional.some({\n            range: bookmark.rng,\n            forward: isForwardBookmark(bookmark)\n          });\n        }\n      }\n      return Optional.none();\n    };\n\n    const getBookmark$1 = (selection, type, normalized) => {\n      return getBookmark$2(selection, type, normalized);\n    };\n    const moveToBookmark = (selection, bookmark) => {\n      resolve(selection, bookmark).each(({\n        range,\n        forward\n      }) => {\n        selection.setRng(range, forward);\n      });\n    };\n    const isBookmarkNode$1 = node => {\n      return isElement$6(node) && node.tagName === 'SPAN' && node.getAttribute('data-mce-type') === 'bookmark';\n    };\n\n    const is = expected => actual => expected === actual;\n    const isNbsp = is(nbsp);\n    const isWhiteSpace = chr => chr !== '' && ' \\f\\n\\r\\t\\x0B'.indexOf(chr) !== -1;\n    const isContent = chr => !isWhiteSpace(chr) && !isNbsp(chr) && !isZwsp$2(chr);\n\n    const getRanges$1 = selection => {\n      const ranges = [];\n      if (selection) {\n        for (let i = 0; i < selection.rangeCount; i++) {\n          ranges.push(selection.getRangeAt(i));\n        }\n      }\n      return ranges;\n    };\n    const getSelectedNodes = ranges => {\n      return bind$3(ranges, range => {\n        const node = getSelectedNode(range);\n        return node ? [SugarElement.fromDom(node)] : [];\n      });\n    };\n    const hasMultipleRanges = selection => {\n      return getRanges$1(selection).length > 1;\n    };\n\n    const getCellsFromRanges = ranges => filter$5(getSelectedNodes(ranges), isTableCell$2);\n    const getCellsFromElement = elm => descendants(elm, 'td[data-mce-selected],th[data-mce-selected]');\n    const getCellsFromElementOrRanges = (ranges, element) => {\n      const selectedCells = getCellsFromElement(element);\n      return selectedCells.length > 0 ? selectedCells : getCellsFromRanges(ranges);\n    };\n    const getCellsFromEditor = editor => getCellsFromElementOrRanges(getRanges$1(editor.selection.getSel()), SugarElement.fromDom(editor.getBody()));\n    const getClosestTable = (cell, isRoot) => ancestor$3(cell, 'table', isRoot);\n\n    const getStartNode = rng => {\n      const sc = rng.startContainer,\n        so = rng.startOffset;\n      if (isText$a(sc)) {\n        return so === 0 ? Optional.some(SugarElement.fromDom(sc)) : Optional.none();\n      } else {\n        return Optional.from(sc.childNodes[so]).map(SugarElement.fromDom);\n      }\n    };\n    const getEndNode = rng => {\n      const ec = rng.endContainer,\n        eo = rng.endOffset;\n      if (isText$a(ec)) {\n        return eo === ec.data.length ? Optional.some(SugarElement.fromDom(ec)) : Optional.none();\n      } else {\n        return Optional.from(ec.childNodes[eo - 1]).map(SugarElement.fromDom);\n      }\n    };\n    const getFirstChildren = node => {\n      return firstChild(node).fold(constant([node]), child => {\n        return [node].concat(getFirstChildren(child));\n      });\n    };\n    const getLastChildren = node => {\n      return lastChild(node).fold(constant([node]), child => {\n        if (name(child) === 'br') {\n          return prevSibling(child).map(sibling => {\n            return [node].concat(getLastChildren(sibling));\n          }).getOr([]);\n        } else {\n          return [node].concat(getLastChildren(child));\n        }\n      });\n    };\n    const hasAllContentsSelected = (elm, rng) => {\n      return lift2(getStartNode(rng), getEndNode(rng), (startNode, endNode) => {\n        const start = find$2(getFirstChildren(elm), curry(eq, startNode));\n        const end = find$2(getLastChildren(elm), curry(eq, endNode));\n        return start.isSome() && end.isSome();\n      }).getOr(false);\n    };\n    const moveEndPoint = (dom, rng, node, start) => {\n      const root = node;\n      const walker = new DomTreeWalker(node, root);\n      const moveCaretBeforeOnEnterElementsMap = filter$4(dom.schema.getMoveCaretBeforeOnEnterElements(), (_, name) => !contains$2(['td', 'th', 'table'], name.toLowerCase()));\n      let currentNode = node;\n      do {\n        if (isText$a(currentNode) && Tools.trim(currentNode.data).length !== 0) {\n          if (start) {\n            rng.setStart(currentNode, 0);\n          } else {\n            rng.setEnd(currentNode, currentNode.data.length);\n          }\n          return;\n        }\n        if (moveCaretBeforeOnEnterElementsMap[currentNode.nodeName]) {\n          if (start) {\n            rng.setStartBefore(currentNode);\n          } else {\n            if (currentNode.nodeName === 'BR') {\n              rng.setEndBefore(currentNode);\n            } else {\n              rng.setEndAfter(currentNode);\n            }\n          }\n          return;\n        }\n      } while (currentNode = start ? walker.next() : walker.prev());\n      if (root.nodeName === 'BODY') {\n        if (start) {\n          rng.setStart(root, 0);\n        } else {\n          rng.setEnd(root, root.childNodes.length);\n        }\n      }\n    };\n    const hasAnyRanges = editor => {\n      const sel = editor.selection.getSel();\n      return isNonNullable(sel) && sel.rangeCount > 0;\n    };\n    const runOnRanges = (editor, executor) => {\n      const fakeSelectionNodes = getCellsFromEditor(editor);\n      if (fakeSelectionNodes.length > 0) {\n        each$e(fakeSelectionNodes, elem => {\n          const node = elem.dom;\n          const fakeNodeRng = editor.dom.createRng();\n          fakeNodeRng.setStartBefore(node);\n          fakeNodeRng.setEndAfter(node);\n          executor(fakeNodeRng, true);\n        });\n      } else {\n        executor(editor.selection.getRng(), false);\n      }\n    };\n    const preserve = (selection, fillBookmark, executor) => {\n      const bookmark = getPersistentBookmark(selection, fillBookmark);\n      executor(bookmark);\n      selection.moveToBookmark(bookmark);\n    };\n\n    const isNode = node => isNumber(node === null || node === void 0 ? void 0 : node.nodeType);\n    const isElementNode$1 = node => isElement$6(node) && !isBookmarkNode$1(node) && !isCaretNode(node) && !isBogus$2(node);\n    const isElementDirectlySelected = (dom, node) => {\n      if (isElementNode$1(node) && !/^(TD|TH)$/.test(node.nodeName)) {\n        const selectedAttr = dom.getAttrib(node, 'data-mce-selected');\n        const value = parseInt(selectedAttr, 10);\n        return !isNaN(value) && value > 0;\n      } else {\n        return false;\n      }\n    };\n    const preserveSelection = (editor, action, shouldMoveStart) => {\n      const {\n        selection,\n        dom\n      } = editor;\n      const selectedNodeBeforeAction = selection.getNode();\n      const isSelectedBeforeNodeNoneditable = isContentEditableFalse$b(selectedNodeBeforeAction);\n      preserve(selection, true, () => {\n        action();\n      });\n      const isBeforeNodeStillNoneditable = isSelectedBeforeNodeNoneditable && isContentEditableFalse$b(selectedNodeBeforeAction);\n      if (isBeforeNodeStillNoneditable && dom.isChildOf(selectedNodeBeforeAction, editor.getBody())) {\n        editor.selection.select(selectedNodeBeforeAction);\n      } else if (shouldMoveStart(selection.getStart())) {\n        moveStartToNearestText(dom, selection);\n      }\n    };\n    const moveStartToNearestText = (dom, selection) => {\n      var _a, _b;\n      const rng = selection.getRng();\n      const {\n        startContainer,\n        startOffset\n      } = rng;\n      const selectedNode = selection.getNode();\n      if (isElementDirectlySelected(dom, selectedNode)) {\n        return;\n      }\n      if (isElement$6(startContainer)) {\n        const nodes = startContainer.childNodes;\n        const root = dom.getRoot();\n        let walker;\n        if (startOffset < nodes.length) {\n          const startNode = nodes[startOffset];\n          walker = new DomTreeWalker(startNode, (_a = dom.getParent(startNode, dom.isBlock)) !== null && _a !== void 0 ? _a : root);\n        } else {\n          const startNode = nodes[nodes.length - 1];\n          walker = new DomTreeWalker(startNode, (_b = dom.getParent(startNode, dom.isBlock)) !== null && _b !== void 0 ? _b : root);\n          walker.next(true);\n        }\n        for (let node = walker.current(); node; node = walker.next()) {\n          if (dom.getContentEditable(node) === 'false') {\n            return;\n          } else if (isText$a(node) && !isWhiteSpaceNode$1(node)) {\n            rng.setStart(node, 0);\n            selection.setRng(rng);\n            return;\n          }\n        }\n      }\n    };\n    const getNonWhiteSpaceSibling = (node, next, inc) => {\n      if (node) {\n        const nextName = next ? 'nextSibling' : 'previousSibling';\n        for (node = inc ? node : node[nextName]; node; node = node[nextName]) {\n          if (isElement$6(node) || !isWhiteSpaceNode$1(node)) {\n            return node;\n          }\n        }\n      }\n      return undefined;\n    };\n    const isTextBlock$1 = (schema, node) => !!schema.getTextBlockElements()[node.nodeName.toLowerCase()] || isTransparentBlock(schema, node);\n    const isValid = (ed, parent, child) => {\n      return ed.schema.isValidChild(parent, child);\n    };\n    const isWhiteSpaceNode$1 = (node, allowSpaces = false) => {\n      if (isNonNullable(node) && isText$a(node)) {\n        const data = allowSpaces ? node.data.replace(/ /g, '\\xA0') : node.data;\n        return isWhitespaceText(data);\n      } else {\n        return false;\n      }\n    };\n    const isEmptyTextNode$1 = node => {\n      return isNonNullable(node) && isText$a(node) && node.length === 0;\n    };\n    const isWrapNoneditableTarget = (editor, node) => {\n      const baseDataSelector = '[data-mce-cef-wrappable]';\n      const formatNoneditableSelector = getFormatNoneditableSelector(editor);\n      const selector = isEmpty$3(formatNoneditableSelector) ? baseDataSelector : \"\".concat(baseDataSelector, \",\").concat(formatNoneditableSelector);\n      return is$1(SugarElement.fromDom(node), selector);\n    };\n    const isWrappableNoneditable = (editor, node) => {\n      const dom = editor.dom;\n      return isElementNode$1(node) && dom.getContentEditable(node) === 'false' && isWrapNoneditableTarget(editor, node) && dom.select('[contenteditable=\"true\"]', node).length === 0;\n    };\n    const replaceVars = (value, vars) => {\n      if (isFunction(value)) {\n        return value(vars);\n      } else if (isNonNullable(vars)) {\n        value = value.replace(/%(\\w+)/g, (str, name) => {\n          return vars[name] || str;\n        });\n      }\n      return value;\n    };\n    const isEq$5 = (str1, str2) => {\n      str1 = str1 || '';\n      str2 = str2 || '';\n      str1 = '' + (str1.nodeName || str1);\n      str2 = '' + (str2.nodeName || str2);\n      return str1.toLowerCase() === str2.toLowerCase();\n    };\n    const normalizeStyleValue = (value, name) => {\n      if (isNullable(value)) {\n        return null;\n      } else {\n        let strValue = String(value);\n        if (name === 'color' || name === 'backgroundColor') {\n          strValue = rgbaToHexString(strValue);\n        }\n        if (name === 'fontWeight' && value === 700) {\n          strValue = 'bold';\n        }\n        if (name === 'fontFamily') {\n          strValue = strValue.replace(/[\\'\\\"]/g, '').replace(/,\\s+/g, ',');\n        }\n        return strValue;\n      }\n    };\n    const getStyle = (dom, node, name) => {\n      const style = dom.getStyle(node, name);\n      return normalizeStyleValue(style, name);\n    };\n    const getTextDecoration = (dom, node) => {\n      let decoration;\n      dom.getParent(node, n => {\n        if (isElement$6(n)) {\n          decoration = dom.getStyle(n, 'text-decoration');\n          return !!decoration && decoration !== 'none';\n        } else {\n          return false;\n        }\n      });\n      return decoration;\n    };\n    const getParents$2 = (dom, node, selector) => {\n      return dom.getParents(node, selector, dom.getRoot());\n    };\n    const isFormatPredicate = (editor, formatName, predicate) => {\n      const formats = editor.formatter.get(formatName);\n      return isNonNullable(formats) && exists(formats, predicate);\n    };\n    const isVariableFormatName = (editor, formatName) => {\n      const hasVariableValues = format => {\n        const isVariableValue = val => isFunction(val) || val.length > 1 && val.charAt(0) === '%';\n        return exists(['styles', 'attributes'], key => get$a(format, key).exists(field => {\n          const fieldValues = isArray$1(field) ? field : values(field);\n          return exists(fieldValues, isVariableValue);\n        }));\n      };\n      return isFormatPredicate(editor, formatName, hasVariableValues);\n    };\n    const areSimilarFormats = (editor, formatName, otherFormatName) => {\n      const validKeys = ['inline', 'block', 'selector', 'attributes', 'styles', 'classes'];\n      const filterObj = format => filter$4(format, (_, key) => exists(validKeys, validKey => validKey === key));\n      return isFormatPredicate(editor, formatName, fmt1 => {\n        const filteredFmt1 = filterObj(fmt1);\n        return isFormatPredicate(editor, otherFormatName, fmt2 => {\n          const filteredFmt2 = filterObj(fmt2);\n          return equal$1(filteredFmt1, filteredFmt2);\n        });\n      });\n    };\n    const isBlockFormat = format => hasNonNullableKey(format, 'block');\n    const isWrappingBlockFormat = format => isBlockFormat(format) && format.wrapper === true;\n    const isNonWrappingBlockFormat = format => isBlockFormat(format) && format.wrapper !== true;\n    const isSelectorFormat = format => hasNonNullableKey(format, 'selector');\n    const isInlineFormat = format => hasNonNullableKey(format, 'inline');\n    const isMixedFormat = format => isSelectorFormat(format) && isInlineFormat(format) && is$2(get$a(format, 'mixed'), true);\n    const shouldExpandToSelector = format => isSelectorFormat(format) && format.expand !== false && !isInlineFormat(format);\n    const getEmptyCaretContainers = node => {\n      const nodes = [];\n      let tempNode = node;\n      while (tempNode) {\n        if (isText$a(tempNode) && tempNode.data !== ZWSP$1 || tempNode.childNodes.length > 1) {\n          return [];\n        }\n        if (isElement$6(tempNode)) {\n          nodes.push(tempNode);\n        }\n        tempNode = tempNode.firstChild;\n      }\n      return nodes;\n    };\n    const isCaretContainerEmpty = node => {\n      return getEmptyCaretContainers(node).length > 0;\n    };\n    const isEmptyCaretFormatElement = element => {\n      return isCaretNode(element.dom) && isCaretContainerEmpty(element.dom);\n    };\n\n    const isBookmarkNode = isBookmarkNode$1;\n    const getParents$1 = getParents$2;\n    const isWhiteSpaceNode = isWhiteSpaceNode$1;\n    const isTextBlock = isTextBlock$1;\n    const isBogusBr = node => {\n      return isBr$6(node) && node.getAttribute('data-mce-bogus') && !node.nextSibling;\n    };\n    const findParentContentEditable = (dom, node) => {\n      let parent = node;\n      while (parent) {\n        if (isElement$6(parent) && dom.getContentEditable(parent)) {\n          return dom.getContentEditable(parent) === 'false' ? parent : node;\n        }\n        parent = parent.parentNode;\n      }\n      return node;\n    };\n    const walkText = (start, node, offset, predicate) => {\n      const str = node.data;\n      if (start) {\n        for (let i = offset; i > 0; i--) {\n          if (predicate(str.charAt(i - 1))) {\n            return i;\n          }\n        }\n      } else {\n        for (let i = offset; i < str.length; i++) {\n          if (predicate(str.charAt(i))) {\n            return i;\n          }\n        }\n      }\n      return -1;\n    };\n    const findSpace = (start, node, offset) => walkText(start, node, offset, c => isNbsp(c) || isWhiteSpace(c));\n    const findContent = (start, node, offset) => walkText(start, node, offset, isContent);\n    const findWordEndPoint = (dom, body, container, offset, start, includeTrailingSpaces) => {\n      let lastTextNode;\n      const rootNode = dom.getParent(container, dom.isBlock) || body;\n      const walk = (container, offset, pred) => {\n        const textSeeker = TextSeeker(dom);\n        const walker = start ? textSeeker.backwards : textSeeker.forwards;\n        return Optional.from(walker(container, offset, (text, textOffset) => {\n          if (isBookmarkNode(text.parentNode)) {\n            return -1;\n          } else {\n            lastTextNode = text;\n            return pred(start, text, textOffset);\n          }\n        }, rootNode));\n      };\n      const spaceResult = walk(container, offset, findSpace);\n      return spaceResult.bind(result => includeTrailingSpaces ? walk(result.container, result.offset + (start ? -1 : 0), findContent) : Optional.some(result)).orThunk(() => lastTextNode ? Optional.some({\n        container: lastTextNode,\n        offset: start ? 0 : lastTextNode.length\n      }) : Optional.none());\n    };\n    const findSelectorEndPoint = (dom, formatList, rng, container, siblingName) => {\n      const sibling = container[siblingName];\n      if (isText$a(container) && isEmpty$3(container.data) && sibling) {\n        container = sibling;\n      }\n      const parents = getParents$1(dom, container);\n      for (let i = 0; i < parents.length; i++) {\n        for (let y = 0; y < formatList.length; y++) {\n          const curFormat = formatList[y];\n          if (isNonNullable(curFormat.collapsed) && curFormat.collapsed !== rng.collapsed) {\n            continue;\n          }\n          if (isSelectorFormat(curFormat) && dom.is(parents[i], curFormat.selector)) {\n            return parents[i];\n          }\n        }\n      }\n      return container;\n    };\n    const findBlockEndPoint = (dom, formatList, container, siblingName) => {\n      var _a;\n      let node = container;\n      const root = dom.getRoot();\n      const format = formatList[0];\n      if (isBlockFormat(format)) {\n        node = format.wrapper ? null : dom.getParent(container, format.block, root);\n      }\n      if (!node) {\n        const scopeRoot = (_a = dom.getParent(container, 'LI,TD,TH,SUMMARY')) !== null && _a !== void 0 ? _a : root;\n        node = dom.getParent(isText$a(container) ? container.parentNode : container, node => node !== root && isTextBlock(dom.schema, node), scopeRoot);\n      }\n      if (node && isBlockFormat(format) && format.wrapper) {\n        node = getParents$1(dom, node, 'ul,ol').reverse()[0] || node;\n      }\n      if (!node) {\n        node = container;\n        while (node && node[siblingName] && !dom.isBlock(node[siblingName])) {\n          node = node[siblingName];\n          if (isEq$5(node, 'br')) {\n            break;\n          }\n        }\n      }\n      return node || container;\n    };\n    const isAtBlockBoundary$1 = (dom, root, container, siblingName) => {\n      const parent = container.parentNode;\n      if (isNonNullable(container[siblingName])) {\n        return false;\n      } else if (parent === root || isNullable(parent) || dom.isBlock(parent)) {\n        return true;\n      } else {\n        return isAtBlockBoundary$1(dom, root, parent, siblingName);\n      }\n    };\n    const findParentContainer = (dom, formatList, container, offset, start) => {\n      let parent = container;\n      const siblingName = start ? 'previousSibling' : 'nextSibling';\n      const root = dom.getRoot();\n      if (isText$a(container) && !isWhiteSpaceNode(container)) {\n        if (start ? offset > 0 : offset < container.data.length) {\n          return container;\n        }\n      }\n      while (parent) {\n        if (!formatList[0].block_expand && dom.isBlock(parent)) {\n          return parent;\n        }\n        for (let sibling = parent[siblingName]; sibling; sibling = sibling[siblingName]) {\n          const allowSpaces = isText$a(sibling) && !isAtBlockBoundary$1(dom, root, sibling, siblingName);\n          if (!isBookmarkNode(sibling) && !isBogusBr(sibling) && !isWhiteSpaceNode(sibling, allowSpaces)) {\n            return parent;\n          }\n        }\n        if (parent === root || parent.parentNode === root) {\n          container = parent;\n          break;\n        }\n        parent = parent.parentNode;\n      }\n      return container;\n    };\n    const isSelfOrParentBookmark = container => isBookmarkNode(container.parentNode) || isBookmarkNode(container);\n    const expandRng = (dom, rng, formatList, includeTrailingSpace = false) => {\n      let {\n        startContainer,\n        startOffset,\n        endContainer,\n        endOffset\n      } = rng;\n      const format = formatList[0];\n      if (isElement$6(startContainer) && startContainer.hasChildNodes()) {\n        startContainer = getNode$1(startContainer, startOffset);\n        if (isText$a(startContainer)) {\n          startOffset = 0;\n        }\n      }\n      if (isElement$6(endContainer) && endContainer.hasChildNodes()) {\n        endContainer = getNode$1(endContainer, rng.collapsed ? endOffset : endOffset - 1);\n        if (isText$a(endContainer)) {\n          endOffset = endContainer.data.length;\n        }\n      }\n      startContainer = findParentContentEditable(dom, startContainer);\n      endContainer = findParentContentEditable(dom, endContainer);\n      if (isSelfOrParentBookmark(startContainer)) {\n        startContainer = isBookmarkNode(startContainer) ? startContainer : startContainer.parentNode;\n        if (rng.collapsed) {\n          startContainer = startContainer.previousSibling || startContainer;\n        } else {\n          startContainer = startContainer.nextSibling || startContainer;\n        }\n        if (isText$a(startContainer)) {\n          startOffset = rng.collapsed ? startContainer.length : 0;\n        }\n      }\n      if (isSelfOrParentBookmark(endContainer)) {\n        endContainer = isBookmarkNode(endContainer) ? endContainer : endContainer.parentNode;\n        if (rng.collapsed) {\n          endContainer = endContainer.nextSibling || endContainer;\n        } else {\n          endContainer = endContainer.previousSibling || endContainer;\n        }\n        if (isText$a(endContainer)) {\n          endOffset = rng.collapsed ? 0 : endContainer.length;\n        }\n      }\n      if (rng.collapsed) {\n        const startPoint = findWordEndPoint(dom, dom.getRoot(), startContainer, startOffset, true, includeTrailingSpace);\n        startPoint.each(({\n          container,\n          offset\n        }) => {\n          startContainer = container;\n          startOffset = offset;\n        });\n        const endPoint = findWordEndPoint(dom, dom.getRoot(), endContainer, endOffset, false, includeTrailingSpace);\n        endPoint.each(({\n          container,\n          offset\n        }) => {\n          endContainer = container;\n          endOffset = offset;\n        });\n      }\n      if (isInlineFormat(format) || format.block_expand) {\n        if (!isInlineFormat(format) || !isText$a(startContainer) || startOffset === 0) {\n          startContainer = findParentContainer(dom, formatList, startContainer, startOffset, true);\n        }\n        if (!isInlineFormat(format) || !isText$a(endContainer) || endOffset === endContainer.data.length) {\n          endContainer = findParentContainer(dom, formatList, endContainer, endOffset, false);\n        }\n      }\n      if (shouldExpandToSelector(format)) {\n        startContainer = findSelectorEndPoint(dom, formatList, rng, startContainer, 'previousSibling');\n        endContainer = findSelectorEndPoint(dom, formatList, rng, endContainer, 'nextSibling');\n      }\n      if (isBlockFormat(format) || isSelectorFormat(format)) {\n        startContainer = findBlockEndPoint(dom, formatList, startContainer, 'previousSibling');\n        endContainer = findBlockEndPoint(dom, formatList, endContainer, 'nextSibling');\n        if (isBlockFormat(format)) {\n          if (!dom.isBlock(startContainer)) {\n            startContainer = findParentContainer(dom, formatList, startContainer, startOffset, true);\n          }\n          if (!dom.isBlock(endContainer)) {\n            endContainer = findParentContainer(dom, formatList, endContainer, endOffset, false);\n          }\n        }\n      }\n      if (isElement$6(startContainer) && startContainer.parentNode) {\n        startOffset = dom.nodeIndex(startContainer);\n        startContainer = startContainer.parentNode;\n      }\n      if (isElement$6(endContainer) && endContainer.parentNode) {\n        endOffset = dom.nodeIndex(endContainer) + 1;\n        endContainer = endContainer.parentNode;\n      }\n      return {\n        startContainer,\n        startOffset,\n        endContainer,\n        endOffset\n      };\n    };\n\n    const walk$3 = (dom, rng, callback) => {\n      var _a;\n      const startOffset = rng.startOffset;\n      const startContainer = getNode$1(rng.startContainer, startOffset);\n      const endOffset = rng.endOffset;\n      const endContainer = getNode$1(rng.endContainer, endOffset - 1);\n      const exclude = nodes => {\n        const firstNode = nodes[0];\n        if (isText$a(firstNode) && firstNode === startContainer && startOffset >= firstNode.data.length) {\n          nodes.splice(0, 1);\n        }\n        const lastNode = nodes[nodes.length - 1];\n        if (endOffset === 0 && nodes.length > 0 && lastNode === endContainer && isText$a(lastNode)) {\n          nodes.splice(nodes.length - 1, 1);\n        }\n        return nodes;\n      };\n      const collectSiblings = (node, name, endNode) => {\n        const siblings = [];\n        for (; node && node !== endNode; node = node[name]) {\n          siblings.push(node);\n        }\n        return siblings;\n      };\n      const findEndPoint = (node, root) => dom.getParent(node, node => node.parentNode === root, root);\n      const walkBoundary = (startNode, endNode, next) => {\n        const siblingName = next ? 'nextSibling' : 'previousSibling';\n        for (let node = startNode, parent = node.parentNode; node && node !== endNode; node = parent) {\n          parent = node.parentNode;\n          const siblings = collectSiblings(node === startNode ? node : node[siblingName], siblingName);\n          if (siblings.length) {\n            if (!next) {\n              siblings.reverse();\n            }\n            callback(exclude(siblings));\n          }\n        }\n      };\n      if (startContainer === endContainer) {\n        return callback(exclude([startContainer]));\n      }\n      const ancestor = (_a = dom.findCommonAncestor(startContainer, endContainer)) !== null && _a !== void 0 ? _a : dom.getRoot();\n      if (dom.isChildOf(startContainer, endContainer)) {\n        return walkBoundary(startContainer, ancestor, true);\n      }\n      if (dom.isChildOf(endContainer, startContainer)) {\n        return walkBoundary(endContainer, ancestor);\n      }\n      const startPoint = findEndPoint(startContainer, ancestor) || startContainer;\n      const endPoint = findEndPoint(endContainer, ancestor) || endContainer;\n      walkBoundary(startContainer, startPoint, true);\n      const siblings = collectSiblings(startPoint === startContainer ? startPoint : startPoint.nextSibling, 'nextSibling', endPoint === endContainer ? endPoint.nextSibling : endPoint);\n      if (siblings.length) {\n        callback(exclude(siblings));\n      }\n      walkBoundary(endContainer, endPoint);\n    };\n\n    const validBlocks = ['pre[class*=language-][contenteditable=\"false\"]', 'figure.image', 'div[data-ephox-embed-iri]', 'div.tiny-pageembed', 'div.mce-toc', 'div[data-mce-toc]'];\n    const isZeroWidth = elem => isText$b(elem) && get$3(elem) === ZWSP$1;\n    const context = (editor, elem, wrapName, nodeName) => parent(elem).fold(() => 'skipping', parent => {\n      if (nodeName === 'br' || isZeroWidth(elem)) {\n        return 'valid';\n      } else if (isAnnotation(elem)) {\n        return 'existing';\n      } else if (isCaretNode(elem.dom)) {\n        return 'caret';\n      } else if (exists(validBlocks, selector => is$1(elem, selector))) {\n        return 'valid-block';\n      } else if (!isValid(editor, wrapName, nodeName) || !isValid(editor, name(parent), wrapName)) {\n        return 'invalid-child';\n      } else {\n        return 'valid';\n      }\n    });\n\n    const applyWordGrab = (editor, rng) => {\n      const r = expandRng(editor.dom, rng, [{\n        inline: 'span'\n      }]);\n      rng.setStart(r.startContainer, r.startOffset);\n      rng.setEnd(r.endContainer, r.endOffset);\n      editor.selection.setRng(rng);\n    };\n    const applyAnnotation = (elem, masterUId, data, annotationName, decorate, directAnnotation) => {\n      const {\n        uid = masterUId,\n        ...otherData\n      } = data;\n      add$2(elem, annotation());\n      set$3(elem, \"\".concat(dataAnnotationId()), uid);\n      set$3(elem, \"\".concat(dataAnnotation()), annotationName);\n      const {\n        attributes = {},\n        classes = []\n      } = decorate(uid, otherData);\n      setAll$1(elem, attributes);\n      add(elem, classes);\n      if (directAnnotation) {\n        if (classes.length > 0) {\n          set$3(elem, \"\".concat(dataAnnotationClasses()), classes.join(','));\n        }\n        const attributeNames = keys(attributes);\n        if (attributeNames.length > 0) {\n          set$3(elem, \"\".concat(dataAnnotationAttributes()), attributeNames.join(','));\n        }\n      }\n    };\n    const removeDirectAnnotation = elem => {\n      remove$7(elem, annotation());\n      remove$a(elem, \"\".concat(dataAnnotationId()));\n      remove$a(elem, \"\".concat(dataAnnotation()));\n      remove$a(elem, \"\".concat(dataAnnotationActive()));\n      const customAttrNames = getOpt(elem, \"\".concat(dataAnnotationAttributes())).map(names => names.split(',')).getOr([]);\n      const customClasses = getOpt(elem, \"\".concat(dataAnnotationClasses())).map(names => names.split(',')).getOr([]);\n      each$e(customAttrNames, name => remove$a(elem, name));\n      remove$4(elem, customClasses);\n      remove$a(elem, \"\".concat(dataAnnotationClasses()));\n      remove$a(elem, \"\".concat(dataAnnotationAttributes()));\n    };\n    const makeAnnotation = (eDoc, uid, data, annotationName, decorate) => {\n      const master = SugarElement.fromTag('span', eDoc);\n      applyAnnotation(master, uid, data, annotationName, decorate, false);\n      return master;\n    };\n    const annotate = (editor, rng, uid, annotationName, decorate, data) => {\n      const newWrappers = [];\n      const master = makeAnnotation(editor.getDoc(), uid, data, annotationName, decorate);\n      const wrapper = value$2();\n      const finishWrapper = () => {\n        wrapper.clear();\n      };\n      const getOrOpenWrapper = () => wrapper.get().getOrThunk(() => {\n        const nu = shallow$1(master);\n        newWrappers.push(nu);\n        wrapper.set(nu);\n        return nu;\n      });\n      const processElements = elems => {\n        each$e(elems, processElement);\n      };\n      const processElement = elem => {\n        const ctx = context(editor, elem, 'span', name(elem));\n        switch (ctx) {\n          case 'invalid-child':\n            {\n              finishWrapper();\n              const children = children$1(elem);\n              processElements(children);\n              finishWrapper();\n              break;\n            }\n          case 'valid-block':\n            {\n              finishWrapper();\n              applyAnnotation(elem, uid, data, annotationName, decorate, true);\n              break;\n            }\n          case 'valid':\n            {\n              const w = getOrOpenWrapper();\n              wrap$2(elem, w);\n              break;\n            }\n        }\n      };\n      const processNodes = nodes => {\n        const elems = map$3(nodes, SugarElement.fromDom);\n        processElements(elems);\n      };\n      walk$3(editor.dom, rng, nodes => {\n        finishWrapper();\n        processNodes(nodes);\n      });\n      return newWrappers;\n    };\n    const annotateWithBookmark = (editor, name, settings, data) => {\n      editor.undoManager.transact(() => {\n        const selection = editor.selection;\n        const initialRng = selection.getRng();\n        const hasFakeSelection = getCellsFromEditor(editor).length > 0;\n        const masterUid = generate$1('mce-annotation');\n        if (initialRng.collapsed && !hasFakeSelection) {\n          applyWordGrab(editor, initialRng);\n        }\n        if (selection.getRng().collapsed && !hasFakeSelection) {\n          const wrapper = makeAnnotation(editor.getDoc(), masterUid, data, name, settings.decorate);\n          set$1(wrapper, nbsp);\n          selection.getRng().insertNode(wrapper.dom);\n          selection.select(wrapper.dom);\n        } else {\n          preserve(selection, false, () => {\n            runOnRanges(editor, selectionRng => {\n              annotate(editor, selectionRng, masterUid, name, settings.decorate, data);\n            });\n          });\n        }\n      });\n    };\n\n    const Annotator = editor => {\n      const registry = create$c();\n      setup$x(editor, registry);\n      const changes = setup$y(editor, registry);\n      const isSpan = isTag('span');\n      const removeAnnotations = elements => {\n        each$e(elements, element => {\n          if (isSpan(element)) {\n            unwrap(element);\n          } else {\n            removeDirectAnnotation(element);\n          }\n        });\n      };\n      return {\n        register: (name, settings) => {\n          registry.register(name, settings);\n        },\n        annotate: (name, data) => {\n          registry.lookup(name).each(settings => {\n            annotateWithBookmark(editor, name, settings, data);\n          });\n        },\n        annotationChanged: (name, callback) => {\n          changes.addListener(name, callback);\n        },\n        remove: name => {\n          identify(editor, Optional.some(name)).each(({\n            elements\n          }) => {\n            const bookmark = editor.selection.getBookmark();\n            removeAnnotations(elements);\n            editor.selection.moveToBookmark(bookmark);\n          });\n        },\n        removeAll: name => {\n          const bookmark = editor.selection.getBookmark();\n          each$d(findAll(editor, name), (elements, _) => {\n            removeAnnotations(elements);\n          });\n          editor.selection.moveToBookmark(bookmark);\n        },\n        getAll: name => {\n          const directory = findAll(editor, name);\n          return map$2(directory, elems => map$3(elems, elem => elem.dom));\n        }\n      };\n    };\n\n    const BookmarkManager = selection => {\n      return {\n        getBookmark: curry(getBookmark$1, selection),\n        moveToBookmark: curry(moveToBookmark, selection)\n      };\n    };\n    BookmarkManager.isBookmarkNode = isBookmarkNode$1;\n\n    const isXYWithinRange = (clientX, clientY, range) => {\n      if (range.collapsed) {\n        return false;\n      } else {\n        return exists(range.getClientRects(), rect => containsXY(rect, clientX, clientY));\n      }\n    };\n\n    const firePreProcess = (editor, args) => editor.dispatch('PreProcess', args);\n    const firePostProcess = (editor, args) => editor.dispatch('PostProcess', args);\n    const fireRemove = editor => {\n      editor.dispatch('remove');\n    };\n    const fireDetach = editor => {\n      editor.dispatch('detach');\n    };\n    const fireSwitchMode = (editor, mode) => {\n      editor.dispatch('SwitchMode', {\n        mode\n      });\n    };\n    const fireObjectResizeStart = (editor, target, width, height, origin) => {\n      editor.dispatch('ObjectResizeStart', {\n        target,\n        width,\n        height,\n        origin\n      });\n    };\n    const fireObjectResized = (editor, target, width, height, origin) => {\n      editor.dispatch('ObjectResized', {\n        target,\n        width,\n        height,\n        origin\n      });\n    };\n    const firePreInit = editor => {\n      editor.dispatch('PreInit');\n    };\n    const firePostRender = editor => {\n      editor.dispatch('PostRender');\n    };\n    const fireInit = editor => {\n      editor.dispatch('Init');\n    };\n    const firePlaceholderToggle = (editor, state) => {\n      editor.dispatch('PlaceholderToggle', {\n        state\n      });\n    };\n    const fireError = (editor, errorType, error) => {\n      editor.dispatch(errorType, error);\n    };\n    const fireFormatApply = (editor, format, node, vars) => {\n      editor.dispatch('FormatApply', {\n        format,\n        node,\n        vars\n      });\n    };\n    const fireFormatRemove = (editor, format, node, vars) => {\n      editor.dispatch('FormatRemove', {\n        format,\n        node,\n        vars\n      });\n    };\n    const fireBeforeSetContent = (editor, args) => editor.dispatch('BeforeSetContent', args);\n    const fireSetContent = (editor, args) => editor.dispatch('SetContent', args);\n    const fireBeforeGetContent = (editor, args) => editor.dispatch('BeforeGetContent', args);\n    const fireGetContent = (editor, args) => editor.dispatch('GetContent', args);\n    const fireAutocompleterStart = (editor, args) => {\n      editor.dispatch('AutocompleterStart', args);\n    };\n    const fireAutocompleterUpdate = (editor, args) => {\n      editor.dispatch('AutocompleterUpdate', args);\n    };\n    const fireAutocompleterEnd = editor => {\n      editor.dispatch('AutocompleterEnd');\n    };\n    const firePastePreProcess = (editor, html, internal) => editor.dispatch('PastePreProcess', {\n      content: html,\n      internal\n    });\n    const firePastePostProcess = (editor, node, internal) => editor.dispatch('PastePostProcess', {\n      node,\n      internal\n    });\n    const firePastePlainTextToggle = (editor, state) => editor.dispatch('PastePlainTextToggle', {\n      state\n    });\n    const fireEditableRootStateChange = (editor, state) => editor.dispatch('EditableRootStateChange', {\n      state\n    });\n\n    const VK = {\n      BACKSPACE: 8,\n      DELETE: 46,\n      DOWN: 40,\n      ENTER: 13,\n      ESC: 27,\n      LEFT: 37,\n      RIGHT: 39,\n      SPACEBAR: 32,\n      TAB: 9,\n      UP: 38,\n      PAGE_UP: 33,\n      PAGE_DOWN: 34,\n      END: 35,\n      HOME: 36,\n      modifierPressed: e => {\n        return e.shiftKey || e.ctrlKey || e.altKey || VK.metaKeyPressed(e);\n      },\n      metaKeyPressed: e => {\n        return Env.os.isMacOS() || Env.os.isiOS() ? e.metaKey : e.ctrlKey && !e.altKey;\n      }\n    };\n\n    const elementSelectionAttr = 'data-mce-selected';\n    const controlElmSelector = 'table,img,figure.image,hr,video,span.mce-preview-object,details';\n    const abs = Math.abs;\n    const round$1 = Math.round;\n    const resizeHandles = {\n      nw: [0, 0, -1, -1],\n      ne: [1, 0, 1, -1],\n      se: [1, 1, 1, 1],\n      sw: [0, 1, -1, 1]\n    };\n    const isTouchEvent = evt => evt.type === 'longpress' || evt.type.indexOf('touch') === 0;\n    const ControlSelection = (selection, editor) => {\n      const dom = editor.dom;\n      const editableDoc = editor.getDoc();\n      const rootDocument = document;\n      const rootElement = editor.getBody();\n      let selectedElm, selectedElmGhost, resizeHelper, selectedHandle, resizeBackdrop;\n      let startX, startY, selectedElmX, selectedElmY, startW, startH, ratio, resizeStarted;\n      let width;\n      let height;\n      let startScrollWidth;\n      let startScrollHeight;\n      const isImage = elm => isNonNullable(elm) && (isImg(elm) || dom.is(elm, 'figure.image'));\n      const isMedia = elm => isMedia$2(elm) || dom.hasClass(elm, 'mce-preview-object');\n      const isEventOnImageOutsideRange = (evt, range) => {\n        if (isTouchEvent(evt)) {\n          const touch = evt.touches[0];\n          return isImage(evt.target) && !isXYWithinRange(touch.clientX, touch.clientY, range);\n        } else {\n          return isImage(evt.target) && !isXYWithinRange(evt.clientX, evt.clientY, range);\n        }\n      };\n      const contextMenuSelectImage = evt => {\n        const target = evt.target;\n        if (isEventOnImageOutsideRange(evt, editor.selection.getRng()) && !evt.isDefaultPrevented()) {\n          editor.selection.select(target);\n        }\n      };\n      const getResizeTargets = elm => {\n        if (dom.hasClass(elm, 'mce-preview-object') && isNonNullable(elm.firstElementChild)) {\n          return [elm, elm.firstElementChild];\n        } else if (dom.is(elm, 'figure.image')) {\n          return [elm.querySelector('img')];\n        } else {\n          return [elm];\n        }\n      };\n      const isResizable = elm => {\n        const selector = getObjectResizing(editor);\n        if (!selector) {\n          return false;\n        }\n        if (elm.getAttribute('data-mce-resize') === 'false') {\n          return false;\n        }\n        if (elm === editor.getBody()) {\n          return false;\n        }\n        if (dom.hasClass(elm, 'mce-preview-object') && isNonNullable(elm.firstElementChild)) {\n          return is$1(SugarElement.fromDom(elm.firstElementChild), selector);\n        } else {\n          return is$1(SugarElement.fromDom(elm), selector);\n        }\n      };\n      const createGhostElement = elm => {\n        if (isMedia(elm)) {\n          return dom.create('img', {\n            src: Env.transparentSrc\n          });\n        } else {\n          return elm.cloneNode(true);\n        }\n      };\n      const setSizeProp = (element, name, value) => {\n        if (isNonNullable(value)) {\n          const targets = getResizeTargets(element);\n          each$e(targets, target => {\n            if (target.style[name] || !editor.schema.isValid(target.nodeName.toLowerCase(), name)) {\n              dom.setStyle(target, name, value);\n            } else {\n              dom.setAttrib(target, name, '' + value);\n            }\n          });\n        }\n      };\n      const setGhostElmSize = (ghostElm, width, height) => {\n        setSizeProp(ghostElm, 'width', width);\n        setSizeProp(ghostElm, 'height', height);\n      };\n      const resizeGhostElement = e => {\n        let deltaX, deltaY, proportional;\n        let resizeHelperX, resizeHelperY;\n        deltaX = e.screenX - startX;\n        deltaY = e.screenY - startY;\n        width = deltaX * selectedHandle[2] + startW;\n        height = deltaY * selectedHandle[3] + startH;\n        width = width < 5 ? 5 : width;\n        height = height < 5 ? 5 : height;\n        if ((isImage(selectedElm) || isMedia(selectedElm)) && getResizeImgProportional(editor) !== false) {\n          proportional = !VK.modifierPressed(e);\n        } else {\n          proportional = VK.modifierPressed(e);\n        }\n        if (proportional) {\n          if (abs(deltaX) > abs(deltaY)) {\n            height = round$1(width * ratio);\n            width = round$1(height / ratio);\n          } else {\n            width = round$1(height / ratio);\n            height = round$1(width * ratio);\n          }\n        }\n        setGhostElmSize(selectedElmGhost, width, height);\n        resizeHelperX = selectedHandle.startPos.x + deltaX;\n        resizeHelperY = selectedHandle.startPos.y + deltaY;\n        resizeHelperX = resizeHelperX > 0 ? resizeHelperX : 0;\n        resizeHelperY = resizeHelperY > 0 ? resizeHelperY : 0;\n        dom.setStyles(resizeHelper, {\n          left: resizeHelperX,\n          top: resizeHelperY,\n          display: 'block'\n        });\n        resizeHelper.innerHTML = width + ' &times; ' + height;\n        if (selectedHandle[2] < 0 && selectedElmGhost.clientWidth <= width) {\n          dom.setStyle(selectedElmGhost, 'left', selectedElmX + (startW - width));\n        }\n        if (selectedHandle[3] < 0 && selectedElmGhost.clientHeight <= height) {\n          dom.setStyle(selectedElmGhost, 'top', selectedElmY + (startH - height));\n        }\n        deltaX = rootElement.scrollWidth - startScrollWidth;\n        deltaY = rootElement.scrollHeight - startScrollHeight;\n        if (deltaX + deltaY !== 0) {\n          dom.setStyles(resizeHelper, {\n            left: resizeHelperX - deltaX,\n            top: resizeHelperY - deltaY\n          });\n        }\n        if (!resizeStarted) {\n          fireObjectResizeStart(editor, selectedElm, startW, startH, 'corner-' + selectedHandle.name);\n          resizeStarted = true;\n        }\n      };\n      const endGhostResize = () => {\n        const wasResizeStarted = resizeStarted;\n        resizeStarted = false;\n        if (wasResizeStarted) {\n          setSizeProp(selectedElm, 'width', width);\n          setSizeProp(selectedElm, 'height', height);\n        }\n        dom.unbind(editableDoc, 'mousemove', resizeGhostElement);\n        dom.unbind(editableDoc, 'mouseup', endGhostResize);\n        if (rootDocument !== editableDoc) {\n          dom.unbind(rootDocument, 'mousemove', resizeGhostElement);\n          dom.unbind(rootDocument, 'mouseup', endGhostResize);\n        }\n        dom.remove(selectedElmGhost);\n        dom.remove(resizeHelper);\n        dom.remove(resizeBackdrop);\n        showResizeRect(selectedElm);\n        if (wasResizeStarted) {\n          fireObjectResized(editor, selectedElm, width, height, 'corner-' + selectedHandle.name);\n          dom.setAttrib(selectedElm, 'style', dom.getAttrib(selectedElm, 'style'));\n        }\n        editor.nodeChanged();\n      };\n      const showResizeRect = targetElm => {\n        unbindResizeHandleEvents();\n        const position = dom.getPos(targetElm, rootElement);\n        const selectedElmX = position.x;\n        const selectedElmY = position.y;\n        const rect = targetElm.getBoundingClientRect();\n        const targetWidth = rect.width || rect.right - rect.left;\n        const targetHeight = rect.height || rect.bottom - rect.top;\n        if (selectedElm !== targetElm) {\n          hideResizeRect();\n          selectedElm = targetElm;\n          width = height = 0;\n        }\n        const e = editor.dispatch('ObjectSelected', {\n          target: targetElm\n        });\n        if (isResizable(targetElm) && !e.isDefaultPrevented()) {\n          each$d(resizeHandles, (handle, name) => {\n            const startDrag = e => {\n              const target = getResizeTargets(selectedElm)[0];\n              startX = e.screenX;\n              startY = e.screenY;\n              startW = target.clientWidth;\n              startH = target.clientHeight;\n              ratio = startH / startW;\n              selectedHandle = handle;\n              selectedHandle.name = name;\n              selectedHandle.startPos = {\n                x: targetWidth * handle[0] + selectedElmX,\n                y: targetHeight * handle[1] + selectedElmY\n              };\n              startScrollWidth = rootElement.scrollWidth;\n              startScrollHeight = rootElement.scrollHeight;\n              resizeBackdrop = dom.add(rootElement, 'div', {\n                'class': 'mce-resize-backdrop',\n                'data-mce-bogus': 'all'\n              });\n              dom.setStyles(resizeBackdrop, {\n                position: 'fixed',\n                left: '0',\n                top: '0',\n                width: '100%',\n                height: '100%'\n              });\n              selectedElmGhost = createGhostElement(selectedElm);\n              dom.addClass(selectedElmGhost, 'mce-clonedresizable');\n              dom.setAttrib(selectedElmGhost, 'data-mce-bogus', 'all');\n              selectedElmGhost.contentEditable = 'false';\n              dom.setStyles(selectedElmGhost, {\n                left: selectedElmX,\n                top: selectedElmY,\n                margin: 0\n              });\n              setGhostElmSize(selectedElmGhost, targetWidth, targetHeight);\n              selectedElmGhost.removeAttribute(elementSelectionAttr);\n              rootElement.appendChild(selectedElmGhost);\n              dom.bind(editableDoc, 'mousemove', resizeGhostElement);\n              dom.bind(editableDoc, 'mouseup', endGhostResize);\n              if (rootDocument !== editableDoc) {\n                dom.bind(rootDocument, 'mousemove', resizeGhostElement);\n                dom.bind(rootDocument, 'mouseup', endGhostResize);\n              }\n              resizeHelper = dom.add(rootElement, 'div', {\n                'class': 'mce-resize-helper',\n                'data-mce-bogus': 'all'\n              }, startW + ' &times; ' + startH);\n            };\n            let handleElm = dom.get('mceResizeHandle' + name);\n            if (handleElm) {\n              dom.remove(handleElm);\n            }\n            handleElm = dom.add(rootElement, 'div', {\n              'id': 'mceResizeHandle' + name,\n              'data-mce-bogus': 'all',\n              'class': 'mce-resizehandle',\n              'unselectable': true,\n              'style': 'cursor:' + name + '-resize; margin:0; padding:0'\n            });\n            dom.bind(handleElm, 'mousedown', e => {\n              e.stopImmediatePropagation();\n              e.preventDefault();\n              startDrag(e);\n            });\n            handle.elm = handleElm;\n            dom.setStyles(handleElm, {\n              left: targetWidth * handle[0] + selectedElmX - handleElm.offsetWidth / 2,\n              top: targetHeight * handle[1] + selectedElmY - handleElm.offsetHeight / 2\n            });\n          });\n        } else {\n          hideResizeRect(false);\n        }\n      };\n      const throttledShowResizeRect = first$1(showResizeRect, 0);\n      const hideResizeRect = (removeSelected = true) => {\n        throttledShowResizeRect.cancel();\n        unbindResizeHandleEvents();\n        if (selectedElm && removeSelected) {\n          selectedElm.removeAttribute(elementSelectionAttr);\n        }\n        each$d(resizeHandles, (value, name) => {\n          const handleElm = dom.get('mceResizeHandle' + name);\n          if (handleElm) {\n            dom.unbind(handleElm);\n            dom.remove(handleElm);\n          }\n        });\n      };\n      const isChildOrEqual = (node, parent) => dom.isChildOf(node, parent);\n      const updateResizeRect = e => {\n        if (resizeStarted || editor.removed || editor.composing) {\n          return;\n        }\n        const targetElm = e.type === 'mousedown' ? e.target : selection.getNode();\n        const controlElm = closest$3(SugarElement.fromDom(targetElm), controlElmSelector).map(e => e.dom).filter(e => dom.isEditable(e.parentElement) || e.nodeName === 'IMG' && dom.isEditable(e)).getOrUndefined();\n        const selectedValue = isNonNullable(controlElm) ? dom.getAttrib(controlElm, elementSelectionAttr, '1') : '1';\n        each$e(dom.select(\"img[\".concat(elementSelectionAttr, \"],hr[\").concat(elementSelectionAttr, \"]\")), img => {\n          img.removeAttribute(elementSelectionAttr);\n        });\n        if (isNonNullable(controlElm) && isChildOrEqual(controlElm, rootElement) && editor.hasFocus()) {\n          disableGeckoResize();\n          const startElm = selection.getStart(true);\n          if (isChildOrEqual(startElm, controlElm) && isChildOrEqual(selection.getEnd(true), controlElm)) {\n            dom.setAttrib(controlElm, elementSelectionAttr, selectedValue);\n            throttledShowResizeRect.throttle(controlElm);\n            return;\n          }\n        }\n        hideResizeRect();\n      };\n      const unbindResizeHandleEvents = () => {\n        each$d(resizeHandles, handle => {\n          if (handle.elm) {\n            dom.unbind(handle.elm);\n            delete handle.elm;\n          }\n        });\n      };\n      const disableGeckoResize = () => {\n        try {\n          editor.getDoc().execCommand('enableObjectResizing', false, 'false');\n        } catch (ex) {}\n      };\n      editor.on('init', () => {\n        disableGeckoResize();\n        editor.on('NodeChange ResizeEditor ResizeWindow ResizeContent drop', updateResizeRect);\n        editor.on('keyup compositionend', e => {\n          if (selectedElm && selectedElm.nodeName === 'TABLE') {\n            updateResizeRect(e);\n          }\n        });\n        editor.on('hide blur', hideResizeRect);\n        editor.on('contextmenu longpress', contextMenuSelectImage, true);\n      });\n      editor.on('remove', unbindResizeHandleEvents);\n      const destroy = () => {\n        throttledShowResizeRect.cancel();\n        selectedElm = selectedElmGhost = resizeBackdrop = null;\n      };\n      return {\n        isResizable,\n        showResizeRect,\n        hideResizeRect,\n        updateResizeRect,\n        destroy\n      };\n    };\n\n    const setStart = (rng, situ) => {\n      situ.fold(e => {\n        rng.setStartBefore(e.dom);\n      }, (e, o) => {\n        rng.setStart(e.dom, o);\n      }, e => {\n        rng.setStartAfter(e.dom);\n      });\n    };\n    const setFinish = (rng, situ) => {\n      situ.fold(e => {\n        rng.setEndBefore(e.dom);\n      }, (e, o) => {\n        rng.setEnd(e.dom, o);\n      }, e => {\n        rng.setEndAfter(e.dom);\n      });\n    };\n    const relativeToNative = (win, startSitu, finishSitu) => {\n      const range = win.document.createRange();\n      setStart(range, startSitu);\n      setFinish(range, finishSitu);\n      return range;\n    };\n    const exactToNative = (win, start, soffset, finish, foffset) => {\n      const rng = win.document.createRange();\n      rng.setStart(start.dom, soffset);\n      rng.setEnd(finish.dom, foffset);\n      return rng;\n    };\n\n    const adt$3 = Adt.generate([{\n      ltr: ['start', 'soffset', 'finish', 'foffset']\n    }, {\n      rtl: ['start', 'soffset', 'finish', 'foffset']\n    }]);\n    const fromRange = (win, type, range) => type(SugarElement.fromDom(range.startContainer), range.startOffset, SugarElement.fromDom(range.endContainer), range.endOffset);\n    const getRanges = (win, selection) => selection.match({\n      domRange: rng => {\n        return {\n          ltr: constant(rng),\n          rtl: Optional.none\n        };\n      },\n      relative: (startSitu, finishSitu) => {\n        return {\n          ltr: cached(() => relativeToNative(win, startSitu, finishSitu)),\n          rtl: cached(() => Optional.some(relativeToNative(win, finishSitu, startSitu)))\n        };\n      },\n      exact: (start, soffset, finish, foffset) => {\n        return {\n          ltr: cached(() => exactToNative(win, start, soffset, finish, foffset)),\n          rtl: cached(() => Optional.some(exactToNative(win, finish, foffset, start, soffset)))\n        };\n      }\n    });\n    const doDiagnose = (win, ranges) => {\n      const rng = ranges.ltr();\n      if (rng.collapsed) {\n        const reversed = ranges.rtl().filter(rev => rev.collapsed === false);\n        return reversed.map(rev => adt$3.rtl(SugarElement.fromDom(rev.endContainer), rev.endOffset, SugarElement.fromDom(rev.startContainer), rev.startOffset)).getOrThunk(() => fromRange(win, adt$3.ltr, rng));\n      } else {\n        return fromRange(win, adt$3.ltr, rng);\n      }\n    };\n    const diagnose = (win, selection) => {\n      const ranges = getRanges(win, selection);\n      return doDiagnose(win, ranges);\n    };\n    adt$3.ltr;\n    adt$3.rtl;\n\n    const create$a = (start, soffset, finish, foffset) => ({\n      start,\n      soffset,\n      finish,\n      foffset\n    });\n    const SimRange = {\n      create: create$a\n    };\n\n    const caretPositionFromPoint = (doc, x, y) => {\n      var _a, _b;\n      return Optional.from((_b = (_a = doc.dom).caretPositionFromPoint) === null || _b === void 0 ? void 0 : _b.call(_a, x, y)).bind(pos => {\n        if (pos.offsetNode === null) {\n          return Optional.none();\n        }\n        const r = doc.dom.createRange();\n        r.setStart(pos.offsetNode, pos.offset);\n        r.collapse();\n        return Optional.some(r);\n      });\n    };\n    const caretRangeFromPoint = (doc, x, y) => {\n      var _a, _b;\n      return Optional.from((_b = (_a = doc.dom).caretRangeFromPoint) === null || _b === void 0 ? void 0 : _b.call(_a, x, y));\n    };\n    const availableSearch = (() => {\n      if (document.caretPositionFromPoint) {\n        return caretPositionFromPoint;\n      } else if (document.caretRangeFromPoint) {\n        return caretRangeFromPoint;\n      } else {\n        return Optional.none;\n      }\n    })();\n    const fromPoint$1 = (win, x, y) => {\n      const doc = SugarElement.fromDom(win.document);\n      return availableSearch(doc, x, y).map(rng => SimRange.create(SugarElement.fromDom(rng.startContainer), rng.startOffset, SugarElement.fromDom(rng.endContainer), rng.endOffset));\n    };\n\n    const adt$2 = Adt.generate([{\n      before: ['element']\n    }, {\n      on: ['element', 'offset']\n    }, {\n      after: ['element']\n    }]);\n    const cata = (subject, onBefore, onOn, onAfter) => subject.fold(onBefore, onOn, onAfter);\n    const getStart$2 = situ => situ.fold(identity, identity, identity);\n    const before$1 = adt$2.before;\n    const on = adt$2.on;\n    const after$1 = adt$2.after;\n    const Situ = {\n      before: before$1,\n      on,\n      after: after$1,\n      cata,\n      getStart: getStart$2\n    };\n\n    const adt$1 = Adt.generate([{\n      domRange: ['rng']\n    }, {\n      relative: ['startSitu', 'finishSitu']\n    }, {\n      exact: ['start', 'soffset', 'finish', 'foffset']\n    }]);\n    const exactFromRange = simRange => adt$1.exact(simRange.start, simRange.soffset, simRange.finish, simRange.foffset);\n    const getStart$1 = selection => selection.match({\n      domRange: rng => SugarElement.fromDom(rng.startContainer),\n      relative: (startSitu, _finishSitu) => Situ.getStart(startSitu),\n      exact: (start, _soffset, _finish, _foffset) => start\n    });\n    const domRange = adt$1.domRange;\n    const relative = adt$1.relative;\n    const exact = adt$1.exact;\n    const getWin = selection => {\n      const start = getStart$1(selection);\n      return defaultView(start);\n    };\n    const range = SimRange.create;\n    const SimSelection = {\n      domRange,\n      relative,\n      exact,\n      exactFromRange,\n      getWin,\n      range\n    };\n\n    const beforeSpecial = (element, offset) => {\n      const name$1 = name(element);\n      if ('input' === name$1) {\n        return Situ.after(element);\n      } else if (!contains$2(['br', 'img'], name$1)) {\n        return Situ.on(element, offset);\n      } else {\n        return offset === 0 ? Situ.before(element) : Situ.after(element);\n      }\n    };\n    const preprocessRelative = (startSitu, finishSitu) => {\n      const start = startSitu.fold(Situ.before, beforeSpecial, Situ.after);\n      const finish = finishSitu.fold(Situ.before, beforeSpecial, Situ.after);\n      return SimSelection.relative(start, finish);\n    };\n    const preprocessExact = (start, soffset, finish, foffset) => {\n      const startSitu = beforeSpecial(start, soffset);\n      const finishSitu = beforeSpecial(finish, foffset);\n      return SimSelection.relative(startSitu, finishSitu);\n    };\n    const preprocess = selection => selection.match({\n      domRange: rng => {\n        const start = SugarElement.fromDom(rng.startContainer);\n        const finish = SugarElement.fromDom(rng.endContainer);\n        return preprocessExact(start, rng.startOffset, finish, rng.endOffset);\n      },\n      relative: preprocessRelative,\n      exact: preprocessExact\n    });\n\n    const fromElements = (elements, scope) => {\n      const doc = scope || document;\n      const fragment = doc.createDocumentFragment();\n      each$e(elements, element => {\n        fragment.appendChild(element.dom);\n      });\n      return SugarElement.fromDom(fragment);\n    };\n\n    const toNative = selection => {\n      const win = SimSelection.getWin(selection).dom;\n      const getDomRange = (start, soffset, finish, foffset) => exactToNative(win, start, soffset, finish, foffset);\n      const filtered = preprocess(selection);\n      return diagnose(win, filtered).match({\n        ltr: getDomRange,\n        rtl: getDomRange\n      });\n    };\n    const getAtPoint = (win, x, y) => fromPoint$1(win, x, y);\n\n    const fromPoint = (clientX, clientY, doc) => {\n      const win = defaultView(SugarElement.fromDom(doc));\n      return getAtPoint(win.dom, clientX, clientY).map(simRange => {\n        const rng = doc.createRange();\n        rng.setStart(simRange.start.dom, simRange.soffset);\n        rng.setEnd(simRange.finish.dom, simRange.foffset);\n        return rng;\n      }).getOrUndefined();\n    };\n\n    const isEq$4 = (rng1, rng2) => {\n      return isNonNullable(rng1) && isNonNullable(rng2) && rng1.startContainer === rng2.startContainer && rng1.startOffset === rng2.startOffset && rng1.endContainer === rng2.endContainer && rng1.endOffset === rng2.endOffset;\n    };\n\n    const findParent = (node, rootNode, predicate) => {\n      let currentNode = node;\n      while (currentNode && currentNode !== rootNode) {\n        if (predicate(currentNode)) {\n          return currentNode;\n        }\n        currentNode = currentNode.parentNode;\n      }\n      return null;\n    };\n    const hasParent$1 = (node, rootNode, predicate) => findParent(node, rootNode, predicate) !== null;\n    const hasParentWithName = (node, rootNode, name) => hasParent$1(node, rootNode, node => node.nodeName === name);\n    const isCeFalseCaretContainer = (node, rootNode) => isCaretContainer$2(node) && !hasParent$1(node, rootNode, isCaretNode);\n    const hasBrBeforeAfter = (dom, node, left) => {\n      const parentNode = node.parentNode;\n      if (parentNode) {\n        const walker = new DomTreeWalker(node, dom.getParent(parentNode, dom.isBlock) || dom.getRoot());\n        let currentNode;\n        while (currentNode = walker[left ? 'prev' : 'next']()) {\n          if (isBr$6(currentNode)) {\n            return true;\n          }\n        }\n      }\n      return false;\n    };\n    const isPrevNode = (node, name) => {\n      var _a;\n      return ((_a = node.previousSibling) === null || _a === void 0 ? void 0 : _a.nodeName) === name;\n    };\n    const hasContentEditableFalseParent = (root, node) => {\n      let currentNode = node;\n      while (currentNode && currentNode !== root) {\n        if (isContentEditableFalse$b(currentNode)) {\n          return true;\n        }\n        currentNode = currentNode.parentNode;\n      }\n      return false;\n    };\n    const findTextNodeRelative = (dom, isAfterNode, collapsed, left, startNode) => {\n      const body = dom.getRoot();\n      const nonEmptyElementsMap = dom.schema.getNonEmptyElements();\n      const parentNode = startNode.parentNode;\n      let lastInlineElement;\n      let node;\n      if (!parentNode) {\n        return Optional.none();\n      }\n      const parentBlockContainer = dom.getParent(parentNode, dom.isBlock) || body;\n      if (left && isBr$6(startNode) && isAfterNode && dom.isEmpty(parentBlockContainer)) {\n        return Optional.some(CaretPosition(parentNode, dom.nodeIndex(startNode)));\n      }\n      const walker = new DomTreeWalker(startNode, parentBlockContainer);\n      while (node = walker[left ? 'prev' : 'next']()) {\n        if (dom.getContentEditableParent(node) === 'false' || isCeFalseCaretContainer(node, body)) {\n          return Optional.none();\n        }\n        if (isText$a(node) && node.data.length > 0) {\n          if (!hasParentWithName(node, body, 'A')) {\n            return Optional.some(CaretPosition(node, left ? node.data.length : 0));\n          }\n          return Optional.none();\n        }\n        if (dom.isBlock(node) || nonEmptyElementsMap[node.nodeName.toLowerCase()]) {\n          return Optional.none();\n        }\n        lastInlineElement = node;\n      }\n      if (isComment(lastInlineElement)) {\n        return Optional.none();\n      }\n      if (collapsed && lastInlineElement) {\n        return Optional.some(CaretPosition(lastInlineElement, 0));\n      }\n      return Optional.none();\n    };\n    const normalizeEndPoint = (dom, collapsed, start, rng) => {\n      const body = dom.getRoot();\n      let node;\n      let normalized = false;\n      let container = start ? rng.startContainer : rng.endContainer;\n      let offset = start ? rng.startOffset : rng.endOffset;\n      const isAfterNode = isElement$6(container) && offset === container.childNodes.length;\n      const nonEmptyElementsMap = dom.schema.getNonEmptyElements();\n      let directionLeft = start;\n      if (isCaretContainer$2(container)) {\n        return Optional.none();\n      }\n      if (isElement$6(container) && offset > container.childNodes.length - 1) {\n        directionLeft = false;\n      }\n      if (isDocument$1(container)) {\n        container = body;\n        offset = 0;\n      }\n      if (container === body) {\n        if (directionLeft) {\n          node = container.childNodes[offset > 0 ? offset - 1 : 0];\n          if (node) {\n            if (isCaretContainer$2(node)) {\n              return Optional.none();\n            }\n            if (nonEmptyElementsMap[node.nodeName] || isTable$2(node)) {\n              return Optional.none();\n            }\n          }\n        }\n        if (container.hasChildNodes()) {\n          offset = Math.min(!directionLeft && offset > 0 ? offset - 1 : offset, container.childNodes.length - 1);\n          container = container.childNodes[offset];\n          offset = isText$a(container) && isAfterNode ? container.data.length : 0;\n          if (!collapsed && container === body.lastChild && isTable$2(container)) {\n            return Optional.none();\n          }\n          if (hasContentEditableFalseParent(body, container) || isCaretContainer$2(container)) {\n            return Optional.none();\n          }\n          if (isDetails(container)) {\n            return Optional.none();\n          }\n          if (container.hasChildNodes() && !isTable$2(container)) {\n            node = container;\n            const walker = new DomTreeWalker(container, body);\n            do {\n              if (isContentEditableFalse$b(node) || isCaretContainer$2(node)) {\n                normalized = false;\n                break;\n              }\n              if (isText$a(node) && node.data.length > 0) {\n                offset = directionLeft ? 0 : node.data.length;\n                container = node;\n                normalized = true;\n                break;\n              }\n              if (nonEmptyElementsMap[node.nodeName.toLowerCase()] && !isTableCellOrCaption(node)) {\n                offset = dom.nodeIndex(node);\n                container = node.parentNode;\n                if (!directionLeft) {\n                  offset++;\n                }\n                normalized = true;\n                break;\n              }\n            } while (node = directionLeft ? walker.next() : walker.prev());\n          }\n        }\n      }\n      if (collapsed) {\n        if (isText$a(container) && offset === 0) {\n          findTextNodeRelative(dom, isAfterNode, collapsed, true, container).each(pos => {\n            container = pos.container();\n            offset = pos.offset();\n            normalized = true;\n          });\n        }\n        if (isElement$6(container)) {\n          node = container.childNodes[offset];\n          if (!node) {\n            node = container.childNodes[offset - 1];\n          }\n          if (node && isBr$6(node) && !isPrevNode(node, 'A') && !hasBrBeforeAfter(dom, node, false) && !hasBrBeforeAfter(dom, node, true)) {\n            findTextNodeRelative(dom, isAfterNode, collapsed, true, node).each(pos => {\n              container = pos.container();\n              offset = pos.offset();\n              normalized = true;\n            });\n          }\n        }\n      }\n      if (directionLeft && !collapsed && isText$a(container) && offset === container.data.length) {\n        findTextNodeRelative(dom, isAfterNode, collapsed, false, container).each(pos => {\n          container = pos.container();\n          offset = pos.offset();\n          normalized = true;\n        });\n      }\n      return normalized && container ? Optional.some(CaretPosition(container, offset)) : Optional.none();\n    };\n    const normalize$2 = (dom, rng) => {\n      const collapsed = rng.collapsed,\n        normRng = rng.cloneRange();\n      const startPos = CaretPosition.fromRangeStart(rng);\n      normalizeEndPoint(dom, collapsed, true, normRng).each(pos => {\n        if (!collapsed || !CaretPosition.isAbove(startPos, pos)) {\n          normRng.setStart(pos.container(), pos.offset());\n        }\n      });\n      if (!collapsed) {\n        normalizeEndPoint(dom, collapsed, false, normRng).each(pos => {\n          normRng.setEnd(pos.container(), pos.offset());\n        });\n      }\n      if (collapsed) {\n        normRng.collapse(true);\n      }\n      return isEq$4(rng, normRng) ? Optional.none() : Optional.some(normRng);\n    };\n\n    const splitText = (node, offset) => {\n      return node.splitText(offset);\n    };\n    const split = rng => {\n      let startContainer = rng.startContainer,\n        startOffset = rng.startOffset,\n        endContainer = rng.endContainer,\n        endOffset = rng.endOffset;\n      if (startContainer === endContainer && isText$a(startContainer)) {\n        if (startOffset > 0 && startOffset < startContainer.data.length) {\n          endContainer = splitText(startContainer, startOffset);\n          startContainer = endContainer.previousSibling;\n          if (endOffset > startOffset) {\n            endOffset = endOffset - startOffset;\n            const newContainer = splitText(endContainer, endOffset).previousSibling;\n            startContainer = endContainer = newContainer;\n            endOffset = newContainer.data.length;\n            startOffset = 0;\n          } else {\n            endOffset = 0;\n          }\n        }\n      } else {\n        if (isText$a(startContainer) && startOffset > 0 && startOffset < startContainer.data.length) {\n          startContainer = splitText(startContainer, startOffset);\n          startOffset = 0;\n        }\n        if (isText$a(endContainer) && endOffset > 0 && endOffset < endContainer.data.length) {\n          const newContainer = splitText(endContainer, endOffset).previousSibling;\n          endContainer = newContainer;\n          endOffset = newContainer.data.length;\n        }\n      }\n      return {\n        startContainer,\n        startOffset,\n        endContainer,\n        endOffset\n      };\n    };\n\n    const RangeUtils = dom => {\n      const walk = (rng, callback) => {\n        return walk$3(dom, rng, callback);\n      };\n      const split$1 = split;\n      const normalize = rng => {\n        return normalize$2(dom, rng).fold(never, normalizedRng => {\n          rng.setStart(normalizedRng.startContainer, normalizedRng.startOffset);\n          rng.setEnd(normalizedRng.endContainer, normalizedRng.endOffset);\n          return true;\n        });\n      };\n      const expand = (rng, options = {\n        type: 'word'\n      }) => {\n        if (options.type === 'word') {\n          const rangeLike = expandRng(dom, rng, [{\n            inline: 'span'\n          }]);\n          const newRange = dom.createRng();\n          newRange.setStart(rangeLike.startContainer, rangeLike.startOffset);\n          newRange.setEnd(rangeLike.endContainer, rangeLike.endOffset);\n          return newRange;\n        }\n        return rng;\n      };\n      return {\n        walk,\n        split: split$1,\n        expand,\n        normalize\n      };\n    };\n    RangeUtils.compareRanges = isEq$4;\n    RangeUtils.getCaretRangeFromPoint = fromPoint;\n    RangeUtils.getSelectedNode = getSelectedNode;\n    RangeUtils.getNode = getNode$1;\n\n    const Dimension = (name, getOffset) => {\n      const set = (element, h) => {\n        if (!isNumber(h) && !h.match(/^[0-9]+$/)) {\n          throw new Error(name + '.set accepts only positive integer values. Value was ' + h);\n        }\n        const dom = element.dom;\n        if (isSupported(dom)) {\n          dom.style[name] = h + 'px';\n        }\n      };\n      const get = element => {\n        const r = getOffset(element);\n        if (r <= 0 || r === null) {\n          const css = get$7(element, name);\n          return parseFloat(css) || 0;\n        }\n        return r;\n      };\n      const getOuter = get;\n      const aggregate = (element, properties) => foldl(properties, (acc, property) => {\n        const val = get$7(element, property);\n        const value = val === undefined ? 0 : parseInt(val, 10);\n        return isNaN(value) ? acc : acc + value;\n      }, 0);\n      const max = (element, value, properties) => {\n        const cumulativeInclusions = aggregate(element, properties);\n        const absoluteMax = value > cumulativeInclusions ? value - cumulativeInclusions : 0;\n        return absoluteMax;\n      };\n      return {\n        set,\n        get,\n        getOuter,\n        aggregate,\n        max\n      };\n    };\n\n    const api = Dimension('height', element => {\n      const dom = element.dom;\n      return inBody(element) ? dom.getBoundingClientRect().height : dom.offsetHeight;\n    });\n    const get$2 = element => api.get(element);\n\n    const getDocument = () => SugarElement.fromDom(document);\n\n    const walkUp = (navigation, doc) => {\n      const frame = navigation.view(doc);\n      return frame.fold(constant([]), f => {\n        const parent = navigation.owner(f);\n        const rest = walkUp(navigation, parent);\n        return [f].concat(rest);\n      });\n    };\n    const pathTo = (element, navigation) => {\n      const d = navigation.owner(element);\n      return walkUp(navigation, d);\n    };\n\n    const view = doc => {\n      var _a;\n      const element = doc.dom === document ? Optional.none() : Optional.from((_a = doc.dom.defaultView) === null || _a === void 0 ? void 0 : _a.frameElement);\n      return element.map(SugarElement.fromDom);\n    };\n    const owner = element => documentOrOwner(element);\n\n    var Navigation = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        view: view,\n        owner: owner\n    });\n\n    const find = element => {\n      const doc = getDocument();\n      const scroll = get$5(doc);\n      const frames = pathTo(element, Navigation);\n      const offset = viewport(element);\n      const r = foldr(frames, (b, a) => {\n        const loc = viewport(a);\n        return {\n          left: b.left + loc.left,\n          top: b.top + loc.top\n        };\n      }, {\n        left: 0,\n        top: 0\n      });\n      return SugarPosition(r.left + offset.left + scroll.left, r.top + offset.top + scroll.top);\n    };\n\n    const excludeFromDescend = element => name(element) === 'textarea';\n    const fireScrollIntoViewEvent = (editor, data) => {\n      const scrollEvent = editor.dispatch('ScrollIntoView', data);\n      return scrollEvent.isDefaultPrevented();\n    };\n    const fireAfterScrollIntoViewEvent = (editor, data) => {\n      editor.dispatch('AfterScrollIntoView', data);\n    };\n    const descend = (element, offset) => {\n      const children = children$1(element);\n      if (children.length === 0 || excludeFromDescend(element)) {\n        return {\n          element,\n          offset\n        };\n      } else if (offset < children.length && !excludeFromDescend(children[offset])) {\n        return {\n          element: children[offset],\n          offset: 0\n        };\n      } else {\n        const last = children[children.length - 1];\n        if (excludeFromDescend(last)) {\n          return {\n            element,\n            offset\n          };\n        } else {\n          if (name(last) === 'img') {\n            return {\n              element: last,\n              offset: 1\n            };\n          } else if (isText$b(last)) {\n            return {\n              element: last,\n              offset: get$3(last).length\n            };\n          } else {\n            return {\n              element: last,\n              offset: children$1(last).length\n            };\n          }\n        }\n      }\n    };\n    const markerInfo = (element, cleanupFun) => {\n      const pos = absolute(element);\n      const height = get$2(element);\n      return {\n        element,\n        bottom: pos.top + height,\n        height,\n        pos,\n        cleanup: cleanupFun\n      };\n    };\n    const createMarker$1 = (element, offset) => {\n      const startPoint = descend(element, offset);\n      const span = SugarElement.fromHtml('<span data-mce-bogus=\"all\" style=\"display: inline-block;\">' + ZWSP$1 + '</span>');\n      before$3(startPoint.element, span);\n      return markerInfo(span, () => remove$5(span));\n    };\n    const elementMarker = element => markerInfo(SugarElement.fromDom(element), noop);\n    const withMarker = (editor, f, rng, alignToTop) => {\n      preserveWith(editor, (_s, _e) => applyWithMarker(editor, f, rng, alignToTop), rng);\n    };\n    const withScrollEvents = (editor, doc, f, marker, alignToTop) => {\n      const data = {\n        elm: marker.element.dom,\n        alignToTop\n      };\n      if (fireScrollIntoViewEvent(editor, data)) {\n        return;\n      }\n      const scrollTop = get$5(doc).top;\n      f(editor, doc, scrollTop, marker, alignToTop);\n      fireAfterScrollIntoViewEvent(editor, data);\n    };\n    const applyWithMarker = (editor, f, rng, alignToTop) => {\n      const body = SugarElement.fromDom(editor.getBody());\n      const doc = SugarElement.fromDom(editor.getDoc());\n      reflow(body);\n      const marker = createMarker$1(SugarElement.fromDom(rng.startContainer), rng.startOffset);\n      withScrollEvents(editor, doc, f, marker, alignToTop);\n      marker.cleanup();\n    };\n    const withElement = (editor, element, f, alignToTop) => {\n      const doc = SugarElement.fromDom(editor.getDoc());\n      withScrollEvents(editor, doc, f, elementMarker(element), alignToTop);\n    };\n    const preserveWith = (editor, f, rng) => {\n      const startElement = rng.startContainer;\n      const startOffset = rng.startOffset;\n      const endElement = rng.endContainer;\n      const endOffset = rng.endOffset;\n      f(SugarElement.fromDom(startElement), SugarElement.fromDom(endElement));\n      const newRng = editor.dom.createRng();\n      newRng.setStart(startElement, startOffset);\n      newRng.setEnd(endElement, endOffset);\n      editor.selection.setRng(rng);\n    };\n    const scrollToMarker = (editor, marker, viewHeight, alignToTop, doc) => {\n      const pos = marker.pos;\n      if (alignToTop) {\n        to(pos.left, pos.top, doc);\n      } else {\n        const y = pos.top - viewHeight + marker.height;\n        to(-editor.getBody().getBoundingClientRect().left, y, doc);\n      }\n    };\n    const intoWindowIfNeeded = (editor, doc, scrollTop, viewHeight, marker, alignToTop) => {\n      const viewportBottom = viewHeight + scrollTop;\n      const markerTop = marker.pos.top;\n      const markerBottom = marker.bottom;\n      const largerThanViewport = markerBottom - markerTop >= viewHeight;\n      if (markerTop < scrollTop) {\n        scrollToMarker(editor, marker, viewHeight, alignToTop !== false, doc);\n      } else if (markerTop > viewportBottom) {\n        const align = largerThanViewport ? alignToTop !== false : alignToTop === true;\n        scrollToMarker(editor, marker, viewHeight, align, doc);\n      } else if (markerBottom > viewportBottom && !largerThanViewport) {\n        scrollToMarker(editor, marker, viewHeight, alignToTop === true, doc);\n      }\n    };\n    const intoWindow = (editor, doc, scrollTop, marker, alignToTop) => {\n      const viewHeight = defaultView(doc).dom.innerHeight;\n      intoWindowIfNeeded(editor, doc, scrollTop, viewHeight, marker, alignToTop);\n    };\n    const intoFrame = (editor, doc, scrollTop, marker, alignToTop) => {\n      const frameViewHeight = defaultView(doc).dom.innerHeight;\n      intoWindowIfNeeded(editor, doc, scrollTop, frameViewHeight, marker, alignToTop);\n      const op = find(marker.element);\n      const viewportBounds = getBounds(window);\n      if (op.top < viewportBounds.y) {\n        intoView(marker.element, alignToTop !== false);\n      } else if (op.top > viewportBounds.bottom) {\n        intoView(marker.element, alignToTop === true);\n      }\n    };\n    const rangeIntoWindow = (editor, rng, alignToTop) => withMarker(editor, intoWindow, rng, alignToTop);\n    const elementIntoWindow = (editor, element, alignToTop) => withElement(editor, element, intoWindow, alignToTop);\n    const rangeIntoFrame = (editor, rng, alignToTop) => withMarker(editor, intoFrame, rng, alignToTop);\n    const elementIntoFrame = (editor, element, alignToTop) => withElement(editor, element, intoFrame, alignToTop);\n    const scrollElementIntoView = (editor, element, alignToTop) => {\n      const scroller = editor.inline ? elementIntoWindow : elementIntoFrame;\n      scroller(editor, element, alignToTop);\n    };\n    const scrollRangeIntoView = (editor, rng, alignToTop) => {\n      const scroller = editor.inline ? rangeIntoWindow : rangeIntoFrame;\n      scroller(editor, rng, alignToTop);\n    };\n\n    const focus$1 = (element, preventScroll = false) => element.dom.focus({\n      preventScroll\n    });\n    const hasFocus$1 = element => {\n      const root = getRootNode(element).dom;\n      return element.dom === root.activeElement;\n    };\n    const active$1 = (root = getDocument()) => Optional.from(root.dom.activeElement).map(SugarElement.fromDom);\n    const search = element => active$1(getRootNode(element)).filter(e => element.dom.contains(e.dom));\n\n    const clamp$1 = (offset, element) => {\n      const max = isText$b(element) ? get$3(element).length : children$1(element).length + 1;\n      if (offset > max) {\n        return max;\n      } else if (offset < 0) {\n        return 0;\n      }\n      return offset;\n    };\n    const normalizeRng = rng => SimSelection.range(rng.start, clamp$1(rng.soffset, rng.start), rng.finish, clamp$1(rng.foffset, rng.finish));\n    const isOrContains = (root, elm) => !isRestrictedNode(elm.dom) && (contains(root, elm) || eq(root, elm));\n    const isRngInRoot = root => rng => isOrContains(root, rng.start) && isOrContains(root, rng.finish);\n    const shouldStore = editor => editor.inline || Env.browser.isFirefox();\n    const nativeRangeToSelectionRange = r => SimSelection.range(SugarElement.fromDom(r.startContainer), r.startOffset, SugarElement.fromDom(r.endContainer), r.endOffset);\n    const readRange = win => {\n      const selection = win.getSelection();\n      const rng = !selection || selection.rangeCount === 0 ? Optional.none() : Optional.from(selection.getRangeAt(0));\n      return rng.map(nativeRangeToSelectionRange);\n    };\n    const getBookmark = root => {\n      const win = defaultView(root);\n      return readRange(win.dom).filter(isRngInRoot(root));\n    };\n    const validate = (root, bookmark) => Optional.from(bookmark).filter(isRngInRoot(root)).map(normalizeRng);\n    const bookmarkToNativeRng = bookmark => {\n      const rng = document.createRange();\n      try {\n        rng.setStart(bookmark.start.dom, bookmark.soffset);\n        rng.setEnd(bookmark.finish.dom, bookmark.foffset);\n        return Optional.some(rng);\n      } catch (_) {\n        return Optional.none();\n      }\n    };\n    const store = editor => {\n      const newBookmark = shouldStore(editor) ? getBookmark(SugarElement.fromDom(editor.getBody())) : Optional.none();\n      editor.bookmark = newBookmark.isSome() ? newBookmark : editor.bookmark;\n    };\n    const getRng = editor => {\n      const bookmark = editor.bookmark ? editor.bookmark : Optional.none();\n      return bookmark.bind(x => validate(SugarElement.fromDom(editor.getBody()), x)).bind(bookmarkToNativeRng);\n    };\n    const restore = editor => {\n      getRng(editor).each(rng => editor.selection.setRng(rng));\n    };\n\n    const isEditorUIElement$1 = elm => {\n      const className = elm.className.toString();\n      return className.indexOf('tox-') !== -1 || className.indexOf('mce-') !== -1;\n    };\n    const FocusManager = {\n      isEditorUIElement: isEditorUIElement$1\n    };\n\n    const wrappedSetTimeout = (callback, time) => {\n      if (!isNumber(time)) {\n        time = 0;\n      }\n      return setTimeout(callback, time);\n    };\n    const wrappedSetInterval = (callback, time) => {\n      if (!isNumber(time)) {\n        time = 0;\n      }\n      return setInterval(callback, time);\n    };\n    const Delay = {\n      setEditorTimeout: (editor, callback, time) => {\n        return wrappedSetTimeout(() => {\n          if (!editor.removed) {\n            callback();\n          }\n        }, time);\n      },\n      setEditorInterval: (editor, callback, time) => {\n        const timer = wrappedSetInterval(() => {\n          if (!editor.removed) {\n            callback();\n          } else {\n            clearInterval(timer);\n          }\n        }, time);\n        return timer;\n      }\n    };\n\n    const isManualNodeChange = e => {\n      return e.type === 'nodechange' && e.selectionChange;\n    };\n    const registerPageMouseUp = (editor, throttledStore) => {\n      const mouseUpPage = () => {\n        throttledStore.throttle();\n      };\n      DOMUtils.DOM.bind(document, 'mouseup', mouseUpPage);\n      editor.on('remove', () => {\n        DOMUtils.DOM.unbind(document, 'mouseup', mouseUpPage);\n      });\n    };\n    const registerMouseUp = (editor, throttledStore) => {\n      editor.on('mouseup touchend', _e => {\n        throttledStore.throttle();\n      });\n    };\n    const registerEditorEvents = (editor, throttledStore) => {\n      registerMouseUp(editor, throttledStore);\n      editor.on('keyup NodeChange AfterSetSelectionRange', e => {\n        if (!isManualNodeChange(e)) {\n          store(editor);\n        }\n      });\n    };\n    const register$6 = editor => {\n      const throttledStore = first$1(() => {\n        store(editor);\n      }, 0);\n      editor.on('init', () => {\n        if (editor.inline) {\n          registerPageMouseUp(editor, throttledStore);\n        }\n        registerEditorEvents(editor, throttledStore);\n      });\n      editor.on('remove', () => {\n        throttledStore.cancel();\n      });\n    };\n\n    let documentFocusInHandler;\n    const DOM$9 = DOMUtils.DOM;\n    const isEditorUIElement = elm => {\n      return isElement$6(elm) && FocusManager.isEditorUIElement(elm);\n    };\n    const isEditorContentAreaElement = elm => {\n      const classList = elm.classList;\n      if (classList !== undefined) {\n        return classList.contains('tox-edit-area') || classList.contains('tox-edit-area__iframe') || classList.contains('mce-content-body');\n      } else {\n        return false;\n      }\n    };\n    const isUIElement = (editor, elm) => {\n      const customSelector = getCustomUiSelector(editor);\n      const parent = DOM$9.getParent(elm, elm => {\n        return isEditorUIElement(elm) || (customSelector ? editor.dom.is(elm, customSelector) : false);\n      });\n      return parent !== null;\n    };\n    const getActiveElement = editor => {\n      try {\n        const root = getRootNode(SugarElement.fromDom(editor.getElement()));\n        return active$1(root).fold(() => document.body, x => x.dom);\n      } catch (ex) {\n        return document.body;\n      }\n    };\n    const registerEvents$1 = (editorManager, e) => {\n      const editor = e.editor;\n      register$6(editor);\n      const toggleContentAreaOnFocus = (editor, fn) => {\n        if (shouldHighlightOnFocus(editor) && editor.inline !== true) {\n          const contentArea = SugarElement.fromDom(editor.getContainer());\n          fn(contentArea, 'tox-edit-focus');\n        }\n      };\n      editor.on('focusin', () => {\n        const focusedEditor = editorManager.focusedEditor;\n        if (isEditorContentAreaElement(getActiveElement(editor))) {\n          toggleContentAreaOnFocus(editor, add$2);\n        }\n        if (focusedEditor !== editor) {\n          if (focusedEditor) {\n            focusedEditor.dispatch('blur', {\n              focusedEditor: editor\n            });\n          }\n          editorManager.setActive(editor);\n          editorManager.focusedEditor = editor;\n          editor.dispatch('focus', {\n            blurredEditor: focusedEditor\n          });\n          editor.focus(true);\n        }\n      });\n      editor.on('focusout', () => {\n        Delay.setEditorTimeout(editor, () => {\n          const focusedEditor = editorManager.focusedEditor;\n          if (!isEditorContentAreaElement(getActiveElement(editor)) || focusedEditor !== editor) {\n            toggleContentAreaOnFocus(editor, remove$7);\n          }\n          if (!isUIElement(editor, getActiveElement(editor)) && focusedEditor === editor) {\n            editor.dispatch('blur', {\n              focusedEditor: null\n            });\n            editorManager.focusedEditor = null;\n          }\n        });\n      });\n      if (!documentFocusInHandler) {\n        documentFocusInHandler = e => {\n          const activeEditor = editorManager.activeEditor;\n          if (activeEditor) {\n            getOriginalEventTarget(e).each(target => {\n              const elem = target;\n              if (elem.ownerDocument === document) {\n                if (elem !== document.body && !isUIElement(activeEditor, elem) && editorManager.focusedEditor === activeEditor) {\n                  activeEditor.dispatch('blur', {\n                    focusedEditor: null\n                  });\n                  editorManager.focusedEditor = null;\n                }\n              }\n            });\n          }\n        };\n        DOM$9.bind(document, 'focusin', documentFocusInHandler);\n      }\n    };\n    const unregisterDocumentEvents = (editorManager, e) => {\n      if (editorManager.focusedEditor === e.editor) {\n        editorManager.focusedEditor = null;\n      }\n      if (!editorManager.activeEditor && documentFocusInHandler) {\n        DOM$9.unbind(document, 'focusin', documentFocusInHandler);\n        documentFocusInHandler = null;\n      }\n    };\n    const setup$w = editorManager => {\n      editorManager.on('AddEditor', curry(registerEvents$1, editorManager));\n      editorManager.on('RemoveEditor', curry(unregisterDocumentEvents, editorManager));\n    };\n\n    const getContentEditableHost = (editor, node) => editor.dom.getParent(node, node => editor.dom.getContentEditable(node) === 'true');\n    const getCollapsedNode = rng => rng.collapsed ? Optional.from(getNode$1(rng.startContainer, rng.startOffset)).map(SugarElement.fromDom) : Optional.none();\n    const getFocusInElement = (root, rng) => getCollapsedNode(rng).bind(node => {\n      if (isTableSection(node)) {\n        return Optional.some(node);\n      } else if (!contains(root, node)) {\n        return Optional.some(root);\n      } else {\n        return Optional.none();\n      }\n    });\n    const normalizeSelection = (editor, rng) => {\n      getFocusInElement(SugarElement.fromDom(editor.getBody()), rng).bind(elm => {\n        return firstPositionIn(elm.dom);\n      }).fold(() => {\n        editor.selection.normalize();\n      }, caretPos => editor.selection.setRng(caretPos.toRange()));\n    };\n    const focusBody = body => {\n      if (body.setActive) {\n        try {\n          body.setActive();\n        } catch (ex) {\n          body.focus();\n        }\n      } else {\n        body.focus();\n      }\n    };\n    const hasElementFocus = elm => hasFocus$1(elm) || search(elm).isSome();\n    const hasIframeFocus = editor => isNonNullable(editor.iframeElement) && hasFocus$1(SugarElement.fromDom(editor.iframeElement));\n    const hasInlineFocus = editor => {\n      const rawBody = editor.getBody();\n      return rawBody && hasElementFocus(SugarElement.fromDom(rawBody));\n    };\n    const hasUiFocus = editor => {\n      const dos = getRootNode(SugarElement.fromDom(editor.getElement()));\n      return active$1(dos).filter(elem => !isEditorContentAreaElement(elem.dom) && isUIElement(editor, elem.dom)).isSome();\n    };\n    const hasFocus = editor => editor.inline ? hasInlineFocus(editor) : hasIframeFocus(editor);\n    const hasEditorOrUiFocus = editor => hasFocus(editor) || hasUiFocus(editor);\n    const focusEditor = editor => {\n      const selection = editor.selection;\n      const body = editor.getBody();\n      let rng = selection.getRng();\n      editor.quirks.refreshContentEditable();\n      if (isNonNullable(editor.bookmark) && !hasFocus(editor)) {\n        getRng(editor).each(bookmarkRng => {\n          editor.selection.setRng(bookmarkRng);\n          rng = bookmarkRng;\n        });\n      }\n      const contentEditableHost = getContentEditableHost(editor, selection.getNode());\n      if (contentEditableHost && editor.dom.isChildOf(contentEditableHost, body)) {\n        focusBody(contentEditableHost);\n        normalizeSelection(editor, rng);\n        activateEditor(editor);\n        return;\n      }\n      if (!editor.inline) {\n        if (!Env.browser.isOpera()) {\n          focusBody(body);\n        }\n        editor.getWin().focus();\n      }\n      if (Env.browser.isFirefox() || editor.inline) {\n        focusBody(body);\n        normalizeSelection(editor, rng);\n      }\n      activateEditor(editor);\n    };\n    const activateEditor = editor => editor.editorManager.setActive(editor);\n    const focus = (editor, skipFocus) => {\n      if (editor.removed) {\n        return;\n      }\n      if (skipFocus) {\n        activateEditor(editor);\n      } else {\n        focusEditor(editor);\n      }\n    };\n\n    const isEditableRange = (dom, rng) => {\n      if (rng.collapsed) {\n        return dom.isEditable(rng.startContainer);\n      } else {\n        return dom.isEditable(rng.startContainer) && dom.isEditable(rng.endContainer);\n      }\n    };\n\n    const getEndpointElement = (root, rng, start, real, resolve) => {\n      const container = start ? rng.startContainer : rng.endContainer;\n      const offset = start ? rng.startOffset : rng.endOffset;\n      return Optional.from(container).map(SugarElement.fromDom).map(elm => !real || !rng.collapsed ? child$1(elm, resolve(elm, offset)).getOr(elm) : elm).bind(elm => isElement$7(elm) ? Optional.some(elm) : parent(elm).filter(isElement$7)).map(elm => elm.dom).getOr(root);\n    };\n    const getStart = (root, rng, real = false) => getEndpointElement(root, rng, true, real, (elm, offset) => Math.min(childNodesCount(elm), offset));\n    const getEnd$1 = (root, rng, real = false) => getEndpointElement(root, rng, false, real, (elm, offset) => offset > 0 ? offset - 1 : offset);\n    const skipEmptyTextNodes = (node, forwards) => {\n      const orig = node;\n      while (node && isText$a(node) && node.length === 0) {\n        node = forwards ? node.nextSibling : node.previousSibling;\n      }\n      return node || orig;\n    };\n    const getNode = (root, rng) => {\n      if (!rng) {\n        return root;\n      }\n      let startContainer = rng.startContainer;\n      let endContainer = rng.endContainer;\n      const startOffset = rng.startOffset;\n      const endOffset = rng.endOffset;\n      let node = rng.commonAncestorContainer;\n      if (!rng.collapsed) {\n        if (startContainer === endContainer) {\n          if (endOffset - startOffset < 2) {\n            if (startContainer.hasChildNodes()) {\n              node = startContainer.childNodes[startOffset];\n            }\n          }\n        }\n        if (isText$a(startContainer) && isText$a(endContainer)) {\n          if (startContainer.length === startOffset) {\n            startContainer = skipEmptyTextNodes(startContainer.nextSibling, true);\n          } else {\n            startContainer = startContainer.parentNode;\n          }\n          if (endOffset === 0) {\n            endContainer = skipEmptyTextNodes(endContainer.previousSibling, false);\n          } else {\n            endContainer = endContainer.parentNode;\n          }\n          if (startContainer && startContainer === endContainer) {\n            node = startContainer;\n          }\n        }\n      }\n      const elm = isText$a(node) ? node.parentNode : node;\n      return isHTMLElement(elm) ? elm : root;\n    };\n    const getSelectedBlocks = (dom, rng, startElm, endElm) => {\n      const selectedBlocks = [];\n      const root = dom.getRoot();\n      const start = dom.getParent(startElm || getStart(root, rng, rng.collapsed), dom.isBlock);\n      const end = dom.getParent(endElm || getEnd$1(root, rng, rng.collapsed), dom.isBlock);\n      if (start && start !== root) {\n        selectedBlocks.push(start);\n      }\n      if (start && end && start !== end) {\n        let node;\n        const walker = new DomTreeWalker(start, root);\n        while ((node = walker.next()) && node !== end) {\n          if (dom.isBlock(node)) {\n            selectedBlocks.push(node);\n          }\n        }\n      }\n      if (end && start !== end && end !== root) {\n        selectedBlocks.push(end);\n      }\n      return selectedBlocks;\n    };\n    const select = (dom, node, content) => Optional.from(node).bind(node => Optional.from(node.parentNode).map(parent => {\n      const idx = dom.nodeIndex(node);\n      const rng = dom.createRng();\n      rng.setStart(parent, idx);\n      rng.setEnd(parent, idx + 1);\n      if (content) {\n        moveEndPoint(dom, rng, node, true);\n        moveEndPoint(dom, rng, node, false);\n      }\n      return rng;\n    }));\n\n    const processRanges = (editor, ranges) => map$3(ranges, range => {\n      const evt = editor.dispatch('GetSelectionRange', {\n        range\n      });\n      return evt.range !== range ? evt.range : range;\n    });\n\n    const getEnd = element => name(element) === 'img' ? 1 : getOption(element).fold(() => children$1(element).length, v => v.length);\n    const isTextNodeWithCursorPosition = el => getOption(el).filter(text => text.trim().length !== 0 || text.indexOf(nbsp) > -1).isSome();\n    const isContentEditableFalse$5 = elem => isHTMLElement$1(elem) && get$9(elem, 'contenteditable') === 'false';\n    const elementsWithCursorPosition = ['img', 'br'];\n    const isCursorPosition = elem => {\n      const hasCursorPosition = isTextNodeWithCursorPosition(elem);\n      return hasCursorPosition || contains$2(elementsWithCursorPosition, name(elem)) || isContentEditableFalse$5(elem);\n    };\n\n    const first = element => descendant$2(element, isCursorPosition);\n    const last = element => descendantRtl(element, isCursorPosition);\n    const descendantRtl = (scope, predicate) => {\n      const descend = element => {\n        const children = children$1(element);\n        for (let i = children.length - 1; i >= 0; i--) {\n          const child = children[i];\n          if (predicate(child)) {\n            return Optional.some(child);\n          }\n          const res = descend(child);\n          if (res.isSome()) {\n            return res;\n          }\n        }\n        return Optional.none();\n      };\n      return descend(scope);\n    };\n\n    const autocompleteSelector = '[data-mce-autocompleter]';\n    const create$9 = (editor, range) => {\n      if (findIn(SugarElement.fromDom(editor.getBody())).isNone()) {\n        const wrapper = SugarElement.fromHtml('<span data-mce-autocompleter=\"1\" data-mce-bogus=\"1\"></span>', editor.getDoc());\n        append$1(wrapper, SugarElement.fromDom(range.extractContents()));\n        range.insertNode(wrapper.dom);\n        parent(wrapper).each(elm => elm.dom.normalize());\n        last(wrapper).map(last => {\n          editor.selection.setCursorLocation(last.dom, getEnd(last));\n        });\n      }\n    };\n    const detect$1 = elm => closest$3(elm, autocompleteSelector);\n    const findIn = elm => descendant$1(elm, autocompleteSelector);\n    const remove$2 = (editor, elm) => findIn(elm).each(wrapper => {\n      const bookmark = editor.selection.getBookmark();\n      unwrap(wrapper);\n      editor.selection.moveToBookmark(bookmark);\n    });\n\n    const typeLookup = {\n      '#text': 3,\n      '#comment': 8,\n      '#cdata': 4,\n      '#pi': 7,\n      '#doctype': 10,\n      '#document-fragment': 11\n    };\n    const walk$2 = (node, root, prev) => {\n      const startName = prev ? 'lastChild' : 'firstChild';\n      const siblingName = prev ? 'prev' : 'next';\n      if (node[startName]) {\n        return node[startName];\n      }\n      if (node !== root) {\n        let sibling = node[siblingName];\n        if (sibling) {\n          return sibling;\n        }\n        for (let parent = node.parent; parent && parent !== root; parent = parent.parent) {\n          sibling = parent[siblingName];\n          if (sibling) {\n            return sibling;\n          }\n        }\n      }\n      return undefined;\n    };\n    const isEmptyTextNode = node => {\n      var _a;\n      const text = (_a = node.value) !== null && _a !== void 0 ? _a : '';\n      if (!isWhitespaceText(text)) {\n        return false;\n      }\n      const parentNode = node.parent;\n      if (parentNode && (parentNode.name !== 'span' || parentNode.attr('style')) && /^[ ]+$/.test(text)) {\n        return false;\n      }\n      return true;\n    };\n    const isNonEmptyElement = node => {\n      const isNamedAnchor = node.name === 'a' && !node.attr('href') && node.attr('id');\n      return node.attr('name') || node.attr('id') && !node.firstChild || node.attr('data-mce-bookmark') || isNamedAnchor;\n    };\n    class AstNode {\n      static create(name, attrs) {\n        const node = new AstNode(name, typeLookup[name] || 1);\n        if (attrs) {\n          each$d(attrs, (value, attrName) => {\n            node.attr(attrName, value);\n          });\n        }\n        return node;\n      }\n      constructor(name, type) {\n        this.name = name;\n        this.type = type;\n        if (type === 1) {\n          this.attributes = [];\n          this.attributes.map = {};\n        }\n      }\n      replace(node) {\n        const self = this;\n        if (node.parent) {\n          node.remove();\n        }\n        self.insert(node, self);\n        self.remove();\n        return self;\n      }\n      attr(name, value) {\n        const self = this;\n        if (!isString(name)) {\n          if (isNonNullable(name)) {\n            each$d(name, (value, key) => {\n              self.attr(key, value);\n            });\n          }\n          return self;\n        }\n        const attrs = self.attributes;\n        if (attrs) {\n          if (value !== undefined) {\n            if (value === null) {\n              if (name in attrs.map) {\n                delete attrs.map[name];\n                let i = attrs.length;\n                while (i--) {\n                  if (attrs[i].name === name) {\n                    attrs.splice(i, 1);\n                    return self;\n                  }\n                }\n              }\n              return self;\n            }\n            if (name in attrs.map) {\n              let i = attrs.length;\n              while (i--) {\n                if (attrs[i].name === name) {\n                  attrs[i].value = value;\n                  break;\n                }\n              }\n            } else {\n              attrs.push({\n                name,\n                value\n              });\n            }\n            attrs.map[name] = value;\n            return self;\n          }\n          return attrs.map[name];\n        }\n        return undefined;\n      }\n      clone() {\n        const self = this;\n        const clone = new AstNode(self.name, self.type);\n        const selfAttrs = self.attributes;\n        if (selfAttrs) {\n          const cloneAttrs = [];\n          cloneAttrs.map = {};\n          for (let i = 0, l = selfAttrs.length; i < l; i++) {\n            const selfAttr = selfAttrs[i];\n            if (selfAttr.name !== 'id') {\n              cloneAttrs[cloneAttrs.length] = {\n                name: selfAttr.name,\n                value: selfAttr.value\n              };\n              cloneAttrs.map[selfAttr.name] = selfAttr.value;\n            }\n          }\n          clone.attributes = cloneAttrs;\n        }\n        clone.value = self.value;\n        return clone;\n      }\n      wrap(wrapper) {\n        const self = this;\n        if (self.parent) {\n          self.parent.insert(wrapper, self);\n          wrapper.append(self);\n        }\n        return self;\n      }\n      unwrap() {\n        const self = this;\n        for (let node = self.firstChild; node;) {\n          const next = node.next;\n          self.insert(node, self, true);\n          node = next;\n        }\n        self.remove();\n      }\n      remove() {\n        const self = this,\n          parent = self.parent,\n          next = self.next,\n          prev = self.prev;\n        if (parent) {\n          if (parent.firstChild === self) {\n            parent.firstChild = next;\n            if (next) {\n              next.prev = null;\n            }\n          } else if (prev) {\n            prev.next = next;\n          }\n          if (parent.lastChild === self) {\n            parent.lastChild = prev;\n            if (prev) {\n              prev.next = null;\n            }\n          } else if (next) {\n            next.prev = prev;\n          }\n          self.parent = self.next = self.prev = null;\n        }\n        return self;\n      }\n      append(node) {\n        const self = this;\n        if (node.parent) {\n          node.remove();\n        }\n        const last = self.lastChild;\n        if (last) {\n          last.next = node;\n          node.prev = last;\n          self.lastChild = node;\n        } else {\n          self.lastChild = self.firstChild = node;\n        }\n        node.parent = self;\n        return node;\n      }\n      insert(node, refNode, before) {\n        if (node.parent) {\n          node.remove();\n        }\n        const parent = refNode.parent || this;\n        if (before) {\n          if (refNode === parent.firstChild) {\n            parent.firstChild = node;\n          } else if (refNode.prev) {\n            refNode.prev.next = node;\n          }\n          node.prev = refNode.prev;\n          node.next = refNode;\n          refNode.prev = node;\n        } else {\n          if (refNode === parent.lastChild) {\n            parent.lastChild = node;\n          } else if (refNode.next) {\n            refNode.next.prev = node;\n          }\n          node.next = refNode.next;\n          node.prev = refNode;\n          refNode.next = node;\n        }\n        node.parent = parent;\n        return node;\n      }\n      getAll(name) {\n        const self = this;\n        const collection = [];\n        for (let node = self.firstChild; node; node = walk$2(node, self)) {\n          if (node.name === name) {\n            collection.push(node);\n          }\n        }\n        return collection;\n      }\n      children() {\n        const self = this;\n        const collection = [];\n        for (let node = self.firstChild; node; node = node.next) {\n          collection.push(node);\n        }\n        return collection;\n      }\n      empty() {\n        const self = this;\n        if (self.firstChild) {\n          const nodes = [];\n          for (let node = self.firstChild; node; node = walk$2(node, self)) {\n            nodes.push(node);\n          }\n          let i = nodes.length;\n          while (i--) {\n            const node = nodes[i];\n            node.parent = node.firstChild = node.lastChild = node.next = node.prev = null;\n          }\n        }\n        self.firstChild = self.lastChild = null;\n        return self;\n      }\n      isEmpty(elements, whitespace = {}, predicate) {\n        var _a;\n        const self = this;\n        let node = self.firstChild;\n        if (isNonEmptyElement(self)) {\n          return false;\n        }\n        if (node) {\n          do {\n            if (node.type === 1) {\n              if (node.attr('data-mce-bogus')) {\n                continue;\n              }\n              if (elements[node.name]) {\n                return false;\n              }\n              if (isNonEmptyElement(node)) {\n                return false;\n              }\n            }\n            if (node.type === 8) {\n              return false;\n            }\n            if (node.type === 3 && !isEmptyTextNode(node)) {\n              return false;\n            }\n            if (node.type === 3 && node.parent && whitespace[node.parent.name] && isWhitespaceText((_a = node.value) !== null && _a !== void 0 ? _a : '')) {\n              return false;\n            }\n            if (predicate && predicate(node)) {\n              return false;\n            }\n          } while (node = walk$2(node, self));\n        }\n        return true;\n      }\n      walk(prev) {\n        return walk$2(this, null, prev);\n      }\n    }\n\n    const unescapedTextParents = Tools.makeMap('NOSCRIPT STYLE SCRIPT XMP IFRAME NOEMBED NOFRAMES PLAINTEXT', ' ');\n    const containsZwsp = node => isString(node.nodeValue) && node.nodeValue.includes(ZWSP$1);\n    const getTemporaryNodeSelector = tempAttrs => \"\".concat(tempAttrs.length === 0 ? '' : \"\".concat(map$3(tempAttrs, attr => \"[\".concat(attr, \"]\")).join(','), \",\"), \"[data-mce-bogus=\\\"all\\\"]\");\n    const getTemporaryNodes = (tempAttrs, body) => body.querySelectorAll(getTemporaryNodeSelector(tempAttrs));\n    const createZwspCommentWalker = body => document.createTreeWalker(body, NodeFilter.SHOW_COMMENT, node => containsZwsp(node) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP);\n    const createUnescapedZwspTextWalker = body => document.createTreeWalker(body, NodeFilter.SHOW_TEXT, node => {\n      if (containsZwsp(node)) {\n        const parent = node.parentNode;\n        return parent && has$2(unescapedTextParents, parent.nodeName) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n      } else {\n        return NodeFilter.FILTER_SKIP;\n      }\n    });\n    const hasZwspComment = body => createZwspCommentWalker(body).nextNode() !== null;\n    const hasUnescapedZwspText = body => createUnescapedZwspTextWalker(body).nextNode() !== null;\n    const hasTemporaryNode = (tempAttrs, body) => body.querySelector(getTemporaryNodeSelector(tempAttrs)) !== null;\n    const trimTemporaryNodes = (tempAttrs, body) => {\n      each$e(getTemporaryNodes(tempAttrs, body), elm => {\n        const element = SugarElement.fromDom(elm);\n        if (get$9(element, 'data-mce-bogus') === 'all') {\n          remove$5(element);\n        } else {\n          each$e(tempAttrs, attr => {\n            if (has$1(element, attr)) {\n              remove$a(element, attr);\n            }\n          });\n        }\n      });\n    };\n    const emptyAllNodeValuesInWalker = walker => {\n      let curr = walker.nextNode();\n      while (curr !== null) {\n        curr.nodeValue = null;\n        curr = walker.nextNode();\n      }\n    };\n    const emptyZwspComments = compose(emptyAllNodeValuesInWalker, createZwspCommentWalker);\n    const emptyUnescapedZwspTexts = compose(emptyAllNodeValuesInWalker, createUnescapedZwspTextWalker);\n    const trim$1 = (body, tempAttrs) => {\n      const conditionalTrims = [{\n        condition: curry(hasTemporaryNode, tempAttrs),\n        action: curry(trimTemporaryNodes, tempAttrs)\n      }, {\n        condition: hasZwspComment,\n        action: emptyZwspComments\n      }, {\n        condition: hasUnescapedZwspText,\n        action: emptyUnescapedZwspTexts\n      }];\n      let trimmed = body;\n      let cloned = false;\n      each$e(conditionalTrims, ({\n        condition,\n        action\n      }) => {\n        if (condition(trimmed)) {\n          if (!cloned) {\n            trimmed = body.cloneNode(true);\n            cloned = true;\n          }\n          action(trimmed);\n        }\n      });\n      return trimmed;\n    };\n\n    const cleanupBogusElements = parent => {\n      const bogusElements = descendants(parent, '[data-mce-bogus]');\n      each$e(bogusElements, elem => {\n        const bogusValue = get$9(elem, 'data-mce-bogus');\n        if (bogusValue === 'all') {\n          remove$5(elem);\n        } else if (isBr$5(elem)) {\n          before$3(elem, SugarElement.fromText(zeroWidth));\n          remove$5(elem);\n        } else {\n          unwrap(elem);\n        }\n      });\n    };\n    const cleanupInputNames = parent => {\n      const inputs = descendants(parent, 'input');\n      each$e(inputs, input => {\n        remove$a(input, 'name');\n      });\n    };\n\n    const trimEmptyContents = (editor, html) => {\n      const blockName = getForcedRootBlock(editor);\n      const emptyRegExp = new RegExp(\"^(<\".concat(blockName, \"[^>]*>(&nbsp;|&#160;|\\\\s|\\xA0|<br \\\\/>|)<\\\\/\").concat(blockName, \">[\\r\\n]*|<br \\\\/>[\\r\\n]*)$\"));\n      return html.replace(emptyRegExp, '');\n    };\n    const getPlainTextContent = (editor, body) => {\n      const doc = editor.getDoc();\n      const dos = getRootNode(SugarElement.fromDom(editor.getBody()));\n      const offscreenDiv = SugarElement.fromTag('div', doc);\n      set$3(offscreenDiv, 'data-mce-bogus', 'all');\n      setAll(offscreenDiv, {\n        position: 'fixed',\n        left: '-9999999px',\n        top: '0'\n      });\n      set$1(offscreenDiv, body.innerHTML);\n      cleanupBogusElements(offscreenDiv);\n      cleanupInputNames(offscreenDiv);\n      const root = getContentContainer(dos);\n      append$1(root, offscreenDiv);\n      const content = trim$2(offscreenDiv.dom.innerText);\n      remove$5(offscreenDiv);\n      return content;\n    };\n    const getContentFromBody = (editor, args, body) => {\n      let content;\n      if (args.format === 'raw') {\n        content = Tools.trim(trim$2(trim$1(body, editor.serializer.getTempAttrs()).innerHTML));\n      } else if (args.format === 'text') {\n        content = getPlainTextContent(editor, body);\n      } else if (args.format === 'tree') {\n        content = editor.serializer.serialize(body, args);\n      } else {\n        content = trimEmptyContents(editor, editor.serializer.serialize(body, args));\n      }\n      const shouldTrim = args.format !== 'text' && !isWsPreserveElement(SugarElement.fromDom(body));\n      return shouldTrim && isString(content) ? Tools.trim(content) : content;\n    };\n    const getContentInternal = (editor, args) => Optional.from(editor.getBody()).fold(constant(args.format === 'tree' ? new AstNode('body', 11) : ''), body => getContentFromBody(editor, args, body));\n\n    const makeMap$1 = Tools.makeMap;\n    const Writer = settings => {\n      const html = [];\n      settings = settings || {};\n      const indent = settings.indent;\n      const indentBefore = makeMap$1(settings.indent_before || '');\n      const indentAfter = makeMap$1(settings.indent_after || '');\n      const encode = Entities.getEncodeFunc(settings.entity_encoding || 'raw', settings.entities);\n      const htmlOutput = settings.element_format !== 'xhtml';\n      return {\n        start: (name, attrs, empty) => {\n          if (indent && indentBefore[name] && html.length > 0) {\n            const value = html[html.length - 1];\n            if (value.length > 0 && value !== '\\n') {\n              html.push('\\n');\n            }\n          }\n          html.push('<', name);\n          if (attrs) {\n            for (let i = 0, l = attrs.length; i < l; i++) {\n              const attr = attrs[i];\n              html.push(' ', attr.name, '=\"', encode(attr.value, true), '\"');\n            }\n          }\n          if (!empty || htmlOutput) {\n            html[html.length] = '>';\n          } else {\n            html[html.length] = ' />';\n          }\n          if (empty && indent && indentAfter[name] && html.length > 0) {\n            const value = html[html.length - 1];\n            if (value.length > 0 && value !== '\\n') {\n              html.push('\\n');\n            }\n          }\n        },\n        end: name => {\n          let value;\n          html.push('</', name, '>');\n          if (indent && indentAfter[name] && html.length > 0) {\n            value = html[html.length - 1];\n            if (value.length > 0 && value !== '\\n') {\n              html.push('\\n');\n            }\n          }\n        },\n        text: (text, raw) => {\n          if (text.length > 0) {\n            html[html.length] = raw ? text : encode(text);\n          }\n        },\n        cdata: text => {\n          html.push('<![CDATA[', text, ']]>');\n        },\n        comment: text => {\n          html.push('<!--', text, '-->');\n        },\n        pi: (name, text) => {\n          if (text) {\n            html.push('<?', name, ' ', encode(text), '?>');\n          } else {\n            html.push('<?', name, '?>');\n          }\n          if (indent) {\n            html.push('\\n');\n          }\n        },\n        doctype: text => {\n          html.push('<!DOCTYPE', text, '>', indent ? '\\n' : '');\n        },\n        reset: () => {\n          html.length = 0;\n        },\n        getContent: () => {\n          return html.join('').replace(/\\n$/, '');\n        }\n      };\n    };\n\n    const HtmlSerializer = (settings = {}, schema = Schema()) => {\n      const writer = Writer(settings);\n      settings.validate = 'validate' in settings ? settings.validate : true;\n      const serialize = node => {\n        const validate = settings.validate;\n        const handlers = {\n          3: node => {\n            var _a;\n            writer.text((_a = node.value) !== null && _a !== void 0 ? _a : '', node.raw);\n          },\n          8: node => {\n            var _a;\n            writer.comment((_a = node.value) !== null && _a !== void 0 ? _a : '');\n          },\n          7: node => {\n            writer.pi(node.name, node.value);\n          },\n          10: node => {\n            var _a;\n            writer.doctype((_a = node.value) !== null && _a !== void 0 ? _a : '');\n          },\n          4: node => {\n            var _a;\n            writer.cdata((_a = node.value) !== null && _a !== void 0 ? _a : '');\n          },\n          11: node => {\n            let tempNode = node;\n            if (tempNode = tempNode.firstChild) {\n              do {\n                walk(tempNode);\n              } while (tempNode = tempNode.next);\n            }\n          }\n        };\n        writer.reset();\n        const walk = node => {\n          var _a;\n          const handler = handlers[node.type];\n          if (!handler) {\n            const name = node.name;\n            const isEmpty = name in schema.getVoidElements();\n            let attrs = node.attributes;\n            if (validate && attrs && attrs.length > 1) {\n              const sortedAttrs = [];\n              sortedAttrs.map = {};\n              const elementRule = schema.getElementRule(node.name);\n              if (elementRule) {\n                for (let i = 0, l = elementRule.attributesOrder.length; i < l; i++) {\n                  const attrName = elementRule.attributesOrder[i];\n                  if (attrName in attrs.map) {\n                    const attrValue = attrs.map[attrName];\n                    sortedAttrs.map[attrName] = attrValue;\n                    sortedAttrs.push({\n                      name: attrName,\n                      value: attrValue\n                    });\n                  }\n                }\n                for (let i = 0, l = attrs.length; i < l; i++) {\n                  const attrName = attrs[i].name;\n                  if (!(attrName in sortedAttrs.map)) {\n                    const attrValue = attrs.map[attrName];\n                    sortedAttrs.map[attrName] = attrValue;\n                    sortedAttrs.push({\n                      name: attrName,\n                      value: attrValue\n                    });\n                  }\n                }\n                attrs = sortedAttrs;\n              }\n            }\n            writer.start(name, attrs, isEmpty);\n            if (isNonHtmlElementRootName(name)) {\n              if (isString(node.value)) {\n                writer.text(node.value, true);\n              }\n              writer.end(name);\n            } else {\n              if (!isEmpty) {\n                let child = node.firstChild;\n                if (child) {\n                  if ((name === 'pre' || name === 'textarea') && child.type === 3 && ((_a = child.value) === null || _a === void 0 ? void 0 : _a[0]) === '\\n') {\n                    writer.text('\\n', true);\n                  }\n                  do {\n                    walk(child);\n                  } while (child = child.next);\n                }\n                writer.end(name);\n              }\n            }\n          } else {\n            handler(node);\n          }\n        };\n        if (node.type === 1 && !settings.inner) {\n          walk(node);\n        } else if (node.type === 3) {\n          handlers[3](node);\n        } else {\n          handlers[11](node);\n        }\n        return writer.getContent();\n      };\n      return {\n        serialize\n      };\n    };\n\n    const nonInheritableStyles = new Set();\n    (() => {\n      const nonInheritableStylesArr = ['margin', 'margin-left', 'margin-right', 'margin-top', 'margin-bottom', 'padding', 'padding-left', 'padding-right', 'padding-top', 'padding-bottom', 'border', 'border-width', 'border-style', 'border-color', 'background', 'background-attachment', 'background-clip', 'background-color', 'background-image', 'background-origin', 'background-position', 'background-repeat', 'background-size', 'float', 'position', 'left', 'right', 'top', 'bottom', 'z-index', 'display', 'transform', 'width', 'max-width', 'min-width', 'height', 'max-height', 'min-height', 'overflow', 'overflow-x', 'overflow-y', 'text-overflow', 'vertical-align', 'transition', 'transition-delay', 'transition-duration', 'transition-property', 'transition-timing-function'];\n      each$e(nonInheritableStylesArr, style => {\n        nonInheritableStyles.add(style);\n      });\n    })();\n    const shorthandStyleProps = ['font', 'text-decoration', 'text-emphasis'];\n    const getStyleProps = (dom, node) => keys(dom.parseStyle(dom.getAttrib(node, 'style')));\n    const isNonInheritableStyle = style => nonInheritableStyles.has(style);\n    const hasInheritableStyles = (dom, node) => forall(getStyleProps(dom, node), style => !isNonInheritableStyle(style));\n    const getLonghandStyleProps = styles => filter$5(styles, style => exists(shorthandStyleProps, prop => startsWith(style, prop)));\n    const hasStyleConflict = (dom, node, parentNode) => {\n      const nodeStyleProps = getStyleProps(dom, node);\n      const parentNodeStyleProps = getStyleProps(dom, parentNode);\n      const valueMismatch = prop => {\n        var _a, _b;\n        const nodeValue = (_a = dom.getStyle(node, prop)) !== null && _a !== void 0 ? _a : '';\n        const parentValue = (_b = dom.getStyle(parentNode, prop)) !== null && _b !== void 0 ? _b : '';\n        return isNotEmpty(nodeValue) && isNotEmpty(parentValue) && nodeValue !== parentValue;\n      };\n      return exists(nodeStyleProps, nodeStyleProp => {\n        const propExists = props => exists(props, prop => prop === nodeStyleProp);\n        if (!propExists(parentNodeStyleProps) && propExists(shorthandStyleProps)) {\n          const longhandProps = getLonghandStyleProps(parentNodeStyleProps);\n          return exists(longhandProps, valueMismatch);\n        } else {\n          return valueMismatch(nodeStyleProp);\n        }\n      });\n    };\n\n    const isChar = (forward, predicate, pos) => Optional.from(pos.container()).filter(isText$a).exists(text => {\n      const delta = forward ? 0 : -1;\n      return predicate(text.data.charAt(pos.offset() + delta));\n    });\n    const isBeforeSpace = curry(isChar, true, isWhiteSpace);\n    const isAfterSpace = curry(isChar, false, isWhiteSpace);\n    const isEmptyText = pos => {\n      const container = pos.container();\n      return isText$a(container) && (container.data.length === 0 || isZwsp$1(container.data) && BookmarkManager.isBookmarkNode(container.parentNode));\n    };\n    const matchesElementPosition = (before, predicate) => pos => getChildNodeAtRelativeOffset(before ? 0 : -1, pos).filter(predicate).isSome();\n    const isImageBlock = node => isImg(node) && get$7(SugarElement.fromDom(node), 'display') === 'block';\n    const isCefNode = node => isContentEditableFalse$b(node) && !isBogusAll$1(node);\n    const isBeforeImageBlock = matchesElementPosition(true, isImageBlock);\n    const isAfterImageBlock = matchesElementPosition(false, isImageBlock);\n    const isBeforeMedia = matchesElementPosition(true, isMedia$2);\n    const isAfterMedia = matchesElementPosition(false, isMedia$2);\n    const isBeforeTable = matchesElementPosition(true, isTable$2);\n    const isAfterTable = matchesElementPosition(false, isTable$2);\n    const isBeforeContentEditableFalse = matchesElementPosition(true, isCefNode);\n    const isAfterContentEditableFalse = matchesElementPosition(false, isCefNode);\n\n    const dropLast = xs => xs.slice(0, -1);\n    const parentsUntil = (start, root, predicate) => {\n      if (contains(root, start)) {\n        return dropLast(parents$1(start, elm => {\n          return predicate(elm) || eq(elm, root);\n        }));\n      } else {\n        return [];\n      }\n    };\n    const parents = (start, root) => parentsUntil(start, root, never);\n    const parentsAndSelf = (start, root) => [start].concat(parents(start, root));\n\n    const navigateIgnoreEmptyTextNodes = (forward, root, from) => navigateIgnore(forward, root, from, isEmptyText);\n    const isBlock$1 = schema => el => schema.isBlock(name(el));\n    const getClosestBlock$1 = (root, pos, schema) => find$2(parentsAndSelf(SugarElement.fromDom(pos.container()), root), isBlock$1(schema));\n    const isAtBeforeAfterBlockBoundary = (forward, root, pos, schema) => navigateIgnoreEmptyTextNodes(forward, root.dom, pos).forall(newPos => getClosestBlock$1(root, pos, schema).fold(() => !isInSameBlock(newPos, pos, root.dom), fromBlock => !isInSameBlock(newPos, pos, root.dom) && contains(fromBlock, SugarElement.fromDom(newPos.container()))));\n    const isAtBlockBoundary = (forward, root, pos, schema) => getClosestBlock$1(root, pos, schema).fold(() => navigateIgnoreEmptyTextNodes(forward, root.dom, pos).forall(newPos => !isInSameBlock(newPos, pos, root.dom)), parent => navigateIgnoreEmptyTextNodes(forward, parent.dom, pos).isNone());\n    const isAtStartOfBlock = curry(isAtBlockBoundary, false);\n    const isAtEndOfBlock = curry(isAtBlockBoundary, true);\n    const isBeforeBlock = curry(isAtBeforeAfterBlockBoundary, false);\n    const isAfterBlock = curry(isAtBeforeAfterBlockBoundary, true);\n\n    const isBr$1 = pos => getElementFromPosition(pos).exists(isBr$5);\n    const findBr = (forward, root, pos, schema) => {\n      const parentBlocks = filter$5(parentsAndSelf(SugarElement.fromDom(pos.container()), root), el => schema.isBlock(name(el)));\n      const scope = head(parentBlocks).getOr(root);\n      return fromPosition(forward, scope.dom, pos).filter(isBr$1);\n    };\n    const isBeforeBr$1 = (root, pos, schema) => getElementFromPosition(pos).exists(isBr$5) || findBr(true, root, pos, schema).isSome();\n    const isAfterBr = (root, pos, schema) => getElementFromPrevPosition(pos).exists(isBr$5) || findBr(false, root, pos, schema).isSome();\n    const findPreviousBr = curry(findBr, false);\n    const findNextBr = curry(findBr, true);\n\n    const isInMiddleOfText = pos => CaretPosition.isTextPosition(pos) && !pos.isAtStart() && !pos.isAtEnd();\n    const getClosestBlock = (root, pos, schema) => {\n      const parentBlocks = filter$5(parentsAndSelf(SugarElement.fromDom(pos.container()), root), el => schema.isBlock(name(el)));\n      return head(parentBlocks).getOr(root);\n    };\n    const hasSpaceBefore = (root, pos, schema) => {\n      if (isInMiddleOfText(pos)) {\n        return isAfterSpace(pos);\n      } else {\n        return isAfterSpace(pos) || prevPosition(getClosestBlock(root, pos, schema).dom, pos).exists(isAfterSpace);\n      }\n    };\n    const hasSpaceAfter = (root, pos, schema) => {\n      if (isInMiddleOfText(pos)) {\n        return isBeforeSpace(pos);\n      } else {\n        return isBeforeSpace(pos) || nextPosition(getClosestBlock(root, pos, schema).dom, pos).exists(isBeforeSpace);\n      }\n    };\n    const isPreValue = value => contains$2(['pre', 'pre-wrap'], value);\n    const isInPre = pos => getElementFromPosition(pos).bind(elm => closest$4(elm, isElement$7)).exists(elm => isPreValue(get$7(elm, 'white-space')));\n    const isAtBeginningOfBody = (root, pos) => prevPosition(root.dom, pos).isNone();\n    const isAtEndOfBody = (root, pos) => nextPosition(root.dom, pos).isNone();\n    const isAtLineBoundary = (root, pos, schema) => isAtBeginningOfBody(root, pos) || isAtEndOfBody(root, pos) || isAtStartOfBlock(root, pos, schema) || isAtEndOfBlock(root, pos, schema) || isAfterBr(root, pos, schema) || isBeforeBr$1(root, pos, schema);\n    const isCefBlock = node => isNonNullable(node) && isContentEditableFalse$b(node) && isBlockLike(node);\n    const isSiblingCefBlock = (root, direction) => container => {\n      return isCefBlock(new DomTreeWalker(container, root)[direction]());\n    };\n    const isBeforeCefBlock = (root, pos) => {\n      const nextPos = nextPosition(root.dom, pos).getOr(pos);\n      const isNextCefBlock = isSiblingCefBlock(root.dom, 'next');\n      return pos.isAtEnd() && (isNextCefBlock(pos.container()) || isNextCefBlock(nextPos.container()));\n    };\n    const isAfterCefBlock = (root, pos) => {\n      const prevPos = prevPosition(root.dom, pos).getOr(pos);\n      const isPrevCefBlock = isSiblingCefBlock(root.dom, 'prev');\n      return pos.isAtStart() && (isPrevCefBlock(pos.container()) || isPrevCefBlock(prevPos.container()));\n    };\n    const needsToHaveNbsp = (root, pos, schema) => {\n      if (isInPre(pos)) {\n        return false;\n      } else {\n        return isAtLineBoundary(root, pos, schema) || hasSpaceBefore(root, pos, schema) || hasSpaceAfter(root, pos, schema);\n      }\n    };\n    const needsToBeNbspLeft = (root, pos, schema) => {\n      if (isInPre(pos)) {\n        return false;\n      } else {\n        return isAtStartOfBlock(root, pos, schema) || isBeforeBlock(root, pos, schema) || isAfterBr(root, pos, schema) || hasSpaceBefore(root, pos, schema) || isAfterCefBlock(root, pos);\n      }\n    };\n    const leanRight = pos => {\n      const container = pos.container();\n      const offset = pos.offset();\n      if (isText$a(container) && offset < container.data.length) {\n        return CaretPosition(container, offset + 1);\n      } else {\n        return pos;\n      }\n    };\n    const needsToBeNbspRight = (root, pos, schema) => {\n      if (isInPre(pos)) {\n        return false;\n      } else {\n        return isAtEndOfBlock(root, pos, schema) || isAfterBlock(root, pos, schema) || isBeforeBr$1(root, pos, schema) || hasSpaceAfter(root, pos, schema) || isBeforeCefBlock(root, pos);\n      }\n    };\n    const needsToBeNbsp = (root, pos, schema) => needsToBeNbspLeft(root, pos, schema) || needsToBeNbspRight(root, leanRight(pos), schema);\n    const isNbspAt = (text, offset) => isNbsp(text.charAt(offset));\n    const isWhiteSpaceAt = (text, offset) => isWhiteSpace(text.charAt(offset));\n    const hasNbsp = pos => {\n      const container = pos.container();\n      return isText$a(container) && contains$1(container.data, nbsp);\n    };\n    const normalizeNbspMiddle = text => {\n      const chars = text.split('');\n      return map$3(chars, (chr, i) => {\n        if (isNbsp(chr) && i > 0 && i < chars.length - 1 && isContent(chars[i - 1]) && isContent(chars[i + 1])) {\n          return ' ';\n        } else {\n          return chr;\n        }\n      }).join('');\n    };\n    const normalizeNbspAtStart = (root, node, makeNbsp, schema) => {\n      const text = node.data;\n      const firstPos = CaretPosition(node, 0);\n      if (!makeNbsp && isNbspAt(text, 0) && !needsToBeNbsp(root, firstPos, schema)) {\n        node.data = ' ' + text.slice(1);\n        return true;\n      } else if (makeNbsp && isWhiteSpaceAt(text, 0) && needsToBeNbspLeft(root, firstPos, schema)) {\n        node.data = nbsp + text.slice(1);\n        return true;\n      } else {\n        return false;\n      }\n    };\n    const normalizeNbspInMiddleOfTextNode = node => {\n      const text = node.data;\n      const newText = normalizeNbspMiddle(text);\n      if (newText !== text) {\n        node.data = newText;\n        return true;\n      } else {\n        return false;\n      }\n    };\n    const normalizeNbspAtEnd = (root, node, makeNbsp, schema) => {\n      const text = node.data;\n      const lastPos = CaretPosition(node, text.length - 1);\n      if (!makeNbsp && isNbspAt(text, text.length - 1) && !needsToBeNbsp(root, lastPos, schema)) {\n        node.data = text.slice(0, -1) + ' ';\n        return true;\n      } else if (makeNbsp && isWhiteSpaceAt(text, text.length - 1) && needsToBeNbspRight(root, lastPos, schema)) {\n        node.data = text.slice(0, -1) + nbsp;\n        return true;\n      } else {\n        return false;\n      }\n    };\n    const normalizeNbsps = (root, pos, schema) => {\n      const container = pos.container();\n      if (!isText$a(container)) {\n        return Optional.none();\n      }\n      if (hasNbsp(pos)) {\n        const normalized = normalizeNbspAtStart(root, container, false, schema) || normalizeNbspInMiddleOfTextNode(container) || normalizeNbspAtEnd(root, container, false, schema);\n        return someIf(normalized, pos);\n      } else if (needsToBeNbsp(root, pos, schema)) {\n        const normalized = normalizeNbspAtStart(root, container, true, schema) || normalizeNbspAtEnd(root, container, true, schema);\n        return someIf(normalized, pos);\n      } else {\n        return Optional.none();\n      }\n    };\n    const normalizeNbspsInEditor = editor => {\n      const root = SugarElement.fromDom(editor.getBody());\n      if (editor.selection.isCollapsed()) {\n        normalizeNbsps(root, CaretPosition.fromRangeStart(editor.selection.getRng()), editor.schema).each(pos => {\n          editor.selection.setRng(pos.toRange());\n        });\n      }\n    };\n\n    const normalize$1 = (node, offset, count, schema) => {\n      if (count === 0) {\n        return;\n      }\n      const elm = SugarElement.fromDom(node);\n      const root = ancestor$4(elm, el => schema.isBlock(name(el))).getOr(elm);\n      const whitespace = node.data.slice(offset, offset + count);\n      const isEndOfContent = offset + count >= node.data.length && needsToBeNbspRight(root, CaretPosition(node, node.data.length), schema);\n      const isStartOfContent = offset === 0 && needsToBeNbspLeft(root, CaretPosition(node, 0), schema);\n      node.replaceData(offset, count, normalize$4(whitespace, 4, isStartOfContent, isEndOfContent));\n    };\n    const normalizeWhitespaceAfter = (node, offset, schema) => {\n      const content = node.data.slice(offset);\n      const whitespaceCount = content.length - lTrim(content).length;\n      normalize$1(node, offset, whitespaceCount, schema);\n    };\n    const normalizeWhitespaceBefore = (node, offset, schema) => {\n      const content = node.data.slice(0, offset);\n      const whitespaceCount = content.length - rTrim(content).length;\n      normalize$1(node, offset - whitespaceCount, whitespaceCount, schema);\n    };\n    const mergeTextNodes = (prevNode, nextNode, schema, normalizeWhitespace, mergeToPrev = true) => {\n      const whitespaceOffset = rTrim(prevNode.data).length;\n      const newNode = mergeToPrev ? prevNode : nextNode;\n      const removeNode = mergeToPrev ? nextNode : prevNode;\n      if (mergeToPrev) {\n        newNode.appendData(removeNode.data);\n      } else {\n        newNode.insertData(0, removeNode.data);\n      }\n      remove$5(SugarElement.fromDom(removeNode));\n      if (normalizeWhitespace) {\n        normalizeWhitespaceAfter(newNode, whitespaceOffset, schema);\n      }\n      return newNode;\n    };\n\n    const needsReposition = (pos, elm) => {\n      const container = pos.container();\n      const offset = pos.offset();\n      return !CaretPosition.isTextPosition(pos) && container === elm.parentNode && offset > CaretPosition.before(elm).offset();\n    };\n    const reposition = (elm, pos) => needsReposition(pos, elm) ? CaretPosition(pos.container(), pos.offset() - 1) : pos;\n    const beforeOrStartOf = node => isText$a(node) ? CaretPosition(node, 0) : CaretPosition.before(node);\n    const afterOrEndOf = node => isText$a(node) ? CaretPosition(node, node.data.length) : CaretPosition.after(node);\n    const getPreviousSiblingCaretPosition = elm => {\n      if (isCaretCandidate$3(elm.previousSibling)) {\n        return Optional.some(afterOrEndOf(elm.previousSibling));\n      } else {\n        return elm.previousSibling ? lastPositionIn(elm.previousSibling) : Optional.none();\n      }\n    };\n    const getNextSiblingCaretPosition = elm => {\n      if (isCaretCandidate$3(elm.nextSibling)) {\n        return Optional.some(beforeOrStartOf(elm.nextSibling));\n      } else {\n        return elm.nextSibling ? firstPositionIn(elm.nextSibling) : Optional.none();\n      }\n    };\n    const findCaretPositionBackwardsFromElm = (rootElement, elm) => {\n      return Optional.from(elm.previousSibling ? elm.previousSibling : elm.parentNode).bind(node => prevPosition(rootElement, CaretPosition.before(node))).orThunk(() => nextPosition(rootElement, CaretPosition.after(elm)));\n    };\n    const findCaretPositionForwardsFromElm = (rootElement, elm) => nextPosition(rootElement, CaretPosition.after(elm)).orThunk(() => prevPosition(rootElement, CaretPosition.before(elm)));\n    const findCaretPositionBackwards = (rootElement, elm) => getPreviousSiblingCaretPosition(elm).orThunk(() => getNextSiblingCaretPosition(elm)).orThunk(() => findCaretPositionBackwardsFromElm(rootElement, elm));\n    const findCaretPositionForward = (rootElement, elm) => getNextSiblingCaretPosition(elm).orThunk(() => getPreviousSiblingCaretPosition(elm)).orThunk(() => findCaretPositionForwardsFromElm(rootElement, elm));\n    const findCaretPosition = (forward, rootElement, elm) => forward ? findCaretPositionForward(rootElement, elm) : findCaretPositionBackwards(rootElement, elm);\n    const findCaretPosOutsideElmAfterDelete = (forward, rootElement, elm) => findCaretPosition(forward, rootElement, elm).map(curry(reposition, elm));\n    const setSelection$1 = (editor, forward, pos) => {\n      pos.fold(() => {\n        editor.focus();\n      }, pos => {\n        editor.selection.setRng(pos.toRange(), forward);\n      });\n    };\n    const eqRawNode = rawNode => elm => elm.dom === rawNode;\n    const isBlock = (editor, elm) => elm && has$2(editor.schema.getBlockElements(), name(elm));\n    const paddEmptyBlock = (elm, preserveEmptyCaret) => {\n      if (isEmpty$2(elm)) {\n        const br = SugarElement.fromHtml('<br data-mce-bogus=\"1\">');\n        if (preserveEmptyCaret) {\n          each$e(children$1(elm), node => {\n            if (!isEmptyCaretFormatElement(node)) {\n              remove$5(node);\n            }\n          });\n        } else {\n          empty(elm);\n        }\n        append$1(elm, br);\n        return Optional.some(CaretPosition.before(br.dom));\n      } else {\n        return Optional.none();\n      }\n    };\n    const deleteNormalized = (elm, afterDeletePosOpt, schema, normalizeWhitespace) => {\n      const prevTextOpt = prevSibling(elm).filter(isText$b);\n      const nextTextOpt = nextSibling(elm).filter(isText$b);\n      remove$5(elm);\n      return lift3(prevTextOpt, nextTextOpt, afterDeletePosOpt, (prev, next, pos) => {\n        const prevNode = prev.dom,\n          nextNode = next.dom;\n        const offset = prevNode.data.length;\n        mergeTextNodes(prevNode, nextNode, schema, normalizeWhitespace);\n        return pos.container() === nextNode ? CaretPosition(prevNode, offset) : pos;\n      }).orThunk(() => {\n        if (normalizeWhitespace) {\n          prevTextOpt.each(elm => normalizeWhitespaceBefore(elm.dom, elm.dom.length, schema));\n          nextTextOpt.each(elm => normalizeWhitespaceAfter(elm.dom, 0, schema));\n        }\n        return afterDeletePosOpt;\n      });\n    };\n    const isInlineElement = (editor, element) => has$2(editor.schema.getTextInlineElements(), name(element));\n    const deleteElement$2 = (editor, forward, elm, moveCaret = true, preserveEmptyCaret = false) => {\n      const afterDeletePos = findCaretPosOutsideElmAfterDelete(forward, editor.getBody(), elm.dom);\n      const parentBlock = ancestor$4(elm, curry(isBlock, editor), eqRawNode(editor.getBody()));\n      const normalizedAfterDeletePos = deleteNormalized(elm, afterDeletePos, editor.schema, isInlineElement(editor, elm));\n      if (editor.dom.isEmpty(editor.getBody())) {\n        editor.setContent('');\n        editor.selection.setCursorLocation();\n      } else {\n        parentBlock.bind(elm => paddEmptyBlock(elm, preserveEmptyCaret)).fold(() => {\n          if (moveCaret) {\n            setSelection$1(editor, forward, normalizedAfterDeletePos);\n          }\n        }, paddPos => {\n          if (moveCaret) {\n            setSelection$1(editor, forward, Optional.some(paddPos));\n          }\n        });\n      }\n    };\n\n    const strongRtl = /[\\u0591-\\u07FF\\uFB1D-\\uFDFF\\uFE70-\\uFEFC]/;\n    const hasStrongRtl = text => strongRtl.test(text);\n\n    const isInlineTarget = (editor, elm) => is$1(SugarElement.fromDom(elm), getInlineBoundarySelector(editor)) && !isTransparentBlock(editor.schema, elm) && editor.dom.isEditable(elm);\n    const isRtl = element => {\n      var _a;\n      return DOMUtils.DOM.getStyle(element, 'direction', true) === 'rtl' || hasStrongRtl((_a = element.textContent) !== null && _a !== void 0 ? _a : '');\n    };\n    const findInlineParents = (isInlineTarget, rootNode, pos) => filter$5(DOMUtils.DOM.getParents(pos.container(), '*', rootNode), isInlineTarget);\n    const findRootInline = (isInlineTarget, rootNode, pos) => {\n      const parents = findInlineParents(isInlineTarget, rootNode, pos);\n      return Optional.from(parents[parents.length - 1]);\n    };\n    const hasSameParentBlock = (rootNode, node1, node2) => {\n      const block1 = getParentBlock$3(node1, rootNode);\n      const block2 = getParentBlock$3(node2, rootNode);\n      return isNonNullable(block1) && block1 === block2;\n    };\n    const isAtZwsp = pos => isBeforeInline(pos) || isAfterInline(pos);\n    const normalizePosition = (forward, pos) => {\n      const container = pos.container(),\n        offset = pos.offset();\n      if (forward) {\n        if (isCaretContainerInline(container)) {\n          if (isText$a(container.nextSibling)) {\n            return CaretPosition(container.nextSibling, 0);\n          } else {\n            return CaretPosition.after(container);\n          }\n        } else {\n          return isBeforeInline(pos) ? CaretPosition(container, offset + 1) : pos;\n        }\n      } else {\n        if (isCaretContainerInline(container)) {\n          if (isText$a(container.previousSibling)) {\n            return CaretPosition(container.previousSibling, container.previousSibling.data.length);\n          } else {\n            return CaretPosition.before(container);\n          }\n        } else {\n          return isAfterInline(pos) ? CaretPosition(container, offset - 1) : pos;\n        }\n      }\n    };\n    const normalizeForwards = curry(normalizePosition, true);\n    const normalizeBackwards = curry(normalizePosition, false);\n\n    const execCommandIgnoreInputEvents = (editor, command) => {\n      const inputBlocker = e => e.stopImmediatePropagation();\n      editor.on('beforeinput input', inputBlocker, true);\n      editor.getDoc().execCommand(command);\n      editor.off('beforeinput input', inputBlocker);\n    };\n    const execEditorDeleteCommand = editor => {\n      editor.execCommand('delete');\n    };\n    const execNativeDeleteCommand = editor => execCommandIgnoreInputEvents(editor, 'Delete');\n    const execNativeForwardDeleteCommand = editor => execCommandIgnoreInputEvents(editor, 'ForwardDelete');\n    const isBeforeRoot = rootNode => elm => is$2(parent(elm), rootNode, eq);\n    const isTextBlockOrListItem = element => isTextBlock$2(element) || isListItem$1(element);\n    const getParentBlock$2 = (rootNode, elm) => {\n      if (contains(rootNode, elm)) {\n        return closest$4(elm, isTextBlockOrListItem, isBeforeRoot(rootNode));\n      } else {\n        return Optional.none();\n      }\n    };\n    const paddEmptyBody = (editor, moveSelection = true) => {\n      if (editor.dom.isEmpty(editor.getBody())) {\n        editor.setContent('', {\n          no_selection: !moveSelection\n        });\n      }\n    };\n    const willDeleteLastPositionInElement = (forward, fromPos, elm) => lift2(firstPositionIn(elm), lastPositionIn(elm), (firstPos, lastPos) => {\n      const normalizedFirstPos = normalizePosition(true, firstPos);\n      const normalizedLastPos = normalizePosition(false, lastPos);\n      const normalizedFromPos = normalizePosition(false, fromPos);\n      if (forward) {\n        return nextPosition(elm, normalizedFromPos).exists(nextPos => nextPos.isEqual(normalizedLastPos) && fromPos.isEqual(normalizedFirstPos));\n      } else {\n        return prevPosition(elm, normalizedFromPos).exists(prevPos => prevPos.isEqual(normalizedFirstPos) && fromPos.isEqual(normalizedLastPos));\n      }\n    }).getOr(true);\n    const freefallRtl = root => {\n      const child = isComment$1(root) ? prevSibling(root) : lastChild(root);\n      return child.bind(freefallRtl).orThunk(() => Optional.some(root));\n    };\n    const deleteRangeContents = (editor, rng, root, moveSelection = true) => {\n      var _a;\n      rng.deleteContents();\n      const lastNode = freefallRtl(root).getOr(root);\n      const lastBlock = SugarElement.fromDom((_a = editor.dom.getParent(lastNode.dom, editor.dom.isBlock)) !== null && _a !== void 0 ? _a : root.dom);\n      if (lastBlock.dom === editor.getBody()) {\n        paddEmptyBody(editor, moveSelection);\n      } else if (isEmpty$2(lastBlock)) {\n        fillWithPaddingBr(lastBlock);\n        if (moveSelection) {\n          editor.selection.setCursorLocation(lastBlock.dom, 0);\n        }\n      }\n      if (!eq(root, lastBlock)) {\n        const additionalCleanupNodes = is$2(parent(lastBlock), root) ? [] : siblings(lastBlock);\n        each$e(additionalCleanupNodes.concat(children$1(root)), node => {\n          if (!eq(node, lastBlock) && !contains(node, lastBlock) && isEmpty$2(node)) {\n            remove$5(node);\n          }\n        });\n      }\n    };\n\n    const ancestor$1 = (scope, predicate, isRoot) => ancestor$4(scope, predicate, isRoot).isSome();\n    const sibling = (scope, predicate) => sibling$1(scope, predicate).isSome();\n    const descendant = (scope, predicate) => descendant$2(scope, predicate).isSome();\n\n    const isRootFromElement = root => cur => eq(root, cur);\n    const getTableCells = table => descendants(table, 'td,th');\n    const getTable$1 = (node, isRoot) => getClosestTable(SugarElement.fromDom(node), isRoot);\n    const selectionInTableWithNestedTable = details => {\n      return lift2(details.startTable, details.endTable, (startTable, endTable) => {\n        const isStartTableParentOfEndTable = descendant(startTable, t => eq(t, endTable));\n        const isEndTableParentOfStartTable = descendant(endTable, t => eq(t, startTable));\n        return !isStartTableParentOfEndTable && !isEndTableParentOfStartTable ? details : {\n          ...details,\n          startTable: isStartTableParentOfEndTable ? Optional.none() : details.startTable,\n          endTable: isEndTableParentOfStartTable ? Optional.none() : details.endTable,\n          isSameTable: false,\n          isMultiTable: false\n        };\n      }).getOr(details);\n    };\n    const adjustQuirksInDetails = details => {\n      return selectionInTableWithNestedTable(details);\n    };\n    const getTableDetailsFromRange = (rng, isRoot) => {\n      const startTable = getTable$1(rng.startContainer, isRoot);\n      const endTable = getTable$1(rng.endContainer, isRoot);\n      const isStartInTable = startTable.isSome();\n      const isEndInTable = endTable.isSome();\n      const isSameTable = lift2(startTable, endTable, eq).getOr(false);\n      const isMultiTable = !isSameTable && isStartInTable && isEndInTable;\n      return adjustQuirksInDetails({\n        startTable,\n        endTable,\n        isStartInTable,\n        isEndInTable,\n        isSameTable,\n        isMultiTable\n      });\n    };\n\n    const tableCellRng = (start, end) => ({\n      start,\n      end\n    });\n    const tableSelection = (rng, table, cells) => ({\n      rng,\n      table,\n      cells\n    });\n    const deleteAction = Adt.generate([{\n      singleCellTable: ['rng', 'cell']\n    }, {\n      fullTable: ['table']\n    }, {\n      partialTable: ['cells', 'outsideDetails']\n    }, {\n      multiTable: ['startTableCells', 'endTableCells', 'betweenRng']\n    }]);\n    const getClosestCell$1 = (container, isRoot) => closest$3(SugarElement.fromDom(container), 'td,th', isRoot);\n    const isExpandedCellRng = cellRng => !eq(cellRng.start, cellRng.end);\n    const getTableFromCellRng = (cellRng, isRoot) => getClosestTable(cellRng.start, isRoot).bind(startParentTable => getClosestTable(cellRng.end, isRoot).bind(endParentTable => someIf(eq(startParentTable, endParentTable), startParentTable)));\n    const isSingleCellTable = (cellRng, isRoot) => !isExpandedCellRng(cellRng) && getTableFromCellRng(cellRng, isRoot).exists(table => {\n      const rows = table.dom.rows;\n      return rows.length === 1 && rows[0].cells.length === 1;\n    });\n    const getCellRng = (rng, isRoot) => {\n      const startCell = getClosestCell$1(rng.startContainer, isRoot);\n      const endCell = getClosestCell$1(rng.endContainer, isRoot);\n      return lift2(startCell, endCell, tableCellRng);\n    };\n    const getCellRangeFromStartTable = isRoot => startCell => getClosestTable(startCell, isRoot).bind(table => last$3(getTableCells(table)).map(endCell => tableCellRng(startCell, endCell)));\n    const getCellRangeFromEndTable = isRoot => endCell => getClosestTable(endCell, isRoot).bind(table => head(getTableCells(table)).map(startCell => tableCellRng(startCell, endCell)));\n    const getTableSelectionFromCellRng = isRoot => cellRng => getTableFromCellRng(cellRng, isRoot).map(table => tableSelection(cellRng, table, getTableCells(table)));\n    const getTableSelections = (cellRng, selectionDetails, rng, isRoot) => {\n      if (rng.collapsed || !cellRng.forall(isExpandedCellRng)) {\n        return Optional.none();\n      } else if (selectionDetails.isSameTable) {\n        const sameTableSelection = cellRng.bind(getTableSelectionFromCellRng(isRoot));\n        return Optional.some({\n          start: sameTableSelection,\n          end: sameTableSelection\n        });\n      } else {\n        const startCell = getClosestCell$1(rng.startContainer, isRoot);\n        const endCell = getClosestCell$1(rng.endContainer, isRoot);\n        const startTableSelection = startCell.bind(getCellRangeFromStartTable(isRoot)).bind(getTableSelectionFromCellRng(isRoot));\n        const endTableSelection = endCell.bind(getCellRangeFromEndTable(isRoot)).bind(getTableSelectionFromCellRng(isRoot));\n        return Optional.some({\n          start: startTableSelection,\n          end: endTableSelection\n        });\n      }\n    };\n    const getCellIndex = (cells, cell) => findIndex$2(cells, x => eq(x, cell));\n    const getSelectedCells = tableSelection => lift2(getCellIndex(tableSelection.cells, tableSelection.rng.start), getCellIndex(tableSelection.cells, tableSelection.rng.end), (startIndex, endIndex) => tableSelection.cells.slice(startIndex, endIndex + 1));\n    const isSingleCellTableContentSelected = (optCellRng, rng, isRoot) => optCellRng.exists(cellRng => isSingleCellTable(cellRng, isRoot) && hasAllContentsSelected(cellRng.start, rng));\n    const unselectCells = (rng, selectionDetails) => {\n      const {\n        startTable,\n        endTable\n      } = selectionDetails;\n      const otherContentRng = rng.cloneRange();\n      startTable.each(table => otherContentRng.setStartAfter(table.dom));\n      endTable.each(table => otherContentRng.setEndBefore(table.dom));\n      return otherContentRng;\n    };\n    const handleSingleTable = (cellRng, selectionDetails, rng, isRoot) => getTableSelections(cellRng, selectionDetails, rng, isRoot).bind(({\n      start,\n      end\n    }) => start.or(end)).bind(tableSelection => {\n      const {\n        isSameTable\n      } = selectionDetails;\n      const selectedCells = getSelectedCells(tableSelection).getOr([]);\n      if (isSameTable && tableSelection.cells.length === selectedCells.length) {\n        return Optional.some(deleteAction.fullTable(tableSelection.table));\n      } else if (selectedCells.length > 0) {\n        if (isSameTable) {\n          return Optional.some(deleteAction.partialTable(selectedCells, Optional.none()));\n        } else {\n          const otherContentRng = unselectCells(rng, selectionDetails);\n          return Optional.some(deleteAction.partialTable(selectedCells, Optional.some({\n            ...selectionDetails,\n            rng: otherContentRng\n          })));\n        }\n      } else {\n        return Optional.none();\n      }\n    });\n    const handleMultiTable = (cellRng, selectionDetails, rng, isRoot) => getTableSelections(cellRng, selectionDetails, rng, isRoot).bind(({\n      start,\n      end\n    }) => {\n      const startTableSelectedCells = start.bind(getSelectedCells).getOr([]);\n      const endTableSelectedCells = end.bind(getSelectedCells).getOr([]);\n      if (startTableSelectedCells.length > 0 && endTableSelectedCells.length > 0) {\n        const otherContentRng = unselectCells(rng, selectionDetails);\n        return Optional.some(deleteAction.multiTable(startTableSelectedCells, endTableSelectedCells, otherContentRng));\n      } else {\n        return Optional.none();\n      }\n    });\n    const getActionFromRange = (root, rng) => {\n      const isRoot = isRootFromElement(root);\n      const optCellRng = getCellRng(rng, isRoot);\n      const selectionDetails = getTableDetailsFromRange(rng, isRoot);\n      if (isSingleCellTableContentSelected(optCellRng, rng, isRoot)) {\n        return optCellRng.map(cellRng => deleteAction.singleCellTable(rng, cellRng.start));\n      } else if (selectionDetails.isMultiTable) {\n        return handleMultiTable(optCellRng, selectionDetails, rng, isRoot);\n      } else {\n        return handleSingleTable(optCellRng, selectionDetails, rng, isRoot);\n      }\n    };\n\n    const cleanCells = cells => each$e(cells, cell => {\n      remove$a(cell, 'contenteditable');\n      fillWithPaddingBr(cell);\n    });\n    const getOutsideBlock = (editor, container) => Optional.from(editor.dom.getParent(container, editor.dom.isBlock)).map(SugarElement.fromDom);\n    const handleEmptyBlock = (editor, startInTable, emptyBlock) => {\n      emptyBlock.each(block => {\n        if (startInTable) {\n          remove$5(block);\n        } else {\n          fillWithPaddingBr(block);\n          editor.selection.setCursorLocation(block.dom, 0);\n        }\n      });\n    };\n    const deleteContentInsideCell = (editor, cell, rng, isFirstCellInSelection) => {\n      const insideTableRng = rng.cloneRange();\n      if (isFirstCellInSelection) {\n        insideTableRng.setStart(rng.startContainer, rng.startOffset);\n        insideTableRng.setEndAfter(cell.dom.lastChild);\n      } else {\n        insideTableRng.setStartBefore(cell.dom.firstChild);\n        insideTableRng.setEnd(rng.endContainer, rng.endOffset);\n      }\n      deleteCellContents(editor, insideTableRng, cell, false).each(action => action());\n    };\n    const collapseAndRestoreCellSelection = editor => {\n      const selectedCells = getCellsFromEditor(editor);\n      const selectedNode = SugarElement.fromDom(editor.selection.getNode());\n      if (isTableCell$3(selectedNode.dom) && isEmpty$2(selectedNode)) {\n        editor.selection.setCursorLocation(selectedNode.dom, 0);\n      } else {\n        editor.selection.collapse(true);\n      }\n      if (selectedCells.length > 1 && exists(selectedCells, cell => eq(cell, selectedNode))) {\n        set$3(selectedNode, 'data-mce-selected', '1');\n      }\n    };\n    const emptySingleTableCells = (editor, cells, outsideDetails) => Optional.some(() => {\n      const editorRng = editor.selection.getRng();\n      const cellsToClean = outsideDetails.bind(({\n        rng,\n        isStartInTable\n      }) => {\n        const outsideBlock = getOutsideBlock(editor, isStartInTable ? rng.endContainer : rng.startContainer);\n        rng.deleteContents();\n        handleEmptyBlock(editor, isStartInTable, outsideBlock.filter(isEmpty$2));\n        const endPointCell = isStartInTable ? cells[0] : cells[cells.length - 1];\n        deleteContentInsideCell(editor, endPointCell, editorRng, isStartInTable);\n        if (!isEmpty$2(endPointCell)) {\n          return Optional.some(isStartInTable ? cells.slice(1) : cells.slice(0, -1));\n        } else {\n          return Optional.none();\n        }\n      }).getOr(cells);\n      cleanCells(cellsToClean);\n      collapseAndRestoreCellSelection(editor);\n    });\n    const emptyMultiTableCells = (editor, startTableCells, endTableCells, betweenRng) => Optional.some(() => {\n      const rng = editor.selection.getRng();\n      const startCell = startTableCells[0];\n      const endCell = endTableCells[endTableCells.length - 1];\n      deleteContentInsideCell(editor, startCell, rng, true);\n      deleteContentInsideCell(editor, endCell, rng, false);\n      const startTableCellsToClean = isEmpty$2(startCell) ? startTableCells : startTableCells.slice(1);\n      const endTableCellsToClean = isEmpty$2(endCell) ? endTableCells : endTableCells.slice(0, -1);\n      cleanCells(startTableCellsToClean.concat(endTableCellsToClean));\n      betweenRng.deleteContents();\n      collapseAndRestoreCellSelection(editor);\n    });\n    const deleteCellContents = (editor, rng, cell, moveSelection = true) => Optional.some(() => {\n      deleteRangeContents(editor, rng, cell, moveSelection);\n    });\n    const deleteTableElement = (editor, table) => Optional.some(() => deleteElement$2(editor, false, table));\n    const deleteCellRange = (editor, rootElm, rng) => getActionFromRange(rootElm, rng).bind(action => action.fold(curry(deleteCellContents, editor), curry(deleteTableElement, editor), curry(emptySingleTableCells, editor), curry(emptyMultiTableCells, editor)));\n    const deleteCaptionRange = (editor, caption) => emptyElement(editor, caption);\n    const deleteTableRange = (editor, rootElm, rng, startElm) => getParentCaption(rootElm, startElm).fold(() => deleteCellRange(editor, rootElm, rng), caption => deleteCaptionRange(editor, caption));\n    const deleteRange$3 = (editor, startElm, selectedCells) => {\n      const rootNode = SugarElement.fromDom(editor.getBody());\n      const rng = editor.selection.getRng();\n      return selectedCells.length !== 0 ? emptySingleTableCells(editor, selectedCells, Optional.none()) : deleteTableRange(editor, rootNode, rng, startElm);\n    };\n    const getParentCell = (rootElm, elm) => find$2(parentsAndSelf(elm, rootElm), isTableCell$2);\n    const getParentCaption = (rootElm, elm) => find$2(parentsAndSelf(elm, rootElm), isTag('caption'));\n    const deleteBetweenCells = (editor, rootElm, forward, fromCell, from) => navigate(forward, editor.getBody(), from).bind(to => getParentCell(rootElm, SugarElement.fromDom(to.getNode())).bind(toCell => eq(toCell, fromCell) ? Optional.none() : Optional.some(noop)));\n    const emptyElement = (editor, elm) => Optional.some(() => {\n      fillWithPaddingBr(elm);\n      editor.selection.setCursorLocation(elm.dom, 0);\n    });\n    const isDeleteOfLastCharPos = (fromCaption, forward, from, to) => firstPositionIn(fromCaption.dom).bind(first => lastPositionIn(fromCaption.dom).map(last => forward ? from.isEqual(first) && to.isEqual(last) : from.isEqual(last) && to.isEqual(first))).getOr(true);\n    const emptyCaretCaption = (editor, elm) => emptyElement(editor, elm);\n    const validateCaretCaption = (rootElm, fromCaption, to) => getParentCaption(rootElm, SugarElement.fromDom(to.getNode())).fold(() => Optional.some(noop), toCaption => someIf(!eq(toCaption, fromCaption), noop));\n    const deleteCaretInsideCaption = (editor, rootElm, forward, fromCaption, from) => navigate(forward, editor.getBody(), from).fold(() => Optional.some(noop), to => isDeleteOfLastCharPos(fromCaption, forward, from, to) ? emptyCaretCaption(editor, fromCaption) : validateCaretCaption(rootElm, fromCaption, to));\n    const deleteCaretCells = (editor, forward, rootElm, startElm) => {\n      const from = CaretPosition.fromRangeStart(editor.selection.getRng());\n      return getParentCell(rootElm, startElm).bind(fromCell => isEmpty$2(fromCell) ? emptyElement(editor, fromCell) : deleteBetweenCells(editor, rootElm, forward, fromCell, from));\n    };\n    const deleteCaretCaption = (editor, forward, rootElm, fromCaption) => {\n      const from = CaretPosition.fromRangeStart(editor.selection.getRng());\n      return isEmpty$2(fromCaption) ? emptyElement(editor, fromCaption) : deleteCaretInsideCaption(editor, rootElm, forward, fromCaption, from);\n    };\n    const isNearTable = (forward, pos) => forward ? isBeforeTable(pos) : isAfterTable(pos);\n    const isBeforeOrAfterTable = (editor, forward) => {\n      const fromPos = CaretPosition.fromRangeStart(editor.selection.getRng());\n      return isNearTable(forward, fromPos) || fromPosition(forward, editor.getBody(), fromPos).exists(pos => isNearTable(forward, pos));\n    };\n    const deleteCaret$3 = (editor, forward, startElm) => {\n      const rootElm = SugarElement.fromDom(editor.getBody());\n      return getParentCaption(rootElm, startElm).fold(() => deleteCaretCells(editor, forward, rootElm, startElm).orThunk(() => someIf(isBeforeOrAfterTable(editor, forward), noop)), fromCaption => deleteCaretCaption(editor, forward, rootElm, fromCaption));\n    };\n    const backspaceDelete$a = (editor, forward) => {\n      const startElm = SugarElement.fromDom(editor.selection.getStart(true));\n      const cells = getCellsFromEditor(editor);\n      return editor.selection.isCollapsed() && cells.length === 0 ? deleteCaret$3(editor, forward, startElm) : deleteRange$3(editor, startElm, cells);\n    };\n\n    const getContentEditableRoot$1 = (root, node) => {\n      let tempNode = node;\n      while (tempNode && tempNode !== root) {\n        if (isContentEditableTrue$3(tempNode) || isContentEditableFalse$b(tempNode)) {\n          return tempNode;\n        }\n        tempNode = tempNode.parentNode;\n      }\n      return null;\n    };\n\n    const internalAttributesPrefixes = ['data-ephox-', 'data-mce-', 'data-alloy-', 'data-snooker-', '_'];\n    const each$9 = Tools.each;\n    const ElementUtils = editor => {\n      const dom = editor.dom;\n      const internalAttributes = new Set(editor.serializer.getTempAttrs());\n      const compare = (node1, node2) => {\n        if (node1.nodeName !== node2.nodeName || node1.nodeType !== node2.nodeType) {\n          return false;\n        }\n        const getAttribs = node => {\n          const attribs = {};\n          each$9(dom.getAttribs(node), attr => {\n            const name = attr.nodeName.toLowerCase();\n            if (name !== 'style' && !isAttributeInternal(name)) {\n              attribs[name] = dom.getAttrib(node, name);\n            }\n          });\n          return attribs;\n        };\n        const compareObjects = (obj1, obj2) => {\n          for (const name in obj1) {\n            if (has$2(obj1, name)) {\n              const value = obj2[name];\n              if (isUndefined(value)) {\n                return false;\n              }\n              if (obj1[name] !== value) {\n                return false;\n              }\n              delete obj2[name];\n            }\n          }\n          for (const name in obj2) {\n            if (has$2(obj2, name)) {\n              return false;\n            }\n          }\n          return true;\n        };\n        if (isElement$6(node1) && isElement$6(node2)) {\n          if (!compareObjects(getAttribs(node1), getAttribs(node2))) {\n            return false;\n          }\n          if (!compareObjects(dom.parseStyle(dom.getAttrib(node1, 'style')), dom.parseStyle(dom.getAttrib(node2, 'style')))) {\n            return false;\n          }\n        }\n        return !isBookmarkNode$1(node1) && !isBookmarkNode$1(node2);\n      };\n      const isAttributeInternal = attributeName => exists(internalAttributesPrefixes, value => startsWith(attributeName, value)) || internalAttributes.has(attributeName);\n      return {\n        compare,\n        isAttributeInternal\n      };\n    };\n\n    const isHeading = node => ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(node.name);\n    const isSummary = node => node.name === 'summary';\n\n    const traverse = (root, fn) => {\n      let node = root;\n      while (node = node.walk()) {\n        fn(node);\n      }\n    };\n    const matchNode$1 = (nodeFilters, attributeFilters, node, matches) => {\n      const name = node.name;\n      for (let ni = 0, nl = nodeFilters.length; ni < nl; ni++) {\n        const filter = nodeFilters[ni];\n        if (filter.name === name) {\n          const match = matches.nodes[name];\n          if (match) {\n            match.nodes.push(node);\n          } else {\n            matches.nodes[name] = {\n              filter,\n              nodes: [node]\n            };\n          }\n        }\n      }\n      if (node.attributes) {\n        for (let ai = 0, al = attributeFilters.length; ai < al; ai++) {\n          const filter = attributeFilters[ai];\n          const attrName = filter.name;\n          if (attrName in node.attributes.map) {\n            const match = matches.attributes[attrName];\n            if (match) {\n              match.nodes.push(node);\n            } else {\n              matches.attributes[attrName] = {\n                filter,\n                nodes: [node]\n              };\n            }\n          }\n        }\n      }\n    };\n    const findMatchingNodes = (nodeFilters, attributeFilters, node) => {\n      const matches = {\n        nodes: {},\n        attributes: {}\n      };\n      if (node.firstChild) {\n        traverse(node, childNode => {\n          matchNode$1(nodeFilters, attributeFilters, childNode, matches);\n        });\n      }\n      return matches;\n    };\n    const runFilters = (matches, args) => {\n      const run = (matchRecord, filteringAttributes) => {\n        each$d(matchRecord, match => {\n          const nodes = from(match.nodes);\n          each$e(match.filter.callbacks, callback => {\n            for (let i = nodes.length - 1; i >= 0; i--) {\n              const node = nodes[i];\n              const valueMatches = filteringAttributes ? node.attr(match.filter.name) !== undefined : node.name === match.filter.name;\n              if (!valueMatches || isNullable(node.parent)) {\n                nodes.splice(i, 1);\n              }\n            }\n            if (nodes.length > 0) {\n              callback(nodes, match.filter.name, args);\n            }\n          });\n        });\n      };\n      run(matches.nodes, false);\n      run(matches.attributes, true);\n    };\n    const filter$2 = (nodeFilters, attributeFilters, node, args = {}) => {\n      const matches = findMatchingNodes(nodeFilters, attributeFilters, node);\n      runFilters(matches, args);\n    };\n\n    const paddEmptyNode = (settings, args, isBlock, node) => {\n      const brPreferred = settings.pad_empty_with_br || args.insert;\n      if (brPreferred && isBlock(node)) {\n        const astNode = new AstNode('br', 1);\n        if (args.insert) {\n          astNode.attr('data-mce-bogus', '1');\n        }\n        node.empty().append(astNode);\n      } else {\n        node.empty().append(new AstNode('#text', 3)).value = nbsp;\n      }\n    };\n    const isPaddedWithNbsp = node => {\n      var _a;\n      return hasOnlyChild(node, '#text') && ((_a = node === null || node === void 0 ? void 0 : node.firstChild) === null || _a === void 0 ? void 0 : _a.value) === nbsp;\n    };\n    const hasOnlyChild = (node, name) => {\n      const firstChild = node === null || node === void 0 ? void 0 : node.firstChild;\n      return isNonNullable(firstChild) && firstChild === node.lastChild && firstChild.name === name;\n    };\n    const isPadded = (schema, node) => {\n      const rule = schema.getElementRule(node.name);\n      return (rule === null || rule === void 0 ? void 0 : rule.paddEmpty) === true;\n    };\n    const isEmpty = (schema, nonEmptyElements, whitespaceElements, node) => node.isEmpty(nonEmptyElements, whitespaceElements, node => isPadded(schema, node));\n    const isLineBreakNode = (node, isBlock) => isNonNullable(node) && (isBlock(node) || node.name === 'br');\n    const findClosestEditingHost = scope => {\n      let editableNode;\n      for (let node = scope; node; node = node.parent) {\n        const contentEditable = node.attr('contenteditable');\n        if (contentEditable === 'false') {\n          break;\n        } else if (contentEditable === 'true') {\n          editableNode = node;\n        }\n      }\n      return Optional.from(editableNode);\n    };\n\n    const removeOrUnwrapInvalidNode = (node, schema, originalNodeParent = node.parent) => {\n      if (schema.getSpecialElements()[node.name]) {\n        node.empty().remove();\n      } else {\n        const children = node.children();\n        for (const childNode of children) {\n          if (originalNodeParent && !schema.isValidChild(originalNodeParent.name, childNode.name)) {\n            removeOrUnwrapInvalidNode(childNode, schema, originalNodeParent);\n          }\n        }\n        node.unwrap();\n      }\n    };\n    const cleanInvalidNodes = (nodes, schema, rootNode, onCreate = noop) => {\n      const textBlockElements = schema.getTextBlockElements();\n      const nonEmptyElements = schema.getNonEmptyElements();\n      const whitespaceElements = schema.getWhitespaceElements();\n      const nonSplittableElements = Tools.makeMap('tr,td,th,tbody,thead,tfoot,table,summary');\n      const fixed = new Set();\n      const isSplittableElement = node => node !== rootNode && !nonSplittableElements[node.name];\n      for (let ni = 0; ni < nodes.length; ni++) {\n        const node = nodes[ni];\n        let parent;\n        let newParent;\n        let tempNode;\n        if (!node.parent || fixed.has(node)) {\n          continue;\n        }\n        if (textBlockElements[node.name] && node.parent.name === 'li') {\n          let sibling = node.next;\n          while (sibling) {\n            if (textBlockElements[sibling.name]) {\n              sibling.name = 'li';\n              fixed.add(sibling);\n              node.parent.insert(sibling, node.parent);\n            } else {\n              break;\n            }\n            sibling = sibling.next;\n          }\n          node.unwrap();\n          continue;\n        }\n        const parents = [node];\n        for (parent = node.parent; parent && !schema.isValidChild(parent.name, node.name) && isSplittableElement(parent); parent = parent.parent) {\n          parents.push(parent);\n        }\n        if (parent && parents.length > 1) {\n          if (!isInvalid(schema, node, parent)) {\n            parents.reverse();\n            newParent = parents[0].clone();\n            onCreate(newParent);\n            let currentNode = newParent;\n            for (let i = 0; i < parents.length - 1; i++) {\n              if (schema.isValidChild(currentNode.name, parents[i].name) && i > 0) {\n                tempNode = parents[i].clone();\n                onCreate(tempNode);\n                currentNode.append(tempNode);\n              } else {\n                tempNode = currentNode;\n              }\n              for (let childNode = parents[i].firstChild; childNode && childNode !== parents[i + 1];) {\n                const nextNode = childNode.next;\n                tempNode.append(childNode);\n                childNode = nextNode;\n              }\n              currentNode = tempNode;\n            }\n            if (!isEmpty(schema, nonEmptyElements, whitespaceElements, newParent)) {\n              parent.insert(newParent, parents[0], true);\n              parent.insert(node, newParent);\n            } else {\n              parent.insert(node, parents[0], true);\n            }\n            parent = parents[0];\n            if (isEmpty(schema, nonEmptyElements, whitespaceElements, parent) || hasOnlyChild(parent, 'br')) {\n              parent.empty().remove();\n            }\n          } else {\n            removeOrUnwrapInvalidNode(node, schema);\n          }\n        } else if (node.parent) {\n          if (node.name === 'li') {\n            let sibling = node.prev;\n            if (sibling && (sibling.name === 'ul' || sibling.name === 'ol')) {\n              sibling.append(node);\n              continue;\n            }\n            sibling = node.next;\n            if (sibling && (sibling.name === 'ul' || sibling.name === 'ol') && sibling.firstChild) {\n              sibling.insert(node, sibling.firstChild, true);\n              continue;\n            }\n            const wrapper = new AstNode('ul', 1);\n            onCreate(wrapper);\n            node.wrap(wrapper);\n            continue;\n          }\n          if (schema.isValidChild(node.parent.name, 'div') && schema.isValidChild('div', node.name)) {\n            const wrapper = new AstNode('div', 1);\n            onCreate(wrapper);\n            node.wrap(wrapper);\n          } else {\n            removeOrUnwrapInvalidNode(node, schema);\n          }\n        }\n      }\n    };\n    const hasClosest = (node, parentName) => {\n      let tempNode = node;\n      while (tempNode) {\n        if (tempNode.name === parentName) {\n          return true;\n        }\n        tempNode = tempNode.parent;\n      }\n      return false;\n    };\n    const isInvalid = (schema, node, parent = node.parent) => {\n      if (!parent) {\n        return false;\n      }\n      if (schema.children[node.name] && !schema.isValidChild(parent.name, node.name)) {\n        return true;\n      }\n      if (node.name === 'a' && hasClosest(parent, 'a')) {\n        return true;\n      }\n      if (isSummary(parent) && isHeading(node)) {\n        return !((parent === null || parent === void 0 ? void 0 : parent.firstChild) === node && (parent === null || parent === void 0 ? void 0 : parent.lastChild) === node);\n      }\n      return false;\n    };\n\n    const createRange = (sc, so, ec, eo) => {\n      const rng = document.createRange();\n      rng.setStart(sc, so);\n      rng.setEnd(ec, eo);\n      return rng;\n    };\n    const normalizeBlockSelectionRange = rng => {\n      const startPos = CaretPosition.fromRangeStart(rng);\n      const endPos = CaretPosition.fromRangeEnd(rng);\n      const rootNode = rng.commonAncestorContainer;\n      return fromPosition(false, rootNode, endPos).map(newEndPos => {\n        if (!isInSameBlock(startPos, endPos, rootNode) && isInSameBlock(startPos, newEndPos, rootNode)) {\n          return createRange(startPos.container(), startPos.offset(), newEndPos.container(), newEndPos.offset());\n        } else {\n          return rng;\n        }\n      }).getOr(rng);\n    };\n    const normalize = rng => rng.collapsed ? rng : normalizeBlockSelectionRange(rng);\n\n    const hasOnlyOneChild$1 = node => {\n      return isNonNullable(node.firstChild) && node.firstChild === node.lastChild;\n    };\n    const isPaddingNode = node => {\n      return node.name === 'br' || node.value === nbsp;\n    };\n    const isPaddedEmptyBlock = (schema, node) => {\n      const blockElements = schema.getBlockElements();\n      return blockElements[node.name] && hasOnlyOneChild$1(node) && isPaddingNode(node.firstChild);\n    };\n    const isEmptyFragmentElement = (schema, node) => {\n      const nonEmptyElements = schema.getNonEmptyElements();\n      return isNonNullable(node) && (node.isEmpty(nonEmptyElements) || isPaddedEmptyBlock(schema, node));\n    };\n    const isListFragment = (schema, fragment) => {\n      let firstChild = fragment.firstChild;\n      let lastChild = fragment.lastChild;\n      if (firstChild && firstChild.name === 'meta') {\n        firstChild = firstChild.next;\n      }\n      if (lastChild && lastChild.attr('id') === 'mce_marker') {\n        lastChild = lastChild.prev;\n      }\n      if (isEmptyFragmentElement(schema, lastChild)) {\n        lastChild = lastChild === null || lastChild === void 0 ? void 0 : lastChild.prev;\n      }\n      if (!firstChild || firstChild !== lastChild) {\n        return false;\n      }\n      return firstChild.name === 'ul' || firstChild.name === 'ol';\n    };\n    const cleanupDomFragment = domFragment => {\n      var _a, _b;\n      const firstChild = domFragment.firstChild;\n      const lastChild = domFragment.lastChild;\n      if (firstChild && firstChild.nodeName === 'META') {\n        (_a = firstChild.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(firstChild);\n      }\n      if (lastChild && lastChild.id === 'mce_marker') {\n        (_b = lastChild.parentNode) === null || _b === void 0 ? void 0 : _b.removeChild(lastChild);\n      }\n      return domFragment;\n    };\n    const toDomFragment = (dom, serializer, fragment) => {\n      const html = serializer.serialize(fragment);\n      const domFragment = dom.createFragment(html);\n      return cleanupDomFragment(domFragment);\n    };\n    const listItems = elm => {\n      var _a;\n      return filter$5((_a = elm === null || elm === void 0 ? void 0 : elm.childNodes) !== null && _a !== void 0 ? _a : [], child => {\n        return child.nodeName === 'LI';\n      });\n    };\n    const isPadding = node => {\n      return node.data === nbsp || isBr$6(node);\n    };\n    const isListItemPadded = node => {\n      return isNonNullable(node === null || node === void 0 ? void 0 : node.firstChild) && node.firstChild === node.lastChild && isPadding(node.firstChild);\n    };\n    const isEmptyOrPadded = elm => {\n      return !elm.firstChild || isListItemPadded(elm);\n    };\n    const trimListItems = elms => {\n      return elms.length > 0 && isEmptyOrPadded(elms[elms.length - 1]) ? elms.slice(0, -1) : elms;\n    };\n    const getParentLi = (dom, node) => {\n      const parentBlock = dom.getParent(node, dom.isBlock);\n      return parentBlock && parentBlock.nodeName === 'LI' ? parentBlock : null;\n    };\n    const isParentBlockLi = (dom, node) => {\n      return !!getParentLi(dom, node);\n    };\n    const getSplit = (parentNode, rng) => {\n      const beforeRng = rng.cloneRange();\n      const afterRng = rng.cloneRange();\n      beforeRng.setStartBefore(parentNode);\n      afterRng.setEndAfter(parentNode);\n      return [beforeRng.cloneContents(), afterRng.cloneContents()];\n    };\n    const findFirstIn = (node, rootNode) => {\n      const caretPos = CaretPosition.before(node);\n      const caretWalker = CaretWalker(rootNode);\n      const newCaretPos = caretWalker.next(caretPos);\n      return newCaretPos ? newCaretPos.toRange() : null;\n    };\n    const findLastOf = (node, rootNode) => {\n      const caretPos = CaretPosition.after(node);\n      const caretWalker = CaretWalker(rootNode);\n      const newCaretPos = caretWalker.prev(caretPos);\n      return newCaretPos ? newCaretPos.toRange() : null;\n    };\n    const insertMiddle = (target, elms, rootNode, rng) => {\n      const parts = getSplit(target, rng);\n      const parentElm = target.parentNode;\n      if (parentElm) {\n        parentElm.insertBefore(parts[0], target);\n        Tools.each(elms, li => {\n          parentElm.insertBefore(li, target);\n        });\n        parentElm.insertBefore(parts[1], target);\n        parentElm.removeChild(target);\n      }\n      return findLastOf(elms[elms.length - 1], rootNode);\n    };\n    const insertBefore$2 = (target, elms, rootNode) => {\n      const parentElm = target.parentNode;\n      if (parentElm) {\n        Tools.each(elms, elm => {\n          parentElm.insertBefore(elm, target);\n        });\n      }\n      return findFirstIn(target, rootNode);\n    };\n    const insertAfter$2 = (target, elms, rootNode, dom) => {\n      dom.insertAfter(elms.reverse(), target);\n      return findLastOf(elms[0], rootNode);\n    };\n    const insertAtCaret$1 = (serializer, dom, rng, fragment) => {\n      const domFragment = toDomFragment(dom, serializer, fragment);\n      const liTarget = getParentLi(dom, rng.startContainer);\n      const liElms = trimListItems(listItems(domFragment.firstChild));\n      const BEGINNING = 1,\n        END = 2;\n      const rootNode = dom.getRoot();\n      const isAt = location => {\n        const caretPos = CaretPosition.fromRangeStart(rng);\n        const caretWalker = CaretWalker(dom.getRoot());\n        const newPos = location === BEGINNING ? caretWalker.prev(caretPos) : caretWalker.next(caretPos);\n        const newPosNode = newPos === null || newPos === void 0 ? void 0 : newPos.getNode();\n        return newPosNode ? getParentLi(dom, newPosNode) !== liTarget : true;\n      };\n      if (!liTarget) {\n        return null;\n      } else if (isAt(BEGINNING)) {\n        return insertBefore$2(liTarget, liElms, rootNode);\n      } else if (isAt(END)) {\n        return insertAfter$2(liTarget, liElms, rootNode, dom);\n      } else {\n        return insertMiddle(liTarget, liElms, rootNode, rng);\n      }\n    };\n\n    const mergeableWrappedElements = ['pre'];\n    const shouldPasteContentOnly = (dom, fragment, parentNode, root) => {\n      var _a;\n      const firstNode = fragment.firstChild;\n      const lastNode = fragment.lastChild;\n      const last = lastNode.attr('data-mce-type') === 'bookmark' ? lastNode.prev : lastNode;\n      const isPastingSingleElement = firstNode === last;\n      const isWrappedElement = contains$2(mergeableWrappedElements, firstNode.name);\n      if (isPastingSingleElement && isWrappedElement) {\n        const isContentEditable = firstNode.attr('contenteditable') !== 'false';\n        const isPastingInTheSameBlockTag = ((_a = dom.getParent(parentNode, dom.isBlock)) === null || _a === void 0 ? void 0 : _a.nodeName.toLowerCase()) === firstNode.name;\n        const isPastingInContentEditable = Optional.from(getContentEditableRoot$1(root, parentNode)).forall(isContentEditableTrue$3);\n        return isContentEditable && isPastingInTheSameBlockTag && isPastingInContentEditable;\n      } else {\n        return false;\n      }\n    };\n    const isTableCell = isTableCell$3;\n    const isTableCellContentSelected = (dom, rng, cell) => {\n      if (isNonNullable(cell)) {\n        const endCell = dom.getParent(rng.endContainer, isTableCell);\n        return cell === endCell && hasAllContentsSelected(SugarElement.fromDom(cell), rng);\n      } else {\n        return false;\n      }\n    };\n    const validInsertion = (editor, value, parentNode) => {\n      var _a;\n      if (parentNode.getAttribute('data-mce-bogus') === 'all') {\n        (_a = parentNode.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(editor.dom.createFragment(value), parentNode);\n      } else {\n        const node = parentNode.firstChild;\n        const node2 = parentNode.lastChild;\n        if (!node || node === node2 && node.nodeName === 'BR') {\n          editor.dom.setHTML(parentNode, value);\n        } else {\n          editor.selection.setContent(value, {\n            no_events: true\n          });\n        }\n      }\n    };\n    const trimBrsFromTableCell = (dom, elm, schema) => {\n      Optional.from(dom.getParent(elm, 'td,th')).map(SugarElement.fromDom).each(el => trimBlockTrailingBr(el, schema));\n    };\n    const reduceInlineTextElements = (editor, merge) => {\n      const textInlineElements = editor.schema.getTextInlineElements();\n      const dom = editor.dom;\n      if (merge) {\n        const root = editor.getBody();\n        const elementUtils = ElementUtils(editor);\n        Tools.each(dom.select('*[data-mce-fragment]'), node => {\n          const isInline = isNonNullable(textInlineElements[node.nodeName.toLowerCase()]);\n          if (isInline && hasInheritableStyles(dom, node)) {\n            for (let parentNode = node.parentElement; isNonNullable(parentNode) && parentNode !== root; parentNode = parentNode.parentElement) {\n              const styleConflict = hasStyleConflict(dom, node, parentNode);\n              if (styleConflict) {\n                break;\n              }\n              if (elementUtils.compare(parentNode, node)) {\n                dom.remove(node, true);\n                break;\n              }\n            }\n          }\n        });\n      }\n    };\n    const markFragmentElements = fragment => {\n      let node = fragment;\n      while (node = node.walk()) {\n        if (node.type === 1) {\n          node.attr('data-mce-fragment', '1');\n        }\n      }\n    };\n    const unmarkFragmentElements = elm => {\n      Tools.each(elm.getElementsByTagName('*'), elm => {\n        elm.removeAttribute('data-mce-fragment');\n      });\n    };\n    const isPartOfFragment = node => {\n      return !!node.getAttribute('data-mce-fragment');\n    };\n    const canHaveChildren = (editor, node) => {\n      return isNonNullable(node) && !editor.schema.getVoidElements()[node.nodeName];\n    };\n    const moveSelectionToMarker = (editor, marker) => {\n      var _a, _b, _c;\n      let nextRng;\n      const dom = editor.dom;\n      const selection = editor.selection;\n      if (!marker) {\n        return;\n      }\n      selection.scrollIntoView(marker);\n      const parentEditableElm = getContentEditableRoot$1(editor.getBody(), marker);\n      if (parentEditableElm && dom.getContentEditable(parentEditableElm) === 'false') {\n        dom.remove(marker);\n        selection.select(parentEditableElm);\n        return;\n      }\n      let rng = dom.createRng();\n      const node = marker.previousSibling;\n      if (isText$a(node)) {\n        rng.setStart(node, (_b = (_a = node.nodeValue) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0);\n        const node2 = marker.nextSibling;\n        if (isText$a(node2)) {\n          node.appendData(node2.data);\n          (_c = node2.parentNode) === null || _c === void 0 ? void 0 : _c.removeChild(node2);\n        }\n      } else {\n        rng.setStartBefore(marker);\n        rng.setEndBefore(marker);\n      }\n      const findNextCaretRng = rng => {\n        let caretPos = CaretPosition.fromRangeStart(rng);\n        const caretWalker = CaretWalker(editor.getBody());\n        caretPos = caretWalker.next(caretPos);\n        return caretPos === null || caretPos === void 0 ? void 0 : caretPos.toRange();\n      };\n      const parentBlock = dom.getParent(marker, dom.isBlock);\n      dom.remove(marker);\n      if (parentBlock && dom.isEmpty(parentBlock)) {\n        const isCell = isTableCell(parentBlock);\n        empty(SugarElement.fromDom(parentBlock));\n        rng.setStart(parentBlock, 0);\n        rng.setEnd(parentBlock, 0);\n        if (!isCell && !isPartOfFragment(parentBlock) && (nextRng = findNextCaretRng(rng))) {\n          rng = nextRng;\n          dom.remove(parentBlock);\n        } else {\n          dom.add(parentBlock, dom.create('br', isCell ? {} : {\n            'data-mce-bogus': '1'\n          }));\n        }\n      }\n      selection.setRng(rng);\n    };\n    const deleteSelectedContent = editor => {\n      const dom = editor.dom;\n      const rng = normalize(editor.selection.getRng());\n      editor.selection.setRng(rng);\n      const startCell = dom.getParent(rng.startContainer, isTableCell);\n      if (isTableCellContentSelected(dom, rng, startCell)) {\n        deleteCellContents(editor, rng, SugarElement.fromDom(startCell));\n      } else if (rng.startContainer === rng.endContainer && rng.endOffset - rng.startOffset === 1 && isText$a(rng.startContainer.childNodes[rng.startOffset])) {\n        rng.deleteContents();\n      } else {\n        editor.getDoc().execCommand('Delete', false);\n      }\n    };\n    const findMarkerNode = scope => {\n      for (let markerNode = scope; markerNode; markerNode = markerNode.walk()) {\n        if (markerNode.attr('id') === 'mce_marker') {\n          return Optional.some(markerNode);\n        }\n      }\n      return Optional.none();\n    };\n    const notHeadingsInSummary = (dom, node, fragment) => {\n      var _a;\n      return exists(fragment.children(), isHeading) && ((_a = dom.getParent(node, dom.isBlock)) === null || _a === void 0 ? void 0 : _a.nodeName) === 'SUMMARY';\n    };\n    const insertHtmlAtCaret = (editor, value, details) => {\n      var _a, _b;\n      const selection = editor.selection;\n      const dom = editor.dom;\n      const parser = editor.parser;\n      const merge = details.merge;\n      const serializer = HtmlSerializer({\n        validate: true\n      }, editor.schema);\n      const bookmarkHtml = '<span id=\"mce_marker\" data-mce-type=\"bookmark\">&#xFEFF;</span>';\n      if (!details.preserve_zwsp) {\n        value = trim$2(value);\n      }\n      if (value.indexOf('{$caret}') === -1) {\n        value += '{$caret}';\n      }\n      value = value.replace(/\\{\\$caret\\}/, bookmarkHtml);\n      let rng = selection.getRng();\n      const caretElement = rng.startContainer;\n      const body = editor.getBody();\n      if (caretElement === body && selection.isCollapsed()) {\n        if (dom.isBlock(body.firstChild) && canHaveChildren(editor, body.firstChild) && dom.isEmpty(body.firstChild)) {\n          rng = dom.createRng();\n          rng.setStart(body.firstChild, 0);\n          rng.setEnd(body.firstChild, 0);\n          selection.setRng(rng);\n        }\n      }\n      if (!selection.isCollapsed()) {\n        deleteSelectedContent(editor);\n      }\n      const parentNode = selection.getNode();\n      const parserArgs = {\n        context: parentNode.nodeName.toLowerCase(),\n        data: details.data,\n        insert: true\n      };\n      const fragment = parser.parse(value, parserArgs);\n      if (details.paste === true && isListFragment(editor.schema, fragment) && isParentBlockLi(dom, parentNode)) {\n        rng = insertAtCaret$1(serializer, dom, selection.getRng(), fragment);\n        if (rng) {\n          selection.setRng(rng);\n        }\n        return value;\n      }\n      if (details.paste === true && shouldPasteContentOnly(dom, fragment, parentNode, editor.getBody())) {\n        (_a = fragment.firstChild) === null || _a === void 0 ? void 0 : _a.unwrap();\n      }\n      markFragmentElements(fragment);\n      let node = fragment.lastChild;\n      if (node && node.attr('id') === 'mce_marker') {\n        const marker = node;\n        for (node = node.prev; node; node = node.walk(true)) {\n          if (node.type === 3 || !dom.isBlock(node.name)) {\n            if (node.parent && editor.schema.isValidChild(node.parent.name, 'span')) {\n              node.parent.insert(marker, node, node.name === 'br');\n            }\n            break;\n          }\n        }\n      }\n      editor._selectionOverrides.showBlockCaretContainer(parentNode);\n      if (!parserArgs.invalid && !notHeadingsInSummary(dom, parentNode, fragment)) {\n        value = serializer.serialize(fragment);\n        validInsertion(editor, value, parentNode);\n      } else {\n        editor.selection.setContent(bookmarkHtml);\n        let parentNode = selection.getNode();\n        let tempNode;\n        const rootNode = editor.getBody();\n        if (isDocument$1(parentNode)) {\n          parentNode = tempNode = rootNode;\n        } else {\n          tempNode = parentNode;\n        }\n        while (tempNode && tempNode !== rootNode) {\n          parentNode = tempNode;\n          tempNode = tempNode.parentNode;\n        }\n        value = parentNode === rootNode ? rootNode.innerHTML : dom.getOuterHTML(parentNode);\n        const root = parser.parse(value);\n        const markerNode = findMarkerNode(root);\n        const editingHost = markerNode.bind(findClosestEditingHost).getOr(root);\n        markerNode.each(marker => marker.replace(fragment));\n        const toExtract = fragment.children();\n        const parent = (_b = fragment.parent) !== null && _b !== void 0 ? _b : root;\n        fragment.unwrap();\n        const invalidChildren = filter$5(toExtract, node => isInvalid(editor.schema, node, parent));\n        cleanInvalidNodes(invalidChildren, editor.schema, editingHost);\n        filter$2(parser.getNodeFilters(), parser.getAttributeFilters(), root);\n        value = serializer.serialize(root);\n        if (parentNode === rootNode) {\n          dom.setHTML(rootNode, value);\n        } else {\n          dom.setOuterHTML(parentNode, value);\n        }\n      }\n      reduceInlineTextElements(editor, merge);\n      moveSelectionToMarker(editor, dom.get('mce_marker'));\n      unmarkFragmentElements(editor.getBody());\n      trimBrsFromTableCell(dom, selection.getStart(), editor.schema);\n      updateCaret(editor.schema, editor.getBody(), selection.getStart());\n      return value;\n    };\n\n    const isTreeNode = content => content instanceof AstNode;\n\n    const moveSelection = editor => {\n      if (hasFocus(editor)) {\n        firstPositionIn(editor.getBody()).each(pos => {\n          const node = pos.getNode();\n          const caretPos = isTable$2(node) ? firstPositionIn(node).getOr(pos) : pos;\n          editor.selection.setRng(caretPos.toRange());\n        });\n      }\n    };\n    const setEditorHtml = (editor, html, noSelection) => {\n      editor.dom.setHTML(editor.getBody(), html);\n      if (noSelection !== true) {\n        moveSelection(editor);\n      }\n    };\n    const setContentString = (editor, body, content, args) => {\n      content = trim$2(content);\n      if (content.length === 0 || /^\\s+$/.test(content)) {\n        const padd = '<br data-mce-bogus=\"1\">';\n        if (body.nodeName === 'TABLE') {\n          content = '<tr><td>' + padd + '</td></tr>';\n        } else if (/^(UL|OL)$/.test(body.nodeName)) {\n          content = '<li>' + padd + '</li>';\n        }\n        const forcedRootBlockName = getForcedRootBlock(editor);\n        if (editor.schema.isValidChild(body.nodeName.toLowerCase(), forcedRootBlockName.toLowerCase())) {\n          content = padd;\n          content = editor.dom.createHTML(forcedRootBlockName, getForcedRootBlockAttrs(editor), content);\n        } else if (!content) {\n          content = padd;\n        }\n        setEditorHtml(editor, content, args.no_selection);\n        return {\n          content,\n          html: content\n        };\n      } else {\n        if (args.format !== 'raw') {\n          content = HtmlSerializer({\n            validate: false\n          }, editor.schema).serialize(editor.parser.parse(content, {\n            isRootContent: true,\n            insert: true\n          }));\n        }\n        const trimmedHtml = isWsPreserveElement(SugarElement.fromDom(body)) ? content : Tools.trim(content);\n        setEditorHtml(editor, trimmedHtml, args.no_selection);\n        return {\n          content: trimmedHtml,\n          html: trimmedHtml\n        };\n      }\n    };\n    const setContentTree = (editor, body, content, args) => {\n      filter$2(editor.parser.getNodeFilters(), editor.parser.getAttributeFilters(), content);\n      const html = HtmlSerializer({\n        validate: false\n      }, editor.schema).serialize(content);\n      const trimmedHtml = trim$2(isWsPreserveElement(SugarElement.fromDom(body)) ? html : Tools.trim(html));\n      setEditorHtml(editor, trimmedHtml, args.no_selection);\n      return {\n        content,\n        html: trimmedHtml\n      };\n    };\n    const setContentInternal = (editor, content, args) => {\n      return Optional.from(editor.getBody()).map(body => {\n        if (isTreeNode(content)) {\n          return setContentTree(editor, body, content, args);\n        } else {\n          return setContentString(editor, body, content, args);\n        }\n      }).getOr({\n        content,\n        html: isTreeNode(args.content) ? '' : args.content\n      });\n    };\n\n    const ensureIsRoot = isRoot => isFunction(isRoot) ? isRoot : never;\n    const ancestor = (scope, transform, isRoot) => {\n      let element = scope.dom;\n      const stop = ensureIsRoot(isRoot);\n      while (element.parentNode) {\n        element = element.parentNode;\n        const el = SugarElement.fromDom(element);\n        const transformed = transform(el);\n        if (transformed.isSome()) {\n          return transformed;\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const closest$1 = (scope, transform, isRoot) => {\n      const current = transform(scope);\n      const stop = ensureIsRoot(isRoot);\n      return current.orThunk(() => stop(scope) ? Optional.none() : ancestor(scope, transform, stop));\n    };\n\n    const isEq$3 = isEq$5;\n    const matchesUnInheritedFormatSelector = (ed, node, name) => {\n      const formatList = ed.formatter.get(name);\n      if (formatList) {\n        for (let i = 0; i < formatList.length; i++) {\n          const format = formatList[i];\n          if (isSelectorFormat(format) && format.inherit === false && ed.dom.is(node, format.selector)) {\n            return true;\n          }\n        }\n      }\n      return false;\n    };\n    const matchParents = (editor, node, name, vars, similar) => {\n      const root = editor.dom.getRoot();\n      if (node === root) {\n        return false;\n      }\n      const matchedNode = editor.dom.getParent(node, elm => {\n        if (matchesUnInheritedFormatSelector(editor, elm, name)) {\n          return true;\n        }\n        return elm.parentNode === root || !!matchNode(editor, elm, name, vars, true);\n      });\n      return !!matchNode(editor, matchedNode, name, vars, similar);\n    };\n    const matchName = (dom, node, format) => {\n      if (isInlineFormat(format) && isEq$3(node, format.inline)) {\n        return true;\n      }\n      if (isBlockFormat(format) && isEq$3(node, format.block)) {\n        return true;\n      }\n      if (isSelectorFormat(format)) {\n        return isElement$6(node) && dom.is(node, format.selector);\n      }\n      return false;\n    };\n    const matchItems = (dom, node, format, itemName, similar, vars) => {\n      const items = format[itemName];\n      const matchAttributes = itemName === 'attributes';\n      if (isFunction(format.onmatch)) {\n        return format.onmatch(node, format, itemName);\n      }\n      if (items) {\n        if (!isArrayLike(items)) {\n          for (const key in items) {\n            if (has$2(items, key)) {\n              const value = matchAttributes ? dom.getAttrib(node, key) : getStyle(dom, node, key);\n              const expectedValue = replaceVars(items[key], vars);\n              const isEmptyValue = isNullable(value) || isEmpty$3(value);\n              if (isEmptyValue && isNullable(expectedValue)) {\n                continue;\n              }\n              if (similar && isEmptyValue && !format.exact) {\n                return false;\n              }\n              if ((!similar || format.exact) && !isEq$3(value, normalizeStyleValue(expectedValue, key))) {\n                return false;\n              }\n            }\n          }\n        } else {\n          for (let i = 0; i < items.length; i++) {\n            if (matchAttributes ? dom.getAttrib(node, items[i]) : getStyle(dom, node, items[i])) {\n              return true;\n            }\n          }\n        }\n      }\n      return true;\n    };\n    const matchNode = (ed, node, name, vars, similar) => {\n      const formatList = ed.formatter.get(name);\n      const dom = ed.dom;\n      if (formatList && isElement$6(node)) {\n        for (let i = 0; i < formatList.length; i++) {\n          const format = formatList[i];\n          if (matchName(ed.dom, node, format) && matchItems(dom, node, format, 'attributes', similar, vars) && matchItems(dom, node, format, 'styles', similar, vars)) {\n            const classes = format.classes;\n            if (classes) {\n              for (let x = 0; x < classes.length; x++) {\n                if (!ed.dom.hasClass(node, replaceVars(classes[x], vars))) {\n                  return;\n                }\n              }\n            }\n            return format;\n          }\n        }\n      }\n      return undefined;\n    };\n    const match$2 = (editor, name, vars, node, similar) => {\n      if (node) {\n        return matchParents(editor, node, name, vars, similar);\n      }\n      node = editor.selection.getNode();\n      if (matchParents(editor, node, name, vars, similar)) {\n        return true;\n      }\n      const startNode = editor.selection.getStart();\n      if (startNode !== node) {\n        if (matchParents(editor, startNode, name, vars, similar)) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const matchAll = (editor, names, vars) => {\n      const matchedFormatNames = [];\n      const checkedMap = {};\n      const startElement = editor.selection.getStart();\n      editor.dom.getParent(startElement, node => {\n        for (let i = 0; i < names.length; i++) {\n          const name = names[i];\n          if (!checkedMap[name] && matchNode(editor, node, name, vars)) {\n            checkedMap[name] = true;\n            matchedFormatNames.push(name);\n          }\n        }\n      }, editor.dom.getRoot());\n      return matchedFormatNames;\n    };\n    const closest = (editor, names) => {\n      const isRoot = elm => eq(elm, SugarElement.fromDom(editor.getBody()));\n      const match = (elm, name) => matchNode(editor, elm.dom, name) ? Optional.some(name) : Optional.none();\n      return Optional.from(editor.selection.getStart(true)).bind(rawElm => closest$1(SugarElement.fromDom(rawElm), elm => findMap(names, name => match(elm, name)), isRoot)).getOrNull();\n    };\n    const canApply = (editor, name) => {\n      const formatList = editor.formatter.get(name);\n      const dom = editor.dom;\n      if (formatList && editor.selection.isEditable()) {\n        const startNode = editor.selection.getStart();\n        const parents = getParents$2(dom, startNode);\n        for (let x = formatList.length - 1; x >= 0; x--) {\n          const format = formatList[x];\n          if (!isSelectorFormat(format)) {\n            return true;\n          }\n          for (let i = parents.length - 1; i >= 0; i--) {\n            if (dom.is(parents[i], format.selector)) {\n              return true;\n            }\n          }\n        }\n      }\n      return false;\n    };\n    const matchAllOnNode = (editor, node, formatNames) => foldl(formatNames, (acc, name) => {\n      const matchSimilar = isVariableFormatName(editor, name);\n      if (editor.formatter.matchNode(node, name, {}, matchSimilar)) {\n        return acc.concat([name]);\n      } else {\n        return acc;\n      }\n    }, []);\n\n    const ZWSP = ZWSP$1;\n    const importNode = (ownerDocument, node) => {\n      return ownerDocument.importNode(node, true);\n    };\n    const findFirstTextNode = node => {\n      if (node) {\n        const walker = new DomTreeWalker(node, node);\n        for (let tempNode = walker.current(); tempNode; tempNode = walker.next()) {\n          if (isText$a(tempNode)) {\n            return tempNode;\n          }\n        }\n      }\n      return null;\n    };\n    const createCaretContainer = fill => {\n      const caretContainer = SugarElement.fromTag('span');\n      setAll$1(caretContainer, {\n        'id': CARET_ID,\n        'data-mce-bogus': '1',\n        'data-mce-type': 'format-caret'\n      });\n      if (fill) {\n        append$1(caretContainer, SugarElement.fromText(ZWSP));\n      }\n      return caretContainer;\n    };\n    const trimZwspFromCaretContainer = caretContainerNode => {\n      const textNode = findFirstTextNode(caretContainerNode);\n      if (textNode && textNode.data.charAt(0) === ZWSP) {\n        textNode.deleteData(0, 1);\n      }\n      return textNode;\n    };\n    const removeCaretContainerNode = (editor, node, moveCaret) => {\n      const dom = editor.dom,\n        selection = editor.selection;\n      if (isCaretContainerEmpty(node)) {\n        deleteElement$2(editor, false, SugarElement.fromDom(node), moveCaret, true);\n      } else {\n        const rng = selection.getRng();\n        const block = dom.getParent(node, dom.isBlock);\n        const startContainer = rng.startContainer;\n        const startOffset = rng.startOffset;\n        const endContainer = rng.endContainer;\n        const endOffset = rng.endOffset;\n        const textNode = trimZwspFromCaretContainer(node);\n        dom.remove(node, true);\n        if (startContainer === textNode && startOffset > 0) {\n          rng.setStart(textNode, startOffset - 1);\n        }\n        if (endContainer === textNode && endOffset > 0) {\n          rng.setEnd(textNode, endOffset - 1);\n        }\n        if (block && dom.isEmpty(block)) {\n          fillWithPaddingBr(SugarElement.fromDom(block));\n        }\n        selection.setRng(rng);\n      }\n    };\n    const removeCaretContainer = (editor, node, moveCaret) => {\n      const dom = editor.dom,\n        selection = editor.selection;\n      if (!node) {\n        node = getParentCaretContainer(editor.getBody(), selection.getStart());\n        if (!node) {\n          while (node = dom.get(CARET_ID)) {\n            removeCaretContainerNode(editor, node, moveCaret);\n          }\n        }\n      } else {\n        removeCaretContainerNode(editor, node, moveCaret);\n      }\n    };\n    const insertCaretContainerNode = (editor, caretContainer, formatNode) => {\n      var _a, _b;\n      const dom = editor.dom;\n      const block = dom.getParent(formatNode, curry(isTextBlock$1, editor.schema));\n      if (block && dom.isEmpty(block)) {\n        (_a = formatNode.parentNode) === null || _a === void 0 ? void 0 : _a.replaceChild(caretContainer, formatNode);\n      } else {\n        removeTrailingBr(SugarElement.fromDom(formatNode));\n        if (dom.isEmpty(formatNode)) {\n          (_b = formatNode.parentNode) === null || _b === void 0 ? void 0 : _b.replaceChild(caretContainer, formatNode);\n        } else {\n          dom.insertAfter(caretContainer, formatNode);\n        }\n      }\n    };\n    const appendNode = (parentNode, node) => {\n      parentNode.appendChild(node);\n      return node;\n    };\n    const insertFormatNodesIntoCaretContainer = (formatNodes, caretContainer) => {\n      var _a;\n      const innerMostFormatNode = foldr(formatNodes, (parentNode, formatNode) => {\n        return appendNode(parentNode, formatNode.cloneNode(false));\n      }, caretContainer);\n      const doc = (_a = innerMostFormatNode.ownerDocument) !== null && _a !== void 0 ? _a : document;\n      return appendNode(innerMostFormatNode, doc.createTextNode(ZWSP));\n    };\n    const cleanFormatNode = (editor, caretContainer, formatNode, name, vars, similar) => {\n      const formatter = editor.formatter;\n      const dom = editor.dom;\n      const validFormats = filter$5(keys(formatter.get()), formatName => formatName !== name && !contains$1(formatName, 'removeformat'));\n      const matchedFormats = matchAllOnNode(editor, formatNode, validFormats);\n      const uniqueFormats = filter$5(matchedFormats, fmtName => !areSimilarFormats(editor, fmtName, name));\n      if (uniqueFormats.length > 0) {\n        const clonedFormatNode = formatNode.cloneNode(false);\n        dom.add(caretContainer, clonedFormatNode);\n        formatter.remove(name, vars, clonedFormatNode, similar);\n        dom.remove(clonedFormatNode);\n        return Optional.some(clonedFormatNode);\n      } else {\n        return Optional.none();\n      }\n    };\n    const applyCaretFormat = (editor, name, vars) => {\n      let caretContainer;\n      const selection = editor.selection;\n      const formatList = editor.formatter.get(name);\n      if (!formatList) {\n        return;\n      }\n      const selectionRng = selection.getRng();\n      let offset = selectionRng.startOffset;\n      const container = selectionRng.startContainer;\n      const text = container.nodeValue;\n      caretContainer = getParentCaretContainer(editor.getBody(), selection.getStart());\n      const wordcharRegex = /[^\\s\\u00a0\\u00ad\\u200b\\ufeff]/;\n      if (text && offset > 0 && offset < text.length && wordcharRegex.test(text.charAt(offset)) && wordcharRegex.test(text.charAt(offset - 1))) {\n        const bookmark = selection.getBookmark();\n        selectionRng.collapse(true);\n        let rng = expandRng(editor.dom, selectionRng, formatList);\n        rng = split(rng);\n        editor.formatter.apply(name, vars, rng);\n        selection.moveToBookmark(bookmark);\n      } else {\n        let textNode = caretContainer ? findFirstTextNode(caretContainer) : null;\n        if (!caretContainer || (textNode === null || textNode === void 0 ? void 0 : textNode.data) !== ZWSP) {\n          caretContainer = importNode(editor.getDoc(), createCaretContainer(true).dom);\n          textNode = caretContainer.firstChild;\n          selectionRng.insertNode(caretContainer);\n          offset = 1;\n          editor.formatter.apply(name, vars, caretContainer);\n        } else {\n          editor.formatter.apply(name, vars, caretContainer);\n        }\n        selection.setCursorLocation(textNode, offset);\n      }\n    };\n    const removeCaretFormat = (editor, name, vars, similar) => {\n      const dom = editor.dom;\n      const selection = editor.selection;\n      let hasContentAfter = false;\n      const formatList = editor.formatter.get(name);\n      if (!formatList) {\n        return;\n      }\n      const rng = selection.getRng();\n      const container = rng.startContainer;\n      const offset = rng.startOffset;\n      let node = container;\n      if (isText$a(container)) {\n        if (offset !== container.data.length) {\n          hasContentAfter = true;\n        }\n        node = node.parentNode;\n      }\n      const parents = [];\n      let formatNode;\n      while (node) {\n        if (matchNode(editor, node, name, vars, similar)) {\n          formatNode = node;\n          break;\n        }\n        if (node.nextSibling) {\n          hasContentAfter = true;\n        }\n        parents.push(node);\n        node = node.parentNode;\n      }\n      if (!formatNode) {\n        return;\n      }\n      if (hasContentAfter) {\n        const bookmark = selection.getBookmark();\n        rng.collapse(true);\n        let expandedRng = expandRng(dom, rng, formatList, true);\n        expandedRng = split(expandedRng);\n        editor.formatter.remove(name, vars, expandedRng, similar);\n        selection.moveToBookmark(bookmark);\n      } else {\n        const caretContainer = getParentCaretContainer(editor.getBody(), formatNode);\n        const parentsAfter = isNonNullable(caretContainer) ? dom.getParents(formatNode.parentNode, always, caretContainer) : [];\n        const newCaretContainer = createCaretContainer(false).dom;\n        insertCaretContainerNode(editor, newCaretContainer, caretContainer !== null && caretContainer !== void 0 ? caretContainer : formatNode);\n        const cleanedFormatNode = cleanFormatNode(editor, newCaretContainer, formatNode, name, vars, similar);\n        const caretTextNode = insertFormatNodesIntoCaretContainer([...parents, ...cleanedFormatNode.toArray(), ...parentsAfter], newCaretContainer);\n        if (caretContainer) {\n          removeCaretContainerNode(editor, caretContainer, isNonNullable(caretContainer));\n        }\n        selection.setCursorLocation(caretTextNode, 1);\n        if (dom.isEmpty(formatNode)) {\n          dom.remove(formatNode);\n        }\n      }\n    };\n    const disableCaretContainer = (editor, keyCode, moveCaret) => {\n      const selection = editor.selection,\n        body = editor.getBody();\n      removeCaretContainer(editor, null, moveCaret);\n      if ((keyCode === 8 || keyCode === 46) && selection.isCollapsed() && selection.getStart().innerHTML === ZWSP) {\n        removeCaretContainer(editor, getParentCaretContainer(body, selection.getStart()), true);\n      }\n      if (keyCode === 37 || keyCode === 39) {\n        removeCaretContainer(editor, getParentCaretContainer(body, selection.getStart()), true);\n      }\n    };\n    const endsWithNbsp = element => isText$a(element) && endsWith(element.data, nbsp);\n    const setup$v = editor => {\n      editor.on('mouseup keydown', e => {\n        disableCaretContainer(editor, e.keyCode, endsWithNbsp(editor.selection.getRng().endContainer));\n      });\n    };\n    const createCaretFormat = formatNodes => {\n      const caretContainer = createCaretContainer(false);\n      const innerMost = insertFormatNodesIntoCaretContainer(formatNodes, caretContainer.dom);\n      return {\n        caretContainer,\n        caretPosition: CaretPosition(innerMost, 0)\n      };\n    };\n    const replaceWithCaretFormat = (targetNode, formatNodes) => {\n      const {\n        caretContainer,\n        caretPosition\n      } = createCaretFormat(formatNodes);\n      before$3(SugarElement.fromDom(targetNode), caretContainer);\n      remove$5(SugarElement.fromDom(targetNode));\n      return caretPosition;\n    };\n    const createCaretFormatAtStart$1 = (rng, formatNodes) => {\n      const {\n        caretContainer,\n        caretPosition\n      } = createCaretFormat(formatNodes);\n      rng.insertNode(caretContainer.dom);\n      return caretPosition;\n    };\n    const isFormatElement = (editor, element) => {\n      if (isCaretNode(element.dom)) {\n        return false;\n      }\n      const inlineElements = editor.schema.getTextInlineElements();\n      return has$2(inlineElements, name(element)) && !isCaretNode(element.dom) && !isBogus$2(element.dom);\n    };\n\n    const postProcessHooks = {};\n    const isPre = matchNodeNames(['pre']);\n    const addPostProcessHook = (name, hook) => {\n      const hooks = postProcessHooks[name];\n      if (!hooks) {\n        postProcessHooks[name] = [];\n      }\n      postProcessHooks[name].push(hook);\n    };\n    const postProcess$1 = (name, editor) => {\n      if (has$2(postProcessHooks, name)) {\n        each$e(postProcessHooks[name], hook => {\n          hook(editor);\n        });\n      }\n    };\n    addPostProcessHook('pre', editor => {\n      const rng = editor.selection.getRng();\n      const hasPreSibling = blocks => pre => {\n        const prev = pre.previousSibling;\n        return isPre(prev) && contains$2(blocks, prev);\n      };\n      const joinPre = (pre1, pre2) => {\n        const sPre2 = SugarElement.fromDom(pre2);\n        const doc = documentOrOwner(sPre2).dom;\n        remove$5(sPre2);\n        append(SugarElement.fromDom(pre1), [SugarElement.fromTag('br', doc), SugarElement.fromTag('br', doc), ...children$1(sPre2)]);\n      };\n      if (!rng.collapsed) {\n        const blocks = editor.selection.getSelectedBlocks();\n        const preBlocks = filter$5(filter$5(blocks, isPre), hasPreSibling(blocks));\n        each$e(preBlocks, pre => {\n          joinPre(pre.previousSibling, pre);\n        });\n      }\n    });\n\n    const listItemStyles = ['fontWeight', 'fontStyle', 'color', 'fontSize', 'fontFamily'];\n    const hasListStyles = fmt => isObject(fmt.styles) && exists(keys(fmt.styles), name => contains$2(listItemStyles, name));\n    const findExpandedListItemFormat = formats => find$2(formats, fmt => isInlineFormat(fmt) && fmt.inline === 'span' && hasListStyles(fmt));\n    const getExpandedListItemFormat = (formatter, format) => {\n      const formatList = formatter.get(format);\n      return isArray$1(formatList) ? findExpandedListItemFormat(formatList) : Optional.none();\n    };\n    const isRngStartAtStartOfElement = (rng, elm) => prevPosition(elm, CaretPosition.fromRangeStart(rng)).isNone();\n    const isRngEndAtEndOfElement = (rng, elm) => {\n      return nextPosition(elm, CaretPosition.fromRangeEnd(rng)).exists(pos => !isBr$6(pos.getNode()) || nextPosition(elm, pos).isSome()) === false;\n    };\n    const isEditableListItem = dom => elm => isListItem$2(elm) && dom.isEditable(elm);\n    const getFullySelectedBlocks = selection => {\n      const blocks = selection.getSelectedBlocks();\n      const rng = selection.getRng();\n      if (selection.isCollapsed()) {\n        return [];\n      }\n      if (blocks.length === 1) {\n        return isRngStartAtStartOfElement(rng, blocks[0]) && isRngEndAtEndOfElement(rng, blocks[0]) ? blocks : [];\n      } else {\n        const first = head(blocks).filter(elm => isRngStartAtStartOfElement(rng, elm)).toArray();\n        const last = last$3(blocks).filter(elm => isRngEndAtEndOfElement(rng, elm)).toArray();\n        const middle = blocks.slice(1, -1);\n        return first.concat(middle).concat(last);\n      }\n    };\n    const getFullySelectedListItems = selection => filter$5(getFullySelectedBlocks(selection), isEditableListItem(selection.dom));\n    const getPartiallySelectedListItems = selection => filter$5(selection.getSelectedBlocks(), isEditableListItem(selection.dom));\n\n    const each$8 = Tools.each;\n    const isElementNode = node => isElement$6(node) && !isBookmarkNode$1(node) && !isCaretNode(node) && !isBogus$2(node);\n    const findElementSibling = (node, siblingName) => {\n      for (let sibling = node; sibling; sibling = sibling[siblingName]) {\n        if (isText$a(sibling) && isNotEmpty(sibling.data)) {\n          return node;\n        }\n        if (isElement$6(sibling) && !isBookmarkNode$1(sibling)) {\n          return sibling;\n        }\n      }\n      return node;\n    };\n    const mergeSiblingsNodes = (editor, prev, next) => {\n      const elementUtils = ElementUtils(editor);\n      const isPrevEditable = isHTMLElement(prev) && editor.dom.isEditable(prev);\n      const isNextEditable = isHTMLElement(next) && editor.dom.isEditable(next);\n      if (isPrevEditable && isNextEditable) {\n        const prevSibling = findElementSibling(prev, 'previousSibling');\n        const nextSibling = findElementSibling(next, 'nextSibling');\n        if (elementUtils.compare(prevSibling, nextSibling)) {\n          for (let sibling = prevSibling.nextSibling; sibling && sibling !== nextSibling;) {\n            const tmpSibling = sibling;\n            sibling = sibling.nextSibling;\n            prevSibling.appendChild(tmpSibling);\n          }\n          editor.dom.remove(nextSibling);\n          Tools.each(Tools.grep(nextSibling.childNodes), node => {\n            prevSibling.appendChild(node);\n          });\n          return prevSibling;\n        }\n      }\n      return next;\n    };\n    const mergeSiblings = (editor, format, vars, node) => {\n      var _a;\n      if (node && format.merge_siblings !== false) {\n        const newNode = (_a = mergeSiblingsNodes(editor, getNonWhiteSpaceSibling(node), node)) !== null && _a !== void 0 ? _a : node;\n        mergeSiblingsNodes(editor, newNode, getNonWhiteSpaceSibling(newNode, true));\n      }\n    };\n    const clearChildStyles = (dom, format, node) => {\n      if (format.clear_child_styles) {\n        const selector = format.links ? '*:not(a)' : '*';\n        each$8(dom.select(selector, node), childNode => {\n          if (isElementNode(childNode) && dom.isEditable(childNode)) {\n            each$8(format.styles, (_value, name) => {\n              dom.setStyle(childNode, name, '');\n            });\n          }\n        });\n      }\n    };\n    const processChildElements = (node, filter, process) => {\n      each$8(node.childNodes, node => {\n        if (isElementNode(node)) {\n          if (filter(node)) {\n            process(node);\n          }\n          if (node.hasChildNodes()) {\n            processChildElements(node, filter, process);\n          }\n        }\n      });\n    };\n    const unwrapEmptySpan = (dom, node) => {\n      if (node.nodeName === 'SPAN' && dom.getAttribs(node).length === 0) {\n        dom.remove(node, true);\n      }\n    };\n    const hasStyle = (dom, name) => node => !!(node && getStyle(dom, node, name));\n    const applyStyle = (dom, name, value) => node => {\n      dom.setStyle(node, name, value);\n      if (node.getAttribute('style') === '') {\n        node.removeAttribute('style');\n      }\n      unwrapEmptySpan(dom, node);\n    };\n\n    const removeResult = Adt.generate([{\n      keep: []\n    }, {\n      rename: ['name']\n    }, {\n      removed: []\n    }]);\n    const MCE_ATTR_RE = /^(src|href|style)$/;\n    const each$7 = Tools.each;\n    const isEq$2 = isEq$5;\n    const isTableCellOrRow = node => /^(TR|TH|TD)$/.test(node.nodeName);\n    const isChildOfInlineParent = (dom, node, parent) => dom.isChildOf(node, parent) && node !== parent && !dom.isBlock(parent);\n    const getContainer = (ed, rng, start) => {\n      let container = rng[start ? 'startContainer' : 'endContainer'];\n      let offset = rng[start ? 'startOffset' : 'endOffset'];\n      if (isElement$6(container)) {\n        const lastIdx = container.childNodes.length - 1;\n        if (!start && offset) {\n          offset--;\n        }\n        container = container.childNodes[offset > lastIdx ? lastIdx : offset];\n      }\n      if (isText$a(container) && start && offset >= container.data.length) {\n        container = new DomTreeWalker(container, ed.getBody()).next() || container;\n      }\n      if (isText$a(container) && !start && offset === 0) {\n        container = new DomTreeWalker(container, ed.getBody()).prev() || container;\n      }\n      return container;\n    };\n    const normalizeTableSelection = (node, start) => {\n      const prop = start ? 'firstChild' : 'lastChild';\n      const childNode = node[prop];\n      if (isTableCellOrRow(node) && childNode) {\n        if (node.nodeName === 'TR') {\n          return childNode[prop] || childNode;\n        } else {\n          return childNode;\n        }\n      }\n      return node;\n    };\n    const wrap$1 = (dom, node, name, attrs) => {\n      var _a;\n      const wrapper = dom.create(name, attrs);\n      (_a = node.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(wrapper, node);\n      wrapper.appendChild(node);\n      return wrapper;\n    };\n    const wrapWithSiblings = (dom, node, next, name, attrs) => {\n      const start = SugarElement.fromDom(node);\n      const wrapper = SugarElement.fromDom(dom.create(name, attrs));\n      const siblings = next ? nextSiblings(start) : prevSiblings(start);\n      append(wrapper, siblings);\n      if (next) {\n        before$3(start, wrapper);\n        prepend(wrapper, start);\n      } else {\n        after$4(start, wrapper);\n        append$1(wrapper, start);\n      }\n      return wrapper.dom;\n    };\n    const isColorFormatAndAnchor = (node, format) => format.links && node.nodeName === 'A';\n    const removeNode = (ed, node, format) => {\n      const parentNode = node.parentNode;\n      let rootBlockElm;\n      const dom = ed.dom;\n      const forcedRootBlock = getForcedRootBlock(ed);\n      if (isBlockFormat(format)) {\n        if (parentNode === dom.getRoot()) {\n          if (!format.list_block || !isEq$2(node, format.list_block)) {\n            each$e(from(node.childNodes), node => {\n              if (isValid(ed, forcedRootBlock, node.nodeName.toLowerCase())) {\n                if (!rootBlockElm) {\n                  rootBlockElm = wrap$1(dom, node, forcedRootBlock);\n                  dom.setAttribs(rootBlockElm, getForcedRootBlockAttrs(ed));\n                } else {\n                  rootBlockElm.appendChild(node);\n                }\n              } else {\n                rootBlockElm = null;\n              }\n            });\n          }\n        }\n      }\n      if (isMixedFormat(format) && !isEq$2(format.inline, node)) {\n        return;\n      }\n      dom.remove(node, true);\n    };\n    const processFormatAttrOrStyle = (name, value, vars) => {\n      if (isNumber(name)) {\n        return {\n          name: value,\n          value: null\n        };\n      } else {\n        return {\n          name,\n          value: replaceVars(value, vars)\n        };\n      }\n    };\n    const removeEmptyStyleAttributeIfNeeded = (dom, elm) => {\n      if (dom.getAttrib(elm, 'style') === '') {\n        elm.removeAttribute('style');\n        elm.removeAttribute('data-mce-style');\n      }\n    };\n    const removeStyles = (dom, elm, format, vars, compareNode) => {\n      let stylesModified = false;\n      each$7(format.styles, (value, name) => {\n        const {\n          name: styleName,\n          value: styleValue\n        } = processFormatAttrOrStyle(name, value, vars);\n        const normalizedStyleValue = normalizeStyleValue(styleValue, styleName);\n        if (format.remove_similar || isNull(styleValue) || !isElement$6(compareNode) || isEq$2(getStyle(dom, compareNode, styleName), normalizedStyleValue)) {\n          dom.setStyle(elm, styleName, '');\n        }\n        stylesModified = true;\n      });\n      if (stylesModified) {\n        removeEmptyStyleAttributeIfNeeded(dom, elm);\n      }\n    };\n    const removeListStyleFormats = (editor, name, vars) => {\n      if (name === 'removeformat') {\n        each$e(getPartiallySelectedListItems(editor.selection), li => {\n          each$e(listItemStyles, name => editor.dom.setStyle(li, name, ''));\n          removeEmptyStyleAttributeIfNeeded(editor.dom, li);\n        });\n      } else {\n        getExpandedListItemFormat(editor.formatter, name).each(liFmt => {\n          each$e(getPartiallySelectedListItems(editor.selection), li => removeStyles(editor.dom, li, liFmt, vars, null));\n        });\n      }\n    };\n    const removeNodeFormatInternal = (ed, format, vars, node, compareNode) => {\n      const dom = ed.dom;\n      const elementUtils = ElementUtils(ed);\n      const schema = ed.schema;\n      if (isInlineFormat(format) && isTransparentElementName(schema, format.inline) && isTransparentBlock(schema, node) && node.parentElement === ed.getBody()) {\n        removeNode(ed, node, format);\n        return removeResult.removed();\n      }\n      if (!format.ceFalseOverride && node && dom.getContentEditableParent(node) === 'false') {\n        return removeResult.keep();\n      }\n      if (node && !matchName(dom, node, format) && !isColorFormatAndAnchor(node, format)) {\n        return removeResult.keep();\n      }\n      const elm = node;\n      const preserveAttributes = format.preserve_attributes;\n      if (isInlineFormat(format) && format.remove === 'all' && isArray$1(preserveAttributes)) {\n        const attrsToPreserve = filter$5(dom.getAttribs(elm), attr => contains$2(preserveAttributes, attr.name.toLowerCase()));\n        dom.removeAllAttribs(elm);\n        each$e(attrsToPreserve, attr => dom.setAttrib(elm, attr.name, attr.value));\n        if (attrsToPreserve.length > 0) {\n          return removeResult.rename('span');\n        }\n      }\n      if (format.remove !== 'all') {\n        removeStyles(dom, elm, format, vars, compareNode);\n        each$7(format.attributes, (value, name) => {\n          const {\n            name: attrName,\n            value: attrValue\n          } = processFormatAttrOrStyle(name, value, vars);\n          if (format.remove_similar || isNull(attrValue) || !isElement$6(compareNode) || isEq$2(dom.getAttrib(compareNode, attrName), attrValue)) {\n            if (attrName === 'class') {\n              const currentValue = dom.getAttrib(elm, attrName);\n              if (currentValue) {\n                let valueOut = '';\n                each$e(currentValue.split(/\\s+/), cls => {\n                  if (/mce\\-\\w+/.test(cls)) {\n                    valueOut += (valueOut ? ' ' : '') + cls;\n                  }\n                });\n                if (valueOut) {\n                  dom.setAttrib(elm, attrName, valueOut);\n                  return;\n                }\n              }\n            }\n            if (MCE_ATTR_RE.test(attrName)) {\n              elm.removeAttribute('data-mce-' + attrName);\n            }\n            if (attrName === 'style' && matchNodeNames(['li'])(elm) && dom.getStyle(elm, 'list-style-type') === 'none') {\n              elm.removeAttribute(attrName);\n              dom.setStyle(elm, 'list-style-type', 'none');\n              return;\n            }\n            if (attrName === 'class') {\n              elm.removeAttribute('className');\n            }\n            elm.removeAttribute(attrName);\n          }\n        });\n        each$7(format.classes, value => {\n          value = replaceVars(value, vars);\n          if (!isElement$6(compareNode) || dom.hasClass(compareNode, value)) {\n            dom.removeClass(elm, value);\n          }\n        });\n        const attrs = dom.getAttribs(elm);\n        for (let i = 0; i < attrs.length; i++) {\n          const attrName = attrs[i].nodeName;\n          if (!elementUtils.isAttributeInternal(attrName)) {\n            return removeResult.keep();\n          }\n        }\n      }\n      if (format.remove !== 'none') {\n        removeNode(ed, elm, format);\n        return removeResult.removed();\n      }\n      return removeResult.keep();\n    };\n    const findFormatRoot = (editor, container, name, vars, similar) => {\n      let formatRoot;\n      if (container.parentNode) {\n        each$e(getParents$2(editor.dom, container.parentNode).reverse(), parent => {\n          if (!formatRoot && isElement$6(parent) && parent.id !== '_start' && parent.id !== '_end') {\n            const format = matchNode(editor, parent, name, vars, similar);\n            if (format && format.split !== false) {\n              formatRoot = parent;\n            }\n          }\n        });\n      }\n      return formatRoot;\n    };\n    const removeNodeFormatFromClone = (editor, format, vars, clone) => removeNodeFormatInternal(editor, format, vars, clone, clone).fold(constant(clone), newName => {\n      const fragment = editor.dom.createFragment();\n      fragment.appendChild(clone);\n      return editor.dom.rename(clone, newName);\n    }, constant(null));\n    const wrapAndSplit = (editor, formatList, formatRoot, container, target, split, format, vars) => {\n      var _a, _b;\n      let lastClone;\n      let firstClone;\n      const dom = editor.dom;\n      if (formatRoot) {\n        const formatRootParent = formatRoot.parentNode;\n        for (let parent = container.parentNode; parent && parent !== formatRootParent; parent = parent.parentNode) {\n          let clone = dom.clone(parent, false);\n          for (let i = 0; i < formatList.length; i++) {\n            clone = removeNodeFormatFromClone(editor, formatList[i], vars, clone);\n            if (clone === null) {\n              break;\n            }\n          }\n          if (clone) {\n            if (lastClone) {\n              clone.appendChild(lastClone);\n            }\n            if (!firstClone) {\n              firstClone = clone;\n            }\n            lastClone = clone;\n          }\n        }\n        if (split && (!format.mixed || !dom.isBlock(formatRoot))) {\n          container = (_a = dom.split(formatRoot, container)) !== null && _a !== void 0 ? _a : container;\n        }\n        if (lastClone && firstClone) {\n          (_b = target.parentNode) === null || _b === void 0 ? void 0 : _b.insertBefore(lastClone, target);\n          firstClone.appendChild(target);\n          if (isInlineFormat(format)) {\n            mergeSiblings(editor, format, vars, lastClone);\n          }\n        }\n      }\n      return container;\n    };\n    const removeFormatInternal = (ed, name, vars, node, similar) => {\n      const formatList = ed.formatter.get(name);\n      const format = formatList[0];\n      const dom = ed.dom;\n      const selection = ed.selection;\n      const splitToFormatRoot = container => {\n        const formatRoot = findFormatRoot(ed, container, name, vars, similar);\n        return wrapAndSplit(ed, formatList, formatRoot, container, container, true, format, vars);\n      };\n      const isRemoveBookmarkNode = node => isBookmarkNode$1(node) && isElement$6(node) && (node.id === '_start' || node.id === '_end');\n      const removeFormatOnNode = node => exists(formatList, fmt => removeNodeFormat(ed, fmt, vars, node, node));\n      const process = node => {\n        const children = from(node.childNodes);\n        const removed = removeFormatOnNode(node);\n        const currentNodeMatches = removed || exists(formatList, f => matchName(dom, node, f));\n        const parentNode = node.parentNode;\n        if (!currentNodeMatches && isNonNullable(parentNode) && shouldExpandToSelector(format)) {\n          removeFormatOnNode(parentNode);\n        }\n        if (format.deep) {\n          if (children.length) {\n            for (let i = 0; i < children.length; i++) {\n              process(children[i]);\n            }\n          }\n        }\n        const textDecorations = ['underline', 'line-through', 'overline'];\n        each$e(textDecorations, decoration => {\n          if (isElement$6(node) && ed.dom.getStyle(node, 'text-decoration') === decoration && node.parentNode && getTextDecoration(dom, node.parentNode) === decoration) {\n            removeNodeFormat(ed, {\n              deep: false,\n              exact: true,\n              inline: 'span',\n              styles: {\n                textDecoration: decoration\n              }\n            }, undefined, node);\n          }\n        });\n      };\n      const unwrap = start => {\n        const node = dom.get(start ? '_start' : '_end');\n        if (node) {\n          let out = node[start ? 'firstChild' : 'lastChild'];\n          if (isRemoveBookmarkNode(out)) {\n            out = out[start ? 'firstChild' : 'lastChild'];\n          }\n          if (isText$a(out) && out.data.length === 0) {\n            out = start ? node.previousSibling || node.nextSibling : node.nextSibling || node.previousSibling;\n          }\n          dom.remove(node, true);\n          return out;\n        } else {\n          return null;\n        }\n      };\n      const removeRngStyle = rng => {\n        let startContainer;\n        let endContainer;\n        let expandedRng = expandRng(dom, rng, formatList, rng.collapsed);\n        if (format.split) {\n          expandedRng = split(expandedRng);\n          startContainer = getContainer(ed, expandedRng, true);\n          endContainer = getContainer(ed, expandedRng);\n          if (startContainer !== endContainer) {\n            startContainer = normalizeTableSelection(startContainer, true);\n            endContainer = normalizeTableSelection(endContainer, false);\n            if (isChildOfInlineParent(dom, startContainer, endContainer)) {\n              const marker = Optional.from(startContainer.firstChild).getOr(startContainer);\n              splitToFormatRoot(wrapWithSiblings(dom, marker, true, 'span', {\n                'id': '_start',\n                'data-mce-type': 'bookmark'\n              }));\n              unwrap(true);\n              return;\n            }\n            if (isChildOfInlineParent(dom, endContainer, startContainer)) {\n              const marker = Optional.from(endContainer.lastChild).getOr(endContainer);\n              splitToFormatRoot(wrapWithSiblings(dom, marker, false, 'span', {\n                'id': '_end',\n                'data-mce-type': 'bookmark'\n              }));\n              unwrap(false);\n              return;\n            }\n            startContainer = wrap$1(dom, startContainer, 'span', {\n              'id': '_start',\n              'data-mce-type': 'bookmark'\n            });\n            endContainer = wrap$1(dom, endContainer, 'span', {\n              'id': '_end',\n              'data-mce-type': 'bookmark'\n            });\n            const newRng = dom.createRng();\n            newRng.setStartAfter(startContainer);\n            newRng.setEndBefore(endContainer);\n            walk$3(dom, newRng, nodes => {\n              each$e(nodes, n => {\n                if (!isBookmarkNode$1(n) && !isBookmarkNode$1(n.parentNode)) {\n                  splitToFormatRoot(n);\n                }\n              });\n            });\n            splitToFormatRoot(startContainer);\n            splitToFormatRoot(endContainer);\n            startContainer = unwrap(true);\n            endContainer = unwrap();\n          } else {\n            startContainer = endContainer = splitToFormatRoot(startContainer);\n          }\n          expandedRng.startContainer = startContainer.parentNode ? startContainer.parentNode : startContainer;\n          expandedRng.startOffset = dom.nodeIndex(startContainer);\n          expandedRng.endContainer = endContainer.parentNode ? endContainer.parentNode : endContainer;\n          expandedRng.endOffset = dom.nodeIndex(endContainer) + 1;\n        }\n        walk$3(dom, expandedRng, nodes => {\n          each$e(nodes, process);\n        });\n      };\n      if (node) {\n        if (isNode(node)) {\n          const rng = dom.createRng();\n          rng.setStartBefore(node);\n          rng.setEndAfter(node);\n          removeRngStyle(rng);\n        } else {\n          removeRngStyle(node);\n        }\n        fireFormatRemove(ed, name, node, vars);\n        return;\n      }\n      if (!selection.isCollapsed() || !isInlineFormat(format) || getCellsFromEditor(ed).length) {\n        preserveSelection(ed, () => runOnRanges(ed, removeRngStyle), startNode => isInlineFormat(format) && match$2(ed, name, vars, startNode));\n        ed.nodeChanged();\n      } else {\n        removeCaretFormat(ed, name, vars, similar);\n      }\n      removeListStyleFormats(ed, name, vars);\n      fireFormatRemove(ed, name, node, vars);\n    };\n    const removeFormat$1 = (ed, name, vars, node, similar) => {\n      if (node || ed.selection.isEditable()) {\n        removeFormatInternal(ed, name, vars, node, similar);\n      }\n    };\n    const removeNodeFormat = (editor, format, vars, node, compareNode) => {\n      return removeNodeFormatInternal(editor, format, vars, node, compareNode).fold(never, newName => {\n        editor.dom.rename(node, newName);\n        return true;\n      }, always);\n    };\n\n    const each$6 = Tools.each;\n    const mergeTextDecorationsAndColor = (dom, format, vars, node) => {\n      const processTextDecorationsAndColor = n => {\n        if (isHTMLElement(n) && isElement$6(n.parentNode) && dom.isEditable(n)) {\n          const parentTextDecoration = getTextDecoration(dom, n.parentNode);\n          if (dom.getStyle(n, 'color') && parentTextDecoration) {\n            dom.setStyle(n, 'text-decoration', parentTextDecoration);\n          } else if (dom.getStyle(n, 'text-decoration') === parentTextDecoration) {\n            dom.setStyle(n, 'text-decoration', null);\n          }\n        }\n      };\n      if (format.styles && (format.styles.color || format.styles.textDecoration)) {\n        Tools.walk(node, processTextDecorationsAndColor, 'childNodes');\n        processTextDecorationsAndColor(node);\n      }\n    };\n    const mergeBackgroundColorAndFontSize = (dom, format, vars, node) => {\n      if (format.styles && format.styles.backgroundColor) {\n        const hasFontSize = hasStyle(dom, 'fontSize');\n        processChildElements(node, elm => hasFontSize(elm) && dom.isEditable(elm), applyStyle(dom, 'backgroundColor', replaceVars(format.styles.backgroundColor, vars)));\n      }\n    };\n    const mergeSubSup = (dom, format, vars, node) => {\n      if (isInlineFormat(format) && (format.inline === 'sub' || format.inline === 'sup')) {\n        const hasFontSize = hasStyle(dom, 'fontSize');\n        processChildElements(node, elm => hasFontSize(elm) && dom.isEditable(elm), applyStyle(dom, 'fontSize', ''));\n        const inverseTagDescendants = filter$5(dom.select(format.inline === 'sup' ? 'sub' : 'sup', node), dom.isEditable);\n        dom.remove(inverseTagDescendants, true);\n      }\n    };\n    const mergeWithChildren = (editor, formatList, vars, node) => {\n      each$6(formatList, format => {\n        if (isInlineFormat(format)) {\n          each$6(editor.dom.select(format.inline, node), child => {\n            if (isElementNode(child)) {\n              removeNodeFormat(editor, format, vars, child, format.exact ? child : null);\n            }\n          });\n        }\n        clearChildStyles(editor.dom, format, node);\n      });\n    };\n    const mergeWithParents = (editor, format, name, vars, node) => {\n      const parentNode = node.parentNode;\n      if (matchNode(editor, parentNode, name, vars)) {\n        if (removeNodeFormat(editor, format, vars, node)) {\n          return;\n        }\n      }\n      if (format.merge_with_parents && parentNode) {\n        editor.dom.getParent(parentNode, parent => {\n          if (matchNode(editor, parent, name, vars)) {\n            removeNodeFormat(editor, format, vars, node);\n            return true;\n          } else {\n            return false;\n          }\n        });\n      }\n    };\n\n    const each$5 = Tools.each;\n    const canFormatBR = (editor, format, node, parentName) => {\n      if (canFormatEmptyLines(editor) && isInlineFormat(format) && node.parentNode) {\n        const validBRParentElements = getTextRootBlockElements(editor.schema);\n        const hasCaretNodeSibling = sibling(SugarElement.fromDom(node), sibling => isCaretNode(sibling.dom));\n        return hasNonNullableKey(validBRParentElements, parentName) && isEmpty$2(SugarElement.fromDom(node.parentNode), false) && !hasCaretNodeSibling;\n      } else {\n        return false;\n      }\n    };\n    const applyStyles = (dom, elm, format, vars) => {\n      each$5(format.styles, (value, name) => {\n        dom.setStyle(elm, name, replaceVars(value, vars));\n      });\n      if (format.styles) {\n        const styleVal = dom.getAttrib(elm, 'style');\n        if (styleVal) {\n          dom.setAttrib(elm, 'data-mce-style', styleVal);\n        }\n      }\n    };\n    const applyFormatAction = (ed, name, vars, node) => {\n      const formatList = ed.formatter.get(name);\n      const format = formatList[0];\n      const isCollapsed = !node && ed.selection.isCollapsed();\n      const dom = ed.dom;\n      const selection = ed.selection;\n      const setElementFormat = (elm, fmt = format) => {\n        if (isFunction(fmt.onformat)) {\n          fmt.onformat(elm, fmt, vars, node);\n        }\n        applyStyles(dom, elm, fmt, vars);\n        each$5(fmt.attributes, (value, name) => {\n          dom.setAttrib(elm, name, replaceVars(value, vars));\n        });\n        each$5(fmt.classes, value => {\n          const newValue = replaceVars(value, vars);\n          if (!dom.hasClass(elm, newValue)) {\n            dom.addClass(elm, newValue);\n          }\n        });\n      };\n      const applyNodeStyle = (formatList, node) => {\n        let found = false;\n        each$5(formatList, format => {\n          if (!isSelectorFormat(format)) {\n            return false;\n          }\n          if (dom.getContentEditable(node) === 'false' && !format.ceFalseOverride) {\n            return true;\n          }\n          if (isNonNullable(format.collapsed) && format.collapsed !== isCollapsed) {\n            return true;\n          }\n          if (dom.is(node, format.selector) && !isCaretNode(node)) {\n            setElementFormat(node, format);\n            found = true;\n            return false;\n          }\n          return true;\n        });\n        return found;\n      };\n      const createWrapElement = wrapName => {\n        if (isString(wrapName)) {\n          const wrapElm = dom.create(wrapName);\n          setElementFormat(wrapElm);\n          return wrapElm;\n        } else {\n          return null;\n        }\n      };\n      const applyRngStyle = (dom, rng, nodeSpecific) => {\n        const newWrappers = [];\n        let contentEditable = true;\n        const wrapName = format.inline || format.block;\n        const wrapElm = createWrapElement(wrapName);\n        const isMatchingWrappingBlock = node => isWrappingBlockFormat(format) && matchNode(ed, node, name, vars);\n        const canRenameBlock = (node, parentName, isEditableDescendant) => {\n          const isValidBlockFormatForNode = isNonWrappingBlockFormat(format) && isTextBlock$1(ed.schema, node) && isValid(ed, parentName, wrapName);\n          return isEditableDescendant && isValidBlockFormatForNode;\n        };\n        const canWrapNode = (node, parentName, isEditableDescendant, isWrappableNoneditableElm) => {\n          const nodeName = node.nodeName.toLowerCase();\n          const isValidWrapNode = isValid(ed, wrapName, nodeName) && isValid(ed, parentName, wrapName);\n          const isZwsp = !nodeSpecific && isText$a(node) && isZwsp$1(node.data);\n          const isCaret = isCaretNode(node);\n          const isCorrectFormatForNode = !isInlineFormat(format) || !dom.isBlock(node);\n          return (isEditableDescendant || isWrappableNoneditableElm) && isValidWrapNode && !isZwsp && !isCaret && isCorrectFormatForNode;\n        };\n        walk$3(dom, rng, nodes => {\n          let currentWrapElm;\n          const process = node => {\n            let hasContentEditableState = false;\n            let lastContentEditable = contentEditable;\n            let isWrappableNoneditableElm = false;\n            const parentNode = node.parentNode;\n            const parentName = parentNode.nodeName.toLowerCase();\n            const contentEditableValue = dom.getContentEditable(node);\n            if (isNonNullable(contentEditableValue)) {\n              lastContentEditable = contentEditable;\n              contentEditable = contentEditableValue === 'true';\n              hasContentEditableState = true;\n              isWrappableNoneditableElm = isWrappableNoneditable(ed, node);\n            }\n            const isEditableDescendant = contentEditable && !hasContentEditableState;\n            if (isBr$6(node) && !canFormatBR(ed, format, node, parentName)) {\n              currentWrapElm = null;\n              if (isBlockFormat(format)) {\n                dom.remove(node);\n              }\n              return;\n            }\n            if (isMatchingWrappingBlock(node)) {\n              currentWrapElm = null;\n              return;\n            }\n            if (canRenameBlock(node, parentName, isEditableDescendant)) {\n              const elm = dom.rename(node, wrapName);\n              setElementFormat(elm);\n              newWrappers.push(elm);\n              currentWrapElm = null;\n              return;\n            }\n            if (isSelectorFormat(format)) {\n              let found = applyNodeStyle(formatList, node);\n              if (!found && isNonNullable(parentNode) && shouldExpandToSelector(format)) {\n                found = applyNodeStyle(formatList, parentNode);\n              }\n              if (!isInlineFormat(format) || found) {\n                currentWrapElm = null;\n                return;\n              }\n            }\n            if (isNonNullable(wrapElm) && canWrapNode(node, parentName, isEditableDescendant, isWrappableNoneditableElm)) {\n              if (!currentWrapElm) {\n                currentWrapElm = dom.clone(wrapElm, false);\n                parentNode.insertBefore(currentWrapElm, node);\n                newWrappers.push(currentWrapElm);\n              }\n              if (isWrappableNoneditableElm && hasContentEditableState) {\n                contentEditable = lastContentEditable;\n              }\n              currentWrapElm.appendChild(node);\n            } else {\n              currentWrapElm = null;\n              each$e(from(node.childNodes), process);\n              if (hasContentEditableState) {\n                contentEditable = lastContentEditable;\n              }\n              currentWrapElm = null;\n            }\n          };\n          each$e(nodes, process);\n        });\n        if (format.links === true) {\n          each$e(newWrappers, node => {\n            const process = node => {\n              if (node.nodeName === 'A') {\n                setElementFormat(node, format);\n              }\n              each$e(from(node.childNodes), process);\n            };\n            process(node);\n          });\n        }\n        each$e(newWrappers, node => {\n          const getChildCount = node => {\n            let count = 0;\n            each$e(node.childNodes, node => {\n              if (!isEmptyTextNode$1(node) && !isBookmarkNode$1(node)) {\n                count++;\n              }\n            });\n            return count;\n          };\n          const mergeStyles = node => {\n            const childElement = find$2(node.childNodes, isElementNode$1).filter(child => dom.getContentEditable(child) !== 'false' && matchName(dom, child, format));\n            return childElement.map(child => {\n              const clone = dom.clone(child, false);\n              setElementFormat(clone);\n              dom.replace(clone, node, true);\n              dom.remove(child, true);\n              return clone;\n            }).getOr(node);\n          };\n          const childCount = getChildCount(node);\n          if ((newWrappers.length > 1 || !dom.isBlock(node)) && childCount === 0) {\n            dom.remove(node, true);\n            return;\n          }\n          if (isInlineFormat(format) || isBlockFormat(format) && format.wrapper) {\n            if (!format.exact && childCount === 1) {\n              node = mergeStyles(node);\n            }\n            mergeWithChildren(ed, formatList, vars, node);\n            mergeWithParents(ed, format, name, vars, node);\n            mergeBackgroundColorAndFontSize(dom, format, vars, node);\n            mergeTextDecorationsAndColor(dom, format, vars, node);\n            mergeSubSup(dom, format, vars, node);\n            mergeSiblings(ed, format, vars, node);\n          }\n        });\n      };\n      const targetNode = isNode(node) ? node : selection.getNode();\n      if (dom.getContentEditable(targetNode) === 'false' && !isWrappableNoneditable(ed, targetNode)) {\n        node = targetNode;\n        applyNodeStyle(formatList, node);\n        fireFormatApply(ed, name, node, vars);\n        return;\n      }\n      if (format) {\n        if (node) {\n          if (isNode(node)) {\n            if (!applyNodeStyle(formatList, node)) {\n              const rng = dom.createRng();\n              rng.setStartBefore(node);\n              rng.setEndAfter(node);\n              applyRngStyle(dom, expandRng(dom, rng, formatList), true);\n            }\n          } else {\n            applyRngStyle(dom, node, true);\n          }\n        } else {\n          if (!isCollapsed || !isInlineFormat(format) || getCellsFromEditor(ed).length) {\n            selection.setRng(normalize(selection.getRng()));\n            preserveSelection(ed, () => {\n              runOnRanges(ed, (selectionRng, fake) => {\n                const expandedRng = fake ? selectionRng : expandRng(dom, selectionRng, formatList);\n                applyRngStyle(dom, expandedRng, false);\n              });\n            }, always);\n            ed.nodeChanged();\n          } else {\n            applyCaretFormat(ed, name, vars);\n          }\n          getExpandedListItemFormat(ed.formatter, name).each(liFmt => {\n            each$e(getFullySelectedListItems(ed.selection), li => applyStyles(dom, li, liFmt, vars));\n          });\n        }\n        postProcess$1(name, ed);\n      }\n      fireFormatApply(ed, name, node, vars);\n    };\n    const applyFormat$1 = (editor, name, vars, node) => {\n      if (node || editor.selection.isEditable()) {\n        applyFormatAction(editor, name, vars, node);\n      }\n    };\n\n    const hasVars = value => has$2(value, 'vars');\n    const setup$u = (registeredFormatListeners, editor) => {\n      registeredFormatListeners.set({});\n      editor.on('NodeChange', e => {\n        updateAndFireChangeCallbacks(editor, e.element, registeredFormatListeners.get());\n      });\n      editor.on('FormatApply FormatRemove', e => {\n        const element = Optional.from(e.node).map(nodeOrRange => isNode(nodeOrRange) ? nodeOrRange : nodeOrRange.startContainer).bind(node => isElement$6(node) ? Optional.some(node) : Optional.from(node.parentElement)).getOrThunk(() => fallbackElement(editor));\n        updateAndFireChangeCallbacks(editor, element, registeredFormatListeners.get());\n      });\n    };\n    const fallbackElement = editor => editor.selection.getStart();\n    const matchingNode = (editor, parents, format, similar, vars) => {\n      const isMatchingNode = node => {\n        const matchingFormat = editor.formatter.matchNode(node, format, vars !== null && vars !== void 0 ? vars : {}, similar);\n        return !isUndefined(matchingFormat);\n      };\n      const isUnableToMatch = node => {\n        if (matchesUnInheritedFormatSelector(editor, node, format)) {\n          return true;\n        } else {\n          if (!similar) {\n            return isNonNullable(editor.formatter.matchNode(node, format, vars, true));\n          } else {\n            return false;\n          }\n        }\n      };\n      return findUntil$1(parents, isMatchingNode, isUnableToMatch);\n    };\n    const getParents = (editor, elm) => {\n      const element = elm !== null && elm !== void 0 ? elm : fallbackElement(editor);\n      return filter$5(getParents$2(editor.dom, element), node => isElement$6(node) && !isBogus$2(node));\n    };\n    const updateAndFireChangeCallbacks = (editor, elm, registeredCallbacks) => {\n      const parents = getParents(editor, elm);\n      each$d(registeredCallbacks, (data, format) => {\n        const runIfChanged = spec => {\n          const match = matchingNode(editor, parents, format, spec.similar, hasVars(spec) ? spec.vars : undefined);\n          const isSet = match.isSome();\n          if (spec.state.get() !== isSet) {\n            spec.state.set(isSet);\n            const node = match.getOr(elm);\n            if (hasVars(spec)) {\n              spec.callback(isSet, {\n                node,\n                format,\n                parents\n              });\n            } else {\n              each$e(spec.callbacks, callback => callback(isSet, {\n                node,\n                format,\n                parents\n              }));\n            }\n          }\n        };\n        each$e([data.withSimilar, data.withoutSimilar], runIfChanged);\n        each$e(data.withVars, runIfChanged);\n      });\n    };\n    const addListeners = (editor, registeredFormatListeners, formats, callback, similar, vars) => {\n      const formatChangeItems = registeredFormatListeners.get();\n      each$e(formats.split(','), format => {\n        const group = get$a(formatChangeItems, format).getOrThunk(() => {\n          const base = {\n            withSimilar: {\n              state: Cell(false),\n              similar: true,\n              callbacks: []\n            },\n            withoutSimilar: {\n              state: Cell(false),\n              similar: false,\n              callbacks: []\n            },\n            withVars: []\n          };\n          formatChangeItems[format] = base;\n          return base;\n        });\n        const getCurrent = () => {\n          const parents = getParents(editor);\n          return matchingNode(editor, parents, format, similar, vars).isSome();\n        };\n        if (isUndefined(vars)) {\n          const toAppendTo = similar ? group.withSimilar : group.withoutSimilar;\n          toAppendTo.callbacks.push(callback);\n          if (toAppendTo.callbacks.length === 1) {\n            toAppendTo.state.set(getCurrent());\n          }\n        } else {\n          group.withVars.push({\n            state: Cell(getCurrent()),\n            similar,\n            vars,\n            callback\n          });\n        }\n      });\n      registeredFormatListeners.set(formatChangeItems);\n    };\n    const removeListeners = (registeredFormatListeners, formats, callback) => {\n      const formatChangeItems = registeredFormatListeners.get();\n      each$e(formats.split(','), format => get$a(formatChangeItems, format).each(group => {\n        formatChangeItems[format] = {\n          withSimilar: {\n            ...group.withSimilar,\n            callbacks: filter$5(group.withSimilar.callbacks, cb => cb !== callback)\n          },\n          withoutSimilar: {\n            ...group.withoutSimilar,\n            callbacks: filter$5(group.withoutSimilar.callbacks, cb => cb !== callback)\n          },\n          withVars: filter$5(group.withVars, item => item.callback !== callback)\n        };\n      }));\n      registeredFormatListeners.set(formatChangeItems);\n    };\n    const formatChangedInternal = (editor, registeredFormatListeners, formats, callback, similar, vars) => {\n      addListeners(editor, registeredFormatListeners, formats, callback, similar, vars);\n      return {\n        unbind: () => removeListeners(registeredFormatListeners, formats, callback)\n      };\n    };\n\n    const toggle = (editor, name, vars, node) => {\n      const fmt = editor.formatter.get(name);\n      if (fmt) {\n        if (match$2(editor, name, vars, node) && (!('toggle' in fmt[0]) || fmt[0].toggle)) {\n          removeFormat$1(editor, name, vars, node);\n        } else {\n          applyFormat$1(editor, name, vars, node);\n        }\n      }\n    };\n\n    const explode$1 = Tools.explode;\n    const create$8 = () => {\n      const filters = {};\n      const addFilter = (name, callback) => {\n        each$e(explode$1(name), name => {\n          if (!has$2(filters, name)) {\n            filters[name] = {\n              name,\n              callbacks: []\n            };\n          }\n          filters[name].callbacks.push(callback);\n        });\n      };\n      const getFilters = () => values(filters);\n      const removeFilter = (name, callback) => {\n        each$e(explode$1(name), name => {\n          if (has$2(filters, name)) {\n            if (isNonNullable(callback)) {\n              const filter = filters[name];\n              const newCallbacks = filter$5(filter.callbacks, c => c !== callback);\n              if (newCallbacks.length > 0) {\n                filter.callbacks = newCallbacks;\n              } else {\n                delete filters[name];\n              }\n            } else {\n              delete filters[name];\n            }\n          }\n        });\n      };\n      return {\n        addFilter,\n        getFilters,\n        removeFilter\n      };\n    };\n\n    const removeAttrs = (node, names) => {\n      each$e(names, name => {\n        node.attr(name, null);\n      });\n    };\n    const addFontToSpansFilter = (domParser, styles, fontSizes) => {\n      domParser.addNodeFilter('font', nodes => {\n        each$e(nodes, node => {\n          const props = styles.parse(node.attr('style'));\n          const color = node.attr('color');\n          const face = node.attr('face');\n          const size = node.attr('size');\n          if (color) {\n            props.color = color;\n          }\n          if (face) {\n            props['font-family'] = face;\n          }\n          if (size) {\n            toInt(size).each(num => {\n              props['font-size'] = fontSizes[num - 1];\n            });\n          }\n          node.name = 'span';\n          node.attr('style', styles.serialize(props));\n          removeAttrs(node, ['color', 'face', 'size']);\n        });\n      });\n    };\n    const addStrikeFilter = (domParser, schema, styles) => {\n      domParser.addNodeFilter('strike', nodes => {\n        const convertToSTag = schema.type !== 'html4';\n        each$e(nodes, node => {\n          if (convertToSTag) {\n            node.name = 's';\n          } else {\n            const props = styles.parse(node.attr('style'));\n            props['text-decoration'] = 'line-through';\n            node.name = 'span';\n            node.attr('style', styles.serialize(props));\n          }\n        });\n      });\n    };\n    const addFilters = (domParser, settings, schema) => {\n      var _a;\n      const styles = Styles();\n      if (settings.convert_fonts_to_spans) {\n        addFontToSpansFilter(domParser, styles, Tools.explode((_a = settings.font_size_legacy_values) !== null && _a !== void 0 ? _a : ''));\n      }\n      addStrikeFilter(domParser, schema, styles);\n    };\n    const register$5 = (domParser, settings, schema) => {\n      if (settings.inline_styles) {\n        addFilters(domParser, settings, schema);\n      }\n    };\n\n    const addNodeFilter = (settings, htmlParser, schema) => {\n      htmlParser.addNodeFilter('br', (nodes, _, args) => {\n        const blockElements = Tools.extend({}, schema.getBlockElements());\n        const nonEmptyElements = schema.getNonEmptyElements();\n        const whitespaceElements = schema.getWhitespaceElements();\n        blockElements.body = 1;\n        const isBlock = node => node.name in blockElements || isTransparentAstBlock(schema, node);\n        for (let i = 0, l = nodes.length; i < l; i++) {\n          let node = nodes[i];\n          let parent = node.parent;\n          if (parent && isBlock(parent) && node === parent.lastChild) {\n            let prev = node.prev;\n            while (prev) {\n              const prevName = prev.name;\n              if (prevName !== 'span' || prev.attr('data-mce-type') !== 'bookmark') {\n                if (prevName === 'br') {\n                  node = null;\n                }\n                break;\n              }\n              prev = prev.prev;\n            }\n            if (node) {\n              node.remove();\n              if (isEmpty(schema, nonEmptyElements, whitespaceElements, parent)) {\n                const elementRule = schema.getElementRule(parent.name);\n                if (elementRule) {\n                  if (elementRule.removeEmpty) {\n                    parent.remove();\n                  } else if (elementRule.paddEmpty) {\n                    paddEmptyNode(settings, args, isBlock, parent);\n                  }\n                }\n              }\n            }\n          } else {\n            let lastParent = node;\n            while (parent && parent.firstChild === lastParent && parent.lastChild === lastParent) {\n              lastParent = parent;\n              if (blockElements[parent.name]) {\n                break;\n              }\n              parent = parent.parent;\n            }\n            if (lastParent === parent) {\n              const textNode = new AstNode('#text', 3);\n              textNode.value = nbsp;\n              node.replace(textNode);\n            }\n          }\n        }\n      });\n    };\n\n    const blobUriToBlob = url => fetch(url).then(res => res.ok ? res.blob() : Promise.reject()).catch(() => Promise.reject({\n      message: \"Cannot convert \".concat(url, \" to Blob. Resource might not exist or is inaccessible.\"),\n      uriType: 'blob'\n    }));\n    const extractBase64Data = data => {\n      const matches = /([a-z0-9+\\/=\\s]+)/i.exec(data);\n      return matches ? matches[1] : '';\n    };\n    const parseDataUri = uri => {\n      const [type, ...rest] = uri.split(',');\n      const data = rest.join(',');\n      const matches = /data:([^/]+\\/[^;]+)(;.+)?/.exec(type);\n      if (matches) {\n        const base64Encoded = matches[2] === ';base64';\n        const extractedData = base64Encoded ? extractBase64Data(data) : decodeURIComponent(data);\n        return Optional.some({\n          type: matches[1],\n          data: extractedData,\n          base64Encoded\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n    const buildBlob = (type, data, base64Encoded = true) => {\n      let str = data;\n      if (base64Encoded) {\n        try {\n          str = atob(data);\n        } catch (e) {\n          return Optional.none();\n        }\n      }\n      const arr = new Uint8Array(str.length);\n      for (let i = 0; i < arr.length; i++) {\n        arr[i] = str.charCodeAt(i);\n      }\n      return Optional.some(new Blob([arr], {\n        type\n      }));\n    };\n    const dataUriToBlob = uri => {\n      return new Promise((resolve, reject) => {\n        parseDataUri(uri).bind(({\n          type,\n          data,\n          base64Encoded\n        }) => buildBlob(type, data, base64Encoded)).fold(() => reject('Invalid data URI'), resolve);\n      });\n    };\n    const uriToBlob = url => {\n      if (startsWith(url, 'blob:')) {\n        return blobUriToBlob(url);\n      } else if (startsWith(url, 'data:')) {\n        return dataUriToBlob(url);\n      } else {\n        return Promise.reject('Unknown URI format');\n      }\n    };\n    const blobToDataUri = blob => {\n      return new Promise((resolve, reject) => {\n        const reader = new FileReader();\n        reader.onloadend = () => {\n          resolve(reader.result);\n        };\n        reader.onerror = () => {\n          var _a;\n          reject((_a = reader.error) === null || _a === void 0 ? void 0 : _a.message);\n        };\n        reader.readAsDataURL(blob);\n      });\n    };\n\n    let count$1 = 0;\n    const uniqueId$1 = prefix => {\n      return (prefix || 'blobid') + count$1++;\n    };\n    const processDataUri = (dataUri, base64Only, generateBlobInfo) => {\n      return parseDataUri(dataUri).bind(({\n        data,\n        type,\n        base64Encoded\n      }) => {\n        if (base64Only && !base64Encoded) {\n          return Optional.none();\n        } else {\n          const base64 = base64Encoded ? data : btoa(data);\n          return generateBlobInfo(base64, type);\n        }\n      });\n    };\n    const createBlobInfo$1 = (blobCache, blob, base64) => {\n      const blobInfo = blobCache.create(uniqueId$1(), blob, base64);\n      blobCache.add(blobInfo);\n      return blobInfo;\n    };\n    const dataUriToBlobInfo = (blobCache, dataUri, base64Only = false) => {\n      return processDataUri(dataUri, base64Only, (base64, type) => Optional.from(blobCache.getByData(base64, type)).orThunk(() => buildBlob(type, base64).map(blob => createBlobInfo$1(blobCache, blob, base64))));\n    };\n    const imageToBlobInfo = (blobCache, imageSrc) => {\n      const invalidDataUri = () => Promise.reject('Invalid data URI');\n      if (startsWith(imageSrc, 'blob:')) {\n        const blobInfo = blobCache.getByUri(imageSrc);\n        if (isNonNullable(blobInfo)) {\n          return Promise.resolve(blobInfo);\n        } else {\n          return uriToBlob(imageSrc).then(blob => {\n            return blobToDataUri(blob).then(dataUri => {\n              return processDataUri(dataUri, false, base64 => {\n                return Optional.some(createBlobInfo$1(blobCache, blob, base64));\n              }).getOrThunk(invalidDataUri);\n            });\n          });\n        }\n      } else if (startsWith(imageSrc, 'data:')) {\n        return dataUriToBlobInfo(blobCache, imageSrc).fold(invalidDataUri, blobInfo => Promise.resolve(blobInfo));\n      } else {\n        return Promise.reject('Unknown image data format');\n      }\n    };\n\n    const isBogusImage = img => isNonNullable(img.attr('data-mce-bogus'));\n    const isInternalImageSource = img => img.attr('src') === Env.transparentSrc || isNonNullable(img.attr('data-mce-placeholder'));\n    const registerBase64ImageFilter = (parser, settings) => {\n      const {\n        blob_cache: blobCache\n      } = settings;\n      if (blobCache) {\n        const processImage = img => {\n          const inputSrc = img.attr('src');\n          if (isInternalImageSource(img) || isBogusImage(img) || isNullable(inputSrc)) {\n            return;\n          }\n          dataUriToBlobInfo(blobCache, inputSrc, true).each(blobInfo => {\n            img.attr('src', blobInfo.blobUri());\n          });\n        };\n        parser.addAttributeFilter('src', nodes => each$e(nodes, processImage));\n      }\n    };\n    const isMimeType = (mime, type) => startsWith(mime, \"\".concat(type, \"/\"));\n    const createSafeEmbed = (mime, src, width, height, sandboxIframes) => {\n      let name;\n      if (isUndefined(mime)) {\n        name = 'iframe';\n      } else if (isMimeType(mime, 'image')) {\n        name = 'img';\n      } else if (isMimeType(mime, 'video')) {\n        name = 'video';\n      } else if (isMimeType(mime, 'audio')) {\n        name = 'audio';\n      } else {\n        name = 'iframe';\n      }\n      const embed = new AstNode(name, 1);\n      embed.attr(name === 'audio' ? {\n        src\n      } : {\n        src,\n        width,\n        height\n      });\n      if (name === 'audio' || name === 'video') {\n        embed.attr('controls', '');\n      }\n      if (name === 'iframe' && sandboxIframes) {\n        embed.attr('sandbox', '');\n      }\n      return embed;\n    };\n    const register$4 = (parser, settings) => {\n      const schema = parser.schema;\n      if (settings.remove_trailing_brs) {\n        addNodeFilter(settings, parser, schema);\n      }\n      parser.addAttributeFilter('href', nodes => {\n        let i = nodes.length;\n        const appendRel = rel => {\n          const parts = rel.split(' ').filter(p => p.length > 0);\n          return parts.concat(['noopener']).sort().join(' ');\n        };\n        const addNoOpener = rel => {\n          const newRel = rel ? Tools.trim(rel) : '';\n          if (!/\\b(noopener)\\b/g.test(newRel)) {\n            return appendRel(newRel);\n          } else {\n            return newRel;\n          }\n        };\n        if (!settings.allow_unsafe_link_target) {\n          while (i--) {\n            const node = nodes[i];\n            if (node.name === 'a' && node.attr('target') === '_blank') {\n              node.attr('rel', addNoOpener(node.attr('rel')));\n            }\n          }\n        }\n      });\n      if (!settings.allow_html_in_named_anchor) {\n        parser.addAttributeFilter('id,name', nodes => {\n          let i = nodes.length,\n            sibling,\n            prevSibling,\n            parent,\n            node;\n          while (i--) {\n            node = nodes[i];\n            if (node.name === 'a' && node.firstChild && !node.attr('href')) {\n              parent = node.parent;\n              sibling = node.lastChild;\n              while (sibling && parent) {\n                prevSibling = sibling.prev;\n                parent.insert(sibling, node);\n                sibling = prevSibling;\n              }\n            }\n          }\n        });\n      }\n      if (settings.fix_list_elements) {\n        parser.addNodeFilter('ul,ol', nodes => {\n          let i = nodes.length,\n            node,\n            parentNode;\n          while (i--) {\n            node = nodes[i];\n            parentNode = node.parent;\n            if (parentNode && (parentNode.name === 'ul' || parentNode.name === 'ol')) {\n              if (node.prev && node.prev.name === 'li') {\n                node.prev.append(node);\n              } else {\n                const li = new AstNode('li', 1);\n                li.attr('style', 'list-style-type: none');\n                node.wrap(li);\n              }\n            }\n          }\n        });\n      }\n      const validClasses = schema.getValidClasses();\n      if (settings.validate && validClasses) {\n        parser.addAttributeFilter('class', nodes => {\n          var _a;\n          let i = nodes.length;\n          while (i--) {\n            const node = nodes[i];\n            const clazz = (_a = node.attr('class')) !== null && _a !== void 0 ? _a : '';\n            const classList = Tools.explode(clazz, ' ');\n            let classValue = '';\n            for (let ci = 0; ci < classList.length; ci++) {\n              const className = classList[ci];\n              let valid = false;\n              let validClassesMap = validClasses['*'];\n              if (validClassesMap && validClassesMap[className]) {\n                valid = true;\n              }\n              validClassesMap = validClasses[node.name];\n              if (!valid && validClassesMap && validClassesMap[className]) {\n                valid = true;\n              }\n              if (valid) {\n                if (classValue) {\n                  classValue += ' ';\n                }\n                classValue += className;\n              }\n            }\n            if (!classValue.length) {\n              classValue = null;\n            }\n            node.attr('class', classValue);\n          }\n        });\n      }\n      registerBase64ImageFilter(parser, settings);\n      if (settings.convert_unsafe_embeds) {\n        parser.addNodeFilter('object,embed', nodes => each$e(nodes, node => {\n          node.replace(createSafeEmbed(node.attr('type'), node.name === 'object' ? node.attr('data') : node.attr('src'), node.attr('width'), node.attr('height'), settings.sandbox_iframes));\n        }));\n      }\n      if (settings.sandbox_iframes) {\n        parser.addNodeFilter('iframe', nodes => each$e(nodes, node => node.attr('sandbox', '')));\n      }\n    };\n\n    const {\n      entries,\n      setPrototypeOf,\n      isFrozen,\n      getPrototypeOf,\n      getOwnPropertyDescriptor\n    } = Object;\n    let {\n      freeze,\n      seal,\n      create: create$7\n    } = Object;\n    let {\n      apply,\n      construct\n    } = typeof Reflect !== 'undefined' && Reflect;\n    if (!apply) {\n      apply = function apply(fun, thisValue, args) {\n        return fun.apply(thisValue, args);\n      };\n    }\n    if (!freeze) {\n      freeze = function freeze(x) {\n        return x;\n      };\n    }\n    if (!seal) {\n      seal = function seal(x) {\n        return x;\n      };\n    }\n    if (!construct) {\n      construct = function construct(Func, args) {\n        return new Func(...args);\n      };\n    }\n    const arrayForEach = unapply(Array.prototype.forEach);\n    const arrayPop = unapply(Array.prototype.pop);\n    const arrayPush = unapply(Array.prototype.push);\n    const stringToLowerCase = unapply(String.prototype.toLowerCase);\n    const stringToString = unapply(String.prototype.toString);\n    const stringMatch = unapply(String.prototype.match);\n    const stringReplace = unapply(String.prototype.replace);\n    const stringIndexOf = unapply(String.prototype.indexOf);\n    const stringTrim = unapply(String.prototype.trim);\n    const regExpTest = unapply(RegExp.prototype.test);\n    const typeErrorCreate = unconstruct(TypeError);\n    function unapply(func) {\n      return function (thisArg) {\n        for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n          args[_key - 1] = arguments[_key];\n        }\n        return apply(func, thisArg, args);\n      };\n    }\n    function unconstruct(func) {\n      return function () {\n        for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n          args[_key2] = arguments[_key2];\n        }\n        return construct(func, args);\n      };\n    }\n    function addToSet(set, array, transformCaseFunc) {\n      var _transformCaseFunc;\n      transformCaseFunc = (_transformCaseFunc = transformCaseFunc) !== null && _transformCaseFunc !== void 0 ? _transformCaseFunc : stringToLowerCase;\n      if (setPrototypeOf) {\n        setPrototypeOf(set, null);\n      }\n      let l = array.length;\n      while (l--) {\n        let element = array[l];\n        if (typeof element === 'string') {\n          const lcElement = transformCaseFunc(element);\n          if (lcElement !== element) {\n            if (!isFrozen(array)) {\n              array[l] = lcElement;\n            }\n            element = lcElement;\n          }\n        }\n        set[element] = true;\n      }\n      return set;\n    }\n    function clone(object) {\n      const newObject = create$7(null);\n      for (const [property, value] of entries(object)) {\n        newObject[property] = value;\n      }\n      return newObject;\n    }\n    function lookupGetter(object, prop) {\n      while (object !== null) {\n        const desc = getOwnPropertyDescriptor(object, prop);\n        if (desc) {\n          if (desc.get) {\n            return unapply(desc.get);\n          }\n          if (typeof desc.value === 'function') {\n            return unapply(desc.value);\n          }\n        }\n        object = getPrototypeOf(object);\n      }\n      function fallbackValue(element) {\n        console.warn('fallback value for', element);\n        return null;\n      }\n      return fallbackValue;\n    }\n    const html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);\n    const svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);\n    const svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);\n    const svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\n    const mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover', 'mprescripts']);\n    const mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\n    const text = freeze(['#text']);\n    const html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'xmlns', 'slot']);\n    const svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\n    const mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);\n    const xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n    const MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm);\n    const ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\n    const TMPLIT_EXPR = seal(/\\$\\{[\\w\\W]*}/gm);\n    const DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]/);\n    const ARIA_ATTR = seal(/^aria-[\\-\\w]+$/);\n    const IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i);\n    const IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\n    const ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g);\n    const DOCTYPE_NAME = seal(/^html$/i);\n    var EXPRESSIONS = Object.freeze({\n      __proto__: null,\n      MUSTACHE_EXPR: MUSTACHE_EXPR,\n      ERB_EXPR: ERB_EXPR,\n      TMPLIT_EXPR: TMPLIT_EXPR,\n      DATA_ATTR: DATA_ATTR,\n      ARIA_ATTR: ARIA_ATTR,\n      IS_ALLOWED_URI: IS_ALLOWED_URI,\n      IS_SCRIPT_OR_DATA: IS_SCRIPT_OR_DATA,\n      ATTR_WHITESPACE: ATTR_WHITESPACE,\n      DOCTYPE_NAME: DOCTYPE_NAME\n    });\n    const getGlobal = () => typeof window === 'undefined' ? null : window;\n    const _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, purifyHostElement) {\n      if (typeof trustedTypes !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n        return null;\n      }\n      let suffix = null;\n      const ATTR_NAME = 'data-tt-policy-suffix';\n      if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) {\n        suffix = purifyHostElement.getAttribute(ATTR_NAME);\n      }\n      const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n      try {\n        return trustedTypes.createPolicy(policyName, {\n          createHTML(html) {\n            return html;\n          },\n          createScriptURL(scriptUrl) {\n            return scriptUrl;\n          }\n        });\n      } catch (_) {\n        console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n        return null;\n      }\n    };\n    function createDOMPurify() {\n      let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n      const DOMPurify = root => createDOMPurify(root);\n      DOMPurify.version = '3.0.5';\n      DOMPurify.removed = [];\n      if (!window || !window.document || window.document.nodeType !== 9) {\n        DOMPurify.isSupported = false;\n        return DOMPurify;\n      }\n      const originalDocument = window.document;\n      const currentScript = originalDocument.currentScript;\n      let {\n        document\n      } = window;\n      const {\n        DocumentFragment,\n        HTMLTemplateElement,\n        Node,\n        Element,\n        NodeFilter,\n        NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,\n        HTMLFormElement,\n        DOMParser,\n        trustedTypes\n      } = window;\n      const ElementPrototype = Element.prototype;\n      const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n      const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n      const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n      const getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n      if (typeof HTMLTemplateElement === 'function') {\n        const template = document.createElement('template');\n        if (template.content && template.content.ownerDocument) {\n          document = template.content.ownerDocument;\n        }\n      }\n      let trustedTypesPolicy;\n      let emptyHTML = '';\n      const {\n        implementation,\n        createNodeIterator,\n        createDocumentFragment,\n        getElementsByTagName\n      } = document;\n      const {\n        importNode\n      } = originalDocument;\n      let hooks = {};\n      DOMPurify.isSupported = typeof entries === 'function' && typeof getParentNode === 'function' && implementation && implementation.createHTMLDocument !== undefined;\n      const {\n        MUSTACHE_EXPR,\n        ERB_EXPR,\n        TMPLIT_EXPR,\n        DATA_ATTR,\n        ARIA_ATTR,\n        IS_SCRIPT_OR_DATA,\n        ATTR_WHITESPACE\n      } = EXPRESSIONS;\n      let {\n        IS_ALLOWED_URI: IS_ALLOWED_URI$1\n      } = EXPRESSIONS;\n      let ALLOWED_TAGS = null;\n      const DEFAULT_ALLOWED_TAGS = addToSet({}, [...html$1, ...svg$1, ...svgFilters, ...mathMl$1, ...text]);\n      let ALLOWED_ATTR = null;\n      const DEFAULT_ALLOWED_ATTR = addToSet({}, [...html, ...svg, ...mathMl, ...xml]);\n      let CUSTOM_ELEMENT_HANDLING = Object.seal(Object.create(null, {\n        tagNameCheck: {\n          writable: true,\n          configurable: false,\n          enumerable: true,\n          value: null\n        },\n        attributeNameCheck: {\n          writable: true,\n          configurable: false,\n          enumerable: true,\n          value: null\n        },\n        allowCustomizedBuiltInElements: {\n          writable: true,\n          configurable: false,\n          enumerable: true,\n          value: false\n        }\n      }));\n      let FORBID_TAGS = null;\n      let FORBID_ATTR = null;\n      let ALLOW_ARIA_ATTR = true;\n      let ALLOW_DATA_ATTR = true;\n      let ALLOW_UNKNOWN_PROTOCOLS = false;\n      let ALLOW_SELF_CLOSE_IN_ATTR = true;\n      let SAFE_FOR_TEMPLATES = false;\n      let WHOLE_DOCUMENT = false;\n      let SET_CONFIG = false;\n      let FORCE_BODY = false;\n      let RETURN_DOM = false;\n      let RETURN_DOM_FRAGMENT = false;\n      let RETURN_TRUSTED_TYPE = false;\n      let SANITIZE_DOM = true;\n      let SANITIZE_NAMED_PROPS = false;\n      const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n      let KEEP_CONTENT = true;\n      let IN_PLACE = false;\n      let USE_PROFILES = {};\n      let FORBID_CONTENTS = null;\n      const DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n      let DATA_URI_TAGS = null;\n      const DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n      let URI_SAFE_ATTRIBUTES = null;\n      const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);\n      const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n      const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n      const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n      let NAMESPACE = HTML_NAMESPACE;\n      let IS_EMPTY_INPUT = false;\n      let ALLOWED_NAMESPACES = null;\n      const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);\n      let PARSER_MEDIA_TYPE;\n      const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n      const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n      let transformCaseFunc;\n      let CONFIG = null;\n      const formElement = document.createElement('form');\n      const isRegexOrFunction = function isRegexOrFunction(testValue) {\n        return testValue instanceof RegExp || testValue instanceof Function;\n      };\n      const _parseConfig = function _parseConfig(cfg) {\n        if (CONFIG && CONFIG === cfg) {\n          return;\n        }\n        if (!cfg || typeof cfg !== 'object') {\n          cfg = {};\n        }\n        cfg = clone(cfg);\n        PARSER_MEDIA_TYPE = SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? PARSER_MEDIA_TYPE = DEFAULT_PARSER_MEDIA_TYPE : PARSER_MEDIA_TYPE = cfg.PARSER_MEDIA_TYPE;\n        transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase;\n        ALLOWED_TAGS = 'ALLOWED_TAGS' in cfg ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;\n        ALLOWED_ATTR = 'ALLOWED_ATTR' in cfg ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;\n        ALLOWED_NAMESPACES = 'ALLOWED_NAMESPACES' in cfg ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES;\n        URI_SAFE_ATTRIBUTES = 'ADD_URI_SAFE_ATTR' in cfg ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR, transformCaseFunc) : DEFAULT_URI_SAFE_ATTRIBUTES;\n        DATA_URI_TAGS = 'ADD_DATA_URI_TAGS' in cfg ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS, transformCaseFunc) : DEFAULT_DATA_URI_TAGS;\n        FORBID_CONTENTS = 'FORBID_CONTENTS' in cfg ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;\n        FORBID_TAGS = 'FORBID_TAGS' in cfg ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : {};\n        FORBID_ATTR = 'FORBID_ATTR' in cfg ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : {};\n        USE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false;\n        ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false;\n        ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false;\n        ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false;\n        ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false;\n        SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false;\n        WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false;\n        RETURN_DOM = cfg.RETURN_DOM || false;\n        RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false;\n        RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false;\n        FORCE_BODY = cfg.FORCE_BODY || false;\n        SANITIZE_DOM = cfg.SANITIZE_DOM !== false;\n        SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false;\n        KEEP_CONTENT = cfg.KEEP_CONTENT !== false;\n        IN_PLACE = cfg.IN_PLACE || false;\n        IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;\n        NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n        CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};\n        if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) {\n          CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n        }\n        if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) {\n          CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n        }\n        if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === 'boolean') {\n          CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;\n        }\n        if (SAFE_FOR_TEMPLATES) {\n          ALLOW_DATA_ATTR = false;\n        }\n        if (RETURN_DOM_FRAGMENT) {\n          RETURN_DOM = true;\n        }\n        if (USE_PROFILES) {\n          ALLOWED_TAGS = addToSet({}, [...text]);\n          ALLOWED_ATTR = [];\n          if (USE_PROFILES.html === true) {\n            addToSet(ALLOWED_TAGS, html$1);\n            addToSet(ALLOWED_ATTR, html);\n          }\n          if (USE_PROFILES.svg === true) {\n            addToSet(ALLOWED_TAGS, svg$1);\n            addToSet(ALLOWED_ATTR, svg);\n            addToSet(ALLOWED_ATTR, xml);\n          }\n          if (USE_PROFILES.svgFilters === true) {\n            addToSet(ALLOWED_TAGS, svgFilters);\n            addToSet(ALLOWED_ATTR, svg);\n            addToSet(ALLOWED_ATTR, xml);\n          }\n          if (USE_PROFILES.mathMl === true) {\n            addToSet(ALLOWED_TAGS, mathMl$1);\n            addToSet(ALLOWED_ATTR, mathMl);\n            addToSet(ALLOWED_ATTR, xml);\n          }\n        }\n        if (cfg.ADD_TAGS) {\n          if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n            ALLOWED_TAGS = clone(ALLOWED_TAGS);\n          }\n          addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n        }\n        if (cfg.ADD_ATTR) {\n          if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n            ALLOWED_ATTR = clone(ALLOWED_ATTR);\n          }\n          addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n        }\n        if (cfg.ADD_URI_SAFE_ATTR) {\n          addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n        }\n        if (cfg.FORBID_CONTENTS) {\n          if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n            FORBID_CONTENTS = clone(FORBID_CONTENTS);\n          }\n          addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n        }\n        if (KEEP_CONTENT) {\n          ALLOWED_TAGS['#text'] = true;\n        }\n        if (WHOLE_DOCUMENT) {\n          addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n        }\n        if (ALLOWED_TAGS.table) {\n          addToSet(ALLOWED_TAGS, ['tbody']);\n          delete FORBID_TAGS.tbody;\n        }\n        if (cfg.TRUSTED_TYPES_POLICY) {\n          if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== 'function') {\n            throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.');\n          }\n          if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== 'function') {\n            throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.');\n          }\n          trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;\n          emptyHTML = trustedTypesPolicy.createHTML('');\n        } else {\n          if (trustedTypesPolicy === undefined) {\n            trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);\n          }\n          if (trustedTypesPolicy !== null && typeof emptyHTML === 'string') {\n            emptyHTML = trustedTypesPolicy.createHTML('');\n          }\n        }\n        if (freeze) {\n          freeze(cfg);\n        }\n        CONFIG = cfg;\n      };\n      const MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);\n      const HTML_INTEGRATION_POINTS = addToSet({}, ['foreignobject', 'desc', 'title', 'annotation-xml']);\n      const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']);\n      const ALL_SVG_TAGS = addToSet({}, svg$1);\n      addToSet(ALL_SVG_TAGS, svgFilters);\n      addToSet(ALL_SVG_TAGS, svgDisallowed);\n      const ALL_MATHML_TAGS = addToSet({}, mathMl$1);\n      addToSet(ALL_MATHML_TAGS, mathMlDisallowed);\n      const _checkValidNamespace = function _checkValidNamespace(element) {\n        let parent = getParentNode(element);\n        if (!parent || !parent.tagName) {\n          parent = {\n            namespaceURI: NAMESPACE,\n            tagName: 'template'\n          };\n        }\n        const tagName = stringToLowerCase(element.tagName);\n        const parentTagName = stringToLowerCase(parent.tagName);\n        if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n          return false;\n        }\n        if (element.namespaceURI === SVG_NAMESPACE) {\n          if (parent.namespaceURI === HTML_NAMESPACE) {\n            return tagName === 'svg';\n          }\n          if (parent.namespaceURI === MATHML_NAMESPACE) {\n            return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n          }\n          return Boolean(ALL_SVG_TAGS[tagName]);\n        }\n        if (element.namespaceURI === MATHML_NAMESPACE) {\n          if (parent.namespaceURI === HTML_NAMESPACE) {\n            return tagName === 'math';\n          }\n          if (parent.namespaceURI === SVG_NAMESPACE) {\n            return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n          }\n          return Boolean(ALL_MATHML_TAGS[tagName]);\n        }\n        if (element.namespaceURI === HTML_NAMESPACE) {\n          if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {\n            return false;\n          }\n          if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {\n            return false;\n          }\n          return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);\n        }\n        if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && ALLOWED_NAMESPACES[element.namespaceURI]) {\n          return true;\n        }\n        return false;\n      };\n      const _forceRemove = function _forceRemove(node) {\n        arrayPush(DOMPurify.removed, {\n          element: node\n        });\n        try {\n          node.parentNode.removeChild(node);\n        } catch (_) {\n          node.remove();\n        }\n      };\n      const _removeAttribute = function _removeAttribute(name, node) {\n        try {\n          arrayPush(DOMPurify.removed, {\n            attribute: node.getAttributeNode(name),\n            from: node\n          });\n        } catch (_) {\n          arrayPush(DOMPurify.removed, {\n            attribute: null,\n            from: node\n          });\n        }\n        node.removeAttribute(name);\n        if (name === 'is' && !ALLOWED_ATTR[name]) {\n          if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n            try {\n              _forceRemove(node);\n            } catch (_) {}\n          } else {\n            try {\n              node.setAttribute(name, '');\n            } catch (_) {}\n          }\n        }\n      };\n      const _initDocument = function _initDocument(dirty) {\n        let doc;\n        let leadingWhitespace;\n        if (FORCE_BODY) {\n          dirty = '<remove></remove>' + dirty;\n        } else {\n          const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n          leadingWhitespace = matches && matches[0];\n        }\n        if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && NAMESPACE === HTML_NAMESPACE) {\n          dirty = '<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>' + dirty + '</body></html>';\n        }\n        const dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;\n        if (NAMESPACE === HTML_NAMESPACE) {\n          try {\n            doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n          } catch (_) {}\n        }\n        if (!doc || !doc.documentElement) {\n          doc = implementation.createDocument(NAMESPACE, 'template', null);\n          try {\n            doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload;\n          } catch (_) {}\n        }\n        const body = doc.body || doc.documentElement;\n        if (dirty && leadingWhitespace) {\n          body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);\n        }\n        if (NAMESPACE === HTML_NAMESPACE) {\n          return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n        }\n        return WHOLE_DOCUMENT ? doc.documentElement : body;\n      };\n      const _createIterator = function _createIterator(root) {\n        return createNodeIterator.call(root.ownerDocument || root, root, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT, null, false);\n      };\n      const _isClobbered = function _isClobbered(elm) {\n        return elm instanceof HTMLFormElement && (typeof elm.nodeName !== 'string' || typeof elm.textContent !== 'string' || typeof elm.removeChild !== 'function' || !(elm.attributes instanceof NamedNodeMap) || typeof elm.removeAttribute !== 'function' || typeof elm.setAttribute !== 'function' || typeof elm.namespaceURI !== 'string' || typeof elm.insertBefore !== 'function' || typeof elm.hasChildNodes !== 'function');\n      };\n      const _isNode = function _isNode(object) {\n        return typeof Node === 'object' ? object instanceof Node : object && typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string';\n      };\n      const _executeHook = function _executeHook(entryPoint, currentNode, data) {\n        if (!hooks[entryPoint]) {\n          return;\n        }\n        arrayForEach(hooks[entryPoint], hook => {\n          hook.call(DOMPurify, currentNode, data, CONFIG);\n        });\n      };\n      const _sanitizeElements = function _sanitizeElements(currentNode) {\n        let content;\n        _executeHook('beforeSanitizeElements', currentNode, null);\n        if (_isClobbered(currentNode)) {\n          _forceRemove(currentNode);\n          return true;\n        }\n        const tagName = transformCaseFunc(currentNode.nodeName);\n        _executeHook('uponSanitizeElement', currentNode, {\n          tagName,\n          allowedTags: ALLOWED_TAGS\n        });\n        if (currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && (!_isNode(currentNode.content) || !_isNode(currentNode.content.firstElementChild)) && regExpTest(/<[/\\w]/g, currentNode.innerHTML) && regExpTest(/<[/\\w]/g, currentNode.textContent)) {\n          _forceRemove(currentNode);\n          return true;\n        }\n        if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n          if (!FORBID_TAGS[tagName] && _basicCustomElementTest(tagName)) {\n            if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) return false;\n            if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) return false;\n          }\n          if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n            const parentNode = getParentNode(currentNode) || currentNode.parentNode;\n            const childNodes = getChildNodes(currentNode) || currentNode.childNodes;\n            if (childNodes && parentNode) {\n              const childCount = childNodes.length;\n              for (let i = childCount - 1; i >= 0; --i) {\n                parentNode.insertBefore(cloneNode(childNodes[i], true), getNextSibling(currentNode));\n              }\n            }\n          }\n          _forceRemove(currentNode);\n          return true;\n        }\n        if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n          _forceRemove(currentNode);\n          return true;\n        }\n        if ((tagName === 'noscript' || tagName === 'noembed' || tagName === 'noframes') && regExpTest(/<\\/no(script|embed|frames)/i, currentNode.innerHTML)) {\n          _forceRemove(currentNode);\n          return true;\n        }\n        if (SAFE_FOR_TEMPLATES && currentNode.nodeType === 3) {\n          content = currentNode.textContent;\n          content = stringReplace(content, MUSTACHE_EXPR, ' ');\n          content = stringReplace(content, ERB_EXPR, ' ');\n          content = stringReplace(content, TMPLIT_EXPR, ' ');\n          if (currentNode.textContent !== content) {\n            arrayPush(DOMPurify.removed, {\n              element: currentNode.cloneNode()\n            });\n            currentNode.textContent = content;\n          }\n        }\n        _executeHook('afterSanitizeElements', currentNode, null);\n        return false;\n      };\n      const _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {\n        if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {\n          return false;\n        }\n        if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ;else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ;else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n          if (_basicCustomElementTest(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) || lcName === 'is' && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))) ;else {\n            return false;\n          }\n        } else if (URI_SAFE_ATTRIBUTES[lcName]) ;else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE, ''))) ;else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ;else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))) ;else if (value) {\n          return false;\n        } else ;\n        return true;\n      };\n      const _basicCustomElementTest = function _basicCustomElementTest(tagName) {\n        return tagName.indexOf('-') > 0;\n      };\n      const _sanitizeAttributes = function _sanitizeAttributes(currentNode) {\n        let attr;\n        let value;\n        let lcName;\n        let l;\n        _executeHook('beforeSanitizeAttributes', currentNode, null);\n        const {\n          attributes\n        } = currentNode;\n        if (!attributes) {\n          return;\n        }\n        const hookEvent = {\n          attrName: '',\n          attrValue: '',\n          keepAttr: true,\n          allowedAttributes: ALLOWED_ATTR\n        };\n        l = attributes.length;\n        while (l--) {\n          attr = attributes[l];\n          const {\n            name,\n            namespaceURI\n          } = attr;\n          value = name === 'value' ? attr.value : stringTrim(attr.value);\n          const initValue = value;\n          lcName = transformCaseFunc(name);\n          hookEvent.attrName = lcName;\n          hookEvent.attrValue = value;\n          hookEvent.keepAttr = true;\n          hookEvent.forceKeepAttr = undefined;\n          _executeHook('uponSanitizeAttribute', currentNode, hookEvent);\n          value = hookEvent.attrValue;\n          if (hookEvent.forceKeepAttr) {\n            continue;\n          }\n          if (!hookEvent.keepAttr) {\n            _removeAttribute(name, currentNode);\n            continue;\n          }\n          if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\\/>/i, value)) {\n            _removeAttribute(name, currentNode);\n            continue;\n          }\n          if (SAFE_FOR_TEMPLATES) {\n            value = stringReplace(value, MUSTACHE_EXPR, ' ');\n            value = stringReplace(value, ERB_EXPR, ' ');\n            value = stringReplace(value, TMPLIT_EXPR, ' ');\n          }\n          const lcTag = transformCaseFunc(currentNode.nodeName);\n          if (!_isValidAttribute(lcTag, lcName, value)) {\n            _removeAttribute(name, currentNode);\n            continue;\n          }\n          if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) {\n            _removeAttribute(name, currentNode);\n            value = SANITIZE_NAMED_PROPS_PREFIX + value;\n          }\n          if (trustedTypesPolicy && typeof trustedTypes === 'object' && typeof trustedTypes.getAttributeType === 'function') {\n            if (namespaceURI) ;else {\n              switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n                case 'TrustedHTML':\n                  {\n                    value = trustedTypesPolicy.createHTML(value);\n                    break;\n                  }\n                case 'TrustedScriptURL':\n                  {\n                    value = trustedTypesPolicy.createScriptURL(value);\n                    break;\n                  }\n              }\n            }\n          }\n          if (value !== initValue) {\n            try {\n              if (namespaceURI) {\n                currentNode.setAttributeNS(namespaceURI, name, value);\n              } else {\n                currentNode.setAttribute(name, value);\n              }\n            } catch (_) {\n              _removeAttribute(name, currentNode);\n            }\n          }\n        }\n        _executeHook('afterSanitizeAttributes', currentNode, null);\n      };\n      const _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {\n        let shadowNode;\n        const shadowIterator = _createIterator(fragment);\n        _executeHook('beforeSanitizeShadowDOM', fragment, null);\n        while (shadowNode = shadowIterator.nextNode()) {\n          _executeHook('uponSanitizeShadowNode', shadowNode, null);\n          if (_sanitizeElements(shadowNode)) {\n            continue;\n          }\n          if (shadowNode.content instanceof DocumentFragment) {\n            _sanitizeShadowDOM(shadowNode.content);\n          }\n          _sanitizeAttributes(shadowNode);\n        }\n        _executeHook('afterSanitizeShadowDOM', fragment, null);\n      };\n      DOMPurify.sanitize = function (dirty) {\n        let cfg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n        let body;\n        let importedNode;\n        let currentNode;\n        let returnNode;\n        IS_EMPTY_INPUT = !dirty;\n        if (IS_EMPTY_INPUT) {\n          dirty = '<!-->';\n        }\n        if (typeof dirty !== 'string' && !_isNode(dirty)) {\n          if (typeof dirty.toString === 'function') {\n            dirty = dirty.toString();\n            if (typeof dirty !== 'string') {\n              throw typeErrorCreate('dirty is not a string, aborting');\n            }\n          } else {\n            throw typeErrorCreate('toString is not a function');\n          }\n        }\n        if (!DOMPurify.isSupported) {\n          return dirty;\n        }\n        if (!SET_CONFIG) {\n          _parseConfig(cfg);\n        }\n        DOMPurify.removed = [];\n        if (typeof dirty === 'string') {\n          IN_PLACE = false;\n        }\n        if (IN_PLACE) {\n          if (dirty.nodeName) {\n            const tagName = transformCaseFunc(dirty.nodeName);\n            if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n              throw typeErrorCreate('root node is forbidden and cannot be sanitized in-place');\n            }\n          }\n        } else if (dirty instanceof Node) {\n          body = _initDocument('<!---->');\n          importedNode = body.ownerDocument.importNode(dirty, true);\n          if (importedNode.nodeType === 1 && importedNode.nodeName === 'BODY') {\n            body = importedNode;\n          } else if (importedNode.nodeName === 'HTML') {\n            body = importedNode;\n          } else {\n            body.appendChild(importedNode);\n          }\n        } else {\n          if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && dirty.indexOf('<') === -1) {\n            return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;\n          }\n          body = _initDocument(dirty);\n          if (!body) {\n            return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';\n          }\n        }\n        if (body && FORCE_BODY) {\n          _forceRemove(body.firstChild);\n        }\n        const nodeIterator = _createIterator(IN_PLACE ? dirty : body);\n        while (currentNode = nodeIterator.nextNode()) {\n          if (_sanitizeElements(currentNode)) {\n            continue;\n          }\n          if (currentNode.content instanceof DocumentFragment) {\n            _sanitizeShadowDOM(currentNode.content);\n          }\n          _sanitizeAttributes(currentNode);\n        }\n        if (IN_PLACE) {\n          return dirty;\n        }\n        if (RETURN_DOM) {\n          if (RETURN_DOM_FRAGMENT) {\n            returnNode = createDocumentFragment.call(body.ownerDocument);\n            while (body.firstChild) {\n              returnNode.appendChild(body.firstChild);\n            }\n          } else {\n            returnNode = body;\n          }\n          if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) {\n            returnNode = importNode.call(originalDocument, returnNode, true);\n          }\n          return returnNode;\n        }\n        let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n        if (WHOLE_DOCUMENT && ALLOWED_TAGS['!doctype'] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) {\n          serializedHTML = '<!DOCTYPE ' + body.ownerDocument.doctype.name + '>\\n' + serializedHTML;\n        }\n        if (SAFE_FOR_TEMPLATES) {\n          serializedHTML = stringReplace(serializedHTML, MUSTACHE_EXPR, ' ');\n          serializedHTML = stringReplace(serializedHTML, ERB_EXPR, ' ');\n          serializedHTML = stringReplace(serializedHTML, TMPLIT_EXPR, ' ');\n        }\n        return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;\n      };\n      DOMPurify.setConfig = function (cfg) {\n        _parseConfig(cfg);\n        SET_CONFIG = true;\n      };\n      DOMPurify.clearConfig = function () {\n        CONFIG = null;\n        SET_CONFIG = false;\n      };\n      DOMPurify.isValidAttribute = function (tag, attr, value) {\n        if (!CONFIG) {\n          _parseConfig({});\n        }\n        const lcTag = transformCaseFunc(tag);\n        const lcName = transformCaseFunc(attr);\n        return _isValidAttribute(lcTag, lcName, value);\n      };\n      DOMPurify.addHook = function (entryPoint, hookFunction) {\n        if (typeof hookFunction !== 'function') {\n          return;\n        }\n        hooks[entryPoint] = hooks[entryPoint] || [];\n        arrayPush(hooks[entryPoint], hookFunction);\n      };\n      DOMPurify.removeHook = function (entryPoint) {\n        if (hooks[entryPoint]) {\n          return arrayPop(hooks[entryPoint]);\n        }\n      };\n      DOMPurify.removeHooks = function (entryPoint) {\n        if (hooks[entryPoint]) {\n          hooks[entryPoint] = [];\n        }\n      };\n      DOMPurify.removeAllHooks = function () {\n        hooks = {};\n      };\n      return DOMPurify;\n    }\n    var purify = createDOMPurify();\n\n    const each$4 = Tools.each,\n      trim = Tools.trim;\n    const queryParts = ['source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'anchor'];\n    const DEFAULT_PORTS = {\n      ftp: 21,\n      http: 80,\n      https: 443,\n      mailto: 25\n    };\n    const safeSvgDataUrlElements = ['img', 'video'];\n    const blockSvgDataUris = (allowSvgDataUrls, tagName) => {\n      if (isNonNullable(allowSvgDataUrls)) {\n        return !allowSvgDataUrls;\n      } else {\n        return isNonNullable(tagName) ? !contains$2(safeSvgDataUrlElements, tagName) : true;\n      }\n    };\n    const decodeUri = encodedUri => {\n      try {\n        return decodeURIComponent(encodedUri);\n      } catch (ex) {\n        return unescape(encodedUri);\n      }\n    };\n    const isInvalidUri = (settings, uri, tagName) => {\n      const decodedUri = decodeUri(uri).replace(/\\s/g, '');\n      if (settings.allow_script_urls) {\n        return false;\n      } else if (/^((java|vb)script|mhtml):/i.test(decodedUri)) {\n        return true;\n      } else if (settings.allow_html_data_urls) {\n        return false;\n      } else if (/^data:image\\//i.test(decodedUri)) {\n        return blockSvgDataUris(settings.allow_svg_data_urls, tagName) && /^data:image\\/svg\\+xml/i.test(decodedUri);\n      } else {\n        return /^data:/i.test(decodedUri);\n      }\n    };\n    class URI {\n      static parseDataUri(uri) {\n        let type;\n        const uriComponents = decodeURIComponent(uri).split(',');\n        const matches = /data:([^;]+)/.exec(uriComponents[0]);\n        if (matches) {\n          type = matches[1];\n        }\n        return {\n          type,\n          data: uriComponents[1]\n        };\n      }\n      static isDomSafe(uri, context, options = {}) {\n        if (options.allow_script_urls) {\n          return true;\n        } else {\n          const decodedUri = Entities.decode(uri).replace(/[\\s\\u0000-\\u001F]+/g, '');\n          return !isInvalidUri(options, decodedUri, context);\n        }\n      }\n      static getDocumentBaseUrl(loc) {\n        var _a;\n        let baseUrl;\n        if (loc.protocol.indexOf('http') !== 0 && loc.protocol !== 'file:') {\n          baseUrl = (_a = loc.href) !== null && _a !== void 0 ? _a : '';\n        } else {\n          baseUrl = loc.protocol + '//' + loc.host + loc.pathname;\n        }\n        if (/^[^:]+:\\/\\/\\/?[^\\/]+\\//.test(baseUrl)) {\n          baseUrl = baseUrl.replace(/[\\?#].*$/, '').replace(/[\\/\\\\][^\\/]+$/, '');\n          if (!/[\\/\\\\]$/.test(baseUrl)) {\n            baseUrl += '/';\n          }\n        }\n        return baseUrl;\n      }\n      constructor(url, settings = {}) {\n        this.path = '';\n        this.directory = '';\n        url = trim(url);\n        this.settings = settings;\n        const baseUri = settings.base_uri;\n        const self = this;\n        if (/^([\\w\\-]+):([^\\/]{2})/i.test(url) || /^\\s*#/.test(url)) {\n          self.source = url;\n          return;\n        }\n        const isProtocolRelative = url.indexOf('//') === 0;\n        if (url.indexOf('/') === 0 && !isProtocolRelative) {\n          url = (baseUri ? baseUri.protocol || 'http' : 'http') + '://mce_host' + url;\n        }\n        if (!/^[\\w\\-]*:?\\/\\//.test(url)) {\n          const baseUrl = baseUri ? baseUri.path : new URI(document.location.href).directory;\n          if ((baseUri === null || baseUri === void 0 ? void 0 : baseUri.protocol) === '') {\n            url = '//mce_host' + self.toAbsPath(baseUrl, url);\n          } else {\n            const match = /([^#?]*)([#?]?.*)/.exec(url);\n            if (match) {\n              url = (baseUri && baseUri.protocol || 'http') + '://mce_host' + self.toAbsPath(baseUrl, match[1]) + match[2];\n            }\n          }\n        }\n        url = url.replace(/@@/g, '(mce_at)');\n        const urlMatch = /^(?:(?![^:@]+:[^:@\\/]*@)([^:\\/?#.]+):)?(?:\\/\\/)?((?:(([^:@\\/]*):?([^:@\\/]*))?@)?(\\[[a-zA-Z0-9:.%]+\\]|[^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/.exec(url);\n        if (urlMatch) {\n          each$4(queryParts, (v, i) => {\n            let part = urlMatch[i];\n            if (part) {\n              part = part.replace(/\\(mce_at\\)/g, '@@');\n            }\n            self[v] = part;\n          });\n        }\n        if (baseUri) {\n          if (!self.protocol) {\n            self.protocol = baseUri.protocol;\n          }\n          if (!self.userInfo) {\n            self.userInfo = baseUri.userInfo;\n          }\n          if (!self.port && self.host === 'mce_host') {\n            self.port = baseUri.port;\n          }\n          if (!self.host || self.host === 'mce_host') {\n            self.host = baseUri.host;\n          }\n          self.source = '';\n        }\n        if (isProtocolRelative) {\n          self.protocol = '';\n        }\n      }\n      setPath(path) {\n        const pathMatch = /^(.*?)\\/?(\\w+)?$/.exec(path);\n        if (pathMatch) {\n          this.path = pathMatch[0];\n          this.directory = pathMatch[1];\n          this.file = pathMatch[2];\n        }\n        this.source = '';\n        this.getURI();\n      }\n      toRelative(uri) {\n        if (uri === './') {\n          return uri;\n        }\n        const relativeUri = new URI(uri, {\n          base_uri: this\n        });\n        if (relativeUri.host !== 'mce_host' && this.host !== relativeUri.host && relativeUri.host || this.port !== relativeUri.port || this.protocol !== relativeUri.protocol && relativeUri.protocol !== '') {\n          return relativeUri.getURI();\n        }\n        const tu = this.getURI(),\n          uu = relativeUri.getURI();\n        if (tu === uu || tu.charAt(tu.length - 1) === '/' && tu.substr(0, tu.length - 1) === uu) {\n          return tu;\n        }\n        let output = this.toRelPath(this.path, relativeUri.path);\n        if (relativeUri.query) {\n          output += '?' + relativeUri.query;\n        }\n        if (relativeUri.anchor) {\n          output += '#' + relativeUri.anchor;\n        }\n        return output;\n      }\n      toAbsolute(uri, noHost) {\n        const absoluteUri = new URI(uri, {\n          base_uri: this\n        });\n        return absoluteUri.getURI(noHost && this.isSameOrigin(absoluteUri));\n      }\n      isSameOrigin(uri) {\n        if (this.host == uri.host && this.protocol == uri.protocol) {\n          if (this.port == uri.port) {\n            return true;\n          }\n          const defaultPort = this.protocol ? DEFAULT_PORTS[this.protocol] : null;\n          if (defaultPort && (this.port || defaultPort) == (uri.port || defaultPort)) {\n            return true;\n          }\n        }\n        return false;\n      }\n      toRelPath(base, path) {\n        let breakPoint = 0,\n          out = '',\n          i,\n          l;\n        const normalizedBase = base.substring(0, base.lastIndexOf('/')).split('/');\n        const items = path.split('/');\n        if (normalizedBase.length >= items.length) {\n          for (i = 0, l = normalizedBase.length; i < l; i++) {\n            if (i >= items.length || normalizedBase[i] !== items[i]) {\n              breakPoint = i + 1;\n              break;\n            }\n          }\n        }\n        if (normalizedBase.length < items.length) {\n          for (i = 0, l = items.length; i < l; i++) {\n            if (i >= normalizedBase.length || normalizedBase[i] !== items[i]) {\n              breakPoint = i + 1;\n              break;\n            }\n          }\n        }\n        if (breakPoint === 1) {\n          return path;\n        }\n        for (i = 0, l = normalizedBase.length - (breakPoint - 1); i < l; i++) {\n          out += '../';\n        }\n        for (i = breakPoint - 1, l = items.length; i < l; i++) {\n          if (i !== breakPoint - 1) {\n            out += '/' + items[i];\n          } else {\n            out += items[i];\n          }\n        }\n        return out;\n      }\n      toAbsPath(base, path) {\n        let nb = 0;\n        const tr = /\\/$/.test(path) ? '/' : '';\n        const normalizedBase = base.split('/');\n        const normalizedPath = path.split('/');\n        const baseParts = [];\n        each$4(normalizedBase, k => {\n          if (k) {\n            baseParts.push(k);\n          }\n        });\n        const pathParts = [];\n        for (let i = normalizedPath.length - 1; i >= 0; i--) {\n          if (normalizedPath[i].length === 0 || normalizedPath[i] === '.') {\n            continue;\n          }\n          if (normalizedPath[i] === '..') {\n            nb++;\n            continue;\n          }\n          if (nb > 0) {\n            nb--;\n            continue;\n          }\n          pathParts.push(normalizedPath[i]);\n        }\n        const i = baseParts.length - nb;\n        let outPath;\n        if (i <= 0) {\n          outPath = reverse(pathParts).join('/');\n        } else {\n          outPath = baseParts.slice(0, i).join('/') + '/' + reverse(pathParts).join('/');\n        }\n        if (outPath.indexOf('/') !== 0) {\n          outPath = '/' + outPath;\n        }\n        if (tr && outPath.lastIndexOf('/') !== outPath.length - 1) {\n          outPath += tr;\n        }\n        return outPath;\n      }\n      getURI(noProtoHost = false) {\n        let s;\n        if (!this.source || noProtoHost) {\n          s = '';\n          if (!noProtoHost) {\n            if (this.protocol) {\n              s += this.protocol + '://';\n            } else {\n              s += '//';\n            }\n            if (this.userInfo) {\n              s += this.userInfo + '@';\n            }\n            if (this.host) {\n              s += this.host;\n            }\n            if (this.port) {\n              s += ':' + this.port;\n            }\n          }\n          if (this.path) {\n            s += this.path;\n          }\n          if (this.query) {\n            s += '?' + this.query;\n          }\n          if (this.anchor) {\n            s += '#' + this.anchor;\n          }\n          this.source = s;\n        }\n        return this.source;\n      }\n    }\n\n    const filteredUrlAttrs = Tools.makeMap('src,href,data,background,action,formaction,poster,xlink:href');\n    const internalElementAttr = 'data-mce-type';\n    let uid = 0;\n    const processNode = (node, settings, schema, scope, evt) => {\n      var _a, _b, _c, _d;\n      const validate = settings.validate;\n      const specialElements = schema.getSpecialElements();\n      if (node.nodeType === COMMENT && !settings.allow_conditional_comments && /^\\[if/i.test((_a = node.nodeValue) !== null && _a !== void 0 ? _a : '')) {\n        node.nodeValue = ' ' + node.nodeValue;\n      }\n      const lcTagName = (_b = evt === null || evt === void 0 ? void 0 : evt.tagName) !== null && _b !== void 0 ? _b : node.nodeName.toLowerCase();\n      if (scope !== 'html' && schema.isValid(scope)) {\n        if (isNonNullable(evt)) {\n          evt.allowedTags[lcTagName] = true;\n        }\n        return;\n      }\n      if (node.nodeType !== ELEMENT || lcTagName === 'body') {\n        return;\n      }\n      const element = SugarElement.fromDom(node);\n      const isInternalElement = has$1(element, internalElementAttr);\n      const bogus = get$9(element, 'data-mce-bogus');\n      if (!isInternalElement && isString(bogus)) {\n        if (bogus === 'all') {\n          remove$5(element);\n        } else {\n          unwrap(element);\n        }\n        return;\n      }\n      const rule = schema.getElementRule(lcTagName);\n      if (validate && !rule) {\n        if (has$2(specialElements, lcTagName)) {\n          remove$5(element);\n        } else {\n          unwrap(element);\n        }\n        return;\n      } else {\n        if (isNonNullable(evt)) {\n          evt.allowedTags[lcTagName] = true;\n        }\n      }\n      if (validate && rule && !isInternalElement) {\n        each$e((_c = rule.attributesForced) !== null && _c !== void 0 ? _c : [], attr => {\n          set$3(element, attr.name, attr.value === '{$uid}' ? \"mce_\".concat(uid++) : attr.value);\n        });\n        each$e((_d = rule.attributesDefault) !== null && _d !== void 0 ? _d : [], attr => {\n          if (!has$1(element, attr.name)) {\n            set$3(element, attr.name, attr.value === '{$uid}' ? \"mce_\".concat(uid++) : attr.value);\n          }\n        });\n        if (rule.attributesRequired && !exists(rule.attributesRequired, attr => has$1(element, attr))) {\n          unwrap(element);\n          return;\n        }\n        if (rule.removeEmptyAttrs && hasNone(element)) {\n          unwrap(element);\n          return;\n        }\n        if (rule.outputName && rule.outputName !== lcTagName) {\n          mutate(element, rule.outputName);\n        }\n      }\n    };\n    const processAttr = (ele, settings, schema, scope, evt) => {\n      const tagName = ele.tagName.toLowerCase();\n      const {\n        attrName,\n        attrValue\n      } = evt;\n      evt.keepAttr = shouldKeepAttribute(settings, schema, scope, tagName, attrName, attrValue);\n      if (evt.keepAttr) {\n        evt.allowedAttributes[attrName] = true;\n        if (isBooleanAttribute(attrName, schema)) {\n          evt.attrValue = attrName;\n        }\n        if (settings.allow_svg_data_urls && startsWith(attrValue, 'data:image/svg+xml')) {\n          evt.forceKeepAttr = true;\n        }\n      } else if (isRequiredAttributeOfInternalElement(ele, attrName)) {\n        evt.forceKeepAttr = true;\n      }\n    };\n    const shouldKeepAttribute = (settings, schema, scope, tagName, attrName, attrValue) => {\n      if (scope !== 'html' && !isNonHtmlElementRootName(tagName)) {\n        return true;\n      }\n      return !(attrName in filteredUrlAttrs && isInvalidUri(settings, attrValue, tagName)) && (!settings.validate || schema.isValid(tagName, attrName) || startsWith(attrName, 'data-') || startsWith(attrName, 'aria-'));\n    };\n    const isRequiredAttributeOfInternalElement = (ele, attrName) => ele.hasAttribute(internalElementAttr) && (attrName === 'id' || attrName === 'class' || attrName === 'style');\n    const isBooleanAttribute = (attrName, schema) => attrName in schema.getBoolAttrs();\n    const filterAttributes = (ele, settings, schema, scope) => {\n      const {\n        attributes\n      } = ele;\n      for (let i = attributes.length - 1; i >= 0; i--) {\n        const attr = attributes[i];\n        const attrName = attr.name;\n        const attrValue = attr.value;\n        if (!shouldKeepAttribute(settings, schema, scope, ele.tagName.toLowerCase(), attrName, attrValue) && !isRequiredAttributeOfInternalElement(ele, attrName)) {\n          ele.removeAttribute(attrName);\n        } else if (isBooleanAttribute(attrName, schema)) {\n          ele.setAttribute(attrName, attrName);\n        }\n      }\n    };\n    const setupPurify = (settings, schema, namespaceTracker) => {\n      const purify$1 = purify();\n      purify$1.addHook('uponSanitizeElement', (ele, evt) => {\n        processNode(ele, settings, schema, namespaceTracker.track(ele), evt);\n      });\n      purify$1.addHook('uponSanitizeAttribute', (ele, evt) => {\n        processAttr(ele, settings, schema, namespaceTracker.current(), evt);\n      });\n      return purify$1;\n    };\n    const getPurifyConfig = (settings, mimeType) => {\n      const basePurifyConfig = {\n        IN_PLACE: true,\n        ALLOW_UNKNOWN_PROTOCOLS: true,\n        ALLOWED_TAGS: ['#comment', '#cdata-section', 'body'],\n        ALLOWED_ATTR: []\n      };\n      const config = {\n        ...basePurifyConfig\n      };\n      config.PARSER_MEDIA_TYPE = mimeType;\n      if (settings.allow_script_urls) {\n        config.ALLOWED_URI_REGEXP = /.*/;\n      } else if (settings.allow_html_data_urls) {\n        config.ALLOWED_URI_REGEXP = /^(?!(\\w+script|mhtml):)/i;\n      }\n      return config;\n    };\n    const sanitizeNamespaceElement = ele => {\n      const xlinkAttrs = ['type', 'href', 'role', 'arcrole', 'title', 'show', 'actuate', 'label', 'from', 'to'].map(name => \"xlink:\".concat(name));\n      const config = {\n        IN_PLACE: true,\n        USE_PROFILES: {\n          html: true,\n          svg: true,\n          svgFilters: true\n        },\n        ALLOWED_ATTR: xlinkAttrs\n      };\n      purify().sanitize(ele, config);\n      return ele.innerHTML;\n    };\n    const getSanitizer = (settings, schema) => {\n      const namespaceTracker = createNamespaceTracker();\n      if (settings.sanitize) {\n        const purify = setupPurify(settings, schema, namespaceTracker);\n        const sanitizeHtmlElement = (body, mimeType) => {\n          purify.sanitize(body, getPurifyConfig(settings, mimeType));\n          purify.removed = [];\n          namespaceTracker.reset();\n        };\n        return {\n          sanitizeHtmlElement,\n          sanitizeNamespaceElement\n        };\n      } else {\n        const sanitizeHtmlElement = (body, _mimeType) => {\n          const nodeIterator = document.createNodeIterator(body, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT);\n          let node;\n          while (node = nodeIterator.nextNode()) {\n            const currentScope = namespaceTracker.track(node);\n            processNode(node, settings, schema, currentScope);\n            if (isElement$6(node)) {\n              filterAttributes(node, settings, schema, currentScope);\n            }\n          }\n          namespaceTracker.reset();\n        };\n        const sanitizeNamespaceElement = noop;\n        return {\n          sanitizeHtmlElement,\n          sanitizeNamespaceElement\n        };\n      }\n    };\n\n    const makeMap = Tools.makeMap,\n      extend$1 = Tools.extend;\n    const transferChildren = (parent, nativeParent, specialElements, nsSanitizer) => {\n      const parentName = parent.name;\n      const isSpecial = parentName in specialElements && parentName !== 'title' && parentName !== 'textarea' && parentName !== 'noscript';\n      const childNodes = nativeParent.childNodes;\n      for (let ni = 0, nl = childNodes.length; ni < nl; ni++) {\n        const nativeChild = childNodes[ni];\n        const child = new AstNode(nativeChild.nodeName.toLowerCase(), nativeChild.nodeType);\n        if (isElement$6(nativeChild)) {\n          const attributes = nativeChild.attributes;\n          for (let ai = 0, al = attributes.length; ai < al; ai++) {\n            const attr = attributes[ai];\n            child.attr(attr.name, attr.value);\n          }\n          if (isNonHtmlElementRootName(child.name)) {\n            nsSanitizer(nativeChild);\n            child.value = nativeChild.innerHTML;\n          }\n        } else if (isText$a(nativeChild)) {\n          child.value = nativeChild.data;\n          if (isSpecial) {\n            child.raw = true;\n          }\n        } else if (isComment(nativeChild) || isCData(nativeChild) || isPi(nativeChild)) {\n          child.value = nativeChild.data;\n        }\n        if (!isNonHtmlElementRootName(child.name)) {\n          transferChildren(child, nativeChild, specialElements, nsSanitizer);\n        }\n        parent.append(child);\n      }\n    };\n    const walkTree = (root, preprocessors, postprocessors) => {\n      const traverseOrder = [];\n      for (let node = root, lastNode = node; node; lastNode = node, node = node.walk()) {\n        const tempNode = node;\n        each$e(preprocessors, preprocess => preprocess(tempNode));\n        if (isNullable(tempNode.parent) && tempNode !== root) {\n          node = lastNode;\n        } else {\n          traverseOrder.push(tempNode);\n        }\n      }\n      for (let i = traverseOrder.length - 1; i >= 0; i--) {\n        const node = traverseOrder[i];\n        each$e(postprocessors, postprocess => postprocess(node));\n      }\n    };\n    const whitespaceCleaner = (root, schema, settings, args) => {\n      const validate = settings.validate;\n      const nonEmptyElements = schema.getNonEmptyElements();\n      const whitespaceElements = schema.getWhitespaceElements();\n      const blockElements = extend$1(makeMap('script,style,head,html,body,title,meta,param'), schema.getBlockElements());\n      const textRootBlockElements = getTextRootBlockElements(schema);\n      const allWhiteSpaceRegExp = /[ \\t\\r\\n]+/g;\n      const startWhiteSpaceRegExp = /^[ \\t\\r\\n]+/;\n      const endWhiteSpaceRegExp = /[ \\t\\r\\n]+$/;\n      const hasWhitespaceParent = node => {\n        let tempNode = node.parent;\n        while (isNonNullable(tempNode)) {\n          if (tempNode.name in whitespaceElements) {\n            return true;\n          } else {\n            tempNode = tempNode.parent;\n          }\n        }\n        return false;\n      };\n      const isTextRootBlockEmpty = node => {\n        let tempNode = node;\n        while (isNonNullable(tempNode)) {\n          if (tempNode.name in textRootBlockElements) {\n            return isEmpty(schema, nonEmptyElements, whitespaceElements, tempNode);\n          } else {\n            tempNode = tempNode.parent;\n          }\n        }\n        return false;\n      };\n      const isBlock = node => node.name in blockElements || isTransparentAstBlock(schema, node) || isNonHtmlElementRootName(node.name) && node.parent === root;\n      const isAtEdgeOfBlock = (node, start) => {\n        const neighbour = start ? node.prev : node.next;\n        if (isNonNullable(neighbour) || isNullable(node.parent)) {\n          return false;\n        }\n        return isBlock(node.parent) && (node.parent !== root || args.isRootContent === true);\n      };\n      const preprocess = node => {\n        var _a;\n        if (node.type === 3) {\n          if (!hasWhitespaceParent(node)) {\n            let text = (_a = node.value) !== null && _a !== void 0 ? _a : '';\n            text = text.replace(allWhiteSpaceRegExp, ' ');\n            if (isLineBreakNode(node.prev, isBlock) || isAtEdgeOfBlock(node, true)) {\n              text = text.replace(startWhiteSpaceRegExp, '');\n            }\n            if (text.length === 0) {\n              node.remove();\n            } else {\n              node.value = text;\n            }\n          }\n        }\n      };\n      const postprocess = node => {\n        var _a;\n        if (node.type === 1) {\n          const elementRule = schema.getElementRule(node.name);\n          if (validate && elementRule) {\n            const isNodeEmpty = isEmpty(schema, nonEmptyElements, whitespaceElements, node);\n            if (elementRule.paddInEmptyBlock && isNodeEmpty && isTextRootBlockEmpty(node)) {\n              paddEmptyNode(settings, args, isBlock, node);\n            } else if (elementRule.removeEmpty && isNodeEmpty) {\n              if (isBlock(node)) {\n                node.remove();\n              } else {\n                node.unwrap();\n              }\n            } else if (elementRule.paddEmpty && (isNodeEmpty || isPaddedWithNbsp(node))) {\n              paddEmptyNode(settings, args, isBlock, node);\n            }\n          }\n        } else if (node.type === 3) {\n          if (!hasWhitespaceParent(node)) {\n            let text = (_a = node.value) !== null && _a !== void 0 ? _a : '';\n            if (node.next && isBlock(node.next) || isAtEdgeOfBlock(node, false)) {\n              text = text.replace(endWhiteSpaceRegExp, '');\n            }\n            if (text.length === 0) {\n              node.remove();\n            } else {\n              node.value = text;\n            }\n          }\n        }\n      };\n      return [preprocess, postprocess];\n    };\n    const getRootBlockName = (settings, args) => {\n      var _a;\n      const name = (_a = args.forced_root_block) !== null && _a !== void 0 ? _a : settings.forced_root_block;\n      if (name === false) {\n        return '';\n      } else if (name === true) {\n        return 'p';\n      } else {\n        return name;\n      }\n    };\n    const DomParser = (settings = {}, schema = Schema()) => {\n      const nodeFilterRegistry = create$8();\n      const attributeFilterRegistry = create$8();\n      const defaultedSettings = {\n        validate: true,\n        root_name: 'body',\n        sanitize: true,\n        ...settings\n      };\n      const parser = new DOMParser();\n      const sanitizer = getSanitizer(defaultedSettings, schema);\n      const parseAndSanitizeWithContext = (html, rootName, format = 'html') => {\n        const mimeType = format === 'xhtml' ? 'application/xhtml+xml' : 'text/html';\n        const isSpecialRoot = has$2(schema.getSpecialElements(), rootName.toLowerCase());\n        const content = isSpecialRoot ? \"<\".concat(rootName, \">\").concat(html, \"</\").concat(rootName, \">\") : html;\n        const wrappedHtml = format === 'xhtml' ? \"<html xmlns=\\\"http://www.w3.org/1999/xhtml\\\"><head></head><body>\".concat(content, \"</body></html>\") : \"<body>\".concat(content, \"</body>\");\n        const body = parser.parseFromString(wrappedHtml, mimeType).body;\n        sanitizer.sanitizeHtmlElement(body, mimeType);\n        return isSpecialRoot ? body.firstChild : body;\n      };\n      const addNodeFilter = nodeFilterRegistry.addFilter;\n      const getNodeFilters = nodeFilterRegistry.getFilters;\n      const removeNodeFilter = nodeFilterRegistry.removeFilter;\n      const addAttributeFilter = attributeFilterRegistry.addFilter;\n      const getAttributeFilters = attributeFilterRegistry.getFilters;\n      const removeAttributeFilter = attributeFilterRegistry.removeFilter;\n      const findInvalidChildren = (node, invalidChildren) => {\n        if (isInvalid(schema, node)) {\n          invalidChildren.push(node);\n        }\n      };\n      const isWrappableNode = (blockElements, node) => {\n        const isInternalElement = isString(node.attr(internalElementAttr));\n        const isInlineElement = node.type === 1 && !has$2(blockElements, node.name) && !isTransparentAstBlock(schema, node) && !isNonHtmlElementRootName(node.name);\n        return node.type === 3 || isInlineElement && !isInternalElement;\n      };\n      const addRootBlocks = (rootNode, rootBlockName) => {\n        const blockElements = extend$1(makeMap('script,style,head,html,body,title,meta,param'), schema.getBlockElements());\n        const startWhiteSpaceRegExp = /^[ \\t\\r\\n]+/;\n        const endWhiteSpaceRegExp = /[ \\t\\r\\n]+$/;\n        let node = rootNode.firstChild,\n          rootBlockNode = null;\n        const trim = rootBlock => {\n          var _a, _b;\n          if (rootBlock) {\n            node = rootBlock.firstChild;\n            if (node && node.type === 3) {\n              node.value = (_a = node.value) === null || _a === void 0 ? void 0 : _a.replace(startWhiteSpaceRegExp, '');\n            }\n            node = rootBlock.lastChild;\n            if (node && node.type === 3) {\n              node.value = (_b = node.value) === null || _b === void 0 ? void 0 : _b.replace(endWhiteSpaceRegExp, '');\n            }\n          }\n        };\n        if (!schema.isValidChild(rootNode.name, rootBlockName.toLowerCase())) {\n          return;\n        }\n        while (node) {\n          const next = node.next;\n          if (isWrappableNode(blockElements, node)) {\n            if (!rootBlockNode) {\n              rootBlockNode = new AstNode(rootBlockName, 1);\n              rootBlockNode.attr(defaultedSettings.forced_root_block_attrs);\n              rootNode.insert(rootBlockNode, node);\n              rootBlockNode.append(node);\n            } else {\n              rootBlockNode.append(node);\n            }\n          } else {\n            trim(rootBlockNode);\n            rootBlockNode = null;\n          }\n          node = next;\n        }\n        trim(rootBlockNode);\n      };\n      const parse = (html, args = {}) => {\n        var _a;\n        const validate = defaultedSettings.validate;\n        const rootName = (_a = args.context) !== null && _a !== void 0 ? _a : defaultedSettings.root_name;\n        const element = parseAndSanitizeWithContext(html, rootName, args.format);\n        updateChildren(schema, element);\n        const rootNode = new AstNode(rootName, 11);\n        transferChildren(rootNode, element, schema.getSpecialElements(), sanitizer.sanitizeNamespaceElement);\n        element.innerHTML = '';\n        const [whitespacePre, whitespacePost] = whitespaceCleaner(rootNode, schema, defaultedSettings, args);\n        const invalidChildren = [];\n        const invalidFinder = validate ? node => findInvalidChildren(node, invalidChildren) : noop;\n        const matches = {\n          nodes: {},\n          attributes: {}\n        };\n        const matchFinder = node => matchNode$1(getNodeFilters(), getAttributeFilters(), node, matches);\n        walkTree(rootNode, [whitespacePre, matchFinder], [whitespacePost, invalidFinder]);\n        invalidChildren.reverse();\n        if (validate && invalidChildren.length > 0) {\n          if (args.context) {\n            const {\n              pass: topLevelChildren,\n              fail: otherChildren\n            } = partition$2(invalidChildren, child => child.parent === rootNode);\n            cleanInvalidNodes(otherChildren, schema, rootNode, matchFinder);\n            args.invalid = topLevelChildren.length > 0;\n          } else {\n            cleanInvalidNodes(invalidChildren, schema, rootNode, matchFinder);\n          }\n        }\n        const rootBlockName = getRootBlockName(defaultedSettings, args);\n        if (rootBlockName && (rootNode.name === 'body' || args.isRootContent)) {\n          addRootBlocks(rootNode, rootBlockName);\n        }\n        if (!args.invalid) {\n          runFilters(matches, args);\n        }\n        return rootNode;\n      };\n      const exports = {\n        schema,\n        addAttributeFilter,\n        getAttributeFilters,\n        removeAttributeFilter,\n        addNodeFilter,\n        getNodeFilters,\n        removeNodeFilter,\n        parse\n      };\n      register$4(exports, defaultedSettings);\n      register$5(exports, defaultedSettings, schema);\n      return exports;\n    };\n\n    const serializeContent = content => isTreeNode(content) ? HtmlSerializer({\n      validate: false\n    }).serialize(content) : content;\n    const withSerializedContent = (content, fireEvent, parserSettings) => {\n      const serializedContent = serializeContent(content);\n      const eventArgs = fireEvent(serializedContent);\n      if (eventArgs.isDefaultPrevented()) {\n        return eventArgs;\n      } else if (isTreeNode(content)) {\n        if (eventArgs.content !== serializedContent) {\n          const rootNode = DomParser({\n            validate: false,\n            forced_root_block: false,\n            ...parserSettings\n          }).parse(eventArgs.content, {\n            context: content.name\n          });\n          return {\n            ...eventArgs,\n            content: rootNode\n          };\n        } else {\n          return {\n            ...eventArgs,\n            content\n          };\n        }\n      } else {\n        return eventArgs;\n      }\n    };\n    const preProcessGetContent = (editor, args) => {\n      if (args.no_events) {\n        return Result.value(args);\n      } else {\n        const eventArgs = fireBeforeGetContent(editor, args);\n        if (eventArgs.isDefaultPrevented()) {\n          return Result.error(fireGetContent(editor, {\n            content: '',\n            ...eventArgs\n          }).content);\n        } else {\n          return Result.value(eventArgs);\n        }\n      }\n    };\n    const postProcessGetContent = (editor, content, args) => {\n      if (args.no_events) {\n        return content;\n      } else {\n        const processedEventArgs = withSerializedContent(content, content => fireGetContent(editor, {\n          ...args,\n          content\n        }), {\n          sanitize: shouldSanitizeXss(editor),\n          sandbox_iframes: shouldSandboxIframes(editor)\n        });\n        return processedEventArgs.content;\n      }\n    };\n    const preProcessSetContent = (editor, args) => {\n      if (args.no_events) {\n        return Result.value(args);\n      } else {\n        const processedEventArgs = withSerializedContent(args.content, content => fireBeforeSetContent(editor, {\n          ...args,\n          content\n        }), {\n          sanitize: shouldSanitizeXss(editor),\n          sandbox_iframes: shouldSandboxIframes(editor)\n        });\n        if (processedEventArgs.isDefaultPrevented()) {\n          fireSetContent(editor, processedEventArgs);\n          return Result.error(undefined);\n        } else {\n          return Result.value(processedEventArgs);\n        }\n      }\n    };\n    const postProcessSetContent = (editor, content, args) => {\n      if (!args.no_events) {\n        fireSetContent(editor, {\n          ...args,\n          content\n        });\n      }\n    };\n\n    const tableModel = (element, width, rows) => ({\n      element,\n      width,\n      rows\n    });\n    const tableRow = (element, cells) => ({\n      element,\n      cells\n    });\n    const cellPosition = (x, y) => ({\n      x,\n      y\n    });\n    const getSpan = (td, key) => {\n      return getOpt(td, key).bind(toInt).getOr(1);\n    };\n    const fillout = (table, x, y, tr, td) => {\n      const rowspan = getSpan(td, 'rowspan');\n      const colspan = getSpan(td, 'colspan');\n      const rows = table.rows;\n      for (let y2 = y; y2 < y + rowspan; y2++) {\n        if (!rows[y2]) {\n          rows[y2] = tableRow(deep$1(tr), []);\n        }\n        for (let x2 = x; x2 < x + colspan; x2++) {\n          const cells = rows[y2].cells;\n          cells[x2] = y2 === y && x2 === x ? td : shallow$1(td);\n        }\n      }\n    };\n    const cellExists = (table, x, y) => {\n      const rows = table.rows;\n      const cells = rows[y] ? rows[y].cells : [];\n      return !!cells[x];\n    };\n    const skipCellsX = (table, x, y) => {\n      while (cellExists(table, x, y)) {\n        x++;\n      }\n      return x;\n    };\n    const getWidth = rows => {\n      return foldl(rows, (acc, row) => {\n        return row.cells.length > acc ? row.cells.length : acc;\n      }, 0);\n    };\n    const findElementPos = (table, element) => {\n      const rows = table.rows;\n      for (let y = 0; y < rows.length; y++) {\n        const cells = rows[y].cells;\n        for (let x = 0; x < cells.length; x++) {\n          if (eq(cells[x], element)) {\n            return Optional.some(cellPosition(x, y));\n          }\n        }\n      }\n      return Optional.none();\n    };\n    const extractRows = (table, sx, sy, ex, ey) => {\n      const newRows = [];\n      const rows = table.rows;\n      for (let y = sy; y <= ey; y++) {\n        const cells = rows[y].cells;\n        const slice = sx < ex ? cells.slice(sx, ex + 1) : cells.slice(ex, sx + 1);\n        newRows.push(tableRow(rows[y].element, slice));\n      }\n      return newRows;\n    };\n    const subTable = (table, startPos, endPos) => {\n      const sx = startPos.x,\n        sy = startPos.y;\n      const ex = endPos.x,\n        ey = endPos.y;\n      const newRows = sy < ey ? extractRows(table, sx, sy, ex, ey) : extractRows(table, sx, ey, ex, sy);\n      return tableModel(table.element, getWidth(newRows), newRows);\n    };\n    const createDomTable = (table, rows) => {\n      const tableElement = shallow$1(table.element);\n      const tableBody = SugarElement.fromTag('tbody');\n      append(tableBody, rows);\n      append$1(tableElement, tableBody);\n      return tableElement;\n    };\n    const modelRowsToDomRows = table => {\n      return map$3(table.rows, row => {\n        const cells = map$3(row.cells, cell => {\n          const td = deep$1(cell);\n          remove$a(td, 'colspan');\n          remove$a(td, 'rowspan');\n          return td;\n        });\n        const tr = shallow$1(row.element);\n        append(tr, cells);\n        return tr;\n      });\n    };\n    const fromDom = tableElm => {\n      const table = tableModel(shallow$1(tableElm), 0, []);\n      each$e(descendants(tableElm, 'tr'), (tr, y) => {\n        each$e(descendants(tr, 'td,th'), (td, x) => {\n          fillout(table, skipCellsX(table, x, y), y, tr, td);\n        });\n      });\n      return tableModel(table.element, getWidth(table.rows), table.rows);\n    };\n    const toDom = table => {\n      return createDomTable(table, modelRowsToDomRows(table));\n    };\n    const subsection = (table, startElement, endElement) => {\n      return findElementPos(table, startElement).bind(startPos => {\n        return findElementPos(table, endElement).map(endPos => {\n          return subTable(table, startPos, endPos);\n        });\n      });\n    };\n\n    const findParentListContainer = parents => find$2(parents, elm => name(elm) === 'ul' || name(elm) === 'ol');\n    const getFullySelectedListWrappers = (parents, rng) => find$2(parents, elm => name(elm) === 'li' && hasAllContentsSelected(elm, rng)).fold(constant([]), _li => findParentListContainer(parents).map(listCont => {\n      const listElm = SugarElement.fromTag(name(listCont));\n      const listStyles = filter$4(getAllRaw(listCont), (_style, name) => startsWith(name, 'list-style'));\n      setAll(listElm, listStyles);\n      return [SugarElement.fromTag('li'), listElm];\n    }).getOr([]));\n    const wrap = (innerElm, elms) => {\n      const wrapped = foldl(elms, (acc, elm) => {\n        append$1(elm, acc);\n        return elm;\n      }, innerElm);\n      return elms.length > 0 ? fromElements([wrapped]) : wrapped;\n    };\n    const directListWrappers = commonAnchorContainer => {\n      if (isListItem$1(commonAnchorContainer)) {\n        return parent(commonAnchorContainer).filter(isList).fold(constant([]), listElm => [commonAnchorContainer, listElm]);\n      } else {\n        return isList(commonAnchorContainer) ? [commonAnchorContainer] : [];\n      }\n    };\n    const getWrapElements = (rootNode, rng, schema) => {\n      const commonAnchorContainer = SugarElement.fromDom(rng.commonAncestorContainer);\n      const parents = parentsAndSelf(commonAnchorContainer, rootNode);\n      const wrapElements = filter$5(parents, el => schema.isWrapper(name(el)));\n      const listWrappers = getFullySelectedListWrappers(parents, rng);\n      const allWrappers = wrapElements.concat(listWrappers.length ? listWrappers : directListWrappers(commonAnchorContainer));\n      return map$3(allWrappers, shallow$1);\n    };\n    const emptyFragment = () => fromElements([]);\n    const getFragmentFromRange = (rootNode, rng, schema) => wrap(SugarElement.fromDom(rng.cloneContents()), getWrapElements(rootNode, rng, schema));\n    const getParentTable = (rootElm, cell) => ancestor$3(cell, 'table', curry(eq, rootElm));\n    const getTableFragment = (rootNode, selectedTableCells) => getParentTable(rootNode, selectedTableCells[0]).bind(tableElm => {\n      const firstCell = selectedTableCells[0];\n      const lastCell = selectedTableCells[selectedTableCells.length - 1];\n      const fullTableModel = fromDom(tableElm);\n      return subsection(fullTableModel, firstCell, lastCell).map(sectionedTableModel => fromElements([toDom(sectionedTableModel)]));\n    }).getOrThunk(emptyFragment);\n    const getSelectionFragment = (rootNode, ranges, schema) => ranges.length > 0 && ranges[0].collapsed ? emptyFragment() : getFragmentFromRange(rootNode, ranges[0], schema);\n    const read$3 = (rootNode, ranges, schema) => {\n      const selectedCells = getCellsFromElementOrRanges(ranges, rootNode);\n      return selectedCells.length > 0 ? getTableFragment(rootNode, selectedCells) : getSelectionFragment(rootNode, ranges, schema);\n    };\n\n    const isCollapsibleWhitespace = (text, index) => index >= 0 && index < text.length && isWhiteSpace(text.charAt(index));\n    const getInnerText = bin => {\n      return trim$2(bin.innerText);\n    };\n    const getContextNodeName = parentBlockOpt => parentBlockOpt.map(block => block.nodeName).getOr('div').toLowerCase();\n    const getTextContent = editor => Optional.from(editor.selection.getRng()).map(rng => {\n      var _a;\n      const parentBlockOpt = Optional.from(editor.dom.getParent(rng.commonAncestorContainer, editor.dom.isBlock));\n      const body = editor.getBody();\n      const contextNodeName = getContextNodeName(parentBlockOpt);\n      const rangeContentClone = SugarElement.fromDom(rng.cloneContents());\n      cleanupBogusElements(rangeContentClone);\n      cleanupInputNames(rangeContentClone);\n      const bin = editor.dom.add(body, contextNodeName, {\n        'data-mce-bogus': 'all',\n        'style': 'overflow: hidden; opacity: 0;'\n      }, rangeContentClone.dom);\n      const text = getInnerText(bin);\n      const nonRenderedText = trim$2((_a = bin.textContent) !== null && _a !== void 0 ? _a : '');\n      editor.dom.remove(bin);\n      if (isCollapsibleWhitespace(nonRenderedText, 0) || isCollapsibleWhitespace(nonRenderedText, nonRenderedText.length - 1)) {\n        const parentBlock = parentBlockOpt.getOr(body);\n        const parentBlockText = getInnerText(parentBlock);\n        const textIndex = parentBlockText.indexOf(text);\n        if (textIndex === -1) {\n          return text;\n        } else {\n          const hasProceedingSpace = isCollapsibleWhitespace(parentBlockText, textIndex - 1);\n          const hasTrailingSpace = isCollapsibleWhitespace(parentBlockText, textIndex + text.length);\n          return (hasProceedingSpace ? ' ' : '') + text + (hasTrailingSpace ? ' ' : '');\n        }\n      } else {\n        return text;\n      }\n    }).getOr('');\n    const getSerializedContent = (editor, args) => {\n      const rng = editor.selection.getRng(),\n        tmpElm = editor.dom.create('body');\n      const sel = editor.selection.getSel();\n      const ranges = processRanges(editor, getRanges$1(sel));\n      const fragment = args.contextual ? read$3(SugarElement.fromDom(editor.getBody()), ranges, editor.schema).dom : rng.cloneContents();\n      if (fragment) {\n        tmpElm.appendChild(fragment);\n      }\n      return editor.selection.serializer.serialize(tmpElm, args);\n    };\n    const extractSelectedContent = (editor, args) => {\n      if (args.format === 'text') {\n        return getTextContent(editor);\n      } else {\n        const content = getSerializedContent(editor, args);\n        if (args.format === 'tree') {\n          return content;\n        } else {\n          return editor.selection.isCollapsed() ? '' : content;\n        }\n      }\n    };\n    const setupArgs$3 = (args, format) => ({\n      ...args,\n      format,\n      get: true,\n      selection: true,\n      getInner: true\n    });\n    const getSelectedContentInternal = (editor, format, args = {}) => {\n      const defaultedArgs = setupArgs$3(args, format);\n      return preProcessGetContent(editor, defaultedArgs).fold(identity, updatedArgs => {\n        const content = extractSelectedContent(editor, updatedArgs);\n        return postProcessGetContent(editor, content, updatedArgs);\n      });\n    };\n\n    const KEEP = 0,\n      INSERT = 1,\n      DELETE = 2;\n    const diff = (left, right) => {\n      const size = left.length + right.length + 2;\n      const vDown = new Array(size);\n      const vUp = new Array(size);\n      const snake = (start, end, diag) => {\n        return {\n          start,\n          end,\n          diag\n        };\n      };\n      const buildScript = (start1, end1, start2, end2, script) => {\n        const middle = getMiddleSnake(start1, end1, start2, end2);\n        if (middle === null || middle.start === end1 && middle.diag === end1 - end2 || middle.end === start1 && middle.diag === start1 - start2) {\n          let i = start1;\n          let j = start2;\n          while (i < end1 || j < end2) {\n            if (i < end1 && j < end2 && left[i] === right[j]) {\n              script.push([KEEP, left[i]]);\n              ++i;\n              ++j;\n            } else {\n              if (end1 - start1 > end2 - start2) {\n                script.push([DELETE, left[i]]);\n                ++i;\n              } else {\n                script.push([INSERT, right[j]]);\n                ++j;\n              }\n            }\n          }\n        } else {\n          buildScript(start1, middle.start, start2, middle.start - middle.diag, script);\n          for (let i2 = middle.start; i2 < middle.end; ++i2) {\n            script.push([KEEP, left[i2]]);\n          }\n          buildScript(middle.end, end1, middle.end - middle.diag, end2, script);\n        }\n      };\n      const buildSnake = (start, diag, end1, end2) => {\n        let end = start;\n        while (end - diag < end2 && end < end1 && left[end] === right[end - diag]) {\n          ++end;\n        }\n        return snake(start, end, diag);\n      };\n      const getMiddleSnake = (start1, end1, start2, end2) => {\n        const m = end1 - start1;\n        const n = end2 - start2;\n        if (m === 0 || n === 0) {\n          return null;\n        }\n        const delta = m - n;\n        const sum = n + m;\n        const offset = (sum % 2 === 0 ? sum : sum + 1) / 2;\n        vDown[1 + offset] = start1;\n        vUp[1 + offset] = end1 + 1;\n        let d, k, i, x, y;\n        for (d = 0; d <= offset; ++d) {\n          for (k = -d; k <= d; k += 2) {\n            i = k + offset;\n            if (k === -d || k !== d && vDown[i - 1] < vDown[i + 1]) {\n              vDown[i] = vDown[i + 1];\n            } else {\n              vDown[i] = vDown[i - 1] + 1;\n            }\n            x = vDown[i];\n            y = x - start1 + start2 - k;\n            while (x < end1 && y < end2 && left[x] === right[y]) {\n              vDown[i] = ++x;\n              ++y;\n            }\n            if (delta % 2 !== 0 && delta - d <= k && k <= delta + d) {\n              if (vUp[i - delta] <= vDown[i]) {\n                return buildSnake(vUp[i - delta], k + start1 - start2, end1, end2);\n              }\n            }\n          }\n          for (k = delta - d; k <= delta + d; k += 2) {\n            i = k + offset - delta;\n            if (k === delta - d || k !== delta + d && vUp[i + 1] <= vUp[i - 1]) {\n              vUp[i] = vUp[i + 1] - 1;\n            } else {\n              vUp[i] = vUp[i - 1];\n            }\n            x = vUp[i] - 1;\n            y = x - start1 + start2 - k;\n            while (x >= start1 && y >= start2 && left[x] === right[y]) {\n              vUp[i] = x--;\n              y--;\n            }\n            if (delta % 2 === 0 && -d <= k && k <= d) {\n              if (vUp[i] <= vDown[i + delta]) {\n                return buildSnake(vUp[i], k + start1 - start2, end1, end2);\n              }\n            }\n          }\n        }\n        return null;\n      };\n      const script = [];\n      buildScript(0, left.length, 0, right.length, script);\n      return script;\n    };\n\n    const getOuterHtml = elm => {\n      if (isElement$6(elm)) {\n        return elm.outerHTML;\n      } else if (isText$a(elm)) {\n        return Entities.encodeRaw(elm.data, false);\n      } else if (isComment(elm)) {\n        return '<!--' + elm.data + '-->';\n      }\n      return '';\n    };\n    const createFragment = html => {\n      let node;\n      const container = document.createElement('div');\n      const frag = document.createDocumentFragment();\n      if (html) {\n        container.innerHTML = html;\n      }\n      while (node = container.firstChild) {\n        frag.appendChild(node);\n      }\n      return frag;\n    };\n    const insertAt = (elm, html, index) => {\n      const fragment = createFragment(html);\n      if (elm.hasChildNodes() && index < elm.childNodes.length) {\n        const target = elm.childNodes[index];\n        elm.insertBefore(fragment, target);\n      } else {\n        elm.appendChild(fragment);\n      }\n    };\n    const removeAt = (elm, index) => {\n      if (elm.hasChildNodes() && index < elm.childNodes.length) {\n        const target = elm.childNodes[index];\n        elm.removeChild(target);\n      }\n    };\n    const applyDiff = (diff, elm) => {\n      let index = 0;\n      each$e(diff, action => {\n        if (action[0] === KEEP) {\n          index++;\n        } else if (action[0] === INSERT) {\n          insertAt(elm, action[1], index);\n          index++;\n        } else if (action[0] === DELETE) {\n          removeAt(elm, index);\n        }\n      });\n    };\n    const read$2 = (elm, trimZwsp) => filter$5(map$3(from(elm.childNodes), trimZwsp ? compose(trim$2, getOuterHtml) : getOuterHtml), item => {\n      return item.length > 0;\n    });\n    const write = (fragments, elm) => {\n      const currentFragments = map$3(from(elm.childNodes), getOuterHtml);\n      applyDiff(diff(currentFragments, fragments), elm);\n      return elm;\n    };\n\n    const lazyTempDocument = cached(() => document.implementation.createHTMLDocument('undo'));\n    const hasIframes = body => body.querySelector('iframe') !== null;\n    const createFragmentedLevel = fragments => {\n      return {\n        type: 'fragmented',\n        fragments,\n        content: '',\n        bookmark: null,\n        beforeBookmark: null\n      };\n    };\n    const createCompleteLevel = content => {\n      return {\n        type: 'complete',\n        fragments: null,\n        content,\n        bookmark: null,\n        beforeBookmark: null\n      };\n    };\n    const createFromEditor = editor => {\n      const tempAttrs = editor.serializer.getTempAttrs();\n      const body = trim$1(editor.getBody(), tempAttrs);\n      return hasIframes(body) ? createFragmentedLevel(read$2(body, true)) : createCompleteLevel(trim$2(body.innerHTML));\n    };\n    const applyToEditor = (editor, level, before) => {\n      const bookmark = before ? level.beforeBookmark : level.bookmark;\n      if (level.type === 'fragmented') {\n        write(level.fragments, editor.getBody());\n      } else {\n        editor.setContent(level.content, {\n          format: 'raw',\n          no_selection: isNonNullable(bookmark) && isPathBookmark(bookmark) ? !bookmark.isFakeCaret : true\n        });\n      }\n      if (bookmark) {\n        editor.selection.moveToBookmark(bookmark);\n        editor.selection.scrollIntoView();\n      }\n    };\n    const getLevelContent = level => {\n      return level.type === 'fragmented' ? level.fragments.join('') : level.content;\n    };\n    const getCleanLevelContent = level => {\n      const elm = SugarElement.fromTag('body', lazyTempDocument());\n      set$1(elm, getLevelContent(level));\n      each$e(descendants(elm, '*[data-mce-bogus]'), unwrap);\n      return get$6(elm);\n    };\n    const hasEqualContent = (level1, level2) => getLevelContent(level1) === getLevelContent(level2);\n    const hasEqualCleanedContent = (level1, level2) => getCleanLevelContent(level1) === getCleanLevelContent(level2);\n    const isEq$1 = (level1, level2) => {\n      if (!level1 || !level2) {\n        return false;\n      } else if (hasEqualContent(level1, level2)) {\n        return true;\n      } else {\n        return hasEqualCleanedContent(level1, level2);\n      }\n    };\n\n    const isUnlocked = locks => locks.get() === 0;\n\n    const setTyping = (undoManager, typing, locks) => {\n      if (isUnlocked(locks)) {\n        undoManager.typing = typing;\n      }\n    };\n    const endTyping = (undoManager, locks) => {\n      if (undoManager.typing) {\n        setTyping(undoManager, false, locks);\n        undoManager.add();\n      }\n    };\n    const endTypingLevelIgnoreLocks = undoManager => {\n      if (undoManager.typing) {\n        undoManager.typing = false;\n        undoManager.add();\n      }\n    };\n\n    const beforeChange$1 = (editor, locks, beforeBookmark) => {\n      if (isUnlocked(locks)) {\n        beforeBookmark.set(getUndoBookmark(editor.selection));\n      }\n    };\n    const addUndoLevel$1 = (editor, undoManager, index, locks, beforeBookmark, level, event) => {\n      const currentLevel = createFromEditor(editor);\n      const newLevel = Tools.extend(level || {}, currentLevel);\n      if (!isUnlocked(locks) || editor.removed) {\n        return null;\n      }\n      const lastLevel = undoManager.data[index.get()];\n      if (editor.dispatch('BeforeAddUndo', {\n        level: newLevel,\n        lastLevel,\n        originalEvent: event\n      }).isDefaultPrevented()) {\n        return null;\n      }\n      if (lastLevel && isEq$1(lastLevel, newLevel)) {\n        return null;\n      }\n      if (undoManager.data[index.get()]) {\n        beforeBookmark.get().each(bm => {\n          undoManager.data[index.get()].beforeBookmark = bm;\n        });\n      }\n      const customUndoRedoLevels = getCustomUndoRedoLevels(editor);\n      if (customUndoRedoLevels) {\n        if (undoManager.data.length > customUndoRedoLevels) {\n          for (let i = 0; i < undoManager.data.length - 1; i++) {\n            undoManager.data[i] = undoManager.data[i + 1];\n          }\n          undoManager.data.length--;\n          index.set(undoManager.data.length);\n        }\n      }\n      newLevel.bookmark = getUndoBookmark(editor.selection);\n      if (index.get() < undoManager.data.length - 1) {\n        undoManager.data.length = index.get() + 1;\n      }\n      undoManager.data.push(newLevel);\n      index.set(undoManager.data.length - 1);\n      const args = {\n        level: newLevel,\n        lastLevel,\n        originalEvent: event\n      };\n      if (index.get() > 0) {\n        editor.setDirty(true);\n        editor.dispatch('AddUndo', args);\n        editor.dispatch('change', args);\n      } else {\n        editor.dispatch('AddUndo', args);\n      }\n      return newLevel;\n    };\n    const clear$1 = (editor, undoManager, index) => {\n      undoManager.data = [];\n      index.set(0);\n      undoManager.typing = false;\n      editor.dispatch('ClearUndos');\n    };\n    const extra$1 = (editor, undoManager, index, callback1, callback2) => {\n      if (undoManager.transact(callback1)) {\n        const bookmark = undoManager.data[index.get()].bookmark;\n        const lastLevel = undoManager.data[index.get() - 1];\n        applyToEditor(editor, lastLevel, true);\n        if (undoManager.transact(callback2)) {\n          undoManager.data[index.get() - 1].beforeBookmark = bookmark;\n        }\n      }\n    };\n    const redo$1 = (editor, index, data) => {\n      let level;\n      if (index.get() < data.length - 1) {\n        index.set(index.get() + 1);\n        level = data[index.get()];\n        applyToEditor(editor, level, false);\n        editor.setDirty(true);\n        editor.dispatch('Redo', {\n          level\n        });\n      }\n      return level;\n    };\n    const undo$1 = (editor, undoManager, locks, index) => {\n      let level;\n      if (undoManager.typing) {\n        undoManager.add();\n        undoManager.typing = false;\n        setTyping(undoManager, false, locks);\n      }\n      if (index.get() > 0) {\n        index.set(index.get() - 1);\n        level = undoManager.data[index.get()];\n        applyToEditor(editor, level, true);\n        editor.setDirty(true);\n        editor.dispatch('Undo', {\n          level\n        });\n      }\n      return level;\n    };\n    const reset$1 = undoManager => {\n      undoManager.clear();\n      undoManager.add();\n    };\n    const hasUndo$1 = (editor, undoManager, index) => index.get() > 0 || undoManager.typing && undoManager.data[0] && !isEq$1(createFromEditor(editor), undoManager.data[0]);\n    const hasRedo$1 = (undoManager, index) => index.get() < undoManager.data.length - 1 && !undoManager.typing;\n    const transact$1 = (undoManager, locks, callback) => {\n      endTyping(undoManager, locks);\n      undoManager.beforeChange();\n      undoManager.ignore(callback);\n      return undoManager.add();\n    };\n    const ignore$1 = (locks, callback) => {\n      try {\n        locks.set(locks.get() + 1);\n        callback();\n      } finally {\n        locks.set(locks.get() - 1);\n      }\n    };\n\n    const addVisualInternal = (editor, elm) => {\n      const dom = editor.dom;\n      const scope = isNonNullable(elm) ? elm : editor.getBody();\n      each$e(dom.select('table,a', scope), matchedElm => {\n        switch (matchedElm.nodeName) {\n          case 'TABLE':\n            const cls = getVisualAidsTableClass(editor);\n            const value = dom.getAttrib(matchedElm, 'border');\n            if ((!value || value === '0') && editor.hasVisual) {\n              dom.addClass(matchedElm, cls);\n            } else {\n              dom.removeClass(matchedElm, cls);\n            }\n            break;\n          case 'A':\n            if (!dom.getAttrib(matchedElm, 'href')) {\n              const value = dom.getAttrib(matchedElm, 'name') || matchedElm.id;\n              const cls = getVisualAidsAnchorClass(editor);\n              if (value && editor.hasVisual) {\n                dom.addClass(matchedElm, cls);\n              } else {\n                dom.removeClass(matchedElm, cls);\n              }\n            }\n            break;\n        }\n      });\n      editor.dispatch('VisualAid', {\n        element: elm,\n        hasVisual: editor.hasVisual\n      });\n    };\n\n    const makePlainAdaptor = editor => ({\n      init: {\n        bindEvents: noop\n      },\n      undoManager: {\n        beforeChange: (locks, beforeBookmark) => beforeChange$1(editor, locks, beforeBookmark),\n        add: (undoManager, index, locks, beforeBookmark, level, event) => addUndoLevel$1(editor, undoManager, index, locks, beforeBookmark, level, event),\n        undo: (undoManager, locks, index) => undo$1(editor, undoManager, locks, index),\n        redo: (index, data) => redo$1(editor, index, data),\n        clear: (undoManager, index) => clear$1(editor, undoManager, index),\n        reset: undoManager => reset$1(undoManager),\n        hasUndo: (undoManager, index) => hasUndo$1(editor, undoManager, index),\n        hasRedo: (undoManager, index) => hasRedo$1(undoManager, index),\n        transact: (undoManager, locks, callback) => transact$1(undoManager, locks, callback),\n        ignore: (locks, callback) => ignore$1(locks, callback),\n        extra: (undoManager, index, callback1, callback2) => extra$1(editor, undoManager, index, callback1, callback2)\n      },\n      formatter: {\n        match: (name, vars, node, similar) => match$2(editor, name, vars, node, similar),\n        matchAll: (names, vars) => matchAll(editor, names, vars),\n        matchNode: (node, name, vars, similar) => matchNode(editor, node, name, vars, similar),\n        canApply: name => canApply(editor, name),\n        closest: names => closest(editor, names),\n        apply: (name, vars, node) => applyFormat$1(editor, name, vars, node),\n        remove: (name, vars, node, similar) => removeFormat$1(editor, name, vars, node, similar),\n        toggle: (name, vars, node) => toggle(editor, name, vars, node),\n        formatChanged: (registeredFormatListeners, formats, callback, similar, vars) => formatChangedInternal(editor, registeredFormatListeners, formats, callback, similar, vars)\n      },\n      editor: {\n        getContent: args => getContentInternal(editor, args),\n        setContent: (content, args) => setContentInternal(editor, content, args),\n        insertContent: (value, details) => insertHtmlAtCaret(editor, value, details),\n        addVisual: elm => addVisualInternal(editor, elm)\n      },\n      selection: {\n        getContent: (format, args) => getSelectedContentInternal(editor, format, args)\n      },\n      autocompleter: {\n        addDecoration: range => create$9(editor, range),\n        removeDecoration: () => remove$2(editor, SugarElement.fromDom(editor.getBody()))\n      },\n      raw: {\n        getModel: () => Optional.none()\n      }\n    });\n    const makeRtcAdaptor = rtcEditor => {\n      const defaultVars = vars => isObject(vars) ? vars : {};\n      const {\n        init,\n        undoManager,\n        formatter,\n        editor,\n        selection,\n        autocompleter,\n        raw\n      } = rtcEditor;\n      return {\n        init: {\n          bindEvents: init.bindEvents\n        },\n        undoManager: {\n          beforeChange: undoManager.beforeChange,\n          add: undoManager.add,\n          undo: undoManager.undo,\n          redo: undoManager.redo,\n          clear: undoManager.clear,\n          reset: undoManager.reset,\n          hasUndo: undoManager.hasUndo,\n          hasRedo: undoManager.hasRedo,\n          transact: (_undoManager, _locks, fn) => undoManager.transact(fn),\n          ignore: (_locks, callback) => undoManager.ignore(callback),\n          extra: (_undoManager, _index, callback1, callback2) => undoManager.extra(callback1, callback2)\n        },\n        formatter: {\n          match: (name, vars, _node, similar) => formatter.match(name, defaultVars(vars), similar),\n          matchAll: formatter.matchAll,\n          matchNode: formatter.matchNode,\n          canApply: name => formatter.canApply(name),\n          closest: names => formatter.closest(names),\n          apply: (name, vars, _node) => formatter.apply(name, defaultVars(vars)),\n          remove: (name, vars, _node, _similar) => formatter.remove(name, defaultVars(vars)),\n          toggle: (name, vars, _node) => formatter.toggle(name, defaultVars(vars)),\n          formatChanged: (_rfl, formats, callback, similar, vars) => formatter.formatChanged(formats, callback, similar, vars)\n        },\n        editor: {\n          getContent: args => editor.getContent(args),\n          setContent: (content, args) => {\n            return {\n              content: editor.setContent(content, args),\n              html: ''\n            };\n          },\n          insertContent: (content, _details) => {\n            editor.insertContent(content);\n            return '';\n          },\n          addVisual: editor.addVisual\n        },\n        selection: {\n          getContent: (_format, args) => selection.getContent(args)\n        },\n        autocompleter: {\n          addDecoration: autocompleter.addDecoration,\n          removeDecoration: autocompleter.removeDecoration\n        },\n        raw: {\n          getModel: () => Optional.some(raw.getRawModel())\n        }\n      };\n    };\n    const makeNoopAdaptor = () => {\n      const nul = constant(null);\n      const empty = constant('');\n      return {\n        init: {\n          bindEvents: noop\n        },\n        undoManager: {\n          beforeChange: noop,\n          add: nul,\n          undo: nul,\n          redo: nul,\n          clear: noop,\n          reset: noop,\n          hasUndo: never,\n          hasRedo: never,\n          transact: nul,\n          ignore: noop,\n          extra: noop\n        },\n        formatter: {\n          match: never,\n          matchAll: constant([]),\n          matchNode: constant(undefined),\n          canApply: never,\n          closest: empty,\n          apply: noop,\n          remove: noop,\n          toggle: noop,\n          formatChanged: constant({\n            unbind: noop\n          })\n        },\n        editor: {\n          getContent: empty,\n          setContent: constant({\n            content: '',\n            html: ''\n          }),\n          insertContent: constant(''),\n          addVisual: noop\n        },\n        selection: {\n          getContent: empty\n        },\n        autocompleter: {\n          addDecoration: noop,\n          removeDecoration: noop\n        },\n        raw: {\n          getModel: constant(Optional.none())\n        }\n      };\n    };\n    const isRtc = editor => has$2(editor.plugins, 'rtc');\n    const getRtcSetup = editor => get$a(editor.plugins, 'rtc').bind(rtcPlugin => Optional.from(rtcPlugin.setup));\n    const setup$t = editor => {\n      const editorCast = editor;\n      return getRtcSetup(editor).fold(() => {\n        editorCast.rtcInstance = makePlainAdaptor(editor);\n        return Optional.none();\n      }, setup => {\n        editorCast.rtcInstance = makeNoopAdaptor();\n        return Optional.some(() => setup().then(rtcEditor => {\n          editorCast.rtcInstance = makeRtcAdaptor(rtcEditor);\n          return rtcEditor.rtc.isRemote;\n        }));\n      });\n    };\n    const getRtcInstanceWithFallback = editor => editor.rtcInstance ? editor.rtcInstance : makePlainAdaptor(editor);\n    const getRtcInstanceWithError = editor => {\n      const rtcInstance = editor.rtcInstance;\n      if (!rtcInstance) {\n        throw new Error('Failed to get RTC instance not yet initialized.');\n      } else {\n        return rtcInstance;\n      }\n    };\n    const beforeChange = (editor, locks, beforeBookmark) => {\n      getRtcInstanceWithError(editor).undoManager.beforeChange(locks, beforeBookmark);\n    };\n    const addUndoLevel = (editor, undoManager, index, locks, beforeBookmark, level, event) => getRtcInstanceWithError(editor).undoManager.add(undoManager, index, locks, beforeBookmark, level, event);\n    const undo = (editor, undoManager, locks, index) => getRtcInstanceWithError(editor).undoManager.undo(undoManager, locks, index);\n    const redo = (editor, index, data) => getRtcInstanceWithError(editor).undoManager.redo(index, data);\n    const clear = (editor, undoManager, index) => {\n      getRtcInstanceWithError(editor).undoManager.clear(undoManager, index);\n    };\n    const reset = (editor, undoManager) => {\n      getRtcInstanceWithError(editor).undoManager.reset(undoManager);\n    };\n    const hasUndo = (editor, undoManager, index) => getRtcInstanceWithError(editor).undoManager.hasUndo(undoManager, index);\n    const hasRedo = (editor, undoManager, index) => getRtcInstanceWithError(editor).undoManager.hasRedo(undoManager, index);\n    const transact = (editor, undoManager, locks, callback) => getRtcInstanceWithError(editor).undoManager.transact(undoManager, locks, callback);\n    const ignore = (editor, locks, callback) => {\n      getRtcInstanceWithError(editor).undoManager.ignore(locks, callback);\n    };\n    const extra = (editor, undoManager, index, callback1, callback2) => {\n      getRtcInstanceWithError(editor).undoManager.extra(undoManager, index, callback1, callback2);\n    };\n    const matchFormat = (editor, name, vars, node, similar) => getRtcInstanceWithError(editor).formatter.match(name, vars, node, similar);\n    const matchAllFormats = (editor, names, vars) => getRtcInstanceWithError(editor).formatter.matchAll(names, vars);\n    const matchNodeFormat = (editor, node, name, vars, similar) => getRtcInstanceWithError(editor).formatter.matchNode(node, name, vars, similar);\n    const canApplyFormat = (editor, name) => getRtcInstanceWithError(editor).formatter.canApply(name);\n    const closestFormat = (editor, names) => getRtcInstanceWithError(editor).formatter.closest(names);\n    const applyFormat = (editor, name, vars, node) => {\n      getRtcInstanceWithError(editor).formatter.apply(name, vars, node);\n    };\n    const removeFormat = (editor, name, vars, node, similar) => {\n      getRtcInstanceWithError(editor).formatter.remove(name, vars, node, similar);\n    };\n    const toggleFormat = (editor, name, vars, node) => {\n      getRtcInstanceWithError(editor).formatter.toggle(name, vars, node);\n    };\n    const formatChanged = (editor, registeredFormatListeners, formats, callback, similar, vars) => getRtcInstanceWithError(editor).formatter.formatChanged(registeredFormatListeners, formats, callback, similar, vars);\n    const getContent$2 = (editor, args) => getRtcInstanceWithFallback(editor).editor.getContent(args);\n    const setContent$2 = (editor, content, args) => getRtcInstanceWithFallback(editor).editor.setContent(content, args);\n    const insertContent$1 = (editor, value, details) => getRtcInstanceWithFallback(editor).editor.insertContent(value, details);\n    const getSelectedContent = (editor, format, args) => getRtcInstanceWithError(editor).selection.getContent(format, args);\n    const addVisual$1 = (editor, elm) => getRtcInstanceWithError(editor).editor.addVisual(elm);\n    const bindEvents = editor => getRtcInstanceWithError(editor).init.bindEvents();\n    const addAutocompleterDecoration = (editor, range) => getRtcInstanceWithError(editor).autocompleter.addDecoration(range);\n    const removeAutocompleterDecoration = editor => getRtcInstanceWithError(editor).autocompleter.removeDecoration();\n\n    const getContent$1 = (editor, args = {}) => {\n      const format = args.format ? args.format : 'html';\n      return getSelectedContent(editor, format, args);\n    };\n\n    const removeEmpty = text => {\n      if (text.dom.length === 0) {\n        remove$5(text);\n        return Optional.none();\n      } else {\n        return Optional.some(text);\n      }\n    };\n    const walkPastBookmark = (node, start) => node.filter(elm => BookmarkManager.isBookmarkNode(elm.dom)).bind(start ? nextSibling : prevSibling);\n    const merge$1 = (outer, inner, rng, start, schema) => {\n      const outerElm = outer.dom;\n      const innerElm = inner.dom;\n      const oldLength = start ? outerElm.length : innerElm.length;\n      if (start) {\n        mergeTextNodes(outerElm, innerElm, schema, false, !start);\n        rng.setStart(innerElm, oldLength);\n      } else {\n        mergeTextNodes(innerElm, outerElm, schema, false, !start);\n        rng.setEnd(innerElm, oldLength);\n      }\n    };\n    const normalizeTextIfRequired = (inner, start, schema) => {\n      parent(inner).each(root => {\n        const text = inner.dom;\n        if (start && needsToBeNbspLeft(root, CaretPosition(text, 0), schema)) {\n          normalizeWhitespaceAfter(text, 0, schema);\n        } else if (!start && needsToBeNbspRight(root, CaretPosition(text, text.length), schema)) {\n          normalizeWhitespaceBefore(text, text.length, schema);\n        }\n      });\n    };\n    const mergeAndNormalizeText = (outerNode, innerNode, rng, start, schema) => {\n      outerNode.bind(outer => {\n        const normalizer = start ? normalizeWhitespaceBefore : normalizeWhitespaceAfter;\n        normalizer(outer.dom, start ? outer.dom.length : 0, schema);\n        return innerNode.filter(isText$b).map(inner => merge$1(outer, inner, rng, start, schema));\n      }).orThunk(() => {\n        const innerTextNode = walkPastBookmark(innerNode, start).or(innerNode).filter(isText$b);\n        return innerTextNode.map(inner => normalizeTextIfRequired(inner, start, schema));\n      });\n    };\n    const rngSetContent = (rng, fragment, schema) => {\n      const firstChild = Optional.from(fragment.firstChild).map(SugarElement.fromDom);\n      const lastChild = Optional.from(fragment.lastChild).map(SugarElement.fromDom);\n      rng.deleteContents();\n      rng.insertNode(fragment);\n      const prevText = firstChild.bind(prevSibling).filter(isText$b).bind(removeEmpty);\n      const nextText = lastChild.bind(nextSibling).filter(isText$b).bind(removeEmpty);\n      mergeAndNormalizeText(prevText, firstChild, rng, true, schema);\n      mergeAndNormalizeText(nextText, lastChild, rng, false, schema);\n      rng.collapse(false);\n    };\n    const setupArgs$2 = (args, content) => ({\n      format: 'html',\n      ...args,\n      set: true,\n      selection: true,\n      content\n    });\n    const cleanContent = (editor, args) => {\n      if (args.format !== 'raw') {\n        const rng = editor.selection.getRng();\n        const contextBlock = editor.dom.getParent(rng.commonAncestorContainer, editor.dom.isBlock);\n        const contextArgs = contextBlock ? {\n          context: contextBlock.nodeName.toLowerCase()\n        } : {};\n        const node = editor.parser.parse(args.content, {\n          forced_root_block: false,\n          ...contextArgs,\n          ...args\n        });\n        return HtmlSerializer({\n          validate: false\n        }, editor.schema).serialize(node);\n      } else {\n        return args.content;\n      }\n    };\n    const setContent$1 = (editor, content, args = {}) => {\n      const defaultedArgs = setupArgs$2(args, content);\n      preProcessSetContent(editor, defaultedArgs).each(updatedArgs => {\n        const cleanedContent = cleanContent(editor, updatedArgs);\n        const rng = editor.selection.getRng();\n        rngSetContent(rng, rng.createContextualFragment(cleanedContent), editor.schema);\n        editor.selection.setRng(rng);\n        scrollRangeIntoView(editor, rng);\n        postProcessSetContent(editor, cleanedContent, updatedArgs);\n      });\n    };\n\n    const deleteFromCallbackMap = (callbackMap, selector, callback) => {\n      if (has$2(callbackMap, selector)) {\n        const newCallbacks = filter$5(callbackMap[selector], cb => cb !== callback);\n        if (newCallbacks.length === 0) {\n          delete callbackMap[selector];\n        } else {\n          callbackMap[selector] = newCallbacks;\n        }\n      }\n    };\n    var SelectorChanged = (dom, editor) => {\n      let selectorChangedData;\n      let currentSelectors;\n      const findMatchingNode = (selector, nodes) => find$2(nodes, node => dom.is(node, selector));\n      const getParents = elem => dom.getParents(elem, undefined, dom.getRoot());\n      const setup = () => {\n        selectorChangedData = {};\n        currentSelectors = {};\n        editor.on('NodeChange', e => {\n          const node = e.element;\n          const parents = getParents(node);\n          const matchedSelectors = {};\n          each$d(selectorChangedData, (callbacks, selector) => {\n            findMatchingNode(selector, parents).each(node => {\n              if (!currentSelectors[selector]) {\n                each$e(callbacks, callback => {\n                  callback(true, {\n                    node,\n                    selector,\n                    parents\n                  });\n                });\n                currentSelectors[selector] = callbacks;\n              }\n              matchedSelectors[selector] = callbacks;\n            });\n          });\n          each$d(currentSelectors, (callbacks, selector) => {\n            if (!matchedSelectors[selector]) {\n              delete currentSelectors[selector];\n              each$e(callbacks, callback => {\n                callback(false, {\n                  node,\n                  selector,\n                  parents\n                });\n              });\n            }\n          });\n        });\n      };\n      return {\n        selectorChangedWithUnbind: (selector, callback) => {\n          if (!selectorChangedData) {\n            setup();\n          }\n          if (!selectorChangedData[selector]) {\n            selectorChangedData[selector] = [];\n          }\n          selectorChangedData[selector].push(callback);\n          findMatchingNode(selector, getParents(editor.selection.getStart())).each(() => {\n            currentSelectors[selector] = selectorChangedData[selector];\n          });\n          return {\n            unbind: () => {\n              deleteFromCallbackMap(selectorChangedData, selector, callback);\n              deleteFromCallbackMap(currentSelectors, selector, callback);\n            }\n          };\n        }\n      };\n    };\n\n    const isAttachedToDom = node => {\n      return !!(node && node.ownerDocument) && contains(SugarElement.fromDom(node.ownerDocument), SugarElement.fromDom(node));\n    };\n    const isValidRange = rng => {\n      if (!rng) {\n        return false;\n      } else {\n        return isAttachedToDom(rng.startContainer) && isAttachedToDom(rng.endContainer);\n      }\n    };\n    const EditorSelection = (dom, win, serializer, editor) => {\n      let selectedRange;\n      let explicitRange;\n      const {\n        selectorChangedWithUnbind\n      } = SelectorChanged(dom, editor);\n      const setCursorLocation = (node, offset) => {\n        const rng = dom.createRng();\n        if (isNonNullable(node) && isNonNullable(offset)) {\n          rng.setStart(node, offset);\n          rng.setEnd(node, offset);\n          setRng(rng);\n          collapse(false);\n        } else {\n          moveEndPoint(dom, rng, editor.getBody(), true);\n          setRng(rng);\n        }\n      };\n      const getContent = args => getContent$1(editor, args);\n      const setContent = (content, args) => setContent$1(editor, content, args);\n      const getStart$1 = real => getStart(editor.getBody(), getRng$1(), real);\n      const getEnd = real => getEnd$1(editor.getBody(), getRng$1(), real);\n      const getBookmark = (type, normalized) => bookmarkManager.getBookmark(type, normalized);\n      const moveToBookmark = bookmark => bookmarkManager.moveToBookmark(bookmark);\n      const select$1 = (node, content) => {\n        select(dom, node, content).each(setRng);\n        return node;\n      };\n      const isCollapsed = () => {\n        const rng = getRng$1(),\n          sel = getSel();\n        if (!rng || rng.item) {\n          return false;\n        }\n        if (rng.compareEndPoints) {\n          return rng.compareEndPoints('StartToEnd', rng) === 0;\n        }\n        return !sel || rng.collapsed;\n      };\n      const isEditable = () => {\n        const rng = getRng$1();\n        const fakeSelectedElements = editor.getBody().querySelectorAll('[data-mce-selected=\"1\"]');\n        if (fakeSelectedElements.length > 0) {\n          return forall(fakeSelectedElements, el => dom.isEditable(el.parentElement));\n        } else {\n          return isEditableRange(dom, rng);\n        }\n      };\n      const collapse = toStart => {\n        const rng = getRng$1();\n        rng.collapse(!!toStart);\n        setRng(rng);\n      };\n      const getSel = () => win.getSelection ? win.getSelection() : win.document.selection;\n      const getRng$1 = () => {\n        let rng;\n        const tryCompareBoundaryPoints = (how, sourceRange, destinationRange) => {\n          try {\n            return sourceRange.compareBoundaryPoints(how, destinationRange);\n          } catch (ex) {\n            return -1;\n          }\n        };\n        const doc = win.document;\n        if (isNonNullable(editor.bookmark) && !hasFocus(editor)) {\n          const bookmark = getRng(editor);\n          if (bookmark.isSome()) {\n            return bookmark.map(r => processRanges(editor, [r])[0]).getOr(doc.createRange());\n          }\n        }\n        try {\n          const selection = getSel();\n          if (selection && !isRestrictedNode(selection.anchorNode)) {\n            if (selection.rangeCount > 0) {\n              rng = selection.getRangeAt(0);\n            } else {\n              rng = doc.createRange();\n            }\n            rng = processRanges(editor, [rng])[0];\n          }\n        } catch (ex) {}\n        if (!rng) {\n          rng = doc.createRange();\n        }\n        if (isDocument$1(rng.startContainer) && rng.collapsed) {\n          const elm = dom.getRoot();\n          rng.setStart(elm, 0);\n          rng.setEnd(elm, 0);\n        }\n        if (selectedRange && explicitRange) {\n          if (tryCompareBoundaryPoints(rng.START_TO_START, rng, selectedRange) === 0 && tryCompareBoundaryPoints(rng.END_TO_END, rng, selectedRange) === 0) {\n            rng = explicitRange;\n          } else {\n            selectedRange = null;\n            explicitRange = null;\n          }\n        }\n        return rng;\n      };\n      const setRng = (rng, forward) => {\n        if (!isValidRange(rng)) {\n          return;\n        }\n        const sel = getSel();\n        const evt = editor.dispatch('SetSelectionRange', {\n          range: rng,\n          forward\n        });\n        rng = evt.range;\n        if (sel) {\n          explicitRange = rng;\n          try {\n            sel.removeAllRanges();\n            sel.addRange(rng);\n          } catch (ex) {}\n          if (forward === false && sel.extend) {\n            sel.collapse(rng.endContainer, rng.endOffset);\n            sel.extend(rng.startContainer, rng.startOffset);\n          }\n          selectedRange = sel.rangeCount > 0 ? sel.getRangeAt(0) : null;\n        }\n        if (!rng.collapsed && rng.startContainer === rng.endContainer && (sel === null || sel === void 0 ? void 0 : sel.setBaseAndExtent)) {\n          if (rng.endOffset - rng.startOffset < 2) {\n            if (rng.startContainer.hasChildNodes()) {\n              const node = rng.startContainer.childNodes[rng.startOffset];\n              if (node && node.nodeName === 'IMG') {\n                sel.setBaseAndExtent(rng.startContainer, rng.startOffset, rng.endContainer, rng.endOffset);\n                if (sel.anchorNode !== rng.startContainer || sel.focusNode !== rng.endContainer) {\n                  sel.setBaseAndExtent(node, 0, node, 1);\n                }\n              }\n            }\n          }\n        }\n        editor.dispatch('AfterSetSelectionRange', {\n          range: rng,\n          forward\n        });\n      };\n      const setNode = elm => {\n        setContent(dom.getOuterHTML(elm));\n        return elm;\n      };\n      const getNode$1 = () => getNode(editor.getBody(), getRng$1());\n      const getSelectedBlocks$1 = (startElm, endElm) => getSelectedBlocks(dom, getRng$1(), startElm, endElm);\n      const isForward = () => {\n        const sel = getSel();\n        const anchorNode = sel === null || sel === void 0 ? void 0 : sel.anchorNode;\n        const focusNode = sel === null || sel === void 0 ? void 0 : sel.focusNode;\n        if (!sel || !anchorNode || !focusNode || isRestrictedNode(anchorNode) || isRestrictedNode(focusNode)) {\n          return true;\n        }\n        const anchorRange = dom.createRng();\n        const focusRange = dom.createRng();\n        try {\n          anchorRange.setStart(anchorNode, sel.anchorOffset);\n          anchorRange.collapse(true);\n          focusRange.setStart(focusNode, sel.focusOffset);\n          focusRange.collapse(true);\n        } catch (e) {\n          return true;\n        }\n        return anchorRange.compareBoundaryPoints(anchorRange.START_TO_START, focusRange) <= 0;\n      };\n      const normalize = () => {\n        const rng = getRng$1();\n        const sel = getSel();\n        if (!hasMultipleRanges(sel) && hasAnyRanges(editor)) {\n          const normRng = normalize$2(dom, rng);\n          normRng.each(normRng => {\n            setRng(normRng, isForward());\n          });\n          return normRng.getOr(rng);\n        }\n        return rng;\n      };\n      const selectorChanged = (selector, callback) => {\n        selectorChangedWithUnbind(selector, callback);\n        return exports;\n      };\n      const getScrollContainer = () => {\n        let scrollContainer;\n        let node = dom.getRoot();\n        while (node && node.nodeName !== 'BODY') {\n          if (node.scrollHeight > node.clientHeight) {\n            scrollContainer = node;\n            break;\n          }\n          node = node.parentNode;\n        }\n        return scrollContainer;\n      };\n      const scrollIntoView = (elm, alignToTop) => {\n        if (isNonNullable(elm)) {\n          scrollElementIntoView(editor, elm, alignToTop);\n        } else {\n          scrollRangeIntoView(editor, getRng$1(), alignToTop);\n        }\n      };\n      const placeCaretAt = (clientX, clientY) => setRng(fromPoint(clientX, clientY, editor.getDoc()));\n      const getBoundingClientRect = () => {\n        const rng = getRng$1();\n        return rng.collapsed ? CaretPosition.fromRangeStart(rng).getClientRects()[0] : rng.getBoundingClientRect();\n      };\n      const destroy = () => {\n        win = selectedRange = explicitRange = null;\n        controlSelection.destroy();\n      };\n      const expand = (options = {\n        type: 'word'\n      }) => setRng(RangeUtils(dom).expand(getRng$1(), options));\n      const exports = {\n        dom,\n        win,\n        serializer,\n        editor,\n        expand,\n        collapse,\n        setCursorLocation,\n        getContent,\n        setContent,\n        getBookmark,\n        moveToBookmark,\n        select: select$1,\n        isCollapsed,\n        isEditable,\n        isForward,\n        setNode,\n        getNode: getNode$1,\n        getSel,\n        setRng,\n        getRng: getRng$1,\n        getStart: getStart$1,\n        getEnd,\n        getSelectedBlocks: getSelectedBlocks$1,\n        normalize,\n        selectorChanged,\n        selectorChangedWithUnbind,\n        getScrollContainer,\n        scrollIntoView,\n        placeCaretAt,\n        getBoundingClientRect,\n        destroy\n      };\n      const bookmarkManager = BookmarkManager(exports);\n      const controlSelection = ControlSelection(exports, editor);\n      exports.bookmarkManager = bookmarkManager;\n      exports.controlSelection = controlSelection;\n      return exports;\n    };\n\n    const register$3 = (htmlParser, settings, dom) => {\n      htmlParser.addAttributeFilter('data-mce-tabindex', (nodes, name) => {\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          node.attr('tabindex', node.attr('data-mce-tabindex'));\n          node.attr(name, null);\n        }\n      });\n      htmlParser.addAttributeFilter('src,href,style', (nodes, name) => {\n        const internalName = 'data-mce-' + name;\n        const urlConverter = settings.url_converter;\n        const urlConverterScope = settings.url_converter_scope;\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          let value = node.attr(internalName);\n          if (value !== undefined) {\n            node.attr(name, value.length > 0 ? value : null);\n            node.attr(internalName, null);\n          } else {\n            value = node.attr(name);\n            if (name === 'style') {\n              value = dom.serializeStyle(dom.parseStyle(value), node.name);\n            } else if (urlConverter) {\n              value = urlConverter.call(urlConverterScope, value, name, node.name);\n            }\n            node.attr(name, value.length > 0 ? value : null);\n          }\n        }\n      });\n      htmlParser.addAttributeFilter('class', nodes => {\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          let value = node.attr('class');\n          if (value) {\n            value = value.replace(/(?:^|\\s)mce-item-\\w+(?!\\S)/g, '');\n            node.attr('class', value.length > 0 ? value : null);\n          }\n        }\n      });\n      htmlParser.addAttributeFilter('data-mce-type', (nodes, name, args) => {\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          if (node.attr('data-mce-type') === 'bookmark' && !args.cleanup) {\n            const hasChildren = Optional.from(node.firstChild).exists(firstChild => {\n              var _a;\n              return !isZwsp$1((_a = firstChild.value) !== null && _a !== void 0 ? _a : '');\n            });\n            if (hasChildren) {\n              node.unwrap();\n            } else {\n              node.remove();\n            }\n          }\n        }\n      });\n      htmlParser.addNodeFilter('script,style', (nodes, name) => {\n        var _a;\n        const trim = value => {\n          return value.replace(/(<!--\\[CDATA\\[|\\]\\]-->)/g, '\\n').replace(/^[\\r\\n]*|[\\r\\n]*$/g, '').replace(/^\\s*((<!--)?(\\s*\\/\\/)?\\s*<!\\[CDATA\\[|(<!--\\s*)?\\/\\*\\s*<!\\[CDATA\\[\\s*\\*\\/|(\\/\\/)?\\s*<!--|\\/\\*\\s*<!--\\s*\\*\\/)\\s*[\\r\\n]*/gi, '').replace(/\\s*(\\/\\*\\s*\\]\\]>\\s*\\*\\/(-->)?|\\s*\\/\\/\\s*\\]\\]>(-->)?|\\/\\/\\s*(-->)?|\\]\\]>|\\/\\*\\s*-->\\s*\\*\\/|\\s*-->\\s*)\\s*$/g, '');\n        };\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          const firstChild = node.firstChild;\n          const value = (_a = firstChild === null || firstChild === void 0 ? void 0 : firstChild.value) !== null && _a !== void 0 ? _a : '';\n          if (name === 'script') {\n            const type = node.attr('type');\n            if (type) {\n              node.attr('type', type === 'mce-no/type' ? null : type.replace(/^mce\\-/, ''));\n            }\n            if (settings.element_format === 'xhtml' && firstChild && value.length > 0) {\n              firstChild.value = '// <![CDATA[\\n' + trim(value) + '\\n// ]]>';\n            }\n          } else {\n            if (settings.element_format === 'xhtml' && firstChild && value.length > 0) {\n              firstChild.value = '<!--\\n' + trim(value) + '\\n-->';\n            }\n          }\n        }\n      });\n      htmlParser.addNodeFilter('#comment', nodes => {\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          const value = node.value;\n          if (settings.preserve_cdata && (value === null || value === void 0 ? void 0 : value.indexOf('[CDATA[')) === 0) {\n            node.name = '#cdata';\n            node.type = 4;\n            node.value = dom.decode(value.replace(/^\\[CDATA\\[|\\]\\]$/g, ''));\n          } else if ((value === null || value === void 0 ? void 0 : value.indexOf('mce:protected ')) === 0) {\n            node.name = '#text';\n            node.type = 3;\n            node.raw = true;\n            node.value = unescape(value).substr(14);\n          }\n        }\n      });\n      htmlParser.addNodeFilter('xml:namespace,input', (nodes, name) => {\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          if (node.type === 7) {\n            node.remove();\n          } else if (node.type === 1) {\n            if (name === 'input' && !node.attr('type')) {\n              node.attr('type', 'text');\n            }\n          }\n        }\n      });\n      htmlParser.addAttributeFilter('data-mce-type', nodes => {\n        each$e(nodes, node => {\n          if (node.attr('data-mce-type') === 'format-caret') {\n            if (node.isEmpty(htmlParser.schema.getNonEmptyElements())) {\n              node.remove();\n            } else {\n              node.unwrap();\n            }\n          }\n        });\n      });\n      htmlParser.addAttributeFilter('data-mce-src,data-mce-href,data-mce-style,' + 'data-mce-selected,data-mce-expando,data-mce-block,' + 'data-mce-type,data-mce-resize,data-mce-placeholder', (nodes, name) => {\n        let i = nodes.length;\n        while (i--) {\n          nodes[i].attr(name, null);\n        }\n      });\n      if (settings.remove_trailing_brs) {\n        addNodeFilter(settings, htmlParser, htmlParser.schema);\n      }\n    };\n    const trimTrailingBr = rootNode => {\n      const isBr = node => {\n        return (node === null || node === void 0 ? void 0 : node.name) === 'br';\n      };\n      const brNode1 = rootNode.lastChild;\n      if (isBr(brNode1)) {\n        const brNode2 = brNode1.prev;\n        if (isBr(brNode2)) {\n          brNode1.remove();\n          brNode2.remove();\n        }\n      }\n    };\n\n    const preProcess$1 = (editor, node, args) => {\n      let oldDoc;\n      const dom = editor.dom;\n      let clonedNode = node.cloneNode(true);\n      const impl = document.implementation;\n      if (impl.createHTMLDocument) {\n        const doc = impl.createHTMLDocument('');\n        Tools.each(clonedNode.nodeName === 'BODY' ? clonedNode.childNodes : [clonedNode], node => {\n          doc.body.appendChild(doc.importNode(node, true));\n        });\n        if (clonedNode.nodeName !== 'BODY') {\n          clonedNode = doc.body.firstChild;\n        } else {\n          clonedNode = doc.body;\n        }\n        oldDoc = dom.doc;\n        dom.doc = doc;\n      }\n      firePreProcess(editor, {\n        ...args,\n        node: clonedNode\n      });\n      if (oldDoc) {\n        dom.doc = oldDoc;\n      }\n      return clonedNode;\n    };\n    const shouldFireEvent = (editor, args) => {\n      return isNonNullable(editor) && editor.hasEventListeners('PreProcess') && !args.no_events;\n    };\n    const process$1 = (editor, node, args) => {\n      return shouldFireEvent(editor, args) ? preProcess$1(editor, node, args) : node;\n    };\n\n    const addTempAttr = (htmlParser, tempAttrs, name) => {\n      if (Tools.inArray(tempAttrs, name) === -1) {\n        htmlParser.addAttributeFilter(name, (nodes, name) => {\n          let i = nodes.length;\n          while (i--) {\n            nodes[i].attr(name, null);\n          }\n        });\n        tempAttrs.push(name);\n      }\n    };\n    const postProcess = (editor, args, content) => {\n      if (!args.no_events && editor) {\n        const outArgs = firePostProcess(editor, {\n          ...args,\n          content\n        });\n        return outArgs.content;\n      } else {\n        return content;\n      }\n    };\n    const getHtmlFromNode = (dom, node, args) => {\n      const html = trim$2(args.getInner ? node.innerHTML : dom.getOuterHTML(node));\n      return args.selection || isWsPreserveElement(SugarElement.fromDom(node)) ? html : Tools.trim(html);\n    };\n    const parseHtml = (htmlParser, html, args) => {\n      const parserArgs = args.selection ? {\n        forced_root_block: false,\n        ...args\n      } : args;\n      const rootNode = htmlParser.parse(html, parserArgs);\n      trimTrailingBr(rootNode);\n      return rootNode;\n    };\n    const serializeNode = (settings, schema, node) => {\n      const htmlSerializer = HtmlSerializer(settings, schema);\n      return htmlSerializer.serialize(node);\n    };\n    const toHtml = (editor, settings, schema, rootNode, args) => {\n      const content = serializeNode(settings, schema, rootNode);\n      return postProcess(editor, args, content);\n    };\n    const DomSerializerImpl = (settings, editor) => {\n      const tempAttrs = ['data-mce-selected'];\n      const defaultedSettings = {\n        entity_encoding: 'named',\n        remove_trailing_brs: true,\n        pad_empty_with_br: false,\n        ...settings\n      };\n      const dom = editor && editor.dom ? editor.dom : DOMUtils.DOM;\n      const schema = editor && editor.schema ? editor.schema : Schema(defaultedSettings);\n      const htmlParser = DomParser(defaultedSettings, schema);\n      register$3(htmlParser, defaultedSettings, dom);\n      const serialize = (node, parserArgs = {}) => {\n        const args = {\n          format: 'html',\n          ...parserArgs\n        };\n        const targetNode = process$1(editor, node, args);\n        const html = getHtmlFromNode(dom, targetNode, args);\n        const rootNode = parseHtml(htmlParser, html, args);\n        return args.format === 'tree' ? rootNode : toHtml(editor, defaultedSettings, schema, rootNode, args);\n      };\n      return {\n        schema,\n        addNodeFilter: htmlParser.addNodeFilter,\n        addAttributeFilter: htmlParser.addAttributeFilter,\n        serialize: serialize,\n        addRules: schema.addValidElements,\n        setRules: schema.setValidElements,\n        addTempAttr: curry(addTempAttr, htmlParser, tempAttrs),\n        getTempAttrs: constant(tempAttrs),\n        getNodeFilters: htmlParser.getNodeFilters,\n        getAttributeFilters: htmlParser.getAttributeFilters,\n        removeNodeFilter: htmlParser.removeNodeFilter,\n        removeAttributeFilter: htmlParser.removeAttributeFilter\n      };\n    };\n\n    const DomSerializer = (settings, editor) => {\n      const domSerializer = DomSerializerImpl(settings, editor);\n      return {\n        schema: domSerializer.schema,\n        addNodeFilter: domSerializer.addNodeFilter,\n        addAttributeFilter: domSerializer.addAttributeFilter,\n        serialize: domSerializer.serialize,\n        addRules: domSerializer.addRules,\n        setRules: domSerializer.setRules,\n        addTempAttr: domSerializer.addTempAttr,\n        getTempAttrs: domSerializer.getTempAttrs,\n        getNodeFilters: domSerializer.getNodeFilters,\n        getAttributeFilters: domSerializer.getAttributeFilters,\n        removeNodeFilter: domSerializer.removeNodeFilter,\n        removeAttributeFilter: domSerializer.removeAttributeFilter\n      };\n    };\n\n    const defaultFormat$1 = 'html';\n    const setupArgs$1 = (args, format) => ({\n      ...args,\n      format,\n      get: true,\n      getInner: true\n    });\n    const getContent = (editor, args = {}) => {\n      const format = args.format ? args.format : defaultFormat$1;\n      const defaultedArgs = setupArgs$1(args, format);\n      return preProcessGetContent(editor, defaultedArgs).fold(identity, updatedArgs => {\n        const content = getContent$2(editor, updatedArgs);\n        return postProcessGetContent(editor, content, updatedArgs);\n      });\n    };\n\n    const defaultFormat = 'html';\n    const setupArgs = (args, content) => ({\n      format: defaultFormat,\n      ...args,\n      set: true,\n      content\n    });\n    const setContent = (editor, content, args = {}) => {\n      const defaultedArgs = setupArgs(args, content);\n      return preProcessSetContent(editor, defaultedArgs).map(updatedArgs => {\n        const result = setContent$2(editor, updatedArgs.content, updatedArgs);\n        postProcessSetContent(editor, result.html, updatedArgs);\n        return result.content;\n      }).getOr(content);\n    };\n\n    const removedOptions = ('autoresize_on_init,content_editable_state,padd_empty_with_br,block_elements,' + 'boolean_attributes,editor_deselector,editor_selector,elements,file_browser_callback_types,filepicker_validator_handler,' + 'force_hex_style_colors,force_p_newlines,gecko_spellcheck,images_dataimg_filter,media_scripts,mode,move_caret_before_on_enter_elements,' + 'non_empty_elements,self_closing_elements,short_ended_elements,special,spellchecker_select_languages,spellchecker_whitelist,' + 'tab_focus,tabfocus_elements,table_responsive_width,text_block_elements,text_inline_elements,toolbar_drawer,types,validate,whitespace_elements,' + 'paste_enable_default_filters,paste_filter_drop,paste_word_valid_elements,paste_retain_style_properties,paste_convert_word_fake_lists').split(',');\n    const deprecatedOptions = 'template_cdate_classes,template_mdate_classes,template_selected_content_classes,template_preview_replace_values,template_replace_values,templates,template_cdate_format,template_mdate_format'.split(',');\n    const removedPlugins = 'bbcode,colorpicker,contextmenu,fullpage,legacyoutput,spellchecker,textcolor'.split(',');\n    const deprecatedPlugins = [{\n      name: 'template',\n      replacedWith: 'Advanced Template'\n    }, {\n      name: 'rtc'\n    }];\n    const getMatchingOptions = (options, searchingFor) => {\n      const settingNames = filter$5(searchingFor, setting => has$2(options, setting));\n      return sort(settingNames);\n    };\n    const getRemovedOptions = options => {\n      const settingNames = getMatchingOptions(options, removedOptions);\n      const forcedRootBlock = options.forced_root_block;\n      if (forcedRootBlock === false || forcedRootBlock === '') {\n        settingNames.push('forced_root_block (false only)');\n      }\n      return sort(settingNames);\n    };\n    const getDeprecatedOptions = options => getMatchingOptions(options, deprecatedOptions);\n    const getMatchingPlugins = (options, searchingFor) => {\n      const plugins = Tools.makeMap(options.plugins, ' ');\n      const hasPlugin = plugin => has$2(plugins, plugin);\n      const pluginNames = filter$5(searchingFor, hasPlugin);\n      return sort(pluginNames);\n    };\n    const getRemovedPlugins = options => getMatchingPlugins(options, removedPlugins);\n    const getDeprecatedPlugins = options => getMatchingPlugins(options, deprecatedPlugins.map(entry => entry.name));\n    const logRemovedWarnings = (rawOptions, normalizedOptions) => {\n      const removedOptions = getRemovedOptions(rawOptions);\n      const removedPlugins = getRemovedPlugins(normalizedOptions);\n      const hasRemovedPlugins = removedPlugins.length > 0;\n      const hasRemovedOptions = removedOptions.length > 0;\n      const isLegacyMobileTheme = normalizedOptions.theme === 'mobile';\n      if (hasRemovedPlugins || hasRemovedOptions || isLegacyMobileTheme) {\n        const listJoiner = '\\n- ';\n        const themesMessage = isLegacyMobileTheme ? \"\\n\\nThemes:\".concat(listJoiner, \"mobile\") : '';\n        const pluginsMessage = hasRemovedPlugins ? \"\\n\\nPlugins:\".concat(listJoiner).concat(removedPlugins.join(listJoiner)) : '';\n        const optionsMessage = hasRemovedOptions ? \"\\n\\nOptions:\".concat(listJoiner).concat(removedOptions.join(listJoiner)) : '';\n        console.warn('The following deprecated features are currently enabled and have been removed in TinyMCE 6.0. These features will no longer work and should be removed from the TinyMCE configuration. ' + 'See https://www.tiny.cloud/docs/tinymce/6/migration-from-5x/ for more information.' + themesMessage + pluginsMessage + optionsMessage);\n      }\n    };\n    const getPluginDescription = name => find$2(deprecatedPlugins, entry => entry.name === name).fold(() => name, entry => {\n      if (entry.replacedWith) {\n        return \"\".concat(name, \", replaced by \").concat(entry.replacedWith);\n      } else {\n        return name;\n      }\n    });\n    const logDeprecatedWarnings = (rawOptions, normalizedOptions) => {\n      const deprecatedOptions = getDeprecatedOptions(rawOptions);\n      const deprecatedPlugins = getDeprecatedPlugins(normalizedOptions);\n      const hasDeprecatedPlugins = deprecatedPlugins.length > 0;\n      const hasDeprecatedOptions = deprecatedOptions.length > 0;\n      if (hasDeprecatedPlugins || hasDeprecatedOptions) {\n        const listJoiner = '\\n- ';\n        const pluginsMessage = hasDeprecatedPlugins ? \"\\n\\nPlugins:\".concat(listJoiner).concat(deprecatedPlugins.map(getPluginDescription).join(listJoiner)) : '';\n        const optionsMessage = hasDeprecatedOptions ? \"\\n\\nOptions:\".concat(listJoiner).concat(deprecatedOptions.join(listJoiner)) : '';\n        console.warn('The following deprecated features are currently enabled but will be removed soon.' + pluginsMessage + optionsMessage);\n      }\n    };\n    const logWarnings = (rawOptions, normalizedOptions) => {\n      logRemovedWarnings(rawOptions, normalizedOptions);\n      logDeprecatedWarnings(rawOptions, normalizedOptions);\n    };\n\n    const DOM$8 = DOMUtils.DOM;\n    const restoreOriginalStyles = editor => {\n      DOM$8.setStyle(editor.id, 'display', editor.orgDisplay);\n    };\n    const safeDestroy = x => Optional.from(x).each(x => x.destroy());\n    const clearDomReferences = editor => {\n      const ed = editor;\n      ed.contentAreaContainer = ed.formElement = ed.container = ed.editorContainer = null;\n      ed.bodyElement = ed.contentDocument = ed.contentWindow = null;\n      ed.iframeElement = ed.targetElm = null;\n      const selection = editor.selection;\n      if (selection) {\n        const dom = selection.dom;\n        ed.selection = selection.win = selection.dom = dom.doc = null;\n      }\n    };\n    const restoreForm = editor => {\n      const form = editor.formElement;\n      if (form) {\n        if (form._mceOldSubmit) {\n          form.submit = form._mceOldSubmit;\n          delete form._mceOldSubmit;\n        }\n        DOM$8.unbind(form, 'submit reset', editor.formEventDelegate);\n      }\n    };\n    const remove$1 = editor => {\n      if (!editor.removed) {\n        const {\n          _selectionOverrides,\n          editorUpload\n        } = editor;\n        const body = editor.getBody();\n        const element = editor.getElement();\n        if (body) {\n          editor.save({\n            is_removing: true\n          });\n        }\n        editor.removed = true;\n        editor.unbindAllNativeEvents();\n        if (editor.hasHiddenInput && isNonNullable(element === null || element === void 0 ? void 0 : element.nextSibling)) {\n          DOM$8.remove(element.nextSibling);\n        }\n        fireRemove(editor);\n        editor.editorManager.remove(editor);\n        if (!editor.inline && body) {\n          restoreOriginalStyles(editor);\n        }\n        fireDetach(editor);\n        DOM$8.remove(editor.getContainer());\n        safeDestroy(_selectionOverrides);\n        safeDestroy(editorUpload);\n        editor.destroy();\n      }\n    };\n    const destroy = (editor, automatic) => {\n      const {\n        selection,\n        dom\n      } = editor;\n      if (editor.destroyed) {\n        return;\n      }\n      if (!automatic && !editor.removed) {\n        editor.remove();\n        return;\n      }\n      if (!automatic) {\n        editor.editorManager.off('beforeunload', editor._beforeUnload);\n        if (editor.theme && editor.theme.destroy) {\n          editor.theme.destroy();\n        }\n        safeDestroy(selection);\n        safeDestroy(dom);\n      }\n      restoreForm(editor);\n      clearDomReferences(editor);\n      editor.destroyed = true;\n    };\n\n    const CreateIconManager = () => {\n      const lookup = {};\n      const add = (id, iconPack) => {\n        lookup[id] = iconPack;\n      };\n      const get = id => {\n        if (lookup[id]) {\n          return lookup[id];\n        } else {\n          return {\n            icons: {}\n          };\n        }\n      };\n      const has = id => has$2(lookup, id);\n      return {\n        add,\n        get,\n        has\n      };\n    };\n    const IconManager = CreateIconManager();\n\n    const ModelManager = AddOnManager.ModelManager;\n\n    const getProp = (propName, elm) => {\n      const rawElm = elm.dom;\n      return rawElm[propName];\n    };\n    const getComputedSizeProp = (propName, elm) => parseInt(get$7(elm, propName), 10);\n    const getClientWidth = curry(getProp, 'clientWidth');\n    const getClientHeight = curry(getProp, 'clientHeight');\n    const getMarginTop = curry(getComputedSizeProp, 'margin-top');\n    const getMarginLeft = curry(getComputedSizeProp, 'margin-left');\n    const getBoundingClientRect = elm => elm.dom.getBoundingClientRect();\n    const isInsideElementContentArea = (bodyElm, clientX, clientY) => {\n      const clientWidth = getClientWidth(bodyElm);\n      const clientHeight = getClientHeight(bodyElm);\n      return clientX >= 0 && clientY >= 0 && clientX <= clientWidth && clientY <= clientHeight;\n    };\n    const transpose = (inline, elm, clientX, clientY) => {\n      const clientRect = getBoundingClientRect(elm);\n      const deltaX = inline ? clientRect.left + elm.dom.clientLeft + getMarginLeft(elm) : 0;\n      const deltaY = inline ? clientRect.top + elm.dom.clientTop + getMarginTop(elm) : 0;\n      const x = clientX - deltaX;\n      const y = clientY - deltaY;\n      return {\n        x,\n        y\n      };\n    };\n    const isXYInContentArea = (editor, clientX, clientY) => {\n      const bodyElm = SugarElement.fromDom(editor.getBody());\n      const targetElm = editor.inline ? bodyElm : documentElement(bodyElm);\n      const transposedPoint = transpose(editor.inline, targetElm, clientX, clientY);\n      return isInsideElementContentArea(targetElm, transposedPoint.x, transposedPoint.y);\n    };\n    const fromDomSafe = node => Optional.from(node).map(SugarElement.fromDom);\n    const isEditorAttachedToDom = editor => {\n      const rawContainer = editor.inline ? editor.getBody() : editor.getContentAreaContainer();\n      return fromDomSafe(rawContainer).map(inBody).getOr(false);\n    };\n\n    var NotificationManagerImpl = () => {\n      const unimplemented = () => {\n        throw new Error('Theme did not provide a NotificationManager implementation.');\n      };\n      return {\n        open: unimplemented,\n        close: unimplemented,\n        getArgs: unimplemented\n      };\n    };\n\n    const NotificationManager = editor => {\n      const notifications = [];\n      const getImplementation = () => {\n        const theme = editor.theme;\n        return theme && theme.getNotificationManagerImpl ? theme.getNotificationManagerImpl() : NotificationManagerImpl();\n      };\n      const getTopNotification = () => {\n        return Optional.from(notifications[0]);\n      };\n      const isEqual = (a, b) => {\n        return a.type === b.type && a.text === b.text && !a.progressBar && !a.timeout && !b.progressBar && !b.timeout;\n      };\n      const reposition = () => {\n        each$e(notifications, notification => {\n          notification.reposition();\n        });\n      };\n      const addNotification = notification => {\n        notifications.push(notification);\n      };\n      const closeNotification = notification => {\n        findIndex$2(notifications, otherNotification => {\n          return otherNotification === notification;\n        }).each(index => {\n          notifications.splice(index, 1);\n        });\n      };\n      const open = (spec, fireEvent = true) => {\n        if (editor.removed || !isEditorAttachedToDom(editor)) {\n          return {};\n        }\n        if (fireEvent) {\n          editor.dispatch('BeforeOpenNotification', {\n            notification: spec\n          });\n        }\n        return find$2(notifications, notification => {\n          return isEqual(getImplementation().getArgs(notification), spec);\n        }).getOrThunk(() => {\n          editor.editorManager.setActive(editor);\n          const notification = getImplementation().open(spec, () => {\n            closeNotification(notification);\n            reposition();\n            if (hasEditorOrUiFocus(editor)) {\n              getTopNotification().fold(() => editor.focus(), top => focus$1(SugarElement.fromDom(top.getEl())));\n            }\n          });\n          addNotification(notification);\n          reposition();\n          editor.dispatch('OpenNotification', {\n            notification: {\n              ...notification\n            }\n          });\n          return notification;\n        });\n      };\n      const close = () => {\n        getTopNotification().each(notification => {\n          getImplementation().close(notification);\n          closeNotification(notification);\n          reposition();\n        });\n      };\n      const getNotifications = constant(notifications);\n      const registerEvents = editor => {\n        editor.on('SkinLoaded', () => {\n          const serviceMessage = getServiceMessage(editor);\n          if (serviceMessage) {\n            open({\n              text: serviceMessage,\n              type: 'warning',\n              timeout: 0\n            }, false);\n          }\n          reposition();\n        });\n        editor.on('show ResizeEditor ResizeWindow NodeChange', () => {\n          requestAnimationFrame(reposition);\n        });\n        editor.on('remove', () => {\n          each$e(notifications.slice(), notification => {\n            getImplementation().close(notification);\n          });\n        });\n      };\n      registerEvents(editor);\n      return {\n        open,\n        close,\n        getNotifications\n      };\n    };\n\n    const PluginManager = AddOnManager.PluginManager;\n\n    const ThemeManager = AddOnManager.ThemeManager;\n\n    var WindowManagerImpl = () => {\n      const unimplemented = () => {\n        throw new Error('Theme did not provide a WindowManager implementation.');\n      };\n      return {\n        open: unimplemented,\n        openUrl: unimplemented,\n        alert: unimplemented,\n        confirm: unimplemented,\n        close: unimplemented\n      };\n    };\n\n    const WindowManager = editor => {\n      let dialogs = [];\n      const getImplementation = () => {\n        const theme = editor.theme;\n        return theme && theme.getWindowManagerImpl ? theme.getWindowManagerImpl() : WindowManagerImpl();\n      };\n      const funcBind = (scope, f) => {\n        return (...args) => {\n          return f ? f.apply(scope, args) : undefined;\n        };\n      };\n      const fireOpenEvent = dialog => {\n        editor.dispatch('OpenWindow', {\n          dialog\n        });\n      };\n      const fireCloseEvent = dialog => {\n        editor.dispatch('CloseWindow', {\n          dialog\n        });\n      };\n      const addDialog = dialog => {\n        dialogs.push(dialog);\n        fireOpenEvent(dialog);\n      };\n      const closeDialog = dialog => {\n        fireCloseEvent(dialog);\n        dialogs = filter$5(dialogs, otherDialog => {\n          return otherDialog !== dialog;\n        });\n        if (dialogs.length === 0) {\n          editor.focus();\n        }\n      };\n      const getTopDialog = () => {\n        return Optional.from(dialogs[dialogs.length - 1]);\n      };\n      const storeSelectionAndOpenDialog = openDialog => {\n        editor.editorManager.setActive(editor);\n        store(editor);\n        editor.ui.show();\n        const dialog = openDialog();\n        addDialog(dialog);\n        return dialog;\n      };\n      const open = (args, params) => {\n        return storeSelectionAndOpenDialog(() => getImplementation().open(args, params, closeDialog));\n      };\n      const openUrl = args => {\n        return storeSelectionAndOpenDialog(() => getImplementation().openUrl(args, closeDialog));\n      };\n      const alert = (message, callback, scope) => {\n        const windowManagerImpl = getImplementation();\n        windowManagerImpl.alert(message, funcBind(scope ? scope : windowManagerImpl, callback));\n      };\n      const confirm = (message, callback, scope) => {\n        const windowManagerImpl = getImplementation();\n        windowManagerImpl.confirm(message, funcBind(scope ? scope : windowManagerImpl, callback));\n      };\n      const close = () => {\n        getTopDialog().each(dialog => {\n          getImplementation().close(dialog);\n          closeDialog(dialog);\n        });\n      };\n      editor.on('remove', () => {\n        each$e(dialogs, dialog => {\n          getImplementation().close(dialog);\n        });\n      });\n      return {\n        open,\n        openUrl,\n        alert,\n        confirm,\n        close\n      };\n    };\n\n    const displayNotification = (editor, message) => {\n      editor.notificationManager.open({\n        type: 'error',\n        text: message\n      });\n    };\n    const displayError = (editor, message) => {\n      if (editor._skinLoaded) {\n        displayNotification(editor, message);\n      } else {\n        editor.on('SkinLoaded', () => {\n          displayNotification(editor, message);\n        });\n      }\n    };\n    const uploadError = (editor, message) => {\n      displayError(editor, I18n.translate(['Failed to upload image: {0}', message]));\n    };\n    const logError = (editor, errorType, msg) => {\n      fireError(editor, errorType, {\n        message: msg\n      });\n      console.error(msg);\n    };\n    const createLoadError = (type, url, name) => name ? \"Failed to load \".concat(type, \": \").concat(name, \" from url \").concat(url) : \"Failed to load \".concat(type, \" url: \").concat(url);\n    const pluginLoadError = (editor, url, name) => {\n      logError(editor, 'PluginLoadError', createLoadError('plugin', url, name));\n    };\n    const iconsLoadError = (editor, url, name) => {\n      logError(editor, 'IconsLoadError', createLoadError('icons', url, name));\n    };\n    const languageLoadError = (editor, url, name) => {\n      logError(editor, 'LanguageLoadError', createLoadError('language', url, name));\n    };\n    const themeLoadError = (editor, url, name) => {\n      logError(editor, 'ThemeLoadError', createLoadError('theme', url, name));\n    };\n    const modelLoadError = (editor, url, name) => {\n      logError(editor, 'ModelLoadError', createLoadError('model', url, name));\n    };\n    const pluginInitError = (editor, name, err) => {\n      const message = I18n.translate(['Failed to initialize plugin: {0}', name]);\n      fireError(editor, 'PluginLoadError', {\n        message\n      });\n      initError(message, err);\n      displayError(editor, message);\n    };\n    const initError = (message, ...x) => {\n      const console = window.console;\n      if (console) {\n        if (console.error) {\n          console.error(message, ...x);\n        } else {\n          console.log(message, ...x);\n        }\n      }\n    };\n\n    const isContentCssSkinName = url => /^[a-z0-9\\-]+$/i.test(url);\n    const toContentSkinResourceName = url => 'content/' + url + '/content.css';\n    const isBundledCssSkinName = url => tinymce.Resource.has(toContentSkinResourceName(url));\n    const getContentCssUrls = editor => {\n      return transformToUrls(editor, getContentCss(editor));\n    };\n    const getFontCssUrls = editor => {\n      return transformToUrls(editor, getFontCss(editor));\n    };\n    const transformToUrls = (editor, cssLinks) => {\n      const skinUrl = editor.editorManager.baseURL + '/skins/content';\n      const suffix = editor.editorManager.suffix;\n      const contentCssFile = \"content\".concat(suffix, \".css\");\n      return map$3(cssLinks, url => {\n        if (isBundledCssSkinName(url)) {\n          return url;\n        } else if (isContentCssSkinName(url) && !editor.inline) {\n          return \"\".concat(skinUrl, \"/\").concat(url, \"/\").concat(contentCssFile);\n        } else {\n          return editor.documentBaseURI.toAbsolute(url);\n        }\n      });\n    };\n    const appendContentCssFromSettings = editor => {\n      editor.contentCSS = editor.contentCSS.concat(getContentCssUrls(editor), getFontCssUrls(editor));\n    };\n\n    const getAllImages = elm => {\n      return elm ? from(elm.getElementsByTagName('img')) : [];\n    };\n    const ImageScanner = (uploadStatus, blobCache) => {\n      const cachedPromises = {};\n      const findAll = (elm, predicate = always) => {\n        const images = filter$5(getAllImages(elm), img => {\n          const src = img.src;\n          if (img.hasAttribute('data-mce-bogus')) {\n            return false;\n          }\n          if (img.hasAttribute('data-mce-placeholder')) {\n            return false;\n          }\n          if (!src || src === Env.transparentSrc) {\n            return false;\n          }\n          if (startsWith(src, 'blob:')) {\n            return !uploadStatus.isUploaded(src) && predicate(img);\n          }\n          if (startsWith(src, 'data:')) {\n            return predicate(img);\n          }\n          return false;\n        });\n        const promises = map$3(images, img => {\n          const imageSrc = img.src;\n          if (has$2(cachedPromises, imageSrc)) {\n            return cachedPromises[imageSrc].then(imageInfo => {\n              if (isString(imageInfo)) {\n                return imageInfo;\n              } else {\n                return {\n                  image: img,\n                  blobInfo: imageInfo.blobInfo\n                };\n              }\n            });\n          } else {\n            const newPromise = imageToBlobInfo(blobCache, imageSrc).then(blobInfo => {\n              delete cachedPromises[imageSrc];\n              return {\n                image: img,\n                blobInfo\n              };\n            }).catch(error => {\n              delete cachedPromises[imageSrc];\n              return error;\n            });\n            cachedPromises[imageSrc] = newPromise;\n            return newPromise;\n          }\n        });\n        return Promise.all(promises);\n      };\n      return {\n        findAll\n      };\n    };\n\n    const UploadStatus = () => {\n      const PENDING = 1,\n        UPLOADED = 2;\n      let blobUriStatuses = {};\n      const createStatus = (status, resultUri) => {\n        return {\n          status,\n          resultUri\n        };\n      };\n      const hasBlobUri = blobUri => {\n        return blobUri in blobUriStatuses;\n      };\n      const getResultUri = blobUri => {\n        const result = blobUriStatuses[blobUri];\n        return result ? result.resultUri : null;\n      };\n      const isPending = blobUri => {\n        return hasBlobUri(blobUri) ? blobUriStatuses[blobUri].status === PENDING : false;\n      };\n      const isUploaded = blobUri => {\n        return hasBlobUri(blobUri) ? blobUriStatuses[blobUri].status === UPLOADED : false;\n      };\n      const markPending = blobUri => {\n        blobUriStatuses[blobUri] = createStatus(PENDING, null);\n      };\n      const markUploaded = (blobUri, resultUri) => {\n        blobUriStatuses[blobUri] = createStatus(UPLOADED, resultUri);\n      };\n      const removeFailed = blobUri => {\n        delete blobUriStatuses[blobUri];\n      };\n      const destroy = () => {\n        blobUriStatuses = {};\n      };\n      return {\n        hasBlobUri,\n        getResultUri,\n        isPending,\n        isUploaded,\n        markPending,\n        markUploaded,\n        removeFailed,\n        destroy\n      };\n    };\n\n    let count = 0;\n    const seed = () => {\n      const rnd = () => {\n        return Math.round(Math.random() * 4294967295).toString(36);\n      };\n      const now = new Date().getTime();\n      return 's' + now.toString(36) + rnd() + rnd() + rnd();\n    };\n    const uuid = prefix => {\n      return prefix + count++ + seed();\n    };\n\n    const BlobCache = () => {\n      let cache = [];\n      const mimeToExt = mime => {\n        const mimes = {\n          'image/jpeg': 'jpg',\n          'image/jpg': 'jpg',\n          'image/gif': 'gif',\n          'image/png': 'png',\n          'image/apng': 'apng',\n          'image/avif': 'avif',\n          'image/svg+xml': 'svg',\n          'image/webp': 'webp',\n          'image/bmp': 'bmp',\n          'image/tiff': 'tiff'\n        };\n        return mimes[mime.toLowerCase()] || 'dat';\n      };\n      const create = (o, blob, base64, name, filename) => {\n        if (isString(o)) {\n          const id = o;\n          return toBlobInfo({\n            id,\n            name,\n            filename,\n            blob: blob,\n            base64: base64\n          });\n        } else if (isObject(o)) {\n          return toBlobInfo(o);\n        } else {\n          throw new Error('Unknown input type');\n        }\n      };\n      const toBlobInfo = o => {\n        if (!o.blob || !o.base64) {\n          throw new Error('blob and base64 representations of the image are required for BlobInfo to be created');\n        }\n        const id = o.id || uuid('blobid');\n        const name = o.name || id;\n        const blob = o.blob;\n        return {\n          id: constant(id),\n          name: constant(name),\n          filename: constant(o.filename || name + '.' + mimeToExt(blob.type)),\n          blob: constant(blob),\n          base64: constant(o.base64),\n          blobUri: constant(o.blobUri || URL.createObjectURL(blob)),\n          uri: constant(o.uri),\n          library: constant(o.library)\n        };\n      };\n      const add = blobInfo => {\n        if (!get(blobInfo.id())) {\n          cache.push(blobInfo);\n        }\n      };\n      const findFirst = predicate => find$2(cache, predicate).getOrUndefined();\n      const get = id => findFirst(cachedBlobInfo => cachedBlobInfo.id() === id);\n      const getByUri = blobUri => findFirst(blobInfo => blobInfo.blobUri() === blobUri);\n      const getByData = (base64, type) => findFirst(blobInfo => blobInfo.base64() === base64 && blobInfo.blob().type === type);\n      const removeByUri = blobUri => {\n        cache = filter$5(cache, blobInfo => {\n          if (blobInfo.blobUri() === blobUri) {\n            URL.revokeObjectURL(blobInfo.blobUri());\n            return false;\n          }\n          return true;\n        });\n      };\n      const destroy = () => {\n        each$e(cache, cachedBlobInfo => {\n          URL.revokeObjectURL(cachedBlobInfo.blobUri());\n        });\n        cache = [];\n      };\n      return {\n        create,\n        add,\n        get,\n        getByUri,\n        getByData,\n        findFirst,\n        removeByUri,\n        destroy\n      };\n    };\n\n    const Uploader = (uploadStatus, settings) => {\n      const pendingPromises = {};\n      const pathJoin = (path1, path2) => {\n        if (path1) {\n          return path1.replace(/\\/$/, '') + '/' + path2.replace(/^\\//, '');\n        }\n        return path2;\n      };\n      const defaultHandler = (blobInfo, progress) => new Promise((success, failure) => {\n        const xhr = new XMLHttpRequest();\n        xhr.open('POST', settings.url);\n        xhr.withCredentials = settings.credentials;\n        xhr.upload.onprogress = e => {\n          progress(e.loaded / e.total * 100);\n        };\n        xhr.onerror = () => {\n          failure('Image upload failed due to a XHR Transport error. Code: ' + xhr.status);\n        };\n        xhr.onload = () => {\n          if (xhr.status < 200 || xhr.status >= 300) {\n            failure('HTTP Error: ' + xhr.status);\n            return;\n          }\n          const json = JSON.parse(xhr.responseText);\n          if (!json || !isString(json.location)) {\n            failure('Invalid JSON: ' + xhr.responseText);\n            return;\n          }\n          success(pathJoin(settings.basePath, json.location));\n        };\n        const formData = new FormData();\n        formData.append('file', blobInfo.blob(), blobInfo.filename());\n        xhr.send(formData);\n      });\n      const uploadHandler = isFunction(settings.handler) ? settings.handler : defaultHandler;\n      const noUpload = () => new Promise(resolve => {\n        resolve([]);\n      });\n      const handlerSuccess = (blobInfo, url) => ({\n        url,\n        blobInfo,\n        status: true\n      });\n      const handlerFailure = (blobInfo, error) => ({\n        url: '',\n        blobInfo,\n        status: false,\n        error\n      });\n      const resolvePending = (blobUri, result) => {\n        Tools.each(pendingPromises[blobUri], resolve => {\n          resolve(result);\n        });\n        delete pendingPromises[blobUri];\n      };\n      const uploadBlobInfo = (blobInfo, handler, openNotification) => {\n        uploadStatus.markPending(blobInfo.blobUri());\n        return new Promise(resolve => {\n          let notification;\n          let progress;\n          try {\n            const closeNotification = () => {\n              if (notification) {\n                notification.close();\n                progress = noop;\n              }\n            };\n            const success = url => {\n              closeNotification();\n              uploadStatus.markUploaded(blobInfo.blobUri(), url);\n              resolvePending(blobInfo.blobUri(), handlerSuccess(blobInfo, url));\n              resolve(handlerSuccess(blobInfo, url));\n            };\n            const failure = error => {\n              closeNotification();\n              uploadStatus.removeFailed(blobInfo.blobUri());\n              resolvePending(blobInfo.blobUri(), handlerFailure(blobInfo, error));\n              resolve(handlerFailure(blobInfo, error));\n            };\n            progress = percent => {\n              if (percent < 0 || percent > 100) {\n                return;\n              }\n              Optional.from(notification).orThunk(() => Optional.from(openNotification).map(apply$1)).each(n => {\n                notification = n;\n                n.progressBar.value(percent);\n              });\n            };\n            handler(blobInfo, progress).then(success, err => {\n              failure(isString(err) ? {\n                message: err\n              } : err);\n            });\n          } catch (ex) {\n            resolve(handlerFailure(blobInfo, ex));\n          }\n        });\n      };\n      const isDefaultHandler = handler => handler === defaultHandler;\n      const pendingUploadBlobInfo = blobInfo => {\n        const blobUri = blobInfo.blobUri();\n        return new Promise(resolve => {\n          pendingPromises[blobUri] = pendingPromises[blobUri] || [];\n          pendingPromises[blobUri].push(resolve);\n        });\n      };\n      const uploadBlobs = (blobInfos, openNotification) => {\n        blobInfos = Tools.grep(blobInfos, blobInfo => !uploadStatus.isUploaded(blobInfo.blobUri()));\n        return Promise.all(Tools.map(blobInfos, blobInfo => uploadStatus.isPending(blobInfo.blobUri()) ? pendingUploadBlobInfo(blobInfo) : uploadBlobInfo(blobInfo, uploadHandler, openNotification)));\n      };\n      const upload = (blobInfos, openNotification) => !settings.url && isDefaultHandler(uploadHandler) ? noUpload() : uploadBlobs(blobInfos, openNotification);\n      return {\n        upload\n      };\n    };\n\n    const openNotification = editor => () => editor.notificationManager.open({\n      text: editor.translate('Image uploading...'),\n      type: 'info',\n      timeout: -1,\n      progressBar: true\n    });\n    const createUploader = (editor, uploadStatus) => Uploader(uploadStatus, {\n      url: getImageUploadUrl(editor),\n      basePath: getImageUploadBasePath(editor),\n      credentials: getImagesUploadCredentials(editor),\n      handler: getImagesUploadHandler(editor)\n    });\n    const ImageUploader = editor => {\n      const uploadStatus = UploadStatus();\n      const uploader = createUploader(editor, uploadStatus);\n      return {\n        upload: (blobInfos, showNotification = true) => uploader.upload(blobInfos, showNotification ? openNotification(editor) : undefined)\n      };\n    };\n\n    const isEmptyForPadding = (editor, element) => editor.dom.isEmpty(element.dom) && isNonNullable(editor.schema.getTextBlockElements()[name(element)]);\n    const addPaddingToEmpty = editor => element => {\n      if (isEmptyForPadding(editor, element)) {\n        append$1(element, SugarElement.fromHtml('<br data-mce-bogus=\"1\" />'));\n      }\n    };\n    const EditorUpload = editor => {\n      const blobCache = BlobCache();\n      let uploader, imageScanner;\n      const uploadStatus = UploadStatus();\n      const urlFilters = [];\n      const aliveGuard = callback => {\n        return result => {\n          if (editor.selection) {\n            return callback(result);\n          }\n          return [];\n        };\n      };\n      const cacheInvalidator = url => url + (url.indexOf('?') === -1 ? '?' : '&') + new Date().getTime();\n      const replaceString = (content, search, replace) => {\n        let index = 0;\n        do {\n          index = content.indexOf(search, index);\n          if (index !== -1) {\n            content = content.substring(0, index) + replace + content.substr(index + search.length);\n            index += replace.length - search.length + 1;\n          }\n        } while (index !== -1);\n        return content;\n      };\n      const replaceImageUrl = (content, targetUrl, replacementUrl) => {\n        const replacementString = \"src=\\\"\".concat(replacementUrl, \"\\\"\").concat(replacementUrl === Env.transparentSrc ? ' data-mce-placeholder=\"1\"' : '');\n        content = replaceString(content, \"src=\\\"\".concat(targetUrl, \"\\\"\"), replacementString);\n        content = replaceString(content, 'data-mce-src=\"' + targetUrl + '\"', 'data-mce-src=\"' + replacementUrl + '\"');\n        return content;\n      };\n      const replaceUrlInUndoStack = (targetUrl, replacementUrl) => {\n        each$e(editor.undoManager.data, level => {\n          if (level.type === 'fragmented') {\n            level.fragments = map$3(level.fragments, fragment => replaceImageUrl(fragment, targetUrl, replacementUrl));\n          } else {\n            level.content = replaceImageUrl(level.content, targetUrl, replacementUrl);\n          }\n        });\n      };\n      const replaceImageUriInView = (image, resultUri) => {\n        const src = editor.convertURL(resultUri, 'src');\n        replaceUrlInUndoStack(image.src, resultUri);\n        setAll$1(SugarElement.fromDom(image), {\n          'src': shouldReuseFileName(editor) ? cacheInvalidator(resultUri) : resultUri,\n          'data-mce-src': src\n        });\n      };\n      const uploadImages = () => {\n        if (!uploader) {\n          uploader = createUploader(editor, uploadStatus);\n        }\n        return scanForImages().then(aliveGuard(imageInfos => {\n          const blobInfos = map$3(imageInfos, imageInfo => imageInfo.blobInfo);\n          return uploader.upload(blobInfos, openNotification(editor)).then(aliveGuard(result => {\n            const imagesToRemove = [];\n            let shouldDispatchChange = false;\n            const filteredResult = map$3(result, (uploadInfo, index) => {\n              const {\n                blobInfo,\n                image\n              } = imageInfos[index];\n              let removed = false;\n              if (uploadInfo.status && shouldReplaceBlobUris(editor)) {\n                if (uploadInfo.url && !contains$1(image.src, uploadInfo.url)) {\n                  shouldDispatchChange = true;\n                }\n                blobCache.removeByUri(image.src);\n                if (isRtc(editor)) ; else {\n                  replaceImageUriInView(image, uploadInfo.url);\n                }\n              } else if (uploadInfo.error) {\n                if (uploadInfo.error.remove) {\n                  replaceUrlInUndoStack(image.src, Env.transparentSrc);\n                  imagesToRemove.push(image);\n                  removed = true;\n                }\n                uploadError(editor, uploadInfo.error.message);\n              }\n              return {\n                element: image,\n                status: uploadInfo.status,\n                uploadUri: uploadInfo.url,\n                blobInfo,\n                removed\n              };\n            });\n            if (imagesToRemove.length > 0 && !isRtc(editor)) {\n              editor.undoManager.transact(() => {\n                each$e(fromDom$1(imagesToRemove), sugarElement => {\n                  const parentOpt = parent(sugarElement);\n                  remove$5(sugarElement);\n                  parentOpt.each(addPaddingToEmpty(editor));\n                  blobCache.removeByUri(sugarElement.dom.src);\n                });\n              });\n            } else if (shouldDispatchChange) {\n              editor.undoManager.dispatchChange();\n            }\n            return filteredResult;\n          }));\n        }));\n      };\n      const uploadImagesAuto = () => isAutomaticUploadsEnabled(editor) ? uploadImages() : Promise.resolve([]);\n      const isValidDataUriImage = imgElm => forall(urlFilters, filter => filter(imgElm));\n      const addFilter = filter => {\n        urlFilters.push(filter);\n      };\n      const scanForImages = () => {\n        if (!imageScanner) {\n          imageScanner = ImageScanner(uploadStatus, blobCache);\n        }\n        return imageScanner.findAll(editor.getBody(), isValidDataUriImage).then(aliveGuard(result => {\n          const filteredResult = filter$5(result, resultItem => {\n            if (isString(resultItem)) {\n              displayError(editor, resultItem);\n              return false;\n            } else if (resultItem.uriType === 'blob') {\n              return false;\n            } else {\n              return true;\n            }\n          });\n          if (isRtc(editor)) ; else {\n            each$e(filteredResult, resultItem => {\n              replaceUrlInUndoStack(resultItem.image.src, resultItem.blobInfo.blobUri());\n              resultItem.image.src = resultItem.blobInfo.blobUri();\n              resultItem.image.removeAttribute('data-mce-src');\n              resultItem.blobInfo.library = () => resultItem.image.getAttribute('data-library');\n            });\n          }\n          return filteredResult;\n        }));\n      };\n      const destroy = () => {\n        blobCache.destroy();\n        uploadStatus.destroy();\n        imageScanner = uploader = null;\n      };\n      const replaceBlobUris = content => {\n        return content.replace(/src=\"(blob:[^\"]+)\"/g, (match, blobUri) => {\n          const resultUri = uploadStatus.getResultUri(blobUri);\n          if (resultUri) {\n            return 'src=\"' + resultUri + '\"';\n          }\n          let blobInfo = blobCache.getByUri(blobUri);\n          if (!blobInfo) {\n            blobInfo = foldl(editor.editorManager.get(), (result, editor) => {\n              return result || editor.editorUpload && editor.editorUpload.blobCache.getByUri(blobUri);\n            }, undefined);\n          }\n          if (blobInfo && shouldConvertBlobstoBase64(editor)) {\n            const blob = blobInfo.blob();\n            return 'src=\"data:' + blob.type + ';base64,' + blobInfo.base64() + '\"';\n          }\n          return match;\n        });\n      };\n      editor.on('SetContent', () => {\n        if (isAutomaticUploadsEnabled(editor)) {\n          uploadImagesAuto();\n        } else {\n          scanForImages();\n        }\n      });\n      editor.on('RawSaveContent', e => {\n        e.content = replaceBlobUris(e.content);\n      });\n      editor.on('GetContent', e => {\n        if (e.source_view || e.format === 'raw' || e.format === 'tree') {\n          return;\n        }\n        e.content = replaceBlobUris(e.content);\n      });\n      editor.on('PostRender', () => {\n        editor.parser.addNodeFilter('img', images => {\n          each$e(images, img => {\n            const src = img.attr('src');\n            if (!src || blobCache.getByUri(src)) {\n              return;\n            }\n            const resultUri = uploadStatus.getResultUri(src);\n            if (resultUri) {\n              img.attr('src', resultUri);\n            }\n          });\n        });\n      });\n      return {\n        blobCache,\n        uploadStatus,\n        addFilter,\n        uploadImages,\n        uploadImagesAuto,\n        scanForImages,\n        destroy\n      };\n    };\n\n    const get$1 = editor => {\n      const dom = editor.dom;\n      const schemaType = editor.schema.type;\n      const formats = {\n        valigntop: [{\n          selector: 'td,th',\n          styles: {\n            verticalAlign: 'top'\n          }\n        }],\n        valignmiddle: [{\n          selector: 'td,th',\n          styles: {\n            verticalAlign: 'middle'\n          }\n        }],\n        valignbottom: [{\n          selector: 'td,th',\n          styles: {\n            verticalAlign: 'bottom'\n          }\n        }],\n        alignleft: [{\n          selector: 'figure.image',\n          collapsed: false,\n          classes: 'align-left',\n          ceFalseOverride: true,\n          preview: 'font-family font-size'\n        }, {\n          selector: 'figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li,pre',\n          styles: {\n            textAlign: 'left'\n          },\n          inherit: false,\n          preview: false\n        }, {\n          selector: 'img,audio,video',\n          collapsed: false,\n          styles: {\n            float: 'left'\n          },\n          preview: 'font-family font-size'\n        }, {\n          selector: 'table',\n          collapsed: false,\n          styles: {\n            marginLeft: '0px',\n            marginRight: 'auto'\n          },\n          onformat: table => {\n            dom.setStyle(table, 'float', null);\n          },\n          preview: 'font-family font-size'\n        }, {\n          selector: '.mce-preview-object,[data-ephox-embed-iri]',\n          ceFalseOverride: true,\n          styles: {\n            float: 'left'\n          }\n        }],\n        aligncenter: [{\n          selector: 'figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li,pre',\n          styles: {\n            textAlign: 'center'\n          },\n          inherit: false,\n          preview: 'font-family font-size'\n        }, {\n          selector: 'figure.image',\n          collapsed: false,\n          classes: 'align-center',\n          ceFalseOverride: true,\n          preview: 'font-family font-size'\n        }, {\n          selector: 'img,audio,video',\n          collapsed: false,\n          styles: {\n            display: 'block',\n            marginLeft: 'auto',\n            marginRight: 'auto'\n          },\n          preview: false\n        }, {\n          selector: 'table',\n          collapsed: false,\n          styles: {\n            marginLeft: 'auto',\n            marginRight: 'auto'\n          },\n          preview: 'font-family font-size'\n        }, {\n          selector: '.mce-preview-object',\n          ceFalseOverride: true,\n          styles: {\n            display: 'table',\n            marginLeft: 'auto',\n            marginRight: 'auto'\n          },\n          preview: false\n        }, {\n          selector: '[data-ephox-embed-iri]',\n          ceFalseOverride: true,\n          styles: {\n            marginLeft: 'auto',\n            marginRight: 'auto'\n          },\n          preview: false\n        }],\n        alignright: [{\n          selector: 'figure.image',\n          collapsed: false,\n          classes: 'align-right',\n          ceFalseOverride: true,\n          preview: 'font-family font-size'\n        }, {\n          selector: 'figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li,pre',\n          styles: {\n            textAlign: 'right'\n          },\n          inherit: false,\n          preview: 'font-family font-size'\n        }, {\n          selector: 'img,audio,video',\n          collapsed: false,\n          styles: {\n            float: 'right'\n          },\n          preview: 'font-family font-size'\n        }, {\n          selector: 'table',\n          collapsed: false,\n          styles: {\n            marginRight: '0px',\n            marginLeft: 'auto'\n          },\n          onformat: table => {\n            dom.setStyle(table, 'float', null);\n          },\n          preview: 'font-family font-size'\n        }, {\n          selector: '.mce-preview-object,[data-ephox-embed-iri]',\n          ceFalseOverride: true,\n          styles: {\n            float: 'right'\n          },\n          preview: false\n        }],\n        alignjustify: [{\n          selector: 'figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li,pre',\n          styles: {\n            textAlign: 'justify'\n          },\n          inherit: false,\n          preview: 'font-family font-size'\n        }],\n        bold: [{\n          inline: 'strong',\n          remove: 'all',\n          preserve_attributes: ['class', 'style']\n        }, {\n          inline: 'span',\n          styles: {\n            fontWeight: 'bold'\n          }\n        }, {\n          inline: 'b',\n          remove: 'all',\n          preserve_attributes: ['class', 'style']\n        }],\n        italic: [{\n          inline: 'em',\n          remove: 'all',\n          preserve_attributes: ['class', 'style']\n        }, {\n          inline: 'span',\n          styles: {\n            fontStyle: 'italic'\n          }\n        }, {\n          inline: 'i',\n          remove: 'all',\n          preserve_attributes: ['class', 'style']\n        }],\n        underline: [{\n          inline: 'span',\n          styles: {\n            textDecoration: 'underline'\n          },\n          exact: true\n        }, {\n          inline: 'u',\n          remove: 'all',\n          preserve_attributes: ['class', 'style']\n        }],\n        strikethrough: (() => {\n          const span = {\n            inline: 'span',\n            styles: {\n              textDecoration: 'line-through'\n            },\n            exact: true\n          };\n          const strike = {\n            inline: 'strike',\n            remove: 'all',\n            preserve_attributes: ['class', 'style']\n          };\n          const s = {\n            inline: 's',\n            remove: 'all',\n            preserve_attributes: ['class', 'style']\n          };\n          return schemaType !== 'html4' ? [s, span, strike] : [span, s, strike];\n        })(),\n        forecolor: {\n          inline: 'span',\n          styles: {\n            color: '%value'\n          },\n          links: true,\n          remove_similar: true,\n          clear_child_styles: true\n        },\n        hilitecolor: {\n          inline: 'span',\n          styles: {\n            backgroundColor: '%value'\n          },\n          links: true,\n          remove_similar: true,\n          clear_child_styles: true\n        },\n        fontname: {\n          inline: 'span',\n          toggle: false,\n          styles: {\n            fontFamily: '%value'\n          },\n          clear_child_styles: true\n        },\n        fontsize: {\n          inline: 'span',\n          toggle: false,\n          styles: {\n            fontSize: '%value'\n          },\n          clear_child_styles: true\n        },\n        lineheight: {\n          selector: 'h1,h2,h3,h4,h5,h6,p,li,td,th,div',\n          styles: {\n            lineHeight: '%value'\n          }\n        },\n        fontsize_class: {\n          inline: 'span',\n          attributes: {\n            class: '%value'\n          }\n        },\n        blockquote: {\n          block: 'blockquote',\n          wrapper: true,\n          remove: 'all'\n        },\n        subscript: {\n          inline: 'sub'\n        },\n        superscript: {\n          inline: 'sup'\n        },\n        code: {\n          inline: 'code'\n        },\n        link: {\n          inline: 'a',\n          selector: 'a',\n          remove: 'all',\n          split: true,\n          deep: true,\n          onmatch: (node, _fmt, _itemName) => {\n            return isElement$6(node) && node.hasAttribute('href');\n          },\n          onformat: (elm, _fmt, vars) => {\n            Tools.each(vars, (value, key) => {\n              dom.setAttrib(elm, key, value);\n            });\n          }\n        },\n        lang: {\n          inline: 'span',\n          clear_child_styles: true,\n          remove_similar: true,\n          attributes: {\n            'lang': '%value',\n            'data-mce-lang': vars => {\n              var _a;\n              return (_a = vars === null || vars === void 0 ? void 0 : vars.customValue) !== null && _a !== void 0 ? _a : null;\n            }\n          }\n        },\n        removeformat: [{\n          selector: 'b,strong,em,i,font,u,strike,s,sub,sup,dfn,code,samp,kbd,var,cite,mark,q,del,ins,small',\n          remove: 'all',\n          split: true,\n          expand: false,\n          block_expand: true,\n          deep: true\n        }, {\n          selector: 'span',\n          attributes: ['style', 'class'],\n          remove: 'empty',\n          split: true,\n          expand: false,\n          deep: true\n        }, {\n          selector: '*',\n          attributes: ['style', 'class'],\n          split: false,\n          expand: false,\n          deep: true\n        }]\n      };\n      Tools.each('p h1 h2 h3 h4 h5 h6 div address pre dt dd samp'.split(/\\s/), name => {\n        formats[name] = {\n          block: name,\n          remove: 'all'\n        };\n      });\n      return formats;\n    };\n\n    const genericBase = {\n      remove_similar: true,\n      inherit: false\n    };\n    const cellBase = {\n      selector: 'td,th',\n      ...genericBase\n    };\n    const cellFormats = {\n      tablecellbackgroundcolor: {\n        styles: {\n          backgroundColor: '%value'\n        },\n        ...cellBase\n      },\n      tablecellverticalalign: {\n        styles: {\n          'vertical-align': '%value'\n        },\n        ...cellBase\n      },\n      tablecellbordercolor: {\n        styles: {\n          borderColor: '%value'\n        },\n        ...cellBase\n      },\n      tablecellclass: {\n        classes: ['%value'],\n        ...cellBase\n      },\n      tableclass: {\n        selector: 'table',\n        classes: ['%value'],\n        ...genericBase\n      },\n      tablecellborderstyle: {\n        styles: {\n          borderStyle: '%value'\n        },\n        ...cellBase\n      },\n      tablecellborderwidth: {\n        styles: {\n          borderWidth: '%value'\n        },\n        ...cellBase\n      }\n    };\n    const get = constant(cellFormats);\n\n    const FormatRegistry = editor => {\n      const formats = {};\n      const get$2 = name => isNonNullable(name) ? formats[name] : formats;\n      const has = name => has$2(formats, name);\n      const register = (name, format) => {\n        if (name) {\n          if (!isString(name)) {\n            each$d(name, (format, name) => {\n              register(name, format);\n            });\n          } else {\n            if (!isArray$1(format)) {\n              format = [format];\n            }\n            each$e(format, format => {\n              if (isUndefined(format.deep)) {\n                format.deep = !isSelectorFormat(format);\n              }\n              if (isUndefined(format.split)) {\n                format.split = !isSelectorFormat(format) || isInlineFormat(format);\n              }\n              if (isUndefined(format.remove) && isSelectorFormat(format) && !isInlineFormat(format)) {\n                format.remove = 'none';\n              }\n              if (isSelectorFormat(format) && isInlineFormat(format)) {\n                format.mixed = true;\n                format.block_expand = true;\n              }\n              if (isString(format.classes)) {\n                format.classes = format.classes.split(/\\s+/);\n              }\n            });\n            formats[name] = format;\n          }\n        }\n      };\n      const unregister = name => {\n        if (name && formats[name]) {\n          delete formats[name];\n        }\n        return formats;\n      };\n      register(get$1(editor));\n      register(get());\n      register(getFormats(editor));\n      return {\n        get: get$2,\n        has,\n        register,\n        unregister\n      };\n    };\n\n    const each$3 = Tools.each;\n    const dom = DOMUtils.DOM;\n    const isPreviewItem = item => isNonNullable(item) && isObject(item);\n    const parsedSelectorToHtml = (ancestry, editor) => {\n      const schema = editor && editor.schema || Schema({});\n      const decorate = (elm, item) => {\n        if (item.classes.length > 0) {\n          dom.addClass(elm, item.classes.join(' '));\n        }\n        dom.setAttribs(elm, item.attrs);\n      };\n      const createElement = sItem => {\n        const item = isString(sItem) ? {\n          name: sItem,\n          classes: [],\n          attrs: {}\n        } : sItem;\n        const elm = dom.create(item.name);\n        decorate(elm, item);\n        return elm;\n      };\n      const getRequiredParent = (elm, candidate) => {\n        const elmRule = schema.getElementRule(elm.nodeName.toLowerCase());\n        const parentsRequired = elmRule === null || elmRule === void 0 ? void 0 : elmRule.parentsRequired;\n        if (parentsRequired && parentsRequired.length) {\n          return candidate && contains$2(parentsRequired, candidate) ? candidate : parentsRequired[0];\n        } else {\n          return false;\n        }\n      };\n      const wrapInHtml = (elm, ancestors, siblings) => {\n        let parentCandidate;\n        const ancestor = ancestors[0];\n        const ancestorName = isPreviewItem(ancestor) ? ancestor.name : undefined;\n        const parentRequired = getRequiredParent(elm, ancestorName);\n        if (parentRequired) {\n          if (ancestorName === parentRequired) {\n            parentCandidate = ancestor;\n            ancestors = ancestors.slice(1);\n          } else {\n            parentCandidate = parentRequired;\n          }\n        } else if (ancestor) {\n          parentCandidate = ancestor;\n          ancestors = ancestors.slice(1);\n        } else if (!siblings) {\n          return elm;\n        }\n        const parent = parentCandidate ? createElement(parentCandidate) : dom.create('div');\n        parent.appendChild(elm);\n        if (siblings) {\n          Tools.each(siblings, sibling => {\n            const siblingElm = createElement(sibling);\n            parent.insertBefore(siblingElm, elm);\n          });\n        }\n        const parentSiblings = isPreviewItem(parentCandidate) ? parentCandidate.siblings : undefined;\n        return wrapInHtml(parent, ancestors, parentSiblings);\n      };\n      const fragment = dom.create('div');\n      if (ancestry.length > 0) {\n        const item = ancestry[0];\n        const elm = createElement(item);\n        const siblings = isPreviewItem(item) ? item.siblings : undefined;\n        fragment.appendChild(wrapInHtml(elm, ancestry.slice(1), siblings));\n      }\n      return fragment;\n    };\n    const parseSelectorItem = item => {\n      item = Tools.trim(item);\n      let tagName = 'div';\n      const obj = {\n        name: tagName,\n        classes: [],\n        attrs: {},\n        selector: item\n      };\n      if (item !== '*') {\n        tagName = item.replace(/(?:([#\\.]|::?)([\\w\\-]+)|(\\[)([^\\]]+)\\]?)/g, ($0, $1, $2, $3, $4) => {\n          switch ($1) {\n            case '#':\n              obj.attrs.id = $2;\n              break;\n            case '.':\n              obj.classes.push($2);\n              break;\n            case ':':\n              if (Tools.inArray('checked disabled enabled read-only required'.split(' '), $2) !== -1) {\n                obj.attrs[$2] = $2;\n              }\n              break;\n          }\n          if ($3 === '[') {\n            const m = $4.match(/([\\w\\-]+)(?:\\=\\\"([^\\\"]+))?/);\n            if (m) {\n              obj.attrs[m[1]] = m[2];\n            }\n          }\n          return '';\n        });\n      }\n      obj.name = tagName || 'div';\n      return obj;\n    };\n    const parseSelector = selector => {\n      if (!isString(selector)) {\n        return [];\n      }\n      selector = selector.split(/\\s*,\\s*/)[0];\n      selector = selector.replace(/\\s*(~\\+|~|\\+|>)\\s*/g, '$1');\n      return Tools.map(selector.split(/(?:>|\\s+(?![^\\[\\]]+\\]))/), item => {\n        const siblings = Tools.map(item.split(/(?:~\\+|~|\\+)/), parseSelectorItem);\n        const obj = siblings.pop();\n        if (siblings.length) {\n          obj.siblings = siblings;\n        }\n        return obj;\n      }).reverse();\n    };\n    const getCssText = (editor, format) => {\n      let previewCss = '';\n      let previewStyles = getPreviewStyles(editor);\n      if (previewStyles === '') {\n        return '';\n      }\n      const removeVars = val => {\n        return isString(val) ? val.replace(/%(\\w+)/g, '') : '';\n      };\n      const getComputedStyle = (name, elm) => {\n        return dom.getStyle(elm !== null && elm !== void 0 ? elm : editor.getBody(), name, true);\n      };\n      if (isString(format)) {\n        const formats = editor.formatter.get(format);\n        if (!formats) {\n          return '';\n        }\n        format = formats[0];\n      }\n      if ('preview' in format) {\n        const preview = format.preview;\n        if (preview === false) {\n          return '';\n        } else {\n          previewStyles = preview || previewStyles;\n        }\n      }\n      let name = format.block || format.inline || 'span';\n      let previewFrag;\n      const items = parseSelector(format.selector);\n      if (items.length > 0) {\n        if (!items[0].name) {\n          items[0].name = name;\n        }\n        name = format.selector;\n        previewFrag = parsedSelectorToHtml(items, editor);\n      } else {\n        previewFrag = parsedSelectorToHtml([name], editor);\n      }\n      const previewElm = dom.select(name, previewFrag)[0] || previewFrag.firstChild;\n      each$3(format.styles, (value, name) => {\n        const newValue = removeVars(value);\n        if (newValue) {\n          dom.setStyle(previewElm, name, newValue);\n        }\n      });\n      each$3(format.attributes, (value, name) => {\n        const newValue = removeVars(value);\n        if (newValue) {\n          dom.setAttrib(previewElm, name, newValue);\n        }\n      });\n      each$3(format.classes, value => {\n        const newValue = removeVars(value);\n        if (!dom.hasClass(previewElm, newValue)) {\n          dom.addClass(previewElm, newValue);\n        }\n      });\n      editor.dispatch('PreviewFormats');\n      dom.setStyles(previewFrag, {\n        position: 'absolute',\n        left: -65535\n      });\n      editor.getBody().appendChild(previewFrag);\n      const rawParentFontSize = getComputedStyle('fontSize');\n      const parentFontSize = /px$/.test(rawParentFontSize) ? parseInt(rawParentFontSize, 10) : 0;\n      each$3(previewStyles.split(' '), name => {\n        let value = getComputedStyle(name, previewElm);\n        if (name === 'background-color' && /transparent|rgba\\s*\\([^)]+,\\s*0\\)/.test(value)) {\n          value = getComputedStyle(name);\n          if (rgbaToHexString(value).toLowerCase() === '#ffffff') {\n            return;\n          }\n        }\n        if (name === 'color') {\n          if (rgbaToHexString(value).toLowerCase() === '#000000') {\n            return;\n          }\n        }\n        if (name === 'font-size') {\n          if (/em|%$/.test(value)) {\n            if (parentFontSize === 0) {\n              return;\n            }\n            const numValue = parseFloat(value) / (/%$/.test(value) ? 100 : 1);\n            value = numValue * parentFontSize + 'px';\n          }\n        }\n        if (name === 'border' && value) {\n          previewCss += 'padding:0 2px;';\n        }\n        previewCss += name + ':' + value + ';';\n      });\n      editor.dispatch('AfterPreviewFormats');\n      dom.remove(previewFrag);\n      return previewCss;\n    };\n\n    const setup$s = editor => {\n      editor.addShortcut('meta+b', '', 'Bold');\n      editor.addShortcut('meta+i', '', 'Italic');\n      editor.addShortcut('meta+u', '', 'Underline');\n      for (let i = 1; i <= 6; i++) {\n        editor.addShortcut('access+' + i, '', ['FormatBlock', false, 'h' + i]);\n      }\n      editor.addShortcut('access+7', '', ['FormatBlock', false, 'p']);\n      editor.addShortcut('access+8', '', ['FormatBlock', false, 'div']);\n      editor.addShortcut('access+9', '', ['FormatBlock', false, 'address']);\n    };\n\n    const Formatter = editor => {\n      const formats = FormatRegistry(editor);\n      const formatChangeState = Cell({});\n      setup$s(editor);\n      setup$v(editor);\n      if (!isRtc(editor)) {\n        setup$u(formatChangeState, editor);\n      }\n      return {\n        get: formats.get,\n        has: formats.has,\n        register: formats.register,\n        unregister: formats.unregister,\n        apply: (name, vars, node) => {\n          applyFormat(editor, name, vars, node);\n        },\n        remove: (name, vars, node, similar) => {\n          removeFormat(editor, name, vars, node, similar);\n        },\n        toggle: (name, vars, node) => {\n          toggleFormat(editor, name, vars, node);\n        },\n        match: (name, vars, node, similar) => matchFormat(editor, name, vars, node, similar),\n        closest: names => closestFormat(editor, names),\n        matchAll: (names, vars) => matchAllFormats(editor, names, vars),\n        matchNode: (node, name, vars, similar) => matchNodeFormat(editor, node, name, vars, similar),\n        canApply: name => canApplyFormat(editor, name),\n        formatChanged: (formats, callback, similar, vars) => formatChanged(editor, formatChangeState, formats, callback, similar, vars),\n        getCssText: curry(getCssText, editor)\n      };\n    };\n\n    const shouldIgnoreCommand = cmd => {\n      switch (cmd.toLowerCase()) {\n        case 'undo':\n        case 'redo':\n        case 'mcefocus':\n          return true;\n        default:\n          return false;\n      }\n    };\n    const registerEvents = (editor, undoManager, locks) => {\n      const isFirstTypedCharacter = Cell(false);\n      const addNonTypingUndoLevel = e => {\n        setTyping(undoManager, false, locks);\n        undoManager.add({}, e);\n      };\n      editor.on('init', () => {\n        undoManager.add();\n      });\n      editor.on('BeforeExecCommand', e => {\n        const cmd = e.command;\n        if (!shouldIgnoreCommand(cmd)) {\n          endTyping(undoManager, locks);\n          undoManager.beforeChange();\n        }\n      });\n      editor.on('ExecCommand', e => {\n        const cmd = e.command;\n        if (!shouldIgnoreCommand(cmd)) {\n          addNonTypingUndoLevel(e);\n        }\n      });\n      editor.on('ObjectResizeStart cut', () => {\n        undoManager.beforeChange();\n      });\n      editor.on('SaveContent ObjectResized blur', addNonTypingUndoLevel);\n      editor.on('dragend', addNonTypingUndoLevel);\n      editor.on('keyup', e => {\n        const keyCode = e.keyCode;\n        if (e.isDefaultPrevented()) {\n          return;\n        }\n        const isMeta = Env.os.isMacOS() && e.key === 'Meta';\n        if (keyCode >= 33 && keyCode <= 36 || keyCode >= 37 && keyCode <= 40 || keyCode === 45 || e.ctrlKey || isMeta) {\n          addNonTypingUndoLevel();\n          editor.nodeChanged();\n        }\n        if (keyCode === 46 || keyCode === 8) {\n          editor.nodeChanged();\n        }\n        if (isFirstTypedCharacter.get() && undoManager.typing && !isEq$1(createFromEditor(editor), undoManager.data[0])) {\n          if (!editor.isDirty()) {\n            editor.setDirty(true);\n          }\n          editor.dispatch('TypingUndo');\n          isFirstTypedCharacter.set(false);\n          editor.nodeChanged();\n        }\n      });\n      editor.on('keydown', e => {\n        const keyCode = e.keyCode;\n        if (e.isDefaultPrevented()) {\n          return;\n        }\n        if (keyCode >= 33 && keyCode <= 36 || keyCode >= 37 && keyCode <= 40 || keyCode === 45) {\n          if (undoManager.typing) {\n            addNonTypingUndoLevel(e);\n          }\n          return;\n        }\n        const modKey = e.ctrlKey && !e.altKey || e.metaKey;\n        if ((keyCode < 16 || keyCode > 20) && keyCode !== 224 && keyCode !== 91 && !undoManager.typing && !modKey) {\n          undoManager.beforeChange();\n          setTyping(undoManager, true, locks);\n          undoManager.add({}, e);\n          isFirstTypedCharacter.set(true);\n          return;\n        }\n        const hasOnlyMetaOrCtrlModifier = Env.os.isMacOS() ? e.metaKey : e.ctrlKey && !e.altKey;\n        if (hasOnlyMetaOrCtrlModifier) {\n          undoManager.beforeChange();\n        }\n      });\n      editor.on('mousedown', e => {\n        if (undoManager.typing) {\n          addNonTypingUndoLevel(e);\n        }\n      });\n      const isInsertReplacementText = event => event.inputType === 'insertReplacementText';\n      const isInsertTextDataNull = event => event.inputType === 'insertText' && event.data === null;\n      const isInsertFromPasteOrDrop = event => event.inputType === 'insertFromPaste' || event.inputType === 'insertFromDrop';\n      editor.on('input', e => {\n        if (e.inputType && (isInsertReplacementText(e) || isInsertTextDataNull(e) || isInsertFromPasteOrDrop(e))) {\n          addNonTypingUndoLevel(e);\n        }\n      });\n      editor.on('AddUndo Undo Redo ClearUndos', e => {\n        if (!e.isDefaultPrevented()) {\n          editor.nodeChanged();\n        }\n      });\n    };\n    const addKeyboardShortcuts = editor => {\n      editor.addShortcut('meta+z', '', 'Undo');\n      editor.addShortcut('meta+y,meta+shift+z', '', 'Redo');\n    };\n\n    const UndoManager = editor => {\n      const beforeBookmark = value$2();\n      const locks = Cell(0);\n      const index = Cell(0);\n      const undoManager = {\n        data: [],\n        typing: false,\n        beforeChange: () => {\n          beforeChange(editor, locks, beforeBookmark);\n        },\n        add: (level, event) => {\n          return addUndoLevel(editor, undoManager, index, locks, beforeBookmark, level, event);\n        },\n        dispatchChange: () => {\n          editor.setDirty(true);\n          const level = createFromEditor(editor);\n          level.bookmark = getUndoBookmark(editor.selection);\n          editor.dispatch('change', {\n            level,\n            lastLevel: get$b(undoManager.data, index.get()).getOrUndefined()\n          });\n        },\n        undo: () => {\n          return undo(editor, undoManager, locks, index);\n        },\n        redo: () => {\n          return redo(editor, index, undoManager.data);\n        },\n        clear: () => {\n          clear(editor, undoManager, index);\n        },\n        reset: () => {\n          reset(editor, undoManager);\n        },\n        hasUndo: () => {\n          return hasUndo(editor, undoManager, index);\n        },\n        hasRedo: () => {\n          return hasRedo(editor, undoManager, index);\n        },\n        transact: callback => {\n          return transact(editor, undoManager, locks, callback);\n        },\n        ignore: callback => {\n          ignore(editor, locks, callback);\n        },\n        extra: (callback1, callback2) => {\n          extra(editor, undoManager, index, callback1, callback2);\n        }\n      };\n      if (!isRtc(editor)) {\n        registerEvents(editor, undoManager, locks);\n      }\n      addKeyboardShortcuts(editor);\n      return undoManager;\n    };\n\n    const nonTypingKeycodes = [9, 27, VK.HOME, VK.END, 19, 20, 44, 144, 145, 33, 34, 45, 16, 17, 18, 91, 92, 93, VK.DOWN, VK.UP, VK.LEFT, VK.RIGHT].concat(Env.browser.isFirefox() ? [224] : []);\n    const placeholderAttr = 'data-mce-placeholder';\n    const isKeyboardEvent = e => e.type === 'keydown' || e.type === 'keyup';\n    const isDeleteEvent = e => {\n      const keyCode = e.keyCode;\n      return keyCode === VK.BACKSPACE || keyCode === VK.DELETE;\n    };\n    const isNonTypingKeyboardEvent = e => {\n      if (isKeyboardEvent(e)) {\n        const keyCode = e.keyCode;\n        return !isDeleteEvent(e) && (VK.metaKeyPressed(e) || e.altKey || keyCode >= 112 && keyCode <= 123 || contains$2(nonTypingKeycodes, keyCode));\n      } else {\n        return false;\n      }\n    };\n    const isTypingKeyboardEvent = e => isKeyboardEvent(e) && !(isDeleteEvent(e) || e.type === 'keyup' && e.keyCode === 229);\n    const isVisuallyEmpty = (dom, rootElm, forcedRootBlock) => {\n      if (isEmpty$2(SugarElement.fromDom(rootElm), false)) {\n        const firstElement = rootElm.firstElementChild;\n        if (!firstElement) {\n          return true;\n        } else if (dom.getStyle(rootElm.firstElementChild, 'padding-left') || dom.getStyle(rootElm.firstElementChild, 'padding-right')) {\n          return false;\n        } else {\n          return forcedRootBlock === firstElement.nodeName.toLowerCase();\n        }\n      } else {\n        return false;\n      }\n    };\n    const setup$r = editor => {\n      var _a;\n      const dom = editor.dom;\n      const rootBlock = getForcedRootBlock(editor);\n      const placeholder = (_a = getPlaceholder(editor)) !== null && _a !== void 0 ? _a : '';\n      const updatePlaceholder = (e, initial) => {\n        if (isNonTypingKeyboardEvent(e)) {\n          return;\n        }\n        const body = editor.getBody();\n        const showPlaceholder = isTypingKeyboardEvent(e) ? false : isVisuallyEmpty(dom, body, rootBlock);\n        const isPlaceholderShown = dom.getAttrib(body, placeholderAttr) !== '';\n        if (isPlaceholderShown !== showPlaceholder || initial) {\n          dom.setAttrib(body, placeholderAttr, showPlaceholder ? placeholder : null);\n          dom.setAttrib(body, 'aria-placeholder', showPlaceholder ? placeholder : null);\n          firePlaceholderToggle(editor, showPlaceholder);\n          editor.on(showPlaceholder ? 'keydown' : 'keyup', updatePlaceholder);\n          editor.off(showPlaceholder ? 'keyup' : 'keydown', updatePlaceholder);\n        }\n      };\n      if (isNotEmpty(placeholder)) {\n        editor.on('init', e => {\n          updatePlaceholder(e, true);\n          editor.on('change SetContent ExecCommand', updatePlaceholder);\n          editor.on('paste', e => Delay.setEditorTimeout(editor, () => updatePlaceholder(e)));\n        });\n      }\n    };\n\n    const blockPosition = (block, position) => ({\n      block,\n      position\n    });\n    const blockBoundary = (from, to) => ({\n      from,\n      to\n    });\n    const getBlockPosition = (rootNode, pos) => {\n      const rootElm = SugarElement.fromDom(rootNode);\n      const containerElm = SugarElement.fromDom(pos.container());\n      return getParentBlock$2(rootElm, containerElm).map(block => blockPosition(block, pos));\n    };\n    const isDifferentBlocks = blockBoundary => !eq(blockBoundary.from.block, blockBoundary.to.block);\n    const getClosestHost = (root, scope) => {\n      const isRoot = node => eq(node, root);\n      const isHost = node => isTableCell$2(node) || isContentEditableTrue$3(node.dom);\n      return closest$4(scope, isHost, isRoot).filter(isElement$7).getOr(root);\n    };\n    const hasSameHost = (rootNode, blockBoundary) => {\n      const root = SugarElement.fromDom(rootNode);\n      return eq(getClosestHost(root, blockBoundary.from.block), getClosestHost(root, blockBoundary.to.block));\n    };\n    const isEditable$1 = blockBoundary => isContentEditableFalse$b(blockBoundary.from.block.dom) === false && isContentEditableFalse$b(blockBoundary.to.block.dom) === false;\n    const hasValidBlocks = blockBoundary => {\n      const isValidBlock = block => isTextBlock$2(block) || hasBlockAttr(block.dom);\n      return isValidBlock(blockBoundary.from.block) && isValidBlock(blockBoundary.to.block);\n    };\n    const skipLastBr = (rootNode, forward, blockPosition) => {\n      if (isBr$6(blockPosition.position.getNode()) && !isEmpty$2(blockPosition.block)) {\n        return positionIn(false, blockPosition.block.dom).bind(lastPositionInBlock => {\n          if (lastPositionInBlock.isEqual(blockPosition.position)) {\n            return fromPosition(forward, rootNode, lastPositionInBlock).bind(to => getBlockPosition(rootNode, to));\n          } else {\n            return Optional.some(blockPosition);\n          }\n        }).getOr(blockPosition);\n      } else {\n        return blockPosition;\n      }\n    };\n    const readFromRange = (rootNode, forward, rng) => {\n      const fromBlockPos = getBlockPosition(rootNode, CaretPosition.fromRangeStart(rng));\n      const toBlockPos = fromBlockPos.bind(blockPos => fromPosition(forward, rootNode, blockPos.position).bind(to => getBlockPosition(rootNode, to).map(blockPos => skipLastBr(rootNode, forward, blockPos))));\n      return lift2(fromBlockPos, toBlockPos, blockBoundary).filter(blockBoundary => isDifferentBlocks(blockBoundary) && hasSameHost(rootNode, blockBoundary) && isEditable$1(blockBoundary) && hasValidBlocks(blockBoundary));\n    };\n    const read$1 = (rootNode, forward, rng) => rng.collapsed ? readFromRange(rootNode, forward, rng) : Optional.none();\n\n    const getChildrenUntilBlockBoundary = (block, schema) => {\n      const children = children$1(block);\n      return findIndex$2(children, el => schema.isBlock(name(el))).fold(constant(children), index => children.slice(0, index));\n    };\n    const extractChildren = (block, schema) => {\n      const children = getChildrenUntilBlockBoundary(block, schema);\n      each$e(children, remove$5);\n      return children;\n    };\n    const removeEmptyRoot = (rootNode, block) => {\n      const parents = parentsAndSelf(block, rootNode);\n      return find$2(parents.reverse(), element => isEmpty$2(element)).each(remove$5);\n    };\n    const isEmptyBefore = el => filter$5(prevSiblings(el), el => !isEmpty$2(el)).length === 0;\n    const nestedBlockMerge = (rootNode, fromBlock, toBlock, schema, insertionPoint) => {\n      if (isEmpty$2(toBlock)) {\n        fillWithPaddingBr(toBlock);\n        return firstPositionIn(toBlock.dom);\n      }\n      if (isEmptyBefore(insertionPoint) && isEmpty$2(fromBlock)) {\n        before$3(insertionPoint, SugarElement.fromTag('br'));\n      }\n      const position = prevPosition(toBlock.dom, CaretPosition.before(insertionPoint.dom));\n      each$e(extractChildren(fromBlock, schema), child => {\n        before$3(insertionPoint, child);\n      });\n      removeEmptyRoot(rootNode, fromBlock);\n      return position;\n    };\n    const isInline = (schema, node) => schema.isInline(name(node));\n    const sidelongBlockMerge = (rootNode, fromBlock, toBlock, schema) => {\n      if (isEmpty$2(toBlock)) {\n        if (isEmpty$2(fromBlock)) {\n          const getInlineToBlockDescendants = el => {\n            const helper = (node, elements) => firstChild(node).fold(() => elements, child => isInline(schema, child) ? helper(child, elements.concat(shallow$1(child))) : elements);\n            return helper(el, []);\n          };\n          const newFromBlockDescendants = foldr(getInlineToBlockDescendants(toBlock), (element, descendant) => {\n            wrap$2(element, descendant);\n            return descendant;\n          }, createPaddingBr());\n          empty(fromBlock);\n          append$1(fromBlock, newFromBlockDescendants);\n        }\n        remove$5(toBlock);\n        return firstPositionIn(fromBlock.dom);\n      }\n      const position = lastPositionIn(toBlock.dom);\n      each$e(extractChildren(fromBlock, schema), child => {\n        append$1(toBlock, child);\n      });\n      removeEmptyRoot(rootNode, fromBlock);\n      return position;\n    };\n    const findInsertionPoint = (toBlock, block) => {\n      const parentsAndSelf$1 = parentsAndSelf(block, toBlock);\n      return Optional.from(parentsAndSelf$1[parentsAndSelf$1.length - 1]);\n    };\n    const getInsertionPoint = (fromBlock, toBlock) => contains(toBlock, fromBlock) ? findInsertionPoint(toBlock, fromBlock) : Optional.none();\n    const trimBr = (first, block) => {\n      positionIn(first, block.dom).bind(position => Optional.from(position.getNode())).map(SugarElement.fromDom).filter(isBr$5).each(remove$5);\n    };\n    const mergeBlockInto = (rootNode, fromBlock, toBlock, schema) => {\n      trimBr(true, fromBlock);\n      trimBr(false, toBlock);\n      return getInsertionPoint(fromBlock, toBlock).fold(curry(sidelongBlockMerge, rootNode, fromBlock, toBlock, schema), curry(nestedBlockMerge, rootNode, fromBlock, toBlock, schema));\n    };\n    const mergeBlocks = (rootNode, forward, block1, block2, schema) => forward ? mergeBlockInto(rootNode, block2, block1, schema) : mergeBlockInto(rootNode, block1, block2, schema);\n\n    const backspaceDelete$9 = (editor, forward) => {\n      const rootNode = SugarElement.fromDom(editor.getBody());\n      const position = read$1(rootNode.dom, forward, editor.selection.getRng()).map(blockBoundary => () => {\n        mergeBlocks(rootNode, forward, blockBoundary.from.block, blockBoundary.to.block, editor.schema).each(pos => {\n          editor.selection.setRng(pos.toRange());\n        });\n      });\n      return position;\n    };\n\n    const deleteRangeMergeBlocks = (rootNode, selection, schema) => {\n      const rng = selection.getRng();\n      return lift2(getParentBlock$2(rootNode, SugarElement.fromDom(rng.startContainer)), getParentBlock$2(rootNode, SugarElement.fromDom(rng.endContainer)), (block1, block2) => {\n        if (!eq(block1, block2)) {\n          return Optional.some(() => {\n            rng.deleteContents();\n            mergeBlocks(rootNode, true, block1, block2, schema).each(pos => {\n              selection.setRng(pos.toRange());\n            });\n          });\n        } else {\n          return Optional.none();\n        }\n      }).getOr(Optional.none());\n    };\n    const isRawNodeInTable = (root, rawNode) => {\n      const node = SugarElement.fromDom(rawNode);\n      const isRoot = curry(eq, root);\n      return ancestor$4(node, isTableCell$2, isRoot).isSome();\n    };\n    const isSelectionInTable = (root, rng) => isRawNodeInTable(root, rng.startContainer) || isRawNodeInTable(root, rng.endContainer);\n    const isEverythingSelected = (root, rng) => {\n      const noPrevious = prevPosition(root.dom, CaretPosition.fromRangeStart(rng)).isNone();\n      const noNext = nextPosition(root.dom, CaretPosition.fromRangeEnd(rng)).isNone();\n      return !isSelectionInTable(root, rng) && noPrevious && noNext;\n    };\n    const emptyEditor = editor => {\n      return Optional.some(() => {\n        editor.setContent('');\n        editor.selection.setCursorLocation();\n      });\n    };\n    const deleteRange$2 = editor => {\n      const rootNode = SugarElement.fromDom(editor.getBody());\n      const rng = editor.selection.getRng();\n      return isEverythingSelected(rootNode, rng) ? emptyEditor(editor) : deleteRangeMergeBlocks(rootNode, editor.selection, editor.schema);\n    };\n    const backspaceDelete$8 = (editor, _forward) => editor.selection.isCollapsed() ? Optional.none() : deleteRange$2(editor);\n\n    const showCaret = (direction, editor, node, before, scrollIntoView) => Optional.from(editor._selectionOverrides.showCaret(direction, node, before, scrollIntoView));\n    const getNodeRange = node => {\n      const rng = node.ownerDocument.createRange();\n      rng.selectNode(node);\n      return rng;\n    };\n    const selectNode = (editor, node) => {\n      const e = editor.dispatch('BeforeObjectSelected', {\n        target: node\n      });\n      if (e.isDefaultPrevented()) {\n        return Optional.none();\n      }\n      return Optional.some(getNodeRange(node));\n    };\n    const renderCaretAtRange = (editor, range, scrollIntoView) => {\n      const normalizedRange = normalizeRange(1, editor.getBody(), range);\n      const caretPosition = CaretPosition.fromRangeStart(normalizedRange);\n      const caretPositionNode = caretPosition.getNode();\n      if (isInlineFakeCaretTarget(caretPositionNode)) {\n        return showCaret(1, editor, caretPositionNode, !caretPosition.isAtEnd(), false);\n      }\n      const caretPositionBeforeNode = caretPosition.getNode(true);\n      if (isInlineFakeCaretTarget(caretPositionBeforeNode)) {\n        return showCaret(1, editor, caretPositionBeforeNode, false, false);\n      }\n      const ceRoot = getContentEditableRoot$1(editor.dom.getRoot(), caretPosition.getNode());\n      if (isInlineFakeCaretTarget(ceRoot)) {\n        return showCaret(1, editor, ceRoot, false, scrollIntoView);\n      }\n      return Optional.none();\n    };\n    const renderRangeCaret = (editor, range, scrollIntoView) => range.collapsed ? renderCaretAtRange(editor, range, scrollIntoView).getOr(range) : range;\n\n    const isBeforeBoundary = pos => isBeforeContentEditableFalse(pos) || isBeforeMedia(pos);\n    const isAfterBoundary = pos => isAfterContentEditableFalse(pos) || isAfterMedia(pos);\n    const trimEmptyTextNode = (dom, node) => {\n      if (isText$a(node) && node.data.length === 0) {\n        dom.remove(node);\n      }\n    };\n    const deleteContentAndShowCaret = (editor, range, node, direction, forward, peekCaretPosition) => {\n      showCaret(direction, editor, peekCaretPosition.getNode(!forward), forward, true).each(caretRange => {\n        if (range.collapsed) {\n          const deleteRange = range.cloneRange();\n          if (forward) {\n            deleteRange.setEnd(caretRange.startContainer, caretRange.startOffset);\n          } else {\n            deleteRange.setStart(caretRange.endContainer, caretRange.endOffset);\n          }\n          deleteRange.deleteContents();\n        } else {\n          range.deleteContents();\n        }\n        editor.selection.setRng(caretRange);\n      });\n      trimEmptyTextNode(editor.dom, node);\n    };\n    const deleteBoundaryText = (editor, forward) => {\n      const range = editor.selection.getRng();\n      if (!isText$a(range.commonAncestorContainer)) {\n        return Optional.none();\n      }\n      const direction = forward ? HDirection.Forwards : HDirection.Backwards;\n      const caretWalker = CaretWalker(editor.getBody());\n      const getNextPosFn = curry(getVisualCaretPosition, forward ? caretWalker.next : caretWalker.prev);\n      const isBeforeFn = forward ? isBeforeBoundary : isAfterBoundary;\n      const caretPosition = getNormalizedRangeEndPoint(direction, editor.getBody(), range);\n      const nextCaretPosition = getNextPosFn(caretPosition);\n      const normalizedNextCaretPosition = nextCaretPosition ? normalizePosition(forward, nextCaretPosition) : nextCaretPosition;\n      if (!normalizedNextCaretPosition || !isMoveInsideSameBlock(caretPosition, normalizedNextCaretPosition)) {\n        return Optional.none();\n      } else if (isBeforeFn(normalizedNextCaretPosition)) {\n        return Optional.some(() => deleteContentAndShowCaret(editor, range, caretPosition.getNode(), direction, forward, normalizedNextCaretPosition));\n      }\n      const peekCaretPosition = getNextPosFn(normalizedNextCaretPosition);\n      if (peekCaretPosition && isBeforeFn(peekCaretPosition)) {\n        if (isMoveInsideSameBlock(normalizedNextCaretPosition, peekCaretPosition)) {\n          return Optional.some(() => deleteContentAndShowCaret(editor, range, caretPosition.getNode(), direction, forward, peekCaretPosition));\n        }\n      }\n      return Optional.none();\n    };\n    const backspaceDelete$7 = (editor, forward) => deleteBoundaryText(editor, forward);\n\n    const getEdgeCefPosition = (editor, atStart) => {\n      const root = editor.getBody();\n      return atStart ? firstPositionIn(root).filter(isBeforeContentEditableFalse) : lastPositionIn(root).filter(isAfterContentEditableFalse);\n    };\n    const isCefAtEdgeSelected = editor => {\n      const rng = editor.selection.getRng();\n      return !rng.collapsed && (getEdgeCefPosition(editor, true).exists(pos => pos.isEqual(CaretPosition.fromRangeStart(rng))) || getEdgeCefPosition(editor, false).exists(pos => pos.isEqual(CaretPosition.fromRangeEnd(rng))));\n    };\n\n    const isCompoundElement = node => isNonNullable(node) && (isTableCell$2(SugarElement.fromDom(node)) || isListItem$1(SugarElement.fromDom(node)));\n    const DeleteAction = Adt.generate([{\n      remove: ['element']\n    }, {\n      moveToElement: ['element']\n    }, {\n      moveToPosition: ['position']\n    }]);\n    const isAtContentEditableBlockCaret = (forward, from) => {\n      const elm = from.getNode(!forward);\n      const caretLocation = forward ? 'after' : 'before';\n      return isElement$6(elm) && elm.getAttribute('data-mce-caret') === caretLocation;\n    };\n    const isDeleteFromCefDifferentBlocks = (root, forward, from, to, schema) => {\n      const inSameBlock = elm => schema.isInline(elm.nodeName.toLowerCase()) && !isInSameBlock(from, to, root);\n      return getRelativeCefElm(!forward, from).fold(() => getRelativeCefElm(forward, to).fold(never, inSameBlock), inSameBlock);\n    };\n    const deleteEmptyBlockOrMoveToCef = (root, forward, from, to) => {\n      const toCefElm = to.getNode(!forward);\n      return getParentBlock$2(SugarElement.fromDom(root), SugarElement.fromDom(from.getNode())).map(blockElm => isEmpty$2(blockElm) ? DeleteAction.remove(blockElm.dom) : DeleteAction.moveToElement(toCefElm)).orThunk(() => Optional.some(DeleteAction.moveToElement(toCefElm)));\n    };\n    const findCefPosition = (root, forward, from, schema) => fromPosition(forward, root, from).bind(to => {\n      if (isCompoundElement(to.getNode())) {\n        return Optional.none();\n      } else if (isDeleteFromCefDifferentBlocks(root, forward, from, to, schema)) {\n        return Optional.none();\n      } else if (forward && isContentEditableFalse$b(to.getNode())) {\n        return deleteEmptyBlockOrMoveToCef(root, forward, from, to);\n      } else if (!forward && isContentEditableFalse$b(to.getNode(true))) {\n        return deleteEmptyBlockOrMoveToCef(root, forward, from, to);\n      } else if (forward && isAfterContentEditableFalse(from)) {\n        return Optional.some(DeleteAction.moveToPosition(to));\n      } else if (!forward && isBeforeContentEditableFalse(from)) {\n        return Optional.some(DeleteAction.moveToPosition(to));\n      } else {\n        return Optional.none();\n      }\n    });\n    const getContentEditableBlockAction = (forward, elm) => {\n      if (isNullable(elm)) {\n        return Optional.none();\n      } else if (forward && isContentEditableFalse$b(elm.nextSibling)) {\n        return Optional.some(DeleteAction.moveToElement(elm.nextSibling));\n      } else if (!forward && isContentEditableFalse$b(elm.previousSibling)) {\n        return Optional.some(DeleteAction.moveToElement(elm.previousSibling));\n      } else {\n        return Optional.none();\n      }\n    };\n    const skipMoveToActionFromInlineCefToContent = (root, from, deleteAction) => deleteAction.fold(elm => Optional.some(DeleteAction.remove(elm)), elm => Optional.some(DeleteAction.moveToElement(elm)), to => {\n      if (isInSameBlock(from, to, root)) {\n        return Optional.none();\n      } else {\n        return Optional.some(DeleteAction.moveToPosition(to));\n      }\n    });\n    const getContentEditableAction = (root, forward, from, schema) => {\n      if (isAtContentEditableBlockCaret(forward, from)) {\n        return getContentEditableBlockAction(forward, from.getNode(!forward)).orThunk(() => findCefPosition(root, forward, from, schema));\n      } else {\n        return findCefPosition(root, forward, from, schema).bind(deleteAction => skipMoveToActionFromInlineCefToContent(root, from, deleteAction));\n      }\n    };\n    const read = (root, forward, rng, schema) => {\n      const normalizedRange = normalizeRange(forward ? 1 : -1, root, rng);\n      const from = CaretPosition.fromRangeStart(normalizedRange);\n      const rootElement = SugarElement.fromDom(root);\n      if (!forward && isAfterContentEditableFalse(from)) {\n        return Optional.some(DeleteAction.remove(from.getNode(true)));\n      } else if (forward && isBeforeContentEditableFalse(from)) {\n        return Optional.some(DeleteAction.remove(from.getNode()));\n      } else if (!forward && isBeforeContentEditableFalse(from) && isAfterBr(rootElement, from, schema)) {\n        return findPreviousBr(rootElement, from, schema).map(br => DeleteAction.remove(br.getNode()));\n      } else if (forward && isAfterContentEditableFalse(from) && isBeforeBr$1(rootElement, from, schema)) {\n        return findNextBr(rootElement, from, schema).map(br => DeleteAction.remove(br.getNode()));\n      } else {\n        return getContentEditableAction(root, forward, from, schema);\n      }\n    };\n\n    const deleteElement$1 = (editor, forward) => element => {\n      editor._selectionOverrides.hideFakeCaret();\n      deleteElement$2(editor, forward, SugarElement.fromDom(element));\n      return true;\n    };\n    const moveToElement = (editor, forward) => element => {\n      const pos = forward ? CaretPosition.before(element) : CaretPosition.after(element);\n      editor.selection.setRng(pos.toRange());\n      return true;\n    };\n    const moveToPosition = editor => pos => {\n      editor.selection.setRng(pos.toRange());\n      return true;\n    };\n    const getAncestorCe = (editor, node) => Optional.from(getContentEditableRoot$1(editor.getBody(), node));\n    const backspaceDeleteCaret = (editor, forward) => {\n      const selectedNode = editor.selection.getNode();\n      return getAncestorCe(editor, selectedNode).filter(isContentEditableFalse$b).fold(() => read(editor.getBody(), forward, editor.selection.getRng(), editor.schema).map(deleteAction => () => deleteAction.fold(deleteElement$1(editor, forward), moveToElement(editor, forward), moveToPosition(editor))), () => Optional.some(noop));\n    };\n    const deleteOffscreenSelection = rootElement => {\n      each$e(descendants(rootElement, '.mce-offscreen-selection'), remove$5);\n    };\n    const backspaceDeleteRange = (editor, forward) => {\n      const selectedNode = editor.selection.getNode();\n      if (isContentEditableFalse$b(selectedNode) && !isTableCell$3(selectedNode)) {\n        const hasCefAncestor = getAncestorCe(editor, selectedNode.parentNode).filter(isContentEditableFalse$b);\n        return hasCefAncestor.fold(() => Optional.some(() => {\n          deleteOffscreenSelection(SugarElement.fromDom(editor.getBody()));\n          deleteElement$2(editor, forward, SugarElement.fromDom(editor.selection.getNode()));\n          paddEmptyBody(editor);\n        }), () => Optional.some(noop));\n      }\n      if (isCefAtEdgeSelected(editor)) {\n        return Optional.some(() => {\n          deleteRangeContents(editor, editor.selection.getRng(), SugarElement.fromDom(editor.getBody()));\n        });\n      }\n      return Optional.none();\n    };\n    const paddEmptyElement = editor => {\n      const dom = editor.dom,\n        selection = editor.selection;\n      const ceRoot = getContentEditableRoot$1(editor.getBody(), selection.getNode());\n      if (isContentEditableTrue$3(ceRoot) && dom.isBlock(ceRoot) && dom.isEmpty(ceRoot)) {\n        const br = dom.create('br', {\n          'data-mce-bogus': '1'\n        });\n        dom.setHTML(ceRoot, '');\n        ceRoot.appendChild(br);\n        selection.setRng(CaretPosition.before(br).toRange());\n      }\n      return true;\n    };\n    const backspaceDelete$6 = (editor, forward) => {\n      if (editor.selection.isCollapsed()) {\n        return backspaceDeleteCaret(editor, forward);\n      } else {\n        return backspaceDeleteRange(editor, forward);\n      }\n    };\n\n    const deleteCaret$2 = (editor, forward) => {\n      const fromPos = CaretPosition.fromRangeStart(editor.selection.getRng());\n      return fromPosition(forward, editor.getBody(), fromPos).filter(pos => forward ? isBeforeImageBlock(pos) : isAfterImageBlock(pos)).bind(pos => getChildNodeAtRelativeOffset(forward ? 0 : -1, pos)).map(elm => () => editor.selection.select(elm));\n    };\n    const backspaceDelete$5 = (editor, forward) => editor.selection.isCollapsed() ? deleteCaret$2(editor, forward) : Optional.none();\n\n    const isText$2 = isText$a;\n    const startsWithCaretContainer = node => isText$2(node) && node.data[0] === ZWSP$1;\n    const endsWithCaretContainer = node => isText$2(node) && node.data[node.data.length - 1] === ZWSP$1;\n    const createZwsp = node => {\n      var _a;\n      const doc = (_a = node.ownerDocument) !== null && _a !== void 0 ? _a : document;\n      return doc.createTextNode(ZWSP$1);\n    };\n    const insertBefore$1 = node => {\n      var _a;\n      if (isText$2(node.previousSibling)) {\n        if (endsWithCaretContainer(node.previousSibling)) {\n          return node.previousSibling;\n        } else {\n          node.previousSibling.appendData(ZWSP$1);\n          return node.previousSibling;\n        }\n      } else if (isText$2(node)) {\n        if (startsWithCaretContainer(node)) {\n          return node;\n        } else {\n          node.insertData(0, ZWSP$1);\n          return node;\n        }\n      } else {\n        const newNode = createZwsp(node);\n        (_a = node.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(newNode, node);\n        return newNode;\n      }\n    };\n    const insertAfter$1 = node => {\n      var _a, _b;\n      if (isText$2(node.nextSibling)) {\n        if (startsWithCaretContainer(node.nextSibling)) {\n          return node.nextSibling;\n        } else {\n          node.nextSibling.insertData(0, ZWSP$1);\n          return node.nextSibling;\n        }\n      } else if (isText$2(node)) {\n        if (endsWithCaretContainer(node)) {\n          return node;\n        } else {\n          node.appendData(ZWSP$1);\n          return node;\n        }\n      } else {\n        const newNode = createZwsp(node);\n        if (node.nextSibling) {\n          (_a = node.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(newNode, node.nextSibling);\n        } else {\n          (_b = node.parentNode) === null || _b === void 0 ? void 0 : _b.appendChild(newNode);\n        }\n        return newNode;\n      }\n    };\n    const insertInline = (before, node) => before ? insertBefore$1(node) : insertAfter$1(node);\n    const insertInlineBefore = curry(insertInline, true);\n    const insertInlineAfter = curry(insertInline, false);\n\n    const insertInlinePos = (pos, before) => {\n      if (isText$a(pos.container())) {\n        return insertInline(before, pos.container());\n      } else {\n        return insertInline(before, pos.getNode());\n      }\n    };\n    const isPosCaretContainer = (pos, caret) => {\n      const caretNode = caret.get();\n      return caretNode && pos.container() === caretNode && isCaretContainerInline(caretNode);\n    };\n    const renderCaret = (caret, location) => location.fold(element => {\n      remove$3(caret.get());\n      const text = insertInlineBefore(element);\n      caret.set(text);\n      return Optional.some(CaretPosition(text, text.length - 1));\n    }, element => firstPositionIn(element).map(pos => {\n      if (!isPosCaretContainer(pos, caret)) {\n        remove$3(caret.get());\n        const text = insertInlinePos(pos, true);\n        caret.set(text);\n        return CaretPosition(text, 1);\n      } else {\n        const node = caret.get();\n        return CaretPosition(node, 1);\n      }\n    }), element => lastPositionIn(element).map(pos => {\n      if (!isPosCaretContainer(pos, caret)) {\n        remove$3(caret.get());\n        const text = insertInlinePos(pos, false);\n        caret.set(text);\n        return CaretPosition(text, text.length - 1);\n      } else {\n        const node = caret.get();\n        return CaretPosition(node, node.length - 1);\n      }\n    }), element => {\n      remove$3(caret.get());\n      const text = insertInlineAfter(element);\n      caret.set(text);\n      return Optional.some(CaretPosition(text, 1));\n    });\n\n    const evaluateUntil = (fns, args) => {\n      for (let i = 0; i < fns.length; i++) {\n        const result = fns[i].apply(null, args);\n        if (result.isSome()) {\n          return result;\n        }\n      }\n      return Optional.none();\n    };\n\n    const Location = Adt.generate([{\n      before: ['element']\n    }, {\n      start: ['element']\n    }, {\n      end: ['element']\n    }, {\n      after: ['element']\n    }]);\n    const rescope$1 = (rootNode, node) => {\n      const parentBlock = getParentBlock$3(node, rootNode);\n      return parentBlock ? parentBlock : rootNode;\n    };\n    const before = (isInlineTarget, rootNode, pos) => {\n      const nPos = normalizeForwards(pos);\n      const scope = rescope$1(rootNode, nPos.container());\n      return findRootInline(isInlineTarget, scope, nPos).fold(() => nextPosition(scope, nPos).bind(curry(findRootInline, isInlineTarget, scope)).map(inline => Location.before(inline)), Optional.none);\n    };\n    const isNotInsideFormatCaretContainer = (rootNode, elm) => getParentCaretContainer(rootNode, elm) === null;\n    const findInsideRootInline = (isInlineTarget, rootNode, pos) => findRootInline(isInlineTarget, rootNode, pos).filter(curry(isNotInsideFormatCaretContainer, rootNode));\n    const start$1 = (isInlineTarget, rootNode, pos) => {\n      const nPos = normalizeBackwards(pos);\n      return findInsideRootInline(isInlineTarget, rootNode, nPos).bind(inline => {\n        const prevPos = prevPosition(inline, nPos);\n        return prevPos.isNone() ? Optional.some(Location.start(inline)) : Optional.none();\n      });\n    };\n    const end = (isInlineTarget, rootNode, pos) => {\n      const nPos = normalizeForwards(pos);\n      return findInsideRootInline(isInlineTarget, rootNode, nPos).bind(inline => {\n        const nextPos = nextPosition(inline, nPos);\n        return nextPos.isNone() ? Optional.some(Location.end(inline)) : Optional.none();\n      });\n    };\n    const after = (isInlineTarget, rootNode, pos) => {\n      const nPos = normalizeBackwards(pos);\n      const scope = rescope$1(rootNode, nPos.container());\n      return findRootInline(isInlineTarget, scope, nPos).fold(() => prevPosition(scope, nPos).bind(curry(findRootInline, isInlineTarget, scope)).map(inline => Location.after(inline)), Optional.none);\n    };\n    const isValidLocation = location => !isRtl(getElement(location));\n    const readLocation = (isInlineTarget, rootNode, pos) => {\n      const location = evaluateUntil([before, start$1, end, after], [isInlineTarget, rootNode, pos]);\n      return location.filter(isValidLocation);\n    };\n    const getElement = location => location.fold(identity, identity, identity, identity);\n    const getName = location => location.fold(constant('before'), constant('start'), constant('end'), constant('after'));\n    const outside = location => location.fold(Location.before, Location.before, Location.after, Location.after);\n    const inside = location => location.fold(Location.start, Location.start, Location.end, Location.end);\n    const isEq = (location1, location2) => getName(location1) === getName(location2) && getElement(location1) === getElement(location2);\n    const betweenInlines = (forward, isInlineTarget, rootNode, from, to, location) => lift2(findRootInline(isInlineTarget, rootNode, from), findRootInline(isInlineTarget, rootNode, to), (fromInline, toInline) => {\n      if (fromInline !== toInline && hasSameParentBlock(rootNode, fromInline, toInline)) {\n        return Location.after(forward ? fromInline : toInline);\n      } else {\n        return location;\n      }\n    }).getOr(location);\n    const skipNoMovement = (fromLocation, toLocation) => fromLocation.fold(always, fromLocation => !isEq(fromLocation, toLocation));\n    const findLocationTraverse = (forward, isInlineTarget, rootNode, fromLocation, pos) => {\n      const from = normalizePosition(forward, pos);\n      const to = fromPosition(forward, rootNode, from).map(curry(normalizePosition, forward));\n      const location = to.fold(() => fromLocation.map(outside), to => readLocation(isInlineTarget, rootNode, to).map(curry(betweenInlines, forward, isInlineTarget, rootNode, from, to)).filter(curry(skipNoMovement, fromLocation)));\n      return location.filter(isValidLocation);\n    };\n    const findLocationSimple = (forward, location) => {\n      if (forward) {\n        return location.fold(compose(Optional.some, Location.start), Optional.none, compose(Optional.some, Location.after), Optional.none);\n      } else {\n        return location.fold(Optional.none, compose(Optional.some, Location.before), Optional.none, compose(Optional.some, Location.end));\n      }\n    };\n    const findLocation$1 = (forward, isInlineTarget, rootNode, pos) => {\n      const from = normalizePosition(forward, pos);\n      const fromLocation = readLocation(isInlineTarget, rootNode, from);\n      return readLocation(isInlineTarget, rootNode, from).bind(curry(findLocationSimple, forward)).orThunk(() => findLocationTraverse(forward, isInlineTarget, rootNode, fromLocation, pos));\n    };\n\n    const hasSelectionModifyApi = editor => {\n      return isFunction(editor.selection.getSel().modify);\n    };\n    const moveRel = (forward, selection, pos) => {\n      const delta = forward ? 1 : -1;\n      selection.setRng(CaretPosition(pos.container(), pos.offset() + delta).toRange());\n      selection.getSel().modify('move', forward ? 'forward' : 'backward', 'word');\n      return true;\n    };\n    const moveByWord = (forward, editor) => {\n      const rng = editor.selection.getRng();\n      const pos = forward ? CaretPosition.fromRangeEnd(rng) : CaretPosition.fromRangeStart(rng);\n      if (!hasSelectionModifyApi(editor)) {\n        return false;\n      } else if (forward && isBeforeInline(pos)) {\n        return moveRel(true, editor.selection, pos);\n      } else if (!forward && isAfterInline(pos)) {\n        return moveRel(false, editor.selection, pos);\n      } else {\n        return false;\n      }\n    };\n\n    var BreakType;\n    (function (BreakType) {\n      BreakType[BreakType['Br'] = 0] = 'Br';\n      BreakType[BreakType['Block'] = 1] = 'Block';\n      BreakType[BreakType['Wrap'] = 2] = 'Wrap';\n      BreakType[BreakType['Eol'] = 3] = 'Eol';\n    })(BreakType || (BreakType = {}));\n    const flip = (direction, positions) => direction === HDirection.Backwards ? reverse(positions) : positions;\n    const walk$1 = (direction, caretWalker, pos) => direction === HDirection.Forwards ? caretWalker.next(pos) : caretWalker.prev(pos);\n    const getBreakType = (scope, direction, currentPos, nextPos) => {\n      if (isBr$6(nextPos.getNode(direction === HDirection.Forwards))) {\n        return BreakType.Br;\n      } else if (isInSameBlock(currentPos, nextPos) === false) {\n        return BreakType.Block;\n      } else {\n        return BreakType.Wrap;\n      }\n    };\n    const getPositionsUntil = (predicate, direction, scope, start) => {\n      const caretWalker = CaretWalker(scope);\n      let currentPos = start;\n      const positions = [];\n      while (currentPos) {\n        const nextPos = walk$1(direction, caretWalker, currentPos);\n        if (!nextPos) {\n          break;\n        }\n        if (isBr$6(nextPos.getNode(false))) {\n          if (direction === HDirection.Forwards) {\n            return {\n              positions: flip(direction, positions).concat([nextPos]),\n              breakType: BreakType.Br,\n              breakAt: Optional.some(nextPos)\n            };\n          } else {\n            return {\n              positions: flip(direction, positions),\n              breakType: BreakType.Br,\n              breakAt: Optional.some(nextPos)\n            };\n          }\n        }\n        if (!nextPos.isVisible()) {\n          currentPos = nextPos;\n          continue;\n        }\n        if (predicate(currentPos, nextPos)) {\n          const breakType = getBreakType(scope, direction, currentPos, nextPos);\n          return {\n            positions: flip(direction, positions),\n            breakType,\n            breakAt: Optional.some(nextPos)\n          };\n        }\n        positions.push(nextPos);\n        currentPos = nextPos;\n      }\n      return {\n        positions: flip(direction, positions),\n        breakType: BreakType.Eol,\n        breakAt: Optional.none()\n      };\n    };\n    const getAdjacentLinePositions = (direction, getPositionsUntilBreak, scope, start) => getPositionsUntilBreak(scope, start).breakAt.map(pos => {\n      const positions = getPositionsUntilBreak(scope, pos).positions;\n      return direction === HDirection.Backwards ? positions.concat(pos) : [pos].concat(positions);\n    }).getOr([]);\n    const findClosestHorizontalPositionFromPoint = (positions, x) => foldl(positions, (acc, newPos) => acc.fold(() => Optional.some(newPos), lastPos => lift2(head(lastPos.getClientRects()), head(newPos.getClientRects()), (lastRect, newRect) => {\n      const lastDist = Math.abs(x - lastRect.left);\n      const newDist = Math.abs(x - newRect.left);\n      return newDist <= lastDist ? newPos : lastPos;\n    }).or(acc)), Optional.none());\n    const findClosestHorizontalPosition = (positions, pos) => head(pos.getClientRects()).bind(targetRect => findClosestHorizontalPositionFromPoint(positions, targetRect.left));\n    const getPositionsUntilPreviousLine = curry(getPositionsUntil, CaretPosition.isAbove, -1);\n    const getPositionsUntilNextLine = curry(getPositionsUntil, CaretPosition.isBelow, 1);\n    const getPositionsAbove = curry(getAdjacentLinePositions, -1, getPositionsUntilPreviousLine);\n    const getPositionsBelow = curry(getAdjacentLinePositions, 1, getPositionsUntilNextLine);\n    const isAtFirstLine = (scope, pos) => getPositionsUntilPreviousLine(scope, pos).breakAt.isNone();\n    const isAtLastLine = (scope, pos) => getPositionsUntilNextLine(scope, pos).breakAt.isNone();\n    const getFirstLinePositions = scope => firstPositionIn(scope).map(pos => [pos].concat(getPositionsUntilNextLine(scope, pos).positions)).getOr([]);\n    const getLastLinePositions = scope => lastPositionIn(scope).map(pos => getPositionsUntilPreviousLine(scope, pos).positions.concat(pos)).getOr([]);\n    const getClosestPositionAbove = (scope, pos) => findClosestHorizontalPosition(getPositionsAbove(scope, pos), pos);\n    const getClosestPositionBelow = (scope, pos) => findClosestHorizontalPosition(getPositionsBelow(scope, pos), pos);\n\n    const isContentEditableFalse$4 = isContentEditableFalse$b;\n    const distanceToRectLeft$1 = (clientRect, clientX) => Math.abs(clientRect.left - clientX);\n    const distanceToRectRight$1 = (clientRect, clientX) => Math.abs(clientRect.right - clientX);\n    const isNodeClientRect = rect => hasNonNullableKey(rect, 'node');\n    const findClosestClientRect = (clientRects, clientX) => reduce(clientRects, (oldClientRect, clientRect) => {\n      const oldDistance = Math.min(distanceToRectLeft$1(oldClientRect, clientX), distanceToRectRight$1(oldClientRect, clientX));\n      const newDistance = Math.min(distanceToRectLeft$1(clientRect, clientX), distanceToRectRight$1(clientRect, clientX));\n      if (newDistance === oldDistance && isNodeClientRect(clientRect) && isContentEditableFalse$4(clientRect.node)) {\n        return clientRect;\n      }\n      if (newDistance < oldDistance) {\n        return clientRect;\n      }\n      return oldClientRect;\n    });\n\n    const getNodeClientRects = node => {\n      const toArrayWithNode = clientRects => {\n        return map$3(clientRects, rect => {\n          const clientRect = clone$1(rect);\n          clientRect.node = node;\n          return clientRect;\n        });\n      };\n      if (isElement$6(node)) {\n        return toArrayWithNode(node.getClientRects());\n      } else if (isText$a(node)) {\n        const rng = node.ownerDocument.createRange();\n        rng.setStart(node, 0);\n        rng.setEnd(node, node.data.length);\n        return toArrayWithNode(rng.getClientRects());\n      } else {\n        return [];\n      }\n    };\n    const getClientRects = nodes => bind$3(nodes, getNodeClientRects);\n\n    var VDirection;\n    (function (VDirection) {\n      VDirection[VDirection['Up'] = -1] = 'Up';\n      VDirection[VDirection['Down'] = 1] = 'Down';\n    })(VDirection || (VDirection = {}));\n    const findUntil = (direction, root, predicateFn, node) => {\n      let currentNode = node;\n      while (currentNode = findNode(currentNode, direction, isEditableCaretCandidate$1, root)) {\n        if (predicateFn(currentNode)) {\n          return;\n        }\n      }\n    };\n    const walkUntil = (direction, isAboveFn, isBeflowFn, root, predicateFn, caretPosition) => {\n      let line = 0;\n      const result = [];\n      const add = node => {\n        let clientRects = getClientRects([node]);\n        if (direction === -1) {\n          clientRects = clientRects.reverse();\n        }\n        for (let i = 0; i < clientRects.length; i++) {\n          const clientRect = clientRects[i];\n          if (isBeflowFn(clientRect, targetClientRect)) {\n            continue;\n          }\n          if (result.length > 0 && isAboveFn(clientRect, last$2(result))) {\n            line++;\n          }\n          clientRect.line = line;\n          if (predicateFn(clientRect)) {\n            return true;\n          }\n          result.push(clientRect);\n        }\n        return false;\n      };\n      const targetClientRect = last$2(caretPosition.getClientRects());\n      if (!targetClientRect) {\n        return result;\n      }\n      const node = caretPosition.getNode();\n      if (node) {\n        add(node);\n        findUntil(direction, root, add, node);\n      }\n      return result;\n    };\n    const aboveLineNumber = (lineNumber, clientRect) => clientRect.line > lineNumber;\n    const isLineNumber = (lineNumber, clientRect) => clientRect.line === lineNumber;\n    const upUntil = curry(walkUntil, VDirection.Up, isAbove$1, isBelow$1);\n    const downUntil = curry(walkUntil, VDirection.Down, isBelow$1, isAbove$1);\n    const getLastClientRect = caretPosition => {\n      return last$2(caretPosition.getClientRects());\n    };\n    const positionsUntil = (direction, root, predicateFn, node) => {\n      const caretWalker = CaretWalker(root);\n      let walkFn;\n      let isBelowFn;\n      let isAboveFn;\n      let caretPosition;\n      const result = [];\n      let line = 0;\n      if (direction === 1) {\n        walkFn = caretWalker.next;\n        isBelowFn = isBelow$1;\n        isAboveFn = isAbove$1;\n        caretPosition = CaretPosition.after(node);\n      } else {\n        walkFn = caretWalker.prev;\n        isBelowFn = isAbove$1;\n        isAboveFn = isBelow$1;\n        caretPosition = CaretPosition.before(node);\n      }\n      const targetClientRect = getLastClientRect(caretPosition);\n      do {\n        if (!caretPosition.isVisible()) {\n          continue;\n        }\n        const rect = getLastClientRect(caretPosition);\n        if (isAboveFn(rect, targetClientRect)) {\n          continue;\n        }\n        if (result.length > 0 && isBelowFn(rect, last$2(result))) {\n          line++;\n        }\n        const clientRect = clone$1(rect);\n        clientRect.position = caretPosition;\n        clientRect.line = line;\n        if (predicateFn(clientRect)) {\n          return result;\n        }\n        result.push(clientRect);\n      } while (caretPosition = walkFn(caretPosition));\n      return result;\n    };\n    const isAboveLine = lineNumber => clientRect => aboveLineNumber(lineNumber, clientRect);\n    const isLine = lineNumber => clientRect => isLineNumber(lineNumber, clientRect);\n\n    const moveToRange = (editor, rng) => {\n      editor.selection.setRng(rng);\n      scrollRangeIntoView(editor, editor.selection.getRng());\n    };\n    const renderRangeCaretOpt = (editor, range, scrollIntoView) => Optional.some(renderRangeCaret(editor, range, scrollIntoView));\n    const moveHorizontally = (editor, direction, range, isBefore, isAfter, isElement) => {\n      const forwards = direction === HDirection.Forwards;\n      const caretWalker = CaretWalker(editor.getBody());\n      const getNextPosFn = curry(getVisualCaretPosition, forwards ? caretWalker.next : caretWalker.prev);\n      const isBeforeFn = forwards ? isBefore : isAfter;\n      if (!range.collapsed) {\n        const node = getSelectedNode(range);\n        if (isElement(node)) {\n          return showCaret(direction, editor, node, direction === HDirection.Backwards, false);\n        } else if (isCefAtEdgeSelected(editor)) {\n          const newRange = range.cloneRange();\n          newRange.collapse(direction === HDirection.Backwards);\n          return Optional.from(newRange);\n        }\n      }\n      const caretPosition = getNormalizedRangeEndPoint(direction, editor.getBody(), range);\n      if (isBeforeFn(caretPosition)) {\n        return selectNode(editor, caretPosition.getNode(!forwards));\n      }\n      let nextCaretPosition = getNextPosFn(caretPosition);\n      const rangeIsInContainerBlock = isRangeInCaretContainerBlock(range);\n      if (!nextCaretPosition) {\n        return rangeIsInContainerBlock ? Optional.some(range) : Optional.none();\n      } else {\n        nextCaretPosition = normalizePosition(forwards, nextCaretPosition);\n      }\n      if (isBeforeFn(nextCaretPosition)) {\n        return showCaret(direction, editor, nextCaretPosition.getNode(!forwards), forwards, false);\n      }\n      const peekCaretPosition = getNextPosFn(nextCaretPosition);\n      if (peekCaretPosition && isBeforeFn(peekCaretPosition)) {\n        if (isMoveInsideSameBlock(nextCaretPosition, peekCaretPosition)) {\n          return showCaret(direction, editor, peekCaretPosition.getNode(!forwards), forwards, false);\n        }\n      }\n      if (rangeIsInContainerBlock) {\n        return renderRangeCaretOpt(editor, nextCaretPosition.toRange(), false);\n      }\n      return Optional.none();\n    };\n    const moveVertically = (editor, direction, range, isBefore, isAfter, isElement) => {\n      const caretPosition = getNormalizedRangeEndPoint(direction, editor.getBody(), range);\n      const caretClientRect = last$2(caretPosition.getClientRects());\n      const forwards = direction === VDirection.Down;\n      const root = editor.getBody();\n      if (!caretClientRect) {\n        return Optional.none();\n      }\n      if (isCefAtEdgeSelected(editor)) {\n        const caretPosition = forwards ? CaretPosition.fromRangeEnd(range) : CaretPosition.fromRangeStart(range);\n        const getClosestFn = !forwards ? getClosestPositionAbove : getClosestPositionBelow;\n        return getClosestFn(root, caretPosition).orThunk(() => Optional.from(caretPosition)).map(pos => pos.toRange());\n      }\n      const walkerFn = forwards ? downUntil : upUntil;\n      const linePositions = walkerFn(root, isAboveLine(1), caretPosition);\n      const nextLinePositions = filter$5(linePositions, isLine(1));\n      const clientX = caretClientRect.left;\n      const nextLineRect = findClosestClientRect(nextLinePositions, clientX);\n      if (nextLineRect && isElement(nextLineRect.node)) {\n        const dist1 = Math.abs(clientX - nextLineRect.left);\n        const dist2 = Math.abs(clientX - nextLineRect.right);\n        return showCaret(direction, editor, nextLineRect.node, dist1 < dist2, false);\n      }\n      let currentNode;\n      if (isBefore(caretPosition)) {\n        currentNode = caretPosition.getNode();\n      } else if (isAfter(caretPosition)) {\n        currentNode = caretPosition.getNode(true);\n      } else {\n        currentNode = getSelectedNode(range);\n      }\n      if (currentNode) {\n        const caretPositions = positionsUntil(direction, root, isAboveLine(1), currentNode);\n        let closestNextLineRect = findClosestClientRect(filter$5(caretPositions, isLine(1)), clientX);\n        if (closestNextLineRect) {\n          return renderRangeCaretOpt(editor, closestNextLineRect.position.toRange(), false);\n        }\n        closestNextLineRect = last$2(filter$5(caretPositions, isLine(0)));\n        if (closestNextLineRect) {\n          return renderRangeCaretOpt(editor, closestNextLineRect.position.toRange(), false);\n        }\n      }\n      if (nextLinePositions.length === 0) {\n        return getLineEndPoint(editor, forwards).filter(forwards ? isAfter : isBefore).map(pos => renderRangeCaret(editor, pos.toRange(), false));\n      }\n      return Optional.none();\n    };\n    const getLineEndPoint = (editor, forward) => {\n      const rng = editor.selection.getRng();\n      const from = forward ? CaretPosition.fromRangeEnd(rng) : CaretPosition.fromRangeStart(rng);\n      const host = getEditingHost(from.container(), editor.getBody());\n      if (forward) {\n        const lineInfo = getPositionsUntilNextLine(host, from);\n        return last$3(lineInfo.positions);\n      } else {\n        const lineInfo = getPositionsUntilPreviousLine(host, from);\n        return head(lineInfo.positions);\n      }\n    };\n    const moveToLineEndPoint$3 = (editor, forward, isElementPosition) => getLineEndPoint(editor, forward).filter(isElementPosition).exists(pos => {\n      editor.selection.setRng(pos.toRange());\n      return true;\n    });\n\n    const setCaretPosition = (editor, pos) => {\n      const rng = editor.dom.createRng();\n      rng.setStart(pos.container(), pos.offset());\n      rng.setEnd(pos.container(), pos.offset());\n      editor.selection.setRng(rng);\n    };\n    const setSelected = (state, elm) => {\n      if (state) {\n        elm.setAttribute('data-mce-selected', 'inline-boundary');\n      } else {\n        elm.removeAttribute('data-mce-selected');\n      }\n    };\n    const renderCaretLocation = (editor, caret, location) => renderCaret(caret, location).map(pos => {\n      setCaretPosition(editor, pos);\n      return location;\n    });\n    const getPositionFromRange = (range, root, forward) => {\n      const start = CaretPosition.fromRangeStart(range);\n      if (range.collapsed) {\n        return start;\n      } else {\n        const end = CaretPosition.fromRangeEnd(range);\n        return forward ? prevPosition(root, end).getOr(end) : nextPosition(root, start).getOr(start);\n      }\n    };\n    const findLocation = (editor, caret, forward) => {\n      const rootNode = editor.getBody();\n      const from = getPositionFromRange(editor.selection.getRng(), rootNode, forward);\n      const isInlineTarget$1 = curry(isInlineTarget, editor);\n      const location = findLocation$1(forward, isInlineTarget$1, rootNode, from);\n      return location.bind(location => renderCaretLocation(editor, caret, location));\n    };\n    const toggleInlines = (isInlineTarget, dom, elms) => {\n      const inlineBoundaries = map$3(descendants(SugarElement.fromDom(dom.getRoot()), '*[data-mce-selected=\"inline-boundary\"]'), e => e.dom);\n      const selectedInlines = filter$5(inlineBoundaries, isInlineTarget);\n      const targetInlines = filter$5(elms, isInlineTarget);\n      each$e(difference(selectedInlines, targetInlines), curry(setSelected, false));\n      each$e(difference(targetInlines, selectedInlines), curry(setSelected, true));\n    };\n    const safeRemoveCaretContainer = (editor, caret) => {\n      const caretValue = caret.get();\n      if (editor.selection.isCollapsed() && !editor.composing && caretValue) {\n        const pos = CaretPosition.fromRangeStart(editor.selection.getRng());\n        if (CaretPosition.isTextPosition(pos) && !isAtZwsp(pos)) {\n          setCaretPosition(editor, removeAndReposition(caretValue, pos));\n          caret.set(null);\n        }\n      }\n    };\n    const renderInsideInlineCaret = (isInlineTarget, editor, caret, elms) => {\n      if (editor.selection.isCollapsed()) {\n        const inlines = filter$5(elms, isInlineTarget);\n        each$e(inlines, _inline => {\n          const pos = CaretPosition.fromRangeStart(editor.selection.getRng());\n          readLocation(isInlineTarget, editor.getBody(), pos).bind(location => renderCaretLocation(editor, caret, location));\n        });\n      }\n    };\n    const move$3 = (editor, caret, forward) => isInlineBoundariesEnabled(editor) ? findLocation(editor, caret, forward).isSome() : false;\n    const moveWord = (forward, editor, _caret) => isInlineBoundariesEnabled(editor) ? moveByWord(forward, editor) : false;\n    const setupSelectedState = editor => {\n      const caret = Cell(null);\n      const isInlineTarget$1 = curry(isInlineTarget, editor);\n      editor.on('NodeChange', e => {\n        if (isInlineBoundariesEnabled(editor)) {\n          toggleInlines(isInlineTarget$1, editor.dom, e.parents);\n          safeRemoveCaretContainer(editor, caret);\n          renderInsideInlineCaret(isInlineTarget$1, editor, caret, e.parents);\n        }\n      });\n      return caret;\n    };\n    const moveNextWord = curry(moveWord, true);\n    const movePrevWord = curry(moveWord, false);\n    const moveToLineEndPoint$2 = (editor, forward, caret) => {\n      if (isInlineBoundariesEnabled(editor)) {\n        const linePoint = getLineEndPoint(editor, forward).getOrThunk(() => {\n          const rng = editor.selection.getRng();\n          return forward ? CaretPosition.fromRangeEnd(rng) : CaretPosition.fromRangeStart(rng);\n        });\n        return readLocation(curry(isInlineTarget, editor), editor.getBody(), linePoint).exists(loc => {\n          const outsideLoc = outside(loc);\n          return renderCaret(caret, outsideLoc).exists(pos => {\n            setCaretPosition(editor, pos);\n            return true;\n          });\n        });\n      } else {\n        return false;\n      }\n    };\n\n    const rangeFromPositions = (from, to) => {\n      const range = document.createRange();\n      range.setStart(from.container(), from.offset());\n      range.setEnd(to.container(), to.offset());\n      return range;\n    };\n    const hasOnlyTwoOrLessPositionsLeft = elm => lift2(firstPositionIn(elm), lastPositionIn(elm), (firstPos, lastPos) => {\n      const normalizedFirstPos = normalizePosition(true, firstPos);\n      const normalizedLastPos = normalizePosition(false, lastPos);\n      return nextPosition(elm, normalizedFirstPos).forall(pos => pos.isEqual(normalizedLastPos));\n    }).getOr(true);\n    const setCaretLocation = (editor, caret) => location => renderCaret(caret, location).map(pos => () => setCaretPosition(editor, pos));\n    const deleteFromTo = (editor, caret, from, to) => {\n      const rootNode = editor.getBody();\n      const isInlineTarget$1 = curry(isInlineTarget, editor);\n      editor.undoManager.ignore(() => {\n        editor.selection.setRng(rangeFromPositions(from, to));\n        execNativeDeleteCommand(editor);\n        readLocation(isInlineTarget$1, rootNode, CaretPosition.fromRangeStart(editor.selection.getRng())).map(inside).bind(setCaretLocation(editor, caret)).each(call);\n      });\n      editor.nodeChanged();\n    };\n    const rescope = (rootNode, node) => {\n      const parentBlock = getParentBlock$3(node, rootNode);\n      return parentBlock ? parentBlock : rootNode;\n    };\n    const backspaceDeleteCollapsed = (editor, caret, forward, from) => {\n      const rootNode = rescope(editor.getBody(), from.container());\n      const isInlineTarget$1 = curry(isInlineTarget, editor);\n      const fromLocation = readLocation(isInlineTarget$1, rootNode, from);\n      const location = fromLocation.bind(location => {\n        if (forward) {\n          return location.fold(constant(Optional.some(inside(location))), Optional.none, constant(Optional.some(outside(location))), Optional.none);\n        } else {\n          return location.fold(Optional.none, constant(Optional.some(outside(location))), Optional.none, constant(Optional.some(inside(location))));\n        }\n      });\n      return location.map(setCaretLocation(editor, caret)).getOrThunk(() => {\n        const toPosition = navigate(forward, rootNode, from);\n        const toLocation = toPosition.bind(pos => readLocation(isInlineTarget$1, rootNode, pos));\n        return lift2(fromLocation, toLocation, () => findRootInline(isInlineTarget$1, rootNode, from).bind(elm => {\n          if (hasOnlyTwoOrLessPositionsLeft(elm)) {\n            return Optional.some(() => {\n              deleteElement$2(editor, forward, SugarElement.fromDom(elm));\n            });\n          } else {\n            return Optional.none();\n          }\n        })).getOrThunk(() => toLocation.bind(() => toPosition.map(to => {\n          return () => {\n            if (forward) {\n              deleteFromTo(editor, caret, from, to);\n            } else {\n              deleteFromTo(editor, caret, to, from);\n            }\n          };\n        })));\n      });\n    };\n    const backspaceDelete$4 = (editor, caret, forward) => {\n      if (editor.selection.isCollapsed() && isInlineBoundariesEnabled(editor)) {\n        const from = CaretPosition.fromRangeStart(editor.selection.getRng());\n        return backspaceDeleteCollapsed(editor, caret, forward, from);\n      }\n      return Optional.none();\n    };\n\n    const hasMultipleChildren = elm => childNodesCount(elm) > 1;\n    const getParentsUntil = (editor, pred) => {\n      const rootElm = SugarElement.fromDom(editor.getBody());\n      const startElm = SugarElement.fromDom(editor.selection.getStart());\n      const parents = parentsAndSelf(startElm, rootElm);\n      return findIndex$2(parents, pred).fold(constant(parents), index => parents.slice(0, index));\n    };\n    const hasOnlyOneChild = elm => childNodesCount(elm) === 1;\n    const getParentInlinesUntilMultichildInline = editor => getParentsUntil(editor, elm => editor.schema.isBlock(name(elm)) || hasMultipleChildren(elm));\n    const getParentInlines = editor => getParentsUntil(editor, el => editor.schema.isBlock(name(el)));\n    const getFormatNodes = (editor, parentInlines) => {\n      const isFormatElement$1 = curry(isFormatElement, editor);\n      return bind$3(parentInlines, elm => isFormatElement$1(elm) ? [elm.dom] : []);\n    };\n    const getFormatNodesAtStart = editor => {\n      const parentInlines = getParentInlines(editor);\n      return getFormatNodes(editor, parentInlines);\n    };\n    const deleteLastPosition = (forward, editor, target, parentInlines) => {\n      const formatNodes = getFormatNodes(editor, parentInlines);\n      if (formatNodes.length === 0) {\n        deleteElement$2(editor, forward, target);\n      } else {\n        const pos = replaceWithCaretFormat(target.dom, formatNodes);\n        editor.selection.setRng(pos.toRange());\n      }\n    };\n    const deleteCaret$1 = (editor, forward) => {\n      const parentInlines = filter$5(getParentInlinesUntilMultichildInline(editor), hasOnlyOneChild);\n      return last$3(parentInlines).bind(target => {\n        const fromPos = CaretPosition.fromRangeStart(editor.selection.getRng());\n        if (willDeleteLastPositionInElement(forward, fromPos, target.dom) && !isEmptyCaretFormatElement(target)) {\n          return Optional.some(() => deleteLastPosition(forward, editor, target, parentInlines));\n        } else {\n          return Optional.none();\n        }\n      });\n    };\n    const isBrInEmptyElement = (editor, elm) => {\n      const parentElm = elm.parentElement;\n      return isBr$6(elm) && !isNull(parentElm) && editor.dom.isEmpty(parentElm);\n    };\n    const isEmptyCaret = elm => isEmptyCaretFormatElement(SugarElement.fromDom(elm));\n    const createCaretFormatAtStart = (editor, formatNodes) => {\n      const startElm = editor.selection.getStart();\n      const pos = isBrInEmptyElement(editor, startElm) || isEmptyCaret(startElm) ? replaceWithCaretFormat(startElm, formatNodes) : createCaretFormatAtStart$1(editor.selection.getRng(), formatNodes);\n      editor.selection.setRng(pos.toRange());\n    };\n    const updateCaretFormat = (editor, updateFormats) => {\n      const missingFormats = difference(updateFormats, getFormatNodesAtStart(editor));\n      if (missingFormats.length > 0) {\n        createCaretFormatAtStart(editor, missingFormats);\n      }\n    };\n    const rangeStartsAtTextContainer = rng => isText$a(rng.startContainer);\n    const rangeStartsAtStartOfTextContainer = rng => rng.startOffset === 0 && rangeStartsAtTextContainer(rng);\n    const rangeStartParentIsFormatElement = (editor, rng) => {\n      const startParent = rng.startContainer.parentElement;\n      return !isNull(startParent) && isFormatElement(editor, SugarElement.fromDom(startParent));\n    };\n    const rangeStartAndEndHaveSameParent = rng => {\n      const startParent = rng.startContainer.parentNode;\n      const endParent = rng.endContainer.parentNode;\n      return !isNull(startParent) && !isNull(endParent) && startParent.isEqualNode(endParent);\n    };\n    const rangeEndsAtEndOfEndContainer = rng => {\n      const endContainer = rng.endContainer;\n      return rng.endOffset === (isText$a(endContainer) ? endContainer.length : endContainer.childNodes.length);\n    };\n    const rangeEndsAtEndOfStartContainer = rng => rangeStartAndEndHaveSameParent(rng) && rangeEndsAtEndOfEndContainer(rng);\n    const rangeEndsAfterEndOfStartContainer = rng => !rng.endContainer.isEqualNode(rng.commonAncestorContainer);\n    const rangeEndsAtOrAfterEndOfStartContainer = rng => rangeEndsAtEndOfStartContainer(rng) || rangeEndsAfterEndOfStartContainer(rng);\n    const requiresDeleteRangeOverride = editor => {\n      const rng = editor.selection.getRng();\n      return rangeStartsAtStartOfTextContainer(rng) && rangeStartParentIsFormatElement(editor, rng) && rangeEndsAtOrAfterEndOfStartContainer(rng);\n    };\n    const deleteRange$1 = editor => {\n      if (requiresDeleteRangeOverride(editor)) {\n        const formatNodes = getFormatNodesAtStart(editor);\n        return Optional.some(() => {\n          execNativeDeleteCommand(editor);\n          updateCaretFormat(editor, formatNodes);\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n    const backspaceDelete$3 = (editor, forward) => editor.selection.isCollapsed() ? deleteCaret$1(editor, forward) : deleteRange$1(editor);\n    const hasAncestorInlineCaret = (elm, schema) => ancestor$1(elm, node => isCaretNode(node.dom), el => schema.isBlock(name(el)));\n    const hasAncestorInlineCaretAtStart = editor => hasAncestorInlineCaret(SugarElement.fromDom(editor.selection.getStart()), editor.schema);\n    const requiresRefreshCaretOverride = editor => {\n      const rng = editor.selection.getRng();\n      return rng.collapsed && (rangeStartsAtTextContainer(rng) || editor.dom.isEmpty(rng.startContainer)) && !hasAncestorInlineCaretAtStart(editor);\n    };\n    const refreshCaret = editor => {\n      if (requiresRefreshCaretOverride(editor)) {\n        createCaretFormatAtStart(editor, []);\n      }\n      return true;\n    };\n\n    const deleteElement = (editor, forward, element) => {\n      if (isNonNullable(element)) {\n        return Optional.some(() => {\n          editor._selectionOverrides.hideFakeCaret();\n          deleteElement$2(editor, forward, SugarElement.fromDom(element));\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n    const deleteCaret = (editor, forward) => {\n      const isNearMedia = forward ? isBeforeMedia : isAfterMedia;\n      const direction = forward ? HDirection.Forwards : HDirection.Backwards;\n      const fromPos = getNormalizedRangeEndPoint(direction, editor.getBody(), editor.selection.getRng());\n      if (isNearMedia(fromPos)) {\n        return deleteElement(editor, forward, fromPos.getNode(!forward));\n      } else {\n        return Optional.from(normalizePosition(forward, fromPos)).filter(pos => isNearMedia(pos) && isMoveInsideSameBlock(fromPos, pos)).bind(pos => deleteElement(editor, forward, pos.getNode(!forward)));\n      }\n    };\n    const deleteRange = (editor, forward) => {\n      const selectedNode = editor.selection.getNode();\n      return isMedia$2(selectedNode) ? deleteElement(editor, forward, selectedNode) : Optional.none();\n    };\n    const backspaceDelete$2 = (editor, forward) => editor.selection.isCollapsed() ? deleteCaret(editor, forward) : deleteRange(editor, forward);\n\n    const isEditable = target => closest$4(target, elm => isContentEditableTrue$3(elm.dom) || isContentEditableFalse$b(elm.dom)).exists(elm => isContentEditableTrue$3(elm.dom));\n    const parseIndentValue = value => toInt(value !== null && value !== void 0 ? value : '').getOr(0);\n    const getIndentStyleName = (useMargin, element) => {\n      const indentStyleName = useMargin || isTable$1(element) ? 'margin' : 'padding';\n      const suffix = get$7(element, 'direction') === 'rtl' ? '-right' : '-left';\n      return indentStyleName + suffix;\n    };\n    const indentElement = (dom, command, useMargin, value, unit, element) => {\n      const indentStyleName = getIndentStyleName(useMargin, SugarElement.fromDom(element));\n      const parsedValue = parseIndentValue(dom.getStyle(element, indentStyleName));\n      if (command === 'outdent') {\n        const styleValue = Math.max(0, parsedValue - value);\n        dom.setStyle(element, indentStyleName, styleValue ? styleValue + unit : '');\n      } else {\n        const styleValue = parsedValue + value + unit;\n        dom.setStyle(element, indentStyleName, styleValue);\n      }\n    };\n    const validateBlocks = (editor, blocks) => forall(blocks, block => {\n      const indentStyleName = getIndentStyleName(shouldIndentUseMargin(editor), block);\n      const intentValue = getRaw(block, indentStyleName).map(parseIndentValue).getOr(0);\n      const contentEditable = editor.dom.getContentEditable(block.dom);\n      return contentEditable !== 'false' && intentValue > 0;\n    });\n    const canOutdent = editor => {\n      const blocks = getBlocksToIndent(editor);\n      return !editor.mode.isReadOnly() && (blocks.length > 1 || validateBlocks(editor, blocks));\n    };\n    const isListComponent = el => isList(el) || isListItem$1(el);\n    const parentIsListComponent = el => parent(el).exists(isListComponent);\n    const getBlocksToIndent = editor => filter$5(fromDom$1(editor.selection.getSelectedBlocks()), el => !isListComponent(el) && !parentIsListComponent(el) && isEditable(el));\n    const handle = (editor, command) => {\n      var _a, _b;\n      const {\n        dom\n      } = editor;\n      const indentation = getIndentation(editor);\n      const indentUnit = (_b = (_a = /[a-z%]+$/i.exec(indentation)) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : 'px';\n      const indentValue = parseIndentValue(indentation);\n      const useMargin = shouldIndentUseMargin(editor);\n      each$e(getBlocksToIndent(editor), block => {\n        indentElement(dom, command, useMargin, indentValue, indentUnit, block.dom);\n      });\n    };\n    const indent = editor => handle(editor, 'indent');\n    const outdent = editor => handle(editor, 'outdent');\n\n    const backspaceDelete$1 = editor => {\n      if (editor.selection.isCollapsed() && canOutdent(editor)) {\n        const dom = editor.dom;\n        const rng = editor.selection.getRng();\n        const pos = CaretPosition.fromRangeStart(rng);\n        const block = dom.getParent(rng.startContainer, dom.isBlock);\n        if (block !== null && isAtStartOfBlock(SugarElement.fromDom(block), pos, editor.schema)) {\n          return Optional.some(() => outdent(editor));\n        }\n      }\n      return Optional.none();\n    };\n\n    const findAction = (editor, caret, forward) => findMap([backspaceDelete$1, backspaceDelete$6, backspaceDelete$7, (editor, forward) => backspaceDelete$4(editor, caret, forward), backspaceDelete$9, backspaceDelete$a, backspaceDelete$5, backspaceDelete$2, backspaceDelete$8, backspaceDelete$3], item => item(editor, forward)).filter(_ => editor.selection.isEditable());\n    const deleteCommand = (editor, caret) => {\n      const result = findAction(editor, caret, false);\n      result.fold(() => {\n        if (editor.selection.isEditable()) {\n          execNativeDeleteCommand(editor);\n          paddEmptyBody(editor);\n        }\n      }, call);\n    };\n    const forwardDeleteCommand = (editor, caret) => {\n      const result = findAction(editor, caret, true);\n      result.fold(() => {\n        if (editor.selection.isEditable()) {\n          execNativeForwardDeleteCommand(editor);\n        }\n      }, call);\n    };\n    const setup$q = (editor, caret) => {\n      editor.addCommand('delete', () => {\n        deleteCommand(editor, caret);\n      });\n      editor.addCommand('forwardDelete', () => {\n        forwardDeleteCommand(editor, caret);\n      });\n    };\n\n    const SIGNIFICANT_MOVE = 5;\n    const LONGPRESS_DELAY = 400;\n    const getTouch = event => {\n      if (event.touches === undefined || event.touches.length !== 1) {\n        return Optional.none();\n      }\n      return Optional.some(event.touches[0]);\n    };\n    const isFarEnough = (touch, data) => {\n      const distX = Math.abs(touch.clientX - data.x);\n      const distY = Math.abs(touch.clientY - data.y);\n      return distX > SIGNIFICANT_MOVE || distY > SIGNIFICANT_MOVE;\n    };\n    const setup$p = editor => {\n      const startData = value$2();\n      const longpressFired = Cell(false);\n      const debounceLongpress = last$1(e => {\n        editor.dispatch('longpress', {\n          ...e,\n          type: 'longpress'\n        });\n        longpressFired.set(true);\n      }, LONGPRESS_DELAY);\n      editor.on('touchstart', e => {\n        getTouch(e).each(touch => {\n          debounceLongpress.cancel();\n          const data = {\n            x: touch.clientX,\n            y: touch.clientY,\n            target: e.target\n          };\n          debounceLongpress.throttle(e);\n          longpressFired.set(false);\n          startData.set(data);\n        });\n      }, true);\n      editor.on('touchmove', e => {\n        debounceLongpress.cancel();\n        getTouch(e).each(touch => {\n          startData.on(data => {\n            if (isFarEnough(touch, data)) {\n              startData.clear();\n              longpressFired.set(false);\n              editor.dispatch('longpresscancel');\n            }\n          });\n        });\n      }, true);\n      editor.on('touchend touchcancel', e => {\n        debounceLongpress.cancel();\n        if (e.type === 'touchcancel') {\n          return;\n        }\n        startData.get().filter(data => data.target.isEqualNode(e.target)).each(() => {\n          if (longpressFired.get()) {\n            e.preventDefault();\n          } else {\n            editor.dispatch('tap', {\n              ...e,\n              type: 'tap'\n            });\n          }\n        });\n      }, true);\n    };\n\n    const isBlockElement = (blockElements, node) => has$2(blockElements, node.nodeName);\n    const isValidTarget = (schema, node) => {\n      if (isText$a(node)) {\n        return true;\n      } else if (isElement$6(node)) {\n        return !isBlockElement(schema.getBlockElements(), node) && !isBookmarkNode$1(node) && !isTransparentBlock(schema, node) && !isNonHtmlElementRoot(node);\n      } else {\n        return false;\n      }\n    };\n    const hasBlockParent = (blockElements, root, node) => {\n      return exists(parents(SugarElement.fromDom(node), SugarElement.fromDom(root)), elm => {\n        return isBlockElement(blockElements, elm.dom);\n      });\n    };\n    const shouldRemoveTextNode = (blockElements, node) => {\n      if (isText$a(node)) {\n        if (node.data.length === 0) {\n          return true;\n        } else if (/^\\s+$/.test(node.data)) {\n          return !node.nextSibling || isBlockElement(blockElements, node.nextSibling) || isNonHtmlElementRoot(node.nextSibling);\n        }\n      }\n      return false;\n    };\n    const createRootBlock = editor => editor.dom.create(getForcedRootBlock(editor), getForcedRootBlockAttrs(editor));\n    const addRootBlocks = editor => {\n      const dom = editor.dom,\n        selection = editor.selection;\n      const schema = editor.schema;\n      const blockElements = schema.getBlockElements();\n      const startNode = selection.getStart();\n      const rootNode = editor.getBody();\n      let rootBlockNode;\n      let tempNode;\n      let wrapped = false;\n      const forcedRootBlock = getForcedRootBlock(editor);\n      if (!startNode || !isElement$6(startNode)) {\n        return;\n      }\n      const rootNodeName = rootNode.nodeName.toLowerCase();\n      if (!schema.isValidChild(rootNodeName, forcedRootBlock.toLowerCase()) || hasBlockParent(blockElements, rootNode, startNode)) {\n        return;\n      }\n      const rng = selection.getRng();\n      const {\n        startContainer,\n        startOffset,\n        endContainer,\n        endOffset\n      } = rng;\n      const restoreSelection = hasFocus(editor);\n      let node = rootNode.firstChild;\n      while (node) {\n        if (isElement$6(node)) {\n          updateElement(schema, node);\n        }\n        if (isValidTarget(schema, node)) {\n          if (shouldRemoveTextNode(blockElements, node)) {\n            tempNode = node;\n            node = node.nextSibling;\n            dom.remove(tempNode);\n            continue;\n          }\n          if (!rootBlockNode) {\n            rootBlockNode = createRootBlock(editor);\n            rootNode.insertBefore(rootBlockNode, node);\n            wrapped = true;\n          }\n          tempNode = node;\n          node = node.nextSibling;\n          rootBlockNode.appendChild(tempNode);\n        } else {\n          rootBlockNode = null;\n          node = node.nextSibling;\n        }\n      }\n      if (wrapped && restoreSelection) {\n        rng.setStart(startContainer, startOffset);\n        rng.setEnd(endContainer, endOffset);\n        selection.setRng(rng);\n        editor.nodeChanged();\n      }\n    };\n    const insertEmptyLine = (editor, root, insertBlock) => {\n      const block = SugarElement.fromDom(createRootBlock(editor));\n      const br = createPaddingBr();\n      append$1(block, br);\n      insertBlock(root, block);\n      const rng = document.createRange();\n      rng.setStartBefore(br.dom);\n      rng.setEndBefore(br.dom);\n      return rng;\n    };\n    const setup$o = editor => {\n      editor.on('NodeChange', curry(addRootBlocks, editor));\n    };\n\n    const hasClass = checkClassName => node => (' ' + node.attr('class') + ' ').indexOf(checkClassName) !== -1;\n    const replaceMatchWithSpan = (editor, content, cls) => {\n      return function (match) {\n        const args = arguments,\n          index = args[args.length - 2];\n        const prevChar = index > 0 ? content.charAt(index - 1) : '';\n        if (prevChar === '\"') {\n          return match;\n        }\n        if (prevChar === '>') {\n          const findStartTagIndex = content.lastIndexOf('<', index);\n          if (findStartTagIndex !== -1) {\n            const tagHtml = content.substring(findStartTagIndex, index);\n            if (tagHtml.indexOf('contenteditable=\"false\"') !== -1) {\n              return match;\n            }\n          }\n        }\n        return '<span class=\"' + cls + '\" data-mce-content=\"' + editor.dom.encode(args[0]) + '\">' + editor.dom.encode(typeof args[1] === 'string' ? args[1] : args[0]) + '</span>';\n      };\n    };\n    const convertRegExpsToNonEditable = (editor, nonEditableRegExps, e) => {\n      let i = nonEditableRegExps.length,\n        content = e.content;\n      if (e.format === 'raw') {\n        return;\n      }\n      while (i--) {\n        content = content.replace(nonEditableRegExps[i], replaceMatchWithSpan(editor, content, getNonEditableClass(editor)));\n      }\n      e.content = content;\n    };\n    const isValidContent = (nonEditableRegExps, content) => {\n      return forall(nonEditableRegExps, re => {\n        const matches = content.match(re);\n        return matches !== null && matches[0].length === content.length;\n      });\n    };\n    const setup$n = editor => {\n      const contentEditableAttrName = 'contenteditable';\n      const editClass = ' ' + Tools.trim(getEditableClass(editor)) + ' ';\n      const nonEditClass = ' ' + Tools.trim(getNonEditableClass(editor)) + ' ';\n      const hasEditClass = hasClass(editClass);\n      const hasNonEditClass = hasClass(nonEditClass);\n      const nonEditableRegExps = getNonEditableRegExps(editor);\n      if (nonEditableRegExps.length > 0) {\n        editor.on('BeforeSetContent', e => {\n          convertRegExpsToNonEditable(editor, nonEditableRegExps, e);\n        });\n      }\n      editor.parser.addAttributeFilter('class', nodes => {\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          if (hasEditClass(node)) {\n            node.attr(contentEditableAttrName, 'true');\n          } else if (hasNonEditClass(node)) {\n            node.attr(contentEditableAttrName, 'false');\n          }\n        }\n      });\n      editor.serializer.addAttributeFilter(contentEditableAttrName, nodes => {\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          if (!hasEditClass(node) && !hasNonEditClass(node)) {\n            continue;\n          }\n          const content = node.attr('data-mce-content');\n          if (nonEditableRegExps.length > 0 && content) {\n            if (isValidContent(nonEditableRegExps, content)) {\n              node.name = '#text';\n              node.type = 3;\n              node.raw = true;\n              node.value = content;\n            } else {\n              node.remove();\n            }\n          } else {\n            node.attr(contentEditableAttrName, null);\n          }\n        }\n      });\n    };\n\n    const findBlockCaretContainer = editor => descendant$1(SugarElement.fromDom(editor.getBody()), '*[data-mce-caret]').map(elm => elm.dom).getOrNull();\n    const showBlockCaretContainer = (editor, blockCaretContainer) => {\n      if (blockCaretContainer.hasAttribute('data-mce-caret')) {\n        showCaretContainerBlock(blockCaretContainer);\n        editor.selection.setRng(editor.selection.getRng());\n        editor.selection.scrollIntoView(blockCaretContainer);\n      }\n    };\n    const handleBlockContainer = (editor, e) => {\n      const blockCaretContainer = findBlockCaretContainer(editor);\n      if (!blockCaretContainer) {\n        return;\n      }\n      if (e.type === 'compositionstart') {\n        e.preventDefault();\n        e.stopPropagation();\n        showBlockCaretContainer(editor, blockCaretContainer);\n        return;\n      }\n      if (hasContent(blockCaretContainer)) {\n        showBlockCaretContainer(editor, blockCaretContainer);\n        editor.undoManager.add();\n      }\n    };\n    const setup$m = editor => {\n      editor.on('keyup compositionstart', curry(handleBlockContainer, editor));\n    };\n\n    const isContentEditableFalse$3 = isContentEditableFalse$b;\n    const moveToCeFalseHorizontally = (direction, editor, range) => moveHorizontally(editor, direction, range, isBeforeContentEditableFalse, isAfterContentEditableFalse, isContentEditableFalse$3);\n    const moveToCeFalseVertically = (direction, editor, range) => {\n      const isBefore = caretPosition => isBeforeContentEditableFalse(caretPosition) || isBeforeTable(caretPosition);\n      const isAfter = caretPosition => isAfterContentEditableFalse(caretPosition) || isAfterTable(caretPosition);\n      return moveVertically(editor, direction, range, isBefore, isAfter, isContentEditableFalse$3);\n    };\n    const createTextBlock = editor => {\n      const textBlock = editor.dom.create(getForcedRootBlock(editor));\n      textBlock.innerHTML = '<br data-mce-bogus=\"1\">';\n      return textBlock;\n    };\n    const exitPreBlock = (editor, direction, range) => {\n      const caretWalker = CaretWalker(editor.getBody());\n      const getVisualCaretPosition$1 = curry(getVisualCaretPosition, direction === 1 ? caretWalker.next : caretWalker.prev);\n      if (range.collapsed) {\n        const pre = editor.dom.getParent(range.startContainer, 'PRE');\n        if (!pre) {\n          return;\n        }\n        const caretPos = getVisualCaretPosition$1(CaretPosition.fromRangeStart(range));\n        if (!caretPos) {\n          const newBlock = SugarElement.fromDom(createTextBlock(editor));\n          if (direction === 1) {\n            after$4(SugarElement.fromDom(pre), newBlock);\n          } else {\n            before$3(SugarElement.fromDom(pre), newBlock);\n          }\n          editor.selection.select(newBlock.dom, true);\n          editor.selection.collapse();\n        }\n      }\n    };\n    const getHorizontalRange = (editor, forward) => {\n      const direction = forward ? HDirection.Forwards : HDirection.Backwards;\n      const range = editor.selection.getRng();\n      return moveToCeFalseHorizontally(direction, editor, range).orThunk(() => {\n        exitPreBlock(editor, direction, range);\n        return Optional.none();\n      });\n    };\n    const getVerticalRange = (editor, down) => {\n      const direction = down ? 1 : -1;\n      const range = editor.selection.getRng();\n      return moveToCeFalseVertically(direction, editor, range).orThunk(() => {\n        exitPreBlock(editor, direction, range);\n        return Optional.none();\n      });\n    };\n    const flipDirection = (selection, forward) => {\n      const elm = forward ? selection.getEnd(true) : selection.getStart(true);\n      return isRtl(elm) ? !forward : forward;\n    };\n    const moveH$2 = (editor, forward) => getHorizontalRange(editor, flipDirection(editor.selection, forward)).exists(newRange => {\n      moveToRange(editor, newRange);\n      return true;\n    });\n    const moveV$4 = (editor, down) => getVerticalRange(editor, down).exists(newRange => {\n      moveToRange(editor, newRange);\n      return true;\n    });\n    const moveToLineEndPoint$1 = (editor, forward) => {\n      const isCefPosition = forward ? isAfterContentEditableFalse : isBeforeContentEditableFalse;\n      return moveToLineEndPoint$3(editor, forward, isCefPosition);\n    };\n    const selectToEndPoint = (editor, forward) => getEdgeCefPosition(editor, !forward).map(pos => {\n      const rng = pos.toRange();\n      const curRng = editor.selection.getRng();\n      if (forward) {\n        rng.setStart(curRng.startContainer, curRng.startOffset);\n      } else {\n        rng.setEnd(curRng.endContainer, curRng.endOffset);\n      }\n      return rng;\n    }).exists(rng => {\n      moveToRange(editor, rng);\n      return true;\n    });\n\n    const isTarget = node => contains$2(['figcaption'], name(node));\n    const getClosestTargetBlock = (pos, root, schema) => {\n      const isRoot = curry(eq, root);\n      return closest$4(SugarElement.fromDom(pos.container()), el => schema.isBlock(name(el)), isRoot).filter(isTarget);\n    };\n    const isAtFirstOrLastLine = (root, forward, pos) => forward ? isAtLastLine(root.dom, pos) : isAtFirstLine(root.dom, pos);\n    const moveCaretToNewEmptyLine = (editor, forward) => {\n      const root = SugarElement.fromDom(editor.getBody());\n      const pos = CaretPosition.fromRangeStart(editor.selection.getRng());\n      return getClosestTargetBlock(pos, root, editor.schema).exists(() => {\n        if (isAtFirstOrLastLine(root, forward, pos)) {\n          const insertFn = forward ? append$1 : prepend;\n          const rng = insertEmptyLine(editor, root, insertFn);\n          editor.selection.setRng(rng);\n          return true;\n        } else {\n          return false;\n        }\n      });\n    };\n    const moveV$3 = (editor, forward) => {\n      if (editor.selection.isCollapsed()) {\n        return moveCaretToNewEmptyLine(editor, forward);\n      } else {\n        return false;\n      }\n    };\n\n    const moveUp = (editor, details, summary) => {\n      const rng = editor.selection.getRng();\n      const pos = CaretPosition.fromRangeStart(rng);\n      const root = editor.getBody();\n      if (root.firstChild === details && isAtFirstLine(summary, pos)) {\n        editor.execCommand('InsertNewBlockBefore');\n        return true;\n      } else {\n        return false;\n      }\n    };\n    const moveDown = (editor, details) => {\n      const rng = editor.selection.getRng();\n      const pos = CaretPosition.fromRangeStart(rng);\n      const root = editor.getBody();\n      if (root.lastChild === details && isAtLastLine(details, pos)) {\n        editor.execCommand('InsertNewBlockAfter');\n        return true;\n      } else {\n        return false;\n      }\n    };\n    const move$2 = (editor, forward) => {\n      if (forward) {\n        return Optional.from(editor.dom.getParent(editor.selection.getNode(), 'details')).map(details => moveDown(editor, details)).getOr(false);\n      } else {\n        return Optional.from(editor.dom.getParent(editor.selection.getNode(), 'summary')).bind(summary => Optional.from(editor.dom.getParent(summary, 'details')).map(details => moveUp(editor, details, summary))).getOr(false);\n      }\n    };\n    const moveV$2 = (editor, forward) => move$2(editor, forward);\n\n    const baseKeyPattern = {\n      shiftKey: false,\n      altKey: false,\n      ctrlKey: false,\n      metaKey: false,\n      keyCode: 0\n    };\n    const defaultPatterns = patterns => map$3(patterns, pattern => ({\n      ...baseKeyPattern,\n      ...pattern\n    }));\n    const defaultDelayedPatterns = patterns => map$3(patterns, pattern => ({\n      ...baseKeyPattern,\n      ...pattern\n    }));\n    const matchesEvent = (pattern, evt) => evt.keyCode === pattern.keyCode && evt.shiftKey === pattern.shiftKey && evt.altKey === pattern.altKey && evt.ctrlKey === pattern.ctrlKey && evt.metaKey === pattern.metaKey;\n    const match$1 = (patterns, evt) => bind$3(defaultPatterns(patterns), pattern => matchesEvent(pattern, evt) ? [pattern] : []);\n    const matchDelayed = (patterns, evt) => bind$3(defaultDelayedPatterns(patterns), pattern => matchesEvent(pattern, evt) ? [pattern] : []);\n    const action = (f, ...x) => () => f.apply(null, x);\n    const execute = (patterns, evt) => find$2(match$1(patterns, evt), pattern => pattern.action());\n    const executeWithDelayedAction = (patterns, evt) => findMap(matchDelayed(patterns, evt), pattern => pattern.action());\n\n    const moveH$1 = (editor, forward) => {\n      const direction = forward ? HDirection.Forwards : HDirection.Backwards;\n      const range = editor.selection.getRng();\n      return moveHorizontally(editor, direction, range, isBeforeMedia, isAfterMedia, isMedia$2).exists(newRange => {\n        moveToRange(editor, newRange);\n        return true;\n      });\n    };\n    const moveV$1 = (editor, down) => {\n      const direction = down ? 1 : -1;\n      const range = editor.selection.getRng();\n      return moveVertically(editor, direction, range, isBeforeMedia, isAfterMedia, isMedia$2).exists(newRange => {\n        moveToRange(editor, newRange);\n        return true;\n      });\n    };\n    const moveToLineEndPoint = (editor, forward) => {\n      const isNearMedia = forward ? isAfterMedia : isBeforeMedia;\n      return moveToLineEndPoint$3(editor, forward, isNearMedia);\n    };\n\n    const adt = Adt.generate([{\n      none: ['current']\n    }, {\n      first: ['current']\n    }, {\n      middle: ['current', 'target']\n    }, {\n      last: ['current']\n    }]);\n    const none = current => adt.none(current);\n    const CellLocation = {\n      ...adt,\n      none\n    };\n\n    const firstLayer = (scope, selector) => {\n      return filterFirstLayer(scope, selector, always);\n    };\n    const filterFirstLayer = (scope, selector, predicate) => {\n      return bind$3(children$1(scope), x => {\n        if (is$1(x, selector)) {\n          return predicate(x) ? [x] : [];\n        } else {\n          return filterFirstLayer(x, selector, predicate);\n        }\n      });\n    };\n\n    const lookup$1 = (tags, element, isRoot = never) => {\n      if (isRoot(element)) {\n        return Optional.none();\n      }\n      if (contains$2(tags, name(element))) {\n        return Optional.some(element);\n      }\n      const isRootOrUpperTable = elm => is$1(elm, 'table') || isRoot(elm);\n      return ancestor$3(element, tags.join(','), isRootOrUpperTable);\n    };\n    const cell = (element, isRoot) => lookup$1(['td', 'th'], element, isRoot);\n    const cells = ancestor => firstLayer(ancestor, 'th,td');\n    const table = (element, isRoot) => closest$3(element, 'table', isRoot);\n\n    const walk = (all, current, index, direction, isEligible = always) => {\n      const forwards = direction === 1;\n      if (!forwards && index <= 0) {\n        return CellLocation.first(all[0]);\n      } else if (forwards && index >= all.length - 1) {\n        return CellLocation.last(all[all.length - 1]);\n      } else {\n        const newIndex = index + direction;\n        const elem = all[newIndex];\n        return isEligible(elem) ? CellLocation.middle(current, elem) : walk(all, current, newIndex, direction, isEligible);\n      }\n    };\n    const detect = (current, isRoot) => {\n      return table(current, isRoot).bind(table => {\n        const all = cells(table);\n        const index = findIndex$2(all, x => eq(current, x));\n        return index.map(index => ({\n          index,\n          all\n        }));\n      });\n    };\n    const next = (current, isEligible, isRoot) => {\n      const detection = detect(current, isRoot);\n      return detection.fold(() => {\n        return CellLocation.none(current);\n      }, info => {\n        return walk(info.all, current, info.index, 1, isEligible);\n      });\n    };\n    const prev = (current, isEligible, isRoot) => {\n      const detection = detect(current, isRoot);\n      return detection.fold(() => {\n        return CellLocation.none();\n      }, info => {\n        return walk(info.all, current, info.index, -1, isEligible);\n      });\n    };\n\n    const deflate = (rect, delta) => ({\n      left: rect.left - delta,\n      top: rect.top - delta,\n      right: rect.right + delta * 2,\n      bottom: rect.bottom + delta * 2,\n      width: rect.width + delta,\n      height: rect.height + delta\n    });\n    const getCorners = (getYAxisValue, tds) => bind$3(tds, td => {\n      const rect = deflate(clone$1(td.getBoundingClientRect()), -1);\n      return [{\n        x: rect.left,\n        y: getYAxisValue(rect),\n        cell: td\n      }, {\n        x: rect.right,\n        y: getYAxisValue(rect),\n        cell: td\n      }];\n    });\n    const findClosestCorner = (corners, x, y) => foldl(corners, (acc, newCorner) => acc.fold(() => Optional.some(newCorner), oldCorner => {\n      const oldDist = Math.sqrt(Math.abs(oldCorner.x - x) + Math.abs(oldCorner.y - y));\n      const newDist = Math.sqrt(Math.abs(newCorner.x - x) + Math.abs(newCorner.y - y));\n      return Optional.some(newDist < oldDist ? newCorner : oldCorner);\n    }), Optional.none());\n    const getClosestCell = (getYAxisValue, isTargetCorner, table, x, y) => {\n      const cells = descendants(SugarElement.fromDom(table), 'td,th,caption').map(e => e.dom);\n      const corners = filter$5(getCorners(getYAxisValue, cells), corner => isTargetCorner(corner, y));\n      return findClosestCorner(corners, x, y).map(corner => corner.cell);\n    };\n    const getBottomValue = rect => rect.bottom;\n    const getTopValue = rect => rect.top;\n    const isAbove = (corner, y) => corner.y < y;\n    const isBelow = (corner, y) => corner.y > y;\n    const getClosestCellAbove = curry(getClosestCell, getBottomValue, isAbove);\n    const getClosestCellBelow = curry(getClosestCell, getTopValue, isBelow);\n    const findClosestPositionInAboveCell = (table, pos) => head(pos.getClientRects()).bind(rect => getClosestCellAbove(table, rect.left, rect.top)).bind(cell => findClosestHorizontalPosition(getLastLinePositions(cell), pos));\n    const findClosestPositionInBelowCell = (table, pos) => last$3(pos.getClientRects()).bind(rect => getClosestCellBelow(table, rect.left, rect.top)).bind(cell => findClosestHorizontalPosition(getFirstLinePositions(cell), pos));\n\n    const hasNextBreak = (getPositionsUntil, scope, lineInfo) => lineInfo.breakAt.exists(breakPos => getPositionsUntil(scope, breakPos).breakAt.isSome());\n    const startsWithWrapBreak = lineInfo => lineInfo.breakType === BreakType.Wrap && lineInfo.positions.length === 0;\n    const startsWithBrBreak = lineInfo => lineInfo.breakType === BreakType.Br && lineInfo.positions.length === 1;\n    const isAtTableCellLine = (getPositionsUntil, scope, pos) => {\n      const lineInfo = getPositionsUntil(scope, pos);\n      if (startsWithWrapBreak(lineInfo) || !isBr$6(pos.getNode()) && startsWithBrBreak(lineInfo)) {\n        return !hasNextBreak(getPositionsUntil, scope, lineInfo);\n      } else {\n        return lineInfo.breakAt.isNone();\n      }\n    };\n    const isAtFirstTableCellLine = curry(isAtTableCellLine, getPositionsUntilPreviousLine);\n    const isAtLastTableCellLine = curry(isAtTableCellLine, getPositionsUntilNextLine);\n    const isCaretAtStartOrEndOfTable = (forward, rng, table) => {\n      const caretPos = CaretPosition.fromRangeStart(rng);\n      return positionIn(!forward, table).exists(pos => pos.isEqual(caretPos));\n    };\n    const navigateHorizontally = (editor, forward, table, _td) => {\n      const rng = editor.selection.getRng();\n      const direction = forward ? 1 : -1;\n      if (isFakeCaretTableBrowser() && isCaretAtStartOrEndOfTable(forward, rng, table)) {\n        showCaret(direction, editor, table, !forward, false).each(newRng => {\n          moveToRange(editor, newRng);\n        });\n        return true;\n      }\n      return false;\n    };\n    const getClosestAbovePosition = (root, table, start) => findClosestPositionInAboveCell(table, start).orThunk(() => head(start.getClientRects()).bind(rect => findClosestHorizontalPositionFromPoint(getPositionsAbove(root, CaretPosition.before(table)), rect.left))).getOr(CaretPosition.before(table));\n    const getClosestBelowPosition = (root, table, start) => findClosestPositionInBelowCell(table, start).orThunk(() => head(start.getClientRects()).bind(rect => findClosestHorizontalPositionFromPoint(getPositionsBelow(root, CaretPosition.after(table)), rect.left))).getOr(CaretPosition.after(table));\n    const getTable = (previous, pos) => {\n      const node = pos.getNode(previous);\n      return isTable$2(node) ? Optional.some(node) : Optional.none();\n    };\n    const renderBlock = (down, editor, table) => {\n      editor.undoManager.transact(() => {\n        const insertFn = down ? after$4 : before$3;\n        const rng = insertEmptyLine(editor, SugarElement.fromDom(table), insertFn);\n        moveToRange(editor, rng);\n      });\n    };\n    const moveCaret = (editor, down, pos) => {\n      const table = down ? getTable(true, pos) : getTable(false, pos);\n      const last = down === false;\n      table.fold(() => moveToRange(editor, pos.toRange()), table => positionIn(last, editor.getBody()).filter(lastPos => lastPos.isEqual(pos)).fold(() => moveToRange(editor, pos.toRange()), _ => renderBlock(down, editor, table)));\n    };\n    const navigateVertically = (editor, down, table, td) => {\n      const rng = editor.selection.getRng();\n      const pos = CaretPosition.fromRangeStart(rng);\n      const root = editor.getBody();\n      if (!down && isAtFirstTableCellLine(td, pos)) {\n        const newPos = getClosestAbovePosition(root, table, pos);\n        moveCaret(editor, down, newPos);\n        return true;\n      } else if (down && isAtLastTableCellLine(td, pos)) {\n        const newPos = getClosestBelowPosition(root, table, pos);\n        moveCaret(editor, down, newPos);\n        return true;\n      } else {\n        return false;\n      }\n    };\n    const move$1 = (editor, forward, mover) => Optional.from(editor.dom.getParent(editor.selection.getNode(), 'td,th')).bind(td => Optional.from(editor.dom.getParent(td, 'table')).map(table => mover(editor, forward, table, td))).getOr(false);\n    const moveH = (editor, forward) => move$1(editor, forward, navigateHorizontally);\n    const moveV = (editor, forward) => move$1(editor, forward, navigateVertically);\n    const getCellFirstCursorPosition = cell => {\n      const selection = SimSelection.exact(cell, 0, cell, 0);\n      return toNative(selection);\n    };\n    const tabGo = (editor, isRoot, cell) => {\n      return cell.fold(Optional.none, Optional.none, (_current, next) => {\n        return first(next).map(cell => {\n          return getCellFirstCursorPosition(cell);\n        });\n      }, current => {\n        editor.execCommand('mceTableInsertRowAfter');\n        return tabForward(editor, isRoot, current);\n      });\n    };\n    const tabForward = (editor, isRoot, cell) => tabGo(editor, isRoot, next(cell, isEditable$2));\n    const tabBackward = (editor, isRoot, cell) => tabGo(editor, isRoot, prev(cell, isEditable$2));\n    const handleTab = (editor, forward) => {\n      const rootElements = ['table', 'li', 'dl'];\n      const body = SugarElement.fromDom(editor.getBody());\n      const isRoot = element => {\n        const name$1 = name(element);\n        return eq(element, body) || contains$2(rootElements, name$1);\n      };\n      const rng = editor.selection.getRng();\n      const container = SugarElement.fromDom(!forward ? rng.startContainer : rng.endContainer);\n      return cell(container, isRoot).map(cell => {\n        table(cell, isRoot).each(table => {\n          editor.model.table.clearSelectedCells(table.dom);\n        });\n        editor.selection.collapse(!forward);\n        const navigation = !forward ? tabBackward : tabForward;\n        const rng = navigation(editor, isRoot, cell);\n        rng.each(range => {\n          editor.selection.setRng(range);\n        });\n        return true;\n      }).getOr(false);\n    };\n\n    const executeKeydownOverride$4 = (editor, caret, evt) => {\n      const isMac = Env.os.isMacOS() || Env.os.isiOS();\n      execute([{\n        keyCode: VK.RIGHT,\n        action: action(moveH$2, editor, true)\n      }, {\n        keyCode: VK.LEFT,\n        action: action(moveH$2, editor, false)\n      }, {\n        keyCode: VK.UP,\n        action: action(moveV$4, editor, false)\n      }, {\n        keyCode: VK.DOWN,\n        action: action(moveV$4, editor, true)\n      }, ...(isMac ? [{\n        keyCode: VK.UP,\n        action: action(selectToEndPoint, editor, false),\n        metaKey: true,\n        shiftKey: true\n      }, {\n        keyCode: VK.DOWN,\n        action: action(selectToEndPoint, editor, true),\n        metaKey: true,\n        shiftKey: true\n      }] : []), {\n        keyCode: VK.RIGHT,\n        action: action(moveH, editor, true)\n      }, {\n        keyCode: VK.LEFT,\n        action: action(moveH, editor, false)\n      }, {\n        keyCode: VK.UP,\n        action: action(moveV, editor, false)\n      }, {\n        keyCode: VK.DOWN,\n        action: action(moveV, editor, true)\n      }, {\n        keyCode: VK.UP,\n        action: action(moveV, editor, false)\n      }, {\n        keyCode: VK.UP,\n        action: action(moveV$2, editor, false)\n      }, {\n        keyCode: VK.DOWN,\n        action: action(moveV$2, editor, true)\n      }, {\n        keyCode: VK.RIGHT,\n        action: action(moveH$1, editor, true)\n      }, {\n        keyCode: VK.LEFT,\n        action: action(moveH$1, editor, false)\n      }, {\n        keyCode: VK.UP,\n        action: action(moveV$1, editor, false)\n      }, {\n        keyCode: VK.DOWN,\n        action: action(moveV$1, editor, true)\n      }, {\n        keyCode: VK.RIGHT,\n        action: action(move$3, editor, caret, true)\n      }, {\n        keyCode: VK.LEFT,\n        action: action(move$3, editor, caret, false)\n      }, {\n        keyCode: VK.RIGHT,\n        ctrlKey: !isMac,\n        altKey: isMac,\n        action: action(moveNextWord, editor, caret)\n      }, {\n        keyCode: VK.LEFT,\n        ctrlKey: !isMac,\n        altKey: isMac,\n        action: action(movePrevWord, editor, caret)\n      }, {\n        keyCode: VK.UP,\n        action: action(moveV$3, editor, false)\n      }, {\n        keyCode: VK.DOWN,\n        action: action(moveV$3, editor, true)\n      }], evt).each(_ => {\n        evt.preventDefault();\n      });\n    };\n    const setup$l = (editor, caret) => {\n      editor.on('keydown', evt => {\n        if (!evt.isDefaultPrevented()) {\n          executeKeydownOverride$4(editor, caret, evt);\n        }\n      });\n    };\n\n    const point = (container, offset) => ({\n      container,\n      offset\n    });\n\n    const DOM$7 = DOMUtils.DOM;\n    const alwaysNext = startNode => node => startNode === node ? -1 : 0;\n    const isBoundary = dom => node => dom.isBlock(node) || contains$2(['BR', 'IMG', 'HR', 'INPUT'], node.nodeName) || dom.getContentEditable(node) === 'false';\n    const textBefore = (node, offset, rootNode) => {\n      if (isText$a(node) && offset >= 0) {\n        return Optional.some(point(node, offset));\n      } else {\n        const textSeeker = TextSeeker(DOM$7);\n        return Optional.from(textSeeker.backwards(node, offset, alwaysNext(node), rootNode)).map(prev => point(prev.container, prev.container.data.length));\n      }\n    };\n    const textAfter = (node, offset, rootNode) => {\n      if (isText$a(node) && offset >= node.length) {\n        return Optional.some(point(node, offset));\n      } else {\n        const textSeeker = TextSeeker(DOM$7);\n        return Optional.from(textSeeker.forwards(node, offset, alwaysNext(node), rootNode)).map(prev => point(prev.container, 0));\n      }\n    };\n    const scanLeft = (node, offset, rootNode) => {\n      if (!isText$a(node)) {\n        return Optional.none();\n      }\n      const text = node.data;\n      if (offset >= 0 && offset <= text.length) {\n        return Optional.some(point(node, offset));\n      } else {\n        const textSeeker = TextSeeker(DOM$7);\n        return Optional.from(textSeeker.backwards(node, offset, alwaysNext(node), rootNode)).bind(prev => {\n          const prevText = prev.container.data;\n          return scanLeft(prev.container, offset + prevText.length, rootNode);\n        });\n      }\n    };\n    const scanRight = (node, offset, rootNode) => {\n      if (!isText$a(node)) {\n        return Optional.none();\n      }\n      const text = node.data;\n      if (offset <= text.length) {\n        return Optional.some(point(node, offset));\n      } else {\n        const textSeeker = TextSeeker(DOM$7);\n        return Optional.from(textSeeker.forwards(node, offset, alwaysNext(node), rootNode)).bind(next => scanRight(next.container, offset - text.length, rootNode));\n      }\n    };\n    const repeatLeft = (dom, node, offset, process, rootNode) => {\n      const search = TextSeeker(dom, isBoundary(dom));\n      return Optional.from(search.backwards(node, offset, process, rootNode));\n    };\n\n    const isValidTextRange = rng => rng.collapsed && isText$a(rng.startContainer);\n    const getText = rng => trim$2(rng.toString().replace(/\\u00A0/g, ' '));\n    const isWhitespace = chr => chr !== '' && ' \\xA0\\f\\n\\r\\t\\x0B'.indexOf(chr) !== -1;\n\n    const stripTrigger = (text, trigger) => text.substring(trigger.length);\n    const findTrigger = (text, index, trigger) => {\n      let i;\n      const firstChar = trigger.charAt(0);\n      for (i = index - 1; i >= 0; i--) {\n        const char = text.charAt(i);\n        if (isWhitespace(char)) {\n          return Optional.none();\n        }\n        if (firstChar === char && contains$1(text, trigger, i, index)) {\n          break;\n        }\n      }\n      return Optional.some(i);\n    };\n    const findStart = (dom, initRange, trigger, minChars = 0) => {\n      if (!isValidTextRange(initRange)) {\n        return Optional.none();\n      }\n      const buffer = {\n        text: '',\n        offset: 0\n      };\n      const findTriggerIndex = (element, offset, text) => {\n        buffer.text = text + buffer.text;\n        buffer.offset += offset;\n        return findTrigger(buffer.text, buffer.offset, trigger).getOr(offset);\n      };\n      const root = dom.getParent(initRange.startContainer, dom.isBlock) || dom.getRoot();\n      return repeatLeft(dom, initRange.startContainer, initRange.startOffset, findTriggerIndex, root).bind(spot => {\n        const range = initRange.cloneRange();\n        range.setStart(spot.container, spot.offset);\n        range.setEnd(initRange.endContainer, initRange.endOffset);\n        if (range.collapsed) {\n          return Optional.none();\n        }\n        const text = getText(range);\n        const triggerIndex = text.lastIndexOf(trigger);\n        if (triggerIndex !== 0 || stripTrigger(text, trigger).length < minChars) {\n          return Optional.none();\n        } else {\n          return Optional.some({\n            text: stripTrigger(text, trigger),\n            range,\n            trigger\n          });\n        }\n      });\n    };\n    const getContext = (dom, initRange, trigger, minChars = 0) => detect$1(SugarElement.fromDom(initRange.startContainer)).fold(() => findStart(dom, initRange, trigger, minChars), elm => {\n      const range = dom.createRng();\n      range.selectNode(elm.dom);\n      const text = getText(range);\n      return Optional.some({\n        range,\n        text: stripTrigger(text, trigger),\n        trigger\n      });\n    });\n\n    const isText$1 = node => node.nodeType === TEXT;\n    const isElement = node => node.nodeType === ELEMENT;\n    const toLast = node => {\n      if (isText$1(node)) {\n        return point(node, node.data.length);\n      } else {\n        const children = node.childNodes;\n        return children.length > 0 ? toLast(children[children.length - 1]) : point(node, children.length);\n      }\n    };\n    const toLeaf = (node, offset) => {\n      const children = node.childNodes;\n      if (children.length > 0 && offset < children.length) {\n        return toLeaf(children[offset], 0);\n      } else if (children.length > 0 && isElement(node) && children.length === offset) {\n        return toLast(children[children.length - 1]);\n      } else {\n        return point(node, offset);\n      }\n    };\n\n    const isPreviousCharContent = (dom, leaf) => {\n      var _a;\n      const root = (_a = dom.getParent(leaf.container, dom.isBlock)) !== null && _a !== void 0 ? _a : dom.getRoot();\n      return repeatLeft(dom, leaf.container, leaf.offset, (_element, offset) => offset === 0 ? -1 : offset, root).filter(spot => {\n        const char = spot.container.data.charAt(spot.offset - 1);\n        return !isWhitespace(char);\n      }).isSome();\n    };\n    const isStartOfWord = dom => rng => {\n      const leaf = toLeaf(rng.startContainer, rng.startOffset);\n      return !isPreviousCharContent(dom, leaf);\n    };\n    const getTriggerContext = (dom, initRange, database) => findMap(database.triggers, trigger => getContext(dom, initRange, trigger));\n    const lookup = (editor, getDatabase) => {\n      const database = getDatabase();\n      const rng = editor.selection.getRng();\n      return getTriggerContext(editor.dom, rng, database).bind(context => lookupWithContext(editor, getDatabase, context));\n    };\n    const lookupWithContext = (editor, getDatabase, context, fetchOptions = {}) => {\n      var _a;\n      const database = getDatabase();\n      const rng = editor.selection.getRng();\n      const startText = (_a = rng.startContainer.nodeValue) !== null && _a !== void 0 ? _a : '';\n      const autocompleters = filter$5(database.lookupByTrigger(context.trigger), autocompleter => context.text.length >= autocompleter.minChars && autocompleter.matches.getOrThunk(() => isStartOfWord(editor.dom))(context.range, startText, context.text));\n      if (autocompleters.length === 0) {\n        return Optional.none();\n      }\n      const lookupData = Promise.all(map$3(autocompleters, ac => {\n        const fetchResult = ac.fetch(context.text, ac.maxResults, fetchOptions);\n        return fetchResult.then(results => ({\n          matchText: context.text,\n          items: results,\n          columns: ac.columns,\n          onAction: ac.onAction,\n          highlightOn: ac.highlightOn\n        }));\n      }));\n      return Optional.some({\n        lookupData,\n        context\n      });\n    };\n\n    var SimpleResultType;\n    (function (SimpleResultType) {\n      SimpleResultType[SimpleResultType['Error'] = 0] = 'Error';\n      SimpleResultType[SimpleResultType['Value'] = 1] = 'Value';\n    })(SimpleResultType || (SimpleResultType = {}));\n    const fold$1 = (res, onError, onValue) => res.stype === SimpleResultType.Error ? onError(res.serror) : onValue(res.svalue);\n    const partition = results => {\n      const values = [];\n      const errors = [];\n      each$e(results, obj => {\n        fold$1(obj, err => errors.push(err), val => values.push(val));\n      });\n      return {\n        values,\n        errors\n      };\n    };\n    const mapError = (res, f) => {\n      if (res.stype === SimpleResultType.Error) {\n        return {\n          stype: SimpleResultType.Error,\n          serror: f(res.serror)\n        };\n      } else {\n        return res;\n      }\n    };\n    const map = (res, f) => {\n      if (res.stype === SimpleResultType.Value) {\n        return {\n          stype: SimpleResultType.Value,\n          svalue: f(res.svalue)\n        };\n      } else {\n        return res;\n      }\n    };\n    const bind$1 = (res, f) => {\n      if (res.stype === SimpleResultType.Value) {\n        return f(res.svalue);\n      } else {\n        return res;\n      }\n    };\n    const bindError = (res, f) => {\n      if (res.stype === SimpleResultType.Error) {\n        return f(res.serror);\n      } else {\n        return res;\n      }\n    };\n    const svalue = v => ({\n      stype: SimpleResultType.Value,\n      svalue: v\n    });\n    const serror = e => ({\n      stype: SimpleResultType.Error,\n      serror: e\n    });\n    const toResult = res => fold$1(res, Result.error, Result.value);\n    const fromResult = res => res.fold(serror, svalue);\n    const SimpleResult = {\n      fromResult,\n      toResult,\n      svalue,\n      partition,\n      serror,\n      bind: bind$1,\n      bindError,\n      map,\n      mapError,\n      fold: fold$1\n    };\n\n    const formatObj = input => {\n      return isObject(input) && keys(input).length > 100 ? ' removed due to size' : JSON.stringify(input, null, 2);\n    };\n    const formatErrors = errors => {\n      const es = errors.length > 10 ? errors.slice(0, 10).concat([{\n        path: [],\n        getErrorInfo: constant('... (only showing first ten failures)')\n      }]) : errors;\n      return map$3(es, e => {\n        return 'Failed path: (' + e.path.join(' > ') + ')\\n' + e.getErrorInfo();\n      });\n    };\n\n    const nu = (path, getErrorInfo) => {\n      return SimpleResult.serror([{\n        path,\n        getErrorInfo\n      }]);\n    };\n    const missingRequired = (path, key, obj) => nu(path, () => 'Could not find valid *required* value for \"' + key + '\" in ' + formatObj(obj));\n    const missingKey = (path, key) => nu(path, () => 'Choice schema did not contain choice key: \"' + key + '\"');\n    const missingBranch = (path, branches, branch) => nu(path, () => 'The chosen schema: \"' + branch + '\" did not exist in branches: ' + formatObj(branches));\n    const custom = (path, err) => nu(path, constant(err));\n\n    const chooseFrom = (path, input, branches, ch) => {\n      const fields = get$a(branches, ch);\n      return fields.fold(() => missingBranch(path, branches, ch), vp => vp.extract(path.concat(['branch: ' + ch]), input));\n    };\n    const choose$1 = (key, branches) => {\n      const extract = (path, input) => {\n        const choice = get$a(input, key);\n        return choice.fold(() => missingKey(path, key), chosen => chooseFrom(path, input, branches, chosen));\n      };\n      const toString = () => 'chooseOn(' + key + '). Possible values: ' + keys(branches);\n      return {\n        extract,\n        toString\n      };\n    };\n\n    const shallow = (old, nu) => {\n      return nu;\n    };\n    const deep = (old, nu) => {\n      const bothObjects = isPlainObject(old) && isPlainObject(nu);\n      return bothObjects ? deepMerge(old, nu) : nu;\n    };\n    const baseMerge = merger => {\n      return (...objects) => {\n        if (objects.length === 0) {\n          throw new Error(\"Can't merge zero objects\");\n        }\n        const ret = {};\n        for (let j = 0; j < objects.length; j++) {\n          const curObject = objects[j];\n          for (const key in curObject) {\n            if (has$2(curObject, key)) {\n              ret[key] = merger(ret[key], curObject[key]);\n            }\n          }\n        }\n        return ret;\n      };\n    };\n    const deepMerge = baseMerge(deep);\n    const merge = baseMerge(shallow);\n\n    const required = () => ({\n      tag: 'required',\n      process: {}\n    });\n    const defaultedThunk = fallbackThunk => ({\n      tag: 'defaultedThunk',\n      process: fallbackThunk\n    });\n    const defaulted$1 = fallback => defaultedThunk(constant(fallback));\n    const asOption = () => ({\n      tag: 'option',\n      process: {}\n    });\n\n    const mergeValues = (values, base) => values.length > 0 ? SimpleResult.svalue(deepMerge(base, merge.apply(undefined, values))) : SimpleResult.svalue(base);\n    const mergeErrors = errors => compose(SimpleResult.serror, flatten)(errors);\n    const consolidateObj = (objects, base) => {\n      const partition = SimpleResult.partition(objects);\n      return partition.errors.length > 0 ? mergeErrors(partition.errors) : mergeValues(partition.values, base);\n    };\n    const consolidateArr = objects => {\n      const partitions = SimpleResult.partition(objects);\n      return partitions.errors.length > 0 ? mergeErrors(partitions.errors) : SimpleResult.svalue(partitions.values);\n    };\n    const ResultCombine = {\n      consolidateObj,\n      consolidateArr\n    };\n\n    const field$1 = (key, newKey, presence, prop) => ({\n      tag: 'field',\n      key,\n      newKey,\n      presence,\n      prop\n    });\n    const customField$1 = (newKey, instantiator) => ({\n      tag: 'custom',\n      newKey,\n      instantiator\n    });\n    const fold = (value, ifField, ifCustom) => {\n      switch (value.tag) {\n        case 'field':\n          return ifField(value.key, value.newKey, value.presence, value.prop);\n        case 'custom':\n          return ifCustom(value.newKey, value.instantiator);\n      }\n    };\n\n    const value = validator => {\n      const extract = (path, val) => {\n        return SimpleResult.bindError(validator(val), err => custom(path, err));\n      };\n      const toString = constant('val');\n      return {\n        extract,\n        toString\n      };\n    };\n    const anyValue$1 = value(SimpleResult.svalue);\n\n    const requiredAccess = (path, obj, key, bundle) => get$a(obj, key).fold(() => missingRequired(path, key, obj), bundle);\n    const fallbackAccess = (obj, key, fallback, bundle) => {\n      const v = get$a(obj, key).getOrThunk(() => fallback(obj));\n      return bundle(v);\n    };\n    const optionAccess = (obj, key, bundle) => bundle(get$a(obj, key));\n    const optionDefaultedAccess = (obj, key, fallback, bundle) => {\n      const opt = get$a(obj, key).map(val => val === true ? fallback(obj) : val);\n      return bundle(opt);\n    };\n    const extractField = (field, path, obj, key, prop) => {\n      const bundle = av => prop.extract(path.concat([key]), av);\n      const bundleAsOption = optValue => optValue.fold(() => SimpleResult.svalue(Optional.none()), ov => {\n        const result = prop.extract(path.concat([key]), ov);\n        return SimpleResult.map(result, Optional.some);\n      });\n      switch (field.tag) {\n        case 'required':\n          return requiredAccess(path, obj, key, bundle);\n        case 'defaultedThunk':\n          return fallbackAccess(obj, key, field.process, bundle);\n        case 'option':\n          return optionAccess(obj, key, bundleAsOption);\n        case 'defaultedOptionThunk':\n          return optionDefaultedAccess(obj, key, field.process, bundleAsOption);\n        case 'mergeWithThunk':\n          {\n            return fallbackAccess(obj, key, constant({}), v => {\n              const result = deepMerge(field.process(obj), v);\n              return bundle(result);\n            });\n          }\n      }\n    };\n    const extractFields = (path, obj, fields) => {\n      const success = {};\n      const errors = [];\n      for (const field of fields) {\n        fold(field, (key, newKey, presence, prop) => {\n          const result = extractField(presence, path, obj, key, prop);\n          SimpleResult.fold(result, err => {\n            errors.push(...err);\n          }, res => {\n            success[newKey] = res;\n          });\n        }, (newKey, instantiator) => {\n          success[newKey] = instantiator(obj);\n        });\n      }\n      return errors.length > 0 ? SimpleResult.serror(errors) : SimpleResult.svalue(success);\n    };\n    const objOf = values => {\n      const extract = (path, o) => extractFields(path, o, values);\n      const toString = () => {\n        const fieldStrings = map$3(values, value => fold(value, (key, _okey, _presence, prop) => key + ' -> ' + prop.toString(), (newKey, _instantiator) => 'state(' + newKey + ')'));\n        return 'obj{\\n' + fieldStrings.join('\\n') + '}';\n      };\n      return {\n        extract,\n        toString\n      };\n    };\n    const arrOf = prop => {\n      const extract = (path, array) => {\n        const results = map$3(array, (a, i) => prop.extract(path.concat(['[' + i + ']']), a));\n        return ResultCombine.consolidateArr(results);\n      };\n      const toString = () => 'array(' + prop.toString() + ')';\n      return {\n        extract,\n        toString\n      };\n    };\n\n    const valueOf = validator => value(v => validator(v).fold(SimpleResult.serror, SimpleResult.svalue));\n    const extractValue = (label, prop, obj) => {\n      const res = prop.extract([label], obj);\n      return SimpleResult.mapError(res, errs => ({\n        input: obj,\n        errors: errs\n      }));\n    };\n    const asRaw = (label, prop, obj) => SimpleResult.toResult(extractValue(label, prop, obj));\n    const formatError = errInfo => {\n      return 'Errors: \\n' + formatErrors(errInfo.errors).join('\\n') + '\\n\\nInput object: ' + formatObj(errInfo.input);\n    };\n    const choose = (key, branches) => choose$1(key, map$2(branches, objOf));\n\n    const anyValue = constant(anyValue$1);\n    const typedValue = (validator, expectedType) => value(a => {\n      const actualType = typeof a;\n      return validator(a) ? SimpleResult.svalue(a) : SimpleResult.serror(\"Expected type: \".concat(expectedType, \" but got: \").concat(actualType));\n    });\n    const number = typedValue(isNumber, 'number');\n    const string = typedValue(isString, 'string');\n    const boolean = typedValue(isBoolean, 'boolean');\n    const functionProcessor = typedValue(isFunction, 'function');\n\n    const field = field$1;\n    const customField = customField$1;\n    const validateEnum = values => valueOf(value => contains$2(values, value) ? Result.value(value) : Result.error(\"Unsupported value: \\\"\".concat(value, \"\\\", choose one of \\\"\").concat(values.join(', '), \"\\\".\")));\n    const requiredOf = (key, schema) => field(key, key, required(), schema);\n    const requiredString = key => requiredOf(key, string);\n    const requiredFunction = key => requiredOf(key, functionProcessor);\n    const requiredArrayOf = (key, schema) => field(key, key, required(), arrOf(schema));\n    const optionOf = (key, schema) => field(key, key, asOption(), schema);\n    const optionString = key => optionOf(key, string);\n    const optionFunction = key => optionOf(key, functionProcessor);\n    const defaulted = (key, fallback) => field(key, key, defaulted$1(fallback), anyValue());\n    const defaultedOf = (key, fallback, schema) => field(key, key, defaulted$1(fallback), schema);\n    const defaultedNumber = (key, fallback) => defaultedOf(key, fallback, number);\n    const defaultedString = (key, fallback) => defaultedOf(key, fallback, string);\n    const defaultedStringEnum = (key, fallback, values) => defaultedOf(key, fallback, validateEnum(values));\n    const defaultedBoolean = (key, fallback) => defaultedOf(key, fallback, boolean);\n    const defaultedFunction = (key, fallback) => defaultedOf(key, fallback, functionProcessor);\n    const defaultedArrayOf = (key, fallback, schema) => defaultedOf(key, fallback, arrOf(schema));\n\n    const type = requiredString('type');\n    const fetch$1 = requiredFunction('fetch');\n    const onAction = requiredFunction('onAction');\n    const onSetup = defaultedFunction('onSetup', () => noop);\n    const optionalText = optionString('text');\n    const optionalIcon = optionString('icon');\n    const optionalTooltip = optionString('tooltip');\n    const optionalLabel = optionString('label');\n    const active = defaultedBoolean('active', false);\n    const enabled = defaultedBoolean('enabled', true);\n    const primary = defaultedBoolean('primary', false);\n    const defaultedColumns = num => defaulted('columns', num);\n    const defaultedType = type => defaultedString('type', type);\n\n    const autocompleterSchema = objOf([type, requiredString('trigger'), defaultedNumber('minChars', 1), defaultedColumns(1), defaultedNumber('maxResults', 10), optionFunction('matches'), fetch$1, onAction, defaultedArrayOf('highlightOn', [], string)]);\n    const createAutocompleter = spec => asRaw('Autocompleter', autocompleterSchema, {\n      trigger: spec.ch,\n      ...spec\n    });\n\n    const baseToolbarButtonFields = [enabled, optionalTooltip, optionalIcon, optionalText, onSetup];\n\n    const baseToolbarToggleButtonFields = [active].concat(baseToolbarButtonFields);\n\n    const contextBarFields = [defaultedFunction('predicate', never), defaultedStringEnum('scope', 'node', ['node', 'editor']), defaultedStringEnum('position', 'selection', ['node', 'selection', 'line'])];\n\n    const contextButtonFields = baseToolbarButtonFields.concat([defaultedType('contextformbutton'), primary, onAction, customField('original', identity)]);\n    const contextToggleButtonFields = baseToolbarToggleButtonFields.concat([defaultedType('contextformbutton'), primary, onAction, customField('original', identity)]);\n    const launchButtonFields = baseToolbarButtonFields.concat([defaultedType('contextformbutton')]);\n    const launchToggleButtonFields = baseToolbarToggleButtonFields.concat([defaultedType('contextformtogglebutton')]);\n    const toggleOrNormal = choose('type', {\n      contextformbutton: contextButtonFields,\n      contextformtogglebutton: contextToggleButtonFields\n    });\n    objOf([defaultedType('contextform'), defaultedFunction('initValue', constant('')), optionalLabel, requiredArrayOf('commands', toggleOrNormal), optionOf('launch', choose('type', {\n      contextformbutton: launchButtonFields,\n      contextformtogglebutton: launchToggleButtonFields\n    }))].concat(contextBarFields));\n\n    const register$2 = editor => {\n      const popups = editor.ui.registry.getAll().popups;\n      const dataset = map$2(popups, popup => createAutocompleter(popup).fold(err => {\n        throw new Error(formatError(err));\n      }, identity));\n      const triggers = stringArray(mapToArray(dataset, v => v.trigger));\n      const datasetValues = values(dataset);\n      const lookupByTrigger = trigger => filter$5(datasetValues, dv => dv.trigger === trigger);\n      return {\n        dataset,\n        triggers,\n        lookupByTrigger\n      };\n    };\n\n    const setupEditorInput = (editor, api) => {\n      const update = last$1(api.load, 50);\n      editor.on('keypress compositionend', e => {\n        if (e.which === 27) {\n          return;\n        }\n        update.throttle();\n      });\n      editor.on('keydown', e => {\n        const keyCode = e.which;\n        if (keyCode === 8) {\n          update.throttle();\n        } else if (keyCode === 27) {\n          api.cancelIfNecessary();\n        }\n      });\n      editor.on('remove', update.cancel);\n    };\n    const setup$k = editor => {\n      const activeAutocompleter = value$2();\n      const uiActive = Cell(false);\n      const isActive = activeAutocompleter.isSet;\n      const cancelIfNecessary = () => {\n        if (isActive()) {\n          removeAutocompleterDecoration(editor);\n          fireAutocompleterEnd(editor);\n          uiActive.set(false);\n          activeAutocompleter.clear();\n        }\n      };\n      const commenceIfNecessary = context => {\n        if (!isActive()) {\n          addAutocompleterDecoration(editor, context.range);\n          activeAutocompleter.set({\n            trigger: context.trigger,\n            matchLength: context.text.length\n          });\n        }\n      };\n      const getAutocompleters = cached(() => register$2(editor));\n      const doLookup = fetchOptions => activeAutocompleter.get().map(ac => getContext(editor.dom, editor.selection.getRng(), ac.trigger).bind(newContext => lookupWithContext(editor, getAutocompleters, newContext, fetchOptions))).getOrThunk(() => lookup(editor, getAutocompleters));\n      const load = fetchOptions => {\n        doLookup(fetchOptions).fold(cancelIfNecessary, lookupInfo => {\n          commenceIfNecessary(lookupInfo.context);\n          lookupInfo.lookupData.then(lookupData => {\n            activeAutocompleter.get().map(ac => {\n              const context = lookupInfo.context;\n              if (ac.trigger === context.trigger) {\n                if (context.text.length - ac.matchLength >= 10) {\n                  cancelIfNecessary();\n                } else {\n                  activeAutocompleter.set({\n                    ...ac,\n                    matchLength: context.text.length\n                  });\n                  if (uiActive.get()) {\n                    fireAutocompleterUpdate(editor, {\n                      lookupData\n                    });\n                  } else {\n                    uiActive.set(true);\n                    fireAutocompleterStart(editor, {\n                      lookupData\n                    });\n                  }\n                }\n              }\n            });\n          });\n        });\n      };\n      editor.addCommand('mceAutocompleterReload', (_ui, value) => {\n        const fetchOptions = isObject(value) ? value.fetchOptions : {};\n        load(fetchOptions);\n      });\n      editor.addCommand('mceAutocompleterClose', cancelIfNecessary);\n      setupEditorInput(editor, {\n        cancelIfNecessary,\n        load\n      });\n    };\n\n    const browser$1 = detect$2().browser;\n    const isSafari = browser$1.isSafari();\n    const emptyNodeContents = node => fillWithPaddingBr(SugarElement.fromDom(node));\n    const isEntireNodeSelected = (rng, node) => {\n      var _a;\n      return rng.startOffset === 0 && rng.endOffset === ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.length);\n    };\n    const getParentDetailsElementAtPos = (dom, pos) => Optional.from(dom.getParent(pos.container(), 'details'));\n    const isInDetailsElement = (dom, pos) => getParentDetailsElementAtPos(dom, pos).isSome();\n    const getDetailsElements = (dom, rng) => {\n      const startDetails = Optional.from(dom.getParent(rng.startContainer, 'details'));\n      const endDetails = Optional.from(dom.getParent(rng.endContainer, 'details'));\n      if (startDetails.isSome() || endDetails.isSome()) {\n        const startSummary = startDetails.bind(details => Optional.from(dom.select('summary', details)[0]));\n        return Optional.some({\n          startSummary,\n          startDetails,\n          endDetails\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n    const isCaretInTheBeginningOf = (caretPos, element) => firstPositionIn(element).exists(pos => pos.isEqual(caretPos));\n    const isCaretInTheEndOf = (caretPos, element) => {\n      return lastPositionIn(element).exists(pos => {\n        if (isBr$6(pos.getNode())) {\n          return prevPosition(element, pos).exists(pos2 => pos2.isEqual(caretPos)) || pos.isEqual(caretPos);\n        } else {\n          return pos.isEqual(caretPos);\n        }\n      });\n    };\n    const isCaretAtStartOfSummary = (caretPos, detailsElements) => detailsElements.startSummary.exists(summary => isCaretInTheBeginningOf(caretPos, summary));\n    const isCaretAtEndOfSummary = (caretPos, detailsElements) => detailsElements.startSummary.exists(summary => isCaretInTheEndOf(caretPos, summary));\n    const isCaretInFirstPositionInBody = (caretPos, detailsElements) => detailsElements.startDetails.exists(details => prevPosition(details, caretPos).forall(pos => detailsElements.startSummary.exists(summary => !summary.contains(caretPos.container()) && summary.contains(pos.container()))));\n    const isCaretInLastPositionInBody = (root, caretPos, detailsElements) => detailsElements.startDetails.exists(details => nextPosition(root, caretPos).forall(pos => !details.contains(pos.container())));\n    const setCaretToPosition = (editor, position) => {\n      const node = position.getNode();\n      if (!isUndefined(node)) {\n        editor.selection.setCursorLocation(node, position.offset());\n      }\n    };\n    const moveCaretToDetailsPos = (editor, pos, forward) => {\n      const details = editor.dom.getParent(pos.container(), 'details');\n      if (details && !details.open) {\n        const summary = editor.dom.select('summary', details)[0];\n        if (summary) {\n          const newPos = forward ? firstPositionIn(summary) : lastPositionIn(summary);\n          newPos.each(pos => setCaretToPosition(editor, pos));\n        }\n      } else {\n        setCaretToPosition(editor, pos);\n      }\n    };\n    const isPartialDelete = (rng, detailsElements) => {\n      const containsStart = element => element.contains(rng.startContainer);\n      const containsEnd = element => element.contains(rng.endContainer);\n      const startInSummary = detailsElements.startSummary.exists(containsStart);\n      const endInSummary = detailsElements.startSummary.exists(containsEnd);\n      const isPartiallySelectedDetailsElements = detailsElements.startDetails.forall(startDetails => detailsElements.endDetails.forall(endDetails => startDetails !== endDetails));\n      const isInPartiallySelectedSummary = (startInSummary || endInSummary) && !(startInSummary && endInSummary);\n      return isInPartiallySelectedSummary || isPartiallySelectedDetailsElements;\n    };\n    const shouldPreventDeleteIntoDetails = (editor, forward, granularity) => {\n      const {\n        dom,\n        selection\n      } = editor;\n      const root = editor.getBody();\n      if (granularity === 'character') {\n        const caretPos = CaretPosition.fromRangeStart(selection.getRng());\n        const parentBlock = dom.getParent(caretPos.container(), dom.isBlock);\n        const parentDetailsAtCaret = getParentDetailsElementAtPos(dom, caretPos);\n        const inEmptyParentBlock = parentBlock && dom.isEmpty(parentBlock);\n        const isFirstBlock = isNull(parentBlock === null || parentBlock === void 0 ? void 0 : parentBlock.previousSibling);\n        const isLastBlock = isNull(parentBlock === null || parentBlock === void 0 ? void 0 : parentBlock.nextSibling);\n        if (inEmptyParentBlock) {\n          const firstOrLast = forward ? isLastBlock : isFirstBlock;\n          if (firstOrLast) {\n            const isBeforeAfterDetails = navigate(!forward, root, caretPos).exists(pos => {\n              return isInDetailsElement(dom, pos) && !equals(parentDetailsAtCaret, getParentDetailsElementAtPos(dom, pos));\n            });\n            if (isBeforeAfterDetails) {\n              return true;\n            }\n          }\n        }\n        return navigate(forward, root, caretPos).fold(never, pos => {\n          const parentDetailsAtNewPos = getParentDetailsElementAtPos(dom, pos);\n          if (isInDetailsElement(dom, pos) && !equals(parentDetailsAtCaret, parentDetailsAtNewPos)) {\n            if (!forward) {\n              moveCaretToDetailsPos(editor, pos, false);\n            }\n            if (parentBlock && inEmptyParentBlock) {\n              if (forward && isFirstBlock) {\n                return true;\n              } else if (!forward && isLastBlock) {\n                return true;\n              }\n              moveCaretToDetailsPos(editor, pos, forward);\n              editor.dom.remove(parentBlock);\n            }\n            return true;\n          } else {\n            return false;\n          }\n        });\n      } else {\n        return false;\n      }\n    };\n    const shouldPreventDeleteSummaryAction = (editor, detailElements, forward, granularity) => {\n      const selection = editor.selection;\n      const rng = selection.getRng();\n      const caretPos = CaretPosition.fromRangeStart(rng);\n      const root = editor.getBody();\n      if (granularity === 'selection') {\n        return isPartialDelete(rng, detailElements);\n      } else if (forward) {\n        return isCaretAtEndOfSummary(caretPos, detailElements) || isCaretInLastPositionInBody(root, caretPos, detailElements);\n      } else {\n        return isCaretAtStartOfSummary(caretPos, detailElements) || isCaretInFirstPositionInBody(caretPos, detailElements);\n      }\n    };\n    const shouldPreventDeleteAction = (editor, forward, granularity) => getDetailsElements(editor.dom, editor.selection.getRng()).fold(() => shouldPreventDeleteIntoDetails(editor, forward, granularity), detailsElements => shouldPreventDeleteSummaryAction(editor, detailsElements, forward, granularity) || shouldPreventDeleteIntoDetails(editor, forward, granularity));\n    const handleDeleteActionSafari = (editor, forward, granularity) => {\n      const selection = editor.selection;\n      const node = selection.getNode();\n      const rng = selection.getRng();\n      const caretPos = CaretPosition.fromRangeStart(rng);\n      if (isSummary$1(node)) {\n        if (granularity === 'selection' && isEntireNodeSelected(rng, node) || willDeleteLastPositionInElement(forward, caretPos, node)) {\n          emptyNodeContents(node);\n        } else {\n          editor.undoManager.transact(() => {\n            const sel = selection.getSel();\n            let {\n              anchorNode,\n              anchorOffset,\n              focusNode,\n              focusOffset\n            } = sel !== null && sel !== void 0 ? sel : {};\n            const applySelection = () => {\n              if (isNonNullable(anchorNode) && isNonNullable(anchorOffset) && isNonNullable(focusNode) && isNonNullable(focusOffset)) {\n                sel === null || sel === void 0 ? void 0 : sel.setBaseAndExtent(anchorNode, anchorOffset, focusNode, focusOffset);\n              }\n            };\n            const updateSelection = () => {\n              anchorNode = sel === null || sel === void 0 ? void 0 : sel.anchorNode;\n              anchorOffset = sel === null || sel === void 0 ? void 0 : sel.anchorOffset;\n              focusNode = sel === null || sel === void 0 ? void 0 : sel.focusNode;\n              focusOffset = sel === null || sel === void 0 ? void 0 : sel.focusOffset;\n            };\n            const appendAllChildNodes = (from, to) => {\n              each$e(from.childNodes, child => {\n                if (isNode(child)) {\n                  to.appendChild(child);\n                }\n              });\n            };\n            const container = editor.dom.create('span', {\n              'data-mce-bogus': '1'\n            });\n            appendAllChildNodes(node, container);\n            node.appendChild(container);\n            applySelection();\n            if (granularity === 'word' || granularity === 'line') {\n              sel === null || sel === void 0 ? void 0 : sel.modify('extend', forward ? 'right' : 'left', granularity);\n            }\n            if (!selection.isCollapsed() && isEntireNodeSelected(selection.getRng(), container)) {\n              emptyNodeContents(node);\n            } else {\n              editor.execCommand(forward ? 'ForwardDelete' : 'Delete');\n              updateSelection();\n              appendAllChildNodes(container, node);\n              applySelection();\n            }\n            editor.dom.remove(container);\n          });\n        }\n        return true;\n      } else {\n        return false;\n      }\n    };\n    const backspaceDelete = (editor, forward, granularity) => shouldPreventDeleteAction(editor, forward, granularity) || isSafari && handleDeleteActionSafari(editor, forward, granularity) ? Optional.some(noop) : Optional.none();\n\n    const createAndFireInputEvent = eventType => (editor, inputType, specifics = {}) => {\n      const target = editor.getBody();\n      const overrides = {\n        bubbles: true,\n        composed: true,\n        data: null,\n        isComposing: false,\n        detail: 0,\n        view: null,\n        target,\n        currentTarget: target,\n        eventPhase: Event.AT_TARGET,\n        originalTarget: target,\n        explicitOriginalTarget: target,\n        isTrusted: false,\n        srcElement: target,\n        cancelable: false,\n        preventDefault: noop,\n        inputType\n      };\n      const input = clone$3(new InputEvent(eventType));\n      return editor.dispatch(eventType, {\n        ...input,\n        ...overrides,\n        ...specifics\n      });\n    };\n    const fireInputEvent = createAndFireInputEvent('input');\n    const fireBeforeInputEvent = createAndFireInputEvent('beforeinput');\n\n    const platform$2 = detect$2();\n    const os = platform$2.os;\n    const isMacOSOriOS = os.isMacOS() || os.isiOS();\n    const browser = platform$2.browser;\n    const isFirefox = browser.isFirefox();\n    const executeKeydownOverride$3 = (editor, caret, evt) => {\n      const inputType = evt.keyCode === VK.BACKSPACE ? 'deleteContentBackward' : 'deleteContentForward';\n      const isCollapsed = editor.selection.isCollapsed();\n      const unmodifiedGranularity = isCollapsed ? 'character' : 'selection';\n      const getModifiedGranularity = isWord => {\n        if (isCollapsed) {\n          return isWord ? 'word' : 'line';\n        } else {\n          return 'selection';\n        }\n      };\n      executeWithDelayedAction([{\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete$1, editor)\n      }, {\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete$6, editor, false)\n      }, {\n        keyCode: VK.DELETE,\n        action: action(backspaceDelete$6, editor, true)\n      }, {\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete$7, editor, false)\n      }, {\n        keyCode: VK.DELETE,\n        action: action(backspaceDelete$7, editor, true)\n      }, {\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete$4, editor, caret, false)\n      }, {\n        keyCode: VK.DELETE,\n        action: action(backspaceDelete$4, editor, caret, true)\n      }, {\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete$a, editor, false)\n      }, {\n        keyCode: VK.DELETE,\n        action: action(backspaceDelete$a, editor, true)\n      }, {\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete, editor, false, unmodifiedGranularity)\n      }, {\n        keyCode: VK.DELETE,\n        action: action(backspaceDelete, editor, true, unmodifiedGranularity)\n      }, ...(isMacOSOriOS ? [{\n        keyCode: VK.BACKSPACE,\n        altKey: true,\n        action: action(backspaceDelete, editor, false, getModifiedGranularity(true))\n      }, {\n        keyCode: VK.DELETE,\n        altKey: true,\n        action: action(backspaceDelete, editor, true, getModifiedGranularity(true))\n      }, {\n        keyCode: VK.BACKSPACE,\n        metaKey: true,\n        action: action(backspaceDelete, editor, false, getModifiedGranularity(false))\n      }] : [{\n        keyCode: VK.BACKSPACE,\n        ctrlKey: true,\n        action: action(backspaceDelete, editor, false, getModifiedGranularity(true))\n      }, {\n        keyCode: VK.DELETE,\n        ctrlKey: true,\n        action: action(backspaceDelete, editor, true, getModifiedGranularity(true))\n      }]), {\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete$5, editor, false)\n      }, {\n        keyCode: VK.DELETE,\n        action: action(backspaceDelete$5, editor, true)\n      }, {\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete$2, editor, false)\n      }, {\n        keyCode: VK.DELETE,\n        action: action(backspaceDelete$2, editor, true)\n      }, {\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete$8, editor, false)\n      }, {\n        keyCode: VK.DELETE,\n        action: action(backspaceDelete$8, editor, true)\n      }, {\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete$9, editor, false)\n      }, {\n        keyCode: VK.DELETE,\n        action: action(backspaceDelete$9, editor, true)\n      }, {\n        keyCode: VK.BACKSPACE,\n        action: action(backspaceDelete$3, editor, false)\n      }, {\n        keyCode: VK.DELETE,\n        action: action(backspaceDelete$3, editor, true)\n      }], evt).filter(_ => editor.selection.isEditable()).each(applyAction => {\n        evt.preventDefault();\n        const beforeInput = fireBeforeInputEvent(editor, inputType);\n        if (!beforeInput.isDefaultPrevented()) {\n          applyAction();\n          fireInputEvent(editor, inputType);\n        }\n      });\n    };\n    const executeKeyupOverride = (editor, evt, isBackspaceKeydown) => execute([{\n      keyCode: VK.BACKSPACE,\n      action: action(paddEmptyElement, editor)\n    }, {\n      keyCode: VK.DELETE,\n      action: action(paddEmptyElement, editor)\n    }, ...(isMacOSOriOS ? [{\n      keyCode: VK.BACKSPACE,\n      altKey: true,\n      action: action(refreshCaret, editor)\n    }, {\n      keyCode: VK.DELETE,\n      altKey: true,\n      action: action(refreshCaret, editor)\n    }, ...(isBackspaceKeydown ? [{\n      keyCode: isFirefox ? 224 : 91,\n      action: action(refreshCaret, editor)\n    }] : [])] : [{\n      keyCode: VK.BACKSPACE,\n      ctrlKey: true,\n      action: action(refreshCaret, editor)\n    }, {\n      keyCode: VK.DELETE,\n      ctrlKey: true,\n      action: action(refreshCaret, editor)\n    }])], evt);\n    const setup$j = (editor, caret) => {\n      let isBackspaceKeydown = false;\n      editor.on('keydown', evt => {\n        isBackspaceKeydown = evt.keyCode === VK.BACKSPACE;\n        if (!evt.isDefaultPrevented()) {\n          executeKeydownOverride$3(editor, caret, evt);\n        }\n      });\n      editor.on('keyup', evt => {\n        if (!evt.isDefaultPrevented()) {\n          executeKeyupOverride(editor, evt, isBackspaceKeydown);\n        }\n        isBackspaceKeydown = false;\n      });\n    };\n\n    const firstNonWhiteSpaceNodeSibling = node => {\n      while (node) {\n        if (isElement$6(node) || isText$a(node) && node.data && /[\\r\\n\\s]/.test(node.data)) {\n          return node;\n        }\n        node = node.nextSibling;\n      }\n      return null;\n    };\n    const moveToCaretPosition = (editor, root) => {\n      const dom = editor.dom;\n      const moveCaretBeforeOnEnterElementsMap = editor.schema.getMoveCaretBeforeOnEnterElements();\n      if (!root) {\n        return;\n      }\n      if (/^(LI|DT|DD)$/.test(root.nodeName)) {\n        const firstChild = firstNonWhiteSpaceNodeSibling(root.firstChild);\n        if (firstChild && /^(UL|OL|DL)$/.test(firstChild.nodeName)) {\n          root.insertBefore(dom.doc.createTextNode(nbsp), root.firstChild);\n        }\n      }\n      const rng = dom.createRng();\n      root.normalize();\n      if (root.hasChildNodes()) {\n        const walker = new DomTreeWalker(root, root);\n        let lastNode = root;\n        let node;\n        while (node = walker.current()) {\n          if (isText$a(node)) {\n            rng.setStart(node, 0);\n            rng.setEnd(node, 0);\n            break;\n          }\n          if (moveCaretBeforeOnEnterElementsMap[node.nodeName.toLowerCase()]) {\n            rng.setStartBefore(node);\n            rng.setEndBefore(node);\n            break;\n          }\n          lastNode = node;\n          node = walker.next();\n        }\n        if (!node) {\n          rng.setStart(lastNode, 0);\n          rng.setEnd(lastNode, 0);\n        }\n      } else {\n        if (isBr$6(root)) {\n          if (root.nextSibling && dom.isBlock(root.nextSibling)) {\n            rng.setStartBefore(root);\n            rng.setEndBefore(root);\n          } else {\n            rng.setStartAfter(root);\n            rng.setEndAfter(root);\n          }\n        } else {\n          rng.setStart(root, 0);\n          rng.setEnd(root, 0);\n        }\n      }\n      editor.selection.setRng(rng);\n      scrollRangeIntoView(editor, rng);\n    };\n    const getEditableRoot = (dom, node) => {\n      const root = dom.getRoot();\n      let editableRoot;\n      let parent = node;\n      while (parent !== root && parent && dom.getContentEditable(parent) !== 'false') {\n        if (dom.getContentEditable(parent) === 'true') {\n          editableRoot = parent;\n          break;\n        }\n        parent = parent.parentNode;\n      }\n      return parent !== root ? editableRoot : root;\n    };\n    const getParentBlock$1 = editor => {\n      return Optional.from(editor.dom.getParent(editor.selection.getStart(true), editor.dom.isBlock));\n    };\n    const getParentBlockName = editor => {\n      return getParentBlock$1(editor).fold(constant(''), parentBlock => {\n        return parentBlock.nodeName.toUpperCase();\n      });\n    };\n    const isListItemParentBlock = editor => {\n      return getParentBlock$1(editor).filter(elm => {\n        return isListItem$1(SugarElement.fromDom(elm));\n      }).isSome();\n    };\n    const emptyBlock = elm => {\n      elm.innerHTML = '<br data-mce-bogus=\"1\">';\n    };\n    const applyAttributes = (editor, node, forcedRootBlockAttrs) => {\n      const dom = editor.dom;\n      Optional.from(forcedRootBlockAttrs.style).map(dom.parseStyle).each(attrStyles => {\n        const currentStyles = getAllRaw(SugarElement.fromDom(node));\n        const newStyles = {\n          ...currentStyles,\n          ...attrStyles\n        };\n        dom.setStyles(node, newStyles);\n      });\n      const attrClassesOpt = Optional.from(forcedRootBlockAttrs.class).map(attrClasses => attrClasses.split(/\\s+/));\n      const currentClassesOpt = Optional.from(node.className).map(currentClasses => filter$5(currentClasses.split(/\\s+/), clazz => clazz !== ''));\n      lift2(attrClassesOpt, currentClassesOpt, (attrClasses, currentClasses) => {\n        const filteredClasses = filter$5(currentClasses, clazz => !contains$2(attrClasses, clazz));\n        const newClasses = [...attrClasses, ...filteredClasses];\n        dom.setAttrib(node, 'class', newClasses.join(' '));\n      });\n      const appliedAttrs = ['style', 'class'];\n      const remainingAttrs = filter$4(forcedRootBlockAttrs, (_, attrs) => !contains$2(appliedAttrs, attrs));\n      dom.setAttribs(node, remainingAttrs);\n    };\n    const setForcedBlockAttrs = (editor, node) => {\n      const forcedRootBlockName = getForcedRootBlock(editor);\n      if (forcedRootBlockName.toLowerCase() === node.tagName.toLowerCase()) {\n        const forcedRootBlockAttrs = getForcedRootBlockAttrs(editor);\n        applyAttributes(editor, node, forcedRootBlockAttrs);\n      }\n    };\n    const createNewBlock = (editor, container, parentBlock, editableRoot, keepStyles = true, name, styles) => {\n      const dom = editor.dom;\n      const schema = editor.schema;\n      const newBlockName = getForcedRootBlock(editor);\n      const parentBlockName = parentBlock ? parentBlock.nodeName.toUpperCase() : '';\n      let node = container;\n      const textInlineElements = schema.getTextInlineElements();\n      let block;\n      if (name || parentBlockName === 'TABLE' || parentBlockName === 'HR') {\n        block = dom.create(name || newBlockName, styles || {});\n      } else {\n        block = parentBlock.cloneNode(false);\n      }\n      let caretNode = block;\n      if (!keepStyles) {\n        dom.setAttrib(block, 'style', null);\n        dom.setAttrib(block, 'class', null);\n      } else {\n        do {\n          if (textInlineElements[node.nodeName]) {\n            if (isCaretNode(node) || isBookmarkNode$1(node)) {\n              continue;\n            }\n            const clonedNode = node.cloneNode(false);\n            dom.setAttrib(clonedNode, 'id', '');\n            if (block.hasChildNodes()) {\n              clonedNode.appendChild(block.firstChild);\n              block.appendChild(clonedNode);\n            } else {\n              caretNode = clonedNode;\n              block.appendChild(clonedNode);\n            }\n          }\n        } while ((node = node.parentNode) && node !== editableRoot);\n      }\n      setForcedBlockAttrs(editor, block);\n      emptyBlock(caretNode);\n      return block;\n    };\n\n    const getDetailsRoot = (editor, element) => editor.dom.getParent(element, isDetails);\n    const isAtDetailsEdge = (root, element, isTextBlock) => {\n      let node = element;\n      while (node && node !== root && isNull(node.nextSibling)) {\n        const parent = node.parentElement;\n        if (!parent || !isTextBlock(parent)) {\n          return isDetails(parent);\n        }\n        node = parent;\n      }\n      return false;\n    };\n    const isLastEmptyBlockInDetails = (editor, shiftKey, element) => !shiftKey && element.nodeName.toLowerCase() === getForcedRootBlock(editor) && editor.dom.isEmpty(element) && isAtDetailsEdge(editor.getBody(), element, el => has$2(editor.schema.getTextBlockElements(), el.nodeName.toLowerCase()));\n    const insertNewLine = (editor, createNewBlock, parentBlock) => {\n      var _a, _b, _c;\n      const newBlock = createNewBlock(getForcedRootBlock(editor));\n      const root = getDetailsRoot(editor, parentBlock);\n      if (!root) {\n        return;\n      }\n      editor.dom.insertAfter(newBlock, root);\n      moveToCaretPosition(editor, newBlock);\n      if (((_c = (_b = (_a = parentBlock.parentElement) === null || _a === void 0 ? void 0 : _a.childNodes) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0) > 1) {\n        editor.dom.remove(parentBlock);\n      }\n    };\n\n    const hasFirstChild = (elm, name) => {\n      return elm.firstChild && elm.firstChild.nodeName === name;\n    };\n    const isFirstChild = elm => {\n      var _a;\n      return ((_a = elm.parentNode) === null || _a === void 0 ? void 0 : _a.firstChild) === elm;\n    };\n    const hasParent = (elm, parentName) => {\n      const parentNode = elm === null || elm === void 0 ? void 0 : elm.parentNode;\n      return isNonNullable(parentNode) && parentNode.nodeName === parentName;\n    };\n    const isListBlock = elm => {\n      return isNonNullable(elm) && /^(OL|UL|LI)$/.test(elm.nodeName);\n    };\n    const isListItem = elm => {\n      return isNonNullable(elm) && /^(LI|DT|DD)$/.test(elm.nodeName);\n    };\n    const isNestedList = elm => {\n      return isListBlock(elm) && isListBlock(elm.parentNode);\n    };\n    const getContainerBlock = containerBlock => {\n      const containerBlockParent = containerBlock.parentNode;\n      return isListItem(containerBlockParent) ? containerBlockParent : containerBlock;\n    };\n    const isFirstOrLastLi = (containerBlock, parentBlock, first) => {\n      let node = containerBlock[first ? 'firstChild' : 'lastChild'];\n      while (node) {\n        if (isElement$6(node)) {\n          break;\n        }\n        node = node[first ? 'nextSibling' : 'previousSibling'];\n      }\n      return node === parentBlock;\n    };\n    const getStyles = elm => foldl(mapToArray(getAllRaw(SugarElement.fromDom(elm)), (style, styleName) => \"\".concat(styleName, \": \").concat(style, \";\")), (acc, s) => acc + s, '');\n    const insert$4 = (editor, createNewBlock, containerBlock, parentBlock, newBlockName) => {\n      const dom = editor.dom;\n      const rng = editor.selection.getRng();\n      const containerParent = containerBlock.parentNode;\n      if (containerBlock === editor.getBody() || !containerParent) {\n        return;\n      }\n      if (isNestedList(containerBlock)) {\n        newBlockName = 'LI';\n      }\n      const parentBlockStyles = isListItem(parentBlock) ? getStyles(parentBlock) : undefined;\n      let newBlock = isListItem(parentBlock) && parentBlockStyles ? createNewBlock(newBlockName, {\n        style: getStyles(parentBlock)\n      }) : createNewBlock(newBlockName);\n      if (isFirstOrLastLi(containerBlock, parentBlock, true) && isFirstOrLastLi(containerBlock, parentBlock, false)) {\n        if (hasParent(containerBlock, 'LI')) {\n          const containerBlockParent = getContainerBlock(containerBlock);\n          dom.insertAfter(newBlock, containerBlockParent);\n          if (isFirstChild(containerBlock)) {\n            dom.remove(containerBlockParent);\n          } else {\n            dom.remove(containerBlock);\n          }\n        } else {\n          dom.replace(newBlock, containerBlock);\n        }\n      } else if (isFirstOrLastLi(containerBlock, parentBlock, true)) {\n        if (hasParent(containerBlock, 'LI')) {\n          dom.insertAfter(newBlock, getContainerBlock(containerBlock));\n          newBlock.appendChild(dom.doc.createTextNode(' '));\n          newBlock.appendChild(containerBlock);\n        } else {\n          containerParent.insertBefore(newBlock, containerBlock);\n        }\n        dom.remove(parentBlock);\n      } else if (isFirstOrLastLi(containerBlock, parentBlock, false)) {\n        dom.insertAfter(newBlock, getContainerBlock(containerBlock));\n        dom.remove(parentBlock);\n      } else {\n        containerBlock = getContainerBlock(containerBlock);\n        const tmpRng = rng.cloneRange();\n        tmpRng.setStartAfter(parentBlock);\n        tmpRng.setEndAfter(containerBlock);\n        const fragment = tmpRng.extractContents();\n        if (newBlockName === 'LI' && hasFirstChild(fragment, 'LI')) {\n          const previousChildren = filter$5(map$3(newBlock.children, SugarElement.fromDom), not(isTag('br')));\n          newBlock = fragment.firstChild;\n          dom.insertAfter(fragment, containerBlock);\n          each$e(previousChildren, child => prepend(SugarElement.fromDom(newBlock), child));\n          if (parentBlockStyles) {\n            newBlock.setAttribute('style', parentBlockStyles);\n          }\n        } else {\n          dom.insertAfter(fragment, containerBlock);\n          dom.insertAfter(newBlock, containerBlock);\n        }\n        dom.remove(parentBlock);\n      }\n      moveToCaretPosition(editor, newBlock);\n    };\n\n    const trimZwsp = fragment => {\n      each$e(descendants$1(SugarElement.fromDom(fragment), isText$b), text => {\n        const rawNode = text.dom;\n        rawNode.nodeValue = trim$2(rawNode.data);\n      });\n    };\n    const isWithinNonEditableList = (editor, node) => {\n      const parentList = editor.dom.getParent(node, 'ol,ul,dl');\n      return parentList !== null && editor.dom.getContentEditableParent(parentList) === 'false';\n    };\n    const isEmptyAnchor = (dom, elm) => {\n      return elm && elm.nodeName === 'A' && dom.isEmpty(elm);\n    };\n    const containerAndSiblingName = (container, nodeName) => {\n      return container.nodeName === nodeName || container.previousSibling && container.previousSibling.nodeName === nodeName;\n    };\n    const canSplitBlock = (dom, node) => {\n      return isNonNullable(node) && dom.isBlock(node) && !/^(TD|TH|CAPTION|FORM)$/.test(node.nodeName) && !/^(fixed|absolute)/i.test(node.style.position) && dom.isEditable(node.parentNode) && dom.getContentEditable(node) !== 'false';\n    };\n    const trimInlineElementsOnLeftSideOfBlock = (dom, nonEmptyElementsMap, block) => {\n      var _a;\n      const firstChilds = [];\n      if (!block) {\n        return;\n      }\n      let currentNode = block;\n      while (currentNode = currentNode.firstChild) {\n        if (dom.isBlock(currentNode)) {\n          return;\n        }\n        if (isElement$6(currentNode) && !nonEmptyElementsMap[currentNode.nodeName.toLowerCase()]) {\n          firstChilds.push(currentNode);\n        }\n      }\n      let i = firstChilds.length;\n      while (i--) {\n        currentNode = firstChilds[i];\n        if (!currentNode.hasChildNodes() || currentNode.firstChild === currentNode.lastChild && ((_a = currentNode.firstChild) === null || _a === void 0 ? void 0 : _a.nodeValue) === '') {\n          dom.remove(currentNode);\n        } else {\n          if (isEmptyAnchor(dom, currentNode)) {\n            dom.remove(currentNode);\n          }\n        }\n      }\n    };\n    const normalizeZwspOffset = (start, container, offset) => {\n      if (!isText$a(container)) {\n        return offset;\n      } else if (start) {\n        return offset === 1 && container.data.charAt(offset - 1) === ZWSP$1 ? 0 : offset;\n      } else {\n        return offset === container.data.length - 1 && container.data.charAt(offset) === ZWSP$1 ? container.data.length : offset;\n      }\n    };\n    const includeZwspInRange = rng => {\n      const newRng = rng.cloneRange();\n      newRng.setStart(rng.startContainer, normalizeZwspOffset(true, rng.startContainer, rng.startOffset));\n      newRng.setEnd(rng.endContainer, normalizeZwspOffset(false, rng.endContainer, rng.endOffset));\n      return newRng;\n    };\n    const trimLeadingLineBreaks = node => {\n      let currentNode = node;\n      do {\n        if (isText$a(currentNode)) {\n          currentNode.data = currentNode.data.replace(/^[\\r\\n]+/, '');\n        }\n        currentNode = currentNode.firstChild;\n      } while (currentNode);\n    };\n    const wrapSelfAndSiblingsInDefaultBlock = (editor, newBlockName, rng, container, offset) => {\n      var _a, _b;\n      const dom = editor.dom;\n      const editableRoot = (_a = getEditableRoot(dom, container)) !== null && _a !== void 0 ? _a : dom.getRoot();\n      let parentBlock = dom.getParent(container, dom.isBlock);\n      if (!parentBlock || !canSplitBlock(dom, parentBlock)) {\n        parentBlock = parentBlock || editableRoot;\n        if (!parentBlock.hasChildNodes()) {\n          const newBlock = dom.create(newBlockName);\n          setForcedBlockAttrs(editor, newBlock);\n          parentBlock.appendChild(newBlock);\n          rng.setStart(newBlock, 0);\n          rng.setEnd(newBlock, 0);\n          return newBlock;\n        }\n        let node = container;\n        while (node && node.parentNode !== parentBlock) {\n          node = node.parentNode;\n        }\n        let startNode;\n        while (node && !dom.isBlock(node)) {\n          startNode = node;\n          node = node.previousSibling;\n        }\n        const startNodeName = (_b = startNode === null || startNode === void 0 ? void 0 : startNode.parentElement) === null || _b === void 0 ? void 0 : _b.nodeName;\n        if (startNode && startNodeName && editor.schema.isValidChild(startNodeName, newBlockName.toLowerCase())) {\n          const startNodeParent = startNode.parentNode;\n          const newBlock = dom.create(newBlockName);\n          setForcedBlockAttrs(editor, newBlock);\n          startNodeParent.insertBefore(newBlock, startNode);\n          node = startNode;\n          while (node && !dom.isBlock(node)) {\n            const next = node.nextSibling;\n            newBlock.appendChild(node);\n            node = next;\n          }\n          rng.setStart(container, offset);\n          rng.setEnd(container, offset);\n        }\n      }\n      return container;\n    };\n    const addBrToBlockIfNeeded = (dom, block) => {\n      block.normalize();\n      const lastChild = block.lastChild;\n      if (!lastChild || isElement$6(lastChild) && /^(left|right)$/gi.test(dom.getStyle(lastChild, 'float', true))) {\n        dom.add(block, 'br');\n      }\n    };\n    const shouldEndContainer = (editor, container) => {\n      const optionValue = shouldEndContainerOnEmptyBlock(editor);\n      if (isNullable(container)) {\n        return false;\n      } else if (isString(optionValue)) {\n        return contains$2(Tools.explode(optionValue), container.nodeName.toLowerCase());\n      } else {\n        return optionValue;\n      }\n    };\n    const insert$3 = (editor, evt) => {\n      let container;\n      let offset;\n      let parentBlockName;\n      let containerBlock;\n      let isAfterLastNodeInContainer = false;\n      const dom = editor.dom;\n      const schema = editor.schema,\n        nonEmptyElementsMap = schema.getNonEmptyElements();\n      const rng = editor.selection.getRng();\n      const newBlockName = getForcedRootBlock(editor);\n      const start = SugarElement.fromDom(rng.startContainer);\n      const child = child$1(start, rng.startOffset);\n      const isCef = child.exists(element => isHTMLElement$1(element) && !isEditable$2(element));\n      const collapsedAndCef = rng.collapsed && isCef;\n      const createNewBlock$1 = (name, styles) => {\n        return createNewBlock(editor, container, parentBlock, editableRoot, shouldKeepStyles(editor), name, styles);\n      };\n      const isCaretAtStartOrEndOfBlock = start => {\n        const normalizedOffset = normalizeZwspOffset(start, container, offset);\n        if (isText$a(container) && (start ? normalizedOffset > 0 : normalizedOffset < container.data.length)) {\n          return false;\n        }\n        if (container.parentNode === parentBlock && isAfterLastNodeInContainer && !start) {\n          return true;\n        }\n        if (start && isElement$6(container) && container === parentBlock.firstChild) {\n          return true;\n        }\n        if (containerAndSiblingName(container, 'TABLE') || containerAndSiblingName(container, 'HR')) {\n          return isAfterLastNodeInContainer && !start || !isAfterLastNodeInContainer && start;\n        }\n        const walker = new DomTreeWalker(container, parentBlock);\n        if (isText$a(container)) {\n          if (start && normalizedOffset === 0) {\n            walker.prev();\n          } else if (!start && normalizedOffset === container.data.length) {\n            walker.next();\n          }\n        }\n        let node;\n        while (node = walker.current()) {\n          if (isElement$6(node)) {\n            if (!node.getAttribute('data-mce-bogus')) {\n              const name = node.nodeName.toLowerCase();\n              if (nonEmptyElementsMap[name] && name !== 'br') {\n                return false;\n              }\n            }\n          } else if (isText$a(node) && !isWhitespaceText(node.data)) {\n            return false;\n          }\n          if (start) {\n            walker.prev();\n          } else {\n            walker.next();\n          }\n        }\n        return true;\n      };\n      const insertNewBlockAfter = () => {\n        let block;\n        if (/^(H[1-6]|PRE|FIGURE)$/.test(parentBlockName) && containerBlockName !== 'HGROUP') {\n          block = createNewBlock$1(newBlockName);\n        } else {\n          block = createNewBlock$1();\n        }\n        if (shouldEndContainer(editor, containerBlock) && canSplitBlock(dom, containerBlock) && dom.isEmpty(parentBlock, undefined, {\n          includeZwsp: true\n        })) {\n          block = dom.split(containerBlock, parentBlock);\n        } else {\n          dom.insertAfter(block, parentBlock);\n        }\n        moveToCaretPosition(editor, block);\n        return block;\n      };\n      normalize$2(dom, rng).each(normRng => {\n        rng.setStart(normRng.startContainer, normRng.startOffset);\n        rng.setEnd(normRng.endContainer, normRng.endOffset);\n      });\n      container = rng.startContainer;\n      offset = rng.startOffset;\n      const shiftKey = !!(evt && evt.shiftKey);\n      const ctrlKey = !!(evt && evt.ctrlKey);\n      if (isElement$6(container) && container.hasChildNodes() && !collapsedAndCef) {\n        isAfterLastNodeInContainer = offset > container.childNodes.length - 1;\n        container = container.childNodes[Math.min(offset, container.childNodes.length - 1)] || container;\n        if (isAfterLastNodeInContainer && isText$a(container)) {\n          offset = container.data.length;\n        } else {\n          offset = 0;\n        }\n      }\n      const editableRoot = getEditableRoot(dom, container);\n      if (!editableRoot || isWithinNonEditableList(editor, container)) {\n        return;\n      }\n      if (!shiftKey) {\n        container = wrapSelfAndSiblingsInDefaultBlock(editor, newBlockName, rng, container, offset);\n      }\n      let parentBlock = dom.getParent(container, dom.isBlock) || dom.getRoot();\n      containerBlock = isNonNullable(parentBlock === null || parentBlock === void 0 ? void 0 : parentBlock.parentNode) ? dom.getParent(parentBlock.parentNode, dom.isBlock) : null;\n      parentBlockName = parentBlock ? parentBlock.nodeName.toUpperCase() : '';\n      const containerBlockName = containerBlock ? containerBlock.nodeName.toUpperCase() : '';\n      if (containerBlockName === 'LI' && !ctrlKey) {\n        const liBlock = containerBlock;\n        parentBlock = liBlock;\n        containerBlock = liBlock.parentNode;\n        parentBlockName = containerBlockName;\n      }\n      if (isElement$6(containerBlock) && isLastEmptyBlockInDetails(editor, shiftKey, parentBlock)) {\n        return insertNewLine(editor, createNewBlock$1, parentBlock);\n      }\n      if (/^(LI|DT|DD)$/.test(parentBlockName) && isElement$6(containerBlock)) {\n        if (dom.isEmpty(parentBlock)) {\n          insert$4(editor, createNewBlock$1, containerBlock, parentBlock, newBlockName);\n          return;\n        }\n      }\n      if (!collapsedAndCef && (parentBlock === editor.getBody() || !canSplitBlock(dom, parentBlock))) {\n        return;\n      }\n      const parentBlockParent = parentBlock.parentNode;\n      let newBlock;\n      if (collapsedAndCef) {\n        newBlock = createNewBlock$1(newBlockName);\n        child.fold(() => {\n          append$1(start, SugarElement.fromDom(newBlock));\n        }, child => {\n          before$3(child, SugarElement.fromDom(newBlock));\n        });\n        editor.selection.setCursorLocation(newBlock, 0);\n      } else if (isCaretContainerBlock$1(parentBlock)) {\n        newBlock = showCaretContainerBlock(parentBlock);\n        if (dom.isEmpty(parentBlock)) {\n          emptyBlock(parentBlock);\n        }\n        setForcedBlockAttrs(editor, newBlock);\n        moveToCaretPosition(editor, newBlock);\n      } else if (isCaretAtStartOrEndOfBlock(false)) {\n        newBlock = insertNewBlockAfter();\n      } else if (isCaretAtStartOrEndOfBlock(true) && parentBlockParent) {\n        newBlock = parentBlockParent.insertBefore(createNewBlock$1(), parentBlock);\n        const isNearChildren = hasChildNodes(SugarElement.fromDom(rng.startContainer)) && rng.collapsed;\n        moveToCaretPosition(editor, containerAndSiblingName(parentBlock, 'HR') || isNearChildren ? newBlock : parentBlock);\n      } else {\n        const tmpRng = includeZwspInRange(rng).cloneRange();\n        tmpRng.setEndAfter(parentBlock);\n        const fragment = tmpRng.extractContents();\n        trimZwsp(fragment);\n        trimLeadingLineBreaks(fragment);\n        newBlock = fragment.firstChild;\n        dom.insertAfter(fragment, parentBlock);\n        trimInlineElementsOnLeftSideOfBlock(dom, nonEmptyElementsMap, newBlock);\n        addBrToBlockIfNeeded(dom, parentBlock);\n        if (dom.isEmpty(parentBlock)) {\n          emptyBlock(parentBlock);\n        }\n        newBlock.normalize();\n        if (dom.isEmpty(newBlock)) {\n          dom.remove(newBlock);\n          insertNewBlockAfter();\n        } else {\n          setForcedBlockAttrs(editor, newBlock);\n          moveToCaretPosition(editor, newBlock);\n        }\n      }\n      dom.setAttrib(newBlock, 'id', '');\n      editor.dispatch('NewBlock', {\n        newBlock\n      });\n    };\n    const fakeEventName$1 = 'insertParagraph';\n    const blockbreak = {\n      insert: insert$3,\n      fakeEventName: fakeEventName$1\n    };\n\n    const hasRightSideContent = (schema, container, parentBlock) => {\n      const walker = new DomTreeWalker(container, parentBlock);\n      let node;\n      const nonEmptyElementsMap = schema.getNonEmptyElements();\n      while (node = walker.next()) {\n        if (nonEmptyElementsMap[node.nodeName.toLowerCase()] || isText$a(node) && node.length > 0) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const moveSelectionToBr = (editor, brElm, extraBr) => {\n      const rng = editor.dom.createRng();\n      if (!extraBr) {\n        rng.setStartAfter(brElm);\n        rng.setEndAfter(brElm);\n      } else {\n        rng.setStartBefore(brElm);\n        rng.setEndBefore(brElm);\n      }\n      editor.selection.setRng(rng);\n      scrollRangeIntoView(editor, rng);\n    };\n    const insertBrAtCaret = (editor, evt) => {\n      const selection = editor.selection;\n      const dom = editor.dom;\n      const rng = selection.getRng();\n      let brElm;\n      let extraBr = false;\n      normalize$2(dom, rng).each(normRng => {\n        rng.setStart(normRng.startContainer, normRng.startOffset);\n        rng.setEnd(normRng.endContainer, normRng.endOffset);\n      });\n      let offset = rng.startOffset;\n      let container = rng.startContainer;\n      if (isElement$6(container) && container.hasChildNodes()) {\n        const isAfterLastNodeInContainer = offset > container.childNodes.length - 1;\n        container = container.childNodes[Math.min(offset, container.childNodes.length - 1)] || container;\n        if (isAfterLastNodeInContainer && isText$a(container)) {\n          offset = container.data.length;\n        } else {\n          offset = 0;\n        }\n      }\n      let parentBlock = dom.getParent(container, dom.isBlock);\n      const containerBlock = parentBlock && parentBlock.parentNode ? dom.getParent(parentBlock.parentNode, dom.isBlock) : null;\n      const containerBlockName = containerBlock ? containerBlock.nodeName.toUpperCase() : '';\n      const isControlKey = !!(evt && evt.ctrlKey);\n      if (containerBlockName === 'LI' && !isControlKey) {\n        parentBlock = containerBlock;\n      }\n      if (isText$a(container) && offset >= container.data.length) {\n        if (!hasRightSideContent(editor.schema, container, parentBlock || dom.getRoot())) {\n          brElm = dom.create('br');\n          rng.insertNode(brElm);\n          rng.setStartAfter(brElm);\n          rng.setEndAfter(brElm);\n          extraBr = true;\n        }\n      }\n      brElm = dom.create('br');\n      rangeInsertNode(dom, rng, brElm);\n      moveSelectionToBr(editor, brElm, extraBr);\n      editor.undoManager.add();\n    };\n    const insertBrBefore = (editor, inline) => {\n      const br = SugarElement.fromTag('br');\n      before$3(SugarElement.fromDom(inline), br);\n      editor.undoManager.add();\n    };\n    const insertBrAfter = (editor, inline) => {\n      if (!hasBrAfter(editor.getBody(), inline)) {\n        after$4(SugarElement.fromDom(inline), SugarElement.fromTag('br'));\n      }\n      const br = SugarElement.fromTag('br');\n      after$4(SugarElement.fromDom(inline), br);\n      moveSelectionToBr(editor, br.dom, false);\n      editor.undoManager.add();\n    };\n    const isBeforeBr = pos => {\n      return isBr$6(pos.getNode());\n    };\n    const hasBrAfter = (rootNode, startNode) => {\n      if (isBeforeBr(CaretPosition.after(startNode))) {\n        return true;\n      } else {\n        return nextPosition(rootNode, CaretPosition.after(startNode)).map(pos => {\n          return isBr$6(pos.getNode());\n        }).getOr(false);\n      }\n    };\n    const isAnchorLink = elm => {\n      return elm && elm.nodeName === 'A' && 'href' in elm;\n    };\n    const isInsideAnchor = location => {\n      return location.fold(never, isAnchorLink, isAnchorLink, never);\n    };\n    const readInlineAnchorLocation = editor => {\n      const isInlineTarget$1 = curry(isInlineTarget, editor);\n      const position = CaretPosition.fromRangeStart(editor.selection.getRng());\n      return readLocation(isInlineTarget$1, editor.getBody(), position).filter(isInsideAnchor);\n    };\n    const insertBrOutsideAnchor = (editor, location) => {\n      location.fold(noop, curry(insertBrBefore, editor), curry(insertBrAfter, editor), noop);\n    };\n    const insert$2 = (editor, evt) => {\n      const anchorLocation = readInlineAnchorLocation(editor);\n      if (anchorLocation.isSome()) {\n        anchorLocation.each(curry(insertBrOutsideAnchor, editor));\n      } else {\n        insertBrAtCaret(editor, evt);\n      }\n    };\n    const fakeEventName = 'insertLineBreak';\n    const linebreak = {\n      insert: insert$2,\n      fakeEventName\n    };\n\n    const matchesSelector = (editor, selector) => {\n      return getParentBlock$1(editor).filter(parentBlock => {\n        return selector.length > 0 && is$1(SugarElement.fromDom(parentBlock), selector);\n      }).isSome();\n    };\n    const shouldInsertBr = editor => {\n      return matchesSelector(editor, getBrNewLineSelector(editor));\n    };\n    const shouldBlockNewLine$1 = editor => {\n      return matchesSelector(editor, getNoNewLineSelector(editor));\n    };\n\n    const newLineAction = Adt.generate([{\n      br: []\n    }, {\n      block: []\n    }, {\n      none: []\n    }]);\n    const shouldBlockNewLine = (editor, _shiftKey) => {\n      return shouldBlockNewLine$1(editor);\n    };\n    const inListBlock = requiredState => {\n      return (editor, _shiftKey) => {\n        return isListItemParentBlock(editor) === requiredState;\n      };\n    };\n    const inBlock = (blockName, requiredState) => (editor, _shiftKey) => {\n      const state = getParentBlockName(editor) === blockName.toUpperCase();\n      return state === requiredState;\n    };\n    const inCefBlock = editor => {\n      const editableRoot = getEditableRoot(editor.dom, editor.selection.getStart());\n      return isNullable(editableRoot);\n    };\n    const inPreBlock = requiredState => inBlock('pre', requiredState);\n    const inSummaryBlock = () => inBlock('summary', true);\n    const shouldPutBrInPre = requiredState => {\n      return (editor, _shiftKey) => {\n        return shouldPutBrInPre$1(editor) === requiredState;\n      };\n    };\n    const inBrContext = (editor, _shiftKey) => {\n      return shouldInsertBr(editor);\n    };\n    const hasShiftKey = (_editor, shiftKey) => {\n      return shiftKey;\n    };\n    const canInsertIntoEditableRoot = editor => {\n      const forcedRootBlock = getForcedRootBlock(editor);\n      const rootEditable = getEditableRoot(editor.dom, editor.selection.getStart());\n      return isNonNullable(rootEditable) && editor.schema.isValidChild(rootEditable.nodeName, forcedRootBlock);\n    };\n    const isInRootWithEmptyOrCEF = editor => {\n      const rng = editor.selection.getRng();\n      const start = SugarElement.fromDom(rng.startContainer);\n      const child = child$1(start, rng.startOffset);\n      const isCefOpt = child.map(element => isHTMLElement$1(element) && !isEditable$2(element));\n      return rng.collapsed && isCefOpt.getOr(true);\n    };\n    const match = (predicates, action) => {\n      return (editor, shiftKey) => {\n        const isMatch = foldl(predicates, (res, p) => {\n          return res && p(editor, shiftKey);\n        }, true);\n        return isMatch ? Optional.some(action) : Optional.none();\n      };\n    };\n    const getAction = (editor, evt) => {\n      return evaluateUntil([match([shouldBlockNewLine], newLineAction.none()), match([inPreBlock(true), inCefBlock], newLineAction.none()), match([inSummaryBlock()], newLineAction.br()), match([inPreBlock(true), shouldPutBrInPre(false), hasShiftKey], newLineAction.br()), match([inPreBlock(true), shouldPutBrInPre(false)], newLineAction.block()), match([inPreBlock(true), shouldPutBrInPre(true), hasShiftKey], newLineAction.block()), match([inPreBlock(true), shouldPutBrInPre(true)], newLineAction.br()), match([inListBlock(true), hasShiftKey], newLineAction.br()), match([inListBlock(true)], newLineAction.block()), match([inBrContext], newLineAction.br()), match([hasShiftKey], newLineAction.br()), match([canInsertIntoEditableRoot], newLineAction.block()), match([isInRootWithEmptyOrCEF], newLineAction.block())], [editor, !!(evt && evt.shiftKey)]).getOr(newLineAction.none());\n    };\n\n    const insertBreak = (breakType, editor, evt) => {\n      if (!editor.selection.isCollapsed()) {\n        execEditorDeleteCommand(editor);\n      }\n      if (isNonNullable(evt)) {\n        const event = fireBeforeInputEvent(editor, breakType.fakeEventName);\n        if (event.isDefaultPrevented()) {\n          return;\n        }\n      }\n      breakType.insert(editor, evt);\n      if (isNonNullable(evt)) {\n        fireInputEvent(editor, breakType.fakeEventName);\n      }\n    };\n    const insert$1 = (editor, evt) => {\n      const br = () => insertBreak(linebreak, editor, evt);\n      const block = () => insertBreak(blockbreak, editor, evt);\n      const logicalAction = getAction(editor, evt);\n      switch (getNewlineBehavior(editor)) {\n        case 'linebreak':\n          logicalAction.fold(br, br, noop);\n          break;\n        case 'block':\n          logicalAction.fold(block, block, noop);\n          break;\n        case 'invert':\n          logicalAction.fold(block, br, noop);\n          break;\n        default:\n          logicalAction.fold(br, block, noop);\n          break;\n      }\n    };\n\n    const platform$1 = detect$2();\n    const isIOSSafari = platform$1.os.isiOS() && platform$1.browser.isSafari();\n    const handleEnterKeyEvent = (editor, event) => {\n      if (event.isDefaultPrevented()) {\n        return;\n      }\n      event.preventDefault();\n      endTypingLevelIgnoreLocks(editor.undoManager);\n      editor.undoManager.transact(() => {\n        insert$1(editor, event);\n      });\n    };\n    const isCaretAfterKoreanCharacter = rng => {\n      if (!rng.collapsed) {\n        return false;\n      }\n      const startContainer = rng.startContainer;\n      if (isText$a(startContainer)) {\n        const koreanCharRegex = /^[\\uAC00-\\uD7AF\\u1100-\\u11FF\\u3130-\\u318F\\uA960-\\uA97F\\uD7B0-\\uD7FF]$/;\n        const char = startContainer.data.charAt(rng.startOffset - 1);\n        return koreanCharRegex.test(char);\n      } else {\n        return false;\n      }\n    };\n    const setup$i = editor => {\n      let iOSSafariKeydownBookmark = Optional.none();\n      const iOSSafariKeydownOverride = editor => {\n        iOSSafariKeydownBookmark = Optional.some(editor.selection.getBookmark());\n        editor.undoManager.add();\n      };\n      const iOSSafariKeyupOverride = (editor, event) => {\n        editor.undoManager.undo();\n        iOSSafariKeydownBookmark.fold(noop, b => editor.selection.moveToBookmark(b));\n        handleEnterKeyEvent(editor, event);\n        iOSSafariKeydownBookmark = Optional.none();\n      };\n      editor.on('keydown', event => {\n        if (event.keyCode === VK.ENTER) {\n          if (isIOSSafari && isCaretAfterKoreanCharacter(editor.selection.getRng())) {\n            iOSSafariKeydownOverride(editor);\n          } else {\n            handleEnterKeyEvent(editor, event);\n          }\n        }\n      });\n      editor.on('keyup', event => {\n        if (event.keyCode === VK.ENTER) {\n          iOSSafariKeydownBookmark.each(() => iOSSafariKeyupOverride(editor, event));\n        }\n      });\n    };\n\n    const executeKeydownOverride$2 = (editor, caret, evt) => {\n      const isMac = Env.os.isMacOS() || Env.os.isiOS();\n      execute([{\n        keyCode: VK.END,\n        action: action(moveToLineEndPoint$1, editor, true)\n      }, {\n        keyCode: VK.HOME,\n        action: action(moveToLineEndPoint$1, editor, false)\n      }, ...(!isMac ? [{\n        keyCode: VK.HOME,\n        action: action(selectToEndPoint, editor, false),\n        ctrlKey: true,\n        shiftKey: true\n      }, {\n        keyCode: VK.END,\n        action: action(selectToEndPoint, editor, true),\n        ctrlKey: true,\n        shiftKey: true\n      }] : []), {\n        keyCode: VK.END,\n        action: action(moveToLineEndPoint, editor, true)\n      }, {\n        keyCode: VK.HOME,\n        action: action(moveToLineEndPoint, editor, false)\n      }, {\n        keyCode: VK.END,\n        action: action(moveToLineEndPoint$2, editor, true, caret)\n      }, {\n        keyCode: VK.HOME,\n        action: action(moveToLineEndPoint$2, editor, false, caret)\n      }], evt).each(_ => {\n        evt.preventDefault();\n      });\n    };\n    const setup$h = (editor, caret) => {\n      editor.on('keydown', evt => {\n        if (!evt.isDefaultPrevented()) {\n          executeKeydownOverride$2(editor, caret, evt);\n        }\n      });\n    };\n\n    const setup$g = editor => {\n      editor.on('input', e => {\n        if (!e.isComposing) {\n          normalizeNbspsInEditor(editor);\n        }\n      });\n    };\n\n    const platform = detect$2();\n    const executeKeyupAction = (editor, caret, evt) => {\n      execute([{\n        keyCode: VK.PAGE_UP,\n        action: action(moveToLineEndPoint$2, editor, false, caret)\n      }, {\n        keyCode: VK.PAGE_DOWN,\n        action: action(moveToLineEndPoint$2, editor, true, caret)\n      }], evt);\n    };\n    const stopImmediatePropagation = e => e.stopImmediatePropagation();\n    const isPageUpDown = evt => evt.keyCode === VK.PAGE_UP || evt.keyCode === VK.PAGE_DOWN;\n    const setNodeChangeBlocker = (blocked, editor, block) => {\n      if (block && !blocked.get()) {\n        editor.on('NodeChange', stopImmediatePropagation, true);\n      } else if (!block && blocked.get()) {\n        editor.off('NodeChange', stopImmediatePropagation);\n      }\n      blocked.set(block);\n    };\n    const setup$f = (editor, caret) => {\n      if (platform.os.isMacOS()) {\n        return;\n      }\n      const blocked = Cell(false);\n      editor.on('keydown', evt => {\n        if (isPageUpDown(evt)) {\n          setNodeChangeBlocker(blocked, editor, true);\n        }\n      });\n      editor.on('keyup', evt => {\n        if (!evt.isDefaultPrevented()) {\n          executeKeyupAction(editor, caret, evt);\n        }\n        if (isPageUpDown(evt) && blocked.get()) {\n          setNodeChangeBlocker(blocked, editor, false);\n          editor.nodeChanged();\n        }\n      });\n    };\n\n    const setup$e = editor => {\n      editor.on('beforeinput', e => {\n        if (!editor.selection.isEditable() || exists(e.getTargetRanges(), rng => !isEditableRange(editor.dom, rng))) {\n          e.preventDefault();\n        }\n      });\n    };\n\n    const insertTextAtPosition = (text, pos) => {\n      const container = pos.container();\n      const offset = pos.offset();\n      if (isText$a(container)) {\n        container.insertData(offset, text);\n        return Optional.some(CaretPosition(container, offset + text.length));\n      } else {\n        return getElementFromPosition(pos).map(elm => {\n          const textNode = SugarElement.fromText(text);\n          if (pos.isAtEnd()) {\n            after$4(elm, textNode);\n          } else {\n            before$3(elm, textNode);\n          }\n          return CaretPosition(textNode.dom, text.length);\n        });\n      }\n    };\n    const insertNbspAtPosition = curry(insertTextAtPosition, nbsp);\n    const insertSpaceAtPosition = curry(insertTextAtPosition, ' ');\n\n    const insertSpaceOrNbspAtPosition = (root, pos, schema) => needsToHaveNbsp(root, pos, schema) ? insertNbspAtPosition(pos) : insertSpaceAtPosition(pos);\n    const locationToCaretPosition = root => location => location.fold(element => prevPosition(root.dom, CaretPosition.before(element)), element => firstPositionIn(element), element => lastPositionIn(element), element => nextPosition(root.dom, CaretPosition.after(element)));\n    const insertInlineBoundarySpaceOrNbsp = (root, pos, schema) => checkPos => needsToHaveNbsp(root, checkPos, schema) ? insertNbspAtPosition(pos) : insertSpaceAtPosition(pos);\n    const setSelection = editor => pos => {\n      editor.selection.setRng(pos.toRange());\n      editor.nodeChanged();\n    };\n    const isInsideSummary = (domUtils, node) => domUtils.isEditable(domUtils.getParent(node, 'summary'));\n    const insertSpaceOrNbspAtSelection = editor => {\n      const pos = CaretPosition.fromRangeStart(editor.selection.getRng());\n      const root = SugarElement.fromDom(editor.getBody());\n      if (editor.selection.isCollapsed()) {\n        const isInlineTarget$1 = curry(isInlineTarget, editor);\n        const caretPosition = CaretPosition.fromRangeStart(editor.selection.getRng());\n        return readLocation(isInlineTarget$1, editor.getBody(), caretPosition).bind(locationToCaretPosition(root)).map(checkPos => () => insertInlineBoundarySpaceOrNbsp(root, pos, editor.schema)(checkPos).each(setSelection(editor)));\n      } else {\n        return Optional.none();\n      }\n    };\n    const insertSpaceInSummaryAtSelectionOnFirefox = editor => {\n      const insertSpaceThunk = () => {\n        const root = SugarElement.fromDom(editor.getBody());\n        if (!editor.selection.isCollapsed()) {\n          editor.getDoc().execCommand('Delete');\n        }\n        const pos = CaretPosition.fromRangeStart(editor.selection.getRng());\n        insertSpaceOrNbspAtPosition(root, pos, editor.schema).each(setSelection(editor));\n      };\n      return someIf(Env.browser.isFirefox() && editor.selection.isEditable() && isInsideSummary(editor.dom, editor.selection.getRng().startContainer), insertSpaceThunk);\n    };\n\n    const executeKeydownOverride$1 = (editor, evt) => {\n      executeWithDelayedAction([{\n        keyCode: VK.SPACEBAR,\n        action: action(insertSpaceOrNbspAtSelection, editor)\n      }, {\n        keyCode: VK.SPACEBAR,\n        action: action(insertSpaceInSummaryAtSelectionOnFirefox, editor)\n      }], evt).each(applyAction => {\n        evt.preventDefault();\n        const event = fireBeforeInputEvent(editor, 'insertText', {\n          data: ' '\n        });\n        if (!event.isDefaultPrevented()) {\n          applyAction();\n          fireInputEvent(editor, 'insertText', {\n            data: ' '\n          });\n        }\n      });\n    };\n    const setup$d = editor => {\n      editor.on('keydown', evt => {\n        if (!evt.isDefaultPrevented()) {\n          executeKeydownOverride$1(editor, evt);\n        }\n      });\n    };\n\n    const tableTabNavigation = editor => {\n      if (hasTableTabNavigation(editor)) {\n        return [{\n          keyCode: VK.TAB,\n          action: action(handleTab, editor, true)\n        }, {\n          keyCode: VK.TAB,\n          shiftKey: true,\n          action: action(handleTab, editor, false)\n        }];\n      } else {\n        return [];\n      }\n    };\n    const executeKeydownOverride = (editor, evt) => {\n      execute([...tableTabNavigation(editor)], evt).each(_ => {\n        evt.preventDefault();\n      });\n    };\n    const setup$c = editor => {\n      editor.on('keydown', evt => {\n        if (!evt.isDefaultPrevented()) {\n          executeKeydownOverride(editor, evt);\n        }\n      });\n    };\n\n    const setup$b = editor => {\n      editor.addShortcut('Meta+P', '', 'mcePrint');\n      setup$k(editor);\n      if (isRtc(editor)) {\n        return Cell(null);\n      } else {\n        const caret = setupSelectedState(editor);\n        setup$e(editor);\n        setup$m(editor);\n        setup$l(editor, caret);\n        setup$j(editor, caret);\n        setup$i(editor);\n        setup$d(editor);\n        setup$g(editor);\n        setup$c(editor);\n        setup$h(editor, caret);\n        setup$f(editor, caret);\n        return caret;\n      }\n    };\n\n    class NodeChange {\n      constructor(editor) {\n        this.lastPath = [];\n        this.editor = editor;\n        let lastRng;\n        const self = this;\n        if (!('onselectionchange' in editor.getDoc())) {\n          editor.on('NodeChange click mouseup keyup focus', e => {\n            const nativeRng = editor.selection.getRng();\n            const fakeRng = {\n              startContainer: nativeRng.startContainer,\n              startOffset: nativeRng.startOffset,\n              endContainer: nativeRng.endContainer,\n              endOffset: nativeRng.endOffset\n            };\n            if (e.type === 'nodechange' || !isEq$4(fakeRng, lastRng)) {\n              editor.dispatch('SelectionChange');\n            }\n            lastRng = fakeRng;\n          });\n        }\n        editor.on('contextmenu', () => {\n          editor.dispatch('SelectionChange');\n        });\n        editor.on('SelectionChange', () => {\n          const startElm = editor.selection.getStart(true);\n          if (!startElm) {\n            return;\n          }\n          if (hasAnyRanges(editor) && !self.isSameElementPath(startElm) && editor.dom.isChildOf(startElm, editor.getBody())) {\n            editor.nodeChanged({\n              selectionChange: true\n            });\n          }\n        });\n        editor.on('mouseup', e => {\n          if (!e.isDefaultPrevented() && hasAnyRanges(editor)) {\n            if (editor.selection.getNode().nodeName === 'IMG') {\n              Delay.setEditorTimeout(editor, () => {\n                editor.nodeChanged();\n              });\n            } else {\n              editor.nodeChanged();\n            }\n          }\n        });\n      }\n      nodeChanged(args = {}) {\n        const selection = this.editor.selection;\n        let node;\n        if (this.editor.initialized && selection && !shouldDisableNodeChange(this.editor) && !this.editor.mode.isReadOnly()) {\n          const root = this.editor.getBody();\n          node = selection.getStart(true) || root;\n          if (node.ownerDocument !== this.editor.getDoc() || !this.editor.dom.isChildOf(node, root)) {\n            node = root;\n          }\n          const parents = [];\n          this.editor.dom.getParent(node, node => {\n            if (node === root) {\n              return true;\n            } else {\n              parents.push(node);\n              return false;\n            }\n          });\n          this.editor.dispatch('NodeChange', {\n            ...args,\n            element: node,\n            parents\n          });\n        }\n      }\n      isSameElementPath(startElm) {\n        let i;\n        const editor = this.editor;\n        const currentPath = reverse(editor.dom.getParents(startElm, always, editor.getBody()));\n        if (currentPath.length === this.lastPath.length) {\n          for (i = currentPath.length; i >= 0; i--) {\n            if (currentPath[i] !== this.lastPath[i]) {\n              break;\n            }\n          }\n          if (i === -1) {\n            this.lastPath = currentPath;\n            return true;\n          }\n        }\n        this.lastPath = currentPath;\n        return false;\n      }\n    }\n\n    const imageId = generate$1('image');\n    const getDragImage = transfer => {\n      const dt = transfer;\n      return Optional.from(dt[imageId]);\n    };\n    const setDragImage = (transfer, imageData) => {\n      const dt = transfer;\n      dt[imageId] = imageData;\n    };\n\n    const eventId = generate$1('event');\n    const getEvent = transfer => {\n      const dt = transfer;\n      return Optional.from(dt[eventId]);\n    };\n    const mkSetEventFn = type => transfer => {\n      const dt = transfer;\n      dt[eventId] = type;\n    };\n    const setEvent = (transfer, type) => mkSetEventFn(type)(transfer);\n    const setDragstartEvent = mkSetEventFn(0);\n    const setDropEvent = mkSetEventFn(2);\n    const setDragendEvent = mkSetEventFn(1);\n    const checkEvent = expectedType => transfer => {\n      const dt = transfer;\n      return Optional.from(dt[eventId]).exists(type => type === expectedType);\n    };\n    const isInDragStartEvent = checkEvent(0);\n\n    const createEmptyFileList = () => Object.freeze({\n      length: 0,\n      item: _ => null\n    });\n\n    const modeId = generate$1('mode');\n    const getMode = transfer => {\n      const dt = transfer;\n      return Optional.from(dt[modeId]);\n    };\n    const mkSetModeFn = mode => transfer => {\n      const dt = transfer;\n      dt[modeId] = mode;\n    };\n    const setMode$1 = (transfer, mode) => mkSetModeFn(mode)(transfer);\n    const setReadWriteMode = mkSetModeFn(0);\n    const setReadOnlyMode = mkSetModeFn(2);\n    const setProtectedMode = mkSetModeFn(1);\n    const checkMode = expectedMode => transfer => {\n      const dt = transfer;\n      return Optional.from(dt[modeId]).exists(mode => mode === expectedMode);\n    };\n    const isInReadWriteMode = checkMode(0);\n    const isInProtectedMode = checkMode(1);\n\n    const normalizeItems = (dataTransfer, itemsImpl) => ({\n      ...itemsImpl,\n      get length() {\n        return itemsImpl.length;\n      },\n      add: (data, type) => {\n        if (isInReadWriteMode(dataTransfer)) {\n          if (isString(data)) {\n            if (!isUndefined(type)) {\n              return itemsImpl.add(data, type);\n            }\n          } else {\n            return itemsImpl.add(data);\n          }\n        }\n        return null;\n      },\n      remove: idx => {\n        if (isInReadWriteMode(dataTransfer)) {\n          itemsImpl.remove(idx);\n        }\n      },\n      clear: () => {\n        if (isInReadWriteMode(dataTransfer)) {\n          itemsImpl.clear();\n        }\n      }\n    });\n\n    const validDropEffects = ['none', 'copy', 'link', 'move'];\n    const validEffectAlloweds = ['none', 'copy', 'copyLink', 'copyMove', 'link', 'linkMove', 'move', 'all', 'uninitialized'];\n    const createDataTransfer = () => {\n      const dataTransferImpl = new window.DataTransfer();\n      let dropEffect = 'move';\n      let effectAllowed = 'all';\n      const dataTransfer = {\n        get dropEffect() {\n          return dropEffect;\n        },\n        set dropEffect(effect) {\n          if (contains$2(validDropEffects, effect)) {\n            dropEffect = effect;\n          }\n        },\n        get effectAllowed() {\n          return effectAllowed;\n        },\n        set effectAllowed(allowed) {\n          if (isInDragStartEvent(dataTransfer) && contains$2(validEffectAlloweds, allowed)) {\n            effectAllowed = allowed;\n          }\n        },\n        get items() {\n          return normalizeItems(dataTransfer, dataTransferImpl.items);\n        },\n        get files() {\n          if (isInProtectedMode(dataTransfer)) {\n            return createEmptyFileList();\n          } else {\n            return dataTransferImpl.files;\n          }\n        },\n        get types() {\n          return dataTransferImpl.types;\n        },\n        setDragImage: (image, x, y) => {\n          if (isInReadWriteMode(dataTransfer)) {\n            setDragImage(dataTransfer, {\n              image,\n              x,\n              y\n            });\n            dataTransferImpl.setDragImage(image, x, y);\n          }\n        },\n        getData: format => {\n          if (isInProtectedMode(dataTransfer)) {\n            return '';\n          } else {\n            return dataTransferImpl.getData(format);\n          }\n        },\n        setData: (format, data) => {\n          if (isInReadWriteMode(dataTransfer)) {\n            dataTransferImpl.setData(format, data);\n          }\n        },\n        clearData: format => {\n          if (isInReadWriteMode(dataTransfer)) {\n            dataTransferImpl.clearData(format);\n          }\n        }\n      };\n      setReadWriteMode(dataTransfer);\n      return dataTransfer;\n    };\n    const cloneDataTransfer = original => {\n      const clone = createDataTransfer();\n      const originalMode = getMode(original);\n      setReadOnlyMode(original);\n      setDragstartEvent(clone);\n      clone.dropEffect = original.dropEffect;\n      clone.effectAllowed = original.effectAllowed;\n      getDragImage(original).each(imageData => clone.setDragImage(imageData.image, imageData.x, imageData.y));\n      each$e(original.types, type => {\n        if (type !== 'Files') {\n          clone.setData(type, original.getData(type));\n        }\n      });\n      each$e(original.files, file => clone.items.add(file));\n      getEvent(original).each(type => {\n        setEvent(clone, type);\n      });\n      originalMode.each(mode => {\n        setMode$1(original, mode);\n        setMode$1(clone, mode);\n      });\n      return clone;\n    };\n\n    const getHtmlData = dataTransfer => {\n      const html = dataTransfer.getData('text/html');\n      return html === '' ? Optional.none() : Optional.some(html);\n    };\n    const setHtmlData = (dataTransfer, html) => dataTransfer.setData('text/html', html);\n\n    const internalMimeType = 'x-tinymce/html';\n    const internalHtmlMime = constant(internalMimeType);\n    const internalMark = '<!-- ' + internalMimeType + ' -->';\n    const mark = html => internalMark + html;\n    const unmark = html => html.replace(internalMark, '');\n    const isMarked = html => html.indexOf(internalMark) !== -1;\n\n    const isPlainText = text => {\n      return !/<(?:\\/?(?!(?:div|p|br|span)>)\\w+|(?:(?!(?:span style=\"white-space:\\s?pre;?\">)|br\\s?\\/>))\\w+\\s[^>]+)>/i.test(text);\n    };\n    const openContainer = (rootTag, rootAttrs) => {\n      let tag = '<' + rootTag;\n      const attrs = mapToArray(rootAttrs, (value, key) => key + '=\"' + Entities.encodeAllRaw(value) + '\"');\n      if (attrs.length) {\n        tag += ' ' + attrs.join(' ');\n      }\n      return tag + '>';\n    };\n    const toBlockElements = (text, rootTag, rootAttrs) => {\n      const blocks = text.split(/\\n\\n/);\n      const tagOpen = openContainer(rootTag, rootAttrs);\n      const tagClose = '</' + rootTag + '>';\n      const paragraphs = map$3(blocks, p => {\n        return p.split(/\\n/).join('<br />');\n      });\n      const stitch = p => {\n        return tagOpen + p + tagClose;\n      };\n      return paragraphs.length === 1 ? paragraphs[0] : map$3(paragraphs, stitch).join('');\n    };\n\n    const pasteBinDefaultContent = '%MCEPASTEBIN%';\n    const create$6 = (editor, lastRngCell) => {\n      const {\n        dom,\n        selection\n      } = editor;\n      const body = editor.getBody();\n      lastRngCell.set(selection.getRng());\n      const pasteBinElm = dom.add(editor.getBody(), 'div', {\n        'id': 'mcepastebin',\n        'class': 'mce-pastebin',\n        'contentEditable': true,\n        'data-mce-bogus': 'all',\n        'style': 'position: fixed; top: 50%; width: 10px; height: 10px; overflow: hidden; opacity: 0'\n      }, pasteBinDefaultContent);\n      if (Env.browser.isFirefox()) {\n        dom.setStyle(pasteBinElm, 'left', dom.getStyle(body, 'direction', true) === 'rtl' ? 65535 : -65535);\n      }\n      dom.bind(pasteBinElm, 'beforedeactivate focusin focusout', e => {\n        e.stopPropagation();\n      });\n      pasteBinElm.focus();\n      selection.select(pasteBinElm, true);\n    };\n    const remove = (editor, lastRngCell) => {\n      const dom = editor.dom;\n      if (getEl(editor)) {\n        let pasteBinClone;\n        const lastRng = lastRngCell.get();\n        while (pasteBinClone = getEl(editor)) {\n          dom.remove(pasteBinClone);\n          dom.unbind(pasteBinClone);\n        }\n        if (lastRng) {\n          editor.selection.setRng(lastRng);\n        }\n      }\n      lastRngCell.set(null);\n    };\n    const getEl = editor => editor.dom.get('mcepastebin');\n    const isPasteBin = elm => isNonNullable(elm) && elm.id === 'mcepastebin';\n    const getHtml = editor => {\n      const dom = editor.dom;\n      const copyAndRemove = (toElm, fromElm) => {\n        toElm.appendChild(fromElm);\n        dom.remove(fromElm, true);\n      };\n      const [pasteBinElm, ...pasteBinClones] = filter$5(editor.getBody().childNodes, isPasteBin);\n      each$e(pasteBinClones, pasteBinClone => {\n        copyAndRemove(pasteBinElm, pasteBinClone);\n      });\n      const dirtyWrappers = dom.select('div[id=mcepastebin]', pasteBinElm);\n      for (let i = dirtyWrappers.length - 1; i >= 0; i--) {\n        const cleanWrapper = dom.create('div');\n        pasteBinElm.insertBefore(cleanWrapper, dirtyWrappers[i]);\n        copyAndRemove(cleanWrapper, dirtyWrappers[i]);\n      }\n      return pasteBinElm ? pasteBinElm.innerHTML : '';\n    };\n    const isDefaultPasteBinContent = content => content === pasteBinDefaultContent;\n    const PasteBin = editor => {\n      const lastRng = Cell(null);\n      return {\n        create: () => create$6(editor, lastRng),\n        remove: () => remove(editor, lastRng),\n        getEl: () => getEl(editor),\n        getHtml: () => getHtml(editor),\n        getLastRng: lastRng.get\n      };\n    };\n\n    const filter$1 = (content, items) => {\n      Tools.each(items, v => {\n        if (is$4(v, RegExp)) {\n          content = content.replace(v, '');\n        } else {\n          content = content.replace(v[0], v[1]);\n        }\n      });\n      return content;\n    };\n    const innerText = html => {\n      const schema = Schema();\n      const domParser = DomParser({}, schema);\n      let text = '';\n      const voidElements = schema.getVoidElements();\n      const ignoreElements = Tools.makeMap('script noscript style textarea video audio iframe object', ' ');\n      const blockElements = schema.getBlockElements();\n      const walk = node => {\n        const name = node.name,\n          currentNode = node;\n        if (name === 'br') {\n          text += '\\n';\n          return;\n        }\n        if (name === 'wbr') {\n          return;\n        }\n        if (voidElements[name]) {\n          text += ' ';\n        }\n        if (ignoreElements[name]) {\n          text += ' ';\n          return;\n        }\n        if (node.type === 3) {\n          text += node.value;\n        }\n        if (!(node.name in schema.getVoidElements())) {\n          let currentNode = node.firstChild;\n          if (currentNode) {\n            do {\n              walk(currentNode);\n            } while (currentNode = currentNode.next);\n          }\n        }\n        if (blockElements[name] && currentNode.next) {\n          text += '\\n';\n          if (name === 'p') {\n            text += '\\n';\n          }\n        }\n      };\n      html = filter$1(html, [/<!\\[[^\\]]+\\]>/g]);\n      walk(domParser.parse(html));\n      return text;\n    };\n    const trimHtml = html => {\n      const trimSpaces = (all, s1, s2) => {\n        if (!s1 && !s2) {\n          return ' ';\n        }\n        return nbsp;\n      };\n      html = filter$1(html, [/^[\\s\\S]*<body[^>]*>\\s*|\\s*<\\/body[^>]*>[\\s\\S]*$/ig, /<!--StartFragment-->|<!--EndFragment-->/g, [/( ?)<span class=\"Apple-converted-space\">\\u00a0<\\/span>( ?)/g, trimSpaces], /<br class=\"Apple-interchange-newline\">/g, /<br>$/i]);\n      return html;\n    };\n    const createIdGenerator = prefix => {\n      let count = 0;\n      return () => {\n        return prefix + count++;\n      };\n    };\n    const getImageMimeType = ext => {\n      const lowerExt = ext.toLowerCase();\n      const mimeOverrides = {\n        jpg: 'jpeg',\n        jpe: 'jpeg',\n        jfi: 'jpeg',\n        jif: 'jpeg',\n        jfif: 'jpeg',\n        pjpeg: 'jpeg',\n        pjp: 'jpeg',\n        svg: 'svg+xml'\n      };\n      return Tools.hasOwn(mimeOverrides, lowerExt) ? 'image/' + mimeOverrides[lowerExt] : 'image/' + lowerExt;\n    };\n\n    const preProcess = (editor, html) => {\n      const parser = DomParser({\n        sanitize: shouldSanitizeXss(editor),\n        sandbox_iframes: shouldSandboxIframes(editor)\n      }, editor.schema);\n      parser.addNodeFilter('meta', nodes => {\n        Tools.each(nodes, node => {\n          node.remove();\n        });\n      });\n      const fragment = parser.parse(html, {\n        forced_root_block: false,\n        isRootContent: true\n      });\n      return HtmlSerializer({\n        validate: true\n      }, editor.schema).serialize(fragment);\n    };\n    const processResult = (content, cancelled) => ({\n      content,\n      cancelled\n    });\n    const postProcessFilter = (editor, html, internal) => {\n      const tempBody = editor.dom.create('div', {\n        style: 'display:none'\n      }, html);\n      const postProcessArgs = firePastePostProcess(editor, tempBody, internal);\n      return processResult(postProcessArgs.node.innerHTML, postProcessArgs.isDefaultPrevented());\n    };\n    const filterContent = (editor, content, internal) => {\n      const preProcessArgs = firePastePreProcess(editor, content, internal);\n      const filteredContent = preProcess(editor, preProcessArgs.content);\n      if (editor.hasEventListeners('PastePostProcess') && !preProcessArgs.isDefaultPrevented()) {\n        return postProcessFilter(editor, filteredContent, internal);\n      } else {\n        return processResult(filteredContent, preProcessArgs.isDefaultPrevented());\n      }\n    };\n    const process = (editor, html, internal) => {\n      return filterContent(editor, html, internal);\n    };\n\n    const pasteHtml$1 = (editor, html) => {\n      editor.insertContent(html, {\n        merge: shouldPasteMergeFormats(editor),\n        paste: true\n      });\n      return true;\n    };\n    const isAbsoluteUrl = url => /^https?:\\/\\/[\\w\\-\\/+=.,!;:&%@^~(){}?#]+$/i.test(url);\n    const isImageUrl = (editor, url) => {\n      return isAbsoluteUrl(url) && exists(getAllowedImageFileTypes(editor), type => endsWith(url.toLowerCase(), \".\".concat(type.toLowerCase())));\n    };\n    const createImage = (editor, url, pasteHtmlFn) => {\n      editor.undoManager.extra(() => {\n        pasteHtmlFn(editor, url);\n      }, () => {\n        editor.insertContent('<img src=\"' + url + '\">');\n      });\n      return true;\n    };\n    const createLink = (editor, url, pasteHtmlFn) => {\n      editor.undoManager.extra(() => {\n        pasteHtmlFn(editor, url);\n      }, () => {\n        editor.execCommand('mceInsertLink', false, url);\n      });\n      return true;\n    };\n    const linkSelection = (editor, html, pasteHtmlFn) => !editor.selection.isCollapsed() && isAbsoluteUrl(html) ? createLink(editor, html, pasteHtmlFn) : false;\n    const insertImage = (editor, html, pasteHtmlFn) => isImageUrl(editor, html) ? createImage(editor, html, pasteHtmlFn) : false;\n    const smartInsertContent = (editor, html) => {\n      Tools.each([linkSelection, insertImage, pasteHtml$1], action => {\n        return !action(editor, html, pasteHtml$1);\n      });\n    };\n    const insertContent = (editor, html, pasteAsText) => {\n      if (pasteAsText || !isSmartPasteEnabled(editor)) {\n        pasteHtml$1(editor, html);\n      } else {\n        smartInsertContent(editor, html);\n      }\n    };\n\n    const uniqueId = createIdGenerator('mceclip');\n    const createPasteDataTransfer = html => {\n      const dataTransfer = createDataTransfer();\n      setHtmlData(dataTransfer, html);\n      setReadOnlyMode(dataTransfer);\n      return dataTransfer;\n    };\n    const doPaste = (editor, content, internal, pasteAsText, shouldSimulateInputEvent) => {\n      const res = process(editor, content, internal);\n      if (!res.cancelled) {\n        const content = res.content;\n        const doPasteAction = () => insertContent(editor, content, pasteAsText);\n        if (shouldSimulateInputEvent) {\n          const args = fireBeforeInputEvent(editor, 'insertFromPaste', {\n            dataTransfer: createPasteDataTransfer(content)\n          });\n          if (!args.isDefaultPrevented()) {\n            doPasteAction();\n            fireInputEvent(editor, 'insertFromPaste');\n          }\n        } else {\n          doPasteAction();\n        }\n      }\n    };\n    const pasteHtml = (editor, html, internalFlag, shouldSimulateInputEvent) => {\n      const internal = internalFlag ? internalFlag : isMarked(html);\n      doPaste(editor, unmark(html), internal, false, shouldSimulateInputEvent);\n    };\n    const pasteText = (editor, text, shouldSimulateInputEvent) => {\n      const encodedText = editor.dom.encode(text).replace(/\\r\\n/g, '\\n');\n      const normalizedText = normalize$4(encodedText, getPasteTabSpaces(editor));\n      const html = toBlockElements(normalizedText, getForcedRootBlock(editor), getForcedRootBlockAttrs(editor));\n      doPaste(editor, html, false, true, shouldSimulateInputEvent);\n    };\n    const getDataTransferItems = dataTransfer => {\n      const items = {};\n      if (dataTransfer && dataTransfer.types) {\n        for (let i = 0; i < dataTransfer.types.length; i++) {\n          const contentType = dataTransfer.types[i];\n          try {\n            items[contentType] = dataTransfer.getData(contentType);\n          } catch (ex) {\n            items[contentType] = '';\n          }\n        }\n      }\n      return items;\n    };\n    const hasContentType = (clipboardContent, mimeType) => mimeType in clipboardContent && clipboardContent[mimeType].length > 0;\n    const hasHtmlOrText = content => hasContentType(content, 'text/html') || hasContentType(content, 'text/plain');\n    const extractFilename = (editor, str) => {\n      const m = str.match(/([\\s\\S]+?)(?:\\.[a-z0-9.]+)$/i);\n      return isNonNullable(m) ? editor.dom.encode(m[1]) : undefined;\n    };\n    const createBlobInfo = (editor, blobCache, file, base64) => {\n      const id = uniqueId();\n      const useFileName = shouldReuseFileName(editor) && isNonNullable(file.name);\n      const name = useFileName ? extractFilename(editor, file.name) : id;\n      const filename = useFileName ? file.name : undefined;\n      const blobInfo = blobCache.create(id, file, base64, name, filename);\n      blobCache.add(blobInfo);\n      return blobInfo;\n    };\n    const pasteImage = (editor, imageItem) => {\n      parseDataUri(imageItem.uri).each(({\n        data,\n        type,\n        base64Encoded\n      }) => {\n        const base64 = base64Encoded ? data : btoa(data);\n        const file = imageItem.file;\n        const blobCache = editor.editorUpload.blobCache;\n        const existingBlobInfo = blobCache.getByData(base64, type);\n        const blobInfo = existingBlobInfo !== null && existingBlobInfo !== void 0 ? existingBlobInfo : createBlobInfo(editor, blobCache, file, base64);\n        pasteHtml(editor, \"<img src=\\\"\".concat(blobInfo.blobUri(), \"\\\">\"), false, true);\n      });\n    };\n    const isClipboardEvent = event => event.type === 'paste';\n    const readFilesAsDataUris = items => Promise.all(map$3(items, file => {\n      return blobToDataUri(file).then(uri => ({\n        file,\n        uri\n      }));\n    }));\n    const isImage = editor => {\n      const allowedExtensions = getAllowedImageFileTypes(editor);\n      return file => startsWith(file.type, 'image/') && exists(allowedExtensions, extension => {\n        return getImageMimeType(extension) === file.type;\n      });\n    };\n    const getImagesFromDataTransfer = (editor, dataTransfer) => {\n      const items = dataTransfer.items ? bind$3(from(dataTransfer.items), item => {\n        return item.kind === 'file' ? [item.getAsFile()] : [];\n      }) : [];\n      const files = dataTransfer.files ? from(dataTransfer.files) : [];\n      return filter$5(items.length > 0 ? items : files, isImage(editor));\n    };\n    const pasteImageData = (editor, e, rng) => {\n      const dataTransfer = isClipboardEvent(e) ? e.clipboardData : e.dataTransfer;\n      if (shouldPasteDataImages(editor) && dataTransfer) {\n        const images = getImagesFromDataTransfer(editor, dataTransfer);\n        if (images.length > 0) {\n          e.preventDefault();\n          readFilesAsDataUris(images).then(fileResults => {\n            if (rng) {\n              editor.selection.setRng(rng);\n            }\n            each$e(fileResults, result => {\n              pasteImage(editor, result);\n            });\n          });\n          return true;\n        }\n      }\n      return false;\n    };\n    const isBrokenAndroidClipboardEvent = e => {\n      var _a, _b;\n      return Env.os.isAndroid() && ((_b = (_a = e.clipboardData) === null || _a === void 0 ? void 0 : _a.items) === null || _b === void 0 ? void 0 : _b.length) === 0;\n    };\n    const isKeyboardPasteEvent = e => VK.metaKeyPressed(e) && e.keyCode === 86 || e.shiftKey && e.keyCode === 45;\n    const insertClipboardContent = (editor, clipboardContent, html, plainTextMode, shouldSimulateInputEvent) => {\n      let content = trimHtml(html);\n      const isInternal = hasContentType(clipboardContent, internalHtmlMime()) || isMarked(html);\n      const isPlainTextHtml = !isInternal && isPlainText(content);\n      const isAbsoluteUrl$1 = isAbsoluteUrl(content);\n      if (isDefaultPasteBinContent(content) || !content.length || isPlainTextHtml && !isAbsoluteUrl$1) {\n        plainTextMode = true;\n      }\n      if (plainTextMode || isAbsoluteUrl$1) {\n        if (hasContentType(clipboardContent, 'text/plain') && isPlainTextHtml) {\n          content = clipboardContent['text/plain'];\n        } else {\n          content = innerText(content);\n        }\n      }\n      if (isDefaultPasteBinContent(content)) {\n        return;\n      }\n      if (plainTextMode) {\n        pasteText(editor, content, shouldSimulateInputEvent);\n      } else {\n        pasteHtml(editor, content, isInternal, shouldSimulateInputEvent);\n      }\n    };\n    const registerEventHandlers = (editor, pasteBin, pasteFormat) => {\n      let keyboardPastePlainTextState;\n      const getLastRng = () => pasteBin.getLastRng() || editor.selection.getRng();\n      editor.on('keydown', e => {\n        if (isKeyboardPasteEvent(e) && !e.isDefaultPrevented()) {\n          keyboardPastePlainTextState = e.shiftKey && e.keyCode === 86;\n        }\n      });\n      editor.on('paste', e => {\n        if (e.isDefaultPrevented() || isBrokenAndroidClipboardEvent(e)) {\n          return;\n        }\n        const plainTextMode = pasteFormat.get() === 'text' || keyboardPastePlainTextState;\n        keyboardPastePlainTextState = false;\n        const clipboardContent = getDataTransferItems(e.clipboardData);\n        if (!hasHtmlOrText(clipboardContent) && pasteImageData(editor, e, getLastRng())) {\n          return;\n        }\n        if (hasContentType(clipboardContent, 'text/html')) {\n          e.preventDefault();\n          insertClipboardContent(editor, clipboardContent, clipboardContent['text/html'], plainTextMode, true);\n        } else if (hasContentType(clipboardContent, 'text/plain') && hasContentType(clipboardContent, 'text/uri-list')) {\n          e.preventDefault();\n          insertClipboardContent(editor, clipboardContent, clipboardContent['text/plain'], plainTextMode, true);\n        } else {\n          pasteBin.create();\n          Delay.setEditorTimeout(editor, () => {\n            const html = pasteBin.getHtml();\n            pasteBin.remove();\n            insertClipboardContent(editor, clipboardContent, html, plainTextMode, false);\n          }, 0);\n        }\n      });\n    };\n    const registerDataImageFilter = editor => {\n      const isWebKitFakeUrl = src => startsWith(src, 'webkit-fake-url');\n      const isDataUri = src => startsWith(src, 'data:');\n      const isPasteInsert = args => {\n        var _a;\n        return ((_a = args.data) === null || _a === void 0 ? void 0 : _a.paste) === true;\n      };\n      editor.parser.addNodeFilter('img', (nodes, name, args) => {\n        if (!shouldPasteDataImages(editor) && isPasteInsert(args)) {\n          for (const node of nodes) {\n            const src = node.attr('src');\n            if (isString(src) && !node.attr('data-mce-object') && src !== Env.transparentSrc) {\n              if (isWebKitFakeUrl(src)) {\n                node.remove();\n              } else if (!shouldAllowHtmlDataUrls(editor) && isDataUri(src)) {\n                node.remove();\n              }\n            }\n          }\n        }\n      });\n    };\n    const registerEventsAndFilters = (editor, pasteBin, pasteFormat) => {\n      registerEventHandlers(editor, pasteBin, pasteFormat);\n      registerDataImageFilter(editor);\n    };\n\n    const togglePlainTextPaste = (editor, pasteFormat) => {\n      if (pasteFormat.get() === 'text') {\n        pasteFormat.set('html');\n        firePastePlainTextToggle(editor, false);\n      } else {\n        pasteFormat.set('text');\n        firePastePlainTextToggle(editor, true);\n      }\n      editor.focus();\n    };\n    const register$1 = (editor, pasteFormat) => {\n      editor.addCommand('mceTogglePlainTextPaste', () => {\n        togglePlainTextPaste(editor, pasteFormat);\n      });\n      editor.addCommand('mceInsertClipboardContent', (ui, value) => {\n        if (value.html) {\n          pasteHtml(editor, value.html, value.internal, false);\n        }\n        if (value.text) {\n          pasteText(editor, value.text, false);\n        }\n      });\n    };\n\n    const setHtml5Clipboard = (clipboardData, html, text) => {\n      if (clipboardData) {\n        try {\n          clipboardData.clearData();\n          clipboardData.setData('text/html', html);\n          clipboardData.setData('text/plain', text);\n          clipboardData.setData(internalHtmlMime(), html);\n          return true;\n        } catch (e) {\n          return false;\n        }\n      } else {\n        return false;\n      }\n    };\n    const setClipboardData = (evt, data, fallback, done) => {\n      if (setHtml5Clipboard(evt.clipboardData, data.html, data.text)) {\n        evt.preventDefault();\n        done();\n      } else {\n        fallback(data.html, done);\n      }\n    };\n    const fallback = editor => (html, done) => {\n      const {\n        dom,\n        selection\n      } = editor;\n      const outer = dom.create('div', {\n        'contenteditable': 'false',\n        'data-mce-bogus': 'all'\n      });\n      const inner = dom.create('div', {\n        contenteditable: 'true'\n      }, html);\n      dom.setStyles(outer, {\n        position: 'fixed',\n        top: '0',\n        left: '-3000px',\n        width: '1000px',\n        overflow: 'hidden'\n      });\n      outer.appendChild(inner);\n      dom.add(editor.getBody(), outer);\n      const range = selection.getRng();\n      inner.focus();\n      const offscreenRange = dom.createRng();\n      offscreenRange.selectNodeContents(inner);\n      selection.setRng(offscreenRange);\n      Delay.setEditorTimeout(editor, () => {\n        selection.setRng(range);\n        dom.remove(outer);\n        done();\n      }, 0);\n    };\n    const getData = editor => ({\n      html: mark(editor.selection.getContent({\n        contextual: true\n      })),\n      text: editor.selection.getContent({\n        format: 'text'\n      })\n    });\n    const isTableSelection = editor => !!editor.dom.getParent(editor.selection.getStart(), 'td[data-mce-selected],th[data-mce-selected]', editor.getBody());\n    const hasSelectedContent = editor => !editor.selection.isCollapsed() || isTableSelection(editor);\n    const cut = editor => evt => {\n      if (!evt.isDefaultPrevented() && hasSelectedContent(editor) && editor.selection.isEditable()) {\n        setClipboardData(evt, getData(editor), fallback(editor), () => {\n          if (Env.browser.isChromium() || Env.browser.isFirefox()) {\n            const rng = editor.selection.getRng();\n            Delay.setEditorTimeout(editor, () => {\n              editor.selection.setRng(rng);\n              editor.execCommand('Delete');\n            }, 0);\n          } else {\n            editor.execCommand('Delete');\n          }\n        });\n      }\n    };\n    const copy = editor => evt => {\n      if (!evt.isDefaultPrevented() && hasSelectedContent(editor)) {\n        setClipboardData(evt, getData(editor), fallback(editor), noop);\n      }\n    };\n    const register = editor => {\n      editor.on('cut', cut(editor));\n      editor.on('copy', copy(editor));\n    };\n\n    const getCaretRangeFromEvent = (editor, e) => {\n      var _a, _b;\n      return RangeUtils.getCaretRangeFromPoint((_a = e.clientX) !== null && _a !== void 0 ? _a : 0, (_b = e.clientY) !== null && _b !== void 0 ? _b : 0, editor.getDoc());\n    };\n    const isPlainTextFileUrl = content => {\n      const plainTextContent = content['text/plain'];\n      return plainTextContent ? plainTextContent.indexOf('file://') === 0 : false;\n    };\n    const setFocusedRange = (editor, rng) => {\n      editor.focus();\n      if (rng) {\n        editor.selection.setRng(rng);\n      }\n    };\n    const hasImage = dataTransfer => exists(dataTransfer.files, file => /^image\\//.test(file.type));\n    const needsCustomInternalDrop = (dom, schema, target, dropContent) => {\n      const parentTransparent = dom.getParent(target, node => isTransparentBlock(schema, node));\n      const inSummary = !isNull(dom.getParent(target, 'summary'));\n      if (inSummary) {\n        return true;\n      } else if (parentTransparent && has$2(dropContent, 'text/html')) {\n        const fragment = new DOMParser().parseFromString(dropContent['text/html'], 'text/html').body;\n        return !isNull(fragment.querySelector(parentTransparent.nodeName.toLowerCase()));\n      } else {\n        return false;\n      }\n    };\n    const setupSummaryDeleteByDragFix = editor => {\n      editor.on('input', e => {\n        const hasNoSummary = el => isNull(el.querySelector('summary'));\n        if (e.inputType === 'deleteByDrag') {\n          const brokenDetailElements = filter$5(editor.dom.select('details'), hasNoSummary);\n          each$e(brokenDetailElements, details => {\n            if (isBr$6(details.firstChild)) {\n              details.firstChild.remove();\n            }\n            const summary = editor.dom.create('summary');\n            summary.appendChild(createPaddingBr().dom);\n            details.prepend(summary);\n          });\n        }\n      });\n    };\n    const setup$a = (editor, draggingInternallyState) => {\n      if (shouldPasteBlockDrop(editor)) {\n        editor.on('dragend dragover draggesture dragdrop drop drag', e => {\n          e.preventDefault();\n          e.stopPropagation();\n        });\n      }\n      if (!shouldPasteDataImages(editor)) {\n        editor.on('drop', e => {\n          const dataTransfer = e.dataTransfer;\n          if (dataTransfer && hasImage(dataTransfer)) {\n            e.preventDefault();\n          }\n        });\n      }\n      editor.on('drop', e => {\n        if (e.isDefaultPrevented()) {\n          return;\n        }\n        const rng = getCaretRangeFromEvent(editor, e);\n        if (isNullable(rng)) {\n          return;\n        }\n        const dropContent = getDataTransferItems(e.dataTransfer);\n        const internal = hasContentType(dropContent, internalHtmlMime());\n        if ((!hasHtmlOrText(dropContent) || isPlainTextFileUrl(dropContent)) && pasteImageData(editor, e, rng)) {\n          return;\n        }\n        const internalContent = dropContent[internalHtmlMime()];\n        const content = internalContent || dropContent['text/html'] || dropContent['text/plain'];\n        const needsInternalDrop = needsCustomInternalDrop(editor.dom, editor.schema, rng.startContainer, dropContent);\n        const isInternalDrop = draggingInternallyState.get();\n        if (isInternalDrop && !needsInternalDrop) {\n          return;\n        }\n        if (content) {\n          e.preventDefault();\n          Delay.setEditorTimeout(editor, () => {\n            editor.undoManager.transact(() => {\n              if (internalContent || isInternalDrop && needsInternalDrop) {\n                editor.execCommand('Delete');\n              }\n              setFocusedRange(editor, rng);\n              const trimmedContent = trimHtml(content);\n              if (dropContent['text/html']) {\n                pasteHtml(editor, trimmedContent, internal, true);\n              } else {\n                pasteText(editor, trimmedContent, true);\n              }\n            });\n          });\n        }\n      });\n      editor.on('dragstart', _e => {\n        draggingInternallyState.set(true);\n      });\n      editor.on('dragover dragend', e => {\n        if (shouldPasteDataImages(editor) && !draggingInternallyState.get()) {\n          e.preventDefault();\n          setFocusedRange(editor, getCaretRangeFromEvent(editor, e));\n        }\n        if (e.type === 'dragend') {\n          draggingInternallyState.set(false);\n        }\n      });\n      setupSummaryDeleteByDragFix(editor);\n    };\n\n    const setup$9 = editor => {\n      const processEvent = f => e => {\n        f(editor, e);\n      };\n      const preProcess = getPastePreProcess(editor);\n      if (isFunction(preProcess)) {\n        editor.on('PastePreProcess', processEvent(preProcess));\n      }\n      const postProcess = getPastePostProcess(editor);\n      if (isFunction(postProcess)) {\n        editor.on('PastePostProcess', processEvent(postProcess));\n      }\n    };\n\n    const addPreProcessFilter = (editor, filterFunc) => {\n      editor.on('PastePreProcess', e => {\n        e.content = filterFunc(editor, e.content, e.internal);\n      });\n    };\n    const rgbRegExp = /rgb\\s*\\(\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*\\)/gi;\n    const rgbToHex = value => Tools.trim(value).replace(rgbRegExp, rgbaToHexString).toLowerCase();\n    const removeWebKitStyles = (editor, content, internal) => {\n      const webKitStylesOption = getPasteWebkitStyles(editor);\n      if (internal || webKitStylesOption === 'all' || !shouldPasteRemoveWebKitStyles(editor)) {\n        return content;\n      }\n      const webKitStyles = webKitStylesOption ? webKitStylesOption.split(/[, ]/) : [];\n      if (webKitStyles && webKitStylesOption !== 'none') {\n        const dom = editor.dom,\n          node = editor.selection.getNode();\n        content = content.replace(/(<[^>]+) style=\"([^\"]*)\"([^>]*>)/gi, (all, before, value, after) => {\n          const inputStyles = dom.parseStyle(dom.decode(value));\n          const outputStyles = {};\n          for (let i = 0; i < webKitStyles.length; i++) {\n            const inputValue = inputStyles[webKitStyles[i]];\n            let compareInput = inputValue;\n            let currentValue = dom.getStyle(node, webKitStyles[i], true);\n            if (/color/.test(webKitStyles[i])) {\n              compareInput = rgbToHex(compareInput);\n              currentValue = rgbToHex(currentValue);\n            }\n            if (currentValue !== compareInput) {\n              outputStyles[webKitStyles[i]] = inputValue;\n            }\n          }\n          const outputStyle = dom.serializeStyle(outputStyles, 'span');\n          if (outputStyle) {\n            return before + ' style=\"' + outputStyle + '\"' + after;\n          }\n          return before + after;\n        });\n      } else {\n        content = content.replace(/(<[^>]+) style=\"([^\"]*)\"([^>]*>)/gi, '$1$3');\n      }\n      content = content.replace(/(<[^>]+) data-mce-style=\"([^\"]+)\"([^>]*>)/gi, (all, before, value, after) => {\n        return before + ' style=\"' + value + '\"' + after;\n      });\n      return content;\n    };\n    const setup$8 = editor => {\n      if (Env.browser.isChromium() || Env.browser.isSafari()) {\n        addPreProcessFilter(editor, removeWebKitStyles);\n      }\n    };\n\n    const setup$7 = editor => {\n      const draggingInternallyState = Cell(false);\n      const pasteFormat = Cell(isPasteAsTextEnabled(editor) ? 'text' : 'html');\n      const pasteBin = PasteBin(editor);\n      setup$8(editor);\n      register$1(editor, pasteFormat);\n      setup$9(editor);\n      editor.on('PreInit', () => {\n        register(editor);\n        setup$a(editor, draggingInternallyState);\n        registerEventsAndFilters(editor, pasteBin, pasteFormat);\n      });\n    };\n\n    const preventSummaryToggle = editor => {\n      editor.on('click', e => {\n        if (editor.dom.getParent(e.target, 'details')) {\n          e.preventDefault();\n        }\n      });\n    };\n    const filterDetails = editor => {\n      editor.parser.addNodeFilter('details', elms => {\n        const initialStateOption = getDetailsInitialState(editor);\n        each$e(elms, details => {\n          if (initialStateOption === 'expanded') {\n            details.attr('open', 'open');\n          } else if (initialStateOption === 'collapsed') {\n            details.attr('open', null);\n          }\n        });\n      });\n      editor.serializer.addNodeFilter('details', elms => {\n        const serializedStateOption = getDetailsSerializedState(editor);\n        each$e(elms, details => {\n          if (serializedStateOption === 'expanded') {\n            details.attr('open', 'open');\n          } else if (serializedStateOption === 'collapsed') {\n            details.attr('open', null);\n          }\n        });\n      });\n    };\n    const setup$6 = editor => {\n      preventSummaryToggle(editor);\n      filterDetails(editor);\n    };\n\n    const isBr = isBr$6;\n    const isText = isText$a;\n    const isContentEditableFalse$2 = elm => isContentEditableFalse$b(elm.dom);\n    const isContentEditableTrue = elm => isContentEditableTrue$3(elm.dom);\n    const isRoot = rootNode => elm => eq(SugarElement.fromDom(rootNode), elm);\n    const getClosestScope = (node, rootNode, schema) => closest$4(SugarElement.fromDom(node), elm => isContentEditableTrue(elm) || schema.isBlock(name(elm)), isRoot(rootNode)).getOr(SugarElement.fromDom(rootNode)).dom;\n    const getClosestCef = (node, rootNode) => closest$4(SugarElement.fromDom(node), isContentEditableFalse$2, isRoot(rootNode));\n    const findEdgeCaretCandidate = (startNode, scope, forward) => {\n      const walker = new DomTreeWalker(startNode, scope);\n      const next = forward ? walker.next.bind(walker) : walker.prev.bind(walker);\n      let result = startNode;\n      for (let current = forward ? startNode : next(); current && !isBr(current); current = next()) {\n        if (isCaretCandidate$3(current)) {\n          result = current;\n        }\n      }\n      return result;\n    };\n    const findClosestBlockRange = (startRng, rootNode, schema) => {\n      const startPos = CaretPosition.fromRangeStart(startRng);\n      const clickNode = startPos.getNode();\n      const scope = getClosestScope(clickNode, rootNode, schema);\n      const startNode = findEdgeCaretCandidate(clickNode, scope, false);\n      const endNode = findEdgeCaretCandidate(clickNode, scope, true);\n      const rng = document.createRange();\n      getClosestCef(startNode, scope).fold(() => {\n        if (isText(startNode)) {\n          rng.setStart(startNode, 0);\n        } else {\n          rng.setStartBefore(startNode);\n        }\n      }, cef => rng.setStartBefore(cef.dom));\n      getClosestCef(endNode, scope).fold(() => {\n        if (isText(endNode)) {\n          rng.setEnd(endNode, endNode.data.length);\n        } else {\n          rng.setEndAfter(endNode);\n        }\n      }, cef => rng.setEndAfter(cef.dom));\n      return rng;\n    };\n    const onTripleClickSelect = editor => {\n      const rng = findClosestBlockRange(editor.selection.getRng(), editor.getBody(), editor.schema);\n      editor.selection.setRng(normalize(rng));\n    };\n    const setup$5 = editor => {\n      editor.on('mousedown', e => {\n        if (e.detail >= 3) {\n          e.preventDefault();\n          onTripleClickSelect(editor);\n        }\n      });\n    };\n\n    var FakeCaretPosition;\n    (function (FakeCaretPosition) {\n      FakeCaretPosition['Before'] = 'before';\n      FakeCaretPosition['After'] = 'after';\n    })(FakeCaretPosition || (FakeCaretPosition = {}));\n    const distanceToRectLeft = (clientRect, clientX) => Math.abs(clientRect.left - clientX);\n    const distanceToRectRight = (clientRect, clientX) => Math.abs(clientRect.right - clientX);\n    const isInsideY = (clientY, clientRect) => clientY >= clientRect.top && clientY <= clientRect.bottom;\n    const collidesY = (r1, r2) => r1.top < r2.bottom && r1.bottom > r2.top;\n    const isOverlapping = (r1, r2) => {\n      const overlap = overlapY(r1, r2) / Math.min(r1.height, r2.height);\n      return collidesY(r1, r2) && overlap > 0.5;\n    };\n    const splitRectsPerAxis = (rects, y) => {\n      const intersectingRects = filter$5(rects, rect => isInsideY(y, rect));\n      return boundingClientRectFromRects(intersectingRects).fold(() => [[], rects], boundingRect => {\n        const {\n          pass: horizontal,\n          fail: vertical\n        } = partition$2(rects, rect => isOverlapping(rect, boundingRect));\n        return [horizontal, vertical];\n      });\n    };\n    const clientInfo = (rect, clientX) => {\n      return {\n        node: rect.node,\n        position: distanceToRectLeft(rect, clientX) < distanceToRectRight(rect, clientX) ? FakeCaretPosition.Before : FakeCaretPosition.After\n      };\n    };\n    const horizontalDistance = (rect, x, _y) => x > rect.left && x < rect.right ? 0 : Math.min(Math.abs(rect.left - x), Math.abs(rect.right - x));\n    const closestChildCaretCandidateNodeRect = (children, clientX, clientY, findCloserTextNode) => {\n      const caretCandidateRect = rect => {\n        if (isCaretCandidate$3(rect.node)) {\n          return Optional.some(rect);\n        } else if (isElement$6(rect.node)) {\n          return closestChildCaretCandidateNodeRect(from(rect.node.childNodes), clientX, clientY, false);\n        } else {\n          return Optional.none();\n        }\n      };\n      const tryFindSecondBestTextNode = (closest, sndClosest, distance) => {\n        return caretCandidateRect(sndClosest).filter(rect => {\n          const deltaDistance = Math.abs(distance(closest, clientX, clientY) - distance(rect, clientX, clientY));\n          return deltaDistance < 2 && isText$a(rect.node);\n        });\n      };\n      const findClosestCaretCandidateNodeRect = (rects, distance) => {\n        const sortedRects = sort(rects, (r1, r2) => distance(r1, clientX, clientY) - distance(r2, clientX, clientY));\n        return findMap(sortedRects, caretCandidateRect).map(closest => {\n          if (findCloserTextNode && !isText$a(closest.node) && sortedRects.length > 1) {\n            return tryFindSecondBestTextNode(closest, sortedRects[1], distance).getOr(closest);\n          } else {\n            return closest;\n          }\n        });\n      };\n      const [horizontalRects, verticalRects] = splitRectsPerAxis(getClientRects(children), clientY);\n      const {\n        pass: above,\n        fail: below\n      } = partition$2(verticalRects, rect => rect.top < clientY);\n      return findClosestCaretCandidateNodeRect(horizontalRects, horizontalDistance).orThunk(() => findClosestCaretCandidateNodeRect(below, distanceToRectEdgeFromXY)).orThunk(() => findClosestCaretCandidateNodeRect(above, distanceToRectEdgeFromXY));\n    };\n    const traverseUp = (rootElm, scope, clientX, clientY) => {\n      const helper = (scope, prevScope) => {\n        const isDragGhostContainer = node => isElement$6(node) && node.classList.contains('mce-drag-container');\n        const childNodesWithoutGhost = filter$5(scope.dom.childNodes, not(isDragGhostContainer));\n        return prevScope.fold(() => closestChildCaretCandidateNodeRect(childNodesWithoutGhost, clientX, clientY, true), prevScope => {\n          const uncheckedChildren = filter$5(childNodesWithoutGhost, node => node !== prevScope.dom);\n          return closestChildCaretCandidateNodeRect(uncheckedChildren, clientX, clientY, true);\n        }).orThunk(() => {\n          const parent = eq(scope, rootElm) ? Optional.none() : parentElement(scope);\n          return parent.bind(newScope => helper(newScope, Optional.some(scope)));\n        });\n      };\n      return helper(scope, Optional.none());\n    };\n    const closestCaretCandidateNodeRect = (root, clientX, clientY) => {\n      const rootElm = SugarElement.fromDom(root);\n      const ownerDoc = documentOrOwner(rootElm);\n      const elementAtPoint = SugarElement.fromPoint(ownerDoc, clientX, clientY).filter(elm => contains(rootElm, elm));\n      const element = elementAtPoint.getOr(rootElm);\n      return traverseUp(rootElm, element, clientX, clientY);\n    };\n    const closestFakeCaretCandidate = (root, clientX, clientY) => closestCaretCandidateNodeRect(root, clientX, clientY).filter(rect => isFakeCaretTarget(rect.node)).map(rect => clientInfo(rect, clientX));\n\n    const getAbsolutePosition = elm => {\n      var _a, _b;\n      const clientRect = elm.getBoundingClientRect();\n      const doc = elm.ownerDocument;\n      const docElem = doc.documentElement;\n      const win = doc.defaultView;\n      return {\n        top: clientRect.top + ((_a = win === null || win === void 0 ? void 0 : win.scrollY) !== null && _a !== void 0 ? _a : 0) - docElem.clientTop,\n        left: clientRect.left + ((_b = win === null || win === void 0 ? void 0 : win.scrollX) !== null && _b !== void 0 ? _b : 0) - docElem.clientLeft\n      };\n    };\n    const getBodyPosition = editor => editor.inline ? getAbsolutePosition(editor.getBody()) : {\n      left: 0,\n      top: 0\n    };\n    const getScrollPosition = editor => {\n      const body = editor.getBody();\n      return editor.inline ? {\n        left: body.scrollLeft,\n        top: body.scrollTop\n      } : {\n        left: 0,\n        top: 0\n      };\n    };\n    const getBodyScroll = editor => {\n      const body = editor.getBody(),\n        docElm = editor.getDoc().documentElement;\n      const inlineScroll = {\n        left: body.scrollLeft,\n        top: body.scrollTop\n      };\n      const iframeScroll = {\n        left: body.scrollLeft || docElm.scrollLeft,\n        top: body.scrollTop || docElm.scrollTop\n      };\n      return editor.inline ? inlineScroll : iframeScroll;\n    };\n    const getMousePosition = (editor, event) => {\n      if (event.target.ownerDocument !== editor.getDoc()) {\n        const iframePosition = getAbsolutePosition(editor.getContentAreaContainer());\n        const scrollPosition = getBodyScroll(editor);\n        return {\n          left: event.pageX - iframePosition.left + scrollPosition.left,\n          top: event.pageY - iframePosition.top + scrollPosition.top\n        };\n      }\n      return {\n        left: event.pageX,\n        top: event.pageY\n      };\n    };\n    const calculatePosition = (bodyPosition, scrollPosition, mousePosition) => ({\n      pageX: mousePosition.left - bodyPosition.left + scrollPosition.left,\n      pageY: mousePosition.top - bodyPosition.top + scrollPosition.top\n    });\n    const calc = (editor, event) => calculatePosition(getBodyPosition(editor), getScrollPosition(editor), getMousePosition(editor, event));\n\n    const getTargetProps = target => ({\n      target,\n      srcElement: target\n    });\n    const makeDndEventFromMouseEvent = (type, mouseEvent, target, dataTransfer) => ({\n      ...mouseEvent,\n      dataTransfer,\n      type,\n      ...getTargetProps(target)\n    });\n    const makeDndEvent = (type, target, dataTransfer) => {\n      const fail = die('Function not supported on simulated event.');\n      const event = {\n        bubbles: true,\n        cancelBubble: false,\n        cancelable: true,\n        composed: false,\n        currentTarget: null,\n        defaultPrevented: false,\n        eventPhase: 0,\n        isTrusted: true,\n        returnValue: false,\n        timeStamp: 0,\n        type,\n        composedPath: fail,\n        initEvent: fail,\n        preventDefault: noop,\n        stopImmediatePropagation: noop,\n        stopPropagation: noop,\n        AT_TARGET: window.Event.AT_TARGET,\n        BUBBLING_PHASE: window.Event.BUBBLING_PHASE,\n        CAPTURING_PHASE: window.Event.CAPTURING_PHASE,\n        NONE: window.Event.NONE,\n        altKey: false,\n        button: 0,\n        buttons: 0,\n        clientX: 0,\n        clientY: 0,\n        ctrlKey: false,\n        metaKey: false,\n        movementX: 0,\n        movementY: 0,\n        offsetX: 0,\n        offsetY: 0,\n        pageX: 0,\n        pageY: 0,\n        relatedTarget: null,\n        screenX: 0,\n        screenY: 0,\n        shiftKey: false,\n        x: 0,\n        y: 0,\n        detail: 0,\n        view: null,\n        which: 0,\n        initUIEvent: fail,\n        initMouseEvent: fail,\n        getModifierState: fail,\n        dataTransfer,\n        ...getTargetProps(target)\n      };\n      return event;\n    };\n    const makeDataTransferCopyForDragEvent = (dataTransfer, eventType) => {\n      const copy = cloneDataTransfer(dataTransfer);\n      if (eventType === 'dragstart') {\n        setDragstartEvent(copy);\n        setReadWriteMode(copy);\n      } else if (eventType === 'drop') {\n        setDropEvent(copy);\n        setReadOnlyMode(copy);\n      } else {\n        setDragendEvent(copy);\n        setProtectedMode(copy);\n      }\n      return copy;\n    };\n    const makeDragEvent = (type, target, dataTransfer, mouseEvent) => {\n      const dataTransferForDispatch = makeDataTransferCopyForDragEvent(dataTransfer, type);\n      return isUndefined(mouseEvent) ? makeDndEvent(type, target, dataTransferForDispatch) : makeDndEventFromMouseEvent(type, mouseEvent, target, dataTransferForDispatch);\n    };\n\n    const scrollPixelsPerInterval = 32;\n    const scrollIntervalValue = 100;\n    const mouseRangeToTriggerScrollInsideEditor = 8;\n    const mouseRangeToTriggerScrollOutsideEditor = 16;\n    const isContentEditableFalse$1 = isContentEditableFalse$b;\n    const isContentEditable = or(isContentEditableFalse$1, isContentEditableTrue$3);\n    const isDraggable = (dom, rootElm, elm) => isContentEditableFalse$1(elm) && elm !== rootElm && dom.isEditable(elm.parentElement);\n    const isValidDropTarget = (editor, targetElement, dragElement) => {\n      if (isNullable(targetElement)) {\n        return false;\n      } else if (targetElement === dragElement || editor.dom.isChildOf(targetElement, dragElement)) {\n        return false;\n      } else {\n        return editor.dom.isEditable(targetElement);\n      }\n    };\n    const createGhost = (editor, elm, width, height) => {\n      const dom = editor.dom;\n      const clonedElm = elm.cloneNode(true);\n      dom.setStyles(clonedElm, {\n        width,\n        height\n      });\n      dom.setAttrib(clonedElm, 'data-mce-selected', null);\n      const ghostElm = dom.create('div', {\n        'class': 'mce-drag-container',\n        'data-mce-bogus': 'all',\n        'unselectable': 'on',\n        'contenteditable': 'false'\n      });\n      dom.setStyles(ghostElm, {\n        position: 'absolute',\n        opacity: 0.5,\n        overflow: 'hidden',\n        border: 0,\n        padding: 0,\n        margin: 0,\n        width,\n        height\n      });\n      dom.setStyles(clonedElm, {\n        margin: 0,\n        boxSizing: 'border-box'\n      });\n      ghostElm.appendChild(clonedElm);\n      return ghostElm;\n    };\n    const appendGhostToBody = (ghostElm, bodyElm) => {\n      if (ghostElm.parentNode !== bodyElm) {\n        bodyElm.appendChild(ghostElm);\n      }\n    };\n    const scrollEditor = (direction, amount) => win => () => {\n      const current = direction === 'left' ? win.scrollX : win.scrollY;\n      win.scroll({\n        [direction]: current + amount,\n        behavior: 'smooth'\n      });\n    };\n    const scrollLeft = scrollEditor('left', -scrollPixelsPerInterval);\n    const scrollRight = scrollEditor('left', scrollPixelsPerInterval);\n    const scrollUp = scrollEditor('top', -scrollPixelsPerInterval);\n    const scrollDown = scrollEditor('top', scrollPixelsPerInterval);\n    const moveGhost = (ghostElm, position, width, height, maxX, maxY, mouseY, mouseX, contentAreaContainer, win, state, mouseEventOriginatedFromWithinTheEditor) => {\n      let overflowX = 0,\n        overflowY = 0;\n      ghostElm.style.left = position.pageX + 'px';\n      ghostElm.style.top = position.pageY + 'px';\n      if (position.pageX + width > maxX) {\n        overflowX = position.pageX + width - maxX;\n      }\n      if (position.pageY + height > maxY) {\n        overflowY = position.pageY + height - maxY;\n      }\n      ghostElm.style.width = width - overflowX + 'px';\n      ghostElm.style.height = height - overflowY + 'px';\n      const clientHeight = contentAreaContainer.clientHeight;\n      const clientWidth = contentAreaContainer.clientWidth;\n      const outerMouseY = mouseY + contentAreaContainer.getBoundingClientRect().top;\n      const outerMouseX = mouseX + contentAreaContainer.getBoundingClientRect().left;\n      state.on(state => {\n        state.intervalId.clear();\n        if (state.dragging && mouseEventOriginatedFromWithinTheEditor) {\n          if (mouseY + mouseRangeToTriggerScrollInsideEditor >= clientHeight) {\n            state.intervalId.set(scrollDown(win));\n          } else if (mouseY - mouseRangeToTriggerScrollInsideEditor <= 0) {\n            state.intervalId.set(scrollUp(win));\n          } else if (mouseX + mouseRangeToTriggerScrollInsideEditor >= clientWidth) {\n            state.intervalId.set(scrollRight(win));\n          } else if (mouseX - mouseRangeToTriggerScrollInsideEditor <= 0) {\n            state.intervalId.set(scrollLeft(win));\n          } else if (outerMouseY + mouseRangeToTriggerScrollOutsideEditor >= window.innerHeight) {\n            state.intervalId.set(scrollDown(window));\n          } else if (outerMouseY - mouseRangeToTriggerScrollOutsideEditor <= 0) {\n            state.intervalId.set(scrollUp(window));\n          } else if (outerMouseX + mouseRangeToTriggerScrollOutsideEditor >= window.innerWidth) {\n            state.intervalId.set(scrollRight(window));\n          } else if (outerMouseX - mouseRangeToTriggerScrollOutsideEditor <= 0) {\n            state.intervalId.set(scrollLeft(window));\n          }\n        }\n      });\n    };\n    const removeElement = elm => {\n      if (elm && elm.parentNode) {\n        elm.parentNode.removeChild(elm);\n      }\n    };\n    const removeElementWithPadding = (dom, elm) => {\n      const parentBlock = dom.getParent(elm.parentNode, dom.isBlock);\n      removeElement(elm);\n      if (parentBlock && parentBlock !== dom.getRoot() && dom.isEmpty(parentBlock)) {\n        fillWithPaddingBr(SugarElement.fromDom(parentBlock));\n      }\n    };\n    const isLeftMouseButtonPressed = e => e.button === 0;\n    const applyRelPos = (state, position) => ({\n      pageX: position.pageX - state.relX,\n      pageY: position.pageY + 5\n    });\n    const start = (state, editor) => e => {\n      if (isLeftMouseButtonPressed(e)) {\n        const ceElm = find$2(editor.dom.getParents(e.target), isContentEditable).getOr(null);\n        if (isNonNullable(ceElm) && isDraggable(editor.dom, editor.getBody(), ceElm)) {\n          const elmPos = editor.dom.getPos(ceElm);\n          const bodyElm = editor.getBody();\n          const docElm = editor.getDoc().documentElement;\n          state.set({\n            element: ceElm,\n            dataTransfer: createDataTransfer(),\n            dragging: false,\n            screenX: e.screenX,\n            screenY: e.screenY,\n            maxX: (editor.inline ? bodyElm.scrollWidth : docElm.offsetWidth) - 2,\n            maxY: (editor.inline ? bodyElm.scrollHeight : docElm.offsetHeight) - 2,\n            relX: e.pageX - elmPos.x,\n            relY: e.pageY - elmPos.y,\n            width: ceElm.offsetWidth,\n            height: ceElm.offsetHeight,\n            ghost: createGhost(editor, ceElm, ceElm.offsetWidth, ceElm.offsetHeight),\n            intervalId: repeatable(scrollIntervalValue)\n          });\n        }\n      }\n    };\n    const placeCaretAt = (editor, clientX, clientY) => {\n      editor._selectionOverrides.hideFakeCaret();\n      closestFakeCaretCandidate(editor.getBody(), clientX, clientY).fold(() => editor.selection.placeCaretAt(clientX, clientY), caretInfo => {\n        const range = editor._selectionOverrides.showCaret(1, caretInfo.node, caretInfo.position === FakeCaretPosition.Before, false);\n        if (range) {\n          editor.selection.setRng(range);\n        } else {\n          editor.selection.placeCaretAt(clientX, clientY);\n        }\n      });\n    };\n    const dispatchDragEvent = (editor, type, target, dataTransfer, mouseEvent) => {\n      if (type === 'dragstart') {\n        setHtmlData(dataTransfer, editor.dom.getOuterHTML(target));\n      }\n      const event = makeDragEvent(type, target, dataTransfer, mouseEvent);\n      const args = editor.dispatch(type, event);\n      return args;\n    };\n    const move = (state, editor) => {\n      const throttledPlaceCaretAt = first$1((clientX, clientY) => placeCaretAt(editor, clientX, clientY), 0);\n      editor.on('remove', throttledPlaceCaretAt.cancel);\n      const state_ = state;\n      return e => state.on(state => {\n        const movement = Math.max(Math.abs(e.screenX - state.screenX), Math.abs(e.screenY - state.screenY));\n        if (!state.dragging && movement > 10) {\n          const args = dispatchDragEvent(editor, 'dragstart', state.element, state.dataTransfer, e);\n          if (isNonNullable(args.dataTransfer)) {\n            state.dataTransfer = args.dataTransfer;\n          }\n          if (args.isDefaultPrevented()) {\n            return;\n          }\n          state.dragging = true;\n          editor.focus();\n        }\n        if (state.dragging) {\n          const mouseEventOriginatedFromWithinTheEditor = e.currentTarget === editor.getDoc().documentElement;\n          const targetPos = applyRelPos(state, calc(editor, e));\n          appendGhostToBody(state.ghost, editor.getBody());\n          moveGhost(state.ghost, targetPos, state.width, state.height, state.maxX, state.maxY, e.clientY, e.clientX, editor.getContentAreaContainer(), editor.getWin(), state_, mouseEventOriginatedFromWithinTheEditor);\n          throttledPlaceCaretAt.throttle(e.clientX, e.clientY);\n        }\n      });\n    };\n    const getRawTarget = selection => {\n      const sel = selection.getSel();\n      if (isNonNullable(sel)) {\n        const rng = sel.getRangeAt(0);\n        const startContainer = rng.startContainer;\n        return isText$a(startContainer) ? startContainer.parentNode : startContainer;\n      } else {\n        return null;\n      }\n    };\n    const drop = (state, editor) => e => {\n      state.on(state => {\n        var _a;\n        state.intervalId.clear();\n        if (state.dragging) {\n          if (isValidDropTarget(editor, getRawTarget(editor.selection), state.element)) {\n            const dropTarget = (_a = editor.getDoc().elementFromPoint(e.clientX, e.clientY)) !== null && _a !== void 0 ? _a : editor.getBody();\n            const args = dispatchDragEvent(editor, 'drop', dropTarget, state.dataTransfer, e);\n            if (!args.isDefaultPrevented()) {\n              editor.undoManager.transact(() => {\n                removeElementWithPadding(editor.dom, state.element);\n                getHtmlData(state.dataTransfer).each(content => editor.insertContent(content));\n                editor._selectionOverrides.hideFakeCaret();\n              });\n            }\n          }\n          dispatchDragEvent(editor, 'dragend', editor.getBody(), state.dataTransfer, e);\n        }\n      });\n      removeDragState(state);\n    };\n    const stopDragging = (state, editor, e) => {\n      state.on(state => {\n        state.intervalId.clear();\n        if (state.dragging) {\n          e.fold(() => dispatchDragEvent(editor, 'dragend', state.element, state.dataTransfer), mouseEvent => dispatchDragEvent(editor, 'dragend', state.element, state.dataTransfer, mouseEvent));\n        }\n      });\n      removeDragState(state);\n    };\n    const stop = (state, editor) => e => stopDragging(state, editor, Optional.some(e));\n    const removeDragState = state => {\n      state.on(state => {\n        state.intervalId.clear();\n        removeElement(state.ghost);\n      });\n      state.clear();\n    };\n    const bindFakeDragEvents = editor => {\n      const state = value$2();\n      const pageDom = DOMUtils.DOM;\n      const rootDocument = document;\n      const dragStartHandler = start(state, editor);\n      const dragHandler = move(state, editor);\n      const dropHandler = drop(state, editor);\n      const dragEndHandler = stop(state, editor);\n      editor.on('mousedown', dragStartHandler);\n      editor.on('mousemove', dragHandler);\n      editor.on('mouseup', dropHandler);\n      pageDom.bind(rootDocument, 'mousemove', dragHandler);\n      pageDom.bind(rootDocument, 'mouseup', dragEndHandler);\n      editor.on('remove', () => {\n        pageDom.unbind(rootDocument, 'mousemove', dragHandler);\n        pageDom.unbind(rootDocument, 'mouseup', dragEndHandler);\n      });\n      editor.on('keydown', e => {\n        if (e.keyCode === VK.ESC) {\n          stopDragging(state, editor, Optional.none());\n        }\n      });\n    };\n    const blockUnsupportedFileDrop = editor => {\n      const preventFileDrop = e => {\n        if (!e.isDefaultPrevented()) {\n          const dataTransfer = e.dataTransfer;\n          if (dataTransfer && (contains$2(dataTransfer.types, 'Files') || dataTransfer.files.length > 0)) {\n            e.preventDefault();\n            if (e.type === 'drop') {\n              displayError(editor, 'Dropped file type is not supported');\n            }\n          }\n        }\n      };\n      const preventFileDropIfUIElement = e => {\n        if (isUIElement(editor, e.target)) {\n          preventFileDrop(e);\n        }\n      };\n      const setup = () => {\n        const pageDom = DOMUtils.DOM;\n        const dom = editor.dom;\n        const doc = document;\n        const editorRoot = editor.inline ? editor.getBody() : editor.getDoc();\n        const eventNames = ['drop', 'dragover'];\n        each$e(eventNames, name => {\n          pageDom.bind(doc, name, preventFileDropIfUIElement);\n          dom.bind(editorRoot, name, preventFileDrop);\n        });\n        editor.on('remove', () => {\n          each$e(eventNames, name => {\n            pageDom.unbind(doc, name, preventFileDropIfUIElement);\n            dom.unbind(editorRoot, name, preventFileDrop);\n          });\n        });\n      };\n      editor.on('init', () => {\n        Delay.setEditorTimeout(editor, setup, 0);\n      });\n    };\n    const init$2 = editor => {\n      bindFakeDragEvents(editor);\n      if (shouldBlockUnsupportedDrop(editor)) {\n        blockUnsupportedFileDrop(editor);\n      }\n    };\n\n    const setup$4 = editor => {\n      const renderFocusCaret = first$1(() => {\n        if (!editor.removed && editor.getBody().contains(document.activeElement)) {\n          const rng = editor.selection.getRng();\n          if (rng.collapsed) {\n            const caretRange = renderRangeCaret(editor, rng, false);\n            editor.selection.setRng(caretRange);\n          }\n        }\n      }, 0);\n      editor.on('focus', () => {\n        renderFocusCaret.throttle();\n      });\n      editor.on('blur', () => {\n        renderFocusCaret.cancel();\n      });\n    };\n\n    const setup$3 = editor => {\n      editor.on('init', () => {\n        editor.on('focusin', e => {\n          const target = e.target;\n          if (isMedia$2(target)) {\n            const ceRoot = getContentEditableRoot$1(editor.getBody(), target);\n            const node = isContentEditableFalse$b(ceRoot) ? ceRoot : target;\n            if (editor.selection.getNode() !== node) {\n              selectNode(editor, node).each(rng => editor.selection.setRng(rng));\n            }\n          }\n        });\n      });\n    };\n\n    const isContentEditableFalse = isContentEditableFalse$b;\n    const getContentEditableRoot = (editor, node) => getContentEditableRoot$1(editor.getBody(), node);\n    const SelectionOverrides = editor => {\n      const selection = editor.selection,\n        dom = editor.dom;\n      const rootNode = editor.getBody();\n      const fakeCaret = FakeCaret(editor, rootNode, dom.isBlock, () => hasFocus(editor));\n      const realSelectionId = 'sel-' + dom.uniqueId();\n      const elementSelectionAttr = 'data-mce-selected';\n      let selectedElement;\n      const isFakeSelectionElement = node => isNonNullable(node) && dom.hasClass(node, 'mce-offscreen-selection');\n      const isFakeSelectionTargetElement = node => node !== rootNode && (isContentEditableFalse(node) || isMedia$2(node)) && dom.isChildOf(node, rootNode) && dom.isEditable(node.parentNode);\n      const setRange = range => {\n        if (range) {\n          selection.setRng(range);\n        }\n      };\n      const showCaret = (direction, node, before, scrollIntoView = true) => {\n        const e = editor.dispatch('ShowCaret', {\n          target: node,\n          direction,\n          before\n        });\n        if (e.isDefaultPrevented()) {\n          return null;\n        }\n        if (scrollIntoView) {\n          selection.scrollIntoView(node, direction === -1);\n        }\n        return fakeCaret.show(before, node);\n      };\n      const showBlockCaretContainer = blockCaretContainer => {\n        if (blockCaretContainer.hasAttribute('data-mce-caret')) {\n          showCaretContainerBlock(blockCaretContainer);\n          selection.scrollIntoView(blockCaretContainer);\n        }\n      };\n      const registerEvents = () => {\n        editor.on('click', e => {\n          if (!dom.isEditable(e.target)) {\n            e.preventDefault();\n            editor.focus();\n          }\n        });\n        editor.on('blur NewBlock', removeElementSelection);\n        editor.on('ResizeWindow FullscreenStateChanged', fakeCaret.reposition);\n        editor.on('tap', e => {\n          const targetElm = e.target;\n          const contentEditableRoot = getContentEditableRoot(editor, targetElm);\n          if (isContentEditableFalse(contentEditableRoot)) {\n            e.preventDefault();\n            selectNode(editor, contentEditableRoot).each(setElementSelection);\n          } else if (isFakeSelectionTargetElement(targetElm)) {\n            selectNode(editor, targetElm).each(setElementSelection);\n          }\n        }, true);\n        editor.on('mousedown', e => {\n          const targetElm = e.target;\n          if (targetElm !== rootNode && targetElm.nodeName !== 'HTML' && !dom.isChildOf(targetElm, rootNode)) {\n            return;\n          }\n          if (!isXYInContentArea(editor, e.clientX, e.clientY)) {\n            return;\n          }\n          removeElementSelection();\n          hideFakeCaret();\n          const closestContentEditable = getContentEditableRoot(editor, targetElm);\n          if (isContentEditableFalse(closestContentEditable)) {\n            e.preventDefault();\n            selectNode(editor, closestContentEditable).each(setElementSelection);\n          } else {\n            closestFakeCaretCandidate(rootNode, e.clientX, e.clientY).each(caretInfo => {\n              e.preventDefault();\n              const range = showCaret(1, caretInfo.node, caretInfo.position === FakeCaretPosition.Before, false);\n              setRange(range);\n              if (isHTMLElement(closestContentEditable)) {\n                closestContentEditable.focus();\n              } else {\n                editor.getBody().focus();\n              }\n            });\n          }\n        });\n        editor.on('keypress', e => {\n          if (VK.modifierPressed(e)) {\n            return;\n          }\n          if (isContentEditableFalse(selection.getNode())) {\n            e.preventDefault();\n          }\n        });\n        editor.on('GetSelectionRange', e => {\n          let rng = e.range;\n          if (selectedElement) {\n            if (!selectedElement.parentNode) {\n              selectedElement = null;\n              return;\n            }\n            rng = rng.cloneRange();\n            rng.selectNode(selectedElement);\n            e.range = rng;\n          }\n        });\n        editor.on('SetSelectionRange', e => {\n          e.range = normalizeVoidElementSelection(e.range);\n          const rng = setElementSelection(e.range, e.forward);\n          if (rng) {\n            e.range = rng;\n          }\n        });\n        const isPasteBin = node => isElement$6(node) && node.id === 'mcepastebin';\n        editor.on('AfterSetSelectionRange', e => {\n          const rng = e.range;\n          const parent = rng.startContainer.parentElement;\n          if (!isRangeInCaretContainer(rng) && !isPasteBin(parent)) {\n            hideFakeCaret();\n          }\n          if (!isFakeSelectionElement(parent)) {\n            removeElementSelection();\n          }\n        });\n        init$2(editor);\n        setup$4(editor);\n        setup$3(editor);\n      };\n      const isWithinCaretContainer = node => isCaretContainer$2(node) || startsWithCaretContainer$1(node) || endsWithCaretContainer$1(node);\n      const isRangeInCaretContainer = rng => isWithinCaretContainer(rng.startContainer) || isWithinCaretContainer(rng.endContainer);\n      const normalizeVoidElementSelection = rng => {\n        const voidElements = editor.schema.getVoidElements();\n        const newRng = dom.createRng();\n        const startContainer = rng.startContainer;\n        const startOffset = rng.startOffset;\n        const endContainer = rng.endContainer;\n        const endOffset = rng.endOffset;\n        if (has$2(voidElements, startContainer.nodeName.toLowerCase())) {\n          if (startOffset === 0) {\n            newRng.setStartBefore(startContainer);\n          } else {\n            newRng.setStartAfter(startContainer);\n          }\n        } else {\n          newRng.setStart(startContainer, startOffset);\n        }\n        if (has$2(voidElements, endContainer.nodeName.toLowerCase())) {\n          if (endOffset === 0) {\n            newRng.setEndBefore(endContainer);\n          } else {\n            newRng.setEndAfter(endContainer);\n          }\n        } else {\n          newRng.setEnd(endContainer, endOffset);\n        }\n        return newRng;\n      };\n      const setupOffscreenSelection = (node, targetClone) => {\n        const body = SugarElement.fromDom(editor.getBody());\n        const doc = editor.getDoc();\n        const realSelectionContainer = descendant$1(body, '#' + realSelectionId).getOrThunk(() => {\n          const newContainer = SugarElement.fromHtml('<div data-mce-bogus=\"all\" class=\"mce-offscreen-selection\"></div>', doc);\n          set$3(newContainer, 'id', realSelectionId);\n          append$1(body, newContainer);\n          return newContainer;\n        });\n        const newRange = dom.createRng();\n        empty(realSelectionContainer);\n        append(realSelectionContainer, [SugarElement.fromText(nbsp, doc), SugarElement.fromDom(targetClone), SugarElement.fromText(nbsp, doc)]);\n        newRange.setStart(realSelectionContainer.dom.firstChild, 1);\n        newRange.setEnd(realSelectionContainer.dom.lastChild, 0);\n        setAll(realSelectionContainer, {\n          top: dom.getPos(node, editor.getBody()).y + 'px'\n        });\n        focus$1(realSelectionContainer);\n        const sel = selection.getSel();\n        if (sel) {\n          sel.removeAllRanges();\n          sel.addRange(newRange);\n        }\n        return newRange;\n      };\n      const selectElement = elm => {\n        const targetClone = elm.cloneNode(true);\n        const e = editor.dispatch('ObjectSelected', {\n          target: elm,\n          targetClone\n        });\n        if (e.isDefaultPrevented()) {\n          return null;\n        }\n        const range = setupOffscreenSelection(elm, e.targetClone);\n        const nodeElm = SugarElement.fromDom(elm);\n        each$e(descendants(SugarElement.fromDom(editor.getBody()), \"*[\".concat(elementSelectionAttr, \"]\")), elm => {\n          if (!eq(nodeElm, elm)) {\n            remove$a(elm, elementSelectionAttr);\n          }\n        });\n        if (!dom.getAttrib(elm, elementSelectionAttr)) {\n          elm.setAttribute(elementSelectionAttr, '1');\n        }\n        selectedElement = elm;\n        hideFakeCaret();\n        return range;\n      };\n      const setElementSelection = (range, forward) => {\n        if (!range) {\n          return null;\n        }\n        if (range.collapsed) {\n          if (!isRangeInCaretContainer(range)) {\n            const dir = forward ? 1 : -1;\n            const caretPosition = getNormalizedRangeEndPoint(dir, rootNode, range);\n            const beforeNode = caretPosition.getNode(!forward);\n            if (isNonNullable(beforeNode)) {\n              if (isFakeCaretTarget(beforeNode)) {\n                return showCaret(dir, beforeNode, forward ? !caretPosition.isAtEnd() : false, false);\n              }\n              if (isCaretContainerInline(beforeNode) && isContentEditableFalse$b(beforeNode.nextSibling)) {\n                const rng = dom.createRng();\n                rng.setStart(beforeNode, 0);\n                rng.setEnd(beforeNode, 0);\n                return rng;\n              }\n            }\n            const afterNode = caretPosition.getNode(forward);\n            if (isNonNullable(afterNode)) {\n              if (isFakeCaretTarget(afterNode)) {\n                return showCaret(dir, afterNode, forward ? false : !caretPosition.isAtEnd(), false);\n              }\n              if (isCaretContainerInline(afterNode) && isContentEditableFalse$b(afterNode.previousSibling)) {\n                const rng = dom.createRng();\n                rng.setStart(afterNode, 1);\n                rng.setEnd(afterNode, 1);\n                return rng;\n              }\n            }\n          }\n          return null;\n        }\n        let startContainer = range.startContainer;\n        let startOffset = range.startOffset;\n        const endOffset = range.endOffset;\n        if (isText$a(startContainer) && startOffset === 0 && isContentEditableFalse(startContainer.parentNode)) {\n          startContainer = startContainer.parentNode;\n          startOffset = dom.nodeIndex(startContainer);\n          startContainer = startContainer.parentNode;\n        }\n        if (!isElement$6(startContainer)) {\n          return null;\n        }\n        if (endOffset === startOffset + 1 && startContainer === range.endContainer) {\n          const node = startContainer.childNodes[startOffset];\n          if (isFakeSelectionTargetElement(node)) {\n            return selectElement(node);\n          }\n        }\n        return null;\n      };\n      const removeElementSelection = () => {\n        if (selectedElement) {\n          selectedElement.removeAttribute(elementSelectionAttr);\n        }\n        descendant$1(SugarElement.fromDom(editor.getBody()), '#' + realSelectionId).each(remove$5);\n        selectedElement = null;\n      };\n      const destroy = () => {\n        fakeCaret.destroy();\n        selectedElement = null;\n      };\n      const hideFakeCaret = () => {\n        fakeCaret.hide();\n      };\n      if (!isRtc(editor)) {\n        registerEvents();\n      }\n      return {\n        showCaret,\n        showBlockCaretContainer,\n        hideFakeCaret,\n        destroy\n      };\n    };\n\n    const getNormalizedTextOffset = (container, offset) => {\n      let normalizedOffset = offset;\n      for (let node = container.previousSibling; isText$a(node); node = node.previousSibling) {\n        normalizedOffset += node.data.length;\n      }\n      return normalizedOffset;\n    };\n    const generatePath = (dom, root, node, offset, normalized) => {\n      if (isText$a(node) && (offset < 0 || offset > node.data.length)) {\n        return [];\n      }\n      const p = normalized && isText$a(node) ? [getNormalizedTextOffset(node, offset)] : [offset];\n      let current = node;\n      while (current !== root && current.parentNode) {\n        p.push(dom.nodeIndex(current, normalized));\n        current = current.parentNode;\n      }\n      return current === root ? p.reverse() : [];\n    };\n    const generatePathRange = (dom, root, startNode, startOffset, endNode, endOffset, normalized = false) => {\n      const start = generatePath(dom, root, startNode, startOffset, normalized);\n      const end = generatePath(dom, root, endNode, endOffset, normalized);\n      return {\n        start,\n        end\n      };\n    };\n    const resolvePath = (root, path) => {\n      const nodePath = path.slice();\n      const offset = nodePath.pop();\n      if (!isNumber(offset)) {\n        return Optional.none();\n      } else {\n        const resolvedNode = foldl(nodePath, (optNode, index) => optNode.bind(node => Optional.from(node.childNodes[index])), Optional.some(root));\n        return resolvedNode.bind(node => {\n          if (isText$a(node) && (offset < 0 || offset > node.data.length)) {\n            return Optional.none();\n          } else {\n            return Optional.some({\n              node,\n              offset\n            });\n          }\n        });\n      }\n    };\n    const resolvePathRange = (root, range) => resolvePath(root, range.start).bind(({\n      node: startNode,\n      offset: startOffset\n    }) => resolvePath(root, range.end).map(({\n      node: endNode,\n      offset: endOffset\n    }) => {\n      const rng = document.createRange();\n      rng.setStart(startNode, startOffset);\n      rng.setEnd(endNode, endOffset);\n      return rng;\n    }));\n    const generatePathRangeFromRange = (dom, root, range, normalized = false) => generatePathRange(dom, root, range.startContainer, range.startOffset, range.endContainer, range.endOffset, normalized);\n\n    const cleanEmptyNodes = (dom, node, isRoot) => {\n      if (node && dom.isEmpty(node) && !isRoot(node)) {\n        const parent = node.parentNode;\n        dom.remove(node, isText$a(node.firstChild) && isWhitespaceText(node.firstChild.data));\n        cleanEmptyNodes(dom, parent, isRoot);\n      }\n    };\n    const deleteRng = (dom, rng, isRoot, clean = true) => {\n      const startParent = rng.startContainer.parentNode;\n      const endParent = rng.endContainer.parentNode;\n      rng.deleteContents();\n      if (clean && !isRoot(rng.startContainer)) {\n        if (isText$a(rng.startContainer) && rng.startContainer.data.length === 0) {\n          dom.remove(rng.startContainer);\n        }\n        if (isText$a(rng.endContainer) && rng.endContainer.data.length === 0) {\n          dom.remove(rng.endContainer);\n        }\n        cleanEmptyNodes(dom, startParent, isRoot);\n        if (startParent !== endParent) {\n          cleanEmptyNodes(dom, endParent, isRoot);\n        }\n      }\n    };\n    const getParentBlock = (editor, rng) => Optional.from(editor.dom.getParent(rng.startContainer, editor.dom.isBlock));\n    const resolveFromDynamicPatterns = (patternSet, block, beforeText) => {\n      const dynamicPatterns = patternSet.dynamicPatternsLookup({\n        text: beforeText,\n        block\n      });\n      return {\n        ...patternSet,\n        blockPatterns: getBlockPatterns(dynamicPatterns).concat(patternSet.blockPatterns),\n        inlinePatterns: getInlinePatterns(dynamicPatterns).concat(patternSet.inlinePatterns)\n      };\n    };\n    const getBeforeText = (dom, block, node, offset) => {\n      const rng = dom.createRng();\n      rng.setStart(block, 0);\n      rng.setEnd(node, offset);\n      return rng.toString();\n    };\n\n    const startsWithSingleSpace = s => /^\\s[^\\s]/.test(s);\n    const stripPattern = (dom, block, pattern) => {\n      const firstTextNode = textAfter(block, 0, block);\n      firstTextNode.each(spot => {\n        const node = spot.container;\n        scanRight(node, pattern.start.length, block).each(end => {\n          const rng = dom.createRng();\n          rng.setStart(node, 0);\n          rng.setEnd(end.container, end.offset);\n          deleteRng(dom, rng, e => e === block);\n        });\n        const text = SugarElement.fromDom(node);\n        const textContent = get$3(text);\n        if (startsWithSingleSpace(textContent)) {\n          set(text, textContent.slice(1));\n        }\n      });\n    };\n    const applyPattern$1 = (editor, match) => {\n      const dom = editor.dom;\n      const pattern = match.pattern;\n      const rng = resolvePathRange(dom.getRoot(), match.range).getOrDie('Unable to resolve path range');\n      const isBlockFormatName = (name, formatter) => {\n        const formatSet = formatter.get(name);\n        return isArray$1(formatSet) && head(formatSet).exists(format => has$2(format, 'block'));\n      };\n      getParentBlock(editor, rng).each(block => {\n        if (pattern.type === 'block-format') {\n          if (isBlockFormatName(pattern.format, editor.formatter)) {\n            editor.undoManager.transact(() => {\n              stripPattern(editor.dom, block, pattern);\n              editor.formatter.apply(pattern.format);\n            });\n          }\n        } else if (pattern.type === 'block-command') {\n          editor.undoManager.transact(() => {\n            stripPattern(editor.dom, block, pattern);\n            editor.execCommand(pattern.cmd, false, pattern.value);\n          });\n        }\n      });\n      return true;\n    };\n    const sortPatterns$1 = patterns => sort(patterns, (a, b) => b.start.length - a.start.length);\n    const findPattern$1 = (patterns, text) => {\n      const sortedPatterns = sortPatterns$1(patterns);\n      const nuText = text.replace(nbsp, ' ');\n      return find$2(sortedPatterns, pattern => text.indexOf(pattern.start) === 0 || nuText.indexOf(pattern.start) === 0);\n    };\n    const findPatterns$1 = (editor, block, patternSet, normalizedMatches) => {\n      var _a;\n      const dom = editor.dom;\n      const forcedRootBlock = getForcedRootBlock(editor);\n      if (!dom.is(block, forcedRootBlock)) {\n        return [];\n      }\n      const blockText = (_a = block.textContent) !== null && _a !== void 0 ? _a : '';\n      return findPattern$1(patternSet.blockPatterns, blockText).map(pattern => {\n        if (Tools.trim(blockText).length === pattern.start.length) {\n          return [];\n        }\n        return [{\n          pattern,\n          range: generatePathRange(dom, dom.getRoot(), block, 0, block, 0, normalizedMatches)\n        }];\n      }).getOr([]);\n    };\n    const applyMatches$1 = (editor, matches) => {\n      if (matches.length === 0) {\n        return;\n      }\n      const bookmark = editor.selection.getBookmark();\n      each$e(matches, match => applyPattern$1(editor, match));\n      editor.selection.moveToBookmark(bookmark);\n    };\n\n    const newMarker = (dom, id) => dom.create('span', {\n      'data-mce-type': 'bookmark',\n      id\n    });\n    const rangeFromMarker = (dom, marker) => {\n      const rng = dom.createRng();\n      rng.setStartAfter(marker.start);\n      rng.setEndBefore(marker.end);\n      return rng;\n    };\n    const createMarker = (dom, markerPrefix, pathRange) => {\n      const rng = resolvePathRange(dom.getRoot(), pathRange).getOrDie('Unable to resolve path range');\n      const startNode = rng.startContainer;\n      const endNode = rng.endContainer;\n      const textEnd = rng.endOffset === 0 ? endNode : endNode.splitText(rng.endOffset);\n      const textStart = rng.startOffset === 0 ? startNode : startNode.splitText(rng.startOffset);\n      const startParentNode = textStart.parentNode;\n      const endParentNode = textEnd.parentNode;\n      return {\n        prefix: markerPrefix,\n        end: endParentNode.insertBefore(newMarker(dom, markerPrefix + '-end'), textEnd),\n        start: startParentNode.insertBefore(newMarker(dom, markerPrefix + '-start'), textStart)\n      };\n    };\n    const removeMarker = (dom, marker, isRoot) => {\n      cleanEmptyNodes(dom, dom.get(marker.prefix + '-end'), isRoot);\n      cleanEmptyNodes(dom, dom.get(marker.prefix + '-start'), isRoot);\n    };\n\n    const isReplacementPattern = pattern => pattern.start.length === 0;\n    const matchesPattern = patternContent => (element, offset) => {\n      const text = element.data;\n      const searchText = text.substring(0, offset);\n      const startEndIndex = searchText.lastIndexOf(patternContent.charAt(patternContent.length - 1));\n      const startIndex = searchText.lastIndexOf(patternContent);\n      if (startIndex !== -1) {\n        return startIndex + patternContent.length;\n      } else if (startEndIndex !== -1) {\n        return startEndIndex + 1;\n      } else {\n        return -1;\n      }\n    };\n    const findPatternStartFromSpot = (dom, pattern, block, spot) => {\n      const startPattern = pattern.start;\n      const startSpot = repeatLeft(dom, spot.container, spot.offset, matchesPattern(startPattern), block);\n      return startSpot.bind(spot => {\n        var _a, _b;\n        const startPatternIndex = (_b = (_a = block.textContent) === null || _a === void 0 ? void 0 : _a.indexOf(startPattern)) !== null && _b !== void 0 ? _b : -1;\n        const isCompleteMatch = startPatternIndex !== -1 && spot.offset >= startPatternIndex + startPattern.length;\n        if (isCompleteMatch) {\n          const rng = dom.createRng();\n          rng.setStart(spot.container, spot.offset - startPattern.length);\n          rng.setEnd(spot.container, spot.offset);\n          return Optional.some(rng);\n        } else {\n          const offset = spot.offset - startPattern.length;\n          return scanLeft(spot.container, offset, block).map(nextSpot => {\n            const rng = dom.createRng();\n            rng.setStart(nextSpot.container, nextSpot.offset);\n            rng.setEnd(spot.container, spot.offset);\n            return rng;\n          }).filter(rng => rng.toString() === startPattern).orThunk(() => findPatternStartFromSpot(dom, pattern, block, point(spot.container, 0)));\n        }\n      });\n    };\n    const findPatternStart = (dom, pattern, node, offset, block, requireGap = false) => {\n      if (pattern.start.length === 0 && !requireGap) {\n        const rng = dom.createRng();\n        rng.setStart(node, offset);\n        rng.setEnd(node, offset);\n        return Optional.some(rng);\n      }\n      return textBefore(node, offset, block).bind(spot => {\n        const start = findPatternStartFromSpot(dom, pattern, block, spot);\n        return start.bind(startRange => {\n          var _a;\n          if (requireGap) {\n            if (startRange.endContainer === spot.container && startRange.endOffset === spot.offset) {\n              return Optional.none();\n            } else if (spot.offset === 0 && ((_a = startRange.endContainer.textContent) === null || _a === void 0 ? void 0 : _a.length) === startRange.endOffset) {\n              return Optional.none();\n            }\n          }\n          return Optional.some(startRange);\n        });\n      });\n    };\n    const findPattern = (editor, block, details, normalizedMatches) => {\n      const dom = editor.dom;\n      const root = dom.getRoot();\n      const pattern = details.pattern;\n      const endNode = details.position.container;\n      const endOffset = details.position.offset;\n      return scanLeft(endNode, endOffset - details.pattern.end.length, block).bind(spot => {\n        const endPathRng = generatePathRange(dom, root, spot.container, spot.offset, endNode, endOffset, normalizedMatches);\n        if (isReplacementPattern(pattern)) {\n          return Optional.some({\n            matches: [{\n              pattern,\n              startRng: endPathRng,\n              endRng: endPathRng\n            }],\n            position: spot\n          });\n        } else {\n          const resultsOpt = findPatternsRec(editor, details.remainingPatterns, spot.container, spot.offset, block, normalizedMatches);\n          const results = resultsOpt.getOr({\n            matches: [],\n            position: spot\n          });\n          const pos = results.position;\n          const start = findPatternStart(dom, pattern, pos.container, pos.offset, block, resultsOpt.isNone());\n          return start.map(startRng => {\n            const startPathRng = generatePathRangeFromRange(dom, root, startRng, normalizedMatches);\n            return {\n              matches: results.matches.concat([{\n                pattern,\n                startRng: startPathRng,\n                endRng: endPathRng\n              }]),\n              position: point(startRng.startContainer, startRng.startOffset)\n            };\n          });\n        }\n      });\n    };\n    const findPatternsRec = (editor, patterns, node, offset, block, normalizedMatches) => {\n      const dom = editor.dom;\n      return textBefore(node, offset, dom.getRoot()).bind(endSpot => {\n        const text = getBeforeText(dom, block, node, offset);\n        for (let i = 0; i < patterns.length; i++) {\n          const pattern = patterns[i];\n          if (!endsWith(text, pattern.end)) {\n            continue;\n          }\n          const patternsWithoutCurrent = patterns.slice();\n          patternsWithoutCurrent.splice(i, 1);\n          const result = findPattern(editor, block, {\n            pattern,\n            remainingPatterns: patternsWithoutCurrent,\n            position: endSpot\n          }, normalizedMatches);\n          if (result.isNone() && offset > 0) {\n            return findPatternsRec(editor, patterns, node, offset - 1, block, normalizedMatches);\n          }\n          if (result.isSome()) {\n            return result;\n          }\n        }\n        return Optional.none();\n      });\n    };\n    const applyPattern = (editor, pattern, patternRange) => {\n      editor.selection.setRng(patternRange);\n      if (pattern.type === 'inline-format') {\n        each$e(pattern.format, format => {\n          editor.formatter.apply(format);\n        });\n      } else {\n        editor.execCommand(pattern.cmd, false, pattern.value);\n      }\n    };\n    const applyReplacementPattern = (editor, pattern, marker, isRoot) => {\n      const markerRange = rangeFromMarker(editor.dom, marker);\n      deleteRng(editor.dom, markerRange, isRoot);\n      applyPattern(editor, pattern, markerRange);\n    };\n    const applyPatternWithContent = (editor, pattern, startMarker, endMarker, isRoot) => {\n      const dom = editor.dom;\n      const markerEndRange = rangeFromMarker(dom, endMarker);\n      const markerStartRange = rangeFromMarker(dom, startMarker);\n      deleteRng(dom, markerStartRange, isRoot);\n      deleteRng(dom, markerEndRange, isRoot);\n      const patternMarker = {\n        prefix: startMarker.prefix,\n        start: startMarker.end,\n        end: endMarker.start\n      };\n      const patternRange = rangeFromMarker(dom, patternMarker);\n      applyPattern(editor, pattern, patternRange);\n    };\n    const addMarkers = (dom, matches) => {\n      const markerPrefix = generate$1('mce_textpattern');\n      const matchesWithEnds = foldr(matches, (acc, match) => {\n        const endMarker = createMarker(dom, markerPrefix + \"_end\".concat(acc.length), match.endRng);\n        return acc.concat([{\n          ...match,\n          endMarker\n        }]);\n      }, []);\n      return foldr(matchesWithEnds, (acc, match) => {\n        const idx = matchesWithEnds.length - acc.length - 1;\n        const startMarker = isReplacementPattern(match.pattern) ? match.endMarker : createMarker(dom, markerPrefix + \"_start\".concat(idx), match.startRng);\n        return acc.concat([{\n          ...match,\n          startMarker\n        }]);\n      }, []);\n    };\n    const sortPatterns = patterns => sort(patterns, (a, b) => b.end.length - a.end.length);\n    const getBestMatches = (matches, matchesWithSortedPatterns) => {\n      const hasSameMatches = forall(matches, match => exists(matchesWithSortedPatterns, sortedMatch => match.pattern.start === sortedMatch.pattern.start && match.pattern.end === sortedMatch.pattern.end));\n      if (matches.length === matchesWithSortedPatterns.length) {\n        if (hasSameMatches) {\n          return matches;\n        } else {\n          return matchesWithSortedPatterns;\n        }\n      }\n      return matches.length > matchesWithSortedPatterns.length ? matches : matchesWithSortedPatterns;\n    };\n    const findPatterns = (editor, block, node, offset, patternSet, normalizedMatches) => {\n      const matches = findPatternsRec(editor, patternSet.inlinePatterns, node, offset, block, normalizedMatches).fold(() => [], result => result.matches);\n      const matchesWithSortedPatterns = findPatternsRec(editor, sortPatterns(patternSet.inlinePatterns), node, offset, block, normalizedMatches).fold(() => [], result => result.matches);\n      return getBestMatches(matches, matchesWithSortedPatterns);\n    };\n    const applyMatches = (editor, matches) => {\n      if (matches.length === 0) {\n        return;\n      }\n      const dom = editor.dom;\n      const bookmark = editor.selection.getBookmark();\n      const matchesWithMarkers = addMarkers(dom, matches);\n      each$e(matchesWithMarkers, match => {\n        const block = dom.getParent(match.startMarker.start, dom.isBlock);\n        const isRoot = node => node === block;\n        if (isReplacementPattern(match.pattern)) {\n          applyReplacementPattern(editor, match.pattern, match.endMarker, isRoot);\n        } else {\n          applyPatternWithContent(editor, match.pattern, match.startMarker, match.endMarker, isRoot);\n        }\n        removeMarker(dom, match.endMarker, isRoot);\n        removeMarker(dom, match.startMarker, isRoot);\n      });\n      editor.selection.moveToBookmark(bookmark);\n    };\n\n    const handleEnter = (editor, patternSet) => {\n      const rng = editor.selection.getRng();\n      return getParentBlock(editor, rng).map(block => {\n        var _a;\n        const offset = Math.max(0, rng.startOffset);\n        const dynamicPatternSet = resolveFromDynamicPatterns(patternSet, block, (_a = block.textContent) !== null && _a !== void 0 ? _a : '');\n        const inlineMatches = findPatterns(editor, block, rng.startContainer, offset, dynamicPatternSet, true);\n        const blockMatches = findPatterns$1(editor, block, dynamicPatternSet, true);\n        if (blockMatches.length > 0 || inlineMatches.length > 0) {\n          editor.undoManager.add();\n          editor.undoManager.extra(() => {\n            editor.execCommand('mceInsertNewLine');\n          }, () => {\n            insert$5(editor);\n            applyMatches(editor, inlineMatches);\n            applyMatches$1(editor, blockMatches);\n            const range = editor.selection.getRng();\n            const spot = textBefore(range.startContainer, range.startOffset, editor.dom.getRoot());\n            editor.execCommand('mceInsertNewLine');\n            spot.each(s => {\n              const node = s.container;\n              if (node.data.charAt(s.offset - 1) === zeroWidth) {\n                node.deleteData(s.offset - 1, 1);\n                cleanEmptyNodes(editor.dom, node.parentNode, e => e === editor.dom.getRoot());\n              }\n            });\n          });\n          return true;\n        }\n        return false;\n      }).getOr(false);\n    };\n    const handleInlineKey = (editor, patternSet) => {\n      const rng = editor.selection.getRng();\n      getParentBlock(editor, rng).map(block => {\n        const offset = Math.max(0, rng.startOffset - 1);\n        const beforeText = getBeforeText(editor.dom, block, rng.startContainer, offset);\n        const dynamicPatternSet = resolveFromDynamicPatterns(patternSet, block, beforeText);\n        const inlineMatches = findPatterns(editor, block, rng.startContainer, offset, dynamicPatternSet, false);\n        if (inlineMatches.length > 0) {\n          editor.undoManager.transact(() => {\n            applyMatches(editor, inlineMatches);\n          });\n        }\n      });\n    };\n    const checkKeyEvent = (codes, event, predicate) => {\n      for (let i = 0; i < codes.length; i++) {\n        if (predicate(codes[i], event)) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const checkKeyCode = (codes, event) => checkKeyEvent(codes, event, (code, event) => {\n      return code === event.keyCode && !VK.modifierPressed(event);\n    });\n    const checkCharCode = (chars, event) => checkKeyEvent(chars, event, (chr, event) => {\n      return chr.charCodeAt(0) === event.charCode;\n    });\n\n    const setup$2 = editor => {\n      const charCodes = [',', '.', ';', ':', '!', '?'];\n      const keyCodes = [32];\n      const getPatternSet = () => createPatternSet(getTextPatterns(editor), getTextPatternsLookup(editor));\n      const hasDynamicPatterns = () => hasTextPatternsLookup(editor);\n      editor.on('keydown', e => {\n        if (e.keyCode === 13 && !VK.modifierPressed(e) && editor.selection.isCollapsed()) {\n          const patternSet = getPatternSet();\n          const hasPatterns = patternSet.inlinePatterns.length > 0 || patternSet.blockPatterns.length > 0 || hasDynamicPatterns();\n          if (hasPatterns && handleEnter(editor, patternSet)) {\n            e.preventDefault();\n          }\n        }\n      }, true);\n      const handleInlineTrigger = () => {\n        if (editor.selection.isCollapsed()) {\n          const patternSet = getPatternSet();\n          const hasPatterns = patternSet.inlinePatterns.length > 0 || hasDynamicPatterns();\n          if (hasPatterns) {\n            handleInlineKey(editor, patternSet);\n          }\n        }\n      };\n      editor.on('keyup', e => {\n        if (checkKeyCode(keyCodes, e)) {\n          handleInlineTrigger();\n        }\n      });\n      editor.on('keypress', e => {\n        if (checkCharCode(charCodes, e)) {\n          Delay.setEditorTimeout(editor, handleInlineTrigger);\n        }\n      });\n    };\n\n    const setup$1 = editor => {\n      setup$2(editor);\n    };\n\n    const Quirks = editor => {\n      const each = Tools.each;\n      const BACKSPACE = VK.BACKSPACE,\n        DELETE = VK.DELETE,\n        dom = editor.dom,\n        selection = editor.selection,\n        parser = editor.parser;\n      const browser = Env.browser;\n      const isGecko = browser.isFirefox();\n      const isWebKit = browser.isChromium() || browser.isSafari();\n      const isiOS = Env.deviceType.isiPhone() || Env.deviceType.isiPad();\n      const isMac = Env.os.isMacOS() || Env.os.isiOS();\n      const setEditorCommandState = (cmd, state) => {\n        try {\n          editor.getDoc().execCommand(cmd, false, String(state));\n        } catch (ex) {}\n      };\n      const isDefaultPrevented = e => {\n        return e.isDefaultPrevented();\n      };\n      const emptyEditorWhenDeleting = () => {\n        const serializeRng = rng => {\n          const body = dom.create('body');\n          const contents = rng.cloneContents();\n          body.appendChild(contents);\n          return selection.serializer.serialize(body, {\n            format: 'html'\n          });\n        };\n        const allContentsSelected = rng => {\n          const selection = serializeRng(rng);\n          const allRng = dom.createRng();\n          allRng.selectNode(editor.getBody());\n          const allSelection = serializeRng(allRng);\n          return selection === allSelection;\n        };\n        editor.on('keydown', e => {\n          const keyCode = e.keyCode;\n          if (!isDefaultPrevented(e) && (keyCode === DELETE || keyCode === BACKSPACE) && editor.selection.isEditable()) {\n            const isCollapsed = editor.selection.isCollapsed();\n            const body = editor.getBody();\n            if (isCollapsed && !isEmpty$2(SugarElement.fromDom(body))) {\n              return;\n            }\n            if (!isCollapsed && !allContentsSelected(editor.selection.getRng())) {\n              return;\n            }\n            e.preventDefault();\n            editor.setContent('');\n            if (body.firstChild && dom.isBlock(body.firstChild)) {\n              editor.selection.setCursorLocation(body.firstChild, 0);\n            } else {\n              editor.selection.setCursorLocation(body, 0);\n            }\n            editor.nodeChanged();\n          }\n        });\n      };\n      const selectAll = () => {\n        editor.shortcuts.add('meta+a', null, 'SelectAll');\n      };\n      const documentElementEditingFocus = () => {\n        if (!editor.inline) {\n          dom.bind(editor.getDoc(), 'mousedown mouseup', e => {\n            let rng;\n            if (e.target === editor.getDoc().documentElement) {\n              rng = selection.getRng();\n              editor.getBody().focus();\n              if (e.type === 'mousedown') {\n                if (isCaretContainer$2(rng.startContainer)) {\n                  return;\n                }\n                selection.placeCaretAt(e.clientX, e.clientY);\n              } else {\n                selection.setRng(rng);\n              }\n            }\n          });\n        }\n      };\n      const removeHrOnBackspace = () => {\n        editor.on('keydown', e => {\n          if (!isDefaultPrevented(e) && e.keyCode === BACKSPACE) {\n            if (!editor.getBody().getElementsByTagName('hr').length) {\n              return;\n            }\n            if (selection.isCollapsed() && selection.getRng().startOffset === 0) {\n              const node = selection.getNode();\n              const previousSibling = node.previousSibling;\n              if (node.nodeName === 'HR') {\n                dom.remove(node);\n                e.preventDefault();\n                return;\n              }\n              if (previousSibling && previousSibling.nodeName && previousSibling.nodeName.toLowerCase() === 'hr') {\n                dom.remove(previousSibling);\n                e.preventDefault();\n              }\n            }\n          }\n        });\n      };\n      const focusBody = () => {\n        if (!Range.prototype.getClientRects) {\n          editor.on('mousedown', e => {\n            if (!isDefaultPrevented(e) && e.target.nodeName === 'HTML') {\n              const body = editor.getBody();\n              body.blur();\n              Delay.setEditorTimeout(editor, () => {\n                body.focus();\n              });\n            }\n          });\n        }\n      };\n      const selectControlElements = () => {\n        const visualAidsAnchorClass = getVisualAidsAnchorClass(editor);\n        editor.on('click', e => {\n          const target = e.target;\n          if (/^(IMG|HR)$/.test(target.nodeName) && dom.isEditable(target)) {\n            e.preventDefault();\n            editor.selection.select(target);\n            editor.nodeChanged();\n          }\n          if (target.nodeName === 'A' && dom.hasClass(target, visualAidsAnchorClass) && target.childNodes.length === 0 && dom.isEditable(target.parentNode)) {\n            e.preventDefault();\n            selection.select(target);\n          }\n        });\n      };\n      const removeStylesWhenDeletingAcrossBlockElements = () => {\n        const getAttributeApplyFunction = () => {\n          const template = dom.getAttribs(selection.getStart().cloneNode(false));\n          return () => {\n            const target = selection.getStart();\n            if (target !== editor.getBody()) {\n              dom.setAttrib(target, 'style', null);\n              each(template, attr => {\n                target.setAttributeNode(attr.cloneNode(true));\n              });\n            }\n          };\n        };\n        const isSelectionAcrossElements = () => {\n          return !selection.isCollapsed() && dom.getParent(selection.getStart(), dom.isBlock) !== dom.getParent(selection.getEnd(), dom.isBlock);\n        };\n        editor.on('keypress', e => {\n          let applyAttributes;\n          if (!isDefaultPrevented(e) && (e.keyCode === 8 || e.keyCode === 46) && isSelectionAcrossElements()) {\n            applyAttributes = getAttributeApplyFunction();\n            editor.getDoc().execCommand('delete', false);\n            applyAttributes();\n            e.preventDefault();\n            return false;\n          } else {\n            return true;\n          }\n        });\n        dom.bind(editor.getDoc(), 'cut', e => {\n          if (!isDefaultPrevented(e) && isSelectionAcrossElements()) {\n            const applyAttributes = getAttributeApplyFunction();\n            Delay.setEditorTimeout(editor, () => {\n              applyAttributes();\n            });\n          }\n        });\n      };\n      const disableBackspaceIntoATable = () => {\n        editor.on('keydown', e => {\n          if (!isDefaultPrevented(e) && e.keyCode === BACKSPACE) {\n            if (selection.isCollapsed() && selection.getRng().startOffset === 0) {\n              const previousSibling = selection.getNode().previousSibling;\n              if (previousSibling && previousSibling.nodeName && previousSibling.nodeName.toLowerCase() === 'table') {\n                e.preventDefault();\n                return false;\n              }\n            }\n          }\n          return true;\n        });\n      };\n      const removeBlockQuoteOnBackSpace = () => {\n        editor.on('keydown', e => {\n          if (isDefaultPrevented(e) || e.keyCode !== VK.BACKSPACE) {\n            return;\n          }\n          let rng = selection.getRng();\n          const container = rng.startContainer;\n          const offset = rng.startOffset;\n          const root = dom.getRoot();\n          let parent = container;\n          if (!rng.collapsed || offset !== 0) {\n            return;\n          }\n          while (parent.parentNode && parent.parentNode.firstChild === parent && parent.parentNode !== root) {\n            parent = parent.parentNode;\n          }\n          if (parent.nodeName === 'BLOCKQUOTE') {\n            editor.formatter.toggle('blockquote', undefined, parent);\n            rng = dom.createRng();\n            rng.setStart(container, 0);\n            rng.setEnd(container, 0);\n            selection.setRng(rng);\n          }\n        });\n      };\n      const setGeckoEditingOptions = () => {\n        const setOpts = () => {\n          setEditorCommandState('StyleWithCSS', false);\n          setEditorCommandState('enableInlineTableEditing', false);\n          if (!getObjectResizing(editor)) {\n            setEditorCommandState('enableObjectResizing', false);\n          }\n        };\n        if (!isReadOnly$1(editor)) {\n          editor.on('BeforeExecCommand mousedown', setOpts);\n        }\n      };\n      const addBrAfterLastLinks = () => {\n        const fixLinks = () => {\n          each(dom.select('a:not([data-mce-block])'), node => {\n            var _a;\n            let parentNode = node.parentNode;\n            const root = dom.getRoot();\n            if ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.lastChild) === node) {\n              while (parentNode && !dom.isBlock(parentNode)) {\n                if (((_a = parentNode.parentNode) === null || _a === void 0 ? void 0 : _a.lastChild) !== parentNode || parentNode === root) {\n                  return;\n                }\n                parentNode = parentNode.parentNode;\n              }\n              dom.add(parentNode, 'br', {\n                'data-mce-bogus': 1\n              });\n            }\n          });\n        };\n        editor.on('SetContent ExecCommand', e => {\n          if (e.type === 'setcontent' || e.command === 'mceInsertLink') {\n            fixLinks();\n          }\n        });\n      };\n      const setDefaultBlockType = () => {\n        editor.on('init', () => {\n          setEditorCommandState('DefaultParagraphSeparator', getForcedRootBlock(editor));\n        });\n      };\n      const isAllContentSelected = editor => {\n        const body = editor.getBody();\n        const rng = editor.selection.getRng();\n        return rng.startContainer === rng.endContainer && rng.startContainer === body && rng.startOffset === 0 && rng.endOffset === body.childNodes.length;\n      };\n      const normalizeSelection = () => {\n        editor.on('keyup focusin mouseup', e => {\n          if (!VK.modifierPressed(e) && !isAllContentSelected(editor)) {\n            selection.normalize();\n          }\n        }, true);\n      };\n      const showBrokenImageIcon = () => {\n        editor.contentStyles.push('img:-moz-broken {' + '-moz-force-broken-image-icon:1;' + 'min-width:24px;' + 'min-height:24px' + '}');\n      };\n      const restoreFocusOnKeyDown = () => {\n        if (!editor.inline) {\n          editor.on('keydown', () => {\n            if (document.activeElement === document.body) {\n              editor.getWin().focus();\n            }\n          });\n        }\n      };\n      const bodyHeight = () => {\n        if (!editor.inline) {\n          editor.contentStyles.push('body {min-height: 150px}');\n          editor.on('click', e => {\n            let rng;\n            if (e.target.nodeName === 'HTML') {\n              rng = editor.selection.getRng();\n              editor.getBody().focus();\n              editor.selection.setRng(rng);\n              editor.selection.normalize();\n              editor.nodeChanged();\n            }\n          });\n        }\n      };\n      const blockCmdArrowNavigation = () => {\n        if (isMac) {\n          editor.on('keydown', e => {\n            if (VK.metaKeyPressed(e) && !e.shiftKey && (e.keyCode === 37 || e.keyCode === 39)) {\n              e.preventDefault();\n              const selection = editor.selection.getSel();\n              selection.modify('move', e.keyCode === 37 ? 'backward' : 'forward', 'lineboundary');\n            }\n          });\n        }\n      };\n      const tapLinksAndImages = () => {\n        editor.on('click', e => {\n          let elm = e.target;\n          do {\n            if (elm.tagName === 'A') {\n              e.preventDefault();\n              return;\n            }\n          } while (elm = elm.parentNode);\n        });\n        editor.contentStyles.push('.mce-content-body {-webkit-touch-callout: none}');\n      };\n      const blockFormSubmitInsideEditor = () => {\n        editor.on('init', () => {\n          editor.dom.bind(editor.getBody(), 'submit', e => {\n            e.preventDefault();\n          });\n        });\n      };\n      const removeAppleInterchangeBrs = () => {\n        parser.addNodeFilter('br', nodes => {\n          let i = nodes.length;\n          while (i--) {\n            if (nodes[i].attr('class') === 'Apple-interchange-newline') {\n              nodes[i].remove();\n            }\n          }\n        });\n      };\n      const refreshContentEditable = noop;\n      const isHidden = () => {\n        if (!isGecko || editor.removed) {\n          return false;\n        }\n        const sel = editor.selection.getSel();\n        return !sel || !sel.rangeCount || sel.rangeCount === 0;\n      };\n      const setupRtc = () => {\n        if (isWebKit) {\n          documentElementEditingFocus();\n          selectControlElements();\n          blockFormSubmitInsideEditor();\n          selectAll();\n          if (isiOS) {\n            restoreFocusOnKeyDown();\n            bodyHeight();\n            tapLinksAndImages();\n          }\n        }\n        if (isGecko) {\n          focusBody();\n          setGeckoEditingOptions();\n          showBrokenImageIcon();\n          blockCmdArrowNavigation();\n        }\n      };\n      const dropDragEndEvent = () => {\n        editor.on('drop', event => {\n          var _a;\n          const data = (_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.getData('text/html');\n          if (isString(data) && /^<img[^>]*>$/.test(data)) {\n            editor.dispatch('dragend', new window.DragEvent('dragend', event));\n          }\n        });\n      };\n      const setup = () => {\n        removeBlockQuoteOnBackSpace();\n        emptyEditorWhenDeleting();\n        if (!Env.windowsPhone) {\n          normalizeSelection();\n        }\n        if (isWebKit) {\n          documentElementEditingFocus();\n          selectControlElements();\n          setDefaultBlockType();\n          blockFormSubmitInsideEditor();\n          disableBackspaceIntoATable();\n          removeAppleInterchangeBrs();\n          if (isiOS) {\n            restoreFocusOnKeyDown();\n            bodyHeight();\n            tapLinksAndImages();\n          } else {\n            selectAll();\n          }\n        }\n        if (isGecko) {\n          removeHrOnBackspace();\n          focusBody();\n          removeStylesWhenDeletingAcrossBlockElements();\n          setGeckoEditingOptions();\n          addBrAfterLastLinks();\n          showBrokenImageIcon();\n          blockCmdArrowNavigation();\n          disableBackspaceIntoATable();\n          dropDragEndEvent();\n        }\n      };\n      if (isRtc(editor)) {\n        setupRtc();\n      } else {\n        setup();\n      }\n      return {\n        refreshContentEditable,\n        isHidden\n      };\n    };\n\n    const DOM$6 = DOMUtils.DOM;\n    const appendStyle = (editor, text) => {\n      const body = SugarElement.fromDom(editor.getBody());\n      const container = getStyleContainer(getRootNode(body));\n      const style = SugarElement.fromTag('style');\n      set$3(style, 'type', 'text/css');\n      append$1(style, SugarElement.fromText(text));\n      append$1(container, style);\n      editor.on('remove', () => {\n        remove$5(style);\n      });\n    };\n    const getRootName = editor => editor.inline ? editor.getElement().nodeName.toLowerCase() : undefined;\n    const removeUndefined = obj => filter$4(obj, v => isUndefined(v) === false);\n    const mkParserSettings = editor => {\n      const getOption = editor.options.get;\n      const blobCache = editor.editorUpload.blobCache;\n      return removeUndefined({\n        allow_conditional_comments: getOption('allow_conditional_comments'),\n        allow_html_data_urls: getOption('allow_html_data_urls'),\n        allow_svg_data_urls: getOption('allow_svg_data_urls'),\n        allow_html_in_named_anchor: getOption('allow_html_in_named_anchor'),\n        allow_script_urls: getOption('allow_script_urls'),\n        allow_unsafe_link_target: getOption('allow_unsafe_link_target'),\n        convert_unsafe_embeds: getOption('convert_unsafe_embeds'),\n        convert_fonts_to_spans: getOption('convert_fonts_to_spans'),\n        fix_list_elements: getOption('fix_list_elements'),\n        font_size_legacy_values: getOption('font_size_legacy_values'),\n        forced_root_block: getOption('forced_root_block'),\n        forced_root_block_attrs: getOption('forced_root_block_attrs'),\n        preserve_cdata: getOption('preserve_cdata'),\n        inline_styles: getOption('inline_styles'),\n        root_name: getRootName(editor),\n        sandbox_iframes: getOption('sandbox_iframes'),\n        sanitize: getOption('xss_sanitization'),\n        validate: true,\n        blob_cache: blobCache,\n        document: editor.getDoc()\n      });\n    };\n    const mkSchemaSettings = editor => {\n      const getOption = editor.options.get;\n      return removeUndefined({\n        custom_elements: getOption('custom_elements'),\n        extended_valid_elements: getOption('extended_valid_elements'),\n        invalid_elements: getOption('invalid_elements'),\n        invalid_styles: getOption('invalid_styles'),\n        schema: getOption('schema'),\n        valid_children: getOption('valid_children'),\n        valid_classes: getOption('valid_classes'),\n        valid_elements: getOption('valid_elements'),\n        valid_styles: getOption('valid_styles'),\n        verify_html: getOption('verify_html'),\n        padd_empty_block_inline_children: getOption('format_empty_lines')\n      });\n    };\n    const mkSerializerSettings = editor => {\n      const getOption = editor.options.get;\n      return {\n        ...mkParserSettings(editor),\n        ...mkSchemaSettings(editor),\n        ...removeUndefined({\n          remove_trailing_brs: getOption('remove_trailing_brs'),\n          pad_empty_with_br: getOption('pad_empty_with_br'),\n          url_converter: getOption('url_converter'),\n          url_converter_scope: getOption('url_converter_scope'),\n          element_format: getOption('element_format'),\n          entities: getOption('entities'),\n          entity_encoding: getOption('entity_encoding'),\n          indent: getOption('indent'),\n          indent_after: getOption('indent_after'),\n          indent_before: getOption('indent_before')\n        })\n      };\n    };\n    const createParser = editor => {\n      const parser = DomParser(mkParserSettings(editor), editor.schema);\n      parser.addAttributeFilter('src,href,style,tabindex', (nodes, name) => {\n        const dom = editor.dom;\n        const internalName = 'data-mce-' + name;\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          let value = node.attr(name);\n          if (value && !node.attr(internalName)) {\n            if (value.indexOf('data:') === 0 || value.indexOf('blob:') === 0) {\n              continue;\n            }\n            if (name === 'style') {\n              value = dom.serializeStyle(dom.parseStyle(value), node.name);\n              if (!value.length) {\n                value = null;\n              }\n              node.attr(internalName, value);\n              node.attr(name, value);\n            } else if (name === 'tabindex') {\n              node.attr(internalName, value);\n              node.attr(name, null);\n            } else {\n              node.attr(internalName, editor.convertURL(value, name, node.name));\n            }\n          }\n        }\n      });\n      parser.addNodeFilter('script', nodes => {\n        let i = nodes.length;\n        while (i--) {\n          const node = nodes[i];\n          const type = node.attr('type') || 'no/type';\n          if (type.indexOf('mce-') !== 0) {\n            node.attr('type', 'mce-' + type);\n          }\n        }\n      });\n      if (shouldPreserveCData(editor)) {\n        parser.addNodeFilter('#cdata', nodes => {\n          var _a;\n          let i = nodes.length;\n          while (i--) {\n            const node = nodes[i];\n            node.type = 8;\n            node.name = '#comment';\n            node.value = '[CDATA[' + editor.dom.encode((_a = node.value) !== null && _a !== void 0 ? _a : '') + ']]';\n          }\n        });\n      }\n      parser.addNodeFilter('p,h1,h2,h3,h4,h5,h6,div', nodes => {\n        let i = nodes.length;\n        const nonEmptyElements = editor.schema.getNonEmptyElements();\n        while (i--) {\n          const node = nodes[i];\n          if (node.isEmpty(nonEmptyElements) && node.getAll('br').length === 0) {\n            node.append(new AstNode('br', 1));\n          }\n        }\n      });\n      return parser;\n    };\n    const autoFocus = editor => {\n      const autoFocus = getAutoFocus(editor);\n      if (autoFocus) {\n        Delay.setEditorTimeout(editor, () => {\n          let focusEditor;\n          if (autoFocus === true) {\n            focusEditor = editor;\n          } else {\n            focusEditor = editor.editorManager.get(autoFocus);\n          }\n          if (focusEditor && !focusEditor.destroyed) {\n            focusEditor.focus();\n            focusEditor.selection.scrollIntoView();\n          }\n        }, 100);\n      }\n    };\n    const moveSelectionToFirstCaretPosition = editor => {\n      const root = editor.dom.getRoot();\n      if (!editor.inline && (!hasAnyRanges(editor) || editor.selection.getStart(true) === root)) {\n        firstPositionIn(root).each(pos => {\n          const node = pos.getNode();\n          const caretPos = isTable$2(node) ? firstPositionIn(node).getOr(pos) : pos;\n          editor.selection.setRng(caretPos.toRange());\n        });\n      }\n    };\n    const initEditor = editor => {\n      editor.bindPendingEventDelegates();\n      editor.initialized = true;\n      fireInit(editor);\n      editor.focus(true);\n      moveSelectionToFirstCaretPosition(editor);\n      editor.nodeChanged({\n        initial: true\n      });\n      const initInstanceCallback = getInitInstanceCallback(editor);\n      if (isFunction(initInstanceCallback)) {\n        initInstanceCallback.call(editor, editor);\n      }\n      autoFocus(editor);\n    };\n    const getStyleSheetLoader$1 = editor => editor.inline ? editor.ui.styleSheetLoader : editor.dom.styleSheetLoader;\n    const makeStylesheetLoadingPromises = (editor, css, framedFonts) => {\n      const {\n        pass: bundledCss,\n        fail: normalCss\n      } = partition$2(css, name => tinymce.Resource.has(toContentSkinResourceName(name)));\n      const bundledPromises = bundledCss.map(url => {\n        const css = tinymce.Resource.get(toContentSkinResourceName(url));\n        if (isString(css)) {\n          return Promise.resolve(getStyleSheetLoader$1(editor).loadRawCss(url, css));\n        }\n        return Promise.resolve();\n      });\n      const promises = [...bundledPromises, getStyleSheetLoader$1(editor).loadAll(normalCss)];\n      if (editor.inline) {\n        return promises;\n      } else {\n        return promises.concat([editor.ui.styleSheetLoader.loadAll(framedFonts)]);\n      }\n    };\n    const loadContentCss = editor => {\n      const styleSheetLoader = getStyleSheetLoader$1(editor);\n      const fontCss = getFontCss(editor);\n      const css = editor.contentCSS;\n      const removeCss = () => {\n        styleSheetLoader.unloadAll(css);\n        if (!editor.inline) {\n          editor.ui.styleSheetLoader.unloadAll(fontCss);\n        }\n      };\n      const loaded = () => {\n        if (editor.removed) {\n          removeCss();\n        } else {\n          editor.on('remove', removeCss);\n        }\n      };\n      if (editor.contentStyles.length > 0) {\n        let contentCssText = '';\n        Tools.each(editor.contentStyles, style => {\n          contentCssText += style + '\\r\\n';\n        });\n        editor.dom.addStyle(contentCssText);\n      }\n      const allStylesheets = Promise.all(makeStylesheetLoadingPromises(editor, css, fontCss)).then(loaded).catch(loaded);\n      const contentStyle = getContentStyle(editor);\n      if (contentStyle) {\n        appendStyle(editor, contentStyle);\n      }\n      return allStylesheets;\n    };\n    const preInit = editor => {\n      const doc = editor.getDoc(),\n        body = editor.getBody();\n      firePreInit(editor);\n      if (!shouldBrowserSpellcheck(editor)) {\n        doc.body.spellcheck = false;\n        DOM$6.setAttrib(body, 'spellcheck', 'false');\n      }\n      editor.quirks = Quirks(editor);\n      firePostRender(editor);\n      const directionality = getDirectionality(editor);\n      if (directionality !== undefined) {\n        body.dir = directionality;\n      }\n      const protect = getProtect(editor);\n      if (protect) {\n        editor.on('BeforeSetContent', e => {\n          Tools.each(protect, pattern => {\n            e.content = e.content.replace(pattern, str => {\n              return '<!--mce:protected ' + escape(str) + '-->';\n            });\n          });\n        });\n      }\n      editor.on('SetContent', () => {\n        editor.addVisual(editor.getBody());\n      });\n      editor.on('compositionstart compositionend', e => {\n        editor.composing = e.type === 'compositionstart';\n      });\n    };\n    const loadInitialContent = editor => {\n      if (!isRtc(editor)) {\n        editor.load({\n          initial: true,\n          format: 'html'\n        });\n      }\n      editor.startContent = editor.getContent({\n        format: 'raw'\n      });\n    };\n    const initEditorWithInitialContent = editor => {\n      if (editor.removed !== true) {\n        loadInitialContent(editor);\n        initEditor(editor);\n      }\n    };\n    const startProgress = editor => {\n      let canceled = false;\n      const progressTimeout = setTimeout(() => {\n        if (!canceled) {\n          editor.setProgressState(true);\n        }\n      }, 500);\n      return () => {\n        clearTimeout(progressTimeout);\n        canceled = true;\n        editor.setProgressState(false);\n      };\n    };\n    const contentBodyLoaded = editor => {\n      const targetElm = editor.getElement();\n      let doc = editor.getDoc();\n      if (editor.inline) {\n        DOM$6.addClass(targetElm, 'mce-content-body');\n        editor.contentDocument = doc = document;\n        editor.contentWindow = window;\n        editor.bodyElement = targetElm;\n        editor.contentAreaContainer = targetElm;\n      }\n      const body = editor.getBody();\n      body.disabled = true;\n      editor.readonly = isReadOnly$1(editor);\n      editor._editableRoot = hasEditableRoot$1(editor);\n      if (!editor.readonly && editor.hasEditableRoot()) {\n        if (editor.inline && DOM$6.getStyle(body, 'position', true) === 'static') {\n          body.style.position = 'relative';\n        }\n        body.contentEditable = 'true';\n      }\n      body.disabled = false;\n      editor.editorUpload = EditorUpload(editor);\n      editor.schema = Schema(mkSchemaSettings(editor));\n      editor.dom = DOMUtils(doc, {\n        keep_values: true,\n        url_converter: editor.convertURL,\n        url_converter_scope: editor,\n        update_styles: true,\n        root_element: editor.inline ? editor.getBody() : null,\n        collect: editor.inline,\n        schema: editor.schema,\n        contentCssCors: shouldUseContentCssCors(editor),\n        referrerPolicy: getReferrerPolicy(editor),\n        onSetAttrib: e => {\n          editor.dispatch('SetAttrib', e);\n        },\n        force_hex_color: shouldForceHexColor(editor)\n      });\n      editor.parser = createParser(editor);\n      editor.serializer = DomSerializer(mkSerializerSettings(editor), editor);\n      editor.selection = EditorSelection(editor.dom, editor.getWin(), editor.serializer, editor);\n      editor.annotator = Annotator(editor);\n      editor.formatter = Formatter(editor);\n      editor.undoManager = UndoManager(editor);\n      editor._nodeChangeDispatcher = new NodeChange(editor);\n      editor._selectionOverrides = SelectionOverrides(editor);\n      setup$p(editor);\n      setup$6(editor);\n      setup$n(editor);\n      if (!isRtc(editor)) {\n        setup$5(editor);\n        setup$1(editor);\n      }\n      const caret = setup$b(editor);\n      setup$q(editor, caret);\n      setup$o(editor);\n      setup$r(editor);\n      setup$7(editor);\n      const setupRtcThunk = setup$t(editor);\n      preInit(editor);\n      setupRtcThunk.fold(() => {\n        const cancelProgress = startProgress(editor);\n        loadContentCss(editor).then(() => {\n          initEditorWithInitialContent(editor);\n          cancelProgress();\n        });\n      }, setupRtc => {\n        editor.setProgressState(true);\n        loadContentCss(editor).then(() => {\n          setupRtc().then(_rtcMode => {\n            editor.setProgressState(false);\n            initEditorWithInitialContent(editor);\n            bindEvents(editor);\n          }, err => {\n            editor.notificationManager.open({\n              type: 'error',\n              text: String(err)\n            });\n            initEditorWithInitialContent(editor);\n            bindEvents(editor);\n          });\n        });\n      });\n    };\n\n    const filter = always;\n    const bind = (element, event, handler) => bind$2(element, event, filter, handler);\n\n    const DOM$5 = DOMUtils.DOM;\n    const createIframeElement = (id, title, customAttrs, tabindex) => {\n      const iframe = SugarElement.fromTag('iframe');\n      tabindex.each(t => set$3(iframe, 'tabindex', t));\n      setAll$1(iframe, customAttrs);\n      setAll$1(iframe, {\n        id: id + '_ifr',\n        frameBorder: '0',\n        allowTransparency: 'true',\n        title\n      });\n      add$2(iframe, 'tox-edit-area__iframe');\n      return iframe;\n    };\n    const getIframeHtml = editor => {\n      let iframeHTML = getDocType(editor) + '<html><head>';\n      if (getDocumentBaseUrl(editor) !== editor.documentBaseUrl) {\n        iframeHTML += '<base href=\"' + editor.documentBaseURI.getURI() + '\" />';\n      }\n      iframeHTML += '<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />';\n      const bodyId = getBodyId(editor);\n      const bodyClass = getBodyClass(editor);\n      const translatedAriaText = editor.translate(getIframeAriaText(editor));\n      if (getContentSecurityPolicy(editor)) {\n        iframeHTML += '<meta http-equiv=\"Content-Security-Policy\" content=\"' + getContentSecurityPolicy(editor) + '\" />';\n      }\n      iframeHTML += '</head>' + \"<body id=\\\"\".concat(bodyId, \"\\\" class=\\\"mce-content-body \").concat(bodyClass, \"\\\" data-id=\\\"\").concat(editor.id, \"\\\" aria-label=\\\"\").concat(translatedAriaText, \"\\\">\") + '<br>' + '</body></html>';\n      return iframeHTML;\n    };\n    const createIframe = (editor, boxInfo) => {\n      const iframeTitle = editor.translate('Rich Text Area');\n      const tabindex = getOpt(SugarElement.fromDom(editor.getElement()), 'tabindex').bind(toInt);\n      const ifr = createIframeElement(editor.id, iframeTitle, getIframeAttrs(editor), tabindex).dom;\n      ifr.onload = () => {\n        ifr.onload = null;\n        editor.dispatch('load');\n      };\n      editor.contentAreaContainer = boxInfo.iframeContainer;\n      editor.iframeElement = ifr;\n      editor.iframeHTML = getIframeHtml(editor);\n      DOM$5.add(boxInfo.iframeContainer, ifr);\n    };\n    const setupIframeBody = editor => {\n      const iframe = editor.iframeElement;\n      const ready = () => {\n        editor.contentDocument = iframe.contentDocument;\n        contentBodyLoaded(editor);\n      };\n      if (shouldUseDocumentWrite(editor) || Env.browser.isFirefox()) {\n        const doc = editor.getDoc();\n        doc.open();\n        doc.write(editor.iframeHTML);\n        doc.close();\n        ready();\n      } else {\n        const binder = bind(SugarElement.fromDom(iframe), 'load', () => {\n          binder.unbind();\n          ready();\n        });\n        iframe.srcdoc = editor.iframeHTML;\n      }\n    };\n    const init$1 = (editor, boxInfo) => {\n      createIframe(editor, boxInfo);\n      if (boxInfo.editorContainer) {\n        boxInfo.editorContainer.style.display = editor.orgDisplay;\n        editor.hidden = DOM$5.isHidden(boxInfo.editorContainer);\n      }\n      editor.getElement().style.display = 'none';\n      DOM$5.setAttrib(editor.id, 'aria-hidden', 'true');\n      editor.getElement().style.visibility = editor.orgVisibility;\n      setupIframeBody(editor);\n    };\n\n    const DOM$4 = DOMUtils.DOM;\n    const initPlugin = (editor, initializedPlugins, plugin) => {\n      const Plugin = PluginManager.get(plugin);\n      const pluginUrl = PluginManager.urls[plugin] || editor.documentBaseUrl.replace(/\\/$/, '');\n      plugin = Tools.trim(plugin);\n      if (Plugin && Tools.inArray(initializedPlugins, plugin) === -1) {\n        if (editor.plugins[plugin]) {\n          return;\n        }\n        try {\n          const pluginInstance = Plugin(editor, pluginUrl) || {};\n          editor.plugins[plugin] = pluginInstance;\n          if (isFunction(pluginInstance.init)) {\n            pluginInstance.init(editor, pluginUrl);\n            initializedPlugins.push(plugin);\n          }\n        } catch (e) {\n          pluginInitError(editor, plugin, e);\n        }\n      }\n    };\n    const trimLegacyPrefix = name => {\n      return name.replace(/^\\-/, '');\n    };\n    const initPlugins = editor => {\n      const initializedPlugins = [];\n      each$e(getPlugins(editor), name => {\n        initPlugin(editor, initializedPlugins, trimLegacyPrefix(name));\n      });\n    };\n    const initIcons = editor => {\n      const iconPackName = Tools.trim(getIconPackName(editor));\n      const currentIcons = editor.ui.registry.getAll().icons;\n      const loadIcons = {\n        ...IconManager.get('default').icons,\n        ...IconManager.get(iconPackName).icons\n      };\n      each$d(loadIcons, (svgData, icon) => {\n        if (!has$2(currentIcons, icon)) {\n          editor.ui.registry.addIcon(icon, svgData);\n        }\n      });\n    };\n    const initTheme = editor => {\n      const theme = getTheme(editor);\n      if (isString(theme)) {\n        const Theme = ThemeManager.get(theme);\n        editor.theme = Theme(editor, ThemeManager.urls[theme]) || {};\n        if (isFunction(editor.theme.init)) {\n          editor.theme.init(editor, ThemeManager.urls[theme] || editor.documentBaseUrl.replace(/\\/$/, ''));\n        }\n      } else {\n        editor.theme = {};\n      }\n    };\n    const initModel = editor => {\n      const model = getModel(editor);\n      const Model = ModelManager.get(model);\n      editor.model = Model(editor, ModelManager.urls[model]);\n    };\n    const renderFromLoadedTheme = editor => {\n      const render = editor.theme.renderUI;\n      return render ? render() : renderThemeFalse(editor);\n    };\n    const renderFromThemeFunc = editor => {\n      const elm = editor.getElement();\n      const theme = getTheme(editor);\n      const info = theme(editor, elm);\n      if (info.editorContainer.nodeType) {\n        info.editorContainer.id = info.editorContainer.id || editor.id + '_parent';\n      }\n      if (info.iframeContainer && info.iframeContainer.nodeType) {\n        info.iframeContainer.id = info.iframeContainer.id || editor.id + '_iframecontainer';\n      }\n      info.height = info.iframeHeight ? info.iframeHeight : elm.offsetHeight;\n      return info;\n    };\n    const createThemeFalseResult = (element, iframe) => {\n      return {\n        editorContainer: element,\n        iframeContainer: iframe,\n        api: {}\n      };\n    };\n    const renderThemeFalseIframe = targetElement => {\n      const iframeContainer = DOM$4.create('div');\n      DOM$4.insertAfter(iframeContainer, targetElement);\n      return createThemeFalseResult(iframeContainer, iframeContainer);\n    };\n    const renderThemeFalse = editor => {\n      const targetElement = editor.getElement();\n      return editor.inline ? createThemeFalseResult(null) : renderThemeFalseIframe(targetElement);\n    };\n    const renderThemeUi = editor => {\n      const elm = editor.getElement();\n      editor.orgDisplay = elm.style.display;\n      if (isString(getTheme(editor))) {\n        return renderFromLoadedTheme(editor);\n      } else if (isFunction(getTheme(editor))) {\n        return renderFromThemeFunc(editor);\n      } else {\n        return renderThemeFalse(editor);\n      }\n    };\n    const augmentEditorUiApi = (editor, api) => {\n      const uiApiFacade = {\n        show: Optional.from(api.show).getOr(noop),\n        hide: Optional.from(api.hide).getOr(noop),\n        isEnabled: Optional.from(api.isEnabled).getOr(always),\n        setEnabled: state => {\n          if (!editor.mode.isReadOnly()) {\n            Optional.from(api.setEnabled).each(f => f(state));\n          }\n        }\n      };\n      editor.ui = {\n        ...editor.ui,\n        ...uiApiFacade\n      };\n    };\n    const init = async editor => {\n      editor.dispatch('ScriptsLoaded');\n      initIcons(editor);\n      initTheme(editor);\n      initModel(editor);\n      initPlugins(editor);\n      const renderInfo = await renderThemeUi(editor);\n      augmentEditorUiApi(editor, Optional.from(renderInfo.api).getOr({}));\n      editor.editorContainer = renderInfo.editorContainer;\n      appendContentCssFromSettings(editor);\n      if (editor.inline) {\n        contentBodyLoaded(editor);\n      } else {\n        init$1(editor, {\n          editorContainer: renderInfo.editorContainer,\n          iframeContainer: renderInfo.iframeContainer\n        });\n      }\n    };\n\n    const DOM$3 = DOMUtils.DOM;\n    const hasSkipLoadPrefix = name => name.charAt(0) === '-';\n    const loadLanguage = (scriptLoader, editor) => {\n      const languageCode = getLanguageCode(editor);\n      const languageUrl = getLanguageUrl(editor);\n      if (!I18n.hasCode(languageCode) && languageCode !== 'en') {\n        const url = isNotEmpty(languageUrl) ? languageUrl : \"\".concat(editor.editorManager.baseURL, \"/langs/\").concat(languageCode, \".js\");\n        scriptLoader.add(url).catch(() => {\n          languageLoadError(editor, url, languageCode);\n        });\n      }\n    };\n    const loadTheme = (editor, suffix) => {\n      const theme = getTheme(editor);\n      if (isString(theme) && !hasSkipLoadPrefix(theme) && !has$2(ThemeManager.urls, theme)) {\n        const themeUrl = getThemeUrl(editor);\n        const url = themeUrl ? editor.documentBaseURI.toAbsolute(themeUrl) : \"themes/\".concat(theme, \"/theme\").concat(suffix, \".js\");\n        ThemeManager.load(theme, url).catch(() => {\n          themeLoadError(editor, url, theme);\n        });\n      }\n    };\n    const loadModel = (editor, suffix) => {\n      const model = getModel(editor);\n      if (model !== 'plugin' && !has$2(ModelManager.urls, model)) {\n        const modelUrl = getModelUrl(editor);\n        const url = isString(modelUrl) ? editor.documentBaseURI.toAbsolute(modelUrl) : \"models/\".concat(model, \"/model\").concat(suffix, \".js\");\n        ModelManager.load(model, url).catch(() => {\n          modelLoadError(editor, url, model);\n        });\n      }\n    };\n    const getIconsUrlMetaFromUrl = editor => Optional.from(getIconsUrl(editor)).filter(isNotEmpty).map(url => ({\n      url,\n      name: Optional.none()\n    }));\n    const getIconsUrlMetaFromName = (editor, name, suffix) => Optional.from(name).filter(name => isNotEmpty(name) && !IconManager.has(name)).map(name => ({\n      url: \"\".concat(editor.editorManager.baseURL, \"/icons/\").concat(name, \"/icons\").concat(suffix, \".js\"),\n      name: Optional.some(name)\n    }));\n    const loadIcons = (scriptLoader, editor, suffix) => {\n      const defaultIconsUrl = getIconsUrlMetaFromName(editor, 'default', suffix);\n      const customIconsUrl = getIconsUrlMetaFromUrl(editor).orThunk(() => getIconsUrlMetaFromName(editor, getIconPackName(editor), ''));\n      each$e(cat([defaultIconsUrl, customIconsUrl]), urlMeta => {\n        scriptLoader.add(urlMeta.url).catch(() => {\n          iconsLoadError(editor, urlMeta.url, urlMeta.name.getOrUndefined());\n        });\n      });\n    };\n    const loadPlugins = (editor, suffix) => {\n      const loadPlugin = (name, url) => {\n        PluginManager.load(name, url).catch(() => {\n          pluginLoadError(editor, url, name);\n        });\n      };\n      each$d(getExternalPlugins$1(editor), (url, name) => {\n        loadPlugin(name, url);\n        editor.options.set('plugins', getPlugins(editor).concat(name));\n      });\n      each$e(getPlugins(editor), plugin => {\n        plugin = Tools.trim(plugin);\n        if (plugin && !PluginManager.urls[plugin] && !hasSkipLoadPrefix(plugin)) {\n          loadPlugin(plugin, \"plugins/\".concat(plugin, \"/plugin\").concat(suffix, \".js\"));\n        }\n      });\n    };\n    const isThemeLoaded = editor => {\n      const theme = getTheme(editor);\n      return !isString(theme) || isNonNullable(ThemeManager.get(theme));\n    };\n    const isModelLoaded = editor => {\n      const model = getModel(editor);\n      return isNonNullable(ModelManager.get(model));\n    };\n    const loadScripts = (editor, suffix) => {\n      const scriptLoader = ScriptLoader.ScriptLoader;\n      const initEditor = () => {\n        if (!editor.removed && isThemeLoaded(editor) && isModelLoaded(editor)) {\n          init(editor);\n        }\n      };\n      loadTheme(editor, suffix);\n      loadModel(editor, suffix);\n      loadLanguage(scriptLoader, editor);\n      loadIcons(scriptLoader, editor, suffix);\n      loadPlugins(editor, suffix);\n      scriptLoader.loadQueue().then(initEditor, initEditor);\n    };\n    const getStyleSheetLoader = (element, editor) => instance.forElement(element, {\n      contentCssCors: hasContentCssCors(editor),\n      referrerPolicy: getReferrerPolicy(editor)\n    });\n    const render = editor => {\n      const id = editor.id;\n      I18n.setCode(getLanguageCode(editor));\n      const readyHandler = () => {\n        DOM$3.unbind(window, 'ready', readyHandler);\n        editor.render();\n      };\n      if (!EventUtils.Event.domLoaded) {\n        DOM$3.bind(window, 'ready', readyHandler);\n        return;\n      }\n      if (!editor.getElement()) {\n        return;\n      }\n      const element = SugarElement.fromDom(editor.getElement());\n      const snapshot = clone$4(element);\n      editor.on('remove', () => {\n        eachr(element.dom.attributes, attr => remove$a(element, attr.name));\n        setAll$1(element, snapshot);\n      });\n      editor.ui.styleSheetLoader = getStyleSheetLoader(element, editor);\n      if (!isInline$1(editor)) {\n        editor.orgVisibility = editor.getElement().style.visibility;\n        editor.getElement().style.visibility = 'hidden';\n      } else {\n        editor.inline = true;\n      }\n      const form = editor.getElement().form || DOM$3.getParent(id, 'form');\n      if (form) {\n        editor.formElement = form;\n        if (hasHiddenInput(editor) && !isTextareaOrInput(editor.getElement())) {\n          DOM$3.insertAfter(DOM$3.create('input', {\n            type: 'hidden',\n            name: id\n          }), id);\n          editor.hasHiddenInput = true;\n        }\n        editor.formEventDelegate = e => {\n          editor.dispatch(e.type, e);\n        };\n        DOM$3.bind(form, 'submit reset', editor.formEventDelegate);\n        editor.on('reset', () => {\n          editor.resetContent();\n        });\n        if (shouldPatchSubmit(editor) && !form.submit.nodeType && !form.submit.length && !form._mceOldSubmit) {\n          form._mceOldSubmit = form.submit;\n          form.submit = () => {\n            editor.editorManager.triggerSave();\n            editor.setDirty(false);\n            return form._mceOldSubmit(form);\n          };\n        }\n      }\n      editor.windowManager = WindowManager(editor);\n      editor.notificationManager = NotificationManager(editor);\n      if (isEncodingXml(editor)) {\n        editor.on('GetContent', e => {\n          if (e.save) {\n            e.content = DOM$3.encode(e.content);\n          }\n        });\n      }\n      if (shouldAddFormSubmitTrigger(editor)) {\n        editor.on('submit', () => {\n          if (editor.initialized) {\n            editor.save();\n          }\n        });\n      }\n      if (shouldAddUnloadTrigger(editor)) {\n        editor._beforeUnload = () => {\n          if (editor.initialized && !editor.destroyed && !editor.isHidden()) {\n            editor.save({\n              format: 'raw',\n              no_events: true,\n              set_dirty: false\n            });\n          }\n        };\n        editor.editorManager.on('BeforeUnload', editor._beforeUnload);\n      }\n      editor.editorManager.add(editor);\n      loadScripts(editor, editor.suffix);\n    };\n\n    const setEditableRoot = (editor, state) => {\n      if (editor._editableRoot !== state) {\n        editor._editableRoot = state;\n        if (!editor.readonly) {\n          editor.getBody().contentEditable = String(editor.hasEditableRoot());\n          editor.nodeChanged();\n        }\n        fireEditableRootStateChange(editor, state);\n      }\n    };\n    const hasEditableRoot = editor => editor._editableRoot;\n\n    const sectionResult = (sections, settings) => ({\n      sections: constant(sections),\n      options: constant(settings)\n    });\n    const deviceDetection = detect$2().deviceType;\n    const isPhone = deviceDetection.isPhone();\n    const isTablet = deviceDetection.isTablet();\n    const normalizePlugins = plugins => {\n      if (isNullable(plugins)) {\n        return [];\n      } else {\n        const pluginNames = isArray$1(plugins) ? plugins : plugins.split(/[ ,]/);\n        const trimmedPlugins = map$3(pluginNames, trim$4);\n        return filter$5(trimmedPlugins, isNotEmpty);\n      }\n    };\n    const extractSections = (keys, options) => {\n      const result = bifilter(options, (value, key) => {\n        return contains$2(keys, key);\n      });\n      return sectionResult(result.t, result.f);\n    };\n    const getSection = (sectionResult, name, defaults = {}) => {\n      const sections = sectionResult.sections();\n      const sectionOptions = get$a(sections, name).getOr({});\n      return Tools.extend({}, defaults, sectionOptions);\n    };\n    const hasSection = (sectionResult, name) => {\n      return has$2(sectionResult.sections(), name);\n    };\n    const getSectionConfig = (sectionResult, name) => {\n      return hasSection(sectionResult, name) ? sectionResult.sections()[name] : {};\n    };\n    const getMobileOverrideOptions = (mobileOptions, isPhone) => {\n      const defaultMobileOptions = {\n        table_grid: false,\n        object_resizing: false,\n        resize: false,\n        toolbar_mode: get$a(mobileOptions, 'toolbar_mode').getOr('scrolling'),\n        toolbar_sticky: false\n      };\n      const defaultPhoneOptions = {\n        menubar: false\n      };\n      return {\n        ...defaultMobileOptions,\n        ...(isPhone ? defaultPhoneOptions : {})\n      };\n    };\n    const getExternalPlugins = (overrideOptions, options) => {\n      var _a;\n      const userDefinedExternalPlugins = (_a = options.external_plugins) !== null && _a !== void 0 ? _a : {};\n      if (overrideOptions && overrideOptions.external_plugins) {\n        return Tools.extend({}, overrideOptions.external_plugins, userDefinedExternalPlugins);\n      } else {\n        return userDefinedExternalPlugins;\n      }\n    };\n    const combinePlugins = (forcedPlugins, plugins) => [...normalizePlugins(forcedPlugins), ...normalizePlugins(plugins)];\n    const getPlatformPlugins = (isMobileDevice, sectionResult, desktopPlugins, mobilePlugins) => {\n      if (isMobileDevice && hasSection(sectionResult, 'mobile')) {\n        return mobilePlugins;\n      } else {\n        return desktopPlugins;\n      }\n    };\n    const processPlugins = (isMobileDevice, sectionResult, defaultOverrideOptions, options) => {\n      const forcedPlugins = normalizePlugins(defaultOverrideOptions.forced_plugins);\n      const desktopPlugins = normalizePlugins(options.plugins);\n      const mobileConfig = getSectionConfig(sectionResult, 'mobile');\n      const mobilePlugins = mobileConfig.plugins ? normalizePlugins(mobileConfig.plugins) : desktopPlugins;\n      const platformPlugins = getPlatformPlugins(isMobileDevice, sectionResult, desktopPlugins, mobilePlugins);\n      const combinedPlugins = combinePlugins(forcedPlugins, platformPlugins);\n      return Tools.extend(options, {\n        forced_plugins: forcedPlugins,\n        plugins: combinedPlugins\n      });\n    };\n    const isOnMobile = (isMobileDevice, sectionResult) => {\n      return isMobileDevice && hasSection(sectionResult, 'mobile');\n    };\n    const combineOptions = (isMobileDevice, isPhone, defaultOptions, defaultOverrideOptions, options) => {\n      var _a;\n      const deviceOverrideOptions = isMobileDevice ? {\n        mobile: getMobileOverrideOptions((_a = options.mobile) !== null && _a !== void 0 ? _a : {}, isPhone)\n      } : {};\n      const sectionResult = extractSections(['mobile'], deepMerge(deviceOverrideOptions, options));\n      const extendedOptions = Tools.extend(defaultOptions, defaultOverrideOptions, sectionResult.options(), isOnMobile(isMobileDevice, sectionResult) ? getSection(sectionResult, 'mobile') : {}, {\n        external_plugins: getExternalPlugins(defaultOverrideOptions, sectionResult.options())\n      });\n      return processPlugins(isMobileDevice, sectionResult, defaultOverrideOptions, extendedOptions);\n    };\n    const normalizeOptions = (defaultOverrideOptions, options) => combineOptions(isPhone || isTablet, isPhone, options, defaultOverrideOptions, options);\n\n    const addVisual = (editor, elm) => addVisual$1(editor, elm);\n\n    const registerExecCommands$3 = editor => {\n      const toggleFormat = (name, value) => {\n        editor.formatter.toggle(name, value);\n        editor.nodeChanged();\n      };\n      const toggleAlign = align => () => {\n        each$e('left,center,right,justify'.split(','), name => {\n          if (align !== name) {\n            editor.formatter.remove('align' + name);\n          }\n        });\n        if (align !== 'none') {\n          toggleFormat('align' + align);\n        }\n      };\n      editor.editorCommands.addCommands({\n        JustifyLeft: toggleAlign('left'),\n        JustifyCenter: toggleAlign('center'),\n        JustifyRight: toggleAlign('right'),\n        JustifyFull: toggleAlign('justify'),\n        JustifyNone: toggleAlign('none')\n      });\n    };\n    const registerQueryStateCommands$1 = editor => {\n      const alignStates = name => () => {\n        const selection = editor.selection;\n        const nodes = selection.isCollapsed() ? [editor.dom.getParent(selection.getNode(), editor.dom.isBlock)] : selection.getSelectedBlocks();\n        return exists(nodes, node => isNonNullable(editor.formatter.matchNode(node, name)));\n      };\n      editor.editorCommands.addCommands({\n        JustifyLeft: alignStates('alignleft'),\n        JustifyCenter: alignStates('aligncenter'),\n        JustifyRight: alignStates('alignright'),\n        JustifyFull: alignStates('alignjustify')\n      }, 'state');\n    };\n    const registerCommands$b = editor => {\n      registerExecCommands$3(editor);\n      registerQueryStateCommands$1(editor);\n    };\n\n    const registerCommands$a = editor => {\n      editor.editorCommands.addCommands({\n        'Cut,Copy,Paste': command => {\n          const doc = editor.getDoc();\n          let failed;\n          try {\n            doc.execCommand(command);\n          } catch (ex) {\n            failed = true;\n          }\n          if (command === 'paste' && !doc.queryCommandEnabled(command)) {\n            failed = true;\n          }\n          if (failed || !doc.queryCommandSupported(command)) {\n            let msg = editor.translate(\"Your browser doesn't support direct access to the clipboard. \" + 'Please use the Ctrl+X/C/V keyboard shortcuts instead.');\n            if (Env.os.isMacOS() || Env.os.isiOS()) {\n              msg = msg.replace(/Ctrl\\+/g, '\\u2318+');\n            }\n            editor.notificationManager.open({\n              text: msg,\n              type: 'error'\n            });\n          }\n        }\n      });\n    };\n\n    const trimOrPadLeftRight = (dom, rng, html, schema) => {\n      const root = SugarElement.fromDom(dom.getRoot());\n      if (needsToBeNbspLeft(root, CaretPosition.fromRangeStart(rng), schema)) {\n        html = html.replace(/^ /, '&nbsp;');\n      } else {\n        html = html.replace(/^&nbsp;/, ' ');\n      }\n      if (needsToBeNbspRight(root, CaretPosition.fromRangeEnd(rng), schema)) {\n        html = html.replace(/(&nbsp;| )(<br( \\/)>)?$/, '&nbsp;');\n      } else {\n        html = html.replace(/&nbsp;(<br( \\/)?>)?$/, ' ');\n      }\n      return html;\n    };\n\n    const processValue$1 = value => {\n      if (typeof value !== 'string') {\n        const details = Tools.extend({\n          paste: value.paste,\n          data: {\n            paste: value.paste\n          }\n        }, value);\n        return {\n          content: value.content,\n          details\n        };\n      }\n      return {\n        content: value,\n        details: {}\n      };\n    };\n    const trimOrPad = (editor, value) => {\n      const selection = editor.selection;\n      const dom = editor.dom;\n      if (/^ | $/.test(value)) {\n        return trimOrPadLeftRight(dom, selection.getRng(), value, editor.schema);\n      } else {\n        return value;\n      }\n    };\n    const insertAtCaret = (editor, value) => {\n      if (editor.selection.isEditable()) {\n        const {\n          content,\n          details\n        } = processValue$1(value);\n        preProcessSetContent(editor, {\n          ...details,\n          content: trimOrPad(editor, content),\n          format: 'html',\n          set: false,\n          selection: true\n        }).each(args => {\n          const insertedContent = insertContent$1(editor, args.content, details);\n          postProcessSetContent(editor, insertedContent, args);\n          editor.addVisual();\n        });\n      }\n    };\n\n    const registerCommands$9 = editor => {\n      editor.editorCommands.addCommands({\n        mceCleanup: () => {\n          const bm = editor.selection.getBookmark();\n          editor.setContent(editor.getContent());\n          editor.selection.moveToBookmark(bm);\n        },\n        insertImage: (_command, _ui, value) => {\n          insertAtCaret(editor, editor.dom.createHTML('img', {\n            src: value\n          }));\n        },\n        insertHorizontalRule: () => {\n          editor.execCommand('mceInsertContent', false, '<hr>');\n        },\n        insertText: (_command, _ui, value) => {\n          insertAtCaret(editor, editor.dom.encode(value));\n        },\n        insertHTML: (_command, _ui, value) => {\n          insertAtCaret(editor, value);\n        },\n        mceInsertContent: (_command, _ui, value) => {\n          insertAtCaret(editor, value);\n        },\n        mceSetContent: (_command, _ui, value) => {\n          editor.setContent(value);\n        },\n        mceReplaceContent: (_command, _ui, value) => {\n          editor.execCommand('mceInsertContent', false, value.replace(/\\{\\$selection\\}/g, editor.selection.getContent({\n            format: 'text'\n          })));\n        },\n        mceNewDocument: () => {\n          editor.setContent(getNewDocumentContent(editor));\n        }\n      });\n    };\n\n    const legacyPropNames = {\n      'font-size': 'size',\n      'font-family': 'face'\n    };\n    const isFont = isTag('font');\n    const getSpecifiedFontProp = (propName, rootElm, elm) => {\n      const getProperty = elm => getRaw(elm, propName).orThunk(() => {\n        if (isFont(elm)) {\n          return get$a(legacyPropNames, propName).bind(legacyPropName => getOpt(elm, legacyPropName));\n        } else {\n          return Optional.none();\n        }\n      });\n      const isRoot = elm => eq(SugarElement.fromDom(rootElm), elm);\n      return closest$1(SugarElement.fromDom(elm), elm => getProperty(elm), isRoot);\n    };\n    const normalizeFontFamily = fontFamily => fontFamily.replace(/[\\'\\\"\\\\]/g, '').replace(/,\\s+/g, ',');\n    const getComputedFontProp = (propName, elm) => Optional.from(DOMUtils.DOM.getStyle(elm, propName, true));\n    const getFontProp = propName => (rootElm, elm) => Optional.from(elm).map(SugarElement.fromDom).filter(isElement$7).bind(element => getSpecifiedFontProp(propName, rootElm, element.dom).or(getComputedFontProp(propName, element.dom))).getOr('');\n    const getFontSize = getFontProp('font-size');\n    const getFontFamily = compose(normalizeFontFamily, getFontProp('font-family'));\n\n    const findFirstCaretElement = editor => firstPositionIn(editor.getBody()).bind(caret => {\n      const container = caret.container();\n      return Optional.from(isText$a(container) ? container.parentNode : container);\n    });\n    const getCaretElement = editor => Optional.from(editor.selection.getRng()).bind(rng => {\n      const root = editor.getBody();\n      const atStartOfNode = rng.startContainer === root && rng.startOffset === 0;\n      return atStartOfNode ? Optional.none() : Optional.from(editor.selection.getStart(true));\n    });\n    const bindRange = (editor, binder) => getCaretElement(editor).orThunk(curry(findFirstCaretElement, editor)).map(SugarElement.fromDom).filter(isElement$7).bind(binder);\n    const mapRange = (editor, mapper) => bindRange(editor, compose1(Optional.some, mapper));\n\n    const fromFontSizeNumber = (editor, value) => {\n      if (/^[0-9.]+$/.test(value)) {\n        const fontSizeNumber = parseInt(value, 10);\n        if (fontSizeNumber >= 1 && fontSizeNumber <= 7) {\n          const fontSizes = getFontStyleValues(editor);\n          const fontClasses = getFontSizeClasses(editor);\n          if (fontClasses.length > 0) {\n            return fontClasses[fontSizeNumber - 1] || value;\n          } else {\n            return fontSizes[fontSizeNumber - 1] || value;\n          }\n        } else {\n          return value;\n        }\n      } else {\n        return value;\n      }\n    };\n    const normalizeFontNames = font => {\n      const fonts = font.split(/\\s*,\\s*/);\n      return map$3(fonts, font => {\n        if (font.indexOf(' ') !== -1 && !(startsWith(font, '\"') || startsWith(font, \"'\"))) {\n          return \"'\".concat(font, \"'\");\n        } else {\n          return font;\n        }\n      }).join(',');\n    };\n    const fontNameAction = (editor, value) => {\n      const font = fromFontSizeNumber(editor, value);\n      editor.formatter.toggle('fontname', {\n        value: normalizeFontNames(font)\n      });\n      editor.nodeChanged();\n    };\n    const fontNameQuery = editor => mapRange(editor, elm => getFontFamily(editor.getBody(), elm.dom)).getOr('');\n    const fontSizeAction = (editor, value) => {\n      editor.formatter.toggle('fontsize', {\n        value: fromFontSizeNumber(editor, value)\n      });\n      editor.nodeChanged();\n    };\n    const fontSizeQuery = editor => mapRange(editor, elm => getFontSize(editor.getBody(), elm.dom)).getOr('');\n\n    const lineHeightQuery = editor => mapRange(editor, elm => {\n      const root = SugarElement.fromDom(editor.getBody());\n      const specifiedStyle = closest$1(elm, elm => getRaw(elm, 'line-height'), curry(eq, root));\n      const computedStyle = () => {\n        const lineHeight = parseFloat(get$7(elm, 'line-height'));\n        const fontSize = parseFloat(get$7(elm, 'font-size'));\n        return String(lineHeight / fontSize);\n      };\n      return specifiedStyle.getOrThunk(computedStyle);\n    }).getOr('');\n    const lineHeightAction = (editor, lineHeight) => {\n      editor.formatter.toggle('lineheight', {\n        value: String(lineHeight)\n      });\n      editor.nodeChanged();\n    };\n\n    const registerExecCommands$2 = editor => {\n      const toggleFormat = (name, value) => {\n        editor.formatter.toggle(name, value);\n        editor.nodeChanged();\n      };\n      editor.editorCommands.addCommands({\n        'Bold,Italic,Underline,Strikethrough,Superscript,Subscript': command => {\n          toggleFormat(command);\n        },\n        'ForeColor,HiliteColor': (command, _ui, value) => {\n          toggleFormat(command, {\n            value\n          });\n        },\n        'BackColor': (_command, _ui, value) => {\n          toggleFormat('hilitecolor', {\n            value\n          });\n        },\n        'FontName': (_command, _ui, value) => {\n          fontNameAction(editor, value);\n        },\n        'FontSize': (_command, _ui, value) => {\n          fontSizeAction(editor, value);\n        },\n        'LineHeight': (_command, _ui, value) => {\n          lineHeightAction(editor, value);\n        },\n        'Lang': (command, _ui, lang) => {\n          var _a;\n          toggleFormat(command, {\n            value: lang.code,\n            customValue: (_a = lang.customCode) !== null && _a !== void 0 ? _a : null\n          });\n        },\n        'RemoveFormat': command => {\n          editor.formatter.remove(command);\n        },\n        'mceBlockQuote': () => {\n          toggleFormat('blockquote');\n        },\n        'FormatBlock': (_command, _ui, value) => {\n          toggleFormat(isString(value) ? value : 'p');\n        },\n        'mceToggleFormat': (_command, _ui, value) => {\n          toggleFormat(value);\n        }\n      });\n    };\n    const registerQueryValueCommands = editor => {\n      const isFormatMatch = name => editor.formatter.match(name);\n      editor.editorCommands.addCommands({\n        'Bold,Italic,Underline,Strikethrough,Superscript,Subscript': command => isFormatMatch(command),\n        'mceBlockQuote': () => isFormatMatch('blockquote')\n      }, 'state');\n      editor.editorCommands.addQueryValueHandler('FontName', () => fontNameQuery(editor));\n      editor.editorCommands.addQueryValueHandler('FontSize', () => fontSizeQuery(editor));\n      editor.editorCommands.addQueryValueHandler('LineHeight', () => lineHeightQuery(editor));\n    };\n    const registerCommands$8 = editor => {\n      registerExecCommands$2(editor);\n      registerQueryValueCommands(editor);\n    };\n\n    const registerCommands$7 = editor => {\n      editor.editorCommands.addCommands({\n        mceAddUndoLevel: () => {\n          editor.undoManager.add();\n        },\n        mceEndUndoLevel: () => {\n          editor.undoManager.add();\n        },\n        Undo: () => {\n          editor.undoManager.undo();\n        },\n        Redo: () => {\n          editor.undoManager.redo();\n        }\n      });\n    };\n\n    const registerCommands$6 = editor => {\n      editor.editorCommands.addCommands({\n        Indent: () => {\n          indent(editor);\n        },\n        Outdent: () => {\n          outdent(editor);\n        }\n      });\n      editor.editorCommands.addCommands({\n        Outdent: () => canOutdent(editor)\n      }, 'state');\n    };\n\n    const registerCommands$5 = editor => {\n      const applyLinkToSelection = (_command, _ui, value) => {\n        const linkDetails = isString(value) ? {\n          href: value\n        } : value;\n        const anchor = editor.dom.getParent(editor.selection.getNode(), 'a');\n        if (isObject(linkDetails) && isString(linkDetails.href)) {\n          linkDetails.href = linkDetails.href.replace(/ /g, '%20');\n          if (!anchor || !linkDetails.href) {\n            editor.formatter.remove('link');\n          }\n          if (linkDetails.href) {\n            editor.formatter.apply('link', linkDetails, anchor);\n          }\n        }\n      };\n      editor.editorCommands.addCommands({\n        unlink: () => {\n          if (editor.selection.isEditable()) {\n            if (editor.selection.isCollapsed()) {\n              const elm = editor.dom.getParent(editor.selection.getStart(), 'a');\n              if (elm) {\n                editor.dom.remove(elm, true);\n              }\n              return;\n            }\n            editor.formatter.remove('link');\n          }\n        },\n        mceInsertLink: applyLinkToSelection,\n        createLink: applyLinkToSelection\n      });\n    };\n\n    const registerExecCommands$1 = editor => {\n      editor.editorCommands.addCommands({\n        'InsertUnorderedList,InsertOrderedList': command => {\n          editor.getDoc().execCommand(command);\n          const listElm = editor.dom.getParent(editor.selection.getNode(), 'ol,ul');\n          if (listElm) {\n            const listParent = listElm.parentNode;\n            if (listParent && /^(H[1-6]|P|ADDRESS|PRE)$/.test(listParent.nodeName)) {\n              const bm = editor.selection.getBookmark();\n              editor.dom.split(listParent, listElm);\n              editor.selection.moveToBookmark(bm);\n            }\n          }\n        }\n      });\n    };\n    const registerQueryStateCommands = editor => {\n      editor.editorCommands.addCommands({\n        'InsertUnorderedList,InsertOrderedList': command => {\n          const list = editor.dom.getParent(editor.selection.getNode(), 'ul,ol');\n          return list && (command === 'insertunorderedlist' && list.tagName === 'UL' || command === 'insertorderedlist' && list.tagName === 'OL');\n        }\n      }, 'state');\n    };\n    const registerCommands$4 = editor => {\n      registerExecCommands$1(editor);\n      registerQueryStateCommands(editor);\n    };\n\n    const getTopParentBlock = (editor, node, root, container) => {\n      const dom = editor.dom;\n      const selector = node => dom.isBlock(node) && node.parentElement === root;\n      const topParentBlock = selector(node) ? node : dom.getParent(container, selector, root);\n      return Optional.from(topParentBlock).map(SugarElement.fromDom);\n    };\n    const insert = (editor, before) => {\n      const dom = editor.dom;\n      const rng = editor.selection.getRng();\n      const node = before ? editor.selection.getStart() : editor.selection.getEnd();\n      const container = before ? rng.startContainer : rng.endContainer;\n      const root = getEditableRoot(dom, container);\n      if (!root || !root.isContentEditable) {\n        return;\n      }\n      const insertFn = before ? before$3 : after$4;\n      const newBlockName = getForcedRootBlock(editor);\n      getTopParentBlock(editor, node, root, container).each(parentBlock => {\n        const newBlock = createNewBlock(editor, container, parentBlock.dom, root, false, newBlockName);\n        insertFn(parentBlock, SugarElement.fromDom(newBlock));\n        editor.selection.setCursorLocation(newBlock, 0);\n        editor.dispatch('NewBlock', {\n          newBlock\n        });\n        fireInputEvent(editor, 'insertParagraph');\n      });\n    };\n    const insertBefore = editor => insert(editor, true);\n    const insertAfter = editor => insert(editor, false);\n\n    const registerCommands$3 = editor => {\n      editor.editorCommands.addCommands({\n        InsertNewBlockBefore: () => {\n          insertBefore(editor);\n        },\n        InsertNewBlockAfter: () => {\n          insertAfter(editor);\n        }\n      });\n    };\n\n    const registerCommands$2 = editor => {\n      editor.editorCommands.addCommands({\n        insertParagraph: () => {\n          insertBreak(blockbreak, editor);\n        },\n        mceInsertNewLine: (_command, _ui, value) => {\n          insert$1(editor, value);\n        },\n        InsertLineBreak: (_command, _ui, _value) => {\n          insertBreak(linebreak, editor);\n        }\n      });\n    };\n\n    const registerCommands$1 = editor => {\n      editor.editorCommands.addCommands({\n        mceSelectNodeDepth: (_command, _ui, value) => {\n          let counter = 0;\n          editor.dom.getParent(editor.selection.getNode(), node => {\n            if (isElement$6(node) && counter++ === value) {\n              editor.selection.select(node);\n              return false;\n            } else {\n              return true;\n            }\n          }, editor.getBody());\n        },\n        mceSelectNode: (_command, _ui, value) => {\n          editor.selection.select(value);\n        },\n        selectAll: () => {\n          const editingHost = editor.dom.getParent(editor.selection.getStart(), isContentEditableTrue$3);\n          if (editingHost) {\n            const rng = editor.dom.createRng();\n            rng.selectNodeContents(editingHost);\n            editor.selection.setRng(rng);\n          }\n        }\n      });\n    };\n\n    const registerExecCommands = editor => {\n      editor.editorCommands.addCommands({\n        mceRemoveNode: (_command, _ui, value) => {\n          const node = value !== null && value !== void 0 ? value : editor.selection.getNode();\n          if (node !== editor.getBody()) {\n            const bm = editor.selection.getBookmark();\n            editor.dom.remove(node, true);\n            editor.selection.moveToBookmark(bm);\n          }\n        },\n        mcePrint: () => {\n          editor.getWin().print();\n        },\n        mceFocus: (_command, _ui, value) => {\n          focus(editor, value === true);\n        },\n        mceToggleVisualAid: () => {\n          editor.hasVisual = !editor.hasVisual;\n          editor.addVisual();\n        }\n      });\n    };\n    const registerCommands = editor => {\n      registerCommands$b(editor);\n      registerCommands$a(editor);\n      registerCommands$7(editor);\n      registerCommands$1(editor);\n      registerCommands$9(editor);\n      registerCommands$5(editor);\n      registerCommands$6(editor);\n      registerCommands$3(editor);\n      registerCommands$2(editor);\n      registerCommands$4(editor);\n      registerCommands$8(editor);\n      registerExecCommands(editor);\n    };\n\n    const selectionSafeCommands = ['toggleview'];\n    const isSelectionSafeCommand = command => contains$2(selectionSafeCommands, command.toLowerCase());\n    class EditorCommands {\n      constructor(editor) {\n        this.commands = {\n          state: {},\n          exec: {},\n          value: {}\n        };\n        this.editor = editor;\n      }\n      execCommand(command, ui = false, value, args) {\n        const editor = this.editor;\n        const lowerCaseCommand = command.toLowerCase();\n        const skipFocus = args === null || args === void 0 ? void 0 : args.skip_focus;\n        if (editor.removed) {\n          return false;\n        }\n        if (lowerCaseCommand !== 'mcefocus') {\n          if (!/^(mceAddUndoLevel|mceEndUndoLevel)$/i.test(lowerCaseCommand) && !skipFocus) {\n            editor.focus();\n          } else {\n            restore(editor);\n          }\n        }\n        const eventArgs = editor.dispatch('BeforeExecCommand', {\n          command,\n          ui,\n          value\n        });\n        if (eventArgs.isDefaultPrevented()) {\n          return false;\n        }\n        const func = this.commands.exec[lowerCaseCommand];\n        if (isFunction(func)) {\n          func(lowerCaseCommand, ui, value);\n          editor.dispatch('ExecCommand', {\n            command,\n            ui,\n            value\n          });\n          return true;\n        }\n        return false;\n      }\n      queryCommandState(command) {\n        if (!isSelectionSafeCommand(command) && this.editor.quirks.isHidden() || this.editor.removed) {\n          return false;\n        }\n        const lowerCaseCommand = command.toLowerCase();\n        const func = this.commands.state[lowerCaseCommand];\n        if (isFunction(func)) {\n          return func(lowerCaseCommand);\n        }\n        return false;\n      }\n      queryCommandValue(command) {\n        if (!isSelectionSafeCommand(command) && this.editor.quirks.isHidden() || this.editor.removed) {\n          return '';\n        }\n        const lowerCaseCommand = command.toLowerCase();\n        const func = this.commands.value[lowerCaseCommand];\n        if (isFunction(func)) {\n          return func(lowerCaseCommand);\n        }\n        return '';\n      }\n      addCommands(commandList, type = 'exec') {\n        const commands = this.commands;\n        each$d(commandList, (callback, command) => {\n          each$e(command.toLowerCase().split(','), command => {\n            commands[type][command] = callback;\n          });\n        });\n      }\n      addCommand(command, callback, scope) {\n        const lowerCaseCommand = command.toLowerCase();\n        this.commands.exec[lowerCaseCommand] = (_command, ui, value) => callback.call(scope !== null && scope !== void 0 ? scope : this.editor, ui, value);\n      }\n      queryCommandSupported(command) {\n        const lowerCaseCommand = command.toLowerCase();\n        if (this.commands.exec[lowerCaseCommand]) {\n          return true;\n        } else {\n          return false;\n        }\n      }\n      addQueryStateHandler(command, callback, scope) {\n        this.commands.state[command.toLowerCase()] = () => callback.call(scope !== null && scope !== void 0 ? scope : this.editor);\n      }\n      addQueryValueHandler(command, callback, scope) {\n        this.commands.value[command.toLowerCase()] = () => callback.call(scope !== null && scope !== void 0 ? scope : this.editor);\n      }\n    }\n\n    const internalContentEditableAttr = 'data-mce-contenteditable';\n    const toggleClass = (elm, cls, state) => {\n      if (has(elm, cls) && !state) {\n        remove$7(elm, cls);\n      } else if (state) {\n        add$2(elm, cls);\n      }\n    };\n    const setEditorCommandState = (editor, cmd, state) => {\n      try {\n        editor.getDoc().execCommand(cmd, false, String(state));\n      } catch (ex) {}\n    };\n    const setContentEditable = (elm, state) => {\n      elm.dom.contentEditable = state ? 'true' : 'false';\n    };\n    const switchOffContentEditableTrue = elm => {\n      each$e(descendants(elm, '*[contenteditable=\"true\"]'), elm => {\n        set$3(elm, internalContentEditableAttr, 'true');\n        setContentEditable(elm, false);\n      });\n    };\n    const switchOnContentEditableTrue = elm => {\n      each$e(descendants(elm, \"*[\".concat(internalContentEditableAttr, \"=\\\"true\\\"]\")), elm => {\n        remove$a(elm, internalContentEditableAttr);\n        setContentEditable(elm, true);\n      });\n    };\n    const removeFakeSelection = editor => {\n      Optional.from(editor.selection.getNode()).each(elm => {\n        elm.removeAttribute('data-mce-selected');\n      });\n    };\n    const restoreFakeSelection = editor => {\n      editor.selection.setRng(editor.selection.getRng());\n    };\n    const toggleReadOnly = (editor, state) => {\n      const body = SugarElement.fromDom(editor.getBody());\n      toggleClass(body, 'mce-content-readonly', state);\n      if (state) {\n        editor.selection.controlSelection.hideResizeRect();\n        editor._selectionOverrides.hideFakeCaret();\n        removeFakeSelection(editor);\n        editor.readonly = true;\n        setContentEditable(body, false);\n        switchOffContentEditableTrue(body);\n      } else {\n        editor.readonly = false;\n        if (editor.hasEditableRoot()) {\n          setContentEditable(body, true);\n        }\n        switchOnContentEditableTrue(body);\n        setEditorCommandState(editor, 'StyleWithCSS', false);\n        setEditorCommandState(editor, 'enableInlineTableEditing', false);\n        setEditorCommandState(editor, 'enableObjectResizing', false);\n        if (hasEditorOrUiFocus(editor)) {\n          editor.focus();\n        }\n        restoreFakeSelection(editor);\n        editor.nodeChanged();\n      }\n    };\n    const isReadOnly = editor => editor.readonly;\n    const registerFilters = editor => {\n      editor.parser.addAttributeFilter('contenteditable', nodes => {\n        if (isReadOnly(editor)) {\n          each$e(nodes, node => {\n            node.attr(internalContentEditableAttr, node.attr('contenteditable'));\n            node.attr('contenteditable', 'false');\n          });\n        }\n      });\n      editor.serializer.addAttributeFilter(internalContentEditableAttr, nodes => {\n        if (isReadOnly(editor)) {\n          each$e(nodes, node => {\n            node.attr('contenteditable', node.attr(internalContentEditableAttr));\n          });\n        }\n      });\n      editor.serializer.addTempAttr(internalContentEditableAttr);\n    };\n    const registerReadOnlyContentFilters = editor => {\n      if (editor.serializer) {\n        registerFilters(editor);\n      } else {\n        editor.on('PreInit', () => {\n          registerFilters(editor);\n        });\n      }\n    };\n    const isClickEvent = e => e.type === 'click';\n    const allowedEvents = ['copy'];\n    const isReadOnlyAllowedEvent = e => contains$2(allowedEvents, e.type);\n    const getAnchorHrefOpt = (editor, elm) => {\n      const isRoot = elm => eq(elm, SugarElement.fromDom(editor.getBody()));\n      return closest$3(elm, 'a', isRoot).bind(a => getOpt(a, 'href'));\n    };\n    const processReadonlyEvents = (editor, e) => {\n      if (isClickEvent(e) && !VK.metaKeyPressed(e)) {\n        const elm = SugarElement.fromDom(e.target);\n        getAnchorHrefOpt(editor, elm).each(href => {\n          e.preventDefault();\n          if (/^#/.test(href)) {\n            const targetEl = editor.dom.select(\"\".concat(href, \",[name=\\\"\").concat(removeLeading(href, '#'), \"\\\"]\"));\n            if (targetEl.length) {\n              editor.selection.scrollIntoView(targetEl[0], true);\n            }\n          } else {\n            window.open(href, '_blank', 'rel=noopener noreferrer,menubar=yes,toolbar=yes,location=yes,status=yes,resizable=yes,scrollbars=yes');\n          }\n        });\n      } else if (isReadOnlyAllowedEvent(e)) {\n        editor.dispatch(e.type, e);\n      }\n    };\n    const registerReadOnlySelectionBlockers = editor => {\n      editor.on('ShowCaret', e => {\n        if (isReadOnly(editor)) {\n          e.preventDefault();\n        }\n      });\n      editor.on('ObjectSelected', e => {\n        if (isReadOnly(editor)) {\n          e.preventDefault();\n        }\n      });\n    };\n\n    const nativeEvents = Tools.makeMap('focus blur focusin focusout click dblclick mousedown mouseup mousemove mouseover beforepaste paste cut copy selectionchange ' + 'mouseout mouseenter mouseleave wheel keydown keypress keyup input beforeinput contextmenu dragstart dragend dragover ' + 'draggesture dragdrop drop drag submit ' + 'compositionstart compositionend compositionupdate touchstart touchmove touchend touchcancel', ' ');\n    class EventDispatcher {\n      static isNative(name) {\n        return !!nativeEvents[name.toLowerCase()];\n      }\n      constructor(settings) {\n        this.bindings = {};\n        this.settings = settings || {};\n        this.scope = this.settings.scope || this;\n        this.toggleEvent = this.settings.toggleEvent || never;\n      }\n      fire(name, args) {\n        return this.dispatch(name, args);\n      }\n      dispatch(name, args) {\n        const lcName = name.toLowerCase();\n        const event = normalize$3(lcName, args !== null && args !== void 0 ? args : {}, this.scope);\n        if (this.settings.beforeFire) {\n          this.settings.beforeFire(event);\n        }\n        const handlers = this.bindings[lcName];\n        if (handlers) {\n          for (let i = 0, l = handlers.length; i < l; i++) {\n            const callback = handlers[i];\n            if (callback.removed) {\n              continue;\n            }\n            if (callback.once) {\n              this.off(lcName, callback.func);\n            }\n            if (event.isImmediatePropagationStopped()) {\n              return event;\n            }\n            if (callback.func.call(this.scope, event) === false) {\n              event.preventDefault();\n              return event;\n            }\n          }\n        }\n        return event;\n      }\n      on(name, callback, prepend, extra) {\n        if (callback === false) {\n          callback = never;\n        }\n        if (callback) {\n          const wrappedCallback = {\n            func: callback,\n            removed: false\n          };\n          if (extra) {\n            Tools.extend(wrappedCallback, extra);\n          }\n          const names = name.toLowerCase().split(' ');\n          let i = names.length;\n          while (i--) {\n            const currentName = names[i];\n            let handlers = this.bindings[currentName];\n            if (!handlers) {\n              handlers = [];\n              this.toggleEvent(currentName, true);\n            }\n            if (prepend) {\n              handlers = [wrappedCallback, ...handlers];\n            } else {\n              handlers = [...handlers, wrappedCallback];\n            }\n            this.bindings[currentName] = handlers;\n          }\n        }\n        return this;\n      }\n      off(name, callback) {\n        if (name) {\n          const names = name.toLowerCase().split(' ');\n          let i = names.length;\n          while (i--) {\n            const currentName = names[i];\n            let handlers = this.bindings[currentName];\n            if (!currentName) {\n              each$d(this.bindings, (_value, bindingName) => {\n                this.toggleEvent(bindingName, false);\n                delete this.bindings[bindingName];\n              });\n              return this;\n            }\n            if (handlers) {\n              if (!callback) {\n                handlers.length = 0;\n              } else {\n                const filteredHandlers = partition$2(handlers, handler => handler.func === callback);\n                handlers = filteredHandlers.fail;\n                this.bindings[currentName] = handlers;\n                each$e(filteredHandlers.pass, handler => {\n                  handler.removed = true;\n                });\n              }\n              if (!handlers.length) {\n                this.toggleEvent(name, false);\n                delete this.bindings[currentName];\n              }\n            }\n          }\n        } else {\n          each$d(this.bindings, (_value, name) => {\n            this.toggleEvent(name, false);\n          });\n          this.bindings = {};\n        }\n        return this;\n      }\n      once(name, callback, prepend) {\n        return this.on(name, callback, prepend, {\n          once: true\n        });\n      }\n      has(name) {\n        name = name.toLowerCase();\n        const binding = this.bindings[name];\n        return !(!binding || binding.length === 0);\n      }\n    }\n\n    const getEventDispatcher = obj => {\n      if (!obj._eventDispatcher) {\n        obj._eventDispatcher = new EventDispatcher({\n          scope: obj,\n          toggleEvent: (name, state) => {\n            if (EventDispatcher.isNative(name) && obj.toggleNativeEvent) {\n              obj.toggleNativeEvent(name, state);\n            }\n          }\n        });\n      }\n      return obj._eventDispatcher;\n    };\n    const Observable = {\n      fire(name, args, bubble) {\n        return this.dispatch(name, args, bubble);\n      },\n      dispatch(name, args, bubble) {\n        const self = this;\n        if (self.removed && name !== 'remove' && name !== 'detach') {\n          return normalize$3(name.toLowerCase(), args !== null && args !== void 0 ? args : {}, self);\n        }\n        const dispatcherArgs = getEventDispatcher(self).dispatch(name, args);\n        if (bubble !== false && self.parent) {\n          let parent = self.parent();\n          while (parent && !dispatcherArgs.isPropagationStopped()) {\n            parent.dispatch(name, dispatcherArgs, false);\n            parent = parent.parent ? parent.parent() : undefined;\n          }\n        }\n        return dispatcherArgs;\n      },\n      on(name, callback, prepend) {\n        return getEventDispatcher(this).on(name, callback, prepend);\n      },\n      off(name, callback) {\n        return getEventDispatcher(this).off(name, callback);\n      },\n      once(name, callback) {\n        return getEventDispatcher(this).once(name, callback);\n      },\n      hasEventListeners(name) {\n        return getEventDispatcher(this).has(name);\n      }\n    };\n\n    const DOM$2 = DOMUtils.DOM;\n    let customEventRootDelegates;\n    const getEventTarget = (editor, eventName) => {\n      if (eventName === 'selectionchange') {\n        return editor.getDoc();\n      }\n      if (!editor.inline && /^(?:mouse|touch|click|contextmenu|drop|dragover|dragend)/.test(eventName)) {\n        return editor.getDoc().documentElement;\n      }\n      const eventRoot = getEventRoot(editor);\n      if (eventRoot) {\n        if (!editor.eventRoot) {\n          editor.eventRoot = DOM$2.select(eventRoot)[0];\n        }\n        return editor.eventRoot;\n      }\n      return editor.getBody();\n    };\n    const isListening = editor => !editor.hidden && !isReadOnly(editor);\n    const fireEvent = (editor, eventName, e) => {\n      if (isListening(editor)) {\n        editor.dispatch(eventName, e);\n      } else if (isReadOnly(editor)) {\n        processReadonlyEvents(editor, e);\n      }\n    };\n    const bindEventDelegate = (editor, eventName) => {\n      if (!editor.delegates) {\n        editor.delegates = {};\n      }\n      if (editor.delegates[eventName] || editor.removed) {\n        return;\n      }\n      const eventRootElm = getEventTarget(editor, eventName);\n      if (getEventRoot(editor)) {\n        if (!customEventRootDelegates) {\n          customEventRootDelegates = {};\n          editor.editorManager.on('removeEditor', () => {\n            if (!editor.editorManager.activeEditor) {\n              if (customEventRootDelegates) {\n                each$d(customEventRootDelegates, (_value, name) => {\n                  editor.dom.unbind(getEventTarget(editor, name));\n                });\n                customEventRootDelegates = null;\n              }\n            }\n          });\n        }\n        if (customEventRootDelegates[eventName]) {\n          return;\n        }\n        const delegate = e => {\n          const target = e.target;\n          const editors = editor.editorManager.get();\n          let i = editors.length;\n          while (i--) {\n            const body = editors[i].getBody();\n            if (body === target || DOM$2.isChildOf(target, body)) {\n              fireEvent(editors[i], eventName, e);\n            }\n          }\n        };\n        customEventRootDelegates[eventName] = delegate;\n        DOM$2.bind(eventRootElm, eventName, delegate);\n      } else {\n        const delegate = e => {\n          fireEvent(editor, eventName, e);\n        };\n        DOM$2.bind(eventRootElm, eventName, delegate);\n        editor.delegates[eventName] = delegate;\n      }\n    };\n    const EditorObservable = {\n      ...Observable,\n      bindPendingEventDelegates() {\n        const self = this;\n        Tools.each(self._pendingNativeEvents, name => {\n          bindEventDelegate(self, name);\n        });\n      },\n      toggleNativeEvent(name, state) {\n        const self = this;\n        if (name === 'focus' || name === 'blur') {\n          return;\n        }\n        if (self.removed) {\n          return;\n        }\n        if (state) {\n          if (self.initialized) {\n            bindEventDelegate(self, name);\n          } else {\n            if (!self._pendingNativeEvents) {\n              self._pendingNativeEvents = [name];\n            } else {\n              self._pendingNativeEvents.push(name);\n            }\n          }\n        } else if (self.initialized && self.delegates) {\n          self.dom.unbind(getEventTarget(self, name), name, self.delegates[name]);\n          delete self.delegates[name];\n        }\n      },\n      unbindAllNativeEvents() {\n        const self = this;\n        const body = self.getBody();\n        const dom = self.dom;\n        if (self.delegates) {\n          each$d(self.delegates, (value, name) => {\n            self.dom.unbind(getEventTarget(self, name), name, value);\n          });\n          delete self.delegates;\n        }\n        if (!self.inline && body && dom) {\n          body.onload = null;\n          dom.unbind(self.getWin());\n          dom.unbind(self.getDoc());\n        }\n        if (dom) {\n          dom.unbind(body);\n          dom.unbind(self.getContainer());\n        }\n      }\n    };\n\n    const stringListProcessor = value => {\n      if (isString(value)) {\n        return {\n          value: value.split(/[ ,]/),\n          valid: true\n        };\n      } else if (isArrayOf(value, isString)) {\n        return {\n          value,\n          valid: true\n        };\n      } else {\n        return {\n          valid: false,\n          message: \"The value must be a string[] or a comma/space separated string.\"\n        };\n      }\n    };\n    const getBuiltInProcessor = type => {\n      const validator = (() => {\n        switch (type) {\n          case 'array':\n            return isArray$1;\n          case 'boolean':\n            return isBoolean;\n          case 'function':\n            return isFunction;\n          case 'number':\n            return isNumber;\n          case 'object':\n            return isObject;\n          case 'string':\n            return isString;\n          case 'string[]':\n            return stringListProcessor;\n          case 'object[]':\n            return val => isArrayOf(val, isObject);\n          case 'regexp':\n            return val => is$4(val, RegExp);\n          default:\n            return always;\n        }\n      })();\n      return value => processValue(value, validator, \"The value must be a \".concat(type, \".\"));\n    };\n    const isBuiltInSpec = spec => isString(spec.processor);\n    const getErrorMessage = (message, result) => {\n      const additionalText = isEmpty$3(result.message) ? '' : \". \".concat(result.message);\n      return message + additionalText;\n    };\n    const isValidResult = result => result.valid;\n    const processValue = (value, processor, message = '') => {\n      const result = processor(value);\n      if (isBoolean(result)) {\n        return result ? {\n          value: value,\n          valid: true\n        } : {\n          valid: false,\n          message\n        };\n      } else {\n        return result;\n      }\n    };\n    const processDefaultValue = (name, defaultValue, processor) => {\n      if (!isUndefined(defaultValue)) {\n        const result = processValue(defaultValue, processor);\n        if (isValidResult(result)) {\n          return result.value;\n        } else {\n          console.error(getErrorMessage(\"Invalid default value passed for the \\\"\".concat(name, \"\\\" option\"), result));\n        }\n      }\n      return undefined;\n    };\n    const create$5 = (editor, initialOptions) => {\n      const registry = {};\n      const values = {};\n      const setValue = (name, value, processor) => {\n        const result = processValue(value, processor);\n        if (isValidResult(result)) {\n          values[name] = result.value;\n          return true;\n        } else {\n          console.warn(getErrorMessage(\"Invalid value passed for the \".concat(name, \" option\"), result));\n          return false;\n        }\n      };\n      const register = (name, spec) => {\n        const processor = isBuiltInSpec(spec) ? getBuiltInProcessor(spec.processor) : spec.processor;\n        const defaultValue = processDefaultValue(name, spec.default, processor);\n        registry[name] = {\n          ...spec,\n          default: defaultValue,\n          processor\n        };\n        const initValue = get$a(values, name).orThunk(() => get$a(initialOptions, name));\n        initValue.each(value => setValue(name, value, processor));\n      };\n      const isRegistered = name => has$2(registry, name);\n      const get = name => get$a(values, name).orThunk(() => get$a(registry, name).map(spec => spec.default)).getOrUndefined();\n      const set = (name, value) => {\n        if (!isRegistered(name)) {\n          console.warn(\"\\\"\".concat(name, \"\\\" is not a registered option. Ensure the option has been registered before setting a value.\"));\n          return false;\n        } else {\n          const spec = registry[name];\n          if (spec.immutable) {\n            console.error(\"\\\"\".concat(name, \"\\\" is an immutable option and cannot be updated\"));\n            return false;\n          } else {\n            return setValue(name, value, spec.processor);\n          }\n        }\n      };\n      const unset = name => {\n        const registered = isRegistered(name);\n        if (registered) {\n          delete values[name];\n        }\n        return registered;\n      };\n      const isSet = name => has$2(values, name);\n      return {\n        register,\n        isRegistered,\n        get,\n        set,\n        unset,\n        isSet\n      };\n    };\n\n    const defaultModes = ['design', 'readonly'];\n    const switchToMode = (editor, activeMode, availableModes, mode) => {\n      const oldMode = availableModes[activeMode.get()];\n      const newMode = availableModes[mode];\n      try {\n        newMode.activate();\n      } catch (e) {\n        console.error(\"problem while activating editor mode \".concat(mode, \":\"), e);\n        return;\n      }\n      oldMode.deactivate();\n      if (oldMode.editorReadOnly !== newMode.editorReadOnly) {\n        toggleReadOnly(editor, newMode.editorReadOnly);\n      }\n      activeMode.set(mode);\n      fireSwitchMode(editor, mode);\n    };\n    const setMode = (editor, availableModes, activeMode, mode) => {\n      if (mode === activeMode.get()) {\n        return;\n      } else if (!has$2(availableModes, mode)) {\n        throw new Error(\"Editor mode '\".concat(mode, \"' is invalid\"));\n      }\n      if (editor.initialized) {\n        switchToMode(editor, activeMode, availableModes, mode);\n      } else {\n        editor.on('init', () => switchToMode(editor, activeMode, availableModes, mode));\n      }\n    };\n    const registerMode = (availableModes, mode, api) => {\n      if (contains$2(defaultModes, mode)) {\n        throw new Error(\"Cannot override default mode \".concat(mode));\n      }\n      return {\n        ...availableModes,\n        [mode]: {\n          ...api,\n          deactivate: () => {\n            try {\n              api.deactivate();\n            } catch (e) {\n              console.error(\"problem while deactivating editor mode \".concat(mode, \":\"), e);\n            }\n          }\n        }\n      };\n    };\n\n    const create$4 = editor => {\n      const activeMode = Cell('design');\n      const availableModes = Cell({\n        design: {\n          activate: noop,\n          deactivate: noop,\n          editorReadOnly: false\n        },\n        readonly: {\n          activate: noop,\n          deactivate: noop,\n          editorReadOnly: true\n        }\n      });\n      registerReadOnlyContentFilters(editor);\n      registerReadOnlySelectionBlockers(editor);\n      return {\n        isReadOnly: () => isReadOnly(editor),\n        set: mode => setMode(editor, availableModes.get(), activeMode, mode),\n        get: () => activeMode.get(),\n        register: (mode, api) => {\n          availableModes.set(registerMode(availableModes.get(), mode, api));\n        }\n      };\n    };\n\n    const each$2 = Tools.each,\n      explode = Tools.explode;\n    const keyCodeLookup = {\n      f1: 112,\n      f2: 113,\n      f3: 114,\n      f4: 115,\n      f5: 116,\n      f6: 117,\n      f7: 118,\n      f8: 119,\n      f9: 120,\n      f10: 121,\n      f11: 122,\n      f12: 123\n    };\n    const modifierNames = Tools.makeMap('alt,ctrl,shift,meta,access');\n    const isModifier = key => key in modifierNames;\n    const parseShortcut = pattern => {\n      const shortcut = {};\n      const isMac = Env.os.isMacOS() || Env.os.isiOS();\n      each$2(explode(pattern.toLowerCase(), '+'), value => {\n        if (isModifier(value)) {\n          shortcut[value] = true;\n        } else {\n          if (/^[0-9]{2,}$/.test(value)) {\n            shortcut.keyCode = parseInt(value, 10);\n          } else {\n            shortcut.charCode = value.charCodeAt(0);\n            shortcut.keyCode = keyCodeLookup[value] || value.toUpperCase().charCodeAt(0);\n          }\n        }\n      });\n      const id = [shortcut.keyCode];\n      let key;\n      for (key in modifierNames) {\n        if (shortcut[key]) {\n          id.push(key);\n        } else {\n          shortcut[key] = false;\n        }\n      }\n      shortcut.id = id.join(',');\n      if (shortcut.access) {\n        shortcut.alt = true;\n        if (isMac) {\n          shortcut.ctrl = true;\n        } else {\n          shortcut.shift = true;\n        }\n      }\n      if (shortcut.meta) {\n        if (isMac) {\n          shortcut.meta = true;\n        } else {\n          shortcut.ctrl = true;\n          shortcut.meta = false;\n        }\n      }\n      return shortcut;\n    };\n    class Shortcuts {\n      constructor(editor) {\n        this.shortcuts = {};\n        this.pendingPatterns = [];\n        this.editor = editor;\n        const self = this;\n        editor.on('keyup keypress keydown', e => {\n          if ((self.hasModifier(e) || self.isFunctionKey(e)) && !e.isDefaultPrevented()) {\n            each$2(self.shortcuts, shortcut => {\n              if (self.matchShortcut(e, shortcut)) {\n                self.pendingPatterns = shortcut.subpatterns.slice(0);\n                if (e.type === 'keydown') {\n                  self.executeShortcutAction(shortcut);\n                }\n              }\n            });\n            if (self.matchShortcut(e, self.pendingPatterns[0])) {\n              if (self.pendingPatterns.length === 1) {\n                if (e.type === 'keydown') {\n                  self.executeShortcutAction(self.pendingPatterns[0]);\n                }\n              }\n              self.pendingPatterns.shift();\n            }\n          }\n        });\n      }\n      add(pattern, desc, cmdFunc, scope) {\n        const self = this;\n        const func = self.normalizeCommandFunc(cmdFunc);\n        each$2(explode(Tools.trim(pattern)), pattern => {\n          const shortcut = self.createShortcut(pattern, desc, func, scope);\n          self.shortcuts[shortcut.id] = shortcut;\n        });\n        return true;\n      }\n      remove(pattern) {\n        const shortcut = this.createShortcut(pattern);\n        if (this.shortcuts[shortcut.id]) {\n          delete this.shortcuts[shortcut.id];\n          return true;\n        }\n        return false;\n      }\n      normalizeCommandFunc(cmdFunc) {\n        const self = this;\n        const cmd = cmdFunc;\n        if (typeof cmd === 'string') {\n          return () => {\n            self.editor.execCommand(cmd, false, null);\n          };\n        } else if (Tools.isArray(cmd)) {\n          return () => {\n            self.editor.execCommand(cmd[0], cmd[1], cmd[2]);\n          };\n        } else {\n          return cmd;\n        }\n      }\n      createShortcut(pattern, desc, cmdFunc, scope) {\n        const shortcuts = Tools.map(explode(pattern, '>'), parseShortcut);\n        shortcuts[shortcuts.length - 1] = Tools.extend(shortcuts[shortcuts.length - 1], {\n          func: cmdFunc,\n          scope: scope || this.editor\n        });\n        return Tools.extend(shortcuts[0], {\n          desc: this.editor.translate(desc),\n          subpatterns: shortcuts.slice(1)\n        });\n      }\n      hasModifier(e) {\n        return e.altKey || e.ctrlKey || e.metaKey;\n      }\n      isFunctionKey(e) {\n        return e.type === 'keydown' && e.keyCode >= 112 && e.keyCode <= 123;\n      }\n      matchShortcut(e, shortcut) {\n        if (!shortcut) {\n          return false;\n        }\n        if (shortcut.ctrl !== e.ctrlKey || shortcut.meta !== e.metaKey) {\n          return false;\n        }\n        if (shortcut.alt !== e.altKey || shortcut.shift !== e.shiftKey) {\n          return false;\n        }\n        if (e.keyCode === shortcut.keyCode || e.charCode && e.charCode === shortcut.charCode) {\n          e.preventDefault();\n          return true;\n        }\n        return false;\n      }\n      executeShortcutAction(shortcut) {\n        return shortcut.func ? shortcut.func.call(shortcut.scope) : null;\n      }\n    }\n\n    const create$3 = () => {\n      const buttons = {};\n      const menuItems = {};\n      const popups = {};\n      const icons = {};\n      const contextMenus = {};\n      const contextToolbars = {};\n      const sidebars = {};\n      const views = {};\n      const add = (collection, type) => (name, spec) => {\n        collection[name.toLowerCase()] = {\n          ...spec,\n          type\n        };\n      };\n      const addIcon = (name, svgData) => icons[name.toLowerCase()] = svgData;\n      return {\n        addButton: add(buttons, 'button'),\n        addGroupToolbarButton: add(buttons, 'grouptoolbarbutton'),\n        addToggleButton: add(buttons, 'togglebutton'),\n        addMenuButton: add(buttons, 'menubutton'),\n        addSplitButton: add(buttons, 'splitbutton'),\n        addMenuItem: add(menuItems, 'menuitem'),\n        addNestedMenuItem: add(menuItems, 'nestedmenuitem'),\n        addToggleMenuItem: add(menuItems, 'togglemenuitem'),\n        addAutocompleter: add(popups, 'autocompleter'),\n        addContextMenu: add(contextMenus, 'contextmenu'),\n        addContextToolbar: add(contextToolbars, 'contexttoolbar'),\n        addContextForm: add(contextToolbars, 'contextform'),\n        addSidebar: add(sidebars, 'sidebar'),\n        addView: add(views, 'views'),\n        addIcon,\n        getAll: () => ({\n          buttons,\n          menuItems,\n          icons,\n          popups,\n          contextMenus,\n          contextToolbars,\n          sidebars,\n          views\n        })\n      };\n    };\n\n    const registry = () => {\n      const bridge = create$3();\n      return {\n        addAutocompleter: bridge.addAutocompleter,\n        addButton: bridge.addButton,\n        addContextForm: bridge.addContextForm,\n        addContextMenu: bridge.addContextMenu,\n        addContextToolbar: bridge.addContextToolbar,\n        addIcon: bridge.addIcon,\n        addMenuButton: bridge.addMenuButton,\n        addMenuItem: bridge.addMenuItem,\n        addNestedMenuItem: bridge.addNestedMenuItem,\n        addSidebar: bridge.addSidebar,\n        addSplitButton: bridge.addSplitButton,\n        addToggleButton: bridge.addToggleButton,\n        addGroupToolbarButton: bridge.addGroupToolbarButton,\n        addToggleMenuItem: bridge.addToggleMenuItem,\n        addView: bridge.addView,\n        getAll: bridge.getAll\n      };\n    };\n\n    const DOM$1 = DOMUtils.DOM;\n    const extend = Tools.extend,\n      each$1 = Tools.each;\n    class Editor {\n      constructor(id, options, editorManager) {\n        this.plugins = {};\n        this.contentCSS = [];\n        this.contentStyles = [];\n        this.loadedCSS = {};\n        this.isNotDirty = false;\n        this.composing = false;\n        this.destroyed = false;\n        this.hasHiddenInput = false;\n        this.iframeElement = null;\n        this.initialized = false;\n        this.readonly = false;\n        this.removed = false;\n        this.startContent = '';\n        this._pendingNativeEvents = [];\n        this._skinLoaded = false;\n        this._editableRoot = true;\n        this.editorManager = editorManager;\n        this.documentBaseUrl = editorManager.documentBaseURL;\n        extend(this, EditorObservable);\n        const self = this;\n        this.id = id;\n        this.hidden = false;\n        const normalizedOptions = normalizeOptions(editorManager.defaultOptions, options);\n        this.options = create$5(self, normalizedOptions);\n        register$7(self);\n        const getOption = this.options.get;\n        if (getOption('deprecation_warnings')) {\n          logWarnings(options, normalizedOptions);\n        }\n        const suffix = getOption('suffix');\n        if (suffix) {\n          editorManager.suffix = suffix;\n        }\n        this.suffix = editorManager.suffix;\n        const baseUrl = getOption('base_url');\n        if (baseUrl) {\n          editorManager._setBaseUrl(baseUrl);\n        }\n        this.baseUri = editorManager.baseURI;\n        const referrerPolicy = getReferrerPolicy(self);\n        if (referrerPolicy) {\n          ScriptLoader.ScriptLoader._setReferrerPolicy(referrerPolicy);\n          DOMUtils.DOM.styleSheetLoader._setReferrerPolicy(referrerPolicy);\n        }\n        const contentCssCors = hasContentCssCors(self);\n        if (isNonNullable(contentCssCors)) {\n          DOMUtils.DOM.styleSheetLoader._setContentCssCors(contentCssCors);\n        }\n        AddOnManager.languageLoad = getOption('language_load');\n        AddOnManager.baseURL = editorManager.baseURL;\n        this.setDirty(false);\n        this.documentBaseURI = new URI(getDocumentBaseUrl(self), {\n          base_uri: this.baseUri\n        });\n        this.baseURI = this.baseUri;\n        this.inline = isInline$1(self);\n        this.hasVisual = isVisualAidsEnabled(self);\n        this.shortcuts = new Shortcuts(this);\n        this.editorCommands = new EditorCommands(this);\n        registerCommands(this);\n        const cacheSuffix = getOption('cache_suffix');\n        if (cacheSuffix) {\n          Env.cacheSuffix = cacheSuffix.replace(/^[\\?\\&]+/, '');\n        }\n        this.ui = {\n          registry: registry(),\n          styleSheetLoader: undefined,\n          show: noop,\n          hide: noop,\n          setEnabled: noop,\n          isEnabled: always\n        };\n        this.mode = create$4(self);\n        editorManager.dispatch('SetupEditor', {\n          editor: this\n        });\n        const setupCallback = getSetupCallback(self);\n        if (isFunction(setupCallback)) {\n          setupCallback.call(self, self);\n        }\n      }\n      render() {\n        render(this);\n      }\n      focus(skipFocus) {\n        this.execCommand('mceFocus', false, skipFocus);\n      }\n      hasFocus() {\n        return hasFocus(this);\n      }\n      translate(text) {\n        return I18n.translate(text);\n      }\n      getParam(name, defaultVal, type) {\n        const options = this.options;\n        if (!options.isRegistered(name)) {\n          if (isNonNullable(type)) {\n            options.register(name, {\n              processor: type,\n              default: defaultVal\n            });\n          } else {\n            options.register(name, {\n              processor: always,\n              default: defaultVal\n            });\n          }\n        }\n        return !options.isSet(name) && !isUndefined(defaultVal) ? defaultVal : options.get(name);\n      }\n      hasPlugin(name, loaded) {\n        const hasPlugin = contains$2(getPlugins(this), name);\n        if (hasPlugin) {\n          return loaded ? PluginManager.get(name) !== undefined : true;\n        } else {\n          return false;\n        }\n      }\n      nodeChanged(args) {\n        this._nodeChangeDispatcher.nodeChanged(args);\n      }\n      addCommand(name, callback, scope) {\n        this.editorCommands.addCommand(name, callback, scope);\n      }\n      addQueryStateHandler(name, callback, scope) {\n        this.editorCommands.addQueryStateHandler(name, callback, scope);\n      }\n      addQueryValueHandler(name, callback, scope) {\n        this.editorCommands.addQueryValueHandler(name, callback, scope);\n      }\n      addShortcut(pattern, desc, cmdFunc, scope) {\n        this.shortcuts.add(pattern, desc, cmdFunc, scope);\n      }\n      execCommand(cmd, ui, value, args) {\n        return this.editorCommands.execCommand(cmd, ui, value, args);\n      }\n      queryCommandState(cmd) {\n        return this.editorCommands.queryCommandState(cmd);\n      }\n      queryCommandValue(cmd) {\n        return this.editorCommands.queryCommandValue(cmd);\n      }\n      queryCommandSupported(cmd) {\n        return this.editorCommands.queryCommandSupported(cmd);\n      }\n      show() {\n        const self = this;\n        if (self.hidden) {\n          self.hidden = false;\n          if (self.inline) {\n            self.getBody().contentEditable = 'true';\n          } else {\n            DOM$1.show(self.getContainer());\n            DOM$1.hide(self.id);\n          }\n          self.load();\n          self.dispatch('show');\n        }\n      }\n      hide() {\n        const self = this;\n        if (!self.hidden) {\n          self.save();\n          if (self.inline) {\n            self.getBody().contentEditable = 'false';\n            if (self === self.editorManager.focusedEditor) {\n              self.editorManager.focusedEditor = null;\n            }\n          } else {\n            DOM$1.hide(self.getContainer());\n            DOM$1.setStyle(self.id, 'display', self.orgDisplay);\n          }\n          self.hidden = true;\n          self.dispatch('hide');\n        }\n      }\n      isHidden() {\n        return this.hidden;\n      }\n      setProgressState(state, time) {\n        this.dispatch('ProgressState', {\n          state,\n          time\n        });\n      }\n      load(args = {}) {\n        const self = this;\n        const elm = self.getElement();\n        if (self.removed) {\n          return '';\n        }\n        if (elm) {\n          const loadArgs = {\n            ...args,\n            load: true\n          };\n          const value = isTextareaOrInput(elm) ? elm.value : elm.innerHTML;\n          const html = self.setContent(value, loadArgs);\n          if (!loadArgs.no_events) {\n            self.dispatch('LoadContent', {\n              ...loadArgs,\n              element: elm\n            });\n          }\n          return html;\n        } else {\n          return '';\n        }\n      }\n      save(args = {}) {\n        const self = this;\n        let elm = self.getElement();\n        if (!elm || !self.initialized || self.removed) {\n          return '';\n        }\n        const getArgs = {\n          ...args,\n          save: true,\n          element: elm\n        };\n        let html = self.getContent(getArgs);\n        const saveArgs = {\n          ...getArgs,\n          content: html\n        };\n        if (!saveArgs.no_events) {\n          self.dispatch('SaveContent', saveArgs);\n        }\n        if (saveArgs.format === 'raw') {\n          self.dispatch('RawSaveContent', saveArgs);\n        }\n        html = saveArgs.content;\n        if (!isTextareaOrInput(elm)) {\n          if (args.is_removing || !self.inline) {\n            elm.innerHTML = html;\n          }\n          const form = DOM$1.getParent(self.id, 'form');\n          if (form) {\n            each$1(form.elements, elm => {\n              if (elm.name === self.id) {\n                elm.value = html;\n                return false;\n              } else {\n                return true;\n              }\n            });\n          }\n        } else {\n          elm.value = html;\n        }\n        saveArgs.element = getArgs.element = elm = null;\n        if (saveArgs.set_dirty !== false) {\n          self.setDirty(false);\n        }\n        return html;\n      }\n      setContent(content, args) {\n        return setContent(this, content, args);\n      }\n      getContent(args) {\n        return getContent(this, args);\n      }\n      insertContent(content, args) {\n        if (args) {\n          content = extend({\n            content\n          }, args);\n        }\n        this.execCommand('mceInsertContent', false, content);\n      }\n      resetContent(initialContent) {\n        if (initialContent === undefined) {\n          setContent(this, this.startContent, {\n            format: 'raw'\n          });\n        } else {\n          setContent(this, initialContent);\n        }\n        this.undoManager.reset();\n        this.setDirty(false);\n        this.nodeChanged();\n      }\n      isDirty() {\n        return !this.isNotDirty;\n      }\n      setDirty(state) {\n        const oldState = !this.isNotDirty;\n        this.isNotDirty = !state;\n        if (state && state !== oldState) {\n          this.dispatch('dirty');\n        }\n      }\n      getContainer() {\n        const self = this;\n        if (!self.container) {\n          self.container = self.editorContainer || DOM$1.get(self.id + '_parent');\n        }\n        return self.container;\n      }\n      getContentAreaContainer() {\n        return this.contentAreaContainer;\n      }\n      getElement() {\n        if (!this.targetElm) {\n          this.targetElm = DOM$1.get(this.id);\n        }\n        return this.targetElm;\n      }\n      getWin() {\n        const self = this;\n        if (!self.contentWindow) {\n          const elm = self.iframeElement;\n          if (elm) {\n            self.contentWindow = elm.contentWindow;\n          }\n        }\n        return self.contentWindow;\n      }\n      getDoc() {\n        const self = this;\n        if (!self.contentDocument) {\n          const win = self.getWin();\n          if (win) {\n            self.contentDocument = win.document;\n          }\n        }\n        return self.contentDocument;\n      }\n      getBody() {\n        var _a, _b;\n        const doc = this.getDoc();\n        return (_b = (_a = this.bodyElement) !== null && _a !== void 0 ? _a : doc === null || doc === void 0 ? void 0 : doc.body) !== null && _b !== void 0 ? _b : null;\n      }\n      convertURL(url, name, elm) {\n        const self = this,\n          getOption = self.options.get;\n        const urlConverterCallback = getUrlConverterCallback(self);\n        if (isFunction(urlConverterCallback)) {\n          return urlConverterCallback.call(self, url, elm, true, name);\n        }\n        if (!getOption('convert_urls') || elm === 'link' || isObject(elm) && elm.nodeName === 'LINK' || url.indexOf('file:') === 0 || url.length === 0) {\n          return url;\n        }\n        const urlObject = new URI(url);\n        if (urlObject.protocol !== 'http' && urlObject.protocol !== 'https' && urlObject.protocol !== '') {\n          return url;\n        }\n        if (getOption('relative_urls')) {\n          return self.documentBaseURI.toRelative(url);\n        }\n        url = self.documentBaseURI.toAbsolute(url, getOption('remove_script_host'));\n        return url;\n      }\n      addVisual(elm) {\n        addVisual(this, elm);\n      }\n      setEditableRoot(state) {\n        setEditableRoot(this, state);\n      }\n      hasEditableRoot() {\n        return hasEditableRoot(this);\n      }\n      remove() {\n        remove$1(this);\n      }\n      destroy(automatic) {\n        destroy(this, automatic);\n      }\n      uploadImages() {\n        return this.editorUpload.uploadImages();\n      }\n      _scanForImages() {\n        return this.editorUpload.scanForImages();\n      }\n    }\n\n    const DOM = DOMUtils.DOM;\n    const each = Tools.each;\n    let boundGlobalEvents = false;\n    let beforeUnloadDelegate;\n    let editors = [];\n    const globalEventDelegate = e => {\n      const type = e.type;\n      each(EditorManager.get(), editor => {\n        switch (type) {\n          case 'scroll':\n            editor.dispatch('ScrollWindow', e);\n            break;\n          case 'resize':\n            editor.dispatch('ResizeWindow', e);\n            break;\n        }\n      });\n    };\n    const toggleGlobalEvents = state => {\n      if (state !== boundGlobalEvents) {\n        const DOM = DOMUtils.DOM;\n        if (state) {\n          DOM.bind(window, 'resize', globalEventDelegate);\n          DOM.bind(window, 'scroll', globalEventDelegate);\n        } else {\n          DOM.unbind(window, 'resize', globalEventDelegate);\n          DOM.unbind(window, 'scroll', globalEventDelegate);\n        }\n        boundGlobalEvents = state;\n      }\n    };\n    const removeEditorFromList = targetEditor => {\n      const oldEditors = editors;\n      editors = filter$5(editors, editor => {\n        return targetEditor !== editor;\n      });\n      if (EditorManager.activeEditor === targetEditor) {\n        EditorManager.activeEditor = editors.length > 0 ? editors[0] : null;\n      }\n      if (EditorManager.focusedEditor === targetEditor) {\n        EditorManager.focusedEditor = null;\n      }\n      return oldEditors.length !== editors.length;\n    };\n    const purgeDestroyedEditor = editor => {\n      if (editor && editor.initialized && !(editor.getContainer() || editor.getBody()).parentNode) {\n        removeEditorFromList(editor);\n        editor.unbindAllNativeEvents();\n        editor.destroy(true);\n        editor.removed = true;\n      }\n    };\n    const isQuirksMode = document.compatMode !== 'CSS1Compat';\n    const EditorManager = {\n      ...Observable,\n      baseURI: null,\n      baseURL: null,\n      defaultOptions: {},\n      documentBaseURL: null,\n      suffix: null,\n      majorVersion: '6',\n      minorVersion: '8.4',\n      releaseDate: '2024-06-19',\n      i18n: I18n,\n      activeEditor: null,\n      focusedEditor: null,\n      setup() {\n        const self = this;\n        let baseURL = '';\n        let suffix = '';\n        let documentBaseURL = URI.getDocumentBaseUrl(document.location);\n        if (/^[^:]+:\\/\\/\\/?[^\\/]+\\//.test(documentBaseURL)) {\n          documentBaseURL = documentBaseURL.replace(/[\\?#].*$/, '').replace(/[\\/\\\\][^\\/]+$/, '');\n          if (!/[\\/\\\\]$/.test(documentBaseURL)) {\n            documentBaseURL += '/';\n          }\n        }\n        const preInit = window.tinymce || window.tinyMCEPreInit;\n        if (preInit) {\n          baseURL = preInit.base || preInit.baseURL;\n          suffix = preInit.suffix;\n        } else {\n          const scripts = document.getElementsByTagName('script');\n          for (let i = 0; i < scripts.length; i++) {\n            const src = scripts[i].src || '';\n            if (src === '') {\n              continue;\n            }\n            const srcScript = src.substring(src.lastIndexOf('/'));\n            if (/tinymce(\\.full|\\.jquery|)(\\.min|\\.dev|)\\.js/.test(src)) {\n              if (srcScript.indexOf('.min') !== -1) {\n                suffix = '.min';\n              }\n              baseURL = src.substring(0, src.lastIndexOf('/'));\n              break;\n            }\n          }\n          if (!baseURL && document.currentScript) {\n            const src = document.currentScript.src;\n            if (src.indexOf('.min') !== -1) {\n              suffix = '.min';\n            }\n            baseURL = src.substring(0, src.lastIndexOf('/'));\n          }\n        }\n        self.baseURL = new URI(documentBaseURL).toAbsolute(baseURL);\n        self.documentBaseURL = documentBaseURL;\n        self.baseURI = new URI(self.baseURL);\n        self.suffix = suffix;\n        setup$w(self);\n      },\n      overrideDefaults(defaultOptions) {\n        const baseUrl = defaultOptions.base_url;\n        if (baseUrl) {\n          this._setBaseUrl(baseUrl);\n        }\n        const suffix = defaultOptions.suffix;\n        if (suffix) {\n          this.suffix = suffix;\n        }\n        this.defaultOptions = defaultOptions;\n        const pluginBaseUrls = defaultOptions.plugin_base_urls;\n        if (pluginBaseUrls !== undefined) {\n          each$d(pluginBaseUrls, (pluginBaseUrl, pluginName) => {\n            AddOnManager.PluginManager.urls[pluginName] = pluginBaseUrl;\n          });\n        }\n      },\n      init(options) {\n        const self = this;\n        let result;\n        const invalidInlineTargets = Tools.makeMap('area base basefont br col frame hr img input isindex link meta param embed source wbr track ' + 'colgroup option table tbody tfoot thead tr th td script noscript style textarea video audio iframe object menu', ' ');\n        const isInvalidInlineTarget = (options, elm) => options.inline && elm.tagName.toLowerCase() in invalidInlineTargets;\n        const createId = elm => {\n          let id = elm.id;\n          if (!id) {\n            id = get$a(elm, 'name').filter(name => !DOM.get(name)).getOrThunk(DOM.uniqueId);\n            elm.setAttribute('id', id);\n          }\n          return id;\n        };\n        const execCallback = name => {\n          const callback = options[name];\n          if (!callback) {\n            return;\n          }\n          return callback.apply(self, []);\n        };\n        const findTargets = options => {\n          if (Env.browser.isIE() || Env.browser.isEdge()) {\n            initError('TinyMCE does not support the browser you are using. For a list of supported' + ' browsers please see: https://www.tiny.cloud/docs/tinymce/6/support/#supportedwebbrowsers');\n            return [];\n          } else if (isQuirksMode) {\n            initError('Failed to initialize the editor as the document is not in standards mode. ' + 'TinyMCE requires standards mode.');\n            return [];\n          } else if (isString(options.selector)) {\n            return DOM.select(options.selector);\n          } else if (isNonNullable(options.target)) {\n            return [options.target];\n          } else {\n            return [];\n          }\n        };\n        let provideResults = editors => {\n          result = editors;\n        };\n        const initEditors = () => {\n          let initCount = 0;\n          const editors = [];\n          let targets;\n          const createEditor = (id, options, targetElm) => {\n            const editor = new Editor(id, options, self);\n            editors.push(editor);\n            editor.on('init', () => {\n              if (++initCount === targets.length) {\n                provideResults(editors);\n              }\n            });\n            editor.targetElm = editor.targetElm || targetElm;\n            editor.render();\n          };\n          DOM.unbind(window, 'ready', initEditors);\n          execCallback('onpageload');\n          targets = unique$1(findTargets(options));\n          Tools.each(targets, elm => {\n            purgeDestroyedEditor(self.get(elm.id));\n          });\n          targets = Tools.grep(targets, elm => {\n            return !self.get(elm.id);\n          });\n          if (targets.length === 0) {\n            provideResults([]);\n          } else {\n            each(targets, elm => {\n              if (isInvalidInlineTarget(options, elm)) {\n                initError('Could not initialize inline editor on invalid inline target element', elm);\n              } else {\n                createEditor(createId(elm), options, elm);\n              }\n            });\n          }\n        };\n        DOM.bind(window, 'ready', initEditors);\n        return new Promise(resolve => {\n          if (result) {\n            resolve(result);\n          } else {\n            provideResults = editors => {\n              resolve(editors);\n            };\n          }\n        });\n      },\n      get(id) {\n        if (arguments.length === 0) {\n          return editors.slice(0);\n        } else if (isString(id)) {\n          return find$2(editors, editor => {\n            return editor.id === id;\n          }).getOr(null);\n        } else if (isNumber(id)) {\n          return editors[id] ? editors[id] : null;\n        } else {\n          return null;\n        }\n      },\n      add(editor) {\n        const self = this;\n        const existingEditor = self.get(editor.id);\n        if (existingEditor === editor) {\n          return editor;\n        }\n        if (existingEditor === null) {\n          editors.push(editor);\n        }\n        toggleGlobalEvents(true);\n        self.activeEditor = editor;\n        self.dispatch('AddEditor', {\n          editor\n        });\n        if (!beforeUnloadDelegate) {\n          beforeUnloadDelegate = e => {\n            const event = self.dispatch('BeforeUnload');\n            if (event.returnValue) {\n              e.preventDefault();\n              e.returnValue = event.returnValue;\n              return event.returnValue;\n            }\n          };\n          window.addEventListener('beforeunload', beforeUnloadDelegate);\n        }\n        return editor;\n      },\n      createEditor(id, options) {\n        return this.add(new Editor(id, options, this));\n      },\n      remove(selector) {\n        const self = this;\n        let editor;\n        if (!selector) {\n          for (let i = editors.length - 1; i >= 0; i--) {\n            self.remove(editors[i]);\n          }\n          return;\n        }\n        if (isString(selector)) {\n          each(DOM.select(selector), elm => {\n            editor = self.get(elm.id);\n            if (editor) {\n              self.remove(editor);\n            }\n          });\n          return;\n        }\n        editor = selector;\n        if (isNull(self.get(editor.id))) {\n          return null;\n        }\n        if (removeEditorFromList(editor)) {\n          self.dispatch('RemoveEditor', {\n            editor\n          });\n        }\n        if (editors.length === 0) {\n          window.removeEventListener('beforeunload', beforeUnloadDelegate);\n        }\n        editor.remove();\n        toggleGlobalEvents(editors.length > 0);\n        return editor;\n      },\n      execCommand(cmd, ui, value) {\n        var _a;\n        const self = this;\n        const editorId = isObject(value) ? (_a = value.id) !== null && _a !== void 0 ? _a : value.index : value;\n        switch (cmd) {\n          case 'mceAddEditor':\n            {\n              if (!self.get(editorId)) {\n                const editorOptions = value.options;\n                new Editor(editorId, editorOptions, self).render();\n              }\n              return true;\n            }\n          case 'mceRemoveEditor':\n            {\n              const editor = self.get(editorId);\n              if (editor) {\n                editor.remove();\n              }\n              return true;\n            }\n          case 'mceToggleEditor':\n            {\n              const editor = self.get(editorId);\n              if (!editor) {\n                self.execCommand('mceAddEditor', false, value);\n                return true;\n              }\n              if (editor.isHidden()) {\n                editor.show();\n              } else {\n                editor.hide();\n              }\n              return true;\n            }\n        }\n        if (self.activeEditor) {\n          return self.activeEditor.execCommand(cmd, ui, value);\n        }\n        return false;\n      },\n      triggerSave: () => {\n        each(editors, editor => {\n          editor.save();\n        });\n      },\n      addI18n: (code, items) => {\n        I18n.add(code, items);\n      },\n      translate: text => {\n        return I18n.translate(text);\n      },\n      setActive(editor) {\n        const activeEditor = this.activeEditor;\n        if (this.activeEditor !== editor) {\n          if (activeEditor) {\n            activeEditor.dispatch('deactivate', {\n              relatedTarget: editor\n            });\n          }\n          editor.dispatch('activate', {\n            relatedTarget: activeEditor\n          });\n        }\n        this.activeEditor = editor;\n      },\n      _setBaseUrl(baseUrl) {\n        this.baseURL = new URI(this.documentBaseURL).toAbsolute(baseUrl.replace(/\\/+$/, ''));\n        this.baseURI = new URI(this.baseURL);\n      }\n    };\n    EditorManager.setup();\n\n    const setup = () => {\n      const dataValue = value$2();\n      const FakeClipboardItem = items => ({\n        items,\n        types: keys(items),\n        getType: type => get$a(items, type).getOrUndefined()\n      });\n      const write = data => {\n        dataValue.set(data);\n      };\n      const read = () => dataValue.get().getOrUndefined();\n      const clear = dataValue.clear;\n      return {\n        FakeClipboardItem,\n        write,\n        read,\n        clear\n      };\n    };\n    const FakeClipboard = setup();\n\n    const min = Math.min,\n      max = Math.max,\n      round = Math.round;\n    const relativePosition = (rect, targetRect, rel) => {\n      let x = targetRect.x;\n      let y = targetRect.y;\n      const w = rect.w;\n      const h = rect.h;\n      const targetW = targetRect.w;\n      const targetH = targetRect.h;\n      const relChars = (rel || '').split('');\n      if (relChars[0] === 'b') {\n        y += targetH;\n      }\n      if (relChars[1] === 'r') {\n        x += targetW;\n      }\n      if (relChars[0] === 'c') {\n        y += round(targetH / 2);\n      }\n      if (relChars[1] === 'c') {\n        x += round(targetW / 2);\n      }\n      if (relChars[3] === 'b') {\n        y -= h;\n      }\n      if (relChars[4] === 'r') {\n        x -= w;\n      }\n      if (relChars[3] === 'c') {\n        y -= round(h / 2);\n      }\n      if (relChars[4] === 'c') {\n        x -= round(w / 2);\n      }\n      return create$2(x, y, w, h);\n    };\n    const findBestRelativePosition = (rect, targetRect, constrainRect, rels) => {\n      for (let i = 0; i < rels.length; i++) {\n        const pos = relativePosition(rect, targetRect, rels[i]);\n        if (pos.x >= constrainRect.x && pos.x + pos.w <= constrainRect.w + constrainRect.x && pos.y >= constrainRect.y && pos.y + pos.h <= constrainRect.h + constrainRect.y) {\n          return rels[i];\n        }\n      }\n      return null;\n    };\n    const inflate = (rect, w, h) => {\n      return create$2(rect.x - w, rect.y - h, rect.w + w * 2, rect.h + h * 2);\n    };\n    const intersect = (rect, cropRect) => {\n      const x1 = max(rect.x, cropRect.x);\n      const y1 = max(rect.y, cropRect.y);\n      const x2 = min(rect.x + rect.w, cropRect.x + cropRect.w);\n      const y2 = min(rect.y + rect.h, cropRect.y + cropRect.h);\n      if (x2 - x1 < 0 || y2 - y1 < 0) {\n        return null;\n      }\n      return create$2(x1, y1, x2 - x1, y2 - y1);\n    };\n    const clamp = (rect, clampRect, fixedSize) => {\n      let x1 = rect.x;\n      let y1 = rect.y;\n      let x2 = rect.x + rect.w;\n      let y2 = rect.y + rect.h;\n      const cx2 = clampRect.x + clampRect.w;\n      const cy2 = clampRect.y + clampRect.h;\n      const underflowX1 = max(0, clampRect.x - x1);\n      const underflowY1 = max(0, clampRect.y - y1);\n      const overflowX2 = max(0, x2 - cx2);\n      const overflowY2 = max(0, y2 - cy2);\n      x1 += underflowX1;\n      y1 += underflowY1;\n      if (fixedSize) {\n        x2 += underflowX1;\n        y2 += underflowY1;\n        x1 -= overflowX2;\n        y1 -= overflowY2;\n      }\n      x2 -= overflowX2;\n      y2 -= overflowY2;\n      return create$2(x1, y1, x2 - x1, y2 - y1);\n    };\n    const create$2 = (x, y, w, h) => {\n      return {\n        x,\n        y,\n        w,\n        h\n      };\n    };\n    const fromClientRect = clientRect => {\n      return create$2(clientRect.left, clientRect.top, clientRect.width, clientRect.height);\n    };\n    const Rect = {\n      inflate,\n      relativePosition,\n      findBestRelativePosition,\n      intersect,\n      clamp,\n      create: create$2,\n      fromClientRect\n    };\n\n    const awaiter = (resolveCb, rejectCb, timeout = 1000) => {\n      let done = false;\n      let timer = null;\n      const complete = completer => (...args) => {\n        if (!done) {\n          done = true;\n          if (timer !== null) {\n            clearTimeout(timer);\n            timer = null;\n          }\n          completer.apply(null, args);\n        }\n      };\n      const resolve = complete(resolveCb);\n      const reject = complete(rejectCb);\n      const start = (...args) => {\n        if (!done && timer === null) {\n          timer = setTimeout(() => reject.apply(null, args), timeout);\n        }\n      };\n      return {\n        start,\n        resolve,\n        reject\n      };\n    };\n    const create$1 = () => {\n      const tasks = {};\n      const resultFns = {};\n      const resources = {};\n      const load = (id, url) => {\n        const loadErrMsg = \"Script at URL \\\"\".concat(url, \"\\\" failed to load\");\n        const runErrMsg = \"Script at URL \\\"\".concat(url, \"\\\" did not call `tinymce.Resource.add('\").concat(id, \"', data)` within 1 second\");\n        if (tasks[id] !== undefined) {\n          return tasks[id];\n        } else {\n          const task = new Promise((resolve, reject) => {\n            const waiter = awaiter(resolve, reject);\n            resultFns[id] = waiter.resolve;\n            ScriptLoader.ScriptLoader.loadScript(url).then(() => waiter.start(runErrMsg), () => waiter.reject(loadErrMsg));\n          });\n          tasks[id] = task;\n          return task;\n        }\n      };\n      const add = (id, data) => {\n        if (resultFns[id] !== undefined) {\n          resultFns[id](data);\n          delete resultFns[id];\n        }\n        tasks[id] = Promise.resolve(data);\n        resources[id] = data;\n      };\n      const has = id => {\n        return id in resources;\n      };\n      const unload = id => {\n        delete tasks[id];\n      };\n      const get = id => resources[id];\n      return {\n        load,\n        add,\n        has,\n        get,\n        unload\n      };\n    };\n    const Resource = create$1();\n\n    const create = () => (() => {\n      let data = {};\n      let keys = [];\n      const storage = {\n        getItem: key => {\n          const item = data[key];\n          return item ? item : null;\n        },\n        setItem: (key, value) => {\n          keys.push(key);\n          data[key] = String(value);\n        },\n        key: index => {\n          return keys[index];\n        },\n        removeItem: key => {\n          keys = keys.filter(k => k === key);\n          delete data[key];\n        },\n        clear: () => {\n          keys = [];\n          data = {};\n        },\n        length: 0\n      };\n      Object.defineProperty(storage, 'length', {\n        get: () => keys.length,\n        configurable: false,\n        enumerable: false\n      });\n      return storage;\n    })();\n\n    let localStorage;\n    try {\n      const test = '__storage_test__';\n      localStorage = window.localStorage;\n      localStorage.setItem(test, test);\n      localStorage.removeItem(test);\n    } catch (e) {\n      localStorage = create();\n    }\n    var LocalStorage = localStorage;\n\n    const publicApi = {\n      geom: {\n        Rect\n      },\n      util: {\n        Delay,\n        Tools,\n        VK,\n        URI,\n        EventDispatcher,\n        Observable,\n        I18n,\n        LocalStorage,\n        ImageUploader\n      },\n      dom: {\n        EventUtils,\n        TreeWalker: DomTreeWalker,\n        TextSeeker,\n        DOMUtils,\n        ScriptLoader,\n        RangeUtils,\n        Serializer: DomSerializer,\n        StyleSheetLoader,\n        ControlSelection,\n        BookmarkManager,\n        Selection: EditorSelection,\n        Event: EventUtils.Event\n      },\n      html: {\n        Styles,\n        Entities,\n        Node: AstNode,\n        Schema,\n        DomParser,\n        Writer,\n        Serializer: HtmlSerializer\n      },\n      Env,\n      AddOnManager,\n      Annotator,\n      Formatter,\n      UndoManager,\n      EditorCommands,\n      WindowManager,\n      NotificationManager,\n      EditorObservable,\n      Shortcuts,\n      Editor,\n      FocusManager,\n      EditorManager,\n      DOM: DOMUtils.DOM,\n      ScriptLoader: ScriptLoader.ScriptLoader,\n      PluginManager,\n      ThemeManager,\n      ModelManager,\n      IconManager,\n      Resource,\n      FakeClipboard,\n      trim: Tools.trim,\n      isArray: Tools.isArray,\n      is: Tools.is,\n      toArray: Tools.toArray,\n      makeMap: Tools.makeMap,\n      each: Tools.each,\n      map: Tools.map,\n      grep: Tools.grep,\n      inArray: Tools.inArray,\n      extend: Tools.extend,\n      walk: Tools.walk,\n      resolve: Tools.resolve,\n      explode: Tools.explode,\n      _addCacheSuffix: Tools._addCacheSuffix\n    };\n    const tinymce$1 = Tools.extend(EditorManager, publicApi);\n\n    const exportToModuleLoaders = tinymce => {\n      if (typeof module === 'object') {\n        try {\n          module.exports = tinymce;\n        } catch (_) {}\n      }\n    };\n    const exportToWindowGlobal = tinymce => {\n      window.tinymce = tinymce;\n      window.tinyMCE = tinymce;\n    };\n    if (!(window.tinymce || window.tinyMCE)) {\n      exportToWindowGlobal(tinymce$1);\n    }\n    exportToModuleLoaders(tinymce$1);\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$4 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    let unique = 0;\n    const generate = prefix => {\n      const date = new Date();\n      const time = date.getTime();\n      const random = Math.floor(Math.random() * 1000000000);\n      unique++;\n      return prefix + '_' + random + unique + String(time);\n    };\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const isString = isType$1('string');\n    const isBoolean = isSimpleType('boolean');\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n\n    const compose1 = (fbc, fab) => a => fbc(fab(a));\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const tripleEquals = (a, b) => {\n      return a === b;\n    };\n    const never = constant(false);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const nativeIndexOf = Array.prototype.indexOf;\n    const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t);\n    const contains = (xs, x) => rawIndexOf(xs, x) > -1;\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each$1 = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const filter = (xs, pred) => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    const foldl = (xs, f, acc) => {\n      each$1(xs, (x, i) => {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n\n    const keys = Object.keys;\n    const each = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const COMMENT = 8;\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n    const ELEMENT = 1;\n    const TEXT = 3;\n\n    const name = element => {\n      const r = element.dom.nodeName;\n      return r.toLowerCase();\n    };\n    const type = element => element.dom.nodeType;\n    const isType = t => element => type(element) === t;\n    const isComment = element => type(element) === COMMENT || name(element) === '#comment';\n    const isElement = isType(ELEMENT);\n    const isText = isType(TEXT);\n    const isDocument = isType(DOCUMENT);\n    const isDocumentFragment = isType(DOCUMENT_FRAGMENT);\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set$2 = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const setAll = (element, attrs) => {\n      const dom = element.dom;\n      each(attrs, (v, k) => {\n        rawSet(dom, k, v);\n      });\n    };\n    const get$2 = (element, key) => {\n      const v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    const getOpt = (element, key) => Optional.from(get$2(element, key));\n    const remove$2 = (element, key) => {\n      element.dom.removeAttribute(key);\n    };\n    const clone = element => foldl(element.dom.attributes, (acc, attr) => {\n      acc[attr.name] = attr.value;\n      return acc;\n    }, {});\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    const fromDom = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom,\n      fromPoint\n    };\n\n    const is$2 = (element, selector) => {\n      const dom = element.dom;\n      if (dom.nodeType !== ELEMENT) {\n        return false;\n      } else {\n        const elem = dom;\n        if (elem.matches !== undefined) {\n          return elem.matches(selector);\n        } else if (elem.msMatchesSelector !== undefined) {\n          return elem.msMatchesSelector(selector);\n        } else if (elem.webkitMatchesSelector !== undefined) {\n          return elem.webkitMatchesSelector(selector);\n        } else if (elem.mozMatchesSelector !== undefined) {\n          return elem.mozMatchesSelector(selector);\n        } else {\n          throw new Error('Browser lacks native selectors');\n        }\n      }\n    };\n    const bypassSelector = dom => dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;\n    const all = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? [] : map(base.querySelectorAll(selector), SugarElement.fromDom);\n    };\n    const one = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? Optional.none() : Optional.from(base.querySelector(selector)).map(SugarElement.fromDom);\n    };\n\n    const eq = (e1, e2) => e1.dom === e2.dom;\n    const is$1 = is$2;\n\n    const is = (lhs, rhs, comparator = tripleEquals) => lhs.exists(left => comparator(left, rhs));\n\n    const blank = r => s => s.replace(r, '');\n    const trim = blank(/^\\s+|\\s+$/g);\n\n    const isSupported = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n\n    const owner = element => SugarElement.fromDom(element.dom.ownerDocument);\n    const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos);\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const parents = (element, isRoot) => {\n      const stop = isFunction(isRoot) ? isRoot : never;\n      let dom = element.dom;\n      const ret = [];\n      while (dom.parentNode !== null && dom.parentNode !== undefined) {\n        const rawParent = dom.parentNode;\n        const p = SugarElement.fromDom(rawParent);\n        ret.push(p);\n        if (stop(p) === true) {\n          break;\n        } else {\n          dom = rawParent;\n        }\n      }\n      return ret;\n    };\n    const prevSibling = element => Optional.from(element.dom.previousSibling).map(SugarElement.fromDom);\n    const nextSibling = element => Optional.from(element.dom.nextSibling).map(SugarElement.fromDom);\n    const children = element => map(element.dom.childNodes, SugarElement.fromDom);\n    const child = (element, index) => {\n      const cs = element.dom.childNodes;\n      return Optional.from(cs[index]).map(SugarElement.fromDom);\n    };\n    const firstChild = element => child(element, 0);\n\n    const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host);\n    const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;\n    const getShadowRoot = e => {\n      const r = getRootNode(e);\n      return isShadowRoot(r) ? Optional.some(r) : Optional.none();\n    };\n    const getShadowHost = e => SugarElement.fromDom(e.dom.host);\n\n    const inBody = element => {\n      const dom = isText(element) ? element.dom.parentNode : element.dom;\n      if (dom === undefined || dom === null || dom.ownerDocument === null) {\n        return false;\n      }\n      const doc = dom.ownerDocument;\n      return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost));\n    };\n\n    const internalSet = (dom, property, value) => {\n      if (!isString(value)) {\n        console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);\n        throw new Error('CSS value must be a string: ' + value);\n      }\n      if (isSupported(dom)) {\n        dom.style.setProperty(property, value);\n      }\n    };\n    const internalRemove = (dom, property) => {\n      if (isSupported(dom)) {\n        dom.style.removeProperty(property);\n      }\n    };\n    const set$1 = (element, property, value) => {\n      const dom = element.dom;\n      internalSet(dom, property, value);\n    };\n    const get$1 = (element, property) => {\n      const dom = element.dom;\n      const styles = window.getComputedStyle(dom);\n      const r = styles.getPropertyValue(property);\n      return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r;\n    };\n    const getUnsafeProperty = (dom, property) => isSupported(dom) ? dom.style.getPropertyValue(property) : '';\n    const getRaw = (element, property) => {\n      const dom = element.dom;\n      const raw = getUnsafeProperty(dom, property);\n      return Optional.from(raw).filter(r => r.length > 0);\n    };\n    const remove$1 = (element, property) => {\n      const dom = element.dom;\n      internalRemove(dom, property);\n      if (is(getOpt(element, 'style').map(trim), '')) {\n        remove$2(element, 'style');\n      }\n    };\n\n    const before = (marker, element) => {\n      const parent$1 = parent(marker);\n      parent$1.each(v => {\n        v.dom.insertBefore(element.dom, marker.dom);\n      });\n    };\n    const after$1 = (marker, element) => {\n      const sibling = nextSibling(marker);\n      sibling.fold(() => {\n        const parent$1 = parent(marker);\n        parent$1.each(v => {\n          append$1(v, element);\n        });\n      }, v => {\n        before(v, element);\n      });\n    };\n    const prepend = (parent, element) => {\n      const firstChild$1 = firstChild(parent);\n      firstChild$1.fold(() => {\n        append$1(parent, element);\n      }, v => {\n        parent.dom.insertBefore(element.dom, v.dom);\n      });\n    };\n    const append$1 = (parent, element) => {\n      parent.dom.appendChild(element.dom);\n    };\n    const wrap = (element, wrapper) => {\n      before(element, wrapper);\n      append$1(wrapper, element);\n    };\n\n    const after = (marker, elements) => {\n      each$1(elements, (x, i) => {\n        const e = i === 0 ? marker : elements[i - 1];\n        after$1(e, x);\n      });\n    };\n    const append = (parent, elements) => {\n      each$1(elements, x => {\n        append$1(parent, x);\n      });\n    };\n\n    const descendants$1 = (scope, predicate) => {\n      let result = [];\n      each$1(children(scope), x => {\n        if (predicate(x)) {\n          result = result.concat([x]);\n        }\n        result = result.concat(descendants$1(x, predicate));\n      });\n      return result;\n    };\n\n    var ClosestOrAncestor = (is, ancestor, scope, a, isRoot) => {\n      if (is(scope, a)) {\n        return Optional.some(scope);\n      } else if (isFunction(isRoot) && isRoot(scope)) {\n        return Optional.none();\n      } else {\n        return ancestor(scope, a, isRoot);\n      }\n    };\n\n    const ancestor$1 = (scope, predicate, isRoot) => {\n      let element = scope.dom;\n      const stop = isFunction(isRoot) ? isRoot : never;\n      while (element.parentNode) {\n        element = element.parentNode;\n        const el = SugarElement.fromDom(element);\n        if (predicate(el)) {\n          return Optional.some(el);\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n\n    const remove = element => {\n      const dom = element.dom;\n      if (dom.parentNode !== null) {\n        dom.parentNode.removeChild(dom);\n      }\n    };\n    const unwrap = wrapper => {\n      const children$1 = children(wrapper);\n      if (children$1.length > 0) {\n        after(wrapper, children$1);\n      }\n      remove(wrapper);\n    };\n\n    const descendants = (scope, selector) => all(selector, scope);\n\n    const ancestor = (scope, selector, isRoot) => ancestor$1(scope, e => is$2(e, selector), isRoot);\n    const descendant = (scope, selector) => one(selector, scope);\n    const closest = (scope, selector, isRoot) => {\n      const is = (element, selector) => is$2(element, selector);\n      return ClosestOrAncestor(is, ancestor, scope, selector, isRoot);\n    };\n\n    const NodeValue = (is, name) => {\n      const get = element => {\n        if (!is(element)) {\n          throw new Error('Can only get ' + name + ' value of a ' + name + ' node');\n        }\n        return getOption(element).getOr('');\n      };\n      const getOption = element => is(element) ? Optional.from(element.dom.nodeValue) : Optional.none();\n      const set = (element, value) => {\n        if (!is(element)) {\n          throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node');\n        }\n        element.dom.nodeValue = value;\n      };\n      return {\n        get,\n        getOption,\n        set\n      };\n    };\n\n    const api = NodeValue(isText, 'text');\n    const get = element => api.get(element);\n    const set = (element, value) => api.set(element, value);\n\n    var TagBoundaries = ['body', 'p', 'div', 'article', 'aside', 'figcaption', 'figure', 'footer', 'header', 'nav', 'section', 'ol', 'ul', 'li', 'table', 'thead', 'tbody', 'tfoot', 'caption', 'tr', 'td', 'th', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'blockquote', 'pre', 'address'];\n\n    var DomUniverse = () => {\n      const clone$1 = element => {\n        return SugarElement.fromDom(element.dom.cloneNode(false));\n      };\n      const document = element => documentOrOwner(element).dom;\n      const isBoundary = element => {\n        if (!isElement(element)) {\n          return false;\n        }\n        if (name(element) === 'body') {\n          return true;\n        }\n        return contains(TagBoundaries, name(element));\n      };\n      const isEmptyTag = element => {\n        if (!isElement(element)) {\n          return false;\n        }\n        return contains(['br', 'img', 'hr', 'input'], name(element));\n      };\n      const isNonEditable = element => isElement(element) && get$2(element, 'contenteditable') === 'false';\n      const comparePosition = (element, other) => {\n        return element.dom.compareDocumentPosition(other.dom);\n      };\n      const copyAttributesTo = (source, destination) => {\n        const as = clone(source);\n        setAll(destination, as);\n      };\n      const isSpecial = element => {\n        const tag = name(element);\n        return contains(['script', 'noscript', 'iframe', 'noframes', 'noembed', 'title', 'style', 'textarea', 'xmp'], tag);\n      };\n      const getLanguage = element => isElement(element) ? getOpt(element, 'lang') : Optional.none();\n      return {\n        up: constant({\n          selector: ancestor,\n          closest: closest,\n          predicate: ancestor$1,\n          all: parents\n        }),\n        down: constant({\n          selector: descendants,\n          predicate: descendants$1\n        }),\n        styles: constant({\n          get: get$1,\n          getRaw: getRaw,\n          set: set$1,\n          remove: remove$1\n        }),\n        attrs: constant({\n          get: get$2,\n          set: set$2,\n          remove: remove$2,\n          copyTo: copyAttributesTo\n        }),\n        insert: constant({\n          before: before,\n          after: after$1,\n          afterAll: after,\n          append: append$1,\n          appendAll: append,\n          prepend: prepend,\n          wrap: wrap\n        }),\n        remove: constant({\n          unwrap: unwrap,\n          remove: remove\n        }),\n        create: constant({\n          nu: SugarElement.fromTag,\n          clone: clone$1,\n          text: SugarElement.fromText\n        }),\n        query: constant({\n          comparePosition,\n          prevSibling: prevSibling,\n          nextSibling: nextSibling\n        }),\n        property: constant({\n          children: children,\n          name: name,\n          parent: parent,\n          document,\n          isText: isText,\n          isComment: isComment,\n          isElement: isElement,\n          isSpecial,\n          getLanguage,\n          getText: get,\n          setText: set,\n          isBoundary,\n          isEmptyTag,\n          isNonEditable\n        }),\n        eq: eq,\n        is: is$1\n      };\n    };\n\n    const point = (element, offset) => ({\n      element,\n      offset\n    });\n\n    const scan = (universe, element, direction) => {\n      if (universe.property().isText(element) && universe.property().getText(element).trim().length === 0 || universe.property().isComment(element)) {\n        return direction(element).bind(elem => {\n          return scan(universe, elem, direction).orThunk(() => {\n            return Optional.some(elem);\n          });\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n    const toEnd = (universe, element) => {\n      if (universe.property().isText(element)) {\n        return universe.property().getText(element).length;\n      }\n      const children = universe.property().children(element);\n      return children.length;\n    };\n    const freefallRtl$2 = (universe, element) => {\n      const candidate = scan(universe, element, universe.query().prevSibling).getOr(element);\n      if (universe.property().isText(candidate)) {\n        return point(candidate, toEnd(universe, candidate));\n      }\n      const children = universe.property().children(candidate);\n      return children.length > 0 ? freefallRtl$2(universe, children[children.length - 1]) : point(candidate, toEnd(universe, candidate));\n    };\n\n    const freefallRtl$1 = freefallRtl$2;\n\n    const universe = DomUniverse();\n    const freefallRtl = element => {\n      return freefallRtl$1(universe, element);\n    };\n\n    const fireToggleAccordionEvent = (editor, element, state) => editor.dispatch('ToggledAccordion', {\n      element,\n      state\n    });\n    const fireToggleAllAccordionsEvent = (editor, elements, state) => editor.dispatch('ToggledAllAccordions', {\n      elements,\n      state\n    });\n\n    const accordionTag = 'details';\n    const accordionDetailsClass = 'mce-accordion';\n    const accordionSummaryClass = 'mce-accordion-summary';\n    const accordionBodyWrapperClass = 'mce-accordion-body';\n    const accordionBodyWrapperTag = 'div';\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const isSummary = node => (node === null || node === void 0 ? void 0 : node.nodeName) === 'SUMMARY';\n    const isDetails = node => (node === null || node === void 0 ? void 0 : node.nodeName) === 'DETAILS';\n    const isOpen = details => details.hasAttribute('open');\n    const isInSummary = editor => {\n      const node = editor.selection.getNode();\n      return isSummary(node) || Boolean(editor.dom.getParent(node, isSummary));\n    };\n    const isAtDetailsStart = editor => {\n      const rng = editor.selection.getRng();\n      return isDetails(rng.startContainer) && rng.collapsed && rng.startOffset === 0;\n    };\n    const isInsertAllowed = editor => !isInSummary(editor) && editor.dom.isEditable(editor.selection.getNode());\n    const getSelectedDetails = editor => Optional.from(editor.dom.getParent(editor.selection.getNode(), isDetails));\n    const isDetailsSelected = editor => getSelectedDetails(editor).isSome();\n    const insertBogus = element => {\n      element.innerHTML = '<br data-mce-bogus=\"1\" />';\n      return element;\n    };\n    const createParagraph = editor => insertBogus(editor.dom.create('p'));\n    const createSummary = editor => insertBogus(editor.dom.create('summary'));\n    const insertAndSelectParagraphAfter = (editor, target) => {\n      const paragraph = createParagraph(editor);\n      target.insertAdjacentElement('afterend', paragraph);\n      editor.selection.setCursorLocation(paragraph, 0);\n    };\n    const normalizeContent = (editor, accordion) => {\n      if (isSummary(accordion === null || accordion === void 0 ? void 0 : accordion.lastChild)) {\n        const paragraph = createParagraph(editor);\n        accordion.appendChild(paragraph);\n        editor.selection.setCursorLocation(paragraph, 0);\n      }\n    };\n    const normalizeSummary = (editor, accordion) => {\n      if (!isSummary(accordion === null || accordion === void 0 ? void 0 : accordion.firstChild)) {\n        const summary = createSummary(editor);\n        accordion.prepend(summary);\n        editor.selection.setCursorLocation(summary, 0);\n      }\n    };\n    const normalizeAccordion = editor => accordion => {\n      normalizeContent(editor, accordion);\n      normalizeSummary(editor, accordion);\n    };\n    const normalizeDetails = editor => {\n      global$3.each(global$3.grep(editor.dom.select('details', editor.getBody())), normalizeAccordion(editor));\n    };\n\n    const insertAccordion = editor => {\n      if (!isInsertAllowed(editor)) {\n        return;\n      }\n      const editorBody = SugarElement.fromDom(editor.getBody());\n      const uid = generate('acc');\n      const summaryText = editor.dom.encode(editor.selection.getRng().toString() || editor.translate('Accordion summary...'));\n      const bodyText = editor.dom.encode(editor.translate('Accordion body...'));\n      const accordionSummaryHtml = \"<summary class=\\\"\".concat(accordionSummaryClass, \"\\\">\").concat(summaryText, \"</summary>\");\n      const accordionBodyHtml = \"<\".concat(accordionBodyWrapperTag, \" class=\\\"\").concat(accordionBodyWrapperClass, \"\\\"><p>\").concat(bodyText, \"</p></\").concat(accordionBodyWrapperTag, \">\");\n      editor.undoManager.transact(() => {\n        editor.insertContent([\"<details data-mce-id=\\\"\".concat(uid, \"\\\" class=\\\"\").concat(accordionDetailsClass, \"\\\" open=\\\"open\\\">\"), accordionSummaryHtml, accordionBodyHtml, \"</details>\"].join(''));\n        descendant(editorBody, \"[data-mce-id=\\\"\".concat(uid, \"\\\"]\")).each(detailsElm => {\n          remove$2(detailsElm, 'data-mce-id');\n          descendant(detailsElm, \"summary\").each(summaryElm => {\n            const rng = editor.dom.createRng();\n            const des = freefallRtl(summaryElm);\n            rng.setStart(des.element.dom, des.offset);\n            rng.setEnd(des.element.dom, des.offset);\n            editor.selection.setRng(rng);\n          });\n        });\n      });\n    };\n    const toggleDetailsElement = (details, state) => {\n      const shouldOpen = state !== null && state !== void 0 ? state : !isOpen(details);\n      if (shouldOpen) {\n        details.setAttribute('open', 'open');\n      } else {\n        details.removeAttribute('open');\n      }\n      return shouldOpen;\n    };\n    const toggleAccordion = (editor, state) => {\n      getSelectedDetails(editor).each(details => {\n        fireToggleAccordionEvent(editor, details, toggleDetailsElement(details, state));\n      });\n    };\n    const removeAccordion = editor => {\n      getSelectedDetails(editor).each(details => {\n        const {\n          nextSibling\n        } = details;\n        if (nextSibling) {\n          editor.selection.select(nextSibling, true);\n          editor.selection.collapse(true);\n        } else {\n          insertAndSelectParagraphAfter(editor, details);\n        }\n        details.remove();\n      });\n    };\n    const toggleAllAccordions = (editor, state) => {\n      const accordions = Array.from(editor.getBody().querySelectorAll('details'));\n      if (accordions.length === 0) {\n        return;\n      }\n      each$1(accordions, accordion => toggleDetailsElement(accordion, state !== null && state !== void 0 ? state : !isOpen(accordion)));\n      fireToggleAllAccordionsEvent(editor, accordions, state);\n    };\n\n    const register$1 = editor => {\n      editor.addCommand('InsertAccordion', () => insertAccordion(editor));\n      editor.addCommand('ToggleAccordion', (_ui, value) => toggleAccordion(editor, value));\n      editor.addCommand('ToggleAllAccordions', (_ui, value) => toggleAllAccordions(editor, value));\n      editor.addCommand('RemoveAccordion', () => removeAccordion(editor));\n    };\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.html.Node');\n\n    const getClassList = node => {\n      var _a, _b;\n      return (_b = (_a = node.attr('class')) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];\n    };\n    const addClasses = (node, classes) => {\n      const classListSet = new Set([...getClassList(node), ...classes]);\n      const newClassList = Array.from(classListSet);\n      if (newClassList.length > 0) {\n        node.attr('class', newClassList.join(' '));\n      }\n    };\n    const removeClasses = (node, classes) => {\n      const newClassList = filter(getClassList(node), clazz => !classes.has(clazz));\n      node.attr('class', newClassList.length > 0 ? newClassList.join(' ') : null);\n    };\n    const isAccordionDetailsNode = node => node.name === accordionTag && contains(getClassList(node), accordionDetailsClass);\n    const isAccordionBodyWrapperNode = node => node.name === accordionBodyWrapperTag && contains(getClassList(node), accordionBodyWrapperClass);\n    const getAccordionChildren = accordionNode => {\n      const children = accordionNode.children();\n      let summaryNode;\n      let wrapperNode;\n      const otherNodes = [];\n      for (let i = 0; i < children.length; i++) {\n        const child = children[i];\n        if (child.name === 'summary' && isNullable(summaryNode)) {\n          summaryNode = child;\n        } else if (isAccordionBodyWrapperNode(child) && isNullable(wrapperNode)) {\n          wrapperNode = child;\n        } else {\n          otherNodes.push(child);\n        }\n      }\n      return {\n        summaryNode,\n        wrapperNode,\n        otherNodes\n      };\n    };\n    const padInputNode = node => {\n      const br = new global$2('br', 1);\n      br.attr('data-mce-bogus', '1');\n      node.empty();\n      node.append(br);\n    };\n    const setup$2 = editor => {\n      editor.on('PreInit', () => {\n        const {\n          serializer,\n          parser\n        } = editor;\n        parser.addNodeFilter(accordionTag, nodes => {\n          for (let i = 0; i < nodes.length; i++) {\n            const node = nodes[i];\n            if (isAccordionDetailsNode(node)) {\n              const accordionNode = node;\n              const {\n                summaryNode,\n                wrapperNode,\n                otherNodes\n              } = getAccordionChildren(accordionNode);\n              const hasSummaryNode = isNonNullable(summaryNode);\n              const newSummaryNode = hasSummaryNode ? summaryNode : new global$2('summary', 1);\n              if (isNullable(newSummaryNode.firstChild)) {\n                padInputNode(newSummaryNode);\n              }\n              addClasses(newSummaryNode, [accordionSummaryClass]);\n              if (!hasSummaryNode) {\n                if (isNonNullable(accordionNode.firstChild)) {\n                  accordionNode.insert(newSummaryNode, accordionNode.firstChild, true);\n                } else {\n                  accordionNode.append(newSummaryNode);\n                }\n              }\n              const hasWrapperNode = isNonNullable(wrapperNode);\n              const newWrapperNode = hasWrapperNode ? wrapperNode : new global$2(accordionBodyWrapperTag, 1);\n              newWrapperNode.attr('data-mce-bogus', '1');\n              addClasses(newWrapperNode, [accordionBodyWrapperClass]);\n              if (otherNodes.length > 0) {\n                for (let j = 0; j < otherNodes.length; j++) {\n                  const otherNode = otherNodes[j];\n                  newWrapperNode.append(otherNode);\n                }\n              }\n              if (isNullable(newWrapperNode.firstChild)) {\n                const pNode = new global$2('p', 1);\n                padInputNode(pNode);\n                newWrapperNode.append(pNode);\n              }\n              if (!hasWrapperNode) {\n                accordionNode.append(newWrapperNode);\n              }\n            }\n          }\n        });\n        serializer.addNodeFilter(accordionTag, nodes => {\n          const summaryClassRemoveSet = new Set([accordionSummaryClass]);\n          for (let i = 0; i < nodes.length; i++) {\n            const node = nodes[i];\n            if (isAccordionDetailsNode(node)) {\n              const accordionNode = node;\n              const {\n                summaryNode,\n                wrapperNode\n              } = getAccordionChildren(accordionNode);\n              if (isNonNullable(summaryNode)) {\n                removeClasses(summaryNode, summaryClassRemoveSet);\n              }\n              if (isNonNullable(wrapperNode)) {\n                wrapperNode.unwrap();\n              }\n            }\n          }\n        });\n      });\n    };\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.util.VK');\n\n    const setupEnterKeyInSummary = editor => {\n      editor.on('keydown', event => {\n        if (!event.shiftKey && event.keyCode === global$1.ENTER && isInSummary(editor) || isAtDetailsStart(editor)) {\n          event.preventDefault();\n          editor.execCommand('ToggleAccordion');\n        }\n      });\n    };\n    const setup$1 = editor => {\n      setupEnterKeyInSummary(editor);\n      editor.on('ExecCommand', e => {\n        const cmd = e.command.toLowerCase();\n        if ((cmd === 'delete' || cmd === 'forwarddelete') && isDetailsSelected(editor)) {\n          normalizeDetails(editor);\n        }\n      });\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.Env');\n\n    const setup = editor => {\n      if (global.browser.isSafari()) {\n        editor.on('click', e => {\n          if (isSummary(e.target)) {\n            const summary = e.target;\n            const rng = editor.selection.getRng();\n            if (rng.collapsed && rng.startContainer === summary.parentNode && rng.startOffset === 0) {\n              editor.selection.setCursorLocation(summary, 0);\n            }\n          }\n        });\n      }\n    };\n\n    const onSetup = editor => buttonApi => {\n      const onNodeChange = () => buttonApi.setEnabled(isInsertAllowed(editor));\n      editor.on('NodeChange', onNodeChange);\n      return () => editor.off('NodeChange', onNodeChange);\n    };\n    const register = editor => {\n      const onAction = () => editor.execCommand('InsertAccordion');\n      editor.ui.registry.addButton('accordion', {\n        icon: 'accordion',\n        tooltip: 'Insert accordion',\n        onSetup: onSetup(editor),\n        onAction\n      });\n      editor.ui.registry.addMenuItem('accordion', {\n        icon: 'accordion',\n        text: 'Accordion',\n        onSetup: onSetup(editor),\n        onAction\n      });\n      editor.ui.registry.addToggleButton('accordiontoggle', {\n        icon: 'accordion-toggle',\n        tooltip: 'Toggle accordion',\n        onAction: () => editor.execCommand('ToggleAccordion')\n      });\n      editor.ui.registry.addToggleButton('accordionremove', {\n        icon: 'remove',\n        tooltip: 'Delete accordion',\n        onAction: () => editor.execCommand('RemoveAccordion')\n      });\n      editor.ui.registry.addContextToolbar('accordion', {\n        predicate: accordion => editor.dom.is(accordion, 'details') && editor.getBody().contains(accordion) && editor.dom.isEditable(accordion.parentNode),\n        items: 'accordiontoggle accordionremove',\n        scope: 'node',\n        position: 'node'\n      });\n    };\n\n    var Plugin = () => {\n      global$4.add('accordion', editor => {\n        register(editor);\n        register$1(editor);\n        setup$1(editor);\n        setup$2(editor);\n        setup(editor);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const applyListFormat = (editor, listName, styleValue) => {\n      const cmd = listName === 'UL' ? 'InsertUnorderedList' : 'InsertOrderedList';\n      editor.execCommand(cmd, false, styleValue === false ? null : {\n        'list-style-type': styleValue\n      });\n    };\n\n    const register$2 = editor => {\n      editor.addCommand('ApplyUnorderedListStyle', (ui, value) => {\n        applyListFormat(editor, 'UL', value['list-style-type']);\n      });\n      editor.addCommand('ApplyOrderedListStyle', (ui, value) => {\n        applyListFormat(editor, 'OL', value['list-style-type']);\n      });\n    };\n\n    const option = name => editor => editor.options.get(name);\n    const register$1 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('advlist_number_styles', {\n        processor: 'string[]',\n        default: 'default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman'.split(',')\n      });\n      registerOption('advlist_bullet_styles', {\n        processor: 'string[]',\n        default: 'default,circle,square'.split(',')\n      });\n    };\n    const getNumberStyles = option('advlist_number_styles');\n    const getBulletStyles = option('advlist_bullet_styles');\n\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const findUntil = (xs, pred, until) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(x);\n        } else if (until(x, i)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n\n    const isCustomList = list => /\\btox\\-/.test(list.className);\n    const isChildOfBody = (editor, elm) => {\n      return editor.dom.isChildOf(elm, editor.getBody());\n    };\n    const matchNodeNames = regex => node => isNonNullable(node) && regex.test(node.nodeName);\n    const isListNode = matchNodeNames(/^(OL|UL|DL)$/);\n    const isTableCellNode = matchNodeNames(/^(TH|TD)$/);\n    const inList = (editor, parents, nodeName) => findUntil(parents, parent => isListNode(parent) && !isCustomList(parent), isTableCellNode).exists(list => list.nodeName === nodeName && isChildOfBody(editor, list));\n    const getSelectedStyleType = editor => {\n      const listElm = editor.dom.getParent(editor.selection.getNode(), 'ol,ul');\n      const style = editor.dom.getStyle(listElm, 'listStyleType');\n      return Optional.from(style);\n    };\n    const isWithinNonEditable = (editor, element) => element !== null && !editor.dom.isEditable(element);\n    const isWithinNonEditableList = (editor, element) => {\n      const parentList = editor.dom.getParent(element, 'ol,ul,dl');\n      return isWithinNonEditable(editor, parentList) && editor.selection.isEditable();\n    };\n    const setNodeChangeHandler = (editor, nodeChangeHandler) => {\n      const initialNode = editor.selection.getNode();\n      nodeChangeHandler({\n        parents: editor.dom.getParents(initialNode),\n        element: initialNode\n      });\n      editor.on('NodeChange', nodeChangeHandler);\n      return () => editor.off('NodeChange', nodeChangeHandler);\n    };\n\n    const styleValueToText = styleValue => {\n      return styleValue.replace(/\\-/g, ' ').replace(/\\b\\w/g, chr => {\n        return chr.toUpperCase();\n      });\n    };\n    const normalizeStyleValue = styleValue => isNullable(styleValue) || styleValue === 'default' ? '' : styleValue;\n    const makeSetupHandler = (editor, nodeName) => api => {\n      const updateButtonState = (editor, parents) => {\n        const element = editor.selection.getStart(true);\n        api.setActive(inList(editor, parents, nodeName));\n        api.setEnabled(!isWithinNonEditableList(editor, element) && editor.selection.isEditable());\n      };\n      const nodeChangeHandler = e => updateButtonState(editor, e.parents);\n      return setNodeChangeHandler(editor, nodeChangeHandler);\n    };\n    const addSplitButton = (editor, id, tooltip, cmd, nodeName, styles) => {\n      editor.ui.registry.addSplitButton(id, {\n        tooltip,\n        icon: nodeName === 'OL' ? 'ordered-list' : 'unordered-list',\n        presets: 'listpreview',\n        columns: 3,\n        fetch: callback => {\n          const items = global.map(styles, styleValue => {\n            const iconStyle = nodeName === 'OL' ? 'num' : 'bull';\n            const iconName = styleValue === 'disc' || styleValue === 'decimal' ? 'default' : styleValue;\n            const itemValue = normalizeStyleValue(styleValue);\n            const displayText = styleValueToText(styleValue);\n            return {\n              type: 'choiceitem',\n              value: itemValue,\n              icon: 'list-' + iconStyle + '-' + iconName,\n              text: displayText\n            };\n          });\n          callback(items);\n        },\n        onAction: () => editor.execCommand(cmd),\n        onItemAction: (_splitButtonApi, value) => {\n          applyListFormat(editor, nodeName, value);\n        },\n        select: value => {\n          const listStyleType = getSelectedStyleType(editor);\n          return listStyleType.map(listStyle => value === listStyle).getOr(false);\n        },\n        onSetup: makeSetupHandler(editor, nodeName)\n      });\n    };\n    const addButton = (editor, id, tooltip, cmd, nodeName, styleValue) => {\n      editor.ui.registry.addToggleButton(id, {\n        active: false,\n        tooltip,\n        icon: nodeName === 'OL' ? 'ordered-list' : 'unordered-list',\n        onSetup: makeSetupHandler(editor, nodeName),\n        onAction: () => editor.queryCommandState(cmd) || styleValue === '' ? editor.execCommand(cmd) : applyListFormat(editor, nodeName, styleValue)\n      });\n    };\n    const addControl = (editor, id, tooltip, cmd, nodeName, styles) => {\n      if (styles.length > 1) {\n        addSplitButton(editor, id, tooltip, cmd, nodeName, styles);\n      } else {\n        addButton(editor, id, tooltip, cmd, nodeName, normalizeStyleValue(styles[0]));\n      }\n    };\n    const register = editor => {\n      addControl(editor, 'numlist', 'Numbered list', 'InsertOrderedList', 'OL', getNumberStyles(editor));\n      addControl(editor, 'bullist', 'Bullet list', 'InsertUnorderedList', 'UL', getBulletStyles(editor));\n    };\n\n    var Plugin = () => {\n      global$1.add('advlist', editor => {\n        if (editor.hasPlugin('lists')) {\n          register$1(editor);\n          register(editor);\n          register$2(editor);\n        } else {\n          console.error('Please use the Lists plugin together with the Advanced List plugin.');\n        }\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var Plugin = () => {\n      global.add('align_listitems', editor => {\n        const addListStylePosition = node => node ? editor.dom.setStyle(node, 'list-style-position', 'inside') : null;\n        editor.on('ExecCommand', ({\n          command,\n          target\n        }) => {\n          let tag;\n          switch (command) {\n            case 'InsertOrderedList':\n              tag = 'ol';\n              break;\n            case 'InsertUnorderedList':\n              tag = 'ul';\n              break;\n            default:\n              return;\n          }\n          const node = target.selection.getStart().closest(tag);\n          addListStylePosition(node);\n        });\n        editor.on('PastePostProcess', ({\n          node\n        }) => {\n          const nodes = [...node.querySelectorAll('ol,ul')];\n          nodes.forEach(addListStylePosition);\n        });\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.dom.RangeUtils');\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const option = name => editor => editor.options.get(name);\n    const register$2 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('allow_html_in_named_anchor', {\n        processor: 'boolean',\n        default: false\n      });\n    };\n    const allowHtmlInNamedAnchor = option('allow_html_in_named_anchor');\n\n    const namedAnchorSelector = 'a:not([href])';\n    const isEmptyString = str => !str;\n    const getIdFromAnchor = elm => {\n      const id = elm.getAttribute('id') || elm.getAttribute('name');\n      return id || '';\n    };\n    const isAnchor = elm => elm.nodeName.toLowerCase() === 'a';\n    const isNamedAnchor = elm => isAnchor(elm) && !elm.getAttribute('href') && getIdFromAnchor(elm) !== '';\n    const isEmptyNamedAnchor = elm => isNamedAnchor(elm) && !elm.firstChild;\n\n    const removeEmptyNamedAnchorsInSelection = editor => {\n      const dom = editor.dom;\n      global$1(dom).walk(editor.selection.getRng(), nodes => {\n        global.each(nodes, node => {\n          if (isEmptyNamedAnchor(node)) {\n            dom.remove(node, false);\n          }\n        });\n      });\n    };\n    const isValidId = id => /^[A-Za-z][A-Za-z0-9\\-:._]*$/.test(id);\n    const getNamedAnchor = editor => editor.dom.getParent(editor.selection.getStart(), namedAnchorSelector);\n    const getId = editor => {\n      const anchor = getNamedAnchor(editor);\n      if (anchor) {\n        return getIdFromAnchor(anchor);\n      } else {\n        return '';\n      }\n    };\n    const createAnchor = (editor, id) => {\n      editor.undoManager.transact(() => {\n        if (!allowHtmlInNamedAnchor(editor)) {\n          editor.selection.collapse(true);\n        }\n        if (editor.selection.isCollapsed()) {\n          editor.insertContent(editor.dom.createHTML('a', {\n            id\n          }));\n        } else {\n          removeEmptyNamedAnchorsInSelection(editor);\n          editor.formatter.remove('namedAnchor', undefined, undefined, true);\n          editor.formatter.apply('namedAnchor', {\n            value: id\n          });\n          editor.addVisual();\n        }\n      });\n    };\n    const updateAnchor = (editor, id, anchorElement) => {\n      anchorElement.removeAttribute('name');\n      anchorElement.id = id;\n      editor.addVisual();\n      editor.undoManager.add();\n    };\n    const insert = (editor, id) => {\n      const anchor = getNamedAnchor(editor);\n      if (anchor) {\n        updateAnchor(editor, id, anchor);\n      } else {\n        createAnchor(editor, id);\n      }\n      editor.focus();\n    };\n\n    const insertAnchor = (editor, newId) => {\n      if (!isValidId(newId)) {\n        editor.windowManager.alert('ID should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.');\n        return false;\n      } else {\n        insert(editor, newId);\n        return true;\n      }\n    };\n    const open = editor => {\n      const currentId = getId(editor);\n      editor.windowManager.open({\n        title: 'Anchor',\n        size: 'normal',\n        body: {\n          type: 'panel',\n          items: [{\n            name: 'id',\n            type: 'input',\n            label: 'ID',\n            placeholder: 'example'\n          }]\n        },\n        buttons: [{\n          type: 'cancel',\n          name: 'cancel',\n          text: 'Cancel'\n        }, {\n          type: 'submit',\n          name: 'save',\n          text: 'Save',\n          primary: true\n        }],\n        initialData: {\n          id: currentId\n        },\n        onSubmit: api => {\n          if (insertAnchor(editor, api.getData().id)) {\n            api.close();\n          }\n        }\n      });\n    };\n\n    const register$1 = editor => {\n      editor.addCommand('mceAnchor', () => {\n        open(editor);\n      });\n    };\n\n    const isNamedAnchorNode = node => isEmptyString(node.attr('href')) && !isEmptyString(node.attr('id') || node.attr('name'));\n    const isEmptyNamedAnchorNode = node => isNamedAnchorNode(node) && !node.firstChild;\n    const setContentEditable = state => nodes => {\n      for (let i = 0; i < nodes.length; i++) {\n        const node = nodes[i];\n        if (isEmptyNamedAnchorNode(node)) {\n          node.attr('contenteditable', state);\n        }\n      }\n    };\n    const setup = editor => {\n      editor.on('PreInit', () => {\n        editor.parser.addNodeFilter('a', setContentEditable('false'));\n        editor.serializer.addNodeFilter('a', setContentEditable(null));\n      });\n    };\n\n    const registerFormats = editor => {\n      editor.formatter.register('namedAnchor', {\n        inline: 'a',\n        selector: namedAnchorSelector,\n        remove: 'all',\n        split: true,\n        deep: true,\n        attributes: {\n          id: '%value'\n        },\n        onmatch: (node, _fmt, _itemName) => {\n          return isNamedAnchor(node);\n        }\n      });\n    };\n\n    const onSetupEditable = editor => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const register = editor => {\n      const onAction = () => editor.execCommand('mceAnchor');\n      editor.ui.registry.addToggleButton('anchor', {\n        icon: 'bookmark',\n        tooltip: 'Anchor',\n        onAction,\n        onSetup: buttonApi => {\n          const unbindSelectorChanged = editor.selection.selectorChangedWithUnbind('a:not([href])', buttonApi.setActive).unbind;\n          const unbindEditableChanged = onSetupEditable(editor)(buttonApi);\n          return () => {\n            unbindSelectorChanged();\n            unbindEditableChanged();\n          };\n        }\n      });\n      editor.ui.registry.addMenuItem('anchor', {\n        icon: 'bookmark',\n        text: 'Anchor...',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n    };\n\n    var Plugin = () => {\n      global$2.add('anchor', editor => {\n        register$2(editor);\n        setup(editor);\n        register$1(editor);\n        register(editor);\n        editor.on('PreInit', () => {\n          registerFormats(editor);\n        });\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n  'use strict';\n\n  var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n  const link = () => /(?:[A-Za-z][A-Za-z\\d.+-]{0,14}:\\/\\/(?:[-.~*+=!&;:'%@?^${}(),\\w]+@)?|www\\.|[-;:&=+$,.\\w]+@)[A-Za-z\\d-]+(?:\\.[A-Za-z\\d-]+)*(?::\\d+)?(?:\\/(?:[-.~*+=!;:'%@$(),\\/\\w]*[-~*+=%@$()\\/\\w])?)?(?:\\?(?:[-.~*+=!&;:'%@?^${}(),\\/\\w]+))?(?:#(?:[-.~*+=!&;:'%@?^${}(),\\/\\w]+))?/g;\n\n  const option = name => editor => editor.options.get(name);\n  const register = editor => {\n    const registerOption = editor.options.register;\n    registerOption('autolink_pattern', {\n      processor: 'regexp',\n      default: new RegExp('^' + link().source + '$', 'i')\n    });\n    registerOption('link_default_target', {\n      processor: 'string'\n    });\n    registerOption('link_default_protocol', {\n      processor: 'string',\n      default: 'https'\n    });\n  };\n  const getAutoLinkPattern = option('autolink_pattern');\n  const getDefaultLinkTarget = option('link_default_target');\n  const getDefaultLinkProtocol = option('link_default_protocol');\n  const allowUnsafeLinkTarget = option('allow_unsafe_link_target');\n\n  const hasProto = (v, constructor, predicate) => {\n    var _a;\n    if (predicate(v, constructor.prototype)) {\n      return true;\n    } else {\n      return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n    }\n  };\n  const typeOf = x => {\n    const t = typeof x;\n    if (x === null) {\n      return 'null';\n    } else if (t === 'object' && Array.isArray(x)) {\n      return 'array';\n    } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n      return 'string';\n    } else {\n      return t;\n    }\n  };\n  const isType = type => value => typeOf(value) === type;\n  const eq = t => a => t === a;\n  const isString = isType('string');\n  const isUndefined = eq(undefined);\n  const isNullable = a => a === null || a === undefined;\n  const isNonNullable = a => !isNullable(a);\n\n  const not = f => t => !f(t);\n\n  const hasOwnProperty = Object.hasOwnProperty;\n  const has = (obj, key) => hasOwnProperty.call(obj, key);\n\n  const checkRange = (str, substr, start) => substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr;\n  const contains = (str, substr, start = 0, end) => {\n    const idx = str.indexOf(substr, start);\n    if (idx !== -1) {\n      return isUndefined(end) ? true : idx + substr.length <= end;\n    } else {\n      return false;\n    }\n  };\n  const startsWith = (str, prefix) => {\n    return checkRange(str, prefix, 0);\n  };\n\n  const zeroWidth = '\\uFEFF';\n  const isZwsp = char => char === zeroWidth;\n  const removeZwsp = s => s.replace(/\\uFEFF/g, '');\n\n  var global = tinymce.util.Tools.resolve('tinymce.dom.TextSeeker');\n\n  const isTextNode = node => node.nodeType === 3;\n  const isElement = node => node.nodeType === 1;\n  const isBracketOrSpace = char => /^[(\\[{ \\u00a0]$/.test(char);\n  const hasProtocol = url => /^([A-Za-z][A-Za-z\\d.+-]*:\\/\\/)|mailto:/.test(url);\n  const isPunctuation = char => /[?!,.;:]/.test(char);\n  const findChar = (text, index, predicate) => {\n    for (let i = index - 1; i >= 0; i--) {\n      const char = text.charAt(i);\n      if (!isZwsp(char) && predicate(char)) {\n        return i;\n      }\n    }\n    return -1;\n  };\n  const freefallRtl = (container, offset) => {\n    let tempNode = container;\n    let tempOffset = offset;\n    while (isElement(tempNode) && tempNode.childNodes[tempOffset]) {\n      tempNode = tempNode.childNodes[tempOffset];\n      tempOffset = isTextNode(tempNode) ? tempNode.data.length : tempNode.childNodes.length;\n    }\n    return {\n      container: tempNode,\n      offset: tempOffset\n    };\n  };\n\n  const parseCurrentLine = (editor, offset) => {\n    var _a;\n    const voidElements = editor.schema.getVoidElements();\n    const autoLinkPattern = getAutoLinkPattern(editor);\n    const {\n      dom,\n      selection\n    } = editor;\n    if (dom.getParent(selection.getNode(), 'a[href]') !== null) {\n      return null;\n    }\n    const rng = selection.getRng();\n    const textSeeker = global(dom, node => {\n      return dom.isBlock(node) || has(voidElements, node.nodeName.toLowerCase()) || dom.getContentEditable(node) === 'false';\n    });\n    const {\n      container: endContainer,\n      offset: endOffset\n    } = freefallRtl(rng.endContainer, rng.endOffset);\n    const root = (_a = dom.getParent(endContainer, dom.isBlock)) !== null && _a !== void 0 ? _a : dom.getRoot();\n    const endSpot = textSeeker.backwards(endContainer, endOffset + offset, (node, offset) => {\n      const text = node.data;\n      const idx = findChar(text, offset, not(isBracketOrSpace));\n      return idx === -1 || isPunctuation(text[idx]) ? idx : idx + 1;\n    }, root);\n    if (!endSpot) {\n      return null;\n    }\n    let lastTextNode = endSpot.container;\n    const startSpot = textSeeker.backwards(endSpot.container, endSpot.offset, (node, offset) => {\n      lastTextNode = node;\n      const idx = findChar(node.data, offset, isBracketOrSpace);\n      return idx === -1 ? idx : idx + 1;\n    }, root);\n    const newRng = dom.createRng();\n    if (!startSpot) {\n      newRng.setStart(lastTextNode, 0);\n    } else {\n      newRng.setStart(startSpot.container, startSpot.offset);\n    }\n    newRng.setEnd(endSpot.container, endSpot.offset);\n    const rngText = removeZwsp(newRng.toString());\n    const matches = rngText.match(autoLinkPattern);\n    if (matches) {\n      let url = matches[0];\n      if (startsWith(url, 'www.')) {\n        const protocol = getDefaultLinkProtocol(editor);\n        url = protocol + '://' + url;\n      } else if (contains(url, '@') && !hasProtocol(url)) {\n        url = 'mailto:' + url;\n      }\n      return {\n        rng: newRng,\n        url\n      };\n    } else {\n      return null;\n    }\n  };\n  const convertToLink = (editor, result) => {\n    const {\n      dom,\n      selection\n    } = editor;\n    const {\n      rng,\n      url\n    } = result;\n    const bookmark = selection.getBookmark();\n    selection.setRng(rng);\n    const command = 'createlink';\n    const args = {\n      command,\n      ui: false,\n      value: url\n    };\n    const beforeExecEvent = editor.dispatch('BeforeExecCommand', args);\n    if (!beforeExecEvent.isDefaultPrevented()) {\n      editor.getDoc().execCommand(command, false, url);\n      editor.dispatch('ExecCommand', args);\n      const defaultLinkTarget = getDefaultLinkTarget(editor);\n      if (isString(defaultLinkTarget)) {\n        const anchor = selection.getNode();\n        dom.setAttrib(anchor, 'target', defaultLinkTarget);\n        if (defaultLinkTarget === '_blank' && !allowUnsafeLinkTarget(editor)) {\n          dom.setAttrib(anchor, 'rel', 'noopener');\n        }\n      }\n    }\n    selection.moveToBookmark(bookmark);\n    editor.nodeChanged();\n  };\n  const handleSpacebar = editor => {\n    const result = parseCurrentLine(editor, -1);\n    if (isNonNullable(result)) {\n      convertToLink(editor, result);\n    }\n  };\n  const handleBracket = handleSpacebar;\n  const handleEnter = editor => {\n    const result = parseCurrentLine(editor, 0);\n    if (isNonNullable(result)) {\n      convertToLink(editor, result);\n    }\n  };\n  const setup = editor => {\n    editor.on('keydown', e => {\n      if (e.keyCode === 13 && !e.isDefaultPrevented()) {\n        handleEnter(editor);\n      }\n    });\n    editor.on('keyup', e => {\n      if (e.keyCode === 32) {\n        handleSpacebar(editor);\n      } else if (e.keyCode === 48 && e.shiftKey || e.keyCode === 221) {\n        handleBracket(editor);\n      }\n    });\n  };\n\n  var Plugin = () => {\n    global$1.add('autolink', editor => {\n      register(editor);\n      setup(editor);\n    });\n  };\n\n  Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const fireInsertCustomChar = (editor, chr) => {\n      return editor.dispatch('insertCustomChar', {\n        chr\n      });\n    };\n\n    const insertChar = (editor, chr) => {\n      const evtChr = fireInsertCustomChar(editor, chr).chr;\n      editor.execCommand('mceInsertContent', false, evtChr);\n    };\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const eq = t => a => t === a;\n    const isArray$1 = isType('array');\n    const isNull = eq(null);\n    const isUndefined = eq(undefined);\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const never = constant(false);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const nativePush = Array.prototype.push;\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const findUntil = (xs, pred, until) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(x);\n        } else if (until(x, i)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const find = (xs, pred) => {\n      return findUntil(xs, pred, never);\n    };\n    const flatten = xs => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray$1(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    const bind = (xs, f) => flatten(map(xs, f));\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const option = name => editor => editor.options.get(name);\n    const register$2 = editor => {\n      const registerOption = editor.options.register;\n      const charMapProcessor = value => isFunction(value) || isArray$1(value);\n      registerOption('charmap', {\n        processor: charMapProcessor\n      });\n      registerOption('charmap_append', {\n        processor: charMapProcessor\n      });\n    };\n    const getCharMap$1 = option('charmap');\n    const getCharMapAppend = option('charmap_append');\n\n    const isArray = global.isArray;\n    const UserDefined = 'User Defined';\n    const getDefaultCharMap = () => {\n      return [{\n        name: 'Currency',\n        characters: [[36, 'dollar sign'], [162, 'cent sign'], [8364, 'euro sign'], [163, 'pound sign'], [165, 'yen sign'], [164, 'currency sign'], [8352, 'euro-currency sign'], [8353, 'colon sign'], [8354, 'cruzeiro sign'], [8355, 'french franc sign'], [8356, 'lira sign'], [8357, 'mill sign'], [8358, 'naira sign'], [8359, 'peseta sign'], [8360, 'rupee sign'], [8361, 'won sign'], [8362, 'new sheqel sign'], [8363, 'dong sign'], [8365, 'kip sign'], [8366, 'tugrik sign'], [8367, 'drachma sign'], [8368, 'german penny symbol'], [8369, 'peso sign'], [8370, 'guarani sign'], [8371, 'austral sign'], [8372, 'hryvnia sign'], [8373, 'cedi sign'], [8374, 'livre tournois sign'], [8375, 'spesmilo sign'], [8376, 'tenge sign'], [8377, 'indian rupee sign'], [8378, 'turkish lira sign'], [8379, 'nordic mark sign'], [8380, 'manat sign'], [8381, 'ruble sign'], [20870, 'yen character'], [20803, 'yuan character'], [22291, 'yuan character, in hong kong and taiwan'], [22278, 'yen/yuan character variant one']]\n      }, {\n        name: 'Text',\n        characters: [[169, 'copyright sign'], [174, 'registered sign'], [8482, 'trade mark sign'], [8240, 'per mille sign'], [181, 'micro sign'], [183, 'middle dot'], [8226, 'bullet'], [8230, 'three dot leader'], [8242, 'minutes / feet'], [8243, 'seconds / inches'], [167, 'section sign'], [182, 'paragraph sign'], [223, 'sharp s / ess-zed']]\n      }, {\n        name: 'Quotations',\n        characters: [[8249, 'single left-pointing angle quotation mark'], [8250, 'single right-pointing angle quotation mark'], [171, 'left pointing guillemet'], [187, 'right pointing guillemet'], [8216, 'left single quotation mark'], [8217, 'right single quotation mark'], [8220, 'left double quotation mark'], [8221, 'right double quotation mark'], [8218, 'single low-9 quotation mark'], [8222, 'double low-9 quotation mark'], [60, 'less-than sign'], [62, 'greater-than sign'], [8804, 'less-than or equal to'], [8805, 'greater-than or equal to'], [8211, 'en dash'], [8212, 'em dash'], [175, 'macron'], [8254, 'overline'], [164, 'currency sign'], [166, 'broken bar'], [168, 'diaeresis'], [161, 'inverted exclamation mark'], [191, 'turned question mark'], [710, 'circumflex accent'], [732, 'small tilde'], [176, 'degree sign'], [8722, 'minus sign'], [177, 'plus-minus sign'], [247, 'division sign'], [8260, 'fraction slash'], [215, 'multiplication sign'], [185, 'superscript one'], [178, 'superscript two'], [179, 'superscript three'], [188, 'fraction one quarter'], [189, 'fraction one half'], [190, 'fraction three quarters']]\n      }, {\n        name: 'Mathematical',\n        characters: [[402, 'function / florin'], [8747, 'integral'], [8721, 'n-ary sumation'], [8734, 'infinity'], [8730, 'square root'], [8764, 'similar to'], [8773, 'approximately equal to'], [8776, 'almost equal to'], [8800, 'not equal to'], [8801, 'identical to'], [8712, 'element of'], [8713, 'not an element of'], [8715, 'contains as member'], [8719, 'n-ary product'], [8743, 'logical and'], [8744, 'logical or'], [172, 'not sign'], [8745, 'intersection'], [8746, 'union'], [8706, 'partial differential'], [8704, 'for all'], [8707, 'there exists'], [8709, 'diameter'], [8711, 'backward difference'], [8727, 'asterisk operator'], [8733, 'proportional to'], [8736, 'angle']]\n      }, {\n        name: 'Extended Latin',\n        characters: [[192, 'A - grave'], [193, 'A - acute'], [194, 'A - circumflex'], [195, 'A - tilde'], [196, 'A - diaeresis'], [197, 'A - ring above'], [256, 'A - macron'], [198, 'ligature AE'], [199, 'C - cedilla'], [200, 'E - grave'], [201, 'E - acute'], [202, 'E - circumflex'], [203, 'E - diaeresis'], [274, 'E - macron'], [204, 'I - grave'], [205, 'I - acute'], [206, 'I - circumflex'], [207, 'I - diaeresis'], [298, 'I - macron'], [208, 'ETH'], [209, 'N - tilde'], [210, 'O - grave'], [211, 'O - acute'], [212, 'O - circumflex'], [213, 'O - tilde'], [214, 'O - diaeresis'], [216, 'O - slash'], [332, 'O - macron'], [338, 'ligature OE'], [352, 'S - caron'], [217, 'U - grave'], [218, 'U - acute'], [219, 'U - circumflex'], [220, 'U - diaeresis'], [362, 'U - macron'], [221, 'Y - acute'], [376, 'Y - diaeresis'], [562, 'Y - macron'], [222, 'THORN'], [224, 'a - grave'], [225, 'a - acute'], [226, 'a - circumflex'], [227, 'a - tilde'], [228, 'a - diaeresis'], [229, 'a - ring above'], [257, 'a - macron'], [230, 'ligature ae'], [231, 'c - cedilla'], [232, 'e - grave'], [233, 'e - acute'], [234, 'e - circumflex'], [235, 'e - diaeresis'], [275, 'e - macron'], [236, 'i - grave'], [237, 'i - acute'], [238, 'i - circumflex'], [239, 'i - diaeresis'], [299, 'i - macron'], [240, 'eth'], [241, 'n - tilde'], [242, 'o - grave'], [243, 'o - acute'], [244, 'o - circumflex'], [245, 'o - tilde'], [246, 'o - diaeresis'], [248, 'o slash'], [333, 'o macron'], [339, 'ligature oe'], [353, 's - caron'], [249, 'u - grave'], [250, 'u - acute'], [251, 'u - circumflex'], [252, 'u - diaeresis'], [363, 'u - macron'], [253, 'y - acute'], [254, 'thorn'], [255, 'y - diaeresis'], [563, 'y - macron'], [913, 'Alpha'], [914, 'Beta'], [915, 'Gamma'], [916, 'Delta'], [917, 'Epsilon'], [918, 'Zeta'], [919, 'Eta'], [920, 'Theta'], [921, 'Iota'], [922, 'Kappa'], [923, 'Lambda'], [924, 'Mu'], [925, 'Nu'], [926, 'Xi'], [927, 'Omicron'], [928, 'Pi'], [929, 'Rho'], [931, 'Sigma'], [932, 'Tau'], [933, 'Upsilon'], [934, 'Phi'], [935, 'Chi'], [936, 'Psi'], [937, 'Omega'], [945, 'alpha'], [946, 'beta'], [947, 'gamma'], [948, 'delta'], [949, 'epsilon'], [950, 'zeta'], [951, 'eta'], [952, 'theta'], [953, 'iota'], [954, 'kappa'], [955, 'lambda'], [956, 'mu'], [957, 'nu'], [958, 'xi'], [959, 'omicron'], [960, 'pi'], [961, 'rho'], [962, 'final sigma'], [963, 'sigma'], [964, 'tau'], [965, 'upsilon'], [966, 'phi'], [967, 'chi'], [968, 'psi'], [969, 'omega']]\n      }, {\n        name: 'Symbols',\n        characters: [[8501, 'alef symbol'], [982, 'pi symbol'], [8476, 'real part symbol'], [978, 'upsilon - hook symbol'], [8472, 'Weierstrass p'], [8465, 'imaginary part']]\n      }, {\n        name: 'Arrows',\n        characters: [[8592, 'leftwards arrow'], [8593, 'upwards arrow'], [8594, 'rightwards arrow'], [8595, 'downwards arrow'], [8596, 'left right arrow'], [8629, 'carriage return'], [8656, 'leftwards double arrow'], [8657, 'upwards double arrow'], [8658, 'rightwards double arrow'], [8659, 'downwards double arrow'], [8660, 'left right double arrow'], [8756, 'therefore'], [8834, 'subset of'], [8835, 'superset of'], [8836, 'not a subset of'], [8838, 'subset of or equal to'], [8839, 'superset of or equal to'], [8853, 'circled plus'], [8855, 'circled times'], [8869, 'perpendicular'], [8901, 'dot operator'], [8968, 'left ceiling'], [8969, 'right ceiling'], [8970, 'left floor'], [8971, 'right floor'], [9001, 'left-pointing angle bracket'], [9002, 'right-pointing angle bracket'], [9674, 'lozenge'], [9824, 'black spade suit'], [9827, 'black club suit'], [9829, 'black heart suit'], [9830, 'black diamond suit'], [8194, 'en space'], [8195, 'em space'], [8201, 'thin space'], [8204, 'zero width non-joiner'], [8205, 'zero width joiner'], [8206, 'left-to-right mark'], [8207, 'right-to-left mark']]\n      }];\n    };\n    const charmapFilter = charmap => {\n      return global.grep(charmap, item => {\n        return isArray(item) && item.length === 2;\n      });\n    };\n    const getCharsFromOption = optionValue => {\n      if (isArray(optionValue)) {\n        return charmapFilter(optionValue);\n      }\n      if (typeof optionValue === 'function') {\n        return optionValue();\n      }\n      return [];\n    };\n    const extendCharMap = (editor, charmap) => {\n      const userCharMap = getCharMap$1(editor);\n      if (userCharMap) {\n        charmap = [{\n          name: UserDefined,\n          characters: getCharsFromOption(userCharMap)\n        }];\n      }\n      const userCharMapAppend = getCharMapAppend(editor);\n      if (userCharMapAppend) {\n        const userDefinedGroup = global.grep(charmap, cg => cg.name === UserDefined);\n        if (userDefinedGroup.length) {\n          userDefinedGroup[0].characters = [...userDefinedGroup[0].characters, ...getCharsFromOption(userCharMapAppend)];\n          return charmap;\n        }\n        return charmap.concat({\n          name: UserDefined,\n          characters: getCharsFromOption(userCharMapAppend)\n        });\n      }\n      return charmap;\n    };\n    const getCharMap = editor => {\n      const groups = extendCharMap(editor, getDefaultCharMap());\n      return groups.length > 1 ? [{\n        name: 'All',\n        characters: bind(groups, g => g.characters)\n      }].concat(groups) : groups;\n    };\n\n    const get = editor => {\n      const getCharMap$1 = () => {\n        return getCharMap(editor);\n      };\n      const insertChar$1 = chr => {\n        insertChar(editor, chr);\n      };\n      return {\n        getCharMap: getCharMap$1,\n        insertChar: insertChar$1\n      };\n    };\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    const last = (fn, rate) => {\n      let timer = null;\n      const cancel = () => {\n        if (!isNull(timer)) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      const throttle = (...args) => {\n        cancel();\n        timer = setTimeout(() => {\n          timer = null;\n          fn.apply(null, args);\n        }, rate);\n      };\n      return {\n        cancel,\n        throttle\n      };\n    };\n\n    const contains = (str, substr, start = 0, end) => {\n      const idx = str.indexOf(substr, start);\n      if (idx !== -1) {\n        return isUndefined(end) ? true : idx + substr.length <= end;\n      } else {\n        return false;\n      }\n    };\n    const fromCodePoint = String.fromCodePoint;\n\n    const charMatches = (charCode, name, lowerCasePattern) => {\n      if (contains(fromCodePoint(charCode).toLowerCase(), lowerCasePattern)) {\n        return true;\n      } else {\n        return contains(name.toLowerCase(), lowerCasePattern) || contains(name.toLowerCase().replace(/\\s+/g, ''), lowerCasePattern);\n      }\n    };\n    const scan = (group, pattern) => {\n      const matches = [];\n      const lowerCasePattern = pattern.toLowerCase();\n      each(group.characters, g => {\n        if (charMatches(g[0], g[1], lowerCasePattern)) {\n          matches.push(g);\n        }\n      });\n      return map(matches, m => ({\n        text: m[1],\n        value: fromCodePoint(m[0]),\n        icon: fromCodePoint(m[0])\n      }));\n    };\n\n    const patternName = 'pattern';\n    const open = (editor, charMap) => {\n      const makeGroupItems = () => [{\n        label: 'Search',\n        type: 'input',\n        name: patternName\n      }, {\n        type: 'collection',\n        name: 'results'\n      }];\n      const makeTabs = () => map(charMap, charGroup => ({\n        title: charGroup.name,\n        name: charGroup.name,\n        items: makeGroupItems()\n      }));\n      const makePanel = () => ({\n        type: 'panel',\n        items: makeGroupItems()\n      });\n      const makeTabPanel = () => ({\n        type: 'tabpanel',\n        tabs: makeTabs()\n      });\n      const currentTab = charMap.length === 1 ? Cell(UserDefined) : Cell('All');\n      const scanAndSet = (dialogApi, pattern) => {\n        find(charMap, group => group.name === currentTab.get()).each(f => {\n          const items = scan(f, pattern);\n          dialogApi.setData({\n            results: items\n          });\n        });\n      };\n      const SEARCH_DELAY = 40;\n      const updateFilter = last(dialogApi => {\n        const pattern = dialogApi.getData().pattern;\n        scanAndSet(dialogApi, pattern);\n      }, SEARCH_DELAY);\n      const body = charMap.length === 1 ? makePanel() : makeTabPanel();\n      const initialData = {\n        pattern: '',\n        results: scan(charMap[0], '')\n      };\n      const bridgeSpec = {\n        title: 'Special Character',\n        size: 'normal',\n        body,\n        buttons: [{\n          type: 'cancel',\n          name: 'close',\n          text: 'Close',\n          primary: true\n        }],\n        initialData,\n        onAction: (api, details) => {\n          if (details.name === 'results') {\n            insertChar(editor, details.value);\n            api.close();\n          }\n        },\n        onTabChange: (dialogApi, details) => {\n          currentTab.set(details.newTabName);\n          updateFilter.throttle(dialogApi);\n        },\n        onChange: (dialogApi, changeData) => {\n          if (changeData.name === patternName) {\n            updateFilter.throttle(dialogApi);\n          }\n        }\n      };\n      const dialogApi = editor.windowManager.open(bridgeSpec);\n      dialogApi.focus(patternName);\n    };\n\n    const register$1 = (editor, charMap) => {\n      editor.addCommand('mceShowCharmap', () => {\n        open(editor, charMap);\n      });\n    };\n\n    const init = (editor, all) => {\n      editor.ui.registry.addAutocompleter('charmap', {\n        trigger: ':',\n        columns: 'auto',\n        minChars: 2,\n        fetch: (pattern, _maxResults) => new Promise((resolve, _reject) => {\n          resolve(scan(all, pattern));\n        }),\n        onAction: (autocompleteApi, rng, value) => {\n          editor.selection.setRng(rng);\n          editor.insertContent(value);\n          autocompleteApi.hide();\n        }\n      });\n    };\n\n    const onSetupEditable = editor => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const register = editor => {\n      const onAction = () => editor.execCommand('mceShowCharmap');\n      editor.ui.registry.addButton('charmap', {\n        icon: 'insert-character',\n        tooltip: 'Special character',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n      editor.ui.registry.addMenuItem('charmap', {\n        icon: 'insert-character',\n        text: 'Special character...',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n    };\n\n    var Plugin = () => {\n      global$1.add('charmap', editor => {\n        register$2(editor);\n        const charMap = getCharMap(editor);\n        register$1(editor, charMap);\n        register(editor);\n        init(editor, charMap[0]);\n        return get(editor);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const isString = isType$1('string');\n    const isBoolean = isSimpleType('boolean');\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    const fromDom = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom,\n      fromPoint\n    };\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n    const ELEMENT = 1;\n\n    const name = element => {\n      const r = element.dom.nodeName;\n      return r.toLowerCase();\n    };\n    const type = element => element.dom.nodeType;\n    const isType = t => element => type(element) === t;\n    const isElement = isType(ELEMENT);\n    const isDocument = isType(DOCUMENT);\n    const isDocumentFragment = isType(DOCUMENT_FRAGMENT);\n    const isTag = tag => e => isElement(e) && name(e) === tag;\n\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const never = constant(false);\n\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n\n    const bypassSelector = dom => dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;\n    const all = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? [] : map(base.querySelectorAll(selector), SugarElement.fromDom);\n    };\n    const one = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? Optional.none() : Optional.from(base.querySelector(selector)).map(SugarElement.fromDom);\n    };\n\n    const isEqualNode = (e1, e2) => e1.dom.isEqualNode(e2.dom);\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set$1 = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const get = (element, key) => {\n      const v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    const has = (element, key) => {\n      const dom = element.dom;\n      return dom && dom.hasAttribute ? dom.hasAttribute(key) : false;\n    };\n\n    const owner = element => SugarElement.fromDom(element.dom.ownerDocument);\n    const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos);\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const child = (element, index) => {\n      const cs = element.dom.childNodes;\n      return Optional.from(cs[index]).map(SugarElement.fromDom);\n    };\n    const firstChild = element => child(element, 0);\n\n    const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host);\n    const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;\n    const getContentContainer = dos => isShadowRoot(dos) ? dos : SugarElement.fromDom(documentOrOwner(dos).dom.body);\n\n    const ancestor = (scope, predicate, isRoot) => {\n      let element = scope.dom;\n      const stop = isFunction(isRoot) ? isRoot : never;\n      while (element.parentNode) {\n        element = element.parentNode;\n        const el = SugarElement.fromDom(element);\n        if (predicate(el)) {\n          return Optional.some(el);\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n\n    const before = (marker, element) => {\n      const parent$1 = parent(marker);\n      parent$1.each(v => {\n        v.dom.insertBefore(element.dom, marker.dom);\n      });\n    };\n    const append = (parent, element) => {\n      parent.dom.appendChild(element.dom);\n    };\n\n    const remove = element => {\n      const dom = element.dom;\n      if (dom.parentNode !== null) {\n        dom.parentNode.removeChild(dom);\n      }\n    };\n\n    const isSupported = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n\n    const internalSet = (dom, property, value) => {\n      if (!isString(value)) {\n        console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);\n        throw new Error('CSS value must be a string: ' + value);\n      }\n      if (isSupported(dom)) {\n        dom.style.setProperty(property, value);\n      }\n    };\n    const set = (element, property, value) => {\n      const dom = element.dom;\n      internalSet(dom, property, value);\n    };\n\n    const read = (element, attr) => {\n      const value = get(element, attr);\n      return value === undefined || value === '' ? [] : value.split(' ');\n    };\n    const add$3 = (element, attr, id) => {\n      const old = read(element, attr);\n      const nu = old.concat([id]);\n      set$1(element, attr, nu.join(' '));\n      return true;\n    };\n\n    const supports = element => element.dom.classList !== undefined;\n    const add$2 = (element, clazz) => add$3(element, 'class', clazz);\n\n    const add$1 = (element, clazz) => {\n      if (supports(element)) {\n        element.dom.classList.add(clazz);\n      } else {\n        add$2(element, clazz);\n      }\n    };\n\n    const focus = (element, preventScroll = false) => element.dom.focus({\n      preventScroll\n    });\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.EditorManager');\n\n    var global = tinymce.util.Tools.resolve('tinymce.Resource');\n\n    const CM_SETTINGS = {\n      lineWrapping: true,\n      lineNumbers: true,\n      foldGutter: true,\n      gutter: true,\n      matchBrackets: true,\n      styleActiveLine: true,\n      indentUnit: 1,\n      tabSize: 1\n    };\n    const CURSOR_MARKER_CODE = '<!--sn_cursor-->';\n    const CUSTOM_EDITOR_ID = 'plugins.codemirrror.customeditor';\n    const CANCEL_BUTTON = 0;\n    const SAVE_BUTTON = 1;\n\n    const stopPropagation = event => event.stopPropagation();\n    const load = baseUrl => new Promise(resolve => tinymce.ScriptLoader.loadScript(\"\".concat(baseUrl, \"/codemirror.min.js\")).then(() => resolve(CodeMirror)));\n    const getAutocompleteConfig = (codeMirror, container) => {\n      const completeAfter = (cm, pred) => {\n        if (!pred || pred()) {\n          const showHint = () => {\n            if (!cm.state.completionActive) {\n              cm.showHint({\n                completeSingle: false,\n                container: container.dom\n              });\n            }\n          };\n          setTimeout(showHint, 100);\n        }\n        return codeMirror.Pass;\n      };\n      return {\n        completeAfter,\n        completeIfAfterLt: cm => completeAfter(cm, () => {\n          const cursor = cm.getCursor();\n          return '<' === cm.getRange(codeMirror.Pos(cursor.line, cursor.ch - 1), cursor);\n        }),\n        completeIfInTag: cm => completeAfter(cm, () => {\n          const tok = cm.getTokenAt(cm.getCursor());\n          const isString = tok.type === 'string';\n          const isStringEdge = /['\"]/.test(tok.string.charAt(tok.string.length - 1));\n          if (isString && (!isStringEdge || tok.string.length === 1)) {\n            return false;\n          }\n          return codeMirror.innerMode(cm.getMode(), tok.state).state.tagName;\n        })\n      };\n    };\n    const setupCodemirror = (codeMirror, div, settings, editor) => {\n      const container = getContentContainer(getRootNode(SugarElement.fromDom(editor.getElement())));\n      const autoComplete = getAutocompleteConfig(codeMirror, container);\n      const config = {\n        lineWrapping: settings.lineWrapping,\n        lineNumbers: settings.lineNumbers,\n        foldGutter: settings.foldGutter,\n        theme: settings.theme,\n        direction: settings.direction,\n        matchTags: {\n          bothTags: true\n        },\n        keyMap: 'sublime',\n        gutters: settings.gutter ? ['CodeMirror-linenumbers', 'CodeMirror-foldgutter'] : [],\n        extraKeys: {\n          'Alt-F': 'findPersistent',\n          'Ctrl-J': 'toMatchingTag',\n          'Ctrl-B': 'selectNextOccurrence',\n          '\\'<\\'': autoComplete.completeAfter,\n          '\\'/\\'': autoComplete.completeIfAfterLt,\n          '\\' \\'': autoComplete.completeIfInTag,\n          '\\'=\\'': autoComplete.completeIfInTag,\n          'Ctrl-Q': cmi => cmi.foldCode(cmi.getCursor())\n        },\n        mode: 'text/html',\n        value: '',\n        styleActiveLine: true,\n        screenReaderLabel: 'Source code'\n      };\n      const cmi = codeMirror(div, config);\n      div.addEventListener('keyup', stopPropagation);\n      div.addEventListener('keydown', stopPropagation);\n      div.addEventListener('keypress', stopPropagation);\n      setTimeout(() => {\n        cmi.focus();\n        if (settings.cursor) {\n          cmi.doc.setCursor(settings.cursor);\n        }\n      });\n      setTimeout(() => cmi.refresh(), 200);\n      return {\n        cmi,\n        unbind: () => {\n          div.removeEventListener('keyup', stopPropagation);\n          div.removeEventListener('keydown', stopPropagation);\n          div.removeEventListener('keypress', stopPropagation);\n        }\n      };\n    };\n    const checkLineBoundary = (charPos, line) => !(charPos === 0 || charPos === line.length);\n    const checkMode = ({\n      name\n    }) => !name || name === 'xml';\n    const moveCursorIfInEntity = cmi => {\n      const cursor = cmi.getCursor();\n      const token = cmi.getTokenAt(cursor, true);\n      if (token && token.type === 'atom' && token.end !== cursor.ch) {\n        cmi.doc.setCursor({\n          line: cursor.line,\n          ch: token.start\n        });\n      }\n    };\n    const moveCursorIfInTag = (codeMirror, cmi) => {\n      const cursor = cmi.getCursor();\n      const {\n        line,\n        ch\n      } = cursor;\n      const range = cmi.getViewport();\n      const match = codeMirror.findMatchingTag(cmi, cursor, range);\n      if (match) {\n        let pos;\n        const isOpen = match.at === 'open';\n        const hit = match[match.at][isOpen ? 'to' : 'from'];\n        if (isOpen && !(hit.line === line && hit.ch === ch)) {\n          pos = {\n            line: match.open.to.line,\n            ch: match.open.to.ch\n          };\n        } else if (!isOpen && !(hit.line === line && hit.ch === ch)) {\n          pos = {\n            line: match.close.from.line,\n            ch: match.close.from.ch\n          };\n        }\n        if (pos) {\n          cmi.doc.setCursor(pos);\n        }\n      }\n    };\n    const moveCursorIfInIframe = (codeMirror, cmi) => {\n      var _a;\n      const cursor = cmi.getCursor();\n      const range = cmi.getViewport();\n      const match = codeMirror.findEnclosingTag(cmi, cursor, range, 'iframe');\n      const openingTagCursorLocation = (_a = match === null || match === void 0 ? void 0 : match.open) === null || _a === void 0 ? void 0 : _a.from;\n      if (match && openingTagCursorLocation) {\n        cmi.doc.setCursor(openingTagCursorLocation);\n      }\n    };\n    const markCursorPosition = (codeMirror, id, cmi) => {\n      const {\n        doc\n      } = cmi;\n      if (doc.somethingSelected()) {\n        doc.setCursor(doc.getCursor());\n      }\n      moveCursorIfInEntity(cmi);\n      moveCursorIfInTag(codeMirror, cmi);\n      moveCursorIfInIframe(codeMirror, cmi);\n      const cursor = cmi.getCursor();\n      const {\n        line,\n        ch\n      } = cursor;\n      const curLine = cmi.getLine(line);\n      let addCursorMarker = true;\n      addCursorMarker = addCursorMarker && checkLineBoundary(ch, curLine);\n      addCursorMarker = addCursorMarker && checkMode(cmi.getModeAt(cursor, true));\n      const tinyCursor = \"<span id=\\\"\".concat(id, \"\\\"></span>\");\n      if (addCursorMarker) {\n        doc.replaceSelection(tinyCursor);\n      }\n      return {\n        id,\n        value: cmi.doc.getValue()\n      };\n    };\n    const setupSourceEscape = (cmi, div) => {\n      const handleTab = index => {\n        const focusableElements = all('.tox-dialog__footer .tox-button', getRootNode(div));\n        if (focusableElements.length === 2) {\n          focus(focusableElements[index]);\n        }\n      };\n      const escKeyMap = {\n        Esc: cmi => {\n          cmi.addKeyMap(tabKeyMap);\n          return CodeMirror.pass;\n        }\n      };\n      const tabKeyMap = {\n        'Tab': cmi => {\n          handleTab(CANCEL_BUTTON);\n          cmi.removeKeyMap(tabKeyMap);\n          return false;\n        },\n        'Shift-Tab': cmi => {\n          handleTab(SAVE_BUTTON);\n          cmi.removeKeyMap(tabKeyMap);\n          return false;\n        },\n        'default': cmi => {\n          cmi.removeKeyMap(tabKeyMap);\n          return CodeMirror.pass;\n        }\n      };\n      const focusableElement = cmi.getInputField();\n      focusableElement === null || focusableElement === void 0 ? void 0 : focusableElement.setAttribute('tabIndex', '-1');\n      focusableElement === null || focusableElement === void 0 ? void 0 : focusableElement.setAttribute('data-alloy-tabstop', 'true');\n      cmi.addKeyMap(escKeyMap);\n    };\n    const addAccessKeyInfoPanel = div => {\n      const isMac = tinymce.Env.os.isMacOS();\n      const dom = one('.tox-dialog__footer .tox-dialog__footer-start', getRootNode(div));\n      const node = document.createElement('div');\n      const td1 = '<td class=\"footer-key-info-panel-key\">';\n      const td2 = '<td class=\"footer-key-info-panel-value\">';\n      node.innerHTML = '<table class=\"footer-key-info-panel-parent\" cellspacing=\"0\" cellpadding=\"0\"><tr>' + td1 + (isMac ? '&#8984;-F' : 'Ctrl-F</td>') + td2 + tinymce.translate('Start search') + '</td>' + td1 + (isMac ? '&#8984;-G' : 'Ctrl-G') + '</td>' + td2 + 'Find next' + '</td>' + td1 + (isMac ? '&#8984;-Shift-G' : 'Shift-Ctrl-F') + '</td>' + td2 + tinymce.translate('Find previous') + '</td></tr>' + '<tr>' + td1 + (isMac ? '&#8984;-Option-F' : 'Shift-Ctrl-F') + '</td>' + td2 + tinymce.translate('Replace') + '</td>' + td1 + (isMac ? 'Shift-&#8984;-Option-F' : 'Shift-Ctrl-R') + '</td>' + td2 + tinymce.translate('Replace all') + '</td></tr></table>';\n      dom.each(parent => append(parent, SugarElement.fromDom(node)));\n    };\n    const setupResource = (root, settings) => new Promise(resolve => {\n      const editor = global$1.get(settings.editorId);\n      const div = SugarElement.fromDom(root);\n      set(div, 'width', '100%');\n      parent(div).filter(isElement).each(el => add$1(el, 'sn-codemirror'));\n      load(settings.baseUrl).then(codeMirror => {\n        const {\n          cmi,\n          unbind\n        } = setupCodemirror(codeMirror, root, settings, editor);\n        setupSourceEscape(cmi, div);\n        addAccessKeyInfoPanel(div);\n        return Promise.resolve({\n          getValue: () => markCursorPosition(codeMirror, editor.dom.uniqueId(), cmi),\n          setValue: value => cmi.doc.setValue(value),\n          destroy: unbind\n        });\n      }).then(resolve);\n    });\n    const add = () => {\n      global.add(CUSTOM_EDITOR_ID, setupResource);\n    };\n    var CustomEditor = {\n      add\n    };\n\n    const option = name => editor => editor.options.get(name);\n    const register$2 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('_do_not_use_is_dark_theme', {\n        processor: 'boolean',\n        default: false\n      });\n    };\n    const isDarkTheme = option('_do_not_use_is_dark_theme');\n\n    const isBogus = node => has(node, 'data-mce-bogus');\n    const isIndexBookmark = bookmark => bookmark.hasOwnProperty('name');\n    const addCursorMarkers = (bookmarkNode, isBody) => {\n      const cursorElement = SugarElement.fromHtml(CURSOR_MARKER_CODE);\n      let bookmark = SugarElement.fromDom(bookmarkNode);\n      bookmark = ancestor(bookmark, isBogus, isBody).getOr(bookmark);\n      before(bookmark, cursorElement);\n      return cursorElement;\n    };\n    const createCursorPosition = (line, ch) => ({\n      line,\n      ch\n    });\n    const getCursorPosition = content => {\n      const lines = content.split(/\\r?\\n/);\n      const length = lines.length;\n      for (let lineIdx = 0; lineIdx < length; ++lineIdx) {\n        const line = lines[lineIdx];\n        const cursorIndex = line.indexOf(CURSOR_MARKER_CODE);\n        if (cursorIndex >= 0) {\n          if (line === CURSOR_MARKER_CODE) {\n            return lineIdx === 0 ? createCursorPosition(lineIdx, 0) : createCursorPosition(lineIdx - 1, lines[lineIdx - 1].length);\n          }\n          return createCursorPosition(lineIdx, cursorIndex);\n        }\n      }\n      return createCursorPosition(0, 0);\n    };\n    const getContentWithMarkers = editor => {\n      const body = SugarElement.fromDom(editor.getBody());\n      const bookmark = editor.selection.getBookmark();\n      const bookmarkNode = isIndexBookmark(bookmark) ? editor.dom.select(bookmark.name)[bookmark.index] : editor.dom.select(\"#\".concat(bookmark.id, \"_start\"))[0];\n      const cursorMarker = Optional.from(bookmarkNode).map(node => addCursorMarkers(node, node => isEqualNode(node, body)));\n      const content = editor.getContent({\n        source_view: true\n      });\n      cursorMarker.each(remove);\n      editor.selection.moveToBookmark(bookmark);\n      return content;\n    };\n    const collectSettings = (editor, url) => new Promise(resolve => {\n      resolve({\n        ...CM_SETTINGS,\n        baseUrl: url,\n        direction: editor.getBody().dir || 'ltr',\n        editorId: editor.id,\n        theme: isDarkTheme(editor) ? 'tomorrow-night-eighties' : 'default'\n      });\n    });\n    const contentProcessor = editor => () => {\n      const markedContent = getContentWithMarkers(editor);\n      const cursor = getCursorPosition(markedContent);\n      return {\n        content: editor.getContent({\n          source_view: true\n        }),\n        cursor\n      };\n    };\n    const submitHandler = editor => ({\n      id,\n      value\n    }) => {\n      editor.focus();\n      editor.undoManager.transact(() => {\n        editor.setContent(value);\n      });\n      const el = editor.dom.select(\"span#\".concat(id))[0];\n      if (el) {\n        editor.selection.scrollIntoView(el);\n        editor.selection.setCursorLocation(el, 0);\n        editor.dom.remove(el);\n      } else {\n        const firstChildIsStyleTag = firstChild(SugarElement.fromDom(editor.getBody())).map(isTag('style')).getOrNull();\n        if (firstChildIsStyleTag) {\n          const val = \"<span id=\\\"\".concat(id, \"\\\"></span>\").concat(value);\n          editor.setContent(val);\n          const el = editor.dom.select(\"span#\".concat(id))[0];\n          editor.selection.setCursorLocation(el, 0);\n          editor.dom.remove(el);\n        } else {\n          editor.selection.setCursorLocation();\n        }\n      }\n      editor.nodeChanged();\n    };\n    const makeDialog = helpers => settings => {\n      const {\n        content: codeview,\n        cursor\n      } = helpers.processContent();\n      const cmSettings = {\n        ...settings,\n        cursor\n      };\n      const config = {\n        title: 'Source Code',\n        size: 'large',\n        body: {\n          type: 'panel',\n          items: [{\n            name: 'codeview',\n            type: 'customeditor',\n            tag: 'div',\n            scriptId: CUSTOM_EDITOR_ID,\n            scriptUrl: \"\".concat(cmSettings.baseUrl, \"/customeditor.min.js\"),\n            settings: cmSettings\n          }]\n        },\n        buttons: [{\n          type: 'cancel',\n          name: 'cancel',\n          text: 'Cancel'\n        }, {\n          type: 'submit',\n          name: 'save',\n          text: 'Save',\n          primary: true\n        }],\n        initialData: {\n          codeview\n        },\n        onSubmit: api => {\n          helpers.onSubmit(api.getData().codeview);\n          api.close();\n        }\n      };\n      return config;\n    };\n    const Dialog = (editor, url) => {\n      const helpers = {\n        onSubmit: submitHandler(editor),\n        processContent: contentProcessor(editor)\n      };\n      const open = () => {\n        collectSettings(editor, url).then(makeDialog(helpers)).then(editor.windowManager.open).then(CustomEditor.add);\n      };\n      return {\n        open\n      };\n    };\n\n    const register$1 = (editor, url) => {\n      editor.addCommand('mceCodeEditor', Dialog(editor, url).open);\n    };\n\n    const register = editor => {\n      editor.ui.registry.addToggleButton('code', {\n        icon: 'sourcecode',\n        tooltip: 'Source code',\n        onAction: () => editor.execCommand('mceCodeEditor')\n      });\n      editor.ui.registry.addMenuItem('code', {\n        icon: 'sourcecode',\n        text: 'Source code',\n        onAction: () => editor.execCommand('mceCodeEditor')\n      });\n    };\n\n    var Plugin = () => {\n      global$2.add('codemirror', (editor, url) => {\n        register$2(editor);\n        register(editor);\n        register$1(editor, url);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n\n    const noop = () => {};\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const get$1 = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n    const head = xs => get$1(xs, 0);\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n    const Global = typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const prismjs = function (global, module, exports) {\n      const oldprism = window.Prism;\n      window.Prism = {\n        manual: true\n      };\n      var _self = typeof window !== 'undefined' ? window : typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope ? self : {};\n      var Prism = function (_self) {\n        var lang = /(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i;\n        var uniqueId = 0;\n        var plainTextGrammar = {};\n        var _ = {\n          manual: _self.Prism && _self.Prism.manual,\n          disableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler,\n          util: {\n            encode: function encode(tokens) {\n              if (tokens instanceof Token) {\n                return new Token(tokens.type, encode(tokens.content), tokens.alias);\n              } else if (Array.isArray(tokens)) {\n                return tokens.map(encode);\n              } else {\n                return tokens.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/\\u00a0/g, ' ');\n              }\n            },\n            type: function (o) {\n              return Object.prototype.toString.call(o).slice(8, -1);\n            },\n            objId: function (obj) {\n              if (!obj['__id']) {\n                Object.defineProperty(obj, '__id', {\n                  value: ++uniqueId\n                });\n              }\n              return obj['__id'];\n            },\n            clone: function deepClone(o, visited) {\n              visited = visited || {};\n              var clone;\n              var id;\n              switch (_.util.type(o)) {\n                case 'Object':\n                  id = _.util.objId(o);\n                  if (visited[id]) {\n                    return visited[id];\n                  }\n                  clone = {};\n                  visited[id] = clone;\n                  for (var key in o) {\n                    if (o.hasOwnProperty(key)) {\n                      clone[key] = deepClone(o[key], visited);\n                    }\n                  }\n                  return clone;\n                case 'Array':\n                  id = _.util.objId(o);\n                  if (visited[id]) {\n                    return visited[id];\n                  }\n                  clone = [];\n                  visited[id] = clone;\n                  o.forEach(function (v, i) {\n                    clone[i] = deepClone(v, visited);\n                  });\n                  return clone;\n                default:\n                  return o;\n              }\n            },\n            getLanguage: function (element) {\n              while (element) {\n                var m = lang.exec(element.className);\n                if (m) {\n                  return m[1].toLowerCase();\n                }\n                element = element.parentElement;\n              }\n              return 'none';\n            },\n            setLanguage: function (element, language) {\n              element.className = element.className.replace(RegExp(lang, 'gi'), '');\n              element.classList.add('language-' + language);\n            },\n            currentScript: function () {\n              if (typeof document === 'undefined') {\n                return null;\n              }\n              if ('currentScript' in document && 1 < 2) {\n                return document.currentScript;\n              }\n              try {\n                throw new Error();\n              } catch (err) {\n                var src = (/at [^(\\r\\n]*\\((.*):[^:]+:[^:]+\\)$/i.exec(err.stack) || [])[1];\n                if (src) {\n                  var scripts = document.getElementsByTagName('script');\n                  for (var i in scripts) {\n                    if (scripts[i].src == src) {\n                      return scripts[i];\n                    }\n                  }\n                }\n                return null;\n              }\n            },\n            isActive: function (element, className, defaultActivation) {\n              var no = 'no-' + className;\n              while (element) {\n                var classList = element.classList;\n                if (classList.contains(className)) {\n                  return true;\n                }\n                if (classList.contains(no)) {\n                  return false;\n                }\n                element = element.parentElement;\n              }\n              return !!defaultActivation;\n            }\n          },\n          languages: {\n            plain: plainTextGrammar,\n            plaintext: plainTextGrammar,\n            text: plainTextGrammar,\n            txt: plainTextGrammar,\n            extend: function (id, redef) {\n              var lang = _.util.clone(_.languages[id]);\n              for (var key in redef) {\n                lang[key] = redef[key];\n              }\n              return lang;\n            },\n            insertBefore: function (inside, before, insert, root) {\n              root = root || _.languages;\n              var grammar = root[inside];\n              var ret = {};\n              for (var token in grammar) {\n                if (grammar.hasOwnProperty(token)) {\n                  if (token == before) {\n                    for (var newToken in insert) {\n                      if (insert.hasOwnProperty(newToken)) {\n                        ret[newToken] = insert[newToken];\n                      }\n                    }\n                  }\n                  if (!insert.hasOwnProperty(token)) {\n                    ret[token] = grammar[token];\n                  }\n                }\n              }\n              var old = root[inside];\n              root[inside] = ret;\n              _.languages.DFS(_.languages, function (key, value) {\n                if (value === old && key != inside) {\n                  this[key] = ret;\n                }\n              });\n              return ret;\n            },\n            DFS: function DFS(o, callback, type, visited) {\n              visited = visited || {};\n              var objId = _.util.objId;\n              for (var i in o) {\n                if (o.hasOwnProperty(i)) {\n                  callback.call(o, i, o[i], type || i);\n                  var property = o[i];\n                  var propertyType = _.util.type(property);\n                  if (propertyType === 'Object' && !visited[objId(property)]) {\n                    visited[objId(property)] = true;\n                    DFS(property, callback, null, visited);\n                  } else if (propertyType === 'Array' && !visited[objId(property)]) {\n                    visited[objId(property)] = true;\n                    DFS(property, callback, i, visited);\n                  }\n                }\n              }\n            }\n          },\n          plugins: {},\n          highlightAll: function (async, callback) {\n            _.highlightAllUnder(document, async, callback);\n          },\n          highlightAllUnder: function (container, async, callback) {\n            var env = {\n              callback: callback,\n              container: container,\n              selector: 'code[class*=\"language-\"], [class*=\"language-\"] code, code[class*=\"lang-\"], [class*=\"lang-\"] code'\n            };\n            _.hooks.run('before-highlightall', env);\n            env.elements = Array.prototype.slice.apply(env.container.querySelectorAll(env.selector));\n            _.hooks.run('before-all-elements-highlight', env);\n            for (var i = 0, element; element = env.elements[i++];) {\n              _.highlightElement(element, async === true, env.callback);\n            }\n          },\n          highlightElement: function (element, async, callback) {\n            var language = _.util.getLanguage(element);\n            var grammar = _.languages[language];\n            _.util.setLanguage(element, language);\n            var parent = element.parentElement;\n            if (parent && parent.nodeName.toLowerCase() === 'pre') {\n              _.util.setLanguage(parent, language);\n            }\n            var code = element.textContent;\n            var env = {\n              element: element,\n              language: language,\n              grammar: grammar,\n              code: code\n            };\n            function insertHighlightedCode(highlightedCode) {\n              env.highlightedCode = highlightedCode;\n              _.hooks.run('before-insert', env);\n              env.element.innerHTML = env.highlightedCode;\n              _.hooks.run('after-highlight', env);\n              _.hooks.run('complete', env);\n              callback && callback.call(env.element);\n            }\n            _.hooks.run('before-sanity-check', env);\n            parent = env.element.parentElement;\n            if (parent && parent.nodeName.toLowerCase() === 'pre' && !parent.hasAttribute('tabindex')) {\n              parent.setAttribute('tabindex', '0');\n            }\n            if (!env.code) {\n              _.hooks.run('complete', env);\n              callback && callback.call(env.element);\n              return;\n            }\n            _.hooks.run('before-highlight', env);\n            if (!env.grammar) {\n              insertHighlightedCode(_.util.encode(env.code));\n              return;\n            }\n            if (async && _self.Worker) {\n              var worker = new Worker(_.filename);\n              worker.onmessage = function (evt) {\n                insertHighlightedCode(evt.data);\n              };\n              worker.postMessage(JSON.stringify({\n                language: env.language,\n                code: env.code,\n                immediateClose: true\n              }));\n            } else {\n              insertHighlightedCode(_.highlight(env.code, env.grammar, env.language));\n            }\n          },\n          highlight: function (text, grammar, language) {\n            var env = {\n              code: text,\n              grammar: grammar,\n              language: language\n            };\n            _.hooks.run('before-tokenize', env);\n            if (!env.grammar) {\n              throw new Error('The language \"' + env.language + '\" has no grammar.');\n            }\n            env.tokens = _.tokenize(env.code, env.grammar);\n            _.hooks.run('after-tokenize', env);\n            return Token.stringify(_.util.encode(env.tokens), env.language);\n          },\n          tokenize: function (text, grammar) {\n            var rest = grammar.rest;\n            if (rest) {\n              for (var token in rest) {\n                grammar[token] = rest[token];\n              }\n              delete grammar.rest;\n            }\n            var tokenList = new LinkedList();\n            addAfter(tokenList, tokenList.head, text);\n            matchGrammar(text, tokenList, grammar, tokenList.head, 0);\n            return toArray(tokenList);\n          },\n          hooks: {\n            all: {},\n            add: function (name, callback) {\n              var hooks = _.hooks.all;\n              hooks[name] = hooks[name] || [];\n              hooks[name].push(callback);\n            },\n            run: function (name, env) {\n              var callbacks = _.hooks.all[name];\n              if (!callbacks || !callbacks.length) {\n                return;\n              }\n              for (var i = 0, callback; callback = callbacks[i++];) {\n                callback(env);\n              }\n            }\n          },\n          Token: Token\n        };\n        _self.Prism = _;\n        function Token(type, content, alias, matchedStr) {\n          this.type = type;\n          this.content = content;\n          this.alias = alias;\n          this.length = (matchedStr || '').length | 0;\n        }\n        Token.stringify = function stringify(o, language) {\n          if (typeof o == 'string') {\n            return o;\n          }\n          if (Array.isArray(o)) {\n            var s = '';\n            o.forEach(function (e) {\n              s += stringify(e, language);\n            });\n            return s;\n          }\n          var env = {\n            type: o.type,\n            content: stringify(o.content, language),\n            tag: 'span',\n            classes: ['token', o.type],\n            attributes: {},\n            language: language\n          };\n          var aliases = o.alias;\n          if (aliases) {\n            if (Array.isArray(aliases)) {\n              Array.prototype.push.apply(env.classes, aliases);\n            } else {\n              env.classes.push(aliases);\n            }\n          }\n          _.hooks.run('wrap', env);\n          var attributes = '';\n          for (var name in env.attributes) {\n            attributes += ' ' + name + '=\"' + (env.attributes[name] || '').replace(/\"/g, '&quot;') + '\"';\n          }\n          return '<' + env.tag + ' class=\"' + env.classes.join(' ') + '\"' + attributes + '>' + env.content + '</' + env.tag + '>';\n        };\n        function matchPattern(pattern, pos, text, lookbehind) {\n          pattern.lastIndex = pos;\n          var match = pattern.exec(text);\n          if (match && lookbehind && match[1]) {\n            var lookbehindLength = match[1].length;\n            match.index += lookbehindLength;\n            match[0] = match[0].slice(lookbehindLength);\n          }\n          return match;\n        }\n        function matchGrammar(text, tokenList, grammar, startNode, startPos, rematch) {\n          for (var token in grammar) {\n            if (!grammar.hasOwnProperty(token) || !grammar[token]) {\n              continue;\n            }\n            var patterns = grammar[token];\n            patterns = Array.isArray(patterns) ? patterns : [patterns];\n            for (var j = 0; j < patterns.length; ++j) {\n              if (rematch && rematch.cause == token + ',' + j) {\n                return;\n              }\n              var patternObj = patterns[j];\n              var inside = patternObj.inside;\n              var lookbehind = !!patternObj.lookbehind;\n              var greedy = !!patternObj.greedy;\n              var alias = patternObj.alias;\n              if (greedy && !patternObj.pattern.global) {\n                var flags = patternObj.pattern.toString().match(/[imsuy]*$/)[0];\n                patternObj.pattern = RegExp(patternObj.pattern.source, flags + 'g');\n              }\n              var pattern = patternObj.pattern || patternObj;\n              for (var currentNode = startNode.next, pos = startPos; currentNode !== tokenList.tail; pos += currentNode.value.length, currentNode = currentNode.next) {\n                if (rematch && pos >= rematch.reach) {\n                  break;\n                }\n                var str = currentNode.value;\n                if (tokenList.length > text.length) {\n                  return;\n                }\n                if (str instanceof Token) {\n                  continue;\n                }\n                var removeCount = 1;\n                var match;\n                if (greedy) {\n                  match = matchPattern(pattern, pos, text, lookbehind);\n                  if (!match || match.index >= text.length) {\n                    break;\n                  }\n                  var from = match.index;\n                  var to = match.index + match[0].length;\n                  var p = pos;\n                  p += currentNode.value.length;\n                  while (from >= p) {\n                    currentNode = currentNode.next;\n                    p += currentNode.value.length;\n                  }\n                  p -= currentNode.value.length;\n                  pos = p;\n                  if (currentNode.value instanceof Token) {\n                    continue;\n                  }\n                  for (var k = currentNode; k !== tokenList.tail && (p < to || typeof k.value === 'string'); k = k.next) {\n                    removeCount++;\n                    p += k.value.length;\n                  }\n                  removeCount--;\n                  str = text.slice(pos, p);\n                  match.index -= pos;\n                } else {\n                  match = matchPattern(pattern, 0, str, lookbehind);\n                  if (!match) {\n                    continue;\n                  }\n                }\n                var from = match.index;\n                var matchStr = match[0];\n                var before = str.slice(0, from);\n                var after = str.slice(from + matchStr.length);\n                var reach = pos + str.length;\n                if (rematch && reach > rematch.reach) {\n                  rematch.reach = reach;\n                }\n                var removeFrom = currentNode.prev;\n                if (before) {\n                  removeFrom = addAfter(tokenList, removeFrom, before);\n                  pos += before.length;\n                }\n                removeRange(tokenList, removeFrom, removeCount);\n                var wrapped = new Token(token, inside ? _.tokenize(matchStr, inside) : matchStr, alias, matchStr);\n                currentNode = addAfter(tokenList, removeFrom, wrapped);\n                if (after) {\n                  addAfter(tokenList, currentNode, after);\n                }\n                if (removeCount > 1) {\n                  var nestedRematch = {\n                    cause: token + ',' + j,\n                    reach: reach\n                  };\n                  matchGrammar(text, tokenList, grammar, currentNode.prev, pos, nestedRematch);\n                  if (rematch && nestedRematch.reach > rematch.reach) {\n                    rematch.reach = nestedRematch.reach;\n                  }\n                }\n              }\n            }\n          }\n        }\n        function LinkedList() {\n          var head = {\n            value: null,\n            prev: null,\n            next: null\n          };\n          var tail = {\n            value: null,\n            prev: head,\n            next: null\n          };\n          head.next = tail;\n          this.head = head;\n          this.tail = tail;\n          this.length = 0;\n        }\n        function addAfter(list, node, value) {\n          var next = node.next;\n          var newNode = {\n            value: value,\n            prev: node,\n            next: next\n          };\n          node.next = newNode;\n          next.prev = newNode;\n          list.length++;\n          return newNode;\n        }\n        function removeRange(list, node, count) {\n          var next = node.next;\n          for (var i = 0; i < count && next !== list.tail; i++) {\n            next = next.next;\n          }\n          node.next = next;\n          next.prev = node;\n          list.length -= i;\n        }\n        function toArray(list) {\n          var array = [];\n          var node = list.head.next;\n          while (node !== list.tail) {\n            array.push(node.value);\n            node = node.next;\n          }\n          return array;\n        }\n        if (!_self.document) {\n          if (!_self.addEventListener) {\n            return _;\n          }\n          if (!_.disableWorkerMessageHandler) {\n            _self.addEventListener('message', function (evt) {\n              var message = JSON.parse(evt.data);\n              var lang = message.language;\n              var code = message.code;\n              var immediateClose = message.immediateClose;\n              _self.postMessage(_.highlight(code, _.languages[lang], lang));\n              if (immediateClose) {\n                _self.close();\n              }\n            }, false);\n          }\n          return _;\n        }\n        var script = _.util.currentScript();\n        if (script) {\n          _.filename = script.src;\n          if (script.hasAttribute('data-manual')) {\n            _.manual = true;\n          }\n        }\n        function highlightAutomaticallyCallback() {\n          if (!_.manual) {\n            _.highlightAll();\n          }\n        }\n        if (!_.manual) {\n          var readyState = document.readyState;\n          if (readyState === 'loading' || readyState === 'interactive' && script && script.defer) {\n            document.addEventListener('DOMContentLoaded', highlightAutomaticallyCallback);\n          } else {\n            if (window.requestAnimationFrame) {\n              window.requestAnimationFrame(highlightAutomaticallyCallback);\n            } else {\n              window.setTimeout(highlightAutomaticallyCallback, 16);\n            }\n          }\n        }\n        return _;\n      }(_self);\n      if (typeof module !== 'undefined' && module.exports) {\n        module.exports = Prism;\n      }\n      if (typeof global !== 'undefined') {\n        global.Prism = Prism;\n      }\n      Prism.languages.clike = {\n        'comment': [{\n          pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n          lookbehind: true,\n          greedy: true\n        }, {\n          pattern: /(^|[^\\\\:])\\/\\/.*/,\n          lookbehind: true,\n          greedy: true\n        }],\n        'string': {\n          pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n          greedy: true\n        },\n        'class-name': {\n          pattern: /(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,\n          lookbehind: true,\n          inside: {\n            'punctuation': /[.\\\\]/\n          }\n        },\n        'keyword': /\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/,\n        'boolean': /\\b(?:false|true)\\b/,\n        'function': /\\b\\w+(?=\\()/,\n        'number': /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n        'operator': /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,\n        'punctuation': /[{}[\\];(),.:]/\n      };\n      (function (Prism) {\n        function getPlaceholder(language, index) {\n          return '___' + language.toUpperCase() + index + '___';\n        }\n        Object.defineProperties(Prism.languages['markup-templating'] = {}, {\n          buildPlaceholders: {\n            value: function (env, language, placeholderPattern, replaceFilter) {\n              if (env.language !== language) {\n                return;\n              }\n              var tokenStack = env.tokenStack = [];\n              env.code = env.code.replace(placeholderPattern, function (match) {\n                if (typeof replaceFilter === 'function' && !replaceFilter(match)) {\n                  return match;\n                }\n                var i = tokenStack.length;\n                var placeholder;\n                while (env.code.indexOf(placeholder = getPlaceholder(language, i)) !== -1) {\n                  ++i;\n                }\n                tokenStack[i] = match;\n                return placeholder;\n              });\n              env.grammar = Prism.languages.markup;\n            }\n          },\n          tokenizePlaceholders: {\n            value: function (env, language) {\n              if (env.language !== language || !env.tokenStack) {\n                return;\n              }\n              env.grammar = Prism.languages[language];\n              var j = 0;\n              var keys = Object.keys(env.tokenStack);\n              function walkTokens(tokens) {\n                for (var i = 0; i < tokens.length; i++) {\n                  if (j >= keys.length) {\n                    break;\n                  }\n                  var token = tokens[i];\n                  if (typeof token === 'string' || token.content && typeof token.content === 'string') {\n                    var k = keys[j];\n                    var t = env.tokenStack[k];\n                    var s = typeof token === 'string' ? token : token.content;\n                    var placeholder = getPlaceholder(language, k);\n                    var index = s.indexOf(placeholder);\n                    if (index > -1) {\n                      ++j;\n                      var before = s.substring(0, index);\n                      var middle = new Prism.Token(language, Prism.tokenize(t, env.grammar), 'language-' + language, t);\n                      var after = s.substring(index + placeholder.length);\n                      var replacement = [];\n                      if (before) {\n                        replacement.push.apply(replacement, walkTokens([before]));\n                      }\n                      replacement.push(middle);\n                      if (after) {\n                        replacement.push.apply(replacement, walkTokens([after]));\n                      }\n                      if (typeof token === 'string') {\n                        tokens.splice.apply(tokens, [i, 1].concat(replacement));\n                      } else {\n                        token.content = replacement;\n                      }\n                    }\n                  } else if (token.content) {\n                    walkTokens(token.content);\n                  }\n                }\n                return tokens;\n              }\n              walkTokens(env.tokens);\n            }\n          }\n        });\n      })(Prism);\n      Prism.languages.c = Prism.languages.extend('clike', {\n        'comment': {\n          pattern: /\\/\\/(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n?|\\n|(?![\\r\\n])))*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n          greedy: true\n        },\n        'string': {\n          pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n          greedy: true\n        },\n        'class-name': {\n          pattern: /(\\b(?:enum|struct)\\s+(?:__attribute__\\s*\\(\\([\\s\\S]*?\\)\\)\\s*)?)\\w+|\\b[a-z]\\w*_t\\b/,\n          lookbehind: true\n        },\n        'keyword': /\\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b/,\n        'function': /\\b[a-z_]\\w*(?=\\s*\\()/i,\n        'number': /(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]{0,4}/i,\n        'operator': />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*/%&|^!=<>]=?/\n      });\n      Prism.languages.insertBefore('c', 'string', {\n        'char': {\n          pattern: /'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n]){0,32}'/,\n          greedy: true\n        }\n      });\n      Prism.languages.insertBefore('c', 'string', {\n        'macro': {\n          pattern: /(^[\\t ]*)#\\s*[a-z](?:[^\\r\\n\\\\/]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\\\\(?:\\r\\n|[\\s\\S]))*/im,\n          lookbehind: true,\n          greedy: true,\n          alias: 'property',\n          inside: {\n            'string': [{\n              pattern: /^(#\\s*include\\s*)<[^>]+>/,\n              lookbehind: true\n            }, Prism.languages.c['string']],\n            'char': Prism.languages.c['char'],\n            'comment': Prism.languages.c['comment'],\n            'macro-name': [{\n              pattern: /(^#\\s*define\\s+)\\w+\\b(?!\\()/i,\n              lookbehind: true\n            }, {\n              pattern: /(^#\\s*define\\s+)\\w+\\b(?=\\()/i,\n              lookbehind: true,\n              alias: 'function'\n            }],\n            'directive': {\n              pattern: /^(#\\s*)[a-z]+/,\n              lookbehind: true,\n              alias: 'keyword'\n            },\n            'directive-hash': /^#/,\n            'punctuation': /##|\\\\(?=[\\r\\n])/,\n            'expression': {\n              pattern: /\\S[\\s\\S]*/,\n              inside: Prism.languages.c\n            }\n          }\n        }\n      });\n      Prism.languages.insertBefore('c', 'function', {\n        'constant': /\\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\\b/\n      });\n      delete Prism.languages.c['boolean'];\n      (function (Prism) {\n        var keyword = /\\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\\b/;\n        var modName = /\\b(?!<keyword>)\\w+(?:\\s*\\.\\s*\\w+)*\\b/.source.replace(/<keyword>/g, function () {\n          return keyword.source;\n        });\n        Prism.languages.cpp = Prism.languages.extend('c', {\n          'class-name': [{\n            pattern: RegExp(/(\\b(?:class|concept|enum|struct|typename)\\s+)(?!<keyword>)\\w+/.source.replace(/<keyword>/g, function () {\n              return keyword.source;\n            })),\n            lookbehind: true\n          }, /\\b[A-Z]\\w*(?=\\s*::\\s*\\w+\\s*\\()/, /\\b[A-Z_]\\w*(?=\\s*::\\s*~\\w+\\s*\\()/i, /\\b\\w+(?=\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\\s*::\\s*\\w+\\s*\\()/],\n          'keyword': keyword,\n          'number': {\n            pattern: /(?:\\b0b[01']+|\\b0x(?:[\\da-f']+(?:\\.[\\da-f']*)?|\\.[\\da-f']+)(?:p[+-]?[\\d']+)?|(?:\\b[\\d']+(?:\\.[\\d']*)?|\\B\\.[\\d']+)(?:e[+-]?[\\d']+)?)[ful]{0,4}/i,\n            greedy: true\n          },\n          'operator': />>=?|<<=?|->|--|\\+\\+|&&|\\|\\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\\b/,\n          'boolean': /\\b(?:false|true)\\b/\n        });\n        Prism.languages.insertBefore('cpp', 'string', {\n          'module': {\n            pattern: RegExp(/(\\b(?:import|module)\\s+)/.source + '(?:' + /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|<[^<>\\r\\n]*>/.source + '|' + /<mod-name>(?:\\s*:\\s*<mod-name>)?|:\\s*<mod-name>/.source.replace(/<mod-name>/g, function () {\n              return modName;\n            }) + ')'),\n            lookbehind: true,\n            greedy: true,\n            inside: {\n              'string': /^[<\"][\\s\\S]+/,\n              'operator': /:/,\n              'punctuation': /\\./\n            }\n          },\n          'raw-string': {\n            pattern: /R\"([^()\\\\ ]{0,16})\\([\\s\\S]*?\\)\\1\"/,\n            alias: 'string',\n            greedy: true\n          }\n        });\n        Prism.languages.insertBefore('cpp', 'keyword', {\n          'generic-function': {\n            pattern: /\\b(?!operator\\b)[a-z_]\\w*\\s*<(?:[^<>]|<[^<>]*>)*>(?=\\s*\\()/i,\n            inside: {\n              'function': /^\\w+/,\n              'generic': {\n                pattern: /<[\\s\\S]+/,\n                alias: 'class-name',\n                inside: Prism.languages.cpp\n              }\n            }\n          }\n        });\n        Prism.languages.insertBefore('cpp', 'operator', {\n          'double-colon': {\n            pattern: /::/,\n            alias: 'punctuation'\n          }\n        });\n        Prism.languages.insertBefore('cpp', 'class-name', {\n          'base-clause': {\n            pattern: /(\\b(?:class|struct)\\s+\\w+\\s*:\\s*)[^;{}\"'\\s]+(?:\\s+[^;{}\"'\\s]+)*(?=\\s*[;{])/,\n            lookbehind: true,\n            greedy: true,\n            inside: Prism.languages.extend('cpp', {})\n          }\n        });\n        Prism.languages.insertBefore('inside', 'double-colon', {\n          'class-name': /\\b[a-z_]\\w*\\b(?!\\s*::)/i\n        }, Prism.languages.cpp['base-clause']);\n      })(Prism);\n      (function (Prism) {\n        function replace(pattern, replacements) {\n          return pattern.replace(/<<(\\d+)>>/g, function (m, index) {\n            return '(?:' + replacements[+index] + ')';\n          });\n        }\n        function re(pattern, replacements, flags) {\n          return RegExp(replace(pattern, replacements), flags || '');\n        }\n        function nested(pattern, depthLog2) {\n          for (var i = 0; i < depthLog2; i++) {\n            pattern = pattern.replace(/<<self>>/g, function () {\n              return '(?:' + pattern + ')';\n            });\n          }\n          return pattern.replace(/<<self>>/g, '[^\\\\s\\\\S]');\n        }\n        var keywordKinds = {\n          type: 'bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void',\n          typeDeclaration: 'class enum interface record struct',\n          contextual: 'add alias and ascending async await by descending from(?=\\\\s*(?:\\\\w|$)) get global group into init(?=\\\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\\\s*{)',\n          other: 'abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield'\n        };\n        function keywordsToPattern(words) {\n          return '\\\\b(?:' + words.trim().replace(/ /g, '|') + ')\\\\b';\n        }\n        var typeDeclarationKeywords = keywordsToPattern(keywordKinds.typeDeclaration);\n        var keywords = RegExp(keywordsToPattern(keywordKinds.type + ' ' + keywordKinds.typeDeclaration + ' ' + keywordKinds.contextual + ' ' + keywordKinds.other));\n        var nonTypeKeywords = keywordsToPattern(keywordKinds.typeDeclaration + ' ' + keywordKinds.contextual + ' ' + keywordKinds.other);\n        var nonContextualKeywords = keywordsToPattern(keywordKinds.type + ' ' + keywordKinds.typeDeclaration + ' ' + keywordKinds.other);\n        var generic = nested(/<(?:[^<>;=+\\-*/%&|^]|<<self>>)*>/.source, 2);\n        var nestedRound = nested(/\\((?:[^()]|<<self>>)*\\)/.source, 2);\n        var name = /@?\\b[A-Za-z_]\\w*\\b/.source;\n        var genericName = replace(/<<0>>(?:\\s*<<1>>)?/.source, [name, generic]);\n        var identifier = replace(/(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*/.source, [nonTypeKeywords, genericName]);\n        var array = /\\[\\s*(?:,\\s*)*\\]/.source;\n        var typeExpressionWithoutTuple = replace(/<<0>>(?:\\s*(?:\\?\\s*)?<<1>>)*(?:\\s*\\?)?/.source, [identifier, array]);\n        var tupleElement = replace(/[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source, [generic, nestedRound, array]);\n        var tuple = replace(/\\(<<0>>+(?:,<<0>>+)+\\)/.source, [tupleElement]);\n        var typeExpression = replace(/(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?/.source, [tuple, identifier, array]);\n        var typeInside = {\n          'keyword': keywords,\n          'punctuation': /[<>()?,.:[\\]]/\n        };\n        var character = /'(?:[^\\r\\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'/.source;\n        var regularString = /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/.source;\n        var verbatimString = /@\"(?:\"\"|\\\\[\\s\\S]|[^\\\\\"])*\"(?!\")/.source;\n        Prism.languages.csharp = Prism.languages.extend('clike', {\n          'string': [{\n            pattern: re(/(^|[^$\\\\])<<0>>/.source, [verbatimString]),\n            lookbehind: true,\n            greedy: true\n          }, {\n            pattern: re(/(^|[^@$\\\\])<<0>>/.source, [regularString]),\n            lookbehind: true,\n            greedy: true\n          }],\n          'class-name': [{\n            pattern: re(/(\\busing\\s+static\\s+)<<0>>(?=\\s*;)/.source, [identifier]),\n            lookbehind: true,\n            inside: typeInside\n          }, {\n            pattern: re(/(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)/.source, [name, typeExpression]),\n            lookbehind: true,\n            inside: typeInside\n          }, {\n            pattern: re(/(\\busing\\s+)<<0>>(?=\\s*=)/.source, [name]),\n            lookbehind: true\n          }, {\n            pattern: re(/(\\b<<0>>\\s+)<<1>>/.source, [typeDeclarationKeywords, genericName]),\n            lookbehind: true,\n            inside: typeInside\n          }, {\n            pattern: re(/(\\bcatch\\s*\\(\\s*)<<0>>/.source, [identifier]),\n            lookbehind: true,\n            inside: typeInside\n          }, {\n            pattern: re(/(\\bwhere\\s+)<<0>>/.source, [name]),\n            lookbehind: true\n          }, {\n            pattern: re(/(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>/.source, [typeExpressionWithoutTuple]),\n            lookbehind: true,\n            inside: typeInside\n          }, {\n            pattern: re(/\\b<<0>>(?=\\s+(?!<<1>>|with\\s*\\{)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))/.source, [typeExpression, nonContextualKeywords, name]),\n            inside: typeInside\n          }],\n          'keyword': keywords,\n          'number': /(?:\\b0(?:x[\\da-f_]*[\\da-f]|b[01_]*[01])|(?:\\B\\.\\d+(?:_+\\d+)*|\\b\\d+(?:_+\\d+)*(?:\\.\\d+(?:_+\\d+)*)?)(?:e[-+]?\\d+(?:_+\\d+)*)?)(?:[dflmu]|lu|ul)?\\b/i,\n          'operator': />>=?|<<=?|[-=]>|([-+&|])\\1|~|\\?\\?=?|[-+*/%&|^!=<>]=?/,\n          'punctuation': /\\?\\.?|::|[{}[\\];(),.:]/\n        });\n        Prism.languages.insertBefore('csharp', 'number', {\n          'range': {\n            pattern: /\\.\\./,\n            alias: 'operator'\n          }\n        });\n        Prism.languages.insertBefore('csharp', 'punctuation', {\n          'named-parameter': {\n            pattern: re(/([(,]\\s*)<<0>>(?=\\s*:)/.source, [name]),\n            lookbehind: true,\n            alias: 'punctuation'\n          }\n        });\n        Prism.languages.insertBefore('csharp', 'class-name', {\n          'namespace': {\n            pattern: re(/(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])/.source, [name]),\n            lookbehind: true,\n            inside: {\n              'punctuation': /\\./\n            }\n          },\n          'type-expression': {\n            pattern: re(/(\\b(?:default|sizeof|typeof)\\s*\\(\\s*(?!\\s))(?:[^()\\s]|\\s(?!\\s)|<<0>>)*(?=\\s*\\))/.source, [nestedRound]),\n            lookbehind: true,\n            alias: 'class-name',\n            inside: typeInside\n          },\n          'return-type': {\n            pattern: re(/<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))/.source, [typeExpression, identifier]),\n            inside: typeInside,\n            alias: 'class-name'\n          },\n          'constructor-invocation': {\n            pattern: re(/(\\bnew\\s+)<<0>>(?=\\s*[[({])/.source, [typeExpression]),\n            lookbehind: true,\n            inside: typeInside,\n            alias: 'class-name'\n          },\n          'generic-method': {\n            pattern: re(/<<0>>\\s*<<1>>(?=\\s*\\()/.source, [name, generic]),\n            inside: {\n              'function': re(/^<<0>>/.source, [name]),\n              'generic': {\n                pattern: RegExp(generic),\n                alias: 'class-name',\n                inside: typeInside\n              }\n            }\n          },\n          'type-list': {\n            pattern: re(/\\b((?:<<0>>\\s+<<1>>|record\\s+<<1>>\\s*<<5>>|where\\s+<<2>>)\\s*:\\s*)(?:<<3>>|<<4>>|<<1>>\\s*<<5>>|<<6>>)(?:\\s*,\\s*(?:<<3>>|<<4>>|<<6>>))*(?=\\s*(?:where|[{;]|=>|$))/.source, [typeDeclarationKeywords, genericName, name, typeExpression, keywords.source, nestedRound, /\\bnew\\s*\\(\\s*\\)/.source]),\n            lookbehind: true,\n            inside: {\n              'record-arguments': {\n                pattern: re(/(^(?!new\\s*\\()<<0>>\\s*)<<1>>/.source, [genericName, nestedRound]),\n                lookbehind: true,\n                greedy: true,\n                inside: Prism.languages.csharp\n              },\n              'keyword': keywords,\n              'class-name': {\n                pattern: RegExp(typeExpression),\n                greedy: true,\n                inside: typeInside\n              },\n              'punctuation': /[,()]/\n            }\n          },\n          'preprocessor': {\n            pattern: /(^[\\t ]*)#.*/m,\n            lookbehind: true,\n            alias: 'property',\n            inside: {\n              'directive': {\n                pattern: /(#)\\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\\b/,\n                lookbehind: true,\n                alias: 'keyword'\n              }\n            }\n          }\n        });\n        var regularStringOrCharacter = regularString + '|' + character;\n        var regularStringCharacterOrComment = replace(/\\/(?![*/])|\\/\\/[^\\r\\n]*[\\r\\n]|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>/.source, [regularStringOrCharacter]);\n        var roundExpression = nested(replace(/[^\"'/()]|<<0>>|\\(<<self>>*\\)/.source, [regularStringCharacterOrComment]), 2);\n        var attrTarget = /\\b(?:assembly|event|field|method|module|param|property|return|type)\\b/.source;\n        var attr = replace(/<<0>>(?:\\s*\\(<<1>>*\\))?/.source, [identifier, roundExpression]);\n        Prism.languages.insertBefore('csharp', 'class-name', {\n          'attribute': {\n            pattern: re(/((?:^|[^\\s\\w>)?])\\s*\\[\\s*)(?:<<0>>\\s*:\\s*)?<<1>>(?:\\s*,\\s*<<1>>)*(?=\\s*\\])/.source, [attrTarget, attr]),\n            lookbehind: true,\n            greedy: true,\n            inside: {\n              'target': {\n                pattern: re(/^<<0>>(?=\\s*:)/.source, [attrTarget]),\n                alias: 'keyword'\n              },\n              'attribute-arguments': {\n                pattern: re(/\\(<<0>>*\\)/.source, [roundExpression]),\n                inside: Prism.languages.csharp\n              },\n              'class-name': {\n                pattern: RegExp(identifier),\n                inside: {\n                  'punctuation': /\\./\n                }\n              },\n              'punctuation': /[:,]/\n            }\n          }\n        });\n        var formatString = /:[^}\\r\\n]+/.source;\n        var mInterpolationRound = nested(replace(/[^\"'/()]|<<0>>|\\(<<self>>*\\)/.source, [regularStringCharacterOrComment]), 2);\n        var mInterpolation = replace(/\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}/.source, [mInterpolationRound, formatString]);\n        var sInterpolationRound = nested(replace(/[^\"'/()]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>|\\(<<self>>*\\)/.source, [regularStringOrCharacter]), 2);\n        var sInterpolation = replace(/\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}/.source, [sInterpolationRound, formatString]);\n        function createInterpolationInside(interpolation, interpolationRound) {\n          return {\n            'interpolation': {\n              pattern: re(/((?:^|[^{])(?:\\{\\{)*)<<0>>/.source, [interpolation]),\n              lookbehind: true,\n              inside: {\n                'format-string': {\n                  pattern: re(/(^\\{(?:(?![}:])<<0>>)*)<<1>>(?=\\}$)/.source, [interpolationRound, formatString]),\n                  lookbehind: true,\n                  inside: {\n                    'punctuation': /^:/\n                  }\n                },\n                'punctuation': /^\\{|\\}$/,\n                'expression': {\n                  pattern: /[\\s\\S]+/,\n                  alias: 'language-csharp',\n                  inside: Prism.languages.csharp\n                }\n              }\n            },\n            'string': /[\\s\\S]+/\n          };\n        }\n        Prism.languages.insertBefore('csharp', 'string', {\n          'interpolation-string': [{\n            pattern: re(/(^|[^\\\\])(?:\\$@|@\\$)\"(?:\"\"|\\\\[\\s\\S]|\\{\\{|<<0>>|[^\\\\{\"])*\"/.source, [mInterpolation]),\n            lookbehind: true,\n            greedy: true,\n            inside: createInterpolationInside(mInterpolation, mInterpolationRound)\n          }, {\n            pattern: re(/(^|[^@\\\\])\\$\"(?:\\\\.|\\{\\{|<<0>>|[^\\\\\"{])*\"/.source, [sInterpolation]),\n            lookbehind: true,\n            greedy: true,\n            inside: createInterpolationInside(sInterpolation, sInterpolationRound)\n          }],\n          'char': {\n            pattern: RegExp(character),\n            greedy: true\n          }\n        });\n        Prism.languages.dotnet = Prism.languages.cs = Prism.languages.csharp;\n      })(Prism);\n      (function (Prism) {\n        var string = /(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/;\n        Prism.languages.css = {\n          'comment': /\\/\\*[\\s\\S]*?\\*\\//,\n          'atrule': {\n            pattern: RegExp('@[\\\\w-](?:' + /[^;{\\s\"']|\\s+(?!\\s)/.source + '|' + string.source + ')*?' + /(?:;|(?=\\s*\\{))/.source),\n            inside: {\n              'rule': /^@[\\w-]+/,\n              'selector-function-argument': {\n                pattern: /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/,\n                lookbehind: true,\n                alias: 'selector'\n              },\n              'keyword': {\n                pattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,\n                lookbehind: true\n              }\n            }\n          },\n          'url': {\n            pattern: RegExp('\\\\burl\\\\((?:' + string.source + '|' + /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source + ')\\\\)', 'i'),\n            greedy: true,\n            inside: {\n              'function': /^url/i,\n              'punctuation': /^\\(|\\)$/,\n              'string': {\n                pattern: RegExp('^' + string.source + '$'),\n                alias: 'url'\n              }\n            }\n          },\n          'selector': {\n            pattern: RegExp('(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"\\'\\\\s]|\\\\s+(?![\\\\s{])|' + string.source + ')*(?=\\\\s*\\\\{)'),\n            lookbehind: true\n          },\n          'string': {\n            pattern: string,\n            greedy: true\n          },\n          'property': {\n            pattern: /(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i,\n            lookbehind: true\n          },\n          'important': /!important\\b/i,\n          'function': {\n            pattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i,\n            lookbehind: true\n          },\n          'punctuation': /[(){};:,]/\n        };\n        Prism.languages.css['atrule'].inside.rest = Prism.languages.css;\n        var markup = Prism.languages.markup;\n        if (markup) {\n          markup.tag.addInlined('style', 'css');\n          markup.tag.addAttribute('style', 'css');\n        }\n      })(Prism);\n      (function (Prism) {\n        var keywords = /\\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\\s*[(){}[\\]<>=%~.:,;?+\\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\\b/;\n        var classNamePrefix = /(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*/.source;\n        var className = {\n          pattern: RegExp(/(^|[^\\w.])/.source + classNamePrefix + /[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b/.source),\n          lookbehind: true,\n          inside: {\n            'namespace': {\n              pattern: /^[a-z]\\w*(?:\\s*\\.\\s*[a-z]\\w*)*(?:\\s*\\.)?/,\n              inside: {\n                'punctuation': /\\./\n              }\n            },\n            'punctuation': /\\./\n          }\n        };\n        Prism.languages.java = Prism.languages.extend('clike', {\n          'string': {\n            pattern: /(^|[^\\\\])\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n            lookbehind: true,\n            greedy: true\n          },\n          'class-name': [className, {\n            pattern: RegExp(/(^|[^\\w.])/.source + classNamePrefix + /[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()]|\\s*(?:\\[[\\s,]*\\]\\s*)?::\\s*new\\b)/.source),\n            lookbehind: true,\n            inside: className.inside\n          }, {\n            pattern: RegExp(/(\\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\\s+)/.source + classNamePrefix + /[A-Z]\\w*\\b/.source),\n            lookbehind: true,\n            inside: className.inside\n          }],\n          'keyword': keywords,\n          'function': [Prism.languages.clike.function, {\n            pattern: /(::\\s*)[a-z_]\\w*/,\n            lookbehind: true\n          }],\n          'number': /\\b0b[01][01_]*L?\\b|\\b0x(?:\\.[\\da-f_p+-]+|[\\da-f_]+(?:\\.[\\da-f_p+-]+)?)\\b|(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[dfl]?/i,\n          'operator': {\n            pattern: /(^|[^.])(?:<<=?|>>>?=?|->|--|\\+\\+|&&|\\|\\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,\n            lookbehind: true\n          },\n          'constant': /\\b[A-Z][A-Z_\\d]+\\b/\n        });\n        Prism.languages.insertBefore('java', 'string', {\n          'triple-quoted-string': {\n            pattern: /\"\"\"[ \\t]*[\\r\\n](?:(?:\"|\"\")?(?:\\\\.|[^\"\\\\]))*\"\"\"/,\n            greedy: true,\n            alias: 'string'\n          },\n          'char': {\n            pattern: /'(?:\\\\.|[^'\\\\\\r\\n]){1,6}'/,\n            greedy: true\n          }\n        });\n        Prism.languages.insertBefore('java', 'class-name', {\n          'annotation': {\n            pattern: /(^|[^.])@\\w+(?:\\s*\\.\\s*\\w+)*/,\n            lookbehind: true,\n            alias: 'punctuation'\n          },\n          'generics': {\n            pattern: /<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&))*>)*>)*>)*>/,\n            inside: {\n              'class-name': className,\n              'keyword': keywords,\n              'punctuation': /[<>(),.:]/,\n              'operator': /[?&|]/\n            }\n          },\n          'import': [{\n            pattern: RegExp(/(\\bimport\\s+)/.source + classNamePrefix + /(?:[A-Z]\\w*|\\*)(?=\\s*;)/.source),\n            lookbehind: true,\n            inside: {\n              'namespace': className.inside.namespace,\n              'punctuation': /\\./,\n              'operator': /\\*/,\n              'class-name': /\\w+/\n            }\n          }, {\n            pattern: RegExp(/(\\bimport\\s+static\\s+)/.source + classNamePrefix + /(?:\\w+|\\*)(?=\\s*;)/.source),\n            lookbehind: true,\n            alias: 'static',\n            inside: {\n              'namespace': className.inside.namespace,\n              'static': /\\b\\w+$/,\n              'punctuation': /\\./,\n              'operator': /\\*/,\n              'class-name': /\\w+/\n            }\n          }],\n          'namespace': {\n            pattern: RegExp(/(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!<keyword>)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?/.source.replace(/<keyword>/g, function () {\n              return keywords.source;\n            })),\n            lookbehind: true,\n            inside: {\n              'punctuation': /\\./\n            }\n          }\n        });\n      })(Prism);\n      Prism.languages.javascript = Prism.languages.extend('clike', {\n        'class-name': [Prism.languages.clike['class-name'], {\n          pattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/,\n          lookbehind: true\n        }],\n        'keyword': [{\n          pattern: /((?:^|\\})\\s*)catch\\b/,\n          lookbehind: true\n        }, {\n          pattern: /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,\n          lookbehind: true\n        }],\n        'function': /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,\n        'number': {\n          pattern: RegExp(/(^|[^\\w$])/.source + '(?:' + (/NaN|Infinity/.source + '|' + /0[bB][01]+(?:_[01]+)*n?/.source + '|' + /0[oO][0-7]+(?:_[0-7]+)*n?/.source + '|' + /0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source + '|' + /\\d+(?:_\\d+)*n/.source + '|' + /(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/.source) + ')' + /(?![\\w$])/.source),\n          lookbehind: true\n        },\n        'operator': /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/\n      });\n      Prism.languages.javascript['class-name'][0].pattern = /(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/;\n      Prism.languages.insertBefore('javascript', 'keyword', {\n        'regex': {\n          pattern: RegExp(/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/.source + /\\//.source + '(?:' + /(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}/.source + '|' + /(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source + ')' + /(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/.source),\n          lookbehind: true,\n          greedy: true,\n          inside: {\n            'regex-source': {\n              pattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,\n              lookbehind: true,\n              alias: 'language-regex',\n              inside: Prism.languages.regex\n            },\n            'regex-delimiter': /^\\/|\\/$/,\n            'regex-flags': /^[a-z]+$/\n          }\n        },\n        'function-variable': {\n          pattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,\n          alias: 'function'\n        },\n        'parameter': [{\n          pattern: /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,\n          lookbehind: true,\n          inside: Prism.languages.javascript\n        }, {\n          pattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,\n          lookbehind: true,\n          inside: Prism.languages.javascript\n        }, {\n          pattern: /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,\n          lookbehind: true,\n          inside: Prism.languages.javascript\n        }, {\n          pattern: /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/,\n          lookbehind: true,\n          inside: Prism.languages.javascript\n        }],\n        'constant': /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/\n      });\n      Prism.languages.insertBefore('javascript', 'string', {\n        'hashbang': {\n          pattern: /^#!.*/,\n          greedy: true,\n          alias: 'comment'\n        },\n        'template-string': {\n          pattern: /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,\n          greedy: true,\n          inside: {\n            'template-punctuation': {\n              pattern: /^`|`$/,\n              alias: 'string'\n            },\n            'interpolation': {\n              pattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n              lookbehind: true,\n              inside: {\n                'interpolation-punctuation': {\n                  pattern: /^\\$\\{|\\}$/,\n                  alias: 'punctuation'\n                },\n                rest: Prism.languages.javascript\n              }\n            },\n            'string': /[\\s\\S]+/\n          }\n        },\n        'string-property': {\n          pattern: /((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m,\n          lookbehind: true,\n          greedy: true,\n          alias: 'property'\n        }\n      });\n      Prism.languages.insertBefore('javascript', 'operator', {\n        'literal-property': {\n          pattern: /((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m,\n          lookbehind: true,\n          alias: 'property'\n        }\n      });\n      if (Prism.languages.markup) {\n        Prism.languages.markup.tag.addInlined('script', 'javascript');\n        Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source, 'javascript');\n      }\n      Prism.languages.js = Prism.languages.javascript;\n      Prism.languages.markup = {\n        'comment': {\n          pattern: /<!--(?:(?!<!--)[\\s\\S])*?-->/,\n          greedy: true\n        },\n        'prolog': {\n          pattern: /<\\?[\\s\\S]+?\\?>/,\n          greedy: true\n        },\n        'doctype': {\n          pattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,\n          greedy: true,\n          inside: {\n            'internal-subset': {\n              pattern: /(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/,\n              lookbehind: true,\n              greedy: true,\n              inside: null\n            },\n            'string': {\n              pattern: /\"[^\"]*\"|'[^']*'/,\n              greedy: true\n            },\n            'punctuation': /^<!|>$|[[\\]]/,\n            'doctype-tag': /^DOCTYPE/i,\n            'name': /[^\\s<>'\"]+/\n          }\n        },\n        'cdata': {\n          pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n          greedy: true\n        },\n        'tag': {\n          pattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,\n          greedy: true,\n          inside: {\n            'tag': {\n              pattern: /^<\\/?[^\\s>\\/]+/,\n              inside: {\n                'punctuation': /^<\\/?/,\n                'namespace': /^[^\\s>\\/:]+:/\n              }\n            },\n            'special-attr': [],\n            'attr-value': {\n              pattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,\n              inside: {\n                'punctuation': [{\n                  pattern: /^=/,\n                  alias: 'attr-equals'\n                }, {\n                  pattern: /^(\\s*)[\"']|[\"']$/,\n                  lookbehind: true\n                }]\n              }\n            },\n            'punctuation': /\\/?>/,\n            'attr-name': {\n              pattern: /[^\\s>\\/]+/,\n              inside: {\n                'namespace': /^[^\\s>\\/:]+:/\n              }\n            }\n          }\n        },\n        'entity': [{\n          pattern: /&[\\da-z]{1,8};/i,\n          alias: 'named-entity'\n        }, /&#x?[\\da-f]{1,8};/i]\n      };\n      Prism.languages.markup['tag'].inside['attr-value'].inside['entity'] = Prism.languages.markup['entity'];\n      Prism.languages.markup['doctype'].inside['internal-subset'].inside = Prism.languages.markup;\n      Prism.hooks.add('wrap', function (env) {\n        if (env.type === 'entity') {\n          env.attributes['title'] = env.content.replace(/&amp;/, '&');\n        }\n      });\n      Object.defineProperty(Prism.languages.markup.tag, 'addInlined', {\n        value: function addInlined(tagName, lang) {\n          var includedCdataInside = {};\n          includedCdataInside['language-' + lang] = {\n            pattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n            lookbehind: true,\n            inside: Prism.languages[lang]\n          };\n          includedCdataInside['cdata'] = /^<!\\[CDATA\\[|\\]\\]>$/i;\n          var inside = {\n            'included-cdata': {\n              pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n              inside: includedCdataInside\n            }\n          };\n          inside['language-' + lang] = {\n            pattern: /[\\s\\S]+/,\n            inside: Prism.languages[lang]\n          };\n          var def = {};\n          def[tagName] = {\n            pattern: RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, function () {\n              return tagName;\n            }), 'i'),\n            lookbehind: true,\n            greedy: true,\n            inside: inside\n          };\n          Prism.languages.insertBefore('markup', 'cdata', def);\n        }\n      });\n      Object.defineProperty(Prism.languages.markup.tag, 'addAttribute', {\n        value: function (attrName, lang) {\n          Prism.languages.markup.tag.inside['special-attr'].push({\n            pattern: RegExp(/(^|[\"'\\s])/.source + '(?:' + attrName + ')' + /\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source, 'i'),\n            lookbehind: true,\n            inside: {\n              'attr-name': /^[^\\s=]+/,\n              'attr-value': {\n                pattern: /=[\\s\\S]+/,\n                inside: {\n                  'value': {\n                    pattern: /(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/,\n                    lookbehind: true,\n                    alias: [lang, 'language-' + lang],\n                    inside: Prism.languages[lang]\n                  },\n                  'punctuation': [{\n                    pattern: /^=/,\n                    alias: 'attr-equals'\n                  }, /\"|'/]\n                }\n              }\n            }\n          });\n        }\n      });\n      Prism.languages.html = Prism.languages.markup;\n      Prism.languages.mathml = Prism.languages.markup;\n      Prism.languages.svg = Prism.languages.markup;\n      Prism.languages.xml = Prism.languages.extend('markup', {});\n      Prism.languages.ssml = Prism.languages.xml;\n      Prism.languages.atom = Prism.languages.xml;\n      Prism.languages.rss = Prism.languages.xml;\n      (function (Prism) {\n        var comment = /\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*|#(?!\\[).*/;\n        var constant = [{\n          pattern: /\\b(?:false|true)\\b/i,\n          alias: 'boolean'\n        }, {\n          pattern: /(::\\s*)\\b[a-z_]\\w*\\b(?!\\s*\\()/i,\n          greedy: true,\n          lookbehind: true\n        }, {\n          pattern: /(\\b(?:case|const)\\s+)\\b[a-z_]\\w*(?=\\s*[;=])/i,\n          greedy: true,\n          lookbehind: true\n        }, /\\b(?:null)\\b/i, /\\b[A-Z_][A-Z0-9_]*\\b(?!\\s*\\()/];\n        var number = /\\b0b[01]+(?:_[01]+)*\\b|\\b0o[0-7]+(?:_[0-7]+)*\\b|\\b0x[\\da-f]+(?:_[\\da-f]+)*\\b|(?:\\b\\d+(?:_\\d+)*\\.?(?:\\d+(?:_\\d+)*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i;\n        var operator = /<?=>|\\?\\?=?|\\.{3}|\\??->|[!=]=?=?|::|\\*\\*=?|--|\\+\\+|&&|\\|\\||<<|>>|[?~]|[/^|%*&<>.+-]=?/;\n        var punctuation = /[{}\\[\\](),:;]/;\n        Prism.languages.php = {\n          'delimiter': {\n            pattern: /\\?>$|^<\\?(?:php(?=\\s)|=)?/i,\n            alias: 'important'\n          },\n          'comment': comment,\n          'variable': /\\$+(?:\\w+\\b|(?=\\{))/,\n          'package': {\n            pattern: /(namespace\\s+|use\\s+(?:function\\s+)?)(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,\n            lookbehind: true,\n            inside: {\n              'punctuation': /\\\\/\n            }\n          },\n          'class-name-definition': {\n            pattern: /(\\b(?:class|enum|interface|trait)\\s+)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n            lookbehind: true,\n            alias: 'class-name'\n          },\n          'function-definition': {\n            pattern: /(\\bfunction\\s+)[a-z_]\\w*(?=\\s*\\()/i,\n            lookbehind: true,\n            alias: 'function'\n          },\n          'keyword': [{\n            pattern: /(\\(\\s*)\\b(?:array|bool|boolean|float|int|integer|object|string)\\b(?=\\s*\\))/i,\n            alias: 'type-casting',\n            greedy: true,\n            lookbehind: true\n          }, {\n            pattern: /([(,?]\\s*)\\b(?:array(?!\\s*\\()|bool|callable|(?:false|null)(?=\\s*\\|)|float|int|iterable|mixed|object|self|static|string)\\b(?=\\s*\\$)/i,\n            alias: 'type-hint',\n            greedy: true,\n            lookbehind: true\n          }, {\n            pattern: /(\\)\\s*:\\s*(?:\\?\\s*)?)\\b(?:array(?!\\s*\\()|bool|callable|(?:false|null)(?=\\s*\\|)|float|int|iterable|mixed|never|object|self|static|string|void)\\b/i,\n            alias: 'return-type',\n            greedy: true,\n            lookbehind: true\n          }, {\n            pattern: /\\b(?:array(?!\\s*\\()|bool|float|int|iterable|mixed|object|string|void)\\b/i,\n            alias: 'type-declaration',\n            greedy: true\n          }, {\n            pattern: /(\\|\\s*)(?:false|null)\\b|\\b(?:false|null)(?=\\s*\\|)/i,\n            alias: 'type-declaration',\n            greedy: true,\n            lookbehind: true\n          }, {\n            pattern: /\\b(?:parent|self|static)(?=\\s*::)/i,\n            alias: 'static-context',\n            greedy: true\n          }, {\n            pattern: /(\\byield\\s+)from\\b/i,\n            lookbehind: true\n          }, /\\bclass\\b/i, {\n            pattern: /((?:^|[^\\s>:]|(?:^|[^-])>|(?:^|[^:]):)\\s*)\\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\\b/i,\n            lookbehind: true\n          }],\n          'argument-name': {\n            pattern: /([(,]\\s*)\\b[a-z_]\\w*(?=\\s*:(?!:))/i,\n            lookbehind: true\n          },\n          'class-name': [{\n            pattern: /(\\b(?:extends|implements|instanceof|new(?!\\s+self|\\s+static))\\s+|\\bcatch\\s*\\()\\b[a-z_]\\w*(?!\\\\)\\b/i,\n            greedy: true,\n            lookbehind: true\n          }, {\n            pattern: /(\\|\\s*)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n            greedy: true,\n            lookbehind: true\n          }, {\n            pattern: /\\b[a-z_]\\w*(?!\\\\)\\b(?=\\s*\\|)/i,\n            greedy: true\n          }, {\n            pattern: /(\\|\\s*)(?:\\\\?\\b[a-z_]\\w*)+\\b/i,\n            alias: 'class-name-fully-qualified',\n            greedy: true,\n            lookbehind: true,\n            inside: {\n              'punctuation': /\\\\/\n            }\n          }, {\n            pattern: /(?:\\\\?\\b[a-z_]\\w*)+\\b(?=\\s*\\|)/i,\n            alias: 'class-name-fully-qualified',\n            greedy: true,\n            inside: {\n              'punctuation': /\\\\/\n            }\n          }, {\n            pattern: /(\\b(?:extends|implements|instanceof|new(?!\\s+self\\b|\\s+static\\b))\\s+|\\bcatch\\s*\\()(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,\n            alias: 'class-name-fully-qualified',\n            greedy: true,\n            lookbehind: true,\n            inside: {\n              'punctuation': /\\\\/\n            }\n          }, {\n            pattern: /\\b[a-z_]\\w*(?=\\s*\\$)/i,\n            alias: 'type-declaration',\n            greedy: true\n          }, {\n            pattern: /(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*\\$)/i,\n            alias: ['class-name-fully-qualified', 'type-declaration'],\n            greedy: true,\n            inside: {\n              'punctuation': /\\\\/\n            }\n          }, {\n            pattern: /\\b[a-z_]\\w*(?=\\s*::)/i,\n            alias: 'static-context',\n            greedy: true\n          }, {\n            pattern: /(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*::)/i,\n            alias: ['class-name-fully-qualified', 'static-context'],\n            greedy: true,\n            inside: {\n              'punctuation': /\\\\/\n            }\n          }, {\n            pattern: /([(,?]\\s*)[a-z_]\\w*(?=\\s*\\$)/i,\n            alias: 'type-hint',\n            greedy: true,\n            lookbehind: true\n          }, {\n            pattern: /([(,?]\\s*)(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*\\$)/i,\n            alias: ['class-name-fully-qualified', 'type-hint'],\n            greedy: true,\n            lookbehind: true,\n            inside: {\n              'punctuation': /\\\\/\n            }\n          }, {\n            pattern: /(\\)\\s*:\\s*(?:\\?\\s*)?)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n            alias: 'return-type',\n            greedy: true,\n            lookbehind: true\n          }, {\n            pattern: /(\\)\\s*:\\s*(?:\\?\\s*)?)(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,\n            alias: ['class-name-fully-qualified', 'return-type'],\n            greedy: true,\n            lookbehind: true,\n            inside: {\n              'punctuation': /\\\\/\n            }\n          }],\n          'constant': constant,\n          'function': {\n            pattern: /(^|[^\\\\\\w])\\\\?[a-z_](?:[\\w\\\\]*\\w)?(?=\\s*\\()/i,\n            lookbehind: true,\n            inside: {\n              'punctuation': /\\\\/\n            }\n          },\n          'property': {\n            pattern: /(->\\s*)\\w+/,\n            lookbehind: true\n          },\n          'number': number,\n          'operator': operator,\n          'punctuation': punctuation\n        };\n        var string_interpolation = {\n          pattern: /\\{\\$(?:\\{(?:\\{[^{}]+\\}|[^{}]+)\\}|[^{}])+\\}|(^|[^\\\\{])\\$+(?:\\w+(?:\\[[^\\r\\n\\[\\]]+\\]|->\\w+)?)/,\n          lookbehind: true,\n          inside: Prism.languages.php\n        };\n        var string = [{\n          pattern: /<<<'([^']+)'[\\r\\n](?:.*[\\r\\n])*?\\1;/,\n          alias: 'nowdoc-string',\n          greedy: true,\n          inside: {\n            'delimiter': {\n              pattern: /^<<<'[^']+'|[a-z_]\\w*;$/i,\n              alias: 'symbol',\n              inside: {\n                'punctuation': /^<<<'?|[';]$/\n              }\n            }\n          }\n        }, {\n          pattern: /<<<(?:\"([^\"]+)\"[\\r\\n](?:.*[\\r\\n])*?\\1;|([a-z_]\\w*)[\\r\\n](?:.*[\\r\\n])*?\\2;)/i,\n          alias: 'heredoc-string',\n          greedy: true,\n          inside: {\n            'delimiter': {\n              pattern: /^<<<(?:\"[^\"]+\"|[a-z_]\\w*)|[a-z_]\\w*;$/i,\n              alias: 'symbol',\n              inside: {\n                'punctuation': /^<<<\"?|[\";]$/\n              }\n            },\n            'interpolation': string_interpolation\n          }\n        }, {\n          pattern: /`(?:\\\\[\\s\\S]|[^\\\\`])*`/,\n          alias: 'backtick-quoted-string',\n          greedy: true\n        }, {\n          pattern: /'(?:\\\\[\\s\\S]|[^\\\\'])*'/,\n          alias: 'single-quoted-string',\n          greedy: true\n        }, {\n          pattern: /\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,\n          alias: 'double-quoted-string',\n          greedy: true,\n          inside: {\n            'interpolation': string_interpolation\n          }\n        }];\n        Prism.languages.insertBefore('php', 'variable', {\n          'string': string,\n          'attribute': {\n            pattern: /#\\[(?:[^\"'\\/#]|\\/(?![*/])|\\/\\/.*$|#(?!\\[).*$|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*')+\\](?=\\s*[a-z$#])/im,\n            greedy: true,\n            inside: {\n              'attribute-content': {\n                pattern: /^(#\\[)[\\s\\S]+(?=\\]$)/,\n                lookbehind: true,\n                inside: {\n                  'comment': comment,\n                  'string': string,\n                  'attribute-class-name': [{\n                    pattern: /([^:]|^)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n                    alias: 'class-name',\n                    greedy: true,\n                    lookbehind: true\n                  }, {\n                    pattern: /([^:]|^)(?:\\\\?\\b[a-z_]\\w*)+/i,\n                    alias: ['class-name', 'class-name-fully-qualified'],\n                    greedy: true,\n                    lookbehind: true,\n                    inside: {\n                      'punctuation': /\\\\/\n                    }\n                  }],\n                  'constant': constant,\n                  'number': number,\n                  'operator': operator,\n                  'punctuation': punctuation\n                }\n              },\n              'delimiter': {\n                pattern: /^#\\[|\\]$/,\n                alias: 'punctuation'\n              }\n            }\n          }\n        });\n        Prism.hooks.add('before-tokenize', function (env) {\n          if (!/<\\?/.test(env.code)) {\n            return;\n          }\n          var phpPattern = /<\\?(?:[^\"'/#]|\\/(?![*/])|(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|(?:\\/\\/|#(?!\\[))(?:[^?\\n\\r]|\\?(?!>))*(?=$|\\?>|[\\r\\n])|#\\[|\\/\\*(?:[^*]|\\*(?!\\/))*(?:\\*\\/|$))*?(?:\\?>|$)/g;\n          Prism.languages['markup-templating'].buildPlaceholders(env, 'php', phpPattern);\n        });\n        Prism.hooks.add('after-tokenize', function (env) {\n          Prism.languages['markup-templating'].tokenizePlaceholders(env, 'php');\n        });\n      })(Prism);\n      Prism.languages.python = {\n        'comment': {\n          pattern: /(^|[^\\\\])#.*/,\n          lookbehind: true,\n          greedy: true\n        },\n        'string-interpolation': {\n          pattern: /(?:f|fr|rf)(?:(\"\"\"|''')[\\s\\S]*?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i,\n          greedy: true,\n          inside: {\n            'interpolation': {\n              pattern: /((?:^|[^{])(?:\\{\\{)*)\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}])+\\})+\\})+\\}/,\n              lookbehind: true,\n              inside: {\n                'format-spec': {\n                  pattern: /(:)[^:(){}]+(?=\\}$)/,\n                  lookbehind: true\n                },\n                'conversion-option': {\n                  pattern: /![sra](?=[:}]$)/,\n                  alias: 'punctuation'\n                },\n                rest: null\n              }\n            },\n            'string': /[\\s\\S]+/\n          }\n        },\n        'triple-quoted-string': {\n          pattern: /(?:[rub]|br|rb)?(\"\"\"|''')[\\s\\S]*?\\1/i,\n          greedy: true,\n          alias: 'string'\n        },\n        'string': {\n          pattern: /(?:[rub]|br|rb)?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i,\n          greedy: true\n        },\n        'function': {\n          pattern: /((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g,\n          lookbehind: true\n        },\n        'class-name': {\n          pattern: /(\\bclass\\s+)\\w+/i,\n          lookbehind: true\n        },\n        'decorator': {\n          pattern: /(^[\\t ]*)@\\w+(?:\\.\\w+)*/m,\n          lookbehind: true,\n          alias: ['annotation', 'punctuation'],\n          inside: {\n            'punctuation': /\\./\n          }\n        },\n        'keyword': /\\b(?:_(?=\\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/,\n        'builtin': /\\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\\b/,\n        'boolean': /\\b(?:False|None|True)\\b/,\n        'number': /\\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\\b|(?:\\b\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\B\\.\\d+(?:_\\d+)*)(?:e[+-]?\\d+(?:_\\d+)*)?j?(?!\\w)/i,\n        'operator': /[-+%=]=?|!=|:=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,\n        'punctuation': /[{}[\\];(),.:]/\n      };\n      Prism.languages.python['string-interpolation'].inside['interpolation'].inside.rest = Prism.languages.python;\n      Prism.languages.py = Prism.languages.python;\n      (function (Prism) {\n        Prism.languages.ruby = Prism.languages.extend('clike', {\n          'comment': {\n            pattern: /#.*|^=begin\\s[\\s\\S]*?^=end/m,\n            greedy: true\n          },\n          'class-name': {\n            pattern: /(\\b(?:class|module)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+|\\b[A-Z_]\\w*(?=\\s*\\.\\s*new\\b)/,\n            lookbehind: true,\n            inside: {\n              'punctuation': /[.\\\\]/\n            }\n          },\n          'keyword': /\\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\\b/,\n          'operator': /\\.{2,3}|&\\.|===|<?=>|[!=]?~|(?:&&|\\|\\||<<|>>|\\*\\*|[+\\-*/%<>!^&|=])=?|[?:]/,\n          'punctuation': /[(){}[\\].,;]/\n        });\n        Prism.languages.insertBefore('ruby', 'operator', {\n          'double-colon': {\n            pattern: /::/,\n            alias: 'punctuation'\n          }\n        });\n        var interpolation = {\n          pattern: /((?:^|[^\\\\])(?:\\\\{2})*)#\\{(?:[^{}]|\\{[^{}]*\\})*\\}/,\n          lookbehind: true,\n          inside: {\n            'content': {\n              pattern: /^(#\\{)[\\s\\S]+(?=\\}$)/,\n              lookbehind: true,\n              inside: Prism.languages.ruby\n            },\n            'delimiter': {\n              pattern: /^#\\{|\\}$/,\n              alias: 'punctuation'\n            }\n          }\n        };\n        delete Prism.languages.ruby.function;\n        var percentExpression = '(?:' + [/([^a-zA-Z0-9\\s{(\\[<=])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/.source, /\\((?:[^()\\\\]|\\\\[\\s\\S]|\\((?:[^()\\\\]|\\\\[\\s\\S])*\\))*\\)/.source, /\\{(?:[^{}\\\\]|\\\\[\\s\\S]|\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\})*\\}/.source, /\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S]|\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S])*\\])*\\]/.source, /<(?:[^<>\\\\]|\\\\[\\s\\S]|<(?:[^<>\\\\]|\\\\[\\s\\S])*>)*>/.source].join('|') + ')';\n        var symbolName = /(?:\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|(?:\\b[a-zA-Z_]\\w*|[^\\s\\0-\\x7F]+)[?!]?|\\$.)/.source;\n        Prism.languages.insertBefore('ruby', 'keyword', {\n          'regex-literal': [{\n            pattern: RegExp(/%r/.source + percentExpression + /[egimnosux]{0,6}/.source),\n            greedy: true,\n            inside: {\n              'interpolation': interpolation,\n              'regex': /[\\s\\S]+/\n            }\n          }, {\n            pattern: /(^|[^/])\\/(?!\\/)(?:\\[[^\\r\\n\\]]+\\]|\\\\.|[^[/\\\\\\r\\n])+\\/[egimnosux]{0,6}(?=\\s*(?:$|[\\r\\n,.;})#]))/,\n            lookbehind: true,\n            greedy: true,\n            inside: {\n              'interpolation': interpolation,\n              'regex': /[\\s\\S]+/\n            }\n          }],\n          'variable': /[@$]+[a-zA-Z_]\\w*(?:[?!]|\\b)/,\n          'symbol': [{\n            pattern: RegExp(/(^|[^:]):/.source + symbolName),\n            lookbehind: true,\n            greedy: true\n          }, {\n            pattern: RegExp(/([\\r\\n{(,][ \\t]*)/.source + symbolName + /(?=:(?!:))/.source),\n            lookbehind: true,\n            greedy: true\n          }],\n          'method-definition': {\n            pattern: /(\\bdef\\s+)\\w+(?:\\s*\\.\\s*\\w+)?/,\n            lookbehind: true,\n            inside: {\n              'function': /\\b\\w+$/,\n              'keyword': /^self\\b/,\n              'class-name': /^\\w+/,\n              'punctuation': /\\./\n            }\n          }\n        });\n        Prism.languages.insertBefore('ruby', 'string', {\n          'string-literal': [{\n            pattern: RegExp(/%[qQiIwWs]?/.source + percentExpression),\n            greedy: true,\n            inside: {\n              'interpolation': interpolation,\n              'string': /[\\s\\S]+/\n            }\n          }, {\n            pattern: /(\"|')(?:#\\{[^}]+\\}|#(?!\\{)|\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\#\\r\\n])*\\1/,\n            greedy: true,\n            inside: {\n              'interpolation': interpolation,\n              'string': /[\\s\\S]+/\n            }\n          }, {\n            pattern: /<<[-~]?([a-z_]\\w*)[\\r\\n](?:.*[\\r\\n])*?[\\t ]*\\1/i,\n            alias: 'heredoc-string',\n            greedy: true,\n            inside: {\n              'delimiter': {\n                pattern: /^<<[-~]?[a-z_]\\w*|\\b[a-z_]\\w*$/i,\n                inside: {\n                  'symbol': /\\b\\w+/,\n                  'punctuation': /^<<[-~]?/\n                }\n              },\n              'interpolation': interpolation,\n              'string': /[\\s\\S]+/\n            }\n          }, {\n            pattern: /<<[-~]?'([a-z_]\\w*)'[\\r\\n](?:.*[\\r\\n])*?[\\t ]*\\1/i,\n            alias: 'heredoc-string',\n            greedy: true,\n            inside: {\n              'delimiter': {\n                pattern: /^<<[-~]?'[a-z_]\\w*'|\\b[a-z_]\\w*$/i,\n                inside: {\n                  'symbol': /\\b\\w+/,\n                  'punctuation': /^<<[-~]?'|'$/\n                }\n              },\n              'string': /[\\s\\S]+/\n            }\n          }],\n          'command-literal': [{\n            pattern: RegExp(/%x/.source + percentExpression),\n            greedy: true,\n            inside: {\n              'interpolation': interpolation,\n              'command': {\n                pattern: /[\\s\\S]+/,\n                alias: 'string'\n              }\n            }\n          }, {\n            pattern: /`(?:#\\{[^}]+\\}|#(?!\\{)|\\\\(?:\\r\\n|[\\s\\S])|[^\\\\`#\\r\\n])*`/,\n            greedy: true,\n            inside: {\n              'interpolation': interpolation,\n              'command': {\n                pattern: /[\\s\\S]+/,\n                alias: 'string'\n              }\n            }\n          }]\n        });\n        delete Prism.languages.ruby.string;\n        Prism.languages.insertBefore('ruby', 'number', {\n          'builtin': /\\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\\b/,\n          'constant': /\\b[A-Z][A-Z0-9_]*(?:[?!]|\\b)/\n        });\n        Prism.languages.rb = Prism.languages.ruby;\n      })(Prism);\n      window.Prism = oldprism;\n      return Prism;\n    }(undefined, undefined);\n\n    const option = name => editor => editor.options.get(name);\n    const register$2 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('codesample_languages', {\n        processor: 'object[]'\n      });\n      registerOption('codesample_global_prismjs', {\n        processor: 'boolean',\n        default: false\n      });\n    };\n    const getLanguages$1 = option('codesample_languages');\n    const useGlobalPrismJS = option('codesample_global_prismjs');\n\n    const get = editor => Global.Prism && useGlobalPrismJS(editor) ? Global.Prism : prismjs;\n\n    const isCodeSample = elm => {\n      return isNonNullable(elm) && elm.nodeName === 'PRE' && elm.className.indexOf('language-') !== -1;\n    };\n\n    const getSelectedCodeSample = editor => {\n      const node = editor.selection ? editor.selection.getNode() : null;\n      return isCodeSample(node) ? Optional.some(node) : Optional.none();\n    };\n    const insertCodeSample = (editor, language, code) => {\n      const dom = editor.dom;\n      editor.undoManager.transact(() => {\n        const node = getSelectedCodeSample(editor);\n        code = global$1.DOM.encode(code);\n        return node.fold(() => {\n          editor.insertContent('<pre id=\"__new\" class=\"language-' + language + '\">' + code + '</pre>');\n          const newPre = dom.select('#__new')[0];\n          dom.setAttrib(newPre, 'id', null);\n          editor.selection.select(newPre);\n        }, n => {\n          dom.setAttrib(n, 'class', 'language-' + language);\n          n.innerHTML = code;\n          get(editor).highlightElement(n);\n          editor.selection.select(n);\n        });\n      });\n    };\n    const getCurrentCode = editor => {\n      const node = getSelectedCodeSample(editor);\n      return node.bind(n => Optional.from(n.textContent)).getOr('');\n    };\n\n    const getLanguages = editor => {\n      const defaultLanguages = [{\n        text: 'HTML/XML',\n        value: 'markup'\n      }, {\n        text: 'JavaScript',\n        value: 'javascript'\n      }, {\n        text: 'CSS',\n        value: 'css'\n      }, {\n        text: 'PHP',\n        value: 'php'\n      }, {\n        text: 'Ruby',\n        value: 'ruby'\n      }, {\n        text: 'Python',\n        value: 'python'\n      }, {\n        text: 'Java',\n        value: 'java'\n      }, {\n        text: 'C',\n        value: 'c'\n      }, {\n        text: 'C#',\n        value: 'csharp'\n      }, {\n        text: 'C++',\n        value: 'cpp'\n      }];\n      const customLanguages = getLanguages$1(editor);\n      return customLanguages ? customLanguages : defaultLanguages;\n    };\n    const getCurrentLanguage = (editor, fallback) => {\n      const node = getSelectedCodeSample(editor);\n      return node.fold(() => fallback, n => {\n        const matches = n.className.match(/language-(\\w+)/);\n        return matches ? matches[1] : fallback;\n      });\n    };\n\n    const open = editor => {\n      const languages = getLanguages(editor);\n      const defaultLanguage = head(languages).fold(constant(''), l => l.value);\n      const currentLanguage = getCurrentLanguage(editor, defaultLanguage);\n      const currentCode = getCurrentCode(editor);\n      editor.windowManager.open({\n        title: 'Insert/Edit Code Sample',\n        size: 'large',\n        body: {\n          type: 'panel',\n          items: [{\n            type: 'listbox',\n            name: 'language',\n            label: 'Language',\n            items: languages\n          }, {\n            type: 'textarea',\n            name: 'code',\n            label: 'Code view'\n          }]\n        },\n        buttons: [{\n          type: 'cancel',\n          name: 'cancel',\n          text: 'Cancel'\n        }, {\n          type: 'submit',\n          name: 'save',\n          text: 'Save',\n          primary: true\n        }],\n        initialData: {\n          language: currentLanguage,\n          code: currentCode\n        },\n        onSubmit: api => {\n          const data = api.getData();\n          insertCodeSample(editor, data.language, data.code);\n          api.close();\n        }\n      });\n    };\n\n    const register$1 = editor => {\n      editor.addCommand('codesample', () => {\n        const node = editor.selection.getNode();\n        if (editor.selection.isCollapsed() || isCodeSample(node)) {\n          open(editor);\n        } else {\n          editor.formatter.toggle('code');\n        }\n      });\n    };\n\n    const blank = r => s => s.replace(r, '');\n    const trim = blank(/^\\s+|\\s+$/g);\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const setup = editor => {\n      editor.on('PreProcess', e => {\n        const dom = editor.dom;\n        const pres = dom.select('pre[contenteditable=false]', e.node);\n        global.each(global.grep(pres, isCodeSample), elm => {\n          const code = elm.textContent;\n          dom.setAttrib(elm, 'class', trim(dom.getAttrib(elm, 'class')));\n          dom.setAttrib(elm, 'contentEditable', null);\n          dom.setAttrib(elm, 'data-mce-highlighted', null);\n          let child;\n          while (child = elm.firstChild) {\n            elm.removeChild(child);\n          }\n          const codeElm = dom.add(elm, 'code');\n          codeElm.textContent = code;\n        });\n      });\n      editor.on('SetContent', () => {\n        const dom = editor.dom;\n        const unprocessedCodeSamples = global.grep(dom.select('pre'), elm => {\n          return isCodeSample(elm) && dom.getAttrib(elm, 'data-mce-highlighted') !== 'true';\n        });\n        if (unprocessedCodeSamples.length) {\n          editor.undoManager.transact(() => {\n            global.each(unprocessedCodeSamples, elm => {\n              var _a;\n              global.each(dom.select('br', elm), elm => {\n                dom.replace(editor.getDoc().createTextNode('\\n'), elm);\n              });\n              elm.innerHTML = dom.encode((_a = elm.textContent) !== null && _a !== void 0 ? _a : '');\n              get(editor).highlightElement(elm);\n              dom.setAttrib(elm, 'data-mce-highlighted', true);\n              elm.className = trim(elm.className);\n            });\n          });\n        }\n      });\n      editor.on('PreInit', () => {\n        editor.parser.addNodeFilter('pre', nodes => {\n          var _a;\n          for (let i = 0, l = nodes.length; i < l; i++) {\n            const node = nodes[i];\n            const isCodeSample = ((_a = node.attr('class')) !== null && _a !== void 0 ? _a : '').indexOf('language-') !== -1;\n            if (isCodeSample) {\n              node.attr('contenteditable', 'false');\n              node.attr('data-mce-highlighted', 'false');\n            }\n          }\n        });\n      });\n    };\n\n    const onSetupEditable = (editor, onChanged = noop) => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n        onChanged(api);\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const isCodeSampleSelection = editor => {\n      const node = editor.selection.getStart();\n      return editor.dom.is(node, 'pre[class*=\"language-\"]');\n    };\n    const register = editor => {\n      const onAction = () => editor.execCommand('codesample');\n      editor.ui.registry.addToggleButton('codesample', {\n        icon: 'code-sample',\n        tooltip: 'Insert/edit code sample',\n        onAction,\n        onSetup: onSetupEditable(editor, api => {\n          api.setActive(isCodeSampleSelection(editor));\n        })\n      });\n      editor.ui.registry.addMenuItem('codesample', {\n        text: 'Code sample...',\n        icon: 'code-sample',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n    };\n\n    var Plugin = () => {\n      global$2.add('codesample', editor => {\n        register$2(editor);\n        setup(editor);\n        register(editor);\n        register$1(editor);\n        editor.on('dblclick', ev => {\n          if (isCodeSample(ev.target)) {\n            open(editor);\n          }\n        });\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const isString = isType$1('string');\n    const isBoolean = isSimpleType('boolean');\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n\n    const compose1 = (fbc, fab) => a => fbc(fab(a));\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const never = constant(false);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const filter = (xs, pred) => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n    const ELEMENT = 1;\n    const TEXT = 3;\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    const fromDom = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom,\n      fromPoint\n    };\n\n    const is = (element, selector) => {\n      const dom = element.dom;\n      if (dom.nodeType !== ELEMENT) {\n        return false;\n      } else {\n        const elem = dom;\n        if (elem.matches !== undefined) {\n          return elem.matches(selector);\n        } else if (elem.msMatchesSelector !== undefined) {\n          return elem.msMatchesSelector(selector);\n        } else if (elem.webkitMatchesSelector !== undefined) {\n          return elem.webkitMatchesSelector(selector);\n        } else if (elem.mozMatchesSelector !== undefined) {\n          return elem.mozMatchesSelector(selector);\n        } else {\n          throw new Error('Browser lacks native selectors');\n        }\n      }\n    };\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const name = element => {\n      const r = element.dom.nodeName;\n      return r.toLowerCase();\n    };\n    const type = element => element.dom.nodeType;\n    const isType = t => element => type(element) === t;\n    const isElement = isType(ELEMENT);\n    const isText = isType(TEXT);\n    const isDocument = isType(DOCUMENT);\n    const isDocumentFragment = isType(DOCUMENT_FRAGMENT);\n    const isTag = tag => e => isElement(e) && name(e) === tag;\n\n    const owner = element => SugarElement.fromDom(element.dom.ownerDocument);\n    const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos);\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const children$2 = element => map(element.dom.childNodes, SugarElement.fromDom);\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const remove = (element, key) => {\n      element.dom.removeAttribute(key);\n    };\n\n    const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host);\n    const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;\n    const getShadowRoot = e => {\n      const r = getRootNode(e);\n      return isShadowRoot(r) ? Optional.some(r) : Optional.none();\n    };\n    const getShadowHost = e => SugarElement.fromDom(e.dom.host);\n\n    const inBody = element => {\n      const dom = isText(element) ? element.dom.parentNode : element.dom;\n      if (dom === undefined || dom === null || dom.ownerDocument === null) {\n        return false;\n      }\n      const doc = dom.ownerDocument;\n      return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost));\n    };\n\n    const ancestor$1 = (scope, predicate, isRoot) => {\n      let element = scope.dom;\n      const stop = isFunction(isRoot) ? isRoot : never;\n      while (element.parentNode) {\n        element = element.parentNode;\n        const el = SugarElement.fromDom(element);\n        if (predicate(el)) {\n          return Optional.some(el);\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n\n    const ancestor = (scope, selector, isRoot) => ancestor$1(scope, e => is(e, selector), isRoot);\n\n    const isSupported = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n\n    const get = (element, property) => {\n      const dom = element.dom;\n      const styles = window.getComputedStyle(dom);\n      const r = styles.getPropertyValue(property);\n      return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r;\n    };\n    const getUnsafeProperty = (dom, property) => isSupported(dom) ? dom.style.getPropertyValue(property) : '';\n\n    const getDirection = element => get(element, 'direction') === 'rtl' ? 'rtl' : 'ltr';\n\n    const children$1 = (scope, predicate) => filter(children$2(scope), predicate);\n\n    const children = (scope, selector) => children$1(scope, e => is(e, selector));\n\n    const getParentElement = element => parent(element).filter(isElement);\n    const getNormalizedBlock = (element, isListItem) => {\n      const normalizedElement = isListItem ? ancestor(element, 'ol,ul') : Optional.some(element);\n      return normalizedElement.getOr(element);\n    };\n    const isListItem = isTag('li');\n    const setDirOnElements = (dom, blocks, dir) => {\n      each(blocks, block => {\n        const blockElement = SugarElement.fromDom(block);\n        const isBlockElementListItem = isListItem(blockElement);\n        const normalizedBlock = getNormalizedBlock(blockElement, isBlockElementListItem);\n        const normalizedBlockParent = getParentElement(normalizedBlock);\n        normalizedBlockParent.each(parent => {\n          dom.setStyle(normalizedBlock.dom, 'direction', null);\n          const parentDirection = getDirection(parent);\n          if (parentDirection === dir) {\n            remove(normalizedBlock, 'dir');\n          } else {\n            set(normalizedBlock, 'dir', dir);\n          }\n          if (getDirection(normalizedBlock) !== dir) {\n            dom.setStyle(normalizedBlock.dom, 'direction', dir);\n          }\n          if (isBlockElementListItem) {\n            const listItems = children(normalizedBlock, 'li[dir],li[style]');\n            each(listItems, listItem => {\n              remove(listItem, 'dir');\n              dom.setStyle(listItem.dom, 'direction', null);\n            });\n          }\n        });\n      });\n    };\n    const setDir = (editor, dir) => {\n      if (editor.selection.isEditable()) {\n        setDirOnElements(editor.dom, editor.selection.getSelectedBlocks(), dir);\n        editor.nodeChanged();\n      }\n    };\n\n    const register$1 = editor => {\n      editor.addCommand('mceDirectionLTR', () => {\n        setDir(editor, 'ltr');\n      });\n      editor.addCommand('mceDirectionRTL', () => {\n        setDir(editor, 'rtl');\n      });\n    };\n\n    const getNodeChangeHandler = (editor, dir) => api => {\n      const nodeChangeHandler = e => {\n        const element = SugarElement.fromDom(e.element);\n        api.setActive(getDirection(element) === dir);\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChangeHandler);\n      api.setEnabled(editor.selection.isEditable());\n      return () => editor.off('NodeChange', nodeChangeHandler);\n    };\n    const register = editor => {\n      editor.ui.registry.addToggleButton('ltr', {\n        tooltip: 'Left to right',\n        icon: 'ltr',\n        onAction: () => editor.execCommand('mceDirectionLTR'),\n        onSetup: getNodeChangeHandler(editor, 'ltr')\n      });\n      editor.ui.registry.addToggleButton('rtl', {\n        tooltip: 'Right to left',\n        icon: 'rtl',\n        onAction: () => editor.execCommand('mceDirectionRTL'),\n        onSetup: getNodeChangeHandler(editor, 'rtl')\n      });\n    };\n\n    var Plugin = () => {\n      global.add('directionality', editor => {\n        register$1(editor);\n        register(editor);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const eq = t => a => t === a;\n    const isNull = eq(null);\n    const isUndefined = eq(undefined);\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n\n    const noop = () => {};\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const never = constant(false);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const exists = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const map$1 = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each$1 = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    const last = (fn, rate) => {\n      let timer = null;\n      const cancel = () => {\n        if (!isNull(timer)) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      const throttle = (...args) => {\n        cancel();\n        timer = setTimeout(() => {\n          timer = null;\n          fn.apply(null, args);\n        }, rate);\n      };\n      return {\n        cancel,\n        throttle\n      };\n    };\n\n    const insertEmoticon = (editor, ch) => {\n      editor.insertContent(ch);\n    };\n\n    const keys = Object.keys;\n    const hasOwnProperty = Object.hasOwnProperty;\n    const each = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n    const map = (obj, f) => {\n      return tupleMap(obj, (x, i) => ({\n        k: i,\n        v: f(x, i)\n      }));\n    };\n    const tupleMap = (obj, f) => {\n      const r = {};\n      each(obj, (x, i) => {\n        const tuple = f(x, i);\n        r[tuple.k] = tuple.v;\n      });\n      return r;\n    };\n    const has = (obj, key) => hasOwnProperty.call(obj, key);\n\n    const shallow = (old, nu) => {\n      return nu;\n    };\n    const baseMerge = merger => {\n      return (...objects) => {\n        if (objects.length === 0) {\n          throw new Error(\"Can't merge zero objects\");\n        }\n        const ret = {};\n        for (let j = 0; j < objects.length; j++) {\n          const curObject = objects[j];\n          for (const key in curObject) {\n            if (has(curObject, key)) {\n              ret[key] = merger(ret[key], curObject[key]);\n            }\n          }\n        }\n        return ret;\n      };\n    };\n    const merge = baseMerge(shallow);\n\n    const singleton = doRevoke => {\n      const subject = Cell(Optional.none());\n      const revoke = () => subject.get().each(doRevoke);\n      const clear = () => {\n        revoke();\n        subject.set(Optional.none());\n      };\n      const isSet = () => subject.get().isSome();\n      const get = () => subject.get();\n      const set = s => {\n        revoke();\n        subject.set(Optional.some(s));\n      };\n      return {\n        clear,\n        isSet,\n        get,\n        set\n      };\n    };\n    const value = () => {\n      const subject = singleton(noop);\n      const on = f => subject.get().each(f);\n      return {\n        ...subject,\n        on\n      };\n    };\n\n    const checkRange = (str, substr, start) => substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr;\n    const contains = (str, substr, start = 0, end) => {\n      const idx = str.indexOf(substr, start);\n      if (idx !== -1) {\n        return isUndefined(end) ? true : idx + substr.length <= end;\n      } else {\n        return false;\n      }\n    };\n    const startsWith = (str, prefix) => {\n      return checkRange(str, prefix, 0);\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.Resource');\n\n    const DEFAULT_ID = 'tinymce.plugins.emoticons';\n    const option = name => editor => editor.options.get(name);\n    const register$2 = (editor, pluginUrl) => {\n      const registerOption = editor.options.register;\n      registerOption('emoticons_database', {\n        processor: 'string',\n        default: 'emojis'\n      });\n      registerOption('emoticons_database_url', {\n        processor: 'string',\n        default: \"\".concat(pluginUrl, \"/js/\").concat(getEmojiDatabase(editor)).concat(editor.suffix, \".js\")\n      });\n      registerOption('emoticons_database_id', {\n        processor: 'string',\n        default: DEFAULT_ID\n      });\n      registerOption('emoticons_append', {\n        processor: 'object',\n        default: {}\n      });\n      registerOption('emoticons_images_url', {\n        processor: 'string',\n        default: 'https://twemoji.maxcdn.com/v/13.0.1/72x72/'\n      });\n    };\n    const getEmojiDatabase = option('emoticons_database');\n    const getEmojiDatabaseUrl = option('emoticons_database_url');\n    const getEmojiDatabaseId = option('emoticons_database_id');\n    const getAppendedEmoji = option('emoticons_append');\n    const getEmojiImageUrl = option('emoticons_images_url');\n\n    const ALL_CATEGORY = 'All';\n    const categoryNameMap = {\n      symbols: 'Symbols',\n      people: 'People',\n      animals_and_nature: 'Animals and Nature',\n      food_and_drink: 'Food and Drink',\n      activity: 'Activity',\n      travel_and_places: 'Travel and Places',\n      objects: 'Objects',\n      flags: 'Flags',\n      user: 'User Defined'\n    };\n    const translateCategory = (categories, name) => has(categories, name) ? categories[name] : name;\n    const getUserDefinedEmoji = editor => {\n      const userDefinedEmoticons = getAppendedEmoji(editor);\n      return map(userDefinedEmoticons, value => ({\n        keywords: [],\n        category: 'user',\n        ...value\n      }));\n    };\n    const initDatabase = (editor, databaseUrl, databaseId) => {\n      const categories = value();\n      const all = value();\n      const emojiImagesUrl = getEmojiImageUrl(editor);\n      const getEmoji = lib => {\n        if (startsWith(lib.char, '<img')) {\n          return lib.char.replace(/src=\"([^\"]+)\"/, (match, url) => \"src=\\\"\".concat(emojiImagesUrl).concat(url, \"\\\"\"));\n        } else {\n          return lib.char;\n        }\n      };\n      const processEmojis = emojis => {\n        const cats = {};\n        const everything = [];\n        each(emojis, (lib, title) => {\n          const entry = {\n            title,\n            keywords: lib.keywords,\n            char: getEmoji(lib),\n            category: translateCategory(categoryNameMap, lib.category)\n          };\n          const current = cats[entry.category] !== undefined ? cats[entry.category] : [];\n          cats[entry.category] = current.concat([entry]);\n          everything.push(entry);\n        });\n        categories.set(cats);\n        all.set(everything);\n      };\n      editor.on('init', () => {\n        global.load(databaseId, databaseUrl).then(emojis => {\n          const userEmojis = getUserDefinedEmoji(editor);\n          processEmojis(merge(emojis, userEmojis));\n        }, err => {\n          console.log(\"Failed to load emojis: \".concat(err));\n          categories.set({});\n          all.set([]);\n        });\n      });\n      const listCategory = category => {\n        if (category === ALL_CATEGORY) {\n          return listAll();\n        }\n        return categories.get().bind(cats => Optional.from(cats[category])).getOr([]);\n      };\n      const listAll = () => all.get().getOr([]);\n      const listCategories = () => [ALL_CATEGORY].concat(keys(categories.get().getOr({})));\n      const waitForLoad = () => {\n        if (hasLoaded()) {\n          return Promise.resolve(true);\n        } else {\n          return new Promise((resolve, reject) => {\n            let numRetries = 15;\n            const interval = setInterval(() => {\n              if (hasLoaded()) {\n                clearInterval(interval);\n                resolve(true);\n              } else {\n                numRetries--;\n                if (numRetries < 0) {\n                  console.log('Could not load emojis from url: ' + databaseUrl);\n                  clearInterval(interval);\n                  reject(false);\n                }\n              }\n            }, 100);\n          });\n        }\n      };\n      const hasLoaded = () => categories.isSet() && all.isSet();\n      return {\n        listCategories,\n        hasLoaded,\n        waitForLoad,\n        listAll,\n        listCategory\n      };\n    };\n\n    const emojiMatches = (emoji, lowerCasePattern) => contains(emoji.title.toLowerCase(), lowerCasePattern) || exists(emoji.keywords, k => contains(k.toLowerCase(), lowerCasePattern));\n    const emojisFrom = (list, pattern, maxResults) => {\n      const matches = [];\n      const lowerCasePattern = pattern.toLowerCase();\n      const reachedLimit = maxResults.fold(() => never, max => size => size >= max);\n      for (let i = 0; i < list.length; i++) {\n        if (pattern.length === 0 || emojiMatches(list[i], lowerCasePattern)) {\n          matches.push({\n            value: list[i].char,\n            text: list[i].title,\n            icon: list[i].char\n          });\n          if (reachedLimit(matches.length)) {\n            break;\n          }\n        }\n      }\n      return matches;\n    };\n\n    const patternName = 'pattern';\n    const open = (editor, database) => {\n      const initialState = {\n        pattern: '',\n        results: emojisFrom(database.listAll(), '', Optional.some(300))\n      };\n      const currentTab = Cell(ALL_CATEGORY);\n      const scan = dialogApi => {\n        const dialogData = dialogApi.getData();\n        const category = currentTab.get();\n        const candidates = database.listCategory(category);\n        const results = emojisFrom(candidates, dialogData[patternName], category === ALL_CATEGORY ? Optional.some(300) : Optional.none());\n        dialogApi.setData({\n          results\n        });\n      };\n      const updateFilter = last(dialogApi => {\n        scan(dialogApi);\n      }, 200);\n      const searchField = {\n        label: 'Search',\n        type: 'input',\n        name: patternName\n      };\n      const resultsField = {\n        type: 'collection',\n        name: 'results'\n      };\n      const getInitialState = () => {\n        const body = {\n          type: 'tabpanel',\n          tabs: map$1(database.listCategories(), cat => ({\n            title: cat,\n            name: cat,\n            items: [searchField, resultsField]\n          }))\n        };\n        return {\n          title: 'Emojis',\n          size: 'normal',\n          body,\n          initialData: initialState,\n          onTabChange: (dialogApi, details) => {\n            currentTab.set(details.newTabName);\n            updateFilter.throttle(dialogApi);\n          },\n          onChange: updateFilter.throttle,\n          onAction: (dialogApi, actionData) => {\n            if (actionData.name === 'results') {\n              insertEmoticon(editor, actionData.value);\n              dialogApi.close();\n            }\n          },\n          buttons: [{\n            type: 'cancel',\n            text: 'Close',\n            primary: true\n          }]\n        };\n      };\n      const dialogApi = editor.windowManager.open(getInitialState());\n      dialogApi.focus(patternName);\n      if (!database.hasLoaded()) {\n        dialogApi.block('Loading emojis...');\n        database.waitForLoad().then(() => {\n          dialogApi.redial(getInitialState());\n          updateFilter.throttle(dialogApi);\n          dialogApi.focus(patternName);\n          dialogApi.unblock();\n        }).catch(_err => {\n          dialogApi.redial({\n            title: 'Emojis',\n            body: {\n              type: 'panel',\n              items: [{\n                type: 'alertbanner',\n                level: 'error',\n                icon: 'warning',\n                text: 'Could not load emojis'\n              }]\n            },\n            buttons: [{\n              type: 'cancel',\n              text: 'Close',\n              primary: true\n            }],\n            initialData: {\n              pattern: '',\n              results: []\n            }\n          });\n          dialogApi.focus(patternName);\n          dialogApi.unblock();\n        });\n      }\n    };\n\n    const register$1 = (editor, database) => {\n      editor.addCommand('mceEmoticons', () => open(editor, database));\n    };\n\n    const setup = editor => {\n      editor.on('PreInit', () => {\n        editor.parser.addAttributeFilter('data-emoticon', nodes => {\n          each$1(nodes, node => {\n            node.attr('data-mce-resize', 'false');\n            node.attr('data-mce-placeholder', '1');\n          });\n        });\n      });\n    };\n\n    const init = (editor, database) => {\n      editor.ui.registry.addAutocompleter('emoticons', {\n        trigger: ':',\n        columns: 'auto',\n        minChars: 2,\n        fetch: (pattern, maxResults) => database.waitForLoad().then(() => {\n          const candidates = database.listAll();\n          return emojisFrom(candidates, pattern, Optional.some(maxResults));\n        }),\n        onAction: (autocompleteApi, rng, value) => {\n          editor.selection.setRng(rng);\n          editor.insertContent(value);\n          autocompleteApi.hide();\n        }\n      });\n    };\n\n    const onSetupEditable = editor => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const register = editor => {\n      const onAction = () => editor.execCommand('mceEmoticons');\n      editor.ui.registry.addButton('emoticons', {\n        tooltip: 'Emojis',\n        icon: 'emoji',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n      editor.ui.registry.addMenuItem('emoticons', {\n        text: 'Emojis...',\n        icon: 'emoji',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n    };\n\n    var Plugin = () => {\n      global$1.add('emoticons', (editor, pluginUrl) => {\n        register$2(editor, pluginUrl);\n        const databaseUrl = getEmojiDatabaseUrl(editor);\n        const databaseId = getEmojiDatabaseId(editor);\n        const database = initDatabase(editor, databaseUrl, databaseId);\n        register$1(editor, database);\n        register(editor);\n        init(editor, database);\n        setup(editor);\n      });\n    };\n\n    Plugin();\n\n})();\nwindow.tinymce.Resource.add(\"tinymce.plugins.emoticons\",{100:{keywords:[\"score\",\"perfect\",\"numbers\",\"century\",\"exam\",\"quiz\",\"test\",\"pass\",\"hundred\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💯\" src=\"1f4af.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},1234:{keywords:[\"numbers\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔢\" src=\"1f522.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},grinning:{keywords:[\"face\",\"smile\",\"happy\",\"joy\",\":D\",\"grin\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😀\" src=\"1f600.png\"/>',fitzpatrick_scale:false,category:\"people\"},grimacing:{keywords:[\"face\",\"grimace\",\"teeth\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😬\" src=\"1f62c.png\"/>',fitzpatrick_scale:false,category:\"people\"},grin:{keywords:[\"face\",\"happy\",\"smile\",\"joy\",\"kawaii\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😁\" src=\"1f601.png\"/>',fitzpatrick_scale:false,category:\"people\"},joy:{keywords:[\"face\",\"cry\",\"tears\",\"weep\",\"happy\",\"happytears\",\"haha\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😂\" src=\"1f602.png\"/>',fitzpatrick_scale:false,category:\"people\"},rofl:{keywords:[\"face\",\"rolling\",\"floor\",\"laughing\",\"lol\",\"haha\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤣\" src=\"1f923.png\"/>',fitzpatrick_scale:false,category:\"people\"},partying:{keywords:[\"face\",\"celebration\",\"woohoo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥳\" src=\"1f973.png\"/>',fitzpatrick_scale:false,category:\"people\"},smiley:{keywords:[\"face\",\"happy\",\"joy\",\"haha\",\":D\",\":)\",\"smile\",\"funny\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😃\" src=\"1f603.png\"/>',fitzpatrick_scale:false,category:\"people\"},smile:{keywords:[\"face\",\"happy\",\"joy\",\"funny\",\"haha\",\"laugh\",\"like\",\":D\",\":)\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😄\" src=\"1f604.png\"/>',fitzpatrick_scale:false,category:\"people\"},sweat_smile:{keywords:[\"face\",\"hot\",\"happy\",\"laugh\",\"sweat\",\"smile\",\"relief\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😅\" src=\"1f605.png\"/>',fitzpatrick_scale:false,category:\"people\"},laughing:{keywords:[\"happy\",\"joy\",\"lol\",\"satisfied\",\"haha\",\"face\",\"glad\",\"XD\",\"laugh\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😆\" src=\"1f606.png\"/>',fitzpatrick_scale:false,category:\"people\"},innocent:{keywords:[\"face\",\"angel\",\"heaven\",\"halo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😇\" src=\"1f607.png\"/>',fitzpatrick_scale:false,category:\"people\"},wink:{keywords:[\"face\",\"happy\",\"mischievous\",\"secret\",\";)\",\"smile\",\"eye\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😉\" src=\"1f609.png\"/>',fitzpatrick_scale:false,category:\"people\"},blush:{keywords:[\"face\",\"smile\",\"happy\",\"flushed\",\"crush\",\"embarrassed\",\"shy\",\"joy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😊\" src=\"1f60a.png\"/>',fitzpatrick_scale:false,category:\"people\"},slightly_smiling_face:{keywords:[\"face\",\"smile\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙂\" src=\"1f642.png\"/>',fitzpatrick_scale:false,category:\"people\"},upside_down_face:{keywords:[\"face\",\"flipped\",\"silly\",\"smile\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙃\" src=\"1f643.png\"/>',fitzpatrick_scale:false,category:\"people\"},relaxed:{keywords:[\"face\",\"blush\",\"massage\",\"happiness\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☺️\" src=\"263a.png\"/>',fitzpatrick_scale:false,category:\"people\"},yum:{keywords:[\"happy\",\"joy\",\"tongue\",\"smile\",\"face\",\"silly\",\"yummy\",\"nom\",\"delicious\",\"savouring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😋\" src=\"1f60b.png\"/>',fitzpatrick_scale:false,category:\"people\"},relieved:{keywords:[\"face\",\"relaxed\",\"phew\",\"massage\",\"happiness\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😌\" src=\"1f60c.png\"/>',fitzpatrick_scale:false,category:\"people\"},heart_eyes:{keywords:[\"face\",\"love\",\"like\",\"affection\",\"valentines\",\"infatuation\",\"crush\",\"heart\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😍\" src=\"1f60d.png\"/>',fitzpatrick_scale:false,category:\"people\"},smiling_face_with_three_hearts:{keywords:[\"face\",\"love\",\"like\",\"affection\",\"valentines\",\"infatuation\",\"crush\",\"hearts\",\"adore\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥰\" src=\"1f970.png\"/>',fitzpatrick_scale:false,category:\"people\"},kissing_heart:{keywords:[\"face\",\"love\",\"like\",\"affection\",\"valentines\",\"infatuation\",\"kiss\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😘\" src=\"1f618.png\"/>',fitzpatrick_scale:false,category:\"people\"},kissing:{keywords:[\"love\",\"like\",\"face\",\"3\",\"valentines\",\"infatuation\",\"kiss\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😗\" src=\"1f617.png\"/>',fitzpatrick_scale:false,category:\"people\"},kissing_smiling_eyes:{keywords:[\"face\",\"affection\",\"valentines\",\"infatuation\",\"kiss\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😙\" src=\"1f619.png\"/>',fitzpatrick_scale:false,category:\"people\"},kissing_closed_eyes:{keywords:[\"face\",\"love\",\"like\",\"affection\",\"valentines\",\"infatuation\",\"kiss\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😚\" src=\"1f61a.png\"/>',fitzpatrick_scale:false,category:\"people\"},stuck_out_tongue_winking_eye:{keywords:[\"face\",\"prank\",\"childish\",\"playful\",\"mischievous\",\"smile\",\"wink\",\"tongue\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😜\" src=\"1f61c.png\"/>',fitzpatrick_scale:false,category:\"people\"},zany:{keywords:[\"face\",\"goofy\",\"crazy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤪\" src=\"1f92a.png\"/>',fitzpatrick_scale:false,category:\"people\"},raised_eyebrow:{keywords:[\"face\",\"distrust\",\"scepticism\",\"disapproval\",\"disbelief\",\"surprise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤨\" src=\"1f928.png\"/>',fitzpatrick_scale:false,category:\"people\"},monocle:{keywords:[\"face\",\"stuffy\",\"wealthy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧐\" src=\"1f9d0.png\"/>',fitzpatrick_scale:false,category:\"people\"},stuck_out_tongue_closed_eyes:{keywords:[\"face\",\"prank\",\"playful\",\"mischievous\",\"smile\",\"tongue\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😝\" src=\"1f61d.png\"/>',fitzpatrick_scale:false,category:\"people\"},stuck_out_tongue:{keywords:[\"face\",\"prank\",\"childish\",\"playful\",\"mischievous\",\"smile\",\"tongue\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😛\" src=\"1f61b.png\"/>',fitzpatrick_scale:false,category:\"people\"},money_mouth_face:{keywords:[\"face\",\"rich\",\"dollar\",\"money\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤑\" src=\"1f911.png\"/>',fitzpatrick_scale:false,category:\"people\"},nerd_face:{keywords:[\"face\",\"nerdy\",\"geek\",\"dork\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤓\" src=\"1f913.png\"/>',fitzpatrick_scale:false,category:\"people\"},sunglasses:{keywords:[\"face\",\"cool\",\"smile\",\"summer\",\"beach\",\"sunglass\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😎\" src=\"1f60e.png\"/>',fitzpatrick_scale:false,category:\"people\"},star_struck:{keywords:[\"face\",\"smile\",\"starry\",\"eyes\",\"grinning\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤩\" src=\"1f929.png\"/>',fitzpatrick_scale:false,category:\"people\"},clown_face:{keywords:[\"face\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤡\" src=\"1f921.png\"/>',fitzpatrick_scale:false,category:\"people\"},cowboy_hat_face:{keywords:[\"face\",\"cowgirl\",\"hat\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤠\" src=\"1f920.png\"/>',fitzpatrick_scale:false,category:\"people\"},hugs:{keywords:[\"face\",\"smile\",\"hug\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤗\" src=\"1f917.png\"/>',fitzpatrick_scale:false,category:\"people\"},smirk:{keywords:[\"face\",\"smile\",\"mean\",\"prank\",\"smug\",\"sarcasm\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😏\" src=\"1f60f.png\"/>',fitzpatrick_scale:false,category:\"people\"},no_mouth:{keywords:[\"face\",\"hellokitty\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😶\" src=\"1f636.png\"/>',fitzpatrick_scale:false,category:\"people\"},neutral_face:{keywords:[\"indifference\",\"meh\",\":|\",\"neutral\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😐\" src=\"1f610.png\"/>',fitzpatrick_scale:false,category:\"people\"},expressionless:{keywords:[\"face\",\"indifferent\",\"-_-\",\"meh\",\"deadpan\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😑\" src=\"1f611.png\"/>',fitzpatrick_scale:false,category:\"people\"},unamused:{keywords:[\"indifference\",\"bored\",\"straight face\",\"serious\",\"sarcasm\",\"unimpressed\",\"skeptical\",\"dubious\",\"side_eye\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😒\" src=\"1f612.png\"/>',fitzpatrick_scale:false,category:\"people\"},roll_eyes:{keywords:[\"face\",\"eyeroll\",\"frustrated\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙄\" src=\"1f644.png\"/>',fitzpatrick_scale:false,category:\"people\"},thinking:{keywords:[\"face\",\"hmmm\",\"think\",\"consider\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤔\" src=\"1f914.png\"/>',fitzpatrick_scale:false,category:\"people\"},lying_face:{keywords:[\"face\",\"lie\",\"pinocchio\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤥\" src=\"1f925.png\"/>',fitzpatrick_scale:false,category:\"people\"},hand_over_mouth:{keywords:[\"face\",\"whoops\",\"shock\",\"surprise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤭\" src=\"1f92d.png\"/>',fitzpatrick_scale:false,category:\"people\"},shushing:{keywords:[\"face\",\"quiet\",\"shhh\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤫\" src=\"1f92b.png\"/>',fitzpatrick_scale:false,category:\"people\"},symbols_over_mouth:{keywords:[\"face\",\"swearing\",\"cursing\",\"cussing\",\"profanity\",\"expletive\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤬\" src=\"1f92c.png\"/>',fitzpatrick_scale:false,category:\"people\"},exploding_head:{keywords:[\"face\",\"shocked\",\"mind\",\"blown\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤯\" src=\"1f92f.png\"/>',fitzpatrick_scale:false,category:\"people\"},flushed:{keywords:[\"face\",\"blush\",\"shy\",\"flattered\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😳\" src=\"1f633.png\"/>',fitzpatrick_scale:false,category:\"people\"},disappointed:{keywords:[\"face\",\"sad\",\"upset\",\"depressed\",\":(\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😞\" src=\"1f61e.png\"/>',fitzpatrick_scale:false,category:\"people\"},worried:{keywords:[\"face\",\"concern\",\"nervous\",\":(\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😟\" src=\"1f61f.png\"/>',fitzpatrick_scale:false,category:\"people\"},angry:{keywords:[\"mad\",\"face\",\"annoyed\",\"frustrated\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😠\" src=\"1f620.png\"/>',fitzpatrick_scale:false,category:\"people\"},rage:{keywords:[\"angry\",\"mad\",\"hate\",\"despise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😡\" src=\"1f621.png\"/>',fitzpatrick_scale:false,category:\"people\"},pensive:{keywords:[\"face\",\"sad\",\"depressed\",\"upset\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😔\" src=\"1f614.png\"/>',fitzpatrick_scale:false,category:\"people\"},confused:{keywords:[\"face\",\"indifference\",\"huh\",\"weird\",\"hmmm\",\":/\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😕\" src=\"1f615.png\"/>',fitzpatrick_scale:false,category:\"people\"},slightly_frowning_face:{keywords:[\"face\",\"frowning\",\"disappointed\",\"sad\",\"upset\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙁\" src=\"1f641.png\"/>',fitzpatrick_scale:false,category:\"people\"},frowning_face:{keywords:[\"face\",\"sad\",\"upset\",\"frown\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☹\" src=\"2639.png\"/>',fitzpatrick_scale:false,category:\"people\"},persevere:{keywords:[\"face\",\"sick\",\"no\",\"upset\",\"oops\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😣\" src=\"1f623.png\"/>',fitzpatrick_scale:false,category:\"people\"},confounded:{keywords:[\"face\",\"confused\",\"sick\",\"unwell\",\"oops\",\":S\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😖\" src=\"1f616.png\"/>',fitzpatrick_scale:false,category:\"people\"},tired_face:{keywords:[\"sick\",\"whine\",\"upset\",\"frustrated\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😫\" src=\"1f62b.png\"/>',fitzpatrick_scale:false,category:\"people\"},weary:{keywords:[\"face\",\"tired\",\"sleepy\",\"sad\",\"frustrated\",\"upset\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😩\" src=\"1f629.png\"/>',fitzpatrick_scale:false,category:\"people\"},pleading:{keywords:[\"face\",\"begging\",\"mercy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥺\" src=\"1f97a.png\"/>',fitzpatrick_scale:false,category:\"people\"},triumph:{keywords:[\"face\",\"gas\",\"phew\",\"proud\",\"pride\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😤\" src=\"1f624.png\"/>',fitzpatrick_scale:false,category:\"people\"},open_mouth:{keywords:[\"face\",\"surprise\",\"impressed\",\"wow\",\"whoa\",\":O\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😮\" src=\"1f62e.png\"/>',fitzpatrick_scale:false,category:\"people\"},scream:{keywords:[\"face\",\"munch\",\"scared\",\"omg\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😱\" src=\"1f631.png\"/>',fitzpatrick_scale:false,category:\"people\"},fearful:{keywords:[\"face\",\"scared\",\"terrified\",\"nervous\",\"oops\",\"huh\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😨\" src=\"1f628.png\"/>',fitzpatrick_scale:false,category:\"people\"},cold_sweat:{keywords:[\"face\",\"nervous\",\"sweat\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😰\" src=\"1f630.png\"/>',fitzpatrick_scale:false,category:\"people\"},hushed:{keywords:[\"face\",\"woo\",\"shh\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😯\" src=\"1f62f.png\"/>',fitzpatrick_scale:false,category:\"people\"},frowning:{keywords:[\"face\",\"aw\",\"what\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😦\" src=\"1f626.png\"/>',fitzpatrick_scale:false,category:\"people\"},anguished:{keywords:[\"face\",\"stunned\",\"nervous\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😧\" src=\"1f627.png\"/>',fitzpatrick_scale:false,category:\"people\"},cry:{keywords:[\"face\",\"tears\",\"sad\",\"depressed\",\"upset\",\":'(\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😢\" src=\"1f622.png\"/>',fitzpatrick_scale:false,category:\"people\"},disappointed_relieved:{keywords:[\"face\",\"phew\",\"sweat\",\"nervous\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😥\" src=\"1f625.png\"/>',fitzpatrick_scale:false,category:\"people\"},drooling_face:{keywords:[\"face\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤤\" src=\"1f924.png\"/>',fitzpatrick_scale:false,category:\"people\"},sleepy:{keywords:[\"face\",\"tired\",\"rest\",\"nap\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😪\" src=\"1f62a.png\"/>',fitzpatrick_scale:false,category:\"people\"},sweat:{keywords:[\"face\",\"hot\",\"sad\",\"tired\",\"exercise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😓\" src=\"1f613.png\"/>',fitzpatrick_scale:false,category:\"people\"},hot:{keywords:[\"face\",\"feverish\",\"heat\",\"red\",\"sweating\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥵\" src=\"1f975.png\"/>',fitzpatrick_scale:false,category:\"people\"},cold:{keywords:[\"face\",\"blue\",\"freezing\",\"frozen\",\"frostbite\",\"icicles\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥶\" src=\"1f976.png\"/>',fitzpatrick_scale:false,category:\"people\"},sob:{keywords:[\"face\",\"cry\",\"tears\",\"sad\",\"upset\",\"depressed\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😭\" src=\"1f62d.png\"/>',fitzpatrick_scale:false,category:\"people\"},dizzy_face:{keywords:[\"spent\",\"unconscious\",\"xox\",\"dizzy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😵\" src=\"1f635.png\"/>',fitzpatrick_scale:false,category:\"people\"},astonished:{keywords:[\"face\",\"xox\",\"surprised\",\"poisoned\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😲\" src=\"1f632.png\"/>',fitzpatrick_scale:false,category:\"people\"},zipper_mouth_face:{keywords:[\"face\",\"sealed\",\"zipper\",\"secret\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤐\" src=\"1f910.png\"/>',fitzpatrick_scale:false,category:\"people\"},nauseated_face:{keywords:[\"face\",\"vomit\",\"gross\",\"green\",\"sick\",\"throw up\",\"ill\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤢\" src=\"1f922.png\"/>',fitzpatrick_scale:false,category:\"people\"},sneezing_face:{keywords:[\"face\",\"gesundheit\",\"sneeze\",\"sick\",\"allergy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤧\" src=\"1f927.png\"/>',fitzpatrick_scale:false,category:\"people\"},vomiting:{keywords:[\"face\",\"sick\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤮\" src=\"1f92e.png\"/>',fitzpatrick_scale:false,category:\"people\"},mask:{keywords:[\"face\",\"sick\",\"ill\",\"disease\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😷\" src=\"1f637.png\"/>',fitzpatrick_scale:false,category:\"people\"},face_with_thermometer:{keywords:[\"sick\",\"temperature\",\"thermometer\",\"cold\",\"fever\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤒\" src=\"1f912.png\"/>',fitzpatrick_scale:false,category:\"people\"},face_with_head_bandage:{keywords:[\"injured\",\"clumsy\",\"bandage\",\"hurt\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤕\" src=\"1f915.png\"/>',fitzpatrick_scale:false,category:\"people\"},woozy:{keywords:[\"face\",\"dizzy\",\"intoxicated\",\"tipsy\",\"wavy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥴\" src=\"1f974.png\"/>',fitzpatrick_scale:false,category:\"people\"},sleeping:{keywords:[\"face\",\"tired\",\"sleepy\",\"night\",\"zzz\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😴\" src=\"1f634.png\"/>',fitzpatrick_scale:false,category:\"people\"},zzz:{keywords:[\"sleepy\",\"tired\",\"dream\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💤\" src=\"1f4a4.png\"/>',fitzpatrick_scale:false,category:\"people\"},poop:{keywords:[\"hankey\",\"shitface\",\"fail\",\"turd\",\"shit\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💩\" src=\"1f4a9.png\"/>',fitzpatrick_scale:false,category:\"people\"},smiling_imp:{keywords:[\"devil\",\"horns\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😈\" src=\"1f608.png\"/>',fitzpatrick_scale:false,category:\"people\"},imp:{keywords:[\"devil\",\"angry\",\"horns\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👿\" src=\"1f47f.png\"/>',fitzpatrick_scale:false,category:\"people\"},japanese_ogre:{keywords:[\"monster\",\"red\",\"mask\",\"halloween\",\"scary\",\"creepy\",\"devil\",\"demon\",\"japanese\",\"ogre\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👹\" src=\"1f479.png\"/>',fitzpatrick_scale:false,category:\"people\"},japanese_goblin:{keywords:[\"red\",\"evil\",\"mask\",\"monster\",\"scary\",\"creepy\",\"japanese\",\"goblin\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👺\" src=\"1f47a.png\"/>',fitzpatrick_scale:false,category:\"people\"},skull:{keywords:[\"dead\",\"skeleton\",\"creepy\",\"death\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💀\" src=\"1f480.png\"/>',fitzpatrick_scale:false,category:\"people\"},ghost:{keywords:[\"halloween\",\"spooky\",\"scary\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👻\" src=\"1f47b.png\"/>',fitzpatrick_scale:false,category:\"people\"},alien:{keywords:[\"UFO\",\"paul\",\"weird\",\"outer_space\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👽\" src=\"1f47d.png\"/>',fitzpatrick_scale:false,category:\"people\"},robot:{keywords:[\"computer\",\"machine\",\"bot\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤖\" src=\"1f916.png\"/>',fitzpatrick_scale:false,category:\"people\"},smiley_cat:{keywords:[\"animal\",\"cats\",\"happy\",\"smile\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😺\" src=\"1f63a.png\"/>',fitzpatrick_scale:false,category:\"people\"},smile_cat:{keywords:[\"animal\",\"cats\",\"smile\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😸\" src=\"1f638.png\"/>',fitzpatrick_scale:false,category:\"people\"},joy_cat:{keywords:[\"animal\",\"cats\",\"haha\",\"happy\",\"tears\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😹\" src=\"1f639.png\"/>',fitzpatrick_scale:false,category:\"people\"},heart_eyes_cat:{keywords:[\"animal\",\"love\",\"like\",\"affection\",\"cats\",\"valentines\",\"heart\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😻\" src=\"1f63b.png\"/>',fitzpatrick_scale:false,category:\"people\"},smirk_cat:{keywords:[\"animal\",\"cats\",\"smirk\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😼\" src=\"1f63c.png\"/>',fitzpatrick_scale:false,category:\"people\"},kissing_cat:{keywords:[\"animal\",\"cats\",\"kiss\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😽\" src=\"1f63d.png\"/>',fitzpatrick_scale:false,category:\"people\"},scream_cat:{keywords:[\"animal\",\"cats\",\"munch\",\"scared\",\"scream\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙀\" src=\"1f640.png\"/>',fitzpatrick_scale:false,category:\"people\"},crying_cat_face:{keywords:[\"animal\",\"tears\",\"weep\",\"sad\",\"cats\",\"upset\",\"cry\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😿\" src=\"1f63f.png\"/>',fitzpatrick_scale:false,category:\"people\"},pouting_cat:{keywords:[\"animal\",\"cats\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"😾\" src=\"1f63e.png\"/>',fitzpatrick_scale:false,category:\"people\"},palms_up:{keywords:[\"hands\",\"gesture\",\"cupped\",\"prayer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤲\" src=\"1f932.png\"/>',fitzpatrick_scale:true,category:\"people\"},raised_hands:{keywords:[\"gesture\",\"hooray\",\"yea\",\"celebration\",\"hands\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙌\" src=\"1f64c.png\"/>',fitzpatrick_scale:true,category:\"people\"},clap:{keywords:[\"hands\",\"praise\",\"applause\",\"congrats\",\"yay\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👏\" src=\"1f44f.png\"/>',fitzpatrick_scale:true,category:\"people\"},wave:{keywords:[\"hands\",\"gesture\",\"goodbye\",\"solong\",\"farewell\",\"hello\",\"hi\",\"palm\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👋\" src=\"1f44b.png\"/>',fitzpatrick_scale:true,category:\"people\"},call_me_hand:{keywords:[\"hands\",\"gesture\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤙\" src=\"1f919.png\"/>',fitzpatrick_scale:true,category:\"people\"},\"+1\":{keywords:[\"thumbsup\",\"yes\",\"awesome\",\"good\",\"agree\",\"accept\",\"cool\",\"hand\",\"like\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👍\" src=\"1f44d.png\"/>',fitzpatrick_scale:true,category:\"people\"},\"-1\":{keywords:[\"thumbsdown\",\"no\",\"dislike\",\"hand\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👎\" src=\"1f44e.png\"/>',fitzpatrick_scale:true,category:\"people\"},facepunch:{keywords:[\"angry\",\"violence\",\"fist\",\"hit\",\"attack\",\"hand\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👊\" src=\"1f44a.png\"/>',fitzpatrick_scale:true,category:\"people\"},fist:{keywords:[\"fingers\",\"hand\",\"grasp\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✊\" src=\"270a.png\"/>',fitzpatrick_scale:true,category:\"people\"},fist_left:{keywords:[\"hand\",\"fistbump\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤛\" src=\"1f91b.png\"/>',fitzpatrick_scale:true,category:\"people\"},fist_right:{keywords:[\"hand\",\"fistbump\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤜\" src=\"1f91c.png\"/>',fitzpatrick_scale:true,category:\"people\"},v:{keywords:[\"fingers\",\"ohyeah\",\"hand\",\"peace\",\"victory\",\"two\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✌\" src=\"270c.png\"/>',fitzpatrick_scale:true,category:\"people\"},ok_hand:{keywords:[\"fingers\",\"limbs\",\"perfect\",\"ok\",\"okay\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👌\" src=\"1f44c.png\"/>',fitzpatrick_scale:true,category:\"people\"},raised_hand:{keywords:[\"fingers\",\"stop\",\"highfive\",\"palm\",\"ban\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✋\" src=\"270b.png\"/>',fitzpatrick_scale:true,category:\"people\"},raised_back_of_hand:{keywords:[\"fingers\",\"raised\",\"backhand\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤚\" src=\"1f91a.png\"/>',fitzpatrick_scale:true,category:\"people\"},open_hands:{keywords:[\"fingers\",\"butterfly\",\"hands\",\"open\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👐\" src=\"1f450.png\"/>',fitzpatrick_scale:true,category:\"people\"},muscle:{keywords:[\"arm\",\"flex\",\"hand\",\"summer\",\"strong\",\"biceps\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💪\" src=\"1f4aa.png\"/>',fitzpatrick_scale:true,category:\"people\"},pray:{keywords:[\"please\",\"hope\",\"wish\",\"namaste\",\"highfive\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙏\" src=\"1f64f.png\"/>',fitzpatrick_scale:true,category:\"people\"},foot:{keywords:[\"kick\",\"stomp\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦶\" src=\"1f9b6.png\"/>',fitzpatrick_scale:true,category:\"people\"},leg:{keywords:[\"kick\",\"limb\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦵\" src=\"1f9b5.png\"/>',fitzpatrick_scale:true,category:\"people\"},handshake:{keywords:[\"agreement\",\"shake\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤝\" src=\"1f91d.png\"/>',fitzpatrick_scale:false,category:\"people\"},point_up:{keywords:[\"hand\",\"fingers\",\"direction\",\"up\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☝\" src=\"261d.png\"/>',fitzpatrick_scale:true,category:\"people\"},point_up_2:{keywords:[\"fingers\",\"hand\",\"direction\",\"up\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👆\" src=\"1f446.png\"/>',fitzpatrick_scale:true,category:\"people\"},point_down:{keywords:[\"fingers\",\"hand\",\"direction\",\"down\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👇\" src=\"1f447.png\"/>',fitzpatrick_scale:true,category:\"people\"},point_left:{keywords:[\"direction\",\"fingers\",\"hand\",\"left\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👈\" src=\"1f448.png\"/>',fitzpatrick_scale:true,category:\"people\"},point_right:{keywords:[\"fingers\",\"hand\",\"direction\",\"right\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👉\" src=\"1f449.png\"/>',fitzpatrick_scale:true,category:\"people\"},fu:{keywords:[\"hand\",\"fingers\",\"rude\",\"middle\",\"flipping\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖕\" src=\"1f595.png\"/>',fitzpatrick_scale:true,category:\"people\"},raised_hand_with_fingers_splayed:{keywords:[\"hand\",\"fingers\",\"palm\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖐\" src=\"1f590.png\"/>',fitzpatrick_scale:true,category:\"people\"},love_you:{keywords:[\"hand\",\"fingers\",\"gesture\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤟\" src=\"1f91f.png\"/>',fitzpatrick_scale:true,category:\"people\"},metal:{keywords:[\"hand\",\"fingers\",\"evil_eye\",\"sign_of_horns\",\"rock_on\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤘\" src=\"1f918.png\"/>',fitzpatrick_scale:true,category:\"people\"},crossed_fingers:{keywords:[\"good\",\"lucky\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤞\" src=\"1f91e.png\"/>',fitzpatrick_scale:true,category:\"people\"},vulcan_salute:{keywords:[\"hand\",\"fingers\",\"spock\",\"star trek\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖖\" src=\"1f596.png\"/>',fitzpatrick_scale:true,category:\"people\"},writing_hand:{keywords:[\"lower_left_ballpoint_pen\",\"stationery\",\"write\",\"compose\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✍\" src=\"270d.png\"/>',fitzpatrick_scale:true,category:\"people\"},selfie:{keywords:[\"camera\",\"phone\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤳\" src=\"1f933.png\"/>',fitzpatrick_scale:true,category:\"people\"},nail_care:{keywords:[\"beauty\",\"manicure\",\"finger\",\"fashion\",\"nail\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💅\" src=\"1f485.png\"/>',fitzpatrick_scale:true,category:\"people\"},lips:{keywords:[\"mouth\",\"kiss\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👄\" src=\"1f444.png\"/>',fitzpatrick_scale:false,category:\"people\"},tooth:{keywords:[\"teeth\",\"dentist\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦷\" src=\"1f9b7.png\"/>',fitzpatrick_scale:false,category:\"people\"},tongue:{keywords:[\"mouth\",\"playful\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👅\" src=\"1f445.png\"/>',fitzpatrick_scale:false,category:\"people\"},ear:{keywords:[\"face\",\"hear\",\"sound\",\"listen\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👂\" src=\"1f442.png\"/>',fitzpatrick_scale:true,category:\"people\"},nose:{keywords:[\"smell\",\"sniff\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👃\" src=\"1f443.png\"/>',fitzpatrick_scale:true,category:\"people\"},eye:{keywords:[\"face\",\"look\",\"see\",\"watch\",\"stare\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👁\" src=\"1f441.png\"/>',fitzpatrick_scale:false,category:\"people\"},eyes:{keywords:[\"look\",\"watch\",\"stalk\",\"peek\",\"see\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👀\" src=\"1f440.png\"/>',fitzpatrick_scale:false,category:\"people\"},brain:{keywords:[\"smart\",\"intelligent\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧠\" src=\"1f9e0.png\"/>',fitzpatrick_scale:false,category:\"people\"},bust_in_silhouette:{keywords:[\"user\",\"person\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👤\" src=\"1f464.png\"/>',fitzpatrick_scale:false,category:\"people\"},busts_in_silhouette:{keywords:[\"user\",\"person\",\"human\",\"group\",\"team\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👥\" src=\"1f465.png\"/>',fitzpatrick_scale:false,category:\"people\"},speaking_head:{keywords:[\"user\",\"person\",\"human\",\"sing\",\"say\",\"talk\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗣\" src=\"1f5e3.png\"/>',fitzpatrick_scale:false,category:\"people\"},baby:{keywords:[\"child\",\"boy\",\"girl\",\"toddler\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👶\" src=\"1f476.png\"/>',fitzpatrick_scale:true,category:\"people\"},child:{keywords:[\"gender-neutral\",\"young\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧒\" src=\"1f9d2.png\"/>',fitzpatrick_scale:true,category:\"people\"},boy:{keywords:[\"man\",\"male\",\"guy\",\"teenager\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👦\" src=\"1f466.png\"/>',fitzpatrick_scale:true,category:\"people\"},girl:{keywords:[\"female\",\"woman\",\"teenager\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👧\" src=\"1f467.png\"/>',fitzpatrick_scale:true,category:\"people\"},adult:{keywords:[\"gender-neutral\",\"person\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧑\" src=\"1f9d1.png\"/>',fitzpatrick_scale:true,category:\"people\"},man:{keywords:[\"mustache\",\"father\",\"dad\",\"guy\",\"classy\",\"sir\",\"moustache\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨\" src=\"1f468.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman:{keywords:[\"female\",\"girls\",\"lady\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩\" src=\"1f469.png\"/>',fitzpatrick_scale:true,category:\"people\"},blonde_woman:{keywords:[\"woman\",\"female\",\"girl\",\"blonde\",\"person\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👱‍♀️\" src=\"1f471-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},blonde_man:{keywords:[\"man\",\"male\",\"boy\",\"blonde\",\"guy\",\"person\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👱\" src=\"1f471.png\"/>',fitzpatrick_scale:true,category:\"people\"},bearded_person:{keywords:[\"person\",\"bewhiskered\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧔\" src=\"1f9d4.png\"/>',fitzpatrick_scale:true,category:\"people\"},older_adult:{keywords:[\"human\",\"elder\",\"senior\",\"gender-neutral\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧓\" src=\"1f9d3.png\"/>',fitzpatrick_scale:true,category:\"people\"},older_man:{keywords:[\"human\",\"male\",\"men\",\"old\",\"elder\",\"senior\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👴\" src=\"1f474.png\"/>',fitzpatrick_scale:true,category:\"people\"},older_woman:{keywords:[\"human\",\"female\",\"women\",\"lady\",\"old\",\"elder\",\"senior\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👵\" src=\"1f475.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_with_gua_pi_mao:{keywords:[\"male\",\"boy\",\"chinese\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👲\" src=\"1f472.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_with_headscarf:{keywords:[\"female\",\"hijab\",\"mantilla\",\"tichel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧕\" src=\"1f9d5.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_with_turban:{keywords:[\"female\",\"indian\",\"hinduism\",\"arabs\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👳‍♀️\" src=\"1f473-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_with_turban:{keywords:[\"male\",\"indian\",\"hinduism\",\"arabs\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👳\" src=\"1f473.png\"/>',fitzpatrick_scale:true,category:\"people\"},policewoman:{keywords:[\"woman\",\"police\",\"law\",\"legal\",\"enforcement\",\"arrest\",\"911\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👮‍♀️\" src=\"1f46e-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},policeman:{keywords:[\"man\",\"police\",\"law\",\"legal\",\"enforcement\",\"arrest\",\"911\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👮\" src=\"1f46e.png\"/>',fitzpatrick_scale:true,category:\"people\"},construction_worker_woman:{keywords:[\"female\",\"human\",\"wip\",\"build\",\"construction\",\"worker\",\"labor\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👷‍♀️\" src=\"1f477-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},construction_worker_man:{keywords:[\"male\",\"human\",\"wip\",\"guy\",\"build\",\"construction\",\"worker\",\"labor\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👷\" src=\"1f477.png\"/>',fitzpatrick_scale:true,category:\"people\"},guardswoman:{keywords:[\"uk\",\"gb\",\"british\",\"female\",\"royal\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💂‍♀️\" src=\"1f482-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},guardsman:{keywords:[\"uk\",\"gb\",\"british\",\"male\",\"guy\",\"royal\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💂\" src=\"1f482.png\"/>',fitzpatrick_scale:true,category:\"people\"},female_detective:{keywords:[\"human\",\"spy\",\"detective\",\"female\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕵️‍♀️\" src=\"1f575-fe0f-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},male_detective:{keywords:[\"human\",\"spy\",\"detective\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕵\" src=\"1f575.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_health_worker:{keywords:[\"doctor\",\"nurse\",\"therapist\",\"healthcare\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍⚕️\" src=\"1f469-200d-2695-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_health_worker:{keywords:[\"doctor\",\"nurse\",\"therapist\",\"healthcare\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍⚕️\" src=\"1f468-200d-2695-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_farmer:{keywords:[\"rancher\",\"gardener\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🌾\" src=\"1f469-200d-1f33e.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_farmer:{keywords:[\"rancher\",\"gardener\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🌾\" src=\"1f468-200d-1f33e.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_cook:{keywords:[\"chef\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🍳\" src=\"1f469-200d-1f373.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_cook:{keywords:[\"chef\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🍳\" src=\"1f468-200d-1f373.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_student:{keywords:[\"graduate\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🎓\" src=\"1f469-200d-1f393.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_student:{keywords:[\"graduate\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🎓\" src=\"1f468-200d-1f393.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_singer:{keywords:[\"rockstar\",\"entertainer\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🎤\" src=\"1f469-200d-1f3a4.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_singer:{keywords:[\"rockstar\",\"entertainer\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🎤\" src=\"1f468-200d-1f3a4.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_teacher:{keywords:[\"instructor\",\"professor\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🏫\" src=\"1f469-200d-1f3eb.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_teacher:{keywords:[\"instructor\",\"professor\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🏫\" src=\"1f468-200d-1f3eb.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_factory_worker:{keywords:[\"assembly\",\"industrial\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🏭\" src=\"1f469-200d-1f3ed.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_factory_worker:{keywords:[\"assembly\",\"industrial\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🏭\" src=\"1f468-200d-1f3ed.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_technologist:{keywords:[\"coder\",\"developer\",\"engineer\",\"programmer\",\"software\",\"woman\",\"human\",\"laptop\",\"computer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍💻\" src=\"1f469-200d-1f4bb.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_technologist:{keywords:[\"coder\",\"developer\",\"engineer\",\"programmer\",\"software\",\"man\",\"human\",\"laptop\",\"computer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍💻\" src=\"1f468-200d-1f4bb.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_office_worker:{keywords:[\"business\",\"manager\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍💼\" src=\"1f469-200d-1f4bc.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_office_worker:{keywords:[\"business\",\"manager\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍💼\" src=\"1f468-200d-1f4bc.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_mechanic:{keywords:[\"plumber\",\"woman\",\"human\",\"wrench\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🔧\" src=\"1f469-200d-1f527.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_mechanic:{keywords:[\"plumber\",\"man\",\"human\",\"wrench\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🔧\" src=\"1f468-200d-1f527.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_scientist:{keywords:[\"biologist\",\"chemist\",\"engineer\",\"physicist\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🔬\" src=\"1f469-200d-1f52c.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_scientist:{keywords:[\"biologist\",\"chemist\",\"engineer\",\"physicist\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🔬\" src=\"1f468-200d-1f52c.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_artist:{keywords:[\"painter\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🎨\" src=\"1f469-200d-1f3a8.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_artist:{keywords:[\"painter\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🎨\" src=\"1f468-200d-1f3a8.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_firefighter:{keywords:[\"fireman\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🚒\" src=\"1f469-200d-1f692.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_firefighter:{keywords:[\"fireman\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🚒\" src=\"1f468-200d-1f692.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_pilot:{keywords:[\"aviator\",\"plane\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍✈️\" src=\"1f469-200d-2708-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_pilot:{keywords:[\"aviator\",\"plane\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍✈️\" src=\"1f468-200d-2708-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_astronaut:{keywords:[\"space\",\"rocket\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍🚀\" src=\"1f469-200d-1f680.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_astronaut:{keywords:[\"space\",\"rocket\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍🚀\" src=\"1f468-200d-1f680.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_judge:{keywords:[\"justice\",\"court\",\"woman\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍⚖️\" src=\"1f469-200d-2696-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_judge:{keywords:[\"justice\",\"court\",\"man\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍⚖️\" src=\"1f468-200d-2696-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_superhero:{keywords:[\"woman\",\"female\",\"good\",\"heroine\",\"superpowers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦸‍♀️\" src=\"1f9b8-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_superhero:{keywords:[\"man\",\"male\",\"good\",\"hero\",\"superpowers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦸‍♂️\" src=\"1f9b8-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_supervillain:{keywords:[\"woman\",\"female\",\"evil\",\"bad\",\"criminal\",\"heroine\",\"superpowers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦹‍♀️\" src=\"1f9b9-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_supervillain:{keywords:[\"man\",\"male\",\"evil\",\"bad\",\"criminal\",\"hero\",\"superpowers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦹‍♂️\" src=\"1f9b9-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},mrs_claus:{keywords:[\"woman\",\"female\",\"xmas\",\"mother christmas\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤶\" src=\"1f936.png\"/>',fitzpatrick_scale:true,category:\"people\"},santa:{keywords:[\"festival\",\"man\",\"male\",\"xmas\",\"father christmas\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎅\" src=\"1f385.png\"/>',fitzpatrick_scale:true,category:\"people\"},sorceress:{keywords:[\"woman\",\"female\",\"mage\",\"witch\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧙‍♀️\" src=\"1f9d9-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},wizard:{keywords:[\"man\",\"male\",\"mage\",\"sorcerer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧙‍♂️\" src=\"1f9d9-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_elf:{keywords:[\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧝‍♀️\" src=\"1f9dd-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_elf:{keywords:[\"man\",\"male\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧝‍♂️\" src=\"1f9dd-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_vampire:{keywords:[\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧛‍♀️\" src=\"1f9db-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_vampire:{keywords:[\"man\",\"male\",\"dracula\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧛‍♂️\" src=\"1f9db-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_zombie:{keywords:[\"woman\",\"female\",\"undead\",\"walking dead\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧟‍♀️\" src=\"1f9df-200d-2640-fe0f.png\"/>',fitzpatrick_scale:false,category:\"people\"},man_zombie:{keywords:[\"man\",\"male\",\"dracula\",\"undead\",\"walking dead\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧟‍♂️\" src=\"1f9df-200d-2642-fe0f.png\"/>',fitzpatrick_scale:false,category:\"people\"},woman_genie:{keywords:[\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧞‍♀️\" src=\"1f9de-200d-2640-fe0f.png\"/>',fitzpatrick_scale:false,category:\"people\"},man_genie:{keywords:[\"man\",\"male\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧞‍♂️\" src=\"1f9de-200d-2642-fe0f.png\"/>',fitzpatrick_scale:false,category:\"people\"},mermaid:{keywords:[\"woman\",\"female\",\"merwoman\",\"ariel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧜‍♀️\" src=\"1f9dc-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},merman:{keywords:[\"man\",\"male\",\"triton\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧜‍♂️\" src=\"1f9dc-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_fairy:{keywords:[\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧚‍♀️\" src=\"1f9da-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_fairy:{keywords:[\"man\",\"male\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧚‍♂️\" src=\"1f9da-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},angel:{keywords:[\"heaven\",\"wings\",\"halo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👼\" src=\"1f47c.png\"/>',fitzpatrick_scale:true,category:\"people\"},pregnant_woman:{keywords:[\"baby\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤰\" src=\"1f930.png\"/>',fitzpatrick_scale:true,category:\"people\"},breastfeeding:{keywords:[\"nursing\",\"baby\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤱\" src=\"1f931.png\"/>',fitzpatrick_scale:true,category:\"people\"},princess:{keywords:[\"girl\",\"woman\",\"female\",\"blond\",\"crown\",\"royal\",\"queen\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👸\" src=\"1f478.png\"/>',fitzpatrick_scale:true,category:\"people\"},prince:{keywords:[\"boy\",\"man\",\"male\",\"crown\",\"royal\",\"king\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤴\" src=\"1f934.png\"/>',fitzpatrick_scale:true,category:\"people\"},bride_with_veil:{keywords:[\"couple\",\"marriage\",\"wedding\",\"woman\",\"bride\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👰\" src=\"1f470.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_in_tuxedo:{keywords:[\"couple\",\"marriage\",\"wedding\",\"groom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤵\" src=\"1f935.png\"/>',fitzpatrick_scale:true,category:\"people\"},running_woman:{keywords:[\"woman\",\"walking\",\"exercise\",\"race\",\"running\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏃‍♀️\" src=\"1f3c3-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},running_man:{keywords:[\"man\",\"walking\",\"exercise\",\"race\",\"running\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏃\" src=\"1f3c3.png\"/>',fitzpatrick_scale:true,category:\"people\"},walking_woman:{keywords:[\"human\",\"feet\",\"steps\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚶‍♀️\" src=\"1f6b6-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},walking_man:{keywords:[\"human\",\"feet\",\"steps\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚶\" src=\"1f6b6.png\"/>',fitzpatrick_scale:true,category:\"people\"},dancer:{keywords:[\"female\",\"girl\",\"woman\",\"fun\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💃\" src=\"1f483.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_dancing:{keywords:[\"male\",\"boy\",\"fun\",\"dancer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕺\" src=\"1f57a.png\"/>',fitzpatrick_scale:true,category:\"people\"},dancing_women:{keywords:[\"female\",\"bunny\",\"women\",\"girls\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👯\" src=\"1f46f.png\"/>',fitzpatrick_scale:false,category:\"people\"},dancing_men:{keywords:[\"male\",\"bunny\",\"men\",\"boys\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👯‍♂️\" src=\"1f46f-200d-2642-fe0f.png\"/>',fitzpatrick_scale:false,category:\"people\"},couple:{keywords:[\"pair\",\"people\",\"human\",\"love\",\"date\",\"dating\",\"like\",\"affection\",\"valentines\",\"marriage\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👫\" src=\"1f46b.png\"/>',fitzpatrick_scale:false,category:\"people\"},two_men_holding_hands:{keywords:[\"pair\",\"couple\",\"love\",\"like\",\"bromance\",\"friendship\",\"people\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👬\" src=\"1f46c.png\"/>',fitzpatrick_scale:false,category:\"people\"},two_women_holding_hands:{keywords:[\"pair\",\"friendship\",\"couple\",\"love\",\"like\",\"female\",\"people\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👭\" src=\"1f46d.png\"/>',fitzpatrick_scale:false,category:\"people\"},bowing_woman:{keywords:[\"woman\",\"female\",\"girl\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙇‍♀️\" src=\"1f647-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},bowing_man:{keywords:[\"man\",\"male\",\"boy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙇\" src=\"1f647.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_facepalming:{keywords:[\"man\",\"male\",\"boy\",\"disbelief\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤦‍♂️\" src=\"1f926-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_facepalming:{keywords:[\"woman\",\"female\",\"girl\",\"disbelief\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤦‍♀️\" src=\"1f926-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_shrugging:{keywords:[\"woman\",\"female\",\"girl\",\"confused\",\"indifferent\",\"doubt\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤷\" src=\"1f937.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_shrugging:{keywords:[\"man\",\"male\",\"boy\",\"confused\",\"indifferent\",\"doubt\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤷‍♂️\" src=\"1f937-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},tipping_hand_woman:{keywords:[\"female\",\"girl\",\"woman\",\"human\",\"information\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💁\" src=\"1f481.png\"/>',fitzpatrick_scale:true,category:\"people\"},tipping_hand_man:{keywords:[\"male\",\"boy\",\"man\",\"human\",\"information\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💁‍♂️\" src=\"1f481-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},no_good_woman:{keywords:[\"female\",\"girl\",\"woman\",\"nope\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙅\" src=\"1f645.png\"/>',fitzpatrick_scale:true,category:\"people\"},no_good_man:{keywords:[\"male\",\"boy\",\"man\",\"nope\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙅‍♂️\" src=\"1f645-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},ok_woman:{keywords:[\"women\",\"girl\",\"female\",\"pink\",\"human\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙆\" src=\"1f646.png\"/>',fitzpatrick_scale:true,category:\"people\"},ok_man:{keywords:[\"men\",\"boy\",\"male\",\"blue\",\"human\",\"man\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙆‍♂️\" src=\"1f646-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},raising_hand_woman:{keywords:[\"female\",\"girl\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙋\" src=\"1f64b.png\"/>',fitzpatrick_scale:true,category:\"people\"},raising_hand_man:{keywords:[\"male\",\"boy\",\"man\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙋‍♂️\" src=\"1f64b-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},pouting_woman:{keywords:[\"female\",\"girl\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙎\" src=\"1f64e.png\"/>',fitzpatrick_scale:true,category:\"people\"},pouting_man:{keywords:[\"male\",\"boy\",\"man\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙎‍♂️\" src=\"1f64e-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},frowning_woman:{keywords:[\"female\",\"girl\",\"woman\",\"sad\",\"depressed\",\"discouraged\",\"unhappy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙍\" src=\"1f64d.png\"/>',fitzpatrick_scale:true,category:\"people\"},frowning_man:{keywords:[\"male\",\"boy\",\"man\",\"sad\",\"depressed\",\"discouraged\",\"unhappy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙍‍♂️\" src=\"1f64d-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},haircut_woman:{keywords:[\"female\",\"girl\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💇\" src=\"1f487.png\"/>',fitzpatrick_scale:true,category:\"people\"},haircut_man:{keywords:[\"male\",\"boy\",\"man\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💇‍♂️\" src=\"1f487-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},massage_woman:{keywords:[\"female\",\"girl\",\"woman\",\"head\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💆\" src=\"1f486.png\"/>',fitzpatrick_scale:true,category:\"people\"},massage_man:{keywords:[\"male\",\"boy\",\"man\",\"head\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💆‍♂️\" src=\"1f486-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},woman_in_steamy_room:{keywords:[\"female\",\"woman\",\"spa\",\"steamroom\",\"sauna\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧖‍♀️\" src=\"1f9d6-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},man_in_steamy_room:{keywords:[\"male\",\"man\",\"spa\",\"steamroom\",\"sauna\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧖‍♂️\" src=\"1f9d6-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"people\"},couple_with_heart_woman_man:{keywords:[\"pair\",\"love\",\"like\",\"affection\",\"human\",\"dating\",\"valentines\",\"marriage\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💑\" src=\"1f491.png\"/>',fitzpatrick_scale:false,category:\"people\"},couple_with_heart_woman_woman:{keywords:[\"pair\",\"love\",\"like\",\"affection\",\"human\",\"dating\",\"valentines\",\"marriage\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍❤️‍👩\" src=\"1f469-200d-2764-fe0f-200d-1f469.png\"/>',fitzpatrick_scale:false,category:\"people\"},couple_with_heart_man_man:{keywords:[\"pair\",\"love\",\"like\",\"affection\",\"human\",\"dating\",\"valentines\",\"marriage\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍❤️‍👨\" src=\"1f468-200d-2764-fe0f-200d-1f468.png\"/>',fitzpatrick_scale:false,category:\"people\"},couplekiss_man_woman:{keywords:[\"pair\",\"valentines\",\"love\",\"like\",\"dating\",\"marriage\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💏\" src=\"1f48f.png\"/>',fitzpatrick_scale:false,category:\"people\"},couplekiss_woman_woman:{keywords:[\"pair\",\"valentines\",\"love\",\"like\",\"dating\",\"marriage\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍❤️‍💋‍👩\" src=\"1f469-200d-2764-fe0f-200d-1f48b-200d-1f469.png\"/>',fitzpatrick_scale:false,category:\"people\"},couplekiss_man_man:{keywords:[\"pair\",\"valentines\",\"love\",\"like\",\"dating\",\"marriage\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍❤️‍💋‍👨\" src=\"1f468-200d-2764-fe0f-200d-1f48b-200d-1f468.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_woman_boy:{keywords:[\"home\",\"parents\",\"child\",\"mom\",\"dad\",\"father\",\"mother\",\"people\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👪\" src=\"1f46a.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_woman_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"child\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👩‍👧\" src=\"1f468-200d-1f469-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_woman_girl_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👩‍👧‍👦\" src=\"1f468-200d-1f469-200d-1f467-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_woman_boy_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👩‍👦‍👦\" src=\"1f468-200d-1f469-200d-1f466-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_woman_girl_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👩‍👧‍👧\" src=\"1f468-200d-1f469-200d-1f467-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_woman_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👩‍👦\" src=\"1f469-200d-1f469-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_woman_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👩‍👧\" src=\"1f469-200d-1f469-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_woman_girl_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👩‍👧‍👦\" src=\"1f469-200d-1f469-200d-1f467-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_woman_boy_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👩‍👦‍👦\" src=\"1f469-200d-1f469-200d-1f466-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_woman_girl_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👩‍👧‍👧\" src=\"1f469-200d-1f469-200d-1f467-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_man_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👨‍👦\" src=\"1f468-200d-1f468-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_man_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👨‍👧\" src=\"1f468-200d-1f468-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_man_girl_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👨‍👧‍👦\" src=\"1f468-200d-1f468-200d-1f467-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_man_boy_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👨‍👦‍👦\" src=\"1f468-200d-1f468-200d-1f466-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_man_girl_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👨‍👧‍👧\" src=\"1f468-200d-1f468-200d-1f467-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"child\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👦\" src=\"1f469-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_girl:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"child\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👧\" src=\"1f469-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_girl_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👧‍👦\" src=\"1f469-200d-1f467-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_boy_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👦‍👦\" src=\"1f469-200d-1f466-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_woman_girl_girl:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👩‍👧‍👧\" src=\"1f469-200d-1f467-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"child\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👦\" src=\"1f468-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_girl:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"child\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👧\" src=\"1f468-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_girl_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👧‍👦\" src=\"1f468-200d-1f467-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_boy_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👦‍👦\" src=\"1f468-200d-1f466-200d-1f466.png\"/>',fitzpatrick_scale:false,category:\"people\"},family_man_girl_girl:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👨‍👧‍👧\" src=\"1f468-200d-1f467-200d-1f467.png\"/>',fitzpatrick_scale:false,category:\"people\"},yarn:{keywords:[\"ball\",\"crochet\",\"knit\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧶\" src=\"1f9f6.png\"/>',fitzpatrick_scale:false,category:\"people\"},thread:{keywords:[\"needle\",\"sewing\",\"spool\",\"string\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧵\" src=\"1f9f5.png\"/>',fitzpatrick_scale:false,category:\"people\"},coat:{keywords:[\"jacket\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧥\" src=\"1f9e5.png\"/>',fitzpatrick_scale:false,category:\"people\"},labcoat:{keywords:[\"doctor\",\"experiment\",\"scientist\",\"chemist\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥼\" src=\"1f97c.png\"/>',fitzpatrick_scale:false,category:\"people\"},womans_clothes:{keywords:[\"fashion\",\"shopping_bags\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👚\" src=\"1f45a.png\"/>',fitzpatrick_scale:false,category:\"people\"},tshirt:{keywords:[\"fashion\",\"cloth\",\"casual\",\"shirt\",\"tee\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👕\" src=\"1f455.png\"/>',fitzpatrick_scale:false,category:\"people\"},jeans:{keywords:[\"fashion\",\"shopping\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👖\" src=\"1f456.png\"/>',fitzpatrick_scale:false,category:\"people\"},necktie:{keywords:[\"shirt\",\"suitup\",\"formal\",\"fashion\",\"cloth\",\"business\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👔\" src=\"1f454.png\"/>',fitzpatrick_scale:false,category:\"people\"},dress:{keywords:[\"clothes\",\"fashion\",\"shopping\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👗\" src=\"1f457.png\"/>',fitzpatrick_scale:false,category:\"people\"},bikini:{keywords:[\"swimming\",\"female\",\"woman\",\"girl\",\"fashion\",\"beach\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👙\" src=\"1f459.png\"/>',fitzpatrick_scale:false,category:\"people\"},kimono:{keywords:[\"dress\",\"fashion\",\"women\",\"female\",\"japanese\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👘\" src=\"1f458.png\"/>',fitzpatrick_scale:false,category:\"people\"},lipstick:{keywords:[\"female\",\"girl\",\"fashion\",\"woman\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💄\" src=\"1f484.png\"/>',fitzpatrick_scale:false,category:\"people\"},kiss:{keywords:[\"face\",\"lips\",\"love\",\"like\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💋\" src=\"1f48b.png\"/>',fitzpatrick_scale:false,category:\"people\"},footprints:{keywords:[\"feet\",\"tracking\",\"walking\",\"beach\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👣\" src=\"1f463.png\"/>',fitzpatrick_scale:false,category:\"people\"},flat_shoe:{keywords:[\"ballet\",\"slip-on\",\"slipper\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥿\" src=\"1f97f.png\"/>',fitzpatrick_scale:false,category:\"people\"},high_heel:{keywords:[\"fashion\",\"shoes\",\"female\",\"pumps\",\"stiletto\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👠\" src=\"1f460.png\"/>',fitzpatrick_scale:false,category:\"people\"},sandal:{keywords:[\"shoes\",\"fashion\",\"flip flops\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👡\" src=\"1f461.png\"/>',fitzpatrick_scale:false,category:\"people\"},boot:{keywords:[\"shoes\",\"fashion\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👢\" src=\"1f462.png\"/>',fitzpatrick_scale:false,category:\"people\"},mans_shoe:{keywords:[\"fashion\",\"male\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👞\" src=\"1f45e.png\"/>',fitzpatrick_scale:false,category:\"people\"},athletic_shoe:{keywords:[\"shoes\",\"sports\",\"sneakers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👟\" src=\"1f45f.png\"/>',fitzpatrick_scale:false,category:\"people\"},hiking_boot:{keywords:[\"backpacking\",\"camping\",\"hiking\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥾\" src=\"1f97e.png\"/>',fitzpatrick_scale:false,category:\"people\"},socks:{keywords:[\"stockings\",\"clothes\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧦\" src=\"1f9e6.png\"/>',fitzpatrick_scale:false,category:\"people\"},gloves:{keywords:[\"hands\",\"winter\",\"clothes\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧤\" src=\"1f9e4.png\"/>',fitzpatrick_scale:false,category:\"people\"},scarf:{keywords:[\"neck\",\"winter\",\"clothes\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧣\" src=\"1f9e3.png\"/>',fitzpatrick_scale:false,category:\"people\"},womans_hat:{keywords:[\"fashion\",\"accessories\",\"female\",\"lady\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👒\" src=\"1f452.png\"/>',fitzpatrick_scale:false,category:\"people\"},tophat:{keywords:[\"magic\",\"gentleman\",\"classy\",\"circus\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎩\" src=\"1f3a9.png\"/>',fitzpatrick_scale:false,category:\"people\"},billed_hat:{keywords:[\"cap\",\"baseball\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧢\" src=\"1f9e2.png\"/>',fitzpatrick_scale:false,category:\"people\"},rescue_worker_helmet:{keywords:[\"construction\",\"build\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛑\" src=\"26d1.png\"/>',fitzpatrick_scale:false,category:\"people\"},mortar_board:{keywords:[\"school\",\"college\",\"degree\",\"university\",\"graduation\",\"cap\",\"hat\",\"legal\",\"learn\",\"education\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎓\" src=\"1f393.png\"/>',fitzpatrick_scale:false,category:\"people\"},crown:{keywords:[\"king\",\"kod\",\"leader\",\"royalty\",\"lord\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👑\" src=\"1f451.png\"/>',fitzpatrick_scale:false,category:\"people\"},school_satchel:{keywords:[\"student\",\"education\",\"bag\",\"backpack\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎒\" src=\"1f392.png\"/>',fitzpatrick_scale:false,category:\"people\"},luggage:{keywords:[\"packing\",\"travel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧳\" src=\"1f9f3.png\"/>',fitzpatrick_scale:false,category:\"people\"},pouch:{keywords:[\"bag\",\"accessories\",\"shopping\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👝\" src=\"1f45d.png\"/>',fitzpatrick_scale:false,category:\"people\"},purse:{keywords:[\"fashion\",\"accessories\",\"money\",\"sales\",\"shopping\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👛\" src=\"1f45b.png\"/>',fitzpatrick_scale:false,category:\"people\"},handbag:{keywords:[\"fashion\",\"accessory\",\"accessories\",\"shopping\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👜\" src=\"1f45c.png\"/>',fitzpatrick_scale:false,category:\"people\"},briefcase:{keywords:[\"business\",\"documents\",\"work\",\"law\",\"legal\",\"job\",\"career\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💼\" src=\"1f4bc.png\"/>',fitzpatrick_scale:false,category:\"people\"},eyeglasses:{keywords:[\"fashion\",\"accessories\",\"eyesight\",\"nerdy\",\"dork\",\"geek\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👓\" src=\"1f453.png\"/>',fitzpatrick_scale:false,category:\"people\"},dark_sunglasses:{keywords:[\"face\",\"cool\",\"accessories\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕶\" src=\"1f576.png\"/>',fitzpatrick_scale:false,category:\"people\"},goggles:{keywords:[\"eyes\",\"protection\",\"safety\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥽\" src=\"1f97d.png\"/>',fitzpatrick_scale:false,category:\"people\"},ring:{keywords:[\"wedding\",\"propose\",\"marriage\",\"valentines\",\"diamond\",\"fashion\",\"jewelry\",\"gem\",\"engagement\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💍\" src=\"1f48d.png\"/>',fitzpatrick_scale:false,category:\"people\"},closed_umbrella:{keywords:[\"weather\",\"rain\",\"drizzle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌂\" src=\"1f302.png\"/>',fitzpatrick_scale:false,category:\"people\"},dog:{keywords:[\"animal\",\"friend\",\"nature\",\"woof\",\"puppy\",\"pet\",\"faithful\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐶\" src=\"1f436.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cat:{keywords:[\"animal\",\"meow\",\"nature\",\"pet\",\"kitten\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐱\" src=\"1f431.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},mouse:{keywords:[\"animal\",\"nature\",\"cheese_wedge\",\"rodent\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐭\" src=\"1f42d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},hamster:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐹\" src=\"1f439.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},rabbit:{keywords:[\"animal\",\"nature\",\"pet\",\"spring\",\"magic\",\"bunny\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐰\" src=\"1f430.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},fox_face:{keywords:[\"animal\",\"nature\",\"face\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦊\" src=\"1f98a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},bear:{keywords:[\"animal\",\"nature\",\"wild\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐻\" src=\"1f43b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},panda_face:{keywords:[\"animal\",\"nature\",\"panda\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐼\" src=\"1f43c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},koala:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐨\" src=\"1f428.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},tiger:{keywords:[\"animal\",\"cat\",\"danger\",\"wild\",\"nature\",\"roar\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐯\" src=\"1f42f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},lion:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦁\" src=\"1f981.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cow:{keywords:[\"beef\",\"ox\",\"animal\",\"nature\",\"moo\",\"milk\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐮\" src=\"1f42e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},pig:{keywords:[\"animal\",\"oink\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐷\" src=\"1f437.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},pig_nose:{keywords:[\"animal\",\"oink\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐽\" src=\"1f43d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},frog:{keywords:[\"animal\",\"nature\",\"croak\",\"toad\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐸\" src=\"1f438.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},squid:{keywords:[\"animal\",\"nature\",\"ocean\",\"sea\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦑\" src=\"1f991.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},octopus:{keywords:[\"animal\",\"creature\",\"ocean\",\"sea\",\"nature\",\"beach\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐙\" src=\"1f419.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},shrimp:{keywords:[\"animal\",\"ocean\",\"nature\",\"seafood\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦐\" src=\"1f990.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},monkey_face:{keywords:[\"animal\",\"nature\",\"circus\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐵\" src=\"1f435.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},gorilla:{keywords:[\"animal\",\"nature\",\"circus\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦍\" src=\"1f98d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},see_no_evil:{keywords:[\"monkey\",\"animal\",\"nature\",\"haha\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙈\" src=\"1f648.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},hear_no_evil:{keywords:[\"animal\",\"monkey\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙉\" src=\"1f649.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},speak_no_evil:{keywords:[\"monkey\",\"animal\",\"nature\",\"omg\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🙊\" src=\"1f64a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},monkey:{keywords:[\"animal\",\"nature\",\"banana\",\"circus\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐒\" src=\"1f412.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},chicken:{keywords:[\"animal\",\"cluck\",\"nature\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐔\" src=\"1f414.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},penguin:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐧\" src=\"1f427.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},bird:{keywords:[\"animal\",\"nature\",\"fly\",\"tweet\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐦\" src=\"1f426.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},baby_chick:{keywords:[\"animal\",\"chicken\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐤\" src=\"1f424.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},hatching_chick:{keywords:[\"animal\",\"chicken\",\"egg\",\"born\",\"baby\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐣\" src=\"1f423.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},hatched_chick:{keywords:[\"animal\",\"chicken\",\"baby\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐥\" src=\"1f425.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},duck:{keywords:[\"animal\",\"nature\",\"bird\",\"mallard\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦆\" src=\"1f986.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},eagle:{keywords:[\"animal\",\"nature\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦅\" src=\"1f985.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},owl:{keywords:[\"animal\",\"nature\",\"bird\",\"hoot\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦉\" src=\"1f989.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},bat:{keywords:[\"animal\",\"nature\",\"blind\",\"vampire\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦇\" src=\"1f987.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},wolf:{keywords:[\"animal\",\"nature\",\"wild\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐺\" src=\"1f43a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},boar:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐗\" src=\"1f417.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},horse:{keywords:[\"animal\",\"brown\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐴\" src=\"1f434.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},unicorn:{keywords:[\"animal\",\"nature\",\"mystical\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦄\" src=\"1f984.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},honeybee:{keywords:[\"animal\",\"insect\",\"nature\",\"bug\",\"spring\",\"honey\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐝\" src=\"1f41d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},bug:{keywords:[\"animal\",\"insect\",\"nature\",\"worm\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐛\" src=\"1f41b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},butterfly:{keywords:[\"animal\",\"insect\",\"nature\",\"caterpillar\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦋\" src=\"1f98b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},snail:{keywords:[\"slow\",\"animal\",\"shell\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐌\" src=\"1f40c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},beetle:{keywords:[\"animal\",\"insect\",\"nature\",\"ladybug\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐞\" src=\"1f41e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},ant:{keywords:[\"animal\",\"insect\",\"nature\",\"bug\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐜\" src=\"1f41c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},grasshopper:{keywords:[\"animal\",\"cricket\",\"chirp\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦗\" src=\"1f997.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},spider:{keywords:[\"animal\",\"arachnid\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕷\" src=\"1f577.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},scorpion:{keywords:[\"animal\",\"arachnid\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦂\" src=\"1f982.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},crab:{keywords:[\"animal\",\"crustacean\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦀\" src=\"1f980.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},snake:{keywords:[\"animal\",\"evil\",\"nature\",\"hiss\",\"python\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐍\" src=\"1f40d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},lizard:{keywords:[\"animal\",\"nature\",\"reptile\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦎\" src=\"1f98e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},\"t-rex\":{keywords:[\"animal\",\"nature\",\"dinosaur\",\"tyrannosaurus\",\"extinct\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦖\" src=\"1f996.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sauropod:{keywords:[\"animal\",\"nature\",\"dinosaur\",\"brachiosaurus\",\"brontosaurus\",\"diplodocus\",\"extinct\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦕\" src=\"1f995.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},turtle:{keywords:[\"animal\",\"slow\",\"nature\",\"tortoise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐢\" src=\"1f422.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},tropical_fish:{keywords:[\"animal\",\"swim\",\"ocean\",\"beach\",\"nemo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐠\" src=\"1f420.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},fish:{keywords:[\"animal\",\"food\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐟\" src=\"1f41f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},blowfish:{keywords:[\"animal\",\"nature\",\"food\",\"sea\",\"ocean\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐡\" src=\"1f421.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},dolphin:{keywords:[\"animal\",\"nature\",\"fish\",\"sea\",\"ocean\",\"flipper\",\"fins\",\"beach\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐬\" src=\"1f42c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},shark:{keywords:[\"animal\",\"nature\",\"fish\",\"sea\",\"ocean\",\"jaws\",\"fins\",\"beach\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦈\" src=\"1f988.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},whale:{keywords:[\"animal\",\"nature\",\"sea\",\"ocean\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐳\" src=\"1f433.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},whale2:{keywords:[\"animal\",\"nature\",\"sea\",\"ocean\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐋\" src=\"1f40b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},crocodile:{keywords:[\"animal\",\"nature\",\"reptile\",\"lizard\",\"alligator\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐊\" src=\"1f40a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},leopard:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐆\" src=\"1f406.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},zebra:{keywords:[\"animal\",\"nature\",\"stripes\",\"safari\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦓\" src=\"1f993.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},tiger2:{keywords:[\"animal\",\"nature\",\"roar\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐅\" src=\"1f405.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},water_buffalo:{keywords:[\"animal\",\"nature\",\"ox\",\"cow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐃\" src=\"1f403.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},ox:{keywords:[\"animal\",\"cow\",\"beef\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐂\" src=\"1f402.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cow2:{keywords:[\"beef\",\"ox\",\"animal\",\"nature\",\"moo\",\"milk\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐄\" src=\"1f404.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},deer:{keywords:[\"animal\",\"nature\",\"horns\",\"venison\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦌\" src=\"1f98c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},dromedary_camel:{keywords:[\"animal\",\"hot\",\"desert\",\"hump\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐪\" src=\"1f42a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},camel:{keywords:[\"animal\",\"nature\",\"hot\",\"desert\",\"hump\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐫\" src=\"1f42b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},giraffe:{keywords:[\"animal\",\"nature\",\"spots\",\"safari\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦒\" src=\"1f992.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},elephant:{keywords:[\"animal\",\"nature\",\"nose\",\"th\",\"circus\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐘\" src=\"1f418.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},rhinoceros:{keywords:[\"animal\",\"nature\",\"horn\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦏\" src=\"1f98f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},goat:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐐\" src=\"1f410.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},ram:{keywords:[\"animal\",\"sheep\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐏\" src=\"1f40f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sheep:{keywords:[\"animal\",\"nature\",\"wool\",\"shipit\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐑\" src=\"1f411.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},racehorse:{keywords:[\"animal\",\"gamble\",\"luck\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐎\" src=\"1f40e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},pig2:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐖\" src=\"1f416.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},rat:{keywords:[\"animal\",\"mouse\",\"rodent\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐀\" src=\"1f400.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},mouse2:{keywords:[\"animal\",\"nature\",\"rodent\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐁\" src=\"1f401.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},rooster:{keywords:[\"animal\",\"nature\",\"chicken\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐓\" src=\"1f413.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},turkey:{keywords:[\"animal\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦃\" src=\"1f983.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},dove:{keywords:[\"animal\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕊\" src=\"1f54a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},dog2:{keywords:[\"animal\",\"nature\",\"friend\",\"doge\",\"pet\",\"faithful\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐕\" src=\"1f415.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},poodle:{keywords:[\"dog\",\"animal\",\"101\",\"nature\",\"pet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐩\" src=\"1f429.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cat2:{keywords:[\"animal\",\"meow\",\"pet\",\"cats\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐈\" src=\"1f408.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},rabbit2:{keywords:[\"animal\",\"nature\",\"pet\",\"magic\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐇\" src=\"1f407.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},chipmunk:{keywords:[\"animal\",\"nature\",\"rodent\",\"squirrel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐿\" src=\"1f43f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},hedgehog:{keywords:[\"animal\",\"nature\",\"spiny\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦔\" src=\"1f994.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},raccoon:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦝\" src=\"1f99d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},llama:{keywords:[\"animal\",\"nature\",\"alpaca\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦙\" src=\"1f999.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},hippopotamus:{keywords:[\"animal\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦛\" src=\"1f99b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},kangaroo:{keywords:[\"animal\",\"nature\",\"australia\",\"joey\",\"hop\",\"marsupial\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦘\" src=\"1f998.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},badger:{keywords:[\"animal\",\"nature\",\"honey\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦡\" src=\"1f9a1.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},swan:{keywords:[\"animal\",\"nature\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦢\" src=\"1f9a2.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},peacock:{keywords:[\"animal\",\"nature\",\"peahen\",\"bird\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦚\" src=\"1f99a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},parrot:{keywords:[\"animal\",\"nature\",\"bird\",\"pirate\",\"talk\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦜\" src=\"1f99c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},lobster:{keywords:[\"animal\",\"nature\",\"bisque\",\"claws\",\"seafood\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦞\" src=\"1f99e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},mosquito:{keywords:[\"animal\",\"nature\",\"insect\",\"malaria\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦟\" src=\"1f99f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},paw_prints:{keywords:[\"animal\",\"tracking\",\"footprints\",\"dog\",\"cat\",\"pet\",\"feet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐾\" src=\"1f43e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},dragon:{keywords:[\"animal\",\"myth\",\"nature\",\"chinese\",\"green\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐉\" src=\"1f409.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},dragon_face:{keywords:[\"animal\",\"myth\",\"nature\",\"chinese\",\"green\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐲\" src=\"1f432.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cactus:{keywords:[\"vegetable\",\"plant\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌵\" src=\"1f335.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},christmas_tree:{keywords:[\"festival\",\"vacation\",\"december\",\"xmas\",\"celebration\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎄\" src=\"1f384.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},evergreen_tree:{keywords:[\"plant\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌲\" src=\"1f332.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},deciduous_tree:{keywords:[\"plant\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌳\" src=\"1f333.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},palm_tree:{keywords:[\"plant\",\"vegetable\",\"nature\",\"summer\",\"beach\",\"mojito\",\"tropical\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌴\" src=\"1f334.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},seedling:{keywords:[\"plant\",\"nature\",\"grass\",\"lawn\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌱\" src=\"1f331.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},herb:{keywords:[\"vegetable\",\"plant\",\"medicine\",\"weed\",\"grass\",\"lawn\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌿\" src=\"1f33f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},shamrock:{keywords:[\"vegetable\",\"plant\",\"nature\",\"irish\",\"clover\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☘\" src=\"2618.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},four_leaf_clover:{keywords:[\"vegetable\",\"plant\",\"nature\",\"lucky\",\"irish\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍀\" src=\"1f340.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},bamboo:{keywords:[\"plant\",\"nature\",\"vegetable\",\"panda\",\"pine_decoration\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎍\" src=\"1f38d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},tanabata_tree:{keywords:[\"plant\",\"nature\",\"branch\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎋\" src=\"1f38b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},leaves:{keywords:[\"nature\",\"plant\",\"tree\",\"vegetable\",\"grass\",\"lawn\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍃\" src=\"1f343.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},fallen_leaf:{keywords:[\"nature\",\"plant\",\"vegetable\",\"leaves\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍂\" src=\"1f342.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},maple_leaf:{keywords:[\"nature\",\"plant\",\"vegetable\",\"ca\",\"fall\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍁\" src=\"1f341.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},ear_of_rice:{keywords:[\"nature\",\"plant\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌾\" src=\"1f33e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},hibiscus:{keywords:[\"plant\",\"vegetable\",\"flowers\",\"beach\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌺\" src=\"1f33a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sunflower:{keywords:[\"nature\",\"plant\",\"fall\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌻\" src=\"1f33b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},rose:{keywords:[\"flowers\",\"valentines\",\"love\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌹\" src=\"1f339.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},wilted_flower:{keywords:[\"plant\",\"nature\",\"flower\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥀\" src=\"1f940.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},tulip:{keywords:[\"flowers\",\"plant\",\"nature\",\"summer\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌷\" src=\"1f337.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},blossom:{keywords:[\"nature\",\"flowers\",\"yellow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌼\" src=\"1f33c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cherry_blossom:{keywords:[\"nature\",\"plant\",\"spring\",\"flower\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌸\" src=\"1f338.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},bouquet:{keywords:[\"flowers\",\"nature\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💐\" src=\"1f490.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},mushroom:{keywords:[\"plant\",\"vegetable\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍄\" src=\"1f344.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},chestnut:{keywords:[\"food\",\"squirrel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌰\" src=\"1f330.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},jack_o_lantern:{keywords:[\"halloween\",\"light\",\"pumpkin\",\"creepy\",\"fall\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎃\" src=\"1f383.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},shell:{keywords:[\"nature\",\"sea\",\"beach\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🐚\" src=\"1f41a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},spider_web:{keywords:[\"animal\",\"insect\",\"arachnid\",\"silk\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕸\" src=\"1f578.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},earth_americas:{keywords:[\"globe\",\"world\",\"USA\",\"international\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌎\" src=\"1f30e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},earth_africa:{keywords:[\"globe\",\"world\",\"international\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌍\" src=\"1f30d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},earth_asia:{keywords:[\"globe\",\"world\",\"east\",\"international\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌏\" src=\"1f30f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},full_moon:{keywords:[\"nature\",\"yellow\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌕\" src=\"1f315.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},waning_gibbous_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\",\"waxing_gibbous_moon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌖\" src=\"1f316.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},last_quarter_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌗\" src=\"1f317.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},waning_crescent_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌘\" src=\"1f318.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},new_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌑\" src=\"1f311.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},waxing_crescent_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌒\" src=\"1f312.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},first_quarter_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌓\" src=\"1f313.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},waxing_gibbous_moon:{keywords:[\"nature\",\"night\",\"sky\",\"gray\",\"twilight\",\"planet\",\"space\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌔\" src=\"1f314.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},new_moon_with_face:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌚\" src=\"1f31a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},full_moon_with_face:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌝\" src=\"1f31d.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},first_quarter_moon_with_face:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌛\" src=\"1f31b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},last_quarter_moon_with_face:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌜\" src=\"1f31c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sun_with_face:{keywords:[\"nature\",\"morning\",\"sky\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌞\" src=\"1f31e.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},crescent_moon:{keywords:[\"night\",\"sleep\",\"sky\",\"evening\",\"magic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌙\" src=\"1f319.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},star:{keywords:[\"night\",\"yellow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⭐\" src=\"2b50.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},star2:{keywords:[\"night\",\"sparkle\",\"awesome\",\"good\",\"magic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌟\" src=\"1f31f.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},dizzy:{keywords:[\"star\",\"sparkle\",\"shoot\",\"magic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💫\" src=\"1f4ab.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sparkles:{keywords:[\"stars\",\"shine\",\"shiny\",\"cool\",\"awesome\",\"good\",\"magic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✨\" src=\"2728.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},comet:{keywords:[\"space\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☄\" src=\"2604.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sunny:{keywords:[\"weather\",\"nature\",\"brightness\",\"summer\",\"beach\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☀️\" src=\"2600.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sun_behind_small_cloud:{keywords:[\"weather\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌤\" src=\"1f324.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},partly_sunny:{keywords:[\"weather\",\"nature\",\"cloudy\",\"morning\",\"fall\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛅\" src=\"26c5.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sun_behind_large_cloud:{keywords:[\"weather\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌥\" src=\"1f325.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sun_behind_rain_cloud:{keywords:[\"weather\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌦\" src=\"1f326.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud:{keywords:[\"weather\",\"sky\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☁️\" src=\"2601.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud_with_rain:{keywords:[\"weather\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌧\" src=\"1f327.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud_with_lightning_and_rain:{keywords:[\"weather\",\"lightning\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛈\" src=\"26c8.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud_with_lightning:{keywords:[\"weather\",\"thunder\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌩\" src=\"1f329.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},zap:{keywords:[\"thunder\",\"weather\",\"lightning bolt\",\"fast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚡\" src=\"26a1.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},fire:{keywords:[\"hot\",\"cook\",\"flame\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔥\" src=\"1f525.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},boom:{keywords:[\"bomb\",\"explode\",\"explosion\",\"collision\",\"blown\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💥\" src=\"1f4a5.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},snowflake:{keywords:[\"winter\",\"season\",\"cold\",\"weather\",\"christmas\",\"xmas\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❄️\" src=\"2744.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud_with_snow:{keywords:[\"weather\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌨\" src=\"1f328.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},snowman:{keywords:[\"winter\",\"season\",\"cold\",\"weather\",\"christmas\",\"xmas\",\"frozen\",\"without_snow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛄\" src=\"26c4.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},snowman_with_snow:{keywords:[\"winter\",\"season\",\"cold\",\"weather\",\"christmas\",\"xmas\",\"frozen\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☃\" src=\"2603.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},wind_face:{keywords:[\"gust\",\"air\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌬\" src=\"1f32c.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},dash:{keywords:[\"wind\",\"air\",\"fast\",\"shoo\",\"fart\",\"smoke\",\"puff\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💨\" src=\"1f4a8.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},tornado:{keywords:[\"weather\",\"cyclone\",\"twister\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌪\" src=\"1f32a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},fog:{keywords:[\"weather\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌫\" src=\"1f32b.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},open_umbrella:{keywords:[\"weather\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☂\" src=\"2602.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},umbrella:{keywords:[\"rainy\",\"weather\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☔\" src=\"2614.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},droplet:{keywords:[\"water\",\"drip\",\"faucet\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💧\" src=\"1f4a7.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},sweat_drops:{keywords:[\"water\",\"drip\",\"oops\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💦\" src=\"1f4a6.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},ocean:{keywords:[\"sea\",\"water\",\"wave\",\"nature\",\"tsunami\",\"disaster\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌊\" src=\"1f30a.png\"/>',fitzpatrick_scale:false,category:\"animals_and_nature\"},green_apple:{keywords:[\"fruit\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍏\" src=\"1f34f.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},apple:{keywords:[\"fruit\",\"mac\",\"school\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍎\" src=\"1f34e.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},pear:{keywords:[\"fruit\",\"nature\",\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍐\" src=\"1f350.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},tangerine:{keywords:[\"food\",\"fruit\",\"nature\",\"orange\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍊\" src=\"1f34a.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},lemon:{keywords:[\"fruit\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍋\" src=\"1f34b.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},banana:{keywords:[\"fruit\",\"food\",\"monkey\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍌\" src=\"1f34c.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},watermelon:{keywords:[\"fruit\",\"food\",\"picnic\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍉\" src=\"1f349.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},grapes:{keywords:[\"fruit\",\"food\",\"wine\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍇\" src=\"1f347.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},strawberry:{keywords:[\"fruit\",\"food\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍓\" src=\"1f353.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},melon:{keywords:[\"fruit\",\"nature\",\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍈\" src=\"1f348.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},cherries:{keywords:[\"food\",\"fruit\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍒\" src=\"1f352.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},peach:{keywords:[\"fruit\",\"nature\",\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍑\" src=\"1f351.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},pineapple:{keywords:[\"fruit\",\"nature\",\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍍\" src=\"1f34d.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},coconut:{keywords:[\"fruit\",\"nature\",\"food\",\"palm\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥥\" src=\"1f965.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},kiwi_fruit:{keywords:[\"fruit\",\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥝\" src=\"1f95d.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},mango:{keywords:[\"fruit\",\"food\",\"tropical\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥭\" src=\"1f96d.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},avocado:{keywords:[\"fruit\",\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥑\" src=\"1f951.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},broccoli:{keywords:[\"fruit\",\"food\",\"vegetable\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥦\" src=\"1f966.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},tomato:{keywords:[\"fruit\",\"vegetable\",\"nature\",\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍅\" src=\"1f345.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},eggplant:{keywords:[\"vegetable\",\"nature\",\"food\",\"aubergine\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍆\" src=\"1f346.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},cucumber:{keywords:[\"fruit\",\"food\",\"pickle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥒\" src=\"1f952.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},carrot:{keywords:[\"vegetable\",\"food\",\"orange\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥕\" src=\"1f955.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},hot_pepper:{keywords:[\"food\",\"spicy\",\"chilli\",\"chili\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌶\" src=\"1f336.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},potato:{keywords:[\"food\",\"tuber\",\"vegatable\",\"starch\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥔\" src=\"1f954.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},corn:{keywords:[\"food\",\"vegetable\",\"plant\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌽\" src=\"1f33d.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},leafy_greens:{keywords:[\"food\",\"vegetable\",\"plant\",\"bok choy\",\"cabbage\",\"kale\",\"lettuce\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥬\" src=\"1f96c.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},sweet_potato:{keywords:[\"food\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍠\" src=\"1f360.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},peanuts:{keywords:[\"food\",\"nut\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥜\" src=\"1f95c.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},honey_pot:{keywords:[\"bees\",\"sweet\",\"kitchen\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍯\" src=\"1f36f.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},croissant:{keywords:[\"food\",\"bread\",\"french\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥐\" src=\"1f950.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},bread:{keywords:[\"food\",\"wheat\",\"breakfast\",\"toast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍞\" src=\"1f35e.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},baguette_bread:{keywords:[\"food\",\"bread\",\"french\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥖\" src=\"1f956.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},bagel:{keywords:[\"food\",\"bread\",\"bakery\",\"schmear\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥯\" src=\"1f96f.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},pretzel:{keywords:[\"food\",\"bread\",\"twisted\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥨\" src=\"1f968.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},cheese:{keywords:[\"food\",\"chadder\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧀\" src=\"1f9c0.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},egg:{keywords:[\"food\",\"chicken\",\"breakfast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥚\" src=\"1f95a.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},bacon:{keywords:[\"food\",\"breakfast\",\"pork\",\"pig\",\"meat\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥓\" src=\"1f953.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},steak:{keywords:[\"food\",\"cow\",\"meat\",\"cut\",\"chop\",\"lambchop\",\"porkchop\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥩\" src=\"1f969.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},pancakes:{keywords:[\"food\",\"breakfast\",\"flapjacks\",\"hotcakes\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥞\" src=\"1f95e.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},poultry_leg:{keywords:[\"food\",\"meat\",\"drumstick\",\"bird\",\"chicken\",\"turkey\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍗\" src=\"1f357.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},meat_on_bone:{keywords:[\"good\",\"food\",\"drumstick\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍖\" src=\"1f356.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},bone:{keywords:[\"skeleton\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦴\" src=\"1f9b4.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},fried_shrimp:{keywords:[\"food\",\"animal\",\"appetizer\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍤\" src=\"1f364.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},fried_egg:{keywords:[\"food\",\"breakfast\",\"kitchen\",\"egg\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍳\" src=\"1f373.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},hamburger:{keywords:[\"meat\",\"fast food\",\"beef\",\"cheeseburger\",\"mcdonalds\",\"burger king\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍔\" src=\"1f354.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},fries:{keywords:[\"chips\",\"snack\",\"fast food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍟\" src=\"1f35f.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},stuffed_flatbread:{keywords:[\"food\",\"flatbread\",\"stuffed\",\"gyro\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥙\" src=\"1f959.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},hotdog:{keywords:[\"food\",\"frankfurter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌭\" src=\"1f32d.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},pizza:{keywords:[\"food\",\"party\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍕\" src=\"1f355.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},sandwich:{keywords:[\"food\",\"lunch\",\"bread\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥪\" src=\"1f96a.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},canned_food:{keywords:[\"food\",\"soup\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥫\" src=\"1f96b.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},spaghetti:{keywords:[\"food\",\"italian\",\"noodle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍝\" src=\"1f35d.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},taco:{keywords:[\"food\",\"mexican\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌮\" src=\"1f32e.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},burrito:{keywords:[\"food\",\"mexican\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌯\" src=\"1f32f.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},green_salad:{keywords:[\"food\",\"healthy\",\"lettuce\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥗\" src=\"1f957.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},shallow_pan_of_food:{keywords:[\"food\",\"cooking\",\"casserole\",\"paella\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥘\" src=\"1f958.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},ramen:{keywords:[\"food\",\"japanese\",\"noodle\",\"chopsticks\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍜\" src=\"1f35c.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},stew:{keywords:[\"food\",\"meat\",\"soup\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍲\" src=\"1f372.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},fish_cake:{keywords:[\"food\",\"japan\",\"sea\",\"beach\",\"narutomaki\",\"pink\",\"swirl\",\"kamaboko\",\"surimi\",\"ramen\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍥\" src=\"1f365.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},fortune_cookie:{keywords:[\"food\",\"prophecy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥠\" src=\"1f960.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},sushi:{keywords:[\"food\",\"fish\",\"japanese\",\"rice\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍣\" src=\"1f363.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},bento:{keywords:[\"food\",\"japanese\",\"box\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍱\" src=\"1f371.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},curry:{keywords:[\"food\",\"spicy\",\"hot\",\"indian\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍛\" src=\"1f35b.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},rice_ball:{keywords:[\"food\",\"japanese\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍙\" src=\"1f359.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},rice:{keywords:[\"food\",\"china\",\"asian\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍚\" src=\"1f35a.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},rice_cracker:{keywords:[\"food\",\"japanese\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍘\" src=\"1f358.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},oden:{keywords:[\"food\",\"japanese\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍢\" src=\"1f362.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},dango:{keywords:[\"food\",\"dessert\",\"sweet\",\"japanese\",\"barbecue\",\"meat\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍡\" src=\"1f361.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},shaved_ice:{keywords:[\"hot\",\"dessert\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍧\" src=\"1f367.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},ice_cream:{keywords:[\"food\",\"hot\",\"dessert\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍨\" src=\"1f368.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},icecream:{keywords:[\"food\",\"hot\",\"dessert\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍦\" src=\"1f366.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},pie:{keywords:[\"food\",\"dessert\",\"pastry\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥧\" src=\"1f967.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},cake:{keywords:[\"food\",\"dessert\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍰\" src=\"1f370.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},cupcake:{keywords:[\"food\",\"dessert\",\"bakery\",\"sweet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧁\" src=\"1f9c1.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},moon_cake:{keywords:[\"food\",\"autumn\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥮\" src=\"1f96e.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},birthday:{keywords:[\"food\",\"dessert\",\"cake\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎂\" src=\"1f382.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},custard:{keywords:[\"dessert\",\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍮\" src=\"1f36e.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},candy:{keywords:[\"snack\",\"dessert\",\"sweet\",\"lolly\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍬\" src=\"1f36c.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},lollipop:{keywords:[\"food\",\"snack\",\"candy\",\"sweet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍭\" src=\"1f36d.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},chocolate_bar:{keywords:[\"food\",\"snack\",\"dessert\",\"sweet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍫\" src=\"1f36b.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},popcorn:{keywords:[\"food\",\"movie theater\",\"films\",\"snack\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍿\" src=\"1f37f.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},dumpling:{keywords:[\"food\",\"empanada\",\"pierogi\",\"potsticker\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥟\" src=\"1f95f.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},doughnut:{keywords:[\"food\",\"dessert\",\"snack\",\"sweet\",\"donut\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍩\" src=\"1f369.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},cookie:{keywords:[\"food\",\"snack\",\"oreo\",\"chocolate\",\"sweet\",\"dessert\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍪\" src=\"1f36a.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},milk_glass:{keywords:[\"beverage\",\"drink\",\"cow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥛\" src=\"1f95b.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},beer:{keywords:[\"relax\",\"beverage\",\"drink\",\"drunk\",\"party\",\"pub\",\"summer\",\"alcohol\",\"booze\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍺\" src=\"1f37a.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},beers:{keywords:[\"relax\",\"beverage\",\"drink\",\"drunk\",\"party\",\"pub\",\"summer\",\"alcohol\",\"booze\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍻\" src=\"1f37b.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},clinking_glasses:{keywords:[\"beverage\",\"drink\",\"party\",\"alcohol\",\"celebrate\",\"cheers\",\"wine\",\"champagne\",\"toast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥂\" src=\"1f942.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},wine_glass:{keywords:[\"drink\",\"beverage\",\"drunk\",\"alcohol\",\"booze\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍷\" src=\"1f377.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},tumbler_glass:{keywords:[\"drink\",\"beverage\",\"drunk\",\"alcohol\",\"liquor\",\"booze\",\"bourbon\",\"scotch\",\"whisky\",\"glass\",\"shot\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥃\" src=\"1f943.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},cocktail:{keywords:[\"drink\",\"drunk\",\"alcohol\",\"beverage\",\"booze\",\"mojito\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍸\" src=\"1f378.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},tropical_drink:{keywords:[\"beverage\",\"cocktail\",\"summer\",\"beach\",\"alcohol\",\"booze\",\"mojito\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍹\" src=\"1f379.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},champagne:{keywords:[\"drink\",\"wine\",\"bottle\",\"celebration\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍾\" src=\"1f37e.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},sake:{keywords:[\"wine\",\"drink\",\"drunk\",\"beverage\",\"japanese\",\"alcohol\",\"booze\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍶\" src=\"1f376.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},tea:{keywords:[\"drink\",\"bowl\",\"breakfast\",\"green\",\"british\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍵\" src=\"1f375.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},cup_with_straw:{keywords:[\"drink\",\"soda\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥤\" src=\"1f964.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},coffee:{keywords:[\"beverage\",\"caffeine\",\"latte\",\"espresso\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☕\" src=\"2615.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},baby_bottle:{keywords:[\"food\",\"container\",\"milk\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍼\" src=\"1f37c.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},salt:{keywords:[\"condiment\",\"shaker\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧂\" src=\"1f9c2.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},spoon:{keywords:[\"cutlery\",\"kitchen\",\"tableware\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥄\" src=\"1f944.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},fork_and_knife:{keywords:[\"cutlery\",\"kitchen\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍴\" src=\"1f374.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},plate_with_cutlery:{keywords:[\"food\",\"eat\",\"meal\",\"lunch\",\"dinner\",\"restaurant\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🍽\" src=\"1f37d.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},bowl_with_spoon:{keywords:[\"food\",\"breakfast\",\"cereal\",\"oatmeal\",\"porridge\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥣\" src=\"1f963.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},takeout_box:{keywords:[\"food\",\"leftovers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥡\" src=\"1f961.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},chopsticks:{keywords:[\"food\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥢\" src=\"1f962.png\"/>',fitzpatrick_scale:false,category:\"food_and_drink\"},soccer:{keywords:[\"sports\",\"football\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚽\" src=\"26bd.png\"/>',fitzpatrick_scale:false,category:\"activity\"},basketball:{keywords:[\"sports\",\"balls\",\"NBA\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏀\" src=\"1f3c0.png\"/>',fitzpatrick_scale:false,category:\"activity\"},football:{keywords:[\"sports\",\"balls\",\"NFL\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏈\" src=\"1f3c8.png\"/>',fitzpatrick_scale:false,category:\"activity\"},baseball:{keywords:[\"sports\",\"balls\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚾\" src=\"26be.png\"/>',fitzpatrick_scale:false,category:\"activity\"},softball:{keywords:[\"sports\",\"balls\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥎\" src=\"1f94e.png\"/>',fitzpatrick_scale:false,category:\"activity\"},tennis:{keywords:[\"sports\",\"balls\",\"green\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎾\" src=\"1f3be.png\"/>',fitzpatrick_scale:false,category:\"activity\"},volleyball:{keywords:[\"sports\",\"balls\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏐\" src=\"1f3d0.png\"/>',fitzpatrick_scale:false,category:\"activity\"},rugby_football:{keywords:[\"sports\",\"team\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏉\" src=\"1f3c9.png\"/>',fitzpatrick_scale:false,category:\"activity\"},flying_disc:{keywords:[\"sports\",\"frisbee\",\"ultimate\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥏\" src=\"1f94f.png\"/>',fitzpatrick_scale:false,category:\"activity\"},\"8ball\":{keywords:[\"pool\",\"hobby\",\"game\",\"luck\",\"magic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎱\" src=\"1f3b1.png\"/>',fitzpatrick_scale:false,category:\"activity\"},golf:{keywords:[\"sports\",\"business\",\"flag\",\"hole\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛳\" src=\"26f3.png\"/>',fitzpatrick_scale:false,category:\"activity\"},golfing_woman:{keywords:[\"sports\",\"business\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏌️‍♀️\" src=\"1f3cc-fe0f-200d-2640-fe0f.png\"/>',fitzpatrick_scale:false,category:\"activity\"},golfing_man:{keywords:[\"sports\",\"business\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏌\" src=\"1f3cc.png\"/>',fitzpatrick_scale:true,category:\"activity\"},ping_pong:{keywords:[\"sports\",\"pingpong\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏓\" src=\"1f3d3.png\"/>',fitzpatrick_scale:false,category:\"activity\"},badminton:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏸\" src=\"1f3f8.png\"/>',fitzpatrick_scale:false,category:\"activity\"},goal_net:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥅\" src=\"1f945.png\"/>',fitzpatrick_scale:false,category:\"activity\"},ice_hockey:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏒\" src=\"1f3d2.png\"/>',fitzpatrick_scale:false,category:\"activity\"},field_hockey:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏑\" src=\"1f3d1.png\"/>',fitzpatrick_scale:false,category:\"activity\"},lacrosse:{keywords:[\"sports\",\"ball\",\"stick\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥍\" src=\"1f94d.png\"/>',fitzpatrick_scale:false,category:\"activity\"},cricket:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏏\" src=\"1f3cf.png\"/>',fitzpatrick_scale:false,category:\"activity\"},ski:{keywords:[\"sports\",\"winter\",\"cold\",\"snow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎿\" src=\"1f3bf.png\"/>',fitzpatrick_scale:false,category:\"activity\"},skier:{keywords:[\"sports\",\"winter\",\"snow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛷\" src=\"26f7.png\"/>',fitzpatrick_scale:false,category:\"activity\"},snowboarder:{keywords:[\"sports\",\"winter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏂\" src=\"1f3c2.png\"/>',fitzpatrick_scale:true,category:\"activity\"},person_fencing:{keywords:[\"sports\",\"fencing\",\"sword\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤺\" src=\"1f93a.png\"/>',fitzpatrick_scale:false,category:\"activity\"},women_wrestling:{keywords:[\"sports\",\"wrestlers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤼‍♀️\" src=\"1f93c-200d-2640-fe0f.png\"/>',fitzpatrick_scale:false,category:\"activity\"},men_wrestling:{keywords:[\"sports\",\"wrestlers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤼‍♂️\" src=\"1f93c-200d-2642-fe0f.png\"/>',fitzpatrick_scale:false,category:\"activity\"},woman_cartwheeling:{keywords:[\"gymnastics\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤸‍♀️\" src=\"1f938-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},man_cartwheeling:{keywords:[\"gymnastics\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤸‍♂️\" src=\"1f938-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},woman_playing_handball:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤾‍♀️\" src=\"1f93e-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},man_playing_handball:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤾‍♂️\" src=\"1f93e-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},ice_skate:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛸\" src=\"26f8.png\"/>',fitzpatrick_scale:false,category:\"activity\"},curling_stone:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥌\" src=\"1f94c.png\"/>',fitzpatrick_scale:false,category:\"activity\"},skateboard:{keywords:[\"board\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛹\" src=\"1f6f9.png\"/>',fitzpatrick_scale:false,category:\"activity\"},sled:{keywords:[\"sleigh\",\"luge\",\"toboggan\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛷\" src=\"1f6f7.png\"/>',fitzpatrick_scale:false,category:\"activity\"},bow_and_arrow:{keywords:[\"sports\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏹\" src=\"1f3f9.png\"/>',fitzpatrick_scale:false,category:\"activity\"},fishing_pole_and_fish:{keywords:[\"food\",\"hobby\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎣\" src=\"1f3a3.png\"/>',fitzpatrick_scale:false,category:\"activity\"},boxing_glove:{keywords:[\"sports\",\"fighting\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥊\" src=\"1f94a.png\"/>',fitzpatrick_scale:false,category:\"activity\"},martial_arts_uniform:{keywords:[\"judo\",\"karate\",\"taekwondo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥋\" src=\"1f94b.png\"/>',fitzpatrick_scale:false,category:\"activity\"},rowing_woman:{keywords:[\"sports\",\"hobby\",\"water\",\"ship\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚣‍♀️\" src=\"1f6a3-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},rowing_man:{keywords:[\"sports\",\"hobby\",\"water\",\"ship\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚣\" src=\"1f6a3.png\"/>',fitzpatrick_scale:true,category:\"activity\"},climbing_woman:{keywords:[\"sports\",\"hobby\",\"woman\",\"female\",\"rock\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧗‍♀️\" src=\"1f9d7-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},climbing_man:{keywords:[\"sports\",\"hobby\",\"man\",\"male\",\"rock\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧗‍♂️\" src=\"1f9d7-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},swimming_woman:{keywords:[\"sports\",\"exercise\",\"human\",\"athlete\",\"water\",\"summer\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏊‍♀️\" src=\"1f3ca-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},swimming_man:{keywords:[\"sports\",\"exercise\",\"human\",\"athlete\",\"water\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏊\" src=\"1f3ca.png\"/>',fitzpatrick_scale:true,category:\"activity\"},woman_playing_water_polo:{keywords:[\"sports\",\"pool\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤽‍♀️\" src=\"1f93d-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},man_playing_water_polo:{keywords:[\"sports\",\"pool\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤽‍♂️\" src=\"1f93d-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},woman_in_lotus_position:{keywords:[\"woman\",\"female\",\"meditation\",\"yoga\",\"serenity\",\"zen\",\"mindfulness\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧘‍♀️\" src=\"1f9d8-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},man_in_lotus_position:{keywords:[\"man\",\"male\",\"meditation\",\"yoga\",\"serenity\",\"zen\",\"mindfulness\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧘‍♂️\" src=\"1f9d8-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},surfing_woman:{keywords:[\"sports\",\"ocean\",\"sea\",\"summer\",\"beach\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏄‍♀️\" src=\"1f3c4-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},surfing_man:{keywords:[\"sports\",\"ocean\",\"sea\",\"summer\",\"beach\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏄\" src=\"1f3c4.png\"/>',fitzpatrick_scale:true,category:\"activity\"},bath:{keywords:[\"clean\",\"shower\",\"bathroom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛀\" src=\"1f6c0.png\"/>',fitzpatrick_scale:true,category:\"activity\"},basketball_woman:{keywords:[\"sports\",\"human\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛹️‍♀️\" src=\"26f9-fe0f-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},basketball_man:{keywords:[\"sports\",\"human\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛹\" src=\"26f9.png\"/>',fitzpatrick_scale:true,category:\"activity\"},weight_lifting_woman:{keywords:[\"sports\",\"training\",\"exercise\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏋️‍♀️\" src=\"1f3cb-fe0f-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},weight_lifting_man:{keywords:[\"sports\",\"training\",\"exercise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏋\" src=\"1f3cb.png\"/>',fitzpatrick_scale:true,category:\"activity\"},biking_woman:{keywords:[\"sports\",\"bike\",\"exercise\",\"hipster\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚴‍♀️\" src=\"1f6b4-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},biking_man:{keywords:[\"sports\",\"bike\",\"exercise\",\"hipster\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚴\" src=\"1f6b4.png\"/>',fitzpatrick_scale:true,category:\"activity\"},mountain_biking_woman:{keywords:[\"transportation\",\"sports\",\"human\",\"race\",\"bike\",\"woman\",\"female\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚵‍♀️\" src=\"1f6b5-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},mountain_biking_man:{keywords:[\"transportation\",\"sports\",\"human\",\"race\",\"bike\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚵\" src=\"1f6b5.png\"/>',fitzpatrick_scale:true,category:\"activity\"},horse_racing:{keywords:[\"animal\",\"betting\",\"competition\",\"gambling\",\"luck\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏇\" src=\"1f3c7.png\"/>',fitzpatrick_scale:true,category:\"activity\"},business_suit_levitating:{keywords:[\"suit\",\"business\",\"levitate\",\"hover\",\"jump\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕴\" src=\"1f574.png\"/>',fitzpatrick_scale:true,category:\"activity\"},trophy:{keywords:[\"win\",\"award\",\"contest\",\"place\",\"ftw\",\"ceremony\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏆\" src=\"1f3c6.png\"/>',fitzpatrick_scale:false,category:\"activity\"},running_shirt_with_sash:{keywords:[\"play\",\"pageant\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎽\" src=\"1f3bd.png\"/>',fitzpatrick_scale:false,category:\"activity\"},medal_sports:{keywords:[\"award\",\"winning\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏅\" src=\"1f3c5.png\"/>',fitzpatrick_scale:false,category:\"activity\"},medal_military:{keywords:[\"award\",\"winning\",\"army\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎖\" src=\"1f396.png\"/>',fitzpatrick_scale:false,category:\"activity\"},\"1st_place_medal\":{keywords:[\"award\",\"winning\",\"first\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥇\" src=\"1f947.png\"/>',fitzpatrick_scale:false,category:\"activity\"},\"2nd_place_medal\":{keywords:[\"award\",\"second\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥈\" src=\"1f948.png\"/>',fitzpatrick_scale:false,category:\"activity\"},\"3rd_place_medal\":{keywords:[\"award\",\"third\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥉\" src=\"1f949.png\"/>',fitzpatrick_scale:false,category:\"activity\"},reminder_ribbon:{keywords:[\"sports\",\"cause\",\"support\",\"awareness\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎗\" src=\"1f397.png\"/>',fitzpatrick_scale:false,category:\"activity\"},rosette:{keywords:[\"flower\",\"decoration\",\"military\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏵\" src=\"1f3f5.png\"/>',fitzpatrick_scale:false,category:\"activity\"},ticket:{keywords:[\"event\",\"concert\",\"pass\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎫\" src=\"1f3ab.png\"/>',fitzpatrick_scale:false,category:\"activity\"},tickets:{keywords:[\"sports\",\"concert\",\"entrance\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎟\" src=\"1f39f.png\"/>',fitzpatrick_scale:false,category:\"activity\"},performing_arts:{keywords:[\"acting\",\"theater\",\"drama\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎭\" src=\"1f3ad.png\"/>',fitzpatrick_scale:false,category:\"activity\"},art:{keywords:[\"design\",\"paint\",\"draw\",\"colors\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎨\" src=\"1f3a8.png\"/>',fitzpatrick_scale:false,category:\"activity\"},circus_tent:{keywords:[\"festival\",\"carnival\",\"party\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎪\" src=\"1f3aa.png\"/>',fitzpatrick_scale:false,category:\"activity\"},woman_juggling:{keywords:[\"juggle\",\"balance\",\"skill\",\"multitask\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤹‍♀️\" src=\"1f939-200d-2640-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},man_juggling:{keywords:[\"juggle\",\"balance\",\"skill\",\"multitask\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🤹‍♂️\" src=\"1f939-200d-2642-fe0f.png\"/>',fitzpatrick_scale:true,category:\"activity\"},microphone:{keywords:[\"sound\",\"music\",\"PA\",\"sing\",\"talkshow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎤\" src=\"1f3a4.png\"/>',fitzpatrick_scale:false,category:\"activity\"},headphones:{keywords:[\"music\",\"score\",\"gadgets\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎧\" src=\"1f3a7.png\"/>',fitzpatrick_scale:false,category:\"activity\"},musical_score:{keywords:[\"treble\",\"clef\",\"compose\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎼\" src=\"1f3bc.png\"/>',fitzpatrick_scale:false,category:\"activity\"},musical_keyboard:{keywords:[\"piano\",\"instrument\",\"compose\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎹\" src=\"1f3b9.png\"/>',fitzpatrick_scale:false,category:\"activity\"},drum:{keywords:[\"music\",\"instrument\",\"drumsticks\",\"snare\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🥁\" src=\"1f941.png\"/>',fitzpatrick_scale:false,category:\"activity\"},saxophone:{keywords:[\"music\",\"instrument\",\"jazz\",\"blues\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎷\" src=\"1f3b7.png\"/>',fitzpatrick_scale:false,category:\"activity\"},trumpet:{keywords:[\"music\",\"brass\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎺\" src=\"1f3ba.png\"/>',fitzpatrick_scale:false,category:\"activity\"},guitar:{keywords:[\"music\",\"instrument\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎸\" src=\"1f3b8.png\"/>',fitzpatrick_scale:false,category:\"activity\"},violin:{keywords:[\"music\",\"instrument\",\"orchestra\",\"symphony\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎻\" src=\"1f3bb.png\"/>',fitzpatrick_scale:false,category:\"activity\"},clapper:{keywords:[\"movie\",\"film\",\"record\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎬\" src=\"1f3ac.png\"/>',fitzpatrick_scale:false,category:\"activity\"},video_game:{keywords:[\"play\",\"console\",\"PS4\",\"controller\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎮\" src=\"1f3ae.png\"/>',fitzpatrick_scale:false,category:\"activity\"},space_invader:{keywords:[\"game\",\"arcade\",\"play\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"👾\" src=\"1f47e.png\"/>',fitzpatrick_scale:false,category:\"activity\"},dart:{keywords:[\"game\",\"play\",\"bar\",\"target\",\"bullseye\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎯\" src=\"1f3af.png\"/>',fitzpatrick_scale:false,category:\"activity\"},game_die:{keywords:[\"dice\",\"random\",\"tabletop\",\"play\",\"luck\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎲\" src=\"1f3b2.png\"/>',fitzpatrick_scale:false,category:\"activity\"},chess_pawn:{keywords:[\"expendable\"],char:\"♟\",fitzpatrick_scale:false,category:\"activity\"},slot_machine:{keywords:[\"bet\",\"gamble\",\"vegas\",\"fruit machine\",\"luck\",\"casino\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎰\" src=\"1f3b0.png\"/>',fitzpatrick_scale:false,category:\"activity\"},jigsaw:{keywords:[\"interlocking\",\"puzzle\",\"piece\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧩\" src=\"1f9e9.png\"/>',fitzpatrick_scale:false,category:\"activity\"},bowling:{keywords:[\"sports\",\"fun\",\"play\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎳\" src=\"1f3b3.png\"/>',fitzpatrick_scale:false,category:\"activity\"},red_car:{keywords:[\"red\",\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚗\" src=\"1f697.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},taxi:{keywords:[\"uber\",\"vehicle\",\"cars\",\"transportation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚕\" src=\"1f695.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},blue_car:{keywords:[\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚙\" src=\"1f699.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},bus:{keywords:[\"car\",\"vehicle\",\"transportation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚌\" src=\"1f68c.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},trolleybus:{keywords:[\"bart\",\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚎\" src=\"1f68e.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},racing_car:{keywords:[\"sports\",\"race\",\"fast\",\"formula\",\"f1\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏎\" src=\"1f3ce.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},police_car:{keywords:[\"vehicle\",\"cars\",\"transportation\",\"law\",\"legal\",\"enforcement\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚓\" src=\"1f693.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},ambulance:{keywords:[\"health\",\"911\",\"hospital\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚑\" src=\"1f691.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},fire_engine:{keywords:[\"transportation\",\"cars\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚒\" src=\"1f692.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},minibus:{keywords:[\"vehicle\",\"car\",\"transportation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚐\" src=\"1f690.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},truck:{keywords:[\"cars\",\"transportation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚚\" src=\"1f69a.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},articulated_lorry:{keywords:[\"vehicle\",\"cars\",\"transportation\",\"express\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚛\" src=\"1f69b.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},tractor:{keywords:[\"vehicle\",\"car\",\"farming\",\"agriculture\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚜\" src=\"1f69c.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},kick_scooter:{keywords:[\"vehicle\",\"kick\",\"razor\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛴\" src=\"1f6f4.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},motorcycle:{keywords:[\"race\",\"sports\",\"fast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏍\" src=\"1f3cd.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},bike:{keywords:[\"sports\",\"bicycle\",\"exercise\",\"hipster\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚲\" src=\"1f6b2.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},motor_scooter:{keywords:[\"vehicle\",\"vespa\",\"sasha\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛵\" src=\"1f6f5.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},rotating_light:{keywords:[\"police\",\"ambulance\",\"911\",\"emergency\",\"alert\",\"error\",\"pinged\",\"law\",\"legal\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚨\" src=\"1f6a8.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},oncoming_police_car:{keywords:[\"vehicle\",\"law\",\"legal\",\"enforcement\",\"911\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚔\" src=\"1f694.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},oncoming_bus:{keywords:[\"vehicle\",\"transportation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚍\" src=\"1f68d.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},oncoming_automobile:{keywords:[\"car\",\"vehicle\",\"transportation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚘\" src=\"1f698.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},oncoming_taxi:{keywords:[\"vehicle\",\"cars\",\"uber\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚖\" src=\"1f696.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},aerial_tramway:{keywords:[\"transportation\",\"vehicle\",\"ski\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚡\" src=\"1f6a1.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},mountain_cableway:{keywords:[\"transportation\",\"vehicle\",\"ski\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚠\" src=\"1f6a0.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},suspension_railway:{keywords:[\"vehicle\",\"transportation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚟\" src=\"1f69f.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},railway_car:{keywords:[\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚃\" src=\"1f683.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},train:{keywords:[\"transportation\",\"vehicle\",\"carriage\",\"public\",\"travel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚋\" src=\"1f68b.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},monorail:{keywords:[\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚝\" src=\"1f69d.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},bullettrain_side:{keywords:[\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚄\" src=\"1f684.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},bullettrain_front:{keywords:[\"transportation\",\"vehicle\",\"speed\",\"fast\",\"public\",\"travel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚅\" src=\"1f685.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},light_rail:{keywords:[\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚈\" src=\"1f688.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},mountain_railway:{keywords:[\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚞\" src=\"1f69e.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},steam_locomotive:{keywords:[\"transportation\",\"vehicle\",\"train\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚂\" src=\"1f682.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},train2:{keywords:[\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚆\" src=\"1f686.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},metro:{keywords:[\"transportation\",\"blue-square\",\"mrt\",\"underground\",\"tube\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚇\" src=\"1f687.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},tram:{keywords:[\"transportation\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚊\" src=\"1f68a.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},station:{keywords:[\"transportation\",\"vehicle\",\"public\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚉\" src=\"1f689.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},flying_saucer:{keywords:[\"transportation\",\"vehicle\",\"ufo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛸\" src=\"1f6f8.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},helicopter:{keywords:[\"transportation\",\"vehicle\",\"fly\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚁\" src=\"1f681.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},small_airplane:{keywords:[\"flight\",\"transportation\",\"fly\",\"vehicle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛩\" src=\"1f6e9.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},airplane:{keywords:[\"vehicle\",\"transportation\",\"flight\",\"fly\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✈️\" src=\"2708.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},flight_departure:{keywords:[\"airport\",\"flight\",\"landing\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛫\" src=\"1f6eb.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},flight_arrival:{keywords:[\"airport\",\"flight\",\"boarding\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛬\" src=\"1f6ec.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},sailboat:{keywords:[\"ship\",\"summer\",\"transportation\",\"water\",\"sailing\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛵\" src=\"26f5.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},motor_boat:{keywords:[\"ship\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛥\" src=\"1f6e5.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},speedboat:{keywords:[\"ship\",\"transportation\",\"vehicle\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚤\" src=\"1f6a4.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},ferry:{keywords:[\"boat\",\"ship\",\"yacht\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛴\" src=\"26f4.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},passenger_ship:{keywords:[\"yacht\",\"cruise\",\"ferry\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛳\" src=\"1f6f3.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},rocket:{keywords:[\"launch\",\"ship\",\"staffmode\",\"NASA\",\"outer space\",\"outer_space\",\"fly\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚀\" src=\"1f680.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},artificial_satellite:{keywords:[\"communication\",\"gps\",\"orbit\",\"spaceflight\",\"NASA\",\"ISS\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛰\" src=\"1f6f0.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},seat:{keywords:[\"sit\",\"airplane\",\"transport\",\"bus\",\"flight\",\"fly\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💺\" src=\"1f4ba.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},canoe:{keywords:[\"boat\",\"paddle\",\"water\",\"ship\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛶\" src=\"1f6f6.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},anchor:{keywords:[\"ship\",\"ferry\",\"sea\",\"boat\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚓\" src=\"2693.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},construction:{keywords:[\"wip\",\"progress\",\"caution\",\"warning\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚧\" src=\"1f6a7.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},fuelpump:{keywords:[\"gas station\",\"petroleum\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛽\" src=\"26fd.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},busstop:{keywords:[\"transportation\",\"wait\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚏\" src=\"1f68f.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},vertical_traffic_light:{keywords:[\"transportation\",\"driving\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚦\" src=\"1f6a6.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},traffic_light:{keywords:[\"transportation\",\"signal\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚥\" src=\"1f6a5.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},checkered_flag:{keywords:[\"contest\",\"finishline\",\"race\",\"gokart\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏁\" src=\"1f3c1.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},ship:{keywords:[\"transportation\",\"titanic\",\"deploy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚢\" src=\"1f6a2.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},ferris_wheel:{keywords:[\"photo\",\"carnival\",\"londoneye\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎡\" src=\"1f3a1.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},roller_coaster:{keywords:[\"carnival\",\"playground\",\"photo\",\"fun\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎢\" src=\"1f3a2.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},carousel_horse:{keywords:[\"photo\",\"carnival\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎠\" src=\"1f3a0.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},building_construction:{keywords:[\"wip\",\"working\",\"progress\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏗\" src=\"1f3d7.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},foggy:{keywords:[\"photo\",\"mountain\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌁\" src=\"1f301.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},tokyo_tower:{keywords:[\"photo\",\"japanese\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗼\" src=\"1f5fc.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},factory:{keywords:[\"building\",\"industry\",\"pollution\",\"smoke\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏭\" src=\"1f3ed.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},fountain:{keywords:[\"photo\",\"summer\",\"water\",\"fresh\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛲\" src=\"26f2.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},rice_scene:{keywords:[\"photo\",\"japan\",\"asia\",\"tsukimi\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎑\" src=\"1f391.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},mountain:{keywords:[\"photo\",\"nature\",\"environment\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛰\" src=\"26f0.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},mountain_snow:{keywords:[\"photo\",\"nature\",\"environment\",\"winter\",\"cold\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏔\" src=\"1f3d4.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},mount_fuji:{keywords:[\"photo\",\"mountain\",\"nature\",\"japanese\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗻\" src=\"1f5fb.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},volcano:{keywords:[\"photo\",\"nature\",\"disaster\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌋\" src=\"1f30b.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},japan:{keywords:[\"nation\",\"country\",\"japanese\",\"asia\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗾\" src=\"1f5fe.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},camping:{keywords:[\"photo\",\"outdoors\",\"tent\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏕\" src=\"1f3d5.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},tent:{keywords:[\"photo\",\"camping\",\"outdoors\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛺\" src=\"26fa.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},national_park:{keywords:[\"photo\",\"environment\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏞\" src=\"1f3de.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},motorway:{keywords:[\"road\",\"cupertino\",\"interstate\",\"highway\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛣\" src=\"1f6e3.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},railway_track:{keywords:[\"train\",\"transportation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛤\" src=\"1f6e4.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},sunrise:{keywords:[\"morning\",\"view\",\"vacation\",\"photo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌅\" src=\"1f305.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},sunrise_over_mountains:{keywords:[\"view\",\"vacation\",\"photo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌄\" src=\"1f304.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},desert:{keywords:[\"photo\",\"warm\",\"saharah\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏜\" src=\"1f3dc.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},beach_umbrella:{keywords:[\"weather\",\"summer\",\"sunny\",\"sand\",\"mojito\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏖\" src=\"1f3d6.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},desert_island:{keywords:[\"photo\",\"tropical\",\"mojito\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏝\" src=\"1f3dd.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},city_sunrise:{keywords:[\"photo\",\"good morning\",\"dawn\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌇\" src=\"1f307.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},city_sunset:{keywords:[\"photo\",\"evening\",\"sky\",\"buildings\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌆\" src=\"1f306.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},cityscape:{keywords:[\"photo\",\"night life\",\"urban\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏙\" src=\"1f3d9.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},night_with_stars:{keywords:[\"evening\",\"city\",\"downtown\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌃\" src=\"1f303.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},bridge_at_night:{keywords:[\"photo\",\"sanfrancisco\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌉\" src=\"1f309.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},milky_way:{keywords:[\"photo\",\"space\",\"stars\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌌\" src=\"1f30c.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},stars:{keywords:[\"night\",\"photo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌠\" src=\"1f320.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},sparkler:{keywords:[\"stars\",\"night\",\"shine\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎇\" src=\"1f387.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},fireworks:{keywords:[\"photo\",\"festival\",\"carnival\",\"congratulations\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎆\" src=\"1f386.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},rainbow:{keywords:[\"nature\",\"happy\",\"unicorn_face\",\"photo\",\"sky\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌈\" src=\"1f308.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},houses:{keywords:[\"buildings\",\"photo\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏘\" src=\"1f3d8.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},european_castle:{keywords:[\"building\",\"royalty\",\"history\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏰\" src=\"1f3f0.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},japanese_castle:{keywords:[\"photo\",\"building\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏯\" src=\"1f3ef.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},stadium:{keywords:[\"photo\",\"place\",\"sports\",\"concert\",\"venue\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏟\" src=\"1f3df.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},statue_of_liberty:{keywords:[\"american\",\"newyork\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗽\" src=\"1f5fd.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},house:{keywords:[\"building\",\"home\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏠\" src=\"1f3e0.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},house_with_garden:{keywords:[\"home\",\"plant\",\"nature\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏡\" src=\"1f3e1.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},derelict_house:{keywords:[\"abandon\",\"evict\",\"broken\",\"building\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏚\" src=\"1f3da.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},office:{keywords:[\"building\",\"bureau\",\"work\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏢\" src=\"1f3e2.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},department_store:{keywords:[\"building\",\"shopping\",\"mall\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏬\" src=\"1f3ec.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},post_office:{keywords:[\"building\",\"envelope\",\"communication\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏣\" src=\"1f3e3.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},european_post_office:{keywords:[\"building\",\"email\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏤\" src=\"1f3e4.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},hospital:{keywords:[\"building\",\"health\",\"surgery\",\"doctor\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏥\" src=\"1f3e5.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},bank:{keywords:[\"building\",\"money\",\"sales\",\"cash\",\"business\",\"enterprise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏦\" src=\"1f3e6.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},hotel:{keywords:[\"building\",\"accomodation\",\"checkin\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏨\" src=\"1f3e8.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},convenience_store:{keywords:[\"building\",\"shopping\",\"groceries\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏪\" src=\"1f3ea.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},school:{keywords:[\"building\",\"student\",\"education\",\"learn\",\"teach\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏫\" src=\"1f3eb.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},love_hotel:{keywords:[\"like\",\"affection\",\"dating\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏩\" src=\"1f3e9.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},wedding:{keywords:[\"love\",\"like\",\"affection\",\"couple\",\"marriage\",\"bride\",\"groom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💒\" src=\"1f492.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},classical_building:{keywords:[\"art\",\"culture\",\"history\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏛\" src=\"1f3db.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},church:{keywords:[\"building\",\"religion\",\"christ\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛪\" src=\"26ea.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},mosque:{keywords:[\"islam\",\"worship\",\"minaret\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕌\" src=\"1f54c.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},synagogue:{keywords:[\"judaism\",\"worship\",\"temple\",\"jewish\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕍\" src=\"1f54d.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},kaaba:{keywords:[\"mecca\",\"mosque\",\"islam\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕋\" src=\"1f54b.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},shinto_shrine:{keywords:[\"temple\",\"japan\",\"kyoto\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛩\" src=\"26e9.png\"/>',fitzpatrick_scale:false,category:\"travel_and_places\"},watch:{keywords:[\"time\",\"accessories\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⌚\" src=\"231a.png\"/>',fitzpatrick_scale:false,category:\"objects\"},iphone:{keywords:[\"technology\",\"apple\",\"gadgets\",\"dial\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📱\" src=\"1f4f1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},calling:{keywords:[\"iphone\",\"incoming\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📲\" src=\"1f4f2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},computer:{keywords:[\"technology\",\"laptop\",\"screen\",\"display\",\"monitor\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💻\" src=\"1f4bb.png\"/>',fitzpatrick_scale:false,category:\"objects\"},keyboard:{keywords:[\"technology\",\"computer\",\"type\",\"input\",\"text\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⌨\" src=\"2328.png\"/>',fitzpatrick_scale:false,category:\"objects\"},desktop_computer:{keywords:[\"technology\",\"computing\",\"screen\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖥\" src=\"1f5a5.png\"/>',fitzpatrick_scale:false,category:\"objects\"},printer:{keywords:[\"paper\",\"ink\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖨\" src=\"1f5a8.png\"/>',fitzpatrick_scale:false,category:\"objects\"},computer_mouse:{keywords:[\"click\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖱\" src=\"1f5b1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},trackball:{keywords:[\"technology\",\"trackpad\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖲\" src=\"1f5b2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},joystick:{keywords:[\"game\",\"play\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕹\" src=\"1f579.png\"/>',fitzpatrick_scale:false,category:\"objects\"},clamp:{keywords:[\"tool\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗜\" src=\"1f5dc.png\"/>',fitzpatrick_scale:false,category:\"objects\"},minidisc:{keywords:[\"technology\",\"record\",\"data\",\"disk\",\"90s\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💽\" src=\"1f4bd.png\"/>',fitzpatrick_scale:false,category:\"objects\"},floppy_disk:{keywords:[\"oldschool\",\"technology\",\"save\",\"90s\",\"80s\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💾\" src=\"1f4be.png\"/>',fitzpatrick_scale:false,category:\"objects\"},cd:{keywords:[\"technology\",\"dvd\",\"disk\",\"disc\",\"90s\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💿\" src=\"1f4bf.png\"/>',fitzpatrick_scale:false,category:\"objects\"},dvd:{keywords:[\"cd\",\"disk\",\"disc\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📀\" src=\"1f4c0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},vhs:{keywords:[\"record\",\"video\",\"oldschool\",\"90s\",\"80s\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📼\" src=\"1f4fc.png\"/>',fitzpatrick_scale:false,category:\"objects\"},camera:{keywords:[\"gadgets\",\"photography\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📷\" src=\"1f4f7.png\"/>',fitzpatrick_scale:false,category:\"objects\"},camera_flash:{keywords:[\"photography\",\"gadgets\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📸\" src=\"1f4f8.png\"/>',fitzpatrick_scale:false,category:\"objects\"},video_camera:{keywords:[\"film\",\"record\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📹\" src=\"1f4f9.png\"/>',fitzpatrick_scale:false,category:\"objects\"},movie_camera:{keywords:[\"film\",\"record\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎥\" src=\"1f3a5.png\"/>',fitzpatrick_scale:false,category:\"objects\"},film_projector:{keywords:[\"video\",\"tape\",\"record\",\"movie\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📽\" src=\"1f4fd.png\"/>',fitzpatrick_scale:false,category:\"objects\"},film_strip:{keywords:[\"movie\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎞\" src=\"1f39e.png\"/>',fitzpatrick_scale:false,category:\"objects\"},telephone_receiver:{keywords:[\"technology\",\"communication\",\"dial\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📞\" src=\"1f4de.png\"/>',fitzpatrick_scale:false,category:\"objects\"},phone:{keywords:[\"technology\",\"communication\",\"dial\",\"telephone\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☎️\" src=\"260e.png\"/>',fitzpatrick_scale:false,category:\"objects\"},pager:{keywords:[\"bbcall\",\"oldschool\",\"90s\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📟\" src=\"1f4df.png\"/>',fitzpatrick_scale:false,category:\"objects\"},fax:{keywords:[\"communication\",\"technology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📠\" src=\"1f4e0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},tv:{keywords:[\"technology\",\"program\",\"oldschool\",\"show\",\"television\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📺\" src=\"1f4fa.png\"/>',fitzpatrick_scale:false,category:\"objects\"},radio:{keywords:[\"communication\",\"music\",\"podcast\",\"program\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📻\" src=\"1f4fb.png\"/>',fitzpatrick_scale:false,category:\"objects\"},studio_microphone:{keywords:[\"sing\",\"recording\",\"artist\",\"talkshow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎙\" src=\"1f399.png\"/>',fitzpatrick_scale:false,category:\"objects\"},level_slider:{keywords:[\"scale\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎚\" src=\"1f39a.png\"/>',fitzpatrick_scale:false,category:\"objects\"},control_knobs:{keywords:[\"dial\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎛\" src=\"1f39b.png\"/>',fitzpatrick_scale:false,category:\"objects\"},compass:{keywords:[\"magnetic\",\"navigation\",\"orienteering\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧭\" src=\"1f9ed.png\"/>',fitzpatrick_scale:false,category:\"objects\"},stopwatch:{keywords:[\"time\",\"deadline\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏱\" src=\"23f1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},timer_clock:{keywords:[\"alarm\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏲\" src=\"23f2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},alarm_clock:{keywords:[\"time\",\"wake\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏰\" src=\"23f0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},mantelpiece_clock:{keywords:[\"time\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕰\" src=\"1f570.png\"/>',fitzpatrick_scale:false,category:\"objects\"},hourglass_flowing_sand:{keywords:[\"oldschool\",\"time\",\"countdown\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏳\" src=\"23f3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},hourglass:{keywords:[\"time\",\"clock\",\"oldschool\",\"limit\",\"exam\",\"quiz\",\"test\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⌛\" src=\"231b.png\"/>',fitzpatrick_scale:false,category:\"objects\"},satellite:{keywords:[\"communication\",\"future\",\"radio\",\"space\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📡\" src=\"1f4e1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},battery:{keywords:[\"power\",\"energy\",\"sustain\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔋\" src=\"1f50b.png\"/>',fitzpatrick_scale:false,category:\"objects\"},electric_plug:{keywords:[\"charger\",\"power\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔌\" src=\"1f50c.png\"/>',fitzpatrick_scale:false,category:\"objects\"},bulb:{keywords:[\"light\",\"electricity\",\"idea\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💡\" src=\"1f4a1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},flashlight:{keywords:[\"dark\",\"camping\",\"sight\",\"night\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔦\" src=\"1f526.png\"/>',fitzpatrick_scale:false,category:\"objects\"},candle:{keywords:[\"fire\",\"wax\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕯\" src=\"1f56f.png\"/>',fitzpatrick_scale:false,category:\"objects\"},fire_extinguisher:{keywords:[\"quench\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧯\" src=\"1f9ef.png\"/>',fitzpatrick_scale:false,category:\"objects\"},wastebasket:{keywords:[\"bin\",\"trash\",\"rubbish\",\"garbage\",\"toss\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗑\" src=\"1f5d1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},oil_drum:{keywords:[\"barrell\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛢\" src=\"1f6e2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},money_with_wings:{keywords:[\"dollar\",\"bills\",\"payment\",\"sale\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💸\" src=\"1f4b8.png\"/>',fitzpatrick_scale:false,category:\"objects\"},dollar:{keywords:[\"money\",\"sales\",\"bill\",\"currency\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💵\" src=\"1f4b5.png\"/>',fitzpatrick_scale:false,category:\"objects\"},yen:{keywords:[\"money\",\"sales\",\"japanese\",\"dollar\",\"currency\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💴\" src=\"1f4b4.png\"/>',fitzpatrick_scale:false,category:\"objects\"},euro:{keywords:[\"money\",\"sales\",\"dollar\",\"currency\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💶\" src=\"1f4b6.png\"/>',fitzpatrick_scale:false,category:\"objects\"},pound:{keywords:[\"british\",\"sterling\",\"money\",\"sales\",\"bills\",\"uk\",\"england\",\"currency\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💷\" src=\"1f4b7.png\"/>',fitzpatrick_scale:false,category:\"objects\"},moneybag:{keywords:[\"dollar\",\"payment\",\"coins\",\"sale\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💰\" src=\"1f4b0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},credit_card:{keywords:[\"money\",\"sales\",\"dollar\",\"bill\",\"payment\",\"shopping\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💳\" src=\"1f4b3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},gem:{keywords:[\"blue\",\"ruby\",\"diamond\",\"jewelry\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💎\" src=\"1f48e.png\"/>',fitzpatrick_scale:false,category:\"objects\"},balance_scale:{keywords:[\"law\",\"fairness\",\"weight\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚖\" src=\"2696.png\"/>',fitzpatrick_scale:false,category:\"objects\"},toolbox:{keywords:[\"tools\",\"diy\",\"fix\",\"maintainer\",\"mechanic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧰\" src=\"1f9f0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},wrench:{keywords:[\"tools\",\"diy\",\"ikea\",\"fix\",\"maintainer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔧\" src=\"1f527.png\"/>',fitzpatrick_scale:false,category:\"objects\"},hammer:{keywords:[\"tools\",\"build\",\"create\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔨\" src=\"1f528.png\"/>',fitzpatrick_scale:false,category:\"objects\"},hammer_and_pick:{keywords:[\"tools\",\"build\",\"create\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚒\" src=\"2692.png\"/>',fitzpatrick_scale:false,category:\"objects\"},hammer_and_wrench:{keywords:[\"tools\",\"build\",\"create\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛠\" src=\"1f6e0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},pick:{keywords:[\"tools\",\"dig\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛏\" src=\"26cf.png\"/>',fitzpatrick_scale:false,category:\"objects\"},nut_and_bolt:{keywords:[\"handy\",\"tools\",\"fix\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔩\" src=\"1f529.png\"/>',fitzpatrick_scale:false,category:\"objects\"},gear:{keywords:[\"cog\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚙\" src=\"2699.png\"/>',fitzpatrick_scale:false,category:\"objects\"},brick:{keywords:[\"bricks\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧱\" src=\"1f9f1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},chains:{keywords:[\"lock\",\"arrest\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛓\" src=\"26d3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},magnet:{keywords:[\"attraction\",\"magnetic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧲\" src=\"1f9f2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},gun:{keywords:[\"violence\",\"weapon\",\"pistol\",\"revolver\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔫\" src=\"1f52b.png\"/>',fitzpatrick_scale:false,category:\"objects\"},bomb:{keywords:[\"boom\",\"explode\",\"explosion\",\"terrorism\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💣\" src=\"1f4a3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},firecracker:{keywords:[\"dynamite\",\"boom\",\"explode\",\"explosion\",\"explosive\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧨\" src=\"1f9e8.png\"/>',fitzpatrick_scale:false,category:\"objects\"},hocho:{keywords:[\"knife\",\"blade\",\"cutlery\",\"kitchen\",\"weapon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔪\" src=\"1f52a.png\"/>',fitzpatrick_scale:false,category:\"objects\"},dagger:{keywords:[\"weapon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗡\" src=\"1f5e1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},crossed_swords:{keywords:[\"weapon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚔\" src=\"2694.png\"/>',fitzpatrick_scale:false,category:\"objects\"},shield:{keywords:[\"protection\",\"security\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛡\" src=\"1f6e1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},smoking:{keywords:[\"kills\",\"tobacco\",\"cigarette\",\"joint\",\"smoke\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚬\" src=\"1f6ac.png\"/>',fitzpatrick_scale:false,category:\"objects\"},skull_and_crossbones:{keywords:[\"poison\",\"danger\",\"deadly\",\"scary\",\"death\",\"pirate\",\"evil\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☠\" src=\"2620.png\"/>',fitzpatrick_scale:false,category:\"objects\"},coffin:{keywords:[\"vampire\",\"dead\",\"die\",\"death\",\"rip\",\"graveyard\",\"cemetery\",\"casket\",\"funeral\",\"box\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚰\" src=\"26b0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},funeral_urn:{keywords:[\"dead\",\"die\",\"death\",\"rip\",\"ashes\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚱\" src=\"26b1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},amphora:{keywords:[\"vase\",\"jar\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏺\" src=\"1f3fa.png\"/>',fitzpatrick_scale:false,category:\"objects\"},crystal_ball:{keywords:[\"disco\",\"party\",\"magic\",\"circus\",\"fortune_teller\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔮\" src=\"1f52e.png\"/>',fitzpatrick_scale:false,category:\"objects\"},prayer_beads:{keywords:[\"dhikr\",\"religious\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📿\" src=\"1f4ff.png\"/>',fitzpatrick_scale:false,category:\"objects\"},nazar_amulet:{keywords:[\"bead\",\"charm\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧿\" src=\"1f9ff.png\"/>',fitzpatrick_scale:false,category:\"objects\"},barber:{keywords:[\"hair\",\"salon\",\"style\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💈\" src=\"1f488.png\"/>',fitzpatrick_scale:false,category:\"objects\"},alembic:{keywords:[\"distilling\",\"science\",\"experiment\",\"chemistry\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚗\" src=\"2697.png\"/>',fitzpatrick_scale:false,category:\"objects\"},telescope:{keywords:[\"stars\",\"space\",\"zoom\",\"science\",\"astronomy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔭\" src=\"1f52d.png\"/>',fitzpatrick_scale:false,category:\"objects\"},microscope:{keywords:[\"laboratory\",\"experiment\",\"zoomin\",\"science\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔬\" src=\"1f52c.png\"/>',fitzpatrick_scale:false,category:\"objects\"},hole:{keywords:[\"embarrassing\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕳\" src=\"1f573.png\"/>',fitzpatrick_scale:false,category:\"objects\"},pill:{keywords:[\"health\",\"medicine\",\"doctor\",\"pharmacy\",\"drug\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💊\" src=\"1f48a.png\"/>',fitzpatrick_scale:false,category:\"objects\"},syringe:{keywords:[\"health\",\"hospital\",\"drugs\",\"blood\",\"medicine\",\"needle\",\"doctor\",\"nurse\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💉\" src=\"1f489.png\"/>',fitzpatrick_scale:false,category:\"objects\"},dna:{keywords:[\"biologist\",\"genetics\",\"life\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧬\" src=\"1f9ec.png\"/>',fitzpatrick_scale:false,category:\"objects\"},microbe:{keywords:[\"amoeba\",\"bacteria\",\"germs\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🦠\" src=\"1f9a0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},petri_dish:{keywords:[\"bacteria\",\"biology\",\"culture\",\"lab\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧫\" src=\"1f9eb.png\"/>',fitzpatrick_scale:false,category:\"objects\"},test_tube:{keywords:[\"chemistry\",\"experiment\",\"lab\",\"science\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧪\" src=\"1f9ea.png\"/>',fitzpatrick_scale:false,category:\"objects\"},thermometer:{keywords:[\"weather\",\"temperature\",\"hot\",\"cold\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌡\" src=\"1f321.png\"/>',fitzpatrick_scale:false,category:\"objects\"},broom:{keywords:[\"cleaning\",\"sweeping\",\"witch\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧹\" src=\"1f9f9.png\"/>',fitzpatrick_scale:false,category:\"objects\"},basket:{keywords:[\"laundry\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧺\" src=\"1f9fa.png\"/>',fitzpatrick_scale:false,category:\"objects\"},toilet_paper:{keywords:[\"roll\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧻\" src=\"1f9fb.png\"/>',fitzpatrick_scale:false,category:\"objects\"},label:{keywords:[\"sale\",\"tag\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏷\" src=\"1f3f7.png\"/>',fitzpatrick_scale:false,category:\"objects\"},bookmark:{keywords:[\"favorite\",\"label\",\"save\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔖\" src=\"1f516.png\"/>',fitzpatrick_scale:false,category:\"objects\"},toilet:{keywords:[\"restroom\",\"wc\",\"washroom\",\"bathroom\",\"potty\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚽\" src=\"1f6bd.png\"/>',fitzpatrick_scale:false,category:\"objects\"},shower:{keywords:[\"clean\",\"water\",\"bathroom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚿\" src=\"1f6bf.png\"/>',fitzpatrick_scale:false,category:\"objects\"},bathtub:{keywords:[\"clean\",\"shower\",\"bathroom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛁\" src=\"1f6c1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},soap:{keywords:[\"bar\",\"bathing\",\"cleaning\",\"lather\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧼\" src=\"1f9fc.png\"/>',fitzpatrick_scale:false,category:\"objects\"},sponge:{keywords:[\"absorbing\",\"cleaning\",\"porous\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧽\" src=\"1f9fd.png\"/>',fitzpatrick_scale:false,category:\"objects\"},lotion_bottle:{keywords:[\"moisturizer\",\"sunscreen\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧴\" src=\"1f9f4.png\"/>',fitzpatrick_scale:false,category:\"objects\"},key:{keywords:[\"lock\",\"door\",\"password\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔑\" src=\"1f511.png\"/>',fitzpatrick_scale:false,category:\"objects\"},old_key:{keywords:[\"lock\",\"door\",\"password\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗝\" src=\"1f5dd.png\"/>',fitzpatrick_scale:false,category:\"objects\"},couch_and_lamp:{keywords:[\"read\",\"chill\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛋\" src=\"1f6cb.png\"/>',fitzpatrick_scale:false,category:\"objects\"},sleeping_bed:{keywords:[\"bed\",\"rest\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛌\" src=\"1f6cc.png\"/>',fitzpatrick_scale:true,category:\"objects\"},bed:{keywords:[\"sleep\",\"rest\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛏\" src=\"1f6cf.png\"/>',fitzpatrick_scale:false,category:\"objects\"},door:{keywords:[\"house\",\"entry\",\"exit\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚪\" src=\"1f6aa.png\"/>',fitzpatrick_scale:false,category:\"objects\"},bellhop_bell:{keywords:[\"service\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛎\" src=\"1f6ce.png\"/>',fitzpatrick_scale:false,category:\"objects\"},teddy_bear:{keywords:[\"plush\",\"stuffed\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧸\" src=\"1f9f8.png\"/>',fitzpatrick_scale:false,category:\"objects\"},framed_picture:{keywords:[\"photography\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖼\" src=\"1f5bc.png\"/>',fitzpatrick_scale:false,category:\"objects\"},world_map:{keywords:[\"location\",\"direction\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗺\" src=\"1f5fa.png\"/>',fitzpatrick_scale:false,category:\"objects\"},parasol_on_ground:{keywords:[\"weather\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛱\" src=\"26f1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},moyai:{keywords:[\"rock\",\"easter island\",\"moai\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗿\" src=\"1f5ff.png\"/>',fitzpatrick_scale:false,category:\"objects\"},shopping:{keywords:[\"mall\",\"buy\",\"purchase\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛍\" src=\"1f6cd.png\"/>',fitzpatrick_scale:false,category:\"objects\"},shopping_cart:{keywords:[\"trolley\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛒\" src=\"1f6d2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},balloon:{keywords:[\"party\",\"celebration\",\"birthday\",\"circus\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎈\" src=\"1f388.png\"/>',fitzpatrick_scale:false,category:\"objects\"},flags:{keywords:[\"fish\",\"japanese\",\"koinobori\",\"carp\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎏\" src=\"1f38f.png\"/>',fitzpatrick_scale:false,category:\"objects\"},ribbon:{keywords:[\"decoration\",\"pink\",\"girl\",\"bowtie\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎀\" src=\"1f380.png\"/>',fitzpatrick_scale:false,category:\"objects\"},gift:{keywords:[\"present\",\"birthday\",\"christmas\",\"xmas\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎁\" src=\"1f381.png\"/>',fitzpatrick_scale:false,category:\"objects\"},confetti_ball:{keywords:[\"festival\",\"party\",\"birthday\",\"circus\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎊\" src=\"1f38a.png\"/>',fitzpatrick_scale:false,category:\"objects\"},tada:{keywords:[\"party\",\"congratulations\",\"birthday\",\"magic\",\"circus\",\"celebration\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎉\" src=\"1f389.png\"/>',fitzpatrick_scale:false,category:\"objects\"},dolls:{keywords:[\"japanese\",\"toy\",\"kimono\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎎\" src=\"1f38e.png\"/>',fitzpatrick_scale:false,category:\"objects\"},wind_chime:{keywords:[\"nature\",\"ding\",\"spring\",\"bell\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎐\" src=\"1f390.png\"/>',fitzpatrick_scale:false,category:\"objects\"},crossed_flags:{keywords:[\"japanese\",\"nation\",\"country\",\"border\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎌\" src=\"1f38c.png\"/>',fitzpatrick_scale:false,category:\"objects\"},izakaya_lantern:{keywords:[\"light\",\"paper\",\"halloween\",\"spooky\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏮\" src=\"1f3ee.png\"/>',fitzpatrick_scale:false,category:\"objects\"},red_envelope:{keywords:[\"gift\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧧\" src=\"1f9e7.png\"/>',fitzpatrick_scale:false,category:\"objects\"},email:{keywords:[\"letter\",\"postal\",\"inbox\",\"communication\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✉️\" src=\"2709.png\"/>',fitzpatrick_scale:false,category:\"objects\"},envelope_with_arrow:{keywords:[\"email\",\"communication\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📩\" src=\"1f4e9.png\"/>',fitzpatrick_scale:false,category:\"objects\"},incoming_envelope:{keywords:[\"email\",\"inbox\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📨\" src=\"1f4e8.png\"/>',fitzpatrick_scale:false,category:\"objects\"},\"e-mail\":{keywords:[\"communication\",\"inbox\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📧\" src=\"1f4e7.png\"/>',fitzpatrick_scale:false,category:\"objects\"},love_letter:{keywords:[\"email\",\"like\",\"affection\",\"envelope\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💌\" src=\"1f48c.png\"/>',fitzpatrick_scale:false,category:\"objects\"},postbox:{keywords:[\"email\",\"letter\",\"envelope\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📮\" src=\"1f4ee.png\"/>',fitzpatrick_scale:false,category:\"objects\"},mailbox_closed:{keywords:[\"email\",\"communication\",\"inbox\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📪\" src=\"1f4ea.png\"/>',fitzpatrick_scale:false,category:\"objects\"},mailbox:{keywords:[\"email\",\"inbox\",\"communication\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📫\" src=\"1f4eb.png\"/>',fitzpatrick_scale:false,category:\"objects\"},mailbox_with_mail:{keywords:[\"email\",\"inbox\",\"communication\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📬\" src=\"1f4ec.png\"/>',fitzpatrick_scale:false,category:\"objects\"},mailbox_with_no_mail:{keywords:[\"email\",\"inbox\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📭\" src=\"1f4ed.png\"/>',fitzpatrick_scale:false,category:\"objects\"},package:{keywords:[\"mail\",\"gift\",\"cardboard\",\"box\",\"moving\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📦\" src=\"1f4e6.png\"/>',fitzpatrick_scale:false,category:\"objects\"},postal_horn:{keywords:[\"instrument\",\"music\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📯\" src=\"1f4ef.png\"/>',fitzpatrick_scale:false,category:\"objects\"},inbox_tray:{keywords:[\"email\",\"documents\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📥\" src=\"1f4e5.png\"/>',fitzpatrick_scale:false,category:\"objects\"},outbox_tray:{keywords:[\"inbox\",\"email\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📤\" src=\"1f4e4.png\"/>',fitzpatrick_scale:false,category:\"objects\"},scroll:{keywords:[\"documents\",\"ancient\",\"history\",\"paper\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📜\" src=\"1f4dc.png\"/>',fitzpatrick_scale:false,category:\"objects\"},page_with_curl:{keywords:[\"documents\",\"office\",\"paper\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📃\" src=\"1f4c3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},bookmark_tabs:{keywords:[\"favorite\",\"save\",\"order\",\"tidy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📑\" src=\"1f4d1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},receipt:{keywords:[\"accounting\",\"expenses\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧾\" src=\"1f9fe.png\"/>',fitzpatrick_scale:false,category:\"objects\"},bar_chart:{keywords:[\"graph\",\"presentation\",\"stats\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📊\" src=\"1f4ca.png\"/>',fitzpatrick_scale:false,category:\"objects\"},chart_with_upwards_trend:{keywords:[\"graph\",\"presentation\",\"stats\",\"recovery\",\"business\",\"economics\",\"money\",\"sales\",\"good\",\"success\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📈\" src=\"1f4c8.png\"/>',fitzpatrick_scale:false,category:\"objects\"},chart_with_downwards_trend:{keywords:[\"graph\",\"presentation\",\"stats\",\"recession\",\"business\",\"economics\",\"money\",\"sales\",\"bad\",\"failure\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📉\" src=\"1f4c9.png\"/>',fitzpatrick_scale:false,category:\"objects\"},page_facing_up:{keywords:[\"documents\",\"office\",\"paper\",\"information\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📄\" src=\"1f4c4.png\"/>',fitzpatrick_scale:false,category:\"objects\"},date:{keywords:[\"calendar\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📅\" src=\"1f4c5.png\"/>',fitzpatrick_scale:false,category:\"objects\"},calendar:{keywords:[\"schedule\",\"date\",\"planning\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📆\" src=\"1f4c6.png\"/>',fitzpatrick_scale:false,category:\"objects\"},spiral_calendar:{keywords:[\"date\",\"schedule\",\"planning\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗓\" src=\"1f5d3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},card_index:{keywords:[\"business\",\"stationery\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📇\" src=\"1f4c7.png\"/>',fitzpatrick_scale:false,category:\"objects\"},card_file_box:{keywords:[\"business\",\"stationery\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗃\" src=\"1f5c3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},ballot_box:{keywords:[\"election\",\"vote\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗳\" src=\"1f5f3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},file_cabinet:{keywords:[\"filing\",\"organizing\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗄\" src=\"1f5c4.png\"/>',fitzpatrick_scale:false,category:\"objects\"},clipboard:{keywords:[\"stationery\",\"documents\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📋\" src=\"1f4cb.png\"/>',fitzpatrick_scale:false,category:\"objects\"},spiral_notepad:{keywords:[\"memo\",\"stationery\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗒\" src=\"1f5d2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},file_folder:{keywords:[\"documents\",\"business\",\"office\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📁\" src=\"1f4c1.png\"/>',fitzpatrick_scale:false,category:\"objects\"},open_file_folder:{keywords:[\"documents\",\"load\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📂\" src=\"1f4c2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},card_index_dividers:{keywords:[\"organizing\",\"business\",\"stationery\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗂\" src=\"1f5c2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},newspaper_roll:{keywords:[\"press\",\"headline\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗞\" src=\"1f5de.png\"/>',fitzpatrick_scale:false,category:\"objects\"},newspaper:{keywords:[\"press\",\"headline\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📰\" src=\"1f4f0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},notebook:{keywords:[\"stationery\",\"record\",\"notes\",\"paper\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📓\" src=\"1f4d3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},closed_book:{keywords:[\"read\",\"library\",\"knowledge\",\"textbook\",\"learn\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📕\" src=\"1f4d5.png\"/>',fitzpatrick_scale:false,category:\"objects\"},green_book:{keywords:[\"read\",\"library\",\"knowledge\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📗\" src=\"1f4d7.png\"/>',fitzpatrick_scale:false,category:\"objects\"},blue_book:{keywords:[\"read\",\"library\",\"knowledge\",\"learn\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📘\" src=\"1f4d8.png\"/>',fitzpatrick_scale:false,category:\"objects\"},orange_book:{keywords:[\"read\",\"library\",\"knowledge\",\"textbook\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📙\" src=\"1f4d9.png\"/>',fitzpatrick_scale:false,category:\"objects\"},notebook_with_decorative_cover:{keywords:[\"classroom\",\"notes\",\"record\",\"paper\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📔\" src=\"1f4d4.png\"/>',fitzpatrick_scale:false,category:\"objects\"},ledger:{keywords:[\"notes\",\"paper\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📒\" src=\"1f4d2.png\"/>',fitzpatrick_scale:false,category:\"objects\"},books:{keywords:[\"literature\",\"library\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📚\" src=\"1f4da.png\"/>',fitzpatrick_scale:false,category:\"objects\"},open_book:{keywords:[\"book\",\"read\",\"library\",\"knowledge\",\"literature\",\"learn\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📖\" src=\"1f4d6.png\"/>',fitzpatrick_scale:false,category:\"objects\"},safety_pin:{keywords:[\"diaper\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧷\" src=\"1f9f7.png\"/>',fitzpatrick_scale:false,category:\"objects\"},link:{keywords:[\"rings\",\"url\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔗\" src=\"1f517.png\"/>',fitzpatrick_scale:false,category:\"objects\"},paperclip:{keywords:[\"documents\",\"stationery\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📎\" src=\"1f4ce.png\"/>',fitzpatrick_scale:false,category:\"objects\"},paperclips:{keywords:[\"documents\",\"stationery\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖇\" src=\"1f587.png\"/>',fitzpatrick_scale:false,category:\"objects\"},scissors:{keywords:[\"stationery\",\"cut\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✂️\" src=\"2702.png\"/>',fitzpatrick_scale:false,category:\"objects\"},triangular_ruler:{keywords:[\"stationery\",\"math\",\"architect\",\"sketch\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📐\" src=\"1f4d0.png\"/>',fitzpatrick_scale:false,category:\"objects\"},straight_ruler:{keywords:[\"stationery\",\"calculate\",\"length\",\"math\",\"school\",\"drawing\",\"architect\",\"sketch\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📏\" src=\"1f4cf.png\"/>',fitzpatrick_scale:false,category:\"objects\"},abacus:{keywords:[\"calculation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧮\" src=\"1f9ee.png\"/>',fitzpatrick_scale:false,category:\"objects\"},pushpin:{keywords:[\"stationery\",\"mark\",\"here\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📌\" src=\"1f4cc.png\"/>',fitzpatrick_scale:false,category:\"objects\"},round_pushpin:{keywords:[\"stationery\",\"location\",\"map\",\"here\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📍\" src=\"1f4cd.png\"/>',fitzpatrick_scale:false,category:\"objects\"},triangular_flag_on_post:{keywords:[\"mark\",\"milestone\",\"place\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚩\" src=\"1f6a9.png\"/>',fitzpatrick_scale:false,category:\"objects\"},white_flag:{keywords:[\"losing\",\"loser\",\"lost\",\"surrender\",\"give up\",\"fail\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏳\" src=\"1f3f3.png\"/>',fitzpatrick_scale:false,category:\"objects\"},black_flag:{keywords:[\"pirate\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏴\" src=\"1f3f4.png\"/>',fitzpatrick_scale:false,category:\"objects\"},rainbow_flag:{keywords:[\"flag\",\"rainbow\",\"pride\",\"gay\",\"lgbt\",\"glbt\",\"queer\",\"homosexual\",\"lesbian\",\"bisexual\",\"transgender\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏳️‍🌈\" src=\"1f3f3-fe0f-200d-1f308.png\"/>',fitzpatrick_scale:false,category:\"objects\"},closed_lock_with_key:{keywords:[\"security\",\"privacy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔐\" src=\"1f510.png\"/>',fitzpatrick_scale:false,category:\"objects\"},lock:{keywords:[\"security\",\"password\",\"padlock\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔒\" src=\"1f512.png\"/>',fitzpatrick_scale:false,category:\"objects\"},unlock:{keywords:[\"privacy\",\"security\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔓\" src=\"1f513.png\"/>',fitzpatrick_scale:false,category:\"objects\"},lock_with_ink_pen:{keywords:[\"security\",\"secret\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔏\" src=\"1f50f.png\"/>',fitzpatrick_scale:false,category:\"objects\"},pen:{keywords:[\"stationery\",\"writing\",\"write\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖊\" src=\"1f58a.png\"/>',fitzpatrick_scale:false,category:\"objects\"},fountain_pen:{keywords:[\"stationery\",\"writing\",\"write\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖋\" src=\"1f58b.png\"/>',fitzpatrick_scale:false,category:\"objects\"},black_nib:{keywords:[\"pen\",\"stationery\",\"writing\",\"write\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✒️\" src=\"2712.png\"/>',fitzpatrick_scale:false,category:\"objects\"},memo:{keywords:[\"write\",\"documents\",\"stationery\",\"pencil\",\"paper\",\"writing\",\"legal\",\"exam\",\"quiz\",\"test\",\"study\",\"compose\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📝\" src=\"1f4dd.png\"/>',fitzpatrick_scale:false,category:\"objects\"},pencil2:{keywords:[\"stationery\",\"write\",\"paper\",\"writing\",\"school\",\"study\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✏️\" src=\"270f.png\"/>',fitzpatrick_scale:false,category:\"objects\"},crayon:{keywords:[\"drawing\",\"creativity\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖍\" src=\"1f58d.png\"/>',fitzpatrick_scale:false,category:\"objects\"},paintbrush:{keywords:[\"drawing\",\"creativity\",\"art\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖌\" src=\"1f58c.png\"/>',fitzpatrick_scale:false,category:\"objects\"},mag:{keywords:[\"search\",\"zoom\",\"find\",\"detective\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔍\" src=\"1f50d.png\"/>',fitzpatrick_scale:false,category:\"objects\"},mag_right:{keywords:[\"search\",\"zoom\",\"find\",\"detective\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔎\" src=\"1f50e.png\"/>',fitzpatrick_scale:false,category:\"objects\"},heart:{keywords:[\"love\",\"like\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❤️\" src=\"2764.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},orange_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🧡\" src=\"1f9e1.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},yellow_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💛\" src=\"1f49b.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},green_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💚\" src=\"1f49a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},blue_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💙\" src=\"1f499.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},purple_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💜\" src=\"1f49c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},black_heart:{keywords:[\"evil\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🖤\" src=\"1f5a4.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},broken_heart:{keywords:[\"sad\",\"sorry\",\"break\",\"heart\",\"heartbreak\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💔\" src=\"1f494.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heavy_heart_exclamation:{keywords:[\"decoration\",\"love\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❣\" src=\"2763.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},two_hearts:{keywords:[\"love\",\"like\",\"affection\",\"valentines\",\"heart\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💕\" src=\"1f495.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},revolving_hearts:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💞\" src=\"1f49e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heartbeat:{keywords:[\"love\",\"like\",\"affection\",\"valentines\",\"pink\",\"heart\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💓\" src=\"1f493.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heartpulse:{keywords:[\"like\",\"love\",\"affection\",\"valentines\",\"pink\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💗\" src=\"1f497.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},sparkling_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💖\" src=\"1f496.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},cupid:{keywords:[\"love\",\"like\",\"heart\",\"affection\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💘\" src=\"1f498.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},gift_heart:{keywords:[\"love\",\"valentines\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💝\" src=\"1f49d.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heart_decoration:{keywords:[\"purple-square\",\"love\",\"like\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💟\" src=\"1f49f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},peace_symbol:{keywords:[\"hippie\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☮\" src=\"262e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},latin_cross:{keywords:[\"christianity\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✝\" src=\"271d.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},star_and_crescent:{keywords:[\"islam\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☪\" src=\"262a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},om:{keywords:[\"hinduism\",\"buddhism\",\"sikhism\",\"jainism\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕉\" src=\"1f549.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},wheel_of_dharma:{keywords:[\"hinduism\",\"buddhism\",\"sikhism\",\"jainism\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☸\" src=\"2638.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},star_of_david:{keywords:[\"judaism\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✡\" src=\"2721.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},six_pointed_star:{keywords:[\"purple-square\",\"religion\",\"jewish\",\"hexagram\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔯\" src=\"1f52f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},menorah:{keywords:[\"hanukkah\",\"candles\",\"jewish\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕎\" src=\"1f54e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},yin_yang:{keywords:[\"balance\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☯\" src=\"262f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},orthodox_cross:{keywords:[\"suppedaneum\",\"religion\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☦\" src=\"2626.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},place_of_worship:{keywords:[\"religion\",\"church\",\"temple\",\"prayer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛐\" src=\"1f6d0.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},ophiuchus:{keywords:[\"sign\",\"purple-square\",\"constellation\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛎\" src=\"26ce.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},aries:{keywords:[\"sign\",\"purple-square\",\"zodiac\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♈\" src=\"2648.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},taurus:{keywords:[\"purple-square\",\"sign\",\"zodiac\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♉\" src=\"2649.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},gemini:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♊\" src=\"264a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},cancer:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♋\" src=\"264b.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},leo:{keywords:[\"sign\",\"purple-square\",\"zodiac\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♌\" src=\"264c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},virgo:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♍\" src=\"264d.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},libra:{keywords:[\"sign\",\"purple-square\",\"zodiac\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♎\" src=\"264e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},scorpius:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\",\"scorpio\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♏\" src=\"264f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},sagittarius:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♐\" src=\"2650.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},capricorn:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♑\" src=\"2651.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},aquarius:{keywords:[\"sign\",\"purple-square\",\"zodiac\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♒\" src=\"2652.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},pisces:{keywords:[\"purple-square\",\"sign\",\"zodiac\",\"astrology\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♓\" src=\"2653.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},id:{keywords:[\"purple-square\",\"words\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆔\" src=\"1f194.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},atom_symbol:{keywords:[\"science\",\"physics\",\"chemistry\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚛\" src=\"269b.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u7a7a:{keywords:[\"kanji\",\"japanese\",\"chinese\",\"empty\",\"sky\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈳\" src=\"1f233.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u5272:{keywords:[\"cut\",\"divide\",\"chinese\",\"kanji\",\"pink-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈹\" src=\"1f239.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},radioactive:{keywords:[\"nuclear\",\"danger\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☢\" src=\"2622.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},biohazard:{keywords:[\"danger\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☣\" src=\"2623.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},mobile_phone_off:{keywords:[\"mute\",\"orange-square\",\"silence\",\"quiet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📴\" src=\"1f4f4.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},vibration_mode:{keywords:[\"orange-square\",\"phone\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📳\" src=\"1f4f3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u6709:{keywords:[\"orange-square\",\"chinese\",\"have\",\"kanji\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈶\" src=\"1f236.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u7121:{keywords:[\"nothing\",\"chinese\",\"kanji\",\"japanese\",\"orange-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈚\" src=\"1f21a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u7533:{keywords:[\"chinese\",\"japanese\",\"kanji\",\"orange-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈸\" src=\"1f238.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u55b6:{keywords:[\"japanese\",\"opening hours\",\"orange-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈺\" src=\"1f23a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u6708:{keywords:[\"chinese\",\"month\",\"moon\",\"japanese\",\"orange-square\",\"kanji\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈷️\" src=\"1f237.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},eight_pointed_black_star:{keywords:[\"orange-square\",\"shape\",\"polygon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✴️\" src=\"2734.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},vs:{keywords:[\"words\",\"orange-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆚\" src=\"1f19a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},accept:{keywords:[\"ok\",\"good\",\"chinese\",\"kanji\",\"agree\",\"yes\",\"orange-circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🉑\" src=\"1f251.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},white_flower:{keywords:[\"japanese\",\"spring\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💮\" src=\"1f4ae.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},ideograph_advantage:{keywords:[\"chinese\",\"kanji\",\"obtain\",\"get\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🉐\" src=\"1f250.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},secret:{keywords:[\"privacy\",\"chinese\",\"sshh\",\"kanji\",\"red-circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"㊙️\" src=\"3299.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},congratulations:{keywords:[\"chinese\",\"kanji\",\"japanese\",\"red-circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"㊗️\" src=\"3297.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u5408:{keywords:[\"japanese\",\"chinese\",\"join\",\"kanji\",\"red-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈴\" src=\"1f234.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u6e80:{keywords:[\"full\",\"chinese\",\"japanese\",\"red-square\",\"kanji\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈵\" src=\"1f235.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u7981:{keywords:[\"kanji\",\"japanese\",\"chinese\",\"forbidden\",\"limit\",\"restricted\",\"red-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈲\" src=\"1f232.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},a:{keywords:[\"red-square\",\"alphabet\",\"letter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🅰️\" src=\"1f170.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},b:{keywords:[\"red-square\",\"alphabet\",\"letter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🅱️\" src=\"1f171.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},ab:{keywords:[\"red-square\",\"alphabet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆎\" src=\"1f18e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},cl:{keywords:[\"alphabet\",\"words\",\"red-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆑\" src=\"1f191.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},o2:{keywords:[\"alphabet\",\"red-square\",\"letter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🅾️\" src=\"1f17e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},sos:{keywords:[\"help\",\"red-square\",\"words\",\"emergency\",\"911\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆘\" src=\"1f198.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},no_entry:{keywords:[\"limit\",\"security\",\"privacy\",\"bad\",\"denied\",\"stop\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⛔\" src=\"26d4.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},name_badge:{keywords:[\"fire\",\"forbid\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📛\" src=\"1f4db.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},no_entry_sign:{keywords:[\"forbid\",\"stop\",\"limit\",\"denied\",\"disallow\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚫\" src=\"1f6ab.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},x:{keywords:[\"no\",\"delete\",\"remove\",\"cancel\",\"red\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❌\" src=\"274c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},o:{keywords:[\"circle\",\"round\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⭕\" src=\"2b55.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},stop_sign:{keywords:[\"stop\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛑\" src=\"1f6d1.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},anger:{keywords:[\"angry\",\"mad\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💢\" src=\"1f4a2.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},hotsprings:{keywords:[\"bath\",\"warm\",\"relax\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♨️\" src=\"2668.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},no_pedestrians:{keywords:[\"rules\",\"crossing\",\"walking\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚷\" src=\"1f6b7.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},do_not_litter:{keywords:[\"trash\",\"bin\",\"garbage\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚯\" src=\"1f6af.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},no_bicycles:{keywords:[\"cyclist\",\"prohibited\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚳\" src=\"1f6b3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},\"non-potable_water\":{keywords:[\"drink\",\"faucet\",\"tap\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚱\" src=\"1f6b1.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},underage:{keywords:[\"18\",\"drink\",\"pub\",\"night\",\"minor\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔞\" src=\"1f51e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},no_mobile_phones:{keywords:[\"iphone\",\"mute\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📵\" src=\"1f4f5.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},exclamation:{keywords:[\"heavy_exclamation_mark\",\"danger\",\"surprise\",\"punctuation\",\"wow\",\"warning\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❗\" src=\"2757.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},grey_exclamation:{keywords:[\"surprise\",\"punctuation\",\"gray\",\"wow\",\"warning\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❕\" src=\"2755.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},question:{keywords:[\"doubt\",\"confused\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❓\" src=\"2753.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},grey_question:{keywords:[\"doubts\",\"gray\",\"huh\",\"confused\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❔\" src=\"2754.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},bangbang:{keywords:[\"exclamation\",\"surprise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"‼️\" src=\"203c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},interrobang:{keywords:[\"wat\",\"punctuation\",\"surprise\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⁉️\" src=\"2049.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},low_brightness:{keywords:[\"sun\",\"afternoon\",\"warm\",\"summer\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔅\" src=\"1f505.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},high_brightness:{keywords:[\"sun\",\"light\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔆\" src=\"1f506.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},trident:{keywords:[\"weapon\",\"spear\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔱\" src=\"1f531.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},fleur_de_lis:{keywords:[\"decorative\",\"scout\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚜\" src=\"269c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},part_alternation_mark:{keywords:[\"graph\",\"presentation\",\"stats\",\"business\",\"economics\",\"bad\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"〽️\" src=\"303d.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},warning:{keywords:[\"exclamation\",\"wip\",\"alert\",\"error\",\"problem\",\"issue\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚠️\" src=\"26a0.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},children_crossing:{keywords:[\"school\",\"warning\",\"danger\",\"sign\",\"driving\",\"yellow-diamond\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚸\" src=\"1f6b8.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},beginner:{keywords:[\"badge\",\"shield\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔰\" src=\"1f530.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},recycle:{keywords:[\"arrow\",\"environment\",\"garbage\",\"trash\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♻️\" src=\"267b.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},u6307:{keywords:[\"chinese\",\"point\",\"green-square\",\"kanji\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈯\" src=\"1f22f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},chart:{keywords:[\"green-square\",\"graph\",\"presentation\",\"stats\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💹\" src=\"1f4b9.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},sparkle:{keywords:[\"stars\",\"green-square\",\"awesome\",\"good\",\"fireworks\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❇️\" src=\"2747.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},eight_spoked_asterisk:{keywords:[\"star\",\"sparkle\",\"green-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✳️\" src=\"2733.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},negative_squared_cross_mark:{keywords:[\"x\",\"green-square\",\"no\",\"deny\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"❎\" src=\"274e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},white_check_mark:{keywords:[\"green-square\",\"ok\",\"agree\",\"vote\",\"election\",\"answer\",\"tick\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✅\" src=\"2705.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},diamond_shape_with_a_dot_inside:{keywords:[\"jewel\",\"blue\",\"gem\",\"crystal\",\"fancy\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💠\" src=\"1f4a0.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},cyclone:{keywords:[\"weather\",\"swirl\",\"blue\",\"cloud\",\"vortex\",\"spiral\",\"whirlpool\",\"spin\",\"tornado\",\"hurricane\",\"typhoon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌀\" src=\"1f300.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},loop:{keywords:[\"tape\",\"cassette\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"➿\" src=\"27bf.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},globe_with_meridians:{keywords:[\"earth\",\"international\",\"world\",\"internet\",\"interweb\",\"i18n\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🌐\" src=\"1f310.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},m:{keywords:[\"alphabet\",\"blue-circle\",\"letter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"Ⓜ️\" src=\"24c2.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},atm:{keywords:[\"money\",\"sales\",\"cash\",\"blue-square\",\"payment\",\"bank\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏧\" src=\"1f3e7.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},sa:{keywords:[\"japanese\",\"blue-square\",\"katakana\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈂️\" src=\"1f202.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},passport_control:{keywords:[\"custom\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛂\" src=\"1f6c2.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},customs:{keywords:[\"passport\",\"border\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛃\" src=\"1f6c3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},baggage_claim:{keywords:[\"blue-square\",\"airport\",\"transport\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛄\" src=\"1f6c4.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},left_luggage:{keywords:[\"blue-square\",\"travel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🛅\" src=\"1f6c5.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},wheelchair:{keywords:[\"blue-square\",\"disabled\",\"a11y\",\"accessibility\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♿\" src=\"267f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},no_smoking:{keywords:[\"cigarette\",\"blue-square\",\"smell\",\"smoke\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚭\" src=\"1f6ad.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},wc:{keywords:[\"toilet\",\"restroom\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚾\" src=\"1f6be.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},parking:{keywords:[\"cars\",\"blue-square\",\"alphabet\",\"letter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🅿️\" src=\"1f17f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},potable_water:{keywords:[\"blue-square\",\"liquid\",\"restroom\",\"cleaning\",\"faucet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚰\" src=\"1f6b0.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},mens:{keywords:[\"toilet\",\"restroom\",\"wc\",\"blue-square\",\"gender\",\"male\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚹\" src=\"1f6b9.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},womens:{keywords:[\"purple-square\",\"woman\",\"female\",\"toilet\",\"loo\",\"restroom\",\"gender\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚺\" src=\"1f6ba.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},baby_symbol:{keywords:[\"orange-square\",\"child\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚼\" src=\"1f6bc.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},restroom:{keywords:[\"blue-square\",\"toilet\",\"refresh\",\"wc\",\"gender\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚻\" src=\"1f6bb.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},put_litter_in_its_place:{keywords:[\"blue-square\",\"sign\",\"human\",\"info\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🚮\" src=\"1f6ae.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},cinema:{keywords:[\"blue-square\",\"record\",\"film\",\"movie\",\"curtain\",\"stage\",\"theater\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎦\" src=\"1f3a6.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},signal_strength:{keywords:[\"blue-square\",\"reception\",\"phone\",\"internet\",\"connection\",\"wifi\",\"bluetooth\",\"bars\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📶\" src=\"1f4f6.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},koko:{keywords:[\"blue-square\",\"here\",\"katakana\",\"japanese\",\"destination\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🈁\" src=\"1f201.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},ng:{keywords:[\"blue-square\",\"words\",\"shape\",\"icon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆖\" src=\"1f196.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},ok:{keywords:[\"good\",\"agree\",\"yes\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆗\" src=\"1f197.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},up:{keywords:[\"blue-square\",\"above\",\"high\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆙\" src=\"1f199.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},cool:{keywords:[\"words\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆒\" src=\"1f192.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},new:{keywords:[\"blue-square\",\"words\",\"start\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆕\" src=\"1f195.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},free:{keywords:[\"blue-square\",\"words\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🆓\" src=\"1f193.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},zero:{keywords:[\"0\",\"numbers\",\"blue-square\",\"null\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"0️⃣\" src=\"30-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},one:{keywords:[\"blue-square\",\"numbers\",\"1\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"1️⃣\" src=\"31-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},two:{keywords:[\"numbers\",\"2\",\"prime\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"2️⃣\" src=\"32-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},three:{keywords:[\"3\",\"numbers\",\"prime\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"3️⃣\" src=\"33-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},four:{keywords:[\"4\",\"numbers\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"4️⃣\" src=\"34-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},five:{keywords:[\"5\",\"numbers\",\"blue-square\",\"prime\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"5️⃣\" src=\"35-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},six:{keywords:[\"6\",\"numbers\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"6️⃣\" src=\"36-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},seven:{keywords:[\"7\",\"numbers\",\"blue-square\",\"prime\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"7️⃣\" src=\"37-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},eight:{keywords:[\"8\",\"blue-square\",\"numbers\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"8️⃣\" src=\"38-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},nine:{keywords:[\"blue-square\",\"numbers\",\"9\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"9️⃣\" src=\"39-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},keycap_ten:{keywords:[\"numbers\",\"10\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔟\" src=\"1f51f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},asterisk:{keywords:[\"star\",\"keycap\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"*⃣\" src=\"2a-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},eject_button:{keywords:[\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏏️\" src=\"23cf.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_forward:{keywords:[\"blue-square\",\"right\",\"direction\",\"play\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"▶️\" src=\"25b6.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},pause_button:{keywords:[\"pause\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏸\" src=\"23f8.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},next_track_button:{keywords:[\"forward\",\"next\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏭\" src=\"23ed.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},stop_button:{keywords:[\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏹\" src=\"23f9.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},record_button:{keywords:[\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏺\" src=\"23fa.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},play_or_pause_button:{keywords:[\"blue-square\",\"play\",\"pause\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏯\" src=\"23ef.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},previous_track_button:{keywords:[\"backward\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏮\" src=\"23ee.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},fast_forward:{keywords:[\"blue-square\",\"play\",\"speed\",\"continue\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏩\" src=\"23e9.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},rewind:{keywords:[\"play\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏪\" src=\"23ea.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},twisted_rightwards_arrows:{keywords:[\"blue-square\",\"shuffle\",\"music\",\"random\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔀\" src=\"1f500.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},repeat:{keywords:[\"loop\",\"record\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔁\" src=\"1f501.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},repeat_one:{keywords:[\"blue-square\",\"loop\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔂\" src=\"1f502.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_backward:{keywords:[\"blue-square\",\"left\",\"direction\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"◀️\" src=\"25c0.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_up_small:{keywords:[\"blue-square\",\"triangle\",\"direction\",\"point\",\"forward\",\"top\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔼\" src=\"1f53c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_down_small:{keywords:[\"blue-square\",\"direction\",\"bottom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔽\" src=\"1f53d.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_double_up:{keywords:[\"blue-square\",\"direction\",\"top\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏫\" src=\"23eb.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_double_down:{keywords:[\"blue-square\",\"direction\",\"bottom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⏬\" src=\"23ec.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_right:{keywords:[\"blue-square\",\"next\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"➡️\" src=\"27a1.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_left:{keywords:[\"blue-square\",\"previous\",\"back\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⬅️\" src=\"2b05.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_up:{keywords:[\"blue-square\",\"continue\",\"top\",\"direction\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⬆️\" src=\"2b06.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_down:{keywords:[\"blue-square\",\"direction\",\"bottom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⬇️\" src=\"2b07.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_upper_right:{keywords:[\"blue-square\",\"point\",\"direction\",\"diagonal\",\"northeast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"↗️\" src=\"2197.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_lower_right:{keywords:[\"blue-square\",\"direction\",\"diagonal\",\"southeast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"↘️\" src=\"2198.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_lower_left:{keywords:[\"blue-square\",\"direction\",\"diagonal\",\"southwest\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"↙️\" src=\"2199.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_upper_left:{keywords:[\"blue-square\",\"point\",\"direction\",\"diagonal\",\"northwest\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"↖️\" src=\"2196.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_up_down:{keywords:[\"blue-square\",\"direction\",\"way\",\"vertical\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"↕️\" src=\"2195.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},left_right_arrow:{keywords:[\"shape\",\"direction\",\"horizontal\",\"sideways\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"↔️\" src=\"2194.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrows_counterclockwise:{keywords:[\"blue-square\",\"sync\",\"cycle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔄\" src=\"1f504.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_right_hook:{keywords:[\"blue-square\",\"return\",\"rotate\",\"direction\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"↪️\" src=\"21aa.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},leftwards_arrow_with_hook:{keywords:[\"back\",\"return\",\"blue-square\",\"undo\",\"enter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"↩️\" src=\"21a9.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_heading_up:{keywords:[\"blue-square\",\"direction\",\"top\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⤴️\" src=\"2934.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrow_heading_down:{keywords:[\"blue-square\",\"direction\",\"bottom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⤵️\" src=\"2935.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},hash:{keywords:[\"symbol\",\"blue-square\",\"twitter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"#️⃣\" src=\"23-20e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},information_source:{keywords:[\"blue-square\",\"alphabet\",\"letter\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"ℹ️\" src=\"2139.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},abc:{keywords:[\"blue-square\",\"alphabet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔤\" src=\"1f524.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},abcd:{keywords:[\"blue-square\",\"alphabet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔡\" src=\"1f521.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},capital_abcd:{keywords:[\"alphabet\",\"words\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔠\" src=\"1f520.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},symbols:{keywords:[\"blue-square\",\"music\",\"note\",\"ampersand\",\"percent\",\"glyphs\",\"characters\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔣\" src=\"1f523.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},musical_note:{keywords:[\"score\",\"tone\",\"sound\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎵\" src=\"1f3b5.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},notes:{keywords:[\"music\",\"score\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎶\" src=\"1f3b6.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},wavy_dash:{keywords:[\"draw\",\"line\",\"moustache\",\"mustache\",\"squiggle\",\"scribble\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"〰️\" src=\"3030.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},curly_loop:{keywords:[\"scribble\",\"draw\",\"shape\",\"squiggle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"➰\" src=\"27b0.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heavy_check_mark:{keywords:[\"ok\",\"nike\",\"answer\",\"yes\",\"tick\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✔️\" src=\"2714.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},arrows_clockwise:{keywords:[\"sync\",\"cycle\",\"round\",\"repeat\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔃\" src=\"1f503.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heavy_plus_sign:{keywords:[\"math\",\"calculation\",\"addition\",\"more\",\"increase\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"➕\" src=\"2795.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heavy_minus_sign:{keywords:[\"math\",\"calculation\",\"subtract\",\"less\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"➖\" src=\"2796.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heavy_division_sign:{keywords:[\"divide\",\"math\",\"calculation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"➗\" src=\"2797.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heavy_multiplication_x:{keywords:[\"math\",\"calculation\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"✖️\" src=\"2716.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},infinity:{keywords:[\"forever\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♾\" src=\"267e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},heavy_dollar_sign:{keywords:[\"money\",\"sales\",\"payment\",\"currency\",\"buck\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💲\" src=\"1f4b2.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},currency_exchange:{keywords:[\"money\",\"sales\",\"dollar\",\"travel\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💱\" src=\"1f4b1.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},copyright:{keywords:[\"ip\",\"license\",\"circle\",\"law\",\"legal\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"©️\" src=\"a9.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},registered:{keywords:[\"alphabet\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"®️\" src=\"ae.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},tm:{keywords:[\"trademark\",\"brand\",\"law\",\"legal\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"™️\" src=\"2122.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},end:{keywords:[\"words\",\"arrow\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔚\" src=\"1f51a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},back:{keywords:[\"arrow\",\"words\",\"return\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔙\" src=\"1f519.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},on:{keywords:[\"arrow\",\"words\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔛\" src=\"1f51b.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},top:{keywords:[\"words\",\"blue-square\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔝\" src=\"1f51d.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},soon:{keywords:[\"arrow\",\"words\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔜\" src=\"1f51c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},ballot_box_with_check:{keywords:[\"ok\",\"agree\",\"confirm\",\"black-square\",\"vote\",\"election\",\"yes\",\"tick\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"☑️\" src=\"2611.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},radio_button:{keywords:[\"input\",\"old\",\"music\",\"circle\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔘\" src=\"1f518.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},white_circle:{keywords:[\"shape\",\"round\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚪\" src=\"26aa.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},black_circle:{keywords:[\"shape\",\"button\",\"round\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⚫\" src=\"26ab.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},red_circle:{keywords:[\"shape\",\"error\",\"danger\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔴\" src=\"1f534.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},large_blue_circle:{keywords:[\"shape\",\"icon\",\"button\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔵\" src=\"1f535.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},small_orange_diamond:{keywords:[\"shape\",\"jewel\",\"gem\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔸\" src=\"1f538.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},small_blue_diamond:{keywords:[\"shape\",\"jewel\",\"gem\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔹\" src=\"1f539.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},large_orange_diamond:{keywords:[\"shape\",\"jewel\",\"gem\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔶\" src=\"1f536.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},large_blue_diamond:{keywords:[\"shape\",\"jewel\",\"gem\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔷\" src=\"1f537.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},small_red_triangle:{keywords:[\"shape\",\"direction\",\"up\",\"top\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔺\" src=\"1f53a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},black_small_square:{keywords:[\"shape\",\"icon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"▪️\" src=\"25aa.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},white_small_square:{keywords:[\"shape\",\"icon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"▫️\" src=\"25ab.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},black_large_square:{keywords:[\"shape\",\"icon\",\"button\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⬛\" src=\"2b1b.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},white_large_square:{keywords:[\"shape\",\"icon\",\"stone\",\"button\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"⬜\" src=\"2b1c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},small_red_triangle_down:{keywords:[\"shape\",\"direction\",\"bottom\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔻\" src=\"1f53b.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},black_medium_square:{keywords:[\"shape\",\"button\",\"icon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"◼️\" src=\"25fc.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},white_medium_square:{keywords:[\"shape\",\"stone\",\"icon\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"◻️\" src=\"25fb.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},black_medium_small_square:{keywords:[\"icon\",\"shape\",\"button\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"◾\" src=\"25fe.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},white_medium_small_square:{keywords:[\"shape\",\"stone\",\"icon\",\"button\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"◽\" src=\"25fd.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},black_square_button:{keywords:[\"shape\",\"input\",\"frame\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔲\" src=\"1f532.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},white_square_button:{keywords:[\"shape\",\"input\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔳\" src=\"1f533.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},speaker:{keywords:[\"sound\",\"volume\",\"silence\",\"broadcast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔈\" src=\"1f508.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},sound:{keywords:[\"volume\",\"speaker\",\"broadcast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔉\" src=\"1f509.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},loud_sound:{keywords:[\"volume\",\"noise\",\"noisy\",\"speaker\",\"broadcast\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔊\" src=\"1f50a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},mute:{keywords:[\"sound\",\"volume\",\"silence\",\"quiet\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔇\" src=\"1f507.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},mega:{keywords:[\"sound\",\"speaker\",\"volume\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📣\" src=\"1f4e3.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},loudspeaker:{keywords:[\"volume\",\"sound\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"📢\" src=\"1f4e2.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},bell:{keywords:[\"sound\",\"notification\",\"christmas\",\"xmas\",\"chime\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔔\" src=\"1f514.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},no_bell:{keywords:[\"sound\",\"volume\",\"mute\",\"quiet\",\"silent\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🔕\" src=\"1f515.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},black_joker:{keywords:[\"poker\",\"cards\",\"game\",\"play\",\"magic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🃏\" src=\"1f0cf.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},mahjong:{keywords:[\"game\",\"play\",\"chinese\",\"kanji\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🀄\" src=\"1f004.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},spades:{keywords:[\"poker\",\"cards\",\"suits\",\"magic\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♠️\" src=\"2660.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clubs:{keywords:[\"poker\",\"cards\",\"magic\",\"suits\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♣️\" src=\"2663.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},hearts:{keywords:[\"poker\",\"cards\",\"magic\",\"suits\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♥️\" src=\"2665.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},diamonds:{keywords:[\"poker\",\"cards\",\"magic\",\"suits\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"♦️\" src=\"2666.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},flower_playing_cards:{keywords:[\"game\",\"sunset\",\"red\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🎴\" src=\"1f3b4.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},thought_balloon:{keywords:[\"bubble\",\"cloud\",\"speech\",\"thinking\",\"dream\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💭\" src=\"1f4ad.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},right_anger_bubble:{keywords:[\"caption\",\"speech\",\"thinking\",\"mad\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗯\" src=\"1f5ef.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},speech_balloon:{keywords:[\"bubble\",\"words\",\"message\",\"talk\",\"chatting\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"💬\" src=\"1f4ac.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},left_speech_bubble:{keywords:[\"words\",\"message\",\"talk\",\"chatting\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🗨\" src=\"1f5e8.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock1:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕐\" src=\"1f550.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock2:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕑\" src=\"1f551.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock3:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕒\" src=\"1f552.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock4:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕓\" src=\"1f553.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock5:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕔\" src=\"1f554.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock6:{keywords:[\"time\",\"late\",\"early\",\"schedule\",\"dawn\",\"dusk\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕕\" src=\"1f555.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock7:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕖\" src=\"1f556.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock8:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕗\" src=\"1f557.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock9:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕘\" src=\"1f558.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock10:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕙\" src=\"1f559.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock11:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕚\" src=\"1f55a.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock12:{keywords:[\"time\",\"noon\",\"midnight\",\"midday\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕛\" src=\"1f55b.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock130:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕜\" src=\"1f55c.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock230:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕝\" src=\"1f55d.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock330:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕞\" src=\"1f55e.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock430:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕟\" src=\"1f55f.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock530:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕠\" src=\"1f560.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock630:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕡\" src=\"1f561.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock730:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕢\" src=\"1f562.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock830:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕣\" src=\"1f563.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock930:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕤\" src=\"1f564.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock1030:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕥\" src=\"1f565.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock1130:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕦\" src=\"1f566.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},clock1230:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🕧\" src=\"1f567.png\"/>',fitzpatrick_scale:false,category:\"symbols\"},afghanistan:{keywords:[\"af\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇫\" src=\"1f1e6-1f1eb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},aland_islands:{keywords:[\"Åland\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇽\" src=\"1f1e6-1f1fd.png\"/>',fitzpatrick_scale:false,category:\"flags\"},albania:{keywords:[\"al\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇱\" src=\"1f1e6-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},algeria:{keywords:[\"dz\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇩🇿\" src=\"1f1e9-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},american_samoa:{keywords:[\"american\",\"ws\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇸\" src=\"1f1e6-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},andorra:{keywords:[\"ad\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇩\" src=\"1f1e6-1f1e9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},angola:{keywords:[\"ao\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇴\" src=\"1f1e6-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},anguilla:{keywords:[\"ai\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇮\" src=\"1f1e6-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},antarctica:{keywords:[\"aq\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇶\" src=\"1f1e6-1f1f6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},antigua_barbuda:{keywords:[\"antigua\",\"barbuda\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇬\" src=\"1f1e6-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},argentina:{keywords:[\"ar\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇷\" src=\"1f1e6-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},armenia:{keywords:[\"am\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇲\" src=\"1f1e6-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},aruba:{keywords:[\"aw\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇼\" src=\"1f1e6-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},australia:{keywords:[\"au\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇺\" src=\"1f1e6-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},austria:{keywords:[\"at\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇹\" src=\"1f1e6-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},azerbaijan:{keywords:[\"az\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇿\" src=\"1f1e6-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},bahamas:{keywords:[\"bs\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇸\" src=\"1f1e7-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},bahrain:{keywords:[\"bh\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇭\" src=\"1f1e7-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},bangladesh:{keywords:[\"bd\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇩\" src=\"1f1e7-1f1e9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},barbados:{keywords:[\"bb\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇧\" src=\"1f1e7-1f1e7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},belarus:{keywords:[\"by\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇾\" src=\"1f1e7-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},belgium:{keywords:[\"be\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇪\" src=\"1f1e7-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},belize:{keywords:[\"bz\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇿\" src=\"1f1e7-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},benin:{keywords:[\"bj\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇯\" src=\"1f1e7-1f1ef.png\"/>',fitzpatrick_scale:false,category:\"flags\"},bermuda:{keywords:[\"bm\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇲\" src=\"1f1e7-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},bhutan:{keywords:[\"bt\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇹\" src=\"1f1e7-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},bolivia:{keywords:[\"bo\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇴\" src=\"1f1e7-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},caribbean_netherlands:{keywords:[\"bonaire\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇶\" src=\"1f1e7-1f1f6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},bosnia_herzegovina:{keywords:[\"bosnia\",\"herzegovina\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇦\" src=\"1f1e7-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},botswana:{keywords:[\"bw\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇼\" src=\"1f1e7-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},brazil:{keywords:[\"br\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇷\" src=\"1f1e7-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},british_indian_ocean_territory:{keywords:[\"british\",\"indian\",\"ocean\",\"territory\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇴\" src=\"1f1ee-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},british_virgin_islands:{keywords:[\"british\",\"virgin\",\"islands\",\"bvi\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇻🇬\" src=\"1f1fb-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},brunei:{keywords:[\"bn\",\"darussalam\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇳\" src=\"1f1e7-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},bulgaria:{keywords:[\"bg\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇬\" src=\"1f1e7-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},burkina_faso:{keywords:[\"burkina\",\"faso\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇫\" src=\"1f1e7-1f1eb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},burundi:{keywords:[\"bi\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇮\" src=\"1f1e7-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cape_verde:{keywords:[\"cabo\",\"verde\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇻\" src=\"1f1e8-1f1fb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cambodia:{keywords:[\"kh\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇭\" src=\"1f1f0-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cameroon:{keywords:[\"cm\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇲\" src=\"1f1e8-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},canada:{keywords:[\"ca\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇦\" src=\"1f1e8-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},canary_islands:{keywords:[\"canary\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇨\" src=\"1f1ee-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cayman_islands:{keywords:[\"cayman\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇾\" src=\"1f1f0-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},central_african_republic:{keywords:[\"central\",\"african\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇫\" src=\"1f1e8-1f1eb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},chad:{keywords:[\"td\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇩\" src=\"1f1f9-1f1e9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},chile:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇱\" src=\"1f1e8-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cn:{keywords:[\"china\",\"chinese\",\"prc\",\"flag\",\"country\",\"nation\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇳\" src=\"1f1e8-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},christmas_island:{keywords:[\"christmas\",\"island\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇽\" src=\"1f1e8-1f1fd.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cocos_islands:{keywords:[\"cocos\",\"keeling\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇨\" src=\"1f1e8-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},colombia:{keywords:[\"co\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇴\" src=\"1f1e8-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},comoros:{keywords:[\"km\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇲\" src=\"1f1f0-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},congo_brazzaville:{keywords:[\"congo\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇬\" src=\"1f1e8-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},congo_kinshasa:{keywords:[\"congo\",\"democratic\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇩\" src=\"1f1e8-1f1e9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cook_islands:{keywords:[\"cook\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇰\" src=\"1f1e8-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},costa_rica:{keywords:[\"costa\",\"rica\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇷\" src=\"1f1e8-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},croatia:{keywords:[\"hr\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇭🇷\" src=\"1f1ed-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cuba:{keywords:[\"cu\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇺\" src=\"1f1e8-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},curacao:{keywords:[\"curaçao\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇼\" src=\"1f1e8-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cyprus:{keywords:[\"cy\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇾\" src=\"1f1e8-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},czech_republic:{keywords:[\"cz\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇿\" src=\"1f1e8-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},denmark:{keywords:[\"dk\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇩🇰\" src=\"1f1e9-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},djibouti:{keywords:[\"dj\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇩🇯\" src=\"1f1e9-1f1ef.png\"/>',fitzpatrick_scale:false,category:\"flags\"},dominica:{keywords:[\"dm\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇩🇲\" src=\"1f1e9-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},dominican_republic:{keywords:[\"dominican\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇩🇴\" src=\"1f1e9-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},ecuador:{keywords:[\"ec\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇪🇨\" src=\"1f1ea-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},egypt:{keywords:[\"eg\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇪🇬\" src=\"1f1ea-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},el_salvador:{keywords:[\"el\",\"salvador\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇻\" src=\"1f1f8-1f1fb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},equatorial_guinea:{keywords:[\"equatorial\",\"gn\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇶\" src=\"1f1ec-1f1f6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},eritrea:{keywords:[\"er\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇪🇷\" src=\"1f1ea-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},estonia:{keywords:[\"ee\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇪🇪\" src=\"1f1ea-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},ethiopia:{keywords:[\"et\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇪🇹\" src=\"1f1ea-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},eu:{keywords:[\"european\",\"union\",\"flag\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇪🇺\" src=\"1f1ea-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},falkland_islands:{keywords:[\"falkland\",\"islands\",\"malvinas\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇫🇰\" src=\"1f1eb-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},faroe_islands:{keywords:[\"faroe\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇫🇴\" src=\"1f1eb-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},fiji:{keywords:[\"fj\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇫🇯\" src=\"1f1eb-1f1ef.png\"/>',fitzpatrick_scale:false,category:\"flags\"},finland:{keywords:[\"fi\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇫🇮\" src=\"1f1eb-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},fr:{keywords:[\"banner\",\"flag\",\"nation\",\"france\",\"french\",\"country\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇫🇷\" src=\"1f1eb-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},french_guiana:{keywords:[\"french\",\"guiana\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇫\" src=\"1f1ec-1f1eb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},french_polynesia:{keywords:[\"french\",\"polynesia\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇫\" src=\"1f1f5-1f1eb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},french_southern_territories:{keywords:[\"french\",\"southern\",\"territories\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇫\" src=\"1f1f9-1f1eb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},gabon:{keywords:[\"ga\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇦\" src=\"1f1ec-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},gambia:{keywords:[\"gm\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇲\" src=\"1f1ec-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},georgia:{keywords:[\"ge\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇪\" src=\"1f1ec-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},de:{keywords:[\"german\",\"nation\",\"flag\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇩🇪\" src=\"1f1e9-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},ghana:{keywords:[\"gh\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇭\" src=\"1f1ec-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},gibraltar:{keywords:[\"gi\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇮\" src=\"1f1ec-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},greece:{keywords:[\"gr\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇷\" src=\"1f1ec-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},greenland:{keywords:[\"gl\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇱\" src=\"1f1ec-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},grenada:{keywords:[\"gd\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇩\" src=\"1f1ec-1f1e9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},guadeloupe:{keywords:[\"gp\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇵\" src=\"1f1ec-1f1f5.png\"/>',fitzpatrick_scale:false,category:\"flags\"},guam:{keywords:[\"gu\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇺\" src=\"1f1ec-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},guatemala:{keywords:[\"gt\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇹\" src=\"1f1ec-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},guernsey:{keywords:[\"gg\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇬\" src=\"1f1ec-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},guinea:{keywords:[\"gn\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇳\" src=\"1f1ec-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},guinea_bissau:{keywords:[\"gw\",\"bissau\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇼\" src=\"1f1ec-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},guyana:{keywords:[\"gy\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇾\" src=\"1f1ec-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},haiti:{keywords:[\"ht\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇭🇹\" src=\"1f1ed-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},honduras:{keywords:[\"hn\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇭🇳\" src=\"1f1ed-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},hong_kong:{keywords:[\"hong\",\"kong\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇭🇰\" src=\"1f1ed-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},hungary:{keywords:[\"hu\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇭🇺\" src=\"1f1ed-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},iceland:{keywords:[\"is\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇸\" src=\"1f1ee-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},india:{keywords:[\"in\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇳\" src=\"1f1ee-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},indonesia:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇩\" src=\"1f1ee-1f1e9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},iran:{keywords:[\"iran,\",\"islamic\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇷\" src=\"1f1ee-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},iraq:{keywords:[\"iq\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇶\" src=\"1f1ee-1f1f6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},ireland:{keywords:[\"ie\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇪\" src=\"1f1ee-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},isle_of_man:{keywords:[\"isle\",\"man\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇲\" src=\"1f1ee-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},israel:{keywords:[\"il\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇱\" src=\"1f1ee-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},it:{keywords:[\"italy\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇮🇹\" src=\"1f1ee-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},cote_divoire:{keywords:[\"ivory\",\"coast\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇮\" src=\"1f1e8-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},jamaica:{keywords:[\"jm\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇯🇲\" src=\"1f1ef-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},jp:{keywords:[\"japanese\",\"nation\",\"flag\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇯🇵\" src=\"1f1ef-1f1f5.png\"/>',fitzpatrick_scale:false,category:\"flags\"},jersey:{keywords:[\"je\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇯🇪\" src=\"1f1ef-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},jordan:{keywords:[\"jo\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇯🇴\" src=\"1f1ef-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},kazakhstan:{keywords:[\"kz\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇿\" src=\"1f1f0-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},kenya:{keywords:[\"ke\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇪\" src=\"1f1f0-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},kiribati:{keywords:[\"ki\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇮\" src=\"1f1f0-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},kosovo:{keywords:[\"xk\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇽🇰\" src=\"1f1fd-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},kuwait:{keywords:[\"kw\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇼\" src=\"1f1f0-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},kyrgyzstan:{keywords:[\"kg\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇬\" src=\"1f1f0-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},laos:{keywords:[\"lao\",\"democratic\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇦\" src=\"1f1f1-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},latvia:{keywords:[\"lv\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇻\" src=\"1f1f1-1f1fb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},lebanon:{keywords:[\"lb\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇧\" src=\"1f1f1-1f1e7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},lesotho:{keywords:[\"ls\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇸\" src=\"1f1f1-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},liberia:{keywords:[\"lr\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇷\" src=\"1f1f1-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},libya:{keywords:[\"ly\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇾\" src=\"1f1f1-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},liechtenstein:{keywords:[\"li\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇮\" src=\"1f1f1-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},lithuania:{keywords:[\"lt\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇹\" src=\"1f1f1-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},luxembourg:{keywords:[\"lu\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇺\" src=\"1f1f1-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},macau:{keywords:[\"macao\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇴\" src=\"1f1f2-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},macedonia:{keywords:[\"macedonia,\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇰\" src=\"1f1f2-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},madagascar:{keywords:[\"mg\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇬\" src=\"1f1f2-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},malawi:{keywords:[\"mw\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇼\" src=\"1f1f2-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},malaysia:{keywords:[\"my\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇾\" src=\"1f1f2-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},maldives:{keywords:[\"mv\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇻\" src=\"1f1f2-1f1fb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},mali:{keywords:[\"ml\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇱\" src=\"1f1f2-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},malta:{keywords:[\"mt\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇹\" src=\"1f1f2-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},marshall_islands:{keywords:[\"marshall\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇭\" src=\"1f1f2-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},martinique:{keywords:[\"mq\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇶\" src=\"1f1f2-1f1f6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},mauritania:{keywords:[\"mr\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇷\" src=\"1f1f2-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},mauritius:{keywords:[\"mu\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇺\" src=\"1f1f2-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},mayotte:{keywords:[\"yt\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇾🇹\" src=\"1f1fe-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},mexico:{keywords:[\"mx\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇽\" src=\"1f1f2-1f1fd.png\"/>',fitzpatrick_scale:false,category:\"flags\"},micronesia:{keywords:[\"micronesia,\",\"federated\",\"states\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇫🇲\" src=\"1f1eb-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},moldova:{keywords:[\"moldova,\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇩\" src=\"1f1f2-1f1e9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},monaco:{keywords:[\"mc\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇨\" src=\"1f1f2-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},mongolia:{keywords:[\"mn\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇳\" src=\"1f1f2-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},montenegro:{keywords:[\"me\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇪\" src=\"1f1f2-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},montserrat:{keywords:[\"ms\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇸\" src=\"1f1f2-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},morocco:{keywords:[\"ma\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇦\" src=\"1f1f2-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},mozambique:{keywords:[\"mz\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇿\" src=\"1f1f2-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},myanmar:{keywords:[\"mm\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇲\" src=\"1f1f2-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},namibia:{keywords:[\"na\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇦\" src=\"1f1f3-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},nauru:{keywords:[\"nr\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇷\" src=\"1f1f3-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},nepal:{keywords:[\"np\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇵\" src=\"1f1f3-1f1f5.png\"/>',fitzpatrick_scale:false,category:\"flags\"},netherlands:{keywords:[\"nl\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇱\" src=\"1f1f3-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},new_caledonia:{keywords:[\"new\",\"caledonia\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇨\" src=\"1f1f3-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},new_zealand:{keywords:[\"new\",\"zealand\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇿\" src=\"1f1f3-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},nicaragua:{keywords:[\"ni\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇮\" src=\"1f1f3-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},niger:{keywords:[\"ne\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇪\" src=\"1f1f3-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},nigeria:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇬\" src=\"1f1f3-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},niue:{keywords:[\"nu\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇺\" src=\"1f1f3-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},norfolk_island:{keywords:[\"norfolk\",\"island\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇫\" src=\"1f1f3-1f1eb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},northern_mariana_islands:{keywords:[\"northern\",\"mariana\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇲🇵\" src=\"1f1f2-1f1f5.png\"/>',fitzpatrick_scale:false,category:\"flags\"},north_korea:{keywords:[\"north\",\"korea\",\"nation\",\"flag\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇵\" src=\"1f1f0-1f1f5.png\"/>',fitzpatrick_scale:false,category:\"flags\"},norway:{keywords:[\"no\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇳🇴\" src=\"1f1f3-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},oman:{keywords:[\"om_symbol\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇴🇲\" src=\"1f1f4-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},pakistan:{keywords:[\"pk\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇰\" src=\"1f1f5-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},palau:{keywords:[\"pw\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇼\" src=\"1f1f5-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},palestinian_territories:{keywords:[\"palestine\",\"palestinian\",\"territories\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇸\" src=\"1f1f5-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},panama:{keywords:[\"pa\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇦\" src=\"1f1f5-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},papua_new_guinea:{keywords:[\"papua\",\"new\",\"guinea\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇬\" src=\"1f1f5-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},paraguay:{keywords:[\"py\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇾\" src=\"1f1f5-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},peru:{keywords:[\"pe\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇪\" src=\"1f1f5-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},philippines:{keywords:[\"ph\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇭\" src=\"1f1f5-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},pitcairn_islands:{keywords:[\"pitcairn\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇳\" src=\"1f1f5-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},poland:{keywords:[\"pl\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇱\" src=\"1f1f5-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},portugal:{keywords:[\"pt\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇹\" src=\"1f1f5-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},puerto_rico:{keywords:[\"puerto\",\"rico\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇷\" src=\"1f1f5-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},qatar:{keywords:[\"qa\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇶🇦\" src=\"1f1f6-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},reunion:{keywords:[\"réunion\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇷🇪\" src=\"1f1f7-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},romania:{keywords:[\"ro\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇷🇴\" src=\"1f1f7-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},ru:{keywords:[\"russian\",\"federation\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇷🇺\" src=\"1f1f7-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},rwanda:{keywords:[\"rw\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇷🇼\" src=\"1f1f7-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},st_barthelemy:{keywords:[\"saint\",\"barthélemy\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇧🇱\" src=\"1f1e7-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},st_helena:{keywords:[\"saint\",\"helena\",\"ascension\",\"tristan\",\"cunha\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇭\" src=\"1f1f8-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},st_kitts_nevis:{keywords:[\"saint\",\"kitts\",\"nevis\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇳\" src=\"1f1f0-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},st_lucia:{keywords:[\"saint\",\"lucia\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇨\" src=\"1f1f1-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},st_pierre_miquelon:{keywords:[\"saint\",\"pierre\",\"miquelon\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇵🇲\" src=\"1f1f5-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},st_vincent_grenadines:{keywords:[\"saint\",\"vincent\",\"grenadines\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇻🇨\" src=\"1f1fb-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},samoa:{keywords:[\"ws\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇼🇸\" src=\"1f1fc-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},san_marino:{keywords:[\"san\",\"marino\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇲\" src=\"1f1f8-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},sao_tome_principe:{keywords:[\"sao\",\"tome\",\"principe\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇹\" src=\"1f1f8-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},saudi_arabia:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇦\" src=\"1f1f8-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},senegal:{keywords:[\"sn\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇳\" src=\"1f1f8-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},serbia:{keywords:[\"rs\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇷🇸\" src=\"1f1f7-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},seychelles:{keywords:[\"sc\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇨\" src=\"1f1f8-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},sierra_leone:{keywords:[\"sierra\",\"leone\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇱\" src=\"1f1f8-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},singapore:{keywords:[\"sg\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇬\" src=\"1f1f8-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},sint_maarten:{keywords:[\"sint\",\"maarten\",\"dutch\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇽\" src=\"1f1f8-1f1fd.png\"/>',fitzpatrick_scale:false,category:\"flags\"},slovakia:{keywords:[\"sk\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇰\" src=\"1f1f8-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},slovenia:{keywords:[\"si\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇮\" src=\"1f1f8-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},solomon_islands:{keywords:[\"solomon\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇧\" src=\"1f1f8-1f1e7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},somalia:{keywords:[\"so\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇴\" src=\"1f1f8-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},south_africa:{keywords:[\"south\",\"africa\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇿🇦\" src=\"1f1ff-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},south_georgia_south_sandwich_islands:{keywords:[\"south\",\"georgia\",\"sandwich\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇸\" src=\"1f1ec-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},kr:{keywords:[\"south\",\"korea\",\"nation\",\"flag\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇰🇷\" src=\"1f1f0-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},south_sudan:{keywords:[\"south\",\"sd\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇸\" src=\"1f1f8-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},es:{keywords:[\"spain\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇪🇸\" src=\"1f1ea-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},sri_lanka:{keywords:[\"sri\",\"lanka\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇱🇰\" src=\"1f1f1-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},sudan:{keywords:[\"sd\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇩\" src=\"1f1f8-1f1e9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},suriname:{keywords:[\"sr\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇷\" src=\"1f1f8-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},swaziland:{keywords:[\"sz\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇿\" src=\"1f1f8-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},sweden:{keywords:[\"se\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇪\" src=\"1f1f8-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},switzerland:{keywords:[\"ch\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇨🇭\" src=\"1f1e8-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},syria:{keywords:[\"syrian\",\"arab\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇸🇾\" src=\"1f1f8-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},taiwan:{keywords:[\"tw\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇼\" src=\"1f1f9-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},tajikistan:{keywords:[\"tj\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇯\" src=\"1f1f9-1f1ef.png\"/>',fitzpatrick_scale:false,category:\"flags\"},tanzania:{keywords:[\"tanzania,\",\"united\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇿\" src=\"1f1f9-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},thailand:{keywords:[\"th\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇭\" src=\"1f1f9-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},timor_leste:{keywords:[\"timor\",\"leste\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇱\" src=\"1f1f9-1f1f1.png\"/>',fitzpatrick_scale:false,category:\"flags\"},togo:{keywords:[\"tg\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇬\" src=\"1f1f9-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},tokelau:{keywords:[\"tk\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇰\" src=\"1f1f9-1f1f0.png\"/>',fitzpatrick_scale:false,category:\"flags\"},tonga:{keywords:[\"to\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇴\" src=\"1f1f9-1f1f4.png\"/>',fitzpatrick_scale:false,category:\"flags\"},trinidad_tobago:{keywords:[\"trinidad\",\"tobago\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇹\" src=\"1f1f9-1f1f9.png\"/>',fitzpatrick_scale:false,category:\"flags\"},tunisia:{keywords:[\"tn\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇳\" src=\"1f1f9-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},tr:{keywords:[\"turkey\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇷\" src=\"1f1f9-1f1f7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},turkmenistan:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇲\" src=\"1f1f9-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},turks_caicos_islands:{keywords:[\"turks\",\"caicos\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇨\" src=\"1f1f9-1f1e8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},tuvalu:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇹🇻\" src=\"1f1f9-1f1fb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},uganda:{keywords:[\"ug\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇺🇬\" src=\"1f1fa-1f1ec.png\"/>',fitzpatrick_scale:false,category:\"flags\"},ukraine:{keywords:[\"ua\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇺🇦\" src=\"1f1fa-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},united_arab_emirates:{keywords:[\"united\",\"arab\",\"emirates\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇦🇪\" src=\"1f1e6-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},uk:{keywords:[\"united\",\"kingdom\",\"great\",\"britain\",\"northern\",\"ireland\",\"flag\",\"nation\",\"country\",\"banner\",\"british\",\"UK\",\"english\",\"england\",\"union jack\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇬🇧\" src=\"1f1ec-1f1e7.png\"/>',fitzpatrick_scale:false,category:\"flags\"},england:{keywords:[\"flag\",\"english\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏴󠁧󠁢󠁥󠁮󠁧󠁿\" src=\"1f3f4-e0067-e0062-e0065-e006e-e0067-e007f.png\"/>',fitzpatrick_scale:false,category:\"flags\"},scotland:{keywords:[\"flag\",\"scottish\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏴󠁧󠁢󠁳󠁣󠁴󠁿\" src=\"1f3f4-e0067-e0062-e0073-e0063-e0074-e007f.png\"/>',fitzpatrick_scale:false,category:\"flags\"},wales:{keywords:[\"flag\",\"welsh\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏴󠁧󠁢󠁷󠁬󠁳󠁿\" src=\"1f3f4-e0067-e0062-e0077-e006c-e0073-e007f.png\"/>',fitzpatrick_scale:false,category:\"flags\"},us:{keywords:[\"united\",\"states\",\"america\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇺🇸\" src=\"1f1fa-1f1f8.png\"/>',fitzpatrick_scale:false,category:\"flags\"},us_virgin_islands:{keywords:[\"virgin\",\"islands\",\"us\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇻🇮\" src=\"1f1fb-1f1ee.png\"/>',fitzpatrick_scale:false,category:\"flags\"},uruguay:{keywords:[\"uy\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇺🇾\" src=\"1f1fa-1f1fe.png\"/>',fitzpatrick_scale:false,category:\"flags\"},uzbekistan:{keywords:[\"uz\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇺🇿\" src=\"1f1fa-1f1ff.png\"/>',fitzpatrick_scale:false,category:\"flags\"},vanuatu:{keywords:[\"vu\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇻🇺\" src=\"1f1fb-1f1fa.png\"/>',fitzpatrick_scale:false,category:\"flags\"},vatican_city:{keywords:[\"vatican\",\"city\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇻🇦\" src=\"1f1fb-1f1e6.png\"/>',fitzpatrick_scale:false,category:\"flags\"},venezuela:{keywords:[\"ve\",\"bolivarian\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇻🇪\" src=\"1f1fb-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},vietnam:{keywords:[\"viet\",\"nam\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇻🇳\" src=\"1f1fb-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},wallis_futuna:{keywords:[\"wallis\",\"futuna\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇼🇫\" src=\"1f1fc-1f1eb.png\"/>',fitzpatrick_scale:false,category:\"flags\"},western_sahara:{keywords:[\"western\",\"sahara\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇪🇭\" src=\"1f1ea-1f1ed.png\"/>',fitzpatrick_scale:false,category:\"flags\"},yemen:{keywords:[\"ye\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇾🇪\" src=\"1f1fe-1f1ea.png\"/>',fitzpatrick_scale:false,category:\"flags\"},zambia:{keywords:[\"zm\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇿🇲\" src=\"1f1ff-1f1f2.png\"/>',fitzpatrick_scale:false,category:\"flags\"},zimbabwe:{keywords:[\"zw\",\"flag\",\"nation\",\"country\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇿🇼\" src=\"1f1ff-1f1fc.png\"/>',fitzpatrick_scale:false,category:\"flags\"},united_nations:{keywords:[\"un\",\"flag\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🇺🇳\" src=\"1f1fa-1f1f3.png\"/>',fitzpatrick_scale:false,category:\"flags\"},pirate_flag:{keywords:[\"skull\",\"crossbones\",\"flag\",\"banner\"],char:'<img data-emoticon=\"true\" style=\"width:1em;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em\" draggable=\"false\" alt=\"🏴‍☠️\" src=\"1f3f4-200d-2620-fe0f.png\"/>',fitzpatrick_scale:false,category:\"flags\"}});window.tinymce.Resource.add(\"tinymce.plugins.emoticons\",{grinning:{keywords:[\"face\",\"smile\",\"happy\",\"joy\",\":D\",\"grin\"],char:\"😀\",fitzpatrick_scale:false,category:\"people\"},grimacing:{keywords:[\"face\",\"grimace\",\"teeth\"],char:\"😬\",fitzpatrick_scale:false,category:\"people\"},grin:{keywords:[\"face\",\"happy\",\"smile\",\"joy\",\"kawaii\"],char:\"😁\",fitzpatrick_scale:false,category:\"people\"},joy:{keywords:[\"face\",\"cry\",\"tears\",\"weep\",\"happy\",\"happytears\",\"haha\"],char:\"😂\",fitzpatrick_scale:false,category:\"people\"},rofl:{keywords:[\"face\",\"rolling\",\"floor\",\"laughing\",\"lol\",\"haha\"],char:\"🤣\",fitzpatrick_scale:false,category:\"people\"},partying:{keywords:[\"face\",\"celebration\",\"woohoo\"],char:\"🥳\",fitzpatrick_scale:false,category:\"people\"},smiley:{keywords:[\"face\",\"happy\",\"joy\",\"haha\",\":D\",\":)\",\"smile\",\"funny\"],char:\"😃\",fitzpatrick_scale:false,category:\"people\"},smile:{keywords:[\"face\",\"happy\",\"joy\",\"funny\",\"haha\",\"laugh\",\"like\",\":D\",\":)\"],char:\"😄\",fitzpatrick_scale:false,category:\"people\"},sweat_smile:{keywords:[\"face\",\"hot\",\"happy\",\"laugh\",\"sweat\",\"smile\",\"relief\"],char:\"😅\",fitzpatrick_scale:false,category:\"people\"},laughing:{keywords:[\"happy\",\"joy\",\"lol\",\"satisfied\",\"haha\",\"face\",\"glad\",\"XD\",\"laugh\"],char:\"😆\",fitzpatrick_scale:false,category:\"people\"},innocent:{keywords:[\"face\",\"angel\",\"heaven\",\"halo\"],char:\"😇\",fitzpatrick_scale:false,category:\"people\"},wink:{keywords:[\"face\",\"happy\",\"mischievous\",\"secret\",\";)\",\"smile\",\"eye\"],char:\"😉\",fitzpatrick_scale:false,category:\"people\"},blush:{keywords:[\"face\",\"smile\",\"happy\",\"flushed\",\"crush\",\"embarrassed\",\"shy\",\"joy\"],char:\"😊\",fitzpatrick_scale:false,category:\"people\"},slightly_smiling_face:{keywords:[\"face\",\"smile\"],char:\"🙂\",fitzpatrick_scale:false,category:\"people\"},upside_down_face:{keywords:[\"face\",\"flipped\",\"silly\",\"smile\"],char:\"🙃\",fitzpatrick_scale:false,category:\"people\"},relaxed:{keywords:[\"face\",\"blush\",\"massage\",\"happiness\"],char:\"☺️\",fitzpatrick_scale:false,category:\"people\"},yum:{keywords:[\"happy\",\"joy\",\"tongue\",\"smile\",\"face\",\"silly\",\"yummy\",\"nom\",\"delicious\",\"savouring\"],char:\"😋\",fitzpatrick_scale:false,category:\"people\"},relieved:{keywords:[\"face\",\"relaxed\",\"phew\",\"massage\",\"happiness\"],char:\"😌\",fitzpatrick_scale:false,category:\"people\"},heart_eyes:{keywords:[\"face\",\"love\",\"like\",\"affection\",\"valentines\",\"infatuation\",\"crush\",\"heart\"],char:\"😍\",fitzpatrick_scale:false,category:\"people\"},smiling_face_with_three_hearts:{keywords:[\"face\",\"love\",\"like\",\"affection\",\"valentines\",\"infatuation\",\"crush\",\"hearts\",\"adore\"],char:\"🥰\",fitzpatrick_scale:false,category:\"people\"},kissing_heart:{keywords:[\"face\",\"love\",\"like\",\"affection\",\"valentines\",\"infatuation\",\"kiss\"],char:\"😘\",fitzpatrick_scale:false,category:\"people\"},kissing:{keywords:[\"love\",\"like\",\"face\",\"3\",\"valentines\",\"infatuation\",\"kiss\"],char:\"😗\",fitzpatrick_scale:false,category:\"people\"},kissing_smiling_eyes:{keywords:[\"face\",\"affection\",\"valentines\",\"infatuation\",\"kiss\"],char:\"😙\",fitzpatrick_scale:false,category:\"people\"},kissing_closed_eyes:{keywords:[\"face\",\"love\",\"like\",\"affection\",\"valentines\",\"infatuation\",\"kiss\"],char:\"😚\",fitzpatrick_scale:false,category:\"people\"},stuck_out_tongue_winking_eye:{keywords:[\"face\",\"prank\",\"childish\",\"playful\",\"mischievous\",\"smile\",\"wink\",\"tongue\"],char:\"😜\",fitzpatrick_scale:false,category:\"people\"},zany:{keywords:[\"face\",\"goofy\",\"crazy\"],char:\"🤪\",fitzpatrick_scale:false,category:\"people\"},raised_eyebrow:{keywords:[\"face\",\"distrust\",\"scepticism\",\"disapproval\",\"disbelief\",\"surprise\"],char:\"🤨\",fitzpatrick_scale:false,category:\"people\"},monocle:{keywords:[\"face\",\"stuffy\",\"wealthy\"],char:\"🧐\",fitzpatrick_scale:false,category:\"people\"},stuck_out_tongue_closed_eyes:{keywords:[\"face\",\"prank\",\"playful\",\"mischievous\",\"smile\",\"tongue\"],char:\"😝\",fitzpatrick_scale:false,category:\"people\"},stuck_out_tongue:{keywords:[\"face\",\"prank\",\"childish\",\"playful\",\"mischievous\",\"smile\",\"tongue\"],char:\"😛\",fitzpatrick_scale:false,category:\"people\"},money_mouth_face:{keywords:[\"face\",\"rich\",\"dollar\",\"money\"],char:\"🤑\",fitzpatrick_scale:false,category:\"people\"},nerd_face:{keywords:[\"face\",\"nerdy\",\"geek\",\"dork\"],char:\"🤓\",fitzpatrick_scale:false,category:\"people\"},sunglasses:{keywords:[\"face\",\"cool\",\"smile\",\"summer\",\"beach\",\"sunglass\"],char:\"😎\",fitzpatrick_scale:false,category:\"people\"},star_struck:{keywords:[\"face\",\"smile\",\"starry\",\"eyes\",\"grinning\"],char:\"🤩\",fitzpatrick_scale:false,category:\"people\"},clown_face:{keywords:[\"face\"],char:\"🤡\",fitzpatrick_scale:false,category:\"people\"},cowboy_hat_face:{keywords:[\"face\",\"cowgirl\",\"hat\"],char:\"🤠\",fitzpatrick_scale:false,category:\"people\"},hugs:{keywords:[\"face\",\"smile\",\"hug\"],char:\"🤗\",fitzpatrick_scale:false,category:\"people\"},smirk:{keywords:[\"face\",\"smile\",\"mean\",\"prank\",\"smug\",\"sarcasm\"],char:\"😏\",fitzpatrick_scale:false,category:\"people\"},no_mouth:{keywords:[\"face\",\"hellokitty\"],char:\"😶\",fitzpatrick_scale:false,category:\"people\"},neutral_face:{keywords:[\"indifference\",\"meh\",\":|\",\"neutral\"],char:\"😐\",fitzpatrick_scale:false,category:\"people\"},expressionless:{keywords:[\"face\",\"indifferent\",\"-_-\",\"meh\",\"deadpan\"],char:\"😑\",fitzpatrick_scale:false,category:\"people\"},unamused:{keywords:[\"indifference\",\"bored\",\"straight face\",\"serious\",\"sarcasm\",\"unimpressed\",\"skeptical\",\"dubious\",\"side_eye\"],char:\"😒\",fitzpatrick_scale:false,category:\"people\"},roll_eyes:{keywords:[\"face\",\"eyeroll\",\"frustrated\"],char:\"🙄\",fitzpatrick_scale:false,category:\"people\"},thinking:{keywords:[\"face\",\"hmmm\",\"think\",\"consider\"],char:\"🤔\",fitzpatrick_scale:false,category:\"people\"},lying_face:{keywords:[\"face\",\"lie\",\"pinocchio\"],char:\"🤥\",fitzpatrick_scale:false,category:\"people\"},hand_over_mouth:{keywords:[\"face\",\"whoops\",\"shock\",\"surprise\"],char:\"🤭\",fitzpatrick_scale:false,category:\"people\"},shushing:{keywords:[\"face\",\"quiet\",\"shhh\"],char:\"🤫\",fitzpatrick_scale:false,category:\"people\"},symbols_over_mouth:{keywords:[\"face\",\"swearing\",\"cursing\",\"cussing\",\"profanity\",\"expletive\"],char:\"🤬\",fitzpatrick_scale:false,category:\"people\"},exploding_head:{keywords:[\"face\",\"shocked\",\"mind\",\"blown\"],char:\"🤯\",fitzpatrick_scale:false,category:\"people\"},flushed:{keywords:[\"face\",\"blush\",\"shy\",\"flattered\"],char:\"😳\",fitzpatrick_scale:false,category:\"people\"},disappointed:{keywords:[\"face\",\"sad\",\"upset\",\"depressed\",\":(\"],char:\"😞\",fitzpatrick_scale:false,category:\"people\"},worried:{keywords:[\"face\",\"concern\",\"nervous\",\":(\"],char:\"😟\",fitzpatrick_scale:false,category:\"people\"},angry:{keywords:[\"mad\",\"face\",\"annoyed\",\"frustrated\"],char:\"😠\",fitzpatrick_scale:false,category:\"people\"},rage:{keywords:[\"angry\",\"mad\",\"hate\",\"despise\"],char:\"😡\",fitzpatrick_scale:false,category:\"people\"},pensive:{keywords:[\"face\",\"sad\",\"depressed\",\"upset\"],char:\"😔\",fitzpatrick_scale:false,category:\"people\"},confused:{keywords:[\"face\",\"indifference\",\"huh\",\"weird\",\"hmmm\",\":/\"],char:\"😕\",fitzpatrick_scale:false,category:\"people\"},slightly_frowning_face:{keywords:[\"face\",\"frowning\",\"disappointed\",\"sad\",\"upset\"],char:\"🙁\",fitzpatrick_scale:false,category:\"people\"},frowning_face:{keywords:[\"face\",\"sad\",\"upset\",\"frown\"],char:\"☹\",fitzpatrick_scale:false,category:\"people\"},persevere:{keywords:[\"face\",\"sick\",\"no\",\"upset\",\"oops\"],char:\"😣\",fitzpatrick_scale:false,category:\"people\"},confounded:{keywords:[\"face\",\"confused\",\"sick\",\"unwell\",\"oops\",\":S\"],char:\"😖\",fitzpatrick_scale:false,category:\"people\"},tired_face:{keywords:[\"sick\",\"whine\",\"upset\",\"frustrated\"],char:\"😫\",fitzpatrick_scale:false,category:\"people\"},weary:{keywords:[\"face\",\"tired\",\"sleepy\",\"sad\",\"frustrated\",\"upset\"],char:\"😩\",fitzpatrick_scale:false,category:\"people\"},pleading:{keywords:[\"face\",\"begging\",\"mercy\"],char:\"🥺\",fitzpatrick_scale:false,category:\"people\"},triumph:{keywords:[\"face\",\"gas\",\"phew\",\"proud\",\"pride\"],char:\"😤\",fitzpatrick_scale:false,category:\"people\"},open_mouth:{keywords:[\"face\",\"surprise\",\"impressed\",\"wow\",\"whoa\",\":O\"],char:\"😮\",fitzpatrick_scale:false,category:\"people\"},scream:{keywords:[\"face\",\"munch\",\"scared\",\"omg\"],char:\"😱\",fitzpatrick_scale:false,category:\"people\"},fearful:{keywords:[\"face\",\"scared\",\"terrified\",\"nervous\",\"oops\",\"huh\"],char:\"😨\",fitzpatrick_scale:false,category:\"people\"},cold_sweat:{keywords:[\"face\",\"nervous\",\"sweat\"],char:\"😰\",fitzpatrick_scale:false,category:\"people\"},hushed:{keywords:[\"face\",\"woo\",\"shh\"],char:\"😯\",fitzpatrick_scale:false,category:\"people\"},frowning:{keywords:[\"face\",\"aw\",\"what\"],char:\"😦\",fitzpatrick_scale:false,category:\"people\"},anguished:{keywords:[\"face\",\"stunned\",\"nervous\"],char:\"😧\",fitzpatrick_scale:false,category:\"people\"},cry:{keywords:[\"face\",\"tears\",\"sad\",\"depressed\",\"upset\",\":'(\"],char:\"😢\",fitzpatrick_scale:false,category:\"people\"},disappointed_relieved:{keywords:[\"face\",\"phew\",\"sweat\",\"nervous\"],char:\"😥\",fitzpatrick_scale:false,category:\"people\"},drooling_face:{keywords:[\"face\"],char:\"🤤\",fitzpatrick_scale:false,category:\"people\"},sleepy:{keywords:[\"face\",\"tired\",\"rest\",\"nap\"],char:\"😪\",fitzpatrick_scale:false,category:\"people\"},sweat:{keywords:[\"face\",\"hot\",\"sad\",\"tired\",\"exercise\"],char:\"😓\",fitzpatrick_scale:false,category:\"people\"},hot:{keywords:[\"face\",\"feverish\",\"heat\",\"red\",\"sweating\"],char:\"🥵\",fitzpatrick_scale:false,category:\"people\"},cold:{keywords:[\"face\",\"blue\",\"freezing\",\"frozen\",\"frostbite\",\"icicles\"],char:\"🥶\",fitzpatrick_scale:false,category:\"people\"},sob:{keywords:[\"face\",\"cry\",\"tears\",\"sad\",\"upset\",\"depressed\"],char:\"😭\",fitzpatrick_scale:false,category:\"people\"},dizzy_face:{keywords:[\"spent\",\"unconscious\",\"xox\",\"dizzy\"],char:\"😵\",fitzpatrick_scale:false,category:\"people\"},astonished:{keywords:[\"face\",\"xox\",\"surprised\",\"poisoned\"],char:\"😲\",fitzpatrick_scale:false,category:\"people\"},zipper_mouth_face:{keywords:[\"face\",\"sealed\",\"zipper\",\"secret\"],char:\"🤐\",fitzpatrick_scale:false,category:\"people\"},nauseated_face:{keywords:[\"face\",\"vomit\",\"gross\",\"green\",\"sick\",\"throw up\",\"ill\"],char:\"🤢\",fitzpatrick_scale:false,category:\"people\"},sneezing_face:{keywords:[\"face\",\"gesundheit\",\"sneeze\",\"sick\",\"allergy\"],char:\"🤧\",fitzpatrick_scale:false,category:\"people\"},vomiting:{keywords:[\"face\",\"sick\"],char:\"🤮\",fitzpatrick_scale:false,category:\"people\"},mask:{keywords:[\"face\",\"sick\",\"ill\",\"disease\"],char:\"😷\",fitzpatrick_scale:false,category:\"people\"},face_with_thermometer:{keywords:[\"sick\",\"temperature\",\"thermometer\",\"cold\",\"fever\"],char:\"🤒\",fitzpatrick_scale:false,category:\"people\"},face_with_head_bandage:{keywords:[\"injured\",\"clumsy\",\"bandage\",\"hurt\"],char:\"🤕\",fitzpatrick_scale:false,category:\"people\"},woozy:{keywords:[\"face\",\"dizzy\",\"intoxicated\",\"tipsy\",\"wavy\"],char:\"🥴\",fitzpatrick_scale:false,category:\"people\"},sleeping:{keywords:[\"face\",\"tired\",\"sleepy\",\"night\",\"zzz\"],char:\"😴\",fitzpatrick_scale:false,category:\"people\"},zzz:{keywords:[\"sleepy\",\"tired\",\"dream\"],char:\"💤\",fitzpatrick_scale:false,category:\"people\"},poop:{keywords:[\"hankey\",\"shitface\",\"fail\",\"turd\",\"shit\"],char:\"💩\",fitzpatrick_scale:false,category:\"people\"},smiling_imp:{keywords:[\"devil\",\"horns\"],char:\"😈\",fitzpatrick_scale:false,category:\"people\"},imp:{keywords:[\"devil\",\"angry\",\"horns\"],char:\"👿\",fitzpatrick_scale:false,category:\"people\"},japanese_ogre:{keywords:[\"monster\",\"red\",\"mask\",\"halloween\",\"scary\",\"creepy\",\"devil\",\"demon\",\"japanese\",\"ogre\"],char:\"👹\",fitzpatrick_scale:false,category:\"people\"},japanese_goblin:{keywords:[\"red\",\"evil\",\"mask\",\"monster\",\"scary\",\"creepy\",\"japanese\",\"goblin\"],char:\"👺\",fitzpatrick_scale:false,category:\"people\"},skull:{keywords:[\"dead\",\"skeleton\",\"creepy\",\"death\"],char:\"💀\",fitzpatrick_scale:false,category:\"people\"},ghost:{keywords:[\"halloween\",\"spooky\",\"scary\"],char:\"👻\",fitzpatrick_scale:false,category:\"people\"},alien:{keywords:[\"UFO\",\"paul\",\"weird\",\"outer_space\"],char:\"👽\",fitzpatrick_scale:false,category:\"people\"},robot:{keywords:[\"computer\",\"machine\",\"bot\"],char:\"🤖\",fitzpatrick_scale:false,category:\"people\"},smiley_cat:{keywords:[\"animal\",\"cats\",\"happy\",\"smile\"],char:\"😺\",fitzpatrick_scale:false,category:\"people\"},smile_cat:{keywords:[\"animal\",\"cats\",\"smile\"],char:\"😸\",fitzpatrick_scale:false,category:\"people\"},joy_cat:{keywords:[\"animal\",\"cats\",\"haha\",\"happy\",\"tears\"],char:\"😹\",fitzpatrick_scale:false,category:\"people\"},heart_eyes_cat:{keywords:[\"animal\",\"love\",\"like\",\"affection\",\"cats\",\"valentines\",\"heart\"],char:\"😻\",fitzpatrick_scale:false,category:\"people\"},smirk_cat:{keywords:[\"animal\",\"cats\",\"smirk\"],char:\"😼\",fitzpatrick_scale:false,category:\"people\"},kissing_cat:{keywords:[\"animal\",\"cats\",\"kiss\"],char:\"😽\",fitzpatrick_scale:false,category:\"people\"},scream_cat:{keywords:[\"animal\",\"cats\",\"munch\",\"scared\",\"scream\"],char:\"🙀\",fitzpatrick_scale:false,category:\"people\"},crying_cat_face:{keywords:[\"animal\",\"tears\",\"weep\",\"sad\",\"cats\",\"upset\",\"cry\"],char:\"😿\",fitzpatrick_scale:false,category:\"people\"},pouting_cat:{keywords:[\"animal\",\"cats\"],char:\"😾\",fitzpatrick_scale:false,category:\"people\"},palms_up:{keywords:[\"hands\",\"gesture\",\"cupped\",\"prayer\"],char:\"🤲\",fitzpatrick_scale:true,category:\"people\"},raised_hands:{keywords:[\"gesture\",\"hooray\",\"yea\",\"celebration\",\"hands\"],char:\"🙌\",fitzpatrick_scale:true,category:\"people\"},clap:{keywords:[\"hands\",\"praise\",\"applause\",\"congrats\",\"yay\"],char:\"👏\",fitzpatrick_scale:true,category:\"people\"},wave:{keywords:[\"hands\",\"gesture\",\"goodbye\",\"solong\",\"farewell\",\"hello\",\"hi\",\"palm\"],char:\"👋\",fitzpatrick_scale:true,category:\"people\"},call_me_hand:{keywords:[\"hands\",\"gesture\"],char:\"🤙\",fitzpatrick_scale:true,category:\"people\"},\"+1\":{keywords:[\"thumbsup\",\"yes\",\"awesome\",\"good\",\"agree\",\"accept\",\"cool\",\"hand\",\"like\"],char:\"👍\",fitzpatrick_scale:true,category:\"people\"},\"-1\":{keywords:[\"thumbsdown\",\"no\",\"dislike\",\"hand\"],char:\"👎\",fitzpatrick_scale:true,category:\"people\"},facepunch:{keywords:[\"angry\",\"violence\",\"fist\",\"hit\",\"attack\",\"hand\"],char:\"👊\",fitzpatrick_scale:true,category:\"people\"},fist:{keywords:[\"fingers\",\"hand\",\"grasp\"],char:\"✊\",fitzpatrick_scale:true,category:\"people\"},fist_left:{keywords:[\"hand\",\"fistbump\"],char:\"🤛\",fitzpatrick_scale:true,category:\"people\"},fist_right:{keywords:[\"hand\",\"fistbump\"],char:\"🤜\",fitzpatrick_scale:true,category:\"people\"},v:{keywords:[\"fingers\",\"ohyeah\",\"hand\",\"peace\",\"victory\",\"two\"],char:\"✌\",fitzpatrick_scale:true,category:\"people\"},ok_hand:{keywords:[\"fingers\",\"limbs\",\"perfect\",\"ok\",\"okay\"],char:\"👌\",fitzpatrick_scale:true,category:\"people\"},raised_hand:{keywords:[\"fingers\",\"stop\",\"highfive\",\"palm\",\"ban\"],char:\"✋\",fitzpatrick_scale:true,category:\"people\"},raised_back_of_hand:{keywords:[\"fingers\",\"raised\",\"backhand\"],char:\"🤚\",fitzpatrick_scale:true,category:\"people\"},open_hands:{keywords:[\"fingers\",\"butterfly\",\"hands\",\"open\"],char:\"👐\",fitzpatrick_scale:true,category:\"people\"},muscle:{keywords:[\"arm\",\"flex\",\"hand\",\"summer\",\"strong\",\"biceps\"],char:\"💪\",fitzpatrick_scale:true,category:\"people\"},pray:{keywords:[\"please\",\"hope\",\"wish\",\"namaste\",\"highfive\"],char:\"🙏\",fitzpatrick_scale:true,category:\"people\"},foot:{keywords:[\"kick\",\"stomp\"],char:\"🦶\",fitzpatrick_scale:true,category:\"people\"},leg:{keywords:[\"kick\",\"limb\"],char:\"🦵\",fitzpatrick_scale:true,category:\"people\"},handshake:{keywords:[\"agreement\",\"shake\"],char:\"🤝\",fitzpatrick_scale:false,category:\"people\"},point_up:{keywords:[\"hand\",\"fingers\",\"direction\",\"up\"],char:\"☝\",fitzpatrick_scale:true,category:\"people\"},point_up_2:{keywords:[\"fingers\",\"hand\",\"direction\",\"up\"],char:\"👆\",fitzpatrick_scale:true,category:\"people\"},point_down:{keywords:[\"fingers\",\"hand\",\"direction\",\"down\"],char:\"👇\",fitzpatrick_scale:true,category:\"people\"},point_left:{keywords:[\"direction\",\"fingers\",\"hand\",\"left\"],char:\"👈\",fitzpatrick_scale:true,category:\"people\"},point_right:{keywords:[\"fingers\",\"hand\",\"direction\",\"right\"],char:\"👉\",fitzpatrick_scale:true,category:\"people\"},fu:{keywords:[\"hand\",\"fingers\",\"rude\",\"middle\",\"flipping\"],char:\"🖕\",fitzpatrick_scale:true,category:\"people\"},raised_hand_with_fingers_splayed:{keywords:[\"hand\",\"fingers\",\"palm\"],char:\"🖐\",fitzpatrick_scale:true,category:\"people\"},love_you:{keywords:[\"hand\",\"fingers\",\"gesture\"],char:\"🤟\",fitzpatrick_scale:true,category:\"people\"},metal:{keywords:[\"hand\",\"fingers\",\"evil_eye\",\"sign_of_horns\",\"rock_on\"],char:\"🤘\",fitzpatrick_scale:true,category:\"people\"},crossed_fingers:{keywords:[\"good\",\"lucky\"],char:\"🤞\",fitzpatrick_scale:true,category:\"people\"},vulcan_salute:{keywords:[\"hand\",\"fingers\",\"spock\",\"star trek\"],char:\"🖖\",fitzpatrick_scale:true,category:\"people\"},writing_hand:{keywords:[\"lower_left_ballpoint_pen\",\"stationery\",\"write\",\"compose\"],char:\"✍\",fitzpatrick_scale:true,category:\"people\"},selfie:{keywords:[\"camera\",\"phone\"],char:\"🤳\",fitzpatrick_scale:true,category:\"people\"},nail_care:{keywords:[\"beauty\",\"manicure\",\"finger\",\"fashion\",\"nail\"],char:\"💅\",fitzpatrick_scale:true,category:\"people\"},lips:{keywords:[\"mouth\",\"kiss\"],char:\"👄\",fitzpatrick_scale:false,category:\"people\"},tooth:{keywords:[\"teeth\",\"dentist\"],char:\"🦷\",fitzpatrick_scale:false,category:\"people\"},tongue:{keywords:[\"mouth\",\"playful\"],char:\"👅\",fitzpatrick_scale:false,category:\"people\"},ear:{keywords:[\"face\",\"hear\",\"sound\",\"listen\"],char:\"👂\",fitzpatrick_scale:true,category:\"people\"},nose:{keywords:[\"smell\",\"sniff\"],char:\"👃\",fitzpatrick_scale:true,category:\"people\"},eye:{keywords:[\"face\",\"look\",\"see\",\"watch\",\"stare\"],char:\"👁\",fitzpatrick_scale:false,category:\"people\"},eyes:{keywords:[\"look\",\"watch\",\"stalk\",\"peek\",\"see\"],char:\"👀\",fitzpatrick_scale:false,category:\"people\"},brain:{keywords:[\"smart\",\"intelligent\"],char:\"🧠\",fitzpatrick_scale:false,category:\"people\"},bust_in_silhouette:{keywords:[\"user\",\"person\",\"human\"],char:\"👤\",fitzpatrick_scale:false,category:\"people\"},busts_in_silhouette:{keywords:[\"user\",\"person\",\"human\",\"group\",\"team\"],char:\"👥\",fitzpatrick_scale:false,category:\"people\"},speaking_head:{keywords:[\"user\",\"person\",\"human\",\"sing\",\"say\",\"talk\"],char:\"🗣\",fitzpatrick_scale:false,category:\"people\"},baby:{keywords:[\"child\",\"boy\",\"girl\",\"toddler\"],char:\"👶\",fitzpatrick_scale:true,category:\"people\"},child:{keywords:[\"gender-neutral\",\"young\"],char:\"🧒\",fitzpatrick_scale:true,category:\"people\"},boy:{keywords:[\"man\",\"male\",\"guy\",\"teenager\"],char:\"👦\",fitzpatrick_scale:true,category:\"people\"},girl:{keywords:[\"female\",\"woman\",\"teenager\"],char:\"👧\",fitzpatrick_scale:true,category:\"people\"},adult:{keywords:[\"gender-neutral\",\"person\"],char:\"🧑\",fitzpatrick_scale:true,category:\"people\"},man:{keywords:[\"mustache\",\"father\",\"dad\",\"guy\",\"classy\",\"sir\",\"moustache\"],char:\"👨\",fitzpatrick_scale:true,category:\"people\"},woman:{keywords:[\"female\",\"girls\",\"lady\"],char:\"👩\",fitzpatrick_scale:true,category:\"people\"},blonde_woman:{keywords:[\"woman\",\"female\",\"girl\",\"blonde\",\"person\"],char:\"👱‍♀️\",fitzpatrick_scale:true,category:\"people\"},blonde_man:{keywords:[\"man\",\"male\",\"boy\",\"blonde\",\"guy\",\"person\"],char:\"👱\",fitzpatrick_scale:true,category:\"people\"},bearded_person:{keywords:[\"person\",\"bewhiskered\"],char:\"🧔\",fitzpatrick_scale:true,category:\"people\"},older_adult:{keywords:[\"human\",\"elder\",\"senior\",\"gender-neutral\"],char:\"🧓\",fitzpatrick_scale:true,category:\"people\"},older_man:{keywords:[\"human\",\"male\",\"men\",\"old\",\"elder\",\"senior\"],char:\"👴\",fitzpatrick_scale:true,category:\"people\"},older_woman:{keywords:[\"human\",\"female\",\"women\",\"lady\",\"old\",\"elder\",\"senior\"],char:\"👵\",fitzpatrick_scale:true,category:\"people\"},man_with_gua_pi_mao:{keywords:[\"male\",\"boy\",\"chinese\"],char:\"👲\",fitzpatrick_scale:true,category:\"people\"},woman_with_headscarf:{keywords:[\"female\",\"hijab\",\"mantilla\",\"tichel\"],char:\"🧕\",fitzpatrick_scale:true,category:\"people\"},woman_with_turban:{keywords:[\"female\",\"indian\",\"hinduism\",\"arabs\",\"woman\"],char:\"👳‍♀️\",fitzpatrick_scale:true,category:\"people\"},man_with_turban:{keywords:[\"male\",\"indian\",\"hinduism\",\"arabs\"],char:\"👳\",fitzpatrick_scale:true,category:\"people\"},policewoman:{keywords:[\"woman\",\"police\",\"law\",\"legal\",\"enforcement\",\"arrest\",\"911\",\"female\"],char:\"👮‍♀️\",fitzpatrick_scale:true,category:\"people\"},policeman:{keywords:[\"man\",\"police\",\"law\",\"legal\",\"enforcement\",\"arrest\",\"911\"],char:\"👮\",fitzpatrick_scale:true,category:\"people\"},construction_worker_woman:{keywords:[\"female\",\"human\",\"wip\",\"build\",\"construction\",\"worker\",\"labor\",\"woman\"],char:\"👷‍♀️\",fitzpatrick_scale:true,category:\"people\"},construction_worker_man:{keywords:[\"male\",\"human\",\"wip\",\"guy\",\"build\",\"construction\",\"worker\",\"labor\"],char:\"👷\",fitzpatrick_scale:true,category:\"people\"},guardswoman:{keywords:[\"uk\",\"gb\",\"british\",\"female\",\"royal\",\"woman\"],char:\"💂‍♀️\",fitzpatrick_scale:true,category:\"people\"},guardsman:{keywords:[\"uk\",\"gb\",\"british\",\"male\",\"guy\",\"royal\"],char:\"💂\",fitzpatrick_scale:true,category:\"people\"},female_detective:{keywords:[\"human\",\"spy\",\"detective\",\"female\",\"woman\"],char:\"🕵️‍♀️\",fitzpatrick_scale:true,category:\"people\"},male_detective:{keywords:[\"human\",\"spy\",\"detective\"],char:\"🕵\",fitzpatrick_scale:true,category:\"people\"},woman_health_worker:{keywords:[\"doctor\",\"nurse\",\"therapist\",\"healthcare\",\"woman\",\"human\"],char:\"👩‍⚕️\",fitzpatrick_scale:true,category:\"people\"},man_health_worker:{keywords:[\"doctor\",\"nurse\",\"therapist\",\"healthcare\",\"man\",\"human\"],char:\"👨‍⚕️\",fitzpatrick_scale:true,category:\"people\"},woman_farmer:{keywords:[\"rancher\",\"gardener\",\"woman\",\"human\"],char:\"👩‍🌾\",fitzpatrick_scale:true,category:\"people\"},man_farmer:{keywords:[\"rancher\",\"gardener\",\"man\",\"human\"],char:\"👨‍🌾\",fitzpatrick_scale:true,category:\"people\"},woman_cook:{keywords:[\"chef\",\"woman\",\"human\"],char:\"👩‍🍳\",fitzpatrick_scale:true,category:\"people\"},man_cook:{keywords:[\"chef\",\"man\",\"human\"],char:\"👨‍🍳\",fitzpatrick_scale:true,category:\"people\"},woman_student:{keywords:[\"graduate\",\"woman\",\"human\"],char:\"👩‍🎓\",fitzpatrick_scale:true,category:\"people\"},man_student:{keywords:[\"graduate\",\"man\",\"human\"],char:\"👨‍🎓\",fitzpatrick_scale:true,category:\"people\"},woman_singer:{keywords:[\"rockstar\",\"entertainer\",\"woman\",\"human\"],char:\"👩‍🎤\",fitzpatrick_scale:true,category:\"people\"},man_singer:{keywords:[\"rockstar\",\"entertainer\",\"man\",\"human\"],char:\"👨‍🎤\",fitzpatrick_scale:true,category:\"people\"},woman_teacher:{keywords:[\"instructor\",\"professor\",\"woman\",\"human\"],char:\"👩‍🏫\",fitzpatrick_scale:true,category:\"people\"},man_teacher:{keywords:[\"instructor\",\"professor\",\"man\",\"human\"],char:\"👨‍🏫\",fitzpatrick_scale:true,category:\"people\"},woman_factory_worker:{keywords:[\"assembly\",\"industrial\",\"woman\",\"human\"],char:\"👩‍🏭\",fitzpatrick_scale:true,category:\"people\"},man_factory_worker:{keywords:[\"assembly\",\"industrial\",\"man\",\"human\"],char:\"👨‍🏭\",fitzpatrick_scale:true,category:\"people\"},woman_technologist:{keywords:[\"coder\",\"developer\",\"engineer\",\"programmer\",\"software\",\"woman\",\"human\",\"laptop\",\"computer\"],char:\"👩‍💻\",fitzpatrick_scale:true,category:\"people\"},man_technologist:{keywords:[\"coder\",\"developer\",\"engineer\",\"programmer\",\"software\",\"man\",\"human\",\"laptop\",\"computer\"],char:\"👨‍💻\",fitzpatrick_scale:true,category:\"people\"},woman_office_worker:{keywords:[\"business\",\"manager\",\"woman\",\"human\"],char:\"👩‍💼\",fitzpatrick_scale:true,category:\"people\"},man_office_worker:{keywords:[\"business\",\"manager\",\"man\",\"human\"],char:\"👨‍💼\",fitzpatrick_scale:true,category:\"people\"},woman_mechanic:{keywords:[\"plumber\",\"woman\",\"human\",\"wrench\"],char:\"👩‍🔧\",fitzpatrick_scale:true,category:\"people\"},man_mechanic:{keywords:[\"plumber\",\"man\",\"human\",\"wrench\"],char:\"👨‍🔧\",fitzpatrick_scale:true,category:\"people\"},woman_scientist:{keywords:[\"biologist\",\"chemist\",\"engineer\",\"physicist\",\"woman\",\"human\"],char:\"👩‍🔬\",fitzpatrick_scale:true,category:\"people\"},man_scientist:{keywords:[\"biologist\",\"chemist\",\"engineer\",\"physicist\",\"man\",\"human\"],char:\"👨‍🔬\",fitzpatrick_scale:true,category:\"people\"},woman_artist:{keywords:[\"painter\",\"woman\",\"human\"],char:\"👩‍🎨\",fitzpatrick_scale:true,category:\"people\"},man_artist:{keywords:[\"painter\",\"man\",\"human\"],char:\"👨‍🎨\",fitzpatrick_scale:true,category:\"people\"},woman_firefighter:{keywords:[\"fireman\",\"woman\",\"human\"],char:\"👩‍🚒\",fitzpatrick_scale:true,category:\"people\"},man_firefighter:{keywords:[\"fireman\",\"man\",\"human\"],char:\"👨‍🚒\",fitzpatrick_scale:true,category:\"people\"},woman_pilot:{keywords:[\"aviator\",\"plane\",\"woman\",\"human\"],char:\"👩‍✈️\",fitzpatrick_scale:true,category:\"people\"},man_pilot:{keywords:[\"aviator\",\"plane\",\"man\",\"human\"],char:\"👨‍✈️\",fitzpatrick_scale:true,category:\"people\"},woman_astronaut:{keywords:[\"space\",\"rocket\",\"woman\",\"human\"],char:\"👩‍🚀\",fitzpatrick_scale:true,category:\"people\"},man_astronaut:{keywords:[\"space\",\"rocket\",\"man\",\"human\"],char:\"👨‍🚀\",fitzpatrick_scale:true,category:\"people\"},woman_judge:{keywords:[\"justice\",\"court\",\"woman\",\"human\"],char:\"👩‍⚖️\",fitzpatrick_scale:true,category:\"people\"},man_judge:{keywords:[\"justice\",\"court\",\"man\",\"human\"],char:\"👨‍⚖️\",fitzpatrick_scale:true,category:\"people\"},woman_superhero:{keywords:[\"woman\",\"female\",\"good\",\"heroine\",\"superpowers\"],char:\"🦸‍♀️\",fitzpatrick_scale:true,category:\"people\"},man_superhero:{keywords:[\"man\",\"male\",\"good\",\"hero\",\"superpowers\"],char:\"🦸‍♂️\",fitzpatrick_scale:true,category:\"people\"},woman_supervillain:{keywords:[\"woman\",\"female\",\"evil\",\"bad\",\"criminal\",\"heroine\",\"superpowers\"],char:\"🦹‍♀️\",fitzpatrick_scale:true,category:\"people\"},man_supervillain:{keywords:[\"man\",\"male\",\"evil\",\"bad\",\"criminal\",\"hero\",\"superpowers\"],char:\"🦹‍♂️\",fitzpatrick_scale:true,category:\"people\"},mrs_claus:{keywords:[\"woman\",\"female\",\"xmas\",\"mother christmas\"],char:\"🤶\",fitzpatrick_scale:true,category:\"people\"},santa:{keywords:[\"festival\",\"man\",\"male\",\"xmas\",\"father christmas\"],char:\"🎅\",fitzpatrick_scale:true,category:\"people\"},sorceress:{keywords:[\"woman\",\"female\",\"mage\",\"witch\"],char:\"🧙‍♀️\",fitzpatrick_scale:true,category:\"people\"},wizard:{keywords:[\"man\",\"male\",\"mage\",\"sorcerer\"],char:\"🧙‍♂️\",fitzpatrick_scale:true,category:\"people\"},woman_elf:{keywords:[\"woman\",\"female\"],char:\"🧝‍♀️\",fitzpatrick_scale:true,category:\"people\"},man_elf:{keywords:[\"man\",\"male\"],char:\"🧝‍♂️\",fitzpatrick_scale:true,category:\"people\"},woman_vampire:{keywords:[\"woman\",\"female\"],char:\"🧛‍♀️\",fitzpatrick_scale:true,category:\"people\"},man_vampire:{keywords:[\"man\",\"male\",\"dracula\"],char:\"🧛‍♂️\",fitzpatrick_scale:true,category:\"people\"},woman_zombie:{keywords:[\"woman\",\"female\",\"undead\",\"walking dead\"],char:\"🧟‍♀️\",fitzpatrick_scale:false,category:\"people\"},man_zombie:{keywords:[\"man\",\"male\",\"dracula\",\"undead\",\"walking dead\"],char:\"🧟‍♂️\",fitzpatrick_scale:false,category:\"people\"},woman_genie:{keywords:[\"woman\",\"female\"],char:\"🧞‍♀️\",fitzpatrick_scale:false,category:\"people\"},man_genie:{keywords:[\"man\",\"male\"],char:\"🧞‍♂️\",fitzpatrick_scale:false,category:\"people\"},mermaid:{keywords:[\"woman\",\"female\",\"merwoman\",\"ariel\"],char:\"🧜‍♀️\",fitzpatrick_scale:true,category:\"people\"},merman:{keywords:[\"man\",\"male\",\"triton\"],char:\"🧜‍♂️\",fitzpatrick_scale:true,category:\"people\"},woman_fairy:{keywords:[\"woman\",\"female\"],char:\"🧚‍♀️\",fitzpatrick_scale:true,category:\"people\"},man_fairy:{keywords:[\"man\",\"male\"],char:\"🧚‍♂️\",fitzpatrick_scale:true,category:\"people\"},angel:{keywords:[\"heaven\",\"wings\",\"halo\"],char:\"👼\",fitzpatrick_scale:true,category:\"people\"},pregnant_woman:{keywords:[\"baby\"],char:\"🤰\",fitzpatrick_scale:true,category:\"people\"},breastfeeding:{keywords:[\"nursing\",\"baby\"],char:\"🤱\",fitzpatrick_scale:true,category:\"people\"},princess:{keywords:[\"girl\",\"woman\",\"female\",\"blond\",\"crown\",\"royal\",\"queen\"],char:\"👸\",fitzpatrick_scale:true,category:\"people\"},prince:{keywords:[\"boy\",\"man\",\"male\",\"crown\",\"royal\",\"king\"],char:\"🤴\",fitzpatrick_scale:true,category:\"people\"},bride_with_veil:{keywords:[\"couple\",\"marriage\",\"wedding\",\"woman\",\"bride\"],char:\"👰\",fitzpatrick_scale:true,category:\"people\"},man_in_tuxedo:{keywords:[\"couple\",\"marriage\",\"wedding\",\"groom\"],char:\"🤵\",fitzpatrick_scale:true,category:\"people\"},running_woman:{keywords:[\"woman\",\"walking\",\"exercise\",\"race\",\"running\",\"female\"],char:\"🏃‍♀️\",fitzpatrick_scale:true,category:\"people\"},running_man:{keywords:[\"man\",\"walking\",\"exercise\",\"race\",\"running\"],char:\"🏃\",fitzpatrick_scale:true,category:\"people\"},walking_woman:{keywords:[\"human\",\"feet\",\"steps\",\"woman\",\"female\"],char:\"🚶‍♀️\",fitzpatrick_scale:true,category:\"people\"},walking_man:{keywords:[\"human\",\"feet\",\"steps\"],char:\"🚶\",fitzpatrick_scale:true,category:\"people\"},dancer:{keywords:[\"female\",\"girl\",\"woman\",\"fun\"],char:\"💃\",fitzpatrick_scale:true,category:\"people\"},man_dancing:{keywords:[\"male\",\"boy\",\"fun\",\"dancer\"],char:\"🕺\",fitzpatrick_scale:true,category:\"people\"},dancing_women:{keywords:[\"female\",\"bunny\",\"women\",\"girls\"],char:\"👯\",fitzpatrick_scale:false,category:\"people\"},dancing_men:{keywords:[\"male\",\"bunny\",\"men\",\"boys\"],char:\"👯‍♂️\",fitzpatrick_scale:false,category:\"people\"},couple:{keywords:[\"pair\",\"people\",\"human\",\"love\",\"date\",\"dating\",\"like\",\"affection\",\"valentines\",\"marriage\"],char:\"👫\",fitzpatrick_scale:false,category:\"people\"},two_men_holding_hands:{keywords:[\"pair\",\"couple\",\"love\",\"like\",\"bromance\",\"friendship\",\"people\",\"human\"],char:\"👬\",fitzpatrick_scale:false,category:\"people\"},two_women_holding_hands:{keywords:[\"pair\",\"friendship\",\"couple\",\"love\",\"like\",\"female\",\"people\",\"human\"],char:\"👭\",fitzpatrick_scale:false,category:\"people\"},bowing_woman:{keywords:[\"woman\",\"female\",\"girl\"],char:\"🙇‍♀️\",fitzpatrick_scale:true,category:\"people\"},bowing_man:{keywords:[\"man\",\"male\",\"boy\"],char:\"🙇\",fitzpatrick_scale:true,category:\"people\"},man_facepalming:{keywords:[\"man\",\"male\",\"boy\",\"disbelief\"],char:\"🤦‍♂️\",fitzpatrick_scale:true,category:\"people\"},woman_facepalming:{keywords:[\"woman\",\"female\",\"girl\",\"disbelief\"],char:\"🤦‍♀️\",fitzpatrick_scale:true,category:\"people\"},woman_shrugging:{keywords:[\"woman\",\"female\",\"girl\",\"confused\",\"indifferent\",\"doubt\"],char:\"🤷\",fitzpatrick_scale:true,category:\"people\"},man_shrugging:{keywords:[\"man\",\"male\",\"boy\",\"confused\",\"indifferent\",\"doubt\"],char:\"🤷‍♂️\",fitzpatrick_scale:true,category:\"people\"},tipping_hand_woman:{keywords:[\"female\",\"girl\",\"woman\",\"human\",\"information\"],char:\"💁\",fitzpatrick_scale:true,category:\"people\"},tipping_hand_man:{keywords:[\"male\",\"boy\",\"man\",\"human\",\"information\"],char:\"💁‍♂️\",fitzpatrick_scale:true,category:\"people\"},no_good_woman:{keywords:[\"female\",\"girl\",\"woman\",\"nope\"],char:\"🙅\",fitzpatrick_scale:true,category:\"people\"},no_good_man:{keywords:[\"male\",\"boy\",\"man\",\"nope\"],char:\"🙅‍♂️\",fitzpatrick_scale:true,category:\"people\"},ok_woman:{keywords:[\"women\",\"girl\",\"female\",\"pink\",\"human\",\"woman\"],char:\"🙆\",fitzpatrick_scale:true,category:\"people\"},ok_man:{keywords:[\"men\",\"boy\",\"male\",\"blue\",\"human\",\"man\"],char:\"🙆‍♂️\",fitzpatrick_scale:true,category:\"people\"},raising_hand_woman:{keywords:[\"female\",\"girl\",\"woman\"],char:\"🙋\",fitzpatrick_scale:true,category:\"people\"},raising_hand_man:{keywords:[\"male\",\"boy\",\"man\"],char:\"🙋‍♂️\",fitzpatrick_scale:true,category:\"people\"},pouting_woman:{keywords:[\"female\",\"girl\",\"woman\"],char:\"🙎\",fitzpatrick_scale:true,category:\"people\"},pouting_man:{keywords:[\"male\",\"boy\",\"man\"],char:\"🙎‍♂️\",fitzpatrick_scale:true,category:\"people\"},frowning_woman:{keywords:[\"female\",\"girl\",\"woman\",\"sad\",\"depressed\",\"discouraged\",\"unhappy\"],char:\"🙍\",fitzpatrick_scale:true,category:\"people\"},frowning_man:{keywords:[\"male\",\"boy\",\"man\",\"sad\",\"depressed\",\"discouraged\",\"unhappy\"],char:\"🙍‍♂️\",fitzpatrick_scale:true,category:\"people\"},haircut_woman:{keywords:[\"female\",\"girl\",\"woman\"],char:\"💇\",fitzpatrick_scale:true,category:\"people\"},haircut_man:{keywords:[\"male\",\"boy\",\"man\"],char:\"💇‍♂️\",fitzpatrick_scale:true,category:\"people\"},massage_woman:{keywords:[\"female\",\"girl\",\"woman\",\"head\"],char:\"💆\",fitzpatrick_scale:true,category:\"people\"},massage_man:{keywords:[\"male\",\"boy\",\"man\",\"head\"],char:\"💆‍♂️\",fitzpatrick_scale:true,category:\"people\"},woman_in_steamy_room:{keywords:[\"female\",\"woman\",\"spa\",\"steamroom\",\"sauna\"],char:\"🧖‍♀️\",fitzpatrick_scale:true,category:\"people\"},man_in_steamy_room:{keywords:[\"male\",\"man\",\"spa\",\"steamroom\",\"sauna\"],char:\"🧖‍♂️\",fitzpatrick_scale:true,category:\"people\"},couple_with_heart_woman_man:{keywords:[\"pair\",\"love\",\"like\",\"affection\",\"human\",\"dating\",\"valentines\",\"marriage\"],char:\"💑\",fitzpatrick_scale:false,category:\"people\"},couple_with_heart_woman_woman:{keywords:[\"pair\",\"love\",\"like\",\"affection\",\"human\",\"dating\",\"valentines\",\"marriage\"],char:\"👩‍❤️‍👩\",fitzpatrick_scale:false,category:\"people\"},couple_with_heart_man_man:{keywords:[\"pair\",\"love\",\"like\",\"affection\",\"human\",\"dating\",\"valentines\",\"marriage\"],char:\"👨‍❤️‍👨\",fitzpatrick_scale:false,category:\"people\"},couplekiss_man_woman:{keywords:[\"pair\",\"valentines\",\"love\",\"like\",\"dating\",\"marriage\"],char:\"💏\",fitzpatrick_scale:false,category:\"people\"},couplekiss_woman_woman:{keywords:[\"pair\",\"valentines\",\"love\",\"like\",\"dating\",\"marriage\"],char:\"👩‍❤️‍💋‍👩\",fitzpatrick_scale:false,category:\"people\"},couplekiss_man_man:{keywords:[\"pair\",\"valentines\",\"love\",\"like\",\"dating\",\"marriage\"],char:\"👨‍❤️‍💋‍👨\",fitzpatrick_scale:false,category:\"people\"},family_man_woman_boy:{keywords:[\"home\",\"parents\",\"child\",\"mom\",\"dad\",\"father\",\"mother\",\"people\",\"human\"],char:\"👪\",fitzpatrick_scale:false,category:\"people\"},family_man_woman_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"child\"],char:\"👨‍👩‍👧\",fitzpatrick_scale:false,category:\"people\"},family_man_woman_girl_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👨‍👩‍👧‍👦\",fitzpatrick_scale:false,category:\"people\"},family_man_woman_boy_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👨‍👩‍👦‍👦\",fitzpatrick_scale:false,category:\"people\"},family_man_woman_girl_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👨‍👩‍👧‍👧\",fitzpatrick_scale:false,category:\"people\"},family_woman_woman_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👩‍👩‍👦\",fitzpatrick_scale:false,category:\"people\"},family_woman_woman_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👩‍👩‍👧\",fitzpatrick_scale:false,category:\"people\"},family_woman_woman_girl_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👩‍👩‍👧‍👦\",fitzpatrick_scale:false,category:\"people\"},family_woman_woman_boy_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👩‍👩‍👦‍👦\",fitzpatrick_scale:false,category:\"people\"},family_woman_woman_girl_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👩‍👩‍👧‍👧\",fitzpatrick_scale:false,category:\"people\"},family_man_man_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👨‍👨‍👦\",fitzpatrick_scale:false,category:\"people\"},family_man_man_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👨‍👨‍👧\",fitzpatrick_scale:false,category:\"people\"},family_man_man_girl_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👨‍👨‍👧‍👦\",fitzpatrick_scale:false,category:\"people\"},family_man_man_boy_boy:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👨‍👨‍👦‍👦\",fitzpatrick_scale:false,category:\"people\"},family_man_man_girl_girl:{keywords:[\"home\",\"parents\",\"people\",\"human\",\"children\"],char:\"👨‍👨‍👧‍👧\",fitzpatrick_scale:false,category:\"people\"},family_woman_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"child\"],char:\"👩‍👦\",fitzpatrick_scale:false,category:\"people\"},family_woman_girl:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"child\"],char:\"👩‍👧\",fitzpatrick_scale:false,category:\"people\"},family_woman_girl_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:\"👩‍👧‍👦\",fitzpatrick_scale:false,category:\"people\"},family_woman_boy_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:\"👩‍👦‍👦\",fitzpatrick_scale:false,category:\"people\"},family_woman_girl_girl:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:\"👩‍👧‍👧\",fitzpatrick_scale:false,category:\"people\"},family_man_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"child\"],char:\"👨‍👦\",fitzpatrick_scale:false,category:\"people\"},family_man_girl:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"child\"],char:\"👨‍👧\",fitzpatrick_scale:false,category:\"people\"},family_man_girl_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:\"👨‍👧‍👦\",fitzpatrick_scale:false,category:\"people\"},family_man_boy_boy:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:\"👨‍👦‍👦\",fitzpatrick_scale:false,category:\"people\"},family_man_girl_girl:{keywords:[\"home\",\"parent\",\"people\",\"human\",\"children\"],char:\"👨‍👧‍👧\",fitzpatrick_scale:false,category:\"people\"},yarn:{keywords:[\"ball\",\"crochet\",\"knit\"],char:\"🧶\",fitzpatrick_scale:false,category:\"people\"},thread:{keywords:[\"needle\",\"sewing\",\"spool\",\"string\"],char:\"🧵\",fitzpatrick_scale:false,category:\"people\"},coat:{keywords:[\"jacket\"],char:\"🧥\",fitzpatrick_scale:false,category:\"people\"},labcoat:{keywords:[\"doctor\",\"experiment\",\"scientist\",\"chemist\"],char:\"🥼\",fitzpatrick_scale:false,category:\"people\"},womans_clothes:{keywords:[\"fashion\",\"shopping_bags\",\"female\"],char:\"👚\",fitzpatrick_scale:false,category:\"people\"},tshirt:{keywords:[\"fashion\",\"cloth\",\"casual\",\"shirt\",\"tee\"],char:\"👕\",fitzpatrick_scale:false,category:\"people\"},jeans:{keywords:[\"fashion\",\"shopping\"],char:\"👖\",fitzpatrick_scale:false,category:\"people\"},necktie:{keywords:[\"shirt\",\"suitup\",\"formal\",\"fashion\",\"cloth\",\"business\"],char:\"👔\",fitzpatrick_scale:false,category:\"people\"},dress:{keywords:[\"clothes\",\"fashion\",\"shopping\"],char:\"👗\",fitzpatrick_scale:false,category:\"people\"},bikini:{keywords:[\"swimming\",\"female\",\"woman\",\"girl\",\"fashion\",\"beach\",\"summer\"],char:\"👙\",fitzpatrick_scale:false,category:\"people\"},kimono:{keywords:[\"dress\",\"fashion\",\"women\",\"female\",\"japanese\"],char:\"👘\",fitzpatrick_scale:false,category:\"people\"},lipstick:{keywords:[\"female\",\"girl\",\"fashion\",\"woman\"],char:\"💄\",fitzpatrick_scale:false,category:\"people\"},kiss:{keywords:[\"face\",\"lips\",\"love\",\"like\",\"affection\",\"valentines\"],char:\"💋\",fitzpatrick_scale:false,category:\"people\"},footprints:{keywords:[\"feet\",\"tracking\",\"walking\",\"beach\"],char:\"👣\",fitzpatrick_scale:false,category:\"people\"},flat_shoe:{keywords:[\"ballet\",\"slip-on\",\"slipper\"],char:\"🥿\",fitzpatrick_scale:false,category:\"people\"},high_heel:{keywords:[\"fashion\",\"shoes\",\"female\",\"pumps\",\"stiletto\"],char:\"👠\",fitzpatrick_scale:false,category:\"people\"},sandal:{keywords:[\"shoes\",\"fashion\",\"flip flops\"],char:\"👡\",fitzpatrick_scale:false,category:\"people\"},boot:{keywords:[\"shoes\",\"fashion\"],char:\"👢\",fitzpatrick_scale:false,category:\"people\"},mans_shoe:{keywords:[\"fashion\",\"male\"],char:\"👞\",fitzpatrick_scale:false,category:\"people\"},athletic_shoe:{keywords:[\"shoes\",\"sports\",\"sneakers\"],char:\"👟\",fitzpatrick_scale:false,category:\"people\"},hiking_boot:{keywords:[\"backpacking\",\"camping\",\"hiking\"],char:\"🥾\",fitzpatrick_scale:false,category:\"people\"},socks:{keywords:[\"stockings\",\"clothes\"],char:\"🧦\",fitzpatrick_scale:false,category:\"people\"},gloves:{keywords:[\"hands\",\"winter\",\"clothes\"],char:\"🧤\",fitzpatrick_scale:false,category:\"people\"},scarf:{keywords:[\"neck\",\"winter\",\"clothes\"],char:\"🧣\",fitzpatrick_scale:false,category:\"people\"},womans_hat:{keywords:[\"fashion\",\"accessories\",\"female\",\"lady\",\"spring\"],char:\"👒\",fitzpatrick_scale:false,category:\"people\"},tophat:{keywords:[\"magic\",\"gentleman\",\"classy\",\"circus\"],char:\"🎩\",fitzpatrick_scale:false,category:\"people\"},billed_hat:{keywords:[\"cap\",\"baseball\"],char:\"🧢\",fitzpatrick_scale:false,category:\"people\"},rescue_worker_helmet:{keywords:[\"construction\",\"build\"],char:\"⛑\",fitzpatrick_scale:false,category:\"people\"},mortar_board:{keywords:[\"school\",\"college\",\"degree\",\"university\",\"graduation\",\"cap\",\"hat\",\"legal\",\"learn\",\"education\"],char:\"🎓\",fitzpatrick_scale:false,category:\"people\"},crown:{keywords:[\"king\",\"kod\",\"leader\",\"royalty\",\"lord\"],char:\"👑\",fitzpatrick_scale:false,category:\"people\"},school_satchel:{keywords:[\"student\",\"education\",\"bag\",\"backpack\"],char:\"🎒\",fitzpatrick_scale:false,category:\"people\"},luggage:{keywords:[\"packing\",\"travel\"],char:\"🧳\",fitzpatrick_scale:false,category:\"people\"},pouch:{keywords:[\"bag\",\"accessories\",\"shopping\"],char:\"👝\",fitzpatrick_scale:false,category:\"people\"},purse:{keywords:[\"fashion\",\"accessories\",\"money\",\"sales\",\"shopping\"],char:\"👛\",fitzpatrick_scale:false,category:\"people\"},handbag:{keywords:[\"fashion\",\"accessory\",\"accessories\",\"shopping\"],char:\"👜\",fitzpatrick_scale:false,category:\"people\"},briefcase:{keywords:[\"business\",\"documents\",\"work\",\"law\",\"legal\",\"job\",\"career\"],char:\"💼\",fitzpatrick_scale:false,category:\"people\"},eyeglasses:{keywords:[\"fashion\",\"accessories\",\"eyesight\",\"nerdy\",\"dork\",\"geek\"],char:\"👓\",fitzpatrick_scale:false,category:\"people\"},dark_sunglasses:{keywords:[\"face\",\"cool\",\"accessories\"],char:\"🕶\",fitzpatrick_scale:false,category:\"people\"},goggles:{keywords:[\"eyes\",\"protection\",\"safety\"],char:\"🥽\",fitzpatrick_scale:false,category:\"people\"},ring:{keywords:[\"wedding\",\"propose\",\"marriage\",\"valentines\",\"diamond\",\"fashion\",\"jewelry\",\"gem\",\"engagement\"],char:\"💍\",fitzpatrick_scale:false,category:\"people\"},closed_umbrella:{keywords:[\"weather\",\"rain\",\"drizzle\"],char:\"🌂\",fitzpatrick_scale:false,category:\"people\"},dog:{keywords:[\"animal\",\"friend\",\"nature\",\"woof\",\"puppy\",\"pet\",\"faithful\"],char:\"🐶\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cat:{keywords:[\"animal\",\"meow\",\"nature\",\"pet\",\"kitten\"],char:\"🐱\",fitzpatrick_scale:false,category:\"animals_and_nature\"},mouse:{keywords:[\"animal\",\"nature\",\"cheese_wedge\",\"rodent\"],char:\"🐭\",fitzpatrick_scale:false,category:\"animals_and_nature\"},hamster:{keywords:[\"animal\",\"nature\"],char:\"🐹\",fitzpatrick_scale:false,category:\"animals_and_nature\"},rabbit:{keywords:[\"animal\",\"nature\",\"pet\",\"spring\",\"magic\",\"bunny\"],char:\"🐰\",fitzpatrick_scale:false,category:\"animals_and_nature\"},fox_face:{keywords:[\"animal\",\"nature\",\"face\"],char:\"🦊\",fitzpatrick_scale:false,category:\"animals_and_nature\"},bear:{keywords:[\"animal\",\"nature\",\"wild\"],char:\"🐻\",fitzpatrick_scale:false,category:\"animals_and_nature\"},panda_face:{keywords:[\"animal\",\"nature\",\"panda\"],char:\"🐼\",fitzpatrick_scale:false,category:\"animals_and_nature\"},koala:{keywords:[\"animal\",\"nature\"],char:\"🐨\",fitzpatrick_scale:false,category:\"animals_and_nature\"},tiger:{keywords:[\"animal\",\"cat\",\"danger\",\"wild\",\"nature\",\"roar\"],char:\"🐯\",fitzpatrick_scale:false,category:\"animals_and_nature\"},lion:{keywords:[\"animal\",\"nature\"],char:\"🦁\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cow:{keywords:[\"beef\",\"ox\",\"animal\",\"nature\",\"moo\",\"milk\"],char:\"🐮\",fitzpatrick_scale:false,category:\"animals_and_nature\"},pig:{keywords:[\"animal\",\"oink\",\"nature\"],char:\"🐷\",fitzpatrick_scale:false,category:\"animals_and_nature\"},pig_nose:{keywords:[\"animal\",\"oink\"],char:\"🐽\",fitzpatrick_scale:false,category:\"animals_and_nature\"},frog:{keywords:[\"animal\",\"nature\",\"croak\",\"toad\"],char:\"🐸\",fitzpatrick_scale:false,category:\"animals_and_nature\"},squid:{keywords:[\"animal\",\"nature\",\"ocean\",\"sea\"],char:\"🦑\",fitzpatrick_scale:false,category:\"animals_and_nature\"},octopus:{keywords:[\"animal\",\"creature\",\"ocean\",\"sea\",\"nature\",\"beach\"],char:\"🐙\",fitzpatrick_scale:false,category:\"animals_and_nature\"},shrimp:{keywords:[\"animal\",\"ocean\",\"nature\",\"seafood\"],char:\"🦐\",fitzpatrick_scale:false,category:\"animals_and_nature\"},monkey_face:{keywords:[\"animal\",\"nature\",\"circus\"],char:\"🐵\",fitzpatrick_scale:false,category:\"animals_and_nature\"},gorilla:{keywords:[\"animal\",\"nature\",\"circus\"],char:\"🦍\",fitzpatrick_scale:false,category:\"animals_and_nature\"},see_no_evil:{keywords:[\"monkey\",\"animal\",\"nature\",\"haha\"],char:\"🙈\",fitzpatrick_scale:false,category:\"animals_and_nature\"},hear_no_evil:{keywords:[\"animal\",\"monkey\",\"nature\"],char:\"🙉\",fitzpatrick_scale:false,category:\"animals_and_nature\"},speak_no_evil:{keywords:[\"monkey\",\"animal\",\"nature\",\"omg\"],char:\"🙊\",fitzpatrick_scale:false,category:\"animals_and_nature\"},monkey:{keywords:[\"animal\",\"nature\",\"banana\",\"circus\"],char:\"🐒\",fitzpatrick_scale:false,category:\"animals_and_nature\"},chicken:{keywords:[\"animal\",\"cluck\",\"nature\",\"bird\"],char:\"🐔\",fitzpatrick_scale:false,category:\"animals_and_nature\"},penguin:{keywords:[\"animal\",\"nature\"],char:\"🐧\",fitzpatrick_scale:false,category:\"animals_and_nature\"},bird:{keywords:[\"animal\",\"nature\",\"fly\",\"tweet\",\"spring\"],char:\"🐦\",fitzpatrick_scale:false,category:\"animals_and_nature\"},baby_chick:{keywords:[\"animal\",\"chicken\",\"bird\"],char:\"🐤\",fitzpatrick_scale:false,category:\"animals_and_nature\"},hatching_chick:{keywords:[\"animal\",\"chicken\",\"egg\",\"born\",\"baby\",\"bird\"],char:\"🐣\",fitzpatrick_scale:false,category:\"animals_and_nature\"},hatched_chick:{keywords:[\"animal\",\"chicken\",\"baby\",\"bird\"],char:\"🐥\",fitzpatrick_scale:false,category:\"animals_and_nature\"},duck:{keywords:[\"animal\",\"nature\",\"bird\",\"mallard\"],char:\"🦆\",fitzpatrick_scale:false,category:\"animals_and_nature\"},eagle:{keywords:[\"animal\",\"nature\",\"bird\"],char:\"🦅\",fitzpatrick_scale:false,category:\"animals_and_nature\"},owl:{keywords:[\"animal\",\"nature\",\"bird\",\"hoot\"],char:\"🦉\",fitzpatrick_scale:false,category:\"animals_and_nature\"},bat:{keywords:[\"animal\",\"nature\",\"blind\",\"vampire\"],char:\"🦇\",fitzpatrick_scale:false,category:\"animals_and_nature\"},wolf:{keywords:[\"animal\",\"nature\",\"wild\"],char:\"🐺\",fitzpatrick_scale:false,category:\"animals_and_nature\"},boar:{keywords:[\"animal\",\"nature\"],char:\"🐗\",fitzpatrick_scale:false,category:\"animals_and_nature\"},horse:{keywords:[\"animal\",\"brown\",\"nature\"],char:\"🐴\",fitzpatrick_scale:false,category:\"animals_and_nature\"},unicorn:{keywords:[\"animal\",\"nature\",\"mystical\"],char:\"🦄\",fitzpatrick_scale:false,category:\"animals_and_nature\"},honeybee:{keywords:[\"animal\",\"insect\",\"nature\",\"bug\",\"spring\",\"honey\"],char:\"🐝\",fitzpatrick_scale:false,category:\"animals_and_nature\"},bug:{keywords:[\"animal\",\"insect\",\"nature\",\"worm\"],char:\"🐛\",fitzpatrick_scale:false,category:\"animals_and_nature\"},butterfly:{keywords:[\"animal\",\"insect\",\"nature\",\"caterpillar\"],char:\"🦋\",fitzpatrick_scale:false,category:\"animals_and_nature\"},snail:{keywords:[\"slow\",\"animal\",\"shell\"],char:\"🐌\",fitzpatrick_scale:false,category:\"animals_and_nature\"},beetle:{keywords:[\"animal\",\"insect\",\"nature\",\"ladybug\"],char:\"🐞\",fitzpatrick_scale:false,category:\"animals_and_nature\"},ant:{keywords:[\"animal\",\"insect\",\"nature\",\"bug\"],char:\"🐜\",fitzpatrick_scale:false,category:\"animals_and_nature\"},grasshopper:{keywords:[\"animal\",\"cricket\",\"chirp\"],char:\"🦗\",fitzpatrick_scale:false,category:\"animals_and_nature\"},spider:{keywords:[\"animal\",\"arachnid\"],char:\"🕷\",fitzpatrick_scale:false,category:\"animals_and_nature\"},scorpion:{keywords:[\"animal\",\"arachnid\"],char:\"🦂\",fitzpatrick_scale:false,category:\"animals_and_nature\"},crab:{keywords:[\"animal\",\"crustacean\"],char:\"🦀\",fitzpatrick_scale:false,category:\"animals_and_nature\"},snake:{keywords:[\"animal\",\"evil\",\"nature\",\"hiss\",\"python\"],char:\"🐍\",fitzpatrick_scale:false,category:\"animals_and_nature\"},lizard:{keywords:[\"animal\",\"nature\",\"reptile\"],char:\"🦎\",fitzpatrick_scale:false,category:\"animals_and_nature\"},\"t-rex\":{keywords:[\"animal\",\"nature\",\"dinosaur\",\"tyrannosaurus\",\"extinct\"],char:\"🦖\",fitzpatrick_scale:false,category:\"animals_and_nature\"},sauropod:{keywords:[\"animal\",\"nature\",\"dinosaur\",\"brachiosaurus\",\"brontosaurus\",\"diplodocus\",\"extinct\"],char:\"🦕\",fitzpatrick_scale:false,category:\"animals_and_nature\"},turtle:{keywords:[\"animal\",\"slow\",\"nature\",\"tortoise\"],char:\"🐢\",fitzpatrick_scale:false,category:\"animals_and_nature\"},tropical_fish:{keywords:[\"animal\",\"swim\",\"ocean\",\"beach\",\"nemo\"],char:\"🐠\",fitzpatrick_scale:false,category:\"animals_and_nature\"},fish:{keywords:[\"animal\",\"food\",\"nature\"],char:\"🐟\",fitzpatrick_scale:false,category:\"animals_and_nature\"},blowfish:{keywords:[\"animal\",\"nature\",\"food\",\"sea\",\"ocean\"],char:\"🐡\",fitzpatrick_scale:false,category:\"animals_and_nature\"},dolphin:{keywords:[\"animal\",\"nature\",\"fish\",\"sea\",\"ocean\",\"flipper\",\"fins\",\"beach\"],char:\"🐬\",fitzpatrick_scale:false,category:\"animals_and_nature\"},shark:{keywords:[\"animal\",\"nature\",\"fish\",\"sea\",\"ocean\",\"jaws\",\"fins\",\"beach\"],char:\"🦈\",fitzpatrick_scale:false,category:\"animals_and_nature\"},whale:{keywords:[\"animal\",\"nature\",\"sea\",\"ocean\"],char:\"🐳\",fitzpatrick_scale:false,category:\"animals_and_nature\"},whale2:{keywords:[\"animal\",\"nature\",\"sea\",\"ocean\"],char:\"🐋\",fitzpatrick_scale:false,category:\"animals_and_nature\"},crocodile:{keywords:[\"animal\",\"nature\",\"reptile\",\"lizard\",\"alligator\"],char:\"🐊\",fitzpatrick_scale:false,category:\"animals_and_nature\"},leopard:{keywords:[\"animal\",\"nature\"],char:\"🐆\",fitzpatrick_scale:false,category:\"animals_and_nature\"},zebra:{keywords:[\"animal\",\"nature\",\"stripes\",\"safari\"],char:\"🦓\",fitzpatrick_scale:false,category:\"animals_and_nature\"},tiger2:{keywords:[\"animal\",\"nature\",\"roar\"],char:\"🐅\",fitzpatrick_scale:false,category:\"animals_and_nature\"},water_buffalo:{keywords:[\"animal\",\"nature\",\"ox\",\"cow\"],char:\"🐃\",fitzpatrick_scale:false,category:\"animals_and_nature\"},ox:{keywords:[\"animal\",\"cow\",\"beef\"],char:\"🐂\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cow2:{keywords:[\"beef\",\"ox\",\"animal\",\"nature\",\"moo\",\"milk\"],char:\"🐄\",fitzpatrick_scale:false,category:\"animals_and_nature\"},deer:{keywords:[\"animal\",\"nature\",\"horns\",\"venison\"],char:\"🦌\",fitzpatrick_scale:false,category:\"animals_and_nature\"},dromedary_camel:{keywords:[\"animal\",\"hot\",\"desert\",\"hump\"],char:\"🐪\",fitzpatrick_scale:false,category:\"animals_and_nature\"},camel:{keywords:[\"animal\",\"nature\",\"hot\",\"desert\",\"hump\"],char:\"🐫\",fitzpatrick_scale:false,category:\"animals_and_nature\"},giraffe:{keywords:[\"animal\",\"nature\",\"spots\",\"safari\"],char:\"🦒\",fitzpatrick_scale:false,category:\"animals_and_nature\"},elephant:{keywords:[\"animal\",\"nature\",\"nose\",\"th\",\"circus\"],char:\"🐘\",fitzpatrick_scale:false,category:\"animals_and_nature\"},rhinoceros:{keywords:[\"animal\",\"nature\",\"horn\"],char:\"🦏\",fitzpatrick_scale:false,category:\"animals_and_nature\"},goat:{keywords:[\"animal\",\"nature\"],char:\"🐐\",fitzpatrick_scale:false,category:\"animals_and_nature\"},ram:{keywords:[\"animal\",\"sheep\",\"nature\"],char:\"🐏\",fitzpatrick_scale:false,category:\"animals_and_nature\"},sheep:{keywords:[\"animal\",\"nature\",\"wool\",\"shipit\"],char:\"🐑\",fitzpatrick_scale:false,category:\"animals_and_nature\"},racehorse:{keywords:[\"animal\",\"gamble\",\"luck\"],char:\"🐎\",fitzpatrick_scale:false,category:\"animals_and_nature\"},pig2:{keywords:[\"animal\",\"nature\"],char:\"🐖\",fitzpatrick_scale:false,category:\"animals_and_nature\"},rat:{keywords:[\"animal\",\"mouse\",\"rodent\"],char:\"🐀\",fitzpatrick_scale:false,category:\"animals_and_nature\"},mouse2:{keywords:[\"animal\",\"nature\",\"rodent\"],char:\"🐁\",fitzpatrick_scale:false,category:\"animals_and_nature\"},rooster:{keywords:[\"animal\",\"nature\",\"chicken\"],char:\"🐓\",fitzpatrick_scale:false,category:\"animals_and_nature\"},turkey:{keywords:[\"animal\",\"bird\"],char:\"🦃\",fitzpatrick_scale:false,category:\"animals_and_nature\"},dove:{keywords:[\"animal\",\"bird\"],char:\"🕊\",fitzpatrick_scale:false,category:\"animals_and_nature\"},dog2:{keywords:[\"animal\",\"nature\",\"friend\",\"doge\",\"pet\",\"faithful\"],char:\"🐕\",fitzpatrick_scale:false,category:\"animals_and_nature\"},poodle:{keywords:[\"dog\",\"animal\",\"101\",\"nature\",\"pet\"],char:\"🐩\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cat2:{keywords:[\"animal\",\"meow\",\"pet\",\"cats\"],char:\"🐈\",fitzpatrick_scale:false,category:\"animals_and_nature\"},rabbit2:{keywords:[\"animal\",\"nature\",\"pet\",\"magic\",\"spring\"],char:\"🐇\",fitzpatrick_scale:false,category:\"animals_and_nature\"},chipmunk:{keywords:[\"animal\",\"nature\",\"rodent\",\"squirrel\"],char:\"🐿\",fitzpatrick_scale:false,category:\"animals_and_nature\"},hedgehog:{keywords:[\"animal\",\"nature\",\"spiny\"],char:\"🦔\",fitzpatrick_scale:false,category:\"animals_and_nature\"},raccoon:{keywords:[\"animal\",\"nature\"],char:\"🦝\",fitzpatrick_scale:false,category:\"animals_and_nature\"},llama:{keywords:[\"animal\",\"nature\",\"alpaca\"],char:\"🦙\",fitzpatrick_scale:false,category:\"animals_and_nature\"},hippopotamus:{keywords:[\"animal\",\"nature\"],char:\"🦛\",fitzpatrick_scale:false,category:\"animals_and_nature\"},kangaroo:{keywords:[\"animal\",\"nature\",\"australia\",\"joey\",\"hop\",\"marsupial\"],char:\"🦘\",fitzpatrick_scale:false,category:\"animals_and_nature\"},badger:{keywords:[\"animal\",\"nature\",\"honey\"],char:\"🦡\",fitzpatrick_scale:false,category:\"animals_and_nature\"},swan:{keywords:[\"animal\",\"nature\",\"bird\"],char:\"🦢\",fitzpatrick_scale:false,category:\"animals_and_nature\"},peacock:{keywords:[\"animal\",\"nature\",\"peahen\",\"bird\"],char:\"🦚\",fitzpatrick_scale:false,category:\"animals_and_nature\"},parrot:{keywords:[\"animal\",\"nature\",\"bird\",\"pirate\",\"talk\"],char:\"🦜\",fitzpatrick_scale:false,category:\"animals_and_nature\"},lobster:{keywords:[\"animal\",\"nature\",\"bisque\",\"claws\",\"seafood\"],char:\"🦞\",fitzpatrick_scale:false,category:\"animals_and_nature\"},mosquito:{keywords:[\"animal\",\"nature\",\"insect\",\"malaria\"],char:\"🦟\",fitzpatrick_scale:false,category:\"animals_and_nature\"},paw_prints:{keywords:[\"animal\",\"tracking\",\"footprints\",\"dog\",\"cat\",\"pet\",\"feet\"],char:\"🐾\",fitzpatrick_scale:false,category:\"animals_and_nature\"},dragon:{keywords:[\"animal\",\"myth\",\"nature\",\"chinese\",\"green\"],char:\"🐉\",fitzpatrick_scale:false,category:\"animals_and_nature\"},dragon_face:{keywords:[\"animal\",\"myth\",\"nature\",\"chinese\",\"green\"],char:\"🐲\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cactus:{keywords:[\"vegetable\",\"plant\",\"nature\"],char:\"🌵\",fitzpatrick_scale:false,category:\"animals_and_nature\"},christmas_tree:{keywords:[\"festival\",\"vacation\",\"december\",\"xmas\",\"celebration\"],char:\"🎄\",fitzpatrick_scale:false,category:\"animals_and_nature\"},evergreen_tree:{keywords:[\"plant\",\"nature\"],char:\"🌲\",fitzpatrick_scale:false,category:\"animals_and_nature\"},deciduous_tree:{keywords:[\"plant\",\"nature\"],char:\"🌳\",fitzpatrick_scale:false,category:\"animals_and_nature\"},palm_tree:{keywords:[\"plant\",\"vegetable\",\"nature\",\"summer\",\"beach\",\"mojito\",\"tropical\"],char:\"🌴\",fitzpatrick_scale:false,category:\"animals_and_nature\"},seedling:{keywords:[\"plant\",\"nature\",\"grass\",\"lawn\",\"spring\"],char:\"🌱\",fitzpatrick_scale:false,category:\"animals_and_nature\"},herb:{keywords:[\"vegetable\",\"plant\",\"medicine\",\"weed\",\"grass\",\"lawn\"],char:\"🌿\",fitzpatrick_scale:false,category:\"animals_and_nature\"},shamrock:{keywords:[\"vegetable\",\"plant\",\"nature\",\"irish\",\"clover\"],char:\"☘\",fitzpatrick_scale:false,category:\"animals_and_nature\"},four_leaf_clover:{keywords:[\"vegetable\",\"plant\",\"nature\",\"lucky\",\"irish\"],char:\"🍀\",fitzpatrick_scale:false,category:\"animals_and_nature\"},bamboo:{keywords:[\"plant\",\"nature\",\"vegetable\",\"panda\",\"pine_decoration\"],char:\"🎍\",fitzpatrick_scale:false,category:\"animals_and_nature\"},tanabata_tree:{keywords:[\"plant\",\"nature\",\"branch\",\"summer\"],char:\"🎋\",fitzpatrick_scale:false,category:\"animals_and_nature\"},leaves:{keywords:[\"nature\",\"plant\",\"tree\",\"vegetable\",\"grass\",\"lawn\",\"spring\"],char:\"🍃\",fitzpatrick_scale:false,category:\"animals_and_nature\"},fallen_leaf:{keywords:[\"nature\",\"plant\",\"vegetable\",\"leaves\"],char:\"🍂\",fitzpatrick_scale:false,category:\"animals_and_nature\"},maple_leaf:{keywords:[\"nature\",\"plant\",\"vegetable\",\"ca\",\"fall\"],char:\"🍁\",fitzpatrick_scale:false,category:\"animals_and_nature\"},ear_of_rice:{keywords:[\"nature\",\"plant\"],char:\"🌾\",fitzpatrick_scale:false,category:\"animals_and_nature\"},hibiscus:{keywords:[\"plant\",\"vegetable\",\"flowers\",\"beach\"],char:\"🌺\",fitzpatrick_scale:false,category:\"animals_and_nature\"},sunflower:{keywords:[\"nature\",\"plant\",\"fall\"],char:\"🌻\",fitzpatrick_scale:false,category:\"animals_and_nature\"},rose:{keywords:[\"flowers\",\"valentines\",\"love\",\"spring\"],char:\"🌹\",fitzpatrick_scale:false,category:\"animals_and_nature\"},wilted_flower:{keywords:[\"plant\",\"nature\",\"flower\"],char:\"🥀\",fitzpatrick_scale:false,category:\"animals_and_nature\"},tulip:{keywords:[\"flowers\",\"plant\",\"nature\",\"summer\",\"spring\"],char:\"🌷\",fitzpatrick_scale:false,category:\"animals_and_nature\"},blossom:{keywords:[\"nature\",\"flowers\",\"yellow\"],char:\"🌼\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cherry_blossom:{keywords:[\"nature\",\"plant\",\"spring\",\"flower\"],char:\"🌸\",fitzpatrick_scale:false,category:\"animals_and_nature\"},bouquet:{keywords:[\"flowers\",\"nature\",\"spring\"],char:\"💐\",fitzpatrick_scale:false,category:\"animals_and_nature\"},mushroom:{keywords:[\"plant\",\"vegetable\"],char:\"🍄\",fitzpatrick_scale:false,category:\"animals_and_nature\"},chestnut:{keywords:[\"food\",\"squirrel\"],char:\"🌰\",fitzpatrick_scale:false,category:\"animals_and_nature\"},jack_o_lantern:{keywords:[\"halloween\",\"light\",\"pumpkin\",\"creepy\",\"fall\"],char:\"🎃\",fitzpatrick_scale:false,category:\"animals_and_nature\"},shell:{keywords:[\"nature\",\"sea\",\"beach\"],char:\"🐚\",fitzpatrick_scale:false,category:\"animals_and_nature\"},spider_web:{keywords:[\"animal\",\"insect\",\"arachnid\",\"silk\"],char:\"🕸\",fitzpatrick_scale:false,category:\"animals_and_nature\"},earth_americas:{keywords:[\"globe\",\"world\",\"USA\",\"international\"],char:\"🌎\",fitzpatrick_scale:false,category:\"animals_and_nature\"},earth_africa:{keywords:[\"globe\",\"world\",\"international\"],char:\"🌍\",fitzpatrick_scale:false,category:\"animals_and_nature\"},earth_asia:{keywords:[\"globe\",\"world\",\"east\",\"international\"],char:\"🌏\",fitzpatrick_scale:false,category:\"animals_and_nature\"},full_moon:{keywords:[\"nature\",\"yellow\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:\"🌕\",fitzpatrick_scale:false,category:\"animals_and_nature\"},waning_gibbous_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\",\"waxing_gibbous_moon\"],char:\"🌖\",fitzpatrick_scale:false,category:\"animals_and_nature\"},last_quarter_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:\"🌗\",fitzpatrick_scale:false,category:\"animals_and_nature\"},waning_crescent_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:\"🌘\",fitzpatrick_scale:false,category:\"animals_and_nature\"},new_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:\"🌑\",fitzpatrick_scale:false,category:\"animals_and_nature\"},waxing_crescent_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:\"🌒\",fitzpatrick_scale:false,category:\"animals_and_nature\"},first_quarter_moon:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:\"🌓\",fitzpatrick_scale:false,category:\"animals_and_nature\"},waxing_gibbous_moon:{keywords:[\"nature\",\"night\",\"sky\",\"gray\",\"twilight\",\"planet\",\"space\",\"evening\",\"sleep\"],char:\"🌔\",fitzpatrick_scale:false,category:\"animals_and_nature\"},new_moon_with_face:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:\"🌚\",fitzpatrick_scale:false,category:\"animals_and_nature\"},full_moon_with_face:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:\"🌝\",fitzpatrick_scale:false,category:\"animals_and_nature\"},first_quarter_moon_with_face:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:\"🌛\",fitzpatrick_scale:false,category:\"animals_and_nature\"},last_quarter_moon_with_face:{keywords:[\"nature\",\"twilight\",\"planet\",\"space\",\"night\",\"evening\",\"sleep\"],char:\"🌜\",fitzpatrick_scale:false,category:\"animals_and_nature\"},sun_with_face:{keywords:[\"nature\",\"morning\",\"sky\"],char:\"🌞\",fitzpatrick_scale:false,category:\"animals_and_nature\"},crescent_moon:{keywords:[\"night\",\"sleep\",\"sky\",\"evening\",\"magic\"],char:\"🌙\",fitzpatrick_scale:false,category:\"animals_and_nature\"},star:{keywords:[\"night\",\"yellow\"],char:\"⭐\",fitzpatrick_scale:false,category:\"animals_and_nature\"},star2:{keywords:[\"night\",\"sparkle\",\"awesome\",\"good\",\"magic\"],char:\"🌟\",fitzpatrick_scale:false,category:\"animals_and_nature\"},dizzy:{keywords:[\"star\",\"sparkle\",\"shoot\",\"magic\"],char:\"💫\",fitzpatrick_scale:false,category:\"animals_and_nature\"},sparkles:{keywords:[\"stars\",\"shine\",\"shiny\",\"cool\",\"awesome\",\"good\",\"magic\"],char:\"✨\",fitzpatrick_scale:false,category:\"animals_and_nature\"},comet:{keywords:[\"space\"],char:\"☄\",fitzpatrick_scale:false,category:\"animals_and_nature\"},sunny:{keywords:[\"weather\",\"nature\",\"brightness\",\"summer\",\"beach\",\"spring\"],char:\"☀️\",fitzpatrick_scale:false,category:\"animals_and_nature\"},sun_behind_small_cloud:{keywords:[\"weather\"],char:\"🌤\",fitzpatrick_scale:false,category:\"animals_and_nature\"},partly_sunny:{keywords:[\"weather\",\"nature\",\"cloudy\",\"morning\",\"fall\",\"spring\"],char:\"⛅\",fitzpatrick_scale:false,category:\"animals_and_nature\"},sun_behind_large_cloud:{keywords:[\"weather\"],char:\"🌥\",fitzpatrick_scale:false,category:\"animals_and_nature\"},sun_behind_rain_cloud:{keywords:[\"weather\"],char:\"🌦\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud:{keywords:[\"weather\",\"sky\"],char:\"☁️\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud_with_rain:{keywords:[\"weather\"],char:\"🌧\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud_with_lightning_and_rain:{keywords:[\"weather\",\"lightning\"],char:\"⛈\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud_with_lightning:{keywords:[\"weather\",\"thunder\"],char:\"🌩\",fitzpatrick_scale:false,category:\"animals_and_nature\"},zap:{keywords:[\"thunder\",\"weather\",\"lightning bolt\",\"fast\"],char:\"⚡\",fitzpatrick_scale:false,category:\"animals_and_nature\"},fire:{keywords:[\"hot\",\"cook\",\"flame\"],char:\"🔥\",fitzpatrick_scale:false,category:\"animals_and_nature\"},boom:{keywords:[\"bomb\",\"explode\",\"explosion\",\"collision\",\"blown\"],char:\"💥\",fitzpatrick_scale:false,category:\"animals_and_nature\"},snowflake:{keywords:[\"winter\",\"season\",\"cold\",\"weather\",\"christmas\",\"xmas\"],char:\"❄️\",fitzpatrick_scale:false,category:\"animals_and_nature\"},cloud_with_snow:{keywords:[\"weather\"],char:\"🌨\",fitzpatrick_scale:false,category:\"animals_and_nature\"},snowman:{keywords:[\"winter\",\"season\",\"cold\",\"weather\",\"christmas\",\"xmas\",\"frozen\",\"without_snow\"],char:\"⛄\",fitzpatrick_scale:false,category:\"animals_and_nature\"},snowman_with_snow:{keywords:[\"winter\",\"season\",\"cold\",\"weather\",\"christmas\",\"xmas\",\"frozen\"],char:\"☃\",fitzpatrick_scale:false,category:\"animals_and_nature\"},wind_face:{keywords:[\"gust\",\"air\"],char:\"🌬\",fitzpatrick_scale:false,category:\"animals_and_nature\"},dash:{keywords:[\"wind\",\"air\",\"fast\",\"shoo\",\"fart\",\"smoke\",\"puff\"],char:\"💨\",fitzpatrick_scale:false,category:\"animals_and_nature\"},tornado:{keywords:[\"weather\",\"cyclone\",\"twister\"],char:\"🌪\",fitzpatrick_scale:false,category:\"animals_and_nature\"},fog:{keywords:[\"weather\"],char:\"🌫\",fitzpatrick_scale:false,category:\"animals_and_nature\"},open_umbrella:{keywords:[\"weather\",\"spring\"],char:\"☂\",fitzpatrick_scale:false,category:\"animals_and_nature\"},umbrella:{keywords:[\"rainy\",\"weather\",\"spring\"],char:\"☔\",fitzpatrick_scale:false,category:\"animals_and_nature\"},droplet:{keywords:[\"water\",\"drip\",\"faucet\",\"spring\"],char:\"💧\",fitzpatrick_scale:false,category:\"animals_and_nature\"},sweat_drops:{keywords:[\"water\",\"drip\",\"oops\"],char:\"💦\",fitzpatrick_scale:false,category:\"animals_and_nature\"},ocean:{keywords:[\"sea\",\"water\",\"wave\",\"nature\",\"tsunami\",\"disaster\"],char:\"🌊\",fitzpatrick_scale:false,category:\"animals_and_nature\"},green_apple:{keywords:[\"fruit\",\"nature\"],char:\"🍏\",fitzpatrick_scale:false,category:\"food_and_drink\"},apple:{keywords:[\"fruit\",\"mac\",\"school\"],char:\"🍎\",fitzpatrick_scale:false,category:\"food_and_drink\"},pear:{keywords:[\"fruit\",\"nature\",\"food\"],char:\"🍐\",fitzpatrick_scale:false,category:\"food_and_drink\"},tangerine:{keywords:[\"food\",\"fruit\",\"nature\",\"orange\"],char:\"🍊\",fitzpatrick_scale:false,category:\"food_and_drink\"},lemon:{keywords:[\"fruit\",\"nature\"],char:\"🍋\",fitzpatrick_scale:false,category:\"food_and_drink\"},banana:{keywords:[\"fruit\",\"food\",\"monkey\"],char:\"🍌\",fitzpatrick_scale:false,category:\"food_and_drink\"},watermelon:{keywords:[\"fruit\",\"food\",\"picnic\",\"summer\"],char:\"🍉\",fitzpatrick_scale:false,category:\"food_and_drink\"},grapes:{keywords:[\"fruit\",\"food\",\"wine\"],char:\"🍇\",fitzpatrick_scale:false,category:\"food_and_drink\"},strawberry:{keywords:[\"fruit\",\"food\",\"nature\"],char:\"🍓\",fitzpatrick_scale:false,category:\"food_and_drink\"},melon:{keywords:[\"fruit\",\"nature\",\"food\"],char:\"🍈\",fitzpatrick_scale:false,category:\"food_and_drink\"},cherries:{keywords:[\"food\",\"fruit\"],char:\"🍒\",fitzpatrick_scale:false,category:\"food_and_drink\"},peach:{keywords:[\"fruit\",\"nature\",\"food\"],char:\"🍑\",fitzpatrick_scale:false,category:\"food_and_drink\"},pineapple:{keywords:[\"fruit\",\"nature\",\"food\"],char:\"🍍\",fitzpatrick_scale:false,category:\"food_and_drink\"},coconut:{keywords:[\"fruit\",\"nature\",\"food\",\"palm\"],char:\"🥥\",fitzpatrick_scale:false,category:\"food_and_drink\"},kiwi_fruit:{keywords:[\"fruit\",\"food\"],char:\"🥝\",fitzpatrick_scale:false,category:\"food_and_drink\"},mango:{keywords:[\"fruit\",\"food\",\"tropical\"],char:\"🥭\",fitzpatrick_scale:false,category:\"food_and_drink\"},avocado:{keywords:[\"fruit\",\"food\"],char:\"🥑\",fitzpatrick_scale:false,category:\"food_and_drink\"},broccoli:{keywords:[\"fruit\",\"food\",\"vegetable\"],char:\"🥦\",fitzpatrick_scale:false,category:\"food_and_drink\"},tomato:{keywords:[\"fruit\",\"vegetable\",\"nature\",\"food\"],char:\"🍅\",fitzpatrick_scale:false,category:\"food_and_drink\"},eggplant:{keywords:[\"vegetable\",\"nature\",\"food\",\"aubergine\"],char:\"🍆\",fitzpatrick_scale:false,category:\"food_and_drink\"},cucumber:{keywords:[\"fruit\",\"food\",\"pickle\"],char:\"🥒\",fitzpatrick_scale:false,category:\"food_and_drink\"},carrot:{keywords:[\"vegetable\",\"food\",\"orange\"],char:\"🥕\",fitzpatrick_scale:false,category:\"food_and_drink\"},hot_pepper:{keywords:[\"food\",\"spicy\",\"chilli\",\"chili\"],char:\"🌶\",fitzpatrick_scale:false,category:\"food_and_drink\"},potato:{keywords:[\"food\",\"tuber\",\"vegatable\",\"starch\"],char:\"🥔\",fitzpatrick_scale:false,category:\"food_and_drink\"},corn:{keywords:[\"food\",\"vegetable\",\"plant\"],char:\"🌽\",fitzpatrick_scale:false,category:\"food_and_drink\"},leafy_greens:{keywords:[\"food\",\"vegetable\",\"plant\",\"bok choy\",\"cabbage\",\"kale\",\"lettuce\"],char:\"🥬\",fitzpatrick_scale:false,category:\"food_and_drink\"},sweet_potato:{keywords:[\"food\",\"nature\"],char:\"🍠\",fitzpatrick_scale:false,category:\"food_and_drink\"},peanuts:{keywords:[\"food\",\"nut\"],char:\"🥜\",fitzpatrick_scale:false,category:\"food_and_drink\"},honey_pot:{keywords:[\"bees\",\"sweet\",\"kitchen\"],char:\"🍯\",fitzpatrick_scale:false,category:\"food_and_drink\"},croissant:{keywords:[\"food\",\"bread\",\"french\"],char:\"🥐\",fitzpatrick_scale:false,category:\"food_and_drink\"},bread:{keywords:[\"food\",\"wheat\",\"breakfast\",\"toast\"],char:\"🍞\",fitzpatrick_scale:false,category:\"food_and_drink\"},baguette_bread:{keywords:[\"food\",\"bread\",\"french\"],char:\"🥖\",fitzpatrick_scale:false,category:\"food_and_drink\"},bagel:{keywords:[\"food\",\"bread\",\"bakery\",\"schmear\"],char:\"🥯\",fitzpatrick_scale:false,category:\"food_and_drink\"},pretzel:{keywords:[\"food\",\"bread\",\"twisted\"],char:\"🥨\",fitzpatrick_scale:false,category:\"food_and_drink\"},cheese:{keywords:[\"food\",\"chadder\"],char:\"🧀\",fitzpatrick_scale:false,category:\"food_and_drink\"},egg:{keywords:[\"food\",\"chicken\",\"breakfast\"],char:\"🥚\",fitzpatrick_scale:false,category:\"food_and_drink\"},bacon:{keywords:[\"food\",\"breakfast\",\"pork\",\"pig\",\"meat\"],char:\"🥓\",fitzpatrick_scale:false,category:\"food_and_drink\"},steak:{keywords:[\"food\",\"cow\",\"meat\",\"cut\",\"chop\",\"lambchop\",\"porkchop\"],char:\"🥩\",fitzpatrick_scale:false,category:\"food_and_drink\"},pancakes:{keywords:[\"food\",\"breakfast\",\"flapjacks\",\"hotcakes\"],char:\"🥞\",fitzpatrick_scale:false,category:\"food_and_drink\"},poultry_leg:{keywords:[\"food\",\"meat\",\"drumstick\",\"bird\",\"chicken\",\"turkey\"],char:\"🍗\",fitzpatrick_scale:false,category:\"food_and_drink\"},meat_on_bone:{keywords:[\"good\",\"food\",\"drumstick\"],char:\"🍖\",fitzpatrick_scale:false,category:\"food_and_drink\"},bone:{keywords:[\"skeleton\"],char:\"🦴\",fitzpatrick_scale:false,category:\"food_and_drink\"},fried_shrimp:{keywords:[\"food\",\"animal\",\"appetizer\",\"summer\"],char:\"🍤\",fitzpatrick_scale:false,category:\"food_and_drink\"},fried_egg:{keywords:[\"food\",\"breakfast\",\"kitchen\",\"egg\"],char:\"🍳\",fitzpatrick_scale:false,category:\"food_and_drink\"},hamburger:{keywords:[\"meat\",\"fast food\",\"beef\",\"cheeseburger\",\"mcdonalds\",\"burger king\"],char:\"🍔\",fitzpatrick_scale:false,category:\"food_and_drink\"},fries:{keywords:[\"chips\",\"snack\",\"fast food\"],char:\"🍟\",fitzpatrick_scale:false,category:\"food_and_drink\"},stuffed_flatbread:{keywords:[\"food\",\"flatbread\",\"stuffed\",\"gyro\"],char:\"🥙\",fitzpatrick_scale:false,category:\"food_and_drink\"},hotdog:{keywords:[\"food\",\"frankfurter\"],char:\"🌭\",fitzpatrick_scale:false,category:\"food_and_drink\"},pizza:{keywords:[\"food\",\"party\"],char:\"🍕\",fitzpatrick_scale:false,category:\"food_and_drink\"},sandwich:{keywords:[\"food\",\"lunch\",\"bread\"],char:\"🥪\",fitzpatrick_scale:false,category:\"food_and_drink\"},canned_food:{keywords:[\"food\",\"soup\"],char:\"🥫\",fitzpatrick_scale:false,category:\"food_and_drink\"},spaghetti:{keywords:[\"food\",\"italian\",\"noodle\"],char:\"🍝\",fitzpatrick_scale:false,category:\"food_and_drink\"},taco:{keywords:[\"food\",\"mexican\"],char:\"🌮\",fitzpatrick_scale:false,category:\"food_and_drink\"},burrito:{keywords:[\"food\",\"mexican\"],char:\"🌯\",fitzpatrick_scale:false,category:\"food_and_drink\"},green_salad:{keywords:[\"food\",\"healthy\",\"lettuce\"],char:\"🥗\",fitzpatrick_scale:false,category:\"food_and_drink\"},shallow_pan_of_food:{keywords:[\"food\",\"cooking\",\"casserole\",\"paella\"],char:\"🥘\",fitzpatrick_scale:false,category:\"food_and_drink\"},ramen:{keywords:[\"food\",\"japanese\",\"noodle\",\"chopsticks\"],char:\"🍜\",fitzpatrick_scale:false,category:\"food_and_drink\"},stew:{keywords:[\"food\",\"meat\",\"soup\"],char:\"🍲\",fitzpatrick_scale:false,category:\"food_and_drink\"},fish_cake:{keywords:[\"food\",\"japan\",\"sea\",\"beach\",\"narutomaki\",\"pink\",\"swirl\",\"kamaboko\",\"surimi\",\"ramen\"],char:\"🍥\",fitzpatrick_scale:false,category:\"food_and_drink\"},fortune_cookie:{keywords:[\"food\",\"prophecy\"],char:\"🥠\",fitzpatrick_scale:false,category:\"food_and_drink\"},sushi:{keywords:[\"food\",\"fish\",\"japanese\",\"rice\"],char:\"🍣\",fitzpatrick_scale:false,category:\"food_and_drink\"},bento:{keywords:[\"food\",\"japanese\",\"box\"],char:\"🍱\",fitzpatrick_scale:false,category:\"food_and_drink\"},curry:{keywords:[\"food\",\"spicy\",\"hot\",\"indian\"],char:\"🍛\",fitzpatrick_scale:false,category:\"food_and_drink\"},rice_ball:{keywords:[\"food\",\"japanese\"],char:\"🍙\",fitzpatrick_scale:false,category:\"food_and_drink\"},rice:{keywords:[\"food\",\"china\",\"asian\"],char:\"🍚\",fitzpatrick_scale:false,category:\"food_and_drink\"},rice_cracker:{keywords:[\"food\",\"japanese\"],char:\"🍘\",fitzpatrick_scale:false,category:\"food_and_drink\"},oden:{keywords:[\"food\",\"japanese\"],char:\"🍢\",fitzpatrick_scale:false,category:\"food_and_drink\"},dango:{keywords:[\"food\",\"dessert\",\"sweet\",\"japanese\",\"barbecue\",\"meat\"],char:\"🍡\",fitzpatrick_scale:false,category:\"food_and_drink\"},shaved_ice:{keywords:[\"hot\",\"dessert\",\"summer\"],char:\"🍧\",fitzpatrick_scale:false,category:\"food_and_drink\"},ice_cream:{keywords:[\"food\",\"hot\",\"dessert\"],char:\"🍨\",fitzpatrick_scale:false,category:\"food_and_drink\"},icecream:{keywords:[\"food\",\"hot\",\"dessert\",\"summer\"],char:\"🍦\",fitzpatrick_scale:false,category:\"food_and_drink\"},pie:{keywords:[\"food\",\"dessert\",\"pastry\"],char:\"🥧\",fitzpatrick_scale:false,category:\"food_and_drink\"},cake:{keywords:[\"food\",\"dessert\"],char:\"🍰\",fitzpatrick_scale:false,category:\"food_and_drink\"},cupcake:{keywords:[\"food\",\"dessert\",\"bakery\",\"sweet\"],char:\"🧁\",fitzpatrick_scale:false,category:\"food_and_drink\"},moon_cake:{keywords:[\"food\",\"autumn\"],char:\"🥮\",fitzpatrick_scale:false,category:\"food_and_drink\"},birthday:{keywords:[\"food\",\"dessert\",\"cake\"],char:\"🎂\",fitzpatrick_scale:false,category:\"food_and_drink\"},custard:{keywords:[\"dessert\",\"food\"],char:\"🍮\",fitzpatrick_scale:false,category:\"food_and_drink\"},candy:{keywords:[\"snack\",\"dessert\",\"sweet\",\"lolly\"],char:\"🍬\",fitzpatrick_scale:false,category:\"food_and_drink\"},lollipop:{keywords:[\"food\",\"snack\",\"candy\",\"sweet\"],char:\"🍭\",fitzpatrick_scale:false,category:\"food_and_drink\"},chocolate_bar:{keywords:[\"food\",\"snack\",\"dessert\",\"sweet\"],char:\"🍫\",fitzpatrick_scale:false,category:\"food_and_drink\"},popcorn:{keywords:[\"food\",\"movie theater\",\"films\",\"snack\"],char:\"🍿\",fitzpatrick_scale:false,category:\"food_and_drink\"},dumpling:{keywords:[\"food\",\"empanada\",\"pierogi\",\"potsticker\"],char:\"🥟\",fitzpatrick_scale:false,category:\"food_and_drink\"},doughnut:{keywords:[\"food\",\"dessert\",\"snack\",\"sweet\",\"donut\"],char:\"🍩\",fitzpatrick_scale:false,category:\"food_and_drink\"},cookie:{keywords:[\"food\",\"snack\",\"oreo\",\"chocolate\",\"sweet\",\"dessert\"],char:\"🍪\",fitzpatrick_scale:false,category:\"food_and_drink\"},milk_glass:{keywords:[\"beverage\",\"drink\",\"cow\"],char:\"🥛\",fitzpatrick_scale:false,category:\"food_and_drink\"},beer:{keywords:[\"relax\",\"beverage\",\"drink\",\"drunk\",\"party\",\"pub\",\"summer\",\"alcohol\",\"booze\"],char:\"🍺\",fitzpatrick_scale:false,category:\"food_and_drink\"},beers:{keywords:[\"relax\",\"beverage\",\"drink\",\"drunk\",\"party\",\"pub\",\"summer\",\"alcohol\",\"booze\"],char:\"🍻\",fitzpatrick_scale:false,category:\"food_and_drink\"},clinking_glasses:{keywords:[\"beverage\",\"drink\",\"party\",\"alcohol\",\"celebrate\",\"cheers\",\"wine\",\"champagne\",\"toast\"],char:\"🥂\",fitzpatrick_scale:false,category:\"food_and_drink\"},wine_glass:{keywords:[\"drink\",\"beverage\",\"drunk\",\"alcohol\",\"booze\"],char:\"🍷\",fitzpatrick_scale:false,category:\"food_and_drink\"},tumbler_glass:{keywords:[\"drink\",\"beverage\",\"drunk\",\"alcohol\",\"liquor\",\"booze\",\"bourbon\",\"scotch\",\"whisky\",\"glass\",\"shot\"],char:\"🥃\",fitzpatrick_scale:false,category:\"food_and_drink\"},cocktail:{keywords:[\"drink\",\"drunk\",\"alcohol\",\"beverage\",\"booze\",\"mojito\"],char:\"🍸\",fitzpatrick_scale:false,category:\"food_and_drink\"},tropical_drink:{keywords:[\"beverage\",\"cocktail\",\"summer\",\"beach\",\"alcohol\",\"booze\",\"mojito\"],char:\"🍹\",fitzpatrick_scale:false,category:\"food_and_drink\"},champagne:{keywords:[\"drink\",\"wine\",\"bottle\",\"celebration\"],char:\"🍾\",fitzpatrick_scale:false,category:\"food_and_drink\"},sake:{keywords:[\"wine\",\"drink\",\"drunk\",\"beverage\",\"japanese\",\"alcohol\",\"booze\"],char:\"🍶\",fitzpatrick_scale:false,category:\"food_and_drink\"},tea:{keywords:[\"drink\",\"bowl\",\"breakfast\",\"green\",\"british\"],char:\"🍵\",fitzpatrick_scale:false,category:\"food_and_drink\"},cup_with_straw:{keywords:[\"drink\",\"soda\"],char:\"🥤\",fitzpatrick_scale:false,category:\"food_and_drink\"},coffee:{keywords:[\"beverage\",\"caffeine\",\"latte\",\"espresso\"],char:\"☕\",fitzpatrick_scale:false,category:\"food_and_drink\"},baby_bottle:{keywords:[\"food\",\"container\",\"milk\"],char:\"🍼\",fitzpatrick_scale:false,category:\"food_and_drink\"},salt:{keywords:[\"condiment\",\"shaker\"],char:\"🧂\",fitzpatrick_scale:false,category:\"food_and_drink\"},spoon:{keywords:[\"cutlery\",\"kitchen\",\"tableware\"],char:\"🥄\",fitzpatrick_scale:false,category:\"food_and_drink\"},fork_and_knife:{keywords:[\"cutlery\",\"kitchen\"],char:\"🍴\",fitzpatrick_scale:false,category:\"food_and_drink\"},plate_with_cutlery:{keywords:[\"food\",\"eat\",\"meal\",\"lunch\",\"dinner\",\"restaurant\"],char:\"🍽\",fitzpatrick_scale:false,category:\"food_and_drink\"},bowl_with_spoon:{keywords:[\"food\",\"breakfast\",\"cereal\",\"oatmeal\",\"porridge\"],char:\"🥣\",fitzpatrick_scale:false,category:\"food_and_drink\"},takeout_box:{keywords:[\"food\",\"leftovers\"],char:\"🥡\",fitzpatrick_scale:false,category:\"food_and_drink\"},chopsticks:{keywords:[\"food\"],char:\"🥢\",fitzpatrick_scale:false,category:\"food_and_drink\"},soccer:{keywords:[\"sports\",\"football\"],char:\"⚽\",fitzpatrick_scale:false,category:\"activity\"},basketball:{keywords:[\"sports\",\"balls\",\"NBA\"],char:\"🏀\",fitzpatrick_scale:false,category:\"activity\"},football:{keywords:[\"sports\",\"balls\",\"NFL\"],char:\"🏈\",fitzpatrick_scale:false,category:\"activity\"},baseball:{keywords:[\"sports\",\"balls\"],char:\"⚾\",fitzpatrick_scale:false,category:\"activity\"},softball:{keywords:[\"sports\",\"balls\"],char:\"🥎\",fitzpatrick_scale:false,category:\"activity\"},tennis:{keywords:[\"sports\",\"balls\",\"green\"],char:\"🎾\",fitzpatrick_scale:false,category:\"activity\"},volleyball:{keywords:[\"sports\",\"balls\"],char:\"🏐\",fitzpatrick_scale:false,category:\"activity\"},rugby_football:{keywords:[\"sports\",\"team\"],char:\"🏉\",fitzpatrick_scale:false,category:\"activity\"},flying_disc:{keywords:[\"sports\",\"frisbee\",\"ultimate\"],char:\"🥏\",fitzpatrick_scale:false,category:\"activity\"},\"8ball\":{keywords:[\"pool\",\"hobby\",\"game\",\"luck\",\"magic\"],char:\"🎱\",fitzpatrick_scale:false,category:\"activity\"},golf:{keywords:[\"sports\",\"business\",\"flag\",\"hole\",\"summer\"],char:\"⛳\",fitzpatrick_scale:false,category:\"activity\"},golfing_woman:{keywords:[\"sports\",\"business\",\"woman\",\"female\"],char:\"🏌️‍♀️\",fitzpatrick_scale:false,category:\"activity\"},golfing_man:{keywords:[\"sports\",\"business\"],char:\"🏌\",fitzpatrick_scale:true,category:\"activity\"},ping_pong:{keywords:[\"sports\",\"pingpong\"],char:\"🏓\",fitzpatrick_scale:false,category:\"activity\"},badminton:{keywords:[\"sports\"],char:\"🏸\",fitzpatrick_scale:false,category:\"activity\"},goal_net:{keywords:[\"sports\"],char:\"🥅\",fitzpatrick_scale:false,category:\"activity\"},ice_hockey:{keywords:[\"sports\"],char:\"🏒\",fitzpatrick_scale:false,category:\"activity\"},field_hockey:{keywords:[\"sports\"],char:\"🏑\",fitzpatrick_scale:false,category:\"activity\"},lacrosse:{keywords:[\"sports\",\"ball\",\"stick\"],char:\"🥍\",fitzpatrick_scale:false,category:\"activity\"},cricket:{keywords:[\"sports\"],char:\"🏏\",fitzpatrick_scale:false,category:\"activity\"},ski:{keywords:[\"sports\",\"winter\",\"cold\",\"snow\"],char:\"🎿\",fitzpatrick_scale:false,category:\"activity\"},skier:{keywords:[\"sports\",\"winter\",\"snow\"],char:\"⛷\",fitzpatrick_scale:false,category:\"activity\"},snowboarder:{keywords:[\"sports\",\"winter\"],char:\"🏂\",fitzpatrick_scale:true,category:\"activity\"},person_fencing:{keywords:[\"sports\",\"fencing\",\"sword\"],char:\"🤺\",fitzpatrick_scale:false,category:\"activity\"},women_wrestling:{keywords:[\"sports\",\"wrestlers\"],char:\"🤼‍♀️\",fitzpatrick_scale:false,category:\"activity\"},men_wrestling:{keywords:[\"sports\",\"wrestlers\"],char:\"🤼‍♂️\",fitzpatrick_scale:false,category:\"activity\"},woman_cartwheeling:{keywords:[\"gymnastics\"],char:\"🤸‍♀️\",fitzpatrick_scale:true,category:\"activity\"},man_cartwheeling:{keywords:[\"gymnastics\"],char:\"🤸‍♂️\",fitzpatrick_scale:true,category:\"activity\"},woman_playing_handball:{keywords:[\"sports\"],char:\"🤾‍♀️\",fitzpatrick_scale:true,category:\"activity\"},man_playing_handball:{keywords:[\"sports\"],char:\"🤾‍♂️\",fitzpatrick_scale:true,category:\"activity\"},ice_skate:{keywords:[\"sports\"],char:\"⛸\",fitzpatrick_scale:false,category:\"activity\"},curling_stone:{keywords:[\"sports\"],char:\"🥌\",fitzpatrick_scale:false,category:\"activity\"},skateboard:{keywords:[\"board\"],char:\"🛹\",fitzpatrick_scale:false,category:\"activity\"},sled:{keywords:[\"sleigh\",\"luge\",\"toboggan\"],char:\"🛷\",fitzpatrick_scale:false,category:\"activity\"},bow_and_arrow:{keywords:[\"sports\"],char:\"🏹\",fitzpatrick_scale:false,category:\"activity\"},fishing_pole_and_fish:{keywords:[\"food\",\"hobby\",\"summer\"],char:\"🎣\",fitzpatrick_scale:false,category:\"activity\"},boxing_glove:{keywords:[\"sports\",\"fighting\"],char:\"🥊\",fitzpatrick_scale:false,category:\"activity\"},martial_arts_uniform:{keywords:[\"judo\",\"karate\",\"taekwondo\"],char:\"🥋\",fitzpatrick_scale:false,category:\"activity\"},rowing_woman:{keywords:[\"sports\",\"hobby\",\"water\",\"ship\",\"woman\",\"female\"],char:\"🚣‍♀️\",fitzpatrick_scale:true,category:\"activity\"},rowing_man:{keywords:[\"sports\",\"hobby\",\"water\",\"ship\"],char:\"🚣\",fitzpatrick_scale:true,category:\"activity\"},climbing_woman:{keywords:[\"sports\",\"hobby\",\"woman\",\"female\",\"rock\"],char:\"🧗‍♀️\",fitzpatrick_scale:true,category:\"activity\"},climbing_man:{keywords:[\"sports\",\"hobby\",\"man\",\"male\",\"rock\"],char:\"🧗‍♂️\",fitzpatrick_scale:true,category:\"activity\"},swimming_woman:{keywords:[\"sports\",\"exercise\",\"human\",\"athlete\",\"water\",\"summer\",\"woman\",\"female\"],char:\"🏊‍♀️\",fitzpatrick_scale:true,category:\"activity\"},swimming_man:{keywords:[\"sports\",\"exercise\",\"human\",\"athlete\",\"water\",\"summer\"],char:\"🏊\",fitzpatrick_scale:true,category:\"activity\"},woman_playing_water_polo:{keywords:[\"sports\",\"pool\"],char:\"🤽‍♀️\",fitzpatrick_scale:true,category:\"activity\"},man_playing_water_polo:{keywords:[\"sports\",\"pool\"],char:\"🤽‍♂️\",fitzpatrick_scale:true,category:\"activity\"},woman_in_lotus_position:{keywords:[\"woman\",\"female\",\"meditation\",\"yoga\",\"serenity\",\"zen\",\"mindfulness\"],char:\"🧘‍♀️\",fitzpatrick_scale:true,category:\"activity\"},man_in_lotus_position:{keywords:[\"man\",\"male\",\"meditation\",\"yoga\",\"serenity\",\"zen\",\"mindfulness\"],char:\"🧘‍♂️\",fitzpatrick_scale:true,category:\"activity\"},surfing_woman:{keywords:[\"sports\",\"ocean\",\"sea\",\"summer\",\"beach\",\"woman\",\"female\"],char:\"🏄‍♀️\",fitzpatrick_scale:true,category:\"activity\"},surfing_man:{keywords:[\"sports\",\"ocean\",\"sea\",\"summer\",\"beach\"],char:\"🏄\",fitzpatrick_scale:true,category:\"activity\"},bath:{keywords:[\"clean\",\"shower\",\"bathroom\"],char:\"🛀\",fitzpatrick_scale:true,category:\"activity\"},basketball_woman:{keywords:[\"sports\",\"human\",\"woman\",\"female\"],char:\"⛹️‍♀️\",fitzpatrick_scale:true,category:\"activity\"},basketball_man:{keywords:[\"sports\",\"human\"],char:\"⛹\",fitzpatrick_scale:true,category:\"activity\"},weight_lifting_woman:{keywords:[\"sports\",\"training\",\"exercise\",\"woman\",\"female\"],char:\"🏋️‍♀️\",fitzpatrick_scale:true,category:\"activity\"},weight_lifting_man:{keywords:[\"sports\",\"training\",\"exercise\"],char:\"🏋\",fitzpatrick_scale:true,category:\"activity\"},biking_woman:{keywords:[\"sports\",\"bike\",\"exercise\",\"hipster\",\"woman\",\"female\"],char:\"🚴‍♀️\",fitzpatrick_scale:true,category:\"activity\"},biking_man:{keywords:[\"sports\",\"bike\",\"exercise\",\"hipster\"],char:\"🚴\",fitzpatrick_scale:true,category:\"activity\"},mountain_biking_woman:{keywords:[\"transportation\",\"sports\",\"human\",\"race\",\"bike\",\"woman\",\"female\"],char:\"🚵‍♀️\",fitzpatrick_scale:true,category:\"activity\"},mountain_biking_man:{keywords:[\"transportation\",\"sports\",\"human\",\"race\",\"bike\"],char:\"🚵\",fitzpatrick_scale:true,category:\"activity\"},horse_racing:{keywords:[\"animal\",\"betting\",\"competition\",\"gambling\",\"luck\"],char:\"🏇\",fitzpatrick_scale:true,category:\"activity\"},business_suit_levitating:{keywords:[\"suit\",\"business\",\"levitate\",\"hover\",\"jump\"],char:\"🕴\",fitzpatrick_scale:true,category:\"activity\"},trophy:{keywords:[\"win\",\"award\",\"contest\",\"place\",\"ftw\",\"ceremony\"],char:\"🏆\",fitzpatrick_scale:false,category:\"activity\"},running_shirt_with_sash:{keywords:[\"play\",\"pageant\"],char:\"🎽\",fitzpatrick_scale:false,category:\"activity\"},medal_sports:{keywords:[\"award\",\"winning\"],char:\"🏅\",fitzpatrick_scale:false,category:\"activity\"},medal_military:{keywords:[\"award\",\"winning\",\"army\"],char:\"🎖\",fitzpatrick_scale:false,category:\"activity\"},\"1st_place_medal\":{keywords:[\"award\",\"winning\",\"first\"],char:\"🥇\",fitzpatrick_scale:false,category:\"activity\"},\"2nd_place_medal\":{keywords:[\"award\",\"second\"],char:\"🥈\",fitzpatrick_scale:false,category:\"activity\"},\"3rd_place_medal\":{keywords:[\"award\",\"third\"],char:\"🥉\",fitzpatrick_scale:false,category:\"activity\"},reminder_ribbon:{keywords:[\"sports\",\"cause\",\"support\",\"awareness\"],char:\"🎗\",fitzpatrick_scale:false,category:\"activity\"},rosette:{keywords:[\"flower\",\"decoration\",\"military\"],char:\"🏵\",fitzpatrick_scale:false,category:\"activity\"},ticket:{keywords:[\"event\",\"concert\",\"pass\"],char:\"🎫\",fitzpatrick_scale:false,category:\"activity\"},tickets:{keywords:[\"sports\",\"concert\",\"entrance\"],char:\"🎟\",fitzpatrick_scale:false,category:\"activity\"},performing_arts:{keywords:[\"acting\",\"theater\",\"drama\"],char:\"🎭\",fitzpatrick_scale:false,category:\"activity\"},art:{keywords:[\"design\",\"paint\",\"draw\",\"colors\"],char:\"🎨\",fitzpatrick_scale:false,category:\"activity\"},circus_tent:{keywords:[\"festival\",\"carnival\",\"party\"],char:\"🎪\",fitzpatrick_scale:false,category:\"activity\"},woman_juggling:{keywords:[\"juggle\",\"balance\",\"skill\",\"multitask\"],char:\"🤹‍♀️\",fitzpatrick_scale:true,category:\"activity\"},man_juggling:{keywords:[\"juggle\",\"balance\",\"skill\",\"multitask\"],char:\"🤹‍♂️\",fitzpatrick_scale:true,category:\"activity\"},microphone:{keywords:[\"sound\",\"music\",\"PA\",\"sing\",\"talkshow\"],char:\"🎤\",fitzpatrick_scale:false,category:\"activity\"},headphones:{keywords:[\"music\",\"score\",\"gadgets\"],char:\"🎧\",fitzpatrick_scale:false,category:\"activity\"},musical_score:{keywords:[\"treble\",\"clef\",\"compose\"],char:\"🎼\",fitzpatrick_scale:false,category:\"activity\"},musical_keyboard:{keywords:[\"piano\",\"instrument\",\"compose\"],char:\"🎹\",fitzpatrick_scale:false,category:\"activity\"},drum:{keywords:[\"music\",\"instrument\",\"drumsticks\",\"snare\"],char:\"🥁\",fitzpatrick_scale:false,category:\"activity\"},saxophone:{keywords:[\"music\",\"instrument\",\"jazz\",\"blues\"],char:\"🎷\",fitzpatrick_scale:false,category:\"activity\"},trumpet:{keywords:[\"music\",\"brass\"],char:\"🎺\",fitzpatrick_scale:false,category:\"activity\"},guitar:{keywords:[\"music\",\"instrument\"],char:\"🎸\",fitzpatrick_scale:false,category:\"activity\"},violin:{keywords:[\"music\",\"instrument\",\"orchestra\",\"symphony\"],char:\"🎻\",fitzpatrick_scale:false,category:\"activity\"},clapper:{keywords:[\"movie\",\"film\",\"record\"],char:\"🎬\",fitzpatrick_scale:false,category:\"activity\"},video_game:{keywords:[\"play\",\"console\",\"PS4\",\"controller\"],char:\"🎮\",fitzpatrick_scale:false,category:\"activity\"},space_invader:{keywords:[\"game\",\"arcade\",\"play\"],char:\"👾\",fitzpatrick_scale:false,category:\"activity\"},dart:{keywords:[\"game\",\"play\",\"bar\",\"target\",\"bullseye\"],char:\"🎯\",fitzpatrick_scale:false,category:\"activity\"},game_die:{keywords:[\"dice\",\"random\",\"tabletop\",\"play\",\"luck\"],char:\"🎲\",fitzpatrick_scale:false,category:\"activity\"},chess_pawn:{keywords:[\"expendable\"],char:\"♟\",fitzpatrick_scale:false,category:\"activity\"},slot_machine:{keywords:[\"bet\",\"gamble\",\"vegas\",\"fruit machine\",\"luck\",\"casino\"],char:\"🎰\",fitzpatrick_scale:false,category:\"activity\"},jigsaw:{keywords:[\"interlocking\",\"puzzle\",\"piece\"],char:\"🧩\",fitzpatrick_scale:false,category:\"activity\"},bowling:{keywords:[\"sports\",\"fun\",\"play\"],char:\"🎳\",fitzpatrick_scale:false,category:\"activity\"},red_car:{keywords:[\"red\",\"transportation\",\"vehicle\"],char:\"🚗\",fitzpatrick_scale:false,category:\"travel_and_places\"},taxi:{keywords:[\"uber\",\"vehicle\",\"cars\",\"transportation\"],char:\"🚕\",fitzpatrick_scale:false,category:\"travel_and_places\"},blue_car:{keywords:[\"transportation\",\"vehicle\"],char:\"🚙\",fitzpatrick_scale:false,category:\"travel_and_places\"},bus:{keywords:[\"car\",\"vehicle\",\"transportation\"],char:\"🚌\",fitzpatrick_scale:false,category:\"travel_and_places\"},trolleybus:{keywords:[\"bart\",\"transportation\",\"vehicle\"],char:\"🚎\",fitzpatrick_scale:false,category:\"travel_and_places\"},racing_car:{keywords:[\"sports\",\"race\",\"fast\",\"formula\",\"f1\"],char:\"🏎\",fitzpatrick_scale:false,category:\"travel_and_places\"},police_car:{keywords:[\"vehicle\",\"cars\",\"transportation\",\"law\",\"legal\",\"enforcement\"],char:\"🚓\",fitzpatrick_scale:false,category:\"travel_and_places\"},ambulance:{keywords:[\"health\",\"911\",\"hospital\"],char:\"🚑\",fitzpatrick_scale:false,category:\"travel_and_places\"},fire_engine:{keywords:[\"transportation\",\"cars\",\"vehicle\"],char:\"🚒\",fitzpatrick_scale:false,category:\"travel_and_places\"},minibus:{keywords:[\"vehicle\",\"car\",\"transportation\"],char:\"🚐\",fitzpatrick_scale:false,category:\"travel_and_places\"},truck:{keywords:[\"cars\",\"transportation\"],char:\"🚚\",fitzpatrick_scale:false,category:\"travel_and_places\"},articulated_lorry:{keywords:[\"vehicle\",\"cars\",\"transportation\",\"express\"],char:\"🚛\",fitzpatrick_scale:false,category:\"travel_and_places\"},tractor:{keywords:[\"vehicle\",\"car\",\"farming\",\"agriculture\"],char:\"🚜\",fitzpatrick_scale:false,category:\"travel_and_places\"},kick_scooter:{keywords:[\"vehicle\",\"kick\",\"razor\"],char:\"🛴\",fitzpatrick_scale:false,category:\"travel_and_places\"},motorcycle:{keywords:[\"race\",\"sports\",\"fast\"],char:\"🏍\",fitzpatrick_scale:false,category:\"travel_and_places\"},bike:{keywords:[\"sports\",\"bicycle\",\"exercise\",\"hipster\"],char:\"🚲\",fitzpatrick_scale:false,category:\"travel_and_places\"},motor_scooter:{keywords:[\"vehicle\",\"vespa\",\"sasha\"],char:\"🛵\",fitzpatrick_scale:false,category:\"travel_and_places\"},rotating_light:{keywords:[\"police\",\"ambulance\",\"911\",\"emergency\",\"alert\",\"error\",\"pinged\",\"law\",\"legal\"],char:\"🚨\",fitzpatrick_scale:false,category:\"travel_and_places\"},oncoming_police_car:{keywords:[\"vehicle\",\"law\",\"legal\",\"enforcement\",\"911\"],char:\"🚔\",fitzpatrick_scale:false,category:\"travel_and_places\"},oncoming_bus:{keywords:[\"vehicle\",\"transportation\"],char:\"🚍\",fitzpatrick_scale:false,category:\"travel_and_places\"},oncoming_automobile:{keywords:[\"car\",\"vehicle\",\"transportation\"],char:\"🚘\",fitzpatrick_scale:false,category:\"travel_and_places\"},oncoming_taxi:{keywords:[\"vehicle\",\"cars\",\"uber\"],char:\"🚖\",fitzpatrick_scale:false,category:\"travel_and_places\"},aerial_tramway:{keywords:[\"transportation\",\"vehicle\",\"ski\"],char:\"🚡\",fitzpatrick_scale:false,category:\"travel_and_places\"},mountain_cableway:{keywords:[\"transportation\",\"vehicle\",\"ski\"],char:\"🚠\",fitzpatrick_scale:false,category:\"travel_and_places\"},suspension_railway:{keywords:[\"vehicle\",\"transportation\"],char:\"🚟\",fitzpatrick_scale:false,category:\"travel_and_places\"},railway_car:{keywords:[\"transportation\",\"vehicle\"],char:\"🚃\",fitzpatrick_scale:false,category:\"travel_and_places\"},train:{keywords:[\"transportation\",\"vehicle\",\"carriage\",\"public\",\"travel\"],char:\"🚋\",fitzpatrick_scale:false,category:\"travel_and_places\"},monorail:{keywords:[\"transportation\",\"vehicle\"],char:\"🚝\",fitzpatrick_scale:false,category:\"travel_and_places\"},bullettrain_side:{keywords:[\"transportation\",\"vehicle\"],char:\"🚄\",fitzpatrick_scale:false,category:\"travel_and_places\"},bullettrain_front:{keywords:[\"transportation\",\"vehicle\",\"speed\",\"fast\",\"public\",\"travel\"],char:\"🚅\",fitzpatrick_scale:false,category:\"travel_and_places\"},light_rail:{keywords:[\"transportation\",\"vehicle\"],char:\"🚈\",fitzpatrick_scale:false,category:\"travel_and_places\"},mountain_railway:{keywords:[\"transportation\",\"vehicle\"],char:\"🚞\",fitzpatrick_scale:false,category:\"travel_and_places\"},steam_locomotive:{keywords:[\"transportation\",\"vehicle\",\"train\"],char:\"🚂\",fitzpatrick_scale:false,category:\"travel_and_places\"},train2:{keywords:[\"transportation\",\"vehicle\"],char:\"🚆\",fitzpatrick_scale:false,category:\"travel_and_places\"},metro:{keywords:[\"transportation\",\"blue-square\",\"mrt\",\"underground\",\"tube\"],char:\"🚇\",fitzpatrick_scale:false,category:\"travel_and_places\"},tram:{keywords:[\"transportation\",\"vehicle\"],char:\"🚊\",fitzpatrick_scale:false,category:\"travel_and_places\"},station:{keywords:[\"transportation\",\"vehicle\",\"public\"],char:\"🚉\",fitzpatrick_scale:false,category:\"travel_and_places\"},flying_saucer:{keywords:[\"transportation\",\"vehicle\",\"ufo\"],char:\"🛸\",fitzpatrick_scale:false,category:\"travel_and_places\"},helicopter:{keywords:[\"transportation\",\"vehicle\",\"fly\"],char:\"🚁\",fitzpatrick_scale:false,category:\"travel_and_places\"},small_airplane:{keywords:[\"flight\",\"transportation\",\"fly\",\"vehicle\"],char:\"🛩\",fitzpatrick_scale:false,category:\"travel_and_places\"},airplane:{keywords:[\"vehicle\",\"transportation\",\"flight\",\"fly\"],char:\"✈️\",fitzpatrick_scale:false,category:\"travel_and_places\"},flight_departure:{keywords:[\"airport\",\"flight\",\"landing\"],char:\"🛫\",fitzpatrick_scale:false,category:\"travel_and_places\"},flight_arrival:{keywords:[\"airport\",\"flight\",\"boarding\"],char:\"🛬\",fitzpatrick_scale:false,category:\"travel_and_places\"},sailboat:{keywords:[\"ship\",\"summer\",\"transportation\",\"water\",\"sailing\"],char:\"⛵\",fitzpatrick_scale:false,category:\"travel_and_places\"},motor_boat:{keywords:[\"ship\"],char:\"🛥\",fitzpatrick_scale:false,category:\"travel_and_places\"},speedboat:{keywords:[\"ship\",\"transportation\",\"vehicle\",\"summer\"],char:\"🚤\",fitzpatrick_scale:false,category:\"travel_and_places\"},ferry:{keywords:[\"boat\",\"ship\",\"yacht\"],char:\"⛴\",fitzpatrick_scale:false,category:\"travel_and_places\"},passenger_ship:{keywords:[\"yacht\",\"cruise\",\"ferry\"],char:\"🛳\",fitzpatrick_scale:false,category:\"travel_and_places\"},rocket:{keywords:[\"launch\",\"ship\",\"staffmode\",\"NASA\",\"outer space\",\"outer_space\",\"fly\"],char:\"🚀\",fitzpatrick_scale:false,category:\"travel_and_places\"},artificial_satellite:{keywords:[\"communication\",\"gps\",\"orbit\",\"spaceflight\",\"NASA\",\"ISS\"],char:\"🛰\",fitzpatrick_scale:false,category:\"travel_and_places\"},seat:{keywords:[\"sit\",\"airplane\",\"transport\",\"bus\",\"flight\",\"fly\"],char:\"💺\",fitzpatrick_scale:false,category:\"travel_and_places\"},canoe:{keywords:[\"boat\",\"paddle\",\"water\",\"ship\"],char:\"🛶\",fitzpatrick_scale:false,category:\"travel_and_places\"},anchor:{keywords:[\"ship\",\"ferry\",\"sea\",\"boat\"],char:\"⚓\",fitzpatrick_scale:false,category:\"travel_and_places\"},construction:{keywords:[\"wip\",\"progress\",\"caution\",\"warning\"],char:\"🚧\",fitzpatrick_scale:false,category:\"travel_and_places\"},fuelpump:{keywords:[\"gas station\",\"petroleum\"],char:\"⛽\",fitzpatrick_scale:false,category:\"travel_and_places\"},busstop:{keywords:[\"transportation\",\"wait\"],char:\"🚏\",fitzpatrick_scale:false,category:\"travel_and_places\"},vertical_traffic_light:{keywords:[\"transportation\",\"driving\"],char:\"🚦\",fitzpatrick_scale:false,category:\"travel_and_places\"},traffic_light:{keywords:[\"transportation\",\"signal\"],char:\"🚥\",fitzpatrick_scale:false,category:\"travel_and_places\"},checkered_flag:{keywords:[\"contest\",\"finishline\",\"race\",\"gokart\"],char:\"🏁\",fitzpatrick_scale:false,category:\"travel_and_places\"},ship:{keywords:[\"transportation\",\"titanic\",\"deploy\"],char:\"🚢\",fitzpatrick_scale:false,category:\"travel_and_places\"},ferris_wheel:{keywords:[\"photo\",\"carnival\",\"londoneye\"],char:\"🎡\",fitzpatrick_scale:false,category:\"travel_and_places\"},roller_coaster:{keywords:[\"carnival\",\"playground\",\"photo\",\"fun\"],char:\"🎢\",fitzpatrick_scale:false,category:\"travel_and_places\"},carousel_horse:{keywords:[\"photo\",\"carnival\"],char:\"🎠\",fitzpatrick_scale:false,category:\"travel_and_places\"},building_construction:{keywords:[\"wip\",\"working\",\"progress\"],char:\"🏗\",fitzpatrick_scale:false,category:\"travel_and_places\"},foggy:{keywords:[\"photo\",\"mountain\"],char:\"🌁\",fitzpatrick_scale:false,category:\"travel_and_places\"},tokyo_tower:{keywords:[\"photo\",\"japanese\"],char:\"🗼\",fitzpatrick_scale:false,category:\"travel_and_places\"},factory:{keywords:[\"building\",\"industry\",\"pollution\",\"smoke\"],char:\"🏭\",fitzpatrick_scale:false,category:\"travel_and_places\"},fountain:{keywords:[\"photo\",\"summer\",\"water\",\"fresh\"],char:\"⛲\",fitzpatrick_scale:false,category:\"travel_and_places\"},rice_scene:{keywords:[\"photo\",\"japan\",\"asia\",\"tsukimi\"],char:\"🎑\",fitzpatrick_scale:false,category:\"travel_and_places\"},mountain:{keywords:[\"photo\",\"nature\",\"environment\"],char:\"⛰\",fitzpatrick_scale:false,category:\"travel_and_places\"},mountain_snow:{keywords:[\"photo\",\"nature\",\"environment\",\"winter\",\"cold\"],char:\"🏔\",fitzpatrick_scale:false,category:\"travel_and_places\"},mount_fuji:{keywords:[\"photo\",\"mountain\",\"nature\",\"japanese\"],char:\"🗻\",fitzpatrick_scale:false,category:\"travel_and_places\"},volcano:{keywords:[\"photo\",\"nature\",\"disaster\"],char:\"🌋\",fitzpatrick_scale:false,category:\"travel_and_places\"},japan:{keywords:[\"nation\",\"country\",\"japanese\",\"asia\"],char:\"🗾\",fitzpatrick_scale:false,category:\"travel_and_places\"},camping:{keywords:[\"photo\",\"outdoors\",\"tent\"],char:\"🏕\",fitzpatrick_scale:false,category:\"travel_and_places\"},tent:{keywords:[\"photo\",\"camping\",\"outdoors\"],char:\"⛺\",fitzpatrick_scale:false,category:\"travel_and_places\"},national_park:{keywords:[\"photo\",\"environment\",\"nature\"],char:\"🏞\",fitzpatrick_scale:false,category:\"travel_and_places\"},motorway:{keywords:[\"road\",\"cupertino\",\"interstate\",\"highway\"],char:\"🛣\",fitzpatrick_scale:false,category:\"travel_and_places\"},railway_track:{keywords:[\"train\",\"transportation\"],char:\"🛤\",fitzpatrick_scale:false,category:\"travel_and_places\"},sunrise:{keywords:[\"morning\",\"view\",\"vacation\",\"photo\"],char:\"🌅\",fitzpatrick_scale:false,category:\"travel_and_places\"},sunrise_over_mountains:{keywords:[\"view\",\"vacation\",\"photo\"],char:\"🌄\",fitzpatrick_scale:false,category:\"travel_and_places\"},desert:{keywords:[\"photo\",\"warm\",\"saharah\"],char:\"🏜\",fitzpatrick_scale:false,category:\"travel_and_places\"},beach_umbrella:{keywords:[\"weather\",\"summer\",\"sunny\",\"sand\",\"mojito\"],char:\"🏖\",fitzpatrick_scale:false,category:\"travel_and_places\"},desert_island:{keywords:[\"photo\",\"tropical\",\"mojito\"],char:\"🏝\",fitzpatrick_scale:false,category:\"travel_and_places\"},city_sunrise:{keywords:[\"photo\",\"good morning\",\"dawn\"],char:\"🌇\",fitzpatrick_scale:false,category:\"travel_and_places\"},city_sunset:{keywords:[\"photo\",\"evening\",\"sky\",\"buildings\"],char:\"🌆\",fitzpatrick_scale:false,category:\"travel_and_places\"},cityscape:{keywords:[\"photo\",\"night life\",\"urban\"],char:\"🏙\",fitzpatrick_scale:false,category:\"travel_and_places\"},night_with_stars:{keywords:[\"evening\",\"city\",\"downtown\"],char:\"🌃\",fitzpatrick_scale:false,category:\"travel_and_places\"},bridge_at_night:{keywords:[\"photo\",\"sanfrancisco\"],char:\"🌉\",fitzpatrick_scale:false,category:\"travel_and_places\"},milky_way:{keywords:[\"photo\",\"space\",\"stars\"],char:\"🌌\",fitzpatrick_scale:false,category:\"travel_and_places\"},stars:{keywords:[\"night\",\"photo\"],char:\"🌠\",fitzpatrick_scale:false,category:\"travel_and_places\"},sparkler:{keywords:[\"stars\",\"night\",\"shine\"],char:\"🎇\",fitzpatrick_scale:false,category:\"travel_and_places\"},fireworks:{keywords:[\"photo\",\"festival\",\"carnival\",\"congratulations\"],char:\"🎆\",fitzpatrick_scale:false,category:\"travel_and_places\"},rainbow:{keywords:[\"nature\",\"happy\",\"unicorn_face\",\"photo\",\"sky\",\"spring\"],char:\"🌈\",fitzpatrick_scale:false,category:\"travel_and_places\"},houses:{keywords:[\"buildings\",\"photo\"],char:\"🏘\",fitzpatrick_scale:false,category:\"travel_and_places\"},european_castle:{keywords:[\"building\",\"royalty\",\"history\"],char:\"🏰\",fitzpatrick_scale:false,category:\"travel_and_places\"},japanese_castle:{keywords:[\"photo\",\"building\"],char:\"🏯\",fitzpatrick_scale:false,category:\"travel_and_places\"},stadium:{keywords:[\"photo\",\"place\",\"sports\",\"concert\",\"venue\"],char:\"🏟\",fitzpatrick_scale:false,category:\"travel_and_places\"},statue_of_liberty:{keywords:[\"american\",\"newyork\"],char:\"🗽\",fitzpatrick_scale:false,category:\"travel_and_places\"},house:{keywords:[\"building\",\"home\"],char:\"🏠\",fitzpatrick_scale:false,category:\"travel_and_places\"},house_with_garden:{keywords:[\"home\",\"plant\",\"nature\"],char:\"🏡\",fitzpatrick_scale:false,category:\"travel_and_places\"},derelict_house:{keywords:[\"abandon\",\"evict\",\"broken\",\"building\"],char:\"🏚\",fitzpatrick_scale:false,category:\"travel_and_places\"},office:{keywords:[\"building\",\"bureau\",\"work\"],char:\"🏢\",fitzpatrick_scale:false,category:\"travel_and_places\"},department_store:{keywords:[\"building\",\"shopping\",\"mall\"],char:\"🏬\",fitzpatrick_scale:false,category:\"travel_and_places\"},post_office:{keywords:[\"building\",\"envelope\",\"communication\"],char:\"🏣\",fitzpatrick_scale:false,category:\"travel_and_places\"},european_post_office:{keywords:[\"building\",\"email\"],char:\"🏤\",fitzpatrick_scale:false,category:\"travel_and_places\"},hospital:{keywords:[\"building\",\"health\",\"surgery\",\"doctor\"],char:\"🏥\",fitzpatrick_scale:false,category:\"travel_and_places\"},bank:{keywords:[\"building\",\"money\",\"sales\",\"cash\",\"business\",\"enterprise\"],char:\"🏦\",fitzpatrick_scale:false,category:\"travel_and_places\"},hotel:{keywords:[\"building\",\"accomodation\",\"checkin\"],char:\"🏨\",fitzpatrick_scale:false,category:\"travel_and_places\"},convenience_store:{keywords:[\"building\",\"shopping\",\"groceries\"],char:\"🏪\",fitzpatrick_scale:false,category:\"travel_and_places\"},school:{keywords:[\"building\",\"student\",\"education\",\"learn\",\"teach\"],char:\"🏫\",fitzpatrick_scale:false,category:\"travel_and_places\"},love_hotel:{keywords:[\"like\",\"affection\",\"dating\"],char:\"🏩\",fitzpatrick_scale:false,category:\"travel_and_places\"},wedding:{keywords:[\"love\",\"like\",\"affection\",\"couple\",\"marriage\",\"bride\",\"groom\"],char:\"💒\",fitzpatrick_scale:false,category:\"travel_and_places\"},classical_building:{keywords:[\"art\",\"culture\",\"history\"],char:\"🏛\",fitzpatrick_scale:false,category:\"travel_and_places\"},church:{keywords:[\"building\",\"religion\",\"christ\"],char:\"⛪\",fitzpatrick_scale:false,category:\"travel_and_places\"},mosque:{keywords:[\"islam\",\"worship\",\"minaret\"],char:\"🕌\",fitzpatrick_scale:false,category:\"travel_and_places\"},synagogue:{keywords:[\"judaism\",\"worship\",\"temple\",\"jewish\"],char:\"🕍\",fitzpatrick_scale:false,category:\"travel_and_places\"},kaaba:{keywords:[\"mecca\",\"mosque\",\"islam\"],char:\"🕋\",fitzpatrick_scale:false,category:\"travel_and_places\"},shinto_shrine:{keywords:[\"temple\",\"japan\",\"kyoto\"],char:\"⛩\",fitzpatrick_scale:false,category:\"travel_and_places\"},watch:{keywords:[\"time\",\"accessories\"],char:\"⌚\",fitzpatrick_scale:false,category:\"objects\"},iphone:{keywords:[\"technology\",\"apple\",\"gadgets\",\"dial\"],char:\"📱\",fitzpatrick_scale:false,category:\"objects\"},calling:{keywords:[\"iphone\",\"incoming\"],char:\"📲\",fitzpatrick_scale:false,category:\"objects\"},computer:{keywords:[\"technology\",\"laptop\",\"screen\",\"display\",\"monitor\"],char:\"💻\",fitzpatrick_scale:false,category:\"objects\"},keyboard:{keywords:[\"technology\",\"computer\",\"type\",\"input\",\"text\"],char:\"⌨\",fitzpatrick_scale:false,category:\"objects\"},desktop_computer:{keywords:[\"technology\",\"computing\",\"screen\"],char:\"🖥\",fitzpatrick_scale:false,category:\"objects\"},printer:{keywords:[\"paper\",\"ink\"],char:\"🖨\",fitzpatrick_scale:false,category:\"objects\"},computer_mouse:{keywords:[\"click\"],char:\"🖱\",fitzpatrick_scale:false,category:\"objects\"},trackball:{keywords:[\"technology\",\"trackpad\"],char:\"🖲\",fitzpatrick_scale:false,category:\"objects\"},joystick:{keywords:[\"game\",\"play\"],char:\"🕹\",fitzpatrick_scale:false,category:\"objects\"},clamp:{keywords:[\"tool\"],char:\"🗜\",fitzpatrick_scale:false,category:\"objects\"},minidisc:{keywords:[\"technology\",\"record\",\"data\",\"disk\",\"90s\"],char:\"💽\",fitzpatrick_scale:false,category:\"objects\"},floppy_disk:{keywords:[\"oldschool\",\"technology\",\"save\",\"90s\",\"80s\"],char:\"💾\",fitzpatrick_scale:false,category:\"objects\"},cd:{keywords:[\"technology\",\"dvd\",\"disk\",\"disc\",\"90s\"],char:\"💿\",fitzpatrick_scale:false,category:\"objects\"},dvd:{keywords:[\"cd\",\"disk\",\"disc\"],char:\"📀\",fitzpatrick_scale:false,category:\"objects\"},vhs:{keywords:[\"record\",\"video\",\"oldschool\",\"90s\",\"80s\"],char:\"📼\",fitzpatrick_scale:false,category:\"objects\"},camera:{keywords:[\"gadgets\",\"photography\"],char:\"📷\",fitzpatrick_scale:false,category:\"objects\"},camera_flash:{keywords:[\"photography\",\"gadgets\"],char:\"📸\",fitzpatrick_scale:false,category:\"objects\"},video_camera:{keywords:[\"film\",\"record\"],char:\"📹\",fitzpatrick_scale:false,category:\"objects\"},movie_camera:{keywords:[\"film\",\"record\"],char:\"🎥\",fitzpatrick_scale:false,category:\"objects\"},film_projector:{keywords:[\"video\",\"tape\",\"record\",\"movie\"],char:\"📽\",fitzpatrick_scale:false,category:\"objects\"},film_strip:{keywords:[\"movie\"],char:\"🎞\",fitzpatrick_scale:false,category:\"objects\"},telephone_receiver:{keywords:[\"technology\",\"communication\",\"dial\"],char:\"📞\",fitzpatrick_scale:false,category:\"objects\"},phone:{keywords:[\"technology\",\"communication\",\"dial\",\"telephone\"],char:\"☎️\",fitzpatrick_scale:false,category:\"objects\"},pager:{keywords:[\"bbcall\",\"oldschool\",\"90s\"],char:\"📟\",fitzpatrick_scale:false,category:\"objects\"},fax:{keywords:[\"communication\",\"technology\"],char:\"📠\",fitzpatrick_scale:false,category:\"objects\"},tv:{keywords:[\"technology\",\"program\",\"oldschool\",\"show\",\"television\"],char:\"📺\",fitzpatrick_scale:false,category:\"objects\"},radio:{keywords:[\"communication\",\"music\",\"podcast\",\"program\"],char:\"📻\",fitzpatrick_scale:false,category:\"objects\"},studio_microphone:{keywords:[\"sing\",\"recording\",\"artist\",\"talkshow\"],char:\"🎙\",fitzpatrick_scale:false,category:\"objects\"},level_slider:{keywords:[\"scale\"],char:\"🎚\",fitzpatrick_scale:false,category:\"objects\"},control_knobs:{keywords:[\"dial\"],char:\"🎛\",fitzpatrick_scale:false,category:\"objects\"},compass:{keywords:[\"magnetic\",\"navigation\",\"orienteering\"],char:\"🧭\",fitzpatrick_scale:false,category:\"objects\"},stopwatch:{keywords:[\"time\",\"deadline\"],char:\"⏱\",fitzpatrick_scale:false,category:\"objects\"},timer_clock:{keywords:[\"alarm\"],char:\"⏲\",fitzpatrick_scale:false,category:\"objects\"},alarm_clock:{keywords:[\"time\",\"wake\"],char:\"⏰\",fitzpatrick_scale:false,category:\"objects\"},mantelpiece_clock:{keywords:[\"time\"],char:\"🕰\",fitzpatrick_scale:false,category:\"objects\"},hourglass_flowing_sand:{keywords:[\"oldschool\",\"time\",\"countdown\"],char:\"⏳\",fitzpatrick_scale:false,category:\"objects\"},hourglass:{keywords:[\"time\",\"clock\",\"oldschool\",\"limit\",\"exam\",\"quiz\",\"test\"],char:\"⌛\",fitzpatrick_scale:false,category:\"objects\"},satellite:{keywords:[\"communication\",\"future\",\"radio\",\"space\"],char:\"📡\",fitzpatrick_scale:false,category:\"objects\"},battery:{keywords:[\"power\",\"energy\",\"sustain\"],char:\"🔋\",fitzpatrick_scale:false,category:\"objects\"},electric_plug:{keywords:[\"charger\",\"power\"],char:\"🔌\",fitzpatrick_scale:false,category:\"objects\"},bulb:{keywords:[\"light\",\"electricity\",\"idea\"],char:\"💡\",fitzpatrick_scale:false,category:\"objects\"},flashlight:{keywords:[\"dark\",\"camping\",\"sight\",\"night\"],char:\"🔦\",fitzpatrick_scale:false,category:\"objects\"},candle:{keywords:[\"fire\",\"wax\"],char:\"🕯\",fitzpatrick_scale:false,category:\"objects\"},fire_extinguisher:{keywords:[\"quench\"],char:\"🧯\",fitzpatrick_scale:false,category:\"objects\"},wastebasket:{keywords:[\"bin\",\"trash\",\"rubbish\",\"garbage\",\"toss\"],char:\"🗑\",fitzpatrick_scale:false,category:\"objects\"},oil_drum:{keywords:[\"barrell\"],char:\"🛢\",fitzpatrick_scale:false,category:\"objects\"},money_with_wings:{keywords:[\"dollar\",\"bills\",\"payment\",\"sale\"],char:\"💸\",fitzpatrick_scale:false,category:\"objects\"},dollar:{keywords:[\"money\",\"sales\",\"bill\",\"currency\"],char:\"💵\",fitzpatrick_scale:false,category:\"objects\"},yen:{keywords:[\"money\",\"sales\",\"japanese\",\"dollar\",\"currency\"],char:\"💴\",fitzpatrick_scale:false,category:\"objects\"},euro:{keywords:[\"money\",\"sales\",\"dollar\",\"currency\"],char:\"💶\",fitzpatrick_scale:false,category:\"objects\"},pound:{keywords:[\"british\",\"sterling\",\"money\",\"sales\",\"bills\",\"uk\",\"england\",\"currency\"],char:\"💷\",fitzpatrick_scale:false,category:\"objects\"},moneybag:{keywords:[\"dollar\",\"payment\",\"coins\",\"sale\"],char:\"💰\",fitzpatrick_scale:false,category:\"objects\"},credit_card:{keywords:[\"money\",\"sales\",\"dollar\",\"bill\",\"payment\",\"shopping\"],char:\"💳\",fitzpatrick_scale:false,category:\"objects\"},gem:{keywords:[\"blue\",\"ruby\",\"diamond\",\"jewelry\"],char:\"💎\",fitzpatrick_scale:false,category:\"objects\"},balance_scale:{keywords:[\"law\",\"fairness\",\"weight\"],char:\"⚖\",fitzpatrick_scale:false,category:\"objects\"},toolbox:{keywords:[\"tools\",\"diy\",\"fix\",\"maintainer\",\"mechanic\"],char:\"🧰\",fitzpatrick_scale:false,category:\"objects\"},wrench:{keywords:[\"tools\",\"diy\",\"ikea\",\"fix\",\"maintainer\"],char:\"🔧\",fitzpatrick_scale:false,category:\"objects\"},hammer:{keywords:[\"tools\",\"build\",\"create\"],char:\"🔨\",fitzpatrick_scale:false,category:\"objects\"},hammer_and_pick:{keywords:[\"tools\",\"build\",\"create\"],char:\"⚒\",fitzpatrick_scale:false,category:\"objects\"},hammer_and_wrench:{keywords:[\"tools\",\"build\",\"create\"],char:\"🛠\",fitzpatrick_scale:false,category:\"objects\"},pick:{keywords:[\"tools\",\"dig\"],char:\"⛏\",fitzpatrick_scale:false,category:\"objects\"},nut_and_bolt:{keywords:[\"handy\",\"tools\",\"fix\"],char:\"🔩\",fitzpatrick_scale:false,category:\"objects\"},gear:{keywords:[\"cog\"],char:\"⚙\",fitzpatrick_scale:false,category:\"objects\"},brick:{keywords:[\"bricks\"],char:\"🧱\",fitzpatrick_scale:false,category:\"objects\"},chains:{keywords:[\"lock\",\"arrest\"],char:\"⛓\",fitzpatrick_scale:false,category:\"objects\"},magnet:{keywords:[\"attraction\",\"magnetic\"],char:\"🧲\",fitzpatrick_scale:false,category:\"objects\"},gun:{keywords:[\"violence\",\"weapon\",\"pistol\",\"revolver\"],char:\"🔫\",fitzpatrick_scale:false,category:\"objects\"},bomb:{keywords:[\"boom\",\"explode\",\"explosion\",\"terrorism\"],char:\"💣\",fitzpatrick_scale:false,category:\"objects\"},firecracker:{keywords:[\"dynamite\",\"boom\",\"explode\",\"explosion\",\"explosive\"],char:\"🧨\",fitzpatrick_scale:false,category:\"objects\"},hocho:{keywords:[\"knife\",\"blade\",\"cutlery\",\"kitchen\",\"weapon\"],char:\"🔪\",fitzpatrick_scale:false,category:\"objects\"},dagger:{keywords:[\"weapon\"],char:\"🗡\",fitzpatrick_scale:false,category:\"objects\"},crossed_swords:{keywords:[\"weapon\"],char:\"⚔\",fitzpatrick_scale:false,category:\"objects\"},shield:{keywords:[\"protection\",\"security\"],char:\"🛡\",fitzpatrick_scale:false,category:\"objects\"},smoking:{keywords:[\"kills\",\"tobacco\",\"cigarette\",\"joint\",\"smoke\"],char:\"🚬\",fitzpatrick_scale:false,category:\"objects\"},skull_and_crossbones:{keywords:[\"poison\",\"danger\",\"deadly\",\"scary\",\"death\",\"pirate\",\"evil\"],char:\"☠\",fitzpatrick_scale:false,category:\"objects\"},coffin:{keywords:[\"vampire\",\"dead\",\"die\",\"death\",\"rip\",\"graveyard\",\"cemetery\",\"casket\",\"funeral\",\"box\"],char:\"⚰\",fitzpatrick_scale:false,category:\"objects\"},funeral_urn:{keywords:[\"dead\",\"die\",\"death\",\"rip\",\"ashes\"],char:\"⚱\",fitzpatrick_scale:false,category:\"objects\"},amphora:{keywords:[\"vase\",\"jar\"],char:\"🏺\",fitzpatrick_scale:false,category:\"objects\"},crystal_ball:{keywords:[\"disco\",\"party\",\"magic\",\"circus\",\"fortune_teller\"],char:\"🔮\",fitzpatrick_scale:false,category:\"objects\"},prayer_beads:{keywords:[\"dhikr\",\"religious\"],char:\"📿\",fitzpatrick_scale:false,category:\"objects\"},nazar_amulet:{keywords:[\"bead\",\"charm\"],char:\"🧿\",fitzpatrick_scale:false,category:\"objects\"},barber:{keywords:[\"hair\",\"salon\",\"style\"],char:\"💈\",fitzpatrick_scale:false,category:\"objects\"},alembic:{keywords:[\"distilling\",\"science\",\"experiment\",\"chemistry\"],char:\"⚗\",fitzpatrick_scale:false,category:\"objects\"},telescope:{keywords:[\"stars\",\"space\",\"zoom\",\"science\",\"astronomy\"],char:\"🔭\",fitzpatrick_scale:false,category:\"objects\"},microscope:{keywords:[\"laboratory\",\"experiment\",\"zoomin\",\"science\",\"study\"],char:\"🔬\",fitzpatrick_scale:false,category:\"objects\"},hole:{keywords:[\"embarrassing\"],char:\"🕳\",fitzpatrick_scale:false,category:\"objects\"},pill:{keywords:[\"health\",\"medicine\",\"doctor\",\"pharmacy\",\"drug\"],char:\"💊\",fitzpatrick_scale:false,category:\"objects\"},syringe:{keywords:[\"health\",\"hospital\",\"drugs\",\"blood\",\"medicine\",\"needle\",\"doctor\",\"nurse\"],char:\"💉\",fitzpatrick_scale:false,category:\"objects\"},dna:{keywords:[\"biologist\",\"genetics\",\"life\"],char:\"🧬\",fitzpatrick_scale:false,category:\"objects\"},microbe:{keywords:[\"amoeba\",\"bacteria\",\"germs\"],char:\"🦠\",fitzpatrick_scale:false,category:\"objects\"},petri_dish:{keywords:[\"bacteria\",\"biology\",\"culture\",\"lab\"],char:\"🧫\",fitzpatrick_scale:false,category:\"objects\"},test_tube:{keywords:[\"chemistry\",\"experiment\",\"lab\",\"science\"],char:\"🧪\",fitzpatrick_scale:false,category:\"objects\"},thermometer:{keywords:[\"weather\",\"temperature\",\"hot\",\"cold\"],char:\"🌡\",fitzpatrick_scale:false,category:\"objects\"},broom:{keywords:[\"cleaning\",\"sweeping\",\"witch\"],char:\"🧹\",fitzpatrick_scale:false,category:\"objects\"},basket:{keywords:[\"laundry\"],char:\"🧺\",fitzpatrick_scale:false,category:\"objects\"},toilet_paper:{keywords:[\"roll\"],char:\"🧻\",fitzpatrick_scale:false,category:\"objects\"},label:{keywords:[\"sale\",\"tag\"],char:\"🏷\",fitzpatrick_scale:false,category:\"objects\"},bookmark:{keywords:[\"favorite\",\"label\",\"save\"],char:\"🔖\",fitzpatrick_scale:false,category:\"objects\"},toilet:{keywords:[\"restroom\",\"wc\",\"washroom\",\"bathroom\",\"potty\"],char:\"🚽\",fitzpatrick_scale:false,category:\"objects\"},shower:{keywords:[\"clean\",\"water\",\"bathroom\"],char:\"🚿\",fitzpatrick_scale:false,category:\"objects\"},bathtub:{keywords:[\"clean\",\"shower\",\"bathroom\"],char:\"🛁\",fitzpatrick_scale:false,category:\"objects\"},soap:{keywords:[\"bar\",\"bathing\",\"cleaning\",\"lather\"],char:\"🧼\",fitzpatrick_scale:false,category:\"objects\"},sponge:{keywords:[\"absorbing\",\"cleaning\",\"porous\"],char:\"🧽\",fitzpatrick_scale:false,category:\"objects\"},lotion_bottle:{keywords:[\"moisturizer\",\"sunscreen\"],char:\"🧴\",fitzpatrick_scale:false,category:\"objects\"},key:{keywords:[\"lock\",\"door\",\"password\"],char:\"🔑\",fitzpatrick_scale:false,category:\"objects\"},old_key:{keywords:[\"lock\",\"door\",\"password\"],char:\"🗝\",fitzpatrick_scale:false,category:\"objects\"},couch_and_lamp:{keywords:[\"read\",\"chill\"],char:\"🛋\",fitzpatrick_scale:false,category:\"objects\"},sleeping_bed:{keywords:[\"bed\",\"rest\"],char:\"🛌\",fitzpatrick_scale:true,category:\"objects\"},bed:{keywords:[\"sleep\",\"rest\"],char:\"🛏\",fitzpatrick_scale:false,category:\"objects\"},door:{keywords:[\"house\",\"entry\",\"exit\"],char:\"🚪\",fitzpatrick_scale:false,category:\"objects\"},bellhop_bell:{keywords:[\"service\"],char:\"🛎\",fitzpatrick_scale:false,category:\"objects\"},teddy_bear:{keywords:[\"plush\",\"stuffed\"],char:\"🧸\",fitzpatrick_scale:false,category:\"objects\"},framed_picture:{keywords:[\"photography\"],char:\"🖼\",fitzpatrick_scale:false,category:\"objects\"},world_map:{keywords:[\"location\",\"direction\"],char:\"🗺\",fitzpatrick_scale:false,category:\"objects\"},parasol_on_ground:{keywords:[\"weather\",\"summer\"],char:\"⛱\",fitzpatrick_scale:false,category:\"objects\"},moyai:{keywords:[\"rock\",\"easter island\",\"moai\"],char:\"🗿\",fitzpatrick_scale:false,category:\"objects\"},shopping:{keywords:[\"mall\",\"buy\",\"purchase\"],char:\"🛍\",fitzpatrick_scale:false,category:\"objects\"},shopping_cart:{keywords:[\"trolley\"],char:\"🛒\",fitzpatrick_scale:false,category:\"objects\"},balloon:{keywords:[\"party\",\"celebration\",\"birthday\",\"circus\"],char:\"🎈\",fitzpatrick_scale:false,category:\"objects\"},flags:{keywords:[\"fish\",\"japanese\",\"koinobori\",\"carp\",\"banner\"],char:\"🎏\",fitzpatrick_scale:false,category:\"objects\"},ribbon:{keywords:[\"decoration\",\"pink\",\"girl\",\"bowtie\"],char:\"🎀\",fitzpatrick_scale:false,category:\"objects\"},gift:{keywords:[\"present\",\"birthday\",\"christmas\",\"xmas\"],char:\"🎁\",fitzpatrick_scale:false,category:\"objects\"},confetti_ball:{keywords:[\"festival\",\"party\",\"birthday\",\"circus\"],char:\"🎊\",fitzpatrick_scale:false,category:\"objects\"},tada:{keywords:[\"party\",\"congratulations\",\"birthday\",\"magic\",\"circus\",\"celebration\"],char:\"🎉\",fitzpatrick_scale:false,category:\"objects\"},dolls:{keywords:[\"japanese\",\"toy\",\"kimono\"],char:\"🎎\",fitzpatrick_scale:false,category:\"objects\"},wind_chime:{keywords:[\"nature\",\"ding\",\"spring\",\"bell\"],char:\"🎐\",fitzpatrick_scale:false,category:\"objects\"},crossed_flags:{keywords:[\"japanese\",\"nation\",\"country\",\"border\"],char:\"🎌\",fitzpatrick_scale:false,category:\"objects\"},izakaya_lantern:{keywords:[\"light\",\"paper\",\"halloween\",\"spooky\"],char:\"🏮\",fitzpatrick_scale:false,category:\"objects\"},red_envelope:{keywords:[\"gift\"],char:\"🧧\",fitzpatrick_scale:false,category:\"objects\"},email:{keywords:[\"letter\",\"postal\",\"inbox\",\"communication\"],char:\"✉️\",fitzpatrick_scale:false,category:\"objects\"},envelope_with_arrow:{keywords:[\"email\",\"communication\"],char:\"📩\",fitzpatrick_scale:false,category:\"objects\"},incoming_envelope:{keywords:[\"email\",\"inbox\"],char:\"📨\",fitzpatrick_scale:false,category:\"objects\"},\"e-mail\":{keywords:[\"communication\",\"inbox\"],char:\"📧\",fitzpatrick_scale:false,category:\"objects\"},love_letter:{keywords:[\"email\",\"like\",\"affection\",\"envelope\",\"valentines\"],char:\"💌\",fitzpatrick_scale:false,category:\"objects\"},postbox:{keywords:[\"email\",\"letter\",\"envelope\"],char:\"📮\",fitzpatrick_scale:false,category:\"objects\"},mailbox_closed:{keywords:[\"email\",\"communication\",\"inbox\"],char:\"📪\",fitzpatrick_scale:false,category:\"objects\"},mailbox:{keywords:[\"email\",\"inbox\",\"communication\"],char:\"📫\",fitzpatrick_scale:false,category:\"objects\"},mailbox_with_mail:{keywords:[\"email\",\"inbox\",\"communication\"],char:\"📬\",fitzpatrick_scale:false,category:\"objects\"},mailbox_with_no_mail:{keywords:[\"email\",\"inbox\"],char:\"📭\",fitzpatrick_scale:false,category:\"objects\"},package:{keywords:[\"mail\",\"gift\",\"cardboard\",\"box\",\"moving\"],char:\"📦\",fitzpatrick_scale:false,category:\"objects\"},postal_horn:{keywords:[\"instrument\",\"music\"],char:\"📯\",fitzpatrick_scale:false,category:\"objects\"},inbox_tray:{keywords:[\"email\",\"documents\"],char:\"📥\",fitzpatrick_scale:false,category:\"objects\"},outbox_tray:{keywords:[\"inbox\",\"email\"],char:\"📤\",fitzpatrick_scale:false,category:\"objects\"},scroll:{keywords:[\"documents\",\"ancient\",\"history\",\"paper\"],char:\"📜\",fitzpatrick_scale:false,category:\"objects\"},page_with_curl:{keywords:[\"documents\",\"office\",\"paper\"],char:\"📃\",fitzpatrick_scale:false,category:\"objects\"},bookmark_tabs:{keywords:[\"favorite\",\"save\",\"order\",\"tidy\"],char:\"📑\",fitzpatrick_scale:false,category:\"objects\"},receipt:{keywords:[\"accounting\",\"expenses\"],char:\"🧾\",fitzpatrick_scale:false,category:\"objects\"},bar_chart:{keywords:[\"graph\",\"presentation\",\"stats\"],char:\"📊\",fitzpatrick_scale:false,category:\"objects\"},chart_with_upwards_trend:{keywords:[\"graph\",\"presentation\",\"stats\",\"recovery\",\"business\",\"economics\",\"money\",\"sales\",\"good\",\"success\"],char:\"📈\",fitzpatrick_scale:false,category:\"objects\"},chart_with_downwards_trend:{keywords:[\"graph\",\"presentation\",\"stats\",\"recession\",\"business\",\"economics\",\"money\",\"sales\",\"bad\",\"failure\"],char:\"📉\",fitzpatrick_scale:false,category:\"objects\"},page_facing_up:{keywords:[\"documents\",\"office\",\"paper\",\"information\"],char:\"📄\",fitzpatrick_scale:false,category:\"objects\"},date:{keywords:[\"calendar\",\"schedule\"],char:\"📅\",fitzpatrick_scale:false,category:\"objects\"},calendar:{keywords:[\"schedule\",\"date\",\"planning\"],char:\"📆\",fitzpatrick_scale:false,category:\"objects\"},spiral_calendar:{keywords:[\"date\",\"schedule\",\"planning\"],char:\"🗓\",fitzpatrick_scale:false,category:\"objects\"},card_index:{keywords:[\"business\",\"stationery\"],char:\"📇\",fitzpatrick_scale:false,category:\"objects\"},card_file_box:{keywords:[\"business\",\"stationery\"],char:\"🗃\",fitzpatrick_scale:false,category:\"objects\"},ballot_box:{keywords:[\"election\",\"vote\"],char:\"🗳\",fitzpatrick_scale:false,category:\"objects\"},file_cabinet:{keywords:[\"filing\",\"organizing\"],char:\"🗄\",fitzpatrick_scale:false,category:\"objects\"},clipboard:{keywords:[\"stationery\",\"documents\"],char:\"📋\",fitzpatrick_scale:false,category:\"objects\"},spiral_notepad:{keywords:[\"memo\",\"stationery\"],char:\"🗒\",fitzpatrick_scale:false,category:\"objects\"},file_folder:{keywords:[\"documents\",\"business\",\"office\"],char:\"📁\",fitzpatrick_scale:false,category:\"objects\"},open_file_folder:{keywords:[\"documents\",\"load\"],char:\"📂\",fitzpatrick_scale:false,category:\"objects\"},card_index_dividers:{keywords:[\"organizing\",\"business\",\"stationery\"],char:\"🗂\",fitzpatrick_scale:false,category:\"objects\"},newspaper_roll:{keywords:[\"press\",\"headline\"],char:\"🗞\",fitzpatrick_scale:false,category:\"objects\"},newspaper:{keywords:[\"press\",\"headline\"],char:\"📰\",fitzpatrick_scale:false,category:\"objects\"},notebook:{keywords:[\"stationery\",\"record\",\"notes\",\"paper\",\"study\"],char:\"📓\",fitzpatrick_scale:false,category:\"objects\"},closed_book:{keywords:[\"read\",\"library\",\"knowledge\",\"textbook\",\"learn\"],char:\"📕\",fitzpatrick_scale:false,category:\"objects\"},green_book:{keywords:[\"read\",\"library\",\"knowledge\",\"study\"],char:\"📗\",fitzpatrick_scale:false,category:\"objects\"},blue_book:{keywords:[\"read\",\"library\",\"knowledge\",\"learn\",\"study\"],char:\"📘\",fitzpatrick_scale:false,category:\"objects\"},orange_book:{keywords:[\"read\",\"library\",\"knowledge\",\"textbook\",\"study\"],char:\"📙\",fitzpatrick_scale:false,category:\"objects\"},notebook_with_decorative_cover:{keywords:[\"classroom\",\"notes\",\"record\",\"paper\",\"study\"],char:\"📔\",fitzpatrick_scale:false,category:\"objects\"},ledger:{keywords:[\"notes\",\"paper\"],char:\"📒\",fitzpatrick_scale:false,category:\"objects\"},books:{keywords:[\"literature\",\"library\",\"study\"],char:\"📚\",fitzpatrick_scale:false,category:\"objects\"},open_book:{keywords:[\"book\",\"read\",\"library\",\"knowledge\",\"literature\",\"learn\",\"study\"],char:\"📖\",fitzpatrick_scale:false,category:\"objects\"},safety_pin:{keywords:[\"diaper\"],char:\"🧷\",fitzpatrick_scale:false,category:\"objects\"},link:{keywords:[\"rings\",\"url\"],char:\"🔗\",fitzpatrick_scale:false,category:\"objects\"},paperclip:{keywords:[\"documents\",\"stationery\"],char:\"📎\",fitzpatrick_scale:false,category:\"objects\"},paperclips:{keywords:[\"documents\",\"stationery\"],char:\"🖇\",fitzpatrick_scale:false,category:\"objects\"},scissors:{keywords:[\"stationery\",\"cut\"],char:\"✂️\",fitzpatrick_scale:false,category:\"objects\"},triangular_ruler:{keywords:[\"stationery\",\"math\",\"architect\",\"sketch\"],char:\"📐\",fitzpatrick_scale:false,category:\"objects\"},straight_ruler:{keywords:[\"stationery\",\"calculate\",\"length\",\"math\",\"school\",\"drawing\",\"architect\",\"sketch\"],char:\"📏\",fitzpatrick_scale:false,category:\"objects\"},abacus:{keywords:[\"calculation\"],char:\"🧮\",fitzpatrick_scale:false,category:\"objects\"},pushpin:{keywords:[\"stationery\",\"mark\",\"here\"],char:\"📌\",fitzpatrick_scale:false,category:\"objects\"},round_pushpin:{keywords:[\"stationery\",\"location\",\"map\",\"here\"],char:\"📍\",fitzpatrick_scale:false,category:\"objects\"},triangular_flag_on_post:{keywords:[\"mark\",\"milestone\",\"place\"],char:\"🚩\",fitzpatrick_scale:false,category:\"objects\"},white_flag:{keywords:[\"losing\",\"loser\",\"lost\",\"surrender\",\"give up\",\"fail\"],char:\"🏳\",fitzpatrick_scale:false,category:\"objects\"},black_flag:{keywords:[\"pirate\"],char:\"🏴\",fitzpatrick_scale:false,category:\"objects\"},rainbow_flag:{keywords:[\"flag\",\"rainbow\",\"pride\",\"gay\",\"lgbt\",\"glbt\",\"queer\",\"homosexual\",\"lesbian\",\"bisexual\",\"transgender\"],char:\"🏳️‍🌈\",fitzpatrick_scale:false,category:\"objects\"},closed_lock_with_key:{keywords:[\"security\",\"privacy\"],char:\"🔐\",fitzpatrick_scale:false,category:\"objects\"},lock:{keywords:[\"security\",\"password\",\"padlock\"],char:\"🔒\",fitzpatrick_scale:false,category:\"objects\"},unlock:{keywords:[\"privacy\",\"security\"],char:\"🔓\",fitzpatrick_scale:false,category:\"objects\"},lock_with_ink_pen:{keywords:[\"security\",\"secret\"],char:\"🔏\",fitzpatrick_scale:false,category:\"objects\"},pen:{keywords:[\"stationery\",\"writing\",\"write\"],char:\"🖊\",fitzpatrick_scale:false,category:\"objects\"},fountain_pen:{keywords:[\"stationery\",\"writing\",\"write\"],char:\"🖋\",fitzpatrick_scale:false,category:\"objects\"},black_nib:{keywords:[\"pen\",\"stationery\",\"writing\",\"write\"],char:\"✒️\",fitzpatrick_scale:false,category:\"objects\"},memo:{keywords:[\"write\",\"documents\",\"stationery\",\"pencil\",\"paper\",\"writing\",\"legal\",\"exam\",\"quiz\",\"test\",\"study\",\"compose\"],char:\"📝\",fitzpatrick_scale:false,category:\"objects\"},pencil2:{keywords:[\"stationery\",\"write\",\"paper\",\"writing\",\"school\",\"study\"],char:\"✏️\",fitzpatrick_scale:false,category:\"objects\"},crayon:{keywords:[\"drawing\",\"creativity\"],char:\"🖍\",fitzpatrick_scale:false,category:\"objects\"},paintbrush:{keywords:[\"drawing\",\"creativity\",\"art\"],char:\"🖌\",fitzpatrick_scale:false,category:\"objects\"},mag:{keywords:[\"search\",\"zoom\",\"find\",\"detective\"],char:\"🔍\",fitzpatrick_scale:false,category:\"objects\"},mag_right:{keywords:[\"search\",\"zoom\",\"find\",\"detective\"],char:\"🔎\",fitzpatrick_scale:false,category:\"objects\"},heart:{keywords:[\"love\",\"like\",\"valentines\"],char:\"❤️\",fitzpatrick_scale:false,category:\"symbols\"},orange_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:\"🧡\",fitzpatrick_scale:false,category:\"symbols\"},yellow_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:\"💛\",fitzpatrick_scale:false,category:\"symbols\"},green_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:\"💚\",fitzpatrick_scale:false,category:\"symbols\"},blue_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:\"💙\",fitzpatrick_scale:false,category:\"symbols\"},purple_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:\"💜\",fitzpatrick_scale:false,category:\"symbols\"},black_heart:{keywords:[\"evil\"],char:\"🖤\",fitzpatrick_scale:false,category:\"symbols\"},broken_heart:{keywords:[\"sad\",\"sorry\",\"break\",\"heart\",\"heartbreak\"],char:\"💔\",fitzpatrick_scale:false,category:\"symbols\"},heavy_heart_exclamation:{keywords:[\"decoration\",\"love\"],char:\"❣\",fitzpatrick_scale:false,category:\"symbols\"},two_hearts:{keywords:[\"love\",\"like\",\"affection\",\"valentines\",\"heart\"],char:\"💕\",fitzpatrick_scale:false,category:\"symbols\"},revolving_hearts:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:\"💞\",fitzpatrick_scale:false,category:\"symbols\"},heartbeat:{keywords:[\"love\",\"like\",\"affection\",\"valentines\",\"pink\",\"heart\"],char:\"💓\",fitzpatrick_scale:false,category:\"symbols\"},heartpulse:{keywords:[\"like\",\"love\",\"affection\",\"valentines\",\"pink\"],char:\"💗\",fitzpatrick_scale:false,category:\"symbols\"},sparkling_heart:{keywords:[\"love\",\"like\",\"affection\",\"valentines\"],char:\"💖\",fitzpatrick_scale:false,category:\"symbols\"},cupid:{keywords:[\"love\",\"like\",\"heart\",\"affection\",\"valentines\"],char:\"💘\",fitzpatrick_scale:false,category:\"symbols\"},gift_heart:{keywords:[\"love\",\"valentines\"],char:\"💝\",fitzpatrick_scale:false,category:\"symbols\"},heart_decoration:{keywords:[\"purple-square\",\"love\",\"like\"],char:\"💟\",fitzpatrick_scale:false,category:\"symbols\"},peace_symbol:{keywords:[\"hippie\"],char:\"☮\",fitzpatrick_scale:false,category:\"symbols\"},latin_cross:{keywords:[\"christianity\"],char:\"✝\",fitzpatrick_scale:false,category:\"symbols\"},star_and_crescent:{keywords:[\"islam\"],char:\"☪\",fitzpatrick_scale:false,category:\"symbols\"},om:{keywords:[\"hinduism\",\"buddhism\",\"sikhism\",\"jainism\"],char:\"🕉\",fitzpatrick_scale:false,category:\"symbols\"},wheel_of_dharma:{keywords:[\"hinduism\",\"buddhism\",\"sikhism\",\"jainism\"],char:\"☸\",fitzpatrick_scale:false,category:\"symbols\"},star_of_david:{keywords:[\"judaism\"],char:\"✡\",fitzpatrick_scale:false,category:\"symbols\"},six_pointed_star:{keywords:[\"purple-square\",\"religion\",\"jewish\",\"hexagram\"],char:\"🔯\",fitzpatrick_scale:false,category:\"symbols\"},menorah:{keywords:[\"hanukkah\",\"candles\",\"jewish\"],char:\"🕎\",fitzpatrick_scale:false,category:\"symbols\"},yin_yang:{keywords:[\"balance\"],char:\"☯\",fitzpatrick_scale:false,category:\"symbols\"},orthodox_cross:{keywords:[\"suppedaneum\",\"religion\"],char:\"☦\",fitzpatrick_scale:false,category:\"symbols\"},place_of_worship:{keywords:[\"religion\",\"church\",\"temple\",\"prayer\"],char:\"🛐\",fitzpatrick_scale:false,category:\"symbols\"},ophiuchus:{keywords:[\"sign\",\"purple-square\",\"constellation\",\"astrology\"],char:\"⛎\",fitzpatrick_scale:false,category:\"symbols\"},aries:{keywords:[\"sign\",\"purple-square\",\"zodiac\",\"astrology\"],char:\"♈\",fitzpatrick_scale:false,category:\"symbols\"},taurus:{keywords:[\"purple-square\",\"sign\",\"zodiac\",\"astrology\"],char:\"♉\",fitzpatrick_scale:false,category:\"symbols\"},gemini:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:\"♊\",fitzpatrick_scale:false,category:\"symbols\"},cancer:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:\"♋\",fitzpatrick_scale:false,category:\"symbols\"},leo:{keywords:[\"sign\",\"purple-square\",\"zodiac\",\"astrology\"],char:\"♌\",fitzpatrick_scale:false,category:\"symbols\"},virgo:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:\"♍\",fitzpatrick_scale:false,category:\"symbols\"},libra:{keywords:[\"sign\",\"purple-square\",\"zodiac\",\"astrology\"],char:\"♎\",fitzpatrick_scale:false,category:\"symbols\"},scorpius:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\",\"scorpio\"],char:\"♏\",fitzpatrick_scale:false,category:\"symbols\"},sagittarius:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:\"♐\",fitzpatrick_scale:false,category:\"symbols\"},capricorn:{keywords:[\"sign\",\"zodiac\",\"purple-square\",\"astrology\"],char:\"♑\",fitzpatrick_scale:false,category:\"symbols\"},aquarius:{keywords:[\"sign\",\"purple-square\",\"zodiac\",\"astrology\"],char:\"♒\",fitzpatrick_scale:false,category:\"symbols\"},pisces:{keywords:[\"purple-square\",\"sign\",\"zodiac\",\"astrology\"],char:\"♓\",fitzpatrick_scale:false,category:\"symbols\"},id:{keywords:[\"purple-square\",\"words\"],char:\"🆔\",fitzpatrick_scale:false,category:\"symbols\"},atom_symbol:{keywords:[\"science\",\"physics\",\"chemistry\"],char:\"⚛\",fitzpatrick_scale:false,category:\"symbols\"},u7a7a:{keywords:[\"kanji\",\"japanese\",\"chinese\",\"empty\",\"sky\",\"blue-square\"],char:\"🈳\",fitzpatrick_scale:false,category:\"symbols\"},u5272:{keywords:[\"cut\",\"divide\",\"chinese\",\"kanji\",\"pink-square\"],char:\"🈹\",fitzpatrick_scale:false,category:\"symbols\"},radioactive:{keywords:[\"nuclear\",\"danger\"],char:\"☢\",fitzpatrick_scale:false,category:\"symbols\"},biohazard:{keywords:[\"danger\"],char:\"☣\",fitzpatrick_scale:false,category:\"symbols\"},mobile_phone_off:{keywords:[\"mute\",\"orange-square\",\"silence\",\"quiet\"],char:\"📴\",fitzpatrick_scale:false,category:\"symbols\"},vibration_mode:{keywords:[\"orange-square\",\"phone\"],char:\"📳\",fitzpatrick_scale:false,category:\"symbols\"},u6709:{keywords:[\"orange-square\",\"chinese\",\"have\",\"kanji\"],char:\"🈶\",fitzpatrick_scale:false,category:\"symbols\"},u7121:{keywords:[\"nothing\",\"chinese\",\"kanji\",\"japanese\",\"orange-square\"],char:\"🈚\",fitzpatrick_scale:false,category:\"symbols\"},u7533:{keywords:[\"chinese\",\"japanese\",\"kanji\",\"orange-square\"],char:\"🈸\",fitzpatrick_scale:false,category:\"symbols\"},u55b6:{keywords:[\"japanese\",\"opening hours\",\"orange-square\"],char:\"🈺\",fitzpatrick_scale:false,category:\"symbols\"},u6708:{keywords:[\"chinese\",\"month\",\"moon\",\"japanese\",\"orange-square\",\"kanji\"],char:\"🈷️\",fitzpatrick_scale:false,category:\"symbols\"},eight_pointed_black_star:{keywords:[\"orange-square\",\"shape\",\"polygon\"],char:\"✴️\",fitzpatrick_scale:false,category:\"symbols\"},vs:{keywords:[\"words\",\"orange-square\"],char:\"🆚\",fitzpatrick_scale:false,category:\"symbols\"},accept:{keywords:[\"ok\",\"good\",\"chinese\",\"kanji\",\"agree\",\"yes\",\"orange-circle\"],char:\"🉑\",fitzpatrick_scale:false,category:\"symbols\"},white_flower:{keywords:[\"japanese\",\"spring\"],char:\"💮\",fitzpatrick_scale:false,category:\"symbols\"},ideograph_advantage:{keywords:[\"chinese\",\"kanji\",\"obtain\",\"get\",\"circle\"],char:\"🉐\",fitzpatrick_scale:false,category:\"symbols\"},secret:{keywords:[\"privacy\",\"chinese\",\"sshh\",\"kanji\",\"red-circle\"],char:\"㊙️\",fitzpatrick_scale:false,category:\"symbols\"},congratulations:{keywords:[\"chinese\",\"kanji\",\"japanese\",\"red-circle\"],char:\"㊗️\",fitzpatrick_scale:false,category:\"symbols\"},u5408:{keywords:[\"japanese\",\"chinese\",\"join\",\"kanji\",\"red-square\"],char:\"🈴\",fitzpatrick_scale:false,category:\"symbols\"},u6e80:{keywords:[\"full\",\"chinese\",\"japanese\",\"red-square\",\"kanji\"],char:\"🈵\",fitzpatrick_scale:false,category:\"symbols\"},u7981:{keywords:[\"kanji\",\"japanese\",\"chinese\",\"forbidden\",\"limit\",\"restricted\",\"red-square\"],char:\"🈲\",fitzpatrick_scale:false,category:\"symbols\"},a:{keywords:[\"red-square\",\"alphabet\",\"letter\"],char:\"🅰️\",fitzpatrick_scale:false,category:\"symbols\"},b:{keywords:[\"red-square\",\"alphabet\",\"letter\"],char:\"🅱️\",fitzpatrick_scale:false,category:\"symbols\"},ab:{keywords:[\"red-square\",\"alphabet\"],char:\"🆎\",fitzpatrick_scale:false,category:\"symbols\"},cl:{keywords:[\"alphabet\",\"words\",\"red-square\"],char:\"🆑\",fitzpatrick_scale:false,category:\"symbols\"},o2:{keywords:[\"alphabet\",\"red-square\",\"letter\"],char:\"🅾️\",fitzpatrick_scale:false,category:\"symbols\"},sos:{keywords:[\"help\",\"red-square\",\"words\",\"emergency\",\"911\"],char:\"🆘\",fitzpatrick_scale:false,category:\"symbols\"},no_entry:{keywords:[\"limit\",\"security\",\"privacy\",\"bad\",\"denied\",\"stop\",\"circle\"],char:\"⛔\",fitzpatrick_scale:false,category:\"symbols\"},name_badge:{keywords:[\"fire\",\"forbid\"],char:\"📛\",fitzpatrick_scale:false,category:\"symbols\"},no_entry_sign:{keywords:[\"forbid\",\"stop\",\"limit\",\"denied\",\"disallow\",\"circle\"],char:\"🚫\",fitzpatrick_scale:false,category:\"symbols\"},x:{keywords:[\"no\",\"delete\",\"remove\",\"cancel\",\"red\"],char:\"❌\",fitzpatrick_scale:false,category:\"symbols\"},o:{keywords:[\"circle\",\"round\"],char:\"⭕\",fitzpatrick_scale:false,category:\"symbols\"},stop_sign:{keywords:[\"stop\"],char:\"🛑\",fitzpatrick_scale:false,category:\"symbols\"},anger:{keywords:[\"angry\",\"mad\"],char:\"💢\",fitzpatrick_scale:false,category:\"symbols\"},hotsprings:{keywords:[\"bath\",\"warm\",\"relax\"],char:\"♨️\",fitzpatrick_scale:false,category:\"symbols\"},no_pedestrians:{keywords:[\"rules\",\"crossing\",\"walking\",\"circle\"],char:\"🚷\",fitzpatrick_scale:false,category:\"symbols\"},do_not_litter:{keywords:[\"trash\",\"bin\",\"garbage\",\"circle\"],char:\"🚯\",fitzpatrick_scale:false,category:\"symbols\"},no_bicycles:{keywords:[\"cyclist\",\"prohibited\",\"circle\"],char:\"🚳\",fitzpatrick_scale:false,category:\"symbols\"},\"non-potable_water\":{keywords:[\"drink\",\"faucet\",\"tap\",\"circle\"],char:\"🚱\",fitzpatrick_scale:false,category:\"symbols\"},underage:{keywords:[\"18\",\"drink\",\"pub\",\"night\",\"minor\",\"circle\"],char:\"🔞\",fitzpatrick_scale:false,category:\"symbols\"},no_mobile_phones:{keywords:[\"iphone\",\"mute\",\"circle\"],char:\"📵\",fitzpatrick_scale:false,category:\"symbols\"},exclamation:{keywords:[\"heavy_exclamation_mark\",\"danger\",\"surprise\",\"punctuation\",\"wow\",\"warning\"],char:\"❗\",fitzpatrick_scale:false,category:\"symbols\"},grey_exclamation:{keywords:[\"surprise\",\"punctuation\",\"gray\",\"wow\",\"warning\"],char:\"❕\",fitzpatrick_scale:false,category:\"symbols\"},question:{keywords:[\"doubt\",\"confused\"],char:\"❓\",fitzpatrick_scale:false,category:\"symbols\"},grey_question:{keywords:[\"doubts\",\"gray\",\"huh\",\"confused\"],char:\"❔\",fitzpatrick_scale:false,category:\"symbols\"},bangbang:{keywords:[\"exclamation\",\"surprise\"],char:\"‼️\",fitzpatrick_scale:false,category:\"symbols\"},interrobang:{keywords:[\"wat\",\"punctuation\",\"surprise\"],char:\"⁉️\",fitzpatrick_scale:false,category:\"symbols\"},100:{keywords:[\"score\",\"perfect\",\"numbers\",\"century\",\"exam\",\"quiz\",\"test\",\"pass\",\"hundred\"],char:\"💯\",fitzpatrick_scale:false,category:\"symbols\"},low_brightness:{keywords:[\"sun\",\"afternoon\",\"warm\",\"summer\"],char:\"🔅\",fitzpatrick_scale:false,category:\"symbols\"},high_brightness:{keywords:[\"sun\",\"light\"],char:\"🔆\",fitzpatrick_scale:false,category:\"symbols\"},trident:{keywords:[\"weapon\",\"spear\"],char:\"🔱\",fitzpatrick_scale:false,category:\"symbols\"},fleur_de_lis:{keywords:[\"decorative\",\"scout\"],char:\"⚜\",fitzpatrick_scale:false,category:\"symbols\"},part_alternation_mark:{keywords:[\"graph\",\"presentation\",\"stats\",\"business\",\"economics\",\"bad\"],char:\"〽️\",fitzpatrick_scale:false,category:\"symbols\"},warning:{keywords:[\"exclamation\",\"wip\",\"alert\",\"error\",\"problem\",\"issue\"],char:\"⚠️\",fitzpatrick_scale:false,category:\"symbols\"},children_crossing:{keywords:[\"school\",\"warning\",\"danger\",\"sign\",\"driving\",\"yellow-diamond\"],char:\"🚸\",fitzpatrick_scale:false,category:\"symbols\"},beginner:{keywords:[\"badge\",\"shield\"],char:\"🔰\",fitzpatrick_scale:false,category:\"symbols\"},recycle:{keywords:[\"arrow\",\"environment\",\"garbage\",\"trash\"],char:\"♻️\",fitzpatrick_scale:false,category:\"symbols\"},u6307:{keywords:[\"chinese\",\"point\",\"green-square\",\"kanji\"],char:\"🈯\",fitzpatrick_scale:false,category:\"symbols\"},chart:{keywords:[\"green-square\",\"graph\",\"presentation\",\"stats\"],char:\"💹\",fitzpatrick_scale:false,category:\"symbols\"},sparkle:{keywords:[\"stars\",\"green-square\",\"awesome\",\"good\",\"fireworks\"],char:\"❇️\",fitzpatrick_scale:false,category:\"symbols\"},eight_spoked_asterisk:{keywords:[\"star\",\"sparkle\",\"green-square\"],char:\"✳️\",fitzpatrick_scale:false,category:\"symbols\"},negative_squared_cross_mark:{keywords:[\"x\",\"green-square\",\"no\",\"deny\"],char:\"❎\",fitzpatrick_scale:false,category:\"symbols\"},white_check_mark:{keywords:[\"green-square\",\"ok\",\"agree\",\"vote\",\"election\",\"answer\",\"tick\"],char:\"✅\",fitzpatrick_scale:false,category:\"symbols\"},diamond_shape_with_a_dot_inside:{keywords:[\"jewel\",\"blue\",\"gem\",\"crystal\",\"fancy\"],char:\"💠\",fitzpatrick_scale:false,category:\"symbols\"},cyclone:{keywords:[\"weather\",\"swirl\",\"blue\",\"cloud\",\"vortex\",\"spiral\",\"whirlpool\",\"spin\",\"tornado\",\"hurricane\",\"typhoon\"],char:\"🌀\",fitzpatrick_scale:false,category:\"symbols\"},loop:{keywords:[\"tape\",\"cassette\"],char:\"➿\",fitzpatrick_scale:false,category:\"symbols\"},globe_with_meridians:{keywords:[\"earth\",\"international\",\"world\",\"internet\",\"interweb\",\"i18n\"],char:\"🌐\",fitzpatrick_scale:false,category:\"symbols\"},m:{keywords:[\"alphabet\",\"blue-circle\",\"letter\"],char:\"Ⓜ️\",fitzpatrick_scale:false,category:\"symbols\"},atm:{keywords:[\"money\",\"sales\",\"cash\",\"blue-square\",\"payment\",\"bank\"],char:\"🏧\",fitzpatrick_scale:false,category:\"symbols\"},sa:{keywords:[\"japanese\",\"blue-square\",\"katakana\"],char:\"🈂️\",fitzpatrick_scale:false,category:\"symbols\"},passport_control:{keywords:[\"custom\",\"blue-square\"],char:\"🛂\",fitzpatrick_scale:false,category:\"symbols\"},customs:{keywords:[\"passport\",\"border\",\"blue-square\"],char:\"🛃\",fitzpatrick_scale:false,category:\"symbols\"},baggage_claim:{keywords:[\"blue-square\",\"airport\",\"transport\"],char:\"🛄\",fitzpatrick_scale:false,category:\"symbols\"},left_luggage:{keywords:[\"blue-square\",\"travel\"],char:\"🛅\",fitzpatrick_scale:false,category:\"symbols\"},wheelchair:{keywords:[\"blue-square\",\"disabled\",\"a11y\",\"accessibility\"],char:\"♿\",fitzpatrick_scale:false,category:\"symbols\"},no_smoking:{keywords:[\"cigarette\",\"blue-square\",\"smell\",\"smoke\"],char:\"🚭\",fitzpatrick_scale:false,category:\"symbols\"},wc:{keywords:[\"toilet\",\"restroom\",\"blue-square\"],char:\"🚾\",fitzpatrick_scale:false,category:\"symbols\"},parking:{keywords:[\"cars\",\"blue-square\",\"alphabet\",\"letter\"],char:\"🅿️\",fitzpatrick_scale:false,category:\"symbols\"},potable_water:{keywords:[\"blue-square\",\"liquid\",\"restroom\",\"cleaning\",\"faucet\"],char:\"🚰\",fitzpatrick_scale:false,category:\"symbols\"},mens:{keywords:[\"toilet\",\"restroom\",\"wc\",\"blue-square\",\"gender\",\"male\"],char:\"🚹\",fitzpatrick_scale:false,category:\"symbols\"},womens:{keywords:[\"purple-square\",\"woman\",\"female\",\"toilet\",\"loo\",\"restroom\",\"gender\"],char:\"🚺\",fitzpatrick_scale:false,category:\"symbols\"},baby_symbol:{keywords:[\"orange-square\",\"child\"],char:\"🚼\",fitzpatrick_scale:false,category:\"symbols\"},restroom:{keywords:[\"blue-square\",\"toilet\",\"refresh\",\"wc\",\"gender\"],char:\"🚻\",fitzpatrick_scale:false,category:\"symbols\"},put_litter_in_its_place:{keywords:[\"blue-square\",\"sign\",\"human\",\"info\"],char:\"🚮\",fitzpatrick_scale:false,category:\"symbols\"},cinema:{keywords:[\"blue-square\",\"record\",\"film\",\"movie\",\"curtain\",\"stage\",\"theater\"],char:\"🎦\",fitzpatrick_scale:false,category:\"symbols\"},signal_strength:{keywords:[\"blue-square\",\"reception\",\"phone\",\"internet\",\"connection\",\"wifi\",\"bluetooth\",\"bars\"],char:\"📶\",fitzpatrick_scale:false,category:\"symbols\"},koko:{keywords:[\"blue-square\",\"here\",\"katakana\",\"japanese\",\"destination\"],char:\"🈁\",fitzpatrick_scale:false,category:\"symbols\"},ng:{keywords:[\"blue-square\",\"words\",\"shape\",\"icon\"],char:\"🆖\",fitzpatrick_scale:false,category:\"symbols\"},ok:{keywords:[\"good\",\"agree\",\"yes\",\"blue-square\"],char:\"🆗\",fitzpatrick_scale:false,category:\"symbols\"},up:{keywords:[\"blue-square\",\"above\",\"high\"],char:\"🆙\",fitzpatrick_scale:false,category:\"symbols\"},cool:{keywords:[\"words\",\"blue-square\"],char:\"🆒\",fitzpatrick_scale:false,category:\"symbols\"},new:{keywords:[\"blue-square\",\"words\",\"start\"],char:\"🆕\",fitzpatrick_scale:false,category:\"symbols\"},free:{keywords:[\"blue-square\",\"words\"],char:\"🆓\",fitzpatrick_scale:false,category:\"symbols\"},zero:{keywords:[\"0\",\"numbers\",\"blue-square\",\"null\"],char:\"0️⃣\",fitzpatrick_scale:false,category:\"symbols\"},one:{keywords:[\"blue-square\",\"numbers\",\"1\"],char:\"1️⃣\",fitzpatrick_scale:false,category:\"symbols\"},two:{keywords:[\"numbers\",\"2\",\"prime\",\"blue-square\"],char:\"2️⃣\",fitzpatrick_scale:false,category:\"symbols\"},three:{keywords:[\"3\",\"numbers\",\"prime\",\"blue-square\"],char:\"3️⃣\",fitzpatrick_scale:false,category:\"symbols\"},four:{keywords:[\"4\",\"numbers\",\"blue-square\"],char:\"4️⃣\",fitzpatrick_scale:false,category:\"symbols\"},five:{keywords:[\"5\",\"numbers\",\"blue-square\",\"prime\"],char:\"5️⃣\",fitzpatrick_scale:false,category:\"symbols\"},six:{keywords:[\"6\",\"numbers\",\"blue-square\"],char:\"6️⃣\",fitzpatrick_scale:false,category:\"symbols\"},seven:{keywords:[\"7\",\"numbers\",\"blue-square\",\"prime\"],char:\"7️⃣\",fitzpatrick_scale:false,category:\"symbols\"},eight:{keywords:[\"8\",\"blue-square\",\"numbers\"],char:\"8️⃣\",fitzpatrick_scale:false,category:\"symbols\"},nine:{keywords:[\"blue-square\",\"numbers\",\"9\"],char:\"9️⃣\",fitzpatrick_scale:false,category:\"symbols\"},keycap_ten:{keywords:[\"numbers\",\"10\",\"blue-square\"],char:\"🔟\",fitzpatrick_scale:false,category:\"symbols\"},asterisk:{keywords:[\"star\",\"keycap\"],char:\"*⃣\",fitzpatrick_scale:false,category:\"symbols\"},1234:{keywords:[\"numbers\",\"blue-square\"],char:\"🔢\",fitzpatrick_scale:false,category:\"symbols\"},eject_button:{keywords:[\"blue-square\"],char:\"⏏️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_forward:{keywords:[\"blue-square\",\"right\",\"direction\",\"play\"],char:\"▶️\",fitzpatrick_scale:false,category:\"symbols\"},pause_button:{keywords:[\"pause\",\"blue-square\"],char:\"⏸\",fitzpatrick_scale:false,category:\"symbols\"},next_track_button:{keywords:[\"forward\",\"next\",\"blue-square\"],char:\"⏭\",fitzpatrick_scale:false,category:\"symbols\"},stop_button:{keywords:[\"blue-square\"],char:\"⏹\",fitzpatrick_scale:false,category:\"symbols\"},record_button:{keywords:[\"blue-square\"],char:\"⏺\",fitzpatrick_scale:false,category:\"symbols\"},play_or_pause_button:{keywords:[\"blue-square\",\"play\",\"pause\"],char:\"⏯\",fitzpatrick_scale:false,category:\"symbols\"},previous_track_button:{keywords:[\"backward\"],char:\"⏮\",fitzpatrick_scale:false,category:\"symbols\"},fast_forward:{keywords:[\"blue-square\",\"play\",\"speed\",\"continue\"],char:\"⏩\",fitzpatrick_scale:false,category:\"symbols\"},rewind:{keywords:[\"play\",\"blue-square\"],char:\"⏪\",fitzpatrick_scale:false,category:\"symbols\"},twisted_rightwards_arrows:{keywords:[\"blue-square\",\"shuffle\",\"music\",\"random\"],char:\"🔀\",fitzpatrick_scale:false,category:\"symbols\"},repeat:{keywords:[\"loop\",\"record\"],char:\"🔁\",fitzpatrick_scale:false,category:\"symbols\"},repeat_one:{keywords:[\"blue-square\",\"loop\"],char:\"🔂\",fitzpatrick_scale:false,category:\"symbols\"},arrow_backward:{keywords:[\"blue-square\",\"left\",\"direction\"],char:\"◀️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_up_small:{keywords:[\"blue-square\",\"triangle\",\"direction\",\"point\",\"forward\",\"top\"],char:\"🔼\",fitzpatrick_scale:false,category:\"symbols\"},arrow_down_small:{keywords:[\"blue-square\",\"direction\",\"bottom\"],char:\"🔽\",fitzpatrick_scale:false,category:\"symbols\"},arrow_double_up:{keywords:[\"blue-square\",\"direction\",\"top\"],char:\"⏫\",fitzpatrick_scale:false,category:\"symbols\"},arrow_double_down:{keywords:[\"blue-square\",\"direction\",\"bottom\"],char:\"⏬\",fitzpatrick_scale:false,category:\"symbols\"},arrow_right:{keywords:[\"blue-square\",\"next\"],char:\"➡️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_left:{keywords:[\"blue-square\",\"previous\",\"back\"],char:\"⬅️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_up:{keywords:[\"blue-square\",\"continue\",\"top\",\"direction\"],char:\"⬆️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_down:{keywords:[\"blue-square\",\"direction\",\"bottom\"],char:\"⬇️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_upper_right:{keywords:[\"blue-square\",\"point\",\"direction\",\"diagonal\",\"northeast\"],char:\"↗️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_lower_right:{keywords:[\"blue-square\",\"direction\",\"diagonal\",\"southeast\"],char:\"↘️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_lower_left:{keywords:[\"blue-square\",\"direction\",\"diagonal\",\"southwest\"],char:\"↙️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_upper_left:{keywords:[\"blue-square\",\"point\",\"direction\",\"diagonal\",\"northwest\"],char:\"↖️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_up_down:{keywords:[\"blue-square\",\"direction\",\"way\",\"vertical\"],char:\"↕️\",fitzpatrick_scale:false,category:\"symbols\"},left_right_arrow:{keywords:[\"shape\",\"direction\",\"horizontal\",\"sideways\"],char:\"↔️\",fitzpatrick_scale:false,category:\"symbols\"},arrows_counterclockwise:{keywords:[\"blue-square\",\"sync\",\"cycle\"],char:\"🔄\",fitzpatrick_scale:false,category:\"symbols\"},arrow_right_hook:{keywords:[\"blue-square\",\"return\",\"rotate\",\"direction\"],char:\"↪️\",fitzpatrick_scale:false,category:\"symbols\"},leftwards_arrow_with_hook:{keywords:[\"back\",\"return\",\"blue-square\",\"undo\",\"enter\"],char:\"↩️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_heading_up:{keywords:[\"blue-square\",\"direction\",\"top\"],char:\"⤴️\",fitzpatrick_scale:false,category:\"symbols\"},arrow_heading_down:{keywords:[\"blue-square\",\"direction\",\"bottom\"],char:\"⤵️\",fitzpatrick_scale:false,category:\"symbols\"},hash:{keywords:[\"symbol\",\"blue-square\",\"twitter\"],char:\"#️⃣\",fitzpatrick_scale:false,category:\"symbols\"},information_source:{keywords:[\"blue-square\",\"alphabet\",\"letter\"],char:\"ℹ️\",fitzpatrick_scale:false,category:\"symbols\"},abc:{keywords:[\"blue-square\",\"alphabet\"],char:\"🔤\",fitzpatrick_scale:false,category:\"symbols\"},abcd:{keywords:[\"blue-square\",\"alphabet\"],char:\"🔡\",fitzpatrick_scale:false,category:\"symbols\"},capital_abcd:{keywords:[\"alphabet\",\"words\",\"blue-square\"],char:\"🔠\",fitzpatrick_scale:false,category:\"symbols\"},symbols:{keywords:[\"blue-square\",\"music\",\"note\",\"ampersand\",\"percent\",\"glyphs\",\"characters\"],char:\"🔣\",fitzpatrick_scale:false,category:\"symbols\"},musical_note:{keywords:[\"score\",\"tone\",\"sound\"],char:\"🎵\",fitzpatrick_scale:false,category:\"symbols\"},notes:{keywords:[\"music\",\"score\"],char:\"🎶\",fitzpatrick_scale:false,category:\"symbols\"},wavy_dash:{keywords:[\"draw\",\"line\",\"moustache\",\"mustache\",\"squiggle\",\"scribble\"],char:\"〰️\",fitzpatrick_scale:false,category:\"symbols\"},curly_loop:{keywords:[\"scribble\",\"draw\",\"shape\",\"squiggle\"],char:\"➰\",fitzpatrick_scale:false,category:\"symbols\"},heavy_check_mark:{keywords:[\"ok\",\"nike\",\"answer\",\"yes\",\"tick\"],char:\"✔️\",fitzpatrick_scale:false,category:\"symbols\"},arrows_clockwise:{keywords:[\"sync\",\"cycle\",\"round\",\"repeat\"],char:\"🔃\",fitzpatrick_scale:false,category:\"symbols\"},heavy_plus_sign:{keywords:[\"math\",\"calculation\",\"addition\",\"more\",\"increase\"],char:\"➕\",fitzpatrick_scale:false,category:\"symbols\"},heavy_minus_sign:{keywords:[\"math\",\"calculation\",\"subtract\",\"less\"],char:\"➖\",fitzpatrick_scale:false,category:\"symbols\"},heavy_division_sign:{keywords:[\"divide\",\"math\",\"calculation\"],char:\"➗\",fitzpatrick_scale:false,category:\"symbols\"},heavy_multiplication_x:{keywords:[\"math\",\"calculation\"],char:\"✖️\",fitzpatrick_scale:false,category:\"symbols\"},infinity:{keywords:[\"forever\"],char:\"♾\",fitzpatrick_scale:false,category:\"symbols\"},heavy_dollar_sign:{keywords:[\"money\",\"sales\",\"payment\",\"currency\",\"buck\"],char:\"💲\",fitzpatrick_scale:false,category:\"symbols\"},currency_exchange:{keywords:[\"money\",\"sales\",\"dollar\",\"travel\"],char:\"💱\",fitzpatrick_scale:false,category:\"symbols\"},copyright:{keywords:[\"ip\",\"license\",\"circle\",\"law\",\"legal\"],char:\"©️\",fitzpatrick_scale:false,category:\"symbols\"},registered:{keywords:[\"alphabet\",\"circle\"],char:\"®️\",fitzpatrick_scale:false,category:\"symbols\"},tm:{keywords:[\"trademark\",\"brand\",\"law\",\"legal\"],char:\"™️\",fitzpatrick_scale:false,category:\"symbols\"},end:{keywords:[\"words\",\"arrow\"],char:\"🔚\",fitzpatrick_scale:false,category:\"symbols\"},back:{keywords:[\"arrow\",\"words\",\"return\"],char:\"🔙\",fitzpatrick_scale:false,category:\"symbols\"},on:{keywords:[\"arrow\",\"words\"],char:\"🔛\",fitzpatrick_scale:false,category:\"symbols\"},top:{keywords:[\"words\",\"blue-square\"],char:\"🔝\",fitzpatrick_scale:false,category:\"symbols\"},soon:{keywords:[\"arrow\",\"words\"],char:\"🔜\",fitzpatrick_scale:false,category:\"symbols\"},ballot_box_with_check:{keywords:[\"ok\",\"agree\",\"confirm\",\"black-square\",\"vote\",\"election\",\"yes\",\"tick\"],char:\"☑️\",fitzpatrick_scale:false,category:\"symbols\"},radio_button:{keywords:[\"input\",\"old\",\"music\",\"circle\"],char:\"🔘\",fitzpatrick_scale:false,category:\"symbols\"},white_circle:{keywords:[\"shape\",\"round\"],char:\"⚪\",fitzpatrick_scale:false,category:\"symbols\"},black_circle:{keywords:[\"shape\",\"button\",\"round\"],char:\"⚫\",fitzpatrick_scale:false,category:\"symbols\"},red_circle:{keywords:[\"shape\",\"error\",\"danger\"],char:\"🔴\",fitzpatrick_scale:false,category:\"symbols\"},large_blue_circle:{keywords:[\"shape\",\"icon\",\"button\"],char:\"🔵\",fitzpatrick_scale:false,category:\"symbols\"},small_orange_diamond:{keywords:[\"shape\",\"jewel\",\"gem\"],char:\"🔸\",fitzpatrick_scale:false,category:\"symbols\"},small_blue_diamond:{keywords:[\"shape\",\"jewel\",\"gem\"],char:\"🔹\",fitzpatrick_scale:false,category:\"symbols\"},large_orange_diamond:{keywords:[\"shape\",\"jewel\",\"gem\"],char:\"🔶\",fitzpatrick_scale:false,category:\"symbols\"},large_blue_diamond:{keywords:[\"shape\",\"jewel\",\"gem\"],char:\"🔷\",fitzpatrick_scale:false,category:\"symbols\"},small_red_triangle:{keywords:[\"shape\",\"direction\",\"up\",\"top\"],char:\"🔺\",fitzpatrick_scale:false,category:\"symbols\"},black_small_square:{keywords:[\"shape\",\"icon\"],char:\"▪️\",fitzpatrick_scale:false,category:\"symbols\"},white_small_square:{keywords:[\"shape\",\"icon\"],char:\"▫️\",fitzpatrick_scale:false,category:\"symbols\"},black_large_square:{keywords:[\"shape\",\"icon\",\"button\"],char:\"⬛\",fitzpatrick_scale:false,category:\"symbols\"},white_large_square:{keywords:[\"shape\",\"icon\",\"stone\",\"button\"],char:\"⬜\",fitzpatrick_scale:false,category:\"symbols\"},small_red_triangle_down:{keywords:[\"shape\",\"direction\",\"bottom\"],char:\"🔻\",fitzpatrick_scale:false,category:\"symbols\"},black_medium_square:{keywords:[\"shape\",\"button\",\"icon\"],char:\"◼️\",fitzpatrick_scale:false,category:\"symbols\"},white_medium_square:{keywords:[\"shape\",\"stone\",\"icon\"],char:\"◻️\",fitzpatrick_scale:false,category:\"symbols\"},black_medium_small_square:{keywords:[\"icon\",\"shape\",\"button\"],char:\"◾\",fitzpatrick_scale:false,category:\"symbols\"},white_medium_small_square:{keywords:[\"shape\",\"stone\",\"icon\",\"button\"],char:\"◽\",fitzpatrick_scale:false,category:\"symbols\"},black_square_button:{keywords:[\"shape\",\"input\",\"frame\"],char:\"🔲\",fitzpatrick_scale:false,category:\"symbols\"},white_square_button:{keywords:[\"shape\",\"input\"],char:\"🔳\",fitzpatrick_scale:false,category:\"symbols\"},speaker:{keywords:[\"sound\",\"volume\",\"silence\",\"broadcast\"],char:\"🔈\",fitzpatrick_scale:false,category:\"symbols\"},sound:{keywords:[\"volume\",\"speaker\",\"broadcast\"],char:\"🔉\",fitzpatrick_scale:false,category:\"symbols\"},loud_sound:{keywords:[\"volume\",\"noise\",\"noisy\",\"speaker\",\"broadcast\"],char:\"🔊\",fitzpatrick_scale:false,category:\"symbols\"},mute:{keywords:[\"sound\",\"volume\",\"silence\",\"quiet\"],char:\"🔇\",fitzpatrick_scale:false,category:\"symbols\"},mega:{keywords:[\"sound\",\"speaker\",\"volume\"],char:\"📣\",fitzpatrick_scale:false,category:\"symbols\"},loudspeaker:{keywords:[\"volume\",\"sound\"],char:\"📢\",fitzpatrick_scale:false,category:\"symbols\"},bell:{keywords:[\"sound\",\"notification\",\"christmas\",\"xmas\",\"chime\"],char:\"🔔\",fitzpatrick_scale:false,category:\"symbols\"},no_bell:{keywords:[\"sound\",\"volume\",\"mute\",\"quiet\",\"silent\"],char:\"🔕\",fitzpatrick_scale:false,category:\"symbols\"},black_joker:{keywords:[\"poker\",\"cards\",\"game\",\"play\",\"magic\"],char:\"🃏\",fitzpatrick_scale:false,category:\"symbols\"},mahjong:{keywords:[\"game\",\"play\",\"chinese\",\"kanji\"],char:\"🀄\",fitzpatrick_scale:false,category:\"symbols\"},spades:{keywords:[\"poker\",\"cards\",\"suits\",\"magic\"],char:\"♠️\",fitzpatrick_scale:false,category:\"symbols\"},clubs:{keywords:[\"poker\",\"cards\",\"magic\",\"suits\"],char:\"♣️\",fitzpatrick_scale:false,category:\"symbols\"},hearts:{keywords:[\"poker\",\"cards\",\"magic\",\"suits\"],char:\"♥️\",fitzpatrick_scale:false,category:\"symbols\"},diamonds:{keywords:[\"poker\",\"cards\",\"magic\",\"suits\"],char:\"♦️\",fitzpatrick_scale:false,category:\"symbols\"},flower_playing_cards:{keywords:[\"game\",\"sunset\",\"red\"],char:\"🎴\",fitzpatrick_scale:false,category:\"symbols\"},thought_balloon:{keywords:[\"bubble\",\"cloud\",\"speech\",\"thinking\",\"dream\"],char:\"💭\",fitzpatrick_scale:false,category:\"symbols\"},right_anger_bubble:{keywords:[\"caption\",\"speech\",\"thinking\",\"mad\"],char:\"🗯\",fitzpatrick_scale:false,category:\"symbols\"},speech_balloon:{keywords:[\"bubble\",\"words\",\"message\",\"talk\",\"chatting\"],char:\"💬\",fitzpatrick_scale:false,category:\"symbols\"},left_speech_bubble:{keywords:[\"words\",\"message\",\"talk\",\"chatting\"],char:\"🗨\",fitzpatrick_scale:false,category:\"symbols\"},clock1:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕐\",fitzpatrick_scale:false,category:\"symbols\"},clock2:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕑\",fitzpatrick_scale:false,category:\"symbols\"},clock3:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕒\",fitzpatrick_scale:false,category:\"symbols\"},clock4:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕓\",fitzpatrick_scale:false,category:\"symbols\"},clock5:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕔\",fitzpatrick_scale:false,category:\"symbols\"},clock6:{keywords:[\"time\",\"late\",\"early\",\"schedule\",\"dawn\",\"dusk\"],char:\"🕕\",fitzpatrick_scale:false,category:\"symbols\"},clock7:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕖\",fitzpatrick_scale:false,category:\"symbols\"},clock8:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕗\",fitzpatrick_scale:false,category:\"symbols\"},clock9:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕘\",fitzpatrick_scale:false,category:\"symbols\"},clock10:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕙\",fitzpatrick_scale:false,category:\"symbols\"},clock11:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕚\",fitzpatrick_scale:false,category:\"symbols\"},clock12:{keywords:[\"time\",\"noon\",\"midnight\",\"midday\",\"late\",\"early\",\"schedule\"],char:\"🕛\",fitzpatrick_scale:false,category:\"symbols\"},clock130:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕜\",fitzpatrick_scale:false,category:\"symbols\"},clock230:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕝\",fitzpatrick_scale:false,category:\"symbols\"},clock330:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕞\",fitzpatrick_scale:false,category:\"symbols\"},clock430:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕟\",fitzpatrick_scale:false,category:\"symbols\"},clock530:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕠\",fitzpatrick_scale:false,category:\"symbols\"},clock630:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕡\",fitzpatrick_scale:false,category:\"symbols\"},clock730:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕢\",fitzpatrick_scale:false,category:\"symbols\"},clock830:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕣\",fitzpatrick_scale:false,category:\"symbols\"},clock930:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕤\",fitzpatrick_scale:false,category:\"symbols\"},clock1030:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕥\",fitzpatrick_scale:false,category:\"symbols\"},clock1130:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕦\",fitzpatrick_scale:false,category:\"symbols\"},clock1230:{keywords:[\"time\",\"late\",\"early\",\"schedule\"],char:\"🕧\",fitzpatrick_scale:false,category:\"symbols\"},afghanistan:{keywords:[\"af\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇫\",fitzpatrick_scale:false,category:\"flags\"},aland_islands:{keywords:[\"Åland\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇽\",fitzpatrick_scale:false,category:\"flags\"},albania:{keywords:[\"al\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇱\",fitzpatrick_scale:false,category:\"flags\"},algeria:{keywords:[\"dz\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇩🇿\",fitzpatrick_scale:false,category:\"flags\"},american_samoa:{keywords:[\"american\",\"ws\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇸\",fitzpatrick_scale:false,category:\"flags\"},andorra:{keywords:[\"ad\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇩\",fitzpatrick_scale:false,category:\"flags\"},angola:{keywords:[\"ao\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇴\",fitzpatrick_scale:false,category:\"flags\"},anguilla:{keywords:[\"ai\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇮\",fitzpatrick_scale:false,category:\"flags\"},antarctica:{keywords:[\"aq\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇶\",fitzpatrick_scale:false,category:\"flags\"},antigua_barbuda:{keywords:[\"antigua\",\"barbuda\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇬\",fitzpatrick_scale:false,category:\"flags\"},argentina:{keywords:[\"ar\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇷\",fitzpatrick_scale:false,category:\"flags\"},armenia:{keywords:[\"am\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇲\",fitzpatrick_scale:false,category:\"flags\"},aruba:{keywords:[\"aw\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇼\",fitzpatrick_scale:false,category:\"flags\"},australia:{keywords:[\"au\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇺\",fitzpatrick_scale:false,category:\"flags\"},austria:{keywords:[\"at\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇹\",fitzpatrick_scale:false,category:\"flags\"},azerbaijan:{keywords:[\"az\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇿\",fitzpatrick_scale:false,category:\"flags\"},bahamas:{keywords:[\"bs\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇸\",fitzpatrick_scale:false,category:\"flags\"},bahrain:{keywords:[\"bh\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇭\",fitzpatrick_scale:false,category:\"flags\"},bangladesh:{keywords:[\"bd\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇩\",fitzpatrick_scale:false,category:\"flags\"},barbados:{keywords:[\"bb\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇧\",fitzpatrick_scale:false,category:\"flags\"},belarus:{keywords:[\"by\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇾\",fitzpatrick_scale:false,category:\"flags\"},belgium:{keywords:[\"be\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇪\",fitzpatrick_scale:false,category:\"flags\"},belize:{keywords:[\"bz\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇿\",fitzpatrick_scale:false,category:\"flags\"},benin:{keywords:[\"bj\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇯\",fitzpatrick_scale:false,category:\"flags\"},bermuda:{keywords:[\"bm\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇲\",fitzpatrick_scale:false,category:\"flags\"},bhutan:{keywords:[\"bt\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇹\",fitzpatrick_scale:false,category:\"flags\"},bolivia:{keywords:[\"bo\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇴\",fitzpatrick_scale:false,category:\"flags\"},caribbean_netherlands:{keywords:[\"bonaire\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇶\",fitzpatrick_scale:false,category:\"flags\"},bosnia_herzegovina:{keywords:[\"bosnia\",\"herzegovina\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇦\",fitzpatrick_scale:false,category:\"flags\"},botswana:{keywords:[\"bw\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇼\",fitzpatrick_scale:false,category:\"flags\"},brazil:{keywords:[\"br\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇷\",fitzpatrick_scale:false,category:\"flags\"},british_indian_ocean_territory:{keywords:[\"british\",\"indian\",\"ocean\",\"territory\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇴\",fitzpatrick_scale:false,category:\"flags\"},british_virgin_islands:{keywords:[\"british\",\"virgin\",\"islands\",\"bvi\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇻🇬\",fitzpatrick_scale:false,category:\"flags\"},brunei:{keywords:[\"bn\",\"darussalam\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇳\",fitzpatrick_scale:false,category:\"flags\"},bulgaria:{keywords:[\"bg\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇬\",fitzpatrick_scale:false,category:\"flags\"},burkina_faso:{keywords:[\"burkina\",\"faso\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇫\",fitzpatrick_scale:false,category:\"flags\"},burundi:{keywords:[\"bi\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇮\",fitzpatrick_scale:false,category:\"flags\"},cape_verde:{keywords:[\"cabo\",\"verde\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇻\",fitzpatrick_scale:false,category:\"flags\"},cambodia:{keywords:[\"kh\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇰🇭\",fitzpatrick_scale:false,category:\"flags\"},cameroon:{keywords:[\"cm\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇲\",fitzpatrick_scale:false,category:\"flags\"},canada:{keywords:[\"ca\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇦\",fitzpatrick_scale:false,category:\"flags\"},canary_islands:{keywords:[\"canary\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇨\",fitzpatrick_scale:false,category:\"flags\"},cayman_islands:{keywords:[\"cayman\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇰🇾\",fitzpatrick_scale:false,category:\"flags\"},central_african_republic:{keywords:[\"central\",\"african\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇫\",fitzpatrick_scale:false,category:\"flags\"},chad:{keywords:[\"td\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇩\",fitzpatrick_scale:false,category:\"flags\"},chile:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇱\",fitzpatrick_scale:false,category:\"flags\"},cn:{keywords:[\"china\",\"chinese\",\"prc\",\"flag\",\"country\",\"nation\",\"banner\"],char:\"🇨🇳\",fitzpatrick_scale:false,category:\"flags\"},christmas_island:{keywords:[\"christmas\",\"island\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇽\",fitzpatrick_scale:false,category:\"flags\"},cocos_islands:{keywords:[\"cocos\",\"keeling\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇨\",fitzpatrick_scale:false,category:\"flags\"},colombia:{keywords:[\"co\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇴\",fitzpatrick_scale:false,category:\"flags\"},comoros:{keywords:[\"km\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇰🇲\",fitzpatrick_scale:false,category:\"flags\"},congo_brazzaville:{keywords:[\"congo\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇬\",fitzpatrick_scale:false,category:\"flags\"},congo_kinshasa:{keywords:[\"congo\",\"democratic\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇩\",fitzpatrick_scale:false,category:\"flags\"},cook_islands:{keywords:[\"cook\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇰\",fitzpatrick_scale:false,category:\"flags\"},costa_rica:{keywords:[\"costa\",\"rica\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇷\",fitzpatrick_scale:false,category:\"flags\"},croatia:{keywords:[\"hr\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇭🇷\",fitzpatrick_scale:false,category:\"flags\"},cuba:{keywords:[\"cu\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇺\",fitzpatrick_scale:false,category:\"flags\"},curacao:{keywords:[\"curaçao\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇼\",fitzpatrick_scale:false,category:\"flags\"},cyprus:{keywords:[\"cy\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇾\",fitzpatrick_scale:false,category:\"flags\"},czech_republic:{keywords:[\"cz\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇿\",fitzpatrick_scale:false,category:\"flags\"},denmark:{keywords:[\"dk\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇩🇰\",fitzpatrick_scale:false,category:\"flags\"},djibouti:{keywords:[\"dj\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇩🇯\",fitzpatrick_scale:false,category:\"flags\"},dominica:{keywords:[\"dm\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇩🇲\",fitzpatrick_scale:false,category:\"flags\"},dominican_republic:{keywords:[\"dominican\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇩🇴\",fitzpatrick_scale:false,category:\"flags\"},ecuador:{keywords:[\"ec\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇪🇨\",fitzpatrick_scale:false,category:\"flags\"},egypt:{keywords:[\"eg\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇪🇬\",fitzpatrick_scale:false,category:\"flags\"},el_salvador:{keywords:[\"el\",\"salvador\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇻\",fitzpatrick_scale:false,category:\"flags\"},equatorial_guinea:{keywords:[\"equatorial\",\"gn\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇶\",fitzpatrick_scale:false,category:\"flags\"},eritrea:{keywords:[\"er\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇪🇷\",fitzpatrick_scale:false,category:\"flags\"},estonia:{keywords:[\"ee\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇪🇪\",fitzpatrick_scale:false,category:\"flags\"},ethiopia:{keywords:[\"et\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇪🇹\",fitzpatrick_scale:false,category:\"flags\"},eu:{keywords:[\"european\",\"union\",\"flag\",\"banner\"],char:\"🇪🇺\",fitzpatrick_scale:false,category:\"flags\"},falkland_islands:{keywords:[\"falkland\",\"islands\",\"malvinas\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇫🇰\",fitzpatrick_scale:false,category:\"flags\"},faroe_islands:{keywords:[\"faroe\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇫🇴\",fitzpatrick_scale:false,category:\"flags\"},fiji:{keywords:[\"fj\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇫🇯\",fitzpatrick_scale:false,category:\"flags\"},finland:{keywords:[\"fi\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇫🇮\",fitzpatrick_scale:false,category:\"flags\"},fr:{keywords:[\"banner\",\"flag\",\"nation\",\"france\",\"french\",\"country\"],char:\"🇫🇷\",fitzpatrick_scale:false,category:\"flags\"},french_guiana:{keywords:[\"french\",\"guiana\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇫\",fitzpatrick_scale:false,category:\"flags\"},french_polynesia:{keywords:[\"french\",\"polynesia\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇫\",fitzpatrick_scale:false,category:\"flags\"},french_southern_territories:{keywords:[\"french\",\"southern\",\"territories\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇫\",fitzpatrick_scale:false,category:\"flags\"},gabon:{keywords:[\"ga\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇦\",fitzpatrick_scale:false,category:\"flags\"},gambia:{keywords:[\"gm\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇲\",fitzpatrick_scale:false,category:\"flags\"},georgia:{keywords:[\"ge\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇪\",fitzpatrick_scale:false,category:\"flags\"},de:{keywords:[\"german\",\"nation\",\"flag\",\"country\",\"banner\"],char:\"🇩🇪\",fitzpatrick_scale:false,category:\"flags\"},ghana:{keywords:[\"gh\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇭\",fitzpatrick_scale:false,category:\"flags\"},gibraltar:{keywords:[\"gi\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇮\",fitzpatrick_scale:false,category:\"flags\"},greece:{keywords:[\"gr\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇷\",fitzpatrick_scale:false,category:\"flags\"},greenland:{keywords:[\"gl\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇱\",fitzpatrick_scale:false,category:\"flags\"},grenada:{keywords:[\"gd\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇩\",fitzpatrick_scale:false,category:\"flags\"},guadeloupe:{keywords:[\"gp\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇵\",fitzpatrick_scale:false,category:\"flags\"},guam:{keywords:[\"gu\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇺\",fitzpatrick_scale:false,category:\"flags\"},guatemala:{keywords:[\"gt\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇹\",fitzpatrick_scale:false,category:\"flags\"},guernsey:{keywords:[\"gg\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇬\",fitzpatrick_scale:false,category:\"flags\"},guinea:{keywords:[\"gn\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇳\",fitzpatrick_scale:false,category:\"flags\"},guinea_bissau:{keywords:[\"gw\",\"bissau\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇼\",fitzpatrick_scale:false,category:\"flags\"},guyana:{keywords:[\"gy\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇾\",fitzpatrick_scale:false,category:\"flags\"},haiti:{keywords:[\"ht\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇭🇹\",fitzpatrick_scale:false,category:\"flags\"},honduras:{keywords:[\"hn\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇭🇳\",fitzpatrick_scale:false,category:\"flags\"},hong_kong:{keywords:[\"hong\",\"kong\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇭🇰\",fitzpatrick_scale:false,category:\"flags\"},hungary:{keywords:[\"hu\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇭🇺\",fitzpatrick_scale:false,category:\"flags\"},iceland:{keywords:[\"is\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇸\",fitzpatrick_scale:false,category:\"flags\"},india:{keywords:[\"in\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇳\",fitzpatrick_scale:false,category:\"flags\"},indonesia:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇩\",fitzpatrick_scale:false,category:\"flags\"},iran:{keywords:[\"iran,\",\"islamic\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇷\",fitzpatrick_scale:false,category:\"flags\"},iraq:{keywords:[\"iq\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇶\",fitzpatrick_scale:false,category:\"flags\"},ireland:{keywords:[\"ie\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇪\",fitzpatrick_scale:false,category:\"flags\"},isle_of_man:{keywords:[\"isle\",\"man\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇲\",fitzpatrick_scale:false,category:\"flags\"},israel:{keywords:[\"il\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇱\",fitzpatrick_scale:false,category:\"flags\"},it:{keywords:[\"italy\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇮🇹\",fitzpatrick_scale:false,category:\"flags\"},cote_divoire:{keywords:[\"ivory\",\"coast\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇮\",fitzpatrick_scale:false,category:\"flags\"},jamaica:{keywords:[\"jm\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇯🇲\",fitzpatrick_scale:false,category:\"flags\"},jp:{keywords:[\"japanese\",\"nation\",\"flag\",\"country\",\"banner\"],char:\"🇯🇵\",fitzpatrick_scale:false,category:\"flags\"},jersey:{keywords:[\"je\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇯🇪\",fitzpatrick_scale:false,category:\"flags\"},jordan:{keywords:[\"jo\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇯🇴\",fitzpatrick_scale:false,category:\"flags\"},kazakhstan:{keywords:[\"kz\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇰🇿\",fitzpatrick_scale:false,category:\"flags\"},kenya:{keywords:[\"ke\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇰🇪\",fitzpatrick_scale:false,category:\"flags\"},kiribati:{keywords:[\"ki\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇰🇮\",fitzpatrick_scale:false,category:\"flags\"},kosovo:{keywords:[\"xk\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇽🇰\",fitzpatrick_scale:false,category:\"flags\"},kuwait:{keywords:[\"kw\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇰🇼\",fitzpatrick_scale:false,category:\"flags\"},kyrgyzstan:{keywords:[\"kg\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇰🇬\",fitzpatrick_scale:false,category:\"flags\"},laos:{keywords:[\"lao\",\"democratic\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇦\",fitzpatrick_scale:false,category:\"flags\"},latvia:{keywords:[\"lv\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇻\",fitzpatrick_scale:false,category:\"flags\"},lebanon:{keywords:[\"lb\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇧\",fitzpatrick_scale:false,category:\"flags\"},lesotho:{keywords:[\"ls\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇸\",fitzpatrick_scale:false,category:\"flags\"},liberia:{keywords:[\"lr\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇷\",fitzpatrick_scale:false,category:\"flags\"},libya:{keywords:[\"ly\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇾\",fitzpatrick_scale:false,category:\"flags\"},liechtenstein:{keywords:[\"li\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇮\",fitzpatrick_scale:false,category:\"flags\"},lithuania:{keywords:[\"lt\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇹\",fitzpatrick_scale:false,category:\"flags\"},luxembourg:{keywords:[\"lu\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇺\",fitzpatrick_scale:false,category:\"flags\"},macau:{keywords:[\"macao\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇴\",fitzpatrick_scale:false,category:\"flags\"},macedonia:{keywords:[\"macedonia,\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇰\",fitzpatrick_scale:false,category:\"flags\"},madagascar:{keywords:[\"mg\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇬\",fitzpatrick_scale:false,category:\"flags\"},malawi:{keywords:[\"mw\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇼\",fitzpatrick_scale:false,category:\"flags\"},malaysia:{keywords:[\"my\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇾\",fitzpatrick_scale:false,category:\"flags\"},maldives:{keywords:[\"mv\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇻\",fitzpatrick_scale:false,category:\"flags\"},mali:{keywords:[\"ml\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇱\",fitzpatrick_scale:false,category:\"flags\"},malta:{keywords:[\"mt\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇹\",fitzpatrick_scale:false,category:\"flags\"},marshall_islands:{keywords:[\"marshall\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇭\",fitzpatrick_scale:false,category:\"flags\"},martinique:{keywords:[\"mq\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇶\",fitzpatrick_scale:false,category:\"flags\"},mauritania:{keywords:[\"mr\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇷\",fitzpatrick_scale:false,category:\"flags\"},mauritius:{keywords:[\"mu\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇺\",fitzpatrick_scale:false,category:\"flags\"},mayotte:{keywords:[\"yt\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇾🇹\",fitzpatrick_scale:false,category:\"flags\"},mexico:{keywords:[\"mx\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇽\",fitzpatrick_scale:false,category:\"flags\"},micronesia:{keywords:[\"micronesia,\",\"federated\",\"states\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇫🇲\",fitzpatrick_scale:false,category:\"flags\"},moldova:{keywords:[\"moldova,\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇩\",fitzpatrick_scale:false,category:\"flags\"},monaco:{keywords:[\"mc\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇨\",fitzpatrick_scale:false,category:\"flags\"},mongolia:{keywords:[\"mn\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇳\",fitzpatrick_scale:false,category:\"flags\"},montenegro:{keywords:[\"me\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇪\",fitzpatrick_scale:false,category:\"flags\"},montserrat:{keywords:[\"ms\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇸\",fitzpatrick_scale:false,category:\"flags\"},morocco:{keywords:[\"ma\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇦\",fitzpatrick_scale:false,category:\"flags\"},mozambique:{keywords:[\"mz\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇿\",fitzpatrick_scale:false,category:\"flags\"},myanmar:{keywords:[\"mm\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇲\",fitzpatrick_scale:false,category:\"flags\"},namibia:{keywords:[\"na\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇦\",fitzpatrick_scale:false,category:\"flags\"},nauru:{keywords:[\"nr\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇷\",fitzpatrick_scale:false,category:\"flags\"},nepal:{keywords:[\"np\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇵\",fitzpatrick_scale:false,category:\"flags\"},netherlands:{keywords:[\"nl\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇱\",fitzpatrick_scale:false,category:\"flags\"},new_caledonia:{keywords:[\"new\",\"caledonia\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇨\",fitzpatrick_scale:false,category:\"flags\"},new_zealand:{keywords:[\"new\",\"zealand\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇿\",fitzpatrick_scale:false,category:\"flags\"},nicaragua:{keywords:[\"ni\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇮\",fitzpatrick_scale:false,category:\"flags\"},niger:{keywords:[\"ne\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇪\",fitzpatrick_scale:false,category:\"flags\"},nigeria:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇬\",fitzpatrick_scale:false,category:\"flags\"},niue:{keywords:[\"nu\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇺\",fitzpatrick_scale:false,category:\"flags\"},norfolk_island:{keywords:[\"norfolk\",\"island\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇫\",fitzpatrick_scale:false,category:\"flags\"},northern_mariana_islands:{keywords:[\"northern\",\"mariana\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇲🇵\",fitzpatrick_scale:false,category:\"flags\"},north_korea:{keywords:[\"north\",\"korea\",\"nation\",\"flag\",\"country\",\"banner\"],char:\"🇰🇵\",fitzpatrick_scale:false,category:\"flags\"},norway:{keywords:[\"no\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇳🇴\",fitzpatrick_scale:false,category:\"flags\"},oman:{keywords:[\"om_symbol\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇴🇲\",fitzpatrick_scale:false,category:\"flags\"},pakistan:{keywords:[\"pk\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇰\",fitzpatrick_scale:false,category:\"flags\"},palau:{keywords:[\"pw\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇼\",fitzpatrick_scale:false,category:\"flags\"},palestinian_territories:{keywords:[\"palestine\",\"palestinian\",\"territories\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇸\",fitzpatrick_scale:false,category:\"flags\"},panama:{keywords:[\"pa\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇦\",fitzpatrick_scale:false,category:\"flags\"},papua_new_guinea:{keywords:[\"papua\",\"new\",\"guinea\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇬\",fitzpatrick_scale:false,category:\"flags\"},paraguay:{keywords:[\"py\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇾\",fitzpatrick_scale:false,category:\"flags\"},peru:{keywords:[\"pe\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇪\",fitzpatrick_scale:false,category:\"flags\"},philippines:{keywords:[\"ph\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇭\",fitzpatrick_scale:false,category:\"flags\"},pitcairn_islands:{keywords:[\"pitcairn\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇳\",fitzpatrick_scale:false,category:\"flags\"},poland:{keywords:[\"pl\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇱\",fitzpatrick_scale:false,category:\"flags\"},portugal:{keywords:[\"pt\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇹\",fitzpatrick_scale:false,category:\"flags\"},puerto_rico:{keywords:[\"puerto\",\"rico\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇷\",fitzpatrick_scale:false,category:\"flags\"},qatar:{keywords:[\"qa\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇶🇦\",fitzpatrick_scale:false,category:\"flags\"},reunion:{keywords:[\"réunion\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇷🇪\",fitzpatrick_scale:false,category:\"flags\"},romania:{keywords:[\"ro\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇷🇴\",fitzpatrick_scale:false,category:\"flags\"},ru:{keywords:[\"russian\",\"federation\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇷🇺\",fitzpatrick_scale:false,category:\"flags\"},rwanda:{keywords:[\"rw\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇷🇼\",fitzpatrick_scale:false,category:\"flags\"},st_barthelemy:{keywords:[\"saint\",\"barthélemy\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇧🇱\",fitzpatrick_scale:false,category:\"flags\"},st_helena:{keywords:[\"saint\",\"helena\",\"ascension\",\"tristan\",\"cunha\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇭\",fitzpatrick_scale:false,category:\"flags\"},st_kitts_nevis:{keywords:[\"saint\",\"kitts\",\"nevis\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇰🇳\",fitzpatrick_scale:false,category:\"flags\"},st_lucia:{keywords:[\"saint\",\"lucia\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇨\",fitzpatrick_scale:false,category:\"flags\"},st_pierre_miquelon:{keywords:[\"saint\",\"pierre\",\"miquelon\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇵🇲\",fitzpatrick_scale:false,category:\"flags\"},st_vincent_grenadines:{keywords:[\"saint\",\"vincent\",\"grenadines\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇻🇨\",fitzpatrick_scale:false,category:\"flags\"},samoa:{keywords:[\"ws\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇼🇸\",fitzpatrick_scale:false,category:\"flags\"},san_marino:{keywords:[\"san\",\"marino\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇲\",fitzpatrick_scale:false,category:\"flags\"},sao_tome_principe:{keywords:[\"sao\",\"tome\",\"principe\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇹\",fitzpatrick_scale:false,category:\"flags\"},saudi_arabia:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇦\",fitzpatrick_scale:false,category:\"flags\"},senegal:{keywords:[\"sn\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇳\",fitzpatrick_scale:false,category:\"flags\"},serbia:{keywords:[\"rs\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇷🇸\",fitzpatrick_scale:false,category:\"flags\"},seychelles:{keywords:[\"sc\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇨\",fitzpatrick_scale:false,category:\"flags\"},sierra_leone:{keywords:[\"sierra\",\"leone\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇱\",fitzpatrick_scale:false,category:\"flags\"},singapore:{keywords:[\"sg\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇬\",fitzpatrick_scale:false,category:\"flags\"},sint_maarten:{keywords:[\"sint\",\"maarten\",\"dutch\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇽\",fitzpatrick_scale:false,category:\"flags\"},slovakia:{keywords:[\"sk\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇰\",fitzpatrick_scale:false,category:\"flags\"},slovenia:{keywords:[\"si\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇮\",fitzpatrick_scale:false,category:\"flags\"},solomon_islands:{keywords:[\"solomon\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇧\",fitzpatrick_scale:false,category:\"flags\"},somalia:{keywords:[\"so\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇴\",fitzpatrick_scale:false,category:\"flags\"},south_africa:{keywords:[\"south\",\"africa\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇿🇦\",fitzpatrick_scale:false,category:\"flags\"},south_georgia_south_sandwich_islands:{keywords:[\"south\",\"georgia\",\"sandwich\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇬🇸\",fitzpatrick_scale:false,category:\"flags\"},kr:{keywords:[\"south\",\"korea\",\"nation\",\"flag\",\"country\",\"banner\"],char:\"🇰🇷\",fitzpatrick_scale:false,category:\"flags\"},south_sudan:{keywords:[\"south\",\"sd\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇸\",fitzpatrick_scale:false,category:\"flags\"},es:{keywords:[\"spain\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇪🇸\",fitzpatrick_scale:false,category:\"flags\"},sri_lanka:{keywords:[\"sri\",\"lanka\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇱🇰\",fitzpatrick_scale:false,category:\"flags\"},sudan:{keywords:[\"sd\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇩\",fitzpatrick_scale:false,category:\"flags\"},suriname:{keywords:[\"sr\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇷\",fitzpatrick_scale:false,category:\"flags\"},swaziland:{keywords:[\"sz\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇿\",fitzpatrick_scale:false,category:\"flags\"},sweden:{keywords:[\"se\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇪\",fitzpatrick_scale:false,category:\"flags\"},switzerland:{keywords:[\"ch\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇨🇭\",fitzpatrick_scale:false,category:\"flags\"},syria:{keywords:[\"syrian\",\"arab\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇸🇾\",fitzpatrick_scale:false,category:\"flags\"},taiwan:{keywords:[\"tw\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇼\",fitzpatrick_scale:false,category:\"flags\"},tajikistan:{keywords:[\"tj\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇯\",fitzpatrick_scale:false,category:\"flags\"},tanzania:{keywords:[\"tanzania,\",\"united\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇿\",fitzpatrick_scale:false,category:\"flags\"},thailand:{keywords:[\"th\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇭\",fitzpatrick_scale:false,category:\"flags\"},timor_leste:{keywords:[\"timor\",\"leste\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇱\",fitzpatrick_scale:false,category:\"flags\"},togo:{keywords:[\"tg\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇬\",fitzpatrick_scale:false,category:\"flags\"},tokelau:{keywords:[\"tk\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇰\",fitzpatrick_scale:false,category:\"flags\"},tonga:{keywords:[\"to\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇴\",fitzpatrick_scale:false,category:\"flags\"},trinidad_tobago:{keywords:[\"trinidad\",\"tobago\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇹\",fitzpatrick_scale:false,category:\"flags\"},tunisia:{keywords:[\"tn\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇳\",fitzpatrick_scale:false,category:\"flags\"},tr:{keywords:[\"turkey\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇷\",fitzpatrick_scale:false,category:\"flags\"},turkmenistan:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇲\",fitzpatrick_scale:false,category:\"flags\"},turks_caicos_islands:{keywords:[\"turks\",\"caicos\",\"islands\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇨\",fitzpatrick_scale:false,category:\"flags\"},tuvalu:{keywords:[\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇹🇻\",fitzpatrick_scale:false,category:\"flags\"},uganda:{keywords:[\"ug\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇺🇬\",fitzpatrick_scale:false,category:\"flags\"},ukraine:{keywords:[\"ua\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇺🇦\",fitzpatrick_scale:false,category:\"flags\"},united_arab_emirates:{keywords:[\"united\",\"arab\",\"emirates\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇦🇪\",fitzpatrick_scale:false,category:\"flags\"},uk:{keywords:[\"united\",\"kingdom\",\"great\",\"britain\",\"northern\",\"ireland\",\"flag\",\"nation\",\"country\",\"banner\",\"british\",\"UK\",\"english\",\"england\",\"union jack\"],char:\"🇬🇧\",fitzpatrick_scale:false,category:\"flags\"},england:{keywords:[\"flag\",\"english\"],char:\"🏴󠁧󠁢󠁥󠁮󠁧󠁿\",fitzpatrick_scale:false,category:\"flags\"},scotland:{keywords:[\"flag\",\"scottish\"],char:\"🏴󠁧󠁢󠁳󠁣󠁴󠁿\",fitzpatrick_scale:false,category:\"flags\"},wales:{keywords:[\"flag\",\"welsh\"],char:\"🏴󠁧󠁢󠁷󠁬󠁳󠁿\",fitzpatrick_scale:false,category:\"flags\"},us:{keywords:[\"united\",\"states\",\"america\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇺🇸\",fitzpatrick_scale:false,category:\"flags\"},us_virgin_islands:{keywords:[\"virgin\",\"islands\",\"us\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇻🇮\",fitzpatrick_scale:false,category:\"flags\"},uruguay:{keywords:[\"uy\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇺🇾\",fitzpatrick_scale:false,category:\"flags\"},uzbekistan:{keywords:[\"uz\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇺🇿\",fitzpatrick_scale:false,category:\"flags\"},vanuatu:{keywords:[\"vu\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇻🇺\",fitzpatrick_scale:false,category:\"flags\"},vatican_city:{keywords:[\"vatican\",\"city\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇻🇦\",fitzpatrick_scale:false,category:\"flags\"},venezuela:{keywords:[\"ve\",\"bolivarian\",\"republic\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇻🇪\",fitzpatrick_scale:false,category:\"flags\"},vietnam:{keywords:[\"viet\",\"nam\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇻🇳\",fitzpatrick_scale:false,category:\"flags\"},wallis_futuna:{keywords:[\"wallis\",\"futuna\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇼🇫\",fitzpatrick_scale:false,category:\"flags\"},western_sahara:{keywords:[\"western\",\"sahara\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇪🇭\",fitzpatrick_scale:false,category:\"flags\"},yemen:{keywords:[\"ye\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇾🇪\",fitzpatrick_scale:false,category:\"flags\"},zambia:{keywords:[\"zm\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇿🇲\",fitzpatrick_scale:false,category:\"flags\"},zimbabwe:{keywords:[\"zw\",\"flag\",\"nation\",\"country\",\"banner\"],char:\"🇿🇼\",fitzpatrick_scale:false,category:\"flags\"},united_nations:{keywords:[\"un\",\"flag\",\"banner\"],char:\"🇺🇳\",fitzpatrick_scale:false,category:\"flags\"},pirate_flag:{keywords:[\"skull\",\"crossbones\",\"flag\",\"banner\"],char:\"🏴‍☠️\",fitzpatrick_scale:false,category:\"flags\"}});/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const get$5 = fullscreenState => ({\n      isFullscreen: () => fullscreenState.get() !== null\n    });\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const eq$1 = t => a => t === a;\n    const isString = isType$1('string');\n    const isObject = isType$1('object');\n    const isArray = isType$1('array');\n    const isNull = eq$1(null);\n    const isBoolean = isSimpleType('boolean');\n    const isUndefined = eq$1(undefined);\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n\n    const noop = () => {};\n    const compose = (fa, fb) => {\n      return (...args) => {\n        return fa(fb.apply(null, args));\n      };\n    };\n    const compose1 = (fbc, fab) => a => fbc(fab(a));\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    function curry(fn, ...initialArgs) {\n      return (...restArgs) => {\n        const all = initialArgs.concat(restArgs);\n        return fn.apply(null, all);\n      };\n    }\n    const never = constant(false);\n    const always = constant(true);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const nativePush = Array.prototype.push;\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each$1 = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const filter$1 = (xs, pred) => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    const findUntil = (xs, pred, until) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(x);\n        } else if (until(x, i)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const find$1 = (xs, pred) => {\n      return findUntil(xs, pred, never);\n    };\n    const flatten = xs => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    const bind$3 = (xs, f) => flatten(map(xs, f));\n    const get$4 = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n    const head = xs => get$4(xs, 0);\n    const findMap = (arr, f) => {\n      for (let i = 0; i < arr.length; i++) {\n        const r = f(arr[i], i);\n        if (r.isSome()) {\n          return r;\n        }\n      }\n      return Optional.none();\n    };\n\n    const lift2 = (oa, ob, f) => oa.isSome() && ob.isSome() ? Optional.some(f(oa.getOrDie(), ob.getOrDie())) : Optional.none();\n\n    const singleton = doRevoke => {\n      const subject = Cell(Optional.none());\n      const revoke = () => subject.get().each(doRevoke);\n      const clear = () => {\n        revoke();\n        subject.set(Optional.none());\n      };\n      const isSet = () => subject.get().isSome();\n      const get = () => subject.get();\n      const set = s => {\n        revoke();\n        subject.set(Optional.some(s));\n      };\n      return {\n        clear,\n        isSet,\n        get,\n        set\n      };\n    };\n    const unbindable = () => singleton(s => s.unbind());\n    const value = () => {\n      const subject = singleton(noop);\n      const on = f => subject.get().each(f);\n      return {\n        ...subject,\n        on\n      };\n    };\n\n    const first = (fn, rate) => {\n      let timer = null;\n      const cancel = () => {\n        if (!isNull(timer)) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      const throttle = (...args) => {\n        if (isNull(timer)) {\n          timer = setTimeout(() => {\n            timer = null;\n            fn.apply(null, args);\n          }, rate);\n        }\n      };\n      return {\n        cancel,\n        throttle\n      };\n    };\n\n    const keys = Object.keys;\n    const each = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n\n    const Global = typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const path = (parts, scope) => {\n      let o = scope !== undefined && scope !== null ? scope : Global;\n      for (let i = 0; i < parts.length && o !== undefined && o !== null; ++i) {\n        o = o[parts[i]];\n      }\n      return o;\n    };\n    const resolve = (p, scope) => {\n      const parts = p.split('.');\n      return path(parts, scope);\n    };\n\n    const unsafe = (name, scope) => {\n      return resolve(name, scope);\n    };\n    const getOrDie = (name, scope) => {\n      const actual = unsafe(name, scope);\n      if (actual === undefined || actual === null) {\n        throw new Error(name + ' not available on this browser');\n      }\n      return actual;\n    };\n\n    const getPrototypeOf = Object.getPrototypeOf;\n    const sandHTMLElement = scope => {\n      return getOrDie('HTMLElement', scope);\n    };\n    const isPrototypeOf = x => {\n      const scope = resolve('ownerDocument.defaultView', x);\n      return isObject(x) && (sandHTMLElement(scope).prototype.isPrototypeOf(x) || /^HTML\\w*Element$/.test(getPrototypeOf(x).constructor.name));\n    };\n\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n    const ELEMENT = 1;\n    const TEXT = 3;\n\n    const type = element => element.dom.nodeType;\n    const isType = t => element => type(element) === t;\n    const isHTMLElement = element => isElement(element) && isPrototypeOf(element.dom);\n    const isElement = isType(ELEMENT);\n    const isText = isType(TEXT);\n    const isDocument = isType(DOCUMENT);\n    const isDocumentFragment = isType(DOCUMENT_FRAGMENT);\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set$1 = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const get$3 = (element, key) => {\n      const v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    const remove = (element, key) => {\n      element.dom.removeAttribute(key);\n    };\n\n    const supports = element => element.dom.classList !== undefined;\n\n    const has = (element, clazz) => supports(element) && element.dom.classList.contains(clazz);\n\n    const contains = (str, substr, start = 0, end) => {\n      const idx = str.indexOf(substr, start);\n      if (idx !== -1) {\n        return isUndefined(end) ? true : idx + substr.length <= end;\n      } else {\n        return false;\n      }\n    };\n\n    const isSupported$1 = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    const fromDom = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom,\n      fromPoint\n    };\n\n    const is = (element, selector) => {\n      const dom = element.dom;\n      if (dom.nodeType !== ELEMENT) {\n        return false;\n      } else {\n        const elem = dom;\n        if (elem.matches !== undefined) {\n          return elem.matches(selector);\n        } else if (elem.msMatchesSelector !== undefined) {\n          return elem.msMatchesSelector(selector);\n        } else if (elem.webkitMatchesSelector !== undefined) {\n          return elem.webkitMatchesSelector(selector);\n        } else if (elem.mozMatchesSelector !== undefined) {\n          return elem.mozMatchesSelector(selector);\n        } else {\n          throw new Error('Browser lacks native selectors');\n        }\n      }\n    };\n    const bypassSelector = dom => dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;\n    const all$1 = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? [] : map(base.querySelectorAll(selector), SugarElement.fromDom);\n    };\n\n    const eq = (e1, e2) => e1.dom === e2.dom;\n\n    const owner = element => SugarElement.fromDom(element.dom.ownerDocument);\n    const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos);\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const parents = (element, isRoot) => {\n      const stop = isFunction(isRoot) ? isRoot : never;\n      let dom = element.dom;\n      const ret = [];\n      while (dom.parentNode !== null && dom.parentNode !== undefined) {\n        const rawParent = dom.parentNode;\n        const p = SugarElement.fromDom(rawParent);\n        ret.push(p);\n        if (stop(p) === true) {\n          break;\n        } else {\n          dom = rawParent;\n        }\n      }\n      return ret;\n    };\n    const siblings$2 = element => {\n      const filterSelf = elements => filter$1(elements, x => !eq(element, x));\n      return parent(element).map(children).map(filterSelf).getOr([]);\n    };\n    const nextSibling = element => Optional.from(element.dom.nextSibling).map(SugarElement.fromDom);\n    const children = element => map(element.dom.childNodes, SugarElement.fromDom);\n\n    const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host);\n    const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    const isSupported = constant(supported);\n    const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;\n    const getShadowRoot = e => {\n      const r = getRootNode(e);\n      return isShadowRoot(r) ? Optional.some(r) : Optional.none();\n    };\n    const getShadowHost = e => SugarElement.fromDom(e.dom.host);\n    const getOriginalEventTarget = event => {\n      if (isSupported() && isNonNullable(event.target)) {\n        const el = SugarElement.fromDom(event.target);\n        if (isElement(el) && isOpenShadowHost(el)) {\n          if (event.composed && event.composedPath) {\n            const composedPath = event.composedPath();\n            if (composedPath) {\n              return head(composedPath);\n            }\n          }\n        }\n      }\n      return Optional.from(event.target);\n    };\n    const isOpenShadowHost = element => isNonNullable(element.dom.shadowRoot);\n\n    const inBody = element => {\n      const dom = isText(element) ? element.dom.parentNode : element.dom;\n      if (dom === undefined || dom === null || dom.ownerDocument === null) {\n        return false;\n      }\n      const doc = dom.ownerDocument;\n      return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost));\n    };\n    const getBody = doc => {\n      const b = doc.dom.body;\n      if (b === null || b === undefined) {\n        throw new Error('Body is not available yet');\n      }\n      return SugarElement.fromDom(b);\n    };\n\n    const internalSet = (dom, property, value) => {\n      if (!isString(value)) {\n        console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);\n        throw new Error('CSS value must be a string: ' + value);\n      }\n      if (isSupported$1(dom)) {\n        dom.style.setProperty(property, value);\n      }\n    };\n    const set = (element, property, value) => {\n      const dom = element.dom;\n      internalSet(dom, property, value);\n    };\n    const setAll = (element, css) => {\n      const dom = element.dom;\n      each(css, (v, k) => {\n        internalSet(dom, k, v);\n      });\n    };\n    const get$2 = (element, property) => {\n      const dom = element.dom;\n      const styles = window.getComputedStyle(dom);\n      const r = styles.getPropertyValue(property);\n      return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r;\n    };\n    const getUnsafeProperty = (dom, property) => isSupported$1(dom) ? dom.style.getPropertyValue(property) : '';\n\n    const mkEvent = (target, x, y, stop, prevent, kill, raw) => ({\n      target,\n      x,\n      y,\n      stop,\n      prevent,\n      kill,\n      raw\n    });\n    const fromRawEvent = rawEvent => {\n      const target = SugarElement.fromDom(getOriginalEventTarget(rawEvent).getOr(rawEvent.target));\n      const stop = () => rawEvent.stopPropagation();\n      const prevent = () => rawEvent.preventDefault();\n      const kill = compose(prevent, stop);\n      return mkEvent(target, rawEvent.clientX, rawEvent.clientY, stop, prevent, kill, rawEvent);\n    };\n    const handle = (filter, handler) => rawEvent => {\n      if (filter(rawEvent)) {\n        handler(fromRawEvent(rawEvent));\n      }\n    };\n    const binder = (element, event, filter, handler, useCapture) => {\n      const wrapped = handle(filter, handler);\n      element.dom.addEventListener(event, wrapped, useCapture);\n      return {\n        unbind: curry(unbind, element, event, wrapped, useCapture)\n      };\n    };\n    const bind$2 = (element, event, filter, handler) => binder(element, event, filter, handler, false);\n    const unbind = (element, event, handler, useCapture) => {\n      element.dom.removeEventListener(event, handler, useCapture);\n    };\n\n    const filter = always;\n    const bind$1 = (element, event, handler) => bind$2(element, event, filter, handler);\n\n    const cached = f => {\n      let called = false;\n      let r;\n      return (...args) => {\n        if (!called) {\n          called = true;\n          r = f.apply(null, args);\n        }\n        return r;\n      };\n    };\n\n    const DeviceType = (os, browser, userAgent, mediaMatch) => {\n      const isiPad = os.isiOS() && /ipad/i.test(userAgent) === true;\n      const isiPhone = os.isiOS() && !isiPad;\n      const isMobile = os.isiOS() || os.isAndroid();\n      const isTouch = isMobile || mediaMatch('(pointer:coarse)');\n      const isTablet = isiPad || !isiPhone && isMobile && mediaMatch('(min-device-width:768px)');\n      const isPhone = isiPhone || isMobile && !isTablet;\n      const iOSwebview = browser.isSafari() && os.isiOS() && /safari/i.test(userAgent) === false;\n      const isDesktop = !isPhone && !isTablet && !iOSwebview;\n      return {\n        isiPad: constant(isiPad),\n        isiPhone: constant(isiPhone),\n        isTablet: constant(isTablet),\n        isPhone: constant(isPhone),\n        isTouch: constant(isTouch),\n        isAndroid: os.isAndroid,\n        isiOS: os.isiOS,\n        isWebView: constant(iOSwebview),\n        isDesktop: constant(isDesktop)\n      };\n    };\n\n    const firstMatch = (regexes, s) => {\n      for (let i = 0; i < regexes.length; i++) {\n        const x = regexes[i];\n        if (x.test(s)) {\n          return x;\n        }\n      }\n      return undefined;\n    };\n    const find = (regexes, agent) => {\n      const r = firstMatch(regexes, agent);\n      if (!r) {\n        return {\n          major: 0,\n          minor: 0\n        };\n      }\n      const group = i => {\n        return Number(agent.replace(r, '$' + i));\n      };\n      return nu$2(group(1), group(2));\n    };\n    const detect$3 = (versionRegexes, agent) => {\n      const cleanedAgent = String(agent).toLowerCase();\n      if (versionRegexes.length === 0) {\n        return unknown$2();\n      }\n      return find(versionRegexes, cleanedAgent);\n    };\n    const unknown$2 = () => {\n      return nu$2(0, 0);\n    };\n    const nu$2 = (major, minor) => {\n      return {\n        major,\n        minor\n      };\n    };\n    const Version = {\n      nu: nu$2,\n      detect: detect$3,\n      unknown: unknown$2\n    };\n\n    const detectBrowser$1 = (browsers, userAgentData) => {\n      return findMap(userAgentData.brands, uaBrand => {\n        const lcBrand = uaBrand.brand.toLowerCase();\n        return find$1(browsers, browser => {\n          var _a;\n          return lcBrand === ((_a = browser.brand) === null || _a === void 0 ? void 0 : _a.toLowerCase());\n        }).map(info => ({\n          current: info.name,\n          version: Version.nu(parseInt(uaBrand.version, 10), 0)\n        }));\n      });\n    };\n\n    const detect$2 = (candidates, userAgent) => {\n      const agent = String(userAgent).toLowerCase();\n      return find$1(candidates, candidate => {\n        return candidate.search(agent);\n      });\n    };\n    const detectBrowser = (browsers, userAgent) => {\n      return detect$2(browsers, userAgent).map(browser => {\n        const version = Version.detect(browser.versionRegexes, userAgent);\n        return {\n          current: browser.name,\n          version\n        };\n      });\n    };\n    const detectOs = (oses, userAgent) => {\n      return detect$2(oses, userAgent).map(os => {\n        const version = Version.detect(os.versionRegexes, userAgent);\n        return {\n          current: os.name,\n          version\n        };\n      });\n    };\n\n    const normalVersionRegex = /.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/;\n    const checkContains = target => {\n      return uastring => {\n        return contains(uastring, target);\n      };\n    };\n    const browsers = [{\n      name: 'Edge',\n      versionRegexes: [/.*?edge\\/ ?([0-9]+)\\.([0-9]+)$/],\n      search: uastring => {\n        return contains(uastring, 'edge/') && contains(uastring, 'chrome') && contains(uastring, 'safari') && contains(uastring, 'applewebkit');\n      }\n    }, {\n      name: 'Chromium',\n      brand: 'Chromium',\n      versionRegexes: [/.*?chrome\\/([0-9]+)\\.([0-9]+).*/, normalVersionRegex],\n      search: uastring => {\n        return contains(uastring, 'chrome') && !contains(uastring, 'chromeframe');\n      }\n    }, {\n      name: 'IE',\n      versionRegexes: [/.*?msie\\ ?([0-9]+)\\.([0-9]+).*/, /.*?rv:([0-9]+)\\.([0-9]+).*/],\n      search: uastring => {\n        return contains(uastring, 'msie') || contains(uastring, 'trident');\n      }\n    }, {\n      name: 'Opera',\n      versionRegexes: [normalVersionRegex, /.*?opera\\/([0-9]+)\\.([0-9]+).*/],\n      search: checkContains('opera')\n    }, {\n      name: 'Firefox',\n      versionRegexes: [/.*?firefox\\/\\ ?([0-9]+)\\.([0-9]+).*/],\n      search: checkContains('firefox')\n    }, {\n      name: 'Safari',\n      versionRegexes: [normalVersionRegex, /.*?cpu os ([0-9]+)_([0-9]+).*/],\n      search: uastring => {\n        return (contains(uastring, 'safari') || contains(uastring, 'mobile/')) && contains(uastring, 'applewebkit');\n      }\n    }];\n    const oses = [{\n      name: 'Windows',\n      search: checkContains('win'),\n      versionRegexes: [/.*?windows\\ nt\\ ?([0-9]+)\\.([0-9]+).*/]\n    }, {\n      name: 'iOS',\n      search: uastring => {\n        return contains(uastring, 'iphone') || contains(uastring, 'ipad');\n      },\n      versionRegexes: [/.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/, /.*cpu os ([0-9]+)_([0-9]+).*/, /.*cpu iphone os ([0-9]+)_([0-9]+).*/]\n    }, {\n      name: 'Android',\n      search: checkContains('android'),\n      versionRegexes: [/.*?android\\ ?([0-9]+)\\.([0-9]+).*/]\n    }, {\n      name: 'macOS',\n      search: checkContains('mac os x'),\n      versionRegexes: [/.*?mac\\ os\\ x\\ ?([0-9]+)_([0-9]+).*/]\n    }, {\n      name: 'Linux',\n      search: checkContains('linux'),\n      versionRegexes: []\n    }, {\n      name: 'Solaris',\n      search: checkContains('sunos'),\n      versionRegexes: []\n    }, {\n      name: 'FreeBSD',\n      search: checkContains('freebsd'),\n      versionRegexes: []\n    }, {\n      name: 'ChromeOS',\n      search: checkContains('cros'),\n      versionRegexes: [/.*?chrome\\/([0-9]+)\\.([0-9]+).*/]\n    }];\n    const PlatformInfo = {\n      browsers: constant(browsers),\n      oses: constant(oses)\n    };\n\n    const edge = 'Edge';\n    const chromium = 'Chromium';\n    const ie = 'IE';\n    const opera = 'Opera';\n    const firefox = 'Firefox';\n    const safari = 'Safari';\n    const unknown$1 = () => {\n      return nu$1({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    const nu$1 = info => {\n      const current = info.current;\n      const version = info.version;\n      const isBrowser = name => () => current === name;\n      return {\n        current,\n        version,\n        isEdge: isBrowser(edge),\n        isChromium: isBrowser(chromium),\n        isIE: isBrowser(ie),\n        isOpera: isBrowser(opera),\n        isFirefox: isBrowser(firefox),\n        isSafari: isBrowser(safari)\n      };\n    };\n    const Browser = {\n      unknown: unknown$1,\n      nu: nu$1,\n      edge: constant(edge),\n      chromium: constant(chromium),\n      ie: constant(ie),\n      opera: constant(opera),\n      firefox: constant(firefox),\n      safari: constant(safari)\n    };\n\n    const windows = 'Windows';\n    const ios = 'iOS';\n    const android = 'Android';\n    const linux = 'Linux';\n    const macos = 'macOS';\n    const solaris = 'Solaris';\n    const freebsd = 'FreeBSD';\n    const chromeos = 'ChromeOS';\n    const unknown = () => {\n      return nu({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    const nu = info => {\n      const current = info.current;\n      const version = info.version;\n      const isOS = name => () => current === name;\n      return {\n        current,\n        version,\n        isWindows: isOS(windows),\n        isiOS: isOS(ios),\n        isAndroid: isOS(android),\n        isMacOS: isOS(macos),\n        isLinux: isOS(linux),\n        isSolaris: isOS(solaris),\n        isFreeBSD: isOS(freebsd),\n        isChromeOS: isOS(chromeos)\n      };\n    };\n    const OperatingSystem = {\n      unknown,\n      nu,\n      windows: constant(windows),\n      ios: constant(ios),\n      android: constant(android),\n      linux: constant(linux),\n      macos: constant(macos),\n      solaris: constant(solaris),\n      freebsd: constant(freebsd),\n      chromeos: constant(chromeos)\n    };\n\n    const detect$1 = (userAgent, userAgentDataOpt, mediaMatch) => {\n      const browsers = PlatformInfo.browsers();\n      const oses = PlatformInfo.oses();\n      const browser = userAgentDataOpt.bind(userAgentData => detectBrowser$1(browsers, userAgentData)).orThunk(() => detectBrowser(browsers, userAgent)).fold(Browser.unknown, Browser.nu);\n      const os = detectOs(oses, userAgent).fold(OperatingSystem.unknown, OperatingSystem.nu);\n      const deviceType = DeviceType(os, browser, userAgent, mediaMatch);\n      return {\n        browser,\n        os,\n        deviceType\n      };\n    };\n    const PlatformDetection = {\n      detect: detect$1\n    };\n\n    const mediaMatch = query => window.matchMedia(query).matches;\n    let platform = cached(() => PlatformDetection.detect(navigator.userAgent, Optional.from(navigator.userAgentData), mediaMatch));\n    const detect = () => platform();\n\n    const r = (left, top) => {\n      const translate = (x, y) => r(left + x, top + y);\n      return {\n        left,\n        top,\n        translate\n      };\n    };\n    const SugarPosition = r;\n\n    const get$1 = _DOC => {\n      const doc = _DOC !== undefined ? _DOC.dom : document;\n      const x = doc.body.scrollLeft || doc.documentElement.scrollLeft;\n      const y = doc.body.scrollTop || doc.documentElement.scrollTop;\n      return SugarPosition(x, y);\n    };\n\n    const get = _win => {\n      const win = _win === undefined ? window : _win;\n      if (detect().browser.isFirefox()) {\n        return Optional.none();\n      } else {\n        return Optional.from(win.visualViewport);\n      }\n    };\n    const bounds = (x, y, width, height) => ({\n      x,\n      y,\n      width,\n      height,\n      right: x + width,\n      bottom: y + height\n    });\n    const getBounds = _win => {\n      const win = _win === undefined ? window : _win;\n      const doc = win.document;\n      const scroll = get$1(SugarElement.fromDom(doc));\n      return get(win).fold(() => {\n        const html = win.document.documentElement;\n        const width = html.clientWidth;\n        const height = html.clientHeight;\n        return bounds(scroll.left, scroll.top, width, height);\n      }, visualViewport => bounds(Math.max(visualViewport.pageLeft, scroll.left), Math.max(visualViewport.pageTop, scroll.top), visualViewport.width, visualViewport.height));\n    };\n    const bind = (name, callback, _win) => get(_win).map(visualViewport => {\n      const handler = e => callback(fromRawEvent(e));\n      visualViewport.addEventListener(name, handler);\n      return {\n        unbind: () => visualViewport.removeEventListener(name, handler)\n      };\n    }).getOrThunk(() => ({\n      unbind: noop\n    }));\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n    var global = tinymce.util.Tools.resolve('tinymce.Env');\n\n    const fireFullscreenStateChanged = (editor, state) => {\n      editor.dispatch('FullscreenStateChanged', {\n        state\n      });\n      editor.dispatch('ResizeEditor');\n    };\n\n    const option = name => editor => editor.options.get(name);\n    const register$2 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('fullscreen_native', {\n        processor: 'boolean',\n        default: false\n      });\n    };\n    const getFullscreenNative = option('fullscreen_native');\n\n    const getFullscreenRoot = editor => {\n      const elem = SugarElement.fromDom(editor.getElement());\n      return getShadowRoot(elem).map(getShadowHost).getOrThunk(() => getBody(owner(elem)));\n    };\n    const getFullscreenElement = root => {\n      if (root.fullscreenElement !== undefined) {\n        return root.fullscreenElement;\n      } else if (root.msFullscreenElement !== undefined) {\n        return root.msFullscreenElement;\n      } else if (root.webkitFullscreenElement !== undefined) {\n        return root.webkitFullscreenElement;\n      } else {\n        return null;\n      }\n    };\n    const getFullscreenchangeEventName = () => {\n      if (document.fullscreenElement !== undefined) {\n        return 'fullscreenchange';\n      } else if (document.msFullscreenElement !== undefined) {\n        return 'MSFullscreenChange';\n      } else if (document.webkitFullscreenElement !== undefined) {\n        return 'webkitfullscreenchange';\n      } else {\n        return 'fullscreenchange';\n      }\n    };\n    const requestFullscreen = sugarElem => {\n      const elem = sugarElem.dom;\n      if (elem.requestFullscreen) {\n        elem.requestFullscreen();\n      } else if (elem.msRequestFullscreen) {\n        elem.msRequestFullscreen();\n      } else if (elem.webkitRequestFullScreen) {\n        elem.webkitRequestFullScreen();\n      }\n    };\n    const exitFullscreen = sugarDoc => {\n      const doc = sugarDoc.dom;\n      if (doc.exitFullscreen) {\n        doc.exitFullscreen();\n      } else if (doc.msExitFullscreen) {\n        doc.msExitFullscreen();\n      } else if (doc.webkitCancelFullScreen) {\n        doc.webkitCancelFullScreen();\n      }\n    };\n    const isFullscreenElement = elem => elem.dom === getFullscreenElement(owner(elem).dom);\n\n    const ancestors$1 = (scope, predicate, isRoot) => filter$1(parents(scope, isRoot), predicate);\n    const siblings$1 = (scope, predicate) => filter$1(siblings$2(scope), predicate);\n\n    const all = selector => all$1(selector);\n    const ancestors = (scope, selector, isRoot) => ancestors$1(scope, e => is(e, selector), isRoot);\n    const siblings = (scope, selector) => siblings$1(scope, e => is(e, selector));\n\n    const attr = 'data-ephox-mobile-fullscreen-style';\n    const siblingStyles = 'display:none!important;';\n    const ancestorPosition = 'position:absolute!important;';\n    const ancestorStyles = 'top:0!important;left:0!important;margin:0!important;padding:0!important;width:100%!important;height:100%!important;overflow:visible!important;';\n    const bgFallback = 'background-color:rgb(255,255,255)!important;';\n    const isAndroid = global.os.isAndroid();\n    const matchColor = editorBody => {\n      const color = get$2(editorBody, 'background-color');\n      return color !== undefined && color !== '' ? 'background-color:' + color + '!important' : bgFallback;\n    };\n    const clobberStyles = (dom, container, editorBody) => {\n      const gatherSiblings = element => {\n        return siblings(element, '*:not(.tox-silver-sink)');\n      };\n      const clobber = clobberStyle => element => {\n        const styles = get$3(element, 'style');\n        const backup = styles === undefined ? 'no-styles' : styles.trim();\n        if (backup === clobberStyle) {\n          return;\n        } else {\n          set$1(element, attr, backup);\n          setAll(element, dom.parseStyle(clobberStyle));\n        }\n      };\n      const ancestors$1 = ancestors(container, '*');\n      const siblings$1 = bind$3(ancestors$1, gatherSiblings);\n      const bgColor = matchColor(editorBody);\n      each$1(siblings$1, clobber(siblingStyles));\n      each$1(ancestors$1, clobber(ancestorPosition + ancestorStyles + bgColor));\n      const containerStyles = isAndroid === true ? '' : ancestorPosition;\n      clobber(containerStyles + ancestorStyles + bgColor)(container);\n    };\n    const restoreStyles = dom => {\n      const clobberedEls = all('[' + attr + ']');\n      each$1(clobberedEls, element => {\n        const restore = get$3(element, attr);\n        if (restore && restore !== 'no-styles') {\n          setAll(element, dom.parseStyle(restore));\n        } else {\n          remove(element, 'style');\n        }\n        remove(element, attr);\n      });\n    };\n\n    const DOM = global$1.DOM;\n    const getScrollPos = () => getBounds(window);\n    const setScrollPos = pos => window.scrollTo(pos.x, pos.y);\n    const viewportUpdate = get().fold(() => ({\n      bind: noop,\n      unbind: noop\n    }), visualViewport => {\n      const editorContainer = value();\n      const resizeBinder = unbindable();\n      const scrollBinder = unbindable();\n      const refreshScroll = () => {\n        document.body.scrollTop = 0;\n        document.documentElement.scrollTop = 0;\n      };\n      const refreshVisualViewport = () => {\n        window.requestAnimationFrame(() => {\n          editorContainer.on(container => setAll(container, {\n            top: visualViewport.offsetTop + 'px',\n            left: visualViewport.offsetLeft + 'px',\n            height: visualViewport.height + 'px',\n            width: visualViewport.width + 'px'\n          }));\n        });\n      };\n      const update = first(() => {\n        refreshScroll();\n        refreshVisualViewport();\n      }, 50);\n      const bind$1 = element => {\n        editorContainer.set(element);\n        update.throttle();\n        resizeBinder.set(bind('resize', update.throttle));\n        scrollBinder.set(bind('scroll', update.throttle));\n      };\n      const unbind = () => {\n        editorContainer.on(() => {\n          resizeBinder.clear();\n          scrollBinder.clear();\n        });\n        editorContainer.clear();\n      };\n      return {\n        bind: bind$1,\n        unbind\n      };\n    });\n    const toggleFullscreen = (editor, fullscreenState) => {\n      const body = document.body;\n      const documentElement = document.documentElement;\n      const editorContainer = editor.getContainer();\n      const editorContainerS = SugarElement.fromDom(editorContainer);\n      const sinkContainerS = nextSibling(editorContainerS).filter(elm => isHTMLElement(elm) && has(elm, 'tox-silver-sink'));\n      const fullscreenRoot = getFullscreenRoot(editor);\n      const fullscreenInfo = fullscreenState.get();\n      const editorBody = SugarElement.fromDom(editor.getBody());\n      const isTouch = global.deviceType.isTouch();\n      const editorContainerStyle = editorContainer.style;\n      const iframe = editor.iframeElement;\n      const iframeStyle = iframe === null || iframe === void 0 ? void 0 : iframe.style;\n      const handleClasses = handler => {\n        handler(body, 'tox-fullscreen');\n        handler(documentElement, 'tox-fullscreen');\n        handler(editorContainer, 'tox-fullscreen');\n        getShadowRoot(editorContainerS).map(root => getShadowHost(root).dom).each(host => {\n          handler(host, 'tox-fullscreen');\n          handler(host, 'tox-shadowhost');\n        });\n      };\n      const cleanup = () => {\n        if (isTouch) {\n          restoreStyles(editor.dom);\n        }\n        handleClasses(DOM.removeClass);\n        viewportUpdate.unbind();\n        Optional.from(fullscreenState.get()).each(info => info.fullscreenChangeHandler.unbind());\n      };\n      if (!fullscreenInfo) {\n        const fullscreenChangeHandler = bind$1(owner(fullscreenRoot), getFullscreenchangeEventName(), _evt => {\n          if (getFullscreenNative(editor)) {\n            if (!isFullscreenElement(fullscreenRoot) && fullscreenState.get() !== null) {\n              toggleFullscreen(editor, fullscreenState);\n            }\n          }\n        });\n        const newFullScreenInfo = {\n          scrollPos: getScrollPos(),\n          containerWidth: editorContainerStyle.width,\n          containerHeight: editorContainerStyle.height,\n          containerTop: editorContainerStyle.top,\n          containerLeft: editorContainerStyle.left,\n          iframeWidth: iframeStyle.width,\n          iframeHeight: iframeStyle.height,\n          fullscreenChangeHandler,\n          sinkCssPosition: sinkContainerS.map(elm => get$2(elm, 'position'))\n        };\n        if (isTouch) {\n          clobberStyles(editor.dom, editorContainerS, editorBody);\n        }\n        iframeStyle.width = iframeStyle.height = '100%';\n        editorContainerStyle.width = editorContainerStyle.height = '';\n        handleClasses(DOM.addClass);\n        sinkContainerS.each(elm => {\n          set(elm, 'position', 'fixed');\n        });\n        viewportUpdate.bind(editorContainerS);\n        editor.on('remove', cleanup);\n        fullscreenState.set(newFullScreenInfo);\n        if (getFullscreenNative(editor)) {\n          requestFullscreen(fullscreenRoot);\n        }\n        fireFullscreenStateChanged(editor, true);\n      } else {\n        fullscreenInfo.fullscreenChangeHandler.unbind();\n        if (getFullscreenNative(editor) && isFullscreenElement(fullscreenRoot)) {\n          exitFullscreen(owner(fullscreenRoot));\n        }\n        iframeStyle.width = fullscreenInfo.iframeWidth;\n        iframeStyle.height = fullscreenInfo.iframeHeight;\n        editorContainerStyle.width = fullscreenInfo.containerWidth;\n        editorContainerStyle.height = fullscreenInfo.containerHeight;\n        editorContainerStyle.top = fullscreenInfo.containerTop;\n        editorContainerStyle.left = fullscreenInfo.containerLeft;\n        lift2(sinkContainerS, fullscreenInfo.sinkCssPosition, (elm, val) => {\n          set(elm, 'position', val);\n        });\n        cleanup();\n        setScrollPos(fullscreenInfo.scrollPos);\n        fullscreenState.set(null);\n        fireFullscreenStateChanged(editor, false);\n        editor.off('remove', cleanup);\n      }\n    };\n\n    const register$1 = (editor, fullscreenState) => {\n      editor.addCommand('mceFullScreen', () => {\n        toggleFullscreen(editor, fullscreenState);\n      });\n    };\n\n    const makeSetupHandler = (editor, fullscreenState) => api => {\n      api.setActive(fullscreenState.get() !== null);\n      const editorEventCallback = e => api.setActive(e.state);\n      editor.on('FullscreenStateChanged', editorEventCallback);\n      return () => editor.off('FullscreenStateChanged', editorEventCallback);\n    };\n    const register = (editor, fullscreenState) => {\n      const onAction = () => editor.execCommand('mceFullScreen');\n      editor.ui.registry.addToggleMenuItem('fullscreen', {\n        text: 'Fullscreen',\n        icon: 'fullscreen',\n        shortcut: 'Meta+Shift+F',\n        onAction,\n        onSetup: makeSetupHandler(editor, fullscreenState)\n      });\n      editor.ui.registry.addToggleButton('fullscreen', {\n        tooltip: 'Fullscreen',\n        icon: 'fullscreen',\n        onAction,\n        onSetup: makeSetupHandler(editor, fullscreenState)\n      });\n    };\n\n    var Plugin = () => {\n      global$2.add('fullscreen', editor => {\n        const fullscreenState = Cell(null);\n        if (editor.inline) {\n          return get$5(fullscreenState);\n        }\n        register$2(editor);\n        register$1(editor, fullscreenState);\n        register(editor, fullscreenState);\n        editor.addShortcut('Meta+Shift+F', '', 'mceFullScreen');\n        return get$5(fullscreenState);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$4 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const getPrototypeOf = Object.getPrototypeOf;\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const eq = t => a => t === a;\n    const is = (value, constructor) => isObject(value) && hasProto(value, constructor, (o, proto) => getPrototypeOf(o) === proto);\n    const isString = isType('string');\n    const isObject = isType('object');\n    const isPlainObject = value => is(value, Object);\n    const isArray = isType('array');\n    const isNull = eq(null);\n    const isBoolean = isSimpleType('boolean');\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n    const isArrayOf = (value, pred) => {\n      if (isArray(value)) {\n        for (let i = 0, len = value.length; i < len; ++i) {\n          if (!pred(value[i])) {\n            return false;\n          }\n        }\n        return true;\n      }\n      return false;\n    };\n\n    const noop = () => {};\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const keys = Object.keys;\n    const hasOwnProperty = Object.hasOwnProperty;\n    const each = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n    const objAcc = r => (x, i) => {\n      r[i] = x;\n    };\n    const internalFilter = (obj, pred, onTrue, onFalse) => {\n      each(obj, (x, i) => {\n        (pred(x, i) ? onTrue : onFalse)(x, i);\n      });\n    };\n    const filter = (obj, pred) => {\n      const t = {};\n      internalFilter(obj, pred, objAcc(t), noop);\n      return t;\n    };\n    const has = (obj, key) => hasOwnProperty.call(obj, key);\n    const hasNonNullableKey = (obj, key) => has(obj, key) && obj[key] !== undefined && obj[key] !== null;\n\n    const nativePush = Array.prototype.push;\n    const flatten = xs => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    const get = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n    const head = xs => get(xs, 0);\n    const findMap = (arr, f) => {\n      for (let i = 0; i < arr.length; i++) {\n        const r = f(arr[i], i);\n        if (r.isSome()) {\n          return r;\n        }\n      }\n      return Optional.none();\n    };\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const remove = (element, key) => {\n      element.dom.removeAttribute(key);\n    };\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    const fromDom = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom,\n      fromPoint\n    };\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.util.URI');\n\n    const isNotEmpty = s => s.length > 0;\n\n    const option = name => editor => editor.options.get(name);\n    const register$2 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('image_dimensions', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('image_advtab', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('image_uploadtab', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('image_prepend_url', {\n        processor: 'string',\n        default: ''\n      });\n      registerOption('image_class_list', {\n        processor: 'object[]'\n      });\n      registerOption('image_description', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('image_title', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('image_caption', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('image_list', {\n        processor: value => {\n          const valid = value === false || isString(value) || isArrayOf(value, isObject) || isFunction(value);\n          return valid ? {\n            value,\n            valid\n          } : {\n            valid: false,\n            message: 'Must be false, a string, an array or a function.'\n          };\n        },\n        default: false\n      });\n      registerOption('sn_settings', {\n        processor: 'object',\n        default: {}\n      });\n    };\n    const hasDimensions = option('image_dimensions');\n    const hasAdvTab = option('image_advtab');\n    const hasUploadTab = option('image_uploadtab');\n    const getPrependUrl = option('image_prepend_url');\n    const getClassList = option('image_class_list');\n    const hasDescription = option('image_description');\n    const hasImageTitle = option('image_title');\n    const hasImageCaption = option('image_caption');\n    const getImageList = option('image_list');\n    const showAccessibilityOptions = option('a11y_advanced_options');\n    const isAutomaticUploadsEnabled = option('automatic_uploads');\n    const hasUploadUrl = editor => isNotEmpty(editor.options.get('images_upload_url'));\n    const hasUploadHandler = editor => isNonNullable(editor.options.get('images_upload_handler'));\n    const getSnImageSettings = editor => {\n      const {\n        allowLibraryUploads = true,\n        showLibraryTab = false,\n        libraryFilePicker = callback => callback(null),\n        labels = {}\n      } = editor.options.get('sn_settings').image || {};\n      return {\n        allowLibraryUploads,\n        showLibraryTab,\n        libraryFilePicker,\n        labels: {\n          tabName: 'Image Library',\n          dropzone: 'Upload to Public Library',\n          search: 'Search Library',\n          ...labels\n        }\n      };\n    };\n\n    const parseIntAndGetMax = (val1, val2) => Math.max(parseInt(val1, 10), parseInt(val2, 10));\n    const getImageSize = url => new Promise(callback => {\n      const img = document.createElement('img');\n      const done = dimensions => {\n        img.onload = img.onerror = null;\n        if (img.parentNode) {\n          img.parentNode.removeChild(img);\n        }\n        callback(dimensions);\n      };\n      img.onload = () => {\n        const width = parseIntAndGetMax(img.width, img.clientWidth);\n        const height = parseIntAndGetMax(img.height, img.clientHeight);\n        const dimensions = {\n          width,\n          height\n        };\n        done(Promise.resolve(dimensions));\n      };\n      img.onerror = () => {\n        done(Promise.reject(\"Failed to get image dimensions for: \".concat(url)));\n      };\n      const style = img.style;\n      style.visibility = 'hidden';\n      style.position = 'fixed';\n      style.bottom = style.left = '0px';\n      style.width = style.height = 'auto';\n      document.body.appendChild(img);\n      img.src = url;\n    });\n    const removePixelSuffix = value => {\n      if (value) {\n        value = value.replace(/px$/, '');\n      }\n      return value;\n    };\n    const addPixelSuffix = value => {\n      if (value.length > 0 && /^[0-9]+$/.test(value)) {\n        value += 'px';\n      }\n      return value;\n    };\n    const mergeMargins = css => {\n      if (css.margin) {\n        const splitMargin = String(css.margin).split(' ');\n        switch (splitMargin.length) {\n          case 1:\n            css['margin-top'] = css['margin-top'] || splitMargin[0];\n            css['margin-right'] = css['margin-right'] || splitMargin[0];\n            css['margin-bottom'] = css['margin-bottom'] || splitMargin[0];\n            css['margin-left'] = css['margin-left'] || splitMargin[0];\n            break;\n          case 2:\n            css['margin-top'] = css['margin-top'] || splitMargin[0];\n            css['margin-right'] = css['margin-right'] || splitMargin[1];\n            css['margin-bottom'] = css['margin-bottom'] || splitMargin[0];\n            css['margin-left'] = css['margin-left'] || splitMargin[1];\n            break;\n          case 3:\n            css['margin-top'] = css['margin-top'] || splitMargin[0];\n            css['margin-right'] = css['margin-right'] || splitMargin[1];\n            css['margin-bottom'] = css['margin-bottom'] || splitMargin[2];\n            css['margin-left'] = css['margin-left'] || splitMargin[1];\n            break;\n          case 4:\n            css['margin-top'] = css['margin-top'] || splitMargin[0];\n            css['margin-right'] = css['margin-right'] || splitMargin[1];\n            css['margin-bottom'] = css['margin-bottom'] || splitMargin[2];\n            css['margin-left'] = css['margin-left'] || splitMargin[3];\n        }\n        delete css.margin;\n      }\n      return css;\n    };\n    const createImageList = (editor, callback) => {\n      const imageList = getImageList(editor);\n      if (isString(imageList)) {\n        fetch(imageList).then(res => {\n          if (res.ok) {\n            res.json().then(callback);\n          }\n        });\n      } else if (isFunction(imageList)) {\n        imageList(callback);\n      } else {\n        callback(imageList);\n      }\n    };\n    const waitLoadImage = (editor, data, imgElm) => {\n      const selectImage = () => {\n        imgElm.onload = imgElm.onerror = null;\n        if (editor.selection) {\n          editor.selection.select(imgElm);\n          editor.nodeChanged();\n        }\n      };\n      imgElm.onload = () => {\n        if (!data.width && !data.height && hasDimensions(editor)) {\n          editor.dom.setAttribs(imgElm, {\n            width: String(imgElm.clientWidth),\n            height: String(imgElm.clientHeight)\n          });\n        }\n        selectImage();\n      };\n      imgElm.onerror = selectImage;\n    };\n    const blobToDataUri = blob => new Promise((resolve, reject) => {\n      const reader = new FileReader();\n      reader.onload = () => {\n        resolve(reader.result);\n      };\n      reader.onerror = () => {\n        var _a;\n        reject((_a = reader.error) === null || _a === void 0 ? void 0 : _a.message);\n      };\n      reader.readAsDataURL(blob);\n    });\n    const isPlaceholderImage = imgElm => imgElm.nodeName === 'IMG' && (imgElm.hasAttribute('data-mce-object') || imgElm.hasAttribute('data-mce-placeholder'));\n    const isSafeImageUrl = (editor, src) => {\n      const getOption = editor.options.get;\n      return global$2.isDomSafe(src, 'img', {\n        allow_html_data_urls: getOption('allow_html_data_urls'),\n        allow_script_urls: getOption('allow_script_urls'),\n        allow_svg_data_urls: getOption('allow_svg_data_urls')\n      });\n    };\n\n    const DOM = global$3.DOM;\n    const getHspace = image => {\n      if (image.style.marginLeft && image.style.marginRight && image.style.marginLeft === image.style.marginRight) {\n        return removePixelSuffix(image.style.marginLeft);\n      } else {\n        return '';\n      }\n    };\n    const getVspace = image => {\n      if (image.style.marginTop && image.style.marginBottom && image.style.marginTop === image.style.marginBottom) {\n        return removePixelSuffix(image.style.marginTop);\n      } else {\n        return '';\n      }\n    };\n    const getBorder = image => {\n      if (image.style.borderWidth) {\n        return removePixelSuffix(image.style.borderWidth);\n      } else {\n        return '';\n      }\n    };\n    const getAttrib = (image, name) => {\n      var _a;\n      if (image.hasAttribute(name)) {\n        return (_a = image.getAttribute(name)) !== null && _a !== void 0 ? _a : '';\n      } else {\n        return '';\n      }\n    };\n    const hasCaption = image => image.parentNode !== null && image.parentNode.nodeName === 'FIGURE';\n    const updateAttrib = (image, name, value) => {\n      if (value === '' || value === null) {\n        image.removeAttribute(name);\n      } else {\n        image.setAttribute(name, value);\n      }\n    };\n    const wrapInFigure = image => {\n      const figureElm = DOM.create('figure', {\n        class: 'image'\n      });\n      DOM.insertAfter(figureElm, image);\n      figureElm.appendChild(image);\n      figureElm.appendChild(DOM.create('figcaption', {\n        contentEditable: 'true'\n      }, 'Caption'));\n      figureElm.contentEditable = 'false';\n    };\n    const removeFigure = image => {\n      const figureElm = image.parentNode;\n      if (isNonNullable(figureElm)) {\n        DOM.insertAfter(image, figureElm);\n        DOM.remove(figureElm);\n      }\n    };\n    const toggleCaption = image => {\n      if (hasCaption(image)) {\n        removeFigure(image);\n      } else {\n        wrapInFigure(image);\n      }\n    };\n    const normalizeStyle = (image, normalizeCss) => {\n      const attrValue = image.getAttribute('style');\n      const value = normalizeCss(attrValue !== null ? attrValue : '');\n      if (value.length > 0) {\n        image.setAttribute('style', value);\n        image.setAttribute('data-mce-style', value);\n      } else {\n        image.removeAttribute('style');\n      }\n    };\n    const setSize = (name, normalizeCss) => (image, name, value) => {\n      const styles = image.style;\n      if (styles[name]) {\n        styles[name] = addPixelSuffix(value);\n        normalizeStyle(image, normalizeCss);\n      } else {\n        updateAttrib(image, name, value);\n      }\n    };\n    const getSize = (image, name) => {\n      if (image.style[name]) {\n        return removePixelSuffix(image.style[name]);\n      } else {\n        return getAttrib(image, name);\n      }\n    };\n    const setHspace = (image, value) => {\n      const pxValue = addPixelSuffix(value);\n      image.style.marginLeft = pxValue;\n      image.style.marginRight = pxValue;\n    };\n    const setVspace = (image, value) => {\n      const pxValue = addPixelSuffix(value);\n      image.style.marginTop = pxValue;\n      image.style.marginBottom = pxValue;\n    };\n    const setBorder = (image, value) => {\n      const pxValue = addPixelSuffix(value);\n      image.style.borderWidth = pxValue;\n    };\n    const setBorderStyle = (image, value) => {\n      image.style.borderStyle = value;\n    };\n    const getBorderStyle = image => {\n      var _a;\n      return (_a = image.style.borderStyle) !== null && _a !== void 0 ? _a : '';\n    };\n    const isFigure = elm => isNonNullable(elm) && elm.nodeName === 'FIGURE';\n    const isImage = elm => elm.nodeName === 'IMG';\n    const getIsDecorative = image => DOM.getAttrib(image, 'alt').length === 0 && DOM.getAttrib(image, 'role') === 'presentation';\n    const getAlt = image => {\n      if (getIsDecorative(image)) {\n        return '';\n      } else {\n        return getAttrib(image, 'alt');\n      }\n    };\n    const defaultData = () => ({\n      src: '',\n      alt: '',\n      title: '',\n      width: '',\n      height: '',\n      class: '',\n      style: '',\n      caption: false,\n      hspace: '',\n      vspace: '',\n      border: '',\n      borderStyle: '',\n      isDecorative: false\n    });\n    const getStyleValue = (normalizeCss, data) => {\n      var _a;\n      const image = document.createElement('img');\n      updateAttrib(image, 'style', data.style);\n      if (getHspace(image) || data.hspace !== '') {\n        setHspace(image, data.hspace);\n      }\n      if (getVspace(image) || data.vspace !== '') {\n        setVspace(image, data.vspace);\n      }\n      if (getBorder(image) || data.border !== '') {\n        setBorder(image, data.border);\n      }\n      if (getBorderStyle(image) || data.borderStyle !== '') {\n        setBorderStyle(image, data.borderStyle);\n      }\n      return normalizeCss((_a = image.getAttribute('style')) !== null && _a !== void 0 ? _a : '');\n    };\n    const create = (normalizeCss, data) => {\n      const image = document.createElement('img');\n      write(normalizeCss, {\n        ...data,\n        caption: false\n      }, image);\n      setAlt(image, data.alt, data.isDecorative);\n      if (data.caption) {\n        const figure = DOM.create('figure', {\n          class: 'image'\n        });\n        figure.appendChild(image);\n        figure.appendChild(DOM.create('figcaption', {\n          contentEditable: 'true'\n        }, 'Caption'));\n        figure.contentEditable = 'false';\n        return figure;\n      } else {\n        return image;\n      }\n    };\n    const read = (normalizeCss, image) => ({\n      src: getAttrib(image, 'src'),\n      alt: getAlt(image),\n      title: getAttrib(image, 'title'),\n      width: getSize(image, 'width'),\n      height: getSize(image, 'height'),\n      class: getAttrib(image, 'class'),\n      style: normalizeCss(getAttrib(image, 'style')),\n      caption: hasCaption(image),\n      hspace: getHspace(image),\n      vspace: getVspace(image),\n      border: getBorder(image),\n      borderStyle: getBorderStyle(image),\n      isDecorative: getIsDecorative(image)\n    });\n    const updateProp = (image, oldData, newData, name, set) => {\n      if (newData[name] !== oldData[name]) {\n        set(image, name, String(newData[name]));\n      }\n    };\n    const setAlt = (image, alt, isDecorative) => {\n      if (isDecorative) {\n        DOM.setAttrib(image, 'role', 'presentation');\n        const sugarImage = SugarElement.fromDom(image);\n        set(sugarImage, 'alt', '');\n      } else {\n        if (isNull(alt)) {\n          const sugarImage = SugarElement.fromDom(image);\n          remove(sugarImage, 'alt');\n        } else {\n          const sugarImage = SugarElement.fromDom(image);\n          set(sugarImage, 'alt', alt);\n        }\n        if (DOM.getAttrib(image, 'role') === 'presentation') {\n          DOM.setAttrib(image, 'role', '');\n        }\n      }\n    };\n    const updateAlt = (image, oldData, newData) => {\n      if (newData.alt !== oldData.alt || newData.isDecorative !== oldData.isDecorative) {\n        setAlt(image, newData.alt, newData.isDecorative);\n      }\n    };\n    const normalized = (set, normalizeCss) => (image, name, value) => {\n      set(image, value);\n      normalizeStyle(image, normalizeCss);\n    };\n    const write = (normalizeCss, newData, image) => {\n      const oldData = read(normalizeCss, image);\n      updateProp(image, oldData, newData, 'caption', (image, _name, _value) => toggleCaption(image));\n      updateProp(image, oldData, newData, 'src', updateAttrib);\n      updateProp(image, oldData, newData, 'title', updateAttrib);\n      updateProp(image, oldData, newData, 'width', setSize('width', normalizeCss));\n      updateProp(image, oldData, newData, 'height', setSize('height', normalizeCss));\n      updateProp(image, oldData, newData, 'class', updateAttrib);\n      updateProp(image, oldData, newData, 'style', normalized((image, value) => updateAttrib(image, 'style', value), normalizeCss));\n      updateProp(image, oldData, newData, 'hspace', normalized(setHspace, normalizeCss));\n      updateProp(image, oldData, newData, 'vspace', normalized(setVspace, normalizeCss));\n      updateProp(image, oldData, newData, 'border', normalized(setBorder, normalizeCss));\n      updateProp(image, oldData, newData, 'borderStyle', normalized(setBorderStyle, normalizeCss));\n      updateAlt(image, oldData, newData);\n    };\n\n    const normalizeCss$1 = (editor, cssText) => {\n      const css = editor.dom.styles.parse(cssText);\n      const mergedCss = mergeMargins(css);\n      const compressed = editor.dom.styles.parse(editor.dom.styles.serialize(mergedCss));\n      return editor.dom.styles.serialize(compressed);\n    };\n    const getSelectedImage = editor => {\n      const imgElm = editor.selection.getNode();\n      const figureElm = editor.dom.getParent(imgElm, 'figure.image');\n      if (figureElm) {\n        return editor.dom.select('img', figureElm)[0];\n      }\n      if (imgElm && (imgElm.nodeName !== 'IMG' || isPlaceholderImage(imgElm))) {\n        return null;\n      }\n      return imgElm;\n    };\n    const splitTextBlock = (editor, figure) => {\n      var _a;\n      const dom = editor.dom;\n      const textBlockElements = filter(editor.schema.getTextBlockElements(), (_, parentElm) => !editor.schema.isValidChild(parentElm, 'figure'));\n      const textBlock = dom.getParent(figure.parentNode, node => hasNonNullableKey(textBlockElements, node.nodeName), editor.getBody());\n      if (textBlock) {\n        return (_a = dom.split(textBlock, figure)) !== null && _a !== void 0 ? _a : figure;\n      } else {\n        return figure;\n      }\n    };\n    const readImageDataFromSelection = editor => {\n      const image = getSelectedImage(editor);\n      return image ? read(css => normalizeCss$1(editor, css), image) : defaultData();\n    };\n    const insertImageAtCaret = (editor, data) => {\n      const elm = create(css => normalizeCss$1(editor, css), data);\n      editor.dom.setAttrib(elm, 'data-mce-id', '__mcenew');\n      editor.focus();\n      editor.selection.setContent(elm.outerHTML);\n      const insertedElm = editor.dom.select('*[data-mce-id=\"__mcenew\"]')[0];\n      editor.dom.setAttrib(insertedElm, 'data-mce-id', null);\n      editor.dom.setAttrib(insertedElm, 'data-library', data.fromLibrary);\n      if (isFigure(insertedElm)) {\n        const figure = splitTextBlock(editor, insertedElm);\n        editor.selection.select(figure);\n      } else {\n        editor.selection.select(insertedElm);\n      }\n    };\n    const syncSrcAttr = (editor, image) => {\n      editor.dom.setAttrib(image, 'src', image.getAttribute('src'));\n    };\n    const deleteImage = (editor, image) => {\n      if (image) {\n        const elm = editor.dom.is(image.parentNode, 'figure.image') ? image.parentNode : image;\n        editor.dom.remove(elm);\n        editor.focus();\n        editor.nodeChanged();\n        if (editor.dom.isEmpty(editor.getBody())) {\n          editor.setContent('');\n          editor.selection.setCursorLocation();\n        }\n      }\n    };\n    const writeImageDataToSelection = (editor, data) => {\n      const image = getSelectedImage(editor);\n      if (image) {\n        write(css => normalizeCss$1(editor, css), data, image);\n        syncSrcAttr(editor, image);\n        if (isFigure(image.parentNode)) {\n          const figure = image.parentNode;\n          splitTextBlock(editor, figure);\n          editor.selection.select(image.parentNode);\n        } else {\n          editor.selection.select(image);\n          waitLoadImage(editor, data, image);\n        }\n      }\n    };\n    const sanitizeImageData = (editor, data) => {\n      const src = data.src;\n      return {\n        ...data,\n        src: isSafeImageUrl(editor, src) ? src : ''\n      };\n    };\n    const insertOrUpdateImage = (editor, partialData) => {\n      const image = getSelectedImage(editor);\n      if (image) {\n        const selectedImageData = read(css => normalizeCss$1(editor, css), image);\n        const data = {\n          ...selectedImageData,\n          ...partialData\n        };\n        const sanitizedData = sanitizeImageData(editor, data);\n        if (data.src) {\n          writeImageDataToSelection(editor, sanitizedData);\n        } else {\n          deleteImage(editor, image);\n        }\n      } else if (partialData.src) {\n        insertImageAtCaret(editor, {\n          ...defaultData(),\n          ...partialData\n        });\n      }\n    };\n\n    const deep = (old, nu) => {\n      const bothObjects = isPlainObject(old) && isPlainObject(nu);\n      return bothObjects ? deepMerge(old, nu) : nu;\n    };\n    const baseMerge = merger => {\n      return (...objects) => {\n        if (objects.length === 0) {\n          throw new Error(\"Can't merge zero objects\");\n        }\n        const ret = {};\n        for (let j = 0; j < objects.length; j++) {\n          const curObject = objects[j];\n          for (const key in curObject) {\n            if (has(curObject, key)) {\n              ret[key] = merger(ret[key], curObject[key]);\n            }\n          }\n        }\n        return ret;\n      };\n    };\n    const deepMerge = baseMerge(deep);\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.util.ImageUploader');\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const getValue = item => isString(item.value) ? item.value : '';\n    const getText = item => {\n      if (isString(item.text)) {\n        return item.text;\n      } else if (isString(item.title)) {\n        return item.title;\n      } else {\n        return '';\n      }\n    };\n    const sanitizeList = (list, extractValue) => {\n      const out = [];\n      global.each(list, item => {\n        const text = getText(item);\n        if (item.menu !== undefined) {\n          const items = sanitizeList(item.menu, extractValue);\n          out.push({\n            text,\n            items\n          });\n        } else {\n          const value = extractValue(item);\n          out.push({\n            text,\n            value\n          });\n        }\n      });\n      return out;\n    };\n    const sanitizer = (extractor = getValue) => list => {\n      if (list) {\n        return Optional.from(list).map(list => sanitizeList(list, extractor));\n      } else {\n        return Optional.none();\n      }\n    };\n    const sanitize = list => sanitizer(getValue)(list);\n    const isGroup = item => has(item, 'items');\n    const findEntryDelegate = (list, value) => findMap(list, item => {\n      if (isGroup(item)) {\n        return findEntryDelegate(item.items, value);\n      } else if (item.value === value) {\n        return Optional.some(item);\n      } else {\n        return Optional.none();\n      }\n    });\n    const findEntry = (optList, value) => optList.bind(list => findEntryDelegate(list, value));\n    const ListUtils = {\n      sanitizer,\n      sanitize,\n      findEntry\n    };\n\n    const makeTab$3 = _info => ({\n      title: 'Advanced',\n      name: 'advanced',\n      items: [{\n        type: 'grid',\n        columns: 2,\n        items: [{\n          type: 'input',\n          label: 'Vertical space',\n          name: 'vspace',\n          inputMode: 'numeric'\n        }, {\n          type: 'input',\n          label: 'Horizontal space',\n          name: 'hspace',\n          inputMode: 'numeric'\n        }, {\n          type: 'input',\n          label: 'Border width',\n          name: 'border',\n          inputMode: 'numeric'\n        }, {\n          type: 'listbox',\n          name: 'borderstyle',\n          label: 'Border style',\n          items: [{\n            text: 'Select...',\n            value: ''\n          }, {\n            text: 'Solid',\n            value: 'solid'\n          }, {\n            text: 'Dotted',\n            value: 'dotted'\n          }, {\n            text: 'Dashed',\n            value: 'dashed'\n          }, {\n            text: 'Double',\n            value: 'double'\n          }, {\n            text: 'Groove',\n            value: 'groove'\n          }, {\n            text: 'Ridge',\n            value: 'ridge'\n          }, {\n            text: 'Inset',\n            value: 'inset'\n          }, {\n            text: 'Outset',\n            value: 'outset'\n          }, {\n            text: 'None',\n            value: 'none'\n          }, {\n            text: 'Hidden',\n            value: 'hidden'\n          }]\n        }]\n      }]\n    });\n    const AdvTab = {\n      makeTab: makeTab$3\n    };\n\n    const collect = editor => {\n      const urlListSanitizer = ListUtils.sanitizer(item => editor.convertURL(item.value || item.url || '', 'src'));\n      const futureImageList = new Promise(completer => {\n        createImageList(editor, imageList => {\n          completer(urlListSanitizer(imageList).map(items => flatten([[{\n            text: 'None',\n            value: ''\n          }], items])));\n        });\n      });\n      const classList = ListUtils.sanitize(getClassList(editor));\n      const hasAdvTab$1 = hasAdvTab(editor);\n      const hasUploadTab$1 = hasUploadTab(editor);\n      const hasUploadUrl$1 = hasUploadUrl(editor);\n      const hasUploadHandler$1 = hasUploadHandler(editor);\n      const image = readImageDataFromSelection(editor);\n      const hasDescription$1 = hasDescription(editor);\n      const hasImageTitle$1 = hasImageTitle(editor);\n      const hasDimensions$1 = hasDimensions(editor);\n      const hasImageCaption$1 = hasImageCaption(editor);\n      const hasAccessibilityOptions = showAccessibilityOptions(editor);\n      const automaticUploads = isAutomaticUploadsEnabled(editor);\n      const prependURL = Optional.some(getPrependUrl(editor)).filter(preUrl => isString(preUrl) && preUrl.length > 0);\n      const libraryTab = getSnImageSettings(editor);\n      return futureImageList.then(imageList => ({\n        image,\n        imageList,\n        classList,\n        hasAdvTab: hasAdvTab$1,\n        hasUploadTab: hasUploadTab$1,\n        hasUploadUrl: hasUploadUrl$1,\n        hasUploadHandler: hasUploadHandler$1,\n        hasDescription: hasDescription$1,\n        hasImageTitle: hasImageTitle$1,\n        hasDimensions: hasDimensions$1,\n        hasImageCaption: hasImageCaption$1,\n        prependURL,\n        hasAccessibilityOptions,\n        automaticUploads,\n        libraryTab\n      }));\n    };\n\n    const makeTab$2 = _info => {\n      const {\n        allowLibraryUploads,\n        labels\n      } = _info.libraryTab;\n      const {\n        tabName,\n        dropZone,\n        search\n      } = labels;\n      const items = [{\n        type: 'label',\n        label: search,\n        items: [{\n          type: 'button',\n          name: 'librarysearch',\n          text: search,\n          icon: 'search'\n        }]\n      }];\n      if (allowLibraryUploads) {\n        items.push({\n          type: 'dropzone',\n          name: 'libraryfile',\n          label: dropZone\n        });\n      }\n      return {\n        title: tabName,\n        name: 'librarytab',\n        items\n      };\n    };\n    const LibraryTab = {\n      makeTab: makeTab$2\n    };\n\n    const makeItems = info => {\n      const imageUrl = {\n        name: 'src',\n        type: 'urlinput',\n        filetype: 'image',\n        label: 'Source',\n        picker_text: 'Browse files'\n      };\n      const imageList = info.imageList.map(items => ({\n        name: 'images',\n        type: 'listbox',\n        label: 'Image list',\n        items\n      }));\n      const imageDescription = {\n        name: 'alt',\n        type: 'input',\n        label: 'Alternative description',\n        enabled: !(info.hasAccessibilityOptions && info.image.isDecorative)\n      };\n      const imageTitle = {\n        name: 'title',\n        type: 'input',\n        label: 'Image title'\n      };\n      const imageDimensions = {\n        name: 'dimensions',\n        type: 'sizeinput'\n      };\n      const isDecorative = {\n        type: 'label',\n        label: 'Accessibility',\n        items: [{\n          name: 'isDecorative',\n          type: 'checkbox',\n          label: 'Image is decorative'\n        }]\n      };\n      const classList = info.classList.map(items => ({\n        name: 'classes',\n        type: 'listbox',\n        label: 'Class',\n        items\n      }));\n      const caption = {\n        type: 'label',\n        label: 'Caption',\n        items: [{\n          type: 'checkbox',\n          name: 'caption',\n          label: 'Show caption'\n        }]\n      };\n      const getDialogContainerType = useColumns => useColumns ? {\n        type: 'grid',\n        columns: 2\n      } : {\n        type: 'panel'\n      };\n      return flatten([[imageUrl], imageList.toArray(), info.hasAccessibilityOptions && info.hasDescription ? [isDecorative] : [], info.hasDescription ? [imageDescription] : [], info.hasImageTitle ? [imageTitle] : [], info.hasDimensions ? [imageDimensions] : [], [{\n        ...getDialogContainerType(info.classList.isSome() && info.hasImageCaption),\n        items: flatten([classList.toArray(), info.hasImageCaption ? [caption] : []])\n      }]]);\n    };\n    const makeTab$1 = info => ({\n      title: 'General',\n      name: 'general',\n      items: makeItems(info)\n    });\n    const MainTab = {\n      makeTab: makeTab$1,\n      makeItems\n    };\n\n    const makeTab = _info => {\n      const items = [{\n        type: 'dropzone',\n        name: 'fileinput'\n      }];\n      return {\n        title: 'Upload',\n        name: 'upload',\n        items\n      };\n    };\n    const UploadTab = {\n      makeTab\n    };\n\n    const createState = info => ({\n      prevImage: ListUtils.findEntry(info.imageList, info.image.src),\n      prevAlt: info.image.alt,\n      open: true\n    });\n    const fromImageData = image => ({\n      src: {\n        value: image.src,\n        meta: {}\n      },\n      images: image.src,\n      alt: image.alt,\n      title: image.title,\n      dimensions: {\n        width: image.width,\n        height: image.height\n      },\n      classes: image.class,\n      caption: image.caption,\n      style: image.style,\n      vspace: image.vspace,\n      border: image.border,\n      hspace: image.hspace,\n      borderstyle: image.borderStyle,\n      fileinput: [],\n      libraryfile: [],\n      isDecorative: image.isDecorative\n    });\n    const toImageData = (data, removeEmptyAlt) => ({\n      src: data.src.value,\n      alt: (data.alt === null || data.alt.length === 0) && removeEmptyAlt ? null : data.alt,\n      title: data.title,\n      width: data.dimensions.width,\n      height: data.dimensions.height,\n      class: data.classes,\n      style: data.style,\n      caption: data.caption,\n      hspace: data.hspace,\n      vspace: data.vspace,\n      border: data.border,\n      borderStyle: data.borderstyle,\n      isDecorative: data.isDecorative,\n      fromLibrary: data.libraryfile.length > 0\n    });\n    const addPrependUrl2 = (info, srcURL) => {\n      if (!/^(?:[a-zA-Z]+:)?\\/\\//.test(srcURL)) {\n        return info.prependURL.bind(prependUrl => {\n          if (srcURL.substring(0, prependUrl.length) !== prependUrl) {\n            return Optional.some(prependUrl + srcURL);\n          }\n          return Optional.none();\n        });\n      }\n      return Optional.none();\n    };\n    const addPrependUrl = (info, api) => {\n      const data = api.getData();\n      addPrependUrl2(info, data.src.value).each(srcURL => {\n        api.setData({\n          src: {\n            value: srcURL,\n            meta: data.src.meta\n          }\n        });\n      });\n    };\n    const formFillFromMeta2 = (info, data, meta) => {\n      if (info.hasDescription && isString(meta.alt)) {\n        data.alt = meta.alt;\n      }\n      if (info.hasAccessibilityOptions) {\n        data.isDecorative = meta.isDecorative || data.isDecorative || false;\n      }\n      if (info.hasImageTitle && isString(meta.title)) {\n        data.title = meta.title;\n      }\n      if (info.hasDimensions) {\n        if (isString(meta.width)) {\n          data.dimensions.width = meta.width;\n        }\n        if (isString(meta.height)) {\n          data.dimensions.height = meta.height;\n        }\n      }\n      if (isString(meta.class)) {\n        ListUtils.findEntry(info.classList, meta.class).each(entry => {\n          data.classes = entry.value;\n        });\n      }\n      if (info.hasImageCaption) {\n        if (isBoolean(meta.caption)) {\n          data.caption = meta.caption;\n        }\n      }\n      if (info.hasAdvTab) {\n        if (isString(meta.style)) {\n          data.style = meta.style;\n        }\n        if (isString(meta.vspace)) {\n          data.vspace = meta.vspace;\n        }\n        if (isString(meta.border)) {\n          data.border = meta.border;\n        }\n        if (isString(meta.hspace)) {\n          data.hspace = meta.hspace;\n        }\n        if (isString(meta.borderstyle)) {\n          data.borderstyle = meta.borderstyle;\n        }\n      }\n    };\n    const formFillFromMeta = (info, api) => {\n      const data = api.getData();\n      const meta = data.src.meta;\n      if (meta !== undefined) {\n        const newData = deepMerge({}, data);\n        formFillFromMeta2(info, newData, meta);\n        api.setData(newData);\n      }\n    };\n    const calculateImageSize = (helpers, info, state, api) => {\n      const data = api.getData();\n      const url = data.src.value;\n      const meta = data.src.meta || {};\n      if (!meta.width && !meta.height && info.hasDimensions) {\n        if (isNotEmpty(url)) {\n          helpers.imageSize(url).then(size => {\n            if (state.open) {\n              api.setData({\n                dimensions: size\n              });\n            }\n          }).catch(e => console.error(e));\n        } else {\n          api.setData({\n            dimensions: {\n              width: '',\n              height: ''\n            }\n          });\n        }\n      }\n    };\n    const updateImagesDropdown = (info, state, api) => {\n      const data = api.getData();\n      const image = ListUtils.findEntry(info.imageList, data.src.value);\n      state.prevImage = image;\n      api.setData({\n        images: image.map(entry => entry.value).getOr('')\n      });\n    };\n    const changeSrc = (helpers, info, state, api) => {\n      addPrependUrl(info, api);\n      formFillFromMeta(info, api);\n      calculateImageSize(helpers, info, state, api);\n      updateImagesDropdown(info, state, api);\n    };\n    const changeImages = (helpers, info, state, api) => {\n      const data = api.getData();\n      const image = ListUtils.findEntry(info.imageList, data.images);\n      image.each(img => {\n        const updateAlt = data.alt === '' || state.prevImage.map(image => image.text === data.alt).getOr(false);\n        if (updateAlt) {\n          if (img.value === '') {\n            api.setData({\n              src: img,\n              alt: state.prevAlt\n            });\n          } else {\n            api.setData({\n              src: img,\n              alt: img.text\n            });\n          }\n        } else {\n          api.setData({\n            src: img\n          });\n        }\n      });\n      state.prevImage = image;\n      changeSrc(helpers, info, state, api);\n    };\n    const changeFileInput = (helpers, info, state, api) => {\n      const data = api.getData();\n      api.block('Uploading image');\n      head(data.fileinput).fold(() => {\n        api.unblock();\n      }, file => {\n        const blobUri = URL.createObjectURL(file);\n        const finalize = () => {\n          api.unblock();\n          URL.revokeObjectURL(blobUri);\n        };\n        const updateSrcAndSwitchTab = url => {\n          api.setData({\n            src: {\n              value: url,\n              meta: {}\n            }\n          });\n          api.showTab('general');\n          changeSrc(helpers, info, state, api);\n        };\n        blobToDataUri(file).then(dataUrl => {\n          const blobInfo = helpers.createBlobCache(file, blobUri, dataUrl);\n          if (info.automaticUploads) {\n            helpers.uploadImage(blobInfo).then(result => {\n              updateSrcAndSwitchTab(result.url);\n              finalize();\n            }).catch(err => {\n              finalize();\n              helpers.alertErr(err);\n            });\n          } else {\n            helpers.addToBlobCache(blobInfo);\n            updateSrcAndSwitchTab(blobInfo.blobUri());\n            api.unblock();\n          }\n        });\n      });\n    };\n    const changeLibraryFileHandler = (helpers, info, state, api) => {\n      const data = api.getData();\n      api.block('Uploading image');\n      head(data.libraryfile).fold(() => {\n        api.unblock();\n      }, file => {\n        const blobUri = URL.createObjectURL(file);\n        const updateSrcAndSwitchTab = url => {\n          api.setData({\n            src: {\n              value: url,\n              meta: {}\n            }\n          });\n          api.showTab('general');\n          changeSrc(helpers, info, state, api);\n        };\n        blobToDataUri(file).then(dataUrl => {\n          const blobInfo = helpers.createBlobCache(file, blobUri, dataUrl);\n          helpers.addToBlobCache(blobInfo);\n          updateSrcAndSwitchTab(blobInfo.blobUri());\n          api.unblock();\n        });\n      });\n    };\n    const changeHandler = (helpers, info, state) => (api, evt) => {\n      if (evt.name === 'src') {\n        changeSrc(helpers, info, state, api);\n      } else if (evt.name === 'images') {\n        changeImages(helpers, info, state, api);\n      } else if (evt.name === 'alt') {\n        state.prevAlt = api.getData().alt;\n      } else if (evt.name === 'fileinput') {\n        changeFileInput(helpers, info, state, api);\n      } else if (evt.name === 'isDecorative') {\n        api.setEnabled('alt', !api.getData().isDecorative);\n      } else if (evt.name === 'libraryfile') {\n        changeLibraryFileHandler(helpers, info, state, api);\n      }\n    };\n    const actionHandler = (helpers, info, state) => (api, evt) => {\n      if (evt.name === 'librarysearch') {\n        const successCallback = filename => {\n          api.setData({\n            src: {\n              value: filename,\n              meta: {}\n            }\n          });\n          api.showTab('general');\n          changeSrc(helpers, info, state, api);\n        };\n        info.libraryTab.libraryFilePicker(helpers.getEditor(), successCallback);\n      }\n    };\n    const closeHandler = state => () => {\n      state.open = false;\n    };\n    const makeDialogBody = info => {\n      if (info.hasAdvTab || info.hasUploadUrl || info.hasUploadHandler) {\n        const tabPanel = {\n          type: 'tabpanel',\n          tabs: flatten([[MainTab.makeTab(info)], info.hasAdvTab ? [AdvTab.makeTab(info)] : [], info.hasUploadTab && (info.hasUploadUrl || info.hasUploadHandler) ? [UploadTab.makeTab(info)] : [], info.libraryTab.showLibraryTab ? [LibraryTab.makeTab(info)] : []])\n        };\n        return tabPanel;\n      } else {\n        const panel = {\n          type: 'panel',\n          items: MainTab.makeItems(info)\n        };\n        return panel;\n      }\n    };\n    const submitHandler = (editor, info, helpers) => api => {\n      const data = deepMerge(fromImageData(info.image), api.getData());\n      const finalData = {\n        ...data,\n        style: getStyleValue(helpers.normalizeCss, toImageData(data, false))\n      };\n      editor.execCommand('mceUpdateImage', false, toImageData(finalData, info.hasAccessibilityOptions));\n      editor.editorUpload.uploadImagesAuto();\n      api.close();\n    };\n    const imageSize = editor => url => {\n      if (!isSafeImageUrl(editor, url)) {\n        return Promise.resolve({\n          width: '',\n          height: ''\n        });\n      } else {\n        return getImageSize(editor.documentBaseURI.toAbsolute(url)).then(dimensions => ({\n          width: String(dimensions.width),\n          height: String(dimensions.height)\n        }));\n      }\n    };\n    const createBlobCache = editor => (file, blobUri, dataUrl) => {\n      var _a;\n      return editor.editorUpload.blobCache.create({\n        blob: file,\n        blobUri,\n        name: (_a = file.name) === null || _a === void 0 ? void 0 : _a.replace(/\\.[^\\.]+$/, ''),\n        filename: file.name,\n        base64: dataUrl.split(',')[1]\n      });\n    };\n    const addToBlobCache = editor => blobInfo => {\n      editor.editorUpload.blobCache.add(blobInfo);\n    };\n    const alertErr = editor => message => {\n      editor.windowManager.alert(message);\n    };\n    const normalizeCss = editor => cssText => normalizeCss$1(editor, cssText);\n    const parseStyle = editor => cssText => editor.dom.parseStyle(cssText);\n    const serializeStyle = editor => (stylesArg, name) => editor.dom.serializeStyle(stylesArg, name);\n    const uploadImage = editor => blobInfo => global$1(editor).upload([blobInfo], false).then(results => {\n      var _a;\n      if (results.length === 0) {\n        return Promise.reject('Failed to upload image');\n      } else if (results[0].status === false) {\n        return Promise.reject((_a = results[0].error) === null || _a === void 0 ? void 0 : _a.message);\n      } else {\n        return results[0];\n      }\n    });\n    const Dialog = editor => {\n      const helpers = {\n        imageSize: imageSize(editor),\n        addToBlobCache: addToBlobCache(editor),\n        createBlobCache: createBlobCache(editor),\n        alertErr: alertErr(editor),\n        normalizeCss: normalizeCss(editor),\n        parseStyle: parseStyle(editor),\n        serializeStyle: serializeStyle(editor),\n        uploadImage: uploadImage(editor),\n        getEditor: () => editor\n      };\n      const open = () => {\n        collect(editor).then(info => {\n          const state = createState(info);\n          return {\n            title: 'Insert/Edit Image',\n            size: 'normal',\n            body: makeDialogBody(info),\n            buttons: [{\n              type: 'cancel',\n              name: 'cancel',\n              text: 'Cancel'\n            }, {\n              type: 'submit',\n              name: 'save',\n              text: 'Save',\n              primary: true\n            }],\n            initialData: fromImageData(info.image),\n            onSubmit: submitHandler(editor, info, helpers),\n            onChange: changeHandler(helpers, info, state),\n            onAction: actionHandler(helpers, info, state),\n            onClose: closeHandler(state)\n          };\n        }).then(editor.windowManager.open);\n      };\n      return {\n        open\n      };\n    };\n\n    const register$1 = editor => {\n      editor.addCommand('mceImage', Dialog(editor).open);\n      editor.addCommand('mceUpdateImage', (_ui, data) => {\n        editor.undoManager.transact(() => insertOrUpdateImage(editor, data));\n      });\n    };\n\n    const hasImageClass = node => {\n      const className = node.attr('class');\n      return isNonNullable(className) && /\\bimage\\b/.test(className);\n    };\n    const toggleContentEditableState = state => nodes => {\n      let i = nodes.length;\n      const toggleContentEditable = node => {\n        node.attr('contenteditable', state ? 'true' : null);\n      };\n      while (i--) {\n        const node = nodes[i];\n        if (hasImageClass(node)) {\n          node.attr('contenteditable', state ? 'false' : null);\n          global.each(node.getAll('figcaption'), toggleContentEditable);\n        }\n      }\n    };\n    const setup = editor => {\n      editor.on('PreInit', () => {\n        editor.parser.addNodeFilter('figure', toggleContentEditableState(true));\n        editor.serializer.addNodeFilter('figure', toggleContentEditableState(false));\n      });\n    };\n\n    const onSetupEditable = editor => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const register = editor => {\n      editor.ui.registry.addToggleButton('image', {\n        icon: 'image',\n        tooltip: 'Insert/edit image',\n        onAction: Dialog(editor).open,\n        onSetup: buttonApi => {\n          buttonApi.setActive(isNonNullable(getSelectedImage(editor)));\n          const unbindSelectorChanged = editor.selection.selectorChangedWithUnbind('img:not([data-mce-object]):not([data-mce-placeholder]),figure.image', buttonApi.setActive).unbind;\n          const unbindEditable = onSetupEditable(editor)(buttonApi);\n          return () => {\n            unbindSelectorChanged();\n            unbindEditable();\n          };\n        }\n      });\n      editor.ui.registry.addMenuItem('image', {\n        icon: 'image',\n        text: 'Image...',\n        onAction: Dialog(editor).open,\n        onSetup: onSetupEditable(editor)\n      });\n      editor.ui.registry.addContextMenu('image', {\n        update: element => editor.selection.isEditable() && (isFigure(element) || isImage(element) && !isPlaceholderImage(element)) ? ['image'] : []\n      });\n    };\n\n    var Plugin = () => {\n      global$4.add('image', editor => {\n        setup(editor);\n        register$2(editor);\n        register(editor);\n        register$1(editor);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const option = name => editor => editor.options.get(name);\n    const register$2 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('insertdatetime_dateformat', {\n        processor: 'string',\n        default: editor.translate('%Y-%m-%d')\n      });\n      registerOption('insertdatetime_timeformat', {\n        processor: 'string',\n        default: editor.translate('%H:%M:%S')\n      });\n      registerOption('insertdatetime_formats', {\n        processor: 'string[]',\n        default: ['%H:%M:%S', '%Y-%m-%d', '%I:%M:%S %p', '%D']\n      });\n      registerOption('insertdatetime_element', {\n        processor: 'boolean',\n        default: false\n      });\n    };\n    const getDateFormat = option('insertdatetime_dateformat');\n    const getTimeFormat = option('insertdatetime_timeformat');\n    const getFormats = option('insertdatetime_formats');\n    const shouldInsertTimeElement = option('insertdatetime_element');\n    const getDefaultDateTime = editor => {\n      const formats = getFormats(editor);\n      return formats.length > 0 ? formats[0] : getTimeFormat(editor);\n    };\n\n    const daysShort = 'Sun Mon Tue Wed Thu Fri Sat Sun'.split(' ');\n    const daysLong = 'Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday'.split(' ');\n    const monthsShort = 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'.split(' ');\n    const monthsLong = 'January February March April May June July August September October November December'.split(' ');\n    const addZeros = (value, len) => {\n      value = '' + value;\n      if (value.length < len) {\n        for (let i = 0; i < len - value.length; i++) {\n          value = '0' + value;\n        }\n      }\n      return value;\n    };\n    const getDateTime = (editor, fmt, date = new Date()) => {\n      fmt = fmt.replace('%D', '%m/%d/%Y');\n      fmt = fmt.replace('%r', '%I:%M:%S %p');\n      fmt = fmt.replace('%Y', '' + date.getFullYear());\n      fmt = fmt.replace('%y', '' + date.getYear());\n      fmt = fmt.replace('%m', addZeros(date.getMonth() + 1, 2));\n      fmt = fmt.replace('%d', addZeros(date.getDate(), 2));\n      fmt = fmt.replace('%H', '' + addZeros(date.getHours(), 2));\n      fmt = fmt.replace('%M', '' + addZeros(date.getMinutes(), 2));\n      fmt = fmt.replace('%S', '' + addZeros(date.getSeconds(), 2));\n      fmt = fmt.replace('%I', '' + ((date.getHours() + 11) % 12 + 1));\n      fmt = fmt.replace('%p', '' + (date.getHours() < 12 ? 'AM' : 'PM'));\n      fmt = fmt.replace('%B', '' + editor.translate(monthsLong[date.getMonth()]));\n      fmt = fmt.replace('%b', '' + editor.translate(monthsShort[date.getMonth()]));\n      fmt = fmt.replace('%A', '' + editor.translate(daysLong[date.getDay()]));\n      fmt = fmt.replace('%a', '' + editor.translate(daysShort[date.getDay()]));\n      fmt = fmt.replace('%%', '%');\n      return fmt;\n    };\n    const updateElement = (editor, timeElm, computerTime, userTime) => {\n      const newTimeElm = editor.dom.create('time', {\n        datetime: computerTime\n      }, userTime);\n      editor.dom.replace(newTimeElm, timeElm);\n      editor.selection.select(newTimeElm, true);\n      editor.selection.collapse(false);\n    };\n    const insertDateTime = (editor, format) => {\n      if (shouldInsertTimeElement(editor)) {\n        const userTime = getDateTime(editor, format);\n        let computerTime;\n        if (/%[HMSIp]/.test(format)) {\n          computerTime = getDateTime(editor, '%Y-%m-%dT%H:%M');\n        } else {\n          computerTime = getDateTime(editor, '%Y-%m-%d');\n        }\n        const timeElm = editor.dom.getParent(editor.selection.getStart(), 'time');\n        if (timeElm) {\n          updateElement(editor, timeElm, computerTime, userTime);\n        } else {\n          editor.insertContent('<time datetime=\"' + computerTime + '\">' + userTime + '</time>');\n        }\n      } else {\n        editor.insertContent(getDateTime(editor, format));\n      }\n    };\n\n    const register$1 = editor => {\n      editor.addCommand('mceInsertDate', (_ui, value) => {\n        insertDateTime(editor, value !== null && value !== void 0 ? value : getDateFormat(editor));\n      });\n      editor.addCommand('mceInsertTime', (_ui, value) => {\n        insertDateTime(editor, value !== null && value !== void 0 ? value : getTimeFormat(editor));\n      });\n    };\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const onSetupEditable = editor => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const register = editor => {\n      const formats = getFormats(editor);\n      const defaultFormat = Cell(getDefaultDateTime(editor));\n      const insertDateTime = format => editor.execCommand('mceInsertDate', false, format);\n      editor.ui.registry.addSplitButton('insertdatetime', {\n        icon: 'insert-time',\n        tooltip: 'Insert date/time',\n        select: value => value === defaultFormat.get(),\n        fetch: done => {\n          done(global.map(formats, format => ({\n            type: 'choiceitem',\n            text: getDateTime(editor, format),\n            value: format\n          })));\n        },\n        onAction: _api => {\n          insertDateTime(defaultFormat.get());\n        },\n        onItemAction: (_api, value) => {\n          defaultFormat.set(value);\n          insertDateTime(value);\n        },\n        onSetup: onSetupEditable(editor)\n      });\n      const makeMenuItemHandler = format => () => {\n        defaultFormat.set(format);\n        insertDateTime(format);\n      };\n      editor.ui.registry.addNestedMenuItem('insertdatetime', {\n        icon: 'insert-time',\n        text: 'Date/time',\n        getSubmenuItems: () => global.map(formats, format => ({\n          type: 'menuitem',\n          text: getDateTime(editor, format),\n          onAction: makeMenuItemHandler(format)\n        })),\n        onSetup: onSetupEditable(editor)\n      });\n    };\n\n    var Plugin = () => {\n      global$1.add('insertdatetime', editor => {\n        register$2(editor);\n        register$1(editor);\n        register(editor);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$5 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const eq = t => a => t === a;\n    const isString = isType('string');\n    const isObject = isType('object');\n    const isArray = isType('array');\n    const isNull = eq(null);\n    const isBoolean = isSimpleType('boolean');\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isArrayOf = (value, pred) => {\n      if (isArray(value)) {\n        for (let i = 0, len = value.length; i < len; ++i) {\n          if (!pred(value[i])) {\n            return false;\n          }\n        }\n        return true;\n      }\n      return false;\n    };\n\n    const noop = () => {};\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const tripleEquals = (a, b) => {\n      return a === b;\n    };\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const nativeIndexOf = Array.prototype.indexOf;\n    const nativePush = Array.prototype.push;\n    const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t);\n    const contains = (xs, x) => rawIndexOf(xs, x) > -1;\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each$1 = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const foldl = (xs, f, acc) => {\n      each$1(xs, (x, i) => {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    const flatten = xs => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    const bind = (xs, f) => flatten(map(xs, f));\n    const findMap = (arr, f) => {\n      for (let i = 0; i < arr.length; i++) {\n        const r = f(arr[i], i);\n        if (r.isSome()) {\n          return r;\n        }\n      }\n      return Optional.none();\n    };\n\n    const is = (lhs, rhs, comparator = tripleEquals) => lhs.exists(left => comparator(left, rhs));\n    const cat = arr => {\n      const r = [];\n      const push = x => {\n        r.push(x);\n      };\n      for (let i = 0; i < arr.length; i++) {\n        arr[i].each(push);\n      }\n      return r;\n    };\n    const someIf = (b, a) => b ? Optional.some(a) : Optional.none();\n\n    const option = name => editor => editor.options.get(name);\n    const register$1 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('link_assume_external_targets', {\n        processor: value => {\n          const valid = isString(value) || isBoolean(value);\n          if (valid) {\n            if (value === true) {\n              return {\n                value: 1,\n                valid\n              };\n            } else if (value === 'http' || value === 'https') {\n              return {\n                value,\n                valid\n              };\n            } else {\n              return {\n                value: 0,\n                valid\n              };\n            }\n          } else {\n            return {\n              valid: false,\n              message: 'Must be a string or a boolean.'\n            };\n          }\n        },\n        default: false\n      });\n      registerOption('link_context_toolbar', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('link_list', {\n        processor: value => isString(value) || isFunction(value) || isArrayOf(value, isObject)\n      });\n      registerOption('link_default_target', {\n        processor: 'string'\n      });\n      registerOption('link_default_protocol', {\n        processor: 'string',\n        default: 'https'\n      });\n      registerOption('link_target_list', {\n        processor: value => isBoolean(value) || isArrayOf(value, isObject),\n        default: true\n      });\n      registerOption('link_rel_list', {\n        processor: 'object[]',\n        default: []\n      });\n      registerOption('link_class_list', {\n        processor: 'object[]',\n        default: []\n      });\n      registerOption('link_title', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('allow_unsafe_link_target', {\n        processor: 'boolean',\n        default: false\n      });\n      registerOption('link_quicklink', {\n        processor: 'boolean',\n        default: false\n      });\n    };\n    const assumeExternalTargets = option('link_assume_external_targets');\n    const hasContextToolbar = option('link_context_toolbar');\n    const getLinkList = option('link_list');\n    const getDefaultLinkTarget = option('link_default_target');\n    const getDefaultLinkProtocol = option('link_default_protocol');\n    const getTargetList = option('link_target_list');\n    const getRelList = option('link_rel_list');\n    const getLinkClassList = option('link_class_list');\n    const shouldShowLinkTitle = option('link_title');\n    const allowUnsafeLinkTarget = option('allow_unsafe_link_target');\n    const useQuickLink = option('link_quicklink');\n\n    var global$4 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const getValue = item => isString(item.value) ? item.value : '';\n    const getText = item => {\n      if (isString(item.text)) {\n        return item.text;\n      } else if (isString(item.title)) {\n        return item.title;\n      } else {\n        return '';\n      }\n    };\n    const sanitizeList = (list, extractValue) => {\n      const out = [];\n      global$4.each(list, item => {\n        const text = getText(item);\n        if (item.menu !== undefined) {\n          const items = sanitizeList(item.menu, extractValue);\n          out.push({\n            text,\n            items\n          });\n        } else {\n          const value = extractValue(item);\n          out.push({\n            text,\n            value\n          });\n        }\n      });\n      return out;\n    };\n    const sanitizeWith = (extracter = getValue) => list => Optional.from(list).map(list => sanitizeList(list, extracter));\n    const sanitize = list => sanitizeWith(getValue)(list);\n    const createUi = (name, label) => items => ({\n      name,\n      type: 'listbox',\n      label,\n      items\n    });\n    const ListOptions = {\n      sanitize,\n      sanitizeWith,\n      createUi,\n      getValue\n    };\n\n    const keys = Object.keys;\n    const hasOwnProperty = Object.hasOwnProperty;\n    const each = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n    const objAcc = r => (x, i) => {\n      r[i] = x;\n    };\n    const internalFilter = (obj, pred, onTrue, onFalse) => {\n      each(obj, (x, i) => {\n        (pred(x, i) ? onTrue : onFalse)(x, i);\n      });\n    };\n    const filter = (obj, pred) => {\n      const t = {};\n      internalFilter(obj, pred, objAcc(t), noop);\n      return t;\n    };\n    const has = (obj, key) => hasOwnProperty.call(obj, key);\n    const hasNonNullableKey = (obj, key) => has(obj, key) && obj[key] !== undefined && obj[key] !== null;\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker');\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.util.URI');\n\n    const isAnchor = elm => isNonNullable(elm) && elm.nodeName.toLowerCase() === 'a';\n    const isLink = elm => isAnchor(elm) && !!getHref(elm);\n    const collectNodesInRange = (rng, predicate) => {\n      if (rng.collapsed) {\n        return [];\n      } else {\n        const contents = rng.cloneContents();\n        const firstChild = contents.firstChild;\n        const walker = new global$3(firstChild, contents);\n        const elements = [];\n        let current = firstChild;\n        do {\n          if (predicate(current)) {\n            elements.push(current);\n          }\n        } while (current = walker.next());\n        return elements;\n      }\n    };\n    const hasProtocol = url => /^\\w+:/i.test(url);\n    const getHref = elm => {\n      var _a, _b;\n      return (_b = (_a = elm.getAttribute('data-mce-href')) !== null && _a !== void 0 ? _a : elm.getAttribute('href')) !== null && _b !== void 0 ? _b : '';\n    };\n    const applyRelTargetRules = (rel, isUnsafe) => {\n      const rules = ['noopener'];\n      const rels = rel ? rel.split(/\\s+/) : [];\n      const toString = rels => global$4.trim(rels.sort().join(' '));\n      const addTargetRules = rels => {\n        rels = removeTargetRules(rels);\n        return rels.length > 0 ? rels.concat(rules) : rules;\n      };\n      const removeTargetRules = rels => rels.filter(val => global$4.inArray(rules, val) === -1);\n      const newRels = isUnsafe ? addTargetRules(rels) : removeTargetRules(rels);\n      return newRels.length > 0 ? toString(newRels) : '';\n    };\n    const trimCaretContainers = text => text.replace(/\\uFEFF/g, '');\n    const getAnchorElement = (editor, selectedElm) => {\n      selectedElm = selectedElm || getLinksInSelection(editor.selection.getRng())[0] || editor.selection.getNode();\n      if (isImageFigure(selectedElm)) {\n        return Optional.from(editor.dom.select('a[href]', selectedElm)[0]);\n      } else {\n        return Optional.from(editor.dom.getParent(selectedElm, 'a[href]'));\n      }\n    };\n    const isInAnchor = (editor, selectedElm) => getAnchorElement(editor, selectedElm).isSome();\n    const getAnchorText = (selection, anchorElm) => {\n      const text = anchorElm.fold(() => selection.getContent({\n        format: 'text'\n      }), anchorElm => anchorElm.innerText || anchorElm.textContent || '');\n      return trimCaretContainers(text);\n    };\n    const getLinksInSelection = rng => collectNodesInRange(rng, isLink);\n    const getLinks$1 = elements => global$4.grep(elements, isLink);\n    const hasLinks = elements => getLinks$1(elements).length > 0;\n    const hasLinksInSelection = rng => getLinksInSelection(rng).length > 0;\n    const isOnlyTextSelected = editor => {\n      const inlineTextElements = editor.schema.getTextInlineElements();\n      const isElement = elm => elm.nodeType === 1 && !isAnchor(elm) && !has(inlineTextElements, elm.nodeName.toLowerCase());\n      const isInBlockAnchor = getAnchorElement(editor).exists(anchor => anchor.hasAttribute('data-mce-block'));\n      if (isInBlockAnchor) {\n        return false;\n      }\n      const rng = editor.selection.getRng();\n      if (!rng.collapsed) {\n        const elements = collectNodesInRange(rng, isElement);\n        return elements.length === 0;\n      } else {\n        return true;\n      }\n    };\n    const isImageFigure = elm => isNonNullable(elm) && elm.nodeName === 'FIGURE' && /\\bimage\\b/i.test(elm.className);\n    const getLinkAttrs = data => {\n      const attrs = ['title', 'rel', 'class', 'target'];\n      return foldl(attrs, (acc, key) => {\n        data[key].each(value => {\n          acc[key] = value.length > 0 ? value : null;\n        });\n        return acc;\n      }, {\n        href: data.href\n      });\n    };\n    const handleExternalTargets = (href, assumeExternalTargets) => {\n      if ((assumeExternalTargets === 'http' || assumeExternalTargets === 'https') && !hasProtocol(href)) {\n        return assumeExternalTargets + '://' + href;\n      }\n      return href;\n    };\n    const applyLinkOverrides = (editor, linkAttrs) => {\n      const newLinkAttrs = {\n        ...linkAttrs\n      };\n      if (getRelList(editor).length === 0 && !allowUnsafeLinkTarget(editor)) {\n        const newRel = applyRelTargetRules(newLinkAttrs.rel, newLinkAttrs.target === '_blank');\n        newLinkAttrs.rel = newRel ? newRel : null;\n      }\n      if (Optional.from(newLinkAttrs.target).isNone() && getTargetList(editor) === false) {\n        newLinkAttrs.target = getDefaultLinkTarget(editor);\n      }\n      newLinkAttrs.href = handleExternalTargets(newLinkAttrs.href, assumeExternalTargets(editor));\n      return newLinkAttrs;\n    };\n    const updateLink = (editor, anchorElm, text, linkAttrs) => {\n      text.each(text => {\n        if (has(anchorElm, 'innerText')) {\n          anchorElm.innerText = text;\n        } else {\n          anchorElm.textContent = text;\n        }\n      });\n      editor.dom.setAttribs(anchorElm, linkAttrs);\n      editor.selection.select(anchorElm);\n    };\n    const createLink = (editor, selectedElm, text, linkAttrs) => {\n      const dom = editor.dom;\n      if (isImageFigure(selectedElm)) {\n        linkImageFigure(dom, selectedElm, linkAttrs);\n      } else {\n        text.fold(() => {\n          editor.execCommand('mceInsertLink', false, linkAttrs);\n        }, text => {\n          editor.insertContent(dom.createHTML('a', linkAttrs, dom.encode(text)));\n        });\n      }\n    };\n    const linkDomMutation = (editor, attachState, data) => {\n      const selectedElm = editor.selection.getNode();\n      const anchorElm = getAnchorElement(editor, selectedElm);\n      const linkAttrs = applyLinkOverrides(editor, getLinkAttrs(data));\n      editor.undoManager.transact(() => {\n        if (data.href === attachState.href) {\n          attachState.attach();\n        }\n        anchorElm.fold(() => {\n          createLink(editor, selectedElm, data.text, linkAttrs);\n        }, elm => {\n          editor.focus();\n          updateLink(editor, elm, data.text, linkAttrs);\n        });\n      });\n    };\n    const unlinkSelection = editor => {\n      const dom = editor.dom,\n        selection = editor.selection;\n      const bookmark = selection.getBookmark();\n      const rng = selection.getRng().cloneRange();\n      const startAnchorElm = dom.getParent(rng.startContainer, 'a[href]', editor.getBody());\n      const endAnchorElm = dom.getParent(rng.endContainer, 'a[href]', editor.getBody());\n      if (startAnchorElm) {\n        rng.setStartBefore(startAnchorElm);\n      }\n      if (endAnchorElm) {\n        rng.setEndAfter(endAnchorElm);\n      }\n      selection.setRng(rng);\n      editor.execCommand('unlink');\n      selection.moveToBookmark(bookmark);\n    };\n    const unlinkDomMutation = editor => {\n      editor.undoManager.transact(() => {\n        const node = editor.selection.getNode();\n        if (isImageFigure(node)) {\n          unlinkImageFigure(editor, node);\n        } else {\n          unlinkSelection(editor);\n        }\n        editor.focus();\n      });\n    };\n    const unwrapOptions = data => {\n      const {\n        class: cls,\n        href,\n        rel,\n        target,\n        text,\n        title\n      } = data;\n      return filter({\n        class: cls.getOrNull(),\n        href,\n        rel: rel.getOrNull(),\n        target: target.getOrNull(),\n        text: text.getOrNull(),\n        title: title.getOrNull()\n      }, (v, _k) => isNull(v) === false);\n    };\n    const sanitizeData = (editor, data) => {\n      const getOption = editor.options.get;\n      const uriOptions = {\n        allow_html_data_urls: getOption('allow_html_data_urls'),\n        allow_script_urls: getOption('allow_script_urls'),\n        allow_svg_data_urls: getOption('allow_svg_data_urls')\n      };\n      const href = data.href;\n      return {\n        ...data,\n        href: global$2.isDomSafe(href, 'a', uriOptions) ? href : ''\n      };\n    };\n    const link = (editor, attachState, data) => {\n      const sanitizedData = sanitizeData(editor, data);\n      editor.hasPlugin('rtc', true) ? editor.execCommand('createlink', false, unwrapOptions(sanitizedData)) : linkDomMutation(editor, attachState, sanitizedData);\n    };\n    const unlink = editor => {\n      editor.hasPlugin('rtc', true) ? editor.execCommand('unlink') : unlinkDomMutation(editor);\n    };\n    const unlinkImageFigure = (editor, fig) => {\n      var _a;\n      const img = editor.dom.select('img', fig)[0];\n      if (img) {\n        const a = editor.dom.getParents(img, 'a[href]', fig)[0];\n        if (a) {\n          (_a = a.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(img, a);\n          editor.dom.remove(a);\n        }\n      }\n    };\n    const linkImageFigure = (dom, fig, attrs) => {\n      var _a;\n      const img = dom.select('img', fig)[0];\n      if (img) {\n        const a = dom.create('a', attrs);\n        (_a = img.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(a, img);\n        a.appendChild(img);\n      }\n    };\n\n    const isListGroup = item => hasNonNullableKey(item, 'items');\n    const findTextByValue = (value, catalog) => findMap(catalog, item => {\n      if (isListGroup(item)) {\n        return findTextByValue(value, item.items);\n      } else {\n        return someIf(item.value === value, item);\n      }\n    });\n    const getDelta = (persistentText, fieldName, catalog, data) => {\n      const value = data[fieldName];\n      const hasPersistentText = persistentText.length > 0;\n      return value !== undefined ? findTextByValue(value, catalog).map(i => ({\n        url: {\n          value: i.value,\n          meta: {\n            text: hasPersistentText ? persistentText : i.text,\n            attach: noop\n          }\n        },\n        text: hasPersistentText ? persistentText : i.text\n      })) : Optional.none();\n    };\n    const findCatalog = (catalogs, fieldName) => {\n      if (fieldName === 'link') {\n        return catalogs.link;\n      } else if (fieldName === 'anchor') {\n        return catalogs.anchor;\n      } else {\n        return Optional.none();\n      }\n    };\n    const init = (initialData, linkCatalog) => {\n      const persistentData = {\n        text: initialData.text,\n        title: initialData.title\n      };\n      const getTitleFromUrlChange = url => {\n        var _a;\n        return someIf(persistentData.title.length <= 0, Optional.from((_a = url.meta) === null || _a === void 0 ? void 0 : _a.title).getOr(''));\n      };\n      const getTextFromUrlChange = url => {\n        var _a;\n        return someIf(persistentData.text.length <= 0, Optional.from((_a = url.meta) === null || _a === void 0 ? void 0 : _a.text).getOr(url.value));\n      };\n      const onUrlChange = data => {\n        const text = getTextFromUrlChange(data.url);\n        const title = getTitleFromUrlChange(data.url);\n        if (text.isSome() || title.isSome()) {\n          return Optional.some({\n            ...text.map(text => ({\n              text\n            })).getOr({}),\n            ...title.map(title => ({\n              title\n            })).getOr({})\n          });\n        } else {\n          return Optional.none();\n        }\n      };\n      const onCatalogChange = (data, change) => {\n        const catalog = findCatalog(linkCatalog, change).getOr([]);\n        return getDelta(persistentData.text, change, catalog, data);\n      };\n      const onChange = (getData, change) => {\n        const name = change.name;\n        if (name === 'url') {\n          return onUrlChange(getData());\n        } else if (contains(['anchor', 'link'], name)) {\n          return onCatalogChange(getData(), name);\n        } else if (name === 'text' || name === 'title') {\n          persistentData[name] = getData()[name];\n          return Optional.none();\n        } else {\n          return Optional.none();\n        }\n      };\n      return {\n        onChange\n      };\n    };\n    const DialogChanges = {\n      init,\n      getDelta\n    };\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.util.Delay');\n\n    const delayedConfirm = (editor, message, callback) => {\n      const rng = editor.selection.getRng();\n      global$1.setEditorTimeout(editor, () => {\n        editor.windowManager.confirm(message, state => {\n          editor.selection.setRng(rng);\n          callback(state);\n        });\n      });\n    };\n    const tryEmailTransform = data => {\n      const url = data.href;\n      const suggestMailTo = url.indexOf('@') > 0 && url.indexOf('/') === -1 && url.indexOf('mailto:') === -1;\n      return suggestMailTo ? Optional.some({\n        message: 'The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?',\n        preprocess: oldData => ({\n          ...oldData,\n          href: 'mailto:' + url\n        })\n      }) : Optional.none();\n    };\n    const tryProtocolTransform = (assumeExternalTargets, defaultLinkProtocol) => data => {\n      const url = data.href;\n      const suggestProtocol = assumeExternalTargets === 1 && !hasProtocol(url) || assumeExternalTargets === 0 && /^\\s*www(\\.|\\d\\.)/i.test(url);\n      return suggestProtocol ? Optional.some({\n        message: \"The URL you entered seems to be an external link. Do you want to add the required \".concat(defaultLinkProtocol, \":// prefix?\"),\n        preprocess: oldData => ({\n          ...oldData,\n          href: defaultLinkProtocol + '://' + url\n        })\n      }) : Optional.none();\n    };\n    const preprocess = (editor, data) => findMap([tryEmailTransform, tryProtocolTransform(assumeExternalTargets(editor), getDefaultLinkProtocol(editor))], f => f(data)).fold(() => Promise.resolve(data), transform => new Promise(callback => {\n      delayedConfirm(editor, transform.message, state => {\n        callback(state ? transform.preprocess(data) : data);\n      });\n    }));\n    const DialogConfirms = {\n      preprocess\n    };\n\n    const getAnchors = editor => {\n      const anchorNodes = editor.dom.select('a:not([href])');\n      const anchors = bind(anchorNodes, anchor => {\n        const id = anchor.name || anchor.id;\n        return id ? [{\n          text: id,\n          value: '#' + id\n        }] : [];\n      });\n      return anchors.length > 0 ? Optional.some([{\n        text: 'None',\n        value: ''\n      }].concat(anchors)) : Optional.none();\n    };\n    const AnchorListOptions = {\n      getAnchors\n    };\n\n    const getClasses = editor => {\n      const list = getLinkClassList(editor);\n      if (list.length > 0) {\n        return ListOptions.sanitize(list);\n      }\n      return Optional.none();\n    };\n    const ClassListOptions = {\n      getClasses\n    };\n\n    const parseJson = text => {\n      try {\n        return Optional.some(JSON.parse(text));\n      } catch (err) {\n        return Optional.none();\n      }\n    };\n    const getLinks = editor => {\n      const extractor = item => editor.convertURL(item.value || item.url || '', 'href');\n      const linkList = getLinkList(editor);\n      return new Promise(resolve => {\n        if (isString(linkList)) {\n          fetch(linkList).then(res => res.ok ? res.text().then(parseJson) : Promise.reject()).then(resolve, () => resolve(Optional.none()));\n        } else if (isFunction(linkList)) {\n          linkList(output => resolve(Optional.some(output)));\n        } else {\n          resolve(Optional.from(linkList));\n        }\n      }).then(optItems => optItems.bind(ListOptions.sanitizeWith(extractor)).map(items => {\n        if (items.length > 0) {\n          const noneItem = [{\n            text: 'None',\n            value: ''\n          }];\n          return noneItem.concat(items);\n        } else {\n          return items;\n        }\n      }));\n    };\n    const LinkListOptions = {\n      getLinks\n    };\n\n    const getRels = (editor, initialTarget) => {\n      const list = getRelList(editor);\n      if (list.length > 0) {\n        const isTargetBlank = is(initialTarget, '_blank');\n        const enforceSafe = allowUnsafeLinkTarget(editor) === false;\n        const safeRelExtractor = item => applyRelTargetRules(ListOptions.getValue(item), isTargetBlank);\n        const sanitizer = enforceSafe ? ListOptions.sanitizeWith(safeRelExtractor) : ListOptions.sanitize;\n        return sanitizer(list);\n      }\n      return Optional.none();\n    };\n    const RelOptions = {\n      getRels\n    };\n\n    const fallbacks = [{\n      text: 'Current window',\n      value: ''\n    }, {\n      text: 'New window',\n      value: '_blank'\n    }];\n    const getTargets = editor => {\n      const list = getTargetList(editor);\n      if (isArray(list)) {\n        return ListOptions.sanitize(list).orThunk(() => Optional.some(fallbacks));\n      } else if (list === false) {\n        return Optional.none();\n      }\n      return Optional.some(fallbacks);\n    };\n    const TargetOptions = {\n      getTargets\n    };\n\n    const nonEmptyAttr = (dom, elem, name) => {\n      const val = dom.getAttrib(elem, name);\n      return val !== null && val.length > 0 ? Optional.some(val) : Optional.none();\n    };\n    const extractFromAnchor = (editor, anchor) => {\n      const dom = editor.dom;\n      const onlyText = isOnlyTextSelected(editor);\n      const text = onlyText ? Optional.some(getAnchorText(editor.selection, anchor)) : Optional.none();\n      const url = anchor.bind(anchorElm => Optional.from(dom.getAttrib(anchorElm, 'href')));\n      const target = anchor.bind(anchorElm => Optional.from(dom.getAttrib(anchorElm, 'target')));\n      const rel = anchor.bind(anchorElm => nonEmptyAttr(dom, anchorElm, 'rel'));\n      const linkClass = anchor.bind(anchorElm => nonEmptyAttr(dom, anchorElm, 'class'));\n      const title = anchor.bind(anchorElm => nonEmptyAttr(dom, anchorElm, 'title'));\n      return {\n        url,\n        text,\n        title,\n        target,\n        rel,\n        linkClass\n      };\n    };\n    const collect = (editor, linkNode) => LinkListOptions.getLinks(editor).then(links => {\n      const anchor = extractFromAnchor(editor, linkNode);\n      return {\n        anchor,\n        catalogs: {\n          targets: TargetOptions.getTargets(editor),\n          rels: RelOptions.getRels(editor, anchor.target),\n          classes: ClassListOptions.getClasses(editor),\n          anchor: AnchorListOptions.getAnchors(editor),\n          link: links\n        },\n        optNode: linkNode,\n        flags: {\n          titleEnabled: shouldShowLinkTitle(editor)\n        }\n      };\n    });\n    const DialogInfo = {\n      collect\n    };\n\n    const handleSubmit = (editor, info) => api => {\n      const data = api.getData();\n      if (!data.url.value) {\n        unlink(editor);\n        api.close();\n        return;\n      }\n      const getChangedValue = key => Optional.from(data[key]).filter(value => !is(info.anchor[key], value));\n      const changedData = {\n        href: data.url.value,\n        text: getChangedValue('text'),\n        target: getChangedValue('target'),\n        rel: getChangedValue('rel'),\n        class: getChangedValue('linkClass'),\n        title: getChangedValue('title')\n      };\n      const attachState = {\n        href: data.url.value,\n        attach: data.url.meta !== undefined && data.url.meta.attach ? data.url.meta.attach : noop\n      };\n      DialogConfirms.preprocess(editor, changedData).then(pData => {\n        link(editor, attachState, pData);\n      });\n      api.close();\n    };\n    const collectData = editor => {\n      const anchorNode = getAnchorElement(editor);\n      return DialogInfo.collect(editor, anchorNode);\n    };\n    const getInitialData = (info, defaultTarget) => {\n      const anchor = info.anchor;\n      const url = anchor.url.getOr('');\n      return {\n        url: {\n          value: url,\n          meta: {\n            original: {\n              value: url\n            }\n          }\n        },\n        text: anchor.text.getOr(''),\n        title: anchor.title.getOr(''),\n        anchor: url,\n        link: url,\n        rel: anchor.rel.getOr(''),\n        target: anchor.target.or(defaultTarget).getOr(''),\n        linkClass: anchor.linkClass.getOr('')\n      };\n    };\n    const makeDialog = (settings, onSubmit, editor) => {\n      const urlInput = [{\n        name: 'url',\n        type: 'urlinput',\n        filetype: 'file',\n        label: 'URL',\n        picker_text: 'Browse links'\n      }];\n      const displayText = settings.anchor.text.map(() => ({\n        name: 'text',\n        type: 'input',\n        label: 'Text to display'\n      })).toArray();\n      const titleText = settings.flags.titleEnabled ? [{\n        name: 'title',\n        type: 'input',\n        label: 'Title'\n      }] : [];\n      const defaultTarget = Optional.from(getDefaultLinkTarget(editor));\n      const initialData = getInitialData(settings, defaultTarget);\n      const catalogs = settings.catalogs;\n      const dialogDelta = DialogChanges.init(initialData, catalogs);\n      const body = {\n        type: 'panel',\n        items: flatten([urlInput, displayText, titleText, cat([catalogs.anchor.map(ListOptions.createUi('anchor', 'Anchors')), catalogs.rels.map(ListOptions.createUi('rel', 'Rel')), catalogs.targets.map(ListOptions.createUi('target', 'Open link in...')), catalogs.link.map(ListOptions.createUi('link', 'Link list')), catalogs.classes.map(ListOptions.createUi('linkClass', 'Class'))])])\n      };\n      return {\n        title: 'Insert/Edit Link',\n        size: 'normal',\n        body,\n        buttons: [{\n          type: 'cancel',\n          name: 'cancel',\n          text: 'Cancel'\n        }, {\n          type: 'submit',\n          name: 'save',\n          text: 'Save',\n          primary: true\n        }],\n        initialData,\n        onChange: (api, {\n          name\n        }) => {\n          dialogDelta.onChange(api.getData, {\n            name\n          }).each(newData => {\n            api.setData(newData);\n          });\n        },\n        onSubmit\n      };\n    };\n    const open$1 = editor => {\n      const data = collectData(editor);\n      data.then(info => {\n        const onSubmit = handleSubmit(editor, info);\n        return makeDialog(info, onSubmit, editor);\n      }).then(spec => {\n        editor.windowManager.open(spec);\n      });\n    };\n\n    const register = editor => {\n      editor.addCommand('mceLink', (_ui, value) => {\n        if ((value === null || value === void 0 ? void 0 : value.dialog) === true || !useQuickLink(editor)) {\n          open$1(editor);\n        } else {\n          editor.dispatch('contexttoolbar-show', {\n            toolbarKey: 'quicklink'\n          });\n        }\n      });\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.VK');\n\n    const appendClickRemove = (link, evt) => {\n      document.body.appendChild(link);\n      link.dispatchEvent(evt);\n      document.body.removeChild(link);\n    };\n    const open = url => {\n      const link = document.createElement('a');\n      link.target = '_blank';\n      link.href = url;\n      link.rel = 'noreferrer noopener';\n      const evt = document.createEvent('MouseEvents');\n      evt.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);\n      appendClickRemove(link, evt);\n    };\n\n    const getLink = (editor, elm) => editor.dom.getParent(elm, 'a[href]');\n    const getSelectedLink = editor => getLink(editor, editor.selection.getStart());\n    const hasOnlyAltModifier = e => {\n      return e.altKey === true && e.shiftKey === false && e.ctrlKey === false && e.metaKey === false;\n    };\n    const gotoLink = (editor, a) => {\n      if (a) {\n        const href = getHref(a);\n        if (/^#/.test(href)) {\n          const targetEl = editor.dom.select(href);\n          if (targetEl.length) {\n            editor.selection.scrollIntoView(targetEl[0], true);\n          }\n        } else {\n          open(a.href);\n        }\n      }\n    };\n    const openDialog = editor => () => {\n      editor.execCommand('mceLink', false, {\n        dialog: true\n      });\n    };\n    const gotoSelectedLink = editor => () => {\n      gotoLink(editor, getSelectedLink(editor));\n    };\n    const setupGotoLinks = editor => {\n      editor.on('click', e => {\n        const link = getLink(editor, e.target);\n        if (link && global.metaKeyPressed(e)) {\n          e.preventDefault();\n          gotoLink(editor, link);\n        }\n      });\n      editor.on('keydown', e => {\n        if (!e.isDefaultPrevented() && e.keyCode === 13 && hasOnlyAltModifier(e)) {\n          const link = getSelectedLink(editor);\n          if (link) {\n            e.preventDefault();\n            gotoLink(editor, link);\n          }\n        }\n      });\n    };\n    const toggleState = (editor, toggler) => {\n      editor.on('NodeChange', toggler);\n      return () => editor.off('NodeChange', toggler);\n    };\n    const toggleLinkState = editor => api => {\n      const updateState = () => {\n        api.setActive(!editor.mode.isReadOnly() && isInAnchor(editor, editor.selection.getNode()));\n        api.setEnabled(editor.selection.isEditable());\n      };\n      updateState();\n      return toggleState(editor, updateState);\n    };\n    const toggleLinkMenuState = editor => api => {\n      const updateState = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      updateState();\n      return toggleState(editor, updateState);\n    };\n    const hasExactlyOneLinkInSelection = editor => {\n      const links = editor.selection.isCollapsed() ? getLinks$1(editor.dom.getParents(editor.selection.getStart())) : getLinksInSelection(editor.selection.getRng());\n      return links.length === 1;\n    };\n    const toggleGotoLinkState = editor => api => {\n      const updateState = () => api.setEnabled(hasExactlyOneLinkInSelection(editor));\n      updateState();\n      return toggleState(editor, updateState);\n    };\n    const toggleUnlinkState = editor => api => {\n      const hasLinks$1 = parents => hasLinks(parents) || hasLinksInSelection(editor.selection.getRng());\n      const parents = editor.dom.getParents(editor.selection.getStart());\n      const updateEnabled = parents => {\n        api.setEnabled(hasLinks$1(parents) && editor.selection.isEditable());\n      };\n      updateEnabled(parents);\n      return toggleState(editor, e => updateEnabled(e.parents));\n    };\n\n    const setup = editor => {\n      editor.addShortcut('Meta+K', '', () => {\n        editor.execCommand('mceLink');\n      });\n    };\n\n    const setupButtons = editor => {\n      editor.ui.registry.addToggleButton('link', {\n        icon: 'link',\n        tooltip: 'Insert/edit link',\n        onAction: openDialog(editor),\n        onSetup: toggleLinkState(editor)\n      });\n      editor.ui.registry.addButton('openlink', {\n        icon: 'new-tab',\n        tooltip: 'Open link',\n        onAction: gotoSelectedLink(editor),\n        onSetup: toggleGotoLinkState(editor)\n      });\n      editor.ui.registry.addButton('unlink', {\n        icon: 'unlink',\n        tooltip: 'Remove link',\n        onAction: () => unlink(editor),\n        onSetup: toggleUnlinkState(editor)\n      });\n    };\n    const setupMenuItems = editor => {\n      editor.ui.registry.addMenuItem('openlink', {\n        text: 'Open link',\n        icon: 'new-tab',\n        onAction: gotoSelectedLink(editor),\n        onSetup: toggleGotoLinkState(editor)\n      });\n      editor.ui.registry.addMenuItem('link', {\n        icon: 'link',\n        text: 'Link...',\n        shortcut: 'Meta+K',\n        onSetup: toggleLinkMenuState(editor),\n        onAction: openDialog(editor)\n      });\n      editor.ui.registry.addMenuItem('unlink', {\n        icon: 'unlink',\n        text: 'Remove link',\n        onAction: () => unlink(editor),\n        onSetup: toggleUnlinkState(editor)\n      });\n    };\n    const setupContextMenu = editor => {\n      const inLink = 'link unlink openlink';\n      const noLink = 'link';\n      editor.ui.registry.addContextMenu('link', {\n        update: element => {\n          const isEditable = editor.dom.isEditable(element);\n          if (!isEditable) {\n            return '';\n          }\n          return hasLinks(editor.dom.getParents(element, 'a')) ? inLink : noLink;\n        }\n      });\n    };\n    const setupContextToolbars = editor => {\n      const collapseSelectionToEnd = editor => {\n        editor.selection.collapse(false);\n      };\n      const onSetupLink = buttonApi => {\n        const node = editor.selection.getNode();\n        buttonApi.setEnabled(isInAnchor(editor, node));\n        return noop;\n      };\n      const getLinkText = value => {\n        const anchor = getAnchorElement(editor);\n        const onlyText = isOnlyTextSelected(editor);\n        if (anchor.isNone() && onlyText) {\n          const text = getAnchorText(editor.selection, anchor);\n          return someIf(text.length === 0, value);\n        } else {\n          return Optional.none();\n        }\n      };\n      editor.ui.registry.addContextForm('quicklink', {\n        launch: {\n          type: 'contextformtogglebutton',\n          icon: 'link',\n          tooltip: 'Link',\n          onSetup: toggleLinkState(editor)\n        },\n        label: 'Link',\n        predicate: node => hasContextToolbar(editor) && isInAnchor(editor, node),\n        initValue: () => {\n          const elm = getAnchorElement(editor);\n          return elm.fold(constant(''), getHref);\n        },\n        commands: [{\n          type: 'contextformtogglebutton',\n          icon: 'link',\n          tooltip: 'Link',\n          primary: true,\n          onSetup: buttonApi => {\n            const node = editor.selection.getNode();\n            buttonApi.setActive(isInAnchor(editor, node));\n            return toggleLinkState(editor)(buttonApi);\n          },\n          onAction: formApi => {\n            const value = formApi.getValue();\n            const text = getLinkText(value);\n            const attachState = {\n              href: value,\n              attach: noop\n            };\n            link(editor, attachState, {\n              href: value,\n              text,\n              title: Optional.none(),\n              rel: Optional.none(),\n              target: Optional.none(),\n              class: Optional.none()\n            });\n            collapseSelectionToEnd(editor);\n            formApi.hide();\n          }\n        }, {\n          type: 'contextformbutton',\n          icon: 'unlink',\n          tooltip: 'Remove link',\n          onSetup: onSetupLink,\n          onAction: formApi => {\n            unlink(editor);\n            formApi.hide();\n          }\n        }, {\n          type: 'contextformbutton',\n          icon: 'new-tab',\n          tooltip: 'Open link',\n          onSetup: onSetupLink,\n          onAction: formApi => {\n            gotoSelectedLink(editor)();\n            formApi.hide();\n          }\n        }]\n      });\n    };\n\n    var Plugin = () => {\n      global$5.add('link', editor => {\n        register$1(editor);\n        setupButtons(editor);\n        setupMenuItems(editor);\n        setupContextMenu(editor);\n        setupContextToolbars(editor);\n        setupGotoLinks(editor);\n        register(editor);\n        setup(editor);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const zwCharsRegex = /[\\u200B-\\u200D\\uFEFF]/g;\n    const cleanStr = str => str.replace(zwCharsRegex, '').trim();\n    const strIsEqual = (str1, str2) => cleanStr(str1) === cleanStr(str2);\n    const toPt = fontSize => \"\".concat(Math.round(parseInt(fontSize, 10) * 72 / 96), \"pt\");\n    const wrapContent = (li, selectionStart, dom) => {\n      const liRange = dom.createRng();\n      liRange.selectNodeContents(li);\n      liRange.setEndBefore(selectionStart);\n      const beforeContent = liRange.cloneContents();\n      let wrapperElement = null;\n      if (beforeContent.textContent.length) {\n        if (beforeContent.childNodes.length === 1 && beforeContent.childElementCount === 1) {\n          wrapperElement = li.firstElementChild;\n        } else {\n          wrapperElement = dom.create('span');\n          liRange.surroundContents(wrapperElement);\n        }\n      }\n      return wrapperElement;\n    };\n\n    const FontSizeHandler = ({\n      dom,\n      selection\n    }, value) => {\n      let resizeItems = [];\n      const selectedBlocks = selection.getSelectedBlocks();\n      const selectedLiBlocks = selectedBlocks.filter(el => dom.is(el, 'li'));\n      if (selectedLiBlocks.length) {\n        const highlightedStart = selection.getStart();\n        const firstListItem = dom.getParent(highlightedStart, 'li');\n        if (firstListItem && selectedLiBlocks.length === 1) {\n          const resizeFirstItem = strIsEqual(firstListItem.innerText, selection.getContent({\n            format: 'text'\n          }));\n          if (resizeFirstItem) {\n            resizeItems.push(firstListItem);\n          }\n        }\n        if (selectedBlocks.length > 1) {\n          const selRange = selection.getRng().cloneRange();\n          if (firstListItem) {\n            const firstLiRange = dom.createRng();\n            firstLiRange.selectNodeContents(firstListItem);\n            const resizeFirstItem = firstLiRange.compareBoundaryPoints(selRange.END_TO_END, selRange) < 0;\n            if (!resizeFirstItem) {\n              selectedLiBlocks.shift();\n            } else {\n              const wrapperElement = wrapContent(firstListItem, selection.getStart(), dom);\n              if (wrapperElement) {\n                const oldFont = toPt(dom.win.getComputedStyle(wrapperElement).fontSize);\n                dom.setStyle(wrapperElement, 'font-size', oldFont);\n              }\n            }\n          }\n          const highlightedEnd = selection.getEnd();\n          const lastListItem = dom.getParent(highlightedEnd, 'li');\n          if (lastListItem && firstListItem !== lastListItem) {\n            const lastLiRange = dom.createRng();\n            lastLiRange.selectNodeContents(lastListItem);\n            selRange.setStart(lastLiRange.startContainer, lastLiRange.startOffset);\n            const resizeLastItem = strIsEqual(lastListItem.innerText, selRange.cloneContents().textContent);\n            if (!resizeLastItem) {\n              selectedLiBlocks.pop();\n            }\n          }\n          resizeItems = selectedLiBlocks;\n        }\n        resizeItems.forEach(item => dom.setStyle(item, 'font-size', value));\n      }\n    };\n\n    const InsertListHandler = ({\n      dom,\n      selection\n    }) => {\n      const selectedBlocks = selection.getSelectedBlocks();\n      const selectedLiBlocks = selectedBlocks.filter(el => dom.is(el, 'li'));\n      const newFormatListSpan = selectedLiBlocks[0].querySelector('span[data-mce-type=\"format-caret\"] > span');\n      if (newFormatListSpan) {\n        dom.setStyle(selectedLiBlocks[0], 'font-size', dom.getStyle(newFormatListSpan, 'font-size'));\n      } else {\n        selectedBlocks.filter(block => block.lastChild === block.lastElementChild).forEach(block => {\n          const fontSize = dom.getStyle(block.lastElementChild, 'font-size');\n          if (fontSize) {\n            const wrapperElement = wrapContent(block, block.lastElementChild, dom);\n            if (wrapperElement) {\n              const oldFont = toPt(dom.win.getComputedStyle(wrapperElement).fontSize);\n              dom.setStyle(wrapperElement, 'font-size', oldFont);\n            }\n            dom.setStyle(block, 'font-size', fontSize);\n          }\n        });\n      }\n    };\n\n    const ExecCommandHandler = ({\n      target: editor,\n      command,\n      value\n    }) => {\n      if (command === 'FontSize') {\n        FontSizeHandler(editor, value);\n      } else if (command === 'InsertOrderedList' || command === 'InsertUnorderedList') {\n        InsertListHandler(editor);\n      }\n    };\n    const PastePostProssesHandler = editor => args => {\n      const {\n        dom\n      } = editor;\n      const liNodes = [...args.node.querySelectorAll('li')];\n      liNodes.filter(liNode => liNode.children.length).forEach(liNode => {\n        const nodes = [...liNode.querySelectorAll(':first-child')];\n        let span;\n        for (let i = 0; i < nodes.length; ++i) {\n          const node = nodes[i];\n          if (dom.is(node, 'li')) {\n            return;\n          }\n          if (dom.is(node, 'span')) {\n            span = node;\n            break;\n          }\n        }\n        if (span) {\n          liNode.style.cssText = span.style.cssText;\n          dom.replace(dom.create('text', {}, span.innerHTML), span);\n        }\n      });\n    };\n    const register = editor => {\n      editor.on('ExecCommand', ExecCommandHandler);\n      editor.on('PastePostProcess', PastePostProssesHandler(editor));\n    };\n\n    var Plugin = () => {\n      global.add('listitem_fix', editor => {\n        register(editor);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$7 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const isString = isType$1('string');\n    const isObject = isType$1('object');\n    const isArray = isType$1('array');\n    const isBoolean = isSimpleType('boolean');\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n\n    const noop = () => {};\n    const compose1 = (fbc, fab) => a => fbc(fab(a));\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const tripleEquals = (a, b) => {\n      return a === b;\n    };\n    function curry(fn, ...initialArgs) {\n      return (...restArgs) => {\n        const all = initialArgs.concat(restArgs);\n        return fn.apply(null, all);\n      };\n    }\n    const not = f => t => !f(t);\n    const never = constant(false);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const nativeSlice = Array.prototype.slice;\n    const nativeIndexOf = Array.prototype.indexOf;\n    const nativePush = Array.prototype.push;\n    const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t);\n    const contains$1 = (xs, x) => rawIndexOf(xs, x) > -1;\n    const exists = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each$1 = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const filter$1 = (xs, pred) => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    const groupBy = (xs, f) => {\n      if (xs.length === 0) {\n        return [];\n      } else {\n        let wasType = f(xs[0]);\n        const r = [];\n        let group = [];\n        for (let i = 0, len = xs.length; i < len; i++) {\n          const x = xs[i];\n          const type = f(x);\n          if (type !== wasType) {\n            r.push(group);\n            group = [];\n          }\n          wasType = type;\n          group.push(x);\n        }\n        if (group.length !== 0) {\n          r.push(group);\n        }\n        return r;\n      }\n    };\n    const foldl = (xs, f, acc) => {\n      each$1(xs, (x, i) => {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    const findUntil = (xs, pred, until) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(x);\n        } else if (until(x, i)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const find = (xs, pred) => {\n      return findUntil(xs, pred, never);\n    };\n    const flatten = xs => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    const bind = (xs, f) => flatten(map(xs, f));\n    const reverse = xs => {\n      const r = nativeSlice.call(xs, 0);\n      r.reverse();\n      return r;\n    };\n    const get$1 = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n    const head = xs => get$1(xs, 0);\n    const last = xs => get$1(xs, xs.length - 1);\n    const unique = (xs, comparator) => {\n      const r = [];\n      const isDuplicated = isFunction(comparator) ? x => exists(r, i => comparator(i, x)) : x => contains$1(r, x);\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (!isDuplicated(x)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n\n    const is$2 = (lhs, rhs, comparator = tripleEquals) => lhs.exists(left => comparator(left, rhs));\n    const equals = (lhs, rhs, comparator = tripleEquals) => lift2(lhs, rhs, comparator).getOr(lhs.isNone() && rhs.isNone());\n    const lift2 = (oa, ob, f) => oa.isSome() && ob.isSome() ? Optional.some(f(oa.getOrDie(), ob.getOrDie())) : Optional.none();\n\n    const COMMENT = 8;\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n    const ELEMENT = 1;\n    const TEXT = 3;\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom$1(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom$1(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom$1(node);\n    };\n    const fromDom$1 = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom$1);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom: fromDom$1,\n      fromPoint\n    };\n\n    const is$1 = (element, selector) => {\n      const dom = element.dom;\n      if (dom.nodeType !== ELEMENT) {\n        return false;\n      } else {\n        const elem = dom;\n        if (elem.matches !== undefined) {\n          return elem.matches(selector);\n        } else if (elem.msMatchesSelector !== undefined) {\n          return elem.msMatchesSelector(selector);\n        } else if (elem.webkitMatchesSelector !== undefined) {\n          return elem.webkitMatchesSelector(selector);\n        } else if (elem.mozMatchesSelector !== undefined) {\n          return elem.mozMatchesSelector(selector);\n        } else {\n          throw new Error('Browser lacks native selectors');\n        }\n      }\n    };\n\n    const eq = (e1, e2) => e1.dom === e2.dom;\n    const contains = (e1, e2) => {\n      const d1 = e1.dom;\n      const d2 = e2.dom;\n      return d1 === d2 ? false : d1.contains(d2);\n    };\n    const is = is$1;\n\n    const Global = typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const path = (parts, scope) => {\n      let o = scope !== undefined && scope !== null ? scope : Global;\n      for (let i = 0; i < parts.length && o !== undefined && o !== null; ++i) {\n        o = o[parts[i]];\n      }\n      return o;\n    };\n    const resolve = (p, scope) => {\n      const parts = p.split('.');\n      return path(parts, scope);\n    };\n\n    const unsafe = (name, scope) => {\n      return resolve(name, scope);\n    };\n    const getOrDie = (name, scope) => {\n      const actual = unsafe(name, scope);\n      if (actual === undefined || actual === null) {\n        throw new Error(name + ' not available on this browser');\n      }\n      return actual;\n    };\n\n    const getPrototypeOf = Object.getPrototypeOf;\n    const sandHTMLElement = scope => {\n      return getOrDie('HTMLElement', scope);\n    };\n    const isPrototypeOf = x => {\n      const scope = resolve('ownerDocument.defaultView', x);\n      return isObject(x) && (sandHTMLElement(scope).prototype.isPrototypeOf(x) || /^HTML\\w*Element$/.test(getPrototypeOf(x).constructor.name));\n    };\n\n    const name = element => {\n      const r = element.dom.nodeName;\n      return r.toLowerCase();\n    };\n    const type = element => element.dom.nodeType;\n    const isType = t => element => type(element) === t;\n    const isComment = element => type(element) === COMMENT || name(element) === '#comment';\n    const isHTMLElement = element => isElement$1(element) && isPrototypeOf(element.dom);\n    const isElement$1 = isType(ELEMENT);\n    const isText = isType(TEXT);\n    const isDocument = isType(DOCUMENT);\n    const isDocumentFragment = isType(DOCUMENT_FRAGMENT);\n    const isTag = tag => e => isElement$1(e) && name(e) === tag;\n\n    const owner = element => SugarElement.fromDom(element.dom.ownerDocument);\n    const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos);\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const parentElement = element => Optional.from(element.dom.parentElement).map(SugarElement.fromDom);\n    const nextSibling = element => Optional.from(element.dom.nextSibling).map(SugarElement.fromDom);\n    const children = element => map(element.dom.childNodes, SugarElement.fromDom);\n    const child = (element, index) => {\n      const cs = element.dom.childNodes;\n      return Optional.from(cs[index]).map(SugarElement.fromDom);\n    };\n    const firstChild = element => child(element, 0);\n    const lastChild = element => child(element, element.dom.childNodes.length - 1);\n\n    const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host);\n    const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;\n    const getShadowRoot = e => {\n      const r = getRootNode(e);\n      return isShadowRoot(r) ? Optional.some(r) : Optional.none();\n    };\n    const getShadowHost = e => SugarElement.fromDom(e.dom.host);\n\n    const inBody = element => {\n      const dom = isText(element) ? element.dom.parentNode : element.dom;\n      if (dom === undefined || dom === null || dom.ownerDocument === null) {\n        return false;\n      }\n      const doc = dom.ownerDocument;\n      return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost));\n    };\n\n    var ClosestOrAncestor = (is, ancestor, scope, a, isRoot) => {\n      if (is(scope, a)) {\n        return Optional.some(scope);\n      } else if (isFunction(isRoot) && isRoot(scope)) {\n        return Optional.none();\n      } else {\n        return ancestor(scope, a, isRoot);\n      }\n    };\n\n    const ancestor$3 = (scope, predicate, isRoot) => {\n      let element = scope.dom;\n      const stop = isFunction(isRoot) ? isRoot : never;\n      while (element.parentNode) {\n        element = element.parentNode;\n        const el = SugarElement.fromDom(element);\n        if (predicate(el)) {\n          return Optional.some(el);\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const closest$2 = (scope, predicate, isRoot) => {\n      const is = (s, test) => test(s);\n      return ClosestOrAncestor(is, ancestor$3, scope, predicate, isRoot);\n    };\n\n    const ancestor$2 = (scope, selector, isRoot) => ancestor$3(scope, e => is$1(e, selector), isRoot);\n    const closest$1 = (scope, selector, isRoot) => {\n      const is = (element, selector) => is$1(element, selector);\n      return ClosestOrAncestor(is, ancestor$2, scope, selector, isRoot);\n    };\n\n    const closest = target => closest$1(target, '[contenteditable]');\n    const isEditable = (element, assumeEditable = false) => {\n      if (inBody(element)) {\n        return element.dom.isContentEditable;\n      } else {\n        return closest(element).fold(constant(assumeEditable), editable => getRaw(editable) === 'true');\n      }\n    };\n    const getRaw = element => element.dom.contentEditable;\n\n    const before$1 = (marker, element) => {\n      const parent$1 = parent(marker);\n      parent$1.each(v => {\n        v.dom.insertBefore(element.dom, marker.dom);\n      });\n    };\n    const after = (marker, element) => {\n      const sibling = nextSibling(marker);\n      sibling.fold(() => {\n        const parent$1 = parent(marker);\n        parent$1.each(v => {\n          append$1(v, element);\n        });\n      }, v => {\n        before$1(v, element);\n      });\n    };\n    const prepend = (parent, element) => {\n      const firstChild$1 = firstChild(parent);\n      firstChild$1.fold(() => {\n        append$1(parent, element);\n      }, v => {\n        parent.dom.insertBefore(element.dom, v.dom);\n      });\n    };\n    const append$1 = (parent, element) => {\n      parent.dom.appendChild(element.dom);\n    };\n\n    const before = (marker, elements) => {\n      each$1(elements, x => {\n        before$1(marker, x);\n      });\n    };\n    const append = (parent, elements) => {\n      each$1(elements, x => {\n        append$1(parent, x);\n      });\n    };\n\n    const empty = element => {\n      element.dom.textContent = '';\n      each$1(children(element), rogue => {\n        remove(rogue);\n      });\n    };\n    const remove = element => {\n      const dom = element.dom;\n      if (dom.parentNode !== null) {\n        dom.parentNode.removeChild(dom);\n      }\n    };\n\n    var global$6 = tinymce.util.Tools.resolve('tinymce.dom.RangeUtils');\n\n    var global$5 = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker');\n\n    var global$4 = tinymce.util.Tools.resolve('tinymce.util.VK');\n\n    const fromDom = nodes => map(nodes, SugarElement.fromDom);\n\n    const keys = Object.keys;\n    const each = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n    const objAcc = r => (x, i) => {\n      r[i] = x;\n    };\n    const internalFilter = (obj, pred, onTrue, onFalse) => {\n      each(obj, (x, i) => {\n        (pred(x, i) ? onTrue : onFalse)(x, i);\n      });\n    };\n    const filter = (obj, pred) => {\n      const t = {};\n      internalFilter(obj, pred, objAcc(t), noop);\n      return t;\n    };\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const setAll = (element, attrs) => {\n      const dom = element.dom;\n      each(attrs, (v, k) => {\n        rawSet(dom, k, v);\n      });\n    };\n    const clone$1 = element => foldl(element.dom.attributes, (acc, attr) => {\n      acc[attr.name] = attr.value;\n      return acc;\n    }, {});\n\n    const clone = (original, isDeep) => SugarElement.fromDom(original.dom.cloneNode(isDeep));\n    const deep = original => clone(original, true);\n    const shallowAs = (original, tag) => {\n      const nu = SugarElement.fromTag(tag);\n      const attributes = clone$1(original);\n      setAll(nu, attributes);\n      return nu;\n    };\n    const mutate = (original, tag) => {\n      const nu = shallowAs(original, tag);\n      after(original, nu);\n      const children$1 = children(original);\n      append(nu, children$1);\n      remove(original);\n      return nu;\n    };\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const matchNodeName = name => node => isNonNullable(node) && node.nodeName.toLowerCase() === name;\n    const matchNodeNames = regex => node => isNonNullable(node) && regex.test(node.nodeName);\n    const isTextNode$1 = node => isNonNullable(node) && node.nodeType === 3;\n    const isElement = node => isNonNullable(node) && node.nodeType === 1;\n    const isListNode = matchNodeNames(/^(OL|UL|DL)$/);\n    const isOlUlNode = matchNodeNames(/^(OL|UL)$/);\n    const isOlNode = matchNodeName('ol');\n    const isListItemNode = matchNodeNames(/^(LI|DT|DD)$/);\n    const isDlItemNode = matchNodeNames(/^(DT|DD)$/);\n    const isTableCellNode = matchNodeNames(/^(TH|TD)$/);\n    const isBr = matchNodeName('br');\n    const isFirstChild = node => {\n      var _a;\n      return ((_a = node.parentNode) === null || _a === void 0 ? void 0 : _a.firstChild) === node;\n    };\n    const isTextBlock = (editor, node) => isNonNullable(node) && node.nodeName in editor.schema.getTextBlockElements();\n    const isBlock = (node, blockElements) => isNonNullable(node) && node.nodeName in blockElements;\n    const isVoid = (editor, node) => isNonNullable(node) && node.nodeName in editor.schema.getVoidElements();\n    const isBogusBr = (dom, node) => {\n      if (!isBr(node)) {\n        return false;\n      }\n      return dom.isBlock(node.nextSibling) && !isBr(node.previousSibling);\n    };\n    const isEmpty$2 = (dom, elm, keepBookmarks) => {\n      const empty = dom.isEmpty(elm);\n      if (keepBookmarks && dom.select('span[data-mce-type=bookmark]', elm).length > 0) {\n        return false;\n      }\n      return empty;\n    };\n    const isChildOfBody = (dom, elm) => dom.isChildOf(elm, dom.getRoot());\n\n    const option = name => editor => editor.options.get(name);\n    const register$3 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('lists_indent_on_tab', {\n        processor: 'boolean',\n        default: true\n      });\n    };\n    const shouldIndentOnTab = option('lists_indent_on_tab');\n    const getForcedRootBlock = option('forced_root_block');\n    const getForcedRootBlockAttrs = option('forced_root_block_attrs');\n\n    const createTextBlock = (editor, contentNode) => {\n      const dom = editor.dom;\n      const blockElements = editor.schema.getBlockElements();\n      const fragment = dom.createFragment();\n      const blockName = getForcedRootBlock(editor);\n      const blockAttrs = getForcedRootBlockAttrs(editor);\n      let node;\n      let textBlock;\n      let hasContentNode = false;\n      textBlock = dom.create(blockName, blockAttrs);\n      if (!isBlock(contentNode.firstChild, blockElements)) {\n        fragment.appendChild(textBlock);\n      }\n      while (node = contentNode.firstChild) {\n        const nodeName = node.nodeName;\n        if (!hasContentNode && (nodeName !== 'SPAN' || node.getAttribute('data-mce-type') !== 'bookmark')) {\n          hasContentNode = true;\n        }\n        if (isBlock(node, blockElements)) {\n          fragment.appendChild(node);\n          textBlock = null;\n        } else {\n          if (!textBlock) {\n            textBlock = dom.create(blockName, blockAttrs);\n            fragment.appendChild(textBlock);\n          }\n          textBlock.appendChild(node);\n        }\n      }\n      if (!hasContentNode && textBlock) {\n        textBlock.appendChild(dom.create('br', {\n          'data-mce-bogus': '1'\n        }));\n      }\n      return fragment;\n    };\n\n    const DOM$2 = global$3.DOM;\n    const splitList = (editor, list, li) => {\n      const removeAndKeepBookmarks = targetNode => {\n        const parent = targetNode.parentNode;\n        if (parent) {\n          global$2.each(bookmarks, node => {\n            parent.insertBefore(node, li.parentNode);\n          });\n        }\n        DOM$2.remove(targetNode);\n      };\n      const bookmarks = DOM$2.select('span[data-mce-type=\"bookmark\"]', list);\n      const newBlock = createTextBlock(editor, li);\n      const tmpRng = DOM$2.createRng();\n      tmpRng.setStartAfter(li);\n      tmpRng.setEndAfter(list);\n      const fragment = tmpRng.extractContents();\n      for (let node = fragment.firstChild; node; node = node.firstChild) {\n        if (node.nodeName === 'LI' && editor.dom.isEmpty(node)) {\n          DOM$2.remove(node);\n          break;\n        }\n      }\n      if (!editor.dom.isEmpty(fragment)) {\n        DOM$2.insertAfter(fragment, list);\n      }\n      DOM$2.insertAfter(newBlock, list);\n      const parent = li.parentElement;\n      if (parent && isEmpty$2(editor.dom, parent)) {\n        removeAndKeepBookmarks(parent);\n      }\n      DOM$2.remove(li);\n      if (isEmpty$2(editor.dom, list)) {\n        DOM$2.remove(list);\n      }\n    };\n\n    const isDescriptionDetail = isTag('dd');\n    const isDescriptionTerm = isTag('dt');\n    const outdentDlItem = (editor, item) => {\n      if (isDescriptionDetail(item)) {\n        mutate(item, 'dt');\n      } else if (isDescriptionTerm(item)) {\n        parentElement(item).each(dl => splitList(editor, dl.dom, item.dom));\n      }\n    };\n    const indentDlItem = item => {\n      if (isDescriptionTerm(item)) {\n        mutate(item, 'dd');\n      }\n    };\n    const dlIndentation = (editor, indentation, dlItems) => {\n      if (indentation === 'Indent') {\n        each$1(dlItems, indentDlItem);\n      } else {\n        each$1(dlItems, item => outdentDlItem(editor, item));\n      }\n    };\n\n    const getNormalizedPoint = (container, offset) => {\n      if (isTextNode$1(container)) {\n        return {\n          container,\n          offset\n        };\n      }\n      const node = global$6.getNode(container, offset);\n      if (isTextNode$1(node)) {\n        return {\n          container: node,\n          offset: offset >= container.childNodes.length ? node.data.length : 0\n        };\n      } else if (node.previousSibling && isTextNode$1(node.previousSibling)) {\n        return {\n          container: node.previousSibling,\n          offset: node.previousSibling.data.length\n        };\n      } else if (node.nextSibling && isTextNode$1(node.nextSibling)) {\n        return {\n          container: node.nextSibling,\n          offset: 0\n        };\n      }\n      return {\n        container,\n        offset\n      };\n    };\n    const normalizeRange = rng => {\n      const outRng = rng.cloneRange();\n      const rangeStart = getNormalizedPoint(rng.startContainer, rng.startOffset);\n      outRng.setStart(rangeStart.container, rangeStart.offset);\n      const rangeEnd = getNormalizedPoint(rng.endContainer, rng.endOffset);\n      outRng.setEnd(rangeEnd.container, rangeEnd.offset);\n      return outRng;\n    };\n\n    const listNames = ['OL', 'UL', 'DL'];\n    const listSelector = listNames.join(',');\n    const getParentList = (editor, node) => {\n      const selectionStart = node || editor.selection.getStart(true);\n      return editor.dom.getParent(selectionStart, listSelector, getClosestListHost(editor, selectionStart));\n    };\n    const isParentListSelected = (parentList, selectedBlocks) => isNonNullable(parentList) && selectedBlocks.length === 1 && selectedBlocks[0] === parentList;\n    const findSubLists = parentList => filter$1(parentList.querySelectorAll(listSelector), isListNode);\n    const getSelectedSubLists = editor => {\n      const parentList = getParentList(editor);\n      const selectedBlocks = editor.selection.getSelectedBlocks();\n      if (isParentListSelected(parentList, selectedBlocks)) {\n        return findSubLists(parentList);\n      } else {\n        return filter$1(selectedBlocks, elm => {\n          return isListNode(elm) && parentList !== elm;\n        });\n      }\n    };\n    const findParentListItemsNodes = (editor, elms) => {\n      const listItemsElms = global$2.map(elms, elm => {\n        const parentLi = editor.dom.getParent(elm, 'li,dd,dt', getClosestListHost(editor, elm));\n        return parentLi ? parentLi : elm;\n      });\n      return unique(listItemsElms);\n    };\n    const getSelectedListItems = editor => {\n      const selectedBlocks = editor.selection.getSelectedBlocks();\n      return filter$1(findParentListItemsNodes(editor, selectedBlocks), isListItemNode);\n    };\n    const getSelectedDlItems = editor => filter$1(getSelectedListItems(editor), isDlItemNode);\n    const getClosestEditingHost = (editor, elm) => {\n      const parentTableCell = editor.dom.getParents(elm, 'TD,TH');\n      return parentTableCell.length > 0 ? parentTableCell[0] : editor.getBody();\n    };\n    const isListHost = (schema, node) => !isListNode(node) && !isListItemNode(node) && exists(listNames, listName => schema.isValidChild(node.nodeName, listName));\n    const getClosestListHost = (editor, elm) => {\n      const parentBlocks = editor.dom.getParents(elm, editor.dom.isBlock);\n      const parentBlock = find(parentBlocks, elm => isListHost(editor.schema, elm));\n      return parentBlock.getOr(editor.getBody());\n    };\n    const isListInsideAnLiWithFirstAndLastNotListElement = list => parent(list).exists(parent => isListItemNode(parent.dom) && firstChild(parent).exists(firstChild => !isListNode(firstChild.dom)) && lastChild(parent).exists(lastChild => !isListNode(lastChild.dom)));\n    const findLastParentListNode = (editor, elm) => {\n      const parentLists = editor.dom.getParents(elm, 'ol,ul', getClosestListHost(editor, elm));\n      return last(parentLists);\n    };\n    const getSelectedLists = editor => {\n      const firstList = findLastParentListNode(editor, editor.selection.getStart());\n      const subsequentLists = filter$1(editor.selection.getSelectedBlocks(), isOlUlNode);\n      return firstList.toArray().concat(subsequentLists);\n    };\n    const getParentLists = editor => {\n      const elm = editor.selection.getStart();\n      return editor.dom.getParents(elm, 'ol,ul', getClosestListHost(editor, elm));\n    };\n    const getSelectedListRoots = editor => {\n      const selectedLists = getSelectedLists(editor);\n      const parentLists = getParentLists(editor);\n      return find(parentLists, p => isListInsideAnLiWithFirstAndLastNotListElement(SugarElement.fromDom(p))).fold(() => getUniqueListRoots(editor, selectedLists), l => [l]);\n    };\n    const getUniqueListRoots = (editor, lists) => {\n      const listRoots = map(lists, list => findLastParentListNode(editor, list).getOr(list));\n      return unique(listRoots);\n    };\n\n    const isCustomList = list => /\\btox\\-/.test(list.className);\n    const inList = (parents, listName) => findUntil(parents, isListNode, isTableCellNode).exists(list => list.nodeName === listName && !isCustomList(list));\n    const isWithinNonEditable = (editor, element) => element !== null && !editor.dom.isEditable(element);\n    const selectionIsWithinNonEditableList = editor => {\n      const parentList = getParentList(editor);\n      return isWithinNonEditable(editor, parentList);\n    };\n    const isWithinNonEditableList = (editor, element) => {\n      const parentList = editor.dom.getParent(element, 'ol,ul,dl');\n      return isWithinNonEditable(editor, parentList);\n    };\n    const setNodeChangeHandler = (editor, nodeChangeHandler) => {\n      const initialNode = editor.selection.getNode();\n      nodeChangeHandler({\n        parents: editor.dom.getParents(initialNode),\n        element: initialNode\n      });\n      editor.on('NodeChange', nodeChangeHandler);\n      return () => editor.off('NodeChange', nodeChangeHandler);\n    };\n\n    const fromElements = (elements, scope) => {\n      const doc = scope || document;\n      const fragment = doc.createDocumentFragment();\n      each$1(elements, element => {\n        fragment.appendChild(element.dom);\n      });\n      return SugarElement.fromDom(fragment);\n    };\n\n    const fireListEvent = (editor, action, element) => editor.dispatch('ListMutation', {\n      action,\n      element\n    });\n\n    const blank = r => s => s.replace(r, '');\n    const trim = blank(/^\\s+|\\s+$/g);\n    const isNotEmpty = s => s.length > 0;\n    const isEmpty$1 = s => !isNotEmpty(s);\n\n    const isSupported = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n\n    const internalSet = (dom, property, value) => {\n      if (!isString(value)) {\n        console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);\n        throw new Error('CSS value must be a string: ' + value);\n      }\n      if (isSupported(dom)) {\n        dom.style.setProperty(property, value);\n      }\n    };\n    const set = (element, property, value) => {\n      const dom = element.dom;\n      internalSet(dom, property, value);\n    };\n\n    const isList = el => is(el, 'OL,UL');\n    const isListItem = el => is(el, 'LI');\n    const hasFirstChildList = el => firstChild(el).exists(isList);\n    const hasLastChildList = el => lastChild(el).exists(isList);\n\n    const isEntryList = entry => 'listAttributes' in entry;\n    const isEntryComment = entry => 'isComment' in entry;\n    const isEntryFragment = entry => 'isFragment' in entry;\n    const isIndented = entry => entry.depth > 0;\n    const isSelected = entry => entry.isSelected;\n    const cloneItemContent = li => {\n      const children$1 = children(li);\n      const content = hasLastChildList(li) ? children$1.slice(0, -1) : children$1;\n      return map(content, deep);\n    };\n    const createEntry = (li, depth, isSelected) => parent(li).filter(isElement$1).map(list => ({\n      depth,\n      dirty: false,\n      isSelected,\n      content: cloneItemContent(li),\n      itemAttributes: clone$1(li),\n      listAttributes: clone$1(list),\n      listType: name(list),\n      isInPreviousLi: false\n    }));\n\n    const joinSegment = (parent, child) => {\n      append$1(parent.item, child.list);\n    };\n    const joinSegments = segments => {\n      for (let i = 1; i < segments.length; i++) {\n        joinSegment(segments[i - 1], segments[i]);\n      }\n    };\n    const appendSegments = (head$1, tail) => {\n      lift2(last(head$1), head(tail), joinSegment);\n    };\n    const createSegment = (scope, listType) => {\n      const segment = {\n        list: SugarElement.fromTag(listType, scope),\n        item: SugarElement.fromTag('li', scope)\n      };\n      append$1(segment.list, segment.item);\n      return segment;\n    };\n    const createSegments = (scope, entry, size) => {\n      const segments = [];\n      for (let i = 0; i < size; i++) {\n        segments.push(createSegment(scope, isEntryList(entry) ? entry.listType : entry.parentListType));\n      }\n      return segments;\n    };\n    const populateSegments = (segments, entry) => {\n      for (let i = 0; i < segments.length - 1; i++) {\n        set(segments[i].item, 'list-style-type', 'none');\n      }\n      last(segments).each(segment => {\n        if (isEntryList(entry)) {\n          setAll(segment.list, entry.listAttributes);\n          setAll(segment.item, entry.itemAttributes);\n        }\n        append(segment.item, entry.content);\n      });\n    };\n    const normalizeSegment = (segment, entry) => {\n      if (name(segment.list) !== entry.listType) {\n        segment.list = mutate(segment.list, entry.listType);\n      }\n      setAll(segment.list, entry.listAttributes);\n    };\n    const createItem = (scope, attr, content) => {\n      const item = SugarElement.fromTag('li', scope);\n      setAll(item, attr);\n      append(item, content);\n      return item;\n    };\n    const appendItem = (segment, item) => {\n      append$1(segment.list, item);\n      segment.item = item;\n    };\n    const writeShallow = (scope, cast, entry) => {\n      const newCast = cast.slice(0, entry.depth);\n      last(newCast).each(segment => {\n        if (isEntryList(entry)) {\n          const item = createItem(scope, entry.itemAttributes, entry.content);\n          appendItem(segment, item);\n          normalizeSegment(segment, entry);\n        } else if (isEntryFragment(entry)) {\n          append(segment.item, entry.content);\n        } else {\n          const item = SugarElement.fromHtml(\"<!--\".concat(entry.content, \"-->\"));\n          append$1(segment.list, item);\n        }\n      });\n      return newCast;\n    };\n    const writeDeep = (scope, cast, entry) => {\n      const segments = createSegments(scope, entry, entry.depth - cast.length);\n      joinSegments(segments);\n      populateSegments(segments, entry);\n      appendSegments(cast, segments);\n      return cast.concat(segments);\n    };\n    const composeList = (scope, entries) => {\n      let firstCommentEntryOpt = Optional.none();\n      const cast = foldl(entries, (cast, entry, i) => {\n        if (!isEntryComment(entry)) {\n          return entry.depth > cast.length ? writeDeep(scope, cast, entry) : writeShallow(scope, cast, entry);\n        } else {\n          if (i === 0) {\n            firstCommentEntryOpt = Optional.some(entry);\n            return cast;\n          }\n          return writeShallow(scope, cast, entry);\n        }\n      }, []);\n      firstCommentEntryOpt.each(firstCommentEntry => {\n        const item = SugarElement.fromHtml(\"<!--\".concat(firstCommentEntry.content, \"-->\"));\n        head(cast).each(fistCast => {\n          prepend(fistCast.list, item);\n        });\n      });\n      return head(cast).map(segment => segment.list);\n    };\n\n    const indentEntry = (indentation, entry) => {\n      switch (indentation) {\n        case 'Indent':\n          entry.depth++;\n          break;\n        case 'Outdent':\n          entry.depth--;\n          break;\n        case 'Flatten':\n          entry.depth = 0;\n      }\n      entry.dirty = true;\n    };\n\n    const cloneListProperties = (target, source) => {\n      if (isEntryList(target) && isEntryList(source)) {\n        target.listType = source.listType;\n        target.listAttributes = {\n          ...source.listAttributes\n        };\n      }\n    };\n    const cleanListProperties = entry => {\n      entry.listAttributes = filter(entry.listAttributes, (_value, key) => key !== 'start');\n    };\n    const closestSiblingEntry = (entries, start) => {\n      const depth = entries[start].depth;\n      const matches = entry => entry.depth === depth && !entry.dirty;\n      const until = entry => entry.depth < depth;\n      return findUntil(reverse(entries.slice(0, start)), matches, until).orThunk(() => findUntil(entries.slice(start + 1), matches, until));\n    };\n    const normalizeEntries = entries => {\n      each$1(entries, (entry, i) => {\n        closestSiblingEntry(entries, i).fold(() => {\n          if (entry.dirty && isEntryList(entry)) {\n            cleanListProperties(entry);\n          }\n        }, matchingEntry => cloneListProperties(entry, matchingEntry));\n      });\n      return entries;\n    };\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    const parseSingleItem = (depth, itemSelection, selectionState, item) => {\n      var _a;\n      if (isComment(item)) {\n        return [{\n          depth: depth + 1,\n          content: (_a = item.dom.nodeValue) !== null && _a !== void 0 ? _a : '',\n          dirty: false,\n          isSelected: false,\n          isComment: true\n        }];\n      }\n      itemSelection.each(selection => {\n        if (eq(selection.start, item)) {\n          selectionState.set(true);\n        }\n      });\n      const currentItemEntry = createEntry(item, depth, selectionState.get());\n      itemSelection.each(selection => {\n        if (eq(selection.end, item)) {\n          selectionState.set(false);\n        }\n      });\n      const childListEntries = lastChild(item).filter(isList).map(list => parseList(depth, itemSelection, selectionState, list)).getOr([]);\n      return currentItemEntry.toArray().concat(childListEntries);\n    };\n    const parseItem = (depth, itemSelection, selectionState, item) => firstChild(item).filter(isList).fold(() => parseSingleItem(depth, itemSelection, selectionState, item), list => {\n      const parsedSiblings = foldl(children(item), (acc, liChild, i) => {\n        if (i === 0) {\n          return acc;\n        } else {\n          if (isListItem(liChild)) {\n            return acc.concat(parseSingleItem(depth, itemSelection, selectionState, liChild));\n          } else {\n            const fragment = {\n              isFragment: true,\n              depth,\n              content: [liChild],\n              isSelected: false,\n              dirty: false,\n              parentListType: name(list)\n            };\n            return acc.concat(fragment);\n          }\n        }\n      }, []);\n      return parseList(depth, itemSelection, selectionState, list).concat(parsedSiblings);\n    });\n    const parseList = (depth, itemSelection, selectionState, list) => bind(children(list), element => {\n      const parser = isList(element) ? parseList : parseItem;\n      const newDepth = depth + 1;\n      return parser(newDepth, itemSelection, selectionState, element);\n    });\n    const parseLists = (lists, itemSelection) => {\n      const selectionState = Cell(false);\n      const initialDepth = 0;\n      return map(lists, list => ({\n        sourceList: list,\n        entries: parseList(initialDepth, itemSelection, selectionState, list)\n      }));\n    };\n\n    const outdentedComposer = (editor, entries) => {\n      const normalizedEntries = normalizeEntries(entries);\n      return map(normalizedEntries, entry => {\n        const content = !isEntryComment(entry) ? fromElements(entry.content) : fromElements([SugarElement.fromHtml(\"<!--\".concat(entry.content, \"-->\"))]);\n        return SugarElement.fromDom(createTextBlock(editor, content.dom));\n      });\n    };\n    const indentedComposer = (editor, entries) => {\n      const normalizedEntries = normalizeEntries(entries);\n      return composeList(editor.contentDocument, normalizedEntries).toArray();\n    };\n    const composeEntries = (editor, entries) => bind(groupBy(entries, isIndented), entries => {\n      const groupIsIndented = head(entries).exists(isIndented);\n      return groupIsIndented ? indentedComposer(editor, entries) : outdentedComposer(editor, entries);\n    });\n    const indentSelectedEntries = (entries, indentation) => {\n      each$1(filter$1(entries, isSelected), entry => indentEntry(indentation, entry));\n    };\n    const getItemSelection = editor => {\n      const selectedListItems = map(getSelectedListItems(editor), SugarElement.fromDom);\n      return lift2(find(selectedListItems, not(hasFirstChildList)), find(reverse(selectedListItems), not(hasFirstChildList)), (start, end) => ({\n        start,\n        end\n      }));\n    };\n    const listIndentation = (editor, lists, indentation) => {\n      const entrySets = parseLists(lists, getItemSelection(editor));\n      each$1(entrySets, entrySet => {\n        indentSelectedEntries(entrySet.entries, indentation);\n        const composedLists = composeEntries(editor, entrySet.entries);\n        each$1(composedLists, composedList => {\n          fireListEvent(editor, indentation === 'Indent' ? 'IndentList' : 'OutdentList', composedList.dom);\n        });\n        before(entrySet.sourceList, composedLists);\n        remove(entrySet.sourceList);\n      });\n    };\n\n    const selectionIndentation = (editor, indentation) => {\n      const lists = fromDom(getSelectedListRoots(editor));\n      const dlItems = fromDom(getSelectedDlItems(editor));\n      let isHandled = false;\n      if (lists.length || dlItems.length) {\n        const bookmark = editor.selection.getBookmark();\n        listIndentation(editor, lists, indentation);\n        dlIndentation(editor, indentation, dlItems);\n        editor.selection.moveToBookmark(bookmark);\n        editor.selection.setRng(normalizeRange(editor.selection.getRng()));\n        editor.nodeChanged();\n        isHandled = true;\n      }\n      return isHandled;\n    };\n    const handleIndentation = (editor, indentation) => !selectionIsWithinNonEditableList(editor) && selectionIndentation(editor, indentation);\n    const indentListSelection = editor => handleIndentation(editor, 'Indent');\n    const outdentListSelection = editor => handleIndentation(editor, 'Outdent');\n    const flattenListSelection = editor => handleIndentation(editor, 'Flatten');\n\n    const zeroWidth = '\\uFEFF';\n    const isZwsp = char => char === zeroWidth;\n\n    const ancestor$1 = (scope, predicate, isRoot) => ancestor$3(scope, predicate, isRoot).isSome();\n\n    const ancestor = (element, target) => ancestor$1(element, curry(eq, target));\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.dom.BookmarkManager');\n\n    const DOM$1 = global$3.DOM;\n    const createBookmark = rng => {\n      const bookmark = {};\n      const setupEndPoint = start => {\n        let container = rng[start ? 'startContainer' : 'endContainer'];\n        let offset = rng[start ? 'startOffset' : 'endOffset'];\n        if (isElement(container)) {\n          const offsetNode = DOM$1.create('span', {\n            'data-mce-type': 'bookmark'\n          });\n          if (container.hasChildNodes()) {\n            offset = Math.min(offset, container.childNodes.length - 1);\n            if (start) {\n              container.insertBefore(offsetNode, container.childNodes[offset]);\n            } else {\n              DOM$1.insertAfter(offsetNode, container.childNodes[offset]);\n            }\n          } else {\n            container.appendChild(offsetNode);\n          }\n          container = offsetNode;\n          offset = 0;\n        }\n        bookmark[start ? 'startContainer' : 'endContainer'] = container;\n        bookmark[start ? 'startOffset' : 'endOffset'] = offset;\n      };\n      setupEndPoint(true);\n      if (!rng.collapsed) {\n        setupEndPoint();\n      }\n      return bookmark;\n    };\n    const resolveBookmark = bookmark => {\n      const restoreEndPoint = start => {\n        const nodeIndex = container => {\n          var _a;\n          let node = (_a = container.parentNode) === null || _a === void 0 ? void 0 : _a.firstChild;\n          let idx = 0;\n          while (node) {\n            if (node === container) {\n              return idx;\n            }\n            if (!isElement(node) || node.getAttribute('data-mce-type') !== 'bookmark') {\n              idx++;\n            }\n            node = node.nextSibling;\n          }\n          return -1;\n        };\n        let container = bookmark[start ? 'startContainer' : 'endContainer'];\n        let offset = bookmark[start ? 'startOffset' : 'endOffset'];\n        if (!container) {\n          return;\n        }\n        if (isElement(container) && container.parentNode) {\n          const node = container;\n          offset = nodeIndex(container);\n          container = container.parentNode;\n          DOM$1.remove(node);\n          if (!container.hasChildNodes() && DOM$1.isBlock(container)) {\n            container.appendChild(DOM$1.create('br'));\n          }\n        }\n        bookmark[start ? 'startContainer' : 'endContainer'] = container;\n        bookmark[start ? 'startOffset' : 'endOffset'] = offset;\n      };\n      restoreEndPoint(true);\n      restoreEndPoint();\n      const rng = DOM$1.createRng();\n      rng.setStart(bookmark.startContainer, bookmark.startOffset);\n      if (bookmark.endContainer) {\n        rng.setEnd(bookmark.endContainer, bookmark.endOffset);\n      }\n      return normalizeRange(rng);\n    };\n\n    const listToggleActionFromListName = listName => {\n      switch (listName) {\n        case 'UL':\n          return 'ToggleUlList';\n        case 'OL':\n          return 'ToggleOlList';\n        case 'DL':\n          return 'ToggleDLList';\n      }\n    };\n\n    const updateListStyle = (dom, el, detail) => {\n      const type = detail['list-style-type'] ? detail['list-style-type'] : null;\n      dom.setStyle(el, 'list-style-type', type);\n    };\n    const setAttribs = (elm, attrs) => {\n      global$2.each(attrs, (value, key) => {\n        elm.setAttribute(key, value);\n      });\n    };\n    const updateListAttrs = (dom, el, detail) => {\n      setAttribs(el, detail['list-attributes']);\n      global$2.each(dom.select('li', el), li => {\n        setAttribs(li, detail['list-item-attributes']);\n      });\n    };\n    const updateListWithDetails = (dom, el, detail) => {\n      updateListStyle(dom, el, detail);\n      updateListAttrs(dom, el, detail);\n    };\n    const removeStyles = (dom, element, styles) => {\n      global$2.each(styles, style => dom.setStyle(element, style, ''));\n    };\n    const isInline = (editor, node) => isNonNullable(node) && !isBlock(node, editor.schema.getBlockElements());\n    const getEndPointNode = (editor, rng, start, root) => {\n      let container = rng[start ? 'startContainer' : 'endContainer'];\n      const offset = rng[start ? 'startOffset' : 'endOffset'];\n      if (isElement(container)) {\n        container = container.childNodes[Math.min(offset, container.childNodes.length - 1)] || container;\n      }\n      if (!start && isBr(container.nextSibling)) {\n        container = container.nextSibling;\n      }\n      const findBlockAncestor = node => {\n        while (!editor.dom.isBlock(node) && node.parentNode && root !== node) {\n          node = node.parentNode;\n        }\n        return node;\n      };\n      const findBetterContainer = (container, forward) => {\n        var _a;\n        const walker = new global$5(container, findBlockAncestor(container));\n        const dir = forward ? 'next' : 'prev';\n        let node;\n        while (node = walker[dir]()) {\n          if (!(isVoid(editor, node) || isZwsp(node.textContent) || ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.length) === 0)) {\n            return Optional.some(node);\n          }\n        }\n        return Optional.none();\n      };\n      if (start && isTextNode$1(container)) {\n        if (isZwsp(container.textContent)) {\n          container = findBetterContainer(container, false).getOr(container);\n        } else {\n          if (container.parentNode !== null && isInline(editor, container.parentNode)) {\n            container = container.parentNode;\n          }\n          while (container.previousSibling !== null && (isInline(editor, container.previousSibling) || isTextNode$1(container.previousSibling))) {\n            container = container.previousSibling;\n          }\n        }\n      }\n      if (!start && isTextNode$1(container)) {\n        if (isZwsp(container.textContent)) {\n          container = findBetterContainer(container, true).getOr(container);\n        } else {\n          if (container.parentNode !== null && isInline(editor, container.parentNode)) {\n            container = container.parentNode;\n          }\n          while (container.nextSibling !== null && (isInline(editor, container.nextSibling) || isTextNode$1(container.nextSibling))) {\n            container = container.nextSibling;\n          }\n        }\n      }\n      while (container.parentNode !== root) {\n        const parent = container.parentNode;\n        if (isTextBlock(editor, container)) {\n          return container;\n        }\n        if (/^(TD|TH)$/.test(parent.nodeName)) {\n          return container;\n        }\n        container = parent;\n      }\n      return container;\n    };\n    const getSelectedTextBlocks = (editor, rng, root) => {\n      const textBlocks = [];\n      const dom = editor.dom;\n      const startNode = getEndPointNode(editor, rng, true, root);\n      const endNode = getEndPointNode(editor, rng, false, root);\n      let block;\n      const siblings = [];\n      for (let node = startNode; node; node = node.nextSibling) {\n        siblings.push(node);\n        if (node === endNode) {\n          break;\n        }\n      }\n      global$2.each(siblings, node => {\n        var _a;\n        if (isTextBlock(editor, node)) {\n          textBlocks.push(node);\n          block = null;\n          return;\n        }\n        if (dom.isBlock(node) || isBr(node)) {\n          if (isBr(node)) {\n            dom.remove(node);\n          }\n          block = null;\n          return;\n        }\n        const nextSibling = node.nextSibling;\n        if (global$1.isBookmarkNode(node)) {\n          if (isListNode(nextSibling) || isTextBlock(editor, nextSibling) || !nextSibling && node.parentNode === root) {\n            block = null;\n            return;\n          }\n        }\n        if (!block) {\n          block = dom.create('p');\n          (_a = node.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(block, node);\n          textBlocks.push(block);\n        }\n        block.appendChild(node);\n      });\n      return textBlocks;\n    };\n    const hasCompatibleStyle = (dom, sib, detail) => {\n      const sibStyle = dom.getStyle(sib, 'list-style-type');\n      let detailStyle = detail ? detail['list-style-type'] : '';\n      detailStyle = detailStyle === null ? '' : detailStyle;\n      return sibStyle === detailStyle;\n    };\n    const getRootSearchStart = (editor, range) => {\n      const start = editor.selection.getStart(true);\n      const startPoint = getEndPointNode(editor, range, true, editor.getBody());\n      if (ancestor(SugarElement.fromDom(startPoint), SugarElement.fromDom(range.commonAncestorContainer))) {\n        return range.commonAncestorContainer;\n      } else {\n        return start;\n      }\n    };\n    const applyList = (editor, listName, detail) => {\n      const rng = editor.selection.getRng();\n      let listItemName = 'LI';\n      const root = getClosestListHost(editor, getRootSearchStart(editor, rng));\n      const dom = editor.dom;\n      if (dom.getContentEditable(editor.selection.getNode()) === 'false') {\n        return;\n      }\n      listName = listName.toUpperCase();\n      if (listName === 'DL') {\n        listItemName = 'DT';\n      }\n      const bookmark = createBookmark(rng);\n      const selectedTextBlocks = filter$1(getSelectedTextBlocks(editor, rng, root), editor.dom.isEditable);\n      global$2.each(selectedTextBlocks, block => {\n        let listBlock;\n        const sibling = block.previousSibling;\n        const parent = block.parentNode;\n        if (!isListItemNode(parent)) {\n          if (sibling && isListNode(sibling) && sibling.nodeName === listName && hasCompatibleStyle(dom, sibling, detail)) {\n            listBlock = sibling;\n            block = dom.rename(block, listItemName);\n            sibling.appendChild(block);\n          } else {\n            listBlock = dom.create(listName);\n            parent.insertBefore(listBlock, block);\n            listBlock.appendChild(block);\n            block = dom.rename(block, listItemName);\n          }\n          removeStyles(dom, block, ['margin', 'margin-right', 'margin-bottom', 'margin-left', 'margin-top', 'padding', 'padding-right', 'padding-bottom', 'padding-left', 'padding-top']);\n          updateListWithDetails(dom, listBlock, detail);\n          mergeWithAdjacentLists(editor.dom, listBlock);\n        }\n      });\n      editor.selection.setRng(resolveBookmark(bookmark));\n    };\n    const isValidLists = (list1, list2) => {\n      return isListNode(list1) && list1.nodeName === (list2 === null || list2 === void 0 ? void 0 : list2.nodeName);\n    };\n    const hasSameListStyle = (dom, list1, list2) => {\n      const targetStyle = dom.getStyle(list1, 'list-style-type', true);\n      const style = dom.getStyle(list2, 'list-style-type', true);\n      return targetStyle === style;\n    };\n    const hasSameClasses = (elm1, elm2) => {\n      return elm1.className === elm2.className;\n    };\n    const shouldMerge = (dom, list1, list2) => {\n      return isValidLists(list1, list2) && hasSameListStyle(dom, list1, list2) && hasSameClasses(list1, list2);\n    };\n    const mergeWithAdjacentLists = (dom, listBlock) => {\n      let node;\n      let sibling = listBlock.nextSibling;\n      if (shouldMerge(dom, listBlock, sibling)) {\n        const liSibling = sibling;\n        while (node = liSibling.firstChild) {\n          listBlock.appendChild(node);\n        }\n        dom.remove(liSibling);\n      }\n      sibling = listBlock.previousSibling;\n      if (shouldMerge(dom, listBlock, sibling)) {\n        const liSibling = sibling;\n        while (node = liSibling.lastChild) {\n          listBlock.insertBefore(node, listBlock.firstChild);\n        }\n        dom.remove(liSibling);\n      }\n    };\n    const updateList$1 = (editor, list, listName, detail) => {\n      if (list.nodeName !== listName) {\n        const newList = editor.dom.rename(list, listName);\n        updateListWithDetails(editor.dom, newList, detail);\n        fireListEvent(editor, listToggleActionFromListName(listName), newList);\n      } else {\n        updateListWithDetails(editor.dom, list, detail);\n        fireListEvent(editor, listToggleActionFromListName(listName), list);\n      }\n    };\n    const updateCustomList = (editor, list, listName, detail) => {\n      list.classList.forEach((cls, _, classList) => {\n        if (cls.startsWith('tox-')) {\n          classList.remove(cls);\n          if (classList.length === 0) {\n            list.removeAttribute('class');\n          }\n        }\n      });\n      if (list.nodeName !== listName) {\n        const newList = editor.dom.rename(list, listName);\n        updateListWithDetails(editor.dom, newList, detail);\n        fireListEvent(editor, listToggleActionFromListName(listName), newList);\n      } else {\n        updateListWithDetails(editor.dom, list, detail);\n        fireListEvent(editor, listToggleActionFromListName(listName), list);\n      }\n    };\n    const toggleMultipleLists = (editor, parentList, lists, listName, detail) => {\n      const parentIsList = isListNode(parentList);\n      if (parentIsList && parentList.nodeName === listName && !hasListStyleDetail(detail) && !isCustomList(parentList)) {\n        flattenListSelection(editor);\n      } else {\n        applyList(editor, listName, detail);\n        const bookmark = createBookmark(editor.selection.getRng());\n        const allLists = parentIsList ? [parentList, ...lists] : lists;\n        const updateFunction = parentIsList && isCustomList(parentList) ? updateCustomList : updateList$1;\n        global$2.each(allLists, elm => {\n          updateFunction(editor, elm, listName, detail);\n        });\n        editor.selection.setRng(resolveBookmark(bookmark));\n      }\n    };\n    const hasListStyleDetail = detail => {\n      return 'list-style-type' in detail;\n    };\n    const toggleSingleList = (editor, parentList, listName, detail) => {\n      if (parentList === editor.getBody()) {\n        return;\n      }\n      if (parentList) {\n        if (parentList.nodeName === listName && !hasListStyleDetail(detail) && !isCustomList(parentList)) {\n          flattenListSelection(editor);\n        } else {\n          const bookmark = createBookmark(editor.selection.getRng());\n          if (isCustomList(parentList)) {\n            parentList.classList.forEach((cls, _, classList) => {\n              if (cls.startsWith('tox-')) {\n                classList.remove(cls);\n                if (classList.length === 0) {\n                  parentList.removeAttribute('class');\n                }\n              }\n            });\n          }\n          updateListWithDetails(editor.dom, parentList, detail);\n          const newList = editor.dom.rename(parentList, listName);\n          mergeWithAdjacentLists(editor.dom, newList);\n          editor.selection.setRng(resolveBookmark(bookmark));\n          applyList(editor, listName, detail);\n          fireListEvent(editor, listToggleActionFromListName(listName), newList);\n        }\n      } else {\n        applyList(editor, listName, detail);\n        fireListEvent(editor, listToggleActionFromListName(listName), parentList);\n      }\n    };\n    const toggleList = (editor, listName, _detail) => {\n      const parentList = getParentList(editor);\n      if (isWithinNonEditableList(editor, parentList)) {\n        return;\n      }\n      const selectedSubLists = getSelectedSubLists(editor);\n      const detail = isObject(_detail) ? _detail : {};\n      if (selectedSubLists.length > 0) {\n        toggleMultipleLists(editor, parentList, selectedSubLists, listName, detail);\n      } else {\n        toggleSingleList(editor, parentList, listName, detail);\n      }\n    };\n\n    const DOM = global$3.DOM;\n    const normalizeList = (dom, list) => {\n      const parentNode = list.parentElement;\n      if (parentNode && parentNode.nodeName === 'LI' && parentNode.firstChild === list) {\n        const sibling = parentNode.previousSibling;\n        if (sibling && sibling.nodeName === 'LI') {\n          sibling.appendChild(list);\n          if (isEmpty$2(dom, parentNode)) {\n            DOM.remove(parentNode);\n          }\n        } else {\n          DOM.setStyle(parentNode, 'listStyleType', 'none');\n        }\n      }\n      if (isListNode(parentNode)) {\n        const sibling = parentNode.previousSibling;\n        if (sibling && sibling.nodeName === 'LI') {\n          sibling.appendChild(list);\n        }\n      }\n    };\n    const normalizeLists = (dom, element) => {\n      const lists = global$2.grep(dom.select('ol,ul', element));\n      global$2.each(lists, list => {\n        normalizeList(dom, list);\n      });\n    };\n\n    const findNextCaretContainer = (editor, rng, isForward, root) => {\n      let node = rng.startContainer;\n      const offset = rng.startOffset;\n      if (isTextNode$1(node) && (isForward ? offset < node.data.length : offset > 0)) {\n        return node;\n      }\n      const nonEmptyBlocks = editor.schema.getNonEmptyElements();\n      if (isElement(node)) {\n        node = global$6.getNode(node, offset);\n      }\n      const walker = new global$5(node, root);\n      if (isForward) {\n        if (isBogusBr(editor.dom, node)) {\n          walker.next();\n        }\n      }\n      const walkFn = isForward ? walker.next.bind(walker) : walker.prev2.bind(walker);\n      while (node = walkFn()) {\n        if (node.nodeName === 'LI' && !node.hasChildNodes()) {\n          return node;\n        }\n        if (nonEmptyBlocks[node.nodeName]) {\n          return node;\n        }\n        if (isTextNode$1(node) && node.data.length > 0) {\n          return node;\n        }\n      }\n      return null;\n    };\n    const hasOnlyOneBlockChild = (dom, elm) => {\n      const childNodes = elm.childNodes;\n      return childNodes.length === 1 && !isListNode(childNodes[0]) && dom.isBlock(childNodes[0]);\n    };\n    const isUnwrappable = node => Optional.from(node).map(SugarElement.fromDom).filter(isHTMLElement).exists(el => isEditable(el) && !contains$1(['details'], name(el)));\n    const unwrapSingleBlockChild = (dom, elm) => {\n      if (hasOnlyOneBlockChild(dom, elm) && isUnwrappable(elm.firstChild)) {\n        dom.remove(elm.firstChild, true);\n      }\n    };\n    const moveChildren = (dom, fromElm, toElm) => {\n      let node;\n      const targetElm = hasOnlyOneBlockChild(dom, toElm) ? toElm.firstChild : toElm;\n      unwrapSingleBlockChild(dom, fromElm);\n      if (!isEmpty$2(dom, fromElm, true)) {\n        while (node = fromElm.firstChild) {\n          targetElm.appendChild(node);\n        }\n      }\n    };\n    const mergeLiElements = (dom, fromElm, toElm) => {\n      let listNode;\n      const ul = fromElm.parentNode;\n      if (!isChildOfBody(dom, fromElm) || !isChildOfBody(dom, toElm)) {\n        return;\n      }\n      if (isListNode(toElm.lastChild)) {\n        listNode = toElm.lastChild;\n      }\n      if (ul === toElm.lastChild) {\n        if (isBr(ul.previousSibling)) {\n          dom.remove(ul.previousSibling);\n        }\n      }\n      const node = toElm.lastChild;\n      if (node && isBr(node) && fromElm.hasChildNodes()) {\n        dom.remove(node);\n      }\n      if (isEmpty$2(dom, toElm, true)) {\n        empty(SugarElement.fromDom(toElm));\n      }\n      moveChildren(dom, fromElm, toElm);\n      if (listNode) {\n        toElm.appendChild(listNode);\n      }\n      const contains$1 = contains(SugarElement.fromDom(toElm), SugarElement.fromDom(fromElm));\n      const nestedLists = contains$1 ? dom.getParents(fromElm, isListNode, toElm) : [];\n      dom.remove(fromElm);\n      each$1(nestedLists, list => {\n        if (isEmpty$2(dom, list) && list !== dom.getRoot()) {\n          dom.remove(list);\n        }\n      });\n    };\n    const mergeIntoEmptyLi = (editor, fromLi, toLi) => {\n      empty(SugarElement.fromDom(toLi));\n      mergeLiElements(editor.dom, fromLi, toLi);\n      editor.selection.setCursorLocation(toLi, 0);\n    };\n    const mergeForward = (editor, rng, fromLi, toLi) => {\n      const dom = editor.dom;\n      if (dom.isEmpty(toLi)) {\n        mergeIntoEmptyLi(editor, fromLi, toLi);\n      } else {\n        const bookmark = createBookmark(rng);\n        mergeLiElements(dom, fromLi, toLi);\n        editor.selection.setRng(resolveBookmark(bookmark));\n      }\n    };\n    const mergeBackward = (editor, rng, fromLi, toLi) => {\n      const bookmark = createBookmark(rng);\n      mergeLiElements(editor.dom, fromLi, toLi);\n      const resolvedBookmark = resolveBookmark(bookmark);\n      editor.selection.setRng(resolvedBookmark);\n    };\n    const backspaceDeleteFromListToListCaret = (editor, isForward) => {\n      const dom = editor.dom,\n        selection = editor.selection;\n      const selectionStartElm = selection.getStart();\n      const root = getClosestEditingHost(editor, selectionStartElm);\n      const li = dom.getParent(selection.getStart(), 'LI', root);\n      if (li) {\n        const ul = li.parentElement;\n        if (ul === editor.getBody() && isEmpty$2(dom, ul)) {\n          return true;\n        }\n        const rng = normalizeRange(selection.getRng());\n        const otherLi = dom.getParent(findNextCaretContainer(editor, rng, isForward, root), 'LI', root);\n        const willMergeParentIntoChild = otherLi && (isForward ? dom.isChildOf(li, otherLi) : dom.isChildOf(otherLi, li));\n        if (otherLi && otherLi !== li && !willMergeParentIntoChild) {\n          editor.undoManager.transact(() => {\n            if (isForward) {\n              mergeForward(editor, rng, otherLi, li);\n            } else {\n              if (isFirstChild(li)) {\n                outdentListSelection(editor);\n              } else {\n                mergeBackward(editor, rng, li, otherLi);\n              }\n            }\n          });\n          return true;\n        } else if (willMergeParentIntoChild && !isForward && otherLi !== li) {\n          editor.undoManager.transact(() => {\n            if (rng.commonAncestorContainer.parentElement) {\n              const bookmark = createBookmark(rng);\n              const oldParentElRef = rng.commonAncestorContainer.parentElement;\n              moveChildren(dom, rng.commonAncestorContainer.parentElement, otherLi);\n              oldParentElRef.remove();\n              const resolvedBookmark = resolveBookmark(bookmark);\n              editor.selection.setRng(resolvedBookmark);\n            }\n          });\n          return true;\n        } else if (!otherLi) {\n          if (!isForward && rng.startOffset === 0 && rng.endOffset === 0) {\n            editor.undoManager.transact(() => {\n              flattenListSelection(editor);\n            });\n            return true;\n          }\n        }\n      }\n      return false;\n    };\n    const removeBlock = (dom, block, root) => {\n      const parentBlock = dom.getParent(block.parentNode, dom.isBlock, root);\n      dom.remove(block);\n      if (parentBlock && dom.isEmpty(parentBlock)) {\n        dom.remove(parentBlock);\n      }\n    };\n    const backspaceDeleteIntoListCaret = (editor, isForward) => {\n      const dom = editor.dom;\n      const selectionStartElm = editor.selection.getStart();\n      const root = getClosestEditingHost(editor, selectionStartElm);\n      const block = dom.getParent(selectionStartElm, dom.isBlock, root);\n      if (block && dom.isEmpty(block)) {\n        const rng = normalizeRange(editor.selection.getRng());\n        const otherLi = dom.getParent(findNextCaretContainer(editor, rng, isForward, root), 'LI', root);\n        if (otherLi) {\n          const findValidElement = element => contains$1(['td', 'th', 'caption'], name(element));\n          const findRoot = node => node.dom === root;\n          const otherLiCell = closest$2(SugarElement.fromDom(otherLi), findValidElement, findRoot);\n          const caretCell = closest$2(SugarElement.fromDom(rng.startContainer), findValidElement, findRoot);\n          if (!equals(otherLiCell, caretCell, eq)) {\n            return false;\n          }\n          editor.undoManager.transact(() => {\n            const parentNode = otherLi.parentNode;\n            removeBlock(dom, block, root);\n            mergeWithAdjacentLists(dom, parentNode);\n            editor.selection.select(otherLi, true);\n            editor.selection.collapse(isForward);\n          });\n          return true;\n        }\n      }\n      return false;\n    };\n    const backspaceDeleteCaret = (editor, isForward) => {\n      return backspaceDeleteFromListToListCaret(editor, isForward) || backspaceDeleteIntoListCaret(editor, isForward);\n    };\n    const hasListSelection = editor => {\n      const selectionStartElm = editor.selection.getStart();\n      const root = getClosestEditingHost(editor, selectionStartElm);\n      const startListParent = editor.dom.getParent(selectionStartElm, 'LI,DT,DD', root);\n      return startListParent || getSelectedListItems(editor).length > 0;\n    };\n    const backspaceDeleteRange = editor => {\n      if (hasListSelection(editor)) {\n        editor.undoManager.transact(() => {\n          editor.execCommand('Delete');\n          normalizeLists(editor.dom, editor.getBody());\n        });\n        return true;\n      }\n      return false;\n    };\n    const backspaceDelete = (editor, isForward) => {\n      const selection = editor.selection;\n      return !isWithinNonEditableList(editor, selection.getNode()) && (selection.isCollapsed() ? backspaceDeleteCaret(editor, isForward) : backspaceDeleteRange(editor));\n    };\n    const setup$2 = editor => {\n      editor.on('ExecCommand', e => {\n        const cmd = e.command.toLowerCase();\n        if ((cmd === 'delete' || cmd === 'forwarddelete') && hasListSelection(editor)) {\n          normalizeLists(editor.dom, editor.getBody());\n        }\n      });\n      editor.on('keydown', e => {\n        if (e.keyCode === global$4.BACKSPACE) {\n          if (backspaceDelete(editor, false)) {\n            e.preventDefault();\n          }\n        } else if (e.keyCode === global$4.DELETE) {\n          if (backspaceDelete(editor, true)) {\n            e.preventDefault();\n          }\n        }\n      });\n    };\n\n    const get = editor => ({\n      backspaceDelete: isForward => {\n        backspaceDelete(editor, isForward);\n      }\n    });\n\n    const updateList = (editor, update) => {\n      const parentList = getParentList(editor);\n      if (parentList === null || isWithinNonEditableList(editor, parentList)) {\n        return;\n      }\n      editor.undoManager.transact(() => {\n        if (isObject(update.styles)) {\n          editor.dom.setStyles(parentList, update.styles);\n        }\n        if (isObject(update.attrs)) {\n          each(update.attrs, (v, k) => editor.dom.setAttrib(parentList, k, v));\n        }\n      });\n    };\n\n    const parseAlphabeticBase26 = str => {\n      const chars = reverse(trim(str).split(''));\n      const values = map(chars, (char, i) => {\n        const charValue = char.toUpperCase().charCodeAt(0) - 'A'.charCodeAt(0) + 1;\n        return Math.pow(26, i) * charValue;\n      });\n      return foldl(values, (sum, v) => sum + v, 0);\n    };\n    const composeAlphabeticBase26 = value => {\n      value--;\n      if (value < 0) {\n        return '';\n      } else {\n        const remainder = value % 26;\n        const quotient = Math.floor(value / 26);\n        const rest = composeAlphabeticBase26(quotient);\n        const char = String.fromCharCode('A'.charCodeAt(0) + remainder);\n        return rest + char;\n      }\n    };\n    const isUppercase = str => /^[A-Z]+$/.test(str);\n    const isLowercase = str => /^[a-z]+$/.test(str);\n    const isNumeric = str => /^[0-9]+$/.test(str);\n    const deduceListType = start => {\n      if (isNumeric(start)) {\n        return 2;\n      } else if (isUppercase(start)) {\n        return 0;\n      } else if (isLowercase(start)) {\n        return 1;\n      } else if (isEmpty$1(start)) {\n        return 3;\n      } else {\n        return 4;\n      }\n    };\n    const parseStartValue = start => {\n      switch (deduceListType(start)) {\n        case 2:\n          return Optional.some({\n            listStyleType: Optional.none(),\n            start\n          });\n        case 0:\n          return Optional.some({\n            listStyleType: Optional.some('upper-alpha'),\n            start: parseAlphabeticBase26(start).toString()\n          });\n        case 1:\n          return Optional.some({\n            listStyleType: Optional.some('lower-alpha'),\n            start: parseAlphabeticBase26(start).toString()\n          });\n        case 3:\n          return Optional.some({\n            listStyleType: Optional.none(),\n            start: ''\n          });\n        case 4:\n          return Optional.none();\n      }\n    };\n    const parseDetail = detail => {\n      const start = parseInt(detail.start, 10);\n      if (is$2(detail.listStyleType, 'upper-alpha')) {\n        return composeAlphabeticBase26(start);\n      } else if (is$2(detail.listStyleType, 'lower-alpha')) {\n        return composeAlphabeticBase26(start).toLowerCase();\n      } else {\n        return detail.start;\n      }\n    };\n\n    const open = editor => {\n      const currentList = getParentList(editor);\n      if (!isOlNode(currentList) || isWithinNonEditableList(editor, currentList)) {\n        return;\n      }\n      editor.windowManager.open({\n        title: 'List Properties',\n        body: {\n          type: 'panel',\n          items: [{\n            type: 'input',\n            name: 'start',\n            label: 'Start list at number',\n            inputMode: 'numeric'\n          }]\n        },\n        initialData: {\n          start: parseDetail({\n            start: editor.dom.getAttrib(currentList, 'start', '1'),\n            listStyleType: Optional.from(editor.dom.getStyle(currentList, 'list-style-type'))\n          })\n        },\n        buttons: [{\n          type: 'cancel',\n          name: 'cancel',\n          text: 'Cancel'\n        }, {\n          type: 'submit',\n          name: 'save',\n          text: 'Save',\n          primary: true\n        }],\n        onSubmit: api => {\n          const data = api.getData();\n          parseStartValue(data.start).each(detail => {\n            editor.execCommand('mceListUpdate', false, {\n              attrs: {\n                start: detail.start === '1' ? '' : detail.start\n              },\n              styles: {\n                'list-style-type': detail.listStyleType.getOr('')\n              }\n            });\n          });\n          api.close();\n        }\n      });\n    };\n\n    const queryListCommandState = (editor, listName) => () => {\n      const parentList = getParentList(editor);\n      return isNonNullable(parentList) && parentList.nodeName === listName;\n    };\n    const registerDialog = editor => {\n      editor.addCommand('mceListProps', () => {\n        open(editor);\n      });\n    };\n    const register$2 = editor => {\n      editor.on('BeforeExecCommand', e => {\n        const cmd = e.command.toLowerCase();\n        if (cmd === 'indent') {\n          indentListSelection(editor);\n        } else if (cmd === 'outdent') {\n          outdentListSelection(editor);\n        }\n      });\n      editor.addCommand('InsertUnorderedList', (ui, detail) => {\n        toggleList(editor, 'UL', detail);\n      });\n      editor.addCommand('InsertOrderedList', (ui, detail) => {\n        toggleList(editor, 'OL', detail);\n      });\n      editor.addCommand('InsertDefinitionList', (ui, detail) => {\n        toggleList(editor, 'DL', detail);\n      });\n      editor.addCommand('RemoveList', () => {\n        flattenListSelection(editor);\n      });\n      registerDialog(editor);\n      editor.addCommand('mceListUpdate', (ui, detail) => {\n        if (isObject(detail)) {\n          updateList(editor, detail);\n        }\n      });\n      editor.addQueryStateHandler('InsertUnorderedList', queryListCommandState(editor, 'UL'));\n      editor.addQueryStateHandler('InsertOrderedList', queryListCommandState(editor, 'OL'));\n      editor.addQueryStateHandler('InsertDefinitionList', queryListCommandState(editor, 'DL'));\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.html.Node');\n\n    const isTextNode = node => node.type === 3;\n    const isEmpty = nodeBuffer => nodeBuffer.length === 0;\n    const wrapInvalidChildren = list => {\n      const insertListItem = (buffer, refNode) => {\n        const li = global.create('li');\n        each$1(buffer, node => li.append(node));\n        if (refNode) {\n          list.insert(li, refNode, true);\n        } else {\n          list.append(li);\n        }\n      };\n      const reducer = (buffer, node) => {\n        if (isTextNode(node)) {\n          return [...buffer, node];\n        } else if (!isEmpty(buffer) && !isTextNode(node)) {\n          insertListItem(buffer, node);\n          return [];\n        } else {\n          return buffer;\n        }\n      };\n      const restBuffer = foldl(list.children(), reducer, []);\n      if (!isEmpty(restBuffer)) {\n        insertListItem(restBuffer);\n      }\n    };\n    const setup$1 = editor => {\n      editor.on('PreInit', () => {\n        const {\n          parser\n        } = editor;\n        parser.addNodeFilter('ul,ol', nodes => each$1(nodes, wrapInvalidChildren));\n      });\n    };\n\n    const setupTabKey = editor => {\n      editor.on('keydown', e => {\n        if (e.keyCode !== global$4.TAB || global$4.metaKeyPressed(e)) {\n          return;\n        }\n        editor.undoManager.transact(() => {\n          if (e.shiftKey ? outdentListSelection(editor) : indentListSelection(editor)) {\n            e.preventDefault();\n          }\n        });\n      });\n    };\n    const setup = editor => {\n      if (shouldIndentOnTab(editor)) {\n        setupTabKey(editor);\n      }\n      setup$2(editor);\n    };\n\n    const setupToggleButtonHandler = (editor, listName) => api => {\n      const toggleButtonHandler = e => {\n        api.setActive(inList(e.parents, listName));\n        api.setEnabled(!isWithinNonEditableList(editor, e.element) && editor.selection.isEditable());\n      };\n      api.setEnabled(editor.selection.isEditable());\n      return setNodeChangeHandler(editor, toggleButtonHandler);\n    };\n    const register$1 = editor => {\n      const exec = command => () => editor.execCommand(command);\n      if (!editor.hasPlugin('advlist')) {\n        editor.ui.registry.addToggleButton('numlist', {\n          icon: 'ordered-list',\n          active: false,\n          tooltip: 'Numbered list',\n          onAction: exec('InsertOrderedList'),\n          onSetup: setupToggleButtonHandler(editor, 'OL')\n        });\n        editor.ui.registry.addToggleButton('bullist', {\n          icon: 'unordered-list',\n          active: false,\n          tooltip: 'Bullet list',\n          onAction: exec('InsertUnorderedList'),\n          onSetup: setupToggleButtonHandler(editor, 'UL')\n        });\n      }\n    };\n\n    const setupMenuButtonHandler = (editor, listName) => api => {\n      const menuButtonHandler = e => api.setEnabled(inList(e.parents, listName) && !isWithinNonEditableList(editor, e.element));\n      return setNodeChangeHandler(editor, menuButtonHandler);\n    };\n    const register = editor => {\n      const listProperties = {\n        text: 'List properties...',\n        icon: 'ordered-list',\n        onAction: () => editor.execCommand('mceListProps'),\n        onSetup: setupMenuButtonHandler(editor, 'OL')\n      };\n      editor.ui.registry.addMenuItem('listprops', listProperties);\n      editor.ui.registry.addContextMenu('lists', {\n        update: node => {\n          const parentList = getParentList(editor, node);\n          return isOlNode(parentList) ? ['listprops'] : [];\n        }\n      });\n    };\n\n    var Plugin = () => {\n      global$7.add('lists', editor => {\n        register$3(editor);\n        setup$1(editor);\n        if (!editor.hasPlugin('rtc', true)) {\n          setup(editor);\n          register$2(editor);\n        } else {\n          registerDialog(editor);\n        }\n        register$1(editor);\n        register(editor);\n        return get(editor);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$6 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const eq = t => a => t === a;\n    const isString = isType('string');\n    const isObject = isType('object');\n    const isArray = isType('array');\n    const isBoolean = isSimpleType('boolean');\n    const isUndefined = eq(undefined);\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n\n    const noop = () => {};\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const apply = f => {\n      return f();\n    };\n    const always = constant(true);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const nativeSlice = Array.prototype.slice;\n    const nativePush = Array.prototype.push;\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each$1 = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const filter = (xs, pred) => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    const flatten = xs => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    const from = isFunction(Array.from) ? Array.from : x => nativeSlice.call(x);\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    const keys = Object.keys;\n    const hasOwnProperty = Object.hasOwnProperty;\n    const each = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n    const get$2 = (obj, key) => {\n      return has(obj, key) ? Optional.from(obj[key]) : Optional.none();\n    };\n    const has = (obj, key) => hasOwnProperty.call(obj, key);\n\n    var global$5 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const option = name => editor => editor.options.get(name);\n    const register$2 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('audio_template_callback', {\n        processor: 'function'\n      });\n      registerOption('video_template_callback', {\n        processor: 'function'\n      });\n      registerOption('iframe_template_callback', {\n        processor: 'function'\n      });\n      registerOption('media_live_embeds', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('media_filter_html', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('media_url_resolver', {\n        processor: 'function'\n      });\n      registerOption('media_alt_source', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('media_poster', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('media_dimensions', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('sn_settings', {\n        processor: 'object',\n        default: {}\n      });\n    };\n    const getAudioTemplateCallback = option('audio_template_callback');\n    const getVideoTemplateCallback = option('video_template_callback');\n    const getIframeTemplateCallback = option('iframe_template_callback');\n    const hasLiveEmbeds = option('media_live_embeds');\n    const shouldFilterHtml = option('media_filter_html');\n    const getUrlResolver = option('media_url_resolver');\n    const hasAltSource = option('media_alt_source');\n    const hasPoster = option('media_poster');\n    const hasDimensions = option('media_dimensions');\n    const getSnMediaSettings = editor => {\n      const snSettings = option('sn_settings')(editor);\n      const {\n        allowLibrarySearch = true,\n        attachmentList = [],\n        showLocalsTab = false,\n        libraryFilePicker = (_editor, callback) => callback(''),\n        labels = {},\n        mediaUploadHandler\n      } = (snSettings === null || snSettings === void 0 ? void 0 : snSettings.media) || {};\n      return {\n        allowLibrarySearch,\n        attachmentList,\n        showLocalsTab,\n        libraryFilePicker,\n        labels: {\n          tabName: 'Local Media',\n          search: 'Search Library',\n          attachmentList: 'Attachment List',\n          typeAttachment: 'Attachment',\n          typeLibrary: 'Public Library',\n          waitOpen: 'Loading Attachments',\n          ...labels\n        },\n        mediaUploadHandler\n      };\n    };\n    const isAutomaticUploadsEnabled = editor => option('automatic_uploads');\n\n    var global$4 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.html.DomParser');\n\n    const DOM$1 = global$4.DOM;\n    const trimPx = value => value.replace(/px$/, '');\n    const getEphoxEmbedData = node => {\n      const style = node.attr('style');\n      const styles = style ? DOM$1.parseStyle(style) : {};\n      return {\n        type: 'ephox-embed-iri',\n        source: node.attr('data-ephox-embed-iri'),\n        altsource: '',\n        poster: '',\n        width: get$2(styles, 'max-width').map(trimPx).getOr(''),\n        height: get$2(styles, 'max-height').map(trimPx).getOr('')\n      };\n    };\n    const htmlToData = (html, schema) => {\n      let data = {};\n      const parser = global$3({\n        validate: false,\n        forced_root_block: false\n      }, schema);\n      const rootNode = parser.parse(html);\n      for (let node = rootNode; node; node = node.walk()) {\n        if (node.type === 1) {\n          const name = node.name;\n          if (node.attr('data-ephox-embed-iri')) {\n            data = getEphoxEmbedData(node);\n            break;\n          } else {\n            if (!data.source && name === 'param') {\n              data.source = node.attr('movie');\n            }\n            if (name === 'iframe' || name === 'object' || name === 'embed' || name === 'video' || name === 'audio') {\n              if (!data.type) {\n                data.type = name;\n              }\n              data = global$5.extend(node.attributes.map, data);\n            }\n            if (name === 'source') {\n              if (!data.source) {\n                data.source = node.attr('src');\n              } else if (!data.altsource) {\n                data.altsource = node.attr('src');\n              }\n            }\n            if (name === 'img' && !data.poster) {\n              data.poster = node.attr('src');\n            }\n          }\n        }\n      }\n      data.source = data.source || data.src || '';\n      data.altsource = data.altsource || '';\n      data.poster = data.poster || '';\n      return data;\n    };\n\n    const guess = url => {\n      var _a;\n      const mimes = {\n        mp3: 'audio/mpeg',\n        m4a: 'audio/x-m4a',\n        wav: 'audio/wav',\n        mp4: 'video/mp4',\n        webm: 'video/webm',\n        ogg: 'video/ogg',\n        swf: 'application/x-shockwave-flash'\n      };\n      const fileEnd = (_a = url.toLowerCase().split('.').pop()) !== null && _a !== void 0 ? _a : '';\n      return get$2(mimes, fileEnd).getOr('');\n    };\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.html.Node');\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.html.Serializer');\n\n    const Parser = (schema, settings = {}) => global$3({\n      forced_root_block: false,\n      validate: false,\n      allow_conditional_comments: true,\n      ...settings\n    }, schema);\n\n    const DOM = global$4.DOM;\n    const addPx = value => /^[0-9.]+$/.test(value) ? value + 'px' : value;\n    const updateEphoxEmbed = (data, node) => {\n      const style = node.attr('style');\n      const styleMap = style ? DOM.parseStyle(style) : {};\n      if (isNonNullable(data.width)) {\n        styleMap['max-width'] = addPx(data.width);\n      }\n      if (isNonNullable(data.height)) {\n        styleMap['max-height'] = addPx(data.height);\n      }\n      node.attr('style', DOM.serializeStyle(styleMap));\n    };\n    const sources = ['source', 'altsource'];\n    const updateHtml = (html, data, updateAll, schema) => {\n      let numSources = 0;\n      let sourceCount = 0;\n      const parser = Parser(schema);\n      parser.addNodeFilter('source', nodes => numSources = nodes.length);\n      const rootNode = parser.parse(html);\n      for (let node = rootNode; node; node = node.walk()) {\n        if (node.type === 1) {\n          const name = node.name;\n          if (node.attr('data-ephox-embed-iri')) {\n            updateEphoxEmbed(data, node);\n            break;\n          } else {\n            switch (name) {\n              case 'video':\n              case 'object':\n              case 'embed':\n              case 'img':\n              case 'iframe':\n                if (data.height !== undefined && data.width !== undefined) {\n                  node.attr('width', data.width);\n                  node.attr('height', data.height);\n                }\n                break;\n            }\n            if (updateAll) {\n              switch (name) {\n                case 'video':\n                  node.attr('poster', data.poster);\n                  node.attr('src', null);\n                  for (let index = numSources; index < 2; index++) {\n                    if (data[sources[index]]) {\n                      const source = new global$2('source', 1);\n                      source.attr('src', data[sources[index]]);\n                      source.attr('type', data[sources[index] + 'mime'] || null);\n                      node.append(source);\n                    }\n                  }\n                  break;\n                case 'iframe':\n                  node.attr('src', data.source);\n                  break;\n                case 'object':\n                  const hasImage = node.getAll('img').length > 0;\n                  if (data.poster && !hasImage) {\n                    node.attr('src', data.poster);\n                    const img = new global$2('img', 1);\n                    img.attr('src', data.poster);\n                    img.attr('width', data.width);\n                    img.attr('height', data.height);\n                    node.append(img);\n                  }\n                  break;\n                case 'source':\n                  if (sourceCount < 2) {\n                    node.attr('src', data[sources[sourceCount]]);\n                    node.attr('type', data[sources[sourceCount] + 'mime'] || null);\n                    if (!data[sources[sourceCount]]) {\n                      node.remove();\n                      continue;\n                    }\n                  }\n                  sourceCount++;\n                  break;\n                case 'img':\n                  if (!data.poster) {\n                    node.remove();\n                  }\n                  break;\n              }\n            }\n          }\n        }\n      }\n      return global$1({}, schema).serialize(rootNode);\n    };\n\n    const urlPatterns = [{\n      regex: /youtu\\.be\\/([\\w\\-_\\?&=.]+)/i,\n      type: 'iframe',\n      w: 560,\n      h: 314,\n      url: 'www.youtube.com/embed/$1',\n      allowFullscreen: true\n    }, {\n      regex: /youtube\\.com(.+)v=([^&]+)(&([a-z0-9&=\\-_]+))?/i,\n      type: 'iframe',\n      w: 560,\n      h: 314,\n      url: 'www.youtube.com/embed/$2?$4',\n      allowFullscreen: true\n    }, {\n      regex: /youtube.com\\/embed\\/([a-z0-9\\?&=\\-_]+)/i,\n      type: 'iframe',\n      w: 560,\n      h: 314,\n      url: 'www.youtube.com/embed/$1',\n      allowFullscreen: true\n    }, {\n      regex: /vimeo\\.com\\/([0-9]+)\\?h=(\\w+)/,\n      type: 'iframe',\n      w: 425,\n      h: 350,\n      url: 'player.vimeo.com/video/$1?h=$2&title=0&byline=0&portrait=0&color=8dc7dc',\n      allowFullscreen: true\n    }, {\n      regex: /vimeo\\.com\\/(.*)\\/([0-9]+)\\?h=(\\w+)/,\n      type: 'iframe',\n      w: 425,\n      h: 350,\n      url: 'player.vimeo.com/video/$2?h=$3&title=0&amp;byline=0',\n      allowFullscreen: true\n    }, {\n      regex: /vimeo\\.com\\/([0-9]+)/,\n      type: 'iframe',\n      w: 425,\n      h: 350,\n      url: 'player.vimeo.com/video/$1?title=0&byline=0&portrait=0&color=8dc7dc',\n      allowFullscreen: true\n    }, {\n      regex: /vimeo\\.com\\/(.*)\\/([0-9]+)/,\n      type: 'iframe',\n      w: 425,\n      h: 350,\n      url: 'player.vimeo.com/video/$2?title=0&amp;byline=0',\n      allowFullscreen: true\n    }, {\n      regex: /maps\\.google\\.([a-z]{2,3})\\/maps\\/(.+)msid=(.+)/,\n      type: 'iframe',\n      w: 425,\n      h: 350,\n      url: 'maps.google.com/maps/ms?msid=$2&output=embed\"',\n      allowFullscreen: false\n    }, {\n      regex: /dailymotion\\.com\\/video\\/([^_]+)/,\n      type: 'iframe',\n      w: 480,\n      h: 270,\n      url: 'www.dailymotion.com/embed/video/$1',\n      allowFullscreen: true\n    }, {\n      regex: /dai\\.ly\\/([^_]+)/,\n      type: 'iframe',\n      w: 480,\n      h: 270,\n      url: 'www.dailymotion.com/embed/video/$1',\n      allowFullscreen: true\n    }];\n    const getProtocol = url => {\n      const protocolMatches = url.match(/^(https?:\\/\\/|www\\.)(.+)$/i);\n      if (protocolMatches && protocolMatches.length > 1) {\n        return protocolMatches[1] === 'www.' ? 'https://' : protocolMatches[1];\n      } else {\n        return 'https://';\n      }\n    };\n    const getUrl = (pattern, url) => {\n      const protocol = getProtocol(url);\n      const match = pattern.regex.exec(url);\n      let newUrl = protocol + pattern.url;\n      if (isNonNullable(match)) {\n        for (let i = 0; i < match.length; i++) {\n          newUrl = newUrl.replace('$' + i, () => match[i] ? match[i] : '');\n        }\n      }\n      return newUrl.replace(/\\?$/, '');\n    };\n    const matchPattern = url => {\n      const patterns = urlPatterns.filter(pattern => pattern.regex.test(url));\n      if (patterns.length > 0) {\n        return global$5.extend({}, patterns[0], {\n          url: getUrl(patterns[0], url)\n        });\n      } else {\n        return null;\n      }\n    };\n\n    const getIframeHtml = (data, iframeTemplateCallback) => {\n      if (iframeTemplateCallback) {\n        return iframeTemplateCallback(data);\n      } else {\n        const allowFullscreen = data.allowfullscreen ? ' allowFullscreen=\"1\"' : '';\n        return '<iframe src=\"' + data.source + '\" width=\"' + data.width + '\" height=\"' + data.height + '\"' + allowFullscreen + '></iframe>';\n      }\n    };\n    const getFlashHtml = data => {\n      let html = '<object data=\"' + data.source + '\" width=\"' + data.width + '\" height=\"' + data.height + '\" type=\"application/x-shockwave-flash\">';\n      if (data.poster) {\n        html += '<img src=\"' + data.poster + '\" width=\"' + data.width + '\" height=\"' + data.height + '\" />';\n      }\n      html += '</object>';\n      return html;\n    };\n    const getAudioHtml = (data, audioTemplateCallback) => {\n      if (audioTemplateCallback) {\n        return audioTemplateCallback(data);\n      } else {\n        return '<audio controls=\"controls\" src=\"' + data.source + '\">' + (data.altsource ? '\\n<source src=\"' + data.altsource + '\"' + (data.altsourcemime ? ' type=\"' + data.altsourcemime + '\"' : '') + ' />\\n' : '') + '</audio>';\n      }\n    };\n    const getVideoHtml = (data, videoTemplateCallback) => {\n      if (videoTemplateCallback) {\n        return videoTemplateCallback(data);\n      } else {\n        return '<video width=\"' + data.width + '\" height=\"' + data.height + '\"' + (data.poster ? ' poster=\"' + data.poster + '\"' : '') + ' controls=\"controls\">\\n' + '<source src=\"' + data.source + '\"' + (data.sourcemime ? ' type=\"' + data.sourcemime + '\"' : '') + ' />\\n' + (data.altsource ? '<source src=\"' + data.altsource + '\"' + (data.altsourcemime ? ' type=\"' + data.altsourcemime + '\"' : '') + ' />\\n' : '') + '</video>';\n      }\n    };\n    const dataToHtml = (editor, dataIn) => {\n      var _a;\n      const data = global$5.extend({}, dataIn);\n      if (!data.source) {\n        global$5.extend(data, htmlToData((_a = data.embed) !== null && _a !== void 0 ? _a : '', editor.schema));\n        if (!data.source) {\n          return '';\n        }\n      }\n      if (!data.altsource) {\n        data.altsource = '';\n      }\n      if (!data.poster) {\n        data.poster = '';\n      }\n      data.source = editor.convertURL(data.source, 'source');\n      data.altsource = editor.convertURL(data.altsource, 'source');\n      data.sourcemime = guess(data.source);\n      data.altsourcemime = guess(data.altsource);\n      data.poster = editor.convertURL(data.poster, 'poster');\n      const pattern = matchPattern(data.source);\n      if (pattern) {\n        data.source = pattern.url;\n        data.type = pattern.type;\n        data.allowfullscreen = pattern.allowFullscreen;\n        data.width = data.width || String(pattern.w);\n        data.height = data.height || String(pattern.h);\n      }\n      if (data.embed) {\n        return updateHtml(data.embed, data, true, editor.schema);\n      } else {\n        const audioTemplateCallback = getAudioTemplateCallback(editor);\n        const videoTemplateCallback = getVideoTemplateCallback(editor);\n        const iframeTemplateCallback = getIframeTemplateCallback(editor);\n        data.width = data.width || '300';\n        data.height = data.height || '150';\n        global$5.each(data, (value, key) => {\n          data[key] = editor.dom.encode('' + value);\n        });\n        if (data.type === 'iframe') {\n          return getIframeHtml(data, iframeTemplateCallback);\n        } else if (data.sourcemime === 'application/x-shockwave-flash') {\n          return getFlashHtml(data);\n        } else if (data.sourcemime.indexOf('audio') !== -1) {\n          return getAudioHtml(data, audioTemplateCallback);\n        } else {\n          return getVideoHtml(data, videoTemplateCallback);\n        }\n      }\n    };\n\n    const isMediaElement = element => element.hasAttribute('data-mce-object') || element.hasAttribute('data-ephox-embed-iri');\n    const setup$3 = editor => {\n      editor.on('click keyup touchend', () => {\n        const selectedNode = editor.selection.getNode();\n        if (selectedNode && editor.dom.hasClass(selectedNode, 'mce-preview-object')) {\n          if (editor.dom.getAttrib(selectedNode, 'data-mce-selected')) {\n            selectedNode.setAttribute('data-mce-selected', '2');\n          }\n        }\n      });\n      editor.on('ObjectResized', e => {\n        const target = e.target;\n        if (target.getAttribute('data-mce-object')) {\n          let html = target.getAttribute('data-mce-html');\n          if (html) {\n            html = unescape(html);\n            target.setAttribute('data-mce-html', escape(updateHtml(html, {\n              width: String(e.width),\n              height: String(e.height)\n            }, false, editor.schema)));\n          }\n        }\n      });\n    };\n\n    const cache = {};\n    const embedPromise = (data, dataToHtml, handler) => {\n      return new Promise((res, rej) => {\n        const wrappedResolve = response => {\n          if (response.html) {\n            cache[data.source] = response;\n          }\n          return res({\n            url: data.source,\n            html: response.html ? response.html : dataToHtml(data)\n          });\n        };\n        if (cache[data.source]) {\n          wrappedResolve(cache[data.source]);\n        } else {\n          handler({\n            url: data.source\n          }, wrappedResolve, rej);\n        }\n      });\n    };\n    const defaultPromise = (data, dataToHtml) => Promise.resolve({\n      html: dataToHtml(data),\n      url: data.source\n    });\n    const loadedData = editor => data => dataToHtml(editor, data);\n    const getEmbedHtml = (editor, data) => {\n      const embedHandler = getUrlResolver(editor);\n      return embedHandler ? embedPromise(data, loadedData(editor), embedHandler) : defaultPromise(data, loadedData(editor));\n    };\n    const isCached = url => has(cache, url);\n\n    const handleBrowseLibrary = (editor, settings) => api => settings.libraryFilePicker(editor, file => {\n      api.setData({\n        source: {\n          value: file,\n          meta: {}\n        }\n      });\n      api.showTab('general');\n    });\n    const handleSourceUpdate = (editor, config, settings, dialog) => {\n      new Promise(resolve => {\n        dialog.block('');\n        const body = config.body;\n        const index = body.tabs.findIndex(({\n          title\n        }) => title === settings.labels.tabName);\n        body.tabs[index] = makeTab(editor, dialog.getData(), settings, resolve);\n        config.initialData = dialog.getData();\n      }).then(() => {\n        dialog.redial(config);\n        dialog.showTab('local');\n        dialog.unblock();\n      });\n    };\n    const urlListSanitizer = (editor, list) => {\n      return [...(list === null || list === void 0 ? void 0 : list.map(({\n        title,\n        value\n      }) => ({\n        text: title,\n        value: editor.convertURL(value, '')\n      })))];\n    };\n    const makeTab = (editor, {\n      localsTabSourceType\n    }, settings, onListLoaded) => {\n      const items = [];\n      const {\n        allowLibrarySearch,\n        attachmentList,\n        labels\n      } = settings;\n      if (allowLibrarySearch) {\n        items.push({\n          type: 'selectbox',\n          name: 'localsTabSourceType',\n          label: 'Source',\n          size: 1,\n          items: [{\n            text: labels.typeAttachment,\n            value: 'attachment'\n          }, {\n            text: labels.typeLibrary,\n            value: 'library'\n          }]\n        });\n      }\n      let callLoaded = true;\n      if (localsTabSourceType === 'attachment') {\n        if (attachmentList) {\n          const attachConfig = {\n            type: 'listbox',\n            name: 'attachments',\n            label: labels.attachmentList,\n            items: [{\n              text: 'None',\n              value: ''\n            }]\n          };\n          if (isFunction(attachmentList)) {\n            attachmentList(attachmentItems => {\n              attachConfig.items = [...attachConfig.items, ...urlListSanitizer(editor, attachmentItems || [])];\n              onListLoaded();\n            });\n            callLoaded = false;\n          } else if (isArray(attachmentList)) {\n            attachConfig.items = [...attachConfig.items, ...urlListSanitizer(editor, attachmentList || [])];\n          }\n          items.push(attachConfig);\n        }\n      } else {\n        items.push({\n          type: 'label',\n          label: labels.search,\n          items: [{\n            type: 'button',\n            name: 'librarysearch',\n            text: labels.search,\n            icon: 'search'\n          }]\n        });\n      }\n      if (callLoaded) {\n        onListLoaded();\n      }\n      return {\n        title: labels.tabName,\n        name: 'local',\n        items\n      };\n    };\n    const LocalsTab = {\n      makeTab,\n      handleSourceUpdate,\n      handleBrowseLibrary\n    };\n\n    const extractMeta = (sourceInput, data) => get$2(data, sourceInput).bind(mainData => get$2(mainData, 'meta'));\n    const getValue = (data, metaData, sourceInput) => prop => {\n      const getFromData = () => get$2(data, prop);\n      const getFromMetaData = () => get$2(metaData, prop);\n      const getNonEmptyValue = c => get$2(c, 'value').bind(v => v.length > 0 ? Optional.some(v) : Optional.none());\n      const getFromValueFirst = () => getFromData().bind(child => isObject(child) ? getNonEmptyValue(child).orThunk(getFromMetaData) : getFromMetaData().orThunk(() => Optional.from(child)));\n      const getFromMetaFirst = () => getFromMetaData().orThunk(() => getFromData().bind(child => isObject(child) ? getNonEmptyValue(child) : Optional.from(child)));\n      return {\n        [prop]: (prop === sourceInput ? getFromValueFirst() : getFromMetaFirst()).getOr('')\n      };\n    };\n    const getDimensions = (data, metaData) => {\n      const dimensions = {};\n      get$2(data, 'dimensions').each(dims => {\n        each$1(['width', 'height'], prop => {\n          get$2(metaData, prop).orThunk(() => get$2(dims, prop)).each(value => dimensions[prop] = value);\n        });\n      });\n      return dimensions;\n    };\n    const unwrap = (data, sourceInput) => {\n      const metaData = sourceInput && sourceInput !== 'dimensions' ? extractMeta(sourceInput, data).getOr({}) : {};\n      const get = getValue(data, metaData, sourceInput);\n      return {\n        ...get('source'),\n        ...get('altsource'),\n        ...get('poster'),\n        ...get('embed'),\n        ...getDimensions(data, metaData),\n        ...get('attachments')\n      };\n    };\n    const wrap = (data, localsTabSourceType) => {\n      const wrapped = {\n        ...data,\n        source: {\n          value: get$2(data, 'source').getOr('')\n        },\n        altsource: {\n          value: get$2(data, 'altsource').getOr('')\n        },\n        poster: {\n          value: get$2(data, 'poster').getOr('')\n        },\n        ...(localsTabSourceType ? {\n          localsTabSourceType\n        } : {})\n      };\n      each$1(['width', 'height'], prop => {\n        get$2(data, prop).each(value => {\n          const dimensions = wrapped.dimensions || {};\n          dimensions[prop] = value;\n          wrapped.dimensions = dimensions;\n        });\n      });\n      return wrapped;\n    };\n    const handleError = editor => error => {\n      const errorMessage = error && error.msg ? 'Media embed handler error: ' + error.msg : 'Media embed handler threw unknown error.';\n      editor.notificationManager.open({\n        type: 'error',\n        text: errorMessage\n      });\n    };\n    const getEditorData = editor => {\n      const element = editor.selection.getNode();\n      const snippet = isMediaElement(element) ? editor.serializer.serialize(element, {\n        selection: true\n      }) : '';\n      const data = htmlToData(snippet, editor.schema);\n      const getDimensionsOfElement = () => {\n        if (isEmbedIframe(data.source, data.type)) {\n          const rect = editor.dom.getRect(element);\n          return {\n            width: rect.w.toString().replace(/px$/, ''),\n            height: rect.h.toString().replace(/px$/, '')\n          };\n        } else {\n          return {};\n        }\n      };\n      const dimensions = getDimensionsOfElement();\n      return {\n        embed: snippet,\n        ...data,\n        ...dimensions\n      };\n    };\n    const addEmbedHtml = (api, editor) => response => {\n      if (isString(response.url) && response.url.trim().length > 0) {\n        const html = response.html;\n        const snippetData = htmlToData(html, editor.schema);\n        const nuData = {\n          ...snippetData,\n          source: response.url,\n          embed: html\n        };\n        api.setData(wrap(nuData));\n      }\n    };\n    const selectPlaceholder = (editor, beforeObjects) => {\n      const afterObjects = editor.dom.select('*[data-mce-object]');\n      for (let i = 0; i < beforeObjects.length; i++) {\n        for (let y = afterObjects.length - 1; y >= 0; y--) {\n          if (beforeObjects[i] === afterObjects[y]) {\n            afterObjects.splice(y, 1);\n          }\n        }\n      }\n      editor.selection.select(afterObjects[0]);\n    };\n    const handleInsert = (editor, html) => {\n      const beforeObjects = editor.dom.select('*[data-mce-object]');\n      editor.insertContent(html);\n      selectPlaceholder(editor, beforeObjects);\n      editor.nodeChanged();\n    };\n    const isEmbedIframe = (url, mediaDataType) => isNonNullable(mediaDataType) && mediaDataType === 'ephox-embed-iri' && isNonNullable(matchPattern(url));\n    const shouldInsertAsNewIframe = (prevData, newData) => {\n      const hasDimensionsChanged = (prevData, newData) => prevData.width !== newData.width || prevData.height !== newData.height;\n      return hasDimensionsChanged(prevData, newData) && isEmbedIframe(newData.source, prevData.type);\n    };\n    const submitForm = (prevData, newData, editor) => {\n      var _a;\n      newData.embed = shouldInsertAsNewIframe(prevData, newData) && hasDimensions(editor) ? dataToHtml(editor, {\n        ...newData,\n        embed: ''\n      }) : updateHtml((_a = newData.embed) !== null && _a !== void 0 ? _a : '', newData, false, editor.schema);\n      if (newData.embed && (prevData.source === newData.source || isCached(newData.source))) {\n        handleInsert(editor, newData.embed);\n      } else {\n        getEmbedHtml(editor, newData).then(response => {\n          handleInsert(editor, response.html);\n        }).catch(handleError(editor));\n      }\n    };\n    const showDialog = editor => {\n      const editorData = getEditorData(editor);\n      const currentData = Cell(editorData);\n      const initialData = wrap(editorData, 'attachment');\n      const handleSource = (prevData, api) => {\n        const serviceData = unwrap(api.getData(), 'source');\n        if (prevData.source !== serviceData.source) {\n          addEmbedHtml(win, editor)({\n            url: serviceData.source,\n            html: ''\n          });\n          getEmbedHtml(editor, serviceData).then(addEmbedHtml(win, editor)).catch(handleError(editor));\n        }\n      };\n      const handleEmbed = api => {\n        var _a;\n        const data = unwrap(api.getData());\n        const dataFromEmbed = htmlToData((_a = data.embed) !== null && _a !== void 0 ? _a : '', editor.schema);\n        api.setData(wrap(dataFromEmbed));\n      };\n      const handleUpdate = (api, sourceInput, prevData) => {\n        const dialogData = unwrap(api.getData(), sourceInput);\n        const data = shouldInsertAsNewIframe(prevData, dialogData) && hasDimensions(editor) ? {\n          ...dialogData,\n          embed: ''\n        } : dialogData;\n        const embed = dataToHtml(editor, data);\n        api.setData(wrap({\n          ...data,\n          embed\n        }));\n      };\n      const mediaInput = [{\n        name: 'source',\n        type: 'urlinput',\n        filetype: 'media',\n        label: 'Source',\n        picker_text: 'Browse files'\n      }];\n      const sizeInput = !hasDimensions(editor) ? [] : [{\n        type: 'sizeinput',\n        name: 'dimensions',\n        label: 'Constrain proportions',\n        constrain: true\n      }];\n      const generalTab = {\n        title: 'General',\n        name: 'general',\n        items: flatten([mediaInput, sizeInput])\n      };\n      const embedTextarea = {\n        type: 'textarea',\n        name: 'embed',\n        label: 'Paste your embed code below:'\n      };\n      const embedTab = {\n        title: 'Embed',\n        items: [embedTextarea]\n      };\n      const advancedFormItems = [];\n      if (hasAltSource(editor)) {\n        advancedFormItems.push({\n          name: 'altsource',\n          type: 'urlinput',\n          filetype: 'media',\n          label: 'Alternative source URL'\n        });\n      }\n      if (hasPoster(editor)) {\n        advancedFormItems.push({\n          name: 'poster',\n          type: 'urlinput',\n          filetype: 'image',\n          label: 'Media poster (Image URL)'\n        });\n      }\n      const advancedTab = {\n        title: 'Advanced',\n        name: 'advanced',\n        items: advancedFormItems\n      };\n      const tabs = [generalTab, embedTab];\n      if (advancedFormItems.length > 0) {\n        tabs.push(advancedTab);\n      }\n      const snMediaSettings = getSnMediaSettings(editor);\n      let attachmentsLoaded = null;\n      if (snMediaSettings.showLocalsTab) {\n        attachmentsLoaded = new Promise(resolve => {\n          tabs.push(LocalsTab.makeTab(editor, initialData, snMediaSettings, resolve));\n        });\n      }\n      const body = {\n        type: 'tabpanel',\n        tabs\n      };\n      const config = {\n        title: 'Insert/Edit Media',\n        size: 'normal',\n        body,\n        buttons: [{\n          type: 'cancel',\n          name: 'cancel',\n          text: 'Cancel'\n        }, {\n          type: 'submit',\n          name: 'save',\n          text: 'Save',\n          primary: true\n        }],\n        onAction: LocalsTab.handleBrowseLibrary(editor, snMediaSettings),\n        onSubmit: api => {\n          const serviceData = unwrap(api.getData());\n          submitForm(currentData.get(), serviceData, editor);\n          api.close();\n        },\n        onChange: (api, detail) => {\n          switch (detail.name) {\n            case 'source':\n              handleSource(currentData.get(), api);\n              break;\n            case 'embed':\n              handleEmbed(api);\n              break;\n            case 'dimensions':\n            case 'altsource':\n            case 'poster':\n              handleUpdate(api, detail.name, currentData.get());\n              break;\n            case 'attachments':\n              const data = global$5.extend({}, unwrap(api.getData()));\n              data.source = data.attachments;\n              api.setData(wrap(data));\n              handleSource(currentData.get(), api);\n              api.showTab('general');\n              break;\n            case 'localsTabSourceType':\n              LocalsTab.handleSourceUpdate(editor, config, snMediaSettings, win);\n              break;\n          }\n          currentData.set(unwrap(api.getData()));\n        },\n        initialData\n      };\n      const win = editor.windowManager.open(config);\n      const firstItem = 'name' in body.tabs[0].items[0] ? body.tabs[0].items[0].name : 'source';\n      if (attachmentsLoaded) {\n        win.block(snMediaSettings.labels.waitOpen);\n        attachmentsLoaded.then(() => win.redial(config)).then(() => win.unblock()).then(() => win.focus(firstItem));\n      } else {\n        win.focus(firstItem);\n      }\n    };\n\n    const get$1 = editor => {\n      const showDialog$1 = () => {\n        showDialog(editor);\n      };\n      return {\n        showDialog: showDialog$1\n      };\n    };\n\n    const register$1 = editor => {\n      const showDialog$1 = () => {\n        showDialog(editor);\n      };\n      editor.addCommand('mceMedia', showDialog$1);\n    };\n\n    const checkRange = (str, substr, start) => substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr;\n    const contains = (str, substr, start = 0, end) => {\n      const idx = str.indexOf(substr, start);\n      if (idx !== -1) {\n        return isUndefined(end) ? true : idx + substr.length <= end;\n      } else {\n        return false;\n      }\n    };\n    const startsWith = (str, prefix) => {\n      return checkRange(str, prefix, 0);\n    };\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n    const ELEMENT = 1;\n\n    const name = element => {\n      const r = element.dom.nodeName;\n      return r.toLowerCase();\n    };\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const get = (element, key) => {\n      const v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom$1(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom$1(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom$1(node);\n    };\n    const fromDom$1 = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom$1);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom: fromDom$1,\n      fromPoint\n    };\n\n    const bypassSelector = dom => dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;\n    const one = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? Optional.none() : Optional.from(base.querySelector(selector)).map(SugarElement.fromDom);\n    };\n\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const parentElement = element => Optional.from(element.dom.parentElement).map(SugarElement.fromDom);\n\n    const append = (parent, element) => {\n      parent.dom.appendChild(element.dom);\n    };\n\n    const remove = element => {\n      const dom = element.dom;\n      if (dom.parentNode !== null) {\n        dom.parentNode.removeChild(dom);\n      }\n    };\n\n    const fromDom = nodes => map(nodes, SugarElement.fromDom);\n\n    var global = tinymce.util.Tools.resolve('tinymce.Env');\n\n    const getSrc = el => {\n      var _a;\n      return !el ? '' : el.src || ((_a = el.querySelector('source')) === null || _a === void 0 ? void 0 : _a.src);\n    };\n    const setSrc = (el, src) => {\n      if (el) {\n        const sourceEl = el.querySelector('source') || el;\n        if (sourceEl.src !== src) {\n          sourceEl.src = src;\n        }\n      }\n    };\n\n    const videoToBlobInfo = (blobCache, video) => {\n      const videoSrc = getSrc(video);\n      if (startsWith(videoSrc, 'blob:')) {\n        const blobInfo = blobCache.getByUri(videoSrc);\n        if (isNonNullable(blobInfo)) {\n          return Promise.resolve(blobInfo);\n        }\n      }\n      return Promise.reject('Unknown media format');\n    };\n    const getAllVideos = elm => {\n      return elm ? from(elm.getElementsByTagName('video')) : [];\n    };\n    const VideoScanner = (uploadStatus, blobCache) => {\n      const cachedPromises = {};\n      const findAll = (elm, predicate = always) => {\n        const videos = filter(getAllVideos(elm), video => {\n          const src = getSrc(video);\n          if (video.hasAttribute('data-mce-bogus')) {\n            return false;\n          }\n          if (video.hasAttribute('data-mce-placeholder')) {\n            return false;\n          }\n          if (!src || src === global.transparentSrc) {\n            return false;\n          }\n          if (startsWith(src, 'blob:')) {\n            return !uploadStatus.isUploaded(src) && predicate(video);\n          }\n          if (startsWith(src, 'data:')) {\n            return predicate(video);\n          }\n          return false;\n        });\n        const promises = map(videos, video => {\n          const videoSrc = getSrc(video);\n          if (has(cachedPromises, videoSrc)) {\n            return cachedPromises[getSrc(video)].then(videoInfo => {\n              if (isString(videoInfo)) {\n                return videoInfo;\n              } else {\n                return {\n                  video,\n                  blobInfo: videoInfo.blobInfo\n                };\n              }\n            });\n          } else {\n            const newPromise = videoToBlobInfo(blobCache, video).then(blobInfo => {\n              delete cachedPromises[getSrc(video)];\n              return {\n                video,\n                blobInfo\n              };\n            }).catch(error => {\n              delete cachedPromises[getSrc(video)];\n              return error;\n            });\n            cachedPromises[getSrc(video)] = newPromise;\n            return newPromise;\n          }\n        });\n        return Promise.all(promises);\n      };\n      return {\n        findAll\n      };\n    };\n\n    const Uploader = (uploadStatus, settings) => {\n      const pendingPromises = {};\n      const handlerSuccess = (blobInfo, url) => ({\n        url,\n        blobInfo,\n        status: true\n      });\n      const handlerFailure = (blobInfo, error) => ({\n        url: '',\n        blobInfo,\n        status: false,\n        error\n      });\n      const resolvePending = (blobUri, result) => {\n        global$5.each(pendingPromises[blobUri], resolve => {\n          resolve(result);\n        });\n        delete pendingPromises[blobUri];\n      };\n      const uploadBlobInfo = (blobInfo, handler, openNotification) => {\n        uploadStatus.markPending(blobInfo.blobUri());\n        return new Promise(resolve => {\n          let notification;\n          let progress;\n          try {\n            const closeNotification = () => {\n              if (notification) {\n                notification.close();\n                progress = noop;\n              }\n            };\n            const success = url => {\n              closeNotification();\n              uploadStatus.markUploaded(blobInfo.blobUri(), url);\n              resolvePending(blobInfo.blobUri(), handlerSuccess(blobInfo, url));\n              resolve(handlerSuccess(blobInfo, url));\n            };\n            const failure = error => {\n              closeNotification();\n              uploadStatus.removeFailed(blobInfo.blobUri());\n              resolvePending(blobInfo.blobUri(), handlerFailure(blobInfo, error));\n              resolve(handlerFailure(blobInfo, error));\n            };\n            progress = percent => {\n              if (percent < 0 || percent > 100) {\n                return;\n              }\n              Optional.from(notification).orThunk(() => Optional.from(openNotification).map(apply)).each(n => {\n                notification = n;\n                n.progressBar.value(percent);\n              });\n            };\n            handler(blobInfo, progress).then(success, err => {\n              failure(isString(err) ? {\n                message: err\n              } : err);\n            });\n          } catch (ex) {\n            resolve(handlerFailure(blobInfo, ex));\n          }\n        });\n      };\n      const pendingUploadBlobInfo = blobInfo => {\n        const blobUri = blobInfo.blobUri();\n        return new Promise(resolve => {\n          pendingPromises[blobUri] = pendingPromises[blobUri] || [];\n          pendingPromises[blobUri].push(resolve);\n        });\n      };\n      const noUpload = () => new Promise(resolve => {\n        resolve([]);\n      });\n      const uploadBlobs = (blobInfos, openNotification) => {\n        if (isUndefined(settings.handler)) return noUpload();\n        blobInfos = global$5.grep(blobInfos, blobInfo => !uploadStatus.isUploaded(blobInfo.blobUri()));\n        return Promise.all(global$5.map(blobInfos, blobInfo => uploadStatus.isPending(blobInfo.blobUri()) ? pendingUploadBlobInfo(blobInfo) : uploadBlobInfo(blobInfo, settings.handler, openNotification)));\n      };\n      const upload = uploadBlobs;\n      return {\n        upload\n      };\n    };\n\n    const openNotification = editor => () => editor.notificationManager.open({\n      text: editor.translate('Media uploading...'),\n      type: 'info',\n      timeout: -1,\n      progressBar: true\n    });\n    const displayError = (editor, message) => editor.notificationManager.open({\n      type: 'error',\n      text: editor.translate(message)\n    });\n    const createUploader = (editor, uploadStatus) => Uploader(uploadStatus, {\n      handler: getSnMediaSettings(editor).mediaUploadHandler\n    });\n\n    const Rtc = {\n      isRtc: editor => has(editor.plugins, 'rtc')\n    };\n    const isEmptyForPadding = (editor, element) => editor.dom.isEmpty(element.dom) && isNonNullable(editor.schema.getTextBlockElements()[name(element)]);\n    const addPaddingToEmpty = editor => element => {\n      if (isEmptyForPadding(editor, element)) {\n        append(element, SugarElement.fromHtml('<br data-mce-bogus=\"1\" />'));\n      }\n    };\n    const EditorUpload = editor => {\n      let blobCache, uploader, videoScanner;\n      let uploadStatus;\n      const aliveGuard = (editor, callback) => {\n        return result => {\n          if (editor.selection) {\n            return callback(result);\n          }\n          return [];\n        };\n      };\n      const replaceString = (content, search, replace) => {\n        let index = 0;\n        do {\n          index = content.indexOf(search, index);\n          if (index !== -1) {\n            content = content.substring(0, index) + replace + content.substr(index + search.length);\n            index += replace.length - search.length + 1;\n          }\n        } while (index !== -1);\n        return content;\n      };\n      const replaceVideoUrl = (content, targetUrl, replacementUrl) => {\n        const replacementString = \"src=\\\"\".concat(replacementUrl, \"\\\"\").concat(replacementUrl === global.transparentSrc ? ' data-mce-placeholder=\"1\"' : '');\n        content = replaceString(content, \"src=\\\"\".concat(targetUrl, \"\\\"\"), replacementString);\n        content = replaceString(content, \"data-mce-html=\\\"\".concat(escape(\"\\n<source src=\\\"\".concat(targetUrl, \"\\\" />\")), \"\\\"\"), \"data-mce-html=\\\"\".concat(escape(\"\\n<source src=\\\"\".concat(replacementUrl, \"\\\" />\")), \"\\\"\"));\n        return content;\n      };\n      const replaceUrlInUndoStack = (targetUrl, replacementUrl) => {\n        each$1(editor.undoManager.data, level => {\n          if (level.type === 'fragmented') {\n            level.fragments = map(level.fragments, fragment => replaceVideoUrl(fragment, targetUrl, replacementUrl));\n          } else {\n            level.content = replaceVideoUrl(level.content, targetUrl, replacementUrl);\n          }\n        });\n      };\n      const replaceVideoUriInView = (video, resultUri) => {\n        const src = editor.convertURL(resultUri, 'src');\n        replaceUrlInUndoStack(getSrc(video), resultUri);\n        setSrc(video, resultUri);\n        parentElement(SugarElement.fromDom(video)).each(parent => set(parent, 'data-mce-html', \"\".concat(escape(\"\\n<source src=\\\"\".concat(src, \"\\\" />\")))));\n        video.load();\n      };\n      const uploadVideos = () => {\n        if (!uploader) {\n          uploader = createUploader(editor, uploadStatus);\n        }\n        return scanForVideos().then(aliveGuard(editor, videoInfo => {\n          const blobInfos = map(videoInfo, videoInfo => videoInfo.blobInfo);\n          return uploader.upload(blobInfos, openNotification(editor)).then(aliveGuard(editor, result => {\n            const videosToRemove = [];\n            let shouldDispatchChange = false;\n            const filteredResult = map(result, (uploadInfo, index) => {\n              const {\n                blobInfo,\n                video\n              } = videoInfo[index];\n              let removed = false;\n              if (uploadInfo.status) {\n                if (uploadInfo.url && !contains(getSrc(video), uploadInfo.url)) {\n                  shouldDispatchChange = true;\n                }\n                blobCache.removeByUri(getSrc(video));\n                if (Rtc.isRtc(editor)) ; else {\n                  replaceVideoUriInView(video, uploadInfo.url);\n                }\n              } else if (uploadInfo.error) {\n                if (uploadInfo.error.remove) {\n                  replaceUrlInUndoStack(getSrc(video), global.transparentSrc);\n                  videosToRemove.push(video);\n                  removed = true;\n                }\n                const errorMessage = \"Failed to upload video: \".concat(uploadInfo.error.message);\n                displayError(editor, errorMessage);\n              }\n              return {\n                element: video,\n                status: uploadInfo.status,\n                uploadUri: uploadInfo.url,\n                blobInfo,\n                removed\n              };\n            });\n            if (videosToRemove.length > 0 && !Rtc.isRtc(editor)) {\n              editor.undoManager.transact(() => {\n                each$1(fromDom(videosToRemove), sugarElement => {\n                  const parentOpt = parent(sugarElement);\n                  const grandParentOpt = parentOpt.bind(parent);\n                  parentOpt.each(remove);\n                  grandParentOpt.each(addPaddingToEmpty(editor));\n                  const src = getSrc(sugarElement.dom);\n                  blobCache.removeByUri(src);\n                  const selectorAttr = get(sugarElement, 'src') ? \"[data-mce-p-src='\".concat(src, \"']\") : \"[data-mce-html='\".concat(escape(\"\\n<source src=\\\"\".concat(src, \"\\\" />\")), \"']\");\n                  one(selectorAttr).map(element => editor.dom.getParent(element.dom, '.mce-offscreen-selection')).each(editor.dom.remove);\n                });\n              });\n            } else if (shouldDispatchChange) {\n              editor.undoManager.dispatchChange();\n            }\n            return filteredResult;\n          }));\n        }));\n      };\n      const uploadVideoAuto = () => {\n        isAutomaticUploadsEnabled() ? uploadVideos() : Promise.resolve([]);\n      };\n      const scanForVideos = () => {\n        return videoScanner.findAll(editor.getBody()).then(aliveGuard(editor, result => {\n          const filteredResult = filter(result, resultItem => {\n            if (isString(resultItem)) {\n              return false;\n            } else {\n              return true;\n            }\n          });\n          if (Rtc.isRtc(editor)) ; else {\n            each$1(filteredResult, resultItem => {\n              replaceUrlInUndoStack(getSrc(resultItem.video), resultItem.blobInfo.blobUri());\n              setSrc(resultItem.video, resultItem.blobInfo.blobUri());\n            });\n          }\n          return filteredResult;\n        }));\n      };\n      const destroy = () => {\n        uploadStatus.destroy();\n        videoScanner = uploader = null;\n      };\n      editor.on('SetContent', () => {\n        if (isAutomaticUploadsEnabled()) {\n          uploadVideoAuto();\n        } else {\n          scanForVideos();\n        }\n      });\n      editor.on('PostRender', () => {\n        editor.parser.addNodeFilter('video', videos => {\n          each$1(videos, vid => {\n            const src = vid.attr('src');\n            if (!src || blobCache.getByUri(src)) {\n              return;\n            }\n            const resultUri = uploadStatus.getResultUri(src);\n            if (resultUri) {\n              vid.attr('src', resultUri);\n            }\n          });\n        });\n      });\n      editor.on('PreInit', () => {\n        blobCache = editor.editorUpload.blobCache;\n        uploadStatus = editor.editorUpload.uploadStatus;\n        videoScanner = VideoScanner(uploadStatus, blobCache);\n      });\n      editor.on('remove', () => {\n        destroy();\n      });\n    };\n    const setup$2 = EditorUpload;\n\n    const isLiveEmbedNode = node => {\n      const name = node.name;\n      return name === 'iframe' || name === 'video' || name === 'audio';\n    };\n    const getDimension = (node, styles, dimension, defaultValue = null) => {\n      const value = node.attr(dimension);\n      if (isNonNullable(value)) {\n        return value;\n      } else if (!has(styles, dimension)) {\n        return defaultValue;\n      } else {\n        return null;\n      }\n    };\n    const setDimensions = (node, previewNode, styles) => {\n      const useDefaults = previewNode.name === 'img' || node.name === 'video';\n      const defaultWidth = useDefaults ? '300' : null;\n      const fallbackHeight = node.name === 'audio' ? '30' : '150';\n      const defaultHeight = useDefaults ? fallbackHeight : null;\n      previewNode.attr({\n        width: getDimension(node, styles, 'width', defaultWidth),\n        height: getDimension(node, styles, 'height', defaultHeight)\n      });\n    };\n    const appendNodeContent = (editor, nodeName, previewNode, html) => {\n      const newNode = Parser(editor.schema).parse(html, {\n        context: nodeName\n      });\n      while (newNode.firstChild) {\n        previewNode.append(newNode.firstChild);\n      }\n    };\n    const createPlaceholderNode = (editor, node) => {\n      const name = node.name;\n      const placeHolder = new global$2('img', 1);\n      retainAttributesAndInnerHtml(editor, node, placeHolder);\n      setDimensions(node, placeHolder, {});\n      placeHolder.attr({\n        'style': node.attr('style'),\n        'src': global.transparentSrc,\n        'data-mce-object': name,\n        'class': 'mce-object mce-object-' + name\n      });\n      return placeHolder;\n    };\n    const createPreviewNode = (editor, node) => {\n      var _a;\n      const name = node.name;\n      const previewWrapper = new global$2('span', 1);\n      previewWrapper.attr({\n        'contentEditable': 'false',\n        'style': node.attr('style'),\n        'data-mce-object': name,\n        'class': 'mce-preview-object mce-object-' + name\n      });\n      retainAttributesAndInnerHtml(editor, node, previewWrapper);\n      const styles = editor.dom.parseStyle((_a = node.attr('style')) !== null && _a !== void 0 ? _a : '');\n      const previewNode = new global$2(name, 1);\n      setDimensions(node, previewNode, styles);\n      previewNode.attr({\n        src: node.attr('src'),\n        style: node.attr('style'),\n        class: node.attr('class')\n      });\n      if (name === 'iframe') {\n        previewNode.attr({\n          allowfullscreen: node.attr('allowfullscreen'),\n          frameborder: '0',\n          sandbox: node.attr('sandbox')\n        });\n      } else {\n        const attrs = ['controls', 'crossorigin', 'currentTime', 'loop', 'muted', 'poster', 'preload'];\n        each$1(attrs, attrName => {\n          previewNode.attr(attrName, node.attr(attrName));\n        });\n        const sanitizedHtml = previewWrapper.attr('data-mce-html');\n        if (isNonNullable(sanitizedHtml)) {\n          appendNodeContent(editor, name, previewNode, unescape(sanitizedHtml));\n        }\n      }\n      const shimNode = new global$2('span', 1);\n      shimNode.attr('class', 'mce-shim');\n      previewWrapper.append(previewNode);\n      previewWrapper.append(shimNode);\n      return previewWrapper;\n    };\n    const retainAttributesAndInnerHtml = (editor, sourceNode, targetNode) => {\n      var _a;\n      const attribs = (_a = sourceNode.attributes) !== null && _a !== void 0 ? _a : [];\n      let ai = attribs.length;\n      while (ai--) {\n        const attrName = attribs[ai].name;\n        let attrValue = attribs[ai].value;\n        if (attrName !== 'width' && attrName !== 'height' && attrName !== 'style' && !startsWith(attrName, 'data-mce-')) {\n          if (attrName === 'data' || attrName === 'src') {\n            attrValue = editor.convertURL(attrValue, attrName);\n          }\n          targetNode.attr('data-mce-p-' + attrName, attrValue);\n        }\n      }\n      const serializer = global$1({\n        inner: true\n      }, editor.schema);\n      const tempNode = new global$2('div', 1);\n      each$1(sourceNode.children(), child => tempNode.append(child));\n      const innerHtml = serializer.serialize(tempNode);\n      if (innerHtml) {\n        targetNode.attr('data-mce-html', escape(innerHtml));\n        targetNode.empty();\n      }\n    };\n    const isPageEmbedWrapper = node => {\n      const nodeClass = node.attr('class');\n      return isString(nodeClass) && /\\btiny-pageembed\\b/.test(nodeClass);\n    };\n    const isWithinEmbedWrapper = node => {\n      let tempNode = node;\n      while (tempNode = tempNode.parent) {\n        if (tempNode.attr('data-ephox-embed-iri') || isPageEmbedWrapper(tempNode)) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const placeHolderConverter = editor => nodes => {\n      let i = nodes.length;\n      let node;\n      while (i--) {\n        node = nodes[i];\n        if (!node.parent) {\n          continue;\n        }\n        if (node.parent.attr('data-mce-object')) {\n          continue;\n        }\n        if (isLiveEmbedNode(node) && hasLiveEmbeds(editor)) {\n          if (!isWithinEmbedWrapper(node)) {\n            node.replace(createPreviewNode(editor, node));\n          }\n        } else {\n          if (!isWithinEmbedWrapper(node)) {\n            node.replace(createPlaceholderNode(editor, node));\n          }\n        }\n      }\n    };\n\n    const parseAndSanitize = (editor, context, html) => {\n      const getEditorOption = editor.options.get;\n      const sanitize = getEditorOption('xss_sanitization');\n      const validate = shouldFilterHtml(editor);\n      return Parser(editor.schema, {\n        sanitize,\n        validate\n      }).parse(html, {\n        context\n      });\n    };\n\n    const setup$1 = editor => {\n      editor.on('PreInit', () => {\n        const {\n          schema,\n          serializer,\n          parser\n        } = editor;\n        const boolAttrs = schema.getBoolAttrs();\n        each$1('webkitallowfullscreen mozallowfullscreen'.split(' '), name => {\n          boolAttrs[name] = {};\n        });\n        each({\n          embed: ['wmode']\n        }, (attrs, name) => {\n          const rule = schema.getElementRule(name);\n          if (rule) {\n            each$1(attrs, attr => {\n              rule.attributes[attr] = {};\n              rule.attributesOrder.push(attr);\n            });\n          }\n        });\n        parser.addNodeFilter('iframe,video,audio,object,embed', placeHolderConverter(editor));\n        serializer.addAttributeFilter('data-mce-object', (nodes, name) => {\n          var _a;\n          let i = nodes.length;\n          while (i--) {\n            const node = nodes[i];\n            if (!node.parent) {\n              continue;\n            }\n            const realElmName = node.attr(name);\n            const realElm = new global$2(realElmName, 1);\n            if (realElmName !== 'audio') {\n              const className = node.attr('class');\n              if (className && className.indexOf('mce-preview-object') !== -1 && node.firstChild) {\n                realElm.attr({\n                  width: node.firstChild.attr('width'),\n                  height: node.firstChild.attr('height')\n                });\n              } else {\n                realElm.attr({\n                  width: node.attr('width'),\n                  height: node.attr('height')\n                });\n              }\n            }\n            realElm.attr({\n              style: node.attr('style')\n            });\n            const attribs = (_a = node.attributes) !== null && _a !== void 0 ? _a : [];\n            let ai = attribs.length;\n            while (ai--) {\n              const attrName = attribs[ai].name;\n              if (attrName.indexOf('data-mce-p-') === 0) {\n                realElm.attr(attrName.substr(11), attribs[ai].value);\n              }\n            }\n            const innerHtml = node.attr('data-mce-html');\n            if (innerHtml) {\n              const fragment = parseAndSanitize(editor, realElmName, unescape(innerHtml));\n              each$1(fragment.children(), child => realElm.append(child));\n            }\n            node.replace(realElm);\n          }\n        });\n      });\n      editor.on('SetContent', () => {\n        const dom = editor.dom;\n        each$1(dom.select('span.mce-preview-object'), elm => {\n          if (dom.select('span.mce-shim', elm).length === 0) {\n            dom.add(elm, 'span', {\n              class: 'mce-shim'\n            });\n          }\n        });\n      });\n    };\n\n    const setup = editor => {\n      editor.on('ResolveName', e => {\n        let name;\n        if (e.target.nodeType === 1 && (name = e.target.getAttribute('data-mce-object'))) {\n          e.name = name;\n        }\n      });\n    };\n\n    const onSetupEditable = editor => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const register = editor => {\n      const onAction = () => editor.execCommand('mceMedia');\n      editor.ui.registry.addToggleButton('media', {\n        tooltip: 'Insert/edit media',\n        icon: 'embed',\n        onAction,\n        onSetup: buttonApi => {\n          const selection = editor.selection;\n          buttonApi.setActive(isMediaElement(selection.getNode()));\n          const unbindSelectorChanged = selection.selectorChangedWithUnbind('img[data-mce-object],span[data-mce-object],div[data-ephox-embed-iri]', buttonApi.setActive).unbind;\n          const unbindEditable = onSetupEditable(editor)(buttonApi);\n          return () => {\n            unbindSelectorChanged();\n            unbindEditable();\n          };\n        }\n      });\n      editor.ui.registry.addMenuItem('media', {\n        icon: 'embed',\n        text: 'Media...',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n    };\n\n    var Plugin = () => {\n      global$6.add('media', editor => {\n        register$2(editor);\n        register$1(editor);\n        register(editor);\n        setup(editor);\n        setup$1(editor);\n        setup$3(editor);\n        setup$2(editor);\n        return get$1(editor);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const isSimpleType = type => value => typeof value === type;\n    const isBoolean = isSimpleType('boolean');\n    const isNumber = isSimpleType('number');\n\n    const option = name => editor => editor.options.get(name);\n    const register$2 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('nonbreaking_force_tab', {\n        processor: value => {\n          if (isBoolean(value)) {\n            return {\n              value: value ? 3 : 0,\n              valid: true\n            };\n          } else if (isNumber(value)) {\n            return {\n              value,\n              valid: true\n            };\n          } else {\n            return {\n              valid: false,\n              message: 'Must be a boolean or number.'\n            };\n          }\n        },\n        default: false\n      });\n      registerOption('nonbreaking_wrap', {\n        processor: 'boolean',\n        default: true\n      });\n    };\n    const getKeyboardSpaces = option('nonbreaking_force_tab');\n    const wrapNbsps = option('nonbreaking_wrap');\n\n    const stringRepeat = (string, repeats) => {\n      let str = '';\n      for (let index = 0; index < repeats; index++) {\n        str += string;\n      }\n      return str;\n    };\n    const isVisualCharsEnabled = editor => editor.plugins.visualchars ? editor.plugins.visualchars.isEnabled() : false;\n    const insertNbsp = (editor, times) => {\n      const classes = () => isVisualCharsEnabled(editor) ? 'mce-nbsp-wrap mce-nbsp' : 'mce-nbsp-wrap';\n      const nbspSpan = () => \"<span class=\\\"\".concat(classes(), \"\\\" contenteditable=\\\"false\\\">\").concat(stringRepeat('&nbsp;', times), \"</span>\");\n      const shouldWrap = wrapNbsps(editor);\n      const html = shouldWrap || editor.plugins.visualchars ? nbspSpan() : stringRepeat('&nbsp;', times);\n      editor.undoManager.transact(() => editor.insertContent(html));\n    };\n\n    const register$1 = editor => {\n      editor.addCommand('mceNonBreaking', () => {\n        insertNbsp(editor, 1);\n      });\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.VK');\n\n    const setup = editor => {\n      const spaces = getKeyboardSpaces(editor);\n      if (spaces > 0) {\n        editor.on('keydown', e => {\n          if (e.keyCode === global.TAB && !e.isDefaultPrevented()) {\n            if (e.shiftKey) {\n              return;\n            }\n            e.preventDefault();\n            e.stopImmediatePropagation();\n            insertNbsp(editor, spaces);\n          }\n        });\n      }\n    };\n\n    const onSetupEditable = editor => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const register = editor => {\n      const onAction = () => editor.execCommand('mceNonBreaking');\n      editor.ui.registry.addButton('nonbreaking', {\n        icon: 'non-breaking',\n        tooltip: 'Nonbreaking space',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n      editor.ui.registry.addMenuItem('nonbreaking', {\n        icon: 'non-breaking',\n        text: 'Nonbreaking space',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n    };\n\n    var Plugin = () => {\n      global$1.add('nonbreaking', editor => {\n        register$2(editor);\n        register$1(editor);\n        register(editor);\n        setup(editor);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var global = tinymce.util.Tools.resolve('tinymce.Env');\n\n    const option = name => editor => editor.options.get(name);\n    const register$2 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('pagebreak_separator', {\n        processor: 'string',\n        default: '<!-- pagebreak -->'\n      });\n      registerOption('pagebreak_split_block', {\n        processor: 'boolean',\n        default: false\n      });\n    };\n    const getSeparatorHtml = option('pagebreak_separator');\n    const shouldSplitBlock = option('pagebreak_split_block');\n\n    const pageBreakClass = 'mce-pagebreak';\n    const getPlaceholderHtml = shouldSplitBlock => {\n      const html = \"<img src=\\\"\".concat(global.transparentSrc, \"\\\" class=\\\"\").concat(pageBreakClass, \"\\\" data-mce-resize=\\\"false\\\" data-mce-placeholder />\");\n      return shouldSplitBlock ? \"<p>\".concat(html, \"</p>\") : html;\n    };\n    const setup$1 = editor => {\n      const separatorHtml = getSeparatorHtml(editor);\n      const shouldSplitBlock$1 = () => shouldSplitBlock(editor);\n      const pageBreakSeparatorRegExp = new RegExp(separatorHtml.replace(/[\\?\\.\\*\\[\\]\\(\\)\\{\\}\\+\\^\\$\\:]/g, a => {\n        return '\\\\' + a;\n      }), 'gi');\n      editor.on('BeforeSetContent', e => {\n        e.content = e.content.replace(pageBreakSeparatorRegExp, getPlaceholderHtml(shouldSplitBlock$1()));\n      });\n      editor.on('PreInit', () => {\n        editor.serializer.addNodeFilter('img', nodes => {\n          let i = nodes.length,\n            node,\n            className;\n          while (i--) {\n            node = nodes[i];\n            className = node.attr('class');\n            if (className && className.indexOf(pageBreakClass) !== -1) {\n              const parentNode = node.parent;\n              if (parentNode && editor.schema.getBlockElements()[parentNode.name] && shouldSplitBlock$1()) {\n                parentNode.type = 3;\n                parentNode.value = separatorHtml;\n                parentNode.raw = true;\n                node.remove();\n                continue;\n              }\n              node.type = 3;\n              node.value = separatorHtml;\n              node.raw = true;\n            }\n          }\n        });\n      });\n    };\n\n    const register$1 = editor => {\n      editor.addCommand('mcePageBreak', () => {\n        editor.insertContent(getPlaceholderHtml(shouldSplitBlock(editor)));\n      });\n    };\n\n    const setup = editor => {\n      editor.on('ResolveName', e => {\n        if (e.target.nodeName === 'IMG' && editor.dom.hasClass(e.target, pageBreakClass)) {\n          e.name = 'pagebreak';\n        }\n      });\n    };\n\n    const onSetupEditable = editor => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const register = editor => {\n      const onAction = () => editor.execCommand('mcePageBreak');\n      editor.ui.registry.addButton('pagebreak', {\n        icon: 'page-break',\n        tooltip: 'Page break',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n      editor.ui.registry.addMenuItem('pagebreak', {\n        text: 'Page break',\n        icon: 'page-break',\n        onAction,\n        onSetup: onSetupEditable(editor)\n      });\n    };\n\n    var Plugin = () => {\n      global$1.add('pagebreak', editor => {\n        register$2(editor);\n        register$1(editor);\n        register(editor);\n        setup$1(editor);\n        setup(editor);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.Env');\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const option = name => editor => editor.options.get(name);\n    const getContentStyle = option('content_style');\n    const shouldUseContentCssCors = option('content_css_cors');\n    const getBodyClass = option('body_class');\n    const getBodyId = option('body_id');\n\n    const getPreviewHtml = editor => {\n      var _a;\n      let headHtml = '';\n      const encode = editor.dom.encode;\n      const contentStyle = (_a = getContentStyle(editor)) !== null && _a !== void 0 ? _a : '';\n      headHtml += '<base href=\"' + encode(editor.documentBaseURI.getURI()) + '\">';\n      const cors = shouldUseContentCssCors(editor) ? ' crossorigin=\"anonymous\"' : '';\n      global.each(editor.contentCSS, url => {\n        headHtml += '<link type=\"text/css\" rel=\"stylesheet\" href=\"' + encode(editor.documentBaseURI.toAbsolute(url)) + '\"' + cors + '>';\n      });\n      if (contentStyle) {\n        headHtml += '<style type=\"text/css\">' + contentStyle + '</style>';\n      }\n      const bodyId = getBodyId(editor);\n      const bodyClass = getBodyClass(editor);\n      const isMetaKeyPressed = global$1.os.isMacOS() || global$1.os.isiOS() ? 'e.metaKey' : 'e.ctrlKey && !e.altKey';\n      const preventClicksOnLinksScript = '<script>' + 'document.addEventListener && document.addEventListener(\"click\", function(e) {' + 'for (var elm = e.target; elm; elm = elm.parentNode) {' + 'if (elm.nodeName === \"A\" && !(' + isMetaKeyPressed + ')) {' + 'e.preventDefault();' + '}' + '}' + '}, false);' + '</script> ';\n      const directionality = editor.getBody().dir;\n      const dirAttr = directionality ? ' dir=\"' + encode(directionality) + '\"' : '';\n      const previewHtml = '<!DOCTYPE html>' + '<html>' + '<head>' + headHtml + '</head>' + '<body id=\"' + encode(bodyId) + '\" class=\"mce-content-body ' + encode(bodyClass) + '\"' + dirAttr + '>' + editor.getContent() + preventClicksOnLinksScript + '</body>' + '</html>';\n      return previewHtml;\n    };\n\n    const open = editor => {\n      const content = getPreviewHtml(editor);\n      const dataApi = editor.windowManager.open({\n        title: 'Preview',\n        size: 'large',\n        body: {\n          type: 'panel',\n          items: [{\n            name: 'preview',\n            type: 'iframe',\n            sandboxed: true,\n            transparent: false\n          }]\n        },\n        buttons: [{\n          type: 'cancel',\n          name: 'close',\n          text: 'Close',\n          primary: true\n        }],\n        initialData: {\n          preview: content\n        }\n      });\n      dataApi.focus('close');\n    };\n\n    const register$1 = editor => {\n      editor.addCommand('mcePreview', () => {\n        open(editor);\n      });\n    };\n\n    const register = editor => {\n      const onAction = () => editor.execCommand('mcePreview');\n      editor.ui.registry.addButton('preview', {\n        icon: 'preview',\n        tooltip: 'Preview',\n        onAction\n      });\n      editor.ui.registry.addMenuItem('preview', {\n        icon: 'preview',\n        text: 'Preview',\n        onAction\n      });\n    };\n\n    var Plugin = () => {\n      global$2.add('preview', editor => {\n        register$1(editor);\n        register(editor);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const isSimpleType = type => value => typeof value === type;\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const never = constant(false);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const hasOwnProperty = Object.hasOwnProperty;\n    const get$1 = (obj, key) => {\n      return has(obj, key) ? Optional.from(obj[key]) : Optional.none();\n    };\n    const has = (obj, key) => hasOwnProperty.call(obj, key);\n\n    const option = name => editor => editor.options.get(name);\n    const register$1 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('sn_settings', {\n        processor: 'object',\n        default: {}\n      });\n    };\n    const showBottomBorder = editor => {\n      const snSettings = option('sn_settings')(editor);\n      return get$1(snSettings, 'readonlyBottomBorder').getOr(false);\n    };\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const ELEMENT = 1;\n\n    const get = (element, key) => {\n      const v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    const getOpt = (element, key) => Optional.from(get(element, key));\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    const fromDom = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom,\n      fromPoint\n    };\n\n    const is = (element, selector) => {\n      const dom = element.dom;\n      if (dom.nodeType !== ELEMENT) {\n        return false;\n      } else {\n        const elem = dom;\n        if (elem.matches !== undefined) {\n          return elem.matches(selector);\n        } else if (elem.msMatchesSelector !== undefined) {\n          return elem.msMatchesSelector(selector);\n        } else if (elem.webkitMatchesSelector !== undefined) {\n          return elem.webkitMatchesSelector(selector);\n        } else if (elem.mozMatchesSelector !== undefined) {\n          return elem.mozMatchesSelector(selector);\n        } else {\n          throw new Error('Browser lacks native selectors');\n        }\n      }\n    };\n\n    const eq = (e1, e2) => e1.dom === e2.dom;\n\n    var ClosestOrAncestor = (is, ancestor, scope, a, isRoot) => {\n      if (is(scope, a)) {\n        return Optional.some(scope);\n      } else if (isFunction(isRoot) && isRoot(scope)) {\n        return Optional.none();\n      } else {\n        return ancestor(scope, a, isRoot);\n      }\n    };\n\n    const ancestor$1 = (scope, predicate, isRoot) => {\n      let element = scope.dom;\n      const stop = isFunction(isRoot) ? isRoot : never;\n      while (element.parentNode) {\n        element = element.parentNode;\n        const el = SugarElement.fromDom(element);\n        if (predicate(el)) {\n          return Optional.some(el);\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n\n    const ancestor = (scope, selector, isRoot) => ancestor$1(scope, e => is(e, selector), isRoot);\n    const closest = (scope, selector, isRoot) => {\n      const is$1 = (element, selector) => is(element, selector);\n      return ClosestOrAncestor(is$1, ancestor, scope, selector, isRoot);\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.VK');\n\n    const getHeight = editor => editor.dom.getStyle(editor.getContainer(), 'height');\n    const setHeight = (editor, height) => editor.dom.setStyle(editor.getContainer(), 'height', height);\n    const getDimensions = editor => ({\n      min_height: editor.options.get('min_height'),\n      height: editor.options.get('height'),\n      max_height: editor.options.get('max_height'),\n      current: getHeight(editor)\n    });\n    const setDimmensions = (editor, dimensions) => {\n      const {\n        min_height,\n        height,\n        max_height,\n        current\n      } = dimensions;\n      editor.options.set('min_height', min_height);\n      editor.options.set('height', height);\n      editor.options.set('max_height', max_height);\n      setHeight(editor, current);\n    };\n    const toggleClasses = editor => {\n      const container = editor.getContainer();\n      const {\n        toggleClass\n      } = editor.dom;\n      toggleClass(container, 'sn-mce-readonly');\n      if (showBottomBorder(editor)) {\n        toggleClass(container, 'sn-mce-readonly-border-bottom');\n      }\n    };\n    const getAnchorHrefOpt = (editor, elm) => {\n      const isRoot = elm => eq(elm, SugarElement.fromDom(editor.getBody()));\n      return closest(elm, 'a', isRoot).bind(a => getOpt(a, 'href'));\n    };\n    const handleOnClick = editor => event => {\n      const target = event.target;\n      const elm = SugarElement.fromDom(target);\n      getAnchorHrefOpt(editor, elm).each(href => {\n        if (!global.metaKeyPressed(event) && !/^#/.test(href)) {\n          event.stopImmediatePropagation();\n        }\n      });\n    };\n    const addClickEventListener = editor => {\n      editor.getWin().addEventListener('click', handleOnClick(editor), true);\n    };\n    const removeClickEventListener = editor => {\n      editor.getWin().removeEventListener('click', handleOnClick(editor), true);\n    };\n    const register = editor => {\n      let dimensions;\n      editor.mode.register('readonlynoborder', {\n        activate: () => {\n          dimensions = getDimensions(editor);\n          toggleClasses(editor);\n          setHeight(editor, editor.getDoc().documentElement.scrollHeight);\n          addClickEventListener(editor);\n        },\n        deactivate: () => {\n          toggleClasses(editor);\n          setDimmensions(editor, dimensions);\n          removeClickEventListener(editor);\n        },\n        editorReadOnly: true\n      });\n      editor.on('SwitchMode', ({\n        mode\n      }) => {\n        if (mode === 'readonly') {\n          editor.mode.set('readonlynoborder');\n        }\n      });\n    };\n\n    var Plugin = () => {\n      global$1.add('readonlynoborder', editor => {\n        register$1(editor);\n        register(editor);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const isString = isType$1('string');\n    const isArray = isType$1('array');\n    const isBoolean = isSimpleType('boolean');\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isNumber = isSimpleType('number');\n\n    const noop = () => {};\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const always = constant(true);\n\n    const punctuationStr = \"[~\\u2116|!-*+-\\\\/:;?@\\\\[-`{}\\xA1\\xAB\\xB7\\xBB\\xBF;\\xB7\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1361-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u3008\\u3009\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30\\u2E31\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]\";\n\n    const punctuation$1 = constant(punctuationStr);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const punctuation = punctuation$1;\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.Env');\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const nativeSlice = Array.prototype.slice;\n    const nativePush = Array.prototype.push;\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const eachr = (xs, f) => {\n      for (let i = xs.length - 1; i >= 0; i--) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const groupBy = (xs, f) => {\n      if (xs.length === 0) {\n        return [];\n      } else {\n        let wasType = f(xs[0]);\n        const r = [];\n        let group = [];\n        for (let i = 0, len = xs.length; i < len; i++) {\n          const x = xs[i];\n          const type = f(x);\n          if (type !== wasType) {\n            r.push(group);\n            group = [];\n          }\n          wasType = type;\n          group.push(x);\n        }\n        if (group.length !== 0) {\n          r.push(group);\n        }\n        return r;\n      }\n    };\n    const foldl = (xs, f, acc) => {\n      each(xs, (x, i) => {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    const flatten = xs => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    const bind = (xs, f) => flatten(map(xs, f));\n    const sort = (xs, comparator) => {\n      const copy = nativeSlice.call(xs, 0);\n      copy.sort(comparator);\n      return copy;\n    };\n\n    const hasOwnProperty = Object.hasOwnProperty;\n    const has = (obj, key) => hasOwnProperty.call(obj, key);\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n    const ELEMENT = 1;\n    const TEXT = 3;\n\n    const type = element => element.dom.nodeType;\n    const isType = t => element => type(element) === t;\n    const isText$1 = isType(TEXT);\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    const fromDom = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom,\n      fromPoint\n    };\n\n    const bypassSelector = dom => dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;\n    const all = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? [] : map(base.querySelectorAll(selector), SugarElement.fromDom);\n    };\n\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const children = element => map(element.dom.childNodes, SugarElement.fromDom);\n    const spot = (element, offset) => ({\n      element,\n      offset\n    });\n    const leaf = (element, offset) => {\n      const cs = children(element);\n      return cs.length > 0 && offset < cs.length ? spot(cs[offset], 0) : spot(element, offset);\n    };\n\n    const before = (marker, element) => {\n      const parent$1 = parent(marker);\n      parent$1.each(v => {\n        v.dom.insertBefore(element.dom, marker.dom);\n      });\n    };\n    const append = (parent, element) => {\n      parent.dom.appendChild(element.dom);\n    };\n    const wrap = (element, wrapper) => {\n      before(element, wrapper);\n      append(wrapper, element);\n    };\n\n    const NodeValue = (is, name) => {\n      const get = element => {\n        if (!is(element)) {\n          throw new Error('Can only get ' + name + ' value of a ' + name + ' node');\n        }\n        return getOption(element).getOr('');\n      };\n      const getOption = element => is(element) ? Optional.from(element.dom.nodeValue) : Optional.none();\n      const set = (element, value) => {\n        if (!is(element)) {\n          throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node');\n        }\n        element.dom.nodeValue = value;\n      };\n      return {\n        get,\n        getOption,\n        set\n      };\n    };\n\n    const api = NodeValue(isText$1, 'text');\n    const get$1 = element => api.get(element);\n\n    const compareDocumentPosition = (a, b, match) => {\n      return (a.compareDocumentPosition(b) & match) !== 0;\n    };\n    const documentPositionPreceding = (a, b) => {\n      return compareDocumentPosition(a, b, Node.DOCUMENT_POSITION_PRECEDING);\n    };\n\n    const descendants = (scope, selector) => all(selector, scope);\n\n    var global = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker');\n\n    const isSimpleBoundary = (dom, node) => dom.isBlock(node) || has(dom.schema.getVoidElements(), node.nodeName);\n    const isContentEditableFalse = (dom, node) => !dom.isEditable(node);\n    const isContentEditableTrueInCef = (dom, node) => dom.getContentEditable(node) === 'true' && node.parentNode && !dom.isEditable(node.parentNode);\n    const isHidden = (dom, node) => !dom.isBlock(node) && has(dom.schema.getWhitespaceElements(), node.nodeName);\n    const isBoundary = (dom, node) => isSimpleBoundary(dom, node) || isContentEditableFalse(dom, node) || isHidden(dom, node) || isContentEditableTrueInCef(dom, node);\n    const isText = node => node.nodeType === 3;\n    const nuSection = () => ({\n      sOffset: 0,\n      fOffset: 0,\n      elements: []\n    });\n    const toLeaf = (node, offset) => leaf(SugarElement.fromDom(node), offset);\n    const walk = (dom, walkerFn, startNode, callbacks, endNode, skipStart = true) => {\n      let next = skipStart ? walkerFn(false) : startNode;\n      while (next) {\n        const isCefNode = isContentEditableFalse(dom, next);\n        if (isCefNode || isHidden(dom, next)) {\n          const stopWalking = isCefNode ? callbacks.cef(next) : callbacks.boundary(next);\n          if (stopWalking) {\n            break;\n          } else {\n            next = walkerFn(true);\n            continue;\n          }\n        } else if (isSimpleBoundary(dom, next)) {\n          if (callbacks.boundary(next)) {\n            break;\n          }\n        } else if (isText(next)) {\n          callbacks.text(next);\n        }\n        if (next === endNode) {\n          break;\n        } else {\n          next = walkerFn(false);\n        }\n      }\n    };\n    const collectTextToBoundary = (dom, section, node, rootNode, forwards) => {\n      var _a;\n      if (isBoundary(dom, node)) {\n        return;\n      }\n      const rootBlock = (_a = dom.getParent(rootNode, dom.isBlock)) !== null && _a !== void 0 ? _a : dom.getRoot();\n      const walker = new global(node, rootBlock);\n      const walkerFn = forwards ? walker.next.bind(walker) : walker.prev.bind(walker);\n      walk(dom, walkerFn, node, {\n        boundary: always,\n        cef: always,\n        text: next => {\n          if (forwards) {\n            section.fOffset += next.length;\n          } else {\n            section.sOffset += next.length;\n          }\n          section.elements.push(SugarElement.fromDom(next));\n        }\n      });\n    };\n    const collect = (dom, rootNode, startNode, endNode, callbacks, skipStart = true) => {\n      const walker = new global(startNode, rootNode);\n      const sections = [];\n      let current = nuSection();\n      collectTextToBoundary(dom, current, startNode, rootNode, false);\n      const finishSection = () => {\n        if (current.elements.length > 0) {\n          sections.push(current);\n          current = nuSection();\n        }\n        return false;\n      };\n      walk(dom, walker.next.bind(walker), startNode, {\n        boundary: finishSection,\n        cef: node => {\n          finishSection();\n          if (callbacks) {\n            sections.push(...callbacks.cef(node));\n          }\n          return false;\n        },\n        text: next => {\n          current.elements.push(SugarElement.fromDom(next));\n          if (callbacks) {\n            callbacks.text(next, current);\n          }\n        }\n      }, endNode, skipStart);\n      if (endNode) {\n        collectTextToBoundary(dom, current, endNode, rootNode, true);\n      }\n      finishSection();\n      return sections;\n    };\n    const collectRangeSections = (dom, rng) => {\n      const start = toLeaf(rng.startContainer, rng.startOffset);\n      const startNode = start.element.dom;\n      const end = toLeaf(rng.endContainer, rng.endOffset);\n      const endNode = end.element.dom;\n      return collect(dom, rng.commonAncestorContainer, startNode, endNode, {\n        text: (node, section) => {\n          if (node === endNode) {\n            section.fOffset += node.length - end.offset;\n          } else if (node === startNode) {\n            section.sOffset += start.offset;\n          }\n        },\n        cef: node => {\n          const sections = bind(descendants(SugarElement.fromDom(node), '*[contenteditable=true]'), e => {\n            const ceTrueNode = e.dom;\n            return collect(dom, ceTrueNode, ceTrueNode);\n          });\n          return sort(sections, (a, b) => documentPositionPreceding(a.elements[0].dom, b.elements[0].dom) ? 1 : -1);\n        }\n      }, false);\n    };\n    const fromRng = (dom, rng) => rng.collapsed ? [] : collectRangeSections(dom, rng);\n    const fromNode = (dom, node) => {\n      const rng = dom.createRng();\n      rng.selectNode(node);\n      return fromRng(dom, rng);\n    };\n    const fromNodes = (dom, nodes) => bind(nodes, node => fromNode(dom, node));\n\n    const find$2 = (text, pattern, start = 0, finish = text.length) => {\n      const regex = pattern.regex;\n      regex.lastIndex = start;\n      const results = [];\n      let match;\n      while (match = regex.exec(text)) {\n        const matchedText = match[pattern.matchIndex];\n        const matchStart = match.index + match[0].indexOf(matchedText);\n        const matchFinish = matchStart + matchedText.length;\n        if (matchFinish > finish) {\n          break;\n        }\n        results.push({\n          start: matchStart,\n          finish: matchFinish\n        });\n        regex.lastIndex = matchFinish;\n      }\n      return results;\n    };\n    const extract = (elements, matches) => {\n      const nodePositions = foldl(elements, (acc, element) => {\n        const content = get$1(element);\n        const start = acc.last;\n        const finish = start + content.length;\n        const positions = bind(matches, (match, matchIdx) => {\n          if (match.start < finish && match.finish > start) {\n            return [{\n              element,\n              start: Math.max(start, match.start) - start,\n              finish: Math.min(finish, match.finish) - start,\n              matchId: matchIdx\n            }];\n          } else {\n            return [];\n          }\n        });\n        return {\n          results: acc.results.concat(positions),\n          last: finish\n        };\n      }, {\n        results: [],\n        last: 0\n      }).results;\n      return groupBy(nodePositions, position => position.matchId);\n    };\n\n    const find$1 = (pattern, sections) => bind(sections, section => {\n      const elements = section.elements;\n      const content = map(elements, get$1).join('');\n      const positions = find$2(content, pattern, section.sOffset, content.length - section.fOffset);\n      return extract(elements, positions);\n    });\n    const mark = (matches, replacementNode) => {\n      eachr(matches, (match, idx) => {\n        eachr(match, pos => {\n          const wrapper = SugarElement.fromDom(replacementNode.cloneNode(false));\n          set(wrapper, 'data-mce-index', idx);\n          const textNode = pos.element.dom;\n          if (textNode.length === pos.finish && pos.start === 0) {\n            wrap(pos.element, wrapper);\n          } else {\n            if (textNode.length !== pos.finish) {\n              textNode.splitText(pos.finish);\n            }\n            const matchNode = textNode.splitText(pos.start);\n            wrap(SugarElement.fromDom(matchNode), wrapper);\n          }\n        });\n      });\n    };\n    const findAndMark = (dom, pattern, node, replacementNode) => {\n      const textSections = fromNode(dom, node);\n      const matches = find$1(pattern, textSections);\n      mark(matches, replacementNode);\n      return matches.length;\n    };\n    const findAndMarkInSelection = (dom, pattern, selection, replacementNode) => {\n      const bookmark = selection.getBookmark();\n      const nodes = dom.select('td[data-mce-selected],th[data-mce-selected]');\n      const textSections = nodes.length > 0 ? fromNodes(dom, nodes) : fromRng(dom, selection.getRng());\n      const matches = find$1(pattern, textSections);\n      mark(matches, replacementNode);\n      selection.moveToBookmark(bookmark);\n      return matches.length;\n    };\n\n    const getElmIndex = elm => {\n      return elm.getAttribute('data-mce-index');\n    };\n    const markAllMatches = (editor, currentSearchState, pattern, inSelection) => {\n      const marker = editor.dom.create('span', {\n        'data-mce-bogus': 1\n      });\n      marker.className = 'mce-match-marker';\n      const node = editor.getBody();\n      done(editor, currentSearchState, false);\n      if (inSelection) {\n        return findAndMarkInSelection(editor.dom, pattern, editor.selection, marker);\n      } else {\n        return findAndMark(editor.dom, pattern, node, marker);\n      }\n    };\n    const unwrap = node => {\n      var _a;\n      const parentNode = node.parentNode;\n      if (node.firstChild) {\n        parentNode.insertBefore(node.firstChild, node);\n      }\n      (_a = node.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(node);\n    };\n    const findSpansByIndex = (editor, index) => {\n      const spans = [];\n      const nodes = global$1.toArray(editor.getBody().getElementsByTagName('span'));\n      if (nodes.length) {\n        for (let i = 0; i < nodes.length; i++) {\n          const nodeIndex = getElmIndex(nodes[i]);\n          if (nodeIndex === null || !nodeIndex.length) {\n            continue;\n          }\n          if (nodeIndex === index.toString()) {\n            spans.push(nodes[i]);\n          }\n        }\n      }\n      return spans;\n    };\n    const moveSelection = (editor, currentSearchState, forward) => {\n      const searchState = currentSearchState.get();\n      let testIndex = searchState.index;\n      const dom = editor.dom;\n      if (forward) {\n        if (testIndex + 1 === searchState.count) {\n          testIndex = 0;\n        } else {\n          testIndex++;\n        }\n      } else {\n        if (testIndex - 1 === -1) {\n          testIndex = searchState.count - 1;\n        } else {\n          testIndex--;\n        }\n      }\n      dom.removeClass(findSpansByIndex(editor, searchState.index), 'mce-match-marker-selected');\n      const spans = findSpansByIndex(editor, testIndex);\n      if (spans.length) {\n        dom.addClass(findSpansByIndex(editor, testIndex), 'mce-match-marker-selected');\n        editor.selection.scrollIntoView(spans[0]);\n        return testIndex;\n      }\n      return -1;\n    };\n    const removeNode = (dom, node) => {\n      const parent = node.parentNode;\n      dom.remove(node);\n      if (parent && dom.isEmpty(parent)) {\n        dom.remove(parent);\n      }\n    };\n    const escapeSearchText = (text, wholeWord) => {\n      const escapedText = text.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&').replace(/\\s/g, '[^\\\\S\\\\r\\\\n\\\\uFEFF]');\n      const wordRegex = '(' + escapedText + ')';\n      return wholeWord ? \"(?:^|\\\\s|\".concat(punctuation(), \")\") + wordRegex + \"(?=$|\\\\s|\".concat(punctuation(), \")\") : wordRegex;\n    };\n    const find = (editor, currentSearchState, text, matchCase, wholeWord, inSelection) => {\n      const selection = editor.selection;\n      const escapedText = escapeSearchText(text, wholeWord);\n      const isForwardSelection = selection.isForward();\n      const pattern = {\n        regex: new RegExp(escapedText, matchCase ? 'g' : 'gi'),\n        matchIndex: 1\n      };\n      const count = markAllMatches(editor, currentSearchState, pattern, inSelection);\n      if (global$2.browser.isSafari()) {\n        selection.setRng(selection.getRng(), isForwardSelection);\n      }\n      if (count) {\n        const newIndex = moveSelection(editor, currentSearchState, true);\n        currentSearchState.set({\n          index: newIndex,\n          count,\n          text,\n          matchCase,\n          wholeWord,\n          inSelection\n        });\n      }\n      return count;\n    };\n    const next = (editor, currentSearchState) => {\n      const index = moveSelection(editor, currentSearchState, true);\n      currentSearchState.set({\n        ...currentSearchState.get(),\n        index\n      });\n    };\n    const prev = (editor, currentSearchState) => {\n      const index = moveSelection(editor, currentSearchState, false);\n      currentSearchState.set({\n        ...currentSearchState.get(),\n        index\n      });\n    };\n    const isMatchSpan = node => {\n      const matchIndex = getElmIndex(node);\n      return matchIndex !== null && matchIndex.length > 0;\n    };\n    const replace = (editor, currentSearchState, text, forward, all) => {\n      const searchState = currentSearchState.get();\n      const currentIndex = searchState.index;\n      let currentMatchIndex,\n        nextIndex = currentIndex;\n      forward = forward !== false;\n      const node = editor.getBody();\n      const nodes = global$1.grep(global$1.toArray(node.getElementsByTagName('span')), isMatchSpan);\n      for (let i = 0; i < nodes.length; i++) {\n        const nodeIndex = getElmIndex(nodes[i]);\n        let matchIndex = currentMatchIndex = parseInt(nodeIndex, 10);\n        if (all || matchIndex === searchState.index) {\n          if (text.length) {\n            nodes[i].innerText = text;\n            unwrap(nodes[i]);\n          } else {\n            removeNode(editor.dom, nodes[i]);\n          }\n          while (nodes[++i]) {\n            matchIndex = parseInt(getElmIndex(nodes[i]), 10);\n            if (matchIndex === currentMatchIndex) {\n              removeNode(editor.dom, nodes[i]);\n            } else {\n              i--;\n              break;\n            }\n          }\n          if (forward) {\n            nextIndex--;\n          }\n        } else if (currentMatchIndex > currentIndex) {\n          nodes[i].setAttribute('data-mce-index', String(currentMatchIndex - 1));\n        }\n      }\n      currentSearchState.set({\n        ...searchState,\n        count: all ? 0 : searchState.count - 1,\n        index: nextIndex\n      });\n      if (forward) {\n        next(editor, currentSearchState);\n      } else {\n        prev(editor, currentSearchState);\n      }\n      return !all && currentSearchState.get().count > 0;\n    };\n    const done = (editor, currentSearchState, keepEditorSelection) => {\n      let startContainer;\n      let endContainer;\n      const searchState = currentSearchState.get();\n      const nodes = global$1.toArray(editor.getBody().getElementsByTagName('span'));\n      for (let i = 0; i < nodes.length; i++) {\n        const nodeIndex = getElmIndex(nodes[i]);\n        if (nodeIndex !== null && nodeIndex.length) {\n          if (nodeIndex === searchState.index.toString()) {\n            if (!startContainer) {\n              startContainer = nodes[i].firstChild;\n            }\n            endContainer = nodes[i].firstChild;\n          }\n          unwrap(nodes[i]);\n        }\n      }\n      currentSearchState.set({\n        ...searchState,\n        index: -1,\n        count: 0,\n        text: ''\n      });\n      if (startContainer && endContainer) {\n        const rng = editor.dom.createRng();\n        rng.setStart(startContainer, 0);\n        rng.setEnd(endContainer, endContainer.data.length);\n        if (keepEditorSelection !== false) {\n          editor.selection.setRng(rng);\n        }\n        return rng;\n      } else {\n        return undefined;\n      }\n    };\n    const hasNext = (editor, currentSearchState) => currentSearchState.get().count > 1;\n    const hasPrev = (editor, currentSearchState) => currentSearchState.get().count > 1;\n\n    const get = (editor, currentState) => {\n      const done$1 = keepEditorSelection => {\n        return done(editor, currentState, keepEditorSelection);\n      };\n      const find$1 = (text, matchCase, wholeWord, inSelection = false) => {\n        return find(editor, currentState, text, matchCase, wholeWord, inSelection);\n      };\n      const next$1 = () => {\n        return next(editor, currentState);\n      };\n      const prev$1 = () => {\n        return prev(editor, currentState);\n      };\n      const replace$1 = (text, forward, all) => {\n        return replace(editor, currentState, text, forward, all);\n      };\n      return {\n        done: done$1,\n        find: find$1,\n        next: next$1,\n        prev: prev$1,\n        replace: replace$1\n      };\n    };\n\n    const singleton = doRevoke => {\n      const subject = Cell(Optional.none());\n      const revoke = () => subject.get().each(doRevoke);\n      const clear = () => {\n        revoke();\n        subject.set(Optional.none());\n      };\n      const isSet = () => subject.get().isSome();\n      const get = () => subject.get();\n      const set = s => {\n        revoke();\n        subject.set(Optional.some(s));\n      };\n      return {\n        clear,\n        isSet,\n        get,\n        set\n      };\n    };\n    const value = () => {\n      const subject = singleton(noop);\n      const on = f => subject.get().each(f);\n      return {\n        ...subject,\n        on\n      };\n    };\n\n    const open = (editor, currentSearchState) => {\n      const dialogApi = value();\n      editor.undoManager.add();\n      const selectedText = global$1.trim(editor.selection.getContent({\n        format: 'text'\n      }));\n      const updateButtonStates = api => {\n        api.setEnabled('next', hasNext(editor, currentSearchState));\n        api.setEnabled('prev', hasPrev(editor, currentSearchState));\n      };\n      const updateSearchState = api => {\n        const data = api.getData();\n        const current = currentSearchState.get();\n        currentSearchState.set({\n          ...current,\n          matchCase: data.matchcase,\n          wholeWord: data.wholewords,\n          inSelection: data.inselection\n        });\n      };\n      const disableAll = (api, disable) => {\n        const buttons = ['replace', 'replaceall', 'prev', 'next'];\n        const toggle = name => api.setEnabled(name, !disable);\n        each(buttons, toggle);\n      };\n      const toggleNotFoundAlert = (isVisible, api) => {\n        api.redial(getDialogSpec(isVisible, api.getData()));\n      };\n      const focusButtonIfRequired = (api, name) => {\n        if (global$2.browser.isSafari() && global$2.deviceType.isTouch() && (name === 'find' || name === 'replace' || name === 'replaceall')) {\n          api.focus(name);\n        }\n      };\n      const reset = api => {\n        done(editor, currentSearchState, false);\n        disableAll(api, true);\n        updateButtonStates(api);\n      };\n      const doFind = api => {\n        const data = api.getData();\n        const last = currentSearchState.get();\n        if (!data.findtext.length) {\n          reset(api);\n          return;\n        }\n        if (last.text === data.findtext && last.matchCase === data.matchcase && last.wholeWord === data.wholewords) {\n          next(editor, currentSearchState);\n        } else {\n          const count = find(editor, currentSearchState, data.findtext, data.matchcase, data.wholewords, data.inselection);\n          if (count <= 0) {\n            toggleNotFoundAlert(true, api);\n          }\n          disableAll(api, count === 0);\n        }\n        updateButtonStates(api);\n      };\n      const initialState = currentSearchState.get();\n      const initialData = {\n        findtext: selectedText,\n        replacetext: '',\n        wholewords: initialState.wholeWord,\n        matchcase: initialState.matchCase,\n        inselection: initialState.inSelection\n      };\n      const getPanelItems = error => {\n        const items = [{\n          type: 'bar',\n          items: [{\n            type: 'input',\n            name: 'findtext',\n            placeholder: 'Find',\n            maximized: true,\n            inputMode: 'search'\n          }, {\n            type: 'button',\n            name: 'prev',\n            text: 'Previous',\n            icon: 'action-prev',\n            enabled: false,\n            borderless: true\n          }, {\n            type: 'button',\n            name: 'next',\n            text: 'Next',\n            icon: 'action-next',\n            enabled: false,\n            borderless: true\n          }]\n        }, {\n          type: 'input',\n          name: 'replacetext',\n          placeholder: 'Replace with',\n          inputMode: 'search'\n        }];\n        if (error) {\n          items.push({\n            type: 'alertbanner',\n            level: 'error',\n            text: 'Could not find the specified string.',\n            icon: 'warning'\n          });\n        }\n        return items;\n      };\n      const getDialogSpec = (showNoMatchesAlertBanner, initialData) => ({\n        title: 'Find and Replace',\n        size: 'normal',\n        body: {\n          type: 'panel',\n          items: getPanelItems(showNoMatchesAlertBanner)\n        },\n        buttons: [{\n          type: 'menu',\n          name: 'options',\n          icon: 'preferences',\n          tooltip: 'Preferences',\n          align: 'start',\n          items: [{\n            type: 'togglemenuitem',\n            name: 'matchcase',\n            text: 'Match case'\n          }, {\n            type: 'togglemenuitem',\n            name: 'wholewords',\n            text: 'Find whole words only'\n          }, {\n            type: 'togglemenuitem',\n            name: 'inselection',\n            text: 'Find in selection'\n          }]\n        }, {\n          type: 'custom',\n          name: 'find',\n          text: 'Find',\n          primary: true\n        }, {\n          type: 'custom',\n          name: 'replace',\n          text: 'Replace',\n          enabled: false\n        }, {\n          type: 'custom',\n          name: 'replaceall',\n          text: 'Replace all',\n          enabled: false\n        }],\n        initialData,\n        onChange: (api, details) => {\n          if (showNoMatchesAlertBanner) {\n            toggleNotFoundAlert(false, api);\n          }\n          if (details.name === 'findtext' && currentSearchState.get().count > 0) {\n            reset(api);\n          }\n        },\n        onAction: (api, details) => {\n          const data = api.getData();\n          switch (details.name) {\n            case 'find':\n              doFind(api);\n              break;\n            case 'replace':\n              if (!replace(editor, currentSearchState, data.replacetext)) {\n                reset(api);\n              } else {\n                updateButtonStates(api);\n              }\n              break;\n            case 'replaceall':\n              replace(editor, currentSearchState, data.replacetext, true, true);\n              reset(api);\n              break;\n            case 'prev':\n              prev(editor, currentSearchState);\n              updateButtonStates(api);\n              break;\n            case 'next':\n              next(editor, currentSearchState);\n              updateButtonStates(api);\n              break;\n            case 'matchcase':\n            case 'wholewords':\n            case 'inselection':\n              toggleNotFoundAlert(false, api);\n              updateSearchState(api);\n              reset(api);\n              break;\n          }\n          focusButtonIfRequired(api, details.name);\n        },\n        onSubmit: api => {\n          doFind(api);\n          focusButtonIfRequired(api, 'find');\n        },\n        onClose: () => {\n          editor.focus();\n          done(editor, currentSearchState);\n          editor.undoManager.add();\n        }\n      });\n      dialogApi.set(editor.windowManager.open(getDialogSpec(false, initialData), {\n        inline: 'toolbar'\n      }));\n    };\n\n    const register$1 = (editor, currentSearchState) => {\n      editor.addCommand('SearchReplace', () => {\n        open(editor, currentSearchState);\n      });\n    };\n\n    const showDialog = (editor, currentSearchState) => () => {\n      open(editor, currentSearchState);\n    };\n    const register = (editor, currentSearchState) => {\n      editor.ui.registry.addMenuItem('searchreplace', {\n        text: 'Find and replace...',\n        shortcut: 'Meta+F',\n        onAction: showDialog(editor, currentSearchState),\n        icon: 'search'\n      });\n      editor.ui.registry.addButton('searchreplace', {\n        tooltip: 'Find and replace',\n        onAction: showDialog(editor, currentSearchState),\n        icon: 'search'\n      });\n      editor.shortcuts.add('Meta+F', '', showDialog(editor, currentSearchState));\n    };\n\n    var Plugin = () => {\n      global$3.add('searchreplace', editor => {\n        const currentSearchState = Cell({\n          index: -1,\n          count: 0,\n          text: '',\n          matchCase: false,\n          wholeWord: false,\n          inSelection: false\n        });\n        register$1(editor, currentSearchState);\n        register(editor, currentSearchState);\n        return get(editor, currentSearchState);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const isArray = isType$1('array');\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const identity = x => {\n      return x;\n    };\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const nativeIndexOf = Array.prototype.indexOf;\n    const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t);\n    const contains = (xs, x) => rawIndexOf(xs, x) > -1;\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const forall = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        const x = xs[i];\n        if (pred(x, i) !== true) {\n          return false;\n        }\n      }\n      return true;\n    };\n\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    const fromDom = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom,\n      fromPoint\n    };\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const type = element => element.dom.nodeType;\n    const isType = t => element => type(element) === t;\n    const isDocument = isType(DOCUMENT);\n    const isDocumentFragment = isType(DOCUMENT_FRAGMENT);\n\n    const owner = element => SugarElement.fromDom(element.dom.ownerDocument);\n    const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos);\n    const children = element => map(element.dom.childNodes, SugarElement.fromDom);\n\n    const append = (parent, element) => {\n      parent.dom.appendChild(element.dom);\n    };\n\n    const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host);\n    const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;\n    const getContentContainer = dos => isShadowRoot(dos) ? dos : SugarElement.fromDom(documentOrOwner(dos).dom.body);\n\n    const body = () => getBody(SugarElement.fromDom(document));\n    const getBody = doc => {\n      const b = doc.dom.body;\n      if (b === null || b === undefined) {\n        throw new Error('Body is not available yet');\n      }\n      return SugarElement.fromDom(b);\n    };\n\n    const prefixName = name => constant('alloy.' + name);\n    const attachedToDom = prefixName('system.attached');\n\n    const emit = (component, event) => {\n      dispatchWith(component, component.element, event, {});\n    };\n    const dispatchWith = (component, target, event, properties) => {\n      const data = {\n        target,\n        ...properties\n      };\n      component.getSystem().triggerEvent(event, target, data);\n    };\n\n    const keys = Object.keys;\n\n    const generate$1 = cases => {\n      if (!isArray(cases)) {\n        throw new Error('cases must be an array');\n      }\n      if (cases.length === 0) {\n        throw new Error('there must be at least one case');\n      }\n      const constructors = [];\n      const adt = {};\n      each(cases, (acase, count) => {\n        const keys$1 = keys(acase);\n        if (keys$1.length !== 1) {\n          throw new Error('one and only one name per case');\n        }\n        const key = keys$1[0];\n        const value = acase[key];\n        if (adt[key] !== undefined) {\n          throw new Error('duplicate key detected:' + key);\n        } else if (key === 'cata') {\n          throw new Error('cannot have a case named cata (sorry)');\n        } else if (!isArray(value)) {\n          throw new Error('case arguments must be an array');\n        }\n        constructors.push(key);\n        adt[key] = (...args) => {\n          const argLength = args.length;\n          if (argLength !== value.length) {\n            throw new Error('Wrong number of arguments to case ' + key + '. Expected ' + value.length + ' (' + value + '), got ' + argLength);\n          }\n          const match = branches => {\n            const branchKeys = keys(branches);\n            if (constructors.length !== branchKeys.length) {\n              throw new Error('Wrong number of arguments to match. Expected: ' + constructors.join(',') + '\\nActual: ' + branchKeys.join(','));\n            }\n            const allReqd = forall(constructors, reqKey => {\n              return contains(branchKeys, reqKey);\n            });\n            if (!allReqd) {\n              throw new Error('Not all branches were specified when using match. Specified: ' + branchKeys.join(', ') + '\\nRequired: ' + constructors.join(', '));\n            }\n            return branches[key].apply(null, args);\n          };\n          return {\n            fold: (...foldArgs) => {\n              if (foldArgs.length !== cases.length) {\n                throw new Error('Wrong number of arguments to fold. Expected ' + cases.length + ', got ' + foldArgs.length);\n              }\n              const target = foldArgs[count];\n              return target.apply(null, args);\n            },\n            match,\n            log: label => {\n              console.log(label, {\n                constructors,\n                constructor: key,\n                params: args\n              });\n            }\n          };\n        };\n      });\n      return adt;\n    };\n    const Adt = {\n      generate: generate$1\n    };\n\n    Adt.generate([{\n      bothErrors: ['error1', 'error2']\n    }, {\n      firstError: ['error1', 'value2']\n    }, {\n      secondError: ['value1', 'error2']\n    }, {\n      bothValues: ['value1', 'value2']\n    }]);\n\n    let unique = 0;\n    const generate = prefix => {\n      const date = new Date();\n      const time = date.getTime();\n      const random = Math.floor(Math.random() * 1000000000);\n      unique++;\n      return prefix + '_' + random + unique + String(time);\n    };\n\n    generate('alloy-premade');\n\n    const fireAttaching = component => {\n      const children = component.components();\n      each(children, fireAttaching);\n      emit(component, attachedToDom());\n    };\n\n    const attachSystem = (element, guiSystem) => {\n      attachSystemWith(element, guiSystem, append);\n    };\n    const attachSystemWith = (element, guiSystem, inserter) => {\n      inserter(element, guiSystem.element);\n      const children$1 = children(guiSystem.element);\n      each(children$1, child => {\n        guiSystem.getByDom(child).each(fireAttaching);\n      });\n    };\n\n    const getDocument = () => SugarElement.fromDom(document);\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.dom.StyleSheetLoader');\n\n    var global = tinymce.util.Tools.resolve('tinymce.EditorManager');\n\n    const getSkinUrl = editor => {\n      const skin = editor.options.get('skin');\n      let skinUrl = editor.options.get('skin_url');\n      if (skin !== false) {\n        const skinName = skin ? skin : 'oxide';\n        if (skinUrl) {\n          skinUrl = editor.documentBaseURI.toAbsolute(skinUrl);\n        } else {\n          skinUrl = global.baseURL + '/skins/ui/' + skinName;\n        }\n      }\n      return skinUrl;\n    };\n    const isSkinDisabled = editor => editor.options.get('skin') === false;\n\n    const SN_TINYMCE_HOIST_TAG = 'sn-tinymce-hoist';\n    let skinLoaded = false;\n    let hoistEl;\n    const createHoistElement = () => {\n      if (!hoistEl) {\n        hoistEl = getDocument().dom.createElement(SN_TINYMCE_HOIST_TAG);\n        hoistEl.attachShadow({\n          mode: 'open'\n        });\n        append(body(), SugarElement.fromDom(hoistEl));\n      }\n    };\n    const loadSkin = editor => {\n      if (!skinLoaded && hoistEl) {\n        const {\n          shadowRoot\n        } = hoistEl;\n        if (!shadowRoot) return;\n        const styleSheetLoader = global$1(shadowRoot, {\n          contentCssCors: editor.getParam('content_css_cors'),\n          referrerPolicy: editor.getParam('referrer_policy', '', 'string')\n        });\n        const stylesheetUrl = \"\".concat(getSkinUrl(editor), \"/skin.min.css\");\n        if (isSkinDisabled(editor) === false) {\n          styleSheetLoader.load(stylesheetUrl);\n        }\n        skinLoaded = true;\n      }\n    };\n    const moveSink = (editor, parent) => {\n      if (!parent) return;\n      const root = SugarElement.fromDom(parent);\n      const uiRoot = getContentContainer(getRootNode(root));\n      const uiMothership = editor.theme.ui.getRootComponent();\n      if (!uiRoot.dom.contains(uiMothership.element.dom)) {\n        attachSystem(uiRoot, uiMothership);\n      }\n      const style = uiMothership.element.dom.style;\n      style.zIndex = '65536';\n      style.position = 'absolute';\n      style.width = '100%';\n    };\n    const hoistSink = editor => {\n      if (hoistEl) moveSink(editor, hoistEl.shadowRoot);\n    };\n    const restoreSink = editor => {\n      moveSink(editor, editor.getElement());\n    };\n    const setupHoist = editor => {\n      createHoistElement();\n      loadSkin(editor);\n    };\n    const removeHoist = editor => {\n      if (!hoistEl) return;\n      editor.theme.ui.getRootComponent().destroy();\n      const editors = global.get();\n      if (editors.length === 0 || editors.length === 1 && editors[0] === editor) {\n        hoistEl.remove();\n        hoistEl = null;\n        skinLoaded = false;\n      }\n    };\n\n    const isFullScreen = editor => {\n      return editor.plugins.fullscreen && editor.plugins.fullscreen.isFullscreen();\n    };\n    const areNotificationsOpen = editor => {\n      const notifications = editor.notificationManager.getNotifications();\n      return notifications === null || notifications === void 0 ? void 0 : notifications.length;\n    };\n    const hoistNotificationsOnFullScreen = editor => {\n      editor.on('FullscreenStateChanged', ({\n        state\n      }) => {\n        if (state && areNotificationsOpen(editor)) {\n          hoistSink(editor);\n        } else {\n          restoreSink(editor);\n        }\n      });\n      editor.on('BeforeOpenNotification', () => {\n        if (isFullScreen(editor)) {\n          hoistSink(editor);\n        }\n      });\n    };\n\n    const dismissPopups$1 = constant('dismiss.popups');\n\n    const debounce = (callback, time) => {\n      let timeout = null;\n      let debounced = false;\n      let stopped = false;\n      const func = function (...args) {\n        const context = this;\n        debounced = !!timeout;\n        return new Promise(resolve => {\n          const later = () => {\n            timeout = null;\n            if (debounced) {\n              callback.apply(context, args).then(data => !stopped && resolve(data));\n            }\n          };\n          stopped = false;\n          clearTimeout(timeout);\n          timeout = setTimeout(later, time);\n          if (!debounced) {\n            callback.apply(context, args).then(data => !stopped && resolve(data));\n          }\n        });\n      };\n      func.stop = () => {\n        stopped = true;\n        clearTimeout(timeout);\n      };\n      return func;\n    };\n\n    let count = 0;\n    const seed = () => {\n      const rnd = () => {\n        return Math.round(Math.random() * 4294967295).toString(36);\n      };\n      const now = new Date().getTime();\n      return 's' + now.toString(36) + rnd() + rnd() + rnd();\n    };\n    const uuid = prefix => {\n      return prefix + count++ + seed();\n    };\n\n    const EVENT_PREFIX = 'sn-tinymce-findAncestors';\n    const hostMap = new WeakMap();\n    const editorMap = new Map();\n    const findAncestors = element => new Promise(resolve => {\n      const eventName = uuid(EVENT_PREFIX);\n      const findListener = e => {\n        window.removeEventListener(eventName, findListener);\n        const path = e.composedPath();\n        resolve([...path.filter(n => n !== element && n.nodeType === Node.ELEMENT_NODE), document, window]);\n      };\n      window.addEventListener(eventName, findListener);\n      const event = new window.CustomEvent(eventName, {\n        bubbles: true,\n        composed: true,\n        cancelable: false\n      });\n      element.dispatchEvent(event);\n    });\n    const dismissPopups = editor => {\n      const channel = dismissPopups$1();\n      editor.theme.ui.getRootComponent().broadcastOn([channel], {\n        target: editor.theme.ui.getRootComponent().element\n      });\n      editor.dispatch('sn_popups_fix.dismiss_popups');\n    };\n    const scrollHandler = debounce(source => new Promise(() => {\n      for (const [editor, ancestors] of Array.from(editorMap.entries())) {\n        if (ancestors.indexOf(source) >= 0) {\n          dismissPopups(editor);\n          restoreSink(editor);\n          editor.nodeChanged();\n        }\n      }\n    }), 100);\n    const scrollListener = event => {\n      const [source] = event.composedPath();\n      scrollHandler(source);\n    };\n    const addWindowHandlers = editor => {\n      const oldOpen = editor.windowManager.open;\n      editor.windowManager.open = (...args) => {\n        hoistSink(editor);\n        return oldOpen.apply(editor, args);\n      };\n      editor.on('CloseWindow', () => {\n        restoreSink(editor);\n      });\n    };\n    const getPopupButtons = editor => {\n      const tinymceContainer = editor.getContainer();\n      return [...tinymceContainer.querySelectorAll('button.tox-tbtn--select[aria-haspopup=\"true\"], div.tox-split-button[aria-haspopup=\"true\"], button.tox-mbtn.tox-mbtn--select[aria-haspopup=\"true\"]')];\n    };\n    const addPopupButtonClickListenersOnNodeChange = editor => {\n      const onNodeChange = () => {\n        const buttons = getPopupButtons(editor);\n        if (buttons.length !== 0) {\n          addPopupButtonClickListeners(editor);\n          editor.off('NodeChange', onNodeChange);\n        }\n      };\n      editor.on('NodeChange', onNodeChange);\n    };\n    const addPopupButtonClickListeners = editor => {\n      const buttons = getPopupButtons(editor);\n      for (const button of buttons) {\n        button.addEventListener('click', () => {\n          hoistSink(editor);\n        });\n      }\n      editor.on('click focus', () => {\n        restoreSink(editor);\n      });\n    };\n    const getHostsFromAncestors = ancestors => [...ancestors.map(el => el.shadowRoot).filter(identity), window];\n    const addOutsideScrollListener = editor => {\n      const target = editor.getContainer();\n      findAncestors(target).then(ancestors => {\n        const hosts = getHostsFromAncestors(ancestors);\n        for (const host of hosts) {\n          let editorSet = hostMap.get(host);\n          if (!editorSet) {\n            host.addEventListener('scroll', scrollListener, true);\n            editorSet = new Set();\n            hostMap.set(host, editorSet);\n          }\n          editorSet.add(editor);\n        }\n        editorMap.set(editor, ancestors);\n      });\n    };\n    const removeOutsideScrollListener = editor => {\n      const ancestors = editorMap.get(editor);\n      if (!ancestors) return;\n      const hosts = getHostsFromAncestors(ancestors);\n      for (const host of hosts) {\n        const editorSet = hostMap.get(host);\n        editorSet === null || editorSet === void 0 ? void 0 : editorSet.delete(editor);\n        if (!editorSet || editorSet.size === 0) {\n          host.removeEventListener('scroll', scrollListener, true);\n          hostMap.delete(host);\n        }\n      }\n      editorMap.delete(editor);\n    };\n\n    var Plugin = () => {\n      global$2.add('sn_popups_fix', editor => {\n        editor.on('init', () => {\n          setupHoist(editor);\n          addPopupButtonClickListenersOnNodeChange(editor);\n          addOutsideScrollListener(editor);\n          addWindowHandlers(editor);\n          hoistNotificationsOnFullScreen(editor);\n        });\n        editor.on('remove', () => {\n          removeHoist(editor);\n          removeOutsideScrollListener(editor);\n        });\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$3 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const eq$1 = t => a => t === a;\n    const isString = isType$1('string');\n    const isArray = isType$1('array');\n    const isBoolean = isSimpleType('boolean');\n    const isUndefined = eq$1(undefined);\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n\n    const noop = () => {};\n    const compose1 = (fbc, fab) => a => fbc(fab(a));\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const identity = x => {\n      return x;\n    };\n    const tripleEquals = (a, b) => {\n      return a === b;\n    };\n    function curry(fn, ...initialArgs) {\n      return (...restArgs) => {\n        const all = initialArgs.concat(restArgs);\n        return fn.apply(null, all);\n      };\n    }\n    const call = f => {\n      f();\n    };\n    const never = constant(false);\n    const always = constant(true);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const keys = Object.keys;\n    const hasOwnProperty = Object.hasOwnProperty;\n    const each$1 = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n    const objAcc = r => (x, i) => {\n      r[i] = x;\n    };\n    const internalFilter = (obj, pred, onTrue, onFalse) => {\n      each$1(obj, (x, i) => {\n        (pred(x, i) ? onTrue : onFalse)(x, i);\n      });\n    };\n    const filter$1 = (obj, pred) => {\n      const t = {};\n      internalFilter(obj, pred, objAcc(t), noop);\n      return t;\n    };\n    const mapToArray = (obj, f) => {\n      const r = [];\n      each$1(obj, (value, name) => {\n        r.push(f(value, name));\n      });\n      return r;\n    };\n    const values = obj => {\n      return mapToArray(obj, identity);\n    };\n    const size = obj => {\n      return keys(obj).length;\n    };\n    const get$4 = (obj, key) => {\n      return has(obj, key) ? Optional.from(obj[key]) : Optional.none();\n    };\n    const has = (obj, key) => hasOwnProperty.call(obj, key);\n    const hasNonNullableKey = (obj, key) => has(obj, key) && obj[key] !== undefined && obj[key] !== null;\n    const isEmpty$1 = r => {\n      for (const x in r) {\n        if (hasOwnProperty.call(r, x)) {\n          return false;\n        }\n      }\n      return true;\n    };\n\n    const nativeIndexOf = Array.prototype.indexOf;\n    const nativePush = Array.prototype.push;\n    const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t);\n    const contains = (xs, x) => rawIndexOf(xs, x) > -1;\n    const exists = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const range = (num, f) => {\n      const r = [];\n      for (let i = 0; i < num; i++) {\n        r.push(f(i));\n      }\n      return r;\n    };\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const eachr = (xs, f) => {\n      for (let i = xs.length - 1; i >= 0; i--) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const partition = (xs, pred) => {\n      const pass = [];\n      const fail = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        const arr = pred(x, i) ? pass : fail;\n        arr.push(x);\n      }\n      return {\n        pass,\n        fail\n      };\n    };\n    const filter = (xs, pred) => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    const foldr = (xs, f, acc) => {\n      eachr(xs, (x, i) => {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    const foldl = (xs, f, acc) => {\n      each(xs, (x, i) => {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    const findUntil = (xs, pred, until) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(x);\n        } else if (until(x, i)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const find = (xs, pred) => {\n      return findUntil(xs, pred, never);\n    };\n    const flatten$1 = xs => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    const bind = (xs, f) => flatten$1(map(xs, f));\n    const forall = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        const x = xs[i];\n        if (pred(x, i) !== true) {\n          return false;\n        }\n      }\n      return true;\n    };\n    const mapToObject = (xs, f) => {\n      const r = {};\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        r[String(x)] = f(x, i);\n      }\n      return r;\n    };\n    const get$3 = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n    const head = xs => get$3(xs, 0);\n    const last = xs => get$3(xs, xs.length - 1);\n    const findMap = (arr, f) => {\n      for (let i = 0; i < arr.length; i++) {\n        const r = f(arr[i], i);\n        if (r.isSome()) {\n          return r;\n        }\n      }\n      return Optional.none();\n    };\n\n    const COMMENT = 8;\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n    const ELEMENT = 1;\n    const TEXT = 3;\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom$1(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom$1(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom$1(node);\n    };\n    const fromDom$1 = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom$1);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom: fromDom$1,\n      fromPoint\n    };\n\n    const is$2 = (element, selector) => {\n      const dom = element.dom;\n      if (dom.nodeType !== ELEMENT) {\n        return false;\n      } else {\n        const elem = dom;\n        if (elem.matches !== undefined) {\n          return elem.matches(selector);\n        } else if (elem.msMatchesSelector !== undefined) {\n          return elem.msMatchesSelector(selector);\n        } else if (elem.webkitMatchesSelector !== undefined) {\n          return elem.webkitMatchesSelector(selector);\n        } else if (elem.mozMatchesSelector !== undefined) {\n          return elem.mozMatchesSelector(selector);\n        } else {\n          throw new Error('Browser lacks native selectors');\n        }\n      }\n    };\n    const bypassSelector = dom => dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;\n    const all$1 = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? [] : map(base.querySelectorAll(selector), SugarElement.fromDom);\n    };\n    const one = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? Optional.none() : Optional.from(base.querySelector(selector)).map(SugarElement.fromDom);\n    };\n\n    const eq = (e1, e2) => e1.dom === e2.dom;\n    const is$1 = is$2;\n\n    typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const name = element => {\n      const r = element.dom.nodeName;\n      return r.toLowerCase();\n    };\n    const type = element => element.dom.nodeType;\n    const isType = t => element => type(element) === t;\n    const isComment = element => type(element) === COMMENT || name(element) === '#comment';\n    const isElement = isType(ELEMENT);\n    const isText = isType(TEXT);\n    const isDocument = isType(DOCUMENT);\n    const isDocumentFragment = isType(DOCUMENT_FRAGMENT);\n    const isTag = tag => e => isElement(e) && name(e) === tag;\n\n    const owner = element => SugarElement.fromDom(element.dom.ownerDocument);\n    const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos);\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const parents = (element, isRoot) => {\n      const stop = isFunction(isRoot) ? isRoot : never;\n      let dom = element.dom;\n      const ret = [];\n      while (dom.parentNode !== null && dom.parentNode !== undefined) {\n        const rawParent = dom.parentNode;\n        const p = SugarElement.fromDom(rawParent);\n        ret.push(p);\n        if (stop(p) === true) {\n          break;\n        } else {\n          dom = rawParent;\n        }\n      }\n      return ret;\n    };\n    const prevSibling = element => Optional.from(element.dom.previousSibling).map(SugarElement.fromDom);\n    const nextSibling = element => Optional.from(element.dom.nextSibling).map(SugarElement.fromDom);\n    const children$3 = element => map(element.dom.childNodes, SugarElement.fromDom);\n    const child$3 = (element, index) => {\n      const cs = element.dom.childNodes;\n      return Optional.from(cs[index]).map(SugarElement.fromDom);\n    };\n    const firstChild = element => child$3(element, 0);\n\n    const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host);\n    const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;\n    const getShadowRoot = e => {\n      const r = getRootNode(e);\n      return isShadowRoot(r) ? Optional.some(r) : Optional.none();\n    };\n    const getShadowHost = e => SugarElement.fromDom(e.dom.host);\n\n    const inBody = element => {\n      const dom = isText(element) ? element.dom.parentNode : element.dom;\n      if (dom === undefined || dom === null || dom.ownerDocument === null) {\n        return false;\n      }\n      const doc = dom.ownerDocument;\n      return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost));\n    };\n\n    var ClosestOrAncestor = (is, ancestor, scope, a, isRoot) => {\n      if (is(scope, a)) {\n        return Optional.some(scope);\n      } else if (isFunction(isRoot) && isRoot(scope)) {\n        return Optional.none();\n      } else {\n        return ancestor(scope, a, isRoot);\n      }\n    };\n\n    const ancestor$1 = (scope, predicate, isRoot) => {\n      let element = scope.dom;\n      const stop = isFunction(isRoot) ? isRoot : never;\n      while (element.parentNode) {\n        element = element.parentNode;\n        const el = SugarElement.fromDom(element);\n        if (predicate(el)) {\n          return Optional.some(el);\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const closest$2 = (scope, predicate, isRoot) => {\n      const is = (s, test) => test(s);\n      return ClosestOrAncestor(is, ancestor$1, scope, predicate, isRoot);\n    };\n    const child$2 = (scope, predicate) => {\n      const pred = node => predicate(SugarElement.fromDom(node));\n      const result = find(scope.dom.childNodes, pred);\n      return result.map(SugarElement.fromDom);\n    };\n\n    const ancestor = (scope, selector, isRoot) => ancestor$1(scope, e => is$2(e, selector), isRoot);\n    const child$1 = (scope, selector) => child$2(scope, e => is$2(e, selector));\n    const descendant = (scope, selector) => one(selector, scope);\n    const closest$1 = (scope, selector, isRoot) => {\n      const is = (element, selector) => is$2(element, selector);\n      return ClosestOrAncestor(is, ancestor, scope, selector, isRoot);\n    };\n\n    const closest = target => closest$1(target, '[contenteditable]');\n    const isEditable = (element, assumeEditable = false) => {\n      if (inBody(element)) {\n        return element.dom.isContentEditable;\n      } else {\n        return closest(element).fold(constant(assumeEditable), editable => getRaw$1(editable) === 'true');\n      }\n    };\n    const getRaw$1 = element => element.dom.contentEditable;\n\n    const getNodeName = elm => elm.nodeName.toLowerCase();\n    const getBody = editor => SugarElement.fromDom(editor.getBody());\n    const getIsRoot = editor => element => eq(element, getBody(editor));\n    const removePxSuffix = size => size ? size.replace(/px$/, '') : '';\n    const addPxSuffix = size => /^\\d+(\\.\\d+)?$/.test(size) ? size + 'px' : size;\n    const getSelectionStart = editor => SugarElement.fromDom(editor.selection.getStart());\n    const getSelectionEnd = editor => SugarElement.fromDom(editor.selection.getEnd());\n    const isInEditableContext = cell => closest$2(cell, isTag('table')).forall(isEditable);\n\n    const children$2 = (scope, predicate) => filter(children$3(scope), predicate);\n    const descendants$1 = (scope, predicate) => {\n      let result = [];\n      each(children$3(scope), x => {\n        if (predicate(x)) {\n          result = result.concat([x]);\n        }\n        result = result.concat(descendants$1(x, predicate));\n      });\n      return result;\n    };\n\n    const children$1 = (scope, selector) => children$2(scope, e => is$2(e, selector));\n    const descendants = (scope, selector) => all$1(selector, scope);\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set$2 = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const setAll = (element, attrs) => {\n      const dom = element.dom;\n      each$1(attrs, (v, k) => {\n        rawSet(dom, k, v);\n      });\n    };\n    const get$2 = (element, key) => {\n      const v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    const getOpt = (element, key) => Optional.from(get$2(element, key));\n    const remove$2 = (element, key) => {\n      element.dom.removeAttribute(key);\n    };\n    const clone = element => foldl(element.dom.attributes, (acc, attr) => {\n      acc[attr.name] = attr.value;\n      return acc;\n    }, {});\n\n    const is = (lhs, rhs, comparator = tripleEquals) => lhs.exists(left => comparator(left, rhs));\n    const cat = arr => {\n      const r = [];\n      const push = x => {\n        r.push(x);\n      };\n      for (let i = 0; i < arr.length; i++) {\n        arr[i].each(push);\n      }\n      return r;\n    };\n    const lift2 = (oa, ob, f) => oa.isSome() && ob.isSome() ? Optional.some(f(oa.getOrDie(), ob.getOrDie())) : Optional.none();\n    const flatten = oot => oot.bind(identity);\n    const someIf = (b, a) => b ? Optional.some(a) : Optional.none();\n\n    const removeFromStart = (str, numChars) => {\n      return str.substring(numChars);\n    };\n\n    const checkRange = (str, substr, start) => substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr;\n    const removeLeading = (str, prefix) => {\n      return startsWith(str, prefix) ? removeFromStart(str, prefix.length) : str;\n    };\n    const startsWith = (str, prefix) => {\n      return checkRange(str, prefix, 0);\n    };\n    const blank = r => s => s.replace(r, '');\n    const trim = blank(/^\\s+|\\s+$/g);\n    const isNotEmpty = s => s.length > 0;\n    const isEmpty = s => !isNotEmpty(s);\n    const toInt = (value, radix = 10) => {\n      const num = parseInt(value, radix);\n      return isNaN(num) ? Optional.none() : Optional.some(num);\n    };\n    const toFloat = value => {\n      const num = parseFloat(value);\n      return isNaN(num) ? Optional.none() : Optional.some(num);\n    };\n\n    const isSupported = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n\n    const internalSet = (dom, property, value) => {\n      if (!isString(value)) {\n        console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);\n        throw new Error('CSS value must be a string: ' + value);\n      }\n      if (isSupported(dom)) {\n        dom.style.setProperty(property, value);\n      }\n    };\n    const internalRemove = (dom, property) => {\n      if (isSupported(dom)) {\n        dom.style.removeProperty(property);\n      }\n    };\n    const set$1 = (element, property, value) => {\n      const dom = element.dom;\n      internalSet(dom, property, value);\n    };\n    const get$1 = (element, property) => {\n      const dom = element.dom;\n      const styles = window.getComputedStyle(dom);\n      const r = styles.getPropertyValue(property);\n      return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r;\n    };\n    const getUnsafeProperty = (dom, property) => isSupported(dom) ? dom.style.getPropertyValue(property) : '';\n    const getRaw = (element, property) => {\n      const dom = element.dom;\n      const raw = getUnsafeProperty(dom, property);\n      return Optional.from(raw).filter(r => r.length > 0);\n    };\n    const remove$1 = (element, property) => {\n      const dom = element.dom;\n      internalRemove(dom, property);\n      if (is(getOpt(element, 'style').map(trim), '')) {\n        remove$2(element, 'style');\n      }\n    };\n\n    const getAttrValue = (cell, name, fallback = 0) => getOpt(cell, name).map(value => parseInt(value, 10)).getOr(fallback);\n\n    const firstLayer = (scope, selector) => {\n      return filterFirstLayer(scope, selector, always);\n    };\n    const filterFirstLayer = (scope, selector, predicate) => {\n      return bind(children$3(scope), x => {\n        if (is$2(x, selector)) {\n          return predicate(x) ? [x] : [];\n        } else {\n          return filterFirstLayer(x, selector, predicate);\n        }\n      });\n    };\n\n    const validSectionList = ['tfoot', 'thead', 'tbody', 'colgroup'];\n    const isValidSection = parentName => contains(validSectionList, parentName);\n    const grid = (rows, columns) => ({\n      rows,\n      columns\n    });\n    const detail = (element, rowspan, colspan) => ({\n      element,\n      rowspan,\n      colspan\n    });\n    const extended = (element, rowspan, colspan, row, column, isLocked) => ({\n      element,\n      rowspan,\n      colspan,\n      row,\n      column,\n      isLocked\n    });\n    const rowdetail = (element, cells, section) => ({\n      element,\n      cells,\n      section\n    });\n    const bounds = (startRow, startCol, finishRow, finishCol) => ({\n      startRow,\n      startCol,\n      finishRow,\n      finishCol\n    });\n    const columnext = (element, colspan, column) => ({\n      element,\n      colspan,\n      column\n    });\n    const colgroup = (element, columns) => ({\n      element,\n      columns\n    });\n\n    const lookup = (tags, element, isRoot = never) => {\n      if (isRoot(element)) {\n        return Optional.none();\n      }\n      if (contains(tags, name(element))) {\n        return Optional.some(element);\n      }\n      const isRootOrUpperTable = elm => is$2(elm, 'table') || isRoot(elm);\n      return ancestor(element, tags.join(','), isRootOrUpperTable);\n    };\n    const cell = (element, isRoot) => lookup(['td', 'th'], element, isRoot);\n    const cells = ancestor => firstLayer(ancestor, 'th,td');\n    const columns = ancestor => {\n      if (is$2(ancestor, 'colgroup')) {\n        return children$1(ancestor, 'col');\n      } else {\n        return bind(columnGroups(ancestor), columnGroup => children$1(columnGroup, 'col'));\n      }\n    };\n    const table = (element, isRoot) => closest$1(element, 'table', isRoot);\n    const rows = ancestor => firstLayer(ancestor, 'tr');\n    const columnGroups = ancestor => table(ancestor).fold(constant([]), table => children$1(table, 'colgroup'));\n\n    const fromRowsOrColGroups = (elems, getSection) => map(elems, row => {\n      if (name(row) === 'colgroup') {\n        const cells = map(columns(row), column => {\n          const colspan = getAttrValue(column, 'span', 1);\n          return detail(column, 1, colspan);\n        });\n        return rowdetail(row, cells, 'colgroup');\n      } else {\n        const cells$1 = map(cells(row), cell => {\n          const rowspan = getAttrValue(cell, 'rowspan', 1);\n          const colspan = getAttrValue(cell, 'colspan', 1);\n          return detail(cell, rowspan, colspan);\n        });\n        return rowdetail(row, cells$1, getSection(row));\n      }\n    });\n    const getParentSection = group => parent(group).map(parent => {\n      const parentName = name(parent);\n      return isValidSection(parentName) ? parentName : 'tbody';\n    }).getOr('tbody');\n    const fromTable$1 = table => {\n      const rows$1 = rows(table);\n      const columnGroups$1 = columnGroups(table);\n      const elems = [...columnGroups$1, ...rows$1];\n      return fromRowsOrColGroups(elems, getParentSection);\n    };\n\n    const LOCKED_COL_ATTR = 'data-snooker-locked-cols';\n    const getLockedColumnsFromTable = table => getOpt(table, LOCKED_COL_ATTR).bind(lockedColStr => Optional.from(lockedColStr.match(/\\d+/g))).map(lockedCols => mapToObject(lockedCols, always));\n\n    const key = (row, column) => {\n      return row + ',' + column;\n    };\n    const getAt = (warehouse, row, column) => Optional.from(warehouse.access[key(row, column)]);\n    const findItem = (warehouse, item, comparator) => {\n      const filtered = filterItems(warehouse, detail => {\n        return comparator(item, detail.element);\n      });\n      return filtered.length > 0 ? Optional.some(filtered[0]) : Optional.none();\n    };\n    const filterItems = (warehouse, predicate) => {\n      const all = bind(warehouse.all, r => {\n        return r.cells;\n      });\n      return filter(all, predicate);\n    };\n    const generateColumns = rowData => {\n      const columnsGroup = {};\n      let index = 0;\n      each(rowData.cells, column => {\n        const colspan = column.colspan;\n        range(colspan, columnIndex => {\n          const colIndex = index + columnIndex;\n          columnsGroup[colIndex] = columnext(column.element, colspan, colIndex);\n        });\n        index += colspan;\n      });\n      return columnsGroup;\n    };\n    const generate$1 = list => {\n      const access = {};\n      const cells = [];\n      const tableOpt = head(list).map(rowData => rowData.element).bind(table);\n      const lockedColumns = tableOpt.bind(getLockedColumnsFromTable).getOr({});\n      let maxRows = 0;\n      let maxColumns = 0;\n      let rowCount = 0;\n      const {\n        pass: colgroupRows,\n        fail: rows\n      } = partition(list, rowData => rowData.section === 'colgroup');\n      each(rows, rowData => {\n        const currentRow = [];\n        each(rowData.cells, rowCell => {\n          let start = 0;\n          while (access[key(rowCount, start)] !== undefined) {\n            start++;\n          }\n          const isLocked = hasNonNullableKey(lockedColumns, start.toString());\n          const current = extended(rowCell.element, rowCell.rowspan, rowCell.colspan, rowCount, start, isLocked);\n          for (let occupiedColumnPosition = 0; occupiedColumnPosition < rowCell.colspan; occupiedColumnPosition++) {\n            for (let occupiedRowPosition = 0; occupiedRowPosition < rowCell.rowspan; occupiedRowPosition++) {\n              const rowPosition = rowCount + occupiedRowPosition;\n              const columnPosition = start + occupiedColumnPosition;\n              const newpos = key(rowPosition, columnPosition);\n              access[newpos] = current;\n              maxColumns = Math.max(maxColumns, columnPosition + 1);\n            }\n          }\n          currentRow.push(current);\n        });\n        maxRows++;\n        cells.push(rowdetail(rowData.element, currentRow, rowData.section));\n        rowCount++;\n      });\n      const {\n        columns,\n        colgroups\n      } = last(colgroupRows).map(rowData => {\n        const columns = generateColumns(rowData);\n        const colgroup$1 = colgroup(rowData.element, values(columns));\n        return {\n          colgroups: [colgroup$1],\n          columns\n        };\n      }).getOrThunk(() => ({\n        colgroups: [],\n        columns: {}\n      }));\n      const grid$1 = grid(maxRows, maxColumns);\n      return {\n        grid: grid$1,\n        access,\n        all: cells,\n        columns,\n        colgroups\n      };\n    };\n    const fromTable = table => {\n      const list = fromTable$1(table);\n      return generate$1(list);\n    };\n    const justCells = warehouse => bind(warehouse.all, w => w.cells);\n    const justColumns = warehouse => values(warehouse.columns);\n    const hasColumns = warehouse => keys(warehouse.columns).length > 0;\n    const getColumnAt = (warehouse, columnIndex) => Optional.from(warehouse.columns[columnIndex]);\n    const Warehouse = {\n      fromTable,\n      generate: generate$1,\n      getAt,\n      findItem,\n      filterItems,\n      justCells,\n      justColumns,\n      hasColumns,\n      getColumnAt\n    };\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n    const getTDTHOverallStyle = (dom, elm, name) => {\n      const cells = dom.select('td,th', elm);\n      let firstChildStyle;\n      for (let i = 0; i < cells.length; i++) {\n        const currentStyle = dom.getStyle(cells[i], name);\n        if (isUndefined(firstChildStyle)) {\n          firstChildStyle = currentStyle;\n        }\n        if (firstChildStyle !== currentStyle) {\n          return '';\n        }\n      }\n      return firstChildStyle;\n    };\n    const setAlign = (editor, elm, name) => {\n      global$2.each('left center right'.split(' '), align => {\n        if (align !== name) {\n          editor.formatter.remove('align' + align, {}, elm);\n        }\n      });\n      if (name) {\n        editor.formatter.apply('align' + name, {}, elm);\n      }\n    };\n    const setVAlign = (editor, elm, name) => {\n      global$2.each('top middle bottom'.split(' '), align => {\n        if (align !== name) {\n          editor.formatter.remove('valign' + align, {}, elm);\n        }\n      });\n      if (name) {\n        editor.formatter.apply('valign' + name, {}, elm);\n      }\n    };\n\n    const fireTableModified = (editor, table, data) => {\n      editor.dispatch('TableModified', {\n        ...data,\n        table\n      });\n    };\n\n    const toNumber = (px, fallback) => toFloat(px).getOr(fallback);\n    const getProp = (element, name, fallback) => toNumber(get$1(element, name), fallback);\n    const calcContentBoxSize = (element, size, upper, lower) => {\n      const paddingUpper = getProp(element, \"padding-\".concat(upper), 0);\n      const paddingLower = getProp(element, \"padding-\".concat(lower), 0);\n      const borderUpper = getProp(element, \"border-\".concat(upper, \"-width\"), 0);\n      const borderLower = getProp(element, \"border-\".concat(lower, \"-width\"), 0);\n      return size - paddingUpper - paddingLower - borderUpper - borderLower;\n    };\n    const getCalculatedWidth = (element, boxSizing) => {\n      const dom = element.dom;\n      const width = dom.getBoundingClientRect().width || dom.offsetWidth;\n      return boxSizing === 'border-box' ? width : calcContentBoxSize(element, width, 'left', 'right');\n    };\n    const getInnerWidth = element => getCalculatedWidth(element, 'content-box');\n\n    const getInner = getInnerWidth;\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.Env');\n\n    const defaultTableToolbar = 'tableprops tabledelete | tableinsertrowbefore tableinsertrowafter tabledeleterow | tableinsertcolbefore tableinsertcolafter tabledeletecol';\n    const defaultCellBorderWidths = range(5, i => {\n      const size = \"\".concat(i + 1, \"px\");\n      return {\n        title: size,\n        value: size\n      };\n    });\n    const defaultCellBorderStyles = map(['Solid', 'Dotted', 'Dashed', 'Double', 'Groove', 'Ridge', 'Inset', 'Outset', 'None', 'Hidden'], type => {\n      return {\n        title: type,\n        value: type.toLowerCase()\n      };\n    });\n    const defaultWidth = '100%';\n    const getPixelForcedWidth = editor => {\n      var _a;\n      const dom = editor.dom;\n      const parentBlock = (_a = dom.getParent(editor.selection.getStart(), dom.isBlock)) !== null && _a !== void 0 ? _a : editor.getBody();\n      return getInner(SugarElement.fromDom(parentBlock)) + 'px';\n    };\n    const determineDefaultStyles = (editor, defaultStyles) => {\n      if (isResponsiveForced(editor) || !shouldStyleWithCss(editor)) {\n        return defaultStyles;\n      } else if (isPixelsForced(editor)) {\n        return {\n          ...defaultStyles,\n          width: getPixelForcedWidth(editor)\n        };\n      } else {\n        return {\n          ...defaultStyles,\n          width: defaultWidth\n        };\n      }\n    };\n    const determineDefaultAttributes = (editor, defaultAttributes) => {\n      if (isResponsiveForced(editor) || shouldStyleWithCss(editor)) {\n        return defaultAttributes;\n      } else if (isPixelsForced(editor)) {\n        return {\n          ...defaultAttributes,\n          width: getPixelForcedWidth(editor)\n        };\n      } else {\n        return {\n          ...defaultAttributes,\n          width: defaultWidth\n        };\n      }\n    };\n    const option = name => editor => editor.options.get(name);\n    const register = editor => {\n      const registerOption = editor.options.register;\n      registerOption('table_border_widths', {\n        processor: 'object[]',\n        default: defaultCellBorderWidths\n      });\n      registerOption('table_border_styles', {\n        processor: 'object[]',\n        default: defaultCellBorderStyles\n      });\n      registerOption('table_cell_advtab', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('table_row_advtab', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('table_advtab', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('table_appearance_options', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('table_grid', {\n        processor: 'boolean',\n        default: !global$1.deviceType.isTouch()\n      });\n      registerOption('table_cell_class_list', {\n        processor: 'object[]',\n        default: []\n      });\n      registerOption('table_row_class_list', {\n        processor: 'object[]',\n        default: []\n      });\n      registerOption('table_class_list', {\n        processor: 'object[]',\n        default: []\n      });\n      registerOption('table_toolbar', {\n        processor: 'string',\n        default: defaultTableToolbar\n      });\n      registerOption('table_background_color_map', {\n        processor: 'object[]',\n        default: []\n      });\n      registerOption('table_border_color_map', {\n        processor: 'object[]',\n        default: []\n      });\n    };\n    const getTableSizingMode = option('table_sizing_mode');\n    const getTableBorderWidths = option('table_border_widths');\n    const getTableBorderStyles = option('table_border_styles');\n    const hasAdvancedCellTab = option('table_cell_advtab');\n    const hasAdvancedRowTab = option('table_row_advtab');\n    const hasAdvancedTableTab = option('table_advtab');\n    const hasAppearanceOptions = option('table_appearance_options');\n    const hasTableGrid = option('table_grid');\n    const shouldStyleWithCss = option('table_style_by_css');\n    const getCellClassList = option('table_cell_class_list');\n    const getRowClassList = option('table_row_class_list');\n    const getTableClassList = option('table_class_list');\n    const getToolbar = option('table_toolbar');\n    const getTableBackgroundColorMap = option('table_background_color_map');\n    const getTableBorderColorMap = option('table_border_color_map');\n    const isPixelsForced = editor => getTableSizingMode(editor) === 'fixed';\n    const isResponsiveForced = editor => getTableSizingMode(editor) === 'responsive';\n    const getDefaultStyles = editor => {\n      const options = editor.options;\n      const defaultStyles = options.get('table_default_styles');\n      return options.isSet('table_default_styles') ? defaultStyles : determineDefaultStyles(editor, defaultStyles);\n    };\n    const getDefaultAttributes = editor => {\n      const options = editor.options;\n      const defaultAttributes = options.get('table_default_attributes');\n      return options.isSet('table_default_attributes') ? defaultAttributes : determineDefaultAttributes(editor, defaultAttributes);\n    };\n\n    const isWithin = (bounds, detail) => {\n      return detail.column >= bounds.startCol && detail.column + detail.colspan - 1 <= bounds.finishCol && detail.row >= bounds.startRow && detail.row + detail.rowspan - 1 <= bounds.finishRow;\n    };\n    const isRectangular = (warehouse, bounds) => {\n      let isRect = true;\n      const detailIsWithin = curry(isWithin, bounds);\n      for (let i = bounds.startRow; i <= bounds.finishRow; i++) {\n        for (let j = bounds.startCol; j <= bounds.finishCol; j++) {\n          isRect = isRect && Warehouse.getAt(warehouse, i, j).exists(detailIsWithin);\n        }\n      }\n      return isRect ? Optional.some(bounds) : Optional.none();\n    };\n\n    const getBounds = (detailA, detailB) => {\n      return bounds(Math.min(detailA.row, detailB.row), Math.min(detailA.column, detailB.column), Math.max(detailA.row + detailA.rowspan - 1, detailB.row + detailB.rowspan - 1), Math.max(detailA.column + detailA.colspan - 1, detailB.column + detailB.colspan - 1));\n    };\n    const getAnyBox = (warehouse, startCell, finishCell) => {\n      const startCoords = Warehouse.findItem(warehouse, startCell, eq);\n      const finishCoords = Warehouse.findItem(warehouse, finishCell, eq);\n      return startCoords.bind(sc => {\n        return finishCoords.map(fc => {\n          return getBounds(sc, fc);\n        });\n      });\n    };\n    const getBox$1 = (warehouse, startCell, finishCell) => {\n      return getAnyBox(warehouse, startCell, finishCell).bind(bounds => {\n        return isRectangular(warehouse, bounds);\n      });\n    };\n\n    const getBox = (table, first, last) => {\n      const warehouse = getWarehouse(table);\n      return getBox$1(warehouse, first, last);\n    };\n    const getWarehouse = Warehouse.fromTable;\n\n    const before = (marker, element) => {\n      const parent$1 = parent(marker);\n      parent$1.each(v => {\n        v.dom.insertBefore(element.dom, marker.dom);\n      });\n    };\n    const after$1 = (marker, element) => {\n      const sibling = nextSibling(marker);\n      sibling.fold(() => {\n        const parent$1 = parent(marker);\n        parent$1.each(v => {\n          append$1(v, element);\n        });\n      }, v => {\n        before(v, element);\n      });\n    };\n    const prepend = (parent, element) => {\n      const firstChild$1 = firstChild(parent);\n      firstChild$1.fold(() => {\n        append$1(parent, element);\n      }, v => {\n        parent.dom.insertBefore(element.dom, v.dom);\n      });\n    };\n    const append$1 = (parent, element) => {\n      parent.dom.appendChild(element.dom);\n    };\n    const wrap = (element, wrapper) => {\n      before(element, wrapper);\n      append$1(wrapper, element);\n    };\n\n    const after = (marker, elements) => {\n      each(elements, (x, i) => {\n        const e = i === 0 ? marker : elements[i - 1];\n        after$1(e, x);\n      });\n    };\n    const append = (parent, elements) => {\n      each(elements, x => {\n        append$1(parent, x);\n      });\n    };\n\n    const remove = element => {\n      const dom = element.dom;\n      if (dom.parentNode !== null) {\n        dom.parentNode.removeChild(dom);\n      }\n    };\n    const unwrap = wrapper => {\n      const children = children$3(wrapper);\n      if (children.length > 0) {\n        after(wrapper, children);\n      }\n      remove(wrapper);\n    };\n\n    const NodeValue = (is, name) => {\n      const get = element => {\n        if (!is(element)) {\n          throw new Error('Can only get ' + name + ' value of a ' + name + ' node');\n        }\n        return getOption(element).getOr('');\n      };\n      const getOption = element => is(element) ? Optional.from(element.dom.nodeValue) : Optional.none();\n      const set = (element, value) => {\n        if (!is(element)) {\n          throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node');\n        }\n        element.dom.nodeValue = value;\n      };\n      return {\n        get,\n        getOption,\n        set\n      };\n    };\n\n    const api = NodeValue(isText, 'text');\n    const get = element => api.get(element);\n    const set = (element, value) => api.set(element, value);\n\n    var TagBoundaries = ['body', 'p', 'div', 'article', 'aside', 'figcaption', 'figure', 'footer', 'header', 'nav', 'section', 'ol', 'ul', 'li', 'table', 'thead', 'tbody', 'tfoot', 'caption', 'tr', 'td', 'th', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'blockquote', 'pre', 'address'];\n\n    var DomUniverse = () => {\n      const clone$1 = element => {\n        return SugarElement.fromDom(element.dom.cloneNode(false));\n      };\n      const document = element => documentOrOwner(element).dom;\n      const isBoundary = element => {\n        if (!isElement(element)) {\n          return false;\n        }\n        if (name(element) === 'body') {\n          return true;\n        }\n        return contains(TagBoundaries, name(element));\n      };\n      const isEmptyTag = element => {\n        if (!isElement(element)) {\n          return false;\n        }\n        return contains(['br', 'img', 'hr', 'input'], name(element));\n      };\n      const isNonEditable = element => isElement(element) && get$2(element, 'contenteditable') === 'false';\n      const comparePosition = (element, other) => {\n        return element.dom.compareDocumentPosition(other.dom);\n      };\n      const copyAttributesTo = (source, destination) => {\n        const as = clone(source);\n        setAll(destination, as);\n      };\n      const isSpecial = element => {\n        const tag = name(element);\n        return contains(['script', 'noscript', 'iframe', 'noframes', 'noembed', 'title', 'style', 'textarea', 'xmp'], tag);\n      };\n      const getLanguage = element => isElement(element) ? getOpt(element, 'lang') : Optional.none();\n      return {\n        up: constant({\n          selector: ancestor,\n          closest: closest$1,\n          predicate: ancestor$1,\n          all: parents\n        }),\n        down: constant({\n          selector: descendants,\n          predicate: descendants$1\n        }),\n        styles: constant({\n          get: get$1,\n          getRaw: getRaw,\n          set: set$1,\n          remove: remove$1\n        }),\n        attrs: constant({\n          get: get$2,\n          set: set$2,\n          remove: remove$2,\n          copyTo: copyAttributesTo\n        }),\n        insert: constant({\n          before: before,\n          after: after$1,\n          afterAll: after,\n          append: append$1,\n          appendAll: append,\n          prepend: prepend,\n          wrap: wrap\n        }),\n        remove: constant({\n          unwrap: unwrap,\n          remove: remove\n        }),\n        create: constant({\n          nu: SugarElement.fromTag,\n          clone: clone$1,\n          text: SugarElement.fromText\n        }),\n        query: constant({\n          comparePosition,\n          prevSibling: prevSibling,\n          nextSibling: nextSibling\n        }),\n        property: constant({\n          children: children$3,\n          name: name,\n          parent: parent,\n          document,\n          isText: isText,\n          isComment: isComment,\n          isElement: isElement,\n          isSpecial,\n          getLanguage,\n          getText: get,\n          setText: set,\n          isBoundary,\n          isEmptyTag,\n          isNonEditable\n        }),\n        eq: eq,\n        is: is$1\n      };\n    };\n\n    const all = (universe, look, elements, f) => {\n      const head = elements[0];\n      const tail = elements.slice(1);\n      return f(universe, look, head, tail);\n    };\n    const oneAll = (universe, look, elements) => {\n      return elements.length > 0 ? all(universe, look, elements, unsafeOne) : Optional.none();\n    };\n    const unsafeOne = (universe, look, head, tail) => {\n      const start = look(universe, head);\n      return foldr(tail, (b, a) => {\n        const current = look(universe, a);\n        return commonElement(universe, b, current);\n      }, start);\n    };\n    const commonElement = (universe, start, end) => {\n      return start.bind(s => {\n        return end.filter(curry(universe.eq, s));\n      });\n    };\n\n    const sharedOne$1 = oneAll;\n\n    const universe = DomUniverse();\n    const sharedOne = (look, elements) => {\n      return sharedOne$1(universe, (_universe, element) => {\n        return look(element);\n      }, elements);\n    };\n\n    const lookupTable = container => {\n      return ancestor(container, 'table');\n    };\n    const retrieve$1 = (container, selector) => {\n      const sels = descendants(container, selector);\n      return sels.length > 0 ? Optional.some(sels) : Optional.none();\n    };\n    const getEdges = (container, firstSelectedSelector, lastSelectedSelector) => {\n      return descendant(container, firstSelectedSelector).bind(first => {\n        return descendant(container, lastSelectedSelector).bind(last => {\n          return sharedOne(lookupTable, [first, last]).map(table => {\n            return {\n              first,\n              last,\n              table\n            };\n          });\n        });\n      });\n    };\n\n    const retrieve = (container, selector) => {\n      return retrieve$1(container, selector);\n    };\n    const retrieveBox = (container, firstSelectedSelector, lastSelectedSelector) => {\n      return getEdges(container, firstSelectedSelector, lastSelectedSelector).bind(edges => {\n        const isRoot = ancestor => {\n          return eq(container, ancestor);\n        };\n        const sectionSelector = 'thead,tfoot,tbody,table';\n        const firstAncestor = ancestor(edges.first, sectionSelector, isRoot);\n        const lastAncestor = ancestor(edges.last, sectionSelector, isRoot);\n        return firstAncestor.bind(fA => {\n          return lastAncestor.bind(lA => {\n            return eq(fA, lA) ? getBox(edges.table, edges.first, edges.last) : Optional.none();\n          });\n        });\n      });\n    };\n\n    const fromDom = nodes => map(nodes, SugarElement.fromDom);\n\n    const strSelected = 'data-mce-selected';\n    const strSelectedSelector = 'td[' + strSelected + '],th[' + strSelected + ']';\n    const strFirstSelected = 'data-mce-first-selected';\n    const strFirstSelectedSelector = 'td[' + strFirstSelected + '],th[' + strFirstSelected + ']';\n    const strLastSelected = 'data-mce-last-selected';\n    const strLastSelectedSelector = 'td[' + strLastSelected + '],th[' + strLastSelected + ']';\n    const ephemera = {\n      selected: strSelected,\n      selectedSelector: strSelectedSelector,\n      firstSelected: strFirstSelected,\n      firstSelectedSelector: strFirstSelectedSelector,\n      lastSelected: strLastSelected,\n      lastSelectedSelector: strLastSelectedSelector\n    };\n\n    const getSelectionCellFallback = element => table(element).bind(table => retrieve(table, ephemera.firstSelectedSelector)).fold(constant(element), cells => cells[0]);\n    const getSelectionFromSelector = selector => (initCell, isRoot) => {\n      const cellName = name(initCell);\n      const cell = cellName === 'col' || cellName === 'colgroup' ? getSelectionCellFallback(initCell) : initCell;\n      return closest$1(cell, selector, isRoot);\n    };\n    const getSelectionCellOrCaption = getSelectionFromSelector('th,td,caption');\n    const getSelectionCell = getSelectionFromSelector('th,td');\n    const getCellsFromSelection = editor => fromDom(editor.model.table.getSelectedCells());\n    const getRowsFromSelection = (selected, selector) => {\n      const cellOpt = getSelectionCell(selected);\n      const rowsOpt = cellOpt.bind(cell => table(cell)).map(table => rows(table));\n      return lift2(cellOpt, rowsOpt, (cell, rows) => filter(rows, row => exists(fromDom(row.dom.cells), rowCell => get$2(rowCell, selector) === '1' || eq(rowCell, cell)))).getOr([]);\n    };\n\n    const verticalAlignValues = [{\n      text: 'None',\n      value: ''\n    }, {\n      text: 'Top',\n      value: 'top'\n    }, {\n      text: 'Middle',\n      value: 'middle'\n    }, {\n      text: 'Bottom',\n      value: 'bottom'\n    }];\n\n    const hexColour = value => ({\n      value: normalizeHex(value)\n    });\n    const shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n    const longformRegex = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i;\n    const isHexString = hex => shorthandRegex.test(hex) || longformRegex.test(hex);\n    const normalizeHex = hex => removeLeading(hex, '#').toUpperCase();\n    const fromString$1 = hex => isHexString(hex) ? Optional.some({\n      value: normalizeHex(hex)\n    }) : Optional.none();\n    const toHex = component => {\n      const hex = component.toString(16);\n      return (hex.length === 1 ? '0' + hex : hex).toUpperCase();\n    };\n    const fromRgba = rgbaColour => {\n      const value = toHex(rgbaColour.red) + toHex(rgbaColour.green) + toHex(rgbaColour.blue);\n      return hexColour(value);\n    };\n\n    const rgbRegex = /^\\s*rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)\\s*$/i;\n    const rgbaRegex = /^\\s*rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d?(?:\\.\\d+)?)\\s*\\)\\s*$/i;\n    const rgbaColour = (red, green, blue, alpha) => ({\n      red,\n      green,\n      blue,\n      alpha\n    });\n    const fromStringValues = (red, green, blue, alpha) => {\n      const r = parseInt(red, 10);\n      const g = parseInt(green, 10);\n      const b = parseInt(blue, 10);\n      const a = parseFloat(alpha);\n      return rgbaColour(r, g, b, a);\n    };\n    const fromString = rgbaString => {\n      if (rgbaString === 'transparent') {\n        return Optional.some(rgbaColour(0, 0, 0, 0));\n      }\n      const rgbMatch = rgbRegex.exec(rgbaString);\n      if (rgbMatch !== null) {\n        return Optional.some(fromStringValues(rgbMatch[1], rgbMatch[2], rgbMatch[3], '1'));\n      }\n      const rgbaMatch = rgbaRegex.exec(rgbaString);\n      if (rgbaMatch !== null) {\n        return Optional.some(fromStringValues(rgbaMatch[1], rgbaMatch[2], rgbaMatch[3], rgbaMatch[4]));\n      }\n      return Optional.none();\n    };\n\n    const anyToHex = color => fromString$1(color).orThunk(() => fromString(color).map(fromRgba)).getOrThunk(() => {\n      const canvas = document.createElement('canvas');\n      canvas.height = 1;\n      canvas.width = 1;\n      const canvasContext = canvas.getContext('2d');\n      canvasContext.clearRect(0, 0, canvas.width, canvas.height);\n      canvasContext.fillStyle = '#FFFFFF';\n      canvasContext.fillStyle = color;\n      canvasContext.fillRect(0, 0, 1, 1);\n      const rgba = canvasContext.getImageData(0, 0, 1, 1).data;\n      const r = rgba[0];\n      const g = rgba[1];\n      const b = rgba[2];\n      const a = rgba[3];\n      return fromRgba(rgbaColour(r, g, b, a));\n    });\n    const rgbaToHexString = color => fromString(color).map(fromRgba).map(h => '#' + h.value).getOr(color);\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    const singleton = doRevoke => {\n      const subject = Cell(Optional.none());\n      const revoke = () => subject.get().each(doRevoke);\n      const clear = () => {\n        revoke();\n        subject.set(Optional.none());\n      };\n      const isSet = () => subject.get().isSome();\n      const get = () => subject.get();\n      const set = s => {\n        revoke();\n        subject.set(Optional.some(s));\n      };\n      return {\n        clear,\n        isSet,\n        get,\n        set\n      };\n    };\n    const unbindable = () => singleton(s => s.unbind());\n\n    const onSetupToggle = (editor, formatName, formatValue) => {\n      return api => {\n        const boundCallback = unbindable();\n        const isNone = isEmpty(formatValue);\n        const init = () => {\n          const selectedCells = getCellsFromSelection(editor);\n          const checkNode = cell => editor.formatter.match(formatName, {\n            value: formatValue\n          }, cell.dom, isNone);\n          if (isNone) {\n            api.setActive(!exists(selectedCells, checkNode));\n            boundCallback.set(editor.formatter.formatChanged(formatName, match => api.setActive(!match), true));\n          } else {\n            api.setActive(forall(selectedCells, checkNode));\n            boundCallback.set(editor.formatter.formatChanged(formatName, api.setActive, false, {\n              value: formatValue\n            }));\n          }\n        };\n        editor.initialized ? init() : editor.on('init', init);\n        return boundCallback.clear;\n      };\n    };\n    const isListGroup = item => hasNonNullableKey(item, 'menu');\n    const buildListItems = items => map(items, item => {\n      const text = item.text || item.title || '';\n      if (isListGroup(item)) {\n        return {\n          text,\n          items: buildListItems(item.menu)\n        };\n      } else {\n        return {\n          text,\n          value: item.value\n        };\n      }\n    });\n    const buildMenuItems = (editor, items, format, onAction) => map(items, item => {\n      const text = item.text || item.title;\n      if (isListGroup(item)) {\n        return {\n          type: 'nestedmenuitem',\n          text,\n          getSubmenuItems: () => buildMenuItems(editor, item.menu, format, onAction)\n        };\n      } else {\n        return {\n          text,\n          type: 'togglemenuitem',\n          onAction: () => onAction(item.value),\n          onSetup: onSetupToggle(editor, format, item.value)\n        };\n      }\n    });\n    const applyTableCellStyle = (editor, style) => value => {\n      editor.execCommand('mceTableApplyCellStyle', false, {\n        [style]: value\n      });\n    };\n    const filterNoneItem = list => bind(list, item => {\n      if (isListGroup(item)) {\n        return [{\n          ...item,\n          menu: filterNoneItem(item.menu)\n        }];\n      } else {\n        return isNotEmpty(item.value) ? [item] : [];\n      }\n    });\n    const generateMenuItemsCallback = (editor, items, format, onAction) => callback => callback(buildMenuItems(editor, items, format, onAction));\n    const buildColorMenu = (editor, colorList, style) => {\n      const colorMap = map(colorList, entry => ({\n        text: entry.title,\n        value: '#' + anyToHex(entry.value).value,\n        type: 'choiceitem'\n      }));\n      return [{\n        type: 'fancymenuitem',\n        fancytype: 'colorswatch',\n        initData: {\n          colors: colorMap.length > 0 ? colorMap : undefined,\n          allowCustomColors: false\n        },\n        onAction: data => {\n          const value = data.value === 'remove' ? '' : data.value;\n          editor.execCommand('mceTableApplyCellStyle', false, {\n            [style]: value\n          });\n        }\n      }];\n    };\n    const changeRowHeader = editor => () => {\n      const currentType = editor.queryCommandValue('mceTableRowType');\n      const newType = currentType === 'header' ? 'body' : 'header';\n      editor.execCommand('mceTableRowType', false, {\n        type: newType\n      });\n    };\n    const changeColumnHeader = editor => () => {\n      const currentType = editor.queryCommandValue('mceTableColType');\n      const newType = currentType === 'th' ? 'td' : 'th';\n      editor.execCommand('mceTableColType', false, {\n        type: newType\n      });\n    };\n\n    const getClassList$1 = editor => {\n      const classes = buildListItems(getCellClassList(editor));\n      if (classes.length > 0) {\n        return Optional.some({\n          name: 'class',\n          type: 'listbox',\n          label: 'Class',\n          items: classes\n        });\n      }\n      return Optional.none();\n    };\n    const children = [{\n      name: 'width',\n      type: 'input',\n      label: 'Width'\n    }, {\n      name: 'height',\n      type: 'input',\n      label: 'Height'\n    }, {\n      name: 'celltype',\n      type: 'listbox',\n      label: 'Cell type',\n      items: [{\n        text: 'Cell',\n        value: 'td'\n      }, {\n        text: 'Header cell',\n        value: 'th'\n      }]\n    }, {\n      name: 'scope',\n      type: 'listbox',\n      label: 'Scope',\n      items: [{\n        text: 'None',\n        value: ''\n      }, {\n        text: 'Row',\n        value: 'row'\n      }, {\n        text: 'Column',\n        value: 'col'\n      }, {\n        text: 'Row group',\n        value: 'rowgroup'\n      }, {\n        text: 'Column group',\n        value: 'colgroup'\n      }]\n    }, {\n      name: 'halign',\n      type: 'listbox',\n      label: 'Horizontal align',\n      items: [{\n        text: 'None',\n        value: ''\n      }, {\n        text: 'Left',\n        value: 'left'\n      }, {\n        text: 'Center',\n        value: 'center'\n      }, {\n        text: 'Right',\n        value: 'right'\n      }]\n    }, {\n      name: 'valign',\n      type: 'listbox',\n      label: 'Vertical align',\n      items: verticalAlignValues\n    }];\n    const getItems$2 = editor => children.concat(getClassList$1(editor).toArray());\n\n    const getAdvancedTab = (editor, dialogName) => {\n      const emptyBorderStyle = [{\n        text: 'Select...',\n        value: ''\n      }];\n      const advTabItems = [{\n        name: 'borderstyle',\n        type: 'listbox',\n        label: 'Border style',\n        items: emptyBorderStyle.concat(buildListItems(getTableBorderStyles(editor)))\n      }, {\n        name: 'bordercolor',\n        type: 'colorinput',\n        label: 'Border color'\n      }, {\n        name: 'backgroundcolor',\n        type: 'colorinput',\n        label: 'Background color'\n      }];\n      const borderWidth = {\n        name: 'borderwidth',\n        type: 'input',\n        label: 'Border width'\n      };\n      const items = dialogName === 'cell' ? [borderWidth].concat(advTabItems) : advTabItems;\n      return {\n        title: 'Advanced',\n        name: 'advanced',\n        items\n      };\n    };\n\n    const normal = (editor, element) => {\n      const dom = editor.dom;\n      const setAttrib = (attr, value) => {\n        dom.setAttrib(element, attr, value);\n      };\n      const setStyle = (prop, value) => {\n        dom.setStyle(element, prop, value);\n      };\n      const setFormat = (formatName, value) => {\n        if (value === '') {\n          editor.formatter.remove(formatName, {\n            value: null\n          }, element, true);\n        } else {\n          editor.formatter.apply(formatName, {\n            value\n          }, element);\n        }\n      };\n      return {\n        setAttrib,\n        setStyle,\n        setFormat\n      };\n    };\n    const DomModifier = {\n      normal\n    };\n\n    const isHeaderCell = isTag('th');\n    const getRowHeaderType = (isHeaderRow, isHeaderCells) => {\n      if (isHeaderRow && isHeaderCells) {\n        return 'sectionCells';\n      } else if (isHeaderRow) {\n        return 'section';\n      } else {\n        return 'cells';\n      }\n    };\n    const getRowType$1 = row => {\n      const isHeaderRow = row.section === 'thead';\n      const isHeaderCells = is(findCommonCellType(row.cells), 'th');\n      if (row.section === 'tfoot') {\n        return {\n          type: 'footer'\n        };\n      } else if (isHeaderRow || isHeaderCells) {\n        return {\n          type: 'header',\n          subType: getRowHeaderType(isHeaderRow, isHeaderCells)\n        };\n      } else {\n        return {\n          type: 'body'\n        };\n      }\n    };\n    const findCommonCellType = cells => {\n      const headerCells = filter(cells, cell => isHeaderCell(cell.element));\n      if (headerCells.length === 0) {\n        return Optional.some('td');\n      } else if (headerCells.length === cells.length) {\n        return Optional.some('th');\n      } else {\n        return Optional.none();\n      }\n    };\n    const findCommonRowType = rows => {\n      const rowTypes = map(rows, row => getRowType$1(row).type);\n      const hasHeader = contains(rowTypes, 'header');\n      const hasFooter = contains(rowTypes, 'footer');\n      if (!hasHeader && !hasFooter) {\n        return Optional.some('body');\n      } else {\n        const hasBody = contains(rowTypes, 'body');\n        if (hasHeader && !hasBody && !hasFooter) {\n          return Optional.some('header');\n        } else if (!hasHeader && !hasBody && hasFooter) {\n          return Optional.some('footer');\n        } else {\n          return Optional.none();\n        }\n      }\n    };\n\n    const cached = f => {\n      let called = false;\n      let r;\n      return (...args) => {\n        if (!called) {\n          called = true;\n          r = f.apply(null, args);\n        }\n        return r;\n      };\n    };\n\n    const findInWarehouse = (warehouse, element) => findMap(warehouse.all, r => find(r.cells, e => eq(element, e.element)));\n    const extractCells = (warehouse, target, predicate) => {\n      const details = map(target.selection, cell$1 => {\n        return cell(cell$1).bind(lc => findInWarehouse(warehouse, lc)).filter(predicate);\n      });\n      const cells = cat(details);\n      return someIf(cells.length > 0, cells);\n    };\n    const onMergable = (_warehouse, target) => target.mergable;\n    const onUnmergable = (_warehouse, target) => target.unmergable;\n    const onCells = (warehouse, target) => extractCells(warehouse, target, always);\n    const isUnlockedTableCell = (warehouse, cell) => findInWarehouse(warehouse, cell).exists(detail => !detail.isLocked);\n    const allUnlocked = (warehouse, cells) => forall(cells, cell => isUnlockedTableCell(warehouse, cell));\n    const onUnlockedMergable = (warehouse, target) => onMergable(warehouse, target).filter(mergeable => allUnlocked(warehouse, mergeable.cells));\n    const onUnlockedUnmergable = (warehouse, target) => onUnmergable(warehouse, target).filter(cells => allUnlocked(warehouse, cells));\n\n    const generate = cases => {\n      if (!isArray(cases)) {\n        throw new Error('cases must be an array');\n      }\n      if (cases.length === 0) {\n        throw new Error('there must be at least one case');\n      }\n      const constructors = [];\n      const adt = {};\n      each(cases, (acase, count) => {\n        const keys$1 = keys(acase);\n        if (keys$1.length !== 1) {\n          throw new Error('one and only one name per case');\n        }\n        const key = keys$1[0];\n        const value = acase[key];\n        if (adt[key] !== undefined) {\n          throw new Error('duplicate key detected:' + key);\n        } else if (key === 'cata') {\n          throw new Error('cannot have a case named cata (sorry)');\n        } else if (!isArray(value)) {\n          throw new Error('case arguments must be an array');\n        }\n        constructors.push(key);\n        adt[key] = (...args) => {\n          const argLength = args.length;\n          if (argLength !== value.length) {\n            throw new Error('Wrong number of arguments to case ' + key + '. Expected ' + value.length + ' (' + value + '), got ' + argLength);\n          }\n          const match = branches => {\n            const branchKeys = keys(branches);\n            if (constructors.length !== branchKeys.length) {\n              throw new Error('Wrong number of arguments to match. Expected: ' + constructors.join(',') + '\\nActual: ' + branchKeys.join(','));\n            }\n            const allReqd = forall(constructors, reqKey => {\n              return contains(branchKeys, reqKey);\n            });\n            if (!allReqd) {\n              throw new Error('Not all branches were specified when using match. Specified: ' + branchKeys.join(', ') + '\\nRequired: ' + constructors.join(', '));\n            }\n            return branches[key].apply(null, args);\n          };\n          return {\n            fold: (...foldArgs) => {\n              if (foldArgs.length !== cases.length) {\n                throw new Error('Wrong number of arguments to fold. Expected ' + cases.length + ', got ' + foldArgs.length);\n              }\n              const target = foldArgs[count];\n              return target.apply(null, args);\n            },\n            match,\n            log: label => {\n              console.log(label, {\n                constructors,\n                constructor: key,\n                params: args\n              });\n            }\n          };\n        };\n      });\n      return adt;\n    };\n    const Adt = {\n      generate\n    };\n\n    const adt = Adt.generate([{\n      none: []\n    }, {\n      only: ['index']\n    }, {\n      left: ['index', 'next']\n    }, {\n      middle: ['prev', 'index', 'next']\n    }, {\n      right: ['prev', 'index']\n    }]);\n    ({\n      ...adt\n    });\n\n    const opGetRowsType = (table, target) => {\n      const house = Warehouse.fromTable(table);\n      const details = onCells(house, target);\n      return details.bind(selectedCells => {\n        const lastSelectedCell = selectedCells[selectedCells.length - 1];\n        const minRowRange = selectedCells[0].row;\n        const maxRowRange = lastSelectedCell.row + lastSelectedCell.rowspan;\n        const selectedRows = house.all.slice(minRowRange, maxRowRange);\n        return findCommonRowType(selectedRows);\n      }).getOr('');\n    };\n    const getRowsType = opGetRowsType;\n\n    const rgbToHex = value => startsWith(value, 'rgb') ? rgbaToHexString(value) : value;\n    const extractAdvancedStyles = elm => {\n      const element = SugarElement.fromDom(elm);\n      return {\n        borderwidth: getRaw(element, 'border-width').getOr(''),\n        borderstyle: getRaw(element, 'border-style').getOr(''),\n        bordercolor: getRaw(element, 'border-color').map(rgbToHex).getOr(''),\n        backgroundcolor: getRaw(element, 'background-color').map(rgbToHex).getOr('')\n      };\n    };\n    const getSharedValues = data => {\n      const baseData = data[0];\n      const comparisonData = data.slice(1);\n      each(comparisonData, items => {\n        each(keys(baseData), key => {\n          each$1(items, (itemValue, itemKey) => {\n            const comparisonValue = baseData[key];\n            if (comparisonValue !== '' && key === itemKey) {\n              if (comparisonValue !== itemValue) {\n                baseData[key] = '';\n              }\n            }\n          });\n        });\n      });\n      return baseData;\n    };\n    const getAlignment = (formats, formatName, editor, elm) => find(formats, name => !isUndefined(editor.formatter.matchNode(elm, formatName + name))).getOr('');\n    const getHAlignment = curry(getAlignment, ['left', 'center', 'right'], 'align');\n    const getVAlignment = curry(getAlignment, ['top', 'middle', 'bottom'], 'valign');\n    const extractDataFromSettings = (editor, hasAdvTableTab) => {\n      const style = getDefaultStyles(editor);\n      const attrs = getDefaultAttributes(editor);\n      const extractAdvancedStyleData = () => ({\n        borderstyle: get$4(style, 'border-style').getOr(''),\n        bordercolor: rgbToHex(get$4(style, 'border-color').getOr('')),\n        backgroundcolor: rgbToHex(get$4(style, 'background-color').getOr(''))\n      });\n      const defaultData = {\n        height: '',\n        width: '100%',\n        cellspacing: '',\n        cellpadding: '',\n        caption: false,\n        class: '',\n        align: '',\n        border: ''\n      };\n      const getBorder = () => {\n        const borderWidth = style['border-width'];\n        if (shouldStyleWithCss(editor) && borderWidth) {\n          return {\n            border: borderWidth\n          };\n        }\n        return get$4(attrs, 'border').fold(() => ({}), border => ({\n          border\n        }));\n      };\n      const advStyle = hasAdvTableTab ? extractAdvancedStyleData() : {};\n      const getCellPaddingCellSpacing = () => {\n        const spacing = get$4(style, 'border-spacing').or(get$4(attrs, 'cellspacing')).fold(() => ({}), cellspacing => ({\n          cellspacing\n        }));\n        const padding = get$4(style, 'border-padding').or(get$4(attrs, 'cellpadding')).fold(() => ({}), cellpadding => ({\n          cellpadding\n        }));\n        return {\n          ...spacing,\n          ...padding\n        };\n      };\n      const data = {\n        ...defaultData,\n        ...style,\n        ...attrs,\n        ...advStyle,\n        ...getBorder(),\n        ...getCellPaddingCellSpacing()\n      };\n      return data;\n    };\n    const getRowType = elm => table(SugarElement.fromDom(elm)).map(table => {\n      const target = {\n        selection: fromDom(elm.cells)\n      };\n      return getRowsType(table, target);\n    }).getOr('');\n    const extractDataFromTableElement = (editor, elm, hasAdvTableTab) => {\n      const getBorder = (dom, elm) => {\n        const optBorderWidth = getRaw(SugarElement.fromDom(elm), 'border-width');\n        if (shouldStyleWithCss(editor) && optBorderWidth.isSome()) {\n          return optBorderWidth.getOr('');\n        }\n        return dom.getAttrib(elm, 'border') || getTDTHOverallStyle(editor.dom, elm, 'border-width') || getTDTHOverallStyle(editor.dom, elm, 'border') || '';\n      };\n      const dom = editor.dom;\n      const cellspacing = shouldStyleWithCss(editor) ? dom.getStyle(elm, 'border-spacing') || dom.getAttrib(elm, 'cellspacing') : dom.getAttrib(elm, 'cellspacing') || dom.getStyle(elm, 'border-spacing');\n      const cellpadding = shouldStyleWithCss(editor) ? getTDTHOverallStyle(dom, elm, 'padding') || dom.getAttrib(elm, 'cellpadding') : dom.getAttrib(elm, 'cellpadding') || getTDTHOverallStyle(dom, elm, 'padding');\n      return {\n        width: dom.getStyle(elm, 'width') || dom.getAttrib(elm, 'width'),\n        height: dom.getStyle(elm, 'height') || dom.getAttrib(elm, 'height'),\n        cellspacing: cellspacing !== null && cellspacing !== void 0 ? cellspacing : '',\n        cellpadding: cellpadding !== null && cellpadding !== void 0 ? cellpadding : '',\n        border: getBorder(dom, elm),\n        caption: !!dom.select('caption', elm)[0],\n        class: dom.getAttrib(elm, 'class', ''),\n        align: getHAlignment(editor, elm),\n        ...(hasAdvTableTab ? extractAdvancedStyles(elm) : {})\n      };\n    };\n    const extractDataFromRowElement = (editor, elm, hasAdvancedRowTab) => {\n      const dom = editor.dom;\n      return {\n        height: dom.getStyle(elm, 'height') || dom.getAttrib(elm, 'height'),\n        class: dom.getAttrib(elm, 'class', ''),\n        type: getRowType(elm),\n        align: getHAlignment(editor, elm),\n        ...(hasAdvancedRowTab ? extractAdvancedStyles(elm) : {})\n      };\n    };\n    const extractDataFromCellElement = (editor, cell, hasAdvancedCellTab, column) => {\n      const dom = editor.dom;\n      const colElm = column.getOr(cell);\n      const getStyle = (element, style) => dom.getStyle(element, style) || dom.getAttrib(element, style);\n      return {\n        width: getStyle(colElm, 'width'),\n        height: getStyle(cell, 'height'),\n        scope: dom.getAttrib(cell, 'scope'),\n        celltype: getNodeName(cell),\n        class: dom.getAttrib(cell, 'class', ''),\n        halign: getHAlignment(editor, cell),\n        valign: getVAlignment(editor, cell),\n        ...(hasAdvancedCellTab ? extractAdvancedStyles(cell) : {})\n      };\n    };\n\n    const getSelectedCells = (table, cells) => {\n      const warehouse = Warehouse.fromTable(table);\n      const allCells = Warehouse.justCells(warehouse);\n      const filtered = filter(allCells, cellA => exists(cells, cellB => eq(cellA.element, cellB)));\n      return map(filtered, cell => ({\n        element: cell.element.dom,\n        column: Warehouse.getColumnAt(warehouse, cell.column).map(col => col.element.dom)\n      }));\n    };\n    const updateSimpleProps$1 = (modifier, colModifier, data, shouldUpdate) => {\n      if (shouldUpdate('scope')) {\n        modifier.setAttrib('scope', data.scope);\n      }\n      if (shouldUpdate('class')) {\n        modifier.setAttrib('class', data.class);\n      }\n      if (shouldUpdate('height')) {\n        modifier.setStyle('height', addPxSuffix(data.height));\n      }\n      if (shouldUpdate('width')) {\n        colModifier.setStyle('width', addPxSuffix(data.width));\n      }\n    };\n    const updateAdvancedProps$1 = (modifier, data, shouldUpdate) => {\n      if (shouldUpdate('backgroundcolor')) {\n        modifier.setFormat('tablecellbackgroundcolor', data.backgroundcolor);\n      }\n      if (shouldUpdate('bordercolor')) {\n        modifier.setFormat('tablecellbordercolor', data.bordercolor);\n      }\n      if (shouldUpdate('borderstyle')) {\n        modifier.setFormat('tablecellborderstyle', data.borderstyle);\n      }\n      if (shouldUpdate('borderwidth')) {\n        modifier.setFormat('tablecellborderwidth', addPxSuffix(data.borderwidth));\n      }\n    };\n    const applyStyleData$1 = (editor, cells, data, wasChanged) => {\n      const isSingleCell = cells.length === 1;\n      each(cells, item => {\n        const cellElm = item.element;\n        const shouldOverrideCurrentValue = isSingleCell ? always : wasChanged;\n        const modifier = DomModifier.normal(editor, cellElm);\n        const colModifier = item.column.map(col => DomModifier.normal(editor, col)).getOr(modifier);\n        updateSimpleProps$1(modifier, colModifier, data, shouldOverrideCurrentValue);\n        if (hasAdvancedCellTab(editor)) {\n          updateAdvancedProps$1(modifier, data, shouldOverrideCurrentValue);\n        }\n        if (wasChanged('halign')) {\n          setAlign(editor, cellElm, data.halign);\n        }\n        if (wasChanged('valign')) {\n          setVAlign(editor, cellElm, data.valign);\n        }\n      });\n    };\n    const applyStructureData$1 = (editor, data) => {\n      editor.execCommand('mceTableCellType', false, {\n        type: data.celltype,\n        no_events: true\n      });\n    };\n    const applyCellData = (editor, cells, oldData, data) => {\n      const modifiedData = filter$1(data, (value, key) => oldData[key] !== value);\n      if (size(modifiedData) > 0 && cells.length >= 1) {\n        table(cells[0]).each(table => {\n          const selectedCells = getSelectedCells(table, cells);\n          const styleModified = size(filter$1(modifiedData, (_value, key) => key !== 'scope' && key !== 'celltype')) > 0;\n          const structureModified = has(modifiedData, 'celltype');\n          if (styleModified || has(modifiedData, 'scope')) {\n            applyStyleData$1(editor, selectedCells, data, curry(has, modifiedData));\n          }\n          if (structureModified) {\n            applyStructureData$1(editor, data);\n          }\n          fireTableModified(editor, table.dom, {\n            structure: structureModified,\n            style: styleModified\n          });\n        });\n      }\n    };\n    const onSubmitCellForm = (editor, cells, oldData, api) => {\n      const data = api.getData();\n      api.close();\n      editor.undoManager.transact(() => {\n        applyCellData(editor, cells, oldData, data);\n        editor.focus();\n      });\n    };\n    const getData$1 = (editor, cells) => {\n      const cellsData = table(cells[0]).map(table => map(getSelectedCells(table, cells), item => extractDataFromCellElement(editor, item.element, hasAdvancedCellTab(editor), item.column)));\n      return getSharedValues(cellsData.getOrDie());\n    };\n    const open$2 = editor => {\n      const cells = getCellsFromSelection(editor);\n      if (cells.length === 0) {\n        return;\n      }\n      const data = getData$1(editor, cells);\n      const dialogTabPanel = {\n        type: 'tabpanel',\n        tabs: [{\n          title: 'General',\n          name: 'general',\n          items: getItems$2(editor)\n        }, getAdvancedTab(editor, 'cell')]\n      };\n      const dialogPanel = {\n        type: 'panel',\n        items: [{\n          type: 'grid',\n          columns: 2,\n          items: getItems$2(editor)\n        }]\n      };\n      editor.windowManager.open({\n        title: 'Cell Properties',\n        size: 'normal',\n        body: hasAdvancedCellTab(editor) ? dialogTabPanel : dialogPanel,\n        buttons: [{\n          type: 'cancel',\n          name: 'cancel',\n          text: 'Cancel'\n        }, {\n          type: 'submit',\n          name: 'save',\n          text: 'Save',\n          primary: true\n        }],\n        initialData: data,\n        onSubmit: curry(onSubmitCellForm, editor, cells, data)\n      });\n    };\n\n    const getClassList = editor => {\n      const classes = buildListItems(getRowClassList(editor));\n      if (classes.length > 0) {\n        return Optional.some({\n          name: 'class',\n          type: 'listbox',\n          label: 'Class',\n          items: classes\n        });\n      }\n      return Optional.none();\n    };\n    const formChildren = [{\n      type: 'listbox',\n      name: 'type',\n      label: 'Row type',\n      items: [{\n        text: 'Header',\n        value: 'header'\n      }, {\n        text: 'Body',\n        value: 'body'\n      }, {\n        text: 'Footer',\n        value: 'footer'\n      }]\n    }, {\n      type: 'listbox',\n      name: 'align',\n      label: 'Alignment',\n      items: [{\n        text: 'None',\n        value: ''\n      }, {\n        text: 'Left',\n        value: 'left'\n      }, {\n        text: 'Center',\n        value: 'center'\n      }, {\n        text: 'Right',\n        value: 'right'\n      }]\n    }, {\n      label: 'Height',\n      name: 'height',\n      type: 'input'\n    }];\n    const getItems$1 = editor => formChildren.concat(getClassList(editor).toArray());\n\n    const updateSimpleProps = (modifier, data, shouldUpdate) => {\n      if (shouldUpdate('class')) {\n        modifier.setAttrib('class', data.class);\n      }\n      if (shouldUpdate('height')) {\n        modifier.setStyle('height', addPxSuffix(data.height));\n      }\n    };\n    const updateAdvancedProps = (modifier, data, shouldUpdate) => {\n      if (shouldUpdate('backgroundcolor')) {\n        modifier.setStyle('background-color', data.backgroundcolor);\n      }\n      if (shouldUpdate('bordercolor')) {\n        modifier.setStyle('border-color', data.bordercolor);\n      }\n      if (shouldUpdate('borderstyle')) {\n        modifier.setStyle('border-style', data.borderstyle);\n      }\n    };\n    const applyStyleData = (editor, rows, data, wasChanged) => {\n      const isSingleRow = rows.length === 1;\n      const shouldOverrideCurrentValue = isSingleRow ? always : wasChanged;\n      each(rows, rowElm => {\n        const modifier = DomModifier.normal(editor, rowElm);\n        updateSimpleProps(modifier, data, shouldOverrideCurrentValue);\n        if (hasAdvancedRowTab(editor)) {\n          updateAdvancedProps(modifier, data, shouldOverrideCurrentValue);\n        }\n        if (wasChanged('align')) {\n          setAlign(editor, rowElm, data.align);\n        }\n      });\n    };\n    const applyStructureData = (editor, data) => {\n      editor.execCommand('mceTableRowType', false, {\n        type: data.type,\n        no_events: true\n      });\n    };\n    const applyRowData = (editor, rows, oldData, data) => {\n      const modifiedData = filter$1(data, (value, key) => oldData[key] !== value);\n      if (size(modifiedData) > 0) {\n        const typeModified = has(modifiedData, 'type');\n        const styleModified = typeModified ? size(modifiedData) > 1 : true;\n        if (styleModified) {\n          applyStyleData(editor, rows, data, curry(has, modifiedData));\n        }\n        if (typeModified) {\n          applyStructureData(editor, data);\n        }\n        table(SugarElement.fromDom(rows[0])).each(table => fireTableModified(editor, table.dom, {\n          structure: typeModified,\n          style: styleModified\n        }));\n      }\n    };\n    const onSubmitRowForm = (editor, rows, oldData, api) => {\n      const data = api.getData();\n      api.close();\n      editor.undoManager.transact(() => {\n        applyRowData(editor, rows, oldData, data);\n        editor.focus();\n      });\n    };\n    const open$1 = editor => {\n      const rows = getRowsFromSelection(getSelectionStart(editor), ephemera.selected);\n      if (rows.length === 0) {\n        return;\n      }\n      const rowsData = map(rows, rowElm => extractDataFromRowElement(editor, rowElm.dom, hasAdvancedRowTab(editor)));\n      const data = getSharedValues(rowsData);\n      const dialogTabPanel = {\n        type: 'tabpanel',\n        tabs: [{\n          title: 'General',\n          name: 'general',\n          items: getItems$1(editor)\n        }, getAdvancedTab(editor, 'row')]\n      };\n      const dialogPanel = {\n        type: 'panel',\n        items: [{\n          type: 'grid',\n          columns: 2,\n          items: getItems$1(editor)\n        }]\n      };\n      editor.windowManager.open({\n        title: 'Row Properties',\n        size: 'normal',\n        body: hasAdvancedRowTab(editor) ? dialogTabPanel : dialogPanel,\n        buttons: [{\n          type: 'cancel',\n          name: 'cancel',\n          text: 'Cancel'\n        }, {\n          type: 'submit',\n          name: 'save',\n          text: 'Save',\n          primary: true\n        }],\n        initialData: data,\n        onSubmit: curry(onSubmitRowForm, editor, map(rows, r => r.dom), data)\n      });\n    };\n\n    const getItems = (editor, classes, insertNewTable) => {\n      const rowColCountItems = !insertNewTable ? [] : [{\n        type: 'input',\n        name: 'cols',\n        label: 'Cols',\n        inputMode: 'numeric'\n      }, {\n        type: 'input',\n        name: 'rows',\n        label: 'Rows',\n        inputMode: 'numeric'\n      }];\n      const alwaysItems = [{\n        type: 'input',\n        name: 'width',\n        label: 'Width'\n      }, {\n        type: 'input',\n        name: 'height',\n        label: 'Height'\n      }];\n      const appearanceItems = hasAppearanceOptions(editor) ? [{\n        type: 'input',\n        name: 'cellspacing',\n        label: 'Cell spacing',\n        inputMode: 'numeric'\n      }, {\n        type: 'input',\n        name: 'cellpadding',\n        label: 'Cell padding',\n        inputMode: 'numeric'\n      }, {\n        type: 'input',\n        name: 'border',\n        label: 'Border width'\n      }, {\n        type: 'label',\n        label: 'Caption',\n        items: [{\n          type: 'checkbox',\n          name: 'caption',\n          label: 'Show caption'\n        }]\n      }] : [];\n      const alignmentItem = [{\n        type: 'listbox',\n        name: 'align',\n        label: 'Alignment',\n        items: [{\n          text: 'None',\n          value: ''\n        }, {\n          text: 'Left',\n          value: 'left'\n        }, {\n          text: 'Center',\n          value: 'center'\n        }, {\n          text: 'Right',\n          value: 'right'\n        }]\n      }];\n      const classListItem = classes.length > 0 ? [{\n        type: 'listbox',\n        name: 'class',\n        label: 'Class',\n        items: classes\n      }] : [];\n      return rowColCountItems.concat(alwaysItems).concat(appearanceItems).concat(alignmentItem).concat(classListItem);\n    };\n\n    const styleTDTH = (dom, elm, name, value) => {\n      if (elm.tagName === 'TD' || elm.tagName === 'TH') {\n        if (isString(name) && isNonNullable(value)) {\n          dom.setStyle(elm, name, value);\n        } else {\n          dom.setStyles(elm, name);\n        }\n      } else {\n        if (elm.children) {\n          for (let i = 0; i < elm.children.length; i++) {\n            styleTDTH(dom, elm.children[i], name, value);\n          }\n        }\n      }\n    };\n    const applyDataToElement = (editor, tableElm, data, shouldApplyOnCell) => {\n      const dom = editor.dom;\n      const attrs = {};\n      const styles = {};\n      const shouldStyleWithCss$1 = shouldStyleWithCss(editor);\n      const hasAdvancedTableTab$1 = hasAdvancedTableTab(editor);\n      if (!isUndefined(data.class)) {\n        attrs.class = data.class;\n      }\n      styles.height = addPxSuffix(data.height);\n      if (shouldStyleWithCss$1) {\n        styles.width = addPxSuffix(data.width);\n      } else if (dom.getAttrib(tableElm, 'width')) {\n        attrs.width = removePxSuffix(data.width);\n      }\n      if (shouldStyleWithCss$1) {\n        styles['border-width'] = addPxSuffix(data.border);\n        styles['border-spacing'] = addPxSuffix(data.cellspacing);\n      } else {\n        attrs.border = data.border;\n        attrs.cellpadding = data.cellpadding;\n        attrs.cellspacing = data.cellspacing;\n      }\n      if (shouldStyleWithCss$1 && tableElm.children) {\n        const cellStyles = {};\n        if (shouldApplyOnCell.border) {\n          cellStyles['border-width'] = addPxSuffix(data.border);\n        }\n        if (shouldApplyOnCell.cellpadding) {\n          cellStyles.padding = addPxSuffix(data.cellpadding);\n        }\n        if (hasAdvancedTableTab$1 && shouldApplyOnCell.bordercolor) {\n          cellStyles['border-color'] = data.bordercolor;\n        }\n        if (!isEmpty$1(cellStyles)) {\n          for (let i = 0; i < tableElm.children.length; i++) {\n            styleTDTH(dom, tableElm.children[i], cellStyles);\n          }\n        }\n      }\n      if (hasAdvancedTableTab$1) {\n        const advData = data;\n        styles['background-color'] = advData.backgroundcolor;\n        styles['border-color'] = advData.bordercolor;\n        styles['border-style'] = advData.borderstyle;\n      }\n      dom.setStyles(tableElm, {\n        ...getDefaultStyles(editor),\n        ...styles\n      });\n      dom.setAttribs(tableElm, {\n        ...getDefaultAttributes(editor),\n        ...attrs\n      });\n    };\n    const onSubmitTableForm = (editor, tableElm, oldData, api) => {\n      const dom = editor.dom;\n      const data = api.getData();\n      const modifiedData = filter$1(data, (value, key) => oldData[key] !== value);\n      api.close();\n      if (data.class === '') {\n        delete data.class;\n      }\n      editor.undoManager.transact(() => {\n        if (!tableElm) {\n          const cols = toInt(data.cols).getOr(1);\n          const rows = toInt(data.rows).getOr(1);\n          editor.execCommand('mceInsertTable', false, {\n            rows,\n            columns: cols\n          });\n          tableElm = getSelectionCell(getSelectionStart(editor), getIsRoot(editor)).bind(cell => table(cell, getIsRoot(editor))).map(table => table.dom).getOrDie();\n        }\n        if (size(modifiedData) > 0) {\n          const applicableCellProperties = {\n            border: has(modifiedData, 'border'),\n            bordercolor: has(modifiedData, 'bordercolor'),\n            cellpadding: has(modifiedData, 'cellpadding')\n          };\n          applyDataToElement(editor, tableElm, data, applicableCellProperties);\n          const captionElm = dom.select('caption', tableElm)[0];\n          if (captionElm && !data.caption || !captionElm && data.caption) {\n            editor.execCommand('mceTableToggleCaption');\n          }\n          setAlign(editor, tableElm, data.align);\n        }\n        editor.focus();\n        editor.addVisual();\n        if (size(modifiedData) > 0) {\n          const captionModified = has(modifiedData, 'caption');\n          const styleModified = captionModified ? size(modifiedData) > 1 : true;\n          fireTableModified(editor, tableElm, {\n            structure: captionModified,\n            style: styleModified\n          });\n        }\n      });\n    };\n    const open = (editor, insertNewTable) => {\n      const dom = editor.dom;\n      let tableElm;\n      let data = extractDataFromSettings(editor, hasAdvancedTableTab(editor));\n      if (insertNewTable) {\n        data.cols = '1';\n        data.rows = '1';\n        if (hasAdvancedTableTab(editor)) {\n          data.borderstyle = '';\n          data.bordercolor = '';\n          data.backgroundcolor = '';\n        }\n      } else {\n        tableElm = dom.getParent(editor.selection.getStart(), 'table', editor.getBody());\n        if (tableElm) {\n          data = extractDataFromTableElement(editor, tableElm, hasAdvancedTableTab(editor));\n        } else {\n          if (hasAdvancedTableTab(editor)) {\n            data.borderstyle = '';\n            data.bordercolor = '';\n            data.backgroundcolor = '';\n          }\n        }\n      }\n      const classes = buildListItems(getTableClassList(editor));\n      if (classes.length > 0) {\n        if (data.class) {\n          data.class = data.class.replace(/\\s*mce\\-item\\-table\\s*/g, '');\n        }\n      }\n      const generalPanel = {\n        type: 'grid',\n        columns: 2,\n        items: getItems(editor, classes, insertNewTable)\n      };\n      const nonAdvancedForm = () => ({\n        type: 'panel',\n        items: [generalPanel]\n      });\n      const advancedForm = () => ({\n        type: 'tabpanel',\n        tabs: [{\n          title: 'General',\n          name: 'general',\n          items: [generalPanel]\n        }, getAdvancedTab(editor, 'table')]\n      });\n      const dialogBody = hasAdvancedTableTab(editor) ? advancedForm() : nonAdvancedForm();\n      editor.windowManager.open({\n        title: 'Table Properties',\n        size: 'normal',\n        body: dialogBody,\n        onSubmit: curry(onSubmitTableForm, editor, tableElm, data),\n        buttons: [{\n          type: 'cancel',\n          name: 'cancel',\n          text: 'Cancel'\n        }, {\n          type: 'submit',\n          name: 'save',\n          text: 'Save',\n          primary: true\n        }],\n        initialData: data\n      });\n    };\n\n    const registerCommands = editor => {\n      const runAction = f => {\n        if (isInEditableContext(getSelectionStart(editor))) {\n          f();\n        }\n      };\n      each$1({\n        mceTableProps: curry(open, editor, false),\n        mceTableRowProps: curry(open$1, editor),\n        mceTableCellProps: curry(open$2, editor),\n        mceInsertTableDialog: curry(open, editor, true)\n      }, (func, name) => editor.addCommand(name, () => runAction(func)));\n    };\n\n    const child = (scope, selector) => child$1(scope, selector).isSome();\n\n    const selection = identity;\n    const unmergable = selectedCells => {\n      const hasSpan = (elem, type) => getOpt(elem, type).exists(span => parseInt(span, 10) > 1);\n      const hasRowOrColSpan = elem => hasSpan(elem, 'rowspan') || hasSpan(elem, 'colspan');\n      return selectedCells.length > 0 && forall(selectedCells, hasRowOrColSpan) ? Optional.some(selectedCells) : Optional.none();\n    };\n    const mergable = (table, selectedCells, ephemera) => {\n      if (selectedCells.length <= 1) {\n        return Optional.none();\n      } else {\n        return retrieveBox(table, ephemera.firstSelectedSelector, ephemera.lastSelectedSelector).map(bounds => ({\n          bounds,\n          cells: selectedCells\n        }));\n      }\n    };\n\n    const noMenu = cell => ({\n      element: cell,\n      mergable: Optional.none(),\n      unmergable: Optional.none(),\n      selection: [cell]\n    });\n    const forMenu = (selectedCells, table, cell) => ({\n      element: cell,\n      mergable: mergable(table, selectedCells, ephemera),\n      unmergable: unmergable(selectedCells),\n      selection: selection(selectedCells)\n    });\n\n    const getSelectionTargets = editor => {\n      const targets = Cell(Optional.none());\n      const changeHandlers = Cell([]);\n      let selectionDetails = Optional.none();\n      const isCaption = isTag('caption');\n      const isDisabledForSelection = key => selectionDetails.forall(details => !details[key]);\n      const getStart = () => getSelectionCellOrCaption(getSelectionStart(editor), getIsRoot(editor));\n      const getEnd = () => getSelectionCellOrCaption(getSelectionEnd(editor), getIsRoot(editor));\n      const findTargets = () => getStart().bind(startCellOrCaption => flatten(lift2(table(startCellOrCaption), getEnd().bind(table), (startTable, endTable) => {\n        if (eq(startTable, endTable)) {\n          if (isCaption(startCellOrCaption)) {\n            return Optional.some(noMenu(startCellOrCaption));\n          } else {\n            return Optional.some(forMenu(getCellsFromSelection(editor), startTable, startCellOrCaption));\n          }\n        }\n        return Optional.none();\n      })));\n      const getExtractedDetails = targets => {\n        const tableOpt = table(targets.element);\n        return tableOpt.map(table => {\n          const warehouse = Warehouse.fromTable(table);\n          const selectedCells = onCells(warehouse, targets).getOr([]);\n          const locked = foldl(selectedCells, (acc, cell) => {\n            if (cell.isLocked) {\n              acc.onAny = true;\n              if (cell.column === 0) {\n                acc.onFirst = true;\n              } else if (cell.column + cell.colspan >= warehouse.grid.columns) {\n                acc.onLast = true;\n              }\n            }\n            return acc;\n          }, {\n            onAny: false,\n            onFirst: false,\n            onLast: false\n          });\n          return {\n            mergeable: onUnlockedMergable(warehouse, targets).isSome(),\n            unmergeable: onUnlockedUnmergable(warehouse, targets).isSome(),\n            locked\n          };\n        });\n      };\n      const resetTargets = () => {\n        targets.set(cached(findTargets)());\n        selectionDetails = targets.get().bind(getExtractedDetails);\n        each(changeHandlers.get(), call);\n      };\n      const setupHandler = handler => {\n        handler();\n        changeHandlers.set(changeHandlers.get().concat([handler]));\n        return () => {\n          changeHandlers.set(filter(changeHandlers.get(), h => h !== handler));\n        };\n      };\n      const onSetup = (api, isDisabled) => setupHandler(() => targets.get().fold(() => {\n        api.setEnabled(false);\n      }, targets => {\n        api.setEnabled(!isDisabled(targets) && editor.selection.isEditable());\n      }));\n      const onSetupWithToggle = (api, isDisabled, isActive) => setupHandler(() => targets.get().fold(() => {\n        api.setEnabled(false);\n        api.setActive(false);\n      }, targets => {\n        api.setEnabled(!isDisabled(targets) && editor.selection.isEditable());\n        api.setActive(isActive(targets));\n      }));\n      const isDisabledFromLocked = lockedDisable => selectionDetails.exists(details => details.locked[lockedDisable]);\n      const onSetupTable = api => onSetup(api, _ => false);\n      const onSetupCellOrRow = api => onSetup(api, targets => isCaption(targets.element));\n      const onSetupColumn = lockedDisable => api => onSetup(api, targets => isCaption(targets.element) || isDisabledFromLocked(lockedDisable));\n      const onSetupPasteable = getClipboardData => api => onSetup(api, targets => isCaption(targets.element) || getClipboardData().isNone());\n      const onSetupPasteableColumn = (getClipboardData, lockedDisable) => api => onSetup(api, targets => isCaption(targets.element) || getClipboardData().isNone() || isDisabledFromLocked(lockedDisable));\n      const onSetupMergeable = api => onSetup(api, _targets => isDisabledForSelection('mergeable'));\n      const onSetupUnmergeable = api => onSetup(api, _targets => isDisabledForSelection('unmergeable'));\n      const onSetupTableWithCaption = api => {\n        return onSetupWithToggle(api, never, targets => {\n          const tableOpt = table(targets.element, getIsRoot(editor));\n          return tableOpt.exists(table => child(table, 'caption'));\n        });\n      };\n      const onSetupTableHeaders = (command, headerType) => api => {\n        return onSetupWithToggle(api, targets => isCaption(targets.element), () => editor.queryCommandValue(command) === headerType);\n      };\n      const onSetupTableRowHeaders = onSetupTableHeaders('mceTableRowType', 'header');\n      const onSetupTableColumnHeaders = onSetupTableHeaders('mceTableColType', 'th');\n      editor.on('NodeChange ExecCommand TableSelectorChange', resetTargets);\n      return {\n        onSetupTable,\n        onSetupCellOrRow,\n        onSetupColumn,\n        onSetupPasteable,\n        onSetupPasteableColumn,\n        onSetupMergeable,\n        onSetupUnmergeable,\n        resetTargets,\n        onSetupTableWithCaption,\n        onSetupTableRowHeaders,\n        onSetupTableColumnHeaders,\n        targets: targets.get\n      };\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.FakeClipboard');\n\n    const tableTypeBase = 'x-tinymce/dom-table-';\n    const tableTypeRow = tableTypeBase + 'rows';\n    const tableTypeColumn = tableTypeBase + 'columns';\n    const getData = type => {\n      var _a;\n      const items = (_a = global.read()) !== null && _a !== void 0 ? _a : [];\n      return findMap(items, item => Optional.from(item.getType(type)));\n    };\n    const getRows = () => getData(tableTypeRow);\n    const getColumns = () => getData(tableTypeColumn);\n\n    const onSetupEditable$1 = editor => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const addButtons = (editor, selectionTargets) => {\n      editor.ui.registry.addMenuButton('table', {\n        tooltip: 'Table',\n        icon: 'table',\n        onSetup: onSetupEditable$1(editor),\n        fetch: callback => callback('inserttable | cell row column | advtablesort | tableprops deletetable')\n      });\n      const cmd = command => () => editor.execCommand(command);\n      const addButtonIfRegistered = (name, spec) => {\n        if (editor.queryCommandSupported(spec.command)) {\n          editor.ui.registry.addButton(name, {\n            ...spec,\n            onAction: isFunction(spec.onAction) ? spec.onAction : cmd(spec.command)\n          });\n        }\n      };\n      const addToggleButtonIfRegistered = (name, spec) => {\n        if (editor.queryCommandSupported(spec.command)) {\n          editor.ui.registry.addToggleButton(name, {\n            ...spec,\n            onAction: isFunction(spec.onAction) ? spec.onAction : cmd(spec.command)\n          });\n        }\n      };\n      addButtonIfRegistered('tableprops', {\n        tooltip: 'Table properties',\n        command: 'mceTableProps',\n        icon: 'table',\n        onSetup: selectionTargets.onSetupTable\n      });\n      addButtonIfRegistered('tabledelete', {\n        tooltip: 'Delete table',\n        command: 'mceTableDelete',\n        icon: 'table-delete-table',\n        onSetup: selectionTargets.onSetupTable\n      });\n      addButtonIfRegistered('tablecellprops', {\n        tooltip: 'Cell properties',\n        command: 'mceTableCellProps',\n        icon: 'table-cell-properties',\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      addButtonIfRegistered('tablemergecells', {\n        tooltip: 'Merge cells',\n        command: 'mceTableMergeCells',\n        icon: 'table-merge-cells',\n        onSetup: selectionTargets.onSetupMergeable\n      });\n      addButtonIfRegistered('tablesplitcells', {\n        tooltip: 'Split cell',\n        command: 'mceTableSplitCells',\n        icon: 'table-split-cells',\n        onSetup: selectionTargets.onSetupUnmergeable\n      });\n      addButtonIfRegistered('tableinsertrowbefore', {\n        tooltip: 'Insert row before',\n        command: 'mceTableInsertRowBefore',\n        icon: 'table-insert-row-above',\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      addButtonIfRegistered('tableinsertrowafter', {\n        tooltip: 'Insert row after',\n        command: 'mceTableInsertRowAfter',\n        icon: 'table-insert-row-after',\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      addButtonIfRegistered('tabledeleterow', {\n        tooltip: 'Delete row',\n        command: 'mceTableDeleteRow',\n        icon: 'table-delete-row',\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      addButtonIfRegistered('tablerowprops', {\n        tooltip: 'Row properties',\n        command: 'mceTableRowProps',\n        icon: 'table-row-properties',\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      addButtonIfRegistered('tableinsertcolbefore', {\n        tooltip: 'Insert column before',\n        command: 'mceTableInsertColBefore',\n        icon: 'table-insert-column-before',\n        onSetup: selectionTargets.onSetupColumn('onFirst')\n      });\n      addButtonIfRegistered('tableinsertcolafter', {\n        tooltip: 'Insert column after',\n        command: 'mceTableInsertColAfter',\n        icon: 'table-insert-column-after',\n        onSetup: selectionTargets.onSetupColumn('onLast')\n      });\n      addButtonIfRegistered('tabledeletecol', {\n        tooltip: 'Delete column',\n        command: 'mceTableDeleteCol',\n        icon: 'table-delete-column',\n        onSetup: selectionTargets.onSetupColumn('onAny')\n      });\n      addButtonIfRegistered('tablecutrow', {\n        tooltip: 'Cut row',\n        command: 'mceTableCutRow',\n        icon: 'cut-row',\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      addButtonIfRegistered('tablecopyrow', {\n        tooltip: 'Copy row',\n        command: 'mceTableCopyRow',\n        icon: 'duplicate-row',\n        onSetup: selectionTargets.onSetupCellOrRow\n      });\n      addButtonIfRegistered('tablepasterowbefore', {\n        tooltip: 'Paste row before',\n        command: 'mceTablePasteRowBefore',\n        icon: 'paste-row-before',\n        onSetup: selectionTargets.onSetupPasteable(getRows)\n      });\n      addButtonIfRegistered('tablepasterowafter', {\n        tooltip: 'Paste row after',\n        command: 'mceTablePasteRowAfter',\n        icon: 'paste-row-after',\n        onSetup: selectionTargets.onSetupPasteable(getRows)\n      });\n      addButtonIfRegistered('tablecutcol', {\n        tooltip: 'Cut column',\n        command: 'mceTableCutCol',\n        icon: 'cut-column',\n        onSetup: selectionTargets.onSetupColumn('onAny')\n      });\n      addButtonIfRegistered('tablecopycol', {\n        tooltip: 'Copy column',\n        command: 'mceTableCopyCol',\n        icon: 'duplicate-column',\n        onSetup: selectionTargets.onSetupColumn('onAny')\n      });\n      addButtonIfRegistered('tablepastecolbefore', {\n        tooltip: 'Paste column before',\n        command: 'mceTablePasteColBefore',\n        icon: 'paste-column-before',\n        onSetup: selectionTargets.onSetupPasteableColumn(getColumns, 'onFirst')\n      });\n      addButtonIfRegistered('tablepastecolafter', {\n        tooltip: 'Paste column after',\n        command: 'mceTablePasteColAfter',\n        icon: 'paste-column-after',\n        onSetup: selectionTargets.onSetupPasteableColumn(getColumns, 'onLast')\n      });\n      addButtonIfRegistered('tableinsertdialog', {\n        tooltip: 'Insert table',\n        command: 'mceInsertTableDialog',\n        icon: 'table',\n        onSetup: onSetupEditable$1(editor)\n      });\n      const tableClassList = filterNoneItem(getTableClassList(editor));\n      if (tableClassList.length !== 0 && editor.queryCommandSupported('mceTableToggleClass')) {\n        editor.ui.registry.addMenuButton('tableclass', {\n          icon: 'table-classes',\n          tooltip: 'Table styles',\n          fetch: generateMenuItemsCallback(editor, tableClassList, 'tableclass', value => editor.execCommand('mceTableToggleClass', false, value)),\n          onSetup: selectionTargets.onSetupTable\n        });\n      }\n      const tableCellClassList = filterNoneItem(getCellClassList(editor));\n      if (tableCellClassList.length !== 0 && editor.queryCommandSupported('mceTableCellToggleClass')) {\n        editor.ui.registry.addMenuButton('tablecellclass', {\n          icon: 'table-cell-classes',\n          tooltip: 'Cell styles',\n          fetch: generateMenuItemsCallback(editor, tableCellClassList, 'tablecellclass', value => editor.execCommand('mceTableCellToggleClass', false, value)),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n      }\n      if (editor.queryCommandSupported('mceTableApplyCellStyle')) {\n        editor.ui.registry.addMenuButton('tablecellvalign', {\n          icon: 'vertical-align',\n          tooltip: 'Vertical align',\n          fetch: generateMenuItemsCallback(editor, verticalAlignValues, 'tablecellverticalalign', applyTableCellStyle(editor, 'vertical-align')),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n        editor.ui.registry.addMenuButton('tablecellborderwidth', {\n          icon: 'border-width',\n          tooltip: 'Border width',\n          fetch: generateMenuItemsCallback(editor, getTableBorderWidths(editor), 'tablecellborderwidth', applyTableCellStyle(editor, 'border-width')),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n        editor.ui.registry.addMenuButton('tablecellborderstyle', {\n          icon: 'border-style',\n          tooltip: 'Border style',\n          fetch: generateMenuItemsCallback(editor, getTableBorderStyles(editor), 'tablecellborderstyle', applyTableCellStyle(editor, 'border-style')),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n        editor.ui.registry.addMenuButton('tablecellbackgroundcolor', {\n          icon: 'cell-background-color',\n          tooltip: 'Background color',\n          fetch: callback => callback(buildColorMenu(editor, getTableBackgroundColorMap(editor), 'background-color')),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n        editor.ui.registry.addMenuButton('tablecellbordercolor', {\n          icon: 'cell-border-color',\n          tooltip: 'Border color',\n          fetch: callback => callback(buildColorMenu(editor, getTableBorderColorMap(editor), 'border-color')),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n      }\n      addToggleButtonIfRegistered('tablecaption', {\n        tooltip: 'Table caption',\n        icon: 'table-caption',\n        command: 'mceTableToggleCaption',\n        onSetup: selectionTargets.onSetupTableWithCaption\n      });\n      addToggleButtonIfRegistered('tablerowheader', {\n        tooltip: 'Row header',\n        icon: 'table-top-header',\n        command: 'mceTableRowType',\n        onAction: changeRowHeader(editor),\n        onSetup: selectionTargets.onSetupTableRowHeaders\n      });\n      addToggleButtonIfRegistered('tablecolheader', {\n        tooltip: 'Column header',\n        icon: 'table-left-header',\n        command: 'mceTableColType',\n        onAction: changeColumnHeader(editor),\n        onSetup: selectionTargets.onSetupTableColumnHeaders\n      });\n    };\n    const addToolbars = editor => {\n      const isEditableTable = table => editor.dom.is(table, 'table') && editor.getBody().contains(table) && editor.dom.isEditable(table.parentNode);\n      const toolbar = getToolbar(editor);\n      if (toolbar.length > 0) {\n        editor.ui.registry.addContextToolbar('table', {\n          predicate: isEditableTable,\n          items: toolbar,\n          scope: 'node',\n          position: 'node'\n        });\n      }\n    };\n\n    const onSetupEditable = editor => api => {\n      const nodeChanged = () => {\n        api.setEnabled(editor.selection.isEditable());\n      };\n      editor.on('NodeChange', nodeChanged);\n      nodeChanged();\n      return () => {\n        editor.off('NodeChange', nodeChanged);\n      };\n    };\n    const addMenuItems = (editor, selectionTargets) => {\n      const cmd = command => () => editor.execCommand(command);\n      const addMenuIfRegistered = (name, spec) => {\n        if (editor.queryCommandSupported(spec.command)) {\n          editor.ui.registry.addMenuItem(name, {\n            ...spec,\n            onAction: isFunction(spec.onAction) ? spec.onAction : cmd(spec.command)\n          });\n          return true;\n        } else {\n          return false;\n        }\n      };\n      const addToggleMenuIfRegistered = (name, spec) => {\n        if (editor.queryCommandSupported(spec.command)) {\n          editor.ui.registry.addToggleMenuItem(name, {\n            ...spec,\n            onAction: isFunction(spec.onAction) ? spec.onAction : cmd(spec.command)\n          });\n        }\n      };\n      const insertTableAction = data => {\n        editor.execCommand('mceInsertTable', false, {\n          rows: data.numRows,\n          columns: data.numColumns\n        });\n      };\n      const hasRowMenuItems = [addMenuIfRegistered('tableinsertrowbefore', {\n        text: 'Insert row before',\n        icon: 'table-insert-row-above',\n        command: 'mceTableInsertRowBefore',\n        onSetup: selectionTargets.onSetupCellOrRow\n      }), addMenuIfRegistered('tableinsertrowafter', {\n        text: 'Insert row after',\n        icon: 'table-insert-row-after',\n        command: 'mceTableInsertRowAfter',\n        onSetup: selectionTargets.onSetupCellOrRow\n      }), addMenuIfRegistered('tabledeleterow', {\n        text: 'Delete row',\n        icon: 'table-delete-row',\n        command: 'mceTableDeleteRow',\n        onSetup: selectionTargets.onSetupCellOrRow\n      }), addMenuIfRegistered('tablerowprops', {\n        text: 'Row properties',\n        icon: 'table-row-properties',\n        command: 'mceTableRowProps',\n        onSetup: selectionTargets.onSetupCellOrRow\n      }), addMenuIfRegistered('tablecutrow', {\n        text: 'Cut row',\n        icon: 'cut-row',\n        command: 'mceTableCutRow',\n        onSetup: selectionTargets.onSetupCellOrRow\n      }), addMenuIfRegistered('tablecopyrow', {\n        text: 'Copy row',\n        icon: 'duplicate-row',\n        command: 'mceTableCopyRow',\n        onSetup: selectionTargets.onSetupCellOrRow\n      }), addMenuIfRegistered('tablepasterowbefore', {\n        text: 'Paste row before',\n        icon: 'paste-row-before',\n        command: 'mceTablePasteRowBefore',\n        onSetup: selectionTargets.onSetupPasteable(getRows)\n      }), addMenuIfRegistered('tablepasterowafter', {\n        text: 'Paste row after',\n        icon: 'paste-row-after',\n        command: 'mceTablePasteRowAfter',\n        onSetup: selectionTargets.onSetupPasteable(getRows)\n      })];\n      const hasColumnMenuItems = [addMenuIfRegistered('tableinsertcolumnbefore', {\n        text: 'Insert column before',\n        icon: 'table-insert-column-before',\n        command: 'mceTableInsertColBefore',\n        onSetup: selectionTargets.onSetupColumn('onFirst')\n      }), addMenuIfRegistered('tableinsertcolumnafter', {\n        text: 'Insert column after',\n        icon: 'table-insert-column-after',\n        command: 'mceTableInsertColAfter',\n        onSetup: selectionTargets.onSetupColumn('onLast')\n      }), addMenuIfRegistered('tabledeletecolumn', {\n        text: 'Delete column',\n        icon: 'table-delete-column',\n        command: 'mceTableDeleteCol',\n        onSetup: selectionTargets.onSetupColumn('onAny')\n      }), addMenuIfRegistered('tablecutcolumn', {\n        text: 'Cut column',\n        icon: 'cut-column',\n        command: 'mceTableCutCol',\n        onSetup: selectionTargets.onSetupColumn('onAny')\n      }), addMenuIfRegistered('tablecopycolumn', {\n        text: 'Copy column',\n        icon: 'duplicate-column',\n        command: 'mceTableCopyCol',\n        onSetup: selectionTargets.onSetupColumn('onAny')\n      }), addMenuIfRegistered('tablepastecolumnbefore', {\n        text: 'Paste column before',\n        icon: 'paste-column-before',\n        command: 'mceTablePasteColBefore',\n        onSetup: selectionTargets.onSetupPasteableColumn(getColumns, 'onFirst')\n      }), addMenuIfRegistered('tablepastecolumnafter', {\n        text: 'Paste column after',\n        icon: 'paste-column-after',\n        command: 'mceTablePasteColAfter',\n        onSetup: selectionTargets.onSetupPasteableColumn(getColumns, 'onLast')\n      })];\n      const hasCellMenuItems = [addMenuIfRegistered('tablecellprops', {\n        text: 'Cell properties',\n        icon: 'table-cell-properties',\n        command: 'mceTableCellProps',\n        onSetup: selectionTargets.onSetupCellOrRow\n      }), addMenuIfRegistered('tablemergecells', {\n        text: 'Merge cells',\n        icon: 'table-merge-cells',\n        command: 'mceTableMergeCells',\n        onSetup: selectionTargets.onSetupMergeable\n      }), addMenuIfRegistered('tablesplitcells', {\n        text: 'Split cell',\n        icon: 'table-split-cells',\n        command: 'mceTableSplitCells',\n        onSetup: selectionTargets.onSetupUnmergeable\n      })];\n      if (!hasTableGrid(editor)) {\n        editor.ui.registry.addMenuItem('inserttable', {\n          text: 'Table',\n          icon: 'table',\n          onAction: cmd('mceInsertTableDialog'),\n          onSetup: onSetupEditable(editor)\n        });\n      } else {\n        editor.ui.registry.addNestedMenuItem('inserttable', {\n          text: 'Table',\n          icon: 'table',\n          getSubmenuItems: () => [{\n            type: 'fancymenuitem',\n            fancytype: 'inserttable',\n            onAction: insertTableAction\n          }],\n          onSetup: onSetupEditable(editor)\n        });\n      }\n      editor.ui.registry.addMenuItem('inserttabledialog', {\n        text: 'Insert table',\n        icon: 'table',\n        onAction: cmd('mceInsertTableDialog'),\n        onSetup: onSetupEditable(editor)\n      });\n      addMenuIfRegistered('tableprops', {\n        text: 'Table properties',\n        onSetup: selectionTargets.onSetupTable,\n        command: 'mceTableProps'\n      });\n      addMenuIfRegistered('deletetable', {\n        text: 'Delete table',\n        icon: 'table-delete-table',\n        onSetup: selectionTargets.onSetupTable,\n        command: 'mceTableDelete'\n      });\n      if (contains(hasRowMenuItems, true)) {\n        editor.ui.registry.addNestedMenuItem('row', {\n          type: 'nestedmenuitem',\n          text: 'Row',\n          getSubmenuItems: constant('tableinsertrowbefore tableinsertrowafter tabledeleterow tablerowprops | tablecutrow tablecopyrow tablepasterowbefore tablepasterowafter')\n        });\n      }\n      if (contains(hasColumnMenuItems, true)) {\n        editor.ui.registry.addNestedMenuItem('column', {\n          type: 'nestedmenuitem',\n          text: 'Column',\n          getSubmenuItems: constant('tableinsertcolumnbefore tableinsertcolumnafter tabledeletecolumn | tablecutcolumn tablecopycolumn tablepastecolumnbefore tablepastecolumnafter')\n        });\n      }\n      if (contains(hasCellMenuItems, true)) {\n        editor.ui.registry.addNestedMenuItem('cell', {\n          type: 'nestedmenuitem',\n          text: 'Cell',\n          getSubmenuItems: constant('tablecellprops tablemergecells tablesplitcells')\n        });\n      }\n      editor.ui.registry.addContextMenu('table', {\n        update: () => {\n          selectionTargets.resetTargets();\n          return selectionTargets.targets().fold(constant(''), targets => {\n            if (name(targets.element) === 'caption') {\n              return 'tableprops deletetable';\n            } else {\n              return 'cell row column | advtablesort | tableprops deletetable';\n            }\n          });\n        }\n      });\n      const tableClassList = filterNoneItem(getTableClassList(editor));\n      if (tableClassList.length !== 0 && editor.queryCommandSupported('mceTableToggleClass')) {\n        editor.ui.registry.addNestedMenuItem('tableclass', {\n          icon: 'table-classes',\n          text: 'Table styles',\n          getSubmenuItems: () => buildMenuItems(editor, tableClassList, 'tableclass', value => editor.execCommand('mceTableToggleClass', false, value)),\n          onSetup: selectionTargets.onSetupTable\n        });\n      }\n      const tableCellClassList = filterNoneItem(getCellClassList(editor));\n      if (tableCellClassList.length !== 0 && editor.queryCommandSupported('mceTableCellToggleClass')) {\n        editor.ui.registry.addNestedMenuItem('tablecellclass', {\n          icon: 'table-cell-classes',\n          text: 'Cell styles',\n          getSubmenuItems: () => buildMenuItems(editor, tableCellClassList, 'tablecellclass', value => editor.execCommand('mceTableCellToggleClass', false, value)),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n      }\n      if (editor.queryCommandSupported('mceTableApplyCellStyle')) {\n        editor.ui.registry.addNestedMenuItem('tablecellvalign', {\n          icon: 'vertical-align',\n          text: 'Vertical align',\n          getSubmenuItems: () => buildMenuItems(editor, verticalAlignValues, 'tablecellverticalalign', applyTableCellStyle(editor, 'vertical-align')),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n        editor.ui.registry.addNestedMenuItem('tablecellborderwidth', {\n          icon: 'border-width',\n          text: 'Border width',\n          getSubmenuItems: () => buildMenuItems(editor, getTableBorderWidths(editor), 'tablecellborderwidth', applyTableCellStyle(editor, 'border-width')),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n        editor.ui.registry.addNestedMenuItem('tablecellborderstyle', {\n          icon: 'border-style',\n          text: 'Border style',\n          getSubmenuItems: () => buildMenuItems(editor, getTableBorderStyles(editor), 'tablecellborderstyle', applyTableCellStyle(editor, 'border-style')),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n        editor.ui.registry.addNestedMenuItem('tablecellbackgroundcolor', {\n          icon: 'cell-background-color',\n          text: 'Background color',\n          getSubmenuItems: () => buildColorMenu(editor, getTableBackgroundColorMap(editor), 'background-color'),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n        editor.ui.registry.addNestedMenuItem('tablecellbordercolor', {\n          icon: 'cell-border-color',\n          text: 'Border color',\n          getSubmenuItems: () => buildColorMenu(editor, getTableBorderColorMap(editor), 'border-color'),\n          onSetup: selectionTargets.onSetupCellOrRow\n        });\n      }\n      addToggleMenuIfRegistered('tablecaption', {\n        icon: 'table-caption',\n        text: 'Table caption',\n        command: 'mceTableToggleCaption',\n        onSetup: selectionTargets.onSetupTableWithCaption\n      });\n      addToggleMenuIfRegistered('tablerowheader', {\n        text: 'Row header',\n        icon: 'table-top-header',\n        command: 'mceTableRowType',\n        onAction: changeRowHeader(editor),\n        onSetup: selectionTargets.onSetupTableRowHeaders\n      });\n      addToggleMenuIfRegistered('tablecolheader', {\n        text: 'Column header',\n        icon: 'table-left-header',\n        command: 'mceTableColType',\n        onAction: changeColumnHeader(editor),\n        onSetup: selectionTargets.onSetupTableRowHeaders\n      });\n    };\n\n    const Plugin = editor => {\n      const selectionTargets = getSelectionTargets(editor);\n      register(editor);\n      registerCommands(editor);\n      addMenuItems(editor, selectionTargets);\n      addButtons(editor, selectionTargets);\n      addToolbars(editor);\n    };\n    var Plugin$1 = () => {\n      global$3.add('table', Plugin);\n    };\n\n    Plugin$1();\n\n})();\n/*!\n * Tiny Table of Contents plugin\n *\n * Copyright (c) 2023 Ephox Corporation DBA Tiny Technologies, Inc.\n * Licensed under the Tiny commercial license. See https://www.tiny.cloud/legal/\n *\n * Version: 1.2.0-51\n */\n\n!function(){\"use strict\";const t=t=>parseInt(t,10),e=(t,e)=>{const n=t-e;return 0===n?0:n>0?1:-1},n=(t,e,n)=>({major:t,minor:e,patch:n}),o=e=>{const o=/([0-9]+)\\.([0-9]+)\\.([0-9]+)(?:(\\-.+)?)/.exec(e);return o?n(t(o[1]),t(o[2]),t(o[3])):n(0,0,0)},r=(\"string\",t=>\"string\"===(t=>{const e=typeof t;return null===t?\"null\":\"object\"===e&&Array.isArray(t)?\"array\":\"object\"===e&&(n=o=t,(r=String).prototype.isPrototypeOf(n)||(null===(s=o.constructor)||void 0===s?void 0:s.name)===r.name)?\"string\":e;var n,o,r,s})(t));const s=t=>!(t=>null==t)(t),i=t=>\"number\"==typeof t;class l{constructor(t,e){this.tag=t,this.value=e}static some(t){return new l(!0,t)}static none(){return l.singletonNone}fold(t,e){return this.tag?e(this.value):t()}isSome(){return this.tag}isNone(){return!this.tag}map(t){return this.tag?l.some(t(this.value)):l.none()}bind(t){return this.tag?t(this.value):l.none()}exists(t){return this.tag&&t(this.value)}forall(t){return!this.tag||t(this.value)}filter(t){return!this.tag||t(this.value)?this:l.none()}getOr(t){return this.tag?this.value:t}or(t){return this.tag?this:t}getOrThunk(t){return this.tag?this.value:t()}orThunk(t){return this.tag?this:t()}getOrDie(t){if(this.tag)return this.value;throw new Error(null!=t?t:\"Called getOrDie on None\")}static from(t){return s(t)?l.some(t):l.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(t){this.tag&&t(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:\"none()\"}}l.singletonNone=new l(!1);const a=t=>e=>e.options.get(t),c=a(\"tableofcontents_class\"),d=a(\"tableofcontents_header\"),u=a(\"tableofcontents_depth\"),h=a(\"tableofcontents_includeheader\"),f=a(\"tableofcontents_orderedlist\"),g=a(\"tableofcontents_orderedlist_type\"),m=(t=>{let e=0;return()=>\"mcetoc_\"+(new Date).getTime().toString(32)+(e++).toString(32)})(),p=t=>{const e=c(t),n=d(t),o=(t=>{const e=[];for(let n=1;n<=t;n++)e.push(\"h\"+n);return e.join(\",\")})(u(t));let r=t.dom.select(o);return r.length&&/^h[1-9]$/i.test(n)&&(r=((t,e)=>{const n=[];for(let o=0,r=t.length;o<r;o++){const r=t[o];e(r)&&n.push(r)}return n})(r,(n=>{const o=n.parentElement;return s(o)&&!t.dom.hasClass(o,e)&&!t.dom.isEmpty(n)}))),((t,e)=>{const n=t.length,o=new Array(n);for(let r=0;r<n;r++){const n=t[r];o[r]=e(n)}return o})(r,(t=>({id:t.id||m(),level:parseInt(t.nodeName.replace(/^H/i,\"\"),10),title:t.innerText,element:t})))},b=(t,e)=>{let n=\"\";const o=p(t),r=f(t)?\"ol\":\"ul\",s=[r];let i=(t=>{let e=9;for(const n of t)if(n.level<e&&(e=n.level),1===e)return e;return e})(o)-1;if(!o.length)return\"\";if(f(t)&&s.push(`type=\"${g(t)}\"`),h(t)){const o=e.getOr(t.translate(\"Table of Contents\"));n+=((t,e)=>{const n=\"</\"+t+\">\";return\"<\"+t+' contenteditable=\"true\">'+tinymce.DOM.encode(e)+n})(d(t),o)}for(let t=0;t<o.length;t++){const e=o[t];e.element.id=e.id;const l=o[t+1]&&o[t+1].level;if(i===e.level)n+=\"<li>\";else for(let t=i;t<e.level;t++)n+=`<${s.join(\" \")}><li>`;if(n+='<a href=\"#'+e.id+'\">'+e.title+\"</a>\",l!==e.level&&l)for(let t=e.level;t>l;t--)n+=t===l+1?`</li></${r}><li>`:`</li></${r}>`;else n+=\"</li>\",l||(n+=`</${r}>`);i=e.level}return n},v=t=>{const e=c(t),n=t.dom.select(\".\"+e);n.length&&t.undoManager.transact((()=>{var e,o;t.dom.setHTML(n,b(t,(e=n[0],l.from(null===(o=e.firstElementChild)||void 0===o?void 0:o.innerHTML))))}))},_=t=>e=>{const n=()=>{const n=t.selection.isEditable();e.setEnabled(!t.readonly&&n&&(t=>p(t).length>0)(t))};return t.on(\"NodeChange LoadContent SetContent change\",n),n(),()=>t.off(\"NodeChange LoadContent SetContent change\",n)},y=t=>e=>t.dom.is(e,\".\"+c(t))&&t.getBody().contains(e);tinymce.PluginManager.requireLangPack(\"tableofcontents\",\"ar,bg_BG,ca,cs,da,de,el,es,eu,fa,fi,fr_FR,he_IL,hi,hr,hu_HU,id,it,ja,kk,ko_KR,ms,nb_NO,nl,pl,pt_BR,pt_PT,ro,ru,sk,sl_SI,sv_SE,th_TH,tr,uk,vi,zh_CN,zh_TW\"),tinymce.PluginManager.add(\"tableofcontents\",(t=>{((t,n)=>!!t&&-1===((t,n)=>{const o=e(t.major,n.major);if(0!==o)return o;const r=e(t.minor,n.minor);if(0!==r)return r;const s=e(t.patch,n.patch);return 0!==s?s:0})((t=>o((t=>[t.majorVersion,t.minorVersion].join(\".\").split(\".\").slice(0,3).join(\".\"))(t)))(t),o(n)))(tinymce,\"6.4.0\")?console.error(\"The tinydrive plugin requires at least version 6.4.0 of TinyMCE.\"):((t=>{const e=t.options.register;e(\"tableofcontents_class\",{processor:\"string\",default:\"mce-toc\"}),e(\"tableofcontents_header\",{processor:t=>r(t)&&/^h[1-6]$/.test(t),default:\"h2\"}),e(\"tableofcontents_depth\",{processor:t=>i(t)&&t>=1&&t<=9,default:3}),e(\"tableofcontents_includeheader\",{processor:\"boolean\",default:!0}),e(\"tableofcontents_orderedlist\",{processor:\"boolean\",default:!1}),e(\"tableofcontents_orderedlist_type\",{processor:t=>r(t)&&[\"1\",\"A\",\"a\",\"I\",\"i\"].includes(t),default:\"1\"})})(t),(t=>{t.addCommand(\"mceInsertToc\",(()=>{(t=>{const e=c(t),n=t.dom.select(\".\"+e);((t,e)=>!e.length||t.dom.getParents(e[0],\".mce-offscreen-selection\").length>0)(t,n)?t.insertContent(((t,e)=>{const n=b(t,e);return'<div class=\"'+t.dom.encode(c(t))+'\" contenteditable=\"false\" data-mce-toc=\"true\">'+n+\"</div>\"})(t,l.none())):v(t)})(t)})),t.addCommand(\"mceUpdateToc\",(()=>{v(t)}))})(t),(t=>{const e=()=>t.execCommand(\"mceInsertToc\");t.ui.registry.addButton(\"tableofcontents\",{icon:\"toc\",tooltip:\"Table of contents\",onAction:e,onSetup:_(t)}),t.ui.registry.addButton(\"tableofcontentsupdate\",{icon:\"reload\",tooltip:\"Update\",onAction:()=>t.execCommand(\"mceUpdateToc\")}),t.ui.registry.addMenuItem(\"tableofcontents\",{icon:\"toc\",text:\"Table of contents\",onAction:e,onSetup:_(t)}),t.ui.registry.addContextToolbar(\"tableofcontents\",{items:\"tableofcontentsupdate\",predicate:y(t),scope:\"node\",position:\"node\"})})(t),(t=>{const e=c(t),n=\"data-mce-toc\";t.on(\"PreProcess\",(n=>{const o=t.dom,r=o.select(\".\"+e,n.node)[0];r&&((t,e)=>{for(let e=0,r=t.length;e<r;e++)n=t[e],o.setAttrib(n,\"contentEditable\",null);var n})([r].concat(o.select(\"[contenteditable]\",r)))})),t.on(\"PreInit\",(()=>{t.serializer.addTempAttr(n)})),t.on(\"SetContent\",(()=>{const o=t.dom,r=o.select(\".\"+e)[0];if(r){o.setAttribs(r,{contentEditable:!1,[n]:!0});const t=r.firstElementChild;s(t)&&o.setAttrib(t,\"contentEditable\",!0)}}))})(t))}))}();/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const fireVisualBlocks = (editor, state) => {\n      editor.dispatch('VisualBlocks', {\n        state\n      });\n    };\n\n    const toggleVisualBlocks = (editor, pluginUrl, enabledState) => {\n      const dom = editor.dom;\n      dom.toggleClass(editor.getBody(), 'mce-visualblocks');\n      enabledState.set(!enabledState.get());\n      fireVisualBlocks(editor, enabledState.get());\n    };\n\n    const register$2 = (editor, pluginUrl, enabledState) => {\n      editor.addCommand('mceVisualBlocks', () => {\n        toggleVisualBlocks(editor, pluginUrl, enabledState);\n      });\n    };\n\n    const option = name => editor => editor.options.get(name);\n    const register$1 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('visualblocks_default_state', {\n        processor: 'boolean',\n        default: false\n      });\n    };\n    const isEnabledByDefault = option('visualblocks_default_state');\n\n    const setup = (editor, pluginUrl, enabledState) => {\n      editor.on('PreviewFormats AfterPreviewFormats', e => {\n        if (enabledState.get()) {\n          editor.dom.toggleClass(editor.getBody(), 'mce-visualblocks', e.type === 'afterpreviewformats');\n        }\n      });\n      editor.on('init', () => {\n        if (isEnabledByDefault(editor)) {\n          toggleVisualBlocks(editor, pluginUrl, enabledState);\n        }\n      });\n    };\n\n    const toggleActiveState = (editor, enabledState) => api => {\n      api.setActive(enabledState.get());\n      const editorEventCallback = e => api.setActive(e.state);\n      editor.on('VisualBlocks', editorEventCallback);\n      return () => editor.off('VisualBlocks', editorEventCallback);\n    };\n    const register = (editor, enabledState) => {\n      const onAction = () => editor.execCommand('mceVisualBlocks');\n      editor.ui.registry.addToggleButton('visualblocks', {\n        icon: 'visualblocks',\n        tooltip: 'Show blocks',\n        onAction,\n        onSetup: toggleActiveState(editor, enabledState)\n      });\n      editor.ui.registry.addToggleMenuItem('visualblocks', {\n        text: 'Show blocks',\n        icon: 'visualblocks',\n        onAction,\n        onSetup: toggleActiveState(editor, enabledState)\n      });\n    };\n\n    var Plugin = () => {\n      global.add('visualblocks', (editor, pluginUrl) => {\n        register$1(editor);\n        const enabledState = Cell(false);\n        register$2(editor, pluginUrl, enabledState);\n        register(editor, enabledState);\n        setup(editor, pluginUrl, enabledState);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const get$2 = toggleState => {\n      const isEnabled = () => {\n        return toggleState.get();\n      };\n      return {\n        isEnabled\n      };\n    };\n\n    const fireVisualChars = (editor, state) => {\n      return editor.dispatch('VisualChars', {\n        state\n      });\n    };\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const eq = t => a => t === a;\n    const isString = isType$1('string');\n    const isObject = isType$1('object');\n    const isNull = eq(null);\n    const isBoolean = isSimpleType('boolean');\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isNumber = isSimpleType('number');\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each$1 = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const filter = (xs, pred) => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n\n    const keys = Object.keys;\n    const each = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n\n    const Global = typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const path = (parts, scope) => {\n      let o = scope !== undefined && scope !== null ? scope : Global;\n      for (let i = 0; i < parts.length && o !== undefined && o !== null; ++i) {\n        o = o[parts[i]];\n      }\n      return o;\n    };\n    const resolve = (p, scope) => {\n      const parts = p.split('.');\n      return path(parts, scope);\n    };\n\n    const unsafe = (name, scope) => {\n      return resolve(name, scope);\n    };\n    const getOrDie = (name, scope) => {\n      const actual = unsafe(name, scope);\n      if (actual === undefined || actual === null) {\n        throw new Error(name + ' not available on this browser');\n      }\n      return actual;\n    };\n\n    const getPrototypeOf = Object.getPrototypeOf;\n    const sandHTMLElement = scope => {\n      return getOrDie('HTMLElement', scope);\n    };\n    const isPrototypeOf = x => {\n      const scope = resolve('ownerDocument.defaultView', x);\n      return isObject(x) && (sandHTMLElement(scope).prototype.isPrototypeOf(x) || /^HTML\\w*Element$/.test(getPrototypeOf(x).constructor.name));\n    };\n\n    const ELEMENT = 1;\n    const TEXT = 3;\n\n    const type = element => element.dom.nodeType;\n    const value = element => element.dom.nodeValue;\n    const isType = t => element => type(element) === t;\n    const isHTMLElement = element => isElement(element) && isPrototypeOf(element.dom);\n    const isElement = isType(ELEMENT);\n    const isText = isType(TEXT);\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const get$1 = (element, key) => {\n      const v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    const remove$3 = (element, key) => {\n      element.dom.removeAttribute(key);\n    };\n\n    const read = (element, attr) => {\n      const value = get$1(element, attr);\n      return value === undefined || value === '' ? [] : value.split(' ');\n    };\n    const add$2 = (element, attr, id) => {\n      const old = read(element, attr);\n      const nu = old.concat([id]);\n      set(element, attr, nu.join(' '));\n      return true;\n    };\n    const remove$2 = (element, attr, id) => {\n      const nu = filter(read(element, attr), v => v !== id);\n      if (nu.length > 0) {\n        set(element, attr, nu.join(' '));\n      } else {\n        remove$3(element, attr);\n      }\n      return false;\n    };\n\n    const supports = element => element.dom.classList !== undefined;\n    const get = element => read(element, 'class');\n    const add$1 = (element, clazz) => add$2(element, 'class', clazz);\n    const remove$1 = (element, clazz) => remove$2(element, 'class', clazz);\n\n    const add = (element, clazz) => {\n      if (supports(element)) {\n        element.dom.classList.add(clazz);\n      } else {\n        add$1(element, clazz);\n      }\n    };\n    const cleanClass = element => {\n      const classList = supports(element) ? element.dom.classList : get(element);\n      if (classList.length === 0) {\n        remove$3(element, 'class');\n      }\n    };\n    const remove = (element, clazz) => {\n      if (supports(element)) {\n        const classList = element.dom.classList;\n        classList.remove(clazz);\n      } else {\n        remove$1(element, clazz);\n      }\n      cleanClass(element);\n    };\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom(node);\n    };\n    const fromDom = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);\n    const SugarElement = {\n      fromHtml,\n      fromTag,\n      fromText,\n      fromDom,\n      fromPoint\n    };\n\n    const charMap = {\n      '\\xA0': 'nbsp',\n      '\\xAD': 'shy'\n    };\n    const charMapToRegExp = (charMap, global) => {\n      let regExp = '';\n      each(charMap, (_value, key) => {\n        regExp += key;\n      });\n      return new RegExp('[' + regExp + ']', global ? 'g' : '');\n    };\n    const charMapToSelector = charMap => {\n      let selector = '';\n      each(charMap, value => {\n        if (selector) {\n          selector += ',';\n        }\n        selector += 'span.mce-' + value;\n      });\n      return selector;\n    };\n    const regExp = charMapToRegExp(charMap);\n    const regExpGlobal = charMapToRegExp(charMap, true);\n    const selector = charMapToSelector(charMap);\n    const nbspClass = 'mce-nbsp';\n\n    const getRaw = element => element.dom.contentEditable;\n\n    const wrapCharWithSpan = value => '<span data-mce-bogus=\"1\" class=\"mce-' + charMap[value] + '\">' + value + '</span>';\n\n    const isWrappedNbsp = node => node.nodeName.toLowerCase() === 'span' && node.classList.contains('mce-nbsp-wrap');\n    const isMatch = n => {\n      const value$1 = value(n);\n      return isText(n) && isString(value$1) && regExp.test(value$1);\n    };\n    const isContentEditableFalse = node => isHTMLElement(node) && getRaw(node) === 'false';\n    const isChildEditable = (node, currentState) => {\n      if (isHTMLElement(node) && !isWrappedNbsp(node.dom)) {\n        const value = getRaw(node);\n        if (value === 'true') {\n          return true;\n        } else if (value === 'false') {\n          return false;\n        }\n      }\n      return currentState;\n    };\n    const filterEditableDescendants = (scope, predicate, editable) => {\n      let result = [];\n      const dom = scope.dom;\n      const children = map(dom.childNodes, SugarElement.fromDom);\n      const isEditable = node => isWrappedNbsp(node.dom) || !isContentEditableFalse(node);\n      each$1(children, x => {\n        if (editable && isEditable(x) && predicate(x)) {\n          result = result.concat([x]);\n        }\n        result = result.concat(filterEditableDescendants(x, predicate, isChildEditable(x, editable)));\n      });\n      return result;\n    };\n    const findParentElm = (elm, rootElm) => {\n      while (elm.parentNode) {\n        if (elm.parentNode === rootElm) {\n          return rootElm;\n        }\n        elm = elm.parentNode;\n      }\n      return undefined;\n    };\n    const replaceWithSpans = text => text.replace(regExpGlobal, wrapCharWithSpan);\n\n    const show = (editor, rootElm) => {\n      const dom = editor.dom;\n      const nodeList = filterEditableDescendants(SugarElement.fromDom(rootElm), isMatch, editor.dom.isEditable(rootElm));\n      each$1(nodeList, n => {\n        var _a;\n        const parent = n.dom.parentNode;\n        if (isWrappedNbsp(parent)) {\n          add(SugarElement.fromDom(parent), nbspClass);\n        } else {\n          const withSpans = replaceWithSpans(dom.encode((_a = value(n)) !== null && _a !== void 0 ? _a : ''));\n          const div = dom.create('div', {}, withSpans);\n          let node;\n          while (node = div.lastChild) {\n            dom.insertAfter(node, n.dom);\n          }\n          editor.dom.remove(n.dom);\n        }\n      });\n    };\n    const hide = (editor, rootElm) => {\n      const nodeList = editor.dom.select(selector, rootElm);\n      each$1(nodeList, node => {\n        if (isWrappedNbsp(node)) {\n          remove(SugarElement.fromDom(node), nbspClass);\n        } else {\n          editor.dom.remove(node, true);\n        }\n      });\n    };\n    const toggle = editor => {\n      const body = editor.getBody();\n      const bookmark = editor.selection.getBookmark();\n      let parentNode = findParentElm(editor.selection.getNode(), body);\n      parentNode = parentNode !== undefined ? parentNode : body;\n      hide(editor, parentNode);\n      show(editor, parentNode);\n      editor.selection.moveToBookmark(bookmark);\n    };\n\n    const applyVisualChars = (editor, toggleState) => {\n      fireVisualChars(editor, toggleState.get());\n      const body = editor.getBody();\n      if (toggleState.get() === true) {\n        show(editor, body);\n      } else {\n        hide(editor, body);\n      }\n    };\n    const toggleVisualChars = (editor, toggleState) => {\n      toggleState.set(!toggleState.get());\n      const bookmark = editor.selection.getBookmark();\n      applyVisualChars(editor, toggleState);\n      editor.selection.moveToBookmark(bookmark);\n    };\n\n    const register$2 = (editor, toggleState) => {\n      editor.addCommand('mceVisualChars', () => {\n        toggleVisualChars(editor, toggleState);\n      });\n    };\n\n    const option = name => editor => editor.options.get(name);\n    const register$1 = editor => {\n      const registerOption = editor.options.register;\n      registerOption('visualchars_default_state', {\n        processor: 'boolean',\n        default: false\n      });\n    };\n    const isEnabledByDefault = option('visualchars_default_state');\n\n    const setup$1 = (editor, toggleState) => {\n      editor.on('init', () => {\n        applyVisualChars(editor, toggleState);\n      });\n    };\n\n    const first = (fn, rate) => {\n      let timer = null;\n      const cancel = () => {\n        if (!isNull(timer)) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      const throttle = (...args) => {\n        if (isNull(timer)) {\n          timer = setTimeout(() => {\n            timer = null;\n            fn.apply(null, args);\n          }, rate);\n        }\n      };\n      return {\n        cancel,\n        throttle\n      };\n    };\n\n    const setup = (editor, toggleState) => {\n      const debouncedToggle = first(() => {\n        toggle(editor);\n      }, 300);\n      editor.on('keydown', e => {\n        if (toggleState.get() === true) {\n          e.keyCode === 13 ? toggle(editor) : debouncedToggle.throttle();\n        }\n      });\n      editor.on('remove', debouncedToggle.cancel);\n    };\n\n    const toggleActiveState = (editor, enabledStated) => api => {\n      api.setActive(enabledStated.get());\n      const editorEventCallback = e => api.setActive(e.state);\n      editor.on('VisualChars', editorEventCallback);\n      return () => editor.off('VisualChars', editorEventCallback);\n    };\n    const register = (editor, toggleState) => {\n      const onAction = () => editor.execCommand('mceVisualChars');\n      editor.ui.registry.addToggleButton('visualchars', {\n        tooltip: 'Show invisible characters',\n        icon: 'visualchars',\n        onAction,\n        onSetup: toggleActiveState(editor, toggleState)\n      });\n      editor.ui.registry.addToggleMenuItem('visualchars', {\n        text: 'Show invisible characters',\n        icon: 'visualchars',\n        onAction,\n        onSetup: toggleActiveState(editor, toggleState)\n      });\n    };\n\n    var Plugin = () => {\n      global.add('visualchars', editor => {\n        register$1(editor);\n        const toggleState = Cell(isEnabledByDefault(editor));\n        register$2(editor, toggleState);\n        register(editor, toggleState);\n        setup(editor, toggleState);\n        setup$1(editor, toggleState);\n        return get$2(toggleState);\n      });\n    };\n\n    Plugin();\n\n})();\n/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n    const eq = t => a => t === a;\n    const isNull = eq(null);\n\n    const identity = x => {\n      return x;\n    };\n\n    const map = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n\n    const punctuationStr = \"[~\\u2116|!-*+-\\\\/:;?@\\\\[-`{}\\xA1\\xAB\\xB7\\xBB\\xBF;\\xB7\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1361-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u3008\\u3009\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30\\u2E31\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]\";\n    const regExps = {\n      aletter: '[A-Za-z\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05d0-\\u05ea\\u05f0-\\u05F3\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0977\\u0979-\\u097f\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c33\\u0c35-\\u0c39\\u0c3d\\u0c58\\u0c59\\u0c60\\u0c61\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d05-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d60\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u10a0-\\u10c5\\u10d0-\\u10fa\\u10fc\\u1100-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f4\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f0\\u1700-\\u170c\\u170e-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1820-\\u1877\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191c\\u1a00-\\u1a16\\u1b05-\\u1b33\\u1b45-\\u1b4b\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bc0-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1ce9-\\u1cec\\u1cee-\\u1cf1\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2119-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u212d\\u212f-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u24B6-\\u24E9\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cee\\u2d00-\\u2d25\\u2d30-\\u2d65\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u2e2f\\u3005\\u303b\\u303c\\u3105-\\u312d\\u3131-\\u318e\\u31a0-\\u31ba\\ua000-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua697\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua78e\\ua790\\ua791\\ua7a0-\\ua7a9\\ua7fa-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uabc0-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uffa0-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc]',\n      midnumlet: \"[-'\\\\.\\u2018\\u2019\\u2024\\uFE52\\uFF07\\uFF0E]\",\n      midletter: '[:\\xB7\\xB7\\u05F4\\u2027\\uFE13\\uFE55\\uFF1A]',\n      midnum: '[\\xB1+*/,;;\\u0589\\u060C\\u060D\\u066C\\u07F8\\u2044\\uFE10\\uFE14\\uFE50\\uFE54\\uFF0C\\uFF1B]',\n      numeric: '[0-9\\u0660-\\u0669\\u066B\\u06f0-\\u06f9\\u07c0-\\u07c9\\u0966-\\u096f\\u09e6-\\u09ef\\u0a66-\\u0a6f\\u0ae6-\\u0aef\\u0b66-\\u0b6f\\u0be6-\\u0bef\\u0c66-\\u0c6f\\u0ce6-\\u0cef\\u0d66-\\u0d6f\\u0e50-\\u0e59\\u0ed0-\\u0ed9\\u0f20-\\u0f29\\u1040-\\u1049\\u1090-\\u1099\\u17e0-\\u17e9\\u1810-\\u1819\\u1946-\\u194f\\u19d0-\\u19d9\\u1a80-\\u1a89\\u1a90-\\u1a99\\u1b50-\\u1b59\\u1bb0-\\u1bb9\\u1c40-\\u1c49\\u1c50-\\u1c59\\ua620-\\ua629\\ua8d0-\\ua8d9\\ua900-\\ua909\\ua9d0-\\ua9d9\\uaa50-\\uaa59\\uabf0-\\uabf9]',\n      cr: '\\\\r',\n      lf: '\\\\n',\n      newline: '[\\x0B\\f\\x85\\u2028\\u2029]',\n      extend: '[\\u0300-\\u036f\\u0483-\\u0489\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u065f\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07eb-\\u07f3\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u0900-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09cb-\\u09cd\\u09d7\\u09e2\\u09e3\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a70\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2\\u0ae3\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b56\\u0b57\\u0b62\\u0b63\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0c01-\\u0c03\\u0c3e-\\u0c44\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0c82\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0d02\\u0d03\\u0d3e-\\u0d44\\u0d46-\\u0d48\\u0d4a-\\u0d4d\\u0d57\\u0d62\\u0d63\\u0d82\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0df2\\u0df3\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0eb1\\u0eb4-\\u0eb9\\u0ebb\\u0ebc\\u0ec8-\\u0ecd\\u0f18\\u0f19\\u0f35\\u0f37\\u0f39\\u0f3e\\u0f3f\\u0f71-\\u0f84\\u0f86\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102b-\\u103e\\u1056-\\u1059\\u105e-\\u1060\\u1062-\\u1064\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f\\u109a-\\u109d\\u135d-\\u135f\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b6-\\u17d3\\u17dd\\u180b-\\u180d\\u18a9\\u1920-\\u192b\\u1930-\\u193b\\u19b0-\\u19c0\\u19c8\\u19c9\\u1a17-\\u1a1b\\u1a55-\\u1a5e\\u1a60-\\u1a7c\\u1a7f\\u1b00-\\u1b04\\u1b34-\\u1b44\\u1b6b-\\u1b73\\u1b80-\\u1b82\\u1ba1-\\u1baa\\u1be6-\\u1bf3\\u1c24-\\u1c37\\u1cd0-\\u1cd2\\u1cd4-\\u1ce8\\u1ced\\u1cf2\\u1dc0-\\u1de6\\u1dfc-\\u1dff\\u200c\\u200d\\u20d0-\\u20f0\\u2cef-\\u2cf1\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua66f-\\uA672\\ua67c\\ua67d\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua823-\\ua827\\ua880\\ua881\\ua8b4-\\ua8c4\\ua8e0-\\ua8f1\\ua926-\\ua92d\\ua947-\\ua953\\ua980-\\ua983\\ua9b3-\\ua9c0\\uaa29-\\uaa36\\uaa43\\uaa4c\\uaa4d\\uaa7b\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uabe3-\\uabea\\uabec\\uabed\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe26\\uff9e\\uff9f]',\n      format: '[\\xAD\\u0600-\\u0603\\u06DD\\u070F\\u17b4\\u17b5\\u200E\\u200F\\u202A-\\u202E\\u2060-\\u2064\\u206A-\\u206F\\uFEFF\\uFFF9-\\uFFFB]',\n      katakana: '[\\u3031-\\u3035\\u309B\\u309C\\u30A0-\\u30fa\\u30fc-\\u30ff\\u31f0-\\u31ff\\u32D0-\\u32FE\\u3300-\\u3357\\uff66-\\uff9d]',\n      extendnumlet: '[=_\\u203f\\u2040\\u2054\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff3f\\u2200-\\u22FF<>]',\n      punctuation: punctuationStr\n    };\n    const characterIndices = {\n      ALETTER: 0,\n      MIDNUMLET: 1,\n      MIDLETTER: 2,\n      MIDNUM: 3,\n      NUMERIC: 4,\n      CR: 5,\n      LF: 6,\n      NEWLINE: 7,\n      EXTEND: 8,\n      FORMAT: 9,\n      KATAKANA: 10,\n      EXTENDNUMLET: 11,\n      AT: 12,\n      OTHER: 13\n    };\n    const SETS$1 = [new RegExp(regExps.aletter), new RegExp(regExps.midnumlet), new RegExp(regExps.midletter), new RegExp(regExps.midnum), new RegExp(regExps.numeric), new RegExp(regExps.cr), new RegExp(regExps.lf), new RegExp(regExps.newline), new RegExp(regExps.extend), new RegExp(regExps.format), new RegExp(regExps.katakana), new RegExp(regExps.extendnumlet), new RegExp('@')];\n    const EMPTY_STRING$1 = '';\n    const PUNCTUATION$1 = new RegExp('^' + regExps.punctuation + '$');\n    const WHITESPACE$1 = /^\\s+$/;\n\n    const SETS = SETS$1;\n    const OTHER = characterIndices.OTHER;\n    const getType = char => {\n      let type = OTHER;\n      const setsLength = SETS.length;\n      for (let j = 0; j < setsLength; ++j) {\n        const set = SETS[j];\n        if (set && set.test(char)) {\n          type = j;\n          break;\n        }\n      }\n      return type;\n    };\n    const memoize = func => {\n      const cache = {};\n      return char => {\n        if (cache[char]) {\n          return cache[char];\n        } else {\n          const result = func(char);\n          cache[char] = result;\n          return result;\n        }\n      };\n    };\n    const classify = characters => {\n      const memoized = memoize(getType);\n      return map(characters, memoized);\n    };\n\n    const isWordBoundary = (map, index) => {\n      const type = map[index];\n      const nextType = map[index + 1];\n      if (index < 0 || index > map.length - 1 && index !== 0) {\n        return false;\n      }\n      if (type === characterIndices.ALETTER && nextType === characterIndices.ALETTER) {\n        return false;\n      }\n      const nextNextType = map[index + 2];\n      if (type === characterIndices.ALETTER && (nextType === characterIndices.MIDLETTER || nextType === characterIndices.MIDNUMLET || nextType === characterIndices.AT) && nextNextType === characterIndices.ALETTER) {\n        return false;\n      }\n      const prevType = map[index - 1];\n      if ((type === characterIndices.MIDLETTER || type === characterIndices.MIDNUMLET || nextType === characterIndices.AT) && nextType === characterIndices.ALETTER && prevType === characterIndices.ALETTER) {\n        return false;\n      }\n      if ((type === characterIndices.NUMERIC || type === characterIndices.ALETTER) && (nextType === characterIndices.NUMERIC || nextType === characterIndices.ALETTER)) {\n        return false;\n      }\n      if ((type === characterIndices.MIDNUM || type === characterIndices.MIDNUMLET) && nextType === characterIndices.NUMERIC && prevType === characterIndices.NUMERIC) {\n        return false;\n      }\n      if (type === characterIndices.NUMERIC && (nextType === characterIndices.MIDNUM || nextType === characterIndices.MIDNUMLET) && nextNextType === characterIndices.NUMERIC) {\n        return false;\n      }\n      if ((type === characterIndices.EXTEND || type === characterIndices.FORMAT) && (nextType === characterIndices.ALETTER || nextType === characterIndices.NUMERIC || nextType === characterIndices.KATAKANA || nextType === characterIndices.EXTEND || nextType === characterIndices.FORMAT) || (nextType === characterIndices.EXTEND || nextType === characterIndices.FORMAT && (nextNextType === characterIndices.ALETTER || nextNextType === characterIndices.NUMERIC || nextNextType === characterIndices.KATAKANA || nextNextType === characterIndices.EXTEND || nextNextType === characterIndices.FORMAT)) && (type === characterIndices.ALETTER || type === characterIndices.NUMERIC || type === characterIndices.KATAKANA || type === characterIndices.EXTEND || type === characterIndices.FORMAT)) {\n        return false;\n      }\n      if (type === characterIndices.CR && nextType === characterIndices.LF) {\n        return false;\n      }\n      if (type === characterIndices.NEWLINE || type === characterIndices.CR || type === characterIndices.LF) {\n        return true;\n      }\n      if (nextType === characterIndices.NEWLINE || nextType === characterIndices.CR || nextType === characterIndices.LF) {\n        return true;\n      }\n      if (type === characterIndices.KATAKANA && nextType === characterIndices.KATAKANA) {\n        return false;\n      }\n      if (nextType === characterIndices.EXTENDNUMLET && (type === characterIndices.ALETTER || type === characterIndices.NUMERIC || type === characterIndices.KATAKANA || type === characterIndices.EXTENDNUMLET)) {\n        return false;\n      }\n      if (type === characterIndices.EXTENDNUMLET && (nextType === characterIndices.ALETTER || nextType === characterIndices.NUMERIC || nextType === characterIndices.KATAKANA)) {\n        return false;\n      }\n      if (type === characterIndices.AT) {\n        return false;\n      }\n      return true;\n    };\n\n    const EMPTY_STRING = EMPTY_STRING$1;\n    const WHITESPACE = WHITESPACE$1;\n    const PUNCTUATION = PUNCTUATION$1;\n    const isProtocol = str => str === 'http' || str === 'https';\n    const findWordEnd = (characters, startIndex) => {\n      let i;\n      for (i = startIndex; i < characters.length; i++) {\n        if (WHITESPACE.test(characters[i])) {\n          break;\n        }\n      }\n      return i;\n    };\n    const findUrlEnd = (characters, startIndex) => {\n      const endIndex = findWordEnd(characters, startIndex + 1);\n      const peakedWord = characters.slice(startIndex + 1, endIndex).join(EMPTY_STRING);\n      return peakedWord.substr(0, 3) === '://' ? endIndex : startIndex;\n    };\n    const findWordsWithIndices = (chars, sChars, characterMap, options) => {\n      const words = [];\n      const indices = [];\n      let word = [];\n      for (let i = 0; i < characterMap.length; ++i) {\n        word.push(chars[i]);\n        if (isWordBoundary(characterMap, i)) {\n          const ch = sChars[i];\n          if ((options.includeWhitespace || !WHITESPACE.test(ch)) && (options.includePunctuation || !PUNCTUATION.test(ch))) {\n            const startOfWord = i - word.length + 1;\n            const endOfWord = i + 1;\n            const str = sChars.slice(startOfWord, endOfWord).join(EMPTY_STRING);\n            if (isProtocol(str)) {\n              const endOfUrl = findUrlEnd(sChars, i);\n              const url = chars.slice(endOfWord, endOfUrl);\n              Array.prototype.push.apply(word, url);\n              i = endOfUrl;\n            }\n            words.push(word);\n            indices.push({\n              start: startOfWord,\n              end: endOfWord\n            });\n          }\n          word = [];\n        }\n      }\n      return {\n        words,\n        indices\n      };\n    };\n    const getDefaultOptions = () => ({\n      includeWhitespace: false,\n      includePunctuation: false\n    });\n    const getWordsWithIndices = (chars, extract, options) => {\n      options = {\n        ...getDefaultOptions(),\n        ...options\n      };\n      const extractedChars = map(chars, extract);\n      const characterMap = classify(extractedChars);\n      return findWordsWithIndices(chars, extractedChars, characterMap, options);\n    };\n    const getWords$1 = (chars, extract, options) => getWordsWithIndices(chars, extract, options).words;\n\n    const getWords = getWords$1;\n\n    const removeZwsp$1 = s => s.replace(/\\uFEFF/g, '');\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker');\n\n    const getText = (node, schema) => {\n      const blockElements = schema.getBlockElements();\n      const voidElements = schema.getVoidElements();\n      const isNewline = node => blockElements[node.nodeName] || voidElements[node.nodeName];\n      const textBlocks = [];\n      let txt = '';\n      const treeWalker = new global$1(node, node);\n      let tempNode;\n      while (tempNode = treeWalker.next()) {\n        if (tempNode.nodeType === 3) {\n          txt += removeZwsp$1(tempNode.data);\n        } else if (isNewline(tempNode) && txt.length) {\n          textBlocks.push(txt);\n          txt = '';\n        }\n      }\n      if (txt.length) {\n        textBlocks.push(txt);\n      }\n      return textBlocks;\n    };\n\n    const removeZwsp = text => text.replace(/\\u200B/g, '');\n    const strLen = str => str.replace(/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g, '_').length;\n    const countWords = (node, schema) => {\n      const text = removeZwsp(getText(node, schema).join('\\n'));\n      return getWords(text.split(''), identity).length;\n    };\n    const countCharacters = (node, schema) => {\n      const text = getText(node, schema).join('');\n      return strLen(text);\n    };\n    const countCharactersWithoutSpaces = (node, schema) => {\n      const text = getText(node, schema).join('').replace(/\\s/g, '');\n      return strLen(text);\n    };\n\n    const createBodyCounter = (editor, count) => () => count(editor.getBody(), editor.schema);\n    const createSelectionCounter = (editor, count) => () => count(editor.selection.getRng().cloneContents(), editor.schema);\n    const createBodyWordCounter = editor => createBodyCounter(editor, countWords);\n    const get = editor => ({\n      body: {\n        getWordCount: createBodyWordCounter(editor),\n        getCharacterCount: createBodyCounter(editor, countCharacters),\n        getCharacterCountWithoutSpaces: createBodyCounter(editor, countCharactersWithoutSpaces)\n      },\n      selection: {\n        getWordCount: createSelectionCounter(editor, countWords),\n        getCharacterCount: createSelectionCounter(editor, countCharacters),\n        getCharacterCountWithoutSpaces: createSelectionCounter(editor, countCharactersWithoutSpaces)\n      },\n      getCount: createBodyWordCounter(editor)\n    });\n\n    const open = (editor, api) => {\n      editor.windowManager.open({\n        title: 'Word Count',\n        body: {\n          type: 'panel',\n          items: [{\n            type: 'table',\n            header: ['Count', 'Document', 'Selection'],\n            cells: [['Words', String(api.body.getWordCount()), String(api.selection.getWordCount())], ['Characters (no spaces)', String(api.body.getCharacterCountWithoutSpaces()), String(api.selection.getCharacterCountWithoutSpaces())], ['Characters', String(api.body.getCharacterCount()), String(api.selection.getCharacterCount())]]\n          }]\n        },\n        buttons: [{\n          type: 'cancel',\n          name: 'close',\n          text: 'Close',\n          primary: true\n        }]\n      });\n    };\n\n    const register$1 = (editor, api) => {\n      editor.addCommand('mceWordCount', () => open(editor, api));\n    };\n\n    const first = (fn, rate) => {\n      let timer = null;\n      const cancel = () => {\n        if (!isNull(timer)) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      const throttle = (...args) => {\n        if (isNull(timer)) {\n          timer = setTimeout(() => {\n            timer = null;\n            fn.apply(null, args);\n          }, rate);\n        }\n      };\n      return {\n        cancel,\n        throttle\n      };\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.util.Delay');\n\n    const fireWordCountUpdate = (editor, api) => {\n      editor.dispatch('wordCountUpdate', {\n        wordCount: {\n          words: api.body.getWordCount(),\n          characters: api.body.getCharacterCount(),\n          charactersWithoutSpaces: api.body.getCharacterCountWithoutSpaces()\n        }\n      });\n    };\n\n    const updateCount = (editor, api) => {\n      fireWordCountUpdate(editor, api);\n    };\n    const setup = (editor, api, delay) => {\n      const debouncedUpdate = first(() => updateCount(editor, api), delay);\n      editor.on('init', () => {\n        updateCount(editor, api);\n        global.setEditorTimeout(editor, () => {\n          editor.on('SetContent BeforeAddUndo Undo Redo ViewUpdate keyup', debouncedUpdate.throttle);\n        }, 0);\n        editor.on('remove', debouncedUpdate.cancel);\n      });\n    };\n\n    const register = editor => {\n      const onAction = () => editor.execCommand('mceWordCount');\n      editor.ui.registry.addButton('wordcount', {\n        tooltip: 'Word count',\n        icon: 'character-count',\n        onAction\n      });\n      editor.ui.registry.addMenuItem('wordcount', {\n        text: 'Word count',\n        icon: 'character-count',\n        onAction\n      });\n    };\n\n    var Plugin = (delay = 300) => {\n      global$2.add('wordcount', editor => {\n        const api = get(editor);\n        register$1(editor, api);\n        register(editor);\n        setup(editor, api, delay);\n        return api;\n      });\n    };\n\n    Plugin();\n\n})();\ntinymce.IconManager.add('default', {\n  icons: {\n    'accessibility-check': '<svg width=\"24\" height=\"24\"><path d=\"M12 2a2 2 0 0 1 2 2 2 2 0 0 1-2 2 2 2 0 0 1-2-2c0-1.1.9-2 2-2Zm8 7h-5v12c0 .6-.4 1-1 1a1 1 0 0 1-1-1v-5c0-.6-.4-1-1-1a1 1 0 0 0-1 1v5c0 .6-.4 1-1 1a1 1 0 0 1-1-1V9H4a1 1 0 1 1 0-2h16c.6 0 1 .4 1 1s-.4 1-1 1Z\" fill-rule=\"nonzero\"/></svg>',\n    'accordion-toggle': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 15c0-.6.4-1 1-1h6c.6 0 1 .4 1 1s-.4 1-1 1h-6a1 1 0 0 1-1-1Z\"/><path opacity=\".2\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 15c0-.6.4-1 1-1h6c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1-1-1Z\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 19c0-.6.4-1 1-1h6c.6 0 1 .4 1 1s-.4 1-1 1h-6a1 1 0 0 1-1-1Z\"/><path opacity=\".2\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 19c0-.6.4-1 1-1h6c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1-1-1Z\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.3 7.3a1 1 0 0 1 1.4 0L16 9.6l2.3-2.3a1 1 0 1 1 1.4 1.4L16 12.4l-3.7-3.7a1 1 0 0 1 0-1.4ZM4.3 11.7a1 1 0 0 1 0-1.4L6.6 8 4.3 5.7a1 1 0 0 1 1.4-1.4L9.4 8l-3.7 3.7a1 1 0 0 1-1.4 0Z\"/></svg>',\n    'accordion': '<svg width=\"24\" height=\"24\"><rect x=\"12\" y=\"7\" width=\"10\" height=\"2\" rx=\"1\"/><rect x=\"12\" y=\"11\" width=\"10\" height=\"2\" rx=\"1\"/><rect x=\"12\" y=\"15\" width=\"6\" height=\"2\" rx=\"1\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M2.3 7.3a1 1 0 0 1 1.4 0L6 9.6l2.3-2.3a1 1 0 0 1 1.4 1.4L6 12.4 2.3 8.7a1 1 0 0 1 0-1.4Z\"/></svg>',\n    'action-next': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M5.7 7.3a1 1 0 0 0-1.4 1.4l7.7 7.7 7.7-7.7a1 1 0 1 0-1.4-1.4L12 13.6 5.7 7.3Z\"/></svg>',\n    'action-prev': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M18.3 15.7a1 1 0 0 0 1.4-1.4L12 6.6l-7.7 7.7a1 1 0 0 0 1.4 1.4L12 9.4l6.3 6.3Z\"/></svg>',\n    'addtag': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M15 5a2 2 0 0 1 1.6.8L21 12l-4.4 6.2a2 2 0 0 1-1.6.8h-3v-2h3l3.5-5L15 7H5v3H3V7c0-1.1.9-2 2-2h10Z\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6 12a1 1 0 0 0-1 1v2H3a1 1 0 1 0 0 2h2v2a1 1 0 1 0 2 0v-2h2a1 1 0 1 0 0-2H7v-2c0-.6-.4-1-1-1Z\"/></svg>',\n    'ai-prompt': '<svg width=\"24\" height=\"24\"><g clip-path=\"url(#a)\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M15 6.7a1 1 0 0 0-1.4 0l-9.9 10a1 1 0 0 0 0 1.3l2.1 2.1c.4.4 1 .4 1.4 0l10-9.9c.3-.3.3-1 0-1.4l-2.2-2Zm1.4 2.8-2-2-3 2.7 2.2 2.2 2.8-2.9Z\"/><path d=\"m18.5 7.3-.7-1.5-1.5-.8 1.5-.7.7-1.5.7 1.5 1.5.7-1.5.8-.7 1.5ZM18.5 16.5l-.7-1.6-1.5-.7 1.5-.7.7-1.6.7 1.6 1.5.7-1.5.7-.7 1.6ZM9.7 7.3 9 5.8 7.5 5 9 4.3l.7-1.5.7 1.5L12 5l-1.5.8-.7 1.5Z\"/></g><defs><clipPath id=\"a\"><path d=\"M0 0h24v24H0z\"/></clipPath></defs></svg>',\n    'ai': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5 3a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H5Zm6.8 11.5.5 1.2a68.3 68.3 0 0 0 .7 1.1l.4.1c.3 0 .5 0 .7-.3.2-.1.3-.3.3-.6l-.3-1-2.6-6.2a20.4 20.4 0 0 0-.5-1.3l-.5-.4-.7-.2c-.2 0-.5 0-.6.2-.2 0-.4.2-.5.4l-.3.6-.3.7L5.7 15l-.2.6-.1.4c0 .3 0 .5.3.7l.6.2c.3 0 .5 0 .7-.2l.4-1 .5-1.2h3.9ZM9.8 9l1.5 4h-3l1.5-4Zm5.6-.9v7.6c0 .4 0 .7.2 1l.7.2c.3 0 .6 0 .8-.3l.2-.9V8.1c0-.4 0-.7-.2-.9a1 1 0 0 0-.8-.3c-.2 0-.5.1-.7.3l-.2 1Z\"/></svg>',\n    'align-center': '<svg width=\"24\" height=\"24\"><path d=\"M5 5h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 1 1 0-2Zm3 4h8c.6 0 1 .4 1 1s-.4 1-1 1H8a1 1 0 1 1 0-2Zm0 8h8c.6 0 1 .4 1 1s-.4 1-1 1H8a1 1 0 0 1 0-2Zm-3-4h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1 0-2Z\" fill-rule=\"evenodd\"/></svg>',\n    'align-justify': '<svg width=\"24\" height=\"24\"><path d=\"M5 5h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 1 1 0-2Zm0 4h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 1 1 0-2Zm0 4h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1 0-2Zm0 4h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1 0-2Z\" fill-rule=\"evenodd\"/></svg>',\n    'align-left': '<svg width=\"24\" height=\"24\"><path d=\"M5 5h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 1 1 0-2Zm0 4h8c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 1 1 0-2Zm0 8h8c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1 0-2Zm0-4h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1 0-2Z\" fill-rule=\"evenodd\"/></svg>',\n    'align-none': '<svg width=\"24\" height=\"24\"><path d=\"M14.2 5 13 7H5a1 1 0 1 1 0-2h9.2Zm4 0h.8a1 1 0 0 1 0 2h-2l1.2-2Zm-6.4 4-1.2 2H5a1 1 0 0 1 0-2h6.8Zm4 0H19a1 1 0 0 1 0 2h-4.4l1.2-2Zm-6.4 4-1.2 2H5a1 1 0 0 1 0-2h4.4Zm4 0H19a1 1 0 0 1 0 2h-6.8l1.2-2ZM7 17l-1.2 2H5a1 1 0 0 1 0-2h2Zm4 0h8a1 1 0 0 1 0 2H9.8l1.2-2Zm5.2-13.5 1.3.7-9.7 16.3-1.3-.7 9.7-16.3Z\" fill-rule=\"evenodd\"/></svg>',\n    'align-right': '<svg width=\"24\" height=\"24\"><path d=\"M5 5h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 1 1 0-2Zm6 4h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2Zm0 8h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2Zm-6-4h14c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1 0-2Z\" fill-rule=\"evenodd\"/></svg>',\n    'arrow-left': '<svg width=\"24\" height=\"24\"><path d=\"m5.6 13 12 6a1 1 0 0 0 1.4-1V6a1 1 0 0 0-1.4-.9l-12 6a1 1 0 0 0 0 1.8Z\" fill-rule=\"evenodd\"/></svg>',\n    'arrow-right': '<svg width=\"24\" height=\"24\"><path d=\"m18.5 13-12 6A1 1 0 0 1 5 18V6a1 1 0 0 1 1.4-.9l12 6a1 1 0 0 1 0 1.8Z\" fill-rule=\"evenodd\"/></svg>',\n    'bold': '<svg width=\"24\" height=\"24\"><path d=\"M7.8 19c-.3 0-.5 0-.6-.2l-.2-.5V5.7c0-.2 0-.4.2-.5l.6-.2h5c1.5 0 2.7.3 3.5 1 .7.6 1.1 1.4 1.1 2.5a3 3 0 0 1-.6 1.9c-.4.6-1 1-1.6 1.2.4.1.9.3 1.3.6s.8.7 1 1.2c.4.4.5 1 .5 1.6 0 1.3-.4 2.3-1.3 3-.8.7-2.1 1-3.8 1H7.8Zm5-8.3c.6 0 1.2-.1 1.6-.5.4-.3.6-.7.6-1.3 0-1.1-.8-1.7-2.3-1.7H9.3v3.5h3.4Zm.5 6c.7 0 1.3-.1 1.7-.4.4-.4.6-.9.6-1.5s-.2-1-.7-1.4c-.4-.3-1-.4-2-.4H9.4v3.8h4Z\" fill-rule=\"evenodd\"/></svg>',\n    'bookmark': '<svg width=\"24\" height=\"24\"><path d=\"M6 4v17l6-4 6 4V4c0-.6-.4-1-1-1H7a1 1 0 0 0-1 1Z\" fill-rule=\"nonzero\"/></svg>',\n    'border-style': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><rect width=\"18\" height=\"2\" x=\"3\" y=\"6\" rx=\"1\"/><rect width=\"2.8\" height=\"2\" x=\"3\" y=\"16\" rx=\"1\"/><rect width=\"2.8\" height=\"2\" x=\"6.8\" y=\"16\" rx=\"1\"/><rect width=\"2.8\" height=\"2\" x=\"10.6\" y=\"16\" rx=\"1\"/><rect width=\"2.8\" height=\"2\" x=\"14.4\" y=\"16\" rx=\"1\"/><rect width=\"2.8\" height=\"2\" x=\"18.2\" y=\"16\" rx=\"1\"/><rect width=\"8\" height=\"2\" x=\"3\" y=\"11\" rx=\"1\"/><rect width=\"8\" height=\"2\" x=\"13\" y=\"11\" rx=\"1\"/></g></svg>',\n    'border-width': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><rect width=\"18\" height=\"5\" x=\"3\" y=\"5\" rx=\"1\"/><rect width=\"18\" height=\"3.5\" x=\"3\" y=\"11.5\" rx=\"1\"/><rect width=\"18\" height=\"2\" x=\"3\" y=\"17\" rx=\"1\"/></g></svg>',\n    'brightness': '<svg width=\"24\" height=\"24\"><path d=\"M12 17c.3 0 .5.1.7.3.2.2.3.4.3.7v1c0 .3-.1.5-.3.7a1 1 0 0 1-.7.3 1 1 0 0 1-.7-.3 1 1 0 0 1-.3-.7v-1c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3Zm0-10a1 1 0 0 1-.7-.3A1 1 0 0 1 11 6V5c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3.3 0 .5.1.7.3.2.2.3.4.3.7v1c0 .3-.1.5-.3.7a1 1 0 0 1-.7.3Zm7 4c.3 0 .5.1.7.3.2.2.3.4.3.7 0 .3-.1.5-.3.7a1 1 0 0 1-.7.3h-1a1 1 0 0 1-.7-.3 1 1 0 0 1-.3-.7c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3h1ZM7 12c0 .3-.1.5-.3.7a1 1 0 0 1-.7.3H5a1 1 0 0 1-.7-.3A1 1 0 0 1 4 12c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3h1c.3 0 .5.1.7.3.2.2.3.4.3.7Zm10 3.5.7.8c.2.1.3.4.3.6 0 .3-.1.6-.3.8a1 1 0 0 1-.8.3 1 1 0 0 1-.6-.3l-.8-.7a1 1 0 0 1-.3-.8c0-.2.1-.5.3-.7a1 1 0 0 1 1.4 0Zm-10-7-.7-.8a1 1 0 0 1-.3-.6c0-.3.1-.6.3-.8.2-.2.5-.3.8-.3.2 0 .5.1.7.3l.7.7c.2.2.3.5.3.8 0 .2-.1.5-.3.7a1 1 0 0 1-.7.3 1 1 0 0 1-.8-.3Zm10 0a1 1 0 0 1-.8.3 1 1 0 0 1-.7-.3 1 1 0 0 1-.3-.7c0-.3.1-.6.3-.8l.8-.7c.1-.2.4-.3.6-.3.3 0 .6.1.8.3.2.2.3.5.3.8 0 .2-.1.5-.3.7l-.7.7Zm-10 7c.2-.2.5-.3.8-.3.2 0 .5.1.7.3a1 1 0 0 1 0 1.4l-.8.8a1 1 0 0 1-.6.3 1 1 0 0 1-.8-.3 1 1 0 0 1-.3-.8c0-.2.1-.5.3-.6l.7-.8ZM12 8a4 4 0 0 1 3.7 2.4 4 4 0 0 1 0 3.2A4 4 0 0 1 12 16a4 4 0 0 1-3.7-2.4 4 4 0 0 1 0-3.2A4 4 0 0 1 12 8Zm0 6.5c.7 0 1.3-.2 1.8-.7.5-.5.7-1.1.7-1.8s-.2-1.3-.7-1.8c-.5-.5-1.1-.7-1.8-.7s-1.3.2-1.8.7c-.5.5-.7 1.1-.7 1.8s.2 1.3.7 1.8c.5.5 1.1.7 1.8.7Z\" fill-rule=\"evenodd\"/></svg>',\n    'browse': '<svg width=\"24\" height=\"24\"><path d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4v-2h4V8H5v10h4v2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm-8 9.4-2.3 2.3a1 1 0 1 1-1.4-1.4l4-4a1 1 0 0 1 1.4 0l4 4a1 1 0 0 1-1.4 1.4L13 13.4V20a1 1 0 0 1-2 0v-6.6Z\" fill-rule=\"nonzero\"/></svg>',\n    'cancel': '<svg width=\"24\" height=\"24\"><path d=\"M12 4.6a7.4 7.4 0 1 1 0 14.8 7.4 7.4 0 0 1 0-14.8ZM12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18Zm0 8L14.8 8l1 1.1-2.7 2.8 2.7 2.7-1.1 1.1-2.7-2.7-2.7 2.7-1-1.1 2.6-2.7-2.7-2.7 1-1.1 2.8 2.7Z\" fill-rule=\"nonzero\"/></svg>',\n    'cell-background-color': '<svg width=\"24\" height=\"24\"><path d=\"m15.7 2 1.6 1.6-2.7 2.6 5.9 5.8c.7.7.7 1.7 0 2.4l-6.3 6.1a1.7 1.7 0 0 1-2.4 0l-6.3-6.1c-.7-.7-.7-1.7 0-2.4L15.7 2ZM18 12l-4.5-4L9 12h9ZM4 16s2 2.4 2 3.8C6 21 5.1 22 4 22s-2-1-2-2.2C2 18.4 4 16 4 16Z\"/></svg>',\n    'cell-border-color': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path fill-rule=\"nonzero\" d=\"M5 13v5h2v2H5a2 2 0 0 1-2-2v-5h2zm8-7V4h6a2 2 0 0 1 2 2h-8z\" opacity=\".2\"/><path fill-rule=\"nonzero\" d=\"M13 4v2H5v7H3V6c0-1.1.9-2 2-2h8zm-2.6 14.1.1-.1.1.1.2.3.2.2.2.2c.4.6.8 1.2.8 1.7 0 .8-.7 1.5-1.5 1.5S9 21.3 9 20.5c0-.5.4-1.1.8-1.7l.2-.2.2-.2.2-.3z\"/><path d=\"m13 11-2 2H5v-2h6V6h2z\"/><path fill-rule=\"nonzero\" d=\"m18.4 8 1 1-1.8 1.9 4 4c.5.4.5 1.1 0 1.6l-4.3 4.2a1.2 1.2 0 0 1-1.6 0l-4.4-4.2c-.4-.5-.4-1.2 0-1.7l7-6.8Zm1.6 7-3-3-3 3h6Z\"/></g></svg>',\n    'change-case': '<svg width=\"24\" height=\"24\"><path d=\"M18.4 18.2v-.6c-.5.8-1.3 1.2-2.4 1.2-2.2 0-3.3-1.6-3.3-4.8 0-3.1 1-4.7 3.3-4.7 1.1 0 1.8.3 2.4 1.1v-.6c0-.5.4-.8.8-.8s.8.3.8.8v8.4c0 .5-.4.8-.8.8a.8.8 0 0 1-.8-.8zm-2-7.4c-1.3 0-1.8.9-1.8 3.2 0 2.4.5 3.3 1.7 3.3 1.3 0 1.8-.9 1.8-3.2 0-2.4-.5-3.3-1.7-3.3zM10 15.7H5.5l-.8 2.6a1 1 0 0 1-1 .7h-.2a.7.7 0 0 1-.7-1l4-12a1 1 0 0 1 2 0l4 12a.7.7 0 0 1-.8 1h-.2a1 1 0 0 1-1-.7l-.8-2.6zm-.3-1.5-2-6.5-1.9 6.5h3.9z\" fill-rule=\"evenodd\"/></svg>',\n    'character-count': '<svg width=\"24\" height=\"24\"><path d=\"M4 11.5h16v1H4v-1Zm4.8-6.8V10H7.7V5.8h-1v-1h2ZM11 8.3V9h2v1h-3V7.7l2-1v-.9h-2v-1h3v2.4l-2 1Zm6.3-3.4V10h-3.1V9h2.1V8h-2.1V6.8h2.1v-1h-2.1v-1h3.1ZM5.8 16.4c0-.5.2-.8.5-1 .2-.2.6-.3 1.2-.3l.8.1c.2 0 .4.2.5.3l.4.4v2.8l.2.3H8.2V18.7l-.6.3H7c-.4 0-.7 0-1-.2a1 1 0 0 1-.3-.9c0-.3 0-.6.3-.8.3-.2.7-.4 1.2-.4l.6-.2h.3v-.2l-.1-.2a.8.8 0 0 0-.5-.1 1 1 0 0 0-.4 0l-.3.4h-1Zm2.3.8h-.2l-.2.1-.4.1a1 1 0 0 0-.4.2l-.2.2.1.3.5.1h.4l.4-.4v-.6Zm2-3.4h1.2v1.7l.5-.3h.5c.5 0 .9.1 1.2.5.3.4.5.8.5 1.4 0 .6-.2 1.1-.5 1.5-.3.4-.7.6-1.3.6l-.6-.1-.4-.4v.4h-1.1v-5.4Zm1.1 3.3c0 .3 0 .6.2.8a.7.7 0 0 0 1.2 0l.2-.8c0-.4 0-.6-.2-.8a.7.7 0 0 0-.6-.3l-.6.3-.2.8Zm6.1-.5c0-.2 0-.3-.2-.4a.8.8 0 0 0-.5-.2c-.3 0-.5.1-.6.3l-.2.9c0 .3 0 .6.2.8.1.2.3.3.6.3.2 0 .4 0 .5-.2l.2-.4h1.1c0 .5-.3.8-.6 1.1a2 2 0 0 1-1.3.4c-.5 0-1-.2-1.3-.6a2 2 0 0 1-.5-1.4c0-.6.1-1.1.5-1.5.3-.4.8-.5 1.4-.5.5 0 1 0 1.2.3.4.3.5.7.5 1.2h-1v-.1Z\" fill-rule=\"evenodd\"/></svg>',\n    'checklist-rtl': '<svg width=\"24\" height=\"24\"><path d=\"M5 17h8c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1 0-2zm0-6h8c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1 0-2zm0-6h8c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 1 1 0-2zm14.2 11c.2-.4.6-.5.9-.3.3.2.4.6.2 1L18 20c-.2.3-.7.4-1 0l-1.3-1.3a.7.7 0 0 1 0-1c.3-.2.7-.2 1 0l.7.9 1.7-2.8zm0-6c.2-.4.6-.5.9-.3.3.2.4.6.2 1L18 14c-.2.3-.7.4-1 0l-1.3-1.3a.7.7 0 0 1 0-1c.3-.2.7-.2 1 0l.7.9 1.7-2.8zm0-6c.2-.4.6-.5.9-.3.3.2.4.6.2 1L18 8c-.2.3-.7.4-1 0l-1.3-1.3a.7.7 0 0 1 0-1c.3-.2.7-.2 1 0l.7.9 1.7-2.8z\" fill-rule=\"evenodd\"/></svg>',\n    'checklist': '<svg width=\"24\" height=\"24\"><path d=\"M11 17h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2Zm0-6h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2Zm0-6h8a1 1 0 0 1 0 2h-8a1 1 0 0 1 0-2ZM7.2 16c.2-.4.6-.5.9-.3.3.2.4.6.2 1L6 20c-.2.3-.7.4-1 0l-1.3-1.3a.7.7 0 0 1 0-1c.3-.2.7-.2 1 0l.7.9 1.7-2.8Zm0-6c.2-.4.6-.5.9-.3.3.2.4.6.2 1L6 14c-.2.3-.7.4-1 0l-1.3-1.3a.7.7 0 0 1 0-1c.3-.2.7-.2 1 0l.7.9 1.7-2.8Zm0-6c.2-.4.6-.5.9-.3.3.2.4.6.2 1L6 8c-.2.3-.7.4-1 0L3.8 6.9a.7.7 0 0 1 0-1c.3-.2.7-.2 1 0l.7.9 1.7-2.8Z\" fill-rule=\"evenodd\"/></svg>',\n    'checkmark': '<svg width=\"24\" height=\"24\"><path d=\"M18.2 5.4a1 1 0 0 1 1.6 1.2l-8 12a1 1 0 0 1-1.5.1l-5-5a1 1 0 1 1 1.4-1.4l4.1 4.1 7.4-11Z\" fill-rule=\"nonzero\"/></svg>',\n    'chevron-down': '<svg width=\"10\" height=\"10\"><path d=\"M8.7 2.2c.3-.3.8-.3 1 0 .4.4.4.9 0 1.2L5.7 7.8c-.3.3-.9.3-1.2 0L.2 3.4a.8.8 0 0 1 0-1.2c.3-.3.8-.3 1.1 0L5 6l3.7-3.8Z\" fill-rule=\"nonzero\"/></svg>',\n    'chevron-left': '<svg width=\"10\" height=\"10\"><path d=\"M7.8 1.3 4 5l3.8 3.7c.3.3.3.8 0 1-.4.4-.9.4-1.2 0L2.2 5.7a.8.8 0 0 1 0-1.2L6.6.2C7 0 7.4 0 7.8.2c.3.3.3.8 0 1.1Z\" fill-rule=\"nonzero\"/></svg>',\n    'chevron-right': '<svg width=\"10\" height=\"10\"><path d=\"M2.2 1.3a.8.8 0 0 1 0-1c.4-.4.9-.4 1.2 0l4.4 4.1c.3.4.3.9 0 1.2L3.4 9.8c-.3.3-.8.3-1.2 0a.8.8 0 0 1 0-1.1L6 5 2.2 1.3Z\" fill-rule=\"nonzero\"/></svg>',\n    'chevron-up': '<svg width=\"10\" height=\"10\"><path d=\"M8.7 7.8 5 4 1.3 7.8c-.3.3-.8.3-1 0a.8.8 0 0 1 0-1.2l4.1-4.4c.3-.3.9-.3 1.2 0l4.2 4.4c.3.3.3.9 0 1.2-.3.3-.8.3-1.1 0Z\" fill-rule=\"nonzero\"/></svg>',\n    'close': '<svg width=\"24\" height=\"24\"><path d=\"M17.3 8.2 13.4 12l3.9 3.8a1 1 0 0 1-1.5 1.5L12 13.4l-3.8 3.9a1 1 0 0 1-1.5-1.5l3.9-3.8-3.9-3.8a1 1 0 0 1 1.5-1.5l3.8 3.9 3.8-3.9a1 1 0 0 1 1.5 1.5Z\" fill-rule=\"evenodd\"/></svg>',\n    'code-sample': '<svg width=\"24\" height=\"26\"><path d=\"M7.1 11a2.8 2.8 0 0 1-.8 2 2.8 2.8 0 0 1 .8 2v1.7c0 .3.1.6.4.8.2.3.5.4.8.4.3 0 .4.2.4.4v.8c0 .2-.1.4-.4.4-.7 0-1.4-.3-2-.8-.5-.6-.8-1.3-.8-2V15c0-.3-.1-.6-.4-.8-.2-.3-.5-.4-.8-.4a.4.4 0 0 1-.4-.4v-.8c0-.2.2-.4.4-.4.3 0 .6-.1.8-.4.3-.2.4-.5.4-.8V9.3c0-.7.3-1.4.8-2 .6-.5 1.3-.8 2-.8.3 0 .4.2.4.4v.8c0 .2-.1.4-.4.4-.3 0-.6.1-.8.4-.3.2-.4.5-.4.8V11Zm9.8 0V9.3c0-.3-.1-.6-.4-.8-.2-.3-.5-.4-.8-.4a.4.4 0 0 1-.4-.4V7c0-.2.1-.4.4-.4.7 0 1.4.3 2 .8.5.6.8 1.3.8 2V11c0 .3.1.6.4.8.2.3.5.4.8.4.2 0 .4.2.4.4v.8c0 .2-.2.4-.4.4-.3 0-.6.1-.8.4-.3.2-.4.5-.4.8v1.7c0 .7-.3 1.4-.8 2-.6.5-1.3.8-2 .8a.4.4 0 0 1-.4-.4v-.8c0-.2.1-.4.4-.4.3 0 .6-.1.8-.4.3-.2.4-.5.4-.8V15a2.8 2.8 0 0 1 .8-2 2.8 2.8 0 0 1-.8-2Zm-3.3-.4c0 .4-.1.8-.5 1.1-.3.3-.7.5-1.1.5-.4 0-.8-.2-1.1-.5-.4-.3-.5-.7-.5-1.1 0-.5.1-.9.5-1.2.3-.3.7-.4 1.1-.4.4 0 .8.1 1.1.4.4.3.5.7.5 1.2ZM12 13c.4 0 .8.1 1.1.5.4.3.5.7.5 1.1 0 1-.1 1.6-.5 2a3 3 0 0 1-1.1 1c-.4.3-.8.4-1.1.4a.5.5 0 0 1-.5-.5V17a3 3 0 0 0 1-.2l.6-.6c-.6 0-1-.2-1.3-.5-.2-.3-.3-.7-.3-1 0-.5.1-1 .5-1.2.3-.4.7-.5 1.1-.5Z\" fill-rule=\"evenodd\"/></svg>',\n    'color-levels': '<svg width=\"24\" height=\"24\"><path d=\"M17.5 11.4A9 9 0 0 1 18 14c0 .5 0 1-.2 1.4 0 .4-.3.9-.5 1.3a6.2 6.2 0 0 1-3.7 3 5.7 5.7 0 0 1-3.2 0A5.9 5.9 0 0 1 7.6 18a6.2 6.2 0 0 1-1.4-2.6 6.7 6.7 0 0 1 0-2.8c0-.4.1-.9.3-1.3a13.6 13.6 0 0 1 2.3-4A20 20 0 0 1 12 4a26.4 26.4 0 0 1 3.2 3.4 18.2 18.2 0 0 1 2.3 4Zm-2 4.5c.4-.7.5-1.4.5-2a7.3 7.3 0 0 0-1-3.2c.2.6.2 1.2.2 1.9a4.5 4.5 0 0 1-1.3 3 5.3 5.3 0 0 1-2.3 1.5 4.9 4.9 0 0 1-2 .1 4.3 4.3 0 0 0 2.4.8 4 4 0 0 0 2-.6 4 4 0 0 0 1.5-1.5Z\" fill-rule=\"evenodd\"/></svg>',\n    'color-picker': '<svg width=\"24\" height=\"24\"><path d=\"M12 3a9 9 0 0 0 0 18 1.5 1.5 0 0 0 1.1-2.5c-.2-.3-.4-.6-.4-1 0-.8.7-1.5 1.5-1.5H16a5 5 0 0 0 5-5c0-4.4-4-8-9-8Zm-5.5 9a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Zm3-4a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Zm3 4a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Z\" fill-rule=\"nonzero\"/></svg>',\n    'color-swatch-remove-color': '<svg width=\"24\" height=\"24\"><path stroke=\"#000\" stroke-width=\"2\" d=\"M21 3 3 21\" fill-rule=\"evenodd\"/></svg>',\n    'color-swatch': '<svg width=\"24\" height=\"24\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"1\" fill-rule=\"evenodd\"/></svg>',\n    'comment-add': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><path d=\"m9 19 3-2h7c.6 0 1-.4 1-1V6c0-.6-.4-1-1-1H5a1 1 0 0 0-1 1v10c0 .6.4 1 1 1h4v2Zm-2 4v-4H5a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3h-6.4L7 23Z\"/><path d=\"M13 10h2a1 1 0 0 1 0 2h-2v2a1 1 0 0 1-2 0v-2H9a1 1 0 0 1 0-2h2V8a1 1 0 0 1 2 0v2Z\"/></g></svg>',\n    'comment': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"m9 19 3-2h7c.6 0 1-.4 1-1V6c0-.6-.4-1-1-1H5a1 1 0 0 0-1 1v10c0 .6.4 1 1 1h4v2Zm-2 4v-4H5a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3h-6.4L7 23Z\"/></svg>',\n    'contrast': '<svg width=\"24\" height=\"24\"><path d=\"M12 4a7.8 7.8 0 0 1 5.7 2.3A8 8 0 1 1 12 4Zm-6 8a6 6 0 0 0 6 6V6a6 6 0 0 0-6 6Z\" fill-rule=\"evenodd\"/></svg>',\n    'copy': '<svg width=\"24\" height=\"24\"><path d=\"M16 3H6a2 2 0 0 0-2 2v11h2V5h10V3Zm1 4a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-7a2 2 0 0 1-2-2V9c0-1.2.9-2 2-2h7Zm0 12V9h-7v10h7Z\" fill-rule=\"nonzero\"/></svg>',\n    'crop': '<svg width=\"24\" height=\"24\"><path d=\"M17 8v7h2c.6 0 1 .4 1 1s-.4 1-1 1h-2v2c0 .6-.4 1-1 1a1 1 0 0 1-1-1v-2H7V9H5a1 1 0 1 1 0-2h2V5c0-.6.4-1 1-1s1 .4 1 1v2h7l3-3 1 1-3 3ZM9 9v5l5-5H9Zm1 6h5v-5l-5 5Z\" fill-rule=\"evenodd\"/></svg>',\n    'cut-column': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" d=\"M7.2 4.5c.9 0 1.6.4 2.2 1A3.7 3.7 0 0 1 10.5 8v.5l1 1 4-4 1-.5a3.3 3.3 0 0 1 2 0c.4 0 .7.3 1 .5L17 8h4v13h-6V10l-1.5 1.5.5.5v4l-2.5-2.5-1 1v.5c0 .4 0 .8-.3 1.2-.2.5-.4.9-.8 1.2-.6.7-1.3 1-2.2 1-.8.2-1.5 0-2-.6l-.5-.8-.2-1c0-.4 0-.8.3-1.2A3.9 3.9 0 0 1 7 12.7c.5-.2 1-.3 1.5-.2l1-1-1-1c-.5 0-1 0-1.5-.2-.5-.1-1-.4-1.4-.9-.4-.3-.6-.7-.8-1.2L4.5 7c0-.4 0-.7.2-1 0-.3.3-.6.5-.8.5-.5 1.2-.8 2-.7Zm12.3 5h-3v10h3v-10ZM8 13.8h-.3l-.4.2a2.8 2.8 0 0 0-.7.4v.1a2.8 2.8 0 0 0-.6.8l-.1.4v.7l.2.5.5.2h.7a2.6 2.6 0 0 0 .8-.3 2.4 2.4 0 0 0 .7-.7 2.5 2.5 0 0 0 .3-.8 1.5 1.5 0 0 0 0-.8 1 1 0 0 0-.2-.4 1 1 0 0 0-.5-.2H8Zm3.5-3.7c-.4 0-.7.1-1 .4-.3.3-.4.6-.4 1s.1.7.4 1c.3.3.6.4 1 .4s.7-.1 1-.4c.3-.3.4-.6.4-1s-.1-.7-.4-1c-.3-.3-.6-.4-1-.4ZM7 5.8h-.4a1 1 0 0 0-.5.3 1 1 0 0 0-.2.5v.7a2.5 2.5 0 0 0 .3.8l.2.3h.1l.4.4.4.2.4.1h.7L9 9l.2-.4a1.6 1.6 0 0 0 0-.8 2.6 2.6 0 0 0-.3-.8A2.5 2.5 0 0 0 7.7 6l-.4-.1H7Z\"/></svg>',\n    'cut-row': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" d=\"M22 3v5H9l3 3 2-2h4l-4 4 1 1h.5c.4 0 .8 0 1.2.3.5.2.9.4 1.2.8.7.6 1 1.3 1 2.2.2.8 0 1.5-.6 2l-.8.5-1 .2c-.4 0-.8 0-1.2-.3a3.9 3.9 0 0 1-2.1-2.2c-.2-.5-.3-1-.2-1.5l-1-1-1 1c0 .5 0 1-.2 1.5-.1.5-.4 1-.9 1.4-.3.4-.7.6-1.2.8l-1.2.3c-.4 0-.7 0-1-.2-.3 0-.6-.3-.8-.5-.5-.5-.8-1.2-.7-2 0-.9.4-1.6 1-2.2A3.7 3.7 0 0 1 8.6 14H9l1-1-4-4-.5-1a3.3 3.3 0 0 1 0-2c0-.4.3-.7.5-1l2 2V3h14ZM8.5 15.3h-.3a2.6 2.6 0 0 0-.8.4 2.5 2.5 0 0 0-.9 1.1l-.1.4v.7l.2.5.5.2h.7a2.5 2.5 0 0 0 .8-.3L9 18V18l.4-.4.2-.4.1-.4v-.7a1 1 0 0 0-.2-.5 1 1 0 0 0-.4-.2h-.5Zm7 0H15a1 1 0 0 0-.4.3 1 1 0 0 0-.2.5 1.5 1.5 0 0 0 0 .7v.4a2.8 2.8 0 0 0 .5.7h.1a2.8 2.8 0 0 0 .8.6l.4.1h.7l.5-.2.2-.5v-.7a2.6 2.6 0 0 0-.3-.8 2.4 2.4 0 0 0-.7-.7 2.5 2.5 0 0 0-.8-.3h-.3ZM12 11.6c-.4 0-.7.1-1 .4-.3.3-.4.6-.4 1s.1.7.4 1c.3.3.6.4 1 .4s.7-.1 1-.4c.3-.3.4-.6.4-1s-.1-.7-.4-1c-.3-.3-.6-.4-1-.4Zm8.5-7.1h-11v2h11v-2Z\"/></svg>',\n    'cut': '<svg width=\"24\" height=\"24\"><path d=\"M18 15c.6.7 1 1.4 1 2.3 0 .8-.2 1.5-.7 2l-.8.5-1 .2c-.4 0-.8 0-1.2-.3a3.9 3.9 0 0 1-2.1-2.2c-.2-.5-.3-1-.2-1.5l-1-1-1 1c0 .5 0 1-.2 1.5-.1.5-.4 1-.9 1.4-.3.4-.7.6-1.2.8l-1.2.3c-.4 0-.7 0-1-.2-.3 0-.6-.3-.8-.5-.5-.5-.8-1.2-.7-2 0-.9.4-1.6 1-2.2A3.7 3.7 0 0 1 8.6 14H9l1-1-4-4-.5-1a3.3 3.3 0 0 1 0-2c0-.4.3-.7.5-1l6 6 6-6 .5 1a3.3 3.3 0 0 1 0 2c0 .4-.3.7-.5 1l-4 4 1 1h.5c.4 0 .8 0 1.2.3.5.2.9.4 1.2.8Zm-8.5 2.2.1-.4v-.7a1 1 0 0 0-.2-.5 1 1 0 0 0-.4-.2 1.6 1.6 0 0 0-.8 0 2.6 2.6 0 0 0-.8.3 2.5 2.5 0 0 0-.9 1.1l-.1.4v.7l.2.5.5.2h.7a2.5 2.5 0 0 0 .8-.3 2.8 2.8 0 0 0 1-1Zm2.5-2.8c.4 0 .7-.1 1-.4.3-.3.4-.6.4-1s-.1-.7-.4-1c-.3-.3-.6-.4-1-.4s-.7.1-1 .4c-.3.3-.4.6-.4 1s.1.7.4 1c.3.3.6.4 1 .4Zm5.4 4 .2-.5v-.7a2.6 2.6 0 0 0-.3-.8 2.4 2.4 0 0 0-.7-.7 2.5 2.5 0 0 0-.8-.3 1.5 1.5 0 0 0-.8 0 1 1 0 0 0-.4.2 1 1 0 0 0-.2.5 1.5 1.5 0 0 0 0 .7v.4l.3.4.3.4a2.8 2.8 0 0 0 .8.5l.4.1h.7l.5-.2Z\" fill-rule=\"evenodd\"/></svg>',\n    'document-properties': '<svg width=\"24\" height=\"24\"><path d=\"M14.4 3H7a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h10a2 2 0 0 0 2-2V7.6L14.4 3ZM17 19H7V5h6v4h4v10Z\" fill-rule=\"nonzero\"/></svg>',\n    'drag': '<svg width=\"24\" height=\"24\"><path d=\"M13 5h2v2h-2V5Zm0 4h2v2h-2V9ZM9 9h2v2H9V9Zm4 4h2v2h-2v-2Zm-4 0h2v2H9v-2Zm0 4h2v2H9v-2Zm4 0h2v2h-2v-2ZM9 5h2v2H9V5Z\" fill-rule=\"evenodd\"/></svg>',\n    'duplicate-column': '<svg width=\"24\" height=\"24\"><path d=\"M17 6v16h-7V6h7Zm-2 2h-3v12h3V8Zm-2-6v2H8v15H6V2h7Z\"/></svg>',\n    'duplicate-row': '<svg width=\"24\" height=\"24\"><path d=\"M22 11v7H6v-7h16Zm-2 2H8v3h12v-3Zm-1-6v2H4v5H2V7h17Z\"/></svg>',\n    'duplicate': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><path d=\"M16 3v2H6v11H4V5c0-1.1.9-2 2-2h10Zm3 8h-2V9h-7v10h9a2 2 0 0 1-2 2h-7a2 2 0 0 1-2-2V9c0-1.2.9-2 2-2h7a2 2 0 0 1 2 2v2Z\"/><path d=\"M17 14h1a1 1 0 0 1 0 2h-1v1a1 1 0 0 1-2 0v-1h-1a1 1 0 0 1 0-2h1v-1a1 1 0 0 1 2 0v1Z\"/></g></svg>',\n    'edit-block': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"m19.8 8.8-9.4 9.4c-.2.2-.5.4-.9.4l-5.4 1.2 1.2-5.4.5-.8 9.4-9.4c.7-.7 1.8-.7 2.5 0l2.1 2.1c.7.7.7 1.8 0 2.5Zm-2-.2 1-.9v-.3l-2.2-2.2a.3.3 0 0 0-.3 0l-1 1L18 8.5Zm-1 1-2.5-2.4-6 6 2.5 2.5 6-6Zm-7 7.1-2.6-2.4-.3.3-.1.2-.7 3 3.1-.6h.1l.4-.5Z\"/></svg>',\n    'edit-image': '<svg width=\"24\" height=\"24\"><path d=\"M18 16h2V7a2 2 0 0 0-2-2H7v2h11v9ZM6 17h15a1 1 0 0 1 0 2h-1v1a1 1 0 0 1-2 0v-1H6a2 2 0 0 1-2-2V7H3a1 1 0 1 1 0-2h1V4a1 1 0 1 1 2 0v13Zm3-5.3 1.3 2 3-4.7 3.7 6H7l2-3.3Z\" fill-rule=\"nonzero\"/></svg>',\n    'embed-page': '<svg width=\"24\" height=\"24\"><path d=\"M19 6V5H5v14h2A13 13 0 0 1 19 6Zm0 1.4c-.8.8-1.6 2.4-2.2 4.6H19V7.4Zm0 5.6h-2.4c-.4 1.8-.6 3.8-.6 6h3v-6Zm-4 6c0-2.2.2-4.2.6-6H13c-.7 1.8-1.1 3.8-1.1 6h3Zm-4 0c0-2.2.4-4.2 1-6H9.6A12 12 0 0 0 8 19h3ZM4 3h16c.6 0 1 .4 1 1v16c0 .6-.4 1-1 1H4a1 1 0 0 1-1-1V4c0-.6.4-1 1-1Zm11.8 9c.4-1.9 1-3.4 1.8-4.5a9.2 9.2 0 0 0-4 4.5h2.2Zm-3.4 0a12 12 0 0 1 2.8-4 12 12 0 0 0-5 4h2.2Z\" fill-rule=\"nonzero\"/></svg>',\n    'embed': '<svg width=\"24\" height=\"24\"><path d=\"M4 3h16c.6 0 1 .4 1 1v16c0 .6-.4 1-1 1H4a1 1 0 0 1-1-1V4c0-.6.4-1 1-1Zm1 2v14h14V5H5Zm4.8 2.6 5.6 4a.5.5 0 0 1 0 .8l-5.6 4A.5.5 0 0 1 9 16V8a.5.5 0 0 1 .8-.4Z\" fill-rule=\"nonzero\"/></svg>',\n    'emoji': '<svg width=\"24\" height=\"24\"><path d=\"M9 11c.6 0 1-.4 1-1s-.4-1-1-1a1 1 0 0 0-1 1c0 .6.4 1 1 1Zm6 0c.6 0 1-.4 1-1s-.4-1-1-1a1 1 0 0 0-1 1c0 .6.4 1 1 1Zm-3 5.5c2.1 0 4-1.5 4.4-3.5H7.6c.5 2 2.3 3.5 4.4 3.5ZM12 4a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm0 14.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13Z\" fill-rule=\"nonzero\"/></svg>',\n    'export': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><path d=\"M14.4 3 18 7v1h-5V5H7v14h9a1 1 0 0 1 2 0c0 1-.8 2-1.9 2H7c-1 0-2-.8-2-1.9V5c0-1 .8-2 1.9-2h7.5Z\"/><path d=\"M18.1 12c.5 0 .9.4.9 1 0 .5-.3 1-.8 1h-7.3c-.5 0-.9-.4-.9-1 0-.5.3-1 .8-1h7.3Z\"/><path d=\"M16.4 9.2a1 1 0 0 1 1.4.2l2.4 3.6-2.4 3.6a1 1 0 0 1-1.7-1v-.2l1.7-2.4-1.6-2.4a1 1 0 0 1 .2-1.4Z\"/></g></svg>',\n    'fill': '<svg width=\"24\" height=\"26\"><path d=\"m16.6 12-9-9-1.4 1.4 2.4 2.4-5.2 5.1c-.5.6-.5 1.6 0 2.2L9 19.6a1.5 1.5 0 0 0 2.2 0l5.5-5.5c.5-.6.5-1.6 0-2.2ZM5.2 13 10 8.2l4.8 4.8H5.2ZM19 14.5s-2 2.2-2 3.5c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.3-2-3.5-2-3.5Z\" fill-rule=\"nonzero\"/></svg>',\n    'flip-horizontally': '<svg width=\"24\" height=\"24\"><path d=\"M14 19h2v-2h-2v2Zm4-8h2V9h-2v2ZM4 7v10c0 1.1.9 2 2 2h3v-2H6V7h3V5H6a2 2 0 0 0-2 2Zm14-2v2h2a2 2 0 0 0-2-2Zm-7 16h2V3h-2v18Zm7-6h2v-2h-2v2Zm-4-8h2V5h-2v2Zm4 12a2 2 0 0 0 2-2h-2v2Z\" fill-rule=\"nonzero\"/></svg>',\n    'flip-vertically': '<svg width=\"24\" height=\"24\"><path d=\"M5 14v2h2v-2H5Zm8 4v2h2v-2h-2Zm4-14H7a2 2 0 0 0-2 2v3h2V6h10v3h2V6a2 2 0 0 0-2-2Zm2 14h-2v2a2 2 0 0 0 2-2ZM3 11v2h18v-2H3Zm6 7v2h2v-2H9Zm8-4v2h2v-2h-2ZM5 18c0 1.1.9 2 2 2v-2H5Z\" fill-rule=\"nonzero\"/></svg>',\n    'footnote': '<svg width=\"24\" height=\"24\"><path d=\"M19 13c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 1 1 0-2h14Z\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M19 4v6h-1V5h-1.5V4h2.6Z\"/><path d=\"M12 18c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 1 1 0-2h7ZM14 8c.6 0 1 .4 1 1s-.4 1-1 1H5a1 1 0 0 1 0-2h9Z\"/></svg>',\n    'format-painter': '<svg width=\"24\" height=\"24\"><path d=\"M18 5V4c0-.5-.4-1-1-1H5a1 1 0 0 0-1 1v4c0 .6.5 1 1 1h12c.6 0 1-.4 1-1V7h1v4H9v9c0 .6.4 1 1 1h2c.6 0 1-.4 1-1v-7h8V5h-3Z\" fill-rule=\"nonzero\"/></svg>',\n    'format': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" d=\"M17 5a1 1 0 0 1 0 2h-4v11a1 1 0 0 1-2 0V7H7a1 1 0 1 1 0-2h10Z\"/></svg>',\n    'fullscreen': '<svg width=\"24\" height=\"24\"><path d=\"m15.3 10-1.2-1.3 2.9-3h-2.3a.9.9 0 1 1 0-1.7H19c.5 0 .9.4.9.9v4.4a.9.9 0 1 1-1.8 0V7l-2.9 3Zm0 4 3 3v-2.3a.9.9 0 1 1 1.7 0V19c0 .5-.4.9-.9.9h-4.4a.9.9 0 1 1 0-1.8H17l-3-2.9 1.3-1.2ZM10 15.4l-2.9 3h2.3a.9.9 0 1 1 0 1.7H5a.9.9 0 0 1-.9-.9v-4.4a.9.9 0 1 1 1.8 0V17l2.9-3 1.2 1.3ZM8.7 10 5.7 7v2.3a.9.9 0 0 1-1.7 0V5c0-.5.4-.9.9-.9h4.4a.9.9 0 0 1 0 1.8H7l3 2.9-1.3 1.2Z\" fill-rule=\"nonzero\"/></svg>',\n    'gallery': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"m5 15.7 2.3-2.2c.3-.3.7-.3 1 0L11 16l5.1-5c.3-.4.8-.4 1 0l2 1.9V8H5v7.7ZM5 18V19h3l1.8-1.9-2-2L5 17.9Zm14-3-2.5-2.4-6.4 6.5H19v-4ZM4 6h16c.6 0 1 .4 1 1v13c0 .6-.4 1-1 1H4a1 1 0 0 1-1-1V7c0-.6.4-1 1-1Zm6 7a2 2 0 1 1 0-4 2 2 0 0 1 0 4ZM4.5 4h15a.5.5 0 1 1 0 1h-15a.5.5 0 0 1 0-1Zm2-2h11a.5.5 0 1 1 0 1h-11a.5.5 0 0 1 0-1Z\"/></svg>',\n    'gamma': '<svg width=\"24\" height=\"24\"><path d=\"M4 3h16c.6 0 1 .4 1 1v16c0 .6-.4 1-1 1H4a1 1 0 0 1-1-1V4c0-.6.4-1 1-1Zm1 2v14h14V5H5Zm6.5 11.8V14L9.2 8.7a5.1 5.1 0 0 0-.4-.8l-.1-.2H8v-1l.3-.1.3-.1h.7a1 1 0 0 1 .6.5l.1.3a8.5 8.5 0 0 1 .3.6l1.9 4.6 2-5.2a1 1 0 0 1 1-.6.5.5 0 0 1 .5.6L13 14v2.8a.7.7 0 0 1-1.4 0Z\" fill-rule=\"nonzero\"/></svg>',\n    'help': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path d=\"M12 5.5a6.5 6.5 0 0 0-6 9 6.3 6.3 0 0 0 1.4 2l1 1a6.3 6.3 0 0 0 3.6 1 6.5 6.5 0 0 0 6-9 6.3 6.3 0 0 0-1.4-2l-1-1a6.3 6.3 0 0 0-3.6-1ZM12 4a7.8 7.8 0 0 1 5.7 2.3A8 8 0 1 1 12 4Z\"/><path d=\"M9.6 9.7a.7.7 0 0 1-.7-.8c0-1.1 1.5-1.8 3.2-1.8 1.8 0 3.2.8 3.2 2.4 0 1.4-.4 2.1-1.5 2.8-.2 0-.3.1-.3.2a2 2 0 0 0-.8.8.8.8 0 0 1-1.4-.6c.3-.7.8-1 1.3-1.5l.4-.2c.7-.4.8-.6.8-1.5 0-.5-.6-.9-1.7-.9-.5 0-1 .1-1.4.3-.2 0-.3.1-.3.2v-.2c0 .4-.4.8-.8.8Z\" fill-rule=\"nonzero\"/><circle cx=\"12\" cy=\"16\" r=\"1\"/></g></svg>',\n    'highlight-bg-color': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path class=\"tox-icon-highlight-bg-color__color\" d=\"M3 18h18v3H3z\"/><path fill-rule=\"nonzero\" d=\"M7.7 16.7H3l3.3-3.3-.7-.8L10.2 8l4 4.1-4 4.2c-.2.2-.6.2-.8 0l-.6-.7-1.1 1.1zm5-7.5L11 7.4l3-2.9a2 2 0 0 1 2.6 0L18 6c.7.7.7 2 0 2.7l-2.9 2.9-1.8-1.8-.5-.6\"/></g></svg>',\n    'home': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z\"/></svg>',\n    'horizontal-rule': '<svg width=\"24\" height=\"24\"><path d=\"M4 11h16v2H4z\" fill-rule=\"evenodd\"/></svg>',\n    'image-options': '<svg width=\"24\" height=\"24\"><path d=\"M6 10a2 2 0 0 0-2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2 2 2 0 0 0-2-2Zm12 0a2 2 0 0 0-2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2 2 2 0 0 0-2-2Zm-6 0a2 2 0 0 0-2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2 2 2 0 0 0-2-2Z\" fill-rule=\"nonzero\"/></svg>',\n    'image': '<svg width=\"24\" height=\"24\"><path d=\"m5 15.7 3.3-3.2c.3-.3.7-.3 1 0L12 15l4.1-4c.3-.4.8-.4 1 0l2 1.9V5H5v10.7ZM5 18V19h3l2.8-2.9-2-2L5 17.9Zm14-3-2.5-2.4-6.4 6.5H19v-4ZM4 3h16c.6 0 1 .4 1 1v16c0 .6-.4 1-1 1H4a1 1 0 0 1-1-1V4c0-.6.4-1 1-1Zm6 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\" fill-rule=\"nonzero\"/></svg>',\n    'indent': '<svg width=\"24\" height=\"24\"><path d=\"M7 5h12c.6 0 1 .4 1 1s-.4 1-1 1H7a1 1 0 1 1 0-2Zm5 4h7c.6 0 1 .4 1 1s-.4 1-1 1h-7a1 1 0 0 1 0-2Zm0 4h7c.6 0 1 .4 1 1s-.4 1-1 1h-7a1 1 0 0 1 0-2Zm-5 4h12a1 1 0 0 1 0 2H7a1 1 0 0 1 0-2Zm-2.6-3.8L6.2 12l-1.8-1.2a1 1 0 0 1 1.2-1.6l3 2a1 1 0 0 1 0 1.6l-3 2a1 1 0 1 1-1.2-1.6Z\" fill-rule=\"evenodd\"/></svg>',\n    'info': '<svg width=\"24\" height=\"24\"><path d=\"M12 4a7.8 7.8 0 0 1 5.7 2.3A8 8 0 1 1 12 4Zm-1 3v2h2V7h-2Zm3 10v-1h-1v-5h-3v1h1v4h-1v1h4Z\" fill-rule=\"evenodd\"/></svg>',\n    'insert-character': '<svg width=\"24\" height=\"24\"><path d=\"M15 18h4l1-2v4h-6v-3.3l1.4-1a6 6 0 0 0 1.8-2.9 6.3 6.3 0 0 0-.1-4.1 5.8 5.8 0 0 0-3-3.2c-.6-.3-1.3-.5-2.1-.5a5.1 5.1 0 0 0-3.9 1.8 6.3 6.3 0 0 0-1.3 6 6.2 6.2 0 0 0 1.8 3l1.4.9V20H4v-4l1 2h4v-.5l-2-1L5.4 15A6.5 6.5 0 0 1 4 11c0-1 .2-1.9.6-2.7A7 7 0 0 1 6.3 6C7.1 5.4 8 5 9 4.5c1-.3 2-.5 3.1-.5a8.8 8.8 0 0 1 5.7 2 7 7 0 0 1 1.7 2.3 6 6 0 0 1 .2 4.8c-.2.7-.6 1.3-1 1.9a7.6 7.6 0 0 1-3.6 2.5v.5Z\" fill-rule=\"evenodd\"/></svg>',\n    'insert-time': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><path d=\"M12 19a7 7 0 1 0 0-14 7 7 0 0 0 0 14Zm0 2a9 9 0 1 1 0-18 9 9 0 0 1 0 18Z\"/><path d=\"M16 12h-3V7c0-.6-.4-1-1-1a1 1 0 0 0-1 1v7h5c.6 0 1-.4 1-1s-.4-1-1-1Z\"/></g></svg>',\n    'invert': '<svg width=\"24\" height=\"24\"><path d=\"M18 19.3 16.5 18a5.8 5.8 0 0 1-3.1 1.9 6.1 6.1 0 0 1-5.5-1.6A5.8 5.8 0 0 1 6 14v-.3l.1-1.2A13.9 13.9 0 0 1 7.7 9l-3-3 .7-.8 2.8 2.9 9 8.9 1.5 1.6-.7.6Zm0-5.5v.3l-.1 1.1-.4 1-1.2-1.2a4.3 4.3 0 0 0 .2-1v-.2c0-.4 0-.8-.2-1.3l-.5-1.4a14.8 14.8 0 0 0-3-4.2L12 6a26.1 26.1 0 0 0-2.2 2.5l-1-1a20.9 20.9 0 0 1 2.9-3.3L12 4l1 .8a22.2 22.2 0 0 1 4 5.4c.6 1.2 1 2.4 1 3.6Z\" fill-rule=\"evenodd\"/></svg>',\n    'italic': '<svg width=\"24\" height=\"24\"><path d=\"m16.7 4.7-.1.9h-.3c-.6 0-1 0-1.4.3-.3.3-.4.6-.5 1.1l-2.1 9.8v.6c0 .5.4.8 1.4.8h.2l-.2.8H8l.2-.8h.2c1.1 0 1.8-.5 2-1.5l2-9.8.1-.5c0-.6-.4-.8-1.4-.8h-.3l.2-.9h5.8Z\" fill-rule=\"evenodd\"/></svg>',\n    'language': '<svg width=\"24\" height=\"24\"><path d=\"M12 3a9 9 0 1 1 0 18 9 9 0 0 1 0-18Zm4.3 13.3c-.5 1-1.2 2-2 2.9a7.5 7.5 0 0 0 3.2-2.1l-.2-.2a6 6 0 0 0-1-.6Zm-8.6 0c-.5.2-.9.5-1.2.8.9 1 2 1.7 3.2 2a10 10 0 0 1-2-2.8Zm3.6-.8c-.8 0-1.6.1-2.2.3.5 1 1.2 1.9 2.1 2.7Zm1.5 0v3c.9-.8 1.6-1.7 2.1-2.7-.6-.2-1.4-.3-2.1-.3Zm-6-2.7H4.5c.2 1 .5 2.1 1 3h.3l1.3-1a10 10 0 0 1-.3-2Zm12.7 0h-2.3c0 .7-.1 1.4-.3 2l1.6 1.1c.5-1 .9-2 1-3.1Zm-3.8 0h-3V14c1 0 2 .1 2.7.4.2-.5.3-1 .3-1.6Zm-4.4 0h-3l.3 1.6c.8-.3 1.7-.4 2.7-.4v-1.3Zm-5.5-5c-.7 1-1.1 2.2-1.3 3.5h2.3c0-1 .2-1.8.5-2.6l-1.5-1Zm2.9 1.4v.1c-.2.6-.4 1.3-.4 2h3V9.4c-1 0-1.8-.1-2.6-.3Zm6.6 0h-.1l-2.4.3v1.8h3l-.5-2.1Zm3-1.4-.3.1-1.3.8c.3.8.5 1.6.5 2.6h2.3a7.5 7.5 0 0 0-1.3-3.5Zm-9 0 2 .2V5.5a9 9 0 0 0-2 2.2Zm3.5-2.3V8c.6 0 1.3 0 1.9-.2a9 9 0 0 0-2-2.3Zm-3-.7h-.1c-1.1.4-2.1 1-3 1.8l1.2.7a10 10 0 0 1 1.9-2.5Zm4.4 0 .1.1a10 10 0 0 1 1.8 2.4l1.1-.7a7.5 7.5 0 0 0-3-1.8Z\"/></svg>',\n    'line-height': '<svg width=\"24\" height=\"24\"><path d=\"M21 5a1 1 0 0 1 .1 2H13a1 1 0 0 1-.1-2H21zm0 4a1 1 0 0 1 .1 2H13a1 1 0 0 1-.1-2H21zm0 4a1 1 0 0 1 .1 2H13a1 1 0 0 1-.1-2H21zm0 4a1 1 0 0 1 .1 2H13a1 1 0 0 1-.1-2H21zM7 3.6l3.7 3.7a1 1 0 0 1-1.3 1.5h-.1L8 7.3v9.2l1.3-1.3a1 1 0 0 1 1.3 0h.1c.4.4.4 1 0 1.3v.1L7 20.4l-3.7-3.7a1 1 0 0 1 1.3-1.5h.1L6 16.7V7.4L4.7 8.7a1 1 0 0 1-1.3 0h-.1a1 1 0 0 1 0-1.3v-.1L7 3.6z\"/></svg>',\n    'line': '<svg width=\"24\" height=\"24\"><path d=\"m15 9-8 8H4v-3l8-8 3 3Zm1-1-3-3 1-1h1c-.2 0 0 0 0 0l2 2s0 .2 0 0v1l-1 1ZM4 18h16v2H4v-2Z\" fill-rule=\"evenodd\"/></svg>',\n    'link': '<svg width=\"24\" height=\"24\"><path d=\"M6.2 12.3a1 1 0 0 1 1.4 1.4l-2 2a2 2 0 1 0 2.6 2.8l4.8-4.8a1 1 0 0 0 0-1.4 1 1 0 1 1 1.4-1.3 2.9 2.9 0 0 1 0 4L9.6 20a3.9 3.9 0 0 1-5.5-5.5l2-2Zm11.6-.6a1 1 0 0 1-1.4-1.4l2-2a2 2 0 1 0-2.6-2.8L11 10.3a1 1 0 0 0 0 1.4A1 1 0 1 1 9.6 13a2.9 2.9 0 0 1 0-4L14.4 4a3.9 3.9 0 0 1 5.5 5.5l-2 2Z\" fill-rule=\"nonzero\"/></svg>',\n    'list-bull-circle': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path d=\"M11 16a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm0 1a3 3 0 1 1 0-6 3 3 0 0 1 0 6ZM11 26a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm0 1a3 3 0 1 1 0-6 3 3 0 0 1 0 6ZM11 36a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm0 1a3 3 0 1 1 0-6 3 3 0 0 1 0 6Z\" fill-rule=\"nonzero\"/><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/></g></svg>',\n    'list-bull-default': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><circle cx=\"11\" cy=\"14\" r=\"3\"/><circle cx=\"11\" cy=\"24\" r=\"3\"/><circle cx=\"11\" cy=\"34\" r=\"3\"/><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/></g></svg>',\n    'list-bull-square': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path d=\"M8 11h6v6H8zM8 21h6v6H8zM8 31h6v6H8z\"/><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/></g></svg>',\n    'list-num-default-rtl': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M8 12h22v4H8zM8 22h22v4H8zM8 32h22v4H8z\"/><path d=\"M37.4 17v-4.8h-.1l-1.5 1v-1.1l1.6-1.1h1.2v6zM33.3 17.1c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7zm1.7 5.7c0-1.2 1-2 2.2-2 1.3 0 2.1.8 2.1 1.8 0 .7-.3 1.2-1.3 2.2l-1.2 1v.2h2.6v1h-4.3v-.9l2-1.9c.8-.8 1-1.1 1-1.5 0-.5-.4-.8-1-.8-.5 0-.9.3-.9.9H35zm-1.7 4.3c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7zm3.2 7.3v-1h.7c.6 0 1-.3 1-.8 0-.4-.4-.7-1-.7s-1 .3-1 .8H35c0-1.1 1-1.8 2.2-1.8 1.2 0 2.1.6 2.1 1.6 0 .7-.4 1.2-1 1.3v.1c.7.1 1.3.7 1.3 1.4 0 1-1 1.9-2.4 1.9-1.3 0-2.2-.8-2.3-2h1.2c0 .6.5 1 1.1 1 .6 0 1-.4 1-1 0-.5-.3-.8-1-.8h-.7zm-3.3 2.7c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.5 0 .8.3.8.7 0 .4-.3.7-.8.7z\"/></g></svg>',\n    'list-num-default': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/><path d=\"M10 17v-4.8l-1.5 1v-1.1l1.6-1h1.2V17h-1.2Zm3.6.1c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.5 0 .7.3.7.7 0 .4-.2.7-.7.7Zm-5 5.7c0-1.2.8-2 2.1-2s2.1.8 2.1 1.8c0 .7-.3 1.2-1.4 2.2l-1.1 1v.2h2.6v1H8.6v-.9l2-1.9c.8-.8 1-1.1 1-1.5 0-.5-.4-.8-1-.8-.5 0-.9.3-.9.9H8.5Zm6.3 4.3c-.5 0-.7-.3-.7-.7 0-.4.2-.7.7-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7ZM10 34.4v-1h.7c.6 0 1-.3 1-.8 0-.4-.4-.7-1-.7s-1 .3-1 .8H8.6c0-1.1 1-1.8 2.2-1.8 1.3 0 2.1.6 2.1 1.6 0 .7-.4 1.2-1 1.3v.1c.8.1 1.3.7 1.3 1.4 0 1-1 1.9-2.4 1.9-1.3 0-2.2-.8-2.3-2h1.2c0 .6.5 1 1.1 1 .7 0 1-.4 1-1 0-.5-.3-.8-1-.8h-.7Zm4.7 2.7c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.5 0 .8.3.8.7 0 .4-.3.7-.8.7Z\"/></g></svg>',\n    'list-num-lower-alpha-rtl': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M8 12h22v4H8zM8 22h22v4H8zM8 32h22v4H8z\"/><path d=\"M36.5 16c-.9 0-1.5-.5-1.5-1.3s.6-1.3 1.8-1.4h1v-.4c0-.4-.2-.6-.7-.6-.4 0-.7.1-.8.4h-1.1c0-.8.8-1.4 2-1.4S39 12 39 13V16h-1.2v-.6c-.3.4-.8.7-1.4.7Zm.4-.8c.6 0 1-.4 1-.9V14h-1c-.5.1-.7.3-.7.6 0 .4.3.6.7.6ZM33.1 16.1c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.5 0 .8.3.8.7 0 .4-.3.7-.8.7ZM37.7 26c-.7 0-1.2-.2-1.5-.7v.7H35v-6.3h1.2v2.5c.3-.5.8-.9 1.5-.9 1.1 0 1.8 1 1.8 2.4 0 1.5-.7 2.4-1.8 2.4Zm-.5-3.6c-.6 0-1 .5-1 1.3s.4 1.4 1 1.4c.7 0 1-.6 1-1.4 0-.8-.3-1.3-1-1.3ZM33.2 26.1c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.5 0 .8.3.8.7 0 .4-.3.7-.8.7zm6 7h-1c-.1-.5-.4-.8-1-.8s-1 .5-1 1.4c0 1 .4 1.4 1 1.4.5 0 .9-.2 1-.7h1c0 1-.8 1.7-2 1.7-1.4 0-2.2-.9-2.2-2.4s.8-2.4 2.2-2.4c1.2 0 2 .7 2 1.7zm-6.1 3c-.5 0-.7-.3-.7-.7 0-.4.2-.7.7-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7z\"/></g></svg>',\n    'list-num-lower-alpha': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/><path d=\"M10.3 15.2c.5 0 1-.4 1-.9V14h-1c-.5.1-.8.3-.8.6 0 .4.3.6.8.6Zm-.4.9c-1 0-1.5-.6-1.5-1.4 0-.8.6-1.3 1.7-1.4h1.1v-.4c0-.4-.2-.6-.7-.6-.5 0-.8.1-.9.4h-1c0-.8.8-1.4 2-1.4 1.1 0 1.8.6 1.8 1.6V16h-1.1v-.6h-.1c-.2.4-.7.7-1.3.7Zm4.6 0c-.5 0-.7-.3-.7-.7 0-.4.2-.7.7-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7Zm-3.2 10c-.6 0-1.2-.3-1.4-.8v.7H8.5v-6.3H10v2.5c.3-.5.8-.9 1.4-.9 1.2 0 1.9 1 1.9 2.4 0 1.5-.7 2.4-1.9 2.4Zm-.4-3.7c-.7 0-1 .5-1 1.3s.3 1.4 1 1.4c.6 0 1-.6 1-1.4 0-.8-.4-1.3-1-1.3Zm4 3.7c-.5 0-.7-.3-.7-.7 0-.4.2-.7.7-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7Zm-2.2 7h-1.2c0-.5-.4-.8-.9-.8-.6 0-1 .5-1 1.4 0 1 .4 1.4 1 1.4.5 0 .8-.2 1-.7h1c0 1-.8 1.7-2 1.7-1.4 0-2.2-.9-2.2-2.4s.8-2.4 2.2-2.4c1.2 0 2 .7 2 1.7Zm1.8 3c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7Z\"/></g></svg>',\n    'list-num-lower-greek-rtl': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M8 12h22v4H8zM8 22h22v4H8zM8 32h22v4H8z\"/><path d=\"M37.4 16c-1.2 0-2-.8-2-2.3 0-1.5.8-2.4 2-2.4.6 0 1 .4 1.3 1v-.9H40v3.2c0 .4.1.5.4.5h.2v.9h-.6c-.6 0-1-.2-1-.7h-.2c-.2.4-.7.8-1.3.8Zm.3-1c.6 0 1-.5 1-1.3s-.4-1.3-1-1.3-1 .5-1 1.3.4 1.4 1 1.4ZM33.3 16.1c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7ZM36 21.9c0-1.5.8-2.3 2.1-2.3 1.2 0 2 .6 2 1.6 0 .6-.3 1-.9 1.3.9.3 1.3.8 1.3 1.7 0 1.2-.7 1.9-1.8 1.9-.6 0-1.1-.3-1.4-.8v2.2H36V22Zm1.8 1.2v-1h.3c.5 0 .9-.2.9-.7 0-.5-.3-.8-.9-.8-.5 0-.8.3-.8 1v2.2c0 .8.4 1.3 1 1.3s1-.4 1-1-.4-1-1.2-1h-.3ZM33.3 26.1c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7ZM37.1 34.6 34.8 30h1.4l1.7 3.5 1.7-3.5h1.1l-2.2 4.6v.1c.5.8.7 1.4.7 1.8 0 .4-.2.8-.4 1-.2.2-.6.3-1 .3-.9 0-1.3-.4-1.3-1.2 0-.5.2-1 .5-1.7l.1-.2Zm.7 1a2 2 0 0 0-.4.9c0 .3.1.4.4.4.3 0 .4-.1.4-.4 0-.2-.1-.6-.4-1ZM33.3 36.1c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7Z\"/></g></svg>',\n    'list-num-lower-greek': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/><path d=\"M10.5 15c.7 0 1-.5 1-1.3s-.3-1.3-1-1.3c-.5 0-.9.5-.9 1.3s.4 1.4 1 1.4Zm-.3 1c-1.1 0-1.8-.8-1.8-2.3 0-1.5.7-2.4 1.8-2.4.7 0 1.1.4 1.3 1h.1v-.9h1.2v3.2c0 .4.1.5.4.5h.2v.9h-.6c-.6 0-1-.2-1.1-.7h-.1c-.2.4-.7.8-1.4.8Zm5 .1c-.5 0-.8-.3-.8-.7 0-.4.3-.7.7-.7.5 0 .8.3.8.7 0 .4-.3.7-.8.7Zm-4.9 7v-1h.3c.6 0 1-.2 1-.7 0-.5-.4-.8-1-.8-.5 0-.8.3-.8 1v2.2c0 .8.4 1.3 1.1 1.3.6 0 1-.4 1-1s-.5-1-1.3-1h-.3ZM8.6 22c0-1.5.7-2.3 2-2.3 1.2 0 2 .6 2 1.6 0 .6-.3 1-.8 1.3.8.3 1.3.8 1.3 1.7 0 1.2-.8 1.9-1.9 1.9-.6 0-1.1-.3-1.3-.8v2.2H8.5V22Zm6.2 4.2c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.5 0 .7.3.7.7 0 .4-.2.7-.7.7Zm-4.5 8.5L8 30h1.4l1.7 3.5 1.7-3.5h1.1l-2.2 4.6v.1c.5.8.7 1.4.7 1.8 0 .4-.1.8-.4 1-.2.2-.6.3-1 .3-.9 0-1.3-.4-1.3-1.2 0-.5.2-1 .5-1.7l.1-.2Zm.7 1a2 2 0 0 0-.4.9c0 .3.1.4.4.4.3 0 .4-.1.4-.4 0-.2-.1-.6-.4-1Zm4.5.5c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7Z\"/></g></svg>',\n    'list-num-lower-roman-rtl': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M8 12h22v4H8zM8 22h22v4H8zM8 32h22v4H8z\"/><path d=\"M32.9 16v-1.2h-1.3V16H33Zm0 10v-1.2h-1.3V26H33Zm0 10v-1.2h-1.3V36H33Z\"/><path fill-rule=\"nonzero\" d=\"M36 21h-1.5v5H36zM36 31h-1.5v5H36zM39 21h-1.5v5H39zM39 31h-1.5v5H39zM42 31h-1.5v5H42zM36 11h-1.5v5H36zM36 19h-1.5v1H36zM36 29h-1.5v1H36zM39 19h-1.5v1H39zM39 29h-1.5v1H39zM42 29h-1.5v1H42zM36 9h-1.5v1H36z\"/></g></svg>',\n    'list-num-lower-roman': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/><path d=\"M15.1 16v-1.2h1.3V16H15Zm0 10v-1.2h1.3V26H15Zm0 10v-1.2h1.3V36H15Z\"/><path fill-rule=\"nonzero\" d=\"M12 21h1.5v5H12zM12 31h1.5v5H12zM9 21h1.5v5H9zM9 31h1.5v5H9zM6 31h1.5v5H6zM12 11h1.5v5H12zM12 19h1.5v1H12zM12 29h1.5v1H12zM9 19h1.5v1H9zM9 29h1.5v1H9zM6 29h1.5v1H6zM12 9h1.5v1H12z\"/></g></svg>',\n    'list-num-upper-alpha-rtl': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M8 12h22v4H8zM8 22h22v4H8zM8 32h22v4H8z\"/><path d=\"m39.3 17-.5-1.4h-2l-.5 1.4H35l2-6h1.6l2 6h-1.3Zm-1.6-4.7-.7 2.3h1.6l-.8-2.3ZM33.4 17c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.5 0 .7.3.7.7 0 .4-.2.7-.7.7Zm4.7 9.9h-2.7v-6H38c1.2 0 1.9.6 1.9 1.5 0 .6-.5 1.2-1 1.3.7.1 1.3.7 1.3 1.5 0 1-.8 1.7-2 1.7Zm-1.4-5v1.5h1c.6 0 1-.3 1-.8 0-.4-.4-.7-1-.7h-1Zm0 4h1.1c.7 0 1.1-.3 1.1-.8 0-.6-.4-.9-1.1-.9h-1.1V26ZM33 27.1c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7Zm4.9 10c-1.8 0-2.8-1.1-2.8-3.1s1-3.1 2.8-3.1c1.4 0 2.5.9 2.6 2.2h-1.3c0-.7-.6-1.1-1.3-1.1-1 0-1.6.7-1.6 2s.6 2 1.6 2c.7 0 1.2-.4 1.4-1h1.2c-.1 1.3-1.2 2.2-2.6 2.2Zm-4.5 0c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7Z\"/></g></svg>',\n    'list-num-upper-alpha': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/><path d=\"m12.6 17-.5-1.4h-2L9.5 17H8.3l2-6H12l2 6h-1.3ZM11 12.3l-.7 2.3h1.6l-.8-2.3Zm4.7 4.8c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.5 0 .7.3.7.7 0 .4-.2.7-.7.7ZM11.4 27H8.7v-6h2.6c1.2 0 1.9.6 1.9 1.5 0 .6-.5 1.2-1 1.3.7.1 1.3.7 1.3 1.5 0 1-.8 1.7-2 1.7ZM10 22v1.5h1c.6 0 1-.3 1-.8 0-.4-.4-.7-1-.7h-1Zm0 4H11c.7 0 1.1-.3 1.1-.8 0-.6-.4-.9-1.1-.9H10V26Zm5.4 1.1c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7Zm-4.1 10c-1.8 0-2.8-1.1-2.8-3.1s1-3.1 2.8-3.1c1.4 0 2.5.9 2.6 2.2h-1.3c0-.7-.6-1.1-1.3-1.1-1 0-1.6.7-1.6 2s.6 2 1.6 2c.7 0 1.2-.4 1.4-1h1.2c-.1 1.3-1.2 2.2-2.6 2.2Zm4.5 0c-.5 0-.8-.3-.8-.7 0-.4.3-.7.8-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7Z\"/></g></svg>',\n    'list-num-upper-roman-rtl': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M8 12h22v4H8zM8 22h22v4H8zM8 32h22v4H8z\"/><path d=\"M31.6 17v-1.2H33V17h-1.3Zm0 10v-1.2H33V27h-1.3Zm0 10v-1.2H33V37h-1.3Z\"/><path fill-rule=\"nonzero\" d=\"M34.5 20H36v7h-1.5zM34.5 30H36v7h-1.5zM37.5 20H39v7h-1.5zM37.5 30H39v7h-1.5zM40.5 30H42v7h-1.5zM34.5 10H36v7h-1.5z\"/></g></svg>',\n    'list-num-upper-roman': '<svg width=\"48\" height=\"48\"><g fill-rule=\"evenodd\"><path opacity=\".2\" d=\"M18 12h22v4H18zM18 22h22v4H18zM18 32h22v4H18z\"/><path d=\"M15.1 17v-1.2h1.3V17H15Zm0 10v-1.2h1.3V27H15Zm0 10v-1.2h1.3V37H15Z\"/><path fill-rule=\"nonzero\" d=\"M12 20h1.5v7H12zM12 30h1.5v7H12zM9 20h1.5v7H9zM9 30h1.5v7H9zM6 30h1.5v7H6zM12 10h1.5v7H12z\"/></g></svg>',\n    'lock': '<svg width=\"24\" height=\"24\"><path d=\"M16.3 11c.2 0 .3 0 .5.2l.2.6v7.4c0 .3 0 .4-.2.6l-.6.2H7.8c-.3 0-.4 0-.6-.2a.7.7 0 0 1-.2-.6v-7.4c0-.3 0-.4.2-.6l.5-.2H8V8c0-.8.3-1.5.9-2.1.6-.6 1.3-.9 2.1-.9h2c.8 0 1.5.3 2.1.9.6.6.9 1.3.9 2.1v3h.3ZM10 8v3h4V8a1 1 0 0 0-.3-.7A1 1 0 0 0 13 7h-2a1 1 0 0 0-.7.3 1 1 0 0 0-.3.7Z\" fill-rule=\"evenodd\"/></svg>',\n    'ltr': '<svg width=\"24\" height=\"24\"><path d=\"M11 5h7a1 1 0 0 1 0 2h-1v11a1 1 0 0 1-2 0V7h-2v11a1 1 0 0 1-2 0v-6c-.5 0-1 0-1.4-.3A3.4 3.4 0 0 1 7.8 10a3.3 3.3 0 0 1 0-2.8 3.4 3.4 0 0 1 1.8-1.8L11 5ZM4.4 16.2 6.2 15l-1.8-1.2a1 1 0 0 1 1.2-1.6l3 2a1 1 0 0 1 0 1.6l-3 2a1 1 0 1 1-1.2-1.6Z\" fill-rule=\"evenodd\"/></svg>',\n    'minus': '<svg width=\"24\" height=\"24\"><path d=\"M19 11a1 1 0 0 1 .1 2H5a1 1 0 0 1-.1-2H19Z\"/></svg>',\n    'more-drawer': '<svg width=\"24\" height=\"24\"><path d=\"M6 10a2 2 0 0 0-2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2 2 2 0 0 0-2-2Zm12 0a2 2 0 0 0-2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2 2 2 0 0 0-2-2Zm-6 0a2 2 0 0 0-2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2 2 2 0 0 0-2-2Z\" fill-rule=\"nonzero\"/></svg>',\n    'new-document': '<svg width=\"24\" height=\"24\"><path d=\"M14.4 3H7a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h10a2 2 0 0 0 2-2V7.6L14.4 3ZM17 19H7V5h6v4h4v10Z\" fill-rule=\"nonzero\"/></svg>',\n    'new-tab': '<svg width=\"24\" height=\"24\"><path d=\"m15 13 2-2v8H5V7h8l-2 2H7v8h8v-4Zm4-8v5.5l-2-2-5.6 5.5H10v-1.4L15.5 7l-2-2H19Z\" fill-rule=\"evenodd\"/></svg>',\n    'non-breaking': '<svg width=\"24\" height=\"24\"><path d=\"M11 11H8a1 1 0 1 1 0-2h3V6c0-.6.4-1 1-1s1 .4 1 1v3h3c.6 0 1 .4 1 1s-.4 1-1 1h-3v3c0 .6-.4 1-1 1a1 1 0 0 1-1-1v-3Zm10 4v5H3v-5c0-.6.4-1 1-1s1 .4 1 1v3h14v-3c0-.6.4-1 1-1s1 .4 1 1Z\" fill-rule=\"evenodd\"/></svg>',\n    'notice': '<svg width=\"24\" height=\"24\"><path d=\"M15.5 4 20 8.5v7L15.5 20h-7L4 15.5v-7L8.5 4h7ZM13 17v-2h-2v2h2Zm0-4V7h-2v6h2Z\" fill-rule=\"evenodd\" clip-rule=\"evenodd\"/></svg>',\n    'ordered-list-rtl': '<svg width=\"24\" height=\"24\"><path d=\"M6 17h8a1 1 0 0 1 0 2H6a1 1 0 0 1 0-2Zm0-6h8a1 1 0 0 1 0 2H6a1 1 0 0 1 0-2Zm0-6h8a1 1 0 0 1 0 2H6a1 1 0 1 1 0-2Zm13-1v3.5a.5.5 0 1 1-1 0V5h-.5a.5.5 0 1 1 0-1H19Zm-1 8.8.2.2h1.3a.5.5 0 1 1 0 1h-1.6a1 1 0 0 1-.9-1V13c0-.4.3-.8.6-1l1.2-.4.2-.3a.2.2 0 0 0-.2-.2h-1.3a.5.5 0 0 1-.5-.5c0-.3.2-.5.5-.5h1.6c.5 0 .9.4.9 1v.1c0 .4-.3.8-.6 1l-1.2.4-.2.3Zm2 4.2v2c0 .6-.4 1-1 1h-1.5a.5.5 0 0 1 0-1h1.2a.3.3 0 1 0 0-.6h-1.3a.4.4 0 1 1 0-.8h1.3a.3.3 0 0 0 0-.6h-1.2a.5.5 0 1 1 0-1H19c.6 0 1 .4 1 1Z\" fill-rule=\"evenodd\"/></svg>',\n    'ordered-list': '<svg width=\"24\" height=\"24\"><path d=\"M10 17h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2Zm0-6h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2Zm0-6h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 1 1 0-2ZM6 4v3.5c0 .3-.2.5-.5.5a.5.5 0 0 1-.5-.5V5h-.5a.5.5 0 0 1 0-1H6Zm-1 8.8.2.2h1.3c.3 0 .5.2.5.5s-.2.5-.5.5H4.9a1 1 0 0 1-.9-1V13c0-.4.3-.8.6-1l1.2-.4.2-.3a.2.2 0 0 0-.2-.2H4.5a.5.5 0 0 1-.5-.5c0-.3.2-.5.5-.5h1.6c.5 0 .9.4.9 1v.1c0 .4-.3.8-.6 1l-1.2.4-.2.3ZM7 17v2c0 .6-.4 1-1 1H4.5a.5.5 0 0 1 0-1h1.2c.2 0 .3-.1.3-.3 0-.2-.1-.3-.3-.3H4.4a.4.4 0 1 1 0-.8h1.3c.2 0 .3-.1.3-.3 0-.2-.1-.3-.3-.3H4.5a.5.5 0 1 1 0-1H6c.6 0 1 .4 1 1Z\" fill-rule=\"evenodd\"/></svg>',\n    'orientation': '<svg width=\"24\" height=\"24\"><path d=\"M7.3 6.4 1 13l6.4 6.5 6.5-6.5-6.5-6.5ZM3.7 13l3.6-3.7L11 13l-3.7 3.7-3.6-3.7ZM12 6l2.8 2.7c.3.3.3.8 0 1-.3.4-.9.4-1.2 0L9.2 5.7a.8.8 0 0 1 0-1.2L13.6.2c.3-.3.9-.3 1.2 0 .3.3.3.8 0 1.1L12 4h1a9 9 0 1 1-4.3 16.9l1.5-1.5A7 7 0 1 0 13 6h-1Z\" fill-rule=\"nonzero\"/></svg>',\n    'outdent': '<svg width=\"24\" height=\"24\"><path d=\"M7 5h12c.6 0 1 .4 1 1s-.4 1-1 1H7a1 1 0 1 1 0-2Zm5 4h7c.6 0 1 .4 1 1s-.4 1-1 1h-7a1 1 0 0 1 0-2Zm0 4h7c.6 0 1 .4 1 1s-.4 1-1 1h-7a1 1 0 0 1 0-2Zm-5 4h12a1 1 0 0 1 0 2H7a1 1 0 0 1 0-2Zm1.6-3.8a1 1 0 0 1-1.2 1.6l-3-2a1 1 0 0 1 0-1.6l3-2a1 1 0 0 1 1.2 1.6L6.8 12l1.8 1.2Z\" fill-rule=\"evenodd\"/></svg>',\n    'page-break': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path d=\"M5 11c.6 0 1 .4 1 1s-.4 1-1 1a1 1 0 0 1 0-2Zm3 0h1c.6 0 1 .4 1 1s-.4 1-1 1H8a1 1 0 0 1 0-2Zm4 0c.6 0 1 .4 1 1s-.4 1-1 1a1 1 0 0 1 0-2Zm3 0h1c.6 0 1 .4 1 1s-.4 1-1 1h-1a1 1 0 0 1 0-2Zm4 0c.6 0 1 .4 1 1s-.4 1-1 1a1 1 0 0 1 0-2ZM7 3v5h10V3c0-.6.4-1 1-1s1 .4 1 1v7H5V3c0-.6.4-1 1-1s1 .4 1 1ZM6 22a1 1 0 0 1-1-1v-7h14v7c0 .6-.4 1-1 1a1 1 0 0 1-1-1v-5H7v5c0 .6-.4 1-1 1Z\"/></g></svg>',\n    'paragraph': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" d=\"M10 5h7a1 1 0 0 1 0 2h-1v11a1 1 0 0 1-2 0V7h-2v11a1 1 0 0 1-2 0v-6c-.5 0-1 0-1.4-.3A3.4 3.4 0 0 1 6.8 10a3.3 3.3 0 0 1 0-2.8 3.4 3.4 0 0 1 1.8-1.8L10 5Z\"/></svg>',\n    'paste-column-after': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" d=\"M12 1a3 3 0 0 1 2.8 2H18c1 0 2 .8 2 1.9V7h-2V5h-2v1c0 .6-.4 1-1 1H9a1 1 0 0 1-1-1V5H6v13h7v2H6c-1 0-2-.8-2-1.9V5c0-1 .8-2 1.9-2H9.2A3 3 0 0 1 12 1Zm8 7v12h-6V8h6Zm-1.5 1.5h-3v9h3v-9ZM12 3a1 1 0 1 0 0 2 1 1 0 0 0 0-2Z\"/></svg>',\n    'paste-column-before': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" d=\"M12 1a3 3 0 0 1 2.8 2H18c1 0 2 .8 2 1.9V18c0 1-.8 2-1.9 2H11v-2h7V5h-2v1c0 .6-.4 1-1 1H9a1 1 0 0 1-1-1V5H6v2H4V5c0-1 .8-2 1.9-2H9.2A3 3 0 0 1 12 1Zm-2 7v12H4V8h6ZM8.5 9.5h-3v9h3v-9ZM12 3a1 1 0 1 0 0 2 1 1 0 0 0 0-2Z\"/></svg>',\n    'paste-row-after': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" d=\"M12 1a3 3 0 0 1 2.8 2H18c1 0 2 .8 2 1.9V11h-2V5h-2v1c0 .6-.4 1-1 1H9a1 1 0 0 1-1-1V5H6v13h14c0 1-.8 2-1.9 2H6c-1 0-2-.8-2-1.9V5c0-1 .8-2 1.9-2H9.2A3 3 0 0 1 12 1Zm10 11v5H8v-5h14Zm-1.5 1.5h-11v2h11v-2ZM12 3a1 1 0 1 0 0 2 1 1 0 0 0 0-2Z\"/></svg>',\n    'paste-row-before': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" d=\"M12 1a3 3 0 0 1 2.8 2H18c1 0 2 .8 2 1.9V7h-2V5h-2v1c0 .6-.4 1-1 1H9a1 1 0 0 1-1-1V5H6v13h12v-4h2v4c0 1-.8 2-1.9 2H6c-1 0-2-.8-2-1.9V5c0-1 .8-2 1.9-2H9.2A3 3 0 0 1 12 1Zm10 7v5H8V8h14Zm-1.5 1.5h-11v2h11v-2ZM12 3a1 1 0 1 0 0 2 1 1 0 0 0 0-2Z\"/></svg>',\n    'paste-text': '<svg width=\"24\" height=\"24\"><path d=\"M18 9V5h-2v1c0 .6-.4 1-1 1H9a1 1 0 0 1-1-1V5H6v13h3V9h9ZM9 20H6a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h3.2A3 3 0 0 1 12 1a3 3 0 0 1 2.8 2H18a2 2 0 0 1 2 2v4h1v12H9v-1Zm1.5-9.5v9h9v-9h-9ZM12 3a1 1 0 0 0-1 1c0 .5.4 1 1 1s1-.5 1-1-.4-1-1-1Zm0 9h6v2h-.5l-.5-1h-1v4h.8v1h-3.6v-1h.8v-4h-1l-.5 1H12v-2Z\" fill-rule=\"nonzero\"/></svg>',\n    'paste': '<svg width=\"24\" height=\"24\"><path d=\"M18 9V5h-2v1c0 .6-.4 1-1 1H9a1 1 0 0 1-1-1V5H6v13h3V9h9ZM9 20H6a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h3.2A3 3 0 0 1 12 1a3 3 0 0 1 2.8 2H18a2 2 0 0 1 2 2v4h1v12H9v-1Zm1.5-9.5v9h9v-9h-9ZM12 3a1 1 0 0 0-1 1c0 .5.4 1 1 1s1-.5 1-1-.4-1-1-1Z\" fill-rule=\"nonzero\"/></svg>',\n    'permanent-pen': '<svg width=\"24\" height=\"24\"><path d=\"M10.5 17.5 8 20H3v-3l3.5-3.5a2 2 0 0 1 0-3L14 3l1 1-7.3 7.3a1 1 0 0 0 0 1.4l3.6 3.6c.4.4 1 .4 1.4 0L20 9l1 1-7.6 7.6a2 2 0 0 1-2.8 0l-.1-.1Z\" fill-rule=\"nonzero\"/></svg>',\n    'plus': '<svg width=\"24\" height=\"24\"><path d=\"M12 4c.5 0 1 .4 1 .9V11h6a1 1 0 0 1 .1 2H13v6a1 1 0 0 1-2 .1V13H5a1 1 0 0 1-.1-2H11V5c0-.6.4-1 1-1Z\"/></svg>',\n    'preferences': '<svg width=\"24\" height=\"24\"><path d=\"m20.1 13.5-1.9.2a5.8 5.8 0 0 1-.6 1.5l1.2 1.5c.4.4.3 1 0 1.4l-.7.7a1 1 0 0 1-1.4 0l-1.5-1.2a6.2 6.2 0 0 1-1.5.6l-.2 1.9c0 .5-.5.9-1 .9h-1a1 1 0 0 1-1-.9l-.2-1.9a5.8 5.8 0 0 1-1.5-.6l-1.5 1.2a1 1 0 0 1-1.4 0l-.7-.7a1 1 0 0 1 0-1.4l1.2-1.5a6.2 6.2 0 0 1-.6-1.5l-1.9-.2a1 1 0 0 1-.9-1v-1c0-.5.4-1 .9-1l1.9-.2a5.8 5.8 0 0 1 .6-1.5L5.2 7.3a1 1 0 0 1 0-1.4l.7-.7a1 1 0 0 1 1.4 0l1.5 1.2a6.2 6.2 0 0 1 1.5-.6l.2-1.9c0-.5.5-.9 1-.9h1c.5 0 1 .4 1 .9l.2 1.9a5.8 5.8 0 0 1 1.5.6l1.5-1.2a1 1 0 0 1 1.4 0l.7.7c.3.4.4 1 0 1.4l-1.2 1.5a6.2 6.2 0 0 1 .6 1.5l1.9.2c.5 0 .9.5.9 1v1c0 .5-.4 1-.9 1ZM12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z\" fill-rule=\"evenodd\"/></svg>',\n    'preview': '<svg width=\"24\" height=\"24\"><path d=\"M3.5 12.5c.5.8 1.1 1.6 1.8 2.3 2 2 4.2 3.2 6.7 3.2s4.7-1.2 6.7-3.2a16.2 16.2 0 0 0 2.1-2.8 15.7 15.7 0 0 0-2.1-2.8c-2-2-4.2-3.2-6.7-3.2a9.3 9.3 0 0 0-6.7 3.2A16.2 16.2 0 0 0 3.2 12c0 .2.2.3.3.5Zm-2.4-1 .7-1.2L4 7.8C6.2 5.4 8.9 4 12 4c3 0 5.8 1.4 8.1 3.8a18.2 18.2 0 0 1 2.8 3.7v1l-.7 1.2-2.1 2.5c-2.3 2.4-5 3.8-8.1 3.8-3 0-5.8-1.4-8.1-3.8a18.2 18.2 0 0 1-2.8-3.7 1 1 0 0 1 0-1Zm12-3.3a2 2 0 1 0 2.7 2.6 4 4 0 1 1-2.6-2.6Z\" fill-rule=\"nonzero\"/></svg>',\n    'print': '<svg width=\"24\" height=\"24\"><path d=\"M18 8H6a3 3 0 0 0-3 3v6h2v3h14v-3h2v-6a3 3 0 0 0-3-3Zm-1 10H7v-4h10v4Zm.5-5c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5 1.5.7 1.5 1.5-.7 1.5-1.5 1.5Zm.5-8H6v2h12V5Z\" fill-rule=\"nonzero\"/></svg>',\n    'quote': '<svg width=\"24\" height=\"24\"><path d=\"M7.5 17h.9c.4 0 .7-.2.9-.6L11 13V8c0-.6-.4-1-1-1H6a1 1 0 0 0-1 1v4c0 .6.4 1 1 1h2l-1.3 2.7a1 1 0 0 0 .8 1.3Zm8 0h.9c.4 0 .7-.2.9-.6L19 13V8c0-.6-.4-1-1-1h-4a1 1 0 0 0-1 1v4c0 .6.4 1 1 1h2l-1.3 2.7a1 1 0 0 0 .8 1.3Z\" fill-rule=\"nonzero\"/></svg>',\n    'redo': '<svg width=\"24\" height=\"24\"><path d=\"M17.6 10H12c-2.8 0-4.4 1.4-4.9 3.5-.4 2 .3 4 1.4 4.6a1 1 0 1 1-1 1.8c-2-1.2-2.9-4.1-2.3-6.8.6-3 3-5.1 6.8-5.1h5.6l-3.3-3.3a1 1 0 1 1 1.4-1.4l5 5a1 1 0 0 1 0 1.4l-5 5a1 1 0 0 1-1.4-1.4l3.3-3.3Z\" fill-rule=\"nonzero\"/></svg>',\n    'reload': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><path d=\"m5 22.1-1.2-4.7v-.2a1 1 0 0 1 1-1l5 .4a1 1 0 1 1-.2 2l-2.2-.2a7.8 7.8 0 0 0 8.4.2 7.5 7.5 0 0 0 3.5-6.4 1 1 0 1 1 2 0 9.5 9.5 0 0 1-4.5 8 9.9 9.9 0 0 1-10.2 0l.4 1.4a1 1 0 1 1-2 .5ZM13.6 7.4c0-.5.5-1 1-.9l2.8.2a8 8 0 0 0-9.5-1 7.5 7.5 0 0 0-3.6 7 1 1 0 0 1-2 0 9.5 9.5 0 0 1 4.5-8.6 10 10 0 0 1 10.9.3l-.3-1a1 1 0 0 1 2-.5l1.1 4.8a1 1 0 0 1-1 1.2l-5-.4a1 1 0 0 1-.9-1Z\"/></g></svg>',\n    'remove-formatting': '<svg width=\"24\" height=\"24\"><path d=\"M13.2 6a1 1 0 0 1 0 .2l-2.6 10a1 1 0 0 1-1 .8h-.2a.8.8 0 0 1-.8-1l2.6-10H8a1 1 0 1 1 0-2h9a1 1 0 0 1 0 2h-3.8ZM5 18h7a1 1 0 0 1 0 2H5a1 1 0 0 1 0-2Zm13 1.5L16.5 18 15 19.5a.7.7 0 0 1-1-1l1.5-1.5-1.5-1.5a.7.7 0 0 1 1-1l1.5 1.5 1.5-1.5a.7.7 0 0 1 1 1L17.5 17l1.5 1.5a.7.7 0 0 1-1 1Z\" fill-rule=\"evenodd\"/></svg>',\n    'remove': '<svg width=\"24\" height=\"24\"><path d=\"M16 7h3a1 1 0 0 1 0 2h-1v9a3 3 0 0 1-3 3H9a3 3 0 0 1-3-3V9H5a1 1 0 1 1 0-2h3V6a3 3 0 0 1 3-3h2a3 3 0 0 1 3 3v1Zm-2 0V6c0-.6-.4-1-1-1h-2a1 1 0 0 0-1 1v1h4Zm2 2H8v9c0 .6.4 1 1 1h6c.6 0 1-.4 1-1V9Zm-7 3a1 1 0 0 1 2 0v4a1 1 0 0 1-2 0v-4Zm4 0a1 1 0 0 1 2 0v4a1 1 0 0 1-2 0v-4Z\" fill-rule=\"nonzero\"/></svg>',\n    'resize-handle': '<svg width=\"10\" height=\"10\"><g fill-rule=\"nonzero\"><path d=\"M8.1 1.1A.5.5 0 1 1 9 2l-7 7A.5.5 0 1 1 1 8l7-7ZM8.1 5.1A.5.5 0 1 1 9 6l-3 3A.5.5 0 1 1 5 8l3-3Z\"/></g></svg>',\n    'resize': '<svg width=\"24\" height=\"24\"><path d=\"M4 5c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3h6c.3 0 .5.1.7.3.2.2.3.4.3.7 0 .3-.1.5-.3.7a1 1 0 0 1-.7.3H7.4L18 16.6V13c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3.3 0 .5.1.7.3.2.2.3.4.3.7v6c0 .3-.1.5-.3.7a1 1 0 0 1-.7.3h-6a1 1 0 0 1-.7-.3 1 1 0 0 1-.3-.7c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3h3.6L6 7.4V11c0 .3-.1.5-.3.7a1 1 0 0 1-.7.3 1 1 0 0 1-.7-.3A1 1 0 0 1 4 11V5Z\" fill-rule=\"evenodd\"/></svg>',\n    'restore-draft': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path d=\"M17 13c0 .6-.4 1-1 1h-4V8c0-.6.4-1 1-1s1 .4 1 1v4h2c.6 0 1 .4 1 1Z\"/><path d=\"M4.7 10H9a1 1 0 0 1 0 2H3a1 1 0 0 1-1-1V5a1 1 0 1 1 2 0v3l2.5-2.4a9.2 9.2 0 0 1 10.8-1.5A9 9 0 0 1 13.4 21c-2.4.1-4.7-.7-6.5-2.2a1 1 0 1 1 1.3-1.5 7.2 7.2 0 0 0 11.6-3.7 7 7 0 0 0-3.5-7.7A7.2 7.2 0 0 0 8 7L4.7 10Z\" fill-rule=\"nonzero\"/></g></svg>',\n    'rotate-left': '<svg width=\"24\" height=\"24\"><path d=\"M4.7 10H9a1 1 0 0 1 0 2H3a1 1 0 0 1-1-1V5a1 1 0 1 1 2 0v3l2.5-2.4a9.2 9.2 0 0 1 10.8-1.5A9 9 0 0 1 13.4 21c-2.4.1-4.7-.7-6.5-2.2a1 1 0 1 1 1.3-1.5 7.2 7.2 0 0 0 11.6-3.7 7 7 0 0 0-3.5-7.7A7.2 7.2 0 0 0 8 7L4.7 10Z\" fill-rule=\"nonzero\"/></svg>',\n    'rotate-right': '<svg width=\"24\" height=\"24\"><path d=\"M20 8V5a1 1 0 0 1 2 0v6c0 .6-.4 1-1 1h-6a1 1 0 0 1 0-2h4.3L16 7A7.2 7.2 0 0 0 7.7 6a7 7 0 0 0 3 13.1c1.9.1 3.7-.5 5-1.7a1 1 0 0 1 1.4 1.5A9.2 9.2 0 0 1 2.2 14c-.9-3.9 1-8 4.5-9.9 3.5-1.9 8-1.3 10.8 1.5L20 8Z\" fill-rule=\"nonzero\"/></svg>',\n    'rtl': '<svg width=\"24\" height=\"24\"><path d=\"M8 5h8v2h-2v12h-2V7h-2v12H8v-7c-.5 0-1 0-1.4-.3A3.4 3.4 0 0 1 4.8 10a3.3 3.3 0 0 1 0-2.8 3.4 3.4 0 0 1 1.8-1.8L8 5Zm12 11.2a1 1 0 1 1-1 1.6l-3-2a1 1 0 0 1 0-1.6l3-2a1 1 0 1 1 1 1.6L18.4 15l1.8 1.2Z\" fill-rule=\"evenodd\"/></svg>',\n    'save': '<svg width=\"24\" height=\"24\"><path d=\"M5 16h14a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-2c0-1.1.9-2 2-2Zm0 2v2h14v-2H5Zm10 0h2v2h-2v-2Zm-4-6.4L8.7 9.3a1 1 0 1 0-1.4 1.4l4 4c.4.4 1 .4 1.4 0l4-4a1 1 0 1 0-1.4-1.4L13 11.6V4a1 1 0 0 0-2 0v7.6Z\" fill-rule=\"nonzero\"/></svg>',\n    'search': '<svg width=\"24\" height=\"24\"><path d=\"M16 17.3a8 8 0 1 1 1.4-1.4l4.3 4.4a1 1 0 0 1-1.4 1.4l-4.4-4.3Zm-5-.3a6 6 0 1 0 0-12 6 6 0 0 0 0 12Z\" fill-rule=\"nonzero\"/></svg>',\n    'select-all': '<svg width=\"24\" height=\"24\"><path d=\"M3 5h2V3a2 2 0 0 0-2 2Zm0 8h2v-2H3v2Zm4 8h2v-2H7v2ZM3 9h2V7H3v2Zm10-6h-2v2h2V3Zm6 0v2h2a2 2 0 0 0-2-2ZM5 21v-2H3c0 1.1.9 2 2 2Zm-2-4h2v-2H3v2ZM9 3H7v2h2V3Zm2 18h2v-2h-2v2Zm8-8h2v-2h-2v2Zm0 8a2 2 0 0 0 2-2h-2v2Zm0-12h2V7h-2v2Zm0 8h2v-2h-2v2Zm-4 4h2v-2h-2v2Zm0-16h2V3h-2v2ZM7 17h10V7H7v10Zm2-8h6v6H9V9Z\" fill-rule=\"nonzero\"/></svg>',\n    'selected': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M6 4h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2Zm3.6 10.9L7 12.3a.7.7 0 0 0-1 1L9.6 17 18 8.6a.7.7 0 0 0 0-1 .7.7 0 0 0-1 0l-7.4 7.3Z\"/></svg>',\n    'send': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"m13.3 22 7-18.3-18.3 7L9 15l4.3 7ZM18 6.8l-.7-.7L9.4 14l.7.7L18 6.8Z\"/></svg>',\n    'settings': '<svg width=\"24\" height=\"24\"><path d=\"M11 6h8c.6 0 1 .4 1 1s-.4 1-1 1h-8v.3c0 .2 0 .3-.2.5l-.6.2H7.8c-.3 0-.4 0-.6-.2a.7.7 0 0 1-.2-.6V8H5a1 1 0 1 1 0-2h2v-.3c0-.2 0-.3.2-.5l.5-.2h2.5c.3 0 .4 0 .6.2l.2.5V6ZM8 8h2V6H8v2Zm9 2.8v.2h2c.6 0 1 .4 1 1s-.4 1-1 1h-2v.3c0 .2 0 .3-.2.5l-.6.2h-2.4c-.3 0-.4 0-.6-.2a.7.7 0 0 1-.2-.6V13H5a1 1 0 0 1 0-2h8v-.3c0-.2 0-.3.2-.5l.6-.2h2.4c.3 0 .4 0 .6.2l.2.6ZM14 13h2v-2h-2v2Zm-3 2.8v.2h8c.6 0 1 .4 1 1s-.4 1-1 1h-8v.3c0 .2 0 .3-.2.5l-.6.2H7.8c-.3 0-.4 0-.6-.2a.7.7 0 0 1-.2-.6V18H5a1 1 0 0 1 0-2h2v-.3c0-.2 0-.3.2-.5l.5-.2h2.5c.3 0 .4 0 .6.2l.2.6ZM8 18h2v-2H8v2Z\" fill-rule=\"evenodd\"/></svg>',\n    'sharpen': '<svg width=\"24\" height=\"24\"><path d=\"m16 6 4 4-8 9-8-9 4-4h8Zm-4 10.2 5.5-6.2-.1-.1H12v-.3h5.1l-.2-.2H12V9h4.6l-.2-.2H12v-.3h4.1l-.2-.2H12V8h3.6l-.2-.2H8.7L6.5 10l.1.1H12v.3H6.9l.2.2H12v.3H7.3l.2.2H12v.3H7.7l.3.2h4v.3H8.2l.2.2H12v.3H8.6l.3.2H12v.3H9l.3.2H12v.3H9.5l.2.2H12v.3h-2l.2.2H12v.3h-1.6l.2.2H12v.3h-1.1l.2.2h.9v.3h-.7l.2.2h.5v.3h-.3l.3.2Z\" fill-rule=\"evenodd\"/></svg>',\n    'sourcecode': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><path d=\"M9.8 15.7c.3.3.3.8 0 1-.3.4-.9.4-1.2 0l-4.4-4.1a.8.8 0 0 1 0-1.2l4.4-4.2c.3-.3.9-.3 1.2 0 .3.3.3.8 0 1.1L6 12l3.8 3.7ZM14.2 15.7c-.3.3-.3.8 0 1 .4.4.9.4 1.2 0l4.4-4.1c.3-.3.3-.9 0-1.2l-4.4-4.2a.8.8 0 0 0-1.2 0c-.3.3-.3.8 0 1.1L18 12l-3.8 3.7Z\"/></g></svg>',\n    'spell-check': '<svg width=\"24\" height=\"24\"><path d=\"M6 8v3H5V5c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3h2c.3 0 .5.1.7.3.2.2.3.4.3.7v6H8V8H6Zm0-3v2h2V5H6Zm13 0h-3v5h3v1h-3a1 1 0 0 1-.7-.3 1 1 0 0 1-.3-.7V5c0-.3.1-.5.3-.7.2-.2.4-.3.7-.3h3v1Zm-5 1.5-.1.7c-.1.2-.3.3-.6.3.3 0 .5.1.6.3l.1.7V10c0 .3-.1.5-.3.7a1 1 0 0 1-.7.3h-3V4h3c.3 0 .5.1.7.3.2.2.3.4.3.7v1.5ZM13 10V8h-2v2h2Zm0-3V5h-2v2h2Zm3 5 1 1-6.5 7L7 15.5l1.3-1 2.2 2.2L16 12Z\" fill-rule=\"evenodd\"/></svg>',\n    'strike-through': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path d=\"M15.6 8.5c-.5-.7-1-1.1-1.3-1.3-.6-.4-1.3-.6-2-.6-2.7 0-2.8 1.7-2.8 2.1 0 1.6 1.8 2 3.2 2.3 4.4.9 4.6 2.8 4.6 3.9 0 1.4-.7 4.1-5 4.1A6.2 6.2 0 0 1 7 16.4l1.5-1.1c.4.6 1.6 2 3.7 2 1.6 0 2.5-.4 3-1.2.4-.8.3-2-.8-2.6-.7-.4-1.6-.7-2.9-1-1-.2-3.9-.8-3.9-3.6C7.6 6 10.3 5 12.4 5c2.9 0 4.2 1.6 4.7 2.4l-1.5 1.1Z\"/><path d=\"M5 11h14a1 1 0 0 1 0 2H5a1 1 0 0 1 0-2Z\" fill-rule=\"nonzero\"/></g></svg>',\n    'subscript': '<svg width=\"24\" height=\"24\"><path d=\"m10.4 10 4.6 4.6-1.4 1.4L9 11.4 4.4 16 3 14.6 7.6 10 3 5.4 4.4 4 9 8.6 13.6 4 15 5.4 10.4 10ZM21 19h-5v-1l1-.8 1.7-1.6c.3-.4.5-.8.5-1.2 0-.3 0-.6-.2-.7-.2-.2-.5-.3-.9-.3a2 2 0 0 0-.8.2l-.7.3-.4-1.1 1-.6 1.2-.2c.8 0 1.4.3 1.8.7.4.4.6.9.6 1.5s-.2 1.1-.5 1.6a8 8 0 0 1-1.3 1.3l-.6.6h2.6V19Z\" fill-rule=\"nonzero\"/></svg>',\n    'superscript': '<svg width=\"24\" height=\"24\"><path d=\"M15 9.4 10.4 14l4.6 4.6-1.4 1.4L9 15.4 4.4 20 3 18.6 7.6 14 3 9.4 4.4 8 9 12.6 13.6 8 15 9.4Zm5.9 1.6h-5v-1l1-.8 1.7-1.6c.3-.5.5-.9.5-1.3 0-.3 0-.5-.2-.7-.2-.2-.5-.3-.9-.3l-.8.2-.7.4-.4-1.2c.2-.2.5-.4 1-.5.3-.2.8-.2 1.2-.2.8 0 1.4.2 1.8.6.4.4.6 1 .6 1.6 0 .5-.2 1-.5 1.5l-1.3 1.4-.6.5h2.6V11Z\" fill-rule=\"nonzero\"/></svg>',\n    'table-caption': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><rect width=\"12\" height=\"2\" x=\"3\" y=\"4\" rx=\"1\"/><path d=\"M19 8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-8c0-1.1.9-2 2-2h14ZM5 15v3h6v-3H5Zm14 0h-6v3h6v-3Zm0-5h-6v3h6v-3ZM5 13h6v-3H5v3Z\"/></g></svg>',\n    'table-cell-classes': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path fill-rule=\"nonzero\" d=\"M13 4v9H3V6c0-1.1.9-2 2-2h8Zm-2 2H5v5h6V6Z\"/><path fill-rule=\"nonzero\" d=\"M13 4h6a2 2 0 0 1 2 2v7h-8v-2h6V6h-6V4Z\" opacity=\".2\"/><path d=\"m18 20-2.6 1.6.7-3-2.4-2 3.1-.2 1.2-2.9 1.2 2.9 3.1.2-2.4 2 .7 3z\"/><path fill-rule=\"nonzero\" d=\"M3 13v5c0 1.1.9 2 2 2h8v-7h-2v5H5v-5H3Z\" opacity=\".2\"/></g></svg>',\n    'table-cell-properties': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm-8 9H5v5h6v-5Zm8 0h-6v5h6v-5Zm-8-7H5v5h6V6Z\"/></svg>',\n    'table-cell-select-all': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm0 2H5v12h14V6Z\"/><path d=\"M13 6v5h6v2h-6v5h-2v-5H5v-2h6V6h2Z\" opacity=\".2\"/></g></svg>',\n    'table-cell-select-inner': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm0 2H5v12h14V6Z\" opacity=\".2\"/><path d=\"M13 6v5h6v2h-6v5h-2v-5H5v-2h6V6h2Z\"/></g></svg>',\n    'table-classes': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v7h-8v7H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm-8 9H5v5h6v-5Zm8-7h-6v5h6V6Zm-8 0H5v5h6V6Z\"/><path d=\"m18 20-2.6 1.6.7-3-2.4-2 3.1-.2 1.2-2.9 1.2 2.9 3.1.2-2.4 2 .7 3z\"/></g></svg>',\n    'table-delete-column': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm-4 4h-2V6h-2v2H9V6H5v12h4v-2h2v2h2v-2h2v2h4V6h-4v2Zm.3.5 1 1.2-3 2.3 3 2.3-1 1.2L12 13l-3.3 2.6-1-1.2 3-2.3-3-2.3 1-1.2L12 11l3.3-2.5Z\"/></svg>',\n    'table-delete-row': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm0 2H5v3h2.5v2H5v2h2.5v2H5v3h14v-3h-2.5v-2H19v-2h-2.5V9H19V6Zm-4.7 1.8 1.2 1L13 12l2.6 3.3-1.2 1-2.3-3-2.3 3-1.2-1L11 12 8.5 8.7l1.2-1 2.3 3 2.3-3Z\"/></svg>',\n    'table-delete-table': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><path d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14ZM5 6v12h14V6H5Z\"/><path d=\"m14.4 8.6 1.1 1-2.4 2.4 2.4 2.4-1.1 1.1-2.4-2.4-2.4 2.4-1-1.1 2.3-2.4-2.3-2.4 1-1 2.4 2.3z\"/></g></svg>',\n    'table-insert-column-after': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M20 4c.6 0 1 .4 1 1v2a1 1 0 0 1-2 0V6h-8v12h8v-1a1 1 0 0 1 2 0v2c0 .5-.4 1-.9 1H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h15ZM9 13H5v5h4v-5Zm7-5c.5 0 1 .4 1 .9V11h2a1 1 0 0 1 .1 2H17v2a1 1 0 0 1-2 .1V13h-2a1 1 0 0 1-.1-2H15V9c0-.6.4-1 1-1ZM9 6H5v5h4V6Z\"/></svg>',\n    'table-insert-column-before': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a1 1 0 0 1-1-1v-2a1 1 0 0 1 2 0v1h8V6H5v1a1 1 0 1 1-2 0V5c0-.6.4-1 1-1h15Zm0 9h-4v5h4v-5ZM8 8c.5 0 1 .4 1 .9V11h2a1 1 0 0 1 .1 2H9v2a1 1 0 0 1-2 .1V13H5a1 1 0 0 1-.1-2H7V9c0-.6.4-1 1-1Zm11-2h-4v5h4V6Z\"/></svg>',\n    'table-insert-row-above': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M6 4a1 1 0 1 1 0 2H5v6h14V6h-1a1 1 0 0 1 0-2h2c.6 0 1 .4 1 1v13a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5c0-.6.4-1 1-1h2Zm5 10H5v4h6v-4Zm8 0h-6v4h6v-4ZM12 3c.5 0 1 .4 1 .9V6h2a1 1 0 0 1 0 2h-2v2a1 1 0 0 1-2 .1V8H9a1 1 0 0 1 0-2h2V4c0-.6.4-1 1-1Z\"/></svg>',\n    'table-insert-row-after': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M12 13c.5 0 1 .4 1 .9V16h2a1 1 0 0 1 .1 2H13v2a1 1 0 0 1-2 .1V18H9a1 1 0 0 1-.1-2H11v-2c0-.6.4-1 1-1Zm6 7a1 1 0 0 1 0-2h1v-6H5v6h1a1 1 0 0 1 0 2H4a1 1 0 0 1-1-1V6c0-1.1.9-2 2-2h14a2 2 0 0 1 2 2v13c0 .5-.4 1-.9 1H18ZM11 6H5v4h6V6Zm8 0h-6v4h6V6Z\"/></svg>',\n    'table-left-header': '<svg width=\"24\" height=\"24\"><path d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm0 9h-4v5h4v-5Zm-6 0H9v5h4v-5Zm0-7H9v5h4V6Zm6 0h-4v5h4V6Z\"/></svg>',\n    'table-merge-cells': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14ZM5 15.5V18h3v-2.5H5Zm14-5h-9V18h9v-7.5ZM19 6h-4v2.5h4V6ZM8 6H5v2.5h3V6Zm5 0h-3v2.5h3V6Zm-8 7.5h3v-3H5v3Z\"/></svg>',\n    'table-row-numbering-rtl': '<svg width=\"24\" height=\"24\"><path d=\"M6 4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H6Zm0 12h8v3H6v-3Zm11 0c.6 0 1 .4 1 1v1a1 1 0 0 1-2 0v-1c0-.6.4-1 1-1ZM6 11h8v3H6v-3Zm11 0c.6 0 1 .4 1 1v1a1 1 0 0 1-2 0v-1c0-.6.4-1 1-1ZM6 6h8v3H6V6Zm11 0c.6 0 1 .4 1 1v1a1 1 0 1 1-2 0V7c0-.6.4-1 1-1Z\"/></svg>',\n    'table-row-numbering': '<svg width=\"24\" height=\"24\"><path d=\"M18 4a2 2 0 0 1 2 2v13a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h12Zm0 12h-8v3h8v-3ZM7 16a1 1 0 0 0-1 1v1a1 1 0 0 0 2 0v-1c0-.6-.4-1-1-1Zm11-5h-8v3h8v-3ZM7 11a1 1 0 0 0-1 1v1a1 1 0 0 0 2 0v-1c0-.6-.4-1-1-1Zm11-5h-8v3h8V6ZM7 6a1 1 0 0 0-1 1v1a1 1 0 1 0 2 0V7c0-.6-.4-1-1-1Z\"/></svg>',\n    'table-row-properties': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14ZM5 15v3h6v-3H5Zm14 0h-6v3h6v-3Zm0-9h-6v3h6V6ZM5 9h6V6H5v3Z\"/></svg>',\n    'table-split-cells': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14ZM8 15.5H5V18h3v-2.5Zm11-5h-9V18h9v-7.5Zm-2.5 1 1 1-2 2 2 2-1 1-2-2-2 2-1-1 2-2-2-2 1-1 2 2 2-2Zm-8.5-1H5v3h3v-3ZM19 6h-4v2.5h4V6ZM8 6H5v2.5h3V6Zm5 0h-3v2.5h3V6Z\"/></svg>',\n    'table-top-header': '<svg width=\"24\" height=\"24\"><path d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14Zm-8 11H5v3h6v-3Zm8 0h-6v3h6v-3Zm0-5h-6v3h6v-3ZM5 13h6v-3H5v3Z\"/></svg>',\n    'table': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M19 4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h14ZM5 14v4h6v-4H5Zm14 0h-6v4h6v-4Zm0-6h-6v4h6V8ZM5 12h6V8H5v4Z\"/></svg>',\n    'template-add': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M9 12v4H5a2 2 0 0 0-2 2v3h9.3a6 6 0 0 1-.3-2H5v-1h7a6 6 0 0 1 .8-2H11v-5l-.8-.6a3 3 0 1 1 3.6 0l-.8.6v4.7a6 6 0 0 1 2-1.9V12a5 5 0 1 0-6 0Z\"/><path d=\"M18 15c.5 0 1 .4 1 .9V18h2a1 1 0 0 1 .1 2H19v2a1 1 0 0 1-2 .1V20h-2a1 1 0 0 1-.1-2H17v-2c0-.6.4-1 1-1Z\"/></svg>',\n    'template': '<svg width=\"24\" height=\"24\"><path d=\"M19 19v-1H5v1h14ZM9 16v-4a5 5 0 1 1 6 0v4h4a2 2 0 0 1 2 2v3H3v-3c0-1.1.9-2 2-2h4Zm4 0v-5l.8-.6a3 3 0 1 0-3.6 0l.8.6v5h2Z\" fill-rule=\"nonzero\"/></svg>',\n    'temporary-placeholder': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path d=\"M9 7.6V6h2.5V4.5a.5.5 0 1 1 1 0V6H15v1.6a8 8 0 1 1-6 0Zm-2.6 5.3a.5.5 0 0 0 .3.6c.3 0 .6 0 .6-.3l.1-.2a5 5 0 0 1 3.3-2.8c.3-.1.4-.4.4-.6-.1-.3-.4-.5-.6-.4a6 6 0 0 0-4.1 3.7Z\"/><circle cx=\"14\" cy=\"4\" r=\"1\"/><circle cx=\"12\" cy=\"2\" r=\"1\"/><circle cx=\"10\" cy=\"4\" r=\"1\"/></g></svg>',\n    'text-color': '<svg width=\"24\" height=\"24\"><g fill-rule=\"evenodd\"><path class=\"tox-icon-text-color__color\" d=\"M3 18h18v3H3z\"/><path d=\"M8.7 16h-.8a.5.5 0 0 1-.5-.6l2.7-9c.1-.3.3-.4.5-.4h2.8c.2 0 .4.1.5.4l2.7 9a.5.5 0 0 1-.5.6h-.8a.5.5 0 0 1-.4-.4l-.7-2.2c0-.3-.3-.4-.5-.4h-3.4c-.2 0-.4.1-.5.4l-.7 2.2c0 .3-.2.4-.4.4Zm2.6-7.6-.6 2a.5.5 0 0 0 .5.6h1.6a.5.5 0 0 0 .5-.6l-.6-2c0-.3-.3-.4-.5-.4h-.4c-.2 0-.4.1-.5.4Z\"/></g></svg>',\n    'text-size-decrease': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14 5a1 1 0 1 1 0 2h-4v11a1 1 0 1 1-2 0V7H4a1 1 0 0 1 0-2h10ZM14 12a1 1 0 1 0 0 2h6a1 1 0 1 0 0-2h-6Z\"/></svg>',\n    'text-size-increase': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14 5a1 1 0 1 1 0 2h-4v11a1 1 0 1 1-2 0V7H4a1 1 0 0 1 0-2h10ZM17 9a1 1 0 0 0-1 1v2h-2a1 1 0 1 0 0 2h2v2a1 1 0 1 0 2 0v-2h2a1 1 0 1 0 0-2h-2v-2c0-.6-.4-1-1-1Z\"/></svg>',\n    'toc': '<svg width=\"24\" height=\"24\"><path d=\"M5 5c.6 0 1 .4 1 1s-.4 1-1 1a1 1 0 1 1 0-2Zm3 0h11c.6 0 1 .4 1 1s-.4 1-1 1H8a1 1 0 1 1 0-2Zm-3 8c.6 0 1 .4 1 1s-.4 1-1 1a1 1 0 0 1 0-2Zm3 0h11c.6 0 1 .4 1 1s-.4 1-1 1H8a1 1 0 0 1 0-2Zm0-4c.6 0 1 .4 1 1s-.4 1-1 1a1 1 0 1 1 0-2Zm3 0h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2Zm-3 8c.6 0 1 .4 1 1s-.4 1-1 1a1 1 0 0 1 0-2Zm3 0h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2Z\" fill-rule=\"evenodd\"/></svg>',\n    'translate': '<svg width=\"24\" height=\"24\"><path d=\"m12.7 14.3-.3.7-.4.7-2.2-2.2-3.1 3c-.3.4-.8.4-1 0a.7.7 0 0 1 0-1l3.1-3A12.4 12.4 0 0 1 6.7 9H8a10.1 10.1 0 0 0 1.7 2.4c.5-.5 1-1.1 1.4-1.8l.9-2H4.7a.7.7 0 1 1 0-1.5h4.4v-.7c0-.4.3-.8.7-.8.4 0 .7.4.7.8v.7H15c.4 0 .8.3.8.7 0 .4-.4.8-.8.8h-1.4a12.3 12.3 0 0 1-1 2.4 13.5 13.5 0 0 1-1.7 2.3l1.9 1.8Zm4.3-3 2.7 7.3a.5.5 0 0 1-.4.7 1 1 0 0 1-1-.7l-.6-1.5h-3.4l-.6 1.5a1 1 0 0 1-1 .7.5.5 0 0 1-.4-.7l2.7-7.4a1 1 0 0 1 2 0Zm-2.2 4.4h2.4L16 12.5l-1.2 3.2Z\" fill-rule=\"evenodd\"/></svg>',\n    'typography': '<svg width=\"24\" height=\"24\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M17 5a1 1 0 1 1 0 2h-4v11a1 1 0 1 1-2 0V7H7a1 1 0 0 1 0-2h10Z\"/><path d=\"m17.5 14 .8-1.7 1.7-.8-1.7-.8-.8-1.7-.8 1.7-1.7.8 1.7.8.8 1.7ZM7 14l1 2 2 1-2 1-1 2-1-2-2-1 2-1 1-2Z\"/></svg>',\n    'underline': '<svg width=\"24\" height=\"24\"><path d=\"M16 5c.6 0 1 .4 1 1v5.5a4 4 0 0 1-.4 1.8l-1 1.4a5.3 5.3 0 0 1-5.5 1 5 5 0 0 1-1.6-1c-.5-.4-.8-.9-1.1-1.4a4 4 0 0 1-.4-1.8V6c0-.6.4-1 1-1s1 .4 1 1v5.5c0 .3 0 .6.2 1l.6.7a3.3 3.3 0 0 0 2.2.8 3.4 3.4 0 0 0 2.2-.8c.3-.2.4-.5.6-.8l.2-.9V6c0-.6.4-1 1-1ZM8 17h8c.6 0 1 .4 1 1s-.4 1-1 1H8a1 1 0 0 1 0-2Z\" fill-rule=\"evenodd\"/></svg>',\n    'undo': '<svg width=\"24\" height=\"24\"><path d=\"M6.4 8H12c3.7 0 6.2 2 6.8 5.1.6 2.7-.4 5.6-2.3 6.8a1 1 0 0 1-1-1.8c1.1-.6 1.8-2.7 1.4-4.6-.5-2.1-2.1-3.5-4.9-3.5H6.4l3.3 3.3a1 1 0 1 1-1.4 1.4l-5-5a1 1 0 0 1 0-1.4l5-5a1 1 0 0 1 1.4 1.4L6.4 8Z\" fill-rule=\"nonzero\"/></svg>',\n    'unlink': '<svg width=\"24\" height=\"24\"><path d=\"M6.2 12.3a1 1 0 0 1 1.4 1.4l-2 2a2 2 0 1 0 2.6 2.8l4.8-4.8a1 1 0 0 0 0-1.4 1 1 0 1 1 1.4-1.3 2.9 2.9 0 0 1 0 4L9.6 20a3.9 3.9 0 0 1-5.5-5.5l2-2Zm11.6-.6a1 1 0 0 1-1.4-1.4l2.1-2a2 2 0 1 0-2.7-2.8L11 10.3a1 1 0 0 0 0 1.4A1 1 0 1 1 9.6 13a2.9 2.9 0 0 1 0-4L14.4 4a3.9 3.9 0 0 1 5.5 5.5l-2 2ZM7.6 6.3a.8.8 0 0 1-1 1.1L3.3 4.2a.7.7 0 1 1 1-1l3.2 3.1ZM5.1 8.6a.8.8 0 0 1 0 1.5H3a.8.8 0 0 1 0-1.5H5Zm5-3.5a.8.8 0 0 1-1.5 0V3a.8.8 0 0 1 1.5 0V5Zm6 11.8a.8.8 0 0 1 1-1l3.2 3.2a.8.8 0 0 1-1 1L16 17Zm-2.2 2a.8.8 0 0 1 1.5 0V21a.8.8 0 0 1-1.5 0V19Zm5-3.5a.7.7 0 1 1 0-1.5H21a.8.8 0 0 1 0 1.5H19Z\" fill-rule=\"nonzero\"/></svg>',\n    'unlock': '<svg width=\"24\" height=\"24\"><path d=\"M16 5c.8 0 1.5.3 2.1.9.6.6.9 1.3.9 2.1v3h-2V8a1 1 0 0 0-.3-.7A1 1 0 0 0 16 7h-2a1 1 0 0 0-.7.3 1 1 0 0 0-.3.7v3h.3c.2 0 .3 0 .5.2l.2.6v7.4c0 .3 0 .4-.2.6l-.6.2H4.8c-.3 0-.4 0-.6-.2a.7.7 0 0 1-.2-.6v-7.4c0-.3 0-.4.2-.6l.5-.2H11V8c0-.8.3-1.5.9-2.1.6-.6 1.3-.9 2.1-.9h2Z\" fill-rule=\"evenodd\"/></svg>',\n    'unordered-list': '<svg width=\"24\" height=\"24\"><path d=\"M11 5h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2Zm0 6h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2Zm0 6h8c.6 0 1 .4 1 1s-.4 1-1 1h-8a1 1 0 0 1 0-2ZM4.5 6c0-.4.1-.8.4-1 .3-.4.7-.5 1.1-.5.4 0 .8.1 1 .4.4.3.5.7.5 1.1 0 .4-.1.8-.4 1-.3.4-.7.5-1.1.5-.4 0-.8-.1-1-.4-.4-.3-.5-.7-.5-1.1Zm0 6c0-.4.1-.8.4-1 .3-.4.7-.5 1.1-.5.4 0 .8.1 1 .4.4.3.5.7.5 1.1 0 .4-.1.8-.4 1-.3.4-.7.5-1.1.5-.4 0-.8-.1-1-.4-.4-.3-.5-.7-.5-1.1Zm0 6c0-.4.1-.8.4-1 .3-.4.7-.5 1.1-.5.4 0 .8.1 1 .4.4.3.5.7.5 1.1 0 .4-.1.8-.4 1-.3.4-.7.5-1.1.5-.4 0-.8-.1-1-.4-.4-.3-.5-.7-.5-1.1Z\" fill-rule=\"evenodd\"/></svg>',\n    'unselected': '<svg width=\"24\" height=\"24\"><path fill-rule=\"nonzero\" d=\"M6 4h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2Zm0 1a1 1 0 0 0-1 1v12c0 .6.4 1 1 1h12c.6 0 1-.4 1-1V6c0-.6-.4-1-1-1H6Z\"/></svg>',\n    'upload': '<svg width=\"24\" height=\"24\"><path d=\"M18 19v-2a1 1 0 0 1 2 0v3c0 .6-.4 1-1 1H5a1 1 0 0 1-1-1v-3a1 1 0 0 1 2 0v2h12ZM11 6.4 8.7 8.7a1 1 0 0 1-1.4-1.4l4-4a1 1 0 0 1 1.4 0l4 4a1 1 0 1 1-1.4 1.4L13 6.4V16a1 1 0 0 1-2 0V6.4Z\" fill-rule=\"nonzero\"/></svg>',\n    'user': '<svg width=\"24\" height=\"24\"><path d=\"M12 24a12 12 0 1 1 0-24 12 12 0 0 1 0 24Zm-8.7-5.3a11 11 0 0 0 17.4 0C19.4 16.3 14.6 15 12 15c-2.6 0-7.4 1.3-8.7 3.7ZM12 13c2.2 0 4-2 4-4.5S14.2 4 12 4 8 6 8 8.5 9.8 13 12 13Z\" fill-rule=\"nonzero\"/></svg>',\n    'vertical-align': '<svg width=\"24\" height=\"24\"><g fill-rule=\"nonzero\"><rect width=\"18\" height=\"2\" x=\"3\" y=\"11\" rx=\"1\"/><path d=\"M12 2c.6 0 1 .4 1 1v4l2-1.3a1 1 0 0 1 1.2 1.5l-.1.1-4.1 3-4-3a1 1 0 0 1 1-1.7l2 1.5V3c0-.6.4-1 1-1zm0 11.8 4 2.9a1 1 0 0 1-1 1.7l-2-1.5V21c0 .5-.4 1-.9 1H12a1 1 0 0 1-1-1v-4l-2 1.3a1 1 0 0 1-1.2-.1l-.1-.1a1 1 0 0 1 .1-1.3l.1-.1 4.1-3z\"/></g></svg>',\n    'visualblocks': '<svg width=\"24\" height=\"24\"><path d=\"M9 19v2H7v-2h2Zm-4 0v2a2 2 0 0 1-2-2h2Zm8 0v2h-2v-2h2Zm8 0a2 2 0 0 1-2 2v-2h2Zm-4 0v2h-2v-2h2ZM15 7a1 1 0 0 1 0 2v7a1 1 0 0 1-2 0V9h-1v7a1 1 0 0 1-2 0v-4a2.5 2.5 0 0 1-.2-5H15ZM5 15v2H3v-2h2Zm16 0v2h-2v-2h2ZM5 11v2H3v-2h2Zm16 0v2h-2v-2h2ZM5 7v2H3V7h2Zm16 0v2h-2V7h2ZM5 3v2H3c0-1.1.9-2 2-2Zm8 0v2h-2V3h2Zm6 0a2 2 0 0 1 2 2h-2V3ZM9 3v2H7V3h2Zm8 0v2h-2V3h2Z\" fill-rule=\"evenodd\"/></svg>',\n    'visualchars': '<svg width=\"24\" height=\"24\"><path d=\"M10 5h7a1 1 0 0 1 0 2h-1v11a1 1 0 0 1-2 0V7h-2v11a1 1 0 0 1-2 0v-6c-.5 0-1 0-1.4-.3A3.4 3.4 0 0 1 6.8 10a3.3 3.3 0 0 1 0-2.8 3.4 3.4 0 0 1 1.8-1.8L10 5Z\" fill-rule=\"evenodd\"/></svg>',\n    'warning': '<svg width=\"24\" height=\"24\"><path d=\"M19.8 18.3c.2.5.3.9 0 1.2-.1.3-.5.5-1 .5H5.2c-.5 0-.9-.2-1-.5-.3-.3-.2-.7 0-1.2L11 4.7l.5-.5.5-.2c.2 0 .3 0 .5.2.2 0 .3.3.5.5l6.8 13.6ZM12 18c.3 0 .5-.1.7-.3.2-.2.3-.4.3-.7a1 1 0 0 0-.3-.7 1 1 0 0 0-.7-.3 1 1 0 0 0-.7.3 1 1 0 0 0-.3.7c0 .3.1.5.3.7.2.2.4.3.7.3Zm.7-3 .3-4a1 1 0 0 0-.3-.7 1 1 0 0 0-.7-.3 1 1 0 0 0-.7.3 1 1 0 0 0-.3.7l.3 4h1.4Z\" fill-rule=\"evenodd\"/></svg>',\n    'zoom-in': '<svg width=\"24\" height=\"24\"><path d=\"M16 17.3a8 8 0 1 1 1.4-1.4l4.3 4.4a1 1 0 0 1-1.4 1.4l-4.4-4.3Zm-5-.3a6 6 0 1 0 0-12 6 6 0 0 0 0 12Zm-1-9a1 1 0 0 1 2 0v6a1 1 0 0 1-2 0V8Zm-2 4a1 1 0 0 1 0-2h6a1 1 0 0 1 0 2H8Z\" fill-rule=\"nonzero\"/></svg>',\n    'zoom-out': '<svg width=\"24\" height=\"24\"><path d=\"M16 17.3a8 8 0 1 1 1.4-1.4l4.3 4.4a1 1 0 0 1-1.4 1.4l-4.4-4.3Zm-5-.3a6 6 0 1 0 0-12 6 6 0 0 0 0 12Zm-3-5a1 1 0 0 1 0-2h6a1 1 0 0 1 0 2H8Z\" fill-rule=\"nonzero\"/></svg>',\n  }\n});/**\n * TinyMCE version 6.8.4 (2024-06-19)\n */\n\n(function () {\n    'use strict';\n\n    var global$1 = tinymce.util.Tools.resolve('tinymce.ModelManager');\n\n    const hasProto = (v, constructor, predicate) => {\n      var _a;\n      if (predicate(v, constructor.prototype)) {\n        return true;\n      } else {\n        return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n      }\n    };\n    const typeOf = x => {\n      const t = typeof x;\n      if (x === null) {\n        return 'null';\n      } else if (t === 'object' && Array.isArray(x)) {\n        return 'array';\n      } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n        return 'string';\n      } else {\n        return t;\n      }\n    };\n    const isType$1 = type => value => typeOf(value) === type;\n    const isSimpleType = type => value => typeof value === type;\n    const eq$2 = t => a => t === a;\n    const isString = isType$1('string');\n    const isObject = isType$1('object');\n    const isArray = isType$1('array');\n    const isNull = eq$2(null);\n    const isBoolean = isSimpleType('boolean');\n    const isUndefined = eq$2(undefined);\n    const isNullable = a => a === null || a === undefined;\n    const isNonNullable = a => !isNullable(a);\n    const isFunction = isSimpleType('function');\n    const isNumber = isSimpleType('number');\n\n    const noop = () => {};\n    const compose = (fa, fb) => {\n      return (...args) => {\n        return fa(fb.apply(null, args));\n      };\n    };\n    const compose1 = (fbc, fab) => a => fbc(fab(a));\n    const constant = value => {\n      return () => {\n        return value;\n      };\n    };\n    const identity = x => {\n      return x;\n    };\n    const tripleEquals = (a, b) => {\n      return a === b;\n    };\n    function curry(fn, ...initialArgs) {\n      return (...restArgs) => {\n        const all = initialArgs.concat(restArgs);\n        return fn.apply(null, all);\n      };\n    }\n    const not = f => t => !f(t);\n    const die = msg => {\n      return () => {\n        throw new Error(msg);\n      };\n    };\n    const apply = f => {\n      return f();\n    };\n    const never = constant(false);\n    const always = constant(true);\n\n    class Optional {\n      constructor(tag, value) {\n        this.tag = tag;\n        this.value = value;\n      }\n      static some(value) {\n        return new Optional(true, value);\n      }\n      static none() {\n        return Optional.singletonNone;\n      }\n      fold(onNone, onSome) {\n        if (this.tag) {\n          return onSome(this.value);\n        } else {\n          return onNone();\n        }\n      }\n      isSome() {\n        return this.tag;\n      }\n      isNone() {\n        return !this.tag;\n      }\n      map(mapper) {\n        if (this.tag) {\n          return Optional.some(mapper(this.value));\n        } else {\n          return Optional.none();\n        }\n      }\n      bind(binder) {\n        if (this.tag) {\n          return binder(this.value);\n        } else {\n          return Optional.none();\n        }\n      }\n      exists(predicate) {\n        return this.tag && predicate(this.value);\n      }\n      forall(predicate) {\n        return !this.tag || predicate(this.value);\n      }\n      filter(predicate) {\n        if (!this.tag || predicate(this.value)) {\n          return this;\n        } else {\n          return Optional.none();\n        }\n      }\n      getOr(replacement) {\n        return this.tag ? this.value : replacement;\n      }\n      or(replacement) {\n        return this.tag ? this : replacement;\n      }\n      getOrThunk(thunk) {\n        return this.tag ? this.value : thunk();\n      }\n      orThunk(thunk) {\n        return this.tag ? this : thunk();\n      }\n      getOrDie(message) {\n        if (!this.tag) {\n          throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n        } else {\n          return this.value;\n        }\n      }\n      static from(value) {\n        return isNonNullable(value) ? Optional.some(value) : Optional.none();\n      }\n      getOrNull() {\n        return this.tag ? this.value : null;\n      }\n      getOrUndefined() {\n        return this.value;\n      }\n      each(worker) {\n        if (this.tag) {\n          worker(this.value);\n        }\n      }\n      toArray() {\n        return this.tag ? [this.value] : [];\n      }\n      toString() {\n        return this.tag ? \"some(\".concat(this.value, \")\") : 'none()';\n      }\n    }\n    Optional.singletonNone = new Optional(false);\n\n    const nativeSlice = Array.prototype.slice;\n    const nativeIndexOf = Array.prototype.indexOf;\n    const nativePush = Array.prototype.push;\n    const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t);\n    const contains$2 = (xs, x) => rawIndexOf(xs, x) > -1;\n    const exists = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return true;\n        }\n      }\n      return false;\n    };\n    const range$1 = (num, f) => {\n      const r = [];\n      for (let i = 0; i < num; i++) {\n        r.push(f(i));\n      }\n      return r;\n    };\n    const map$1 = (xs, f) => {\n      const len = xs.length;\n      const r = new Array(len);\n      for (let i = 0; i < len; i++) {\n        const x = xs[i];\n        r[i] = f(x, i);\n      }\n      return r;\n    };\n    const each$2 = (xs, f) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const eachr = (xs, f) => {\n      for (let i = xs.length - 1; i >= 0; i--) {\n        const x = xs[i];\n        f(x, i);\n      }\n    };\n    const partition = (xs, pred) => {\n      const pass = [];\n      const fail = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        const arr = pred(x, i) ? pass : fail;\n        arr.push(x);\n      }\n      return {\n        pass,\n        fail\n      };\n    };\n    const filter$2 = (xs, pred) => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          r.push(x);\n        }\n      }\n      return r;\n    };\n    const foldr = (xs, f, acc) => {\n      eachr(xs, (x, i) => {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    const foldl = (xs, f, acc) => {\n      each$2(xs, (x, i) => {\n        acc = f(acc, x, i);\n      });\n      return acc;\n    };\n    const findUntil = (xs, pred, until) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(x);\n        } else if (until(x, i)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const find$1 = (xs, pred) => {\n      return findUntil(xs, pred, never);\n    };\n    const findIndex = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        if (pred(x, i)) {\n          return Optional.some(i);\n        }\n      }\n      return Optional.none();\n    };\n    const flatten = xs => {\n      const r = [];\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        if (!isArray(xs[i])) {\n          throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n        }\n        nativePush.apply(r, xs[i]);\n      }\n      return r;\n    };\n    const bind$2 = (xs, f) => flatten(map$1(xs, f));\n    const forall = (xs, pred) => {\n      for (let i = 0, len = xs.length; i < len; ++i) {\n        const x = xs[i];\n        if (pred(x, i) !== true) {\n          return false;\n        }\n      }\n      return true;\n    };\n    const reverse = xs => {\n      const r = nativeSlice.call(xs, 0);\n      r.reverse();\n      return r;\n    };\n    const mapToObject = (xs, f) => {\n      const r = {};\n      for (let i = 0, len = xs.length; i < len; i++) {\n        const x = xs[i];\n        r[String(x)] = f(x, i);\n      }\n      return r;\n    };\n    const sort$1 = (xs, comparator) => {\n      const copy = nativeSlice.call(xs, 0);\n      copy.sort(comparator);\n      return copy;\n    };\n    const get$d = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n    const head = xs => get$d(xs, 0);\n    const last$2 = xs => get$d(xs, xs.length - 1);\n    const findMap = (arr, f) => {\n      for (let i = 0; i < arr.length; i++) {\n        const r = f(arr[i], i);\n        if (r.isSome()) {\n          return r;\n        }\n      }\n      return Optional.none();\n    };\n\n    const keys = Object.keys;\n    const hasOwnProperty = Object.hasOwnProperty;\n    const each$1 = (obj, f) => {\n      const props = keys(obj);\n      for (let k = 0, len = props.length; k < len; k++) {\n        const i = props[k];\n        const x = obj[i];\n        f(x, i);\n      }\n    };\n    const map = (obj, f) => {\n      return tupleMap(obj, (x, i) => ({\n        k: i,\n        v: f(x, i)\n      }));\n    };\n    const tupleMap = (obj, f) => {\n      const r = {};\n      each$1(obj, (x, i) => {\n        const tuple = f(x, i);\n        r[tuple.k] = tuple.v;\n      });\n      return r;\n    };\n    const objAcc = r => (x, i) => {\n      r[i] = x;\n    };\n    const internalFilter = (obj, pred, onTrue, onFalse) => {\n      each$1(obj, (x, i) => {\n        (pred(x, i) ? onTrue : onFalse)(x, i);\n      });\n    };\n    const filter$1 = (obj, pred) => {\n      const t = {};\n      internalFilter(obj, pred, objAcc(t), noop);\n      return t;\n    };\n    const mapToArray = (obj, f) => {\n      const r = [];\n      each$1(obj, (value, name) => {\n        r.push(f(value, name));\n      });\n      return r;\n    };\n    const values = obj => {\n      return mapToArray(obj, identity);\n    };\n    const get$c = (obj, key) => {\n      return has$1(obj, key) ? Optional.from(obj[key]) : Optional.none();\n    };\n    const has$1 = (obj, key) => hasOwnProperty.call(obj, key);\n    const hasNonNullableKey = (obj, key) => has$1(obj, key) && obj[key] !== undefined && obj[key] !== null;\n    const isEmpty = r => {\n      for (const x in r) {\n        if (hasOwnProperty.call(r, x)) {\n          return false;\n        }\n      }\n      return true;\n    };\n\n    const Global = typeof window !== 'undefined' ? window : Function('return this;')();\n\n    const path = (parts, scope) => {\n      let o = scope !== undefined && scope !== null ? scope : Global;\n      for (let i = 0; i < parts.length && o !== undefined && o !== null; ++i) {\n        o = o[parts[i]];\n      }\n      return o;\n    };\n    const resolve$2 = (p, scope) => {\n      const parts = p.split('.');\n      return path(parts, scope);\n    };\n\n    const unsafe = (name, scope) => {\n      return resolve$2(name, scope);\n    };\n    const getOrDie = (name, scope) => {\n      const actual = unsafe(name, scope);\n      if (actual === undefined || actual === null) {\n        throw new Error(name + ' not available on this browser');\n      }\n      return actual;\n    };\n\n    const getPrototypeOf = Object.getPrototypeOf;\n    const sandHTMLElement = scope => {\n      return getOrDie('HTMLElement', scope);\n    };\n    const isPrototypeOf = x => {\n      const scope = resolve$2('ownerDocument.defaultView', x);\n      return isObject(x) && (sandHTMLElement(scope).prototype.isPrototypeOf(x) || /^HTML\\w*Element$/.test(getPrototypeOf(x).constructor.name));\n    };\n\n    const COMMENT = 8;\n    const DOCUMENT = 9;\n    const DOCUMENT_FRAGMENT = 11;\n    const ELEMENT = 1;\n    const TEXT = 3;\n\n    const name = element => {\n      const r = element.dom.nodeName;\n      return r.toLowerCase();\n    };\n    const type = element => element.dom.nodeType;\n    const isType = t => element => type(element) === t;\n    const isComment = element => type(element) === COMMENT || name(element) === '#comment';\n    const isHTMLElement = element => isElement(element) && isPrototypeOf(element.dom);\n    const isElement = isType(ELEMENT);\n    const isText = isType(TEXT);\n    const isDocument = isType(DOCUMENT);\n    const isDocumentFragment = isType(DOCUMENT_FRAGMENT);\n    const isTag = tag => e => isElement(e) && name(e) === tag;\n\n    const rawSet = (dom, key, value) => {\n      if (isString(value) || isBoolean(value) || isNumber(value)) {\n        dom.setAttribute(key, value + '');\n      } else {\n        console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n        throw new Error('Attribute value was not simple');\n      }\n    };\n    const set$2 = (element, key, value) => {\n      rawSet(element.dom, key, value);\n    };\n    const setAll$1 = (element, attrs) => {\n      const dom = element.dom;\n      each$1(attrs, (v, k) => {\n        rawSet(dom, k, v);\n      });\n    };\n    const setOptions = (element, attrs) => {\n      each$1(attrs, (v, k) => {\n        v.fold(() => {\n          remove$7(element, k);\n        }, value => {\n          rawSet(element.dom, k, value);\n        });\n      });\n    };\n    const get$b = (element, key) => {\n      const v = element.dom.getAttribute(key);\n      return v === null ? undefined : v;\n    };\n    const getOpt = (element, key) => Optional.from(get$b(element, key));\n    const remove$7 = (element, key) => {\n      element.dom.removeAttribute(key);\n    };\n    const clone$2 = element => foldl(element.dom.attributes, (acc, attr) => {\n      acc[attr.name] = attr.value;\n      return acc;\n    }, {});\n\n    const fromHtml$1 = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      if (!div.hasChildNodes() || div.childNodes.length > 1) {\n        const message = 'HTML does not have a single root node';\n        console.error(message, html);\n        throw new Error(message);\n      }\n      return fromDom$1(div.childNodes[0]);\n    };\n    const fromTag = (tag, scope) => {\n      const doc = scope || document;\n      const node = doc.createElement(tag);\n      return fromDom$1(node);\n    };\n    const fromText = (text, scope) => {\n      const doc = scope || document;\n      const node = doc.createTextNode(text);\n      return fromDom$1(node);\n    };\n    const fromDom$1 = node => {\n      if (node === null || node === undefined) {\n        throw new Error('Node cannot be null or undefined');\n      }\n      return {\n        dom: node\n      };\n    };\n    const fromPoint$1 = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom$1);\n    const SugarElement = {\n      fromHtml: fromHtml$1,\n      fromTag,\n      fromText,\n      fromDom: fromDom$1,\n      fromPoint: fromPoint$1\n    };\n\n    const is$2 = (element, selector) => {\n      const dom = element.dom;\n      if (dom.nodeType !== ELEMENT) {\n        return false;\n      } else {\n        const elem = dom;\n        if (elem.matches !== undefined) {\n          return elem.matches(selector);\n        } else if (elem.msMatchesSelector !== undefined) {\n          return elem.msMatchesSelector(selector);\n        } else if (elem.webkitMatchesSelector !== undefined) {\n          return elem.webkitMatchesSelector(selector);\n        } else if (elem.mozMatchesSelector !== undefined) {\n          return elem.mozMatchesSelector(selector);\n        } else {\n          throw new Error('Browser lacks native selectors');\n        }\n      }\n    };\n    const bypassSelector = dom => dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;\n    const all$1 = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? [] : map$1(base.querySelectorAll(selector), SugarElement.fromDom);\n    };\n    const one = (selector, scope) => {\n      const base = scope === undefined ? document : scope.dom;\n      return bypassSelector(base) ? Optional.none() : Optional.from(base.querySelector(selector)).map(SugarElement.fromDom);\n    };\n\n    const eq$1 = (e1, e2) => e1.dom === e2.dom;\n    const contains$1 = (e1, e2) => {\n      const d1 = e1.dom;\n      const d2 = e2.dom;\n      return d1 === d2 ? false : d1.contains(d2);\n    };\n    const is$1 = is$2;\n\n    const owner = element => SugarElement.fromDom(element.dom.ownerDocument);\n    const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos);\n    const documentElement = element => SugarElement.fromDom(documentOrOwner(element).dom.documentElement);\n    const defaultView = element => SugarElement.fromDom(documentOrOwner(element).dom.defaultView);\n    const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n    const parentElement = element => Optional.from(element.dom.parentElement).map(SugarElement.fromDom);\n    const parents = (element, isRoot) => {\n      const stop = isFunction(isRoot) ? isRoot : never;\n      let dom = element.dom;\n      const ret = [];\n      while (dom.parentNode !== null && dom.parentNode !== undefined) {\n        const rawParent = dom.parentNode;\n        const p = SugarElement.fromDom(rawParent);\n        ret.push(p);\n        if (stop(p) === true) {\n          break;\n        } else {\n          dom = rawParent;\n        }\n      }\n      return ret;\n    };\n    const prevSibling = element => Optional.from(element.dom.previousSibling).map(SugarElement.fromDom);\n    const nextSibling = element => Optional.from(element.dom.nextSibling).map(SugarElement.fromDom);\n    const children$2 = element => map$1(element.dom.childNodes, SugarElement.fromDom);\n    const child$2 = (element, index) => {\n      const cs = element.dom.childNodes;\n      return Optional.from(cs[index]).map(SugarElement.fromDom);\n    };\n    const firstChild = element => child$2(element, 0);\n\n    const before$3 = (marker, element) => {\n      const parent$1 = parent(marker);\n      parent$1.each(v => {\n        v.dom.insertBefore(element.dom, marker.dom);\n      });\n    };\n    const after$5 = (marker, element) => {\n      const sibling = nextSibling(marker);\n      sibling.fold(() => {\n        const parent$1 = parent(marker);\n        parent$1.each(v => {\n          append$1(v, element);\n        });\n      }, v => {\n        before$3(v, element);\n      });\n    };\n    const prepend = (parent, element) => {\n      const firstChild$1 = firstChild(parent);\n      firstChild$1.fold(() => {\n        append$1(parent, element);\n      }, v => {\n        parent.dom.insertBefore(element.dom, v.dom);\n      });\n    };\n    const append$1 = (parent, element) => {\n      parent.dom.appendChild(element.dom);\n    };\n    const appendAt = (parent, element, index) => {\n      child$2(parent, index).fold(() => {\n        append$1(parent, element);\n      }, v => {\n        before$3(v, element);\n      });\n    };\n    const wrap = (element, wrapper) => {\n      before$3(element, wrapper);\n      append$1(wrapper, element);\n    };\n\n    const after$4 = (marker, elements) => {\n      each$2(elements, (x, i) => {\n        const e = i === 0 ? marker : elements[i - 1];\n        after$5(e, x);\n      });\n    };\n    const append = (parent, elements) => {\n      each$2(elements, x => {\n        append$1(parent, x);\n      });\n    };\n\n    const empty = element => {\n      element.dom.textContent = '';\n      each$2(children$2(element), rogue => {\n        remove$6(rogue);\n      });\n    };\n    const remove$6 = element => {\n      const dom = element.dom;\n      if (dom.parentNode !== null) {\n        dom.parentNode.removeChild(dom);\n      }\n    };\n    const unwrap = wrapper => {\n      const children = children$2(wrapper);\n      if (children.length > 0) {\n        after$4(wrapper, children);\n      }\n      remove$6(wrapper);\n    };\n\n    const clone$1 = (original, isDeep) => SugarElement.fromDom(original.dom.cloneNode(isDeep));\n    const shallow = original => clone$1(original, false);\n    const deep = original => clone$1(original, true);\n    const shallowAs = (original, tag) => {\n      const nu = SugarElement.fromTag(tag);\n      const attributes = clone$2(original);\n      setAll$1(nu, attributes);\n      return nu;\n    };\n    const copy$2 = (original, tag) => {\n      const nu = shallowAs(original, tag);\n      const cloneChildren = children$2(deep(original));\n      append(nu, cloneChildren);\n      return nu;\n    };\n    const mutate$1 = (original, tag) => {\n      const nu = shallowAs(original, tag);\n      after$5(original, nu);\n      const children = children$2(original);\n      append(nu, children);\n      remove$6(original);\n      return nu;\n    };\n\n    const validSectionList = ['tfoot', 'thead', 'tbody', 'colgroup'];\n    const isValidSection = parentName => contains$2(validSectionList, parentName);\n    const grid = (rows, columns) => ({\n      rows,\n      columns\n    });\n    const address = (row, column) => ({\n      row,\n      column\n    });\n    const detail = (element, rowspan, colspan) => ({\n      element,\n      rowspan,\n      colspan\n    });\n    const detailnew = (element, rowspan, colspan, isNew) => ({\n      element,\n      rowspan,\n      colspan,\n      isNew\n    });\n    const extended = (element, rowspan, colspan, row, column, isLocked) => ({\n      element,\n      rowspan,\n      colspan,\n      row,\n      column,\n      isLocked\n    });\n    const rowdetail = (element, cells, section) => ({\n      element,\n      cells,\n      section\n    });\n    const rowdetailnew = (element, cells, section, isNew) => ({\n      element,\n      cells,\n      section,\n      isNew\n    });\n    const elementnew = (element, isNew, isLocked) => ({\n      element,\n      isNew,\n      isLocked\n    });\n    const rowcells = (element, cells, section, isNew) => ({\n      element,\n      cells,\n      section,\n      isNew\n    });\n    const bounds = (startRow, startCol, finishRow, finishCol) => ({\n      startRow,\n      startCol,\n      finishRow,\n      finishCol\n    });\n    const columnext = (element, colspan, column) => ({\n      element,\n      colspan,\n      column\n    });\n    const colgroup = (element, columns) => ({\n      element,\n      columns\n    });\n\n    const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host);\n    const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n    const isSupported$1 = constant(supported);\n    const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;\n    const getShadowRoot = e => {\n      const r = getRootNode(e);\n      return isShadowRoot(r) ? Optional.some(r) : Optional.none();\n    };\n    const getShadowHost = e => SugarElement.fromDom(e.dom.host);\n    const getOriginalEventTarget = event => {\n      if (isSupported$1() && isNonNullable(event.target)) {\n        const el = SugarElement.fromDom(event.target);\n        if (isElement(el) && isOpenShadowHost(el)) {\n          if (event.composed && event.composedPath) {\n            const composedPath = event.composedPath();\n            if (composedPath) {\n              return head(composedPath);\n            }\n          }\n        }\n      }\n      return Optional.from(event.target);\n    };\n    const isOpenShadowHost = element => isNonNullable(element.dom.shadowRoot);\n\n    const inBody = element => {\n      const dom = isText(element) ? element.dom.parentNode : element.dom;\n      if (dom === undefined || dom === null || dom.ownerDocument === null) {\n        return false;\n      }\n      const doc = dom.ownerDocument;\n      return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost));\n    };\n    const body$1 = () => getBody$1(SugarElement.fromDom(document));\n    const getBody$1 = doc => {\n      const b = doc.dom.body;\n      if (b === null || b === undefined) {\n        throw new Error('Body is not available yet');\n      }\n      return SugarElement.fromDom(b);\n    };\n\n    const ancestors$4 = (scope, predicate, isRoot) => filter$2(parents(scope, isRoot), predicate);\n    const children$1 = (scope, predicate) => filter$2(children$2(scope), predicate);\n    const descendants$1 = (scope, predicate) => {\n      let result = [];\n      each$2(children$2(scope), x => {\n        if (predicate(x)) {\n          result = result.concat([x]);\n        }\n        result = result.concat(descendants$1(x, predicate));\n      });\n      return result;\n    };\n\n    const ancestors$3 = (scope, selector, isRoot) => ancestors$4(scope, e => is$2(e, selector), isRoot);\n    const children = (scope, selector) => children$1(scope, e => is$2(e, selector));\n    const descendants = (scope, selector) => all$1(selector, scope);\n\n    var ClosestOrAncestor = (is, ancestor, scope, a, isRoot) => {\n      if (is(scope, a)) {\n        return Optional.some(scope);\n      } else if (isFunction(isRoot) && isRoot(scope)) {\n        return Optional.none();\n      } else {\n        return ancestor(scope, a, isRoot);\n      }\n    };\n\n    const ancestor$2 = (scope, predicate, isRoot) => {\n      let element = scope.dom;\n      const stop = isFunction(isRoot) ? isRoot : never;\n      while (element.parentNode) {\n        element = element.parentNode;\n        const el = SugarElement.fromDom(element);\n        if (predicate(el)) {\n          return Optional.some(el);\n        } else if (stop(el)) {\n          break;\n        }\n      }\n      return Optional.none();\n    };\n    const closest$2 = (scope, predicate, isRoot) => {\n      const is = (s, test) => test(s);\n      return ClosestOrAncestor(is, ancestor$2, scope, predicate, isRoot);\n    };\n    const child$1 = (scope, predicate) => {\n      const pred = node => predicate(SugarElement.fromDom(node));\n      const result = find$1(scope.dom.childNodes, pred);\n      return result.map(SugarElement.fromDom);\n    };\n    const descendant$1 = (scope, predicate) => {\n      const descend = node => {\n        for (let i = 0; i < node.childNodes.length; i++) {\n          const child = SugarElement.fromDom(node.childNodes[i]);\n          if (predicate(child)) {\n            return Optional.some(child);\n          }\n          const res = descend(node.childNodes[i]);\n          if (res.isSome()) {\n            return res;\n          }\n        }\n        return Optional.none();\n      };\n      return descend(scope.dom);\n    };\n\n    const ancestor$1 = (scope, selector, isRoot) => ancestor$2(scope, e => is$2(e, selector), isRoot);\n    const child = (scope, selector) => child$1(scope, e => is$2(e, selector));\n    const descendant = (scope, selector) => one(selector, scope);\n    const closest$1 = (scope, selector, isRoot) => {\n      const is = (element, selector) => is$2(element, selector);\n      return ClosestOrAncestor(is, ancestor$1, scope, selector, isRoot);\n    };\n\n    const is = (lhs, rhs, comparator = tripleEquals) => lhs.exists(left => comparator(left, rhs));\n    const cat = arr => {\n      const r = [];\n      const push = x => {\n        r.push(x);\n      };\n      for (let i = 0; i < arr.length; i++) {\n        arr[i].each(push);\n      }\n      return r;\n    };\n    const bindFrom = (a, f) => a !== undefined && a !== null ? f(a) : Optional.none();\n    const someIf = (b, a) => b ? Optional.some(a) : Optional.none();\n\n    const checkRange = (str, substr, start) => substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr;\n    const contains = (str, substr, start = 0, end) => {\n      const idx = str.indexOf(substr, start);\n      if (idx !== -1) {\n        return isUndefined(end) ? true : idx + substr.length <= end;\n      } else {\n        return false;\n      }\n    };\n    const startsWith = (str, prefix) => {\n      return checkRange(str, prefix, 0);\n    };\n    const endsWith = (str, suffix) => {\n      return checkRange(str, suffix, str.length - suffix.length);\n    };\n    const blank = r => s => s.replace(r, '');\n    const trim = blank(/^\\s+|\\s+$/g);\n    const isNotEmpty = s => s.length > 0;\n    const toFloat = value => {\n      const num = parseFloat(value);\n      return isNaN(num) ? Optional.none() : Optional.some(num);\n    };\n\n    const isSupported = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n\n    const internalSet = (dom, property, value) => {\n      if (!isString(value)) {\n        console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);\n        throw new Error('CSS value must be a string: ' + value);\n      }\n      if (isSupported(dom)) {\n        dom.style.setProperty(property, value);\n      }\n    };\n    const internalRemove = (dom, property) => {\n      if (isSupported(dom)) {\n        dom.style.removeProperty(property);\n      }\n    };\n    const set$1 = (element, property, value) => {\n      const dom = element.dom;\n      internalSet(dom, property, value);\n    };\n    const setAll = (element, css) => {\n      const dom = element.dom;\n      each$1(css, (v, k) => {\n        internalSet(dom, k, v);\n      });\n    };\n    const get$a = (element, property) => {\n      const dom = element.dom;\n      const styles = window.getComputedStyle(dom);\n      const r = styles.getPropertyValue(property);\n      return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r;\n    };\n    const getUnsafeProperty = (dom, property) => isSupported(dom) ? dom.style.getPropertyValue(property) : '';\n    const getRaw$2 = (element, property) => {\n      const dom = element.dom;\n      const raw = getUnsafeProperty(dom, property);\n      return Optional.from(raw).filter(r => r.length > 0);\n    };\n    const remove$5 = (element, property) => {\n      const dom = element.dom;\n      internalRemove(dom, property);\n      if (is(getOpt(element, 'style').map(trim), '')) {\n        remove$7(element, 'style');\n      }\n    };\n    const copy$1 = (source, target) => {\n      const sourceDom = source.dom;\n      const targetDom = target.dom;\n      if (isSupported(sourceDom) && isSupported(targetDom)) {\n        targetDom.style.cssText = sourceDom.style.cssText;\n      }\n    };\n\n    const getAttrValue = (cell, name, fallback = 0) => getOpt(cell, name).map(value => parseInt(value, 10)).getOr(fallback);\n    const getSpan = (cell, type) => getAttrValue(cell, type, 1);\n    const hasColspan = cellOrCol => {\n      if (isTag('col')(cellOrCol)) {\n        return getAttrValue(cellOrCol, 'span', 1) > 1;\n      } else {\n        return getSpan(cellOrCol, 'colspan') > 1;\n      }\n    };\n    const hasRowspan = cell => getSpan(cell, 'rowspan') > 1;\n    const getCssValue = (element, property) => parseInt(get$a(element, property), 10);\n    const minWidth = constant(10);\n    const minHeight = constant(10);\n\n    const firstLayer = (scope, selector) => {\n      return filterFirstLayer(scope, selector, always);\n    };\n    const filterFirstLayer = (scope, selector, predicate) => {\n      return bind$2(children$2(scope), x => {\n        if (is$2(x, selector)) {\n          return predicate(x) ? [x] : [];\n        } else {\n          return filterFirstLayer(x, selector, predicate);\n        }\n      });\n    };\n\n    const lookup = (tags, element, isRoot = never) => {\n      if (isRoot(element)) {\n        return Optional.none();\n      }\n      if (contains$2(tags, name(element))) {\n        return Optional.some(element);\n      }\n      const isRootOrUpperTable = elm => is$2(elm, 'table') || isRoot(elm);\n      return ancestor$1(element, tags.join(','), isRootOrUpperTable);\n    };\n    const cell = (element, isRoot) => lookup(['td', 'th'], element, isRoot);\n    const cells$1 = ancestor => firstLayer(ancestor, 'th,td');\n    const columns$1 = ancestor => {\n      if (is$2(ancestor, 'colgroup')) {\n        return children(ancestor, 'col');\n      } else {\n        return bind$2(columnGroups(ancestor), columnGroup => children(columnGroup, 'col'));\n      }\n    };\n    const table = (element, isRoot) => closest$1(element, 'table', isRoot);\n    const rows$1 = ancestor => firstLayer(ancestor, 'tr');\n    const columnGroups = ancestor => table(ancestor).fold(constant([]), table => children(table, 'colgroup'));\n\n    const fromRowsOrColGroups = (elems, getSection) => map$1(elems, row => {\n      if (name(row) === 'colgroup') {\n        const cells = map$1(columns$1(row), column => {\n          const colspan = getAttrValue(column, 'span', 1);\n          return detail(column, 1, colspan);\n        });\n        return rowdetail(row, cells, 'colgroup');\n      } else {\n        const cells = map$1(cells$1(row), cell => {\n          const rowspan = getAttrValue(cell, 'rowspan', 1);\n          const colspan = getAttrValue(cell, 'colspan', 1);\n          return detail(cell, rowspan, colspan);\n        });\n        return rowdetail(row, cells, getSection(row));\n      }\n    });\n    const getParentSection = group => parent(group).map(parent => {\n      const parentName = name(parent);\n      return isValidSection(parentName) ? parentName : 'tbody';\n    }).getOr('tbody');\n    const fromTable$1 = table => {\n      const rows = rows$1(table);\n      const columnGroups$1 = columnGroups(table);\n      const elems = [...columnGroups$1, ...rows];\n      return fromRowsOrColGroups(elems, getParentSection);\n    };\n    const fromPastedRows = (elems, section) => fromRowsOrColGroups(elems, () => section);\n\n    const cached = f => {\n      let called = false;\n      let r;\n      return (...args) => {\n        if (!called) {\n          called = true;\n          r = f.apply(null, args);\n        }\n        return r;\n      };\n    };\n\n    const DeviceType = (os, browser, userAgent, mediaMatch) => {\n      const isiPad = os.isiOS() && /ipad/i.test(userAgent) === true;\n      const isiPhone = os.isiOS() && !isiPad;\n      const isMobile = os.isiOS() || os.isAndroid();\n      const isTouch = isMobile || mediaMatch('(pointer:coarse)');\n      const isTablet = isiPad || !isiPhone && isMobile && mediaMatch('(min-device-width:768px)');\n      const isPhone = isiPhone || isMobile && !isTablet;\n      const iOSwebview = browser.isSafari() && os.isiOS() && /safari/i.test(userAgent) === false;\n      const isDesktop = !isPhone && !isTablet && !iOSwebview;\n      return {\n        isiPad: constant(isiPad),\n        isiPhone: constant(isiPhone),\n        isTablet: constant(isTablet),\n        isPhone: constant(isPhone),\n        isTouch: constant(isTouch),\n        isAndroid: os.isAndroid,\n        isiOS: os.isiOS,\n        isWebView: constant(iOSwebview),\n        isDesktop: constant(isDesktop)\n      };\n    };\n\n    const firstMatch = (regexes, s) => {\n      for (let i = 0; i < regexes.length; i++) {\n        const x = regexes[i];\n        if (x.test(s)) {\n          return x;\n        }\n      }\n      return undefined;\n    };\n    const find = (regexes, agent) => {\n      const r = firstMatch(regexes, agent);\n      if (!r) {\n        return {\n          major: 0,\n          minor: 0\n        };\n      }\n      const group = i => {\n        return Number(agent.replace(r, '$' + i));\n      };\n      return nu$2(group(1), group(2));\n    };\n    const detect$5 = (versionRegexes, agent) => {\n      const cleanedAgent = String(agent).toLowerCase();\n      if (versionRegexes.length === 0) {\n        return unknown$2();\n      }\n      return find(versionRegexes, cleanedAgent);\n    };\n    const unknown$2 = () => {\n      return nu$2(0, 0);\n    };\n    const nu$2 = (major, minor) => {\n      return {\n        major,\n        minor\n      };\n    };\n    const Version = {\n      nu: nu$2,\n      detect: detect$5,\n      unknown: unknown$2\n    };\n\n    const detectBrowser$1 = (browsers, userAgentData) => {\n      return findMap(userAgentData.brands, uaBrand => {\n        const lcBrand = uaBrand.brand.toLowerCase();\n        return find$1(browsers, browser => {\n          var _a;\n          return lcBrand === ((_a = browser.brand) === null || _a === void 0 ? void 0 : _a.toLowerCase());\n        }).map(info => ({\n          current: info.name,\n          version: Version.nu(parseInt(uaBrand.version, 10), 0)\n        }));\n      });\n    };\n\n    const detect$4 = (candidates, userAgent) => {\n      const agent = String(userAgent).toLowerCase();\n      return find$1(candidates, candidate => {\n        return candidate.search(agent);\n      });\n    };\n    const detectBrowser = (browsers, userAgent) => {\n      return detect$4(browsers, userAgent).map(browser => {\n        const version = Version.detect(browser.versionRegexes, userAgent);\n        return {\n          current: browser.name,\n          version\n        };\n      });\n    };\n    const detectOs = (oses, userAgent) => {\n      return detect$4(oses, userAgent).map(os => {\n        const version = Version.detect(os.versionRegexes, userAgent);\n        return {\n          current: os.name,\n          version\n        };\n      });\n    };\n\n    const normalVersionRegex = /.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/;\n    const checkContains = target => {\n      return uastring => {\n        return contains(uastring, target);\n      };\n    };\n    const browsers = [{\n      name: 'Edge',\n      versionRegexes: [/.*?edge\\/ ?([0-9]+)\\.([0-9]+)$/],\n      search: uastring => {\n        return contains(uastring, 'edge/') && contains(uastring, 'chrome') && contains(uastring, 'safari') && contains(uastring, 'applewebkit');\n      }\n    }, {\n      name: 'Chromium',\n      brand: 'Chromium',\n      versionRegexes: [/.*?chrome\\/([0-9]+)\\.([0-9]+).*/, normalVersionRegex],\n      search: uastring => {\n        return contains(uastring, 'chrome') && !contains(uastring, 'chromeframe');\n      }\n    }, {\n      name: 'IE',\n      versionRegexes: [/.*?msie\\ ?([0-9]+)\\.([0-9]+).*/, /.*?rv:([0-9]+)\\.([0-9]+).*/],\n      search: uastring => {\n        return contains(uastring, 'msie') || contains(uastring, 'trident');\n      }\n    }, {\n      name: 'Opera',\n      versionRegexes: [normalVersionRegex, /.*?opera\\/([0-9]+)\\.([0-9]+).*/],\n      search: checkContains('opera')\n    }, {\n      name: 'Firefox',\n      versionRegexes: [/.*?firefox\\/\\ ?([0-9]+)\\.([0-9]+).*/],\n      search: checkContains('firefox')\n    }, {\n      name: 'Safari',\n      versionRegexes: [normalVersionRegex, /.*?cpu os ([0-9]+)_([0-9]+).*/],\n      search: uastring => {\n        return (contains(uastring, 'safari') || contains(uastring, 'mobile/')) && contains(uastring, 'applewebkit');\n      }\n    }];\n    const oses = [{\n      name: 'Windows',\n      search: checkContains('win'),\n      versionRegexes: [/.*?windows\\ nt\\ ?([0-9]+)\\.([0-9]+).*/]\n    }, {\n      name: 'iOS',\n      search: uastring => {\n        return contains(uastring, 'iphone') || contains(uastring, 'ipad');\n      },\n      versionRegexes: [/.*?version\\/\\ ?([0-9]+)\\.([0-9]+).*/, /.*cpu os ([0-9]+)_([0-9]+).*/, /.*cpu iphone os ([0-9]+)_([0-9]+).*/]\n    }, {\n      name: 'Android',\n      search: checkContains('android'),\n      versionRegexes: [/.*?android\\ ?([0-9]+)\\.([0-9]+).*/]\n    }, {\n      name: 'macOS',\n      search: checkContains('mac os x'),\n      versionRegexes: [/.*?mac\\ os\\ x\\ ?([0-9]+)_([0-9]+).*/]\n    }, {\n      name: 'Linux',\n      search: checkContains('linux'),\n      versionRegexes: []\n    }, {\n      name: 'Solaris',\n      search: checkContains('sunos'),\n      versionRegexes: []\n    }, {\n      name: 'FreeBSD',\n      search: checkContains('freebsd'),\n      versionRegexes: []\n    }, {\n      name: 'ChromeOS',\n      search: checkContains('cros'),\n      versionRegexes: [/.*?chrome\\/([0-9]+)\\.([0-9]+).*/]\n    }];\n    const PlatformInfo = {\n      browsers: constant(browsers),\n      oses: constant(oses)\n    };\n\n    const edge = 'Edge';\n    const chromium = 'Chromium';\n    const ie = 'IE';\n    const opera = 'Opera';\n    const firefox = 'Firefox';\n    const safari = 'Safari';\n    const unknown$1 = () => {\n      return nu$1({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    const nu$1 = info => {\n      const current = info.current;\n      const version = info.version;\n      const isBrowser = name => () => current === name;\n      return {\n        current,\n        version,\n        isEdge: isBrowser(edge),\n        isChromium: isBrowser(chromium),\n        isIE: isBrowser(ie),\n        isOpera: isBrowser(opera),\n        isFirefox: isBrowser(firefox),\n        isSafari: isBrowser(safari)\n      };\n    };\n    const Browser = {\n      unknown: unknown$1,\n      nu: nu$1,\n      edge: constant(edge),\n      chromium: constant(chromium),\n      ie: constant(ie),\n      opera: constant(opera),\n      firefox: constant(firefox),\n      safari: constant(safari)\n    };\n\n    const windows = 'Windows';\n    const ios = 'iOS';\n    const android = 'Android';\n    const linux = 'Linux';\n    const macos = 'macOS';\n    const solaris = 'Solaris';\n    const freebsd = 'FreeBSD';\n    const chromeos = 'ChromeOS';\n    const unknown = () => {\n      return nu({\n        current: undefined,\n        version: Version.unknown()\n      });\n    };\n    const nu = info => {\n      const current = info.current;\n      const version = info.version;\n      const isOS = name => () => current === name;\n      return {\n        current,\n        version,\n        isWindows: isOS(windows),\n        isiOS: isOS(ios),\n        isAndroid: isOS(android),\n        isMacOS: isOS(macos),\n        isLinux: isOS(linux),\n        isSolaris: isOS(solaris),\n        isFreeBSD: isOS(freebsd),\n        isChromeOS: isOS(chromeos)\n      };\n    };\n    const OperatingSystem = {\n      unknown,\n      nu,\n      windows: constant(windows),\n      ios: constant(ios),\n      android: constant(android),\n      linux: constant(linux),\n      macos: constant(macos),\n      solaris: constant(solaris),\n      freebsd: constant(freebsd),\n      chromeos: constant(chromeos)\n    };\n\n    const detect$3 = (userAgent, userAgentDataOpt, mediaMatch) => {\n      const browsers = PlatformInfo.browsers();\n      const oses = PlatformInfo.oses();\n      const browser = userAgentDataOpt.bind(userAgentData => detectBrowser$1(browsers, userAgentData)).orThunk(() => detectBrowser(browsers, userAgent)).fold(Browser.unknown, Browser.nu);\n      const os = detectOs(oses, userAgent).fold(OperatingSystem.unknown, OperatingSystem.nu);\n      const deviceType = DeviceType(os, browser, userAgent, mediaMatch);\n      return {\n        browser,\n        os,\n        deviceType\n      };\n    };\n    const PlatformDetection = {\n      detect: detect$3\n    };\n\n    const mediaMatch = query => window.matchMedia(query).matches;\n    let platform = cached(() => PlatformDetection.detect(navigator.userAgent, Optional.from(navigator.userAgentData), mediaMatch));\n    const detect$2 = () => platform();\n\n    const Dimension = (name, getOffset) => {\n      const set = (element, h) => {\n        if (!isNumber(h) && !h.match(/^[0-9]+$/)) {\n          throw new Error(name + '.set accepts only positive integer values. Value was ' + h);\n        }\n        const dom = element.dom;\n        if (isSupported(dom)) {\n          dom.style[name] = h + 'px';\n        }\n      };\n      const get = element => {\n        const r = getOffset(element);\n        if (r <= 0 || r === null) {\n          const css = get$a(element, name);\n          return parseFloat(css) || 0;\n        }\n        return r;\n      };\n      const getOuter = get;\n      const aggregate = (element, properties) => foldl(properties, (acc, property) => {\n        const val = get$a(element, property);\n        const value = val === undefined ? 0 : parseInt(val, 10);\n        return isNaN(value) ? acc : acc + value;\n      }, 0);\n      const max = (element, value, properties) => {\n        const cumulativeInclusions = aggregate(element, properties);\n        const absoluteMax = value > cumulativeInclusions ? value - cumulativeInclusions : 0;\n        return absoluteMax;\n      };\n      return {\n        set,\n        get,\n        getOuter,\n        aggregate,\n        max\n      };\n    };\n\n    const toNumber = (px, fallback) => toFloat(px).getOr(fallback);\n    const getProp = (element, name, fallback) => toNumber(get$a(element, name), fallback);\n    const calcContentBoxSize = (element, size, upper, lower) => {\n      const paddingUpper = getProp(element, \"padding-\".concat(upper), 0);\n      const paddingLower = getProp(element, \"padding-\".concat(lower), 0);\n      const borderUpper = getProp(element, \"border-\".concat(upper, \"-width\"), 0);\n      const borderLower = getProp(element, \"border-\".concat(lower, \"-width\"), 0);\n      return size - paddingUpper - paddingLower - borderUpper - borderLower;\n    };\n    const getCalculatedWidth = (element, boxSizing) => {\n      const dom = element.dom;\n      const width = dom.getBoundingClientRect().width || dom.offsetWidth;\n      return boxSizing === 'border-box' ? width : calcContentBoxSize(element, width, 'left', 'right');\n    };\n    const getHeight$1 = element => getProp(element, 'height', element.dom.offsetHeight);\n    const getWidth = element => getProp(element, 'width', element.dom.offsetWidth);\n    const getInnerWidth = element => getCalculatedWidth(element, 'content-box');\n\n    const api$2 = Dimension('width', element => element.dom.offsetWidth);\n    const get$9 = element => api$2.get(element);\n    const getOuter$2 = element => api$2.getOuter(element);\n    const getInner = getInnerWidth;\n    const getRuntime$1 = getWidth;\n\n    const addCells = (gridRow, index, cells) => {\n      const existingCells = gridRow.cells;\n      const before = existingCells.slice(0, index);\n      const after = existingCells.slice(index);\n      const newCells = before.concat(cells).concat(after);\n      return setCells(gridRow, newCells);\n    };\n    const addCell = (gridRow, index, cell) => addCells(gridRow, index, [cell]);\n    const mutateCell = (gridRow, index, cell) => {\n      const cells = gridRow.cells;\n      cells[index] = cell;\n    };\n    const setCells = (gridRow, cells) => rowcells(gridRow.element, cells, gridRow.section, gridRow.isNew);\n    const mapCells = (gridRow, f) => {\n      const cells = gridRow.cells;\n      const r = map$1(cells, f);\n      return rowcells(gridRow.element, r, gridRow.section, gridRow.isNew);\n    };\n    const getCell = (gridRow, index) => gridRow.cells[index];\n    const getCellElement = (gridRow, index) => getCell(gridRow, index).element;\n    const cellLength = gridRow => gridRow.cells.length;\n    const extractGridDetails = grid => {\n      const result = partition(grid, row => row.section === 'colgroup');\n      return {\n        rows: result.fail,\n        cols: result.pass\n      };\n    };\n    const clone = (gridRow, cloneRow, cloneCell) => {\n      const newCells = map$1(gridRow.cells, cloneCell);\n      return rowcells(cloneRow(gridRow.element), newCells, gridRow.section, true);\n    };\n\n    const LOCKED_COL_ATTR = 'data-snooker-locked-cols';\n    const getLockedColumnsFromTable = table => getOpt(table, LOCKED_COL_ATTR).bind(lockedColStr => Optional.from(lockedColStr.match(/\\d+/g))).map(lockedCols => mapToObject(lockedCols, always));\n    const getLockedColumnsFromGrid = grid => {\n      const locked = foldl(extractGridDetails(grid).rows, (acc, row) => {\n        each$2(row.cells, (cell, idx) => {\n          if (cell.isLocked) {\n            acc[idx] = true;\n          }\n        });\n        return acc;\n      }, {});\n      const lockedArr = mapToArray(locked, (_val, key) => parseInt(key, 10));\n      return sort$1(lockedArr);\n    };\n\n    const key = (row, column) => {\n      return row + ',' + column;\n    };\n    const getAt = (warehouse, row, column) => Optional.from(warehouse.access[key(row, column)]);\n    const findItem = (warehouse, item, comparator) => {\n      const filtered = filterItems(warehouse, detail => {\n        return comparator(item, detail.element);\n      });\n      return filtered.length > 0 ? Optional.some(filtered[0]) : Optional.none();\n    };\n    const filterItems = (warehouse, predicate) => {\n      const all = bind$2(warehouse.all, r => {\n        return r.cells;\n      });\n      return filter$2(all, predicate);\n    };\n    const generateColumns = rowData => {\n      const columnsGroup = {};\n      let index = 0;\n      each$2(rowData.cells, column => {\n        const colspan = column.colspan;\n        range$1(colspan, columnIndex => {\n          const colIndex = index + columnIndex;\n          columnsGroup[colIndex] = columnext(column.element, colspan, colIndex);\n        });\n        index += colspan;\n      });\n      return columnsGroup;\n    };\n    const generate$1 = list => {\n      const access = {};\n      const cells = [];\n      const tableOpt = head(list).map(rowData => rowData.element).bind(table);\n      const lockedColumns = tableOpt.bind(getLockedColumnsFromTable).getOr({});\n      let maxRows = 0;\n      let maxColumns = 0;\n      let rowCount = 0;\n      const {\n        pass: colgroupRows,\n        fail: rows\n      } = partition(list, rowData => rowData.section === 'colgroup');\n      each$2(rows, rowData => {\n        const currentRow = [];\n        each$2(rowData.cells, rowCell => {\n          let start = 0;\n          while (access[key(rowCount, start)] !== undefined) {\n            start++;\n          }\n          const isLocked = hasNonNullableKey(lockedColumns, start.toString());\n          const current = extended(rowCell.element, rowCell.rowspan, rowCell.colspan, rowCount, start, isLocked);\n          for (let occupiedColumnPosition = 0; occupiedColumnPosition < rowCell.colspan; occupiedColumnPosition++) {\n            for (let occupiedRowPosition = 0; occupiedRowPosition < rowCell.rowspan; occupiedRowPosition++) {\n              const rowPosition = rowCount + occupiedRowPosition;\n              const columnPosition = start + occupiedColumnPosition;\n              const newpos = key(rowPosition, columnPosition);\n              access[newpos] = current;\n              maxColumns = Math.max(maxColumns, columnPosition + 1);\n            }\n          }\n          currentRow.push(current);\n        });\n        maxRows++;\n        cells.push(rowdetail(rowData.element, currentRow, rowData.section));\n        rowCount++;\n      });\n      const {\n        columns,\n        colgroups\n      } = last$2(colgroupRows).map(rowData => {\n        const columns = generateColumns(rowData);\n        const colgroup$1 = colgroup(rowData.element, values(columns));\n        return {\n          colgroups: [colgroup$1],\n          columns\n        };\n      }).getOrThunk(() => ({\n        colgroups: [],\n        columns: {}\n      }));\n      const grid$1 = grid(maxRows, maxColumns);\n      return {\n        grid: grid$1,\n        access,\n        all: cells,\n        columns,\n        colgroups\n      };\n    };\n    const fromTable = table => {\n      const list = fromTable$1(table);\n      return generate$1(list);\n    };\n    const justCells = warehouse => bind$2(warehouse.all, w => w.cells);\n    const justColumns = warehouse => values(warehouse.columns);\n    const hasColumns = warehouse => keys(warehouse.columns).length > 0;\n    const getColumnAt = (warehouse, columnIndex) => Optional.from(warehouse.columns[columnIndex]);\n    const Warehouse = {\n      fromTable,\n      generate: generate$1,\n      getAt,\n      findItem,\n      filterItems,\n      justCells,\n      justColumns,\n      hasColumns,\n      getColumnAt\n    };\n\n    const columns = (warehouse, isValidCell = always) => {\n      const grid = warehouse.grid;\n      const cols = range$1(grid.columns, identity);\n      const rowsArr = range$1(grid.rows, identity);\n      return map$1(cols, col => {\n        const getBlock = () => bind$2(rowsArr, r => Warehouse.getAt(warehouse, r, col).filter(detail => detail.column === col).toArray());\n        const isValid = detail => detail.colspan === 1 && isValidCell(detail.element);\n        const getFallback = () => Warehouse.getAt(warehouse, 0, col);\n        return decide(getBlock, isValid, getFallback);\n      });\n    };\n    const decide = (getBlock, isValid, getFallback) => {\n      const inBlock = getBlock();\n      const validInBlock = find$1(inBlock, isValid);\n      const detailOption = validInBlock.orThunk(() => Optional.from(inBlock[0]).orThunk(getFallback));\n      return detailOption.map(detail => detail.element);\n    };\n    const rows = warehouse => {\n      const grid = warehouse.grid;\n      const rowsArr = range$1(grid.rows, identity);\n      const cols = range$1(grid.columns, identity);\n      return map$1(rowsArr, row => {\n        const getBlock = () => bind$2(cols, c => Warehouse.getAt(warehouse, row, c).filter(detail => detail.row === row).fold(constant([]), detail => [detail]));\n        const isSingle = detail => detail.rowspan === 1;\n        const getFallback = () => Warehouse.getAt(warehouse, row, 0);\n        return decide(getBlock, isSingle, getFallback);\n      });\n    };\n\n    const deduce = (xs, index) => {\n      if (index < 0 || index >= xs.length - 1) {\n        return Optional.none();\n      }\n      const current = xs[index].fold(() => {\n        const rest = reverse(xs.slice(0, index));\n        return findMap(rest, (a, i) => a.map(aa => ({\n          value: aa,\n          delta: i + 1\n        })));\n      }, c => Optional.some({\n        value: c,\n        delta: 0\n      }));\n      const next = xs[index + 1].fold(() => {\n        const rest = xs.slice(index + 1);\n        return findMap(rest, (a, i) => a.map(aa => ({\n          value: aa,\n          delta: i + 1\n        })));\n      }, n => Optional.some({\n        value: n,\n        delta: 1\n      }));\n      return current.bind(c => next.map(n => {\n        const extras = n.delta + c.delta;\n        return Math.abs(n.value - c.value) / extras;\n      }));\n    };\n\n    const onDirection = (isLtr, isRtl) => element => getDirection(element) === 'rtl' ? isRtl : isLtr;\n    const getDirection = element => get$a(element, 'direction') === 'rtl' ? 'rtl' : 'ltr';\n\n    const api$1 = Dimension('height', element => {\n      const dom = element.dom;\n      return inBody(element) ? dom.getBoundingClientRect().height : dom.offsetHeight;\n    });\n    const get$8 = element => api$1.get(element);\n    const getOuter$1 = element => api$1.getOuter(element);\n    const getRuntime = getHeight$1;\n\n    const r = (left, top) => {\n      const translate = (x, y) => r(left + x, top + y);\n      return {\n        left,\n        top,\n        translate\n      };\n    };\n    const SugarPosition = r;\n\n    const boxPosition = dom => {\n      const box = dom.getBoundingClientRect();\n      return SugarPosition(box.left, box.top);\n    };\n    const firstDefinedOrZero = (a, b) => {\n      if (a !== undefined) {\n        return a;\n      } else {\n        return b !== undefined ? b : 0;\n      }\n    };\n    const absolute = element => {\n      const doc = element.dom.ownerDocument;\n      const body = doc.body;\n      const win = doc.defaultView;\n      const html = doc.documentElement;\n      if (body === element.dom) {\n        return SugarPosition(body.offsetLeft, body.offsetTop);\n      }\n      const scrollTop = firstDefinedOrZero(win === null || win === void 0 ? void 0 : win.pageYOffset, html.scrollTop);\n      const scrollLeft = firstDefinedOrZero(win === null || win === void 0 ? void 0 : win.pageXOffset, html.scrollLeft);\n      const clientTop = firstDefinedOrZero(html.clientTop, body.clientTop);\n      const clientLeft = firstDefinedOrZero(html.clientLeft, body.clientLeft);\n      return viewport(element).translate(scrollLeft - clientLeft, scrollTop - clientTop);\n    };\n    const viewport = element => {\n      const dom = element.dom;\n      const doc = dom.ownerDocument;\n      const body = doc.body;\n      if (body === dom) {\n        return SugarPosition(body.offsetLeft, body.offsetTop);\n      }\n      if (!inBody(element)) {\n        return SugarPosition(0, 0);\n      }\n      return boxPosition(dom);\n    };\n\n    const rowInfo = (row, y) => ({\n      row,\n      y\n    });\n    const colInfo = (col, x) => ({\n      col,\n      x\n    });\n    const rtlEdge = cell => {\n      const pos = absolute(cell);\n      return pos.left + getOuter$2(cell);\n    };\n    const ltrEdge = cell => {\n      return absolute(cell).left;\n    };\n    const getLeftEdge = (index, cell) => {\n      return colInfo(index, ltrEdge(cell));\n    };\n    const getRightEdge = (index, cell) => {\n      return colInfo(index, rtlEdge(cell));\n    };\n    const getTop$1 = cell => {\n      return absolute(cell).top;\n    };\n    const getTopEdge = (index, cell) => {\n      return rowInfo(index, getTop$1(cell));\n    };\n    const getBottomEdge = (index, cell) => {\n      return rowInfo(index, getTop$1(cell) + getOuter$1(cell));\n    };\n    const findPositions = (getInnerEdge, getOuterEdge, array) => {\n      if (array.length === 0) {\n        return [];\n      }\n      const lines = map$1(array.slice(1), (cellOption, index) => {\n        return cellOption.map(cell => {\n          return getInnerEdge(index, cell);\n        });\n      });\n      const lastLine = array[array.length - 1].map(cell => {\n        return getOuterEdge(array.length - 1, cell);\n      });\n      return lines.concat([lastLine]);\n    };\n    const negate = step => {\n      return -step;\n    };\n    const height = {\n      delta: identity,\n      positions: optElements => findPositions(getTopEdge, getBottomEdge, optElements),\n      edge: getTop$1\n    };\n    const ltr$1 = {\n      delta: identity,\n      edge: ltrEdge,\n      positions: optElements => findPositions(getLeftEdge, getRightEdge, optElements)\n    };\n    const rtl$1 = {\n      delta: negate,\n      edge: rtlEdge,\n      positions: optElements => findPositions(getRightEdge, getLeftEdge, optElements)\n    };\n    const detect$1 = onDirection(ltr$1, rtl$1);\n    const width = {\n      delta: (amount, table) => detect$1(table).delta(amount, table),\n      positions: (cols, table) => detect$1(table).positions(cols, table),\n      edge: cell => detect$1(cell).edge(cell)\n    };\n\n    const units = {\n      unsupportedLength: ['em', 'ex', 'cap', 'ch', 'ic', 'rem', 'lh', 'rlh', 'vw', 'vh', 'vi', 'vb', 'vmin', 'vmax', 'cm', 'mm', 'Q', 'in', 'pc', 'pt', 'px'],\n      fixed: ['px', 'pt'],\n      relative: ['%'],\n      empty: ['']\n    };\n    const pattern = (() => {\n      const decimalDigits = '[0-9]+';\n      const signedInteger = '[+-]?' + decimalDigits;\n      const exponentPart = '[eE]' + signedInteger;\n      const dot = '\\\\.';\n      const opt = input => \"(?:\".concat(input, \")?\");\n      const unsignedDecimalLiteral = ['Infinity', decimalDigits + dot + opt(decimalDigits) + opt(exponentPart), dot + decimalDigits + opt(exponentPart), decimalDigits + opt(exponentPart)].join('|');\n      const float = \"[+-]?(?:\".concat(unsignedDecimalLiteral, \")\");\n      return new RegExp(\"^(\".concat(float, \")(.*)$\"));\n    })();\n    const isUnit = (unit, accepted) => exists(accepted, acc => exists(units[acc], check => unit === check));\n    const parse = (input, accepted) => {\n      const match = Optional.from(pattern.exec(input));\n      return match.bind(array => {\n        const value = Number(array[1]);\n        const unitRaw = array[2];\n        if (isUnit(unitRaw, accepted)) {\n          return Optional.some({\n            value,\n            unit: unitRaw\n          });\n        } else {\n          return Optional.none();\n        }\n      });\n    };\n\n    const rPercentageBasedSizeRegex = /(\\d+(\\.\\d+)?)%/;\n    const rPixelBasedSizeRegex = /(\\d+(\\.\\d+)?)px|em/;\n    const isCol$2 = isTag('col');\n    const getPercentSize = (elm, outerGetter, innerGetter) => {\n      const relativeParent = parentElement(elm).getOrThunk(() => getBody$1(owner(elm)));\n      return outerGetter(elm) / innerGetter(relativeParent) * 100;\n    };\n    const setPixelWidth = (cell, amount) => {\n      set$1(cell, 'width', amount + 'px');\n    };\n    const setPercentageWidth = (cell, amount) => {\n      set$1(cell, 'width', amount + '%');\n    };\n    const setHeight = (cell, amount) => {\n      set$1(cell, 'height', amount + 'px');\n    };\n    const getHeightValue = cell => getRuntime(cell) + 'px';\n    const convert = (cell, number, getter, setter) => {\n      const newSize = table(cell).map(table => {\n        const total = getter(table);\n        return Math.floor(number / 100 * total);\n      }).getOr(number);\n      setter(cell, newSize);\n      return newSize;\n    };\n    const normalizePixelSize = (value, cell, getter, setter) => {\n      const number = parseFloat(value);\n      return endsWith(value, '%') && name(cell) !== 'table' ? convert(cell, number, getter, setter) : number;\n    };\n    const getTotalHeight = cell => {\n      const value = getHeightValue(cell);\n      if (!value) {\n        return get$8(cell);\n      }\n      return normalizePixelSize(value, cell, get$8, setHeight);\n    };\n    const get$7 = (cell, type, f) => {\n      const v = f(cell);\n      const span = getSpan(cell, type);\n      return v / span;\n    };\n    const getRaw$1 = (element, prop) => {\n      return getRaw$2(element, prop).orThunk(() => {\n        return getOpt(element, prop).map(val => val + 'px');\n      });\n    };\n    const getRawWidth$1 = element => getRaw$1(element, 'width');\n    const getRawHeight = element => getRaw$1(element, 'height');\n    const getPercentageWidth = cell => getPercentSize(cell, get$9, getInner);\n    const getPixelWidth$1 = cell => isCol$2(cell) ? get$9(cell) : getRuntime$1(cell);\n    const getHeight = cell => {\n      return get$7(cell, 'rowspan', getTotalHeight);\n    };\n    const getGenericWidth = cell => {\n      const width = getRawWidth$1(cell);\n      return width.bind(w => parse(w, ['fixed', 'relative', 'empty']));\n    };\n    const setGenericWidth = (cell, amount, unit) => {\n      set$1(cell, 'width', amount + unit);\n    };\n    const getPixelTableWidth = table => get$9(table) + 'px';\n    const getPercentTableWidth = table => getPercentSize(table, get$9, getInner) + '%';\n    const isPercentSizing$1 = table => getRawWidth$1(table).exists(size => rPercentageBasedSizeRegex.test(size));\n    const isPixelSizing$1 = table => getRawWidth$1(table).exists(size => rPixelBasedSizeRegex.test(size));\n    const isNoneSizing$1 = table => getRawWidth$1(table).isNone();\n    const percentageBasedSizeRegex = constant(rPercentageBasedSizeRegex);\n\n    const isCol$1 = isTag('col');\n    const getRawW = cell => {\n      return getRawWidth$1(cell).getOrThunk(() => getPixelWidth$1(cell) + 'px');\n    };\n    const getRawH = cell => {\n      return getRawHeight(cell).getOrThunk(() => getHeight(cell) + 'px');\n    };\n    const justCols = warehouse => map$1(Warehouse.justColumns(warehouse), column => Optional.from(column.element));\n    const isValidColumn = cell => {\n      const browser = detect$2().browser;\n      const supportsColWidths = browser.isChromium() || browser.isFirefox();\n      return isCol$1(cell) ? supportsColWidths : true;\n    };\n    const getDimension = (cellOpt, index, backups, filter, getter, fallback) => cellOpt.filter(filter).fold(() => fallback(deduce(backups, index)), cell => getter(cell));\n    const getWidthFrom = (warehouse, table, getWidth, fallback) => {\n      const columnCells = columns(warehouse);\n      const columns$1 = Warehouse.hasColumns(warehouse) ? justCols(warehouse) : columnCells;\n      const backups = [Optional.some(width.edge(table))].concat(map$1(width.positions(columnCells, table), pos => pos.map(p => p.x)));\n      const colFilter = not(hasColspan);\n      return map$1(columns$1, (cellOption, c) => {\n        return getDimension(cellOption, c, backups, colFilter, column => {\n          if (isValidColumn(column)) {\n            return getWidth(column);\n          } else {\n            const cell = bindFrom(columnCells[c], identity);\n            return getDimension(cell, c, backups, colFilter, cell => fallback(Optional.some(get$9(cell))), fallback);\n          }\n        }, fallback);\n      });\n    };\n    const getDeduced = deduced => {\n      return deduced.map(d => {\n        return d + 'px';\n      }).getOr('');\n    };\n    const getRawWidths = (warehouse, table) => {\n      return getWidthFrom(warehouse, table, getRawW, getDeduced);\n    };\n    const getPercentageWidths = (warehouse, table, tableSize) => {\n      return getWidthFrom(warehouse, table, getPercentageWidth, deduced => {\n        return deduced.fold(() => {\n          return tableSize.minCellWidth();\n        }, cellWidth => {\n          return cellWidth / tableSize.pixelWidth() * 100;\n        });\n      });\n    };\n    const getPixelWidths = (warehouse, table, tableSize) => {\n      return getWidthFrom(warehouse, table, getPixelWidth$1, deduced => {\n        return deduced.getOrThunk(tableSize.minCellWidth);\n      });\n    };\n    const getHeightFrom = (warehouse, table, direction, getHeight, fallback) => {\n      const rows$1 = rows(warehouse);\n      const backups = [Optional.some(direction.edge(table))].concat(map$1(direction.positions(rows$1, table), pos => pos.map(p => p.y)));\n      return map$1(rows$1, (cellOption, c) => {\n        return getDimension(cellOption, c, backups, not(hasRowspan), getHeight, fallback);\n      });\n    };\n    const getPixelHeights = (warehouse, table, direction) => {\n      return getHeightFrom(warehouse, table, direction, getHeight, deduced => {\n        return deduced.getOrThunk(minHeight);\n      });\n    };\n    const getRawHeights = (warehouse, table, direction) => {\n      return getHeightFrom(warehouse, table, direction, getRawH, getDeduced);\n    };\n\n    const widthLookup = (table, getter) => () => {\n      if (inBody(table)) {\n        return getter(table);\n      } else {\n        return parseFloat(getRaw$2(table, 'width').getOr('0'));\n      }\n    };\n    const noneSize = table => {\n      const getWidth = widthLookup(table, get$9);\n      const zero = constant(0);\n      const getWidths = (warehouse, tableSize) => getPixelWidths(warehouse, table, tableSize);\n      return {\n        width: getWidth,\n        pixelWidth: getWidth,\n        getWidths,\n        getCellDelta: zero,\n        singleColumnWidth: constant([0]),\n        minCellWidth: zero,\n        setElementWidth: noop,\n        adjustTableWidth: noop,\n        isRelative: true,\n        label: 'none'\n      };\n    };\n    const percentageSize = table => {\n      const getFloatWidth = widthLookup(table, elem => parseFloat(getPercentTableWidth(elem)));\n      const getWidth = widthLookup(table, get$9);\n      const getCellDelta = delta => delta / getWidth() * 100;\n      const singleColumnWidth = (w, _delta) => [100 - w];\n      const minCellWidth = () => minWidth() / getWidth() * 100;\n      const adjustTableWidth = delta => {\n        const currentWidth = getFloatWidth();\n        const change = delta / 100 * currentWidth;\n        const newWidth = currentWidth + change;\n        setPercentageWidth(table, newWidth);\n      };\n      const getWidths = (warehouse, tableSize) => getPercentageWidths(warehouse, table, tableSize);\n      return {\n        width: getFloatWidth,\n        pixelWidth: getWidth,\n        getWidths,\n        getCellDelta,\n        singleColumnWidth,\n        minCellWidth,\n        setElementWidth: setPercentageWidth,\n        adjustTableWidth,\n        isRelative: true,\n        label: 'percent'\n      };\n    };\n    const pixelSize = table => {\n      const getWidth = widthLookup(table, get$9);\n      const getCellDelta = identity;\n      const singleColumnWidth = (w, delta) => {\n        const newNext = Math.max(minWidth(), w + delta);\n        return [newNext - w];\n      };\n      const adjustTableWidth = delta => {\n        const newWidth = getWidth() + delta;\n        setPixelWidth(table, newWidth);\n      };\n      const getWidths = (warehouse, tableSize) => getPixelWidths(warehouse, table, tableSize);\n      return {\n        width: getWidth,\n        pixelWidth: getWidth,\n        getWidths,\n        getCellDelta,\n        singleColumnWidth,\n        minCellWidth: minWidth,\n        setElementWidth: setPixelWidth,\n        adjustTableWidth,\n        isRelative: false,\n        label: 'pixel'\n      };\n    };\n    const chooseSize = (element, width) => {\n      const percentMatch = percentageBasedSizeRegex().exec(width);\n      if (percentMatch !== null) {\n        return percentageSize(element);\n      } else {\n        return pixelSize(element);\n      }\n    };\n    const getTableSize = table => {\n      const width = getRawWidth$1(table);\n      return width.fold(() => noneSize(table), w => chooseSize(table, w));\n    };\n    const TableSize = {\n      getTableSize,\n      pixelSize,\n      percentageSize,\n      noneSize\n    };\n\n    const statsStruct = (minRow, minCol, maxRow, maxCol, allCells, selectedCells) => ({\n      minRow,\n      minCol,\n      maxRow,\n      maxCol,\n      allCells,\n      selectedCells\n    });\n    const findSelectedStats = (house, isSelected) => {\n      const totalColumns = house.grid.columns;\n      const totalRows = house.grid.rows;\n      let minRow = totalRows;\n      let minCol = totalColumns;\n      let maxRow = 0;\n      let maxCol = 0;\n      const allCells = [];\n      const selectedCells = [];\n      each$1(house.access, detail => {\n        allCells.push(detail);\n        if (isSelected(detail)) {\n          selectedCells.push(detail);\n          const startRow = detail.row;\n          const endRow = startRow + detail.rowspan - 1;\n          const startCol = detail.column;\n          const endCol = startCol + detail.colspan - 1;\n          if (startRow < minRow) {\n            minRow = startRow;\n          } else if (endRow > maxRow) {\n            maxRow = endRow;\n          }\n          if (startCol < minCol) {\n            minCol = startCol;\n          } else if (endCol > maxCol) {\n            maxCol = endCol;\n          }\n        }\n      });\n      return statsStruct(minRow, minCol, maxRow, maxCol, allCells, selectedCells);\n    };\n    const makeCell = (list, seenSelected, rowIndex) => {\n      const row = list[rowIndex].element;\n      const td = SugarElement.fromTag('td');\n      append$1(td, SugarElement.fromTag('br'));\n      const f = seenSelected ? append$1 : prepend;\n      f(row, td);\n    };\n    const fillInGaps = (list, house, stats, isSelected) => {\n      const rows = filter$2(list, row => row.section !== 'colgroup');\n      const totalColumns = house.grid.columns;\n      const totalRows = house.grid.rows;\n      for (let i = 0; i < totalRows; i++) {\n        let seenSelected = false;\n        for (let j = 0; j < totalColumns; j++) {\n          if (!(i < stats.minRow || i > stats.maxRow || j < stats.minCol || j > stats.maxCol)) {\n            const needCell = Warehouse.getAt(house, i, j).filter(isSelected).isNone();\n            if (needCell) {\n              makeCell(rows, seenSelected, i);\n            } else {\n              seenSelected = true;\n            }\n          }\n        }\n      }\n    };\n    const clean = (replica, stats, house, widthDelta) => {\n      each$1(house.columns, col => {\n        if (col.column < stats.minCol || col.column > stats.maxCol) {\n          remove$6(col.element);\n        }\n      });\n      const emptyRows = filter$2(firstLayer(replica, 'tr'), row => row.dom.childElementCount === 0);\n      each$2(emptyRows, remove$6);\n      if (stats.minCol === stats.maxCol || stats.minRow === stats.maxRow) {\n        each$2(firstLayer(replica, 'th,td'), cell => {\n          remove$7(cell, 'rowspan');\n          remove$7(cell, 'colspan');\n        });\n      }\n      remove$7(replica, LOCKED_COL_ATTR);\n      remove$7(replica, 'data-snooker-col-series');\n      const tableSize = TableSize.getTableSize(replica);\n      tableSize.adjustTableWidth(widthDelta);\n    };\n    const getTableWidthDelta = (table, warehouse, tableSize, stats) => {\n      if (stats.minCol === 0 && warehouse.grid.columns === stats.maxCol + 1) {\n        return 0;\n      }\n      const colWidths = getPixelWidths(warehouse, table, tableSize);\n      const allColsWidth = foldl(colWidths, (acc, width) => acc + width, 0);\n      const selectedColsWidth = foldl(colWidths.slice(stats.minCol, stats.maxCol + 1), (acc, width) => acc + width, 0);\n      const newWidth = selectedColsWidth / allColsWidth * tableSize.pixelWidth();\n      const delta = newWidth - tableSize.pixelWidth();\n      return tableSize.getCellDelta(delta);\n    };\n    const extract$1 = (table, selectedSelector) => {\n      const isSelected = detail => is$2(detail.element, selectedSelector);\n      const replica = deep(table);\n      const list = fromTable$1(replica);\n      const tableSize = TableSize.getTableSize(table);\n      const replicaHouse = Warehouse.generate(list);\n      const replicaStats = findSelectedStats(replicaHouse, isSelected);\n      const selector = 'th:not(' + selectedSelector + ')' + ',td:not(' + selectedSelector + ')';\n      const unselectedCells = filterFirstLayer(replica, 'th,td', cell => is$2(cell, selector));\n      each$2(unselectedCells, remove$6);\n      fillInGaps(list, replicaHouse, replicaStats, isSelected);\n      const house = Warehouse.fromTable(table);\n      const widthDelta = getTableWidthDelta(table, house, tableSize, replicaStats);\n      clean(replica, replicaStats, replicaHouse, widthDelta);\n      return replica;\n    };\n\n    const nbsp = '\\xA0';\n\n    const NodeValue = (is, name) => {\n      const get = element => {\n        if (!is(element)) {\n          throw new Error('Can only get ' + name + ' value of a ' + name + ' node');\n        }\n        return getOption(element).getOr('');\n      };\n      const getOption = element => is(element) ? Optional.from(element.dom.nodeValue) : Optional.none();\n      const set = (element, value) => {\n        if (!is(element)) {\n          throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node');\n        }\n        element.dom.nodeValue = value;\n      };\n      return {\n        get,\n        getOption,\n        set\n      };\n    };\n\n    const api = NodeValue(isText, 'text');\n    const get$6 = element => api.get(element);\n    const getOption = element => api.getOption(element);\n    const set = (element, value) => api.set(element, value);\n\n    const getEnd = element => name(element) === 'img' ? 1 : getOption(element).fold(() => children$2(element).length, v => v.length);\n    const isTextNodeWithCursorPosition = el => getOption(el).filter(text => text.trim().length !== 0 || text.indexOf(nbsp) > -1).isSome();\n    const isContentEditableFalse = elem => isHTMLElement(elem) && get$b(elem, 'contenteditable') === 'false';\n    const elementsWithCursorPosition = ['img', 'br'];\n    const isCursorPosition = elem => {\n      const hasCursorPosition = isTextNodeWithCursorPosition(elem);\n      return hasCursorPosition || contains$2(elementsWithCursorPosition, name(elem)) || isContentEditableFalse(elem);\n    };\n\n    const first = element => descendant$1(element, isCursorPosition);\n    const last$1 = element => descendantRtl(element, isCursorPosition);\n    const descendantRtl = (scope, predicate) => {\n      const descend = element => {\n        const children = children$2(element);\n        for (let i = children.length - 1; i >= 0; i--) {\n          const child = children[i];\n          if (predicate(child)) {\n            return Optional.some(child);\n          }\n          const res = descend(child);\n          if (res.isSome()) {\n            return res;\n          }\n        }\n        return Optional.none();\n      };\n      return descend(scope);\n    };\n\n    const transferableAttributes = {\n      scope: ['row', 'col']\n    };\n    const createCell = doc => () => {\n      const td = SugarElement.fromTag('td', doc.dom);\n      append$1(td, SugarElement.fromTag('br', doc.dom));\n      return td;\n    };\n    const createCol = doc => () => {\n      return SugarElement.fromTag('col', doc.dom);\n    };\n    const createColgroup = doc => () => {\n      return SugarElement.fromTag('colgroup', doc.dom);\n    };\n    const createRow$1 = doc => () => {\n      return SugarElement.fromTag('tr', doc.dom);\n    };\n    const replace$1 = (cell, tag, attrs) => {\n      const replica = copy$2(cell, tag);\n      each$1(attrs, (v, k) => {\n        if (v === null) {\n          remove$7(replica, k);\n        } else {\n          set$2(replica, k, v);\n        }\n      });\n      return replica;\n    };\n    const pasteReplace = cell => {\n      return cell;\n    };\n    const cloneFormats = (oldCell, newCell, formats) => {\n      const first$1 = first(oldCell);\n      return first$1.map(firstText => {\n        const formatSelector = formats.join(',');\n        const parents = ancestors$3(firstText, formatSelector, element => {\n          return eq$1(element, oldCell);\n        });\n        return foldr(parents, (last, parent) => {\n          const clonedFormat = shallow(parent);\n          append$1(last, clonedFormat);\n          return clonedFormat;\n        }, newCell);\n      }).getOr(newCell);\n    };\n    const cloneAppropriateAttributes = (original, clone) => {\n      each$1(transferableAttributes, (validAttributes, attributeName) => getOpt(original, attributeName).filter(attribute => contains$2(validAttributes, attribute)).each(attribute => set$2(clone, attributeName, attribute)));\n    };\n    const cellOperations = (mutate, doc, formatsToClone) => {\n      const cloneCss = (prev, clone) => {\n        copy$1(prev.element, clone);\n        remove$5(clone, 'height');\n        if (prev.colspan !== 1) {\n          remove$5(clone, 'width');\n        }\n      };\n      const newCell = prev => {\n        const td = SugarElement.fromTag(name(prev.element), doc.dom);\n        const formats = formatsToClone.getOr(['strong', 'em', 'b', 'i', 'span', 'font', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p', 'div']);\n        const lastNode = formats.length > 0 ? cloneFormats(prev.element, td, formats) : td;\n        append$1(lastNode, SugarElement.fromTag('br'));\n        cloneCss(prev, td);\n        cloneAppropriateAttributes(prev.element, td);\n        mutate(prev.element, td);\n        return td;\n      };\n      const newCol = prev => {\n        const col = SugarElement.fromTag(name(prev.element), doc.dom);\n        cloneCss(prev, col);\n        mutate(prev.element, col);\n        return col;\n      };\n      return {\n        col: newCol,\n        colgroup: createColgroup(doc),\n        row: createRow$1(doc),\n        cell: newCell,\n        replace: replace$1,\n        colGap: createCol(doc),\n        gap: createCell(doc)\n      };\n    };\n    const paste$1 = doc => {\n      return {\n        col: createCol(doc),\n        colgroup: createColgroup(doc),\n        row: createRow$1(doc),\n        cell: createCell(doc),\n        replace: pasteReplace,\n        colGap: createCol(doc),\n        gap: createCell(doc)\n      };\n    };\n\n    const fromHtml = (html, scope) => {\n      const doc = scope || document;\n      const div = doc.createElement('div');\n      div.innerHTML = html;\n      return children$2(SugarElement.fromDom(div));\n    };\n    const fromDom = nodes => map$1(nodes, SugarElement.fromDom);\n\n    const option = name => editor => editor.options.get(name);\n    const defaultWidth = '100%';\n    const getPixelForcedWidth = editor => {\n      var _a;\n      const dom = editor.dom;\n      const parentBlock = (_a = dom.getParent(editor.selection.getStart(), dom.isBlock)) !== null && _a !== void 0 ? _a : editor.getBody();\n      return getInner(SugarElement.fromDom(parentBlock)) + 'px';\n    };\n    const determineDefaultTableStyles = (editor, defaultStyles) => {\n      if (isTableResponsiveForced(editor) || !shouldStyleWithCss(editor)) {\n        return defaultStyles;\n      } else if (isTablePixelsForced(editor)) {\n        return {\n          ...defaultStyles,\n          width: getPixelForcedWidth(editor)\n        };\n      } else {\n        return {\n          ...defaultStyles,\n          width: defaultWidth\n        };\n      }\n    };\n    const determineDefaultTableAttributes = (editor, defaultAttributes) => {\n      if (isTableResponsiveForced(editor) || shouldStyleWithCss(editor)) {\n        return defaultAttributes;\n      } else if (isTablePixelsForced(editor)) {\n        return {\n          ...defaultAttributes,\n          width: getPixelForcedWidth(editor)\n        };\n      } else {\n        return {\n          ...defaultAttributes,\n          width: defaultWidth\n        };\n      }\n    };\n    const register = editor => {\n      const registerOption = editor.options.register;\n      registerOption('table_clone_elements', {\n        processor: 'string[]'\n      });\n      registerOption('table_use_colgroups', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('table_header_type', {\n        processor: value => {\n          const valid = contains$2(['section', 'cells', 'sectionCells', 'auto'], value);\n          return valid ? {\n            value,\n            valid\n          } : {\n            valid: false,\n            message: 'Must be one of: section, cells, sectionCells or auto.'\n          };\n        },\n        default: 'section'\n      });\n      registerOption('table_sizing_mode', {\n        processor: 'string',\n        default: 'auto'\n      });\n      registerOption('table_default_attributes', {\n        processor: 'object',\n        default: {\n          border: '1'\n        }\n      });\n      registerOption('table_default_styles', {\n        processor: 'object',\n        default: {\n          'border-collapse': 'collapse'\n        }\n      });\n      registerOption('table_column_resizing', {\n        processor: value => {\n          const valid = contains$2(['preservetable', 'resizetable'], value);\n          return valid ? {\n            value,\n            valid\n          } : {\n            valid: false,\n            message: 'Must be preservetable, or resizetable.'\n          };\n        },\n        default: 'preservetable'\n      });\n      registerOption('table_resize_bars', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('table_style_by_css', {\n        processor: 'boolean',\n        default: true\n      });\n      registerOption('table_merge_content_on_paste', {\n        processor: 'boolean',\n        default: true\n      });\n    };\n    const getTableCloneElements = editor => {\n      return Optional.from(editor.options.get('table_clone_elements'));\n    };\n    const hasTableObjectResizing = editor => {\n      const objectResizing = editor.options.get('object_resizing');\n      return contains$2(objectResizing.split(','), 'table');\n    };\n    const getTableHeaderType = option('table_header_type');\n    const getTableColumnResizingBehaviour = option('table_column_resizing');\n    const isPreserveTableColumnResizing = editor => getTableColumnResizingBehaviour(editor) === 'preservetable';\n    const isResizeTableColumnResizing = editor => getTableColumnResizingBehaviour(editor) === 'resizetable';\n    const getTableSizingMode = option('table_sizing_mode');\n    const isTablePercentagesForced = editor => getTableSizingMode(editor) === 'relative';\n    const isTablePixelsForced = editor => getTableSizingMode(editor) === 'fixed';\n    const isTableResponsiveForced = editor => getTableSizingMode(editor) === 'responsive';\n    const hasTableResizeBars = option('table_resize_bars');\n    const shouldStyleWithCss = option('table_style_by_css');\n    const shouldMergeContentOnPaste = option('table_merge_content_on_paste');\n    const getTableDefaultAttributes = editor => {\n      const options = editor.options;\n      const defaultAttributes = options.get('table_default_attributes');\n      return options.isSet('table_default_attributes') ? defaultAttributes : determineDefaultTableAttributes(editor, defaultAttributes);\n    };\n    const getTableDefaultStyles = editor => {\n      const options = editor.options;\n      const defaultStyles = options.get('table_default_styles');\n      return options.isSet('table_default_styles') ? defaultStyles : determineDefaultTableStyles(editor, defaultStyles);\n    };\n    const tableUseColumnGroup = option('table_use_colgroups');\n\n    const closest = target => closest$1(target, '[contenteditable]');\n    const isEditable$1 = (element, assumeEditable = false) => {\n      if (inBody(element)) {\n        return element.dom.isContentEditable;\n      } else {\n        return closest(element).fold(constant(assumeEditable), editable => getRaw(editable) === 'true');\n      }\n    };\n    const getRaw = element => element.dom.contentEditable;\n\n    const getBody = editor => SugarElement.fromDom(editor.getBody());\n    const getIsRoot = editor => element => eq$1(element, getBody(editor));\n    const removeDataStyle = table => {\n      remove$7(table, 'data-mce-style');\n      const removeStyleAttribute = element => remove$7(element, 'data-mce-style');\n      each$2(cells$1(table), removeStyleAttribute);\n      each$2(columns$1(table), removeStyleAttribute);\n      each$2(rows$1(table), removeStyleAttribute);\n    };\n    const getSelectionStart = editor => SugarElement.fromDom(editor.selection.getStart());\n    const getPixelWidth = elm => elm.getBoundingClientRect().width;\n    const getPixelHeight = elm => elm.getBoundingClientRect().height;\n    const getRawWidth = (editor, elm) => {\n      const raw = editor.dom.getStyle(elm, 'width') || editor.dom.getAttrib(elm, 'width');\n      return Optional.from(raw).filter(isNotEmpty);\n    };\n    const isPercentage$1 = value => /^(\\d+(\\.\\d+)?)%$/.test(value);\n    const isPixel = value => /^(\\d+(\\.\\d+)?)px$/.test(value);\n    const isInEditableContext$1 = cell => closest$2(cell, isTag('table')).exists(isEditable$1);\n\n    const inSelection = (bounds, detail) => {\n      const leftEdge = detail.column;\n      const rightEdge = detail.column + detail.colspan - 1;\n      const topEdge = detail.row;\n      const bottomEdge = detail.row + detail.rowspan - 1;\n      return leftEdge <= bounds.finishCol && rightEdge >= bounds.startCol && topEdge <= bounds.finishRow && bottomEdge >= bounds.startRow;\n    };\n    const isWithin = (bounds, detail) => {\n      return detail.column >= bounds.startCol && detail.column + detail.colspan - 1 <= bounds.finishCol && detail.row >= bounds.startRow && detail.row + detail.rowspan - 1 <= bounds.finishRow;\n    };\n    const isRectangular = (warehouse, bounds) => {\n      let isRect = true;\n      const detailIsWithin = curry(isWithin, bounds);\n      for (let i = bounds.startRow; i <= bounds.finishRow; i++) {\n        for (let j = bounds.startCol; j <= bounds.finishCol; j++) {\n          isRect = isRect && Warehouse.getAt(warehouse, i, j).exists(detailIsWithin);\n        }\n      }\n      return isRect ? Optional.some(bounds) : Optional.none();\n    };\n\n    const getBounds = (detailA, detailB) => {\n      return bounds(Math.min(detailA.row, detailB.row), Math.min(detailA.column, detailB.column), Math.max(detailA.row + detailA.rowspan - 1, detailB.row + detailB.rowspan - 1), Math.max(detailA.column + detailA.colspan - 1, detailB.column + detailB.colspan - 1));\n    };\n    const getAnyBox = (warehouse, startCell, finishCell) => {\n      const startCoords = Warehouse.findItem(warehouse, startCell, eq$1);\n      const finishCoords = Warehouse.findItem(warehouse, finishCell, eq$1);\n      return startCoords.bind(sc => {\n        return finishCoords.map(fc => {\n          return getBounds(sc, fc);\n        });\n      });\n    };\n    const getBox$1 = (warehouse, startCell, finishCell) => {\n      return getAnyBox(warehouse, startCell, finishCell).bind(bounds => {\n        return isRectangular(warehouse, bounds);\n      });\n    };\n\n    const moveBy$1 = (warehouse, cell, row, column) => {\n      return Warehouse.findItem(warehouse, cell, eq$1).bind(detail => {\n        const startRow = row > 0 ? detail.row + detail.rowspan - 1 : detail.row;\n        const startCol = column > 0 ? detail.column + detail.colspan - 1 : detail.column;\n        const dest = Warehouse.getAt(warehouse, startRow + row, startCol + column);\n        return dest.map(d => {\n          return d.element;\n        });\n      });\n    };\n    const intercepts$1 = (warehouse, start, finish) => {\n      return getAnyBox(warehouse, start, finish).map(bounds => {\n        const inside = Warehouse.filterItems(warehouse, curry(inSelection, bounds));\n        return map$1(inside, detail => {\n          return detail.element;\n        });\n      });\n    };\n    const parentCell = (warehouse, innerCell) => {\n      const isContainedBy = (c1, c2) => {\n        return contains$1(c2, c1);\n      };\n      return Warehouse.findItem(warehouse, innerCell, isContainedBy).map(detail => {\n        return detail.element;\n      });\n    };\n\n    const moveBy = (cell, deltaRow, deltaColumn) => {\n      return table(cell).bind(table => {\n        const warehouse = getWarehouse(table);\n        return moveBy$1(warehouse, cell, deltaRow, deltaColumn);\n      });\n    };\n    const intercepts = (table, first, last) => {\n      const warehouse = getWarehouse(table);\n      return intercepts$1(warehouse, first, last);\n    };\n    const nestedIntercepts = (table, first, firstTable, last, lastTable) => {\n      const warehouse = getWarehouse(table);\n      const optStartCell = eq$1(table, firstTable) ? Optional.some(first) : parentCell(warehouse, first);\n      const optLastCell = eq$1(table, lastTable) ? Optional.some(last) : parentCell(warehouse, last);\n      return optStartCell.bind(startCell => optLastCell.bind(lastCell => intercepts$1(warehouse, startCell, lastCell)));\n    };\n    const getBox = (table, first, last) => {\n      const warehouse = getWarehouse(table);\n      return getBox$1(warehouse, first, last);\n    };\n    const getWarehouse = Warehouse.fromTable;\n\n    var TagBoundaries = ['body', 'p', 'div', 'article', 'aside', 'figcaption', 'figure', 'footer', 'header', 'nav', 'section', 'ol', 'ul', 'li', 'table', 'thead', 'tbody', 'tfoot', 'caption', 'tr', 'td', 'th', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'blockquote', 'pre', 'address'];\n\n    var DomUniverse = () => {\n      const clone = element => {\n        return SugarElement.fromDom(element.dom.cloneNode(false));\n      };\n      const document = element => documentOrOwner(element).dom;\n      const isBoundary = element => {\n        if (!isElement(element)) {\n          return false;\n        }\n        if (name(element) === 'body') {\n          return true;\n        }\n        return contains$2(TagBoundaries, name(element));\n      };\n      const isEmptyTag = element => {\n        if (!isElement(element)) {\n          return false;\n        }\n        return contains$2(['br', 'img', 'hr', 'input'], name(element));\n      };\n      const isNonEditable = element => isElement(element) && get$b(element, 'contenteditable') === 'false';\n      const comparePosition = (element, other) => {\n        return element.dom.compareDocumentPosition(other.dom);\n      };\n      const copyAttributesTo = (source, destination) => {\n        const as = clone$2(source);\n        setAll$1(destination, as);\n      };\n      const isSpecial = element => {\n        const tag = name(element);\n        return contains$2(['script', 'noscript', 'iframe', 'noframes', 'noembed', 'title', 'style', 'textarea', 'xmp'], tag);\n      };\n      const getLanguage = element => isElement(element) ? getOpt(element, 'lang') : Optional.none();\n      return {\n        up: constant({\n          selector: ancestor$1,\n          closest: closest$1,\n          predicate: ancestor$2,\n          all: parents\n        }),\n        down: constant({\n          selector: descendants,\n          predicate: descendants$1\n        }),\n        styles: constant({\n          get: get$a,\n          getRaw: getRaw$2,\n          set: set$1,\n          remove: remove$5\n        }),\n        attrs: constant({\n          get: get$b,\n          set: set$2,\n          remove: remove$7,\n          copyTo: copyAttributesTo\n        }),\n        insert: constant({\n          before: before$3,\n          after: after$5,\n          afterAll: after$4,\n          append: append$1,\n          appendAll: append,\n          prepend: prepend,\n          wrap: wrap\n        }),\n        remove: constant({\n          unwrap: unwrap,\n          remove: remove$6\n        }),\n        create: constant({\n          nu: SugarElement.fromTag,\n          clone,\n          text: SugarElement.fromText\n        }),\n        query: constant({\n          comparePosition,\n          prevSibling: prevSibling,\n          nextSibling: nextSibling\n        }),\n        property: constant({\n          children: children$2,\n          name: name,\n          parent: parent,\n          document,\n          isText: isText,\n          isComment: isComment,\n          isElement: isElement,\n          isSpecial,\n          getLanguage,\n          getText: get$6,\n          setText: set,\n          isBoundary,\n          isEmptyTag,\n          isNonEditable\n        }),\n        eq: eq$1,\n        is: is$1\n      };\n    };\n\n    const all = (universe, look, elements, f) => {\n      const head = elements[0];\n      const tail = elements.slice(1);\n      return f(universe, look, head, tail);\n    };\n    const oneAll = (universe, look, elements) => {\n      return elements.length > 0 ? all(universe, look, elements, unsafeOne) : Optional.none();\n    };\n    const unsafeOne = (universe, look, head, tail) => {\n      const start = look(universe, head);\n      return foldr(tail, (b, a) => {\n        const current = look(universe, a);\n        return commonElement(universe, b, current);\n      }, start);\n    };\n    const commonElement = (universe, start, end) => {\n      return start.bind(s => {\n        return end.filter(curry(universe.eq, s));\n      });\n    };\n\n    const eq = (universe, item) => {\n      return curry(universe.eq, item);\n    };\n    const ancestors$2 = (universe, start, end, isRoot = never) => {\n      const ps1 = [start].concat(universe.up().all(start));\n      const ps2 = [end].concat(universe.up().all(end));\n      const prune = path => {\n        const index = findIndex(path, isRoot);\n        return index.fold(() => {\n          return path;\n        }, ind => {\n          return path.slice(0, ind + 1);\n        });\n      };\n      const pruned1 = prune(ps1);\n      const pruned2 = prune(ps2);\n      const shared = find$1(pruned1, x => {\n        return exists(pruned2, eq(universe, x));\n      });\n      return {\n        firstpath: pruned1,\n        secondpath: pruned2,\n        shared\n      };\n    };\n\n    const sharedOne$1 = oneAll;\n    const ancestors$1 = ancestors$2;\n\n    const universe$3 = DomUniverse();\n    const sharedOne = (look, elements) => {\n      return sharedOne$1(universe$3, (_universe, element) => {\n        return look(element);\n      }, elements);\n    };\n    const ancestors = (start, finish, isRoot) => {\n      return ancestors$1(universe$3, start, finish, isRoot);\n    };\n\n    const lookupTable = container => {\n      return ancestor$1(container, 'table');\n    };\n    const identify = (start, finish, isRoot) => {\n      const getIsRoot = rootTable => {\n        return element => {\n          return isRoot !== undefined && isRoot(element) || eq$1(element, rootTable);\n        };\n      };\n      if (eq$1(start, finish)) {\n        return Optional.some({\n          boxes: Optional.some([start]),\n          start,\n          finish\n        });\n      } else {\n        return lookupTable(start).bind(startTable => {\n          return lookupTable(finish).bind(finishTable => {\n            if (eq$1(startTable, finishTable)) {\n              return Optional.some({\n                boxes: intercepts(startTable, start, finish),\n                start,\n                finish\n              });\n            } else if (contains$1(startTable, finishTable)) {\n              const ancestorCells = ancestors$3(finish, 'td,th', getIsRoot(startTable));\n              const finishCell = ancestorCells.length > 0 ? ancestorCells[ancestorCells.length - 1] : finish;\n              return Optional.some({\n                boxes: nestedIntercepts(startTable, start, startTable, finish, finishTable),\n                start,\n                finish: finishCell\n              });\n            } else if (contains$1(finishTable, startTable)) {\n              const ancestorCells = ancestors$3(start, 'td,th', getIsRoot(finishTable));\n              const startCell = ancestorCells.length > 0 ? ancestorCells[ancestorCells.length - 1] : start;\n              return Optional.some({\n                boxes: nestedIntercepts(finishTable, start, startTable, finish, finishTable),\n                start,\n                finish: startCell\n              });\n            } else {\n              return ancestors(start, finish).shared.bind(lca => {\n                return closest$1(lca, 'table', isRoot).bind(lcaTable => {\n                  const finishAncestorCells = ancestors$3(finish, 'td,th', getIsRoot(lcaTable));\n                  const finishCell = finishAncestorCells.length > 0 ? finishAncestorCells[finishAncestorCells.length - 1] : finish;\n                  const startAncestorCells = ancestors$3(start, 'td,th', getIsRoot(lcaTable));\n                  const startCell = startAncestorCells.length > 0 ? startAncestorCells[startAncestorCells.length - 1] : start;\n                  return Optional.some({\n                    boxes: nestedIntercepts(lcaTable, start, startTable, finish, finishTable),\n                    start: startCell,\n                    finish: finishCell\n                  });\n                });\n              });\n            }\n          });\n        });\n      }\n    };\n    const retrieve$1 = (container, selector) => {\n      const sels = descendants(container, selector);\n      return sels.length > 0 ? Optional.some(sels) : Optional.none();\n    };\n    const getLast = (boxes, lastSelectedSelector) => {\n      return find$1(boxes, box => {\n        return is$2(box, lastSelectedSelector);\n      });\n    };\n    const getEdges = (container, firstSelectedSelector, lastSelectedSelector) => {\n      return descendant(container, firstSelectedSelector).bind(first => {\n        return descendant(container, lastSelectedSelector).bind(last => {\n          return sharedOne(lookupTable, [first, last]).map(table => {\n            return {\n              first,\n              last,\n              table\n            };\n          });\n        });\n      });\n    };\n    const expandTo = (finish, firstSelectedSelector) => {\n      return ancestor$1(finish, 'table').bind(table => {\n        return descendant(table, firstSelectedSelector).bind(start => {\n          return identify(start, finish).bind(identified => {\n            return identified.boxes.map(boxes => {\n              return {\n                boxes,\n                start: identified.start,\n                finish: identified.finish\n              };\n            });\n          });\n        });\n      });\n    };\n    const shiftSelection = (boxes, deltaRow, deltaColumn, firstSelectedSelector, lastSelectedSelector) => {\n      return getLast(boxes, lastSelectedSelector).bind(last => {\n        return moveBy(last, deltaRow, deltaColumn).bind(finish => {\n          return expandTo(finish, firstSelectedSelector);\n        });\n      });\n    };\n\n    const retrieve = (container, selector) => {\n      return retrieve$1(container, selector);\n    };\n    const retrieveBox = (container, firstSelectedSelector, lastSelectedSelector) => {\n      return getEdges(container, firstSelectedSelector, lastSelectedSelector).bind(edges => {\n        const isRoot = ancestor => {\n          return eq$1(container, ancestor);\n        };\n        const sectionSelector = 'thead,tfoot,tbody,table';\n        const firstAncestor = ancestor$1(edges.first, sectionSelector, isRoot);\n        const lastAncestor = ancestor$1(edges.last, sectionSelector, isRoot);\n        return firstAncestor.bind(fA => {\n          return lastAncestor.bind(lA => {\n            return eq$1(fA, lA) ? getBox(edges.table, edges.first, edges.last) : Optional.none();\n          });\n        });\n      });\n    };\n\n    const selection = identity;\n    const unmergable = selectedCells => {\n      const hasSpan = (elem, type) => getOpt(elem, type).exists(span => parseInt(span, 10) > 1);\n      const hasRowOrColSpan = elem => hasSpan(elem, 'rowspan') || hasSpan(elem, 'colspan');\n      return selectedCells.length > 0 && forall(selectedCells, hasRowOrColSpan) ? Optional.some(selectedCells) : Optional.none();\n    };\n    const mergable = (table, selectedCells, ephemera) => {\n      if (selectedCells.length <= 1) {\n        return Optional.none();\n      } else {\n        return retrieveBox(table, ephemera.firstSelectedSelector, ephemera.lastSelectedSelector).map(bounds => ({\n          bounds,\n          cells: selectedCells\n        }));\n      }\n    };\n\n    const strSelected = 'data-mce-selected';\n    const strSelectedSelector = 'td[' + strSelected + '],th[' + strSelected + ']';\n    const strAttributeSelector = '[' + strSelected + ']';\n    const strFirstSelected = 'data-mce-first-selected';\n    const strFirstSelectedSelector = 'td[' + strFirstSelected + '],th[' + strFirstSelected + ']';\n    const strLastSelected = 'data-mce-last-selected';\n    const strLastSelectedSelector = 'td[' + strLastSelected + '],th[' + strLastSelected + ']';\n    const attributeSelector = strAttributeSelector;\n    const ephemera = {\n      selected: strSelected,\n      selectedSelector: strSelectedSelector,\n      firstSelected: strFirstSelected,\n      firstSelectedSelector: strFirstSelectedSelector,\n      lastSelected: strLastSelected,\n      lastSelectedSelector: strLastSelectedSelector\n    };\n\n    const forMenu = (selectedCells, table, cell) => ({\n      element: cell,\n      mergable: mergable(table, selectedCells, ephemera),\n      unmergable: unmergable(selectedCells),\n      selection: selection(selectedCells)\n    });\n    const paste = (element, clipboard, generators) => ({\n      element,\n      clipboard,\n      generators\n    });\n    const pasteRows = (selectedCells, _cell, clipboard, generators) => ({\n      selection: selection(selectedCells),\n      clipboard,\n      generators\n    });\n\n    const getSelectionCellFallback = element => table(element).bind(table => retrieve(table, ephemera.firstSelectedSelector)).fold(constant(element), cells => cells[0]);\n    const getSelectionFromSelector = selector => (initCell, isRoot) => {\n      const cellName = name(initCell);\n      const cell = cellName === 'col' || cellName === 'colgroup' ? getSelectionCellFallback(initCell) : initCell;\n      return closest$1(cell, selector, isRoot);\n    };\n    const getSelectionCellOrCaption = getSelectionFromSelector('th,td,caption');\n    const getSelectionCell = getSelectionFromSelector('th,td');\n    const getCellsFromSelection = editor => fromDom(editor.model.table.getSelectedCells());\n    const getCellsFromFakeSelection = editor => filter$2(getCellsFromSelection(editor), cell => is$2(cell, ephemera.selectedSelector));\n\n    const extractSelected = cells => {\n      return table(cells[0]).map(table => {\n        const replica = extract$1(table, attributeSelector);\n        removeDataStyle(replica);\n        return [replica];\n      });\n    };\n    const serializeElements = (editor, elements) => map$1(elements, elm => editor.selection.serializer.serialize(elm.dom, {})).join('');\n    const getTextContent = elements => map$1(elements, element => element.dom.innerText).join('');\n    const registerEvents = (editor, actions) => {\n      editor.on('BeforeGetContent', e => {\n        const multiCellContext = cells => {\n          e.preventDefault();\n          extractSelected(cells).each(elements => {\n            e.content = e.format === 'text' ? getTextContent(elements) : serializeElements(editor, elements);\n          });\n        };\n        if (e.selection === true) {\n          const cells = getCellsFromFakeSelection(editor);\n          if (cells.length >= 1) {\n            multiCellContext(cells);\n          }\n        }\n      });\n      editor.on('BeforeSetContent', e => {\n        if (e.selection === true && e.paste === true) {\n          const selectedCells = getCellsFromSelection(editor);\n          head(selectedCells).each(cell => {\n            table(cell).each(table => {\n              const elements = filter$2(fromHtml(e.content), content => {\n                return name(content) !== 'meta';\n              });\n              const isTable = isTag('table');\n              if (shouldMergeContentOnPaste(editor) && elements.length === 1 && isTable(elements[0])) {\n                e.preventDefault();\n                const doc = SugarElement.fromDom(editor.getDoc());\n                const generators = paste$1(doc);\n                const targets = paste(cell, elements[0], generators);\n                actions.pasteCells(table, targets).each(() => {\n                  editor.focus();\n                });\n              }\n            });\n          });\n        }\n      });\n    };\n\n    const point = (element, offset) => ({\n      element,\n      offset\n    });\n\n    const scan$1 = (universe, element, direction) => {\n      if (universe.property().isText(element) && universe.property().getText(element).trim().length === 0 || universe.property().isComment(element)) {\n        return direction(element).bind(elem => {\n          return scan$1(universe, elem, direction).orThunk(() => {\n            return Optional.some(elem);\n          });\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n    const toEnd = (universe, element) => {\n      if (universe.property().isText(element)) {\n        return universe.property().getText(element).length;\n      }\n      const children = universe.property().children(element);\n      return children.length;\n    };\n    const freefallRtl$2 = (universe, element) => {\n      const candidate = scan$1(universe, element, universe.query().prevSibling).getOr(element);\n      if (universe.property().isText(candidate)) {\n        return point(candidate, toEnd(universe, candidate));\n      }\n      const children = universe.property().children(candidate);\n      return children.length > 0 ? freefallRtl$2(universe, children[children.length - 1]) : point(candidate, toEnd(universe, candidate));\n    };\n\n    const freefallRtl$1 = freefallRtl$2;\n\n    const universe$2 = DomUniverse();\n    const freefallRtl = element => {\n      return freefallRtl$1(universe$2, element);\n    };\n\n    const halve = (main, other) => {\n      if (!hasColspan(main)) {\n        const width = getGenericWidth(main);\n        width.each(w => {\n          const newWidth = w.value / 2;\n          setGenericWidth(main, newWidth, w.unit);\n          setGenericWidth(other, newWidth, w.unit);\n        });\n      }\n    };\n\n    const zero = array => map$1(array, constant(0));\n    const surround = (sizes, startIndex, endIndex, results, f) => f(sizes.slice(0, startIndex)).concat(results).concat(f(sizes.slice(endIndex)));\n    const clampDeltaHelper = predicate => (sizes, index, delta, minCellSize) => {\n      if (!predicate(delta)) {\n        return delta;\n      } else {\n        const newSize = Math.max(minCellSize, sizes[index] - Math.abs(delta));\n        const diff = Math.abs(newSize - sizes[index]);\n        return delta >= 0 ? diff : -diff;\n      }\n    };\n    const clampNegativeDelta = clampDeltaHelper(delta => delta < 0);\n    const clampDelta = clampDeltaHelper(always);\n    const resizeTable = () => {\n      const calcFixedDeltas = (sizes, index, next, delta, minCellSize) => {\n        const clampedDelta = clampNegativeDelta(sizes, index, delta, minCellSize);\n        return surround(sizes, index, next + 1, [clampedDelta, 0], zero);\n      };\n      const calcRelativeDeltas = (sizes, index, delta, minCellSize) => {\n        const ratio = (100 + delta) / 100;\n        const newThis = Math.max(minCellSize, (sizes[index] + delta) / ratio);\n        return map$1(sizes, (size, idx) => {\n          const newSize = idx === index ? newThis : size / ratio;\n          return newSize - size;\n        });\n      };\n      const calcLeftEdgeDeltas = (sizes, index, next, delta, minCellSize, isRelative) => {\n        if (isRelative) {\n          return calcRelativeDeltas(sizes, index, delta, minCellSize);\n        } else {\n          return calcFixedDeltas(sizes, index, next, delta, minCellSize);\n        }\n      };\n      const calcMiddleDeltas = (sizes, _prev, index, next, delta, minCellSize, isRelative) => calcLeftEdgeDeltas(sizes, index, next, delta, minCellSize, isRelative);\n      const resizeTable = (resizer, delta) => resizer(delta);\n      const calcRightEdgeDeltas = (sizes, _prev, index, delta, minCellSize, isRelative) => {\n        if (isRelative) {\n          return calcRelativeDeltas(sizes, index, delta, minCellSize);\n        } else {\n          const clampedDelta = clampNegativeDelta(sizes, index, delta, minCellSize);\n          return zero(sizes.slice(0, index)).concat([clampedDelta]);\n        }\n      };\n      const calcRedestributedWidths = (sizes, totalWidth, pixelDelta, isRelative) => {\n        if (isRelative) {\n          const tableWidth = totalWidth + pixelDelta;\n          const ratio = tableWidth / totalWidth;\n          const newSizes = map$1(sizes, size => size / ratio);\n          return {\n            delta: ratio * 100 - 100,\n            newSizes\n          };\n        } else {\n          return {\n            delta: pixelDelta,\n            newSizes: sizes\n          };\n        }\n      };\n      return {\n        resizeTable,\n        clampTableDelta: clampNegativeDelta,\n        calcLeftEdgeDeltas,\n        calcMiddleDeltas,\n        calcRightEdgeDeltas,\n        calcRedestributedWidths\n      };\n    };\n    const preserveTable = () => {\n      const calcLeftEdgeDeltas = (sizes, index, next, delta, minCellSize) => {\n        const idx = delta >= 0 ? next : index;\n        const clampedDelta = clampDelta(sizes, idx, delta, minCellSize);\n        return surround(sizes, index, next + 1, [clampedDelta, -clampedDelta], zero);\n      };\n      const calcMiddleDeltas = (sizes, _prev, index, next, delta, minCellSize) => calcLeftEdgeDeltas(sizes, index, next, delta, minCellSize);\n      const resizeTable = (resizer, delta, isLastColumn) => {\n        if (isLastColumn) {\n          resizer(delta);\n        }\n      };\n      const calcRightEdgeDeltas = (sizes, _prev, _index, delta, _minCellSize, isRelative) => {\n        if (isRelative) {\n          return zero(sizes);\n        } else {\n          const diff = delta / sizes.length;\n          return map$1(sizes, constant(diff));\n        }\n      };\n      const clampTableDelta = (sizes, index, delta, minCellSize, isLastColumn) => {\n        if (isLastColumn) {\n          if (delta >= 0) {\n            return delta;\n          } else {\n            const maxDelta = foldl(sizes, (a, b) => a + b - minCellSize, 0);\n            return Math.max(-maxDelta, delta);\n          }\n        } else {\n          return clampNegativeDelta(sizes, index, delta, minCellSize);\n        }\n      };\n      const calcRedestributedWidths = (sizes, _totalWidth, _pixelDelta, _isRelative) => ({\n        delta: 0,\n        newSizes: sizes\n      });\n      return {\n        resizeTable,\n        clampTableDelta,\n        calcLeftEdgeDeltas,\n        calcMiddleDeltas,\n        calcRightEdgeDeltas,\n        calcRedestributedWidths\n      };\n    };\n\n    const getGridSize = table => {\n      const warehouse = Warehouse.fromTable(table);\n      return warehouse.grid;\n    };\n\n    const isHeaderCell = isTag('th');\n    const isHeaderCells = cells => forall(cells, cell => isHeaderCell(cell.element));\n    const getRowHeaderType = (isHeaderRow, isHeaderCells) => {\n      if (isHeaderRow && isHeaderCells) {\n        return 'sectionCells';\n      } else if (isHeaderRow) {\n        return 'section';\n      } else {\n        return 'cells';\n      }\n    };\n    const getRowType = row => {\n      const isHeaderRow = row.section === 'thead';\n      const isHeaderCells = is(findCommonCellType(row.cells), 'th');\n      if (row.section === 'tfoot') {\n        return {\n          type: 'footer'\n        };\n      } else if (isHeaderRow || isHeaderCells) {\n        return {\n          type: 'header',\n          subType: getRowHeaderType(isHeaderRow, isHeaderCells)\n        };\n      } else {\n        return {\n          type: 'body'\n        };\n      }\n    };\n    const findCommonCellType = cells => {\n      const headerCells = filter$2(cells, cell => isHeaderCell(cell.element));\n      if (headerCells.length === 0) {\n        return Optional.some('td');\n      } else if (headerCells.length === cells.length) {\n        return Optional.some('th');\n      } else {\n        return Optional.none();\n      }\n    };\n    const findCommonRowType = rows => {\n      const rowTypes = map$1(rows, row => getRowType(row).type);\n      const hasHeader = contains$2(rowTypes, 'header');\n      const hasFooter = contains$2(rowTypes, 'footer');\n      if (!hasHeader && !hasFooter) {\n        return Optional.some('body');\n      } else {\n        const hasBody = contains$2(rowTypes, 'body');\n        if (hasHeader && !hasBody && !hasFooter) {\n          return Optional.some('header');\n        } else if (!hasHeader && !hasBody && hasFooter) {\n          return Optional.some('footer');\n        } else {\n          return Optional.none();\n        }\n      }\n    };\n    const findTableRowHeaderType = warehouse => findMap(warehouse.all, row => {\n      const rowType = getRowType(row);\n      return rowType.type === 'header' ? Optional.from(rowType.subType) : Optional.none();\n    });\n\n    const transformCell = (cell, comparator, substitution) => elementnew(substitution(cell.element, comparator), true, cell.isLocked);\n    const transformRow = (row, section) => row.section !== section ? rowcells(row.element, row.cells, section, row.isNew) : row;\n    const section = () => ({\n      transformRow,\n      transformCell: (cell, comparator, substitution) => {\n        const newCell = substitution(cell.element, comparator);\n        const fixedCell = name(newCell) !== 'td' ? mutate$1(newCell, 'td') : newCell;\n        return elementnew(fixedCell, cell.isNew, cell.isLocked);\n      }\n    });\n    const sectionCells = () => ({\n      transformRow,\n      transformCell\n    });\n    const cells = () => ({\n      transformRow: (row, section) => {\n        const newSection = section === 'thead' ? 'tbody' : section;\n        return transformRow(row, newSection);\n      },\n      transformCell\n    });\n    const fallback = () => ({\n      transformRow: identity,\n      transformCell\n    });\n    const getTableSectionType = (table, fallback) => {\n      const warehouse = Warehouse.fromTable(table);\n      const type = findTableRowHeaderType(warehouse).getOr(fallback);\n      switch (type) {\n        case 'section':\n          return section();\n        case 'sectionCells':\n          return sectionCells();\n        case 'cells':\n          return cells();\n      }\n    };\n    const TableSection = {\n      getTableSectionType,\n      section,\n      sectionCells,\n      cells,\n      fallback\n    };\n\n    const setIfNot = (element, property, value, ignore) => {\n      if (value === ignore) {\n        remove$7(element, property);\n      } else {\n        set$2(element, property, value);\n      }\n    };\n    const insert$1 = (table, selector, element) => {\n      last$2(children(table, selector)).fold(() => prepend(table, element), child => after$5(child, element));\n    };\n    const generateSection = (table, sectionName) => {\n      const section = child(table, sectionName).getOrThunk(() => {\n        const newSection = SugarElement.fromTag(sectionName, owner(table).dom);\n        if (sectionName === 'thead') {\n          insert$1(table, 'caption,colgroup', newSection);\n        } else if (sectionName === 'colgroup') {\n          insert$1(table, 'caption', newSection);\n        } else {\n          append$1(table, newSection);\n        }\n        return newSection;\n      });\n      empty(section);\n      return section;\n    };\n    const render$1 = (table, grid) => {\n      const newRows = [];\n      const newCells = [];\n      const syncRows = gridSection => map$1(gridSection, row => {\n        if (row.isNew) {\n          newRows.push(row.element);\n        }\n        const tr = row.element;\n        empty(tr);\n        each$2(row.cells, cell => {\n          if (cell.isNew) {\n            newCells.push(cell.element);\n          }\n          setIfNot(cell.element, 'colspan', cell.colspan, 1);\n          setIfNot(cell.element, 'rowspan', cell.rowspan, 1);\n          append$1(tr, cell.element);\n        });\n        return tr;\n      });\n      const syncColGroup = gridSection => bind$2(gridSection, colGroup => map$1(colGroup.cells, col => {\n        setIfNot(col.element, 'span', col.colspan, 1);\n        return col.element;\n      }));\n      const renderSection = (gridSection, sectionName) => {\n        const section = generateSection(table, sectionName);\n        const sync = sectionName === 'colgroup' ? syncColGroup : syncRows;\n        const sectionElems = sync(gridSection);\n        append(section, sectionElems);\n      };\n      const removeSection = sectionName => {\n        child(table, sectionName).each(remove$6);\n      };\n      const renderOrRemoveSection = (gridSection, sectionName) => {\n        if (gridSection.length > 0) {\n          renderSection(gridSection, sectionName);\n        } else {\n          removeSection(sectionName);\n        }\n      };\n      const headSection = [];\n      const bodySection = [];\n      const footSection = [];\n      const columnGroupsSection = [];\n      each$2(grid, row => {\n        switch (row.section) {\n          case 'thead':\n            headSection.push(row);\n            break;\n          case 'tbody':\n            bodySection.push(row);\n            break;\n          case 'tfoot':\n            footSection.push(row);\n            break;\n          case 'colgroup':\n            columnGroupsSection.push(row);\n            break;\n        }\n      });\n      renderOrRemoveSection(columnGroupsSection, 'colgroup');\n      renderOrRemoveSection(headSection, 'thead');\n      renderOrRemoveSection(bodySection, 'tbody');\n      renderOrRemoveSection(footSection, 'tfoot');\n      return {\n        newRows,\n        newCells\n      };\n    };\n    const copy = grid => map$1(grid, row => {\n      const tr = shallow(row.element);\n      each$2(row.cells, cell => {\n        const clonedCell = deep(cell.element);\n        setIfNot(clonedCell, 'colspan', cell.colspan, 1);\n        setIfNot(clonedCell, 'rowspan', cell.rowspan, 1);\n        append$1(tr, clonedCell);\n      });\n      return tr;\n    });\n\n    const getColumn = (grid, index) => {\n      return map$1(grid, row => {\n        return getCell(row, index);\n      });\n    };\n    const getRow = (grid, index) => {\n      return grid[index];\n    };\n    const findDiff = (xs, comp) => {\n      if (xs.length === 0) {\n        return 0;\n      }\n      const first = xs[0];\n      const index = findIndex(xs, x => {\n        return !comp(first.element, x.element);\n      });\n      return index.getOr(xs.length);\n    };\n    const subgrid = (grid, row, column, comparator) => {\n      const gridRow = getRow(grid, row);\n      const isColRow = gridRow.section === 'colgroup';\n      const colspan = findDiff(gridRow.cells.slice(column), comparator);\n      const rowspan = isColRow ? 1 : findDiff(getColumn(grid.slice(row), column), comparator);\n      return {\n        colspan,\n        rowspan\n      };\n    };\n\n    const toDetails = (grid, comparator) => {\n      const seen = map$1(grid, row => map$1(row.cells, never));\n      const updateSeen = (rowIndex, columnIndex, rowspan, colspan) => {\n        for (let row = rowIndex; row < rowIndex + rowspan; row++) {\n          for (let column = columnIndex; column < columnIndex + colspan; column++) {\n            seen[row][column] = true;\n          }\n        }\n      };\n      return map$1(grid, (row, rowIndex) => {\n        const details = bind$2(row.cells, (cell, columnIndex) => {\n          if (seen[rowIndex][columnIndex] === false) {\n            const result = subgrid(grid, rowIndex, columnIndex, comparator);\n            updateSeen(rowIndex, columnIndex, result.rowspan, result.colspan);\n            return [detailnew(cell.element, result.rowspan, result.colspan, cell.isNew)];\n          } else {\n            return [];\n          }\n        });\n        return rowdetailnew(row.element, details, row.section, row.isNew);\n      });\n    };\n    const toGrid = (warehouse, generators, isNew) => {\n      const grid = [];\n      each$2(warehouse.colgroups, colgroup => {\n        const colgroupCols = [];\n        for (let columnIndex = 0; columnIndex < warehouse.grid.columns; columnIndex++) {\n          const element = Warehouse.getColumnAt(warehouse, columnIndex).map(column => elementnew(column.element, isNew, false)).getOrThunk(() => elementnew(generators.colGap(), true, false));\n          colgroupCols.push(element);\n        }\n        grid.push(rowcells(colgroup.element, colgroupCols, 'colgroup', isNew));\n      });\n      for (let rowIndex = 0; rowIndex < warehouse.grid.rows; rowIndex++) {\n        const rowCells = [];\n        for (let columnIndex = 0; columnIndex < warehouse.grid.columns; columnIndex++) {\n          const element = Warehouse.getAt(warehouse, rowIndex, columnIndex).map(item => elementnew(item.element, isNew, item.isLocked)).getOrThunk(() => elementnew(generators.gap(), true, false));\n          rowCells.push(element);\n        }\n        const rowDetail = warehouse.all[rowIndex];\n        const row = rowcells(rowDetail.element, rowCells, rowDetail.section, isNew);\n        grid.push(row);\n      }\n      return grid;\n    };\n\n    const fromWarehouse = (warehouse, generators) => toGrid(warehouse, generators, false);\n    const toDetailList = grid => toDetails(grid, eq$1);\n    const findInWarehouse = (warehouse, element) => findMap(warehouse.all, r => find$1(r.cells, e => eq$1(element, e.element)));\n    const extractCells = (warehouse, target, predicate) => {\n      const details = map$1(target.selection, cell$1 => {\n        return cell(cell$1).bind(lc => findInWarehouse(warehouse, lc)).filter(predicate);\n      });\n      const cells = cat(details);\n      return someIf(cells.length > 0, cells);\n    };\n    const run = (operation, extract, adjustment, postAction, genWrappers) => (table, target, generators, behaviours) => {\n      const warehouse = Warehouse.fromTable(table);\n      const tableSection = Optional.from(behaviours === null || behaviours === void 0 ? void 0 : behaviours.section).getOrThunk(TableSection.fallback);\n      const output = extract(warehouse, target).map(info => {\n        const model = fromWarehouse(warehouse, generators);\n        const result = operation(model, info, eq$1, genWrappers(generators), tableSection);\n        const lockedColumns = getLockedColumnsFromGrid(result.grid);\n        const grid = toDetailList(result.grid);\n        return {\n          info,\n          grid,\n          cursor: result.cursor,\n          lockedColumns\n        };\n      });\n      return output.bind(out => {\n        const newElements = render$1(table, out.grid);\n        const tableSizing = Optional.from(behaviours === null || behaviours === void 0 ? void 0 : behaviours.sizing).getOrThunk(() => TableSize.getTableSize(table));\n        const resizing = Optional.from(behaviours === null || behaviours === void 0 ? void 0 : behaviours.resize).getOrThunk(preserveTable);\n        adjustment(table, out.grid, out.info, {\n          sizing: tableSizing,\n          resize: resizing,\n          section: tableSection\n        });\n        postAction(table);\n        remove$7(table, LOCKED_COL_ATTR);\n        if (out.lockedColumns.length > 0) {\n          set$2(table, LOCKED_COL_ATTR, out.lockedColumns.join(','));\n        }\n        return Optional.some({\n          cursor: out.cursor,\n          newRows: newElements.newRows,\n          newCells: newElements.newCells\n        });\n      });\n    };\n    const onPaste = (warehouse, target) => cell(target.element).bind(cell => findInWarehouse(warehouse, cell).map(details => {\n      const value = {\n        ...details,\n        generators: target.generators,\n        clipboard: target.clipboard\n      };\n      return value;\n    }));\n    const onPasteByEditor = (warehouse, target) => extractCells(warehouse, target, always).map(cells => ({\n      cells,\n      generators: target.generators,\n      clipboard: target.clipboard\n    }));\n    const onMergable = (_warehouse, target) => target.mergable;\n    const onUnmergable = (_warehouse, target) => target.unmergable;\n    const onCells = (warehouse, target) => extractCells(warehouse, target, always);\n    const onUnlockedCells = (warehouse, target) => extractCells(warehouse, target, detail => !detail.isLocked);\n    const isUnlockedTableCell = (warehouse, cell) => findInWarehouse(warehouse, cell).exists(detail => !detail.isLocked);\n    const allUnlocked = (warehouse, cells) => forall(cells, cell => isUnlockedTableCell(warehouse, cell));\n    const onUnlockedMergable = (warehouse, target) => onMergable(warehouse, target).filter(mergeable => allUnlocked(warehouse, mergeable.cells));\n    const onUnlockedUnmergable = (warehouse, target) => onUnmergable(warehouse, target).filter(cells => allUnlocked(warehouse, cells));\n\n    const merge$2 = (grid, bounds, comparator, substitution) => {\n      const rows = extractGridDetails(grid).rows;\n      if (rows.length === 0) {\n        return grid;\n      }\n      for (let i = bounds.startRow; i <= bounds.finishRow; i++) {\n        for (let j = bounds.startCol; j <= bounds.finishCol; j++) {\n          const row = rows[i];\n          const isLocked = getCell(row, j).isLocked;\n          mutateCell(row, j, elementnew(substitution(), false, isLocked));\n        }\n      }\n      return grid;\n    };\n    const unmerge = (grid, target, comparator, substitution) => {\n      const rows = extractGridDetails(grid).rows;\n      let first = true;\n      for (let i = 0; i < rows.length; i++) {\n        for (let j = 0; j < cellLength(rows[0]); j++) {\n          const row = rows[i];\n          const currentCell = getCell(row, j);\n          const currentCellElm = currentCell.element;\n          const isToReplace = comparator(currentCellElm, target);\n          if (isToReplace && !first) {\n            mutateCell(row, j, elementnew(substitution(), true, currentCell.isLocked));\n          } else if (isToReplace) {\n            first = false;\n          }\n        }\n      }\n      return grid;\n    };\n    const uniqueCells = (row, comparator) => {\n      return foldl(row, (rest, cell) => {\n        return exists(rest, currentCell => {\n          return comparator(currentCell.element, cell.element);\n        }) ? rest : rest.concat([cell]);\n      }, []);\n    };\n    const splitCols = (grid, index, comparator, substitution) => {\n      if (index > 0 && index < grid[0].cells.length) {\n        each$2(grid, row => {\n          const prevCell = row.cells[index - 1];\n          let offset = 0;\n          const substitute = substitution();\n          while (row.cells.length > index + offset && comparator(prevCell.element, row.cells[index + offset].element)) {\n            mutateCell(row, index + offset, elementnew(substitute, true, row.cells[index + offset].isLocked));\n            offset++;\n          }\n        });\n      }\n      return grid;\n    };\n    const splitRows = (grid, index, comparator, substitution) => {\n      const rows = extractGridDetails(grid).rows;\n      if (index > 0 && index < rows.length) {\n        const rowPrevCells = rows[index - 1].cells;\n        const cells = uniqueCells(rowPrevCells, comparator);\n        each$2(cells, cell => {\n          let replacement = Optional.none();\n          for (let i = index; i < rows.length; i++) {\n            for (let j = 0; j < cellLength(rows[0]); j++) {\n              const row = rows[i];\n              const current = getCell(row, j);\n              const isToReplace = comparator(current.element, cell.element);\n              if (isToReplace) {\n                if (replacement.isNone()) {\n                  replacement = Optional.some(substitution());\n                }\n                replacement.each(sub => {\n                  mutateCell(row, j, elementnew(sub, true, current.isLocked));\n                });\n              }\n            }\n          }\n        });\n      }\n      return grid;\n    };\n\n    const value$1 = value => {\n      const applyHelper = fn => fn(value);\n      const constHelper = constant(value);\n      const outputHelper = () => output;\n      const output = {\n        tag: true,\n        inner: value,\n        fold: (_onError, onValue) => onValue(value),\n        isValue: always,\n        isError: never,\n        map: mapper => Result.value(mapper(value)),\n        mapError: outputHelper,\n        bind: applyHelper,\n        exists: applyHelper,\n        forall: applyHelper,\n        getOr: constHelper,\n        or: outputHelper,\n        getOrThunk: constHelper,\n        orThunk: outputHelper,\n        getOrDie: constHelper,\n        each: fn => {\n          fn(value);\n        },\n        toOptional: () => Optional.some(value)\n      };\n      return output;\n    };\n    const error = error => {\n      const outputHelper = () => output;\n      const output = {\n        tag: false,\n        inner: error,\n        fold: (onError, _onValue) => onError(error),\n        isValue: never,\n        isError: always,\n        map: outputHelper,\n        mapError: mapper => Result.error(mapper(error)),\n        bind: outputHelper,\n        exists: never,\n        forall: always,\n        getOr: identity,\n        or: identity,\n        getOrThunk: apply,\n        orThunk: apply,\n        getOrDie: die(String(error)),\n        each: noop,\n        toOptional: Optional.none\n      };\n      return output;\n    };\n    const fromOption = (optional, err) => optional.fold(() => error(err), value$1);\n    const Result = {\n      value: value$1,\n      error,\n      fromOption\n    };\n\n    const measure = (startAddress, gridA, gridB) => {\n      if (startAddress.row >= gridA.length || startAddress.column > cellLength(gridA[0])) {\n        return Result.error('invalid start address out of table bounds, row: ' + startAddress.row + ', column: ' + startAddress.column);\n      }\n      const rowRemainder = gridA.slice(startAddress.row);\n      const colRemainder = rowRemainder[0].cells.slice(startAddress.column);\n      const colRequired = cellLength(gridB[0]);\n      const rowRequired = gridB.length;\n      return Result.value({\n        rowDelta: rowRemainder.length - rowRequired,\n        colDelta: colRemainder.length - colRequired\n      });\n    };\n    const measureWidth = (gridA, gridB) => {\n      const colLengthA = cellLength(gridA[0]);\n      const colLengthB = cellLength(gridB[0]);\n      return {\n        rowDelta: 0,\n        colDelta: colLengthA - colLengthB\n      };\n    };\n    const measureHeight = (gridA, gridB) => {\n      const rowLengthA = gridA.length;\n      const rowLengthB = gridB.length;\n      return {\n        rowDelta: rowLengthA - rowLengthB,\n        colDelta: 0\n      };\n    };\n    const generateElements = (amount, row, generators, isLocked) => {\n      const generator = row.section === 'colgroup' ? generators.col : generators.cell;\n      return range$1(amount, idx => elementnew(generator(), true, isLocked(idx)));\n    };\n    const rowFill = (grid, amount, generators, lockedColumns) => {\n      const exampleRow = grid[grid.length - 1];\n      return grid.concat(range$1(amount, () => {\n        const generator = exampleRow.section === 'colgroup' ? generators.colgroup : generators.row;\n        const row = clone(exampleRow, generator, identity);\n        const elements = generateElements(row.cells.length, row, generators, idx => has$1(lockedColumns, idx.toString()));\n        return setCells(row, elements);\n      }));\n    };\n    const colFill = (grid, amount, generators, startIndex) => map$1(grid, row => {\n      const newChildren = generateElements(amount, row, generators, never);\n      return addCells(row, startIndex, newChildren);\n    });\n    const lockedColFill = (grid, generators, lockedColumns) => map$1(grid, row => {\n      return foldl(lockedColumns, (acc, colNum) => {\n        const newChild = generateElements(1, row, generators, always)[0];\n        return addCell(acc, colNum, newChild);\n      }, row);\n    });\n    const tailor = (gridA, delta, generators) => {\n      const fillCols = delta.colDelta < 0 ? colFill : identity;\n      const fillRows = delta.rowDelta < 0 ? rowFill : identity;\n      const lockedColumns = getLockedColumnsFromGrid(gridA);\n      const gridWidth = cellLength(gridA[0]);\n      const isLastColLocked = exists(lockedColumns, locked => locked === gridWidth - 1);\n      const modifiedCols = fillCols(gridA, Math.abs(delta.colDelta), generators, isLastColLocked ? gridWidth - 1 : gridWidth);\n      const newLockedColumns = getLockedColumnsFromGrid(modifiedCols);\n      return fillRows(modifiedCols, Math.abs(delta.rowDelta), generators, mapToObject(newLockedColumns, always));\n    };\n\n    const isSpanning = (grid, row, col, comparator) => {\n      const candidate = getCell(grid[row], col);\n      const matching = curry(comparator, candidate.element);\n      const currentRow = grid[row];\n      return grid.length > 1 && cellLength(currentRow) > 1 && (col > 0 && matching(getCellElement(currentRow, col - 1)) || col < currentRow.cells.length - 1 && matching(getCellElement(currentRow, col + 1)) || row > 0 && matching(getCellElement(grid[row - 1], col)) || row < grid.length - 1 && matching(getCellElement(grid[row + 1], col)));\n    };\n    const mergeTables = (startAddress, gridA, gridBRows, generator, comparator, lockedColumns) => {\n      const startRow = startAddress.row;\n      const startCol = startAddress.column;\n      const mergeHeight = gridBRows.length;\n      const mergeWidth = cellLength(gridBRows[0]);\n      const endRow = startRow + mergeHeight;\n      const endCol = startCol + mergeWidth + lockedColumns.length;\n      const lockedColumnObj = mapToObject(lockedColumns, always);\n      for (let r = startRow; r < endRow; r++) {\n        let skippedCol = 0;\n        for (let c = startCol; c < endCol; c++) {\n          if (lockedColumnObj[c]) {\n            skippedCol++;\n            continue;\n          }\n          if (isSpanning(gridA, r, c, comparator)) {\n            unmerge(gridA, getCellElement(gridA[r], c), comparator, generator.cell);\n          }\n          const gridBColIndex = c - startCol - skippedCol;\n          const newCell = getCell(gridBRows[r - startRow], gridBColIndex);\n          const newCellElm = newCell.element;\n          const replacement = generator.replace(newCellElm);\n          mutateCell(gridA[r], c, elementnew(replacement, true, newCell.isLocked));\n        }\n      }\n      return gridA;\n    };\n    const getValidStartAddress = (currentStartAddress, grid, lockedColumns) => {\n      const gridColLength = cellLength(grid[0]);\n      const adjustedRowAddress = extractGridDetails(grid).cols.length + currentStartAddress.row;\n      const possibleColAddresses = range$1(gridColLength - currentStartAddress.column, num => num + currentStartAddress.column);\n      const validColAddress = find$1(possibleColAddresses, num => forall(lockedColumns, col => col !== num)).getOr(gridColLength - 1);\n      return {\n        row: adjustedRowAddress,\n        column: validColAddress\n      };\n    };\n    const getLockedColumnsWithinBounds = (startAddress, rows, lockedColumns) => filter$2(lockedColumns, colNum => colNum >= startAddress.column && colNum <= cellLength(rows[0]) + startAddress.column);\n    const merge$1 = (startAddress, gridA, gridB, generator, comparator) => {\n      const lockedColumns = getLockedColumnsFromGrid(gridA);\n      const validStartAddress = getValidStartAddress(startAddress, gridA, lockedColumns);\n      const gridBRows = extractGridDetails(gridB).rows;\n      const lockedColumnsWithinBounds = getLockedColumnsWithinBounds(validStartAddress, gridBRows, lockedColumns);\n      const result = measure(validStartAddress, gridA, gridBRows);\n      return result.map(diff => {\n        const delta = {\n          ...diff,\n          colDelta: diff.colDelta - lockedColumnsWithinBounds.length\n        };\n        const fittedGrid = tailor(gridA, delta, generator);\n        const newLockedColumns = getLockedColumnsFromGrid(fittedGrid);\n        const newLockedColumnsWithinBounds = getLockedColumnsWithinBounds(validStartAddress, gridBRows, newLockedColumns);\n        return mergeTables(validStartAddress, fittedGrid, gridBRows, generator, comparator, newLockedColumnsWithinBounds);\n      });\n    };\n    const insertCols = (index, gridA, gridB, generator, comparator) => {\n      splitCols(gridA, index, comparator, generator.cell);\n      const delta = measureHeight(gridB, gridA);\n      const fittedNewGrid = tailor(gridB, delta, generator);\n      const secondDelta = measureHeight(gridA, fittedNewGrid);\n      const fittedOldGrid = tailor(gridA, secondDelta, generator);\n      return map$1(fittedOldGrid, (gridRow, i) => {\n        return addCells(gridRow, index, fittedNewGrid[i].cells);\n      });\n    };\n    const insertRows = (index, gridA, gridB, generator, comparator) => {\n      splitRows(gridA, index, comparator, generator.cell);\n      const locked = getLockedColumnsFromGrid(gridA);\n      const diff = measureWidth(gridA, gridB);\n      const delta = {\n        ...diff,\n        colDelta: diff.colDelta - locked.length\n      };\n      const fittedOldGrid = tailor(gridA, delta, generator);\n      const {\n        cols: oldCols,\n        rows: oldRows\n      } = extractGridDetails(fittedOldGrid);\n      const newLocked = getLockedColumnsFromGrid(fittedOldGrid);\n      const secondDiff = measureWidth(gridB, gridA);\n      const secondDelta = {\n        ...secondDiff,\n        colDelta: secondDiff.colDelta + newLocked.length\n      };\n      const fittedGridB = lockedColFill(gridB, generator, newLocked);\n      const fittedNewGrid = tailor(fittedGridB, secondDelta, generator);\n      return [...oldCols, ...oldRows.slice(0, index), ...fittedNewGrid, ...oldRows.slice(index, oldRows.length)];\n    };\n\n    const cloneRow = (row, cloneCell, comparator, substitution) => clone(row, elem => substitution(elem, comparator), cloneCell);\n    const insertRowAt = (grid, index, example, comparator, substitution) => {\n      const {\n        rows,\n        cols\n      } = extractGridDetails(grid);\n      const before = rows.slice(0, index);\n      const after = rows.slice(index);\n      const newRow = cloneRow(rows[example], (ex, c) => {\n        const withinSpan = index > 0 && index < rows.length && comparator(getCellElement(rows[index - 1], c), getCellElement(rows[index], c));\n        const ret = withinSpan ? getCell(rows[index], c) : elementnew(substitution(ex.element, comparator), true, ex.isLocked);\n        return ret;\n      }, comparator, substitution);\n      return [...cols, ...before, newRow, ...after];\n    };\n    const getElementFor = (row, column, section, withinSpan, example, comparator, substitution) => {\n      if (section === 'colgroup' || !withinSpan) {\n        const cell = getCell(row, example);\n        return elementnew(substitution(cell.element, comparator), true, false);\n      } else {\n        return getCell(row, column);\n      }\n    };\n    const insertColumnAt = (grid, index, example, comparator, substitution) => map$1(grid, row => {\n      const withinSpan = index > 0 && index < cellLength(row) && comparator(getCellElement(row, index - 1), getCellElement(row, index));\n      const sub = getElementFor(row, index, row.section, withinSpan, example, comparator, substitution);\n      return addCell(row, index, sub);\n    });\n    const deleteColumnsAt = (grid, columns) => bind$2(grid, row => {\n      const existingCells = row.cells;\n      const cells = foldr(columns, (acc, column) => column >= 0 && column < acc.length ? acc.slice(0, column).concat(acc.slice(column + 1)) : acc, existingCells);\n      return cells.length > 0 ? [rowcells(row.element, cells, row.section, row.isNew)] : [];\n    });\n    const deleteRowsAt = (grid, start, finish) => {\n      const {\n        rows,\n        cols\n      } = extractGridDetails(grid);\n      return [...cols, ...rows.slice(0, start), ...rows.slice(finish + 1)];\n    };\n\n    const notInStartRow = (grid, rowIndex, colIndex, comparator) => getCellElement(grid[rowIndex], colIndex) !== undefined && rowIndex > 0 && comparator(getCellElement(grid[rowIndex - 1], colIndex), getCellElement(grid[rowIndex], colIndex));\n    const notInStartColumn = (row, index, comparator) => index > 0 && comparator(getCellElement(row, index - 1), getCellElement(row, index));\n    const isDuplicatedCell = (grid, rowIndex, colIndex, comparator) => notInStartRow(grid, rowIndex, colIndex, comparator) || notInStartColumn(grid[rowIndex], colIndex, comparator);\n    const rowReplacerPredicate = (targetRow, columnHeaders) => {\n      const entireTableIsHeader = forall(columnHeaders, identity) && isHeaderCells(targetRow.cells);\n      return entireTableIsHeader ? always : (cell, _rowIndex, colIndex) => {\n        const type = name(cell.element);\n        return !(type === 'th' && columnHeaders[colIndex]);\n      };\n    };\n    const columnReplacePredicate = (targetColumn, rowHeaders) => {\n      const entireTableIsHeader = forall(rowHeaders, identity) && isHeaderCells(targetColumn);\n      return entireTableIsHeader ? always : (cell, rowIndex, _colIndex) => {\n        const type = name(cell.element);\n        return !(type === 'th' && rowHeaders[rowIndex]);\n      };\n    };\n    const determineScope = (applyScope, cell, newScope, isInHeader) => {\n      const hasSpan = scope => scope === 'row' ? hasRowspan(cell) : hasColspan(cell);\n      const getScope = scope => hasSpan(scope) ? \"\".concat(scope, \"group\") : scope;\n      if (applyScope) {\n        return isHeaderCell(cell) ? getScope(newScope) : null;\n      } else if (isInHeader && isHeaderCell(cell)) {\n        const oppositeScope = newScope === 'row' ? 'col' : 'row';\n        return getScope(oppositeScope);\n      } else {\n        return null;\n      }\n    };\n    const rowScopeGenerator = (applyScope, columnHeaders) => (cell, rowIndex, columnIndex) => Optional.some(determineScope(applyScope, cell.element, 'col', columnHeaders[columnIndex]));\n    const columnScopeGenerator = (applyScope, rowHeaders) => (cell, rowIndex) => Optional.some(determineScope(applyScope, cell.element, 'row', rowHeaders[rowIndex]));\n    const replace = (cell, comparator, substitute) => elementnew(substitute(cell.element, comparator), true, cell.isLocked);\n    const replaceIn = (grid, targets, comparator, substitute, replacer, genScope, shouldReplace) => {\n      const isTarget = cell => {\n        return exists(targets, target => {\n          return comparator(cell.element, target.element);\n        });\n      };\n      return map$1(grid, (row, rowIndex) => {\n        return mapCells(row, (cell, colIndex) => {\n          if (isTarget(cell)) {\n            const newCell = shouldReplace(cell, rowIndex, colIndex) ? replacer(cell, comparator, substitute) : cell;\n            genScope(newCell, rowIndex, colIndex).each(scope => {\n              setOptions(newCell.element, {\n                scope: Optional.from(scope)\n              });\n            });\n            return newCell;\n          } else {\n            return cell;\n          }\n        });\n      });\n    };\n    const getColumnCells = (rows, columnIndex, comparator) => bind$2(rows, (row, i) => {\n      return isDuplicatedCell(rows, i, columnIndex, comparator) ? [] : [getCell(row, columnIndex)];\n    });\n    const getRowCells = (rows, rowIndex, comparator) => {\n      const targetRow = rows[rowIndex];\n      return bind$2(targetRow.cells, (item, i) => {\n        return isDuplicatedCell(rows, rowIndex, i, comparator) ? [] : [item];\n      });\n    };\n    const replaceColumns = (grid, indexes, applyScope, comparator, substitution) => {\n      const rows = extractGridDetails(grid).rows;\n      const targets = bind$2(indexes, index => getColumnCells(rows, index, comparator));\n      const rowHeaders = map$1(rows, row => isHeaderCells(row.cells));\n      const shouldReplaceCell = columnReplacePredicate(targets, rowHeaders);\n      const scopeGenerator = columnScopeGenerator(applyScope, rowHeaders);\n      return replaceIn(grid, targets, comparator, substitution, replace, scopeGenerator, shouldReplaceCell);\n    };\n    const replaceRows = (grid, indexes, section, applyScope, comparator, substitution, tableSection) => {\n      const {\n        cols,\n        rows\n      } = extractGridDetails(grid);\n      const targetRow = rows[indexes[0]];\n      const targets = bind$2(indexes, index => getRowCells(rows, index, comparator));\n      const columnHeaders = map$1(targetRow.cells, (_cell, index) => isHeaderCells(getColumnCells(rows, index, comparator)));\n      const newRows = [...rows];\n      each$2(indexes, index => {\n        newRows[index] = tableSection.transformRow(rows[index], section);\n      });\n      const newGrid = [...cols, ...newRows];\n      const shouldReplaceCell = rowReplacerPredicate(targetRow, columnHeaders);\n      const scopeGenerator = rowScopeGenerator(applyScope, columnHeaders);\n      return replaceIn(newGrid, targets, comparator, substitution, tableSection.transformCell, scopeGenerator, shouldReplaceCell);\n    };\n    const replaceCells = (grid, details, comparator, substitution) => {\n      const rows = extractGridDetails(grid).rows;\n      const targetCells = map$1(details, detail => getCell(rows[detail.row], detail.column));\n      return replaceIn(grid, targetCells, comparator, substitution, replace, Optional.none, always);\n    };\n\n    const generate = cases => {\n      if (!isArray(cases)) {\n        throw new Error('cases must be an array');\n      }\n      if (cases.length === 0) {\n        throw new Error('there must be at least one case');\n      }\n      const constructors = [];\n      const adt = {};\n      each$2(cases, (acase, count) => {\n        const keys$1 = keys(acase);\n        if (keys$1.length !== 1) {\n          throw new Error('one and only one name per case');\n        }\n        const key = keys$1[0];\n        const value = acase[key];\n        if (adt[key] !== undefined) {\n          throw new Error('duplicate key detected:' + key);\n        } else if (key === 'cata') {\n          throw new Error('cannot have a case named cata (sorry)');\n        } else if (!isArray(value)) {\n          throw new Error('case arguments must be an array');\n        }\n        constructors.push(key);\n        adt[key] = (...args) => {\n          const argLength = args.length;\n          if (argLength !== value.length) {\n            throw new Error('Wrong number of arguments to case ' + key + '. Expected ' + value.length + ' (' + value + '), got ' + argLength);\n          }\n          const match = branches => {\n            const branchKeys = keys(branches);\n            if (constructors.length !== branchKeys.length) {\n              throw new Error('Wrong number of arguments to match. Expected: ' + constructors.join(',') + '\\nActual: ' + branchKeys.join(','));\n            }\n            const allReqd = forall(constructors, reqKey => {\n              return contains$2(branchKeys, reqKey);\n            });\n            if (!allReqd) {\n              throw new Error('Not all branches were specified when using match. Specified: ' + branchKeys.join(', ') + '\\nRequired: ' + constructors.join(', '));\n            }\n            return branches[key].apply(null, args);\n          };\n          return {\n            fold: (...foldArgs) => {\n              if (foldArgs.length !== cases.length) {\n                throw new Error('Wrong number of arguments to fold. Expected ' + cases.length + ', got ' + foldArgs.length);\n              }\n              const target = foldArgs[count];\n              return target.apply(null, args);\n            },\n            match,\n            log: label => {\n              console.log(label, {\n                constructors,\n                constructor: key,\n                params: args\n              });\n            }\n          };\n        };\n      });\n      return adt;\n    };\n    const Adt = {\n      generate\n    };\n\n    const adt$6 = Adt.generate([{\n      none: []\n    }, {\n      only: ['index']\n    }, {\n      left: ['index', 'next']\n    }, {\n      middle: ['prev', 'index', 'next']\n    }, {\n      right: ['prev', 'index']\n    }]);\n    const ColumnContext = {\n      ...adt$6\n    };\n\n    const neighbours = (input, index) => {\n      if (input.length === 0) {\n        return ColumnContext.none();\n      }\n      if (input.length === 1) {\n        return ColumnContext.only(0);\n      }\n      if (index === 0) {\n        return ColumnContext.left(0, 1);\n      }\n      if (index === input.length - 1) {\n        return ColumnContext.right(index - 1, index);\n      }\n      if (index > 0 && index < input.length - 1) {\n        return ColumnContext.middle(index - 1, index, index + 1);\n      }\n      return ColumnContext.none();\n    };\n    const determine = (input, column, step, tableSize, resize) => {\n      const result = input.slice(0);\n      const context = neighbours(input, column);\n      const onNone = constant(map$1(result, constant(0)));\n      const onOnly = index => tableSize.singleColumnWidth(result[index], step);\n      const onLeft = (index, next) => resize.calcLeftEdgeDeltas(result, index, next, step, tableSize.minCellWidth(), tableSize.isRelative);\n      const onMiddle = (prev, index, next) => resize.calcMiddleDeltas(result, prev, index, next, step, tableSize.minCellWidth(), tableSize.isRelative);\n      const onRight = (prev, index) => resize.calcRightEdgeDeltas(result, prev, index, step, tableSize.minCellWidth(), tableSize.isRelative);\n      return context.fold(onNone, onOnly, onLeft, onMiddle, onRight);\n    };\n\n    const total = (start, end, measures) => {\n      let r = 0;\n      for (let i = start; i < end; i++) {\n        r += measures[i] !== undefined ? measures[i] : 0;\n      }\n      return r;\n    };\n    const recalculateWidthForCells = (warehouse, widths) => {\n      const all = Warehouse.justCells(warehouse);\n      return map$1(all, cell => {\n        const width = total(cell.column, cell.column + cell.colspan, widths);\n        return {\n          element: cell.element,\n          width,\n          colspan: cell.colspan\n        };\n      });\n    };\n    const recalculateWidthForColumns = (warehouse, widths) => {\n      const groups = Warehouse.justColumns(warehouse);\n      return map$1(groups, (column, index) => ({\n        element: column.element,\n        width: widths[index],\n        colspan: column.colspan\n      }));\n    };\n    const recalculateHeightForCells = (warehouse, heights) => {\n      const all = Warehouse.justCells(warehouse);\n      return map$1(all, cell => {\n        const height = total(cell.row, cell.row + cell.rowspan, heights);\n        return {\n          element: cell.element,\n          height,\n          rowspan: cell.rowspan\n        };\n      });\n    };\n    const matchRowHeight = (warehouse, heights) => {\n      return map$1(warehouse.all, (row, i) => {\n        return {\n          element: row.element,\n          height: heights[i]\n        };\n      });\n    };\n\n    const sumUp = newSize => foldr(newSize, (b, a) => b + a, 0);\n    const recalculate = (warehouse, widths) => {\n      if (Warehouse.hasColumns(warehouse)) {\n        return recalculateWidthForColumns(warehouse, widths);\n      } else {\n        return recalculateWidthForCells(warehouse, widths);\n      }\n    };\n    const recalculateAndApply = (warehouse, widths, tableSize) => {\n      const newSizes = recalculate(warehouse, widths);\n      each$2(newSizes, cell => {\n        tableSize.setElementWidth(cell.element, cell.width);\n      });\n    };\n    const adjustWidth = (table, delta, index, resizing, tableSize) => {\n      const warehouse = Warehouse.fromTable(table);\n      const step = tableSize.getCellDelta(delta);\n      const widths = tableSize.getWidths(warehouse, tableSize);\n      const isLastColumn = index === warehouse.grid.columns - 1;\n      const clampedStep = resizing.clampTableDelta(widths, index, step, tableSize.minCellWidth(), isLastColumn);\n      const deltas = determine(widths, index, clampedStep, tableSize, resizing);\n      const newWidths = map$1(deltas, (dx, i) => dx + widths[i]);\n      recalculateAndApply(warehouse, newWidths, tableSize);\n      resizing.resizeTable(tableSize.adjustTableWidth, clampedStep, isLastColumn);\n    };\n    const adjustHeight = (table, delta, index, direction) => {\n      const warehouse = Warehouse.fromTable(table);\n      const heights = getPixelHeights(warehouse, table, direction);\n      const newHeights = map$1(heights, (dy, i) => index === i ? Math.max(delta + dy, minHeight()) : dy);\n      const newCellSizes = recalculateHeightForCells(warehouse, newHeights);\n      const newRowSizes = matchRowHeight(warehouse, newHeights);\n      each$2(newRowSizes, row => {\n        setHeight(row.element, row.height);\n      });\n      each$2(newCellSizes, cell => {\n        setHeight(cell.element, cell.height);\n      });\n      const total = sumUp(newHeights);\n      setHeight(table, total);\n    };\n    const adjustAndRedistributeWidths$1 = (_table, list, details, tableSize, resizeBehaviour) => {\n      const warehouse = Warehouse.generate(list);\n      const sizes = tableSize.getWidths(warehouse, tableSize);\n      const tablePixelWidth = tableSize.pixelWidth();\n      const {\n        newSizes,\n        delta\n      } = resizeBehaviour.calcRedestributedWidths(sizes, tablePixelWidth, details.pixelDelta, tableSize.isRelative);\n      recalculateAndApply(warehouse, newSizes, tableSize);\n      tableSize.adjustTableWidth(delta);\n    };\n    const adjustWidthTo = (_table, list, _info, tableSize) => {\n      const warehouse = Warehouse.generate(list);\n      const widths = tableSize.getWidths(warehouse, tableSize);\n      recalculateAndApply(warehouse, widths, tableSize);\n    };\n\n    const uniqueColumns = details => {\n      const uniqueCheck = (rest, detail) => {\n        const columnExists = exists(rest, currentDetail => currentDetail.column === detail.column);\n        return columnExists ? rest : rest.concat([detail]);\n      };\n      return foldl(details, uniqueCheck, []).sort((detailA, detailB) => detailA.column - detailB.column);\n    };\n\n    const isCol = isTag('col');\n    const isColgroup = isTag('colgroup');\n    const isRow$1 = element => name(element) === 'tr' || isColgroup(element);\n    const elementToData = element => {\n      const colspan = getAttrValue(element, 'colspan', 1);\n      const rowspan = getAttrValue(element, 'rowspan', 1);\n      return {\n        element,\n        colspan,\n        rowspan\n      };\n    };\n    const modification = (generators, toData = elementToData) => {\n      const nuCell = data => isCol(data.element) ? generators.col(data) : generators.cell(data);\n      const nuRow = data => isColgroup(data.element) ? generators.colgroup(data) : generators.row(data);\n      const add = element => {\n        if (isRow$1(element)) {\n          return nuRow({\n            element\n          });\n        } else {\n          const cell = element;\n          const replacement = nuCell(toData(cell));\n          recent = Optional.some({\n            item: cell,\n            replacement\n          });\n          return replacement;\n        }\n      };\n      let recent = Optional.none();\n      const getOrInit = (element, comparator) => {\n        return recent.fold(() => {\n          return add(element);\n        }, p => {\n          return comparator(element, p.item) ? p.replacement : add(element);\n        });\n      };\n      return {\n        getOrInit\n      };\n    };\n    const transform$1 = tag => {\n      return generators => {\n        const list = [];\n        const find = (element, comparator) => {\n          return find$1(list, x => {\n            return comparator(x.item, element);\n          });\n        };\n        const makeNew = element => {\n          const attrs = tag === 'td' ? {\n            scope: null\n          } : {};\n          const cell = generators.replace(element, tag, attrs);\n          list.push({\n            item: element,\n            sub: cell\n          });\n          return cell;\n        };\n        const replaceOrInit = (element, comparator) => {\n          if (isRow$1(element) || isCol(element)) {\n            return element;\n          } else {\n            const cell = element;\n            return find(cell, comparator).fold(() => {\n              return makeNew(cell);\n            }, p => {\n              return comparator(element, p.item) ? p.sub : makeNew(cell);\n            });\n          }\n        };\n        return {\n          replaceOrInit\n        };\n      };\n    };\n    const getScopeAttribute = cell => getOpt(cell, 'scope').map(attribute => attribute.substr(0, 3));\n    const merging = generators => {\n      const unmerge = cell => {\n        const scope = getScopeAttribute(cell);\n        scope.each(attribute => set$2(cell, 'scope', attribute));\n        return () => {\n          const raw = generators.cell({\n            element: cell,\n            colspan: 1,\n            rowspan: 1\n          });\n          remove$5(raw, 'width');\n          remove$5(cell, 'width');\n          scope.each(attribute => set$2(raw, 'scope', attribute));\n          return raw;\n        };\n      };\n      const merge = cells => {\n        const getScopeProperty = () => {\n          const stringAttributes = cat(map$1(cells, getScopeAttribute));\n          if (stringAttributes.length === 0) {\n            return Optional.none();\n          } else {\n            const baseScope = stringAttributes[0];\n            const scopes = ['row', 'col'];\n            const isMixed = exists(stringAttributes, attribute => {\n              return attribute !== baseScope && contains$2(scopes, attribute);\n            });\n            return isMixed ? Optional.none() : Optional.from(baseScope);\n          }\n        };\n        remove$5(cells[0], 'width');\n        getScopeProperty().fold(() => remove$7(cells[0], 'scope'), attribute => set$2(cells[0], 'scope', attribute + 'group'));\n        return constant(cells[0]);\n      };\n      return {\n        unmerge,\n        merge\n      };\n    };\n    const Generators = {\n      modification,\n      transform: transform$1,\n      merging\n    };\n\n    const blockList = ['body', 'p', 'div', 'article', 'aside', 'figcaption', 'figure', 'footer', 'header', 'nav', 'section', 'ol', 'ul', 'table', 'thead', 'tfoot', 'tbody', 'caption', 'tr', 'td', 'th', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'blockquote', 'pre', 'address'];\n    const isList$1 = (universe, item) => {\n      const tagName = universe.property().name(item);\n      return contains$2(['ol', 'ul'], tagName);\n    };\n    const isBlock$1 = (universe, item) => {\n      const tagName = universe.property().name(item);\n      return contains$2(blockList, tagName);\n    };\n    const isEmptyTag$1 = (universe, item) => {\n      return contains$2(['br', 'img', 'hr', 'input'], universe.property().name(item));\n    };\n\n    const universe$1 = DomUniverse();\n    const isBlock = element => {\n      return isBlock$1(universe$1, element);\n    };\n    const isList = element => {\n      return isList$1(universe$1, element);\n    };\n    const isEmptyTag = element => {\n      return isEmptyTag$1(universe$1, element);\n    };\n\n    const merge = cells => {\n      const isBr = isTag('br');\n      const advancedBr = children => {\n        return forall(children, c => {\n          return isBr(c) || isText(c) && get$6(c).trim().length === 0;\n        });\n      };\n      const isListItem = el => {\n        return name(el) === 'li' || ancestor$2(el, isList).isSome();\n      };\n      const siblingIsBlock = el => {\n        return nextSibling(el).map(rightSibling => {\n          if (isBlock(rightSibling)) {\n            return true;\n          }\n          if (isEmptyTag(rightSibling)) {\n            return name(rightSibling) === 'img' ? false : true;\n          }\n          return false;\n        }).getOr(false);\n      };\n      const markCell = cell => {\n        return last$1(cell).bind(rightEdge => {\n          const rightSiblingIsBlock = siblingIsBlock(rightEdge);\n          return parent(rightEdge).map(parent => {\n            return rightSiblingIsBlock === true || isListItem(parent) || isBr(rightEdge) || isBlock(parent) && !eq$1(cell, parent) ? [] : [SugarElement.fromTag('br')];\n          });\n        }).getOr([]);\n      };\n      const markContent = () => {\n        const content = bind$2(cells, cell => {\n          const children = children$2(cell);\n          return advancedBr(children) ? [] : children.concat(markCell(cell));\n        });\n        return content.length === 0 ? [SugarElement.fromTag('br')] : content;\n      };\n      const contents = markContent();\n      empty(cells[0]);\n      append(cells[0], contents);\n    };\n\n    const isEditable = elem => isEditable$1(elem, true);\n    const prune = table => {\n      const cells = cells$1(table);\n      if (cells.length === 0) {\n        remove$6(table);\n      }\n    };\n    const outcome = (grid, cursor) => ({\n      grid,\n      cursor\n    });\n    const findEditableCursorPosition = rows => findMap(rows, row => findMap(row.cells, cell => {\n      const elem = cell.element;\n      return someIf(isEditable(elem), elem);\n    }));\n    const elementFromGrid = (grid, row, column) => {\n      var _a, _b;\n      const rows = extractGridDetails(grid).rows;\n      return Optional.from((_b = (_a = rows[row]) === null || _a === void 0 ? void 0 : _a.cells[column]) === null || _b === void 0 ? void 0 : _b.element).filter(isEditable).orThunk(() => findEditableCursorPosition(rows));\n    };\n    const bundle = (grid, row, column) => {\n      const cursorElement = elementFromGrid(grid, row, column);\n      return outcome(grid, cursorElement);\n    };\n    const uniqueRows = details => {\n      const rowCompilation = (rest, detail) => {\n        const rowExists = exists(rest, currentDetail => currentDetail.row === detail.row);\n        return rowExists ? rest : rest.concat([detail]);\n      };\n      return foldl(details, rowCompilation, []).sort((detailA, detailB) => detailA.row - detailB.row);\n    };\n    const opInsertRowsBefore = (grid, details, comparator, genWrappers) => {\n      const targetIndex = details[0].row;\n      const rows = uniqueRows(details);\n      const newGrid = foldr(rows, (acc, row) => {\n        const newG = insertRowAt(acc.grid, targetIndex, row.row + acc.delta, comparator, genWrappers.getOrInit);\n        return {\n          grid: newG,\n          delta: acc.delta + 1\n        };\n      }, {\n        grid,\n        delta: 0\n      }).grid;\n      return bundle(newGrid, targetIndex, details[0].column);\n    };\n    const opInsertRowsAfter = (grid, details, comparator, genWrappers) => {\n      const rows = uniqueRows(details);\n      const target = rows[rows.length - 1];\n      const targetIndex = target.row + target.rowspan;\n      const newGrid = foldr(rows, (newG, row) => {\n        return insertRowAt(newG, targetIndex, row.row, comparator, genWrappers.getOrInit);\n      }, grid);\n      return bundle(newGrid, targetIndex, details[0].column);\n    };\n    const opInsertColumnsBefore = (grid, extractDetail, comparator, genWrappers) => {\n      const details = extractDetail.details;\n      const columns = uniqueColumns(details);\n      const targetIndex = columns[0].column;\n      const newGrid = foldr(columns, (acc, col) => {\n        const newG = insertColumnAt(acc.grid, targetIndex, col.column + acc.delta, comparator, genWrappers.getOrInit);\n        return {\n          grid: newG,\n          delta: acc.delta + 1\n        };\n      }, {\n        grid,\n        delta: 0\n      }).grid;\n      return bundle(newGrid, details[0].row, targetIndex);\n    };\n    const opInsertColumnsAfter = (grid, extractDetail, comparator, genWrappers) => {\n      const details = extractDetail.details;\n      const target = details[details.length - 1];\n      const targetIndex = target.column + target.colspan;\n      const columns = uniqueColumns(details);\n      const newGrid = foldr(columns, (newG, col) => {\n        return insertColumnAt(newG, targetIndex, col.column, comparator, genWrappers.getOrInit);\n      }, grid);\n      return bundle(newGrid, details[0].row, targetIndex);\n    };\n    const opMakeColumnsHeader = (initialGrid, details, comparator, genWrappers) => {\n      const columns = uniqueColumns(details);\n      const columnIndexes = map$1(columns, detail => detail.column);\n      const newGrid = replaceColumns(initialGrid, columnIndexes, true, comparator, genWrappers.replaceOrInit);\n      return bundle(newGrid, details[0].row, details[0].column);\n    };\n    const opMakeCellsHeader = (initialGrid, details, comparator, genWrappers) => {\n      const newGrid = replaceCells(initialGrid, details, comparator, genWrappers.replaceOrInit);\n      return bundle(newGrid, details[0].row, details[0].column);\n    };\n    const opUnmakeColumnsHeader = (initialGrid, details, comparator, genWrappers) => {\n      const columns = uniqueColumns(details);\n      const columnIndexes = map$1(columns, detail => detail.column);\n      const newGrid = replaceColumns(initialGrid, columnIndexes, false, comparator, genWrappers.replaceOrInit);\n      return bundle(newGrid, details[0].row, details[0].column);\n    };\n    const opUnmakeCellsHeader = (initialGrid, details, comparator, genWrappers) => {\n      const newGrid = replaceCells(initialGrid, details, comparator, genWrappers.replaceOrInit);\n      return bundle(newGrid, details[0].row, details[0].column);\n    };\n    const makeRowsSection = (section, applyScope) => (initialGrid, details, comparator, genWrappers, tableSection) => {\n      const rows = uniqueRows(details);\n      const rowIndexes = map$1(rows, detail => detail.row);\n      const newGrid = replaceRows(initialGrid, rowIndexes, section, applyScope, comparator, genWrappers.replaceOrInit, tableSection);\n      return bundle(newGrid, details[0].row, details[0].column);\n    };\n    const opMakeRowsHeader = makeRowsSection('thead', true);\n    const opMakeRowsBody = makeRowsSection('tbody', false);\n    const opMakeRowsFooter = makeRowsSection('tfoot', false);\n    const opEraseColumns = (grid, extractDetail, _comparator, _genWrappers) => {\n      const columns = uniqueColumns(extractDetail.details);\n      const newGrid = deleteColumnsAt(grid, map$1(columns, column => column.column));\n      const maxColIndex = newGrid.length > 0 ? newGrid[0].cells.length - 1 : 0;\n      return bundle(newGrid, columns[0].row, Math.min(columns[0].column, maxColIndex));\n    };\n    const opEraseRows = (grid, details, _comparator, _genWrappers) => {\n      const rows = uniqueRows(details);\n      const newGrid = deleteRowsAt(grid, rows[0].row, rows[rows.length - 1].row);\n      const maxRowIndex = newGrid.length > 0 ? newGrid.length - 1 : 0;\n      return bundle(newGrid, Math.min(details[0].row, maxRowIndex), details[0].column);\n    };\n    const opMergeCells = (grid, mergable, comparator, genWrappers) => {\n      const cells = mergable.cells;\n      merge(cells);\n      const newGrid = merge$2(grid, mergable.bounds, comparator, genWrappers.merge(cells));\n      return outcome(newGrid, Optional.from(cells[0]));\n    };\n    const opUnmergeCells = (grid, unmergable, comparator, genWrappers) => {\n      const unmerge$1 = (b, cell) => unmerge(b, cell, comparator, genWrappers.unmerge(cell));\n      const newGrid = foldr(unmergable, unmerge$1, grid);\n      return outcome(newGrid, Optional.from(unmergable[0]));\n    };\n    const opPasteCells = (grid, pasteDetails, comparator, _genWrappers) => {\n      const gridify = (table, generators) => {\n        const wh = Warehouse.fromTable(table);\n        return toGrid(wh, generators, true);\n      };\n      const gridB = gridify(pasteDetails.clipboard, pasteDetails.generators);\n      const startAddress = address(pasteDetails.row, pasteDetails.column);\n      const mergedGrid = merge$1(startAddress, grid, gridB, pasteDetails.generators, comparator);\n      return mergedGrid.fold(() => outcome(grid, Optional.some(pasteDetails.element)), newGrid => {\n        return bundle(newGrid, pasteDetails.row, pasteDetails.column);\n      });\n    };\n    const gridifyRows = (rows, generators, context) => {\n      const pasteDetails = fromPastedRows(rows, context.section);\n      const wh = Warehouse.generate(pasteDetails);\n      return toGrid(wh, generators, true);\n    };\n    const opPasteColsBefore = (grid, pasteDetails, comparator, _genWrappers) => {\n      const rows = extractGridDetails(grid).rows;\n      const index = pasteDetails.cells[0].column;\n      const context = rows[pasteDetails.cells[0].row];\n      const gridB = gridifyRows(pasteDetails.clipboard, pasteDetails.generators, context);\n      const mergedGrid = insertCols(index, grid, gridB, pasteDetails.generators, comparator);\n      return bundle(mergedGrid, pasteDetails.cells[0].row, pasteDetails.cells[0].column);\n    };\n    const opPasteColsAfter = (grid, pasteDetails, comparator, _genWrappers) => {\n      const rows = extractGridDetails(grid).rows;\n      const index = pasteDetails.cells[pasteDetails.cells.length - 1].column + pasteDetails.cells[pasteDetails.cells.length - 1].colspan;\n      const context = rows[pasteDetails.cells[0].row];\n      const gridB = gridifyRows(pasteDetails.clipboard, pasteDetails.generators, context);\n      const mergedGrid = insertCols(index, grid, gridB, pasteDetails.generators, comparator);\n      return bundle(mergedGrid, pasteDetails.cells[0].row, pasteDetails.cells[0].column);\n    };\n    const opPasteRowsBefore = (grid, pasteDetails, comparator, _genWrappers) => {\n      const rows = extractGridDetails(grid).rows;\n      const index = pasteDetails.cells[0].row;\n      const context = rows[index];\n      const gridB = gridifyRows(pasteDetails.clipboard, pasteDetails.generators, context);\n      const mergedGrid = insertRows(index, grid, gridB, pasteDetails.generators, comparator);\n      return bundle(mergedGrid, pasteDetails.cells[0].row, pasteDetails.cells[0].column);\n    };\n    const opPasteRowsAfter = (grid, pasteDetails, comparator, _genWrappers) => {\n      const rows = extractGridDetails(grid).rows;\n      const index = pasteDetails.cells[pasteDetails.cells.length - 1].row + pasteDetails.cells[pasteDetails.cells.length - 1].rowspan;\n      const context = rows[pasteDetails.cells[0].row];\n      const gridB = gridifyRows(pasteDetails.clipboard, pasteDetails.generators, context);\n      const mergedGrid = insertRows(index, grid, gridB, pasteDetails.generators, comparator);\n      return bundle(mergedGrid, pasteDetails.cells[0].row, pasteDetails.cells[0].column);\n    };\n    const opGetColumnsType = (table, target) => {\n      const house = Warehouse.fromTable(table);\n      const details = onCells(house, target);\n      return details.bind(selectedCells => {\n        const lastSelectedCell = selectedCells[selectedCells.length - 1];\n        const minColRange = selectedCells[0].column;\n        const maxColRange = lastSelectedCell.column + lastSelectedCell.colspan;\n        const selectedColumnCells = flatten(map$1(house.all, row => filter$2(row.cells, cell => cell.column >= minColRange && cell.column < maxColRange)));\n        return findCommonCellType(selectedColumnCells);\n      }).getOr('');\n    };\n    const opGetCellsType = (table, target) => {\n      const house = Warehouse.fromTable(table);\n      const details = onCells(house, target);\n      return details.bind(findCommonCellType).getOr('');\n    };\n    const opGetRowsType = (table, target) => {\n      const house = Warehouse.fromTable(table);\n      const details = onCells(house, target);\n      return details.bind(selectedCells => {\n        const lastSelectedCell = selectedCells[selectedCells.length - 1];\n        const minRowRange = selectedCells[0].row;\n        const maxRowRange = lastSelectedCell.row + lastSelectedCell.rowspan;\n        const selectedRows = house.all.slice(minRowRange, maxRowRange);\n        return findCommonRowType(selectedRows);\n      }).getOr('');\n    };\n    const resize = (table, list, details, behaviours) => adjustWidthTo(table, list, details, behaviours.sizing);\n    const adjustAndRedistributeWidths = (table, list, details, behaviours) => adjustAndRedistributeWidths$1(table, list, details, behaviours.sizing, behaviours.resize);\n    const firstColumnIsLocked = (_warehouse, details) => exists(details, detail => detail.column === 0 && detail.isLocked);\n    const lastColumnIsLocked = (warehouse, details) => exists(details, detail => detail.column + detail.colspan >= warehouse.grid.columns && detail.isLocked);\n    const getColumnsWidth = (warehouse, details) => {\n      const columns$1 = columns(warehouse);\n      const uniqueCols = uniqueColumns(details);\n      return foldl(uniqueCols, (acc, detail) => {\n        const column = columns$1[detail.column];\n        const colWidth = column.map(getOuter$2).getOr(0);\n        return acc + colWidth;\n      }, 0);\n    };\n    const insertColumnsExtractor = before => (warehouse, target) => onCells(warehouse, target).filter(details => {\n      const checkLocked = before ? firstColumnIsLocked : lastColumnIsLocked;\n      return !checkLocked(warehouse, details);\n    }).map(details => ({\n      details,\n      pixelDelta: getColumnsWidth(warehouse, details)\n    }));\n    const eraseColumnsExtractor = (warehouse, target) => onUnlockedCells(warehouse, target).map(details => ({\n      details,\n      pixelDelta: -getColumnsWidth(warehouse, details)\n    }));\n    const pasteColumnsExtractor = before => (warehouse, target) => onPasteByEditor(warehouse, target).filter(details => {\n      const checkLocked = before ? firstColumnIsLocked : lastColumnIsLocked;\n      return !checkLocked(warehouse, details.cells);\n    });\n    const headerCellGenerator = Generators.transform('th');\n    const bodyCellGenerator = Generators.transform('td');\n    const insertRowsBefore = run(opInsertRowsBefore, onCells, noop, noop, Generators.modification);\n    const insertRowsAfter = run(opInsertRowsAfter, onCells, noop, noop, Generators.modification);\n    const insertColumnsBefore = run(opInsertColumnsBefore, insertColumnsExtractor(true), adjustAndRedistributeWidths, noop, Generators.modification);\n    const insertColumnsAfter = run(opInsertColumnsAfter, insertColumnsExtractor(false), adjustAndRedistributeWidths, noop, Generators.modification);\n    const eraseColumns = run(opEraseColumns, eraseColumnsExtractor, adjustAndRedistributeWidths, prune, Generators.modification);\n    const eraseRows = run(opEraseRows, onCells, noop, prune, Generators.modification);\n    const makeColumnsHeader = run(opMakeColumnsHeader, onUnlockedCells, noop, noop, headerCellGenerator);\n    const unmakeColumnsHeader = run(opUnmakeColumnsHeader, onUnlockedCells, noop, noop, bodyCellGenerator);\n    const makeRowsHeader = run(opMakeRowsHeader, onUnlockedCells, noop, noop, headerCellGenerator);\n    const makeRowsBody = run(opMakeRowsBody, onUnlockedCells, noop, noop, bodyCellGenerator);\n    const makeRowsFooter = run(opMakeRowsFooter, onUnlockedCells, noop, noop, bodyCellGenerator);\n    const makeCellsHeader = run(opMakeCellsHeader, onUnlockedCells, noop, noop, headerCellGenerator);\n    const unmakeCellsHeader = run(opUnmakeCellsHeader, onUnlockedCells, noop, noop, bodyCellGenerator);\n    const mergeCells = run(opMergeCells, onUnlockedMergable, resize, noop, Generators.merging);\n    const unmergeCells = run(opUnmergeCells, onUnlockedUnmergable, resize, noop, Generators.merging);\n    const pasteCells = run(opPasteCells, onPaste, resize, noop, Generators.modification);\n    const pasteColsBefore = run(opPasteColsBefore, pasteColumnsExtractor(true), noop, noop, Generators.modification);\n    const pasteColsAfter = run(opPasteColsAfter, pasteColumnsExtractor(false), noop, noop, Generators.modification);\n    const pasteRowsBefore = run(opPasteRowsBefore, onPasteByEditor, noop, noop, Generators.modification);\n    const pasteRowsAfter = run(opPasteRowsAfter, onPasteByEditor, noop, noop, Generators.modification);\n    const getColumnsType = opGetColumnsType;\n    const getCellsType = opGetCellsType;\n    const getRowsType = opGetRowsType;\n\n    const fireNewRow = (editor, row) => editor.dispatch('NewRow', {\n      node: row\n    });\n    const fireNewCell = (editor, cell) => editor.dispatch('NewCell', {\n      node: cell\n    });\n    const fireTableModified = (editor, table, data) => {\n      editor.dispatch('TableModified', {\n        ...data,\n        table\n      });\n    };\n    const fireTableSelectionChange = (editor, cells, start, finish, otherCells) => {\n      editor.dispatch('TableSelectionChange', {\n        cells,\n        start,\n        finish,\n        otherCells\n      });\n    };\n    const fireTableSelectionClear = editor => {\n      editor.dispatch('TableSelectionClear');\n    };\n    const fireObjectResizeStart = (editor, target, width, height, origin) => {\n      editor.dispatch('ObjectResizeStart', {\n        target,\n        width,\n        height,\n        origin\n      });\n    };\n    const fireObjectResized = (editor, target, width, height, origin) => {\n      editor.dispatch('ObjectResized', {\n        target,\n        width,\n        height,\n        origin\n      });\n    };\n    const styleModified = {\n      structure: false,\n      style: true\n    };\n    const structureModified = {\n      structure: true,\n      style: false\n    };\n    const styleAndStructureModified = {\n      structure: true,\n      style: true\n    };\n\n    const get$5 = (editor, table) => {\n      if (isTablePercentagesForced(editor)) {\n        return TableSize.percentageSize(table);\n      } else if (isTablePixelsForced(editor)) {\n        return TableSize.pixelSize(table);\n      } else {\n        return TableSize.getTableSize(table);\n      }\n    };\n\n    const TableActions = (editor, resizeHandler, cellSelectionHandler) => {\n      const isTableBody = editor => name(getBody(editor)) === 'table';\n      const lastRowGuard = table => !isTableBody(editor) || getGridSize(table).rows > 1;\n      const lastColumnGuard = table => !isTableBody(editor) || getGridSize(table).columns > 1;\n      const cloneFormats = getTableCloneElements(editor);\n      const colMutationOp = isResizeTableColumnResizing(editor) ? noop : halve;\n      const getTableSectionType = table => {\n        switch (getTableHeaderType(editor)) {\n          case 'section':\n            return TableSection.section();\n          case 'sectionCells':\n            return TableSection.sectionCells();\n          case 'cells':\n            return TableSection.cells();\n          default:\n            return TableSection.getTableSectionType(table, 'section');\n        }\n      };\n      const setSelectionFromAction = (table, result) => result.cursor.fold(() => {\n        const cells = cells$1(table);\n        return head(cells).filter(inBody).map(firstCell => {\n          cellSelectionHandler.clearSelectedCells(table.dom);\n          const rng = editor.dom.createRng();\n          rng.selectNode(firstCell.dom);\n          editor.selection.setRng(rng);\n          set$2(firstCell, 'data-mce-selected', '1');\n          return rng;\n        });\n      }, cell => {\n        const des = freefallRtl(cell);\n        const rng = editor.dom.createRng();\n        rng.setStart(des.element.dom, des.offset);\n        rng.setEnd(des.element.dom, des.offset);\n        editor.selection.setRng(rng);\n        cellSelectionHandler.clearSelectedCells(table.dom);\n        return Optional.some(rng);\n      });\n      const execute = (operation, guard, mutate, effect) => (table, target, noEvents = false) => {\n        removeDataStyle(table);\n        const doc = SugarElement.fromDom(editor.getDoc());\n        const generators = cellOperations(mutate, doc, cloneFormats);\n        const behaviours = {\n          sizing: get$5(editor, table),\n          resize: isResizeTableColumnResizing(editor) ? resizeTable() : preserveTable(),\n          section: getTableSectionType(table)\n        };\n        return guard(table) ? operation(table, target, generators, behaviours).bind(result => {\n          resizeHandler.refresh(table.dom);\n          each$2(result.newRows, row => {\n            fireNewRow(editor, row.dom);\n          });\n          each$2(result.newCells, cell => {\n            fireNewCell(editor, cell.dom);\n          });\n          const range = setSelectionFromAction(table, result);\n          if (inBody(table)) {\n            removeDataStyle(table);\n            if (!noEvents) {\n              fireTableModified(editor, table.dom, effect);\n            }\n          }\n          return range.map(rng => ({\n            rng,\n            effect\n          }));\n        }) : Optional.none();\n      };\n      const deleteRow = execute(eraseRows, lastRowGuard, noop, structureModified);\n      const deleteColumn = execute(eraseColumns, lastColumnGuard, noop, structureModified);\n      const insertRowsBefore$1 = execute(insertRowsBefore, always, noop, structureModified);\n      const insertRowsAfter$1 = execute(insertRowsAfter, always, noop, structureModified);\n      const insertColumnsBefore$1 = execute(insertColumnsBefore, always, colMutationOp, structureModified);\n      const insertColumnsAfter$1 = execute(insertColumnsAfter, always, colMutationOp, structureModified);\n      const mergeCells$1 = execute(mergeCells, always, noop, structureModified);\n      const unmergeCells$1 = execute(unmergeCells, always, noop, structureModified);\n      const pasteColsBefore$1 = execute(pasteColsBefore, always, noop, structureModified);\n      const pasteColsAfter$1 = execute(pasteColsAfter, always, noop, structureModified);\n      const pasteRowsBefore$1 = execute(pasteRowsBefore, always, noop, structureModified);\n      const pasteRowsAfter$1 = execute(pasteRowsAfter, always, noop, structureModified);\n      const pasteCells$1 = execute(pasteCells, always, noop, styleAndStructureModified);\n      const makeCellsHeader$1 = execute(makeCellsHeader, always, noop, structureModified);\n      const unmakeCellsHeader$1 = execute(unmakeCellsHeader, always, noop, structureModified);\n      const makeColumnsHeader$1 = execute(makeColumnsHeader, always, noop, structureModified);\n      const unmakeColumnsHeader$1 = execute(unmakeColumnsHeader, always, noop, structureModified);\n      const makeRowsHeader$1 = execute(makeRowsHeader, always, noop, structureModified);\n      const makeRowsBody$1 = execute(makeRowsBody, always, noop, structureModified);\n      const makeRowsFooter$1 = execute(makeRowsFooter, always, noop, structureModified);\n      const getTableCellType = getCellsType;\n      const getTableColType = getColumnsType;\n      const getTableRowType = getRowsType;\n      return {\n        deleteRow,\n        deleteColumn,\n        insertRowsBefore: insertRowsBefore$1,\n        insertRowsAfter: insertRowsAfter$1,\n        insertColumnsBefore: insertColumnsBefore$1,\n        insertColumnsAfter: insertColumnsAfter$1,\n        mergeCells: mergeCells$1,\n        unmergeCells: unmergeCells$1,\n        pasteColsBefore: pasteColsBefore$1,\n        pasteColsAfter: pasteColsAfter$1,\n        pasteRowsBefore: pasteRowsBefore$1,\n        pasteRowsAfter: pasteRowsAfter$1,\n        pasteCells: pasteCells$1,\n        makeCellsHeader: makeCellsHeader$1,\n        unmakeCellsHeader: unmakeCellsHeader$1,\n        makeColumnsHeader: makeColumnsHeader$1,\n        unmakeColumnsHeader: unmakeColumnsHeader$1,\n        makeRowsHeader: makeRowsHeader$1,\n        makeRowsBody: makeRowsBody$1,\n        makeRowsFooter: makeRowsFooter$1,\n        getTableRowType,\n        getTableCellType,\n        getTableColType\n      };\n    };\n\n    const constrainSpan = (element, property, value) => {\n      const currentColspan = getAttrValue(element, property, 1);\n      if (value === 1 || currentColspan <= 1) {\n        remove$7(element, property);\n      } else {\n        set$2(element, property, Math.min(value, currentColspan));\n      }\n    };\n    const isColInRange = (minColRange, maxColRange) => cell => {\n      const endCol = cell.column + cell.colspan - 1;\n      const startCol = cell.column;\n      return endCol >= minColRange && startCol < maxColRange;\n    };\n    const generateColGroup = (house, minColRange, maxColRange) => {\n      if (Warehouse.hasColumns(house)) {\n        const colsToCopy = filter$2(Warehouse.justColumns(house), isColInRange(minColRange, maxColRange));\n        const copiedCols = map$1(colsToCopy, c => {\n          const clonedCol = deep(c.element);\n          constrainSpan(clonedCol, 'span', maxColRange - minColRange);\n          return clonedCol;\n        });\n        const fakeColgroup = SugarElement.fromTag('colgroup');\n        append(fakeColgroup, copiedCols);\n        return [fakeColgroup];\n      } else {\n        return [];\n      }\n    };\n    const generateRows = (house, minColRange, maxColRange) => map$1(house.all, row => {\n      const cellsToCopy = filter$2(row.cells, isColInRange(minColRange, maxColRange));\n      const copiedCells = map$1(cellsToCopy, cell => {\n        const clonedCell = deep(cell.element);\n        constrainSpan(clonedCell, 'colspan', maxColRange - minColRange);\n        return clonedCell;\n      });\n      const fakeTR = SugarElement.fromTag('tr');\n      append(fakeTR, copiedCells);\n      return fakeTR;\n    });\n    const copyCols = (table, target) => {\n      const house = Warehouse.fromTable(table);\n      const details = onUnlockedCells(house, target);\n      return details.map(selectedCells => {\n        const lastSelectedCell = selectedCells[selectedCells.length - 1];\n        const minColRange = selectedCells[0].column;\n        const maxColRange = lastSelectedCell.column + lastSelectedCell.colspan;\n        const fakeColGroups = generateColGroup(house, minColRange, maxColRange);\n        const fakeRows = generateRows(house, minColRange, maxColRange);\n        return [...fakeColGroups, ...fakeRows];\n      });\n    };\n\n    const copyRows = (table, target, generators) => {\n      const warehouse = Warehouse.fromTable(table);\n      const details = onCells(warehouse, target);\n      return details.bind(selectedCells => {\n        const grid = toGrid(warehouse, generators, false);\n        const rows = extractGridDetails(grid).rows;\n        const slicedGrid = rows.slice(selectedCells[0].row, selectedCells[selectedCells.length - 1].row + selectedCells[selectedCells.length - 1].rowspan);\n        const filteredGrid = bind$2(slicedGrid, row => {\n          const newCells = filter$2(row.cells, cell => !cell.isLocked);\n          return newCells.length > 0 ? [{\n            ...row,\n            cells: newCells\n          }] : [];\n        });\n        const slicedDetails = toDetailList(filteredGrid);\n        return someIf(slicedDetails.length > 0, slicedDetails);\n      }).map(slicedDetails => copy(slicedDetails));\n    };\n\n    const adt$5 = Adt.generate([{\n      invalid: ['raw']\n    }, {\n      pixels: ['value']\n    }, {\n      percent: ['value']\n    }]);\n    const validateFor = (suffix, type, value) => {\n      const rawAmount = value.substring(0, value.length - suffix.length);\n      const amount = parseFloat(rawAmount);\n      return rawAmount === amount.toString() ? type(amount) : adt$5.invalid(value);\n    };\n    const from = value => {\n      if (endsWith(value, '%')) {\n        return validateFor('%', adt$5.percent, value);\n      }\n      if (endsWith(value, 'px')) {\n        return validateFor('px', adt$5.pixels, value);\n      }\n      return adt$5.invalid(value);\n    };\n    const Size = {\n      ...adt$5,\n      from\n    };\n\n    const redistributeToPercent = (widths, totalWidth) => {\n      return map$1(widths, w => {\n        const colType = Size.from(w);\n        return colType.fold(() => {\n          return w;\n        }, px => {\n          const ratio = px / totalWidth * 100;\n          return ratio + '%';\n        }, pc => {\n          return pc + '%';\n        });\n      });\n    };\n    const redistributeToPx = (widths, totalWidth, newTotalWidth) => {\n      const scale = newTotalWidth / totalWidth;\n      return map$1(widths, w => {\n        const colType = Size.from(w);\n        return colType.fold(() => {\n          return w;\n        }, px => {\n          return px * scale + 'px';\n        }, pc => {\n          return pc / 100 * newTotalWidth + 'px';\n        });\n      });\n    };\n    const redistributeEmpty = (newWidthType, columns) => {\n      const f = newWidthType.fold(() => constant(''), pixels => {\n        const num = pixels / columns;\n        return constant(num + 'px');\n      }, () => {\n        const num = 100 / columns;\n        return constant(num + '%');\n      });\n      return range$1(columns, f);\n    };\n    const redistributeValues = (newWidthType, widths, totalWidth) => {\n      return newWidthType.fold(() => {\n        return widths;\n      }, px => {\n        return redistributeToPx(widths, totalWidth, px);\n      }, _pc => {\n        return redistributeToPercent(widths, totalWidth);\n      });\n    };\n    const redistribute$1 = (widths, totalWidth, newWidth) => {\n      const newType = Size.from(newWidth);\n      const floats = forall(widths, s => {\n        return s === '0px';\n      }) ? redistributeEmpty(newType, widths.length) : redistributeValues(newType, widths, totalWidth);\n      return normalize(floats);\n    };\n    const sum = (values, fallback) => {\n      if (values.length === 0) {\n        return fallback;\n      }\n      return foldr(values, (rest, v) => {\n        return Size.from(v).fold(constant(0), identity, identity) + rest;\n      }, 0);\n    };\n    const roundDown = (num, unit) => {\n      const floored = Math.floor(num);\n      return {\n        value: floored + unit,\n        remainder: num - floored\n      };\n    };\n    const add$3 = (value, amount) => {\n      return Size.from(value).fold(constant(value), px => {\n        return px + amount + 'px';\n      }, pc => {\n        return pc + amount + '%';\n      });\n    };\n    const normalize = values => {\n      if (values.length === 0) {\n        return values;\n      }\n      const scan = foldr(values, (rest, value) => {\n        const info = Size.from(value).fold(() => ({\n          value,\n          remainder: 0\n        }), num => roundDown(num, 'px'), num => ({\n          value: num + '%',\n          remainder: 0\n        }));\n        return {\n          output: [info.value].concat(rest.output),\n          remainder: rest.remainder + info.remainder\n        };\n      }, {\n        output: [],\n        remainder: 0\n      });\n      const r = scan.output;\n      return r.slice(0, r.length - 1).concat([add$3(r[r.length - 1], Math.round(scan.remainder))]);\n    };\n    const validate = Size.from;\n\n    const redistributeToW = (newWidths, cells, unit) => {\n      each$2(cells, cell => {\n        const widths = newWidths.slice(cell.column, cell.colspan + cell.column);\n        const w = sum(widths, minWidth());\n        set$1(cell.element, 'width', w + unit);\n      });\n    };\n    const redistributeToColumns = (newWidths, columns, unit) => {\n      each$2(columns, (column, index) => {\n        const width = sum([newWidths[index]], minWidth());\n        set$1(column.element, 'width', width + unit);\n      });\n    };\n    const redistributeToH = (newHeights, rows, cells, unit) => {\n      each$2(cells, cell => {\n        const heights = newHeights.slice(cell.row, cell.rowspan + cell.row);\n        const h = sum(heights, minHeight());\n        set$1(cell.element, 'height', h + unit);\n      });\n      each$2(rows, (row, i) => {\n        set$1(row.element, 'height', newHeights[i]);\n      });\n    };\n    const getUnit = newSize => {\n      return validate(newSize).fold(constant('px'), constant('px'), constant('%'));\n    };\n    const redistribute = (table, optWidth, optHeight) => {\n      const warehouse = Warehouse.fromTable(table);\n      const rows = warehouse.all;\n      const cells = Warehouse.justCells(warehouse);\n      const columns = Warehouse.justColumns(warehouse);\n      optWidth.each(newWidth => {\n        const widthUnit = getUnit(newWidth);\n        const totalWidth = get$9(table);\n        const oldWidths = getRawWidths(warehouse, table);\n        const nuWidths = redistribute$1(oldWidths, totalWidth, newWidth);\n        if (Warehouse.hasColumns(warehouse)) {\n          redistributeToColumns(nuWidths, columns, widthUnit);\n        } else {\n          redistributeToW(nuWidths, cells, widthUnit);\n        }\n        set$1(table, 'width', newWidth);\n      });\n      optHeight.each(newHeight => {\n        const hUnit = getUnit(newHeight);\n        const totalHeight = get$8(table);\n        const oldHeights = getRawHeights(warehouse, table, height);\n        const nuHeights = redistribute$1(oldHeights, totalHeight, newHeight);\n        redistributeToH(nuHeights, rows, cells, hUnit);\n        set$1(table, 'height', newHeight);\n      });\n    };\n    const isPercentSizing = isPercentSizing$1;\n    const isPixelSizing = isPixelSizing$1;\n    const isNoneSizing = isNoneSizing$1;\n\n    const cleanupLegacyAttributes = element => {\n      remove$7(element, 'width');\n    };\n    const convertToPercentSize = table => {\n      const newWidth = getPercentTableWidth(table);\n      redistribute(table, Optional.some(newWidth), Optional.none());\n      cleanupLegacyAttributes(table);\n    };\n    const convertToPixelSize = table => {\n      const newWidth = getPixelTableWidth(table);\n      redistribute(table, Optional.some(newWidth), Optional.none());\n      cleanupLegacyAttributes(table);\n    };\n    const convertToNoneSize = table => {\n      remove$5(table, 'width');\n      const columns = columns$1(table);\n      const rowElements = columns.length > 0 ? columns : cells$1(table);\n      each$2(rowElements, cell => {\n        remove$5(cell, 'width');\n        cleanupLegacyAttributes(cell);\n      });\n      cleanupLegacyAttributes(table);\n    };\n\n    const DefaultRenderOptions = {\n      styles: {\n        'border-collapse': 'collapse',\n        'width': '100%'\n      },\n      attributes: {\n        border: '1'\n      },\n      colGroups: false\n    };\n    const tableHeaderCell = () => SugarElement.fromTag('th');\n    const tableCell = () => SugarElement.fromTag('td');\n    const tableColumn = () => SugarElement.fromTag('col');\n    const createRow = (columns, rowHeaders, columnHeaders, rowIndex) => {\n      const tr = SugarElement.fromTag('tr');\n      for (let j = 0; j < columns; j++) {\n        const td = rowIndex < rowHeaders || j < columnHeaders ? tableHeaderCell() : tableCell();\n        if (j < columnHeaders) {\n          set$2(td, 'scope', 'row');\n        }\n        if (rowIndex < rowHeaders) {\n          set$2(td, 'scope', 'col');\n        }\n        append$1(td, SugarElement.fromTag('br'));\n        append$1(tr, td);\n      }\n      return tr;\n    };\n    const createGroupRow = columns => {\n      const columnGroup = SugarElement.fromTag('colgroup');\n      range$1(columns, () => append$1(columnGroup, tableColumn()));\n      return columnGroup;\n    };\n    const createRows = (rows, columns, rowHeaders, columnHeaders) => range$1(rows, r => createRow(columns, rowHeaders, columnHeaders, r));\n    const render = (rows, columns, rowHeaders, columnHeaders, headerType, renderOpts = DefaultRenderOptions) => {\n      const table = SugarElement.fromTag('table');\n      const rowHeadersGoInThead = headerType !== 'cells';\n      setAll(table, renderOpts.styles);\n      setAll$1(table, renderOpts.attributes);\n      if (renderOpts.colGroups) {\n        append$1(table, createGroupRow(columns));\n      }\n      const actualRowHeaders = Math.min(rows, rowHeaders);\n      if (rowHeadersGoInThead && rowHeaders > 0) {\n        const thead = SugarElement.fromTag('thead');\n        append$1(table, thead);\n        const theadRowHeaders = headerType === 'sectionCells' ? actualRowHeaders : 0;\n        const theadRows = createRows(rowHeaders, columns, theadRowHeaders, columnHeaders);\n        append(thead, theadRows);\n      }\n      const tbody = SugarElement.fromTag('tbody');\n      append$1(table, tbody);\n      const numRows = rowHeadersGoInThead ? rows - actualRowHeaders : rows;\n      const numRowHeaders = rowHeadersGoInThead ? 0 : rowHeaders;\n      const tbodyRows = createRows(numRows, columns, numRowHeaders, columnHeaders);\n      append(tbody, tbodyRows);\n      return table;\n    };\n\n    const get$4 = element => element.dom.innerHTML;\n    const getOuter = element => {\n      const container = SugarElement.fromTag('div');\n      const clone = SugarElement.fromDom(element.dom.cloneNode(true));\n      append$1(container, clone);\n      return get$4(container);\n    };\n\n    const placeCaretInCell = (editor, cell) => {\n      editor.selection.select(cell.dom, true);\n      editor.selection.collapse(true);\n    };\n    const selectFirstCellInTable = (editor, tableElm) => {\n      descendant(tableElm, 'td,th').each(curry(placeCaretInCell, editor));\n    };\n    const fireEvents = (editor, table) => {\n      each$2(descendants(table, 'tr'), row => {\n        fireNewRow(editor, row.dom);\n        each$2(descendants(row, 'th,td'), cell => {\n          fireNewCell(editor, cell.dom);\n        });\n      });\n    };\n    const isPercentage = width => isString(width) && width.indexOf('%') !== -1;\n    const insert = (editor, columns, rows, colHeaders, rowHeaders) => {\n      const defaultStyles = getTableDefaultStyles(editor);\n      const options = {\n        styles: defaultStyles,\n        attributes: getTableDefaultAttributes(editor),\n        colGroups: tableUseColumnGroup(editor)\n      };\n      editor.undoManager.ignore(() => {\n        const table = render(rows, columns, rowHeaders, colHeaders, getTableHeaderType(editor), options);\n        set$2(table, 'data-mce-id', '__mce');\n        const html = getOuter(table);\n        editor.insertContent(html);\n        editor.addVisual();\n      });\n      return descendant(getBody(editor), 'table[data-mce-id=\"__mce\"]').map(table => {\n        if (isTablePixelsForced(editor)) {\n          convertToPixelSize(table);\n        } else if (isTableResponsiveForced(editor)) {\n          convertToNoneSize(table);\n        } else if (isTablePercentagesForced(editor) || isPercentage(defaultStyles.width)) {\n          convertToPercentSize(table);\n        }\n        removeDataStyle(table);\n        remove$7(table, 'data-mce-id');\n        fireEvents(editor, table);\n        selectFirstCellInTable(editor, table);\n        return table.dom;\n      }).getOrNull();\n    };\n    const insertTable = (editor, rows, columns, options = {}) => {\n      const checkInput = val => isNumber(val) && val > 0;\n      if (checkInput(rows) && checkInput(columns)) {\n        const headerRows = options.headerRows || 0;\n        const headerColumns = options.headerColumns || 0;\n        return insert(editor, columns, rows, headerColumns, headerRows);\n      } else {\n        console.error('Invalid values for mceInsertTable - rows and columns values are required to insert a table.');\n        return null;\n      }\n    };\n\n    var global = tinymce.util.Tools.resolve('tinymce.FakeClipboard');\n\n    const tableTypeBase = 'x-tinymce/dom-table-';\n    const tableTypeRow = tableTypeBase + 'rows';\n    const tableTypeColumn = tableTypeBase + 'columns';\n    const setData = items => {\n      const fakeClipboardItem = global.FakeClipboardItem(items);\n      global.write([fakeClipboardItem]);\n    };\n    const getData = type => {\n      var _a;\n      const items = (_a = global.read()) !== null && _a !== void 0 ? _a : [];\n      return findMap(items, item => Optional.from(item.getType(type)));\n    };\n    const clearData = type => {\n      if (getData(type).isSome()) {\n        global.clear();\n      }\n    };\n    const setRows = rowsOpt => {\n      rowsOpt.fold(clearRows, rows => setData({\n        [tableTypeRow]: rows\n      }));\n    };\n    const getRows = () => getData(tableTypeRow);\n    const clearRows = () => clearData(tableTypeRow);\n    const setColumns = columnsOpt => {\n      columnsOpt.fold(clearColumns, columns => setData({\n        [tableTypeColumn]: columns\n      }));\n    };\n    const getColumns = () => getData(tableTypeColumn);\n    const clearColumns = () => clearData(tableTypeColumn);\n\n    const getSelectionStartCellOrCaption = editor => getSelectionCellOrCaption(getSelectionStart(editor), getIsRoot(editor)).filter(isInEditableContext$1);\n    const getSelectionStartCell = editor => getSelectionCell(getSelectionStart(editor), getIsRoot(editor)).filter(isInEditableContext$1);\n    const registerCommands = (editor, actions) => {\n      const isRoot = getIsRoot(editor);\n      const eraseTable = () => getSelectionStartCellOrCaption(editor).each(cellOrCaption => {\n        table(cellOrCaption, isRoot).filter(not(isRoot)).each(table => {\n          const cursor = SugarElement.fromText('');\n          after$5(table, cursor);\n          remove$6(table);\n          if (editor.dom.isEmpty(editor.getBody())) {\n            editor.setContent('');\n            editor.selection.setCursorLocation();\n          } else {\n            const rng = editor.dom.createRng();\n            rng.setStart(cursor.dom, 0);\n            rng.setEnd(cursor.dom, 0);\n            editor.selection.setRng(rng);\n            editor.nodeChanged();\n          }\n        });\n      });\n      const setSizingMode = sizing => getSelectionStartCellOrCaption(editor).each(cellOrCaption => {\n        const isForcedSizing = isTableResponsiveForced(editor) || isTablePixelsForced(editor) || isTablePercentagesForced(editor);\n        if (!isForcedSizing) {\n          table(cellOrCaption, isRoot).each(table => {\n            if (sizing === 'relative' && !isPercentSizing(table)) {\n              convertToPercentSize(table);\n            } else if (sizing === 'fixed' && !isPixelSizing(table)) {\n              convertToPixelSize(table);\n            } else if (sizing === 'responsive' && !isNoneSizing(table)) {\n              convertToNoneSize(table);\n            }\n            removeDataStyle(table);\n            fireTableModified(editor, table.dom, structureModified);\n          });\n        }\n      });\n      const getTableFromCell = cell => table(cell, isRoot);\n      const performActionOnSelection = action => getSelectionStartCell(editor).bind(cell => getTableFromCell(cell).map(table => action(table, cell)));\n      const toggleTableClass = (_ui, clazz) => {\n        performActionOnSelection(table => {\n          editor.formatter.toggle('tableclass', {\n            value: clazz\n          }, table.dom);\n          fireTableModified(editor, table.dom, styleModified);\n        });\n      };\n      const toggleTableCellClass = (_ui, clazz) => {\n        performActionOnSelection(table => {\n          const selectedCells = getCellsFromSelection(editor);\n          const allHaveClass = forall(selectedCells, cell => editor.formatter.match('tablecellclass', {\n            value: clazz\n          }, cell.dom));\n          const formatterAction = allHaveClass ? editor.formatter.remove : editor.formatter.apply;\n          each$2(selectedCells, cell => formatterAction('tablecellclass', {\n            value: clazz\n          }, cell.dom));\n          fireTableModified(editor, table.dom, styleModified);\n        });\n      };\n      const toggleCaption = () => {\n        getSelectionStartCellOrCaption(editor).each(cellOrCaption => {\n          table(cellOrCaption, isRoot).each(table => {\n            child(table, 'caption').fold(() => {\n              const caption = SugarElement.fromTag('caption');\n              append$1(caption, SugarElement.fromText('Caption'));\n              appendAt(table, caption, 0);\n              editor.selection.setCursorLocation(caption.dom, 0);\n            }, caption => {\n              if (isTag('caption')(cellOrCaption)) {\n                one('td', table).each(td => editor.selection.setCursorLocation(td.dom, 0));\n              }\n              remove$6(caption);\n            });\n            fireTableModified(editor, table.dom, structureModified);\n          });\n        });\n      };\n      const postExecute = _data => {\n        editor.focus();\n      };\n      const actOnSelection = (execute, noEvents = false) => performActionOnSelection((table, startCell) => {\n        const targets = forMenu(getCellsFromSelection(editor), table, startCell);\n        execute(table, targets, noEvents).each(postExecute);\n      });\n      const copyRowSelection = () => performActionOnSelection((table, startCell) => {\n        const targets = forMenu(getCellsFromSelection(editor), table, startCell);\n        const generators = cellOperations(noop, SugarElement.fromDom(editor.getDoc()), Optional.none());\n        return copyRows(table, targets, generators);\n      });\n      const copyColSelection = () => performActionOnSelection((table, startCell) => {\n        const targets = forMenu(getCellsFromSelection(editor), table, startCell);\n        return copyCols(table, targets);\n      });\n      const pasteOnSelection = (execute, getRows) => getRows().each(rows => {\n        const clonedRows = map$1(rows, row => deep(row));\n        performActionOnSelection((table, startCell) => {\n          const generators = paste$1(SugarElement.fromDom(editor.getDoc()));\n          const targets = pasteRows(getCellsFromSelection(editor), startCell, clonedRows, generators);\n          execute(table, targets).each(postExecute);\n        });\n      });\n      const actOnType = getAction => (_ui, args) => get$c(args, 'type').each(type => {\n        actOnSelection(getAction(type), args.no_events);\n      });\n      each$1({\n        mceTableSplitCells: () => actOnSelection(actions.unmergeCells),\n        mceTableMergeCells: () => actOnSelection(actions.mergeCells),\n        mceTableInsertRowBefore: () => actOnSelection(actions.insertRowsBefore),\n        mceTableInsertRowAfter: () => actOnSelection(actions.insertRowsAfter),\n        mceTableInsertColBefore: () => actOnSelection(actions.insertColumnsBefore),\n        mceTableInsertColAfter: () => actOnSelection(actions.insertColumnsAfter),\n        mceTableDeleteCol: () => actOnSelection(actions.deleteColumn),\n        mceTableDeleteRow: () => actOnSelection(actions.deleteRow),\n        mceTableCutCol: () => copyColSelection().each(selection => {\n          setColumns(selection);\n          actOnSelection(actions.deleteColumn);\n        }),\n        mceTableCutRow: () => copyRowSelection().each(selection => {\n          setRows(selection);\n          actOnSelection(actions.deleteRow);\n        }),\n        mceTableCopyCol: () => copyColSelection().each(selection => setColumns(selection)),\n        mceTableCopyRow: () => copyRowSelection().each(selection => setRows(selection)),\n        mceTablePasteColBefore: () => pasteOnSelection(actions.pasteColsBefore, getColumns),\n        mceTablePasteColAfter: () => pasteOnSelection(actions.pasteColsAfter, getColumns),\n        mceTablePasteRowBefore: () => pasteOnSelection(actions.pasteRowsBefore, getRows),\n        mceTablePasteRowAfter: () => pasteOnSelection(actions.pasteRowsAfter, getRows),\n        mceTableDelete: eraseTable,\n        mceTableCellToggleClass: toggleTableCellClass,\n        mceTableToggleClass: toggleTableClass,\n        mceTableToggleCaption: toggleCaption,\n        mceTableSizingMode: (_ui, sizing) => setSizingMode(sizing),\n        mceTableCellType: actOnType(type => type === 'th' ? actions.makeCellsHeader : actions.unmakeCellsHeader),\n        mceTableColType: actOnType(type => type === 'th' ? actions.makeColumnsHeader : actions.unmakeColumnsHeader),\n        mceTableRowType: actOnType(type => {\n          switch (type) {\n            case 'header':\n              return actions.makeRowsHeader;\n            case 'footer':\n              return actions.makeRowsFooter;\n            default:\n              return actions.makeRowsBody;\n          }\n        })\n      }, (func, name) => editor.addCommand(name, func));\n      editor.addCommand('mceInsertTable', (_ui, args) => {\n        insertTable(editor, args.rows, args.columns, args.options);\n      });\n      editor.addCommand('mceTableApplyCellStyle', (_ui, args) => {\n        const getFormatName = style => 'tablecell' + style.toLowerCase().replace('-', '');\n        if (!isObject(args)) {\n          return;\n        }\n        const cells = filter$2(getCellsFromSelection(editor), isInEditableContext$1);\n        if (cells.length === 0) {\n          return;\n        }\n        const validArgs = filter$1(args, (value, style) => editor.formatter.has(getFormatName(style)) && isString(value));\n        if (isEmpty(validArgs)) {\n          return;\n        }\n        each$1(validArgs, (value, style) => {\n          const formatName = getFormatName(style);\n          each$2(cells, cell => {\n            if (value === '') {\n              editor.formatter.remove(formatName, {\n                value: null\n              }, cell.dom, true);\n            } else {\n              editor.formatter.apply(formatName, {\n                value\n              }, cell.dom);\n            }\n          });\n        });\n        getTableFromCell(cells[0]).each(table => fireTableModified(editor, table.dom, styleModified));\n      });\n    };\n\n    const registerQueryCommands = (editor, actions) => {\n      const isRoot = getIsRoot(editor);\n      const lookupOnSelection = action => getSelectionCell(getSelectionStart(editor)).bind(cell => table(cell, isRoot).map(table => {\n        const targets = forMenu(getCellsFromSelection(editor), table, cell);\n        return action(table, targets);\n      })).getOr('');\n      each$1({\n        mceTableRowType: () => lookupOnSelection(actions.getTableRowType),\n        mceTableCellType: () => lookupOnSelection(actions.getTableCellType),\n        mceTableColType: () => lookupOnSelection(actions.getTableColType)\n      }, (func, name) => editor.addQueryValueHandler(name, func));\n    };\n\n    const adt$4 = Adt.generate([{\n      before: ['element']\n    }, {\n      on: ['element', 'offset']\n    }, {\n      after: ['element']\n    }]);\n    const cata$1 = (subject, onBefore, onOn, onAfter) => subject.fold(onBefore, onOn, onAfter);\n    const getStart$1 = situ => situ.fold(identity, identity, identity);\n    const before$2 = adt$4.before;\n    const on = adt$4.on;\n    const after$3 = adt$4.after;\n    const Situ = {\n      before: before$2,\n      on,\n      after: after$3,\n      cata: cata$1,\n      getStart: getStart$1\n    };\n\n    const create$4 = (selection, kill) => ({\n      selection,\n      kill\n    });\n    const Response = {\n      create: create$4\n    };\n\n    const selectNode = (win, element) => {\n      const rng = win.document.createRange();\n      rng.selectNode(element.dom);\n      return rng;\n    };\n    const selectNodeContents = (win, element) => {\n      const rng = win.document.createRange();\n      selectNodeContentsUsing(rng, element);\n      return rng;\n    };\n    const selectNodeContentsUsing = (rng, element) => rng.selectNodeContents(element.dom);\n    const setStart = (rng, situ) => {\n      situ.fold(e => {\n        rng.setStartBefore(e.dom);\n      }, (e, o) => {\n        rng.setStart(e.dom, o);\n      }, e => {\n        rng.setStartAfter(e.dom);\n      });\n    };\n    const setFinish = (rng, situ) => {\n      situ.fold(e => {\n        rng.setEndBefore(e.dom);\n      }, (e, o) => {\n        rng.setEnd(e.dom, o);\n      }, e => {\n        rng.setEndAfter(e.dom);\n      });\n    };\n    const relativeToNative = (win, startSitu, finishSitu) => {\n      const range = win.document.createRange();\n      setStart(range, startSitu);\n      setFinish(range, finishSitu);\n      return range;\n    };\n    const exactToNative = (win, start, soffset, finish, foffset) => {\n      const rng = win.document.createRange();\n      rng.setStart(start.dom, soffset);\n      rng.setEnd(finish.dom, foffset);\n      return rng;\n    };\n    const toRect = rect => ({\n      left: rect.left,\n      top: rect.top,\n      right: rect.right,\n      bottom: rect.bottom,\n      width: rect.width,\n      height: rect.height\n    });\n    const getFirstRect$1 = rng => {\n      const rects = rng.getClientRects();\n      const rect = rects.length > 0 ? rects[0] : rng.getBoundingClientRect();\n      return rect.width > 0 || rect.height > 0 ? Optional.some(rect).map(toRect) : Optional.none();\n    };\n\n    const adt$3 = Adt.generate([{\n      ltr: ['start', 'soffset', 'finish', 'foffset']\n    }, {\n      rtl: ['start', 'soffset', 'finish', 'foffset']\n    }]);\n    const fromRange = (win, type, range) => type(SugarElement.fromDom(range.startContainer), range.startOffset, SugarElement.fromDom(range.endContainer), range.endOffset);\n    const getRanges = (win, selection) => selection.match({\n      domRange: rng => {\n        return {\n          ltr: constant(rng),\n          rtl: Optional.none\n        };\n      },\n      relative: (startSitu, finishSitu) => {\n        return {\n          ltr: cached(() => relativeToNative(win, startSitu, finishSitu)),\n          rtl: cached(() => Optional.some(relativeToNative(win, finishSitu, startSitu)))\n        };\n      },\n      exact: (start, soffset, finish, foffset) => {\n        return {\n          ltr: cached(() => exactToNative(win, start, soffset, finish, foffset)),\n          rtl: cached(() => Optional.some(exactToNative(win, finish, foffset, start, soffset)))\n        };\n      }\n    });\n    const doDiagnose = (win, ranges) => {\n      const rng = ranges.ltr();\n      if (rng.collapsed) {\n        const reversed = ranges.rtl().filter(rev => rev.collapsed === false);\n        return reversed.map(rev => adt$3.rtl(SugarElement.fromDom(rev.endContainer), rev.endOffset, SugarElement.fromDom(rev.startContainer), rev.startOffset)).getOrThunk(() => fromRange(win, adt$3.ltr, rng));\n      } else {\n        return fromRange(win, adt$3.ltr, rng);\n      }\n    };\n    const diagnose = (win, selection) => {\n      const ranges = getRanges(win, selection);\n      return doDiagnose(win, ranges);\n    };\n    const asLtrRange = (win, selection) => {\n      const diagnosis = diagnose(win, selection);\n      return diagnosis.match({\n        ltr: (start, soffset, finish, foffset) => {\n          const rng = win.document.createRange();\n          rng.setStart(start.dom, soffset);\n          rng.setEnd(finish.dom, foffset);\n          return rng;\n        },\n        rtl: (start, soffset, finish, foffset) => {\n          const rng = win.document.createRange();\n          rng.setStart(finish.dom, foffset);\n          rng.setEnd(start.dom, soffset);\n          return rng;\n        }\n      });\n    };\n    adt$3.ltr;\n    adt$3.rtl;\n\n    const create$3 = (start, soffset, finish, foffset) => ({\n      start,\n      soffset,\n      finish,\n      foffset\n    });\n    const SimRange = {\n      create: create$3\n    };\n\n    const create$2 = (start, soffset, finish, foffset) => {\n      return {\n        start: Situ.on(start, soffset),\n        finish: Situ.on(finish, foffset)\n      };\n    };\n    const Situs = {\n      create: create$2\n    };\n\n    const convertToRange = (win, selection) => {\n      const rng = asLtrRange(win, selection);\n      return SimRange.create(SugarElement.fromDom(rng.startContainer), rng.startOffset, SugarElement.fromDom(rng.endContainer), rng.endOffset);\n    };\n    const makeSitus = Situs.create;\n\n    const sync = (container, isRoot, start, soffset, finish, foffset, selectRange) => {\n      if (!(eq$1(start, finish) && soffset === foffset)) {\n        return closest$1(start, 'td,th', isRoot).bind(s => {\n          return closest$1(finish, 'td,th', isRoot).bind(f => {\n            return detect(container, isRoot, s, f, selectRange);\n          });\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n    const detect = (container, isRoot, start, finish, selectRange) => {\n      if (!eq$1(start, finish)) {\n        return identify(start, finish, isRoot).bind(cellSel => {\n          const boxes = cellSel.boxes.getOr([]);\n          if (boxes.length > 1) {\n            selectRange(container, boxes, cellSel.start, cellSel.finish);\n            return Optional.some(Response.create(Optional.some(makeSitus(start, 0, start, getEnd(start))), true));\n          } else {\n            return Optional.none();\n          }\n        });\n      } else {\n        return Optional.none();\n      }\n    };\n    const update = (rows, columns, container, selected, annotations) => {\n      const updateSelection = newSels => {\n        annotations.clearBeforeUpdate(container);\n        annotations.selectRange(container, newSels.boxes, newSels.start, newSels.finish);\n        return newSels.boxes;\n      };\n      return shiftSelection(selected, rows, columns, annotations.firstSelectedSelector, annotations.lastSelectedSelector).map(updateSelection);\n    };\n\n    const traverse = (item, mode) => ({\n      item,\n      mode\n    });\n    const backtrack = (universe, item, _direction, transition = sidestep) => {\n      return universe.property().parent(item).map(p => {\n        return traverse(p, transition);\n      });\n    };\n    const sidestep = (universe, item, direction, transition = advance) => {\n      return direction.sibling(universe, item).map(p => {\n        return traverse(p, transition);\n      });\n    };\n    const advance = (universe, item, direction, transition = advance) => {\n      const children = universe.property().children(item);\n      const result = direction.first(children);\n      return result.map(r => {\n        return traverse(r, transition);\n      });\n    };\n    const successors = [{\n      current: backtrack,\n      next: sidestep,\n      fallback: Optional.none()\n    }, {\n      current: sidestep,\n      next: advance,\n      fallback: Optional.some(backtrack)\n    }, {\n      current: advance,\n      next: advance,\n      fallback: Optional.some(sidestep)\n    }];\n    const go = (universe, item, mode, direction, rules = successors) => {\n      const ruleOpt = find$1(rules, succ => {\n        return succ.current === mode;\n      });\n      return ruleOpt.bind(rule => {\n        return rule.current(universe, item, direction, rule.next).orThunk(() => {\n          return rule.fallback.bind(fb => {\n            return go(universe, item, fb, direction);\n          });\n        });\n      });\n    };\n\n    const left$1 = () => {\n      const sibling = (universe, item) => {\n        return universe.query().prevSibling(item);\n      };\n      const first = children => {\n        return children.length > 0 ? Optional.some(children[children.length - 1]) : Optional.none();\n      };\n      return {\n        sibling,\n        first\n      };\n    };\n    const right$1 = () => {\n      const sibling = (universe, item) => {\n        return universe.query().nextSibling(item);\n      };\n      const first = children => {\n        return children.length > 0 ? Optional.some(children[0]) : Optional.none();\n      };\n      return {\n        sibling,\n        first\n      };\n    };\n    const Walkers = {\n      left: left$1,\n      right: right$1\n    };\n\n    const hone = (universe, item, predicate, mode, direction, isRoot) => {\n      const next = go(universe, item, mode, direction);\n      return next.bind(n => {\n        if (isRoot(n.item)) {\n          return Optional.none();\n        } else {\n          return predicate(n.item) ? Optional.some(n.item) : hone(universe, n.item, predicate, n.mode, direction, isRoot);\n        }\n      });\n    };\n    const left = (universe, item, predicate, isRoot) => {\n      return hone(universe, item, predicate, sidestep, Walkers.left(), isRoot);\n    };\n    const right = (universe, item, predicate, isRoot) => {\n      return hone(universe, item, predicate, sidestep, Walkers.right(), isRoot);\n    };\n\n    const isLeaf = universe => element => universe.property().children(element).length === 0;\n    const before$1 = (universe, item, isRoot) => {\n      return seekLeft$1(universe, item, isLeaf(universe), isRoot);\n    };\n    const after$2 = (universe, item, isRoot) => {\n      return seekRight$1(universe, item, isLeaf(universe), isRoot);\n    };\n    const seekLeft$1 = left;\n    const seekRight$1 = right;\n\n    const universe = DomUniverse();\n    const before = (element, isRoot) => {\n      return before$1(universe, element, isRoot);\n    };\n    const after$1 = (element, isRoot) => {\n      return after$2(universe, element, isRoot);\n    };\n    const seekLeft = (element, predicate, isRoot) => {\n      return seekLeft$1(universe, element, predicate, isRoot);\n    };\n    const seekRight = (element, predicate, isRoot) => {\n      return seekRight$1(universe, element, predicate, isRoot);\n    };\n\n    const ancestor = (scope, predicate, isRoot) => ancestor$2(scope, predicate, isRoot).isSome();\n\n    const adt$2 = Adt.generate([{\n      none: ['message']\n    }, {\n      success: []\n    }, {\n      failedUp: ['cell']\n    }, {\n      failedDown: ['cell']\n    }]);\n    const isOverlapping = (bridge, before, after) => {\n      const beforeBounds = bridge.getRect(before);\n      const afterBounds = bridge.getRect(after);\n      return afterBounds.right > beforeBounds.left && afterBounds.left < beforeBounds.right;\n    };\n    const isRow = elem => {\n      return closest$1(elem, 'tr');\n    };\n    const verify = (bridge, before, beforeOffset, after, afterOffset, failure, isRoot) => {\n      return closest$1(after, 'td,th', isRoot).bind(afterCell => {\n        return closest$1(before, 'td,th', isRoot).map(beforeCell => {\n          if (!eq$1(afterCell, beforeCell)) {\n            return sharedOne(isRow, [afterCell, beforeCell]).fold(() => {\n              return isOverlapping(bridge, beforeCell, afterCell) ? adt$2.success() : failure(beforeCell);\n            }, _sharedRow => {\n              return failure(beforeCell);\n            });\n          } else {\n            return eq$1(after, afterCell) && getEnd(afterCell) === afterOffset ? failure(beforeCell) : adt$2.none('in same cell');\n          }\n        });\n      }).getOr(adt$2.none('default'));\n    };\n    const cata = (subject, onNone, onSuccess, onFailedUp, onFailedDown) => {\n      return subject.fold(onNone, onSuccess, onFailedUp, onFailedDown);\n    };\n    const BeforeAfter = {\n      ...adt$2,\n      verify,\n      cata\n    };\n\n    const inParent = (parent, children, element, index) => ({\n      parent,\n      children,\n      element,\n      index\n    });\n    const indexInParent = element => parent(element).bind(parent => {\n      const children = children$2(parent);\n      return indexOf(children, element).map(index => inParent(parent, children, element, index));\n    });\n    const indexOf = (elements, element) => findIndex(elements, curry(eq$1, element));\n\n    const isBr = isTag('br');\n    const gatherer = (cand, gather, isRoot) => {\n      return gather(cand, isRoot).bind(target => {\n        return isText(target) && get$6(target).trim().length === 0 ? gatherer(target, gather, isRoot) : Optional.some(target);\n      });\n    };\n    const handleBr = (isRoot, element, direction) => {\n      return direction.traverse(element).orThunk(() => {\n        return gatherer(element, direction.gather, isRoot);\n      }).map(direction.relative);\n    };\n    const findBr = (element, offset) => {\n      return child$2(element, offset).filter(isBr).orThunk(() => {\n        return child$2(element, offset - 1).filter(isBr);\n      });\n    };\n    const handleParent = (isRoot, element, offset, direction) => {\n      return findBr(element, offset).bind(br => {\n        return direction.traverse(br).fold(() => {\n          return gatherer(br, direction.gather, isRoot).map(direction.relative);\n        }, adjacent => {\n          return indexInParent(adjacent).map(info => {\n            return Situ.on(info.parent, info.index);\n          });\n        });\n      });\n    };\n    const tryBr = (isRoot, element, offset, direction) => {\n      const target = isBr(element) ? handleBr(isRoot, element, direction) : handleParent(isRoot, element, offset, direction);\n      return target.map(tgt => {\n        return {\n          start: tgt,\n          finish: tgt\n        };\n      });\n    };\n    const process = analysis => {\n      return BeforeAfter.cata(analysis, _message => {\n        return Optional.none();\n      }, () => {\n        return Optional.none();\n      }, cell => {\n        return Optional.some(point(cell, 0));\n      }, cell => {\n        return Optional.some(point(cell, getEnd(cell)));\n      });\n    };\n\n    const moveDown = (caret, amount) => {\n      return {\n        left: caret.left,\n        top: caret.top + amount,\n        right: caret.right,\n        bottom: caret.bottom + amount\n      };\n    };\n    const moveUp = (caret, amount) => {\n      return {\n        left: caret.left,\n        top: caret.top - amount,\n        right: caret.right,\n        bottom: caret.bottom - amount\n      };\n    };\n    const translate = (caret, xDelta, yDelta) => {\n      return {\n        left: caret.left + xDelta,\n        top: caret.top + yDelta,\n        right: caret.right + xDelta,\n        bottom: caret.bottom + yDelta\n      };\n    };\n    const getTop = caret => {\n      return caret.top;\n    };\n    const getBottom = caret => {\n      return caret.bottom;\n    };\n\n    const getPartialBox = (bridge, element, offset) => {\n      if (offset >= 0 && offset < getEnd(element)) {\n        return bridge.getRangedRect(element, offset, element, offset + 1);\n      } else if (offset > 0) {\n        return bridge.getRangedRect(element, offset - 1, element, offset);\n      }\n      return Optional.none();\n    };\n    const toCaret = rect => ({\n      left: rect.left,\n      top: rect.top,\n      right: rect.right,\n      bottom: rect.bottom\n    });\n    const getElemBox = (bridge, element) => {\n      return Optional.some(bridge.getRect(element));\n    };\n    const getBoxAt = (bridge, element, offset) => {\n      if (isElement(element)) {\n        return getElemBox(bridge, element).map(toCaret);\n      } else if (isText(element)) {\n        return getPartialBox(bridge, element, offset).map(toCaret);\n      } else {\n        return Optional.none();\n      }\n    };\n    const getEntireBox = (bridge, element) => {\n      if (isElement(element)) {\n        return getElemBox(bridge, element).map(toCaret);\n      } else if (isText(element)) {\n        return bridge.getRangedRect(element, 0, element, getEnd(element)).map(toCaret);\n      } else {\n        return Optional.none();\n      }\n    };\n\n    const JUMP_SIZE = 5;\n    const NUM_RETRIES = 100;\n    const adt$1 = Adt.generate([{\n      none: []\n    }, {\n      retry: ['caret']\n    }]);\n    const isOutside = (caret, box) => {\n      return caret.left < box.left || Math.abs(box.right - caret.left) < 1 || caret.left > box.right;\n    };\n    const inOutsideBlock = (bridge, element, caret) => {\n      return closest$2(element, isBlock).fold(never, cell => {\n        return getEntireBox(bridge, cell).exists(box => {\n          return isOutside(caret, box);\n        });\n      });\n    };\n    const adjustDown = (bridge, element, guessBox, original, caret) => {\n      const lowerCaret = moveDown(caret, JUMP_SIZE);\n      if (Math.abs(guessBox.bottom - original.bottom) < 1) {\n        return adt$1.retry(lowerCaret);\n      } else if (guessBox.top > caret.bottom) {\n        return adt$1.retry(lowerCaret);\n      } else if (guessBox.top === caret.bottom) {\n        return adt$1.retry(moveDown(caret, 1));\n      } else {\n        return inOutsideBlock(bridge, element, caret) ? adt$1.retry(translate(lowerCaret, JUMP_SIZE, 0)) : adt$1.none();\n      }\n    };\n    const adjustUp = (bridge, element, guessBox, original, caret) => {\n      const higherCaret = moveUp(caret, JUMP_SIZE);\n      if (Math.abs(guessBox.top - original.top) < 1) {\n        return adt$1.retry(higherCaret);\n      } else if (guessBox.bottom < caret.top) {\n        return adt$1.retry(higherCaret);\n      } else if (guessBox.bottom === caret.top) {\n        return adt$1.retry(moveUp(caret, 1));\n      } else {\n        return inOutsideBlock(bridge, element, caret) ? adt$1.retry(translate(higherCaret, JUMP_SIZE, 0)) : adt$1.none();\n      }\n    };\n    const upMovement = {\n      point: getTop,\n      adjuster: adjustUp,\n      move: moveUp,\n      gather: before\n    };\n    const downMovement = {\n      point: getBottom,\n      adjuster: adjustDown,\n      move: moveDown,\n      gather: after$1\n    };\n    const isAtTable = (bridge, x, y) => {\n      return bridge.elementFromPoint(x, y).filter(elm => {\n        return name(elm) === 'table';\n      }).isSome();\n    };\n    const adjustForTable = (bridge, movement, original, caret, numRetries) => {\n      return adjustTil(bridge, movement, original, movement.move(caret, JUMP_SIZE), numRetries);\n    };\n    const adjustTil = (bridge, movement, original, caret, numRetries) => {\n      if (numRetries === 0) {\n        return Optional.some(caret);\n      }\n      if (isAtTable(bridge, caret.left, movement.point(caret))) {\n        return adjustForTable(bridge, movement, original, caret, numRetries - 1);\n      }\n      return bridge.situsFromPoint(caret.left, movement.point(caret)).bind(guess => {\n        return guess.start.fold(Optional.none, element => {\n          return getEntireBox(bridge, element).bind(guessBox => {\n            return movement.adjuster(bridge, element, guessBox, original, caret).fold(Optional.none, newCaret => {\n              return adjustTil(bridge, movement, original, newCaret, numRetries - 1);\n            });\n          }).orThunk(() => {\n            return Optional.some(caret);\n          });\n        }, Optional.none);\n      });\n    };\n    const checkScroll = (movement, adjusted, bridge) => {\n      if (movement.point(adjusted) > bridge.getInnerHeight()) {\n        return Optional.some(movement.point(adjusted) - bridge.getInnerHeight());\n      } else if (movement.point(adjusted) < 0) {\n        return Optional.some(-movement.point(adjusted));\n      } else {\n        return Optional.none();\n      }\n    };\n    const retry = (movement, bridge, caret) => {\n      const moved = movement.move(caret, JUMP_SIZE);\n      const adjusted = adjustTil(bridge, movement, caret, moved, NUM_RETRIES).getOr(moved);\n      return checkScroll(movement, adjusted, bridge).fold(() => {\n        return bridge.situsFromPoint(adjusted.left, movement.point(adjusted));\n      }, delta => {\n        bridge.scrollBy(0, delta);\n        return bridge.situsFromPoint(adjusted.left, movement.point(adjusted) - delta);\n      });\n    };\n    const Retries = {\n      tryUp: curry(retry, upMovement),\n      tryDown: curry(retry, downMovement),\n      getJumpSize: constant(JUMP_SIZE)\n    };\n\n    const MAX_RETRIES = 20;\n    const findSpot = (bridge, isRoot, direction) => {\n      return bridge.getSelection().bind(sel => {\n        return tryBr(isRoot, sel.finish, sel.foffset, direction).fold(() => {\n          return Optional.some(point(sel.finish, sel.foffset));\n        }, brNeighbour => {\n          const range = bridge.fromSitus(brNeighbour);\n          const analysis = BeforeAfter.verify(bridge, sel.finish, sel.foffset, range.finish, range.foffset, direction.failure, isRoot);\n          return process(analysis);\n        });\n      });\n    };\n    const scan = (bridge, isRoot, element, offset, direction, numRetries) => {\n      if (numRetries === 0) {\n        return Optional.none();\n      }\n      return tryCursor(bridge, isRoot, element, offset, direction).bind(situs => {\n        const range = bridge.fromSitus(situs);\n        const analysis = BeforeAfter.verify(bridge, element, offset, range.finish, range.foffset, direction.failure, isRoot);\n        return BeforeAfter.cata(analysis, () => {\n          return Optional.none();\n        }, () => {\n          return Optional.some(situs);\n        }, cell => {\n          if (eq$1(element, cell) && offset === 0) {\n            return tryAgain(bridge, element, offset, moveUp, direction);\n          } else {\n            return scan(bridge, isRoot, cell, 0, direction, numRetries - 1);\n          }\n        }, cell => {\n          if (eq$1(element, cell) && offset === getEnd(cell)) {\n            return tryAgain(bridge, element, offset, moveDown, direction);\n          } else {\n            return scan(bridge, isRoot, cell, getEnd(cell), direction, numRetries - 1);\n          }\n        });\n      });\n    };\n    const tryAgain = (bridge, element, offset, move, direction) => {\n      return getBoxAt(bridge, element, offset).bind(box => {\n        return tryAt(bridge, direction, move(box, Retries.getJumpSize()));\n      });\n    };\n    const tryAt = (bridge, direction, box) => {\n      const browser = detect$2().browser;\n      if (browser.isChromium() || browser.isSafari() || browser.isFirefox()) {\n        return direction.retry(bridge, box);\n      } else {\n        return Optional.none();\n      }\n    };\n    const tryCursor = (bridge, isRoot, element, offset, direction) => {\n      return getBoxAt(bridge, element, offset).bind(box => {\n        return tryAt(bridge, direction, box);\n      });\n    };\n    const handle$1 = (bridge, isRoot, direction) => {\n      return findSpot(bridge, isRoot, direction).bind(spot => {\n        return scan(bridge, isRoot, spot.element, spot.offset, direction, MAX_RETRIES).map(bridge.fromSitus);\n      });\n    };\n\n    const inSameTable = (elem, table) => {\n      return ancestor(elem, e => {\n        return parent(e).exists(p => {\n          return eq$1(p, table);\n        });\n      });\n    };\n    const simulate = (bridge, isRoot, direction, initial, anchor) => {\n      return closest$1(initial, 'td,th', isRoot).bind(start => {\n        return closest$1(start, 'table', isRoot).bind(table => {\n          if (!inSameTable(anchor, table)) {\n            return Optional.none();\n          }\n          return handle$1(bridge, isRoot, direction).bind(range => {\n            return closest$1(range.finish, 'td,th', isRoot).map(finish => {\n              return {\n                start,\n                finish,\n                range\n              };\n            });\n          });\n        });\n      });\n    };\n    const navigate = (bridge, isRoot, direction, initial, anchor, precheck) => {\n      return precheck(initial, isRoot).orThunk(() => {\n        return simulate(bridge, isRoot, direction, initial, anchor).map(info => {\n          const range = info.range;\n          return Response.create(Optional.some(makeSitus(range.start, range.soffset, range.finish, range.foffset)), true);\n        });\n      });\n    };\n    const firstUpCheck = (initial, isRoot) => {\n      return closest$1(initial, 'tr', isRoot).bind(startRow => {\n        return closest$1(startRow, 'table', isRoot).bind(table => {\n          const rows = descendants(table, 'tr');\n          if (eq$1(startRow, rows[0])) {\n            return seekLeft(table, element => {\n              return last$1(element).isSome();\n            }, isRoot).map(last => {\n              const lastOffset = getEnd(last);\n              return Response.create(Optional.some(makeSitus(last, lastOffset, last, lastOffset)), true);\n            });\n          } else {\n            return Optional.none();\n          }\n        });\n      });\n    };\n    const lastDownCheck = (initial, isRoot) => {\n      return closest$1(initial, 'tr', isRoot).bind(startRow => {\n        return closest$1(startRow, 'table', isRoot).bind(table => {\n          const rows = descendants(table, 'tr');\n          if (eq$1(startRow, rows[rows.length - 1])) {\n            return seekRight(table, element => {\n              return first(element).isSome();\n            }, isRoot).map(first => {\n              return Response.create(Optional.some(makeSitus(first, 0, first, 0)), true);\n            });\n          } else {\n            return Optional.none();\n          }\n        });\n      });\n    };\n    const select = (bridge, container, isRoot, direction, initial, anchor, selectRange) => {\n      return simulate(bridge, isRoot, direction, initial, anchor).bind(info => {\n        return detect(container, isRoot, info.start, info.finish, selectRange);\n      });\n    };\n\n    const Cell = initial => {\n      let value = initial;\n      const get = () => {\n        return value;\n      };\n      const set = v => {\n        value = v;\n      };\n      return {\n        get,\n        set\n      };\n    };\n\n    const singleton = doRevoke => {\n      const subject = Cell(Optional.none());\n      const revoke = () => subject.get().each(doRevoke);\n      const clear = () => {\n        revoke();\n        subject.set(Optional.none());\n      };\n      const isSet = () => subject.get().isSome();\n      const get = () => subject.get();\n      const set = s => {\n        revoke();\n        subject.set(Optional.some(s));\n      };\n      return {\n        clear,\n        isSet,\n        get,\n        set\n      };\n    };\n    const value = () => {\n      const subject = singleton(noop);\n      const on = f => subject.get().each(f);\n      return {\n        ...subject,\n        on\n      };\n    };\n\n    const findCell = (target, isRoot) => closest$1(target, 'td,th', isRoot);\n    const isInEditableContext = cell => parentElement(cell).exists(isEditable$1);\n    const MouseSelection = (bridge, container, isRoot, annotations) => {\n      const cursor = value();\n      const clearstate = cursor.clear;\n      const applySelection = event => {\n        cursor.on(start => {\n          annotations.clearBeforeUpdate(container);\n          findCell(event.target, isRoot).each(finish => {\n            identify(start, finish, isRoot).each(cellSel => {\n              const boxes = cellSel.boxes.getOr([]);\n              if (boxes.length === 1) {\n                const singleCell = boxes[0];\n                const isNonEditableCell = getRaw(singleCell) === 'false';\n                const isCellClosestContentEditable = is(closest(event.target), singleCell, eq$1);\n                if (isNonEditableCell && isCellClosestContentEditable) {\n                  annotations.selectRange(container, boxes, singleCell, singleCell);\n                  bridge.selectContents(singleCell);\n                }\n              } else if (boxes.length > 1) {\n                annotations.selectRange(container, boxes, cellSel.start, cellSel.finish);\n                bridge.selectContents(finish);\n              }\n            });\n          });\n        });\n      };\n      const mousedown = event => {\n        annotations.clear(container);\n        findCell(event.target, isRoot).filter(isInEditableContext).each(cursor.set);\n      };\n      const mouseover = event => {\n        applySelection(event);\n      };\n      const mouseup = event => {\n        applySelection(event);\n        clearstate();\n      };\n      return {\n        clearstate,\n        mousedown,\n        mouseover,\n        mouseup\n      };\n    };\n\n    const down = {\n      traverse: nextSibling,\n      gather: after$1,\n      relative: Situ.before,\n      retry: Retries.tryDown,\n      failure: BeforeAfter.failedDown\n    };\n    const up = {\n      traverse: prevSibling,\n      gather: before,\n      relative: Situ.before,\n      retry: Retries.tryUp,\n      failure: BeforeAfter.failedUp\n    };\n\n    const isKey = key => {\n      return keycode => {\n        return keycode === key;\n      };\n    };\n    const isUp = isKey(38);\n    const isDown = isKey(40);\n    const isNavigation = keycode => {\n      return keycode >= 37 && keycode <= 40;\n    };\n    const ltr = {\n      isBackward: isKey(37),\n      isForward: isKey(39)\n    };\n    const rtl = {\n      isBackward: isKey(39),\n      isForward: isKey(37)\n    };\n\n    const get$3 = _DOC => {\n      const doc = _DOC !== undefined ? _DOC.dom : document;\n      const x = doc.body.scrollLeft || doc.documentElement.scrollLeft;\n      const y = doc.body.scrollTop || doc.documentElement.scrollTop;\n      return SugarPosition(x, y);\n    };\n    const by = (x, y, _DOC) => {\n      const doc = _DOC !== undefined ? _DOC.dom : document;\n      const win = doc.defaultView;\n      if (win) {\n        win.scrollBy(x, y);\n      }\n    };\n\n    const adt = Adt.generate([{\n      domRange: ['rng']\n    }, {\n      relative: ['startSitu', 'finishSitu']\n    }, {\n      exact: ['start', 'soffset', 'finish', 'foffset']\n    }]);\n    const exactFromRange = simRange => adt.exact(simRange.start, simRange.soffset, simRange.finish, simRange.foffset);\n    const getStart = selection => selection.match({\n      domRange: rng => SugarElement.fromDom(rng.startContainer),\n      relative: (startSitu, _finishSitu) => Situ.getStart(startSitu),\n      exact: (start, _soffset, _finish, _foffset) => start\n    });\n    const domRange = adt.domRange;\n    const relative = adt.relative;\n    const exact = adt.exact;\n    const getWin = selection => {\n      const start = getStart(selection);\n      return defaultView(start);\n    };\n    const range = SimRange.create;\n    const SimSelection = {\n      domRange,\n      relative,\n      exact,\n      exactFromRange,\n      getWin,\n      range\n    };\n\n    const caretPositionFromPoint = (doc, x, y) => {\n      var _a, _b;\n      return Optional.from((_b = (_a = doc.dom).caretPositionFromPoint) === null || _b === void 0 ? void 0 : _b.call(_a, x, y)).bind(pos => {\n        if (pos.offsetNode === null) {\n          return Optional.none();\n        }\n        const r = doc.dom.createRange();\n        r.setStart(pos.offsetNode, pos.offset);\n        r.collapse();\n        return Optional.some(r);\n      });\n    };\n    const caretRangeFromPoint = (doc, x, y) => {\n      var _a, _b;\n      return Optional.from((_b = (_a = doc.dom).caretRangeFromPoint) === null || _b === void 0 ? void 0 : _b.call(_a, x, y));\n    };\n    const availableSearch = (() => {\n      if (document.caretPositionFromPoint) {\n        return caretPositionFromPoint;\n      } else if (document.caretRangeFromPoint) {\n        return caretRangeFromPoint;\n      } else {\n        return Optional.none;\n      }\n    })();\n    const fromPoint = (win, x, y) => {\n      const doc = SugarElement.fromDom(win.document);\n      return availableSearch(doc, x, y).map(rng => SimRange.create(SugarElement.fromDom(rng.startContainer), rng.startOffset, SugarElement.fromDom(rng.endContainer), rng.endOffset));\n    };\n\n    const beforeSpecial = (element, offset) => {\n      const name$1 = name(element);\n      if ('input' === name$1) {\n        return Situ.after(element);\n      } else if (!contains$2(['br', 'img'], name$1)) {\n        return Situ.on(element, offset);\n      } else {\n        return offset === 0 ? Situ.before(element) : Situ.after(element);\n      }\n    };\n    const preprocessRelative = (startSitu, finishSitu) => {\n      const start = startSitu.fold(Situ.before, beforeSpecial, Situ.after);\n      const finish = finishSitu.fold(Situ.before, beforeSpecial, Situ.after);\n      return SimSelection.relative(start, finish);\n    };\n    const preprocessExact = (start, soffset, finish, foffset) => {\n      const startSitu = beforeSpecial(start, soffset);\n      const finishSitu = beforeSpecial(finish, foffset);\n      return SimSelection.relative(startSitu, finishSitu);\n    };\n\n    const makeRange = (start, soffset, finish, foffset) => {\n      const doc = owner(start);\n      const rng = doc.dom.createRange();\n      rng.setStart(start.dom, soffset);\n      rng.setEnd(finish.dom, foffset);\n      return rng;\n    };\n    const after = (start, soffset, finish, foffset) => {\n      const r = makeRange(start, soffset, finish, foffset);\n      const same = eq$1(start, finish) && soffset === foffset;\n      return r.collapsed && !same;\n    };\n\n    const getNativeSelection = win => Optional.from(win.getSelection());\n    const doSetNativeRange = (win, rng) => {\n      getNativeSelection(win).each(selection => {\n        selection.removeAllRanges();\n        selection.addRange(rng);\n      });\n    };\n    const doSetRange = (win, start, soffset, finish, foffset) => {\n      const rng = exactToNative(win, start, soffset, finish, foffset);\n      doSetNativeRange(win, rng);\n    };\n    const setLegacyRtlRange = (win, selection, start, soffset, finish, foffset) => {\n      selection.collapse(start.dom, soffset);\n      selection.extend(finish.dom, foffset);\n    };\n    const setRangeFromRelative = (win, relative) => diagnose(win, relative).match({\n      ltr: (start, soffset, finish, foffset) => {\n        doSetRange(win, start, soffset, finish, foffset);\n      },\n      rtl: (start, soffset, finish, foffset) => {\n        getNativeSelection(win).each(selection => {\n          if (selection.setBaseAndExtent) {\n            selection.setBaseAndExtent(start.dom, soffset, finish.dom, foffset);\n          } else if (selection.extend) {\n            try {\n              setLegacyRtlRange(win, selection, start, soffset, finish, foffset);\n            } catch (e) {\n              doSetRange(win, finish, foffset, start, soffset);\n            }\n          } else {\n            doSetRange(win, finish, foffset, start, soffset);\n          }\n        });\n      }\n    });\n    const setExact = (win, start, soffset, finish, foffset) => {\n      const relative = preprocessExact(start, soffset, finish, foffset);\n      setRangeFromRelative(win, relative);\n    };\n    const setRelative = (win, startSitu, finishSitu) => {\n      const relative = preprocessRelative(startSitu, finishSitu);\n      setRangeFromRelative(win, relative);\n    };\n    const readRange = selection => {\n      if (selection.rangeCount > 0) {\n        const firstRng = selection.getRangeAt(0);\n        const lastRng = selection.getRangeAt(selection.rangeCount - 1);\n        return Optional.some(SimRange.create(SugarElement.fromDom(firstRng.startContainer), firstRng.startOffset, SugarElement.fromDom(lastRng.endContainer), lastRng.endOffset));\n      } else {\n        return Optional.none();\n      }\n    };\n    const doGetExact = selection => {\n      if (selection.anchorNode === null || selection.focusNode === null) {\n        return readRange(selection);\n      } else {\n        const anchor = SugarElement.fromDom(selection.anchorNode);\n        const focus = SugarElement.fromDom(selection.focusNode);\n        return after(anchor, selection.anchorOffset, focus, selection.focusOffset) ? Optional.some(SimRange.create(anchor, selection.anchorOffset, focus, selection.focusOffset)) : readRange(selection);\n      }\n    };\n    const setToElement = (win, element, selectNodeContents$1 = true) => {\n      const rngGetter = selectNodeContents$1 ? selectNodeContents : selectNode;\n      const rng = rngGetter(win, element);\n      doSetNativeRange(win, rng);\n    };\n    const getExact = win => getNativeSelection(win).filter(sel => sel.rangeCount > 0).bind(doGetExact);\n    const get$2 = win => getExact(win).map(range => SimSelection.exact(range.start, range.soffset, range.finish, range.foffset));\n    const getFirstRect = (win, selection) => {\n      const rng = asLtrRange(win, selection);\n      return getFirstRect$1(rng);\n    };\n    const getAtPoint = (win, x, y) => fromPoint(win, x, y);\n    const clear = win => {\n      getNativeSelection(win).each(selection => selection.removeAllRanges());\n    };\n\n    const WindowBridge = win => {\n      const elementFromPoint = (x, y) => {\n        return SugarElement.fromPoint(SugarElement.fromDom(win.document), x, y);\n      };\n      const getRect = element => {\n        return element.dom.getBoundingClientRect();\n      };\n      const getRangedRect = (start, soffset, finish, foffset) => {\n        const sel = SimSelection.exact(start, soffset, finish, foffset);\n        return getFirstRect(win, sel);\n      };\n      const getSelection = () => {\n        return get$2(win).map(exactAdt => {\n          return convertToRange(win, exactAdt);\n        });\n      };\n      const fromSitus = situs => {\n        const relative = SimSelection.relative(situs.start, situs.finish);\n        return convertToRange(win, relative);\n      };\n      const situsFromPoint = (x, y) => {\n        return getAtPoint(win, x, y).map(exact => {\n          return Situs.create(exact.start, exact.soffset, exact.finish, exact.foffset);\n        });\n      };\n      const clearSelection = () => {\n        clear(win);\n      };\n      const collapseSelection = (toStart = false) => {\n        get$2(win).each(sel => sel.fold(rng => rng.collapse(toStart), (startSitu, finishSitu) => {\n          const situ = toStart ? startSitu : finishSitu;\n          setRelative(win, situ, situ);\n        }, (start, soffset, finish, foffset) => {\n          const node = toStart ? start : finish;\n          const offset = toStart ? soffset : foffset;\n          setExact(win, node, offset, node, offset);\n        }));\n      };\n      const selectNode = element => {\n        setToElement(win, element, false);\n      };\n      const selectContents = element => {\n        setToElement(win, element);\n      };\n      const setSelection = sel => {\n        setExact(win, sel.start, sel.soffset, sel.finish, sel.foffset);\n      };\n      const setRelativeSelection = (start, finish) => {\n        setRelative(win, start, finish);\n      };\n      const getInnerHeight = () => {\n        return win.innerHeight;\n      };\n      const getScrollY = () => {\n        const pos = get$3(SugarElement.fromDom(win.document));\n        return pos.top;\n      };\n      const scrollBy = (x, y) => {\n        by(x, y, SugarElement.fromDom(win.document));\n      };\n      return {\n        elementFromPoint,\n        getRect,\n        getRangedRect,\n        getSelection,\n        fromSitus,\n        situsFromPoint,\n        clearSelection,\n        collapseSelection,\n        setSelection,\n        setRelativeSelection,\n        selectNode,\n        selectContents,\n        getInnerHeight,\n        getScrollY,\n        scrollBy\n      };\n    };\n\n    const rc = (rows, cols) => ({\n      rows,\n      cols\n    });\n    const mouse = (win, container, isRoot, annotations) => {\n      const bridge = WindowBridge(win);\n      const handlers = MouseSelection(bridge, container, isRoot, annotations);\n      return {\n        clearstate: handlers.clearstate,\n        mousedown: handlers.mousedown,\n        mouseover: handlers.mouseover,\n        mouseup: handlers.mouseup\n      };\n    };\n    const isEditableNode = node => closest$2(node, isHTMLElement).exists(isEditable$1);\n    const isEditableSelection = (start, finish) => isEditableNode(start) || isEditableNode(finish);\n    const keyboard = (win, container, isRoot, annotations) => {\n      const bridge = WindowBridge(win);\n      const clearToNavigate = () => {\n        annotations.clear(container);\n        return Optional.none();\n      };\n      const keydown = (event, start, soffset, finish, foffset, direction) => {\n        const realEvent = event.raw;\n        const keycode = realEvent.which;\n        const shiftKey = realEvent.shiftKey === true;\n        const handler = retrieve$1(container, annotations.selectedSelector).fold(() => {\n          if (isNavigation(keycode) && !shiftKey) {\n            annotations.clearBeforeUpdate(container);\n          }\n          if (isNavigation(keycode) && shiftKey && !isEditableSelection(start, finish)) {\n            return Optional.none;\n          } else if (isDown(keycode) && shiftKey) {\n            return curry(select, bridge, container, isRoot, down, finish, start, annotations.selectRange);\n          } else if (isUp(keycode) && shiftKey) {\n            return curry(select, bridge, container, isRoot, up, finish, start, annotations.selectRange);\n          } else if (isDown(keycode)) {\n            return curry(navigate, bridge, isRoot, down, finish, start, lastDownCheck);\n          } else if (isUp(keycode)) {\n            return curry(navigate, bridge, isRoot, up, finish, start, firstUpCheck);\n          } else {\n            return Optional.none;\n          }\n        }, selected => {\n          const update$1 = attempts => {\n            return () => {\n              const navigation = findMap(attempts, delta => {\n                return update(delta.rows, delta.cols, container, selected, annotations);\n              });\n              return navigation.fold(() => {\n                return getEdges(container, annotations.firstSelectedSelector, annotations.lastSelectedSelector).map(edges => {\n                  const relative = isDown(keycode) || direction.isForward(keycode) ? Situ.after : Situ.before;\n                  bridge.setRelativeSelection(Situ.on(edges.first, 0), relative(edges.table));\n                  annotations.clear(container);\n                  return Response.create(Optional.none(), true);\n                });\n              }, _ => {\n                return Optional.some(Response.create(Optional.none(), true));\n              });\n            };\n          };\n          if (isNavigation(keycode) && shiftKey && !isEditableSelection(start, finish)) {\n            return Optional.none;\n          } else if (isDown(keycode) && shiftKey) {\n            return update$1([rc(+1, 0)]);\n          } else if (isUp(keycode) && shiftKey) {\n            return update$1([rc(-1, 0)]);\n          } else if (direction.isBackward(keycode) && shiftKey) {\n            return update$1([rc(0, -1), rc(-1, 0)]);\n          } else if (direction.isForward(keycode) && shiftKey) {\n            return update$1([rc(0, +1), rc(+1, 0)]);\n          } else if (isNavigation(keycode) && !shiftKey) {\n            return clearToNavigate;\n          } else {\n            return Optional.none;\n          }\n        });\n        return handler();\n      };\n      const keyup = (event, start, soffset, finish, foffset) => {\n        return retrieve$1(container, annotations.selectedSelector).fold(() => {\n          const realEvent = event.raw;\n          const keycode = realEvent.which;\n          const shiftKey = realEvent.shiftKey === true;\n          if (!shiftKey) {\n            return Optional.none();\n          }\n          if (isNavigation(keycode) && isEditableSelection(start, finish)) {\n            return sync(container, isRoot, start, soffset, finish, foffset, annotations.selectRange);\n          } else {\n            return Optional.none();\n          }\n        }, Optional.none);\n      };\n      return {\n        keydown,\n        keyup\n      };\n    };\n    const external = (win, container, isRoot, annotations) => {\n      const bridge = WindowBridge(win);\n      return (start, finish) => {\n        annotations.clearBeforeUpdate(container);\n        identify(start, finish, isRoot).each(cellSel => {\n          const boxes = cellSel.boxes.getOr([]);\n          annotations.selectRange(container, boxes, cellSel.start, cellSel.finish);\n          bridge.selectContents(finish);\n          bridge.collapseSelection();\n        });\n      };\n    };\n\n    const read = (element, attr) => {\n      const value = get$b(element, attr);\n      return value === undefined || value === '' ? [] : value.split(' ');\n    };\n    const add$2 = (element, attr, id) => {\n      const old = read(element, attr);\n      const nu = old.concat([id]);\n      set$2(element, attr, nu.join(' '));\n      return true;\n    };\n    const remove$4 = (element, attr, id) => {\n      const nu = filter$2(read(element, attr), v => v !== id);\n      if (nu.length > 0) {\n        set$2(element, attr, nu.join(' '));\n      } else {\n        remove$7(element, attr);\n      }\n      return false;\n    };\n\n    const supports = element => element.dom.classList !== undefined;\n    const get$1 = element => read(element, 'class');\n    const add$1 = (element, clazz) => add$2(element, 'class', clazz);\n    const remove$3 = (element, clazz) => remove$4(element, 'class', clazz);\n\n    const add = (element, clazz) => {\n      if (supports(element)) {\n        element.dom.classList.add(clazz);\n      } else {\n        add$1(element, clazz);\n      }\n    };\n    const cleanClass = element => {\n      const classList = supports(element) ? element.dom.classList : get$1(element);\n      if (classList.length === 0) {\n        remove$7(element, 'class');\n      }\n    };\n    const remove$2 = (element, clazz) => {\n      if (supports(element)) {\n        const classList = element.dom.classList;\n        classList.remove(clazz);\n      } else {\n        remove$3(element, clazz);\n      }\n      cleanClass(element);\n    };\n    const has = (element, clazz) => supports(element) && element.dom.classList.contains(clazz);\n\n    const remove$1 = (element, classes) => {\n      each$2(classes, x => {\n        remove$2(element, x);\n      });\n    };\n\n    const addClass = clazz => element => {\n      add(element, clazz);\n    };\n    const removeClasses = classes => element => {\n      remove$1(element, classes);\n    };\n\n    const byClass = ephemera => {\n      const addSelectionClass = addClass(ephemera.selected);\n      const removeSelectionClasses = removeClasses([ephemera.selected, ephemera.lastSelected, ephemera.firstSelected]);\n      const clear = container => {\n        const sels = descendants(container, ephemera.selectedSelector);\n        each$2(sels, removeSelectionClasses);\n      };\n      const selectRange = (container, cells, start, finish) => {\n        clear(container);\n        each$2(cells, addSelectionClass);\n        add(start, ephemera.firstSelected);\n        add(finish, ephemera.lastSelected);\n      };\n      return {\n        clearBeforeUpdate: clear,\n        clear,\n        selectRange,\n        selectedSelector: ephemera.selectedSelector,\n        firstSelectedSelector: ephemera.firstSelectedSelector,\n        lastSelectedSelector: ephemera.lastSelectedSelector\n      };\n    };\n    const byAttr = (ephemera, onSelection, onClear) => {\n      const removeSelectionAttributes = element => {\n        remove$7(element, ephemera.selected);\n        remove$7(element, ephemera.firstSelected);\n        remove$7(element, ephemera.lastSelected);\n      };\n      const addSelectionAttribute = element => {\n        set$2(element, ephemera.selected, '1');\n      };\n      const clear = container => {\n        clearBeforeUpdate(container);\n        onClear();\n      };\n      const clearBeforeUpdate = container => {\n        const sels = descendants(container, \"\".concat(ephemera.selectedSelector, \",\").concat(ephemera.firstSelectedSelector, \",\").concat(ephemera.lastSelectedSelector));\n        each$2(sels, removeSelectionAttributes);\n      };\n      const selectRange = (container, cells, start, finish) => {\n        clear(container);\n        each$2(cells, addSelectionAttribute);\n        set$2(start, ephemera.firstSelected, '1');\n        set$2(finish, ephemera.lastSelected, '1');\n        onSelection(cells, start, finish);\n      };\n      return {\n        clearBeforeUpdate,\n        clear,\n        selectRange,\n        selectedSelector: ephemera.selectedSelector,\n        firstSelectedSelector: ephemera.firstSelectedSelector,\n        lastSelectedSelector: ephemera.lastSelectedSelector\n      };\n    };\n    const SelectionAnnotation = {\n      byClass,\n      byAttr\n    };\n\n    const fold = (subject, onNone, onMultiple, onSingle) => {\n      switch (subject.tag) {\n        case 'none':\n          return onNone();\n        case 'single':\n          return onSingle(subject.element);\n        case 'multiple':\n          return onMultiple(subject.elements);\n      }\n    };\n    const none = () => ({\n      tag: 'none'\n    });\n    const multiple = elements => ({\n      tag: 'multiple',\n      elements\n    });\n    const single = element => ({\n      tag: 'single',\n      element\n    });\n\n    const Selections = (lazyRoot, getStart, selectedSelector) => {\n      const get = () => retrieve(lazyRoot(), selectedSelector).fold(() => getStart().fold(none, single), multiple);\n      return {\n        get\n      };\n    };\n\n    const getUpOrLeftCells = (grid, selectedCells) => {\n      const upGrid = grid.slice(0, selectedCells[selectedCells.length - 1].row + 1);\n      const upDetails = toDetailList(upGrid);\n      return bind$2(upDetails, detail => {\n        const slicedCells = detail.cells.slice(0, selectedCells[selectedCells.length - 1].column + 1);\n        return map$1(slicedCells, cell => cell.element);\n      });\n    };\n    const getDownOrRightCells = (grid, selectedCells) => {\n      const downGrid = grid.slice(selectedCells[0].row + selectedCells[0].rowspan - 1, grid.length);\n      const downDetails = toDetailList(downGrid);\n      return bind$2(downDetails, detail => {\n        const slicedCells = detail.cells.slice(selectedCells[0].column + selectedCells[0].colspan - 1, detail.cells.length);\n        return map$1(slicedCells, cell => cell.element);\n      });\n    };\n    const getOtherCells = (table, target, generators) => {\n      const warehouse = Warehouse.fromTable(table);\n      const details = onCells(warehouse, target);\n      return details.map(selectedCells => {\n        const grid = toGrid(warehouse, generators, false);\n        const {\n          rows\n        } = extractGridDetails(grid);\n        const upOrLeftCells = getUpOrLeftCells(rows, selectedCells);\n        const downOrRightCells = getDownOrRightCells(rows, selectedCells);\n        return {\n          upOrLeftCells,\n          downOrRightCells\n        };\n      });\n    };\n\n    const mkEvent = (target, x, y, stop, prevent, kill, raw) => ({\n      target,\n      x,\n      y,\n      stop,\n      prevent,\n      kill,\n      raw\n    });\n    const fromRawEvent$1 = rawEvent => {\n      const target = SugarElement.fromDom(getOriginalEventTarget(rawEvent).getOr(rawEvent.target));\n      const stop = () => rawEvent.stopPropagation();\n      const prevent = () => rawEvent.preventDefault();\n      const kill = compose(prevent, stop);\n      return mkEvent(target, rawEvent.clientX, rawEvent.clientY, stop, prevent, kill, rawEvent);\n    };\n    const handle = (filter, handler) => rawEvent => {\n      if (filter(rawEvent)) {\n        handler(fromRawEvent$1(rawEvent));\n      }\n    };\n    const binder = (element, event, filter, handler, useCapture) => {\n      const wrapped = handle(filter, handler);\n      element.dom.addEventListener(event, wrapped, useCapture);\n      return {\n        unbind: curry(unbind, element, event, wrapped, useCapture)\n      };\n    };\n    const bind$1 = (element, event, filter, handler) => binder(element, event, filter, handler, false);\n    const unbind = (element, event, handler, useCapture) => {\n      element.dom.removeEventListener(event, handler, useCapture);\n    };\n\n    const filter = always;\n    const bind = (element, event, handler) => bind$1(element, event, filter, handler);\n    const fromRawEvent = fromRawEvent$1;\n\n    const hasInternalTarget = e => !has(SugarElement.fromDom(e.target), 'ephox-snooker-resizer-bar');\n    const TableCellSelectionHandler = (editor, resizeHandler) => {\n      const cellSelection = Selections(() => SugarElement.fromDom(editor.getBody()), () => getSelectionCell(getSelectionStart(editor), getIsRoot(editor)), ephemera.selectedSelector);\n      const onSelection = (cells, start, finish) => {\n        const tableOpt = table(start);\n        tableOpt.each(table => {\n          const cloneFormats = getTableCloneElements(editor);\n          const generators = cellOperations(noop, SugarElement.fromDom(editor.getDoc()), cloneFormats);\n          const selectedCells = getCellsFromSelection(editor);\n          const otherCells = getOtherCells(table, {\n            selection: selectedCells\n          }, generators);\n          fireTableSelectionChange(editor, cells, start, finish, otherCells);\n        });\n      };\n      const onClear = () => fireTableSelectionClear(editor);\n      const annotations = SelectionAnnotation.byAttr(ephemera, onSelection, onClear);\n      editor.on('init', _e => {\n        const win = editor.getWin();\n        const body = getBody(editor);\n        const isRoot = getIsRoot(editor);\n        const syncSelection = () => {\n          const sel = editor.selection;\n          const start = SugarElement.fromDom(sel.getStart());\n          const end = SugarElement.fromDom(sel.getEnd());\n          const shared = sharedOne(table, [start, end]);\n          shared.fold(() => annotations.clear(body), noop);\n        };\n        const mouseHandlers = mouse(win, body, isRoot, annotations);\n        const keyHandlers = keyboard(win, body, isRoot, annotations);\n        const external$1 = external(win, body, isRoot, annotations);\n        const hasShiftKey = event => event.raw.shiftKey === true;\n        editor.on('TableSelectorChange', e => external$1(e.start, e.finish));\n        const handleResponse = (event, response) => {\n          if (!hasShiftKey(event)) {\n            return;\n          }\n          if (response.kill) {\n            event.kill();\n          }\n          response.selection.each(ns => {\n            const relative = SimSelection.relative(ns.start, ns.finish);\n            const rng = asLtrRange(win, relative);\n            editor.selection.setRng(rng);\n          });\n        };\n        const keyup = event => {\n          const wrappedEvent = fromRawEvent(event);\n          if (wrappedEvent.raw.shiftKey && isNavigation(wrappedEvent.raw.which)) {\n            const rng = editor.selection.getRng();\n            const start = SugarElement.fromDom(rng.startContainer);\n            const end = SugarElement.fromDom(rng.endContainer);\n            keyHandlers.keyup(wrappedEvent, start, rng.startOffset, end, rng.endOffset).each(response => {\n              handleResponse(wrappedEvent, response);\n            });\n          }\n        };\n        const keydown = event => {\n          const wrappedEvent = fromRawEvent(event);\n          resizeHandler.hide();\n          const rng = editor.selection.getRng();\n          const start = SugarElement.fromDom(rng.startContainer);\n          const end = SugarElement.fromDom(rng.endContainer);\n          const direction = onDirection(ltr, rtl)(SugarElement.fromDom(editor.selection.getStart()));\n          keyHandlers.keydown(wrappedEvent, start, rng.startOffset, end, rng.endOffset, direction).each(response => {\n            handleResponse(wrappedEvent, response);\n          });\n          resizeHandler.show();\n        };\n        const isLeftMouse = raw => raw.button === 0;\n        const isLeftButtonPressed = raw => {\n          if (raw.buttons === undefined) {\n            return true;\n          }\n          return (raw.buttons & 1) !== 0;\n        };\n        const dragStart = _e => {\n          mouseHandlers.clearstate();\n        };\n        const mouseDown = e => {\n          if (isLeftMouse(e) && hasInternalTarget(e)) {\n            mouseHandlers.mousedown(fromRawEvent(e));\n          }\n        };\n        const mouseOver = e => {\n          if (isLeftButtonPressed(e) && hasInternalTarget(e)) {\n            mouseHandlers.mouseover(fromRawEvent(e));\n          }\n        };\n        const mouseUp = e => {\n          if (isLeftMouse(e) && hasInternalTarget(e)) {\n            mouseHandlers.mouseup(fromRawEvent(e));\n          }\n        };\n        const getDoubleTap = () => {\n          const lastTarget = Cell(SugarElement.fromDom(body));\n          const lastTimeStamp = Cell(0);\n          const touchEnd = t => {\n            const target = SugarElement.fromDom(t.target);\n            if (isTag('td')(target) || isTag('th')(target)) {\n              const lT = lastTarget.get();\n              const lTS = lastTimeStamp.get();\n              if (eq$1(lT, target) && t.timeStamp - lTS < 300) {\n                t.preventDefault();\n                external$1(target, target);\n              }\n            }\n            lastTarget.set(target);\n            lastTimeStamp.set(t.timeStamp);\n          };\n          return {\n            touchEnd\n          };\n        };\n        const doubleTap = getDoubleTap();\n        editor.on('dragstart', dragStart);\n        editor.on('mousedown', mouseDown);\n        editor.on('mouseover', mouseOver);\n        editor.on('mouseup', mouseUp);\n        editor.on('touchend', doubleTap.touchEnd);\n        editor.on('keyup', keyup);\n        editor.on('keydown', keydown);\n        editor.on('NodeChange', syncSelection);\n      });\n      editor.on('PreInit', () => {\n        editor.serializer.addTempAttr(ephemera.firstSelected);\n        editor.serializer.addTempAttr(ephemera.lastSelected);\n      });\n      const clearSelectedCells = container => annotations.clear(SugarElement.fromDom(container));\n      const getSelectedCells = () => fold(cellSelection.get(), constant([]), cells => {\n        return map$1(cells, cell => cell.dom);\n      }, cell => [cell.dom]);\n      return {\n        getSelectedCells,\n        clearSelectedCells\n      };\n    };\n\n    const Event = fields => {\n      let handlers = [];\n      const bind = handler => {\n        if (handler === undefined) {\n          throw new Error('Event bind error: undefined handler');\n        }\n        handlers.push(handler);\n      };\n      const unbind = handler => {\n        handlers = filter$2(handlers, h => {\n          return h !== handler;\n        });\n      };\n      const trigger = (...args) => {\n        const event = {};\n        each$2(fields, (name, i) => {\n          event[name] = args[i];\n        });\n        each$2(handlers, handler => {\n          handler(event);\n        });\n      };\n      return {\n        bind,\n        unbind,\n        trigger\n      };\n    };\n\n    const create$1 = typeDefs => {\n      const registry = map(typeDefs, event => {\n        return {\n          bind: event.bind,\n          unbind: event.unbind\n        };\n      });\n      const trigger = map(typeDefs, event => {\n        return event.trigger;\n      });\n      return {\n        registry,\n        trigger\n      };\n    };\n\n    const last = (fn, rate) => {\n      let timer = null;\n      const cancel = () => {\n        if (!isNull(timer)) {\n          clearTimeout(timer);\n          timer = null;\n        }\n      };\n      const throttle = (...args) => {\n        cancel();\n        timer = setTimeout(() => {\n          timer = null;\n          fn.apply(null, args);\n        }, rate);\n      };\n      return {\n        cancel,\n        throttle\n      };\n    };\n\n    const sort = arr => {\n      return arr.slice(0).sort();\n    };\n    const reqMessage = (required, keys) => {\n      throw new Error('All required keys (' + sort(required).join(', ') + ') were not specified. Specified keys were: ' + sort(keys).join(', ') + '.');\n    };\n    const unsuppMessage = unsupported => {\n      throw new Error('Unsupported keys for object: ' + sort(unsupported).join(', '));\n    };\n    const validateStrArr = (label, array) => {\n      if (!isArray(array)) {\n        throw new Error('The ' + label + ' fields must be an array. Was: ' + array + '.');\n      }\n      each$2(array, a => {\n        if (!isString(a)) {\n          throw new Error('The value ' + a + ' in the ' + label + ' fields was not a string.');\n        }\n      });\n    };\n    const invalidTypeMessage = (incorrect, type) => {\n      throw new Error('All values need to be of type: ' + type + '. Keys (' + sort(incorrect).join(', ') + ') were not.');\n    };\n    const checkDupes = everything => {\n      const sorted = sort(everything);\n      const dupe = find$1(sorted, (s, i) => {\n        return i < sorted.length - 1 && s === sorted[i + 1];\n      });\n      dupe.each(d => {\n        throw new Error('The field: ' + d + ' occurs more than once in the combined fields: [' + sorted.join(', ') + '].');\n      });\n    };\n\n    const base = (handleUnsupported, required) => {\n      return baseWith(handleUnsupported, required, {\n        validate: isFunction,\n        label: 'function'\n      });\n    };\n    const baseWith = (handleUnsupported, required, pred) => {\n      if (required.length === 0) {\n        throw new Error('You must specify at least one required field.');\n      }\n      validateStrArr('required', required);\n      checkDupes(required);\n      return obj => {\n        const keys$1 = keys(obj);\n        const allReqd = forall(required, req => {\n          return contains$2(keys$1, req);\n        });\n        if (!allReqd) {\n          reqMessage(required, keys$1);\n        }\n        handleUnsupported(required, keys$1);\n        const invalidKeys = filter$2(required, key => {\n          return !pred.validate(obj[key], key);\n        });\n        if (invalidKeys.length > 0) {\n          invalidTypeMessage(invalidKeys, pred.label);\n        }\n        return obj;\n      };\n    };\n    const handleExact = (required, keys) => {\n      const unsupported = filter$2(keys, key => {\n        return !contains$2(required, key);\n      });\n      if (unsupported.length > 0) {\n        unsuppMessage(unsupported);\n      }\n    };\n    const exactly = required => base(handleExact, required);\n\n    const DragMode = exactly(['compare', 'extract', 'mutate', 'sink']);\n    const DragSink = exactly(['element', 'start', 'stop', 'destroy']);\n    const DragApi = exactly(['forceDrop', 'drop', 'move', 'delayDrop']);\n\n    const InDrag = () => {\n      let previous = Optional.none();\n      const reset = () => {\n        previous = Optional.none();\n      };\n      const update = (mode, nu) => {\n        const result = previous.map(old => {\n          return mode.compare(old, nu);\n        });\n        previous = Optional.some(nu);\n        return result;\n      };\n      const onEvent = (event, mode) => {\n        const dataOption = mode.extract(event);\n        dataOption.each(data => {\n          const offset = update(mode, data);\n          offset.each(d => {\n            events.trigger.move(d);\n          });\n        });\n      };\n      const events = create$1({\n        move: Event(['info'])\n      });\n      return {\n        onEvent,\n        reset,\n        events: events.registry\n      };\n    };\n\n    const NoDrag = () => {\n      const events = create$1({\n        move: Event(['info'])\n      });\n      return {\n        onEvent: noop,\n        reset: noop,\n        events: events.registry\n      };\n    };\n\n    const Movement = () => {\n      const noDragState = NoDrag();\n      const inDragState = InDrag();\n      let dragState = noDragState;\n      const on = () => {\n        dragState.reset();\n        dragState = inDragState;\n      };\n      const off = () => {\n        dragState.reset();\n        dragState = noDragState;\n      };\n      const onEvent = (event, mode) => {\n        dragState.onEvent(event, mode);\n      };\n      const isOn = () => {\n        return dragState === inDragState;\n      };\n      return {\n        on,\n        off,\n        isOn,\n        onEvent,\n        events: inDragState.events\n      };\n    };\n\n    const setup = (mutation, mode, settings) => {\n      let active = false;\n      const events = create$1({\n        start: Event([]),\n        stop: Event([])\n      });\n      const movement = Movement();\n      const drop = () => {\n        sink.stop();\n        if (movement.isOn()) {\n          movement.off();\n          events.trigger.stop();\n        }\n      };\n      const throttledDrop = last(drop, 200);\n      const go = parent => {\n        sink.start(parent);\n        movement.on();\n        events.trigger.start();\n      };\n      const mousemove = event => {\n        throttledDrop.cancel();\n        movement.onEvent(event, mode);\n      };\n      movement.events.move.bind(event => {\n        mode.mutate(mutation, event.info);\n      });\n      const on = () => {\n        active = true;\n      };\n      const off = () => {\n        active = false;\n      };\n      const isActive = () => active;\n      const runIfActive = f => {\n        return (...args) => {\n          if (active) {\n            f.apply(null, args);\n          }\n        };\n      };\n      const sink = mode.sink(DragApi({\n        forceDrop: drop,\n        drop: runIfActive(drop),\n        move: runIfActive(mousemove),\n        delayDrop: runIfActive(throttledDrop.throttle)\n      }), settings);\n      const destroy = () => {\n        sink.destroy();\n      };\n      return {\n        element: sink.element,\n        go,\n        on,\n        off,\n        isActive,\n        destroy,\n        events: events.registry\n      };\n    };\n\n    const css = namespace => {\n      const dashNamespace = namespace.replace(/\\./g, '-');\n      const resolve = str => {\n        return dashNamespace + '-' + str;\n      };\n      return {\n        resolve\n      };\n    };\n\n    const styles$1 = css('ephox-dragster');\n    const resolve$1 = styles$1.resolve;\n\n    const Blocker = options => {\n      const settings = {\n        layerClass: resolve$1('blocker'),\n        ...options\n      };\n      const div = SugarElement.fromTag('div');\n      set$2(div, 'role', 'presentation');\n      setAll(div, {\n        position: 'fixed',\n        left: '0px',\n        top: '0px',\n        width: '100%',\n        height: '100%'\n      });\n      add(div, resolve$1('blocker'));\n      add(div, settings.layerClass);\n      const element = constant(div);\n      const destroy = () => {\n        remove$6(div);\n      };\n      return {\n        element,\n        destroy\n      };\n    };\n\n    const compare = (old, nu) => {\n      return SugarPosition(nu.left - old.left, nu.top - old.top);\n    };\n    const extract = event => {\n      return Optional.some(SugarPosition(event.x, event.y));\n    };\n    const mutate = (mutation, info) => {\n      mutation.mutate(info.left, info.top);\n    };\n    const sink = (dragApi, settings) => {\n      const blocker = Blocker(settings);\n      const mdown = bind(blocker.element(), 'mousedown', dragApi.forceDrop);\n      const mup = bind(blocker.element(), 'mouseup', dragApi.drop);\n      const mmove = bind(blocker.element(), 'mousemove', dragApi.move);\n      const mout = bind(blocker.element(), 'mouseout', dragApi.delayDrop);\n      const destroy = () => {\n        blocker.destroy();\n        mup.unbind();\n        mmove.unbind();\n        mout.unbind();\n        mdown.unbind();\n      };\n      const start = parent => {\n        append$1(parent, blocker.element());\n      };\n      const stop = () => {\n        remove$6(blocker.element());\n      };\n      return DragSink({\n        element: blocker.element,\n        start,\n        stop,\n        destroy\n      });\n    };\n    var MouseDrag = DragMode({\n      compare,\n      extract,\n      sink,\n      mutate\n    });\n\n    const transform = (mutation, settings = {}) => {\n      var _a;\n      const mode = (_a = settings.mode) !== null && _a !== void 0 ? _a : MouseDrag;\n      return setup(mutation, mode, settings);\n    };\n\n    const styles = css('ephox-snooker');\n    const resolve = styles.resolve;\n\n    const Mutation = () => {\n      const events = create$1({\n        drag: Event(['xDelta', 'yDelta'])\n      });\n      const mutate = (x, y) => {\n        events.trigger.drag(x, y);\n      };\n      return {\n        mutate,\n        events: events.registry\n      };\n    };\n\n    const BarMutation = () => {\n      const events = create$1({\n        drag: Event(['xDelta', 'yDelta', 'target'])\n      });\n      let target = Optional.none();\n      const delegate = Mutation();\n      delegate.events.drag.bind(event => {\n        target.each(t => {\n          events.trigger.drag(event.xDelta, event.yDelta, t);\n        });\n      });\n      const assign = t => {\n        target = Optional.some(t);\n      };\n      const get = () => {\n        return target;\n      };\n      return {\n        assign,\n        get,\n        mutate: delegate.mutate,\n        events: events.registry\n      };\n    };\n\n    const col = (column, x, y, w, h) => {\n      const bar = SugarElement.fromTag('div');\n      setAll(bar, {\n        position: 'absolute',\n        left: x - w / 2 + 'px',\n        top: y + 'px',\n        height: h + 'px',\n        width: w + 'px'\n      });\n      setAll$1(bar, {\n        'data-column': column,\n        'role': 'presentation'\n      });\n      return bar;\n    };\n    const row = (r, x, y, w, h) => {\n      const bar = SugarElement.fromTag('div');\n      setAll(bar, {\n        position: 'absolute',\n        left: x + 'px',\n        top: y - h / 2 + 'px',\n        height: h + 'px',\n        width: w + 'px'\n      });\n      setAll$1(bar, {\n        'data-row': r,\n        'role': 'presentation'\n      });\n      return bar;\n    };\n\n    const resizeBar = resolve('resizer-bar');\n    const resizeRowBar = resolve('resizer-rows');\n    const resizeColBar = resolve('resizer-cols');\n    const BAR_THICKNESS = 7;\n    const resizableRows = (warehouse, isResizable) => bind$2(warehouse.all, (row, i) => isResizable(row.element) ? [i] : []);\n    const resizableColumns = (warehouse, isResizable) => {\n      const resizableCols = [];\n      range$1(warehouse.grid.columns, index => {\n        const colElmOpt = Warehouse.getColumnAt(warehouse, index).map(col => col.element);\n        if (colElmOpt.forall(isResizable)) {\n          resizableCols.push(index);\n        }\n      });\n      return filter$2(resizableCols, colIndex => {\n        const columnCells = Warehouse.filterItems(warehouse, cell => cell.column === colIndex);\n        return forall(columnCells, cell => isResizable(cell.element));\n      });\n    };\n    const destroy = wire => {\n      const previous = descendants(wire.parent(), '.' + resizeBar);\n      each$2(previous, remove$6);\n    };\n    const drawBar = (wire, positions, create) => {\n      const origin = wire.origin();\n      each$2(positions, cpOption => {\n        cpOption.each(cp => {\n          const bar = create(origin, cp);\n          add(bar, resizeBar);\n          append$1(wire.parent(), bar);\n        });\n      });\n    };\n    const refreshCol = (wire, colPositions, position, tableHeight) => {\n      drawBar(wire, colPositions, (origin, cp) => {\n        const colBar = col(cp.col, cp.x - origin.left, position.top - origin.top, BAR_THICKNESS, tableHeight);\n        add(colBar, resizeColBar);\n        return colBar;\n      });\n    };\n    const refreshRow = (wire, rowPositions, position, tableWidth) => {\n      drawBar(wire, rowPositions, (origin, cp) => {\n        const rowBar = row(cp.row, position.left - origin.left, cp.y - origin.top, tableWidth, BAR_THICKNESS);\n        add(rowBar, resizeRowBar);\n        return rowBar;\n      });\n    };\n    const refreshGrid = (warhouse, wire, table, rows, cols) => {\n      const position = absolute(table);\n      const isResizable = wire.isResizable;\n      const rowPositions = rows.length > 0 ? height.positions(rows, table) : [];\n      const resizableRowBars = rowPositions.length > 0 ? resizableRows(warhouse, isResizable) : [];\n      const resizableRowPositions = filter$2(rowPositions, (_pos, i) => exists(resizableRowBars, barIndex => i === barIndex));\n      refreshRow(wire, resizableRowPositions, position, getOuter$2(table));\n      const colPositions = cols.length > 0 ? width.positions(cols, table) : [];\n      const resizableColBars = colPositions.length > 0 ? resizableColumns(warhouse, isResizable) : [];\n      const resizableColPositions = filter$2(colPositions, (_pos, i) => exists(resizableColBars, barIndex => i === barIndex));\n      refreshCol(wire, resizableColPositions, position, getOuter$1(table));\n    };\n    const refresh = (wire, table) => {\n      destroy(wire);\n      if (wire.isResizable(table)) {\n        const warehouse = Warehouse.fromTable(table);\n        const rows$1 = rows(warehouse);\n        const cols = columns(warehouse);\n        refreshGrid(warehouse, wire, table, rows$1, cols);\n      }\n    };\n    const each = (wire, f) => {\n      const bars = descendants(wire.parent(), '.' + resizeBar);\n      each$2(bars, f);\n    };\n    const hide = wire => {\n      each(wire, bar => {\n        set$1(bar, 'display', 'none');\n      });\n    };\n    const show = wire => {\n      each(wire, bar => {\n        set$1(bar, 'display', 'block');\n      });\n    };\n    const isRowBar = element => {\n      return has(element, resizeRowBar);\n    };\n    const isColBar = element => {\n      return has(element, resizeColBar);\n    };\n\n    const resizeBarDragging = resolve('resizer-bar-dragging');\n    const BarManager = wire => {\n      const mutation = BarMutation();\n      const resizing = transform(mutation, {});\n      let hoverTable = Optional.none();\n      const getResizer = (element, type) => {\n        return Optional.from(get$b(element, type));\n      };\n      mutation.events.drag.bind(event => {\n        getResizer(event.target, 'data-row').each(_dataRow => {\n          const currentRow = getCssValue(event.target, 'top');\n          set$1(event.target, 'top', currentRow + event.yDelta + 'px');\n        });\n        getResizer(event.target, 'data-column').each(_dataCol => {\n          const currentCol = getCssValue(event.target, 'left');\n          set$1(event.target, 'left', currentCol + event.xDelta + 'px');\n        });\n      });\n      const getDelta = (target, dir) => {\n        const newX = getCssValue(target, dir);\n        const oldX = getAttrValue(target, 'data-initial-' + dir, 0);\n        return newX - oldX;\n      };\n      resizing.events.stop.bind(() => {\n        mutation.get().each(target => {\n          hoverTable.each(table => {\n            getResizer(target, 'data-row').each(row => {\n              const delta = getDelta(target, 'top');\n              remove$7(target, 'data-initial-top');\n              events.trigger.adjustHeight(table, delta, parseInt(row, 10));\n            });\n            getResizer(target, 'data-column').each(column => {\n              const delta = getDelta(target, 'left');\n              remove$7(target, 'data-initial-left');\n              events.trigger.adjustWidth(table, delta, parseInt(column, 10));\n            });\n            refresh(wire, table);\n          });\n        });\n      });\n      const handler = (target, dir) => {\n        events.trigger.startAdjust();\n        mutation.assign(target);\n        set$2(target, 'data-initial-' + dir, getCssValue(target, dir));\n        add(target, resizeBarDragging);\n        set$1(target, 'opacity', '0.2');\n        resizing.go(wire.parent());\n      };\n      const mousedown = bind(wire.parent(), 'mousedown', event => {\n        if (isRowBar(event.target)) {\n          handler(event.target, 'top');\n        }\n        if (isColBar(event.target)) {\n          handler(event.target, 'left');\n        }\n      });\n      const isRoot = e => {\n        return eq$1(e, wire.view());\n      };\n      const findClosestEditableTable = target => closest$1(target, 'table', isRoot).filter(isEditable$1);\n      const mouseover = bind(wire.view(), 'mouseover', event => {\n        findClosestEditableTable(event.target).fold(() => {\n          if (inBody(event.target)) {\n            destroy(wire);\n          }\n        }, table => {\n          if (resizing.isActive()) {\n            hoverTable = Optional.some(table);\n            refresh(wire, table);\n          }\n        });\n      });\n      const destroy$1 = () => {\n        mousedown.unbind();\n        mouseover.unbind();\n        resizing.destroy();\n        destroy(wire);\n      };\n      const refresh$1 = tbl => {\n        refresh(wire, tbl);\n      };\n      const events = create$1({\n        adjustHeight: Event(['table', 'delta', 'row']),\n        adjustWidth: Event(['table', 'delta', 'column']),\n        startAdjust: Event([])\n      });\n      return {\n        destroy: destroy$1,\n        refresh: refresh$1,\n        on: resizing.on,\n        off: resizing.off,\n        hideBars: curry(hide, wire),\n        showBars: curry(show, wire),\n        events: events.registry\n      };\n    };\n\n    const create = (wire, resizing, lazySizing) => {\n      const hdirection = height;\n      const vdirection = width;\n      const manager = BarManager(wire);\n      const events = create$1({\n        beforeResize: Event(['table', 'type']),\n        afterResize: Event(['table', 'type']),\n        startDrag: Event([])\n      });\n      manager.events.adjustHeight.bind(event => {\n        const table = event.table;\n        events.trigger.beforeResize(table, 'row');\n        const delta = hdirection.delta(event.delta, table);\n        adjustHeight(table, delta, event.row, hdirection);\n        events.trigger.afterResize(table, 'row');\n      });\n      manager.events.startAdjust.bind(_event => {\n        events.trigger.startDrag();\n      });\n      manager.events.adjustWidth.bind(event => {\n        const table = event.table;\n        events.trigger.beforeResize(table, 'col');\n        const delta = vdirection.delta(event.delta, table);\n        const tableSize = lazySizing(table);\n        adjustWidth(table, delta, event.column, resizing, tableSize);\n        events.trigger.afterResize(table, 'col');\n      });\n      return {\n        on: manager.on,\n        off: manager.off,\n        refreshBars: manager.refresh,\n        hideBars: manager.hideBars,\n        showBars: manager.showBars,\n        destroy: manager.destroy,\n        events: events.registry\n      };\n    };\n    const TableResize = {\n      create\n    };\n\n    const only = (element, isResizable) => {\n      const parent = isDocument(element) ? documentElement(element) : element;\n      return {\n        parent: constant(parent),\n        view: constant(element),\n        origin: constant(SugarPosition(0, 0)),\n        isResizable\n      };\n    };\n    const detached = (editable, chrome, isResizable) => {\n      const origin = () => absolute(chrome);\n      return {\n        parent: constant(chrome),\n        view: constant(editable),\n        origin,\n        isResizable\n      };\n    };\n    const body = (editable, chrome, isResizable) => {\n      return {\n        parent: constant(chrome),\n        view: constant(editable),\n        origin: constant(SugarPosition(0, 0)),\n        isResizable\n      };\n    };\n    const ResizeWire = {\n      only,\n      detached,\n      body\n    };\n\n    const createContainer = () => {\n      const container = SugarElement.fromTag('div');\n      setAll(container, {\n        position: 'static',\n        height: '0',\n        width: '0',\n        padding: '0',\n        margin: '0',\n        border: '0'\n      });\n      append$1(body$1(), container);\n      return container;\n    };\n    const get = (editor, isResizable) => {\n      return editor.inline ? ResizeWire.body(SugarElement.fromDom(editor.getBody()), createContainer(), isResizable) : ResizeWire.only(SugarElement.fromDom(editor.getDoc()), isResizable);\n    };\n    const remove = (editor, wire) => {\n      if (editor.inline) {\n        remove$6(wire.parent());\n      }\n    };\n\n    const isTable = node => isNonNullable(node) && node.nodeName === 'TABLE';\n    const barResizerPrefix = 'bar-';\n    const isResizable = elm => get$b(elm, 'data-mce-resize') !== 'false';\n    const syncPixels = table => {\n      const warehouse = Warehouse.fromTable(table);\n      if (!Warehouse.hasColumns(warehouse)) {\n        each$2(cells$1(table), cell => {\n          const computedWidth = get$a(cell, 'width');\n          set$1(cell, 'width', computedWidth);\n          remove$7(cell, 'width');\n        });\n      }\n    };\n    const TableResizeHandler = editor => {\n      const selectionRng = value();\n      const tableResize = value();\n      const resizeWire = value();\n      let startW;\n      let startRawW;\n      const lazySizing = table => get$5(editor, table);\n      const lazyResizingBehaviour = () => isPreserveTableColumnResizing(editor) ? preserveTable() : resizeTable();\n      const getNumColumns = table => getGridSize(table).columns;\n      const afterCornerResize = (table, origin, width) => {\n        const isRightEdgeResize = endsWith(origin, 'e');\n        if (startRawW === '') {\n          convertToPercentSize(table);\n        }\n        if (width !== startW && startRawW !== '') {\n          set$1(table, 'width', startRawW);\n          const resizing = lazyResizingBehaviour();\n          const tableSize = lazySizing(table);\n          const col = isPreserveTableColumnResizing(editor) || isRightEdgeResize ? getNumColumns(table) - 1 : 0;\n          adjustWidth(table, width - startW, col, resizing, tableSize);\n        } else if (isPercentage$1(startRawW)) {\n          const percentW = parseFloat(startRawW.replace('%', ''));\n          const targetPercentW = width * percentW / startW;\n          set$1(table, 'width', targetPercentW + '%');\n        }\n        if (isPixel(startRawW)) {\n          syncPixels(table);\n        }\n      };\n      const destroy = () => {\n        tableResize.on(sz => {\n          sz.destroy();\n        });\n        resizeWire.on(w => {\n          remove(editor, w);\n        });\n      };\n      editor.on('init', () => {\n        const rawWire = get(editor, isResizable);\n        resizeWire.set(rawWire);\n        if (hasTableObjectResizing(editor) && hasTableResizeBars(editor)) {\n          const resizing = lazyResizingBehaviour();\n          const sz = TableResize.create(rawWire, resizing, lazySizing);\n          sz.on();\n          sz.events.startDrag.bind(_event => {\n            selectionRng.set(editor.selection.getRng());\n          });\n          sz.events.beforeResize.bind(event => {\n            const rawTable = event.table.dom;\n            fireObjectResizeStart(editor, rawTable, getPixelWidth(rawTable), getPixelHeight(rawTable), barResizerPrefix + event.type);\n          });\n          sz.events.afterResize.bind(event => {\n            const table = event.table;\n            const rawTable = table.dom;\n            removeDataStyle(table);\n            selectionRng.on(rng => {\n              editor.selection.setRng(rng);\n              editor.focus();\n            });\n            fireObjectResized(editor, rawTable, getPixelWidth(rawTable), getPixelHeight(rawTable), barResizerPrefix + event.type);\n            editor.undoManager.add();\n          });\n          tableResize.set(sz);\n        }\n      });\n      editor.on('ObjectResizeStart', e => {\n        const targetElm = e.target;\n        if (isTable(targetElm)) {\n          const table = SugarElement.fromDom(targetElm);\n          each$2(editor.dom.select('.mce-clonedresizable'), clone => {\n            editor.dom.addClass(clone, 'mce-' + getTableColumnResizingBehaviour(editor) + '-columns');\n          });\n          if (!isPixelSizing(table) && isTablePixelsForced(editor)) {\n            convertToPixelSize(table);\n          } else if (!isPercentSizing(table) && isTablePercentagesForced(editor)) {\n            convertToPercentSize(table);\n          }\n          if (isNoneSizing(table) && startsWith(e.origin, barResizerPrefix)) {\n            convertToPercentSize(table);\n          }\n          startW = e.width;\n          startRawW = isTableResponsiveForced(editor) ? '' : getRawWidth(editor, targetElm).getOr('');\n        }\n      });\n      editor.on('ObjectResized', e => {\n        const targetElm = e.target;\n        if (isTable(targetElm)) {\n          const table = SugarElement.fromDom(targetElm);\n          const origin = e.origin;\n          if (startsWith(origin, 'corner-')) {\n            afterCornerResize(table, origin, e.width);\n          }\n          removeDataStyle(table);\n          fireTableModified(editor, table.dom, styleModified);\n        }\n      });\n      editor.on('SwitchMode', () => {\n        tableResize.on(resize => {\n          if (editor.mode.isReadOnly()) {\n            resize.hideBars();\n          } else {\n            resize.showBars();\n          }\n        });\n      });\n      editor.on('dragstart dragend', e => {\n        tableResize.on(resize => {\n          if (e.type === 'dragstart') {\n            resize.hideBars();\n            resize.off();\n          } else {\n            resize.on();\n            resize.showBars();\n          }\n        });\n      });\n      editor.on('remove', () => {\n        destroy();\n      });\n      const refresh = table => {\n        tableResize.on(resize => resize.refreshBars(SugarElement.fromDom(table)));\n      };\n      const hide = () => {\n        tableResize.on(resize => resize.hideBars());\n      };\n      const show = () => {\n        tableResize.on(resize => resize.showBars());\n      };\n      return {\n        refresh,\n        hide,\n        show\n      };\n    };\n\n    const setupTable = editor => {\n      register(editor);\n      const resizeHandler = TableResizeHandler(editor);\n      const cellSelectionHandler = TableCellSelectionHandler(editor, resizeHandler);\n      const actions = TableActions(editor, resizeHandler, cellSelectionHandler);\n      registerCommands(editor, actions);\n      registerQueryCommands(editor, actions);\n      registerEvents(editor, actions);\n      return {\n        getSelectedCells: cellSelectionHandler.getSelectedCells,\n        clearSelectedCells: cellSelectionHandler.clearSelectedCells\n      };\n    };\n\n    const DomModel = editor => {\n      const table = setupTable(editor);\n      return {\n        table\n      };\n    };\n    var Model = () => {\n      global$1.add('dom', DomModel);\n    };\n\n    Model();\n\n})();\n","\"use strict\";\n\nimport format from 'string-template';\n\nconst SN_TRANSLATE = 'sn-translate';\nconst TRANSLATIONS = '__TRANSLATIONS__';\nconst TRANSLATIONS_PREFIX = '__TECTONIC_TRANSLATIONS_PREFIX__';\nconst TRANSLATIONS_STORE = '__TECTONIC_TRANSLATIONS__';\nconst STATIC_TRANSLATIONS = window && window[TRANSLATIONS] || (window[TRANSLATIONS] = {});\nconst DEFAULT_TRANSLATIONS = Object.assign({}, STATIC_TRANSLATIONS);\n\nif (!window[TRANSLATIONS_STORE])\n\twindow[TRANSLATIONS_STORE] = DEFAULT_TRANSLATIONS;\n\nfunction attachToWindow () {\n\tconst translationProperties = Reflect.getOwnPropertyDescriptor(window, TRANSLATIONS);\n\tif (translationProperties.configurable) {\n\t\tObject.defineProperty(window, TRANSLATIONS, {\n\t\t\tconfigurable: false,\n\t\t\tget() {\n\t\t\t\treturn Object.assign({}, window[TRANSLATIONS_STORE]);\n\t\t\t},\n\t\t\tset(value) {\n\t\t\t\tif (!window[TRANSLATIONS_STORE])\n\t\t\t\t\twindow[TRANSLATIONS_STORE] = Object.assign({}, STATIC_TRANSLATIONS);\n\n\t\t\t\tappendTranslations(value);\n\t\t\t}\n\t\t})\n\t} else {\n\t\tconsole.warn(`[${SN_TRANSLATE}] If you're seeing this message, it probably means that you've loaded two copies of ${SN_TRANSLATE} on the page. At this time, only a single copy of ${SN_TRANSLATE} can be loaded at a time.`);\n\t}\n}\n\nfunction getPrefix() {\n\tif (!window)\n\t\treturn '';\n\n\tif (window[TRANSLATIONS_PREFIX])\n\t\treturn window[TRANSLATIONS_PREFIX];\n\n\tconst enabled = window.__TRANSLATIONS_PREFIX_ENABLED__;\n\tconst prefixName = window.__TRANSLATIONS_PREFIX__ || 'SNT';\n\twindow.__TRANSLATIONS_PREFIX_ENABLED__ = void 0;\n\twindow.__TRANSLATIONS_PREFIX__ = void 0;\n\twindow[TRANSLATIONS_PREFIX] = enabled ? `${prefixName}:` : '';\n\n\treturn window[TRANSLATIONS_PREFIX];\n}\n\nexport function appendTranslations(translations) {\n\tfor (const k in translations)\n\t\twindow[TRANSLATIONS_STORE][k] = translations[k];\n}\n\n\n/**\n * the first parameter of t can be a string or an object of the format:\n * {code: 'code', message: 'Hello!', comment: 'used by translators, ignored by t'}\n * t can transform ordered parameters or named parameters: 'User Status: {0} or 'User Status: {firstName}'\n * @param {*} val \n * @param  {...any} rest \n */\nexport function t(val, ...rest) {\n\tif (!window[TRANSLATIONS_STORE])\n\t\twindow[TRANSLATIONS_STORE] = DEFAULT_TRANSLATIONS;\n \n\tconst translations = window[TRANSLATIONS_STORE];\n\tconst prefix = getPrefix();    \n\n\tlet key = val;\n\tlet codeKey;\n\n\t//check for possible new format of translations\n\tif(val && typeof val === 'object' && val.message) {\n\t\tkey = val.message;\n\t\tif(val.code)\n\t\t\tcodeKey = `${val.code}:${val.message}`;\n\t}\n\n\tconst translation = translations[codeKey] || translations[key] || key; \t//requirements order of precedence\n\treturn format(`${prefix}${translation}`, ...rest);\n}\n\nexport function hasTranslation(str) {\n\treturn window[TRANSLATIONS_STORE].hasOwnProperty(str)\n}\n\nattachToWindow();\n","import {createContext} from '@servicenow/ui-core';\nimport {has} from 'lodash'\n\nlet USER_PREFS;\nconst USER_PREF_CONTEXTS_MAP = {};\n\n/**\n * <strong>*** Internal to UXF and should not be used by component authors ***</strong> <br/>\n * functions used to set the context when the component connects.\n * @param {Object} userPrefs - preference map\n * @param {function} updateContext - updateContext function from the coeffects\n */\nexport const setUserPrefs = (userPrefs, updateContext) => {\n\tUSER_PREFS = userPrefs;\n\n\tif(updateContext){\n\t\tfor (const [key, value] of Object.entries(USER_PREF_CONTEXTS_MAP)) {\n\t\t\tif( value.value !== USER_PREFS[key] ){\n\t\t\t\tconst updatedContextObj = {\n\t\t\t\t\tcontext: value.context,\n\t\t\t\t\tvalue: USER_PREFS[key]\n\t\t\t\t};\n\t\t\t\tUSER_PREF_CONTEXTS_MAP[key] = updatedContextObj;\n\t\t\t\tupdateContext(updatedContextObj);\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * <strong>*** Internal to UXF and should not be used by component authors ***</strong> <br/>\n * function used to update userPreferences during runtime\n * @param {Object} updatedUserPref -\n * @param {function} updateContext - updateContext function from the coeffects\n */\nexport const updateUserPref = (updatedUserPref, updateContext) => {\n\tconst {name, value} = updatedUserPref;\n\tUSER_PREFS[name] = value;\n\tif(updateContext && USER_PREF_CONTEXTS_MAP[name]){\n\t\tconst updatedContextObj = {\n\t\t\tcontext: USER_PREF_CONTEXTS_MAP[name].context,\n\t\t\tvalue\n\t\t};\n\t\tupdateContext(updatedContextObj);\n\t}\n}\n\n/**\n * This is the ONLY public function exposed to component Authors!! <br/>\n * getUserPrefContext is used to get the context (symbol) of a user preference to subscribe to the changes of the userPreference.\n * Example usage:\n *      const ctx = getUserPrefContext('workspace.showRibbon');\n *      const val = state.context[ctx];\n * @param {String} userPrefName - The name/key of userPreference. Ex: workspace.showRibbon\n * @returns {Symbol} - Symbol used to uniquely identify the context\n */\nexport const getUserPrefContext = userPrefName => {\n\tif(has(USER_PREF_CONTEXTS_MAP, userPrefName)){\n\t\treturn USER_PREF_CONTEXTS_MAP[userPrefName].context;\n\t}\n\tif(has(USER_PREFS,userPrefName)) {\n\t\tconst context = createContext(userPrefName, {default: USER_PREFS[userPrefName]});\n\t\tUSER_PREF_CONTEXTS_MAP[userPrefName] = {context, value: USER_PREFS[userPrefName]};\n\t\treturn context;\n\t}\n\tconsole.warn(`Requested userPref : ${userPrefName} does not exist!!!`);\n}\n","import {createContext} from '@servicenow/ui-core';\nimport {has} from 'lodash';\n\nlet SYS_PROPS;\nconst SYS_PROPS_CONTEXTS_MAP = {};\n\n/**\n * <strong>*** Internal to UXF and should not be used by component authors ***</strong> <br/>\n * functions used to set the context when the component connects.\n * @param {Object} sysProps  - properties map\n * @param {function} updateContext - updateContext function from the coeffects\n */\nexport const setSysProps = (sysProps, updateContext) =>{\n\tSYS_PROPS = sysProps;\n\tif (updateContext) {\n\t\tfor (const [key, value] of Object.entries(SYS_PROPS_CONTEXTS_MAP)) {\n\t\t\tif (value.value !== SYS_PROPS[key]) {\n\t\t\t\tconst updatedContextObject = {\n\t\t\t\t\tcontext: value.context,\n\t\t\t\t\tvalue: SYS_PROPS[key],\n\t\t\t\t}\n\t\t\t\tSYS_PROPS_CONTEXTS_MAP[key] = updatedContextObject\n\t\t\t\tupdateContext(updatedContextObject)\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * This is the ONLY public function exposed to component Authors!! <br/>\n * getSysPropContext is used to get the context (symbol) of a user preference to subscribe to the changes of the sysProps.\n * Example usage:\n *      const ctx = getSysPropContext('glide.product.name');\n *      const val = state.context[ctx];\n * @param sysPropsName - The name/key of userPreference. Ex: glide.product.name\n * @returns {Symbol} - Symbol used to uniquely identify the context\n */\nexport const getSysPropContext = (sysPropsName) =>{\n\tif (has(SYS_PROPS_CONTEXTS_MAP, sysPropsName)) {\n\t\treturn SYS_PROPS_CONTEXTS_MAP[sysPropsName].context;\n\t}\n\tif (has(SYS_PROPS, sysPropsName)) {\n\t\tconst sysPropsContext = createContext(sysPropsName, {default: SYS_PROPS[sysPropsName]});\n\t\tSYS_PROPS_CONTEXTS_MAP[sysPropsName] = {context: sysPropsContext, value: SYS_PROPS[sysPropsName]};\n\t\treturn sysPropsContext;\n\t}\n\tconsole.warn(`Requested sysProp : ${sysPropsName} does not exist!!!`);\n}\n","export const a11yPreferences = Object.freeze( {\n  GLIDE_POLARIS_ACCESSIBILITY_PRESENCE_ICON: 'glide.polaris.accessibility.presence_icon',\n  GLIDE_POLARIS_ACCESSIBILITY_TRUNCATION_TAB_STOP: 'glide.polaris.accessibility.truncation_tab_stop',\n  GLIDE_UI_ACCESSIBILITY: 'glide.ui.accessibility',\n  GLIDE_UI_REPORT_ACCESSIBILITY_SCREEN_READER_TABLE: 'glide.ui.report.accessibility.screen_reader_table',\n  GLIDE_POLARIS_ANIMATION_DISABLED: 'glide.polaris.animation_disabled',\n  GLIDE_UI_KEYBOARD_SHORTCUTS_ENABLED: 'glide.ui.keyboard.shortcuts.enabled',\n  GLIDE_UI_ACCESSIBILITY_ACCESSIBLE_DATEFORMAT : 'glide.ui.accessibility.accessible.dateFormat',\n  GLIDE_UI_REPORT_ACCESSIBILITY_PATTERSN: 'glide.ui.report.accessibility.patterns',\n  GLIDE_UI_ACCESSIBILITY_SHOW_TRUNCATED_TEXT:'glide.ui.accessibility.show_truncated_text',\n  GLIDE_UI_ACCESSIBILITY_SHOW_HIDDEN_CONTROLS: 'glide.ui.accessibility.show_hidden_controls',\n  GLIDE_UI_ACCESSIBILITY_ACCESSIBLE_TOOLTIPS: 'glide.ui.accessibility.accessible.tooltips',\n  GLIDE_UI_ACCESSIBILITY_FOCUS_FIRST_FIELD: 'glide.ui.accessibility.focus_first_field',\n  GLIDE_UI_ACCESSIBILITY_SLUSHBUCKET_RECORD_PREVIEW_TOOLTIPS : 'glide.ui.accessibility.slushbucket.record_preview_tooltips',\n} )\n\n\n","import get from 'lodash/get';\n\nconst getProperty = (propertyName, defaultValue = null) => get(window, `ux_globals.sysprops['${propertyName}']`, defaultValue);\n\nexport default getProperty;\n","import get from 'lodash/get';\n\nexport const getPageProp = (propertyName, defaultValue = null) => get(window, `ux_globals.pageProperties['${propertyName}']`, defaultValue);\nexport const getPageProperties = () => get(window, `ux_globals.pageProperties`, null);\n","import get from 'lodash/get';\n\nexport const createPreSourceBehavior = (componentTagName, {name:dsName = 'undefined', transform = d => d}) => {\n\tconst storeSeed = get(window, `ux_globals.presource['${componentTagName}:${dsName}']`, {});\n\tlet initialState = storeSeed;\n\ttry {initialState = (typeof transform === 'function') ? transform(storeSeed) : storeSeed;}catch(e) {console.error(e);initialState = storeSeed;}\n\treturn {\n\t\tname: dsName, // this.props.behaviors[dsName], available onConnect\n\t\tinitialState\n\t};\n};\n\nexport const getBehaviorProp = (state, name, defVal = {}) => !name ? undefined : get(state, `behaviors['${name}']`, defVal);\n","import get from \"lodash/get\";\nimport {\n\tcreatePreSourceBehavior,\n\tgetBehaviorProp\n} from \"./createPreSourceBehavior\";\n\nconst USER_DATA_KEY = \"wsUserData\";\nconst USER_ROLES_KEY = \"agentRoles\";\nconst USER_PREF_KEY = \"wsUserDataPreferences\";\nconst WS_CONFIG_SYS_ID_KEY = \"wsConfigSysId\";\n\nexport const preUserData = createPreSourceBehavior(\"sn-workspace-header\", {\n\tname: USER_DATA_KEY,\n\ttransform: data => get(data, \"data.GlideDomain_Query.user\", {})\n});\n\nexport const preUserRoles = createPreSourceBehavior(\"sn-workspace-content\", {\n\tname: USER_ROLES_KEY,\n\ttransform: result => get(result, \"data.GlideDomain_Query.user.roles\", [])\n});\n\nexport const preWsConfigSysId = createPreSourceBehavior(\"sn-workspace-header\", {\n\tname: WS_CONFIG_SYS_ID_KEY,\n\ttransform: data =>\n\t\tget(\n\t\t\tdata,\n\t\t\t[\n\t\t\t\t\"data\",\n\t\t\t\t\"GlideRecord_Query\",\n\t\t\t\t\"sys_aw_master_config\",\n\t\t\t\t\"_results\",\n\t\t\t\t0,\n\t\t\t\t\"sys_id\",\n\t\t\t\t\"value\"\n\t\t\t],\n\t\t\t\"\"\n\t\t)\n});\n\nexport const preUserPrefs = (function(userData) {\n\treturn {\n\t\tname: USER_PREF_KEY,\n\t\tinitialState: userData.initialState.preferences || []\n\t};\n})(preUserData);\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.sign = exports.removeSignature = exports.denyUnlessSigned = exports.signingH = exports.signedData = void 0;\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar signatureKey = 'snabbdom_signature';\nvar signature = Symbol.for(signatureKey);\n\nvar signedData = _defineProperty({}, signatureKey, signature);\n\nexports.signedData = signedData;\n\nvar signData = function signData(data) {\n  return Object.assign({}, data, signedData);\n};\n\nvar isPlainTextNode = function isPlainTextNode(vnode) {\n  return vnode.children === undefined && vnode.data === undefined && vnode.key === undefined;\n};\n\nvar isSigned = function isSigned(vnode) {\n  return vnode.data ? vnode.data[signatureKey] === signature : isPlainTextNode(vnode);\n};\n\nvar removeSignatureFromData = function removeSignatureFromData(data) {\n  return Object.assign({}, data, _defineProperty({}, signatureKey, undefined));\n};\n\nvar isPrimitive = function isPrimitive(a) {\n  return ['string', 'number'].includes(_typeof(a));\n};\n\nvar signingH = function signingH(defaultH) {\n  return function (sel, b, c) {\n    if (c !== undefined) {\n      // a - sel, b - data, c - primitive/child/children\n      return defaultH(sel, signData(b), c);\n    } else if (b === undefined) {\n      // a - sel\n      return defaultH(sel, signedData);\n    } else if (Array.isArray(b) || b.sel || isPrimitive(b)) {\n      // a - sel, b - primitive/child/children\n      return defaultH(sel, signedData, b);\n    } else {\n      // a - sel, b - data\n      return defaultH(sel, signData(b));\n    }\n  };\n};\n\nexports.signingH = signingH;\n\nvar denyUnlessSignedHook = function denyUnlessSignedHook(oldVnode, vnode) {\n  if (!isSigned(vnode)) {\n    throw new Error('Patching with a vnode which is not correctly signed!');\n  }\n};\n\nvar denyUnlessSigned = {\n  create: denyUnlessSignedHook,\n  update: denyUnlessSignedHook\n};\nexports.denyUnlessSigned = denyUnlessSigned;\n\nvar processDataRecursively = function processDataRecursively(checkIfValidVnode, dataProcessFn) {\n  var fn = function fn(tree) {\n    checkIfValidVnode(tree);\n    var data = dataProcessFn(tree.data);\n    var children = tree.children ? tree.children.map(fn) : undefined;\n    return Object.assign({}, tree, {\n      data: data,\n      children: children\n    });\n  };\n\n  return fn;\n};\n\nvar removeSignature = processDataRecursively(function (vnode) {\n  if (!isSigned(vnode)) {\n    throw new Error('Unable to remove the signature, because the vnode is not signed.');\n  }\n}, removeSignatureFromData);\nexports.removeSignature = removeSignature;\nvar sign = processDataRecursively(function () {}, signData);\nexports.sign = sign;","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nmodule.exports = Stream;\n\nvar EE = require('events').EventEmitter;\nvar inherits = require('inherits');\n\ninherits(Stream, EE);\nStream.Readable = require('readable-stream/lib/_stream_readable.js');\nStream.Writable = require('readable-stream/lib/_stream_writable.js');\nStream.Duplex = require('readable-stream/lib/_stream_duplex.js');\nStream.Transform = require('readable-stream/lib/_stream_transform.js');\nStream.PassThrough = require('readable-stream/lib/_stream_passthrough.js');\nStream.finished = require('readable-stream/lib/internal/streams/end-of-stream.js')\nStream.pipeline = require('readable-stream/lib/internal/streams/pipeline.js')\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream;\n\n\n\n// old-style streams.  Note that the pipe method (the only relevant\n// part of this class) is overridden in the Readable class.\n\nfunction Stream() {\n  EE.call(this);\n}\n\nStream.prototype.pipe = function(dest, options) {\n  var source = this;\n\n  function ondata(chunk) {\n    if (dest.writable) {\n      if (false === dest.write(chunk) && source.pause) {\n        source.pause();\n      }\n    }\n  }\n\n  source.on('data', ondata);\n\n  function ondrain() {\n    if (source.readable && source.resume) {\n      source.resume();\n    }\n  }\n\n  dest.on('drain', ondrain);\n\n  // If the 'end' option is not supplied, dest.end() will be called when\n  // source gets the 'end' or 'close' events.  Only dest.end() once.\n  if (!dest._isStdio && (!options || options.end !== false)) {\n    source.on('end', onend);\n    source.on('close', onclose);\n  }\n\n  var didOnEnd = false;\n  function onend() {\n    if (didOnEnd) return;\n    didOnEnd = true;\n\n    dest.end();\n  }\n\n\n  function onclose() {\n    if (didOnEnd) return;\n    didOnEnd = true;\n\n    if (typeof dest.destroy === 'function') dest.destroy();\n  }\n\n  // don't leave dangling pipes when there are errors.\n  function onerror(er) {\n    cleanup();\n    if (EE.listenerCount(this, 'error') === 0) {\n      throw er; // Unhandled stream error in pipe.\n    }\n  }\n\n  source.on('error', onerror);\n  dest.on('error', onerror);\n\n  // remove all the event listeners that were added.\n  function cleanup() {\n    source.removeListener('data', ondata);\n    dest.removeListener('drain', ondrain);\n\n    source.removeListener('end', onend);\n    source.removeListener('close', onclose);\n\n    source.removeListener('error', onerror);\n    dest.removeListener('error', onerror);\n\n    source.removeListener('end', cleanup);\n    source.removeListener('close', cleanup);\n\n    dest.removeListener('close', cleanup);\n  }\n\n  source.on('end', cleanup);\n  source.on('close', cleanup);\n\n  dest.on('close', cleanup);\n\n  dest.emit('pipe', source);\n\n  // Allow for unix-like usage: A.pipe(B).pipe(C)\n  return dest;\n};\n","var ClientRequest = require('./lib/request')\nvar response = require('./lib/response')\nvar extend = require('xtend')\nvar statusCodes = require('builtin-status-codes')\nvar url = require('url')\n\nvar http = exports\n\nhttp.request = function (opts, cb) {\n\tif (typeof opts === 'string')\n\t\topts = url.parse(opts)\n\telse\n\t\topts = extend(opts)\n\n\t// Normally, the page is loaded from http or https, so not specifying a protocol\n\t// will result in a (valid) protocol-relative url. However, this won't work if\n\t// the protocol is something else, like 'file:'\n\tvar defaultProtocol = global.location.protocol.search(/^https?:$/) === -1 ? 'http:' : ''\n\n\tvar protocol = opts.protocol || defaultProtocol\n\tvar host = opts.hostname || opts.host\n\tvar port = opts.port\n\tvar path = opts.path || '/'\n\n\t// Necessary for IPv6 addresses\n\tif (host && host.indexOf(':') !== -1)\n\t\thost = '[' + host + ']'\n\n\t// This may be a relative url. The browser should always be able to interpret it correctly.\n\topts.url = (host ? (protocol + '//' + host) : '') + (port ? ':' + port : '') + path\n\topts.method = (opts.method || 'GET').toUpperCase()\n\topts.headers = opts.headers || {}\n\n\t// Also valid opts.auth, opts.mode\n\n\tvar req = new ClientRequest(opts)\n\tif (cb)\n\t\treq.on('response', cb)\n\treturn req\n}\n\nhttp.get = function get (opts, cb) {\n\tvar req = http.request(opts, cb)\n\treq.end()\n\treturn req\n}\n\nhttp.ClientRequest = ClientRequest\nhttp.IncomingMessage = response.IncomingMessage\n\nhttp.Agent = function () {}\nhttp.Agent.defaultMaxSockets = 4\n\nhttp.globalAgent = new http.Agent()\n\nhttp.STATUS_CODES = statusCodes\n\nhttp.METHODS = [\n\t'CHECKOUT',\n\t'CONNECT',\n\t'COPY',\n\t'DELETE',\n\t'GET',\n\t'HEAD',\n\t'LOCK',\n\t'M-SEARCH',\n\t'MERGE',\n\t'MKACTIVITY',\n\t'MKCOL',\n\t'MOVE',\n\t'NOTIFY',\n\t'OPTIONS',\n\t'PATCH',\n\t'POST',\n\t'PROPFIND',\n\t'PROPPATCH',\n\t'PURGE',\n\t'PUT',\n\t'REPORT',\n\t'SEARCH',\n\t'SUBSCRIBE',\n\t'TRACE',\n\t'UNLOCK',\n\t'UNSUBSCRIBE'\n]","exports.fetch = isFunction(global.fetch) && isFunction(global.ReadableStream)\n\nexports.writableStream = isFunction(global.WritableStream)\n\nexports.abortController = isFunction(global.AbortController)\n\n// The xhr request to example.com may violate some restrictive CSP configurations,\n// so if we're running in a browser that supports `fetch`, avoid calling getXHR()\n// and assume support for certain features below.\nvar xhr\nfunction getXHR () {\n\t// Cache the xhr value\n\tif (xhr !== undefined) return xhr\n\n\tif (global.XMLHttpRequest) {\n\t\txhr = new global.XMLHttpRequest()\n\t\t// If XDomainRequest is available (ie only, where xhr might not work\n\t\t// cross domain), use the page location. Otherwise use example.com\n\t\t// Note: this doesn't actually make an http request.\n\t\ttry {\n\t\t\txhr.open('GET', global.XDomainRequest ? '/' : 'https://example.com')\n\t\t} catch(e) {\n\t\t\txhr = null\n\t\t}\n\t} else {\n\t\t// Service workers don't have XHR\n\t\txhr = null\n\t}\n\treturn xhr\n}\n\nfunction checkTypeSupport (type) {\n\tvar xhr = getXHR()\n\tif (!xhr) return false\n\ttry {\n\t\txhr.responseType = type\n\t\treturn xhr.responseType === type\n\t} catch (e) {}\n\treturn false\n}\n\n// If fetch is supported, then arraybuffer will be supported too. Skip calling\n// checkTypeSupport(), since that calls getXHR().\nexports.arraybuffer = exports.fetch || checkTypeSupport('arraybuffer')\n\n// These next two tests unavoidably show warnings in Chrome. Since fetch will always\n// be used if it's available, just return false for these to avoid the warnings.\nexports.msstream = !exports.fetch && checkTypeSupport('ms-stream')\nexports.mozchunkedarraybuffer = !exports.fetch && checkTypeSupport('moz-chunked-arraybuffer')\n\n// If fetch is supported, then overrideMimeType will be supported too. Skip calling\n// getXHR().\nexports.overrideMimeType = exports.fetch || (getXHR() ? isFunction(getXHR().overrideMimeType) : false)\n\nfunction isFunction (value) {\n\treturn typeof value === 'function'\n}\n\nxhr = null // Help gc\n","var capability = require('./capability')\nvar inherits = require('inherits')\nvar response = require('./response')\nvar stream = require('readable-stream')\n\nvar IncomingMessage = response.IncomingMessage\nvar rStates = response.readyStates\n\nfunction decideMode (preferBinary, useFetch) {\n\tif (capability.fetch && useFetch) {\n\t\treturn 'fetch'\n\t} else if (capability.mozchunkedarraybuffer) {\n\t\treturn 'moz-chunked-arraybuffer'\n\t} else if (capability.msstream) {\n\t\treturn 'ms-stream'\n\t} else if (capability.arraybuffer && preferBinary) {\n\t\treturn 'arraybuffer'\n\t} else {\n\t\treturn 'text'\n\t}\n}\n\nvar ClientRequest = module.exports = function (opts) {\n\tvar self = this\n\tstream.Writable.call(self)\n\n\tself._opts = opts\n\tself._body = []\n\tself._headers = {}\n\tif (opts.auth)\n\t\tself.setHeader('Authorization', 'Basic ' + Buffer.from(opts.auth).toString('base64'))\n\tObject.keys(opts.headers).forEach(function (name) {\n\t\tself.setHeader(name, opts.headers[name])\n\t})\n\n\tvar preferBinary\n\tvar useFetch = true\n\tif (opts.mode === 'disable-fetch' || ('requestTimeout' in opts && !capability.abortController)) {\n\t\t// If the use of XHR should be preferred. Not typically needed.\n\t\tuseFetch = false\n\t\tpreferBinary = true\n\t} else if (opts.mode === 'prefer-streaming') {\n\t\t// If streaming is a high priority but binary compatibility and\n\t\t// the accuracy of the 'content-type' header aren't\n\t\tpreferBinary = false\n\t} else if (opts.mode === 'allow-wrong-content-type') {\n\t\t// If streaming is more important than preserving the 'content-type' header\n\t\tpreferBinary = !capability.overrideMimeType\n\t} else if (!opts.mode || opts.mode === 'default' || opts.mode === 'prefer-fast') {\n\t\t// Use binary if text streaming may corrupt data or the content-type header, or for speed\n\t\tpreferBinary = true\n\t} else {\n\t\tthrow new Error('Invalid value for opts.mode')\n\t}\n\tself._mode = decideMode(preferBinary, useFetch)\n\tself._fetchTimer = null\n\tself._socketTimeout = null\n\tself._socketTimer = null\n\n\tself.on('finish', function () {\n\t\tself._onFinish()\n\t})\n}\n\ninherits(ClientRequest, stream.Writable)\n\nClientRequest.prototype.setHeader = function (name, value) {\n\tvar self = this\n\tvar lowerName = name.toLowerCase()\n\t// This check is not necessary, but it prevents warnings from browsers about setting unsafe\n\t// headers. To be honest I'm not entirely sure hiding these warnings is a good thing, but\n\t// http-browserify did it, so I will too.\n\tif (unsafeHeaders.indexOf(lowerName) !== -1)\n\t\treturn\n\n\tself._headers[lowerName] = {\n\t\tname: name,\n\t\tvalue: value\n\t}\n}\n\nClientRequest.prototype.getHeader = function (name) {\n\tvar header = this._headers[name.toLowerCase()]\n\tif (header)\n\t\treturn header.value\n\treturn null\n}\n\nClientRequest.prototype.removeHeader = function (name) {\n\tvar self = this\n\tdelete self._headers[name.toLowerCase()]\n}\n\nClientRequest.prototype._onFinish = function () {\n\tvar self = this\n\n\tif (self._destroyed)\n\t\treturn\n\tvar opts = self._opts\n\n\tif ('timeout' in opts && opts.timeout !== 0) {\n\t\tself.setTimeout(opts.timeout)\n\t}\n\n\tvar headersObj = self._headers\n\tvar body = null\n\tif (opts.method !== 'GET' && opts.method !== 'HEAD') {\n        body = new Blob(self._body, {\n            type: (headersObj['content-type'] || {}).value || ''\n        });\n    }\n\n\t// create flattened list of headers\n\tvar headersList = []\n\tObject.keys(headersObj).forEach(function (keyName) {\n\t\tvar name = headersObj[keyName].name\n\t\tvar value = headersObj[keyName].value\n\t\tif (Array.isArray(value)) {\n\t\t\tvalue.forEach(function (v) {\n\t\t\t\theadersList.push([name, v])\n\t\t\t})\n\t\t} else {\n\t\t\theadersList.push([name, value])\n\t\t}\n\t})\n\n\tif (self._mode === 'fetch') {\n\t\tvar signal = null\n\t\tif (capability.abortController) {\n\t\t\tvar controller = new AbortController()\n\t\t\tsignal = controller.signal\n\t\t\tself._fetchAbortController = controller\n\n\t\t\tif ('requestTimeout' in opts && opts.requestTimeout !== 0) {\n\t\t\t\tself._fetchTimer = global.setTimeout(function () {\n\t\t\t\t\tself.emit('requestTimeout')\n\t\t\t\t\tif (self._fetchAbortController)\n\t\t\t\t\t\tself._fetchAbortController.abort()\n\t\t\t\t}, opts.requestTimeout)\n\t\t\t}\n\t\t}\n\n\t\tglobal.fetch(self._opts.url, {\n\t\t\tmethod: self._opts.method,\n\t\t\theaders: headersList,\n\t\t\tbody: body || undefined,\n\t\t\tmode: 'cors',\n\t\t\tcredentials: opts.withCredentials ? 'include' : 'same-origin',\n\t\t\tsignal: signal\n\t\t}).then(function (response) {\n\t\t\tself._fetchResponse = response\n\t\t\tself._resetTimers(false)\n\t\t\tself._connect()\n\t\t}, function (reason) {\n\t\t\tself._resetTimers(true)\n\t\t\tif (!self._destroyed)\n\t\t\t\tself.emit('error', reason)\n\t\t})\n\t} else {\n\t\tvar xhr = self._xhr = new global.XMLHttpRequest()\n\t\ttry {\n\t\t\txhr.open(self._opts.method, self._opts.url, true)\n\t\t} catch (err) {\n\t\t\tprocess.nextTick(function () {\n\t\t\t\tself.emit('error', err)\n\t\t\t})\n\t\t\treturn\n\t\t}\n\n\t\t// Can't set responseType on really old browsers\n\t\tif ('responseType' in xhr)\n\t\t\txhr.responseType = self._mode\n\n\t\tif ('withCredentials' in xhr)\n\t\t\txhr.withCredentials = !!opts.withCredentials\n\n\t\tif (self._mode === 'text' && 'overrideMimeType' in xhr)\n\t\t\txhr.overrideMimeType('text/plain; charset=x-user-defined')\n\n\t\tif ('requestTimeout' in opts) {\n\t\t\txhr.timeout = opts.requestTimeout\n\t\t\txhr.ontimeout = function () {\n\t\t\t\tself.emit('requestTimeout')\n\t\t\t}\n\t\t}\n\n\t\theadersList.forEach(function (header) {\n\t\t\txhr.setRequestHeader(header[0], header[1])\n\t\t})\n\n\t\tself._response = null\n\t\txhr.onreadystatechange = function () {\n\t\t\tswitch (xhr.readyState) {\n\t\t\t\tcase rStates.LOADING:\n\t\t\t\tcase rStates.DONE:\n\t\t\t\t\tself._onXHRProgress()\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\t// Necessary for streaming in Firefox, since xhr.response is ONLY defined\n\t\t// in onprogress, not in onreadystatechange with xhr.readyState = 3\n\t\tif (self._mode === 'moz-chunked-arraybuffer') {\n\t\t\txhr.onprogress = function () {\n\t\t\t\tself._onXHRProgress()\n\t\t\t}\n\t\t}\n\n\t\txhr.onerror = function () {\n\t\t\tif (self._destroyed)\n\t\t\t\treturn\n\t\t\tself._resetTimers(true)\n\t\t\tself.emit('error', new Error('XHR error'))\n\t\t}\n\n\t\ttry {\n\t\t\txhr.send(body)\n\t\t} catch (err) {\n\t\t\tprocess.nextTick(function () {\n\t\t\t\tself.emit('error', err)\n\t\t\t})\n\t\t\treturn\n\t\t}\n\t}\n}\n\n/**\n * Checks if xhr.status is readable and non-zero, indicating no error.\n * Even though the spec says it should be available in readyState 3,\n * accessing it throws an exception in IE8\n */\nfunction statusValid (xhr) {\n\ttry {\n\t\tvar status = xhr.status\n\t\treturn (status !== null && status !== 0)\n\t} catch (e) {\n\t\treturn false\n\t}\n}\n\nClientRequest.prototype._onXHRProgress = function () {\n\tvar self = this\n\n\tself._resetTimers(false)\n\n\tif (!statusValid(self._xhr) || self._destroyed)\n\t\treturn\n\n\tif (!self._response)\n\t\tself._connect()\n\n\tself._response._onXHRProgress(self._resetTimers.bind(self))\n}\n\nClientRequest.prototype._connect = function () {\n\tvar self = this\n\n\tif (self._destroyed)\n\t\treturn\n\n\tself._response = new IncomingMessage(self._xhr, self._fetchResponse, self._mode, self._resetTimers.bind(self))\n\tself._response.on('error', function(err) {\n\t\tself.emit('error', err)\n\t})\n\n\tself.emit('response', self._response)\n}\n\nClientRequest.prototype._write = function (chunk, encoding, cb) {\n\tvar self = this\n\n\tself._body.push(chunk)\n\tcb()\n}\n\nClientRequest.prototype._resetTimers = function (done) {\n\tvar self = this\n\n\tglobal.clearTimeout(self._socketTimer)\n\tself._socketTimer = null\n\n\tif (done) {\n\t\tglobal.clearTimeout(self._fetchTimer)\n\t\tself._fetchTimer = null\n\t} else if (self._socketTimeout) {\n\t\tself._socketTimer = global.setTimeout(function () {\n\t\t\tself.emit('timeout')\n\t\t}, self._socketTimeout)\n\t}\n}\n\nClientRequest.prototype.abort = ClientRequest.prototype.destroy = function (err) {\n\tvar self = this\n\tself._destroyed = true\n\tself._resetTimers(true)\n\tif (self._response)\n\t\tself._response._destroyed = true\n\tif (self._xhr)\n\t\tself._xhr.abort()\n\telse if (self._fetchAbortController)\n\t\tself._fetchAbortController.abort()\n\n\tif (err)\n\t\tself.emit('error', err)\n}\n\nClientRequest.prototype.end = function (data, encoding, cb) {\n\tvar self = this\n\tif (typeof data === 'function') {\n\t\tcb = data\n\t\tdata = undefined\n\t}\n\n\tstream.Writable.prototype.end.call(self, data, encoding, cb)\n}\n\nClientRequest.prototype.setTimeout = function (timeout, cb) {\n\tvar self = this\n\n\tif (cb)\n\t\tself.once('timeout', cb)\n\n\tself._socketTimeout = timeout\n\tself._resetTimers(false)\n}\n\nClientRequest.prototype.flushHeaders = function () {}\nClientRequest.prototype.setNoDelay = function () {}\nClientRequest.prototype.setSocketKeepAlive = function () {}\n\n// Taken from http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader%28%29-method\nvar unsafeHeaders = [\n\t'accept-charset',\n\t'accept-encoding',\n\t'access-control-request-headers',\n\t'access-control-request-method',\n\t'connection',\n\t'content-length',\n\t'cookie',\n\t'cookie2',\n\t'date',\n\t'dnt',\n\t'expect',\n\t'host',\n\t'keep-alive',\n\t'origin',\n\t'referer',\n\t'te',\n\t'trailer',\n\t'transfer-encoding',\n\t'upgrade',\n\t'via'\n]\n","var capability = require('./capability')\nvar inherits = require('inherits')\nvar stream = require('readable-stream')\n\nvar rStates = exports.readyStates = {\n\tUNSENT: 0,\n\tOPENED: 1,\n\tHEADERS_RECEIVED: 2,\n\tLOADING: 3,\n\tDONE: 4\n}\n\nvar IncomingMessage = exports.IncomingMessage = function (xhr, response, mode, resetTimers) {\n\tvar self = this\n\tstream.Readable.call(self)\n\n\tself._mode = mode\n\tself.headers = {}\n\tself.rawHeaders = []\n\tself.trailers = {}\n\tself.rawTrailers = []\n\n\t// Fake the 'close' event, but only once 'end' fires\n\tself.on('end', function () {\n\t\t// The nextTick is necessary to prevent the 'request' module from causing an infinite loop\n\t\tprocess.nextTick(function () {\n\t\t\tself.emit('close')\n\t\t})\n\t})\n\n\tif (mode === 'fetch') {\n\t\tself._fetchResponse = response\n\n\t\tself.url = response.url\n\t\tself.statusCode = response.status\n\t\tself.statusMessage = response.statusText\n\t\t\n\t\tresponse.headers.forEach(function (header, key){\n\t\t\tself.headers[key.toLowerCase()] = header\n\t\t\tself.rawHeaders.push(key, header)\n\t\t})\n\n\t\tif (capability.writableStream) {\n\t\t\tvar writable = new WritableStream({\n\t\t\t\twrite: function (chunk) {\n\t\t\t\t\tresetTimers(false)\n\t\t\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\t\t\tif (self._destroyed) {\n\t\t\t\t\t\t\treject()\n\t\t\t\t\t\t} else if(self.push(Buffer.from(chunk))) {\n\t\t\t\t\t\t\tresolve()\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tself._resumeFetch = resolve\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tclose: function () {\n\t\t\t\t\tresetTimers(true)\n\t\t\t\t\tif (!self._destroyed)\n\t\t\t\t\t\tself.push(null)\n\t\t\t\t},\n\t\t\t\tabort: function (err) {\n\t\t\t\t\tresetTimers(true)\n\t\t\t\t\tif (!self._destroyed)\n\t\t\t\t\t\tself.emit('error', err)\n\t\t\t\t}\n\t\t\t})\n\n\t\t\ttry {\n\t\t\t\tresponse.body.pipeTo(writable).catch(function (err) {\n\t\t\t\t\tresetTimers(true)\n\t\t\t\t\tif (!self._destroyed)\n\t\t\t\t\t\tself.emit('error', err)\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t} catch (e) {} // pipeTo method isn't defined. Can't find a better way to feature test this\n\t\t}\n\t\t// fallback for when writableStream or pipeTo aren't available\n\t\tvar reader = response.body.getReader()\n\t\tfunction read () {\n\t\t\treader.read().then(function (result) {\n\t\t\t\tif (self._destroyed)\n\t\t\t\t\treturn\n\t\t\t\tresetTimers(result.done)\n\t\t\t\tif (result.done) {\n\t\t\t\t\tself.push(null)\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tself.push(Buffer.from(result.value))\n\t\t\t\tread()\n\t\t\t}).catch(function (err) {\n\t\t\t\tresetTimers(true)\n\t\t\t\tif (!self._destroyed)\n\t\t\t\t\tself.emit('error', err)\n\t\t\t})\n\t\t}\n\t\tread()\n\t} else {\n\t\tself._xhr = xhr\n\t\tself._pos = 0\n\n\t\tself.url = xhr.responseURL\n\t\tself.statusCode = xhr.status\n\t\tself.statusMessage = xhr.statusText\n\t\tvar headers = xhr.getAllResponseHeaders().split(/\\r?\\n/)\n\t\theaders.forEach(function (header) {\n\t\t\tvar matches = header.match(/^([^:]+):\\s*(.*)/)\n\t\t\tif (matches) {\n\t\t\t\tvar key = matches[1].toLowerCase()\n\t\t\t\tif (key === 'set-cookie') {\n\t\t\t\t\tif (self.headers[key] === undefined) {\n\t\t\t\t\t\tself.headers[key] = []\n\t\t\t\t\t}\n\t\t\t\t\tself.headers[key].push(matches[2])\n\t\t\t\t} else if (self.headers[key] !== undefined) {\n\t\t\t\t\tself.headers[key] += ', ' + matches[2]\n\t\t\t\t} else {\n\t\t\t\t\tself.headers[key] = matches[2]\n\t\t\t\t}\n\t\t\t\tself.rawHeaders.push(matches[1], matches[2])\n\t\t\t}\n\t\t})\n\n\t\tself._charset = 'x-user-defined'\n\t\tif (!capability.overrideMimeType) {\n\t\t\tvar mimeType = self.rawHeaders['mime-type']\n\t\t\tif (mimeType) {\n\t\t\t\tvar charsetMatch = mimeType.match(/;\\s*charset=([^;])(;|$)/)\n\t\t\t\tif (charsetMatch) {\n\t\t\t\t\tself._charset = charsetMatch[1].toLowerCase()\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!self._charset)\n\t\t\t\tself._charset = 'utf-8' // best guess\n\t\t}\n\t}\n}\n\ninherits(IncomingMessage, stream.Readable)\n\nIncomingMessage.prototype._read = function () {\n\tvar self = this\n\n\tvar resolve = self._resumeFetch\n\tif (resolve) {\n\t\tself._resumeFetch = null\n\t\tresolve()\n\t}\n}\n\nIncomingMessage.prototype._onXHRProgress = function (resetTimers) {\n\tvar self = this\n\n\tvar xhr = self._xhr\n\n\tvar response = null\n\tswitch (self._mode) {\n\t\tcase 'text':\n\t\t\tresponse = xhr.responseText\n\t\t\tif (response.length > self._pos) {\n\t\t\t\tvar newData = response.substr(self._pos)\n\t\t\t\tif (self._charset === 'x-user-defined') {\n\t\t\t\t\tvar buffer = Buffer.alloc(newData.length)\n\t\t\t\t\tfor (var i = 0; i < newData.length; i++)\n\t\t\t\t\t\tbuffer[i] = newData.charCodeAt(i) & 0xff\n\n\t\t\t\t\tself.push(buffer)\n\t\t\t\t} else {\n\t\t\t\t\tself.push(newData, self._charset)\n\t\t\t\t}\n\t\t\t\tself._pos = response.length\n\t\t\t}\n\t\t\tbreak\n\t\tcase 'arraybuffer':\n\t\t\tif (xhr.readyState !== rStates.DONE || !xhr.response)\n\t\t\t\tbreak\n\t\t\tresponse = xhr.response\n\t\t\tself.push(Buffer.from(new Uint8Array(response)))\n\t\t\tbreak\n\t\tcase 'moz-chunked-arraybuffer': // take whole\n\t\t\tresponse = xhr.response\n\t\t\tif (xhr.readyState !== rStates.LOADING || !response)\n\t\t\t\tbreak\n\t\t\tself.push(Buffer.from(new Uint8Array(response)))\n\t\t\tbreak\n\t\tcase 'ms-stream':\n\t\t\tresponse = xhr.response\n\t\t\tif (xhr.readyState !== rStates.LOADING)\n\t\t\t\tbreak\n\t\t\tvar reader = new global.MSStreamReader()\n\t\t\treader.onprogress = function () {\n\t\t\t\tif (reader.result.byteLength > self._pos) {\n\t\t\t\t\tself.push(Buffer.from(new Uint8Array(reader.result.slice(self._pos))))\n\t\t\t\t\tself._pos = reader.result.byteLength\n\t\t\t\t}\n\t\t\t}\n\t\t\treader.onload = function () {\n\t\t\t\tresetTimers(true)\n\t\t\t\tself.push(null)\n\t\t\t}\n\t\t\t// reader.onerror = ??? // TODO: this\n\t\t\treader.readAsArrayBuffer(response)\n\t\t\tbreak\n\t}\n\n\t// The ms-stream case handles end separately in reader.onload()\n\tif (self._xhr.readyState === rStates.DONE && self._mode !== 'ms-stream') {\n\t\tresetTimers(true)\n\t\tself.push(null)\n\t}\n}\n","var nargs = /\\{([0-9a-zA-Z_]+)\\}/g\n\nmodule.exports = template\n\nfunction template(string) {\n    var args\n\n    if (arguments.length === 2 && typeof arguments[1] === \"object\") {\n        args = arguments[1]\n    } else {\n        args = new Array(arguments.length - 1)\n        for (var i = 1; i < arguments.length; ++i) {\n            args[i - 1] = arguments[i]\n        }\n    }\n\n    if (!args || !args.hasOwnProperty) {\n        args = {}\n    }\n\n    return string.replace(nargs, function replaceArg(match, i, index) {\n        var result\n\n        if (string[index - 1] === \"{\" &&\n            string[index + match.length] === \"}\") {\n            return i\n        } else {\n            result = args.hasOwnProperty(i) ? args[i] : null\n            if (result === null || result === undefined) {\n                return \"\"\n            }\n\n            return result\n        }\n    })\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/*<replacement>*/\n\nvar Buffer = require('safe-buffer').Buffer;\n/*</replacement>*/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n  encoding = '' + encoding;\n  switch (encoding && encoding.toLowerCase()) {\n    case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n      return true;\n    default:\n      return false;\n  }\n};\n\nfunction _normalizeEncoding(enc) {\n  if (!enc) return 'utf8';\n  var retried;\n  while (true) {\n    switch (enc) {\n      case 'utf8':\n      case 'utf-8':\n        return 'utf8';\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return 'utf16le';\n      case 'latin1':\n      case 'binary':\n        return 'latin1';\n      case 'base64':\n      case 'ascii':\n      case 'hex':\n        return enc;\n      default:\n        if (retried) return; // undefined\n        enc = ('' + enc).toLowerCase();\n        retried = true;\n    }\n  }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n  var nenc = _normalizeEncoding(enc);\n  if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n  return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n  this.encoding = normalizeEncoding(encoding);\n  var nb;\n  switch (this.encoding) {\n    case 'utf16le':\n      this.text = utf16Text;\n      this.end = utf16End;\n      nb = 4;\n      break;\n    case 'utf8':\n      this.fillLast = utf8FillLast;\n      nb = 4;\n      break;\n    case 'base64':\n      this.text = base64Text;\n      this.end = base64End;\n      nb = 3;\n      break;\n    default:\n      this.write = simpleWrite;\n      this.end = simpleEnd;\n      return;\n  }\n  this.lastNeed = 0;\n  this.lastTotal = 0;\n  this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n  if (buf.length === 0) return '';\n  var r;\n  var i;\n  if (this.lastNeed) {\n    r = this.fillLast(buf);\n    if (r === undefined) return '';\n    i = this.lastNeed;\n    this.lastNeed = 0;\n  } else {\n    i = 0;\n  }\n  if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n  return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n  if (this.lastNeed <= buf.length) {\n    buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n    return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n  }\n  buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n  this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n  if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n  return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n  var j = buf.length - 1;\n  if (j < i) return 0;\n  var nb = utf8CheckByte(buf[j]);\n  if (nb >= 0) {\n    if (nb > 0) self.lastNeed = nb - 1;\n    return nb;\n  }\n  if (--j < i || nb === -2) return 0;\n  nb = utf8CheckByte(buf[j]);\n  if (nb >= 0) {\n    if (nb > 0) self.lastNeed = nb - 2;\n    return nb;\n  }\n  if (--j < i || nb === -2) return 0;\n  nb = utf8CheckByte(buf[j]);\n  if (nb >= 0) {\n    if (nb > 0) {\n      if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n    }\n    return nb;\n  }\n  return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n  if ((buf[0] & 0xC0) !== 0x80) {\n    self.lastNeed = 0;\n    return '\\ufffd';\n  }\n  if (self.lastNeed > 1 && buf.length > 1) {\n    if ((buf[1] & 0xC0) !== 0x80) {\n      self.lastNeed = 1;\n      return '\\ufffd';\n    }\n    if (self.lastNeed > 2 && buf.length > 2) {\n      if ((buf[2] & 0xC0) !== 0x80) {\n        self.lastNeed = 2;\n        return '\\ufffd';\n      }\n    }\n  }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n  var p = this.lastTotal - this.lastNeed;\n  var r = utf8CheckExtraBytes(this, buf, p);\n  if (r !== undefined) return r;\n  if (this.lastNeed <= buf.length) {\n    buf.copy(this.lastChar, p, 0, this.lastNeed);\n    return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n  }\n  buf.copy(this.lastChar, p, 0, buf.length);\n  this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n  var total = utf8CheckIncomplete(this, buf, i);\n  if (!this.lastNeed) return buf.toString('utf8', i);\n  this.lastTotal = total;\n  var end = buf.length - (total - this.lastNeed);\n  buf.copy(this.lastChar, 0, end);\n  return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n  var r = buf && buf.length ? this.write(buf) : '';\n  if (this.lastNeed) return r + '\\ufffd';\n  return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n  if ((buf.length - i) % 2 === 0) {\n    var r = buf.toString('utf16le', i);\n    if (r) {\n      var c = r.charCodeAt(r.length - 1);\n      if (c >= 0xD800 && c <= 0xDBFF) {\n        this.lastNeed = 2;\n        this.lastTotal = 4;\n        this.lastChar[0] = buf[buf.length - 2];\n        this.lastChar[1] = buf[buf.length - 1];\n        return r.slice(0, -1);\n      }\n    }\n    return r;\n  }\n  this.lastNeed = 1;\n  this.lastTotal = 2;\n  this.lastChar[0] = buf[buf.length - 1];\n  return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n  var r = buf && buf.length ? this.write(buf) : '';\n  if (this.lastNeed) {\n    var end = this.lastTotal - this.lastNeed;\n    return r + this.lastChar.toString('utf16le', 0, end);\n  }\n  return r;\n}\n\nfunction base64Text(buf, i) {\n  var n = (buf.length - i) % 3;\n  if (n === 0) return buf.toString('base64', i);\n  this.lastNeed = 3 - n;\n  this.lastTotal = 3;\n  if (n === 1) {\n    this.lastChar[0] = buf[buf.length - 1];\n  } else {\n    this.lastChar[0] = buf[buf.length - 2];\n    this.lastChar[1] = buf[buf.length - 1];\n  }\n  return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n  var r = buf && buf.length ? this.write(buf) : '';\n  if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n  return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n  return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n  return buf && buf.length ? this.write(buf) : '';\n}","var Buffer = require('buffer').Buffer\n\nmodule.exports = function (buf) {\n\t// If the buffer is backed by a Uint8Array, a faster version will work\n\tif (buf instanceof Uint8Array) {\n\t\t// If the buffer isn't a subarray, return the underlying ArrayBuffer\n\t\tif (buf.byteOffset === 0 && buf.byteLength === buf.buffer.byteLength) {\n\t\t\treturn buf.buffer\n\t\t} else if (typeof buf.buffer.slice === 'function') {\n\t\t\t// Otherwise we need to get a proper copy\n\t\t\treturn buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength)\n\t\t}\n\t}\n\n\tif (Buffer.isBuffer(buf)) {\n\t\t// This is the slow version that will work with any Buffer\n\t\t// implementation (even in old browsers)\n\t\tvar arrayCopy = new Uint8Array(buf.length)\n\t\tvar len = buf.length\n\t\tfor (var i = 0; i < len; i++) {\n\t\t\tarrayCopy[i] = buf[i]\n\t\t}\n\t\treturn arrayCopy.buffer\n\t} else {\n\t\tthrow new Error('Argument must be a Buffer')\n\t}\n}\n","\"use strict\";\n\nconst punycode = require(\"punycode\");\nconst regexes = require(\"./lib/regexes.js\");\nconst mappingTable = require(\"./lib/mappingTable.json\");\nconst { STATUS_MAPPING } = require(\"./lib/statusMapping.js\");\n\nfunction containsNonASCII(str) {\n  return /[^\\x00-\\x7F]/u.test(str);\n}\n\nfunction findStatus(val, { useSTD3ASCIIRules }) {\n  let start = 0;\n  let end = mappingTable.length - 1;\n\n  while (start <= end) {\n    const mid = Math.floor((start + end) / 2);\n\n    const target = mappingTable[mid];\n    const min = Array.isArray(target[0]) ? target[0][0] : target[0];\n    const max = Array.isArray(target[0]) ? target[0][1] : target[0];\n\n    if (min <= val && max >= val) {\n      if (useSTD3ASCIIRules &&\n          (target[1] === STATUS_MAPPING.disallowed_STD3_valid || target[1] === STATUS_MAPPING.disallowed_STD3_mapped)) {\n        return [STATUS_MAPPING.disallowed, ...target.slice(2)];\n      } else if (target[1] === STATUS_MAPPING.disallowed_STD3_valid) {\n        return [STATUS_MAPPING.valid, ...target.slice(2)];\n      } else if (target[1] === STATUS_MAPPING.disallowed_STD3_mapped) {\n        return [STATUS_MAPPING.mapped, ...target.slice(2)];\n      }\n\n      return target.slice(1);\n    } else if (min > val) {\n      end = mid - 1;\n    } else {\n      start = mid + 1;\n    }\n  }\n\n  return null;\n}\n\nfunction mapChars(domainName, { useSTD3ASCIIRules, processingOption }) {\n  let hasError = false;\n  let processed = \"\";\n\n  for (const ch of domainName) {\n    const [status, mapping] = findStatus(ch.codePointAt(0), { useSTD3ASCIIRules });\n\n    switch (status) {\n      case STATUS_MAPPING.disallowed:\n        hasError = true;\n        processed += ch;\n        break;\n      case STATUS_MAPPING.ignored:\n        break;\n      case STATUS_MAPPING.mapped:\n        processed += mapping;\n        break;\n      case STATUS_MAPPING.deviation:\n        if (processingOption === \"transitional\") {\n          processed += mapping;\n        } else {\n          processed += ch;\n        }\n        break;\n      case STATUS_MAPPING.valid:\n        processed += ch;\n        break;\n    }\n  }\n\n  return {\n    string: processed,\n    error: hasError\n  };\n}\n\nfunction validateLabel(label, { checkHyphens, checkBidi, checkJoiners, processingOption, useSTD3ASCIIRules }) {\n  if (label.normalize(\"NFC\") !== label) {\n    return false;\n  }\n\n  const codePoints = Array.from(label);\n\n  if (checkHyphens) {\n    if ((codePoints[2] === \"-\" && codePoints[3] === \"-\") ||\n        (label.startsWith(\"-\") || label.endsWith(\"-\"))) {\n      return false;\n    }\n  }\n\n  if (label.includes(\".\") ||\n      (codePoints.length > 0 && regexes.combiningMarks.test(codePoints[0]))) {\n    return false;\n  }\n\n  for (const ch of codePoints) {\n    const [status] = findStatus(ch.codePointAt(0), { useSTD3ASCIIRules });\n    if ((processingOption === \"transitional\" && status !== STATUS_MAPPING.valid) ||\n        (processingOption === \"nontransitional\" &&\n         status !== STATUS_MAPPING.valid && status !== STATUS_MAPPING.deviation)) {\n      return false;\n    }\n  }\n\n  // https://tools.ietf.org/html/rfc5892#appendix-A\n  if (checkJoiners) {\n    let last = 0;\n    for (const [i, ch] of codePoints.entries()) {\n      if (ch === \"\\u200C\" || ch === \"\\u200D\") {\n        if (i > 0) {\n          if (regexes.combiningClassVirama.test(codePoints[i - 1])) {\n            continue;\n          }\n          if (ch === \"\\u200C\") {\n            // TODO: make this more efficient\n            const next = codePoints.indexOf(\"\\u200C\", i + 1);\n            const test = next < 0 ? codePoints.slice(last) : codePoints.slice(last, next);\n            if (regexes.validZWNJ.test(test.join(\"\"))) {\n              last = i + 1;\n              continue;\n            }\n          }\n        }\n        return false;\n      }\n    }\n  }\n\n  // https://tools.ietf.org/html/rfc5893#section-2\n  if (checkBidi) {\n    let rtl;\n\n    // 1\n    if (regexes.bidiS1LTR.test(codePoints[0])) {\n      rtl = false;\n    } else if (regexes.bidiS1RTL.test(codePoints[0])) {\n      rtl = true;\n    } else {\n      return false;\n    }\n\n    if (rtl) {\n      // 2-4\n      if (!regexes.bidiS2.test(label) ||\n          !regexes.bidiS3.test(label) ||\n          (regexes.bidiS4EN.test(label) && regexes.bidiS4AN.test(label))) {\n        return false;\n      }\n    } else if (!regexes.bidiS5.test(label) ||\n               !regexes.bidiS6.test(label)) { // 5-6\n      return false;\n    }\n  }\n\n  return true;\n}\n\nfunction isBidiDomain(labels) {\n  const domain = labels.map(label => {\n    if (label.startsWith(\"xn--\")) {\n      try {\n        return punycode.decode(label.substring(4));\n      } catch (err) {\n        return \"\";\n      }\n    }\n    return label;\n  }).join(\".\");\n  return regexes.bidiDomain.test(domain);\n}\n\nfunction processing(domainName, options) {\n  const { processingOption } = options;\n\n  // 1. Map.\n  let { string, error } = mapChars(domainName, options);\n\n  // 2. Normalize.\n  string = string.normalize(\"NFC\");\n\n  // 3. Break.\n  const labels = string.split(\".\");\n  const isBidi = isBidiDomain(labels);\n\n  // 4. Convert/Validate.\n  for (const [i, origLabel] of labels.entries()) {\n    let label = origLabel;\n    let curProcessing = processingOption;\n    if (label.startsWith(\"xn--\")) {\n      try {\n        label = punycode.decode(label.substring(4));\n        labels[i] = label;\n      } catch (err) {\n        error = true;\n        continue;\n      }\n      curProcessing = \"nontransitional\";\n    }\n\n    // No need to validate if we already know there is an error.\n    if (error) {\n      continue;\n    }\n    const validation = validateLabel(label, {\n      ...options,\n      processingOption: curProcessing,\n      checkBidi: options.checkBidi && isBidi\n    });\n    if (!validation) {\n      error = true;\n    }\n  }\n\n  return {\n    string: labels.join(\".\"),\n    error\n  };\n}\n\nfunction toASCII(domainName, {\n  checkHyphens = false,\n  checkBidi = false,\n  checkJoiners = false,\n  useSTD3ASCIIRules = false,\n  processingOption = \"nontransitional\",\n  verifyDNSLength = false\n} = {}) {\n  if (processingOption !== \"transitional\" && processingOption !== \"nontransitional\") {\n    throw new RangeError(\"processingOption must be either transitional or nontransitional\");\n  }\n\n  const result = processing(domainName, {\n    processingOption,\n    checkHyphens,\n    checkBidi,\n    checkJoiners,\n    useSTD3ASCIIRules\n  });\n  let labels = result.string.split(\".\");\n  labels = labels.map(l => {\n    if (containsNonASCII(l)) {\n      try {\n        return `xn--${punycode.encode(l)}`;\n      } catch (e) {\n        result.error = true;\n      }\n    }\n    return l;\n  });\n\n  if (verifyDNSLength) {\n    const total = labels.join(\".\").length;\n    if (total > 253 || total === 0) {\n      result.error = true;\n    }\n\n    for (let i = 0; i < labels.length; ++i) {\n      if (labels[i].length > 63 || labels[i].length === 0) {\n        result.error = true;\n        break;\n      }\n    }\n  }\n\n  if (result.error) {\n    return null;\n  }\n  return labels.join(\".\");\n}\n\nfunction toUnicode(domainName, {\n  checkHyphens = false,\n  checkBidi = false,\n  checkJoiners = false,\n  useSTD3ASCIIRules = false,\n  processingOption = \"nontransitional\"\n} = {}) {\n  const result = processing(domainName, {\n    processingOption,\n    checkHyphens,\n    checkBidi,\n    checkJoiners,\n    useSTD3ASCIIRules\n  });\n\n  return {\n    domain: result.string,\n    error: result.error\n  };\n}\n\nmodule.exports = {\n  toASCII,\n  toUnicode\n};\n","\"use strict\";\n\nconst combiningMarks = /[\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u0898-\\u089F\\u08CA-\\u08E1\\u08E3-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u09FE\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0AFA-\\u0AFF\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B55-\\u0B57\\u0B62\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C04\\u0C3C\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0D00-\\u0D03\\u0D3B\\u0D3C\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D81-\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F\\u109A-\\u109D\\u135D-\\u135F\\u1712-\\u1715\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u180F\\u1885\\u1886\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F\\u1AB0-\\u1ACE\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF4\\u1CF7-\\u1CF9\\u1DC0-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA82C\\uA880\\uA881\\uA8B4-\\uA8C5\\uA8E0-\\uA8F1\\uA8FF\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\u{101FD}\\u{102E0}\\u{10376}-\\u{1037A}\\u{10A01}-\\u{10A03}\\u{10A05}\\u{10A06}\\u{10A0C}-\\u{10A0F}\\u{10A38}-\\u{10A3A}\\u{10A3F}\\u{10AE5}\\u{10AE6}\\u{10D24}-\\u{10D27}\\u{10EAB}\\u{10EAC}\\u{10F46}-\\u{10F50}\\u{10F82}-\\u{10F85}\\u{11000}-\\u{11002}\\u{11038}-\\u{11046}\\u{11070}\\u{11073}\\u{11074}\\u{1107F}-\\u{11082}\\u{110B0}-\\u{110BA}\\u{110C2}\\u{11100}-\\u{11102}\\u{11127}-\\u{11134}\\u{11145}\\u{11146}\\u{11173}\\u{11180}-\\u{11182}\\u{111B3}-\\u{111C0}\\u{111C9}-\\u{111CC}\\u{111CE}\\u{111CF}\\u{1122C}-\\u{11237}\\u{1123E}\\u{112DF}-\\u{112EA}\\u{11300}-\\u{11303}\\u{1133B}\\u{1133C}\\u{1133E}-\\u{11344}\\u{11347}\\u{11348}\\u{1134B}-\\u{1134D}\\u{11357}\\u{11362}\\u{11363}\\u{11366}-\\u{1136C}\\u{11370}-\\u{11374}\\u{11435}-\\u{11446}\\u{1145E}\\u{114B0}-\\u{114C3}\\u{115AF}-\\u{115B5}\\u{115B8}-\\u{115C0}\\u{115DC}\\u{115DD}\\u{11630}-\\u{11640}\\u{116AB}-\\u{116B7}\\u{1171D}-\\u{1172B}\\u{1182C}-\\u{1183A}\\u{11930}-\\u{11935}\\u{11937}\\u{11938}\\u{1193B}-\\u{1193E}\\u{11940}\\u{11942}\\u{11943}\\u{119D1}-\\u{119D7}\\u{119DA}-\\u{119E0}\\u{119E4}\\u{11A01}-\\u{11A0A}\\u{11A33}-\\u{11A39}\\u{11A3B}-\\u{11A3E}\\u{11A47}\\u{11A51}-\\u{11A5B}\\u{11A8A}-\\u{11A99}\\u{11C2F}-\\u{11C36}\\u{11C38}-\\u{11C3F}\\u{11C92}-\\u{11CA7}\\u{11CA9}-\\u{11CB6}\\u{11D31}-\\u{11D36}\\u{11D3A}\\u{11D3C}\\u{11D3D}\\u{11D3F}-\\u{11D45}\\u{11D47}\\u{11D8A}-\\u{11D8E}\\u{11D90}\\u{11D91}\\u{11D93}-\\u{11D97}\\u{11EF3}-\\u{11EF6}\\u{16AF0}-\\u{16AF4}\\u{16B30}-\\u{16B36}\\u{16F4F}\\u{16F51}-\\u{16F87}\\u{16F8F}-\\u{16F92}\\u{16FE4}\\u{16FF0}\\u{16FF1}\\u{1BC9D}\\u{1BC9E}\\u{1CF00}-\\u{1CF2D}\\u{1CF30}-\\u{1CF46}\\u{1D165}-\\u{1D169}\\u{1D16D}-\\u{1D172}\\u{1D17B}-\\u{1D182}\\u{1D185}-\\u{1D18B}\\u{1D1AA}-\\u{1D1AD}\\u{1D242}-\\u{1D244}\\u{1DA00}-\\u{1DA36}\\u{1DA3B}-\\u{1DA6C}\\u{1DA75}\\u{1DA84}\\u{1DA9B}-\\u{1DA9F}\\u{1DAA1}-\\u{1DAAF}\\u{1E000}-\\u{1E006}\\u{1E008}-\\u{1E018}\\u{1E01B}-\\u{1E021}\\u{1E023}\\u{1E024}\\u{1E026}-\\u{1E02A}\\u{1E130}-\\u{1E136}\\u{1E2AE}\\u{1E2EC}-\\u{1E2EF}\\u{1E8D0}-\\u{1E8D6}\\u{1E944}-\\u{1E94A}\\u{E0100}-\\u{E01EF}]/u;\nconst combiningClassVirama = /[\\u094D\\u09CD\\u0A4D\\u0ACD\\u0B4D\\u0BCD\\u0C4D\\u0CCD\\u0D3B\\u0D3C\\u0D4D\\u0DCA\\u0E3A\\u0EBA\\u0F84\\u1039\\u103A\\u1714\\u1734\\u17D2\\u1A60\\u1B44\\u1BAA\\u1BAB\\u1BF2\\u1BF3\\u2D7F\\uA806\\uA8C4\\uA953\\uA9C0\\uAAF6\\uABED\\u{10A3F}\\u{11046}\\u{1107F}\\u{110B9}\\u{11133}\\u{11134}\\u{111C0}\\u{11235}\\u{112EA}\\u{1134D}\\u{11442}\\u{114C2}\\u{115BF}\\u{1163F}\\u{116B6}\\u{1172B}\\u{11839}\\u{119E0}\\u{11A34}\\u{11A47}\\u{11A99}\\u{11C3F}\\u{11D44}\\u{11D45}\\u{11D97}]/u;\nconst validZWNJ = /[\\u0620\\u0626\\u0628\\u062A-\\u062E\\u0633-\\u063F\\u0641-\\u0647\\u0649\\u064A\\u066E\\u066F\\u0678-\\u0687\\u069A-\\u06BF\\u06C1\\u06C2\\u06CC\\u06CE\\u06D0\\u06D1\\u06FA-\\u06FC\\u06FF\\u0712-\\u0714\\u071A-\\u071D\\u071F-\\u0727\\u0729\\u072B\\u072D\\u072E\\u074E-\\u0758\\u075C-\\u076A\\u076D-\\u0770\\u0772\\u0775-\\u0777\\u077A-\\u077F\\u07CA-\\u07EA\\u0841-\\u0845\\u0848\\u084A-\\u0853\\u0855\\u0860\\u0862-\\u0865\\u0868\\u08A0-\\u08A9\\u08AF\\u08B0\\u08B3\\u08B4\\u08B6-\\u08B8\\u08BA-\\u08BD\\u1807\\u1820-\\u1878\\u1887-\\u18A8\\u18AA\\uA840-\\uA872\\u{10AC0}-\\u{10AC4}\\u{10ACD}\\u{10AD3}-\\u{10ADC}\\u{10ADE}-\\u{10AE0}\\u{10AEB}-\\u{10AEE}\\u{10B80}\\u{10B82}\\u{10B86}-\\u{10B88}\\u{10B8A}\\u{10B8B}\\u{10B8D}\\u{10B90}\\u{10BAD}\\u{10BAE}\\u{10D00}-\\u{10D21}\\u{10D23}\\u{10F30}-\\u{10F32}\\u{10F34}-\\u{10F44}\\u{10F51}-\\u{10F53}\\u{1E900}-\\u{1E943}][\\xAD\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u061C\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u070F\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08D3-\\u08E1\\u08E3-\\u0902\\u093A\\u093C\\u0941-\\u0948\\u094D\\u0951-\\u0957\\u0962\\u0963\\u0981\\u09BC\\u09C1-\\u09C4\\u09CD\\u09E2\\u09E3\\u09FE\\u0A01\\u0A02\\u0A3C\\u0A41\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81\\u0A82\\u0ABC\\u0AC1-\\u0AC5\\u0AC7\\u0AC8\\u0ACD\\u0AE2\\u0AE3\\u0AFA-\\u0AFF\\u0B01\\u0B3C\\u0B3F\\u0B41-\\u0B44\\u0B4D\\u0B56\\u0B62\\u0B63\\u0B82\\u0BC0\\u0BCD\\u0C00\\u0C04\\u0C3E-\\u0C40\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81\\u0CBC\\u0CBF\\u0CC6\\u0CCC\\u0CCD\\u0CE2\\u0CE3\\u0D00\\u0D01\\u0D3B\\u0D3C\\u0D41-\\u0D44\\u0D4D\\u0D62\\u0D63\\u0DCA\\u0DD2-\\u0DD4\\u0DD6\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F71-\\u0F7E\\u0F80-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102D-\\u1030\\u1032-\\u1037\\u1039\\u103A\\u103D\\u103E\\u1058\\u1059\\u105E-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108D\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4\\u17B5\\u17B7-\\u17BD\\u17C6\\u17C9-\\u17D3\\u17DD\\u180B-\\u180D\\u1885\\u1886\\u18A9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193B\\u1A17\\u1A18\\u1A1B\\u1A56\\u1A58-\\u1A5E\\u1A60\\u1A62\\u1A65-\\u1A6C\\u1A73-\\u1A7C\\u1A7F\\u1AB0-\\u1ABE\\u1B00-\\u1B03\\u1B34\\u1B36-\\u1B3A\\u1B3C\\u1B42\\u1B6B-\\u1B73\\u1B80\\u1B81\\u1BA2-\\u1BA5\\u1BA8\\u1BA9\\u1BAB-\\u1BAD\\u1BE6\\u1BE8\\u1BE9\\u1BED\\u1BEF-\\u1BF1\\u1C2C-\\u1C33\\u1C36\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE0\\u1CE2-\\u1CE8\\u1CED\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DF9\\u1DFB-\\u1DFF\\u200B\\u200E\\u200F\\u202A-\\u202E\\u2060-\\u2064\\u206A-\\u206F\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302D\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA825\\uA826\\uA8C4\\uA8C5\\uA8E0-\\uA8F1\\uA8FF\\uA926-\\uA92D\\uA947-\\uA951\\uA980-\\uA982\\uA9B3\\uA9B6-\\uA9B9\\uA9BC\\uA9BD\\uA9E5\\uAA29-\\uAA2E\\uAA31\\uAA32\\uAA35\\uAA36\\uAA43\\uAA4C\\uAA7C\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEC\\uAAED\\uAAF6\\uABE5\\uABE8\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFEFF\\uFFF9-\\uFFFB\\u{101FD}\\u{102E0}\\u{10376}-\\u{1037A}\\u{10A01}-\\u{10A03}\\u{10A05}\\u{10A06}\\u{10A0C}-\\u{10A0F}\\u{10A38}-\\u{10A3A}\\u{10A3F}\\u{10AE5}\\u{10AE6}\\u{10D24}-\\u{10D27}\\u{10F46}-\\u{10F50}\\u{11001}\\u{11038}-\\u{11046}\\u{1107F}-\\u{11081}\\u{110B3}-\\u{110B6}\\u{110B9}\\u{110BA}\\u{11100}-\\u{11102}\\u{11127}-\\u{1112B}\\u{1112D}-\\u{11134}\\u{11173}\\u{11180}\\u{11181}\\u{111B6}-\\u{111BE}\\u{111C9}-\\u{111CC}\\u{1122F}-\\u{11231}\\u{11234}\\u{11236}\\u{11237}\\u{1123E}\\u{112DF}\\u{112E3}-\\u{112EA}\\u{11300}\\u{11301}\\u{1133B}\\u{1133C}\\u{11340}\\u{11366}-\\u{1136C}\\u{11370}-\\u{11374}\\u{11438}-\\u{1143F}\\u{11442}-\\u{11444}\\u{11446}\\u{1145E}\\u{114B3}-\\u{114B8}\\u{114BA}\\u{114BF}\\u{114C0}\\u{114C2}\\u{114C3}\\u{115B2}-\\u{115B5}\\u{115BC}\\u{115BD}\\u{115BF}\\u{115C0}\\u{115DC}\\u{115DD}\\u{11633}-\\u{1163A}\\u{1163D}\\u{1163F}\\u{11640}\\u{116AB}\\u{116AD}\\u{116B0}-\\u{116B5}\\u{116B7}\\u{1171D}-\\u{1171F}\\u{11722}-\\u{11725}\\u{11727}-\\u{1172B}\\u{1182F}-\\u{11837}\\u{11839}\\u{1183A}\\u{119D4}-\\u{119D7}\\u{119DA}\\u{119DB}\\u{119E0}\\u{11A01}-\\u{11A0A}\\u{11A33}-\\u{11A38}\\u{11A3B}-\\u{11A3E}\\u{11A47}\\u{11A51}-\\u{11A56}\\u{11A59}-\\u{11A5B}\\u{11A8A}-\\u{11A96}\\u{11A98}\\u{11A99}\\u{11C30}-\\u{11C36}\\u{11C38}-\\u{11C3D}\\u{11C3F}\\u{11C92}-\\u{11CA7}\\u{11CAA}-\\u{11CB0}\\u{11CB2}\\u{11CB3}\\u{11CB5}\\u{11CB6}\\u{11D31}-\\u{11D36}\\u{11D3A}\\u{11D3C}\\u{11D3D}\\u{11D3F}-\\u{11D45}\\u{11D47}\\u{11D90}\\u{11D91}\\u{11D95}\\u{11D97}\\u{11EF3}\\u{11EF4}\\u{13430}-\\u{13438}\\u{16AF0}-\\u{16AF4}\\u{16B30}-\\u{16B36}\\u{16F4F}\\u{16F8F}-\\u{16F92}\\u{1BC9D}\\u{1BC9E}\\u{1BCA0}-\\u{1BCA3}\\u{1D167}-\\u{1D169}\\u{1D173}-\\u{1D182}\\u{1D185}-\\u{1D18B}\\u{1D1AA}-\\u{1D1AD}\\u{1D242}-\\u{1D244}\\u{1DA00}-\\u{1DA36}\\u{1DA3B}-\\u{1DA6C}\\u{1DA75}\\u{1DA84}\\u{1DA9B}-\\u{1DA9F}\\u{1DAA1}-\\u{1DAAF}\\u{1E000}-\\u{1E006}\\u{1E008}-\\u{1E018}\\u{1E01B}-\\u{1E021}\\u{1E023}\\u{1E024}\\u{1E026}-\\u{1E02A}\\u{1E130}-\\u{1E136}\\u{1E2EC}-\\u{1E2EF}\\u{1E8D0}-\\u{1E8D6}\\u{1E944}-\\u{1E94B}\\u{E0001}\\u{E0020}-\\u{E007F}\\u{E0100}-\\u{E01EF}]*\\u200C[\\xAD\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u061C\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u070F\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08D3-\\u08E1\\u08E3-\\u0902\\u093A\\u093C\\u0941-\\u0948\\u094D\\u0951-\\u0957\\u0962\\u0963\\u0981\\u09BC\\u09C1-\\u09C4\\u09CD\\u09E2\\u09E3\\u09FE\\u0A01\\u0A02\\u0A3C\\u0A41\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81\\u0A82\\u0ABC\\u0AC1-\\u0AC5\\u0AC7\\u0AC8\\u0ACD\\u0AE2\\u0AE3\\u0AFA-\\u0AFF\\u0B01\\u0B3C\\u0B3F\\u0B41-\\u0B44\\u0B4D\\u0B56\\u0B62\\u0B63\\u0B82\\u0BC0\\u0BCD\\u0C00\\u0C04\\u0C3E-\\u0C40\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81\\u0CBC\\u0CBF\\u0CC6\\u0CCC\\u0CCD\\u0CE2\\u0CE3\\u0D00\\u0D01\\u0D3B\\u0D3C\\u0D41-\\u0D44\\u0D4D\\u0D62\\u0D63\\u0DCA\\u0DD2-\\u0DD4\\u0DD6\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F71-\\u0F7E\\u0F80-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102D-\\u1030\\u1032-\\u1037\\u1039\\u103A\\u103D\\u103E\\u1058\\u1059\\u105E-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108D\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4\\u17B5\\u17B7-\\u17BD\\u17C6\\u17C9-\\u17D3\\u17DD\\u180B-\\u180D\\u1885\\u1886\\u18A9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193B\\u1A17\\u1A18\\u1A1B\\u1A56\\u1A58-\\u1A5E\\u1A60\\u1A62\\u1A65-\\u1A6C\\u1A73-\\u1A7C\\u1A7F\\u1AB0-\\u1ABE\\u1B00-\\u1B03\\u1B34\\u1B36-\\u1B3A\\u1B3C\\u1B42\\u1B6B-\\u1B73\\u1B80\\u1B81\\u1BA2-\\u1BA5\\u1BA8\\u1BA9\\u1BAB-\\u1BAD\\u1BE6\\u1BE8\\u1BE9\\u1BED\\u1BEF-\\u1BF1\\u1C2C-\\u1C33\\u1C36\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE0\\u1CE2-\\u1CE8\\u1CED\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DF9\\u1DFB-\\u1DFF\\u200B\\u200E\\u200F\\u202A-\\u202E\\u2060-\\u2064\\u206A-\\u206F\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302D\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA825\\uA826\\uA8C4\\uA8C5\\uA8E0-\\uA8F1\\uA8FF\\uA926-\\uA92D\\uA947-\\uA951\\uA980-\\uA982\\uA9B3\\uA9B6-\\uA9B9\\uA9BC\\uA9BD\\uA9E5\\uAA29-\\uAA2E\\uAA31\\uAA32\\uAA35\\uAA36\\uAA43\\uAA4C\\uAA7C\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEC\\uAAED\\uAAF6\\uABE5\\uABE8\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFEFF\\uFFF9-\\uFFFB\\u{101FD}\\u{102E0}\\u{10376}-\\u{1037A}\\u{10A01}-\\u{10A03}\\u{10A05}\\u{10A06}\\u{10A0C}-\\u{10A0F}\\u{10A38}-\\u{10A3A}\\u{10A3F}\\u{10AE5}\\u{10AE6}\\u{10D24}-\\u{10D27}\\u{10F46}-\\u{10F50}\\u{11001}\\u{11038}-\\u{11046}\\u{1107F}-\\u{11081}\\u{110B3}-\\u{110B6}\\u{110B9}\\u{110BA}\\u{11100}-\\u{11102}\\u{11127}-\\u{1112B}\\u{1112D}-\\u{11134}\\u{11173}\\u{11180}\\u{11181}\\u{111B6}-\\u{111BE}\\u{111C9}-\\u{111CC}\\u{1122F}-\\u{11231}\\u{11234}\\u{11236}\\u{11237}\\u{1123E}\\u{112DF}\\u{112E3}-\\u{112EA}\\u{11300}\\u{11301}\\u{1133B}\\u{1133C}\\u{11340}\\u{11366}-\\u{1136C}\\u{11370}-\\u{11374}\\u{11438}-\\u{1143F}\\u{11442}-\\u{11444}\\u{11446}\\u{1145E}\\u{114B3}-\\u{114B8}\\u{114BA}\\u{114BF}\\u{114C0}\\u{114C2}\\u{114C3}\\u{115B2}-\\u{115B5}\\u{115BC}\\u{115BD}\\u{115BF}\\u{115C0}\\u{115DC}\\u{115DD}\\u{11633}-\\u{1163A}\\u{1163D}\\u{1163F}\\u{11640}\\u{116AB}\\u{116AD}\\u{116B0}-\\u{116B5}\\u{116B7}\\u{1171D}-\\u{1171F}\\u{11722}-\\u{11725}\\u{11727}-\\u{1172B}\\u{1182F}-\\u{11837}\\u{11839}\\u{1183A}\\u{119D4}-\\u{119D7}\\u{119DA}\\u{119DB}\\u{119E0}\\u{11A01}-\\u{11A0A}\\u{11A33}-\\u{11A38}\\u{11A3B}-\\u{11A3E}\\u{11A47}\\u{11A51}-\\u{11A56}\\u{11A59}-\\u{11A5B}\\u{11A8A}-\\u{11A96}\\u{11A98}\\u{11A99}\\u{11C30}-\\u{11C36}\\u{11C38}-\\u{11C3D}\\u{11C3F}\\u{11C92}-\\u{11CA7}\\u{11CAA}-\\u{11CB0}\\u{11CB2}\\u{11CB3}\\u{11CB5}\\u{11CB6}\\u{11D31}-\\u{11D36}\\u{11D3A}\\u{11D3C}\\u{11D3D}\\u{11D3F}-\\u{11D45}\\u{11D47}\\u{11D90}\\u{11D91}\\u{11D95}\\u{11D97}\\u{11EF3}\\u{11EF4}\\u{13430}-\\u{13438}\\u{16AF0}-\\u{16AF4}\\u{16B30}-\\u{16B36}\\u{16F4F}\\u{16F8F}-\\u{16F92}\\u{1BC9D}\\u{1BC9E}\\u{1BCA0}-\\u{1BCA3}\\u{1D167}-\\u{1D169}\\u{1D173}-\\u{1D182}\\u{1D185}-\\u{1D18B}\\u{1D1AA}-\\u{1D1AD}\\u{1D242}-\\u{1D244}\\u{1DA00}-\\u{1DA36}\\u{1DA3B}-\\u{1DA6C}\\u{1DA75}\\u{1DA84}\\u{1DA9B}-\\u{1DA9F}\\u{1DAA1}-\\u{1DAAF}\\u{1E000}-\\u{1E006}\\u{1E008}-\\u{1E018}\\u{1E01B}-\\u{1E021}\\u{1E023}\\u{1E024}\\u{1E026}-\\u{1E02A}\\u{1E130}-\\u{1E136}\\u{1E2EC}-\\u{1E2EF}\\u{1E8D0}-\\u{1E8D6}\\u{1E944}-\\u{1E94B}\\u{E0001}\\u{E0020}-\\u{E007F}\\u{E0100}-\\u{E01EF}]*[\\u0620\\u0622-\\u063F\\u0641-\\u064A\\u066E\\u066F\\u0671-\\u0673\\u0675-\\u06D3\\u06D5\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u077F\\u07CA-\\u07EA\\u0840-\\u0855\\u0860\\u0862-\\u0865\\u0867-\\u086A\\u08A0-\\u08AC\\u08AE-\\u08B4\\u08B6-\\u08BD\\u1807\\u1820-\\u1878\\u1887-\\u18A8\\u18AA\\uA840-\\uA871\\u{10AC0}-\\u{10AC5}\\u{10AC7}\\u{10AC9}\\u{10ACA}\\u{10ACE}-\\u{10AD6}\\u{10AD8}-\\u{10AE1}\\u{10AE4}\\u{10AEB}-\\u{10AEF}\\u{10B80}-\\u{10B91}\\u{10BA9}-\\u{10BAE}\\u{10D01}-\\u{10D23}\\u{10F30}-\\u{10F44}\\u{10F51}-\\u{10F54}\\u{1E900}-\\u{1E943}]/u;\nconst bidiDomain = /[\\u05BE\\u05C0\\u05C3\\u05C6\\u05D0-\\u05EA\\u05EF-\\u05F4\\u0600-\\u0605\\u0608\\u060B\\u060D\\u061B-\\u064A\\u0660-\\u0669\\u066B-\\u066F\\u0671-\\u06D5\\u06DD\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u070D\\u070F\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07C0-\\u07EA\\u07F4\\u07F5\\u07FA\\u07FE-\\u0815\\u081A\\u0824\\u0828\\u0830-\\u083E\\u0840-\\u0858\\u085E\\u0860-\\u086A\\u0870-\\u088E\\u0890\\u0891\\u08A0-\\u08C9\\u08E2\\u200F\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBC2\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFC\\uFE70-\\uFE74\\uFE76-\\uFEFC\\u{10800}-\\u{10805}\\u{10808}\\u{1080A}-\\u{10835}\\u{10837}\\u{10838}\\u{1083C}\\u{1083F}-\\u{10855}\\u{10857}-\\u{1089E}\\u{108A7}-\\u{108AF}\\u{108E0}-\\u{108F2}\\u{108F4}\\u{108F5}\\u{108FB}-\\u{1091B}\\u{10920}-\\u{10939}\\u{1093F}\\u{10980}-\\u{109B7}\\u{109BC}-\\u{109CF}\\u{109D2}-\\u{10A00}\\u{10A10}-\\u{10A13}\\u{10A15}-\\u{10A17}\\u{10A19}-\\u{10A35}\\u{10A40}-\\u{10A48}\\u{10A50}-\\u{10A58}\\u{10A60}-\\u{10A9F}\\u{10AC0}-\\u{10AE4}\\u{10AEB}-\\u{10AF6}\\u{10B00}-\\u{10B35}\\u{10B40}-\\u{10B55}\\u{10B58}-\\u{10B72}\\u{10B78}-\\u{10B91}\\u{10B99}-\\u{10B9C}\\u{10BA9}-\\u{10BAF}\\u{10C00}-\\u{10C48}\\u{10C80}-\\u{10CB2}\\u{10CC0}-\\u{10CF2}\\u{10CFA}-\\u{10D23}\\u{10D30}-\\u{10D39}\\u{10E60}-\\u{10E7E}\\u{10E80}-\\u{10EA9}\\u{10EAD}\\u{10EB0}\\u{10EB1}\\u{10F00}-\\u{10F27}\\u{10F30}-\\u{10F45}\\u{10F51}-\\u{10F59}\\u{10F70}-\\u{10F81}\\u{10F86}-\\u{10F89}\\u{10FB0}-\\u{10FCB}\\u{10FE0}-\\u{10FF6}\\u{1E800}-\\u{1E8C4}\\u{1E8C7}-\\u{1E8CF}\\u{1E900}-\\u{1E943}\\u{1E94B}\\u{1E950}-\\u{1E959}\\u{1E95E}\\u{1E95F}\\u{1EC71}-\\u{1ECB4}\\u{1ED01}-\\u{1ED3D}\\u{1EE00}-\\u{1EE03}\\u{1EE05}-\\u{1EE1F}\\u{1EE21}\\u{1EE22}\\u{1EE24}\\u{1EE27}\\u{1EE29}-\\u{1EE32}\\u{1EE34}-\\u{1EE37}\\u{1EE39}\\u{1EE3B}\\u{1EE42}\\u{1EE47}\\u{1EE49}\\u{1EE4B}\\u{1EE4D}-\\u{1EE4F}\\u{1EE51}\\u{1EE52}\\u{1EE54}\\u{1EE57}\\u{1EE59}\\u{1EE5B}\\u{1EE5D}\\u{1EE5F}\\u{1EE61}\\u{1EE62}\\u{1EE64}\\u{1EE67}-\\u{1EE6A}\\u{1EE6C}-\\u{1EE72}\\u{1EE74}-\\u{1EE77}\\u{1EE79}-\\u{1EE7C}\\u{1EE7E}\\u{1EE80}-\\u{1EE89}\\u{1EE8B}-\\u{1EE9B}\\u{1EEA1}-\\u{1EEA3}\\u{1EEA5}-\\u{1EEA9}\\u{1EEAB}-\\u{1EEBB}]/u;\nconst bidiS1LTR = /[A-Za-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02B8\\u02BB-\\u02C1\\u02D0\\u02D1\\u02E0-\\u02E4\\u02EE\\u0370-\\u0373\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0482\\u048A-\\u052F\\u0531-\\u0556\\u0559-\\u0589\\u0903-\\u0939\\u093B\\u093D-\\u0940\\u0949-\\u094C\\u094E-\\u0950\\u0958-\\u0961\\u0964-\\u0980\\u0982\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD-\\u09C0\\u09C7\\u09C8\\u09CB\\u09CC\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E1\\u09E6-\\u09F1\\u09F4-\\u09FA\\u09FC\\u09FD\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3E-\\u0A40\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A6F\\u0A72-\\u0A74\\u0A76\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD-\\u0AC0\\u0AC9\\u0ACB\\u0ACC\\u0AD0\\u0AE0\\u0AE1\\u0AE6-\\u0AF0\\u0AF9\\u0B02\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B3E\\u0B40\\u0B47\\u0B48\\u0B4B\\u0B4C\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B66-\\u0B77\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE\\u0BBF\\u0BC1\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCC\\u0BD0\\u0BD7\\u0BE6-\\u0BF2\\u0C01-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C41-\\u0C44\\u0C58-\\u0C5A\\u0C5D\\u0C60\\u0C61\\u0C66-\\u0C6F\\u0C77\\u0C7F\\u0C80\\u0C82-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA\\u0CCB\\u0CD5\\u0CD6\\u0CDD\\u0CDE\\u0CE0\\u0CE1\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D02-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D40\\u0D46-\\u0D48\\u0D4A-\\u0D4C\\u0D4E\\u0D4F\\u0D54-\\u0D61\\u0D66-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCF-\\u0DD1\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2-\\u0DF4\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E4F-\\u0E5B\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00-\\u0F17\\u0F1A-\\u0F34\\u0F36\\u0F38\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F7F\\u0F85\\u0F88-\\u0F8C\\u0FBE-\\u0FC5\\u0FC7-\\u0FCC\\u0FCE-\\u0FDA\\u1000-\\u102C\\u1031\\u1038\\u103B\\u103C\\u103F-\\u1057\\u105A-\\u105D\\u1061-\\u1070\\u1075-\\u1081\\u1083\\u1084\\u1087-\\u108C\\u108E-\\u109C\\u109E-\\u10C5\\u10C7\\u10CD\\u10D0-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1360-\\u137C\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u167F\\u1681-\\u169A\\u16A0-\\u16F8\\u1700-\\u1711\\u1715\\u171F-\\u1731\\u1734-\\u1736\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17B6\\u17BE-\\u17C5\\u17C7\\u17C8\\u17D4-\\u17DA\\u17DC\\u17E0-\\u17E9\\u1810-\\u1819\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1923-\\u1926\\u1929-\\u192B\\u1930\\u1931\\u1933-\\u1938\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A16\\u1A19\\u1A1A\\u1A1E-\\u1A55\\u1A57\\u1A61\\u1A63\\u1A64\\u1A6D-\\u1A72\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1AA0-\\u1AAD\\u1B04-\\u1B33\\u1B35\\u1B3B\\u1B3D-\\u1B41\\u1B43-\\u1B4C\\u1B50-\\u1B6A\\u1B74-\\u1B7E\\u1B82-\\u1BA1\\u1BA6\\u1BA7\\u1BAA\\u1BAE-\\u1BE5\\u1BE7\\u1BEA-\\u1BEC\\u1BEE\\u1BF2\\u1BF3\\u1BFC-\\u1C2B\\u1C34\\u1C35\\u1C3B-\\u1C49\\u1C4D-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CC7\\u1CD3\\u1CE1\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5-\\u1CF7\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200E\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u214F\\u2160-\\u2188\\u2336-\\u237A\\u2395\\u249C-\\u24E9\\u26AC\\u2800-\\u28FF\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D70\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u302E\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u3190-\\u31BF\\u31F0-\\u321C\\u3220-\\u324F\\u3260-\\u327B\\u327F-\\u32B0\\u32C0-\\u32CB\\u32D0-\\u3376\\u337B-\\u33DD\\u33E0-\\u33FE\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66E\\uA680-\\uA69D\\uA6A0-\\uA6EF\\uA6F2-\\uA6F7\\uA722-\\uA787\\uA789-\\uA7CA\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7D9\\uA7F2-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA824\\uA827\\uA830-\\uA837\\uA840-\\uA873\\uA880-\\uA8C3\\uA8CE-\\uA8D9\\uA8F2-\\uA8FE\\uA900-\\uA925\\uA92E-\\uA946\\uA952\\uA953\\uA95F-\\uA97C\\uA983-\\uA9B2\\uA9B4\\uA9B5\\uA9BA\\uA9BB\\uA9BE-\\uA9CD\\uA9CF-\\uA9D9\\uA9DE-\\uA9E4\\uA9E6-\\uA9FE\\uAA00-\\uAA28\\uAA2F\\uAA30\\uAA33\\uAA34\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA4D\\uAA50-\\uAA59\\uAA5C-\\uAA7B\\uAA7D-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAAEB\\uAAEE-\\uAAF5\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB69\\uAB70-\\uABE4\\uABE6\\uABE7\\uABE9-\\uABEC\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uD800-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC\\u{10000}-\\u{1000B}\\u{1000D}-\\u{10026}\\u{10028}-\\u{1003A}\\u{1003C}\\u{1003D}\\u{1003F}-\\u{1004D}\\u{10050}-\\u{1005D}\\u{10080}-\\u{100FA}\\u{10100}\\u{10102}\\u{10107}-\\u{10133}\\u{10137}-\\u{1013F}\\u{1018D}\\u{1018E}\\u{101D0}-\\u{101FC}\\u{10280}-\\u{1029C}\\u{102A0}-\\u{102D0}\\u{10300}-\\u{10323}\\u{1032D}-\\u{1034A}\\u{10350}-\\u{10375}\\u{10380}-\\u{1039D}\\u{1039F}-\\u{103C3}\\u{103C8}-\\u{103D5}\\u{10400}-\\u{1049D}\\u{104A0}-\\u{104A9}\\u{104B0}-\\u{104D3}\\u{104D8}-\\u{104FB}\\u{10500}-\\u{10527}\\u{10530}-\\u{10563}\\u{1056F}-\\u{1057A}\\u{1057C}-\\u{1058A}\\u{1058C}-\\u{10592}\\u{10594}\\u{10595}\\u{10597}-\\u{105A1}\\u{105A3}-\\u{105B1}\\u{105B3}-\\u{105B9}\\u{105BB}\\u{105BC}\\u{10600}-\\u{10736}\\u{10740}-\\u{10755}\\u{10760}-\\u{10767}\\u{10780}-\\u{10785}\\u{10787}-\\u{107B0}\\u{107B2}-\\u{107BA}\\u{11000}\\u{11002}-\\u{11037}\\u{11047}-\\u{1104D}\\u{11066}-\\u{1106F}\\u{11071}\\u{11072}\\u{11075}\\u{11082}-\\u{110B2}\\u{110B7}\\u{110B8}\\u{110BB}-\\u{110C1}\\u{110CD}\\u{110D0}-\\u{110E8}\\u{110F0}-\\u{110F9}\\u{11103}-\\u{11126}\\u{1112C}\\u{11136}-\\u{11147}\\u{11150}-\\u{11172}\\u{11174}-\\u{11176}\\u{11182}-\\u{111B5}\\u{111BF}-\\u{111C8}\\u{111CD}\\u{111CE}\\u{111D0}-\\u{111DF}\\u{111E1}-\\u{111F4}\\u{11200}-\\u{11211}\\u{11213}-\\u{1122E}\\u{11232}\\u{11233}\\u{11235}\\u{11238}-\\u{1123D}\\u{11280}-\\u{11286}\\u{11288}\\u{1128A}-\\u{1128D}\\u{1128F}-\\u{1129D}\\u{1129F}-\\u{112A9}\\u{112B0}-\\u{112DE}\\u{112E0}-\\u{112E2}\\u{112F0}-\\u{112F9}\\u{11302}\\u{11303}\\u{11305}-\\u{1130C}\\u{1130F}\\u{11310}\\u{11313}-\\u{11328}\\u{1132A}-\\u{11330}\\u{11332}\\u{11333}\\u{11335}-\\u{11339}\\u{1133D}-\\u{1133F}\\u{11341}-\\u{11344}\\u{11347}\\u{11348}\\u{1134B}-\\u{1134D}\\u{11350}\\u{11357}\\u{1135D}-\\u{11363}\\u{11400}-\\u{11437}\\u{11440}\\u{11441}\\u{11445}\\u{11447}-\\u{1145B}\\u{1145D}\\u{1145F}-\\u{11461}\\u{11480}-\\u{114B2}\\u{114B9}\\u{114BB}-\\u{114BE}\\u{114C1}\\u{114C4}-\\u{114C7}\\u{114D0}-\\u{114D9}\\u{11580}-\\u{115B1}\\u{115B8}-\\u{115BB}\\u{115BE}\\u{115C1}-\\u{115DB}\\u{11600}-\\u{11632}\\u{1163B}\\u{1163C}\\u{1163E}\\u{11641}-\\u{11644}\\u{11650}-\\u{11659}\\u{11680}-\\u{116AA}\\u{116AC}\\u{116AE}\\u{116AF}\\u{116B6}\\u{116B8}\\u{116B9}\\u{116C0}-\\u{116C9}\\u{11700}-\\u{1171A}\\u{11720}\\u{11721}\\u{11726}\\u{11730}-\\u{11746}\\u{11800}-\\u{1182E}\\u{11838}\\u{1183B}\\u{118A0}-\\u{118F2}\\u{118FF}-\\u{11906}\\u{11909}\\u{1190C}-\\u{11913}\\u{11915}\\u{11916}\\u{11918}-\\u{11935}\\u{11937}\\u{11938}\\u{1193D}\\u{1193F}-\\u{11942}\\u{11944}-\\u{11946}\\u{11950}-\\u{11959}\\u{119A0}-\\u{119A7}\\u{119AA}-\\u{119D3}\\u{119DC}-\\u{119DF}\\u{119E1}-\\u{119E4}\\u{11A00}\\u{11A07}\\u{11A08}\\u{11A0B}-\\u{11A32}\\u{11A39}\\u{11A3A}\\u{11A3F}-\\u{11A46}\\u{11A50}\\u{11A57}\\u{11A58}\\u{11A5C}-\\u{11A89}\\u{11A97}\\u{11A9A}-\\u{11AA2}\\u{11AB0}-\\u{11AF8}\\u{11C00}-\\u{11C08}\\u{11C0A}-\\u{11C2F}\\u{11C3E}-\\u{11C45}\\u{11C50}-\\u{11C6C}\\u{11C70}-\\u{11C8F}\\u{11CA9}\\u{11CB1}\\u{11CB4}\\u{11D00}-\\u{11D06}\\u{11D08}\\u{11D09}\\u{11D0B}-\\u{11D30}\\u{11D46}\\u{11D50}-\\u{11D59}\\u{11D60}-\\u{11D65}\\u{11D67}\\u{11D68}\\u{11D6A}-\\u{11D8E}\\u{11D93}\\u{11D94}\\u{11D96}\\u{11D98}\\u{11DA0}-\\u{11DA9}\\u{11EE0}-\\u{11EF2}\\u{11EF5}-\\u{11EF8}\\u{11FB0}\\u{11FC0}-\\u{11FD4}\\u{11FFF}-\\u{12399}\\u{12400}-\\u{1246E}\\u{12470}-\\u{12474}\\u{12480}-\\u{12543}\\u{12F90}-\\u{12FF2}\\u{13000}-\\u{1342E}\\u{13430}-\\u{13438}\\u{14400}-\\u{14646}\\u{16800}-\\u{16A38}\\u{16A40}-\\u{16A5E}\\u{16A60}-\\u{16A69}\\u{16A6E}-\\u{16ABE}\\u{16AC0}-\\u{16AC9}\\u{16AD0}-\\u{16AED}\\u{16AF5}\\u{16B00}-\\u{16B2F}\\u{16B37}-\\u{16B45}\\u{16B50}-\\u{16B59}\\u{16B5B}-\\u{16B61}\\u{16B63}-\\u{16B77}\\u{16B7D}-\\u{16B8F}\\u{16E40}-\\u{16E9A}\\u{16F00}-\\u{16F4A}\\u{16F50}-\\u{16F87}\\u{16F93}-\\u{16F9F}\\u{16FE0}\\u{16FE1}\\u{16FE3}\\u{16FF0}\\u{16FF1}\\u{17000}-\\u{187F7}\\u{18800}-\\u{18CD5}\\u{18D00}-\\u{18D08}\\u{1AFF0}-\\u{1AFF3}\\u{1AFF5}-\\u{1AFFB}\\u{1AFFD}\\u{1AFFE}\\u{1B000}-\\u{1B122}\\u{1B150}-\\u{1B152}\\u{1B164}-\\u{1B167}\\u{1B170}-\\u{1B2FB}\\u{1BC00}-\\u{1BC6A}\\u{1BC70}-\\u{1BC7C}\\u{1BC80}-\\u{1BC88}\\u{1BC90}-\\u{1BC99}\\u{1BC9C}\\u{1BC9F}\\u{1CF50}-\\u{1CFC3}\\u{1D000}-\\u{1D0F5}\\u{1D100}-\\u{1D126}\\u{1D129}-\\u{1D166}\\u{1D16A}-\\u{1D172}\\u{1D183}\\u{1D184}\\u{1D18C}-\\u{1D1A9}\\u{1D1AE}-\\u{1D1E8}\\u{1D2E0}-\\u{1D2F3}\\u{1D360}-\\u{1D378}\\u{1D400}-\\u{1D454}\\u{1D456}-\\u{1D49C}\\u{1D49E}\\u{1D49F}\\u{1D4A2}\\u{1D4A5}\\u{1D4A6}\\u{1D4A9}-\\u{1D4AC}\\u{1D4AE}-\\u{1D4B9}\\u{1D4BB}\\u{1D4BD}-\\u{1D4C3}\\u{1D4C5}-\\u{1D505}\\u{1D507}-\\u{1D50A}\\u{1D50D}-\\u{1D514}\\u{1D516}-\\u{1D51C}\\u{1D51E}-\\u{1D539}\\u{1D53B}-\\u{1D53E}\\u{1D540}-\\u{1D544}\\u{1D546}\\u{1D54A}-\\u{1D550}\\u{1D552}-\\u{1D6A5}\\u{1D6A8}-\\u{1D6DA}\\u{1D6DC}-\\u{1D714}\\u{1D716}-\\u{1D74E}\\u{1D750}-\\u{1D788}\\u{1D78A}-\\u{1D7C2}\\u{1D7C4}-\\u{1D7CB}\\u{1D800}-\\u{1D9FF}\\u{1DA37}-\\u{1DA3A}\\u{1DA6D}-\\u{1DA74}\\u{1DA76}-\\u{1DA83}\\u{1DA85}-\\u{1DA8B}\\u{1DF00}-\\u{1DF1E}\\u{1E100}-\\u{1E12C}\\u{1E137}-\\u{1E13D}\\u{1E140}-\\u{1E149}\\u{1E14E}\\u{1E14F}\\u{1E290}-\\u{1E2AD}\\u{1E2C0}-\\u{1E2EB}\\u{1E2F0}-\\u{1E2F9}\\u{1E7E0}-\\u{1E7E6}\\u{1E7E8}-\\u{1E7EB}\\u{1E7ED}\\u{1E7EE}\\u{1E7F0}-\\u{1E7FE}\\u{1F110}-\\u{1F12E}\\u{1F130}-\\u{1F169}\\u{1F170}-\\u{1F1AC}\\u{1F1E6}-\\u{1F202}\\u{1F210}-\\u{1F23B}\\u{1F240}-\\u{1F248}\\u{1F250}\\u{1F251}\\u{20000}-\\u{2A6DF}\\u{2A700}-\\u{2B738}\\u{2B740}-\\u{2B81D}\\u{2B820}-\\u{2CEA1}\\u{2CEB0}-\\u{2EBE0}\\u{2F800}-\\u{2FA1D}\\u{30000}-\\u{3134A}\\u{F0000}-\\u{FFFFD}\\u{100000}-\\u{10FFFD}]/u;\nconst bidiS1RTL = /[\\u05BE\\u05C0\\u05C3\\u05C6\\u05D0-\\u05EA\\u05EF-\\u05F4\\u0608\\u060B\\u060D\\u061B-\\u064A\\u066D-\\u066F\\u0671-\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u070D\\u070F\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07C0-\\u07EA\\u07F4\\u07F5\\u07FA\\u07FE-\\u0815\\u081A\\u0824\\u0828\\u0830-\\u083E\\u0840-\\u0858\\u085E\\u0860-\\u086A\\u0870-\\u088E\\u08A0-\\u08C9\\u200F\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBC2\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFC\\uFE70-\\uFE74\\uFE76-\\uFEFC\\u{10800}-\\u{10805}\\u{10808}\\u{1080A}-\\u{10835}\\u{10837}\\u{10838}\\u{1083C}\\u{1083F}-\\u{10855}\\u{10857}-\\u{1089E}\\u{108A7}-\\u{108AF}\\u{108E0}-\\u{108F2}\\u{108F4}\\u{108F5}\\u{108FB}-\\u{1091B}\\u{10920}-\\u{10939}\\u{1093F}\\u{10980}-\\u{109B7}\\u{109BC}-\\u{109CF}\\u{109D2}-\\u{10A00}\\u{10A10}-\\u{10A13}\\u{10A15}-\\u{10A17}\\u{10A19}-\\u{10A35}\\u{10A40}-\\u{10A48}\\u{10A50}-\\u{10A58}\\u{10A60}-\\u{10A9F}\\u{10AC0}-\\u{10AE4}\\u{10AEB}-\\u{10AF6}\\u{10B00}-\\u{10B35}\\u{10B40}-\\u{10B55}\\u{10B58}-\\u{10B72}\\u{10B78}-\\u{10B91}\\u{10B99}-\\u{10B9C}\\u{10BA9}-\\u{10BAF}\\u{10C00}-\\u{10C48}\\u{10C80}-\\u{10CB2}\\u{10CC0}-\\u{10CF2}\\u{10CFA}-\\u{10D23}\\u{10E80}-\\u{10EA9}\\u{10EAD}\\u{10EB0}\\u{10EB1}\\u{10F00}-\\u{10F27}\\u{10F30}-\\u{10F45}\\u{10F51}-\\u{10F59}\\u{10F70}-\\u{10F81}\\u{10F86}-\\u{10F89}\\u{10FB0}-\\u{10FCB}\\u{10FE0}-\\u{10FF6}\\u{1E800}-\\u{1E8C4}\\u{1E8C7}-\\u{1E8CF}\\u{1E900}-\\u{1E943}\\u{1E94B}\\u{1E950}-\\u{1E959}\\u{1E95E}\\u{1E95F}\\u{1EC71}-\\u{1ECB4}\\u{1ED01}-\\u{1ED3D}\\u{1EE00}-\\u{1EE03}\\u{1EE05}-\\u{1EE1F}\\u{1EE21}\\u{1EE22}\\u{1EE24}\\u{1EE27}\\u{1EE29}-\\u{1EE32}\\u{1EE34}-\\u{1EE37}\\u{1EE39}\\u{1EE3B}\\u{1EE42}\\u{1EE47}\\u{1EE49}\\u{1EE4B}\\u{1EE4D}-\\u{1EE4F}\\u{1EE51}\\u{1EE52}\\u{1EE54}\\u{1EE57}\\u{1EE59}\\u{1EE5B}\\u{1EE5D}\\u{1EE5F}\\u{1EE61}\\u{1EE62}\\u{1EE64}\\u{1EE67}-\\u{1EE6A}\\u{1EE6C}-\\u{1EE72}\\u{1EE74}-\\u{1EE77}\\u{1EE79}-\\u{1EE7C}\\u{1EE7E}\\u{1EE80}-\\u{1EE89}\\u{1EE8B}-\\u{1EE9B}\\u{1EEA1}-\\u{1EEA3}\\u{1EEA5}-\\u{1EEA9}\\u{1EEAB}-\\u{1EEBB}]/u;\nconst bidiS2 = /^[\\0-\\x08\\x0E-\\x1B!-@\\[-`\\{-\\x84\\x86-\\xA9\\xAB-\\xB4\\xB6-\\xB9\\xBB-\\xBF\\xD7\\xF7\\u02B9\\u02BA\\u02C2-\\u02CF\\u02D2-\\u02DF\\u02E5-\\u02ED\\u02EF-\\u036F\\u0374\\u0375\\u037E\\u0384\\u0385\\u0387\\u03F6\\u0483-\\u0489\\u058A\\u058D-\\u058F\\u0591-\\u05C7\\u05D0-\\u05EA\\u05EF-\\u05F4\\u0600-\\u070D\\u070F-\\u074A\\u074D-\\u07B1\\u07C0-\\u07FA\\u07FD-\\u082D\\u0830-\\u083E\\u0840-\\u085B\\u085E\\u0860-\\u086A\\u0870-\\u088E\\u0890\\u0891\\u0898-\\u0902\\u093A\\u093C\\u0941-\\u0948\\u094D\\u0951-\\u0957\\u0962\\u0963\\u0981\\u09BC\\u09C1-\\u09C4\\u09CD\\u09E2\\u09E3\\u09F2\\u09F3\\u09FB\\u09FE\\u0A01\\u0A02\\u0A3C\\u0A41\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81\\u0A82\\u0ABC\\u0AC1-\\u0AC5\\u0AC7\\u0AC8\\u0ACD\\u0AE2\\u0AE3\\u0AF1\\u0AFA-\\u0AFF\\u0B01\\u0B3C\\u0B3F\\u0B41-\\u0B44\\u0B4D\\u0B55\\u0B56\\u0B62\\u0B63\\u0B82\\u0BC0\\u0BCD\\u0BF3-\\u0BFA\\u0C00\\u0C04\\u0C3C\\u0C3E-\\u0C40\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C78-\\u0C7E\\u0C81\\u0CBC\\u0CCC\\u0CCD\\u0CE2\\u0CE3\\u0D00\\u0D01\\u0D3B\\u0D3C\\u0D41-\\u0D44\\u0D4D\\u0D62\\u0D63\\u0D81\\u0DCA\\u0DD2-\\u0DD4\\u0DD6\\u0E31\\u0E34-\\u0E3A\\u0E3F\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39-\\u0F3D\\u0F71-\\u0F7E\\u0F80-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102D-\\u1030\\u1032-\\u1037\\u1039\\u103A\\u103D\\u103E\\u1058\\u1059\\u105E-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108D\\u109D\\u135D-\\u135F\\u1390-\\u1399\\u1400\\u169B\\u169C\\u1712-\\u1714\\u1732\\u1733\\u1752\\u1753\\u1772\\u1773\\u17B4\\u17B5\\u17B7-\\u17BD\\u17C6\\u17C9-\\u17D3\\u17DB\\u17DD\\u17F0-\\u17F9\\u1800-\\u180F\\u1885\\u1886\\u18A9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193B\\u1940\\u1944\\u1945\\u19DE-\\u19FF\\u1A17\\u1A18\\u1A1B\\u1A56\\u1A58-\\u1A5E\\u1A60\\u1A62\\u1A65-\\u1A6C\\u1A73-\\u1A7C\\u1A7F\\u1AB0-\\u1ACE\\u1B00-\\u1B03\\u1B34\\u1B36-\\u1B3A\\u1B3C\\u1B42\\u1B6B-\\u1B73\\u1B80\\u1B81\\u1BA2-\\u1BA5\\u1BA8\\u1BA9\\u1BAB-\\u1BAD\\u1BE6\\u1BE8\\u1BE9\\u1BED\\u1BEF-\\u1BF1\\u1C2C-\\u1C33\\u1C36\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE0\\u1CE2-\\u1CE8\\u1CED\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DFF\\u1FBD\\u1FBF-\\u1FC1\\u1FCD-\\u1FCF\\u1FDD-\\u1FDF\\u1FED-\\u1FEF\\u1FFD\\u1FFE\\u200B-\\u200D\\u200F-\\u2027\\u202F-\\u205E\\u2060-\\u2064\\u206A-\\u2070\\u2074-\\u207E\\u2080-\\u208E\\u20A0-\\u20C0\\u20D0-\\u20F0\\u2100\\u2101\\u2103-\\u2106\\u2108\\u2109\\u2114\\u2116-\\u2118\\u211E-\\u2123\\u2125\\u2127\\u2129\\u212E\\u213A\\u213B\\u2140-\\u2144\\u214A-\\u214D\\u2150-\\u215F\\u2189-\\u218B\\u2190-\\u2335\\u237B-\\u2394\\u2396-\\u2426\\u2440-\\u244A\\u2460-\\u249B\\u24EA-\\u26AB\\u26AD-\\u27FF\\u2900-\\u2B73\\u2B76-\\u2B95\\u2B97-\\u2BFF\\u2CE5-\\u2CEA\\u2CEF-\\u2CF1\\u2CF9-\\u2CFF\\u2D7F\\u2DE0-\\u2E5D\\u2E80-\\u2E99\\u2E9B-\\u2EF3\\u2F00-\\u2FD5\\u2FF0-\\u2FFB\\u3001-\\u3004\\u3008-\\u3020\\u302A-\\u302D\\u3030\\u3036\\u3037\\u303D-\\u303F\\u3099-\\u309C\\u30A0\\u30FB\\u31C0-\\u31E3\\u321D\\u321E\\u3250-\\u325F\\u327C-\\u327E\\u32B1-\\u32BF\\u32CC-\\u32CF\\u3377-\\u337A\\u33DE\\u33DF\\u33FF\\u4DC0-\\u4DFF\\uA490-\\uA4C6\\uA60D-\\uA60F\\uA66F-\\uA67F\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA700-\\uA721\\uA788\\uA802\\uA806\\uA80B\\uA825\\uA826\\uA828-\\uA82C\\uA838\\uA839\\uA874-\\uA877\\uA8C4\\uA8C5\\uA8E0-\\uA8F1\\uA8FF\\uA926-\\uA92D\\uA947-\\uA951\\uA980-\\uA982\\uA9B3\\uA9B6-\\uA9B9\\uA9BC\\uA9BD\\uA9E5\\uAA29-\\uAA2E\\uAA31\\uAA32\\uAA35\\uAA36\\uAA43\\uAA4C\\uAA7C\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEC\\uAAED\\uAAF6\\uAB6A\\uAB6B\\uABE5\\uABE8\\uABED\\uFB1D-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBC2\\uFBD3-\\uFD8F\\uFD92-\\uFDC7\\uFDCF\\uFDF0-\\uFE19\\uFE20-\\uFE52\\uFE54-\\uFE66\\uFE68-\\uFE6B\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFEFF\\uFF01-\\uFF20\\uFF3B-\\uFF40\\uFF5B-\\uFF65\\uFFE0-\\uFFE6\\uFFE8-\\uFFEE\\uFFF9-\\uFFFD\\u{10101}\\u{10140}-\\u{1018C}\\u{10190}-\\u{1019C}\\u{101A0}\\u{101FD}\\u{102E0}-\\u{102FB}\\u{10376}-\\u{1037A}\\u{10800}-\\u{10805}\\u{10808}\\u{1080A}-\\u{10835}\\u{10837}\\u{10838}\\u{1083C}\\u{1083F}-\\u{10855}\\u{10857}-\\u{1089E}\\u{108A7}-\\u{108AF}\\u{108E0}-\\u{108F2}\\u{108F4}\\u{108F5}\\u{108FB}-\\u{1091B}\\u{1091F}-\\u{10939}\\u{1093F}\\u{10980}-\\u{109B7}\\u{109BC}-\\u{109CF}\\u{109D2}-\\u{10A03}\\u{10A05}\\u{10A06}\\u{10A0C}-\\u{10A13}\\u{10A15}-\\u{10A17}\\u{10A19}-\\u{10A35}\\u{10A38}-\\u{10A3A}\\u{10A3F}-\\u{10A48}\\u{10A50}-\\u{10A58}\\u{10A60}-\\u{10A9F}\\u{10AC0}-\\u{10AE6}\\u{10AEB}-\\u{10AF6}\\u{10B00}-\\u{10B35}\\u{10B39}-\\u{10B55}\\u{10B58}-\\u{10B72}\\u{10B78}-\\u{10B91}\\u{10B99}-\\u{10B9C}\\u{10BA9}-\\u{10BAF}\\u{10C00}-\\u{10C48}\\u{10C80}-\\u{10CB2}\\u{10CC0}-\\u{10CF2}\\u{10CFA}-\\u{10D27}\\u{10D30}-\\u{10D39}\\u{10E60}-\\u{10E7E}\\u{10E80}-\\u{10EA9}\\u{10EAB}-\\u{10EAD}\\u{10EB0}\\u{10EB1}\\u{10F00}-\\u{10F27}\\u{10F30}-\\u{10F59}\\u{10F70}-\\u{10F89}\\u{10FB0}-\\u{10FCB}\\u{10FE0}-\\u{10FF6}\\u{11001}\\u{11038}-\\u{11046}\\u{11052}-\\u{11065}\\u{11070}\\u{11073}\\u{11074}\\u{1107F}-\\u{11081}\\u{110B3}-\\u{110B6}\\u{110B9}\\u{110BA}\\u{110C2}\\u{11100}-\\u{11102}\\u{11127}-\\u{1112B}\\u{1112D}-\\u{11134}\\u{11173}\\u{11180}\\u{11181}\\u{111B6}-\\u{111BE}\\u{111C9}-\\u{111CC}\\u{111CF}\\u{1122F}-\\u{11231}\\u{11234}\\u{11236}\\u{11237}\\u{1123E}\\u{112DF}\\u{112E3}-\\u{112EA}\\u{11300}\\u{11301}\\u{1133B}\\u{1133C}\\u{11340}\\u{11366}-\\u{1136C}\\u{11370}-\\u{11374}\\u{11438}-\\u{1143F}\\u{11442}-\\u{11444}\\u{11446}\\u{1145E}\\u{114B3}-\\u{114B8}\\u{114BA}\\u{114BF}\\u{114C0}\\u{114C2}\\u{114C3}\\u{115B2}-\\u{115B5}\\u{115BC}\\u{115BD}\\u{115BF}\\u{115C0}\\u{115DC}\\u{115DD}\\u{11633}-\\u{1163A}\\u{1163D}\\u{1163F}\\u{11640}\\u{11660}-\\u{1166C}\\u{116AB}\\u{116AD}\\u{116B0}-\\u{116B5}\\u{116B7}\\u{1171D}-\\u{1171F}\\u{11722}-\\u{11725}\\u{11727}-\\u{1172B}\\u{1182F}-\\u{11837}\\u{11839}\\u{1183A}\\u{1193B}\\u{1193C}\\u{1193E}\\u{11943}\\u{119D4}-\\u{119D7}\\u{119DA}\\u{119DB}\\u{119E0}\\u{11A01}-\\u{11A06}\\u{11A09}\\u{11A0A}\\u{11A33}-\\u{11A38}\\u{11A3B}-\\u{11A3E}\\u{11A47}\\u{11A51}-\\u{11A56}\\u{11A59}-\\u{11A5B}\\u{11A8A}-\\u{11A96}\\u{11A98}\\u{11A99}\\u{11C30}-\\u{11C36}\\u{11C38}-\\u{11C3D}\\u{11C92}-\\u{11CA7}\\u{11CAA}-\\u{11CB0}\\u{11CB2}\\u{11CB3}\\u{11CB5}\\u{11CB6}\\u{11D31}-\\u{11D36}\\u{11D3A}\\u{11D3C}\\u{11D3D}\\u{11D3F}-\\u{11D45}\\u{11D47}\\u{11D90}\\u{11D91}\\u{11D95}\\u{11D97}\\u{11EF3}\\u{11EF4}\\u{11FD5}-\\u{11FF1}\\u{16AF0}-\\u{16AF4}\\u{16B30}-\\u{16B36}\\u{16F4F}\\u{16F8F}-\\u{16F92}\\u{16FE2}\\u{16FE4}\\u{1BC9D}\\u{1BC9E}\\u{1BCA0}-\\u{1BCA3}\\u{1CF00}-\\u{1CF2D}\\u{1CF30}-\\u{1CF46}\\u{1D167}-\\u{1D169}\\u{1D173}-\\u{1D182}\\u{1D185}-\\u{1D18B}\\u{1D1AA}-\\u{1D1AD}\\u{1D1E9}\\u{1D1EA}\\u{1D200}-\\u{1D245}\\u{1D300}-\\u{1D356}\\u{1D6DB}\\u{1D715}\\u{1D74F}\\u{1D789}\\u{1D7C3}\\u{1D7CE}-\\u{1D7FF}\\u{1DA00}-\\u{1DA36}\\u{1DA3B}-\\u{1DA6C}\\u{1DA75}\\u{1DA84}\\u{1DA9B}-\\u{1DA9F}\\u{1DAA1}-\\u{1DAAF}\\u{1E000}-\\u{1E006}\\u{1E008}-\\u{1E018}\\u{1E01B}-\\u{1E021}\\u{1E023}\\u{1E024}\\u{1E026}-\\u{1E02A}\\u{1E130}-\\u{1E136}\\u{1E2AE}\\u{1E2EC}-\\u{1E2EF}\\u{1E2FF}\\u{1E800}-\\u{1E8C4}\\u{1E8C7}-\\u{1E8D6}\\u{1E900}-\\u{1E94B}\\u{1E950}-\\u{1E959}\\u{1E95E}\\u{1E95F}\\u{1EC71}-\\u{1ECB4}\\u{1ED01}-\\u{1ED3D}\\u{1EE00}-\\u{1EE03}\\u{1EE05}-\\u{1EE1F}\\u{1EE21}\\u{1EE22}\\u{1EE24}\\u{1EE27}\\u{1EE29}-\\u{1EE32}\\u{1EE34}-\\u{1EE37}\\u{1EE39}\\u{1EE3B}\\u{1EE42}\\u{1EE47}\\u{1EE49}\\u{1EE4B}\\u{1EE4D}-\\u{1EE4F}\\u{1EE51}\\u{1EE52}\\u{1EE54}\\u{1EE57}\\u{1EE59}\\u{1EE5B}\\u{1EE5D}\\u{1EE5F}\\u{1EE61}\\u{1EE62}\\u{1EE64}\\u{1EE67}-\\u{1EE6A}\\u{1EE6C}-\\u{1EE72}\\u{1EE74}-\\u{1EE77}\\u{1EE79}-\\u{1EE7C}\\u{1EE7E}\\u{1EE80}-\\u{1EE89}\\u{1EE8B}-\\u{1EE9B}\\u{1EEA1}-\\u{1EEA3}\\u{1EEA5}-\\u{1EEA9}\\u{1EEAB}-\\u{1EEBB}\\u{1EEF0}\\u{1EEF1}\\u{1F000}-\\u{1F02B}\\u{1F030}-\\u{1F093}\\u{1F0A0}-\\u{1F0AE}\\u{1F0B1}-\\u{1F0BF}\\u{1F0C1}-\\u{1F0CF}\\u{1F0D1}-\\u{1F0F5}\\u{1F100}-\\u{1F10F}\\u{1F12F}\\u{1F16A}-\\u{1F16F}\\u{1F1AD}\\u{1F260}-\\u{1F265}\\u{1F300}-\\u{1F6D7}\\u{1F6DD}-\\u{1F6EC}\\u{1F6F0}-\\u{1F6FC}\\u{1F700}-\\u{1F773}\\u{1F780}-\\u{1F7D8}\\u{1F7E0}-\\u{1F7EB}\\u{1F7F0}\\u{1F800}-\\u{1F80B}\\u{1F810}-\\u{1F847}\\u{1F850}-\\u{1F859}\\u{1F860}-\\u{1F887}\\u{1F890}-\\u{1F8AD}\\u{1F8B0}\\u{1F8B1}\\u{1F900}-\\u{1FA53}\\u{1FA60}-\\u{1FA6D}\\u{1FA70}-\\u{1FA74}\\u{1FA78}-\\u{1FA7C}\\u{1FA80}-\\u{1FA86}\\u{1FA90}-\\u{1FAAC}\\u{1FAB0}-\\u{1FABA}\\u{1FAC0}-\\u{1FAC5}\\u{1FAD0}-\\u{1FAD9}\\u{1FAE0}-\\u{1FAE7}\\u{1FAF0}-\\u{1FAF6}\\u{1FB00}-\\u{1FB92}\\u{1FB94}-\\u{1FBCA}\\u{1FBF0}-\\u{1FBF9}\\u{E0001}\\u{E0020}-\\u{E007F}\\u{E0100}-\\u{E01EF}]*$/u;\nconst bidiS3 = /[0-9\\xB2\\xB3\\xB9\\u05BE\\u05C0\\u05C3\\u05C6\\u05D0-\\u05EA\\u05EF-\\u05F4\\u0600-\\u0605\\u0608\\u060B\\u060D\\u061B-\\u064A\\u0660-\\u0669\\u066B-\\u066F\\u0671-\\u06D5\\u06DD\\u06E5\\u06E6\\u06EE-\\u070D\\u070F\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07C0-\\u07EA\\u07F4\\u07F5\\u07FA\\u07FE-\\u0815\\u081A\\u0824\\u0828\\u0830-\\u083E\\u0840-\\u0858\\u085E\\u0860-\\u086A\\u0870-\\u088E\\u0890\\u0891\\u08A0-\\u08C9\\u08E2\\u200F\\u2070\\u2074-\\u2079\\u2080-\\u2089\\u2488-\\u249B\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBC2\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFC\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\u{102E1}-\\u{102FB}\\u{10800}-\\u{10805}\\u{10808}\\u{1080A}-\\u{10835}\\u{10837}\\u{10838}\\u{1083C}\\u{1083F}-\\u{10855}\\u{10857}-\\u{1089E}\\u{108A7}-\\u{108AF}\\u{108E0}-\\u{108F2}\\u{108F4}\\u{108F5}\\u{108FB}-\\u{1091B}\\u{10920}-\\u{10939}\\u{1093F}\\u{10980}-\\u{109B7}\\u{109BC}-\\u{109CF}\\u{109D2}-\\u{10A00}\\u{10A10}-\\u{10A13}\\u{10A15}-\\u{10A17}\\u{10A19}-\\u{10A35}\\u{10A40}-\\u{10A48}\\u{10A50}-\\u{10A58}\\u{10A60}-\\u{10A9F}\\u{10AC0}-\\u{10AE4}\\u{10AEB}-\\u{10AF6}\\u{10B00}-\\u{10B35}\\u{10B40}-\\u{10B55}\\u{10B58}-\\u{10B72}\\u{10B78}-\\u{10B91}\\u{10B99}-\\u{10B9C}\\u{10BA9}-\\u{10BAF}\\u{10C00}-\\u{10C48}\\u{10C80}-\\u{10CB2}\\u{10CC0}-\\u{10CF2}\\u{10CFA}-\\u{10D23}\\u{10D30}-\\u{10D39}\\u{10E60}-\\u{10E7E}\\u{10E80}-\\u{10EA9}\\u{10EAD}\\u{10EB0}\\u{10EB1}\\u{10F00}-\\u{10F27}\\u{10F30}-\\u{10F45}\\u{10F51}-\\u{10F59}\\u{10F70}-\\u{10F81}\\u{10F86}-\\u{10F89}\\u{10FB0}-\\u{10FCB}\\u{10FE0}-\\u{10FF6}\\u{1D7CE}-\\u{1D7FF}\\u{1E800}-\\u{1E8C4}\\u{1E8C7}-\\u{1E8CF}\\u{1E900}-\\u{1E943}\\u{1E94B}\\u{1E950}-\\u{1E959}\\u{1E95E}\\u{1E95F}\\u{1EC71}-\\u{1ECB4}\\u{1ED01}-\\u{1ED3D}\\u{1EE00}-\\u{1EE03}\\u{1EE05}-\\u{1EE1F}\\u{1EE21}\\u{1EE22}\\u{1EE24}\\u{1EE27}\\u{1EE29}-\\u{1EE32}\\u{1EE34}-\\u{1EE37}\\u{1EE39}\\u{1EE3B}\\u{1EE42}\\u{1EE47}\\u{1EE49}\\u{1EE4B}\\u{1EE4D}-\\u{1EE4F}\\u{1EE51}\\u{1EE52}\\u{1EE54}\\u{1EE57}\\u{1EE59}\\u{1EE5B}\\u{1EE5D}\\u{1EE5F}\\u{1EE61}\\u{1EE62}\\u{1EE64}\\u{1EE67}-\\u{1EE6A}\\u{1EE6C}-\\u{1EE72}\\u{1EE74}-\\u{1EE77}\\u{1EE79}-\\u{1EE7C}\\u{1EE7E}\\u{1EE80}-\\u{1EE89}\\u{1EE8B}-\\u{1EE9B}\\u{1EEA1}-\\u{1EEA3}\\u{1EEA5}-\\u{1EEA9}\\u{1EEAB}-\\u{1EEBB}\\u{1F100}-\\u{1F10A}\\u{1FBF0}-\\u{1FBF9}][\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u0898-\\u089F\\u08CA-\\u08E1\\u08E3-\\u0902\\u093A\\u093C\\u0941-\\u0948\\u094D\\u0951-\\u0957\\u0962\\u0963\\u0981\\u09BC\\u09C1-\\u09C4\\u09CD\\u09E2\\u09E3\\u09FE\\u0A01\\u0A02\\u0A3C\\u0A41\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81\\u0A82\\u0ABC\\u0AC1-\\u0AC5\\u0AC7\\u0AC8\\u0ACD\\u0AE2\\u0AE3\\u0AFA-\\u0AFF\\u0B01\\u0B3C\\u0B3F\\u0B41-\\u0B44\\u0B4D\\u0B55\\u0B56\\u0B62\\u0B63\\u0B82\\u0BC0\\u0BCD\\u0C00\\u0C04\\u0C3C\\u0C3E-\\u0C40\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81\\u0CBC\\u0CCC\\u0CCD\\u0CE2\\u0CE3\\u0D00\\u0D01\\u0D3B\\u0D3C\\u0D41-\\u0D44\\u0D4D\\u0D62\\u0D63\\u0D81\\u0DCA\\u0DD2-\\u0DD4\\u0DD6\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F71-\\u0F7E\\u0F80-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102D-\\u1030\\u1032-\\u1037\\u1039\\u103A\\u103D\\u103E\\u1058\\u1059\\u105E-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108D\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732\\u1733\\u1752\\u1753\\u1772\\u1773\\u17B4\\u17B5\\u17B7-\\u17BD\\u17C6\\u17C9-\\u17D3\\u17DD\\u180B-\\u180D\\u180F\\u1885\\u1886\\u18A9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193B\\u1A17\\u1A18\\u1A1B\\u1A56\\u1A58-\\u1A5E\\u1A60\\u1A62\\u1A65-\\u1A6C\\u1A73-\\u1A7C\\u1A7F\\u1AB0-\\u1ACE\\u1B00-\\u1B03\\u1B34\\u1B36-\\u1B3A\\u1B3C\\u1B42\\u1B6B-\\u1B73\\u1B80\\u1B81\\u1BA2-\\u1BA5\\u1BA8\\u1BA9\\u1BAB-\\u1BAD\\u1BE6\\u1BE8\\u1BE9\\u1BED\\u1BEF-\\u1BF1\\u1C2C-\\u1C33\\u1C36\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE0\\u1CE2-\\u1CE8\\u1CED\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302D\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA825\\uA826\\uA82C\\uA8C4\\uA8C5\\uA8E0-\\uA8F1\\uA8FF\\uA926-\\uA92D\\uA947-\\uA951\\uA980-\\uA982\\uA9B3\\uA9B6-\\uA9B9\\uA9BC\\uA9BD\\uA9E5\\uAA29-\\uAA2E\\uAA31\\uAA32\\uAA35\\uAA36\\uAA43\\uAA4C\\uAA7C\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEC\\uAAED\\uAAF6\\uABE5\\uABE8\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\u{101FD}\\u{102E0}\\u{10376}-\\u{1037A}\\u{10A01}-\\u{10A03}\\u{10A05}\\u{10A06}\\u{10A0C}-\\u{10A0F}\\u{10A38}-\\u{10A3A}\\u{10A3F}\\u{10AE5}\\u{10AE6}\\u{10D24}-\\u{10D27}\\u{10EAB}\\u{10EAC}\\u{10F46}-\\u{10F50}\\u{10F82}-\\u{10F85}\\u{11001}\\u{11038}-\\u{11046}\\u{11070}\\u{11073}\\u{11074}\\u{1107F}-\\u{11081}\\u{110B3}-\\u{110B6}\\u{110B9}\\u{110BA}\\u{110C2}\\u{11100}-\\u{11102}\\u{11127}-\\u{1112B}\\u{1112D}-\\u{11134}\\u{11173}\\u{11180}\\u{11181}\\u{111B6}-\\u{111BE}\\u{111C9}-\\u{111CC}\\u{111CF}\\u{1122F}-\\u{11231}\\u{11234}\\u{11236}\\u{11237}\\u{1123E}\\u{112DF}\\u{112E3}-\\u{112EA}\\u{11300}\\u{11301}\\u{1133B}\\u{1133C}\\u{11340}\\u{11366}-\\u{1136C}\\u{11370}-\\u{11374}\\u{11438}-\\u{1143F}\\u{11442}-\\u{11444}\\u{11446}\\u{1145E}\\u{114B3}-\\u{114B8}\\u{114BA}\\u{114BF}\\u{114C0}\\u{114C2}\\u{114C3}\\u{115B2}-\\u{115B5}\\u{115BC}\\u{115BD}\\u{115BF}\\u{115C0}\\u{115DC}\\u{115DD}\\u{11633}-\\u{1163A}\\u{1163D}\\u{1163F}\\u{11640}\\u{116AB}\\u{116AD}\\u{116B0}-\\u{116B5}\\u{116B7}\\u{1171D}-\\u{1171F}\\u{11722}-\\u{11725}\\u{11727}-\\u{1172B}\\u{1182F}-\\u{11837}\\u{11839}\\u{1183A}\\u{1193B}\\u{1193C}\\u{1193E}\\u{11943}\\u{119D4}-\\u{119D7}\\u{119DA}\\u{119DB}\\u{119E0}\\u{11A01}-\\u{11A06}\\u{11A09}\\u{11A0A}\\u{11A33}-\\u{11A38}\\u{11A3B}-\\u{11A3E}\\u{11A47}\\u{11A51}-\\u{11A56}\\u{11A59}-\\u{11A5B}\\u{11A8A}-\\u{11A96}\\u{11A98}\\u{11A99}\\u{11C30}-\\u{11C36}\\u{11C38}-\\u{11C3D}\\u{11C92}-\\u{11CA7}\\u{11CAA}-\\u{11CB0}\\u{11CB2}\\u{11CB3}\\u{11CB5}\\u{11CB6}\\u{11D31}-\\u{11D36}\\u{11D3A}\\u{11D3C}\\u{11D3D}\\u{11D3F}-\\u{11D45}\\u{11D47}\\u{11D90}\\u{11D91}\\u{11D95}\\u{11D97}\\u{11EF3}\\u{11EF4}\\u{16AF0}-\\u{16AF4}\\u{16B30}-\\u{16B36}\\u{16F4F}\\u{16F8F}-\\u{16F92}\\u{16FE4}\\u{1BC9D}\\u{1BC9E}\\u{1CF00}-\\u{1CF2D}\\u{1CF30}-\\u{1CF46}\\u{1D167}-\\u{1D169}\\u{1D17B}-\\u{1D182}\\u{1D185}-\\u{1D18B}\\u{1D1AA}-\\u{1D1AD}\\u{1D242}-\\u{1D244}\\u{1DA00}-\\u{1DA36}\\u{1DA3B}-\\u{1DA6C}\\u{1DA75}\\u{1DA84}\\u{1DA9B}-\\u{1DA9F}\\u{1DAA1}-\\u{1DAAF}\\u{1E000}-\\u{1E006}\\u{1E008}-\\u{1E018}\\u{1E01B}-\\u{1E021}\\u{1E023}\\u{1E024}\\u{1E026}-\\u{1E02A}\\u{1E130}-\\u{1E136}\\u{1E2AE}\\u{1E2EC}-\\u{1E2EF}\\u{1E8D0}-\\u{1E8D6}\\u{1E944}-\\u{1E94A}\\u{E0100}-\\u{E01EF}]*$/u;\nconst bidiS4EN = /[0-9\\xB2\\xB3\\xB9\\u06F0-\\u06F9\\u2070\\u2074-\\u2079\\u2080-\\u2089\\u2488-\\u249B\\uFF10-\\uFF19\\u{102E1}-\\u{102FB}\\u{1D7CE}-\\u{1D7FF}\\u{1F100}-\\u{1F10A}\\u{1FBF0}-\\u{1FBF9}]/u;\nconst bidiS4AN = /[\\u0600-\\u0605\\u0660-\\u0669\\u066B\\u066C\\u06DD\\u0890\\u0891\\u08E2\\u{10D30}-\\u{10D39}\\u{10E60}-\\u{10E7E}]/u;\nconst bidiS5 = /^[\\0-\\x08\\x0E-\\x1B!-\\x84\\x86-\\u0377\\u037A-\\u037F\\u0384-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u052F\\u0531-\\u0556\\u0559-\\u058A\\u058D-\\u058F\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0606\\u0607\\u0609\\u060A\\u060C\\u060E-\\u061A\\u064B-\\u065F\\u066A\\u0670\\u06D6-\\u06DC\\u06DE-\\u06E4\\u06E7-\\u06ED\\u06F0-\\u06F9\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u07F6-\\u07F9\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u0898-\\u089F\\u08CA-\\u08E1\\u08E3-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09FE\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A76\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AF1\\u0AF9-\\u0AFF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B55-\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B77\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BFA\\u0C00-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3C-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C5D\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C77-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDD\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D00-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4F\\u0D54-\\u0D63\\u0D66-\\u0D7F\\u0D81-\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2-\\u0DF4\\u0E01-\\u0E3A\\u0E3F-\\u0E5B\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F97\\u0F99-\\u0FBC\\u0FBE-\\u0FCC\\u0FCE-\\u0FDA\\u1000-\\u10C5\\u10C7\\u10CD\\u10D0-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u137C\\u1380-\\u1399\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1400-\\u167F\\u1681-\\u169C\\u16A0-\\u16F8\\u1700-\\u1715\\u171F-\\u1736\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17DD\\u17E0-\\u17E9\\u17F0-\\u17F9\\u1800-\\u1819\\u1820-\\u1878\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1940\\u1944-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u19DE-\\u1A1B\\u1A1E-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA0-\\u1AAD\\u1AB0-\\u1ACE\\u1B00-\\u1B4C\\u1B50-\\u1B7E\\u1B80-\\u1BF3\\u1BFC-\\u1C37\\u1C3B-\\u1C49\\u1C4D-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CC7\\u1CD0-\\u1CFA\\u1D00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FC4\\u1FC6-\\u1FD3\\u1FD6-\\u1FDB\\u1FDD-\\u1FEF\\u1FF2-\\u1FF4\\u1FF6-\\u1FFE\\u200B-\\u200E\\u2010-\\u2027\\u202F-\\u205E\\u2060-\\u2064\\u206A-\\u2071\\u2074-\\u208E\\u2090-\\u209C\\u20A0-\\u20C0\\u20D0-\\u20F0\\u2100-\\u218B\\u2190-\\u2426\\u2440-\\u244A\\u2460-\\u2B73\\u2B76-\\u2B95\\u2B97-\\u2CF3\\u2CF9-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D70\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2E5D\\u2E80-\\u2E99\\u2E9B-\\u2EF3\\u2F00-\\u2FD5\\u2FF0-\\u2FFB\\u3001-\\u303F\\u3041-\\u3096\\u3099-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u3190-\\u31E3\\u31F0-\\u321E\\u3220-\\uA48C\\uA490-\\uA4C6\\uA4D0-\\uA62B\\uA640-\\uA6F7\\uA700-\\uA7CA\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7D9\\uA7F2-\\uA82C\\uA830-\\uA839\\uA840-\\uA877\\uA880-\\uA8C5\\uA8CE-\\uA8D9\\uA8E0-\\uA953\\uA95F-\\uA97C\\uA980-\\uA9CD\\uA9CF-\\uA9D9\\uA9DE-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA5C-\\uAAC2\\uAADB-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB6B\\uAB70-\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uD800-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1E\\uFB29\\uFD3E-\\uFD4F\\uFDCF\\uFDFD-\\uFE19\\uFE20-\\uFE52\\uFE54-\\uFE66\\uFE68-\\uFE6B\\uFEFF\\uFF01-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC\\uFFE0-\\uFFE6\\uFFE8-\\uFFEE\\uFFF9-\\uFFFD\\u{10000}-\\u{1000B}\\u{1000D}-\\u{10026}\\u{10028}-\\u{1003A}\\u{1003C}\\u{1003D}\\u{1003F}-\\u{1004D}\\u{10050}-\\u{1005D}\\u{10080}-\\u{100FA}\\u{10100}-\\u{10102}\\u{10107}-\\u{10133}\\u{10137}-\\u{1018E}\\u{10190}-\\u{1019C}\\u{101A0}\\u{101D0}-\\u{101FD}\\u{10280}-\\u{1029C}\\u{102A0}-\\u{102D0}\\u{102E0}-\\u{102FB}\\u{10300}-\\u{10323}\\u{1032D}-\\u{1034A}\\u{10350}-\\u{1037A}\\u{10380}-\\u{1039D}\\u{1039F}-\\u{103C3}\\u{103C8}-\\u{103D5}\\u{10400}-\\u{1049D}\\u{104A0}-\\u{104A9}\\u{104B0}-\\u{104D3}\\u{104D8}-\\u{104FB}\\u{10500}-\\u{10527}\\u{10530}-\\u{10563}\\u{1056F}-\\u{1057A}\\u{1057C}-\\u{1058A}\\u{1058C}-\\u{10592}\\u{10594}\\u{10595}\\u{10597}-\\u{105A1}\\u{105A3}-\\u{105B1}\\u{105B3}-\\u{105B9}\\u{105BB}\\u{105BC}\\u{10600}-\\u{10736}\\u{10740}-\\u{10755}\\u{10760}-\\u{10767}\\u{10780}-\\u{10785}\\u{10787}-\\u{107B0}\\u{107B2}-\\u{107BA}\\u{1091F}\\u{10A01}-\\u{10A03}\\u{10A05}\\u{10A06}\\u{10A0C}-\\u{10A0F}\\u{10A38}-\\u{10A3A}\\u{10A3F}\\u{10AE5}\\u{10AE6}\\u{10B39}-\\u{10B3F}\\u{10D24}-\\u{10D27}\\u{10EAB}\\u{10EAC}\\u{10F46}-\\u{10F50}\\u{10F82}-\\u{10F85}\\u{11000}-\\u{1104D}\\u{11052}-\\u{11075}\\u{1107F}-\\u{110C2}\\u{110CD}\\u{110D0}-\\u{110E8}\\u{110F0}-\\u{110F9}\\u{11100}-\\u{11134}\\u{11136}-\\u{11147}\\u{11150}-\\u{11176}\\u{11180}-\\u{111DF}\\u{111E1}-\\u{111F4}\\u{11200}-\\u{11211}\\u{11213}-\\u{1123E}\\u{11280}-\\u{11286}\\u{11288}\\u{1128A}-\\u{1128D}\\u{1128F}-\\u{1129D}\\u{1129F}-\\u{112A9}\\u{112B0}-\\u{112EA}\\u{112F0}-\\u{112F9}\\u{11300}-\\u{11303}\\u{11305}-\\u{1130C}\\u{1130F}\\u{11310}\\u{11313}-\\u{11328}\\u{1132A}-\\u{11330}\\u{11332}\\u{11333}\\u{11335}-\\u{11339}\\u{1133B}-\\u{11344}\\u{11347}\\u{11348}\\u{1134B}-\\u{1134D}\\u{11350}\\u{11357}\\u{1135D}-\\u{11363}\\u{11366}-\\u{1136C}\\u{11370}-\\u{11374}\\u{11400}-\\u{1145B}\\u{1145D}-\\u{11461}\\u{11480}-\\u{114C7}\\u{114D0}-\\u{114D9}\\u{11580}-\\u{115B5}\\u{115B8}-\\u{115DD}\\u{11600}-\\u{11644}\\u{11650}-\\u{11659}\\u{11660}-\\u{1166C}\\u{11680}-\\u{116B9}\\u{116C0}-\\u{116C9}\\u{11700}-\\u{1171A}\\u{1171D}-\\u{1172B}\\u{11730}-\\u{11746}\\u{11800}-\\u{1183B}\\u{118A0}-\\u{118F2}\\u{118FF}-\\u{11906}\\u{11909}\\u{1190C}-\\u{11913}\\u{11915}\\u{11916}\\u{11918}-\\u{11935}\\u{11937}\\u{11938}\\u{1193B}-\\u{11946}\\u{11950}-\\u{11959}\\u{119A0}-\\u{119A7}\\u{119AA}-\\u{119D7}\\u{119DA}-\\u{119E4}\\u{11A00}-\\u{11A47}\\u{11A50}-\\u{11AA2}\\u{11AB0}-\\u{11AF8}\\u{11C00}-\\u{11C08}\\u{11C0A}-\\u{11C36}\\u{11C38}-\\u{11C45}\\u{11C50}-\\u{11C6C}\\u{11C70}-\\u{11C8F}\\u{11C92}-\\u{11CA7}\\u{11CA9}-\\u{11CB6}\\u{11D00}-\\u{11D06}\\u{11D08}\\u{11D09}\\u{11D0B}-\\u{11D36}\\u{11D3A}\\u{11D3C}\\u{11D3D}\\u{11D3F}-\\u{11D47}\\u{11D50}-\\u{11D59}\\u{11D60}-\\u{11D65}\\u{11D67}\\u{11D68}\\u{11D6A}-\\u{11D8E}\\u{11D90}\\u{11D91}\\u{11D93}-\\u{11D98}\\u{11DA0}-\\u{11DA9}\\u{11EE0}-\\u{11EF8}\\u{11FB0}\\u{11FC0}-\\u{11FF1}\\u{11FFF}-\\u{12399}\\u{12400}-\\u{1246E}\\u{12470}-\\u{12474}\\u{12480}-\\u{12543}\\u{12F90}-\\u{12FF2}\\u{13000}-\\u{1342E}\\u{13430}-\\u{13438}\\u{14400}-\\u{14646}\\u{16800}-\\u{16A38}\\u{16A40}-\\u{16A5E}\\u{16A60}-\\u{16A69}\\u{16A6E}-\\u{16ABE}\\u{16AC0}-\\u{16AC9}\\u{16AD0}-\\u{16AED}\\u{16AF0}-\\u{16AF5}\\u{16B00}-\\u{16B45}\\u{16B50}-\\u{16B59}\\u{16B5B}-\\u{16B61}\\u{16B63}-\\u{16B77}\\u{16B7D}-\\u{16B8F}\\u{16E40}-\\u{16E9A}\\u{16F00}-\\u{16F4A}\\u{16F4F}-\\u{16F87}\\u{16F8F}-\\u{16F9F}\\u{16FE0}-\\u{16FE4}\\u{16FF0}\\u{16FF1}\\u{17000}-\\u{187F7}\\u{18800}-\\u{18CD5}\\u{18D00}-\\u{18D08}\\u{1AFF0}-\\u{1AFF3}\\u{1AFF5}-\\u{1AFFB}\\u{1AFFD}\\u{1AFFE}\\u{1B000}-\\u{1B122}\\u{1B150}-\\u{1B152}\\u{1B164}-\\u{1B167}\\u{1B170}-\\u{1B2FB}\\u{1BC00}-\\u{1BC6A}\\u{1BC70}-\\u{1BC7C}\\u{1BC80}-\\u{1BC88}\\u{1BC90}-\\u{1BC99}\\u{1BC9C}-\\u{1BCA3}\\u{1CF00}-\\u{1CF2D}\\u{1CF30}-\\u{1CF46}\\u{1CF50}-\\u{1CFC3}\\u{1D000}-\\u{1D0F5}\\u{1D100}-\\u{1D126}\\u{1D129}-\\u{1D1EA}\\u{1D200}-\\u{1D245}\\u{1D2E0}-\\u{1D2F3}\\u{1D300}-\\u{1D356}\\u{1D360}-\\u{1D378}\\u{1D400}-\\u{1D454}\\u{1D456}-\\u{1D49C}\\u{1D49E}\\u{1D49F}\\u{1D4A2}\\u{1D4A5}\\u{1D4A6}\\u{1D4A9}-\\u{1D4AC}\\u{1D4AE}-\\u{1D4B9}\\u{1D4BB}\\u{1D4BD}-\\u{1D4C3}\\u{1D4C5}-\\u{1D505}\\u{1D507}-\\u{1D50A}\\u{1D50D}-\\u{1D514}\\u{1D516}-\\u{1D51C}\\u{1D51E}-\\u{1D539}\\u{1D53B}-\\u{1D53E}\\u{1D540}-\\u{1D544}\\u{1D546}\\u{1D54A}-\\u{1D550}\\u{1D552}-\\u{1D6A5}\\u{1D6A8}-\\u{1D7CB}\\u{1D7CE}-\\u{1DA8B}\\u{1DA9B}-\\u{1DA9F}\\u{1DAA1}-\\u{1DAAF}\\u{1DF00}-\\u{1DF1E}\\u{1E000}-\\u{1E006}\\u{1E008}-\\u{1E018}\\u{1E01B}-\\u{1E021}\\u{1E023}\\u{1E024}\\u{1E026}-\\u{1E02A}\\u{1E100}-\\u{1E12C}\\u{1E130}-\\u{1E13D}\\u{1E140}-\\u{1E149}\\u{1E14E}\\u{1E14F}\\u{1E290}-\\u{1E2AE}\\u{1E2C0}-\\u{1E2F9}\\u{1E2FF}\\u{1E7E0}-\\u{1E7E6}\\u{1E7E8}-\\u{1E7EB}\\u{1E7ED}\\u{1E7EE}\\u{1E7F0}-\\u{1E7FE}\\u{1E8D0}-\\u{1E8D6}\\u{1E944}-\\u{1E94A}\\u{1EEF0}\\u{1EEF1}\\u{1F000}-\\u{1F02B}\\u{1F030}-\\u{1F093}\\u{1F0A0}-\\u{1F0AE}\\u{1F0B1}-\\u{1F0BF}\\u{1F0C1}-\\u{1F0CF}\\u{1F0D1}-\\u{1F0F5}\\u{1F100}-\\u{1F1AD}\\u{1F1E6}-\\u{1F202}\\u{1F210}-\\u{1F23B}\\u{1F240}-\\u{1F248}\\u{1F250}\\u{1F251}\\u{1F260}-\\u{1F265}\\u{1F300}-\\u{1F6D7}\\u{1F6DD}-\\u{1F6EC}\\u{1F6F0}-\\u{1F6FC}\\u{1F700}-\\u{1F773}\\u{1F780}-\\u{1F7D8}\\u{1F7E0}-\\u{1F7EB}\\u{1F7F0}\\u{1F800}-\\u{1F80B}\\u{1F810}-\\u{1F847}\\u{1F850}-\\u{1F859}\\u{1F860}-\\u{1F887}\\u{1F890}-\\u{1F8AD}\\u{1F8B0}\\u{1F8B1}\\u{1F900}-\\u{1FA53}\\u{1FA60}-\\u{1FA6D}\\u{1FA70}-\\u{1FA74}\\u{1FA78}-\\u{1FA7C}\\u{1FA80}-\\u{1FA86}\\u{1FA90}-\\u{1FAAC}\\u{1FAB0}-\\u{1FABA}\\u{1FAC0}-\\u{1FAC5}\\u{1FAD0}-\\u{1FAD9}\\u{1FAE0}-\\u{1FAE7}\\u{1FAF0}-\\u{1FAF6}\\u{1FB00}-\\u{1FB92}\\u{1FB94}-\\u{1FBCA}\\u{1FBF0}-\\u{1FBF9}\\u{20000}-\\u{2A6DF}\\u{2A700}-\\u{2B738}\\u{2B740}-\\u{2B81D}\\u{2B820}-\\u{2CEA1}\\u{2CEB0}-\\u{2EBE0}\\u{2F800}-\\u{2FA1D}\\u{30000}-\\u{3134A}\\u{E0001}\\u{E0020}-\\u{E007F}\\u{E0100}-\\u{E01EF}\\u{F0000}-\\u{FFFFD}\\u{100000}-\\u{10FFFD}]*$/u;\nconst bidiS6 = /[0-9A-Za-z\\xAA\\xB2\\xB3\\xB5\\xB9\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02B8\\u02BB-\\u02C1\\u02D0\\u02D1\\u02E0-\\u02E4\\u02EE\\u0370-\\u0373\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0482\\u048A-\\u052F\\u0531-\\u0556\\u0559-\\u0589\\u06F0-\\u06F9\\u0903-\\u0939\\u093B\\u093D-\\u0940\\u0949-\\u094C\\u094E-\\u0950\\u0958-\\u0961\\u0964-\\u0980\\u0982\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD-\\u09C0\\u09C7\\u09C8\\u09CB\\u09CC\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E1\\u09E6-\\u09F1\\u09F4-\\u09FA\\u09FC\\u09FD\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3E-\\u0A40\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A6F\\u0A72-\\u0A74\\u0A76\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD-\\u0AC0\\u0AC9\\u0ACB\\u0ACC\\u0AD0\\u0AE0\\u0AE1\\u0AE6-\\u0AF0\\u0AF9\\u0B02\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B3E\\u0B40\\u0B47\\u0B48\\u0B4B\\u0B4C\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B66-\\u0B77\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE\\u0BBF\\u0BC1\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCC\\u0BD0\\u0BD7\\u0BE6-\\u0BF2\\u0C01-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C41-\\u0C44\\u0C58-\\u0C5A\\u0C5D\\u0C60\\u0C61\\u0C66-\\u0C6F\\u0C77\\u0C7F\\u0C80\\u0C82-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA\\u0CCB\\u0CD5\\u0CD6\\u0CDD\\u0CDE\\u0CE0\\u0CE1\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D02-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D40\\u0D46-\\u0D48\\u0D4A-\\u0D4C\\u0D4E\\u0D4F\\u0D54-\\u0D61\\u0D66-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCF-\\u0DD1\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2-\\u0DF4\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E4F-\\u0E5B\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00-\\u0F17\\u0F1A-\\u0F34\\u0F36\\u0F38\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F7F\\u0F85\\u0F88-\\u0F8C\\u0FBE-\\u0FC5\\u0FC7-\\u0FCC\\u0FCE-\\u0FDA\\u1000-\\u102C\\u1031\\u1038\\u103B\\u103C\\u103F-\\u1057\\u105A-\\u105D\\u1061-\\u1070\\u1075-\\u1081\\u1083\\u1084\\u1087-\\u108C\\u108E-\\u109C\\u109E-\\u10C5\\u10C7\\u10CD\\u10D0-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1360-\\u137C\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u167F\\u1681-\\u169A\\u16A0-\\u16F8\\u1700-\\u1711\\u1715\\u171F-\\u1731\\u1734-\\u1736\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17B6\\u17BE-\\u17C5\\u17C7\\u17C8\\u17D4-\\u17DA\\u17DC\\u17E0-\\u17E9\\u1810-\\u1819\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1923-\\u1926\\u1929-\\u192B\\u1930\\u1931\\u1933-\\u1938\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A16\\u1A19\\u1A1A\\u1A1E-\\u1A55\\u1A57\\u1A61\\u1A63\\u1A64\\u1A6D-\\u1A72\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1AA0-\\u1AAD\\u1B04-\\u1B33\\u1B35\\u1B3B\\u1B3D-\\u1B41\\u1B43-\\u1B4C\\u1B50-\\u1B6A\\u1B74-\\u1B7E\\u1B82-\\u1BA1\\u1BA6\\u1BA7\\u1BAA\\u1BAE-\\u1BE5\\u1BE7\\u1BEA-\\u1BEC\\u1BEE\\u1BF2\\u1BF3\\u1BFC-\\u1C2B\\u1C34\\u1C35\\u1C3B-\\u1C49\\u1C4D-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CC7\\u1CD3\\u1CE1\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5-\\u1CF7\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200E\\u2070\\u2071\\u2074-\\u2079\\u207F-\\u2089\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u214F\\u2160-\\u2188\\u2336-\\u237A\\u2395\\u2488-\\u24E9\\u26AC\\u2800-\\u28FF\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D70\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u302E\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u3190-\\u31BF\\u31F0-\\u321C\\u3220-\\u324F\\u3260-\\u327B\\u327F-\\u32B0\\u32C0-\\u32CB\\u32D0-\\u3376\\u337B-\\u33DD\\u33E0-\\u33FE\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66E\\uA680-\\uA69D\\uA6A0-\\uA6EF\\uA6F2-\\uA6F7\\uA722-\\uA787\\uA789-\\uA7CA\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7D9\\uA7F2-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA824\\uA827\\uA830-\\uA837\\uA840-\\uA873\\uA880-\\uA8C3\\uA8CE-\\uA8D9\\uA8F2-\\uA8FE\\uA900-\\uA925\\uA92E-\\uA946\\uA952\\uA953\\uA95F-\\uA97C\\uA983-\\uA9B2\\uA9B4\\uA9B5\\uA9BA\\uA9BB\\uA9BE-\\uA9CD\\uA9CF-\\uA9D9\\uA9DE-\\uA9E4\\uA9E6-\\uA9FE\\uAA00-\\uAA28\\uAA2F\\uAA30\\uAA33\\uAA34\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA4D\\uAA50-\\uAA59\\uAA5C-\\uAA7B\\uAA7D-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAAEB\\uAAEE-\\uAAF5\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB69\\uAB70-\\uABE4\\uABE6\\uABE7\\uABE9-\\uABEC\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uD800-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC\\u{10000}-\\u{1000B}\\u{1000D}-\\u{10026}\\u{10028}-\\u{1003A}\\u{1003C}\\u{1003D}\\u{1003F}-\\u{1004D}\\u{10050}-\\u{1005D}\\u{10080}-\\u{100FA}\\u{10100}\\u{10102}\\u{10107}-\\u{10133}\\u{10137}-\\u{1013F}\\u{1018D}\\u{1018E}\\u{101D0}-\\u{101FC}\\u{10280}-\\u{1029C}\\u{102A0}-\\u{102D0}\\u{102E1}-\\u{102FB}\\u{10300}-\\u{10323}\\u{1032D}-\\u{1034A}\\u{10350}-\\u{10375}\\u{10380}-\\u{1039D}\\u{1039F}-\\u{103C3}\\u{103C8}-\\u{103D5}\\u{10400}-\\u{1049D}\\u{104A0}-\\u{104A9}\\u{104B0}-\\u{104D3}\\u{104D8}-\\u{104FB}\\u{10500}-\\u{10527}\\u{10530}-\\u{10563}\\u{1056F}-\\u{1057A}\\u{1057C}-\\u{1058A}\\u{1058C}-\\u{10592}\\u{10594}\\u{10595}\\u{10597}-\\u{105A1}\\u{105A3}-\\u{105B1}\\u{105B3}-\\u{105B9}\\u{105BB}\\u{105BC}\\u{10600}-\\u{10736}\\u{10740}-\\u{10755}\\u{10760}-\\u{10767}\\u{10780}-\\u{10785}\\u{10787}-\\u{107B0}\\u{107B2}-\\u{107BA}\\u{11000}\\u{11002}-\\u{11037}\\u{11047}-\\u{1104D}\\u{11066}-\\u{1106F}\\u{11071}\\u{11072}\\u{11075}\\u{11082}-\\u{110B2}\\u{110B7}\\u{110B8}\\u{110BB}-\\u{110C1}\\u{110CD}\\u{110D0}-\\u{110E8}\\u{110F0}-\\u{110F9}\\u{11103}-\\u{11126}\\u{1112C}\\u{11136}-\\u{11147}\\u{11150}-\\u{11172}\\u{11174}-\\u{11176}\\u{11182}-\\u{111B5}\\u{111BF}-\\u{111C8}\\u{111CD}\\u{111CE}\\u{111D0}-\\u{111DF}\\u{111E1}-\\u{111F4}\\u{11200}-\\u{11211}\\u{11213}-\\u{1122E}\\u{11232}\\u{11233}\\u{11235}\\u{11238}-\\u{1123D}\\u{11280}-\\u{11286}\\u{11288}\\u{1128A}-\\u{1128D}\\u{1128F}-\\u{1129D}\\u{1129F}-\\u{112A9}\\u{112B0}-\\u{112DE}\\u{112E0}-\\u{112E2}\\u{112F0}-\\u{112F9}\\u{11302}\\u{11303}\\u{11305}-\\u{1130C}\\u{1130F}\\u{11310}\\u{11313}-\\u{11328}\\u{1132A}-\\u{11330}\\u{11332}\\u{11333}\\u{11335}-\\u{11339}\\u{1133D}-\\u{1133F}\\u{11341}-\\u{11344}\\u{11347}\\u{11348}\\u{1134B}-\\u{1134D}\\u{11350}\\u{11357}\\u{1135D}-\\u{11363}\\u{11400}-\\u{11437}\\u{11440}\\u{11441}\\u{11445}\\u{11447}-\\u{1145B}\\u{1145D}\\u{1145F}-\\u{11461}\\u{11480}-\\u{114B2}\\u{114B9}\\u{114BB}-\\u{114BE}\\u{114C1}\\u{114C4}-\\u{114C7}\\u{114D0}-\\u{114D9}\\u{11580}-\\u{115B1}\\u{115B8}-\\u{115BB}\\u{115BE}\\u{115C1}-\\u{115DB}\\u{11600}-\\u{11632}\\u{1163B}\\u{1163C}\\u{1163E}\\u{11641}-\\u{11644}\\u{11650}-\\u{11659}\\u{11680}-\\u{116AA}\\u{116AC}\\u{116AE}\\u{116AF}\\u{116B6}\\u{116B8}\\u{116B9}\\u{116C0}-\\u{116C9}\\u{11700}-\\u{1171A}\\u{11720}\\u{11721}\\u{11726}\\u{11730}-\\u{11746}\\u{11800}-\\u{1182E}\\u{11838}\\u{1183B}\\u{118A0}-\\u{118F2}\\u{118FF}-\\u{11906}\\u{11909}\\u{1190C}-\\u{11913}\\u{11915}\\u{11916}\\u{11918}-\\u{11935}\\u{11937}\\u{11938}\\u{1193D}\\u{1193F}-\\u{11942}\\u{11944}-\\u{11946}\\u{11950}-\\u{11959}\\u{119A0}-\\u{119A7}\\u{119AA}-\\u{119D3}\\u{119DC}-\\u{119DF}\\u{119E1}-\\u{119E4}\\u{11A00}\\u{11A07}\\u{11A08}\\u{11A0B}-\\u{11A32}\\u{11A39}\\u{11A3A}\\u{11A3F}-\\u{11A46}\\u{11A50}\\u{11A57}\\u{11A58}\\u{11A5C}-\\u{11A89}\\u{11A97}\\u{11A9A}-\\u{11AA2}\\u{11AB0}-\\u{11AF8}\\u{11C00}-\\u{11C08}\\u{11C0A}-\\u{11C2F}\\u{11C3E}-\\u{11C45}\\u{11C50}-\\u{11C6C}\\u{11C70}-\\u{11C8F}\\u{11CA9}\\u{11CB1}\\u{11CB4}\\u{11D00}-\\u{11D06}\\u{11D08}\\u{11D09}\\u{11D0B}-\\u{11D30}\\u{11D46}\\u{11D50}-\\u{11D59}\\u{11D60}-\\u{11D65}\\u{11D67}\\u{11D68}\\u{11D6A}-\\u{11D8E}\\u{11D93}\\u{11D94}\\u{11D96}\\u{11D98}\\u{11DA0}-\\u{11DA9}\\u{11EE0}-\\u{11EF2}\\u{11EF5}-\\u{11EF8}\\u{11FB0}\\u{11FC0}-\\u{11FD4}\\u{11FFF}-\\u{12399}\\u{12400}-\\u{1246E}\\u{12470}-\\u{12474}\\u{12480}-\\u{12543}\\u{12F90}-\\u{12FF2}\\u{13000}-\\u{1342E}\\u{13430}-\\u{13438}\\u{14400}-\\u{14646}\\u{16800}-\\u{16A38}\\u{16A40}-\\u{16A5E}\\u{16A60}-\\u{16A69}\\u{16A6E}-\\u{16ABE}\\u{16AC0}-\\u{16AC9}\\u{16AD0}-\\u{16AED}\\u{16AF5}\\u{16B00}-\\u{16B2F}\\u{16B37}-\\u{16B45}\\u{16B50}-\\u{16B59}\\u{16B5B}-\\u{16B61}\\u{16B63}-\\u{16B77}\\u{16B7D}-\\u{16B8F}\\u{16E40}-\\u{16E9A}\\u{16F00}-\\u{16F4A}\\u{16F50}-\\u{16F87}\\u{16F93}-\\u{16F9F}\\u{16FE0}\\u{16FE1}\\u{16FE3}\\u{16FF0}\\u{16FF1}\\u{17000}-\\u{187F7}\\u{18800}-\\u{18CD5}\\u{18D00}-\\u{18D08}\\u{1AFF0}-\\u{1AFF3}\\u{1AFF5}-\\u{1AFFB}\\u{1AFFD}\\u{1AFFE}\\u{1B000}-\\u{1B122}\\u{1B150}-\\u{1B152}\\u{1B164}-\\u{1B167}\\u{1B170}-\\u{1B2FB}\\u{1BC00}-\\u{1BC6A}\\u{1BC70}-\\u{1BC7C}\\u{1BC80}-\\u{1BC88}\\u{1BC90}-\\u{1BC99}\\u{1BC9C}\\u{1BC9F}\\u{1CF50}-\\u{1CFC3}\\u{1D000}-\\u{1D0F5}\\u{1D100}-\\u{1D126}\\u{1D129}-\\u{1D166}\\u{1D16A}-\\u{1D172}\\u{1D183}\\u{1D184}\\u{1D18C}-\\u{1D1A9}\\u{1D1AE}-\\u{1D1E8}\\u{1D2E0}-\\u{1D2F3}\\u{1D360}-\\u{1D378}\\u{1D400}-\\u{1D454}\\u{1D456}-\\u{1D49C}\\u{1D49E}\\u{1D49F}\\u{1D4A2}\\u{1D4A5}\\u{1D4A6}\\u{1D4A9}-\\u{1D4AC}\\u{1D4AE}-\\u{1D4B9}\\u{1D4BB}\\u{1D4BD}-\\u{1D4C3}\\u{1D4C5}-\\u{1D505}\\u{1D507}-\\u{1D50A}\\u{1D50D}-\\u{1D514}\\u{1D516}-\\u{1D51C}\\u{1D51E}-\\u{1D539}\\u{1D53B}-\\u{1D53E}\\u{1D540}-\\u{1D544}\\u{1D546}\\u{1D54A}-\\u{1D550}\\u{1D552}-\\u{1D6A5}\\u{1D6A8}-\\u{1D6DA}\\u{1D6DC}-\\u{1D714}\\u{1D716}-\\u{1D74E}\\u{1D750}-\\u{1D788}\\u{1D78A}-\\u{1D7C2}\\u{1D7C4}-\\u{1D7CB}\\u{1D7CE}-\\u{1D9FF}\\u{1DA37}-\\u{1DA3A}\\u{1DA6D}-\\u{1DA74}\\u{1DA76}-\\u{1DA83}\\u{1DA85}-\\u{1DA8B}\\u{1DF00}-\\u{1DF1E}\\u{1E100}-\\u{1E12C}\\u{1E137}-\\u{1E13D}\\u{1E140}-\\u{1E149}\\u{1E14E}\\u{1E14F}\\u{1E290}-\\u{1E2AD}\\u{1E2C0}-\\u{1E2EB}\\u{1E2F0}-\\u{1E2F9}\\u{1E7E0}-\\u{1E7E6}\\u{1E7E8}-\\u{1E7EB}\\u{1E7ED}\\u{1E7EE}\\u{1E7F0}-\\u{1E7FE}\\u{1F100}-\\u{1F10A}\\u{1F110}-\\u{1F12E}\\u{1F130}-\\u{1F169}\\u{1F170}-\\u{1F1AC}\\u{1F1E6}-\\u{1F202}\\u{1F210}-\\u{1F23B}\\u{1F240}-\\u{1F248}\\u{1F250}\\u{1F251}\\u{1FBF0}-\\u{1FBF9}\\u{20000}-\\u{2A6DF}\\u{2A700}-\\u{2B738}\\u{2B740}-\\u{2B81D}\\u{2B820}-\\u{2CEA1}\\u{2CEB0}-\\u{2EBE0}\\u{2F800}-\\u{2FA1D}\\u{30000}-\\u{3134A}\\u{F0000}-\\u{FFFFD}\\u{100000}-\\u{10FFFD}][\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u0898-\\u089F\\u08CA-\\u08E1\\u08E3-\\u0902\\u093A\\u093C\\u0941-\\u0948\\u094D\\u0951-\\u0957\\u0962\\u0963\\u0981\\u09BC\\u09C1-\\u09C4\\u09CD\\u09E2\\u09E3\\u09FE\\u0A01\\u0A02\\u0A3C\\u0A41\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81\\u0A82\\u0ABC\\u0AC1-\\u0AC5\\u0AC7\\u0AC8\\u0ACD\\u0AE2\\u0AE3\\u0AFA-\\u0AFF\\u0B01\\u0B3C\\u0B3F\\u0B41-\\u0B44\\u0B4D\\u0B55\\u0B56\\u0B62\\u0B63\\u0B82\\u0BC0\\u0BCD\\u0C00\\u0C04\\u0C3C\\u0C3E-\\u0C40\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81\\u0CBC\\u0CCC\\u0CCD\\u0CE2\\u0CE3\\u0D00\\u0D01\\u0D3B\\u0D3C\\u0D41-\\u0D44\\u0D4D\\u0D62\\u0D63\\u0D81\\u0DCA\\u0DD2-\\u0DD4\\u0DD6\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F71-\\u0F7E\\u0F80-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102D-\\u1030\\u1032-\\u1037\\u1039\\u103A\\u103D\\u103E\\u1058\\u1059\\u105E-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108D\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732\\u1733\\u1752\\u1753\\u1772\\u1773\\u17B4\\u17B5\\u17B7-\\u17BD\\u17C6\\u17C9-\\u17D3\\u17DD\\u180B-\\u180D\\u180F\\u1885\\u1886\\u18A9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193B\\u1A17\\u1A18\\u1A1B\\u1A56\\u1A58-\\u1A5E\\u1A60\\u1A62\\u1A65-\\u1A6C\\u1A73-\\u1A7C\\u1A7F\\u1AB0-\\u1ACE\\u1B00-\\u1B03\\u1B34\\u1B36-\\u1B3A\\u1B3C\\u1B42\\u1B6B-\\u1B73\\u1B80\\u1B81\\u1BA2-\\u1BA5\\u1BA8\\u1BA9\\u1BAB-\\u1BAD\\u1BE6\\u1BE8\\u1BE9\\u1BED\\u1BEF-\\u1BF1\\u1C2C-\\u1C33\\u1C36\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE0\\u1CE2-\\u1CE8\\u1CED\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302D\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA825\\uA826\\uA82C\\uA8C4\\uA8C5\\uA8E0-\\uA8F1\\uA8FF\\uA926-\\uA92D\\uA947-\\uA951\\uA980-\\uA982\\uA9B3\\uA9B6-\\uA9B9\\uA9BC\\uA9BD\\uA9E5\\uAA29-\\uAA2E\\uAA31\\uAA32\\uAA35\\uAA36\\uAA43\\uAA4C\\uAA7C\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEC\\uAAED\\uAAF6\\uABE5\\uABE8\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\u{101FD}\\u{102E0}\\u{10376}-\\u{1037A}\\u{10A01}-\\u{10A03}\\u{10A05}\\u{10A06}\\u{10A0C}-\\u{10A0F}\\u{10A38}-\\u{10A3A}\\u{10A3F}\\u{10AE5}\\u{10AE6}\\u{10D24}-\\u{10D27}\\u{10EAB}\\u{10EAC}\\u{10F46}-\\u{10F50}\\u{10F82}-\\u{10F85}\\u{11001}\\u{11038}-\\u{11046}\\u{11070}\\u{11073}\\u{11074}\\u{1107F}-\\u{11081}\\u{110B3}-\\u{110B6}\\u{110B9}\\u{110BA}\\u{110C2}\\u{11100}-\\u{11102}\\u{11127}-\\u{1112B}\\u{1112D}-\\u{11134}\\u{11173}\\u{11180}\\u{11181}\\u{111B6}-\\u{111BE}\\u{111C9}-\\u{111CC}\\u{111CF}\\u{1122F}-\\u{11231}\\u{11234}\\u{11236}\\u{11237}\\u{1123E}\\u{112DF}\\u{112E3}-\\u{112EA}\\u{11300}\\u{11301}\\u{1133B}\\u{1133C}\\u{11340}\\u{11366}-\\u{1136C}\\u{11370}-\\u{11374}\\u{11438}-\\u{1143F}\\u{11442}-\\u{11444}\\u{11446}\\u{1145E}\\u{114B3}-\\u{114B8}\\u{114BA}\\u{114BF}\\u{114C0}\\u{114C2}\\u{114C3}\\u{115B2}-\\u{115B5}\\u{115BC}\\u{115BD}\\u{115BF}\\u{115C0}\\u{115DC}\\u{115DD}\\u{11633}-\\u{1163A}\\u{1163D}\\u{1163F}\\u{11640}\\u{116AB}\\u{116AD}\\u{116B0}-\\u{116B5}\\u{116B7}\\u{1171D}-\\u{1171F}\\u{11722}-\\u{11725}\\u{11727}-\\u{1172B}\\u{1182F}-\\u{11837}\\u{11839}\\u{1183A}\\u{1193B}\\u{1193C}\\u{1193E}\\u{11943}\\u{119D4}-\\u{119D7}\\u{119DA}\\u{119DB}\\u{119E0}\\u{11A01}-\\u{11A06}\\u{11A09}\\u{11A0A}\\u{11A33}-\\u{11A38}\\u{11A3B}-\\u{11A3E}\\u{11A47}\\u{11A51}-\\u{11A56}\\u{11A59}-\\u{11A5B}\\u{11A8A}-\\u{11A96}\\u{11A98}\\u{11A99}\\u{11C30}-\\u{11C36}\\u{11C38}-\\u{11C3D}\\u{11C92}-\\u{11CA7}\\u{11CAA}-\\u{11CB0}\\u{11CB2}\\u{11CB3}\\u{11CB5}\\u{11CB6}\\u{11D31}-\\u{11D36}\\u{11D3A}\\u{11D3C}\\u{11D3D}\\u{11D3F}-\\u{11D45}\\u{11D47}\\u{11D90}\\u{11D91}\\u{11D95}\\u{11D97}\\u{11EF3}\\u{11EF4}\\u{16AF0}-\\u{16AF4}\\u{16B30}-\\u{16B36}\\u{16F4F}\\u{16F8F}-\\u{16F92}\\u{16FE4}\\u{1BC9D}\\u{1BC9E}\\u{1CF00}-\\u{1CF2D}\\u{1CF30}-\\u{1CF46}\\u{1D167}-\\u{1D169}\\u{1D17B}-\\u{1D182}\\u{1D185}-\\u{1D18B}\\u{1D1AA}-\\u{1D1AD}\\u{1D242}-\\u{1D244}\\u{1DA00}-\\u{1DA36}\\u{1DA3B}-\\u{1DA6C}\\u{1DA75}\\u{1DA84}\\u{1DA9B}-\\u{1DA9F}\\u{1DAA1}-\\u{1DAAF}\\u{1E000}-\\u{1E006}\\u{1E008}-\\u{1E018}\\u{1E01B}-\\u{1E021}\\u{1E023}\\u{1E024}\\u{1E026}-\\u{1E02A}\\u{1E130}-\\u{1E136}\\u{1E2AE}\\u{1E2EC}-\\u{1E2EF}\\u{1E8D0}-\\u{1E8D6}\\u{1E944}-\\u{1E94A}\\u{E0100}-\\u{E01EF}]*$/u;\n\nmodule.exports = {\n  combiningMarks,\n  combiningClassVirama,\n  validZWNJ,\n  bidiDomain,\n  bidiS1LTR,\n  bidiS1RTL,\n  bidiS2,\n  bidiS3,\n  bidiS4EN,\n  bidiS4AN,\n  bidiS5,\n  bidiS6\n};\n","\"use strict\";\n\nmodule.exports.STATUS_MAPPING = {\n  mapped: 1,\n  valid: 2,\n  disallowed: 3,\n  disallowed_STD3_valid: 4,\n  disallowed_STD3_mapped: 5,\n  deviation: 6,\n  ignored: 7\n};\n","/////////////////////////////////////////////////////////////////////////////////\n/* UAParser.js v0.7.41\n   Copyright © 2012-2025 Faisal Salman <f@faisalman.com>\n   MIT License *//*\n   Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data.\n   Supports browser & node.js environment. \n   Demo   : https://faisalman.github.io/ua-parser-js\n   Source : https://github.com/faisalman/ua-parser-js */\n/////////////////////////////////////////////////////////////////////////////////\n\n(function (window, undefined) {\n\n    'use strict';\n\n    //////////////\n    // Constants\n    /////////////\n\n\n    var LIBVERSION  = '0.7.41',\n        EMPTY       = '',\n        UNKNOWN     = '?',\n        FUNC_TYPE   = 'function',\n        UNDEF_TYPE  = 'undefined',\n        OBJ_TYPE    = 'object',\n        STR_TYPE    = 'string',\n        MAJOR       = 'major',\n        MODEL       = 'model',\n        NAME        = 'name',\n        TYPE        = 'type',\n        VENDOR      = 'vendor',\n        VERSION     = 'version',\n        ARCHITECTURE= 'architecture',\n        CONSOLE     = 'console',\n        MOBILE      = 'mobile',\n        TABLET      = 'tablet',\n        SMARTTV     = 'smarttv',\n        WEARABLE    = 'wearable',\n        EMBEDDED    = 'embedded',\n        UA_MAX_LENGTH = 500;\n\n    var AMAZON  = 'Amazon',\n        APPLE   = 'Apple',\n        ASUS    = 'ASUS',\n        BLACKBERRY = 'BlackBerry',\n        BROWSER = 'Browser',\n        CHROME  = 'Chrome',\n        EDGE    = 'Edge',\n        FIREFOX = 'Firefox',\n        GOOGLE  = 'Google',\n        HONOR   = 'Honor',\n        HUAWEI  = 'Huawei',\n        LENOVO  = 'Lenovo',\n        LG      = 'LG',\n        MICROSOFT = 'Microsoft',\n        MOTOROLA  = 'Motorola',\n        NVIDIA  = 'Nvidia',\n        ONEPLUS = 'OnePlus',\n        OPERA   = 'Opera',\n        OPPO    = 'OPPO',\n        SAMSUNG = 'Samsung',\n        SHARP   = 'Sharp',\n        SONY    = 'Sony',\n        XIAOMI  = 'Xiaomi',\n        ZEBRA   = 'Zebra',\n        FACEBOOK    = 'Facebook',\n        CHROMIUM_OS = 'Chromium OS',\n        MAC_OS  = 'Mac OS',\n        SUFFIX_BROWSER = ' Browser';\n\n    ///////////\n    // Helper\n    //////////\n\n    var extend = function (regexes, extensions) {\n            var mergedRegexes = {};\n            for (var i in regexes) {\n                if (extensions[i] && extensions[i].length % 2 === 0) {\n                    mergedRegexes[i] = extensions[i].concat(regexes[i]);\n                } else {\n                    mergedRegexes[i] = regexes[i];\n                }\n            }\n            return mergedRegexes;\n        },\n        enumerize = function (arr) {\n            var enums = {};\n            for (var i=0; i<arr.length; i++) {\n                enums[arr[i].toUpperCase()] = arr[i];\n            }\n            return enums;\n        },\n        has = function (str1, str2) {\n            return typeof str1 === STR_TYPE ? lowerize(str2).indexOf(lowerize(str1)) !== -1 : false;\n        },\n        lowerize = function (str) {\n            return str.toLowerCase();\n        },\n        majorize = function (version) {\n            return typeof(version) === STR_TYPE ? version.replace(/[^\\d\\.]/g, EMPTY).split('.')[0] : undefined;\n        },\n        trim = function (str, len) {\n            if (typeof(str) === STR_TYPE) {\n                str = str.replace(/^\\s\\s*/, EMPTY);\n                return typeof(len) === UNDEF_TYPE ? str : str.substring(0, UA_MAX_LENGTH);\n            }\n    };\n\n    ///////////////\n    // Map helper\n    //////////////\n\n    var rgxMapper = function (ua, arrays) {\n\n            var i = 0, j, k, p, q, matches, match;\n\n            // loop through all regexes maps\n            while (i < arrays.length && !matches) {\n\n                var regex = arrays[i],       // even sequence (0,2,4,..)\n                    props = arrays[i + 1];   // odd sequence (1,3,5,..)\n                j = k = 0;\n\n                // try matching uastring with regexes\n                while (j < regex.length && !matches) {\n\n                    if (!regex[j]) { break; }\n                    matches = regex[j++].exec(ua);\n\n                    if (!!matches) {\n                        for (p = 0; p < props.length; p++) {\n                            match = matches[++k];\n                            q = props[p];\n                            // check if given property is actually array\n                            if (typeof q === OBJ_TYPE && q.length > 0) {\n                                if (q.length === 2) {\n                                    if (typeof q[1] == FUNC_TYPE) {\n                                        // assign modified match\n                                        this[q[0]] = q[1].call(this, match);\n                                    } else {\n                                        // assign given value, ignore regex match\n                                        this[q[0]] = q[1];\n                                    }\n                                } else if (q.length === 3) {\n                                    // check whether function or regex\n                                    if (typeof q[1] === FUNC_TYPE && !(q[1].exec && q[1].test)) {\n                                        // call function (usually string mapper)\n                                        this[q[0]] = match ? q[1].call(this, match, q[2]) : undefined;\n                                    } else {\n                                        // sanitize match using given regex\n                                        this[q[0]] = match ? match.replace(q[1], q[2]) : undefined;\n                                    }\n                                } else if (q.length === 4) {\n                                        this[q[0]] = match ? q[3].call(this, match.replace(q[1], q[2])) : undefined;\n                                }\n                            } else {\n                                this[q] = match ? match : undefined;\n                            }\n                        }\n                    }\n                }\n                i += 2;\n            }\n        },\n\n        strMapper = function (str, map) {\n\n            for (var i in map) {\n                // check if current value is array\n                if (typeof map[i] === OBJ_TYPE && map[i].length > 0) {\n                    for (var j = 0; j < map[i].length; j++) {\n                        if (has(map[i][j], str)) {\n                            return (i === UNKNOWN) ? undefined : i;\n                        }\n                    }\n                } else if (has(map[i], str)) {\n                    return (i === UNKNOWN) ? undefined : i;\n                }\n            }\n            return map.hasOwnProperty('*') ? map['*'] : str;\n    };\n\n    ///////////////\n    // String map\n    //////////////\n\n    // Safari < 3.0\n    var oldSafariMap = {\n            '1.0'   : '/8',\n            '1.2'   : '/1',\n            '1.3'   : '/3',\n            '2.0'   : '/412',\n            '2.0.2' : '/416',\n            '2.0.3' : '/417',\n            '2.0.4' : '/419',\n            '?'     : '/'\n        },\n        windowsVersionMap = {\n            'ME'        : '4.90',\n            'NT 3.11'   : 'NT3.51',\n            'NT 4.0'    : 'NT4.0',\n            '2000'      : 'NT 5.0',\n            'XP'        : ['NT 5.1', 'NT 5.2'],\n            'Vista'     : 'NT 6.0',\n            '7'         : 'NT 6.1',\n            '8'         : 'NT 6.2',\n            '8.1'       : 'NT 6.3',\n            '10'        : ['NT 6.4', 'NT 10.0'],\n            'RT'        : 'ARM'\n    };\n\n    //////////////\n    // Regex map\n    /////////////\n\n    var regexes = {\n\n        browser : [[\n\n            /\\b(?:crmo|crios)\\/([\\w\\.]+)/i                                      // Chrome for Android/iOS\n            ], [VERSION, [NAME, 'Chrome']], [\n            /edg(?:e|ios|a)?\\/([\\w\\.]+)/i                                       // Microsoft Edge\n            ], [VERSION, [NAME, 'Edge']], [\n\n            // Presto based\n            /(opera mini)\\/([-\\w\\.]+)/i,                                        // Opera Mini\n            /(opera [mobiletab]{3,6})\\b.+version\\/([-\\w\\.]+)/i,                 // Opera Mobi/Tablet\n            /(opera)(?:.+version\\/|[\\/ ]+)([\\w\\.]+)/i                           // Opera\n            ], [NAME, VERSION], [\n            /opios[\\/ ]+([\\w\\.]+)/i                                             // Opera mini on iphone >= 8.0\n            ], [VERSION, [NAME, OPERA+' Mini']], [\n            /\\bop(?:rg)?x\\/([\\w\\.]+)/i                                          // Opera GX\n            ], [VERSION, [NAME, OPERA+' GX']], [\n            /\\bopr\\/([\\w\\.]+)/i                                                 // Opera Webkit\n            ], [VERSION, [NAME, OPERA]], [\n\n            // Mixed\n            /\\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\\/ ]?([\\w\\.]+)/i            // Baidu\n            ], [VERSION, [NAME, 'Baidu']], [\n            /\\b(?:mxbrowser|mxios|myie2)\\/?([-\\w\\.]*)\\b/i                       // Maxthon\n            ], [VERSION, [NAME, 'Maxthon']], [\n            /(kindle)\\/([\\w\\.]+)/i,                                             // Kindle\n            /(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\\/ ]?([\\w\\.]*)/i,      \n                                                                                // Lunascape/Maxthon/Netfront/Jasmine/Blazer/Sleipnir\n            // Trident based\n            /(avant|iemobile|slim(?:browser|boat|jet))[\\/ ]?([\\d\\.]*)/i,        // Avant/IEMobile/SlimBrowser/SlimBoat/Slimjet\n            /(?:ms|\\()(ie) ([\\w\\.]+)/i,                                         // Internet Explorer\n\n            // Blink/Webkit/KHTML based                                         // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon\n            /(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon)\\/([-\\w\\.]+)/i,\n                                                                                // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ//Vivaldi/DuckDuckGo/Klar/Helio/Dragon\n            /(heytap|ovi|115)browser\\/([\\d\\.]+)/i,                              // HeyTap/Ovi/115\n            /(weibo)__([\\d\\.]+)/i                                               // Weibo\n            ], [NAME, VERSION], [\n            /quark(?:pc)?\\/([-\\w\\.]+)/i                                         // Quark\n            ], [VERSION, [NAME, 'Quark']], [\n            /\\bddg\\/([\\w\\.]+)/i                                                 // DuckDuckGo\n            ], [VERSION, [NAME, 'DuckDuckGo']], [\n            /(?:\\buc? ?browser|(?:juc.+)ucweb)[\\/ ]?([\\w\\.]+)/i                 // UCBrowser\n            ], [VERSION, [NAME, 'UC'+BROWSER]], [\n            /microm.+\\bqbcore\\/([\\w\\.]+)/i,                                     // WeChat Desktop for Windows Built-in Browser\n            /\\bqbcore\\/([\\w\\.]+).+microm/i,\n            /micromessenger\\/([\\w\\.]+)/i                                        // WeChat\n            ], [VERSION, [NAME, 'WeChat']], [\n            /konqueror\\/([\\w\\.]+)/i                                             // Konqueror\n            ], [VERSION, [NAME, 'Konqueror']], [\n            /trident.+rv[: ]([\\w\\.]{1,9})\\b.+like gecko/i                       // IE11\n            ], [VERSION, [NAME, 'IE']], [\n            /ya(?:search)?browser\\/([\\w\\.]+)/i                                  // Yandex\n            ], [VERSION, [NAME, 'Yandex']], [\n            /slbrowser\\/([\\w\\.]+)/i                                             // Smart Lenovo Browser\n            ], [VERSION, [NAME, 'Smart Lenovo '+BROWSER]], [\n            /(avast|avg)\\/([\\w\\.]+)/i                                           // Avast/AVG Secure Browser\n            ], [[NAME, /(.+)/, '$1 Secure '+BROWSER], VERSION], [\n            /\\bfocus\\/([\\w\\.]+)/i                                               // Firefox Focus\n            ], [VERSION, [NAME, FIREFOX+' Focus']], [\n            /\\bopt\\/([\\w\\.]+)/i                                                 // Opera Touch\n            ], [VERSION, [NAME, OPERA+' Touch']], [\n            /coc_coc\\w+\\/([\\w\\.]+)/i                                            // Coc Coc Browser\n            ], [VERSION, [NAME, 'Coc Coc']], [\n            /dolfin\\/([\\w\\.]+)/i                                                // Dolphin\n            ], [VERSION, [NAME, 'Dolphin']], [\n            /coast\\/([\\w\\.]+)/i                                                 // Opera Coast\n            ], [VERSION, [NAME, OPERA+' Coast']], [\n            /miuibrowser\\/([\\w\\.]+)/i                                           // MIUI Browser\n            ], [VERSION, [NAME, 'MIUI' + SUFFIX_BROWSER]], [\n            /fxios\\/([\\w\\.-]+)/i                                                // Firefox for iOS\n            ], [VERSION, [NAME, FIREFOX]], [\n            /\\bqihoobrowser\\/?([\\w\\.]*)/i                                       // 360\n            ], [VERSION, [NAME, '360']], [\n            /\\b(qq)\\/([\\w\\.]+)/i                                                // QQ\n            ], [[NAME, /(.+)/, '$1Browser'], VERSION], [\n            /(oculus|sailfish|huawei|vivo|pico)browser\\/([\\w\\.]+)/i\n            ], [[NAME, /(.+)/, '$1' + SUFFIX_BROWSER], VERSION], [              // Oculus/Sailfish/HuaweiBrowser/VivoBrowser/PicoBrowser\n            /samsungbrowser\\/([\\w\\.]+)/i                                        // Samsung Internet\n            ], [VERSION, [NAME, SAMSUNG + ' Internet']], [\n            /metasr[\\/ ]?([\\d\\.]+)/i                                            // Sogou Explorer\n            ], [VERSION, [NAME, 'Sogou Explorer']], [\n            /(sogou)mo\\w+\\/([\\d\\.]+)/i                                          // Sogou Mobile\n            ], [[NAME, 'Sogou Mobile'], VERSION], [\n            /(electron)\\/([\\w\\.]+) safari/i,                                    // Electron-based App\n            /(tesla)(?: qtcarbrowser|\\/(20\\d\\d\\.[-\\w\\.]+))/i,                   // Tesla\n            /m?(qqbrowser|2345(?=browser|chrome|explorer))\\w*[\\/ ]?v?([\\w\\.]+)/i   // QQ/2345\n            ], [NAME, VERSION], [\n            /(lbbrowser|rekonq)/i,                                              // LieBao Browser/Rekonq\n            /\\[(linkedin)app\\]/i                                                // LinkedIn App for iOS & Android\n            ], [NAME], [\n            /ome\\/([\\w\\.]+) \\w* ?(iron) saf/i,                                  // Iron\n            /ome\\/([\\w\\.]+).+qihu (360)[es]e/i                                  // 360\n            ], [VERSION, NAME], [\n\n            // WebView\n            /((?:fban\\/fbios|fb_iab\\/fb4a)(?!.+fbav)|;fbav\\/([\\w\\.]+);)/i       // Facebook App for iOS & Android\n            ], [[NAME, FACEBOOK], VERSION], [\n            /(Klarna)\\/([\\w\\.]+)/i,                                             // Klarna Shopping Browser for iOS & Android\n            /(kakao(?:talk|story))[\\/ ]([\\w\\.]+)/i,                             // Kakao App\n            /(naver)\\(.*?(\\d+\\.[\\w\\.]+).*\\)/i,                                  // Naver InApp\n            /(daum)apps[\\/ ]([\\w\\.]+)/i,                                        // Daum App\n            /safari (line)\\/([\\w\\.]+)/i,                                        // Line App for iOS\n            /\\b(line)\\/([\\w\\.]+)\\/iab/i,                                        // Line App for Android\n            /(alipay)client\\/([\\w\\.]+)/i,                                       // Alipay\n            /(twitter)(?:and| f.+e\\/([\\w\\.]+))/i,                               // Twitter\n            /(chromium|instagram|snapchat)[\\/ ]([-\\w\\.]+)/i                     // Chromium/Instagram/Snapchat\n            ], [NAME, VERSION], [\n            /\\bgsa\\/([\\w\\.]+) .*safari\\//i                                      // Google Search Appliance on iOS\n            ], [VERSION, [NAME, 'GSA']], [\n            /musical_ly(?:.+app_?version\\/|_)([\\w\\.]+)/i                        // TikTok\n            ], [VERSION, [NAME, 'TikTok']], [\n\n            /headlesschrome(?:\\/([\\w\\.]+)| )/i                                  // Chrome Headless\n            ], [VERSION, [NAME, CHROME+' Headless']], [\n\n            / wv\\).+(chrome)\\/([\\w\\.]+)/i                                       // Chrome WebView\n            ], [[NAME, CHROME+' WebView'], VERSION], [\n\n            /droid.+ version\\/([\\w\\.]+)\\b.+(?:mobile safari|safari)/i           // Android Browser\n            ], [VERSION, [NAME, 'Android '+BROWSER]], [\n\n            /(chrome|omniweb|arora|[tizenoka]{5} ?browser)\\/v?([\\w\\.]+)/i       // Chrome/OmniWeb/Arora/Tizen/Nokia\n            ], [NAME, VERSION], [\n\n            /version\\/([\\w\\.\\,]+) .*mobile\\/\\w+ (safari)/i                      // Mobile Safari\n            ], [VERSION, [NAME, 'Mobile Safari']], [\n            /version\\/([\\w(\\.|\\,)]+) .*(mobile ?safari|safari)/i                // Safari & Safari Mobile\n            ], [VERSION, NAME], [\n            /webkit.+?(mobile ?safari|safari)(\\/[\\w\\.]+)/i                      // Safari < 3.0\n            ], [NAME, [VERSION, strMapper, oldSafariMap]], [\n\n            /(webkit|khtml)\\/([\\w\\.]+)/i\n            ], [NAME, VERSION], [\n\n            // Gecko based\n            /(navigator|netscape\\d?)\\/([-\\w\\.]+)/i                              // Netscape\n            ], [[NAME, 'Netscape'], VERSION], [\n            /(wolvic|librewolf)\\/([\\w\\.]+)/i                                    // Wolvic/LibreWolf\n            ], [NAME, VERSION], [\n            /mobile vr; rv:([\\w\\.]+)\\).+firefox/i                               // Firefox Reality\n            ], [VERSION, [NAME, FIREFOX+' Reality']], [\n            /ekiohf.+(flow)\\/([\\w\\.]+)/i,                                       // Flow\n            /(swiftfox)/i,                                                      // Swiftfox\n            /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\\/ ]?([\\w\\.\\+]+)/i,\n                                                                                // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror\n            /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([-\\w\\.]+)$/i,\n                                                                                // Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix\n            /(firefox)\\/([\\w\\.]+)/i,                                            // Other Firefox-based\n            /(mozilla)\\/([\\w\\.]+) .+rv\\:.+gecko\\/\\d+/i,                         // Mozilla\n\n            // Other\n            /(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\\. ]?browser)[-\\/ ]?v?([\\w\\.]+)/i,\n                                                                                // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Obigo/Mosaic/Go/ICE/UP.Browser/Ladybird\n            /\\b(links) \\(([\\w\\.]+)/i                                            // Links\n            ], [NAME, [VERSION, /_/g, '.']], [\n            \n            /(cobalt)\\/([\\w\\.]+)/i                                              // Cobalt\n            ], [NAME, [VERSION, /master.|lts./, \"\"]]\n        ],\n\n        cpu : [[\n\n            /\\b((amd|x|x86[-_]?|wow|win)64)\\b/i                                 // AMD64 (x64)\n            ], [[ARCHITECTURE, 'amd64']], [\n\n            /(ia32(?=;))/i,                                                     // IA32 (quicktime)\n            /\\b((i[346]|x)86)(pc)?\\b/i                                          // IA32 (x86)\n            ], [[ARCHITECTURE, 'ia32']], [\n\n            /\\b(aarch64|arm(v?[89]e?l?|_?64))\\b/i                               // ARM64\n            ], [[ARCHITECTURE, 'arm64']], [\n\n            /\\b(arm(v[67])?ht?n?[fl]p?)\\b/i                                     // ARMHF\n            ], [[ARCHITECTURE, 'armhf']], [\n\n            // PocketPC mistakenly identified as PowerPC\n            /( (ce|mobile); ppc;|\\/[\\w\\.]+arm\\b)/i\n            ], [[ARCHITECTURE, 'arm']], [\n\n            /((ppc|powerpc)(64)?)( mac|;|\\))/i                                  // PowerPC\n            ], [[ARCHITECTURE, /ower/, EMPTY, lowerize]], [\n\n            / sun4\\w[;\\)]/i                                                     // SPARC\n            ], [[ARCHITECTURE, 'sparc']], [\n\n            /\\b(avr32|ia64(?=;)|68k(?=\\))|\\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\\b|pa-risc)/i\n                                                                                // IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC\n            ], [[ARCHITECTURE, lowerize]]\n        ],\n\n        device : [[\n\n            //////////////////////////\n            // MOBILES & TABLETS\n            /////////////////////////\n\n            // Samsung\n            /\\b(sch-i[89]0\\d|shw-m380s|sm-[ptx]\\w{2,4}|gt-[pn]\\d{2,4}|sgh-t8[56]9|nexus 10)/i\n            ], [MODEL, [VENDOR, SAMSUNG], [TYPE, TABLET]], [\n            /\\b((?:s[cgp]h|gt|sm)-(?![lr])\\w+|sc[g-]?[\\d]+a?|galaxy nexus)/i,\n            /samsung[- ]((?!sm-[lr])[-\\w]+)/i,\n            /sec-(sgh\\w+)/i\n            ], [MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]], [\n\n            // Apple\n            /(?:\\/|\\()(ip(?:hone|od)[\\w, ]*)(?:\\/|;)/i                          // iPod/iPhone\n            ], [MODEL, [VENDOR, APPLE], [TYPE, MOBILE]], [\n            /\\((ipad);[-\\w\\),; ]+apple/i,                                       // iPad\n            /applecoremedia\\/[\\w\\.]+ \\((ipad)/i,\n            /\\b(ipad)\\d\\d?,\\d\\d?[;\\]].+ios/i\n            ], [MODEL, [VENDOR, APPLE], [TYPE, TABLET]], [\n            /(macintosh);/i\n            ], [MODEL, [VENDOR, APPLE]], [\n\n            // Sharp\n            /\\b(sh-?[altvz]?\\d\\d[a-ekm]?)/i\n            ], [MODEL, [VENDOR, SHARP], [TYPE, MOBILE]], [\n\n            // Honor\n            /\\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\\)|;)/i\n            ], [MODEL, [VENDOR, HONOR], [TYPE, TABLET]], [\n            /honor([-\\w ]+)[;\\)]/i\n            ], [MODEL, [VENDOR, HONOR], [TYPE, MOBILE]], [\n\n            // Huawei\n            /\\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\\w\\. ]*(?= bui|\\)))\\b(?!.+d\\/s)/i\n            ], [MODEL, [VENDOR, HUAWEI], [TYPE, TABLET]], [\n            /(?:huawei)([-\\w ]+)[;\\)]/i,\n            /\\b(nexus 6p|\\w{2,4}e?-[atu]?[ln][\\dx][012359c][adn]?)\\b(?!.+d\\/s)/i\n            ], [MODEL, [VENDOR, HUAWEI], [TYPE, MOBILE]], [\n\n            // Xiaomi\n            /oid[^\\)]+; (2[\\dbc]{4}(182|283|rp\\w{2})[cgl]|m2105k81a?c)(?: bui|\\))/i,\n            /\\b((?:red)?mi[-_ ]?pad[\\w- ]*)(?: bui|\\))/i                                // Mi Pad tablets\n            ],[[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, TABLET]], [\n\n            /\\b(poco[\\w ]+|m2\\d{3}j\\d\\d[a-z]{2})(?: bui|\\))/i,                  // Xiaomi POCO\n            /\\b; (\\w+) build\\/hm\\1/i,                                           // Xiaomi Hongmi 'numeric' models\n            /\\b(hm[-_ ]?note?[_ ]?(?:\\d\\w)?) bui/i,                             // Xiaomi Hongmi\n            /\\b(redmi[\\-_ ]?(?:note|k)?[\\w_ ]+)(?: bui|\\))/i,                   // Xiaomi Redmi\n            /oid[^\\)]+; (m?[12][0-389][01]\\w{3,6}[c-y])( bui|; wv|\\))/i,        // Xiaomi Redmi 'numeric' models\n            /\\b(mi[-_ ]?(?:a\\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\\d?\\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\\))/i, // Xiaomi Mi\n            / ([\\w ]+) miui\\/v?\\d/i\n            ], [[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, MOBILE]], [\n\n            // OPPO\n            /; (\\w+) bui.+ oppo/i,\n            /\\b(cph[12]\\d{3}|p(?:af|c[al]|d\\w|e[ar])[mt]\\d0|x9007|a101op)\\b/i\n            ], [MODEL, [VENDOR, OPPO], [TYPE, MOBILE]], [\n            /\\b(opd2(\\d{3}a?))(?: bui|\\))/i\n            ], [MODEL, [VENDOR, strMapper, { 'OnePlus' : ['304', '403', '203'], '*' : OPPO }], [TYPE, TABLET]], [\n\n            // Vivo\n            /vivo (\\w+)(?: bui|\\))/i,\n            /\\b(v[12]\\d{3}\\w?[at])(?: bui|;)/i\n            ], [MODEL, [VENDOR, 'Vivo'], [TYPE, MOBILE]], [\n\n            // Realme\n            /\\b(rmx[1-3]\\d{3})(?: bui|;|\\))/i\n            ], [MODEL, [VENDOR, 'Realme'], [TYPE, MOBILE]], [\n\n            // Motorola\n            /\\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\\b[\\w ]+build\\//i,\n            /\\bmot(?:orola)?[- ](\\w*)/i,\n            /((?:moto(?! 360)[\\w\\(\\) ]+|xt\\d{3,4}|nexus 6)(?= bui|\\)))/i\n            ], [MODEL, [VENDOR, MOTOROLA], [TYPE, MOBILE]], [\n            /\\b(mz60\\d|xoom[2 ]{0,2}) build\\//i\n            ], [MODEL, [VENDOR, MOTOROLA], [TYPE, TABLET]], [\n\n            // LG\n            /((?=lg)?[vl]k\\-?\\d{3}) bui| 3\\.[-\\w; ]{10}lg?-([06cv9]{3,4})/i\n            ], [MODEL, [VENDOR, LG], [TYPE, TABLET]], [\n            /(lm(?:-?f100[nv]?|-[\\w\\.]+)(?= bui|\\))|nexus [45])/i,\n            /\\blg[-e;\\/ ]+((?!browser|netcast|android tv|watch)\\w+)/i,\n            /\\blg-?([\\d\\w]+) bui/i\n            ], [MODEL, [VENDOR, LG], [TYPE, MOBILE]], [\n\n            // Lenovo\n            /(ideatab[-\\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\\d{3,4}(?:f[cu]|xu|[av])|yt\\d?-[jx]?\\d+[lfmx])( bui|;|\\)|\\/)/i,\n            /lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\\w- ]+?)|tb[\\w-]{6,7})( bui|;|\\)|\\/)/i\n            ], [MODEL, [VENDOR, LENOVO], [TYPE, TABLET]], [\n\n            // Nokia\n            /(nokia) (t[12][01])/i\n            ], [VENDOR, MODEL, [TYPE, TABLET]], [\n            /(?:maemo|nokia).*(n900|lumia \\d+|rm-\\d+)/i,\n            /nokia[-_ ]?(([-\\w\\. ]*))/i\n            ], [[MODEL, /_/g, ' '], [TYPE, MOBILE], [VENDOR, 'Nokia']], [\n\n            // Google\n            /(pixel (c|tablet))\\b/i                                             // Google Pixel C/Tablet\n            ], [MODEL, [VENDOR, GOOGLE], [TYPE, TABLET]], [\n            /droid.+; (pixel[\\daxl ]{0,6})(?: bui|\\))/i                         // Google Pixel\n            ], [MODEL, [VENDOR, GOOGLE], [TYPE, MOBILE]], [\n\n            // Sony\n            /droid.+; (a?\\d[0-2]{2}so|[c-g]\\d{4}|so[-gl]\\w+|xq-a\\w[4-7][12])(?= bui|\\).+chrome\\/(?![1-6]{0,1}\\d\\.))/i\n            ], [MODEL, [VENDOR, SONY], [TYPE, MOBILE]], [\n            /sony tablet [ps]/i,\n            /\\b(?:sony)?sgp\\w+(?: bui|\\))/i\n            ], [[MODEL, 'Xperia Tablet'], [VENDOR, SONY], [TYPE, TABLET]], [\n\n            // OnePlus\n            / (kb2005|in20[12]5|be20[12][59])\\b/i,\n            /(?:one)?(?:plus)? (a\\d0\\d\\d)(?: b|\\))/i\n            ], [MODEL, [VENDOR, ONEPLUS], [TYPE, MOBILE]], [\n\n            // Amazon\n            /(alexa)webm/i,\n            /(kf[a-z]{2}wi|aeo(?!bc)\\w\\w)( bui|\\))/i,                           // Kindle Fire without Silk / Echo Show\n            /(kf[a-z]+)( bui|\\)).+silk\\//i                                      // Kindle Fire HD\n            ], [MODEL, [VENDOR, AMAZON], [TYPE, TABLET]], [\n            /((?:sd|kf)[0349hijorstuw]+)( bui|\\)).+silk\\//i                     // Fire Phone\n            ], [[MODEL, /(.+)/g, 'Fire Phone $1'], [VENDOR, AMAZON], [TYPE, MOBILE]], [\n\n            // BlackBerry\n            /(playbook);[-\\w\\),; ]+(rim)/i                                      // BlackBerry PlayBook\n            ], [MODEL, VENDOR, [TYPE, TABLET]], [\n            /\\b((?:bb[a-f]|st[hv])100-\\d)/i,\n            /\\(bb10; (\\w+)/i                                                    // BlackBerry 10\n            ], [MODEL, [VENDOR, BLACKBERRY], [TYPE, MOBILE]], [\n\n            // Asus\n            /(?:\\b|asus_)(transfo[prime ]{4,10} \\w+|eeepc|slider \\w+|nexus 7|padfone|p00[cj])/i\n            ], [MODEL, [VENDOR, ASUS], [TYPE, TABLET]], [\n            / (z[bes]6[027][012][km][ls]|zenfone \\d\\w?)\\b/i\n            ], [MODEL, [VENDOR, ASUS], [TYPE, MOBILE]], [\n\n            // HTC\n            /(nexus 9)/i                                                        // HTC Nexus 9\n            ], [MODEL, [VENDOR, 'HTC'], [TYPE, TABLET]], [\n            /(htc)[-;_ ]{1,2}([\\w ]+(?=\\)| bui)|\\w+)/i,                         // HTC\n\n            // ZTE\n            /(zte)[- ]([\\w ]+?)(?: bui|\\/|\\))/i,\n            /(alcatel|geeksphone|nexian|panasonic(?!(?:;|\\.))|sony(?!-bra))[-_ ]?([-\\w]*)/i         // Alcatel/GeeksPhone/Nexian/Panasonic/Sony\n            ], [VENDOR, [MODEL, /_/g, ' '], [TYPE, MOBILE]], [\n\n            // TCL\n            /droid [\\w\\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])\\w*(\\)| bui)/i\n            ], [MODEL, [VENDOR, 'TCL'], [TYPE, TABLET]], [\n\n            // itel\n            /(itel) ((\\w+))/i\n            ], [[VENDOR, lowerize], MODEL, [TYPE, strMapper, { 'tablet' : ['p10001l', 'w7001'], '*' : 'mobile' }]], [\n\n            // Acer\n            /droid.+; ([ab][1-7]-?[0178a]\\d\\d?)/i\n            ], [MODEL, [VENDOR, 'Acer'], [TYPE, TABLET]], [\n\n            // Meizu\n            /droid.+; (m[1-5] note) bui/i,\n            /\\bmz-([-\\w]{2,})/i\n            ], [MODEL, [VENDOR, 'Meizu'], [TYPE, MOBILE]], [\n                \n            // Ulefone\n            /; ((?:power )?armor(?:[\\w ]{0,8}))(?: bui|\\))/i\n            ], [MODEL, [VENDOR, 'Ulefone'], [TYPE, MOBILE]], [\n\n            // Energizer\n            /; (energy ?\\w+)(?: bui|\\))/i,\n            /; energizer ([\\w ]+)(?: bui|\\))/i\n            ], [MODEL, [VENDOR, 'Energizer'], [TYPE, MOBILE]], [\n\n            // Cat\n            /; cat (b35);/i,\n            /; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\\))/i\n            ], [MODEL, [VENDOR, 'Cat'], [TYPE, MOBILE]], [\n\n            // Smartfren\n            /((?:new )?andromax[\\w- ]+)(?: bui|\\))/i\n            ], [MODEL, [VENDOR, 'Smartfren'], [TYPE, MOBILE]], [\n\n            // Nothing\n            /droid.+; (a(?:015|06[35]|142p?))/i\n            ], [MODEL, [VENDOR, 'Nothing'], [TYPE, MOBILE]], [\n\n            // Archos\n            /; (x67 5g|tikeasy \\w+|ac[1789]\\d\\w+)( b|\\))/i,\n            /archos ?(5|gamepad2?|([\\w ]*[t1789]|hello) ?\\d+[\\w ]*)( b|\\))/i\n            ], [MODEL, [VENDOR, 'Archos'], [TYPE, TABLET]], [\n            /archos ([\\w ]+)( b|\\))/i,\n            /; (ac[3-6]\\d\\w{2,8})( b|\\))/i \n            ], [MODEL, [VENDOR, 'Archos'], [TYPE, MOBILE]], [\n\n            // MIXED\n            /(imo) (tab \\w+)/i,                                                 // IMO\n            /(infinix) (x1101b?)/i                                              // Infinix XPad\n            ], [VENDOR, MODEL, [TYPE, TABLET]], [\n\n            /(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|infinix|tecno|micromax|advan)[-_ ]?([-\\w]*)/i,\n                                                                                // BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron/Infinix/Tecno/Micromax/Advan\n            /; (hmd|imo) ([\\w ]+?)(?: bui|\\))/i,                                // HMD/IMO\n            /(hp) ([\\w ]+\\w)/i,                                                 // HP iPAQ\n            /(microsoft); (lumia[\\w ]+)/i,                                      // Microsoft Lumia\n            /(lenovo)[-_ ]?([-\\w ]+?)(?: bui|\\)|\\/)/i,                          // Lenovo\n            /(oppo) ?([\\w ]+) bui/i                                             // OPPO\n            ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n\n            /(kobo)\\s(ereader|touch)/i,                                         // Kobo\n            /(hp).+(touchpad(?!.+tablet)|tablet)/i,                             // HP TouchPad\n            /(kindle)\\/([\\w\\.]+)/i,                                             // Kindle\n            /(nook)[\\w ]+build\\/(\\w+)/i,                                        // Nook\n            /(dell) (strea[kpr\\d ]*[\\dko])/i,                                   // Dell Streak\n            /(le[- ]+pan)[- ]+(\\w{1,9}) bui/i,                                  // Le Pan Tablets\n            /(trinity)[- ]*(t\\d{3}) bui/i,                                      // Trinity Tablets\n            /(gigaset)[- ]+(q\\w{1,9}) bui/i,                                    // Gigaset Tablets\n            /(vodafone) ([\\w ]+)(?:\\)| bui)/i                                   // Vodafone\n            ], [VENDOR, MODEL, [TYPE, TABLET]], [\n\n            /(surface duo)/i                                                    // Surface Duo\n            ], [MODEL, [VENDOR, MICROSOFT], [TYPE, TABLET]], [\n            /droid [\\d\\.]+; (fp\\du?)(?: b|\\))/i                                 // Fairphone\n            ], [MODEL, [VENDOR, 'Fairphone'], [TYPE, MOBILE]], [\n            /(u304aa)/i                                                         // AT&T\n            ], [MODEL, [VENDOR, 'AT&T'], [TYPE, MOBILE]], [\n            /\\bsie-(\\w*)/i                                                      // Siemens\n            ], [MODEL, [VENDOR, 'Siemens'], [TYPE, MOBILE]], [\n            /\\b(rct\\w+) b/i                                                     // RCA Tablets\n            ], [MODEL, [VENDOR, 'RCA'], [TYPE, TABLET]], [\n            /\\b(venue[\\d ]{2,7}) b/i                                            // Dell Venue Tablets\n            ], [MODEL, [VENDOR, 'Dell'], [TYPE, TABLET]], [\n            /\\b(q(?:mv|ta)\\w+) b/i                                              // Verizon Tablet\n            ], [MODEL, [VENDOR, 'Verizon'], [TYPE, TABLET]], [\n            /\\b(?:barnes[& ]+noble |bn[rt])([\\w\\+ ]*) b/i                       // Barnes & Noble Tablet\n            ], [MODEL, [VENDOR, 'Barnes & Noble'], [TYPE, TABLET]], [\n            /\\b(tm\\d{3}\\w+) b/i\n            ], [MODEL, [VENDOR, 'NuVision'], [TYPE, TABLET]], [\n            /\\b(k88) b/i                                                        // ZTE K Series Tablet\n            ], [MODEL, [VENDOR, 'ZTE'], [TYPE, TABLET]], [\n            /\\b(nx\\d{3}j) b/i                                                   // ZTE Nubia\n            ], [MODEL, [VENDOR, 'ZTE'], [TYPE, MOBILE]], [\n            /\\b(gen\\d{3}) b.+49h/i                                              // Swiss GEN Mobile\n            ], [MODEL, [VENDOR, 'Swiss'], [TYPE, MOBILE]], [\n            /\\b(zur\\d{3}) b/i                                                   // Swiss ZUR Tablet\n            ], [MODEL, [VENDOR, 'Swiss'], [TYPE, TABLET]], [\n            /\\b((zeki)?tb.*\\b) b/i                                              // Zeki Tablets\n            ], [MODEL, [VENDOR, 'Zeki'], [TYPE, TABLET]], [\n            /\\b([yr]\\d{2}) b/i,\n            /\\b(dragon[- ]+touch |dt)(\\w{5}) b/i                                // Dragon Touch Tablet\n            ], [[VENDOR, 'Dragon Touch'], MODEL, [TYPE, TABLET]], [\n            /\\b(ns-?\\w{0,9}) b/i                                                // Insignia Tablets\n            ], [MODEL, [VENDOR, 'Insignia'], [TYPE, TABLET]], [\n            /\\b((nxa|next)-?\\w{0,9}) b/i                                        // NextBook Tablets\n            ], [MODEL, [VENDOR, 'NextBook'], [TYPE, TABLET]], [\n            /\\b(xtreme\\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i                  // Voice Xtreme Phones\n            ], [[VENDOR, 'Voice'], MODEL, [TYPE, MOBILE]], [\n            /\\b(lvtel\\-)?(v1[12]) b/i                                           // LvTel Phones\n            ], [[VENDOR, 'LvTel'], MODEL, [TYPE, MOBILE]], [\n            /\\b(ph-1) /i                                                        // Essential PH-1\n            ], [MODEL, [VENDOR, 'Essential'], [TYPE, MOBILE]], [\n            /\\b(v(100md|700na|7011|917g).*\\b) b/i                               // Envizen Tablets\n            ], [MODEL, [VENDOR, 'Envizen'], [TYPE, TABLET]], [\n            /\\b(trio[-\\w\\. ]+) b/i                                              // MachSpeed Tablets\n            ], [MODEL, [VENDOR, 'MachSpeed'], [TYPE, TABLET]], [\n            /\\btu_(1491) b/i                                                    // Rotor Tablets\n            ], [MODEL, [VENDOR, 'Rotor'], [TYPE, TABLET]], [\n            /((?:tegranote|shield t(?!.+d tv))[\\w- ]*?)(?: b|\\))/i              // Nvidia Tablets\n            ], [MODEL, [VENDOR, NVIDIA], [TYPE, TABLET]], [\n            /(sprint) (\\w+)/i                                                   // Sprint Phones\n            ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n            /(kin\\.[onetw]{3})/i                                                // Microsoft Kin\n            ], [[MODEL, /\\./g, ' '], [VENDOR, MICROSOFT], [TYPE, MOBILE]], [\n            /droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\\)/i             // Zebra\n            ], [MODEL, [VENDOR, ZEBRA], [TYPE, TABLET]], [\n            /droid.+; (ec30|ps20|tc[2-8]\\d[kx])\\)/i\n            ], [MODEL, [VENDOR, ZEBRA], [TYPE, MOBILE]], [\n\n            ///////////////////\n            // SMARTTVS\n            ///////////////////\n\n            /smart-tv.+(samsung)/i                                              // Samsung\n            ], [VENDOR, [TYPE, SMARTTV]], [\n            /hbbtv.+maple;(\\d+)/i\n            ], [[MODEL, /^/, 'SmartTV'], [VENDOR, SAMSUNG], [TYPE, SMARTTV]], [\n            /(nux; netcast.+smarttv|lg (netcast\\.tv-201\\d|android tv))/i        // LG SmartTV\n            ], [[VENDOR, LG], [TYPE, SMARTTV]], [\n            /(apple) ?tv/i                                                      // Apple TV\n            ], [VENDOR, [MODEL, APPLE+' TV'], [TYPE, SMARTTV]], [\n            /crkey/i                                                            // Google Chromecast\n            ], [[MODEL, CHROME+'cast'], [VENDOR, GOOGLE], [TYPE, SMARTTV]], [\n            /droid.+aft(\\w+)( bui|\\))/i                                         // Fire TV\n            ], [MODEL, [VENDOR, AMAZON], [TYPE, SMARTTV]], [\n            /(shield \\w+ tv)/i                                                  // Nvidia Shield TV\n            ], [MODEL, [VENDOR, NVIDIA], [TYPE, SMARTTV]], [\n            /\\(dtv[\\);].+(aquos)/i,\n            /(aquos-tv[\\w ]+)\\)/i                                               // Sharp\n            ], [MODEL, [VENDOR, SHARP], [TYPE, SMARTTV]],[\n            /(bravia[\\w ]+)( bui|\\))/i                                              // Sony\n            ], [MODEL, [VENDOR, SONY], [TYPE, SMARTTV]], [\n            /(mi(tv|box)-?\\w+) bui/i                                            // Xiaomi\n            ], [MODEL, [VENDOR, XIAOMI], [TYPE, SMARTTV]], [\n            /Hbbtv.*(technisat) (.*);/i                                         // TechniSAT\n            ], [VENDOR, MODEL, [TYPE, SMARTTV]], [\n            /\\b(roku)[\\dx]*[\\)\\/]((?:dvp-)?[\\d\\.]*)/i,                          // Roku\n            /hbbtv\\/\\d+\\.\\d+\\.\\d+ +\\([\\w\\+ ]*; *([\\w\\d][^;]*);([^;]*)/i         // HbbTV devices\n            ], [[VENDOR, trim], [MODEL, trim], [TYPE, SMARTTV]], [\n                                                                                // SmartTV from Unidentified Vendors\n            /droid.+; ([\\w- ]+) (?:android tv|smart[- ]?tv)/i\n            ], [MODEL, [TYPE, SMARTTV]], [\n            /\\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\\b/i\n            ], [[TYPE, SMARTTV]], [\n\n            ///////////////////\n            // CONSOLES\n            ///////////////////\n\n            /(ouya)/i,                                                          // Ouya\n            /(nintendo) ([wids3utch]+)/i                                        // Nintendo\n            ], [VENDOR, MODEL, [TYPE, CONSOLE]], [\n            /droid.+; (shield)( bui|\\))/i                                       // Nvidia Portable\n            ], [MODEL, [VENDOR, NVIDIA], [TYPE, CONSOLE]], [\n            /(playstation \\w+)/i                                                // Playstation\n            ], [MODEL, [VENDOR, SONY], [TYPE, CONSOLE]], [\n            /\\b(xbox(?: one)?(?!; xbox))[\\); ]/i                                // Microsoft Xbox\n            ], [MODEL, [VENDOR, MICROSOFT], [TYPE, CONSOLE]], [\n\n            ///////////////////\n            // WEARABLES\n            ///////////////////\n\n            /\\b(sm-[lr]\\d\\d[0156][fnuw]?s?|gear live)\\b/i                       // Samsung Galaxy Watch\n            ], [MODEL, [VENDOR, SAMSUNG], [TYPE, WEARABLE]], [\n            /((pebble))app/i,                                                   // Pebble\n            /(asus|google|lg|oppo) ((pixel |zen)?watch[\\w ]*)( bui|\\))/i        // Asus ZenWatch / LG Watch / Pixel Watch\n            ], [VENDOR, MODEL, [TYPE, WEARABLE]], [\n            /(ow(?:19|20)?we?[1-3]{1,3})/i                                      // Oppo Watch\n            ], [MODEL, [VENDOR, OPPO], [TYPE, WEARABLE]], [\n            /(watch)(?: ?os[,\\/]|\\d,\\d\\/)[\\d\\.]+/i                              // Apple Watch\n            ], [MODEL, [VENDOR, APPLE], [TYPE, WEARABLE]], [\n            /(opwwe\\d{3})/i                                                     // OnePlus Watch\n            ], [MODEL, [VENDOR, ONEPLUS], [TYPE, WEARABLE]], [\n            /(moto 360)/i                                                       // Motorola 360\n            ], [MODEL, [VENDOR, MOTOROLA], [TYPE, WEARABLE]], [\n            /(smartwatch 3)/i                                                   // Sony SmartWatch\n            ], [MODEL, [VENDOR, SONY], [TYPE, WEARABLE]], [\n            /(g watch r)/i                                                      // LG G Watch R\n            ], [MODEL, [VENDOR, LG], [TYPE, WEARABLE]], [\n            /droid.+; (wt63?0{2,3})\\)/i\n            ], [MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]], [\n\n            ///////////////////\n            // XR\n            ///////////////////\n\n            /droid.+; (glass) \\d/i                                              // Google Glass\n            ], [MODEL, [VENDOR, GOOGLE], [TYPE, WEARABLE]], [\n            /(pico) (4|neo3(?: link|pro)?)/i                                    // Pico\n            ], [VENDOR, MODEL, [TYPE, WEARABLE]], [\n            /; (quest( \\d| pro)?)/i                                             // Oculus Quest\n            ], [MODEL, [VENDOR, FACEBOOK], [TYPE, WEARABLE]], [\n\n            ///////////////////\n            // EMBEDDED\n            ///////////////////\n\n            /(tesla)(?: qtcarbrowser|\\/[-\\w\\.]+)/i                              // Tesla\n            ], [VENDOR, [TYPE, EMBEDDED]], [\n            /(aeobc)\\b/i                                                        // Echo Dot\n            ], [MODEL, [VENDOR, AMAZON], [TYPE, EMBEDDED]], [\n            /(homepod).+mac os/i                                                // Apple HomePod\n            ], [MODEL, [VENDOR, APPLE], [TYPE, EMBEDDED]], [\n            /windows iot/i\n            ], [[TYPE, EMBEDDED]], [\n\n            ////////////////////\n            // MIXED (GENERIC)\n            ///////////////////\n\n            /droid .+?; ([^;]+?)(?: bui|; wv\\)|\\) applew).+? mobile safari/i    // Android Phones from Unidentified Vendors\n            ], [MODEL, [TYPE, MOBILE]], [\n            /droid .+?; ([^;]+?)(?: bui|\\) applew).+?(?! mobile) safari/i       // Android Tablets from Unidentified Vendors\n            ], [MODEL, [TYPE, TABLET]], [\n            /\\b((tablet|tab)[;\\/]|focus\\/\\d(?!.+mobile))/i                      // Unidentifiable Tablet\n            ], [[TYPE, TABLET]], [\n            /(phone|mobile(?:[;\\/]| [ \\w\\/\\.]*safari)|pda(?=.+windows ce))/i    // Unidentifiable Mobile\n            ], [[TYPE, MOBILE]], [\n            /droid .+?; ([\\w\\. -]+)( bui|\\))/i                                  // Generic Android Device\n            ], [MODEL, [VENDOR, 'Generic']]\n        ],\n\n        engine : [[\n\n            /windows.+ edge\\/([\\w\\.]+)/i                                       // EdgeHTML\n            ], [VERSION, [NAME, EDGE+'HTML']], [\n\n            /(arkweb)\\/([\\w\\.]+)/i                                              // ArkWeb\n            ], [NAME, VERSION], [\n\n            /webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i                         // Blink\n            ], [VERSION, [NAME, 'Blink']], [\n\n            /(presto)\\/([\\w\\.]+)/i,                                             // Presto\n            /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\\/([\\w\\.]+)/i, // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna/Servo\n            /ekioh(flow)\\/([\\w\\.]+)/i,                                          // Flow\n            /(khtml|tasman|links)[\\/ ]\\(?([\\w\\.]+)/i,                           // KHTML/Tasman/Links\n            /(icab)[\\/ ]([23]\\.[\\d\\.]+)/i,                                      // iCab\n\n            /\\b(libweb)/i                                                       // LibWeb\n            ], [NAME, VERSION], [\n            /ladybird\\//i\n            ], [[NAME, 'LibWeb']], [\n\n            /rv\\:([\\w\\.]{1,9})\\b.+(gecko)/i                                     // Gecko\n            ], [VERSION, NAME]\n        ],\n\n        os : [[\n\n            // Windows\n            /microsoft (windows) (vista|xp)/i                                   // Windows (iTunes)\n            ], [NAME, VERSION], [\n            /(windows (?:phone(?: os)?|mobile|iot))[\\/ ]?([\\d\\.\\w ]*)/i         // Windows Phone\n            ], [NAME, [VERSION, strMapper, windowsVersionMap]], [\n            /windows nt 6\\.2; (arm)/i,                                          // Windows RT\n            /windows[\\/ ]([ntce\\d\\. ]+\\w)(?!.+xbox)/i,\n            /(?:win(?=3|9|n)|win 9x )([nt\\d\\.]+)/i\n            ], [[VERSION, strMapper, windowsVersionMap], [NAME, 'Windows']], [\n\n            // iOS/macOS\n            /[adehimnop]{4,7}\\b(?:.*os ([\\w]+) like mac|; opera)/i,             // iOS\n            /(?:ios;fbsv\\/|iphone.+ios[\\/ ])([\\d\\.]+)/i,\n            /cfnetwork\\/.+darwin/i\n            ], [[VERSION, /_/g, '.'], [NAME, 'iOS']], [\n            /(mac os x) ?([\\w\\. ]*)/i,\n            /(macintosh|mac_powerpc\\b)(?!.+haiku)/i                             // Mac OS\n            ], [[NAME, MAC_OS], [VERSION, /_/g, '.']], [\n\n            // Mobile OSes\n            /droid ([\\w\\.]+)\\b.+(android[- ]x86|harmonyos)/i                    // Android-x86/HarmonyOS\n            ], [VERSION, NAME], [                                               \n            /(ubuntu) ([\\w\\.]+) like android/i                                  // Ubuntu Touch\n            ], [[NAME, /(.+)/, '$1 Touch'], VERSION], [\n                                                                                // Android/Blackberry/WebOS/QNX/Bada/RIM/KaiOS/Maemo/MeeGo/S40/Sailfish OS/OpenHarmony/Tizen\n            /(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen|webos)\\w*[-\\/; ]?([\\d\\.]*)/i\n            ], [NAME, VERSION], [\n            /\\(bb(10);/i                                                        // BlackBerry 10\n            ], [VERSION, [NAME, BLACKBERRY]], [\n            /(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\\/ ]?([\\w\\.]*)/i       // Symbian\n            ], [VERSION, [NAME, 'Symbian']], [\n            /mozilla\\/[\\d\\.]+ \\((?:mobile|tablet|tv|mobile; [\\w ]+); rv:.+ gecko\\/([\\w\\.]+)/i // Firefox OS\n            ], [VERSION, [NAME, FIREFOX+' OS']], [\n            /web0s;.+rt(tv)/i,\n            /\\b(?:hp)?wos(?:browser)?\\/([\\w\\.]+)/i                              // WebOS\n            ], [VERSION, [NAME, 'webOS']], [\n            /watch(?: ?os[,\\/]|\\d,\\d\\/)([\\d\\.]+)/i                              // watchOS\n            ], [VERSION, [NAME, 'watchOS']], [\n\n            // Google Chromecast\n            /crkey\\/([\\d\\.]+)/i                                                 // Google Chromecast\n            ], [VERSION, [NAME, CHROME+'cast']], [\n            /(cros) [\\w]+(?:\\)| ([\\w\\.]+)\\b)/i                                  // Chromium OS\n            ], [[NAME, CHROMIUM_OS], VERSION],[\n\n            // Smart TVs\n            /panasonic;(viera)/i,                                               // Panasonic Viera\n            /(netrange)mmh/i,                                                   // Netrange\n            /(nettv)\\/(\\d+\\.[\\w\\.]+)/i,                                         // NetTV\n\n            // Console\n            /(nintendo|playstation) ([wids345portablevuch]+)/i,                 // Nintendo/Playstation\n            /(xbox); +xbox ([^\\);]+)/i,                                         // Microsoft Xbox (360, One, X, S, Series X, Series S)\n\n            // Other\n            /\\b(joli|palm)\\b ?(?:os)?\\/?([\\w\\.]*)/i,                            // Joli/Palm\n            /(mint)[\\/\\(\\) ]?(\\w*)/i,                                           // Mint\n            /(mageia|vectorlinux)[; ]/i,                                        // Mageia/VectorLinux\n            /([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\\/ ]?(?!chrom|package)([-\\w\\.]*)/i,\n                                                                                // Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware/Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus/Raspbian/Plan9/Minix/RISCOS/Contiki/Deepin/Manjaro/elementary/Sabayon/Linspire\n            /(hurd|linux)(?: arm\\w*| x86\\w*| ?)([\\w\\.]*)/i,                     // Hurd/Linux\n            /(gnu) ?([\\w\\.]*)/i,                                                // GNU\n            /\\b([-frentopcghs]{0,5}bsd|dragonfly)[\\/ ]?(?!amd|[ix346]{1,2}86)([\\w\\.]*)/i, // FreeBSD/NetBSD/OpenBSD/PC-BSD/GhostBSD/DragonFly\n            /(haiku) (\\w+)/i                                                    // Haiku\n            ], [NAME, VERSION], [\n            /(sunos) ?([\\w\\.\\d]*)/i                                             // Solaris\n            ], [[NAME, 'Solaris'], VERSION], [\n            /((?:open)?solaris)[-\\/ ]?([\\w\\.]*)/i,                              // Solaris\n            /(aix) ((\\d)(?=\\.|\\)| )[\\w\\.])*/i,                                  // AIX\n            /\\b(beos|os\\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i, // BeOS/OS2/AmigaOS/MorphOS/OpenVMS/Fuchsia/HP-UX/SerenityOS\n            /(unix) ?([\\w\\.]*)/i                                                // UNIX\n            ], [NAME, VERSION]\n        ]\n    };\n\n    /////////////////\n    // Constructor\n    ////////////////\n\n    var UAParser = function (ua, extensions) {\n\n        if (typeof ua === OBJ_TYPE) {\n            extensions = ua;\n            ua = undefined;\n        }\n\n        if (!(this instanceof UAParser)) {\n            return new UAParser(ua, extensions).getResult();\n        }\n\n        var _navigator = (typeof window !== UNDEF_TYPE && window.navigator) ? window.navigator : undefined;\n        var _ua = ua || ((_navigator && _navigator.userAgent) ? _navigator.userAgent : EMPTY);\n        var _uach = (_navigator && _navigator.userAgentData) ? _navigator.userAgentData : undefined;\n        var _rgxmap = extensions ? extend(regexes, extensions) : regexes;\n        var _isSelfNav = _navigator && _navigator.userAgent == _ua;\n\n        this.getBrowser = function () {\n            var _browser = {};\n            _browser[NAME] = undefined;\n            _browser[VERSION] = undefined;\n            rgxMapper.call(_browser, _ua, _rgxmap.browser);\n            _browser[MAJOR] = majorize(_browser[VERSION]);\n            // Brave-specific detection\n            if (_isSelfNav && _navigator && _navigator.brave && typeof _navigator.brave.isBrave == FUNC_TYPE) {\n                _browser[NAME] = 'Brave';\n            }\n            return _browser;\n        };\n        this.getCPU = function () {\n            var _cpu = {};\n            _cpu[ARCHITECTURE] = undefined;\n            rgxMapper.call(_cpu, _ua, _rgxmap.cpu);\n            return _cpu;\n        };\n        this.getDevice = function () {\n            var _device = {};\n            _device[VENDOR] = undefined;\n            _device[MODEL] = undefined;\n            _device[TYPE] = undefined;\n            rgxMapper.call(_device, _ua, _rgxmap.device);\n            if (_isSelfNav && !_device[TYPE] && _uach && _uach.mobile) {\n                _device[TYPE] = MOBILE;\n            }\n            // iPadOS-specific detection: identified as Mac, but has some iOS-only properties\n            if (_isSelfNav && _device[MODEL] == 'Macintosh' && _navigator && typeof _navigator.standalone !== UNDEF_TYPE && _navigator.maxTouchPoints && _navigator.maxTouchPoints > 2) {\n                _device[MODEL] = 'iPad';\n                _device[TYPE] = TABLET;\n            }\n            return _device;\n        };\n        this.getEngine = function () {\n            var _engine = {};\n            _engine[NAME] = undefined;\n            _engine[VERSION] = undefined;\n            rgxMapper.call(_engine, _ua, _rgxmap.engine);\n            return _engine;\n        };\n        this.getOS = function () {\n            var _os = {};\n            _os[NAME] = undefined;\n            _os[VERSION] = undefined;\n            rgxMapper.call(_os, _ua, _rgxmap.os);\n            if (_isSelfNav && !_os[NAME] && _uach && _uach.platform && _uach.platform != 'Unknown') {\n                _os[NAME] = _uach.platform  \n                                    .replace(/chrome os/i, CHROMIUM_OS)\n                                    .replace(/macos/i, MAC_OS);           // backward compatibility\n            }\n            return _os;\n        };\n        this.getResult = function () {\n            return {\n                ua      : this.getUA(),\n                browser : this.getBrowser(),\n                engine  : this.getEngine(),\n                os      : this.getOS(),\n                device  : this.getDevice(),\n                cpu     : this.getCPU()\n            };\n        };\n        this.getUA = function () {\n            return _ua;\n        };\n        this.setUA = function (ua) {\n            _ua = (typeof ua === STR_TYPE && ua.length > UA_MAX_LENGTH) ? trim(ua, UA_MAX_LENGTH) : ua;\n            return this;\n        };\n        this.setUA(_ua);\n        return this;\n    };\n\n    UAParser.VERSION = LIBVERSION;\n    UAParser.BROWSER =  enumerize([NAME, VERSION, MAJOR]);\n    UAParser.CPU = enumerize([ARCHITECTURE]);\n    UAParser.DEVICE = enumerize([MODEL, VENDOR, TYPE, CONSOLE, MOBILE, SMARTTV, TABLET, WEARABLE, EMBEDDED]);\n    UAParser.ENGINE = UAParser.OS = enumerize([NAME, VERSION]);\n\n    ///////////\n    // Export\n    //////////\n\n    // check js environment\n    if (typeof(exports) !== UNDEF_TYPE) {\n        // nodejs env\n        if (typeof module !== UNDEF_TYPE && module.exports) {\n            exports = module.exports = UAParser;\n        }\n        exports.UAParser = UAParser;\n    } else {\n        // requirejs env (optional)\n        if (typeof(define) === FUNC_TYPE && define.amd) {\n            define(function () {\n                return UAParser;\n            });\n        } else if (typeof window !== UNDEF_TYPE) {\n            // browser env\n            window.UAParser = UAParser;\n        }\n    }\n\n    // jQuery/Zepto specific (optional)\n    // Note:\n    //   In AMD env the global scope should be kept clean, but jQuery is an exception.\n    //   jQuery always exports to global scope, unless jQuery.noConflict(true) is used,\n    //   and we should catch that.\n    var $ = typeof window !== UNDEF_TYPE && (window.jQuery || window.Zepto);\n    if ($ && !$.ua) {\n        var parser = new UAParser();\n        $.ua = parser.getResult();\n        $.ua.get = function () {\n            return parser.getUA();\n        };\n        $.ua.set = function (ua) {\n            parser.setUA(ua);\n            var result = parser.getResult();\n            for (var prop in result) {\n                $.ua[prop] = result[prop];\n            }\n        };\n    }\n\n})(typeof window === 'object' ? window : this);\n","'use strict'\n\nexports.fromCallback = function (fn) {\n  return Object.defineProperty(function () {\n    if (typeof arguments[arguments.length - 1] === 'function') fn.apply(this, arguments)\n    else {\n      return new Promise((resolve, reject) => {\n        arguments[arguments.length] = (err, res) => {\n          if (err) return reject(err)\n          resolve(res)\n        }\n        arguments.length++\n        fn.apply(this, arguments)\n      })\n    }\n  }, 'name', { value: fn.name })\n}\n\nexports.fromPromise = function (fn) {\n  return Object.defineProperty(function () {\n    const cb = arguments[arguments.length - 1]\n    if (typeof cb !== 'function') return fn.apply(this, arguments)\n    else fn.apply(this, arguments).then(r => cb(null, r), cb)\n  }, 'name', { value: fn.name })\n}\n","export function merge(...sets:Array<string>):string {\n\tif (sets.length > 1) {\n\t\tsets[0] = sets[0].slice(0, -1);\n\t\tconst xl = sets.length - 1;\n\t\tfor (let x = 1; x < xl; ++x) {\n\t\t\tsets[x] = sets[x].slice(1, -1);\n\t\t}\n\t\tsets[xl] = sets[xl].slice(1);\n\t\treturn sets.join('');\n\t} else {\n\t\treturn sets[0];\n\t}\n}\n\nexport function subexp(str:string):string {\n\treturn \"(?:\" + str + \")\";\n}\n\nexport function typeOf(o:any):string {\n\treturn o === undefined ? \"undefined\" : (o === null ? \"null\" : Object.prototype.toString.call(o).split(\" \").pop().split(\"]\").shift().toLowerCase());\n}\n\nexport function toUpperCase(str:string):string {\n\treturn str.toUpperCase();\n}\n\nexport function toArray(obj:any):Array<any> {\n\treturn obj !== undefined && obj !== null ? (obj instanceof Array ? obj : (typeof obj.length !== \"number\" || obj.split || obj.setInterval || obj.call ? [obj] : Array.prototype.slice.call(obj))) : [];\n}\n\n\nexport function assign(target: object, source: any): any {\n\tconst obj = target as any;\n\tif (source) {\n\t\tfor (const key in source) {\n\t\t\tobj[key] = source[key];\n\t\t}\n\t}\n\treturn obj;\n}","import { URIRegExps } from \"./uri\";\nimport { merge, subexp } from \"./util\";\n\nexport function buildExps(isIRI:boolean):URIRegExps {\n\tconst\n\t\tALPHA$$ = \"[A-Za-z]\",\n\t\tCR$ = \"[\\\\x0D]\",\n\t\tDIGIT$$ = \"[0-9]\",\n\t\tDQUOTE$$ = \"[\\\\x22]\",\n\t\tHEXDIG$$ = merge(DIGIT$$, \"[A-Fa-f]\"),  //case-insensitive\n\t\tLF$$ = \"[\\\\x0A]\",\n\t\tSP$$ = \"[\\\\x20]\",\n\t\tPCT_ENCODED$ = subexp(subexp(\"%[EFef]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%[89A-Fa-f]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%\" + HEXDIG$$ + HEXDIG$$)),  //expanded\n\t\tGEN_DELIMS$$ = \"[\\\\:\\\\/\\\\?\\\\#\\\\[\\\\]\\\\@]\",\n\t\tSUB_DELIMS$$ = \"[\\\\!\\\\$\\\\&\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\;\\\\=]\",\n\t\tRESERVED$$ = merge(GEN_DELIMS$$, SUB_DELIMS$$),\n\t\tUCSCHAR$$ = isIRI ? \"[\\\\xA0-\\\\u200D\\\\u2010-\\\\u2029\\\\u202F-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF]\" : \"[]\",  //subset, excludes bidi control characters\n\t\tIPRIVATE$$ = isIRI ? \"[\\\\uE000-\\\\uF8FF]\" : \"[]\",  //subset\n\t\tUNRESERVED$$ = merge(ALPHA$$, DIGIT$$, \"[\\\\-\\\\.\\\\_\\\\~]\", UCSCHAR$$),\n\t\tSCHEME$ = subexp(ALPHA$$ + merge(ALPHA$$, DIGIT$$, \"[\\\\+\\\\-\\\\.]\") + \"*\"),\n\t\tUSERINFO$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:]\")) + \"*\"),\n\t\tDEC_OCTET$ = subexp(subexp(\"25[0-5]\") + \"|\" + subexp(\"2[0-4]\" + DIGIT$$) + \"|\" + subexp(\"1\" + DIGIT$$ + DIGIT$$) + \"|\" + subexp(\"[1-9]\" + DIGIT$$) + \"|\" + DIGIT$$),\n\t\tDEC_OCTET_RELAXED$ = subexp(subexp(\"25[0-5]\") + \"|\" + subexp(\"2[0-4]\" + DIGIT$$) + \"|\" + subexp(\"1\" + DIGIT$$ + DIGIT$$) + \"|\" + subexp(\"0?[1-9]\" + DIGIT$$) + \"|0?0?\" + DIGIT$$),  //relaxed parsing rules\n\t\tIPV4ADDRESS$ = subexp(DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$),\n\t\tH16$ = subexp(HEXDIG$$ + \"{1,4}\"),\n\t\tLS32$ = subexp(subexp(H16$ + \"\\\\:\" + H16$) + \"|\" + IPV4ADDRESS$),\n\t\tIPV6ADDRESS1$ = subexp(                                                            subexp(H16$ + \"\\\\:\") + \"{6}\" + LS32$), //                           6( h16 \":\" ) ls32\n\t\tIPV6ADDRESS2$ = subexp(                                                 \"\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{5}\" + LS32$), //                      \"::\" 5( h16 \":\" ) ls32\n\t\tIPV6ADDRESS3$ = subexp(subexp(                                 H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{4}\" + LS32$), //[               h16 ] \"::\" 4( h16 \":\" ) ls32\n\t\tIPV6ADDRESS4$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,1}\" + H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{3}\" + LS32$), //[ *1( h16 \":\" ) h16 ] \"::\" 3( h16 \":\" ) ls32\n\t\tIPV6ADDRESS5$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,2}\" + H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{2}\" + LS32$), //[ *2( h16 \":\" ) h16 ] \"::\" 2( h16 \":\" ) ls32\n\t\tIPV6ADDRESS6$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,3}\" + H16$) + \"?\\\\:\\\\:\" +        H16$ + \"\\\\:\"          + LS32$), //[ *3( h16 \":\" ) h16 ] \"::\"    h16 \":\"   ls32\n\t\tIPV6ADDRESS7$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,4}\" + H16$) + \"?\\\\:\\\\:\"                                + LS32$), //[ *4( h16 \":\" ) h16 ] \"::\"              ls32\n\t\tIPV6ADDRESS8$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,5}\" + H16$) + \"?\\\\:\\\\:\"                                + H16$ ), //[ *5( h16 \":\" ) h16 ] \"::\"              h16\n\t\tIPV6ADDRESS9$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,6}\" + H16$) + \"?\\\\:\\\\:\"                                       ), //[ *6( h16 \":\" ) h16 ] \"::\"\n\t\tIPV6ADDRESS$ = subexp([IPV6ADDRESS1$, IPV6ADDRESS2$, IPV6ADDRESS3$, IPV6ADDRESS4$, IPV6ADDRESS5$, IPV6ADDRESS6$, IPV6ADDRESS7$, IPV6ADDRESS8$, IPV6ADDRESS9$].join(\"|\")),\n\t\tZONEID$ = subexp(subexp(UNRESERVED$$ + \"|\" + PCT_ENCODED$) + \"+\"),  //RFC 6874\n\t\tIPV6ADDRZ$ = subexp(IPV6ADDRESS$ + \"\\\\%25\" + ZONEID$),  //RFC 6874\n\t\tIPV6ADDRZ_RELAXED$ = subexp(IPV6ADDRESS$ + subexp(\"\\\\%25|\\\\%(?!\" + HEXDIG$$ + \"{2})\") + ZONEID$),  //RFC 6874, with relaxed parsing rules\n\t\tIPVFUTURE$ = subexp(\"[vV]\" + HEXDIG$$ + \"+\\\\.\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:]\") + \"+\"),\n\t\tIP_LITERAL$ = subexp(\"\\\\[\" + subexp(IPV6ADDRZ_RELAXED$ + \"|\" + IPV6ADDRESS$ + \"|\" + IPVFUTURE$) + \"\\\\]\"),  //RFC 6874\n\t\tREG_NAME$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$)) + \"*\"),\n\t\tHOST$ = subexp(IP_LITERAL$ + \"|\" + IPV4ADDRESS$ + \"(?!\" + REG_NAME$ + \")\" + \"|\" + REG_NAME$),\n\t\tPORT$ = subexp(DIGIT$$ + \"*\"),\n\t\tAUTHORITY$ = subexp(subexp(USERINFO$ + \"@\") + \"?\" + HOST$ + subexp(\"\\\\:\" + PORT$) + \"?\"),\n\t\tPCHAR$ = subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@]\")),\n\t\tSEGMENT$ = subexp(PCHAR$ + \"*\"),\n\t\tSEGMENT_NZ$ = subexp(PCHAR$ + \"+\"),\n\t\tSEGMENT_NZ_NC$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\@]\")) + \"+\"),\n\t\tPATH_ABEMPTY$ = subexp(subexp(\"\\\\/\" + SEGMENT$) + \"*\"),\n\t\tPATH_ABSOLUTE$ = subexp(\"\\\\/\" + subexp(SEGMENT_NZ$ + PATH_ABEMPTY$) + \"?\"),  //simplified\n\t\tPATH_NOSCHEME$ = subexp(SEGMENT_NZ_NC$ + PATH_ABEMPTY$),  //simplified\n\t\tPATH_ROOTLESS$ = subexp(SEGMENT_NZ$ + PATH_ABEMPTY$),  //simplified\n\t\tPATH_EMPTY$ = \"(?!\" + PCHAR$ + \")\",\n\t\tPATH$ = subexp(PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$),\n\t\tQUERY$ = subexp(subexp(PCHAR$ + \"|\" + merge(\"[\\\\/\\\\?]\", IPRIVATE$$)) + \"*\"),\n\t\tFRAGMENT$ = subexp(subexp(PCHAR$ + \"|[\\\\/\\\\?]\") + \"*\"),\n\t\tHIER_PART$ = subexp(subexp(\"\\\\/\\\\/\" + AUTHORITY$ + PATH_ABEMPTY$) + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$),\n\t\tURI$ = subexp(SCHEME$ + \"\\\\:\" + HIER_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\" + subexp(\"\\\\#\" + FRAGMENT$) + \"?\"),\n\t\tRELATIVE_PART$ = subexp(subexp(\"\\\\/\\\\/\" + AUTHORITY$ + PATH_ABEMPTY$) + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_EMPTY$),\n\t\tRELATIVE$ = subexp(RELATIVE_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\" + subexp(\"\\\\#\" + FRAGMENT$) + \"?\"),\n\t\tURI_REFERENCE$ = subexp(URI$ + \"|\" + RELATIVE$),\n\t\tABSOLUTE_URI$ = subexp(SCHEME$ + \"\\\\:\" + HIER_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\"),\n\n\t\tGENERIC_REF$ = \"^(\" + SCHEME$ + \")\\\\:\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n\t\tRELATIVE_REF$ = \"^(){0}\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n\t\tABSOLUTE_REF$ = \"^(\" + SCHEME$ + \")\\\\:\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?$\",\n\t\tSAMEDOC_REF$ = \"^\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n\t\tAUTHORITY_REF$ = \"^\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?$\"\n\t;\n\n\treturn {\n\t\tNOT_SCHEME : new RegExp(merge(\"[^]\", ALPHA$$, DIGIT$$, \"[\\\\+\\\\-\\\\.]\"), \"g\"),\n\t\tNOT_USERINFO : new RegExp(merge(\"[^\\\\%\\\\:]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n\t\tNOT_HOST : new RegExp(merge(\"[^\\\\%\\\\[\\\\]\\\\:]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n\t\tNOT_PATH : new RegExp(merge(\"[^\\\\%\\\\/\\\\:\\\\@]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n\t\tNOT_PATH_NOSCHEME : new RegExp(merge(\"[^\\\\%\\\\/\\\\@]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n\t\tNOT_QUERY : new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@\\\\/\\\\?]\", IPRIVATE$$), \"g\"),\n\t\tNOT_FRAGMENT : new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@\\\\/\\\\?]\"), \"g\"),\n\t\tESCAPE : new RegExp(merge(\"[^]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n\t\tUNRESERVED : new RegExp(UNRESERVED$$, \"g\"),\n\t\tOTHER_CHARS : new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, RESERVED$$), \"g\"),\n\t\tPCT_ENCODED : new RegExp(PCT_ENCODED$, \"g\"),\n\t\tIPV4ADDRESS : new RegExp(\"^(\" + IPV4ADDRESS$ + \")$\"),\n\t\tIPV6ADDRESS : new RegExp(\"^\\\\[?(\" + IPV6ADDRESS$ + \")\" + subexp(subexp(\"\\\\%25|\\\\%(?!\" + HEXDIG$$ + \"{2})\") + \"(\" + ZONEID$ + \")\") + \"?\\\\]?$\")  //RFC 6874, with relaxed parsing rules\n\t};\n}\n\nexport default buildExps(false);\n","import { URIRegExps } from \"./uri\";\nimport { buildExps } from \"./regexps-uri\";\n\nexport default buildExps(true);\n","'use strict';\n\n/** Highest positive signed 32-bit float value */\nconst maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\n\n/** Bootstring parameters */\nconst base = 36;\nconst tMin = 1;\nconst tMax = 26;\nconst skew = 38;\nconst damp = 700;\nconst initialBias = 72;\nconst initialN = 128; // 0x80\nconst delimiter = '-'; // '\\x2D'\n\n/** Regular expressions */\nconst regexPunycode = /^xn--/;\nconst regexNonASCII = /[^\\0-\\x7E]/; // non-ASCII chars\nconst regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\n\n/** Error messages */\nconst errors = {\n\t'overflow': 'Overflow: input needs wider integers to process',\n\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t'invalid-input': 'Invalid input'\n};\n\n/** Convenience shortcuts */\nconst baseMinusTMin = base - tMin;\nconst floor = Math.floor;\nconst stringFromCharCode = String.fromCharCode;\n\n/*--------------------------------------------------------------------------*/\n\n/**\n * A generic error utility function.\n * @private\n * @param {String} type The error type.\n * @returns {Error} Throws a `RangeError` with the applicable error message.\n */\nfunction error(type) {\n\tthrow new RangeError(errors[type]);\n}\n\n/**\n * A generic `Array#map` utility function.\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} callback The function that gets called for every array\n * item.\n * @returns {Array} A new array of values returned by the callback function.\n */\nfunction map(array, fn) {\n\tconst result = [];\n\tlet length = array.length;\n\twhile (length--) {\n\t\tresult[length] = fn(array[length]);\n\t}\n\treturn result;\n}\n\n/**\n * A simple `Array#map`-like wrapper to work with domain name strings or email\n * addresses.\n * @private\n * @param {String} domain The domain name or email address.\n * @param {Function} callback The function that gets called for every\n * character.\n * @returns {Array} A new string of characters returned by the callback\n * function.\n */\nfunction mapDomain(string, fn) {\n\tconst parts = string.split('@');\n\tlet result = '';\n\tif (parts.length > 1) {\n\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t// the local part (i.e. everything up to `@`) intact.\n\t\tresult = parts[0] + '@';\n\t\tstring = parts[1];\n\t}\n\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\tstring = string.replace(regexSeparators, '\\x2E');\n\tconst labels = string.split('.');\n\tconst encoded = map(labels, fn).join('.');\n\treturn result + encoded;\n}\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n * @see `punycode.ucs2.encode`\n * @see <https://mathiasbynens.be/notes/javascript-encoding>\n * @memberOf punycode.ucs2\n * @name decode\n * @param {String} string The Unicode input string (UCS-2).\n * @returns {Array} The new array of code points.\n */\nfunction ucs2decode(string) {\n\tconst output = [];\n\tlet counter = 0;\n\tconst length = string.length;\n\twhile (counter < length) {\n\t\tconst value = string.charCodeAt(counter++);\n\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t// It's a high surrogate, and there is a next character.\n\t\t\tconst extra = string.charCodeAt(counter++);\n\t\t\tif ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t} else {\n\t\t\t\t// It's an unmatched surrogate; only append this code unit, in case the\n\t\t\t\t// next code unit is the high surrogate of a surrogate pair.\n\t\t\t\toutput.push(value);\n\t\t\t\tcounter--;\n\t\t\t}\n\t\t} else {\n\t\t\toutput.push(value);\n\t\t}\n\t}\n\treturn output;\n}\n\n/**\n * Creates a string based on an array of numeric code points.\n * @see `punycode.ucs2.decode`\n * @memberOf punycode.ucs2\n * @name encode\n * @param {Array} codePoints The array of numeric code points.\n * @returns {String} The new Unicode string (UCS-2).\n */\nconst ucs2encode = array => String.fromCodePoint(...array);\n\n/**\n * Converts a basic code point into a digit/integer.\n * @see `digitToBasic()`\n * @private\n * @param {Number} codePoint The basic numeric code point value.\n * @returns {Number} The numeric value of a basic code point (for use in\n * representing integers) in the range `0` to `base - 1`, or `base` if\n * the code point does not represent a value.\n */\nconst basicToDigit = function(codePoint) {\n\tif (codePoint - 0x30 < 0x0A) {\n\t\treturn codePoint - 0x16;\n\t}\n\tif (codePoint - 0x41 < 0x1A) {\n\t\treturn codePoint - 0x41;\n\t}\n\tif (codePoint - 0x61 < 0x1A) {\n\t\treturn codePoint - 0x61;\n\t}\n\treturn base;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n * @see `basicToDigit()`\n * @private\n * @param {Number} digit The numeric value of a basic code point.\n * @returns {Number} The basic code point whose value (when used for\n * representing integers) is `digit`, which needs to be in the range\n * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n * used; else, the lowercase form is used. The behavior is undefined\n * if `flag` is non-zero and `digit` has no uppercase form.\n */\nconst digitToBasic = function(digit, flag) {\n\t//  0..25 map to ASCII a..z or A..Z\n\t// 26..35 map to ASCII 0..9\n\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n * @private\n */\nconst adapt = function(delta, numPoints, firstTime) {\n\tlet k = 0;\n\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\tdelta += floor(delta / numPoints);\n\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\tdelta = floor(delta / baseMinusTMin);\n\t}\n\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n * symbols.\n * @memberOf punycode\n * @param {String} input The Punycode string of ASCII-only symbols.\n * @returns {String} The resulting string of Unicode symbols.\n */\nconst decode = function(input) {\n\t// Don't use UCS-2.\n\tconst output = [];\n\tconst inputLength = input.length;\n\tlet i = 0;\n\tlet n = initialN;\n\tlet bias = initialBias;\n\n\t// Handle the basic code points: let `basic` be the number of input code\n\t// points before the last delimiter, or `0` if there is none, then copy\n\t// the first basic code points to the output.\n\n\tlet basic = input.lastIndexOf(delimiter);\n\tif (basic < 0) {\n\t\tbasic = 0;\n\t}\n\n\tfor (let j = 0; j < basic; ++j) {\n\t\t// if it's not a basic code point\n\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\terror('not-basic');\n\t\t}\n\t\toutput.push(input.charCodeAt(j));\n\t}\n\n\t// Main decoding loop: start just after the last delimiter if any basic code\n\t// points were copied; start at the beginning otherwise.\n\n\tfor (let index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t// `index` is the index of the next character to be consumed.\n\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t// which gets added to `i`. The overflow checking is easier\n\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t// value at the end to obtain `delta`.\n\t\tlet oldi = i;\n\t\tfor (let w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\tif (index >= inputLength) {\n\t\t\t\terror('invalid-input');\n\t\t\t}\n\n\t\t\tconst digit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\ti += digit * w;\n\t\t\tconst t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\tif (digit < t) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tconst baseMinusT = base - t;\n\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tw *= baseMinusT;\n\n\t\t}\n\n\t\tconst out = output.length + 1;\n\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t// incrementing `n` each time, so we'll fix that now:\n\t\tif (floor(i / out) > maxInt - n) {\n\t\t\terror('overflow');\n\t\t}\n\n\t\tn += floor(i / out);\n\t\ti %= out;\n\n\t\t// Insert `n` at position `i` of the output.\n\t\toutput.splice(i++, 0, n);\n\n\t}\n\n\treturn String.fromCodePoint(...output);\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n * @memberOf punycode\n * @param {String} input The string of Unicode symbols.\n * @returns {String} The resulting Punycode string of ASCII-only symbols.\n */\nconst encode = function(input) {\n\tconst output = [];\n\n\t// Convert the input in UCS-2 to an array of Unicode code points.\n\tinput = ucs2decode(input);\n\n\t// Cache the length.\n\tlet inputLength = input.length;\n\n\t// Initialize the state.\n\tlet n = initialN;\n\tlet delta = 0;\n\tlet bias = initialBias;\n\n\t// Handle the basic code points.\n\tfor (const currentValue of input) {\n\t\tif (currentValue < 0x80) {\n\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t}\n\t}\n\n\tlet basicLength = output.length;\n\tlet handledCPCount = basicLength;\n\n\t// `handledCPCount` is the number of code points that have been handled;\n\t// `basicLength` is the number of basic code points.\n\n\t// Finish the basic string with a delimiter unless it's empty.\n\tif (basicLength) {\n\t\toutput.push(delimiter);\n\t}\n\n\t// Main encoding loop:\n\twhile (handledCPCount < inputLength) {\n\n\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t// larger one:\n\t\tlet m = maxInt;\n\t\tfor (const currentValue of input) {\n\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\tm = currentValue;\n\t\t\t}\n\t\t}\n\n\t\t// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,\n\t\t// but guard against overflow.\n\t\tconst handledCPCountPlusOne = handledCPCount + 1;\n\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\terror('overflow');\n\t\t}\n\n\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\tn = m;\n\n\t\tfor (const currentValue of input) {\n\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\t\t\tif (currentValue == n) {\n\t\t\t\t// Represent delta as a generalized variable-length integer.\n\t\t\t\tlet q = delta;\n\t\t\t\tfor (let k = base; /* no condition */; k += base) {\n\t\t\t\t\tconst t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tconst qMinusT = q - t;\n\t\t\t\t\tconst baseMinusT = base - t;\n\t\t\t\t\toutput.push(\n\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t);\n\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t}\n\n\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\tdelta = 0;\n\t\t\t\t++handledCPCount;\n\t\t\t}\n\t\t}\n\n\t\t++delta;\n\t\t++n;\n\n\t}\n\treturn output.join('');\n};\n\n/**\n * Converts a Punycode string representing a domain name or an email address\n * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n * it doesn't matter if you call it on a string that has already been\n * converted to Unicode.\n * @memberOf punycode\n * @param {String} input The Punycoded domain name or email address to\n * convert to Unicode.\n * @returns {String} The Unicode representation of the given Punycode\n * string.\n */\nconst toUnicode = function(input) {\n\treturn mapDomain(input, function(string) {\n\t\treturn regexPunycode.test(string)\n\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t: string;\n\t});\n};\n\n/**\n * Converts a Unicode string representing a domain name or an email address to\n * Punycode. Only the non-ASCII parts of the domain name will be converted,\n * i.e. it doesn't matter if you call it with a domain that's already in\n * ASCII.\n * @memberOf punycode\n * @param {String} input The domain name or email address to convert, as a\n * Unicode string.\n * @returns {String} The Punycode representation of the given domain name or\n * email address.\n */\nconst toASCII = function(input) {\n\treturn mapDomain(input, function(string) {\n\t\treturn regexNonASCII.test(string)\n\t\t\t? 'xn--' + encode(string)\n\t\t\t: string;\n\t});\n};\n\n/*--------------------------------------------------------------------------*/\n\n/** Define the public API */\nconst punycode = {\n\t/**\n\t * A string representing the current Punycode.js version number.\n\t * @memberOf punycode\n\t * @type String\n\t */\n\t'version': '2.1.0',\n\t/**\n\t * An object of methods to convert from JavaScript's internal character\n\t * representation (UCS-2) to Unicode code points, and back.\n\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t * @memberOf punycode\n\t * @type Object\n\t */\n\t'ucs2': {\n\t\t'decode': ucs2decode,\n\t\t'encode': ucs2encode\n\t},\n\t'decode': decode,\n\t'encode': encode,\n\t'toASCII': toASCII,\n\t'toUnicode': toUnicode\n};\n\nexport default punycode;\n","/**\n * URI.js\n *\n * @fileoverview An RFC 3986 compliant, scheme extendable URI parsing/validating/resolving library for JavaScript.\n * @author <a href=\"mailto:gary.court@gmail.com\">Gary Court</a>\n * @see http://github.com/garycourt/uri-js\n */\n\n/**\n * Copyright 2011 Gary Court. All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification, are\n * permitted provided that the following conditions are met:\n *\n *    1. Redistributions of source code must retain the above copyright notice, this list of\n *       conditions and the following disclaimer.\n *\n *    2. Redistributions in binary form must reproduce the above copyright notice, this list\n *       of conditions and the following disclaimer in the documentation and/or other materials\n *       provided with the distribution.\n *\n * THIS SOFTWARE IS PROVIDED BY GARY COURT ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND\n * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARY COURT OR\n * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\n * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\n * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * The views and conclusions contained in the software and documentation are those of the\n * authors and should not be interpreted as representing official policies, either expressed\n * or implied, of Gary Court.\n */\n\nimport URI_PROTOCOL from \"./regexps-uri\";\nimport IRI_PROTOCOL from \"./regexps-iri\";\nimport punycode from \"punycode\";\nimport { toUpperCase, typeOf, assign } from \"./util\";\n\nexport interface URIComponents {\n\tscheme?:string;\n\tuserinfo?:string;\n\thost?:string;\n\tport?:number|string;\n\tpath?:string;\n\tquery?:string;\n\tfragment?:string;\n\treference?:string;\n\terror?:string;\n}\n\nexport interface URIOptions {\n\tscheme?:string;\n\treference?:string;\n\ttolerant?:boolean;\n\tabsolutePath?:boolean;\n\tiri?:boolean;\n\tunicodeSupport?:boolean;\n\tdomainHost?:boolean;\n}\n\nexport interface URISchemeHandler<Components extends URIComponents = URIComponents, Options extends URIOptions = URIOptions, ParentComponents extends URIComponents = URIComponents> {\n\tscheme:string;\n\tparse(components:ParentComponents, options:Options):Components;\n\tserialize(components:Components, options:Options):ParentComponents;\n\tunicodeSupport?:boolean;\n\tdomainHost?:boolean;\n\tabsolutePath?:boolean;\n}\n\nexport interface URIRegExps {\n\tNOT_SCHEME : RegExp,\n\tNOT_USERINFO : RegExp,\n\tNOT_HOST : RegExp,\n\tNOT_PATH : RegExp,\n\tNOT_PATH_NOSCHEME : RegExp,\n\tNOT_QUERY : RegExp,\n\tNOT_FRAGMENT : RegExp,\n\tESCAPE : RegExp,\n\tUNRESERVED : RegExp,\n\tOTHER_CHARS : RegExp,\n\tPCT_ENCODED : RegExp,\n\tIPV4ADDRESS : RegExp,\n\tIPV6ADDRESS : RegExp,\n}\n\nexport const SCHEMES:{[scheme:string]:URISchemeHandler} = {};\n\nexport function pctEncChar(chr:string):string {\n\tconst c = chr.charCodeAt(0);\n\tlet e:string;\n\n\tif (c < 16) e = \"%0\" + c.toString(16).toUpperCase();\n\telse if (c < 128) e = \"%\" + c.toString(16).toUpperCase();\n\telse if (c < 2048) e = \"%\" + ((c >> 6) | 192).toString(16).toUpperCase() + \"%\" + ((c & 63) | 128).toString(16).toUpperCase();\n\telse e = \"%\" + ((c >> 12) | 224).toString(16).toUpperCase() + \"%\" + (((c >> 6) & 63) | 128).toString(16).toUpperCase() + \"%\" + ((c & 63) | 128).toString(16).toUpperCase();\n\n\treturn e;\n}\n\nexport function pctDecChars(str:string):string {\n\tlet newStr = \"\";\n\tlet i = 0;\n\tconst il = str.length;\n\n\twhile (i < il) {\n\t\tconst c = parseInt(str.substr(i + 1, 2), 16);\n\n\t\tif (c < 128) {\n\t\t\tnewStr += String.fromCharCode(c);\n\t\t\ti += 3;\n\t\t}\n\t\telse if (c >= 194 && c < 224) {\n\t\t\tif ((il - i) >= 6) {\n\t\t\t\tconst c2 = parseInt(str.substr(i + 4, 2), 16);\n\t\t\t\tnewStr += String.fromCharCode(((c & 31) << 6) | (c2 & 63));\n\t\t\t} else {\n\t\t\t\tnewStr += str.substr(i, 6);\n\t\t\t}\n\t\t\ti += 6;\n\t\t}\n\t\telse if (c >= 224) {\n\t\t\tif ((il - i) >= 9) {\n\t\t\t\tconst c2 = parseInt(str.substr(i + 4, 2), 16);\n\t\t\t\tconst c3 = parseInt(str.substr(i + 7, 2), 16);\n\t\t\t\tnewStr += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));\n\t\t\t} else {\n\t\t\t\tnewStr += str.substr(i, 9);\n\t\t\t}\n\t\t\ti += 9;\n\t\t}\n\t\telse {\n\t\t\tnewStr += str.substr(i, 3);\n\t\t\ti += 3;\n\t\t}\n\t}\n\n\treturn newStr;\n}\n\nfunction _normalizeComponentEncoding(components:URIComponents, protocol:URIRegExps) {\n\tfunction decodeUnreserved(str:string):string {\n\t\tconst decStr = pctDecChars(str);\n\t\treturn (!decStr.match(protocol.UNRESERVED) ? str : decStr);\n\t}\n\n\tif (components.scheme) components.scheme = String(components.scheme).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_SCHEME, \"\");\n\tif (components.userinfo !== undefined) components.userinfo = String(components.userinfo).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_USERINFO, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n\tif (components.host !== undefined) components.host = String(components.host).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_HOST, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n\tif (components.path !== undefined) components.path = String(components.path).replace(protocol.PCT_ENCODED, decodeUnreserved).replace((components.scheme ? protocol.NOT_PATH : protocol.NOT_PATH_NOSCHEME), pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n\tif (components.query !== undefined) components.query = String(components.query).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_QUERY, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n\tif (components.fragment !== undefined) components.fragment = String(components.fragment).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_FRAGMENT, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n\n\treturn components;\n};\n\nfunction _stripLeadingZeros(str:string):string {\n\treturn str.replace(/^0*(.*)/, \"$1\") || \"0\";\n}\n\nfunction _normalizeIPv4(host:string, protocol:URIRegExps):string {\n\tconst matches = host.match(protocol.IPV4ADDRESS) || [];\n\tconst [, address] = matches;\n\t\n\tif (address) {\n\t\treturn address.split(\".\").map(_stripLeadingZeros).join(\".\");\n\t} else {\n\t\treturn host;\n\t}\n}\n\nfunction _normalizeIPv6(host:string, protocol:URIRegExps):string {\n\tconst matches = host.match(protocol.IPV6ADDRESS) || [];\n\tconst [, address, zone] = matches;\n\n\tif (address) {\n\t\tconst [last, first] = address.toLowerCase().split('::').reverse();\n\t\tconst firstFields = first ? first.split(\":\").map(_stripLeadingZeros) : [];\n\t\tconst lastFields = last.split(\":\").map(_stripLeadingZeros);\n\t\tconst isLastFieldIPv4Address = protocol.IPV4ADDRESS.test(lastFields[lastFields.length - 1]);\n\t\tconst fieldCount = isLastFieldIPv4Address ? 7 : 8;\n\t\tconst lastFieldsStart = lastFields.length - fieldCount;\n\t\tconst fields = Array<string>(fieldCount);\n\n\t\tfor (let x = 0; x < fieldCount; ++x) {\n\t\t\tfields[x] = firstFields[x] || lastFields[lastFieldsStart + x] || '';\n\t\t}\n\n\t\tif (isLastFieldIPv4Address) {\n\t\t\tfields[fieldCount - 1] = _normalizeIPv4(fields[fieldCount - 1], protocol);\n\t\t}\n\n\t\tconst allZeroFields = fields.reduce<Array<{index:number,length:number}>>((acc, field, index) => {\n\t\t\tif (!field || field === \"0\") {\n\t\t\t\tconst lastLongest = acc[acc.length - 1];\n\t\t\t\tif (lastLongest && lastLongest.index + lastLongest.length === index) {\n\t\t\t\t\tlastLongest.length++;\n\t\t\t\t} else {\n\t\t\t\t\tacc.push({ index, length : 1 });\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, []);\n\n\t\tconst longestZeroFields = allZeroFields.sort((a, b) => b.length - a.length)[0];\n\n\t\tlet newHost:string;\n\t\tif (longestZeroFields && longestZeroFields.length > 1) {\n\t\t\tconst newFirst = fields.slice(0, longestZeroFields.index) ;\n\t\t\tconst newLast = fields.slice(longestZeroFields.index + longestZeroFields.length);\n\t\t\tnewHost = newFirst.join(\":\") + \"::\" + newLast.join(\":\");\n\t\t} else {\n\t\t\tnewHost = fields.join(\":\");\n\t\t}\n\n\t\tif (zone) {\n\t\t\tnewHost += \"%\" + zone;\n\t\t}\n\n\t\treturn newHost;\n\t} else {\n\t\treturn host;\n\t}\n}\n\nconst URI_PARSE = /^(?:([^:\\/?#]+):)?(?:\\/\\/((?:([^\\/?#@]*)@)?(\\[[^\\/?#\\]]+\\]|[^\\/?#:]*)(?:\\:(\\d*))?))?([^?#]*)(?:\\?([^#]*))?(?:#((?:.|\\n|\\r)*))?/i;\nconst NO_MATCH_IS_UNDEFINED = (<RegExpMatchArray>(\"\").match(/(){0}/))[1] === undefined;\n\nexport function parse(uriString:string, options:URIOptions = {}):URIComponents {\n\tconst components:URIComponents = {};\n\tconst protocol = (options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL);\n\n\tif (options.reference === \"suffix\") uriString = (options.scheme ? options.scheme + \":\" : \"\") + \"//\" + uriString;\n\n\tconst matches = uriString.match(URI_PARSE);\n\n\tif (matches) {\n\t\tif (NO_MATCH_IS_UNDEFINED) {\n\t\t\t//store each component\n\t\t\tcomponents.scheme = matches[1];\n\t\t\tcomponents.userinfo = matches[3];\n\t\t\tcomponents.host = matches[4];\n\t\t\tcomponents.port = parseInt(matches[5], 10);\n\t\t\tcomponents.path = matches[6] || \"\";\n\t\t\tcomponents.query = matches[7];\n\t\t\tcomponents.fragment = matches[8];\n\n\t\t\t//fix port number\n\t\t\tif (isNaN(components.port)) {\n\t\t\t\tcomponents.port = matches[5];\n\t\t\t}\n\t\t} else {  //IE FIX for improper RegExp matching\n\t\t\t//store each component\n\t\t\tcomponents.scheme = matches[1] || undefined;\n\t\t\tcomponents.userinfo = (uriString.indexOf(\"@\") !== -1 ? matches[3] : undefined);\n\t\t\tcomponents.host = (uriString.indexOf(\"//\") !== -1 ? matches[4] : undefined);\n\t\t\tcomponents.port = parseInt(matches[5], 10);\n\t\t\tcomponents.path = matches[6] || \"\";\n\t\t\tcomponents.query = (uriString.indexOf(\"?\") !== -1 ? matches[7] : undefined);\n\t\t\tcomponents.fragment = (uriString.indexOf(\"#\") !== -1 ? matches[8] : undefined);\n\n\t\t\t//fix port number\n\t\t\tif (isNaN(components.port)) {\n\t\t\t\tcomponents.port = (uriString.match(/\\/\\/(?:.|\\n)*\\:(?:\\/|\\?|\\#|$)/) ? matches[4] : undefined);\n\t\t\t}\n\t\t}\n\n\t\tif (components.host) {\n\t\t\t//normalize IP hosts\n\t\t\tcomponents.host = _normalizeIPv6(_normalizeIPv4(components.host, protocol), protocol);\n\t\t}\n\n\t\t//determine reference type\n\t\tif (components.scheme === undefined && components.userinfo === undefined && components.host === undefined && components.port === undefined && !components.path && components.query === undefined) {\n\t\t\tcomponents.reference = \"same-document\";\n\t\t} else if (components.scheme === undefined) {\n\t\t\tcomponents.reference = \"relative\";\n\t\t} else if (components.fragment === undefined) {\n\t\t\tcomponents.reference = \"absolute\";\n\t\t} else {\n\t\t\tcomponents.reference = \"uri\";\n\t\t}\n\n\t\t//check for reference errors\n\t\tif (options.reference && options.reference !== \"suffix\" && options.reference !== components.reference) {\n\t\t\tcomponents.error = components.error || \"URI is not a \" + options.reference + \" reference.\";\n\t\t}\n\n\t\t//find scheme handler\n\t\tconst schemeHandler = SCHEMES[(options.scheme || components.scheme || \"\").toLowerCase()];\n\n\t\t//check if scheme can't handle IRIs\n\t\tif (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) {\n\t\t\t//if host component is a domain name\n\t\t\tif (components.host && (options.domainHost || (schemeHandler && schemeHandler.domainHost))) {\n\t\t\t\t//convert Unicode IDN -> ASCII IDN\n\t\t\t\ttry {\n\t\t\t\t\tcomponents.host = punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase());\n\t\t\t\t} catch (e) {\n\t\t\t\t\tcomponents.error = components.error || \"Host's domain name can not be converted to ASCII via punycode: \" + e;\n\t\t\t\t}\n\t\t\t}\n\t\t\t//convert IRI -> URI\n\t\t\t_normalizeComponentEncoding(components, URI_PROTOCOL);\n\t\t} else {\n\t\t\t//normalize encodings\n\t\t\t_normalizeComponentEncoding(components, protocol);\n\t\t}\n\n\t\t//perform scheme specific parsing\n\t\tif (schemeHandler && schemeHandler.parse) {\n\t\t\tschemeHandler.parse(components, options);\n\t\t}\n\t} else {\n\t\tcomponents.error = components.error || \"URI can not be parsed.\";\n\t}\n\n\treturn components;\n};\n\nfunction _recomposeAuthority(components:URIComponents, options:URIOptions):string|undefined {\n\tconst protocol = (options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL);\n\tconst uriTokens:Array<string> = [];\n\n\tif (components.userinfo !== undefined) {\n\t\turiTokens.push(components.userinfo);\n\t\turiTokens.push(\"@\");\n\t}\n\n\tif (components.host !== undefined) {\n\t\t//normalize IP hosts, add brackets and escape zone separator for IPv6\n\t\turiTokens.push(_normalizeIPv6(_normalizeIPv4(String(components.host), protocol), protocol).replace(protocol.IPV6ADDRESS, (_, $1, $2) => \"[\" + $1 + ($2 ? \"%25\" + $2 : \"\") + \"]\"));\n\t}\n\n\tif (typeof components.port === \"number\" || typeof components.port === \"string\") {\n\t\turiTokens.push(\":\");\n\t\turiTokens.push(String(components.port));\n\t}\n\n\treturn uriTokens.length ? uriTokens.join(\"\") : undefined;\n};\n\nconst RDS1 = /^\\.\\.?\\//;\nconst RDS2 = /^\\/\\.(\\/|$)/;\nconst RDS3 = /^\\/\\.\\.(\\/|$)/;\nconst RDS4 = /^\\.\\.?$/;\nconst RDS5 = /^\\/?(?:.|\\n)*?(?=\\/|$)/;\n\nexport function removeDotSegments(input:string):string {\n\tconst output:Array<string> = [];\n\n\twhile (input.length) {\n\t\tif (input.match(RDS1)) {\n\t\t\tinput = input.replace(RDS1, \"\");\n\t\t} else if (input.match(RDS2)) {\n\t\t\tinput = input.replace(RDS2, \"/\");\n\t\t} else if (input.match(RDS3)) {\n\t\t\tinput = input.replace(RDS3, \"/\");\n\t\t\toutput.pop();\n\t\t} else if (input === \".\" || input === \"..\") {\n\t\t\tinput = \"\";\n\t\t} else {\n\t\t\tconst im = input.match(RDS5);\n\t\t\tif (im) {\n\t\t\t\tconst s = im[0];\n\t\t\t\tinput = input.slice(s.length);\n\t\t\t\toutput.push(s);\n\t\t\t} else {\n\t\t\t\tthrow new Error(\"Unexpected dot segment condition\");\n\t\t\t}\n\t\t}\n\t}\n\n\treturn output.join(\"\");\n};\n\nexport function serialize(components:URIComponents, options:URIOptions = {}):string {\n\tconst protocol = (options.iri ? IRI_PROTOCOL : URI_PROTOCOL);\n\tconst uriTokens:Array<string> = [];\n\n\t//find scheme handler\n\tconst schemeHandler = SCHEMES[(options.scheme || components.scheme || \"\").toLowerCase()];\n\n\t//perform scheme specific serialization\n\tif (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(components, options);\n\n\tif (components.host) {\n\t\t//if host component is an IPv6 address\n\t\tif (protocol.IPV6ADDRESS.test(components.host)) {\n\t\t\t//TODO: normalize IPv6 address as per RFC 5952\n\t\t}\n\n\t\t//if host component is a domain name\n\t\telse if (options.domainHost || (schemeHandler && schemeHandler.domainHost)) {\n\t\t\t//convert IDN via punycode\n\t\t\ttry {\n\t\t\t\tcomponents.host = (!options.iri ? punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()) : punycode.toUnicode(components.host));\n\t\t\t} catch (e) {\n\t\t\t\tcomponents.error = components.error || \"Host's domain name can not be converted to \" + (!options.iri ? \"ASCII\" : \"Unicode\") + \" via punycode: \" + e;\n\t\t\t}\n\t\t}\n\t}\n\n\t//normalize encoding\n\t_normalizeComponentEncoding(components, protocol);\n\n\tif (options.reference !== \"suffix\" && components.scheme) {\n\t\turiTokens.push(components.scheme);\n\t\turiTokens.push(\":\");\n\t}\n\n\tconst authority = _recomposeAuthority(components, options);\n\tif (authority !== undefined) {\n\t\tif (options.reference !== \"suffix\") {\n\t\t\turiTokens.push(\"//\");\n\t\t}\n\n\t\turiTokens.push(authority);\n\n\t\tif (components.path && components.path.charAt(0) !== \"/\") {\n\t\t\turiTokens.push(\"/\");\n\t\t}\n\t}\n\n\tif (components.path !== undefined) {\n\t\tlet s = components.path;\n\n\t\tif (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) {\n\t\t\ts = removeDotSegments(s);\n\t\t}\n\n\t\tif (authority === undefined) {\n\t\t\ts = s.replace(/^\\/\\//, \"/%2F\");  //don't allow the path to start with \"//\"\n\t\t}\n\n\t\turiTokens.push(s);\n\t}\n\n\tif (components.query !== undefined) {\n\t\turiTokens.push(\"?\");\n\t\turiTokens.push(components.query);\n\t}\n\n\tif (components.fragment !== undefined) {\n\t\turiTokens.push(\"#\");\n\t\turiTokens.push(components.fragment);\n\t}\n\n\treturn uriTokens.join(\"\");  //merge tokens into a string\n};\n\nexport function resolveComponents(base:URIComponents, relative:URIComponents, options:URIOptions = {}, skipNormalization?:boolean):URIComponents {\n\tconst target:URIComponents = {};\n\n\tif (!skipNormalization) {\n\t\tbase = parse(serialize(base, options), options);  //normalize base components\n\t\trelative = parse(serialize(relative, options), options);  //normalize relative components\n\t}\n\toptions = options || {};\n\n\tif (!options.tolerant && relative.scheme) {\n\t\ttarget.scheme = relative.scheme;\n\t\t//target.authority = relative.authority;\n\t\ttarget.userinfo = relative.userinfo;\n\t\ttarget.host = relative.host;\n\t\ttarget.port = relative.port;\n\t\ttarget.path = removeDotSegments(relative.path || \"\");\n\t\ttarget.query = relative.query;\n\t} else {\n\t\tif (relative.userinfo !== undefined || relative.host !== undefined || relative.port !== undefined) {\n\t\t\t//target.authority = relative.authority;\n\t\t\ttarget.userinfo = relative.userinfo;\n\t\t\ttarget.host = relative.host;\n\t\t\ttarget.port = relative.port;\n\t\t\ttarget.path = removeDotSegments(relative.path || \"\");\n\t\t\ttarget.query = relative.query;\n\t\t} else {\n\t\t\tif (!relative.path) {\n\t\t\t\ttarget.path = base.path;\n\t\t\t\tif (relative.query !== undefined) {\n\t\t\t\t\ttarget.query = relative.query;\n\t\t\t\t} else {\n\t\t\t\t\ttarget.query = base.query;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (relative.path.charAt(0) === \"/\") {\n\t\t\t\t\ttarget.path = removeDotSegments(relative.path);\n\t\t\t\t} else {\n\t\t\t\t\tif ((base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && !base.path) {\n\t\t\t\t\t\ttarget.path = \"/\" + relative.path;\n\t\t\t\t\t} else if (!base.path) {\n\t\t\t\t\t\ttarget.path = relative.path;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttarget.path = base.path.slice(0, base.path.lastIndexOf(\"/\") + 1) + relative.path;\n\t\t\t\t\t}\n\t\t\t\t\ttarget.path = removeDotSegments(target.path);\n\t\t\t\t}\n\t\t\t\ttarget.query = relative.query;\n\t\t\t}\n\t\t\t//target.authority = base.authority;\n\t\t\ttarget.userinfo = base.userinfo;\n\t\t\ttarget.host = base.host;\n\t\t\ttarget.port = base.port;\n\t\t}\n\t\ttarget.scheme = base.scheme;\n\t}\n\n\ttarget.fragment = relative.fragment;\n\n\treturn target;\n};\n\nexport function resolve(baseURI:string, relativeURI:string, options?:URIOptions):string {\n\tconst schemelessOptions = assign({ scheme : 'null' }, options);\n\treturn serialize(resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true), schemelessOptions);\n};\n\nexport function normalize(uri:string, options?:URIOptions):string;\nexport function normalize(uri:URIComponents, options?:URIOptions):URIComponents;\nexport function normalize(uri:any, options?:URIOptions):any {\n\tif (typeof uri === \"string\") {\n\t\turi = serialize(parse(uri, options), options);\n\t} else if (typeOf(uri) === \"object\") {\n\t\turi = parse(serialize(<URIComponents>uri, options), options);\n\t}\n\n\treturn uri;\n};\n\nexport function equal(uriA:string, uriB:string, options?: URIOptions):boolean;\nexport function equal(uriA:URIComponents, uriB:URIComponents, options?:URIOptions):boolean;\nexport function equal(uriA:any, uriB:any, options?:URIOptions):boolean {\n\tif (typeof uriA === \"string\") {\n\t\turiA = serialize(parse(uriA, options), options);\n\t} else if (typeOf(uriA) === \"object\") {\n\t\turiA = serialize(<URIComponents>uriA, options);\n\t}\n\n\tif (typeof uriB === \"string\") {\n\t\turiB = serialize(parse(uriB, options), options);\n\t} else if (typeOf(uriB) === \"object\") {\n\t\turiB = serialize(<URIComponents>uriB, options);\n\t}\n\n\treturn uriA === uriB;\n};\n\nexport function escapeComponent(str:string, options?:URIOptions):string {\n\treturn str && str.toString().replace((!options || !options.iri ? URI_PROTOCOL.ESCAPE : IRI_PROTOCOL.ESCAPE), pctEncChar);\n};\n\nexport function unescapeComponent(str:string, options?:URIOptions):string {\n\treturn str && str.toString().replace((!options || !options.iri ? URI_PROTOCOL.PCT_ENCODED : IRI_PROTOCOL.PCT_ENCODED), pctDecChars);\n};\n","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\n\nconst handler:URISchemeHandler = {\n\tscheme : \"http\",\n\n\tdomainHost : true,\n\n\tparse : function (components:URIComponents, options:URIOptions):URIComponents {\n\t\t//report missing host\n\t\tif (!components.host) {\n\t\t\tcomponents.error = components.error || \"HTTP URIs must have a host.\";\n\t\t}\n\n\t\treturn components;\n\t},\n\n\tserialize : function (components:URIComponents, options:URIOptions):URIComponents {\n\t\tconst secure = String(components.scheme).toLowerCase() === \"https\";\n\n\t\t//normalize the default port\n\t\tif (components.port === (secure ? 443 : 80) || components.port === \"\") {\n\t\t\tcomponents.port = undefined;\n\t\t}\n\t\t\n\t\t//normalize the empty path\n\t\tif (!components.path) {\n\t\t\tcomponents.path = \"/\";\n\t\t}\n\n\t\t//NOTE: We do not parse query strings for HTTP URIs\n\t\t//as WWW Form Url Encoded query strings are part of the HTML4+ spec,\n\t\t//and not the HTTP spec.\n\n\t\treturn components;\n\t}\n};\n\nexport default handler;","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\nimport http from \"./http\";\n\nconst handler:URISchemeHandler = {\n\tscheme : \"https\",\n\tdomainHost : http.domainHost,\n\tparse : http.parse,\n\tserialize : http.serialize\n}\n\nexport default handler;","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\n\nexport interface WSComponents extends URIComponents {\n\tresourceName?: string;\n\tsecure?: boolean;\n}\n\nfunction isSecure(wsComponents:WSComponents):boolean {\n\treturn typeof wsComponents.secure === 'boolean' ? wsComponents.secure : String(wsComponents.scheme).toLowerCase() === \"wss\";\n}\n\n//RFC 6455\nconst handler:URISchemeHandler = {\n\tscheme : \"ws\",\n\n\tdomainHost : true,\n\n\tparse : function (components:URIComponents, options:URIOptions):WSComponents {\n\t\tconst wsComponents = components as WSComponents;\n\n\t\t//indicate if the secure flag is set\n\t\twsComponents.secure = isSecure(wsComponents);\n\n\t\t//construct resouce name\n\t\twsComponents.resourceName = (wsComponents.path || '/') + (wsComponents.query ? '?' + wsComponents.query : '');\n\t\twsComponents.path = undefined;\n\t\twsComponents.query = undefined;\n\n\t\treturn wsComponents;\n\t},\n\n\tserialize : function (wsComponents:WSComponents, options:URIOptions):URIComponents {\n\t\t//normalize the default port\n\t\tif (wsComponents.port === (isSecure(wsComponents) ? 443 : 80) || wsComponents.port === \"\") {\n\t\t\twsComponents.port = undefined;\n\t\t}\n\n\t\t//ensure scheme matches secure flag\n\t\tif (typeof wsComponents.secure === 'boolean') {\n\t\t\twsComponents.scheme = (wsComponents.secure ? 'wss' : 'ws');\n\t\t\twsComponents.secure = undefined;\n\t\t}\n\n\t\t//reconstruct path from resource name\n\t\tif (wsComponents.resourceName) {\n\t\t\tconst [path, query] = wsComponents.resourceName.split('?');\n\t\t\twsComponents.path = (path && path !== '/' ? path : undefined);\n\t\t\twsComponents.query = query;\n\t\t\twsComponents.resourceName = undefined;\n\t\t}\n\n\t\t//forbid fragment component\n\t\twsComponents.fragment = undefined;\n\n\t\treturn wsComponents;\n\t}\n};\n\nexport default handler;","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\nimport ws from \"./ws\";\n\nconst handler:URISchemeHandler = {\n\tscheme : \"wss\",\n\tdomainHost : ws.domainHost,\n\tparse : ws.parse,\n\tserialize : ws.serialize\n}\n\nexport default handler;","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\nimport { pctEncChar, pctDecChars, unescapeComponent } from \"../uri\";\nimport punycode from \"punycode\";\nimport { merge, subexp, toUpperCase, toArray } from \"../util\";\n\nexport interface MailtoHeaders {\n\t[hfname:string]:string\n}\n\nexport interface MailtoComponents extends URIComponents {\n\tto:Array<string>,\n\theaders?:MailtoHeaders,\n\tsubject?:string,\n\tbody?:string\n}\n\nconst O:MailtoHeaders = {};\nconst isIRI = true;\n\n//RFC 3986\nconst UNRESERVED$$ = \"[A-Za-z0-9\\\\-\\\\.\\\\_\\\\~\" + (isIRI ? \"\\\\xA0-\\\\u200D\\\\u2010-\\\\u2029\\\\u202F-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF\" : \"\") + \"]\";\nconst HEXDIG$$ = \"[0-9A-Fa-f]\";  //case-insensitive\nconst PCT_ENCODED$ = subexp(subexp(\"%[EFef]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%[89A-Fa-f]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%\" + HEXDIG$$ + HEXDIG$$));  //expanded\n\n//RFC 5322, except these symbols as per RFC 6068: @ : / ? # [ ] & ; =\n//const ATEXT$$ = \"[A-Za-z0-9\\\\!\\\\#\\\\$\\\\%\\\\&\\\\'\\\\*\\\\+\\\\-\\\\/\\\\=\\\\?\\\\^\\\\_\\\\`\\\\{\\\\|\\\\}\\\\~]\";\n//const WSP$$ = \"[\\\\x20\\\\x09]\";\n//const OBS_QTEXT$$ = \"[\\\\x01-\\\\x08\\\\x0B\\\\x0C\\\\x0E-\\\\x1F\\\\x7F]\";  //(%d1-8 / %d11-12 / %d14-31 / %d127)\n//const QTEXT$$ = merge(\"[\\\\x21\\\\x23-\\\\x5B\\\\x5D-\\\\x7E]\", OBS_QTEXT$$);  //%d33 / %d35-91 / %d93-126 / obs-qtext\n//const VCHAR$$ = \"[\\\\x21-\\\\x7E]\";\n//const WSP$$ = \"[\\\\x20\\\\x09]\";\n//const OBS_QP$ = subexp(\"\\\\\\\\\" + merge(\"[\\\\x00\\\\x0D\\\\x0A]\", OBS_QTEXT$$));  //%d0 / CR / LF / obs-qtext\n//const FWS$ = subexp(subexp(WSP$$ + \"*\" + \"\\\\x0D\\\\x0A\") + \"?\" + WSP$$ + \"+\");\n//const QUOTED_PAIR$ = subexp(subexp(\"\\\\\\\\\" + subexp(VCHAR$$ + \"|\" + WSP$$)) + \"|\" + OBS_QP$);\n//const QUOTED_STRING$ = subexp('\\\\\"' + subexp(FWS$ + \"?\" + QCONTENT$) + \"*\" + FWS$ + \"?\" + '\\\\\"');\nconst ATEXT$$ = \"[A-Za-z0-9\\\\!\\\\$\\\\%\\\\'\\\\*\\\\+\\\\-\\\\^\\\\_\\\\`\\\\{\\\\|\\\\}\\\\~]\";\nconst QTEXT$$ = \"[\\\\!\\\\$\\\\%\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\-\\\\.0-9\\\\<\\\\>A-Z\\\\x5E-\\\\x7E]\";\nconst VCHAR$$ = merge(QTEXT$$, \"[\\\\\\\"\\\\\\\\]\");\nconst DOT_ATOM_TEXT$ = subexp(ATEXT$$ + \"+\" + subexp(\"\\\\.\" + ATEXT$$ + \"+\") + \"*\");\nconst QUOTED_PAIR$ = subexp(\"\\\\\\\\\" + VCHAR$$);\nconst QCONTENT$ = subexp(QTEXT$$ + \"|\" + QUOTED_PAIR$);\nconst QUOTED_STRING$ = subexp('\\\\\"' + QCONTENT$ + \"*\" + '\\\\\"');\n\n//RFC 6068\nconst DTEXT_NO_OBS$$ = \"[\\\\x21-\\\\x5A\\\\x5E-\\\\x7E]\";  //%d33-90 / %d94-126\nconst SOME_DELIMS$$ = \"[\\\\!\\\\$\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\;\\\\:\\\\@]\";\nconst QCHAR$ = subexp(UNRESERVED$$ + \"|\" + PCT_ENCODED$ + \"|\" + SOME_DELIMS$$);\nconst DOMAIN$ = subexp(DOT_ATOM_TEXT$ + \"|\" + \"\\\\[\" + DTEXT_NO_OBS$$ + \"*\" + \"\\\\]\");\nconst LOCAL_PART$ = subexp(DOT_ATOM_TEXT$ + \"|\" + QUOTED_STRING$);\nconst ADDR_SPEC$ = subexp(LOCAL_PART$ + \"\\\\@\" + DOMAIN$);\nconst TO$ = subexp(ADDR_SPEC$ + subexp(\"\\\\,\" + ADDR_SPEC$) + \"*\");\nconst HFNAME$ = subexp(QCHAR$ + \"*\");\nconst HFVALUE$ = HFNAME$;\nconst HFIELD$ = subexp(HFNAME$ + \"\\\\=\" + HFVALUE$);\nconst HFIELDS2$ = subexp(HFIELD$ + subexp(\"\\\\&\" + HFIELD$) + \"*\");\nconst HFIELDS$ = subexp(\"\\\\?\" + HFIELDS2$);\nconst MAILTO_URI = new RegExp(\"^mailto\\\\:\" + TO$ + \"?\" + HFIELDS$ + \"?$\");\n\nconst UNRESERVED = new RegExp(UNRESERVED$$, \"g\");\nconst PCT_ENCODED = new RegExp(PCT_ENCODED$, \"g\");\nconst NOT_LOCAL_PART = new RegExp(merge(\"[^]\", ATEXT$$, \"[\\\\.]\", '[\\\\\"]', VCHAR$$), \"g\");\nconst NOT_DOMAIN = new RegExp(merge(\"[^]\", ATEXT$$, \"[\\\\.]\", \"[\\\\[]\", DTEXT_NO_OBS$$, \"[\\\\]]\"), \"g\");\nconst NOT_HFNAME = new RegExp(merge(\"[^]\", UNRESERVED$$, SOME_DELIMS$$), \"g\");\nconst NOT_HFVALUE = NOT_HFNAME;\nconst TO = new RegExp(\"^\" + TO$ + \"$\");\nconst HFIELDS = new RegExp(\"^\" + HFIELDS2$ + \"$\");\n\nfunction decodeUnreserved(str:string):string {\n\tconst decStr = pctDecChars(str);\n\treturn (!decStr.match(UNRESERVED) ? str : decStr);\n}\n\nconst handler:URISchemeHandler<MailtoComponents> =  {\n\tscheme : \"mailto\",\n\n\tparse : function (components:URIComponents, options:URIOptions):MailtoComponents {\n\t\tconst mailtoComponents = components as MailtoComponents;\n\t\tconst to = mailtoComponents.to = (mailtoComponents.path ? mailtoComponents.path.split(\",\") : []);\n\t\tmailtoComponents.path = undefined;\n\n\t\tif (mailtoComponents.query) {\n\t\t\tlet unknownHeaders = false\n\t\t\tconst headers:MailtoHeaders = {};\n\t\t\tconst hfields = mailtoComponents.query.split(\"&\");\n\n\t\t\tfor (let x = 0, xl = hfields.length; x < xl; ++x) {\n\t\t\t\tconst hfield = hfields[x].split(\"=\");\n\n\t\t\t\tswitch (hfield[0]) {\n\t\t\t\t\tcase \"to\":\n\t\t\t\t\t\tconst toAddrs = hfield[1].split(\",\");\n\t\t\t\t\t\tfor (let x = 0, xl = toAddrs.length; x < xl; ++x) {\n\t\t\t\t\t\t\tto.push(toAddrs[x]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"subject\":\n\t\t\t\t\t\tmailtoComponents.subject = unescapeComponent(hfield[1], options);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"body\":\n\t\t\t\t\t\tmailtoComponents.body = unescapeComponent(hfield[1], options);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tunknownHeaders = true;\n\t\t\t\t\t\theaders[unescapeComponent(hfield[0], options)] = unescapeComponent(hfield[1], options);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (unknownHeaders) mailtoComponents.headers = headers;\n\t\t}\n\n\t\tmailtoComponents.query = undefined;\n\n\t\tfor (let x = 0, xl = to.length; x < xl; ++x) {\n\t\t\tconst addr = to[x].split(\"@\");\n\n\t\t\taddr[0] = unescapeComponent(addr[0]);\n\n\t\t\tif (!options.unicodeSupport) {\n\t\t\t\t//convert Unicode IDN -> ASCII IDN\n\t\t\t\ttry {\n\t\t\t\t\taddr[1] = punycode.toASCII(unescapeComponent(addr[1], options).toLowerCase());\n\t\t\t\t} catch (e) {\n\t\t\t\t\tmailtoComponents.error = mailtoComponents.error || \"Email address's domain name can not be converted to ASCII via punycode: \" + e;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\taddr[1] = unescapeComponent(addr[1], options).toLowerCase();\n\t\t\t}\n\n\t\t\tto[x] = addr.join(\"@\");\n\t\t}\n\n\t\treturn mailtoComponents;\n\t},\n\n\tserialize : function (mailtoComponents:MailtoComponents, options:URIOptions):URIComponents {\n\t\tconst components = mailtoComponents as URIComponents;\n\t\tconst to = toArray(mailtoComponents.to);\n\t\tif (to) {\n\t\t\tfor (let x = 0, xl = to.length; x < xl; ++x) {\n\t\t\t\tconst toAddr = String(to[x]);\n\t\t\t\tconst atIdx = toAddr.lastIndexOf(\"@\");\n\t\t\t\tconst localPart = (toAddr.slice(0, atIdx)).replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_LOCAL_PART, pctEncChar);\n\t\t\t\tlet domain = toAddr.slice(atIdx + 1);\n\n\t\t\t\t//convert IDN via punycode\n\t\t\t\ttry {\n\t\t\t\t\tdomain = (!options.iri ? punycode.toASCII(unescapeComponent(domain, options).toLowerCase()) : punycode.toUnicode(domain));\n\t\t\t\t} catch (e) {\n\t\t\t\t\tcomponents.error = components.error || \"Email address's domain name can not be converted to \" + (!options.iri ? \"ASCII\" : \"Unicode\") + \" via punycode: \" + e;\n\t\t\t\t}\n\n\t\t\t\tto[x] = localPart + \"@\" + domain;\n\t\t\t}\n\n\t\t\tcomponents.path = to.join(\",\");\n\t\t}\n\n\t\tconst headers = mailtoComponents.headers = mailtoComponents.headers || {};\n\n\t\tif (mailtoComponents.subject) headers[\"subject\"] = mailtoComponents.subject;\n\t\tif (mailtoComponents.body) headers[\"body\"] = mailtoComponents.body;\n\n\t\tconst fields = [];\n\t\tfor (const name in headers) {\n\t\t\tif (headers[name] !== O[name]) {\n\t\t\t\tfields.push(\n\t\t\t\t\tname.replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFNAME, pctEncChar) +\n\t\t\t\t\t\"=\" +\n\t\t\t\t\theaders[name].replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFVALUE, pctEncChar)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\tif (fields.length) {\n\t\t\tcomponents.query = fields.join(\"&\");\n\t\t}\n\n\t\treturn components;\n\t}\n}\n\nexport default handler;","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\nimport { pctEncChar, SCHEMES } from \"../uri\";\n\nexport interface URNComponents extends URIComponents {\n\tnid?:string;\n\tnss?:string;\n}\n\nexport interface URNOptions extends URIOptions {\n\tnid?:string;\n}\n\nconst NID$ = \"(?:[0-9A-Za-z][0-9A-Za-z\\\\-]{1,31})\";\nconst PCT_ENCODED$ = \"(?:\\\\%[0-9A-Fa-f]{2})\";\nconst TRANS$$ = \"[0-9A-Za-z\\\\(\\\\)\\\\+\\\\,\\\\-\\\\.\\\\:\\\\=\\\\@\\\\;\\\\$\\\\_\\\\!\\\\*\\\\'\\\\/\\\\?\\\\#]\";\nconst NSS$ = \"(?:(?:\" + PCT_ENCODED$ + \"|\" + TRANS$$ + \")+)\";\nconst URN_SCHEME = new RegExp(\"^urn\\\\:(\" + NID$ + \")$\");\nconst URN_PATH = new RegExp(\"^(\" + NID$ + \")\\\\:(\" + NSS$ + \")$\");\nconst URN_PARSE = /^([^\\:]+)\\:(.*)/;\nconst URN_EXCLUDED = /[\\x00-\\x20\\\\\\\"\\&\\<\\>\\[\\]\\^\\`\\{\\|\\}\\~\\x7F-\\xFF]/g;\n\n//RFC 2141\nconst handler:URISchemeHandler<URNComponents,URNOptions> = {\n\tscheme : \"urn\",\n\n\tparse : function (components:URIComponents, options:URNOptions):URNComponents {\n\t\tconst matches = components.path && components.path.match(URN_PARSE);\n\t\tlet urnComponents = components as URNComponents;\n\n\t\tif (matches) {\n\t\t\tconst scheme = options.scheme || urnComponents.scheme || \"urn\";\n\t\t\tconst nid = matches[1].toLowerCase();\n\t\t\tconst nss = matches[2];\n\t\t\tconst urnScheme = `${scheme}:${options.nid || nid}`;\n\t\t\tconst schemeHandler = SCHEMES[urnScheme];\n\n\t\t\turnComponents.nid = nid;\n\t\t\turnComponents.nss = nss;\n\t\t\turnComponents.path = undefined;\n\n\t\t\tif (schemeHandler) {\n\t\t\t\turnComponents = schemeHandler.parse(urnComponents, options) as URNComponents;\n\t\t\t}\n\t\t} else {\n\t\t\turnComponents.error = urnComponents.error || \"URN can not be parsed.\";\n\t\t}\n\n\t\treturn urnComponents;\n\t},\n\n\tserialize : function (urnComponents:URNComponents, options:URNOptions):URIComponents {\n\t\tconst scheme = options.scheme || urnComponents.scheme || \"urn\";\n\t\tconst nid = urnComponents.nid;\n\t\tconst urnScheme = `${scheme}:${options.nid || nid}`;\n\t\tconst schemeHandler = SCHEMES[urnScheme];\n\n\t\tif (schemeHandler) {\n\t\t\turnComponents = schemeHandler.serialize(urnComponents, options) as URNComponents;\n\t\t}\n\n\t\tconst uriComponents = urnComponents as URIComponents;\n\t\tconst nss = urnComponents.nss;\n\t\turiComponents.path = `${nid || options.nid}:${nss}`;\n\n\t\treturn uriComponents;\n\t},\n};\n\nexport default handler;","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\nimport { URNComponents } from \"./urn\";\nimport { SCHEMES } from \"../uri\";\n\nexport interface UUIDComponents extends URNComponents {\n\tuuid?: string;\n}\n\nconst UUID = /^[0-9A-Fa-f]{8}(?:\\-[0-9A-Fa-f]{4}){3}\\-[0-9A-Fa-f]{12}$/;\nconst UUID_PARSE = /^[0-9A-Fa-f\\-]{36}/;\n\n//RFC 4122\nconst handler:URISchemeHandler<UUIDComponents, URIOptions, URNComponents> = {\n\tscheme : \"urn:uuid\",\n\n\tparse : function (urnComponents:URNComponents, options:URIOptions):UUIDComponents {\n\t\tconst uuidComponents = urnComponents as UUIDComponents;\n\t\tuuidComponents.uuid = uuidComponents.nss;\n\t\tuuidComponents.nss = undefined;\n\n\t\tif (!options.tolerant && (!uuidComponents.uuid || !uuidComponents.uuid.match(UUID))) {\n\t\t\tuuidComponents.error = uuidComponents.error || \"UUID is not valid.\";\n\t\t}\n\n\t\treturn uuidComponents;\n\t},\n\n\tserialize : function (uuidComponents:UUIDComponents, options:URIOptions):URNComponents {\n\t\tconst urnComponents = uuidComponents as URNComponents;\n\t\t//normalize UUID\n\t\turnComponents.nss = (uuidComponents.uuid || \"\").toLowerCase();\n\t\treturn urnComponents;\n\t},\n};\n\nexport default handler;","import { SCHEMES } from \"./uri\";\n\nimport http from \"./schemes/http\";\nSCHEMES[http.scheme] = http;\n\nimport https from \"./schemes/https\";\nSCHEMES[https.scheme] = https;\n\nimport ws from \"./schemes/ws\";\nSCHEMES[ws.scheme] = ws;\n\nimport wss from \"./schemes/wss\";\nSCHEMES[wss.scheme] = wss;\n\nimport mailto from \"./schemes/mailto\";\nSCHEMES[mailto.scheme] = mailto;\n\nimport urn from \"./schemes/urn\";\nSCHEMES[urn.scheme] = urn;\n\nimport uuid from \"./schemes/urn-uuid\";\nSCHEMES[uuid.scheme] = uuid;\n\nexport * from \"./uri\";\n","'use strict';\n\nvar required = require('requires-port')\n  , qs = require('querystringify')\n  , controlOrWhitespace = /^[\\x00-\\x20\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000\\ufeff]+/\n  , CRHTLF = /[\\n\\r\\t]/g\n  , slashes = /^[A-Za-z][A-Za-z0-9+-.]*:\\/\\//\n  , port = /:\\d+$/\n  , protocolre = /^([a-z][a-z0-9.+-]*:)?(\\/\\/)?([\\\\/]+)?([\\S\\s]*)/i\n  , windowsDriveLetter = /^[a-zA-Z]:/;\n\n/**\n * Remove control characters and whitespace from the beginning of a string.\n *\n * @param {Object|String} str String to trim.\n * @returns {String} A new string representing `str` stripped of control\n *     characters and whitespace from its beginning.\n * @public\n */\nfunction trimLeft(str) {\n  return (str ? str : '').toString().replace(controlOrWhitespace, '');\n}\n\n/**\n * These are the parse rules for the URL parser, it informs the parser\n * about:\n *\n * 0. The char it Needs to parse, if it's a string it should be done using\n *    indexOf, RegExp using exec and NaN means set as current value.\n * 1. The property we should set when parsing this value.\n * 2. Indication if it's backwards or forward parsing, when set as number it's\n *    the value of extra chars that should be split off.\n * 3. Inherit from location if non existing in the parser.\n * 4. `toLowerCase` the resulting value.\n */\nvar rules = [\n  ['#', 'hash'],                        // Extract from the back.\n  ['?', 'query'],                       // Extract from the back.\n  function sanitize(address, url) {     // Sanitize what is left of the address\n    return isSpecial(url.protocol) ? address.replace(/\\\\/g, '/') : address;\n  },\n  ['/', 'pathname'],                    // Extract from the back.\n  ['@', 'auth', 1],                     // Extract from the front.\n  [NaN, 'host', undefined, 1, 1],       // Set left over value.\n  [/:(\\d*)$/, 'port', undefined, 1],    // RegExp the back.\n  [NaN, 'hostname', undefined, 1, 1]    // Set left over.\n];\n\n/**\n * These properties should not be copied or inherited from. This is only needed\n * for all non blob URL's as a blob URL does not include a hash, only the\n * origin.\n *\n * @type {Object}\n * @private\n */\nvar ignore = { hash: 1, query: 1 };\n\n/**\n * The location object differs when your code is loaded through a normal page,\n * Worker or through a worker using a blob. And with the blobble begins the\n * trouble as the location object will contain the URL of the blob, not the\n * location of the page where our code is loaded in. The actual origin is\n * encoded in the `pathname` so we can thankfully generate a good \"default\"\n * location from it so we can generate proper relative URL's again.\n *\n * @param {Object|String} loc Optional default location object.\n * @returns {Object} lolcation object.\n * @public\n */\nfunction lolcation(loc) {\n  var globalVar;\n\n  if (typeof window !== 'undefined') globalVar = window;\n  else if (typeof global !== 'undefined') globalVar = global;\n  else if (typeof self !== 'undefined') globalVar = self;\n  else globalVar = {};\n\n  var location = globalVar.location || {};\n  loc = loc || location;\n\n  var finaldestination = {}\n    , type = typeof loc\n    , key;\n\n  if ('blob:' === loc.protocol) {\n    finaldestination = new Url(unescape(loc.pathname), {});\n  } else if ('string' === type) {\n    finaldestination = new Url(loc, {});\n    for (key in ignore) delete finaldestination[key];\n  } else if ('object' === type) {\n    for (key in loc) {\n      if (key in ignore) continue;\n      finaldestination[key] = loc[key];\n    }\n\n    if (finaldestination.slashes === undefined) {\n      finaldestination.slashes = slashes.test(loc.href);\n    }\n  }\n\n  return finaldestination;\n}\n\n/**\n * Check whether a protocol scheme is special.\n *\n * @param {String} The protocol scheme of the URL\n * @return {Boolean} `true` if the protocol scheme is special, else `false`\n * @private\n */\nfunction isSpecial(scheme) {\n  return (\n    scheme === 'file:' ||\n    scheme === 'ftp:' ||\n    scheme === 'http:' ||\n    scheme === 'https:' ||\n    scheme === 'ws:' ||\n    scheme === 'wss:'\n  );\n}\n\n/**\n * @typedef ProtocolExtract\n * @type Object\n * @property {String} protocol Protocol matched in the URL, in lowercase.\n * @property {Boolean} slashes `true` if protocol is followed by \"//\", else `false`.\n * @property {String} rest Rest of the URL that is not part of the protocol.\n */\n\n/**\n * Extract protocol information from a URL with/without double slash (\"//\").\n *\n * @param {String} address URL we want to extract from.\n * @param {Object} location\n * @return {ProtocolExtract} Extracted information.\n * @private\n */\nfunction extractProtocol(address, location) {\n  address = trimLeft(address);\n  address = address.replace(CRHTLF, '');\n  location = location || {};\n\n  var match = protocolre.exec(address);\n  var protocol = match[1] ? match[1].toLowerCase() : '';\n  var forwardSlashes = !!match[2];\n  var otherSlashes = !!match[3];\n  var slashesCount = 0;\n  var rest;\n\n  if (forwardSlashes) {\n    if (otherSlashes) {\n      rest = match[2] + match[3] + match[4];\n      slashesCount = match[2].length + match[3].length;\n    } else {\n      rest = match[2] + match[4];\n      slashesCount = match[2].length;\n    }\n  } else {\n    if (otherSlashes) {\n      rest = match[3] + match[4];\n      slashesCount = match[3].length;\n    } else {\n      rest = match[4]\n    }\n  }\n\n  if (protocol === 'file:') {\n    if (slashesCount >= 2) {\n      rest = rest.slice(2);\n    }\n  } else if (isSpecial(protocol)) {\n    rest = match[4];\n  } else if (protocol) {\n    if (forwardSlashes) {\n      rest = rest.slice(2);\n    }\n  } else if (slashesCount >= 2 && isSpecial(location.protocol)) {\n    rest = match[4];\n  }\n\n  return {\n    protocol: protocol,\n    slashes: forwardSlashes || isSpecial(protocol),\n    slashesCount: slashesCount,\n    rest: rest\n  };\n}\n\n/**\n * Resolve a relative URL pathname against a base URL pathname.\n *\n * @param {String} relative Pathname of the relative URL.\n * @param {String} base Pathname of the base URL.\n * @return {String} Resolved pathname.\n * @private\n */\nfunction resolve(relative, base) {\n  if (relative === '') return base;\n\n  var path = (base || '/').split('/').slice(0, -1).concat(relative.split('/'))\n    , i = path.length\n    , last = path[i - 1]\n    , unshift = false\n    , up = 0;\n\n  while (i--) {\n    if (path[i] === '.') {\n      path.splice(i, 1);\n    } else if (path[i] === '..') {\n      path.splice(i, 1);\n      up++;\n    } else if (up) {\n      if (i === 0) unshift = true;\n      path.splice(i, 1);\n      up--;\n    }\n  }\n\n  if (unshift) path.unshift('');\n  if (last === '.' || last === '..') path.push('');\n\n  return path.join('/');\n}\n\n/**\n * The actual URL instance. Instead of returning an object we've opted-in to\n * create an actual constructor as it's much more memory efficient and\n * faster and it pleases my OCD.\n *\n * It is worth noting that we should not use `URL` as class name to prevent\n * clashes with the global URL instance that got introduced in browsers.\n *\n * @constructor\n * @param {String} address URL we want to parse.\n * @param {Object|String} [location] Location defaults for relative paths.\n * @param {Boolean|Function} [parser] Parser for the query string.\n * @private\n */\nfunction Url(address, location, parser) {\n  address = trimLeft(address);\n  address = address.replace(CRHTLF, '');\n\n  if (!(this instanceof Url)) {\n    return new Url(address, location, parser);\n  }\n\n  var relative, extracted, parse, instruction, index, key\n    , instructions = rules.slice()\n    , type = typeof location\n    , url = this\n    , i = 0;\n\n  //\n  // The following if statements allows this module two have compatibility with\n  // 2 different API:\n  //\n  // 1. Node.js's `url.parse` api which accepts a URL, boolean as arguments\n  //    where the boolean indicates that the query string should also be parsed.\n  //\n  // 2. The `URL` interface of the browser which accepts a URL, object as\n  //    arguments. The supplied object will be used as default values / fall-back\n  //    for relative paths.\n  //\n  if ('object' !== type && 'string' !== type) {\n    parser = location;\n    location = null;\n  }\n\n  if (parser && 'function' !== typeof parser) parser = qs.parse;\n\n  location = lolcation(location);\n\n  //\n  // Extract protocol information before running the instructions.\n  //\n  extracted = extractProtocol(address || '', location);\n  relative = !extracted.protocol && !extracted.slashes;\n  url.slashes = extracted.slashes || relative && location.slashes;\n  url.protocol = extracted.protocol || location.protocol || '';\n  address = extracted.rest;\n\n  //\n  // When the authority component is absent the URL starts with a path\n  // component.\n  //\n  if (\n    extracted.protocol === 'file:' && (\n      extracted.slashesCount !== 2 || windowsDriveLetter.test(address)) ||\n    (!extracted.slashes &&\n      (extracted.protocol ||\n        extracted.slashesCount < 2 ||\n        !isSpecial(url.protocol)))\n  ) {\n    instructions[3] = [/(.*)/, 'pathname'];\n  }\n\n  for (; i < instructions.length; i++) {\n    instruction = instructions[i];\n\n    if (typeof instruction === 'function') {\n      address = instruction(address, url);\n      continue;\n    }\n\n    parse = instruction[0];\n    key = instruction[1];\n\n    if (parse !== parse) {\n      url[key] = address;\n    } else if ('string' === typeof parse) {\n      index = parse === '@'\n        ? address.lastIndexOf(parse)\n        : address.indexOf(parse);\n\n      if (~index) {\n        if ('number' === typeof instruction[2]) {\n          url[key] = address.slice(0, index);\n          address = address.slice(index + instruction[2]);\n        } else {\n          url[key] = address.slice(index);\n          address = address.slice(0, index);\n        }\n      }\n    } else if ((index = parse.exec(address))) {\n      url[key] = index[1];\n      address = address.slice(0, index.index);\n    }\n\n    url[key] = url[key] || (\n      relative && instruction[3] ? location[key] || '' : ''\n    );\n\n    //\n    // Hostname, host and protocol should be lowercased so they can be used to\n    // create a proper `origin`.\n    //\n    if (instruction[4]) url[key] = url[key].toLowerCase();\n  }\n\n  //\n  // Also parse the supplied query string in to an object. If we're supplied\n  // with a custom parser as function use that instead of the default build-in\n  // parser.\n  //\n  if (parser) url.query = parser(url.query);\n\n  //\n  // If the URL is relative, resolve the pathname against the base URL.\n  //\n  if (\n      relative\n    && location.slashes\n    && url.pathname.charAt(0) !== '/'\n    && (url.pathname !== '' || location.pathname !== '')\n  ) {\n    url.pathname = resolve(url.pathname, location.pathname);\n  }\n\n  //\n  // Default to a / for pathname if none exists. This normalizes the URL\n  // to always have a /\n  //\n  if (url.pathname.charAt(0) !== '/' && isSpecial(url.protocol)) {\n    url.pathname = '/' + url.pathname;\n  }\n\n  //\n  // We should not add port numbers if they are already the default port number\n  // for a given protocol. As the host also contains the port number we're going\n  // override it with the hostname which contains no port number.\n  //\n  if (!required(url.port, url.protocol)) {\n    url.host = url.hostname;\n    url.port = '';\n  }\n\n  //\n  // Parse down the `auth` for the username and password.\n  //\n  url.username = url.password = '';\n\n  if (url.auth) {\n    index = url.auth.indexOf(':');\n\n    if (~index) {\n      url.username = url.auth.slice(0, index);\n      url.username = encodeURIComponent(decodeURIComponent(url.username));\n\n      url.password = url.auth.slice(index + 1);\n      url.password = encodeURIComponent(decodeURIComponent(url.password))\n    } else {\n      url.username = encodeURIComponent(decodeURIComponent(url.auth));\n    }\n\n    url.auth = url.password ? url.username +':'+ url.password : url.username;\n  }\n\n  url.origin = url.protocol !== 'file:' && isSpecial(url.protocol) && url.host\n    ? url.protocol +'//'+ url.host\n    : 'null';\n\n  //\n  // The href is just the compiled result.\n  //\n  url.href = url.toString();\n}\n\n/**\n * This is convenience method for changing properties in the URL instance to\n * insure that they all propagate correctly.\n *\n * @param {String} part          Property we need to adjust.\n * @param {Mixed} value          The newly assigned value.\n * @param {Boolean|Function} fn  When setting the query, it will be the function\n *                               used to parse the query.\n *                               When setting the protocol, double slash will be\n *                               removed from the final url if it is true.\n * @returns {URL} URL instance for chaining.\n * @public\n */\nfunction set(part, value, fn) {\n  var url = this;\n\n  switch (part) {\n    case 'query':\n      if ('string' === typeof value && value.length) {\n        value = (fn || qs.parse)(value);\n      }\n\n      url[part] = value;\n      break;\n\n    case 'port':\n      url[part] = value;\n\n      if (!required(value, url.protocol)) {\n        url.host = url.hostname;\n        url[part] = '';\n      } else if (value) {\n        url.host = url.hostname +':'+ value;\n      }\n\n      break;\n\n    case 'hostname':\n      url[part] = value;\n\n      if (url.port) value += ':'+ url.port;\n      url.host = value;\n      break;\n\n    case 'host':\n      url[part] = value;\n\n      if (port.test(value)) {\n        value = value.split(':');\n        url.port = value.pop();\n        url.hostname = value.join(':');\n      } else {\n        url.hostname = value;\n        url.port = '';\n      }\n\n      break;\n\n    case 'protocol':\n      url.protocol = value.toLowerCase();\n      url.slashes = !fn;\n      break;\n\n    case 'pathname':\n    case 'hash':\n      if (value) {\n        var char = part === 'pathname' ? '/' : '#';\n        url[part] = value.charAt(0) !== char ? char + value : value;\n      } else {\n        url[part] = value;\n      }\n      break;\n\n    case 'username':\n    case 'password':\n      url[part] = encodeURIComponent(value);\n      break;\n\n    case 'auth':\n      var index = value.indexOf(':');\n\n      if (~index) {\n        url.username = value.slice(0, index);\n        url.username = encodeURIComponent(decodeURIComponent(url.username));\n\n        url.password = value.slice(index + 1);\n        url.password = encodeURIComponent(decodeURIComponent(url.password));\n      } else {\n        url.username = encodeURIComponent(decodeURIComponent(value));\n      }\n  }\n\n  for (var i = 0; i < rules.length; i++) {\n    var ins = rules[i];\n\n    if (ins[4]) url[ins[1]] = url[ins[1]].toLowerCase();\n  }\n\n  url.auth = url.password ? url.username +':'+ url.password : url.username;\n\n  url.origin = url.protocol !== 'file:' && isSpecial(url.protocol) && url.host\n    ? url.protocol +'//'+ url.host\n    : 'null';\n\n  url.href = url.toString();\n\n  return url;\n}\n\n/**\n * Transform the properties back in to a valid and full URL string.\n *\n * @param {Function} stringify Optional query stringify function.\n * @returns {String} Compiled version of the URL.\n * @public\n */\nfunction toString(stringify) {\n  if (!stringify || 'function' !== typeof stringify) stringify = qs.stringify;\n\n  var query\n    , url = this\n    , host = url.host\n    , protocol = url.protocol;\n\n  if (protocol && protocol.charAt(protocol.length - 1) !== ':') protocol += ':';\n\n  var result =\n    protocol +\n    ((url.protocol && url.slashes) || isSpecial(url.protocol) ? '//' : '');\n\n  if (url.username) {\n    result += url.username;\n    if (url.password) result += ':'+ url.password;\n    result += '@';\n  } else if (url.password) {\n    result += ':'+ url.password;\n    result += '@';\n  } else if (\n    url.protocol !== 'file:' &&\n    isSpecial(url.protocol) &&\n    !host &&\n    url.pathname !== '/'\n  ) {\n    //\n    // Add back the empty userinfo, otherwise the original invalid URL\n    // might be transformed into a valid one with `url.pathname` as host.\n    //\n    result += '@';\n  }\n\n  //\n  // Trailing colon is removed from `url.host` when it is parsed. If it still\n  // ends with a colon, then add back the trailing colon that was removed. This\n  // prevents an invalid URL from being transformed into a valid one.\n  //\n  if (host[host.length - 1] === ':' || (port.test(url.hostname) && !url.port)) {\n    host += ':';\n  }\n\n  result += host + url.pathname;\n\n  query = 'object' === typeof url.query ? stringify(url.query) : url.query;\n  if (query) result += '?' !== query.charAt(0) ? '?'+ query : query;\n\n  if (url.hash) result += url.hash;\n\n  return result;\n}\n\nUrl.prototype = { set: set, toString: toString };\n\n//\n// Expose the URL parser and some additional properties that might be useful for\n// others or testing.\n//\nUrl.extractProtocol = extractProtocol;\nUrl.location = lolcation;\nUrl.trimLeft = trimLeft;\nUrl.qs = qs;\n\nmodule.exports = Url;\n","/*\n * Copyright Joyent, Inc. and other Node contributors.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a\n * copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to permit\n * persons to whom the Software is furnished to do so, subject to the\n * following conditions:\n *\n * The above copyright notice and this permission notice shall be included\n * in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n * NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n * USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n'use strict';\n\nvar punycode = require('punycode');\n\nfunction Url() {\n  this.protocol = null;\n  this.slashes = null;\n  this.auth = null;\n  this.host = null;\n  this.port = null;\n  this.hostname = null;\n  this.hash = null;\n  this.search = null;\n  this.query = null;\n  this.pathname = null;\n  this.path = null;\n  this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n/*\n * define these here so at least they only have to be\n * compiled once on the first module load.\n */\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n  portPattern = /:[0-9]*$/,\n\n  // Special case for a simple path URL\n  simplePathPattern = /^(\\/\\/?(?!\\/)[^?\\s]*)(\\?[^\\s]*)?$/,\n\n  /*\n   * RFC 2396: characters reserved for delimiting URLs.\n   * We actually just auto-escape these.\n   */\n  delims = [\n    '<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'\n  ],\n\n  // RFC 2396: characters not allowed for various reasons.\n  unwise = [\n    '{', '}', '|', '\\\\', '^', '`'\n  ].concat(delims),\n\n  // Allowed by RFCs, but cause of XSS attacks.  Always escape these.\n  autoEscape = ['\\''].concat(unwise),\n  /*\n   * Characters that are never ever allowed in a hostname.\n   * Note that any invalid chars are also handled, but these\n   * are the ones that are *expected* to be seen, so we fast-path\n   * them.\n   */\n  nonHostChars = [\n    '%', '/', '?', ';', '#'\n  ].concat(autoEscape),\n  hostEndingChars = [\n    '/', '?', '#'\n  ],\n  hostnameMaxLen = 255,\n  hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n  hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n  // protocols that can allow \"unsafe\" and \"unwise\" chars.\n  unsafeProtocol = {\n    javascript: true,\n    'javascript:': true\n  },\n  // protocols that never have a hostname.\n  hostlessProtocol = {\n    javascript: true,\n    'javascript:': true\n  },\n  // protocols that always contain a // bit.\n  slashedProtocol = {\n    http: true,\n    https: true,\n    ftp: true,\n    gopher: true,\n    file: true,\n    'http:': true,\n    'https:': true,\n    'ftp:': true,\n    'gopher:': true,\n    'file:': true\n  },\n  querystring = require('qs');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n  if (url && typeof url === 'object' && url instanceof Url) { return url; }\n\n  var u = new Url();\n  u.parse(url, parseQueryString, slashesDenoteHost);\n  return u;\n}\n\nUrl.prototype.parse = function (url, parseQueryString, slashesDenoteHost) {\n  if (typeof url !== 'string') {\n    throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n  }\n\n  /*\n   * Copy chrome, IE, opera backslash-handling behavior.\n   * Back slashes before the query string get converted to forward slashes\n   * See: https://code.google.com/p/chromium/issues/detail?id=25916\n   */\n  var queryIndex = url.indexOf('?'),\n    splitter = queryIndex !== -1 && queryIndex < url.indexOf('#') ? '?' : '#',\n    uSplit = url.split(splitter),\n    slashRegex = /\\\\/g;\n  uSplit[0] = uSplit[0].replace(slashRegex, '/');\n  url = uSplit.join(splitter);\n\n  var rest = url;\n\n  /*\n   * trim before proceeding.\n   * This is to support parse stuff like \"  http://foo.com  \\n\"\n   */\n  rest = rest.trim();\n\n  if (!slashesDenoteHost && url.split('#').length === 1) {\n    // Try fast path regexp\n    var simplePath = simplePathPattern.exec(rest);\n    if (simplePath) {\n      this.path = rest;\n      this.href = rest;\n      this.pathname = simplePath[1];\n      if (simplePath[2]) {\n        this.search = simplePath[2];\n        if (parseQueryString) {\n          this.query = querystring.parse(this.search.substr(1));\n        } else {\n          this.query = this.search.substr(1);\n        }\n      } else if (parseQueryString) {\n        this.search = '';\n        this.query = {};\n      }\n      return this;\n    }\n  }\n\n  var proto = protocolPattern.exec(rest);\n  if (proto) {\n    proto = proto[0];\n    var lowerProto = proto.toLowerCase();\n    this.protocol = lowerProto;\n    rest = rest.substr(proto.length);\n  }\n\n  /*\n   * figure out if it's got a host\n   * user@server is *always* interpreted as a hostname, and url\n   * resolution will treat //foo/bar as host=foo,path=bar because that's\n   * how the browser resolves relative URLs.\n   */\n  if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@/]+@[^@/]+/)) {\n    var slashes = rest.substr(0, 2) === '//';\n    if (slashes && !(proto && hostlessProtocol[proto])) {\n      rest = rest.substr(2);\n      this.slashes = true;\n    }\n  }\n\n  if (!hostlessProtocol[proto] && (slashes || (proto && !slashedProtocol[proto]))) {\n\n    /*\n     * there's a hostname.\n     * the first instance of /, ?, ;, or # ends the host.\n     *\n     * If there is an @ in the hostname, then non-host chars *are* allowed\n     * to the left of the last @ sign, unless some host-ending character\n     * comes *before* the @-sign.\n     * URLs are obnoxious.\n     *\n     * ex:\n     * http://a@b@c/ => user:a@b host:c\n     * http://a@b?@c => user:a host:c path:/?@c\n     */\n\n    /*\n     * v0.12 TODO(isaacs): This is not quite how Chrome does things.\n     * Review our test case against browsers more comprehensively.\n     */\n\n    // find the first instance of any hostEndingChars\n    var hostEnd = -1;\n    for (var i = 0; i < hostEndingChars.length; i++) {\n      var hec = rest.indexOf(hostEndingChars[i]);\n      if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) { hostEnd = hec; }\n    }\n\n    /*\n     * at this point, either we have an explicit point where the\n     * auth portion cannot go past, or the last @ char is the decider.\n     */\n    var auth, atSign;\n    if (hostEnd === -1) {\n      // atSign can be anywhere.\n      atSign = rest.lastIndexOf('@');\n    } else {\n      /*\n       * atSign must be in auth portion.\n       * http://a@b/c@d => host:b auth:a path:/c@d\n       */\n      atSign = rest.lastIndexOf('@', hostEnd);\n    }\n\n    /*\n     * Now we have a portion which is definitely the auth.\n     * Pull that off.\n     */\n    if (atSign !== -1) {\n      auth = rest.slice(0, atSign);\n      rest = rest.slice(atSign + 1);\n      this.auth = decodeURIComponent(auth);\n    }\n\n    // the host is the remaining to the left of the first non-host char\n    hostEnd = -1;\n    for (var i = 0; i < nonHostChars.length; i++) {\n      var hec = rest.indexOf(nonHostChars[i]);\n      if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) { hostEnd = hec; }\n    }\n    // if we still have not hit it, then the entire thing is a host.\n    if (hostEnd === -1) { hostEnd = rest.length; }\n\n    this.host = rest.slice(0, hostEnd);\n    rest = rest.slice(hostEnd);\n\n    // pull out port.\n    this.parseHost();\n\n    /*\n     * we've indicated that there is a hostname,\n     * so even if it's empty, it has to be present.\n     */\n    this.hostname = this.hostname || '';\n\n    /*\n     * if hostname begins with [ and ends with ]\n     * assume that it's an IPv6 address.\n     */\n    var ipv6Hostname = this.hostname[0] === '[' && this.hostname[this.hostname.length - 1] === ']';\n\n    // validate a little.\n    if (!ipv6Hostname) {\n      var hostparts = this.hostname.split(/\\./);\n      for (var i = 0, l = hostparts.length; i < l; i++) {\n        var part = hostparts[i];\n        if (!part) { continue; }\n        if (!part.match(hostnamePartPattern)) {\n          var newpart = '';\n          for (var j = 0, k = part.length; j < k; j++) {\n            if (part.charCodeAt(j) > 127) {\n              /*\n               * we replace non-ASCII char with a temporary placeholder\n               * we need this to make sure size of hostname is not\n               * broken by replacing non-ASCII by nothing\n               */\n              newpart += 'x';\n            } else {\n              newpart += part[j];\n            }\n          }\n          // we test again with ASCII char only\n          if (!newpart.match(hostnamePartPattern)) {\n            var validParts = hostparts.slice(0, i);\n            var notHost = hostparts.slice(i + 1);\n            var bit = part.match(hostnamePartStart);\n            if (bit) {\n              validParts.push(bit[1]);\n              notHost.unshift(bit[2]);\n            }\n            if (notHost.length) {\n              rest = '/' + notHost.join('.') + rest;\n            }\n            this.hostname = validParts.join('.');\n            break;\n          }\n        }\n      }\n    }\n\n    if (this.hostname.length > hostnameMaxLen) {\n      this.hostname = '';\n    } else {\n      // hostnames are always lower case.\n      this.hostname = this.hostname.toLowerCase();\n    }\n\n    if (!ipv6Hostname) {\n      /*\n       * IDNA Support: Returns a punycoded representation of \"domain\".\n       * It only converts parts of the domain name that\n       * have non-ASCII characters, i.e. it doesn't matter if\n       * you call it with a domain that already is ASCII-only.\n       */\n      this.hostname = punycode.toASCII(this.hostname);\n    }\n\n    var p = this.port ? ':' + this.port : '';\n    var h = this.hostname || '';\n    this.host = h + p;\n    this.href += this.host;\n\n    /*\n     * strip [ and ] from the hostname\n     * the host field still retains them, though\n     */\n    if (ipv6Hostname) {\n      this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n      if (rest[0] !== '/') {\n        rest = '/' + rest;\n      }\n    }\n  }\n\n  /*\n   * now rest is set to the post-host stuff.\n   * chop off any delim chars.\n   */\n  if (!unsafeProtocol[lowerProto]) {\n\n    /*\n     * First, make 100% sure that any \"autoEscape\" chars get\n     * escaped, even if encodeURIComponent doesn't think they\n     * need to be.\n     */\n    for (var i = 0, l = autoEscape.length; i < l; i++) {\n      var ae = autoEscape[i];\n      if (rest.indexOf(ae) === -1) { continue; }\n      var esc = encodeURIComponent(ae);\n      if (esc === ae) {\n        esc = escape(ae);\n      }\n      rest = rest.split(ae).join(esc);\n    }\n  }\n\n  // chop off from the tail first.\n  var hash = rest.indexOf('#');\n  if (hash !== -1) {\n    // got a fragment string.\n    this.hash = rest.substr(hash);\n    rest = rest.slice(0, hash);\n  }\n  var qm = rest.indexOf('?');\n  if (qm !== -1) {\n    this.search = rest.substr(qm);\n    this.query = rest.substr(qm + 1);\n    if (parseQueryString) {\n      this.query = querystring.parse(this.query);\n    }\n    rest = rest.slice(0, qm);\n  } else if (parseQueryString) {\n    // no query string, but parseQueryString still requested\n    this.search = '';\n    this.query = {};\n  }\n  if (rest) { this.pathname = rest; }\n  if (slashedProtocol[lowerProto] && this.hostname && !this.pathname) {\n    this.pathname = '/';\n  }\n\n  // to support http.request\n  if (this.pathname || this.search) {\n    var p = this.pathname || '';\n    var s = this.search || '';\n    this.path = p + s;\n  }\n\n  // finally, reconstruct the href based on what has been validated.\n  this.href = this.format();\n  return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n  /*\n   * ensure it's an object, and not a string url.\n   * If it's an obj, this is a no-op.\n   * this way, you can call url_format() on strings\n   * to clean up potentially wonky urls.\n   */\n  if (typeof obj === 'string') { obj = urlParse(obj); }\n  if (!(obj instanceof Url)) { return Url.prototype.format.call(obj); }\n  return obj.format();\n}\n\nUrl.prototype.format = function () {\n  var auth = this.auth || '';\n  if (auth) {\n    auth = encodeURIComponent(auth);\n    auth = auth.replace(/%3A/i, ':');\n    auth += '@';\n  }\n\n  var protocol = this.protocol || '',\n    pathname = this.pathname || '',\n    hash = this.hash || '',\n    host = false,\n    query = '';\n\n  if (this.host) {\n    host = auth + this.host;\n  } else if (this.hostname) {\n    host = auth + (this.hostname.indexOf(':') === -1 ? this.hostname : '[' + this.hostname + ']');\n    if (this.port) {\n      host += ':' + this.port;\n    }\n  }\n\n  if (this.query && typeof this.query === 'object' && Object.keys(this.query).length) {\n    query = querystring.stringify(this.query, {\n      arrayFormat: 'repeat',\n      addQueryPrefix: false\n    });\n  }\n\n  var search = this.search || (query && ('?' + query)) || '';\n\n  if (protocol && protocol.substr(-1) !== ':') { protocol += ':'; }\n\n  /*\n   * only the slashedProtocols get the //.  Not mailto:, xmpp:, etc.\n   * unless they had them to begin with.\n   */\n  if (this.slashes || (!protocol || slashedProtocol[protocol]) && host !== false) {\n    host = '//' + (host || '');\n    if (pathname && pathname.charAt(0) !== '/') { pathname = '/' + pathname; }\n  } else if (!host) {\n    host = '';\n  }\n\n  if (hash && hash.charAt(0) !== '#') { hash = '#' + hash; }\n  if (search && search.charAt(0) !== '?') { search = '?' + search; }\n\n  pathname = pathname.replace(/[?#]/g, function (match) {\n    return encodeURIComponent(match);\n  });\n  search = search.replace('#', '%23');\n\n  return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n  return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function (relative) {\n  return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n  if (!source) { return relative; }\n  return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function (relative) {\n  if (typeof relative === 'string') {\n    var rel = new Url();\n    rel.parse(relative, false, true);\n    relative = rel;\n  }\n\n  var result = new Url();\n  var tkeys = Object.keys(this);\n  for (var tk = 0; tk < tkeys.length; tk++) {\n    var tkey = tkeys[tk];\n    result[tkey] = this[tkey];\n  }\n\n  /*\n   * hash is always overridden, no matter what.\n   * even href=\"\" will remove it.\n   */\n  result.hash = relative.hash;\n\n  // if the relative url is empty, then there's nothing left to do here.\n  if (relative.href === '') {\n    result.href = result.format();\n    return result;\n  }\n\n  // hrefs like //foo/bar always cut to the protocol.\n  if (relative.slashes && !relative.protocol) {\n    // take everything except the protocol from relative\n    var rkeys = Object.keys(relative);\n    for (var rk = 0; rk < rkeys.length; rk++) {\n      var rkey = rkeys[rk];\n      if (rkey !== 'protocol') { result[rkey] = relative[rkey]; }\n    }\n\n    // urlParse appends trailing / to urls like http://www.example.com\n    if (slashedProtocol[result.protocol] && result.hostname && !result.pathname) {\n      result.pathname = '/';\n      result.path = result.pathname;\n    }\n\n    result.href = result.format();\n    return result;\n  }\n\n  if (relative.protocol && relative.protocol !== result.protocol) {\n    /*\n     * if it's a known url protocol, then changing\n     * the protocol does weird things\n     * first, if it's not file:, then we MUST have a host,\n     * and if there was a path\n     * to begin with, then we MUST have a path.\n     * if it is file:, then the host is dropped,\n     * because that's known to be hostless.\n     * anything else is assumed to be absolute.\n     */\n    if (!slashedProtocol[relative.protocol]) {\n      var keys = Object.keys(relative);\n      for (var v = 0; v < keys.length; v++) {\n        var k = keys[v];\n        result[k] = relative[k];\n      }\n      result.href = result.format();\n      return result;\n    }\n\n    result.protocol = relative.protocol;\n    if (!relative.host && !hostlessProtocol[relative.protocol]) {\n      var relPath = (relative.pathname || '').split('/');\n      while (relPath.length && !(relative.host = relPath.shift())) { }\n      if (!relative.host) { relative.host = ''; }\n      if (!relative.hostname) { relative.hostname = ''; }\n      if (relPath[0] !== '') { relPath.unshift(''); }\n      if (relPath.length < 2) { relPath.unshift(''); }\n      result.pathname = relPath.join('/');\n    } else {\n      result.pathname = relative.pathname;\n    }\n    result.search = relative.search;\n    result.query = relative.query;\n    result.host = relative.host || '';\n    result.auth = relative.auth;\n    result.hostname = relative.hostname || relative.host;\n    result.port = relative.port;\n    // to support http.request\n    if (result.pathname || result.search) {\n      var p = result.pathname || '';\n      var s = result.search || '';\n      result.path = p + s;\n    }\n    result.slashes = result.slashes || relative.slashes;\n    result.href = result.format();\n    return result;\n  }\n\n  var isSourceAbs = result.pathname && result.pathname.charAt(0) === '/',\n    isRelAbs = relative.host || relative.pathname && relative.pathname.charAt(0) === '/',\n    mustEndAbs = isRelAbs || isSourceAbs || (result.host && relative.pathname),\n    removeAllDots = mustEndAbs,\n    srcPath = result.pathname && result.pathname.split('/') || [],\n    relPath = relative.pathname && relative.pathname.split('/') || [],\n    psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n  /*\n   * if the url is a non-slashed url, then relative\n   * links like ../.. should be able\n   * to crawl up to the hostname, as well.  This is strange.\n   * result.protocol has already been set by now.\n   * Later on, put the first path part into the host field.\n   */\n  if (psychotic) {\n    result.hostname = '';\n    result.port = null;\n    if (result.host) {\n      if (srcPath[0] === '') { srcPath[0] = result.host; } else { srcPath.unshift(result.host); }\n    }\n    result.host = '';\n    if (relative.protocol) {\n      relative.hostname = null;\n      relative.port = null;\n      if (relative.host) {\n        if (relPath[0] === '') { relPath[0] = relative.host; } else { relPath.unshift(relative.host); }\n      }\n      relative.host = null;\n    }\n    mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n  }\n\n  if (isRelAbs) {\n    // it's absolute.\n    result.host = relative.host || relative.host === '' ? relative.host : result.host;\n    result.hostname = relative.hostname || relative.hostname === '' ? relative.hostname : result.hostname;\n    result.search = relative.search;\n    result.query = relative.query;\n    srcPath = relPath;\n    // fall through to the dot-handling below.\n  } else if (relPath.length) {\n    /*\n     * it's relative\n     * throw away the existing file, and take the new path instead.\n     */\n    if (!srcPath) { srcPath = []; }\n    srcPath.pop();\n    srcPath = srcPath.concat(relPath);\n    result.search = relative.search;\n    result.query = relative.query;\n  } else if (relative.search != null) {\n    /*\n     * just pull out the search.\n     * like href='?foo'.\n     * Put this after the other two cases because it simplifies the booleans\n     */\n    if (psychotic) {\n      result.host = srcPath.shift();\n      result.hostname = result.host;\n      /*\n       * occationaly the auth can get stuck only in host\n       * this especially happens in cases like\n       * url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n       */\n      var authInHost = result.host && result.host.indexOf('@') > 0 ? result.host.split('@') : false;\n      if (authInHost) {\n        result.auth = authInHost.shift();\n        result.hostname = authInHost.shift();\n        result.host = result.hostname;\n      }\n    }\n    result.search = relative.search;\n    result.query = relative.query;\n    // to support http.request\n    if (result.pathname !== null || result.search !== null) {\n      result.path = (result.pathname ? result.pathname : '') + (result.search ? result.search : '');\n    }\n    result.href = result.format();\n    return result;\n  }\n\n  if (!srcPath.length) {\n    /*\n     * no path at all.  easy.\n     * we've already handled the other stuff above.\n     */\n    result.pathname = null;\n    // to support http.request\n    if (result.search) {\n      result.path = '/' + result.search;\n    } else {\n      result.path = null;\n    }\n    result.href = result.format();\n    return result;\n  }\n\n  /*\n   * if a url ENDs in . or .., then it must get a trailing slash.\n   * however, if it ends in anything else non-slashy,\n   * then it must NOT get a trailing slash.\n   */\n  var last = srcPath.slice(-1)[0];\n  var hasTrailingSlash = (result.host || relative.host || srcPath.length > 1) && (last === '.' || last === '..') || last === '';\n\n  /*\n   * strip single dots, resolve double dots to parent dir\n   * if the path tries to go above the root, `up` ends up > 0\n   */\n  var up = 0;\n  for (var i = srcPath.length; i >= 0; i--) {\n    last = srcPath[i];\n    if (last === '.') {\n      srcPath.splice(i, 1);\n    } else if (last === '..') {\n      srcPath.splice(i, 1);\n      up++;\n    } else if (up) {\n      srcPath.splice(i, 1);\n      up--;\n    }\n  }\n\n  // if the path is allowed to go above the root, restore leading ..s\n  if (!mustEndAbs && !removeAllDots) {\n    for (; up--; up) {\n      srcPath.unshift('..');\n    }\n  }\n\n  if (mustEndAbs && srcPath[0] !== '' && (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n    srcPath.unshift('');\n  }\n\n  if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n    srcPath.push('');\n  }\n\n  var isAbsolute = srcPath[0] === '' || (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n  // put the host back\n  if (psychotic) {\n    result.hostname = isAbsolute ? '' : srcPath.length ? srcPath.shift() : '';\n    result.host = result.hostname;\n    /*\n     * occationaly the auth can get stuck only in host\n     * this especially happens in cases like\n     * url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n     */\n    var authInHost = result.host && result.host.indexOf('@') > 0 ? result.host.split('@') : false;\n    if (authInHost) {\n      result.auth = authInHost.shift();\n      result.hostname = authInHost.shift();\n      result.host = result.hostname;\n    }\n  }\n\n  mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n  if (mustEndAbs && !isAbsolute) {\n    srcPath.unshift('');\n  }\n\n  if (srcPath.length > 0) {\n    result.pathname = srcPath.join('/');\n  } else {\n    result.pathname = null;\n    result.path = null;\n  }\n\n  // to support request.http\n  if (result.pathname !== null || result.search !== null) {\n    result.path = (result.pathname ? result.pathname : '') + (result.search ? result.search : '');\n  }\n  result.auth = relative.auth || result.auth;\n  result.slashes = result.slashes || relative.slashes;\n  result.href = result.format();\n  return result;\n};\n\nUrl.prototype.parseHost = function () {\n  var host = this.host;\n  var port = portPattern.exec(host);\n  if (port) {\n    port = port[0];\n    if (port !== ':') {\n      this.port = port.substr(1);\n    }\n    host = host.substr(0, host.length - port.length);\n  }\n  if (host) { this.hostname = host; }\n};\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n","'use strict';\n\nfunction isHighSurrogate(codePoint) {\n  return codePoint >= 0xd800 && codePoint <= 0xdbff;\n}\n\nfunction isLowSurrogate(codePoint) {\n  return codePoint >= 0xdc00 && codePoint <= 0xdfff;\n}\n\n// Truncate string by size in bytes\nmodule.exports = function getByteLength(string) {\n  if (typeof string !== \"string\") {\n    throw new Error(\"Input must be string\");\n  }\n\n  var charLength = string.length;\n  var byteLength = 0;\n  var codePoint = null;\n  var prevCodePoint = null;\n  for (var i = 0; i < charLength; i++) {\n    codePoint = string.charCodeAt(i);\n    // handle 4-byte non-BMP chars\n    // low surrogate\n    if (isLowSurrogate(codePoint)) {\n      // when parsing previous hi-surrogate, 3 is added to byteLength\n      if (prevCodePoint != null && isHighSurrogate(prevCodePoint)) {\n        byteLength += 1;\n      }\n      else {\n        byteLength += 3;\n      }\n    }\n    else if (codePoint <= 0x7f ) {\n      byteLength += 1;\n    }\n    else if (codePoint >= 0x80 && codePoint <= 0x7ff) {\n      byteLength += 2;\n    }\n    else if (codePoint >= 0x800 && codePoint <= 0xffff) {\n      byteLength += 3;\n    }\n    prevCodePoint = codePoint;\n  }\n\n  return byteLength;\n};\n","\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n  if (config('noDeprecation')) {\n    return fn;\n  }\n\n  var warned = false;\n  function deprecated() {\n    if (!warned) {\n      if (config('throwDeprecation')) {\n        throw new Error(msg);\n      } else if (config('traceDeprecation')) {\n        console.trace(msg);\n      } else {\n        console.warn(msg);\n      }\n      warned = true;\n    }\n    return fn.apply(this, arguments);\n  }\n\n  return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n  // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n  try {\n    if (!global.localStorage) return false;\n  } catch (_) {\n    return false;\n  }\n  var val = global.localStorage[name];\n  if (null == val) return false;\n  return String(val).toLowerCase() === 'true';\n}\n","module.exports = function isBuffer(arg) {\n  return arg && typeof arg === 'object'\n    && typeof arg.copy === 'function'\n    && typeof arg.fill === 'function'\n    && typeof arg.readUInt8 === 'function';\n}","// Currently in sync with Node.js lib/internal/util/types.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n\n'use strict';\n\nvar isArgumentsObject = require('is-arguments');\nvar isGeneratorFunction = require('is-generator-function');\nvar whichTypedArray = require('which-typed-array');\nvar isTypedArray = require('is-typed-array');\n\nfunction uncurryThis(f) {\n  return f.call.bind(f);\n}\n\nvar BigIntSupported = typeof BigInt !== 'undefined';\nvar SymbolSupported = typeof Symbol !== 'undefined';\n\nvar ObjectToString = uncurryThis(Object.prototype.toString);\n\nvar numberValue = uncurryThis(Number.prototype.valueOf);\nvar stringValue = uncurryThis(String.prototype.valueOf);\nvar booleanValue = uncurryThis(Boolean.prototype.valueOf);\n\nif (BigIntSupported) {\n  var bigIntValue = uncurryThis(BigInt.prototype.valueOf);\n}\n\nif (SymbolSupported) {\n  var symbolValue = uncurryThis(Symbol.prototype.valueOf);\n}\n\nfunction checkBoxedPrimitive(value, prototypeValueOf) {\n  if (typeof value !== 'object') {\n    return false;\n  }\n  try {\n    prototypeValueOf(value);\n    return true;\n  } catch(e) {\n    return false;\n  }\n}\n\nexports.isArgumentsObject = isArgumentsObject;\nexports.isGeneratorFunction = isGeneratorFunction;\nexports.isTypedArray = isTypedArray;\n\n// Taken from here and modified for better browser support\n// https://github.com/sindresorhus/p-is-promise/blob/cda35a513bda03f977ad5cde3a079d237e82d7ef/index.js\nfunction isPromise(input) {\n\treturn (\n\t\t(\n\t\t\ttypeof Promise !== 'undefined' &&\n\t\t\tinput instanceof Promise\n\t\t) ||\n\t\t(\n\t\t\tinput !== null &&\n\t\t\ttypeof input === 'object' &&\n\t\t\ttypeof input.then === 'function' &&\n\t\t\ttypeof input.catch === 'function'\n\t\t)\n\t);\n}\nexports.isPromise = isPromise;\n\nfunction isArrayBufferView(value) {\n  if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n    return ArrayBuffer.isView(value);\n  }\n\n  return (\n    isTypedArray(value) ||\n    isDataView(value)\n  );\n}\nexports.isArrayBufferView = isArrayBufferView;\n\n\nfunction isUint8Array(value) {\n  return whichTypedArray(value) === 'Uint8Array';\n}\nexports.isUint8Array = isUint8Array;\n\nfunction isUint8ClampedArray(value) {\n  return whichTypedArray(value) === 'Uint8ClampedArray';\n}\nexports.isUint8ClampedArray = isUint8ClampedArray;\n\nfunction isUint16Array(value) {\n  return whichTypedArray(value) === 'Uint16Array';\n}\nexports.isUint16Array = isUint16Array;\n\nfunction isUint32Array(value) {\n  return whichTypedArray(value) === 'Uint32Array';\n}\nexports.isUint32Array = isUint32Array;\n\nfunction isInt8Array(value) {\n  return whichTypedArray(value) === 'Int8Array';\n}\nexports.isInt8Array = isInt8Array;\n\nfunction isInt16Array(value) {\n  return whichTypedArray(value) === 'Int16Array';\n}\nexports.isInt16Array = isInt16Array;\n\nfunction isInt32Array(value) {\n  return whichTypedArray(value) === 'Int32Array';\n}\nexports.isInt32Array = isInt32Array;\n\nfunction isFloat32Array(value) {\n  return whichTypedArray(value) === 'Float32Array';\n}\nexports.isFloat32Array = isFloat32Array;\n\nfunction isFloat64Array(value) {\n  return whichTypedArray(value) === 'Float64Array';\n}\nexports.isFloat64Array = isFloat64Array;\n\nfunction isBigInt64Array(value) {\n  return whichTypedArray(value) === 'BigInt64Array';\n}\nexports.isBigInt64Array = isBigInt64Array;\n\nfunction isBigUint64Array(value) {\n  return whichTypedArray(value) === 'BigUint64Array';\n}\nexports.isBigUint64Array = isBigUint64Array;\n\nfunction isMapToString(value) {\n  return ObjectToString(value) === '[object Map]';\n}\nisMapToString.working = (\n  typeof Map !== 'undefined' &&\n  isMapToString(new Map())\n);\n\nfunction isMap(value) {\n  if (typeof Map === 'undefined') {\n    return false;\n  }\n\n  return isMapToString.working\n    ? isMapToString(value)\n    : value instanceof Map;\n}\nexports.isMap = isMap;\n\nfunction isSetToString(value) {\n  return ObjectToString(value) === '[object Set]';\n}\nisSetToString.working = (\n  typeof Set !== 'undefined' &&\n  isSetToString(new Set())\n);\nfunction isSet(value) {\n  if (typeof Set === 'undefined') {\n    return false;\n  }\n\n  return isSetToString.working\n    ? isSetToString(value)\n    : value instanceof Set;\n}\nexports.isSet = isSet;\n\nfunction isWeakMapToString(value) {\n  return ObjectToString(value) === '[object WeakMap]';\n}\nisWeakMapToString.working = (\n  typeof WeakMap !== 'undefined' &&\n  isWeakMapToString(new WeakMap())\n);\nfunction isWeakMap(value) {\n  if (typeof WeakMap === 'undefined') {\n    return false;\n  }\n\n  return isWeakMapToString.working\n    ? isWeakMapToString(value)\n    : value instanceof WeakMap;\n}\nexports.isWeakMap = isWeakMap;\n\nfunction isWeakSetToString(value) {\n  return ObjectToString(value) === '[object WeakSet]';\n}\nisWeakSetToString.working = (\n  typeof WeakSet !== 'undefined' &&\n  isWeakSetToString(new WeakSet())\n);\nfunction isWeakSet(value) {\n  return isWeakSetToString(value);\n}\nexports.isWeakSet = isWeakSet;\n\nfunction isArrayBufferToString(value) {\n  return ObjectToString(value) === '[object ArrayBuffer]';\n}\nisArrayBufferToString.working = (\n  typeof ArrayBuffer !== 'undefined' &&\n  isArrayBufferToString(new ArrayBuffer())\n);\nfunction isArrayBuffer(value) {\n  if (typeof ArrayBuffer === 'undefined') {\n    return false;\n  }\n\n  return isArrayBufferToString.working\n    ? isArrayBufferToString(value)\n    : value instanceof ArrayBuffer;\n}\nexports.isArrayBuffer = isArrayBuffer;\n\nfunction isDataViewToString(value) {\n  return ObjectToString(value) === '[object DataView]';\n}\nisDataViewToString.working = (\n  typeof ArrayBuffer !== 'undefined' &&\n  typeof DataView !== 'undefined' &&\n  isDataViewToString(new DataView(new ArrayBuffer(1), 0, 1))\n);\nfunction isDataView(value) {\n  if (typeof DataView === 'undefined') {\n    return false;\n  }\n\n  return isDataViewToString.working\n    ? isDataViewToString(value)\n    : value instanceof DataView;\n}\nexports.isDataView = isDataView;\n\n// Store a copy of SharedArrayBuffer in case it's deleted elsewhere\nvar SharedArrayBufferCopy = typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : undefined;\nfunction isSharedArrayBufferToString(value) {\n  return ObjectToString(value) === '[object SharedArrayBuffer]';\n}\nfunction isSharedArrayBuffer(value) {\n  if (typeof SharedArrayBufferCopy === 'undefined') {\n    return false;\n  }\n\n  if (typeof isSharedArrayBufferToString.working === 'undefined') {\n    isSharedArrayBufferToString.working = isSharedArrayBufferToString(new SharedArrayBufferCopy());\n  }\n\n  return isSharedArrayBufferToString.working\n    ? isSharedArrayBufferToString(value)\n    : value instanceof SharedArrayBufferCopy;\n}\nexports.isSharedArrayBuffer = isSharedArrayBuffer;\n\nfunction isAsyncFunction(value) {\n  return ObjectToString(value) === '[object AsyncFunction]';\n}\nexports.isAsyncFunction = isAsyncFunction;\n\nfunction isMapIterator(value) {\n  return ObjectToString(value) === '[object Map Iterator]';\n}\nexports.isMapIterator = isMapIterator;\n\nfunction isSetIterator(value) {\n  return ObjectToString(value) === '[object Set Iterator]';\n}\nexports.isSetIterator = isSetIterator;\n\nfunction isGeneratorObject(value) {\n  return ObjectToString(value) === '[object Generator]';\n}\nexports.isGeneratorObject = isGeneratorObject;\n\nfunction isWebAssemblyCompiledModule(value) {\n  return ObjectToString(value) === '[object WebAssembly.Module]';\n}\nexports.isWebAssemblyCompiledModule = isWebAssemblyCompiledModule;\n\nfunction isNumberObject(value) {\n  return checkBoxedPrimitive(value, numberValue);\n}\nexports.isNumberObject = isNumberObject;\n\nfunction isStringObject(value) {\n  return checkBoxedPrimitive(value, stringValue);\n}\nexports.isStringObject = isStringObject;\n\nfunction isBooleanObject(value) {\n  return checkBoxedPrimitive(value, booleanValue);\n}\nexports.isBooleanObject = isBooleanObject;\n\nfunction isBigIntObject(value) {\n  return BigIntSupported && checkBoxedPrimitive(value, bigIntValue);\n}\nexports.isBigIntObject = isBigIntObject;\n\nfunction isSymbolObject(value) {\n  return SymbolSupported && checkBoxedPrimitive(value, symbolValue);\n}\nexports.isSymbolObject = isSymbolObject;\n\nfunction isBoxedPrimitive(value) {\n  return (\n    isNumberObject(value) ||\n    isStringObject(value) ||\n    isBooleanObject(value) ||\n    isBigIntObject(value) ||\n    isSymbolObject(value)\n  );\n}\nexports.isBoxedPrimitive = isBoxedPrimitive;\n\nfunction isAnyArrayBuffer(value) {\n  return typeof Uint8Array !== 'undefined' && (\n    isArrayBuffer(value) ||\n    isSharedArrayBuffer(value)\n  );\n}\nexports.isAnyArrayBuffer = isAnyArrayBuffer;\n\n['isProxy', 'isExternal', 'isModuleNamespaceObject'].forEach(function(method) {\n  Object.defineProperty(exports, method, {\n    enumerable: false,\n    value: function() {\n      throw new Error(method + ' is not supported in userland');\n    }\n  });\n});\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n  function getOwnPropertyDescriptors(obj) {\n    var keys = Object.keys(obj);\n    var descriptors = {};\n    for (var i = 0; i < keys.length; i++) {\n      descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n    }\n    return descriptors;\n  };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n  if (!isString(f)) {\n    var objects = [];\n    for (var i = 0; i < arguments.length; i++) {\n      objects.push(inspect(arguments[i]));\n    }\n    return objects.join(' ');\n  }\n\n  var i = 1;\n  var args = arguments;\n  var len = args.length;\n  var str = String(f).replace(formatRegExp, function(x) {\n    if (x === '%%') return '%';\n    if (i >= len) return x;\n    switch (x) {\n      case '%s': return String(args[i++]);\n      case '%d': return Number(args[i++]);\n      case '%j':\n        try {\n          return JSON.stringify(args[i++]);\n        } catch (_) {\n          return '[Circular]';\n        }\n      default:\n        return x;\n    }\n  });\n  for (var x = args[i]; i < len; x = args[++i]) {\n    if (isNull(x) || !isObject(x)) {\n      str += ' ' + x;\n    } else {\n      str += ' ' + inspect(x);\n    }\n  }\n  return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n  if (typeof process !== 'undefined' && process.noDeprecation === true) {\n    return fn;\n  }\n\n  // Allow for deprecating things in the process of starting up.\n  if (typeof process === 'undefined') {\n    return function() {\n      return exports.deprecate(fn, msg).apply(this, arguments);\n    };\n  }\n\n  var warned = false;\n  function deprecated() {\n    if (!warned) {\n      if (process.throwDeprecation) {\n        throw new Error(msg);\n      } else if (process.traceDeprecation) {\n        console.trace(msg);\n      } else {\n        console.error(msg);\n      }\n      warned = true;\n    }\n    return fn.apply(this, arguments);\n  }\n\n  return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnvRegex = /^$/;\n\nif (process.env.NODE_DEBUG) {\n  var debugEnv = process.env.NODE_DEBUG;\n  debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+?.]/g, '\\\\$&')\n    .replace(/\\*/g, '.*')\n    .replace(/,/g, '$|^')\n    .toUpperCase();\n  debugEnvRegex = new RegExp('^' + debugEnv + '$', 'i');\n}\nexports.debuglog = function(set) {\n  set = set.toUpperCase();\n  if (!debugs[set]) {\n    if (debugEnvRegex.test(set)) {\n      var pid = process.pid;\n      debugs[set] = function() {\n        var msg = exports.format.apply(exports, arguments);\n        console.error('%s %d: %s', set, pid, msg);\n      };\n    } else {\n      debugs[set] = function() {};\n    }\n  }\n  return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n  // default options\n  var ctx = {\n    seen: [],\n    stylize: stylizeNoColor\n  };\n  // legacy...\n  if (arguments.length >= 3) ctx.depth = arguments[2];\n  if (arguments.length >= 4) ctx.colors = arguments[3];\n  if (isBoolean(opts)) {\n    // legacy...\n    ctx.showHidden = opts;\n  } else if (opts) {\n    // got an \"options\" object\n    exports._extend(ctx, opts);\n  }\n  // set default options\n  if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n  if (isUndefined(ctx.depth)) ctx.depth = 2;\n  if (isUndefined(ctx.colors)) ctx.colors = false;\n  if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n  if (ctx.colors) ctx.stylize = stylizeWithColor;\n  return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n  'bold' : [1, 22],\n  'italic' : [3, 23],\n  'underline' : [4, 24],\n  'inverse' : [7, 27],\n  'white' : [37, 39],\n  'grey' : [90, 39],\n  'black' : [30, 39],\n  'blue' : [34, 39],\n  'cyan' : [36, 39],\n  'green' : [32, 39],\n  'magenta' : [35, 39],\n  'red' : [31, 39],\n  'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n  'special': 'cyan',\n  'number': 'yellow',\n  'boolean': 'yellow',\n  'undefined': 'grey',\n  'null': 'bold',\n  'string': 'green',\n  'date': 'magenta',\n  // \"name\": intentionally not styling\n  'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n  var style = inspect.styles[styleType];\n\n  if (style) {\n    return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n           '\\u001b[' + inspect.colors[style][1] + 'm';\n  } else {\n    return str;\n  }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n  return str;\n}\n\n\nfunction arrayToHash(array) {\n  var hash = {};\n\n  array.forEach(function(val, idx) {\n    hash[val] = true;\n  });\n\n  return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n  // Provide a hook for user-specified inspect functions.\n  // Check that value is an object with an inspect function on it\n  if (ctx.customInspect &&\n      value &&\n      isFunction(value.inspect) &&\n      // Filter out the util module, it's inspect function is special\n      value.inspect !== exports.inspect &&\n      // Also filter out any prototype objects using the circular check.\n      !(value.constructor && value.constructor.prototype === value)) {\n    var ret = value.inspect(recurseTimes, ctx);\n    if (!isString(ret)) {\n      ret = formatValue(ctx, ret, recurseTimes);\n    }\n    return ret;\n  }\n\n  // Primitive types cannot have properties\n  var primitive = formatPrimitive(ctx, value);\n  if (primitive) {\n    return primitive;\n  }\n\n  // Look up the keys of the object.\n  var keys = Object.keys(value);\n  var visibleKeys = arrayToHash(keys);\n\n  if (ctx.showHidden) {\n    keys = Object.getOwnPropertyNames(value);\n  }\n\n  // IE doesn't make error fields non-enumerable\n  // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n  if (isError(value)\n      && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n    return formatError(value);\n  }\n\n  // Some type of object without properties can be shortcutted.\n  if (keys.length === 0) {\n    if (isFunction(value)) {\n      var name = value.name ? ': ' + value.name : '';\n      return ctx.stylize('[Function' + name + ']', 'special');\n    }\n    if (isRegExp(value)) {\n      return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n    }\n    if (isDate(value)) {\n      return ctx.stylize(Date.prototype.toString.call(value), 'date');\n    }\n    if (isError(value)) {\n      return formatError(value);\n    }\n  }\n\n  var base = '', array = false, braces = ['{', '}'];\n\n  // Make Array say that they are Array\n  if (isArray(value)) {\n    array = true;\n    braces = ['[', ']'];\n  }\n\n  // Make functions say that they are functions\n  if (isFunction(value)) {\n    var n = value.name ? ': ' + value.name : '';\n    base = ' [Function' + n + ']';\n  }\n\n  // Make RegExps say that they are RegExps\n  if (isRegExp(value)) {\n    base = ' ' + RegExp.prototype.toString.call(value);\n  }\n\n  // Make dates with properties first say the date\n  if (isDate(value)) {\n    base = ' ' + Date.prototype.toUTCString.call(value);\n  }\n\n  // Make error with message first say the error\n  if (isError(value)) {\n    base = ' ' + formatError(value);\n  }\n\n  if (keys.length === 0 && (!array || value.length == 0)) {\n    return braces[0] + base + braces[1];\n  }\n\n  if (recurseTimes < 0) {\n    if (isRegExp(value)) {\n      return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n    } else {\n      return ctx.stylize('[Object]', 'special');\n    }\n  }\n\n  ctx.seen.push(value);\n\n  var output;\n  if (array) {\n    output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n  } else {\n    output = keys.map(function(key) {\n      return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n    });\n  }\n\n  ctx.seen.pop();\n\n  return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n  if (isUndefined(value))\n    return ctx.stylize('undefined', 'undefined');\n  if (isString(value)) {\n    var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n                                             .replace(/'/g, \"\\\\'\")\n                                             .replace(/\\\\\"/g, '\"') + '\\'';\n    return ctx.stylize(simple, 'string');\n  }\n  if (isNumber(value))\n    return ctx.stylize('' + value, 'number');\n  if (isBoolean(value))\n    return ctx.stylize('' + value, 'boolean');\n  // For some reason typeof null is \"object\", so special case here.\n  if (isNull(value))\n    return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n  return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n  var output = [];\n  for (var i = 0, l = value.length; i < l; ++i) {\n    if (hasOwnProperty(value, String(i))) {\n      output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n          String(i), true));\n    } else {\n      output.push('');\n    }\n  }\n  keys.forEach(function(key) {\n    if (!key.match(/^\\d+$/)) {\n      output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n          key, true));\n    }\n  });\n  return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n  var name, str, desc;\n  desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n  if (desc.get) {\n    if (desc.set) {\n      str = ctx.stylize('[Getter/Setter]', 'special');\n    } else {\n      str = ctx.stylize('[Getter]', 'special');\n    }\n  } else {\n    if (desc.set) {\n      str = ctx.stylize('[Setter]', 'special');\n    }\n  }\n  if (!hasOwnProperty(visibleKeys, key)) {\n    name = '[' + key + ']';\n  }\n  if (!str) {\n    if (ctx.seen.indexOf(desc.value) < 0) {\n      if (isNull(recurseTimes)) {\n        str = formatValue(ctx, desc.value, null);\n      } else {\n        str = formatValue(ctx, desc.value, recurseTimes - 1);\n      }\n      if (str.indexOf('\\n') > -1) {\n        if (array) {\n          str = str.split('\\n').map(function(line) {\n            return '  ' + line;\n          }).join('\\n').slice(2);\n        } else {\n          str = '\\n' + str.split('\\n').map(function(line) {\n            return '   ' + line;\n          }).join('\\n');\n        }\n      }\n    } else {\n      str = ctx.stylize('[Circular]', 'special');\n    }\n  }\n  if (isUndefined(name)) {\n    if (array && key.match(/^\\d+$/)) {\n      return str;\n    }\n    name = JSON.stringify('' + key);\n    if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n      name = name.slice(1, -1);\n      name = ctx.stylize(name, 'name');\n    } else {\n      name = name.replace(/'/g, \"\\\\'\")\n                 .replace(/\\\\\"/g, '\"')\n                 .replace(/(^\"|\"$)/g, \"'\");\n      name = ctx.stylize(name, 'string');\n    }\n  }\n\n  return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n  var numLinesEst = 0;\n  var length = output.reduce(function(prev, cur) {\n    numLinesEst++;\n    if (cur.indexOf('\\n') >= 0) numLinesEst++;\n    return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n  }, 0);\n\n  if (length > 60) {\n    return braces[0] +\n           (base === '' ? '' : base + '\\n ') +\n           ' ' +\n           output.join(',\\n  ') +\n           ' ' +\n           braces[1];\n  }\n\n  return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nexports.types = require('./support/types');\n\nfunction isArray(ar) {\n  return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n  return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n  return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n  return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n  return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n  return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n  return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n  return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n  return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\nexports.types.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n  return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n  return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\nexports.types.isDate = isDate;\n\nfunction isError(e) {\n  return isObject(e) &&\n      (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\nexports.types.isNativeError = isError;\n\nfunction isFunction(arg) {\n  return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n  return arg === null ||\n         typeof arg === 'boolean' ||\n         typeof arg === 'number' ||\n         typeof arg === 'string' ||\n         typeof arg === 'symbol' ||  // ES6 symbol\n         typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n  return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n  return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n              'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n  var d = new Date();\n  var time = [pad(d.getHours()),\n              pad(d.getMinutes()),\n              pad(d.getSeconds())].join(':');\n  return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n  console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n *     prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n  // Don't do anything if add isn't an object\n  if (!add || !isObject(add)) return origin;\n\n  var keys = Object.keys(add);\n  var i = keys.length;\n  while (i--) {\n    origin[keys[i]] = add[keys[i]];\n  }\n  return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n  return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n  if (typeof original !== 'function')\n    throw new TypeError('The \"original\" argument must be of type Function');\n\n  if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n    var fn = original[kCustomPromisifiedSymbol];\n    if (typeof fn !== 'function') {\n      throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n    }\n    Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n      value: fn, enumerable: false, writable: false, configurable: true\n    });\n    return fn;\n  }\n\n  function fn() {\n    var promiseResolve, promiseReject;\n    var promise = new Promise(function (resolve, reject) {\n      promiseResolve = resolve;\n      promiseReject = reject;\n    });\n\n    var args = [];\n    for (var i = 0; i < arguments.length; i++) {\n      args.push(arguments[i]);\n    }\n    args.push(function (err, value) {\n      if (err) {\n        promiseReject(err);\n      } else {\n        promiseResolve(value);\n      }\n    });\n\n    try {\n      original.apply(this, args);\n    } catch (err) {\n      promiseReject(err);\n    }\n\n    return promise;\n  }\n\n  Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n  if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n    value: fn, enumerable: false, writable: false, configurable: true\n  });\n  return Object.defineProperties(\n    fn,\n    getOwnPropertyDescriptors(original)\n  );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n  // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n  // Because `null` is a special error value in callbacks which means \"no error\n  // occurred\", we error-wrap so the callback consumer can distinguish between\n  // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n  if (!reason) {\n    var newReason = new Error('Promise was rejected with a falsy value');\n    newReason.reason = reason;\n    reason = newReason;\n  }\n  return cb(reason);\n}\n\nfunction callbackify(original) {\n  if (typeof original !== 'function') {\n    throw new TypeError('The \"original\" argument must be of type Function');\n  }\n\n  // We DO NOT return the promise as it gives the user a false sense that\n  // the promise is actually somehow related to the callback's execution\n  // and that the callback throwing will reject the promise.\n  function callbackified() {\n    var args = [];\n    for (var i = 0; i < arguments.length; i++) {\n      args.push(arguments[i]);\n    }\n\n    var maybeCb = args.pop();\n    if (typeof maybeCb !== 'function') {\n      throw new TypeError('The last argument must be of type Function');\n    }\n    var self = this;\n    var cb = function() {\n      return maybeCb.apply(self, arguments);\n    };\n    // In true node style we process the callback on `nextTick` with all the\n    // implications (stack, `uncaughtException`, `async_hooks`)\n    original.apply(this, args)\n      .then(function(ret) { process.nextTick(cb.bind(null, null, ret)) },\n            function(rej) { process.nextTick(callbackifyOnRejected.bind(null, rej, cb)) });\n  }\n\n  Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n  Object.defineProperties(callbackified,\n                          getOwnPropertyDescriptors(original));\n  return callbackified;\n}\nexports.callbackify = callbackify;\n","/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n  byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n  var i = offset || 0;\n  var bth = byteToHex; // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4\n\n  return [bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]]].join('');\n}\n\nexport default bytesToUuid;","import rng from './rng.js';\nimport bytesToUuid from './bytesToUuid.js'; // **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\nvar _nodeId;\n\nvar _clockseq; // Previous uuid creation time\n\n\nvar _lastMSecs = 0;\nvar _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n  var i = buf && offset || 0;\n  var b = buf || [];\n  options = options || {};\n  var node = options.node || _nodeId;\n  var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n  // specified.  We do this lazily to minimize issues related to insufficient\n  // system entropy.  See #189\n\n  if (node == null || clockseq == null) {\n    var seedBytes = options.random || (options.rng || rng)();\n\n    if (node == null) {\n      // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n      node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n    }\n\n    if (clockseq == null) {\n      // Per 4.2.2, randomize (14 bit) clockseq\n      clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n    }\n  } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n  // (1582-10-15 00:00).  JSNumbers aren't precise enough for this, so\n  // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n  // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n\n  var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n  // cycle to simulate higher resolution clock\n\n  var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n  var dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n  if (dt < 0 && options.clockseq === undefined) {\n    clockseq = clockseq + 1 & 0x3fff;\n  } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n  // time interval\n\n\n  if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n    nsecs = 0;\n  } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n\n  if (nsecs >= 10000) {\n    throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n  }\n\n  _lastMSecs = msecs;\n  _lastNSecs = nsecs;\n  _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n  msecs += 12219292800000; // `time_low`\n\n  var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n  b[i++] = tl >>> 24 & 0xff;\n  b[i++] = tl >>> 16 & 0xff;\n  b[i++] = tl >>> 8 & 0xff;\n  b[i++] = tl & 0xff; // `time_mid`\n\n  var tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n  b[i++] = tmh >>> 8 & 0xff;\n  b[i++] = tmh & 0xff; // `time_high_and_version`\n\n  b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n  b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n  b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n  b[i++] = clockseq & 0xff; // `node`\n\n  for (var n = 0; n < 6; ++n) {\n    b[i + n] = node[n];\n  }\n\n  return buf ? buf : bytesToUuid(b);\n}\n\nexport default v1;","import bytesToUuid from './bytesToUuid.js';\n\nfunction uuidToBytes(uuid) {\n  // Note: We assume we're being passed a valid uuid string\n  var bytes = [];\n  uuid.replace(/[a-fA-F0-9]{2}/g, function (hex) {\n    bytes.push(parseInt(hex, 16));\n  });\n  return bytes;\n}\n\nfunction stringToBytes(str) {\n  str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n  var bytes = new Array(str.length);\n\n  for (var i = 0; i < str.length; i++) {\n    bytes[i] = str.charCodeAt(i);\n  }\n\n  return bytes;\n}\n\nexport var DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexport var URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexport default function (name, version, hashfunc) {\n  var generateUUID = function generateUUID(value, namespace, buf, offset) {\n    var off = buf && offset || 0;\n    if (typeof value == 'string') value = stringToBytes(value);\n    if (typeof namespace == 'string') namespace = uuidToBytes(namespace);\n    if (!Array.isArray(value)) throw TypeError('value must be an array of bytes');\n    if (!Array.isArray(namespace) || namespace.length !== 16) throw TypeError('namespace must be uuid string or an Array of 16 byte values'); // Per 4.3\n\n    var bytes = hashfunc(namespace.concat(value));\n    bytes[6] = bytes[6] & 0x0f | version;\n    bytes[8] = bytes[8] & 0x3f | 0x80;\n\n    if (buf) {\n      for (var idx = 0; idx < 16; ++idx) {\n        buf[off + idx] = bytes[idx];\n      }\n    }\n\n    return buf || bytesToUuid(bytes);\n  }; // Function#name is not settable on some platforms (#270)\n\n\n  try {\n    generateUUID.name = name;\n  } catch (err) {} // For CommonJS default export support\n\n\n  generateUUID.DNS = DNS;\n  generateUUID.URL = URL;\n  return generateUUID;\n}","/*\n * Browser-compatible JavaScript MD5\n *\n * Modification of JavaScript MD5\n * https://github.com/blueimp/JavaScript-MD5\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n *\n * Based on\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\nfunction md5(bytes) {\n  if (typeof bytes == 'string') {\n    var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n    bytes = new Array(msg.length);\n\n    for (var i = 0; i < msg.length; i++) {\n      bytes[i] = msg.charCodeAt(i);\n    }\n  }\n\n  return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8));\n}\n/*\n * Convert an array of little-endian words to an array of bytes\n */\n\n\nfunction md5ToHexEncodedArray(input) {\n  var i;\n  var x;\n  var output = [];\n  var length32 = input.length * 32;\n  var hexTab = '0123456789abcdef';\n  var hex;\n\n  for (i = 0; i < length32; i += 8) {\n    x = input[i >> 5] >>> i % 32 & 0xff;\n    hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16);\n    output.push(hex);\n  }\n\n  return output;\n}\n/*\n * Calculate the MD5 of an array of little-endian words, and a bit length.\n */\n\n\nfunction wordsToMd5(x, len) {\n  /* append padding */\n  x[len >> 5] |= 0x80 << len % 32;\n  x[(len + 64 >>> 9 << 4) + 14] = len;\n  var i;\n  var olda;\n  var oldb;\n  var oldc;\n  var oldd;\n  var a = 1732584193;\n  var b = -271733879;\n  var c = -1732584194;\n  var d = 271733878;\n\n  for (i = 0; i < x.length; i += 16) {\n    olda = a;\n    oldb = b;\n    oldc = c;\n    oldd = d;\n    a = md5ff(a, b, c, d, x[i], 7, -680876936);\n    d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);\n    c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);\n    b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);\n    a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);\n    d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);\n    c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);\n    b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);\n    a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);\n    d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);\n    c = md5ff(c, d, a, b, x[i + 10], 17, -42063);\n    b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);\n    a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);\n    d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);\n    c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);\n    b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);\n    a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);\n    d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);\n    c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);\n    b = md5gg(b, c, d, a, x[i], 20, -373897302);\n    a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);\n    d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);\n    c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);\n    b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);\n    a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);\n    d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);\n    c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);\n    b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);\n    a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);\n    d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);\n    c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);\n    b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);\n    a = md5hh(a, b, c, d, x[i + 5], 4, -378558);\n    d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);\n    c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);\n    b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);\n    a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);\n    d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);\n    c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);\n    b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);\n    a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);\n    d = md5hh(d, a, b, c, x[i], 11, -358537222);\n    c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);\n    b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);\n    a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);\n    d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);\n    c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);\n    b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);\n    a = md5ii(a, b, c, d, x[i], 6, -198630844);\n    d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);\n    c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);\n    b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);\n    a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);\n    d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);\n    c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);\n    b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);\n    a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);\n    d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);\n    c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);\n    b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);\n    a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);\n    d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);\n    c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);\n    b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);\n    a = safeAdd(a, olda);\n    b = safeAdd(b, oldb);\n    c = safeAdd(c, oldc);\n    d = safeAdd(d, oldd);\n  }\n\n  return [a, b, c, d];\n}\n/*\n * Convert an array bytes to an array of little-endian words\n * Characters >255 have their high-byte silently ignored.\n */\n\n\nfunction bytesToWords(input) {\n  var i;\n  var output = [];\n  output[(input.length >> 2) - 1] = undefined;\n\n  for (i = 0; i < output.length; i += 1) {\n    output[i] = 0;\n  }\n\n  var length8 = input.length * 8;\n\n  for (i = 0; i < length8; i += 8) {\n    output[i >> 5] |= (input[i / 8] & 0xff) << i % 32;\n  }\n\n  return output;\n}\n/*\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n * to work around bugs in some JS interpreters.\n */\n\n\nfunction safeAdd(x, y) {\n  var lsw = (x & 0xffff) + (y & 0xffff);\n  var msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n  return msw << 16 | lsw & 0xffff;\n}\n/*\n * Bitwise rotate a 32-bit number to the left.\n */\n\n\nfunction bitRotateLeft(num, cnt) {\n  return num << cnt | num >>> 32 - cnt;\n}\n/*\n * These functions implement the four basic operations the algorithm uses.\n */\n\n\nfunction md5cmn(q, a, b, x, s, t) {\n  return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);\n}\n\nfunction md5ff(a, b, c, d, x, s, t) {\n  return md5cmn(b & c | ~b & d, a, b, x, s, t);\n}\n\nfunction md5gg(a, b, c, d, x, s, t) {\n  return md5cmn(b & d | c & ~d, a, b, x, s, t);\n}\n\nfunction md5hh(a, b, c, d, x, s, t) {\n  return md5cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction md5ii(a, b, c, d, x, s, t) {\n  return md5cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\nexport default md5;","import v35 from './v35.js';\nimport md5 from './md5.js';\nvar v3 = v35('v3', 0x30, md5);\nexport default v3;","// Adapted from Chris Veness' SHA1 code at\n// http://www.movable-type.co.uk/scripts/sha1.html\nfunction f(s, x, y, z) {\n  switch (s) {\n    case 0:\n      return x & y ^ ~x & z;\n\n    case 1:\n      return x ^ y ^ z;\n\n    case 2:\n      return x & y ^ x & z ^ y & z;\n\n    case 3:\n      return x ^ y ^ z;\n  }\n}\n\nfunction ROTL(x, n) {\n  return x << n | x >>> 32 - n;\n}\n\nfunction sha1(bytes) {\n  var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];\n  var H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];\n\n  if (typeof bytes == 'string') {\n    var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n    bytes = new Array(msg.length);\n\n    for (var i = 0; i < msg.length; i++) {\n      bytes[i] = msg.charCodeAt(i);\n    }\n  }\n\n  bytes.push(0x80);\n  var l = bytes.length / 4 + 2;\n  var N = Math.ceil(l / 16);\n  var M = new Array(N);\n\n  for (var i = 0; i < N; i++) {\n    M[i] = new Array(16);\n\n    for (var j = 0; j < 16; j++) {\n      M[i][j] = bytes[i * 64 + j * 4] << 24 | bytes[i * 64 + j * 4 + 1] << 16 | bytes[i * 64 + j * 4 + 2] << 8 | bytes[i * 64 + j * 4 + 3];\n    }\n  }\n\n  M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32);\n  M[N - 1][14] = Math.floor(M[N - 1][14]);\n  M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff;\n\n  for (var i = 0; i < N; i++) {\n    var W = new Array(80);\n\n    for (var t = 0; t < 16; t++) {\n      W[t] = M[i][t];\n    }\n\n    for (var t = 16; t < 80; t++) {\n      W[t] = ROTL(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1);\n    }\n\n    var a = H[0];\n    var b = H[1];\n    var c = H[2];\n    var d = H[3];\n    var e = H[4];\n\n    for (var t = 0; t < 80; t++) {\n      var s = Math.floor(t / 20);\n      var T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[t] >>> 0;\n      e = d;\n      d = c;\n      c = ROTL(b, 30) >>> 0;\n      b = a;\n      a = T;\n    }\n\n    H[0] = H[0] + a >>> 0;\n    H[1] = H[1] + b >>> 0;\n    H[2] = H[2] + c >>> 0;\n    H[3] = H[3] + d >>> 0;\n    H[4] = H[4] + e >>> 0;\n  }\n\n  return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff];\n}\n\nexport default sha1;","import v35 from './v35.js';\nimport sha1 from './sha1.js';\nvar v5 = v35('v5', 0x50, sha1);\nexport default v5;","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n// find the complete implementation of crypto (msCrypto) on IE11.\nvar getRandomValues = typeof crypto != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto != 'undefined' && typeof msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto);\nvar rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n\nexport default function rng() {\n  if (!getRandomValues) {\n    throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n  }\n\n  return getRandomValues(rnds8);\n}","import rng from './rng.js';\nimport bytesToUuid from './bytesToUuid.js';\n\nfunction v4(options, buf, offset) {\n  var i = buf && offset || 0;\n\n  if (typeof options == 'string') {\n    buf = options === 'binary' ? new Array(16) : null;\n    options = null;\n  }\n\n  options = options || {};\n  var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n  rnds[6] = rnds[6] & 0x0f | 0x40;\n  rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n  if (buf) {\n    for (var ii = 0; ii < 16; ++ii) {\n      buf[i + ii] = rnds[ii];\n    }\n  }\n\n  return buf || bytesToUuid(rnds);\n}\n\nexport default v4;","\"use strict\";\n\nfunction makeException(ErrorType, message, options) {\n  if (options.globals) {\n    ErrorType = options.globals[ErrorType.name];\n  }\n  return new ErrorType(`${options.context ? options.context : \"Value\"} ${message}.`);\n}\n\nfunction toNumber(value, options) {\n  if (typeof value === \"bigint\") {\n    throw makeException(TypeError, \"is a BigInt which cannot be converted to a number\", options);\n  }\n  if (!options.globals) {\n    return Number(value);\n  }\n  return options.globals.Number(value);\n}\n\n// Round x to the nearest integer, choosing the even integer if it lies halfway between two.\nfunction evenRound(x) {\n  // There are four cases for numbers with fractional part being .5:\n  //\n  // case |     x     | floor(x) | round(x) | expected | x <> 0 | x % 1 | x & 1 |   example\n  //   1  |  2n + 0.5 |  2n      |  2n + 1  |  2n      |   >    |  0.5  |   0   |  0.5 ->  0\n  //   2  |  2n + 1.5 |  2n + 1  |  2n + 2  |  2n + 2  |   >    |  0.5  |   1   |  1.5 ->  2\n  //   3  | -2n - 0.5 | -2n - 1  | -2n      | -2n      |   <    | -0.5  |   0   | -0.5 ->  0\n  //   4  | -2n - 1.5 | -2n - 2  | -2n - 1  | -2n - 2  |   <    | -0.5  |   1   | -1.5 -> -2\n  // (where n is a non-negative integer)\n  //\n  // Branch here for cases 1 and 4\n  if ((x > 0 && (x % 1) === +0.5 && (x & 1) === 0) ||\n        (x < 0 && (x % 1) === -0.5 && (x & 1) === 1)) {\n    return censorNegativeZero(Math.floor(x));\n  }\n\n  return censorNegativeZero(Math.round(x));\n}\n\nfunction integerPart(n) {\n  return censorNegativeZero(Math.trunc(n));\n}\n\nfunction sign(x) {\n  return x < 0 ? -1 : 1;\n}\n\nfunction modulo(x, y) {\n  // https://tc39.github.io/ecma262/#eqn-modulo\n  // Note that http://stackoverflow.com/a/4467559/3191 does NOT work for large modulos\n  const signMightNotMatch = x % y;\n  if (sign(y) !== sign(signMightNotMatch)) {\n    return signMightNotMatch + y;\n  }\n  return signMightNotMatch;\n}\n\nfunction censorNegativeZero(x) {\n  return x === 0 ? 0 : x;\n}\n\nfunction createIntegerConversion(bitLength, { unsigned }) {\n  let lowerBound, upperBound;\n  if (unsigned) {\n    lowerBound = 0;\n    upperBound = 2 ** bitLength - 1;\n  } else {\n    lowerBound = -(2 ** (bitLength - 1));\n    upperBound = 2 ** (bitLength - 1) - 1;\n  }\n\n  const twoToTheBitLength = 2 ** bitLength;\n  const twoToOneLessThanTheBitLength = 2 ** (bitLength - 1);\n\n  return (value, options = {}) => {\n    let x = toNumber(value, options);\n    x = censorNegativeZero(x);\n\n    if (options.enforceRange) {\n      if (!Number.isFinite(x)) {\n        throw makeException(TypeError, \"is not a finite number\", options);\n      }\n\n      x = integerPart(x);\n\n      if (x < lowerBound || x > upperBound) {\n        throw makeException(\n          TypeError,\n          `is outside the accepted range of ${lowerBound} to ${upperBound}, inclusive`,\n          options\n        );\n      }\n\n      return x;\n    }\n\n    if (!Number.isNaN(x) && options.clamp) {\n      x = Math.min(Math.max(x, lowerBound), upperBound);\n      x = evenRound(x);\n      return x;\n    }\n\n    if (!Number.isFinite(x) || x === 0) {\n      return 0;\n    }\n    x = integerPart(x);\n\n    // Math.pow(2, 64) is not accurately representable in JavaScript, so try to avoid these per-spec operations if\n    // possible. Hopefully it's an optimization for the non-64-bitLength cases too.\n    if (x >= lowerBound && x <= upperBound) {\n      return x;\n    }\n\n    // These will not work great for bitLength of 64, but oh well. See the README for more details.\n    x = modulo(x, twoToTheBitLength);\n    if (!unsigned && x >= twoToOneLessThanTheBitLength) {\n      return x - twoToTheBitLength;\n    }\n    return x;\n  };\n}\n\nfunction createLongLongConversion(bitLength, { unsigned }) {\n  const upperBound = Number.MAX_SAFE_INTEGER;\n  const lowerBound = unsigned ? 0 : Number.MIN_SAFE_INTEGER;\n  const asBigIntN = unsigned ? BigInt.asUintN : BigInt.asIntN;\n\n  return (value, options = {}) => {\n    let x = toNumber(value, options);\n    x = censorNegativeZero(x);\n\n    if (options.enforceRange) {\n      if (!Number.isFinite(x)) {\n        throw makeException(TypeError, \"is not a finite number\", options);\n      }\n\n      x = integerPart(x);\n\n      if (x < lowerBound || x > upperBound) {\n        throw makeException(\n          TypeError,\n          `is outside the accepted range of ${lowerBound} to ${upperBound}, inclusive`,\n          options\n        );\n      }\n\n      return x;\n    }\n\n    if (!Number.isNaN(x) && options.clamp) {\n      x = Math.min(Math.max(x, lowerBound), upperBound);\n      x = evenRound(x);\n      return x;\n    }\n\n    if (!Number.isFinite(x) || x === 0) {\n      return 0;\n    }\n\n    let xBigInt = BigInt(integerPart(x));\n    xBigInt = asBigIntN(bitLength, xBigInt);\n    return Number(xBigInt);\n  };\n}\n\nexports.any = value => {\n  return value;\n};\n\nexports.undefined = () => {\n  return undefined;\n};\n\nexports.boolean = value => {\n  return Boolean(value);\n};\n\nexports.byte = createIntegerConversion(8, { unsigned: false });\nexports.octet = createIntegerConversion(8, { unsigned: true });\n\nexports.short = createIntegerConversion(16, { unsigned: false });\nexports[\"unsigned short\"] = createIntegerConversion(16, { unsigned: true });\n\nexports.long = createIntegerConversion(32, { unsigned: false });\nexports[\"unsigned long\"] = createIntegerConversion(32, { unsigned: true });\n\nexports[\"long long\"] = createLongLongConversion(64, { unsigned: false });\nexports[\"unsigned long long\"] = createLongLongConversion(64, { unsigned: true });\n\nexports.double = (value, options = {}) => {\n  const x = toNumber(value, options);\n\n  if (!Number.isFinite(x)) {\n    throw makeException(TypeError, \"is not a finite floating-point value\", options);\n  }\n\n  return x;\n};\n\nexports[\"unrestricted double\"] = (value, options = {}) => {\n  const x = toNumber(value, options);\n\n  return x;\n};\n\nexports.float = (value, options = {}) => {\n  const x = toNumber(value, options);\n\n  if (!Number.isFinite(x)) {\n    throw makeException(TypeError, \"is not a finite floating-point value\", options);\n  }\n\n  if (Object.is(x, -0)) {\n    return x;\n  }\n\n  const y = Math.fround(x);\n\n  if (!Number.isFinite(y)) {\n    throw makeException(TypeError, \"is outside the range of a single-precision floating-point value\", options);\n  }\n\n  return y;\n};\n\nexports[\"unrestricted float\"] = (value, options = {}) => {\n  const x = toNumber(value, options);\n\n  if (isNaN(x)) {\n    return x;\n  }\n\n  if (Object.is(x, -0)) {\n    return x;\n  }\n\n  return Math.fround(x);\n};\n\nexports.DOMString = (value, options = {}) => {\n  if (options.treatNullAsEmptyString && value === null) {\n    return \"\";\n  }\n\n  if (typeof value === \"symbol\") {\n    throw makeException(TypeError, \"is a symbol, which cannot be converted to a string\", options);\n  }\n\n  const StringCtor = options.globals ? options.globals.String : String;\n  return StringCtor(value);\n};\n\nexports.ByteString = (value, options = {}) => {\n  const x = exports.DOMString(value, options);\n  let c;\n  for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) {\n    if (c > 255) {\n      throw makeException(TypeError, \"is not a valid ByteString\", options);\n    }\n  }\n\n  return x;\n};\n\nexports.USVString = (value, options = {}) => {\n  const S = exports.DOMString(value, options);\n  const n = S.length;\n  const U = [];\n  for (let i = 0; i < n; ++i) {\n    const c = S.charCodeAt(i);\n    if (c < 0xD800 || c > 0xDFFF) {\n      U.push(String.fromCodePoint(c));\n    } else if (0xDC00 <= c && c <= 0xDFFF) {\n      U.push(String.fromCodePoint(0xFFFD));\n    } else if (i === n - 1) {\n      U.push(String.fromCodePoint(0xFFFD));\n    } else {\n      const d = S.charCodeAt(i + 1);\n      if (0xDC00 <= d && d <= 0xDFFF) {\n        const a = c & 0x3FF;\n        const b = d & 0x3FF;\n        U.push(String.fromCodePoint((2 << 15) + ((2 << 9) * a) + b));\n        ++i;\n      } else {\n        U.push(String.fromCodePoint(0xFFFD));\n      }\n    }\n  }\n\n  return U.join(\"\");\n};\n\nexports.object = (value, options = {}) => {\n  if (value === null || (typeof value !== \"object\" && typeof value !== \"function\")) {\n    throw makeException(TypeError, \"is not an object\", options);\n  }\n\n  return value;\n};\n\nconst abByteLengthGetter =\n    Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, \"byteLength\").get;\nconst sabByteLengthGetter =\n    typeof SharedArrayBuffer === \"function\" ?\n      Object.getOwnPropertyDescriptor(SharedArrayBuffer.prototype, \"byteLength\").get :\n      null;\n\nfunction isNonSharedArrayBuffer(value) {\n  try {\n    // This will throw on SharedArrayBuffers, but not detached ArrayBuffers.\n    // (The spec says it should throw, but the spec conflicts with implementations: https://github.com/tc39/ecma262/issues/678)\n    abByteLengthGetter.call(value);\n\n    return true;\n  } catch {\n    return false;\n  }\n}\n\nfunction isSharedArrayBuffer(value) {\n  try {\n    sabByteLengthGetter.call(value);\n    return true;\n  } catch {\n    return false;\n  }\n}\n\nfunction isArrayBufferDetached(value) {\n  try {\n    // eslint-disable-next-line no-new\n    new Uint8Array(value);\n    return false;\n  } catch {\n    return true;\n  }\n}\n\nexports.ArrayBuffer = (value, options = {}) => {\n  if (!isNonSharedArrayBuffer(value)) {\n    if (options.allowShared && !isSharedArrayBuffer(value)) {\n      throw makeException(TypeError, \"is not an ArrayBuffer or SharedArrayBuffer\", options);\n    }\n    throw makeException(TypeError, \"is not an ArrayBuffer\", options);\n  }\n  if (isArrayBufferDetached(value)) {\n    throw makeException(TypeError, \"is a detached ArrayBuffer\", options);\n  }\n\n  return value;\n};\n\nconst dvByteLengthGetter =\n    Object.getOwnPropertyDescriptor(DataView.prototype, \"byteLength\").get;\nexports.DataView = (value, options = {}) => {\n  try {\n    dvByteLengthGetter.call(value);\n  } catch (e) {\n    throw makeException(TypeError, \"is not a DataView\", options);\n  }\n\n  if (!options.allowShared && isSharedArrayBuffer(value.buffer)) {\n    throw makeException(TypeError, \"is backed by a SharedArrayBuffer, which is not allowed\", options);\n  }\n  if (isArrayBufferDetached(value.buffer)) {\n    throw makeException(TypeError, \"is backed by a detached ArrayBuffer\", options);\n  }\n\n  return value;\n};\n\n// Returns the unforgeable `TypedArray` constructor name or `undefined`,\n// if the `this` value isn't a valid `TypedArray` object.\n//\n// https://tc39.es/ecma262/#sec-get-%typedarray%.prototype-@@tostringtag\nconst typedArrayNameGetter = Object.getOwnPropertyDescriptor(\n  Object.getPrototypeOf(Uint8Array).prototype,\n  Symbol.toStringTag\n).get;\n[\n  Int8Array,\n  Int16Array,\n  Int32Array,\n  Uint8Array,\n  Uint16Array,\n  Uint32Array,\n  Uint8ClampedArray,\n  Float32Array,\n  Float64Array\n].forEach(func => {\n  const { name } = func;\n  const article = /^[AEIOU]/u.test(name) ? \"an\" : \"a\";\n  exports[name] = (value, options = {}) => {\n    if (!ArrayBuffer.isView(value) || typedArrayNameGetter.call(value) !== name) {\n      throw makeException(TypeError, `is not ${article} ${name} object`, options);\n    }\n    if (!options.allowShared && isSharedArrayBuffer(value.buffer)) {\n      throw makeException(TypeError, \"is a view on a SharedArrayBuffer, which is not allowed\", options);\n    }\n    if (isArrayBufferDetached(value.buffer)) {\n      throw makeException(TypeError, \"is a view on a detached ArrayBuffer\", options);\n    }\n\n    return value;\n  };\n});\n\n// Common definitions\n\nexports.ArrayBufferView = (value, options = {}) => {\n  if (!ArrayBuffer.isView(value)) {\n    throw makeException(TypeError, \"is not a view on an ArrayBuffer or SharedArrayBuffer\", options);\n  }\n\n  if (!options.allowShared && isSharedArrayBuffer(value.buffer)) {\n    throw makeException(TypeError, \"is a view on a SharedArrayBuffer, which is not allowed\", options);\n  }\n\n  if (isArrayBufferDetached(value.buffer)) {\n    throw makeException(TypeError, \"is a view on a detached ArrayBuffer\", options);\n  }\n  return value;\n};\n\nexports.BufferSource = (value, options = {}) => {\n  if (ArrayBuffer.isView(value)) {\n    if (!options.allowShared && isSharedArrayBuffer(value.buffer)) {\n      throw makeException(TypeError, \"is a view on a SharedArrayBuffer, which is not allowed\", options);\n    }\n\n    if (isArrayBufferDetached(value.buffer)) {\n      throw makeException(TypeError, \"is a view on a detached ArrayBuffer\", options);\n    }\n    return value;\n  }\n\n  if (!options.allowShared && !isNonSharedArrayBuffer(value)) {\n    throw makeException(TypeError, \"is not an ArrayBuffer or a view on one\", options);\n  }\n  if (options.allowShared && !isSharedArrayBuffer(value) && !isNonSharedArrayBuffer(value)) {\n    throw makeException(TypeError, \"is not an ArrayBuffer, SharedArrayBuffer, or a view on one\", options);\n  }\n  if (isArrayBufferDetached(value)) {\n    throw makeException(TypeError, \"is a detached ArrayBuffer\", options);\n  }\n\n  return value;\n};\n\nexports.DOMTimeStamp = exports[\"unsigned long long\"];\n","\"use strict\";\n\nconst { URL, URLSearchParams } = require(\"./webidl2js-wrapper\");\nconst urlStateMachine = require(\"./lib/url-state-machine\");\nconst percentEncoding = require(\"./lib/percent-encoding\");\n\nconst sharedGlobalObject = { Array, Object, Promise, String, TypeError };\nURL.install(sharedGlobalObject, [\"Window\"]);\nURLSearchParams.install(sharedGlobalObject, [\"Window\"]);\n\nexports.URL = sharedGlobalObject.URL;\nexports.URLSearchParams = sharedGlobalObject.URLSearchParams;\n\nexports.parseURL = urlStateMachine.parseURL;\nexports.basicURLParse = urlStateMachine.basicURLParse;\nexports.serializeURL = urlStateMachine.serializeURL;\nexports.serializePath = urlStateMachine.serializePath;\nexports.serializeHost = urlStateMachine.serializeHost;\nexports.serializeInteger = urlStateMachine.serializeInteger;\nexports.serializeURLOrigin = urlStateMachine.serializeURLOrigin;\nexports.setTheUsername = urlStateMachine.setTheUsername;\nexports.setThePassword = urlStateMachine.setThePassword;\nexports.cannotHaveAUsernamePasswordPort = urlStateMachine.cannotHaveAUsernamePasswordPort;\nexports.hasAnOpaquePath = urlStateMachine.hasAnOpaquePath;\n\nexports.percentDecodeString = percentEncoding.percentDecodeString;\nexports.percentDecodeBytes = percentEncoding.percentDecodeBytes;\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n  if (typeof value !== \"function\") {\n    throw new globalObject.TypeError(context + \" is not a function\");\n  }\n\n  function invokeTheCallbackFunction(...args) {\n    const thisArg = utils.tryWrapperForImpl(this);\n    let callResult;\n\n    for (let i = 0; i < args.length; i++) {\n      args[i] = utils.tryWrapperForImpl(args[i]);\n    }\n\n    callResult = Reflect.apply(value, thisArg, args);\n\n    callResult = conversions[\"any\"](callResult, { context: context, globals: globalObject });\n\n    return callResult;\n  }\n\n  invokeTheCallbackFunction.construct = (...args) => {\n    for (let i = 0; i < args.length; i++) {\n      args[i] = utils.tryWrapperForImpl(args[i]);\n    }\n\n    let callResult = Reflect.construct(value, args);\n\n    callResult = conversions[\"any\"](callResult, { context: context, globals: globalObject });\n\n    return callResult;\n  };\n\n  invokeTheCallbackFunction[utils.wrapperSymbol] = value;\n  invokeTheCallbackFunction.objectReference = value;\n\n  return invokeTheCallbackFunction;\n};\n","\"use strict\";\nconst usm = require(\"./url-state-machine\");\nconst urlencoded = require(\"./urlencoded\");\nconst URLSearchParams = require(\"./URLSearchParams\");\n\nexports.implementation = class URLImpl {\n  constructor(globalObject, constructorArgs) {\n    const url = constructorArgs[0];\n    const base = constructorArgs[1];\n\n    let parsedBase = null;\n    if (base !== undefined) {\n      parsedBase = usm.basicURLParse(base);\n      if (parsedBase === null) {\n        throw new TypeError(`Invalid base URL: ${base}`);\n      }\n    }\n\n    const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase });\n    if (parsedURL === null) {\n      throw new TypeError(`Invalid URL: ${url}`);\n    }\n\n    const query = parsedURL.query !== null ? parsedURL.query : \"\";\n\n    this._url = parsedURL;\n\n    // We cannot invoke the \"new URLSearchParams object\" algorithm without going through the constructor, which strips\n    // question mark by default. Therefore the doNotStripQMark hack is used.\n    this._query = URLSearchParams.createImpl(globalObject, [query], { doNotStripQMark: true });\n    this._query._url = this;\n  }\n\n  get href() {\n    return usm.serializeURL(this._url);\n  }\n\n  set href(v) {\n    const parsedURL = usm.basicURLParse(v);\n    if (parsedURL === null) {\n      throw new TypeError(`Invalid URL: ${v}`);\n    }\n\n    this._url = parsedURL;\n\n    this._query._list.splice(0);\n    const { query } = parsedURL;\n    if (query !== null) {\n      this._query._list = urlencoded.parseUrlencodedString(query);\n    }\n  }\n\n  get origin() {\n    return usm.serializeURLOrigin(this._url);\n  }\n\n  get protocol() {\n    return `${this._url.scheme}:`;\n  }\n\n  set protocol(v) {\n    usm.basicURLParse(`${v}:`, { url: this._url, stateOverride: \"scheme start\" });\n  }\n\n  get username() {\n    return this._url.username;\n  }\n\n  set username(v) {\n    if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n      return;\n    }\n\n    usm.setTheUsername(this._url, v);\n  }\n\n  get password() {\n    return this._url.password;\n  }\n\n  set password(v) {\n    if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n      return;\n    }\n\n    usm.setThePassword(this._url, v);\n  }\n\n  get host() {\n    const url = this._url;\n\n    if (url.host === null) {\n      return \"\";\n    }\n\n    if (url.port === null) {\n      return usm.serializeHost(url.host);\n    }\n\n    return `${usm.serializeHost(url.host)}:${usm.serializeInteger(url.port)}`;\n  }\n\n  set host(v) {\n    if (usm.hasAnOpaquePath(this._url)) {\n      return;\n    }\n\n    usm.basicURLParse(v, { url: this._url, stateOverride: \"host\" });\n  }\n\n  get hostname() {\n    if (this._url.host === null) {\n      return \"\";\n    }\n\n    return usm.serializeHost(this._url.host);\n  }\n\n  set hostname(v) {\n    if (usm.hasAnOpaquePath(this._url)) {\n      return;\n    }\n\n    usm.basicURLParse(v, { url: this._url, stateOverride: \"hostname\" });\n  }\n\n  get port() {\n    if (this._url.port === null) {\n      return \"\";\n    }\n\n    return usm.serializeInteger(this._url.port);\n  }\n\n  set port(v) {\n    if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n      return;\n    }\n\n    if (v === \"\") {\n      this._url.port = null;\n    } else {\n      usm.basicURLParse(v, { url: this._url, stateOverride: \"port\" });\n    }\n  }\n\n  get pathname() {\n    return usm.serializePath(this._url);\n  }\n\n  set pathname(v) {\n    if (usm.hasAnOpaquePath(this._url)) {\n      return;\n    }\n\n    this._url.path = [];\n    usm.basicURLParse(v, { url: this._url, stateOverride: \"path start\" });\n  }\n\n  get search() {\n    if (this._url.query === null || this._url.query === \"\") {\n      return \"\";\n    }\n\n    return `?${this._url.query}`;\n  }\n\n  set search(v) {\n    const url = this._url;\n\n    if (v === \"\") {\n      url.query = null;\n      this._query._list = [];\n      return;\n    }\n\n    const input = v[0] === \"?\" ? v.substring(1) : v;\n    url.query = \"\";\n    usm.basicURLParse(input, { url, stateOverride: \"query\" });\n    this._query._list = urlencoded.parseUrlencodedString(input);\n  }\n\n  get searchParams() {\n    return this._query;\n  }\n\n  get hash() {\n    if (this._url.fragment === null || this._url.fragment === \"\") {\n      return \"\";\n    }\n\n    return `#${this._url.fragment}`;\n  }\n\n  set hash(v) {\n    if (v === \"\") {\n      this._url.fragment = null;\n      return;\n    }\n\n    const input = v[0] === \"#\" ? v.substring(1) : v;\n    this._url.fragment = \"\";\n    usm.basicURLParse(input, { url: this._url, stateOverride: \"fragment\" });\n  }\n\n  toJSON() {\n    return this.href;\n  }\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\n\nconst interfaceName = \"URL\";\n\nexports.is = value => {\n  return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n  return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n  if (exports.is(value)) {\n    return utils.implForWrapper(value);\n  }\n  throw new globalObject.TypeError(`${context} is not of type 'URL'.`);\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n  let proto;\n  if (newTarget !== undefined) {\n    proto = newTarget.prototype;\n  }\n\n  if (!utils.isObject(proto)) {\n    proto = globalObject[ctorRegistrySymbol][\"URL\"].prototype;\n  }\n\n  return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n  const wrapper = makeWrapper(globalObject);\n  return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n  const wrapper = exports.create(globalObject, constructorArgs, privateData);\n  return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n  privateData.wrapper = wrapper;\n\n  exports._internalSetup(wrapper, globalObject);\n  Object.defineProperty(wrapper, implSymbol, {\n    value: new Impl.implementation(globalObject, constructorArgs, privateData),\n    configurable: true\n  });\n\n  wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n  if (Impl.init) {\n    Impl.init(wrapper[implSymbol]);\n  }\n  return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n  const wrapper = makeWrapper(globalObject, newTarget);\n\n  exports._internalSetup(wrapper, globalObject);\n  Object.defineProperty(wrapper, implSymbol, {\n    value: Object.create(Impl.implementation.prototype),\n    configurable: true\n  });\n\n  wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n  if (Impl.init) {\n    Impl.init(wrapper[implSymbol]);\n  }\n  return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\", \"Worker\"]);\n\nexports.install = (globalObject, globalNames) => {\n  if (!globalNames.some(globalName => exposed.has(globalName))) {\n    return;\n  }\n\n  const ctorRegistry = utils.initCtorRegistry(globalObject);\n  class URL {\n    constructor(url) {\n      if (arguments.length < 1) {\n        throw new globalObject.TypeError(\n          `Failed to construct 'URL': 1 argument required, but only ${arguments.length} present.`\n        );\n      }\n      const args = [];\n      {\n        let curArg = arguments[0];\n        curArg = conversions[\"USVString\"](curArg, {\n          context: \"Failed to construct 'URL': parameter 1\",\n          globals: globalObject\n        });\n        args.push(curArg);\n      }\n      {\n        let curArg = arguments[1];\n        if (curArg !== undefined) {\n          curArg = conversions[\"USVString\"](curArg, {\n            context: \"Failed to construct 'URL': parameter 2\",\n            globals: globalObject\n          });\n        }\n        args.push(curArg);\n      }\n      return exports.setup(Object.create(new.target.prototype), globalObject, args);\n    }\n\n    toJSON() {\n      const esValue = this !== null && this !== undefined ? this : globalObject;\n      if (!exports.is(esValue)) {\n        throw new globalObject.TypeError(\"'toJSON' called on an object that is not a valid instance of URL.\");\n      }\n\n      return esValue[implSymbol].toJSON();\n    }\n\n    get href() {\n      const esValue = this !== null && this !== undefined ? this : globalObject;\n\n      if (!exports.is(esValue)) {\n        throw new globalObject.TypeError(\"'get href' called on an object that is not a valid instance of URL.\");\n      }\n\n      return esValue[implSymbol][\"href\"];\n    }\n\n    set href(V) {\n      const esValue = this !== null && this !== undefined ? this : globalObject;\n\n      if (!exports.is(esValue)) {\n        throw new globalObject.TypeError(\"'set href' called on an object that is not a valid instance of URL.\");\n      }\n\n      V = conversions[\"USVString\"](V, {\n        context: \"Failed to set the 'href' property on 'URL': The provided value\",\n        globals: globalObject\n      });\n\n      esValue[implSymbol][\"href\"] = V;\n    }\n\n    toString() {\n      const esValue = this;\n      if (!exports.is(esValue)) {\n        throw new globalObject.TypeError(\"'toString' called on an object that is not a valid instance of URL.\");\n      }\n\n      return esValue[implSymbol][\"href\"];\n    }\n\n    get origin() {\n      const esValue = this !== null && this !== undefined ? this : globalObject;\n\n      if (!exports.is(esValue)) {\n        throw new globalObject.TypeError(\"'get origin' called on an object that is not a valid instance of URL.\");\n      }\n\n      return esValue[implSymbol][\"origin\"];\n    }\n\n    get protocol() {\n      const esValue = this !== null && this !== undefined ? this : globalObject;\n\n      if (!exports.is(esValue)) {\n        throw new globalObject.TypeError(\"'get protocol' called on an object that is not a valid instance of URL.\");\n      }\n\n      return esValue[implSymbol][\"protocol\"];\n    }\n\n    set protocol(V) {\n      const esValue = this !== null && this !== undefined ? this : globalObject;\n\n      if (!exports.is(esValue)) {\n        throw new globalObject.TypeError(\"'set protocol' called on an object that is not a valid instance of URL.\");\n      }\n\n      V = conversions[\"USVString\"](V, {\n        context: \"Failed to set the 'protocol' property on 'URL': The provided value\",\n        globals: globalObject\n      });\n\n      esValue[implSymbol][\"protocol\"] = V;\n    }\n\n    get username() {\n      const esValue = this !== null && this !== undefined ? this : globalObject;\n\n      if (!exports.is(esValue)) {\n        throw new globalObject.TypeError(\"'get username' called on an object that is not a valid instance of URL.\");\n      }\n\n      return esValue[implSymbol][\"username\"];\n    }\n\n    set username(V) {\n      const esValue = this !== null && this !== undefined ? this : globalObject;\n\n      if (!exports.is(esValue)) {\n        throw new globalObject.TypeError(\"'set username' called on an object that is not a valid instance of URL.\");\n      }\n\n      V = conversions[\"USVString\"](V, {\n        context: \"Failed to set the 'username' property on 'URL': The provided value\",\n        globals: globalObject\n      });\n\n      esValue[implSymbol][\"username\"] = V;\n    }\n\n    get password() {\n      const esValue = this !== null && this !== undefined ? this : globalObject;\n\n      if (!exports.is(esValue)) {\n        throw new globalObject.TypeError(\"'get password' called on an object that is not a valid instance of URL.\");\n      }\n\n      return esValue[implSymbol][\"password\"];\n    }\n\n    set password(V) {\n      const esValue = this !== null && this !== undefined ? this : globalObject;\n\n      if (!exports.is(esValue)) {\n        throw new globalObject.TypeError(\"'set password' called on an object that is not a valid instance of URL.\");\n      }\n\n      V = conversions[\"USVString\"](V, {\n        context: \"Failed to set the 'password' property on 'URL': The provided value\",\n        globals: globalObject\n      });\n\n      esValue[implSymbol][\"password\"] = V;\n    }\n\n    get host() {\n      const esValue = this !== null && this !== undefined ? this : globalObject;\n\n      if (!exports.is(esValue)) {\n        throw new globalObject.TypeError(\"'get host' called on an object that is not a valid instance of URL.\");\n      }\n\n      return esValue[implSymbol][\"host\"];\n    }\n\n    set host(V) {\n      const esValue = this !== null && this !== undefined ? this : globalObject;\n\n      if (!exports.is(esValue)) {\n        throw new globalObject.TypeError(\"'set host' called on an object that is not a valid instance of URL.\");\n      }\n\n      V = conversions[\"USVString\"](V, {\n        context: \"Failed to set the 'host' property on 'URL': The provided value\",\n        globals: globalObject\n      });\n\n      esValue[implSymbol][\"host\"] = V;\n    }\n\n    get hostname() {\n      const esValue = this !== null && this !== undefined ? this : globalObject;\n\n      if (!exports.is(esValue)) {\n        throw new globalObject.TypeError(\"'get hostname' called on an object that is not a valid instance of URL.\");\n      }\n\n      return esValue[implSymbol][\"hostname\"];\n    }\n\n    set hostname(V) {\n      const esValue = this !== null && this !== undefined ? this : globalObject;\n\n      if (!exports.is(esValue)) {\n        throw new globalObject.TypeError(\"'set hostname' called on an object that is not a valid instance of URL.\");\n      }\n\n      V = conversions[\"USVString\"](V, {\n        context: \"Failed to set the 'hostname' property on 'URL': The provided value\",\n        globals: globalObject\n      });\n\n      esValue[implSymbol][\"hostname\"] = V;\n    }\n\n    get port() {\n      const esValue = this !== null && this !== undefined ? this : globalObject;\n\n      if (!exports.is(esValue)) {\n        throw new globalObject.TypeError(\"'get port' called on an object that is not a valid instance of URL.\");\n      }\n\n      return esValue[implSymbol][\"port\"];\n    }\n\n    set port(V) {\n      const esValue = this !== null && this !== undefined ? this : globalObject;\n\n      if (!exports.is(esValue)) {\n        throw new globalObject.TypeError(\"'set port' called on an object that is not a valid instance of URL.\");\n      }\n\n      V = conversions[\"USVString\"](V, {\n        context: \"Failed to set the 'port' property on 'URL': The provided value\",\n        globals: globalObject\n      });\n\n      esValue[implSymbol][\"port\"] = V;\n    }\n\n    get pathname() {\n      const esValue = this !== null && this !== undefined ? this : globalObject;\n\n      if (!exports.is(esValue)) {\n        throw new globalObject.TypeError(\"'get pathname' called on an object that is not a valid instance of URL.\");\n      }\n\n      return esValue[implSymbol][\"pathname\"];\n    }\n\n    set pathname(V) {\n      const esValue = this !== null && this !== undefined ? this : globalObject;\n\n      if (!exports.is(esValue)) {\n        throw new globalObject.TypeError(\"'set pathname' called on an object that is not a valid instance of URL.\");\n      }\n\n      V = conversions[\"USVString\"](V, {\n        context: \"Failed to set the 'pathname' property on 'URL': The provided value\",\n        globals: globalObject\n      });\n\n      esValue[implSymbol][\"pathname\"] = V;\n    }\n\n    get search() {\n      const esValue = this !== null && this !== undefined ? this : globalObject;\n\n      if (!exports.is(esValue)) {\n        throw new globalObject.TypeError(\"'get search' called on an object that is not a valid instance of URL.\");\n      }\n\n      return esValue[implSymbol][\"search\"];\n    }\n\n    set search(V) {\n      const esValue = this !== null && this !== undefined ? this : globalObject;\n\n      if (!exports.is(esValue)) {\n        throw new globalObject.TypeError(\"'set search' called on an object that is not a valid instance of URL.\");\n      }\n\n      V = conversions[\"USVString\"](V, {\n        context: \"Failed to set the 'search' property on 'URL': The provided value\",\n        globals: globalObject\n      });\n\n      esValue[implSymbol][\"search\"] = V;\n    }\n\n    get searchParams() {\n      const esValue = this !== null && this !== undefined ? this : globalObject;\n\n      if (!exports.is(esValue)) {\n        throw new globalObject.TypeError(\"'get searchParams' called on an object that is not a valid instance of URL.\");\n      }\n\n      return utils.getSameObject(this, \"searchParams\", () => {\n        return utils.tryWrapperForImpl(esValue[implSymbol][\"searchParams\"]);\n      });\n    }\n\n    get hash() {\n      const esValue = this !== null && this !== undefined ? this : globalObject;\n\n      if (!exports.is(esValue)) {\n        throw new globalObject.TypeError(\"'get hash' called on an object that is not a valid instance of URL.\");\n      }\n\n      return esValue[implSymbol][\"hash\"];\n    }\n\n    set hash(V) {\n      const esValue = this !== null && this !== undefined ? this : globalObject;\n\n      if (!exports.is(esValue)) {\n        throw new globalObject.TypeError(\"'set hash' called on an object that is not a valid instance of URL.\");\n      }\n\n      V = conversions[\"USVString\"](V, {\n        context: \"Failed to set the 'hash' property on 'URL': The provided value\",\n        globals: globalObject\n      });\n\n      esValue[implSymbol][\"hash\"] = V;\n    }\n  }\n  Object.defineProperties(URL.prototype, {\n    toJSON: { enumerable: true },\n    href: { enumerable: true },\n    toString: { enumerable: true },\n    origin: { enumerable: true },\n    protocol: { enumerable: true },\n    username: { enumerable: true },\n    password: { enumerable: true },\n    host: { enumerable: true },\n    hostname: { enumerable: true },\n    port: { enumerable: true },\n    pathname: { enumerable: true },\n    search: { enumerable: true },\n    searchParams: { enumerable: true },\n    hash: { enumerable: true },\n    [Symbol.toStringTag]: { value: \"URL\", configurable: true }\n  });\n  ctorRegistry[interfaceName] = URL;\n\n  Object.defineProperty(globalObject, interfaceName, {\n    configurable: true,\n    writable: true,\n    value: URL\n  });\n\n  if (globalNames.includes(\"Window\")) {\n    Object.defineProperty(globalObject, \"webkitURL\", {\n      configurable: true,\n      writable: true,\n      value: URL\n    });\n  }\n};\n\nconst Impl = require(\"./URL-impl.js\");\n","\"use strict\";\nconst urlencoded = require(\"./urlencoded\");\n\nexports.implementation = class URLSearchParamsImpl {\n  constructor(globalObject, constructorArgs, { doNotStripQMark = false }) {\n    let init = constructorArgs[0];\n    this._list = [];\n    this._url = null;\n\n    if (!doNotStripQMark && typeof init === \"string\" && init[0] === \"?\") {\n      init = init.slice(1);\n    }\n\n    if (Array.isArray(init)) {\n      for (const pair of init) {\n        if (pair.length !== 2) {\n          throw new TypeError(\"Failed to construct 'URLSearchParams': parameter 1 sequence's element does not \" +\n                              \"contain exactly two elements.\");\n        }\n        this._list.push([pair[0], pair[1]]);\n      }\n    } else if (typeof init === \"object\" && Object.getPrototypeOf(init) === null) {\n      for (const name of Object.keys(init)) {\n        const value = init[name];\n        this._list.push([name, value]);\n      }\n    } else {\n      this._list = urlencoded.parseUrlencodedString(init);\n    }\n  }\n\n  _updateSteps() {\n    if (this._url !== null) {\n      let query = urlencoded.serializeUrlencoded(this._list);\n      if (query === \"\") {\n        query = null;\n      }\n      this._url._url.query = query;\n    }\n  }\n\n  append(name, value) {\n    this._list.push([name, value]);\n    this._updateSteps();\n  }\n\n  delete(name) {\n    let i = 0;\n    while (i < this._list.length) {\n      if (this._list[i][0] === name) {\n        this._list.splice(i, 1);\n      } else {\n        i++;\n      }\n    }\n    this._updateSteps();\n  }\n\n  get(name) {\n    for (const tuple of this._list) {\n      if (tuple[0] === name) {\n        return tuple[1];\n      }\n    }\n    return null;\n  }\n\n  getAll(name) {\n    const output = [];\n    for (const tuple of this._list) {\n      if (tuple[0] === name) {\n        output.push(tuple[1]);\n      }\n    }\n    return output;\n  }\n\n  has(name) {\n    for (const tuple of this._list) {\n      if (tuple[0] === name) {\n        return true;\n      }\n    }\n    return false;\n  }\n\n  set(name, value) {\n    let found = false;\n    let i = 0;\n    while (i < this._list.length) {\n      if (this._list[i][0] === name) {\n        if (found) {\n          this._list.splice(i, 1);\n        } else {\n          found = true;\n          this._list[i][1] = value;\n          i++;\n        }\n      } else {\n        i++;\n      }\n    }\n    if (!found) {\n      this._list.push([name, value]);\n    }\n    this._updateSteps();\n  }\n\n  sort() {\n    this._list.sort((a, b) => {\n      if (a[0] < b[0]) {\n        return -1;\n      }\n      if (a[0] > b[0]) {\n        return 1;\n      }\n      return 0;\n    });\n\n    this._updateSteps();\n  }\n\n  [Symbol.iterator]() {\n    return this._list[Symbol.iterator]();\n  }\n\n  toString() {\n    return urlencoded.serializeUrlencoded(this._list);\n  }\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\n\nconst Function = require(\"./Function.js\");\nconst newObjectInRealm = utils.newObjectInRealm;\nconst implSymbol = utils.implSymbol;\nconst ctorRegistrySymbol = utils.ctorRegistrySymbol;\n\nconst interfaceName = \"URLSearchParams\";\n\nexports.is = value => {\n  return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;\n};\nexports.isImpl = value => {\n  return utils.isObject(value) && value instanceof Impl.implementation;\n};\nexports.convert = (globalObject, value, { context = \"The provided value\" } = {}) => {\n  if (exports.is(value)) {\n    return utils.implForWrapper(value);\n  }\n  throw new globalObject.TypeError(`${context} is not of type 'URLSearchParams'.`);\n};\n\nexports.createDefaultIterator = (globalObject, target, kind) => {\n  const ctorRegistry = globalObject[ctorRegistrySymbol];\n  const iteratorPrototype = ctorRegistry[\"URLSearchParams Iterator\"];\n  const iterator = Object.create(iteratorPrototype);\n  Object.defineProperty(iterator, utils.iterInternalSymbol, {\n    value: { target, kind, index: 0 },\n    configurable: true\n  });\n  return iterator;\n};\n\nfunction makeWrapper(globalObject, newTarget) {\n  let proto;\n  if (newTarget !== undefined) {\n    proto = newTarget.prototype;\n  }\n\n  if (!utils.isObject(proto)) {\n    proto = globalObject[ctorRegistrySymbol][\"URLSearchParams\"].prototype;\n  }\n\n  return Object.create(proto);\n}\n\nexports.create = (globalObject, constructorArgs, privateData) => {\n  const wrapper = makeWrapper(globalObject);\n  return exports.setup(wrapper, globalObject, constructorArgs, privateData);\n};\n\nexports.createImpl = (globalObject, constructorArgs, privateData) => {\n  const wrapper = exports.create(globalObject, constructorArgs, privateData);\n  return utils.implForWrapper(wrapper);\n};\n\nexports._internalSetup = (wrapper, globalObject) => {};\n\nexports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {\n  privateData.wrapper = wrapper;\n\n  exports._internalSetup(wrapper, globalObject);\n  Object.defineProperty(wrapper, implSymbol, {\n    value: new Impl.implementation(globalObject, constructorArgs, privateData),\n    configurable: true\n  });\n\n  wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n  if (Impl.init) {\n    Impl.init(wrapper[implSymbol]);\n  }\n  return wrapper;\n};\n\nexports.new = (globalObject, newTarget) => {\n  const wrapper = makeWrapper(globalObject, newTarget);\n\n  exports._internalSetup(wrapper, globalObject);\n  Object.defineProperty(wrapper, implSymbol, {\n    value: Object.create(Impl.implementation.prototype),\n    configurable: true\n  });\n\n  wrapper[implSymbol][utils.wrapperSymbol] = wrapper;\n  if (Impl.init) {\n    Impl.init(wrapper[implSymbol]);\n  }\n  return wrapper[implSymbol];\n};\n\nconst exposed = new Set([\"Window\", \"Worker\"]);\n\nexports.install = (globalObject, globalNames) => {\n  if (!globalNames.some(globalName => exposed.has(globalName))) {\n    return;\n  }\n\n  const ctorRegistry = utils.initCtorRegistry(globalObject);\n  class URLSearchParams {\n    constructor() {\n      const args = [];\n      {\n        let curArg = arguments[0];\n        if (curArg !== undefined) {\n          if (utils.isObject(curArg)) {\n            if (curArg[Symbol.iterator] !== undefined) {\n              if (!utils.isObject(curArg)) {\n                throw new globalObject.TypeError(\n                  \"Failed to construct 'URLSearchParams': parameter 1\" + \" sequence\" + \" is not an iterable object.\"\n                );\n              } else {\n                const V = [];\n                const tmp = curArg;\n                for (let nextItem of tmp) {\n                  if (!utils.isObject(nextItem)) {\n                    throw new globalObject.TypeError(\n                      \"Failed to construct 'URLSearchParams': parameter 1\" +\n                        \" sequence\" +\n                        \"'s element\" +\n                        \" is not an iterable object.\"\n                    );\n                  } else {\n                    const V = [];\n                    const tmp = nextItem;\n                    for (let nextItem of tmp) {\n                      nextItem = conversions[\"USVString\"](nextItem, {\n                        context:\n                          \"Failed to construct 'URLSearchParams': parameter 1\" +\n                          \" sequence\" +\n                          \"'s element\" +\n                          \"'s element\",\n                        globals: globalObject\n                      });\n\n                      V.push(nextItem);\n                    }\n                    nextItem = V;\n                  }\n\n                  V.push(nextItem);\n                }\n                curArg = V;\n              }\n            } else {\n              if (!utils.isObject(curArg)) {\n                throw new globalObject.TypeError(\n                  \"Failed to construct 'URLSearchParams': parameter 1\" + \" record\" + \" is not an object.\"\n                );\n              } else {\n                const result = Object.create(null);\n                for (const key of Reflect.ownKeys(curArg)) {\n                  const desc = Object.getOwnPropertyDescriptor(curArg, key);\n                  if (desc && desc.enumerable) {\n                    let typedKey = key;\n\n                    typedKey = conversions[\"USVString\"](typedKey, {\n                      context: \"Failed to construct 'URLSearchParams': parameter 1\" + \" record\" + \"'s key\",\n                      globals: globalObject\n                    });\n\n                    let typedValue = curArg[key];\n\n                    typedValue = conversions[\"USVString\"](typedValue, {\n                      context: \"Failed to construct 'URLSearchParams': parameter 1\" + \" record\" + \"'s value\",\n                      globals: globalObject\n                    });\n\n                    result[typedKey] = typedValue;\n                  }\n                }\n                curArg = result;\n              }\n            }\n          } else {\n            curArg = conversions[\"USVString\"](curArg, {\n              context: \"Failed to construct 'URLSearchParams': parameter 1\",\n              globals: globalObject\n            });\n          }\n        } else {\n          curArg = \"\";\n        }\n        args.push(curArg);\n      }\n      return exports.setup(Object.create(new.target.prototype), globalObject, args);\n    }\n\n    append(name, value) {\n      const esValue = this !== null && this !== undefined ? this : globalObject;\n      if (!exports.is(esValue)) {\n        throw new globalObject.TypeError(\n          \"'append' called on an object that is not a valid instance of URLSearchParams.\"\n        );\n      }\n\n      if (arguments.length < 2) {\n        throw new globalObject.TypeError(\n          `Failed to execute 'append' on 'URLSearchParams': 2 arguments required, but only ${arguments.length} present.`\n        );\n      }\n      const args = [];\n      {\n        let curArg = arguments[0];\n        curArg = conversions[\"USVString\"](curArg, {\n          context: \"Failed to execute 'append' on 'URLSearchParams': parameter 1\",\n          globals: globalObject\n        });\n        args.push(curArg);\n      }\n      {\n        let curArg = arguments[1];\n        curArg = conversions[\"USVString\"](curArg, {\n          context: \"Failed to execute 'append' on 'URLSearchParams': parameter 2\",\n          globals: globalObject\n        });\n        args.push(curArg);\n      }\n      return utils.tryWrapperForImpl(esValue[implSymbol].append(...args));\n    }\n\n    delete(name) {\n      const esValue = this !== null && this !== undefined ? this : globalObject;\n      if (!exports.is(esValue)) {\n        throw new globalObject.TypeError(\n          \"'delete' called on an object that is not a valid instance of URLSearchParams.\"\n        );\n      }\n\n      if (arguments.length < 1) {\n        throw new globalObject.TypeError(\n          `Failed to execute 'delete' on 'URLSearchParams': 1 argument required, but only ${arguments.length} present.`\n        );\n      }\n      const args = [];\n      {\n        let curArg = arguments[0];\n        curArg = conversions[\"USVString\"](curArg, {\n          context: \"Failed to execute 'delete' on 'URLSearchParams': parameter 1\",\n          globals: globalObject\n        });\n        args.push(curArg);\n      }\n      return utils.tryWrapperForImpl(esValue[implSymbol].delete(...args));\n    }\n\n    get(name) {\n      const esValue = this !== null && this !== undefined ? this : globalObject;\n      if (!exports.is(esValue)) {\n        throw new globalObject.TypeError(\"'get' called on an object that is not a valid instance of URLSearchParams.\");\n      }\n\n      if (arguments.length < 1) {\n        throw new globalObject.TypeError(\n          `Failed to execute 'get' on 'URLSearchParams': 1 argument required, but only ${arguments.length} present.`\n        );\n      }\n      const args = [];\n      {\n        let curArg = arguments[0];\n        curArg = conversions[\"USVString\"](curArg, {\n          context: \"Failed to execute 'get' on 'URLSearchParams': parameter 1\",\n          globals: globalObject\n        });\n        args.push(curArg);\n      }\n      return esValue[implSymbol].get(...args);\n    }\n\n    getAll(name) {\n      const esValue = this !== null && this !== undefined ? this : globalObject;\n      if (!exports.is(esValue)) {\n        throw new globalObject.TypeError(\n          \"'getAll' called on an object that is not a valid instance of URLSearchParams.\"\n        );\n      }\n\n      if (arguments.length < 1) {\n        throw new globalObject.TypeError(\n          `Failed to execute 'getAll' on 'URLSearchParams': 1 argument required, but only ${arguments.length} present.`\n        );\n      }\n      const args = [];\n      {\n        let curArg = arguments[0];\n        curArg = conversions[\"USVString\"](curArg, {\n          context: \"Failed to execute 'getAll' on 'URLSearchParams': parameter 1\",\n          globals: globalObject\n        });\n        args.push(curArg);\n      }\n      return utils.tryWrapperForImpl(esValue[implSymbol].getAll(...args));\n    }\n\n    has(name) {\n      const esValue = this !== null && this !== undefined ? this : globalObject;\n      if (!exports.is(esValue)) {\n        throw new globalObject.TypeError(\"'has' called on an object that is not a valid instance of URLSearchParams.\");\n      }\n\n      if (arguments.length < 1) {\n        throw new globalObject.TypeError(\n          `Failed to execute 'has' on 'URLSearchParams': 1 argument required, but only ${arguments.length} present.`\n        );\n      }\n      const args = [];\n      {\n        let curArg = arguments[0];\n        curArg = conversions[\"USVString\"](curArg, {\n          context: \"Failed to execute 'has' on 'URLSearchParams': parameter 1\",\n          globals: globalObject\n        });\n        args.push(curArg);\n      }\n      return esValue[implSymbol].has(...args);\n    }\n\n    set(name, value) {\n      const esValue = this !== null && this !== undefined ? this : globalObject;\n      if (!exports.is(esValue)) {\n        throw new globalObject.TypeError(\"'set' called on an object that is not a valid instance of URLSearchParams.\");\n      }\n\n      if (arguments.length < 2) {\n        throw new globalObject.TypeError(\n          `Failed to execute 'set' on 'URLSearchParams': 2 arguments required, but only ${arguments.length} present.`\n        );\n      }\n      const args = [];\n      {\n        let curArg = arguments[0];\n        curArg = conversions[\"USVString\"](curArg, {\n          context: \"Failed to execute 'set' on 'URLSearchParams': parameter 1\",\n          globals: globalObject\n        });\n        args.push(curArg);\n      }\n      {\n        let curArg = arguments[1];\n        curArg = conversions[\"USVString\"](curArg, {\n          context: \"Failed to execute 'set' on 'URLSearchParams': parameter 2\",\n          globals: globalObject\n        });\n        args.push(curArg);\n      }\n      return utils.tryWrapperForImpl(esValue[implSymbol].set(...args));\n    }\n\n    sort() {\n      const esValue = this !== null && this !== undefined ? this : globalObject;\n      if (!exports.is(esValue)) {\n        throw new globalObject.TypeError(\"'sort' called on an object that is not a valid instance of URLSearchParams.\");\n      }\n\n      return utils.tryWrapperForImpl(esValue[implSymbol].sort());\n    }\n\n    toString() {\n      const esValue = this !== null && this !== undefined ? this : globalObject;\n      if (!exports.is(esValue)) {\n        throw new globalObject.TypeError(\n          \"'toString' called on an object that is not a valid instance of URLSearchParams.\"\n        );\n      }\n\n      return esValue[implSymbol].toString();\n    }\n\n    keys() {\n      if (!exports.is(this)) {\n        throw new globalObject.TypeError(\"'keys' called on an object that is not a valid instance of URLSearchParams.\");\n      }\n      return exports.createDefaultIterator(globalObject, this, \"key\");\n    }\n\n    values() {\n      if (!exports.is(this)) {\n        throw new globalObject.TypeError(\n          \"'values' called on an object that is not a valid instance of URLSearchParams.\"\n        );\n      }\n      return exports.createDefaultIterator(globalObject, this, \"value\");\n    }\n\n    entries() {\n      if (!exports.is(this)) {\n        throw new globalObject.TypeError(\n          \"'entries' called on an object that is not a valid instance of URLSearchParams.\"\n        );\n      }\n      return exports.createDefaultIterator(globalObject, this, \"key+value\");\n    }\n\n    forEach(callback) {\n      if (!exports.is(this)) {\n        throw new globalObject.TypeError(\n          \"'forEach' called on an object that is not a valid instance of URLSearchParams.\"\n        );\n      }\n      if (arguments.length < 1) {\n        throw new globalObject.TypeError(\n          \"Failed to execute 'forEach' on 'iterable': 1 argument required, but only 0 present.\"\n        );\n      }\n      callback = Function.convert(globalObject, callback, {\n        context: \"Failed to execute 'forEach' on 'iterable': The callback provided as parameter 1\"\n      });\n      const thisArg = arguments[1];\n      let pairs = Array.from(this[implSymbol]);\n      let i = 0;\n      while (i < pairs.length) {\n        const [key, value] = pairs[i].map(utils.tryWrapperForImpl);\n        callback.call(thisArg, value, key, this);\n        pairs = Array.from(this[implSymbol]);\n        i++;\n      }\n    }\n  }\n  Object.defineProperties(URLSearchParams.prototype, {\n    append: { enumerable: true },\n    delete: { enumerable: true },\n    get: { enumerable: true },\n    getAll: { enumerable: true },\n    has: { enumerable: true },\n    set: { enumerable: true },\n    sort: { enumerable: true },\n    toString: { enumerable: true },\n    keys: { enumerable: true },\n    values: { enumerable: true },\n    entries: { enumerable: true },\n    forEach: { enumerable: true },\n    [Symbol.toStringTag]: { value: \"URLSearchParams\", configurable: true },\n    [Symbol.iterator]: { value: URLSearchParams.prototype.entries, configurable: true, writable: true }\n  });\n  ctorRegistry[interfaceName] = URLSearchParams;\n\n  ctorRegistry[\"URLSearchParams Iterator\"] = Object.create(ctorRegistry[\"%IteratorPrototype%\"], {\n    [Symbol.toStringTag]: {\n      configurable: true,\n      value: \"URLSearchParams Iterator\"\n    }\n  });\n  utils.define(ctorRegistry[\"URLSearchParams Iterator\"], {\n    next() {\n      const internal = this && this[utils.iterInternalSymbol];\n      if (!internal) {\n        throw new globalObject.TypeError(\"next() called on a value that is not a URLSearchParams iterator object\");\n      }\n\n      const { target, kind, index } = internal;\n      const values = Array.from(target[implSymbol]);\n      const len = values.length;\n      if (index >= len) {\n        return newObjectInRealm(globalObject, { value: undefined, done: true });\n      }\n\n      const pair = values[index];\n      internal.index = index + 1;\n      return newObjectInRealm(globalObject, utils.iteratorResult(pair.map(utils.tryWrapperForImpl), kind));\n    }\n  });\n\n  Object.defineProperty(globalObject, interfaceName, {\n    configurable: true,\n    writable: true,\n    value: URLSearchParams\n  });\n};\n\nconst Impl = require(\"./URLSearchParams-impl.js\");\n","\"use strict\";\nconst utf8Encoder = new TextEncoder();\nconst utf8Decoder = new TextDecoder(\"utf-8\", { ignoreBOM: true });\n\nfunction utf8Encode(string) {\n  return utf8Encoder.encode(string);\n}\n\nfunction utf8DecodeWithoutBOM(bytes) {\n  return utf8Decoder.decode(bytes);\n}\n\nmodule.exports = {\n  utf8Encode,\n  utf8DecodeWithoutBOM\n};\n","\"use strict\";\n\n// Note that we take code points as JS numbers, not JS strings.\n\nfunction isASCIIDigit(c) {\n  return c >= 0x30 && c <= 0x39;\n}\n\nfunction isASCIIAlpha(c) {\n  return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A);\n}\n\nfunction isASCIIAlphanumeric(c) {\n  return isASCIIAlpha(c) || isASCIIDigit(c);\n}\n\nfunction isASCIIHex(c) {\n  return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66);\n}\n\nmodule.exports = {\n  isASCIIDigit,\n  isASCIIAlpha,\n  isASCIIAlphanumeric,\n  isASCIIHex\n};\n","\"use strict\";\nconst { isASCIIHex } = require(\"./infra\");\nconst { utf8Encode } = require(\"./encoding\");\n\nfunction p(char) {\n  return char.codePointAt(0);\n}\n\n// https://url.spec.whatwg.org/#percent-encode\nfunction percentEncode(c) {\n  let hex = c.toString(16).toUpperCase();\n  if (hex.length === 1) {\n    hex = `0${hex}`;\n  }\n\n  return `%${hex}`;\n}\n\n// https://url.spec.whatwg.org/#percent-decode\nfunction percentDecodeBytes(input) {\n  const output = new Uint8Array(input.byteLength);\n  let outputIndex = 0;\n  for (let i = 0; i < input.byteLength; ++i) {\n    const byte = input[i];\n    if (byte !== 0x25) {\n      output[outputIndex++] = byte;\n    } else if (byte === 0x25 && (!isASCIIHex(input[i + 1]) || !isASCIIHex(input[i + 2]))) {\n      output[outputIndex++] = byte;\n    } else {\n      const bytePoint = parseInt(String.fromCodePoint(input[i + 1], input[i + 2]), 16);\n      output[outputIndex++] = bytePoint;\n      i += 2;\n    }\n  }\n\n  return output.slice(0, outputIndex);\n}\n\n// https://url.spec.whatwg.org/#string-percent-decode\nfunction percentDecodeString(input) {\n  const bytes = utf8Encode(input);\n  return percentDecodeBytes(bytes);\n}\n\n// https://url.spec.whatwg.org/#c0-control-percent-encode-set\nfunction isC0ControlPercentEncode(c) {\n  return c <= 0x1F || c > 0x7E;\n}\n\n// https://url.spec.whatwg.org/#fragment-percent-encode-set\nconst extraFragmentPercentEncodeSet = new Set([p(\" \"), p(\"\\\"\"), p(\"<\"), p(\">\"), p(\"`\")]);\nfunction isFragmentPercentEncode(c) {\n  return isC0ControlPercentEncode(c) || extraFragmentPercentEncodeSet.has(c);\n}\n\n// https://url.spec.whatwg.org/#query-percent-encode-set\nconst extraQueryPercentEncodeSet = new Set([p(\" \"), p(\"\\\"\"), p(\"#\"), p(\"<\"), p(\">\")]);\nfunction isQueryPercentEncode(c) {\n  return isC0ControlPercentEncode(c) || extraQueryPercentEncodeSet.has(c);\n}\n\n// https://url.spec.whatwg.org/#special-query-percent-encode-set\nfunction isSpecialQueryPercentEncode(c) {\n  return isQueryPercentEncode(c) || c === p(\"'\");\n}\n\n// https://url.spec.whatwg.org/#path-percent-encode-set\nconst extraPathPercentEncodeSet = new Set([p(\"?\"), p(\"`\"), p(\"{\"), p(\"}\")]);\nfunction isPathPercentEncode(c) {\n  return isQueryPercentEncode(c) || extraPathPercentEncodeSet.has(c);\n}\n\n// https://url.spec.whatwg.org/#userinfo-percent-encode-set\nconst extraUserinfoPercentEncodeSet =\n  new Set([p(\"/\"), p(\":\"), p(\";\"), p(\"=\"), p(\"@\"), p(\"[\"), p(\"\\\\\"), p(\"]\"), p(\"^\"), p(\"|\")]);\nfunction isUserinfoPercentEncode(c) {\n  return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c);\n}\n\n// https://url.spec.whatwg.org/#component-percent-encode-set\nconst extraComponentPercentEncodeSet = new Set([p(\"$\"), p(\"%\"), p(\"&\"), p(\"+\"), p(\",\")]);\nfunction isComponentPercentEncode(c) {\n  return isUserinfoPercentEncode(c) || extraComponentPercentEncodeSet.has(c);\n}\n\n// https://url.spec.whatwg.org/#application-x-www-form-urlencoded-percent-encode-set\nconst extraURLEncodedPercentEncodeSet = new Set([p(\"!\"), p(\"'\"), p(\"(\"), p(\")\"), p(\"~\")]);\nfunction isURLEncodedPercentEncode(c) {\n  return isComponentPercentEncode(c) || extraURLEncodedPercentEncodeSet.has(c);\n}\n\n// https://url.spec.whatwg.org/#code-point-percent-encode-after-encoding\n// https://url.spec.whatwg.org/#utf-8-percent-encode\n// Assuming encoding is always utf-8 allows us to trim one of the logic branches. TODO: support encoding.\n// The \"-Internal\" variant here has code points as JS strings. The external version used by other files has code points\n// as JS numbers, like the rest of the codebase.\nfunction utf8PercentEncodeCodePointInternal(codePoint, percentEncodePredicate) {\n  const bytes = utf8Encode(codePoint);\n  let output = \"\";\n  for (const byte of bytes) {\n    // Our percentEncodePredicate operates on bytes, not code points, so this is slightly different from the spec.\n    if (!percentEncodePredicate(byte)) {\n      output += String.fromCharCode(byte);\n    } else {\n      output += percentEncode(byte);\n    }\n  }\n\n  return output;\n}\n\nfunction utf8PercentEncodeCodePoint(codePoint, percentEncodePredicate) {\n  return utf8PercentEncodeCodePointInternal(String.fromCodePoint(codePoint), percentEncodePredicate);\n}\n\n// https://url.spec.whatwg.org/#string-percent-encode-after-encoding\n// https://url.spec.whatwg.org/#string-utf-8-percent-encode\nfunction utf8PercentEncodeString(input, percentEncodePredicate, spaceAsPlus = false) {\n  let output = \"\";\n  for (const codePoint of input) {\n    if (spaceAsPlus && codePoint === \" \") {\n      output += \"+\";\n    } else {\n      output += utf8PercentEncodeCodePointInternal(codePoint, percentEncodePredicate);\n    }\n  }\n  return output;\n}\n\nmodule.exports = {\n  isC0ControlPercentEncode,\n  isFragmentPercentEncode,\n  isQueryPercentEncode,\n  isSpecialQueryPercentEncode,\n  isPathPercentEncode,\n  isUserinfoPercentEncode,\n  isURLEncodedPercentEncode,\n  percentDecodeString,\n  percentDecodeBytes,\n  utf8PercentEncodeString,\n  utf8PercentEncodeCodePoint\n};\n","\"use strict\";\nconst tr46 = require(\"tr46\");\n\nconst infra = require(\"./infra\");\nconst { utf8DecodeWithoutBOM } = require(\"./encoding\");\nconst { percentDecodeString, utf8PercentEncodeCodePoint, utf8PercentEncodeString, isC0ControlPercentEncode,\n  isFragmentPercentEncode, isQueryPercentEncode, isSpecialQueryPercentEncode, isPathPercentEncode,\n  isUserinfoPercentEncode } = require(\"./percent-encoding\");\n\nfunction p(char) {\n  return char.codePointAt(0);\n}\n\nconst specialSchemes = {\n  ftp: 21,\n  file: null,\n  http: 80,\n  https: 443,\n  ws: 80,\n  wss: 443\n};\n\nconst failure = Symbol(\"failure\");\n\nfunction countSymbols(str) {\n  return [...str].length;\n}\n\nfunction at(input, idx) {\n  const c = input[idx];\n  return isNaN(c) ? undefined : String.fromCodePoint(c);\n}\n\nfunction isSingleDot(buffer) {\n  return buffer === \".\" || buffer.toLowerCase() === \"%2e\";\n}\n\nfunction isDoubleDot(buffer) {\n  buffer = buffer.toLowerCase();\n  return buffer === \"..\" || buffer === \"%2e.\" || buffer === \".%2e\" || buffer === \"%2e%2e\";\n}\n\nfunction isWindowsDriveLetterCodePoints(cp1, cp2) {\n  return infra.isASCIIAlpha(cp1) && (cp2 === p(\":\") || cp2 === p(\"|\"));\n}\n\nfunction isWindowsDriveLetterString(string) {\n  return string.length === 2 && infra.isASCIIAlpha(string.codePointAt(0)) && (string[1] === \":\" || string[1] === \"|\");\n}\n\nfunction isNormalizedWindowsDriveLetterString(string) {\n  return string.length === 2 && infra.isASCIIAlpha(string.codePointAt(0)) && string[1] === \":\";\n}\n\nfunction containsForbiddenHostCodePoint(string) {\n  return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|%|\\/|:|<|>|\\?|@|\\[|\\\\|\\]|\\^|\\|/u) !== -1;\n}\n\nfunction containsForbiddenHostCodePointExcludingPercent(string) {\n  return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|\\/|:|<|>|\\?|@|\\[|\\\\|\\]|\\^|\\|/u) !== -1;\n}\n\nfunction isSpecialScheme(scheme) {\n  return specialSchemes[scheme] !== undefined;\n}\n\nfunction isSpecial(url) {\n  return isSpecialScheme(url.scheme);\n}\n\nfunction isNotSpecial(url) {\n  return !isSpecialScheme(url.scheme);\n}\n\nfunction defaultPort(scheme) {\n  return specialSchemes[scheme];\n}\n\nfunction parseIPv4Number(input) {\n  if (input === \"\") {\n    return failure;\n  }\n\n  let R = 10;\n\n  if (input.length >= 2 && input.charAt(0) === \"0\" && input.charAt(1).toLowerCase() === \"x\") {\n    input = input.substring(2);\n    R = 16;\n  } else if (input.length >= 2 && input.charAt(0) === \"0\") {\n    input = input.substring(1);\n    R = 8;\n  }\n\n  if (input === \"\") {\n    return 0;\n  }\n\n  let regex = /[^0-7]/u;\n  if (R === 10) {\n    regex = /[^0-9]/u;\n  }\n  if (R === 16) {\n    regex = /[^0-9A-Fa-f]/u;\n  }\n\n  if (regex.test(input)) {\n    return failure;\n  }\n\n  return parseInt(input, R);\n}\n\nfunction parseIPv4(input) {\n  const parts = input.split(\".\");\n  if (parts[parts.length - 1] === \"\") {\n    if (parts.length > 1) {\n      parts.pop();\n    }\n  }\n\n  if (parts.length > 4) {\n    return failure;\n  }\n\n  const numbers = [];\n  for (const part of parts) {\n    const n = parseIPv4Number(part);\n    if (n === failure) {\n      return failure;\n    }\n\n    numbers.push(n);\n  }\n\n  for (let i = 0; i < numbers.length - 1; ++i) {\n    if (numbers[i] > 255) {\n      return failure;\n    }\n  }\n  if (numbers[numbers.length - 1] >= 256 ** (5 - numbers.length)) {\n    return failure;\n  }\n\n  let ipv4 = numbers.pop();\n  let counter = 0;\n\n  for (const n of numbers) {\n    ipv4 += n * 256 ** (3 - counter);\n    ++counter;\n  }\n\n  return ipv4;\n}\n\nfunction serializeIPv4(address) {\n  let output = \"\";\n  let n = address;\n\n  for (let i = 1; i <= 4; ++i) {\n    output = String(n % 256) + output;\n    if (i !== 4) {\n      output = `.${output}`;\n    }\n    n = Math.floor(n / 256);\n  }\n\n  return output;\n}\n\nfunction parseIPv6(input) {\n  const address = [0, 0, 0, 0, 0, 0, 0, 0];\n  let pieceIndex = 0;\n  let compress = null;\n  let pointer = 0;\n\n  input = Array.from(input, c => c.codePointAt(0));\n\n  if (input[pointer] === p(\":\")) {\n    if (input[pointer + 1] !== p(\":\")) {\n      return failure;\n    }\n\n    pointer += 2;\n    ++pieceIndex;\n    compress = pieceIndex;\n  }\n\n  while (pointer < input.length) {\n    if (pieceIndex === 8) {\n      return failure;\n    }\n\n    if (input[pointer] === p(\":\")) {\n      if (compress !== null) {\n        return failure;\n      }\n      ++pointer;\n      ++pieceIndex;\n      compress = pieceIndex;\n      continue;\n    }\n\n    let value = 0;\n    let length = 0;\n\n    while (length < 4 && infra.isASCIIHex(input[pointer])) {\n      value = value * 0x10 + parseInt(at(input, pointer), 16);\n      ++pointer;\n      ++length;\n    }\n\n    if (input[pointer] === p(\".\")) {\n      if (length === 0) {\n        return failure;\n      }\n\n      pointer -= length;\n\n      if (pieceIndex > 6) {\n        return failure;\n      }\n\n      let numbersSeen = 0;\n\n      while (input[pointer] !== undefined) {\n        let ipv4Piece = null;\n\n        if (numbersSeen > 0) {\n          if (input[pointer] === p(\".\") && numbersSeen < 4) {\n            ++pointer;\n          } else {\n            return failure;\n          }\n        }\n\n        if (!infra.isASCIIDigit(input[pointer])) {\n          return failure;\n        }\n\n        while (infra.isASCIIDigit(input[pointer])) {\n          const number = parseInt(at(input, pointer));\n          if (ipv4Piece === null) {\n            ipv4Piece = number;\n          } else if (ipv4Piece === 0) {\n            return failure;\n          } else {\n            ipv4Piece = ipv4Piece * 10 + number;\n          }\n          if (ipv4Piece > 255) {\n            return failure;\n          }\n          ++pointer;\n        }\n\n        address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece;\n\n        ++numbersSeen;\n\n        if (numbersSeen === 2 || numbersSeen === 4) {\n          ++pieceIndex;\n        }\n      }\n\n      if (numbersSeen !== 4) {\n        return failure;\n      }\n\n      break;\n    } else if (input[pointer] === p(\":\")) {\n      ++pointer;\n      if (input[pointer] === undefined) {\n        return failure;\n      }\n    } else if (input[pointer] !== undefined) {\n      return failure;\n    }\n\n    address[pieceIndex] = value;\n    ++pieceIndex;\n  }\n\n  if (compress !== null) {\n    let swaps = pieceIndex - compress;\n    pieceIndex = 7;\n    while (pieceIndex !== 0 && swaps > 0) {\n      const temp = address[compress + swaps - 1];\n      address[compress + swaps - 1] = address[pieceIndex];\n      address[pieceIndex] = temp;\n      --pieceIndex;\n      --swaps;\n    }\n  } else if (compress === null && pieceIndex !== 8) {\n    return failure;\n  }\n\n  return address;\n}\n\nfunction serializeIPv6(address) {\n  let output = \"\";\n  const compress = findLongestZeroSequence(address);\n  let ignore0 = false;\n\n  for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) {\n    if (ignore0 && address[pieceIndex] === 0) {\n      continue;\n    } else if (ignore0) {\n      ignore0 = false;\n    }\n\n    if (compress === pieceIndex) {\n      const separator = pieceIndex === 0 ? \"::\" : \":\";\n      output += separator;\n      ignore0 = true;\n      continue;\n    }\n\n    output += address[pieceIndex].toString(16);\n\n    if (pieceIndex !== 7) {\n      output += \":\";\n    }\n  }\n\n  return output;\n}\n\nfunction parseHost(input, isNotSpecialArg = false) {\n  if (input[0] === \"[\") {\n    if (input[input.length - 1] !== \"]\") {\n      return failure;\n    }\n\n    return parseIPv6(input.substring(1, input.length - 1));\n  }\n\n  if (isNotSpecialArg) {\n    return parseOpaqueHost(input);\n  }\n\n  const domain = utf8DecodeWithoutBOM(percentDecodeString(input));\n  const asciiDomain = domainToASCII(domain);\n  if (asciiDomain === failure) {\n    return failure;\n  }\n\n  if (containsForbiddenHostCodePoint(asciiDomain)) {\n    return failure;\n  }\n\n  if (endsInANumber(asciiDomain)) {\n    return parseIPv4(asciiDomain);\n  }\n\n  return asciiDomain;\n}\n\nfunction endsInANumber(input) {\n  const parts = input.split(\".\");\n  if (parts[parts.length - 1] === \"\") {\n    if (parts.length === 1) {\n      return false;\n    }\n    parts.pop();\n  }\n\n  const last = parts[parts.length - 1];\n  if (parseIPv4Number(last) !== failure) {\n    return true;\n  }\n\n  if (/^[0-9]+$/u.test(last)) {\n    return true;\n  }\n\n  return false;\n}\n\nfunction parseOpaqueHost(input) {\n  if (containsForbiddenHostCodePointExcludingPercent(input)) {\n    return failure;\n  }\n\n  return utf8PercentEncodeString(input, isC0ControlPercentEncode);\n}\n\nfunction findLongestZeroSequence(arr) {\n  let maxIdx = null;\n  let maxLen = 1; // only find elements > 1\n  let currStart = null;\n  let currLen = 0;\n\n  for (let i = 0; i < arr.length; ++i) {\n    if (arr[i] !== 0) {\n      if (currLen > maxLen) {\n        maxIdx = currStart;\n        maxLen = currLen;\n      }\n\n      currStart = null;\n      currLen = 0;\n    } else {\n      if (currStart === null) {\n        currStart = i;\n      }\n      ++currLen;\n    }\n  }\n\n  // if trailing zeros\n  if (currLen > maxLen) {\n    return currStart;\n  }\n\n  return maxIdx;\n}\n\nfunction serializeHost(host) {\n  if (typeof host === \"number\") {\n    return serializeIPv4(host);\n  }\n\n  // IPv6 serializer\n  if (host instanceof Array) {\n    return `[${serializeIPv6(host)}]`;\n  }\n\n  return host;\n}\n\nfunction domainToASCII(domain, beStrict = false) {\n  const result = tr46.toASCII(domain, {\n    checkBidi: true,\n    checkHyphens: false,\n    checkJoiners: true,\n    useSTD3ASCIIRules: beStrict,\n    verifyDNSLength: beStrict\n  });\n  if (result === null || result === \"\") {\n    return failure;\n  }\n  return result;\n}\n\nfunction trimControlChars(url) {\n  return url.replace(/^[\\u0000-\\u001F\\u0020]+|[\\u0000-\\u001F\\u0020]+$/ug, \"\");\n}\n\nfunction trimTabAndNewline(url) {\n  return url.replace(/\\u0009|\\u000A|\\u000D/ug, \"\");\n}\n\nfunction shortenPath(url) {\n  const { path } = url;\n  if (path.length === 0) {\n    return;\n  }\n  if (url.scheme === \"file\" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) {\n    return;\n  }\n\n  path.pop();\n}\n\nfunction includesCredentials(url) {\n  return url.username !== \"\" || url.password !== \"\";\n}\n\nfunction cannotHaveAUsernamePasswordPort(url) {\n  return url.host === null || url.host === \"\" || hasAnOpaquePath(url) || url.scheme === \"file\";\n}\n\nfunction hasAnOpaquePath(url) {\n  return typeof url.path === \"string\";\n}\n\nfunction isNormalizedWindowsDriveLetter(string) {\n  return /^[A-Za-z]:$/u.test(string);\n}\n\nfunction URLStateMachine(input, base, encodingOverride, url, stateOverride) {\n  this.pointer = 0;\n  this.input = input;\n  this.base = base || null;\n  this.encodingOverride = encodingOverride || \"utf-8\";\n  this.stateOverride = stateOverride;\n  this.url = url;\n  this.failure = false;\n  this.parseError = false;\n\n  if (!this.url) {\n    this.url = {\n      scheme: \"\",\n      username: \"\",\n      password: \"\",\n      host: null,\n      port: null,\n      path: [],\n      query: null,\n      fragment: null\n    };\n\n    const res = trimControlChars(this.input);\n    if (res !== this.input) {\n      this.parseError = true;\n    }\n    this.input = res;\n  }\n\n  const res = trimTabAndNewline(this.input);\n  if (res !== this.input) {\n    this.parseError = true;\n  }\n  this.input = res;\n\n  this.state = stateOverride || \"scheme start\";\n\n  this.buffer = \"\";\n  this.atFlag = false;\n  this.arrFlag = false;\n  this.passwordTokenSeenFlag = false;\n\n  this.input = Array.from(this.input, c => c.codePointAt(0));\n\n  for (; this.pointer <= this.input.length; ++this.pointer) {\n    const c = this.input[this.pointer];\n    const cStr = isNaN(c) ? undefined : String.fromCodePoint(c);\n\n    // exec state machine\n    const ret = this[`parse ${this.state}`](c, cStr);\n    if (!ret) {\n      break; // terminate algorithm\n    } else if (ret === failure) {\n      this.failure = true;\n      break;\n    }\n  }\n}\n\nURLStateMachine.prototype[\"parse scheme start\"] = function parseSchemeStart(c, cStr) {\n  if (infra.isASCIIAlpha(c)) {\n    this.buffer += cStr.toLowerCase();\n    this.state = \"scheme\";\n  } else if (!this.stateOverride) {\n    this.state = \"no scheme\";\n    --this.pointer;\n  } else {\n    this.parseError = true;\n    return failure;\n  }\n\n  return true;\n};\n\nURLStateMachine.prototype[\"parse scheme\"] = function parseScheme(c, cStr) {\n  if (infra.isASCIIAlphanumeric(c) || c === p(\"+\") || c === p(\"-\") || c === p(\".\")) {\n    this.buffer += cStr.toLowerCase();\n  } else if (c === p(\":\")) {\n    if (this.stateOverride) {\n      if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) {\n        return false;\n      }\n\n      if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) {\n        return false;\n      }\n\n      if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === \"file\") {\n        return false;\n      }\n\n      if (this.url.scheme === \"file\" && this.url.host === \"\") {\n        return false;\n      }\n    }\n    this.url.scheme = this.buffer;\n    if (this.stateOverride) {\n      if (this.url.port === defaultPort(this.url.scheme)) {\n        this.url.port = null;\n      }\n      return false;\n    }\n    this.buffer = \"\";\n    if (this.url.scheme === \"file\") {\n      if (this.input[this.pointer + 1] !== p(\"/\") || this.input[this.pointer + 2] !== p(\"/\")) {\n        this.parseError = true;\n      }\n      this.state = \"file\";\n    } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) {\n      this.state = \"special relative or authority\";\n    } else if (isSpecial(this.url)) {\n      this.state = \"special authority slashes\";\n    } else if (this.input[this.pointer + 1] === p(\"/\")) {\n      this.state = \"path or authority\";\n      ++this.pointer;\n    } else {\n      this.url.path = \"\";\n      this.state = \"opaque path\";\n    }\n  } else if (!this.stateOverride) {\n    this.buffer = \"\";\n    this.state = \"no scheme\";\n    this.pointer = -1;\n  } else {\n    this.parseError = true;\n    return failure;\n  }\n\n  return true;\n};\n\nURLStateMachine.prototype[\"parse no scheme\"] = function parseNoScheme(c) {\n  if (this.base === null || (hasAnOpaquePath(this.base) && c !== p(\"#\"))) {\n    return failure;\n  } else if (hasAnOpaquePath(this.base) && c === p(\"#\")) {\n    this.url.scheme = this.base.scheme;\n    this.url.path = this.base.path;\n    this.url.query = this.base.query;\n    this.url.fragment = \"\";\n    this.state = \"fragment\";\n  } else if (this.base.scheme === \"file\") {\n    this.state = \"file\";\n    --this.pointer;\n  } else {\n    this.state = \"relative\";\n    --this.pointer;\n  }\n\n  return true;\n};\n\nURLStateMachine.prototype[\"parse special relative or authority\"] = function parseSpecialRelativeOrAuthority(c) {\n  if (c === p(\"/\") && this.input[this.pointer + 1] === p(\"/\")) {\n    this.state = \"special authority ignore slashes\";\n    ++this.pointer;\n  } else {\n    this.parseError = true;\n    this.state = \"relative\";\n    --this.pointer;\n  }\n\n  return true;\n};\n\nURLStateMachine.prototype[\"parse path or authority\"] = function parsePathOrAuthority(c) {\n  if (c === p(\"/\")) {\n    this.state = \"authority\";\n  } else {\n    this.state = \"path\";\n    --this.pointer;\n  }\n\n  return true;\n};\n\nURLStateMachine.prototype[\"parse relative\"] = function parseRelative(c) {\n  this.url.scheme = this.base.scheme;\n  if (c === p(\"/\")) {\n    this.state = \"relative slash\";\n  } else if (isSpecial(this.url) && c === p(\"\\\\\")) {\n    this.parseError = true;\n    this.state = \"relative slash\";\n  } else {\n    this.url.username = this.base.username;\n    this.url.password = this.base.password;\n    this.url.host = this.base.host;\n    this.url.port = this.base.port;\n    this.url.path = this.base.path.slice();\n    this.url.query = this.base.query;\n    if (c === p(\"?\")) {\n      this.url.query = \"\";\n      this.state = \"query\";\n    } else if (c === p(\"#\")) {\n      this.url.fragment = \"\";\n      this.state = \"fragment\";\n    } else if (!isNaN(c)) {\n      this.url.query = null;\n      this.url.path.pop();\n      this.state = \"path\";\n      --this.pointer;\n    }\n  }\n\n  return true;\n};\n\nURLStateMachine.prototype[\"parse relative slash\"] = function parseRelativeSlash(c) {\n  if (isSpecial(this.url) && (c === p(\"/\") || c === p(\"\\\\\"))) {\n    if (c === p(\"\\\\\")) {\n      this.parseError = true;\n    }\n    this.state = \"special authority ignore slashes\";\n  } else if (c === p(\"/\")) {\n    this.state = \"authority\";\n  } else {\n    this.url.username = this.base.username;\n    this.url.password = this.base.password;\n    this.url.host = this.base.host;\n    this.url.port = this.base.port;\n    this.state = \"path\";\n    --this.pointer;\n  }\n\n  return true;\n};\n\nURLStateMachine.prototype[\"parse special authority slashes\"] = function parseSpecialAuthoritySlashes(c) {\n  if (c === p(\"/\") && this.input[this.pointer + 1] === p(\"/\")) {\n    this.state = \"special authority ignore slashes\";\n    ++this.pointer;\n  } else {\n    this.parseError = true;\n    this.state = \"special authority ignore slashes\";\n    --this.pointer;\n  }\n\n  return true;\n};\n\nURLStateMachine.prototype[\"parse special authority ignore slashes\"] = function parseSpecialAuthorityIgnoreSlashes(c) {\n  if (c !== p(\"/\") && c !== p(\"\\\\\")) {\n    this.state = \"authority\";\n    --this.pointer;\n  } else {\n    this.parseError = true;\n  }\n\n  return true;\n};\n\nURLStateMachine.prototype[\"parse authority\"] = function parseAuthority(c, cStr) {\n  if (c === p(\"@\")) {\n    this.parseError = true;\n    if (this.atFlag) {\n      this.buffer = `%40${this.buffer}`;\n    }\n    this.atFlag = true;\n\n    // careful, this is based on buffer and has its own pointer (this.pointer != pointer) and inner chars\n    const len = countSymbols(this.buffer);\n    for (let pointer = 0; pointer < len; ++pointer) {\n      const codePoint = this.buffer.codePointAt(pointer);\n\n      if (codePoint === p(\":\") && !this.passwordTokenSeenFlag) {\n        this.passwordTokenSeenFlag = true;\n        continue;\n      }\n      const encodedCodePoints = utf8PercentEncodeCodePoint(codePoint, isUserinfoPercentEncode);\n      if (this.passwordTokenSeenFlag) {\n        this.url.password += encodedCodePoints;\n      } else {\n        this.url.username += encodedCodePoints;\n      }\n    }\n    this.buffer = \"\";\n  } else if (isNaN(c) || c === p(\"/\") || c === p(\"?\") || c === p(\"#\") ||\n             (isSpecial(this.url) && c === p(\"\\\\\"))) {\n    if (this.atFlag && this.buffer === \"\") {\n      this.parseError = true;\n      return failure;\n    }\n    this.pointer -= countSymbols(this.buffer) + 1;\n    this.buffer = \"\";\n    this.state = \"host\";\n  } else {\n    this.buffer += cStr;\n  }\n\n  return true;\n};\n\nURLStateMachine.prototype[\"parse hostname\"] =\nURLStateMachine.prototype[\"parse host\"] = function parseHostName(c, cStr) {\n  if (this.stateOverride && this.url.scheme === \"file\") {\n    --this.pointer;\n    this.state = \"file host\";\n  } else if (c === p(\":\") && !this.arrFlag) {\n    if (this.buffer === \"\") {\n      this.parseError = true;\n      return failure;\n    }\n\n    if (this.stateOverride === \"hostname\") {\n      return false;\n    }\n\n    const host = parseHost(this.buffer, isNotSpecial(this.url));\n    if (host === failure) {\n      return failure;\n    }\n\n    this.url.host = host;\n    this.buffer = \"\";\n    this.state = \"port\";\n  } else if (isNaN(c) || c === p(\"/\") || c === p(\"?\") || c === p(\"#\") ||\n             (isSpecial(this.url) && c === p(\"\\\\\"))) {\n    --this.pointer;\n    if (isSpecial(this.url) && this.buffer === \"\") {\n      this.parseError = true;\n      return failure;\n    } else if (this.stateOverride && this.buffer === \"\" &&\n               (includesCredentials(this.url) || this.url.port !== null)) {\n      this.parseError = true;\n      return false;\n    }\n\n    const host = parseHost(this.buffer, isNotSpecial(this.url));\n    if (host === failure) {\n      return failure;\n    }\n\n    this.url.host = host;\n    this.buffer = \"\";\n    this.state = \"path start\";\n    if (this.stateOverride) {\n      return false;\n    }\n  } else {\n    if (c === p(\"[\")) {\n      this.arrFlag = true;\n    } else if (c === p(\"]\")) {\n      this.arrFlag = false;\n    }\n    this.buffer += cStr;\n  }\n\n  return true;\n};\n\nURLStateMachine.prototype[\"parse port\"] = function parsePort(c, cStr) {\n  if (infra.isASCIIDigit(c)) {\n    this.buffer += cStr;\n  } else if (isNaN(c) || c === p(\"/\") || c === p(\"?\") || c === p(\"#\") ||\n             (isSpecial(this.url) && c === p(\"\\\\\")) ||\n             this.stateOverride) {\n    if (this.buffer !== \"\") {\n      const port = parseInt(this.buffer);\n      if (port > 2 ** 16 - 1) {\n        this.parseError = true;\n        return failure;\n      }\n      this.url.port = port === defaultPort(this.url.scheme) ? null : port;\n      this.buffer = \"\";\n    }\n    if (this.stateOverride) {\n      return false;\n    }\n    this.state = \"path start\";\n    --this.pointer;\n  } else {\n    this.parseError = true;\n    return failure;\n  }\n\n  return true;\n};\n\nconst fileOtherwiseCodePoints = new Set([p(\"/\"), p(\"\\\\\"), p(\"?\"), p(\"#\")]);\n\nfunction startsWithWindowsDriveLetter(input, pointer) {\n  const length = input.length - pointer;\n  return length >= 2 &&\n    isWindowsDriveLetterCodePoints(input[pointer], input[pointer + 1]) &&\n    (length === 2 || fileOtherwiseCodePoints.has(input[pointer + 2]));\n}\n\nURLStateMachine.prototype[\"parse file\"] = function parseFile(c) {\n  this.url.scheme = \"file\";\n  this.url.host = \"\";\n\n  if (c === p(\"/\") || c === p(\"\\\\\")) {\n    if (c === p(\"\\\\\")) {\n      this.parseError = true;\n    }\n    this.state = \"file slash\";\n  } else if (this.base !== null && this.base.scheme === \"file\") {\n    this.url.host = this.base.host;\n    this.url.path = this.base.path.slice();\n    this.url.query = this.base.query;\n    if (c === p(\"?\")) {\n      this.url.query = \"\";\n      this.state = \"query\";\n    } else if (c === p(\"#\")) {\n      this.url.fragment = \"\";\n      this.state = \"fragment\";\n    } else if (!isNaN(c)) {\n      this.url.query = null;\n      if (!startsWithWindowsDriveLetter(this.input, this.pointer)) {\n        shortenPath(this.url);\n      } else {\n        this.parseError = true;\n        this.url.path = [];\n      }\n\n      this.state = \"path\";\n      --this.pointer;\n    }\n  } else {\n    this.state = \"path\";\n    --this.pointer;\n  }\n\n  return true;\n};\n\nURLStateMachine.prototype[\"parse file slash\"] = function parseFileSlash(c) {\n  if (c === p(\"/\") || c === p(\"\\\\\")) {\n    if (c === p(\"\\\\\")) {\n      this.parseError = true;\n    }\n    this.state = \"file host\";\n  } else {\n    if (this.base !== null && this.base.scheme === \"file\") {\n      if (!startsWithWindowsDriveLetter(this.input, this.pointer) &&\n          isNormalizedWindowsDriveLetterString(this.base.path[0])) {\n        this.url.path.push(this.base.path[0]);\n      }\n      this.url.host = this.base.host;\n    }\n    this.state = \"path\";\n    --this.pointer;\n  }\n\n  return true;\n};\n\nURLStateMachine.prototype[\"parse file host\"] = function parseFileHost(c, cStr) {\n  if (isNaN(c) || c === p(\"/\") || c === p(\"\\\\\") || c === p(\"?\") || c === p(\"#\")) {\n    --this.pointer;\n    if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) {\n      this.parseError = true;\n      this.state = \"path\";\n    } else if (this.buffer === \"\") {\n      this.url.host = \"\";\n      if (this.stateOverride) {\n        return false;\n      }\n      this.state = \"path start\";\n    } else {\n      let host = parseHost(this.buffer, isNotSpecial(this.url));\n      if (host === failure) {\n        return failure;\n      }\n      if (host === \"localhost\") {\n        host = \"\";\n      }\n      this.url.host = host;\n\n      if (this.stateOverride) {\n        return false;\n      }\n\n      this.buffer = \"\";\n      this.state = \"path start\";\n    }\n  } else {\n    this.buffer += cStr;\n  }\n\n  return true;\n};\n\nURLStateMachine.prototype[\"parse path start\"] = function parsePathStart(c) {\n  if (isSpecial(this.url)) {\n    if (c === p(\"\\\\\")) {\n      this.parseError = true;\n    }\n    this.state = \"path\";\n\n    if (c !== p(\"/\") && c !== p(\"\\\\\")) {\n      --this.pointer;\n    }\n  } else if (!this.stateOverride && c === p(\"?\")) {\n    this.url.query = \"\";\n    this.state = \"query\";\n  } else if (!this.stateOverride && c === p(\"#\")) {\n    this.url.fragment = \"\";\n    this.state = \"fragment\";\n  } else if (c !== undefined) {\n    this.state = \"path\";\n    if (c !== p(\"/\")) {\n      --this.pointer;\n    }\n  } else if (this.stateOverride && this.url.host === null) {\n    this.url.path.push(\"\");\n  }\n\n  return true;\n};\n\nURLStateMachine.prototype[\"parse path\"] = function parsePath(c) {\n  if (isNaN(c) || c === p(\"/\") || (isSpecial(this.url) && c === p(\"\\\\\")) ||\n      (!this.stateOverride && (c === p(\"?\") || c === p(\"#\")))) {\n    if (isSpecial(this.url) && c === p(\"\\\\\")) {\n      this.parseError = true;\n    }\n\n    if (isDoubleDot(this.buffer)) {\n      shortenPath(this.url);\n      if (c !== p(\"/\") && !(isSpecial(this.url) && c === p(\"\\\\\"))) {\n        this.url.path.push(\"\");\n      }\n    } else if (isSingleDot(this.buffer) && c !== p(\"/\") &&\n               !(isSpecial(this.url) && c === p(\"\\\\\"))) {\n      this.url.path.push(\"\");\n    } else if (!isSingleDot(this.buffer)) {\n      if (this.url.scheme === \"file\" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) {\n        this.buffer = `${this.buffer[0]}:`;\n      }\n      this.url.path.push(this.buffer);\n    }\n    this.buffer = \"\";\n    if (c === p(\"?\")) {\n      this.url.query = \"\";\n      this.state = \"query\";\n    }\n    if (c === p(\"#\")) {\n      this.url.fragment = \"\";\n      this.state = \"fragment\";\n    }\n  } else {\n    // TODO: If c is not a URL code point and not \"%\", parse error.\n\n    if (c === p(\"%\") &&\n      (!infra.isASCIIHex(this.input[this.pointer + 1]) ||\n        !infra.isASCIIHex(this.input[this.pointer + 2]))) {\n      this.parseError = true;\n    }\n\n    this.buffer += utf8PercentEncodeCodePoint(c, isPathPercentEncode);\n  }\n\n  return true;\n};\n\nURLStateMachine.prototype[\"parse opaque path\"] = function parseOpaquePath(c) {\n  if (c === p(\"?\")) {\n    this.url.query = \"\";\n    this.state = \"query\";\n  } else if (c === p(\"#\")) {\n    this.url.fragment = \"\";\n    this.state = \"fragment\";\n  } else {\n    // TODO: Add: not a URL code point\n    if (!isNaN(c) && c !== p(\"%\")) {\n      this.parseError = true;\n    }\n\n    if (c === p(\"%\") &&\n        (!infra.isASCIIHex(this.input[this.pointer + 1]) ||\n         !infra.isASCIIHex(this.input[this.pointer + 2]))) {\n      this.parseError = true;\n    }\n\n    if (!isNaN(c)) {\n      this.url.path += utf8PercentEncodeCodePoint(c, isC0ControlPercentEncode);\n    }\n  }\n\n  return true;\n};\n\nURLStateMachine.prototype[\"parse query\"] = function parseQuery(c, cStr) {\n  if (!isSpecial(this.url) || this.url.scheme === \"ws\" || this.url.scheme === \"wss\") {\n    this.encodingOverride = \"utf-8\";\n  }\n\n  if ((!this.stateOverride && c === p(\"#\")) || isNaN(c)) {\n    const queryPercentEncodePredicate = isSpecial(this.url) ? isSpecialQueryPercentEncode : isQueryPercentEncode;\n    this.url.query += utf8PercentEncodeString(this.buffer, queryPercentEncodePredicate);\n\n    this.buffer = \"\";\n\n    if (c === p(\"#\")) {\n      this.url.fragment = \"\";\n      this.state = \"fragment\";\n    }\n  } else if (!isNaN(c)) {\n    // TODO: If c is not a URL code point and not \"%\", parse error.\n\n    if (c === p(\"%\") &&\n      (!infra.isASCIIHex(this.input[this.pointer + 1]) ||\n        !infra.isASCIIHex(this.input[this.pointer + 2]))) {\n      this.parseError = true;\n    }\n\n    this.buffer += cStr;\n  }\n\n  return true;\n};\n\nURLStateMachine.prototype[\"parse fragment\"] = function parseFragment(c) {\n  if (!isNaN(c)) {\n    // TODO: If c is not a URL code point and not \"%\", parse error.\n    if (c === p(\"%\") &&\n      (!infra.isASCIIHex(this.input[this.pointer + 1]) ||\n        !infra.isASCIIHex(this.input[this.pointer + 2]))) {\n      this.parseError = true;\n    }\n\n    this.url.fragment += utf8PercentEncodeCodePoint(c, isFragmentPercentEncode);\n  }\n\n  return true;\n};\n\nfunction serializeURL(url, excludeFragment) {\n  let output = `${url.scheme}:`;\n  if (url.host !== null) {\n    output += \"//\";\n\n    if (url.username !== \"\" || url.password !== \"\") {\n      output += url.username;\n      if (url.password !== \"\") {\n        output += `:${url.password}`;\n      }\n      output += \"@\";\n    }\n\n    output += serializeHost(url.host);\n\n    if (url.port !== null) {\n      output += `:${url.port}`;\n    }\n  }\n\n  if (url.host === null && !hasAnOpaquePath(url) && url.path.length > 1 && url.path[0] === \"\") {\n    output += \"/.\";\n  }\n  output += serializePath(url);\n\n  if (url.query !== null) {\n    output += `?${url.query}`;\n  }\n\n  if (!excludeFragment && url.fragment !== null) {\n    output += `#${url.fragment}`;\n  }\n\n  return output;\n}\n\nfunction serializeOrigin(tuple) {\n  let result = `${tuple.scheme}://`;\n  result += serializeHost(tuple.host);\n\n  if (tuple.port !== null) {\n    result += `:${tuple.port}`;\n  }\n\n  return result;\n}\n\nfunction serializePath(url) {\n  if (hasAnOpaquePath(url)) {\n    return url.path;\n  }\n\n  let output = \"\";\n  for (const segment of url.path) {\n    output += `/${segment}`;\n  }\n  return output;\n}\n\nmodule.exports.serializeURL = serializeURL;\n\nmodule.exports.serializePath = serializePath;\n\nmodule.exports.serializeURLOrigin = function (url) {\n  // https://url.spec.whatwg.org/#concept-url-origin\n  switch (url.scheme) {\n    case \"blob\":\n      try {\n        return module.exports.serializeURLOrigin(module.exports.parseURL(serializePath(url)));\n      } catch (e) {\n        // serializing an opaque origin returns \"null\"\n        return \"null\";\n      }\n    case \"ftp\":\n    case \"http\":\n    case \"https\":\n    case \"ws\":\n    case \"wss\":\n      return serializeOrigin({\n        scheme: url.scheme,\n        host: url.host,\n        port: url.port\n      });\n    case \"file\":\n      // The spec says:\n      // > Unfortunate as it is, this is left as an exercise to the reader. When in doubt, return a new opaque origin.\n      // Browsers tested so far:\n      // - Chrome says \"file://\", but treats file: URLs as cross-origin for most (all?) purposes; see e.g.\n      //   https://bugs.chromium.org/p/chromium/issues/detail?id=37586\n      // - Firefox says \"null\", but treats file: URLs as same-origin sometimes based on directory stuff; see\n      //   https://developer.mozilla.org/en-US/docs/Archive/Misc_top_level/Same-origin_policy_for_file:_URIs\n      return \"null\";\n    default:\n      // serializing an opaque origin returns \"null\"\n      return \"null\";\n  }\n};\n\nmodule.exports.basicURLParse = function (input, options) {\n  if (options === undefined) {\n    options = {};\n  }\n\n  const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride);\n  if (usm.failure) {\n    return null;\n  }\n\n  return usm.url;\n};\n\nmodule.exports.setTheUsername = function (url, username) {\n  url.username = utf8PercentEncodeString(username, isUserinfoPercentEncode);\n};\n\nmodule.exports.setThePassword = function (url, password) {\n  url.password = utf8PercentEncodeString(password, isUserinfoPercentEncode);\n};\n\nmodule.exports.serializeHost = serializeHost;\n\nmodule.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort;\n\nmodule.exports.hasAnOpaquePath = hasAnOpaquePath;\n\nmodule.exports.serializeInteger = function (integer) {\n  return String(integer);\n};\n\nmodule.exports.parseURL = function (input, options) {\n  if (options === undefined) {\n    options = {};\n  }\n\n  // We don't handle blobs, so this just delegates:\n  return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride });\n};\n","\"use strict\";\nconst { utf8Encode, utf8DecodeWithoutBOM } = require(\"./encoding\");\nconst { percentDecodeBytes, utf8PercentEncodeString, isURLEncodedPercentEncode } = require(\"./percent-encoding\");\n\nfunction p(char) {\n  return char.codePointAt(0);\n}\n\n// https://url.spec.whatwg.org/#concept-urlencoded-parser\nfunction parseUrlencoded(input) {\n  const sequences = strictlySplitByteSequence(input, p(\"&\"));\n  const output = [];\n  for (const bytes of sequences) {\n    if (bytes.length === 0) {\n      continue;\n    }\n\n    let name, value;\n    const indexOfEqual = bytes.indexOf(p(\"=\"));\n\n    if (indexOfEqual >= 0) {\n      name = bytes.slice(0, indexOfEqual);\n      value = bytes.slice(indexOfEqual + 1);\n    } else {\n      name = bytes;\n      value = new Uint8Array(0);\n    }\n\n    name = replaceByteInByteSequence(name, 0x2B, 0x20);\n    value = replaceByteInByteSequence(value, 0x2B, 0x20);\n\n    const nameString = utf8DecodeWithoutBOM(percentDecodeBytes(name));\n    const valueString = utf8DecodeWithoutBOM(percentDecodeBytes(value));\n\n    output.push([nameString, valueString]);\n  }\n  return output;\n}\n\n// https://url.spec.whatwg.org/#concept-urlencoded-string-parser\nfunction parseUrlencodedString(input) {\n  return parseUrlencoded(utf8Encode(input));\n}\n\n// https://url.spec.whatwg.org/#concept-urlencoded-serializer\nfunction serializeUrlencoded(tuples, encodingOverride = undefined) {\n  let encoding = \"utf-8\";\n  if (encodingOverride !== undefined) {\n    // TODO \"get the output encoding\", i.e. handle encoding labels vs. names.\n    encoding = encodingOverride;\n  }\n\n  let output = \"\";\n  for (const [i, tuple] of tuples.entries()) {\n    // TODO: handle encoding override\n\n    const name = utf8PercentEncodeString(tuple[0], isURLEncodedPercentEncode, true);\n\n    let value = tuple[1];\n    if (tuple.length > 2 && tuple[2] !== undefined) {\n      if (tuple[2] === \"hidden\" && name === \"_charset_\") {\n        value = encoding;\n      } else if (tuple[2] === \"file\") {\n        // value is a File object\n        value = value.name;\n      }\n    }\n\n    value = utf8PercentEncodeString(value, isURLEncodedPercentEncode, true);\n\n    if (i !== 0) {\n      output += \"&\";\n    }\n    output += `${name}=${value}`;\n  }\n  return output;\n}\n\nfunction strictlySplitByteSequence(buf, cp) {\n  const list = [];\n  let last = 0;\n  let i = buf.indexOf(cp);\n  while (i >= 0) {\n    list.push(buf.slice(last, i));\n    last = i + 1;\n    i = buf.indexOf(cp, last);\n  }\n  if (last !== buf.length) {\n    list.push(buf.slice(last));\n  }\n  return list;\n}\n\nfunction replaceByteInByteSequence(buf, from, to) {\n  let i = buf.indexOf(from);\n  while (i >= 0) {\n    buf[i] = to;\n    i = buf.indexOf(from, i + 1);\n  }\n  return buf;\n}\n\nmodule.exports = {\n  parseUrlencodedString,\n  serializeUrlencoded\n};\n","\"use strict\";\n\n// Returns \"Type(value) is Object\" in ES terminology.\nfunction isObject(value) {\n  return (typeof value === \"object\" && value !== null) || typeof value === \"function\";\n}\n\nconst hasOwn = Function.prototype.call.bind(Object.prototype.hasOwnProperty);\n\n// Like `Object.assign`, but using `[[GetOwnProperty]]` and `[[DefineOwnProperty]]`\n// instead of `[[Get]]` and `[[Set]]` and only allowing objects\nfunction define(target, source) {\n  for (const key of Reflect.ownKeys(source)) {\n    const descriptor = Reflect.getOwnPropertyDescriptor(source, key);\n    if (descriptor && !Reflect.defineProperty(target, key, descriptor)) {\n      throw new TypeError(`Cannot redefine property: ${String(key)}`);\n    }\n  }\n}\n\nfunction newObjectInRealm(globalObject, object) {\n  const ctorRegistry = initCtorRegistry(globalObject);\n  return Object.defineProperties(\n    Object.create(ctorRegistry[\"%Object.prototype%\"]),\n    Object.getOwnPropertyDescriptors(object)\n  );\n}\n\nconst wrapperSymbol = Symbol(\"wrapper\");\nconst implSymbol = Symbol(\"impl\");\nconst sameObjectCaches = Symbol(\"SameObject caches\");\nconst ctorRegistrySymbol = Symbol.for(\"[webidl2js] constructor registry\");\n\nconst AsyncIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf(async function* () {}).prototype);\n\nfunction initCtorRegistry(globalObject) {\n  if (hasOwn(globalObject, ctorRegistrySymbol)) {\n    return globalObject[ctorRegistrySymbol];\n  }\n\n  const ctorRegistry = Object.create(null);\n\n  // In addition to registering all the WebIDL2JS-generated types in the constructor registry,\n  // we also register a few intrinsics that we make use of in generated code, since they are not\n  // easy to grab from the globalObject variable.\n  ctorRegistry[\"%Object.prototype%\"] = globalObject.Object.prototype;\n  ctorRegistry[\"%IteratorPrototype%\"] = Object.getPrototypeOf(\n    Object.getPrototypeOf(new globalObject.Array()[Symbol.iterator]())\n  );\n\n  try {\n    ctorRegistry[\"%AsyncIteratorPrototype%\"] = Object.getPrototypeOf(\n      Object.getPrototypeOf(\n        globalObject.eval(\"(async function* () {})\").prototype\n      )\n    );\n  } catch {\n    ctorRegistry[\"%AsyncIteratorPrototype%\"] = AsyncIteratorPrototype;\n  }\n\n  globalObject[ctorRegistrySymbol] = ctorRegistry;\n  return ctorRegistry;\n}\n\nfunction getSameObject(wrapper, prop, creator) {\n  if (!wrapper[sameObjectCaches]) {\n    wrapper[sameObjectCaches] = Object.create(null);\n  }\n\n  if (prop in wrapper[sameObjectCaches]) {\n    return wrapper[sameObjectCaches][prop];\n  }\n\n  wrapper[sameObjectCaches][prop] = creator();\n  return wrapper[sameObjectCaches][prop];\n}\n\nfunction wrapperForImpl(impl) {\n  return impl ? impl[wrapperSymbol] : null;\n}\n\nfunction implForWrapper(wrapper) {\n  return wrapper ? wrapper[implSymbol] : null;\n}\n\nfunction tryWrapperForImpl(impl) {\n  const wrapper = wrapperForImpl(impl);\n  return wrapper ? wrapper : impl;\n}\n\nfunction tryImplForWrapper(wrapper) {\n  const impl = implForWrapper(wrapper);\n  return impl ? impl : wrapper;\n}\n\nconst iterInternalSymbol = Symbol(\"internal\");\n\nfunction isArrayIndexPropName(P) {\n  if (typeof P !== \"string\") {\n    return false;\n  }\n  const i = P >>> 0;\n  if (i === 2 ** 32 - 1) {\n    return false;\n  }\n  const s = `${i}`;\n  if (P !== s) {\n    return false;\n  }\n  return true;\n}\n\nconst byteLengthGetter =\n    Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, \"byteLength\").get;\nfunction isArrayBuffer(value) {\n  try {\n    byteLengthGetter.call(value);\n    return true;\n  } catch (e) {\n    return false;\n  }\n}\n\nfunction iteratorResult([key, value], kind) {\n  let result;\n  switch (kind) {\n    case \"key\":\n      result = key;\n      break;\n    case \"value\":\n      result = value;\n      break;\n    case \"key+value\":\n      result = [key, value];\n      break;\n  }\n  return { value: result, done: false };\n}\n\nconst supportsPropertyIndex = Symbol(\"supports property index\");\nconst supportedPropertyIndices = Symbol(\"supported property indices\");\nconst supportsPropertyName = Symbol(\"supports property name\");\nconst supportedPropertyNames = Symbol(\"supported property names\");\nconst indexedGet = Symbol(\"indexed property get\");\nconst indexedSetNew = Symbol(\"indexed property set new\");\nconst indexedSetExisting = Symbol(\"indexed property set existing\");\nconst namedGet = Symbol(\"named property get\");\nconst namedSetNew = Symbol(\"named property set new\");\nconst namedSetExisting = Symbol(\"named property set existing\");\nconst namedDelete = Symbol(\"named property delete\");\n\nconst asyncIteratorNext = Symbol(\"async iterator get the next iteration result\");\nconst asyncIteratorReturn = Symbol(\"async iterator return steps\");\nconst asyncIteratorInit = Symbol(\"async iterator initialization steps\");\nconst asyncIteratorEOI = Symbol(\"async iterator end of iteration\");\n\nmodule.exports = exports = {\n  isObject,\n  hasOwn,\n  define,\n  newObjectInRealm,\n  wrapperSymbol,\n  implSymbol,\n  getSameObject,\n  ctorRegistrySymbol,\n  initCtorRegistry,\n  wrapperForImpl,\n  implForWrapper,\n  tryWrapperForImpl,\n  tryImplForWrapper,\n  iterInternalSymbol,\n  isArrayBuffer,\n  isArrayIndexPropName,\n  supportsPropertyIndex,\n  supportedPropertyIndices,\n  supportsPropertyName,\n  supportedPropertyNames,\n  indexedGet,\n  indexedSetNew,\n  indexedSetExisting,\n  namedGet,\n  namedSetNew,\n  namedSetExisting,\n  namedDelete,\n  asyncIteratorNext,\n  asyncIteratorReturn,\n  asyncIteratorInit,\n  asyncIteratorEOI,\n  iteratorResult\n};\n","\"use strict\";\n\nconst URL = require(\"./lib/URL\");\nconst URLSearchParams = require(\"./lib/URLSearchParams\");\n\nexports.URL = URL;\nexports.URLSearchParams = URLSearchParams;\n","'use strict';\n\nvar forEach = require('for-each');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBind = require('call-bind');\nvar callBound = require('call-bound');\nvar gOPD = require('gopd');\nvar getProto = require('get-proto');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $slice = callBound('String.prototype.slice');\n\n/** @type {<T = unknown>(array: readonly T[], value: unknown) => number} */\nvar $indexOf = callBound('Array.prototype.indexOf', true) || function indexOf(array, value) {\n\tfor (var i = 0; i < array.length; i += 1) {\n\t\tif (array[i] === value) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\n\n/** @typedef {import('./types').Getter} Getter */\n/** @type {import('./types').Cache} */\nvar cache = { __proto__: null };\nif (hasToStringTag && gOPD && getProto) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tif (Symbol.toStringTag in arr && getProto) {\n\t\t\tvar proto = getProto(arr);\n\t\t\t// @ts-expect-error TS won't narrow inside a closure\n\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\tif (!descriptor && proto) {\n\t\t\t\tvar superProto = getProto(proto);\n\t\t\t\t// @ts-expect-error TS won't narrow inside a closure\n\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t}\n\t\t\tif (descriptor && descriptor.get) {\n\t\t\t\tvar bound = callBind(descriptor.get);\n\t\t\t\tcache[\n\t\t\t\t\t/** @type {`$${import('.').TypedArrayName}`} */ ('$' + typedArray)\n\t\t\t\t] = bound;\n\t\t\t}\n\t\t}\n\t});\n} else {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tvar fn = arr.slice || arr.set;\n\t\tif (fn) {\n\t\t\tvar bound = /** @type {import('./types').BoundSlice | import('./types').BoundSet} */ (\n\t\t\t\t// @ts-expect-error TODO FIXME\n\t\t\t\tcallBind(fn)\n\t\t\t);\n\t\t\tcache[\n\t\t\t\t/** @type {`$${import('.').TypedArrayName}`} */ ('$' + typedArray)\n\t\t\t] = bound;\n\t\t}\n\t});\n}\n\n/** @type {(value: object) => false | import('.').TypedArrayName} */\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\t/** @type {ReturnType<typeof tryAllTypedArrays>} */ var found = false;\n\tforEach(\n\t\t/** @type {Record<`\\$${import('.').TypedArrayName}`, Getter>} */ (cache),\n\t\t/** @type {(getter: Getter, name: `\\$${import('.').TypedArrayName}`) => void} */\n\t\tfunction (getter, typedArray) {\n\t\t\tif (!found) {\n\t\t\t\ttry {\n\t\t\t\t\t// @ts-expect-error a throw is fine here\n\t\t\t\t\tif ('$' + getter(value) === typedArray) {\n\t\t\t\t\t\tfound = /** @type {import('.').TypedArrayName} */ ($slice(typedArray, 1));\n\t\t\t\t\t}\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t}\n\t);\n\treturn found;\n};\n\n/** @type {(value: object) => false | import('.').TypedArrayName} */\nvar trySlices = function tryAllSlices(value) {\n\t/** @type {ReturnType<typeof tryAllSlices>} */ var found = false;\n\tforEach(\n\t\t/** @type {Record<`\\$${import('.').TypedArrayName}`, Getter>} */(cache),\n\t\t/** @type {(getter: Getter, name: `\\$${import('.').TypedArrayName}`) => void} */ function (getter, name) {\n\t\t\tif (!found) {\n\t\t\t\ttry {\n\t\t\t\t\t// @ts-expect-error a throw is fine here\n\t\t\t\t\tgetter(value);\n\t\t\t\t\tfound = /** @type {import('.').TypedArrayName} */ ($slice(name, 1));\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t}\n\t);\n\treturn found;\n};\n\n/** @type {import('.')} */\nmodule.exports = function whichTypedArray(value) {\n\tif (!value || typeof value !== 'object') { return false; }\n\tif (!hasToStringTag) {\n\t\t/** @type {string} */\n\t\tvar tag = $slice($toString(value), 8, -1);\n\t\tif ($indexOf(typedArrays, tag) > -1) {\n\t\t\treturn tag;\n\t\t}\n\t\tif (tag !== 'Object') {\n\t\t\treturn false;\n\t\t}\n\t\t// node < 0.6 hits here on real Typed Arrays\n\t\treturn trySlices(value);\n\t}\n\tif (!gOPD) { return null; } // unknown engine\n\treturn tryTypedArrays(value);\n};\n","module.exports = extend\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction extend() {\n    var target = {}\n\n    for (var i = 0; i < arguments.length; i++) {\n        var source = arguments[i]\n\n        for (var key in source) {\n            if (hasOwnProperty.call(source, key)) {\n                target[key] = source[key]\n            }\n        }\n    }\n\n    return target\n}\n","const pascalCase = require('./pascalCase').default\n\n/**\n * Convert a phrase to camelCase\n *\n * @param  {String} str       String to convert\n * @return {String}           camelCase version of the str\n */\nfunction camelCase(string) {\n  const pascal = pascalCase(string)\n\n  return `${pascal.substr(0, 1).toLowerCase()}${pascal.substr(1)}`\n}\nexports.camelCase = camelCase\nexports.default = camelCase\n","const simplify = require('./simplify').default;\n\n/**\n * Convert a phrase to dash-case\n * For Camel and Pascal cased instances, the input\n * should be converted first \"toWords\"\n *\n * @param  {String} str       String to convert\n * @param  {Object} options   Options for processing dash casing\n *\t @param {String}  delimiter Word separation delimiter (default: space character)\n *   @param {Boolean} stripAdjacentDashes Strip adjacent dashes (default: true)\n *   @param {Boolean} trimDashes Trim dashes at the beginning and end (default: true)\n *\n * @return {String}           dash-case version of the str\n */\nfunction dashCase(string, { delimiter = /[\\s\\-_]+/, stripAdjacentDashes = true, trimDashes = true } = {}) {\n\tconst splitWords = (trimDashes ? string.trim() : string).split(delimiter);\n\tlet simplifiedSplitWords = splitWords.map(word => simplify(word, ''));\n\n\tsimplifiedSplitWords = simplifiedSplitWords.join('-').toLowerCase();\n\n\t// removes multiple adjacent dashes\n\tif (stripAdjacentDashes) {\n\t\tsimplifiedSplitWords = simplifiedSplitWords.replace(/-+/gi, '-');\n\t}\n\n\t// removes dashes at the start or end\n\tif (trimDashes) {\n\t\tsimplifiedSplitWords = simplifiedSplitWords.replace(/^-|-$/gi, '');\n\t}\n\n\treturn simplifiedSplitWords;\n}\nexports.dashCase = dashCase;\nexports.default = dashCase;\n","const camelCase = require('./camelCase').default;\nconst dashCase = require('./dashCase').default;\nconst pascalCase = require('./pascalCase').default;\nconst simplify = require('./simplify').default;\nconst slugify = require('./slugify').default;\nconst snakeCase = require('./snakeCase').default;\nconst titleCase = require('./titleCase').default;\nconst toWords = require('./toWords').default;\nconst ucWords = require('./ucWords').default;\nconst withNumberWordStart = require('./withNumberWordStart').default;\n\nexports.default = {\n\tcamelCase,\n\tdashCase,\n\tkebabCase: dashCase,\n\tpascalCase,\n\tsimplify,\n\tslugify,\n\tsnakeCase,\n\ttitleCase,\n\ttoWords,\n\tucWords,\n\twithNumberWordStart\n}\nexports.camelCase = camelCase\nexports.dashCase = dashCase\nexports.kebabCase = dashCase\nexports.pascalCase = pascalCase\nexports.simplify = simplify\nexports.slugify = slugify\nexports.snakeCase = snakeCase\nexports.titleCase = titleCase\nexports.toWords = toWords\nexports.ucWords = ucWords\nexports.withNumberWordStart = withNumberWordStart\n","const ucWords = require('./ucWords').default\n\n/**\n * Convert a phrase to PascalCase\n *\n * @param  {String} str       String to convert\n * @param  {String} delimiter Delimiter to determine word separation (space character by default)\n *\n * @return {String}           PascalCase version of the str\n */\nfunction pascalCase(string, delimiter = /[\\s\\-_]+/) {\n  const processed = ucWords(string.split(delimiter).join(' '), ' ')\n  return processed.split(' ').join('')\n}\nexports.pascalCase = pascalCase\nexports.default = pascalCase\n","/**\n * Simplify a string to only \"word\" and \"digit\" characters\n *\n * @param {String} string      String to be simplified\n * @param {String} delimiter String to be used as a delimiter\n *\n * @return {String}           Simplified string\n */\nfunction simplify(string, delimiter=' ') {\n  return string.replace(/[^\\w\\d]+/gi, delimiter).trim()\n}\nexports.simplify = simplify\nexports.default = simplify\n","const dashCase = require('./dashCase').default;\nconst withNumberWordStart = require('./withNumberWordStart').default;\n\n/**\n * Convert a phrase to an ID and URL safe dash-case slug\n *\n * @param {String} string String to convert\n * @param {String} delimiter Delimiter to determine word separation (space character by default)\n *\n * @return {String} Element ID and URL safe dash-case slug\n */\nfunction slugify(string, delimiter = '-') {\n\treturn dashCase(withNumberWordStart(string), { delimiter });\n}\nexports.slugify = slugify;\nexports.default = slugify;\n","const simplify = require('./simplify').default\n\n/**\n * Convert a phrase to snake_case\n *\n * @param  {String} str       String to convert\n * @param  {String} delimiter Delimiter to determine word separation (space character by default)\n *\n * @return {String}           snake_case version of the str\n */\nfunction snakeCase(string, delimiter = /[\\s\\-_]+/) {\n  let words = string.trim().split(delimiter).map(word => simplify(word, '_'))\n  return words.join('_').toLowerCase().replace(/_+/gi, '_')\n}\nexports.snakeCase = snakeCase\nexports.default = snakeCase\n","const toWords = require('./toWords').default;\n/**\n * Convert a dash, camel, pascal, or snake case string to title case\n *\n * @param {String} string String to convert\n *\n * @return {String} title case version of the string\n */\nfunction titleCase(string, ignore) {\n\tif (typeof string === 'undefined') {\n\t\treturn '';\n\t}\n\tconst lowercaseWords = [\n\t\t'a',\n\t\t'an',\n\t\t'the',\n\t\t'and',\n\t\t'but',\n\t\t'for',\n\t\t'nor',\n\t\t'or',\n\t\t'so',\n\t\t'yet',\n\t\t'to',\n\t\t'is'\n\t];\n\n\tlet ignoreWords = [\n\t\t'API',\n\t\t'CSS',\n\t\t'SCSS'\n\t];\n\n\tif (ignore) {\n\t\tignoreWords = ignoreWords.concat(ignore);\n\t}\n\n\tlet converted = string || '';\n\n\tif (string && (string.includes('-') || string.includes('_'))) {\n\t\t// Dash case\n\t\tconverted = converted.replace(/-/g, ' ');\n\t\t// Snake case\n\t\tconverted = converted.replace(/_/g, ' ');\n\t}\n\t// Camel and Pascal case\n\telse {\n\t\tconverted = toWords(converted);\n\t\t// replace multiple spaces with a single one\n\t\tconverted = converted.replace(/\\s{2,}/g, ' ');\n\t}\n\n\treturn converted\n\t\t.split(' ')\n\t\t.map(word => {\n\t\t\tconst lowercaseWord = word.toLowerCase();\n\t\t\tconst uppercaseWord = word.toUpperCase();\n\n\t\t\tif (lowercaseWords.includes(lowercaseWord)) {\n\t\t\t\treturn lowercaseWord;\n\t\t\t} else if (ignoreWords.includes(uppercaseWord)) {\n\t\t\t\treturn uppercaseWord;\n\t\t\t}\n\t\t\treturn word\n\t\t\t\t.toLowerCase()\n\t\t\t\t.replace(/^(\\w)/, (match, atom) => `${atom}`.toUpperCase());\n\t\t})\n\t\t.join(' ');\n}\nexports.titleCase = titleCase;\nexports.default = titleCase;\n","/**\n * Convert a Camel or Pascal case string into words\n * Note: The delimiter for this method can't yet be a regex\n * as it's used very liberally in the method.\n *\n * @param {String} string     String to convert to words\n * @param {String} delimiter  Delimeter to space between words\n *\n * @return {String}           Converted string\n */\nfunction toWords(string, delimiter = ' ') {\n  if(delimiter.match(/[A-Za-z0-9]/)) {\n    throw new Error(\"Delimiter can't be alphanumeric\")\n  }\n  let reCondensedRegex = new RegExp(`(([A-Z]${delimiter}){2,})`, \"g\")\n  let delimiterTrimHead = new RegExp(`^${delimiter}+`, \"g\")\n  let delimiterTrimTail = new RegExp(`${delimiter}+$`, \"g\")\n  let result = string\n  let stretched = string.replace(/([A-Z][^A-Z]?)/g, (match, atom) => `${delimiter}${atom}`)\n  let reCondensed = `${stretched} `.replace(reCondensedRegex, (match, atom) => {\n    return `${atom.replace(/[^A-Z]/g, '').trim()}`\n  })\n  let splitReCondensed = reCondensed.replace(/([A-Z]{2,}[a-z])/g, (match, atom) => {\n    return `${atom.substr(0, atom.length-2)}${delimiter}${atom.slice(-2)}`\n  })\n  result = splitReCondensed\n  return result.replace(delimiterTrimHead, '').replace(delimiterTrimTail, '').trim()\n}\nexports.toWords = toWords\nexports.default = toWords\n","/**\n * Convert a phrase to Title Case\n *\n * @param  {String} str       String to convert\n * @param  {String} delimiter Delimiter to determine word separation (space character by default)\n *\n * @return {String}           Title Case version of the str\n */\nfunction ucWords(string, delimiter = /[\\s\\-_]+/) {\n  return string.toLowerCase().split(delimiter).map((word) => {\n    return `${word.substr(0, 1).toUpperCase()}${word.substr(1)}`\n  }).join(' ').replace(/\\s+/gi, ' ')\n}\nexports.ucWords = ucWords\nexports.default = ucWords\n","const numberToWords = require('number-to-words')\nconst simplify = require('./simplify').default\n\n/**\n * Convert numbers at start of string to words\n * Uses a dash by default as the delimiter.\n *\n * @param {String} string     String to convert\n *\n * @return {String}           Converted string\n */\nfunction withNumberWordStart(string, delimiter='-') {\n  return simplify(string.replace(/^([\\d.]+)/, (match, atom) => ` ${numberToWords.toWords(atom)} `).trim(), delimiter)\n}\nexports.withNumberWordStart = withNumberWordStart\nexports.default = withNumberWordStart\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".section{margin-bottom:30px}.section_header{font-size:22px;font-weight:700}.section_content{display:flex;justify-content:space-between}.section_content_card{box-shadow:1px 1px 5px;min-height:50px;padding:10px;width:170px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;-webkit-clip-path:inset(50%);clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr -webkit-max-content;grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{-webkit-margin-after:calc(var(--now-scale-space--xs, 1)*.25rem);margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{-webkit-padding-before:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{-webkit-margin-start:auto;margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){-webkit-padding-start:.75rem;max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{-webkit-padding-start:.25rem;flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{-webkit-padding-before:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-block-start:.25rem}.now-m-block-start--xs{-webkit-margin-before:.25rem;margin-block-start:.25rem}.now-m-block-end--xs{-webkit-margin-after:.25rem;margin-block-end:.25rem}.now-m-inline--xs{-webkit-margin-start:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem;margin-inline-start:.25rem}.now-m-inline-start--xs{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-m-inline-end--xs{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-message{-webkit-margin-before:.25rem;border-radius:var(--now-form-field_message--border-radius,.125rem);border-style:solid;border-width:var(--now-form-field_message--border-width,0);display:flex;font-family:var(--now-form-field_message--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:.75rem;font-style:var(--now-form-field_message--font-style,normal);font-weight:var(--now-form-field_message--font-weight,normal);inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,none);word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205)));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129)));color:RGB(var(--now-form-field_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-field_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96)));color:RGB(var(--now-form-field_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-field_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202)));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123)));color:RGB(var(--now-form-field_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-field_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-color_alert--info-0,195,221,240)));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-color_alert--info-1,104,171,218)));color:RGB(var(--now-form-field_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-field_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-form-field_message--suggestion--background-color-alpha,0));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-field_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;block-size:1rem;display:flex}.-vertical .now-form-field-label{-webkit-margin-after:calc(var(--now-scale-space--xxs, 1)*.125rem);margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{-webkit-margin-end:.25rem;justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{-webkit-margin-start:auto;margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){-webkit-padding-start:.75rem;max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{-webkit-margin-start:.25rem;flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.-vertical .now-form-field-label-inline ::slotted(*){-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:.75rem;font-style:var(--now-form-field_label--font-style,normal);font-weight:var(--now-form-field_label--font-weight,normal);line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,none)}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.now-form-field-label-label .will-truncate{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-form-field-label-label .will-truncate:after{content:\\\"\\\";display:block}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{-webkit-padding-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1));block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){-webkit-margin-start:0!important;margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){-webkit-margin-start:0!important;margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){-webkit-margin-end:0!important;margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){-webkit-margin-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important;margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){-webkit-margin-end:0!important;margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-horizontal .now-form-field-button{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::-webkit-input-placeholder{color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{-webkit-border-after:1px highlight solid!important;border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}.sn-custom-highlighted-label{align-items:center;display:flex}.sn-custom-highlighted-label.-vertical{-webkit-padding-start:calc(var(--now-scale-space--xs, 1)*.25rem);padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-custom-highlighted-label-popover{display:flex;gap:calc(var(--now-scale-space--md, 1)*.75rem)}.sn-custom-highlighted-label-popover.spacing{padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--md, 1)*.75rem) calc(var(--now-scale-space--md, 1)*.75rem)}.sn-custom-highlighted-label-popover-description{display:flex;font-size:.75rem;gap:calc(var(--now-scale-space--md, 1)*.75rem);margin-top:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-custom-highlighted-label-popover-close{margin:calc(var(--now-scale-space--xxs, 1)*-.5rem)}.sn-custom-highlighted-label now-icon{vertical-align:unset}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;-webkit-clip-path:inset(50%);clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-align{display:flex}.now-align.-row.-reverse{flex-direction:row-reverse}.now-align.-column{flex-direction:column}.now-align.-column.-reverse{flex-direction:column-reverse}.now-align.-wrap{flex-wrap:wrap}.now-align.-inline{justify-content:space-between}.now-align.-inline-center{justify-content:center}.now-align.-inline-end{justify-content:flex-end}.now-align.-block-start{align-items:flex-start}.now-align.-block-center{align-items:center}.now-align.-block-end{align-items:flex-end}.now-m-block--xxs{-webkit-margin-before:.125rem;-webkit-margin-after:.125rem;margin-block-end:.125rem;margin-block-start:.125rem}.now-m-block-start--xxs{-webkit-margin-before:.125rem;margin-block-start:.125rem}.now-m-block-end--xxs{-webkit-margin-after:.125rem;margin-block-end:.125rem}.now-m-inline--xxs{-webkit-margin-start:.125rem;-webkit-margin-end:.125rem;margin-inline-end:.125rem;margin-inline-start:.125rem}.now-m-inline-start--xxs{-webkit-margin-start:.125rem;margin-inline-start:.125rem}.now-m-inline-end--xxs{-webkit-margin-end:.125rem;margin-inline-end:.125rem}.now-m-block--xs{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-block-start:.25rem}.now-m-block-start--xs{-webkit-margin-before:.25rem;margin-block-start:.25rem}.now-m-block-end--xs{-webkit-margin-after:.25rem;margin-block-end:.25rem}.now-m-inline--xs{-webkit-margin-start:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem;margin-inline-start:.25rem}.now-m-inline-start--xs{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-m-inline-end--xs{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-m-block--sm{-webkit-margin-before:.5rem;-webkit-margin-after:.5rem;margin-block-end:.5rem;margin-block-start:.5rem}.now-m-block-start--sm{-webkit-margin-before:.5rem;margin-block-start:.5rem}.now-m-block-end--sm{-webkit-margin-after:.5rem;margin-block-end:.5rem}.now-m-inline--sm{-webkit-margin-start:.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem;margin-inline-start:.5rem}.now-m-inline-start--sm{-webkit-margin-start:.5rem;margin-inline-start:.5rem}.now-m-inline-end--sm{-webkit-margin-end:.5rem;margin-inline-end:.5rem}.now-m-block--md{-webkit-margin-before:.75rem;-webkit-margin-after:.75rem;margin-block-end:.75rem;margin-block-start:.75rem}.now-m-block-start--md{-webkit-margin-before:.75rem;margin-block-start:.75rem}.now-m-block-end--md{-webkit-margin-after:.75rem;margin-block-end:.75rem}.now-m-inline--md{-webkit-margin-start:.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;margin-inline-start:.75rem}.now-m-inline-start--md{-webkit-margin-start:.75rem;margin-inline-start:.75rem}.now-m-inline-end--md{-webkit-margin-end:.75rem;margin-inline-end:.75rem}.now-m-block--lg{-webkit-margin-before:1rem;-webkit-margin-after:1rem;margin-block-end:1rem;margin-block-start:1rem}.now-m-block-start--lg{-webkit-margin-before:1rem;margin-block-start:1rem}.now-m-block-end--lg{-webkit-margin-after:1rem;margin-block-end:1rem}.now-m-inline--lg{-webkit-margin-start:1rem;-webkit-margin-end:1rem;margin-inline-end:1rem;margin-inline-start:1rem}.now-m-inline-start--lg{-webkit-margin-start:1rem;margin-inline-start:1rem}.now-m-inline-end--lg{-webkit-margin-end:1rem;margin-inline-end:1rem}.now-m-block--xl{-webkit-margin-before:1.5rem;-webkit-margin-after:1.5rem;margin-block-end:1.5rem;margin-block-start:1.5rem}.now-m-block-start--xl{-webkit-margin-before:1.5rem;margin-block-start:1.5rem}.now-m-block-end--xl{-webkit-margin-after:1.5rem;margin-block-end:1.5rem}.now-m-inline--xl{-webkit-margin-start:1.5rem;-webkit-margin-end:1.5rem;margin-inline-end:1.5rem;margin-inline-start:1.5rem}.now-m-inline-start--xl{-webkit-margin-start:1.5rem;margin-inline-start:1.5rem}.now-m-inline-end--xl{-webkit-margin-end:1.5rem;margin-inline-end:1.5rem}.now-m-block--xxl{-webkit-margin-before:2rem;-webkit-margin-after:2rem;margin-block-end:2rem;margin-block-start:2rem}.now-m-block-start--xxl{-webkit-margin-before:2rem;margin-block-start:2rem}.now-m-block-end--xxl{-webkit-margin-after:2rem;margin-block-end:2rem}.now-m-inline--xxl{-webkit-margin-start:2rem;-webkit-margin-end:2rem;margin-inline-end:2rem;margin-inline-start:2rem}.now-m-inline-start--xxl{-webkit-margin-start:2rem;margin-inline-start:2rem}.now-m-inline-end--xxl{-webkit-margin-end:2rem;margin-inline-end:2rem}.now-m-block--3xl{-webkit-margin-before:2.5rem;-webkit-margin-after:2.5rem;margin-block-end:2.5rem;margin-block-start:2.5rem}.now-m-block-start--3xl{-webkit-margin-before:2.5rem;margin-block-start:2.5rem}.now-m-block-end--3xl{-webkit-margin-after:2.5rem;margin-block-end:2.5rem}.now-m-inline--3xl{-webkit-margin-start:2.5rem;-webkit-margin-end:2.5rem;margin-inline-end:2.5rem;margin-inline-start:2.5rem}.now-m-inline-start--3xl{-webkit-margin-start:2.5rem;margin-inline-start:2.5rem}.now-m-inline-end--3xl{-webkit-margin-end:2.5rem;margin-inline-end:2.5rem}.now-m-block--0{-webkit-margin-before:0;-webkit-margin-after:0;margin-block-end:0;margin-block-start:0}.now-m-block-start--0{-webkit-margin-before:0;margin-block-start:0}.now-m-block-end--0{-webkit-margin-after:0;margin-block-end:0}.now-m-inline--0{-webkit-margin-start:0;-webkit-margin-end:0;margin-inline-end:0;margin-inline-start:0}.now-m-inline-start--0{-webkit-margin-start:0;margin-inline-start:0}.now-m-inline-end--0{-webkit-margin-end:0;margin-inline-end:0}.now-p-block--xxs{-webkit-padding-before:.125rem;-webkit-padding-after:.125rem;padding-block-end:.125rem;padding-block-start:.125rem}.now-p-block-start--xxs{-webkit-padding-before:.125rem;padding-block-start:.125rem}.now-p-block-end--xxs{-webkit-padding-after:.125rem;padding-block-end:.125rem}.now-p-inline--xxs{-webkit-padding-start:.125rem;-webkit-padding-end:.125rem;padding-inline-end:.125rem;padding-inline-start:.125rem}.now-p-inline-start--xxs{-webkit-padding-start:.125rem;padding-inline-start:.125rem}.now-p-inline-end--xxs{-webkit-padding-end:.125rem;padding-inline-end:.125rem}.now-p-block--xs{-webkit-padding-before:.25rem;-webkit-padding-after:.25rem;padding-block-end:.25rem;padding-block-start:.25rem}.now-p-block-start--xs{-webkit-padding-before:.25rem;padding-block-start:.25rem}.now-p-block-end--xs{-webkit-padding-after:.25rem;padding-block-end:.25rem}.now-p-inline--xs{-webkit-padding-start:.25rem;-webkit-padding-end:.25rem;padding-inline-end:.25rem;padding-inline-start:.25rem}.now-p-inline-start--xs{-webkit-padding-start:.25rem;padding-inline-start:.25rem}.now-p-inline-end--xs{-webkit-padding-end:.25rem;padding-inline-end:.25rem}.now-p-block--sm{-webkit-padding-before:.5rem;-webkit-padding-after:.5rem;padding-block-end:.5rem;padding-block-start:.5rem}.now-p-block-start--sm{-webkit-padding-before:.5rem;padding-block-start:.5rem}.now-p-block-end--sm{-webkit-padding-after:.5rem;padding-block-end:.5rem}.now-p-inline--sm{-webkit-padding-start:.5rem;-webkit-padding-end:.5rem;padding-inline-end:.5rem;padding-inline-start:.5rem}.now-p-inline-start--sm{-webkit-padding-start:.5rem;padding-inline-start:.5rem}.now-p-inline-end--sm{-webkit-padding-end:.5rem;padding-inline-end:.5rem}.now-p-block--md{-webkit-padding-before:.75rem;-webkit-padding-after:.75rem;padding-block-end:.75rem;padding-block-start:.75rem}.now-p-block-start--md{-webkit-padding-before:.75rem;padding-block-start:.75rem}.now-p-block-end--md{-webkit-padding-after:.75rem;padding-block-end:.75rem}.now-p-inline--md{-webkit-padding-start:.75rem;-webkit-padding-end:.75rem;padding-inline-end:.75rem;padding-inline-start:.75rem}.now-p-inline-start--md{-webkit-padding-start:.75rem;padding-inline-start:.75rem}.now-p-inline-end--md{-webkit-padding-end:.75rem;padding-inline-end:.75rem}.now-p-block--lg{-webkit-padding-before:1rem;-webkit-padding-after:1rem;padding-block-end:1rem;padding-block-start:1rem}.now-p-block-start--lg{-webkit-padding-before:1rem;padding-block-start:1rem}.now-p-block-end--lg{-webkit-padding-after:1rem;padding-block-end:1rem}.now-p-inline--lg{-webkit-padding-start:1rem;-webkit-padding-end:1rem;padding-inline-end:1rem;padding-inline-start:1rem}.now-p-inline-start--lg{-webkit-padding-start:1rem;padding-inline-start:1rem}.now-p-inline-end--lg{-webkit-padding-end:1rem;padding-inline-end:1rem}.now-p-block--xl{-webkit-padding-before:1.5rem;-webkit-padding-after:1.5rem;padding-block-end:1.5rem;padding-block-start:1.5rem}.now-p-block-start--xl{-webkit-padding-before:1.5rem;padding-block-start:1.5rem}.now-p-block-end--xl{-webkit-padding-after:1.5rem;padding-block-end:1.5rem}.now-p-inline--xl{-webkit-padding-start:1.5rem;-webkit-padding-end:1.5rem;padding-inline-end:1.5rem;padding-inline-start:1.5rem}.now-p-inline-start--xl{-webkit-padding-start:1.5rem;padding-inline-start:1.5rem}.now-p-inline-end--xl{-webkit-padding-end:1.5rem;padding-inline-end:1.5rem}.now-p-block--xxl{-webkit-padding-before:2rem;-webkit-padding-after:2rem;padding-block-end:2rem;padding-block-start:2rem}.now-p-block-start--xxl{-webkit-padding-before:2rem;padding-block-start:2rem}.now-p-block-end--xxl{-webkit-padding-after:2rem;padding-block-end:2rem}.now-p-inline--xxl{-webkit-padding-start:2rem;-webkit-padding-end:2rem;padding-inline-end:2rem;padding-inline-start:2rem}.now-p-inline-start--xxl{-webkit-padding-start:2rem;padding-inline-start:2rem}.now-p-inline-end--xxl{-webkit-padding-end:2rem;padding-inline-end:2rem}.now-p-block--3xl{-webkit-padding-before:2.5rem;-webkit-padding-after:2.5rem;padding-block-end:2.5rem;padding-block-start:2.5rem}.now-p-block-start--3xl{-webkit-padding-before:2.5rem;padding-block-start:2.5rem}.now-p-block-end--3xl{-webkit-padding-after:2.5rem;padding-block-end:2.5rem}.now-p-inline--3xl{-webkit-padding-start:2.5rem;-webkit-padding-end:2.5rem;padding-inline-end:2.5rem;padding-inline-start:2.5rem}.now-p-inline-start--3xl{-webkit-padding-start:2.5rem;padding-inline-start:2.5rem}.now-p-inline-end--3xl{-webkit-padding-end:2.5rem;padding-inline-end:2.5rem}.now-p-block--0{-webkit-padding-before:0;-webkit-padding-after:0;padding-block-end:0;padding-block-start:0}.now-p-block-start--0{-webkit-padding-before:0;padding-block-start:0}.now-p-block-end--0{-webkit-padding-after:0;padding-block-end:0}.now-p-inline--0{-webkit-padding-start:0;-webkit-padding-end:0;padding-inline-end:0;padding-inline-start:0}.now-p-inline-start--0{-webkit-padding-start:0;padding-inline-start:0}.now-p-inline-end--0{-webkit-padding-end:0;padding-inline-end:0}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:1rem}.now-heading--lg{font-size:1.25rem}.now-heading--xl{font-size:1.5rem}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:.75rem}.now-text--md{font-size:1rem}.now-text--lg{font-size:1.25rem}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}:host{display:grid;width:100%}.carousel-wrapper{display:flex;flex-direction:column;overflow:hidden;width:100%}.carousel-title{overflow:hidden}.carousel-header{align-items:center;display:flex;height:100%;justify-content:space-between;overflow:hidden;padding-bottom:.75rem;width:100%}.carousel-header .title-wrapper{align-items:center;display:inline-flex;overflow:hidden}:host(:not([dir=rtl])) .carousel-header .title-wrapper.right,:root:not([dir=rtl]) .carousel-header .title-wrapper.right{margin-left:auto}:host([dir=rtl]) .carousel-header .title-wrapper.right,:root[dir=rtl] .carousel-header .title-wrapper.right{margin-right:auto}.carousel-header .title-badge{flex:1 0 0px;min-width:0}:host(:not([dir=rtl])) .carousel-header .title-badge,:root:not([dir=rtl]) .carousel-header .title-badge{padding-left:.5rem}:host([dir=rtl]) .carousel-header .title-badge,:root[dir=rtl] .carousel-header .title-badge{padding-right:.5rem}:host(:not([dir=rtl])) .carousel-header .header-link,:root:not([dir=rtl]) .carousel-header .header-link{padding-left:3.25rem}:host([dir=rtl]) .carousel-header .header-link,:root[dir=rtl] .carousel-header .header-link{padding-right:3.25rem}.carousel-track{display:flex;justify-content:flex-start;overflow-x:clip;position:relative}.content-container{display:flex;height:100%;width:100%}::slotted(*){flex:none;height:100%;width:auto}.arrows.bottom-left{bottom:-.75rem;display:inherit;position:absolute}:host(:not([dir=rtl])) .arrows.bottom-left,:root:not([dir=rtl]) .arrows.bottom-left{left:4px}:host([dir=rtl]) .arrows.bottom-left,:root[dir=rtl] .arrows.bottom-left{right:4px}.arrows.bottom-right{bottom:-.75rem;display:inherit;position:absolute}:host(:not([dir=rtl])) .arrows.bottom-right,:root:not([dir=rtl]) .arrows.bottom-right{right:4px}:host([dir=rtl]) .arrows.bottom-right,:root[dir=rtl] .arrows.bottom-right{left:4px}.arrows .arrow{z-index:2}.arrows .arrow .nav-button{background-color:RGB(var(--now-color--neutral-0,255,255,255));border-radius:20px;position:absolute}.arrows .arrow.left.center{height:100%;position:absolute;width:24px}.arrows .arrow.left.center .nav-button{left:50%;top:50%;transform:translate(-50%,-50%)}:host(:not([dir=rtl])) .arrows .arrow.left.center.compact,:root:not([dir=rtl]) .arrows .arrow.left.center.compact{left:3.25rem}:host([dir=rtl]) .arrows .arrow.left.center.compact,:root[dir=rtl] .arrows .arrow.left.center.compact{right:3.25rem}:host(:not([dir=rtl])) .arrows .arrow.left.center.not-compact,:root:not([dir=rtl]) .arrows .arrow.left.center.not-compact{left:1rem}:host([dir=rtl]) .arrows .arrow.left.center.not-compact,:root[dir=rtl] .arrows .arrow.left.center.not-compact{right:1rem}.arrows .arrow.left.bottom-left .nav-button{top:0}:host(:not([dir=rtl])) .arrows .arrow.left.bottom-left .nav-button,:root:not([dir=rtl]) .arrows .arrow.left.bottom-left .nav-button{left:0}:host([dir=rtl]) .arrows .arrow.left.bottom-left .nav-button,:root[dir=rtl] .arrows .arrow.left.bottom-left .nav-button{right:0}.arrows .arrow.left.bottom-right .nav-button{top:0}:host(:not([dir=rtl])) .arrows .arrow.left.bottom-right .nav-button,:root:not([dir=rtl]) .arrows .arrow.left.bottom-right .nav-button{right:2.5rem}:host([dir=rtl]) .arrows .arrow.left.bottom-right .nav-button,:root[dir=rtl] .arrows .arrow.left.bottom-right .nav-button{left:2.5rem}.arrows .arrow.left.bottom-split{bottom:-.75rem;position:absolute}:host(:not([dir=rtl])) .arrows .arrow.left.bottom-split,:root:not([dir=rtl]) .arrows .arrow.left.bottom-split{left:4px}:host([dir=rtl]) .arrows .arrow.left.bottom-split,:root[dir=rtl] .arrows .arrow.left.bottom-split{right:4px}.arrows .arrow.left.bottom-split .nav-button{top:0}:host(:not([dir=rtl])) .arrows .arrow.left.bottom-split .nav-button,:root:not([dir=rtl]) .arrows .arrow.left.bottom-split .nav-button{left:0}:host([dir=rtl]) .arrows .arrow.left.bottom-split .nav-button,:root[dir=rtl] .arrows .arrow.left.bottom-split .nav-button{right:0}.arrows .arrow.left.hide{visibility:hidden}.arrows .arrow.left.show{display:inline-block}.arrows .arrow.right.bottom-left .nav-button{top:0}:host(:not([dir=rtl])) .arrows .arrow.right.bottom-left .nav-button,:root:not([dir=rtl]) .arrows .arrow.right.bottom-left .nav-button{left:2.5rem}:host([dir=rtl]) .arrows .arrow.right.bottom-left .nav-button,:root[dir=rtl] .arrows .arrow.right.bottom-left .nav-button{right:2.5rem}.arrows .arrow.right.bottom-right .nav-button{top:0}:host(:not([dir=rtl])) .arrows .arrow.right.bottom-right .nav-button,:root:not([dir=rtl]) .arrows .arrow.right.bottom-right .nav-button{right:0}:host([dir=rtl]) .arrows .arrow.right.bottom-right .nav-button,:root[dir=rtl] .arrows .arrow.right.bottom-right .nav-button{left:0}.arrows .arrow.right.center{height:100%;position:absolute;width:24px}:host(:not([dir=rtl])) .arrows .arrow.right.center,:root:not([dir=rtl]) .arrows .arrow.right.center{right:1rem}:host([dir=rtl]) .arrows .arrow.right.center,:root[dir=rtl] .arrows .arrow.right.center{left:1rem}.arrows .arrow.right.center .nav-button{left:50%;top:50%;transform:translate(-50%,-50%)}.arrows .arrow.right.bottom-split{bottom:-.75rem;position:absolute}:host(:not([dir=rtl])) .arrows .arrow.right.bottom-split,:root:not([dir=rtl]) .arrows .arrow.right.bottom-split{right:4px}:host([dir=rtl]) .arrows .arrow.right.bottom-split,:root[dir=rtl] .arrows .arrow.right.bottom-split{left:4px}.arrows .arrow.right.bottom-split .nav-button{top:0}:host(:not([dir=rtl])) .arrows .arrow.right.bottom-split .nav-button,:root:not([dir=rtl]) .arrows .arrow.right.bottom-split .nav-button{right:0}:host([dir=rtl]) .arrows .arrow.right.bottom-split .nav-button,:root[dir=rtl] .arrows .arrow.right.bottom-split .nav-button{left:0}.arrows .arrow.right.hide{visibility:hidden}.arrows .arrow.right.show{display:inline-block}.carousel-footer{margin-top:.75rem;position:relative}.carousel-footer .show-arrows{height:30px}@media(forced-colors:active){.indicators nav div button{background-color:buttonface!important}.indicators nav div button:focus,.indicators nav div button:hover{border-color:highlight!important}.indicators nav div button.selected{background-color:selecteditem!important;border-color:selecteditemtext!important;color:selecteditemtext!important}}:host(:not([dir=rtl])) .indicators.bottom-left,:root:not([dir=rtl]) .indicators.bottom-left{float:right}:host([dir=rtl]) .indicators.bottom-left,:root[dir=rtl] .indicators.bottom-left{float:left}:host(:not([dir=rtl])) .indicators.bottom-right,:root:not([dir=rtl]) .indicators.bottom-right{float:left}:host([dir=rtl]) .indicators.bottom-right,:root[dir=rtl] .indicators.bottom-right{float:right}.indicators.bottom-split,.indicators.center{margin-left:auto;margin-right:auto}.indicators.center nav{margin-bottom:0;margin-top:0}.indicators nav{display:flex;justify-content:center;list-style:none;margin-bottom:.25rem;margin-top:.25rem;padding:0}.indicators nav div{height:12px;width:12px}:host(:not([dir=rtl])) .indicators nav div,:root:not([dir=rtl]) .indicators nav div{margin-right:.5rem}:host([dir=rtl]) .indicators nav div,:root[dir=rtl] .indicators nav div{margin-left:.5rem}:host(:not([dir=rtl])) .indicators nav div:last-child,:root:not([dir=rtl]) .indicators nav div:last-child{margin-right:0}:host([dir=rtl]) .indicators nav div:last-child,:root[dir=rtl] .indicators nav div:last-child{margin-left:0}.indicators nav div button{background-color:transparent;border:1px solid RGB(var(--now-color--primary-1,30,133,109));border-radius:12px;cursor:pointer;height:12px;padding:0;position:absolute;width:12px}.indicators nav div button.selected{background-color:RGB(var(--now-color--primary-1,30,133,109));border:1px solid RGB(var(--now-color--primary-1,30,133,109))}.indicators nav div button:hover:not(.selected){background-color:RGB(var(--now-color--primary-2,23,100,82));border:1px solid RGB(var(--now-color--primary-2,23,100,82))}.indicators nav div button:focus{border:2px solid RGB(var(--now-color--focus-2,1,119,142));box-shadow:inset 0 0 0 1px #fff}.indicators nav div button:focus-visible{outline:none}.indicators nav div button:active{background-color:RGB(var(--now-color--primary-3,15,67,55));border:1px solid RGB(var(--now-color--primary-3,15,67,55))}.gradient{height:100%;position:absolute;width:56px;z-index:1}:host(:not([dir=rtl])) .gradient.left,:root:not([dir=rtl]) .gradient.left{left:0}:host([dir=rtl]) .gradient.left,:root[dir=rtl] .gradient.left{right:0}:host(:not([dir=rtl])) .gradient.left.primary,:root:not([dir=rtl]) .gradient.left.primary{background-image:linear-gradient(to left,hsla(0,0%,100%,0),RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))}:host([dir=rtl]) .gradient.left.primary,:root[dir=rtl] .gradient.left.primary{background-image:linear-gradient(to right,hsla(0,0%,100%,0),RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))}:host(:not([dir=rtl])) .gradient.left.secondary,:root:not([dir=rtl]) .gradient.left.secondary{background-image:linear-gradient(to left,hsla(0,0%,100%,0),RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))))}:host([dir=rtl]) .gradient.left.secondary,:root[dir=rtl] .gradient.left.secondary{background-image:linear-gradient(to right,hsla(0,0%,100%,0),RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))))}:host(:not([dir=rtl])) .gradient.left.tertiary,:root:not([dir=rtl]) .gradient.left.tertiary{background-image:linear-gradient(to left,hsla(0,0%,100%,0),RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231))))}:host([dir=rtl]) .gradient.left.tertiary,:root[dir=rtl] .gradient.left.tertiary{background-image:linear-gradient(to right,hsla(0,0%,100%,0),RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231))))}.gradient.left.dark{opacity:.1}:host(:not([dir=rtl])) .gradient.left.dark,:root:not([dir=rtl]) .gradient.left.dark{background-image:linear-gradient(to left,hsla(0,0%,100%,0),RGB(var(--now-color--neutral-16,37,45,46)))}:host([dir=rtl]) .gradient.left.dark,:root[dir=rtl] .gradient.left.dark{background-image:linear-gradient(to right,hsla(0,0%,100%,0),RGB(var(--now-color--neutral-16,37,45,46)))}.gradient.left.none{visibility:hidden}:host(:not([dir=rtl])) .gradient.right,:root:not([dir=rtl]) .gradient.right{right:0}:host([dir=rtl]) .gradient.right,:root[dir=rtl] .gradient.right{left:0}:host(:not([dir=rtl])) .gradient.right.primary,:root:not([dir=rtl]) .gradient.right.primary{background-image:linear-gradient(to right,hsla(0,0%,100%,0),RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))}:host([dir=rtl]) .gradient.right.primary,:root[dir=rtl] .gradient.right.primary{background-image:linear-gradient(to left,hsla(0,0%,100%,0),RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))}:host(:not([dir=rtl])) .gradient.right.secondary,:root:not([dir=rtl]) .gradient.right.secondary{background-image:linear-gradient(to right,hsla(0,0%,100%,0),RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))))}:host([dir=rtl]) .gradient.right.secondary,:root[dir=rtl] .gradient.right.secondary{background-image:linear-gradient(to left,hsla(0,0%,100%,0),RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))))}:host(:not([dir=rtl])) .gradient.right.tertiary,:root:not([dir=rtl]) .gradient.right.tertiary{background-image:linear-gradient(to right,hsla(0,0%,100%,0),RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231))))}:host([dir=rtl]) .gradient.right.tertiary,:root[dir=rtl] .gradient.right.tertiary{background-image:linear-gradient(to left,hsla(0,0%,100%,0),RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231))))}.gradient.right.dark{opacity:.1}:host(:not([dir=rtl])) .gradient.right.dark,:root:not([dir=rtl]) .gradient.right.dark{background-image:linear-gradient(to right,hsla(0,0%,100%,0),RGB(var(--now-color--neutral-16,37,45,46)))}:host([dir=rtl]) .gradient.right.dark,:root[dir=rtl] .gradient.right.dark{background-image:linear-gradient(to left,hsla(0,0%,100%,0),RGB(var(--now-color--neutral-16,37,45,46)))}.gradient.right.none{visibility:hidden}.pause-play-button{position:absolute;z-index:3}.pause-play-button.not-compact{padding-left:1rem;padding-top:.25rem}.pause-play-button.compact{height:100%;margin-top:-.8125rem;top:50%;width:1.5rem}:host(:not([dir=rtl])) .pause-play-button.compact,:root:not([dir=rtl]) .pause-play-button.compact{left:1rem}:host([dir=rtl]) .pause-play-button.compact,:root[dir=rtl] .pause-play-button.compact{right:1rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:flex}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".list-container{height:424px}.tree-container{height:424px;position:relative}.loader-container{align-items:center;display:flex;height:424px;justify-content:center;width:100%}.multi{height:422px}.with-footer{height:350px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;-webkit-clip-path:inset(50%);clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr -webkit-max-content;grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{-webkit-margin-after:calc(var(--now-scale-space--xs, 1)*.25rem);margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{-webkit-padding-before:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{-webkit-margin-start:auto;margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){-webkit-padding-start:.75rem;max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{-webkit-padding-start:.25rem;flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{-webkit-padding-before:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-form-field-message{-webkit-margin-before:.25rem;-webkit-padding-before:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));-webkit-padding-after:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));-webkit-padding-start:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));-webkit-padding-end:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:.75rem;font-style:var(--now-form-field_message--font-style,normal);font-weight:var(--now-form-field_message--font-weight,normal);inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block-end:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-block-start:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline-end:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));padding-inline-start:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,none);word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205)));color:RGB(var(--now-form-field_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)));color:RGB(var(--now-form-field_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202)));color:RGB(var(--now-form-field_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-color_alert--info-0,195,221,240)));color:RGB(var(--now-form-field_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-form-field_message--suggestion--background-color-alpha,0));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{-webkit-margin-before:0;-webkit-margin-after:0;align-self:center;margin-block-end:0;margin-block-start:0}.now-m-block--xs{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-block-start:.25rem}.now-m-block-start--xs{-webkit-margin-before:.25rem;margin-block-start:.25rem}.now-m-block-end--xs{-webkit-margin-after:.25rem;margin-block-end:.25rem}.now-m-inline--xs{-webkit-margin-start:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem;margin-inline-start:.25rem}.now-m-inline-start--xs{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-m-inline-end--xs{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-label{align-items:center;block-size:1rem;display:flex}.-vertical .now-form-field-label{-webkit-margin-after:calc(var(--now-scale-space--xxs, 1)*.125rem);margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{-webkit-margin-end:.25rem;justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{-webkit-margin-start:auto;margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){-webkit-padding-start:.75rem;max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{-webkit-margin-start:.25rem;flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.-vertical .now-form-field-label-inline ::slotted(*){-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))));font-family:var(--now-form-field_label--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:.75rem;font-style:var(--now-form-field_label--font-style,normal);font-weight:var(--now-form-field_label--font-weight,normal);line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,none)}.now-form-field-label-identifier.now-line-height-crop{display:block}.now-form-field-label-identifier.now-line-height-crop:after,.now-form-field-label-identifier.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier.now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier.now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier.now-line-height-crop+.now-form-field-label-identifier.now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.now-form-field-label-label .will-truncate{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{-webkit-padding-start:.5rem;-webkit-padding-end:.25rem;block-size:1.5rem;padding-inline-end:.25rem;padding-inline-start:.5rem}.-md .now-form-field{-webkit-padding-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1));block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){-webkit-margin-start:0!important;-webkit-margin-end:.25rem!important;margin-inline-end:.25rem!important;margin-inline-start:0!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){-webkit-margin-start:0!important;margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){-webkit-margin-start:0!important;margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){-webkit-margin-start:0!important;-webkit-margin-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important;margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important;margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(:last-child){-webkit-margin-end:0!important;margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){-webkit-margin-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important;margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){-webkit-margin-end:0!important;margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{-webkit-padding-start:0;-webkit-padding-end:0;inline-size:100%;padding-inline-end:0;padding-inline-start:0}.now-form-field-required-indicator{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-horizontal .now-form-field-button{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::-webkit-input-placeholder{color:graytext!important}.now-form-field ::placeholder{color:graytext!important}}input,textarea{font-family:inherit}now-button-iconic.recommendation-icon{display:initial}.sn-recommendations-info-popover-spacing{font-size:.75rem;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--md, 1)*.75rem) calc(var(--now-scale-space--md, 1)*.75rem)}.sn-recommendations-info-popover-spacing a{text-decoration:none}.sn-recommendations-info-popover-spacing a:hover{text-decoration:underline}.sn-recommendations-info-popover-description{font-size:.75rem;margin-top:calc(var(--now-scale-space--sm, 1)*.5rem)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;-webkit-clip-path:inset(50%);clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-m-block--xs{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-block-start:.25rem}.now-m-block-start--xs{-webkit-margin-before:.25rem;margin-block-start:.25rem}.now-m-block-end--xs{-webkit-margin-after:.25rem;margin-block-end:.25rem}.now-m-inline--xs{-webkit-margin-start:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem;margin-inline-start:.25rem}.now-m-inline-start--xs{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-m-inline-end--xs{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-message{-webkit-margin-before:.25rem;border-radius:var(--now-form-field_message--border-radius,.125rem);border-style:solid;border-width:var(--now-form-field_message--border-width,0);display:flex;font-family:var(--now-form-field_message--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:.75rem;font-style:var(--now-form-field_message--font-style,normal);font-weight:var(--now-form-field_message--font-weight,normal);inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,none);word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205)));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129)));color:RGB(var(--now-form-field_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-field_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96)));color:RGB(var(--now-form-field_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-field_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202)));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123)));color:RGB(var(--now-form-field_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-field_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-color_alert--info-0,195,221,240)));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-color_alert--info-1,104,171,218)));color:RGB(var(--now-form-field_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-field_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-form-field_message--suggestion--background-color-alpha,0));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-field_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;block-size:1rem;display:flex}.-vertical .now-form-field-label{-webkit-margin-after:calc(var(--now-scale-space--xxs, 1)*.125rem);margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{-webkit-margin-end:.25rem;justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{-webkit-margin-start:auto;margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){-webkit-padding-start:.75rem;max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{-webkit-margin-start:.25rem;flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.-vertical .now-form-field-label-inline ::slotted(*){-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:.75rem;font-style:var(--now-form-field_label--font-style,normal);font-weight:var(--now-form-field_label--font-weight,normal);line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,none)}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.now-form-field-label-label .will-truncate{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-form-field-label-label .will-truncate:after{content:\\\"\\\";display:block}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{-webkit-padding-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1));block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){-webkit-margin-start:0!important;margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){-webkit-margin-start:0!important;margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){-webkit-margin-end:0!important;margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){-webkit-margin-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important;margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){-webkit-margin-end:0!important;margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-horizontal .now-form-field-button{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::-webkit-input-placeholder{color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{-webkit-border-after:1px highlight solid!important;border-block-end:1px solid highlight!important}}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr -webkit-max-content;grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{-webkit-margin-after:calc(var(--now-scale-space--xs, 1)*.25rem);margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{-webkit-padding-before:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{-webkit-margin-start:auto;margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){-webkit-padding-start:.75rem;max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{-webkit-padding-start:.25rem;flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{-webkit-padding-before:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.sn-control{-webkit-margin-before:calc(var(--now-scale-space--sm, 1)*.5rem);-webkit-margin-after:calc(var(--now-scale-space--sm, 1)*.5rem);border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:.75rem;font-style:var(--now-form-field_label--font-style,normal);font-weight:var(--now-form-field_label--font-weight,normal);line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,none)}.sn-control-label-label{-webkit-margin-start:0;margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{-webkit-padding-start:calc(var(--now-scale-space--xs, 1)*.25rem);display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-form-field--background-color-alpha,0));border-color:RGB(var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))));border-radius:var(--now-form-field--border-radius,0);border-style:solid;border-width:var(--now-form-field--border-width,0);box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28)),var(--now-form-field_inset--color-alpha,0)),0 var(--now-form-field--border-block-end-width,1px) 0 0 RGB(var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))));color:RGB(var(--now-form-field--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));display:flex;font-size:1rem;position:relative}.sn-control-field,.sn-control-field.read-only{-webkit-padding-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-field--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-field--background-color-alpha,0)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-field--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,0) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-field--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))),var(--now-opacity--more,.65))}.sn-control-field.read-only::-webkit-input-placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-field--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-field--background-color-alpha,0)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,0);left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))),var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))));bottom:calc(var(--now-form-field--border-block-end-width, 1px)*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,1px);left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,0);left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231))),var(--now-form-field--background-color-alpha--hover,1));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28)),var(--now-form-field_inset--color-alpha,0)),0 var(--now-form-field--border-block-end-width,1px) 0 0 RGB(var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, 1px)*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, 1px)*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-color--secondary-0,217,235,238)));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142)));box-shadow:0 calc(var(--now-form-field--border-block-end-width, 1px)*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 var(--now-form-field--border-width,0) RGB(var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142))),0 0 0 var(--now-form-field_focus-ring--width,0) RGB(var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142)),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142)));bottom:calc(var(--now-form-field--border-block-end-width, 1px)*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, 1px)*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)));box-shadow:0 var(--now-form-field--border-block-end-width,1px) 0 RGB(var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,0) 0 RGB(var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.sn-control-field::-webkit-input-placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))),var(--now-opacity--most,.8))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:.75rem;margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-color_alert--critical-3,160,48,43))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-color_alert--warning-3,198,185,22))}.sn-control-messages{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;padding-top:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:.75rem;font-style:var(--now-form-field_message--font-style,normal);font-weight:var(--now-form-field_message--font-weight,normal);line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,none);width:100%;word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205)));color:RGB(var(--now-form-field_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202)));color:RGB(var(--now-form-field_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-color_alert--info-0,195,221,240)));color:RGB(var(--now-form-field_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)));color:RGB(var(--now-form-field_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-form-field_message--suggestion--background-color-alpha,0));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{-webkit-margin-end:calc(var(--now-scale-space--xs, 1)*.25rem);display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.sn-control .sn-form-field{display:flex;flex-direction:column;flex-wrap:wrap}.default-fieldset{border:none;display:inline-block;margin:0;min-width:0;padding:0;width:100%}.decorations-icon-wrapper{-webkit-margin-start:calc(var(--now-scale-space--md, 1)*.75rem);all:inherit;margin-inline-start:calc(var(--now-scale-space--md, 1)*.75rem)}.fit-to-parent{block-size:100%}.fit-to-parent now-textarea{-webkit-padding-before:calc(var(--now-scale-space--sm, 1)*.5rem);-webkit-padding-after:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block:0;padding-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;-webkit-clip-path:inset(50%);clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-m-block--xs{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-block-start:.25rem}.now-m-block-start--xs{-webkit-margin-before:.25rem;margin-block-start:.25rem}.now-m-block-end--xs{-webkit-margin-after:.25rem;margin-block-end:.25rem}.now-m-inline--xs{-webkit-margin-start:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem;margin-inline-start:.25rem}.now-m-inline-start--xs{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-m-inline-end--xs{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-message{-webkit-margin-before:.25rem;border-radius:var(--now-form-field_message--border-radius,.125rem);border-style:solid;border-width:var(--now-form-field_message--border-width,0);display:flex;font-family:var(--now-form-field_message--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:.75rem;font-style:var(--now-form-field_message--font-style,normal);font-weight:var(--now-form-field_message--font-weight,normal);inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,none);word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205)));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129)));color:RGB(var(--now-form-field_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-field_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96)));color:RGB(var(--now-form-field_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-field_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202)));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123)));color:RGB(var(--now-form-field_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-field_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-color_alert--info-0,195,221,240)));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-color_alert--info-1,104,171,218)));color:RGB(var(--now-form-field_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-field_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-form-field_message--suggestion--background-color-alpha,0));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-field_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;block-size:1rem;display:flex}.-vertical .now-form-field-label{-webkit-margin-after:calc(var(--now-scale-space--xxs, 1)*.125rem);margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{-webkit-margin-end:.25rem;justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{-webkit-margin-start:auto;margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){-webkit-padding-start:.75rem;max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{-webkit-margin-start:.25rem;flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.-vertical .now-form-field-label-inline ::slotted(*){-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:.75rem;font-style:var(--now-form-field_label--font-style,normal);font-weight:var(--now-form-field_label--font-weight,normal);line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,none)}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.now-form-field-label-label .will-truncate{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-form-field-label-label .will-truncate:after{content:\\\"\\\";display:block}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{-webkit-padding-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1));block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){-webkit-margin-start:0!important;margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){-webkit-margin-start:0!important;margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){-webkit-margin-end:0!important;margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){-webkit-margin-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important;margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){-webkit-margin-end:0!important;margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-horizontal .now-form-field-button{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::-webkit-input-placeholder{color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{-webkit-border-after:1px highlight solid!important;border-block-end:1px solid highlight!important}}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr -webkit-max-content;grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{-webkit-margin-after:calc(var(--now-scale-space--xs, 1)*.25rem);margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{-webkit-padding-before:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{-webkit-margin-start:auto;margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){-webkit-padding-start:.75rem;max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{-webkit-padding-start:.25rem;flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{-webkit-padding-before:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.sn-control{-webkit-margin-before:calc(var(--now-scale-space--sm, 1)*.5rem);-webkit-margin-after:calc(var(--now-scale-space--sm, 1)*.5rem);border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:.75rem;font-style:var(--now-form-field_label--font-style,normal);font-weight:var(--now-form-field_label--font-weight,normal);line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,none)}.sn-control-label-label{-webkit-margin-start:0;margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{-webkit-padding-start:calc(var(--now-scale-space--xs, 1)*.25rem);display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-form-field--background-color-alpha,0));border-color:RGB(var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))));border-radius:var(--now-form-field--border-radius,0);border-style:solid;border-width:var(--now-form-field--border-width,0);box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28)),var(--now-form-field_inset--color-alpha,0)),0 var(--now-form-field--border-block-end-width,1px) 0 0 RGB(var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))));color:RGB(var(--now-form-field--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));display:flex;font-size:1rem;position:relative}.sn-control-field,.sn-control-field.read-only{-webkit-padding-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-field--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-field--background-color-alpha,0)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-field--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,0) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-field--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))),var(--now-opacity--more,.65))}.sn-control-field.read-only::-webkit-input-placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-field--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-field--background-color-alpha,0)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,0);left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))),var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))));bottom:calc(var(--now-form-field--border-block-end-width, 1px)*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,1px);left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,0);left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231))),var(--now-form-field--background-color-alpha--hover,1));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28)),var(--now-form-field_inset--color-alpha,0)),0 var(--now-form-field--border-block-end-width,1px) 0 0 RGB(var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, 1px)*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, 1px)*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-color--secondary-0,217,235,238)));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142)));box-shadow:0 calc(var(--now-form-field--border-block-end-width, 1px)*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 var(--now-form-field--border-width,0) RGB(var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142))),0 0 0 var(--now-form-field_focus-ring--width,0) RGB(var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142)),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142)));bottom:calc(var(--now-form-field--border-block-end-width, 1px)*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, 1px)*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)));box-shadow:0 var(--now-form-field--border-block-end-width,1px) 0 RGB(var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,0) 0 RGB(var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.sn-control-field::-webkit-input-placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))),var(--now-opacity--most,.8))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:.75rem;margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-color_alert--critical-3,160,48,43))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-color_alert--warning-3,198,185,22))}.sn-control-messages{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;padding-top:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:.75rem;font-style:var(--now-form-field_message--font-style,normal);font-weight:var(--now-form-field_message--font-weight,normal);line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,none);width:100%;word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205)));color:RGB(var(--now-form-field_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202)));color:RGB(var(--now-form-field_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-color_alert--info-0,195,221,240)));color:RGB(var(--now-form-field_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)));color:RGB(var(--now-form-field_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-form-field_message--suggestion--background-color-alpha,0));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{-webkit-margin-end:calc(var(--now-scale-space--xs, 1)*.25rem);display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.default-fieldset{border:none;display:inline-block;margin:0;min-width:0;padding:0;width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;-webkit-clip-path:inset(50%);clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr -webkit-max-content;grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{-webkit-margin-after:calc(var(--now-scale-space--xs, 1)*.25rem);margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{-webkit-padding-before:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{-webkit-margin-start:auto;margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){-webkit-padding-start:.75rem;max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{-webkit-padding-start:.25rem;flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{-webkit-padding-before:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-block-start:.25rem}.now-m-block-start--xs{-webkit-margin-before:.25rem;margin-block-start:.25rem}.now-m-block-end--xs{-webkit-margin-after:.25rem;margin-block-end:.25rem}.now-m-inline--xs{-webkit-margin-start:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem;margin-inline-start:.25rem}.now-m-inline-start--xs{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-m-inline-end--xs{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-message{-webkit-margin-before:.25rem;border-radius:var(--now-form-field_message--border-radius,.125rem);border-style:solid;border-width:var(--now-form-field_message--border-width,0);display:flex;font-family:var(--now-form-field_message--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:.75rem;font-style:var(--now-form-field_message--font-style,normal);font-weight:var(--now-form-field_message--font-weight,normal);inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,none);word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205)));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129)));color:RGB(var(--now-form-field_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-field_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96)));color:RGB(var(--now-form-field_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-field_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202)));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123)));color:RGB(var(--now-form-field_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-field_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-color_alert--info-0,195,221,240)));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-color_alert--info-1,104,171,218)));color:RGB(var(--now-form-field_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-field_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-form-field_message--suggestion--background-color-alpha,0));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-field_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;block-size:1rem;display:flex}.-vertical .now-form-field-label{-webkit-margin-after:calc(var(--now-scale-space--xxs, 1)*.125rem);margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{-webkit-margin-end:.25rem;justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{-webkit-margin-start:auto;margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){-webkit-padding-start:.75rem;max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{-webkit-margin-start:.25rem;flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.-vertical .now-form-field-label-inline ::slotted(*){-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:.75rem;font-style:var(--now-form-field_label--font-style,normal);font-weight:var(--now-form-field_label--font-weight,normal);line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,none)}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.now-form-field-label-label .will-truncate{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-form-field-label-label .will-truncate:after{content:\\\"\\\";display:block}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{-webkit-padding-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1));block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){-webkit-margin-start:0!important;margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){-webkit-margin-start:0!important;margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){-webkit-margin-end:0!important;margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){-webkit-margin-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important;margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){-webkit-margin-end:0!important;margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-horizontal .now-form-field-button{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::-webkit-input-placeholder{color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{-webkit-border-after:1px highlight solid!important;border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}:host(sn-record-control){align-items:center;display:inline-flex;margin-right:.25rem}now-button{align-items:center;display:inline-flex}now-button span{display:block}now-button span:after,now-button span:before{block-size:0;content:\\\"\\\";display:block}now-button span:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}now-button span:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}now-button span+now-button span{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}:host(:not([dir=rtl])) now-button now-icon:first-child,:root:not([dir=rtl]) now-button now-icon:first-child{margin-right:calc(var(--now-scale-space--xxs, 1)*.125rem)}:host([dir=rtl]) now-button now-icon:first-child,:root[dir=rtl] now-button now-icon:first-child{margin-left:calc(var(--now-scale-space--xxs, 1)*.125rem)}:host(:not([dir=rtl])) now-button now-icon:last-child,:root:not([dir=rtl]) now-button now-icon:last-child{margin-left:calc(var(--now-scale-space--xxs, 1)*.125rem)}:host([dir=rtl]) now-button now-icon:last-child,:root[dir=rtl] now-button now-icon:last-child{margin-right:calc(var(--now-scale-space--xxs, 1)*.125rem)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;-webkit-clip-path:inset(50%);clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr -webkit-max-content;grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{-webkit-margin-after:calc(var(--now-scale-space--xs, 1)*.25rem);margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{-webkit-padding-before:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{-webkit-margin-start:auto;margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){-webkit-padding-start:.75rem;max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{-webkit-padding-start:.25rem;flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{-webkit-padding-before:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-block-start:.25rem}.now-m-block-start--xs{-webkit-margin-before:.25rem;margin-block-start:.25rem}.now-m-block-end--xs{-webkit-margin-after:.25rem;margin-block-end:.25rem}.now-m-inline--xs{-webkit-margin-start:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem;margin-inline-start:.25rem}.now-m-inline-start--xs{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-m-inline-end--xs{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-message{-webkit-margin-before:.25rem;border-radius:var(--now-form-field_message--border-radius,.125rem);border-style:solid;border-width:var(--now-form-field_message--border-width,0);display:flex;font-family:var(--now-form-field_message--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:.75rem;font-style:var(--now-form-field_message--font-style,normal);font-weight:var(--now-form-field_message--font-weight,normal);inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,none);word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205)));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129)));color:RGB(var(--now-form-field_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-field_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96)));color:RGB(var(--now-form-field_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-field_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202)));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123)));color:RGB(var(--now-form-field_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-field_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-color_alert--info-0,195,221,240)));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-color_alert--info-1,104,171,218)));color:RGB(var(--now-form-field_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-field_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-form-field_message--suggestion--background-color-alpha,0));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-field_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;block-size:1rem;display:flex}.-vertical .now-form-field-label{-webkit-margin-after:calc(var(--now-scale-space--xxs, 1)*.125rem);margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{-webkit-margin-end:.25rem;justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{-webkit-margin-start:auto;margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){-webkit-padding-start:.75rem;max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{-webkit-margin-start:.25rem;flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.-vertical .now-form-field-label-inline ::slotted(*){-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:.75rem;font-style:var(--now-form-field_label--font-style,normal);font-weight:var(--now-form-field_label--font-weight,normal);line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,none)}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.now-form-field-label-label .will-truncate{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-form-field-label-label .will-truncate:after{content:\\\"\\\";display:block}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{-webkit-padding-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1));block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){-webkit-margin-start:0!important;margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){-webkit-margin-start:0!important;margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){-webkit-margin-end:0!important;margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){-webkit-margin-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important;margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){-webkit-margin-end:0!important;margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-horizontal .now-form-field-button{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::-webkit-input-placeholder{color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{-webkit-border-after:1px highlight solid!important;border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}now-input{width:100%}:host(sn-record-input.is-focused) .sn-control-field{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))}.sn-control{-webkit-margin-before:calc(var(--now-scale-space--sm, 1)*.5rem);-webkit-margin-after:calc(var(--now-scale-space--sm, 1)*.5rem);border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:.75rem;font-style:var(--now-form-field_label--font-style,normal);font-weight:var(--now-form-field_label--font-weight,normal);line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,none)}.sn-control-label-label{-webkit-margin-start:0;margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{-webkit-padding-start:calc(var(--now-scale-space--xs, 1)*.25rem);display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-form-field--background-color-alpha,0));border-color:RGB(var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))));border-radius:var(--now-form-field--border-radius,0);border-style:solid;border-width:var(--now-form-field--border-width,0);box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28)),var(--now-form-field_inset--color-alpha,0)),0 var(--now-form-field--border-block-end-width,1px) 0 0 RGB(var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))));color:RGB(var(--now-form-field--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));display:flex;font-size:1rem;position:relative}.sn-control-field,.sn-control-field.read-only{-webkit-padding-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-field--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-field--background-color-alpha,0)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-field--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,0) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-field--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))),var(--now-opacity--more,.65))}.sn-control-field.read-only::-webkit-input-placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-field--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-field--background-color-alpha,0)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,0);left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))),var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))));bottom:calc(var(--now-form-field--border-block-end-width, 1px)*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,1px);left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,0);left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231))),var(--now-form-field--background-color-alpha--hover,1));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28)),var(--now-form-field_inset--color-alpha,0)),0 var(--now-form-field--border-block-end-width,1px) 0 0 RGB(var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, 1px)*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, 1px)*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-color--secondary-0,217,235,238)));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142)));box-shadow:0 calc(var(--now-form-field--border-block-end-width, 1px)*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 var(--now-form-field--border-width,0) RGB(var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142))),0 0 0 var(--now-form-field_focus-ring--width,0) RGB(var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142)),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142)));bottom:calc(var(--now-form-field--border-block-end-width, 1px)*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, 1px)*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)));box-shadow:0 var(--now-form-field--border-block-end-width,1px) 0 RGB(var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,0) 0 RGB(var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.sn-control-field::-webkit-input-placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))),var(--now-opacity--most,.8))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:.75rem;margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-color_alert--critical-3,160,48,43))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-color_alert--warning-3,198,185,22))}.sn-control-messages{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;padding-top:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:.75rem;font-style:var(--now-form-field_message--font-style,normal);font-weight:var(--now-form-field_message--font-weight,normal);line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,none);width:100%;word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205)));color:RGB(var(--now-form-field_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202)));color:RGB(var(--now-form-field_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-color_alert--info-0,195,221,240)));color:RGB(var(--now-form-field_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)));color:RGB(var(--now-form-field_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-form-field_message--suggestion--background-color-alpha,0));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{-webkit-margin-end:calc(var(--now-scale-space--xs, 1)*.25rem);display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.sn-dropdown{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid;border-color:RGB(var(--now-color--primary-2,23,100,82));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));left:auto;list-style:none;margin:-2px 0 0;padding:0;position:fixed;z-index:1000}.sn-dropdown-header{align-items:center;background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));display:flex;font-size:1rem;font-weight:600;overflow:hidden;padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);text-overflow:ellipsis;white-space:nowrap;width:100%}.sn-dropdown-header:after{content:\\\"\\\";display:block}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));list-style:none;margin:0;max-height:300px;overflow-x:hidden;overflow-y:auto;padding:0;position:relative;width:100%}.sn-dropdown-list-item{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));cursor:pointer;display:flex;font-size:.75rem;padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);position:relative;text-decoration:none}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list-item.is-focus,.sn-dropdown-list-item.is-hover,.sn-dropdown-list-item:focus,.sn-dropdown-list-item:hover{background:RGB(var(--now-color--secondary-0,217,235,238))}.sn-dropdown-list-item-content{align-items:center;display:inline-flex;flex:1 1 auto;flex-wrap:wrap;overflow:hidden;position:relative}.sn-dropdown-list-item-content>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-dropdown-list-item-content>span:after{content:\\\"\\\";display:block}.sn-dropdown-list-item-content .sn-secondary-delimiter{white-space:pre}.sn-dropdown-list-item-content .highlight{background-color:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--more,.65));font-weight:600}.sn-dropdown-list-item-title{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:1rem;position:relative;width:100%}.sn-dropdown-list-selected-icon{align-items:center;color:RGB(var(--now-color--secondary-1,1,119,142));display:flex;flex:0 0 auto;justify-content:center;width:.75rem}:host(:not([dir=rtl])) .sn-dropdown-list-selected-icon,:root:not([dir=rtl]) .sn-dropdown-list-selected-icon{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}:host([dir=rtl]) .sn-dropdown-list-selected-icon,:root[dir=rtl] .sn-dropdown-list-selected-icon{margin-left:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-el-input{-webkit-padding-end:calc(var(--now-scale-space--xs, 1)*.25rem);align-items:center;background:transparent;border:0;color:inherit;cursor:text;display:inline-flex;flex:1 1 auto;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;font-style:var(--now-form-field--font-style,normal);font-weight:var(--now-form-field--font-weight,normal);height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);margin:0;min-width:1px;padding:0;padding-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem);position:relative;text-transform:var(--now-form-field--text-transform,none);width:100%}.sn-el-input:focus{outline:none}.sn-el-input::-ms-clear{display:none}.sn-el-input:-moz-ui-invalid{box-shadow:none}.is-disabled .sn-el-input,.sn-el-input.is-disabled{cursor:not-allowed}.sn-el-input::-webkit-input-placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))),var(--now-opacity--most,.8))}.sn-el-input::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))),var(--now-opacity--most,.8))}.is-align-end .sn-el-input,.is-reversed .sn-el-input{text-align:end}.is-align-end-reversed .sn-el-input{text-align:start}.sn-el-input:read-only::-webkit-input-placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))),var(--now-opacity--more,.65))}.sn-el-input:-moz-read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))),var(--now-opacity--more,.65))}.sn-el-input:read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))),var(--now-opacity--more,.65))}now-textarea{display:inline}now-textarea.fit-to-parent{-webkit-padding-before:calc(var(--now-scale-space--sm, 1)*.5rem);-webkit-padding-after:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block:0;padding-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.fit-to-parent{block-size:100%}:not([type=textarea i]) .sn-control-field{height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.genius-card__about-popover{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;padding:.75rem 0}.genius-card__about-popover-link{font-size:.75rem;padding-top:.75rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{--classicsponlydonotuse--rem-multipy-ais:var( --classicsponlydonotuse--rem-multipy,1 )}.genius-card-footer-container-followup .genius-card-footer-followup{margin-bottom:.75rem}.genius-card-container{background-color:var(--card-background_color,RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));border:1px solid RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)));border-radius:.25rem;box-sizing:border-box;padding:1rem;position:relative}.genius-card-container.-onebox{border:none;border-radius:.5rem;box-shadow:0 .125rem .25rem 0 RGB(56,56,56,var(--now-opacity--less,.25));padding:1.5rem 1rem 1.5rem 1rem}.genius-card-container.-onebox.-global{box-shadow:none}.genius-card-container.-thumbnail{border:1px solid RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)));box-shadow:0 .125rem .25rem 0 RGB(56,56,56,var(--now-opacity--less,.25));cursor:pointer;height:7.25rem;max-width:11.5rem;min-width:11.5rem;overflow:hidden}.genius-card-container.-sythesized{border-image:linear-gradient(180deg,var(--synthesized-gr-gradient_color--top,RGB(var(--now-color_grouped--teal-3,88,148,139))) 0,var(--synthesized-gr-gradient_color--bottom,RGB(var(--now-color_grouped--green-1,185,200,171))) 100%) 1;border-left:.25rem solid;border-radius:.125rem;box-shadow:0 .125rem .25rem 0 RGB(56,56,56,var(--now-opacity--less,.25))!important;position:relative}.genius-card-container.-active{border:2px solid RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)))}.genius-card-header{display:flex;justify-content:space-between;margin-bottom:.25rem}.genius-card-header .genius-card-header__element .synthesized-gr-highlighted-text-container{display:flex;gap:.25rem}.genius-card-header .genius-card-header__element .synthesized-gr-highlighted-text-container .input-container-sparkle-icon{max-height:.9375rem;max-width:.9375rem}.genius-card-header .genius-card-header__element .synthesized-gr-highlighted-text-container .synthesized-gr-highlighted-text{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.genius-card-header__element{display:flex}.genius-card-header__element:first-of-type{margin-bottom:0;margin-top:0}:host(:not([dir=rtl])) .genius-card-header__element:first-of-type,:root:not([dir=rtl]) .genius-card-header__element:first-of-type{margin-right:.5rem}:host([dir=rtl]) .genius-card-header__element:first-of-type,:root[dir=rtl] .genius-card-header__element:first-of-type{margin-left:.5rem}:host(:not([dir=rtl])) .genius-card-header__element:first-of-type,:root:not([dir=rtl]) .genius-card-header__element:first-of-type{margin-left:0}:host([dir=rtl]) .genius-card-header__element:first-of-type,:root[dir=rtl] .genius-card-header__element:first-of-type{margin-right:0}.genius-card-header__element:nth-of-type(2){margin:0 0 0 .5rem}.genius-card-header__element .header-highlighted-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host(:not([dir=rtl])) .genius-card-header__element .genius-card-about-container,:root:not([dir=rtl]) .genius-card-header__element .genius-card-about-container{margin-left:.25rem}:host([dir=rtl]) .genius-card-header__element .genius-card-about-container,:root[dir=rtl] .genius-card-header__element .genius-card-about-container{margin-right:.25rem}.genius-card-header__feedback{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));font-size:.75rem;line-height:1.3333}:host(:not([dir=rtl])) .genius-card-header__feedback,:root:not([dir=rtl]) .genius-card-header__feedback{margin-right:.25rem}:host([dir=rtl]) .genius-card-header__feedback,:root[dir=rtl] .genius-card-header__feedback{margin-left:.25rem}:host(:not([dir=rtl])) .genius-card-header__feedback,:root:not([dir=rtl]) .genius-card-header__feedback{margin-left:.25rem}:host([dir=rtl]) .genius-card-header__feedback,:root[dir=rtl] .genius-card-header__feedback{margin-right:.25rem}.genius-card-header__feedback-separator{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));font-size:.75rem;line-height:1.3333}:host(:not([dir=rtl])) .genius-card-header__feedback-separator,:root:not([dir=rtl]) .genius-card-header__feedback-separator{margin-right:.25rem}:host([dir=rtl]) .genius-card-header__feedback-separator,:root[dir=rtl] .genius-card-header__feedback-separator{margin-left:.25rem}:host(:not([dir=rtl])) .genius-card-header__feedback-separator,:root:not([dir=rtl]) .genius-card-header__feedback-separator{margin-left:.25rem}:host([dir=rtl]) .genius-card-header__feedback-separator,:root[dir=rtl] .genius-card-header__feedback-separator{margin-right:.25rem}:host(:not([dir=rtl])) .genius-card-header__feedback-separator,:root:not([dir=rtl]) .genius-card-header__feedback-separator{margin-right:.5rem}:host([dir=rtl]) .genius-card-header__feedback-separator,:root[dir=rtl] .genius-card-header__feedback-separator{margin-left:.5rem}:host(:not([dir=rtl])) .genius-card-header__feedback-separator,:root:not([dir=rtl]) .genius-card-header__feedback-separator{margin-left:.5rem}:host([dir=rtl]) .genius-card-header__feedback-separator,:root[dir=rtl] .genius-card-header__feedback-separator{margin-right:.5rem}.genius-card-body{display:flex;height:auto}.genius-card-body.-min-height{min-height:8.79375rem}.genius-card__text{margin-top:.25rem}.genius-card__text:first-of-type{margin-top:0}.genius-card-body__column{display:flex;flex-direction:column;justify-content:flex-start}.genius-card-body__column:last-of-type{flex-grow:1}.genius-card-body__column.-truncate{overflow:hidden}.genius-card-feedback-wrapper{display:flex;justify-content:space-between}.genius-card-feedback-wrapper.margin-top{margin-top:.625rem}.genius-card-feedback-wrapper.align-content{align-items:center}.genius-card-feedback-wrapper.align-for-demo{flex-direction:column}.genius-card-footer-container{display:flex;flex-direction:column}.genius-card-footer{align-items:baseline;display:flex;width:80%}.genius-card-action-link-citation-control{align-items:center;display:flex;flex-direction:row}:host(:not([dir=rtl])) .genius-card-action-link-citation-control,:root:not([dir=rtl]) .genius-card-action-link-citation-control{margin-right:.5rem}:host([dir=rtl]) .genius-card-action-link-citation-control,:root[dir=rtl] .genius-card-action-link-citation-control{margin-left:.5rem}.genius-card-action-link-citation-control now-image{max-width:1.5625rem}.genius-card-action-link-citation-control now-text-link{line-height:3}.genius-card-action-label-mini{display:flex;flex-direction:row;margin-top:.25rem}.genius-card-action-label-mini .source-label{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));font-size:.75rem}.genius-card-action-label-mini .genius-card-action-citation-image-mini{padding-top:.25rem}:host(:not([dir=rtl])) .genius-card-action-label-mini .genius-card-action-citation-image-mini,:root:not([dir=rtl]) .genius-card-action-label-mini .genius-card-action-citation-image-mini{padding-left:.25rem}:host([dir=rtl]) .genius-card-action-label-mini .genius-card-action-citation-image-mini,:root[dir=rtl] .genius-card-action-label-mini .genius-card-action-citation-image-mini{padding-right:.25rem}.genius-card-action-label{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));font-size:.75rem}:host(:not([dir=rtl])) .genius-card-action-label,:root:not([dir=rtl]) .genius-card-action-label{padding-right:.25rem}:host([dir=rtl]) .genius-card-action-label,:root[dir=rtl] .genius-card-action-label{padding-left:.25rem}.genius-card-body-attachment{padding-bottom:1rem}.genius-card-footer-label{--now-button--bare--font-weight:400}:host(:not([dir=rtl])) .genius-card-action-link,:root:not([dir=rtl]) .genius-card-action-link{padding-right:.5rem}:host([dir=rtl]) .genius-card-action-link,:root[dir=rtl] .genius-card-action-link{padding-left:.5rem}.now-card-template{max-width:20rem;width:100%}.attachment-content__main{max-width:22.5rem;width:100%}.attachment-content__main-heading-link-icon{position:absolute;right:0}.attachment-content_card{display:flex;flex:1 1 auto;flex-direction:row;margin-top:.25rem;position:relative}:host(:not([dir=rtl])) .attachment-content_card,:root:not([dir=rtl]) .attachment-content_card{padding-left:.25rem}:host([dir=rtl]) .attachment-content_card,:root[dir=rtl] .attachment-content_card{padding-right:.25rem}:host(:not([dir=rtl])) .genius-card-action-link-image,:root:not([dir=rtl]) .genius-card-action-link-image{padding-right:.25rem}:host([dir=rtl]) .genius-card-action-link-image,:root[dir=rtl] .genius-card-action-link-image{padding-left:.25rem}:host(:not([dir=rtl])) .genius-card-action-link-image,:root:not([dir=rtl]) .genius-card-action-link-image{margin-left:.25rem}:host([dir=rtl]) .genius-card-action-link-image,:root[dir=rtl] .genius-card-action-link-image{margin-right:.25rem}.genius-card-footer__control{align-items:flex-start;display:flex;flex-direction:column;margin-bottom:0;margin-top:0}:host(:not([dir=rtl])) .genius-card-footer__control,:root:not([dir=rtl]) .genius-card-footer__control{margin-right:.5rem}:host([dir=rtl]) .genius-card-footer__control,:root[dir=rtl] .genius-card-footer__control{margin-left:.5rem}:host(:not([dir=rtl])) .genius-card-footer__control,:root:not([dir=rtl]) .genius-card-footer__control{margin-left:0}:host([dir=rtl]) .genius-card-footer__control,:root[dir=rtl] .genius-card-footer__control{margin-right:0}.genius-card-footer__control now-button-bare,.genius-card-footer__control now-text-link{font-size:.75rem}.genius-card-footer__control.-genius-links{align-items:center;flex-direction:row;width:100%}.genius-card-action-card{margin-top:.75rem}.genius-card-action-card-content{align-items:center;display:flex;flex-direction:row;height:2.5rem;width:100%}:host(:not([dir=rtl])) .genius-card-action-card-content now-image,:root:not([dir=rtl]) .genius-card-action-card-content now-image{margin-right:.5rem}:host([dir=rtl]) .genius-card-action-card-content now-image,:root[dir=rtl] .genius-card-action-card-content now-image{margin-left:.5rem}.genius-card-action-citation{-webkit-box-orient:vertical;display:-webkit-box;max-width:10.5rem;overflow:hidden;text-overflow:ellipsis}@media only screen and (max-width:576px){.genius-card-container{box-shadow:0 .125rem .25rem 0 RGB(56,56,56,var(--now-opacity--less,.25));height:100%}.genius-card-footer{flex-direction:column}.genius-card-footer>.genius-card-footer__control:not(:last-child){margin-bottom:.5rem}.genius-card-footer__control,.genius-card-footer__control now-button{width:100%}:host(:not([dir=rtl])) .genius-card-header__feedback,:root:not([dir=rtl]) .genius-card-header__feedback{margin-left:unset!important}:host([dir=rtl]) .genius-card-header__feedback,:root[dir=rtl] .genius-card-header__feedback{margin-right:unset!important}}@media only screen and (max-width:767px){.genius-card-body,.genius-card-footer-container,.genius-card-header{flex-direction:column}.genius-card-footer.-global{flex-direction:column;gap:.5rem}.genius-card-feedback-container{position:unset!important;top:unset!important}:host(:not([dir=rtl])) .genius-card-feedback-container,:root:not([dir=rtl]) .genius-card-feedback-container{right:unset!important}:host([dir=rtl]) .genius-card-feedback-container,:root[dir=rtl] .genius-card-feedback-container{left:unset!important}:host(:not([dir=rtl])) .genius-card-header__feedback.-global,:root:not([dir=rtl]) .genius-card-header__feedback.-global{margin-left:unset!important}:host([dir=rtl]) .genius-card-header__feedback.-global,:root[dir=rtl] .genius-card-header__feedback.-global{margin-right:unset!important}.genius-card-header__feedback-container{margin-top:.5rem}.genius-card__marker--avatar.-global,.genius-card__marker--icon.-global,.genius-card__marker--image.-global{margin-top:unset!important}.genius-card__identifier-text{margin-top:.5rem}.genius-card-header-section{display:block!important}}.genius-card-feedback-container{align-items:flex-end;bottom:1rem;display:flex;flex-direction:column}.genius-card-feedback-container.align-for-demo{flex-direction:row-reverse}.genius-card-header-section{display:inline}.genius-card-about-container{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));font-size:.75rem;line-height:1.3333}:host(:not([dir=rtl])) .genius-card-about-container .genius-card__about,:root:not([dir=rtl]) .genius-card-about-container .genius-card__about{margin-right:.25rem}:host([dir=rtl]) .genius-card-about-container .genius-card__about,:root[dir=rtl] .genius-card-about-container .genius-card__about{margin-left:.25rem}.genius-card-about-container .genius-card__about-separator{color:RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))}:host(:not([dir=rtl])) .genius-card-about-container .genius-card__about-separator,:root:not([dir=rtl]) .genius-card-about-container .genius-card__about-separator{margin-left:.5rem}:host([dir=rtl]) .genius-card-about-container .genius-card__about-separator,:root[dir=rtl] .genius-card-about-container .genius-card__about-separator{margin-right:.5rem}:host(:not([dir=rtl])) .genius-card-about-container .genius-card__about-separator,:root:not([dir=rtl]) .genius-card-about-container .genius-card__about-separator{margin-right:.5rem}:host([dir=rtl]) .genius-card-about-container .genius-card__about-separator,:root[dir=rtl] .genius-card-about-container .genius-card__about-separator{margin-left:.5rem}.genius-card__description{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.genius-card__description.-mini{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));font-size:.75rem}.genius-card__description-text{-webkit-line-clamp:2;margin-top:.5rem}.genius-card__description-text,.genius-card__description-text.-global{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.genius-card__description-text.-global{-webkit-line-clamp:14}.genius-card__description-text.genius-card__description-text-mini{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.genius-card__description-text:first-of-type{margin-top:0}.genius-card__description-font-size-sm{font-size:.75rem}.genius-card__description-font-size-md{font-size:1rem}.genius-card__description-font-size-lg{font-size:1.25rem}.genius-card__description-font-size-xl{font-size:1.5rem}.genius-card__description--stacked{margin:0;padding:0}.genius-card__description-container pre{white-space:pre-wrap}.genius-card__description-container table{display:flex;flex-direction:column;flex-grow:1;flex-shrink:1;flex-wrap:nowrap}.genius-card__description-container table p{margin:0}.genius-card__description-container tr{display:flex;flex-direction:row;flex-wrap:nowrap;width:100%}.genius-card__description-container td{display:flex;flex-basis:0;flex-flow:row wrap;flex-grow:1}.genius-card__description-container ol,.genius-card__description-container p{margin:0}.genius-card__description-container .description-wrapper{position:relative;width:100%}.genius-card__description-container .description-wrapper.-global{width:100ch}.genius-card__description-container .description-wrapper.-mini{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;width:100%}.genius-card__description-container .description-wrapper.-mini h1,.genius-card__description-container .description-wrapper.-mini h2,.genius-card__description-container .description-wrapper.-mini h3,.genius-card__description-container .description-wrapper.-mini h4,.genius-card__description-container .description-wrapper.-mini h5,.genius-card__description-container .description-wrapper.-mini h6{margin:0}.genius-card__description-container .description-wrapper.-collapsed{overflow:hidden}.genius-card__description-container .description-wrapper.-collapsed .collapsible__description-text{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.sythesized-text-wrapper .hand_over_to_va{margin:.5rem 0}.sythesized-text-wrapper .sythesized-text-container ol,.sythesized-text-wrapper .sythesized-text-container p,.sythesized-text-wrapper .sythesized-text-container ul{-webkit-margin-before:.5rem;-webkit-margin-after:.5rem;margin-block-end:.5rem;margin-block-start:.5rem}.sythesized-text-wrapper .sythesized-text-container.-collapsed{overflow:hidden}.sythesized-text-wrapper .sythesized-text-container.-collapsed .collapsible__description-text{-webkit-line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.sythesized-text-wrapper .buttons-container{align-items:center;display:flex;flex-direction:row;justify-content:flex-end}.sythesized-text-wrapper .buttons-container .show-more{margin-top:15px}:host(:not([dir=rtl])) .sythesized-text-wrapper .buttons-container .show-more,:root:not([dir=rtl]) .sythesized-text-wrapper .buttons-container .show-more{margin-right:auto}:host([dir=rtl]) .sythesized-text-wrapper .buttons-container .show-more,:root[dir=rtl] .sythesized-text-wrapper .buttons-container .show-more{margin-left:auto}.sythesized-text-wrapper .buttons-container.-global .show-more{margin-bottom:.5rem;margin-top:.5rem}.sythesized-text-wrapper .buttons-container .hand_over_to_va{margin:.5rem 0}:host(:not([dir=rtl])) .sythesized-text-wrapper .buttons-container.-global .hand_over_to_va,:root:not([dir=rtl]) .sythesized-text-wrapper .buttons-container.-global .hand_over_to_va{margin-left:auto}:host([dir=rtl]) .sythesized-text-wrapper .buttons-container.-global .hand_over_to_va,:root[dir=rtl] .sythesized-text-wrapper .buttons-container.-global .hand_over_to_va{margin-right:auto}.sythesized-text-wrapper .buttons-container .follow-up-btn-content{align-items:center;display:flex;gap:.25rem;white-space:nowrap}@media only screen and (max-width:1020px){.genius-card__description-container .description-wrapper,.genius-card__description-container .description-wrapper.-global{width:100%}}@media only screen and (max-width:576px){.sythesized-text-wrapper .buttons-container{align-items:flex-start;flex-direction:column}:host(:not([dir=rtl])) .sythesized-text-wrapper .buttons-container.-global .hand_over_to_va,:root:not([dir=rtl]) .sythesized-text-wrapper .buttons-container.-global .hand_over_to_va{margin-left:0}:host([dir=rtl]) .sythesized-text-wrapper .buttons-container.-global .hand_over_to_va,:root[dir=rtl] .sythesized-text-wrapper .buttons-container.-global .hand_over_to_va{margin-right:0}}.genius-card__heading-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:-webkit-box;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis}.genius-card__heading-text-mini,.genius-card__heading-text-onebox-mobile{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.genius-card__heading-font-size-sm{font-size:.75rem}.genius-card__heading-font-size-md{font-size:1rem}.genius-card__heading-font-size-lg{font-size:1.25rem}.genius-card__heading-font-size-xl{font-size:1.5rem}.genius-card__identifier,.genius-card__identifier-text{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.genius-card__identifier-text{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}:host(:not([dir=rtl])) .genius-card__identifier-text,:root:not([dir=rtl]) .genius-card__identifier-text{margin-right:.5rem}:host([dir=rtl]) .genius-card__identifier-text,:root[dir=rtl] .genius-card__identifier-text{margin-left:.5rem}:host(:not([dir=rtl])) .genius-card__identifier-text:last-of-type,:root:not([dir=rtl]) .genius-card__identifier-text:last-of-type{margin-right:0}:host([dir=rtl]) .genius-card__identifier-text:last-of-type,:root[dir=rtl] .genius-card__identifier-text:last-of-type{margin-left:0}.genius-card__identifier-text.genius-card__identifier-text--critical{color:RGB(var(--now-color_alert--critical-2,200,60,54))}.genius-card__identifier-text.-global{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.genius-card__identifier-text.-bottom-margin{margin-bottom:.5rem}.genius-card__identifier-font-size-sm{font-size:.75rem}.genius-card__identifier-font-size-md{font-size:1rem}.genius-card__identifier-font-size-lg{font-size:1.25rem}.genius-card__identifier-font-size-xl{font-size:1.5rem}.genius-card__label-values{margin-top:1rem}:host(:not([dir=rtl])) .genius-card__marker,:root:not([dir=rtl]) .genius-card__marker{margin-right:1rem}:host([dir=rtl]) .genius-card__marker,:root[dir=rtl] .genius-card__marker{margin-left:1rem}:host(:not([dir=rtl])) .genius-card__marker.-mini,:root:not([dir=rtl]) .genius-card__marker.-mini{margin-right:.5rem}:host([dir=rtl]) .genius-card__marker.-mini,:root[dir=rtl] .genius-card__marker.-mini{margin-left:.5rem}.genius-card__marker.genius-card__marker--icon{margin-top:1.75rem}:host(:not([dir=rtl])) .genius-card__marker.genius-card__marker--icon,:root:not([dir=rtl]) .genius-card__marker.genius-card__marker--icon{margin-left:1rem}:host([dir=rtl]) .genius-card__marker.genius-card__marker--icon,:root[dir=rtl] .genius-card__marker.genius-card__marker--icon{margin-right:1rem}:host(:not([dir=rtl])) .genius-card__marker.genius-card__marker--icon.-global,:root:not([dir=rtl]) .genius-card__marker.genius-card__marker--icon.-global{margin-left:.25rem!important}:host([dir=rtl]) .genius-card__marker.genius-card__marker--icon.-global,:root[dir=rtl] .genius-card__marker.genius-card__marker--icon.-global{margin-right:.25rem!important}.genius-card__marker.genius-card__marker--avatar.-global:not(.genius-card__marker.genius-card__marker--image.-mini,.genius-card__marker.genius-card__marker--avatar.-mini),.genius-card__marker.genius-card__marker--image.-global:not(.genius-card__marker.genius-card__marker--image.-mini,.genius-card__marker.genius-card__marker--avatar.-mini){margin-top:1.75rem}:host(:not([dir=rtl])) .genius-card__marker.genius-card__marker--avatar.-global:not(.genius-card__marker.genius-card__marker--image.-mini,.genius-card__marker.genius-card__marker--avatar.-mini),:host(:not([dir=rtl])) .genius-card__marker.genius-card__marker--image.-global:not(.genius-card__marker.genius-card__marker--image.-mini,.genius-card__marker.genius-card__marker--avatar.-mini),:root:not([dir=rtl]) .genius-card__marker.genius-card__marker--avatar.-global:not(.genius-card__marker.genius-card__marker--image.-mini,.genius-card__marker.genius-card__marker--avatar.-mini),:root:not([dir=rtl]) .genius-card__marker.genius-card__marker--image.-global:not(.genius-card__marker.genius-card__marker--image.-mini,.genius-card__marker.genius-card__marker--avatar.-mini){margin-left:.25rem}:host([dir=rtl]) .genius-card__marker.genius-card__marker--avatar.-global:not(.genius-card__marker.genius-card__marker--image.-mini,.genius-card__marker.genius-card__marker--avatar.-mini),:host([dir=rtl]) .genius-card__marker.genius-card__marker--image.-global:not(.genius-card__marker.genius-card__marker--image.-mini,.genius-card__marker.genius-card__marker--avatar.-mini),:root[dir=rtl] .genius-card__marker.genius-card__marker--avatar.-global:not(.genius-card__marker.genius-card__marker--image.-mini,.genius-card__marker.genius-card__marker--avatar.-mini),:root[dir=rtl] .genius-card__marker.genius-card__marker--image.-global:not(.genius-card__marker.genius-card__marker--image.-mini,.genius-card__marker.genius-card__marker--avatar.-mini){margin-right:.25rem}@media only screen and (max-width:576px){.genius-card__marker--icon{display:none}}.divider-primary{background-color:RGB(var(--now-color_divider--primary,var(--now-color--neutral-7,135,147,148)))}.divider-primary,.divider-secondary{height:1px;margin:0;padding:0;width:100%}.divider-secondary{background-color:RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))}.divider-tertiary{background:RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)));height:1px;margin:0;padding:0;width:100%}@media(forced-colors:active){.divider-primary,.divider-secondary,.divider-tertiary{background:canvastext!important}}.nlq-card-container{font-size:1rem}.nlq-card-container .pills-container{margin-top:1rem}.nlq-card-container .pills-container .choose-table-label{display:inline-block;margin-bottom:1rem}:host(:not([dir=rtl])) .nlq-card-container .pills-container .choose-table-label,:root:not([dir=rtl]) .nlq-card-container .pills-container .choose-table-label{margin-right:.5rem}:host([dir=rtl]) .nlq-card-container .pills-container .choose-table-label,:root[dir=rtl] .nlq-card-container .pills-container .choose-table-label{margin-left:.5rem}.nlq-card-container .preview-label{display:inline-block;margin:1rem 0}.nlq-card-container .record-list-container{margin:.75rem 0}.nlq-card-container .record-list-container .now-list-loading-container{align-items:center;display:flex;height:12.5rem;justify-content:center}.nlq-card-container .active-table-name{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.nlq-card-container .active-table-label{margin-bottom:-1rem}.nlq-card-container .nlq-gr-link{padding-left:1rem}.nlq-card-container span.nlq-multitable-dropdown{margin-right:1.5rem;width:13.5rem}.nlq-multitable{min-height:28.125rem}.nlq-multitable .record-list-container{align-items:center;display:flex;justify-content:center;min-height:15rem;width:100%}.nlq-multitable .record-list-container now-list{width:100%}.nlq-multitable .record-list-container now-loader{margin:auto}.nlq-multitable h3{margin:.75rem 0}.nlq-multitable p{margin-bottom:.5rem;margin-top:0}.nlq-multitable now-select{margin:0;width:13.5rem}.nlq-multitable .preview-label{margin:0}.nlq-multitable .nlq-error-body{align-items:center;display:flex;height:18.75rem;justify-content:center}.nlq-multitable .nlq-error-body .nlq-error-body-contents{height:2.5625rem;text-align:center;width:27.5rem}.nlq-multitable .nlq-error-body .nlq-error-body-contents now-icon{margin-right:.25rem;margin-top:-.25rem}.nlq-multitable .nlq-error-body .nlq-error-body-contents .nlq-error-title{font-size:1rem;font-weight:600}.nlq-multitable .nlq-error-body .nlq-error-body-contents .nlq-error-detail{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));font-size:.75rem;font-weight:400;margin-top:.5rem}:host{--synthesized-gr-gradient_color--top:var( --nass-synthesized-gr-gradient_color--top );--synthesized-gr-gradient_color--bottom:var( --nass-synthesized-gr-gradient_color--bottom );--synthesized-gr-sparkle-gradient_color--top:var( --nass-synthesized-gr-sparkle-gradient_color--top );--synthesized-gr-sparkle-gradient_color--bottom:var( --nass-synthesized-gr-sparkle-gradient_color--bottom );--card-background_color:var(--genius-card_color--background)}.genius-card-thumbnail{background-color:var(--card-background_color,RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))}.genius-card-thumbnail .genius-card-thumbnail-body{display:flex}.genius-card-thumbnail .genius-card-thumbnail-body .genius-card-body__column{display:flex;justify-content:flex-start}.genius-card-thumbnail .genius-card-header,.genius-card-thumbnail .genius-card_nlq__description-text{-webkit-line-clamp:1;-webkit-box-orient:vertical;color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));display:-webkit-box;font-size:.75rem;overflow:hidden;text-overflow:ellipsis}.genius-card-thumbnail .genius-card_nlq__description-text{display:block;margin-top:.25rem}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.popover-content-main .kb-card{min-width:9.375rem}.popover-content-main .kb-card .kb-card-container{display:flex;flex-direction:column;gap:.75rem}.popover-content-main .kb-card .kb-card-container .header{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));display:flex;gap:.25rem}.popover-content-main .kb-card .kb-card-container .header now-icon{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));line-height:1}.popover-content-main .kb-card .kb-card-container .header now-image{max-width:1.25rem}.popover-content-main .kg-card{min-width:9.375rem}.popover-content-main .kg-card .kg-card-container{display:flex;flex-direction:column;gap:.75rem}.popover-content-main .kg-card .kg-card-container .header{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));display:flex;gap:.25rem}.popover-content-main .kg-card .kg-card-container .header now-icon{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));line-height:1.5}.popover-content-main .kg-card .kg-card-container .header now-image{max-width:1.25rem}.popover-content-main .catalog-card{display:flex;flex-direction:row;max-width:35rem}.popover-content-main .catalog-card.-has-picture{gap:1rem}.popover-content-main .catalog-card.-has-picture .catalog-image now-image{height:100%}.popover-content-main .catalog-card .catalog-description{color:--now-color_text--primary;display:flex;flex-direction:column;gap:.75rem;justify-content:space-between;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popover-content-main .catalog-card .catalog-description .details{display:flex;flex-direction:column;gap:.5rem}.popover-content-main .catalog-card .catalog-description .details .header{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;font-size:1rem;font-weight:600;overflow:hidden;text-overflow:ellipsis}.popover-content-main .catalog-card .catalog-description .actions{display:flex;gap:.75rem}.popover-content-main .people-card{min-width:18.75rem;padding:0}.popover-content-main .people-card .header-container{display:flex;flex-direction:row;gap:1rem}.popover-content-main .people-card .header-container .title-container{display:flex;flex-direction:column;width:100%}.popover-content-main .people-card .header-container .title-container .name{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;font-size:1rem;font-weight:600;overflow:hidden;text-overflow:ellipsis}.popover-content-main .people-card .header-container .title-container .department{font-size:.75rem}.popover-content-main .people-card .header-container .title-container .info-container{margin-top:.75rem}.citation-popover .kb-trigger{background:none;border:none;border-radius:.25rem;cursor:pointer;padding:.125rem}.citation-popover .kb-trigger::-moz-focus-inner{border-style:none}.citation-popover .kb-trigger:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.citation-popover .kb-trigger:focus{outline:1px solid highlight}}.view-records-popover .header{display:flex;gap:.25rem}.view-records-popover .header,.view-records-popover .header now-icon{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.view-records-popover .header now-icon{line-height:1.5}.view-records-popover .popover-content ul{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;-webkit-padding-start:1rem;margin-block-end:.25rem;margin-block-start:.25rem;padding-inline-start:1rem}.view-records-popover .popover-content ul li::marker{color:RGB(var(--now-color--link-4,1,89,107))}.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text{padding-top:.5rem}.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text ol,.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text p,.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text ul{-webkit-margin-before:0;-webkit-margin-after:0;margin-block-end:0;margin-block-start:0}.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text li{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-block-start:.25rem}.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text ol,.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text ul{list-style-position:outside;margin-left:20px;padding-left:0}.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text ul,.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text ul ul,.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text ul ul ul,.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text ul ul ul ul,.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text ul ul ul ul ul{list-style-type:disc;margin-left:20px}.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text .ghost-ul{-webkit-margin-before:0;-webkit-margin-after:0;font-size:inherit;line-height:inherit;list-style-position:outside;list-style-type:disc;margin-block-end:0;margin-block-start:0;margin-left:20px;padding-left:0}.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text .ghost-ul.level-1{margin-left:40px}.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text .ghost-ul.level-2{margin-left:60px}.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text .ghost-ul.level-3{margin-left:80px}.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text .ghost-ul.level-4{margin-left:100px}.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text .ghost-li{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;margin:0;margin-block-end:.25rem;margin-block-start:.25rem;padding:0}.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text .ghost-dot{display:none}.streaming-text-and-action-wrapper .streaming-text-wrapper .buttons-container{align-items:center;display:flex;flex-direction:row;justify-content:flex-end}.streaming-text-and-action-wrapper .streaming-text-wrapper .buttons-container .show-more{margin-top:15px}:host(:not([dir=rtl])) .streaming-text-and-action-wrapper .streaming-text-wrapper .buttons-container .show-more,:root:not([dir=rtl]) .streaming-text-and-action-wrapper .streaming-text-wrapper .buttons-container .show-more{margin-right:auto}:host([dir=rtl]) .streaming-text-and-action-wrapper .streaming-text-wrapper .buttons-container .show-more,:root[dir=rtl] .streaming-text-and-action-wrapper .streaming-text-wrapper .buttons-container .show-more{margin-left:auto}.streaming-text-and-action-wrapper .streaming-text-wrapper .buttons-container.-global .show-more{margin-bottom:.5rem;margin-top:.5rem}.streaming-text-and-action-wrapper .hand_over_to_va{margin:.5rem 0}:host(:not([dir=rtl])) .streaming-text-and-action-wrapper .buttons-container.-global .hand_over_to_va,:root:not([dir=rtl]) .streaming-text-and-action-wrapper .buttons-container.-global .hand_over_to_va{margin-left:auto}:host([dir=rtl]) .streaming-text-and-action-wrapper .buttons-container.-global .hand_over_to_va,:root[dir=rtl] .streaming-text-and-action-wrapper .buttons-container.-global .hand_over_to_va{margin-right:auto}.streaming-text-and-action-wrapper .follow-up-btn-content{align-items:center;display:flex;gap:.25rem;white-space:nowrap}@media only screen and (max-width:576px){.streaming-text-and-action-wrapper .streaming-text-wrapper .buttons-container{align-items:flex-start;flex-direction:column}:host(:not([dir=rtl])) .streaming-text-and-action-wrapper .buttons-container.-global .hand_over_to_va,:root:not([dir=rtl]) .streaming-text-and-action-wrapper .buttons-container.-global .hand_over_to_va{margin-left:0}:host([dir=rtl]) .streaming-text-and-action-wrapper .buttons-container.-global .hand_over_to_va,:root[dir=rtl] .streaming-text-and-action-wrapper .buttons-container.-global .hand_over_to_va{margin-right:0}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{--classicsponlydonotuse--rem-multipy-ais:var( --classicsponlydonotuse--rem-multipy,1 )}.genius-card-footer-container-followup .genius-card-footer-followup{margin-bottom:.75rem}.genius-card-container{background-color:var(--card-background_color,RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));border:1px solid RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)));border-radius:.25rem;box-sizing:border-box;padding:1rem;position:relative}.genius-card-container.-onebox{border:none;border-radius:.5rem;box-shadow:0 .125rem .25rem 0 RGB(56,56,56,var(--now-opacity--less,.25));padding:1.5rem 1rem 1.5rem 1rem}.genius-card-container.-onebox.-global{box-shadow:none}.genius-card-container.-thumbnail{border:1px solid RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)));box-shadow:0 .125rem .25rem 0 RGB(56,56,56,var(--now-opacity--less,.25));cursor:pointer;height:7.25rem;max-width:11.5rem;min-width:11.5rem;overflow:hidden}.genius-card-container.-sythesized{border-image:linear-gradient(180deg,var(--synthesized-gr-gradient_color--top,RGB(var(--now-color_grouped--teal-3,88,148,139))) 0,var(--synthesized-gr-gradient_color--bottom,RGB(var(--now-color_grouped--green-1,185,200,171))) 100%) 1;border-left:.25rem solid;border-radius:.125rem;box-shadow:0 .125rem .25rem 0 RGB(56,56,56,var(--now-opacity--less,.25))!important;position:relative}.genius-card-container.-active{border:2px solid RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)))}.genius-card-header{display:flex;justify-content:space-between;margin-bottom:.25rem}.genius-card-header .genius-card-header__element .synthesized-gr-highlighted-text-container{display:flex;gap:.25rem}.genius-card-header .genius-card-header__element .synthesized-gr-highlighted-text-container .input-container-sparkle-icon{max-height:.9375rem;max-width:.9375rem}.genius-card-header .genius-card-header__element .synthesized-gr-highlighted-text-container .synthesized-gr-highlighted-text{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.genius-card-header__element{display:flex}.genius-card-header__element:first-of-type{margin-bottom:0;margin-top:0}:host(:not([dir=rtl])) .genius-card-header__element:first-of-type,:root:not([dir=rtl]) .genius-card-header__element:first-of-type{margin-right:.5rem}:host([dir=rtl]) .genius-card-header__element:first-of-type,:root[dir=rtl] .genius-card-header__element:first-of-type{margin-left:.5rem}:host(:not([dir=rtl])) .genius-card-header__element:first-of-type,:root:not([dir=rtl]) .genius-card-header__element:first-of-type{margin-left:0}:host([dir=rtl]) .genius-card-header__element:first-of-type,:root[dir=rtl] .genius-card-header__element:first-of-type{margin-right:0}.genius-card-header__element:nth-of-type(2){margin:0 0 0 .5rem}.genius-card-header__element .header-highlighted-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host(:not([dir=rtl])) .genius-card-header__element .genius-card-about-container,:root:not([dir=rtl]) .genius-card-header__element .genius-card-about-container{margin-left:.25rem}:host([dir=rtl]) .genius-card-header__element .genius-card-about-container,:root[dir=rtl] .genius-card-header__element .genius-card-about-container{margin-right:.25rem}.genius-card-header__feedback{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));font-size:.75rem;line-height:1.3333}:host(:not([dir=rtl])) .genius-card-header__feedback,:root:not([dir=rtl]) .genius-card-header__feedback{margin-right:.25rem}:host([dir=rtl]) .genius-card-header__feedback,:root[dir=rtl] .genius-card-header__feedback{margin-left:.25rem}:host(:not([dir=rtl])) .genius-card-header__feedback,:root:not([dir=rtl]) .genius-card-header__feedback{margin-left:.25rem}:host([dir=rtl]) .genius-card-header__feedback,:root[dir=rtl] .genius-card-header__feedback{margin-right:.25rem}.genius-card-header__feedback-separator{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));font-size:.75rem;line-height:1.3333}:host(:not([dir=rtl])) .genius-card-header__feedback-separator,:root:not([dir=rtl]) .genius-card-header__feedback-separator{margin-right:.25rem}:host([dir=rtl]) .genius-card-header__feedback-separator,:root[dir=rtl] .genius-card-header__feedback-separator{margin-left:.25rem}:host(:not([dir=rtl])) .genius-card-header__feedback-separator,:root:not([dir=rtl]) .genius-card-header__feedback-separator{margin-left:.25rem}:host([dir=rtl]) .genius-card-header__feedback-separator,:root[dir=rtl] .genius-card-header__feedback-separator{margin-right:.25rem}:host(:not([dir=rtl])) .genius-card-header__feedback-separator,:root:not([dir=rtl]) .genius-card-header__feedback-separator{margin-right:.5rem}:host([dir=rtl]) .genius-card-header__feedback-separator,:root[dir=rtl] .genius-card-header__feedback-separator{margin-left:.5rem}:host(:not([dir=rtl])) .genius-card-header__feedback-separator,:root:not([dir=rtl]) .genius-card-header__feedback-separator{margin-left:.5rem}:host([dir=rtl]) .genius-card-header__feedback-separator,:root[dir=rtl] .genius-card-header__feedback-separator{margin-right:.5rem}.genius-card-body{display:flex;height:auto}.genius-card-body.-min-height{min-height:8.79375rem}.genius-card__text{margin-top:.25rem}.genius-card__text:first-of-type{margin-top:0}.genius-card-body__column{display:flex;flex-direction:column;justify-content:flex-start}.genius-card-body__column:last-of-type{flex-grow:1}.genius-card-body__column.-truncate{overflow:hidden}.genius-card-feedback-wrapper{display:flex;justify-content:space-between}.genius-card-feedback-wrapper.margin-top{margin-top:.625rem}.genius-card-feedback-wrapper.align-content{align-items:center}.genius-card-feedback-wrapper.align-for-demo{flex-direction:column}.genius-card-footer-container{display:flex;flex-direction:column}.genius-card-footer{align-items:baseline;display:flex;width:80%}.genius-card-action-link-citation-control{align-items:center;display:flex;flex-direction:row}:host(:not([dir=rtl])) .genius-card-action-link-citation-control,:root:not([dir=rtl]) .genius-card-action-link-citation-control{margin-right:.5rem}:host([dir=rtl]) .genius-card-action-link-citation-control,:root[dir=rtl] .genius-card-action-link-citation-control{margin-left:.5rem}.genius-card-action-link-citation-control now-image{max-width:1.5625rem}.genius-card-action-link-citation-control now-text-link{line-height:3}.genius-card-action-label-mini{display:flex;flex-direction:row;margin-top:.25rem}.genius-card-action-label-mini .source-label{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));font-size:.75rem}.genius-card-action-label-mini .genius-card-action-citation-image-mini{padding-top:.25rem}:host(:not([dir=rtl])) .genius-card-action-label-mini .genius-card-action-citation-image-mini,:root:not([dir=rtl]) .genius-card-action-label-mini .genius-card-action-citation-image-mini{padding-left:.25rem}:host([dir=rtl]) .genius-card-action-label-mini .genius-card-action-citation-image-mini,:root[dir=rtl] .genius-card-action-label-mini .genius-card-action-citation-image-mini{padding-right:.25rem}.genius-card-action-label{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));font-size:.75rem}:host(:not([dir=rtl])) .genius-card-action-label,:root:not([dir=rtl]) .genius-card-action-label{padding-right:.25rem}:host([dir=rtl]) .genius-card-action-label,:root[dir=rtl] .genius-card-action-label{padding-left:.25rem}.genius-card-body-attachment{padding-bottom:1rem}.genius-card-footer-label{--now-button--bare--font-weight:400}:host(:not([dir=rtl])) .genius-card-action-link,:root:not([dir=rtl]) .genius-card-action-link{padding-right:.5rem}:host([dir=rtl]) .genius-card-action-link,:root[dir=rtl] .genius-card-action-link{padding-left:.5rem}.now-card-template{max-width:20rem;width:100%}.attachment-content__main{max-width:22.5rem;width:100%}.attachment-content__main-heading-link-icon{position:absolute;right:0}.attachment-content_card{display:flex;flex:1 1 auto;flex-direction:row;margin-top:.25rem;position:relative}:host(:not([dir=rtl])) .attachment-content_card,:root:not([dir=rtl]) .attachment-content_card{padding-left:.25rem}:host([dir=rtl]) .attachment-content_card,:root[dir=rtl] .attachment-content_card{padding-right:.25rem}:host(:not([dir=rtl])) .genius-card-action-link-image,:root:not([dir=rtl]) .genius-card-action-link-image{padding-right:.25rem}:host([dir=rtl]) .genius-card-action-link-image,:root[dir=rtl] .genius-card-action-link-image{padding-left:.25rem}:host(:not([dir=rtl])) .genius-card-action-link-image,:root:not([dir=rtl]) .genius-card-action-link-image{margin-left:.25rem}:host([dir=rtl]) .genius-card-action-link-image,:root[dir=rtl] .genius-card-action-link-image{margin-right:.25rem}.genius-card-footer__control{align-items:flex-start;display:flex;flex-direction:column;margin-bottom:0;margin-top:0}:host(:not([dir=rtl])) .genius-card-footer__control,:root:not([dir=rtl]) .genius-card-footer__control{margin-right:.5rem}:host([dir=rtl]) .genius-card-footer__control,:root[dir=rtl] .genius-card-footer__control{margin-left:.5rem}:host(:not([dir=rtl])) .genius-card-footer__control,:root:not([dir=rtl]) .genius-card-footer__control{margin-left:0}:host([dir=rtl]) .genius-card-footer__control,:root[dir=rtl] .genius-card-footer__control{margin-right:0}.genius-card-footer__control now-button-bare,.genius-card-footer__control now-text-link{font-size:.75rem}.genius-card-footer__control.-genius-links{align-items:center;flex-direction:row;width:100%}.genius-card-action-card{margin-top:.75rem}.genius-card-action-card-content{align-items:center;display:flex;flex-direction:row;height:2.5rem;width:100%}:host(:not([dir=rtl])) .genius-card-action-card-content now-image,:root:not([dir=rtl]) .genius-card-action-card-content now-image{margin-right:.5rem}:host([dir=rtl]) .genius-card-action-card-content now-image,:root[dir=rtl] .genius-card-action-card-content now-image{margin-left:.5rem}.genius-card-action-citation{-webkit-box-orient:vertical;display:-webkit-box;max-width:10.5rem;overflow:hidden;text-overflow:ellipsis}@media only screen and (max-width:576px){.genius-card-container{box-shadow:0 .125rem .25rem 0 RGB(56,56,56,var(--now-opacity--less,.25));height:100%}.genius-card-footer{flex-direction:column}.genius-card-footer>.genius-card-footer__control:not(:last-child){margin-bottom:.5rem}.genius-card-footer__control,.genius-card-footer__control now-button{width:100%}:host(:not([dir=rtl])) .genius-card-header__feedback,:root:not([dir=rtl]) .genius-card-header__feedback{margin-left:unset!important}:host([dir=rtl]) .genius-card-header__feedback,:root[dir=rtl] .genius-card-header__feedback{margin-right:unset!important}}@media only screen and (max-width:767px){.genius-card-body,.genius-card-footer-container,.genius-card-header{flex-direction:column}.genius-card-footer.-global{flex-direction:column;gap:.5rem}.genius-card-feedback-container{position:unset!important;top:unset!important}:host(:not([dir=rtl])) .genius-card-feedback-container,:root:not([dir=rtl]) .genius-card-feedback-container{right:unset!important}:host([dir=rtl]) .genius-card-feedback-container,:root[dir=rtl] .genius-card-feedback-container{left:unset!important}:host(:not([dir=rtl])) .genius-card-header__feedback.-global,:root:not([dir=rtl]) .genius-card-header__feedback.-global{margin-left:unset!important}:host([dir=rtl]) .genius-card-header__feedback.-global,:root[dir=rtl] .genius-card-header__feedback.-global{margin-right:unset!important}.genius-card-header__feedback-container{margin-top:.5rem}.genius-card__marker--avatar.-global,.genius-card__marker--icon.-global,.genius-card__marker--image.-global{margin-top:unset!important}.genius-card__identifier-text{margin-top:.5rem}.genius-card-header-section{display:block!important}}.genius-card-feedback-container{align-items:flex-end;bottom:1rem;display:flex;flex-direction:column}.genius-card-feedback-container.align-for-demo{flex-direction:row-reverse}.genius-card-header-section{display:inline}.genius-card-about-container{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));font-size:.75rem;line-height:1.3333}:host(:not([dir=rtl])) .genius-card-about-container .genius-card__about,:root:not([dir=rtl]) .genius-card-about-container .genius-card__about{margin-right:.25rem}:host([dir=rtl]) .genius-card-about-container .genius-card__about,:root[dir=rtl] .genius-card-about-container .genius-card__about{margin-left:.25rem}.genius-card-about-container .genius-card__about-separator{color:RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))}:host(:not([dir=rtl])) .genius-card-about-container .genius-card__about-separator,:root:not([dir=rtl]) .genius-card-about-container .genius-card__about-separator{margin-left:.5rem}:host([dir=rtl]) .genius-card-about-container .genius-card__about-separator,:root[dir=rtl] .genius-card-about-container .genius-card__about-separator{margin-right:.5rem}:host(:not([dir=rtl])) .genius-card-about-container .genius-card__about-separator,:root:not([dir=rtl]) .genius-card-about-container .genius-card__about-separator{margin-right:.5rem}:host([dir=rtl]) .genius-card-about-container .genius-card__about-separator,:root[dir=rtl] .genius-card-about-container .genius-card__about-separator{margin-left:.5rem}.genius-card__description{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.genius-card__description.-mini{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));font-size:.75rem}.genius-card__description-text{-webkit-line-clamp:2;margin-top:.5rem}.genius-card__description-text,.genius-card__description-text.-global{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.genius-card__description-text.-global{-webkit-line-clamp:14}.genius-card__description-text.genius-card__description-text-mini{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.genius-card__description-text:first-of-type{margin-top:0}.genius-card__description-font-size-sm{font-size:.75rem}.genius-card__description-font-size-md{font-size:1rem}.genius-card__description-font-size-lg{font-size:1.25rem}.genius-card__description-font-size-xl{font-size:1.5rem}.genius-card__description--stacked{margin:0;padding:0}.genius-card__description-container pre{white-space:pre-wrap}.genius-card__description-container table{display:flex;flex-direction:column;flex-grow:1;flex-shrink:1;flex-wrap:nowrap}.genius-card__description-container table p{margin:0}.genius-card__description-container tr{display:flex;flex-direction:row;flex-wrap:nowrap;width:100%}.genius-card__description-container td{display:flex;flex-basis:0;flex-flow:row wrap;flex-grow:1}.genius-card__description-container ol,.genius-card__description-container p{margin:0}.genius-card__description-container .description-wrapper{position:relative;width:100%}.genius-card__description-container .description-wrapper.-global{width:100ch}.genius-card__description-container .description-wrapper.-mini{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;width:100%}.genius-card__description-container .description-wrapper.-mini h1,.genius-card__description-container .description-wrapper.-mini h2,.genius-card__description-container .description-wrapper.-mini h3,.genius-card__description-container .description-wrapper.-mini h4,.genius-card__description-container .description-wrapper.-mini h5,.genius-card__description-container .description-wrapper.-mini h6{margin:0}.genius-card__description-container .description-wrapper.-collapsed{overflow:hidden}.genius-card__description-container .description-wrapper.-collapsed .collapsible__description-text{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.sythesized-text-wrapper .hand_over_to_va{margin:.5rem 0}.sythesized-text-wrapper .sythesized-text-container ol,.sythesized-text-wrapper .sythesized-text-container p,.sythesized-text-wrapper .sythesized-text-container ul{-webkit-margin-before:.5rem;-webkit-margin-after:.5rem;margin-block-end:.5rem;margin-block-start:.5rem}.sythesized-text-wrapper .sythesized-text-container.-collapsed{overflow:hidden}.sythesized-text-wrapper .sythesized-text-container.-collapsed .collapsible__description-text{-webkit-line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.sythesized-text-wrapper .buttons-container{align-items:center;display:flex;flex-direction:row;justify-content:flex-end}.sythesized-text-wrapper .buttons-container .show-more{margin-top:15px}:host(:not([dir=rtl])) .sythesized-text-wrapper .buttons-container .show-more,:root:not([dir=rtl]) .sythesized-text-wrapper .buttons-container .show-more{margin-right:auto}:host([dir=rtl]) .sythesized-text-wrapper .buttons-container .show-more,:root[dir=rtl] .sythesized-text-wrapper .buttons-container .show-more{margin-left:auto}.sythesized-text-wrapper .buttons-container.-global .show-more{margin-bottom:.5rem;margin-top:.5rem}.sythesized-text-wrapper .buttons-container .hand_over_to_va{margin:.5rem 0}:host(:not([dir=rtl])) .sythesized-text-wrapper .buttons-container.-global .hand_over_to_va,:root:not([dir=rtl]) .sythesized-text-wrapper .buttons-container.-global .hand_over_to_va{margin-left:auto}:host([dir=rtl]) .sythesized-text-wrapper .buttons-container.-global .hand_over_to_va,:root[dir=rtl] .sythesized-text-wrapper .buttons-container.-global .hand_over_to_va{margin-right:auto}.sythesized-text-wrapper .buttons-container .follow-up-btn-content{align-items:center;display:flex;gap:.25rem;white-space:nowrap}@media only screen and (max-width:1020px){.genius-card__description-container .description-wrapper,.genius-card__description-container .description-wrapper.-global{width:100%}}@media only screen and (max-width:576px){.sythesized-text-wrapper .buttons-container{align-items:flex-start;flex-direction:column}:host(:not([dir=rtl])) .sythesized-text-wrapper .buttons-container.-global .hand_over_to_va,:root:not([dir=rtl]) .sythesized-text-wrapper .buttons-container.-global .hand_over_to_va{margin-left:0}:host([dir=rtl]) .sythesized-text-wrapper .buttons-container.-global .hand_over_to_va,:root[dir=rtl] .sythesized-text-wrapper .buttons-container.-global .hand_over_to_va{margin-right:0}}.genius-card__heading-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:-webkit-box;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis}.genius-card__heading-text-mini,.genius-card__heading-text-onebox-mobile{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.genius-card__heading-font-size-sm{font-size:.75rem}.genius-card__heading-font-size-md{font-size:1rem}.genius-card__heading-font-size-lg{font-size:1.25rem}.genius-card__heading-font-size-xl{font-size:1.5rem}.genius-card__identifier,.genius-card__identifier-text{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.genius-card__identifier-text{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}:host(:not([dir=rtl])) .genius-card__identifier-text,:root:not([dir=rtl]) .genius-card__identifier-text{margin-right:.5rem}:host([dir=rtl]) .genius-card__identifier-text,:root[dir=rtl] .genius-card__identifier-text{margin-left:.5rem}:host(:not([dir=rtl])) .genius-card__identifier-text:last-of-type,:root:not([dir=rtl]) .genius-card__identifier-text:last-of-type{margin-right:0}:host([dir=rtl]) .genius-card__identifier-text:last-of-type,:root[dir=rtl] .genius-card__identifier-text:last-of-type{margin-left:0}.genius-card__identifier-text.genius-card__identifier-text--critical{color:RGB(var(--now-color_alert--critical-2,200,60,54))}.genius-card__identifier-text.-global{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.genius-card__identifier-text.-bottom-margin{margin-bottom:.5rem}.genius-card__identifier-font-size-sm{font-size:.75rem}.genius-card__identifier-font-size-md{font-size:1rem}.genius-card__identifier-font-size-lg{font-size:1.25rem}.genius-card__identifier-font-size-xl{font-size:1.5rem}.genius-card__label-values{margin-top:1rem}:host(:not([dir=rtl])) .genius-card__marker,:root:not([dir=rtl]) .genius-card__marker{margin-right:1rem}:host([dir=rtl]) .genius-card__marker,:root[dir=rtl] .genius-card__marker{margin-left:1rem}:host(:not([dir=rtl])) .genius-card__marker.-mini,:root:not([dir=rtl]) .genius-card__marker.-mini{margin-right:.5rem}:host([dir=rtl]) .genius-card__marker.-mini,:root[dir=rtl] .genius-card__marker.-mini{margin-left:.5rem}.genius-card__marker.genius-card__marker--icon{margin-top:1.75rem}:host(:not([dir=rtl])) .genius-card__marker.genius-card__marker--icon,:root:not([dir=rtl]) .genius-card__marker.genius-card__marker--icon{margin-left:1rem}:host([dir=rtl]) .genius-card__marker.genius-card__marker--icon,:root[dir=rtl] .genius-card__marker.genius-card__marker--icon{margin-right:1rem}:host(:not([dir=rtl])) .genius-card__marker.genius-card__marker--icon.-global,:root:not([dir=rtl]) .genius-card__marker.genius-card__marker--icon.-global{margin-left:.25rem!important}:host([dir=rtl]) .genius-card__marker.genius-card__marker--icon.-global,:root[dir=rtl] .genius-card__marker.genius-card__marker--icon.-global{margin-right:.25rem!important}.genius-card__marker.genius-card__marker--avatar.-global:not(.genius-card__marker.genius-card__marker--image.-mini,.genius-card__marker.genius-card__marker--avatar.-mini),.genius-card__marker.genius-card__marker--image.-global:not(.genius-card__marker.genius-card__marker--image.-mini,.genius-card__marker.genius-card__marker--avatar.-mini){margin-top:1.75rem}:host(:not([dir=rtl])) .genius-card__marker.genius-card__marker--avatar.-global:not(.genius-card__marker.genius-card__marker--image.-mini,.genius-card__marker.genius-card__marker--avatar.-mini),:host(:not([dir=rtl])) .genius-card__marker.genius-card__marker--image.-global:not(.genius-card__marker.genius-card__marker--image.-mini,.genius-card__marker.genius-card__marker--avatar.-mini),:root:not([dir=rtl]) .genius-card__marker.genius-card__marker--avatar.-global:not(.genius-card__marker.genius-card__marker--image.-mini,.genius-card__marker.genius-card__marker--avatar.-mini),:root:not([dir=rtl]) .genius-card__marker.genius-card__marker--image.-global:not(.genius-card__marker.genius-card__marker--image.-mini,.genius-card__marker.genius-card__marker--avatar.-mini){margin-left:.25rem}:host([dir=rtl]) .genius-card__marker.genius-card__marker--avatar.-global:not(.genius-card__marker.genius-card__marker--image.-mini,.genius-card__marker.genius-card__marker--avatar.-mini),:host([dir=rtl]) .genius-card__marker.genius-card__marker--image.-global:not(.genius-card__marker.genius-card__marker--image.-mini,.genius-card__marker.genius-card__marker--avatar.-mini),:root[dir=rtl] .genius-card__marker.genius-card__marker--avatar.-global:not(.genius-card__marker.genius-card__marker--image.-mini,.genius-card__marker.genius-card__marker--avatar.-mini),:root[dir=rtl] .genius-card__marker.genius-card__marker--image.-global:not(.genius-card__marker.genius-card__marker--image.-mini,.genius-card__marker.genius-card__marker--avatar.-mini){margin-right:.25rem}@media only screen and (max-width:576px){.genius-card__marker--icon{display:none}}.divider-primary{background-color:RGB(var(--now-color_divider--primary,var(--now-color--neutral-7,135,147,148)))}.divider-primary,.divider-secondary{height:1px;margin:0;padding:0;width:100%}.divider-secondary{background-color:RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))}.divider-tertiary{background:RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)));height:1px;margin:0;padding:0;width:100%}@media(forced-colors:active){.divider-primary,.divider-secondary,.divider-tertiary{background:canvastext!important}}.nlq-card-container{font-size:1rem}.nlq-card-container .pills-container{margin-top:1rem}.nlq-card-container .pills-container .choose-table-label{display:inline-block;margin-bottom:1rem}:host(:not([dir=rtl])) .nlq-card-container .pills-container .choose-table-label,:root:not([dir=rtl]) .nlq-card-container .pills-container .choose-table-label{margin-right:.5rem}:host([dir=rtl]) .nlq-card-container .pills-container .choose-table-label,:root[dir=rtl] .nlq-card-container .pills-container .choose-table-label{margin-left:.5rem}.nlq-card-container .preview-label{display:inline-block;margin:1rem 0}.nlq-card-container .record-list-container{margin:.75rem 0}.nlq-card-container .record-list-container .now-list-loading-container{align-items:center;display:flex;height:12.5rem;justify-content:center}.nlq-card-container .active-table-name{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.nlq-card-container .active-table-label{margin-bottom:-1rem}.nlq-card-container .nlq-gr-link{padding-left:1rem}.nlq-card-container span.nlq-multitable-dropdown{margin-right:1.5rem;width:13.5rem}.nlq-multitable{min-height:28.125rem}.nlq-multitable .record-list-container{align-items:center;display:flex;justify-content:center;min-height:15rem;width:100%}.nlq-multitable .record-list-container now-list{width:100%}.nlq-multitable .record-list-container now-loader{margin:auto}.nlq-multitable h3{margin:.75rem 0}.nlq-multitable p{margin-bottom:.5rem;margin-top:0}.nlq-multitable now-select{margin:0;width:13.5rem}.nlq-multitable .preview-label{margin:0}.nlq-multitable .nlq-error-body{align-items:center;display:flex;height:18.75rem;justify-content:center}.nlq-multitable .nlq-error-body .nlq-error-body-contents{height:2.5625rem;text-align:center;width:27.5rem}.nlq-multitable .nlq-error-body .nlq-error-body-contents now-icon{margin-right:.25rem;margin-top:-.25rem}.nlq-multitable .nlq-error-body .nlq-error-body-contents .nlq-error-title{font-size:1rem;font-weight:600}.nlq-multitable .nlq-error-body .nlq-error-body-contents .nlq-error-detail{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));font-size:.75rem;font-weight:400;margin-top:.5rem}:host{--synthesized-gr-gradient_color--top:var( --nass-synthesized-gr-gradient_color--top );--synthesized-gr-gradient_color--bottom:var( --nass-synthesized-gr-gradient_color--bottom );--synthesized-gr-sparkle-gradient_color--top:var( --nass-synthesized-gr-sparkle-gradient_color--top );--synthesized-gr-sparkle-gradient_color--bottom:var( --nass-synthesized-gr-sparkle-gradient_color--bottom );--card-background_color:var(--genius-card_color--background)}.genius-card-thumbnail{background-color:var(--card-background_color,RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))}.genius-card-thumbnail .genius-card-thumbnail-body{display:flex}.genius-card-thumbnail .genius-card-thumbnail-body .genius-card-body__column{display:flex;justify-content:flex-start}.genius-card-thumbnail .genius-card-header,.genius-card-thumbnail .genius-card_nlq__description-text{-webkit-line-clamp:1;-webkit-box-orient:vertical;color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));display:-webkit-box;font-size:.75rem;overflow:hidden;text-overflow:ellipsis}.genius-card-thumbnail .genius-card_nlq__description-text{display:block;margin-top:.25rem}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.popover-content-main .kb-card{min-width:9.375rem}.popover-content-main .kb-card .kb-card-container{display:flex;flex-direction:column;gap:.75rem}.popover-content-main .kb-card .kb-card-container .header{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));display:flex;gap:.25rem}.popover-content-main .kb-card .kb-card-container .header now-icon{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));line-height:1}.popover-content-main .kb-card .kb-card-container .header now-image{max-width:1.25rem}.popover-content-main .kg-card{min-width:9.375rem}.popover-content-main .kg-card .kg-card-container{display:flex;flex-direction:column;gap:.75rem}.popover-content-main .kg-card .kg-card-container .header{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));display:flex;gap:.25rem}.popover-content-main .kg-card .kg-card-container .header now-icon{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));line-height:1.5}.popover-content-main .kg-card .kg-card-container .header now-image{max-width:1.25rem}.popover-content-main .catalog-card{display:flex;flex-direction:row;max-width:35rem}.popover-content-main .catalog-card.-has-picture{gap:1rem}.popover-content-main .catalog-card.-has-picture .catalog-image now-image{height:100%}.popover-content-main .catalog-card .catalog-description{color:--now-color_text--primary;display:flex;flex-direction:column;gap:.75rem;justify-content:space-between;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popover-content-main .catalog-card .catalog-description .details{display:flex;flex-direction:column;gap:.5rem}.popover-content-main .catalog-card .catalog-description .details .header{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;font-size:1rem;font-weight:600;overflow:hidden;text-overflow:ellipsis}.popover-content-main .catalog-card .catalog-description .actions{display:flex;gap:.75rem}.popover-content-main .people-card{min-width:18.75rem;padding:0}.popover-content-main .people-card .header-container{display:flex;flex-direction:row;gap:1rem}.popover-content-main .people-card .header-container .title-container{display:flex;flex-direction:column;width:100%}.popover-content-main .people-card .header-container .title-container .name{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;font-size:1rem;font-weight:600;overflow:hidden;text-overflow:ellipsis}.popover-content-main .people-card .header-container .title-container .department{font-size:.75rem}.popover-content-main .people-card .header-container .title-container .info-container{margin-top:.75rem}.citation-popover .kb-trigger{background:none;border:none;border-radius:.25rem;cursor:pointer;padding:.125rem}.citation-popover .kb-trigger::-moz-focus-inner{border-style:none}.citation-popover .kb-trigger:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.citation-popover .kb-trigger:focus{outline:1px solid highlight}}.view-records-popover .header{display:flex;gap:.25rem}.view-records-popover .header,.view-records-popover .header now-icon{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.view-records-popover .header now-icon{line-height:1.5}.view-records-popover .popover-content ul{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;-webkit-padding-start:1rem;margin-block-end:.25rem;margin-block-start:.25rem;padding-inline-start:1rem}.view-records-popover .popover-content ul li::marker{color:RGB(var(--now-color--link-4,1,89,107))}.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text{padding-top:.5rem}.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text ol,.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text p,.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text ul{-webkit-margin-before:0;-webkit-margin-after:0;margin-block-end:0;margin-block-start:0}.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text li{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-block-start:.25rem}.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text ol,.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text ul{list-style-position:outside;margin-left:20px;padding-left:0}.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text ul,.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text ul ul,.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text ul ul ul,.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text ul ul ul ul,.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text ul ul ul ul ul{list-style-type:disc;margin-left:20px}.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text .ghost-ul{-webkit-margin-before:0;-webkit-margin-after:0;font-size:inherit;line-height:inherit;list-style-position:outside;list-style-type:disc;margin-block-end:0;margin-block-start:0;margin-left:20px;padding-left:0}.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text .ghost-ul.level-1{margin-left:40px}.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text .ghost-ul.level-2{margin-left:60px}.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text .ghost-ul.level-3{margin-left:80px}.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text .ghost-ul.level-4{margin-left:100px}.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text .ghost-li{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;margin:0;margin-block-end:.25rem;margin-block-start:.25rem;padding:0}.streaming-text-and-action-wrapper .streaming-text-wrapper .streaming-text-container .streaming-text .ghost-dot{display:none}.streaming-text-and-action-wrapper .streaming-text-wrapper .buttons-container{align-items:center;display:flex;flex-direction:row;justify-content:flex-end}.streaming-text-and-action-wrapper .streaming-text-wrapper .buttons-container .show-more{margin-top:15px}:host(:not([dir=rtl])) .streaming-text-and-action-wrapper .streaming-text-wrapper .buttons-container .show-more,:root:not([dir=rtl]) .streaming-text-and-action-wrapper .streaming-text-wrapper .buttons-container .show-more{margin-right:auto}:host([dir=rtl]) .streaming-text-and-action-wrapper .streaming-text-wrapper .buttons-container .show-more,:root[dir=rtl] .streaming-text-and-action-wrapper .streaming-text-wrapper .buttons-container .show-more{margin-left:auto}.streaming-text-and-action-wrapper .streaming-text-wrapper .buttons-container.-global .show-more{margin-bottom:.5rem;margin-top:.5rem}.streaming-text-and-action-wrapper .hand_over_to_va{margin:.5rem 0}:host(:not([dir=rtl])) .streaming-text-and-action-wrapper .buttons-container.-global .hand_over_to_va,:root:not([dir=rtl]) .streaming-text-and-action-wrapper .buttons-container.-global .hand_over_to_va{margin-left:auto}:host([dir=rtl]) .streaming-text-and-action-wrapper .buttons-container.-global .hand_over_to_va,:root[dir=rtl] .streaming-text-and-action-wrapper .buttons-container.-global .hand_over_to_va{margin-right:auto}.streaming-text-and-action-wrapper .follow-up-btn-content{align-items:center;display:flex;gap:.25rem;white-space:nowrap}@media only screen and (max-width:576px){.streaming-text-and-action-wrapper .streaming-text-wrapper .buttons-container{align-items:flex-start;flex-direction:column}:host(:not([dir=rtl])) .streaming-text-and-action-wrapper .buttons-container.-global .hand_over_to_va,:root:not([dir=rtl]) .streaming-text-and-action-wrapper .buttons-container.-global .hand_over_to_va{margin-left:0}:host([dir=rtl]) .streaming-text-and-action-wrapper .buttons-container.-global .hand_over_to_va,:root[dir=rtl] .streaming-text-and-action-wrapper .buttons-container.-global .hand_over_to_va{margin-right:0}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:var(--now-font-size--md1,1rem)}.now-heading--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-heading--xl{font-size:var(--now-font-size--xl,2.5rem)}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:var(--now-font-size--sm,.75rem)}.now-text--md{font-size:var(--now-font-size--md1,1rem)}.now-text--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.now-align{display:flex}.now-align.-row.-reverse{flex-direction:row-reverse}.now-align.-column{flex-direction:column}.now-align.-column.-reverse{flex-direction:column-reverse}.now-align.-wrap{flex-wrap:wrap}.now-align.-inline{justify-content:space-between}.now-align.-inline-center{justify-content:center}.now-align.-inline-end{justify-content:flex-end}.now-align.-block-start{align-items:flex-start}.now-align.-block-center{align-items:center}.now-align.-block-end{align-items:flex-end}.loading-steps-container{height:1.875rem;overflow:hidden;position:relative;width:100%}.loading-step{animation:slideUp 8s infinite;bottom:0;font-size:1rem;height:1.875rem;left:0;line-height:1.875rem;opacity:0;position:absolute;text-align:center;width:100%}.loading-step:first-child{animation-delay:0s}.loading-step:nth-child(2){animation-delay:2s}.loading-step:nth-child(3){animation-delay:4s}.loading-step:nth-child(4){animation-delay:6s}@keyframes slideUp{0%,20%{opacity:0;transform:translateY(30px)}25%,45%{opacity:1;transform:translateY(0)}50%,70%{opacity:1;transform:translateY(-30px)}75%,to{opacity:0;transform:translateY(-60px)}}.genius-results-loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;width:100%}.genius-results-loading-container .bubble-loader{height:7.8125rem;width:7.8125rem}:host{--synthesized-gr-gradient_color--top:var(--nass-synthesized-gr-gradient_color--top);--synthesized-gr-gradient_color--bottom:var(--nass-synthesized-gr-gradient_color--bottom);--card-background_color:var(--genius-card_color--background)}.synthesized-genius-results-loading-container{display:flex;flex-direction:column;width:100%}.synthesized-genius-results-loading-container .header{align-items:center;display:flex;width:100%}:host(:not([dir=rtl])) .synthesized-genius-results-loading-container .header now-carousel-text,:root:not([dir=rtl]) .synthesized-genius-results-loading-container .header now-carousel-text{margin-left:.5rem}:host([dir=rtl]) .synthesized-genius-results-loading-container .header now-carousel-text,:root[dir=rtl] .synthesized-genius-results-loading-container .header now-carousel-text{margin-right:.5rem}.synthesized-genius-results-loading-container .skeleton-loader{display:flex;flex-direction:column;gap:10px;inline-size:60vw;margin-top:1rem;max-inline-size:600px;text-align:center}@keyframes skeleton-loader-bones-animation{0%{background-color:RGBA(var(--now-color--neutral-2,228,230,231),1)}50%{background-color:RGBA(var(--now-color--neutral-2,228,230,231),.45)}to{background-color:RGBA(var(--now-color--neutral-2,228,230,231),1)}}.synthesized-genius-results-loading-container .skeleton-loader .skeleton-bone{animation-duration:1.5s;animation-iteration-count:infinite;animation-name:skeleton-loader-bones-animation;animation-timing-function:ease-in-out;background-color:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)));block-size:20px;border-radius:50px;display:flex}.synthesized-genius-results-loading-container .skeleton-loader :first-child{animation-delay:0ms;inline-size:100%}.synthesized-genius-results-loading-container .skeleton-loader :nth-child(2){animation-delay:50ms;inline-size:80%}.synthesized-genius-results-loading-container .skeleton-loader :nth-child(3){animation-delay:.1s;inline-size:60%}:host{--carousel-color:var(--carousel-background-color);--carousel-loading-color:var(--carousel-loading-background-color);display:flex;width:100%}now-button-bare{flex:0;max-width:250px;width:100%}.now-data-row-header{align-items:center;display:flex;flex:1;justify-content:space-between;padding-bottom:.75rem}.now-data-row-view-more{font-size:.75rem;min-width:55px}now-template-message-empty-state{align-items:center;border:RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))) solid .125rem;display:flex;justify-content:center;margin-bottom:.75rem;min-height:150px;width:100%}.gr-carousel-container{background-color:var(--carousel-color,RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));display:flex;flex-direction:column;margin-bottom:.75rem}.gr-carousel-container.-is-global{background-color:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))}.gr-carousel-container.-loading{align-items:flex-start;background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border-image:linear-gradient(180deg,var(--synthesized-gr-gradient_color--top,RGB(var(--now-color_grouped--teal-3,88,148,139))) 0,var(--synthesized-gr-gradient_color--bottom,RGB(var(--now-color_grouped--green-1,185,200,171))) 100%) 1;border-left:4px solid transparent;border-left:.25rem solid;box-shadow:0 .125rem .25rem 0 RGB(56,56,56,var(--now-opacity--less,.25))!important;height:auto;justify-content:flex-start;padding:1.5rem}.gr-carousel-container.-mobile{background-color:transparent;border-radius:0;box-shadow:none}.gr-carousel-container .now-data-row-root-element.-horizontal{width:100%}.gr-carousel-container .now-data-row-root-element.-horizontal .now-data-row-container{grid-gap:.75rem;display:grid;grid-auto-columns:var(--now-data-row-min-card-width);grid-auto-flow:column;grid-template-columns:repeat(var(--now-data-row-max-visible-cards),var(--now-data-row-min-card-width));margin:1rem 0;overflow-x:auto;-webkit-scroll-snap-type:x proximity;scroll-snap-type:x proximity}.gr-carousel-container .now-data-row-root-element.-horizontal .now-data-row-container.-overflow-clip{overflow-x:clip}.gr-carousel-container .now-data-row-root-element.-horizontal .now-data-row-container>:not(now-template-message-empty-state){flex-shrink:0;width:inherit}:host(:not([dir=rtl])) .gr-carousel-container .now-data-row-root-element.-horizontal .now-data-row-container>:not(now-template-message-empty-state),:root:not([dir=rtl]) .gr-carousel-container .now-data-row-root-element.-horizontal .now-data-row-container>:not(now-template-message-empty-state){margin-right:.75rem}:host([dir=rtl]) .gr-carousel-container .now-data-row-root-element.-horizontal .now-data-row-container>:not(now-template-message-empty-state),:root[dir=rtl] .gr-carousel-container .now-data-row-root-element.-horizontal .now-data-row-container>:not(now-template-message-empty-state){margin-left:.75rem}.gr-carousel-container .now-data-row-root-element.-horizontal .now-data-row-container.-is-empty{display:flex;flex-wrap:nowrap;margin-bottom:.75rem;overflow-x:auto}.gr-carousel-container .now-data-row-root-element.-horizontal .now-data-row-header{padding-left:3px;padding-right:calc(var(--now-data-row-container-remainder-width) + 3px)}.gr-carousel-container .now-data-row-root-element.-vertical{width:100%}.gr-carousel-container .now-data-row-root-element.-vertical .now-data-row-container{align-items:center;display:flex;flex-direction:column;flex-wrap:nowrap}.gr-carousel-container .now-data-row-root-element.-vertical .now-data-row-footer{display:flex;justify-content:center;padding-bottom:.75rem}.gr-carousel-container .now-data-row-root-element.-vertical .now-data-row-container>:not(now-template-message-empty-state){margin-bottom:.75rem;width:100%}.gr-carousel-container .now-data-row-root-element .now-content-card-size-sm{height:176px}.gr-carousel-container .now-data-row-root-element .now-content-card-size-md{height:218px}.gr-carousel-container .now-data-row-root-element .now-content-card-size-lg{height:260px}@media only screen and (max-width:576px){.gr-carousel-container{background:transparent;border:none;box-shadow:none}.gr-carousel-container .now-data-row-root-element.-horizontal{border-top:none}.gr-carousel-container .now-data-row-root-element.-horizontal .now-data-row-container{width:calc(100vw - 66px)}.gr-carousel-container .now-data-row-root-element.-horizontal .now-data-row-container sn-carousel *{max-width:65vw!important;min-width:65vw!important}}sn-declarative-mediator{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{--synthesized-gr-gradient_color--top:var(--nass-synthesized-gr-gradient_color--top);--synthesized-gr-gradient_color--bottom:var(--nass-synthesized-gr-gradient_color--bottom);--carousel-color:var(--carousel-background-color);--carousel-loading-color:var(--carousel-loading-background-color);--card-background_color:var(--genius-card_color--background)}.loading-steps-container{height:1.875rem;overflow:hidden;position:relative;width:100%}.loading-step{animation:slideUp 8s infinite;bottom:0;font-size:1rem;height:1.875rem;left:0;line-height:1.875rem;opacity:0;position:absolute;text-align:center;width:100%}.loading-step:first-child{animation-delay:0s}.loading-step:nth-child(2){animation-delay:2s}.loading-step:nth-child(3){animation-delay:4s}.loading-step:nth-child(4){animation-delay:6s}@keyframes slideUp{0%,20%{opacity:0;transform:translateY(30px)}25%,45%{opacity:1;transform:translateY(0)}50%,70%{opacity:1;transform:translateY(-30px)}75%,to{opacity:0;transform:translateY(-60px)}}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;width:100%}.loading-container .skeleton-loading-container{flex:2;padding:.5rem;width:100%}.loading-container .skeleton-loading-container .animated-background:last-child{width:75%}@keyframes placeHolderShimmer{0%{background-position:-50rem 0}to{background-position:50rem 0}}.animated-background{animation-duration:3s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeHolderShimmer;animation-timing-function:linear;background:linear-gradient(-45deg,rgba(var(--now-color--neutral-5,172,180,181),.8) 0,rgba(var(--now-color--neutral-5,172,180,181),0) 50%,rgba(var(--now-color--neutral-5,172,180,181),.8) 100%);background-size:50rem 1rem;border-radius:.5rem;height:1rem;position:relative}@media screen and (max-width:1140px){.loading-container{flex-direction:column}.loading-container .skeleton-loading-container{margin-top:.75rem}}.topics-card{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border-radius:.5rem;box-shadow:0 .125rem .25rem 0 RGB(56,56,56,var(--now-opacity--less,.25));min-height:296px;padding:1.5rem 1.5rem 2.5rem 1.5rem;width:332px}.topics-card.-loading{background-color:transparent;box-shadow:none;min-height:auto;padding:0}.topics-container .topics-header-text{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:1rem;font-weight:600}.topics-container .topics-content{column-gap:.5rem;display:flex;flex-direction:column;padding-top:.25rem}.topics-container .topics-content .topic-button{padding-top:.75rem}.topics-container.no-card{align-items:center;background-color:transparent;display:flex;flex-direction:column;width:100%}.topics-container.no-card .topics-content{display:flex;flex-direction:row;justify-content:center}@media only screen and (max-width:1140px){.topics-card{min-height:auto;width:100%}.topics-card.no-card{width:100%}.topics-container .topics-content{display:flex;flex-direction:row;flex-wrap:wrap}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.top-results-wrapper{display:flex;flex-direction:column}.top-results-wrapper.-center{align-items:center}.top-results-wrapper.-center .result-info-container{width:100%}.top-results-wrapper .result-info-container{font-size:1rem;margin-bottom:.5rem}.top-results-wrapper .top-results-container{display:flex;justify-content:space-between;width:100%}.top-results-wrapper .top-results-container.-center{justify-content:center}.top-results-wrapper .top-results-container .carousel-wrapper{width:100%}.top-results-wrapper .top-results-container .carousel-wrapper .result-info-container{font-size:1rem;margin-bottom:.5rem}.top-results-wrapper .top-results-container .carousel-wrapper.margin-right{margin-right:1rem}@media only screen and (max-width:1140px){.top-results-wrapper{display:block;width:100%}.top-results-wrapper .top-results-container{display:flex;flex-direction:column}.top-results-wrapper .top-results-container .carousel-wrapper{width:100%}.top-results-wrapper .top-results-container .topics-card{height:auto;margin-top:.75rem;width:100%}}.empty-state-wrapper{align-items:center;background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border-radius:.5rem;box-shadow:0 .125rem .25rem 0 RGB(56,56,56,var(--now-opacity--less,.25));display:flex;flex-direction:column;height:256px;justify-content:center;margin-bottom:.75rem;padding:1rem;width:100%}.empty-state-wrapper .empty-state-heading-container,.empty-state-wrapper .empty-state-message-container{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:flex;justify-content:center}.empty-state-wrapper .empty-state-message-container{font-size:.75rem;text-align:center}@media only screen and (max-width:1140px){.empty-state-wrapper{width:100%}}.genius-results-loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;width:100%}.genius-results-loading-container .bubble-loader{height:7.8125rem;width:7.8125rem}.synthesized-genius-results-loading-container{display:flex;flex-direction:column;width:100%}.synthesized-genius-results-loading-container .header{align-items:center;display:flex;width:100%}:host(:not([dir=rtl])) .synthesized-genius-results-loading-container .header now-carousel-text,:root:not([dir=rtl]) .synthesized-genius-results-loading-container .header now-carousel-text{margin-left:.5rem}:host([dir=rtl]) .synthesized-genius-results-loading-container .header now-carousel-text,:root[dir=rtl] .synthesized-genius-results-loading-container .header now-carousel-text{margin-right:.5rem}.synthesized-genius-results-loading-container .skeleton-loader{display:flex;flex-direction:column;gap:10px;inline-size:60vw;margin-top:1rem;max-inline-size:600px;text-align:center}@keyframes skeleton-loader-bones-animation{0%{background-color:RGBA(var(--now-color--neutral-2,228,230,231),1)}50%{background-color:RGBA(var(--now-color--neutral-2,228,230,231),.45)}to{background-color:RGBA(var(--now-color--neutral-2,228,230,231),1)}}.synthesized-genius-results-loading-container .skeleton-loader .skeleton-bone{animation-duration:1.5s;animation-iteration-count:infinite;animation-name:skeleton-loader-bones-animation;animation-timing-function:ease-in-out;background-color:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)));block-size:20px;border-radius:50px;display:flex}.synthesized-genius-results-loading-container .skeleton-loader :first-child{animation-delay:0ms;inline-size:100%}.synthesized-genius-results-loading-container .skeleton-loader :nth-child(2){animation-delay:50ms;inline-size:80%}.synthesized-genius-results-loading-container .skeleton-loader :nth-child(3){animation-delay:.1s;inline-size:60%}:host{--synthesized-gr-gradient_color--top:var(--nass-synthesized-gr-gradient_color--top);--synthesized-gr-gradient_color--bottom:var(--nass-synthesized-gr-gradient_color--bottom);--carousel-color:var(--carousel-background-color);--carousel-loading-color:var(--carousel-loading-background-color);--card-background_color:var(--genius-card_color--background)}.loading-steps-container{height:1.875rem;overflow:hidden;position:relative;width:100%}.loading-step{animation:slideUp 8s infinite;bottom:0;font-size:1rem;height:1.875rem;left:0;line-height:1.875rem;opacity:0;position:absolute;text-align:center;width:100%}.loading-step:first-child{animation-delay:0s}.loading-step:nth-child(2){animation-delay:2s}.loading-step:nth-child(3){animation-delay:4s}.loading-step:nth-child(4){animation-delay:6s}@keyframes slideUp{0%,20%{opacity:0;transform:translateY(30px)}25%,45%{opacity:1;transform:translateY(0)}50%,70%{opacity:1;transform:translateY(-30px)}75%,to{opacity:0;transform:translateY(-60px)}}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;width:100%}.loading-container .skeleton-loading-container{flex:2;padding:.5rem;width:100%}.loading-container .skeleton-loading-container .animated-background:last-child{width:75%}@keyframes placeHolderShimmer{0%{background-position:-50rem 0}to{background-position:50rem 0}}.animated-background{animation-duration:3s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeHolderShimmer;animation-timing-function:linear;background:linear-gradient(-45deg,rgba(var(--now-color--neutral-5,172,180,181),.8) 0,rgba(var(--now-color--neutral-5,172,180,181),0) 50%,rgba(var(--now-color--neutral-5,172,180,181),.8) 100%);background-size:50rem 1rem;border-radius:.5rem;height:1rem;position:relative}@media screen and (max-width:1140px){.loading-container{flex-direction:column}.loading-container .skeleton-loading-container{margin-top:.75rem}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.preset-dropdown-container{border-color:RGB(var(--now-color_grouped--gray-2,139,145,150));border-radius:.25rem;border-style:solid;border-width:var(--now-container--border-width,1px);padding:var(--now-container--border-width,1px)}.preset-dropdown-container__heading{align-items:center;background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));display:flex;font-size:.75rem;line-height:1.5rem;padding:.25rem .5rem}.preset-dropdown-container__icon{padding-right:.25rem}.preset-dropdown-container__dropdown{--now-dropdown-list--border-width:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.custom-background-color{background-color:RGB(var(--now-color_background--primary));border-radius:.25rem}.preset-button__prefix-icon{padding-right:.125rem}.preset-button__suffix-icon{padding-left:.125rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.flex-space-between{align-items:center;display:flex;justify-content:space-between;width:100%}.flex-end-align{justify-content:flex-end}.no-bottom-padding{padding-bottom:0}.recommendation-dialog-overlay{bottom:0;left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:4000}.recommendation-dialog-overlay__container{margin:1rem;pointer-events:none;position:absolute}.content-container{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));border-radius:.25rem;display:flex;flex-direction:column;justify-content:space-between;margin:.5rem;padding:.5rem .75rem;padding-bottom:0}.content-container--error{background:unset}.content-container__action-items{height:3.5rem}.content-container__action-items--right{align-items:center;display:flex}.content-container__pagination-contorl{font-size:.75rem}.content-container--loader{align-items:center;display:flex;height:100%;justify-content:center}.content-container__content{align-items:flex-start;display:flex;flex-direction:row;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;line-height:1.25rem;margin-bottom:0;overflow-y:auto;-moz-user-select:text;-webkit-user-select:text;user-select:text}.content-container__content--error{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));font-style:italic}.content-container__content-icon{padding-right:.5rem;padding-top:.25rem}.content-container__footer{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:.75rem;line-height:1.25;padding:.25rem .75rem}.content-container__footer-text{line-height:2rem}.recommendation-header-content__info-button{padding-right:1rem}.popover_content{padding:.75rem;width:12.5rem}.custom-dropdown__prefix-icon{padding-right:.125rem}.custom-dropdown__suffix-icon{padding-left:.125rem}.padding-left-md{padding-left:.75rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".now-resizable-target{position:absolute;z-index:1000}.now-resizable-target.-inline{block-size:100%;cursor:ew-resize;inline-size:.25rem;inset-block-start:0}.now-resizable-target.-inline.-right{inset-inline-end:0}:host([dir=rtl]) .now-resizable-target.-inline.-right{inset-inline-end:auto;inset-inline-start:-.25rem}.now-resizable-target.-inline.-left{inset-inline-start:0}:host([dir=rtl]) .now-resizable-target.-inline.-left{inset-inline-end:-.25rem;inset-inline-start:auto}.now-resizable-target.-block{block-size:.25rem;cursor:ns-resize;inline-size:100%;inset-inline-start:0}.now-resizable-target.-block.-top{inset-block-start:0}.now-resizable-target.-block.-bottom{inset-block-end:0}.now-resizable-target.-corner{block-size:.25rem;inline-size:.25rem}.now-resizable-target.-corner.-top-left{cursor:nwse-resize;inset-block-start:0;inset-inline-start:0}:host([dir=rtl]) .now-resizable-target.-corner.-top-left{inset-inline-end:0;inset-inline-start:auto}.now-resizable-target.-corner.-top-right{cursor:nesw-resize;inset-block-start:0;inset-inline-end:0}:host([dir=rtl]) .now-resizable-target.-corner.-top-right{inset-inline-end:auto;inset-inline-start:0}.now-resizable-target.-corner.-bottom-right{block-size:unset;cursor:nwse-resize;inline-size:unset;inset-block-end:0;inset-inline-end:0}:host([dir=rtl]) .now-resizable-target.-corner.-bottom-right{block-size:.25rem;inline-size:.25rem;inset-inline-end:auto;inset-inline-start:0}.now-resizable-target.-corner.-bottom-left{cursor:nesw-resize;inset-block-end:0;inset-inline-start:0}:host([dir=rtl]) .now-resizable-target.-corner.-bottom-left{block-size:unset;inline-size:unset;inset-inline-end:0;inset-inline-start:auto;rotate:90deg}.is-active .now-resizable-target{border-color:RGB(var(--now-color--focus-2,1,119,142))}.is-active .now-resizable-target.-inline{block-size:calc(100% - 3rem);margin-block:1.5rem}.is-active .now-resizable-target.-inline.-right{border-inline-end-style:solid;border-inline-end-width:.125rem}.is-active .now-resizable-target.-inline.-left{border-inline-start-style:solid;border-inline-start-width:.125rem}.is-active .now-resizable-target.-block{inline-size:calc(100% - 3rem);margin-inline:1.5rem}.is-active .now-resizable-target.-block.-top{border-block-start-style:solid;border-block-start-width:.125rem}.is-active .now-resizable-target.-block.-bottom{border-block-end-style:solid;border-block-end-width:.125rem}.now-resizable-target-button{background-color:transparent;border:0;border-radius:var(--now-button-stateful--primary--border-radius,var(--now-button-stateful--border-radius,var(--now-button-iconic--bare--border-radius,var(--now-button--bare--border-radius,var(--now-button--border-radius,var(--now-actionable--border-radius,0))))));color:RGB(var(--now-button-stateful--primary--color,var(--now-button--bare_primary--color,var(--now-color--primary-1,30,133,109))));cursor:inherit;display:flex;padding:0}.now-resizable-target-button::-moz-focus-inner{border-style:none}.now-resizable-target-button:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.now-resizable-target-button:focus{outline:1px solid highlight}}.now-resizable-target-button:hover{background-color:RGB(var(--now-button-stateful--primary--background-color--hover,now-button--bare_primary--background-color--hover),var(--now-button-stateful--primary--background-color-alpha--hover,var(--now-button--bare_primary--background-color-alpha--hover,var(--now-opacity--least,.1))));color:RGB(var(--now-button-stateful--primary--color--hover,var(--now-button--bare_primary--color--hover,var(--now-color--primary-2,23,100,82))))}.now-resizable-target-button:active{background-color:RGB(var(--now-button-stateful--primary--background-color--active,var(--now-button--bare_primary--background-color--active,var(--now-color--primary-2,23,100,82))),var(--now-button-stateful--primary--background-color-alpha--active,var(--now-button--bare_primary--background-color-alpha--active,var(--now-opacity--less,.25))));color:RGB(var(--now-button-stateful--primary--color--active,var(--now-button--bare_primary--color--active,var(--now-color--primary-3,15,67,55))))}.now-resizable-target-button.is-selected{color:RGB(var(--now-button-stateful--primary--color--selected,var(--now-button-stateful--primary--color,var(--now-button--bare_primary--color,var(--now-color--primary-1,30,133,109)))))}.now-resizable-target-button.is-selected:hover{background-color:RGB(var(--now-button-stateful--primary--background-color--selected_hover,var(--now-button-stateful--primary--background-color--hover,now-button--bare_primary--background-color--hover)),var(--now-button-stateful--primary--background-color-alpha--selected_hover,var(--now-button-stateful--primary--background-color-alpha--hover,var(--now-button--bare_primary--background-color-alpha--hover,var(--now-opacity--least,.1)))));color:RGB(var(--now-button-stateful--primary--color--selected_hover,var(--now-button-stateful--primary--color--hover,var(--now-button--bare_primary--color--hover,var(--now-color--primary-2,23,100,82)))))}.now-resizable-target-button.is-selected:active{background-color:RGB(var(--now-button-stateful--primary--background-color--selected_active,var(--now-button-stateful--primary--background-color--active,var(--now-button--bare_primary--background-color--active,var(--now-color--primary-2,23,100,82)))),var(--now-button-stateful--primary--background-color-alpha--selected_active,var(--now-button-stateful--primary--background-color-alpha--active,var(--now-button--bare_primary--background-color-alpha--active,var(--now-opacity--less,.25)))));color:RGB(var(--now-button-stateful--primary--color--selected_active,var(--now-button-stateful--primary--color--active,var(--now-button--bare_primary--color--active,var(--now-color--primary-3,15,67,55)))))}.now-resizable-target-button>svg{fill:currentcolor}@media(forced-colors:active){.now-resizable-target-button{background-color:buttonface!important;border-style:solid!important;border-width:1px!important;color:buttontext!important}.now-resizable-target-button now-icon,.now-resizable-target-button now-icon-animated{color:inherit!important}.now-resizable-target-button:focus,.now-resizable-target-button:hover{background-color:highlighttext!important;border-color:highlight!important;color:highlight!important}.now-resizable-target-button.is-disabled,.now-resizable-target-button.is-disabled:hover{background-color:buttonface!important;border-color:graytext!important;color:graytext!important;opacity:1!important}.now-resizable-target-button.is-selected{background-color:selecteditem!important;border-color:selecteditemtext;color:selecteditemtext!important}.now-resizable-target-button.is-selected.is-disabled{background-color:buttonface!important;color:graytext!important}.now-resizable-target-button>svg{forced-color-adjust:auto}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".now-align{display:flex}.now-align.-row.-reverse{flex-direction:row-reverse}.now-align.-column{flex-direction:column}.now-align.-column.-reverse{flex-direction:column-reverse}.now-align.-wrap{flex-wrap:wrap}.now-align.-inline{justify-content:space-between}.now-align.-inline-center{justify-content:center}.now-align.-inline-end{justify-content:flex-end}.now-align.-block-start{align-items:flex-start}.now-align.-block-center{align-items:center}.now-align.-block-end{align-items:flex-end}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:inline-block;vertical-align:middle}.now-button{align-items:center;border-end-end-radius:var(--now-button--border-end-end-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px)));border-end-start-radius:var(--now-button--border-end-start-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px)));border-start-end-radius:var(--now-button--border-start-end-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px)));border-start-start-radius:var(--now-button--border-start-start-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px)));border-style:solid;cursor:pointer;display:flex;font-family:var(--now-button--font-family,var(--now-actionable--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)));font-style:var(--now-button--font-style,var(--now-actionable--font-style,normal));font-variant:normal;font-weight:var(--now-button--font-weight,var(--now-actionable--font-weight,bold));inline-size:inherit;justify-content:center;letter-spacing:inherit;margin:0;text-indent:0;text-shadow:none;text-transform:var(--now-button--text-transform,var(--now-actionable--text-transform,none));white-space:normal;word-spacing:inherit}.now-button:hover{box-shadow:0 .125rem .25rem 0 RGB(56,56,56,var(--now-opacity--less,.25))}.now-button:focus::-moz-focus-inner{border-style:none}.now-button:focus:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.now-button:focus:focus{outline:1px solid highlight}}.now-button.-sm{font-size:var(--now-actionable--font-size--sm,var(--now-font-size--sm,.75rem));line-height:1.3333;min-block-size:calc(.75rem + var(--now-button--scale-size-block, 1)*1.5rem/2);padding-block:calc(.25rem*var(--now-button--scale-size-block, 1));padding-inline:calc(.5rem*var(--now-button--scale-size-inline, 1))}.now-button.-sm .now-line-height-crop{display:block}.now-button.-sm .now-line-height-crop:after,.now-button.-sm .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-button.-sm .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-button.-sm .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-button.-sm .now-line-height-crop+.now-button.-sm .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-button.-sm:not(.only-icon) .now-button-icon{-webkit-margin-end:.125rem;margin-inline-end:.125rem}.now-button.-md{font-size:var(--now-actionable--font-size--md,var(--now-font-size--md1,1rem));line-height:1.25;min-block-size:calc(1rem + var(--now-button--scale-size-block, 1)*2rem/2);padding-block:calc(.375rem*var(--now-button--scale-size-block, 1));padding-inline:calc(1rem*var(--now-button--scale-size-inline, 1))}.now-button.-md .now-line-height-crop{display:block}.now-button.-md .now-line-height-crop:after,.now-button.-md .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-button.-md .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-button.-md .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-button.-md .now-line-height-crop+.now-button.-md .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-button.-md:not(.only-icon) .now-button-icon{-webkit-margin-end:.125rem;margin-inline-end:.125rem}.now-button.-lg{font-size:var(--now-actionable--font-size--lg,var(--now-font-size--lg1,1.5rem));line-height:1.25;min-block-size:calc(1.5rem + var(--now-button--scale-size-block, 1)*3rem/2);padding-block:calc(.375rem*var(--now-button--scale-size-block, 1));padding-inline:calc(1.5rem*var(--now-button--scale-size-inline, 1))}.now-button.-lg .now-line-height-crop{display:block}.now-button.-lg .now-line-height-crop:after,.now-button.-lg .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-button.-lg .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-button.-lg .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-button.-lg .now-line-height-crop+.now-button.-lg .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-button.-lg:not(.only-icon) .now-button-icon{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-button.-primary{background-color:RGB(var(--now-button--primary--background-color,var(--now-actionable--primary--background-color,var(--now-color--primary-1,30,133,109))));border-color:RGB(var(--now-button--primary--border-color,var(--now-actionable--primary--border-color,var(--now-color--primary-1,30,133,109))));border-end-end-radius:var(--now-button--primary--border-end-end-radius,var(--now-actionable--primary--border-radius,var(--now-actionable--contained_brand--border-radius,var(--now-actionable--border-radius,4px))));border-end-start-radius:var(--now-button--primary--border-end-start-radius,var(--now-actionable--primary--border-radius,var(--now-actionable--contained_brand--border-radius,var(--now-actionable--border-radius,4px))));border-start-end-radius:var(--now-button--primary--border-start-end-radius,var(--now-actionable--primary--border-radius,var(--now-actionable--contained_brand--border-radius,var(--now-actionable--border-radius,4px))));border-start-start-radius:var(--now-button--primary--border-start-start-radius,var(--now-actionable--primary--border-radius,var(--now-actionable--contained_brand--border-radius,var(--now-actionable--border-radius,4px))));border-width:var(--now-button--primary--border-width,var(--now-actionable--primary--border-width,var(--now-actionable--contained_brand--border-width,0)));color:RGB(var(--now-button--primary--color,var(--now-actionable_label--primary--color,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary .now-button-icon{color:RGB(var(--now-button_icon--primary--color,var(--now-actionable_icon--primary--color,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary:not(.is-disabled):hover{background-color:RGB(var(--now-button--primary--background-color--hover,var(--now-actionable--primary--background-color--hover,var(--now-color--primary-2,23,100,82))));border-color:RGB(var(--now-button--primary--border-color--hover,var(--now-actionable--primary--border-color--hover,var(--now-color--primary-2,23,100,82))));color:RGB(var(--now-button--primary--color--hover,var(--now-actionable_label--primary--color--hover,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary:not(.is-disabled):hover .now-button-icon{color:RGB(var(--now-button_icon--primary--color--hover,var(--now-actionable_icon--primary--color--hover,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary:not(.is-disabled):active{background-color:RGB(var(--now-button--primary--background-color--active,var(--now-actionable--primary--background-color--active,var(--now-color--primary-3,15,67,55))));border-color:RGB(var(--now-button--primary--border-color--active,var(--now-actionable--primary--border-color--active,var(--now-color--primary-3,15,67,55))));color:RGB(var(--now-button--primary--color--active,var(--now-actionable_label--primary--color--active,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary:not(.is-disabled):active .now-button-icon{color:RGB(var(--now-button_icon--primary--color--active,var(--now-actionable_icon--primary--color--active,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary.is-disabled{opacity:var(--now-button--primary--opacity--disabled,var(--now-actionable--primary--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-button.-primary.-positive{background-color:RGB(var(--now-button--primary-positive--background-color,var(--now-actionable--primary-positive--background-color,var(--now-color_alert--positive-3,30,105,34))));border-color:RGB(var(--now-button--primary-positive--border-color,var(--now-actionable--primary-positive--border-color,var(--now-color_alert--positive-3,30,105,34))));border-end-end-radius:var(--now-button--primary-positive--border-end-end-radius,var(--now-actionable--primary-positive--border-radius,var(--now-actionable--primary--border-radius,var(--now-actionable--contained_brand--border-radius,var(--now-actionable--border-radius,4px)))));border-end-start-radius:var(--now-button--primary-positive--border-end-start-radius,var(--now-actionable--primary-positive--border-radius,var(--now-actionable--primary--border-radius,var(--now-actionable--contained_brand--border-radius,var(--now-actionable--border-radius,4px)))));border-start-end-radius:var(--now-button--primary-positive--border-start-end-radius,var(--now-actionable--primary-positive--border-radius,var(--now-actionable--primary--border-radius,var(--now-actionable--contained_brand--border-radius,var(--now-actionable--border-radius,4px)))));border-start-start-radius:var(--now-button--primary-positive--border-start-start-radius,var(--now-actionable--primary-positive--border-radius,var(--now-actionable--primary--border-radius,var(--now-actionable--contained_brand--border-radius,var(--now-actionable--border-radius,4px)))));border-width:var(--now-button--primary-positive--border-width,var(--now-actionable--primary-positive--border-width,var(--now-actionable--primary--border-width,var(--now-actionable--contained_brand--border-width,0))));color:RGB(var(--now-button--primary-positive--color,var(--now-actionable_label--primary-positive--color,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary.-positive .now-button-icon{color:RGB(var(--now-button_icon--primary-positive--color,var(--now-actionable_icon--primary-positive--color,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary.-positive:not(.is-disabled):hover{background-color:RGB(var(--now-button--primary-positive--background-color--hover,var(--now-actionable--primary-positive--background-color--hover,var(--now-color_alert--positive-4,22,79,26))));border-color:RGB(var(--now-button--primary-positive--border-color--hover,var(--now-actionable--primary-positive--border-color--hover,var(--now-color_alert--positive-4,22,79,26))));color:RGB(var(--now-button--primary-positive--color--hover,var(--now-actionable_label--primary-positive--color--hover,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary.-positive:not(.is-disabled):hover .now-button-icon{color:RGB(var(--now-button_icon--primary-positive--color--hover,var(--now-actionable_icon--primary-positive--color--hover,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary.-positive:not(.is-disabled):active{background-color:RGB(var(--now-button--primary-positive--background-color--active,var(--now-actionable--primary-positive--background-color--active,var(--now-color_alert--positive-5,15,52,17))));border-color:RGB(var(--now-button--primary-positive--border-color--active,var(--now-actionable--primary-positive--border-color--active,var(--now-color_alert--positive-5,15,52,17))));color:RGB(var(--now-button--primary-positive--color--active,var(--now-actionable_label--primary-positive--color--active,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary.-positive:not(.is-disabled):active .now-button-icon{color:RGB(var(--now-button_icon--primary-positive--color--active,var(--now-actionable_icon--primary-positive--color--active,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary.-positive.is-disabled{opacity:var(--now-button--primary-positive--opacity--disabled,var(--now-actionable--primary-positive--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-button.-primary.-negative{background-color:RGB(var(--now-button--primary-negative--background-color,var(--now-actionable--primary-negative--background-color,var(--now-color_alert--critical-3,160,48,43))));border-color:RGB(var(--now-button--primary-negative--border-color,var(--now-actionable--primary-negative--border-color,var(--now-color_alert--critical-3,160,48,43))));border-end-end-radius:var(--now-button--primary-negative--border-end-end-radius,var(--now-actionable--primary-negative--border-radius,var(--now-actionable--primary--border-radius,var(--now-actionable--contained_brand--border-radius,var(--now-actionable--border-radius,4px)))));border-end-start-radius:var(--now-button--primary-negative--border-end-start-radius,var(--now-actionable--primary-negative--border-radius,var(--now-actionable--primary--border-radius,var(--now-actionable--contained_brand--border-radius,var(--now-actionable--border-radius,4px)))));border-start-end-radius:var(--now-button--primary-negative--border-start-end-radius,var(--now-actionable--primary-negative--border-radius,var(--now-actionable--primary--border-radius,var(--now-actionable--contained_brand--border-radius,var(--now-actionable--border-radius,4px)))));border-start-start-radius:var(--now-button--primary-negative--border-start-start-radius,var(--now-actionable--primary-negative--border-radius,var(--now-actionable--primary--border-radius,var(--now-actionable--contained_brand--border-radius,var(--now-actionable--border-radius,4px)))));border-width:var(--now-button--primary-negative--border-width,var(--now-actionable--primary-negative--border-width,var(--now-actionable--primary--border-width,var(--now-actionable--contained_brand--border-width,0))));color:RGB(var(--now-button--primary-negative--color,var(--now-actionable_label--primary-negative--color,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary.-negative .now-button-icon{color:RGB(var(--now-button_icon--primary-negative--color,var(--now-actionable_icon--primary-negative--color,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary.-negative:not(.is-disabled):hover{background-color:RGB(var(--now-button--primary-negative--background-color--hover,var(--now-actionable--primary-negative--background-color--hover,var(--now-color_alert--critical-4,120,36,32))));border-color:RGB(var(--now-button--primary-negative--border-color--hover,var(--now-actionable--primary-negative--border-color--hover,var(--now-color_alert--critical-4,120,36,32))));color:RGB(var(--now-button--primary-negative--color--hover,var(--now-actionable_label--primary-negative--color--hover,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary.-negative:not(.is-disabled):hover .now-button-icon{color:RGB(var(--now-button_icon--primary-negative--color--hover,var(--now-actionable_icon--primary-negative--color--hover,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary.-negative:not(.is-disabled):active{background-color:RGB(var(--now-button--primary-negative--background-color--active,var(--now-actionable--primary-negative--background-color--active,var(--now-color_alert--critical-5,80,24,22))));border-color:RGB(var(--now-button--primary-negative--border-color--active,var(--now-actionable--primary-negative--border-color--active,var(--now-color_alert--critical-5,80,24,22))));color:RGB(var(--now-button--primary-negative--color--active,var(--now-actionable_label--primary-negative--color--active,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary.-negative:not(.is-disabled):active .now-button-icon{color:RGB(var(--now-button_icon--primary-negative--color--active,var(--now-actionable_icon--primary-negative--color--active,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary.-negative.is-disabled{opacity:var(--now-button--primary-negative--opacity--disabled,var(--now-actionable--primary-negative--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-button.-primary.-ai{background:linear-gradient(135deg,RGB(var(--now-actionable--primary-ai--background-color-gradient--start,var(--now-color--secondary-brand-10,134,246,115))) 5%,RGB(var(--now-actionable--primary-ai--background-color-gradient--end,var(--now-color--supplementary1-brand-10,113,213,254))) 95%);border-color:RGB(var(--now-actionable--primary-ai--border-color,var(--now-color--secondary-brand-10,134,246,115)));border-radius:var(--now-actionable--primary-ai--border-radius,var(--now-actionable--contained_brand--border-radius,var(--now-actionable--border-radius,4px)));border-width:var(--now-actionable--primary-ai--border-width,var(--now-actionable--contained_brand--border-width,0));color:RGB(var(--now-actionable_label--primary-ai--color,var(--now-color--primary-brand-16,0,79,101)))}.now-button.-primary.-ai .now-button-icon{color:RGB(var(--now-actionable_icon--primary-ai--color,var(--now-actionable_label--primary-ai--color,var(--now-color--primary-brand-16,0,79,101))))}.now-button.-primary.-ai:not(.is-disabled):hover{background:linear-gradient(135deg,RGB(var(--now-actionable--primary-ai--background-color--hover,var(--now-color--secondary-brand-10,134,246,115))) 5%,RGB(var(--now-actionable--primary-ai--background-color--hover,var(--now-color--secondary-brand-10,134,246,115))) 95%);border-color:RGB(var(--now-actionable--primary-ai--border-color--hover,var(--now-color--secondary-brand-10,134,246,115)));color:RGB(var(--now-actionable_label--primary-ai--color--hover,var(--now-color--primary-brand-17,0,72,91)))}.now-button.-primary.-ai:not(.is-disabled):hover .now-button-icon{color:RGB(var(--now-actionable_icon--primary-ai--color--hover,var(--now-actionable_label--primary-ai--color--hover,var(--now-color--primary-brand-17,0,72,91))))}.now-button.-primary.-ai:not(.is-disabled).is-active,.now-button.-primary.-ai:not(.is-disabled):active{background:linear-gradient(135deg,RGB(var(--now-actionable--primary-ai--background-color--active,var(--now-color--secondary-brand-11,125,229,107))) 5%,RGB(var(--now-actionable--primary-ai--background-color--active,var(--now-color--secondary-brand-11,125,229,107))) 95%);border-color:RGB(var(--now-actionable--primary-ai--border-color--active,var(--now-color--secondary-brand-11,125,229,107)));color:RGB(var(--now-actionable_label--primary-ai--color--active,var(--now-color--primary-brand-18,0,64,82)))}.now-button.-primary.-ai:not(.is-disabled).is-active .now-button-icon,.now-button.-primary.-ai:not(.is-disabled):active .now-button-icon{color:RGB(var(--now-actionable_icon--primary-ai--color--active,var(--now-actionable_label--primary-ai--color--active,var(--now-color--primary-brand-18,0,64,82))))}.now-button.-primary.-ai.is-disabled{opacity:var(--now-actionable--primary-ai--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))}.now-button.-secondary{background-color:RGB(var(--now-button--secondary--background-color,var(--now-actionable--secondary--background-color,var(--now-color--secondary-1,1,119,142))),var(--now-button--secondary--background-color-alpha,var(--now-actionable--background-color-alpha,0)));border-color:RGB(var(--now-button--secondary--border-color,var(--now-actionable--secondary--border-color,var(--now-color--secondary-1,1,119,142))));border-end-end-radius:var(--now-button--secondary--border-end-end-radius,var(--now-actionable--secondary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px))));border-end-start-radius:var(--now-button--secondary--border-end-start-radius,var(--now-actionable--secondary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px))));border-start-end-radius:var(--now-button--secondary--border-start-end-radius,var(--now-actionable--secondary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px))));border-start-start-radius:var(--now-button--secondary--border-start-start-radius,var(--now-actionable--secondary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px))));border-width:var(--now-button--secondary--border-width,var(--now-actionable--secondary--border-width,var(--now-actionable--contained--border-width,var(--now-actionable--border-width,1px))));color:RGB(var(--now-button--secondary--color,var(--now-actionable_label--secondary--color,var(--now-color--secondary-1,1,119,142))))}.now-button.-secondary .now-button-icon{color:RGB(var(--now-button_icon--secondary--color,var(--now-actionable_icon--secondary--color,var(--now-color--secondary-1,1,119,142))))}.now-button.-secondary:not(.is-disabled):hover{background-color:RGB(var(--now-button--secondary--background-color--hover,var(--now-actionable--secondary--background-color--hover,var(--now-color--secondary-1,1,119,142))),var(--now-button--secondary--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button--secondary--border-color--hover,var(--now-actionable--secondary--border-color--hover,var(--now-color--secondary-2,1,89,107))));color:RGB(var(--now-button--secondary--color--hover,var(--now-actionable_label--secondary--color--hover,var(--now-color--secondary-2,1,89,107))))}.now-button.-secondary:not(.is-disabled):hover .now-button-icon{color:RGB(var(--now-button_icon--secondary--color--hover,var(--now-actionable_icon--secondary--color--hover,var(--now-color--secondary-2,1,89,107))))}.now-button.-secondary:not(.is-disabled):active{background-color:RGB(var(--now-button--secondary--background-color--active,var(--now-actionable--secondary--background-color--active,var(--now-color--secondary-1,1,119,142))),var(--now-button--secondary--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))));border-color:RGB(var(--now-button--secondary--border-color--active,var(--now-actionable--secondary--border-color--active,var(--now-color--secondary-3,1,60,71))));color:RGB(var(--now-button--secondary--color--active,var(--now-actionable_label--secondary--color--active,var(--now-color--secondary-3,1,60,71))))}.now-button.-secondary:not(.is-disabled):active .now-button-icon{color:RGB(var(--now-button_icon--secondary--color--active,var(--now-actionable_icon--secondary--color--active,var(--now-color--secondary-3,1,60,71))))}.now-button.-secondary.is-disabled{opacity:var(--now-button--secondary--opacity--disabled,var(--now-actionable--secondary--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-button.-secondary.-positive{background-color:RGB(var(--now-button--secondary-positive--background-color,var(--now-actionable--secondary-positive--background-color,var(--now-color_alert--positive-3,30,105,34))),var(--now-button--secondary-positive--background-color-alpha,var(--now-actionable--background-color-alpha,0)));border-color:RGB(var(--now-button--secondary-positive--border-color,var(--now-actionable--secondary-positive--border-color,var(--now-color_alert--positive-3,30,105,34))));border-end-end-radius:var(--now-button--secondary-positive--border-end-end-radius,var(--now-actionable--secondary-positive--border-radius,var(--now-actionable--secondary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px)))));border-end-start-radius:var(--now-button--secondary-positive--border-end-start-radius,var(--now-actionable--secondary-positive--border-radius,var(--now-actionable--secondary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px)))));border-start-end-radius:var(--now-button--secondary-positive--border-start-end-radius,var(--now-actionable--secondary-positive--border-radius,var(--now-actionable--secondary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px)))));border-start-start-radius:var(--now-button--secondary-positive--border-start-start-radius,var(--now-actionable--secondary-positive--border-radius,var(--now-actionable--secondary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px)))));border-width:var(--now-button--secondary-positive--border-width,var(--now-actionable--secondary-positive--border-width,var(--now-actionable--secondary--border-width,var(--now-actionable--contained--border-width,var(--now-actionable--border-width,1px)))));color:RGB(var(--now-button--secondary-positive--color,var(--now-actionable_label--secondary-positive--color,var(--now-color_alert--positive-3,30,105,34))))}.now-button.-secondary.-positive .now-button-icon{color:RGB(var(--now-button_icon--secondary-positive--color,var(--now-actionable_icon--secondary-positive--color,var(--now-color_alert--positive-3,30,105,34))))}.now-button.-secondary.-positive:not(.is-disabled):hover{background-color:RGB(var(--now-button--secondary-positive--background-color--hover,var(--now-actionable--secondary-positive--background-color--hover,var(--now-color_alert--positive-3,30,105,34))),var(--now-button--secondary-positive--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button--secondary-positive--border-color--hover,var(--now-actionable--secondary-positive--border-color--hover,var(--now-color_alert--positive-4,22,79,26))));color:RGB(var(--now-button--secondary-positive--color--hover,var(--now-actionable_label--secondary-positive--color--hover,var(--now-color_alert--positive-4,22,79,26))))}.now-button.-secondary.-positive:not(.is-disabled):hover .now-button-icon{color:RGB(var(--now-button_icon--secondary-positive--color--hover,var(--now-actionable_icon--secondary-positive--color--hover,var(--now-color_alert--positive-4,22,79,26))))}.now-button.-secondary.-positive:not(.is-disabled):active{background-color:RGB(var(--now-button--secondary-positive--background-color--active,var(--now-actionable--secondary-positive--background-color--active,var(--now-color_alert--positive-3,30,105,34))),var(--now-button--secondary-positive--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))));border-color:RGB(var(--now-button--secondary-positive--border-color--active,var(--now-actionable--secondary-positive--border-color--active,var(--now-color_alert--positive-5,15,52,17))));color:RGB(var(--now-button--secondary-positive--color--active,var(--now-actionable_label--secondary-positive--color--active,var(--now-color_alert--positive-5,15,52,17))))}.now-button.-secondary.-positive:not(.is-disabled):active .now-button-icon{color:RGB(var(--now-button_icon--secondary-positive--color--active,var(--now-actionable_icon--secondary-positive--color--active,var(--now-color_alert--positive-5,15,52,17))))}.now-button.-secondary.-positive.is-disabled{opacity:var(--now-button--secondary-positive--opacity--disabled,var(--now-actionable--secondary-positive--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-button.-secondary.-negative{background-color:RGB(var(--now-button--secondary-negative--background-color,var(--now-actionable--secondary-negative--background-color,var(--now-color_alert--critical-0,241,206,205))),var(--now-button--secondary-negative--background-color-alpha,var(--now-actionable--background-color-alpha,0)));border-color:RGB(var(--now-button--secondary-negative--border-color,var(--now-actionable--secondary-negative--border-color,var(--now-color_alert--critical-3,160,48,43))));border-end-end-radius:var(--now-button--secondary-negative--border-end-end-radius,var(--now-actionable--secondary-negative--border-radius,var(--now-actionable--secondary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px)))));border-end-start-radius:var(--now-button--secondary-negative--border-end-start-radius,var(--now-actionable--secondary-negative--border-radius,var(--now-actionable--secondary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px)))));border-start-end-radius:var(--now-button--secondary-negative--border-start-end-radius,var(--now-actionable--secondary-negative--border-radius,var(--now-actionable--secondary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px)))));border-start-start-radius:var(--now-button--secondary-negative--border-start-start-radius,var(--now-actionable--secondary-negative--border-radius,var(--now-actionable--secondary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px)))));border-width:var(--now-button--secondary-negative--border-width,var(--now-actionable--secondary-negative--border-width,var(--now-actionable--secondary--border-width,var(--now-actionable--contained--border-width,var(--now-actionable--border-width,1px)))));color:RGB(var(--now-button--secondary-negative--color,var(--now-actionable_label--secondary-negative--color,var(--now-color_alert--critical-3,160,48,43))))}.now-button.-secondary.-negative .now-button-icon{color:RGB(var(--now-button_icon--secondary-negative--color,var(--now-actionable_icon--secondary-negative--color,var(--now-color_alert--critical-3,160,48,43))))}.now-button.-secondary.-negative:not(.is-disabled):hover{background-color:RGB(var(--now-button--secondary-negative--background-color--hover,var(--now-actionable--secondary-negative--background-color--hover,var(--now-color_alert--critical-3,160,48,43))),var(--now-button--secondary-negative--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button--secondary-negative--border-color--hover,var(--now-actionable--secondary-negative--border-color--hover,var(--now-color_alert--critical-4,120,36,32))));color:RGB(var(--now-button--secondary-negative--color--hover,var(--now-actionable_label--secondary-negative--color--hover,var(--now-color_alert--critical-4,120,36,32))))}.now-button.-secondary.-negative:not(.is-disabled):hover .now-button-icon{color:RGB(var(--now-button_icon--secondary-negative--color--hover,var(--now-actionable_icon--secondary-negative--color--hover,var(--now-color_alert--critical-4,120,36,32))))}.now-button.-secondary.-negative:not(.is-disabled):active{background-color:RGB(var(--now-button--secondary-negative--background-color--active,var(--now-actionable--secondary-negative--background-color--active,var(--now-color_alert--critical-3,160,48,43))),var(--now-button--secondary-negative--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))));border-color:RGB(var(--now-button--secondary-negative--border-color--active,var(--now-actionable--secondary-negative--border-color--active,var(--now-color_alert--critical-5,80,24,22))));color:RGB(var(--now-button--secondary-negative--color--active,var(--now-actionable_label--secondary-negative--color--active,var(--now-color_alert--critical-5,80,24,22))))}.now-button.-secondary.-negative:not(.is-disabled):active .now-button-icon{color:RGB(var(--now-button_icon--secondary-negative--color--active,var(--now-actionable_icon--secondary-negative--color--active,var(--now-color_alert--critical-5,80,24,22))))}.now-button.-secondary.-negative.is-disabled{opacity:var(--now-button--secondary-negative--opacity--disabled,var(--now-actionable--secondary-negative--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-button.-secondary.-ai{background:linear-gradient(135deg,RGB(var(--now-actionable--secondary-ai--background-color-gradient--start,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--secondary-ai--background-color-alpha,var(--now-opacity--less,.25))) 5%,RGB(var(--now-actionable--secondary-ai--background-color-gradient--end,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--secondary-ai--background-color-alpha,var(--now-opacity--less,.25))) 95%);border-color:RGB(var(--now-actionable--secondary-ai--border-color,var(--now-color--secondary-brand-11,125,229,107)));border-radius:var(--now-actionable--secondary-ai--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px)));border-width:var(--now-actionable--secondary-ai--border-width,var(--now-actionable--contained--border-width,var(--now-actionable--border-width,1px)));color:RGB(var(--now-actionable_label--secondary-ai--color,var(--now-color--primary-brand-12,0,111,142)))}.now-button.-secondary.-ai .now-button-icon{color:RGB(var(--now-actionable_icon--secondary-ai--color,var(--now-actionable_label--secondary-ai--color,var(--now-color--primary-brand-12,0,111,142))))}.now-button.-secondary.-ai:not(.is-disabled):hover{background:linear-gradient(135deg,RGB(var(--now-actionable--secondary-ai--background-color-gradient--start_hover,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--secondary-ai--background-color-alpha--hover,var(--now-opacity--mid,.5))) 5%,RGB(var(--now-actionable--secondary-ai--background-color-gradient--end_hover,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--secondary-ai--background-color-alpha--hover,var(--now-opacity--mid,.5))) 95%);border-color:RGB(var(--now-actionable--secondary-ai--border-color--hover,var(--now-color--secondary-brand-12,114,209,98)));color:RGB(var(--now-actionable_label--secondary-ai--color--hover,var(--now-color--primary-brand-13,0,104,132)))}.now-button.-secondary.-ai:not(.is-disabled):hover .now-button-icon{color:RGB(var(--now-actionable_icon--secondary-ai--color--hover,var(--now-actionable_label--secondary-ai--color--hover,var(--now-color--primary-brand-13,0,104,132))))}.now-button.-secondary.-ai:not(.is-disabled).is-active,.now-button.-secondary.-ai:not(.is-disabled):active{background:linear-gradient(135deg,RGB(var(--now-actionable--secondary-ai--background-color-gradient--start_active,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--secondary-ai--background-color-alpha--active,var(--now-opacity--more,.65))) 5%,RGB(var(--now-actionable--secondary-ai--background-color-gradient--end_active,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--secondary-ai--background-color-alpha--active,var(--now-opacity--more,.65))) 95%);border-color:RGB(var(--now-actionable--secondary-ai--border-color--active,var(--now-color--secondary-brand-13,105,192,90)));color:RGB(var(--now-actionable_label--secondary-ai--color--active,var(--now-color--primary-brand-14,0,96,122)))}.now-button.-secondary.-ai:not(.is-disabled).is-active .now-button-icon,.now-button.-secondary.-ai:not(.is-disabled):active .now-button-icon{color:RGB(var(--now-actionable_icon--secondary-ai--color--active,var(--now-actionable_label--secondary-ai--color--active,var(--now-color--primary-brand-14,0,96,122))))}.now-button.-secondary.-ai.is-disabled{opacity:var(--now-actionable--secondary-ai--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))}.now-button.-tertiary{background-color:RGB(var(--now-button--tertiary--background-color,var(--now-actionable--tertiary--background-color,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55)))),var(--now-button--tertiary--background-color-alpha,var(--now-actionable--background-color-alpha,0)));border-color:RGB(var(--now-button--tertiary--border-color,var(--now-actionable--tertiary--border-color,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))),var(--now-button--tertiary--border-color-alpha,1));border-end-end-radius:var(--now-button--tertiary--border-end-end-radius,var(--now-actionable--tertiary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px))));border-end-start-radius:var(--now-button--tertiary--border-end-start-radius,var(--now-actionable--tertiary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px))));border-start-end-radius:var(--now-button--tertiary--border-start-end-radius,var(--now-actionable--tertiary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px))));border-start-start-radius:var(--now-button--tertiary--border-start-start-radius,var(--now-actionable--tertiary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px))));border-width:var(--now-button--tertiary--border-width,var(--now-actionable--tertiary--border-width,var(--now-actionable--contained--border-width,var(--now-actionable--border-width,1px))));color:RGB(var(--now-button--tertiary--color,var(--now-actionable_label--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-button--tertiary--color-alpha,1))}.now-button.-tertiary .now-button-icon{color:RGB(var(--now-button_icon--tertiary--color,var(--now-actionable_icon--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-button.-tertiary:not(.is-disabled):hover{background-color:RGB(var(--now-button--tertiary--background-color--hover,var(--now-actionable--tertiary--background-color--hover,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55)))),var(--now-button--tertiary--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button--tertiary--border-color--hover,var(--now-actionable--tertiary--border-color--hover,var(--now-color_border--secondary-actionable,var(--now-color--neutral-15,44,53,55)))),var(--now-button--tertiary--border-color-alpha--hover,1));color:RGB(var(--now-button--tertiary--color--hover,var(--now-actionable_label--tertiary--color--hover,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))),var(--now-button--tertiary--color-alpha--hover,1))}.now-button.-tertiary:not(.is-disabled):hover .now-button-icon{color:RGB(var(--now-button_icon--tertiary--color--hover,var(--now-actionable_icon--tertiary--color--hover,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.now-button.-tertiary:not(.is-disabled):active{background-color:RGB(var(--now-button--tertiary--background-color--active,var(--now-actionable--tertiary--background-color--active,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55)))),var(--now-button--tertiary--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))));border-color:RGB(var(--now-button--tertiary--border-color--active,var(--now-actionable--tertiary--border-color--active,var(--now-color_border--primary-actionable,var(--now-color--neutral-18,22,27,28)))),var(--now-button--tertiary--border-color-alpha--active,1));color:RGB(var(--now-button--tertiary--color--active,var(--now-actionable_label--tertiary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button--tertiary--color-alpha--active,1))}.now-button.-tertiary:not(.is-disabled):active .now-button-icon{color:RGB(var(--now-button_icon--tertiary--color--active,var(--now-actionable_icon--tertiary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button.-tertiary.is-disabled{opacity:var(--now-button--tertiary--opacity--disabled,var(--now-actionable--tertiary--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-button.-tertiary.-ai{background:linear-gradient(135deg,RGB(var(--now-actionable--tertiary-ai--background-color-gradient--start,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--tertiary-ai--background-color-alpha,var(--now-opacity--least,.1))) 5%,RGB(var(--now-actionable--tertiary-ai--background-color-gradient--end,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--tertiary-ai--background-color-alpha,var(--now-opacity--least,.1))) 95%);border-color:RGB(var(--now-actionable--tertiary-ai--border-color,var(--now-color--secondary-brand-11,125,229,107)));border-radius:var(--now-actionable--tertiary-ai--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px)));border-width:var(--now-actionable--tertiary-ai--border-width,var(--now-actionable--contained--border-width,var(--now-actionable--border-width,1px)));color:RGB(var(--now-actionable_label--tertiary-ai--color,var(--now-color--primary-brand-12,0,111,142)))}.now-button.-tertiary.-ai .now-button-icon{color:RGB(var(--now-actionable_icon--tertiary-ai--color,var(--now-actionable_label--tertiary-ai--color,var(--now-color--primary-brand-12,0,111,142))))}.now-button.-tertiary.-ai:not(.is-disabled):hover{background:linear-gradient(135deg,RGB(var(--now-actionable--tertiary-ai--background-color-gradient--start_hover,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--tertiary-ai--background-color-alpha--hover,var(--now-opacity--mid,.5))) 5%,RGB(var(--now-actionable--tertiary-ai--background-color-gradient--end_hover,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--tertiary-ai--background-color-alpha--hover,var(--now-opacity--mid,.5))) 95%);border-color:RGB(var(--now-actionable--tertiary-ai--border-color--hover,var(--now-color--secondary-brand-12,114,209,98)));color:RGB(var(--now-actionable_label--tertiary-ai--color--hover,var(--now-color--primary-brand-13,0,104,132)))}.now-button.-tertiary.-ai:not(.is-disabled):hover .now-button-icon{color:RGB(var(--now-actionable_icon--tertiary-ai--color--hover,var(--now-actionable_label--tertiary-ai--color--hover,var(--now-color--primary-brand-13,0,104,132))))}.now-button.-tertiary.-ai:not(.is-disabled).is-active,.now-button.-tertiary.-ai:not(.is-disabled):active{background:linear-gradient(135deg,RGB(var(--now-actionable--tertiary-ai--background-color-gradient--start_active,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--tertiary-ai--background-color-alpha--active,var(--now-opacity--more,.65))) 5%,RGB(var(--now-actionable--tertiary-ai--background-color-gradient--end_active,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--tertiary-ai--background-color-alpha--active,var(--now-opacity--more,.65))) 95%);border-color:RGB(var(--now-actionable--tertiary-ai--border-color--active,var(--now-color--secondary-brand-13,105,192,90)));color:RGB(var(--now-actionable_label--tertiary-ai--color--active,var(--now-color--primary-brand-14,0,96,122)))}.now-button.-tertiary.-ai:not(.is-disabled).is-active .now-button-icon,.now-button.-tertiary.-ai:not(.is-disabled):active .now-button-icon{color:RGB(var(--now-actionable_icon--tertiary-ai--color--active,var(--now-actionable_label--tertiary-ai--color--active,var(--now-color--primary-brand-14,0,96,122))))}.now-button.-tertiary.-ai.is-disabled{opacity:var(--now-actionable--tertiary-ai--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))}.now-button.is-disabled{cursor:not-allowed;opacity:var(--now-button--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))}.now-button.is-disabled:hover{box-shadow:none}.now-button.is-disabled:focus::-moz-focus-inner{border-style:none}.now-button.is-disabled:focus:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.now-button.is-disabled:focus:focus{outline:1px solid highlight}}.now-button.is-bare,.now-button.is-bare:active,.now-button.is-bare:hover{background-color:transparent;border-color:transparent;border-width:0}.now-button.is-bare:focus::-moz-focus-inner{border-style:none}.now-button.is-bare:focus:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)));outline:none}@media(forced-colors:active){.now-button.is-bare:focus:focus{outline:1px solid highlight}}.now-button.is-bare.only-icon:hover{background-color:RGB(var(--now-color--neutral-9,99,114,116),.1)}.now-button.is-bare.only-icon:active{background-color:RGB(var(--now-color--neutral-9,99,114,116),.35)}.now-button.is-bare.-inherit,.now-button.is-bare.-inherit:active,.now-button.is-bare.-inherit:hover{color:inherit}.now-button.is-bare.-primary{color:RGB(var(--now-button--bare_primary--color,var(--now-actionable_label--primary_bare--color,var(--now-color--primary-2,23,100,82))))}.now-button.is-bare.-primary:not(.is-disabled):hover{background-color:RGBA(var(--now-button--bare_primary--background-color--hover,var(--now-actionable--primary_bare--background-color--hover,var(--now-color--primary-1,30,133,109))),var(--now-button--bare_primary--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));color:RGB(var(--now-button--bare_primary--color--hover,var(--now-actionable_label--primary_bare--color--hover,var(--now-color--primary-3,15,67,55))))}.now-button.is-bare.-primary:not(.is-disabled):active{background-color:RGBA(var(--now-button--bare_primary--background-color--active,var(--now-actionable--primary_bare--background-color--active,var(--now-color--primary-1,30,133,109))),var(--now-button--bare_primary--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))));color:RGB(var(--now-button--bare_primary--color--active,var(--now-actionable_label--primary_bare--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button.is-bare.-secondary{color:RGB(var(--now-button--bare_secondary--color,var(--now-actionable_label--secondary_bare--color,var(--now-actionable_label--secondary--color,var(--now-color--secondary-1,1,119,142)))))}.now-button.is-bare.-secondary:not(.is-disabled):hover{background-color:RGBA(var(--now-button--bare_secondary--background-color--hover,var(--now-actionable--secondary_bare--background-color--hover,var(--now-actionable--secondary--background-color--hover,var(--now-color--secondary-1,1,119,142)))),var(--now-button--bare_secondary--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));color:RGB(var(--now-button--bare_secondary--color--hover,var(--now-actionable_label--secondary_bare--color--hover,var(--now-actionable_label--secondary--color--hover,var(--now-color--secondary-2,1,89,107)))))}.now-button.is-bare.-secondary:not(.is-disabled):active{background-color:RGBA(var(--now-button--bare_secondary--background-color--active,var(--now-actionable--secondary_bare--background-color--active,var(--now-actionable--secondary--background-color--active,var(--now-color--secondary-1,1,119,142)))),var(--now-button--bare_secondary--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))));color:RGB(var(--now-button--bare_secondary--color--active,var(--now-actionable_label--secondary_bare--color--active,var(--now-actionable_label--secondary--color--active,var(--now-color--secondary-3,1,60,71)))))}.now-button.is-bare.-tertiary{color:RGB(var(--now-button--bare_tertiary--color,var(--now-actionable_label--tertiary_bare--color,var(--now-actionable_label--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))))}.now-button.is-bare.-tertiary:not(.is-disabled):hover{background-color:RGBA(var(--now-button--bare_tertiary--background-color--hover,var(--now-actionable--tertiary_bare--background-color--hover,var(--now-actionable--tertiary--background-color--hover,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55))))),var(--now-button--bare_tertiary--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));color:RGB(var(--now-button--bare_tertiary--color--hover,var(--now-actionable_label--tertiary_bare--color--hover,var(--now-actionable_label--tertiary--color--hover,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))))))}.now-button.is-bare.-tertiary:not(.is-disabled):active{background-color:RGBA(var(--now-button--bare_tertiary--background-color--active,var(--now-actionable--tertiary_bare--background-color--active,var(--now-actionable--tertiary--background-color--active,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55))))),var(--now-button--bare_tertiary--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))));color:RGB(var(--now-button--bare_tertiary--color--active,var(--now-actionable_label--tertiary_bare--color--active,var(--now-actionable_label--tertiary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-button.is-bare.is-disabled,.now-button.is-bare.is-disabled:hover{background-color:transparent;border-color:transparent}.now-button.only-icon{padding-inline:0}.now-button.only-icon.-sm{inline-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2)}.now-button.only-icon.-md{inline-size:calc(1rem + var(--now-button--scale-size, 1)*2rem/2)}.now-button.only-icon.-lg{inline-size:calc(1.5rem + var(--now-button--scale-size, 1)*3rem/2)}@media(forced-colors:active){.now-button{background-color:buttonface!important;border-style:solid!important;border-width:1px!important;color:buttontext!important}.now-button now-icon,.now-button now-icon-animated{color:inherit!important}.now-button:focus,.now-button:hover{background-color:highlighttext!important;border-color:highlight!important;color:highlight!important}.now-button.is-disabled,.now-button.is-disabled:hover{background-color:buttonface!important;border-color:graytext!important;color:graytext!important;opacity:1!important}.now-button .now-line-height-crop{forced-color-adjust:none}.now-button ::slotted(*){forced-color-adjust:none}}:host{display:block}.now-alert-list{inset-block-start:0;inset-inline:0;margin:1rem;position:absolute;z-index:3000}.now-alert-list.is-collapsed{block-size:4.75rem}.now-alert-list-ul{-webkit-padding-start:0;list-style-type:none;margin-block:0;padding-inline-start:0;position:relative}.now-alert-list-ul>li{position:relative}.now-alert-list-ul>li:focus{outline:none}.now-alert-list-ul>li:focus:after{block-size:100%;border-radius:var(--now-alert--border-radius,var(--now-messaging--border-radius,4px));box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));content:\\\"\\\";inline-size:100%;inset-block-start:0;inset-inline-start:0;pointer-events:none;position:absolute}.now-alert-list-ul>li:focus::-moz-focus-inner{border-style:none}.now-alert-list-controller{--now-button--font-style:var(--now-alert-list_controller--font-style,var(--now-messaging-controller--font-style,var(--now-messaging--font-style,normal)));--now-button--font-weight:var(--now-alert-list_controller--font-weight,var(--now-messaging-controller--font-weight,bold));--now-button--font-family:var(--now-alert-list_controller--font-family,var(--now-messaging-controller--font-family,var(--now-messaging--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));--now-button--text-transform:var(--now-alert-list_controller--text-transform,var(--now-messaging-controller--text-transform,var(--now-messaging--text-transform,none)));-webkit-margin-after:.5rem;background-color:RGB(var(--now-alert-list_controller--background-color,var(--now-messaging-controller--background-color,var(--now-color_alert--low-0,217,217,217))));border-color:RGB(var(--now-alert-list_controller--border-color,var(--now-messaging-controller--border-color,var(--now-color_alert--low-1,159,159,159))));border-radius:var(--now-alert-list_controller--border-radius,var(--now-messaging-controller--border-radius,var(--now-messaging--border-radius,4px)));border-style:solid;border-width:var(--now-alert-list_controller--border-width,var(--now-messaging-controller--border-width,var(--now-messaging--border-width,1px)));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));display:flex;flex-wrap:wrap;inline-size:100%;justify-content:space-between;margin-block-end:.5rem;padding-block:.25rem;position:relative;z-index:3}.now-alert-list-controller-toggle{flex-grow:1;margin:.25rem .5rem}.now-alert-list-controller-toggle-button{--now-button--scale-size-inline:1;--now-button--scale-size-block:1;--now-button--secondary--border-color:var(--now-alert-list_controller-toggle--border-color,var(--now-messaging-controller_toggle--border-color,var(--now-messaging_action--primary--border-color,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))));--now-button--secondary--border-color--hover:var(--now-alert-list_controller-toggle--border-color--hover,var(--now-messaging-controller_toggle--border-color--hover,var(--now-messaging_action--primary--border-color--hover,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))));--now-button--secondary--border-color--active:var(--now-alert-list_controller-toggle--border-color--active,var(--now-messaging-controller_toggle--border-color--active,var(--now-messaging_action--primary--border-color--active,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))));--now-button--secondary--border-width:var(--now-alert-list_controller-toggle--border-width,var(--now-messaging-controller_toggle--border-width,var(--now-messaging_action--primary_bare--border-width,0px)));--now-button--secondary--border-radius:var(--now-alert-list_controller-toggle--border-radius,var(--now-messaging-controller_toggle--border-radius,var(--now-messaging_action--primary_bare--border-radius,var(--now-messaging--border-radius,4px))));--now-button--secondary--color:var(--now-alert-list_controller-toggle--color,var(--now-messaging-controller_toggle_label--color,var(--now-messaging_action_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));--now-button--secondary--color--hover:var(--now-alert-list_controller-toggle--color--hover,var(--now-messaging-controller_toggle_label--color--hover,var(--now-messaging_action_label--primary--color--hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));--now-button--secondary--color--active:var(--now-alert-list_controller-toggle--color--active,var(--now-messaging-controller_toggle_label--color--active,var(--now-messaging_action_label--primary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));--now-button--secondary--background-color:var(--now-alert-list_controller-toggle--background-color,var(--now-messaging-controller_toggle--background-color,var(--now-messaging_action--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button--secondary--background-color-alpha:var(--now-alert-list_controller-toggle--background-color-alpha,var(--now-messaging-controller_toggle--background-color-alpha,var(--now-messaging_action--primary--background-color-alpha,0)));--now-button--secondary--background-color--hover:var(--now-alert-list_controller-toggle--background-color--hover,var(--now-messaging-controller_toggle--background-color--hover,var(--now-messaging_action--primary--background-color--hover,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button--secondary--background-color-alpha--hover:var(--now-alert-list_controller-toggle--background-color-alpha--hover,var(--now-messaging-controller_toggle--background-color-alpha--hover,var(--now-messaging_action--primary--background-color-alpha--hover,var(--now-opacity--less,0.25))));--now-button--secondary--background-color--active:var(--now-alert-list_controller-toggle--background-color--active,var(--now-messaging-controller_toggle--background-color--active,var(--now-messaging_action--primary--background-color--active,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button--secondary--background-color-alpha--active:var(--now-alert-list_controller-toggle--background-color-alpha--active,var(--now-messaging-controller_toggle--background-color-alpha--active,var(--now-messaging_action--primary--background-color-alpha--active,var(--now-opacity--more,0.65))));inline-size:100%}.now-alert-list-controller-toggle-button:hover{box-shadow:none}.now-alert-list-controller-dismiss{margin-inline:auto}.now-alert-list-controller-dismiss-button{--now-button--tertiary--border-color:var(--now-alert-list_controller-dismiss--border-color,var(--now-messaging-controller_action--border-color,var(--now-messaging_action--primary--border-color,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))));--now-button--tertiary--border-color-alpha:var(--now-alert-list_controller-dismiss--border-color-alpha,var(--now-messaging-controller_action--border-color-alpha,var(--now-messaging_action--primary--border-color-alpha,1)));--now-button--tertiary--border-color-alpha--hover:var(--now-alert-list_controller-dismiss--border-color-alpha--hover,var(--now-messaging-controller_action--border-color-alpha--hover,var(--now-messaging_action--primary--border-color-alpha--hover,1)));--now-button--tertiary--border-color-alpha--active:var(--now-alert-list_controller-dismiss--border-color-alpha--active,var(--now-messaging-controller_action--border-color-alpha--active,var(--now-messaging_action--primary--border-color-alpha--active,1)));--now-button--tertiary--border-color--hover:var(--now-alert-list_controller-dismiss--border-color--hover,var(--now-messaging-controller_action--border-color--hover,var(--now-messaging_action--primary--border-color--hover,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))));--now-button--tertiary--border-color--active:var(--now-alert-list_controller-dismiss--border-color--active,var(--now-messaging-controller_action--border-color--active,var(--now-messaging_action--primary--border-color--active,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))));--now-button--tertiary--color:var(--now-alert-list_controller-dismiss--color,var(--now-messaging-controller_action_label--color,var(--now-messaging_action_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));--now-button--tertiary--color--hover:var(--now-alert-list_controller-dismiss--color--hover,var(--now-messaging-controller_action_label--color--hover,var(--now-messaging_action_label--primary--color--hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));--now-button--tertiary--color--active:var(--now-alert-list_controller-dismiss--color--active,var(--now-messaging-controller_action_label--color--active,var(--now-messaging_action_label--primary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));--now-button--tertiary--background-color:var(--now-alert-list_controller-dismiss--background-color,var(--now-messaging-controller_action--background-color,var(--now-messaging_action--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button--tertiary--background-color-alpha:var(--now-alert-list_controller-dismiss--background-color-alpha,var(--now-messaging-controller_action--background-color-alpha,var(--now-messaging_action--primary--background-color-alpha,0)));--now-button--tertiary--background-color--hover:var(--now-alert-list_controller-dismiss--background-color--hover,var(--now-messaging-controller_action--background-color--hover,var(--now-messaging_action--primary--background-color--hover,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button--tertiary--background-color-alpha--hover:var(--now-alert-list_controller-dismiss--background-color-alpha--hover,var(--now-messaging-controller_action--background-color-alpha--hover,var(--now-messaging_action--primary--background-color-alpha--hover,var(--now-opacity--less,0.25))));--now-button--tertiary--background-color--active:var(--now-alert-list_controller-dismiss--background-color--active,var(--now-messaging-controller_action--background-color--active,var(--now-messaging_action--primary--background-color--active,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button--tertiary--background-color-alpha--active:var(--now-alert-list_controller-dismiss--background-color-alpha--active,var(--now-messaging-controller_action--background-color-alpha--active,var(--now-messaging_action--primary--background-color-alpha--active,var(--now-opacity--more,0.65))));margin:.25rem .5rem}@media(forced-colors:active){.now-alert-list-controller{border-width:1px}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-m-block--xs{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-block-start:.25rem}.now-m-block-start--xs{-webkit-margin-before:.25rem;margin-block-start:.25rem}.now-m-block-end--xs{-webkit-margin-after:.25rem;margin-block-end:.25rem}.now-m-inline--xs{-webkit-margin-start:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem;margin-inline-start:.25rem}.now-m-inline-start--xs{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-m-inline-end--xs{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;-webkit-clip-path:inset(50%);clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}:host{display:block}.now-alert{-webkit-margin-after:.5rem;border-radius:var(--now-alert--border-radius,var(--now-messaging--border-radius,4px));border-style:solid;border-width:var(--now-alert--border-width,var(--now-messaging--border-width,1px));color:RGB(var(--now-alert--color,var(--now-messaging_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-family:var(--now-alert--font-family,var(--now-messaging--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)));font-size:var(--now-messaging_message--font-size--md,var(--now-font-size--md1,1rem));font-style:var(--now-alert--font-style,var(--now-messaging--font-style,normal));font-variant:normal;font-weight:var(--now-alert--font-weight,var(--now-messaging--font-weight,normal));inline-size:100%;letter-spacing:inherit;line-height:1.25;margin-block-end:.5rem;min-block-size:3.125rem;padding:.5rem;text-align:start;text-indent:0;text-shadow:none;text-transform:var(--now-alert--text-transform,var(--now-messaging--text-transform,none));white-space:normal;word-spacing:inherit}.now-alert.-dismiss{flex-wrap:wrap;padding-block:.5rem 0;padding-inline:0}.now-alert.-critical{background-color:RGB(var(--now-alert--critical--background-color,var(--now-messaging--primary_critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-alert--critical--border-color,var(--now-messaging--primary_critical--border-color,var(--now-color_alert--critical-1,221,133,129))))}.now-alert.-high{background-color:RGB(var(--now-alert--high--background-color,var(--now-messaging--primary_high--background-color,var(--now-color_alert--high-0,247,228,200))));border-color:RGB(var(--now-alert--high--border-color,var(--now-messaging--primary_high--border-color,var(--now-color_alert--high-1,234,186,117))))}.now-alert.-warning{background-color:RGB(var(--now-alert--warning--background-color,var(--now-messaging--primary_warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-alert--warning--border-color,var(--now-messaging--primary_warning--border-color,var(--now-color_alert--warning-1,227,218,96))))}.now-alert.-moderate{background-color:RGB(var(--now-alert--moderate--background-color,var(--now-messaging--primary_moderate--background-color,var(--now-color_alert--moderate-0,212,213,243))));border-color:RGB(var(--now-alert--moderate--border-color,var(--now-messaging--primary_moderate--border-color,var(--now-color_alert--moderate-1,148,149,225))))}.now-alert.-info{background-color:RGB(var(--now-alert--info--background-color,var(--now-messaging--primary_info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-alert--info--border-color,var(--now-messaging--primary_info--border-color,var(--now-color_alert--info-1,104,171,218))))}.now-alert.-positive{background-color:RGB(var(--now-alert--positive--background-color,var(--now-messaging--primary_positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-alert--positive--border-color,var(--now-messaging--primary_positive--border-color,var(--now-color_alert--positive-1,119,178,123))))}.now-alert.-low{background-color:RGB(var(--now-alert--low--background-color,var(--now-messaging--primary_low--background-color,var(--now-color_alert--low-0,217,217,217))));border-color:RGB(var(--now-alert--low--border-color,var(--now-messaging--primary_low--border-color,var(--now-color_alert--low-1,159,159,159))))}.now-alert.-ai{background:linear-gradient(135deg,RGB(var(--now-messaging--ai--background-color-gradient--start,var(--now-color--secondary-brand-4,199,251,191))) 0,RGB(var(--now-messaging--ai--background-color-gradient--end,var(--now-color--supplementary1-brand-4,190,236,255))) 100%);border-color:RGB(var(--now-messaging--ai--border-color,var(--now-color--secondary-brand-11,125,229,107)));position:relative}.now-alert.show-shadow{box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25))}.now-alert .now-line-height-crop{display:block}.now-alert .now-line-height-crop:after,.now-alert .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-alert .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-alert .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-alert .now-line-height-crop+.now-alert .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-alert-header{color:RGB(var(--now-alert_header--color,var(--now-messaging_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));font-family:var(--now-alert_header--font-family,var(--now-messaging_header--primary--font-family,var(--now-messaging--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-messaging_header--font-size--md,var(--now-display-type_header--font-size--md,var(--now-font-size--md1,1rem)));font-style:var(--now-alert_header--font-style,var(--now-messaging_header--primary--font-style,var(--now-messaging--font-style,normal)));font-weight:var(--now-alert_header--font-weight,var(--now-messaging_header--primary--font-weight,bold));line-height:1.25;text-transform:var(--now-alert_header--text-transform,var(--now-messaging_header--primary--text-transform,var(--now-messaging--text-transform,none)))}.-critical .now-alert-header{color:RGB(var(--now-alert_header--critical--color,var(--now-messaging_header--primary_critical--color,var(--now-messaging_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.-high .now-alert-header{color:RGB(var(--now-alert_header--high--color,var(--now-messaging_header--primary_high--color,var(--now-messaging_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.-warning .now-alert-header{color:RGB(var(--now-alert_header--warning--color,var(--now-messaging_header--primary_warning--color,var(--now-messaging_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.-moderate .now-alert-header{color:RGB(var(--now-alert_header--moderate--color,var(--now-messaging_header--primary_moderate--color,var(--now-messaging_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.-info .now-alert-header{color:RGB(var(--now-alert_header--info--color,var(--now-messaging_header--primary_info--color,var(--now-messaging_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.-positive .now-alert-header{color:RGB(var(--now-alert_header--positive--color,var(--now-messaging_header--primary_positive--color,var(--now-messaging_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.-low .now-alert-header{color:RGB(var(--now-alert_header--low--color,var(--now-messaging_header--primary_low--color,var(--now-messaging_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.-ai .now-alert-header{color:RGB(var(--now-messaging_header--primary-ai--color,var(--now-messaging_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-alert-icon{-webkit-margin-end:.25rem;margin-inline-end:.25rem;max-block-size:2rem;max-inline-size:2rem;padding:.5rem}.-critical .now-alert-icon{color:RGB(var(--now-alert_icon--critical--color,var(--now-messaging_icon--primary_critical--color,var(--now-messaging_icon--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.-high .now-alert-icon{color:RGB(var(--now-alert_icon--high--color,var(--now-messaging_icon--primary_high--color,var(--now-messaging_icon--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.-warning .now-alert-icon{color:RGB(var(--now-alert_icon--warning--color,var(--now-messaging_icon--primary_warning--color,var(--now-messaging_icon--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.-moderate .now-alert-icon{color:RGB(var(--now-alert_icon--moderate--color,var(--now-messaging_icon--primary_moderate--color,var(--now-messaging_icon--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.-info .now-alert-icon{color:RGB(var(--now-alert_icon--info--color,var(--now-messaging_icon--primary_info--color,var(--now-messaging_icon--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.-positive .now-alert-icon{color:RGB(var(--now-alert_icon--positive--color,var(--now-messaging_icon--primary_positive--color,var(--now-messaging_icon--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.-low .now-alert-icon{color:RGB(var(--now-alert_icon--low--color,var(--now-messaging_icon--primary_low--color,var(--now-messaging_icon--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.-ai .now-alert-icon{color:RGB(var(--now-messaging_icon--primary-ai--color,var(--now-color--primary-brand-9,23,139,171)))}.now-alert-container{align-self:center;flex:auto;-webkit-hyphens:auto;hyphens:auto;min-inline-size:0;word-break:break-word}.now-alert-container.is-button-wrapped{-webkit-padding-before:.3125rem;align-self:flex-start;padding-block-start:.3125rem}.now-alert-content:not(.is-expanded){-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.now-alert-content.is-expanded{overflow-y:auto}.now-alert-content.is-expanded::-moz-focus-inner{border-style:none}.now-alert-content.is-expanded:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.now-alert-content.is-expanded:focus{outline:1px solid highlight}}.now-alert-content a{color:RGB(var(--now-text-link--secondary--color,var(--now-actionable_link_label--secondary--color,var(--now-color--link-3,1,104,124))))}.now-alert-content a:hover{color:RGB(var(--now-text-link--secondary--color--hover,var(--now-actionable_link_label--secondary--color--hover,var(--now-color--link-4,1,89,107))))}.now-alert-content a:active{color:RGB(var(--now-text-link--secondary--color--active,var(--now-actionable_link_label--secondary--color--active,var(--now-color--neutral-18,22,27,28))))}.now-alert-content a::-moz-focus-inner{border-style:none}.now-alert-content a:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.now-alert-content a:focus{outline:1px solid highlight}}.now-alert-timer-label{-webkit-margin-start:.75rem;align-self:center;margin-inline-start:.75rem}.now-alert-timer-label.-critical{color:RGB(var(--now-alert_timer-label--critical--color,var(--now-messaging_progress-bar_label--primary_critical--color,var(--now-color_alert--critical-4,120,36,32))))}.now-alert-timer-label.-high{color:RGB(var(--now-alert_timer-label--high--color,var(--now-messaging_progress-bar_label--primary_high--color,var(--now-color_alert--high-4,133,87,20))))}.now-alert-timer-label.-warning{color:RGB(var(--now-alert_timer-label--warning--color,var(--now-messaging_progress-bar_label--primary_warning--color,var(--now-color_alert--warning-5,99,92,11))))}.now-alert-timer-label.-moderate{color:RGB(var(--now-alert_timer-label--moderate--color,var(--now-messaging_progress-bar_label--primary_moderate--color,var(--now-color_alert--moderate-4,50,52,124))))}.now-alert-timer-label.-info{color:RGB(var(--now-alert_timer-label--info--color,var(--now-messaging_progress-bar_label--primary_info--color,var(--now-color_alert--info-4,8,72,118))))}.now-alert-timer-label.-positive{color:RGB(var(--now-alert_timer-label--positive--color,var(--now-messaging_progress-bar_label--primary_positive--color,var(--now-color_alert--positive-4,22,79,26))))}.now-alert-timer-label.-low{color:RGB(var(--now-alert_timer-label--low--color,var(--now-messaging_progress-bar_label--primary_low--color,var(--now-color_alert--low-4,61,61,61))))}.now-alert-timer-label.-ai{color:RGB(var(--now-messaging_progress-bar_label--primary-ai--color,var(--now-color--primary-brand-12,0,111,142)))}.now-alert-content-wrapper{-webkit-padding-after:.375rem;display:flex;flex-basis:100%;min-inline-size:0;padding-block-end:.375rem;padding-inline:.5rem}.now-alert-content-wrapper.-progress-bar-hidden{-webkit-padding-after:.5rem;padding-block-end:.5rem}.now-alert-progress-bar{block-size:var(--now-alert_progress-bar--block-size,.125rem);border-end-end-radius:var(--now-alert--border-radius,var(--now-messaging--border-radius,4px));border-end-start-radius:var(--now-alert--border-radius,var(--now-messaging--border-radius,4px));inline-size:var(--now-alert_progress-bar--inline-size,100%);inset-block:0;transition:var(--now-alert_progress_bar--transition,none)}.now-alert-progress-bar.-critical{background-color:RGB(var(--now-alert_progress-bar--critical--background-color,var(--now-messaging_progress-bar--primary_critical--background-color,var(--now-color_alert--critical-4,120,36,32))))}.now-alert-progress-bar.-high{background-color:RGB(var(--now-alert_progress-bar--high--background-color,var(--now-messaging_progress-bar--primary_high--background-color,var(--now-color_alert--high-4,133,87,20))))}.now-alert-progress-bar.-warning{background-color:RGB(var(--now-alert_progress-bar--warning--background-color,var(--now-messaging_progress-bar--primary_warning--background-color,var(--now-color_alert--warning-5,99,92,11))))}.now-alert-progress-bar.-moderate{background-color:RGB(var(--now-alert_progress-bar--moderate--background-color,var(--now-messaging_progress-bar--primary_moderate--background-color,var(--now-color_alert--moderate-4,50,52,124))))}.now-alert-progress-bar.-info{background-color:RGB(var(--now-alert_progress-bar--info--background-color,var(--now-messaging_progress-bar--primary_info--background-color,var(--now-color_alert--info-4,8,72,118))))}.now-alert-progress-bar.-positive{background-color:RGB(var(--now-alert_progress-bar--positive--background-color,var(--now-messaging_progress-bar--primary_positive--background-color,var(--now-color_alert--positive-4,22,79,26))))}.now-alert-progress-bar.-low{background-color:RGB(var(--now-alert_progress-bar--low--background-color,var(--now-messaging_progress-bar--primary_low--background-color,var(--now-color_alert--low-4,61,61,61))))}.now-alert-progress-bar.-ai{background-color:RGB(var(--now-messaging_progress-bar--primary-ai--background-color,var(--now-color--primary-brand-9,23,139,171)))}.now-alert-button-container{-webkit-margin-start:auto;align-items:center;display:flex;margin-inline-start:auto}.now-alert-expand-button{-webkit-margin-before:.25rem;inline-size:100%;margin-block-start:.25rem;max-inline-size:-webkit-fit-content;max-inline-size:-moz-fit-content;max-inline-size:fit-content}.now-alert-button,.now-alert-button-iconic{-webkit-margin-start:1rem;margin-inline-start:1rem}.now-alert-button{--now-button--scale-size-inline:1;--now-button--scale-size-block:1;--now-button--tertiary--border-width:var(--now-alert_button--border-width,var(--now-messaging_action--primary--border-width,var(--now-messaging--border-width,1px)));--now-button--tertiary--border-radius:var(--now-alert_button--border-radius,var(--now-messaging_action--primary--border-radius,var(--now-messaging--border-radius,4px)));--now-button--tertiary--border-color:var(--now-alert_button--border-color,var(--now-messaging_action--primary--border-color,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81))));--now-button--tertiary--border-color-alpha:var(--now-alert_button--border-color-alpha,var(--now-messaging_action--primary--border-color-alpha,1));--now-button--tertiary--border-color--hover:var(--now-alert_button--border-color--hover,var(--now-messaging_action--primary--border-color--hover,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81))));--now-button--tertiary--border-color-alpha--hover:var(--now-alert_button--border-color-alpha--hover,var(--now-messaging_action--primary--border-color-alpha--hover,1));--now-button--tertiary--border-color--active:var(--now-alert_button--border-color--active,var(--now-messaging_action--primary--border-color--active,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81))));--now-button--tertiary--border-color-alpha--active:var(--now-alert_button--border-color-alpha--active,var(--now-messaging_action--primary--border-color-alpha--active,1));--now-button--tertiary--color:var(--now-alert_button--color,var(--now-messaging_action_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));--now-button--tertiary--color--hover:var(--now-alert_button--color--hover,var(--now-messaging_action_label--primary--color--hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));--now-button--tertiary--color--active:var(--now-alert_button--color--active,var(--now-messaging_action_label--primary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));--now-button--tertiary--background-color:var(--now-alert_button--background-color,var(--now-messaging_action--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));--now-button--tertiary--background-color-alpha:var(--now-alert_button--background-color-alpha,var(--now-messaging_action--primary--background-color-alpha,0));--now-button--tertiary--background-color--hover:var(--now-alert_button--background-color--hover,var(--now-messaging_action--primary--background-color--hover,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));--now-button--tertiary--background-color-alpha--hover:var(--now-alert_button--background-color-alpha--hover,var(--now-messaging_action--primary--background-color-alpha--hover,var(--now-opacity--less,0.25)));--now-button--tertiary--background-color--active:var(--now-alert_button--background-color--active,var(--now-messaging_action--primary--background-color--active,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));--now-button--tertiary--background-color-alpha--active:var(--now-alert_button--background-color-alpha--active,var(--now-messaging_action--primary--background-color-alpha--active,var(--now-opacity--more,0.65)))}.-critical .now-alert-button{--now-button--tertiary--border-color:var(--now-alert_button--critical--border-color,var(--now-messaging_action--primary_critical--border-color,var(--now-messaging_action--primary--border-color,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))));--now-button--tertiary--border-color-alpha:var(--now-alert_button--critical--border-color-alpha,var(--now-messaging_action--primary_critical--border-color-alpha,var(--now-messaging_action--primary--border-color-alpha,1)));--now-button--tertiary--border-color--hover:var(--now-alert_button--critical--border-color--hover,var(--now-messaging_action--primary_critical--border-color--hover,var(--now-messaging_action--primary--border-color--hover,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))));--now-button--tertiary--border-color-alpha--hover:var(--now-alert_button--critical--border-color-alpha--hover,var(--now-messaging_action--primary_critical--border-color-alpha--hover,var(--now-messaging_action--primary--border-color-alpha--hover,1)));--now-button--tertiary--border-color--active:var(--now-alert_button--critical--border-color--active,var(--now-messaging_action--primary_critical--border-color--active,var(--now-messaging_action--primary--border-color--active,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))));--now-button--tertiary--border-color-alpha--active:var(--now-alert_button--critical--border-color-alpha--active,var(--now-messaging_action--primary_critical--border-color-alpha--active,var(--now-messaging_action--primary--border-color-alpha--active,1)));--now-button--tertiary--color:var(--now-alert_button--critical--color,var(--now-messaging_action_label--primary_critical--color,var(--now-messaging_action_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));--now-button--tertiary--color--hover:var(--now-alert_button--critical--color--hover,var(--now-messaging_action_label--primary_critical--color--hover,var(--now-messaging_action_label--primary--color--hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));--now-button--tertiary--color--active:var(--now-alert_button--critical--color--active,var(--now-messaging_action_label--primary_critical--color--active,var(--now-messaging_action_label--primary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));--now-button--tertiary--background-color:var(--now-alert_button--critical--background-color,var(--now-messaging_action--primary_critical--background-color,var(--now-messaging_action--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button--tertiary--background-color-alpha:var(--now-alert_button--critical--background-color-alpha,var(--now-messaging_action--primary_critical--background-color-alpha,var(--now-messaging_action--primary--background-color-alpha,0)));--now-button--tertiary--background-color--hover:var(--now-alert_button--critical--background-color--hover,var(--now-messaging_action--primary_critical--background-color--hover,var(--now-messaging_action--primary--background-color--hover,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button--tertiary--background-color-alpha--hover:var(--now-alert_button--critical--background-color-alpha--hover,var(--now-messaging_action--primary_critical--background-color-alpha--hover,var(--now-messaging_action--primary--background-color-alpha--hover,var(--now-opacity--less,0.25))));--now-button--tertiary--background-color--active:var(--now-alert_button--critical--background-color--active,var(--now-messaging_action--primary_critical--background-color--active,var(--now-messaging_action--primary--background-color--active,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button--tertiary--background-color-alpha--active:var(--now-alert_button--critical--background-color-alpha--active,var(--now-messaging_action--primary_critical--background-color-alpha--active,var(--now-messaging_action--primary--background-color-alpha--active,var(--now-opacity--more,0.65))))}.-high .now-alert-button{--now-button--tertiary--border-color:var(--now-alert_button--high--border-color,var(--now-messaging_action--primary_high--border-color,var(--now-messaging_action--primary--border-color,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))));--now-button--tertiary--border-color-alpha:var(--now-alert_button--high--border-color-alpha,var(--now-messaging_action--primary_high--border-color-alpha,var(--now-messaging_action--primary--border-color-alpha,1)));--now-button--tertiary--border-color--hover:var(--now-alert_button--high--border-color--hover,var(--now-messaging_action--primary_high--border-color--hover,var(--now-messaging_action--primary--border-color--hover,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))));--now-button--tertiary--border-color-alpha--hover:var(--now-alert_button--high--border-color-alpha--hover,var(--now-messaging_action--primary_high--border-color-alpha--hover,var(--now-messaging_action--primary--border-color-alpha--hover,1)));--now-button--tertiary--border-color--active:var(--now-alert_button--high--border-color--active,var(--now-messaging_action--primary_high--border-color--active,var(--now-messaging_action--primary--border-color--active,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))));--now-button--tertiary--border-color-alpha--active:var(--now-alert_button--high--border-color-alpha--active,var(--now-messaging_action--primary_high--border-color-alpha--active,var(--now-messaging_action--primary--border-color-alpha--active,1)));--now-button--tertiary--color:var(--now-alert_button--high--color,var(--now-messaging_action_label--primary_high--color,var(--now-messaging_action_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));--now-button--tertiary--color--hover:var(--now-alert_button--high--color--hover,var(--now-messaging_action_label--primary_high--color--hover,var(--now-messaging_action_label--primary--color--hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));--now-button--tertiary--color--active:var(--now-alert_button--high--color--active,var(--now-messaging_action_label--primary_high--color--active,var(--now-messaging_action_label--primary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));--now-button--tertiary--background-color:var(--now-alert_button--high--background-color,var(--now-messaging_action--primary_high--background-color,var(--now-messaging_action--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button--tertiary--background-color-alpha:var(--now-alert_button--high--background-color-alpha,var(--now-messaging_action--primary_high--background-color-alpha,var(--now-messaging_action--primary--background-color-alpha,0)));--now-button--tertiary--background-color--hover:var(--now-alert_button--high--background-color--hover,var(--now-messaging_action--primary_high--background-color--hover,var(--now-messaging_action--primary--background-color--hover,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button--tertiary--background-color-alpha--hover:var(--now-alert_button--high--background-color-alpha--hover,var(--now-messaging_action--primary_high--background-color-alpha--hover,var(--now-messaging_action--primary--background-color-alpha--hover,var(--now-opacity--less,0.25))));--now-button--tertiary--background-color--active:var(--now-alert_button--high--background-color--active,var(--now-messaging_action--primary_high--background-color--active,var(--now-messaging_action--primary--background-color--active,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button--tertiary--background-color-alpha--active:var(--now-alert_button--high--background-color-alpha--active,var(--now-messaging_action--primary_high--background-color-alpha--active,var(--now-messaging_action--primary--background-color-alpha--active,var(--now-opacity--more,0.65))))}.-warning .now-alert-button{--now-button--tertiary--border-color:var(--now-alert_button--warning--border-color,var(--now-messaging_action--primary_warning--border-color,var(--now-messaging_action--primary--border-color,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))));--now-button--tertiary--border-color-alpha:var(--now-alert_button--warning--border-color-alpha,var(--now-messaging_action--primary_warning--border-color-alpha,var(--now-messaging_action--primary--border-color-alpha,1)));--now-button--tertiary--border-color--hover:var(--now-alert_button--warning--border-color--hover,var(--now-messaging_action--primary_warning--border-color--hover,var(--now-messaging_action--primary--border-color--hover,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))));--now-button--tertiary--border-color-alpha--hover:var(--now-alert_button--warning--border-color-alpha--hover,var(--now-messaging_action--primary_warning--border-color-alpha--hover,var(--now-messaging_action--primary--border-color-alpha--hover,1)));--now-button--tertiary--border-color--active:var(--now-alert_button--warning--border-color--active,var(--now-messaging_action--primary_warning--border-color--active,var(--now-messaging_action--primary--border-color--active,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))));--now-button--tertiary--border-color-alpha--active:var(--now-alert_button--warning--border-color-alpha--active,var(--now-messaging_action--primary_warning--border-color-alpha--active,var(--now-messaging_action--primary--border-color-alpha--active,1)));--now-button--tertiary--color:var(--now-alert_button--warning--color,var(--now-messaging_action_label--primary_warning--color,var(--now-messaging_action_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));--now-button--tertiary--color--hover:var(--now-alert_button--warning--color--hover,var(--now-messaging_action_label--primary_warning--color--hover,var(--now-messaging_action_label--primary--color--hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));--now-button--tertiary--color--active:var(--now-alert_button--warning--color--active,var(--now-messaging_action_label--primary_warning--color--active,var(--now-messaging_action_label--primary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));--now-button--tertiary--background-color:var(--now-alert_button--warning--background-color,var(--now-messaging_action--primary_warning--background-color,var(--now-messaging_action--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button--tertiary--background-color-alpha:var(--now-alert_button--warning--background-color-alpha,var(--now-messaging_action--primary_warning--background-color-alpha,var(--now-messaging_action--primary--background-color-alpha,0)));--now-button--tertiary--background-color--hover:var(--now-alert_button--warning--background-color--hover,var(--now-messaging_action--primary_warning--background-color--hover,var(--now-messaging_action--primary--background-color--hover,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button--tertiary--background-color-alpha--hover:var(--now-alert_button--warning--background-color-alpha--hover,var(--now-messaging_action--primary_warning--background-color-alpha--hover,var(--now-messaging_action--primary--background-color-alpha--hover,var(--now-opacity--less,0.25))));--now-button--tertiary--background-color--active:var(--now-alert_button--warning--background-color--active,var(--now-messaging_action--primary_warning--background-color--active,var(--now-messaging_action--primary--background-color--active,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button--tertiary--background-color-alpha--active:var(--now-alert_button--warning--background-color-alpha--active,var(--now-messaging_action--primary_warning--background-color-alpha--active,var(--now-messaging_action--primary--background-color-alpha--active,var(--now-opacity--more,0.65))))}.-moderate .now-alert-button{--now-button--tertiary--border-color:var(--now-alert_button--moderate--border-color,var(--now-messaging_action--primary_moderate--border-color,var(--now-messaging_action--primary--border-color,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))));--now-button--tertiary--border-color-alpha:var(--now-alert_button--moderate--border-color-alpha,var(--now-messaging_action--primary_moderate--border-color-alpha,var(--now-messaging_action--primary--border-color-alpha,1)));--now-button--tertiary--border-color--hover:var(--now-alert_button--moderate--border-color--hover,var(--now-messaging_action--primary_moderate--border-color--hover,var(--now-messaging_action--primary--border-color--hover,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))));--now-button--tertiary--border-color-alpha--hover:var(--now-alert_button--moderate--border-color-alpha--hover,var(--now-messaging_action--primary_moderate--border-color-alpha--hover,var(--now-messaging_action--primary--border-color-alpha--hover,1)));--now-button--tertiary--border-color--active:var(--now-alert_button--moderate--border-color--active,var(--now-messaging_action--primary_moderate--border-color--active,var(--now-messaging_action--primary--border-color--active,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))));--now-button--tertiary--border-color-alpha--active:var(--now-alert_button--moderate--border-color-alpha--active,var(--now-messaging_action--primary_moderate--border-color-alpha--active,var(--now-messaging_action--primary--border-color-alpha--active,1)));--now-button--tertiary--color:var(--now-alert_button--moderate--color,var(--now-messaging_action_label--primary_moderate--color,var(--now-messaging_action_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));--now-button--tertiary--color--hover:var(--now-alert_button--moderate--color--hover,var(--now-messaging_action_label--primary_moderate--color--hover,var(--now-messaging_action_label--primary--color--hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));--now-button--tertiary--color--active:var(--now-alert_button--moderate--color--active,var(--now-messaging_action_label--primary_moderate--color--active,var(--now-messaging_action_label--primary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));--now-button--tertiary--background-color:var(--now-alert_button--moderate--background-color,var(--now-messaging_action--primary_moderate--background-color,var(--now-messaging_action--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button--tertiary--background-color-alpha:var(--now-alert_button--moderate--background-color-alpha,var(--now-messaging_action--primary_moderate--background-color-alpha,var(--now-messaging_action--primary--background-color-alpha,0)));--now-button--tertiary--background-color--hover:var(--now-alert_button--moderate--background-color--hover,var(--now-messaging_action--primary_moderate--background-color--hover,var(--now-messaging_action--primary--background-color--hover,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button--tertiary--background-color-alpha--hover:var(--now-alert_button--moderate--background-color-alpha--hover,var(--now-messaging_action--primary_moderate--background-color-alpha--hover,var(--now-messaging_action--primary--background-color-alpha--hover,var(--now-opacity--less,0.25))));--now-button--tertiary--background-color--active:var(--now-alert_button--moderate--background-color--active,var(--now-messaging_action--primary_moderate--background-color--active,var(--now-messaging_action--primary--background-color--active,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button--tertiary--background-color-alpha--active:var(--now-alert_button--moderate--background-color-alpha--active,var(--now-messaging_action--primary_moderate--background-color-alpha--active,var(--now-messaging_action--primary--background-color-alpha--active,var(--now-opacity--more,0.65))))}.-info .now-alert-button{--now-button--tertiary--border-color:var(--now-alert_button--info--border-color,var(--now-messaging_action--primary_info--border-color,var(--now-messaging_action--primary--border-color,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))));--now-button--tertiary--border-color-alpha:var(--now-alert_button--info--border-color-alpha,var(--now-messaging_action--primary_info--border-color-alpha,var(--now-messaging_action--primary--border-color-alpha,1)));--now-button--tertiary--border-color--hover:var(--now-alert_button--info--border-color--hover,var(--now-messaging_action--primary_info--border-color--hover,var(--now-messaging_action--primary--border-color--hover,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))));--now-button--tertiary--border-color-alpha--hover:var(--now-alert_button--info--border-color-alpha--hover,var(--now-messaging_action--primary_info--border-color-alpha--hover,var(--now-messaging_action--primary--border-color-alpha--hover,1)));--now-button--tertiary--border-color--active:var(--now-alert_button--info--border-color--active,var(--now-messaging_action--primary_info--border-color--active,var(--now-messaging_action--primary--border-color--active,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))));--now-button--tertiary--border-color-alpha--active:var(--now-alert_button--info--border-color-alpha--active,var(--now-messaging_action--primary_info--border-color-alpha--active,var(--now-messaging_action--primary--border-color-alpha--active,1)));--now-button--tertiary--color:var(--now-alert_button--info--color,var(--now-messaging_action_label--primary_info--color,var(--now-messaging_action_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));--now-button--tertiary--color--hover:var(--now-alert_button--info--color--hover,var(--now-messaging_action_label--primary_info--color--hover,var(--now-messaging_action_label--primary--color--hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));--now-button--tertiary--color--active:var(--now-alert_button--info--color--active,var(--now-messaging_action_label--primary_info--color--active,var(--now-messaging_action_label--primary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));--now-button--tertiary--background-color:var(--now-alert_button--info--background-color,var(--now-messaging_action--primary_info--background-color,var(--now-messaging_action--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button--tertiary--background-color-alpha:var(--now-alert_button--info--background-color-alpha,var(--now-messaging_action--primary_info--background-color-alpha,var(--now-messaging_action--primary--background-color-alpha,0)));--now-button--tertiary--background-color--hover:var(--now-alert_button--info--background-color--hover,var(--now-messaging_action--primary_info--background-color--hover,var(--now-messaging_action--primary--background-color--hover,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button--tertiary--background-color-alpha--hover:var(--now-alert_button--info--background-color-alpha--hover,var(--now-messaging_action--primary_info--background-color-alpha--hover,var(--now-messaging_action--primary--background-color-alpha--hover,var(--now-opacity--less,0.25))));--now-button--tertiary--background-color--active:var(--now-alert_button--info--background-color--active,var(--now-messaging_action--primary_info--background-color--active,var(--now-messaging_action--primary--background-color--active,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button--tertiary--background-color-alpha--active:var(--now-alert_button--info--background-color-alpha--active,var(--now-messaging_action--primary_info--background-color-alpha--active,var(--now-messaging_action--primary--background-color-alpha--active,var(--now-opacity--more,0.65))))}.-positive .now-alert-button{--now-button--tertiary--border-color:var(--now-alert_button--positive--border-color,var(--now-messaging_action--primary_positive--border-color,var(--now-messaging_action--primary--border-color,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))));--now-button--tertiary--border-color-alpha:var(--now-alert_button--positive--border-color-alpha,var(--now-messaging_action--primary_positive--border-color-alpha,var(--now-messaging_action--primary--border-color-alpha,1)));--now-button--tertiary--border-color--hover:var(--now-alert_button--positive--border-color--hover,var(--now-messaging_action--primary_positive--border-color--hover,var(--now-messaging_action--primary--border-color--hover,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))));--now-button--tertiary--border-color-alpha--hover:var(--now-alert_button--positive--border-color-alpha--hover,var(--now-messaging_action--primary_positive--border-color-alpha--hover,var(--now-messaging_action--primary--border-color-alpha--hover,1)));--now-button--tertiary--border-color--active:var(--now-alert_button--positive--border-color--active,var(--now-messaging_action--primary_positive--border-color--active,var(--now-messaging_action--primary--border-color--active,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))));--now-button--tertiary--border-color-alpha--active:var(--now-alert_button--positive--border-color-alpha--active,var(--now-messaging_action--primary_positive--border-color-alpha--active,var(--now-messaging_action--primary--border-color-alpha--active,1)));--now-button--tertiary--color:var(--now-alert_button--positive--color,var(--now-messaging_action_label--primary_positive--color,var(--now-messaging_action_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));--now-button--tertiary--color--hover:var(--now-alert_button--positive--color--hover,var(--now-messaging_action_label--primary_positive--color--hover,var(--now-messaging_action_label--primary--color--hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));--now-button--tertiary--color--active:var(--now-alert_button--positive--color--active,var(--now-messaging_action_label--primary_positive--color--active,var(--now-messaging_action_label--primary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));--now-button--tertiary--background-color:var(--now-alert_button--positive--background-color,var(--now-messaging_action--primary_positive--background-color,var(--now-messaging_action--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button--tertiary--background-color-alpha:var(--now-alert_button--positive--background-color-alpha,var(--now-messaging_action--primary_positive--background-color-alpha,var(--now-messaging_action--primary--background-color-alpha,0)));--now-button--tertiary--background-color--hover:var(--now-alert_button--positive--background-color--hover,var(--now-messaging_action--primary_positive--background-color--hover,var(--now-messaging_action--primary--background-color--hover,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button--tertiary--background-color-alpha--hover:var(--now-alert_button--positive--background-color-alpha--hover,var(--now-messaging_action--primary_positive--background-color-alpha--hover,var(--now-messaging_action--primary--background-color-alpha--hover,var(--now-opacity--less,0.25))));--now-button--tertiary--background-color--active:var(--now-alert_button--positive--background-color--active,var(--now-messaging_action--primary_positive--background-color--active,var(--now-messaging_action--primary--background-color--active,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button--tertiary--background-color-alpha--active:var(--now-alert_button--positive--background-color-alpha--active,var(--now-messaging_action--primary_positive--background-color-alpha--active,var(--now-messaging_action--primary--background-color-alpha--active,var(--now-opacity--more,0.65))))}.-low .now-alert-button{--now-button--tertiary--border-color:var(--now-alert_button--low--border-color,var(--now-messaging_action--primary_low--border-color,var(--now-messaging_action--primary--border-color,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))));--now-button--tertiary--border-color-alpha:var(--now-alert_button--low--border-color-alpha,var(--now-messaging_action--primary_low--border-color-alpha,var(--now-messaging_action--primary--border-color-alpha,1)));--now-button--tertiary--border-color--hover:var(--now-alert_button--low--border-color--hover,var(--now-messaging_action--primary_low--border-color--hover,var(--now-messaging_action--primary--border-color--hover,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))));--now-button--tertiary--border-color-alpha--hover:var(--now-alert_button--low--border-color-alpha--hover,var(--now-messaging_action--primary_low--border-color-alpha--hover,var(--now-messaging_action--primary--border-color-alpha--hover,1)));--now-button--tertiary--border-color--active:var(--now-alert_button--low--border-color--active,var(--now-messaging_action--primary_low--border-color--active,var(--now-messaging_action--primary--border-color--active,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))));--now-button--tertiary--border-color-alpha--active:var(--now-alert_button--low--border-color-alpha--active,var(--now-messaging_action--primary_low--border-color-alpha--active,var(--now-messaging_action--primary--border-color-alpha--active,1)));--now-button--tertiary--color:var(--now-alert_button--low--color,var(--now-messaging_action_label--primary_low--color,var(--now-messaging_action_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));--now-button--tertiary--color--hover:var(--now-alert_button--low--color--hover,var(--now-messaging_action_label--primary_low--color--hover,var(--now-messaging_action_label--primary--color--hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));--now-button--tertiary--color--active:var(--now-alert_button--low--color--active,var(--now-messaging_action_label--primary_low--color--active,var(--now-messaging_action_label--primary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));--now-button--tertiary--background-color:var(--now-alert_button--low--background-color,var(--now-messaging_action--primary_low--background-color,var(--now-messaging_action--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button--tertiary--background-color-alpha:var(--now-alert_button--low--background-color-alpha,var(--now-messaging_action--primary_low--background-color-alpha,var(--now-messaging_action--primary--background-color-alpha,0)));--now-button--tertiary--background-color--hover:var(--now-alert_button--low--background-color--hover,var(--now-messaging_action--primary_low--background-color--hover,var(--now-messaging_action--primary--background-color--hover,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button--tertiary--background-color-alpha--hover:var(--now-alert_button--low--background-color-alpha--hover,var(--now-messaging_action--primary_low--background-color-alpha--hover,var(--now-messaging_action--primary--background-color-alpha--hover,var(--now-opacity--less,0.25))));--now-button--tertiary--background-color--active:var(--now-alert_button--low--background-color--active,var(--now-messaging_action--primary_low--background-color--active,var(--now-messaging_action--primary--background-color--active,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button--tertiary--background-color-alpha--active:var(--now-alert_button--low--background-color-alpha--active,var(--now-messaging_action--primary_low--background-color-alpha--active,var(--now-messaging_action--primary--background-color-alpha--active,var(--now-opacity--more,0.65))))}.-ai .now-alert-button{--now-button--tertiary--border-color:var(--now-messaging_action--primary-ai--border-color,var(--now-messaging_action--primary--border-color,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81))));--now-button--tertiary--border-color-alpha:var(--now-messaging_action--primary-ai--border-color-alpha,var(--now-messaging_action--primary--border-color-alpha,1));--now-button--tertiary--border-color--hover:var(--now-messaging_action--primary-ai--border-color--hover,var(--now-messaging_action--primary--border-color--hover,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81))));--now-button--tertiary--border-color-alpha--hover:var(--now-messaging_action--primary-ai--border-color-alpha--hover,var(--now-messaging_action--primary--border-color-alpha--hover,1));--now-button--tertiary--border-color--active:var(--now-messaging_action--primary-ai--border-color--active,var(--now-messaging_action--primary--border-color--active,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81))));--now-button--tertiary--border-color-alpha--active:var(--now-messaging_action--primary-ai--border-color-alpha--active,var(--now-messaging_action--primary--border-color-alpha--active,1));--now-button--tertiary--color:var(--now-messaging_action_label--primary-ai--color,var(--now-messaging_action_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));--now-button--tertiary--color--hover:var(--now-messaging_action_label--primary-ai--color--hover,var(--now-messaging_action_label--primary--color--hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));--now-button--tertiary--color--active:var(--now-messaging_action_label--primary-ai--color--active,var(--now-messaging_action_label--primary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));--now-button--tertiary--background-color:var(--now-messaging_action--primary-ai--background-color,var(--now-messaging_action--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));--now-button--tertiary--background-color-alpha:var(--now-messaging_action--primary-ai--background-color-alpha,var(--now-messaging_action--primary--background-color-alpha,0));--now-button--tertiary--background-color--hover:var(--now-messaging_action--primary-ai--background-color--hover,var(--now-messaging_action--primary--background-color--hover,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));--now-button--tertiary--background-color-alpha--hover:var(--now-messaging_action--primary-ai--background-color-alpha--hover,var(--now-messaging_action--primary--background-color-alpha--hover,var(--now-opacity--less,0.25)));--now-button--tertiary--background-color--active:var(--now-messaging_action--primary-ai--background-color--active,var(--now-messaging_action--primary--background-color--active,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));--now-button--tertiary--background-color-alpha--active:var(--now-messaging_action--primary-ai--background-color-alpha--active,var(--now-messaging_action--primary--background-color-alpha--active,var(--now-opacity--more,0.65)))}.now-alert-button-iconic{--now-button--scale-size:1;--now-button-iconic--bare_tertiary--border-width:var(--now-alert_button-iconic--border-width,var(--now-messaging_action--primary_bare--border-width,0px));--now-button-iconic--bare_tertiary--border-radius:var(--now-alert_button-iconic--border-radius,var(--now-messaging_action--primary_bare--border-radius,var(--now-messaging--border-radius,4px)));--now-button-iconic--bare_tertiary--border-color--hover:var(--now-alert_button-iconic--border-color--hover,var(--now-messaging_action--primary_bare--border-color--hover,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));--now-button-iconic--bare_tertiary--border-color-alpha--hover:var(--now-alert_button-iconic--border-color-alpha--hover,var(--now-messaging_action--primary_bare--border-color-alpha--hover,0));--now-button-iconic--bare_tertiary--border-color--active:var(--now-alert_button-iconic--border-color--active,var(--now-messaging_action--primary_bare--border-color--active,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))));--now-button-iconic--bare_tertiary--border-color-alpha--active:var(--now-alert_button-iconic--border-color-alpha--active,var(--now-messaging_action--primary_bare--border-color-alpha--active,0));--now-button-iconic--bare_tertiary--color:var(--now-alert_button-iconic--color,var(--now-messaging_action_icon--primary_bare--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))));--now-button-iconic--bare_tertiary--color--hover:var(--now-alert_button-iconic--color--hover,var(--now-messaging_action_icon--primary_bare--color--hover,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));--now-button-iconic--bare_tertiary--color--active:var(--now-alert_button-iconic--color--active,var(--now-messaging_action_icon--primary_bare--color--active,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))));--now-button-iconic--bare_tertiary--background-color--hover:var(--now-alert_button-iconic--background-color--hover,var(--now-messaging_action--primary_bare--background-color--hover,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));--now-button-iconic--bare_tertiary--background-color-alpha--hover:var(--now-alert_button-iconic--background-color-alpha--hover,var(--now-messaging_action--primary_bare--background-color-alpha--hover,0));--now-button-iconic--bare_tertiary--background-color--active:var(--now-alert_button-iconic--background-color--active,var(--now-messaging_action--primary_bare--background-color--active,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));--now-button-iconic--bare_tertiary--background-color-alpha--active:var(--now-alert_button-iconic--background-color-alpha--active,var(--now-messaging_action--primary_bare--background-color-alpha--active,0))}.-critical .now-alert-button-iconic{--now-button-iconic--bare_tertiary--border-color--hover:var(--now-alert_button-iconic--critical--border-color--hover,var(--now-messaging_action--primary_bare_critical--border-color--hover,var(--now-color_alert--critical-4,120,36,32)));--now-button-iconic--bare_tertiary--border-color-alpha--hover:var(--now-alert_button-iconic--critical--border-color-alpha--hover,var(--now-messaging_action--primary_bare_critical--border-color-alpha--hover,var(--now-messaging_action--primary_bare--border-color-alpha--hover,0)));--now-button-iconic--bare_tertiary--border-color--active:var(--now-alert_button-iconic--critical--border-color--active,var(--now-messaging_action--primary_bare_critical--border-color--active,var(--now-color_alert--critical-5,80,24,22)));--now-button-iconic--bare_tertiary--border-color-alpha--active:var(--now-alert_button-iconic--critical--border-color-alpha--active,var(--now-messaging_action--primary_bare_critical--border-color-alpha--active,var(--now-messaging_action--primary_bare--border-color-alpha--active,0)));--now-button-iconic--bare_tertiary--color:var(--now-alert_button-iconic--critical--color,var(--now-messaging_action_icon--primary_bare_critical--color,var(--now-color_alert--critical-3,160,48,43)));--now-button-iconic--bare_tertiary--color--hover:var(--now-alert_button-iconic--critical--color--hover,var(--now-messaging_action_icon--primary_bare_critical--color--hover,var(--now-color_alert--critical-4,120,36,32)));--now-button-iconic--bare_tertiary--color--active:var(--now-alert_button-iconic--critical--color--active,var(--now-messaging_action_icon--primary_bare_critical--color--active,var(--now-color_alert--critical-5,80,24,22)));--now-button-iconic--bare_tertiary--background-color--hover:var(--now-alert_button-iconic--critical--background-color--hover,var(--now-messaging_action--primary_bare_critical--background-color--hover,var(--now-messaging_action--primary_bare--background-color--hover,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button-iconic--bare_tertiary--background-color-alpha--hover:var(--now-alert_button-iconic--critical--background-color-alpha--hover,var(--now-messaging_action--primary_bare_critical--background-color-alpha--hover,var(--now-messaging_action--primary_bare--background-color-alpha--hover,0)));--now-button-iconic--bare_tertiary--background-color--active:var(--now-alert_button-iconic--critical--background-color--active,var(--now-messaging_action--primary_bare_critical--background-color--active,var(--now-messaging_action--primary_bare--background-color--active,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button-iconic--bare_tertiary--background-color-alpha--active:var(--now-alert_button-iconic--critical--background-color-alpha--active,var(--now-messaging_action--primary_bare_critical--background-color-alpha--active,var(--now-messaging_action--primary_bare--background-color-alpha--active,0)))}.-high .now-alert-button-iconic{--now-button-iconic--bare_tertiary--border-color--hover:var(--now-alert_button-iconic--high--border-color--hover,var(--now-messaging_action--primary_bare_high--border-color--hover,var(--now-color_alert--high-4,133,87,20)));--now-button-iconic--bare_tertiary--border-color-alpha--hover:var(--now-alert_button-iconic--high--border-color-alpha--hover,var(--now-messaging_action--primary_bare_high--border-color-alpha--hover,var(--now-messaging_action--primary_bare--border-color-alpha--hover,0)));--now-button-iconic--bare_tertiary--border-color--active:var(--now-alert_button-iconic--high--border-color--active,var(--now-messaging_action--primary_bare_high--border-color--active,var(--now-color_alert--high-5,88,58,14)));--now-button-iconic--bare_tertiary--border-color-alpha--active:var(--now-alert_button-iconic--high--border-color-alpha--active,var(--now-messaging_action--primary_bare_high--border-color-alpha--active,var(--now-messaging_action--primary_bare--border-color-alpha--active,0)));--now-button-iconic--bare_tertiary--color:var(--now-alert_button-iconic--high--color,var(--now-messaging_action_icon--primary_bare_high--color,var(--now-color_alert--high-3,177,116,27)));--now-button-iconic--bare_tertiary--color--hover:var(--now-alert_button-iconic--high--color--hover,var(--now-messaging_action_icon--primary_bare_high--color--hover,var(--now-color_alert--high-4,133,87,20)));--now-button-iconic--bare_tertiary--color--active:var(--now-alert_button-iconic--high--color--active,var(--now-messaging_action_icon--primary_bare_high--color--active,var(--now-color_alert--high-5,88,58,14)));--now-button-iconic--bare_tertiary--background-color--hover:var(--now-alert_button-iconic--high--background-color--hover,var(--now-messaging_action--primary_bare_high--background-color--hover,var(--now-messaging_action--primary_bare--background-color--hover,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button-iconic--bare_tertiary--background-color-alpha--hover:var(--now-alert_button-iconic--high--background-color-alpha--hover,var(--now-messaging_action--primary_bare_high--background-color-alpha--hover,var(--now-messaging_action--primary_bare--background-color-alpha--hover,0)));--now-button-iconic--bare_tertiary--background-color--active:var(--now-alert_button-iconic--high--background-color--active,var(--now-messaging_action--primary_bare_high--background-color--active,var(--now-messaging_action--primary_bare--background-color--active,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button-iconic--bare_tertiary--background-color-alpha--active:var(--now-alert_button-iconic--high--background-color-alpha--active,var(--now-messaging_action--primary_bare_high--background-color-alpha--active,var(--now-messaging_action--primary_bare--background-color-alpha--active,0)))}.-warning .now-alert-button-iconic{--now-button-iconic--bare_tertiary--border-color--hover:var(--now-alert_button-iconic--warning--border-color--hover,var(--now-messaging_action--primary_bare_warning--border-color--hover,var(--now-color_alert--warning-5,99,92,11)));--now-button-iconic--bare_tertiary--border-color-alpha--hover:var(--now-alert_button-iconic--warning--border-color-alpha--hover,var(--now-messaging_action--primary_bare_warning--border-color-alpha--hover,var(--now-messaging_action--primary_bare--border-color-alpha--hover,0)));--now-button-iconic--bare_tertiary--border-color--active:var(--now-alert_button-iconic--warning--border-color--active,var(--now-messaging_action--primary_bare_warning--border-color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));--now-button-iconic--bare_tertiary--border-color-alpha--active:var(--now-alert_button-iconic--warning--border-color-alpha--active,var(--now-messaging_action--primary_bare_warning--border-color-alpha--active,var(--now-messaging_action--primary_bare--border-color-alpha--active,0)));--now-button-iconic--bare_tertiary--color:var(--now-alert_button-iconic--warning--color,var(--now-messaging_action_icon--primary_bare_warning--color,var(--now-color_alert--warning-4,149,139,17)));--now-button-iconic--bare_tertiary--color--hover:var(--now-alert_button-iconic--warning--color--hover,var(--now-messaging_action_icon--primary_bare_warning--color--hover,var(--now-color_alert--warning-5,99,92,11)));--now-button-iconic--bare_tertiary--color--active:var(--now-alert_button-iconic--warning--color--active,var(--now-messaging_action_icon--primary_bare_warning--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));--now-button-iconic--bare_tertiary--background-color--hover:var(--now-alert_button-iconic--warning--background-color--hover,var(--now-messaging_action--primary_bare_warning--background-color--hover,var(--now-messaging_action--primary_bare--background-color--hover,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button-iconic--bare_tertiary--background-color-alpha--hover:var(--now-alert_button-iconic--warning--background-color-alpha--hover,var(--now-messaging_action--primary_bare_warning--background-color-alpha--hover,var(--now-messaging_action--primary_bare--background-color-alpha--hover,0)));--now-button-iconic--bare_tertiary--background-color--active:var(--now-alert_button-iconic--warning--background-color--active,var(--now-messaging_action--primary_bare_warning--background-color--active,var(--now-messaging_action--primary_bare--background-color--active,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button-iconic--bare_tertiary--background-color-alpha--active:var(--now-alert_button-iconic--warning--background-color-alpha--active,var(--now-messaging_action--primary_bare_warning--background-color-alpha--active,var(--now-messaging_action--primary_bare--background-color-alpha--active,0)))}.-moderate .now-alert-button-iconic{--now-button-iconic--bare_tertiary--border-color--hover:var(--now-alert_button-iconic--moderate--border-color--hover,var(--now-messaging_action--primary_bare_moderate--border-color--hover,var(--now-color_alert--moderate-4,50,52,124)));--now-button-iconic--bare_tertiary--border-color-alpha--hover:var(--now-alert_button-iconic--moderate--border-color-alpha--hover,var(--now-messaging_action--primary_bare_moderate--border-color-alpha--hover,var(--now-messaging_action--primary_bare--border-color-alpha--hover,0)));--now-button-iconic--bare_tertiary--border-color--active:var(--now-alert_button-iconic--moderate--border-color--active,var(--now-messaging_action--primary_bare_moderate--border-color--active,var(--now-color_alert--moderate-5,34,34,83)));--now-button-iconic--bare_tertiary--border-color-alpha--active:var(--now-alert_button-iconic--moderate--border-color-alpha--active,var(--now-messaging_action--primary_bare_moderate--border-color-alpha--active,var(--now-messaging_action--primary_bare--border-color-alpha--active,0)));--now-button-iconic--bare_tertiary--color:var(--now-alert_button-iconic--moderate--color,var(--now-messaging_action_icon--primary_bare_moderate--color,var(--now-color_alert--moderate-3,67,69,166)));--now-button-iconic--bare_tertiary--color--hover:var(--now-alert_button-iconic--moderate--color--hover,var(--now-messaging_action_icon--primary_bare_moderate--color--hover,var(--now-color_alert--moderate-4,50,52,124)));--now-button-iconic--bare_tertiary--color--active:var(--now-alert_button-iconic--moderate--color--active,var(--now-messaging_action_icon--primary_bare_moderate--color--active,var(--now-color_alert--moderate-5,34,34,83)));--now-button-iconic--bare_tertiary--background-color--hover:var(--now-alert_button-iconic--moderate--background-color--hover,var(--now-messaging_action--primary_bare_moderate--background-color--hover,var(--now-messaging_action--primary_bare--background-color--hover,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button-iconic--bare_tertiary--background-color-alpha--hover:var(--now-alert_button-iconic--moderate--background-color-alpha--hover,var(--now-messaging_action--primary_bare_moderate--background-color-alpha--hover,var(--now-messaging_action--primary_bare--background-color-alpha--hover,0)));--now-button-iconic--bare_tertiary--background-color--active:var(--now-alert_button-iconic--moderate--background-color--active,var(--now-messaging_action--primary_bare_moderate--background-color--active,var(--now-messaging_action--primary_bare--background-color--active,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button-iconic--bare_tertiary--background-color-alpha--active:var(--now-alert_button-iconic--moderate--background-color-alpha--active,var(--now-messaging_action--primary_bare_moderate--background-color-alpha--active,var(--now-messaging_action--primary_bare--background-color-alpha--active,0)))}.-info .now-alert-button-iconic{--now-button-iconic--bare_tertiary--border-color--hover:var(--now-alert_button-iconic--info--border-color--hover,var(--now-messaging_action--primary_bare_info--border-color--hover,var(--now-color_alert--info-4,8,72,118)));--now-button-iconic--bare_tertiary--border-color-alpha--hover:var(--now-alert_button-iconic--info--border-color-alpha--hover,var(--now-messaging_action--primary_bare_info--border-color-alpha--hover,var(--now-messaging_action--primary_bare--border-color-alpha--hover,0)));--now-button-iconic--bare_tertiary--border-color--active:var(--now-alert_button-iconic--info--border-color--active,var(--now-messaging_action--primary_bare_info--border-color--active,var(--now-color_alert--info-5,6,48,78)));--now-button-iconic--bare_tertiary--border-color-alpha--active:var(--now-alert_button-iconic--info--border-color-alpha--active,var(--now-messaging_action--primary_bare_info--border-color-alpha--active,var(--now-messaging_action--primary_bare--border-color-alpha--active,0)));--now-button-iconic--bare_tertiary--color:var(--now-alert_button-iconic--info--color,var(--now-messaging_action_icon--primary_bare_info--color,var(--now-color_alert--info-3,11,96,157)));--now-button-iconic--bare_tertiary--color--hover:var(--now-alert_button-iconic--info--color--hover,var(--now-messaging_action_icon--primary_bare_info--color--hover,var(--now-color_alert--info-4,8,72,118)));--now-button-iconic--bare_tertiary--color--active:var(--now-alert_button-iconic--info--color--active,var(--now-messaging_action_icon--primary_bare_info--color--active,var(--now-color_alert--info-5,6,48,78)));--now-button-iconic--bare_tertiary--background-color--hover:var(--now-alert_button-iconic--info--background-color--hover,var(--now-messaging_action--primary_bare_info--background-color--hover,var(--now-messaging_action--primary_bare--background-color--hover,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button-iconic--bare_tertiary--background-color-alpha--hover:var(--now-alert_button-iconic--info--background-color-alpha--hover,var(--now-messaging_action--primary_bare_info--background-color-alpha--hover,var(--now-messaging_action--primary_bare--background-color-alpha--hover,0)));--now-button-iconic--bare_tertiary--background-color--active:var(--now-alert_button-iconic--info--background-color--active,var(--now-messaging_action--primary_bare_info--background-color--active,var(--now-messaging_action--primary_bare--background-color--active,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button-iconic--bare_tertiary--background-color-alpha--active:var(--now-alert_button-iconic--info--background-color-alpha--active,var(--now-messaging_action--primary_bare_info--background-color-alpha--active,var(--now-messaging_action--primary_bare--background-color-alpha--active,0)))}.-positive .now-alert-button-iconic{--now-button-iconic--bare_tertiary--border-color--hover:var(--now-alert_button-iconic--positive--border-color--hover,var(--now-messaging_action--primary_bare_positive--border-color--hover,var(--now-color_alert--positive-4,22,79,26)));--now-button-iconic--bare_tertiary--border-color-alpha--hover:var(--now-alert_button-iconic--positive--border-color-alpha--hover,var(--now-messaging_action--primary_bare_positive--border-color-alpha--hover,var(--now-messaging_action--primary_bare--border-color-alpha--hover,0)));--now-button-iconic--bare_tertiary--border-color--active:var(--now-alert_button-iconic--positive--border-color--active,var(--now-messaging_action--primary_bare_positive--border-color--active,var(--now-color_alert--positive-5,15,52,17)));--now-button-iconic--bare_tertiary--border-color-alpha--active:var(--now-alert_button-iconic--positive--border-color-alpha--active,var(--now-messaging_action--primary_bare_positive--border-color-alpha--active,var(--now-messaging_action--primary_bare--border-color-alpha--active,0)));--now-button-iconic--bare_tertiary--color:var(--now-alert_button-iconic--positive--color,var(--now-messaging_action_icon--primary_bare_positive--color,var(--now-color_alert--positive-3,30,105,34)));--now-button-iconic--bare_tertiary--color--hover:var(--now-alert_button-iconic--positive--color--hover,var(--now-messaging_action_icon--primary_bare_positive--color--hover,var(--now-color_alert--positive-4,22,79,26)));--now-button-iconic--bare_tertiary--color--active:var(--now-alert_button-iconic--positive--color--active,var(--now-messaging_action_icon--primary_bare_positive--color--active,var(--now-color_alert--positive-5,15,52,17)));--now-button-iconic--bare_tertiary--background-color--hover:var(--now-alert_button-iconic--positive--background-color--hover,var(--now-messaging_action--primary_bare_positive--background-color--hover,var(--now-messaging_action--primary_bare--background-color--hover,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button-iconic--bare_tertiary--background-color-alpha--hover:var(--now-alert_button-iconic--positive--background-color-alpha--hover,var(--now-messaging_action--primary_bare_positive--background-color-alpha--hover,var(--now-messaging_action--primary_bare--background-color-alpha--hover,0)));--now-button-iconic--bare_tertiary--background-color--active:var(--now-alert_button-iconic--positive--background-color--active,var(--now-messaging_action--primary_bare_positive--background-color--active,var(--now-messaging_action--primary_bare--background-color--active,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button-iconic--bare_tertiary--background-color-alpha--active:var(--now-alert_button-iconic--positive--background-color-alpha--active,var(--now-messaging_action--primary_bare_positive--background-color-alpha--active,var(--now-messaging_action--primary_bare--background-color-alpha--active,0)))}.-low .now-alert-button-iconic{--now-button-iconic--bare_tertiary--border-color--hover:var(--now-alert_button-iconic--low--border-color--hover,var(--now-messaging_action--primary_bare_low--border-color--hover,var(--now-color_alert--low-4,61,61,61)));--now-button-iconic--bare_tertiary--border-color-alpha--hover:var(--now-alert_button-iconic--low--border-color-alpha--hover,var(--now-messaging_action--primary_bare_low--border-color-alpha--hover,var(--now-messaging_action--primary_bare--border-color-alpha--hover,0)));--now-button-iconic--bare_tertiary--border-color--active:var(--now-alert_button-iconic--low--border-color--active,var(--now-messaging_action--primary_bare_low--border-color--active,var(--now-color_alert--low-5,41,41,41)));--now-button-iconic--bare_tertiary--border-color-alpha--active:var(--now-alert_button-iconic--low--border-color-alpha--active,var(--now-messaging_action--primary_bare_low--border-color-alpha--active,var(--now-messaging_action--primary_bare--border-color-alpha--active,0)));--now-button-iconic--bare_tertiary--color:var(--now-alert_button-iconic--low--color,var(--now-messaging_action_icon--primary_bare_low--color,var(--now-color_alert--low-3,82,82,82)));--now-button-iconic--bare_tertiary--color--hover:var(--now-alert_button-iconic--low--color--hover,var(--now-messaging_action_icon--primary_bare_low--color--hover,var(--now-color_alert--low-4,61,61,61)));--now-button-iconic--bare_tertiary--color--active:var(--now-alert_button-iconic--low--color--active,var(--now-messaging_action_icon--primary_bare_low--color--active,var(--now-color_alert--low-5,41,41,41)));--now-button-iconic--bare_tertiary--background-color--hover:var(--now-alert_button-iconic--low--background-color--hover,var(--now-messaging_action--primary_bare_low--background-color--hover,var(--now-messaging_action--primary_bare--background-color--hover,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button-iconic--bare_tertiary--background-color-alpha--hover:var(--now-alert_button-iconic--low--background-color-alpha--hover,var(--now-messaging_action--primary_bare_low--background-color-alpha--hover,var(--now-messaging_action--primary_bare--background-color-alpha--hover,0)));--now-button-iconic--bare_tertiary--background-color--active:var(--now-alert_button-iconic--low--background-color--active,var(--now-messaging_action--primary_bare_low--background-color--active,var(--now-messaging_action--primary_bare--background-color--active,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-button-iconic--bare_tertiary--background-color-alpha--active:var(--now-alert_button-iconic--low--background-color-alpha--active,var(--now-messaging_action--primary_bare_low--background-color-alpha--active,var(--now-messaging_action--primary_bare--background-color-alpha--active,0)))}.-ai .now-alert-button-iconic{--now-button-iconic--bare_tertiary--border-color--hover:var(--now-messaging_action--primary-ai_bare--border-color--hover,var(--now-color--primary-brand-13,0,104,132));--now-button-iconic--bare_tertiary--border-color-alpha--hover:var(--now-messaging_action--primary-ai_bare--border-color-alpha--hover,var(--now-messaging_action--primary_bare--border-color-alpha--hover,0));--now-button-iconic--bare_tertiary--border-color--active:var(--now-messaging_action--primary-ai_bare--border-color--active,var(--now-color--primary-brand-14,0,96,122));--now-button-iconic--bare_tertiary--border-color-alpha--active:var(--now-messaging_action--primary-ai_bare--border-color-alpha--active,var(--now-messaging_action--primary_bare--border-color-alpha--active,0));--now-button-iconic--bare_tertiary--color:var(--now-messaging_action_icon--primary-ai_bare--color,var(--now-color--primary-brand-12,0,111,142));--now-button-iconic--bare_tertiary--color--hover:var(--now-messaging_action_icon--primary-ai_bare--color--hover,var(--now-color--primary-brand-13,0,104,132));--now-button-iconic--bare_tertiary--color--active:var(--now-messaging_action_icon--primary-ai_bare--color--active,var(--now-color--primary-brand-14,0,96,122));--now-button-iconic--bare_tertiary--background-color--hover:var(--now-messaging_action--primary-ai_bare--background-color--hover,var(--now-messaging_action--primary_bare--background-color--hover,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));--now-button-iconic--bare_tertiary--background-color-alpha--hover:var(--now-messaging_action--primary-ai_bare--background-color-alpha--hover,var(--now-messaging_action--primary_bare--background-color-alpha--hover,0));--now-button-iconic--bare_tertiary--background-color--active:var(--now-messaging_action--primary-ai_bare--background-color--active,var(--now-messaging_action--primary_bare--background-color--active,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));--now-button-iconic--bare_tertiary--background-color-alpha--active:var(--now-messaging_action--primary-ai_bare--background-color-alpha--active,var(--now-messaging_action--primary_bare--background-color-alpha--active,0))}.-critical .now-alert-text-link{--now-text-link--secondary--color:var(--now-alert_text-link--critical--color,var(--now-messaging_link--primary--color,var(--now-color--link-3,1,104,124)));--now-text-link--secondary--color--hover:var(--now-alert_text-link--critical--color--hover,var(--now-messaging_link--primary--color--hover,var(--now-color--link-4,1,89,107)));--now-text-link--secondary--color--active:var(--now-alert_text-link--critical--color--active,var(--now-messaging_link--primary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.-high .now-alert-text-link{--now-text-link--secondary--color:var(--now-alert_text-link--high--color,var(--now-messaging_link--primary--color,var(--now-color--link-3,1,104,124)));--now-text-link--secondary--color--hover:var(--now-alert_text-link--high--color--hover,var(--now-messaging_link--primary--color--hover,var(--now-color--link-4,1,89,107)));--now-text-link--secondary--color--active:var(--now-alert_text-link--high--color--active,var(--now-messaging_link--primary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.-warning .now-alert-text-link{--now-text-link--secondary--color:var(--now-alert_text-link--warning--color,var(--now-messaging_link--primary--color,var(--now-color--link-3,1,104,124)));--now-text-link--secondary--color--hover:var(--now-alert_text-link--warning--color--hover,var(--now-messaging_link--primary--color--hover,var(--now-color--link-4,1,89,107)));--now-text-link--secondary--color--active:var(--now-alert_text-link--warning--color--active,var(--now-messaging_link--primary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.-moderate .now-alert-text-link{--now-text-link--secondary--color:var(--now-alert_text-link--moderate--color,var(--now-messaging_link--primary--color,var(--now-color--link-3,1,104,124)));--now-text-link--secondary--color--hover:var(--now-alert_text-link--moderate--color--hover,var(--now-messaging_link--primary--color--hover,var(--now-color--link-4,1,89,107)));--now-text-link--secondary--color--active:var(--now-alert_text-link--moderate--color--active,var(--now-messaging_link--primary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.-info .now-alert-text-link{--now-text-link--secondary--color:var(--now-alert_text-link--info--color,var(--now-messaging_link--primary--color,var(--now-color--link-3,1,104,124)));--now-text-link--secondary--color--hover:var(--now-alert_text-link--info--color--hover,var(--now-messaging_link--primary--color--hover,var(--now-color--link-4,1,89,107)));--now-text-link--secondary--color--active:var(--now-alert_text-link--info--color--active,var(--now-messaging_link--primary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.-positive .now-alert-text-link{--now-text-link--secondary--color:var(--now-alert_text-link--positive--color,var(--now-messaging_link--primary--color,var(--now-color--link-3,1,104,124)));--now-text-link--secondary--color--hover:var(--now-alert_text-link--positive--color--hover,var(--now-messaging_link--primary--color--hover,var(--now-color--link-4,1,89,107)));--now-text-link--secondary--color--active:var(--now-alert_text-link--positive--color--active,var(--now-messaging_link--primary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.-low .now-alert-text-link{--now-text-link--secondary--color:var(--now-alert_text-link--low--color,var(--now-messaging_link--primary--color,var(--now-color--link-3,1,104,124)));--now-text-link--secondary--color--hover:var(--now-alert_text-link--low--color--hover,var(--now-messaging_link--primary--color--hover,var(--now-color--link-4,1,89,107)));--now-text-link--secondary--color--active:var(--now-alert_text-link--low--color--active,var(--now-messaging_link--primary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.-ai .now-alert-text-link{--now-text-link--secondary--color:var(--now-messaging_link--primary--color,var(--now-color--link-3,1,104,124));--now-text-link--secondary--color--hover:var(--now-messaging_link--primary--color--hover,var(--now-color--link-4,1,89,107));--now-text-link--secondary--color--active:var(--now-messaging_link--primary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}@media(forced-colors:active){.now-alert{border-width:1px}.now-alert-content:not(.is-expanded){padding-block:.125rem}.now-alert-progress-bar{background-color:highlight!important}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;-webkit-clip-path:inset(50%);clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}:host{--now-line-height:0;display:inline-block;vertical-align:middle}.now-avatar{display:inline-block;position:relative}.now-avatar.-xxs .now-avatar-content,.now-avatar.-xxs .now-avatar-img{block-size:.875rem;inline-size:.875rem}.now-avatar.-xs .now-avatar-content,.now-avatar.-xs .now-avatar-img{block-size:1.125rem;inline-size:1.125rem}.now-avatar.-sm .now-avatar-content,.now-avatar.-sm .now-avatar-img{block-size:1.5rem;inline-size:1.5rem}.now-avatar.-md .now-avatar-content,.now-avatar.-md .now-avatar-img{block-size:2.625rem;inline-size:2.625rem}.now-avatar.-lg .now-avatar-content,.now-avatar.-lg .now-avatar-img{block-size:4.5rem;inline-size:4.5rem}.now-avatar.-xl .now-avatar-content,.now-avatar.-xl .now-avatar-img{block-size:9rem;inline-size:9rem}.now-avatar.has-image .now-avatar-content{border:none}.now-avatar-content{align-items:center;background-color:RGB(var(--now-avatar--background-color,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))));background-position:50%;background-size:cover;border-color:RGB(var(--now-avatar--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));border-style:solid;border-width:var(--now-avatar--border-width,var(--now-identifier--border-width,1px));color:RGB(var(--now-avatar--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))));display:flex;font-family:var(--now-avatar--font-family,var(--now-identifier--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)));font-style:var(--now-avatar--font-style,var(--now-identifier--font-style,normal));font-variant:normal;font-weight:var(--now-avatar--font-weight,var(--now-identifier--font-weight,normal));justify-content:center;letter-spacing:inherit;text-indent:0;text-shadow:none;text-transform:var(--now-avatar--text-transform,uppercase);white-space:normal;word-spacing:inherit}.now-avatar-content::-moz-focus-inner{border-style:none}.now-avatar-content:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))}@media(forced-colors:active){.now-avatar-content:focus{outline:1px solid highlight}}.now-avatar-content.-round{border-radius:var(--now-avatar--border-radius,50%)}.-xs .now-avatar-content.-square,.-xxs .now-avatar-content.-square{border-radius:.25rem}.-sm .now-avatar-content.-square{border-radius:.3125rem}.-md .now-avatar-content.-square{border-radius:.625rem}.-lg .now-avatar-content.-square{border-radius:1rem}.-xl .now-avatar-content.-square{border-radius:1.25rem}.now-avatar-content.-button{cursor:pointer;padding:0}.now-avatar-content.-link{cursor:pointer;text-decoration:none}.now-avatar-content:focus{outline:none}.now-avatar-content:focus:after{block-size:100%;border-radius:inherit;box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));content:\\\"\\\";inline-size:100%;inset-block-start:0;inset-inline-start:0;pointer-events:none;position:absolute}.now-avatar-content:focus::-moz-focus-inner{border-style:none}.-xxs .now-avatar-label{font-size:.625rem;line-height:1.1}.-xxs .now-avatar-label .now-line-height-crop{display:block}.-xxs .now-avatar-label .now-line-height-crop:after,.-xxs .now-avatar-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-xxs .now-avatar-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*.88);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*.88)}.-xxs .now-avatar-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*.88);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*.88)}.-xxs .now-avatar-label .now-line-height-crop+.-xxs .now-avatar-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*.88*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*.88*-1)}.-xs .now-avatar-label{font-size:.625rem;line-height:1.2}.-xs .now-avatar-label .now-line-height-crop{display:block}.-xs .now-avatar-label .now-line-height-crop:after,.-xs .now-avatar-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-xs .now-avatar-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*.96);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*.96)}.-xs .now-avatar-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*.96);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*.96)}.-xs .now-avatar-label .now-line-height-crop+.-xs .now-avatar-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*.96*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*.96*-1)}.-sm .now-avatar-label{font-size:.75rem;line-height:1.3333}.-sm .now-avatar-label .now-line-height-crop{display:block}.-sm .now-avatar-label .now-line-height-crop:after,.-sm .now-avatar-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-sm .now-avatar-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.-sm .now-avatar-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.-sm .now-avatar-label .now-line-height-crop+.-sm .now-avatar-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-md .now-avatar-label{font-size:1.25rem;line-height:1.25}.-md .now-avatar-label .now-line-height-crop{display:block}.-md .now-avatar-label .now-line-height-crop:after,.-md .now-avatar-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-md .now-avatar-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-md .now-avatar-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-md .now-avatar-label .now-line-height-crop+.-md .now-avatar-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.-lg .now-avatar-label{font-size:2rem;line-height:1.25}.-lg .now-avatar-label .now-line-height-crop{display:block}.-lg .now-avatar-label .now-line-height-crop:after,.-lg .now-avatar-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-lg .now-avatar-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-lg .now-avatar-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-lg .now-avatar-label .now-line-height-crop+.-lg .now-avatar-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.-xl .now-avatar-label{font-size:4rem;line-height:1.25}.-xl .now-avatar-label .now-line-height-crop{display:block}.-xl .now-avatar-label .now-line-height-crop:after,.-xl .now-avatar-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-xl .now-avatar-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-xl .now-avatar-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-xl .now-avatar-label .now-line-height-crop+.-xl .now-avatar-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-avatar-img{object-fit:cover}.now-avatar-img.-round{border-radius:var(--now-avatar--border-radius,50%)}.-xs .now-avatar-img.-square,.-xxs .now-avatar-img.-square{border-radius:.25rem}.-sm .now-avatar-img.-square{border-radius:.3125rem}.-md .now-avatar-img.-square{border-radius:.625rem}.-lg .now-avatar-img.-square{border-radius:1rem}.-xl .now-avatar-img.-square{border-radius:2rem}.-xs .now-avatar-icon,.-xxs .now-avatar-icon{transform:scale(.75)}.-xl .now-avatar-icon{transform:scale(2)}.now-avatar-icon-presence{position:absolute}.-xxs .now-avatar-icon-presence{inset-block-end:-.1875rem;inset-inline-end:-.1875rem;transform:scale(.75)}.-xs .now-avatar-icon-presence{inset-block-end:-.125rem;inset-inline-end:-.125rem;transform:scale(.75)}.-md .now-avatar-icon-presence,.-sm .now-avatar-icon-presence{inset-block-end:-1px;inset-inline-end:-1px}.-md .-square~.now-avatar-icon-presence,.-sm .-square~.now-avatar-icon-presence{inset-block-end:-.125rem;inset-inline-end:-.125rem}.-lg .now-avatar-icon-presence{inset-block-end:-.25rem;inset-inline-end:-.25rem}.-lg .-square~.now-avatar-icon-presence{inset-block-end:-.5rem;inset-inline-end:-.5rem}.-xl .now-avatar-icon-presence{inset-block-end:.5rem;inset-inline-end:.5rem;transform:scale(2)}.-xl .-square~.now-avatar-icon-presence{inset-block-end:0;inset-inline-end:0}@media(forced-colors:active){.now-avatar.has-image .now-avatar-content{outline:1px solid canvastext}.now-avatar:not(.has-image) .now-avatar-content{border-width:1px}.now-avatar-content:focus{color:highlight}.now-avatar:not(.has-image) .now-avatar-content:focus{border:1px solid highlight!important;outline:none!important}.now-avatar.has-image .now-avatar-content:focus{outline:1px solid highlight!important}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:inline-block;vertical-align:middle}.now-badge{align-items:center;border-radius:var(--now-badge--border-radius,var(--now-indicator--border-radius,.125rem));border-style:solid;border-width:var(--now-badge--border-width,var(--now-indicator--border-width,0));display:flex;font-family:var(--now-badge--font-family,var(--now-indicator--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)));font-style:var(--now-badge--font-style,var(--now-indicator--font-style,normal));font-variant:normal;font-weight:var(--now-badge--font-weight,var(--now-indicator--font-weight,normal));justify-content:center;letter-spacing:inherit;text-indent:0;text-shadow:none;text-transform:var(--now-badge--text-transform,var(--now-indicator--text-transform,none));white-space:normal;word-spacing:inherit}.now-badge.-sm{-webkit-padding-start:calc(.25rem*var(--now-badge--scale-size-inline, 1));-webkit-padding-end:calc(.25rem*var(--now-badge--scale-size-inline, 1));block-size:calc(.5rem + var(--now-badge--scale-size-block, 1)*1rem/2);font-size:.75rem;line-height:calc(.5rem + var(--now-badge--scale-size-block, 1)*1rem/2);min-inline-size:calc(.5rem + var(--now-badge--scale-size-inline, 1)*1rem/2);padding-inline-end:calc(.25rem*var(--now-badge--scale-size-inline, 1));padding-inline-start:calc(.25rem*var(--now-badge--scale-size-inline, 1))}.now-badge.-md{-webkit-padding-start:calc(.5rem*var(--now-badge--scale-size-inline, 1));-webkit-padding-end:calc(.5rem*var(--now-badge--scale-size-inline, 1));block-size:calc(.75rem + var(--now-badge--scale-size-block, 1)*1.5rem/2);font-size:1rem;line-height:1.25;min-inline-size:calc(.75rem + var(--now-badge--scale-size-inline, 1)*1.5rem/2);padding-inline-end:calc(.5rem*var(--now-badge--scale-size-inline, 1));padding-inline-start:calc(.5rem*var(--now-badge--scale-size-inline, 1))}.now-badge.-md .now-line-height-crop{display:block}.now-badge.-md .now-line-height-crop:after,.now-badge.-md .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-badge.-md .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-badge.-md .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-badge.-md .now-line-height-crop+.now-badge.-md .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-badge.-lg{-webkit-padding-start:calc(.5rem*var(--now-badge--scale-size-inline, 1));-webkit-padding-end:calc(.5rem*var(--now-badge--scale-size-inline, 1));block-size:calc(1rem + var(--now-badge--scale-size-block, 1)*2rem/2);font-size:1.5rem;line-height:1.25;min-inline-size:calc(1rem + var(--now-badge--scale-size-inline, 1)*2rem/2);padding-inline-end:calc(.5rem*var(--now-badge--scale-size-inline, 1));padding-inline-start:calc(.5rem*var(--now-badge--scale-size-inline, 1))}.now-badge.-lg .now-line-height-crop{display:block}.now-badge.-lg .now-line-height-crop:after,.now-badge.-lg .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-badge.-lg .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-badge.-lg .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-badge.-lg .now-line-height-crop+.now-badge.-lg .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-badge.-critical.-primary{background-color:RGB(var(--now-badge--primary_critical--background-color,var(--now-color_alert--critical-2,200,60,54)));border-color:RGB(var(--now-badge--primary_critical--border-color,var(--now-color_alert--critical-3,160,48,43)));color:RGB(var(--now-badge--primary_critical--color,var(--now-color--neutral-0,255,255,255)))}.now-badge.-critical.-secondary{background-color:RGB(var(--now-badge--secondary_critical--background-color,var(--now-color_alert--critical-0,241,206,205)));border-color:RGB(var(--now-badge--secondary_critical--border-color,var(--now-color_alert--critical-1,221,133,129)));color:RGB(var(--now-badge--secondary_critical--color,var(--now-color_alert--critical-5,80,24,22)))}.now-badge.-high.-primary{background-color:RGB(var(--now-badge--primary_high--background-color,var(--now-color_alert--high-2,221,145,34)));border-color:RGB(var(--now-badge--primary_high--border-color,var(--now-color_alert--high-3,177,116,27)));color:RGB(var(--now-badge--primary_high--color,var(--now-badge--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-badge.-high.-secondary{background-color:RGB(var(--now-badge--secondary_high--background-color,var(--now-color_alert--high-0,247,228,200)));border-color:RGB(var(--now-badge--secondary_high--border-color,var(--now-color_alert--high-1,234,186,117)));color:RGB(var(--now-badge--secondary_high--color,var(--now-color_alert--high-5,88,58,14)))}.now-badge.-warning.-primary{background-color:RGB(var(--now-badge--primary_warning--background-color,var(--now-color_alert--warning-2,210,195,0)));border-color:RGB(var(--now-badge--primary_warning--border-color,var(--now-color_alert--warning-3,198,185,22)));color:RGB(var(--now-badge--primary_warning--color,var(--now-badge--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-badge.-warning.-secondary{background-color:RGB(var(--now-badge--secondary_warning--background-color,var(--now-color_alert--warning-0,244,240,191)));border-color:RGB(var(--now-badge--secondary_warning--border-color,var(--now-color_alert--warning-1,227,218,96)));color:RGB(var(--now-badge--secondary_warning--color,var(--now-color_alert--warning-5,99,92,11)))}.now-badge.-moderate.-primary{background-color:RGB(var(--now-badge--primary_moderate--background-color,var(--now-color_alert--moderate-2,84,86,207)));border-color:RGB(var(--now-badge--primary_moderate--border-color,var(--now-color_alert--moderate-3,67,69,166)));color:RGB(var(--now-badge--primary_moderate--color,var(--now-color--neutral-0,255,255,255)))}.now-badge.-moderate.-secondary{background-color:RGB(var(--now-badge--secondary_moderate--background-color,var(--now-color_alert--moderate-0,212,213,243)));border-color:RGB(var(--now-badge--secondary_moderate--border-color,var(--now-color_alert--moderate-1,148,149,225)));color:RGB(var(--now-badge--secondary_moderate--color,var(--now-color_alert--moderate-5,34,34,83)))}.now-badge.-info.-primary{background-color:RGB(var(--now-badge--primary_info--background-color,var(--now-color_alert--info-2,14,120,196)));border-color:RGB(var(--now-badge--primary_info--border-color,var(--now-color_alert--info-3,11,96,157)));color:RGB(var(--now-badge--primary_info--color,var(--now-color--neutral-0,255,255,255)))}.now-badge.-info.-secondary{background-color:RGB(var(--now-badge--secondary_info--background-color,var(--now-color_alert--info-0,195,221,240)));border-color:RGB(var(--now-badge--secondary_info--border-color,var(--now-color_alert--info-1,104,171,218)));color:RGB(var(--now-badge--secondary_info--color,var(--now-color_alert--info-5,6,48,78)))}.now-badge.-positive.-primary{background-color:RGB(var(--now-badge--primary_positive--background-color,var(--now-color_alert--positive-2,37,131,43)));border-color:RGB(var(--now-badge--primary_positive--border-color,var(--now-color_alert--positive-3,30,105,34)));color:RGB(var(--now-badge--primary_positive--color,var(--now-color--neutral-0,255,255,255)))}.now-badge.-positive.-secondary{background-color:RGB(var(--now-badge--secondary_positive--background-color,var(--now-color_alert--positive-0,201,224,202)));border-color:RGB(var(--now-badge--secondary_positive--border-color,var(--now-color_alert--positive-1,119,178,123)));color:RGB(var(--now-badge--secondary_positive--color,var(--now-color_alert--positive-5,15,52,17)))}.now-badge.-low.-primary{background-color:RGB(var(--now-badge--primary_low--background-color,var(--now-color_alert--low-2,102,102,102)));border-color:RGB(var(--now-badge--primary_low--border-color,var(--now-color_alert--low-3,82,82,82)));color:RGB(var(--now-badge--primary_low--color,var(--now-color--neutral-0,255,255,255)))}.now-badge.-low.-secondary{background-color:RGB(var(--now-badge--secondary_low--background-color,var(--now-color_alert--low-0,217,217,217)));border-color:RGB(var(--now-badge--secondary_low--border-color,var(--now-color_alert--low-1,159,159,159)));color:RGB(var(--now-badge--secondary_low--color,var(--now-color_alert--low-5,41,41,41)))}.now-badge.-yellow.-primary{background-color:RGB(var(--now-badge--primary_yellow--background-color,var(--now-color_grouped--yellow-2,240,207,101)));border-color:RGB(var(--now-badge--primary_yellow--border-color,var(--now-color_grouped--yellow-3,204,176,86)));color:RGB(var(--now-badge--primary_yellow--color,var(--now-badge--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-badge.-yellow.-secondary{background-color:RGB(var(--now-badge--secondary_yellow--background-color,var(--now-color_grouped--yellow-0,251,241,209)));border-color:RGB(var(--now-badge--secondary_yellow--border-color,var(--now-color_grouped--yellow-1,245,224,155)));color:RGB(var(--now-badge--secondary_yellow--color,var(--now-color--neutral-12,66,80,81)))}.now-badge.-orange.-primary{background-color:RGB(var(--now-badge--primary_orange--background-color,var(--now-color_grouped--orange-2,215,129,106)));border-color:RGB(var(--now-badge--primary_orange--border-color,var(--now-color_grouped--orange-3,183,110,90)));color:RGB(var(--now-badge--primary_orange--color,var(--now-color--neutral-18,22,27,28)))}.now-badge.-orange.-secondary{background-color:RGB(var(--now-badge--secondary_orange--background-color,var(--now-color_grouped--orange-0,243,217,210)));border-color:RGB(var(--now-badge--secondary_orange--border-color,var(--now-color_grouped--orange-1,229,173,158)));color:RGB(var(--now-badge--secondary_orange--color,var(--now-color_grouped--orange-5,118,71,58)))}.now-badge.-magenta.-primary{background-color:RGB(var(--now-badge--primary_magenta--background-color,var(--now-color_grouped--magenta-2,203,121,193)));border-color:RGB(var(--now-badge--primary_magenta--border-color,var(--now-color_grouped--magenta-3,173,103,164)));color:RGB(var(--now-badge--primary_magenta--color,var(--now-badge--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-badge.-magenta.-secondary{background-color:RGB(var(--now-badge--secondary_magenta--background-color,var(--now-color_grouped--magenta-0,239,215,236)));border-color:RGB(var(--now-badge--secondary_magenta--border-color,var(--now-color_grouped--magenta-1,221,168,215)));color:RGB(var(--now-badge--secondary_magenta--color,var(--now-color_grouped--magenta-5,112,67,106)))}.now-badge.-purple.-primary{background-color:RGB(var(--now-badge--primary_purple--background-color,var(--now-color_grouped--purple-2,181,155,209)));border-color:RGB(var(--now-badge--primary_purple--border-color,var(--now-color_grouped--purple-3,154,132,178)));color:RGB(var(--now-badge--primary_purple--color,var(--now-badge--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-badge.-purple.-secondary{background-color:RGB(var(--now-badge--secondary_purple--background-color,var(--now-color_grouped--purple-0,233,225,241)));border-color:RGB(var(--now-badge--secondary_purple--border-color,var(--now-color_grouped--purple-1,207,190,225)));color:RGB(var(--now-badge--secondary_purple--color,var(--now-color_grouped--purple-5,100,85,115)))}.now-badge.-blue.-primary{background-color:RGB(var(--now-badge--primary_blue--background-color,var(--now-color_grouped--blue-2,120,176,204)));border-color:RGB(var(--now-badge--primary_blue--border-color,var(--now-color_grouped--blue-3,102,150,173)));color:RGB(var(--now-badge--primary_blue--color,var(--now-badge--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-badge.-blue.-secondary{background-color:RGB(var(--now-badge--secondary_blue--background-color,var(--now-color_grouped--blue-0,215,231,240)));border-color:RGB(var(--now-badge--secondary_blue--border-color,var(--now-color_grouped--blue-1,167,204,222)));color:RGB(var(--now-badge--secondary_blue--color,var(--now-color_grouped--blue-5,66,97,112)))}.now-badge.-green-yellow.-primary{background-color:RGB(var(--now-badge--primary_green-yellow--background-color,var(--now-color_grouped--green-yellow-2,154,173,94)));border-color:RGB(var(--now-badge--primary_green-yellow--border-color,var(--now-color_grouped--green-yellow-3,131,147,80)));color:RGB(var(--now-badge--primary_green-yellow--color,var(--now-badge--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-badge.-green-yellow.-secondary{background-color:RGB(var(--now-badge--secondary_green-yellow--background-color,var(--now-color_grouped--green-yellow-0,225,230,207)));border-color:RGB(var(--now-badge--secondary_green-yellow--border-color,var(--now-color_grouped--green-yellow-1,189,202,150)));color:RGB(var(--now-badge--secondary_green-yellow--color,var(--now-color_grouped--green-yellow-5,85,95,52)))}.now-badge.-pink.-primary{background-color:RGB(var(--now-badge--primary_pink--background-color,var(--now-color_grouped--pink-2,203,121,143)));border-color:RGB(var(--now-badge--primary_pink--border-color,var(--now-color_grouped--pink-3,173,103,122)));color:RGB(var(--now-badge--primary_pink--color,var(--now-badge--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-badge.-pink.-secondary{background-color:RGB(var(--now-badge--secondary_pink--background-color,var(--now-color_grouped--pink-0,239,215,221)));border-color:RGB(var(--now-badge--secondary_pink--border-color,var(--now-color_grouped--pink-1,221,168,182)));color:RGB(var(--now-badge--secondary_pink--color,var(--now-color_grouped--pink-5,112,67,79)))}.now-badge.-brown.-primary{background-color:RGB(var(--now-badge--primary_brown--background-color,var(--now-color_grouped--brown-2,156,138,119)));border-color:RGB(var(--now-badge--primary_brown--border-color,var(--now-color_grouped--brown-3,133,117,101)));color:RGB(var(--now-badge--primary_brown--color,var(--now-badge--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-badge.-brown.-secondary{background-color:RGB(var(--now-badge--secondary_brown--background-color,var(--now-color_grouped--brown-0,225,220,214)));border-color:RGB(var(--now-badge--secondary_brown--border-color,var(--now-color_grouped--brown-1,191,179,167)));color:RGB(var(--now-badge--secondary_brown--color,var(--now-color_grouped--brown-5,86,76,66)))}.now-badge.-green.-primary{background-color:RGB(var(--now-badge--primary_green--background-color,var(--now-color_grouped--green-2,147,170,125)));border-color:RGB(var(--now-badge--primary_green--border-color,var(--now-color_grouped--green-3,125,145,106)));color:RGB(var(--now-badge--primary_green--color,var(--now-badge--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-badge.-green.-secondary{background-color:RGB(var(--now-badge--secondary_green--background-color,var(--now-color_grouped--green-0,223,230,216)));border-color:RGB(var(--now-badge--secondary_green--border-color,var(--now-color_grouped--green-1,185,200,171)));color:RGB(var(--now-badge--secondary_green--color,var(--now-color_grouped--green-5,81,94,69)))}.now-badge.-teal.-primary{background-color:RGB(var(--now-badge--primary_teal--background-color,var(--now-color_grouped--teal-3,88,148,139)));border-color:RGB(var(--now-badge--primary_teal--border-color,var(--now-color_grouped--teal-2,104,174,163)));color:RGB(var(--now-badge--primary_teal--color,var(--now-badge--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-badge.-teal.-secondary{background-color:RGB(var(--now-badge--secondary_teal--background-color,var(--now-color_grouped--teal-0,210,231,227)));border-color:RGB(var(--now-badge--secondary_teal--border-color,var(--now-color_grouped--teal-1,157,202,195)));color:RGB(var(--now-badge--secondary_teal--color,var(--now-color_grouped--teal-5,57,96,90)))}.now-badge.-gray.-primary{background-color:RGB(var(--now-badge--primary_gray--background-color,var(--now-color_grouped--gray-2,139,145,150)));border-color:RGB(var(--now-badge--primary_gray--border-color,var(--now-color_grouped--gray-3,118,123,128)));color:RGB(var(--now-badge--primary_gray--color,var(--now-badge--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-badge.-gray.-secondary{background-color:RGB(var(--now-badge--secondary_gray--background-color,var(--now-color_grouped--gray-0,220,222,224)));border-color:RGB(var(--now-badge--secondary_gray--border-color,var(--now-color_grouped--gray-1,180,184,187)));color:RGB(var(--now-badge--secondary_gray--color,var(--now-color_grouped--gray-5,77,80,83)))}@media(forced-colors:active){.now-badge{border:none;outline:1px solid canvastext}.now-badge .now-line-height-crop{color:canvastext;forced-color-adjust:none}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-align{display:flex}.now-align.-row.-reverse{flex-direction:row-reverse}.now-align.-column{flex-direction:column}.now-align.-column.-reverse{flex-direction:column-reverse}.now-align.-wrap{flex-wrap:wrap}.now-align.-inline{justify-content:space-between}.now-align.-inline-center{justify-content:center}.now-align.-inline-end{justify-content:flex-end}.now-align.-block-start{align-items:flex-start}.now-align.-block-center{align-items:center}.now-align.-block-end{align-items:flex-end}.now-m-block--xs{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-block-start:.25rem}.now-m-block-start--xs{-webkit-margin-before:.25rem;margin-block-start:.25rem}.now-m-block-end--xs{-webkit-margin-after:.25rem;margin-block-end:.25rem}.now-m-inline--xs{-webkit-margin-start:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem;margin-inline-start:.25rem}.now-m-inline-start--xs{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-m-inline-end--xs{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-m-block--sm{-webkit-margin-before:.5rem;-webkit-margin-after:.5rem;margin-block-end:.5rem;margin-block-start:.5rem}.now-m-block-start--sm{-webkit-margin-before:.5rem;margin-block-start:.5rem}.now-m-block-end--sm{-webkit-margin-after:.5rem;margin-block-end:.5rem}.now-m-inline--sm{-webkit-margin-start:.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem;margin-inline-start:.5rem}.now-m-inline-start--sm{-webkit-margin-start:.5rem;margin-inline-start:.5rem}.now-m-inline-end--sm{-webkit-margin-end:.5rem;margin-inline-end:.5rem}.now-m-block--md{-webkit-margin-before:.75rem;-webkit-margin-after:.75rem;margin-block-end:.75rem;margin-block-start:.75rem}.now-m-block-start--md{-webkit-margin-before:.75rem;margin-block-start:.75rem}.now-m-block-end--md{-webkit-margin-after:.75rem;margin-block-end:.75rem}.now-m-inline--md{-webkit-margin-start:.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;margin-inline-start:.75rem}.now-m-inline-start--md{-webkit-margin-start:.75rem;margin-inline-start:.75rem}.now-m-inline-end--md{-webkit-margin-end:.75rem;margin-inline-end:.75rem}:host{--now-line-height:0;display:block}.now-breadcrumbs{align-items:center;display:flex;flex-wrap:wrap;font-family:var(--now-breadcrumbs--font-family,var(--now-navigation-path--font-family,var(--now-actionable--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-navigation_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-breadcrumbs--font-style,var(--now-navigation-path--font-style,var(--now-actionable--font-style,normal)));font-variant:normal;font-weight:var(--now-breadcrumbs--font-weight,var(--now-navigation-path--font-weight,var(--now-actionable--font-weight,bold)));letter-spacing:inherit;line-height:1.3333;min-inline-size:10rem;row-gap:.5rem;text-indent:0;text-shadow:none;text-transform:var(--now-breadcrumbs--text-transform,var(--now-navigation-path--text-transform,var(--now-actionable--text-transform,none)));white-space:normal;word-spacing:inherit}.now-breadcrumbs .now-line-height-crop{display:block}.now-breadcrumbs .now-line-height-crop:after,.now-breadcrumbs .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-breadcrumbs .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-breadcrumbs .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-breadcrumbs .now-line-height-crop+.now-breadcrumbs .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-breadcrumbs-item{align-items:center;block-size:1rem;display:flex}.now-breadcrumbs-item.-link{background-color:RGB(var(--now-breadcrumbs--background-color,var(--now-navigation-path--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-breadcrumbs--background-color-alpha,var(--now-navigation-path--background-color-alpha,0)));color:RGB(var(--now-breadcrumbs--color,var(--now-navigation-path_label--color,var(--now-navigation--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))));text-decoration:none}.now-breadcrumbs-item.-link::-moz-focus-inner{border-style:none}.now-breadcrumbs-item.-link:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)));outline:none}@media(forced-colors:active){.now-breadcrumbs-item.-link:focus{outline:1px solid highlight}}.now-breadcrumbs-item.-link:hover{background-color:RGB(var(--now-breadcrumbs--background-color--hover,var(--now-navigation-path--background-color--hover,var(--now-navigation-path--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))),var(--now-breadcrumbs--background-color-alpha--hover,var(--now-navigation-path--background-color-alpha--hover,0)));color:RGB(var(--now-breadcrumbs--color--hover,var(--now-navigation-path_label--color--hover,var(--now-navigation--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))));text-decoration:underline}.now-breadcrumbs-item.is-current{background-color:RGB(var(--now-breadcrumbs--background-color--current,var(--now-navigation-path--background-color--current,var(--now-navigation-path--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))),var(--now-breadcrumbs--background-color-alpha--current,var(--now-navigation-path--background-color-alpha--current,0)));color:RGB(var(--now-breadcrumbs--color--current,var(--now-navigation-path_label--color--current,var(--now-navigation--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))));font-weight:var(--now-breadcrumbs--font-weight--current,var(--now-navigation-path--font-weight--current,bold))}.now-breadcrumbs-icon{color:RGB(var(--now-breadcrumbs_icon--color,var(--now-navigation-path_icon--color,var(--now-navigation--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))))}.now-breadcrumbs-icon:hover{color:RGB(now-breadcrumbs_icon--color--hover)}.is-current .now-breadcrumbs-icon{color:RGB(var(--now-breadcrumbs_icon--color--current,var(--now-navigation-path_icon--color--current,var(--now-navigation--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-breadcrumbs-dropdown{--now-button--scale-size:1;--now-dropdown--bare_tertiary--color:var(--now-breadcrumbs_dropdown--color,var(--now-navigation-path_dropdown--color,var(--now-navigation--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))));--now-dropdown--bare_tertiary--color--hover:var(--now-breadcrumbs_dropdown--color--hover,var(--now-navigation-path_dropdown--color--hover,var(--now-navigation--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));--now-dropdown--bare_tertiary--color--active:var(--now-breadcrumbs_dropdown--color--active,var(--now-navigation-path_dropdown--color--active,var(--now-navigation--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));--now-dropdown--bare_tertiary--background-color--hover:var(--now-breadcrumbs_dropdown--background-color--hover,var(--now-navigation-path_dropdown--background-color--hover,var(--now-color_background--tertiary-actionable,var(--now-color--neutral-12,66,80,81))));--now-dropdown--bare_tertiary--background-color-alpha--hover:var(--now-breadcrumbs_dropdown--background-color-alpha--hover,var(--now-navigation-path_dropdown--background-color-alpha--hover,var(--now-opacity--least,0.1)));--now-dropdown--bare_tertiary--background-color--active:var(--now-breadcrumbs_dropdown--background-color--active,var(--now-navigation-path_dropdown--background-color--active,var(--now-color_background--tertiary-actionable,var(--now-color--neutral-12,66,80,81))));--now-dropdown--bare_tertiary--background-color-alpha--active:var(--now-breadcrumbs_dropdown--background-color-alpha--active,var(--now-navigation-path_dropdown--background-color-alpha--active,var(--now-opacity--less,0.25)))}.now-breadcrumbs-item-label{white-space:nowrap}@media(forced-colors:active){.now-breadcrumbs-item.-link,.now-breadcrumbs-item.-link:active,.now-breadcrumbs-item.-link:hover{color:linktext}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-m-block--xxs{-webkit-margin-before:var(--now-space--xxs,.125rem);-webkit-margin-after:var(--now-space--xxs,.125rem);margin-block-end:var(--now-space--xxs,.125rem);margin-block-start:var(--now-space--xxs,.125rem)}.now-m-block-start--xxs{-webkit-margin-before:var(--now-space--xxs,.125rem);margin-block-start:var(--now-space--xxs,.125rem)}.now-m-block-end--xxs{-webkit-margin-after:var(--now-space--xxs,.125rem);margin-block-end:var(--now-space--xxs,.125rem)}.now-m-inline--xxs{-webkit-margin-start:var(--now-space--xxs,.125rem);-webkit-margin-end:var(--now-space--xxs,.125rem);margin-inline-end:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xxs,.125rem)}.now-m-inline-start--xxs{-webkit-margin-start:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xxs,.125rem)}.now-m-inline-end--xxs{-webkit-margin-end:var(--now-space--xxs,.125rem);margin-inline-end:var(--now-space--xxs,.125rem)}.now-m-block--xs{-webkit-margin-before:var(--now-space--xs,.25rem);-webkit-margin-after:var(--now-space--xs,.25rem);margin-block-end:var(--now-space--xs,.25rem);margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-start--xs{-webkit-margin-before:var(--now-space--xs,.25rem);margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{-webkit-margin-after:var(--now-space--xs,.25rem);margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{-webkit-margin-start:var(--now-space--xs,.25rem);-webkit-margin-end:var(--now-space--xs,.25rem);margin-inline-end:var(--now-space--xs,.25rem);margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-start--xs{-webkit-margin-start:var(--now-space--xs,.25rem);margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{-webkit-margin-end:var(--now-space--xs,.25rem);margin-inline-end:var(--now-space--xs,.25rem)}:host{--now-line-height:0;display:inline-block;vertical-align:middle}.now-button-bare{align-items:center;background-color:transparent;border-color:transparent;border-radius:var(--now-button--bare--border-radius,var(--now-actionable--bare--border-radius,var(--now-actionable--border-radius,0)));border-style:solid;cursor:pointer;display:flex;font-family:var(--now-button--bare--font-family,var(--now-actionable--bare--font-family,var(--now-actionable--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-button--bare--font-style,var(--now-actionable--bare--font-style,var(--now-actionable--font-style,normal)));font-variant:normal;font-weight:var(--now-button--bare--font-weight,var(--now-actionable--bare--font-weight,var(--now-actionable--font-weight,normal)));inline-size:inherit;justify-content:center;letter-spacing:inherit;margin:0;max-inline-size:calc(100vw - 1.0625rem);overflow:hidden;padding-inline:0;position:relative;text-indent:0;text-shadow:none;text-transform:var(--now-button--bare--text-transform,var(--now-actionable--bare--text-transform,var(--now-actionable--text-transform,none)));white-space:var(--now-button--bare--text-wrap,var(--now-actionable--text-wrap,normal));word-spacing:inherit}.now-button-bare ::slotted(*),.now-button-bare now-icon,.now-button-bare slot>*{z-index:1}.now-button-bare .now-ripple{aspect-ratio:1/1;border-radius:100%;inline-size:100%;left:50%;position:absolute;top:50%;transform:scale(0);transform-origin:center;z-index:0}.now-button-bare.should-animate{transition-duration:var(--now-motion--duration--faster,.1s);transition-property:background-color,box-shadow,color;transition-timing-function:var(--now-motion--ease--linear,linear)}.now-button-bare.should-animate:focus{transition-duration:var(--now-motion--duration--faster,.1s),var(--now-motion--duration--normal,.2s),var(--now-motion--duration--normal,.2s);transition-property:background-color,box-shadow,color}.now-button-bare.should-animate:focus-visible{transition-duration:var(--now-motion--duration--faster,.1s),var(--now-motion--duration--normal,.2s);transition-property:background-color,color}.now-button-bare:focus-visible::-moz-focus-inner{border-style:none}.now-button-bare:focus-visible:focus-visible{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)));outline:none}@media(forced-colors:active){.now-button-bare:focus-visible:focus-visible{outline:1px solid highlight}}.now-button-bare.-sm{font-size:var(--now-actionable--font-size--sm,var(--now-font-size--sm,.75rem));line-height:1.3333;min-block-size:calc(.75rem + var(--now-button--scale-size-block, 1)*1.5rem/2);padding-block:calc(.25rem*var(--now-button--scale-size-block, 1))}.now-button-bare.-sm.hide-block-padding{min-block-size:1rem;padding-block:0}.now-button-bare.-sm.show-inline-padding{padding-inline:calc(var(--now-space--sm, .5rem)*var(--now-button--scale-size-inline, 1))}.now-button-bare.-sm .now-line-height-crop{display:block}.now-button-bare.-sm .now-line-height-crop:after,.now-button-bare.-sm .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-button-bare.-sm .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-button-bare.-sm .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-button-bare.-sm .now-line-height-crop+.now-button-bare.-sm .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-button-bare.-md{font-size:var(--now-actionable--font-size--md,var(--now-font-size--md1,1rem));line-height:1.25;min-block-size:calc(1rem + var(--now-button--scale-size-block, 1)*2rem/2);padding-block:calc(.375rem*var(--now-button--scale-size-block, 1))}.now-button-bare.-md.hide-block-padding{min-block-size:1.25rem;padding-block:0}.now-button-bare.-md.show-inline-padding{padding-inline:calc(var(--now-space--md1, 1rem)*var(--now-button--scale-size-inline, 1))}.now-button-bare.-md .now-line-height-crop{display:block}.now-button-bare.-md .now-line-height-crop:after,.now-button-bare.-md .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-button-bare.-md .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-button-bare.-md .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-button-bare.-md .now-line-height-crop+.now-button-bare.-md .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-button-bare.-lg{font-size:var(--now-actionable--font-size--lg,var(--now-font-size--lg1,1.5rem));line-height:1.25;min-block-size:calc(1.5rem + var(--now-button--scale-size-block, 1)*3rem/2);padding-block:calc(.375rem*var(--now-button--scale-size-block, 1))}.now-button-bare.-lg.hide-block-padding{min-block-size:1.75rem;padding-block:0}.now-button-bare.-lg.show-inline-padding{padding-inline:calc(var(--now-space--lg2, 1.5rem)*var(--now-button--scale-size-inline, 1))}.now-button-bare.-lg .now-line-height-crop{display:block}.now-button-bare.-lg .now-line-height-crop:after,.now-button-bare.-lg .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-button-bare.-lg .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-button-bare.-lg .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-button-bare.-lg .now-line-height-crop+.now-button-bare.-lg .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-button-bare.-primary{border-radius:var(--now-button--bare_primary--border-radius,var(--now-actionable--primary_bare--border-radius,var(--now-actionable--bare--border-radius,var(--now-actionable--border-radius,0))));border-width:var(--now-button--bare_primary--border-width,var(--now-actionable--primary_bare--border-width,var(--now-actionable--bare--border-width,var(--now-actionable--border-width,1px))));color:RGB(var(--now-button--bare_primary--color,var(--now-actionable_label--primary_bare--color,var(--now-color--primary-2,23,100,82))))}.now-button-bare.-primary .now-button-bare-icon{color:RGB(var(--now-button_icon--bare_primary--color,var(--now-actionable_icon--primary_bare--color,var(--now-color--primary-2,23,100,82))))}.now-button-bare.-primary:not(.is-disabled):hover{background-color:RGB(var(--now-button--bare_primary--background-color--hover,var(--now-actionable--primary_bare--background-color--hover,var(--now-color--primary-1,30,133,109))),var(--now-button--bare_primary--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button--bare_primary--border-color--hover,var(--now-actionable--primary_bare--border-color--hover,var(--now-color--primary-3,15,67,55))),var(--now-button--bare_primary--border-color-alpha--hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button--bare_primary--color--hover,var(--now-actionable_label--primary_bare--color--hover,var(--now-color--primary-3,15,67,55))))}.now-button-bare.-primary:not(.is-disabled):hover .now-button-bare-icon{color:RGB(var(--now-button_icon--bare_primary--color--hover,var(--now-actionable_icon--primary_bare--color--hover,var(--now-color--primary-3,15,67,55))))}.now-button-bare.-primary:not(.is-disabled).is-active,.now-button-bare.-primary:not(.is-disabled):active{border-color:RGB(var(--now-button--bare_primary--border-color--active,var(--now-actionable--primary_bare--border-color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button--bare_primary--border-color-alpha--active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button--bare_primary--color--active,var(--now-actionable_label--primary_bare--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-bare.-primary:not(.is-disabled).is-active .now-button-bare-icon,.now-button-bare.-primary:not(.is-disabled):active .now-button-bare-icon{color:RGB(var(--now-button_icon--bare_primary--color--active,var(--now-actionable_icon--primary_bare--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-bare.-primary:not(.is-disabled) .now-ripple,.now-button-bare.-primary:not(.is-disabled).is-active,.now-button-bare.-primary:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button--bare_primary--background-color--active,var(--now-actionable--primary_bare--background-color--active,var(--now-color--primary-1,30,133,109))),var(--now-button--bare_primary--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-bare.-primary.is-disabled{opacity:var(--now-button--bare_primary--opacity--disabled,var(--now-actionable--primary_bare--opacity--disabled,var(--now-actionable--bare--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-button-bare.-primary.high-contrast{color:RGB(var(--now-button--bare_primary_high-contrast--color,var(--now-actionable_label--primary_high-contrast_bare--color,var(--now-color--primary-3,15,67,55))))}.now-button-bare.-primary.high-contrast .now-button-bare-icon{color:RGB(var(--now-button_icon--bare_primary_high-contrast--color,var(--now-actionable_icon--primary_high-contrast_bare--color,var(--now-color--primary-3,15,67,55))))}.now-button-bare.-primary.high-contrast:not(.is-disabled):hover{color:RGB(var(--now-button--bare_primary_high-contrast--color--hover,var(--now-actionable_label--primary_high-contrast_bare--color--hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-bare.-primary.high-contrast:not(.is-disabled):hover .now-button-bare-icon{color:RGB(var(--now-button_icon--bare_primary_high-contrast--color--hover,var(--now-actionable_icon--primary_high-contrast_bare--color--hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-bare.-primary.high-contrast:not(.is-disabled).is-active,.now-button-bare.-primary.high-contrast:not(.is-disabled):active{color:RGB(var(--now-button--bare_primary_high-contrast--color--active,var(--now-actionable_label--primary_high-contrast_bare--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-bare.-primary.high-contrast:not(.is-disabled).is-active .now-button-bare-icon,.now-button-bare.-primary.high-contrast:not(.is-disabled):active .now-button-bare-icon{color:RGB(var(--now-button_icon--bare_primary_high-contrast--color--active,var(--now-actionable_icon--primary_high-contrast_bare--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-bare.-secondary{border-radius:var(--now-button--bare_secondary--border-radius,var(--now-actionable--secondary_bare--border-radius,var(--now-actionable--bare--border-radius,var(--now-actionable--border-radius,0))));border-width:var(--now-button--bare_secondary--border-width,var(--now-actionable--secondary_bare--border-width,var(--now-actionable--bare--border-width,var(--now-actionable--border-width,1px))));color:RGB(var(--now-button--bare_secondary--color,var(--now-actionable_label--secondary_bare--color,var(--now-actionable_label--secondary--color,var(--now-color--secondary-1,1,119,142)))))}.now-button-bare.-secondary .now-button-bare-icon{color:RGB(var(--now-button_icon--bare_secondary--color,var(--now-actionable_icon--secondary_bare--color,var(--now-actionable_icon--secondary--color,var(--now-color--secondary-1,1,119,142)))))}.now-button-bare.-secondary:not(.is-disabled):hover{background-color:RGB(var(--now-button--bare_secondary--background-color--hover,var(--now-actionable--secondary_bare--background-color--hover,var(--now-actionable--secondary--background-color--hover,var(--now-color--secondary-1,1,119,142)))),var(--now-button--bare_secondary--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button--bare_secondary--border-color--hover,var(--now-actionable--secondary_bare--border-color--hover,var(--now-actionable--secondary--border-color--hover,var(--now-color--secondary-2,1,89,107)))),var(--now-button--bare_secondary--border-color-alpha--hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button--bare_secondary--color--hover,var(--now-actionable_label--secondary_bare--color--hover,var(--now-actionable_label--secondary--color--hover,var(--now-color--secondary-2,1,89,107)))))}.now-button-bare.-secondary:not(.is-disabled):hover .now-button-bare-icon{color:RGB(var(--now-button_icon--bare_secondary--color--hover,var(--now-actionable_icon--secondary_bare--color--hover,var(--now-actionable_icon--secondary--color--hover,var(--now-color--secondary-2,1,89,107)))))}.now-button-bare.-secondary:not(.is-disabled).is-active,.now-button-bare.-secondary:not(.is-disabled):active{border-color:RGB(var(--now-button--bare_secondary--border-color--active,var(--now-actionable--secondary_bare--border-color--active,var(--now-actionable--secondary--border-color--active,var(--now-color--secondary-3,1,60,71)))),var(--now-button--bare_secondary--border-color-alpha--active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button--bare_secondary--color--active,var(--now-actionable_label--secondary_bare--color--active,var(--now-actionable_label--secondary--color--active,var(--now-color--secondary-3,1,60,71)))))}.now-button-bare.-secondary:not(.is-disabled).is-active .now-button-bare-icon,.now-button-bare.-secondary:not(.is-disabled):active .now-button-bare-icon{color:RGB(var(--now-button_icon--bare_secondary--color--active,var(--now-actionable_icon--secondary_bare--color--active,var(--now-actionable_icon--secondary--color--active,var(--now-color--secondary-3,1,60,71)))))}.now-button-bare.-secondary:not(.is-disabled) .now-ripple,.now-button-bare.-secondary:not(.is-disabled).is-active,.now-button-bare.-secondary:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button--bare_secondary--background-color--active,var(--now-actionable--secondary_bare--background-color--active,var(--now-actionable--secondary--background-color--active,var(--now-color--secondary-1,1,119,142)))),var(--now-button--bare_secondary--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-bare.-secondary.is-disabled{opacity:var(--now-button--bare_secondary--opacity--disabled,var(--now-actionable--secondary_bare--opacity--disabled,var(--now-actionable--bare--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-button-bare.-secondary.high-contrast{color:RGB(var(--now-button--bare_secondary_high-contrast--color,var(--now-actionable_label--secondary_high-contrast_bare--color,var(--now-color--secondary-2,1,89,107))))}.now-button-bare.-secondary.high-contrast .now-button-bare-icon{color:RGB(var(--now-button-iconic--bare_secondary_high-contrast--color,var(--now-actionable_icon--secondary_high-contrast_bare--color,var(--now-color--secondary-2,1,89,107))))}.now-button-bare.-secondary.high-contrast:not(.is-disabled):hover{color:RGB(var(--now-button--bare_secondary_high-contrast--color--hover,var(--now-actionable_label--secondary_high-contrast_bare--color--hover,var(--now-color--secondary-3,1,60,71))))}.now-button-bare.-secondary.high-contrast:not(.is-disabled):hover .now-button-bare-icon{color:RGB(var(--now-button-iconic--bare_secondary_high-contrast--color--hover,var(--now-actionable_icon--secondary_high-contrast_bare--color--hover,var(--now-color--secondary-3,1,60,71))))}.now-button-bare.-secondary.high-contrast:not(.is-disabled).is-active,.now-button-bare.-secondary.high-contrast:not(.is-disabled):active{color:RGB(var(--now-button--bare_secondary_high-contrast--color--active,var(--now-actionable_label--secondary_high-contrast_bare--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-bare.-secondary.high-contrast:not(.is-disabled).is-active .now-button-bare-icon,.now-button-bare.-secondary.high-contrast:not(.is-disabled):active .now-button-bare-icon{color:RGB(var(--now-button-iconic--bare_secondary_high-contrast--color--active,var(--now-actionable_icon--secondary_high-contrast_bare--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-bare.-tertiary{border-radius:var(--now-button--bare_tertiary--border-radius,var(--now-actionable--tertiary_bare--border-radius,var(--now-actionable--bare--border-radius,var(--now-actionable--border-radius,0))));border-width:var(--now-button--bare_tertiary--border-width,var(--now-actionable--tertiary_bare--border-width,var(--now-actionable--bare--border-width,var(--now-actionable--border-width,1px))));color:RGB(var(--now-button--bare_tertiary--color,var(--now-actionable_label--tertiary_bare--color,var(--now-actionable_label--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))))}.now-button-bare.-tertiary .now-button-bare-icon{color:RGB(var(--now-button_icon--bare_tertiary--color,var(--now-actionable_icon--tertiary_bare--color,var(--now-actionable_icon--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))))}.now-button-bare.-tertiary:not(.is-disabled):hover{background-color:RGB(var(--now-button--bare_tertiary--background-color--hover,var(--now-actionable--tertiary_bare--background-color--hover,var(--now-actionable--tertiary--background-color--hover,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55))))),var(--now-button--bare_tertiary--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button--bare_tertiary--border-color--hover,var(--now-actionable--tertiary_bare--border-color--hover,var(--now-actionable--tertiary--border-color--hover,var(--now-color_border--secondary-actionable,var(--now-color--neutral-15,44,53,55))))),var(--now-button--bare_tertiary--border-color-alpha--hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button--bare_tertiary--color--hover,var(--now-actionable_label--tertiary_bare--color--hover,var(--now-actionable_label--tertiary--color--hover,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))))))}.now-button-bare.-tertiary:not(.is-disabled):hover .now-button-bare-icon{color:RGB(var(--now-button_icon--bare_tertiary--color--hover,var(--now-actionable_icon--tertiary_bare--color--hover,var(--now-actionable_icon--tertiary--color--hover,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))))))}.now-button-bare.-tertiary:not(.is-disabled).is-active,.now-button-bare.-tertiary:not(.is-disabled):active{border-color:RGB(var(--now-button--bare_tertiary--border-color--active,var(--now-actionable--tertiary_bare--border-color--active,var(--now-actionable--tertiary--border-color--active,var(--now-color_border--primary-actionable,var(--now-color--neutral-18,22,27,28))))),var(--now-button--bare_tertiary--border-color-alpha--active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button--bare_tertiary--color--active,var(--now-actionable_label--tertiary_bare--color--active,var(--now-actionable_label--tertiary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-button-bare.-tertiary:not(.is-disabled).is-active .now-button-bare-icon,.now-button-bare.-tertiary:not(.is-disabled):active .now-button-bare-icon{color:RGB(var(--now-button_icon--bare_tertiary--color--active,var(--now-actionable_icon--tertiary_bare--color--active,var(--now-actionable_icon--tertiary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-button-bare.-tertiary:not(.is-disabled) .now-ripple,.now-button-bare.-tertiary:not(.is-disabled).is-active,.now-button-bare.-tertiary:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button--bare_tertiary--background-color--active,var(--now-actionable--tertiary_bare--background-color--active,var(--now-actionable--tertiary--background-color--active,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55))))),var(--now-button--bare_tertiary--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-bare.-tertiary.is-disabled{opacity:var(--now-button--bare_tertiary--opacity--disabled,var(--now-actionable--tertiary_bare--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))}.now-button-bare.-tertiary.high-contrast{color:RGB(var(--now-button--bare_tertiary_high-contrast--color,var(--now-actionable_label--tertiary_high-contrast_bare--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button--bare_tertiary_high-contrast--color-alpha,1))}.now-button-bare.-tertiary.high-contrast .now-button-bare-icon{color:RGB(var(--now-button_icon--bare_tertiary_high-contrast--color,var(--now-actionable_icon--tertiary_high-contrast_bare--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-bare.-tertiary.high-contrast:not(.is-disabled):hover{color:RGB(var(--now-button--bare_tertiary_high-contrast--color--hover,var(--now-actionable_label--tertiary_high-contrast_bare--color--hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button--bare_tertiary_high-contrast--color-alpha--hover,1))}.now-button-bare.-tertiary.high-contrast:not(.is-disabled):hover .now-button-bare-icon{color:RGB(var(--now-button_icon--bare_tertiary_high-contrast--color--hover,var(--now-actionable_icon--tertiary_high-contrast_bare--color--hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-bare.-tertiary.high-contrast:not(.is-disabled).is-active,.now-button-bare.-tertiary.high-contrast:not(.is-disabled):active{color:RGB(var(--now-button--bare_tertiary_high-contrast--color--active,var(--now-actionable_label--tertiary_high-contrast_bare--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button--bare_tertiary_high-contrast--color-alpha--active,1))}.now-button-bare.-tertiary.high-contrast:not(.is-disabled).is-active .now-button-bare-icon,.now-button-bare.-tertiary.high-contrast:not(.is-disabled):active .now-button-bare-icon{color:RGB(var(--now-button_icon--bare_tertiary_high-contrast--color--active,var(--now-actionable_icon--tertiary_high-contrast_bare--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-bare.is-disabled{cursor:not-allowed;opacity:var(--now-button--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))}.now-button-bare.is-disabled:hover{box-shadow:none}.now-button-bare.is-disabled:focus-visible::-moz-focus-inner{border-style:none}.now-button-bare.is-disabled:focus-visible:focus-visible{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.now-button-bare.is-disabled:focus-visible:focus-visible{outline:1px solid highlight}}.now-button-bare .now-line-height-crop{min-inline-size:0}.now-button-bare-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-button-bare-label:after{content:\\\"\\\";display:block}@media(forced-colors:active){.now-button-bare,.now-button-bare:focus-visible,.now-button-bare:hover{transition:none}.now-button-bare{background-color:buttonface!important;border-style:solid!important;border-width:1px!important;color:buttontext!important}.now-button-bare now-icon,.now-button-bare now-icon-animated{color:inherit!important}.now-button-bare:focus-visible,.now-button-bare:hover{background-color:highlighttext!important;border-color:highlight!important;color:highlight!important}.now-button-bare.is-disabled,.now-button-bare.is-disabled:hover{background-color:buttonface!important;border-color:graytext!important;color:graytext!important;opacity:1!important}.now-button-bare .now-line-height-crop{forced-color-adjust:none}.now-button-bare ::slotted(*){forced-color-adjust:none}.now-button-bare.hide-block-padding.-sm{padding-block:.125rem!important}.now-button-bare.hide-block-padding.-md{padding-block:.1875rem!important}.now-button-bare.hide-block-padding.-lg{padding-block:.375rem!important}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:inline-block;vertical-align:middle}.now-button-circular{--now-motion--timing-function:var(--now-motion--ease--focus-standard,cubic-bezier(0.4,0,0.5,1));--now-motion--duration:var(--now-motion--duration--normal,200ms);--now-button-circular--duration--faster:var(--now-motion--duration--faster,100ms);align-items:center;block-size:3.75rem;border-color:RGB(var(--now-button-circular--border-color,var(--now-actionable--brand-primary--border-color,var(--now-color--primary-1,30,133,109))));border-radius:50%;border-style:solid;border-width:var(--now-button-circular--border-width,var(--now-actionable--brand-primary--border-width,var(--now-actionable--contained_brand--border-width,0)));cursor:pointer;display:flex;inline-size:inherit;inline-size:3.75rem;justify-content:center;position:relative}.now-button-circular .now-ripple{aspect-ratio:1/1;border-radius:100%;inline-size:100%;left:50%;position:absolute;top:50%;transform:scale(0);transform-origin:center;z-index:0}.now-button-circular ::slotted(*),.now-button-circular now-icon,.now-button-circular slot>*{z-index:1}.now-button-circular.should-animate{transition-duration:var(--now-motion--duration--faster,.1s);transition-property:background-color,box-shadow,color,--now-button--ai--gradient-start,--now-button--ai--gradient-end;transition-timing-function:var(--now-motion--ease--linear,linear)}.now-button-circular:focus-visible{transition-property:background-color,color}.now-button-circular:focus-visible::-moz-focus-inner{border-style:none}.now-button-circular:focus-visible:focus-visible{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.now-button-circular:focus-visible:focus-visible{outline:1px solid highlight}}.now-button-circular.has-shadow{box-shadow:0 .5rem .75rem 0 RGB(56,56,56,var(--now-opacity--less,.25))}.now-button-circular.has-shadow:focus-visible{box-shadow:0 .5rem .75rem 0 RGB(56,56,56,var(--now-opacity--less,.25)),inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))}.now-button-circular.-initial{background-color:RGB(var(--now-button-circular--background-color,var(--now-actionable--brand-primary--background-color,var(--now-color--primary-1,30,133,109))));color:RGB(var(--now-button-circular--color,var(--now-actionable_icon--brand-primary--color,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button-circular.-initial:not(.is-disabled):hover{background-color:RGB(var(--now-button-circular--background-color--hover,var(--now-actionable--brand-primary--background-color--hover,var(--now-color--primary-2,23,100,82))));border-color:RGB(var(--now-button-circular--border-color--hover,var(--now-actionable--brand-primary--border-color--hover,var(--now-color--primary-2,23,100,82))));color:RGB(var(--now-button-circular--color--hover,var(--now-actionable_icon--brand-primary--color--hover,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button-circular.-initial:not(.is-disabled).is-active,.now-button-circular.-initial:not(.is-disabled):active{border-color:RGB(var(--now-button-circular--border-color--active,var(--now-actionable--brand-primary--border-color--active,var(--now-color--primary-3,15,67,55))));color:RGB(var(--now-button-circular--color--active,var(--now-actionable_icon--brand-primary--color--active,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button-circular.-initial:not(.is-disabled) .now-ripple,.now-button-circular.-initial:not(.is-disabled).is-active,.now-button-circular.-initial:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-circular--background-color--active,var(--now-actionable--brand-primary--background-color--active,var(--now-color--primary-3,15,67,55))))}.now-button-circular.-ai{--now-button--ai--gradient-start:RGB(var(--now-actionable--primary-ai--background-color-gradient--start,var(--now-color--secondary-brand-10,134,246,115)));--now-button--ai--gradient-end:RGB(var(--now-actionable--primary-ai--background-color-gradient--end,var(--now-color--supplementary1-brand-10,113,213,254)));background:linear-gradient(135deg,var(--now-button--ai--gradient-start) 5%,var(--now-button--ai--gradient-end) 95%)}.now-button-circular.-ai,.now-button-circular.-ai.is-disabled{color:RGB(var(--now-actionable_icon--primary-ai--color,var(--now-actionable_label--primary-ai--color,var(--now-color--primary-brand-16,0,79,101))))}.now-button-circular.-ai:not(.is-disabled):hover{--now-button--ai--gradient-start:RGB(var(--now-actionable--primary-ai--background-color--hover,var(--now-color--secondary-brand-10,134,246,115)));--now-button--ai--gradient-end:RGB(var(--now-actionable--primary-ai--background-color--hover,var(--now-color--secondary-brand-10,134,246,115)));background:linear-gradient(135deg,var(--now-button--ai--gradient-start) 5%,var(--now-button--ai--gradient-end) 95%);color:RGB(var(--now-actionable_icon--primary-ai--color--hover,var(--now-actionable_label--primary-ai--color--hover,var(--now-color--primary-brand-17,0,72,91))))}.now-button-circular.-ai:not(.is-disabled) .now-ripple,.now-button-circular.-ai:not(.is-disabled).is-active,.now-button-circular.-ai:not(.is-disabled):active{--now-button--ai--gradient-start:RGB(var(--now-actionable--primary-ai--background-color--active,var(--now-color--secondary-brand-11,125,229,107)));--now-button--ai--gradient-end:RGB(var(--now-actionable--primary-ai--background-color--active,var(--now-color--secondary-brand-11,125,229,107)));background:linear-gradient(135deg,var(--now-button--ai--gradient-start) 5%,var(--now-button--ai--gradient-end) 95%);color:RGB(var(--now-actionable_icon--primary-ai--color--active,var(--now-actionable_label--primary-ai--color--active,var(--now-color--primary-brand-18,0,64,82))))}.now-button-circular.is-disabled{color:RGB(var(--now-button-circular--color,var(--now-actionable_icon--brand-primary--color,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))));cursor:not-allowed;opacity:var(--now-button-circular--opacity--disabled,var(--now-actionable--brand-primary--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}@media(forced-colors:active){.now-button-circular,.now-button-circular:focus-visible,.now-button-circular:hover{transition:none}.now-button-circular{background-color:buttonface!important;border-style:solid!important;border-width:1px!important;color:buttontext!important}.now-button-circular now-icon,.now-button-circular now-icon-animated{color:inherit!important}.now-button-circular:focus-visible,.now-button-circular:hover{background-color:highlighttext!important;border-color:highlight!important;color:highlight!important}.now-button-circular.is-disabled,.now-button-circular.is-disabled:hover{background-color:buttonface!important;border-color:graytext!important;color:graytext!important;opacity:1!important}.now-button-circular .now-line-height-crop{forced-color-adjust:none}.now-button-circular ::slotted(*){forced-color-adjust:none}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:inline-block;vertical-align:middle}.now-button-iconic{align-items:center;border-radius:var(--now-button-iconic--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,0)));border-style:solid;cursor:pointer;display:flex;inline-size:inherit;justify-content:center;margin:0;overflow:hidden;padding:0;position:relative}.now-button-iconic ::slotted(*),.now-button-iconic now-icon,.now-button-iconic slot>*{z-index:1}.now-button-iconic .now-ripple{aspect-ratio:1/1;border-radius:100%;inline-size:100%;left:50%;position:absolute;top:50%;transform:scale(0);transform-origin:center;z-index:0}.now-button-iconic.should-animate{transition-duration:var(--now-motion--duration--faster,.1s);transition-property:--now-button--ai--gradient-start,--now-button--ai--gradient-end,border-color,background-color,box-shadow,color;transition-timing-function:var(--now-motion--ease--linear,linear)}.now-button-iconic.should-animate:hover{transition-duration:var(--now-motion--duration--faster,.1s),var(--now-motion--duration--normal,.2s),var(--now-motion--duration--faster,.1s);transition-property:--now-button--ai--gradient-start,--now-button--ai--gradient-end,border-color,background-color,box-shadow,color}.now-button-iconic.should-animate:focus{transition-duration:var(--now-motion--duration--faster,.1s),var(--now-motion--duration--normal,.2s),var(--now-motion--duration--normal,.2s)}.now-button-iconic.should-animate:focus-visible{transition-duration:var(--now-motion--duration--faster,.1s),var(--now-motion--duration--normal,.2s);transition-property:background-color,color}.now-button-iconic:not(.is-bare):hover{box-shadow:0 .125rem .25rem 0 RGB(56,56,56,var(--now-opacity--less,.25))}.now-button-iconic:focus-visible::-moz-focus-inner{border-style:none}.now-button-iconic:focus-visible:focus-visible{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.now-button-iconic:focus-visible:focus-visible{outline:1px solid highlight}}.now-button-iconic.-sm{block-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2);inline-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2)}.now-button-iconic.-md{block-size:calc(1rem + var(--now-button--scale-size, 1)*2rem/2);inline-size:calc(1rem + var(--now-button--scale-size, 1)*2rem/2)}.now-button-iconic.-lg{block-size:calc(1.5rem + var(--now-button--scale-size, 1)*3rem/2);inline-size:calc(1.5rem + var(--now-button--scale-size, 1)*3rem/2)}.now-button-iconic.-primary{background-color:RGB(var(--now-button-iconic--primary--background-color,var(--now-actionable--primary--background-color,var(--now-color--primary-1,30,133,109))));border-color:RGB(var(--now-button-iconic--primary--border-color,var(--now-actionable--primary--border-color,var(--now-color--primary-1,30,133,109))));border-radius:var(--now-button-iconic--primary--border-radius,var(--now-actionable--primary--border-radius,var(--now-actionable--contained_brand--border-radius,var(--now-actionable--border-radius,0))));border-width:var(--now-button-iconic--primary--border-width,var(--now-actionable--primary--border-width,var(--now-actionable--contained_brand--border-width,0)));color:RGB(var(--now-button-iconic--primary--color,var(--now-actionable_icon--primary--color,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button-iconic.-primary:not(.is-disabled):hover{background-color:RGB(var(--now-button-iconic--primary--background-color--hover,var(--now-actionable--primary--background-color--hover,var(--now-color--primary-2,23,100,82))));border-color:RGB(var(--now-button-iconic--primary--border-color--hover,var(--now-actionable--primary--border-color--hover,var(--now-color--primary-2,23,100,82))));color:RGB(var(--now-button-iconic--primary--color--hover,var(--now-actionable_icon--primary--color--hover,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button-iconic.-primary:not(.is-disabled).is-active,.now-button-iconic.-primary:not(.is-disabled):active{border-color:RGB(var(--now-button-iconic--primary--border-color--active,var(--now-actionable--primary--border-color--active,var(--now-color--primary-3,15,67,55))));color:RGB(var(--now-button-iconic--primary--color--active,var(--now-actionable_icon--primary--color--active,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button-iconic.-primary:not(.is-disabled) .now-ripple,.now-button-iconic.-primary:not(.is-disabled).is-active,.now-button-iconic.-primary:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-iconic--primary--background-color--active,var(--now-actionable--primary--background-color--active,var(--now-color--primary-3,15,67,55))))}.now-button-iconic.-primary.is-disabled{opacity:var(--now-button-iconic--primary--opacity--disabled,var(--now-actionable--primary--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-button-iconic.-secondary{background-color:RGB(var(--now-button-iconic--secondary--background-color,var(--now-actionable--secondary--background-color,var(--now-color--secondary-1,1,119,142))),var(--now-button-iconic--secondary--background-color-alpha,var(--now-actionable--background-color-alpha,0)));border-color:RGB(var(--now-button-iconic--secondary--border-color,var(--now-actionable--secondary--border-color,var(--now-color--secondary-1,1,119,142))));border-radius:var(--now-button-iconic--secondary--border-radius,var(--now-actionable--secondary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,0))));border-width:var(--now-button-iconic--secondary--border-width,var(--now-actionable--secondary--border-width,var(--now-actionable--contained--border-width,var(--now-actionable--border-width,1px))));color:RGB(var(--now-button-iconic--secondary--color,var(--now-actionable_icon--secondary--color,var(--now-color--secondary-1,1,119,142))))}.now-button-iconic.-secondary:not(.is-disabled):hover{background-color:RGB(var(--now-button-iconic--secondary--background-color--hover,var(--now-actionable--secondary--background-color--hover,var(--now-color--secondary-1,1,119,142))),var(--now-button-iconic--secondary--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-iconic--secondary--border-color--hover,var(--now-actionable--secondary--border-color--hover,var(--now-color--secondary-2,1,89,107))));color:RGB(var(--now-button-iconic--secondary--color--hover,var(--now-actionable_icon--secondary--color--hover,var(--now-color--secondary-2,1,89,107))))}.now-button-iconic.-secondary:not(.is-disabled).is-active,.now-button-iconic.-secondary:not(.is-disabled):active{border-color:RGB(var(--now-button-iconic--secondary--border-color--active,var(--now-actionable--secondary--border-color--active,var(--now-color--secondary-3,1,60,71))));color:RGB(var(--now-button-iconic--secondary--color--active,var(--now-actionable_icon--secondary--color--active,var(--now-color--secondary-3,1,60,71))))}.now-button-iconic.-secondary:not(.is-disabled) .now-ripple,.now-button-iconic.-secondary:not(.is-disabled).is-active,.now-button-iconic.-secondary:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-iconic--secondary--background-color--active,var(--now-actionable--secondary--background-color--active,var(--now-color--secondary-1,1,119,142))),var(--now-button-iconic--secondary--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-iconic.-secondary.is-disabled{opacity:var(--now-button-iconic--secondary--opacity--disabled,var(--now-actionable--secondary--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-button-iconic.-tertiary{background-color:RGB(var(--now-button-iconic--tertiary--background-color,var(--now-actionable--tertiary--background-color,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55)))),var(--now-button-iconic--tertiary--background-color-alpha,var(--now-actionable--background-color-alpha,0)));border-color:RGB(var(--now-button-iconic--tertiary--border-color,var(--now-actionable--tertiary--border-color,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))),var(--now-button-iconic--tertiary--border-color-alpha,var(--now-actionable--iconic--border-color-alpha,1)));border-radius:var(--now-button-iconic--tertiary--border-radius,var(--now-actionable--tertiary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,0))));border-width:var(--now-button-iconic--tertiary--border-width,var(--now-actionable--tertiary--border-width,var(--now-actionable--contained--border-width,var(--now-actionable--border-width,1px))));color:RGB(var(--now-button-iconic--tertiary--color,var(--now-actionable_icon--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-button-iconic.-tertiary:not(.is-disabled):hover{background-color:RGB(var(--now-button-iconic--tertiary--background-color--hover,var(--now-actionable--tertiary--background-color--hover,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55)))),var(--now-button-iconic--tertiary--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-iconic--tertiary--border-color--hover,var(--now-actionable--tertiary--border-color--hover,var(--now-color_border--secondary-actionable,var(--now-color--neutral-15,44,53,55)))),var(--now-button-iconic--tertiary--border-color-alpha--hover,var(--now-actionable--iconic--border-color-alpha,1)));color:RGB(var(--now-button-iconic--tertiary--color--hover,var(--now-actionable_icon--tertiary--color--hover,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.now-button-iconic.-tertiary:not(.is-disabled).is-active,.now-button-iconic.-tertiary:not(.is-disabled):active{border-color:RGB(var(--now-button-iconic--tertiary--border-color--active,var(--now-actionable--tertiary--border-color--active,var(--now-color_border--primary-actionable,var(--now-color--neutral-18,22,27,28)))),var(--now-button-iconic--tertiary--border-color-alpha--active,var(--now-actionable--iconic--border-color-alpha,1)));color:RGB(var(--now-button-iconic--tertiary--color--active,var(--now-actionable_icon--tertiary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-iconic.-tertiary:not(.is-disabled) .now-ripple,.now-button-iconic.-tertiary:not(.is-disabled).is-active,.now-button-iconic.-tertiary:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-iconic--tertiary--background-color--active,var(--now-actionable--tertiary--background-color--active,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55)))),var(--now-button-iconic--tertiary--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-iconic.-tertiary.is-disabled{opacity:var(--now-button-iconic--tertiary--opacity--disabled,var(--now-actionable--tertiary--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-button-iconic.-primary-ai{--now-button--ai--gradient-start:RGB(var(--now-actionable--primary-ai--background-color-gradient--start,var(--now-color--secondary-brand-10,134,246,115)));--now-button--ai--gradient-end:RGB(var(--now-actionable--primary-ai--background-color-gradient--end,var(--now-color--supplementary1-brand-10,113,213,254)));background:linear-gradient(135deg,var(--now-button--ai--gradient-start) 5%,var(--now-button--ai--gradient-end) 95%);border-color:RGB(var(--now-actionable--primary-ai--border-color,var(--now-color--secondary-brand-10,134,246,115)));border-radius:var(--now-actionable--primary-ai--border-radius,var(--now-actionable--contained_brand--border-radius,var(--now-actionable--border-radius,0)));border-width:var(--now-actionable--primary-ai--border-width,var(--now-actionable--contained_brand--border-width,0));color:RGB(var(--now-actionable_label--primary-ai--color,var(--now-color--primary-brand-16,0,79,101)))}.now-button-iconic.-primary-ai .now-button-icon{color:RGB(var(--now-actionable_icon--primary-ai--color,var(--now-actionable_label--primary-ai--color,var(--now-color--primary-brand-16,0,79,101))))}.now-button-iconic.-primary-ai:not(.is-disabled):hover{--now-button--ai--gradient-start:RGB(var(--now-actionable--primary-ai--background-color--hover,var(--now-color--secondary-brand-10,134,246,115)));--now-button--ai--gradient-end:RGB(var(--now-actionable--primary-ai--background-color--hover,var(--now-color--secondary-brand-10,134,246,115)));background:linear-gradient(135deg,var(--now-button--ai--gradient-start) 5%,var(--now-button--ai--gradient-end) 95%);border-color:RGB(var(--now-actionable--primary-ai--border-color--hover,var(--now-color--secondary-brand-10,134,246,115)));color:RGB(var(--now-actionable_label--primary-ai--color--hover,var(--now-color--primary-brand-17,0,72,91)))}.now-button-iconic.-primary-ai:not(.is-disabled):hover .now-button-icon{color:RGB(var(--now-actionable_icon--primary-ai--color--hover,var(--now-actionable_label--primary-ai--color--hover,var(--now-color--primary-brand-17,0,72,91))))}.now-button-iconic.-primary-ai:not(.is-disabled).is-active,.now-button-iconic.-primary-ai:not(.is-disabled):active{--now-button--ai--gradient-start:RGB(var(--now-actionable--primary-ai--background-color--active,var(--now-color--secondary-brand-11,125,229,107)));--now-button--ai--gradient-end:RGB(var(--now-actionable--primary-ai--background-color--active,var(--now-color--secondary-brand-11,125,229,107)));background:linear-gradient(135deg,var(--now-button--ai--gradient-start) 5%,var(--now-button--ai--gradient-end) 95%);border-color:RGB(var(--now-actionable--primary-ai--border-color--active,var(--now-color--secondary-brand-11,125,229,107)));color:RGB(var(--now-actionable_label--primary-ai--color--active,var(--now-color--primary-brand-18,0,64,82)))}.now-button-iconic.-primary-ai:not(.is-disabled).is-active .now-button-icon,.now-button-iconic.-primary-ai:not(.is-disabled):active .now-button-icon{color:RGB(var(--now-actionable_icon--primary-ai--color--active,var(--now-actionable_label--primary-ai--color--active,var(--now-color--primary-brand-18,0,64,82))))}.now-button-iconic.-primary-ai:not(.is-disabled) .now-ripple,.now-button-iconic.-primary-ai:not(.is-disabled).is-active,.now-button-iconic.-primary-ai:not(.is-disabled):active:not(.has-ripple){--now-button--ai--gradient-start:RGB(var(--now-actionable--primary-ai--background-color--active,var(--now-color--secondary-brand-11,125,229,107)));--now-button--ai--gradient-end:RGB(var(--now-actionable--primary-ai--background-color--active,var(--now-color--secondary-brand-11,125,229,107)));background:linear-gradient(135deg,var(--now-button--ai--gradient-start) 5%,var(--now-button--ai--gradient-end) 95%)}.now-button-iconic.-primary-ai.is-disabled{opacity:var(--now-actionable--primary-ai--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))}.now-button-iconic.-secondary-ai{--now-button--ai--gradient-start:RGB(var(--now-actionable--secondary-ai--background-color-gradient--start,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--secondary-ai--background-color-alpha,var(--now-opacity--less,0.25)));--now-button--ai--gradient-end:RGB(var(--now-actionable--secondary-ai--background-color-gradient--end,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--secondary-ai--background-color-alpha,var(--now-opacity--less,0.25)));background:linear-gradient(135deg,var(--now-button--ai--gradient-start) 5%,var(--now-button--ai--gradient-end) 95%);border-color:RGB(var(--now-actionable--secondary-ai--border-color,var(--now-color--secondary-brand-11,125,229,107)));border-radius:var(--now-actionable--secondary-ai--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,0)));border-width:var(--now-actionable--secondary-ai--border-width,var(--now-actionable--contained--border-width,var(--now-actionable--border-width,1px)));color:RGB(var(--now-actionable_label--secondary-ai--color,var(--now-color--primary-brand-12,0,111,142)))}.now-button-iconic.-secondary-ai .now-button-icon{color:RGB(var(--now-actionable_icon--secondary-ai--color,var(--now-actionable_label--secondary-ai--color,var(--now-color--primary-brand-12,0,111,142))))}.now-button-iconic.-secondary-ai:not(.is-disabled):hover{--now-button--ai--gradient-start:RGB(var(--now-actionable--secondary-ai--background-color-gradient--start_hover,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--secondary-ai--background-color-alpha--hover,var(--now-opacity--mid,0.5)));--now-button--ai--gradient-end:RGB(var(--now-actionable--secondary-ai--background-color-gradient--end_hover,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--secondary-ai--background-color-alpha--hover,var(--now-opacity--mid,0.5)));background:linear-gradient(135deg,var(--now-button--ai--gradient-start) 5%,var(--now-button--ai--gradient-end) 95%);border-color:RGB(var(--now-actionable--secondary-ai--border-color--hover,var(--now-color--secondary-brand-12,114,209,98)));color:RGB(var(--now-actionable_label--secondary-ai--color--hover,var(--now-color--primary-brand-13,0,104,132)))}.now-button-iconic.-secondary-ai:not(.is-disabled):hover .now-button-icon{color:RGB(var(--now-actionable_icon--secondary-ai--color--hover,var(--now-actionable_label--secondary-ai--color--hover,var(--now-color--primary-brand-13,0,104,132))))}.now-button-iconic.-secondary-ai:not(.is-disabled).is-active,.now-button-iconic.-secondary-ai:not(.is-disabled):active{--now-button--ai--gradient-start:RGB(var(--now-actionable--secondary-ai--background-color-gradient--start_active,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--secondary-ai--background-color-alpha--active,var(--now-opacity--more,0.65)));--now-button--ai--gradient-end:RGB(var(--now-actionable--secondary-ai--background-color-gradient--end_active,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--secondary-ai--background-color-alpha--active,var(--now-opacity--more,0.65)));background:linear-gradient(135deg,var(--now-button--ai--gradient-start) 5%,var(--now-button--ai--gradient-end) 95%);border-color:RGB(var(--now-actionable--secondary-ai--border-color--active,var(--now-color--secondary-brand-13,105,192,90)));color:RGB(var(--now-actionable_label--secondary-ai--color--active,var(--now-color--primary-brand-14,0,96,122)))}.now-button-iconic.-secondary-ai:not(.is-disabled).is-active .now-button-icon,.now-button-iconic.-secondary-ai:not(.is-disabled):active .now-button-icon{color:RGB(var(--now-actionable_icon--secondary-ai--color--active,var(--now-actionable_label--secondary-ai--color--active,var(--now-color--primary-brand-14,0,96,122))))}.now-button-iconic.-secondary-ai:not(.is-disabled) .now-ripple,.now-button-iconic.-secondary-ai:not(.is-disabled).is-active,.now-button-iconic.-secondary-ai:not(.is-disabled):active:not(.has-ripple){--now-button--ai--gradient-start:RGB(var(--now-actionable--secondary-ai--background-color-gradient--start_active,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--secondary-ai--background-color-alpha--active,var(--now-opacity--more,0.65)));--now-button--ai--gradient-end:RGB(var(--now-actionable--secondary-ai--background-color-gradient--end_active,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--secondary-ai--background-color-alpha--active,var(--now-opacity--more,0.65)));background:linear-gradient(135deg,var(--now-button--ai--gradient-start) 5%,var(--now-button--ai--gradient-end) 95%)}.now-button-iconic.-secondary-ai.is-disabled{opacity:var(--now-actionable--secondary-ai--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))}.now-button-iconic.-tertiary-ai{--now-button--ai--gradient-start:RGB(var(--now-actionable--tertiary-ai--background-color-gradient--start,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--tertiary-ai--background-color-alpha,var(--now-opacity--least,0.1)));--now-button--ai--gradient-end:RGB(var(--now-actionable--tertiary-ai--background-color-gradient--end,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--tertiary-ai--background-color-alpha,var(--now-opacity--least,0.1)));background:linear-gradient(135deg,var(--now-button--ai--gradient-start) 5%,var(--now-button--ai--gradient-end) 95%);border-color:RGB(var(--now-actionable--tertiary-ai--border-color,var(--now-color--secondary-brand-11,125,229,107)));border-radius:var(--now-actionable--tertiary-ai--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,0)));border-width:var(--now-actionable--tertiary-ai--border-width,var(--now-actionable--contained--border-width,var(--now-actionable--border-width,1px)));color:RGB(var(--now-actionable_label--tertiary-ai--color,var(--now-color--primary-brand-12,0,111,142)))}.now-button-iconic.-tertiary-ai .now-button-icon{color:RGB(var(--now-actionable_icon--tertiary-ai--color,var(--now-actionable_label--tertiary-ai--color,var(--now-color--primary-brand-12,0,111,142))))}.now-button-iconic.-tertiary-ai:not(.is-disabled):hover{--now-button--ai--gradient-start:RGB(var(--now-actionable--tertiary-ai--background-color-gradient--start_hover,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--tertiary-ai--background-color-alpha--hover,var(--now-opacity--mid,0.5)));--now-button--ai--gradient-end:RGB(var(--now-actionable--tertiary-ai--background-color-gradient--end_hover,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--tertiary-ai--background-color-alpha--hover,var(--now-opacity--mid,0.5)));background:linear-gradient(135deg,var(--now-button--ai--gradient-start) 5%,var(--now-button--ai--gradient-end) 95%);border-color:RGB(var(--now-actionable--tertiary-ai--border-color--hover,var(--now-color--secondary-brand-12,114,209,98)));color:RGB(var(--now-actionable_label--tertiary-ai--color--hover,var(--now-color--primary-brand-13,0,104,132)))}.now-button-iconic.-tertiary-ai:not(.is-disabled):hover .now-button-icon{color:RGB(var(--now-actionable_icon--tertiary-ai--color--hover,var(--now-actionable_label--tertiary-ai--color--hover,var(--now-color--primary-brand-13,0,104,132))))}.now-button-iconic.-tertiary-ai:not(.is-disabled).is-active,.now-button-iconic.-tertiary-ai:not(.is-disabled):active{--now-button--ai--gradient-start:RGB(var(--now-actionable--tertiary-ai--background-color-gradient--start_active,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--tertiary-ai--background-color-alpha--active,var(--now-opacity--more,0.65)));--now-button--ai--gradient-end:RGB(var(--now-actionable--tertiary-ai--background-color-gradient--end_active,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--tertiary-ai--background-color-alpha--active,var(--now-opacity--more,0.65)));background:linear-gradient(135deg,var(--now-button--ai--gradient-start) 5%,var(--now-button--ai--gradient-end) 95%);border-color:RGB(var(--now-actionable--tertiary-ai--border-color--active,var(--now-color--secondary-brand-13,105,192,90)));color:RGB(var(--now-actionable_label--tertiary-ai--color--active,var(--now-color--primary-brand-14,0,96,122)))}.now-button-iconic.-tertiary-ai:not(.is-disabled).is-active .now-button-icon,.now-button-iconic.-tertiary-ai:not(.is-disabled):active .now-button-icon{color:RGB(var(--now-actionable_icon--tertiary-ai--color--active,var(--now-actionable_label--tertiary-ai--color--active,var(--now-color--primary-brand-14,0,96,122))))}.now-button-iconic.-tertiary-ai:not(.is-disabled) .now-ripple,.now-button-iconic.-tertiary-ai:not(.is-disabled).is-active,.now-button-iconic.-tertiary-ai:not(.is-disabled):active:not(.has-ripple){--now-button--ai--gradient-start:RGB(var(--now-actionable--tertiary-ai--background-color-gradient--start_active,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--tertiary-ai--background-color-alpha--active,var(--now-opacity--more,0.65)));--now-button--ai--gradient-end:RGB(var(--now-actionable--tertiary-ai--background-color-gradient--end_active,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--tertiary-ai--background-color-alpha--active,var(--now-opacity--more,0.65)));background:linear-gradient(135deg,var(--now-button--ai--gradient-start) 5%,var(--now-button--ai--gradient-end) 95%)}.now-button-iconic.-tertiary-ai.is-disabled{opacity:var(--now-actionable--tertiary-ai--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))}.now-button-iconic.is-bare,.now-button-iconic.is-bare.is-active,.now-button-iconic.is-bare:active,.now-button-iconic.is-bare:hover{background-color:transparent;border-color:transparent;border-width:0}.now-button-iconic.is-bare:focus-visible::-moz-focus-inner{border-style:none}.now-button-iconic.is-bare:focus-visible:focus-visible{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)));outline:none}@media(forced-colors:active){.now-button-iconic.is-bare:focus-visible:focus-visible{outline:1px solid highlight}}.now-button-iconic.is-bare.-primary{border-radius:var(--now-button-iconic--bare_primary--border-radius,var(--now-actionable--primary_bare--border-radius,var(--now-actionable--bare--border-radius,var(--now-actionable--border-radius,0))));border-width:var(--now-button-iconic--bare_primary--border-width,var(--now-actionable--primary_bare--border-width,var(--now-actionable--bare--border-width,var(--now-actionable--border-width,1px))));color:RGB(var(--now-button-iconic--bare_primary--color,var(--now-actionable_icon--primary_bare--color,var(--now-color--primary-2,23,100,82))))}.now-button-iconic.is-bare.-primary:not(.is-disabled):hover{background-color:RGB(var(--now-button-iconic--bare_primary--background-color--hover,var(--now-actionable--primary_bare--background-color--hover,var(--now-color--primary-1,30,133,109))),var(--now-button-iconic--bare_primary--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-iconic--bare_primary--border-color--hover,var(--now-actionable--primary_bare--border-color--hover,var(--now-color--primary-3,15,67,55))),var(--now-button-iconic--bare_primary--border-color-alpha--hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-iconic--bare_primary--color--hover,var(--now-actionable_icon--primary_bare--color--hover,var(--now-color--primary-3,15,67,55))))}.now-button-iconic.is-bare.-primary:not(.is-disabled).is-active,.now-button-iconic.is-bare.-primary:not(.is-disabled):active{border-color:RGB(var(--now-button-iconic--bare_primary--border-color--active,var(--now-actionable--primary_bare--border-color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-iconic--bare_primary--border-color-alpha--active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-iconic--bare_primary--color--active,var(--now-actionable_icon--primary_bare--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-iconic.is-bare.-primary:not(.is-disabled) .now-ripple,.now-button-iconic.is-bare.-primary:not(.is-disabled).is-active,.now-button-iconic.is-bare.-primary:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-iconic--bare_primary--background-color--active,var(--now-actionable--primary_bare--background-color--active,var(--now-color--primary-1,30,133,109))),var(--now-button-iconic--bare_primary--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-iconic.is-bare.-primary.is-disabled{opacity:var(--now-button-iconic--bare_primary--opacity--disabled,var(--now-actionable--primary_bare--opacity--disabled,var(--now-actionable--bare--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-button-iconic.is-bare.-primary.high-contrast{color:RGB(var(--now-button-iconic--bare_primary_high-contrast--color,var(--now-actionable_icon--primary_high-contrast_bare--color,var(--now-color--primary-3,15,67,55))))}.now-button-iconic.is-bare.-primary.high-contrast:not(.is-disabled):hover{color:RGB(var(--now-button-iconic--bare_primary_high-contrast--color--hover,var(--now-actionable_icon--primary_high-contrast_bare--color--hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-iconic.is-bare.-primary.high-contrast:not(.is-disabled).is-active,.now-button-iconic.is-bare.-primary.high-contrast:not(.is-disabled):active{color:RGB(var(--now-button-iconic--bare_primary_high-contrast--color--active,var(--now-actionable_icon--primary_high-contrast_bare--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-iconic.is-bare.-secondary{border-radius:var(--now-button-iconic--bare_secondary--border-radius,var(--now-actionable--secondary_bare--border-radius,var(--now-actionable--bare--border-radius,var(--now-actionable--border-radius,0))));border-width:var(--now-button-iconic--bare_secondary--border-width,var(--now-actionable--secondary_bare--border-width,var(--now-actionable--bare--border-width,var(--now-actionable--border-width,1px))));color:RGB(var(--now-button-iconic--bare_secondary--color,var(--now-actionable_icon--secondary_bare--color,var(--now-actionable_icon--secondary--color,var(--now-color--secondary-1,1,119,142)))))}.now-button-iconic.is-bare.-secondary:not(.is-disabled):hover{background-color:RGB(var(--now-button-iconic--bare_secondary--background-color--hover,var(--now-actionable--secondary_bare--background-color--hover,var(--now-actionable--secondary--background-color--hover,var(--now-color--secondary-1,1,119,142)))),var(--now-button-iconic--bare_secondary--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-iconic--bare_secondary--border-color--hover,var(--now-actionable--secondary_bare--border-color--hover,var(--now-actionable--secondary--border-color--hover,var(--now-color--secondary-2,1,89,107)))),var(--now-button-iconic--bare_secondary--border-color-alpha--hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-iconic--bare_secondary--color--hover,var(--now-actionable_icon--secondary_bare--color--hover,var(--now-actionable_icon--secondary--color--hover,var(--now-color--secondary-2,1,89,107)))))}.now-button-iconic.is-bare.-secondary:not(.is-disabled).is-active,.now-button-iconic.is-bare.-secondary:not(.is-disabled):active{border-color:RGB(var(--now-button-iconic--bare_secondary--border-color--active,var(--now-actionable--secondary_bare--border-color--active,var(--now-actionable--secondary--border-color--active,var(--now-color--secondary-3,1,60,71)))),var(--now-button-iconic--bare_secondary--border-color-alpha--active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-iconic--bare_secondary--color--active,var(--now-actionable_icon--secondary_bare--color--active,var(--now-actionable_icon--secondary--color--active,var(--now-color--secondary-3,1,60,71)))))}.now-button-iconic.is-bare.-secondary:not(.is-disabled) .now-ripple,.now-button-iconic.is-bare.-secondary:not(.is-disabled).is-active,.now-button-iconic.is-bare.-secondary:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-iconic--bare_secondary--background-color--active,var(--now-actionable--secondary_bare--background-color--active,var(--now-actionable--secondary--background-color--active,var(--now-color--secondary-1,1,119,142)))),var(--now-button-iconic--bare_secondary--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-iconic.is-bare.-secondary.is-disabled{opacity:var(--now-button-iconic--bare_secondary--opacity--disabled,var(--now-actionable--secondary_bare--opacity--disabled,var(--now-actionable--bare--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-button-iconic.is-bare.-secondary.high-contrast{color:RGB(var(--now-button-iconic--bare_secondary_high-contrast--color,var(--now-actionable_icon--secondary_high-contrast_bare--color,var(--now-color--secondary-2,1,89,107))))}.now-button-iconic.is-bare.-secondary.high-contrast:not(.is-disabled):hover{color:RGB(var(--now-button-iconic--bare_secondary_high-contrast--color--hover,var(--now-actionable_icon--secondary_high-contrast_bare--color--hover,var(--now-color--secondary-3,1,60,71))))}.now-button-iconic.is-bare.-secondary.high-contrast:not(.is-disabled).is-active,.now-button-iconic.is-bare.-secondary.high-contrast:not(.is-disabled):active{color:RGB(var(--now-button-iconic--bare_secondary_high-contrast--color--active,var(--now-actionable_icon--secondary_high-contrast_bare--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-iconic.is-bare.-tertiary{border-radius:var(--now-button-iconic--bare_tertiary--border-radius,var(--now-actionable--tertiary_bare--border-radius,var(--now-actionable--bare--border-radius,var(--now-actionable--border-radius,0))));border-width:var(--now-button-iconic--bare_tertiary--border-width,var(--now-actionable--tertiary_bare--border-width,var(--now-actionable--bare--border-width,var(--now-actionable--border-width,1px))));color:RGB(var(--now-button-iconic--bare_tertiary--color,var(--now-actionable_icon--tertiary_bare--color,var(--now-actionable_icon--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))))}.now-button-iconic.is-bare.-tertiary:not(.is-disabled):hover{background-color:RGB(var(--now-button-iconic--bare_tertiary--background-color--hover,var(--now-actionable--tertiary_bare--background-color--hover,var(--now-actionable--tertiary--background-color--hover,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55))))),var(--now-button-iconic--bare_tertiary--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-iconic--bare_tertiary--border-color--hover,var(--now-actionable--tertiary_bare--border-color--hover,var(--now-actionable--tertiary--border-color--hover,var(--now-color_border--secondary-actionable,var(--now-color--neutral-15,44,53,55))))),var(--now-button-iconic--bare_tertiary--border-color-alpha--hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-iconic--bare_tertiary--color--hover,var(--now-actionable_icon--tertiary_bare--color--hover,var(--now-actionable_icon--tertiary--color--hover,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))))))}.now-button-iconic.is-bare.-tertiary:not(.is-disabled).is-active,.now-button-iconic.is-bare.-tertiary:not(.is-disabled):active{border-color:RGB(var(--now-button-iconic--bare_tertiary--border-color--active,var(--now-actionable--tertiary_bare--border-color--active,var(--now-actionable--tertiary--border-color--active,var(--now-color_border--primary-actionable,var(--now-color--neutral-18,22,27,28))))),var(--now-button-iconic--bare_tertiary--border-color-alpha--active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-iconic--bare_tertiary--color--active,var(--now-actionable_icon--tertiary_bare--color--active,var(--now-actionable_icon--tertiary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-button-iconic.is-bare.-tertiary:not(.is-disabled) .now-ripple,.now-button-iconic.is-bare.-tertiary:not(.is-disabled).is-active,.now-button-iconic.is-bare.-tertiary:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-iconic--bare_tertiary--background-color--active,var(--now-actionable--tertiary_bare--background-color--active,var(--now-actionable--tertiary--background-color--active,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55))))),var(--now-button-iconic--bare_tertiary--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-iconic.is-bare.-tertiary.is-disabled{opacity:var(--now-button-iconic--bare_tertiary--opacity--disabled,var(--now-actionable--tertiary_bare--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))}.now-button-iconic.is-bare.-tertiary.high-contrast{color:RGB(var(--now-button-iconic--bare_tertiary_high-contrast--color,var(--now-actionable_icon--tertiary_high-contrast_bare--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-iconic.is-bare.-tertiary.high-contrast:not(.is-disabled):hover{color:RGB(var(--now-button-iconic--bare_tertiary_high-contrast--color--hover,var(--now-actionable_icon--tertiary_high-contrast_bare--color--hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-iconic--bare_tertiary_high-contrast--color-alpha--hover,var(--now-actionable--high-contrast--color-alpha,1)))}.now-button-iconic.is-bare.-tertiary.high-contrast:not(.is-disabled).is-active,.now-button-iconic.is-bare.-tertiary.high-contrast:not(.is-disabled):active{color:RGB(var(--now-button-iconic--bare_tertiary_high-contrast--color--active,var(--now-actionable_icon--tertiary_high-contrast_bare--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-iconic--bare_tertiary_high-contrast--color-alpha--active,var(--now-actionable--high-contrast--color-alpha,1)))}.now-button-iconic.is-bare.-primary-ai{background-image:none;border-radius:var(--now-button-iconic--bare_primary--border-radius,var(--now-actionable--primary_bare--border-radius,var(--now-actionable--bare--border-radius,var(--now-actionable--border-radius,0))));border-width:var(--now-button-iconic--bare_primary--border-width,var(--now-actionable--primary_bare--border-width,var(--now-actionable--bare--border-width,var(--now-actionable--border-width,1px))));color:RGB(var(--now-actionable_label--primary-ai_bare--color,var(--now-color--secondary-brand-17,64,118,55)))}.now-button-iconic.is-bare.-primary-ai:before{display:none}.now-button-iconic.is-bare.-primary-ai:not(.is-disabled):hover{background-color:RGB(var(--now-actionable--primary-ai_bare--background-color--hover,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--primary-ai--background-color-alpha--hover,var(--now-opacity--mid,.5)));background-image:none;border-color:transparent;color:RGB(var(--now-actionable_icon--primary-ai_bare--color--hover,var(--now-actionable_label--primary-ai_bare--color--hover,var(--now-color--primary-brand-13,0,104,132))))}.now-button-iconic.is-bare.-primary-ai:not(.is-disabled) .now-ripple,.now-button-iconic.is-bare.-primary-ai:not(.is-disabled).is-active,.now-button-iconic.is-bare.-primary-ai:not(.is-disabled):active:not(.has-ripple){--now-button--ai--gradient-start:RGB(var(--now-actionable--primary-ai_bare--background-color--active,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--primary-ai--background-color-alpha--hover,var(--now-opacity--mid,0.5)));--now-button--ai--gradient-end:RGB(var(--now-actionable--primary-ai_bare--background-color--active,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--primary-ai--background-color-alpha--hover,var(--now-opacity--mid,0.5)));background:linear-gradient(135deg,var(--now-button--ai--gradient-start) 5%,var(--now-button--ai--gradient-end) 95%);border-color:transparent;color:RGB(var(--now-actionable_icon--primary-ai_bare--color--active,var(--now-actionable_label--primary-ai_bare--color--active,var(--now-color--primary-brand-14,0,96,122))))}.now-button-iconic.is-bare.-primary-ai.is-disabled{opacity:var(--now-button-iconic--bare_primary--opacity--disabled,var(--now-actionable--primary_bare--opacity--disabled,var(--now-actionable--bare--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-button-iconic.is-bare.-secondary-ai{--now-button--ai--gradient-start:RGB(var(--now-actionable--secondary-ai_bare--background-color-gradient--start_hover,var(--now-color--secondary-brand-10,134,246,115)),0);--now-button--ai--gradient-end:RGB(var(--now-actionable--secondary-ai_bare--background-color-gradient--end_hover,var(--now-color--supplementary1-brand-10,113,213,254)),0);background:linear-gradient(135deg,var(--now-button--ai--gradient-start) 5%,var(--now-button--ai--gradient-end) 95%) border-box;border-radius:var(--now-button-iconic--bare_secondary--border-radius,var(--now-actionable--secondary_bare--border-radius,var(--now-actionable--bare--border-radius,var(--now-actionable--border-radius,0))));border-width:var(--now-button-iconic--bare_secondary--border-width,var(--now-actionable--secondary_bare--border-width,var(--now-actionable--bare--border-width,var(--now-actionable--border-width,1px))));color:RGB(var(--now-actionable_label--secondary-ai_bare--color,var(--now-color--primary-brand-12,0,111,142)))}.now-button-iconic.is-bare.-secondary-ai:before{display:none}.now-button-iconic.is-bare.-secondary-ai:not(.is-disabled):hover{--now-button--ai--gradient-start:RGB(var(--now-actionable--secondary-ai_bare--background-color-gradient--start_hover,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--secondary-ai--background-color-alpha--hover,var(--now-opacity--mid,0.5)));--now-button--ai--gradient-end:RGB(var(--now-actionable--secondary-ai_bare--background-color-gradient--end_hover,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--secondary-ai--background-color-alpha--hover,var(--now-opacity--mid,0.5)));color:RGB(var(--now-actionable_icon--secondary-ai_bare--color--hover,var(--now-actionable_label--secondary-ai_bare--color--hover,var(--now-color--primary-brand-13,0,104,132))))}.now-button-iconic.is-bare.-secondary-ai:not(.is-disabled):active,.now-button-iconic.is-bare.-secondary-ai:not(.is-disabled):hover{background:linear-gradient(135deg,var(--now-button--ai--gradient-start) 5%,var(--now-button--ai--gradient-end) 95%) border-box;border-color:transparent}.now-button-iconic.is-bare.-secondary-ai:not(.is-disabled):active{--now-button--ai--gradient-start:RGB(var(--now-actionable--secondary-ai_bare--background-color-gradient--start_active,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--secondary-ai--background-color-alpha--active,var(--now-opacity--more,0.65)));--now-button--ai--gradient-end:RGB(var(--now-actionable--secondary-ai_bare--background-color-gradient--end_active,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--secondary-ai--background-color-alpha--active,var(--now-opacity--more,0.65)));color:RGB(var(--now-actionable_icon--secondary-ai_bare--color--active,var(--now-actionable_label--secondary-ai_bare--color--active,var(--now-color--primary-brand-14,0,96,122))))}.now-button-iconic.is-bare.-secondary-ai:not(.is-disabled).is-disabled{opacity:var(--now-button-iconic--bare_secondary--opacity--disabled,var(--now-actionable--secondary_bare--opacity--disabled,var(--now-actionable--bare--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-button-iconic.is-bare.-tertiary-ai{--now-button--ai--gradient-start:RGB(var(--now-actionable--tertiary-ai_bare--background-color-gradient--start_hover,var(--now-color--secondary-brand-10,134,246,115)),0);--now-button--ai--gradient-end:RGB(var(--now-actionable--tertiary-ai_bare--background-color-gradient--end_hover,var(--now-color--supplementary1-brand-10,113,213,254)),0);background:linear-gradient(135deg,var(--now-button--ai--gradient-start) 5%,var(--now-button--ai--gradient-end) 95%) border-box;border-radius:var(--now-button-iconic--bare_tertiary--border-radius,var(--now-actionable--tertiary_bare--border-radius,var(--now-actionable--bare--border-radius,var(--now-actionable--border-radius,0))));border-width:var(--now-button-iconic--bare_tertiary--border-width,var(--now-actionable--tertiary_bare--border-width,var(--now-actionable--bare--border-width,var(--now-actionable--border-width,1px))));color:RGB(var(--now-actionable_icon--tertiary-ai_bare--color,var(--now-actionable_label--tertiary-ai_bare--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-button-iconic.is-bare.-tertiary-ai:before{display:none}.now-button-iconic.is-bare.-tertiary-ai:not(.is-disabled):hover{--now-button--ai--gradient-start:RGB(var(--now-actionable--tertiary-ai_bare--background-color-gradient--start_hover,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--tertiary-ai--background-color-alpha--hover,var(--now-opacity--mid,0.5)));--now-button--ai--gradient-end:RGB(var(--now-actionable--tertiary-ai_bare--background-color-gradient--end_hover,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--tertiary-ai--background-color-alpha--hover,var(--now-opacity--mid,0.5)));color:RGB(var(--now-actionable_icon--tertiary-ai_bare--color--hover,var(--now-actionable_label--tertiary-ai_bare--color--hover,var(--now-color--primary-brand-13,0,104,132))))}.now-button-iconic.is-bare.-tertiary-ai:not(.is-disabled):active,.now-button-iconic.is-bare.-tertiary-ai:not(.is-disabled):hover{background:linear-gradient(135deg,var(--now-button--ai--gradient-start) 5%,var(--now-button--ai--gradient-end) 95%) border-box;border-color:transparent}.now-button-iconic.is-bare.-tertiary-ai:not(.is-disabled):active{--now-button--ai--gradient-start:RGB(var(--now-actionable--tertiary-ai_bare--background-color-gradient--start_active,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--tertiary-ai--background-color-alpha--active,var(--now-opacity--more,0.65)));--now-button--ai--gradient-end:RGB(var(--now-actionable--tertiary-ai_bare--background-color-gradient--end_active,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--tertiary-ai--background-color-alpha--active,var(--now-opacity--more,0.65)));color:RGB(var(--now-actionable_icon--tertiary-ai_bare--color--active,var(--now-actionable_label--tertiary-ai_bare--color--active,var(--now-color--primary-brand-14,0,96,122))))}.now-button-iconic.is-bare.-tertiary-ai.is-disabled{opacity:var(--now-button-iconic--bare_tertiary--opacity--disabled,var(--now-actionable--tertiary_bare--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))}.now-button-iconic.is-disabled{cursor:not-allowed;opacity:var(--now-button--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))}.now-button-iconic.is-disabled:hover{box-shadow:none}.now-button-iconic.is-disabled:focus-visible::-moz-focus-inner{border-style:none}.now-button-iconic.is-disabled:focus-visible:focus-visible{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.now-button-iconic.is-disabled:focus-visible:focus-visible{outline:1px solid highlight}}.now-button-iconic.hide-padding{block-size:auto;border-width:0;inline-size:auto}@media(forced-colors:active){.now-button-iconic,.now-button-iconic:focus-visible,.now-button-iconic:hover{transition:none}.now-button-iconic{background-color:buttonface!important;border-style:solid!important;border-width:1px!important;color:buttontext!important}.now-button-iconic now-icon,.now-button-iconic now-icon-animated{color:inherit!important}.now-button-iconic:focus-visible,.now-button-iconic:hover{background-color:highlighttext!important;border-color:highlight!important;color:highlight!important}.now-button-iconic.is-disabled,.now-button-iconic.is-disabled:hover{background-color:buttonface!important;border-color:graytext!important;color:graytext!important;opacity:1!important}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:inline-block;vertical-align:middle}.now-button-stateful{align-items:center;background-color:transparent;border-color:transparent;border-style:solid;cursor:pointer;display:flex;inline-size:inherit;justify-content:center;margin:0;overflow:hidden;padding:0;position:relative}.now-button-stateful .now-ripple{aspect-ratio:1/1;border-radius:100%;inline-size:100%;left:50%;position:absolute;top:50%;transform:scale(0);transform-origin:center;z-index:0}.now-button-stateful.should-animate{transition-duration:var(--now-motion--duration--faster,.1s);transition-property:background-color,box-shadow,color;transition-timing-function:var(--now-motion--ease--linear,linear)}.now-button-stateful.should-animate:hover{transition-duration:var(--now-motion--duration--faster,.1s),var(--now-motion--duration--normal,.2s),var(--now-motion--duration--faster,.1s);transition-property:background-color,box-shadow,color}.now-button-stateful.should-animate:focus{transition-duration:var(--now-motion--duration--faster,.1s),var(--now-motion--duration--normal,.2s),var(--now-motion--duration--normal,.2s)}.now-button-stateful.should-animate:focus-visible{transition-duration:var(--now-motion--duration--faster,.1s),var(--now-motion--duration--normal,.2s);transition-property:background-color,color}.now-button-stateful:focus-visible::-moz-focus-inner{border-style:none}.now-button-stateful:focus-visible:focus-visible{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.now-button-stateful:focus-visible:focus-visible{outline:1px solid highlight}}.now-button-stateful.-sm{block-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2);inline-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2)}.now-button-stateful.-md{block-size:calc(1rem + var(--now-button--scale-size, 1)*2rem/2);inline-size:calc(1rem + var(--now-button--scale-size, 1)*2rem/2)}.now-button-stateful.-lg{block-size:calc(1.5rem + var(--now-button--scale-size, 1)*3rem/2);inline-size:calc(1.5rem + var(--now-button--scale-size, 1)*3rem/2)}.now-button-stateful.-primary{border-radius:var(--now-button-stateful--primary--border-radius,var(--now-actionable--primary_bare--border-radius,var(--now-actionable--bare--border-radius,var(--now-actionable--border-radius,0))));border-width:var(--now-button-stateful--primary--border-width,var(--now-actionable--primary_bare--border-width,var(--now-actionable--bare--border-width,var(--now-actionable--border-width,1px))));color:RGB(var(--now-button-stateful--primary--color,var(--now-actionable_icon--primary_bare--color,var(--now-color--primary-2,23,100,82))))}.now-button-stateful.-primary:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--primary--background-color--hover,var(--now-actionable--primary_bare--background-color--hover,var(--now-color--primary-1,30,133,109))),var(--now-button-stateful--primary--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--primary--border-color--hover,var(--now-actionable--primary_bare--border-color--hover,var(--now-color--primary-3,15,67,55))),var(--now-button-stateful--primary--border-color-alpha--hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--primary--color--hover,var(--now-actionable_icon--primary_bare--color--hover,var(--now-color--primary-3,15,67,55))))}.now-button-stateful.-primary:not(.is-disabled).is-active,.now-button-stateful.-primary:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--primary--border-color--active,var(--now-actionable--primary_bare--border-color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-stateful--primary--border-color-alpha--active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--primary--color--active,var(--now-actionable_icon--primary_bare--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-primary:not(.is-disabled) .now-ripple,.now-button-stateful.-primary:not(.is-disabled).is-active,.now-button-stateful.-primary:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--primary--background-color--active,var(--now-actionable--primary_bare--background-color--active,var(--now-color--primary-1,30,133,109))),var(--now-button-stateful--primary--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-primary.is-disabled{opacity:var(--now-button-stateful--primary--opacity--disabled,var(--now-actionable--primary_bare--opacity--disabled,var(--now-actionable--bare--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-button-stateful.-primary.is-selected{color:RGB(var(--now-button-stateful--primary--color--selected,var(--now-actionable_icon--primary_bare--color--selected,var(--now-color--primary-2,23,100,82))))}.now-button-stateful.-primary.is-selected:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--primary--background-color--selected_hover,var(--now-actionable--primary_bare--background-color--selected_hover,var(--now-color--primary-1,30,133,109))),var(--now-button-stateful--primary--background-color-alpha--selected_hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--primary--border-color--selected_hover,var(--now-actionable--primary_bare--border-color--selected_hover,var(--now-color--primary-3,15,67,55))),var(--now-button-stateful--primary--border-color-alpha--selected_hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--primary--color--selected_hover,var(--now-actionable_icon--primary_bare--color--selected_hover,var(--now-color--primary-3,15,67,55))))}.now-button-stateful.-primary.is-selected:not(.is-disabled).is-active,.now-button-stateful.-primary.is-selected:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--primary--border-color--selected_active,var(--now-actionable--primary_bare--border-color--selected_active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-stateful--primary--border-color-alpha--selected_active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--primary--color--selected_active,var(--now-actionable_icon--primary_bare--color--selected_active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-primary.is-selected:not(.is-disabled) .now-ripple,.now-button-stateful.-primary.is-selected:not(.is-disabled).is-active,.now-button-stateful.-primary.is-selected:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--primary--background-color--selected_active,var(--now-actionable--primary_bare--background-color--selected_active,var(--now-color--primary-1,30,133,109))),var(--now-button-stateful--primary--background-color-alpha--selected_active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-primary.high-contrast{color:RGB(var(--now-button-stateful--primary_high-contrast--color,var(--now-actionable_icon--primary_high-contrast_bare--color,var(--now-color--primary-3,15,67,55))))}.now-button-stateful.-primary.high-contrast:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--primary_high-contrast--background-color--hover,var(--now-actionable--primary_high-contrast_bare--background-color--hover,var(--now-color--primary-1,30,133,109))),var(--now-button-stateful--primary_high-contrast--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--primary_high-contrast--border-color--hover,var(--now-actionable--primary_high-contrast_bare--border-color--hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-stateful--primary_high-contrast--border-color-alpha--hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--primary_high-contrast--color--hover,var(--now-actionable_icon--primary_high-contrast_bare--color--hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-primary.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-primary.high-contrast:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--primary_high-contrast--border-color--active,var(--now-actionable--primary_high-contrast_bare--border-color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-stateful--primary_high-contrast--border-color-alpha--active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--primary_high-contrast--color--active,var(--now-actionable_icon--primary_high-contrast_bare--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-primary.high-contrast:not(.is-disabled) .now-ripple,.now-button-stateful.-primary.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-primary.high-contrast:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--primary_high-contrast--background-color--active,var(--now-actionable--primary_high-contrast_bare--background-color--active,var(--now-color--primary-1,30,133,109))),var(--now-button-stateful--primary_high-contrast--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-primary.high-contrast.is-selected{color:RGB(var(--now-button-stateful--primary_high-contrast--color--selected,var(--now-actionable_icon--primary_high-contrast_bare--color--selected,var(--now-color--primary-3,15,67,55))))}.now-button-stateful.-primary.high-contrast.is-selected:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--primary_high-contrast--background-color--selected_hover,var(--now-actionable--primary_high-contrast_bare--background-color--selected_hover,var(--now-color--primary-1,30,133,109))),var(--now-button-stateful--primary_high-contrast--background-color-alpha--selected_hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--primary_high-contrast--border-color--selected_hover,var(--now-actionable--primary_high-contrast_bare--border-color--selected_hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-stateful--primary_high-contrast--border-color-alpha--selected_hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--primary_high-contrast--color--selected_hover,var(--now-actionable_icon--primary_high-contrast_bare--color--selected_hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-primary.high-contrast.is-selected:not(.is-disabled).is-active,.now-button-stateful.-primary.high-contrast.is-selected:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--primary_high-contrast--border-color--selected_active,var(--now-actionable--primary_highlighted_high-contrast_bare--border-color--selected_active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-stateful--primary_high-contrast--border-color-alpha--selected_active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--primary_high-contrast--color--selected_active,var(--now-actionable_icon--primary_high-contrast_bare--color--selected_active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-primary.high-contrast.is-selected:not(.is-disabled) .now-ripple,.now-button-stateful.-primary.high-contrast.is-selected:not(.is-disabled).is-active,.now-button-stateful.-primary.high-contrast.is-selected:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--primary_high-contrast--background-color--selected_active,var(--now-actionable--primary_high-contrast_bare--background-color--selected_active,var(--now-color--primary-1,30,133,109))),var(--now-button-stateful--primary_high-contrast--background-color-alpha--selected_active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-primary.-highlighted.is-selected,.now-button-stateful.-primary.is-highlighted.is-selected{background-color:RGB(var(--now-button-stateful--primary_highlighted--background-color--selected,var(--now-actionable--primary_highlighted_bare--background-color--selected,var(--now-color--primary-1,30,133,109))),var(--now-button-stateful--primary_highlighted--background-color-alpha--selected,var(--now-actionable--background-color-alpha--selected,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--primary_highlighted--border-color--selected,var(--now-actionable--primary_bare--border-color--selected,var(--now-color--primary-2,23,100,82))),var(--now-button-stateful--primary_highlighted--border-color-alpha--selected,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--primary_highlighted--color--selected,var(--now-actionable_icon--primary_highlighted_bare--color--selected,var(--now-color--primary-2,23,100,82))))}.now-button-stateful.-primary.-highlighted.is-selected:not(.is-disabled):hover,.now-button-stateful.-primary.is-highlighted.is-selected:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--primary_highlighted--background-color--selected_hover,var(--now-actionable--primary_highlighted_bare--background-color--selected_hover,var(--now-color--primary-1,30,133,109))),var(--now-button-stateful--primary_highlighted--background-color-alpha--selected_hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--primary_highlighted--border-color--selected_hover,var(--now-actionable--primary_bare--border-color--selected_hover,var(--now-color--primary-3,15,67,55))),var(--now-button-stateful--primary_highlighted--border-color-alpha--selected_hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--primary_highlighted--color--selected_hover,var(--now-actionable_icon--primary_highlighted_bare--color--selected_hover,var(--now-color--primary-3,15,67,55))))}.now-button-stateful.-primary.-highlighted.is-selected:not(.is-disabled).is-active,.now-button-stateful.-primary.-highlighted.is-selected:not(.is-disabled):active,.now-button-stateful.-primary.is-highlighted.is-selected:not(.is-disabled).is-active,.now-button-stateful.-primary.is-highlighted.is-selected:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--primary_highlighted--border-color--selected_active,var(--now-actionable--primary_bare--border-color--selected_active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-stateful--primary_highlighted--border-color-alpha--selected_active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--primary_highlighted--color--selected_active,var(--now-actionable_icon--primary_highlighted_bare--color--selected_active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-primary.-highlighted.is-selected:not(.is-disabled) .now-ripple,.now-button-stateful.-primary.-highlighted.is-selected:not(.is-disabled).is-active,.now-button-stateful.-primary.-highlighted.is-selected:not(.is-disabled):active:not(.has-ripple),.now-button-stateful.-primary.is-highlighted.is-selected:not(.is-disabled) .now-ripple,.now-button-stateful.-primary.is-highlighted.is-selected:not(.is-disabled).is-active,.now-button-stateful.-primary.is-highlighted.is-selected:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--primary_highlighted--background-color--selected_active,var(--now-actionable--primary_highlighted_bare--background-color--selected_active,var(--now-color--primary-1,30,133,109))),var(--now-button-stateful--primary_highlighted--background-color-alpha--selected_active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-primary.-highlighted.is-selected.high-contrast,.now-button-stateful.-primary.is-highlighted.is-selected.high-contrast{background-color:RGB(var(--now-button-stateful--primary_highlighted_high-contrast--background-color--selected,var(--now-actionable--primary_highlighted_high-contrast_bare--background-color--selected,var(--now-color--primary-1,30,133,109))),var(--now-button-stateful--primary_highlighted_high-contrast--background-color-alpha--selected,var(--now-actionable--background-color-alpha--selected,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--primary_highlighted_high-contrast--border-color--selected,var(--now-actionable--primary_highlighted_high-contrast_bare--border-color--selected,var(--now-color--primary-3,15,67,55))),var(--now-button-stateful--primary_highlighted_high-contrast--border-color-alpha--selected,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--primary_highlighted_high-contrast--color--selected,var(--now-actionable_icon--primary_highlighted_high-contrast_bare--color--selected,var(--now-color--primary-3,15,67,55))))}.now-button-stateful.-primary.-highlighted.is-selected.high-contrast:not(.is-disabled):hover,.now-button-stateful.-primary.is-highlighted.is-selected.high-contrast:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--primary_highlighted_high-contrast--background-color--selected_hover,var(--now-actionable--primary_highlighted_high-contrast_bare--background-color--selected_hover,var(--now-color--primary-1,30,133,109))),var(--now-button-stateful--primary_highlighted_high-contrast--background-color-alpha--selected_hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--primary_highlighted_high-contrast--border-color--selected_hover,var(--now-actionable--primary_highlighted_high-contrast_bare--border-color--selected_hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-stateful--primary_highlighted_high-contrast--border-color-alpha--selected_hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--primary_highlighted_high-contrast--color--selected_hover,var(--now-actionable_icon--primary_highlighted_high-contrast_bare--color--selected_hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-primary.-highlighted.is-selected.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-primary.-highlighted.is-selected.high-contrast:not(.is-disabled):active,.now-button-stateful.-primary.is-highlighted.is-selected.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-primary.is-highlighted.is-selected.high-contrast:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--primary_highlighted_high-contrast--border-color--selected_active,var(--now-actionable--primary_highlighted_high-contrast_bare--border-color--selected_active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-stateful--primary_highlighted_high-contrast--border-color-alpha--selected_active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--primary_highlighted_high-contrast--color--selected_active,var(--now-actionable_icon--primary_highlighted_high-contrast_bare--color--selected_active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-primary.-highlighted.is-selected.high-contrast:not(.is-disabled) .now-ripple,.now-button-stateful.-primary.-highlighted.is-selected.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-primary.-highlighted.is-selected.high-contrast:not(.is-disabled):active:not(.has-ripple),.now-button-stateful.-primary.is-highlighted.is-selected.high-contrast:not(.is-disabled) .now-ripple,.now-button-stateful.-primary.is-highlighted.is-selected.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-primary.is-highlighted.is-selected.high-contrast:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--primary_highlighted_high-contrast--background-color--selected_active,var(--now-actionable--primary_highlighted_high-contrast_bare--background-color--selected_active,var(--now-color--primary-1,30,133,109))),var(--now-button-stateful--primary_highlighted_high-contrast--background-color-alpha--selected_active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-primary.-selection,.now-button-stateful.-primary.-selection.-highlighted,.now-button-stateful.-primary.-selection.is-highlighted{border-radius:var(--now-button-stateful--primary-selection--border-radius,var(--now-actionable--bare--border-radius,var(--now-actionable--border-radius,0)));border-width:var(--now-button-stateful--primary-selection--border-width,var(--now-actionable--bare--border-width,var(--now-actionable--border-width,1px)));color:RGB(var(--now-button-stateful--primary-selection--color,var(--now-actionable_icon--primary-selection_bare--color,var(--now-color_selection--primary-3,23,100,82))))}.now-button-stateful.-primary.-selection.-highlighted:not(.is-disabled):hover,.now-button-stateful.-primary.-selection.is-highlighted:not(.is-disabled):hover,.now-button-stateful.-primary.-selection:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--primary-selection--background-color--hover,var(--now-actionable--primary-selection_bare--background-color--hover,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--primary-selection--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--primary-selection--border-color--hover,var(--now-actionable--primary-selection_bare--border-color--hover,var(--now-color_selection--primary-4,15,67,55))),var(--now-button-stateful--primary-selection--border-color-alpha--hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--primary-selection--color--hover,var(--now-actionable_icon--primary-selection_bare--color--hover,var(--now-color_selection--primary-4,15,67,55))))}.now-button-stateful.-primary.-selection.-highlighted:not(.is-disabled).is-active,.now-button-stateful.-primary.-selection.-highlighted:not(.is-disabled):active,.now-button-stateful.-primary.-selection.is-highlighted:not(.is-disabled).is-active,.now-button-stateful.-primary.-selection.is-highlighted:not(.is-disabled):active,.now-button-stateful.-primary.-selection:not(.is-disabled).is-active,.now-button-stateful.-primary.-selection:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--primary-selection--border-color--active,var(--now-actionable--primary-selection_bare--border-color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-stateful--primary-selection--border-color-alpha--active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--primary-selection--color--active,var(--now-actionable_icon--primary-selection_bare--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-primary.-selection.-highlighted:not(.is-disabled) .now-ripple,.now-button-stateful.-primary.-selection.-highlighted:not(.is-disabled).is-active,.now-button-stateful.-primary.-selection.-highlighted:not(.is-disabled):active:not(.has-ripple),.now-button-stateful.-primary.-selection.is-highlighted:not(.is-disabled) .now-ripple,.now-button-stateful.-primary.-selection.is-highlighted:not(.is-disabled).is-active,.now-button-stateful.-primary.-selection.is-highlighted:not(.is-disabled):active:not(.has-ripple),.now-button-stateful.-primary.-selection:not(.is-disabled) .now-ripple,.now-button-stateful.-primary.-selection:not(.is-disabled).is-active,.now-button-stateful.-primary.-selection:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--primary-selection--background-color--active,var(--now-actionable--primary-selection_bare--background-color--active,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--primary-selection--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-primary.-selection.is-disabled{opacity:var(--now-button-stateful--primary-selection--opacity--disabled,var(--now-actionable--primary-selection_bare--opacity--disabled,var(--now-actionable--bare--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-button-stateful.-primary.-selection.is-selected{color:RGB(var(--now-button-stateful--primary-selection--color--selected,var(--now-actionable_icon--primary-selection_bare--color--selected,var(--now-color_selection--primary-3,23,100,82))))}.now-button-stateful.-primary.-selection.is-selected:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--primary-selection--background-color--selected_hover,var(--now-actionable--primary-selection_bare--background-color--selected_hover,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--primary-selection--background-color-alpha--selected_hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--primary-selection--border-color--selected_hover,var(--now-actionable--primary-selection_bare--border-color--selected_hover,var(--now-color_selection--primary-4,15,67,55))),var(--now-button-stateful--primary-selection--border-color-alpha--selected_hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--primary-selection--color--selected_hover,var(--now-actionable_icon--primary-selection_bare--color--selected_hover,var(--now-color_selection--primary-4,15,67,55))))}.now-button-stateful.-primary.-selection.is-selected:not(.is-disabled).is-active,.now-button-stateful.-primary.-selection.is-selected:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--primary-selection--border-color--selected_active,var(--now-actionable--primary-selection_bare--border-color--selected_active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-stateful--primary-selection--border-color-alpha--selected_active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--primary-selection--color--selected_active,var(--now-actionable_icon--primary-selection_bare--color--selected_active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-primary.-selection.is-selected:not(.is-disabled) .now-ripple,.now-button-stateful.-primary.-selection.is-selected:not(.is-disabled).is-active,.now-button-stateful.-primary.-selection.is-selected:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--primary-selection--background-color--selected_active,var(--now-actionable--primary-selection_bare--background-color--selected_active,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--primary-selection--background-color-alpha--selected_active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-primary.-selection.high-contrast{color:RGB(var(--now-button-stateful--primary-selection_high-contrast--color,var(--now-actionable_label--primary-selection_high-contrast_bare--color,var(--now-color_selection--primary-4,15,67,55))))}.now-button-stateful.-primary.-selection.high-contrast:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--primary-selection_high-contrast--background-color--hover,var(--now-actionable--primary-selection_high-contrast_bare--background-color--hover,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--primary-selection_high-contrast--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--primary-selection_high-contrast--border-color--hover,var(--now-actionable--primary-selection_high-contrast_bare--border-color--hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-stateful--primary-selection_high-contrast--border-color-alpha--hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--primary-selection_high-contrast--color--hover,var(--now-actionable_label--primary-selection_high-contrast_bare--color--hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-primary.-selection.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-primary.-selection.high-contrast:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--primary-selection_high-contrast--border-color--active,var(--now-actionable--primary-selection_high-contrast_bare--border-color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-stateful--primary-selection_high-contrast--border-color-alpha--active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--primary-selection_high-contrast--color--active,var(--now-actionable_label--primary-selection_high-contrast_bare--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-primary.-selection.high-contrast:not(.is-disabled) .now-ripple,.now-button-stateful.-primary.-selection.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-primary.-selection.high-contrast:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--primary-selection_high-contrast--background-color--active,var(--now-actionable--primary-selection_high-contrast_bare--background-color--active,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--primary-selection_high-contrast--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-primary.-selection.high-contrast.is-selected{color:RGB(var(--now-button-stateful--primary-selection_high-contrast--color--selected,var(--now-actionable_label--primary-selection_high-contrast_bare--color--selected,var(--now-color_selection--primary-4,15,67,55))))}.now-button-stateful.-primary.-selection.high-contrast.is-selected:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--primary-selection_high-contrast--background-color--selected_hover,var(--now-actionable--primary-selection_high-contrast_bare--background-color--selected_hover,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--primary-selection_high-contrast--background-color-alpha--selected_hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--primary-selection_high-contrast--border-color--selected_hover,var(--now-actionable--primary-selection_highlighted_high-contrast_bare--border-color--selected_hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-stateful--primary-selection_high-contrast--border-color-alpha--selected_hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--primary-selection_high-contrast--color--selected_hover,var(--now-actionable_label--primary-selection_highlighted_high-contrast_bare--color--selected_hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-primary.-selection.high-contrast.is-selected:not(.is-disabled).is-active,.now-button-stateful.-primary.-selection.high-contrast.is-selected:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--primary-selection_high-contrast--border-color--selected_active,var(--now-actionable--primary-selection_high-contrast_bare--background-color--selected_active,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--primary-selection_high-contrast--border-color-alpha--selected_active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--primary-selection_high-contrast--color--selected_active,var(--now-actionable_label--primary-selection_highlighted_high-contrast_bare--color--selected_active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-primary.-selection.high-contrast.is-selected:not(.is-disabled) .now-ripple,.now-button-stateful.-primary.-selection.high-contrast.is-selected:not(.is-disabled).is-active,.now-button-stateful.-primary.-selection.high-contrast.is-selected:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--primary-selection_high-contrast--background-color--selected_active,var(--now-actionable--primary-selection_high-contrast_bare--background-color--selected_active,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--primary-selection_high-contrast--background-color-alpha--selected_active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-primary.-selection.-highlighted.is-selected,.now-button-stateful.-primary.-selection.is-highlighted.is-selected{background-color:RGB(var(--now-button-stateful--primary-selection_highlighted--background-color--selected,var(--now-actionable--primary-selection_bare--background-color--selected,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--primary-selection_highlighted--background-color-alpha--selected,var(--now-actionable--background-color-alpha--selected,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--primary-selection_highlighted--border-color--selected,var(--now-actionable--primary-selection_highlighted_bare--border-color--selected,var(--now-color_selection--primary-4,15,67,55))),var(--now-button-stateful--primary-selection_highlighted--border-color-alpha--selected,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--primary-selection_highlighted--color--selected,var(--now-actionable_label--primary-selection_bare--color--selected,var(--now-color_selection--primary-3,23,100,82))))}.now-button-stateful.-primary.-selection.-highlighted.is-selected:not(.is-disabled):hover,.now-button-stateful.-primary.-selection.is-highlighted.is-selected:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--primary-selection_highlighted--background-color--selected_hover,var(--now-actionable--primary-selection_bare--background-color--selected_hover,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--primary-selection_highlighted--background-color-alpha--selected_hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--primary-selection_highlighted--border-color--selected_hover,var(--now-actionable--primary-selection_highlighted_bare--border-color--selected_hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-stateful--primary-selection_highlighted--border-color-alpha--selected_hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--primary-selection_highlighted--color--selected_hover,var(--now-actionable_label--primary-selection_bare--color--selected_hover,var(--now-color_selection--primary-4,15,67,55))))}.now-button-stateful.-primary.-selection.-highlighted.is-selected:not(.is-disabled).is-active,.now-button-stateful.-primary.-selection.-highlighted.is-selected:not(.is-disabled):active,.now-button-stateful.-primary.-selection.is-highlighted.is-selected:not(.is-disabled).is-active,.now-button-stateful.-primary.-selection.is-highlighted.is-selected:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--primary-selection_highlighted--border-color--selected_active,var(--now-actionable--primary-selection_highlighted_bare--border-color--selected_active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-stateful--primary-selection_highlighted--border-color-alpha--selected_active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--primary-selection_highlighted--color--selected_active,var(--now-actionable_label--primary-selection_bare--color--selected_active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-primary.-selection.-highlighted.is-selected:not(.is-disabled) .now-ripple,.now-button-stateful.-primary.-selection.-highlighted.is-selected:not(.is-disabled).is-active,.now-button-stateful.-primary.-selection.-highlighted.is-selected:not(.is-disabled):active:not(.has-ripple),.now-button-stateful.-primary.-selection.is-highlighted.is-selected:not(.is-disabled) .now-ripple,.now-button-stateful.-primary.-selection.is-highlighted.is-selected:not(.is-disabled).is-active,.now-button-stateful.-primary.-selection.is-highlighted.is-selected:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--primary-selection_highlighted--background-color--selected_active,var(--now-actionable--primary-selection_bare--background-color--selected_active,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--primary-selection_highlighted--background-color-alpha--selected_active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-primary.-selection.-highlighted.is-selected.high-contrast,.now-button-stateful.-primary.-selection.is-highlighted.is-selected.high-contrast{background-color:RGB(var(--now-button-stateful--primary-selection_highlighted_high-contrast--background-color--selected,var(--now-actionable--primary-selection_highlighted_high-contrast_bare--background-color--selected,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--primary-selection_highlighted_high-contrast--background-color-alpha--selected,var(--now-actionable--background-color-alpha--selected,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--primary-selection_highlighted_high-contrast--border-color--selected,var(--now-actionable--primary-selection_high-contrast_bare--border-color--selected,var(--now-color_selection--primary-4,15,67,55))),var(--now-button-stateful--primary-selection_highlighted_high-contrast--border-color-alpha--selected,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--primary-selection_highlighted_high-contrast--color--selected,var(--now-actionable_label--primary-selection_highlighted_high-contrast_bare--color--selected,var(--now-color_selection--primary-4,15,67,55))))}.now-button-stateful.-primary.-selection.-highlighted.is-selected.high-contrast:not(.is-disabled):hover,.now-button-stateful.-primary.-selection.is-highlighted.is-selected.high-contrast:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--primary-selection_highlighted_high-contrast--background-color--selected_hover,var(--now-actionable--primary-selection_highlighted_high-contrast_bare--background-color--selected_hover,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--primary-selection_highlighted_high-contrast--background-color-alpha--selected_hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--primary-selection_highlighted_high-contrast--border-color--selected_hover,var(--now-actionable--primary-selection_highlighted_high-contrast_bare--border-color--selected_hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-stateful--primary-selection_highlighted_high-contrast--border-color-alpha--selected_hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--primary-selection_highlighted_high-contrast--color--selected_hover,var(--now-actionable_label--primary-selection_highlighted_high-contrast_bare--color--selected_hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-primary.-selection.-highlighted.is-selected.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-primary.-selection.-highlighted.is-selected.high-contrast:not(.is-disabled):active,.now-button-stateful.-primary.-selection.is-highlighted.is-selected.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-primary.-selection.is-highlighted.is-selected.high-contrast:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--primary-selection_highlighted_high-contrast--border-color--selected_active,var(--now-actionable--primary-selection_highlighted_high-contrast_bare--border-color--selected_active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-stateful--primary-selection_highlighted_high-contrast--border-color-alpha--selected_active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--primary-selection_highlighted_high-contrast--color--selected_active,var(--now-actionable_label--primary-selection_highlighted_high-contrast_bare--color--selected_active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-primary.-selection.-highlighted.is-selected.high-contrast:not(.is-disabled) .now-ripple,.now-button-stateful.-primary.-selection.-highlighted.is-selected.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-primary.-selection.-highlighted.is-selected.high-contrast:not(.is-disabled):active:not(.has-ripple),.now-button-stateful.-primary.-selection.is-highlighted.is-selected.high-contrast:not(.is-disabled) .now-ripple,.now-button-stateful.-primary.-selection.is-highlighted.is-selected.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-primary.-selection.is-highlighted.is-selected.high-contrast:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--primary-selection_highlighted_high-contrast--background-color--selected_active,var(--now-actionable--primary-selection_highlighted_high-contrast_bare--background-color--selected_active,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--primary-selection_highlighted_high-contrast--background-color-alpha--selected_active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-secondary{border-radius:var(--now-button-stateful--secondary--border-radius,var(--now-actionable--secondary_bare--border-radius,var(--now-actionable--bare--border-radius,var(--now-actionable--border-radius,0))));border-width:var(--now-button-stateful--secondary--border-width,var(--now-actionable--secondary_bare--border-width,var(--now-actionable--bare--border-width,var(--now-actionable--border-width,1px))));color:RGB(var(--now-button-stateful--secondary--color,var(--now-actionable_label--secondary_bare--color,var(--now-actionable_label--secondary--color,var(--now-color--secondary-1,1,119,142)))))}.now-button-stateful.-secondary:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--secondary--background-color--hover,var(--now-actionable--secondary_bare--background-color--hover,var(--now-actionable--secondary--background-color--hover,var(--now-color--secondary-1,1,119,142)))),var(--now-button-stateful--secondary--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--secondary--border-color--hover,var(--now-actionable--secondary_bare--border-color--hover,var(--now-actionable--secondary--border-color--hover,var(--now-color--secondary-2,1,89,107)))),var(--now-button-stateful--secondary--border-color-alpha--hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--secondary--color--hover,var(--now-actionable_label--secondary_bare--color--hover,var(--now-actionable_label--secondary--color--hover,var(--now-color--secondary-2,1,89,107)))))}.now-button-stateful.-secondary:not(.is-disabled).is-active,.now-button-stateful.-secondary:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--secondary--border-color--active,var(--now-actionable--secondary_bare--border-color--active,var(--now-actionable--secondary--border-color--active,var(--now-color--secondary-3,1,60,71)))),var(--now-button-stateful--secondary--border-color-alpha--active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--secondary--color--active,var(--now-actionable_label--secondary_bare--color--active,var(--now-actionable_label--secondary--color--active,var(--now-color--secondary-3,1,60,71)))))}.now-button-stateful.-secondary:not(.is-disabled) .now-ripple,.now-button-stateful.-secondary:not(.is-disabled).is-active,.now-button-stateful.-secondary:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--secondary--background-color--active,var(--now-actionable--secondary_bare--background-color--active,var(--now-actionable--secondary--background-color--active,var(--now-color--secondary-1,1,119,142)))),var(--now-button-stateful--secondary--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-secondary.is-disabled{opacity:var(--now-button-stateful--secondary--opacity--disabled,var(--now-actionable--secondary_bare--opacity--disabled,var(--now-actionable--bare--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-button-stateful.-secondary.is-selected{color:RGB(var(--now-button-stateful--secondary--color--selected,var(--now-actionable_label--secondary_bare--color--selected,var(--now-actionable_label--secondary_bare--color,var(--now-actionable_label--secondary--color,var(--now-color--secondary-1,1,119,142))))))}.now-button-stateful.-secondary.is-selected:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--secondary--background-color--selected_hover,var(--now-actionable--secondary_bare--background-color--selected_hover,var(--now-actionable--secondary_bare--background-color--hover,var(--now-actionable--secondary--background-color--hover,var(--now-color--secondary-1,1,119,142))))),var(--now-button-stateful--secondary--background-color-alpha--selected_hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--secondary--border-color--selected_hover,var(--now-actionable--secondary_bare--border-color--selected_hover,var(--now-actionable--secondary_bare--border-color--hover,var(--now-actionable--secondary--border-color--hover,var(--now-color--secondary-2,1,89,107))))),var(--now-button-stateful--secondary--border-color-alpha--selected_hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--secondary--color--selected_hover,var(--now-actionable_label--secondary_bare--color--selected_hover,var(--now-actionable_label--secondary_bare--color--hover,var(--now-actionable_label--secondary--color--hover,var(--now-color--secondary-2,1,89,107))))))}.now-button-stateful.-secondary.is-selected:not(.is-disabled).is-active,.now-button-stateful.-secondary.is-selected:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--secondary--border-color--selected_active,var(--now-actionable--secondary_bare--border-color--selected_active,var(--now-actionable--secondary_bare--border-color--active,var(--now-actionable--secondary--border-color--active,var(--now-color--secondary-3,1,60,71))))),var(--now-button-stateful--secondary--border-color-alpha--selected_active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--secondary--color--selected_active,var(--now-actionable_label--secondary_bare--color--selected_active,var(--now-actionable_label--secondary_bare--color--active,var(--now-actionable_label--secondary--color--active,var(--now-color--secondary-3,1,60,71))))))}.now-button-stateful.-secondary.is-selected:not(.is-disabled) .now-ripple,.now-button-stateful.-secondary.is-selected:not(.is-disabled).is-active,.now-button-stateful.-secondary.is-selected:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--secondary--background-color--selected_active,var(--now-actionable--secondary_bare--background-color--selected_active,var(--now-actionable--secondary_bare--background-color--active,var(--now-actionable--secondary--background-color--active,var(--now-color--secondary-1,1,119,142))))),var(--now-button-stateful--secondary--background-color-alpha--selected_active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-secondary.high-contrast{color:RGB(var(--now-button-stateful--secondary_high-contrast--color,var(--now-actionable_label--secondary_high-contrast_bare--color,var(--now-color--secondary-2,1,89,107))))}.now-button-stateful.-secondary.high-contrast:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--secondary_high-contrast--background-color--hover,var(--now-actionable--secondary_high-contrast_bare--background-color--hover,var(--now-actionable--secondary_bare--background-color--hover,var(--now-actionable--secondary--background-color--hover,var(--now-color--secondary-1,1,119,142))))),var(--now-button-stateful--secondary_high-contrast--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--secondary_high-contrast--border-color--hover,var(--now-actionable--secondary_high-contrast_bare--border-color--hover,var(--now-actionable--secondary_bare--border-color--hover,var(--now-actionable--secondary--border-color--hover,var(--now-color--secondary-2,1,89,107))))),var(--now-button-stateful--secondary_high-contrast--border-color-alpha--hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--secondary_high-contrast--color--hover,var(--now-actionable_label--secondary_high-contrast_bare--color--hover,var(--now-color--secondary-3,1,60,71))))}.now-button-stateful.-secondary.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-secondary.high-contrast:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--secondary_high-contrast--border-color--active,var(--now-actionable--secondary_high-contrast_bare--border-color--active,var(--now-actionable--secondary_bare--border-color--active,var(--now-actionable--secondary--border-color--active,var(--now-color--secondary-3,1,60,71))))),var(--now-button-stateful--secondary_high-contrast--border-color-alpha--active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--secondary_high-contrast--color--active,var(--now-actionable_label--secondary_high-contrast_bare--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-secondary.high-contrast:not(.is-disabled) .now-ripple,.now-button-stateful.-secondary.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-secondary.high-contrast:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--secondary_high-contrast--background-color--active,var(--now-actionable--secondary_high-contrast_bare--background-color--active,var(--now-actionable--secondary_bare--background-color--active,var(--now-actionable--secondary--background-color--active,var(--now-color--secondary-1,1,119,142))))),var(--now-button-stateful--secondary_high-contrast--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-secondary.high-contrast.is-selected{color:RGB(var(--now-button-stateful--secondary_high-contrast--color--selected,var(--now-actionable_label--secondary_high-contrast_bare--color--selected,var(--now-color--secondary-2,1,89,107))))}.now-button-stateful.-secondary.high-contrast.is-selected:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--secondary_high-contrast--background-color--selected_hover,var(--now-actionable--secondary_highlighted_high-contrast_bare--background-color--selected_hover,var(--now-actionable--secondary_highlighted_bare--background-color--selected_hover,var(--now-actionable--secondary_bare--background-color--selected_hover,var(--now-actionable--secondary_bare--background-color--hover,var(--now-actionable--secondary--background-color--hover,var(--now-color--secondary-1,1,119,142))))))),var(--now-button-stateful--secondary_high-contrast--background-color-alpha--selected_hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--secondary_high-contrast--border-color--selected_hover,var(--now-actionable--secondary_highlighted_high-contrast_bare--border-color--selected_hover,var(--now-actionable--secondary_highlighted_bare--border-color--selected_hover,var(--now-actionable--secondary_bare--border-color--selected_hover,var(--now-actionable--secondary_bare--border-color--hover,var(--now-actionable--secondary--border-color--hover,var(--now-color--secondary-2,1,89,107))))))),var(--now-button-stateful--secondary_high-contrast--border-color-alpha--selected_hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--secondary_high-contrast--color--selected_hover,var(--now-actionable_label--secondary_high-contrast_bare--color--selected_hover,var(--now-color--secondary-3,1,60,71))))}.now-button-stateful.-secondary.high-contrast.is-selected:not(.is-disabled).is-active,.now-button-stateful.-secondary.high-contrast.is-selected:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--secondary_high-contrast--border-color--selected_active,var(--now-actionable--secondary_highlighted_high-contrast_bare--border-color--selected_active,var(--now-actionable--secondary_highlighted_bare--border-color--selected_active,var(--now-actionable--secondary_bare--border-color--selected_active,var(--now-actionable--secondary_bare--border-color--active,var(--now-actionable--secondary--border-color--active,var(--now-color--secondary-3,1,60,71))))))),var(--now-button-stateful--secondary_high-contrast--border-color-alpha--selected_active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--secondary_high-contrast--color--selected_active,var(--now-actionable_label--secondary_high-contrast_bare--color--selected_active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-secondary.high-contrast.is-selected:not(.is-disabled) .now-ripple,.now-button-stateful.-secondary.high-contrast.is-selected:not(.is-disabled).is-active,.now-button-stateful.-secondary.high-contrast.is-selected:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--secondary_high-contrast--background-color--selected_active,var(--now-actionable--secondary_highlighted_high-contrast_bare--background-color--selected_active,var(--now-actionable--secondary_highlighted_bare--background-color--selected_active,var(--now-actionable--secondary_bare--background-color--selected_active,var(--now-actionable--secondary_bare--background-color--active,var(--now-actionable--secondary--background-color--active,var(--now-color--secondary-1,1,119,142))))))),var(--now-button-stateful--secondary_high-contrast--background-color-alpha--selected_active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-secondary.-highlighted.is-selected,.now-button-stateful.-secondary.is-highlighted.is-selected{background-color:RGB(var(--now-button-stateful--secondary_highlighted--background-color--selected,var(--now-actionable--secondary_highlighted_bare--background-color--selected,var(--now-actionable--secondary_bare--background-color--selected,var(--now-actionable--secondary--background-color,var(--now-color--secondary-1,1,119,142))))),var(--now-button-stateful--secondary_highlighted--background-color-alpha--selected,var(--now-actionable--background-color-alpha--selected,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--secondary_highlighted--border-color--selected,var(--now-actionable--secondary_highlighted_bare--border-color--selected,var(--now-actionable--secondary_bare--border-color--selected,var(--now-actionable--secondary--border-color,var(--now-color--secondary-1,1,119,142))))),var(--now-button-stateful--secondary_highlighted--border-color-alpha--selected,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--secondary_highlighted--color--selected,var(--now-actionable_label--secondary_highlighted_bare--color--selected,var(--now-actionable_label--secondary_bare--color--selected,var(--now-actionable_label--secondary_bare--color,var(--now-actionable_label--secondary--color,var(--now-color--secondary-1,1,119,142)))))))}.now-button-stateful.-secondary.-highlighted.is-selected:not(.is-disabled):hover,.now-button-stateful.-secondary.is-highlighted.is-selected:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--secondary_highlighted--background-color--selected_hover,var(--now-actionable--secondary_highlighted_bare--background-color--selected_hover,var(--now-actionable--secondary_bare--background-color--selected_hover,var(--now-actionable--secondary_bare--background-color--hover,var(--now-actionable--secondary--background-color--hover,var(--now-color--secondary-1,1,119,142)))))),var(--now-button-stateful--secondary_highlighted--background-color-alpha--selected_hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--secondary_highlighted--border-color--selected_hover,var(--now-actionable--secondary_highlighted_bare--border-color--selected_hover,var(--now-actionable--secondary_bare--border-color--selected_hover,var(--now-actionable--secondary_bare--border-color--hover,var(--now-actionable--secondary--border-color--hover,var(--now-color--secondary-2,1,89,107)))))),var(--now-button-stateful--secondary_highlighted--border-color-alpha--selected_hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--secondary_highlighted--color--selected_hover,var(--now-actionable_label--secondary_highlighted_bare--color--selected_hover,var(--now-actionable_label--secondary_bare--color--selected_hover,var(--now-actionable_label--secondary_bare--color--hover,var(--now-actionable_label--secondary--color--hover,var(--now-color--secondary-2,1,89,107)))))))}.now-button-stateful.-secondary.-highlighted.is-selected:not(.is-disabled).is-active,.now-button-stateful.-secondary.-highlighted.is-selected:not(.is-disabled):active,.now-button-stateful.-secondary.is-highlighted.is-selected:not(.is-disabled).is-active,.now-button-stateful.-secondary.is-highlighted.is-selected:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--secondary_highlighted--border-color--selected_active,var(--now-actionable--secondary_highlighted_bare--border-color--selected_active,var(--now-actionable--secondary_bare--border-color--selected_active,var(--now-actionable--secondary_bare--border-color--active,var(--now-actionable--secondary--border-color--active,var(--now-color--secondary-3,1,60,71)))))),var(--now-button-stateful--secondary_highlighted--border-color-alpha--selected_active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--secondary_highlighted--color--selected_active,var(--now-actionable_label--secondary_highlighted_bare--color--selected_active,var(--now-actionable_label--secondary_bare--color--selected_active,var(--now-actionable_label--secondary_bare--color--active,var(--now-actionable_label--secondary--color--active,var(--now-color--secondary-3,1,60,71)))))))}.now-button-stateful.-secondary.-highlighted.is-selected:not(.is-disabled) .now-ripple,.now-button-stateful.-secondary.-highlighted.is-selected:not(.is-disabled).is-active,.now-button-stateful.-secondary.-highlighted.is-selected:not(.is-disabled):active:not(.has-ripple),.now-button-stateful.-secondary.is-highlighted.is-selected:not(.is-disabled) .now-ripple,.now-button-stateful.-secondary.is-highlighted.is-selected:not(.is-disabled).is-active,.now-button-stateful.-secondary.is-highlighted.is-selected:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--secondary_highlighted--background-color--selected_active,var(--now-actionable--secondary_highlighted_bare--background-color--selected_active,var(--now-actionable--secondary_bare--background-color--selected_active,var(--now-actionable--secondary_bare--background-color--active,var(--now-actionable--secondary--background-color--active,var(--now-color--secondary-1,1,119,142)))))),var(--now-button-stateful--secondary_highlighted--background-color-alpha--selected_active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-secondary.-highlighted.is-selected.high-contrast,.now-button-stateful.-secondary.is-highlighted.is-selected.high-contrast{background-color:RGB(var(--now-button-stateful--secondary_highlighted_high-contrast--background-color--selected,var(--now-actionable--secondary_highlighted_high-contrast_bare--background-color--selected,var(--now-actionable--secondary_highlighted_bare--background-color--selected,var(--now-actionable--secondary_bare--background-color--selected,var(--now-actionable--secondary--background-color,var(--now-color--secondary-1,1,119,142)))))),var(--now-button-stateful--secondary_highlighted_high-contrast--background-color-alpha--selected,var(--now-actionable--background-color-alpha--selected,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--secondary_highlighted_high-contrast--border-color--selected,var(--now-actionable--secondary_highlighted_high-contrast_bare--border-color--selected,var(--now-actionable--secondary_highlighted_bare--border-color--selected,var(--now-actionable--secondary_bare--border-color--selected,var(--now-actionable--secondary--border-color,var(--now-color--secondary-1,1,119,142)))))),var(--now-button-stateful--secondary_highlighted_high-contrast--border-color-alpha--selected,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--secondary_highlighted_high-contrast--color--selected,var(--now-actionable_label--secondary_high-contrast_bare--color--selected,var(--now-color--secondary-2,1,89,107))))}.now-button-stateful.-secondary.-highlighted.is-selected.high-contrast:not(.is-disabled):hover,.now-button-stateful.-secondary.is-highlighted.is-selected.high-contrast:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--secondary_highlighted_high-contrast--background-color--selected_hover,var(--now-actionable--secondary_highlighted_high-contrast_bare--background-color--selected_hover,var(--now-actionable--secondary_highlighted_bare--background-color--selected_hover,var(--now-actionable--secondary_bare--background-color--selected_hover,var(--now-actionable--secondary_bare--background-color--hover,var(--now-actionable--secondary--background-color--hover,var(--now-color--secondary-1,1,119,142))))))),var(--now-button-stateful--secondary_highlighted_high-contrast--background-color-alpha--selected_hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--secondary_highlighted_high-contrast--border-color--selected_hover,var(--now-actionable--secondary_highlighted_high-contrast_bare--border-color--selected_hover,var(--now-actionable--secondary_highlighted_bare--border-color--selected_hover,var(--now-actionable--secondary_bare--border-color--selected_hover,var(--now-actionable--secondary_bare--border-color--hover,var(--now-actionable--secondary--border-color--hover,var(--now-color--secondary-2,1,89,107))))))),var(--now-button-stateful--secondary_highlighted_high-contrast--border-color-alpha--selected_hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--secondary_highlighted_high-contrast--color--selected_hover,var(--now-actionable_label--secondary_high-contrast_bare--color--selected_hover,var(--now-color--secondary-3,1,60,71))))}.now-button-stateful.-secondary.-highlighted.is-selected.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-secondary.-highlighted.is-selected.high-contrast:not(.is-disabled):active,.now-button-stateful.-secondary.is-highlighted.is-selected.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-secondary.is-highlighted.is-selected.high-contrast:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--secondary_highlighted_high-contrast--border-color--selected_active,var(--now-actionable--secondary_highlighted_high-contrast_bare--border-color--selected_active,var(--now-actionable--secondary_highlighted_bare--border-color--selected_active,var(--now-actionable--secondary_bare--border-color--selected_active,var(--now-actionable--secondary_bare--border-color--active,var(--now-actionable--secondary--border-color--active,var(--now-color--secondary-3,1,60,71))))))),var(--now-button-stateful--secondary_highlighted_high-contrast--border-color-alpha--selected_active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--secondary_highlighted_high-contrast--color--selected_active,var(--now-actionable_label--secondary_high-contrast_bare--color--selected_active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-secondary.-highlighted.is-selected.high-contrast:not(.is-disabled) .now-ripple,.now-button-stateful.-secondary.-highlighted.is-selected.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-secondary.-highlighted.is-selected.high-contrast:not(.is-disabled):active:not(.has-ripple),.now-button-stateful.-secondary.is-highlighted.is-selected.high-contrast:not(.is-disabled) .now-ripple,.now-button-stateful.-secondary.is-highlighted.is-selected.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-secondary.is-highlighted.is-selected.high-contrast:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--secondary_highlighted_high-contrast--background-color--selected_active,var(--now-actionable--secondary_highlighted_high-contrast_bare--background-color--selected_active,var(--now-actionable--secondary_highlighted_bare--background-color--selected_active,var(--now-actionable--secondary_bare--background-color--selected_active,var(--now-actionable--secondary_bare--background-color--active,var(--now-actionable--secondary--background-color--active,var(--now-color--secondary-1,1,119,142))))))),var(--now-button-stateful--secondary_highlighted_high-contrast--background-color-alpha--selected_active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-secondary.-selection,.now-button-stateful.-secondary.-selection.-highlighted,.now-button-stateful.-secondary.-selection.is-highlighted{border-radius:var(--now-button-stateful--secondary-selection--border-radius,var(--now-actionable--secondary-selection_bare--border-radius,var(--now-actionable--secondary_bare--border-radius,var(--now-actionable--bare--border-radius,var(--now-actionable--border-radius,0)))));border-width:var(--now-button-stateful--secondary-selection--border-width,var(--now-actionable--secondary-selection_bare--border-width,var(--now-actionable--secondary_bare--border-width,var(--now-actionable--bare--border-width,var(--now-actionable--border-width,1px)))));color:RGB(var(--now-button-stateful--secondary-selection--color,var(--now-actionable_icon--primary-selection_bare--color,var(--now-color_selection--primary-3,23,100,82))))}.now-button-stateful.-secondary.-selection.-highlighted:not(.is-disabled):hover,.now-button-stateful.-secondary.-selection.is-highlighted:not(.is-disabled):hover,.now-button-stateful.-secondary.-selection:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--secondary-selection--background-color--hover,var(--now-actionable--secondary-selection_bare--background-color--hover,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--secondary-selection--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--secondary-selection--border-color--hover,var(--now-actionable--secondary-selection_bare--border-color--hover,var(--now-color_selection--primary-3,23,100,82))),var(--now-button-stateful--secondary-selection--border-color-alpha--hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--secondary-selection--color--hover,var(--now-actionable_icon--primary-selection_bare--color--hover,var(--now-color_selection--primary-4,15,67,55))))}.now-button-stateful.-secondary.-selection.-highlighted:not(.is-disabled).is-active,.now-button-stateful.-secondary.-selection.-highlighted:not(.is-disabled):active,.now-button-stateful.-secondary.-selection.is-highlighted:not(.is-disabled).is-active,.now-button-stateful.-secondary.-selection.is-highlighted:not(.is-disabled):active,.now-button-stateful.-secondary.-selection:not(.is-disabled).is-active,.now-button-stateful.-secondary.-selection:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--secondary-selection--border-color--active,var(--now-actionable--secondary-selection_bare--border-color--active,var(--now-color_selection--primary-4,15,67,55))),var(--now-button-stateful--secondary-selection--border-color-alpha--active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--secondary-selection--color--active,var(--now-actionable_icon--primary-selection_bare--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-secondary.-selection.-highlighted:not(.is-disabled) .now-ripple,.now-button-stateful.-secondary.-selection.-highlighted:not(.is-disabled).is-active,.now-button-stateful.-secondary.-selection.-highlighted:not(.is-disabled):active:not(.has-ripple),.now-button-stateful.-secondary.-selection.is-highlighted:not(.is-disabled) .now-ripple,.now-button-stateful.-secondary.-selection.is-highlighted:not(.is-disabled).is-active,.now-button-stateful.-secondary.-selection.is-highlighted:not(.is-disabled):active:not(.has-ripple),.now-button-stateful.-secondary.-selection:not(.is-disabled) .now-ripple,.now-button-stateful.-secondary.-selection:not(.is-disabled).is-active,.now-button-stateful.-secondary.-selection:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--secondary-selection--background-color--active,var(--now-actionable--secondary-selection_bare--background-color--active,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--secondary-selection--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-secondary.-selection.is-disabled{opacity:var(--now-button-stateful--secondary-selection--opacity--disabled,var(--now-actionable--secondary-selection_bare--opacity--disabled,var(--now-actionable--bare--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-button-stateful.-secondary.-selection.is-selected{color:RGB(var(--now-button-stateful--secondary-selection--color--selected,var(--now-actionable_icon--secondary-selection_bare--color--selected,var(--now-color_selection--primary-2,30,133,109))))}.now-button-stateful.-secondary.-selection.is-selected:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--secondary-selection--background-color--selected_hover,var(--now-actionable--secondary-selection_bare--background-color--selected_hover,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--secondary-selection--background-color-alpha--selected_hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--secondary-selection--border-color--selected_hover,var(--now-actionable--secondary-selection_highlighted_bare--border-color--selected_hover,var(--now-color_selection--primary-3,23,100,82))),var(--now-button-stateful--secondary-selection--border-color-alpha--selected_hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--secondary-selection--color--selected_hover,var(--now-actionable_icon--secondary-selection_bare--color--selected_hover,var(--now-color_selection--primary-3,23,100,82))))}.now-button-stateful.-secondary.-selection.is-selected:not(.is-disabled).is-active,.now-button-stateful.-secondary.-selection.is-selected:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--secondary-selection--border-color--selected_active,var(--now-actionable--secondary-selection_highlighted_bare--border-color--selected_active,var(--now-color_selection--primary-4,15,67,55))),var(--now-button-stateful--secondary-selection--border-color-alpha--selected_active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--secondary-selection--color--selected_active,var(--now-actionable_icon--secondary-selection_bare--color--selected_active,var(--now-color_selection--primary-4,15,67,55))))}.now-button-stateful.-secondary.-selection.is-selected:not(.is-disabled) .now-ripple,.now-button-stateful.-secondary.-selection.is-selected:not(.is-disabled).is-active,.now-button-stateful.-secondary.-selection.is-selected:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--secondary-selection--background-color--selected_active,var(--now-actionable--secondary-selection_bare--background-color--selected_active,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--secondary-selection--background-color-alpha--selected_active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-secondary.-selection.high-contrast{color:RGB(var(--now-button-stateful--secondary-selection_high-contrast--color,var(--now-actionable_icon--secondary-selection_high-contrast_bare--color,var(--now-color_selection--primary-3,23,100,82))))}.now-button-stateful.-secondary.-selection.high-contrast:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--secondary-selection_high-contrast--background-color--hover,var(--now-actionable--secondary-selection_high-contrast_bare--background-color--hover,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--secondary-selection_high-contrast--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--secondary-selection_high-contrast--border-color--hover,var(--now-actionable--secondary-selection_high-contrast_bare--border-color--hover,var(--now-color_selection--primary-4,15,67,55))),var(--now-button-stateful--secondary-selection_high-contrast--border-color-alpha--hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--secondary-selection_high-contrast--color--hover,var(--now-actionable_icon--secondary-selection_high-contrast_bare--color--hover,var(--now-color_selection--primary-4,15,67,55))))}.now-button-stateful.-secondary.-selection.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-secondary.-selection.high-contrast:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--secondary-selection_high-contrast--border-color--active,var(--now-actionable--secondary-selection_high-contrast_bare--border-color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-stateful--secondary-selection_high-contrast--border-color-alpha--active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--secondary-selection_high-contrast--color--active,var(--now-actionable_icon--secondary-selection_high-contrast_bare--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-secondary.-selection.high-contrast:not(.is-disabled) .now-ripple,.now-button-stateful.-secondary.-selection.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-secondary.-selection.high-contrast:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--secondary-selection_high-contrast--background-color--active,var(--now-actionable--secondary-selection_high-contrast_bare--background-color--active,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--secondary-selection_high-contrast--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-secondary.-selection.high-contrast.is-selected{color:RGB(var(--now-button-stateful--secondary-selection_high-contrast--color--selected,var(--now-actionable_icon--secondary-selection_high-contrast_bare--color--selected,var(--now-color_selection--primary-3,23,100,82))))}.now-button-stateful.-secondary.-selection.high-contrast.is-selected:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--secondary-selection_high-contrast--background-color--selected_hover,var(--now-actionable--secondary-selection_high-contrast_bare--background-color--selected_hover,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--secondary-selection_high-contrast--background-color-alpha--selected_hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--secondary-selection_high-contrast--border-color--selected_hover,var(--now-actionable--secondary-selection_high-contrast_bare--border-color--selected_hover,var(--now-color_selection--primary-4,15,67,55))),var(--now-button-stateful--secondary-selection_high-contrast--border-color-alpha--selected_hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--secondary-selection_high-contrast--color--selected_hover,var(--now-actionable_icon--secondary-selection_high-contrast_bare--color--selected_hover,var(--now-color_selection--primary-4,15,67,55))))}.now-button-stateful.-secondary.-selection.high-contrast.is-selected:not(.is-disabled).is-active,.now-button-stateful.-secondary.-selection.high-contrast.is-selected:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--secondary-selection_high-contrast--border-color--selected_active,var(--now-actionable--secondary-selection_high-contrast_bare--border-color--selected_active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-stateful--secondary-selection_high-contrast--border-color-alpha--selected_active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--secondary-selection_high-contrast--color--selected_active,var(--now-actionable_icon--secondary-selection_high-contrast_bare--color--selected_active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-secondary.-selection.high-contrast.is-selected:not(.is-disabled) .now-ripple,.now-button-stateful.-secondary.-selection.high-contrast.is-selected:not(.is-disabled).is-active,.now-button-stateful.-secondary.-selection.high-contrast.is-selected:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--secondary-selection_high-contrast--background-color--selected_active,var(--now-actionable--secondary-selection_high-contrast_bare--background-color--selected_active,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--secondary-selection_high-contrast--background-color-alpha--selected_active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-secondary.-selection.-highlighted.is-selected,.now-button-stateful.-secondary.-selection.is-highlighted.is-selected{background-color:RGB(var(--now-button-stateful--secondary-selection_highlighted--background-color--selected,var(--now-actionable--secondary-selection_highlighted_bare--background-color--selected,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--secondary-selection_highlighted--background-color-alpha--selected,var(--now-actionable--background-color-alpha--selected,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--secondary-selection_highlighted--border-color--selected,var(--now-actionable--secondary-selection_highlighted_bare--border-color--selected,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--secondary-selection_highlighted--border-color-alpha--selected,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--secondary-selection_highlighted--color--selected,var(--now-actionable_icon--secondary-selection_highlighted_bare--color--selected,var(--now-color_selection--primary-2,30,133,109))))}.now-button-stateful.-secondary.-selection.-highlighted.is-selected:not(.is-disabled):hover,.now-button-stateful.-secondary.-selection.is-highlighted.is-selected:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--secondary-selection_highlighted--background-color--selected_hover,var(--now-actionable--secondary-selection_highlighted_bare--background-color--selected_hover,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--secondary-selection_highlighted--background-color-alpha--selected_hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--secondary-selection_highlighted--border-color--selected_hover,var(--now-actionable--secondary-selection_highlighted_bare--border-color--selected_hover,var(--now-color_selection--primary-3,23,100,82))),var(--now-button-stateful--secondary-selection_highlighted--border-color-alpha--selected_hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--secondary-selection_highlighted--color--selected_hover,var(--now-actionable_icon--secondary-selection_highlighted_bare--color--selected_hover,var(--now-color_selection--primary-3,23,100,82))))}.now-button-stateful.-secondary.-selection.-highlighted.is-selected:not(.is-disabled).is-active,.now-button-stateful.-secondary.-selection.-highlighted.is-selected:not(.is-disabled):active,.now-button-stateful.-secondary.-selection.is-highlighted.is-selected:not(.is-disabled).is-active,.now-button-stateful.-secondary.-selection.is-highlighted.is-selected:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--secondary-selection_highlighted--border-color--selected_active,var(--now-actionable--secondary-selection_highlighted_bare--border-color--selected_active,var(--now-color_selection--primary-4,15,67,55))),var(--now-button-stateful--secondary-selection_highlighted--border-color-alpha--selected_active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--secondary-selection_highlighted--color--selected_active,var(--now-actionable_icon--secondary-selection_highlighted_bare--color--selected_active,var(--now-color_selection--primary-4,15,67,55))))}.now-button-stateful.-secondary.-selection.-highlighted.is-selected:not(.is-disabled) .now-ripple,.now-button-stateful.-secondary.-selection.-highlighted.is-selected:not(.is-disabled).is-active,.now-button-stateful.-secondary.-selection.-highlighted.is-selected:not(.is-disabled):active:not(.has-ripple),.now-button-stateful.-secondary.-selection.is-highlighted.is-selected:not(.is-disabled) .now-ripple,.now-button-stateful.-secondary.-selection.is-highlighted.is-selected:not(.is-disabled).is-active,.now-button-stateful.-secondary.-selection.is-highlighted.is-selected:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--secondary-selection_highlighted--background-color--selected_active,var(--now-actionable--secondary-selection_highlighted_bare--background-color--selected_active,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--secondary-selection_highlighted--background-color-alpha--selected_active,now-actionable--background-color-alpha--active))}.now-button-stateful.-secondary.-selection.-highlighted.is-selected.high-contrast,.now-button-stateful.-secondary.-selection.is-highlighted.is-selected.high-contrast{background-color:RGB(var(--now-button-stateful--secondary-selection_highlighted_high-contrast--background-color--selected,var(--now-actionable--secondary-selection_highlighted_high-contrast_bare--background-color--selected,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--secondary-selection_highlighted_high-contrast--background-color-alpha--selected,var(--now-actionable--background-color-alpha--selected,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--secondary-selection_highlighted_high-contrast--border-color--selected,var(--now-actionable--secondary-selection_highlighted_high-contrast_bare--border-color--selected,var(--now-color_selection--primary-3,23,100,82))),var(--now-button-stateful--secondary-selection_highlighted_high-contrast--border-color-alpha--selected,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--secondary-selection_highlighted_high-contrast--color--selected,var(--now-actionable_icon--secondary-selection_highlighted_high-contrast_bare--color--selected,var(--now-color_selection--primary-3,23,100,82))))}.now-button-stateful.-secondary.-selection.-highlighted.is-selected.high-contrast:not(.is-disabled):hover,.now-button-stateful.-secondary.-selection.is-highlighted.is-selected.high-contrast:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--secondary-selection_highlighted_high-contrast--background-color--selected_hover,var(--now-actionable--secondary-selection_highlighted_high-contrast_bare--background-color--selected_hover,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--secondary-selection_highlighted_high-contrast--background-color-alpha--selected_hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--secondary-selection_highlighted_high-contrast--border-color--selected_hover,var(--now-actionable--secondary-selection_highlighted_high-contrast_bare--border-color--selected_hover,var(--now-color_selection--primary-4,15,67,55))),var(--now-button-stateful--secondary-selection_highlighted_high-contrast--border-color-alpha--selected_hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--secondary-selection_highlighted_high-contrast--color--selected_hover,var(--now-actionable_icon--secondary-selection_highlighted_high-contrast_bare--color--selected_hover,var(--now-color_selection--primary-4,15,67,55))))}.now-button-stateful.-secondary.-selection.-highlighted.is-selected.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-secondary.-selection.-highlighted.is-selected.high-contrast:not(.is-disabled):active,.now-button-stateful.-secondary.-selection.is-highlighted.is-selected.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-secondary.-selection.is-highlighted.is-selected.high-contrast:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--secondary-selection_highlighted_high-contrast--border-color--selected_active,var(--now-actionable--secondary-selection_highlighted_high-contrast_bare--border-color--selected_active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-stateful--secondary-selection_highlighted_high-contrast--border-color-alpha--selected_active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--secondary-selection_highlighted_high-contrast--color--selected_active,var(--now-actionable_icon--secondary-selection_highlighted_high-contrast_bare--color--selected_active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-secondary.-selection.-highlighted.is-selected.high-contrast:not(.is-disabled) .now-ripple,.now-button-stateful.-secondary.-selection.-highlighted.is-selected.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-secondary.-selection.-highlighted.is-selected.high-contrast:not(.is-disabled):active:not(.has-ripple),.now-button-stateful.-secondary.-selection.is-highlighted.is-selected.high-contrast:not(.is-disabled) .now-ripple,.now-button-stateful.-secondary.-selection.is-highlighted.is-selected.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-secondary.-selection.is-highlighted.is-selected.high-contrast:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--secondary-selection_highlighted_high-contrast--background-color--selected_active,var(--now-actionable--secondary-selection_highlighted_high-contrast_bare--background-color--selected_active,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--secondary-selection_highlighted_high-contrast--background-color-alpha--selected_active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-tertiary{border-radius:var(--now-button-stateful--tertiary--border-radius,var(--now-actionable--tertiary_bare--border-radius,var(--now-actionable--bare--border-radius,var(--now-actionable--border-radius,0))));border-width:var(--now-button-stateful--tertiary--border-width,var(--now-actionable--tertiary_bare--border-width,var(--now-actionable--bare--border-width,var(--now-actionable--border-width,1px))));color:RGB(var(--now-button-stateful--tertiary--color,var(--now-actionable_icon--tertiary_bare--color,var(--now-actionable_icon--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))))}.now-button-stateful.-tertiary:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--tertiary--background-color--hover,var(--now-actionable--tertiary_bare--background-color--hover,var(--now-actionable--tertiary--background-color--hover,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55))))),var(--now-button-stateful--tertiary--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--tertiary--border-color--hover,var(--now-actionable--tertiary_bare--border-color--hover,var(--now-actionable--tertiary--border-color--hover,var(--now-color_border--secondary-actionable,var(--now-color--neutral-15,44,53,55))))),var(--now-button-stateful--tertiary--border-color-alpha--hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--tertiary--color--hover,var(--now-actionable_icon--tertiary_bare--color--hover,var(--now-actionable_icon--tertiary--color--hover,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))))))}.now-button-stateful.-tertiary:not(.is-disabled).is-active,.now-button-stateful.-tertiary:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--tertiary--border-color--active,var(--now-actionable--tertiary_bare--border-color--active,var(--now-actionable--tertiary--border-color--active,var(--now-color_border--primary-actionable,var(--now-color--neutral-18,22,27,28))))),var(--now-button-stateful--tertiary--border-color-alpha--active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--tertiary--color--active,var(--now-actionable_icon--tertiary_bare--color--active,var(--now-actionable_icon--tertiary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-button-stateful.-tertiary:not(.is-disabled) .now-ripple,.now-button-stateful.-tertiary:not(.is-disabled).is-active,.now-button-stateful.-tertiary:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--tertiary--background-color--active,var(--now-actionable--tertiary_bare--background-color--active,var(--now-actionable--tertiary--background-color--active,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55))))),var(--now-button-stateful--tertiary--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-tertiary.is-disabled{opacity:var(--now-button-stateful--tertiary--opacity--disabled,var(--now-actionable--tertiary_bare--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))}.now-button-stateful.-tertiary.is-selected{color:RGB(var(--now-button-stateful--tertiary--color--selected,var(--now-actionable_icon--tertiary_bare--color--selected,var(--now-actionable_icon--tertiary_bare--color,var(--now-actionable_icon--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))))}.now-button-stateful.-tertiary.is-selected:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--tertiary--background-color--selected_hover,var(--now-actionable--tertiary_bare--background-color--selected_hover,var(--now-actionable--tertiary_bare--background-color--hover,var(--now-actionable--tertiary--background-color--hover,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55)))))),var(--now-button-stateful--tertiary--background-color-alpha--selected_hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--tertiary--border-color--selected_hover,var(--now-actionable--tertiary_bare--border-color--selected_hover,var(--now-actionable--tertiary_bare--border-color--hover,var(--now-actionable--tertiary--border-color--hover,var(--now-color_border--secondary-actionable,var(--now-color--neutral-15,44,53,55)))))),var(--now-button-stateful--tertiary--border-color-alpha--selected_hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--tertiary--color--selected_hover,var(--now-actionable_icon--tertiary_bare--color--selected_hover,var(--now-actionable_icon--tertiary_bare--color--hover,var(--now-actionable_icon--tertiary--color--hover,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))))}.now-button-stateful.-tertiary.is-selected:not(.is-disabled).is-active,.now-button-stateful.-tertiary.is-selected:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--tertiary--border-color--selected_active,var(--now-actionable--tertiary_bare--border-color--selected_active,var(--now-actionable--tertiary_bare--border-color--active,var(--now-actionable--tertiary--border-color--active,var(--now-color_border--primary-actionable,var(--now-color--neutral-18,22,27,28)))))),var(--now-button-stateful--tertiary--border-color-alpha--selected_active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--tertiary--color--selected_active,var(--now-actionable_icon--tertiary_bare--color--selected_active,var(--now-actionable_icon--tertiary_bare--color--active,var(--now-actionable_icon--tertiary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))))}.now-button-stateful.-tertiary.is-selected:not(.is-disabled) .now-ripple,.now-button-stateful.-tertiary.is-selected:not(.is-disabled).is-active,.now-button-stateful.-tertiary.is-selected:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--tertiary--background-color--selected_active,var(--now-actionable--tertiary_bare--background-color--selected_active,var(--now-actionable--tertiary_bare--background-color--active,var(--now-actionable--tertiary--background-color--active,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55)))))),var(--now-button-stateful--tertiary--background-color-alpha--selected_active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-tertiary.high-contrast{color:RGB(var(--now-button-stateful--tertiary_high-contrast--color,var(--now-actionable_icon--tertiary_high-contrast_bare--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-stateful--tertiary_high-contrast--color-alpha,var(--now-actionable--high-contrast--color-alpha,1)))}.now-button-stateful.-tertiary.high-contrast:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--tertiary_high-contrast--background-color--hover,var(--now-actionable--tertiary_high-contrast_bare--background-color--hover,var(--now-actionable--tertiary_bare--background-color--hover,var(--now-actionable--tertiary--background-color--hover,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55)))))),var(--now-button-stateful--tertiary_high-contrast--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--tertiary_high-contrast--border-color--hover,var(--now-actionable--tertiary_high-contrast_bare--border-color--hover,var(--now-actionable--tertiary_bare--border-color--hover,var(--now-actionable--tertiary--border-color--hover,var(--now-color_border--secondary-actionable,var(--now-color--neutral-15,44,53,55)))))),var(--now-button-stateful--tertiary_high-contrast--border-color-alpha--hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--tertiary_high-contrast--color--hover,var(--now-actionable_icon--tertiary_high-contrast_bare--color--hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-stateful--tertiary_high-contrast--color-alpha--hover,var(--now-actionable--high-contrast--color-alpha,1)))}.now-button-stateful.-tertiary.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-tertiary.high-contrast:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--tertiary_high-contrast--border-color--active,var(--now-actionable--tertiary_high-contrast_bare--border-color--active,var(--now-actionable--tertiary_bare--border-color--active,var(--now-actionable--tertiary--border-color--active,var(--now-color_border--primary-actionable,var(--now-color--neutral-18,22,27,28)))))),var(--now-button-stateful--tertiary_high-contrast--border-color-alpha--active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--tertiary_high-contrast--color--active,var(--now-actionable_icon--tertiary_high-contrast_bare--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-stateful--tertiary_high-contrast--color-alpha--active,var(--now-actionable--high-contrast--color-alpha,1)))}.now-button-stateful.-tertiary.high-contrast:not(.is-disabled) .now-ripple,.now-button-stateful.-tertiary.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-tertiary.high-contrast:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--tertiary_high-contrast--background-color--active,var(--now-actionable--tertiary_high-contrast_bare--background-color--active,var(--now-actionable--tertiary_bare--background-color--active,var(--now-actionable--tertiary--background-color--active,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55)))))),var(--now-button-stateful--tertiary_high-contrast--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-tertiary.high-contrast.is-selected{color:RGB(var(--now-button-stateful--tertiary_high-contrast--color--selected,var(--now-actionable_icon--tertiary_high-contrast_bare--color--selected,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-tertiary.high-contrast.is-selected:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--tertiary_high-contrast--background-color--selected_hover,var(--now-actionable--tertiary_high-contrast_bare--background-color--selected_hover,var(--now-actionable--tertiary_bare--background-color--selected_hover,var(--now-actionable--tertiary_bare--background-color--hover,var(--now-actionable--tertiary--background-color--hover,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55))))))),var(--now-button-stateful--tertiary_high-contrast--background-color-alpha--selected_hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--tertiary_high-contrast--border-color--selected_hover,var(--now-actionable--tertiary_high-contrast_bare--border-color--selected_hover,var(--now-actionable--tertiary_bare--border-color--selected_hover,var(--now-actionable--tertiary_bare--border-color--hover,var(--now-actionable--tertiary--border-color--hover,var(--now-color_border--secondary-actionable,var(--now-color--neutral-15,44,53,55))))))),var(--now-button-stateful--tertiary_high-contrast--border-color-alpha--selected_hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--tertiary_high-contrast--color--selected_hover,var(--now-actionable_icon--tertiary_high-contrast_bare--color--selected_hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-tertiary.high-contrast.is-selected:not(.is-disabled).is-active,.now-button-stateful.-tertiary.high-contrast.is-selected:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--tertiary_high-contrast--border-color--selected_active,var(--now-actionable--tertiary_high-contrast_bare--border-color--selected_active,var(--now-actionable--tertiary_bare--border-color--selected_active,var(--now-actionable--tertiary_bare--border-color--active,var(--now-actionable--tertiary--border-color--active,var(--now-color_border--primary-actionable,var(--now-color--neutral-18,22,27,28))))))),var(--now-button-stateful--tertiary_high-contrast--border-color-alpha--selected_active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--tertiary_high-contrast--color--selected_active,var(--now-actionable_icon--tertiary_high-contrast_bare--color--selected_active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-tertiary.high-contrast.is-selected:not(.is-disabled) .now-ripple,.now-button-stateful.-tertiary.high-contrast.is-selected:not(.is-disabled).is-active,.now-button-stateful.-tertiary.high-contrast.is-selected:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--tertiary_high-contrast--background-color--selected_active,var(--now-actionable--tertiary_high-contrast_bare--background-color--selected_active,var(--now-actionable--tertiary_bare--background-color--selected_active,var(--now-actionable--tertiary_bare--background-color--active,var(--now-actionable--tertiary--background-color--active,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55))))))),var(--now-button-stateful--tertiary_high-contrast--background-color-alpha--selected_active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-tertiary.-highlighted.is-selected,.now-button-stateful.-tertiary.is-highlighted.is-selected{background-color:RGB(var(--now-button-stateful--tertiary_highlighted--background-color--selected,var(--now-actionable--tertiary_highlighted_bare--background-color--selected,var(--now-actionable--tertiary_bare--background-color--selected,var(--now-actionable--tertiary--background-color,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55)))))),var(--now-button-stateful--tertiary_highlighted--background-color-alpha--selected,var(--now-actionable--background-color-alpha--selected,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--tertiary_highlighted--border-color--selected,var(--now-actionable--tertiary_highlighted_bare--border-color--selected,var(--now-actionable--tertiary_bare--border-color--selected,var(--now-actionable--tertiary--border-color,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))))),var(--now-button-stateful--tertiary_highlighted--border-color-alpha--selected,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--tertiary_highlighted--color--selected,var(--now-actionable_icon--tertiary_highlighted_bare--color--selected,var(--now-actionable_icon--tertiary_bare--color--selected,var(--now-actionable_icon--tertiary_bare--color,var(--now-actionable_icon--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))))))}.now-button-stateful.-tertiary.-highlighted.is-selected:not(.is-disabled):hover,.now-button-stateful.-tertiary.is-highlighted.is-selected:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--tertiary_highlighted--background-color--selected_hover,var(--now-actionable--tertiary_highlighted_bare--background-color--selected_hover,var(--now-actionable--tertiary_bare--background-color--selected_hover,var(--now-actionable--tertiary_bare--background-color--hover,var(--now-actionable--tertiary--background-color--hover,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55))))))),var(--now-button-stateful--tertiary_highlighted--background-color-alpha--selected_hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--tertiary_highlighted--border-color--selected_hover,var(--now-actionable--tertiary_highlighted_bare--border-color--selected_hover,var(--now-actionable--tertiary_bare--border-color--selected_hover,var(--now-actionable--tertiary_bare--border-color--hover,var(--now-actionable--tertiary--border-color--hover,var(--now-color_border--secondary-actionable,var(--now-color--neutral-15,44,53,55))))))),var(--now-button-stateful--tertiary_highlighted--border-color-alpha--selected_hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--tertiary_highlighted--color--selected_hover,var(--now-actionable_icon--tertiary_highlighted_bare--color--selected_hover,var(--now-actionable_icon--tertiary_bare--color--selected_hover,var(--now-actionable_icon--tertiary_bare--color--hover,var(--now-actionable_icon--tertiary--color--hover,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))))))))}.now-button-stateful.-tertiary.-highlighted.is-selected:not(.is-disabled).is-active,.now-button-stateful.-tertiary.-highlighted.is-selected:not(.is-disabled):active,.now-button-stateful.-tertiary.is-highlighted.is-selected:not(.is-disabled).is-active,.now-button-stateful.-tertiary.is-highlighted.is-selected:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--tertiary_highlighted--border-color--selected_active,var(--now-actionable--tertiary_highlighted_bare--border-color--selected_active,var(--now-actionable--tertiary_bare--border-color--selected_active,var(--now-actionable--tertiary_bare--border-color--active,var(--now-actionable--tertiary--border-color--active,var(--now-color_border--primary-actionable,var(--now-color--neutral-18,22,27,28))))))),var(--now-button-stateful--tertiary_highlighted--border-color-alpha--selected_active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--tertiary_highlighted--color--selected_active,var(--now-actionable_icon--tertiary_highlighted_bare--color--selected_active,var(--now-actionable_icon--tertiary_bare--color--selected_active,var(--now-actionable_icon--tertiary_bare--color--active,var(--now-actionable_icon--tertiary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))))}.now-button-stateful.-tertiary.-highlighted.is-selected:not(.is-disabled) .now-ripple,.now-button-stateful.-tertiary.-highlighted.is-selected:not(.is-disabled).is-active,.now-button-stateful.-tertiary.-highlighted.is-selected:not(.is-disabled):active:not(.has-ripple),.now-button-stateful.-tertiary.is-highlighted.is-selected:not(.is-disabled) .now-ripple,.now-button-stateful.-tertiary.is-highlighted.is-selected:not(.is-disabled).is-active,.now-button-stateful.-tertiary.is-highlighted.is-selected:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--tertiary_highlighted--background-color--selected_active,var(--now-actionable--tertiary_highlighted_bare--background-color--selected_active,var(--now-actionable--tertiary_bare--background-color--selected_active,var(--now-actionable--tertiary_bare--background-color--active,var(--now-actionable--tertiary--background-color--active,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55))))))),var(--now-button-stateful--tertiary_highlighted--background-color-alpha--selected_active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-tertiary.-highlighted.is-selected.high-contrast,.now-button-stateful.-tertiary.is-highlighted.is-selected.high-contrast{background-color:RGB(var(--now-button-stateful--tertiary_highlighted_high-contrast--background-color--selected,var(--now-actionable--tertiary_highlighted_high-contrast_bare--background-color--selected,var(--now-actionable--tertiary_highlighted_bare--background-color--selected,var(--now-actionable--tertiary_bare--background-color--selected,var(--now-actionable--tertiary--background-color,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55))))))),var(--now-button-stateful--tertiary_highlighted_high-contrast--background-color-alpha--selected,var(--now-actionable--background-color-alpha--selected,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--tertiary_highlighted_high-contrast--border-color--selected,var(--now-actionable--tertiary_highlighted_high-contrast_bare--border-color--selected,var(--now-actionable--tertiary_highlighted_bare--border-color--selected,var(--now-actionable--tertiary_bare--border-color--selected,var(--now-actionable--tertiary--border-color,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81))))))),var(--now-button-stateful--tertiary_highlighted_high-contrast--border-color-alpha--selected,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--tertiary_highlighted_high-contrast--color--selected,var(--now-actionable_icon--tertiary_highlighted_high-contrast_bare--color--selected,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-tertiary.-highlighted.is-selected.high-contrast:not(.is-disabled):hover,.now-button-stateful.-tertiary.is-highlighted.is-selected.high-contrast:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--tertiary_highlighted_high-contrast--background-color--selected_hover,var(--now-actionable--tertiary_highlighted_high-contrast_bare--background-color--selected_hover,var(--now-actionable--tertiary_highlighted_bare--background-color--selected_hover,var(--now-actionable--tertiary_bare--background-color--selected_hover,var(--now-actionable--tertiary_bare--background-color--hover,var(--now-actionable--tertiary--background-color--hover,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55)))))))),var(--now-button-stateful--tertiary_highlighted_high-contrast--background-color-alpha--selected_hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--tertiary_highlighted_high-contrast--border-color--selected_hover,var(--now-actionable--tertiary_highlighted_high-contrast_bare--border-color--selected_hover,var(--now-actionable--tertiary_highlighted_bare--border-color--selected_hover,var(--now-actionable--tertiary_bare--border-color--selected_hover,var(--now-actionable--tertiary_bare--border-color--hover,var(--now-actionable--tertiary--border-color--hover,var(--now-color_border--secondary-actionable,var(--now-color--neutral-15,44,53,55)))))))),var(--now-button-stateful--tertiary_highlighted_high-contrast--border-color-alpha--selected_hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--tertiary_highlighted_high-contrast--color--selected_hover,var(--now-actionable_icon--tertiary_highlighted_high-contrast_bare--color--selected_hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-tertiary.-highlighted.is-selected.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-tertiary.-highlighted.is-selected.high-contrast:not(.is-disabled):active,.now-button-stateful.-tertiary.is-highlighted.is-selected.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-tertiary.is-highlighted.is-selected.high-contrast:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--tertiary_highlighted_high-contrast--border-color--selected_active,var(--now-actionable--tertiary_highlighted_high-contrast_bare--border-color--selected_active,var(--now-actionable--tertiary_highlighted_bare--border-color--selected_active,var(--now-actionable--tertiary_bare--border-color--selected_active,var(--now-actionable--tertiary_bare--border-color--active,var(--now-actionable--tertiary--border-color--active,var(--now-color_border--primary-actionable,var(--now-color--neutral-18,22,27,28)))))))),var(--now-button-stateful--tertiary_highlighted_high-contrast--border-color-alpha--selected_active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--tertiary_highlighted_high-contrast--color--selected_active,var(--now-actionable_icon--tertiary_highlighted_high-contrast_bare--color--selected_active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-tertiary.-highlighted.is-selected.high-contrast:not(.is-disabled) .now-ripple,.now-button-stateful.-tertiary.-highlighted.is-selected.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-tertiary.-highlighted.is-selected.high-contrast:not(.is-disabled):active:not(.has-ripple),.now-button-stateful.-tertiary.is-highlighted.is-selected.high-contrast:not(.is-disabled) .now-ripple,.now-button-stateful.-tertiary.is-highlighted.is-selected.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-tertiary.is-highlighted.is-selected.high-contrast:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--tertiary_highlighted_high-contrast--background-color--selected_active,var(--now-actionable--tertiary_highlighted_high-contrast_bare--background-color--selected_active,var(--now-actionable--tertiary_highlighted_bare--background-color--selected_active,var(--now-actionable--tertiary_bare--background-color--selected_active,var(--now-actionable--tertiary_bare--background-color--active,var(--now-actionable--tertiary--background-color--active,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55)))))))),var(--now-button-stateful--tertiary_highlighted_high-contrast--background-color-alpha--selected_active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-tertiary.-selection,.now-button-stateful.-tertiary.-selection.highlighted,.now-button-stateful.-tertiary.-selection.is-highlighted{border-radius:var(--now-button-stateful--tertiary-selection--border-radius,var(--now-actionable--tertiary-selection_bare--border-radius,var(--now-actionable--tertiary_bare--border-radius,var(--now-actionable--bare--border-radius,var(--now-actionable--border-radius,0)))));border-width:var(--now-button-stateful--tertiary-selection--border-width,var(--now-actionable--tertiary-selection_bare--border-width,var(--now-actionable--tertiary_bare--border-width,var(--now-actionable--bare--border-width,var(--now-actionable--border-width,1px)))));color:RGB(var(--now-button-stateful--tertiary-selection--color,var(--now-actionable_icon--tertiary-selection_bare--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-button-stateful.-tertiary.-selection.highlighted:not(.is-disabled):hover,.now-button-stateful.-tertiary.-selection.is-highlighted:not(.is-disabled):hover,.now-button-stateful.-tertiary.-selection:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--tertiary-selection--background-color--hover,var(--now-actionable--tertiary-selection_bare--background-color--hover,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--tertiary-selection--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--tertiary-selection--border-color--hover,var(--now-actionable--tertiary-selection_bare--border-color--hover,var(--now-color_selection--primary-3,23,100,82))),var(--now-button-stateful--tertiary-selection--border-color-alpha--hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--tertiary-selection--color--hover,var(--now-actionable_icon--tertiary-selection_bare--color--hover,var(--now-color_selection--primary-3,23,100,82))))}.now-button-stateful.-tertiary.-selection.highlighted:not(.is-disabled).is-active,.now-button-stateful.-tertiary.-selection.highlighted:not(.is-disabled):active,.now-button-stateful.-tertiary.-selection.is-highlighted:not(.is-disabled).is-active,.now-button-stateful.-tertiary.-selection.is-highlighted:not(.is-disabled):active,.now-button-stateful.-tertiary.-selection:not(.is-disabled).is-active,.now-button-stateful.-tertiary.-selection:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--tertiary-selection--border-color--active,var(--now-actionable--tertiary-selection_bare--border-color--active,var(--now-color_selection--primary-4,15,67,55))),var(--now-button-stateful--tertiary-selection--border-color-alpha--active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--tertiary-selection--color--active,var(--now-actionable_icon--tertiary-selection_bare--color--active,var(--now-color_selection--primary-4,15,67,55))))}.now-button-stateful.-tertiary.-selection.highlighted:not(.is-disabled) .now-ripple,.now-button-stateful.-tertiary.-selection.highlighted:not(.is-disabled).is-active,.now-button-stateful.-tertiary.-selection.highlighted:not(.is-disabled):active:not(.has-ripple),.now-button-stateful.-tertiary.-selection.is-highlighted:not(.is-disabled) .now-ripple,.now-button-stateful.-tertiary.-selection.is-highlighted:not(.is-disabled).is-active,.now-button-stateful.-tertiary.-selection.is-highlighted:not(.is-disabled):active:not(.has-ripple),.now-button-stateful.-tertiary.-selection:not(.is-disabled) .now-ripple,.now-button-stateful.-tertiary.-selection:not(.is-disabled).is-active,.now-button-stateful.-tertiary.-selection:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--tertiary-selection--background-color--active,var(--now-actionable--tertiary-selection_bare--background-color--active,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--tertiary-selection--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-tertiary.-selection.is-disabled{opacity:var(--now-button-stateful--tertiary-selection--opacity--disabled,var(--now-actionable--tertiary-selection_bare--opacity--disabled,var(--now-actionable--bare--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-button-stateful.-tertiary.-selection.is-selected{color:RGB(var(--now-button-stateful--tertiary-selection--color--selected,var(--now-actionable_icon--tertiary-selection_bare--color--selected,var(--now-color_selection--primary-2,30,133,109))))}.now-button-stateful.-tertiary.-selection.is-selected:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--tertiary-selection--background-color--selected_hover,var(--now-actionable--tertiary-selection_highlighted_bare--background-color--selected_hover,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--tertiary-selection--background-color-alpha--selected_hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--tertiary-selection--border-color--selected_hover,var(--now-actionable--tertiary-selection_bare--border-color--selected_hover,var(--now-color_selection--primary-3,23,100,82))),var(--now-button-stateful--tertiary-selection--border-color-alpha--selected_hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--tertiary-selection--color--selected_hover,var(--now-actionable_icon--tertiary-selection_bare--color--selected_hover,var(--now-color_selection--primary-3,23,100,82))))}.now-button-stateful.-tertiary.-selection.is-selected:not(.is-disabled).is-active,.now-button-stateful.-tertiary.-selection.is-selected:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--tertiary-selection--border-color--selected_active,var(--now-actionable--tertiary-selection_bare--border-color--selected_active,var(--now-color_selection--primary-4,15,67,55))),var(--now-button-stateful--tertiary-selection--border-color-alpha--selected_active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--tertiary-selection--color--selected_active,var(--now-actionable_icon--tertiary-selection_bare--color--selected_active,var(--now-color_selection--primary-4,15,67,55))))}.now-button-stateful.-tertiary.-selection.is-selected:not(.is-disabled) .now-ripple,.now-button-stateful.-tertiary.-selection.is-selected:not(.is-disabled).is-active,.now-button-stateful.-tertiary.-selection.is-selected:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--tertiary-selection--background-color--selected_active,var(--now-actionable--tertiary-selection_highlighted_bare--background-color--selected_active,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--tertiary-selection--background-color-alpha--selected_active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-tertiary.-selection.high-contrast{color:RGB(var(--now-button-stateful--tertiary-selection_high-contrast--color,var(--now-actionable_icon--tertiary-selection_high-contrast_bare--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-tertiary.-selection.high-contrast:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--tertiary-selection_high-contrast--background-color--hover,var(--now-actionable--tertiary-selection_high-contrast_bare--background-color--hover,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--tertiary-selection_high-contrast--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--tertiary-selection_high-contrast--border-color--hover,var(--now-actionable--tertiary-selection_high-contrast_bare--border-color--hover,var(--now-color_selection--primary-4,15,67,55))),var(--now-button-stateful--tertiary-selection_high-contrast--border-color-alpha--hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--tertiary-selection_high-contrast--color--hover,var(--now-actionable_icon--tertiary-selection_high-contrast_bare--color--hover,var(--now-color_selection--primary-4,15,67,55))))}.now-button-stateful.-tertiary.-selection.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-tertiary.-selection.high-contrast:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--tertiary-selection_high-contrast--border-color--active,var(--now-actionable--tertiary-selection_high-contrast_bare--border-color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-stateful--tertiary-selection_high-contrast--border-color-alpha--active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--tertiary-selection_high-contrast--color--active,var(--now-actionable_icon--tertiary-selection_high-contrast_bare--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-tertiary.-selection.high-contrast:not(.is-disabled) .now-ripple,.now-button-stateful.-tertiary.-selection.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-tertiary.-selection.high-contrast:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--tertiary-selection_high-contrast--background-color--active,var(--now-actionable--tertiary-selection_high-contrast_bare--background-color--active,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--tertiary-selection_high-contrast--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-tertiary.-selection.high-contrast.is-selected{color:RGB(var(--now-button-stateful--tertiary-selection_high-contrast--color--selected,var(--now-actionable_icon--tertiary-selection_high-contrast_bare--color--selected,var(--now-color_selection--primary-3,23,100,82))))}.now-button-stateful.-tertiary.-selection.high-contrast.is-selected:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--tertiary-selection_high-contrast--background-color--selected_hover,var(--now-actionable--tertiary-selection_high-contrast_bare--background-color--selected_hover,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--tertiary-selection_high-contrast--background-color-alpha--selected_hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--tertiary-selection_high-contrast--border-color--selected_hover,var(--now-actionable--tertiary-selection_high-contrast_bare--border-color--selected_hover,var(--now-color_selection--primary-4,15,67,55))),var(--now-button-stateful--tertiary-selection_high-contrast--border-color-alpha--selected_hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--tertiary-selection_high-contrast--color--selected_hover,var(--now-actionable_icon--tertiary-selection_high-contrast_bare--color--selected_hover,var(--now-color_selection--primary-4,15,67,55))))}.now-button-stateful.-tertiary.-selection.high-contrast.is-selected:not(.is-disabled).is-active,.now-button-stateful.-tertiary.-selection.high-contrast.is-selected:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--tertiary-selection_high-contrast--border-color--selected_active,var(--now-actionable--tertiary-selection_high-contrast_bare--border-color--selected_active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-stateful--tertiary-selection_high-contrast--border-color-alpha--selected_active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--tertiary-selection_high-contrast--color--selected_active,var(--now-actionable_icon--tertiary-selection_high-contrast_bare--color--selected_active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-tertiary.-selection.high-contrast.is-selected:not(.is-disabled) .now-ripple,.now-button-stateful.-tertiary.-selection.high-contrast.is-selected:not(.is-disabled).is-active,.now-button-stateful.-tertiary.-selection.high-contrast.is-selected:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--tertiary-selection_high-contrast--background-color--selected_active,var(--now-actionable--tertiary-selection_high-contrast_bare--background-color--selected_active,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--tertiary-selection_high-contrast--background-color-alpha--selected_active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-tertiary.-selection.-highlighted.is-selected,.now-button-stateful.-tertiary.-selection.is-highlighted.is-selected{background-color:RGB(var(--now-button-stateful--tertiary-selection_highlighted--background-color--selected,var(--now-actionable--tertiary-selection_highlighted_bare--background-color--selected,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--tertiary-selection_highlighted--background-color-alpha--selected,var(--now-actionable--background-color-alpha--selected,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--tertiary-selection_highlighted--border-color--selected,var(--now-actionable--tertiary-selection_highlighted_bare--border-color--selected,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--tertiary-selection_highlighted--border-color-alpha--selected,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--tertiary-selection_highlighted--color--selected,var(--now-actionable_icon--tertiary-selection_bare--color--selected,var(--now-color_selection--primary-2,30,133,109))))}.now-button-stateful.-tertiary.-selection.-highlighted.is-selected:not(.is-disabled):hover,.now-button-stateful.-tertiary.-selection.is-highlighted.is-selected:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--tertiary-selection_highlighted--background-color--selected_hover,var(--now-actionable--tertiary-selection_highlighted_bare--background-color--selected_hover,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--tertiary-selection_highlighted--background-color-alpha--selected_hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--tertiary-selection_highlighted--border-color--selected_hover,var(--now-actionable--tertiary-selection_highlighted_bare--border-color--selected_hover,var(--now-color_selection--primary-3,23,100,82))),var(--now-button-stateful--tertiary-selection_highlighted--border-color-alpha--selected_hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--tertiary-selection_highlighted--color--selected_hover,var(--now-actionable_icon--tertiary-selection_bare--color--selected_hover,var(--now-color_selection--primary-3,23,100,82))))}.now-button-stateful.-tertiary.-selection.-highlighted.is-selected:not(.is-disabled).is-active,.now-button-stateful.-tertiary.-selection.-highlighted.is-selected:not(.is-disabled):active,.now-button-stateful.-tertiary.-selection.is-highlighted.is-selected:not(.is-disabled).is-active,.now-button-stateful.-tertiary.-selection.is-highlighted.is-selected:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--tertiary-selection_highlighted--border-color--selected_active,var(--now-actionable--tertiary-selection_highlighted_bare--border-color--selected_active,var(--now-color_selection--primary-4,15,67,55))),var(--now-button-stateful--tertiary-selection_highlighted--border-color-alpha--selected_active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--tertiary-selection_highlighted--color--selected_active,var(--now-actionable_icon--tertiary-selection_bare--color--selected_active,var(--now-color_selection--primary-4,15,67,55))))}.now-button-stateful.-tertiary.-selection.-highlighted.is-selected:not(.is-disabled) .now-ripple,.now-button-stateful.-tertiary.-selection.-highlighted.is-selected:not(.is-disabled).is-active,.now-button-stateful.-tertiary.-selection.-highlighted.is-selected:not(.is-disabled):active:not(.has-ripple),.now-button-stateful.-tertiary.-selection.is-highlighted.is-selected:not(.is-disabled) .now-ripple,.now-button-stateful.-tertiary.-selection.is-highlighted.is-selected:not(.is-disabled).is-active,.now-button-stateful.-tertiary.-selection.is-highlighted.is-selected:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--tertiary-selection_highlighted--background-color--selected_active,var(--now-actionable--tertiary-selection_highlighted_bare--background-color--selected_active,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--tertiary-selection_highlighted--background-color-alpha--selected_active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.-tertiary.-selection.-highlighted.is-selected.high-contrast,.now-button-stateful.-tertiary.-selection.is-highlighted.is-selected.high-contrast{background-color:RGB(var(--now-button-stateful--tertiary-selection_highlighted_high-contrast--background-color--selected,var(--now-actionable--tertiary-selection_highlighted_high-contrast_bare--background-color--selected,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--tertiary-selection_highlighted_high-contrast--background-color-alpha--selected,var(--now-actionable--background-color-alpha--selected,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--tertiary-selection_highlighted_high-contrast--border-color--selected,var(--now-actionable--tertiary-selection_highlighted_high-contrast_bare--border-color--selected,var(--now-color_selection--primary-3,23,100,82))),var(--now-button-stateful--tertiary-selection_highlighted_high-contrast--border-color-alpha--selected,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--tertiary-selection_highlighted_high-contrast--color--selected,var(--now-actionable_icon--tertiary-selection_highlighted_high-contrast_bare--color--selected,var(--now-color_selection--primary-3,23,100,82))))}.now-button-stateful.-tertiary.-selection.-highlighted.is-selected.high-contrast:not(.is-disabled):hover,.now-button-stateful.-tertiary.-selection.is-highlighted.is-selected.high-contrast:not(.is-disabled):hover{background-color:RGB(var(--now-button-stateful--tertiary-selection_highlighted_high-contrast--background-color--selected_hover,var(--now-actionable--tertiary-selection_highlighted_high-contrast_bare--background-color--selected_hover,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--tertiary-selection_highlighted_high-contrast--background-color-alpha--selected_hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-stateful--tertiary-selection_highlighted_high-contrast--border-color--selected_hover,var(--now-actionable--tertiary-selection_highlighted_high-contrast_bare--border-color--selected_hover,var(--now-color_selection--primary-4,15,67,55))),var(--now-button-stateful--tertiary-selection_highlighted_high-contrast--border-color-alpha--selected_hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--tertiary-selection_highlighted_high-contrast--color--selected_hover,var(--now-actionable_icon--tertiary-selection_highlighted_high-contrast_bare--color--selected_hover,var(--now-color_selection--primary-4,15,67,55))))}.now-button-stateful.-tertiary.-selection.-highlighted.is-selected.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-tertiary.-selection.-highlighted.is-selected.high-contrast:not(.is-disabled):active,.now-button-stateful.-tertiary.-selection.is-highlighted.is-selected.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-tertiary.-selection.is-highlighted.is-selected.high-contrast:not(.is-disabled):active{border-color:RGB(var(--now-button-stateful--tertiary-selection_highlighted_high-contrast--border-color--selected_active,var(--now-actionable--tertiary-selection_highlighted_high-contrast_bare--border-color--selected_active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-stateful--tertiary-selection_highlighted_high-contrast--border-color-alpha--selected_active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-button-stateful--tertiary-selection_highlighted_high-contrast--color--selected_active,var(--now-actionable_icon--tertiary-selection_highlighted_high-contrast_bare--color--selected_active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button-stateful.-tertiary.-selection.-highlighted.is-selected.high-contrast:not(.is-disabled) .now-ripple,.now-button-stateful.-tertiary.-selection.-highlighted.is-selected.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-tertiary.-selection.-highlighted.is-selected.high-contrast:not(.is-disabled):active:not(.has-ripple),.now-button-stateful.-tertiary.-selection.is-highlighted.is-selected.high-contrast:not(.is-disabled) .now-ripple,.now-button-stateful.-tertiary.-selection.is-highlighted.is-selected.high-contrast:not(.is-disabled).is-active,.now-button-stateful.-tertiary.-selection.is-highlighted.is-selected.high-contrast:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button-stateful--tertiary-selection_highlighted_high-contrast--background-color--selected_active,var(--now-actionable--tertiary-selection_highlighted_high-contrast_bare--background-color--selected_active,var(--now-color_selection--primary-2,30,133,109))),var(--now-button-stateful--tertiary-selection_highlighted_high-contrast--background-color-alpha--selected_active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button-stateful.is-disabled,.now-button-stateful.is-disabled:hover{cursor:not-allowed}.now-button-stateful.is-disabled:hover,.now-button-stateful.is-disabled:hover:hover{box-shadow:none}.now-button-stateful.hide-padding{block-size:auto;border-width:0;inline-size:auto}@media(forced-colors:active){.now-button-stateful,.now-button-stateful:focus-visible,.now-button-stateful:hover{transition:none}.now-button-stateful{background-color:buttonface!important;border-style:solid!important;border-width:1px!important;color:buttontext!important}.now-button-stateful now-icon,.now-button-stateful now-icon-animated{color:inherit!important}.now-button-stateful:focus-visible,.now-button-stateful:hover{background-color:highlighttext!important;border-color:highlight!important;color:highlight!important}.now-button-stateful.is-disabled,.now-button-stateful.is-disabled:hover{background-color:buttonface!important;border-color:graytext!important;color:graytext!important;opacity:1!important}.now-button-stateful.is-selected{background-color:selecteditem!important;border-color:selecteditemtext;color:selecteditemtext!important}.now-button-stateful.is-selected.is-disabled{background-color:buttonface!important;color:graytext!important}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:inline-block;vertical-align:middle}.now-button{align-items:center;border-end-end-radius:var(--now-button--border-end-end-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,0)));border-end-start-radius:var(--now-button--border-end-start-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,0)));border-start-end-radius:var(--now-button--border-start-end-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,0)));border-start-start-radius:var(--now-button--border-start-start-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,0)));border-style:solid;cursor:pointer;display:flex;font-family:var(--now-button--font-family,var(--now-actionable--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)));font-style:var(--now-button--font-style,var(--now-actionable--font-style,normal));font-variant:normal;font-weight:var(--now-button--font-weight,var(--now-actionable--font-weight,normal));inline-size:inherit;justify-content:center;letter-spacing:inherit;margin:0;overflow:hidden;position:relative;text-indent:0;text-shadow:none;text-transform:var(--now-button--text-transform,var(--now-actionable--text-transform,none));white-space:normal;word-spacing:inherit}.now-button::-moz-focus-inner{border-style:none}.now-button:focus-visible{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.now-button:focus-visible{outline:1px solid highlight}}.now-button ::slotted(*),.now-button now-icon,.now-button slot>*{z-index:1}.now-button .now-ripple{aspect-ratio:1/1;border-radius:100%;inline-size:100%;left:50%;position:absolute;top:50%;transform:scale(0);transform-origin:center;z-index:0}.now-button.should-animate{transition-duration:var(--now-motion--duration--faster,.1s);transition-property:--now-button--ai--gradient-start,--now-button--ai--gradient-end,border-color,background-color,box-shadow,color;transition-timing-function:var(--now-motion--ease--linear,linear)}.now-button.should-animate:hover{transition-duration:var(--now-motion--duration--faster,.1s),var(--now-motion--duration--normal,.2s),var(--now-motion--duration--faster,.1s);transition-property:--now-button--ai--gradient-start,--now-button--ai--gradient-end,border-color,background-color,box-shadow,color}.now-button.should-animate:focus{transition-duration:var(--now-motion--duration--faster,.1s),var(--now-motion--duration--normal,.2s),var(--now-motion--duration--normal,.2s)}.now-button.should-animate:focus-visible{transition-duration:var(--now-motion--duration--faster,.1s),var(--now-motion--duration--normal,.2s);transition-property:background-color,color}.now-button:hover{box-shadow:0 .125rem .25rem 0 RGB(56,56,56,var(--now-opacity--less,.25))}.now-button:focus-visible::-moz-focus-inner{border-style:none}.now-button:focus-visible:focus-visible{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.now-button:focus-visible:focus-visible{outline:1px solid highlight}}.now-button.-sm{font-size:var(--now-actionable--font-size--sm,var(--now-font-size--sm,.75rem));line-height:1.3333;min-block-size:calc(.75rem + var(--now-button--scale-size-block, 1)*1.5rem/2);padding-block:calc(.25rem*var(--now-button--scale-size-block, 1));padding-inline:calc(var(--now-space--sm, .5rem)*var(--now-button--scale-size-inline, 1))}.now-button.-sm .now-line-height-crop{display:block}.now-button.-sm .now-line-height-crop:after,.now-button.-sm .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-button.-sm .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-button.-sm .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-button.-sm .now-line-height-crop+.now-button.-sm .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-button.-sm:not(.only-icon) .now-button-icon{-webkit-margin-end:var(--now-space--xxs,.125rem);margin-inline-end:var(--now-space--xxs,.125rem)}.now-button.-md{font-size:var(--now-actionable--font-size--md,var(--now-font-size--md1,1rem));line-height:1.25;min-block-size:calc(1rem + var(--now-button--scale-size-block, 1)*2rem/2);padding-block:calc(.375rem*var(--now-button--scale-size-block, 1));padding-inline:calc(var(--now-space--md1, 1rem)*var(--now-button--scale-size-inline, 1))}.now-button.-md .now-line-height-crop{display:block}.now-button.-md .now-line-height-crop:after,.now-button.-md .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-button.-md .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-button.-md .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-button.-md .now-line-height-crop+.now-button.-md .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-button.-md:not(.only-icon) .now-button-icon{-webkit-margin-end:var(--now-space--xxs,.125rem);margin-inline-end:var(--now-space--xxs,.125rem)}.now-button.-lg{font-size:var(--now-actionable--font-size--lg,var(--now-font-size--lg1,1.5rem));line-height:1.25;min-block-size:calc(1.5rem + var(--now-button--scale-size-block, 1)*3rem/2);padding-block:calc(.375rem*var(--now-button--scale-size-block, 1));padding-inline:calc(var(--now-space--lg2, 1.5rem)*var(--now-button--scale-size-inline, 1))}.now-button.-lg .now-line-height-crop{display:block}.now-button.-lg .now-line-height-crop:after,.now-button.-lg .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-button.-lg .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-button.-lg .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-button.-lg .now-line-height-crop+.now-button.-lg .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-button.-lg:not(.only-icon) .now-button-icon{-webkit-margin-end:var(--now-space--xs,.25rem);margin-inline-end:var(--now-space--xs,.25rem)}.now-button.-primary{background-color:RGB(var(--now-button--primary--background-color,var(--now-actionable--primary--background-color,var(--now-color--primary-1,30,133,109))));border-color:RGB(var(--now-button--primary--border-color,var(--now-actionable--primary--border-color,var(--now-color--primary-1,30,133,109))));border-end-end-radius:var(--now-button--primary--border-end-end-radius,var(--now-actionable--primary--border-radius,var(--now-actionable--contained_brand--border-radius,var(--now-actionable--border-radius,0))));border-end-start-radius:var(--now-button--primary--border-end-start-radius,var(--now-actionable--primary--border-radius,var(--now-actionable--contained_brand--border-radius,var(--now-actionable--border-radius,0))));border-start-end-radius:var(--now-button--primary--border-start-end-radius,var(--now-actionable--primary--border-radius,var(--now-actionable--contained_brand--border-radius,var(--now-actionable--border-radius,0))));border-start-start-radius:var(--now-button--primary--border-start-start-radius,var(--now-actionable--primary--border-radius,var(--now-actionable--contained_brand--border-radius,var(--now-actionable--border-radius,0))));border-width:var(--now-button--primary--border-width,var(--now-actionable--primary--border-width,var(--now-actionable--contained_brand--border-width,0)));color:RGB(var(--now-button--primary--color,var(--now-actionable_label--primary--color,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary .now-button-icon{color:RGB(var(--now-button_icon--primary--color,var(--now-actionable_icon--primary--color,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary:not(.is-disabled):hover{background-color:RGB(var(--now-button--primary--background-color--hover,var(--now-actionable--primary--background-color--hover,var(--now-color--primary-2,23,100,82))));border-color:RGB(var(--now-button--primary--border-color--hover,var(--now-actionable--primary--border-color--hover,var(--now-color--primary-2,23,100,82))));color:RGB(var(--now-button--primary--color--hover,var(--now-actionable_label--primary--color--hover,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary:not(.is-disabled):hover .now-button-icon{color:RGB(var(--now-button_icon--primary--color--hover,var(--now-actionable_icon--primary--color--hover,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary:not(.is-disabled).is-active,.now-button.-primary:not(.is-disabled):active{border-color:RGB(var(--now-button--primary--border-color--active,var(--now-actionable--primary--border-color--active,var(--now-color--primary-3,15,67,55))));color:RGB(var(--now-button--primary--color--active,var(--now-actionable_label--primary--color--active,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary:not(.is-disabled).is-active .now-button-icon,.now-button.-primary:not(.is-disabled):active .now-button-icon{color:RGB(var(--now-button_icon--primary--color--active,var(--now-actionable_icon--primary--color--active,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary:not(.is-disabled) .now-ripple,.now-button.-primary:not(.is-disabled).is-active,.now-button.-primary:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button--primary--background-color--active,var(--now-actionable--primary--background-color--active,var(--now-color--primary-3,15,67,55))))}.now-button.-primary.is-disabled{opacity:var(--now-button--primary--opacity--disabled,var(--now-actionable--primary--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-button.-primary.-positive{background-color:RGB(var(--now-button--primary-positive--background-color,var(--now-actionable--primary-positive--background-color,var(--now-color_alert--positive-3,30,105,34))));border-color:RGB(var(--now-button--primary-positive--border-color,var(--now-actionable--primary-positive--border-color,var(--now-color_alert--positive-3,30,105,34))));border-end-end-radius:var(--now-button--primary-positive--border-end-end-radius,var(--now-actionable--primary-positive--border-radius,var(--now-actionable--primary--border-radius,var(--now-actionable--contained_brand--border-radius,var(--now-actionable--border-radius,0)))));border-end-start-radius:var(--now-button--primary-positive--border-end-start-radius,var(--now-actionable--primary-positive--border-radius,var(--now-actionable--primary--border-radius,var(--now-actionable--contained_brand--border-radius,var(--now-actionable--border-radius,0)))));border-start-end-radius:var(--now-button--primary-positive--border-start-end-radius,var(--now-actionable--primary-positive--border-radius,var(--now-actionable--primary--border-radius,var(--now-actionable--contained_brand--border-radius,var(--now-actionable--border-radius,0)))));border-start-start-radius:var(--now-button--primary-positive--border-start-start-radius,var(--now-actionable--primary-positive--border-radius,var(--now-actionable--primary--border-radius,var(--now-actionable--contained_brand--border-radius,var(--now-actionable--border-radius,0)))));border-width:var(--now-button--primary-positive--border-width,var(--now-actionable--primary-positive--border-width,var(--now-actionable--primary--border-width,var(--now-actionable--contained_brand--border-width,0))));color:RGB(var(--now-button--primary-positive--color,var(--now-actionable_label--primary-positive--color,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary.-positive .now-button-icon{color:RGB(var(--now-button_icon--primary-positive--color,var(--now-actionable_icon--primary-positive--color,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary.-positive:not(.is-disabled):hover{background-color:RGB(var(--now-button--primary-positive--background-color--hover,var(--now-actionable--primary-positive--background-color--hover,var(--now-color_alert--positive-4,22,79,26))));border-color:RGB(var(--now-button--primary-positive--border-color--hover,var(--now-actionable--primary-positive--border-color--hover,var(--now-color_alert--positive-4,22,79,26))));color:RGB(var(--now-button--primary-positive--color--hover,var(--now-actionable_label--primary-positive--color--hover,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary.-positive:not(.is-disabled):hover .now-button-icon{color:RGB(var(--now-button_icon--primary-positive--color--hover,var(--now-actionable_icon--primary-positive--color--hover,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary.-positive:not(.is-disabled).is-active,.now-button.-primary.-positive:not(.is-disabled):active{border-color:RGB(var(--now-button--primary-positive--border-color--active,var(--now-actionable--primary-positive--border-color--active,var(--now-color_alert--positive-5,15,52,17))));color:RGB(var(--now-button--primary-positive--color--active,var(--now-actionable_label--primary-positive--color--active,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary.-positive:not(.is-disabled).is-active .now-button-icon,.now-button.-primary.-positive:not(.is-disabled):active .now-button-icon{color:RGB(var(--now-button_icon--primary-positive--color--active,var(--now-actionable_icon--primary-positive--color--active,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary.-positive:not(.is-disabled) .now-ripple,.now-button.-primary.-positive:not(.is-disabled).is-active,.now-button.-primary.-positive:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button--primary-positive--background-color--active,var(--now-actionable--primary-positive--background-color--active,var(--now-color_alert--positive-5,15,52,17))))}.now-button.-primary.-positive.is-disabled{opacity:var(--now-button--primary-positive--opacity--disabled,var(--now-actionable--primary-positive--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-button.-primary.-negative{background-color:RGB(var(--now-button--primary-negative--background-color,var(--now-actionable--primary-negative--background-color,var(--now-color_alert--critical-3,160,48,43))));border-color:RGB(var(--now-button--primary-negative--border-color,var(--now-actionable--primary-negative--border-color,var(--now-color_alert--critical-3,160,48,43))));border-end-end-radius:var(--now-button--primary-negative--border-end-end-radius,var(--now-actionable--primary-negative--border-radius,var(--now-actionable--primary--border-radius,var(--now-actionable--contained_brand--border-radius,var(--now-actionable--border-radius,0)))));border-end-start-radius:var(--now-button--primary-negative--border-end-start-radius,var(--now-actionable--primary-negative--border-radius,var(--now-actionable--primary--border-radius,var(--now-actionable--contained_brand--border-radius,var(--now-actionable--border-radius,0)))));border-start-end-radius:var(--now-button--primary-negative--border-start-end-radius,var(--now-actionable--primary-negative--border-radius,var(--now-actionable--primary--border-radius,var(--now-actionable--contained_brand--border-radius,var(--now-actionable--border-radius,0)))));border-start-start-radius:var(--now-button--primary-negative--border-start-start-radius,var(--now-actionable--primary-negative--border-radius,var(--now-actionable--primary--border-radius,var(--now-actionable--contained_brand--border-radius,var(--now-actionable--border-radius,0)))));border-width:var(--now-button--primary-negative--border-width,var(--now-actionable--primary-negative--border-width,var(--now-actionable--primary--border-width,var(--now-actionable--contained_brand--border-width,0))));color:RGB(var(--now-button--primary-negative--color,var(--now-actionable_label--primary-negative--color,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary.-negative .now-button-icon{color:RGB(var(--now-button_icon--primary-negative--color,var(--now-actionable_icon--primary-negative--color,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary.-negative:not(.is-disabled):hover{background-color:RGB(var(--now-button--primary-negative--background-color--hover,var(--now-actionable--primary-negative--background-color--hover,var(--now-color_alert--critical-4,120,36,32))));border-color:RGB(var(--now-button--primary-negative--border-color--hover,var(--now-actionable--primary-negative--border-color--hover,var(--now-color_alert--critical-4,120,36,32))));color:RGB(var(--now-button--primary-negative--color--hover,var(--now-actionable_label--primary-negative--color--hover,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary.-negative:not(.is-disabled):hover .now-button-icon{color:RGB(var(--now-button_icon--primary-negative--color--hover,var(--now-actionable_icon--primary-negative--color--hover,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary.-negative:not(.is-disabled).is-active,.now-button.-primary.-negative:not(.is-disabled):active{border-color:RGB(var(--now-button--primary-negative--border-color--active,var(--now-actionable--primary-negative--border-color--active,var(--now-color_alert--critical-5,80,24,22))));color:RGB(var(--now-button--primary-negative--color--active,var(--now-actionable_label--primary-negative--color--active,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary.-negative:not(.is-disabled).is-active .now-button-icon,.now-button.-primary.-negative:not(.is-disabled):active .now-button-icon{color:RGB(var(--now-button_icon--primary-negative--color--active,var(--now-actionable_icon--primary-negative--color--active,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-button.-primary.-negative:not(.is-disabled) .now-ripple,.now-button.-primary.-negative:not(.is-disabled).is-active,.now-button.-primary.-negative:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button--primary-negative--background-color--active,var(--now-actionable--primary-negative--background-color--active,var(--now-color_alert--critical-5,80,24,22))))}.now-button.-primary.-negative.is-disabled{opacity:var(--now-button--primary-negative--opacity--disabled,var(--now-actionable--primary-negative--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-button.-primary.-ai{--now-button--ai--gradient-start:RGB(var(--now-actionable--primary-ai--background-color-gradient--start,var(--now-color--secondary-brand-10,134,246,115)));--now-button--ai--gradient-end:RGB(var(--now-actionable--primary-ai--background-color-gradient--end,var(--now-color--supplementary1-brand-10,113,213,254)));background:linear-gradient(135deg,var(--now-button--ai--gradient-start) 5%,var(--now-button--ai--gradient-end) 95%);border-color:RGB(var(--now-actionable--primary-ai--border-color,var(--now-color--secondary-brand-10,134,246,115)));border-radius:var(--now-actionable--primary-ai--border-radius,var(--now-actionable--contained_brand--border-radius,var(--now-actionable--border-radius,0)));border-width:var(--now-actionable--primary-ai--border-width,var(--now-actionable--contained_brand--border-width,0));color:RGB(var(--now-actionable_label--primary-ai--color,var(--now-color--primary-brand-16,0,79,101)))}.now-button.-primary.-ai .now-button-icon{color:RGB(var(--now-actionable_icon--primary-ai--color,var(--now-actionable_label--primary-ai--color,var(--now-color--primary-brand-16,0,79,101))))}.now-button.-primary.-ai:not(.is-disabled):hover{--now-button--ai--gradient-start:RGB(var(--now-actionable--primary-ai--background-color--hover,var(--now-color--secondary-brand-10,134,246,115)));--now-button--ai--gradient-end:RGB(var(--now-actionable--primary-ai--background-color--hover,var(--now-color--secondary-brand-10,134,246,115)));background:linear-gradient(135deg,var(--now-button--ai--gradient-start) 5%,var(--now-button--ai--gradient-end) 95%);border-color:RGB(var(--now-actionable--primary-ai--border-color--hover,var(--now-color--secondary-brand-10,134,246,115)));color:RGB(var(--now-actionable_label--primary-ai--color--hover,var(--now-color--primary-brand-17,0,72,91)))}.now-button.-primary.-ai:not(.is-disabled):hover .now-button-icon{color:RGB(var(--now-actionable_icon--primary-ai--color--hover,var(--now-actionable_label--primary-ai--color--hover,var(--now-color--primary-brand-17,0,72,91))))}.now-button.-primary.-ai:not(.is-disabled).is-active,.now-button.-primary.-ai:not(.is-disabled):active{--now-button--ai--gradient-start:RGB(var(--now-actionable--primary-ai--background-color--active,var(--now-color--secondary-brand-11,125,229,107)));--now-button--ai--gradient-end:RGB(var(--now-actionable--primary-ai--background-color--active,var(--now-color--secondary-brand-11,125,229,107)));background:linear-gradient(135deg,var(--now-button--ai--gradient-start) 5%,var(--now-button--ai--gradient-end) 95%);border-color:RGB(var(--now-actionable--primary-ai--border-color--active,var(--now-color--secondary-brand-11,125,229,107)));color:RGB(var(--now-actionable_label--primary-ai--color--active,var(--now-color--primary-brand-18,0,64,82)))}.now-button.-primary.-ai:not(.is-disabled).is-active .now-button-icon,.now-button.-primary.-ai:not(.is-disabled):active .now-button-icon{color:RGB(var(--now-actionable_icon--primary-ai--color--active,var(--now-actionable_label--primary-ai--color--active,var(--now-color--primary-brand-18,0,64,82))))}.now-button.-primary.-ai:not(.is-disabled) .now-ripple,.now-button.-primary.-ai:not(.is-disabled).is-active,.now-button.-primary.-ai:not(.is-disabled):active:not(.has-ripple){--now-button--ai--gradient-start:RGB(var(--now-actionable--primary-ai--background-color--active,var(--now-color--secondary-brand-11,125,229,107)));--now-button--ai--gradient-end:RGB(var(--now-actionable--primary-ai--background-color--active,var(--now-color--secondary-brand-11,125,229,107)));background:linear-gradient(135deg,var(--now-button--ai--gradient-start) 5%,var(--now-button--ai--gradient-end) 95%)}.now-button.-primary.-ai.is-disabled{opacity:var(--now-actionable--primary-ai--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))}.now-button.-secondary{background-color:RGB(var(--now-button--secondary--background-color,var(--now-actionable--secondary--background-color,var(--now-color--secondary-1,1,119,142))),var(--now-button--secondary--background-color-alpha,var(--now-actionable--background-color-alpha,0)));border-color:RGB(var(--now-button--secondary--border-color,var(--now-actionable--secondary--border-color,var(--now-color--secondary-1,1,119,142))));border-end-end-radius:var(--now-button--secondary--border-end-end-radius,var(--now-actionable--secondary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,0))));border-end-start-radius:var(--now-button--secondary--border-end-start-radius,var(--now-actionable--secondary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,0))));border-start-end-radius:var(--now-button--secondary--border-start-end-radius,var(--now-actionable--secondary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,0))));border-start-start-radius:var(--now-button--secondary--border-start-start-radius,var(--now-actionable--secondary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,0))));border-width:var(--now-button--secondary--border-width,var(--now-actionable--secondary--border-width,var(--now-actionable--contained--border-width,var(--now-actionable--border-width,1px))));color:RGB(var(--now-button--secondary--color,var(--now-actionable_label--secondary--color,var(--now-color--secondary-1,1,119,142))))}.now-button.-secondary .now-button-icon{color:RGB(var(--now-button_icon--secondary--color,var(--now-actionable_icon--secondary--color,var(--now-color--secondary-1,1,119,142))))}.now-button.-secondary:not(.is-disabled):hover{background-color:RGB(var(--now-button--secondary--background-color--hover,var(--now-actionable--secondary--background-color--hover,var(--now-color--secondary-1,1,119,142))),var(--now-button--secondary--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button--secondary--border-color--hover,var(--now-actionable--secondary--border-color--hover,var(--now-color--secondary-2,1,89,107))));color:RGB(var(--now-button--secondary--color--hover,var(--now-actionable_label--secondary--color--hover,var(--now-color--secondary-2,1,89,107))))}.now-button.-secondary:not(.is-disabled):hover .now-button-icon{color:RGB(var(--now-button_icon--secondary--color--hover,var(--now-actionable_icon--secondary--color--hover,var(--now-color--secondary-2,1,89,107))))}.now-button.-secondary:not(.is-disabled).is-active,.now-button.-secondary:not(.is-disabled):active{border-color:RGB(var(--now-button--secondary--border-color--active,var(--now-actionable--secondary--border-color--active,var(--now-color--secondary-3,1,60,71))));color:RGB(var(--now-button--secondary--color--active,var(--now-actionable_label--secondary--color--active,var(--now-color--secondary-3,1,60,71))))}.now-button.-secondary:not(.is-disabled).is-active .now-button-icon,.now-button.-secondary:not(.is-disabled):active .now-button-icon{color:RGB(var(--now-button_icon--secondary--color--active,var(--now-actionable_icon--secondary--color--active,var(--now-color--secondary-3,1,60,71))))}.now-button.-secondary:not(.is-disabled) .now-ripple,.now-button.-secondary:not(.is-disabled).is-active,.now-button.-secondary:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button--secondary--background-color--active,var(--now-actionable--secondary--background-color--active,var(--now-color--secondary-1,1,119,142))),var(--now-button--secondary--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button.-secondary.is-disabled{opacity:var(--now-button--secondary--opacity--disabled,var(--now-actionable--secondary--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-button.-secondary.-positive{background-color:RGB(var(--now-button--secondary-positive--background-color,var(--now-actionable--secondary-positive--background-color,var(--now-color_alert--positive-3,30,105,34))),var(--now-button--secondary-positive--background-color-alpha,var(--now-actionable--background-color-alpha,0)));border-color:RGB(var(--now-button--secondary-positive--border-color,var(--now-actionable--secondary-positive--border-color,var(--now-color_alert--positive-3,30,105,34))));border-end-end-radius:var(--now-button--secondary-positive--border-end-end-radius,var(--now-actionable--secondary-positive--border-radius,var(--now-actionable--secondary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,0)))));border-end-start-radius:var(--now-button--secondary-positive--border-end-start-radius,var(--now-actionable--secondary-positive--border-radius,var(--now-actionable--secondary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,0)))));border-start-end-radius:var(--now-button--secondary-positive--border-start-end-radius,var(--now-actionable--secondary-positive--border-radius,var(--now-actionable--secondary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,0)))));border-start-start-radius:var(--now-button--secondary-positive--border-start-start-radius,var(--now-actionable--secondary-positive--border-radius,var(--now-actionable--secondary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,0)))));border-width:var(--now-button--secondary-positive--border-width,var(--now-actionable--secondary-positive--border-width,var(--now-actionable--secondary--border-width,var(--now-actionable--contained--border-width,var(--now-actionable--border-width,1px)))));color:RGB(var(--now-button--secondary-positive--color,var(--now-actionable_label--secondary-positive--color,var(--now-color_alert--positive-3,30,105,34))))}.now-button.-secondary.-positive .now-button-icon{color:RGB(var(--now-button_icon--secondary-positive--color,var(--now-actionable_icon--secondary-positive--color,var(--now-color_alert--positive-3,30,105,34))))}.now-button.-secondary.-positive:not(.is-disabled):hover{background-color:RGB(var(--now-button--secondary-positive--background-color--hover,var(--now-actionable--secondary-positive--background-color--hover,var(--now-color_alert--positive-3,30,105,34))),var(--now-button--secondary-positive--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button--secondary-positive--border-color--hover,var(--now-actionable--secondary-positive--border-color--hover,var(--now-color_alert--positive-4,22,79,26))));color:RGB(var(--now-button--secondary-positive--color--hover,var(--now-actionable_label--secondary-positive--color--hover,var(--now-color_alert--positive-4,22,79,26))))}.now-button.-secondary.-positive:not(.is-disabled):hover .now-button-icon{color:RGB(var(--now-button_icon--secondary-positive--color--hover,var(--now-actionable_icon--secondary-positive--color--hover,var(--now-color_alert--positive-4,22,79,26))))}.now-button.-secondary.-positive:not(.is-disabled).is-active,.now-button.-secondary.-positive:not(.is-disabled):active{border-color:RGB(var(--now-button--secondary-positive--border-color--active,var(--now-actionable--secondary-positive--border-color--active,var(--now-color_alert--positive-5,15,52,17))));color:RGB(var(--now-button--secondary-positive--color--active,var(--now-actionable_label--secondary-positive--color--active,var(--now-color_alert--positive-5,15,52,17))))}.now-button.-secondary.-positive:not(.is-disabled).is-active .now-button-icon,.now-button.-secondary.-positive:not(.is-disabled):active .now-button-icon{color:RGB(var(--now-button_icon--secondary-positive--color--active,var(--now-actionable_icon--secondary-positive--color--active,var(--now-color_alert--positive-5,15,52,17))))}.now-button.-secondary.-positive:not(.is-disabled) .now-ripple,.now-button.-secondary.-positive:not(.is-disabled).is-active,.now-button.-secondary.-positive:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button--secondary-positive--background-color--active,var(--now-actionable--secondary-positive--background-color--active,var(--now-color_alert--positive-3,30,105,34))),var(--now-button--secondary-positive--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button.-secondary.-positive.is-disabled{opacity:var(--now-button--secondary-positive--opacity--disabled,var(--now-actionable--secondary-positive--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-button.-secondary.-negative{background-color:RGB(var(--now-button--secondary-negative--background-color,var(--now-actionable--secondary-negative--background-color,var(--now-color_alert--critical-0,241,206,205))),var(--now-button--secondary-negative--background-color-alpha,var(--now-actionable--background-color-alpha,0)));border-color:RGB(var(--now-button--secondary-negative--border-color,var(--now-actionable--secondary-negative--border-color,var(--now-color_alert--critical-3,160,48,43))));border-end-end-radius:var(--now-button--secondary-negative--border-end-end-radius,var(--now-actionable--secondary-negative--border-radius,var(--now-actionable--secondary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,0)))));border-end-start-radius:var(--now-button--secondary-negative--border-end-start-radius,var(--now-actionable--secondary-negative--border-radius,var(--now-actionable--secondary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,0)))));border-start-end-radius:var(--now-button--secondary-negative--border-start-end-radius,var(--now-actionable--secondary-negative--border-radius,var(--now-actionable--secondary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,0)))));border-start-start-radius:var(--now-button--secondary-negative--border-start-start-radius,var(--now-actionable--secondary-negative--border-radius,var(--now-actionable--secondary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,0)))));border-width:var(--now-button--secondary-negative--border-width,var(--now-actionable--secondary-negative--border-width,var(--now-actionable--secondary--border-width,var(--now-actionable--contained--border-width,var(--now-actionable--border-width,1px)))));color:RGB(var(--now-button--secondary-negative--color,var(--now-actionable_label--secondary-negative--color,var(--now-color_alert--critical-3,160,48,43))))}.now-button.-secondary.-negative .now-button-icon{color:RGB(var(--now-button_icon--secondary-negative--color,var(--now-actionable_icon--secondary-negative--color,var(--now-color_alert--critical-3,160,48,43))))}.now-button.-secondary.-negative:not(.is-disabled):hover{background-color:RGB(var(--now-button--secondary-negative--background-color--hover,var(--now-actionable--secondary-negative--background-color--hover,var(--now-color_alert--critical-3,160,48,43))),var(--now-button--secondary-negative--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button--secondary-negative--border-color--hover,var(--now-actionable--secondary-negative--border-color--hover,var(--now-color_alert--critical-4,120,36,32))));color:RGB(var(--now-button--secondary-negative--color--hover,var(--now-actionable_label--secondary-negative--color--hover,var(--now-color_alert--critical-4,120,36,32))))}.now-button.-secondary.-negative:not(.is-disabled):hover .now-button-icon{color:RGB(var(--now-button_icon--secondary-negative--color--hover,var(--now-actionable_icon--secondary-negative--color--hover,var(--now-color_alert--critical-4,120,36,32))))}.now-button.-secondary.-negative:not(.is-disabled).is-active,.now-button.-secondary.-negative:not(.is-disabled):active{border-color:RGB(var(--now-button--secondary-negative--border-color--active,var(--now-actionable--secondary-negative--border-color--active,var(--now-color_alert--critical-5,80,24,22))));color:RGB(var(--now-button--secondary-negative--color--active,var(--now-actionable_label--secondary-negative--color--active,var(--now-color_alert--critical-5,80,24,22))))}.now-button.-secondary.-negative:not(.is-disabled).is-active .now-button-icon,.now-button.-secondary.-negative:not(.is-disabled):active .now-button-icon{color:RGB(var(--now-button_icon--secondary-negative--color--active,var(--now-actionable_icon--secondary-negative--color--active,var(--now-color_alert--critical-5,80,24,22))))}.now-button.-secondary.-negative:not(.is-disabled) .now-ripple,.now-button.-secondary.-negative:not(.is-disabled).is-active,.now-button.-secondary.-negative:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button--secondary-negative--background-color--active,var(--now-actionable--secondary-negative--background-color--active,var(--now-color_alert--critical-3,160,48,43))),var(--now-button--secondary-negative--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button.-secondary.-negative.is-disabled{opacity:var(--now-button--secondary-negative--opacity--disabled,var(--now-actionable--secondary-negative--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-button.-secondary.-ai{--now-button--ai--gradient-start:RGB(var(--now-actionable--secondary-ai--background-color-gradient--start,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--secondary-ai--background-color-alpha,var(--now-opacity--less,0.25)));--now-button--ai--gradient-end:RGB(var(--now-actionable--secondary-ai--background-color-gradient--end,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--secondary-ai--background-color-alpha,var(--now-opacity--less,0.25)));background:linear-gradient(135deg,var(--now-button--ai--gradient-start) 5%,var(--now-button--ai--gradient-end) 95%);border-color:RGB(var(--now-actionable--secondary-ai--border-color,var(--now-color--secondary-brand-11,125,229,107)));border-radius:var(--now-actionable--secondary-ai--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,0)));border-width:var(--now-actionable--secondary-ai--border-width,var(--now-actionable--contained--border-width,var(--now-actionable--border-width,1px)));color:RGB(var(--now-actionable_label--secondary-ai--color,var(--now-color--primary-brand-12,0,111,142)))}.now-button.-secondary.-ai .now-button-icon{color:RGB(var(--now-actionable_icon--secondary-ai--color,var(--now-actionable_label--secondary-ai--color,var(--now-color--primary-brand-12,0,111,142))))}.now-button.-secondary.-ai:not(.is-disabled):hover{--now-button--ai--gradient-start:RGB(var(--now-actionable--secondary-ai--background-color-gradient--start_hover,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--secondary-ai--background-color-alpha--hover,var(--now-opacity--mid,0.5)));--now-button--ai--gradient-end:RGB(var(--now-actionable--secondary-ai--background-color-gradient--end_hover,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--secondary-ai--background-color-alpha--hover,var(--now-opacity--mid,0.5)));background:linear-gradient(135deg,var(--now-button--ai--gradient-start) 5%,var(--now-button--ai--gradient-end) 95%);border-color:RGB(var(--now-actionable--secondary-ai--border-color--hover,var(--now-color--secondary-brand-12,114,209,98)));color:RGB(var(--now-actionable_label--secondary-ai--color--hover,var(--now-color--primary-brand-13,0,104,132)))}.now-button.-secondary.-ai:not(.is-disabled):hover .now-button-icon{color:RGB(var(--now-actionable_icon--secondary-ai--color--hover,var(--now-actionable_label--secondary-ai--color--hover,var(--now-color--primary-brand-13,0,104,132))))}.now-button.-secondary.-ai:not(.is-disabled).is-active,.now-button.-secondary.-ai:not(.is-disabled):active{--now-button--ai--gradient-start:RGB(var(--now-actionable--secondary-ai--background-color-gradient--start_active,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--secondary-ai--background-color-alpha--active,var(--now-opacity--more,0.65)));--now-button--ai--gradient-end:RGB(var(--now-actionable--secondary-ai--background-color-gradient--end_active,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--secondary-ai--background-color-alpha--active,var(--now-opacity--more,0.65)));background:linear-gradient(135deg,var(--now-button--ai--gradient-start) 5%,var(--now-button--ai--gradient-end) 95%);border-color:RGB(var(--now-actionable--secondary-ai--border-color--active,var(--now-color--secondary-brand-13,105,192,90)));color:RGB(var(--now-actionable_label--secondary-ai--color--active,var(--now-color--primary-brand-14,0,96,122)))}.now-button.-secondary.-ai:not(.is-disabled).is-active .now-button-icon,.now-button.-secondary.-ai:not(.is-disabled):active .now-button-icon{color:RGB(var(--now-actionable_icon--secondary-ai--color--active,var(--now-actionable_label--secondary-ai--color--active,var(--now-color--primary-brand-14,0,96,122))))}.now-button.-secondary.-ai:not(.is-disabled) .now-ripple,.now-button.-secondary.-ai:not(.is-disabled).is-active,.now-button.-secondary.-ai:not(.is-disabled):active:not(.has-ripple){--now-button--ai--gradient-start:RGB(var(--now-actionable--secondary-ai--background-color-gradient--start_active,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--secondary-ai--background-color-alpha--active,var(--now-opacity--more,0.65)));--now-button--ai--gradient-end:RGB(var(--now-actionable--secondary-ai--background-color-gradient--end_active,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--secondary-ai--background-color-alpha--active,var(--now-opacity--more,0.65)));background:linear-gradient(135deg,var(--now-button--ai--gradient-start) 5%,var(--now-button--ai--gradient-end) 95%)}.now-button.-secondary.-ai.is-disabled{opacity:var(--now-actionable--secondary-ai--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))}.now-button.-tertiary{background-color:RGB(var(--now-button--tertiary--background-color,var(--now-actionable--tertiary--background-color,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55)))),var(--now-button--tertiary--background-color-alpha,var(--now-actionable--background-color-alpha,0)));border-color:RGB(var(--now-button--tertiary--border-color,var(--now-actionable--tertiary--border-color,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))),var(--now-button--tertiary--border-color-alpha,1));border-end-end-radius:var(--now-button--tertiary--border-end-end-radius,var(--now-actionable--tertiary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,0))));border-end-start-radius:var(--now-button--tertiary--border-end-start-radius,var(--now-actionable--tertiary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,0))));border-start-end-radius:var(--now-button--tertiary--border-start-end-radius,var(--now-actionable--tertiary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,0))));border-start-start-radius:var(--now-button--tertiary--border-start-start-radius,var(--now-actionable--tertiary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,0))));border-width:var(--now-button--tertiary--border-width,var(--now-actionable--tertiary--border-width,var(--now-actionable--contained--border-width,var(--now-actionable--border-width,1px))));color:RGB(var(--now-button--tertiary--color,var(--now-actionable_label--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-button--tertiary--color-alpha,1))}.now-button.-tertiary .now-button-icon{color:RGB(var(--now-button_icon--tertiary--color,var(--now-actionable_icon--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-button.-tertiary:not(.is-disabled):hover{background-color:RGB(var(--now-button--tertiary--background-color--hover,var(--now-actionable--tertiary--background-color--hover,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55)))),var(--now-button--tertiary--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button--tertiary--border-color--hover,var(--now-actionable--tertiary--border-color--hover,var(--now-color_border--secondary-actionable,var(--now-color--neutral-15,44,53,55)))),var(--now-button--tertiary--border-color-alpha--hover,1));color:RGB(var(--now-button--tertiary--color--hover,var(--now-actionable_label--tertiary--color--hover,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))),var(--now-button--tertiary--color-alpha--hover,1))}.now-button.-tertiary:not(.is-disabled):hover .now-button-icon{color:RGB(var(--now-button_icon--tertiary--color--hover,var(--now-actionable_icon--tertiary--color--hover,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.now-button.-tertiary:not(.is-disabled).is-active,.now-button.-tertiary:not(.is-disabled):active{border-color:RGB(var(--now-button--tertiary--border-color--active,var(--now-actionable--tertiary--border-color--active,var(--now-color_border--primary-actionable,var(--now-color--neutral-18,22,27,28)))),var(--now-button--tertiary--border-color-alpha--active,1));color:RGB(var(--now-button--tertiary--color--active,var(--now-actionable_label--tertiary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button--tertiary--color-alpha--active,1))}.now-button.-tertiary:not(.is-disabled).is-active .now-button-icon,.now-button.-tertiary:not(.is-disabled):active .now-button-icon{color:RGB(var(--now-button_icon--tertiary--color--active,var(--now-actionable_icon--tertiary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button.-tertiary:not(.is-disabled) .now-ripple,.now-button.-tertiary:not(.is-disabled).is-active,.now-button.-tertiary:not(.is-disabled):active:not(.has-ripple){background-color:RGB(var(--now-button--tertiary--background-color--active,var(--now-actionable--tertiary--background-color--active,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55)))),var(--now-button--tertiary--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button.-tertiary.is-disabled{opacity:var(--now-button--tertiary--opacity--disabled,var(--now-actionable--tertiary--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-button.-tertiary.-ai{--now-button--ai--gradient-start:RGB(var(--now-actionable--tertiary-ai--background-color-gradient--start,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--tertiary-ai--background-color-alpha,var(--now-opacity--least,0.1)));--now-button--ai--gradient-end:RGB(var(--now-actionable--tertiary-ai--background-color-gradient--end,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--tertiary-ai--background-color-alpha,var(--now-opacity--least,0.1)));background:linear-gradient(135deg,var(--now-button--ai--gradient-start) 5%,var(--now-button--ai--gradient-end) 95%);border-color:RGB(var(--now-actionable--tertiary-ai--border-color,var(--now-color--secondary-brand-11,125,229,107)));border-radius:var(--now-actionable--tertiary-ai--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,0)));border-width:var(--now-actionable--tertiary-ai--border-width,var(--now-actionable--contained--border-width,var(--now-actionable--border-width,1px)));color:RGB(var(--now-actionable_label--tertiary-ai--color,var(--now-color--primary-brand-12,0,111,142)))}.now-button.-tertiary.-ai .now-button-icon{color:RGB(var(--now-actionable_icon--tertiary-ai--color,var(--now-actionable_label--tertiary-ai--color,var(--now-color--primary-brand-12,0,111,142))))}.now-button.-tertiary.-ai:not(.is-disabled):hover{--now-button--ai--gradient-start:RGB(var(--now-actionable--tertiary-ai--background-color-gradient--start_hover,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--tertiary-ai--background-color-alpha--hover,var(--now-opacity--mid,0.5)));--now-button--ai--gradient-end:RGB(var(--now-actionable--tertiary-ai--background-color-gradient--end_hover,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--tertiary-ai--background-color-alpha--hover,var(--now-opacity--mid,0.5)));background:linear-gradient(135deg,var(--now-button--ai--gradient-start) 5%,var(--now-button--ai--gradient-end) 95%);border-color:RGB(var(--now-actionable--tertiary-ai--border-color--hover,var(--now-color--secondary-brand-12,114,209,98)));color:RGB(var(--now-actionable_label--tertiary-ai--color--hover,var(--now-color--primary-brand-13,0,104,132)))}.now-button.-tertiary.-ai:not(.is-disabled):hover .now-button-icon{color:RGB(var(--now-actionable_icon--tertiary-ai--color--hover,var(--now-actionable_label--tertiary-ai--color--hover,var(--now-color--primary-brand-13,0,104,132))))}.now-button.-tertiary.-ai:not(.is-disabled).is-active,.now-button.-tertiary.-ai:not(.is-disabled):active{--now-button--ai--gradient-start:RGB(var(--now-actionable--tertiary-ai--background-color-gradient--start_active,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--tertiary-ai--background-color-alpha--active,var(--now-opacity--more,0.65)));--now-button--ai--gradient-end:RGB(var(--now-actionable--tertiary-ai--background-color-gradient--end_active,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--tertiary-ai--background-color-alpha--active,var(--now-opacity--more,0.65)));background:linear-gradient(135deg,var(--now-button--ai--gradient-start) 5%,var(--now-button--ai--gradient-end) 95%);border-color:RGB(var(--now-actionable--tertiary-ai--border-color--active,var(--now-color--secondary-brand-13,105,192,90)));color:RGB(var(--now-actionable_label--tertiary-ai--color--active,var(--now-color--primary-brand-14,0,96,122)))}.now-button.-tertiary.-ai:not(.is-disabled).is-active .now-button-icon,.now-button.-tertiary.-ai:not(.is-disabled):active .now-button-icon{color:RGB(var(--now-actionable_icon--tertiary-ai--color--active,var(--now-actionable_label--tertiary-ai--color--active,var(--now-color--primary-brand-14,0,96,122))))}.now-button.-tertiary.-ai:not(.is-disabled) .now-ripple,.now-button.-tertiary.-ai:not(.is-disabled).is-active,.now-button.-tertiary.-ai:not(.is-disabled):active:not(.has-ripple){--now-button--ai--gradient-start:RGB(var(--now-actionable--tertiary-ai--background-color-gradient--start_active,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--tertiary-ai--background-color-alpha--active,var(--now-opacity--more,0.65)));--now-button--ai--gradient-end:RGB(var(--now-actionable--tertiary-ai--background-color-gradient--end_active,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--tertiary-ai--background-color-alpha--active,var(--now-opacity--more,0.65)));background:linear-gradient(135deg,var(--now-button--ai--gradient-start) 5%,var(--now-button--ai--gradient-end) 95%)}.now-button.-tertiary.-ai.is-disabled{opacity:var(--now-actionable--tertiary-ai--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))}.now-button.is-disabled{cursor:not-allowed;opacity:var(--now-button--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))}.now-button.is-disabled:hover{box-shadow:none}.now-button.is-disabled:focus-visible::-moz-focus-inner{border-style:none}.now-button.is-disabled:focus-visible:focus-visible{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.now-button.is-disabled:focus-visible:focus-visible{outline:1px solid highlight}}.now-button.is-bare,.now-button.is-bare.is-active,.now-button.is-bare:active,.now-button.is-bare:hover{background-color:transparent;border-color:transparent;border-width:0}.now-button.is-bare::-moz-focus-inner{border-style:none}.now-button.is-bare:focus-visible{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)));outline:none}@media(forced-colors:active){.now-button.is-bare:focus-visible{outline:1px solid highlight}}.now-button.is-bare.only-icon:hover{background-color:RGB(var(--now-color--neutral-9,99,114,116),.1)}.now-button.is-bare.only-icon .now-ripple,.now-button.is-bare.only-icon.is-active,.now-button.is-bare.only-icon:active:not(.has-ripple){background-color:RGB(var(--now-color--neutral-9,99,114,116),.35)}.now-button.is-bare.-inherit,.now-button.is-bare.-inherit.is-active,.now-button.is-bare.-inherit:active,.now-button.is-bare.-inherit:hover{color:inherit}.now-button.is-bare.-primary{color:RGB(var(--now-button--bare_primary--color,var(--now-actionable_label--primary_bare--color,var(--now-color--primary-2,23,100,82))))}.now-button.is-bare.-primary:not(.is-disabled):hover{background-color:RGBA(var(--now-button--bare_primary--background-color--hover,var(--now-actionable--primary_bare--background-color--hover,var(--now-color--primary-1,30,133,109))),var(--now-button--bare_primary--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));color:RGB(var(--now-button--bare_primary--color--hover,var(--now-actionable_label--primary_bare--color--hover,var(--now-color--primary-3,15,67,55))))}.now-button.is-bare.-primary:not(.is-disabled).is-active,.now-button.is-bare.-primary:not(.is-disabled):active{color:RGB(var(--now-button--bare_primary--color--active,var(--now-actionable_label--primary_bare--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-button.is-bare.-primary:not(.is-disabled) .now-ripple,.now-button.is-bare.-primary:not(.is-disabled):active:not(.has-ripple){background-color:RGBA(var(--now-button--bare_primary--background-color--active,var(--now-actionable--primary_bare--background-color--active,var(--now-color--primary-1,30,133,109))),var(--now-button--bare_primary--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button.is-bare.-secondary{color:RGB(var(--now-button--bare_secondary--color,var(--now-actionable_label--secondary_bare--color,var(--now-actionable_label--secondary--color,var(--now-color--secondary-1,1,119,142)))))}.now-button.is-bare.-secondary:not(.is-disabled):hover{background-color:RGBA(var(--now-button--bare_secondary--background-color--hover,var(--now-actionable--secondary_bare--background-color--hover,var(--now-actionable--secondary--background-color--hover,var(--now-color--secondary-1,1,119,142)))),var(--now-button--bare_secondary--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));color:RGB(var(--now-button--bare_secondary--color--hover,var(--now-actionable_label--secondary_bare--color--hover,var(--now-actionable_label--secondary--color--hover,var(--now-color--secondary-2,1,89,107)))))}.now-button.is-bare.-secondary:not(.is-disabled).is-active,.now-button.is-bare.-secondary:not(.is-disabled):active{color:RGB(var(--now-button--bare_secondary--color--active,var(--now-actionable_label--secondary_bare--color--active,var(--now-actionable_label--secondary--color--active,var(--now-color--secondary-3,1,60,71)))))}.now-button.is-bare.-secondary:not(.is-disabled) .now-ripple,.now-button.is-bare.-secondary:not(.is-disabled):active:not(.has-ripple){background-color:RGBA(var(--now-button--bare_secondary--background-color--active,var(--now-actionable--secondary_bare--background-color--active,var(--now-actionable--secondary--background-color--active,var(--now-color--secondary-1,1,119,142)))),var(--now-button--bare_secondary--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button.is-bare.-tertiary{color:RGB(var(--now-button--bare_tertiary--color,var(--now-actionable_label--tertiary_bare--color,var(--now-actionable_label--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))))}.now-button.is-bare.-tertiary:not(.is-disabled):hover{background-color:RGBA(var(--now-button--bare_tertiary--background-color--hover,var(--now-actionable--tertiary_bare--background-color--hover,var(--now-actionable--tertiary--background-color--hover,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55))))),var(--now-button--bare_tertiary--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));color:RGB(var(--now-button--bare_tertiary--color--hover,var(--now-actionable_label--tertiary_bare--color--hover,var(--now-actionable_label--tertiary--color--hover,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))))))}.now-button.is-bare.-tertiary:not(.is-disabled).is-active,.now-button.is-bare.-tertiary:not(.is-disabled):active{color:RGB(var(--now-button--bare_tertiary--color--active,var(--now-actionable_label--tertiary_bare--color--active,var(--now-actionable_label--tertiary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-button.is-bare.-tertiary:not(.is-disabled) .now-ripple,.now-button.is-bare.-tertiary:not(.is-disabled):active:not(.has-ripple){background-color:RGBA(var(--now-button--bare_tertiary--background-color--active,var(--now-actionable--tertiary_bare--background-color--active,var(--now-actionable--tertiary--background-color--active,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55))))),var(--now-button--bare_tertiary--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))))}.now-button.is-bare.is-disabled,.now-button.is-bare.is-disabled:hover{background-color:transparent;border-color:transparent}.now-button.only-icon{padding-inline:0}.now-button.only-icon.-sm{inline-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2)}.now-button.only-icon.-md{inline-size:calc(1rem + var(--now-button--scale-size, 1)*2rem/2)}.now-button.only-icon.-lg{inline-size:calc(1.5rem + var(--now-button--scale-size, 1)*3rem/2)}@media(forced-colors:active){.now-button,.now-button:focus-visible,.now-button:hover{transition:none}.now-button{background-color:buttonface!important;border-style:solid!important;border-width:1px!important;color:buttontext!important}.now-button now-icon,.now-button now-icon-animated{color:inherit!important}.now-button:focus-visible,.now-button:hover{background-color:highlighttext!important;border-color:highlight!important;color:highlight!important}.now-button.is-disabled,.now-button.is-disabled:hover{background-color:buttonface!important;border-color:graytext!important;color:graytext!important;opacity:1!important}.now-button .now-line-height-crop{forced-color-adjust:none}.now-button ::slotted(*){forced-color-adjust:none}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:block}.now-card-actions{display:flex}.now-card-actions-button{width:100%}.now-card-actions-button:not(:first-child){-webkit-margin-start:8px;margin-inline-start:8px}@media(forced-colors:active){:host{background-color:canvas!important;color:canvastext!important;padding:4px}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:block}.now-card-divider{-webkit-border-after:none;-webkit-border-start:none;-webkit-border-end:none;border-block-end:none;border-block-start-color:RGB(var(--now-card-divider--color,var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214))));border-block-start-style:solid;border-block-start-width:var(--now-card-divider--width,1px);border-inline-end:none;border-inline-start:none}.now-card-divider.-sm{-webkit-margin-before:4px;-webkit-margin-after:4px;margin-block-end:4px;margin-block-start:4px}.now-card-divider.-md{-webkit-margin-before:8px;-webkit-margin-after:8px;margin-block-end:8px;margin-block-start:8px}.now-card-divider.-lg{-webkit-margin-before:16px;-webkit-margin-after:16px;margin-block-end:16px;margin-block-start:16px}.now-card-divider.-none{-webkit-margin-before:0;-webkit-margin-after:0;margin-block-end:0;margin-block-start:0}.now-card-divider.-full-width{-webkit-margin-start:-16px;-webkit-margin-end:-16px;margin-inline-end:-16px;margin-inline-start:-16px}@media(forced-colors:active){.now-card-divider{border-block-start-width:1px}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{--now-line-height:0;display:block}.now-card-footer{align-items:center;display:flex}.now-card-footer ::slotted(*){display:inline-flex;max-width:100%}.now-card-footer-p{-webkit-margin-before:0;-webkit-margin-after:0;color:RGB(var(--now-card-footer--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))));font-family:var(--now-card-footer--font-family,var(--now-card--font-family,var(--now-container--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:12px;font-style:var(--now-card-footer--font-style,var(--now-card--font-style,var(--now-container--font-style,normal)));font-weight:var(--now-card-footer--font-weight,var(--now-card--font-weight,var(--now-container--font-weight,normal)));line-height:1.3333;margin-block-end:0;margin-block-start:0;min-width:0;text-transform:var(--now-card-footer--text-transform,var(--now-card--text-transform,var(--now-container--text-transform,none)))}.now-card-footer-p .now-line-height-crop{display:block}.now-card-footer-p .now-line-height-crop:after,.now-card-footer-p .now-line-height-crop:before{content:\\\"\\\";display:block;height:0}.now-card-footer-p .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-card-footer-p .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-card-footer-p .now-line-height-crop+.now-card-footer-p .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-card-footer-slot{min-width:0}.now-card-footer-slot.-half{flex-basis:50%}.now-card-footer-slot.-one-quarter{flex-basis:25%}.now-card-footer-slot.-three-quarter{flex-basis:75%}.now-card-footer-slot.-start{-webkit-margin-end:8px;margin-inline-end:8px}.now-card-footer-slot.-end{-webkit-margin-start:8px;margin-inline-start:8px}:host(:not([dir=rtl])) .now-card-footer-slot+.now-card-footer-slot,:root:not([dir=rtl]) .now-card-footer-slot+.now-card-footer-slot{text-align:right}:host([dir=rtl]) .now-card-footer-slot+.now-card-footer-slot,:root[dir=rtl] .now-card-footer-slot+.now-card-footer-slot{text-align:left}.now-card-footer-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(forced-colors:active){:host{background-color:canvas!important;color:canvastext!important;padding:4px}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-m-block--xs{-webkit-margin-before:4px;-webkit-margin-after:4px;margin-block-end:4px;margin-block-start:4px}.now-m-block-start--xs{-webkit-margin-before:4px;margin-block-start:4px}.now-m-block-end--xs{-webkit-margin-after:4px;margin-block-end:4px}.now-m-inline--xs{-webkit-margin-start:4px;-webkit-margin-end:4px;margin-inline-end:4px;margin-inline-start:4px}.now-m-inline-start--xs{-webkit-margin-start:4px;margin-inline-start:4px}.now-m-inline-end--xs{-webkit-margin-end:4px;margin-inline-end:4px}.now-m-block--sm{-webkit-margin-before:8px;-webkit-margin-after:8px;margin-block-end:8px;margin-block-start:8px}.now-m-block-start--sm{-webkit-margin-before:8px;margin-block-start:8px}.now-m-block-end--sm{-webkit-margin-after:8px;margin-block-end:8px}.now-m-inline--sm{-webkit-margin-start:8px;-webkit-margin-end:8px;margin-inline-end:8px;margin-inline-start:8px}.now-m-inline-start--sm{-webkit-margin-start:8px;margin-inline-start:8px}.now-m-inline-end--sm{-webkit-margin-end:8px;margin-inline-end:8px}:host{--now-line-height:0;display:block}.now-card-header{display:flex}.now-card-header.-block-center{align-items:center}.now-card-header-headings{flex-grow:1;min-width:0}.now-card-header-heading{-webkit-margin-before:0;-webkit-margin-after:0;line-height:1.25;margin-block-end:0;margin-block-start:0}.now-card-header-heading.-sm{font-family:var(--now-card-header_heading--title--font-family,var(--now-display-type--secondary--font-family,var(--now-display-type--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:16px;font-style:var(--now-card-header_heading--title--font-style,var(--now-display-type--secondary--font-style,var(--now-display-type--font-style,normal)));font-weight:var(--now-card-header_heading--title--font-weight,600);text-transform:var(--now-card-header_heading--title--text-transform,var(--now-display-type--secondary--text-transform,var(--now-display-type--text-transform,none)))}.now-card-header-heading.-sm .now-line-height-crop{display:block}.now-card-header-heading.-sm .now-line-height-crop:after,.now-card-header-heading.-sm .now-line-height-crop:before{content:\\\"\\\";display:block;height:0}.now-card-header-heading.-sm .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-card-header-heading.-sm .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-card-header-heading.-sm .now-line-height-crop+.now-card-header-heading.-sm .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-card-header-heading.-md{font-family:var(--now-card-header_heading--header--font-family,var(--now-display-type--primary--font-family,var(--now-display-type--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:20px;font-style:var(--now-card-header_heading--header--font-style,var(--now-display-type--primary--font-style,var(--now-display-type--font-style,normal)));font-weight:var(--now-card-header_heading--header--font-weight,600);text-transform:var(--now-card-header_heading--header--text-transform,var(--now-display-type--primary--text-transform,var(--now-display-type--text-transform,none)))}.now-card-header-heading.-md .now-line-height-crop{display:block}.now-card-header-heading.-md .now-line-height-crop:after,.now-card-header-heading.-md .now-line-height-crop:before{content:\\\"\\\";display:block;height:0}.now-card-header-heading.-md .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-display-type--line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-display-type--line-height-crop--before, -.25em)*1)}.now-card-header-heading.-md .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-display-type--line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-display-type--line-height-crop--after, -.125em)*1)}.now-card-header-heading.-md .now-line-height-crop+.now-card-header-heading.-md .now-line-height-crop{-webkit-margin-before:calc(var(--now-display-type--line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-display-type--line-height-crop--after, -.125em)*1*-1)}.now-card-header-heading.-lg{font-family:var(--now-card-header_heading--header--font-family,var(--now-display-type--primary--font-family,var(--now-display-type--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:24px;font-style:var(--now-card-header_heading--header--font-style,var(--now-display-type--primary--font-style,var(--now-display-type--font-style,normal)));font-weight:var(--now-card-header_heading--header--font-weight,600);text-transform:var(--now-card-header_heading--header--text-transform,var(--now-display-type--primary--text-transform,var(--now-display-type--text-transform,none)))}.now-card-header-heading.-lg .now-line-height-crop{display:block}.now-card-header-heading.-lg .now-line-height-crop:after,.now-card-header-heading.-lg .now-line-height-crop:before{content:\\\"\\\";display:block;height:0}.now-card-header-heading.-lg .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-display-type--line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-display-type--line-height-crop--before, -.25em)*1)}.now-card-header-heading.-lg .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-display-type--line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-display-type--line-height-crop--after, -.125em)*1)}.now-card-header-heading.-lg .now-line-height-crop+.now-card-header-heading.-lg .now-line-height-crop{-webkit-margin-before:calc(var(--now-display-type--line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-display-type--line-height-crop--after, -.125em)*1*-1)}.now-card-header-heading.-primary{color:RGB(var(--now-card-header_heading--primary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))))}.now-card-header-heading.-secondary{color:RGB(var(--now-card-header_heading--secondary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-card-header-heading.-tertiary{color:RGB(var(--now-card-header_heading--tertiary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))))}.now-card-header-heading+.now-card-header-caption{-webkit-margin-before:4px;margin-block-start:4px}.now-card-header-caption{-webkit-margin-before:0;-webkit-margin-after:0;color:RGB(var(--now-card-header_caption--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))));font-family:var(--now-card-header_caption--font-family,var(--now-card--font-family,var(--now-container--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-card-header_caption--font-style,var(--now-card--font-style,var(--now-container--font-style,normal)));font-weight:var(--now-card-header_caption--font-weight,var(--now-card--font-weight,var(--now-container--font-weight,normal)));margin-block-end:0;margin-block-start:0;text-transform:var(--now-card-header_caption--text-transform,var(--now-card--text-transform,var(--now-container--text-transform,none)))}.now-card-header-caption.-sm{font-size:12px;line-height:1.3333}.now-card-header-caption.-sm .now-line-height-crop{display:block}.now-card-header-caption.-sm .now-line-height-crop:after,.now-card-header-caption.-sm .now-line-height-crop:before{content:\\\"\\\";display:block;height:0}.now-card-header-caption.-sm .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-card-header-caption.-sm .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-card-header-caption.-sm .now-line-height-crop+.now-card-header-caption.-sm .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-card-header-caption.-md{font-size:16px;line-height:1.25}.now-card-header-caption.-md .now-line-height-crop{display:block}.now-card-header-caption.-md .now-line-height-crop:after,.now-card-header-caption.-md .now-line-height-crop:before{content:\\\"\\\";display:block;height:0}.now-card-header-caption.-md .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-card-header-caption.-md .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-card-header-caption.-md .now-line-height-crop+.now-card-header-caption.-md .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.show-one-line .now-card-header-caption-label,.show-one-line .now-card-header-heading-label{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.show-two-lines .now-card-header-caption-label,.show-two-lines .now-card-header-heading-label{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;height:2.5em;overflow:hidden}.now-card-tagline{align-items:center;display:flex}.now-card-tagline.-secondary{color:RGB(var(--now-card-header_tagline--secondary--color,var(--now-color--secondary-1,1,119,142)))}.now-card-tagline.-tertiary{color:RGB(var(--now-card-header_tagline--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.now-card-tagline .now-card-tagline-p{-webkit-margin-before:0;-webkit-margin-after:0;flex-grow:1;font-family:var(--now-card-header_tagline--font-family,var(--now-card--font-family,var(--now-container--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:12px;font-style:var(--now-card-header_tagline--font-style,var(--now-card--font-style,var(--now-container--font-style,normal)));font-weight:var(--now-card-header_tagline--font-weight,var(--now-card--font-weight,var(--now-container--font-weight,normal)));line-height:1.3333;margin-block-end:0;margin-block-start:0;min-width:0;text-transform:var(--now-card-header_tagline--text-transform,var(--now-card--text-transform,var(--now-container--text-transform,none)))}.now-card-tagline .now-line-height-crop{display:block}.now-card-tagline .now-line-height-crop:after,.now-card-tagline .now-line-height-crop:before{content:\\\"\\\";display:block;height:0}.now-card-tagline .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-card-tagline .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-card-tagline .now-line-height-crop+.now-card-tagline .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-card-tagline-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-card-header-actions.-sm{-webkit-margin-start:4px;margin-inline-start:4px}.now-card-header-actions.-md{-webkit-margin-start:8px;margin-inline-start:8px}.now-card-header-metadata ::slotted(*){-webkit-margin-start:16px;margin-inline-start:16px}.now-card-header-identifier ::slotted(now-icon){-webkit-margin-end:4px;margin-inline-end:4px}.now-card-header-identifier ::slotted(img),.now-card-header-identifier ::slotted(now-avatar){-webkit-margin-end:8px;margin-inline-end:8px}@media(forced-colors:active){:host{background-color:canvas!important;color:canvastext!important;padding:4px}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:block}.nowCardContainer{height:inherit;position:relative}.nowCardContainer:hover .now-card{background-color:RGBA(var(--now-card--background-color--hover,var(--now-card--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-card--background-color-alpha--hover,var(--now-card--background-color-alpha,0)));border-color:RGB(var(--now-card--border-color--hover,var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181))));box-shadow:0 4px 8px 0 RGBA(56,56,56,var(--now-opacity--less,.25))}.now-card{background-color:RGBA(var(--now-card--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-card--background-color-alpha,0));border-color:RGB(var(--now-card--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));border-radius:var(--now-card--border-radius,var(--now-container--border-radius,0));border-style:solid;border-width:var(--now-card--border-width,var(--now-container--border-width,1px));box-shadow:0 2px 4px 0 RGBA(56,56,56,var(--now-opacity--less,.25));height:inherit;overflow:hidden}.now-card.hide-shadow{box-shadow:none}.now-card.is-interactive{background-color:RGBA(var(--now-card--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-card--background-color-alpha,0));cursor:pointer;height:100%;left:0;outline:none;padding:0;position:absolute;top:0;width:100%}.now-card.is-interactive::-moz-focus-inner{border-style:none}.now-card.is-interactive:focus{box-shadow:0 0 0 2px RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),0 0 0 4px RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)))}.now-card.is-interactive.is-selected{background-color:RGBA(var(--now-card--background-color--selected,var(--now-card--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-card--background-color-alpha--selected,var(--now-card--background-color-alpha,0)));border-color:RGB(var(--now-card--border-color--selected,var(--now-color--primary-1,30,133,109)));box-shadow:inset 0 0 0 1px RGB(var(--now-card--border-color--selected,var(--now-color--primary-1,30,133,109))),0 2px 4px 0 RGBA(56,56,56,var(--now-opacity--less,.25))}.now-card.is-interactive.is-selected:focus{box-shadow:inset 0 0 0 1px RGB(var(--now-card--border-color--selected,var(--now-color--primary-1,30,133,109))),0 0 0 2px RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),0 0 0 4px RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),0 2px 4px 0 RGBA(56,56,56,var(--now-opacity--less,.25))}.now-card.is-interactive.is-pressed,.now-card.is-interactive:active{background-color:RGBA(var(--now-card--background-color--active,var(--now-card--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-card--background-color-alpha--active,var(--now-card--background-color-alpha,0)));border-color:RGB(var(--now-card--border-color--active,var(--now-color--primary-3,15,67,55)));box-shadow:none}.now-card.has-sidebar:after{bottom:0;content:\\\"\\\";position:absolute;top:0;width:4px}:host(:not([dir=rtl])) .now-card.has-sidebar:after,:root:not([dir=rtl]) .now-card.has-sidebar:after{left:0}:host([dir=rtl]) .now-card.has-sidebar:after,:root[dir=rtl] .now-card.has-sidebar:after{right:0}.now-card.has-sidebar.-critical.-primary:after{background-color:RGB(var(--now-card_sidebar--primary_critical--background-color,var(--now-color_alert--critical-2,200,60,54)))}.now-card.has-sidebar.-critical.-secondary:after{background-color:RGB(var(--now-card_sidebar--secondary_critical--background-color,var(--now-color_alert--critical-1,221,133,129)))}.now-card.has-sidebar.-critical.-tertiary:after{background-color:RGB(var(--now-card_sidebar--tertiary_critical--background-color,var(--now-color_alert--critical-0,241,206,205)))}.now-card.has-sidebar.-high.-primary:after{background-color:RGB(var(--now-card_sidebar--primary_high--background-color,var(--now-color_alert--high-4,133,87,20)))}.now-card.has-sidebar.-high.-secondary:after{background-color:RGB(var(--now-card_sidebar--secondary_high--background-color,var(--now-color_alert--high-1,234,186,117)))}.now-card.has-sidebar.-high.-tertiary:after{background-color:RGB(var(--now-card_sidebar--tertiary_high--background-color,var(--now-color_alert--high-0,247,228,200)))}.now-card.has-sidebar.-warning.-primary:after{background-color:RGB(var(--now-card_sidebar--primary_warning--background-color,var(--now-color_alert--warning-4,149,139,17)))}.now-card.has-sidebar.-warning.-secondary:after{background-color:RGB(var(--now-card_sidebar--secondary_warning--background-color,var(--now-color_alert--warning-1,227,218,96)))}.now-card.has-sidebar.-warning.-tertiary:after{background-color:RGB(var(--now-card_sidebar--tertiary_warning--background-color,var(--now-color_alert--warning-0,244,240,191)))}.now-card.has-sidebar.-moderate.-primary:after{background-color:RGB(var(--now-card_sidebar--primary_moderate--background-color,var(--now-color_alert--moderate-2,84,86,207)))}.now-card.has-sidebar.-moderate.-secondary:after{background-color:RGB(var(--now-card_sidebar--secondary_moderate--background-color,var(--now-color_alert--moderate-1,148,149,225)))}.now-card.has-sidebar.-moderate.-tertiary:after{background-color:RGB(var(--now-card_sidebar--tertiary_moderate--background-color,var(--now-color_alert--moderate-0,212,213,243)))}.now-card.has-sidebar.-positive.-primary:after{background-color:RGB(var(--now-card_sidebar--primary_positive--background-color,var(--now-color_alert--positive-2,37,131,43)))}.now-card.has-sidebar.-positive.-secondary:after{background-color:RGB(var(--now-card_sidebar--secondary_positive--background-color,var(--now-color_alert--positive-1,119,178,123)))}.now-card.has-sidebar.-positive.-tertiary:after{background-color:RGB(var(--now-card_sidebar--tertiary_positive--background-color,var(--now-color_alert--positive-0,201,224,202)))}.now-card.has-sidebar.-info.-primary:after{background-color:RGB(var(--now-card_sidebar--primary_info--background-color,var(--now-color_alert--info-2,14,120,196)))}.now-card.has-sidebar.-info.-secondary:after{background-color:RGB(var(--now-card_sidebar--secondary_info--background-color,var(--now-color_alert--info-1,104,171,218)))}.now-card.has-sidebar.-info.-tertiary:after{background-color:RGB(var(--now-card_sidebar--tertiary_info--background-color,var(--now-color_alert--info-0,195,221,240)))}.now-card.has-sidebar.-low.-primary:after{background-color:RGB(var(--now-card_sidebar--primary_low--background-color,var(--now-color_alert--low-2,102,102,102)))}.now-card.has-sidebar.-low.-secondary:after{background-color:RGB(var(--now-card_sidebar--secondary_low--background-color,var(--now-color_alert--low-1,159,159,159)))}.now-card.has-sidebar.-low.-tertiary:after{background-color:RGB(var(--now-card_sidebar--tertiary_low--background-color,var(--now-color_alert--low-0,217,217,217)))}.now-card.has-sidebar.-magenta.-primary:after{background-color:RGB(var(--now-color_grouped--magenta-4,142,85,135))}.now-card.has-sidebar.-magenta.-secondary:after{background-color:RGB(var(--now-color_grouped--magenta-1,221,168,215))}.now-card.has-sidebar.-magenta.-tertiary:after{background-color:RGB(var(--now-color_grouped--magenta-0,239,215,236))}.now-card.has-sidebar.-pink.-primary:after{background-color:RGB(var(--now-color_grouped--pink-4,142,85,100))}.now-card.has-sidebar.-pink.-secondary:after{background-color:RGB(var(--now-color_grouped--pink-1,221,168,182))}.now-card.has-sidebar.-pink.-tertiary:after{background-color:RGB(var(--now-color_grouped--pink-0,239,215,221))}.now-card.has-sidebar.-orange.-primary:after{background-color:RGB(var(--now-color_grouped--orange-4,151,90,74))}.now-card.has-sidebar.-orange.-secondary:after{background-color:RGB(var(--now-color_grouped--orange-1,229,173,158))}.now-card.has-sidebar.-orange.-tertiary:after{background-color:RGB(var(--now-color_grouped--orange-0,243,217,210))}.now-card.has-sidebar.-yellow.-primary:after{background-color:RGB(var(--now-color_grouped--yellow-4,168,145,71))}.now-card.has-sidebar.-yellow.-secondary:after{background-color:RGB(var(--now-color_grouped--yellow-1,245,224,155))}.now-card.has-sidebar.-yellow.-tertiary:after{background-color:RGB(var(--now-color_grouped--yellow-0,251,241,209))}.now-card.has-sidebar.-brown.-primary:after{background-color:RGB(var(--now-color_grouped--brown-4,109,97,83))}.now-card.has-sidebar.-brown.-secondary:after{background-color:RGB(var(--now-color_grouped--brown-1,191,179,167))}.now-card.has-sidebar.-brown.-tertiary:after{background-color:RGB(var(--now-color_grouped--brown-0,225,220,214))}.now-card.has-sidebar.-green.-primary:after{background-color:RGB(var(--now-color_grouped--green-4,103,119,88))}.now-card.has-sidebar.-green.-secondary:after{background-color:RGB(var(--now-color_grouped--green-1,185,200,171))}.now-card.has-sidebar.-green.-tertiary:after{background-color:RGB(var(--now-color_grouped--green-0,223,230,216))}.now-card.has-sidebar.-green-yellow.-primary:after{background-color:RGB(var(--now-color_grouped--green-yellow-4,108,121,66))}.now-card.has-sidebar.-green-yellow.-secondary:after{background-color:RGB(var(--now-color_grouped--green-yellow-1,189,202,150))}.now-card.has-sidebar.-green-yellow.-tertiary:after{background-color:RGB(var(--now-color_grouped--green-yellow-0,225,230,207))}.now-card.has-sidebar.-blue.-primary:after{background-color:RGB(var(--now-color_grouped--blue-4,84,123,143))}.now-card.has-sidebar.-blue.-secondary:after{background-color:RGB(var(--now-color_grouped--blue-1,167,204,222))}.now-card.has-sidebar.-blue.-tertiary:after{background-color:RGB(var(--now-color_grouped--blue-0,215,231,240))}.now-card.has-sidebar.-gray.-primary:after{background-color:RGB(var(--now-color_grouped--gray-4,97,102,105))}.now-card.has-sidebar.-gray.-secondary:after{background-color:RGB(var(--now-color_grouped--gray-1,180,184,187))}.now-card.has-sidebar.-gray.-tertiary:after{background-color:RGB(var(--now-color_grouped--gray-0,220,222,224))}.now-card.has-sidebar.-teal.-primary:after{background-color:RGB(var(--now-color_grouped--teal-4,73,122,114))}.now-card.has-sidebar.-teal.-secondary:after{background-color:RGB(var(--now-color_grouped--teal-1,157,202,195))}.now-card.has-sidebar.-teal.-tertiary:after{background-color:RGB(var(--now-color_grouped--teal-0,210,231,227))}.now-card.has-sidebar.-purple.-primary:after{background-color:RGB(var(--now-color_grouped--purple-4,127,109,146))}.now-card.has-sidebar.-purple.-secondary:after{background-color:RGB(var(--now-color_grouped--purple-1,207,190,225))}.now-card.has-sidebar.-purple.-tertiary:after{background-color:RGB(var(--now-color_grouped--purple-0,233,225,241))}.now-card.is-selected.has-sidebar:after{bottom:1px;height:calc(100% - 2px);left:1px;top:1px}.now-card-slot{font-family:var(--now-card--font-family,var(--now-container--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)));font-style:var(--now-card--font-style,var(--now-container--font-style,normal));font-variant:normal;font-weight:var(--now-card--font-weight,var(--now-container--font-weight,normal));letter-spacing:inherit;position:relative;text-indent:0;text-shadow:none;text-transform:var(--now-card--text-transform,var(--now-container--text-transform,none));white-space:normal;word-spacing:inherit}.now-card-slot.is-interactive{cursor:pointer;height:inherit}.now-card-slot.-sm{padding:calc(4px*var(--now-card--scale-size-block, 1)) calc(16px*var(--now-card--scale-size-inline, 1))}.now-card-slot.-md{padding:calc(8px*var(--now-card--scale-size-block, 1)) calc(16px*var(--now-card--scale-size-inline, 1))}.now-card-slot.-lg{padding:calc(16px*var(--now-card--scale-size, 1))}@media(forced-colors:active){.now-card{border-width:1px}.now-card.is-interactive{background-color:buttonface;border-color:buttonborder}.now-card.is-interactive:focus,.nowCardContainer:hover .now-card.is-interactive{background-color:highlighttext;border-color:highlight}.now-card.is-interactive:focus::-moz-focus-inner{border-style:none}.now-card.is-interactive:focus:focus{box-shadow:inset 0 0 0 2px RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 3px RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}}@media(forced-colors:active)and (forced-colors:active){.now-card.is-interactive:focus:focus{outline:1px solid highlight}}@media(forced-colors:active){.now-card.is-interactive.is-selected{background-color:selecteditem!important;border-color:selecteditemtext!important}.now-card-slot.is-interactive{padding:16px}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:block}.now-carousel-text{overflow:hidden}.now-carousel-text:focus-within{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))}.now-carousel-text-labels{display:grid;grid-template-areas:\\\"stack\\\"}.now-carousel-text-label{grid-area:stack;-ms-grid-column:1;-ms-grid-row:1;max-inline-size:100%;min-inline-size:0}.now-carousel-text-label.-previous{transform:translateY(-100%)}.now-carousel-text-label-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-carousel-text-label-text:after{content:\\\"\\\";display:block}.now-carousel-text-label-text:focus{outline:none}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{--now-line-height:0;display:inline-block}.now-checkbox{cursor:default;display:flex;font-family:var(--now-checkbox--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)));font-style:var(--now-checkbox--font-style,var(--now-form-control--font-style,normal));font-variant:normal;font-weight:var(--now-checkbox--font-weight,var(--now-form-control--font-weight,normal));letter-spacing:inherit;outline:none;position:relative;text-indent:0;text-shadow:none;text-transform:var(--now-checkbox--text-transform,var(--now-form-control--text-transform,none));white-space:normal;word-spacing:inherit}.now-checkbox.-sm{min-block-size:1rem;padding-block:.25rem}.now-checkbox.-md{min-block-size:calc(.75rem + var(--now-checkbox--scale-size-block, 1)*1.5rem/2);padding-block:calc(.25rem*var(--now-checkbox--scale-size-block, 1))}.now-checkbox.is-disabled{cursor:not-allowed}.now-checkbox-label-parent{display:flex}.-start.is-full-width .now-checkbox-label-parent{flex:2;justify-content:flex-end}.-start.-sm .now-checkbox-label-parent{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.-start.-md .now-checkbox-label-parent{-webkit-margin-end:.5rem;margin-inline-end:.5rem}.-end.-sm .now-checkbox-label-parent{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-end.-md .now-checkbox-label-parent{-webkit-margin-start:calc(.5rem*var(--now-checkbox--scale-size-inline, 1));margin-inline-start:calc(.5rem*var(--now-checkbox--scale-size-inline, 1))}.-end.is-full-width .now-checkbox-label-parent{flex:3}.now-checkbox-input-parent{text-align:start}.is-full-width.-start .now-checkbox-input-parent{flex:3}.is-full-width.-end .now-checkbox-input-parent{display:flex;flex:2;justify-content:flex-end}.now-checkbox-input{margin:0;opacity:0;position:absolute;z-index:1}.-sm .now-checkbox-input{block-size:.75rem;inline-size:.75rem}.-md .now-checkbox-input{block-size:calc(.5rem + var(--now-checkbox--scale-size, 1)*1rem/2);inline-size:calc(.5rem + var(--now-checkbox--scale-size, 1)*1rem/2)}.is-disabled .now-checkbox-input,.is-readonly .now-checkbox-input{cursor:not-allowed}.now-checkbox-visual-input{background-clip:padding-box;background-color:RGB(var(--now-checkbox--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));border-color:RGB(var(--now-checkbox--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))));border-radius:var(--now-checkbox--border-radius,var(--now-form-control--border-radius,0));border-style:solid;border-width:var(--now-checkbox--border-width,var(--now-form-control--border-width,1px));color:RGB(var(--now-checkbox_icon--color,var(--now-color--neutral-18,22,27,28)));flex-shrink:0;position:relative}.now-checkbox:not(.is-disabled,.is-readonly):hover .now-checkbox-visual-input{background-color:RGB(var(--now-checkbox--background-color--hover,var(--now-color--secondary-0,217,235,238)));border-color:RGB(var(--now-checkbox--border-color--hover,var(--now-color--secondary-1,1,119,142)));color:RGB(var(--now-checkbox_icon--color--hover,var(--now-color--secondary-1,1,119,142)))}.now-checkbox.is-checked:not(.is-disabled,.is-readonly):hover .now-checkbox-visual-input{background-color:RGB(var(--now-checkbox--background-color--checked_hover,var(--now-color--secondary-0,217,235,238)),var(--now-checkbox--background-color-alpha--checked_hover,1));border-color:RGB(var(--now-checkbox--border-color--checked_hover,var(--now-checkbox--border-color--hover,var(--now-color--secondary-1,1,119,142))))}.now-checkbox.is-invalid:not(.is-disabled,.is-readonly):hover .now-checkbox-visual-input{background-color:RGB(var(--now-checkbox--background-color--invalid_hover,var(--now-checkbox--background-color--invalid,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-checkbox--border-color--invalid_hover,var(--now-checkbox--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))));color:RGB(var(--now-checkbox_icon--color--invalid_hover,var(--now-checkbox_icon--color--invalid,var(--now-color_alert--critical-5,80,24,22))))}.now-checkbox.is-invalid.is-checked:not(.is-disabled,.is-readonly):hover .now-checkbox-visual-input{background-color:RGB(var(--now-checkbox--background-color--checked_invalid_hover,var(--now-checkbox--background-color--invalid,var(--now-color_alert--critical-0,241,206,205))),var(--now-checkbox--background-color-alpha--checked_invalid_hover,0));border-color:RGB(var(--now-checkbox--border-color--checked_invalid_hover,var(--now-checkbox--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))}:focus+.now-checkbox-visual-input{background-color:RGB(var(--now-checkbox--background-color--focus,var(--now-checkbox--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));border-color:RGB(var(--now-checkbox--border-color--focus,var(--now-color--secondary-1,1,119,142)));border-width:calc(.0625rem + var(--now-checkbox--scale-size, 1)*.125rem/2);color:RGB(var(--now-checkbox_icon--color--focus,var(--now-color--secondary-1,1,119,142)))}.is-checked :focus+.now-checkbox-visual-input{background-color:RGB(var(--now-checkbox--background-color--checked_focus,var(--now-checkbox--background-color--checked,var(--now-checkbox--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-checkbox--border-color--checked_focus,var(--now-color--secondary-1,1,119,142)))}.is-invalid:not(.is-disabled,.is-readonly) :focus+.now-checkbox-visual-input{background-color:RGB(var(--now-checkbox--background-color--invalid_focus,var(--now-checkbox--background-color--invalid,var(--now-color_alert--critical-0,241,206,205))));color:RGB(var(--now-checkbox_icon--color--invalid_focus,var(--now-checkbox_icon--color--invalid,var(--now-color_alert--critical-5,80,24,22))))}.is-checked.is-invalid:not(.is-disabled,.is-readonly) :focus+.now-checkbox-visual-input{background-color:RGB(var(--now-checkbox--background-color--checked_invalid_focus,var(--now-checkbox--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));border-color:RGB(var(--now-checkbox--border-color--checked_invalid_focus,var(--now-checkbox--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))}.-sm .now-checkbox-visual-input{block-size:.75rem;inline-size:.75rem}.-md .now-checkbox-visual-input{block-size:calc(.5rem + var(--now-checkbox--scale-size, 1)*1rem/2);inline-size:calc(.5rem + var(--now-checkbox--scale-size, 1)*1rem/2)}.-sm :focus+.now-checkbox-visual-input{box-shadow:inset 0 0 0 1px RGB(var(--now-checkbox_focus-ring--border-color--focus,var(--now-checkbox--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))),0 0 0 var(--now-checkbox_focus-ring--width,0) RGB(var(--now-checkbox--border-color--focus,var(--now-color--secondary-1,1,119,142)),var(--now-opacity--least,.1));-webkit-clip-path:circle(.6186875rem at .375rem .375rem);clip-path:circle(.6186875rem at .375rem .375rem)}.-md :focus+.now-checkbox-visual-input{box-shadow:inset 0 0 0 calc(.5px + var(--now-checkbox--scale-size, 1)*1px/2) RGB(var(--now-checkbox_focus-ring--border-color--focus,var(--now-checkbox--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))),0 0 0 calc(var(--now-checkbox_focus-ring--width, 0px)/2 + var(--now-checkbox--scale-size, 1)*var(--now-checkbox_focus-ring--width, 0px)/2) RGB(var(--now-checkbox--border-color--focus,var(--now-color--secondary-1,1,119,142)),var(--now-opacity--least,.1));-webkit-clip-path:circle(calc(.39775rem + var(--now-checkbox--scale-size, 1)*.7955rem/2) at calc(.25rem + var(--now-checkbox--scale-size, 1)*.5rem/2) calc(.25rem + var(--now-checkbox--scale-size, 1)*.5rem/2));clip-path:circle(calc(.39775rem + var(--now-checkbox--scale-size, 1)*.7955rem/2) at calc(.25rem + var(--now-checkbox--scale-size, 1)*.5rem/2) calc(.25rem + var(--now-checkbox--scale-size, 1)*.5rem/2))}.-md.is-invalid :focus+.now-checkbox-visual-input{box-shadow:inset 0 0 0 calc(.5px + var(--now-checkbox--scale-size, 1)*1px/2) RGB(var(--now-checkbox_focus-ring--border-color--invalid_focus,var(--now-checkbox--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))),0 0 0 2px RGB(var(--now-color--neutral-0,255,255,255)),0 0 0 calc(var(--now-checkbox_focus-ring--width, 0px)/2 + var(--now-checkbox--scale-size, 1)*var(--now-checkbox_focus-ring--width, 0px)/2 + 2px) RGB(var(--now-checkbox--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)),var(--now-opacity--least,.1));-webkit-clip-path:circle(calc(.46294rem + var(--now-checkbox--scale-size, 1)*.92588rem/2) at calc(.25rem + var(--now-checkbox--scale-size, 1)*.5rem/2) calc(.25rem + var(--now-checkbox--scale-size, 1)*.5rem/2));clip-path:circle(calc(.46294rem + var(--now-checkbox--scale-size, 1)*.92588rem/2) at calc(.25rem + var(--now-checkbox--scale-size, 1)*.5rem/2) calc(.25rem + var(--now-checkbox--scale-size, 1)*.5rem/2))}.is-checked .now-checkbox-visual-input{background-color:RGB(var(--now-checkbox--background-color--checked,var(--now-checkbox--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-checkbox--background-color-alpha--checked,1));border-color:RGB(var(--now-checkbox--border-color--checked,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))}.is-invalid .now-checkbox-visual-input{background-color:RGB(var(--now-checkbox--background-color--invalid,var(--now-color_alert--critical-0,241,206,205)),var(--now-checkbox--background-color-alpha--invalid,0))}.is-invalid .now-checkbox-visual-input,.is-invalid.is-readonly .now-checkbox-visual-input{border-color:RGB(var(--now-checkbox--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)));border-width:.125rem}.-sm.is-invalid :focus+.now-checkbox-visual-input{box-shadow:inset 0 0 0 1px RGB(var(--now-checkbox_focus-ring--border-color--invalid_focus,var(--now-checkbox--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))),0 0 0 1px RGB(var(--now-color--neutral-0,255,255,255)),0 0 0 calc(var(--now-checkbox_focus-ring--width, 0px) + 1px) RGB(var(--now-checkbox--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)),var(--now-opacity--least,.1));-webkit-clip-path:circle(.6186875rem at .375rem .375rem);clip-path:circle(.6186875rem at .375rem .375rem)}.now-checkbox:not(.is-disabled,.is-readonly) .now-checkbox-input:active+.now-checkbox-visual-input{background-color:RGB(var(--now-checkbox--background-color--active,var(--now-color--secondary-0,217,235,238)));color:RGB(var(--now-checkbox_icon--color--active,var(--now-checkbox_icon--color,var(--now-color--neutral-18,22,27,28))))}.is-checked:not(.is-disabled,.is-readonly) .now-checkbox-input:active+.now-checkbox-visual-input{background-color:RGB(var(--now-checkbox--background-color--checked_active,var(--now-checkbox--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-checkbox--background-color-alpha--checked_active,0));border-color:RGB(var(--now-checkbox--border-color--checked_active,var(--now-color--secondary-1,1,119,142)))}.is-invalid:not(.is-disabled,.is-readonly) .now-checkbox-input:active+.now-checkbox-visual-input{background-color:RGB(var(--now-checkbox--background-color--invalid_active,var(--now-checkbox--background-color--invalid,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-checkbox--border-color--invalid_active,var(--now-checkbox--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))));color:RGB(var(--now-checkbox_icon--color--invalid_active,var(--now-checkbox_icon--color--invalid,var(--now-color_alert--critical-5,80,24,22))))}.is-invalid.is-checked:not(.is-disabled,.is-readonly) .now-checkbox-input:active+.now-checkbox-visual-input{background-color:RGB(var(--now-checkbox--background-color--checked_invalid_active,var(--now-checkbox--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-checkbox--background-color-alpha--checked_invalid_active,0));border-color:RGB(var(--now-checkbox--border-color--checked_invalid_active,var(--now-checkbox--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))}.is-invalid.is-checked .now-checkbox-visual-input,.is-invalid.is-checked.is-readonly .now-checkbox-visual-input{background-color:RGB(var(--now-checkbox--background-color--checked_invalid,var(--now-checkbox--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-checkbox--background-color-alpha--checked_invalid,1));border-color:RGB(var(--now-checkbox--border-color--checked_invalid,var(--now-checkbox--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))}.is-readonly .now-checkbox-visual-input{background-color:RGB(var(--now-checkbox--background-color--readonly,var(--now-color--neutral-3,209,214,214)));border-color:RGB(var(--now-checkbox--border-color--readonly,var(--now-checkbox--background-color--readonly,var(--now-color--neutral-3,209,214,214))))}.is-readonly:not(.is-invalid) .now-checkbox-visual-input{color:RGB(var(--now-checkbox_icon--color--readonly,var(--now-checkbox_icon--color,var(--now-color--neutral-18,22,27,28))))}.is-readonly.is-checked .now-checkbox-visual-input{background-color:RGB(var(--now-checkbox--background-color--checked_readonly,var(--now-checkbox--background-color--readonly,var(--now-color--neutral-3,209,214,214))));border-color:RGB(var(--now-checkbox--border-color--checked_readonly,var(--now-checkbox--border-color--readonly,var(--now-checkbox--background-color--readonly,var(--now-color--neutral-3,209,214,214)))))}.is-disabled .now-checkbox-visual-input{opacity:var(--now-checkbox--opacity--disabled,var(--now-opacity--less,.25))}.now-checkbox-icon{color:inherit;line-height:0!important;position:absolute}.-sm .now-checkbox-icon{inset-block-start:-1px;inset-inline-start:-1px;transform:scale(.75)}.-sm.is-invalid .now-checkbox-icon{inset-block-start:-.125rem;inset-inline-start:-.125rem}.-md .now-checkbox-icon{--now-icon--scale-size:var(--now-checkbox--scale-size,1);margin:calc(1px*var(--now-checkbox--scale-size, 1))}.-md.is-invalid .now-checkbox-icon{margin:0}.now-checkbox-input:active+.now-checkbox-icon,.now-checkbox-input:focus+.now-checkbox-icon,.now-checkbox-input:hover+.now-checkbox-icon{color:RGB(var(--now-checkbox_icon--color--hover,var(--now-color--secondary-1,1,119,142)))}.-sm .now-checkbox-input:focus+.now-checkbox-visual-input .now-checkbox-icon{inset-block-start:-.125rem;inset-inline-start:-.125rem}.-md .now-checkbox-input:focus+.now-checkbox-visual-input .now-checkbox-icon{margin:0}.is-invalid:not(.is-disabled,.is-readonly) .now-checkbox-input:focus+.now-checkbox-icon,.is-invalid:not(.is-disabled,.is-readonly) .now-checkbox-input:hover+.now-checkbox-icon{color:RGB(var(--now-checkbox_icon--color--invalid,var(--now-color_alert--critical-5,80,24,22)))}.now-checkbox-label{color:RGB(var(--now-checkbox_label--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));cursor:inherit}.-sm .now-checkbox-label{-webkit-margin-before:.125rem;font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));line-height:1.3333;margin-block-start:.125rem}.-sm .now-checkbox-label .now-line-height-crop{display:block}.-sm .now-checkbox-label .now-line-height-crop:after,.-sm .now-checkbox-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-sm .now-checkbox-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.-sm .now-checkbox-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.-sm .now-checkbox-label .now-line-height-crop+.-sm .now-checkbox-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-md .now-checkbox-label{-webkit-margin-before:calc(.125rem*(var(--now-checkbox--scale-size-block, 1)*2 - 1));font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem));line-height:1.25;margin-block-start:calc(.125rem*(var(--now-checkbox--scale-size-block, 1)*2 - 1))}.-md .now-checkbox-label .now-line-height-crop{display:block}.-md .now-checkbox-label .now-line-height-crop:after,.-md .now-checkbox-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-md .now-checkbox-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-md .now-checkbox-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-md .now-checkbox-label .now-line-height-crop+.-md .now-checkbox-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.is-disabled .now-checkbox-label{cursor:not-allowed;opacity:var(--now-checkbox--opacity--disabled,var(--now-opacity--less,.25))}.-start .now-checkbox-label-inline-slot ::slotted(*){-webkit-margin-end:.25rem;margin-inline-end:.25rem}.-end .now-checkbox-label-inline-slot ::slotted(*){-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-checkbox-label-start-slot{align-items:start;display:flex}.-start .now-checkbox-label-start-slot ::slotted(*){-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-end .now-checkbox-label-start-slot ::slotted(*){-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-checkbox-required-indicator{color:RGB(var(--now-checkbox_required-indicator--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.-sm .now-checkbox-required-indicator{transform:scale(.75)}.-start.-sm .now-checkbox-required-indicator{-webkit-margin-end:.125rem;margin-inline-end:.125rem}.-end.-sm .now-checkbox-required-indicator{-webkit-margin-start:.125rem;margin-inline-start:.125rem}.-md .now-checkbox-required-indicator{-webkit-margin-before:calc(.125rem*(var(--now-checkbox--scale-size-block, 1)*2 - 1));margin-block-start:calc(.125rem*(var(--now-checkbox--scale-size-block, 1)*2 - 1))}.-start.-md .now-checkbox-required-indicator{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.-end.-md .now-checkbox-required-indicator{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.is-disabled .now-checkbox-required-indicator{opacity:var(--now-opacity--less,.25)}.is-invalid .now-checkbox-required-indicator{color:RGB(var(--now-checkbox_required-indicator--color--invalid,var(--now-color_alert--critical-2,200,60,54)))}@media(forced-colors:active){.now-checkbox-visual-input{background-color:buttonface!important;border-color:buttonborder!important}:focus+.now-checkbox-visual-input{border-width:1px;outline:1px solid highlight}.is-checked .now-checkbox-visual-input{background-color:selecteditem!important;color:selecteditemtext!important}.is-disabled .now-checkbox-visual-input{opacity:1}.is-disabled .now-checkbox-visual-input,.is-readonly .now-checkbox-visual-input{border-color:graytext!important}.is-checked.is-disabled .now-checkbox-visual-input,.is-checked.is-readonly .now-checkbox-visual-input{background-color:graytext!important}.is-checked.is-disabled .now-checkbox-visual-input{color:highlighttext!important}.is-readonly .now-checkbox-icon{color:highlighttext}.now-checkbox-label{color:canvastext}.now-checkbox-label .now-line-height-crop{forced-color-adjust:none}.is-disabled .now-checkbox-label{color:graytext;opacity:1}.is-disabled .now-checkbox-required-indicator{opacity:1}.is-disabled .now-checkbox-required-indicator,.is-readonly .now-checkbox-required-indicator{color:graytext}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-checklist{border-spacing:0;height:100%}.now-checklist-index{font-size:1rem;padding-top:.125rem}:host(:not([dir=rtl])) .now-checklist-index,:root:not([dir=rtl]) .now-checklist-index{float:left}:host([dir=rtl]) .now-checklist-index,:root[dir=rtl] .now-checklist-index{float:right}:host(:not([dir=rtl])) .now-checklist-index,:root:not([dir=rtl]) .now-checklist-index{padding-right:.5rem}:host([dir=rtl]) .now-checklist-index,:root[dir=rtl] .now-checklist-index{padding-left:.5rem}:host(:not([dir=rtl])) .now-checklist-link,:root:not([dir=rtl]) .now-checklist-link{padding-left:1.5rem}:host([dir=rtl]) .now-checklist-link,:root[dir=rtl] .now-checklist-link{padding-right:1.5rem}.now-checklist-items{display:grid;flex-direction:column;grid-auto-columns:1fr;grid-auto-rows:1fr;grid-template-columns:auto auto;grid-template-rows:auto auto}.now-checklist-items,.now-checklist-items-nopref{padding-bottom:.75rem;padding-top:0}:host(:not([dir=rtl])) .now-checklist-items-nopref,:root:not([dir=rtl]) .now-checklist-items-nopref{padding-right:0}:host([dir=rtl]) .now-checklist-items-nopref,:root[dir=rtl] .now-checklist-items-nopref{padding-left:0}.now-checklist-remove-item{padding-bottom:0;padding-top:0;vertical-align:top}:host(:not([dir=rtl])) .now-checklist-remove-item,:root:not([dir=rtl]) .now-checklist-remove-item{text-align:left}:host([dir=rtl]) .now-checklist-remove-item,:root[dir=rtl] .now-checklist-remove-item{text-align:right}:host(:not([dir=rtl])) .now-checklist-remove-item,:root:not([dir=rtl]) .now-checklist-remove-item{padding-left:.5rem}:host([dir=rtl]) .now-checklist-remove-item,:root[dir=rtl] .now-checklist-remove-item{padding-right:.5rem}:host(:not([dir=rtl])) .now-checklist-remove-item,:root:not([dir=rtl]) .now-checklist-remove-item{padding-right:0}:host([dir=rtl]) .now-checklist-remove-item,:root[dir=rtl] .now-checklist-remove-item{padding-left:0}.now-checklist-item-divider{border:0;border-top:.125rem solid RGB(var(--now-color--secondary-2,1,89,107));display:block;height:1px;margin-top:.75rem;margin:0;padding-bottom:.75rem}.now-checklist-sr-only{clip:rect(0,0,0,0);border:0;height:0;margin:0;overflow:hidden;padding:0;position:absolute;width:0}.now-checklist-draggable-item{padding-bottom:0;padding-top:.125rem;vertical-align:top}:host(:not([dir=rtl])) .now-checklist-draggable-item,:root:not([dir=rtl]) .now-checklist-draggable-item{padding-left:0}:host([dir=rtl]) .now-checklist-draggable-item,:root[dir=rtl] .now-checklist-draggable-item{padding-right:0}:host(:not([dir=rtl])) .now-checklist-draggable-item,:root:not([dir=rtl]) .now-checklist-draggable-item{padding-right:0}:host([dir=rtl]) .now-checklist-draggable-item,:root[dir=rtl] .now-checklist-draggable-item{padding-left:0}:host(:not([dir=rtl])) .now-checklist-draggable-item,:root:not([dir=rtl]) .now-checklist-draggable-item{text-align:left}:host([dir=rtl]) .now-checklist-draggable-item,:root[dir=rtl] .now-checklist-draggable-item{text-align:right}:host(:not([dir=rtl])) .now-checklist-drag-icon,:root:not([dir=rtl]) .now-checklist-drag-icon{padding-right:.5rem}:host([dir=rtl]) .now-checklist-drag-icon,:root[dir=rtl] .now-checklist-drag-icon{padding-left:.5rem}.now-checklist-edit-item-index{vertical-align:top}:host(:not([dir=rtl])) .now-checklist-edit-item-index,:root:not([dir=rtl]) .now-checklist-edit-item-index{padding-left:.5rem}:host([dir=rtl]) .now-checklist-edit-item-index,:root[dir=rtl] .now-checklist-edit-item-index{padding-right:.5rem}:host(:not([dir=rtl])) .now-checklist-edit-item-index,:root:not([dir=rtl]) .now-checklist-edit-item-index{padding-right:.5rem}:host([dir=rtl]) .now-checklist-edit-item-index,:root[dir=rtl] .now-checklist-edit-item-index{padding-left:.5rem}:host(:not([dir=rtl])) .now-checklist-edit-item-index,:root:not([dir=rtl]) .now-checklist-edit-item-index{text-align:left}:host([dir=rtl]) .now-checklist-edit-item-index,:root[dir=rtl] .now-checklist-edit-item-index{text-align:right}.now-checklist-edit-label{-webkit-margin-after:0;-webkit-margin-before:0;margin-block-end:0;margin-block-start:0;width:100%}.now-checklist-edit-item-index-edit{padding-top:.125rem;vertical-align:top}:host(:not([dir=rtl])) .now-checklist-edit-item-index-edit,:root:not([dir=rtl]) .now-checklist-edit-item-index-edit{padding-right:.5rem}:host([dir=rtl]) .now-checklist-edit-item-index-edit,:root[dir=rtl] .now-checklist-edit-item-index-edit{padding-left:.5rem}:host(:not([dir=rtl])) .now-checklist-edit-item-index-edit,:root:not([dir=rtl]) .now-checklist-edit-item-index-edit{text-align:left}:host([dir=rtl]) .now-checklist-edit-item-index-edit,:root[dir=rtl] .now-checklist-edit-item-index-edit{text-align:right}:host(:not([dir=rtl])) .now-checklist-link-buttons,:root:not([dir=rtl]) .now-checklist-link-buttons{text-align:right}:host([dir=rtl]) .now-checklist-link-buttons,:root[dir=rtl] .now-checklist-link-buttons{text-align:left}:host(:not([dir=rtl])) .now-checklist-link-cancel-button,:root:not([dir=rtl]) .now-checklist-link-cancel-button{padding-right:.5rem}:host([dir=rtl]) .now-checklist-link-cancel-button,:root[dir=rtl] .now-checklist-link-cancel-button{padding-left:.5rem}:host(:not([dir=rtl])) .now-checklist-cancel-edit,:root:not([dir=rtl]) .now-checklist-cancel-edit{float:left}:host([dir=rtl]) .now-checklist-cancel-edit,:root[dir=rtl] .now-checklist-cancel-edit{float:right}:host(:not([dir=rtl])) .now-checklist-save-edit,:root:not([dir=rtl]) .now-checklist-save-edit{float:left}:host([dir=rtl]) .now-checklist-save-edit,:root[dir=rtl] .now-checklist-save-edit{float:right}:host(:not([dir=rtl])) .now-checklist-save-edit,:root:not([dir=rtl]) .now-checklist-save-edit{padding-left:.5rem}:host([dir=rtl]) .now-checklist-save-edit,:root[dir=rtl] .now-checklist-save-edit{padding-right:.5rem}:host(:not([dir=rtl])) .now-checklist-save-cancel,:root:not([dir=rtl]) .now-checklist-save-cancel{float:right}:host([dir=rtl]) .now-checklist-save-cancel,:root[dir=rtl] .now-checklist-save-cancel{float:left}.now-cl-emptylist-iseditmode{margin-left:auto;margin-right:auto}:host(:not([dir=rtl])) .now-checklist-edit-link,:root:not([dir=rtl]) .now-checklist-edit-link{padding-left:.5rem}:host([dir=rtl]) .now-checklist-edit-link,:root[dir=rtl] .now-checklist-edit-link{padding-right:.5rem}:host(:not([dir=rtl])) .now-checklist-cancel-link,:root:not([dir=rtl]) .now-checklist-cancel-link{padding-left:.25rem}:host([dir=rtl]) .now-checklist-cancel-link,:root[dir=rtl] .now-checklist-cancel-link{padding-right:.25rem}.now-checklist-input-width{width:100%}.now-checklist-add-link{margin-top:.5rem}.now-checklist-edit-item{flex-direction:column;grid-template-columns:-webkit-max-content auto -webkit-max-content;grid-template-columns:max-content auto max-content;grid-template-rows:auto auto}.now-checklist-edit-item,.now-checklist-link-section{display:grid;grid-auto-columns:1fr;grid-auto-rows:1fr}.now-checklist-link-section{grid-template-columns:minmax(auto,-webkit-max-content) -webkit-min-content -webkit-min-content;grid-template-columns:minmax(auto,max-content) min-content min-content;grid-template-rows:auto}.now-checklist-link{word-break:break-word}.now-checklist-edit-item-prefix{display:grid;flex-direction:column;grid-auto-columns:1fr;grid-auto-rows:1fr;grid-template-columns:-webkit-min-content -webkit-max-content auto -webkit-max-content;grid-template-columns:min-content max-content auto max-content;grid-template-rows:auto auto}.now-checklist-link-readmode{word-break:break-word}:host(:not([dir=rtl])) .now-checklist-link-readmode,:root:not([dir=rtl]) .now-checklist-link-readmode{padding-left:1.5rem}:host([dir=rtl]) .now-checklist-link-readmode,:root[dir=rtl] .now-checklist-link-readmode{padding-right:1.5rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;-webkit-clip-path:inset(50%);clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-m-block--xxs{-webkit-margin-before:.125rem;-webkit-margin-after:.125rem;margin-block-end:.125rem;margin-block-start:.125rem}.now-m-block-start--xxs{-webkit-margin-before:.125rem;margin-block-start:.125rem}.now-m-block-end--xxs{-webkit-margin-after:.125rem;margin-block-end:.125rem}.now-m-inline--xxs{-webkit-margin-start:.125rem;-webkit-margin-end:.125rem;margin-inline-end:.125rem;margin-inline-start:.125rem}.now-m-inline-start--xxs{-webkit-margin-start:.125rem;margin-inline-start:.125rem}.now-m-inline-end--xxs{-webkit-margin-end:.125rem;margin-inline-end:.125rem}:host{display:block}.now-date-time-calendar{background-color:RGB(var(--now-date-time--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));font-family:var(--now-date-time--font-family,var(--now-menu--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)));font-size:var(--now-menu_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-date-time--font-style,var(--now-menu--font-style,normal));font-variant:normal;font-weight:var(--now-date-time--font-weight,bold);letter-spacing:inherit;line-height:1.3333;max-inline-size:17.5rem;text-indent:0;text-shadow:none;text-transform:var(--now-date-time--text-transform,var(--now-menu--text-transform,none));white-space:normal;word-spacing:inherit}.now-date-time-calendar.is-week{max-inline-size:22rem}.now-date-time-calendar-header{-webkit-padding-before:calc(1rem*var(--now-date-time--scale-size-block, 1));-webkit-padding-after:calc(.5rem*var(--now-date-time--scale-size-block, 1));background-color:RGB(var(--now-date-time_header--background-color,var(--now-date-time--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));display:flex;justify-content:center;padding-block-end:calc(.5rem*var(--now-date-time--scale-size-block, 1));padding-block-start:calc(1rem*var(--now-date-time--scale-size-block, 1));padding-inline:calc(1rem*var(--now-date-time--scale-size-inline, 1))}.now-date-time-calendar-header .now-date-time-calendar-pagination-button.-previous{-webkit-margin-end:auto;margin-inline-end:auto}.now-date-time-calendar-header .now-date-time-calendar-pagination-button.-next{-webkit-margin-start:auto;margin-inline-start:auto}.now-date-time-calendar-header .now-date-time-calendar-control-button{--now-button--bare--font-family:var(--now-date-time_header--font-family,var(--now-date-time--font-family,var(--now-menu--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));--now-button--bare--font-style:var(--now-date-time_header--font-style,var(--now-date-time--font-style,var(--now-menu--font-style,normal)));--now-button--bare--font-weight:var(--now-date-time_header--font-weight,var(--now-date-time--font-weight,bold));--now-button--bare--text-transform:var(--now-date-time_header--text-transform,var(--now-date-time--text-transform,var(--now-menu--text-transform,none)))}.now-date-time-calendar-header .now-date-time-calendar-control-button.-start{-webkit-margin-start:auto;margin-inline-start:auto}.now-date-time-calendar-header .now-date-time-calendar-control-button.-end{-webkit-margin-start:calc(.75rem*var(--now-date-time--scale-size-inline, 1));-webkit-margin-end:auto;margin-inline-end:auto;margin-inline-start:calc(.75rem*var(--now-date-time--scale-size-inline, 1))}.now-date-time-calendar-grid-container{-webkit-padding-before:calc(.5rem*var(--now-date-time--scale-size-block, 1));-webkit-padding-after:calc(.75rem*var(--now-date-time--scale-size-block, 1));padding-block-end:calc(.75rem*var(--now-date-time--scale-size-block, 1));padding-block-start:calc(.5rem*var(--now-date-time--scale-size-block, 1));padding-inline:calc(1rem*var(--now-date-time--scale-size-inline, 1))}.now-date-time-calendar-grid-container.-year{max-block-size:calc(176px*var(--now-date-time--scale-size-block, 1));overflow-y:auto}.now-date-time-calendar-grid{border-collapse:collapse;border-style:none;border-width:0;inline-size:100%;max-inline-size:100%;table-layout:fixed}.now-date-time-calendar-grid-heading{-webkit-padding-before:calc(.25rem*var(--now-date-time_cell--scale-size, 1));-webkit-padding-after:calc(.5rem*var(--now-date-time_cell--scale-size, 1));background-color:RGB(var(--now-date-time_cell-heading--background-color,var(--now-date-time_cell--background-color,var(--now-date-time--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))),var(--now-date-time_cell-heading--background-color-alpha,var(--now-date-time_cell--background-color-alpha,0)));block-size:calc(.5rem + var(--now-date-time_cell--scale-size, 1)*1rem/2);color:RGB(var(--now-date-time_cell-heading--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));font-family:var(--now-date-time_cell-heading--font-family,var(--now-date-time_cell--font-family,var(--now-date-time--font-family,var(--now-menu--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-menu_header--font-size--sm,var(--now-display-type_header--font-size--sm,var(--now-font-size--sm,.75rem)));font-style:var(--now-date-time_cell-heading--font-style,var(--now-date-time_cell--font-style,var(--now-date-time--font-style,var(--now-menu--font-style,normal))));font-weight:var(--now-date-time_cell-heading--font-weight,normal);inline-size:calc(1rem + var(--now-date-time_cell--scale-size, 1)*2rem/2);line-height:1.3333;padding-block-end:calc(.5rem*var(--now-date-time_cell--scale-size, 1));padding-block-start:calc(.25rem*var(--now-date-time_cell--scale-size, 1));text-transform:var(--now-date-time_cell-heading--text-transform,var(--now-date-time_cell--text-transform,var(--now-date-time--text-transform,var(--now-menu--text-transform,none))))}.-week-year .now-date-time-calendar-grid-heading:first-child{inline-size:calc(2rem + var(--now-date-time_cell--scale-size, 1)*4rem/2)}.now-date-time-calendar-grid-column{-webkit-padding-before:calc(.125rem*var(--now-date-time_cell--scale-size, 1));-webkit-padding-after:calc(.25rem*var(--now-date-time_cell--scale-size, 1));padding-block-end:calc(.25rem*var(--now-date-time_cell--scale-size, 1));padding-block-start:calc(.125rem*var(--now-date-time_cell--scale-size, 1))}.now-date-time-calendar-grid-column,.now-date-time-calendar-grid-heading{padding-inline:calc(.125rem*var(--now-date-time_cell--scale-size, 1))}.now-date-time-calendar-grid-cell{align-items:center;background-color:RGB(var(--now-date-time_cell--background-color,var(--now-date-time--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-date-time_cell--background-color-alpha,0));block-size:calc(1rem + var(--now-date-time_cell--scale-size, 1)*2rem/2);border-color:RGB(var(--now-date-time_cell--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))));border-radius:var(--now-date-time_cell--border-radius,.25rem);border-style:solid;border-width:var(--now-date-time_cell--border-width,0);color:RGB(var(--now-date-time_cell--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));cursor:pointer;display:flex;font-family:var(--now-date-time_cell--font-family,var(--now-date-time--font-family,var(--now-menu--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-menu_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-date-time_cell--font-style,var(--now-date-time--font-style,var(--now-menu--font-style,normal)));font-variant:normal;font-weight:var(--now-date-time_cell--font-weight,var(--now-date-time--font-weight,bold));inline-size:100%;justify-content:center;letter-spacing:inherit;line-height:1.3333;text-indent:0;text-shadow:none;text-transform:var(--now-date-time_cell--text-transform,var(--now-date-time--text-transform,var(--now-menu--text-transform,none)));white-space:normal;word-spacing:inherit}.-date .now-date-time-calendar-grid-cell,.-date-time .now-date-time-calendar-grid-cell,.-week-year .now-date-time-calendar-grid-cell{inline-size:calc(1rem + var(--now-date-time_cell--scale-size, 1)*2rem/2)}.now-date-time-calendar-grid-cell:hover{background-color:RGB(var(--now-date-time_cell--background-color--hover,var(--now-color--secondary-1,1,119,142)),var(--now-date-time_cell--background-color-alpha--hover,var(--now-opacity--least,.1)));border-color:RGB(var(--now-date-time_cell--border-color--hover,var(--now-date-time_cell--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-date-time_cell--color--hover,var(--now-date-time_cell--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-date-time-calendar-grid-cell:active{background-color:RGB(var(--now-date-time_cell--background-color--active,var(--now-color--secondary-1,1,119,142)),var(--now-date-time_cell--background-color-alpha--active,var(--now-opacity--less,.25)));border-color:RGB(var(--now-date-time_cell--border-color--active,var(--now-date-time_cell--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-date-time_cell--color--active,var(--now-date-time_cell--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-date-time-calendar-grid-cell::-moz-focus-inner{border-style:none}.now-date-time-calendar-grid-cell:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.now-date-time-calendar-grid-cell:focus{outline:1px solid highlight}}.now-date-time-calendar-grid-cell.is-adjacent{background-color:RGB(var(--now-date-time_cell--background-color--adjacent,var(--now-date-time_cell--background-color,var(--now-date-time--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))),var(--now-date-time_cell--background-color-alpha--adjacent,var(--now-date-time_cell--background-color-alpha,0)));border-color:RGB(var(--now-date-time_cell--border-color--adjacent,var(--now-date-time_cell--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-date-time_cell--border-radius--adjacent,var(--now-date-time_cell--border-radius,.25rem));border-width:var(--now-date-time_cell--border-width--adjacent,var(--now-date-time_cell--border-width,0));color:RGB(var(--now-date-time_cell--color--adjacent,var(--now-date-time_cell--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-date-time_cell--color-alpha--adjacent,.6));font-family:var(--now-date-time_cell--font-family--adjacent,var(--now-date-time_cell--font-family,var(--now-date-time--font-family,var(--now-menu--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-style:var(--now-date-time_cell--font-style--adjacent,var(--now-date-time_cell--font-style,var(--now-date-time--font-style,var(--now-menu--font-style,normal))));font-weight:var(--now-date-time_cell--font-weight--adjacent,normal);text-transform:var(--now-date-time_cell--text-transform--adjacent,var(--now-date-time_cell--text-transform,var(--now-date-time--text-transform,var(--now-menu--text-transform,none))))}.now-date-time-calendar-grid-cell.is-adjacent:hover{background-color:RGB(var(--now-date-time_cell--background-color--adjacent_hover,var(--now-date-time_cell--background-color--hover,var(--now-color--secondary-1,1,119,142))),var(--now-date-time_cell--background-color-alpha--adjacent_hover,var(--now-date-time_cell--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-date-time_cell--border-color--adjacent_hover,var(--now-date-time_cell--border-color--hover,var(--now-date-time_cell--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))));color:RGB(var(--now-date-time_cell--color--adjacent_hover,var(--now-date-time_cell--color--hover,var(--now-date-time_cell--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))),var(--now-date-time_cell--color-alpha--adjacent_hover,var(--now-date-time_cell--color-alpha--adjacent,.6)))}.now-date-time-calendar-grid-cell.is-adjacent:active{background-color:RGB(var(--now-date-time_cell--background-color--adjacent_active,var(--now-date-time_cell--background-color--active,var(--now-color--secondary-1,1,119,142))),var(--now-date-time_cell--background-color-alpha--adjacent_active,var(--now-date-time_cell--background-color-alpha--active,var(--now-opacity--less,.25))));border-color:RGB(var(--now-date-time_cell--border-color--adjacent_active,var(--now-date-time_cell--border-color--active,var(--now-date-time_cell--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))));color:RGB(var(--now-date-time_cell--color--adjacent_active,var(--now-date-time_cell--color--active,var(--now-date-time_cell--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))),var(--now-date-time_cell--color-alpha--adjacent_active,var(--now-date-time_cell--color-alpha--adjacent,.6)))}.now-date-time-calendar-grid-cell.is-week{background-color:RGB(var(--now-date-time_cell--background-color--week,var(--now-date-time_cell--background-color,var(--now-date-time--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))),var(--now-date-time_cell--background-color-alpha--week,var(--now-date-time_cell--background-color-alpha,0)));border-color:RGB(var(--now-date-time_cell--border-color--week,var(--now-date-time_cell--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-date-time_cell--border-radius--week,var(--now-date-time_cell--border-radius,.25rem));border-width:var(--now-date-time_cell--border-width--week,var(--now-date-time_cell--border-width,0));color:RGB(var(--now-date-time_cell--color--week,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))));font-family:var(--now-date-time_cell--font-family--week,var(--now-date-time_cell--font-family,var(--now-date-time--font-family,var(--now-menu--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-style:var(--now-date-time_cell--font-style--week,var(--now-date-time_cell--font-style,var(--now-date-time--font-style,var(--now-menu--font-style,normal))));font-weight:var(--now-date-time_cell--font-weight--week,normal);inline-size:calc(2rem + var(--now-date-time_cell--scale-size, 1)*4rem/2);text-transform:var(--now-date-time_cell--text-transform--week,var(--now-date-time_cell--text-transform,var(--now-date-time--text-transform,var(--now-menu--text-transform,none))))}.now-date-time-calendar-grid-cell.is-now{background-color:RGB(var(--now-date-time_cell--background-color--now,var(--now-date-time_cell--background-color,var(--now-date-time--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))),var(--now-date-time_cell--background-color-alpha--now,var(--now-date-time_cell--background-color-alpha,0)));border-color:RGB(var(--now-date-time_cell--border-color--now,var(--now-color--secondary-1,1,119,142)));border-radius:var(--now-date-time_cell--border-radius--now,var(--now-date-time_cell--border-radius,.25rem));border-width:var(--now-date-time_cell--border-width--now,1px);color:RGB(var(--now-date-time_cell--color--now,var(--now-color--secondary-1,1,119,142)))}.now-date-time-calendar-grid-cell.is-now:hover{background-color:RGB(var(--now-date-time_cell--background-color--now_hover,var(--now-date-time_cell--background-color--hover,var(--now-color--secondary-1,1,119,142))),var(--now-date-time_cell--background-color-alpha--now_hover,var(--now-date-time_cell--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-date-time_cell--border-color--now_hover,var(--now-color--secondary-2,1,89,107)));color:RGB(var(--now-date-time_cell--color--now_hover,var(--now-color--secondary-2,1,89,107)))}.now-date-time-calendar-grid-cell.is-now:active{background-color:RGB(var(--now-date-time_cell--background-color--now_active,var(--now-date-time_cell--background-color--active,var(--now-color--secondary-1,1,119,142))),var(--now-date-time_cell--background-color-alpha--now_active,var(--now-date-time_cell--background-color-alpha--active,var(--now-opacity--less,.25))));border-color:RGB(var(--now-date-time_cell--border-color--now_active,var(--now-color--secondary-3,1,60,71)));color:RGB(var(--now-date-time_cell--color--now_active,var(--now-color--secondary-3,1,60,71)))}.now-date-time-calendar-grid-cell.is-selected{background-color:RGB(var(--now-date-time_cell--background-color--selected,var(--now-color--secondary-1,1,119,142)),var(--now-date-time_cell--background-color-alpha--selected,1));border-color:RGB(var(--now-date-time_cell--border-color--selected,var(--now-date-time_cell--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-date-time_cell--border-radius--selected,var(--now-date-time_cell--border-radius,.25rem));border-width:var(--now-date-time_cell--border-width--selected,var(--now-date-time_cell--border-width,0));color:RGB(var(--now-date-time_cell--color--selected,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255))))}.now-date-time-calendar-grid-cell.is-selected:hover{background-color:RGB(var(--now-date-time_cell--background-color--selected_hover,var(--now-color--secondary-2,1,89,107)),var(--now-date-time_cell--background-color-alpha--selected_hover,1));border-color:RGB(var(--now-date-time_cell--border-color--selected_hover,var(--now-date-time_cell--border-color--hover,var(--now-date-time_cell--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))));color:RGB(var(--now-date-time_cell--color--selected_hover,var(--now-date-time_cell--color--selected,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-date-time-calendar-grid-cell.is-selected:active{background-color:RGB(var(--now-date-time_cell--background-color--selected_active,var(--now-color--secondary-3,1,60,71)),var(--now-date-time_cell--background-color-alpha--selected_active,1));border-color:RGB(var(--now-date-time_cell--border-color--selected_active,var(--now-date-time_cell--border-color--active,var(--now-date-time_cell--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))));color:RGB(var(--now-date-time_cell--color--selected_active,var(--now-date-time_cell--color--selected,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-date-time-calendar-grid-cell.is-range{background-color:RGB(var(--now-date-time_cell--background-color--range,var(--now-color_selection--secondary-0,245,248,249)),var(--now-date-time_cell--background-color-alpha--range,1));border-color:RGB(var(--now-date-time_cell--border-color--range,var(--now-date-time_cell--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-date-time_cell--border-radius--range,var(--now-date-time_cell--border-radius,.25rem));border-width:var(--now-date-time_cell--border-width--range,var(--now-date-time_cell--border-width,0));color:RGB(var(--now-date-time_cell--color--range,var(--now-date-time_cell--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-date-time-calendar-grid-cell.is-range:hover{background-color:RGB(var(--now-date-time_cell--background-color--range_hover,var(--now-color_selection--secondary-1,237,243,245)),var(--now-date-time_cell--background-color-alpha--range_hover,1));border-color:RGB(var(--now-date-time_cell--border-color--range_hover,var(--now-date-time_cell--border-color--hover,var(--now-date-time_cell--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))));color:RGB(var(--now-date-time_cell--color--range_hover,var(--now-date-time_cell--color--range,var(--now-date-time_cell--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-date-time-calendar-grid-cell.is-range:active{background-color:RGB(var(--now-date-time_cell--background-color--range_active,var(--now-date-time_cell--background-color--range,var(--now-color_selection--secondary-0,245,248,249))),var(--now-date-time_cell--background-color-alpha--range_active,1));border-color:RGB(var(--now-date-time_cell--border-color--range_active,var(--now-date-time_cell--border-color--active,var(--now-date-time_cell--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))));color:RGB(var(--now-date-time_cell--color--range_active,var(--now-date-time_cell--color--range,var(--now-date-time_cell--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-date-time-calendar-grid-cell.is-week-range{background-color:RGB(var(--now-date-time_cell--background-color--week-range,var(--now-color_selection--secondary-0,245,248,249)),var(--now-date-time_cell--background-color-alpha--week-range,1));border-color:RGB(var(--now-date-time_cell--border-color--week-range,var(--now-date-time_cell--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-date-time_cell--border-radius--week-range,var(--now-date-time_cell--border-radius,.25rem));border-width:var(--now-date-time_cell--border-width--week-range,var(--now-date-time_cell--border-width,0));color:RGB(var(--now-date-time_cell--color--week-range,var(--now-date-time_cell--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-date-time-calendar-grid-cell.is-week-range:hover{background-color:RGB(var(--now-date-time_cell--background-color--week-range_hover,var(--now-date-time_cell--background-color--week-range,var(--now-color_selection--secondary-0,245,248,249))),var(--now-date-time_cell--background-color-alpha--week-range_hover,var(--now-date-time_cell--background-color-alpha--week-range,1)));border-color:RGB(var(--now-date-time_cell--border-color--week-range_hover,var(--now-date-time_cell--border-color--week-range,var(--now-date-time_cell--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))));color:RGB(var(--now-date-time_cell--color--range_hover,var(--now-date-time_cell--color--range,var(--now-date-time_cell--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-date-time-calendar-grid-cell.is-week-range:active{background-color:RGB(var(--now-date-time_cell--background-color--week-range_active,var(--now-date-time_cell--background-color--week-range,var(--now-color_selection--secondary-0,245,248,249))),var(--now-date-time_cell--background-color-alpha--week-range_active,var(--now-date-time_cell--background-color-alpha--week-range,1)));border-color:RGB(var(--now-date-time_cell--border-color--week-range_active,var(--now-date-time_cell--border-color--week-range,var(--now-date-time_cell--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))));color:RGB(var(--now-date-time_cell--color--week-range_active,var(--now-date-time_cell--color--week-range,var(--now-date-time_cell--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-date-time-calendar-grid-cell.is-week-preview{background-color:RGB(var(--now-date-time_cell--background-color--week-preview,var(--now-color--secondary-1,1,119,142)),var(--now-date-time_cell--background-color-alpha--week-preview,var(--now-opacity--least,.1)));border-color:RGB(var(--now-date-time_cell--border-color--week-preview,var(--now-date-time_cell--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-date-time_cell--border-radius--week-preview,var(--now-date-time_cell--border-radius,.25rem));border-width:var(--now-date-time_cell--border-width--week-preview,var(--now-date-time_cell--border-width,0));color:RGB(var(--now-date-time_cell--color--week-preview,var(--now-date-time_cell--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-date-time-calendar-grid-cell.is-week-preview:hover{background-color:RGB(var(--now-date-time_cell--background-color--week-preview_hover,var(--now-date-time_cell--background-color--week-preview,var(--now-color--secondary-1,1,119,142))),var(--now-date-time_cell--background-color-alpha--week-preview_hover,var(--now-date-time_cell--background-color-alpha--week-preview,var(--now-opacity--least,.1))));border-color:RGB(var(--now-date-time_cell--border-color--week-preview_hover,var(--now-date-time_cell--border-color--hover,var(--now-date-time_cell--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))));color:RGB(var(--now-date-time_cell--color--range_hover,var(--now-date-time_cell--color--range,var(--now-date-time_cell--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-date-time-calendar-grid-cell.is-week-preview:active{background-color:RGB(var(--now-date-time_cell--background-color--week-preview_active,var(--now-date-time_cell--background-color--week-preview,var(--now-color--secondary-1,1,119,142))),var(--now-date-time_cell--background-color-alpha--week-preview_active,var(--now-date-time_cell--background-color-alpha--week-preview,var(--now-opacity--least,.1))));border-color:RGB(var(--now-date-time_cell--border-color--week-preview_active,var(--now-date-time_cell--border-color--active,var(--now-date-time_cell--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))));color:RGB(var(--now-date-time_cell--color--week-preview_active,var(--now-date-time_cell--color--week-preview,var(--now-date-time_cell--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-date-time-calendar-grid-cell.is-preview{background-color:RGB(var(--now-date-time_cell--background-color--preview,var(--now-color_selection--secondary-0,245,248,249)),var(--now-date-time_cell--background-color-alpha--preview,1));border-color:RGB(var(--now-date-time_cell--border-color--preview,var(--now-date-time_cell--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-date-time_cell--border-radius--preview,var(--now-date-time_cell--border-radius,.25rem));border-width:var(--now-date-time_cell--border-width--preview,var(--now-date-time_cell--border-width,0));color:RGB(var(--now-date-time_cell--color--preview,var(--now-date-time_cell--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-date-time-calendar-grid-cell.is-disabled{cursor:not-allowed;opacity:var(--now-date-time_cell--opacity--disabled,var(--now-date-time--opacity--disabled,var(--now-opacity--less,.25)))}.now-date-time-calendar-input-time{-webkit-margin-before:0;-webkit-margin-after:calc(1rem*var(--now-date-time--scale-size-block, 1));margin-block-end:calc(1rem*var(--now-date-time--scale-size-block, 1));margin-block-start:0;margin-inline:calc(1rem*var(--now-date-time--scale-size-inline, 1))}.now-date-time-calendar-input-time.-interval{display:flex;gap:calc(.5rem*var(--now-date-time--scale-size-inline, 1))}.now-date-time-calendar-footer{--now-button--bare--font-family:var(--now-date-time_footer--font-family,var(--now-date-time--font-family,var(--now-menu--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));--now-button--bare--font-style:var(--now-date-time_footer--font-style,var(--now-date-time--font-style,var(--now-menu--font-style,normal)));--now-button--bare--font-weight:var(--now-date-time_footer--font-weight,var(--now-date-time--font-weight,bold));--now-button--bare--text-transform:var(--now-date-time_footer--text-transform,var(--now-date-time--text-transform,var(--now-menu--text-transform,none)));background-color:RGB(var(--now-date-time_footer--background-color,var(--now-date-time--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));border-block-start-color:RGB(var(--now-date-time_footer-divider--color,var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214))));border-block-start-style:solid;border-block-start-width:var(--now-date-time_footer-divider--width,1px);display:flex;justify-content:center;padding-block:calc(1rem*var(--now-date-time--scale-size-block, 1));padding-inline:calc(1rem*var(--now-date-time--scale-size-inline, 1))}.now-date-time-calendar-footer.has-footer-actions{--now-button--font-family:var(--now-date-time_footer--font-family,var(--now-date-time--font-family,var(--now-menu--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));--now-button--font-style:var(--now-date-time_footer--font-style,var(--now-date-time--font-style,var(--now-menu--font-style,normal)));--now-button--font-weight:var(--now-date-time_footer--font-weight,var(--now-date-time--font-weight,bold));--now-button--text-transform:var(--now-date-time_footer--text-transform,var(--now-date-time--text-transform,var(--now-menu--text-transform,none)))}.now-date-time-calendar-footer.has-footer-actions .now-date-time-calendar-footer-action:first-child{-webkit-margin-end:auto;margin-inline-end:auto}.now-date-time-calendar-footer.has-footer-actions .now-date-time-calendar-footer-action:not(:first-child){-webkit-margin-start:calc(.5rem*var(--now-date-time_footer--scale-size, 1));margin-inline-start:calc(.5rem*var(--now-date-time_footer--scale-size, 1))}.now-date-time-calendar-footer.-interval{justify-content:flex-end}.now-date-time-calendar-footer.-interval .now-date-time-calendar-footer-action:first-child{-webkit-margin-end:unset;margin-inline-end:unset}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop+.now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}@media(forced-colors:active){.now-date-time-calendar-control-button .now-line-height-crop{forced-color-adjust:none}.now-date-time-calendar-grid-cell{background-color:buttonface;color:buttontext!important}.now-date-time-calendar-grid-cell:hover:not(.is-disabled){background-color:highlighttext;border-color:highlight;border-width:1px;color:highlight!important}.now-date-time-calendar-grid-cell.is-now{border-color:buttonborder}.now-date-time-calendar-grid-cell.is-preview:not(:hover,:focus),.now-date-time-calendar-grid-cell.is-range,.now-date-time-calendar-grid-cell.is-selected,.now-date-time-calendar-grid-cell.is-week-preview,.now-date-time-calendar-grid-cell.is-week-range{background-color:selecteditem;color:selecteditemtext!important}.now-date-time-calendar-grid-cell.is-disabled{color:graytext!important;opacity:1}.now-date-time-calendar-grid-cell.is-disabled.is-selected{background-color:graytext!important;color:buttonface!important}.now-date-time-calendar-grid-cell span{forced-color-adjust:none}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-m-block--xs{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-block-start:.25rem}.now-m-block-start--xs{-webkit-margin-before:.25rem;margin-block-start:.25rem}.now-m-block-end--xs{-webkit-margin-after:.25rem;margin-block-end:.25rem}.now-m-inline--xs{-webkit-margin-start:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem;margin-inline-start:.25rem}.now-m-inline-start--xs{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-m-inline-end--xs{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-message{-webkit-margin-before:.25rem;border-radius:var(--now-form-field_message--border-radius,.125rem);border-style:solid;border-width:var(--now-form-field_message--border-width,0);display:flex;font-family:var(--now-form-field_message--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,normal);font-weight:var(--now-form-field_message--font-weight,normal);inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,none);word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205)));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129)));color:RGB(var(--now-form-field_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-field_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96)));color:RGB(var(--now-form-field_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-field_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202)));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123)));color:RGB(var(--now-form-field_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-field_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-color_alert--info-0,195,221,240)));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-color_alert--info-1,104,171,218)));color:RGB(var(--now-form-field_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-field_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-form-field_message--suggestion--background-color-alpha,0));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-field_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}:host{display:inline-block;margin-block:calc(var(--now-scale-space--sm, 1)*.5rem)}.now-date-time-interval{align-items:flex-end;display:flex;flex-flow:wrap}.now-date-time-interval.-vertical{flex-direction:column}.now-date-time-interval.-vertical.-md-sm{gap:calc(.5rem*var(--now-date-time--scale-size-block, 1))}.now-date-time-interval.-vertical.-md-md{gap:calc(.75rem*var(--now-date-time--scale-size-block, 1))}.now-date-time-interval.-vertical.-md-lg{gap:calc(1rem*var(--now-date-time--scale-size-block, 1))}.now-date-time-interval.-vertical.-sm-sm{gap:calc(.375rem*var(--now-date-time--scale-size-block, 1))}.now-date-time-interval.-vertical.-sm-md{gap:calc(.5625rem*var(--now-date-time--scale-size-block, 1))}.now-date-time-interval.-vertical.-sm-lg{gap:calc(.75rem*var(--now-date-time--scale-size-block, 1))}.now-date-time-interval.-adaptive.-md-sm{gap:calc(.5rem*var(--now-date-time--scale-size-inline, 1))}.now-date-time-interval.-adaptive.-md-md{gap:calc(.75rem*var(--now-date-time--scale-size-inline, 1))}.now-date-time-interval.-adaptive.-md-lg{gap:calc(1rem*var(--now-date-time--scale-size-inline, 1))}.now-date-time-interval.-adaptive.-sm-sm{gap:calc(.375rem*var(--now-date-time--scale-size-inline, 1))}.now-date-time-interval.-adaptive.-sm-md{gap:calc(.5625rem*var(--now-date-time--scale-size-inline, 1))}.now-date-time-interval.-adaptive.-sm-lg{gap:calc(.75rem*var(--now-date-time--scale-size-inline, 1))}.now-date-time-interval.-horizontal-field-layout{align-items:center;flex-direction:column}.now-date-time-input{flex:1;inline-size:100%;margin-block:0;min-inline-size:9.375rem}.now-date-time-slot{align-items:center;display:flex}.now-date-time-slot.-sm.-start ::slotted(*){margin-inline:0 .25rem!important}.now-date-time-slot.-sm.-end ::slotted(*){margin-inline:.5rem 0!important}.now-date-time-slot.-md.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.now-date-time-slot.-md.-start ::slotted(.is-first-child){-webkit-margin-start:0!important;margin-inline-start:0!important}.now-date-time-slot.-md.-end ::slotted(*){-webkit-margin-start:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important;margin-inline-start:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.now-date-time-input-icon{align-self:center}.now-date-time-input-icon.-sm{-webkit-padding-start:.5rem!important;padding-inline-start:.5rem!important}.now-date-time-input-icon.-md{padding-inline:.625rem .375rem!important}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:inline-block;margin-block:calc(var(--now-scale-space--sm, 1)*.5rem)}.now-date-time-input{inline-size:100%;margin-block:0}.now-date-time-slot{align-items:center;display:flex}.now-date-time-slot.-sm.-start ::slotted(*){margin-inline:0 .25rem!important}.now-date-time-slot.-sm.-end ::slotted(*){margin-inline:.5rem 0!important}.now-date-time-slot.-md.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.now-date-time-slot.-md.-start ::slotted(:first-child){-webkit-margin-start:0!important;margin-inline-start:0!important}.now-date-time-slot.-md.-end ::slotted(*){-webkit-margin-start:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important;margin-inline-start:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.now-date-time-input-icon{align-self:center}.now-date-time-input-icon.-sm{-webkit-padding-start:.5rem!important;padding-inline-start:.5rem!important}.now-date-time-input-icon.-md{padding-inline:.625rem .375rem!important}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:inline-block;margin-block:calc(var(--now-scale-space--sm, 1)*.5rem)}.now-input-date-time-input{inline-size:100%;margin-block:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-m-block--lg{-webkit-margin-before:1rem;-webkit-margin-after:1rem;margin-block-end:1rem;margin-block-start:1rem}.now-m-block-start--lg{-webkit-margin-before:1rem;margin-block-start:1rem}.now-m-block-end--lg{-webkit-margin-after:1rem;margin-block-end:1rem}.now-m-inline--lg{-webkit-margin-start:1rem;-webkit-margin-end:1rem;margin-inline-end:1rem;margin-inline-start:1rem}.now-m-inline-start--lg{-webkit-margin-start:1rem;margin-inline-start:1rem}.now-m-inline-end--lg{-webkit-margin-end:1rem;margin-inline-end:1rem}.now-date-time-presets{display:flex;flex-wrap:wrap}.now-date-time-presets-list{-webkit-border-end:var(--now-date-time_presets-divider--width,1px) solid RGB(var(--now-date-time_presets-divider--color,var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214))));block-size:17.5rem;border-inline-end:var(--now-date-time_presets-divider--width,1px) solid RGB(var(--now-date-time_presets-divider--color,var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214))));flex-grow:1;min-inline-size:12.5rem;overflow-y:auto}.now-date-time-presets-list.is-wrapped{-webkit-border-after:var(--now-date-time_presets-divider--width,1px) solid RGB(var(--now-date-time_presets-divider--color,var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214))));-webkit-border-end:none;border-block-end:var(--now-date-time_presets-divider--width,1px) solid RGB(var(--now-date-time_presets-divider--color,var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214))));border-inline-end:none}.now-date-time-presets-listitem{-webkit-padding-start:.5rem;background-color:RGB(var(--now-date-time_presets-item--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));color:RGB(var(--now-date-time_presets-item--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));display:flex;font-family:var(--now-date-time_presets-item--font-family,var(--now-date-time--font-family,var(--now-menu--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-menu_label--font-size--md,var(--now-font-size--md1,1rem));font-style:var(--now-date-time_presets-item--font-style,var(--now-date-time--font-style,var(--now-menu--font-style,normal)));font-weight:var(--now-date-time_presets-item--font-weight,normal);line-height:1.25;padding-block:.5rem;padding-inline-start:.5rem;text-transform:var(--now-date-time_presets-item--text-transform,var(--now-date-time--text-transform,var(--now-menu--text-transform,none)))}.now-date-time-presets-listitem::-moz-focus-inner{border-style:none}.now-date-time-presets-listitem:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.now-date-time-presets-listitem:focus{outline:1px solid highlight}}.now-date-time-presets-listitem:hover{background-color:RGB(var(--now-date-time_presets-item--background-color--hover,var(--now-color_selection--secondary-0,245,248,249)),var(--now-date-time_presets-item--background-color-alpha--hover,1));color:RGB(var(--now-date-time_presets-item--color--hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));cursor:pointer}.now-date-time-presets-checkmark{color:RGB(var(--now-date-time_presets-item_checkmark--color,var(--now-color_selection--primary-2,30,133,109)));inline-size:1rem}.now-date-time-presets-header{background-color:RGB(var(--now-date-time_presets-header--background-color,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231))));color:RGB(var(--now-date-time_presets-header--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))));font-family:var(--now-date-time_presets-header--font-family,var(--now-date-time--font-family,var(--now-menu--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-menu_header--font-size--sm,var(--now-display-type_header--font-size--sm,var(--now-font-size--sm,.75rem)));font-style:var(--now-date-time_presets-header--font-style,var(--now-date-time--font-style,var(--now-menu--font-style,normal)));font-weight:var(--now-date-time_presets-header--font-weight,normal);line-height:1.3333;padding:.25rem;text-transform:var(--now-date-time_presets-header--text-transform,var(--now-date-time--text-transform,var(--now-menu--text-transform,none)))}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-align{display:flex}.now-align.-row.-reverse{flex-direction:row-reverse}.now-align.-column{flex-direction:column}.now-align.-column.-reverse{flex-direction:column-reverse}.now-align.-wrap{flex-wrap:wrap}.now-align.-inline{justify-content:space-between}.now-align.-inline-center{justify-content:center}.now-align.-inline-end{justify-content:flex-end}.now-align.-block-start{align-items:flex-start}.now-align.-block-center{align-items:center}.now-align.-block-end{align-items:flex-end}.now-m-block--xxs{-webkit-margin-before:.125rem;-webkit-margin-after:.125rem;margin-block-end:.125rem;margin-block-start:.125rem}.now-m-block-start--xxs{-webkit-margin-before:.125rem;margin-block-start:.125rem}.now-m-block-end--xxs{-webkit-margin-after:.125rem;margin-block-end:.125rem}.now-m-inline--xxs{-webkit-margin-start:.125rem;-webkit-margin-end:.125rem;margin-inline-end:.125rem;margin-inline-start:.125rem}.now-m-inline-start--xxs{-webkit-margin-start:.125rem;margin-inline-start:.125rem}.now-m-inline-end--xxs{-webkit-margin-end:.125rem;margin-inline-end:.125rem}.now-m-block--xs{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-block-start:.25rem}.now-m-block-start--xs{-webkit-margin-before:.25rem;margin-block-start:.25rem}.now-m-block-end--xs{-webkit-margin-after:.25rem;margin-block-end:.25rem}.now-m-inline--xs{-webkit-margin-start:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem;margin-inline-start:.25rem}.now-m-inline-start--xs{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-m-inline-end--xs{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-m-block--sm{-webkit-margin-before:.5rem;-webkit-margin-after:.5rem;margin-block-end:.5rem;margin-block-start:.5rem}.now-m-block-start--sm{-webkit-margin-before:.5rem;margin-block-start:.5rem}.now-m-block-end--sm{-webkit-margin-after:.5rem;margin-block-end:.5rem}.now-m-inline--sm{-webkit-margin-start:.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem;margin-inline-start:.5rem}.now-m-inline-start--sm{-webkit-margin-start:.5rem;margin-inline-start:.5rem}.now-m-inline-end--sm{-webkit-margin-end:.5rem;margin-inline-end:.5rem}.now-p-block--sm{-webkit-padding-before:.5rem;-webkit-padding-after:.5rem;padding-block-end:.5rem;padding-block-start:.5rem}.now-p-block-start--sm{-webkit-padding-before:.5rem;padding-block-start:.5rem}.now-p-block-end--sm{-webkit-padding-after:.5rem;padding-block-end:.5rem}.now-p-inline--sm{-webkit-padding-start:.5rem;-webkit-padding-end:.5rem;padding-inline-end:.5rem;padding-inline-start:.5rem}.now-p-inline-start--sm{-webkit-padding-start:.5rem;padding-inline-start:.5rem}.now-p-inline-end--sm{-webkit-padding-end:.5rem;padding-inline-end:.5rem}:host{display:block}.now-dropdown-list{background-color:RGB(var(--now-dropdown-list--background-color,var(--now-menu-list--primary--background-color,var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));block-size:inherit;color:RGB(var(--now-dropdown-list--color,var(--now-menu-list_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;flex-direction:column;font-family:var(--now-dropdown-list--font-family,var(--now-menu-list_label--primary--font-family,var(--now-menu--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:normal;font-variant:normal;font-weight:400;letter-spacing:inherit;max-block-size:inherit;max-inline-size:100%;outline:none;text-indent:0;text-shadow:none;text-transform:none;white-space:normal;word-spacing:inherit}.now-dropdown-list-item-container{block-size:100%;border-color:RGB(var(--now-dropdown-list--border-color,var(--now-menu_container--primary--border-color,var(--now-menu--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))));border-radius:var(--now-popover--border-radius,var(--now-menu_container--primary--border-radius,var(--now-menu--border-radius,4px)));border-style:solid;border-width:var(--now-dropdown-list--border-width,var(--now-menu_container--primary--border-width,var(--now-menu--border-width,1px)));outline:none;overflow:auto}.now-dropdown-list-search+.now-dropdown-list-item-container{border-block-start-width:0;border-start-end-radius:0;border-start-start-radius:0}.now-dropdown-list-item-img{border-radius:.125rem;object-fit:cover}.now-dropdown-list-item{-webkit-padding-start:calc(.5rem*var(--now-dropdown-list_item--scale-size-inline, var(--now-button--scale-size-inline, 1)));-webkit-padding-end:calc(1rem*var(--now-dropdown-list_item--scale-size-inline, var(--now-button--scale-size-inline, 1)));align-items:center;background-color:RGB(var(--now-dropdown-list--background-color,var(--now-menu-list--primary--background-color,var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));color:RGB(var(--now-dropdown-list--color,var(--now-menu-list_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;padding-inline-end:calc(1rem*var(--now-dropdown-list_item--scale-size-inline, var(--now-button--scale-size-inline, 1)));padding-inline-start:calc(.5rem*var(--now-dropdown-list_item--scale-size-inline, var(--now-button--scale-size-inline, 1)))}.now-dropdown-list-item.-sm{padding-block:.25rem;padding-inline:.25rem .5rem}.now-dropdown-list-item.-sm .now-dropdown-list-item-img{block-size:1.125rem;inline-size:1.125rem}.now-dropdown-list-item.-md{padding-block:calc(.5rem*var(--now-dropdown-list_item--scale-size-block, var(--now-button--scale-size-block, 1)))}.now-dropdown-list-item.-md .now-dropdown-list-item-img{block-size:1.5rem;inline-size:1.5rem}.now-dropdown-list-item.-md .now-dropdown-list-item-img,.now-dropdown-list-item.-sm .now-dropdown-list-item-img{margin-inline:.125rem .25rem}.now-dropdown-list-item.is-selected{background-color:RGB(var(--now-dropdown-list--background-color--selected,var(--now-menu-list--primary--background-color--selected,var(--now-menu-list--primary--background-color,var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))))));color:RGB(var(--now-dropdown-list--color--selected,var(--now-menu-list_label--primary--color--selected,var(--now-menu-list_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-dropdown-list-item.is-focused{background-color:RGB(var(--now-dropdown-list--background-color--focus,var(--now-menu-list--primary--background-color--focus,var(--now-color--interactive-0,217,235,238))),var(--now-dropdown-list--background-color-alpha--focus,var(--now-menu-list--primary--background-color-alpha--focus,var(--now-opacity--mid,.5))));box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));color:RGB(var(--now-dropdown-list--color--focus,var(--now-menu-list_label--primary--color--focus,var(--now-menu-list_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))));cursor:pointer;outline:none}.now-dropdown-list-item.is-disabled{color:RGB(var(--now-dropdown-list--color--disabled,var(--now-menu-list_label--primary--color--disabled,var(--now-menu-list_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))),var(--now-dropdown-list--opacity--disabled,var(--now-menu-list--primary--opacity--disabled,var(--now-opacity--less,.25))));cursor:not-allowed}.now-dropdown-list-item.is-disabled .now-dropdown-list-item-img{opacity:var(--now-dropdown-list--opacity--disabled,var(--now-menu-list--primary--opacity--disabled,var(--now-opacity--less,.25)))}.now-dropdown-list-item .has-highlight{background-color:RGB(var(--now-dropdown-list--background-color--highlighted,var(--now-menu-list_label--primary--background-color--highlighted,var(--now-color_alert--warning-0,244,240,191))));color:RGB(var(--now-dropdown-list--color--highlighted,var(--now-menu-list_label--primary--color--highlighted,var(--now-menu-list_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))));font-weight:600}.now-dropdown-list-item.is-select-none{-webkit-padding-start:calc(1rem*var(--now-dropdown-list_item--scale-size-inline, var(--now-button--scale-size-inline, 1)));padding-inline-start:calc(1rem*var(--now-dropdown-list_item--scale-size-inline, var(--now-button--scale-size-inline, 1)))}.now-dropdown-list-item.-sm.is-select-none{-webkit-padding-start:.5rem;padding-inline-start:.5rem}.now-dropdown-list-checkmark{-webkit-margin-end:.125rem;color:RGB(var(--now-dropdown-list_checkmark--color,var(--now-menu-list_selection--primary--color,var(--now-color_selection--primary-2,30,133,109))));flex-shrink:0;inline-size:1rem;margin-inline-end:.125rem}.is-focused .now-dropdown-list-checkmark{color:RGB(var(--now-dropdown-list_checkmark--color--focus,var(--now-menu-list_selection--primary--color--focus,var(--now-color_selection--primary-2,30,133,109))))}.is-disabled .now-dropdown-list-checkmark{color:RGB(var(--now-dropdown-list_checkmark--color,var(--now-menu-list_selection--primary--color,var(--now-color_selection--primary-2,30,133,109))),var(--now-opacity--less,.25))}.-sm .now-dropdown-list-checkmark{inline-size:.75rem}.now-dropdown-list-icon{color:RGB(var(--now-dropdown-list_icon--color,var(--now-menu-list_icon--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.is-selected .now-dropdown-list-icon{color:RGB(var(--now-dropdown-list_icon--color--selected,var(--now-menu-list_icon--primary--color--selected,var(--now-menu-list_icon--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.is-focused .now-dropdown-list-icon{color:RGB(var(--now-dropdown-list_icon--color--focus,var(--now-menu-list_icon--primary--color--focus,var(--now-menu-list_icon--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-dropdown-list-labels{min-inline-size:0}.now-dropdown-list-label{align-items:center;display:flex;font-family:var(--now-dropdown-list--font-family,var(--now-menu-list_label--primary--font-family,var(--now-menu--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-dropdown-list--font-style,var(--now-menu-list_label--primary--font-style,var(--now-menu--font-style,normal)));font-weight:var(--now-dropdown-list--font-weight,var(--now-menu-list_label--primary--font-weight,var(--now-menu--font-weight,normal)));min-block-size:1rem;text-transform:var(--now-dropdown-list--text-transform,var(--now-menu-list_label--primary--text-transform,var(--now-menu--text-transform,none)))}.-sm .now-dropdown-list-label{font-size:var(--now-menu_label--font-size--sm,var(--now-font-size--sm,.75rem));line-height:1.3333}.-sm .now-dropdown-list-label .now-line-height-crop{display:block}.-sm .now-dropdown-list-label .now-line-height-crop:after,.-sm .now-dropdown-list-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-sm .now-dropdown-list-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.-sm .now-dropdown-list-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.-sm .now-dropdown-list-label .now-line-height-crop+.-sm .now-dropdown-list-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-sm .now-dropdown-list-label .now-line-height-crop:first-child{min-inline-size:0}.-md .now-dropdown-list-label{font-size:var(--now-menu_label--font-size--md,var(--now-font-size--md1,1rem));line-height:1.25}.-md .now-dropdown-list-label .now-line-height-crop{display:block}.-md .now-dropdown-list-label .now-line-height-crop:after,.-md .now-dropdown-list-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-md .now-dropdown-list-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-md .now-dropdown-list-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-md .now-dropdown-list-label .now-line-height-crop+.-md .now-dropdown-list-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.-md .now-dropdown-list-label .now-line-height-crop:first-child{min-inline-size:0}.now-dropdown-list-sublabel{color:RGB(var(--now-dropdown-list_sublabel--color,var(--now-menu-list_sublabel--primary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))));font-family:var(--now-dropdown-list_sublabel--font-family,var(--now-menu-list_sublabel--primary--font-family,var(--now-menu_sublabel--font-family,var(--now-menu--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-menu_sublabel--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-dropdown-list_sublabel--font-style,var(--now-menu-list_sublabel--primary--font-style,var(--now-menu_sublabel--font-style,var(--now-menu--font-style,normal))));font-weight:var(--now-dropdown-list_sublabel--font-weight,var(--now-menu-list_sublabel--primary--font-weight,var(--now-menu_sublabel--font-weight,var(--now-menu--font-weight,normal))));line-height:1.3333;text-transform:var(--now-dropdown-list_sublabel--text-transform,var(--now-menu-list_sublabel--primary--text-transform,var(--now-menu_sublabel--text-transform,var(--now-menu--text-transform,none))))}.is-selected .now-dropdown-list-sublabel{color:RGB(var(--now-dropdown-list_sublabel--color--selected,var(--now-menu-list_sublabel--primary--color--selected,var(--now-menu-list_sublabel--primary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))))))}.is-focused .now-dropdown-list-sublabel{color:RGB(var(--now-dropdown-list_sublabel--color--focus,var(--now-menu-list_sublabel--primary--color--focus,var(--now-menu-list_sublabel--primary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))))))}.is-disabled .now-dropdown-list-sublabel{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)),.3)}.now-dropdown-list-label-highlighted,.now-dropdown-list-sublabel{word-break:break-word}.now-dropdown-list-header{align-items:center;background-color:RGB(var(--now-dropdown-list_heading--background-color,var(--now-menu-list_header--primary--background-color,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))));color:RGB(var(--now-dropdown-list_heading--color,var(--now-menu-list_header--primary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))));display:flex;font-family:var(--now-dropdown-list_heading--font-family,var(--now-menu-list_header--primary--font-family,var(--now-menu_heading--font-family,var(--now-menu--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-menu_header--font-size--sm,var(--now-display-type_header--font-size--sm,var(--now-font-size--sm,.75rem)));font-style:var(--now-dropdown-list_heading--font-style,var(--now-menu-list_header--primary--font-style,var(--now-menu_heading--font-style,var(--now-menu--font-style,normal))));font-weight:var(--now-dropdown-list_heading--font-weight,var(--now-menu-list_header--primary--font-weight,var(--now-menu_heading--font-weight,var(--now-menu--font-weight,normal))));padding-block:calc(.5rem*var(--now-dropdown-list_heading--scale-size-block, var(--now-button--scale-size-block, 1)));padding-inline:calc(.5rem*var(--now-dropdown-list_heading--scale-size-inline, var(--now-button--scale-size-inline, 1)));text-transform:var(--now-dropdown-list_heading--text-transform,var(--now-menu-list_header--primary--text-transform,var(--now-menu_heading--text-transform,var(--now-menu--text-transform,none))))}.now-dropdown-list-header .now-line-height-crop{display:block;min-inline-size:0}.now-dropdown-list-header .now-line-height-crop:after,.now-dropdown-list-header .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-dropdown-list-header .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-dropdown-list-header .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-dropdown-list-header .now-line-height-crop+.now-dropdown-list-header .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-dropdown-ul{-webkit-padding-start:0;list-style-type:none;margin-block:0;padding-inline-start:0}.now-dropdown-list-divider{-webkit-border-after:none;-webkit-border-start:none;-webkit-border-end:none;border-block-end:none;border-block-start-color:RGB(var(--now-dropdown-list_divider--color,var(--now-menu-list_divider--tertiary--color,var(--now-menu_divider--color,var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214))))));border-block-start-style:solid;border-block-start-width:var(--now-dropdown-list_divider--width,var(--now-menu-list_divider--tertiary--width,var(--now-menu_divider--width,1px)));border-inline-end:none;border-inline-start:none;margin-block:0}.now-dropdown-list-search{align-items:center;background-color:RGB(var(--now-dropdown-list_search--background-color,var(--now-menu_input--primary--background-color,var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));block-size:calc(1rem + var(--now-dropdown-list_item--scale-size-block, var(--now-button--scale-size-block, 1))*2rem/2);border-block-end-color:RGB(var(--now-dropdown-list_search--border-color,var(--now-menu_input--primary--border-color,var(--now-menu--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))));border-block-end-width:var(--now-dropdown-list_search--border-width,var(--now-menu_input--primary--border-width,1px));border-block-start-color:RGB(var(--now-dropdown-list--border-color,var(--now-menu_container--primary--border-color,var(--now-menu--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))));border-block-start-width:var(--now-dropdown-list--border-width,var(--now-menu_container--primary--border-width,var(--now-menu--border-width,1px)));border-inline-color:RGB(var(--now-dropdown-list--border-color,var(--now-menu_container--primary--border-color,var(--now-menu--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))));border-inline-width:var(--now-dropdown-list--border-width,var(--now-menu_container--primary--border-width,var(--now-menu--border-width,1px)));border-start-end-radius:var(--now-popover--border-radius,var(--now-menu_container--primary--border-radius,var(--now-menu--border-radius,4px)));border-start-start-radius:var(--now-popover--border-radius,var(--now-menu_container--primary--border-radius,var(--now-menu--border-radius,4px)));border-style:solid;display:flex;flex-shrink:0}.now-dropdown-list-search:hover{background:RGB(var(--now-dropdown-list_search--background-color--hover,var(--now-menu_input--primary--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233)))))}.now-dropdown-list-search.-sm{block-size:1.5rem}.now-dropdown-list-search-field{background-color:transparent;block-size:100%;border:none;color:var(--now-dropdown-list_search--color,var(--now-menu_input_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));flex:1;font-family:var(--now-dropdown-list_search--font-family,var(--now-menu_input--primary--font-family,var(--now-form-control_value--primary--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-menu_field--font-size--sm,var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem)));font-style:var(--now-dropdown-list_search--font-style,var(--now-menu_input--primary--font-style,var(--now-form-control_value--primary--font-style,var(--now-form-control--font-style,normal))));font-variant:normal;font-weight:var(--now-dropdown-list_search--font-weight,var(--now-menu_input--primary--font-weight,var(--now-form-control_value--primary--font-weight,var(--now-form-control--font-weight,normal))));inline-size:100%;letter-spacing:inherit;line-height:1.3333;outline:none;padding-block:0;padding-inline:0 .5rem;text-indent:0;text-shadow:none;text-transform:var(--now-dropdown-list_search--text-transform,var(--now-menu_input--primary--text-transform,var(--now-form-control_value--primary--text-transform,var(--now-form-control--text-transform,none))));white-space:normal;word-spacing:inherit}.now-dropdown-list-search-field::-webkit-input-placeholder{color:RGB(var(--now-dropdown-list_search--color--placeholder,var(--now-menu_input_placeholder--primary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))));opacity:1}.now-dropdown-list-search-field::placeholder{color:RGB(var(--now-dropdown-list_search--color--placeholder,var(--now-menu_input_placeholder--primary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))));opacity:1}@media(forced-colors:active){.now-dropdown-list-item-container{border-color:highlight;border-width:1px}.now-dropdown-list-item.is-focused,.now-dropdown-list-item.is-selected.is-focused,.now-dropdown-list-item.is-selected:hover{background-color:highlight}.now-dropdown-list-item.is-focused .now-dropdown-list-labels,.now-dropdown-list-item.is-focused .now-dropdown-list-sublabel,.now-dropdown-list-item.is-selected.is-focused .now-dropdown-list-labels,.now-dropdown-list-item.is-selected.is-focused .now-dropdown-list-sublabel,.now-dropdown-list-item.is-selected:hover .now-dropdown-list-labels,.now-dropdown-list-item.is-selected:hover .now-dropdown-list-sublabel{color:highlighttext;forced-color-adjust:none}.now-dropdown-list-item.is-focused .now-dropdown-list-checkmark,.now-dropdown-list-item.is-focused .now-dropdown-list-icon,.now-dropdown-list-item.is-focused .now-dropdown-list-identifier,.now-dropdown-list-item.is-selected.is-focused .now-dropdown-list-checkmark,.now-dropdown-list-item.is-selected.is-focused .now-dropdown-list-icon,.now-dropdown-list-item.is-selected.is-focused .now-dropdown-list-identifier,.now-dropdown-list-item.is-selected:hover .now-dropdown-list-checkmark,.now-dropdown-list-item.is-selected:hover .now-dropdown-list-icon,.now-dropdown-list-item.is-selected:hover .now-dropdown-list-identifier{color:highlighttext}.now-dropdown-list-item.is-selected{background-color:selecteditem}.now-dropdown-list-item.is-selected .now-dropdown-list-labels,.now-dropdown-list-item.is-selected .now-dropdown-list-sublabel{color:selecteditemtext;forced-color-adjust:none}.now-dropdown-list-item.is-selected .now-dropdown-list-checkmark,.now-dropdown-list-item.is-selected .now-dropdown-list-icon,.now-dropdown-list-item.is-selected .now-dropdown-list-identifier{color:selecteditemtext}.now-dropdown-list-item.is-disabled,.now-dropdown-list-item.is-disabled:hover{background-color:canvas}.now-dropdown-list-item.is-disabled .now-dropdown-list-icon,.now-dropdown-list-item.is-disabled .now-dropdown-list-identifier,.now-dropdown-list-item.is-disabled .now-dropdown-list-labels,.now-dropdown-list-item.is-disabled .now-dropdown-list-sublabel,.now-dropdown-list-item.is-disabled:hover .now-dropdown-list-icon,.now-dropdown-list-item.is-disabled:hover .now-dropdown-list-identifier,.now-dropdown-list-item.is-disabled:hover .now-dropdown-list-labels,.now-dropdown-list-item.is-disabled:hover .now-dropdown-list-sublabel{color:graytext}.now-dropdown-list-item.is-disabled .now-dropdown-list-icon,.now-dropdown-list-item.is-disabled .now-dropdown-list-identifier,.now-dropdown-list-item.is-disabled .now-dropdown-list-item-img,.now-dropdown-list-item.is-disabled:hover .now-dropdown-list-icon,.now-dropdown-list-item.is-disabled:hover .now-dropdown-list-identifier,.now-dropdown-list-item.is-disabled:hover .now-dropdown-list-item-img{opacity:1}.now-dropdown-list-item .has-highlight{background-color:mark;color:marktext}.now-dropdown-list-divider{border-block-start-width:1px}.now-dropdown-list-search{border-block-start-color:highlight;border-inline-color:highlight}.now-dropdown-list-search-field::-webkit-input-placeholder{color:graytext}.now-dropdown-list-search-field::placeholder{color:graytext}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-m-block--xxs{-webkit-margin-before:.125rem;-webkit-margin-after:.125rem;margin-block-end:.125rem;margin-block-start:.125rem}.now-m-block-start--xxs{-webkit-margin-before:.125rem;margin-block-start:.125rem}.now-m-block-end--xxs{-webkit-margin-after:.125rem;margin-block-end:.125rem}.now-m-inline--xxs{-webkit-margin-start:.125rem;-webkit-margin-end:.125rem;margin-inline-end:.125rem;margin-inline-start:.125rem}.now-m-inline-start--xxs{-webkit-margin-start:.125rem;margin-inline-start:.125rem}.now-m-inline-end--xxs{-webkit-margin-end:.125rem;margin-inline-end:.125rem}.now-dropdown-panel{font-style:normal;font-variant:normal;font-weight:400;letter-spacing:inherit;overflow:auto;position:fixed;text-indent:0;text-shadow:none;text-transform:none;visibility:hidden;white-space:normal;word-spacing:inherit;z-index:1000}.now-dropdown-panel-list{-webkit-padding-start:0;block-size:100%;border-color:RGB(var(--now-dropdown-list--border-color,var(--now-menu_container--primary--border-color,var(--now-menu--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))));border-radius:var(--now-popover--border-radius,var(--now-menu_container--primary--border-radius,var(--now-menu--border-radius,4px)));border-style:solid;border-width:var(--now-dropdown-list--border-width,var(--now-menu_container--primary--border-width,var(--now-menu--border-width,1px)));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));list-style:none;margin-block:0;outline:none;overflow-y:auto;padding-inline-start:0}.now-dropdown-panel-item{-webkit-padding-start:calc(.5rem*var(--now-dropdown-list_item--scale-size-inline, var(--now-button--scale-size-inline, 1)));-webkit-padding-end:calc(1rem*var(--now-dropdown-list_item--scale-size-inline, var(--now-button--scale-size-inline, 1)));align-items:center;background-color:RGB(var(--now-dropdown-list--background-color,var(--now-menu-list--primary--background-color,var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));block-size:calc(1rem + var(--now-dropdown-list_item--scale-size-block, var(--now-button--scale-size-block, 1))*2rem/2);color:RGB(var(--now-dropdown-list--color,var(--now-menu-list_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-family:var(--now-dropdown-list--font-family,var(--now-menu-list_label--primary--font-family,var(--now-menu--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-menu_label--font-size--md,var(--now-font-size--md1,1rem));font-style:var(--now-dropdown-list--font-style,var(--now-menu-list_label--primary--font-style,var(--now-menu--font-style,normal)));font-weight:var(--now-dropdown-list--font-weight,var(--now-menu-list_label--primary--font-weight,var(--now-menu--font-weight,normal)));line-height:1.25;padding-inline-end:calc(1rem*var(--now-dropdown-list_item--scale-size-inline, var(--now-button--scale-size-inline, 1)));padding-inline-start:calc(.5rem*var(--now-dropdown-list_item--scale-size-inline, var(--now-button--scale-size-inline, 1)));text-transform:var(--now-dropdown-list--text-transform,var(--now-menu-list_label--primary--text-transform,var(--now-menu--text-transform,none)))}.now-dropdown-panel-item:focus{background-color:RGB(var(--now-dropdown-list--background-color--focus,var(--now-menu-list--primary--background-color--focus,var(--now-color--interactive-0,217,235,238))));color:RGB(var(--now-dropdown-list--color--focus,var(--now-menu-list_label--primary--color--focus,var(--now-menu-list_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))));cursor:pointer;outline:none}.now-dropdown-panel-item.is-disabled{color:RGB(var(--now-dropdown-list--color--disabled,var(--now-menu-list_label--primary--color--disabled,var(--now-menu-list_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))),var(--now-opacity--less,.25));cursor:not-allowed}.now-dropdown-panel-item .now-line-height-crop{display:block;min-inline-size:0}.now-dropdown-panel-item .now-line-height-crop:after,.now-dropdown-panel-item .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-dropdown-panel-item .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-dropdown-panel-item .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-dropdown-panel-item .now-line-height-crop+.now-dropdown-panel-item .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-dropdown-panel-item .now-line-height-crop+.now-line-height-crop{min-inline-size:auto}.now-dropdown-panel-labels{display:flex;min-inline-size:0}.now-dropdown-panel-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-dropdown-panel-label:after{content:\\\"\\\";display:block}.now-dropdown-panel-checkmark{-webkit-margin-end:.125rem;color:RGB(var(--now-dropdown-list_checkmark--color,var(--now-menu-list_selection--primary--color,var(--now-color_selection--primary-2,30,133,109))));margin-inline-end:.125rem;min-inline-size:1rem}.is-disabled .now-dropdown-panel-checkmark{color:RGB(var(--now-dropdown-list_checkmark--color,var(--now-menu-list_selection--primary--color,var(--now-color_selection--primary-2,30,133,109))),var(--now-opacity--less,.25))}.now-dropdown-panel-header{align-items:center;background-color:RGB(var(--now-dropdown-list_heading--background-color,var(--now-menu-list_header--primary--background-color,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))));block-size:calc(.75rem + var(--now-dropdown-list_heading--scale-size-block, var(--now-button--scale-size-block, 1))*1.5rem/2);color:RGB(var(--now-dropdown-list_heading--color,var(--now-menu-list_header--primary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))));display:flex;font-family:var(--now-dropdown-list_heading--font-family,var(--now-menu-list_header--primary--font-family,var(--now-menu_heading--font-family,var(--now-menu--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-menu_header--font-size--sm,var(--now-display-type_header--font-size--sm,var(--now-font-size--sm,.75rem)));font-style:var(--now-dropdown-list_heading--font-style,var(--now-menu-list_header--primary--font-style,var(--now-menu_heading--font-style,var(--now-menu--font-style,normal))));font-weight:var(--now-dropdown-list_heading--font-weight,var(--now-menu-list_header--primary--font-weight,var(--now-menu_heading--font-weight,var(--now-menu--font-weight,normal))));line-height:1.3333;margin-block:0;padding-inline:calc(.5rem*var(--now-dropdown-list_heading--scale-size-inline, var(--now-button--scale-size-inline, 1)));text-transform:var(--now-dropdown-list_heading--text-transform,var(--now-menu-list_header--primary--text-transform,var(--now-menu_heading--text-transform,var(--now-menu--text-transform,none))))}.now-dropdown-panel-header .now-line-height-crop{display:block;min-inline-size:0}.now-dropdown-panel-header .now-line-height-crop:after,.now-dropdown-panel-header .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-dropdown-panel-header .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-dropdown-panel-header .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-dropdown-panel-header .now-line-height-crop+.now-dropdown-panel-header .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-dropdown-panel-header-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-dropdown-panel-header-label:after{content:\\\"\\\";display:block}.now-dropdown-panel-divider{-webkit-border-after:none;-webkit-border-start:none;-webkit-border-end:none;border-block-end:none;border-block-start-color:RGB(var(--now-dropdown-list_divider--color,var(--now-menu-list_divider--tertiary--color,var(--now-menu_divider--color,var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214))))));border-block-start-style:solid;border-block-start-width:var(--now-dropdown-list_divider--width,var(--now-menu-list_divider--tertiary--width,var(--now-menu_divider--width,1px)));border-inline-end:none;border-inline-start:none;margin-block:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;-webkit-clip-path:inset(50%);clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-align{display:flex}.now-align.-row.-reverse{flex-direction:row-reverse}.now-align.-column{flex-direction:column}.now-align.-column.-reverse{flex-direction:column-reverse}.now-align.-wrap{flex-wrap:wrap}.now-align.-inline{justify-content:space-between}.now-align.-inline-center{justify-content:center}.now-align.-inline-end{justify-content:flex-end}.now-align.-block-start{align-items:flex-start}.now-align.-block-center{align-items:center}.now-align.-block-end{align-items:flex-end}.now-p-block--xxs{-webkit-padding-before:.125rem;-webkit-padding-after:.125rem;padding-block-end:.125rem;padding-block-start:.125rem}.now-p-block-start--xxs{-webkit-padding-before:.125rem;padding-block-start:.125rem}.now-p-block-end--xxs{-webkit-padding-after:.125rem;padding-block-end:.125rem}.now-p-inline--xxs{-webkit-padding-start:.125rem;-webkit-padding-end:.125rem;padding-inline-end:.125rem;padding-inline-start:.125rem}.now-p-inline-start--xxs{-webkit-padding-start:.125rem;padding-inline-start:.125rem}.now-p-inline-end--xxs{-webkit-padding-end:.125rem;padding-inline-end:.125rem}.now-p-block--xs{-webkit-padding-before:.25rem;-webkit-padding-after:.25rem;padding-block-end:.25rem;padding-block-start:.25rem}.now-p-block-start--xs{-webkit-padding-before:.25rem;padding-block-start:.25rem}.now-p-block-end--xs{-webkit-padding-after:.25rem;padding-block-end:.25rem}.now-p-inline--xs{-webkit-padding-start:.25rem;-webkit-padding-end:.25rem;padding-inline-end:.25rem;padding-inline-start:.25rem}.now-p-inline-start--xs{-webkit-padding-start:.25rem;padding-inline-start:.25rem}.now-p-inline-end--xs{-webkit-padding-end:.25rem;padding-inline-end:.25rem}:host{display:inline-block;vertical-align:middle}.now-dropdown-container{display:flex}.now-dropdown-container.-top{flex-direction:column}.now-dropdown-container.-start{align-items:center}.now-dropdown-label{color:RGB(var(--now-dropdown_label--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));font-family:var(--now-dropdown_label--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-style:var(--now-dropdown_label--font-style,normal);font-variant:normal;font-weight:var(--now-dropdown_label--font-weight,normal);letter-spacing:inherit;text-indent:0;text-shadow:none;text-transform:var(--now-dropdown_label--text-transform,none);white-space:normal;word-spacing:inherit}.-start .now-dropdown-label{flex-basis:fit-content;text-align:end}.-sm .now-dropdown-label{font-size:var(--now-actionable--font-size--sm,var(--now-font-size--sm,.75rem));line-height:1.3333}.-sm .now-dropdown-label .now-line-height-crop{display:block}.-sm .now-dropdown-label .now-line-height-crop:after,.-sm .now-dropdown-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-sm .now-dropdown-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.-sm .now-dropdown-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.-sm .now-dropdown-label .now-line-height-crop+.-sm .now-dropdown-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-sm.-start .now-dropdown-label{-webkit-margin-end:calc(var(--now-scale-space--xs, 1)*.25rem);margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-sm.-top .now-dropdown-label{-webkit-margin-after:calc(var(--now-scale-space--xs, 1)*.25rem);margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-md .now-dropdown-label{font-size:var(--now-actionable--font-size--md,var(--now-font-size--md1,1rem));line-height:1.25}.-md .now-dropdown-label .now-line-height-crop{display:block}.-md .now-dropdown-label .now-line-height-crop:after,.-md .now-dropdown-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-md .now-dropdown-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-md .now-dropdown-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-md .now-dropdown-label .now-line-height-crop+.-md .now-dropdown-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.-md.-start .now-dropdown-label{-webkit-margin-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-inline-end:calc(var(--now-scale-space--sm, 1)*.5rem)}.-md.-top .now-dropdown-label{-webkit-margin-after:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem)}.-lg .now-dropdown-label{font-size:var(--now-actionable--font-size--lg,var(--now-font-size--lg1,1.5rem));line-height:1.25}.-lg .now-dropdown-label .now-line-height-crop{display:block}.-lg .now-dropdown-label .now-line-height-crop:after,.-lg .now-dropdown-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-lg .now-dropdown-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-lg .now-dropdown-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-lg .now-dropdown-label .now-line-height-crop+.-lg .now-dropdown-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.-lg.-start .now-dropdown-label{-webkit-margin-end:calc(var(--now-scale-space--md, 1)*.75rem);margin-inline-end:calc(var(--now-scale-space--md, 1)*.75rem)}.-lg.-top .now-dropdown-label{-webkit-margin-after:calc(var(--now-scale-space--md, 1)*.75rem);margin-block-end:calc(var(--now-scale-space--md, 1)*.75rem)}.-start .now-dropdown-popover{min-inline-size:0}.now-dropdown{align-items:center;border-style:solid;border-width:var(--now-dropdown--border-width,var(--now-actionable--contained--border-width,var(--now-actionable--border-width,1px)));cursor:pointer;display:flex;inline-size:inherit;inline-size:100%;justify-content:center;margin:0;max-inline-size:inherit;padding-block:0}.now-dropdown::-moz-focus-inner{border-style:none}.now-dropdown:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.now-dropdown:focus{outline:1px solid highlight}}.now-dropdown:not(.is-bare):hover{box-shadow:0 .125rem .25rem 0 RGB(56,56,56,var(--now-opacity--less,.25))}.now-dropdown.has-label:not(.is-bare){font-family:var(--now-dropdown--font-family,var(--now-actionable--contained--font-family,var(--now-actionable--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-dropdown--font-style,var(--now-actionable--contained--font-style,var(--now-actionable--font-style,normal)));font-variant:normal;font-weight:var(--now-dropdown--font-weight,var(--now-actionable--contained--font-weight,var(--now-actionable--font-weight,bold)));letter-spacing:inherit;text-indent:0;text-shadow:none;text-transform:var(--now-dropdown--text-transform,var(--now-actionable--contained--text-transform,var(--now-actionable--text-transform,none)));white-space:var(--now-dropdown--text-wrap,var(--now-actionable--text-wrap,normal));word-spacing:inherit}.now-dropdown.has-caret,.now-dropdown.has-label{border-end-end-radius:var(--now-dropdown--border-bottom-right-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px)));border-end-start-radius:var(--now-dropdown--border-bottom-left-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px)));border-start-end-radius:var(--now-dropdown--border-top-right-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px)));border-start-start-radius:var(--now-dropdown--border-top-left-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px)))}.now-dropdown:not(.has-caret,.has-label){border-radius:var(--now-button-iconic--border-radius,var(--now-button--border-radius,var(--now-actionable--border-radius)))}.now-dropdown.-sm{font-size:var(--now-actionable--font-size--sm,var(--now-font-size--sm,.75rem));line-height:1.3333;min-block-size:calc(.75rem + var(--now-button--scale-size-block, 1)*1.5rem/2);padding-block:calc(.25rem*var(--now-button--scale-size-block, 1));padding-inline:calc(.5rem*var(--now-button--scale-size-inline, 1))}.now-dropdown.-sm.hide-block-padding{min-block-size:1rem;padding-block:0}.now-dropdown.-sm.has-caret.has-label:not(.is-bare){-webkit-padding-end:calc(.25rem*var(--now-button--scale-size-inline, 1));padding-inline-end:calc(.25rem*var(--now-button--scale-size-inline, 1))}.now-dropdown.-sm:not(.has-caret,.has-label){block-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2);inline-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2);min-block-size:auto;padding:0}.now-dropdown.-sm.has-caret:not(.has-label){padding-inline:calc(.25rem*var(--now-button--scale-size-inline, 1))}.now-dropdown.-sm.has-label .now-line-height-crop{display:block}.now-dropdown.-sm.has-label .now-line-height-crop:after,.now-dropdown.-sm.has-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-dropdown.-sm.has-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-dropdown.-sm.has-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-dropdown.-sm.has-label .now-line-height-crop+.now-dropdown.-sm.has-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-dropdown.-md{font-size:var(--now-actionable--font-size--md,var(--now-font-size--md1,1rem));line-height:1.25;min-block-size:calc(1rem + var(--now-button--scale-size-block, 1)*2rem/2);padding-block:calc(.375rem*var(--now-button--scale-size-block, 1));padding-inline:calc(1rem*var(--now-button--scale-size-inline, 1))}.now-dropdown.-md.hide-block-padding{min-block-size:1.25rem;padding-block:0}.now-dropdown.-md.has-caret.has-label:not(.is-bare){-webkit-padding-end:calc(.75rem*var(--now-button--scale-size-inline, 1));padding-inline-end:calc(.75rem*var(--now-button--scale-size-inline, 1))}.now-dropdown.-md:not(.has-caret,.has-label){block-size:calc(1rem + var(--now-button--scale-size, 1)*2rem/2);inline-size:calc(1rem + var(--now-button--scale-size, 1)*2rem/2);min-block-size:auto;padding:0}.now-dropdown.-md.has-caret:not(.has-label){padding-inline:calc(.5rem*var(--now-button--scale-size-inline, 1))}.now-dropdown.-md.has-label .now-line-height-crop{display:block}.now-dropdown.-md.has-label .now-line-height-crop:after,.now-dropdown.-md.has-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-dropdown.-md.has-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-dropdown.-md.has-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-dropdown.-md.has-label .now-line-height-crop+.now-dropdown.-md.has-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-dropdown.-lg{font-size:var(--now-actionable--font-size--lg,var(--now-font-size--lg1,1.5rem));line-height:1.25;min-block-size:calc(1.5rem + var(--now-button--scale-size-block, 1)*3rem/2);padding-block:calc(.375rem*var(--now-button--scale-size-block, 1));padding-inline:calc(1.5rem*var(--now-button--scale-size-inline, 1))}.now-dropdown.-lg.hide-block-padding{min-block-size:1.75rem;padding-block:0}.now-dropdown.-lg.has-caret.has-label:not(.is-bare){-webkit-padding-end:calc(1rem*var(--now-button--scale-size-inline, 1));padding-inline-end:calc(1rem*var(--now-button--scale-size-inline, 1))}.now-dropdown.-lg:not(.has-caret,.has-label){block-size:calc(1.5rem + var(--now-button--scale-size, 1)*3rem/2);inline-size:calc(1.5rem + var(--now-button--scale-size, 1)*3rem/2);min-block-size:auto;padding:0}.now-dropdown.-lg.has-caret:not(.has-label){padding-inline:calc(.75rem*var(--now-button--scale-size-inline, 1))}.now-dropdown.-lg.has-label .now-line-height-crop{display:block}.now-dropdown.-lg.has-label .now-line-height-crop:after,.now-dropdown.-lg.has-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-dropdown.-lg.has-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-dropdown.-lg.has-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-dropdown.-lg.has-label .now-line-height-crop+.now-dropdown.-lg.has-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-dropdown.-primary{background-color:RGB(var(--now-dropdown--primary--background-color,var(--now-actionable--primary--background-color,var(--now-color--primary-1,30,133,109))));border-color:RGB(var(--now-dropdown--primary--border-color,var(--now-actionable--primary--border-color,var(--now-color--primary-1,30,133,109))));border-radius:var(--now-dropdown--primary--border-radius,var(--now-actionable--primary--border-radius,var(--now-actionable--contained_brand--border-radius,var(--now-actionable--border-radius,4px))));border-width:var(--now-dropdown--primary--border-width,var(--now-actionable--primary--border-width,var(--now-actionable--contained_brand--border-width,0)));color:RGB(var(--now-dropdown--primary--color,var(--now-actionable_label--primary--color,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-dropdown.-primary .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--primary--color,var(--now-actionable_icon--primary--color,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-dropdown.-primary .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--primary--color,var(--now-actionable_trigger-icon--primary--color,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-dropdown.-primary:hover:not(.is-disabled){background-color:RGB(var(--now-dropdown--primary--background-color--hover,var(--now-actionable--primary--background-color--hover,var(--now-color--primary-2,23,100,82))));border-color:RGB(var(--now-dropdown--primary--border-color--hover,var(--now-actionable--primary--border-color--hover,var(--now-color--primary-2,23,100,82))));color:RGB(var(--now-dropdown--primary--color--hover,var(--now-actionable_label--primary--color--hover,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-dropdown.-primary:hover:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--primary--color--hover,var(--now-actionable_icon--primary--color--hover,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-dropdown.-primary:hover:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--primary--color--hover,var(--now-actionable_trigger-icon--primary--color--hover,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-dropdown.-primary.is-opened:not(:hover),.now-dropdown.-primary:active:not(.is-disabled){background-color:RGB(var(--now-dropdown--primary--background-color--active,var(--now-actionable--primary--background-color--active,var(--now-color--primary-3,15,67,55))));border-color:RGB(var(--now-dropdown--primary--border-color--active,var(--now-actionable--primary--border-color--active,var(--now-color--primary-3,15,67,55))));color:RGB(var(--now-dropdown--primary--color--active,var(--now-actionable_label--primary--color--active,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-dropdown.-primary.is-opened:not(:hover) .now-dropdown-icon,.now-dropdown.-primary:active:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--primary--color--active,var(--now-actionable_icon--primary--color--active,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-dropdown.-primary.is-opened:not(:hover) .now-dropdown-icon.-caret,.now-dropdown.-primary:active:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--primary--color--active,var(--now-actionable_trigger-icon--primary--color--active,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-dropdown.-primary.is-disabled{opacity:var(--now-dropdown--primary--opacity--disabled,var(--now-actionable--primary--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-dropdown.-primary.-selection{background-color:RGB(var(--now-dropdown--primary-selection--background-color,var(--now-actionable--primary-selection--background-color,var(--now-color_selection--primary-2,30,133,109))));border-color:RGB(var(--now-dropdown--primary-selection--border-color,var(--now-actionable--primary-selection--border-color,var(--now-color_selection--primary-4,15,67,55))));border-radius:var(--now-dropdown--primary-selection--border-radius,var(--now-actionable--primary-selection--border-radius,var(--now-actionable--primary--border-radius,var(--now-actionable--contained_brand--border-radius,var(--now-actionable--border-radius,4px)))));border-width:var(--now-dropdown--primary-selection--border-width,var(--now-actionable--primary-selection--border-width,var(--now-actionable--primary--border-width,var(--now-actionable--contained_brand--border-width,0))));color:RGB(var(--now-dropdown--primary-selection--color,var(--now-actionable_label--primary-selection--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-dropdown.-primary.-selection .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--primary-selection--color,var(--now-actionable_icon--primary-selection--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-dropdown.-primary.-selection .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--primary-selection--color,var(--now-actionable_trigger-icon--primary-selection--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-dropdown.-primary.-selection:hover:not(.is-disabled){background-color:RGB(var(--now-dropdown--primary-selection--background-color--hover,var(--now-actionable--primary-selection--background-color--hover,var(--now-color_selection--primary-3,23,100,82))));border-color:RGB(var(--now-dropdown--primary-selection--border-color--hover,var(--now-actionable--primary-selection--border-color--hover,var(--now-color_selection--primary-4,15,67,55))));color:RGB(var(--now-dropdown--primary-selection--color--hover,var(--now-actionable_label--primary-selection--color--hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-dropdown.-primary.-selection:hover:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--primary-selection--color--hover,var(--now-actionable_icon--primary-selection--color--hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-dropdown.-primary.-selection:hover:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--primary-selection--color--hover,var(--now-actionable_trigger-icon--primary-selection--color--hover,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-dropdown.-primary.-selection.is-opened:not(:hover),.now-dropdown.-primary.-selection:active:not(.is-disabled){background-color:RGB(var(--now-dropdown--primary-selection--background-color--active,var(--now-actionable--primary-selection--background-color--active,var(--now-color_selection--primary-4,15,67,55))));border-color:RGB(var(--now-dropdown--primary-selection--border-color--active,var(--now-actionable--primary-selection--border-color--active,var(--now-color_selection--primary-4,15,67,55))));color:RGB(var(--now-dropdown--primary-selection--color--active,var(--now-actionable_label--primary-selection--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-dropdown.-primary.-selection.is-opened:not(:hover) .now-dropdown-icon,.now-dropdown.-primary.-selection:active:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--primary-selection--color--active,var(--now-actionable_icon--primary-selection--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-dropdown.-primary.-selection.is-opened:not(:hover) .now-dropdown-icon.-caret,.now-dropdown.-primary.-selection:active:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--primary-selection--color--active,var(--now-actionable_trigger-icon--primary-selection--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-dropdown.-primary.-selection.is-disabled{opacity:var(--now-dropdown--primary-selection--opacity--disabled,var(--now-actionable--primary-selection--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-dropdown.-primary.-ai{background:linear-gradient(135deg,RGB(var(--now-actionable--primary-ai--background-color-gradient--start,var(--now-color--secondary-brand-10,134,246,115))) 5%,RGB(var(--now-actionable--primary-ai--background-color-gradient--end,var(--now-color--supplementary1-brand-10,113,213,254))) 95%);border-color:RGB(var(--now-actionable--primary-ai--border-color,var(--now-color--secondary-brand-10,134,246,115)));border-radius:var(--now-actionable--primary-ai--border-radius,var(--now-actionable--contained_brand--border-radius,var(--now-actionable--border-radius,4px)));border-width:var(--now-actionable--primary-ai--border-width,var(--now-actionable--contained_brand--border-width,0));color:RGB(var(--now-actionable_label--primary-ai--color,var(--now-color--primary-brand-16,0,79,101)))}.now-dropdown.-primary.-ai .now-dropdown-icon{color:RGB(var(--now-actionable_icon--primary-ai--color,var(--now-actionable_label--primary-ai--color,var(--now-color--primary-brand-16,0,79,101))))}.now-dropdown.-primary.-ai .now-dropdown-icon.-caret{color:RGB(var(--now-actionable_trigger-icon--primary-ai--color,var(--now-actionable_label--primary-ai--color,var(--now-color--primary-brand-16,0,79,101))))}.now-dropdown.-primary.-ai:hover:not(.is-disabled){background:linear-gradient(135deg,RGB(var(--now-actionable--primary-ai--background-color--hover,var(--now-color--secondary-brand-10,134,246,115))) 5%,RGB(var(--now-actionable--primary-ai--background-color--hover,var(--now-color--secondary-brand-10,134,246,115))) 95%);border-color:RGB(var(--now-actionable--primary-ai--border-color--hover,var(--now-color--secondary-brand-10,134,246,115)));color:RGB(var(--now-actionable_label--primary-ai--color--hover,var(--now-color--primary-brand-17,0,72,91)))}.now-dropdown.-primary.-ai:hover:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-actionable_icon--primary-ai--color--hover,var(--now-actionable_label--primary-ai--color--hover,var(--now-color--primary-brand-17,0,72,91))))}.now-dropdown.-primary.-ai:hover:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-actionable_trigger-icon--primary-ai--color--hover,var(--now-actionable_label--primary-ai--color--hover,var(--now-color--primary-brand-17,0,72,91))))}.now-dropdown.-primary.-ai.is-opened:not(:hover),.now-dropdown.-primary.-ai:active:not(.is-disabled){background:linear-gradient(135deg,RGB(var(--now-actionable--primary-ai--background-color--active,var(--now-color--secondary-brand-11,125,229,107))) 5%,RGB(var(--now-actionable--primary-ai--background-color--active,var(--now-color--secondary-brand-11,125,229,107))) 95%);border-color:RGB(var(--now-actionable--primary-ai--border-color--active,var(--now-color--secondary-brand-11,125,229,107)));color:RGB(var(--now-actionable_label--primary-ai--color--active,var(--now-color--primary-brand-18,0,64,82)))}.now-dropdown.-primary.-ai.is-opened:not(:hover) .now-dropdown-icon,.now-dropdown.-primary.-ai:active:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-actionable_icon--primary-ai--color--active,var(--now-actionable_label--primary-ai--color--active,var(--now-color--primary-brand-18,0,64,82))))}.now-dropdown.-primary.-ai.is-opened:not(:hover) .now-dropdown-icon.-caret,.now-dropdown.-primary.-ai:active:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-actionable_trigger-icon--primary-ai--color--active,var(--now-actionable_label--primary-ai--color--active,var(--now-color--primary-brand-18,0,64,82))))}.now-dropdown.-primary.-ai.is-disabled{opacity:var(--now-actionable--primary-ai--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))}.now-dropdown.-secondary{background-color:RGB(var(--now-dropdown--secondary--background-color,var(--now-actionable--secondary--background-color,var(--now-color--secondary-1,1,119,142))),var(--now-dropdown--secondary--background-color-alpha,var(--now-actionable--background-color-alpha,0)));border-color:RGB(var(--now-dropdown--secondary--border-color,var(--now-actionable--secondary--border-color,var(--now-color--secondary-1,1,119,142))));border-radius:var(--now-dropdown--secondary--border-radius,var(--now-actionable--secondary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px))));border-width:var(--now-dropdown--secondary--border-width,var(--now-actionable--secondary--border-width,var(--now-actionable--contained--border-width,var(--now-actionable--border-width,1px))));color:RGB(var(--now-dropdown--secondary--color,var(--now-actionable_label--secondary--color,var(--now-color--secondary-1,1,119,142))))}.now-dropdown.-secondary .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--secondary--color,var(--now-actionable_icon--secondary--color,var(--now-color--secondary-1,1,119,142))))}.now-dropdown.-secondary .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--secondary--color,var(--now-actionable_trigger-icon--secondary--color,var(--now-color--secondary-1,1,119,142))))}.now-dropdown.-secondary:hover:not(.is-disabled){background-color:RGB(var(--now-dropdown--secondary--background-color--hover,var(--now-actionable--secondary--background-color--hover,var(--now-color--secondary-1,1,119,142))),var(--now-dropdown--secondary--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-dropdown--secondary--border-color--hover,var(--now-actionable--secondary--border-color--hover,var(--now-color--secondary-2,1,89,107))));color:RGB(var(--now-dropdown--secondary--color--hover,var(--now-actionable_label--secondary--color--hover,var(--now-color--secondary-2,1,89,107))))}.now-dropdown.-secondary:hover:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--secondary--color--hover,var(--now-actionable_icon--secondary--color--hover,var(--now-color--secondary-2,1,89,107))))}.now-dropdown.-secondary:hover:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--secondary--color--hover,var(--now-actionable_trigger-icon--secondary--color--hover,var(--now-color--secondary-2,1,89,107))))}.now-dropdown.-secondary.is-opened:not(:hover),.now-dropdown.-secondary:active:not(.is-disabled){background-color:RGB(var(--now-dropdown--secondary--background-color--active,var(--now-actionable--secondary--background-color--active,var(--now-color--secondary-1,1,119,142))),var(--now-dropdown--secondary--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))));border-color:RGB(var(--now-dropdown--secondary--border-color--active,var(--now-actionable--secondary--border-color--active,var(--now-color--secondary-3,1,60,71))));color:RGB(var(--now-dropdown--secondary--color--active,var(--now-actionable_label--secondary--color--active,var(--now-color--secondary-3,1,60,71))))}.now-dropdown.-secondary.is-opened:not(:hover) .now-dropdown-icon,.now-dropdown.-secondary:active:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--secondary--color--active,var(--now-actionable_icon--secondary--color--active,var(--now-color--secondary-3,1,60,71))))}.now-dropdown.-secondary.is-opened:not(:hover) .now-dropdown-icon.-caret,.now-dropdown.-secondary:active:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--secondary--color--active,var(--now-actionable_trigger-icon--secondary--color--active,var(--now-color--secondary-3,1,60,71))))}.now-dropdown.-secondary.is-disabled{opacity:var(--now-dropdown--secondary--opacity--disabled,var(--now-actionable--secondary--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-dropdown.-secondary.-selected,.now-dropdown.-secondary.-selection{background-color:RGB(var(--now-dropdown--secondary-selection--background-color,var(--now-actionable--secondary-selection--background-color,var(--now-color_selection--primary-2,30,133,109))),var(--now-dropdown--secondary-selection--background-color-alpha,var(--now-actionable--background-color-alpha,0)));border-color:RGB(var(--now-dropdown--secondary-selection--border-color,var(--now-actionable--secondary-selection--border-color,var(--now-color_selection--primary-2,30,133,109))));border-radius:var(--now-dropdown--secondary-selection--border-radius,var(--now-actionable--secondary-selection--border-radius,var(--now-actionable--secondary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px)))));border-width:var(--now-dropdown--secondary-selection--border-width,var(--now-actionable--secondary-selection--border-width,var(--now-actionable--secondary--border-width,var(--now-actionable--contained--border-width,var(--now-actionable--border-width,1px)))));color:RGB(var(--now-dropdown--secondary-selection--color,var(--now-actionable_label--secondary-selection--color,var(--now-color_selection--primary-2,30,133,109))))}.now-dropdown.-secondary.-selected .now-dropdown-icon,.now-dropdown.-secondary.-selection .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--secondary-selection--color,var(--now-actionable_icon--secondary-selection--color,var(--now-color_selection--primary-2,30,133,109))))}.now-dropdown.-secondary.-selected .now-dropdown-icon.-caret,.now-dropdown.-secondary.-selection .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--secondary-selection--color,var(--now-actionable_trigger-icon--secondary-selection--color,var(--now-color_selection--primary-2,30,133,109))))}.now-dropdown.-secondary.-selected:hover:not(.is-disabled),.now-dropdown.-secondary.-selection:hover:not(.is-disabled){background-color:RGB(var(--now-dropdown--secondary-selection--background-color--hover,var(--now-actionable--secondary-selection--background-color--hover,var(--now-color_selection--primary-2,30,133,109))),var(--now-dropdown--secondary-selection--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-dropdown--secondary-selection--border-color--hover,var(--now-actionable--secondary-selection--border-color--hover,var(--now-color_selection--primary-3,23,100,82))));color:RGB(var(--now-dropdown--secondary-selection--color--hover,var(--now-actionable_label--secondary-selection--color--hover,var(--now-color_selection--primary-3,23,100,82))))}.now-dropdown.-secondary.-selected:hover:not(.is-disabled) .now-dropdown-icon,.now-dropdown.-secondary.-selection:hover:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--secondary-selection--color--hover,var(--now-actionable_icon--secondary-selection--color--hover,var(--now-color_selection--primary-3,23,100,82))))}.now-dropdown.-secondary.-selected:hover:not(.is-disabled) .now-dropdown-icon.-caret,.now-dropdown.-secondary.-selection:hover:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--secondary-selection--color--hover,var(--now-actionable_trigger-icon--secondary-selection--color--hover,var(--now-color_selection--primary-3,23,100,82))))}.now-dropdown.-secondary.-selected.is-opened:not(:hover),.now-dropdown.-secondary.-selected:active:not(.is-disabled),.now-dropdown.-secondary.-selection.is-opened:not(:hover),.now-dropdown.-secondary.-selection:active:not(.is-disabled){background-color:RGB(var(--now-dropdown--secondary-selection--background-color--active,var(--now-actionable--secondary-selection--background-color--active,var(--now-color_selection--primary-2,30,133,109))),var(--now-dropdown--secondary-selection--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))));border-color:RGB(var(--now-dropdown--secondary-selection--border-color--active,var(--now-actionable--secondary-selection--border-color--active,var(--now-color_selection--primary-4,15,67,55))));color:RGB(var(--now-dropdown--secondary-selection--color--active,var(--now-actionable_label--secondary-selection--color--active,var(--now-color_selection--primary-4,15,67,55))))}.now-dropdown.-secondary.-selected.is-opened:not(:hover) .now-dropdown-icon,.now-dropdown.-secondary.-selected:active:not(.is-disabled) .now-dropdown-icon,.now-dropdown.-secondary.-selection.is-opened:not(:hover) .now-dropdown-icon,.now-dropdown.-secondary.-selection:active:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--secondary-selection--color--active,var(--now-actionable_icon--secondary-selection--color--active,var(--now-color_selection--primary-4,15,67,55))))}.now-dropdown.-secondary.-selected.is-opened:not(:hover) .now-dropdown-icon.-caret,.now-dropdown.-secondary.-selected:active:not(.is-disabled) .now-dropdown-icon.-caret,.now-dropdown.-secondary.-selection.is-opened:not(:hover) .now-dropdown-icon.-caret,.now-dropdown.-secondary.-selection:active:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--secondary-selection--color--active,var(--now-actionable_trigger-icon--secondary-selection--color--active,var(--now-color_selection--primary-4,15,67,55))))}.now-dropdown.-secondary.-selected.is-disabled,.now-dropdown.-secondary.-selection.is-disabled{opacity:var(--now-dropdown--secondary-selection--opacity--disabled,var(--now-actionable--secondary-selection--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))}.now-dropdown.-secondary.-ai{background:linear-gradient(135deg,RGB(var(--now-actionable--secondary-ai--background-color-gradient--start,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--secondary-ai--background-color-alpha,var(--now-opacity--less,.25))) 5%,RGB(var(--now-actionable--secondary-ai--background-color-gradient--end,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--secondary-ai--background-color-alpha,var(--now-opacity--less,.25))) 95%);border-color:RGB(var(--now-actionable--secondary-ai--border-color,var(--now-color--secondary-brand-11,125,229,107)));border-radius:var(--now-actionable--secondary-ai--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px)));border-width:var(--now-actionable--secondary-ai--border-width,var(--now-actionable--contained--border-width,var(--now-actionable--border-width,1px)));color:RGB(var(--now-actionable_label--secondary-ai--color,var(--now-color--primary-brand-12,0,111,142)))}.now-dropdown.-secondary.-ai .now-dropdown-icon{color:RGB(var(--now-actionable_icon--secondary-ai--color,var(--now-actionable_label--secondary-ai--color,var(--now-color--primary-brand-12,0,111,142))))}.now-dropdown.-secondary.-ai .now-dropdown-icon.-caret{color:RGB(var(--now-actionable_trigger-icon--secondary-ai--color,var(--now-actionable_label--secondary-ai--color,var(--now-color--primary-brand-12,0,111,142))))}.now-dropdown.-secondary.-ai:hover:not(.is-disabled){background:linear-gradient(135deg,RGB(var(--now-actionable--secondary-ai--background-color-gradient--start_hover,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--secondary-ai--background-color-alpha--hover,var(--now-opacity--mid,.5))) 5%,RGB(var(--now-actionable--secondary-ai--background-color-gradient--end_hover,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--secondary-ai--background-color-alpha--hover,var(--now-opacity--mid,.5))) 95%);border-color:RGB(var(--now-actionable--secondary-ai--border-color,var(--now-color--secondary-brand-11,125,229,107)));color:RGB(var(--now-actionable_label--secondary-ai--color--hover,var(--now-color--primary-brand-13,0,104,132)))}.now-dropdown.-secondary.-ai:hover:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-actionable_icon--secondary-ai--color--hover,var(--now-actionable_label--secondary-ai--color--hover,var(--now-color--primary-brand-13,0,104,132))))}.now-dropdown.-secondary.-ai:hover:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-actionable_trigger-icon--secondary-ai--color--hover,var(--now-actionable_label--secondary-ai--color--hover,var(--now-color--primary-brand-13,0,104,132))))}.now-dropdown.-secondary.-ai.is-opened:not(:hover),.now-dropdown.-secondary.-ai:active:not(.is-disabled){background:linear-gradient(135deg,RGB(var(--now-actionable--secondary-ai--background-color-gradient--start_active,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--secondary-ai--background-color-alpha--active,var(--now-opacity--more,.65))) 5%,RGB(var(--now-actionable--secondary-ai--background-color-gradient--end_active,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--secondary-ai--background-color-alpha--active,var(--now-opacity--more,.65))) 95%);border-color:RGB(var(--now-actionable--secondary-ai--border-color,var(--now-color--secondary-brand-11,125,229,107)));color:RGB(var(--now-actionable_label--secondary-ai--color--active,var(--now-color--primary-brand-14,0,96,122)))}.now-dropdown.-secondary.-ai.is-opened:not(:hover) .now-dropdown-icon,.now-dropdown.-secondary.-ai:active:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-actionable_icon--secondary-ai--color--active,var(--now-actionable_label--secondary-ai--color--active,var(--now-color--primary-brand-14,0,96,122))))}.now-dropdown.-secondary.-ai.is-opened:not(:hover) .now-dropdown-icon.-caret,.now-dropdown.-secondary.-ai:active:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-actionable_trigger-icon--secondary-ai--color--active,var(--now-actionable_label--secondary-ai--color--active,var(--now-color--primary-brand-14,0,96,122))))}.now-dropdown.-secondary.-ai.is-disabled{opacity:var(--now-actionable--secondary-ai--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))}.now-dropdown.-tertiary{background-color:RGB(var(--now-dropdown--tertiary--background-color,var(--now-actionable--tertiary--background-color,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55)))),var(--now-dropdown--tertiary--background-color-alpha,var(--now-actionable--background-color-alpha,0)));border-color:RGB(var(--now-dropdown--tertiary--border-color,var(--now-actionable--tertiary--border-color,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81)))),var(--now-dropdown--tertiary--border-color-alpha,1));border-radius:var(--now-dropdown--tertiary--border-radius,var(--now-actionable--tertiary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px))));border-width:var(--now-dropdown--tertiary--border-width,var(--now-actionable--tertiary--border-width,var(--now-actionable--contained--border-width,var(--now-actionable--border-width,1px))));color:RGB(var(--now-dropdown--tertiary--color,var(--now-actionable_label--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),var(--now-dropdown--tertiary--color-alpha,var(--now-actionable--color-alpha,1)))}.now-dropdown.-tertiary .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--tertiary--color,var(--now-actionable_icon--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-dropdown.-tertiary .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--tertiary--color,var(--now-actionable_trigger-icon--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-dropdown.-tertiary:hover:not(.is-disabled){background-color:RGB(var(--now-dropdown--tertiary--background-color--hover,var(--now-actionable--tertiary--background-color--hover,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55)))),var(--now-dropdown--tertiary--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-dropdown--tertiary--border-color--hover,var(--now-actionable--tertiary--border-color--hover,var(--now-color_border--secondary-actionable,var(--now-color--neutral-15,44,53,55)))),var(--now-dropdown--tertiary--border-color-alpha--hover,var(--now-actionable--iconic--border-color-alpha,1)));color:RGB(var(--now-dropdown--tertiary--color--hover,var(--now-actionable_label--tertiary--color--hover,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))),var(--now-dropdown--tertiary--color-alpha--hover,var(--now-actionable--color-alpha,1)))}.now-dropdown.-tertiary:hover:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--tertiary--color--hover,var(--now-actionable_icon--tertiary--color--hover,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.now-dropdown.-tertiary:hover:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--tertiary--color--hover,var(--now-actionable_trigger-icon--tertiary--color--hover,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.now-dropdown.-tertiary.is-opened:not(:hover),.now-dropdown.-tertiary:active:not(.is-disabled){background-color:RGB(var(--now-dropdown--tertiary--background-color--active,var(--now-actionable--tertiary--background-color--active,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55)))),var(--now-dropdown--tertiary--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))));border-color:RGB(var(--now-dropdown--tertiary--border-color--active,var(--now-actionable--tertiary--border-color--active,var(--now-color_border--primary-actionable,var(--now-color--neutral-18,22,27,28)))),var(--now-dropdown--tertiary--border-color-alpha--active,var(--now-actionable--iconic--border-color-alpha,1)));color:RGB(var(--now-dropdown--tertiary--color--active,var(--now-actionable_label--tertiary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-dropdown--tertiary--color-alpha--active,var(--now-actionable--color-alpha,1)))}.now-dropdown.-tertiary.is-opened:not(:hover) .now-dropdown-icon,.now-dropdown.-tertiary:active:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--tertiary--color--active,var(--now-actionable_icon--tertiary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-dropdown.-tertiary.is-opened:not(:hover) .now-dropdown-icon.-caret,.now-dropdown.-tertiary:active:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--tertiary--color--active,var(--now-actionable_trigger-icon--tertiary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-dropdown.-tertiary.is-disabled{opacity:var(--now-dropdown--tertiary--opacity--disabled,var(--now-actionable--tertiary--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-dropdown.-tertiary.-selected,.now-dropdown.-tertiary.-selection{background-color:RGB(var(--now-dropdown--tertiary-selection--background-color,var(--now-actionable--tertiary-selection--background-color,var(--now-color_selection--primary-2,30,133,109))),var(--now-dropdown--tertiary-selection--background-color-alpha,var(--now-actionable--background-color-alpha,0)));border-color:RGB(var(--now-dropdown--tertiary-selection--border-color,var(--now-actionable--tertiary-selection--border-color,var(--now-actionable--tertiary--border-color,var(--now-color_border--tertiary-actionable,var(--now-color--neutral-12,66,80,81))))),var(--now-dropdown--tertiary-selection--border-color-alpha,1));border-radius:var(--now-dropdown--tertiary-selection--border-radius,var(--now-actionable--tertiary-selection--border-radius,var(--now-actionable--tertiary--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px)))));border-width:var(--now-dropdown--tertiary-selection--border-width,var(--now-actionable--tertiary-selection--border-width,var(--now-actionable--tertiary--border-width,var(--now-actionable--contained--border-width,var(--now-actionable--border-width,1px)))));color:RGB(var(--now-dropdown--tertiary-selection--color,var(--now-actionable_label--tertiary-selection--color,var(--now-actionable_label--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))))}.now-dropdown.-tertiary.-selected .now-dropdown-icon,.now-dropdown.-tertiary.-selection .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--tertiary-selection--color,var(--now-actionable_icon--tertiary-selection--color,var(--now-actionable_icon--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))))}.now-dropdown.-tertiary.-selected .now-dropdown-icon.-caret,.now-dropdown.-tertiary.-selection .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--tertiary-selection--color,var(--now-actionable_trigger-icon--tertiary-selection--color,var(--now-actionable_trigger-icon--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))))}.now-dropdown.-tertiary.-selected:hover:not(.is-disabled),.now-dropdown.-tertiary.-selection:hover:not(.is-disabled){background-color:RGB(var(--now-dropdown--tertiary-selection--background-color--hover,var(--now-actionable--tertiary-selection--background-color--hover,var(--now-color_selection--primary-2,30,133,109))),var(--now-dropdown--tertiary-selection--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-dropdown--tertiary-selection--border-color--hover,var(--now-actionable--tertiary-selection--border-color--hover,var(--now-actionable--tertiary--border-color--hover,var(--now-color_border--secondary-actionable,var(--now-color--neutral-15,44,53,55))))),var(--now-dropdown--tertiary-selection--border-color-alpha--hover,1));color:RGB(var(--now-dropdown--tertiary-selection--color--hover,var(--now-actionable_label--tertiary-selection--color--hover,var(--now-actionable_label--tertiary--color--hover,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))))))}.now-dropdown.-tertiary.-selected:hover:not(.is-disabled) .now-dropdown-icon,.now-dropdown.-tertiary.-selection:hover:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--tertiary-selection--color--hover,var(--now-actionable_icon--tertiary-selection--color--hover,var(--now-actionable_icon--tertiary--color--hover,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))))))}.now-dropdown.-tertiary.-selected:hover:not(.is-disabled) .now-dropdown-icon.-caret,.now-dropdown.-tertiary.-selection:hover:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--tertiary-selection--color--hover,var(--now-actionable_trigger-icon--tertiary-selection--color--hover,var(--now-actionable_trigger-icon--tertiary--color--hover,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))))))}.now-dropdown.-tertiary.-selected.is-opened:not(:hover),.now-dropdown.-tertiary.-selected:active:not(.is-disabled),.now-dropdown.-tertiary.-selection.is-opened:not(:hover),.now-dropdown.-tertiary.-selection:active:not(.is-disabled){background-color:RGB(var(--now-dropdown--tertiary-selection--background-color--active,var(--now-actionable--tertiary-selection--background-color--active,var(--now-color_selection--primary-2,30,133,109))),var(--now-dropdown--tertiary-selection--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))));border-color:RGB(var(--now-dropdown--tertiary-selection--border-color--active,var(--now-actionable--tertiary-selection--border-color--active,var(--now-actionable--tertiary--border-color--active,var(--now-color_border--primary-actionable,var(--now-color--neutral-18,22,27,28))))),var(--now-dropdown--tertiary-selection--border-color-alpha--active,1));color:RGB(var(--now-dropdown--tertiary-selection--color--active,var(--now-actionable_label--tertiary-selection--color--active,var(--now-actionable_label--tertiary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-dropdown.-tertiary.-selected.is-opened:not(:hover) .now-dropdown-icon,.now-dropdown.-tertiary.-selected:active:not(.is-disabled) .now-dropdown-icon,.now-dropdown.-tertiary.-selection.is-opened:not(:hover) .now-dropdown-icon,.now-dropdown.-tertiary.-selection:active:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--tertiary-selection--color--active,var(--now-actionable_icon--tertiary-selection--color--active,var(--now-actionable_icon--tertiary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-dropdown.-tertiary.-selected.is-opened:not(:hover) .now-dropdown-icon.-caret,.now-dropdown.-tertiary.-selected:active:not(.is-disabled) .now-dropdown-icon.-caret,.now-dropdown.-tertiary.-selection.is-opened:not(:hover) .now-dropdown-icon.-caret,.now-dropdown.-tertiary.-selection:active:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--tertiary-selection--color--active,var(--now-actionable_trigger-icon--tertiary-selection--color--active,var(--now-actionable_trigger-icon--tertiary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-dropdown.-tertiary.-selected.is-disabled,.now-dropdown.-tertiary.-selection.is-disabled{opacity:var(--now-dropdown--tertiary-selection--opacity--disabled,var(--now-actionable--tertiary-selection--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))}.now-dropdown.-tertiary.-ai{background:linear-gradient(135deg,RGB(var(--now-actionable--tertiary-ai--background-color-gradient--start,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--tertiary-ai--background-color-alpha,var(--now-opacity--least,.1))) 5%,RGB(var(--now-actionable--tertiary-ai--background-color-gradient--end,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--tertiary-ai--background-color-alpha,var(--now-opacity--least,.1))) 95%);border-color:RGB(var(--now-actionable--tertiary-ai--border-color,var(--now-color--secondary-brand-11,125,229,107)));border-radius:var(--now-actionable--tertiary-ai--border-radius,var(--now-actionable--contained--border-radius,var(--now-actionable--border-radius,4px)));border-width:var(--now-actionable--tertiary-ai--border-width,var(--now-actionable--contained--border-width,var(--now-actionable--border-width,1px)));color:RGB(var(--now-actionable_label--tertiary-ai--color,var(--now-color--primary-brand-12,0,111,142)))}.now-dropdown.-tertiary.-ai .now-dropdown-icon{color:RGB(var(--now-actionable_icon--tertiary-ai--color,var(--now-actionable_label--tertiary-ai--color,var(--now-color--primary-brand-12,0,111,142))))}.now-dropdown.-tertiary.-ai .now-dropdown-icon.-caret{color:RGB(var(--now-actionable_trigger-icon--tertiary-ai--color,var(--now-actionable_label--tertiary-ai--color,var(--now-color--primary-brand-12,0,111,142))))}.now-dropdown.-tertiary.-ai:hover:not(.is-disabled){background:linear-gradient(135deg,RGB(var(--now-actionable--tertiary-ai--background-color-gradient--start_hover,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--tertiary-ai--background-color-alpha--hover,var(--now-opacity--mid,.5))) 5%,RGB(var(--now-actionable--tertiary-ai--background-color-gradient--end_hover,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--tertiary-ai--background-color-alpha--hover,var(--now-opacity--mid,.5))) 95%);border-color:RGB(var(--now-actionable--tertiary-ai--border-color,var(--now-color--secondary-brand-11,125,229,107)));color:RGB(var(--now-actionable_label--tertiary-ai--color--hover,var(--now-color--primary-brand-13,0,104,132)))}.now-dropdown.-tertiary.-ai:hover:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-actionable_icon--tertiary-ai--color--hover,var(--now-actionable_label--tertiary-ai--color--hover,var(--now-color--primary-brand-13,0,104,132))))}.now-dropdown.-tertiary.-ai:hover:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-actionable_trigger-icon--tertiary-ai--color--hover,var(--now-actionable_label--tertiary-ai--color--hover,var(--now-color--primary-brand-13,0,104,132))))}.now-dropdown.-tertiary.-ai.is-opened:not(:hover),.now-dropdown.-tertiary.-ai:active:not(.is-disabled){background:linear-gradient(135deg,RGB(var(--now-actionable--tertiary-ai--background-color-gradient--start_active,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--tertiary-ai--background-color-alpha--active,var(--now-opacity--more,.65))) 5%,RGB(var(--now-actionable--tertiary-ai--background-color-gradient--end_active,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--tertiary-ai--background-color-alpha--active,var(--now-opacity--more,.65))) 95%);border-color:RGB(var(--now-actionable--tertiary-ai--border-color,var(--now-color--secondary-brand-11,125,229,107)));color:RGB(var(--now-actionable_label--tertiary-ai--color--active,var(--now-color--primary-brand-14,0,96,122)))}.now-dropdown.-tertiary.-ai.is-opened:not(:hover) .now-dropdown-icon,.now-dropdown.-tertiary.-ai:active:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-actionable_icon--tertiary-ai--color--active,var(--now-actionable_label--tertiary-ai--color--active,var(--now-color--primary-brand-14,0,96,122))))}.now-dropdown.-tertiary.-ai.is-opened:not(:hover) .now-dropdown-icon.-caret,.now-dropdown.-tertiary.-ai:active:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-actionable_trigger-icon--tertiary-ai--color--active,var(--now-actionable_label--tertiary-ai--color--active,var(--now-color--primary-brand-14,0,96,122))))}.now-dropdown.-tertiary.-ai.is-disabled{opacity:var(--now-actionable--tertiary-ai--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))}.now-dropdown.is-bare{background-color:transparent;border-color:transparent;inline-size:100%}.now-dropdown.is-bare.has-label{font-family:var(--now-dropdown--bare--font-family,var(--now-actionable--bare--font-family,var(--now-actionable--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-dropdown--bare--font-style,var(--now-actionable--bare--font-style,var(--now-actionable--font-style,normal)));font-variant:normal;font-weight:var(--now-dropdown--bare--font-weight,var(--now-actionable--bare--font-weight,var(--now-actionable--font-weight,bold)));letter-spacing:inherit;text-indent:0;text-shadow:none;text-transform:var(--now-dropdown--bare--text-transform,var(--now-actionable--bare--text-transform,var(--now-actionable--text-transform,none)));white-space:var(--now-dropdown--bare--text-wrap,var(--now-actionable--text-wrap,normal));word-spacing:inherit}.now-dropdown.is-bare.has-label:not(.show-padding){padding-inline:0}.now-dropdown.is-bare.-primary{border-radius:var(--now-dropdown--bare_primary--border-radius,var(--now-actionable--primary_bare--border-radius,var(--now-actionable--bare--border-radius,var(--now-actionable--border-radius,4px))));border-width:var(--now-dropdown--bare_primary--border-width,var(--now-actionable--primary_bare--border-width,var(--now-actionable--bare--border-width,var(--now-actionable--border-width,1px))));color:RGB(var(--now-dropdown--bare_primary--color,var(--now-actionable_label--primary_bare--color,var(--now-color--primary-2,23,100,82))))}.now-dropdown.is-bare.-primary .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--bare_primary--color,var(--now-actionable_icon--primary_bare--color,var(--now-color--primary-2,23,100,82))))}.now-dropdown.is-bare.-primary .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--bare_primary--color,var(--now-actionable_icon--primary_bare--color,var(--now-color--primary-2,23,100,82))))}.now-dropdown.is-bare.-primary:hover:not(.is-disabled){background-color:RGB(var(--now-dropdown--bare_primary--background-color--hover,var(--now-actionable--primary_bare--background-color--hover,var(--now-color--primary-1,30,133,109))),var(--now-dropdown--bare_primary--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-dropdown--bare_primary--border-color--hover,var(--now-actionable--primary_bare--border-color--hover,var(--now-color--primary-3,15,67,55))),var(--now-dropdown--bare_primary--border-color-alpha--hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-dropdown--bare_primary--color--hover,var(--now-actionable_label--primary_bare--color--hover,var(--now-color--primary-3,15,67,55))))}.now-dropdown.is-bare.-primary:hover:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--bare_primary--color--hover,var(--now-actionable_icon--primary_bare--color--hover,var(--now-color--primary-3,15,67,55))))}.now-dropdown.is-bare.-primary:hover:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--bare_primary--color--hover,var(--now-actionable_icon--primary_bare--color--hover,var(--now-color--primary-3,15,67,55))))}.now-dropdown.is-bare.-primary.is-opened:not(:hover),.now-dropdown.is-bare.-primary:active:not(.is-disabled){background-color:RGB(var(--now-dropdown--bare_primary--background-color--active,var(--now-actionable--primary_bare--background-color--active,var(--now-color--primary-1,30,133,109))),var(--now-dropdown--bare_primary--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))));border-color:RGB(var(--now-dropdown--bare_primary--border-color--active,var(--now-actionable--primary_bare--border-color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-dropdown--bare_primary--border-color-alpha--active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-dropdown--bare_primary--color--active,var(--now-actionable_label--primary_bare--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-dropdown.is-bare.-primary.is-opened:not(:hover) .now-dropdown-icon,.now-dropdown.is-bare.-primary:active:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--bare_primary--color--active,var(--now-actionable_icon--primary_bare--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-dropdown.is-bare.-primary.is-opened:not(:hover) .now-dropdown-icon.-caret,.now-dropdown.is-bare.-primary:active:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--bare_primary--color--active,var(--now-actionable_icon--primary_bare--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-dropdown.is-bare.-primary.is-disabled{opacity:var(--now-dropdown--bare_primary--opacity--disabled,var(--now-actionable--primary_bare--opacity--disabled,var(--now-actionable--bare--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-dropdown.is-bare.-primary.-selection{background-color:transparent;border-color:transparent;border-radius:var(--now-dropdown--bare_primary-selection--border-radius,var(--now-actionable--primary-selection_bare--border-radius,var(--now-actionable--primary_bare--border-radius,var(--now-actionable--bare--border-radius,var(--now-actionable--border-radius,4px)))));border-width:var(--now-dropdown--bare_primary-selection--border-width,var(--now-actionable--primary-selection_bare--border-width,var(--now-actionable--primary_bare--border-width,var(--now-actionable--bare--border-width,var(--now-actionable--border-width,1px)))));color:RGB(var(--now-dropdown--bare_primary-selection--color,var(--now-actionable_label--primary-selection_bare--color,var(--now-color_selection--primary-3,23,100,82))))}.now-dropdown.is-bare.-primary.-selection .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--bare_primary-selection--color,var(--now-actionable_icon--primary-selection_bare--color,var(--now-color_selection--primary-3,23,100,82))))}.now-dropdown.is-bare.-primary.-selection .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--bare_primary-selection--color,var(--now-actionable_trigger-icon--primary-selection_bare--color,var(--now-color_selection--primary-3,23,100,82))))}.now-dropdown.is-bare.-primary.-selection:hover:not(.is-disabled){background-color:RGB(var(--now-dropdown--bare_primary-selection--background-color--hover,var(--now-actionable--primary-selection_bare--background-color--hover,var(--now-color_selection--primary-2,30,133,109))),var(--now-dropdown--bare_primary-selection--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-dropdown--bare_primary-selection--border-color--hover,var(--now-actionable--primary-selection_bare--border-color--hover,var(--now-color_selection--primary-4,15,67,55))),var(--now-dropdown--bare_primary-selection--border-color-alpha--hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-dropdown--bare_primary-selection--color--hover,var(--now-actionable--primary-selection_bare--border-color--hover,var(--now-color_selection--primary-4,15,67,55))))}.now-dropdown.is-bare.-primary.-selection:hover:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--bare_primary-selection--color--hover,var(--now-actionable_icon--primary-selection_bare--color--hover,var(--now-color_selection--primary-4,15,67,55))))}.now-dropdown.is-bare.-primary.-selection:hover:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--bare_primary-selection--color--hover,var(--now-actionable_trigger-icon--primary-selection_bare--color--hover,var(--now-color_selection--primary-4,15,67,55))))}.now-dropdown.is-bare.-primary.-selection.is-opened:not(:hover),.now-dropdown.is-bare.-primary.-selection:active:not(.is-disabled){background-color:RGB(var(--now-dropdown--bare_primary-selection--background-color--active,var(--now-actionable--primary-selection_bare--background-color--active,var(--now-color_selection--primary-2,30,133,109))),var(--now-dropdown--bare_primary-selection--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))));border-color:RGB(var(--now-dropdown--bare_primary-selection--border-color--active,var(--now-actionable--primary-selection_bare--border-color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-dropdown--bare_primary-selection--border-color-alpha--active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-dropdown--bare_primary-selection--color--active,var(--now-actionable--primary-selection_bare--border-color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-dropdown.is-bare.-primary.-selection.is-opened:not(:hover) .now-dropdown-icon,.now-dropdown.is-bare.-primary.-selection:active:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--bare_primary-selection--color--active,var(--now-actionable_icon--primary-selection_bare--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-dropdown.is-bare.-primary.-selection.is-opened:not(:hover) .now-dropdown-icon.-caret,.now-dropdown.is-bare.-primary.-selection:active:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--bare_primary-selection--color--active,var(--now-actionable_trigger-icon--primary-selection_bare--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-dropdown.is-bare.-primary.-selection.is-disabled{opacity:var(--now-dropdown--bare_primary-selection--opacity--disabled,var(--now-actionable--primary-selection_bare--opacity--disabled,var(--now-actionable--bare--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-dropdown.is-bare.-primary.-ai{background:none;border-color:transparent;border-radius:var(--now-actionable--primary-ai_bare--border-radius,var(--now-actionable--bare--border-radius,var(--now-actionable--border-radius,4px)));border-width:var(--now-actionable--primary-ai_bare--border-width,var(--now-actionable--bare--border-width,var(--now-actionable--border-width,1px)))}.now-dropdown.is-bare.-primary.-ai,.now-dropdown.is-bare.-primary.-ai .now-dropdown-icon{color:RGB(var(--now-actionable_label--primary-ai_bare--color,var(--now-color--secondary-brand-17,64,118,55)))}.now-dropdown.is-bare.-primary.-ai .now-dropdown-icon.-caret{color:RGB(var(--now-actionable_trigger-icon--primary-ai_bare--color,var(--now-actionable_label--primary-ai_bare--color,var(--now-color--secondary-brand-17,64,118,55))))}.now-dropdown.is-bare.-primary.-ai:hover:not(.is-disabled){background:none;background-color:RGB(var(--now-actionable--primary-ai_bare--background-color--hover,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--primary-ai--background-color-alpha--hover,var(--now-opacity--mid,.5)));border-color:transparent;color:RGB(var(--now-actionable_label--primary-ai_bare--color--hover,var(--now-color--primary-brand-13,0,104,132)))}.now-dropdown.is-bare.-primary.-ai:hover:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-actionable_icon--primary-ai_bare--color--hover,var(--now-actionable_label--primary-ai_bare--color--hover,var(--now-color--primary-brand-13,0,104,132))))}.now-dropdown.is-bare.-primary.-ai:hover:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-actionable_trigger-icon--primary-ai_bare--color--hover,var(--now-actionable_label--primary-ai_bare--color--hover,var(--now-color--primary-brand-13,0,104,132))))}.now-dropdown.is-bare.-primary.-ai.is-opened:not(:hover),.now-dropdown.is-bare.-primary.-ai:active:not(.is-disabled){background:none;background-color:RGB(var(--now-actionable--primary-ai_bare--background-color--active,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--primary-ai--background-color-alpha--active,var(--now-opacity--more,.65)));border-color:transparent;color:RGB(var(--now-actionable_label--primary-ai_bare--color--active,var(--now-color--primary-brand-14,0,96,122)))}.now-dropdown.is-bare.-primary.-ai.is-opened:not(:hover) .now-dropdown-icon,.now-dropdown.is-bare.-primary.-ai:active:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-actionable_icon--primary-ai_bare--color--active,var(--now-actionable_label--primary-ai_bare--color--active,var(--now-color--primary-brand-14,0,96,122))))}.now-dropdown.is-bare.-primary.-ai.is-opened:not(:hover) .now-dropdown-icon.-caret,.now-dropdown.is-bare.-primary.-ai:active:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-actionable_trigger-icon--primary-ai_bare--color--active,var(--now-actionable_label--primary-ai_bare--color--active,var(--now-color--primary-brand-14,0,96,122))))}.now-dropdown.is-bare.-primary.-ai.is-disabled{opacity:var(--now-actionable--primary-ai_bare--opacity--disabled,var(--now-actionable--bare--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))}.now-dropdown.is-bare.-secondary{border-radius:var(--now-dropdown--bare_secondary--border-radius,var(--now-actionable--secondary_bare--border-radius,var(--now-actionable--bare--border-radius,var(--now-actionable--border-radius,4px))));border-width:var(--now-dropdown--bare_secondary--border-width,var(--now-actionable--secondary_bare--border-width,var(--now-actionable--bare--border-width,var(--now-actionable--border-width,1px))));color:RGB(var(--now-dropdown--bare_secondary--color,var(--now-actionable_label--secondary_bare--color,var(--now-actionable_label--secondary--color,var(--now-color--secondary-1,1,119,142)))))}.now-dropdown.is-bare.-secondary .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--bare_secondary--color,var(--now-actionable_icon--secondary_bare--color,var(--now-actionable_icon--secondary--color,var(--now-color--secondary-1,1,119,142)))))}.now-dropdown.is-bare.-secondary .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--bare_secondary--color,var(--now-actionable_trigger-icon--secondary_bare--color,var(--now-actionable_trigger-icon--secondary--color,var(--now-color--secondary-1,1,119,142)))))}.now-dropdown.is-bare.-secondary:hover:not(.is-disabled){background-color:RGB(var(--now-dropdown--bare_secondary--background-color--hover,var(--now-actionable--secondary_bare--background-color--hover,var(--now-actionable--secondary--background-color--hover,var(--now-color--secondary-1,1,119,142)))),var(--now-dropdown--bare_secondary--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-dropdown--bare_secondary--border-color--hover,var(--now-actionable--secondary_bare--border-color--hover,var(--now-actionable--secondary--border-color--hover,var(--now-color--secondary-2,1,89,107)))),var(--now-dropdown--bare_secondary--border-color-alpha--hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-dropdown--bare_secondary--color--hover,var(--now-actionable_label--secondary_bare--color--hover,var(--now-actionable_label--secondary--color--hover,var(--now-color--secondary-2,1,89,107)))))}.now-dropdown.is-bare.-secondary:hover:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--bare_secondary--color--hover,var(--now-actionable_icon--secondary_bare--color--hover,var(--now-actionable_icon--secondary--color--hover,var(--now-color--secondary-2,1,89,107)))))}.now-dropdown.is-bare.-secondary:hover:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--bare_secondary--color--hover,var(--now-actionable_trigger-icon--secondary_bare--color--hover,var(--now-actionable_trigger-icon--secondary--color--hover,var(--now-color--secondary-2,1,89,107)))))}.now-dropdown.is-bare.-secondary.is-opened:not(:hover),.now-dropdown.is-bare.-secondary:active:not(.is-disabled){background-color:RGB(var(--now-dropdown--bare_secondary--background-color--active,var(--now-actionable--secondary_bare--background-color--active,var(--now-actionable--secondary--background-color--active,var(--now-color--secondary-1,1,119,142)))),var(--now-dropdown--bare_secondary--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))));border-color:RGB(var(--now-dropdown--bare_secondary--border-color--active,var(--now-actionable--secondary_bare--border-color--active,var(--now-actionable--secondary--border-color--active,var(--now-color--secondary-3,1,60,71)))),var(--now-dropdown--bare_secondary--border-color-alpha--active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-dropdown--bare_secondary--color--active,var(--now-actionable_label--secondary_bare--color--active,var(--now-actionable_label--secondary--color--active,var(--now-color--secondary-3,1,60,71)))))}.now-dropdown.is-bare.-secondary.is-opened:not(:hover) .now-dropdown-icon,.now-dropdown.is-bare.-secondary:active:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--bare_secondary--color--active,var(--now-actionable_icon--secondary_bare--color--active,var(--now-actionable_icon--secondary--color--active,var(--now-color--secondary-3,1,60,71)))))}.now-dropdown.is-bare.-secondary.is-opened:not(:hover) .now-dropdown-icon.-caret,.now-dropdown.is-bare.-secondary:active:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--bare_secondary--color--active,var(--now-actionable_trigger-icon--secondary_bare--color--active,var(--now-actionable_trigger-icon--secondary--color--active,var(--now-color--secondary-3,1,60,71)))))}.now-dropdown.is-bare.-secondary.is-disabled{opacity:var(--now-dropdown--bare_secondary--opacity--disabled,var(--now-actionable--secondary_bare--opacity--disabled,var(--now-actionable--bare--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-dropdown.is-bare.-secondary.-selected,.now-dropdown.is-bare.-secondary.-selection{background-color:transparent;border-color:transparent;border-radius:var(--now-dropdown--bare_secondary-selection--border-radius,var(--now-actionable--secondary-selection_bare--border-radius,var(--now-actionable--secondary_bare--border-radius,var(--now-actionable--bare--border-radius,var(--now-actionable--border-radius,4px)))));border-width:var(--now-dropdown--bare_secondary-selection--border-width,var(--now-actionable--secondary-selection_bare--border-width,var(--now-actionable--secondary_bare--border-width,var(--now-actionable--bare--border-width,var(--now-actionable--border-width,1px)))));color:RGB(var(--now-dropdown--bare_secondary-selection--color,var(--now-actionable_label--secondary-selection_bare--color,var(--now-color_selection--primary-2,30,133,109))))}.now-dropdown.is-bare.-secondary.-selected .now-dropdown-icon,.now-dropdown.is-bare.-secondary.-selection .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--bare_secondary-selection--color,var(--now-actionable_icon--secondary-selection_bare--color,var(--now-color_selection--primary-2,30,133,109))))}.now-dropdown.is-bare.-secondary.-selected .now-dropdown-icon.-caret,.now-dropdown.is-bare.-secondary.-selection .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--bare_secondary-selection--color,var(--now-actionable_trigger-icon--secondary-selection_bare--color,var(--now-color_selection--primary-2,30,133,109))))}.now-dropdown.is-bare.-secondary.-selected:hover:not(.is-disabled),.now-dropdown.is-bare.-secondary.-selection:hover:not(.is-disabled){background-color:RGB(var(--now-dropdown--bare_secondary-selection--background-color--hover,var(--now-actionable--secondary-selection_bare--background-color--hover,var(--now-color_selection--primary-2,30,133,109))),var(--now-dropdown--bare_secondary-selection--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-dropdown--bare_secondary-selection--border-color--hover,var(--now-actionable--secondary-selection_bare--border-color--hover,var(--now-color_selection--primary-3,23,100,82))),var(--now-dropdown--bare_secondary-selection--border-color-alpha--hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-dropdown--bare_secondary-selection--color--hover,var(--now-actionable_label--secondary-selection_bare--color--hover,var(--now-color_selection--primary-3,23,100,82))))}.now-dropdown.is-bare.-secondary.-selected:hover:not(.is-disabled) .now-dropdown-icon,.now-dropdown.is-bare.-secondary.-selection:hover:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--bare_secondary-selection--color--hover,var(--now-actionable_icon--secondary-selection_bare--color--hover,var(--now-color_selection--primary-3,23,100,82))))}.now-dropdown.is-bare.-secondary.-selected:hover:not(.is-disabled) .now-dropdown-icon.-caret,.now-dropdown.is-bare.-secondary.-selection:hover:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--bare_secondary-selection--color--hover,var(--now-actionable_trigger-icon--secondary-selection_bare--color--hover,var(--now-color_selection--primary-3,23,100,82))))}.now-dropdown.is-bare.-secondary.-selected.is-opened:not(:hover),.now-dropdown.is-bare.-secondary.-selected:active:not(.is-disabled),.now-dropdown.is-bare.-secondary.-selection.is-opened:not(:hover),.now-dropdown.is-bare.-secondary.-selection:active:not(.is-disabled){background-color:RGB(var(--now-dropdown--bare_secondary-selection--background-color--active,var(--now-actionable--secondary-selection_bare--background-color--active,var(--now-color_selection--primary-2,30,133,109))),var(--now-dropdown--bare_secondary-selection--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))));border-color:RGB(var(--now-dropdown--bare_secondary-selection--border-color--active,var(--now-actionable--secondary-selection_bare--border-color--active,var(--now-color_selection--primary-4,15,67,55))),var(--now-dropdown--bare_secondary-selection--border-color-alpha--active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-dropdown--bare_secondary-selection--color--active,var(--now-actionable_label--secondary-selection_bare--color--active,var(--now-color_selection--primary-4,15,67,55))))}.now-dropdown.is-bare.-secondary.-selected.is-opened:not(:hover) .now-dropdown-icon,.now-dropdown.is-bare.-secondary.-selected:active:not(.is-disabled) .now-dropdown-icon,.now-dropdown.is-bare.-secondary.-selection.is-opened:not(:hover) .now-dropdown-icon,.now-dropdown.is-bare.-secondary.-selection:active:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--bare_secondary-selection--color--active,var(--now-actionable_icon--secondary-selection_bare--color--active,var(--now-color_selection--primary-4,15,67,55))))}.now-dropdown.is-bare.-secondary.-selected.is-opened:not(:hover) .now-dropdown-icon.-caret,.now-dropdown.is-bare.-secondary.-selected:active:not(.is-disabled) .now-dropdown-icon.-caret,.now-dropdown.is-bare.-secondary.-selection.is-opened:not(:hover) .now-dropdown-icon.-caret,.now-dropdown.is-bare.-secondary.-selection:active:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--bare_secondary-selection--color--active,var(--now-actionable_trigger-icon--secondary-selection_bare--color--active,var(--now-color_selection--primary-4,15,67,55))))}.now-dropdown.is-bare.-secondary.-selected.is-disabled,.now-dropdown.is-bare.-secondary.-selection.is-disabled{opacity:var(--now-dropdown--bare_secondary-selection--opacity--disabled,var(--now-actionable--secondary-selection_bare--opacity--disabled,var(--now-actionable--bare--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-dropdown.is-bare.-secondary.-ai{background:none;border-color:transparent;border-radius:var(--now-actionable--secondary-ai_bare--border-radius,var(--now-actionable--bare--border-radius,var(--now-actionable--border-radius,4px)));border-width:var(--now-actionable--secondary-ai_bare--border-width,var(--now-actionable--bare--border-width,var(--now-actionable--border-width,1px)));color:RGB(var(--now-actionable_label--secondary-ai_bare--color,var(--now-color--primary-brand-12,0,111,142)))}.now-dropdown.is-bare.-secondary.-ai:before{display:none}.now-dropdown.is-bare.-secondary.-ai .now-dropdown-icon{color:RGB(var(--now-actionable_label--secondary-ai_bare--color,var(--now-color--primary-brand-12,0,111,142)))}.now-dropdown.is-bare.-secondary.-ai .now-dropdown-icon.-caret{color:RGB(var(--now-actionable_trigger-icon--secondary-ai_bare--color,var(--now-actionable_label--secondary-ai_bare--color,var(--now-color--primary-brand-12,0,111,142))))}.now-dropdown.is-bare.-secondary.-ai:hover:not(.is-disabled){background:linear-gradient(135deg,RGB(var(--now-actionable--secondary-ai_bare--background-color-gradient--start_hover,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--secondary-ai--background-color-alpha--hover,var(--now-opacity--mid,.5))) 5%,RGB(var(--now-actionable--secondary-ai_bare--background-color-gradient--end_hover,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--secondary-ai--background-color-alpha--hover,var(--now-opacity--mid,.5))) 95%) border-box;border-color:transparent;color:RGB(var(--now-actionable_label--secondary-ai_bare--color--hover,var(--now-color--primary-brand-13,0,104,132)))}.now-dropdown.is-bare.-secondary.-ai:hover:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-actionable_icon--secondary-ai_bare--color--hover,var(--now-actionable_label--secondary-ai_bare--color--hover,var(--now-color--primary-brand-13,0,104,132))))}.now-dropdown.is-bare.-secondary.-ai:hover:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-actionable_trigger-icon--secondary-ai_bare--color--hover,var(--now-actionable_label--secondary-ai_bare--color--hover,var(--now-color--primary-brand-13,0,104,132))))}.now-dropdown.is-bare.-secondary.-ai.is-opened:not(:hover),.now-dropdown.is-bare.-secondary.-ai:active:not(.is-disabled){background:linear-gradient(135deg,RGB(var(--now-actionable--secondary-ai_bare--background-color-gradient--start_active,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--secondary-ai--background-color-alpha--active,var(--now-opacity--more,.65))) 5%,RGB(var(--now-actionable--secondary-ai_bare--background-color-gradient--end_active,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--secondary-ai--background-color-alpha--active,var(--now-opacity--more,.65))) 95%) border-box;border-color:transparent;color:RGB(var(--now-actionable_label--secondary-ai_bare--color--active,var(--now-color--primary-brand-14,0,96,122)))}.now-dropdown.is-bare.-secondary.-ai.is-opened:not(:hover) .now-dropdown-icon,.now-dropdown.is-bare.-secondary.-ai:active:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-actionable_icon--secondary-ai_bare--color--active,var(--now-actionable_label--secondary-ai_bare--color--active,var(--now-color--primary-brand-14,0,96,122))))}.now-dropdown.is-bare.-secondary.-ai.is-opened:not(:hover) .now-dropdown-icon.-caret,.now-dropdown.is-bare.-secondary.-ai:active:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-actionable_trigger-icon--secondary-ai_bare--color--active,var(--now-actionable_label--secondary-ai_bare--color--active,var(--now-color--primary-brand-14,0,96,122))))}.now-dropdown.is-bare.-secondary.-ai.is-disabled{opacity:var(--now-actionable--secondary-ai_bare--opacity--disabled,var(--now-actionable--bare--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))}.now-dropdown.is-bare.-tertiary{border-radius:var(--now-dropdown--bare_tertiary--border-radius,var(--now-actionable--tertiary_bare--border-radius,var(--now-actionable--bare--border-radius,var(--now-actionable--border-radius,4px))));border-width:var(--now-dropdown--bare_tertiary--border-width,var(--now-actionable--tertiary_bare--border-width,var(--now-actionable--bare--border-width,var(--now-actionable--border-width,1px))));color:RGB(var(--now-dropdown--bare_tertiary--color,var(--now-actionable_label--tertiary_bare--color,var(--now-actionable_label--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))))}.now-dropdown.is-bare.-tertiary .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--bare_tertiary--color,var(--now-actionable_icon--tertiary_bare--color,var(--now-actionable_icon--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))))}.now-dropdown.is-bare.-tertiary .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--bare_tertiary--color,var(--now-actionable_trigger-icon--tertiary_bare--color,var(--now-actionable_trigger-icon--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))))}.now-dropdown.is-bare.-tertiary:hover:not(.is-disabled){background-color:RGB(var(--now-dropdown--bare_tertiary--background-color--hover,var(--now-actionable--tertiary_bare--background-color--hover,var(--now-actionable--tertiary--background-color--hover,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55))))),var(--now-dropdown--bare_tertiary--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-dropdown--bare_tertiary--border-color--hover,var(--now-actionable--tertiary_bare--border-color--hover,var(--now-actionable--tertiary--border-color--hover,var(--now-color_border--secondary-actionable,var(--now-color--neutral-15,44,53,55))))),var(--now-dropdown--bare_tertiary--border-color-alpha--hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-dropdown--bare_tertiary--color--hover,var(--now-actionable_label--tertiary_bare--color--hover,var(--now-actionable_label--tertiary--color--hover,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))))))}.now-dropdown.is-bare.-tertiary:hover:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--bare_tertiary--color--hover,var(--now-actionable_icon--tertiary_bare--color--hover,var(--now-actionable_icon--tertiary--color--hover,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))))))}.now-dropdown.is-bare.-tertiary:hover:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--bare_tertiary--color--hover,var(--now-actionable_trigger-icon--tertiary_bare--color--hover,var(--now-actionable_trigger-icon--tertiary--color--hover,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))))))}.now-dropdown.is-bare.-tertiary.is-opened:not(:hover),.now-dropdown.is-bare.-tertiary:active:not(.is-disabled){background-color:RGB(var(--now-dropdown--bare_tertiary--background-color--active,var(--now-actionable--tertiary_bare--background-color--active,var(--now-actionable--tertiary--background-color--active,var(--now-color_background--secondary-actionable,var(--now-color--neutral-15,44,53,55))))),var(--now-dropdown--bare_tertiary--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))));border-color:RGB(var(--now-dropdown--bare_tertiary--border-color--active,var(--now-actionable--tertiary_bare--border-color--active,var(--now-actionable--tertiary--border-color--active,var(--now-color_border--primary-actionable,var(--now-color--neutral-18,22,27,28))))),var(--now-dropdown--bare_tertiary--border-color-alpha--active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-dropdown--bare_tertiary--color--active,var(--now-actionable_label--tertiary_bare--color--active,var(--now-actionable_label--tertiary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-dropdown.is-bare.-tertiary.is-opened:not(:hover) .now-dropdown-icon,.now-dropdown.is-bare.-tertiary:active:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--bare_tertiary--color--active,var(--now-actionable_icon--tertiary_bare--color--active,var(--now-actionable_icon--tertiary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-dropdown.is-bare.-tertiary.is-opened:not(:hover) .now-dropdown-icon.-caret,.now-dropdown.is-bare.-tertiary:active:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--bare_tertiary--color--active,var(--now-actionable_trigger-icon--tertiary_bare--color--active,var(--now-actionable_trigger-icon--tertiary--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-dropdown.is-bare.-tertiary.is-disabled{opacity:var(--now-dropdown--bare_tertiary--opacity--disabled,var(--now-actionable--tertiary_bare--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))}.now-dropdown.is-bare.-tertiary.-selected,.now-dropdown.is-bare.-tertiary.-selection{background-color:transparent;border-color:transparent;border-radius:var(--now-dropdown--bare_tertiary-selection--border-radius,var(--now-actionable--tertiary-selection_bare--border-radius,var(--now-actionable--tertiary_bare--border-radius,var(--now-actionable--bare--border-radius,var(--now-actionable--border-radius,4px)))));border-width:var(--now-dropdown--bare_tertiary-selection--border-width,var(--now-actionable--tertiary-selection_bare--border-width,var(--now-actionable--tertiary_bare--border-width,var(--now-actionable--bare--border-width,var(--now-actionable--border-width,1px)))));color:RGB(var(--now-dropdown--bare_tertiary-selection--color,var(--now-actionable_label--tertiary-selection_bare--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-dropdown.is-bare.-tertiary.-selected .now-dropdown-icon,.now-dropdown.is-bare.-tertiary.-selection .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--bare_tertiary-selection--color,var(--now-actionable_icon--tertiary-selection_bare--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-dropdown.is-bare.-tertiary.-selected .now-dropdown-icon.-caret,.now-dropdown.is-bare.-tertiary.-selection .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--bare_tertiary-selection--color,var(--now-actionable_trigger-icon--tertiary-selection_bare--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-dropdown.is-bare.-tertiary.-selected:hover:not(.is-disabled),.now-dropdown.is-bare.-tertiary.-selection:hover:not(.is-disabled){background-color:RGB(var(--now-dropdown--bare_tertiary-selection--background-color--hover,var(--now-actionable--tertiary-selection_bare--background-color--hover,var(--now-color_selection--primary-2,30,133,109))),var(--now-dropdown--bare_tertiary-selection--background-color-alpha--hover,var(--now-actionable--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-dropdown--bare_tertiary-selection--border-color--hover,var(--now-actionable--tertiary-selection_bare--border-color--hover,var(--now-color_selection--primary-3,23,100,82))),var(--now-dropdown--bare_tertiary-selection--border-color-alpha--hover,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-dropdown--bare_tertiary-selection--color--hover,var(--now-actionable_label--tertiary-selection_bare--color--hover,var(--now-color_selection--primary-3,23,100,82))))}.now-dropdown.is-bare.-tertiary.-selected:hover:not(.is-disabled) .now-dropdown-icon,.now-dropdown.is-bare.-tertiary.-selection:hover:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--bare_tertiary-selection--color--hover,var(--now-actionable_icon--tertiary-selection_bare--color--hover,var(--now-color_selection--primary-3,23,100,82))))}.now-dropdown.is-bare.-tertiary.-selected:hover:not(.is-disabled) .now-dropdown-icon.-caret,.now-dropdown.is-bare.-tertiary.-selection:hover:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--bare_tertiary-selection--color--hover,var(--now-actionable_trigger-icon--tertiary-selection_bare--color--hover,var(--now-color_selection--primary-3,23,100,82))))}.now-dropdown.is-bare.-tertiary.-selected.is-opened:not(:hover),.now-dropdown.is-bare.-tertiary.-selected:active:not(.is-disabled),.now-dropdown.is-bare.-tertiary.-selection.is-opened:not(:hover),.now-dropdown.is-bare.-tertiary.-selection:active:not(.is-disabled){background-color:RGB(var(--now-dropdown--bare_tertiary-selection--background-color--active,var(--now-actionable--tertiary-selection_bare--background-color--active,var(--now-color_selection--primary-2,30,133,109))),var(--now-dropdown--bare_tertiary-selection--background-color-alpha--active,var(--now-actionable--background-color-alpha--active,var(--now-opacity--less,.25))));border-color:RGB(var(--now-dropdown--bare_tertiary-selection--border-color--active,var(--now-actionable--tertiary-selection_bare--border-color--active,var(--now-color_selection--primary-4,15,67,55))),var(--now-dropdown--bare_tertiary-selection--border-color-alpha--active,var(--now-actionable--bare--border-color-alpha,var(--now-actionable--border-color-alpha,0))));color:RGB(var(--now-dropdown--bare_tertiary-selection--color--active,var(--now-actionable_label--tertiary-selection_bare--color--active,var(--now-color_selection--primary-4,15,67,55))))}.now-dropdown.is-bare.-tertiary.-selected.is-opened:not(:hover) .now-dropdown-icon,.now-dropdown.is-bare.-tertiary.-selected:active:not(.is-disabled) .now-dropdown-icon,.now-dropdown.is-bare.-tertiary.-selection.is-opened:not(:hover) .now-dropdown-icon,.now-dropdown.is-bare.-tertiary.-selection:active:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-dropdown_icon--bare_tertiary-selection--color--active,var(--now-actionable_icon--tertiary-selection_bare--color--active,var(--now-color_selection--primary-4,15,67,55))))}.now-dropdown.is-bare.-tertiary.-selected.is-opened:not(:hover) .now-dropdown-icon.-caret,.now-dropdown.is-bare.-tertiary.-selected:active:not(.is-disabled) .now-dropdown-icon.-caret,.now-dropdown.is-bare.-tertiary.-selection.is-opened:not(:hover) .now-dropdown-icon.-caret,.now-dropdown.is-bare.-tertiary.-selection:active:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-dropdown_trigger-icon--bare_tertiary-selection--color--active,var(--now-actionable_trigger-icon--tertiary-selection_bare--color--active,var(--now-color_selection--primary-4,15,67,55))))}.now-dropdown.is-bare.-tertiary.-selected.is-disabled,.now-dropdown.is-bare.-tertiary.-selection.is-disabled{opacity:var(--now-dropdown--bare_tertiary-selection--opacity--disabled,var(--now-actionable--tertiary-selection_bare--opacity--disabled,var(--now-actionable--bare--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))))}.now-dropdown.is-bare.-tertiary.-ai{background:none;border-color:transparent;border-radius:var(--now-actionable--tertiary-ai_bare--border-radius,var(--now-actionable--bare--border-radius,var(--now-actionable--border-radius,4px)));border-width:var(--now-actionable--tertiary-ai_bare--border-width,var(--now-actionable--bare--border-width,var(--now-actionable--border-width,1px)));color:RGB(var(--now-actionable_label--tertiary-ai_bare--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.now-dropdown.is-bare.-tertiary.-ai:before{display:none}.now-dropdown.is-bare.-tertiary.-ai .now-dropdown-icon{color:RGB(var(--now-actionable_label--tertiary-ai_bare--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.now-dropdown.is-bare.-tertiary.-ai .now-dropdown-icon.-caret{color:RGB(var(--now-actionable_trigger-icon--tertiary-ai_bare--color,var(--now-actionable_label--tertiary-ai_bare--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-dropdown.is-bare.-tertiary.-ai:hover:not(.is-disabled){background:linear-gradient(135deg,RGB(var(--now-actionable--tertiary-ai_bare--background-color-gradient--start_hover,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--tertiary-ai--background-color-alpha--hover,var(--now-opacity--mid,.5))) 5%,RGB(var(--now-actionable--tertiary-ai_bare--background-color-gradient--end_hover,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--tertiary-ai--background-color-alpha--hover,var(--now-opacity--mid,.5))) 95%) border-box;border-color:transparent;color:RGB(var(--now-actionable_label--tertiary-ai_bare--color--hover,var(--now-color--primary-brand-13,0,104,132)))}.now-dropdown.is-bare.-tertiary.-ai:hover:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-actionable_icon--tertiary-ai_bare--color--hover,var(--now-actionable_label--tertiary-ai_bare--color--hover,var(--now-color--primary-brand-13,0,104,132))))}.now-dropdown.is-bare.-tertiary.-ai:hover:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-actionable_trigger-icon--tertiary-ai_bare--color--hover,var(--now-actionable_label--tertiary-ai_bare--color--hover,var(--now-color--primary-brand-13,0,104,132))))}.now-dropdown.is-bare.-tertiary.-ai.is-opened:not(:hover),.now-dropdown.is-bare.-tertiary.-ai:active:not(.is-disabled){background:linear-gradient(135deg,RGB(var(--now-actionable--tertiary-ai_bare--background-color-gradient--start_active,var(--now-color--secondary-brand-10,134,246,115)),var(--now-actionable--tertiary-ai--background-color-alpha--active,var(--now-opacity--more,.65))) 5%,RGB(var(--now-actionable--tertiary-ai_bare--background-color-gradient--end_active,var(--now-color--supplementary1-brand-10,113,213,254)),var(--now-actionable--tertiary-ai--background-color-alpha--active,var(--now-opacity--more,.65))) 95%) border-box;border-color:transparent;color:RGB(var(--now-actionable_label--tertiary-ai_bare--color--active,var(--now-color--primary-brand-14,0,96,122)))}.now-dropdown.is-bare.-tertiary.-ai.is-opened:not(:hover) .now-dropdown-icon,.now-dropdown.is-bare.-tertiary.-ai:active:not(.is-disabled) .now-dropdown-icon{color:RGB(var(--now-actionable_icon--tertiary-ai_bare--color--active,var(--now-actionable_label--tertiary-ai_bare--color--active,var(--now-color--primary-brand-14,0,96,122))))}.now-dropdown.is-bare.-tertiary.-ai.is-opened:not(:hover) .now-dropdown-icon.-caret,.now-dropdown.is-bare.-tertiary.-ai:active:not(.is-disabled) .now-dropdown-icon.-caret{color:RGB(var(--now-actionable_trigger-icon--tertiary-ai_bare--color--active,var(--now-actionable_label--tertiary-ai_bare--color--active,var(--now-color--primary-brand-14,0,96,122))))}.now-dropdown.is-bare.-tertiary.-ai.is-disabled{opacity:var(--now-actionable--tertiary-ai_bare--opacity--disabled,var(--now-actionable--bare--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))}.now-dropdown.is-bare::-moz-focus-inner{border-style:none}.now-dropdown.is-bare:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)));outline:none}@media(forced-colors:active){.now-dropdown.is-bare:focus{outline:1px solid highlight}}.now-dropdown.is-disabled{cursor:not-allowed;opacity:var(--now-button--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))}.now-dropdown.is-disabled:hover{box-shadow:none}.now-dropdown.is-disabled:focus::-moz-focus-inner{border-style:none}.now-dropdown.is-disabled:focus:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.now-dropdown.is-disabled:focus:focus{outline:1px solid highlight}}.now-dropdown .now-line-height-crop{min-inline-size:0}.now-dropdown-icon.-caret{-webkit-margin-start:auto;margin-inline-start:auto}.now-dropdown-trigger-label{display:block;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap}.now-dropdown-trigger-label:after{content:\\\"\\\";display:block}@media(forced-colors:active){.now-dropdown{background-color:buttonface!important;border-style:solid!important;border-width:1px!important;color:buttontext!important}.now-dropdown now-icon,.now-dropdown now-icon-animated{color:inherit!important}.now-dropdown:focus,.now-dropdown:hover{background-color:highlighttext!important;border-color:highlight!important;color:highlight!important}.now-dropdown.is-disabled,.now-dropdown.is-disabled:hover{background-color:buttonface!important;border-color:graytext!important;color:graytext!important;opacity:1!important}.now-dropdown .now-line-height-crop{forced-color-adjust:none}.now-dropdown ::slotted(*){forced-color-adjust:none}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:inline-block;vertical-align:middle}.now-highlighted-value{align-items:center;border-radius:var(--now-highlighted-value--border-radius,var(--now-indicator--border-radius,.125rem));border-style:solid;border-width:var(--now-highlighted-value--border-width,var(--now-indicator--border-width,0));display:flex;font-family:var(--now-highlighted-value--font-family,var(--now-indicator--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)));font-style:var(--now-highlighted-value--font-style,var(--now-indicator--font-style,normal));font-variant:normal;font-weight:var(--now-highlighted-value--font-weight,var(--now-indicator--font-weight,normal));inline-size:inherit;justify-content:center;letter-spacing:inherit;min-inline-size:0;text-align:start;text-indent:0;text-shadow:none;text-transform:var(--now-highlighted-value--text-transform,var(--now-indicator--text-transform,none));white-space:normal;word-spacing:inherit}.now-highlighted-value.-sm{-webkit-padding-start:calc(.25rem*var(--now-highlighted-value--scale-size-inline, 1));-webkit-padding-end:calc(.25rem*var(--now-highlighted-value--scale-size-inline, 1));block-size:calc(.5rem + var(--now-highlighted-value--scale-size-block, 1)*1rem/2);font-size:.75rem;line-height:calc(.5rem + var(--now-highlighted-value--scale-size-block, 1)*1rem/2);padding-inline-end:calc(.25rem*var(--now-highlighted-value--scale-size-inline, 1));padding-inline-start:calc(.25rem*var(--now-highlighted-value--scale-size-inline, 1))}.now-highlighted-value.-sm .now-highlighted-value-icon{-webkit-margin-start:-.125rem;margin-inline-start:-.125rem}.now-highlighted-value.-md{-webkit-padding-start:calc(.5rem*var(--now-highlighted-value--scale-size-inline, 1));-webkit-padding-end:calc(.5rem*var(--now-highlighted-value--scale-size-inline, 1));block-size:calc(.75rem + var(--now-highlighted-value--scale-size-block, 1)*1.5rem/2);font-size:1rem;line-height:calc(.75rem + var(--now-highlighted-value--scale-size-block, 1)*1.5rem/2);padding-inline-end:calc(.5rem*var(--now-highlighted-value--scale-size-inline, 1));padding-inline-start:calc(.5rem*var(--now-highlighted-value--scale-size-inline, 1))}.now-highlighted-value.-md .now-highlighted-value-icon{-webkit-margin-start:-.25rem;margin-inline-start:-.25rem}.now-highlighted-value.-primary{color:RGB(var(--now-highlighted-value--primary--color,var(--now-color--neutral-0,255,255,255)))}.now-highlighted-value.-secondary{color:RGB(var(--now-highlighted-value--secondary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-highlighted-value.-tertiary{color:RGB(var(--now-highlighted-value--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-highlighted-value.-critical.-primary{background-color:RGB(var(--now-highlighted-value--primary_critical--background-color,var(--now-color_alert--critical-2,200,60,54)));border-color:RGB(var(--now-highlighted-value--primary_critical--border-color,var(--now-color_alert--critical-3,160,48,43)));color:RGB(var(--now-highlighted-value--primary_critical--color,var(--now-highlighted-value--primary--color,var(--now-color--neutral-0,255,255,255))))}.now-highlighted-value.-critical.-primary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--primary_critical--color,var(--now-color_alert--critical-0,241,206,205)))}.now-highlighted-value.-critical.-secondary{background-color:RGB(var(--now-highlighted-value--secondary_critical--background-color,var(--now-color_alert--critical-1,221,133,129)));border-color:RGB(var(--now-highlighted-value--secondary_critical--border-color,var(--now-color_alert--critical-2,200,60,54)));color:RGB(var(--now-highlighted-value--secondary_critical--color,var(--now-highlighted-value--secondary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-critical.-secondary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--secondary_critical--color,var(--now-color_alert--critical-4,120,36,32)))}.now-highlighted-value.-critical.-tertiary{background-color:RGB(var(--now-highlighted-value--tertiary_critical--background-color,var(--now-color_alert--critical-0,241,206,205)));border-color:RGB(var(--now-highlighted-value--tertiary_critical--border-color,var(--now-color_alert--critical-1,221,133,129)));color:RGB(var(--now-highlighted-value--tertiary_critical--color,var(--now-highlighted-value--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-critical.-tertiary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--tertiary_critical--color,var(--now-color_alert--critical-2,200,60,54)))}.now-highlighted-value.-high.-primary{background-color:RGB(var(--now-highlighted-value--primary_high--background-color,var(--now-color_alert--high-4,133,87,20)));border-color:RGB(var(--now-highlighted-value--primary_high--border-color,var(--now-color_alert--high-5,88,58,14)));color:RGB(var(--now-highlighted-value--primary_high--color,var(--now-highlighted-value--primary--color,var(--now-color--neutral-0,255,255,255))))}.now-highlighted-value.-high.-primary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--primary_high--color,var(--now-color_alert--high-0,247,228,200)))}.now-highlighted-value.-high.-secondary{background-color:RGB(var(--now-highlighted-value--secondary_high--background-color,var(--now-color_alert--high-1,234,186,117)));border-color:RGB(var(--now-highlighted-value--secondary_high--border-color,var(--now-color_alert--high-2,221,145,34)));color:RGB(var(--now-highlighted-value--secondary_high--color,var(--now-highlighted-value--secondary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-high.-secondary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--secondary_high--color,var(--now-color_alert--high-4,133,87,20)))}.now-highlighted-value.-high.-tertiary{background-color:RGB(var(--now-highlighted-value--tertiary_high--background-color,var(--now-color_alert--high-0,247,228,200)));border-color:RGB(var(--now-highlighted-value--tertiary_high--border-color,var(--now-color_alert--high-1,234,186,117)));color:RGB(var(--now-highlighted-value--tertiary_high--color,var(--now-highlighted-value--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-high.-tertiary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--tertiary_high--color,var(--now-color_alert--high-4,133,87,20)))}.now-highlighted-value.-warning.-primary{background-color:RGB(var(--now-highlighted-value--primary_warning--background-color,var(--now-color_alert--warning-4,149,139,17)));border-color:RGB(var(--now-highlighted-value--primary_warning--border-color,var(--now-color_alert--warning-5,99,92,11)));color:RGB(var(--now-highlighted-value--primary_warning--color,var(--now-highlighted-value--primary--color,var(--now-color--neutral-0,255,255,255))))}.now-highlighted-value.-warning.-primary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--primary_warning--color,var(--now-color_alert--warning-0,244,240,191)))}.now-highlighted-value.-warning.-secondary{background-color:RGB(var(--now-highlighted-value--secondary_warning--background-color,var(--now-color_alert--warning-1,227,218,96)));border-color:RGB(var(--now-highlighted-value--secondary_warning--border-color,var(--now-color_alert--warning-2,210,195,0)));color:RGB(var(--now-highlighted-value--secondary_warning--color,var(--now-highlighted-value--secondary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-warning.-secondary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--secondary_warning--color,var(--now-color_alert--warning-4,149,139,17)))}.now-highlighted-value.-warning.-tertiary{background-color:RGB(var(--now-highlighted-value--tertiary_warning--background-color,var(--now-color_alert--warning-0,244,240,191)));border-color:RGB(var(--now-highlighted-value--tertiary_warning--border-color,var(--now-color_alert--warning-1,227,218,96)));color:RGB(var(--now-highlighted-value--tertiary_warning--color,var(--now-highlighted-value--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-warning.-tertiary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--tertiary_warning--color,var(--now-color_alert--warning-4,149,139,17)))}.now-highlighted-value.-moderate.-primary{background-color:RGB(var(--now-highlighted-value--primary_moderate--background-color,var(--now-color_alert--moderate-2,84,86,207)));border-color:RGB(var(--now-highlighted-value--primary_moderate--border-color,var(--now-color_alert--moderate-3,67,69,166)));color:RGB(var(--now-highlighted-value--primary_moderate--color,var(--now-highlighted-value--primary--color,var(--now-color--neutral-0,255,255,255))))}.now-highlighted-value.-moderate.-primary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--primary_moderate--color,var(--now-color_alert--moderate-0,212,213,243)))}.now-highlighted-value.-moderate.-secondary{background-color:RGB(var(--now-highlighted-value--secondary_moderate--background-color,var(--now-color_alert--moderate-1,148,149,225)));border-color:RGB(var(--now-highlighted-value--secondary_moderate--border-color,var(--now-color_alert--moderate-2,84,86,207)));color:RGB(var(--now-highlighted-value--secondary_moderate--color,var(--now-highlighted-value--secondary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-moderate.-secondary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--secondary_moderate--color,var(--now-color_alert--moderate-4,50,52,124)))}.now-highlighted-value.-moderate.-tertiary{background-color:RGB(var(--now-highlighted-value--tertiary_moderate--background-color,var(--now-color_alert--moderate-0,212,213,243)));border-color:RGB(var(--now-highlighted-value--tertiary_moderate--border-color,var(--now-color_alert--moderate-1,148,149,225)));color:RGB(var(--now-highlighted-value--tertiary_moderate--color,var(--now-highlighted-value--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-moderate.-tertiary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--tertiary_moderate--color,var(--now-color_alert--moderate-2,84,86,207)))}.now-highlighted-value.-positive.-primary{background-color:RGB(var(--now-highlighted-value--primary_positive--background-color,var(--now-color_alert--positive-2,37,131,43)));border-color:RGB(var(--now-highlighted-value--primary_positive--border-color,var(--now-color_alert--positive-3,30,105,34)));color:RGB(var(--now-highlighted-value--primary_positive--color,var(--now-highlighted-value--primary--color,var(--now-color--neutral-0,255,255,255))))}.now-highlighted-value.-positive.-primary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--primary_positive--color,var(--now-color_alert--positive-0,201,224,202)))}.now-highlighted-value.-positive.-secondary{background-color:RGB(var(--now-highlighted-value--secondary_positive--background-color,var(--now-color_alert--positive-1,119,178,123)));border-color:RGB(var(--now-highlighted-value--secondary_positive--border-color,var(--now-color_alert--positive-2,37,131,43)));color:RGB(var(--now-highlighted-value--secondary_positive--color,var(--now-highlighted-value--secondary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-positive.-secondary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--secondary_positive--color,var(--now-color_alert--positive-4,22,79,26)))}.now-highlighted-value.-positive.-tertiary{background-color:RGB(var(--now-highlighted-value--tertiary_positive--background-color,var(--now-color_alert--positive-0,201,224,202)));border-color:RGB(var(--now-highlighted-value--tertiary_positive--border-color,var(--now-color_alert--positive-1,119,178,123)));color:RGB(var(--now-highlighted-value--tertiary_positive--color,var(--now-highlighted-value--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-positive.-tertiary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--tertiary_positive--color,var(--now-color_alert--positive-2,37,131,43)))}.now-highlighted-value.-info.-primary{background-color:RGB(var(--now-highlighted-value--primary_info--background-color,var(--now-color_alert--info-2,14,120,196)));border-color:RGB(var(--now-highlighted-value--primary_info--border-color,var(--now-color_alert--info-3,11,96,157)));color:RGB(var(--now-highlighted-value--primary_info--color,var(--now-highlighted-value--primary--color,var(--now-color--neutral-0,255,255,255))))}.now-highlighted-value.-info.-primary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--primary_info--color,var(--now-color_alert--info-0,195,221,240)))}.now-highlighted-value.-info.-secondary{background-color:RGB(var(--now-highlighted-value--secondary_info--background-color,var(--now-color_alert--info-1,104,171,218)));border-color:RGB(var(--now-highlighted-value--secondary_info--border-color,var(--now-color_alert--info-2,14,120,196)));color:RGB(var(--now-highlighted-value--secondary_info--color,var(--now-highlighted-value--secondary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-info.-secondary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--secondary_info--color,var(--now-color_alert--info-4,8,72,118)))}.now-highlighted-value.-info.-tertiary{background-color:RGB(var(--now-highlighted-value--tertiary_info--background-color,var(--now-color_alert--info-0,195,221,240)));border-color:RGB(var(--now-highlighted-value--tertiary_info--border-color,var(--now-color_alert--info-1,104,171,218)));color:RGB(var(--now-highlighted-value--tertiary_info--color,var(--now-highlighted-value--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-info.-tertiary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--tertiary_info--color,var(--now-color_alert--info-2,14,120,196)))}.now-highlighted-value.-low.-primary{background-color:RGB(var(--now-highlighted-value--primary_low--background-color,var(--now-color_alert--low-2,102,102,102)));border-color:RGB(var(--now-highlighted-value--primary_low--border-color,var(--now-color_alert--low-3,82,82,82)));color:RGB(var(--now-highlighted-value--primary_low--color,var(--now-highlighted-value--primary--color,var(--now-color--neutral-0,255,255,255))))}.now-highlighted-value.-low.-primary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--primary_low--color,var(--now-color_alert--low-0,217,217,217)))}.now-highlighted-value.-low.-secondary{background-color:RGB(var(--now-highlighted-value--secondary_low--background-color,var(--now-color_alert--low-1,159,159,159)));border-color:RGB(var(--now-highlighted-value--secondary_low--border-color,var(--now-color_alert--low-2,102,102,102)));color:RGB(var(--now-highlighted-value--secondary_low--color,var(--now-highlighted-value--secondary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-low.-secondary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--secondary_low--color,var(--now-color_alert--low-4,61,61,61)))}.now-highlighted-value.-low.-tertiary{background-color:RGB(var(--now-highlighted-value--tertiary_low--background-color,var(--now-color_alert--low-0,217,217,217)));border-color:RGB(var(--now-highlighted-value--tertiary_low--border-color,var(--now-color_alert--low-1,159,159,159)));color:RGB(var(--now-highlighted-value--tertiary_low--color,var(--now-highlighted-value--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-low.-tertiary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--tertiary_low--color,var(--now-color_alert--low-2,102,102,102)))}.now-highlighted-value.-magenta.-primary{background-color:RGB(var(--now-highlighted-value--primary_magenta--background-color,var(--now-color_grouped--magenta-4,142,85,135)));border-color:RGB(var(--now-highlighted-value--primary_magenta--border-color,var(--now-color_grouped--magenta-5,112,67,106)));color:RGB(var(--now-highlighted-value--primary_magenta--color,var(--now-highlighted-value--primary--color,var(--now-color--neutral-0,255,255,255))))}.now-highlighted-value.-magenta.-primary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--primary_magenta--color,var(--now-color_grouped--magenta-0,239,215,236)))}.now-highlighted-value.-magenta.-secondary{background-color:RGB(var(--now-highlighted-value--secondary_magenta--background-color,var(--now-color_grouped--magenta-1,221,168,215)));border-color:RGB(var(--now-highlighted-value--secondary_magenta--border-color,var(--now-color_grouped--magenta-2,203,121,193)));color:RGB(var(--now-highlighted-value--secondary_magenta--color,var(--now-highlighted-value--secondary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-magenta.-secondary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--secondary_magenta--color,var(--now-color_grouped--magenta-4,142,85,135)))}.now-highlighted-value.-magenta.-tertiary{background-color:RGB(var(--now-highlighted-value--tertiary_magenta--background-color,var(--now-color_grouped--magenta-0,239,215,236)));border-color:RGB(var(--now-highlighted-value--tertiary_magenta--border-color,var(--now-color_grouped--magenta-1,221,168,215)));color:RGB(var(--now-highlighted-value--tertiary_magenta--color,var(--now-highlighted-value--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-magenta.-tertiary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--tertiary_magenta--color,var(--now-color_grouped--magenta-4,142,85,135)))}.now-highlighted-value.-pink.-primary{background-color:RGB(var(--now-highlighted-value--primary_pink--background-color,var(--now-color_grouped--pink-4,142,85,100)));border-color:RGB(var(--now-highlighted-value--primary_pink--border-color,var(--now-color_grouped--pink-5,112,67,79)));color:RGB(var(--now-highlighted-value--primary_pink--color,var(--now-highlighted-value--primary--color,var(--now-color--neutral-0,255,255,255))))}.now-highlighted-value.-pink.-primary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--primary_pink--color,var(--now-color_grouped--pink-0,239,215,221)))}.now-highlighted-value.-pink.-secondary{background-color:RGB(var(--now-highlighted-value--secondary_pink--background-color,var(--now-color_grouped--pink-1,221,168,182)));border-color:RGB(var(--now-highlighted-value--secondary_pink--border-color,var(--now-color_grouped--pink-2,203,121,143)));color:RGB(var(--now-highlighted-value--secondary_pink--color,var(--now-highlighted-value--secondary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-pink.-secondary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--secondary_pink--color,var(--now-color_grouped--pink-4,142,85,100)))}.now-highlighted-value.-pink.-tertiary{background-color:RGB(var(--now-highlighted-value--tertiary_pink--background-color,var(--now-color_grouped--pink-0,239,215,221)));border-color:RGB(var(--now-highlighted-value--tertiary_pink--border-color,var(--now-color_grouped--pink-1,221,168,182)));color:RGB(var(--now-highlighted-value--tertiary_pink--color,var(--now-highlighted-value--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-pink.-tertiary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--tertiary_pink--color,var(--now-color_grouped--pink-4,142,85,100)))}.now-highlighted-value.-orange.-primary{background-color:RGB(var(--now-highlighted-value--primary_orange--background-color,var(--now-color_grouped--orange-4,151,90,74)));border-color:RGB(var(--now-highlighted-value--primary_orange--border-color,var(--now-color_grouped--orange-5,118,71,58)));color:RGB(var(--now-highlighted-value--primary_orange--color,var(--now-highlighted-value--primary--color,var(--now-color--neutral-0,255,255,255))))}.now-highlighted-value.-orange.-primary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--primary_orange--color,var(--now-color_grouped--orange-0,243,217,210)))}.now-highlighted-value.-orange.-secondary{background-color:RGB(var(--now-highlighted-value--secondary_orange--background-color,var(--now-color_grouped--orange-1,229,173,158)));border-color:RGB(var(--now-highlighted-value--secondary_orange--border-color,var(--now-color_grouped--orange-2,215,129,106)));color:RGB(var(--now-highlighted-value--secondary_orange--color,var(--now-highlighted-value--secondary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-orange.-secondary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--secondary_orange--color,var(--now-color_grouped--orange-4,151,90,74)))}.now-highlighted-value.-orange.-tertiary{background-color:RGB(var(--now-highlighted-value--tertiary_orange--background-color,var(--now-color_grouped--orange-0,243,217,210)));border-color:RGB(var(--now-highlighted-value--tertiary_orange--border-color,var(--now-color_grouped--orange-1,229,173,158)));color:RGB(var(--now-highlighted-value--tertiary_orange--color,var(--now-highlighted-value--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-orange.-tertiary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--tertiary_orange--color,var(--now-color_grouped--orange-4,151,90,74)))}.now-highlighted-value.-yellow.-primary{background-color:RGB(var(--now-highlighted-value--primary_yellow--background-color,var(--now-color_grouped--yellow-4,168,145,71)));border-color:RGB(var(--now-highlighted-value--primary_yellow--border-color,var(--now-color_grouped--yellow-5,132,114,56)));color:RGB(var(--now-highlighted-value--primary_yellow--color,var(--now-highlighted-value--primary--color,var(--now-color--neutral-0,255,255,255))))}.now-highlighted-value.-yellow.-primary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--primary_yellow--color,var(--now-color_grouped--yellow-0,251,241,209)))}.now-highlighted-value.-yellow.-secondary{background-color:RGB(var(--now-highlighted-value--secondary_yellow--background-color,var(--now-color_grouped--yellow-1,245,224,155)));border-color:RGB(var(--now-highlighted-value--secondary_yellow--border-color,var(--now-color_grouped--yellow-2,240,207,101)));color:RGB(var(--now-highlighted-value--secondary_yellow--color,var(--now-highlighted-value--secondary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-yellow.-secondary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--secondary_yellow--color,var(--now-color_grouped--yellow-4,168,145,71)))}.now-highlighted-value.-yellow.-tertiary{background-color:RGB(var(--now-highlighted-value--tertiary_yellow--background-color,var(--now-color_grouped--yellow-0,251,241,209)));border-color:RGB(var(--now-highlighted-value--tertiary_yellow--border-color,var(--now-color_grouped--yellow-1,245,224,155)));color:RGB(var(--now-highlighted-value--tertiary_yellow--color,var(--now-highlighted-value--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-yellow.-tertiary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--tertiary_yellow--color,var(--now-color_grouped--yellow-4,168,145,71)))}.now-highlighted-value.-brown.-primary{background-color:RGB(var(--now-highlighted-value--primary_brown--background-color,var(--now-color_grouped--brown-4,109,97,83)));border-color:RGB(var(--now-highlighted-value--primary_brown--border-color,var(--now-color_grouped--brown-5,86,76,66)));color:RGB(var(--now-highlighted-value--primary_brown--color,var(--now-highlighted-value--primary--color,var(--now-color--neutral-0,255,255,255))))}.now-highlighted-value.-brown.-primary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--primary_brown--color,var(--now-color_grouped--brown-0,225,220,214)))}.now-highlighted-value.-brown.-secondary{background-color:RGB(var(--now-highlighted-value--secondary_brown--background-color,var(--now-color_grouped--brown-1,191,179,167)));border-color:RGB(var(--now-highlighted-value--secondary_brown--border-color,var(--now-color_grouped--brown-2,156,138,119)));color:RGB(var(--now-highlighted-value--secondary_brown--color,var(--now-highlighted-value--secondary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-brown.-secondary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--secondary_brown--color,var(--now-color_grouped--brown-4,109,97,83)))}.now-highlighted-value.-brown.-tertiary{background-color:RGB(var(--now-highlighted-value--tertiary_brown--background-color,var(--now-color_grouped--brown-0,225,220,214)));border-color:RGB(var(--now-highlighted-value--tertiary_brown--border-color,var(--now-color_grouped--brown-1,191,179,167)));color:RGB(var(--now-highlighted-value--tertiary_brown--color,var(--now-highlighted-value--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-brown.-tertiary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--tertiary_brown--color,var(--now-color_grouped--brown-4,109,97,83)))}.now-highlighted-value.-green.-primary{background-color:RGB(var(--now-highlighted-value--primary_green--background-color,var(--now-color_grouped--green-4,103,119,88)));border-color:RGB(var(--now-highlighted-value--primary_green--border-color,var(--now-color_grouped--green-5,81,94,69)));color:RGB(var(--now-highlighted-value--primary_green--color,var(--now-highlighted-value--primary--color,var(--now-color--neutral-0,255,255,255))))}.now-highlighted-value.-green.-primary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--primary_green--color,var(--now-color_grouped--green-0,223,230,216)))}.now-highlighted-value.-green.-secondary{background-color:RGB(var(--now-highlighted-value--secondary_green--background-color,var(--now-color_grouped--green-1,185,200,171)));border-color:RGB(var(--now-highlighted-value--secondary_green--border-color,var(--now-color_grouped--green-2,147,170,125)));color:RGB(var(--now-highlighted-value--secondary_green--color,var(--now-highlighted-value--secondary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-green.-secondary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--secondary_green--color,var(--now-color_grouped--green-4,103,119,88)))}.now-highlighted-value.-green.-tertiary{background-color:RGB(var(--now-highlighted-value--tertiary_green--background-color,var(--now-color_grouped--green-0,223,230,216)));border-color:RGB(var(--now-highlighted-value--tertiary_green--border-color,var(--now-color_grouped--green-1,185,200,171)));color:RGB(var(--now-highlighted-value--tertiary_green--color,var(--now-highlighted-value--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-green.-tertiary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--tertiary_green--color,var(--now-color_grouped--green-4,103,119,88)))}.now-highlighted-value.-green-yellow.-primary{background-color:RGB(var(--now-highlighted-value--primary_green-yellow--background-color,var(--now-color_grouped--green-yellow-4,108,121,66)));border-color:RGB(var(--now-highlighted-value--primary_green-yellow--border-color,var(--now-color_grouped--green-yellow-5,85,95,52)));color:RGB(var(--now-highlighted-value--primary_green-yellow--color,var(--now-highlighted-value--primary--color,var(--now-color--neutral-0,255,255,255))))}.now-highlighted-value.-green-yellow.-primary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--primary_green-yellow--color,var(--now-color_grouped--green-yellow-0,225,230,207)))}.now-highlighted-value.-green-yellow.-secondary{background-color:RGB(var(--now-highlighted-value--secondary_green-yellow--background-color,var(--now-color_grouped--green-yellow-1,189,202,150)));border-color:RGB(var(--now-highlighted-value--secondary_green-yellow--border-color,var(--now-color_grouped--green-yellow-2,154,173,94)));color:RGB(var(--now-highlighted-value--secondary_green-yellow--color,var(--now-highlighted-value--secondary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-green-yellow.-secondary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--secondary_green-yellow--color,var(--now-color_grouped--green-yellow-4,108,121,66)))}.now-highlighted-value.-green-yellow.-tertiary{background-color:RGB(var(--now-highlighted-value--tertiary_green-yellow--background-color,var(--now-color_grouped--green-yellow-0,225,230,207)));border-color:RGB(var(--now-highlighted-value--tertiary_green-yellow--border-color,var(--now-color_grouped--green-yellow-1,189,202,150)));color:RGB(var(--now-highlighted-value--tertiary_green-yellow--color,var(--now-highlighted-value--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-green-yellow.-tertiary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--tertiary_green-yellow--color,var(--now-color_grouped--green-yellow-4,108,121,66)))}.now-highlighted-value.-blue.-primary{background-color:RGB(var(--now-highlighted-value--primary_blue--background-color,var(--now-color_grouped--blue-4,84,123,143)));border-color:RGB(var(--now-highlighted-value--primary_blue--border-color,var(--now-color_grouped--blue-5,66,97,112)));color:RGB(var(--now-highlighted-value--primary_blue--color,var(--now-highlighted-value--primary--color,var(--now-color--neutral-0,255,255,255))))}.now-highlighted-value.-blue.-primary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--primary_blue--color,var(--now-color_grouped--blue-0,215,231,240)))}.now-highlighted-value.-blue.-secondary{background-color:RGB(var(--now-highlighted-value--secondary_blue--background-color,var(--now-color_grouped--blue-1,167,204,222)));border-color:RGB(var(--now-highlighted-value--secondary_blue--border-color,var(--now-color_grouped--blue-2,120,176,204)));color:RGB(var(--now-highlighted-value--secondary_blue--color,var(--now-highlighted-value--secondary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-blue.-secondary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--secondary_blue--color,var(--now-color_grouped--blue-4,84,123,143)))}.now-highlighted-value.-blue.-tertiary{background-color:RGB(var(--now-highlighted-value--tertiary_blue--background-color,var(--now-color_grouped--blue-0,215,231,240)));border-color:RGB(var(--now-highlighted-value--tertiary_blue--border-color,var(--now-color_grouped--blue-1,167,204,222)));color:RGB(var(--now-highlighted-value--tertiary_blue--color,var(--now-highlighted-value--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-blue.-tertiary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--tertiary_blue--color,var(--now-color_grouped--blue-4,84,123,143)))}.now-highlighted-value.-gray.-primary{background-color:RGB(var(--now-highlighted-value--primary_gray--background-color,var(--now-color_grouped--gray-4,97,102,105)));border-color:RGB(var(--now-highlighted-value--primary_gray--border-color,var(--now-color_grouped--gray-5,77,80,83)));color:RGB(var(--now-highlighted-value--primary_gray--color,var(--now-highlighted-value--primary--color,var(--now-color--neutral-0,255,255,255))))}.now-highlighted-value.-gray.-primary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--primary_gray--color,var(--now-color_grouped--gray-0,220,222,224)))}.now-highlighted-value.-gray.-secondary{background-color:RGB(var(--now-highlighted-value--secondary_gray--background-color,var(--now-color_grouped--gray-1,180,184,187)));border-color:RGB(var(--now-highlighted-value--secondary_gray--border-color,var(--now-color_grouped--gray-2,139,145,150)));color:RGB(var(--now-highlighted-value--secondary_gray--color,var(--now-highlighted-value--secondary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-gray.-secondary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--secondary_gray--color,var(--now-color_grouped--gray-4,97,102,105)))}.now-highlighted-value.-gray.-tertiary{background-color:RGB(var(--now-highlighted-value--tertiary_gray--background-color,var(--now-color_grouped--gray-0,220,222,224)));border-color:RGB(var(--now-highlighted-value--tertiary_gray--border-color,var(--now-color_grouped--gray-1,180,184,187)));color:RGB(var(--now-highlighted-value--tertiary_gray--color,var(--now-highlighted-value--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-gray.-tertiary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--tertiary_gray--color,var(--now-color_grouped--gray-4,97,102,105)))}.now-highlighted-value.-teal.-primary{background-color:RGB(var(--now-highlighted-value--primary_teal--background-color,var(--now-color_grouped--teal-4,73,122,114)));border-color:RGB(var(--now-highlighted-value--primary_teal--border-color,var(--now-color_grouped--teal-5,57,96,90)));color:RGB(var(--now-highlighted-value--primary_teal--color,var(--now-highlighted-value--primary--color,var(--now-color--neutral-0,255,255,255))))}.now-highlighted-value.-teal.-primary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--primary_teal--color,var(--now-color_grouped--teal-0,210,231,227)))}.now-highlighted-value.-teal.-secondary{background-color:RGB(var(--now-highlighted-value--secondary_teal--background-color,var(--now-color_grouped--teal-1,157,202,195)));border-color:RGB(var(--now-highlighted-value--secondary_teal--border-color,var(--now-color_grouped--teal-2,104,174,163)));color:RGB(var(--now-highlighted-value--secondary_teal--color,var(--now-highlighted-value--secondary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-teal.-secondary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--secondary_teal--color,var(--now-color_grouped--teal-4,73,122,114)))}.now-highlighted-value.-teal.-tertiary{background-color:RGB(var(--now-highlighted-value--tertiary_teal--background-color,var(--now-color_grouped--teal-0,210,231,227)));border-color:RGB(var(--now-highlighted-value--tertiary_teal--border-color,var(--now-color_grouped--teal-1,157,202,195)));color:RGB(var(--now-highlighted-value--tertiary_teal--color,var(--now-highlighted-value--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-teal.-tertiary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--tertiary_teal--color,var(--now-color_grouped--teal-4,73,122,114)))}.now-highlighted-value.-purple.-primary{background-color:RGB(var(--now-highlighted-value--primary_purple--background-color,var(--now-color_grouped--purple-4,127,109,146)));border-color:RGB(var(--now-highlighted-value--primary_purple--border-color,var(--now-color_grouped--purple-5,100,85,115)));color:RGB(var(--now-highlighted-value--primary_purple--color,var(--now-highlighted-value--primary--color,var(--now-color--neutral-0,255,255,255))))}.now-highlighted-value.-purple.-primary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--primary_purple--color,var(--now-color_grouped--purple-0,233,225,241)))}.now-highlighted-value.-purple.-secondary{background-color:RGB(var(--now-highlighted-value--secondary_purple--background-color,var(--now-color_grouped--purple-1,207,190,225)));border-color:RGB(var(--now-highlighted-value--secondary_purple--border-color,var(--now-color_grouped--purple-2,181,155,209)));color:RGB(var(--now-highlighted-value--secondary_purple--color,var(--now-highlighted-value--secondary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-purple.-secondary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--secondary_purple--color,var(--now-color_grouped--purple-4,127,109,146)))}.now-highlighted-value.-purple.-tertiary{background-color:RGB(var(--now-highlighted-value--tertiary_purple--background-color,var(--now-color_grouped--purple-0,233,225,241)));border-color:RGB(var(--now-highlighted-value--tertiary_purple--border-color,var(--now-color_grouped--purple-1,207,190,225)));color:RGB(var(--now-highlighted-value--tertiary_purple--color,var(--now-highlighted-value--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-highlighted-value.-purple.-tertiary .now-highlighted-value-icon{color:RGB(var(--now-highlighted-value_icon--tertiary_purple--color,var(--now-color_grouped--purple-4,127,109,146)))}.now-highlighted-value.-itomonlydonotuse-nocpit0{background-color:hsla(0,74%,69%,.3)}.now-highlighted-value.-itomonlydonotuse-nocpit0 .now-highlighted-value-icon{color:#ea7575}.now-highlighted-value.-itomonlydonotuse-nocpit1{background-color:rgba(248,158,93,.3)}.now-highlighted-value.-itomonlydonotuse-nocpit1 .now-highlighted-value-icon{color:#f89e5d}.now-highlighted-value.-itomonlydonotuse-nocpit2{background-color:rgba(252,199,66,.3)}.now-highlighted-value.-itomonlydonotuse-nocpit2 .now-highlighted-value-icon{color:#fcc742}.now-highlighted-value.-itomonlydonotuse-nocpit3{background-color:rgba(82,182,237,.3)}.now-highlighted-value.-itomonlydonotuse-nocpit3 .now-highlighted-value-icon{color:#52b6ed}.now-highlighted-value.-itomonlydonotuse-nocpit4{background-color:rgba(17,182,154,.3)}.now-highlighted-value.-itomonlydonotuse-nocpit4 .now-highlighted-value-icon{color:#11b69a}.now-highlighted-value.will-wrap{block-size:auto;word-break:break-word}.now-highlighted-value-icon{-webkit-margin-end:.125rem;margin-inline-end:.125rem}.now-highlighted-value-label{inline-size:100%}.now-highlighted-value-label.will-truncate{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-highlighted-value-label.will-truncate:after{content:\\\"\\\";display:block}@media(forced-colors:active){.now-highlighted-value{border:none;outline:1px solid canvastext}.now-highlighted-value .now-highlighted-value-label{color:canvastext;forced-color-adjust:none}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{--now-line-height:0;color:inherit;display:inline-block;font-size:1rem;vertical-align:middle}:host .-spin{animation:spin 2s linear infinite}@media(prefers-reduced-motion:reduce){:host .-spin{animation:none}}.now-icon{fill-rule:evenodd;fill:currentcolor}.now-icon.-sm{block-size:calc(.375rem + var(--now-icon--scale-size, 1)*.75rem/2);inline-size:calc(.375rem + var(--now-icon--scale-size, 1)*.75rem/2)}.now-icon.-md{block-size:calc(.5rem + var(--now-icon--scale-size, 1)*1rem/2);inline-size:calc(.5rem + var(--now-icon--scale-size, 1)*1rem/2)}.now-icon.-lg{block-size:calc(.75rem + var(--now-icon--scale-size, 1)*1.5rem/2);inline-size:calc(.75rem + var(--now-icon--scale-size, 1)*1.5rem/2)}.now-icon.-xl{block-size:calc(1rem + var(--now-icon--scale-size, 1)*2rem/2);inline-size:calc(1rem + var(--now-icon--scale-size, 1)*2rem/2)}.now-icon.is-custom{object-fit:fill}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.now-icon-presence{fill-rule:evenodd;fill:currentcolor}.now-icon-presence.-available{color:RGB(var(--now-color_presence--available,75,166,107))}.now-icon-presence.-busy{color:RGB(var(--now-color_presence--busy,234,60,16))}.now-icon-presence.-away{color:RGB(var(--now-color_presence--away,226,121,24))}.now-icon-presence.-offline{color:RGB(var(--now-color_presence--offline,135,147,148))}@media(forced-colors:active){svg{forced-color-adjust:auto}.now-icon-presence{color:inherit!important}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{display:block;inline-size:100%}img,picture{block-size:inherit;display:block;inline-size:inherit}img.-flip,picture.-flip{transform:scaleX(-1)}.now-image-link,picture{inline-size:100%}.now-image-link{display:block}.now-image-link:focus{box-shadow:0 0 0 1px RGB(var(--now-color--neutral-0,255,255,255)),0 0 0 3px RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)));outline:none}@media(forced-colors:active){.now-image-link:focus{outline:1px solid highlight}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-form-field-message{-webkit-margin-before:.25rem;border-radius:var(--now-form-field_message--border-radius,.125rem);border-style:solid;border-width:var(--now-form-field_message--border-width,0);display:flex;font-family:var(--now-form-field_message--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,normal);font-weight:var(--now-form-field_message--font-weight,normal);inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,none);word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205)));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129)));color:RGB(var(--now-form-field_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-field_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96)));color:RGB(var(--now-form-field_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-field_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202)));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123)));color:RGB(var(--now-form-field_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-field_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-color_alert--info-0,195,221,240)));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-color_alert--info-1,104,171,218)));color:RGB(var(--now-form-field_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-field_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-form-field_message--suggestion--background-color-alpha,0));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-field_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{-webkit-margin-after:calc(var(--now-scale-space--xxs, 1)*.125rem);margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{-webkit-margin-end:.25rem;justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{-webkit-margin-start:auto;margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){-webkit-padding-start:.75rem;max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{-webkit-margin-start:.25rem;flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){-webkit-margin-end:.25rem;margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,normal);font-weight:var(--now-form-field_label--font-weight,normal);line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,none)}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{-webkit-padding-after:calc(var(--now-line-height-crop--after)*1*-1);display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{-webkit-padding-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1));block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){-webkit-margin-start:0!important;margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){-webkit-margin-start:0!important;margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){-webkit-margin-end:0!important;margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){-webkit-margin-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important;margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){-webkit-margin-end:0!important;margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-horizontal .now-form-field-button{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::-webkit-input-placeholder{color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{-webkit-border-after:1px highlight solid!important;border-block-end:1px solid highlight!important}}.now-align{display:flex}.now-align.-row.-reverse{flex-direction:row-reverse}.now-align.-column{flex-direction:column}.now-align.-column.-reverse{flex-direction:column-reverse}.now-align.-wrap{flex-wrap:wrap}.now-align.-inline{justify-content:space-between}.now-align.-inline-center{justify-content:center}.now-align.-inline-end{justify-content:flex-end}.now-align.-block-start{align-items:flex-start}.now-align.-block-center{align-items:center}.now-align.-block-end{align-items:flex-end}.now-m-block--xs{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-block-start:.25rem}.now-m-block-start--xs{-webkit-margin-before:.25rem;margin-block-start:.25rem}.now-m-block-end--xs{-webkit-margin-after:.25rem;margin-block-end:.25rem}.now-m-inline--xs{-webkit-margin-start:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem;margin-inline-start:.25rem}.now-m-inline-start--xs{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-m-inline-end--xs{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;-webkit-clip-path:inset(50%);clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}:host{display:inline-block;margin-block:calc(var(--now-scale-space--sm, 1)*.5rem)}.now-input{font-variant:normal;letter-spacing:inherit;text-indent:0;text-shadow:none;white-space:normal;word-spacing:inherit}.now-input-field{background-color:RGB(var(--now-input--background-color,var(--now-form-field--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-input--background-color-alpha,var(--now-form-field--background-color-alpha,0)));border-color:RGB(var(--now-input--border-color,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-input--border-radius,var(--now-form-field--border-radius,0));border-width:var(--now-input--border-width,var(--now-form-field--border-width,0));position:relative}.-sm .now-input-field{box-shadow:inset 0 1px 0 1px RGB(var(--now-input_inset--color,var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28))),var(--now-input_inset--color-alpha,var(--now-form-field_inset--color-alpha,0))),0 var(--now-input--border-block-end-width,var(--now-form-field--border-block-end-width,1px)) 0 0 RGB(var(--now-input--border-color,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.-sm .now-input-field:not(.is-disabled).has-hover,.-sm .now-input-field:not(.is-disabled):hover{box-shadow:inset 0 1px 0 1px RGB(var(--now-input_inset--color--hover,var(--now-form-field_inset--color--hover,var(--now-color--primary-3,15,67,55))),var(--now-input_inset--color-alpha--hover,var(--now-form-field_inset--color-alpha--hover,.1))),0 calc(var(--now-input--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-input--border-color--hover,var(--now-form-field--border-color--hover,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))))}.-sm .now-input-field.is-invalid{box-shadow:inset 0 1px 0 1px RGB(var(--now-input_inset--color--invalid,var(--now-form-field_inset--color--invalid,var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28)))),var(--now-input_inset--color-alpha--invalid,var(--now-form-field_inset--color-alpha--invalid,.1))),0 var(--now-input--border-block-end-width,var(--now-form-field--border-block-end-width,1px)) 0 0 RGB(var(--now-input--border-color--invalid,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))}.-sm .now-input-field.is-invalid.has-hover,.-sm .now-input-field.is-invalid.is-disabled:hover{box-shadow:inset 0 1px 0 1px RGB(var(--now-input_inset--color--invalid_hover,var(--now-form-field_inset--color--invalid_hover,var(--now-color_alert--critical-5,80,24,22))),var(--now-input_inset--color-alpha--invalid_hover,var(--now-form-field_inset--color-alpha--invalid_hover,.1))),0 calc(var(--now-input--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-input--border-color--invalid_hover,var(--now-form-field--border-color--invalid_hover,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))))}.-md .now-input-field{box-shadow:inset 0 .125rem 0 1px RGB(var(--now-input_inset--color,var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28))),var(--now-input_inset--color-alpha,var(--now-form-field_inset--color-alpha,0))),0 var(--now-input--border-block-end-width,var(--now-form-field--border-block-end-width,1px)) 0 0 RGB(var(--now-input--border-color,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.-md .now-input-field:not(.is-disabled).has-hover,.-md .now-input-field:not(.is-disabled):hover{box-shadow:inset 0 .125rem 0 1px RGB(var(--now-input_inset--color--hover,var(--now-form-field_inset--color--hover,var(--now-color--primary-3,15,67,55))),var(--now-input_inset--color-alpha--hover,var(--now-form-field_inset--color-alpha--hover,.1))),0 calc(var(--now-input--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-input--border-color--hover,var(--now-form-field--border-color--hover,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))))}.-md .now-input-field.is-invalid{box-shadow:inset 0 .125rem 0 1px RGB(var(--now-input_inset--color--invalid,var(--now-form-field_inset--color--invalid,var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28)))),var(--now-input_inset--color-alpha--invalid,var(--now-form-field_inset--color-alpha--invalid,.1))),0 var(--now-input--border-block-end-width,var(--now-form-field--border-block-end-width,1px)) 0 0 RGB(var(--now-input--border-color--invalid,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))}.-md .now-input-field.is-invalid.has-hover,.-md .now-input-field.is-invalid.is-disabled:hover{box-shadow:inset 0 .125rem 0 1px RGB(var(--now-input_inset--color--invalid_hover,var(--now-form-field_inset--color--invalid_hover,var(--now-color_alert--critical-5,80,24,22))),var(--now-input_inset--color-alpha--invalid_hover,var(--now-form-field_inset--color-alpha--invalid_hover,.1))),0 calc(var(--now-input--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-input--border-color--invalid_hover,var(--now-form-field--border-color--invalid_hover,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))))}.now-input-field:not(.is-disabled).has-hover,.now-input-field:not(.is-disabled):hover{background-color:RGB(var(--now-input--background-color--hover,var(--now-form-field--background-color--hover,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-input--background-color-alpha--hover,var(--now-form-field--background-color-alpha--hover,1)));border-color:RGB(var(--now-input--border-color--hover,var(--now-form-field--border-color--hover,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))))}.now-input-field:not(.is-disabled).is-invalid.has-focus,.now-input-field:not(.is-disabled).is-invalid:focus,.now-input-field:not(.is-disabled).is-invalid:focus-within{background-color:RGB(var(--now-input--background-color--invalid_focus,var(--now-form-field--background-color--invalid_focus,var(--now-form-field--background-color--invalid,var(--now-color_alert--critical-0,241,206,205)))),var(--now-input--background-color-alpha--invalid_focus,var(--now-form-field--background-color-alpha--invalid_focus,1)));border-color:RGB(var(--now-input--border-color--invalid_focus,var(--now-form-field--border-color--invalid_focus,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))))}.-sm .now-input-field:not(.is-disabled).is-invalid.has-focus,.-sm .now-input-field:not(.is-disabled).is-invalid:focus,.-sm .now-input-field:not(.is-disabled).is-invalid:focus-within{box-shadow:0 calc(var(--now-input--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-input--border-color--invalid_focus,var(--now-form-field--border-color--invalid_focus,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))),inset 0 .125rem 0 1px RGB(var(--now-input_inset--color--invalid_focus,var(--now-form-field_inset--color--invalid_focus,var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28)))),var(--now-input_inset--color-alpha--invalid_focus,var(--now-form-field_inset--color-alpha--invalid_focus,.1))),inset 0 0 0 var(--now-input--border-width,var(--now-form-field--border-width,0)) RGB(var(--now-input--border-color--invalid_focus,var(--now-form-field--border-color--invalid_focus,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))),0 0 0 calc(var(--now-form-field_focus-ring--width, 0px)/2) RGB(var(--now-input--border-color--invalid_focus,var(--now-form-field--border-color--invalid_focus,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))),var(--now-opacity--least,.1))}.-md .now-input-field:not(.is-disabled).is-invalid.has-focus,.-md .now-input-field:not(.is-disabled).is-invalid:focus,.-md .now-input-field:not(.is-disabled).is-invalid:focus-within{box-shadow:0 calc(var(--now-input--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-input--border-color--invalid_focus,var(--now-form-field--border-color--invalid_focus,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))),inset 0 .1875rem 0 1px RGB(var(--now-input_inset--color--invalid_focus,var(--now-form-field_inset--color--invalid_focus,var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28)))),var(--now-input_inset--color-alpha--invalid_focus,var(--now-form-field_inset--color-alpha--invalid_focus,.1))),inset 0 0 0 var(--now-input--border-width,var(--now-form-field--border-width,0)) RGB(var(--now-input--border-color--invalid_focus,var(--now-form-field--border-color--invalid_focus,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))),0 0 0 var(--now-form-field_focus-ring--width,0) RGB(var(--now-input--border-color--invalid_focus,var(--now-form-field--border-color--invalid_focus,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))),var(--now-opacity--least,.1))}.now-input-field.is-invalid{background-color:RGB(var(--now-input--background-color--invalid,var(--now-form-field--background-color--invalid,var(--now-color_alert--critical-0,241,206,205))),var(--now-input--background-color-alpha--invalid,var(--now-form-field--background-color-alpha--invalid,1)));border-color:RGB(var(--now-input--border-color--invalid,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))}.now-input-field.is-invalid.has-hover,.now-input-field.is-invalid.is-disabled:hover,.now-input-field.is-invalid:hover{background-color:RGB(var(--now-input--background-color--invalid_hover,var(--now-form-field--background-color--invalid_hover,var(--now-form-field--background-color--invalid,var(--now-color_alert--critical-0,241,206,205)))),var(--now-input--background-color-alpha--invalid_hover,var(--now-form-field--background-color-alpha--invalid_hover,1)));border-color:RGB(var(--now-input--border-color--invalid_hover,var(--now-form-field--border-color--invalid_hover,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))))}.now-input-field.is-disabled{opacity:var(--now-input--opacity--disabled,var(--now-form-field--opacity--disabled,var(--now-opacity--less,.25)))}.-md .now-input-field.is-readonly,.-md .now-input-field.is-readonly.has-hover,.-md .now-input-field.is-readonly:hover,.-sm .now-input-field.is-readonly,.-sm .now-input-field.is-readonly.has-hover,.-sm .now-input-field.is-readonly:hover{background-color:RGB(var(--now-input--background-color--readonly,var(--now-form-field--background-color--readonly,var(--now-form-field--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))),var(--now-input--background-color-alpha--readonly,var(--now-form-field--background-color-alpha--readonly,var(--now-form-field--background-color-alpha,0))));border-color:RGB(var(--now-input--border-color--readonly,var(--now-form-field--border-color--readonly,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-input--background-color-alpha--readonly,var(--now-form-field--background-color-alpha--readonly,var(--now-form-field--background-color-alpha,0))));border-radius:var(--now-input--border-radius--readonly,var(--now-form-field--border-radius--readonly,var(--now-form-field--border-radius,0)));border-width:var(--now-input--border-width--readonly,var(--now-form-field--border-width--readonly,var(--now-form-field--border-width,0)));box-shadow:0 var(--now-input--border-block-end-width--readonly,var(--now-form-field--border-block-end-width--readonly,0)) 0 0 RGB(var(--now-input--border-color--readonly,var(--now-form-field--border-color--readonly,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))))}.now-input-field:not(.is-disabled).has-focus{background-color:RGB(var(--now-input--background-color--focus,var(--now-form-field--background-color--focus,var(--now-color--secondary-0,217,235,238))),var(--now-input--background-color-alpha--focus,var(--now-form-field--background-color-alpha--focus,1)));border-color:RGB(var(--now-input--border-color--focus,var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142))))}.-sm .now-input-field:not(.is-disabled).has-focus{box-shadow:0 calc(var(--now-input--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-input--border-color--focus,var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142)))),inset 0 .125rem 0 1px RGB(var(--now-input_inset--color--focus,var(--now-form-field_inset--color--focus,var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28)))),var(--now-input_inset--color-alpha--focus,var(--now-form-field_inset--color-alpha--focus,.1))),inset 0 0 0 var(--now-input--border-width,var(--now-form-field--border-width,0)) RGB(var(--now-input--border-color--focus,var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142)))),0 0 0 calc(var(--now-form-field_focus-ring--width, 0px)/2) RGB(var(--now-input--border-color--focus,var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142))),var(--now-opacity--least,.1))}.-md .now-input-field:not(.is-disabled).has-focus{box-shadow:0 calc(var(--now-input--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-input--border-color--focus,var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142)))),inset 0 .1875rem 0 1px RGB(var(--now-input_inset--color--focus,var(--now-form-field_inset--color--focus,var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28)))),var(--now-input_inset--color-alpha--focus,var(--now-form-field_inset--color-alpha--focus,.1))),inset 0 0 0 var(--now-input--border-width,var(--now-form-field--border-width,0)) RGB(var(--now-input--border-color--focus,var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,0) RGB(var(--now-input--border-color--focus,var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142))),var(--now-opacity--least,.1))}.now-input-native,.now-input-native-backdrop{-webkit-padding-start:0;background:none;block-size:100%;border:none;box-shadow:none;color:RGB(var(--now-input--color,var(--now-form-field--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));font-family:var(--now-form-field--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-style:var(--now-form-field--font-style,normal);font-variant:normal;font-weight:var(--now-form-field--font-weight,normal);inline-size:100%;letter-spacing:inherit;line-height:1;margin:0;min-inline-size:0;outline:none;padding-block:0;padding-inline-start:0;text-indent:0;text-shadow:none;text-transform:var(--now-form-field--text-transform,none);white-space:normal;word-spacing:inherit}.-sm .now-input-native,.-sm .now-input-native-backdrop{font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem))}.-sm .now-input-native-backdrop[type=number],.-sm .now-input-native[type=number]{-webkit-padding-end:0;padding-inline-end:0}.-sm .now-input-native+.now-form-field-slot.-end,.-sm .now-input-native-backdrop+.now-form-field-slot.-end{-webkit-padding-start:.25rem;padding-inline-start:.25rem}.-md .now-input-native,.-md .now-input-native-backdrop{font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem))}.-md .now-input-native+.now-form-field-slot.-end,.-md .now-input-native-backdrop+.now-form-field-slot.-end{padding-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))}.now-input-native-backdrop::-webkit-input-placeholder,.now-input-native::-webkit-input-placeholder{color:RGB(var(--now-input_placeholder--color,var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),.95);opacity:1}.now-input-native-backdrop::placeholder,.now-input-native::placeholder{color:RGB(var(--now-input_placeholder--color,var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),.95);opacity:1}.now-input-native-backdrop[placeholder],.now-input-native[placeholder]{text-overflow:ellipsis}.has-focus .now-input-native-backdrop::-webkit-input-placeholder,.has-focus .now-input-native::-webkit-input-placeholder,.has-hover:not(.is-disabled) .now-input-native-backdrop::-webkit-input-placeholder,.has-hover:not(.is-disabled) .now-input-native::-webkit-input-placeholder,.is-invalid.has-focus .now-input-native-backdrop::-webkit-input-placeholder,.is-invalid.has-focus .now-input-native::-webkit-input-placeholder{color:RGB(var(--now-input_placeholder--color--hover,var(--now-form-field_placeholder--color--hover,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))),.85)}.has-focus .now-input-native-backdrop::placeholder,.has-focus .now-input-native::placeholder,.has-hover:not(.is-disabled) .now-input-native-backdrop::placeholder,.has-hover:not(.is-disabled) .now-input-native::placeholder,.is-invalid.has-focus .now-input-native-backdrop::placeholder,.is-invalid.has-focus .now-input-native::placeholder{color:RGB(var(--now-input_placeholder--color--hover,var(--now-form-field_placeholder--color--hover,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))),.85)}.is-readonly .now-input-native,.is-readonly .now-input-native-backdrop{color:RGB(var(--now-input--color--readonly,var(--now-form-field--color--readonly,var(--now-form-field--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))));cursor:not-allowed}.now-input-native-backdrop:disabled,.now-input-native:disabled{cursor:not-allowed}.now-input-native-backdrop[type=number],.now-input-native[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;text-align:end}.-start .now-input-native,.-start .now-input-native-backdrop{text-align:start}.-center .now-input-native,.-center .now-input-native-backdrop{text-align:center}.-end .now-input-native,.-end .now-input-native-backdrop{text-align:end}.now-input-native-backdrop[type=number]::-webkit-inner-spin-button,.now-input-native-backdrop[type=number]::-webkit-outer-spin-button,.now-input-native[type=number]::-webkit-inner-spin-button,.now-input-native[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.is-invalid .now-input-native,.is-invalid .now-input-native-backdrop{color:RGB(var(--now-input--color--invalid,var(--now-form-field--color--invalid,var(--now-form-field--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-input-caret-container{inset-inline-start:-9999px;position:absolute}.now-input-native-container{block-size:100%;display:grid;grid-template-columns:1fr;inline-size:100%;position:relative}.now-input-native-container .now-input-native-backdrop{align-content:center;color:transparent;display:grid;inline-size:calc(100% - var(--now-input--border-width, var(--now-form-field--border-width, 0px))*2);overflow-x:auto;scrollbar-width:none;white-space:pre;z-index:1}.now-input-native-container .now-input-native-backdrop::-webkit-scrollbar{display:none}.now-input-native-container .now-input-native{z-index:2}.now-input-native-container .now-input-native::-moz-selection{background-color:RGBA(var(--now-input--selection--background-color,var(--now-color--focus-1,77,160,176)),.9);color:RGB(var(--now-input--selection--color,var(--now-input--color,var(--now-form-field--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-input-native-container .now-input-native::selection{background-color:RGBA(var(--now-input--selection--background-color,var(--now-color--focus-1,77,160,176)),.9);color:RGB(var(--now-input--selection--color,var(--now-input--color,var(--now-form-field--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-input-native-container .now-input-native,.now-input-native-container .now-input-native-backdrop{grid-column-start:1;grid-row-start:1}.now-input-native-selection{background-color:RGB(var(--now-input--selection--background-color,var(--now-color--focus-1,77,160,176)));color:transparent;padding-block:1px}.now-input-password-validation{-webkit-margin-before:.25rem;color:RGB(var(--now-form-field_label--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))));display:block;font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));margin-block-start:.25rem;margin-inline:.25rem}.now-input-password-validation.-valid{color:RGB(var(--now-form-field_label--color--valid,var(--now-color_alert--positive-2,37,131,43)))}.now-input-password-validation.-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.-sm .now-input-password-mask-button{margin-inline:.25rem}.-md .now-input-password-mask-button{margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:inline-block;margin-block:calc(var(--now-scale-space--sm, 1)*.5rem)}.now-input{inline-size:100%;margin-block:0}.now-input-phone-dropdown{line-height:0}.-sm .now-input-phone-dropdown{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.-md .now-input-phone-dropdown{-webkit-margin-end:calc(.5rem*var(--now-form-field--scale-size-inline, 1));margin-inline-end:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".now-form-field-message{-webkit-margin-before:.25rem;border-radius:var(--now-form-field_message--border-radius,.125rem);border-style:solid;border-width:var(--now-form-field_message--border-width,0);display:flex;font-family:var(--now-form-field_message--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,normal);font-weight:var(--now-form-field_message--font-weight,normal);inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,none);word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205)));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129)));color:RGB(var(--now-form-field_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-field_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96)));color:RGB(var(--now-form-field_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-field_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202)));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123)));color:RGB(var(--now-form-field_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-field_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-color_alert--info-0,195,221,240)));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-color_alert--info-1,104,171,218)));color:RGB(var(--now-form-field_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-field_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-form-field_message--suggestion--background-color-alpha,0));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-field_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{-webkit-margin-after:calc(var(--now-scale-space--xxs, 1)*.125rem);margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{-webkit-margin-end:.25rem;justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{-webkit-margin-start:auto;margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){-webkit-padding-start:.75rem;max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{-webkit-margin-start:.25rem;flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){-webkit-margin-end:.25rem;margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,normal);font-weight:var(--now-form-field_label--font-weight,normal);line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,none)}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{-webkit-padding-after:calc(var(--now-line-height-crop--after)*1*-1);display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{-webkit-padding-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1));block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){-webkit-margin-start:0!important;margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){-webkit-margin-start:0!important;margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){-webkit-margin-end:0!important;margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){-webkit-margin-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important;margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){-webkit-margin-end:0!important;margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-horizontal .now-form-field-button{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::-webkit-input-placeholder{color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{-webkit-border-after:1px highlight solid!important;border-block-end:1px solid highlight!important}}.now-align{display:flex}.now-align.-row.-reverse{flex-direction:row-reverse}.now-align.-column{flex-direction:column}.now-align.-column.-reverse{flex-direction:column-reverse}.now-align.-wrap{flex-wrap:wrap}.now-align.-inline{justify-content:space-between}.now-align.-inline-center{justify-content:center}.now-align.-inline-end{justify-content:flex-end}.now-align.-block-start{align-items:flex-start}.now-align.-block-center{align-items:center}.now-align.-block-end{align-items:flex-end}.now-m-block--xs{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-block-start:.25rem}.now-m-block-start--xs{-webkit-margin-before:.25rem;margin-block-start:.25rem}.now-m-block-end--xs{-webkit-margin-after:.25rem;margin-block-end:.25rem}.now-m-inline--xs{-webkit-margin-start:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem;margin-inline-start:.25rem}.now-m-inline-start--xs{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-m-inline-end--xs{-webkit-margin-end:.25rem;margin-inline-end:.25rem}:host{margin-block:calc(var(--now-scale-space--sm, 1)*.5rem)}.now-input{font-variant:normal;letter-spacing:inherit;text-indent:0;text-shadow:none;white-space:normal;word-spacing:inherit}.now-input-field{background-color:RGB(var(--now-input--background-color,var(--now-form-field--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-input--background-color-alpha,var(--now-form-field--background-color-alpha,0)));border-color:RGB(var(--now-input--border-color,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-input--border-radius,var(--now-form-field--border-radius,0));border-width:var(--now-input--border-width,var(--now-form-field--border-width,0));position:relative}.-sm .now-input-field{box-shadow:inset 0 1px 0 1px RGB(var(--now-input_inset--color,var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28))),var(--now-input_inset--color-alpha,var(--now-form-field_inset--color-alpha,0))),0 var(--now-input--border-block-end-width,var(--now-form-field--border-block-end-width,1px)) 0 0 RGB(var(--now-input--border-color,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.-sm .now-input-field:not(.is-disabled).has-hover,.-sm .now-input-field:not(.is-disabled):hover{box-shadow:inset 0 1px 0 1px RGB(var(--now-input_inset--color--hover,var(--now-form-field_inset--color--hover,var(--now-color--primary-3,15,67,55))),var(--now-input_inset--color-alpha--hover,var(--now-form-field_inset--color-alpha--hover,.1))),0 calc(var(--now-input--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-input--border-color--hover,var(--now-form-field--border-color--hover,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))))}.-sm .now-input-field.is-invalid{box-shadow:inset 0 1px 0 1px RGB(var(--now-input_inset--color--invalid,var(--now-form-field_inset--color--invalid,var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28)))),var(--now-input_inset--color-alpha--invalid,var(--now-form-field_inset--color-alpha--invalid,.1))),0 var(--now-input--border-block-end-width,var(--now-form-field--border-block-end-width,1px)) 0 0 RGB(var(--now-input--border-color--invalid,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))}.-sm .now-input-field.is-invalid.has-hover,.-sm .now-input-field.is-invalid.is-disabled:hover{box-shadow:inset 0 1px 0 1px RGB(var(--now-input_inset--color--invalid_hover,var(--now-form-field_inset--color--invalid_hover,var(--now-color_alert--critical-5,80,24,22))),var(--now-input_inset--color-alpha--invalid_hover,var(--now-form-field_inset--color-alpha--invalid_hover,.1))),0 calc(var(--now-input--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-input--border-color--invalid_hover,var(--now-form-field--border-color--invalid_hover,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))))}.-md .now-input-field{box-shadow:inset 0 .125rem 0 1px RGB(var(--now-input_inset--color,var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28))),var(--now-input_inset--color-alpha,var(--now-form-field_inset--color-alpha,0))),0 var(--now-input--border-block-end-width,var(--now-form-field--border-block-end-width,1px)) 0 0 RGB(var(--now-input--border-color,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.-md .now-input-field:not(.is-disabled).has-hover,.-md .now-input-field:not(.is-disabled):hover{box-shadow:inset 0 .125rem 0 1px RGB(var(--now-input_inset--color--hover,var(--now-form-field_inset--color--hover,var(--now-color--primary-3,15,67,55))),var(--now-input_inset--color-alpha--hover,var(--now-form-field_inset--color-alpha--hover,.1))),0 calc(var(--now-input--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-input--border-color--hover,var(--now-form-field--border-color--hover,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))))}.-md .now-input-field.is-invalid{box-shadow:inset 0 .125rem 0 1px RGB(var(--now-input_inset--color--invalid,var(--now-form-field_inset--color--invalid,var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28)))),var(--now-input_inset--color-alpha--invalid,var(--now-form-field_inset--color-alpha--invalid,.1))),0 var(--now-input--border-block-end-width,var(--now-form-field--border-block-end-width,1px)) 0 0 RGB(var(--now-input--border-color--invalid,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))}.-md .now-input-field.is-invalid.has-hover,.-md .now-input-field.is-invalid.is-disabled:hover{box-shadow:inset 0 .125rem 0 1px RGB(var(--now-input_inset--color--invalid_hover,var(--now-form-field_inset--color--invalid_hover,var(--now-color_alert--critical-5,80,24,22))),var(--now-input_inset--color-alpha--invalid_hover,var(--now-form-field_inset--color-alpha--invalid_hover,.1))),0 calc(var(--now-input--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-input--border-color--invalid_hover,var(--now-form-field--border-color--invalid_hover,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))))}.now-input-field:not(.is-disabled).has-hover,.now-input-field:not(.is-disabled):hover{background-color:RGB(var(--now-input--background-color--hover,var(--now-form-field--background-color--hover,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-input--background-color-alpha--hover,var(--now-form-field--background-color-alpha--hover,1)));border-color:RGB(var(--now-input--border-color--hover,var(--now-form-field--border-color--hover,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))))}.now-input-field:not(.is-disabled).is-invalid.has-focus,.now-input-field:not(.is-disabled).is-invalid:focus,.now-input-field:not(.is-disabled).is-invalid:focus-within{background-color:RGB(var(--now-input--background-color--invalid_focus,var(--now-form-field--background-color--invalid_focus,var(--now-form-field--background-color--invalid,var(--now-color_alert--critical-0,241,206,205)))),var(--now-input--background-color-alpha--invalid_focus,var(--now-form-field--background-color-alpha--invalid_focus,1)));border-color:RGB(var(--now-input--border-color--invalid_focus,var(--now-form-field--border-color--invalid_focus,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))))}.-sm .now-input-field:not(.is-disabled).is-invalid.has-focus,.-sm .now-input-field:not(.is-disabled).is-invalid:focus,.-sm .now-input-field:not(.is-disabled).is-invalid:focus-within{box-shadow:0 calc(var(--now-input--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-input--border-color--invalid_focus,var(--now-form-field--border-color--invalid_focus,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))),inset 0 .125rem 0 1px RGB(var(--now-input_inset--color--invalid_focus,var(--now-form-field_inset--color--invalid_focus,var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28)))),var(--now-input_inset--color-alpha--invalid_focus,var(--now-form-field_inset--color-alpha--invalid_focus,.1))),inset 0 0 0 var(--now-input--border-width,var(--now-form-field--border-width,0)) RGB(var(--now-input--border-color--invalid_focus,var(--now-form-field--border-color--invalid_focus,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))),0 0 0 calc(var(--now-form-field_focus-ring--width, 0px)/2) RGB(var(--now-input--border-color--invalid_focus,var(--now-form-field--border-color--invalid_focus,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))),var(--now-opacity--least,.1))}.-md .now-input-field:not(.is-disabled).is-invalid.has-focus,.-md .now-input-field:not(.is-disabled).is-invalid:focus,.-md .now-input-field:not(.is-disabled).is-invalid:focus-within{box-shadow:0 calc(var(--now-input--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-input--border-color--invalid_focus,var(--now-form-field--border-color--invalid_focus,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))),inset 0 .1875rem 0 1px RGB(var(--now-input_inset--color--invalid_focus,var(--now-form-field_inset--color--invalid_focus,var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28)))),var(--now-input_inset--color-alpha--invalid_focus,var(--now-form-field_inset--color-alpha--invalid_focus,.1))),inset 0 0 0 var(--now-input--border-width,var(--now-form-field--border-width,0)) RGB(var(--now-input--border-color--invalid_focus,var(--now-form-field--border-color--invalid_focus,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))),0 0 0 var(--now-form-field_focus-ring--width,0) RGB(var(--now-input--border-color--invalid_focus,var(--now-form-field--border-color--invalid_focus,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))),var(--now-opacity--least,.1))}.now-input-field.is-invalid{background-color:RGB(var(--now-input--background-color--invalid,var(--now-form-field--background-color--invalid,var(--now-color_alert--critical-0,241,206,205))),var(--now-input--background-color-alpha--invalid,var(--now-form-field--background-color-alpha--invalid,1)));border-color:RGB(var(--now-input--border-color--invalid,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))}.now-input-field.is-invalid.has-hover,.now-input-field.is-invalid.is-disabled:hover,.now-input-field.is-invalid:hover{background-color:RGB(var(--now-input--background-color--invalid_hover,var(--now-form-field--background-color--invalid_hover,var(--now-form-field--background-color--invalid,var(--now-color_alert--critical-0,241,206,205)))),var(--now-input--background-color-alpha--invalid_hover,var(--now-form-field--background-color-alpha--invalid_hover,1)));border-color:RGB(var(--now-input--border-color--invalid_hover,var(--now-form-field--border-color--invalid_hover,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))))}.now-input-field.is-disabled{opacity:var(--now-input--opacity--disabled,var(--now-form-field--opacity--disabled,var(--now-opacity--less,.25)))}.-md .now-input-field.is-readonly,.-md .now-input-field.is-readonly.has-hover,.-md .now-input-field.is-readonly:hover,.-sm .now-input-field.is-readonly,.-sm .now-input-field.is-readonly.has-hover,.-sm .now-input-field.is-readonly:hover{background-color:RGB(var(--now-input--background-color--readonly,var(--now-form-field--background-color--readonly,var(--now-form-field--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))),var(--now-input--background-color-alpha--readonly,var(--now-form-field--background-color-alpha--readonly,var(--now-form-field--background-color-alpha,0))));border-color:RGB(var(--now-input--border-color--readonly,var(--now-form-field--border-color--readonly,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-input--background-color-alpha--readonly,var(--now-form-field--background-color-alpha--readonly,var(--now-form-field--background-color-alpha,0))));border-radius:var(--now-input--border-radius--readonly,var(--now-form-field--border-radius--readonly,var(--now-form-field--border-radius,0)));border-width:var(--now-input--border-width--readonly,var(--now-form-field--border-width--readonly,var(--now-form-field--border-width,0)));box-shadow:0 var(--now-input--border-block-end-width--readonly,var(--now-form-field--border-block-end-width--readonly,0)) 0 0 RGB(var(--now-input--border-color--readonly,var(--now-form-field--border-color--readonly,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))))}.now-input-field:not(.is-disabled).has-focus{background-color:RGB(var(--now-input--background-color--focus,var(--now-form-field--background-color--focus,var(--now-color--secondary-0,217,235,238))),var(--now-input--background-color-alpha--focus,var(--now-form-field--background-color-alpha--focus,1)));border-color:RGB(var(--now-input--border-color--focus,var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142))))}.-sm .now-input-field:not(.is-disabled).has-focus{box-shadow:0 calc(var(--now-input--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-input--border-color--focus,var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142)))),inset 0 .125rem 0 1px RGB(var(--now-input_inset--color--focus,var(--now-form-field_inset--color--focus,var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28)))),var(--now-input_inset--color-alpha--focus,var(--now-form-field_inset--color-alpha--focus,.1))),inset 0 0 0 var(--now-input--border-width,var(--now-form-field--border-width,0)) RGB(var(--now-input--border-color--focus,var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142)))),0 0 0 calc(var(--now-form-field_focus-ring--width, 0px)/2) RGB(var(--now-input--border-color--focus,var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142))),var(--now-opacity--least,.1))}.-md .now-input-field:not(.is-disabled).has-focus{box-shadow:0 calc(var(--now-input--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-input--border-color--focus,var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142)))),inset 0 .1875rem 0 1px RGB(var(--now-input_inset--color--focus,var(--now-form-field_inset--color--focus,var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28)))),var(--now-input_inset--color-alpha--focus,var(--now-form-field_inset--color-alpha--focus,.1))),inset 0 0 0 var(--now-input--border-width,var(--now-form-field--border-width,0)) RGB(var(--now-input--border-color--focus,var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,0) RGB(var(--now-input--border-color--focus,var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142))),var(--now-opacity--least,.1))}.now-input-native,.now-input-native-backdrop{-webkit-padding-start:0;background:none;block-size:100%;border:none;box-shadow:none;color:RGB(var(--now-input--color,var(--now-form-field--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));font-family:var(--now-form-field--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-style:var(--now-form-field--font-style,normal);font-variant:normal;font-weight:var(--now-form-field--font-weight,normal);inline-size:100%;letter-spacing:inherit;line-height:1;margin:0;min-inline-size:0;outline:none;padding-block:0;padding-inline-start:0;text-indent:0;text-shadow:none;text-transform:var(--now-form-field--text-transform,none);white-space:normal;word-spacing:inherit}.-sm .now-input-native,.-sm .now-input-native-backdrop{font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem))}.-sm .now-input-native-backdrop[type=number],.-sm .now-input-native[type=number]{-webkit-padding-end:0;padding-inline-end:0}.-sm .now-input-native+.now-form-field-slot.-end,.-sm .now-input-native-backdrop+.now-form-field-slot.-end{-webkit-padding-start:.25rem;padding-inline-start:.25rem}.-md .now-input-native,.-md .now-input-native-backdrop{font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem))}.-md .now-input-native+.now-form-field-slot.-end,.-md .now-input-native-backdrop+.now-form-field-slot.-end{padding-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))}.now-input-native-backdrop::-webkit-input-placeholder,.now-input-native::-webkit-input-placeholder{color:RGB(var(--now-input_placeholder--color,var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),.95);opacity:1}.now-input-native-backdrop::placeholder,.now-input-native::placeholder{color:RGB(var(--now-input_placeholder--color,var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),.95);opacity:1}.now-input-native-backdrop[placeholder],.now-input-native[placeholder]{text-overflow:ellipsis}.has-focus .now-input-native-backdrop::-webkit-input-placeholder,.has-focus .now-input-native::-webkit-input-placeholder,.has-hover:not(.is-disabled) .now-input-native-backdrop::-webkit-input-placeholder,.has-hover:not(.is-disabled) .now-input-native::-webkit-input-placeholder,.is-invalid.has-focus .now-input-native-backdrop::-webkit-input-placeholder,.is-invalid.has-focus .now-input-native::-webkit-input-placeholder{color:RGB(var(--now-input_placeholder--color--hover,var(--now-form-field_placeholder--color--hover,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))),.85)}.has-focus .now-input-native-backdrop::placeholder,.has-focus .now-input-native::placeholder,.has-hover:not(.is-disabled) .now-input-native-backdrop::placeholder,.has-hover:not(.is-disabled) .now-input-native::placeholder,.is-invalid.has-focus .now-input-native-backdrop::placeholder,.is-invalid.has-focus .now-input-native::placeholder{color:RGB(var(--now-input_placeholder--color--hover,var(--now-form-field_placeholder--color--hover,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))),.85)}.is-readonly .now-input-native,.is-readonly .now-input-native-backdrop{color:RGB(var(--now-input--color--readonly,var(--now-form-field--color--readonly,var(--now-form-field--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))));cursor:not-allowed}.now-input-native-backdrop:disabled,.now-input-native:disabled{cursor:not-allowed}.now-input-native-backdrop[type=number],.now-input-native[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;text-align:end}.-start .now-input-native,.-start .now-input-native-backdrop{text-align:start}.-center .now-input-native,.-center .now-input-native-backdrop{text-align:center}.-end .now-input-native,.-end .now-input-native-backdrop{text-align:end}.now-input-native-backdrop[type=number]::-webkit-inner-spin-button,.now-input-native-backdrop[type=number]::-webkit-outer-spin-button,.now-input-native[type=number]::-webkit-inner-spin-button,.now-input-native[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.is-invalid .now-input-native,.is-invalid .now-input-native-backdrop{color:RGB(var(--now-input--color--invalid,var(--now-form-field--color--invalid,var(--now-form-field--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-input-caret-container{inset-inline-start:-9999px;position:absolute}.now-input-native-container{block-size:100%;display:grid;grid-template-columns:1fr;inline-size:100%;position:relative}.now-input-native-container .now-input-native-backdrop{align-content:center;color:transparent;display:grid;inline-size:calc(100% - var(--now-input--border-width, var(--now-form-field--border-width, 0px))*2);overflow-x:auto;scrollbar-width:none;white-space:pre;z-index:1}.now-input-native-container .now-input-native-backdrop::-webkit-scrollbar{display:none}.now-input-native-container .now-input-native{z-index:2}.now-input-native-container .now-input-native::-moz-selection{background-color:RGBA(var(--now-input--selection--background-color,var(--now-color--focus-1,77,160,176)),.9);color:RGB(var(--now-input--selection--color,var(--now-input--color,var(--now-form-field--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-input-native-container .now-input-native::selection{background-color:RGBA(var(--now-input--selection--background-color,var(--now-color--focus-1,77,160,176)),.9);color:RGB(var(--now-input--selection--color,var(--now-input--color,var(--now-form-field--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-input-native-container .now-input-native,.now-input-native-container .now-input-native-backdrop{grid-column-start:1;grid-row-start:1}.now-input-native-selection{background-color:RGB(var(--now-input--selection--background-color,var(--now-color--focus-1,77,160,176)));color:transparent;padding-block:1px}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-m-block--xxs{-webkit-margin-before:.125rem;-webkit-margin-after:.125rem;margin-block-end:.125rem;margin-block-start:.125rem}.now-m-block-start--xxs{-webkit-margin-before:.125rem;margin-block-start:.125rem}.now-m-block-end--xxs{-webkit-margin-after:.125rem;margin-block-end:.125rem}.now-m-inline--xxs{-webkit-margin-start:.125rem;-webkit-margin-end:.125rem;margin-inline-end:.125rem;margin-inline-start:.125rem}.now-m-inline-start--xxs{-webkit-margin-start:.125rem;margin-inline-start:.125rem}.now-m-inline-end--xxs{-webkit-margin-end:.125rem;margin-inline-end:.125rem}:host{--now-line-height:inherit;display:inline-block}.now-text-link{cursor:pointer;font-family:var(--now-text-link--font-family,inherit);font-style:var(--now-text-link--font-style,inherit);font-weight:var(--now-text-link--font-weight,inherit);text-decoration:none;text-transform:var(--now-text-link--text-transform,inherit)}.now-text-link::-moz-focus-inner{border-style:none}.now-text-link:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)));outline:none}@media(forced-colors:active){.now-text-link:focus{outline:1px solid highlight}}.now-text-link:active,.now-text-link:hover{text-decoration:underline}.now-text-link.-primary{color:RGB(var(--now-text-link--primary--color,var(--now-color--secondary-1,1,119,142)))}.now-text-link.-primary:hover{color:RGB(var(--now-text-link--primary--color--hover,var(--now-color--secondary-2,1,89,107)))}.now-text-link.-primary:active{color:RGB(var(--now-text-link--primary--color--active,var(--now-color--secondary-3,1,60,71)))}.now-text-link.-secondary{color:RGB(var(--now-text-link--secondary--color,var(--now-color--secondary-2,1,89,107)))}.now-text-link.-secondary:hover{color:RGB(var(--now-text-link--secondary--color--hover,var(--now-color--secondary-3,1,60,71)))}.now-text-link.-secondary:active{color:RGB(var(--now-text-link--secondary--color--active,var(--now-color--secondary-3,1,60,71)))}.now-text-link.show-underline{text-decoration:underline}.-primary .now-text-link-icon.-start{color:RGB(var(--now-text-link_icon-start--primary--color,var(--now-text-link--primary--color,var(--now-color--secondary-1,1,119,142))))}.-primary:hover .now-text-link-icon.-start{color:RGB(var(--now-text-link_icon-start--primary--color--hover,var(--now-text-link--primary--color--hover,var(--now-color--secondary-2,1,89,107))))}.-primary:active .now-text-link-icon.-start{color:RGB(var(--now-text-link_icon-start--primary--color--active,var(--now-text-link--primary--color--active,var(--now-color--secondary-3,1,60,71))))}.-secondary .now-text-link-icon.-start{color:RGB(var(--now-text-link_icon-start--secondary--color,var(--now-text-link--secondary--color,var(--now-color--secondary-2,1,89,107))))}.-secondary:hover .now-text-link-icon.-start{color:RGB(var(--now-text-link_icon-start--secondary--color--hover,var(--now-text-link--secondary--color--hover,var(--now-color--secondary-3,1,60,71))))}.-secondary:active .now-text-link-icon.-start{color:RGB(var(--now-text-link_icon-start--secondary--color--active,var(--now-text-link--secondary--color--active,var(--now-color--secondary-3,1,60,71))))}.-primary .now-text-link-icon.-end{color:RGB(var(--now-text-link_icon-end--primary--color,var(--now-text-link--primary--color,var(--now-color--secondary-1,1,119,142))))}.-primary:hover .now-text-link-icon.-end{color:RGB(var(--now-text-link_icon-end--primary--color--hover,var(--now-text-link--primary--color--hover,var(--now-color--secondary-2,1,89,107))))}.-primary:active .now-text-link-icon.-end{color:RGB(var(--now-text-link_icon-end--primary--color--active,var(--now-text-link--primary--color--active,var(--now-color--secondary-3,1,60,71))))}.-secondary .now-text-link-icon.-end{color:RGB(var(--now-text-link_icon-end--secondary--color,var(--now-text-link--secondary--color,var(--now-color--secondary-2,1,89,107))))}.-secondary:hover .now-text-link-icon.-end{color:RGB(var(--now-text-link_icon-end--secondary--color--hover,var(--now-text-link--secondary--color--hover,var(--now-color--secondary-3,1,60,71))))}.-secondary:active .now-text-link-icon.-end{color:RGB(var(--now-text-link_icon-end--secondary--color--active,var(--now-text-link--secondary--color--active,var(--now-color--secondary-3,1,60,71))))}@media(forced-colors:active){.now-text-link{text-decoration:underline}}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;-webkit-clip-path:inset(50%);clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-input-url{-webkit-padding-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1));-webkit-padding-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1));align-items:center;display:flex;justify-content:space-between;padding-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1));padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-input-url.is-readonly{-webkit-padding-end:calc(.5rem*var(--now-form-field--scale-size-inline, 1));padding-inline-end:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-input-url.is-disabled{cursor:not-allowed}.now-input-field.is-url{-webkit-padding-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1));padding-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))}.now-input-url.now-input-field.is-readonly,.now-input-url.now-input-field:hover.is-readonly{background-color:transparent;border:none;box-shadow:none;padding-inline:0}.now-input-field.is-hidden,.now-input-url.is-hidden{display:none}.now-input-url-text-link{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-input-url-text-link:after{content:\\\"\\\";display:block}.-sm .now-input-url-text-link{font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));line-height:1.3333}.-md .now-input-url-text-link{font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem));line-height:1.25}.is-disabled .now-input-url-text-link{color:RGB(var(--now-text-link--primary--color,var(--now-color--secondary-1,1,119,142)));font-family:var(--now-text-link--font-family,inherit);font-style:var(--now-text-link--font-style,inherit);font-weight:var(--now-text-link--font-weight,inherit);text-decoration:underline;text-transform:var(--now-text-link--text-transform,inherit)}.-sm .now-input-url-button{margin-inline:.5rem .25rem}.-md .now-input-url-button{-webkit-margin-start:calc(.25rem*var(--now-form-field--scale-size-inline, 1));margin-inline-start:calc(.25rem*var(--now-form-field--scale-size-inline, 1))}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-form-field-message{-webkit-margin-before:.25rem;border-radius:var(--now-form-field_message--border-radius,.125rem);border-style:solid;border-width:var(--now-form-field_message--border-width,0);display:flex;font-family:var(--now-form-field_message--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,normal);font-weight:var(--now-form-field_message--font-weight,normal);inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,none);word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205)));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129)));color:RGB(var(--now-form-field_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-field_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96)));color:RGB(var(--now-form-field_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-field_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202)));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123)));color:RGB(var(--now-form-field_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-field_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-color_alert--info-0,195,221,240)));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-color_alert--info-1,104,171,218)));color:RGB(var(--now-form-field_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-field_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-form-field_message--suggestion--background-color-alpha,0));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-field_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{-webkit-margin-after:calc(var(--now-scale-space--xxs, 1)*.125rem);margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{-webkit-margin-end:.25rem;justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{-webkit-margin-start:auto;margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){-webkit-padding-start:.75rem;max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{-webkit-margin-start:.25rem;flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){-webkit-margin-end:.25rem;margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,normal);font-weight:var(--now-form-field_label--font-weight,normal);line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,none)}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{-webkit-padding-after:calc(var(--now-line-height-crop--after)*1*-1);display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{-webkit-padding-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1));block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){-webkit-margin-start:0!important;margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){-webkit-margin-start:0!important;margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){-webkit-margin-end:0!important;margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){-webkit-margin-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important;margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){-webkit-margin-end:0!important;margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-horizontal .now-form-field-button{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::-webkit-input-placeholder{color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{-webkit-border-after:1px highlight solid!important;border-block-end:1px solid highlight!important}}.now-align{display:flex}.now-align.-row.-reverse{flex-direction:row-reverse}.now-align.-column{flex-direction:column}.now-align.-column.-reverse{flex-direction:column-reverse}.now-align.-wrap{flex-wrap:wrap}.now-align.-inline{justify-content:space-between}.now-align.-inline-center{justify-content:center}.now-align.-inline-end{justify-content:flex-end}.now-align.-block-start{align-items:flex-start}.now-align.-block-center{align-items:center}.now-align.-block-end{align-items:flex-end}.now-m-block--xs{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-block-start:.25rem}.now-m-block-start--xs{-webkit-margin-before:.25rem;margin-block-start:.25rem}.now-m-block-end--xs{-webkit-margin-after:.25rem;margin-block-end:.25rem}.now-m-inline--xs{-webkit-margin-start:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem;margin-inline-start:.25rem}.now-m-inline-start--xs{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-m-inline-end--xs{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;-webkit-clip-path:inset(50%);clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}:host{display:inline-block;margin-block:calc(var(--now-scale-space--sm, 1)*.5rem)}.now-input{font-variant:normal;letter-spacing:inherit;text-indent:0;text-shadow:none;white-space:normal;word-spacing:inherit}.now-input-field{background-color:RGB(var(--now-input--background-color,var(--now-form-field--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-input--background-color-alpha,var(--now-form-field--background-color-alpha,0)));border-color:RGB(var(--now-input--border-color,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-input--border-radius,var(--now-form-field--border-radius,0));border-width:var(--now-input--border-width,var(--now-form-field--border-width,0));position:relative}.-sm .now-input-field{box-shadow:inset 0 1px 0 1px RGB(var(--now-input_inset--color,var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28))),var(--now-input_inset--color-alpha,var(--now-form-field_inset--color-alpha,0))),0 var(--now-input--border-block-end-width,var(--now-form-field--border-block-end-width,1px)) 0 0 RGB(var(--now-input--border-color,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.-sm .now-input-field:not(.is-disabled).has-hover,.-sm .now-input-field:not(.is-disabled):hover{box-shadow:inset 0 1px 0 1px RGB(var(--now-input_inset--color--hover,var(--now-form-field_inset--color--hover,var(--now-color--primary-3,15,67,55))),var(--now-input_inset--color-alpha--hover,var(--now-form-field_inset--color-alpha--hover,.1))),0 calc(var(--now-input--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-input--border-color--hover,var(--now-form-field--border-color--hover,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))))}.-sm .now-input-field.is-invalid{box-shadow:inset 0 1px 0 1px RGB(var(--now-input_inset--color--invalid,var(--now-form-field_inset--color--invalid,var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28)))),var(--now-input_inset--color-alpha--invalid,var(--now-form-field_inset--color-alpha--invalid,.1))),0 var(--now-input--border-block-end-width,var(--now-form-field--border-block-end-width,1px)) 0 0 RGB(var(--now-input--border-color--invalid,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))}.-sm .now-input-field.is-invalid.has-hover,.-sm .now-input-field.is-invalid.is-disabled:hover{box-shadow:inset 0 1px 0 1px RGB(var(--now-input_inset--color--invalid_hover,var(--now-form-field_inset--color--invalid_hover,var(--now-color_alert--critical-5,80,24,22))),var(--now-input_inset--color-alpha--invalid_hover,var(--now-form-field_inset--color-alpha--invalid_hover,.1))),0 calc(var(--now-input--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-input--border-color--invalid_hover,var(--now-form-field--border-color--invalid_hover,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))))}.-md .now-input-field{box-shadow:inset 0 .125rem 0 1px RGB(var(--now-input_inset--color,var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28))),var(--now-input_inset--color-alpha,var(--now-form-field_inset--color-alpha,0))),0 var(--now-input--border-block-end-width,var(--now-form-field--border-block-end-width,1px)) 0 0 RGB(var(--now-input--border-color,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.-md .now-input-field:not(.is-disabled).has-hover,.-md .now-input-field:not(.is-disabled):hover{box-shadow:inset 0 .125rem 0 1px RGB(var(--now-input_inset--color--hover,var(--now-form-field_inset--color--hover,var(--now-color--primary-3,15,67,55))),var(--now-input_inset--color-alpha--hover,var(--now-form-field_inset--color-alpha--hover,.1))),0 calc(var(--now-input--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-input--border-color--hover,var(--now-form-field--border-color--hover,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))))}.-md .now-input-field.is-invalid{box-shadow:inset 0 .125rem 0 1px RGB(var(--now-input_inset--color--invalid,var(--now-form-field_inset--color--invalid,var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28)))),var(--now-input_inset--color-alpha--invalid,var(--now-form-field_inset--color-alpha--invalid,.1))),0 var(--now-input--border-block-end-width,var(--now-form-field--border-block-end-width,1px)) 0 0 RGB(var(--now-input--border-color--invalid,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))}.-md .now-input-field.is-invalid.has-hover,.-md .now-input-field.is-invalid.is-disabled:hover{box-shadow:inset 0 .125rem 0 1px RGB(var(--now-input_inset--color--invalid_hover,var(--now-form-field_inset--color--invalid_hover,var(--now-color_alert--critical-5,80,24,22))),var(--now-input_inset--color-alpha--invalid_hover,var(--now-form-field_inset--color-alpha--invalid_hover,.1))),0 calc(var(--now-input--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-input--border-color--invalid_hover,var(--now-form-field--border-color--invalid_hover,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))))}.now-input-field:not(.is-disabled).has-hover,.now-input-field:not(.is-disabled):hover{background-color:RGB(var(--now-input--background-color--hover,var(--now-form-field--background-color--hover,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-input--background-color-alpha--hover,var(--now-form-field--background-color-alpha--hover,1)));border-color:RGB(var(--now-input--border-color--hover,var(--now-form-field--border-color--hover,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))))}.now-input-field:not(.is-disabled).is-invalid.has-focus,.now-input-field:not(.is-disabled).is-invalid:focus,.now-input-field:not(.is-disabled).is-invalid:focus-within{background-color:RGB(var(--now-input--background-color--invalid_focus,var(--now-form-field--background-color--invalid_focus,var(--now-form-field--background-color--invalid,var(--now-color_alert--critical-0,241,206,205)))),var(--now-input--background-color-alpha--invalid_focus,var(--now-form-field--background-color-alpha--invalid_focus,1)));border-color:RGB(var(--now-input--border-color--invalid_focus,var(--now-form-field--border-color--invalid_focus,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))))}.-sm .now-input-field:not(.is-disabled).is-invalid.has-focus,.-sm .now-input-field:not(.is-disabled).is-invalid:focus,.-sm .now-input-field:not(.is-disabled).is-invalid:focus-within{box-shadow:0 calc(var(--now-input--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-input--border-color--invalid_focus,var(--now-form-field--border-color--invalid_focus,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))),inset 0 .125rem 0 1px RGB(var(--now-input_inset--color--invalid_focus,var(--now-form-field_inset--color--invalid_focus,var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28)))),var(--now-input_inset--color-alpha--invalid_focus,var(--now-form-field_inset--color-alpha--invalid_focus,.1))),inset 0 0 0 var(--now-input--border-width,var(--now-form-field--border-width,0)) RGB(var(--now-input--border-color--invalid_focus,var(--now-form-field--border-color--invalid_focus,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))),0 0 0 calc(var(--now-form-field_focus-ring--width, 0px)/2) RGB(var(--now-input--border-color--invalid_focus,var(--now-form-field--border-color--invalid_focus,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))),var(--now-opacity--least,.1))}.-md .now-input-field:not(.is-disabled).is-invalid.has-focus,.-md .now-input-field:not(.is-disabled).is-invalid:focus,.-md .now-input-field:not(.is-disabled).is-invalid:focus-within{box-shadow:0 calc(var(--now-input--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-input--border-color--invalid_focus,var(--now-form-field--border-color--invalid_focus,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))),inset 0 .1875rem 0 1px RGB(var(--now-input_inset--color--invalid_focus,var(--now-form-field_inset--color--invalid_focus,var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28)))),var(--now-input_inset--color-alpha--invalid_focus,var(--now-form-field_inset--color-alpha--invalid_focus,.1))),inset 0 0 0 var(--now-input--border-width,var(--now-form-field--border-width,0)) RGB(var(--now-input--border-color--invalid_focus,var(--now-form-field--border-color--invalid_focus,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))),0 0 0 var(--now-form-field_focus-ring--width,0) RGB(var(--now-input--border-color--invalid_focus,var(--now-form-field--border-color--invalid_focus,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))),var(--now-opacity--least,.1))}.now-input-field.is-invalid{background-color:RGB(var(--now-input--background-color--invalid,var(--now-form-field--background-color--invalid,var(--now-color_alert--critical-0,241,206,205))),var(--now-input--background-color-alpha--invalid,var(--now-form-field--background-color-alpha--invalid,1)));border-color:RGB(var(--now-input--border-color--invalid,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))}.now-input-field.is-invalid.has-hover,.now-input-field.is-invalid.is-disabled:hover,.now-input-field.is-invalid:hover{background-color:RGB(var(--now-input--background-color--invalid_hover,var(--now-form-field--background-color--invalid_hover,var(--now-form-field--background-color--invalid,var(--now-color_alert--critical-0,241,206,205)))),var(--now-input--background-color-alpha--invalid_hover,var(--now-form-field--background-color-alpha--invalid_hover,1)));border-color:RGB(var(--now-input--border-color--invalid_hover,var(--now-form-field--border-color--invalid_hover,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))))}.now-input-field.is-disabled{opacity:var(--now-input--opacity--disabled,var(--now-form-field--opacity--disabled,var(--now-opacity--less,.25)))}.-md .now-input-field.is-readonly,.-md .now-input-field.is-readonly.has-hover,.-md .now-input-field.is-readonly:hover,.-sm .now-input-field.is-readonly,.-sm .now-input-field.is-readonly.has-hover,.-sm .now-input-field.is-readonly:hover{background-color:RGB(var(--now-input--background-color--readonly,var(--now-form-field--background-color--readonly,var(--now-form-field--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))),var(--now-input--background-color-alpha--readonly,var(--now-form-field--background-color-alpha--readonly,var(--now-form-field--background-color-alpha,0))));border-color:RGB(var(--now-input--border-color--readonly,var(--now-form-field--border-color--readonly,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),var(--now-input--background-color-alpha--readonly,var(--now-form-field--background-color-alpha--readonly,var(--now-form-field--background-color-alpha,0))));border-radius:var(--now-input--border-radius--readonly,var(--now-form-field--border-radius--readonly,var(--now-form-field--border-radius,0)));border-width:var(--now-input--border-width--readonly,var(--now-form-field--border-width--readonly,var(--now-form-field--border-width,0)));box-shadow:0 var(--now-input--border-block-end-width--readonly,var(--now-form-field--border-block-end-width--readonly,0)) 0 0 RGB(var(--now-input--border-color--readonly,var(--now-form-field--border-color--readonly,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))))}.now-input-field:not(.is-disabled).has-focus{background-color:RGB(var(--now-input--background-color--focus,var(--now-form-field--background-color--focus,var(--now-color--secondary-0,217,235,238))),var(--now-input--background-color-alpha--focus,var(--now-form-field--background-color-alpha--focus,1)));border-color:RGB(var(--now-input--border-color--focus,var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142))))}.-sm .now-input-field:not(.is-disabled).has-focus{box-shadow:0 calc(var(--now-input--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-input--border-color--focus,var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142)))),inset 0 .125rem 0 1px RGB(var(--now-input_inset--color--focus,var(--now-form-field_inset--color--focus,var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28)))),var(--now-input_inset--color-alpha--focus,var(--now-form-field_inset--color-alpha--focus,.1))),inset 0 0 0 var(--now-input--border-width,var(--now-form-field--border-width,0)) RGB(var(--now-input--border-color--focus,var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142)))),0 0 0 calc(var(--now-form-field_focus-ring--width, 0px)/2) RGB(var(--now-input--border-color--focus,var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142))),var(--now-opacity--least,.1))}.-md .now-input-field:not(.is-disabled).has-focus{box-shadow:0 calc(var(--now-input--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-input--border-color--focus,var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142)))),inset 0 .1875rem 0 1px RGB(var(--now-input_inset--color--focus,var(--now-form-field_inset--color--focus,var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28)))),var(--now-input_inset--color-alpha--focus,var(--now-form-field_inset--color-alpha--focus,.1))),inset 0 0 0 var(--now-input--border-width,var(--now-form-field--border-width,0)) RGB(var(--now-input--border-color--focus,var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,0) RGB(var(--now-input--border-color--focus,var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142))),var(--now-opacity--least,.1))}.now-input-native,.now-input-native-backdrop{-webkit-padding-start:0;background:none;block-size:100%;border:none;box-shadow:none;color:RGB(var(--now-input--color,var(--now-form-field--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));font-family:var(--now-form-field--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-style:var(--now-form-field--font-style,normal);font-variant:normal;font-weight:var(--now-form-field--font-weight,normal);inline-size:100%;letter-spacing:inherit;line-height:1;margin:0;min-inline-size:0;outline:none;padding-block:0;padding-inline-start:0;text-indent:0;text-shadow:none;text-transform:var(--now-form-field--text-transform,none);white-space:normal;word-spacing:inherit}.-sm .now-input-native,.-sm .now-input-native-backdrop{font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem))}.-sm .now-input-native-backdrop[type=number],.-sm .now-input-native[type=number]{-webkit-padding-end:0;padding-inline-end:0}.-sm .now-input-native+.now-form-field-slot.-end,.-sm .now-input-native-backdrop+.now-form-field-slot.-end{-webkit-padding-start:.25rem;padding-inline-start:.25rem}.-md .now-input-native,.-md .now-input-native-backdrop{font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem))}.-md .now-input-native+.now-form-field-slot.-end,.-md .now-input-native-backdrop+.now-form-field-slot.-end{padding-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))}.now-input-native-backdrop::-webkit-input-placeholder,.now-input-native::-webkit-input-placeholder{color:RGB(var(--now-input_placeholder--color,var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),.95);opacity:1}.now-input-native-backdrop::placeholder,.now-input-native::placeholder{color:RGB(var(--now-input_placeholder--color,var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),.95);opacity:1}.now-input-native-backdrop[placeholder],.now-input-native[placeholder]{text-overflow:ellipsis}.has-focus .now-input-native-backdrop::-webkit-input-placeholder,.has-focus .now-input-native::-webkit-input-placeholder,.has-hover:not(.is-disabled) .now-input-native-backdrop::-webkit-input-placeholder,.has-hover:not(.is-disabled) .now-input-native::-webkit-input-placeholder,.is-invalid.has-focus .now-input-native-backdrop::-webkit-input-placeholder,.is-invalid.has-focus .now-input-native::-webkit-input-placeholder{color:RGB(var(--now-input_placeholder--color--hover,var(--now-form-field_placeholder--color--hover,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))),.85)}.has-focus .now-input-native-backdrop::placeholder,.has-focus .now-input-native::placeholder,.has-hover:not(.is-disabled) .now-input-native-backdrop::placeholder,.has-hover:not(.is-disabled) .now-input-native::placeholder,.is-invalid.has-focus .now-input-native-backdrop::placeholder,.is-invalid.has-focus .now-input-native::placeholder{color:RGB(var(--now-input_placeholder--color--hover,var(--now-form-field_placeholder--color--hover,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))),.85)}.is-readonly .now-input-native,.is-readonly .now-input-native-backdrop{color:RGB(var(--now-input--color--readonly,var(--now-form-field--color--readonly,var(--now-form-field--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))));cursor:not-allowed}.now-input-native-backdrop:disabled,.now-input-native:disabled{cursor:not-allowed}.now-input-native-backdrop[type=number],.now-input-native[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;text-align:end}.-start .now-input-native,.-start .now-input-native-backdrop{text-align:start}.-center .now-input-native,.-center .now-input-native-backdrop{text-align:center}.-end .now-input-native,.-end .now-input-native-backdrop{text-align:end}.now-input-native-backdrop[type=number]::-webkit-inner-spin-button,.now-input-native-backdrop[type=number]::-webkit-outer-spin-button,.now-input-native[type=number]::-webkit-inner-spin-button,.now-input-native[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.is-invalid .now-input-native,.is-invalid .now-input-native-backdrop{color:RGB(var(--now-input--color--invalid,var(--now-form-field--color--invalid,var(--now-form-field--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-input-caret-container{inset-inline-start:-9999px;position:absolute}.now-input-native-container{block-size:100%;display:grid;grid-template-columns:1fr;inline-size:100%;position:relative}.now-input-native-container .now-input-native-backdrop{align-content:center;color:transparent;display:grid;inline-size:calc(100% - var(--now-input--border-width, var(--now-form-field--border-width, 0px))*2);overflow-x:auto;scrollbar-width:none;white-space:pre;z-index:1}.now-input-native-container .now-input-native-backdrop::-webkit-scrollbar{display:none}.now-input-native-container .now-input-native{z-index:2}.now-input-native-container .now-input-native::-moz-selection{background-color:RGBA(var(--now-input--selection--background-color,var(--now-color--focus-1,77,160,176)),.9);color:RGB(var(--now-input--selection--color,var(--now-input--color,var(--now-form-field--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-input-native-container .now-input-native::selection{background-color:RGBA(var(--now-input--selection--background-color,var(--now-color--focus-1,77,160,176)),.9);color:RGB(var(--now-input--selection--color,var(--now-input--color,var(--now-form-field--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-input-native-container .now-input-native,.now-input-native-container .now-input-native-backdrop{grid-column-start:1;grid-row-start:1}.now-input-native-selection{background-color:RGB(var(--now-input--selection--background-color,var(--now-color--focus-1,77,160,176)));color:transparent;padding-block:1px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".now-form-field-popover-content{font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));line-height:1.3333;padding:1rem}.now-form-field-popover-ul{-webkit-margin-start:1rem;-webkit-padding-start:0;margin-block:0;margin-inline-start:1rem;padding-inline-start:0}.now-form-field-popover-ul li:not(:last-child){-webkit-margin-after:.125rem;margin-block-end:.125rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{--now-line-height:0;display:inline-block}:host([truncated]){inline-size:inherit}.now-label-value-inline{color:RGB(var(--now-label-value-inline--color,var(--now-display-type--body-inline--color,var(--now-display-type--body_label--color,var(--now-display-type_label--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))));font-family:var(--now-label-value-inline--font-family,var(--now-display-type--body-inline_label--font-family,var(--now-display-type--body_label--font-family,var(--now-display-type_label--font-family,var(--now-display-type--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))))));font-size:.75rem;font-style:var(--now-label-value-inline--font-style,var(--now-display-type--body-inline_label--font-style,var(--now-display-type--body_label--font-style,var(--now-display-type_label--font-style,var(--now-display-type--font-style,normal)))));font-variant:normal;font-weight:var(--now-label-value-inline--font-weight,var(--now-display-type--body-inline_label--font-weight,var(--now-display-type--body_label--font-weight,var(--now-display-type_label--font-weight,var(--now-display-type--font-weight,normal)))));letter-spacing:inherit;line-height:1.3333;text-indent:0;text-shadow:none;text-transform:var(--now-label-value-inline--text-transform,var(--now-display-type--body-inline_label--text-transform,var(--now-display-type--body_label--text-transform,var(--now-display-type_label--text-transform,var(--now-display-type--text-transform,none)))));white-space:normal;word-spacing:inherit}.now-label-value-inline.will-truncate .now-label-value-pair{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-label-value-inline.will-truncate .now-label-value-pair:after{content:\\\"\\\";display:block}.now-label-value-inline-label{color:RGB(var(--now-label-value-inline_label--color,var(--now-display-type--body-inline_label--color,var(--now-display-type--body-inline--color,var(--now-display-type--body_label--color,var(--now-display-type_label--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))))));font-family:var(--now-label-value-inline_label--font-family,var(--now-display-type--body-inline_label--font-family,var(--now-display-type--body_label--font-family,var(--now-display-type_label--font-family,var(--now-display-type--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))))));font-size:var(--now-display-type_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-label-value-inline_label--font-style,var(--now-display-type--body-inline_label--font-style,var(--now-display-type--body_label--font-style,var(--now-display-type_label--font-style,var(--now-display-type--font-style,normal)))));font-weight:var(--now-label-value-inline_label--font-weight,var(--now-display-type--body-inline_label--font-weight,var(--now-display-type--body_label--font-weight,var(--now-display-type_label--font-weight,var(--now-display-type--font-weight,normal)))));line-height:1.3333;text-transform:var(--now-label-value-inline_label--text-transform,var(--now-display-type--body-inline_label--text-transform,var(--now-display-type--body_label--text-transform,var(--now-display-type_label--text-transform,var(--now-display-type--text-transform,none)))))}.now-label-value-inline-value{color:RGB(var(--now-label-value-inline_value--color,var(--now-display-type--body-inline_value--color,var(--now-display-type--body-inline--color,var(--now-display-type--body_label--color,var(--now-display-type_label--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))))));font-family:var(--now-label-value-inline_value--font-family,var(--now-display-type--body-inline_value--font-family,var(--now-display-type--body_value--font-family,var(--now-display-type_value--font-family,var(--now-display-type--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))))));font-size:var(--now-display-type_value--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-label-value-inline_value--font-style,var(--now-display-type--body-inline_value--font-style,var(--now-display-type--body_value--font-style,var(--now-display-type_value--font-style,var(--now-display-type--font-style,normal)))));font-weight:var(--now-label-value-inline_value--font-weight,var(--now-display-type--body-inline_value--font-weight,var(--now-display-type--body_value--font-weight,var(--now-display-type_value--font-weight,var(--now-display-type--font-weight,normal)))));line-height:1.3333;text-transform:var(--now-label-value-inline_value--text-transform,var(--now-display-type--body-inline_value--text-transform,var(--now-display-type--body_value--text-transform,var(--now-display-type_value--text-transform,var(--now-display-type--text-transform,none)))))}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-align{display:flex}.now-align.-row.-reverse{flex-direction:row-reverse}.now-align.-column{flex-direction:column}.now-align.-column.-reverse{flex-direction:column-reverse}.now-align.-wrap{flex-wrap:wrap}.now-align.-inline{justify-content:space-between}.now-align.-inline-center{justify-content:center}.now-align.-inline-end{justify-content:flex-end}.now-align.-block-start{align-items:flex-start}.now-align.-block-center{align-items:center}.now-align.-block-end{align-items:flex-end}:host{display:block}.now-label-value{margin-block:0;text-align:start;word-break:break-word}.now-label-value.-md .now-label-value-highlighted-value-parent{block-size:1.25rem}.now-label-value-previous{color:RGB(var(--now-label-value_previous--color,var(--now-display-type--body_previous--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))));display:inline;font-style:var(--now-label-value_previous--font-style,var(--now-display-type--body_previous--font-style,italic));font-weight:var(--now-label-value_previous--font-weight,var(--now-display-type--body_previous--font-weight,normal));-webkit-text-decoration:var(--now-label-value_previous--text-decoration,var(--now-display-type--body_previous--text-decoration,line-through));text-decoration:var(--now-label-value_previous--text-decoration,var(--now-display-type--body_previous--text-decoration,line-through));text-transform:var(--now-label-value_previous--text-transform,var(--now-display-type--body_previous--text-transform,var(--now-display-type_value--text-transform,var(--now-display-type--text-transform,none))))}.now-label-value-previous-delimiter{font-weight:var(--now-label-value_previous_delimiter--font-weight,var(--now-display-type--body_previous_delimiter--font-weight,600))}.now-label-value-highlighted-value-parent{align-items:center;display:flex}.now-label-value-highlighted-value{--now-highlighted-value--height-scale:1;--now-highlighted-value--width-scale:1;inline-size:100%;max-inline-size:-webkit-fit-content;max-inline-size:-moz-fit-content;max-inline-size:fit-content}.now-label-value.-stacked dt{color:RGB(var(--now-label-value-stacked_label--color,var(--now-display-type--body-stacked_label--color,var(--now-display-type--body_label--color,var(--now-display-type_label--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))));font-family:var(--now-label-value-stacked_label--font-family,var(--now-display-type--body-stacked_label--font-family,var(--now-display-type--body_label--font-family,var(--now-display-type_label--font-family,var(--now-display-type--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))))));font-size:var(--now-display-type_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-label-value-stacked_label--font-style,var(--now-display-type--body-stacked_label--font-style,var(--now-display-type--body_label--font-style,var(--now-display-type_label--font-style,var(--now-display-type--font-style,normal)))));font-weight:var(--now-label-value-stacked_label--font-weight,var(--now-display-type--body-stacked_label--font-weight,var(--now-display-type--body_label--font-weight,var(--now-display-type_label--font-weight,var(--now-display-type--font-weight,normal)))));line-height:1.3333;text-transform:var(--now-label-value-stacked_label--text-transform,var(--now-display-type--body-stacked_label--text-transform,var(--now-display-type--body_label--text-transform,var(--now-display-type_label--text-transform,var(--now-display-type--text-transform,none)))))}.now-label-value.-stacked dd{-webkit-margin-start:0;color:RGB(var(--now-label-value-stacked_value--color,var(--now-display-type--body-stacked_value--color,var(--now-display-type--body_value--color,var(--now-display-type_value--color,var(--now-display-type--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))));font-family:var(--now-label-value-stacked_value--font-family,var(--now-display-type--body-stacked_value--font-family,var(--now-display-type--body_value--font-family,var(--now-display-type_value--font-family,var(--now-display-type--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))))));font-style:var(--now-label-value-stacked_value--font-style,var(--now-display-type--body-stacked_value--font-style,var(--now-display-type--body_value--font-style,var(--now-display-type_value--font-style,var(--now-display-type--font-style,normal)))));font-weight:var(--now-label-value-stacked_value--font-weight,var(--now-display-type--body-stacked_value--font-weight,var(--now-display-type--body_value--font-weight,var(--now-display-type_value--font-weight,var(--now-display-type--font-weight,normal)))));margin-inline-start:0;text-transform:var(--now-label-value-stacked_value--text-transform,var(--now-display-type--body-stacked_value--text-transform,var(--now-display-type--body_value--text-transform,var(--now-display-type_value--text-transform,var(--now-display-type--text-transform,none)))))}.now-label-value.-stacked.-sm dd{font-size:var(--now-display-type_value--font-size--sm,var(--now-font-size--sm,.75rem));line-height:1.3333}.now-label-value.-stacked.-md dd{font-size:var(--now-display-type_value--font-size--md,var(--now-font-size--md1,1rem));line-height:1.25}.now-label-value.-stacked.-sm.-horizontal dd>*{-webkit-margin-before:.125rem;margin-block-start:.125rem}.now-label-value.-stacked.-vertical .now-label-value-pair:not(:last-child){-webkit-margin-after:.75rem;margin-block-end:.75rem}.now-label-value.-stacked.-vertical dd{-webkit-margin-before:.125rem;margin-block-start:.125rem}.now-label-value.-stacked.-vertical dd>:not(:last-child){-webkit-margin-after:.125rem;margin-block-end:.125rem}.now-label-value.-stacked.-horizontal{-webkit-margin-after:-1rem;display:flex;flex-wrap:wrap;margin-block-end:-1rem}.now-label-value.-stacked.-horizontal .now-label-value-pair{-webkit-margin-after:1rem;margin-block-end:1rem;min-inline-size:3.125rem}.now-label-value.-stacked.-horizontal .now-label-value-pair:not(:last-child){-webkit-margin-end:1rem;margin-inline-end:1rem}.now-label-value.-stacked.-horizontal dd{display:flex;flex-wrap:wrap}.now-label-value.-stacked.-horizontal dd>*{min-inline-size:0}.now-label-value.-stacked.-horizontal dd>:not(:last-child){-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-label-value.-stacked.-horizontal.-equal{grid-gap:1rem;-webkit-margin-after:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(3.125rem,1fr));margin-block-end:0}.now-label-value.-stacked.-horizontal.-equal .now-label-value-pair{-webkit-margin-after:0;-webkit-margin-end:0;margin-block-end:0;margin-inline-end:0}.now-label-value.-stacked.-horizontal.-sm dd{align-items:center}.now-label-value.-stacked.-horizontal.-md dd>*{-webkit-margin-before:.125rem;margin-block-start:.125rem}.now-label-value.-stacked.will-truncate .now-label-value-pair{min-inline-size:3.125rem}.now-label-value.-stacked.will-truncate .now-label-value-label,.now-label-value.-stacked.will-truncate .now-label-value-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-label-value.-stacked.will-truncate .now-label-value-label:after,.now-label-value.-stacked.will-truncate .now-label-value-value:after{content:\\\"\\\";display:block}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-align{display:flex}.now-align.-row.-reverse{flex-direction:row-reverse}.now-align.-column{flex-direction:column}.now-align.-column.-reverse{flex-direction:column-reverse}.now-align.-wrap{flex-wrap:wrap}.now-align.-inline{justify-content:space-between}.now-align.-inline-center{justify-content:center}.now-align.-inline-end{justify-content:flex-end}.now-align.-block-start{align-items:flex-start}.now-align.-block-center{align-items:center}.now-align.-block-end{align-items:flex-end}:host{display:block}.now-label-value{margin-block:0;text-align:start;word-break:break-word}.now-label-value.-md .now-label-value-highlighted-value-parent{block-size:1.25rem}.now-label-value-previous{color:RGB(var(--now-label-value_previous--color,var(--now-display-type--body_previous--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))));display:inline;font-style:var(--now-label-value_previous--font-style,var(--now-display-type--body_previous--font-style,italic));font-weight:var(--now-label-value_previous--font-weight,var(--now-display-type--body_previous--font-weight,normal));-webkit-text-decoration:var(--now-label-value_previous--text-decoration,var(--now-display-type--body_previous--text-decoration,line-through));text-decoration:var(--now-label-value_previous--text-decoration,var(--now-display-type--body_previous--text-decoration,line-through));text-transform:var(--now-label-value_previous--text-transform,var(--now-display-type--body_previous--text-transform,var(--now-display-type_value--text-transform,var(--now-display-type--text-transform,none))))}.now-label-value-previous-delimiter{font-weight:var(--now-label-value_previous_delimiter--font-weight,var(--now-display-type--body_previous_delimiter--font-weight,600))}.now-label-value-highlighted-value-parent{align-items:center;display:flex}.now-label-value-highlighted-value{--now-highlighted-value--height-scale:1;--now-highlighted-value--width-scale:1;inline-size:100%;max-inline-size:-webkit-fit-content;max-inline-size:-moz-fit-content;max-inline-size:fit-content}.now-label-value.-tabbed{display:grid;gap:calc(var(--now-scale-space--sm, 1)*.5rem) .5rem;grid-template-columns:fit-content(calc(50% - .25rem)) minmax(0,auto)}.now-label-value.-tabbed.-sm dd,.now-label-value.-tabbed.-sm dt{line-height:1.3333}.now-label-value.-tabbed.-sm dt{font-size:var(--now-display-type_label--font-size--sm,var(--now-font-size--sm,.75rem))}.now-label-value.-tabbed.-sm dd{font-size:var(--now-display-type_value--font-size--sm,var(--now-font-size--sm,.75rem))}.now-label-value.-tabbed.-md dd,.now-label-value.-tabbed.-md dt{line-height:1.25}.now-label-value.-tabbed.-md dt{font-size:var(--now-display-type_label--font-size--md,var(--now-font-size--md1,1rem))}.now-label-value.-tabbed.-md dd{font-size:var(--now-display-type_value--font-size--md,var(--now-font-size--md1,1rem))}.now-label-value.-tabbed dt{color:RGB(var(--now-label-value-tabbed_label--color,var(--now-display-type--body-tabbed_label--color,var(--now-display-type--body_label--color,var(--now-display-type_label--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))));font-family:var(--now-label-value-tabbed_label--font-family,var(--now-display-type--body-tabbed_label--font-family,var(--now-display-type--body_label--font-family,var(--now-display-type_label--font-family,var(--now-display-type--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))))));font-style:var(--now-label-value-tabbed_label--font-style,var(--now-display-type--body-tabbed_label--font-style,var(--now-display-type--body_label--font-style,var(--now-display-type_label--font-style,var(--now-display-type--font-style,normal)))));font-weight:var(--now-label-value-tabbed_label--font-weight,var(--now-display-type--body-tabbed_label--font-weight,var(--now-display-type--body_label--font-weight,var(--now-display-type_label--font-weight,var(--now-display-type--font-weight,normal)))));min-inline-size:0;text-transform:var(--now-label-value-tabbed_label--text-transform,var(--now-display-type--body-tabbed_label--text-transform,var(--now-display-type--body_label--text-transform,var(--now-display-type_label--text-transform,var(--now-display-type--text-transform,none)))))}.now-label-value.-tabbed dd{-webkit-margin-start:0;color:RGB(var(--now-label-value-tabbed_value--color,var(--now-display-type--body-tabbed_value--color,var(--now-display-type--body_value--color,var(--now-display-type_value--color,var(--now-display-type--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))));font-family:var(--now-label-value-tabbed_value--font-family,var(--now-display-type--body-tabbed_value--font-family,var(--now-display-type--body_value--font-family,var(--now-display-type_value--font-family,var(--now-display-type--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))))));font-style:var(--now-label-value-tabbed_value--font-style,var(--now-display-type--body-tabbed_value--font-style,var(--now-display-type--body_value--font-style,var(--now-display-type_value--font-style,var(--now-display-type--font-style,normal)))));font-weight:var(--now-label-value-tabbed_value--font-weight,var(--now-display-type--body-tabbed_value--font-weight,var(--now-display-type--body_value--font-weight,var(--now-display-type_value--font-weight,var(--now-display-type--font-weight,normal)))));margin-inline-start:0;text-transform:var(--now-label-value-tabbed_value--text-transform,var(--now-display-type--body-tabbed_value--text-transform,var(--now-display-type--body_value--text-transform,var(--now-display-type_value--text-transform,var(--now-display-type--text-transform,none)))))}.now-label-value.-tabbed dd>:not(:last-child){-webkit-margin-after:.125rem;margin-block-end:.125rem}.now-label-value.-tabbed.has-multiple{grid-template-columns:fit-content(calc(30% - .25rem)) minmax(0,auto)}.now-label-value.-tabbed .now-label-value-label:not(.will-wrap){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-label-value.-tabbed .now-label-value-label:not(.will-wrap):after{content:\\\"\\\";display:block}.now-label-value.-tabbed .now-label-value-label.will-wrap{word-wrap:break-word}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*!\\n * Font Awesome Free 5.2.0 by @fontawesome - https://fontawesome.com\\n * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\\n */.svg-inline--fa,svg:not(:root).svg-inline--fa{overflow:visible}.svg-inline--fa{display:inline-block;font-size:inherit;height:1em;vertical-align:-.125em}.svg-inline--fa.fa-lg{vertical-align:-.225em}.svg-inline--fa.fa-w-1{width:.0625em}.svg-inline--fa.fa-w-2{width:.125em}.svg-inline--fa.fa-w-3{width:.1875em}.svg-inline--fa.fa-w-4{width:.25em}.svg-inline--fa.fa-w-5{width:.3125em}.svg-inline--fa.fa-w-6{width:.375em}.svg-inline--fa.fa-w-7{width:.4375em}.svg-inline--fa.fa-w-8{width:.5em}.svg-inline--fa.fa-w-9{width:.5625em}.svg-inline--fa.fa-w-10{width:.625em}.svg-inline--fa.fa-w-11{width:.6875em}.svg-inline--fa.fa-w-12{width:.75em}.svg-inline--fa.fa-w-13{width:.8125em}.svg-inline--fa.fa-w-14{width:.875em}.svg-inline--fa.fa-w-15{width:.9375em}.svg-inline--fa.fa-w-16{width:1em}.svg-inline--fa.fa-w-17{width:1.0625em}.svg-inline--fa.fa-w-18{width:1.125em}.svg-inline--fa.fa-w-19{width:1.1875em}.svg-inline--fa.fa-w-20{width:1.25em}.svg-inline--fa.fa-pull-left{margin-right:.3em;width:auto}.svg-inline--fa.fa-pull-right{margin-left:.3em;width:auto}.svg-inline--fa.fa-border{height:1.5em}.svg-inline--fa.fa-li{width:2em}.svg-inline--fa.fa-fw{width:1.25em}.fa-layers svg.svg-inline--fa{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:1em}.fa-layers svg.svg-inline--fa{transform-origin:center center}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers-text{left:50%;top:50%;transform:translate(-50%,-50%);transform-origin:center center}.fa-layers-counter{background-color:#ff253a;border-radius:1em;box-sizing:border-box;color:#fff;height:1.5em;line-height:1;max-width:5em;min-width:1.5em;overflow:hidden;padding:.25em;right:0;text-overflow:ellipsis;top:0;transform:scale(.25);transform-origin:top right}.fa-layers-bottom-right{bottom:0;right:0;top:auto;transform:scale(.25);transform-origin:bottom right}.fa-layers-bottom-left{bottom:0;left:0;right:auto;top:auto;transform:scale(.25);transform-origin:bottom left}.fa-layers-top-right{right:0;top:0;transform:scale(.25);transform-origin:top right}.fa-layers-top-left{left:0;right:auto;top:0;transform:scale(.25);transform-origin:top left}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;line-height:inherit;position:absolute;text-align:center;width:2em}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s linear infinite}.fa-pulse{animation:fa-spin 1s steps(8) infinite}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\"}.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;position:relative;width:2em}.fa-stack-1x,.fa-stack-2x{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.svg-inline--fa.fa-stack-1x{height:1em;width:1em}.svg-inline--fa.fa-stack-2x{height:2em;width:2em}.fa-inverse{color:#fff}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{--now-line-height:0;color:inherit;display:inline-block;font-size:1rem;vertical-align:middle}.fa-xs{font-size:.625rem}.fa-sm{font-size:.75rem}.fa-md{font-size:.875rem}.fa-lg{font-size:1rem}.fa-xl{font-size:1.125rem}.fa-xxl{font-size:1.25rem}.fa-xxxl{font-size:1.5rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"table{border-collapse:collapse;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;position:relative;table-layout:auto;text-align:start;width:100%}table,table div.html-icon{font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem}table div.html-icon{--now-line-height:0;line-height:var(--now-line-height,1.25);vertical-align:middle}table div.html-icon>svg.now-icon{fill:currentcolor;fill-rule:evenodd}table div.html-icon>svg.now-icon.-sm{block-size:calc(.375rem + var(--now-icon--scale-size, 1)*.75rem/2);inline-size:calc(.375rem + var(--now-icon--scale-size, 1)*.75rem/2)}table div.html-icon>svg.now-icon.-md{block-size:calc(.5rem + var(--now-icon--scale-size, 1)*1rem/2);inline-size:calc(.5rem + var(--now-icon--scale-size, 1)*1rem/2)}table div.html-icon svg.now-icon{color:inherit}table .drag-handle{block-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2);block-size:auto;border-radius:var(--now-button-iconic--bare_primary--border-radius,var(--now-button-iconic--bare--border-radius,var(--now-button--bare--border-radius,var(--now-button--border-radius,var(--now-actionable--border-radius,0)))));border-width:var(--now-button-iconic--bare_primary--border-width,var(--now-button-iconic--bare--border-width,var(--now-button--bare--border-width,0)));color:RGB(var(--now-button-iconic--bare_primary--color,var(--now-button--bare_primary--color,var(--now-color--primary-1,30,133,109))));cursor:-webkit-grab;cursor:grab;inline-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2);inline-size:auto;padding:0;vertical-align:middle}table .drag-handle,table .drag-handle:active,table .drag-handle:hover{background-color:transparent;border-color:transparent;border-width:0}table .drag-handle:not(.is-disabled):hover{background-color:RGB(var(--now-button-iconic--bare_primary--background-color--hover,var(--now-button--bare_primary--background-color--hover,var(--now-color--primary-2,23,100,82))),var(--now-button-iconic--bare_primary--background-color-alpha--hover,var(--now-button--bare_primary--background-color-alpha--hover,var(--now-opacity--least,.1))));color:RGB(var(--now-button-iconic--bare_primary--color--hover,var(--now-button--bare_primary--color--hover,var(--now-color--primary-2,23,100,82))))}table .drag-handle:not(.is-disabled):active{background-color:RGB(var(--now-button-iconic--bare_primary--background-color--active,var(--now-button--bare_primary--background-color--active,var(--now-color--primary-2,23,100,82))),var(--now-button-iconic--bare_primary--background-color-alpha--active,var(--now-button--bare_primary--background-color-alpha--active,var(--now-opacity--less,.25))));color:RGB(var(--now-button-iconic--bare_primary--color--active,var(--now-button--bare_primary--color--active,var(--now-color--primary-3,15,67,55))))}table .drag-handle.is-disabled{opacity:var(--now-button-iconic--bare_primary--opacity--disabled,var(--now-button-iconic--bare--opacity--disabled,var(--now-button-iconic--opacity--disabled,var(--now-button--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))))}table .drag-handle.high-contrast{color:RGB(var(--now-button-iconic--bare_primary_high-contrast--color,var(--now-color--primary-2,23,100,82)))}table .drag-handle.high-contrast:not(.is-disabled):hover{color:RGB(var(--now-button-iconic--bare_primary_high-contrast--color--hover,var(--now-color--primary-3,15,67,55)))}table .drag-handle.high-contrast:not(.is-disabled):active{color:RGB(var(--now-button-iconic--bare_primary_high-contrast--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}table .group-row-toggle,table .group-toggle-all-button{align-items:center;block-size:calc(1rem + var(--now-button--scale-size, 1)*2rem/2);border-radius:var(--now-button-iconic--bare_tertiary--border-radius,var(--now-button-iconic--bare--border-radius,var(--now-button--bare--border-radius,var(--now-button--border-radius,var(--now-actionable--border-radius,0)))));border-width:var(--now-button-iconic--bare_tertiary--border-width,var(--now-button-iconic--bare--border-width,var(--now-button--bare--border-width,0)));color:RGB(var(--now-button-iconic--bare_tertiary--color,var(--now-button--bare_tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));inline-size:calc(1rem + var(--now-button--scale-size, 1)*2rem/2);justify-content:center}table .group-row-toggle,table .group-row-toggle:active,table .group-row-toggle:hover,table .group-toggle-all-button,table .group-toggle-all-button:active,table .group-toggle-all-button:hover{background-color:transparent;border-color:transparent;border-width:0}table .group-row-toggle:not(.is-disabled):hover,table .group-toggle-all-button:not(.is-disabled):hover{background-color:RGB(var(--now-button-iconic--bare_tertiary--background-color--hover,var(--now-button--bare_tertiary--background-color--hover,var(--now-color--neutral-12,66,80,81))),var(--now-button-iconic--bare_tertiary--background-color-alpha--hover,var(--now-button--bare_tertiary--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-iconic--bare_tertiary--border-color--hover,var(--now-button--bare_tertiary--border-color--hover,var(--now-color--neutral-12,66,80,81))),var(--now-button-iconic--bare_tertiary--border-color-alpha--hover,var(--now-button--bare_tertiary--border-color-alpha--hover,0)));color:RGB(var(--now-button-iconic--bare_tertiary--color--hover,var(--now-button--bare_tertiary--color--hover,var(--now-color--neutral-12,66,80,81))))}table .group-row-toggle:not(.is-disabled):active,table .group-toggle-all-button:not(.is-disabled):active{background-color:RGB(var(--now-button-iconic--bare_tertiary--background-color--active,var(--now-button--bare_tertiary--background-color--active,var(--now-color--neutral-12,66,80,81))),var(--now-button-iconic--bare_tertiary--background-color-alpha--active,var(--now-button--bare_tertiary--background-color-alpha--active,var(--now-opacity--less,.25))));border-color:RGB(var(--now-button-iconic--bare_tertiary--border-color--active,var(--now-button--bare_tertiary--border-color--active,var(--now-color--neutral-12,66,80,81))),var(--now-button-iconic--bare_tertiary--border-color-alpha--active,var(--now-button--bare_tertiary--border-color-alpha--active,0)));color:RGB(var(--now-button-iconic--bare_tertiary--color--active,var(--now-button--bare_tertiary--color--active,var(--now-color--secondary-3,1,60,71))))}table .group-row-toggle.is-disabled,table .group-toggle-all-button.is-disabled{opacity:var(--now-button-iconic--bare_tertiary--opacity--disabled,var(--now-button-iconic--bare--opacity--disabled,var(--now-button-iconic--opacity--disabled,var(--now-button--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))))}table .group-row-toggle.high-contrast,table .group-toggle-all-button.high-contrast{color:RGB(var(--now-button-iconic--bare_tertiary_high-contrast--color,var(--now-button--bare_tertiary_high-contrast--color,var(--now-button--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}table .group-row-toggle.high-contrast:not(.is-disabled):hover,table .group-toggle-all-button.high-contrast:not(.is-disabled):hover{color:RGB(var(--now-button-iconic--bare_tertiary_high-contrast--color--hover,var(--now-button--bare_tertiary_high-contrast--color--hover,var(--now-color--secondary-3,1,60,71))),var(--now-button-iconic--bare_tertiary_high-contrast--color-alpha--hover,var(--now-button--bare_tertiary_high-contrast--color-alpha--hover,var(--now-button--bare_tertiary_high-contrast--color-alpha,1))))}table .group-row-toggle.high-contrast:not(.is-disabled):active,table .group-toggle-all-button.high-contrast:not(.is-disabled):active{color:RGB(var(--now-button-iconic--bare_tertiary_high-contrast--color--active,var(--now-button--bare_tertiary_high-contrast--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-iconic--bare_tertiary_high-contrast--color-alpha--active,var(--now-button--bare_tertiary_high-contrast--color-alpha--active,var(--now-button--bare_tertiary_high-contrast--color-alpha,1))))}table .group-row-toggle .html-group-button,table .group-toggle-all-button .html-group-button{transition:all .15s ease}table .group-row-toggle .html-group-button[dir=rtl],table .group-toggle-all-button .html-group-button[dir=rtl]{transform:rotate(180deg)}table .group-row-toggle .html-group-button.group-expanded,table .group-row-toggle .html-group-button.groups-expanded,table .group-toggle-all-button .html-group-button.group-expanded,table .group-toggle-all-button .html-group-button.groups-expanded{transform:rotate(90deg)}table .group-row-toggle .html-group-button.group-expanded[dir=rtl],table .group-row-toggle .html-group-button.groups-expanded[dir=rtl],table .group-toggle-all-button .html-group-button.group-expanded[dir=rtl],table .group-toggle-all-button .html-group-button.groups-expanded[dir=rtl]{transform:rotate(-90deg)}table .row-actions-button{block-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2);border-radius:var(--now-button-iconic--bare_tertiary--border-radius,var(--now-button-iconic--bare--border-radius,var(--now-button--bare--border-radius,var(--now-button--border-radius,var(--now-actionable--border-radius,0)))));border-width:var(--now-button-iconic--bare_tertiary--border-width,var(--now-button-iconic--bare--border-width,var(--now-button--bare--border-width,0)));color:RGB(var(--now-button-iconic--bare_tertiary--color,var(--now-button--bare_tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));inline-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2)}table .row-actions-button,table .row-actions-button:active,table .row-actions-button:hover{background-color:transparent;border-color:transparent;border-width:0}table .row-actions-button:not(.is-disabled):hover{background-color:RGB(var(--now-button-iconic--bare_tertiary--background-color--hover,var(--now-button--bare_tertiary--background-color--hover,var(--now-color--neutral-12,66,80,81))),var(--now-button-iconic--bare_tertiary--background-color-alpha--hover,var(--now-button--bare_tertiary--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-iconic--bare_tertiary--border-color--hover,var(--now-button--bare_tertiary--border-color--hover,var(--now-color--neutral-12,66,80,81))),var(--now-button-iconic--bare_tertiary--border-color-alpha--hover,var(--now-button--bare_tertiary--border-color-alpha--hover,0)));color:RGB(var(--now-button-iconic--bare_tertiary--color--hover,var(--now-button--bare_tertiary--color--hover,var(--now-color--neutral-12,66,80,81))))}table .row-actions-button:not(.is-disabled):active{background-color:RGB(var(--now-button-iconic--bare_tertiary--background-color--active,var(--now-button--bare_tertiary--background-color--active,var(--now-color--neutral-12,66,80,81))),var(--now-button-iconic--bare_tertiary--background-color-alpha--active,var(--now-button--bare_tertiary--background-color-alpha--active,var(--now-opacity--less,.25))));border-color:RGB(var(--now-button-iconic--bare_tertiary--border-color--active,var(--now-button--bare_tertiary--border-color--active,var(--now-color--neutral-12,66,80,81))),var(--now-button-iconic--bare_tertiary--border-color-alpha--active,var(--now-button--bare_tertiary--border-color-alpha--active,0)));color:RGB(var(--now-button-iconic--bare_tertiary--color--active,var(--now-button--bare_tertiary--color--active,var(--now-color--secondary-3,1,60,71))))}table .row-actions-button.is-disabled{opacity:var(--now-button-iconic--bare_tertiary--opacity--disabled,var(--now-button-iconic--bare--opacity--disabled,var(--now-button-iconic--opacity--disabled,var(--now-button--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))))}table .row-actions-button.high-contrast{color:RGB(var(--now-button-iconic--bare_tertiary_high-contrast--color,var(--now-button--bare_tertiary_high-contrast--color,var(--now-button--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}table .row-actions-button.high-contrast:not(.is-disabled):hover{color:RGB(var(--now-button-iconic--bare_tertiary_high-contrast--color--hover,var(--now-button--bare_tertiary_high-contrast--color--hover,var(--now-color--secondary-3,1,60,71))),var(--now-button-iconic--bare_tertiary_high-contrast--color-alpha--hover,var(--now-button--bare_tertiary_high-contrast--color-alpha--hover,var(--now-button--bare_tertiary_high-contrast--color-alpha,1))))}table .row-actions-button.high-contrast:not(.is-disabled):active{color:RGB(var(--now-button-iconic--bare_tertiary_high-contrast--color--active,var(--now-button--bare_tertiary_high-contrast--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-iconic--bare_tertiary_high-contrast--color-alpha--active,var(--now-button--bare_tertiary_high-contrast--color-alpha--active,var(--now-button--bare_tertiary_high-contrast--color-alpha,1))))}table tr{height:calc(1.25rem + var(--now-grid-cell--scale-size-block, 1)*2.5rem/2);min-height:calc(1.25rem + var(--now-grid-cell--scale-size-block, 1)*2.5rem/2)}table tr now-icon,table tr svg.now-icon.-md{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}table tr now-icon.critical,table tr svg.now-icon.-md.critical{color:RGB(var(--now-color_alert--critical-4,120,36,32))}table tr now-icon.high,table tr svg.now-icon.-md.high{color:RGB(var(--now-color_alert--high-4,133,87,20))}table tr now-icon.warning,table tr svg.now-icon.-md.warning{color:RGB(var(--now-color_alert--warning-4,149,139,17))}table tr now-icon.moderate,table tr svg.now-icon.-md.moderate{color:RGB(var(--now-color_alert--moderate-4,50,52,124))}table tr now-icon.info,table tr svg.now-icon.-md.info{color:RGB(var(--now-color_alert--info-4,8,72,118))}table tr now-icon.positive,table tr svg.now-icon.-md.positive{color:RGB(var(--now-color_alert--positive-4,22,79,26))}table tr now-icon.low,table tr svg.now-icon.-md.low{color:RGB(var(--now-color_alert--low-4,61,61,61))}table td,table th{padding:0}table td::-moz-focus-inner,table th::-moz-focus-inner{border-style:none}table td:focus,table th:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){table td:focus,table th:focus{outline:1px solid highlight}}table td.text-align-default,table th.text-align-default{text-align:start}table td.text-align-center,table th.text-align-center{text-align:center}table td.text-align-inverse,table th.text-align-inverse{text-align:end}table td.column-active,table td:hover:not(.special-column-cell):not(.group-row-container):not(.skeleton-cell):not(.custom-row-content),table th.column-active,table th:hover:not(.special-column-cell):not(.group-row-container):not(.skeleton-cell):not(.custom-row-content){background:RGBA(var(--now-color--primary-1,30,133,109),var(--now-opacity--least,.1))}table td .include-large-padding,table th .include-large-padding{-webkit-margin-start:1.25rem;margin-inline-start:1.25rem}table td .include-small-padding,table th .include-small-padding{-webkit-margin-start:.5rem;margin-inline-start:.5rem}table td .large-grouped-row-indent,table th .large-grouped-row-indent{-webkit-margin-start:1.5rem;margin-inline-start:1.5rem}table td .small-grouped-row-indent,table th .small-grouped-row-indent{-webkit-margin-start:.5rem;margin-inline-start:.5rem}table td .cell-content:not(.special-column-cell-content):not(.group-row-content),table th .cell-content:not(.special-column-cell-content):not(.group-row-content){-webkit-margin-after:calc(var(--now-scale-space--xs, 1)*.25rem);-webkit-margin-before:calc(var(--now-scale-space--xs, 1)*.25rem);flex-grow:1;margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem);margin-block-start:calc(var(--now-scale-space--xs, 1)*.25rem);text-overflow:ellipsis}:host(:not([dir=rtl])) table td .cell-content:not(.special-column-cell-content):not(.group-row-content),:host(:not([dir=rtl])) table th .cell-content:not(.special-column-cell-content):not(.group-row-content),:root:not([dir=rtl]) table td .cell-content:not(.special-column-cell-content):not(.group-row-content),:root:not([dir=rtl]) table th .cell-content:not(.special-column-cell-content):not(.group-row-content){margin-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) table td .cell-content:not(.special-column-cell-content):not(.group-row-content),:host([dir=rtl]) table th .cell-content:not(.special-column-cell-content):not(.group-row-content),:root[dir=rtl] table td .cell-content:not(.special-column-cell-content):not(.group-row-content),:root[dir=rtl] table th .cell-content:not(.special-column-cell-content):not(.group-row-content){margin-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) table td .cell-content:not(.special-column-cell-content):not(.group-row-content),:host(:not([dir=rtl])) table th .cell-content:not(.special-column-cell-content):not(.group-row-content),:root:not([dir=rtl]) table td .cell-content:not(.special-column-cell-content):not(.group-row-content),:root:not([dir=rtl]) table th .cell-content:not(.special-column-cell-content):not(.group-row-content){margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}:host([dir=rtl]) table td .cell-content:not(.special-column-cell-content):not(.group-row-content),:host([dir=rtl]) table th .cell-content:not(.special-column-cell-content):not(.group-row-content),:root[dir=rtl] table td .cell-content:not(.special-column-cell-content):not(.group-row-content),:root[dir=rtl] table th .cell-content:not(.special-column-cell-content):not(.group-row-content){margin-left:calc(var(--now-scale-space--xs, 1)*.25rem)}table td .cell-content:not(.special-column-cell-content):not(.group-row-content):not(.group-row-content):not(.custom-row-content),table th .cell-content:not(.special-column-cell-content):not(.group-row-content):not(.group-row-content):not(.custom-row-content){overflow:hidden}table td.special-column-cell,table th.special-column-cell{width:1.25rem}table td.special-column-cell .live-list-eyelash,table th.special-column-cell .live-list-eyelash{inset-block-start:.25rem;inset-inline-start:2rem;position:absolute}table td.special-column-cell .header-cell-content,table td.special-column-cell .row-cell-content,table th.special-column-cell .header-cell-content,table th.special-column-cell .row-cell-content{max-width:-webkit-max-content;max-width:-moz-max-content;max-width:max-content;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content}table td .special-column-cell-content,table th .special-column-cell-content{align-items:center;display:flex;justify-content:center;overflow:visible;padding:0 .25rem;white-space:nowrap}table td .special-column-cell-content .row-cell-actions-button,table th .special-column-cell-content .row-cell-actions-button{-webkit-margin-end:unset;margin-inline-end:unset}table td .row-drag,table th .row-drag{opacity:0}table td .row-drag .always-show,table th .row-drag .always-show{opacity:1}table th.column-active:not(.column-source-placeholder){box-shadow:inset 0 0 0 1px RGBA(var(--now-color--primary-1,30,133,109))}table tr.row-drag-clone td,table tr.row-drag-clone td:focus,table tr.row-drag-clone td:hover{background-color:RGB(var(--now-color--primary-0,221,237,233))!important;border-color:RGB(var(--now-color--primary-1,30,133,109));border-style:solid;border-width:1px 0;height:calc(1.25rem + var(--now-grid-cell--scale-size-block, 1)*2.5rem/2);opacity:1;text-align:center;vertical-align:middle}table tr.row-drag-clone td:first-child{border-inline-start-width:1px}table tr.row-drag-clone td:last-child{border-inline-end-width:1px}table td,table.truncate tr{line-height:1.25}@media(forced-colors:active){table{border-collapse:separate;border-spacing:0}}thead{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));inset-block-start:0;position:-webkit-sticky;position:sticky;z-index:1}thead tr{box-sizing:border-box;display:table-row;line-height:20px}th,thead tr{white-space:nowrap}th button{display:inline-flex}th:focus .column-drag-drop-handle-wrapper,th:focus-within .column-drag-drop-handle-wrapper,th:hover .column-drag-drop-handle-wrapper{opacity:1}th .header-cell-content{display:flex;height:100%;text-overflow:ellipsis}th .header-cell-content .special-column-cell-content{align-items:center;display:flex}th .column-drag-drop-handle-wrapper{margin:0 .125rem;min-width:1rem;opacity:0}th .header-cell-content-child{align-items:center;display:flex;height:calc(1.25rem + var(--now-grid-cell--scale-size-block, 1)*2.5rem/2);width:100%}th .header-cell-aligned-items{align-items:center;display:flex;gap:.25rem;overflow:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:100%}th .header-cell-aligned-items .header-cell-icon{display:inline-block}th .header-cell-text{background:inherit;border:inherit;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)),var(--now-color--neutral-18,22,27,28),22,27,28);font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap;word-spacing:inherit}th .header-cell-text.header-cell-text-button:focus,th .header-cell-text.header-cell-text-button:hover{cursor:pointer;text-decoration:underline}th .header-cell-button-label{display:inline-block;max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content;overflow:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap}th .column-header-actions-button{align-items:center;block-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2);border-radius:var(--now-button-iconic--bare_tertiary--border-radius,var(--now-button-iconic--bare--border-radius,var(--now-button--bare--border-radius,var(--now-button--border-radius,var(--now-actionable--border-radius,0)))));border-width:var(--now-button-iconic--bare_tertiary--border-width,var(--now-button-iconic--bare--border-width,var(--now-button--bare--border-width,0)));color:RGB(var(--now-button-iconic--bare_tertiary--color,var(--now-button--bare_tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));cursor:pointer;inline-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2);justify-content:center;margin:0;opacity:0;padding:0;vertical-align:middle}th .column-header-actions-button,th .column-header-actions-button:active,th .column-header-actions-button:hover{background-color:transparent;border-color:transparent;border-width:0}th .column-header-actions-button:not(.is-disabled):hover{background-color:RGB(var(--now-button-iconic--bare_tertiary--background-color--hover,var(--now-button--bare_tertiary--background-color--hover,var(--now-color--neutral-12,66,80,81))),var(--now-button-iconic--bare_tertiary--background-color-alpha--hover,var(--now-button--bare_tertiary--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-iconic--bare_tertiary--border-color--hover,var(--now-button--bare_tertiary--border-color--hover,var(--now-color--neutral-12,66,80,81))),var(--now-button-iconic--bare_tertiary--border-color-alpha--hover,var(--now-button--bare_tertiary--border-color-alpha--hover,0)));color:RGB(var(--now-button-iconic--bare_tertiary--color--hover,var(--now-button--bare_tertiary--color--hover,var(--now-color--neutral-12,66,80,81))))}th .column-header-actions-button:not(.is-disabled):active{background-color:RGB(var(--now-button-iconic--bare_tertiary--background-color--active,var(--now-button--bare_tertiary--background-color--active,var(--now-color--neutral-12,66,80,81))),var(--now-button-iconic--bare_tertiary--background-color-alpha--active,var(--now-button--bare_tertiary--background-color-alpha--active,var(--now-opacity--less,.25))));border-color:RGB(var(--now-button-iconic--bare_tertiary--border-color--active,var(--now-button--bare_tertiary--border-color--active,var(--now-color--neutral-12,66,80,81))),var(--now-button-iconic--bare_tertiary--border-color-alpha--active,var(--now-button--bare_tertiary--border-color-alpha--active,0)));color:RGB(var(--now-button-iconic--bare_tertiary--color--active,var(--now-button--bare_tertiary--color--active,var(--now-color--secondary-3,1,60,71))))}th .column-header-actions-button.is-disabled{opacity:var(--now-button-iconic--bare_tertiary--opacity--disabled,var(--now-button-iconic--bare--opacity--disabled,var(--now-button-iconic--opacity--disabled,var(--now-button--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))))}th .column-header-actions-button.high-contrast{color:RGB(var(--now-button-iconic--bare_tertiary_high-contrast--color,var(--now-button--bare_tertiary_high-contrast--color,var(--now-button--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}th .column-header-actions-button.high-contrast:not(.is-disabled):hover{color:RGB(var(--now-button-iconic--bare_tertiary_high-contrast--color--hover,var(--now-button--bare_tertiary_high-contrast--color--hover,var(--now-color--secondary-3,1,60,71))),var(--now-button-iconic--bare_tertiary_high-contrast--color-alpha--hover,var(--now-button--bare_tertiary_high-contrast--color-alpha--hover,var(--now-button--bare_tertiary_high-contrast--color-alpha,1))))}th .column-header-actions-button.high-contrast:not(.is-disabled):active{color:RGB(var(--now-button-iconic--bare_tertiary_high-contrast--color--active,var(--now-button--bare_tertiary_high-contrast--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-iconic--bare_tertiary_high-contrast--color-alpha--active,var(--now-button--bare_tertiary_high-contrast--color-alpha--active,var(--now-button--bare_tertiary_high-contrast--color-alpha,1))))}th .column-header-actions-button:not(.drag-handle){min-inline-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2)}th .column-header-actions-button:focus,th .column-header-actions-button:hover{opacity:1}th .column-header-actions-button:hover{border-color:RGB(var(--now-button--secondary--border-color--hover));border-style:solid;border-width:var(--now-button--secondary--border-width,var(--now-button--border-width,var(--now-actionable--border-width,1px)))}th .column-header-actions-button.active-popover-trigger{background-color:RGBA(var(--now-button--bare_tertiary--background-color--active,var(--now-color--neutral-12,66,80,81)),var(--now-button--bare_tertiary--background-color-alpha--active,var(--now-opacity--less,.25)));color:RGB(var(--now-button--bare_tertiary--color--active,var(--now-color--secondary-3,1,60,71)));opacity:1}th:focus-within:not(.special-column-cell){background:RGBA(var(--now-color--primary-1,30,133,109),var(--now-opacity--least,.1))}th.text-align-default .header-cell-aligned-items{justify-content:start}th.text-align-center .header-cell-aligned-items{justify-content:center}th.text-align-inverse .header-cell-aligned-items{justify-content:end}th .resize-slider-container{align-items:stretch;box-shadow:inset -1px 0 RGB(var(--now-color_chrome--divider-2,118,132,133));display:flex;justify-content:flex-end;opacity:0;width:.375rem;z-index:1}th .resize-slider-container .resize-slider{align-self:stretch;background:RGB(var(--now-color_chrome--divider-2,118,132,133));cursor:col-resize;display:flex;justify-content:center;opacity:inherit;outline:none;width:.375rem}th .resize-slider-container .resize-slider.active{background:RGB(var(--now-color_chrome--divider-2,118,132,133));opacity:1}th .resize-slider-container .resize-slider-guide{background:RGB(var(--now-color_chrome--divider-2,118,132,133));height:100%;inset-block-start:0;position:absolute;width:1px;z-index:-1}th .resize-slider-container:active,th .resize-slider-container:focus,th .resize-slider-container:hover{opacity:1}.parent-col-cell-content{inset-inline-start:0;position:-webkit-sticky;position:sticky}.column-drop-area-divider{background-color:RGB(var(--now-color--primary-1,30,133,109));inset-block-start:0;position:absolute;width:.125rem}.always-show .column-drag-drop-handle-wrapper .column-drag-handle now-button-iconic,.always-show .column-header-actions-button,.always-show .resize-slider-container{opacity:1}@media(forced-colors:active){.header-cell:focus,.header-cell:hover{border:1px solid Highlight;outline:none}.header-cell:focus .header-cell-text,.header-cell:hover .header-cell-text{border:1px solid buttonborder}.header-cell .header-cell-text:focus,.header-cell .header-cell-text:hover{border:1px solid Highlight;color:Highlight}.column-drop-area-divider{background-color:Highlight}}.column-filtering-row{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;text-overflow:ellipsis;vertical-align:bottom}.column-filtering-row .column-filtering-label-cell .column-filtering-label-cell-content{align-items:center;display:flex;flex-flow:row wrap;float:inline-end;gap:.125rem;justify-content:flex-end;padding:0 .5rem .5rem 0}.column-filtering-row .column-filtering-cell{min-width:144px}.column-filtering-row .column-filtering-cell .column-filtering-cell-content.cell-content{-webkit-margin-after:.375rem;-webkit-margin-before:.125rem;align-items:flex-start;display:flex;flex-direction:column;gap:.125rem;justify-content:center;margin-block-end:.375rem;margin-block-start:.125rem}.column-filtering-row .column-filtering-cell .column-filtering-cell-content.cell-content .column-filtering-operator-dropdown{margin:0}.column-filtering-row .column-filtering-cell .column-filtering-cell-content.cell-content .choice-filter-text,.column-filtering-row .column-filtering-cell .column-filtering-cell-content.cell-content .custom-top-text{height:24px;overflow:hidden;padding:.25rem 0;text-overflow:ellipsis;white-space:nowrap;width:-webkit-fill-available;width:-moz-available;width:stretch}.column-filtering-row .column-filtering-cell .column-filtering-cell-content.cell-content .column-filtering-bottom-container{display:flex;flex-direction:row;gap:.125rem;width:100%}.column-filtering-row .column-filtering-cell .column-filtering-cell-content.cell-content .column-filtering-value-input{flex:1;margin:0}.column-filtering-row .column-filtering-cell .column-filtering-cell-content.cell-content now-button{width:100%}tbody .row-drag-dest-placeholder{border:2px solid RGB(var(--now-color--primary-1,30,133,109));height:1px}tr{outline:none;position:relative;transition:display .2s ease}tr::-moz-focus-inner{border-style:none}tr:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){tr:focus{outline:1px solid highlight}}tr.is-hidden{display:none}tr.virtualized-list{height:64px}tr:not(.is-shade-alternate-rows-off):not(.is-checked):not(.is-highlighted).is-odd{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))}tr:not(.is-shade-alternate-rows-off):not(.is-checked):not(.is-highlighted).is-even{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))}tr.is-shade-alternate-rows-off{-webkit-border-before:1px solid RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)));border-block-start:1px solid RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))}tr.is-checked,tr.is-highlighted{background:RGB(var(--now-color--primary-1,30,133,109),var(--now-opacity--less,.25))}tr.is-checked.is-highlighted{background:RGB(var(--now-color--primary-1,30,133,109),calc(var(--now-opacity--least, .1) + var(--now-opacity--less, .25)))}tr.is-active:not(.is-checked){background:RGB(var(--now-color--primary-1,30,133,109),var(--now-opacity--least,.1))}tr.is-active.is-highlighted{background:RGB(var(--now-color--primary-1,30,133,109),calc(var(--now-opacity--least, .1) + var(--now-opacity--less, .25)))}tr.grouped-row{background:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))}tr.row-drag-src-placeholder{background:RGBA(var(--now-color--primary-1,30,133,109),var(--now-opacity--least,.1))}tr.loader-row .loader-cell{overflow:unset}tr.loader-row .loader-cell .custom-cell-loader{-webkit-padding-start:calc(var(--now-scale-space--lg, 1)*1rem);inset-inline-start:0;justify-content:start;padding-inline-start:calc(var(--now-scale-space--lg, 1)*1rem);position:-webkit-sticky;position:sticky;width:-webkit-max-content;width:-moz-max-content;width:max-content}td.cell-selected{background:RGBA(var(--now-color--primary-1,30,133,109),var(--now-opacity--least,.1))}td.top-side-border{box-shadow:inset 0 1px 0 0 RGB(var(--now-color--primary-1,30,133,109)),inset 1px 0 0 0 RGB(var(--now-color--primary-1,30,133,109)),inset -1px 0 0 0 RGB(var(--now-color--primary-1,30,133,109))}td.bottom-side-border{box-shadow:inset 0 -1px 0 0 RGB(var(--now-color--primary-1,30,133,109)),inset 1px 0 0 0 RGB(var(--now-color--primary-1,30,133,109)),inset -1px 0 0 0 RGB(var(--now-color--primary-1,30,133,109))}td.side-border{box-shadow:inset 1px 0 0 0 RGB(var(--now-color--primary-1,30,133,109)),inset -1px 0 0 0 RGB(var(--now-color--primary-1,30,133,109))}td.top-bottom-side-border{box-shadow:inset 0 1px 0 0 RGB(var(--now-color--primary-1,30,133,109)),inset 0 -1px 0 0 RGB(var(--now-color--primary-1,30,133,109)),inset 1px 0 0 0 RGB(var(--now-color--primary-1,30,133,109)),inset -1px 0 0 0 RGB(var(--now-color--primary-1,30,133,109))}td{position:relative}td:not(.group-row-container):not(.custom-row-content){overflow:hidden}td:focus .row-cell-actions-button:not(:disabled),td:hover .row-cell-actions-button:not(:disabled){opacity:1}td:first-child.is-group-opened:before{border-start-start-radius:.25rem;content:\\\"\\\";height:100%;inset-block-start:0;position:absolute}:host(:not([dir=rtl])) td:first-child.is-group-opened:before,:root:not([dir=rtl]) td:first-child.is-group-opened:before{border-left:4px solid RGB(var(--now-color_alert--info-3,11,96,157))}:host([dir=rtl]) td:first-child.is-group-opened:before,:root[dir=rtl] td:first-child.is-group-opened:before{border-right:4px solid RGB(var(--now-color_alert--info-3,11,96,157))}:host(:not([dir=rtl])) td:first-child.is-group-opened:before,:root:not([dir=rtl]) td:first-child.is-group-opened:before{left:0}:host([dir=rtl]) td:first-child.is-group-opened:before,:root[dir=rtl] td:first-child.is-group-opened:before{right:0}td:first-child.is-group-closed:before{border-end-end-radius:0;border-end-start-radius:.25rem;border-start-end-radius:0;border-start-start-radius:.25rem;content:\\\"\\\";height:100%;inset-block-start:0;position:absolute}:host(:not([dir=rtl])) td:first-child.is-group-closed:before,:root:not([dir=rtl]) td:first-child.is-group-closed:before{border-left:4px solid RGB(var(--now-color_alert--info-3,11,96,157))}:host([dir=rtl]) td:first-child.is-group-closed:before,:root[dir=rtl] td:first-child.is-group-closed:before{border-right:4px solid RGB(var(--now-color_alert--info-3,11,96,157))}:host(:not([dir=rtl])) td:first-child.is-group-closed:before,:root:not([dir=rtl]) td:first-child.is-group-closed:before{left:0}:host([dir=rtl]) td:first-child.is-group-closed:before,:root[dir=rtl] td:first-child.is-group-closed:before{right:0}td:first-child.is-child-row:before{content:\\\"\\\";height:100%;inset-block-start:0;position:absolute}:host(:not([dir=rtl])) td:first-child.is-child-row:before,:root:not([dir=rtl]) td:first-child.is-child-row:before{border-left:4px solid RGB(var(--now-color_alert--info-3,11,96,157))}:host([dir=rtl]) td:first-child.is-child-row:before,:root[dir=rtl] td:first-child.is-child-row:before{border-right:4px solid RGB(var(--now-color_alert--info-3,11,96,157))}:host(:not([dir=rtl])) td:first-child.is-child-row:before,:root:not([dir=rtl]) td:first-child.is-child-row:before{left:0}:host([dir=rtl]) td:first-child.is-child-row:before,:root[dir=rtl] td:first-child.is-child-row:before{right:0}td:first-child.is-last-child-row:before{border-end-start-radius:.25rem;content:\\\"\\\";height:100%;inset-block-start:0;position:absolute}:host(:not([dir=rtl])) td:first-child.is-last-child-row:before,:root:not([dir=rtl]) td:first-child.is-last-child-row:before{border-left:4px solid RGB(var(--now-color_alert--info-3,11,96,157))}:host([dir=rtl]) td:first-child.is-last-child-row:before,:root[dir=rtl] td:first-child.is-last-child-row:before{border-right:4px solid RGB(var(--now-color_alert--info-3,11,96,157))}:host(:not([dir=rtl])) td:first-child.is-last-child-row:before,:root:not([dir=rtl]) td:first-child.is-last-child-row:before{left:0}:host([dir=rtl]) td:first-child.is-last-child-row:before,:root[dir=rtl] td:first-child.is-last-child-row:before{right:0}@media(forced-colors:active){td.data-column:focus,td.data-column:hover{border:1px solid Highlight;outline:none}td .link-cell-link,td .link-cell-link:focus,td .link-cell-link:hover{color:linktext}}table.wrap td:not(.special-column-cell):not(.group-row-container):not(.column-filtering-cell) .cell-content{-webkit-box-orient:vertical;word-wrap:break-word;-webkit-line-clamp:5;display:-webkit-box;white-space:normal}table.wrap td:not(.special-column-cell):not(.group-row-container):not(.column-filtering-cell) .cell-content.date-time-cell-content{width:-webkit-max-content;width:-moz-max-content;width:max-content}table.wrap td:not(.special-column-cell):not(.group-row-container):not(.column-filtering-cell) .preserve-whitespace{white-space:break-spaces!important}table.virtualized-list td:not(.special-column-cell):not(.group-row-container):not(.column-filtering-cell) .cell-content{-webkit-box-orient:vertical;word-wrap:break-word;-webkit-line-clamp:2;display:-webkit-box;white-space:normal}table.virtualized-list td:not(.special-column-cell):not(.group-row-container):not(.column-filtering-cell) .cell-content.date-time-cell-content{width:-webkit-max-content;width:-moz-max-content;width:max-content}table.truncate td .cell-content{white-space:nowrap}.row-cell-content{align-items:center;display:flex;justify-content:space-between}.row-cell-content .currency-cell-content-highlighted,.row-cell-content .number-cell-content-highlighted{display:contents}.row-cell-content.is-highlighted{color:RGB(var(--now-color--primary-2,23,100,82));font-weight:700}.row-cell-content.is-grayed-out{opacity:var(--now-opacity--less,.25)}.row-cell-actions-button{-webkit-margin-end:.5rem;block-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2);border-radius:var(--now-button-iconic--bare_tertiary--border-radius,var(--now-button-iconic--bare--border-radius,var(--now-button--bare--border-radius,var(--now-button--border-radius,var(--now-actionable--border-radius,0)))));border-width:var(--now-button-iconic--bare_tertiary--border-width,var(--now-button-iconic--bare--border-width,var(--now-button--bare--border-width,0)));color:RGB(var(--now-button-iconic--bare_tertiary--color,var(--now-button--bare_tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));cursor:pointer;inline-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2);margin-inline-end:.5rem;opacity:0}.row-cell-actions-button,.row-cell-actions-button:active,.row-cell-actions-button:hover{background-color:transparent;border-color:transparent;border-width:0}.row-cell-actions-button:not(.is-disabled):hover{background-color:RGB(var(--now-button-iconic--bare_tertiary--background-color--hover,var(--now-button--bare_tertiary--background-color--hover,var(--now-color--neutral-12,66,80,81))),var(--now-button-iconic--bare_tertiary--background-color-alpha--hover,var(--now-button--bare_tertiary--background-color-alpha--hover,var(--now-opacity--least,.1))));border-color:RGB(var(--now-button-iconic--bare_tertiary--border-color--hover,var(--now-button--bare_tertiary--border-color--hover,var(--now-color--neutral-12,66,80,81))),var(--now-button-iconic--bare_tertiary--border-color-alpha--hover,var(--now-button--bare_tertiary--border-color-alpha--hover,0)));color:RGB(var(--now-button-iconic--bare_tertiary--color--hover,var(--now-button--bare_tertiary--color--hover,var(--now-color--neutral-12,66,80,81))))}.row-cell-actions-button:not(.is-disabled):active{background-color:RGB(var(--now-button-iconic--bare_tertiary--background-color--active,var(--now-button--bare_tertiary--background-color--active,var(--now-color--neutral-12,66,80,81))),var(--now-button-iconic--bare_tertiary--background-color-alpha--active,var(--now-button--bare_tertiary--background-color-alpha--active,var(--now-opacity--less,.25))));border-color:RGB(var(--now-button-iconic--bare_tertiary--border-color--active,var(--now-button--bare_tertiary--border-color--active,var(--now-color--neutral-12,66,80,81))),var(--now-button-iconic--bare_tertiary--border-color-alpha--active,var(--now-button--bare_tertiary--border-color-alpha--active,0)));color:RGB(var(--now-button-iconic--bare_tertiary--color--active,var(--now-button--bare_tertiary--color--active,var(--now-color--secondary-3,1,60,71))))}.row-cell-actions-button.is-disabled{opacity:var(--now-button-iconic--bare_tertiary--opacity--disabled,var(--now-button-iconic--bare--opacity--disabled,var(--now-button-iconic--opacity--disabled,var(--now-button--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))))}.row-cell-actions-button.high-contrast{color:RGB(var(--now-button-iconic--bare_tertiary_high-contrast--color,var(--now-button--bare_tertiary_high-contrast--color,var(--now-button--tertiary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.row-cell-actions-button.high-contrast:not(.is-disabled):hover{color:RGB(var(--now-button-iconic--bare_tertiary_high-contrast--color--hover,var(--now-button--bare_tertiary_high-contrast--color--hover,var(--now-color--secondary-3,1,60,71))),var(--now-button-iconic--bare_tertiary_high-contrast--color-alpha--hover,var(--now-button--bare_tertiary_high-contrast--color-alpha--hover,var(--now-button--bare_tertiary_high-contrast--color-alpha,1))))}.row-cell-actions-button.high-contrast:not(.is-disabled):active{color:RGB(var(--now-button-iconic--bare_tertiary_high-contrast--color--active,var(--now-button--bare_tertiary_high-contrast--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),var(--now-button-iconic--bare_tertiary_high-contrast--color-alpha--active,var(--now-button--bare_tertiary_high-contrast--color-alpha--active,var(--now-button--bare_tertiary_high-contrast--color-alpha,1))))}.row-cell-actions-button.always-show:not(:disabled),.row-cell-actions-button:focus:not(:disabled),.row-cell-actions-button:hover:not(:disabled){opacity:1}.row-cell-actions-button.active-popover-trigger{background-color:RGBA(var(--now-button--bare_tertiary--background-color--active,var(--now-color--neutral-12,66,80,81)),var(--now-button--bare_tertiary--background-color-alpha--active,var(--now-opacity--less,.25)));color:RGB(var(--now-button--bare_tertiary--color--active,var(--now-color--secondary-3,1,60,71)));opacity:1}.row-cell-actions-button:disabled{cursor:not-allowed}.row-cell-actions-button-placeholder{-webkit-margin-end:.5rem;block-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2);inline-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2);margin-inline-end:.5rem}.row-drag:focus .row-cell-content,.row-drag:focus-within .row-cell-content,.row-drag:hover .row-cell-content{opacity:1}.row-drag .row-cell-content{align-items:center;justify-content:center;opacity:0}.group-badge-cell-content,.parent-badge-cell-content{align-items:center;display:flex}.custom-row-container-center,.custom-row-container-default,.custom-row-container-inverse{inset-inline-start:2.5rem;position:-webkit-sticky;position:sticky;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.custom-row-container-default{-webkit-margin-start:1.5rem;inset-inline-start:1.5rem;margin-inline-start:1.5rem}.custom-row-container-center{inset-inline-start:50%;transform:translateX(-50%)}.custom-row-container-inverse{inset-inline-start:85%}.link-cell-content .icon-link,.link-cell-content:not(.disabled),.link-cell-link,.person-cell-content:not(.disabled),.person-cell-link,.url-cell-link{color:RGB(var(--now-color--link-2));cursor:pointer;text-decoration:none}.cell-selected .link-cell-content .icon-link,.cell-selected .link-cell-content:not(.disabled),.cell-selected .link-cell-link,.cell-selected .person-cell-content:not(.disabled),.cell-selected .person-cell-link,.cell-selected .url-cell-link,.is-checked .link-cell-content .icon-link,.is-checked .link-cell-content:not(.disabled),.is-checked .link-cell-link,.is-checked .person-cell-content:not(.disabled),.is-checked .person-cell-link,.is-checked .url-cell-link,.is-highlighted .link-cell-content .icon-link,.is-highlighted .link-cell-content:not(.disabled),.is-highlighted .link-cell-link,.is-highlighted .person-cell-content:not(.disabled),.is-highlighted .person-cell-link,.is-highlighted .url-cell-link{color:RGB(var(--now-color--link-3,1,104,124))}.is-grayed-out .link-cell-content .icon-link,.is-grayed-out .link-cell-content:not(.disabled),.is-grayed-out .link-cell-link,.is-grayed-out .person-cell-content:not(.disabled),.is-grayed-out .person-cell-link,.is-grayed-out .url-cell-link{color:RGBA(var(--now-color--primary-2,23,100,82),var(--now-opacity--less,.25))}.link-cell-content .icon-link .live-list-eyelash,.link-cell-content:not(.disabled) .live-list-eyelash,.link-cell-link .live-list-eyelash,.person-cell-content:not(.disabled) .live-list-eyelash,.person-cell-link .live-list-eyelash,.url-cell-link .live-list-eyelash{inset-block-start:.75rem;inset-inline-start:.25rem;position:absolute}.link-cell-content .icon-link:focus,.link-cell-content .icon-link:hover,.link-cell-content:not(.disabled):focus,.link-cell-content:not(.disabled):hover,.link-cell-link:focus,.link-cell-link:hover,.person-cell-content:not(.disabled):focus,.person-cell-content:not(.disabled):hover,.person-cell-link:focus,.person-cell-link:hover,.url-cell-link:focus,.url-cell-link:hover{color:RGB(var(--now-color--link-3));text-decoration:underline}.is-grayed-out .link-cell-content .icon-link:focus,.is-grayed-out .link-cell-content .icon-link:hover,.is-grayed-out .link-cell-content:not(.disabled):focus,.is-grayed-out .link-cell-content:not(.disabled):hover,.is-grayed-out .link-cell-link:focus,.is-grayed-out .link-cell-link:hover,.is-grayed-out .person-cell-content:not(.disabled):focus,.is-grayed-out .person-cell-content:not(.disabled):hover,.is-grayed-out .person-cell-link:focus,.is-grayed-out .person-cell-link:hover,.is-grayed-out .url-cell-link:focus,.is-grayed-out .url-cell-link:hover{color:RGBA(var(--now-color--primary-2,23,100,82),var(--now-opacity--less,.25));text-decoration:none}.link-cell-content .icon-link:active,.link-cell-content:not(.disabled):active,.link-cell-link:active,.person-cell-content:not(.disabled):active,.person-cell-link:active,.url-cell-link:active{color:RGB(var(--now-color--link-4));text-decoration:underline}.is-grayed-out .link-cell-content .icon-link:active,.is-grayed-out .link-cell-content:not(.disabled):active,.is-grayed-out .link-cell-link:active,.is-grayed-out .person-cell-content:not(.disabled):active,.is-grayed-out .person-cell-link:active,.is-grayed-out .url-cell-link:active{color:RGBA(var(--now-color--primary-2,23,100,82),var(--now-opacity--less,.25));text-decoration:none}.link-cell-content .icon-link.inline,.link-cell-content:not(.disabled).inline,.link-cell-link.inline,.person-cell-content:not(.disabled).inline,.person-cell-link.inline,.url-cell-link.inline{display:inline}.boolean-cell-content,.url-cell-content{display:block;white-space:nowrap}.boolean-cell-content div.boolean-icon,.boolean-cell-content div.url-icon,.url-cell-content div.boolean-icon,.url-cell-content div.url-icon{display:inline-block}.boolean-cell-content div.boolean-icon,.url-cell-content div.boolean-icon{inset-block-start:.25rem;position:relative}.boolean-cell-content.highlighted-value .cell-content,.boolean-cell-content.highlighted-value .url-icon,.url-cell-content.highlighted-value .cell-content,.url-cell-content.highlighted-value .url-icon{display:inline-block}.text-align-default .currency-cell-content,.text-align-default .number-cell-content{text-align:right}.text-align-inverse .currency-cell-content,.text-align-inverse .number-cell-content{text-align:left}.boolean-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem) calc(var(--now-scale-space--xxs, 1)*.125rem) calc(var(--now-scale-space--xs, 1)*.25rem)}.url-icon{-webkit-margin-after:calc(var(--now-scale-space--xs, 1)*.25rem);-webkit-margin-before:0;-webkit-margin-end:0;-webkit-margin-start:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem);margin-block-start:0;margin-inline-end:0;margin-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem);vertical-align:middle}.pill-cell-pill{margin:calc(var(--now-scale-space--xs, 1)*.25rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0 0;max-width:100%}.hidden-pills-message{-webkit-margin-before:calc(var(--now-scale-space--xs, 1)*.25rem);color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));display:inline-block;font-size:.75rem;line-height:1rem;margin-block-start:calc(var(--now-scale-space--xs, 1)*.25rem);vertical-align:middle}.icon-cell-content{padding:.25rem 1rem .25rem 1rem}.image-cell-content img{height:32px;object-fit:cover;vertical-align:middle;width:32px}.person-cell-content{align-items:center;display:flex;white-space:nowrap}.person-cell-content .person-cell-avatar{-webkit-margin-end:calc(var(--now-scale-space--xs, 1)*.25rem);margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.person-cell-content .person-cell-link{overflow:hidden;text-overflow:ellipsis}.person-cell-content .highlighted-value .cell-content{-webkit-margin-start:.125rem!important;margin-inline-start:.125rem!important}.preserve-whitespace{white-space:pre!important}.custom-cell-error-content,.custom-cell-loader-content{align-items:center;justify-content:flex-start}.custom-cell-error-content now-icon{-webkit-margin-after:.25rem;-webkit-margin-end:.25rem;-webkit-margin-start:0;margin-block-end:.25rem;margin-inline-end:.25rem;margin-inline-start:0}.custom-cell-error{color:RGB(var(--now-color_alert--critical-2,200,60,54))}.custom-cell-loader{display:flex;justify-content:center}.group-row-content{align-items:center;display:flex;justify-content:space-between;padding:0 .5rem}.highlighted-content{background-color:RGB(var(--now-color--secondary-1,1,119,142));color:RGB(var(--now-color--neutral-0,255,255,255))}.group-row-actions{inset-inline-end:1.5rem;position:-webkit-sticky;position:sticky}.always-show .row-cell-actions-button,.always-show .row-cell-content,.always-show .row-drag-handle now-button-iconic{opacity:1}@media(forced-colors:active){.grouped-row .group-row-container:focus,.grouped-row .group-row-container:hover{border:1px solid Highlight;outline:none}}td.text-align-inverse .percent-complete-wrapper{justify-content:flex-end}td.text-align-center .percent-complete-wrapper{justify-content:center}.link-cell-content .icon-link{-webkit-border-after:.125rem solid transparent;border-block-end:.125rem solid transparent;transition:border-color .3s}.link-cell-content .icon-link:hover{border-block-end-color:RGB(var(--now-color--secondary-2,1,89,107))}td.html .row-cell-content{align-items:start!important;max-height:240px;overflow-y:auto!important}td.html .html-cell-content{-webkit-box-orient:unset!important}td.html .row-cell-actions-button{position:-webkit-sticky;position:sticky;top:50%;transform:translateY(-50%)}@keyframes custom-loader{0%{opacity:1}50%{opacity:.5}to{opacity:.3}}.percent-complete-wrapper{align-items:center;display:flex;gap:.25rem;height:100%;justify-content:flex-start}.percent-complete-wrapper .percent-complete-bar-container,.percent-complete-wrapper .percent-complete-text-container{display:flex;flex-direction:column;max-width:160px}.percent-complete-wrapper .percent-complete-bar-container{flex:1;max-width:160px;min-width:64px}.percent-complete-wrapper .percent-complete-text{-webkit-margin-end:.125rem;font-size:1rem;margin-inline-end:.125rem;max-width:160px}.percent-complete-wrapper .percent-complete-text-target{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.percent-complete-wrapper .percent-complete-bar{border:1px solid RGB(var(--now-color_chrome--brand-3,114,128,129));box-sizing:content-box;height:16px;overflow:hidden;position:relative}.percent-complete-wrapper .percent-complete-bar-target{background-color:RGB(var(--now-color_chrome--brand-1,187,194,194))}.percent-complete-wrapper .percent-complete-bar-actual{background-color:RGB(var(--now-color--primary-1,30,133,109))}.percent-complete-wrapper .percent-complete-bar-actual.percent-complete-negative-value,.percent-complete-wrapper .percent-complete-bar-target.percent-complete-negative-value{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))}tfoot{inset-block-end:0;position:-webkit-sticky;position:sticky;z-index:1}.overlay{background-color:RGBA(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)),1);display:flex;flex-direction:column;height:100%;justify-content:center}.body-only-overlay{padding-top:calc(1.25rem + var(--now-grid-cell--scale-size-block, 1)*2.5rem/2);position:absolute;top:0;width:100%}.overlay.type-message.body-only-overlay{padding-top:unset;position:relative}.overlay-content{overflow:hidden;padding:2rem}now-template-message-empty-state.overlay-content{height:70%}.skeleton-loader-gradient{background:linear-gradient(180deg,RGBA(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)),0) 0,RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))) 100%);height:50%;inset-block-end:0;overflow:auto;position:absolute;width:100%;z-index:1}.skeleton-table th .skeleton-cell-content{box-shadow:0 1px 1px 0 RGB(var(--now-color--neutral-7,135,147,148)) inset}.skeleton-table.full-table-overlay col:nth-child(2){width:20%}.skeleton-table.full-table-overlay col:nth-child(3){width:40%}.skeleton-cell-content{animation:skeleton-pulse 1.5s ease-in-out infinite;background:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)));border-radius:1.5rem;display:block;height:1rem;min-height:1rem}@media(forced-colors:active){.skeleton-cell-content{background:canvastext}}@keyframes skeleton-pulse{0%,to{opacity:.1}50%{opacity:.5}}.custom-overlay-error-content,.custom-overlay-loader-content{align-items:center;display:flex}.custom-overlay-error-content{flex-direction:unset}.custom-overlay-error-icon{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.custom-overlay-error{color:RGB(var(--now-color_alert--critical-2,200,60,54))}.floating-target{height:0;position:absolute;width:0}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;-webkit-clip-path:inset(50%);clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.actionable-message{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))!important;overflow:unset!important;padding:.25rem}.actionable-message .actionable-message-content{align-items:center;border-radius:.25rem;display:flex;font-size:1rem;justify-content:flex-start;min-height:40px;padding:.25rem 0 .25rem 1.5rem}.actionable-message .actionable-message-content.critical{background-color:RGB(var(--now-color_alert--critical-0,241,206,205))}.actionable-message .actionable-message-content.high{background-color:RGB(var(--now-color_alert--high-0,247,228,200))}.actionable-message .actionable-message-content.warning{background-color:RGB(var(--now-color_alert--warning-0,244,240,191))}.actionable-message .actionable-message-content.moderate{background-color:RGB(var(--now-color_alert--moderate-0,212,213,243))}.actionable-message .actionable-message-content.info{background-color:RGB(var(--now-color_alert--info-0,195,221,240))}.actionable-message .actionable-message-content.positive{background-color:RGB(var(--now-color_alert--positive-0,201,224,202))}.actionable-message .actionable-message-content.low{background-color:RGB(var(--now-color_alert--low-0,217,217,217))}.actionable-message .actionable-message-content now-icon{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.actionable-message .actionable-message-content .actionable-message-label-group{-webkit-margin-start:.5rem;display:flex;margin-inline-start:.5rem;max-width:100%;position:-webkit-sticky;position:sticky}.actionable-message .actionable-message-content .actionable-message-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actionable-message .actionable-message-content now-button-bare{-webkit-margin-start:.5rem;margin-inline-start:.5rem}now-list{min-height:12.5rem}.scroll-container{display:flex;flex-direction:column;height:100%;min-height:9.375rem;overflow:auto;position:relative;scroll-padding-top:100px;width:100%}.scroll-container.disable-scroll{overflow:hidden}.parent-container{height:100%;overflow:hidden;position:relative;width:100%}.scroll-to-top-button{border-radius:.125rem;inset-block-end:56px;inset-inline-start:calc(100% - 50px);position:-webkit-sticky;position:sticky}.now-a11y-label{-webkit-user-select:none;-moz-user-select:none;user-select:none}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".gallery-card-field .boolean-cell-content{align-items:center;display:flex;justify-content:flex-start}.gallery-card-field .percent-complete-wrapper{align-items:center;display:flex;gap:.25rem;height:100%;justify-content:space-between}.gallery-card-field .percent-complete-bar-container,.gallery-card-field .percent-complete-text-container{display:flex;flex-direction:column;max-width:160px}.gallery-card-field .percent-complete-bar-container{flex:1;max-width:160px;min-width:64px}.gallery-card-field .percent-complete-text{-webkit-margin-end:.125rem;font-size:.75rem;height:14px;margin-inline-end:.125rem;max-width:160px}.gallery-card-field .percent-complete-text-target{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));height:14px}.gallery-card-field .percent-complete-bar{border:1px solid RGB(var(--now-color_chrome--brand-3,114,128,129));box-sizing:content-box;height:8px;overflow:hidden;position:relative}.gallery-card-field .percent-complete-bar-target{background-color:RGB(var(--now-color_chrome--brand-1,187,194,194))}.gallery-card-field .percent-complete-bar-actual{background-color:RGB(var(--now-color--primary-1,30,133,109))}.gallery-card-field .percent-complete-bar-actual.percent-complete-negative-value,.gallery-card-field .percent-complete-bar-target.percent-complete-negative-value{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))}.gallery-card-field-value.field-pills{min-height:24px;width:100%}.gallery-card-field-value .pill-container{align-items:center;display:flex;gap:.25rem}.gallery-card-field-value .pills-cell-content{display:flex;gap:.25rem;max-width:100%}.gallery-card-field-value .pills-cell-content.is-hidden-count-shown{max-width:calc(100% - 3em)}.gallery-card-field .gallery-card-field-value:has(.percent-complete-cell-content){min-height:28px}.gallery-card-field .url-cell-content .url-cell-link{align-items:flex-end;display:flex;gap:.125rem;justify-content:flex-start}.gallery-card-field .url-cell-content .url-cell-link .url-cell-link-label{-webkit-box-orient:vertical;-webkit-line-clamp:1;line-clamp:1;display:-webkit-box;max-width:calc(100% - 1rem);overflow:hidden;word-break:break-word}.gallery-card-field .link-cell-content,.gallery-card-field .link-cell-content:not(.disabled),.gallery-card-field .link-cell-link,.gallery-card-field .person-cell-link,.gallery-card-field .person-field-content:not(.disabled),.gallery-card-field .url-cell-link{color:RGB(var(--now-color--secondary-1,1,119,142));cursor:pointer;text-decoration:none}.cell-selected .gallery-card-field .link-cell-content,.cell-selected .gallery-card-field .link-cell-content:not(.disabled),.cell-selected .gallery-card-field .link-cell-link,.cell-selected .gallery-card-field .person-cell-link,.cell-selected .gallery-card-field .person-field-content:not(.disabled),.cell-selected .gallery-card-field .url-cell-link,.is-checked .gallery-card-field .link-cell-content,.is-checked .gallery-card-field .link-cell-content:not(.disabled),.is-checked .gallery-card-field .link-cell-link,.is-checked .gallery-card-field .person-cell-link,.is-checked .gallery-card-field .person-field-content:not(.disabled),.is-checked .gallery-card-field .url-cell-link,.is-highlighted .gallery-card-field .link-cell-content,.is-highlighted .gallery-card-field .link-cell-content:not(.disabled),.is-highlighted .gallery-card-field .link-cell-link,.is-highlighted .gallery-card-field .person-cell-link,.is-highlighted .gallery-card-field .person-field-content:not(.disabled),.is-highlighted .gallery-card-field .url-cell-link{color:RGB(var(--now-color--link-3,1,104,124))}.is-grayed-out .gallery-card-field .link-cell-content,.is-grayed-out .gallery-card-field .link-cell-content:not(.disabled),.is-grayed-out .gallery-card-field .link-cell-link,.is-grayed-out .gallery-card-field .person-cell-link,.is-grayed-out .gallery-card-field .person-field-content:not(.disabled),.is-grayed-out .gallery-card-field .url-cell-link{color:RGBA(var(--now-color--primary-2,23,100,82),var(--now-opacity--less,.25))}.gallery-card-field .link-cell-content .live-list-eyelash,.gallery-card-field .link-cell-content:not(.disabled) .live-list-eyelash,.gallery-card-field .link-cell-link .live-list-eyelash,.gallery-card-field .person-cell-link .live-list-eyelash,.gallery-card-field .person-field-content:not(.disabled) .live-list-eyelash,.gallery-card-field .url-cell-link .live-list-eyelash{inset-block-start:.75rem;inset-inline-start:.25rem;position:absolute}.gallery-card-field .link-cell-content:focus,.gallery-card-field .link-cell-content:hover,.gallery-card-field .link-cell-content:not(.disabled):focus,.gallery-card-field .link-cell-content:not(.disabled):hover,.gallery-card-field .link-cell-link:focus,.gallery-card-field .link-cell-link:hover,.gallery-card-field .person-cell-link:focus,.gallery-card-field .person-cell-link:hover,.gallery-card-field .person-field-content:not(.disabled):focus,.gallery-card-field .person-field-content:not(.disabled):hover,.gallery-card-field .url-cell-link:focus,.gallery-card-field .url-cell-link:hover{color:RGB(var(--now-color--secondary-2,1,89,107));text-decoration:underline}.is-grayed-out .gallery-card-field .link-cell-content:focus,.is-grayed-out .gallery-card-field .link-cell-content:hover,.is-grayed-out .gallery-card-field .link-cell-content:not(.disabled):focus,.is-grayed-out .gallery-card-field .link-cell-content:not(.disabled):hover,.is-grayed-out .gallery-card-field .link-cell-link:focus,.is-grayed-out .gallery-card-field .link-cell-link:hover,.is-grayed-out .gallery-card-field .person-cell-link:focus,.is-grayed-out .gallery-card-field .person-cell-link:hover,.is-grayed-out .gallery-card-field .person-field-content:not(.disabled):focus,.is-grayed-out .gallery-card-field .person-field-content:not(.disabled):hover,.is-grayed-out .gallery-card-field .url-cell-link:focus,.is-grayed-out .gallery-card-field .url-cell-link:hover{color:RGBA(var(--now-color--primary-2,23,100,82),var(--now-opacity--less,.25));text-decoration:none}.gallery-card-field .link-cell-content:active,.gallery-card-field .link-cell-content:not(.disabled):active,.gallery-card-field .link-cell-link:active,.gallery-card-field .person-cell-link:active,.gallery-card-field .person-field-content:not(.disabled):active,.gallery-card-field .url-cell-link:active{color:RGB(var(--now-color--secondary-3,1,60,71));text-decoration:underline}.is-grayed-out .gallery-card-field .link-cell-content:active,.is-grayed-out .gallery-card-field .link-cell-content:not(.disabled):active,.is-grayed-out .gallery-card-field .link-cell-link:active,.is-grayed-out .gallery-card-field .person-cell-link:active,.is-grayed-out .gallery-card-field .person-field-content:not(.disabled):active,.is-grayed-out .gallery-card-field .url-cell-link:active{color:RGBA(var(--now-color--primary-2,23,100,82),var(--now-opacity--less,.25));text-decoration:none}.gallery-card-field .link-cell-content.inline,.gallery-card-field .link-cell-content:not(.disabled).inline,.gallery-card-field .link-cell-link.inline,.gallery-card-field .person-cell-link.inline,.gallery-card-field .person-field-content:not(.disabled).inline,.gallery-card-field .url-cell-link.inline{display:inline}@media(forced-colors:active){.gallery-card-field .link-cell-link,.gallery-card-field .link-cell-link:focus,.gallery-card-field .link-cell-link:hover{color:linktext}}.gallery-card-field .person-cell-content{align-items:center;display:flex;gap:.125rem;white-space:nowrap}.gallery-card-field .person-cell-content .person-cell-link,.gallery-card-field .person-cell-content .person-cell-text{overflow:hidden;text-overflow:ellipsis}.gallery-card-field .person-cell-content .highlighted-value .cell-content{-webkit-margin-start:.125rem!important;margin-inline-start:.125rem!important}.gallery-card-field .custom-cell-error-content,.gallery-card-field .custom-cell-loader-content{align-items:center;font-size:.75rem;justify-content:flex-start}.gallery-card-field .custom-cell-error-content now-icon{-webkit-margin-after:.25rem;-webkit-margin-end:.25rem;-webkit-margin-start:0;margin-block-end:.25rem;margin-inline-end:.25rem;margin-inline-start:0}.gallery-card-field .custom-cell-error{color:RGB(var(--now-color_alert--critical-2,200,60,54))}.gallery-card-field .custom-cell-loader{display:flex;justify-content:center}.gallery-card-field .custom-cell-content.cell-content{height:24px}.hidden-pills-message{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));display:inline-block;font-size:.75rem;line-height:1.125rem;vertical-align:middle;word-break:keep-all}.person-cell-content:not(.disabled),.person-cell-link{color:RGB(var(--now-color--secondary-1,1,119,142));cursor:pointer;text-decoration:none}.person-cell-content:not(.disabled).cell-selected,.person-cell-content:not(.disabled).is-highlighted,.person-cell-link.cell-selected,.person-cell-link.is-highlighted{color:RGB(var(--now-color--link-3,1,104,124));text-decoration:none}.person-cell-content:not(.disabled).is-grayed-out,.person-cell-link.is-grayed-out{color:RGBA(var(--now-color--primary-2,23,100,82),var(--now-opacity--less,.25))}.person-cell-content:not(.disabled):focus,.person-cell-content:not(.disabled):hover,.person-cell-link:focus,.person-cell-link:hover{color:RGB(var(--now-color--secondary-2,1,89,107));text-decoration:underline}.person-cell-content:not(.disabled):focus.is-grayed-out,.person-cell-content:not(.disabled):hover.is-grayed-out,.person-cell-link:focus.is-grayed-out,.person-cell-link:hover.is-grayed-out{color:RGBA(var(--now-color--primary-2,23,100,82),var(--now-opacity--less,.25));text-decoration:none}.person-cell-content:not(.disabled):active,.person-cell-link:active{color:RGB(var(--now-color--secondary-3,1,60,71));text-decoration:underline}.person-cell-content:not(.disabled):active.is-grayed-out,.person-cell-link:active.is-grayed-out{color:RGBA(var(--now-color--primary-2,23,100,82),var(--now-opacity--less,.25));text-decoration:none}.person-cell-content:not(.disabled).inline,.person-cell-link.inline{display:inline}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;-webkit-clip-path:inset(50%);clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.actionable-message{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))!important;overflow:unset!important;padding:.25rem}.actionable-message .actionable-message-content{align-items:center;display:flex;font-size:1rem;justify-content:flex-start;min-height:40px;padding:.25rem 0 .25rem 1.5rem}.actionable-message .actionable-message-content.critical{background-color:RGB(var(--now-color_alert--critical-0,241,206,205))}.actionable-message .actionable-message-content.high{background-color:RGB(var(--now-color_alert--high-0,247,228,200))}.actionable-message .actionable-message-content.warning{background-color:RGB(var(--now-color_alert--warning-0,244,240,191))}.actionable-message .actionable-message-content.moderate{background-color:RGB(var(--now-color_alert--moderate-0,212,213,243))}.actionable-message .actionable-message-content.info{background-color:RGB(var(--now-color_alert--info-0,195,221,240))}.actionable-message .actionable-message-content.positive{background-color:RGB(var(--now-color_alert--positive-0,201,224,202))}.actionable-message .actionable-message-content.low{background-color:RGB(var(--now-color_alert--low-0,217,217,217))}.actionable-message .actionable-message-content now-icon{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.actionable-message .actionable-message-content .actionable-message-label-group{-webkit-margin-start:.5rem;display:flex;margin-inline-start:.5rem;max-width:100%;position:-webkit-sticky;position:sticky}.actionable-message .actionable-message-content .actionable-message-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actionable-message .actionable-message-content now-button-bare{-webkit-margin-start:.5rem;margin-inline-start:.5rem}.actionable-message{padding:.25rem 0;position:-webkit-sticky;position:sticky;z-index:1}.actionable-message .actionable-message-content{border:1px solid;border-radius:.25rem;padding:.25rem 1rem}.actionable-message .actionable-message-content.critical{border-color:RGB(var(--now-color_alert--critical-1,221,133,129))}.actionable-message .actionable-message-content.high{border-color:RGB(var(--now-color_alert--high-1,234,186,117))}.actionable-message .actionable-message-content.warning{border-color:RGB(var(--now-color_alert--warning-1,227,218,96))}.actionable-message .actionable-message-content.moderate{border-color:RGB(var(--now-color_alert--moderate-1,148,149,225))}.actionable-message .actionable-message-content.info{border-color:RGB(var(--now-color_alert--info-1,104,171,218))}.actionable-message .actionable-message-content.positive{border-color:RGB(var(--now-color_alert--positive-1,119,178,123))}.actionable-message .actionable-message-content.low{border-color:RGB(var(--now-color_alert--low-1,159,159,159))}.actionable-message .actionable-message-content now-icon{align-self:flex-start;padding-top:.5rem}.actionable-message .actionable-message-content .actionable-message-label-group{flex-wrap:wrap;gap:.25rem .5rem;min-width:0}.actionable-message .actionable-message-content .actionable-message-text{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;white-space:normal}.actionable-message .actionable-message-content .actionable-message-action{display:flex;overflow:hidden}.actionable-message .actionable-message-content .actionable-message-button{-webkit-margin-start:0;margin-inline-start:0;width:100%}.actionable-message.actionable-message-top{inset-block-start:0}.actionable-message.actionable-message-bottom{inset-block-end:0}.gallery-card-header-label .boolean-cell-content{align-items:center;display:flex;justify-content:flex-start}.gallery{padding:0 .125rem .75rem 1.5rem}.gallery-card-field{align-items:flex-start;display:flex;flex-direction:column;gap:.125rem;min-width:128px}.gallery-card-field-label{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.gallery-card-field-label,.gallery-card-field-value{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box;font-size:.75rem;max-width:100%;overflow:hidden;word-break:break-word}.gallery-card-field-value{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));min-height:15px}.gallery-card-body-text .gallery-card-field{margin-top:.75rem;max-width:unset;width:100%}.gallery-card-body-text .gallery-card-field-value{-webkit-line-clamp:2;line-clamp:2;min-height:30px}.gallery-card-grouped-view{padding:0 1rem 0 0}.gallery-card-grouped-view .gallery-card-container{margin:unset;padding-bottom:.5rem;padding-left:unset}.gallery-card-body-fields{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));padding-top:.75rem}.gallery-card-metadata{align-items:center;display:flex;justify-content:space-between}.gallery-card-metadata-highlighted-value{max-width:128px}.gallery-card-default-actions{display:flex;justify-content:space-between;margin-left:.5rem}.gallery-card-default-actions>:not(:first-child){margin-left:.5rem}.gallery-card-container{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,max(360px,(100% - 2.25rem)/4)),1fr));padding-top:.5rem;width:100%}.gallery-card-container now-card{box-sizing:border-box}.gallery-card-container .gallery-card-grouped-view{grid-column:span 4/auto;padding:0 .75rem 0 0}.gallery-card-container.gallery-grouped{row-gap:.5rem}.gallery-virtualized-container{padding-top:.5rem}.gallery-virtualized-container .gallery-virtualized-page-container{display:flex;flex-direction:column;gap:.75rem}.gallery-virtualized-container .gallery-virtualized-page-container .gallery-card-container{padding-top:0}.gallery-virtualized-container .gallery-virtualized-status-row-content{height:56px;padding:.5rem 0}.gallery-virtualized-container .gallery-virtualized-status-row-content now-loader{padding:.5rem 0}.gallery-virtualized-container .gallery-virtualized-scroll-to-top-button{border-radius:.125rem;inset-block-end:56px;inset-inline-start:calc(100% - 2.5rem);position:-webkit-sticky;position:sticky}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.gallery-card-expand-all-button{padding-top:.5rem}.gallery-card-now-accordion{padding:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.gallery-card-field-body-text-container{align-items:flex-end;display:flex;flex-direction:row;gap:.125rem;justify-content:flex-start}.gallery-card-field-body-text{-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;align-self:flex-start;display:-webkit-box;font-size:.75rem;max-width:100%;max-width:unset;min-height:30px;overflow:hidden;width:100%;word-break:break-word}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}@keyframes custom-loader{0%{opacity:1}50%{opacity:.5}to{opacity:.3}}.popover-cell-editor-content-container{max-width:350px;min-width:150px;padding:1rem}.popover-cell-editor-content-container:has(now-list-html-cell-editor-content){max-width:600px!important;min-width:320px!important;padding:1rem}.popover-cell-editor-button-container{-webkit-margin-before:calc(var(--now-scale-space--lg, 1)*1rem);display:flex;flex-direction:row;justify-content:flex-end;margin-block-start:calc(var(--now-scale-space--lg, 1)*1rem)}.popover-cell-editor-button-container now-button+now-button{-webkit-margin-start:calc(var(--now-scale-space--sm, 1)*.5rem);margin-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.cell-editor-highlighted-message,.cell-editor-info-text,.choice-type-cell-editor-content,.input-type-cell-editor-content,.loader-cell-editor-content,.now-record-html-editor-content{width:100%}.icon-preview-label-cell-editor-content,.person-preview-label-cell-editor-content{-webkit-margin-end:.5rem;color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));font-size:12px;line-height:2.5;margin-inline-end:.5rem}.cell-editor-info-text{-webkit-margin-before:.5rem;margin-block-start:.5rem}.popover-cell-editor-content-loader{align-items:center;display:flex;height:87px;justify-content:center;width:100%}.popover-cell-editor-person-preview-name{-webkit-margin-start:calc(var(--now-scale-space--xs, 1)*.25rem);margin-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem);vertical-align:middle}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}@keyframes custom-loader{0%{opacity:1}50%{opacity:.5}to{opacity:.3}}.popover-choice-column-filter-content-container{font-size:.75rem;max-width:304px;min-width:128px;padding:.5rem}.popover-choice-column-filter-content-container .choice-filter-popover-header{-webkit-margin-after:.75rem;-webkit-margin-end:.75rem;align-items:center;display:flex;flex-wrap:wrap;margin-block-end:.75rem;margin-inline-end:.75rem}.popover-choice-column-filter-content-container .choice-filter-popover-header .choice-filter-popover-title{font-size:1.25rem}.popover-choice-column-filter-content-container .choice-filter-popover-header .choice-filter-popover-close{cursor:pointer}.popover-choice-column-filter-content-container .choice-filter-popover-header .choice-filter-popover-header-content,.popover-choice-column-filter-content-container .choice-filter-popover-header .choice-filter-popover-header-content now-input{width:100%}.popover-choice-column-filter-content-container .choice-filter-popover-header .choice-filter-popover-header-select-all-none{align-items:center;display:flex}.popover-choice-column-filter-content-container .choice-filter-popover-header .choice-filter-popover-header-select-all-none now-button-bare{margin:0 .25rem}.popover-choice-column-filter-content-container .choice-filter-popover-header .choice-filter-popover-header-select-all-none now-button-bare:first-of-type{-webkit-margin-start:.5rem;margin-inline-start:.5rem}.popover-choice-column-filter-content-container .choice-filter-popover-body{display:flex;flex-direction:column;max-height:244px;overflow-y:auto}.popover-choice-column-filter-content-container .choice-filter-popover-body now-checkbox{-webkit-margin-after:.5rem;margin-block-end:.5rem}.popover-choice-column-filter-content-container .choice-filter-popover-footer{-webkit-margin-before:.5rem;display:flex;justify-content:flex-end;margin-block-start:.5rem}.popover-choice-column-filter-content-container .choice-filter-popover-footer now-button{-webkit-margin-start:.5rem;margin-inline-start:.5rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}@keyframes custom-loader{0%{opacity:1}50%{opacity:.5}to{opacity:.3}}.popover-content{padding:.5rem}.custom-popover-error-icon{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.custom-popover-error{color:RGB(var(--now-color_alert--critical-2,200,60,54))}.custom-popover-error-content,.custom-popover-loader-content{align-items:center;display:flex;justify-content:flex-start}.custom-popover-loader{display:flex;justify-content:center}.custom-popover-loader>div{animation:custom-loader .8s infinite alternate;background:RGB(var(--now-color_divider--primary,var(--now-color--neutral-7,135,147,148)));border-radius:50%;height:8px;opacity:1;width:8px}.custom-popover-loader>div:nth-child(2){-webkit-margin-start:.75rem;animation-delay:.3s;margin-inline-start:.75rem}.custom-popover-loader>div:nth-child(3){-webkit-margin-start:.75rem;animation-delay:.5s;margin-inline-start:.75rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"now-dropdown-list{max-height:300px;width:200px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.popover-content-container{padding:.5rem}.popover-text-container{-webkit-margin-after:.5rem;margin-block-end:.5rem;max-height:200px;max-width:300px;overflow:scroll}.popover-button-container{-webkit-margin-end:calc(var(--now-scale-space--sm, 1)*.5rem);display:flex;flex-direction:row;justify-content:flex-end;margin-inline-end:calc(var(--now-scale-space--sm, 1)*.5rem)}.popover-button-container now-button+now-button{-webkit-margin-start:calc(var(--now-scale-space--sm, 1)*.5rem);margin-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}@keyframes custom-loader{0%{opacity:1}50%{opacity:.5}to{opacity:.3}}div.html-icon{--now-line-height:0;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;line-height:var(--now-line-height,1.25);vertical-align:middle}div.html-icon>svg.now-icon{fill:currentcolor;fill-rule:evenodd}div.html-icon>svg.now-icon.-sm{block-size:calc(.375rem + var(--now-icon--scale-size, 1)*.75rem/2);inline-size:calc(.375rem + var(--now-icon--scale-size, 1)*.75rem/2)}div.html-icon>svg.now-icon.-md{block-size:calc(.5rem + var(--now-icon--scale-size, 1)*1rem/2);inline-size:calc(.5rem + var(--now-icon--scale-size, 1)*1rem/2)}div.html-icon svg.now-icon{color:inherit}.column-active-dragging-item{-webkit-padding-start:0;align-items:center;background:RGB(var(--now-color--primary-0,221,237,233));border:1px solid RGB(var(--now-color--primary-1,30,133,109));color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));display:flex;font-weight:700;padding:.5rem;padding-inline-start:0}.column-active-dragging-item .column-drag-handle{margin:0 .125rem}.column-active-dragging-item .column-drag-handle .drag-handle{block-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2);block-size:auto;border-radius:var(--now-button-iconic--bare_primary--border-radius,var(--now-button-iconic--bare--border-radius,var(--now-button--bare--border-radius,var(--now-button--border-radius,var(--now-actionable--border-radius,0)))));border-width:var(--now-button-iconic--bare_primary--border-width,var(--now-button-iconic--bare--border-width,var(--now-button--bare--border-width,0)));color:RGB(var(--now-button-iconic--bare_primary--color,var(--now-button--bare_primary--color,var(--now-color--primary-1,30,133,109))));inline-size:calc(.75rem + var(--now-button--scale-size, 1)*1.5rem/2);inline-size:auto;padding:0;vertical-align:middle}.column-active-dragging-item .column-drag-handle .drag-handle,.column-active-dragging-item .column-drag-handle .drag-handle:active,.column-active-dragging-item .column-drag-handle .drag-handle:hover{background-color:transparent;border-color:transparent;border-width:0}.column-active-dragging-item .column-drag-handle .drag-handle:not(.is-disabled):hover{background-color:RGB(var(--now-button-iconic--bare_primary--background-color--hover,var(--now-button--bare_primary--background-color--hover,var(--now-color--primary-2,23,100,82))),var(--now-button-iconic--bare_primary--background-color-alpha--hover,var(--now-button--bare_primary--background-color-alpha--hover,var(--now-opacity--least,.1))));color:RGB(var(--now-button-iconic--bare_primary--color--hover,var(--now-button--bare_primary--color--hover,var(--now-color--primary-2,23,100,82))))}.column-active-dragging-item .column-drag-handle .drag-handle:not(.is-disabled):active{background-color:RGB(var(--now-button-iconic--bare_primary--background-color--active,var(--now-button--bare_primary--background-color--active,var(--now-color--primary-2,23,100,82))),var(--now-button-iconic--bare_primary--background-color-alpha--active,var(--now-button--bare_primary--background-color-alpha--active,var(--now-opacity--less,.25))));color:RGB(var(--now-button-iconic--bare_primary--color--active,var(--now-button--bare_primary--color--active,var(--now-color--primary-3,15,67,55))))}.column-active-dragging-item .column-drag-handle .drag-handle.is-disabled{opacity:var(--now-button-iconic--bare_primary--opacity--disabled,var(--now-button-iconic--bare--opacity--disabled,var(--now-button-iconic--opacity--disabled,var(--now-button--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))))}.column-active-dragging-item .column-drag-handle .drag-handle.high-contrast{color:RGB(var(--now-button-iconic--bare_primary_high-contrast--color,var(--now-color--primary-2,23,100,82)))}.column-active-dragging-item .column-drag-handle .drag-handle.high-contrast:not(.is-disabled):hover{color:RGB(var(--now-button-iconic--bare_primary_high-contrast--color--hover,var(--now-color--primary-3,15,67,55)))}.column-active-dragging-item .column-drag-handle .drag-handle.high-contrast:not(.is-disabled):active{color:RGB(var(--now-button-iconic--bare_primary_high-contrast--color--active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}@media(forced-colors:active){.column-active-dragging-item{border:1px solid Highlight}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.time-ago-display{-webkit-margin-before:.25rem;color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));display:block;margin-block-start:.25rem}.time-ago-display.main-value{font-size:.75rem}.time-ago-display .time-ago-display-placeholder{min-height:.75rem}:host(.render-as-link) .time-ago-display{color:RGB(var(--now-color--secondary-1,1,119,142))}:host(.render-as-link) .time-ago-display:focus,:host(.render-as-link) .time-ago-display:hover{color:RGB(var(--now-color--secondary-2,1,89,107));text-decoration:underline}:host(.render-as-link) .time-ago-display:active{color:RGB(var(--now-color--secondary-3,1,60,71));text-decoration:underline}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-m-block--xs{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-block-start:.25rem}.now-m-block-start--xs{-webkit-margin-before:.25rem;margin-block-start:.25rem}.now-m-block-end--xs{-webkit-margin-after:.25rem;margin-block-end:.25rem}.now-m-inline--xs{-webkit-margin-start:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem;margin-inline-start:.25rem}.now-m-inline-start--xs{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-m-inline-end--xs{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-m-block--sm{-webkit-margin-before:.5rem;-webkit-margin-after:.5rem;margin-block-end:.5rem;margin-block-start:.5rem}.now-m-block-start--sm{-webkit-margin-before:.5rem;margin-block-start:.5rem}.now-m-block-end--sm{-webkit-margin-after:.5rem;margin-block-end:.5rem}.now-m-inline--sm{-webkit-margin-start:.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem;margin-inline-start:.5rem}.now-m-inline-start--sm{-webkit-margin-start:.5rem;margin-inline-start:.5rem}.now-m-inline-end--sm{-webkit-margin-end:.5rem;margin-inline-end:.5rem}:host{display:block}.now-loader-custom{display:flex;justify-content:center}.now-loader-custom-animation{display:block}.now-loader-custom-label{-webkit-margin-after:0;display:none;font-family:var(--now-loader-custom--font-family,var(--now-loading_indicator--font-family,var(--now-loading_label--primary--font-family,var(--now-loading--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-style:var(--now-loader-custom--font-style,var(--now-loading_indicator--font-style,var(--now-loading_label--primary--font-style,var(--now-loading--font-style,normal))));font-variant:normal;font-weight:var(--now-loader-custom--font-weight,var(--now-loading_indicator--font-weight,var(--now-loading_label--primary--font-weight,var(--now-loading--font-weight,normal))));letter-spacing:inherit;margin-block-end:0;text-align:center;text-indent:0;text-shadow:none;text-transform:var(--now-loader-custom--text-transform,var(--now-loading_indicator--text-transform,var(--now-loading_label--primary--text-transform,var(--now-loading--text-transform,none))));white-space:normal;word-break:break-word;word-spacing:inherit}.-sm .now-loader-custom-label{-webkit-margin-before:.25rem;font-size:var(--now-loading_label--font-size--sm,var(--now-font-size--sm,.75rem));margin-block-start:.25rem}.-md .now-loader-custom-label{-webkit-margin-before:.5rem;font-size:var(--now-loading_label--font-size--sm,var(--now-font-size--sm,.75rem));margin-block-start:.5rem}.-lg .now-loader-custom-label{-webkit-margin-before:.5rem;font-size:var(--now-loading_label--font-size--md,var(--now-font-size--md1,1rem));margin-block-start:.5rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}@keyframes pulseAnimation{0%,to{opacity:1}50%{opacity:.1}}@keyframes pulseAnimationForcedColors{0%,to{background-color:canvastext}50%{background-color:canvas}}@keyframes transitionIntoFrame100{0%{inline-size:0}to{inline-size:100%}}@keyframes transitionIntoFrame75{0%{inline-size:0}to{inline-size:75%}}@keyframes transitionIntoFrame50{0%{inline-size:0}to{inline-size:50%}}@keyframes transitionIntoFrame25{0%{inline-size:0}to{inline-size:25%}}:host{display:block}.now-loader-skeleton{display:flex;flex-direction:column;gap:.75rem;inline-size:100%}.now-loader-skeleton-bone{background-color:RGB(var(--now-loader-skeleton--background-color,var(--now-loading_placeholder--background-color,var(--now-color_surface--neutral-4,221,225,225))));block-size:.75rem;border-radius:.375rem;display:flex;inline-size:0}.now-loader-skeleton-bone.has-width-100{animation:pulseAnimation 1.5s ease-in-out 1.225s infinite,transitionIntoFrame100 1s cubic-bezier(.4,0,.19,.99) 0s forwards;max-inline-size:100%}.now-loader-skeleton-bone.has-width-75{animation:pulseAnimation 1.5s ease-in-out 1.375s infinite,transitionIntoFrame75 1s cubic-bezier(.4,0,.19,.99) 75ms forwards;max-inline-size:75%}.now-loader-skeleton-bone.has-width-50{animation:pulseAnimation 1.5s ease-in-out 1.525s infinite,transitionIntoFrame50 1s cubic-bezier(.4,0,.19,.99) .15s forwards;max-inline-size:50%}.now-loader-skeleton-bone.has-width-25{animation:pulseAnimation 1.5s ease-in-out 1.675s infinite,transitionIntoFrame25 1s cubic-bezier(.4,0,.19,.99) 225ms forwards;max-inline-size:25%}@media(prefers-reduced-motion){.now-loader-skeleton-bone{inline-size:100%}.now-loader-skeleton-bone.has-width-100,.now-loader-skeleton-bone.has-width-25,.now-loader-skeleton-bone.has-width-50,.now-loader-skeleton-bone.has-width-75{animation:none!important}}@media(forced-colors:active){.now-loader-skeleton-bone{background-color:canvastext;border:.0625rem solid canvastext;forced-color-adjust:none}.now-loader-skeleton-bone.has-width-100{animation:pulseAnimationForcedColors 1.5s ease-in-out 1.225s infinite,transitionIntoFrame100 1s cubic-bezier(.4,0,.19,.99) 0s forwards;max-inline-size:100%}.now-loader-skeleton-bone.has-width-75{animation:pulseAnimationForcedColors 1.5s ease-in-out 1.375s infinite,transitionIntoFrame75 1s cubic-bezier(.4,0,.19,.99) 75ms forwards;max-inline-size:75%}.now-loader-skeleton-bone.has-width-50{animation:pulseAnimationForcedColors 1.5s ease-in-out 1.525s infinite,transitionIntoFrame50 1s cubic-bezier(.4,0,.19,.99) .15s forwards;max-inline-size:50%}.now-loader-skeleton-bone.has-width-25{animation:pulseAnimationForcedColors 1.5s ease-in-out 1.675s infinite,transitionIntoFrame25 1s cubic-bezier(.4,0,.19,.99) 225ms forwards;max-inline-size:25%}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-m-block--xl{-webkit-margin-before:1.5rem;-webkit-margin-after:1.5rem;margin-block-end:1.5rem;margin-block-start:1.5rem}.now-m-block-start--xl{-webkit-margin-before:1.5rem;margin-block-start:1.5rem}.now-m-block-end--xl{-webkit-margin-after:1.5rem;margin-block-end:1.5rem}.now-m-inline--xl{-webkit-margin-start:1.5rem;-webkit-margin-end:1.5rem;margin-inline-end:1.5rem;margin-inline-start:1.5rem}.now-m-inline-start--xl{-webkit-margin-start:1.5rem;margin-inline-start:1.5rem}.now-m-inline-end--xl{-webkit-margin-end:1.5rem;margin-inline-end:1.5rem}:host{display:block}.now-loader{align-items:center;display:flex;flex-direction:column;font-variant:normal;letter-spacing:inherit;text-indent:0;text-shadow:none;white-space:normal;word-spacing:inherit}.now-loader-icon{color:RGB(var(--now-loader_icon--color,var(--now-loading_indicator--primary--color,var(--now-color--primary-1,30,133,109))));-webkit-user-select:none;-moz-user-select:none;user-select:none}.now-loader-label{-webkit-margin-before:1rem;color:RGB(var(--now-loader_label--color,var(--now-loading_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));font-family:var(--now-loader--font-family,var(--now-loading_indicator--font-family,var(--now-loading_label--primary--font-family,var(--now-loading--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-loading_label--font-size--md,var(--now-font-size--md1,1rem));font-style:var(--now-loader--font-style,var(--now-loading_indicator--font-style,var(--now-loading_label--primary--font-style,var(--now-loading--font-style,normal))));font-weight:var(--now-loader--font-weight,var(--now-loading_indicator--font-weight,var(--now-loading_label--primary--font-weight,var(--now-loading--font-weight,normal))));line-height:1.25;margin-block-start:1rem;max-inline-size:18.75rem;padding-inline:1.5rem;text-align:center;text-transform:var(--now-loader--text-transform,var(--now-loading_indicator--text-transform,var(--now-loading_label--primary--text-transform,var(--now-loading--text-transform,none))))}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:block}.now-message{block-size:inherit;display:flex;inline-size:inherit}.now-message.-adaptive,.now-message.-horizontal{align-items:center;flex-wrap:wrap}.now-message.-adaptive .now-message-child,.now-message.-horizontal .now-message-child{flex-basis:12.5rem;flex-grow:1}.now-message.-horizontal .now-message-child{align-items:center;display:flex;flex-wrap:wrap}.now-message.-vertical{flex-direction:column}.now-message.-vertical slot[name=media]::slotted(*){align-self:flex-start}.now-message.-vertical.-centered{align-items:center;flex-direction:column}.now-message.-vertical.-centered .now-message-child{align-items:center;display:flex;flex-direction:column}.now-message.-vertical.-centered slot[name=media]::slotted(*){align-self:center}.now-message.-vertical.-centered slot[name=message]::slotted(*){text-align:center}.now-message.-vertical.-centered slot[name=actions]::slotted(*){display:flex;flex-wrap:wrap;justify-content:center}.now-message slot[name=media]::slotted(*){display:block;max-inline-size:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;-webkit-clip-path:inset(50%);clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}:host{--now-modal--width--custom:62.5rem;--now-modal--height--custom:46.875rem;display:block}.now-modal-overlay{background-color:RGB(var(--now-modal_overlay--background-color,var(--now-color--neutral-21,0,0,0)),var(--now-modal_overlay--background-color-alpha,var(--now-opacity--mid,.5)));inset:0;overflow-y:auto;position:fixed;z-index:4000}.now-modal[hidden]{display:block;visibility:hidden}.now-modal{block-size:100%;inline-size:100%;inset-block-start:0;inset-inline-start:0;position:absolute;visibility:visible;z-index:4000}@media(min-width:26.25rem){.now-modal.is-opened.-custom,.now-modal.is-opened.-sm{align-items:center;display:flex;justify-content:center}}@media(min-width:26.25rem)and (max-height:19.6875rem){.now-modal.is-opened.-custom,.now-modal.is-opened.-sm{block-size:auto;min-block-size:100%}}@media(min-width:37.5rem){.now-modal.is-opened.-md{align-items:center;display:flex;justify-content:center}}@media(min-width:37.5rem)and (max-height:28.125rem){.now-modal.is-opened.-md{block-size:auto;min-block-size:100%}}@media(min-width:50rem){.now-modal.is-opened.-lg{align-items:center;display:flex;justify-content:center}}@media(min-width:50rem)and (max-height:37.5rem){.now-modal.is-opened.-lg{block-size:auto;min-block-size:100%}}.now-modal.is-legacy-mode{block-size:auto;min-block-size:100%}@media(min-height:37.5rem)and (min-width:50rem){.now-modal.is-legacy-mode.is-opened.-lg .now-modal-dialog{max-block-size:none}}.now-modal.is-legacy-mode .now-modal-body{overflow:initial}.now-modal-dialog{background-color:RGB(var(--now-modal--background-color,var(--now-window--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));block-size:100%;display:flex;flex-direction:column;font-family:var(--now-modal--font-family,var(--now-window--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)));font-variant:normal;inline-size:100%;letter-spacing:inherit;padding:calc(1.5rem*var(--now-modal--scale-size, 1));position:relative;text-align:start;text-indent:0;text-shadow:none;white-space:normal;word-spacing:inherit;z-index:4001}.now-modal-dialog.hide-padding{padding:0}@media(max-width:26.25rem)and (max-height:19.6875rem){.is-opened.-sm .now-modal-dialog{block-size:auto;min-block-size:100%}}@media(min-width:26.25rem){.is-opened.-sm .now-modal-dialog{border-color:RGB(var(--now-modal--border-color,var(--now-window--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))));border-radius:var(--now-modal--border-radius,var(--now-window--border-radius,.25rem));border-style:solid;border-width:var(--now-modal--border-width,var(--now-window--border-width,1px));box-shadow:0 1rem 1.5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));max-inline-size:26.25rem}}@media(min-width:26.25rem)and (min-height:8.3125rem){.is-opened.-sm .now-modal-dialog{block-size:auto;max-block-size:19.6875rem;min-block-size:8.3125rem}}@media(max-width:37.5rem)and (max-height:28.125rem){.is-opened.-md .now-modal-dialog{block-size:auto;min-block-size:100%}}@media(min-width:37.5rem){.is-opened.-md .now-modal-dialog{border-color:RGB(var(--now-modal--border-color,var(--now-window--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))));border-radius:var(--now-modal--border-radius,var(--now-window--border-radius,.25rem));border-style:solid;border-width:var(--now-modal--border-width,var(--now-window--border-width,1px));box-shadow:0 1rem 1.5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));max-inline-size:37.5rem}}@media(min-width:37.5rem)and (min-height:11.875rem){.is-opened.-md .now-modal-dialog{block-size:auto;max-block-size:28.125rem;min-block-size:11.875rem}}@media(max-width:50rem)and (max-height:37.5rem){.is-opened.-lg .now-modal-dialog{block-size:auto;min-block-size:100%}}@media(min-width:50rem){.is-opened.-lg .now-modal-dialog{border-color:RGB(var(--now-modal--border-color,var(--now-window--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))));border-radius:var(--now-modal--border-radius,var(--now-window--border-radius,.25rem));border-style:solid;border-width:var(--now-modal--border-width,var(--now-window--border-width,1px));box-shadow:0 1rem 1.5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));max-inline-size:50rem}}@media(min-width:50rem)and (min-height:15.875rem){.is-opened.-lg .now-modal-dialog{block-size:auto;max-block-size:37.5rem;min-block-size:15.875rem}}@media(max-width:26.25rem)and (max-height:19.6875rem){.is-opened.-custom .now-modal-dialog,.is-opened.-fullscreen .now-modal-dialog{block-size:auto;min-block-size:100%}}@media(min-width:26.25rem){.is-opened.-custom .now-modal-dialog{border-color:RGB(var(--now-modal--border-color,var(--now-window--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))));border-radius:var(--now-modal--border-radius,var(--now-window--border-radius,.25rem));border-style:solid;border-width:var(--now-modal--border-width,var(--now-window--border-width,1px));box-shadow:0 1rem 1.5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));inline-size:var(--now-modal--width--custom);max-inline-size:100%;min-inline-size:26.25rem}}@media(min-width:26.25rem)and (min-height:8.3125rem){.is-opened.-custom .now-modal-dialog{block-size:var(--now-modal--height--custom);max-block-size:90%;min-block-size:8.3125rem}}@media(max-width:37.5rem)and (max-height:11.875rem){.is-opened.-formsonlydonotuse-md .now-modal-dialog{block-size:auto;min-block-size:100%}}@media(min-width:37.5rem){.is-opened.-formsonlydonotuse-md .now-modal-dialog{border-color:RGB(var(--now-modal--border-color,var(--now-window--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))));border-radius:var(--now-modal--border-radius,var(--now-window--border-radius,.25rem));border-style:solid;border-width:var(--now-modal--border-width,var(--now-window--border-width,1px));box-shadow:0 1rem 1.5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));max-inline-size:37.5rem}}@media(min-width:37.5rem)and (min-height:11.875rem){.is-opened.-formsonlydonotuse-md .now-modal-dialog{block-size:auto;max-block-size:34.125rem;min-block-size:11.875rem}}.now-modal-header{flex:none}.now-modal-button-iconic{-webkit-margin-start:calc(.5rem*var(--now-modal--scale-size-inline, 1));margin-inline-start:calc(.5rem*var(--now-modal--scale-size-inline, 1))}:host(:not([dir=rtl])) .now-modal-button-iconic,:root:not([dir=rtl]) .now-modal-button-iconic{float:right}:host([dir=rtl]) .now-modal-button-iconic,:root[dir=rtl] .now-modal-button-iconic{float:left}.now-modal-heading{-webkit-margin-before:0;-webkit-margin-after:calc(1.5rem*var(--now-modal--scale-size-block, 1));color:RGB(var(--now-modal_heading--color,var(--now-display-type--primary--color,var(--now-display-type--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))));font-family:var(--now-modal_heading--font-family,var(--now-display-type--primary--font-family,var(--now-display-type--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:1.25rem;font-style:var(--now-modal_heading--font-style,var(--now-display-type--primary--font-style,var(--now-display-type--font-style,normal)));font-weight:var(--now-modal_heading--font-weight,var(--now-display-type--primary--font-weight,600));line-height:1.25;margin-block-end:calc(1.5rem*var(--now-modal--scale-size-block, 1));margin-block-start:0;overflow:hidden;text-overflow:ellipsis;text-transform:var(--now-modal_heading--text-transform,var(--now-display-type--primary--text-transform,var(--now-display-type--text-transform,none)));white-space:nowrap}.now-modal-heading:after{content:\\\"\\\";display:block}.now-modal-body{flex:auto;overflow:auto}.now-modal-body:focus-visible{outline:.125rem solid RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)))}@media(forced-colors:active){.now-modal-body:focus-visible{outline:1px solid highlight}}.now-modal-body.is-full-width{-webkit-margin-start:calc(-1.5rem*var(--now-modal--scale-size, 1));-webkit-margin-end:calc(-1.5rem*var(--now-modal--scale-size, 1));inline-size:calc(100% + 1.5rem*var(--now-modal--scale-size, 1)*2);margin-inline-end:calc(-1.5rem*var(--now-modal--scale-size, 1));margin-inline-start:calc(-1.5rem*var(--now-modal--scale-size, 1))}.now-modal-p{-webkit-margin-before:0;-webkit-margin-after:0;font-size:1rem;font-style:var(--now-modal--font-style,var(--now-window--font-style,normal));font-weight:var(--now-modal--font-weight,var(--now-window--font-weight,normal));line-height:normal;margin-block-end:0;margin-block-start:0;text-transform:var(--now-modal--text-transform,var(--now-window--text-transform,none))}.now-modal-footer{-webkit-padding-before:calc(2.5rem*var(--now-modal--scale-size-block, 1));display:flex;flex:none;flex-direction:column;overflow-x:auto;overflow-y:hidden;padding-block-start:calc(2.5rem*var(--now-modal--scale-size-block, 1))}@media(min-width:26.25rem){.-custom .now-modal-footer,.-fullscreen .now-modal-footer,.-sm .now-modal-footer{flex-direction:row}.-custom .now-modal-footer .now-modal-footer-button,.-fullscreen .now-modal-footer .now-modal-footer-button,.-sm .now-modal-footer .now-modal-footer-button{inline-size:auto}.-custom .now-modal-footer .now-modal-footer-button:nth-last-child(2),.-custom .now-modal-footer .now-modal-footer-button:only-child,.-fullscreen .now-modal-footer .now-modal-footer-button:nth-last-child(2),.-fullscreen .now-modal-footer .now-modal-footer-button:only-child,.-sm .now-modal-footer .now-modal-footer-button:nth-last-child(2),.-sm .now-modal-footer .now-modal-footer-button:only-child{-webkit-margin-start:auto;margin-inline-start:auto}.-custom .now-modal-footer .now-modal-footer-button:not(:last-child),.-fullscreen .now-modal-footer .now-modal-footer-button:not(:last-child),.-sm .now-modal-footer .now-modal-footer-button:not(:last-child){-webkit-margin-after:0;-webkit-margin-end:calc(.5rem*var(--now-modal--scale-size-inline, 1));margin-block-end:0;margin-inline-end:calc(.5rem*var(--now-modal--scale-size-inline, 1))}}@media(min-width:37.5rem){.-md .now-modal-footer{flex-direction:row}.-md .now-modal-footer .now-modal-footer-button{inline-size:auto}.-md .now-modal-footer .now-modal-footer-button:nth-last-child(2),.-md .now-modal-footer .now-modal-footer-button:only-child{-webkit-margin-start:auto;margin-inline-start:auto}.-md .now-modal-footer .now-modal-footer-button:not(:last-child){-webkit-margin-after:0;-webkit-margin-end:calc(.5rem*var(--now-modal--scale-size-inline, 1));margin-block-end:0;margin-inline-end:calc(.5rem*var(--now-modal--scale-size-inline, 1))}}@media(min-width:50rem){.-lg .now-modal-footer{flex-direction:row}.-lg .now-modal-footer .now-modal-footer-button{inline-size:auto}.-lg .now-modal-footer .now-modal-footer-button:nth-last-child(2),.-lg .now-modal-footer .now-modal-footer-button:only-child{-webkit-margin-start:auto;margin-inline-start:auto}.-lg .now-modal-footer .now-modal-footer-button:not(:last-child){-webkit-margin-after:0;-webkit-margin-end:calc(.5rem*var(--now-modal--scale-size-inline, 1));margin-block-end:0;margin-inline-end:calc(.5rem*var(--now-modal--scale-size-inline, 1))}}.now-modal-footer-button{inline-size:100%}.now-modal-footer-button:not(:last-child){-webkit-margin-after:calc(.5rem*var(--now-modal--scale-size-block, 1));margin-block-end:calc(.5rem*var(--now-modal--scale-size-block, 1))}@media(forced-colors:active){.now-modal.is-opened.-custom .now-modal-dialog,.now-modal.is-opened.-lg .now-modal-dialog,.now-modal.is-opened.-md .now-modal-dialog,.now-modal.is-opened.-sm .now-modal-dialog{border-width:1px}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:block;pointer-events:none}.now-modeless-dialog{background-color:RGB(var(--now-modeless-dialog--background-color,var(--now-window--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));border-color:RGB(var(--now-modeless-dialog--border-color,var(--now-window--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))));border-radius:var(--now-modeless-dialog--border-radius,var(--now-window--border-radius,.25rem));border-style:solid;border-width:var(--now-modeless-dialog--border-width,var(--now-window--border-width,1px));box-shadow:0 1rem 1.5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));display:flex;flex-direction:column;overflow:hidden;pointer-events:none;position:relative;visibility:hidden;word-break:break-word}.now-modeless-dialog.is-open{max-block-size:calc(100vh - 1.0625rem);pointer-events:auto;visibility:visible}.now-modeless-dialog.is-fullscreen{block-size:100%!important;inline-size:100%!important;inset:0!important;max-block-size:100vh;overflow:auto!important;position:fixed!important}.now-modeless-dialog.is-fullscreen .now-modeless-dialog-content{flex-shrink:0!important}.now-modeless-dialog-content,.now-modeless-dialog-footer,.now-modeless-dialog-header{display:flex;flex-shrink:0}.now-modeless-dialog-footer,.now-modeless-dialog-header{align-items:center}.now-modeless-dialog-footer.can-drag,.now-modeless-dialog-header.can-drag{cursor:move}.now-modeless-dialog-header{justify-content:flex-end}.now-modeless-dialog-header ::slotted(*){-webkit-margin-before:0;-webkit-margin-after:0;align-items:center;align-self:stretch;display:flex;margin-block-end:0;margin-block-start:0}.now-modeless-dialog-header ::slotted([slot=heading]){flex-grow:1;pointer-events:none}.now-modeless-dialog-header ::slotted([slot=actions]){align-self:flex-start;pointer-events:inherit;z-index:2}.now-modeless-dialog-header.-primary{background-color:RGB(var(--now-modeless-dialog_header--primary--background-color,var(--now-color_chrome--brand-10,21,32,32)))}.now-modeless-dialog-header.-primary .now-modeless-dialog-heading,.now-modeless-dialog-header.-primary ::slotted([slot=heading]){color:RGB(var(--now-modeless-dialog_header--primary--color,var(--now-color--neutral-0,255,255,255)))}.now-modeless-dialog-header.-primary .now-modeless-dialog-action-button-iconic,.now-modeless-dialog-header.-primary .now-modeless-dialog-action-slot,.now-modeless-dialog-header.-primary .now-modeless-dialog-drag-icon{--now-button-iconic--bare_tertiary--color:var(--now-modeless-dialog_actions--primary--color,var(--now-modeless-dialog_header--primary--color,var(--now-color--neutral-0,255,255,255)))}.now-modeless-dialog-header.-primary .now-modeless-dialog-action-button-iconic:hover,.now-modeless-dialog-header.-primary .now-modeless-dialog-action-slot:hover,.now-modeless-dialog-header.-primary .now-modeless-dialog-drag-icon:hover{--now-button-iconic--bare_tertiary--color--hover:var(--now-modeless-dialog_actions--primary--color--hover,var(--now-modeless-dialog_actions--primary--color,var(--now-modeless-dialog_header--primary--color,var(--now-color--neutral-0,255,255,255))));--now-button-iconic--bare_tertiary--background-color--hover:var(--now-modeless-dialog_actions--primary--background-color--hover,var(--now-color_chrome--brand-4,77,96,97));--now-button-iconic--bare_tertiary--background-color-alpha--hover:var(--now-modeless-dialog_actions--primary--background-color-alpha--hover,0.8)}.now-modeless-dialog-header.-primary .now-modeless-dialog-action-button-iconic:active,.now-modeless-dialog-header.-primary .now-modeless-dialog-action-slot:active,.now-modeless-dialog-header.-primary .now-modeless-dialog-drag-icon:active{--now-button-iconic--bare_tertiary--color--active:var(--now-modeless-dialog_actions--primary--color--active,var(--now-modeless-dialog_actions--primary--color,var(--now-modeless-dialog_header--primary--color,var(--now-color--neutral-0,255,255,255))));--now-button-iconic--bare_tertiary--background-color--active:var(--now-modeless-dialog_actions--primary--background-color--active,var(--now-color_chrome--brand-4,77,96,97));--now-button-iconic--bare_tertiary--background-color-alpha--active:var(--now-modeless-dialog_actions--primary--background-color-alpha--active,0.8)}.now-modeless-dialog-header.-primary .now-modeless-dialog-action-button-iconic:focus,.now-modeless-dialog-header.-primary .now-modeless-dialog-action-slot:focus,.now-modeless-dialog-header.-primary .now-modeless-dialog-drag-icon:focus{--now-color_focus-ring:var(--now-modeless-dialog_actions_focus-ring--primary--color,var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)))}.now-modeless-dialog-header.-secondary{background-color:RGB(var(--now-modeless-dialog_header--secondary--background-color,var(--now-color_chrome--brand-5,41,63,64)))}.now-modeless-dialog-header.-secondary .now-modeless-dialog-heading,.now-modeless-dialog-header.-secondary ::slotted([slot=heading]){color:RGB(var(--now-modeless-dialog_header--secondary--color,var(--now-color--neutral-0,255,255,255)))}.now-modeless-dialog-header.-secondary .now-modeless-dialog-action-button-iconic,.now-modeless-dialog-header.-secondary .now-modeless-dialog-action-slot,.now-modeless-dialog-header.-secondary .now-modeless-dialog-drag-icon{--now-button-iconic--bare_tertiary--color:var(--now-modeless-dialog_actions--secondary--color,var(--now-modeless-dialog_header--secondary--color,var(--now-color--neutral-0,255,255,255)))}.now-modeless-dialog-header.-secondary .now-modeless-dialog-action-button-iconic:hover,.now-modeless-dialog-header.-secondary .now-modeless-dialog-action-slot:hover,.now-modeless-dialog-header.-secondary .now-modeless-dialog-drag-icon:hover{--now-button-iconic--bare_tertiary--color--hover:var(--now-modeless-dialog_actions--secondary--color--hover,var(--now-modeless-dialog_actions--secondary--color,var(--now-modeless-dialog_header--secondary--color,var(--now-color--neutral-0,255,255,255))));--now-button-iconic--bare_tertiary--background-color--hover:var(--now-modeless-dialog_actions--secondary--background-color--hover,var(--now-color_chrome--brand-4,77,96,97));--now-button-iconic--bare_tertiary--background-color-alpha--hover:var(--now-modeless-dialog_actions--secondary--background-color-alpha--hover,0.8)}.now-modeless-dialog-header.-secondary .now-modeless-dialog-action-button-iconic:active,.now-modeless-dialog-header.-secondary .now-modeless-dialog-action-slot:active,.now-modeless-dialog-header.-secondary .now-modeless-dialog-drag-icon:active{--now-button-iconic--bare_tertiary--color--active:var(--now-modeless-dialog_actions--secondary--color--active,var(--now-modeless-dialog_actions--secondary--color,var(--now-modeless-dialog_header--secondary--color,var(--now-color--neutral-0,255,255,255))));--now-button-iconic--bare_tertiary--background-color--active:var(--now-modeless-dialog_actions--secondary--background-color--active,var(--now-color_chrome--brand-4,77,96,97));--now-button-iconic--bare_tertiary--background-color-alpha--active:var(--now-modeless-dialog_actions--secondary--background-color-alpha--active,0.8)}.now-modeless-dialog-header.-secondary .now-modeless-dialog-action-button-iconic:focus,.now-modeless-dialog-header.-secondary .now-modeless-dialog-action-slot:focus,.now-modeless-dialog-header.-secondary .now-modeless-dialog-drag-icon:focus{--now-color_focus-ring:var(--now-modeless-dialog_actions_focus-ring--secondary--color,var(--now-color--focus-1,77,160,176))}.now-modeless-dialog-header.-border-block-end{border-block-end-color:RGB(var(--now-modeless-dialog--border-color,var(--now-window--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))));border-block-end-style:solid;border-block-end-width:var(--now-modeless-dialog--border-width,var(--now-window--border-width,1px))}.now-modeless-dialog-header-container{display:flex;flex-grow:1;gap:.5rem;justify-content:space-between}.now-modeless-dialog-header-container.-sm{padding:.75rem}.now-modeless-dialog-header-container.-md{padding:1rem}.-sm .now-modeless-dialog-heading-container.drag-button-has-focus,.-sm .now-modeless-dialog-heading.drag-button-has-focus{-webkit-margin-start:1.5rem;margin-inline-start:1.5rem}.-md .now-modeless-dialog-heading-container.drag-button-has-focus,.-md .now-modeless-dialog-heading.drag-button-has-focus{-webkit-margin-start:2rem;margin-inline-start:2rem}.now-modeless-dialog-heading-container{display:flex}.now-modeless-dialog-heading{-webkit-margin-before:0;-webkit-margin-after:0;align-self:center;font-family:var(--now-display-type--primary--font-family,var(--now-display-type--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)));font-style:var(--now-display-type--primary--font-style,var(--now-display-type--font-style,normal));margin-block-end:0;margin-block-start:0;pointer-events:none;text-align:start;text-transform:var(--now-display-type--primary--text-transform,var(--now-display-type--text-transform,none))}.-sm .now-modeless-dialog-heading{font-size:.75rem;font-weight:400;line-height:1.3333}.-md .now-modeless-dialog-heading{font-size:1rem;font-weight:600;line-height:1.25}.now-modeless-dialog-heading-icon{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.-primary .now-modeless-dialog-heading-icon{color:RGB(var(--now-modeless-dialog_header--primary--color,var(--now-color--neutral-0,255,255,255)))}.-secondary .now-modeless-dialog-heading-icon{color:RGB(var(--now-modeless-dialog_header--secondary--color,var(--now-color--neutral-0,255,255,255)))}.now-modeless-dialog-heading-icon.-primary{color:RGB(var(--now-modeless-dialog_header_icon--primary--color,var(--now-color--primary-1,30,133,109)))}.now-modeless-dialog-heading-icon.-secondary{color:RGB(var(--now-modeless-dialog_header_icon--secondary--color,var(--now-color--secondary-1,1,119,142)))}.now-modeless-dialog-drag-button{block-size:1px;inline-size:1px;overflow:hidden;position:absolute}.now-modeless-dialog-drag-button:focus{block-size:auto;inline-size:auto;overflow:initial}.now-modeless-dialog-drag-button.-sm:focus{inset-block-start:.75rem;inset-inline-start:.75rem}.now-modeless-dialog-drag-button.-md:focus{inset-block-start:1rem;inset-inline-start:1rem}.now-modeless-dialog-header-actions{display:flex;flex-grow:1;gap:.5rem;justify-content:flex-end}.now-modeless-dialog-footer{border-block-start-color:RGB(var(--now-modeless-dialog--border-color,var(--now-window--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))));border-block-start-style:solid;border-block-start-width:var(--now-modeless-dialog--border-width,var(--now-window--border-width,1px))}::slotted([slot=content]){inline-size:100%;min-block-size:0}.now-modeless-dialog-content{flex-grow:1;flex-shrink:1;min-block-size:0}@media(forced-colors:active){.now-modeless-dialog{border-width:1px}.now-modeless-dialog-header.-border-block-end{border-block-end-width:1px}.now-modeless-dialog-footer{border-block-start-width:1px}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-align{display:flex}.now-align.-row.-reverse{flex-direction:row-reverse}.now-align.-column{flex-direction:column}.now-align.-column.-reverse{flex-direction:column-reverse}.now-align.-wrap{flex-wrap:wrap}.now-align.-inline{justify-content:space-between}.now-align.-inline-center{justify-content:center}.now-align.-inline-end{justify-content:flex-end}.now-align.-block-start{align-items:flex-start}.now-align.-block-center{align-items:center}.now-align.-block-end{align-items:flex-end}.now-m-block--0{-webkit-margin-before:0;-webkit-margin-after:0;margin-block-end:0;margin-block-start:0}.now-m-block-start--0{-webkit-margin-before:0;margin-block-start:0}.now-m-block-end--0{-webkit-margin-after:0;margin-block-end:0}.now-m-inline--0{-webkit-margin-start:0;-webkit-margin-end:0;margin-inline-end:0;margin-inline-start:0}.now-m-inline-start--0{-webkit-margin-start:0;margin-inline-start:0}.now-m-inline-end--0{-webkit-margin-end:0;margin-inline-end:0}.now-m-block--sm{-webkit-margin-before:8px;-webkit-margin-after:8px;margin-block-end:8px;margin-block-start:8px}.now-m-block-start--sm{-webkit-margin-before:8px;margin-block-start:8px}.now-m-block-end--sm{-webkit-margin-after:8px;margin-block-end:8px}.now-m-inline--sm{-webkit-margin-start:8px;-webkit-margin-end:8px;margin-inline-end:8px;margin-inline-start:8px}.now-m-inline-start--sm{-webkit-margin-start:8px;margin-inline-start:8px}.now-m-inline-end--sm{-webkit-margin-end:8px;margin-inline-end:8px}:host{display:block}.now-pagination-control{-webkit-margin-start:24px;-webkit-margin-end:24px;align-items:center;color:RGB(var(--now-pagination-control--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));display:flex;flex-wrap:wrap;font-family:var(--now-pagination-control--font-family,var(--now-view-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)));font-size:16px;font-style:var(--now-pagination-control--font-style,var(--now-view-control--font-style,normal));font-variant:normal;font-weight:var(--now-pagination-control--font-weight,var(--now-view-control--font-weight,normal));justify-content:center;letter-spacing:inherit;margin-inline-end:24px;margin-inline-start:24px;text-indent:0;text-shadow:none;text-transform:var(--now-pagination-control--text-transform,var(--now-view-control--text-transform,none));white-space:normal;word-spacing:inherit}.now-pagination-control.only-two-children{justify-content:space-between}.now-pagination-control.only-prev-next{justify-content:flex-end}.now-pagination-control .now-line-height-crop{display:block}.now-pagination-control .now-line-height-crop:after,.now-pagination-control .now-line-height-crop:before{content:\\\"\\\";display:block;height:0}.now-pagination-control .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-pagination-control .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-pagination-control .now-line-height-crop+.now-pagination-control .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-pagination-control-pages{-webkit-margin-before:12px;-webkit-margin-after:12px;-webkit-margin-start:auto;-webkit-margin-end:auto;align-items:flex-start;display:flex;justify-content:center;margin-block-end:12px;margin-block-start:12px;margin-inline-end:auto;margin-inline-start:auto}.now-pagination-control-pages.has-one-sibling{-webkit-margin-start:0;-webkit-margin-end:0;margin-inline-end:0;margin-inline-start:0}.now-pagination-control-buttons{display:flex;flex-wrap:wrap}.now-pagination-control-button{-webkit-margin-before:0;-webkit-margin-after:2px;-webkit-margin-start:0;-webkit-margin-end:0;-webkit-padding-before:0;-webkit-padding-after:0;-webkit-padding-start:calc(8px*var(--now-button--scale-size-inline, 1));-webkit-padding-end:calc(8px*var(--now-button--scale-size-inline, 1));align-items:center;background-color:RGBA(var(--now-pagination-control--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-pagination-control--background-color-alpha,var(--now-button--tertiary--background-color-alpha,0)));border:none;border-radius:var(--now-pagination-control--border-radius,0);color:var(--now-pagination-control--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:pointer;display:flex;font-family:var(--now-pagination-control--font-family,var(--now-view-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)));font-size:16px;font-style:var(--now-pagination-control--font-style,var(--now-view-control--font-style,normal));font-weight:var(--now-pagination-control--font-weight,var(--now-view-control--font-weight,normal));height:calc(16px + var(--now-button--scale-size-block, 1)*32px/2);justify-content:center;line-height:1.25;margin-block-end:2px;margin-block-start:0;margin-inline-end:0;margin-inline-start:0;min-width:calc(16px + var(--now-button--scale-size-inline, 1)*32px/2);padding-block-end:0;padding-block-start:0;padding-inline-end:calc(8px*var(--now-button--scale-size-inline, 1));padding-inline-start:calc(8px*var(--now-button--scale-size-inline, 1));text-transform:var(--now-pagination-control--text-transform,var(--now-view-control--text-transform,none));white-space:nowrap}.now-pagination-control-button::-moz-focus-inner{border-style:none}.now-pagination-control-button:focus{box-shadow:inset 0 0 0 2px RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 3px RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.now-pagination-control-button:focus{outline:1px solid highlight}}.now-pagination-control-button:hover{background-color:RGBA(var(--now-pagination-control--background-color--hover,var(--now-color--secondary-2,1,89,107)),var(--now-pagination-control--background-color-alpha--hover,var(--now-opacity--least,.1)));color:RGB(var(--now-pagination-control--color--hover,var(--now-color--secondary-2,1,89,107)))}.now-pagination-control-button:focus{background-color:RGBA(var(--now-pagination-control--background-color--focus,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231))),var(--now-pagination-control--background-color-alpha--focus,1))}.now-pagination-control-button:active{background-color:RGBA(var(--now-pagination-control--background-color--active,var(--now-color--secondary-2,1,89,107)),var(--now-pagination-control--background-color-alpha--active,var(--now-opacity--less,.25)));color:RGB(var(--now-pagination-control--color--active,var(--now-color--secondary-3,1,60,71)))}.now-pagination-control-button.is-selected{background-color:RGBA(var(--now-pagination-control--background-color--selected,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231))),var(--now-pagination-control--background-color-alpha--selected,1));font-weight:700}.now-pagination-control-button-iconic{--now-button--iconic--border-radius:var(--now-pagination-control--border-radius,0)}.now-pagination-control-dropdown{--now-button--bare_secondary--color:var(--now-pagination-control--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));--now-button--bare_secondary--color--hover:var(--now-pagination-control--color--hover,var(--now-color--secondary-2,1,89,107));--now-button--bare_secondary--color--active:var(--now-pagination-control--color--active,var(--now-color--secondary-3,1,60,71))}@media(forced-colors:active){.now-pagination-control-button{border-style:solid;border-width:1px}.now-pagination-control-button:focus,.now-pagination-control-button:hover{background-color:highlighttext;border-color:highlight;color:highlight}.now-pagination-control-button.is-selected{background-color:selecteditem;color:selecteditemtext;forced-color-adjust:none}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;-webkit-clip-path:inset(50%);clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}:host{--now-line-height:0;display:inline-block;vertical-align:middle}:host([size=xs]){min-inline-size:2.5rem}:host([size=sm]){min-inline-size:3.125rem}:host([size=md]){min-inline-size:4.75rem}:host([size=xs][show-identifier]){min-inline-size:3.375rem}:host([size=sm][show-identifier]){min-inline-size:4.375rem}:host([size=md][show-identifier]){min-inline-size:6rem}:host([size=xs][can-dismiss]){min-inline-size:3.5rem}:host([size=sm][can-dismiss]){min-inline-size:4.125rem}:host([size=md][can-dismiss]){min-inline-size:6rem}:host([size=xs][show-identifier][can-dismiss]){min-inline-size:4.375rem}:host([size=sm][show-identifier][can-dismiss]){min-inline-size:5.375rem}:host([size=md][show-identifier][can-dismiss]){min-inline-size:7.25rem}.now-pill{align-items:center;display:flex;font-variant:normal;letter-spacing:inherit;position:relative;text-indent:0;text-shadow:none;white-space:normal;word-spacing:inherit}.now-pill .now-line-height-crop{inline-size:100%;min-inline-size:0}.now-pill-label-wrapper{align-items:center;background-color:RGB(var(--now-pill--background-color,var(--now-form-control-pill--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));border-color:RGB(var(--now-pill--border-color,var(--now-form-control-pill--border-color,var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)))));border-style:solid;border-width:var(--now-pill--border-width,var(--now-form-control-pill--border-width,1px));color:RGB(var(--now-pill--color,var(--now-form-control-pill_label--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;font-family:var(--now-pill--font-family,var(--now-form-control-pill--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-pill--font-style,var(--now-form-control-pill--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-pill--font-weight,var(--now-form-control-pill--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;justify-content:center;text-transform:var(--now-pill--text-transform,var(--now-form-control-pill--text-transform,var(--now-form-control--text-transform,none)))}.-xs .now-pill-label-wrapper{block-size:1.125rem;border-radius:.5625rem;font-size:var(--now-form-control_value--font-size--xs,var(--now-font-size--xs,.625rem));line-height:1.2;padding-inline:.5rem}.-xs .now-pill-label-wrapper.show-identifier{-webkit-padding-start:0;padding-inline-start:0}.-xs .now-pill-label-wrapper .now-line-height-crop{display:block}.-xs .now-pill-label-wrapper .now-line-height-crop:after,.-xs .now-pill-label-wrapper .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-xs .now-pill-label-wrapper .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*.96);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*.96)}.-xs .now-pill-label-wrapper .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*.96);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*.96)}.-xs .now-pill-label-wrapper .now-line-height-crop+.-xs .now-pill-label-wrapper .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*.96*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*.96*-1)}.-xs .now-pill-label-wrapper.show-dismiss{-webkit-padding-end:1.5rem;padding-inline-end:1.5rem}.-sm .now-pill-label-wrapper{block-size:1.5rem;border-radius:.75rem;font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));line-height:1.3333;padding-inline:.5rem}.-sm .now-pill-label-wrapper.show-identifier{-webkit-padding-start:0;padding-inline-start:0}.-sm .now-pill-label-wrapper .now-line-height-crop{display:block}.-sm .now-pill-label-wrapper .now-line-height-crop:after,.-sm .now-pill-label-wrapper .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-sm .now-pill-label-wrapper .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.-sm .now-pill-label-wrapper .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.-sm .now-pill-label-wrapper .now-line-height-crop+.-sm .now-pill-label-wrapper .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-sm .now-pill-label-wrapper.show-dismiss{-webkit-padding-end:1.5rem;padding-inline-end:1.5rem}.-md .now-pill-label-wrapper{block-size:2rem;border-radius:1rem;font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem));line-height:1.25;padding-inline:1rem}.-md .now-pill-label-wrapper.show-dismiss{-webkit-padding-end:2.25rem;padding-inline-end:2.25rem}.-md .now-pill-label-wrapper.show-identifier{-webkit-padding-start:0;padding-inline-start:0}.-md .now-pill-label-wrapper .now-line-height-crop{display:block}.-md .now-pill-label-wrapper .now-line-height-crop:after,.-md .now-pill-label-wrapper .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-md .now-pill-label-wrapper .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-md .now-pill-label-wrapper .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-md .now-pill-label-wrapper .now-line-height-crop+.-md .now-pill-label-wrapper .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-pill-label-wrapper.-button{cursor:pointer;margin:0;padding-block:0}.now-pill-label-wrapper.-button:not(.is-disabled).has-hover,.now-pill-label-wrapper.-button:not(.is-disabled):hover{background-color:RGB(var(--now-pill--background-color--hover,var(--now-form-control-pill--background-color--hover,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))));border-color:RGB(var(--now-pill--border-color--hover,var(--now-form-control-pill--border-color--hover,var(--now-form-control-pill--border-color,var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181))))));color:RGB(var(--now-pill--color--hover,var(--now-form-control-pill_label--color--hover,var(--now-color--primary-1,30,133,109))))}.now-pill-label-wrapper.-button:not(.is-disabled).has-hover .now-pill-identifier,.now-pill-label-wrapper.-button:not(.is-disabled):hover .now-pill-identifier{background-color:RGB(var(--now-pill_identifier--background-color--hover,var(--now-form-control-pill_identifier--background-color--hover,var(--now-form-control-pill--background-color--hover,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))))));border-color:RGB(var(--now-pill_identifier--border-color--hover,var(--now-form-control-pill_identifier--border-color--hover,var(--now-form-control-pill_identifier--border-color,var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181))))));color:RGB(var(--now-pill_identifier--color--hover,var(--now-form-control-pill_identifier_icon--color--hover,var(--now-color--primary-1,30,133,109))))}.now-pill-label-wrapper.-button:not(.is-disabled):active{background-color:RGB(var(--now-pill--background-color--active,var(--now-form-control-pill--background-color--active,var(--now-color--primary-0,221,237,233))));border-color:RGB(var(--now-pill--border-color--active,var(--now-form-control-pill--border-color--active,var(--now-color--primary-1,30,133,109))));color:RGB(var(--now-pill--color--active,var(--now-form-control-pill_label--color--active,var(--now-color--primary-2,23,100,82))))}.now-pill-label-wrapper.-button:not(.is-disabled):active .now-pill-identifier{background-color:RGB(var(--now-pill_identifier--background-color--active,var(--now-form-control-pill_identifier--background-color--active,var(--now-form-control-pill--background-color--active,var(--now-color--primary-0,221,237,233)))));border-color:RGB(var(--now-pill_identifier--border-color--active,var(--now-form-control-pill_identifier--border-color--active,var(--now-color--primary-1,30,133,109))));color:RGB(var(--now-pill_identifier--color--active,var(--now-form-control-pill_identifier_icon--color--active,var(--now-color--primary-2,23,100,82))))}.now-pill-label-wrapper.-button.is-disabled{cursor:not-allowed;opacity:var(--now-button--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))}.now-pill-label-wrapper.-button.is-disabled:hover{box-shadow:none}.now-pill-label-wrapper.-button.is-disabled:focus::-moz-focus-inner{border-style:none}.now-pill-label-wrapper.-button.is-disabled:focus:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.now-pill-label-wrapper.-button.is-disabled:focus:focus{outline:1px solid highlight}}.now-pill-label-wrapper.-button:focus{outline:none}.now-pill-label-wrapper.-button:focus:after{block-size:100%;border-radius:inherit;box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));content:\\\"\\\";inline-size:100%;inset-block-start:0;inset-inline-start:0;pointer-events:none;position:absolute}.now-pill-label-wrapper.-button:focus::-moz-focus-inner{border-style:none}.is-selected .now-pill-label-wrapper.-button{background-color:RGB(var(--now-pill--background-color--selected,var(--now-form-control-pill--background-color--selected,var(--now-color--primary-1,30,133,109))));border-color:RGB(var(--now-pill--border-color--selected,var(--now-form-control-pill--border-color--selected,var(--now-color--primary-1,30,133,109))));color:RGB(var(--now-pill--color--selected,var(--now-form-control-pill_label--color--selected,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.is-selected .now-pill-label-wrapper.-button:not(.is-disabled).has-hover,.is-selected .now-pill-label-wrapper.-button:not(.is-disabled):hover{background-color:RGB(var(--now-pill--background-color--selected_hover,var(--now-form-control-pill--background-color--selected_hover,var(--now-color--primary-2,23,100,82))));border-color:RGB(var(--now-pill--border-color--selected_hover,var(--now-form-control-pill--border-color--selected_hover,var(--now-color--primary-2,23,100,82))));color:RGB(var(--now-pill--color--selected_hover,var(--now-form-control-pill_label--color--selected_hover,var(--now-form-control-pill_label--color--selected,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255))))))}.is-selected .now-pill-label-wrapper.-button:not(.is-disabled).has-hover .now-pill-identifier,.is-selected .now-pill-label-wrapper.-button:not(.is-disabled):hover .now-pill-identifier{background-color:RGB(var(--now-pill_identifier--background-color--selected_hover,var(--now-form-control-pill_identifier--background-color--selected_hover,var(--now-form-control-pill_identifier--background-color--selected,var(--now-color--primary-0,221,237,233)))));border-color:RGB(var(--now-pill_identifier--border-color--selected_hover,var(--now-form-control-pill_identifier--border-color--selected_hover,var(--now-color--primary-2,23,100,82))));color:RGB(var(--now-pill_identifier--color--selected_hover,var(--now-form-control-pill_identifier_icon--color--selected_hover,var(--now-form-control-pill_identifier_icon--color--selected,var(--now-color--primary-2,23,100,82)))))}.is-selected .now-pill-label-wrapper.-button:not(.is-disabled):active{background-color:RGB(var(--now-pill--background-color--selected_active,var(--now-form-control-pill--background-color--selected_active,var(--now-color--primary-3,15,67,55))));border-color:RGB(var(--now-pill--border-color--selected_active,var(--now-form-control-pill--border-color--selected_active,var(--now-color--primary-3,15,67,55))));color:RGB(var(--now-pill--color--selected_active,var(--now-form-control-pill_label--color--selected_active,var(--now-form-control-pill_label--color--selected,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255))))))}.is-selected .now-pill-label-wrapper.-button:not(.is-disabled):active .now-pill-identifier{background-color:RGB(var(--now-pill_identifier--background-color--selected_active,var(--now-form-control-pill_identifier--background-color--selected_active,var(--now-form-control-pill_identifier--background-color--selected,var(--now-color--primary-0,221,237,233)))));border-color:RGB(var(--now-pill_identifier--border-color--selected_active,var(--now-form-control-pill_identifier--border-color--selected_active,var(--now-color--primary-3,15,67,55))));color:RGB(var(--now-pill_identifier--color--selected_active,var(--now-form-control-pill_identifier_icon--color--selected_active,var(--now-form-control-pill_identifier_icon--color--selected,var(--now-color--primary-2,23,100,82)))))}.is-selected .now-pill-label-wrapper.-label{background-color:RGB(var(--now-pill--background-color--selected,var(--now-form-control-pill--background-color--selected,var(--now-color--primary-1,30,133,109))));border-color:RGB(var(--now-pill--border-color--selected,var(--now-form-control-pill--border-color--selected,var(--now-color--primary-1,30,133,109))));color:RGB(var(--now-pill--color--selected,var(--now-form-control-pill_label--color--selected,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.now-pill-button-iconic{--now-button-iconic--bare_tertiary--background-color-alpha--hover:0;--now-button-iconic--bare_tertiary--background-color-alpha--active:0;--now-button-iconic--bare_tertiary--color:var(--now-pill_button-iconic--color,var(--now-form-control-pill_action_icon--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));--now-button-iconic--bare_tertiary--color--hover:var(--now-pill_button-iconic--color--hover,var(--now-form-control-pill_action_icon--color--hover,var(--now-color--primary-1,30,133,109)));--now-button-iconic--bare_tertiary--color--active:var(--now-pill_button-iconic--color--active,var(--now-form-control-pill_action_icon--color--active,var(--now-color--primary-2,23,100,82)));position:absolute}.-sm .now-pill-button-iconic,.-xs .now-pill-button-iconic{inset-inline-end:.5rem}.-md .now-pill-button-iconic{inset-inline-end:1rem}.is-selected .now-pill-button-iconic{--now-button-iconic--bare_tertiary--color:var(--now-pill_button-iconic--color--selected,var(--now-form-control-pill_action_icon--color--selected,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255))))}.is-selected .now-pill-button-iconic:hover{--now-button-iconic--bare_tertiary--color--hover:var(--now-pill_button-iconic--color--selected_hover,var(--now-form-control-pill_action_icon--color--selected_hover,var(--now-form-control-pill_action_icon--color--selected,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.is-selected .now-pill-button-iconic:active{--now-button-iconic--bare_tertiary--color--active:var(--now-pill_button-iconic--color--selected_active,var(--now-form-control-pill_action_icon--color--selected_active,var(--now-form-control-pill_action_icon--color--selected,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.is-selected .now-pill-button-iconic:focus-within{--now-color_focus-ring:var(--now-color--neutral-0,255,255,255)}.now-pill-identifier{align-items:center;background-color:RGB(var(--now-pill_identifier--background-color,var(--now-form-control-pill_identifier--background-color,var(--now-form-control-pill--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-pill_identifier--border-color,var(--now-form-control-pill_identifier--border-color,var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)))));border-style:solid;border-width:var(--now-pill--border-width,var(--now-form-control-pill--border-width,1px));color:RGB(var(--now-pill_identifier--color,var(--now-form-control-pill_identifier_icon--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;flex-shrink:0;justify-content:center;margin-block:calc(var(--now-pill--border-width, var(--now-form-control-pill--border-width, 1px))*-1);margin-inline:calc(var(--now-pill--border-width, var(--now-form-control-pill--border-width, 1px))*-1) .25rem}.-xs .now-pill-identifier{block-size:1.125rem;border-radius:.5625rem;inline-size:1.125rem}.-sm .now-pill-identifier{block-size:1.5rem;border-radius:.75rem;inline-size:1.5rem}.-md .now-pill-identifier{block-size:2rem;border-radius:1rem;inline-size:2rem}.is-selected .now-pill-identifier{background-color:RGB(var(--now-pill_identifier--background-color--selected,var(--now-form-control-pill_identifier--background-color--selected,var(--now-color--primary-0,221,237,233))));border-color:RGB(var(--now-pill_identifier--border-color--selected,var(--now-form-control-pill_identifier--border-color--selected,var(--now-color--primary-1,30,133,109))));color:RGB(var(--now-pill_identifier--color--selected,var(--now-form-control-pill_identifier_icon--color--selected,var(--now-color--primary-2,23,100,82))))}.-xs .now-pill-icon{transform:scale(.75)}.now-pill-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-pill-label:after{content:\\\"\\\";display:block}@media(forced-colors:active){.now-pill-button,.now-pill-identifier,.now-pill-label-wrapper.-button{background-color:buttonface;border-color:buttonborder;border-style:solid;border-width:1px}.now-pill-identifier{background-color:buttonface}.now-pill-label{forced-color-adjust:none}.now-pill-button:not(.is-disabled) .now-pill-label,.now-pill-label-wrapper.-button:not(.is-disabled) .now-pill-label{color:buttontext}.now-pill-button:not(.is-disabled).has-hover .now-pill-identifier,.now-pill-label-wrapper.-button:not(.is-disabled).has-hover .now-pill-identifier{background-color:buttonface}.now-pill-button:not(.is-disabled):focus,.now-pill-button:not(.is-disabled):hover,.now-pill-label-wrapper.-button:not(.is-disabled):focus,.now-pill-label-wrapper.-button:not(.is-disabled):hover{background-color:highlighttext;border-color:highlight}.now-pill-button:not(.is-disabled):focus .now-pill-identifier,.now-pill-button:not(.is-disabled):hover .now-pill-identifier,.now-pill-label-wrapper.-button:not(.is-disabled):focus .now-pill-identifier,.now-pill-label-wrapper.-button:not(.is-disabled):hover .now-pill-identifier{background-color:highlighttext;border-color:highlight;color:highlight}.now-pill-button:not(.is-disabled):focus .now-pill-label,.now-pill-button:not(.is-disabled):hover .now-pill-label,.now-pill-label-wrapper.-button:not(.is-disabled):focus .now-pill-label,.now-pill-label-wrapper.-button:not(.is-disabled):hover .now-pill-label{color:highlight}.is-selected .now-pill-button:not(.is-disabled),.is-selected .now-pill-label-wrapper.-button:not(.is-disabled){background-color:selecteditem}.is-selected .now-pill-button:not(.is-disabled) .now-pill-identifier,.is-selected .now-pill-label-wrapper.-button:not(.is-disabled) .now-pill-identifier{background-color:selecteditem;border-color:buttonborder;color:selecteditemtext}.is-selected .now-pill-button:not(.is-disabled) .now-pill-label,.is-selected .now-pill-label-wrapper.-button:not(.is-disabled) .now-pill-label{color:selecteditemtext}.is-selected .now-pill-button:not(.is-disabled).has-hover .now-pill-identifier,.is-selected .now-pill-label-wrapper.-button:not(.is-disabled).has-hover .now-pill-identifier{border-color:selecteditemtext}.is-selected .now-pill-button:not(.is-disabled).has-hover,.is-selected .now-pill-button:not(.is-disabled):focus,.is-selected .now-pill-button:not(.is-disabled):hover,.is-selected .now-pill-label-wrapper.-button:not(.is-disabled).has-hover,.is-selected .now-pill-label-wrapper.-button:not(.is-disabled):focus,.is-selected .now-pill-label-wrapper.-button:not(.is-disabled):hover{background-color:selecteditem}.is-selected .now-pill-button:not(.is-disabled).has-hover .now-pill-identifier,.is-selected .now-pill-button:not(.is-disabled):focus .now-pill-identifier,.is-selected .now-pill-button:not(.is-disabled):hover .now-pill-identifier,.is-selected .now-pill-label-wrapper.-button:not(.is-disabled).has-hover .now-pill-identifier,.is-selected .now-pill-label-wrapper.-button:not(.is-disabled):focus .now-pill-identifier,.is-selected .now-pill-label-wrapper.-button:not(.is-disabled):hover .now-pill-identifier{background-color:selecteditem;border-color:buttonborder;color:selecteditemtext}.is-selected .now-pill-button:not(.is-disabled):focus,.is-selected .now-pill-button:not(.is-disabled):focus .now-pill-identifier,.is-selected .now-pill-button:not(.is-disabled):hover,.is-selected .now-pill-button:not(.is-disabled):hover .now-pill-identifier,.is-selected .now-pill-label-wrapper.-button:not(.is-disabled):focus,.is-selected .now-pill-label-wrapper.-button:not(.is-disabled):focus .now-pill-identifier,.is-selected .now-pill-label-wrapper.-button:not(.is-disabled):hover,.is-selected .now-pill-label-wrapper.-button:not(.is-disabled):hover .now-pill-identifier{border-color:highlight}.now-pill-button.is-disabled,.now-pill-label-wrapper.-button.is-disabled{color:graytext;opacity:1}.is-selected .now-pill-button.is-disabled,.is-selected .now-pill-button.is-disabled .now-pill-identifier,.is-selected .now-pill-label-wrapper.-button.is-disabled,.is-selected .now-pill-label-wrapper.-button.is-disabled .now-pill-identifier{background-color:graytext;color:buttonface}.now-pill-label-wrapper.-label{background-color:canvas;border-color:canvastext;border-style:solid;border-width:1px}.now-pill-label-wrapper.-label .now-pill-label{color:canvastext}.now-pill-label-wrapper.-label .now-pill-identifier{background-color:canvas;border-color:canvastext;color:canvastext}.is-selected .now-pill-label-wrapper.-label{background-color:selecteditem}.is-selected .now-pill-label-wrapper.-label .now-pill-identifier{background-color:selecteditem;border-color:canvastext;color:selecteditemtext}.is-selected .now-pill-label-wrapper.-label .now-pill-label{color:selecteditemtext}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{block-size:0;display:block;inline-size:0;position:relative}.fit-content-area{visibility:hidden;z-index:4000}.fit-content-area.has-tail:after,.fit-content-area.has-tail:before{block-size:0;border:solid transparent;content:\\\" \\\";inline-size:0;pointer-events:none;position:absolute}.fit-content-area.has-tail:before{border-width:.625rem;-webkit-filter:drop-shadow(0 .125rem .125rem RGB(56,56,56,var(--now-opacity--less,.25)));filter:drop-shadow(0 .125rem .125rem RGB(56,56,56,var(--now-opacity--less,.25)))}.fit-content-area.has-tail:after{border-width:.5625rem}.fit-content-area.has-tail.-up:before{-webkit-border-before:0;border-block-end-color:RGB(var(--now-popover--border-color,var(--now-menu--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-block-start:0;inset-block-start:-.5rem}:host(:not([dir=rtl])) .fit-content-area.has-tail.-up:before,:root:not([dir=rtl]) .fit-content-area.has-tail.-up:before{inset-inline-start:var(--popover-tail,1px)}:host([dir=rtl]) .fit-content-area.has-tail.-up:before,:root[dir=rtl] .fit-content-area.has-tail.-up:before{inset-inline-end:var(--popover-tail,1px)}.fit-content-area.has-tail.-up:after{-webkit-border-before:0;border-block-end-color:RGB(var(--now-popover--background-color,var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));border-block-start:0;inset-block-start:-.4375rem}:host(:not([dir=rtl])) .fit-content-area.has-tail.-up:after,:root:not([dir=rtl]) .fit-content-area.has-tail.-up:after{inset-inline-start:calc(var(--popover-tail, 0px) + 1px)}:host([dir=rtl]) .fit-content-area.has-tail.-up:after,:root[dir=rtl] .fit-content-area.has-tail.-up:after{inset-inline-end:calc(var(--popover-tail, 0px) + 1px)}.fit-content-area.has-tail.-up.has-focus:before{border-block-end-color:RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)))}.fit-content-area.has-tail.-down:before{-webkit-border-after:0;border-block-end:0;border-block-start-color:RGB(var(--now-popover--border-color,var(--now-menu--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));inset-block-end:-.5rem}:host(:not([dir=rtl])) .fit-content-area.has-tail.-down:before,:root:not([dir=rtl]) .fit-content-area.has-tail.-down:before{inset-inline-start:var(--popover-tail,1px)}:host([dir=rtl]) .fit-content-area.has-tail.-down:before,:root[dir=rtl] .fit-content-area.has-tail.-down:before{inset-inline-end:var(--popover-tail,1px)}.fit-content-area.has-tail.-down:after{-webkit-border-after:0;border-block-end:0;border-block-start-color:RGB(var(--now-popover--background-color,var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));inset-block-end:-.4375rem}:host(:not([dir=rtl])) .fit-content-area.has-tail.-down:after,:root:not([dir=rtl]) .fit-content-area.has-tail.-down:after{inset-inline-start:calc(var(--popover-tail, 0px) + 1px)}:host([dir=rtl]) .fit-content-area.has-tail.-down:after,:root[dir=rtl] .fit-content-area.has-tail.-down:after{inset-inline-end:calc(var(--popover-tail, 0px) + 1px)}.fit-content-area.has-tail.-down.has-focus:before{border-block-start-color:RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)))}.fit-content-area.has-tail.-right:before{inset-block-start:var(--popover-tail,1px)}:host(:not([dir=rtl])) .fit-content-area.has-tail.-right:before,:root:not([dir=rtl]) .fit-content-area.has-tail.-right:before{inset-inline-end:-.5rem}:host([dir=rtl]) .fit-content-area.has-tail.-right:before,:root[dir=rtl] .fit-content-area.has-tail.-right:before{inset-inline-start:-.5rem}:host(:not([dir=rtl])) .fit-content-area.has-tail.-right:before,:root:not([dir=rtl]) .fit-content-area.has-tail.-right:before{border-inline-start-color:RGB(var(--now-popover--border-color,var(--now-menu--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}:host([dir=rtl]) .fit-content-area.has-tail.-right:before,:root[dir=rtl] .fit-content-area.has-tail.-right:before{border-inline-end-color:RGB(var(--now-popover--border-color,var(--now-menu--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}:host(:not([dir=rtl])) .fit-content-area.has-tail.-right:before,:root:not([dir=rtl]) .fit-content-area.has-tail.-right:before{-webkit-border-end:0;border-inline-end:0}:host([dir=rtl]) .fit-content-area.has-tail.-right:before,:root[dir=rtl] .fit-content-area.has-tail.-right:before{-webkit-border-start:0;border-inline-start:0}.fit-content-area.has-tail.-right:after{inset-block-start:calc(var(--popover-tail, 0px) + 1px)}:host(:not([dir=rtl])) .fit-content-area.has-tail.-right:after,:root:not([dir=rtl]) .fit-content-area.has-tail.-right:after{inset-inline-end:-.4375rem}:host([dir=rtl]) .fit-content-area.has-tail.-right:after,:root[dir=rtl] .fit-content-area.has-tail.-right:after{inset-inline-start:-.4375rem}:host(:not([dir=rtl])) .fit-content-area.has-tail.-right:after,:root:not([dir=rtl]) .fit-content-area.has-tail.-right:after{border-inline-start-color:RGB(var(--now-popover--background-color,var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))))}:host([dir=rtl]) .fit-content-area.has-tail.-right:after,:root[dir=rtl] .fit-content-area.has-tail.-right:after{border-inline-end-color:RGB(var(--now-popover--background-color,var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))))}:host(:not([dir=rtl])) .fit-content-area.has-tail.-right:after,:root:not([dir=rtl]) .fit-content-area.has-tail.-right:after{-webkit-border-end:0;border-inline-end:0}:host([dir=rtl]) .fit-content-area.has-tail.-right:after,:root[dir=rtl] .fit-content-area.has-tail.-right:after{-webkit-border-start:0;border-inline-start:0}.fit-content-area.has-tail.-right.has-focus:before{border-inline-start-color:RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)))}.fit-content-area.has-tail.-left:before{inset-block-start:var(--popover-tail,1px)}:host(:not([dir=rtl])) .fit-content-area.has-tail.-left:before,:root:not([dir=rtl]) .fit-content-area.has-tail.-left:before{inset-inline-start:-.5rem}:host([dir=rtl]) .fit-content-area.has-tail.-left:before,:root[dir=rtl] .fit-content-area.has-tail.-left:before{inset-inline-end:-.5rem}:host(:not([dir=rtl])) .fit-content-area.has-tail.-left:before,:root:not([dir=rtl]) .fit-content-area.has-tail.-left:before{border-inline-end-color:RGB(var(--now-popover--border-color,var(--now-menu--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}:host([dir=rtl]) .fit-content-area.has-tail.-left:before,:root[dir=rtl] .fit-content-area.has-tail.-left:before{border-inline-start-color:RGB(var(--now-popover--border-color,var(--now-menu--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}:host(:not([dir=rtl])) .fit-content-area.has-tail.-left:before,:root:not([dir=rtl]) .fit-content-area.has-tail.-left:before{-webkit-border-start:0;border-inline-start:0}:host([dir=rtl]) .fit-content-area.has-tail.-left:before,:root[dir=rtl] .fit-content-area.has-tail.-left:before{-webkit-border-end:0;border-inline-end:0}.fit-content-area.has-tail.-left:after{inset-block-start:calc(var(--popover-tail, 0px) + 1px)}:host(:not([dir=rtl])) .fit-content-area.has-tail.-left:after,:root:not([dir=rtl]) .fit-content-area.has-tail.-left:after{inset-inline-start:-.4375rem}:host([dir=rtl]) .fit-content-area.has-tail.-left:after,:root[dir=rtl] .fit-content-area.has-tail.-left:after{inset-inline-end:-.4375rem}:host(:not([dir=rtl])) .fit-content-area.has-tail.-left:after,:root:not([dir=rtl]) .fit-content-area.has-tail.-left:after{border-inline-end-color:RGB(var(--now-popover--background-color,var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))))}:host([dir=rtl]) .fit-content-area.has-tail.-left:after,:root[dir=rtl] .fit-content-area.has-tail.-left:after{border-inline-start-color:RGB(var(--now-popover--background-color,var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))))}:host(:not([dir=rtl])) .fit-content-area.has-tail.-left:after,:root:not([dir=rtl]) .fit-content-area.has-tail.-left:after{-webkit-border-start:0;border-inline-start:0}:host([dir=rtl]) .fit-content-area.has-tail.-left:after,:root[dir=rtl] .fit-content-area.has-tail.-left:after{-webkit-border-end:0;border-inline-end:0}.fit-content-area.has-tail.-left.has-focus:before{border-inline-end-color:RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)))}.fit-content{background-color:RGB(var(--now-popover--background-color,var(--now-menu--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));border-color:RGB(var(--now-popover--border-color,var(--now-menu--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-popover--border-radius,var(--now-menu--border-radius,.125rem));border-style:solid;border-width:1px;box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));max-block-size:100%;max-inline-size:100%;overflow:auto;position:fixed}.has-tail.-down .fit-content,.has-tail.-up .fit-content{min-inline-size:1.25rem}.has-tail.-left .fit-content,.has-tail.-right .fit-content{min-block-size:1.25rem}.disable-scroll .fit-content{overflow:hidden}.is-bare .fit-content{border-width:0}.fit-content:focus{border-color:RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)));outline:none}.fit-content-transform{transform:translateZ(0)}@media(forced-colors:active){.fit-content-area.has-tail:after,.fit-content-area.has-tail:before{forced-color-adjust:none}.fit-content-area.has-tail.-up:before{border-block-end-color:canvastext}.fit-content-area.has-tail.-up:after{border-block-end-color:canvas}.fit-content-area.has-tail.-up.has-focus:before{border-block-end-color:highlight}.fit-content-area.has-tail.-down:before{border-block-start-color:canvastext}.fit-content-area.has-tail.-down:after{border-block-start-color:canvas}.fit-content-area.has-tail.-down.has-focus:before{border-block-start-color:highlight}:host(:not([dir=rtl])) .fit-content-area.has-tail.-right:before,:root:not([dir=rtl]) .fit-content-area.has-tail.-right:before{border-inline-start-color:canvastext}:host([dir=rtl]) .fit-content-area.has-tail.-right:before,:root[dir=rtl] .fit-content-area.has-tail.-right:before{border-inline-end-color:canvastext}:host(:not([dir=rtl])) .fit-content-area.has-tail.-right:after,:root:not([dir=rtl]) .fit-content-area.has-tail.-right:after{border-inline-start-color:canvas}:host([dir=rtl]) .fit-content-area.has-tail.-right:after,:root[dir=rtl] .fit-content-area.has-tail.-right:after{border-inline-end-color:canvas}.fit-content-area.has-tail.-right.has-focus:before{border-inline-start-color:highlight}:host(:not([dir=rtl])) .fit-content-area.has-tail.-left:before,:root:not([dir=rtl]) .fit-content-area.has-tail.-left:before{border-inline-end-color:canvastext}:host([dir=rtl]) .fit-content-area.has-tail.-left:before,:root[dir=rtl] .fit-content-area.has-tail.-left:before{border-inline-start-color:canvastext}:host(:not([dir=rtl])) .fit-content-area.has-tail.-left:after,:root:not([dir=rtl]) .fit-content-area.has-tail.-left:after{border-inline-end-color:canvas}:host([dir=rtl]) .fit-content-area.has-tail.-left:after,:root[dir=rtl] .fit-content-area.has-tail.-left:after{border-inline-start-color:canvas}.fit-content-area.has-tail.-left.has-focus:before{border-inline-end-color:highlight}.fit-content{background-color:canvas;border-color:canvastext;border-width:1px!important}.fit-content:focus{border-color:highlight}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:block}:host([dir=ltr]) .now-progress-bar-path.is-indeterminate:not(.is-inactive){animation:indeterminateLoadingLTR 2.5s cubic-bezier(.62,.21,.48,.88) infinite}:host([dir=rtl]) .now-progress-bar-path.is-indeterminate:not(.is-inactive){animation:indeterminateLoadingRTL 2.5s cubic-bezier(.62,.21,.48,.88) infinite}:host([dir=rtl]) .now-progress-bar-path{--now-border-radius:var(--now-progress-bar--border-radius,var(--now-loading_progress_track--border-radius,var(--now-loading--border-radius,0px)));--now-border-width:var(--now-progress-bar--border-width,var(--now-loading_progress_track--border-width,var(--now-loading--border-width,1px)));border-end-end-radius:calc(var(--now-border-radius) - var(--now-border-width));border-end-start-radius:0;border-start-end-radius:calc(var(--now-border-radius) - var(--now-border-width));border-start-start-radius:0}:host([dir=rtl]) .now-progress-bar-path.is-indeterminate{border-radius:0}.now-progress-bar-bar{overflow:hidden}.now-progress-bar-track{background-color:RGB(var(--now-progress-bar--background-color,var(--now-loading_progress_track--background-color,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-color:RGB(var(--now-progress-bar--border-color,var(--now-loading_progress_track--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-progress-bar--border-radius,var(--now-loading_progress_track--border-radius,var(--now-loading--border-radius,0)));border-style:solid;border-width:var(--now-progress-bar--border-width,var(--now-loading_progress_track--border-width,var(--now-loading--border-width,1px)));position:relative;transform:translateZ(0)}.now-progress-bar-track.is-indeterminate{border-radius:0}.now-progress-bar-track.-xs{block-size:.25rem}.now-progress-bar-track.-sm{block-size:.5rem}.now-progress-bar-track.-md{block-size:1rem}.now-progress-bar-track.-lg{block-size:1.5rem}@keyframes indeterminateLoadingLTR{0%{inline-size:5%;inset-inline-end:100%}60%{inline-size:35%}to{inline-size:5%;inset-inline-end:-5%}}@keyframes indeterminateLoadingRTL{0%{inline-size:5%;inset-inline-start:100%}60%{inline-size:35%}to{inline-size:5%;inset-inline-start:-5%}}.now-progress-bar-path{--now-border-radius:var(--now-progress-bar--border-radius,var(--now-loading_progress_track--border-radius,var(--now-loading--border-radius,0px)));--now-border-width:var(--now-progress-bar--border-width,var(--now-loading_progress_track--border-width,var(--now-loading--border-width,1px)));border-block-end-width:0;border-block-start-width:0;border-end-start-radius:calc(var(--now-border-radius) - var(--now-border-width));border-inline-end-width:var(--now-progress-bar--border-width,var(--now-loading_progress_track--border-width,var(--now-loading--border-width,1px)));border-inline-start-width:0;border-start-start-radius:calc(var(--now-border-radius) - var(--now-border-width));border-style:solid;inset-block:0;position:absolute;transition:width .25s ease}.now-progress-bar-path:after{background-color:RGB(var(--now-progress-bar_path--marker--border-color,var(--now-loading_progress_bar-marker--color,var(--now-color_border--primary-actionable,var(--now-color--neutral-18,22,27,28)))));content:\\\"\\\";inline-size:var(--now-progress-bar_path--marker--border-width,var(--now-loading_progress_bar-marker--border-width,2px));inset-block:calc(var(--now-border-width)*-1);inset-inline-end:calc(var(--now-border-width)*-1);position:absolute}.now-progress-bar-path.is-initial{background-color:RGB(var(--now-progress-bar_path--initial--background-color,var(--now-loading_progress_bar--background-color,var(--now-loading--initial--background-color,var(--now-color--primary-1,30,133,109)))));border-color:RGB(var(--now-progress-bar_path--initial--border-color,var(--now-loading_progress_bar--border-color,var(--now-loading--initial--border-color,var(--now-color--primary-2,23,100,82)))))}.now-progress-bar-path.is-positive{background-color:RGB(var(--now-progress-bar_path--positive--background-color,var(--now-loading_progress_bar--positive--background-color,var(--now-color_alert--positive-3,30,105,34))));border-color:RGB(var(--now-progress-bar_path--positive--border-color,var(--now-loading_progress_bar--positive--border-color,var(--now-color_alert--positive-4,22,79,26))))}.now-progress-bar-path.is-alert{background-color:RGB(var(--now-progress-bar_path--alert--background-color,var(--now-loading_progress_bar--alert--background-color,var(--now-color_alert--high-3,177,116,27))));border-color:RGB(var(--now-progress-bar_path--alert--border-color,var(--now-loading_progress_bar--alert--border-color,var(--now-color_alert--high-4,133,87,20))))}.now-progress-bar-path.is-error{background-color:RGB(var(--now-progress-bar_path--error--background-color,var(--now-loading_progress_bar--error--background-color,var(--now-color_alert--critical-2,200,60,54))));border-color:RGB(var(--now-progress-bar_path--error--border-color,var(--now-loading_progress_bar--error--border-color,var(--now-color_alert--critical-3,160,48,43))))}.now-progress-bar-path.is-inactive{background-color:RGB(var(--now-progress-bar_path--inactive--background-color,var(--now-loading_progress_bar--inactive--background-color,var(--now-loading_progress_track--background-color,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231))))));border-color:RGB(var(--now-progress-bar_path--inactive--border-color,var(--now-loading_progress_bar--inactive--border-color,var(--now-color--neutral-11,73,88,90))));border-inline-end-width:0}.now-progress-bar-path.is-inactive:before{background-color:RGB(var(--now-progress-bar_path--marker--border-color,var(--now-loading_progress_bar-marker--color,var(--now-color_border--primary-actionable,var(--now-color--neutral-18,22,27,28)))));content:\\\"\\\";inline-size:var(--now-progress-bar_path--marker--border-width,var(--now-loading_progress_bar-marker--border-width,2px));inset-block:calc(var(--now-border-width)*-1);inset-inline-start:calc(var(--now-border-width)*-1);position:absolute}.now-progress-bar-path.is-inactive:after{visibility:hidden}.now-progress-bar-path.is-pink{background-color:RGB(var(--now-progress-bar_path--pink--background-color,var(--now-loading_progress_bar--pink--background-color,var(--now-color_grouped--pink-2,203,121,143))));border-color:RGB(var(--now-progress-bar_path--pink--border-color,var(--now-loading_progress_bar--pink--border-color,var(--now-color_grouped--pink-3,173,103,122))))}.now-progress-bar-path.is-green{background-color:RGB(var(--now-progress-bar_path--green--background-color,var(--now-loading_progress_bar--green--background-color,var(--now-color_grouped--green-2,147,170,125))));border-color:RGB(var(--now-progress-bar_path--green--border-color,var(--now-loading_progress_bar--green--border-color,var(--now-color_grouped--green-3,125,145,106))))}.now-progress-bar-path.is-orange{background-color:RGB(var(--now-progress-bar_path--orange--background-color,var(--now-loading_progress_bar--orange--background-color,var(--now-color_grouped--orange-2,215,129,106))));border-color:RGB(var(--now-progress-bar_path--orange--border-color,var(--now-loading_progress_bar--orange--border-color,var(--now-color_grouped--orange-3,183,110,90))))}.now-progress-bar-path.is-gray{background-color:RGB(var(--now-progress-bar_path--gray--background-color,var(--now-loading_progress_bar--gray--background-color,var(--now-color_grouped--gray-2,139,145,150))));border-color:RGB(var(--now-progress-bar_path--gray--border-color,var(--now-loading_progress_bar--gray--border-color,var(--now-color_grouped--gray-3,118,123,128))))}.now-progress-bar-path.is-indeterminate{border-radius:0}.now-progress-bar-path.is-indeterminate.is-inactive:before{visibility:hidden}.now-progress-bar-path.is-indeterminate:not(.is-inactive){border-inline-start-width:var(--now-progress-bar--border-width,var(--now-loading_progress_track--border-width,var(--now-loading--border-width,1px)))}.now-progress-bar-path.is-indeterminate:not(.is-inactive):before{background-color:RGB(var(--now-progress-bar_path--marker--border-color,var(--now-loading_progress_bar-marker--color,var(--now-color_border--primary-actionable,var(--now-color--neutral-18,22,27,28)))));content:\\\"\\\";inline-size:var(--now-progress-bar_path--marker--border-width,var(--now-loading_progress_bar-marker--border-width,2px));inset-block:calc(var(--now-border-width)*-1);inset-inline-start:calc(var(--now-border-width)*-1);position:absolute}.now-progress-bar-label{color:var(--now-progress-bar--color,var(--now-loading_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));font-family:var(--now-progress-bar--font-family,var(--now-loading_progress--font-family,var(--now-loading_label--primary--font-family,var(--now-loading--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-style:var(--now-progress-bar--font-style,var(--now-loading_progress--font-style,var(--now-loading_label--primary--font-style,var(--now-loading--font-style,normal))));font-variant:normal;font-weight:var(--now-progress-bar--font-weight,var(--now-loading_progress--font-weight,var(--now-loading_label--primary--font-weight,var(--now-loading--font-weight,normal))));letter-spacing:inherit;text-indent:0;text-shadow:none;text-transform:var(--now-progress-bar--text-transform,var(--now-loading_progress--text-transform,var(--now-loading_label--primary--text-transform,var(--now-loading--text-transform,none))));white-space:normal;word-spacing:inherit}.now-progress-bar-label.-sm,.now-progress-bar-label.-xs{font-size:var(--now-loading_label--font-size--sm,var(--now-font-size--sm,.75rem));line-height:1.3333}.now-progress-bar-label.-lg,.now-progress-bar-label.-md{font-size:var(--now-loading_label--font-size--md,var(--now-font-size--md1,1rem));line-height:1.25}.now-progress-bar-label.-top{-webkit-margin-after:.125rem;margin-block-end:.125rem}.now-progress-bar-label.-bottom{-webkit-margin-before:.125rem;margin-block-start:.125rem}@media(forced-colors:active){.now-progress-bar-path{background-color:highlight!important}.now-progress-bar-track{border-width:1px}}@media(prefers-reduced-motion:reduce){.now-progress-bar-path.is-indeterminate{animation:none!important;inline-size:25%}.now-progress-bar-path{transition:none}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-m-block--xs{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-block-start:.25rem}.now-m-block-start--xs{-webkit-margin-before:.25rem;margin-block-start:.25rem}.now-m-block-end--xs{-webkit-margin-after:.25rem;margin-block-end:.25rem}.now-m-inline--xs{-webkit-margin-start:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem;margin-inline-start:.25rem}.now-m-inline-start--xs{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-m-inline-end--xs{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-message{-webkit-margin-before:.25rem;border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{-webkit-margin-after:calc(var(--now-scale-space--xxs, 1)*.125rem);margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{-webkit-margin-end:.25rem;justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{-webkit-margin-start:auto;margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){-webkit-padding-start:.75rem;max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{-webkit-margin-start:.25rem;flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){-webkit-margin-end:.25rem;margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{-webkit-padding-after:calc(var(--now-line-height-crop--after)*1*-1);display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{-webkit-padding-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1));block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){-webkit-margin-start:0!important;margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){-webkit-margin-start:0!important;margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){-webkit-margin-end:0!important;margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){-webkit-margin-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important;margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){-webkit-margin-end:0!important;margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-horizontal .now-form-field-button{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::-webkit-input-placeholder{color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{-webkit-border-after:1px highlight solid!important;border-block-end:1px solid highlight!important}}.now-align{display:flex}.now-align.-row.-reverse{flex-direction:row-reverse}.now-align.-column{flex-direction:column}.now-align.-column.-reverse{flex-direction:column-reverse}.now-align.-wrap{flex-wrap:wrap}.now-align.-inline{justify-content:space-between}.now-align.-inline-center{justify-content:center}.now-align.-inline-end{justify-content:flex-end}.now-align.-block-start{align-items:flex-start}.now-align.-block-center{align-items:center}.now-align.-block-end{align-items:flex-end}:host{--now-line-height:0;display:inline-block;margin-block:.5rem}.now-radio-buttons-fieldset{border:none;margin-inline:0;padding:0}.now-radio-buttons-fieldset-child{display:grid}.-field-vertical .now-radio-buttons-fieldset-child{grid-template-columns:minmax(0,100%)}.-field-vertical .now-form-field-legend.-horizontal{-webkit-padding-before:calc(var(--now-scale-space--xxs, 1)*.125rem);padding-block-start:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-field-horizontal.-md .now-form-field-legend{-webkit-margin-before:.25rem;margin-block-start:.25rem}.now-form-field-legend.-vertical .now-form-field-label{-webkit-margin-after:0;margin-block-end:0}.now-form-field-legend.-horizontal.will-wrap .now-form-field-label{align-items:start}.-field-horizontal .now-form-field-label-end{-webkit-margin-start:.25rem;align-items:start;margin-inline-start:.25rem}.-field-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.-field-horizontal.-md .now-form-field-label-end{-webkit-margin-before:.25rem;margin-block-start:.25rem}.now-radio-buttons{display:flex;font-variant:normal;letter-spacing:inherit;text-indent:0;text-shadow:none;text-transform:none;white-space:normal;word-spacing:inherit}.now-radio-buttons.-vertical{flex-direction:column}.now-radio-buttons.-horizontal{flex-wrap:wrap}.now-radio-button{display:flex}.-field-vertical .-vertical .now-radio-button.-md:first-of-type,.-field-vertical .now-radio-button.-sm{-webkit-margin-before:calc(.5rem*var(--now-radio-buttons--scale-size-block, 1));margin-block-start:calc(.5rem*var(--now-radio-buttons--scale-size-block, 1))}.-field-vertical .-vertical .now-radio-button.-md:not(:first-of-type){-webkit-margin-before:calc(.75rem*var(--now-radio-buttons--scale-size-block, 1));margin-block-start:calc(.75rem*var(--now-radio-buttons--scale-size-block, 1))}.-field-horizontal .-vertical .now-radio-button:not(:first-of-type).-sm,.-field-vertical .-horizontal .now-radio-button.-md{-webkit-margin-before:calc(.5rem*var(--now-radio-buttons--scale-size-block, 1));margin-block-start:calc(.5rem*var(--now-radio-buttons--scale-size-block, 1))}.-field-horizontal .-vertical .now-radio-button:not(:first-of-type).-md{-webkit-margin-before:calc(.75rem*var(--now-radio-buttons--scale-size-block, 1));margin-block-start:calc(.75rem*var(--now-radio-buttons--scale-size-block, 1))}.-field-horizontal .-horizontal .now-radio-button:not(:last-of-type).-sm{-webkit-margin-after:calc(.5rem*var(--now-radio-buttons--scale-size-block, 1));margin-block-end:calc(.5rem*var(--now-radio-buttons--scale-size-block, 1))}.-field-horizontal .-horizontal .now-radio-button:not(:last-of-type).-md{-webkit-margin-after:calc(.75rem*var(--now-radio-buttons--scale-size-block, 1));margin-block-end:calc(.75rem*var(--now-radio-buttons--scale-size-block, 1))}.-horizontal .now-radio-button:not(:last-of-type).-sm{-webkit-margin-end:calc(.5rem*var(--now-radio-buttons--scale-size-inline, 1));margin-inline-end:calc(.5rem*var(--now-radio-buttons--scale-size-inline, 1))}.-horizontal .now-radio-button:not(:last-of-type).-md{-webkit-margin-end:calc(.75rem*var(--now-radio-buttons--scale-size-inline, 1));margin-inline-end:calc(.75rem*var(--now-radio-buttons--scale-size-inline, 1))}.now-radio-button.is-disabled{opacity:var(--now-radio-buttons--opacity--disabled,var(--now-form-control-input-selection--opacity--disabled,var(--now-form-control--opacity--disabled,.25)))}.now-radio-button-input{-webkit-margin-start:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:RGB(var(--now-radio-buttons--background-color,var(--now-form-control-input-selection--secondary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));border-color:RGB(var(--now-radio-buttons--border-color,var(--now-form-control-input-selection--secondary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:50%;border-style:solid;border-width:1px;flex-shrink:0;margin-inline-start:0;outline:none;position:relative}.-sm .now-radio-button-input{-webkit-margin-end:.25rem;block-size:.75rem;inline-size:.75rem;margin-block:.125rem;margin-inline-end:.25rem}.-md .now-radio-button-input{-webkit-margin-end:calc(.5rem*var(--now-radio-buttons--scale-size-inline, 1));block-size:calc(.5rem + var(--now-radio-buttons--scale-size, 1)*1rem/2);inline-size:calc(.5rem + var(--now-radio-buttons--scale-size, 1)*1rem/2);margin-block:.25rem;margin-inline-end:calc(.5rem*var(--now-radio-buttons--scale-size-inline, 1))}.now-radio-button-input:hover:not(:disabled){background-color:RGB(var(--now-radio-buttons--background-color--hover,var(--now-form-control-input-selection--secondary--background-color--hover,var(--now-color--primary-0,221,237,233))));border-color:RGB(var(--now-radio-buttons--border-color--hover,var(--now-form-control-input-selection--secondary--border-color--hover,var(--now-color--secondary-1,1,119,142))))}.now-radio-button-input:hover:not(:disabled):checked{background-color:RGB(var(--now-radio-buttons--background-color--selected_hover,var(--now-form-control-input-selection--secondary--background-color--selected_hover,var(--now-color--secondary-0,217,235,238))));border-color:RGB(var(--now-radio-buttons--border-color--selected_hover,var(--now-form-control-input-selection--secondary--border-color--selected_hover,var(--now-color--secondary-1,1,119,142))))}.now-radio-button-input:active:not(:disabled){background-color:RGB(var(--now-radio-buttons--background-color--active,var(--now-form-control-input-selection--secondary--background-color--active,var(--now-color--primary-0,221,237,233))));border-color:RGB(var(--now-radio-buttons--border-color--active,var(--now-form-control-input-selection--secondary--border-color--active,var(--now-color--secondary-1,1,119,142))))}.-sm .now-radio-button-input:active:not(:disabled){box-shadow:0 0 0 calc(var(--now-radio-buttons_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2) RGB(var(--now-radio-buttons--border-color--focus,var(--now-form-control-input-selection--secondary--border-color--focus,var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)))),var(--now-opacity--least,.1))}.-md .now-radio-button-input:active:not(:disabled){box-shadow:0 0 0 calc(var(--now-radio-buttons_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2 + var(--now-radio-buttons--scale-size, 1)*var(--now-radio-buttons_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2) RGB(var(--now-radio-buttons--border-color--focus,var(--now-form-control-input-selection--secondary--border-color--focus,var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)))),var(--now-opacity--least,.1))}.now-radio-button-input:active:not(:disabled):checked{background-color:RGB(var(--now-radio-buttons--background-color--selected_active,var(--now-form-control-input-selection--secondary--background-color--selected_active,var(--now-form-control-input-selection--secondary--background-color--selected,var(--now-form-control-input-selection--secondary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))))));border-color:RGB(var(--now-radio-buttons--border-color--selected_active,var(--now-form-control-input-selection--secondary--border-color--selected_active,var(--now-color--secondary-1,1,119,142))))}.-sm .now-radio-button-input:active:not(:disabled):checked{box-shadow:0 0 0 calc(var(--now-radio-buttons_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2) RGB(var(--now-radio-buttons--border-color--selected_focus,var(--now-form-control-input-selection--secondary--border-color--selected_focus,var(--now-color--secondary-1,1,119,142))),var(--now-opacity--least,.1))}.-md .now-radio-button-input:active:not(:disabled):checked{box-shadow:0 0 0 calc(var(--now-radio-buttons_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2 + var(--now-radio-buttons--scale-size, 1)*var(--now-radio-buttons_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2) RGB(var(--now-radio-buttons--border-color--selected_focus,var(--now-form-control-input-selection--secondary--border-color--selected_focus,var(--now-color--secondary-1,1,119,142))),var(--now-opacity--least,.1))}.now-radio-button-input:focus{background-color:RGB(var(--now-radio-buttons--background-color--focus,var(--now-form-control-input-selection--secondary--background-color--focus,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))));border-color:RGB(var(--now-radio-buttons--border-color--focus,var(--now-form-control-input-selection--secondary--border-color--focus,var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)))))}.-sm .now-radio-button-input:focus{box-shadow:inset 0 0 0 1px RGB(var(--now-radio-buttons--border-color--focus,var(--now-form-control-input-selection--secondary--border-color--focus,var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))))),0 0 0 calc(var(--now-radio-buttons_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2) RGB(var(--now-radio-buttons--border-color--focus,var(--now-form-control-input-selection--secondary--border-color--focus,var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)))),var(--now-opacity--least,.1))}.-md .now-radio-button-input:focus{box-shadow:inset 0 0 0 1px RGB(var(--now-radio-buttons--border-color--focus,var(--now-form-control-input-selection--secondary--border-color--focus,var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))))),0 0 0 calc(var(--now-radio-buttons_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2 + var(--now-radio-buttons--scale-size, 1)*var(--now-radio-buttons_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2) RGB(var(--now-radio-buttons--border-color--focus,var(--now-form-control-input-selection--secondary--border-color--focus,var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)))),var(--now-opacity--least,.1))}.now-radio-button-input:focus:checked{background-color:RGB(var(--now-radio-buttons--background-color--selected_focus,var(--now-form-control-input-selection--secondary--background-color--selected_focus,var(--now-form-control-input-selection--secondary--background-color--focus,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))))));border-color:RGB(var(--now-radio-buttons--border-color--selected_focus,var(--now-form-control-input-selection--secondary--border-color--selected_focus,var(--now-color--secondary-1,1,119,142))))}.-sm .now-radio-button-input:focus:checked{box-shadow:inset 0 0 0 1px RGB(var(--now-radio-buttons--border-color--selected_focus,var(--now-form-control-input-selection--secondary--border-color--selected_focus,var(--now-color--secondary-1,1,119,142)))),0 0 0 calc(var(--now-radio-buttons_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2) RGB(var(--now-radio-buttons--border-color--selected_focus,var(--now-form-control-input-selection--secondary--border-color--selected_focus,var(--now-color--secondary-1,1,119,142))),var(--now-opacity--least,.1))}.-md .now-radio-button-input:focus:checked{box-shadow:inset 0 0 0 1px RGB(var(--now-radio-buttons--border-color--selected_focus,var(--now-form-control-input-selection--secondary--border-color--selected_focus,var(--now-color--secondary-1,1,119,142)))),0 0 0 calc(var(--now-radio-buttons_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2 + var(--now-radio-buttons--scale-size, 1)*var(--now-radio-buttons_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2) RGB(var(--now-radio-buttons--border-color--selected_focus,var(--now-form-control-input-selection--secondary--border-color--selected_focus,var(--now-color--secondary-1,1,119,142))),var(--now-opacity--least,.1))}.is-invalid:not(.is-disabled,.is-readonly) .now-radio-button-input{background-color:RGB(var(--now-radio-buttons--background-color--invalid,var(--now-form-control-input-selection--secondary--background-color--invalid,var(--now-form-control-input-selection--secondary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-radio-buttons--border-color--invalid,var(--now-form-control-input-selection--secondary--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))));border-width:.125rem}.is-invalid:not(.is-disabled,.is-readonly) .now-radio-button-input:checked{background-color:RGB(var(--now-radio-buttons--background-color--selected_invalid,var(--now-form-control-input-selection--secondary--background-color--selected_invalid,var(--now-form-control-input-selection--secondary--background-color--selected,var(--now-form-control-input-selection--secondary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))))));border-color:RGB(var(--now-radio-buttons--border-color--selected_invalid,var(--now-form-control-input-selection--secondary--border-color--selected_invalid,var(--now-color_alert--critical-2,200,60,54))))}.is-invalid .now-radio-button-input:hover:not(:disabled){background-color:RGB(var(--now-radio-buttons--background-color--invalid_hover,var(--now-form-control-input-selection--secondary--background-color--invalid_hover,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-radio-buttons--border-color--invalid_hover,var(--now-form-control-input-selection--secondary--border-color--invalid_hover,var(--now-form-control-input-selection--secondary--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))))}.is-invalid .now-radio-button-input:hover:not(:disabled):checked{background-color:RGB(var(--now-radio-buttons--background-color--selected_invalid_hover,var(--now-form-control-input-selection--secondary--background-color--selected_invalid_hover,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-radio-buttons--border-color--selected_invalid_hover,var(--now-form-control-input-selection--secondary--border-color--selected_invalid_hover,var(--now-form-control-input-selection--secondary--border-color--selected_invalid,var(--now-color_alert--critical-2,200,60,54)))))}.is-invalid .now-radio-button-input:active:not(:disabled){background-color:RGB(var(--now-radio-buttons--background-color--invalid_active,var(--now-form-control-input-selection--secondary--background-color--invalid_active,var(--now-color_alert--critical-2,200,60,54))),var(--now-opacity--least,.1));border-color:RGB(var(--now-radio-buttons--border-color--invalid_active,var(--now-form-control-input-selection--secondary--border-color--invalid_active,var(--now-form-control-input-selection--secondary--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))))}.is-invalid .now-radio-button-input:active:not(:disabled):checked{background-color:RGB(var(--now-radio-buttons--background-color--selected_invalid_active,var(--now-form-control-input-selection--secondary--background-color--selected_invalid_active,var(--now-color_alert--critical-1,221,133,129))),var(--now-opacity--least,.1));border-color:RGB(var(--now-radio-buttons--border-color--selected_invalid_active,var(--now-form-control-input-selection--secondary--border-color--selected_invalid_active,var(--now-form-control-input-selection--secondary--border-color--selected_invalid,var(--now-color_alert--critical-2,200,60,54)))))}.-sm.is-invalid .now-radio-button-input:active:not(:disabled){box-shadow:0 0 0 calc(var(--now-radio-buttons_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2) RGB(var(--now-radio-buttons--border-color--invalid,var(--now-form-control-input-selection--secondary--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))),var(--now-opacity--least,.1))}.-sm.is-invalid .now-radio-button-input:active:not(:disabled):checked{box-shadow:0 0 0 calc(var(--now-radio-buttons_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2) RGB(var(--now-radio-buttons--border-color--selected_invalid_active,var(--now-form-control-input-selection--secondary--border-color--selected_invalid_active,var(--now-form-control-input-selection--secondary--border-color--selected_invalid,var(--now-color_alert--critical-2,200,60,54)))),var(--now-opacity--least,.1))}.-md.is-invalid .now-radio-button-input:active:not(:disabled){box-shadow:0 0 0 calc(var(--now-radio-buttons_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2 + var(--now-radio-buttons--scale-size, 1)*var(--now-radio-buttons_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2) RGB(var(--now-radio-buttons--border-color--invalid,var(--now-form-control-input-selection--secondary--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))),var(--now-opacity--least,.1))}.-md.is-invalid .now-radio-button-input:active:not(:disabled):checked{box-shadow:0 0 0 calc(var(--now-radio-buttons_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2 + var(--now-radio-buttons--scale-size, 1)*var(--now-radio-buttons_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2) RGB(var(--now-radio-buttons--border-color--selected_invalid_active,var(--now-form-control-input-selection--secondary--border-color--selected_invalid_active,var(--now-form-control-input-selection--secondary--border-color--selected_invalid,var(--now-color_alert--critical-2,200,60,54)))),var(--now-opacity--least,.1))}.is-invalid .now-radio-button-input:focus{background-color:RGB(var(--now-radio-buttons--background-color--invalid_focus,var(--now-form-control-input-selection--secondary--background-color--invalid_focus,var(--now-form-control-input-selection--secondary--background-color--invalid,var(--now-form-control-input-selection--secondary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))))));border-color:RGB(var(--now-radio-buttons--border-color--invalid_focus,var(--now-form-control-input-selection--secondary--border-color--invalid_focus,var(--now-form-control-input-selection--secondary--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))))}.is-invalid .now-radio-button-input:focus:checked{background-color:RGB(var(--now-radio-buttons--background-color--selected_invalid_focus,var(--now-form-control-input-selection--secondary--background-color--selected_invalid_focus,var(--now-form-control-input-selection--secondary--background-color--selected_focus,var(--now-form-control-input-selection--secondary--background-color--focus,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))))));border-color:RGB(var(--now-radio-buttons--border-color--selected_invalid_focus,var(--now-form-control-input-selection--secondary--border-color--selected_invalid_focus,var(--now-form-control-input-selection--secondary--border-color--selected_invalid,var(--now-color_alert--critical-2,200,60,54)))))}.-sm.is-invalid .now-radio-button-input:focus{box-shadow:inset 0 0 0 1px RGB(var(--now-radio-buttons--background-color--focus,var(--now-form-control-input-selection--secondary--background-color--focus,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))))),0 0 0 1px RGB(var(--now-color--neutral-0,255,255,255)),0 0 0 calc(var(--now-radio-buttons_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2 + 1px) RGB(var(--now-radio-buttons--border-color--invalid,var(--now-form-control-input-selection--secondary--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))),var(--now-opacity--least,.1))}.-sm.is-invalid .now-radio-button-input:focus:checked{box-shadow:inset 0 0 0 1px RGB(var(--now-radio-buttons--background-color--selected_invalid_focus,var(--now-form-control-input-selection--secondary--background-color--selected_invalid_focus,var(--now-form-control-input-selection--secondary--background-color--selected_focus,var(--now-form-control-input-selection--secondary--background-color--focus,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))))))),0 0 0 1px RGB(var(--now-color--neutral-0,255,255,255)),0 0 0 calc(var(--now-radio-buttons_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2 + 1px) RGB(var(--now-radio-buttons--border-color--selected_invalid_focus,var(--now-form-control-input-selection--secondary--border-color--selected_invalid_focus,var(--now-form-control-input-selection--secondary--border-color--selected_invalid,var(--now-color_alert--critical-2,200,60,54)))),var(--now-opacity--least,.1))}.-md.is-invalid .now-radio-button-input:focus{box-shadow:inset 0 0 0 1px RGB(var(--now-radio-buttons--background-color--focus,var(--now-form-control-input-selection--secondary--background-color--focus,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))))),0 0 0 .125rem RGB(var(--now-color--neutral-0,255,255,255)),0 0 0 calc(var(--now-radio-buttons_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2 + var(--now-radio-buttons--scale-size, 1)*var(--now-radio-buttons_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2 + .125rem) RGB(var(--now-radio-buttons--border-color--invalid,var(--now-form-control-input-selection--secondary--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))),var(--now-opacity--least,.1))}.-md.is-invalid .now-radio-button-input:focus:checked{box-shadow:inset 0 0 0 1px RGB(var(--now-radio-buttons--background-color--selected_invalid_focus,var(--now-form-control-input-selection--secondary--background-color--selected_invalid_focus,var(--now-form-control-input-selection--secondary--background-color--selected_focus,var(--now-form-control-input-selection--secondary--background-color--focus,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))))))),0 0 0 .125rem RGB(var(--now-color--neutral-0,255,255,255)),0 0 0 calc(var(--now-radio-buttons_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2 + var(--now-radio-buttons--scale-size, 1)*var(--now-radio-buttons_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2 + .125rem) RGB(var(--now-radio-buttons--border-color--selected_invalid_focus,var(--now-form-control-input-selection--secondary--border-color--selected_invalid_focus,var(--now-form-control-input-selection--secondary--border-color--selected_invalid,var(--now-color_alert--critical-2,200,60,54)))),var(--now-opacity--least,.1))}.now-radio-button-input:checked{background-color:RGB(var(--now-radio-buttons--background-color--selected,var(--now-form-control-input-selection--secondary--background-color--selected,var(--now-form-control-input-selection--secondary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-radio-buttons--border-color--selected,var(--now-form-control-input-selection--secondary--border-color--selected,var(--now-form-control-input-selection--secondary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))))}.now-radio-button-input:checked:after{background-color:RGB(var(--now-radio-buttons_radio--background-color,var(--now-form-control-input-selection_indicator--secondary--color,var(--now-color--primary-1,30,133,109))));border-radius:50%;content:\\\"\\\";position:absolute}.-sm .now-radio-button-input:checked:after{block-size:.375rem;inline-size:.375rem;inset-block-start:calc(50% - .1875rem);inset-inline-start:calc(50% - .1875rem)}.-md .now-radio-button-input:checked:after{block-size:calc(.25rem + var(--now-radio-buttons--scale-size, 1)*.5rem/2);inline-size:calc(.25rem + var(--now-radio-buttons--scale-size, 1)*.5rem/2);inset-block-start:calc(50% - .125rem - var(--now-radio-buttons--scale-size, 1)*.5rem/2/2);inset-inline-start:calc(50% - .125rem - var(--now-radio-buttons--scale-size, 1)*.5rem/2/2)}.now-radio-button-input:hover:not(:disabled):checked:after{background-color:RGB(var(--now-radio-buttons_radio--background-color--hover,var(--now-form-control-input-selection_indicator--secondary--color--hover,var(--now-form-control-input-selection_indicator--secondary--color,var(--now-color--primary-1,30,133,109)))))}.now-radio-button-input:focus:not(:disabled):checked:after{background-color:RGB(var(--now-radio-buttons_radio--background-color--focus,var(--now-form-control-input-selection_indicator--secondary--color--focus,var(--now-form-control-input-selection_indicator--secondary--color,var(--now-color--primary-1,30,133,109)))))}.now-radio-button-input:active:not(:disabled):checked:after{background-color:RGB(var(--now-radio-buttons_radio--background-color--active,var(--now-form-control-input-selection_indicator--secondary--color--active,var(--now-form-control-input-selection_indicator--secondary--color,var(--now-color--primary-1,30,133,109)))))}.is-invalid .now-radio-button-input:not(:disabled):checked:after{background-color:RGB(var(--now-radio-buttons_radio--background-color--invalid,var(--now-form-control-input-selection_indicator--secondary--color--invalid,var(--now-color_alert--critical-4,120,36,32))))}.is-invalid .now-radio-button-input:hover:not(:disabled):checked:after{background-color:RGB(var(--now-radio-buttons_radio--background-color--invalid_hover,var(--now-form-control-input-selection_indicator--secondary--color--invalid_hover,var(--now-form-control-input-selection_indicator--secondary--color--invalid,var(--now-color_alert--critical-4,120,36,32)))))}.is-invalid .now-radio-button-input:focus:not(:disabled):checked:after{background-color:RGB(var(--now-radio-buttons_radio--background-color--invalid_focus,var(--now-form-control-input-selection_indicator--secondary--color--invalid_focus,var(--now-form-control-input-selection_indicator--secondary--color--invalid,var(--now-color_alert--critical-4,120,36,32)))))}.is-invalid .now-radio-button-input:active:not(:disabled):checked:after{background-color:RGB(var(--now-radio-buttons_radio--background-color--invalid_active,var(--now-form-control-input-selection_indicator--secondary--color--invalid_active,var(--now-form-control-input-selection_indicator--secondary--color--invalid,var(--now-color_alert--critical-4,120,36,32)))))}.is-readonly .now-radio-button-input{background-color:RGB(var(--now-radio-buttons--background-color--readonly,var(--now-form-control-input-selection--secondary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-color:RGB(var(--now-radio-buttons--border-color--readonly,var(--now-form-control-input-selection--secondary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.is-readonly .now-radio-button-input:checked{background-color:RGB(var(--now-radio-buttons--background-color--selected_readonly,var(--now-form-control-input-selection--secondary--background-color--selected_readonly,var(--now-color--neutral-3,209,214,214))));border-color:RGB(var(--now-radio-buttons--border-color--selected_readonly,var(--now-form-control-input-selection--secondary--border-color--selected_readonly,var(--now-form-control-input-selection--secondary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))))}.is-readonly .now-radio-button-input:checked:after{background-color:RGB(var(--now-radio-buttons_radio--background-color--readonly,var(--now-form-control-input-selection_indicator--secondary--color--readonly,var(--now-form-control-input-selection_indicator--secondary--color,var(--now-color--primary-1,30,133,109)))))}.now-radio-button-label{color:RGB(var(--now-radio-buttons_label--color,var(--now-form-control_label--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));font-family:var(--now-radio-buttons--font-family,var(--now-form-control_label--primary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-style:var(--now-radio-buttons--font-style,var(--now-form-control_label--primary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-radio-buttons--font-weight,var(--now-form-control_label--primary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));text-transform:var(--now-radio-buttons--text-transform,var(--now-form-control_label--primary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.-sm .now-radio-button-label{-webkit-margin-before:.25rem;font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));line-height:1.3333;margin-block-start:.25rem}.-sm .now-radio-button-label .now-line-height-crop{display:block}.-sm .now-radio-button-label .now-line-height-crop:after,.-sm .now-radio-button-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-sm .now-radio-button-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.-sm .now-radio-button-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.-sm .now-radio-button-label .now-line-height-crop+.-sm .now-radio-button-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-md .now-radio-button-label{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*(var(--now-radio-buttons--scale-size, 1)*-0.75 - .75));font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem));line-height:1.25;margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*(var(--now-radio-buttons--scale-size, 1)*-0.75 - .75))}.-md .now-radio-button-label .now-line-height-crop{display:block}.-md .now-radio-button-label .now-line-height-crop:after,.-md .now-radio-button-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-md .now-radio-button-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-md .now-radio-button-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-md .now-radio-button-label .now-line-height-crop+.-md .now-radio-button-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-radio-button.-sm:last-of-type .now-radio-button-label .now-line-height-crop{-webkit-padding-after:calc(var(--now-line-height-crop--after)*1.06664*-1);display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1.06664*-1)}.now-radio-button.-sm:last-of-type .now-radio-button-label .now-line-height-crop:after,.now-radio-button.-sm:last-of-type .now-radio-button-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-radio-button.-sm:last-of-type .now-radio-button-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-radio-button.-sm:last-of-type .now-radio-button-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-radio-button.-sm:last-of-type .now-radio-button-label .now-line-height-crop+.now-radio-button.-sm:last-of-type .now-radio-button-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-radio-button.-md:last-of-type .now-radio-button-label .now-line-height-crop{-webkit-padding-after:calc(var(--now-line-height-crop--after)*1*-1);display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.now-radio-button.-md:last-of-type .now-radio-button-label .now-line-height-crop:after,.now-radio-button.-md:last-of-type .now-radio-button-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-radio-button.-md:last-of-type .now-radio-button-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-radio-button.-md:last-of-type .now-radio-button-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-radio-button.-md:last-of-type .now-radio-button-label .now-line-height-crop+.now-radio-button.-md:last-of-type .now-radio-button-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}@media(forced-colors:active){.now-radio-button.is-disabled{opacity:1}.now-radio-button-input:active,.now-radio-button-input:hover{border-color:highlight}.now-radio-button-input:focus{border-color:buttonborder;outline:1px solid highlight}.is-readonly .now-radio-button-input,.now-radio-button-input:disabled{border-color:graytext!important}.is-readonly .now-radio-button-input:checked:after,.now-radio-button-input:disabled:checked:after{background-color:graytext!important}.now-radio-button-input:checked{border-color:selecteditem}.now-radio-button-input:checked:hover{border-color:highlight}.now-radio-button-input:checked:after{background-color:selecteditem!important}.is-disabled .now-radio-button-label{color:graytext}.is-readonly .now-radio-button-label{color:canvastext}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;-webkit-clip-path:inset(50%);clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.field-decorations-container{display:flex;gap:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-form-field-layout.-horizontal{align-items:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr);grid-template-rows:1fr -webkit-max-content;grid-template-rows:1fr max-content}.sn-form-field-layout.-horizontal.align-center{align-items:center}.-vertical .form-field-label-wrap{-webkit-margin-after:calc(var(--now-scale-space--xs, 1)*.25rem);margin-block-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.-horizontal .form-field-label-wrap{justify-content:end}.-horizontal:not(.align-center) .form-field-label-wrap{-webkit-padding-before:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-vertical .sn-control-highlighted-field-label-end{-webkit-margin-start:auto;margin-inline-start:auto}.-vertical .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){-webkit-padding-start:.75rem;max-width:5.25rem;padding-inline-start:.75rem}.-horizontal .sn-control-highlighted-field-label-end{-webkit-padding-start:.25rem;flex:1;flex-wrap:wrap;gap:.125rem;padding-inline-start:.25rem}.-horizontal .sn-control-highlighted-field-label-end ::slotted(now-highlighted-value){min-width:0}.-horizontal:not(.align-center) .sn-control-highlighted-field-label-end{-webkit-padding-before:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-horizontal .form-field-message-container{grid-column-start:2}now-highlighted-value.first-label-end{max-width:2.5rem}.now-m-block--xs{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-block-start:.25rem}.now-m-block-start--xs{-webkit-margin-before:.25rem;margin-block-start:.25rem}.now-m-block-end--xs{-webkit-margin-after:.25rem;margin-block-end:.25rem}.now-m-inline--xs{-webkit-margin-start:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem;margin-inline-start:.25rem}.now-m-inline-start--xs{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-m-inline-end--xs{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-message{-webkit-margin-before:.25rem;border-radius:var(--now-form-field_message--border-radius,.125rem);border-style:solid;border-width:var(--now-form-field_message--border-width,0);display:flex;font-family:var(--now-form-field_message--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:.75rem;font-style:var(--now-form-field_message--font-style,normal);font-weight:var(--now-form-field_message--font-weight,normal);inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,none);word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205)));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129)));color:RGB(var(--now-form-field_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-field_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96)));color:RGB(var(--now-form-field_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-field_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202)));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123)));color:RGB(var(--now-form-field_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-field_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-color_alert--info-0,195,221,240)));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-color_alert--info-1,104,171,218)));color:RGB(var(--now-form-field_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-field_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-form-field_message--suggestion--background-color-alpha,0));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-field_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;block-size:1rem;display:flex}.-vertical .now-form-field-label{-webkit-margin-after:calc(var(--now-scale-space--xxs, 1)*.125rem);margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{-webkit-margin-end:.25rem;justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{-webkit-margin-start:auto;margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){-webkit-padding-start:.75rem;max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{-webkit-margin-start:.25rem;flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.-vertical .now-form-field-label-inline ::slotted(*){-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:.75rem;font-style:var(--now-form-field_label--font-style,normal);font-weight:var(--now-form-field_label--font-weight,normal);line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,none)}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.now-form-field-label-label .will-truncate{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-form-field-label-label .will-truncate:after{content:\\\"\\\";display:block}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{-webkit-padding-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1));block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){-webkit-margin-start:0!important;margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){-webkit-margin-start:0!important;margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){-webkit-margin-end:0!important;margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){-webkit-margin-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important;margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){-webkit-margin-end:0!important;margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-horizontal .now-form-field-button{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::-webkit-input-placeholder{color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{-webkit-border-after:1px highlight solid!important;border-block-end:1px solid highlight!important}}input,textarea{font-family:inherit}now-input{width:100%}:host(sn-record-input.is-focused) .sn-control-field{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))}.sn-control{-webkit-margin-before:calc(var(--now-scale-space--sm, 1)*.5rem);-webkit-margin-after:calc(var(--now-scale-space--sm, 1)*.5rem);border:0;display:flex;flex-direction:column;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding:0;position:relative;width:100%}.sn-control .form-field-label-wrap{align-items:center;display:flex;height:1rem}.sn-control .sn-control-highlighted-field-label-end{align-items:center;display:flex}.sn-control-input{border:0;display:flex;flex-direction:column;padding:0;position:relative;width:100%}.sn-control-label{align-items:center;color:RGB(var(--now-form-field_label--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))));display:flex;font-family:var(--now-form-field_label--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:.75rem;font-style:var(--now-form-field_label--font-style,normal);font-weight:var(--now-form-field_label--font-weight,normal);line-height:1.3333;min-width:0;padding:0 0 calc(var(--now-scale-space--xxs, 1)*.125rem);text-transform:var(--now-form-field_label--text-transform,none)}.sn-control-label-label{-webkit-margin-start:0;margin-inline-start:0}.sn-control-label>span.now-line-height-crop{display:block}.sn-control-label>span.now-line-height-crop:after,.sn-control-label>span.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.sn-control-label>span.now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-label>span.now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-label>span.now-line-height-crop+.sn-control-label>span.now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-label>span.now-line-height-crop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-label>span.now-line-height-crop>span:after{content:\\\"\\\";display:block}.sn-control-label .sn-control-field-helper,.sn-control-label>now-icon,.sn-control-label>sn-icon{-webkit-padding-start:calc(var(--now-scale-space--xs, 1)*.25rem);display:inline-block;line-height:0;padding-inline-start:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control.has-error .sn-control-label{color:RGB(var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.sn-control sn-record-choice-search[disabled=true],.sn-control sn-record-dropdown-internal[readonly=true]{pointer-events:none}.sn-control-controls,.sn-control-icon{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.sn-control-controls now-button,.sn-control-controls sn-record-control,.sn-control-icon now-button,.sn-control-icon sn-record-control{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-icon{margin:0 calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-field{background-color:RGBA(var(--now-form-field--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-form-field--background-color-alpha,0));border-color:RGB(var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))));border-radius:var(--now-form-field--border-radius,0);border-style:solid;border-width:var(--now-form-field--border-width,0);box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28)),var(--now-form-field_inset--color-alpha,0)),0 var(--now-form-field--border-block-end-width,1px) 0 0 RGB(var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))));color:RGB(var(--now-form-field--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));display:flex;font-size:1rem;position:relative}.sn-control-field,.sn-control-field.read-only{-webkit-padding-start:calc(var(--now-scale-space--sm, 1)*.5rem);padding-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-field--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-field--background-color-alpha,0)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:.25rem;border-width:var(--now-form-field--border-width--readonly,var(--now-form-field--border-width,0));box-shadow:0 var(--now-form-field--border-block-end-width--readonly,0) 0 0 RGB(var(--now-form-field--border-color--readonly,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-form-field--color--readonly,var(--now-form-field--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.sn-control-field.read-only .empty-read-only{color:RGBA(var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))),var(--now-opacity--more,.65))}.sn-control-field.read-only::-webkit-input-placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))),var(--now-opacity--more,.65))}.sn-control-field.read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))),var(--now-opacity--more,.65))}.sn-control.is-focus .sn-control-field.read-only,.sn-control:focus .sn-control-field.read-only{background-color:RGBA(var(--now-form-field--background-color--readonly,var(--now-form-field--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field--background-color-alpha--readonly,var(--now-form-field--background-color-alpha,0)));border-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))))}.sn-control.is-focus .sn-control-field.read-only:after,.sn-control:focus .sn-control-field.read-only:after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,0);left:0;position:absolute;right:0}.sn-control-field.is-disabled{border-color:RGBA(var(--now-form-field--border-color--disabled,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))),var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:not-allowed}.sn-control-field:not(.is-focus,.read-only) :after{background-color:RGB(var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))));bottom:calc(var(--now-form-field--border-block-end-width, 1px)*-1);content:\\\"\\\";height:var(--now-form-field--border-block-end-width,1px);left:0;position:absolute;right:0}.sn-control-field:not(.is-focus).read-only :after{background-color:RGB(var(--now-form-field--border-color--readonly,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:0;content:\\\"\\\";height:var(--now-form-field--border-block-end-width--readonly,0);left:0;position:absolute;right:0}.sn-control-field:not(.read-only).is-hover{background-color:RGBA(var(--now-form-field--background-color--hover,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231))),var(--now-form-field--background-color-alpha--hover,1));border-color:RGB(var(--now-form-field--border-color--hover,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));box-shadow:inset 0 .125rem 0 1px RGBA(var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28)),var(--now-form-field_inset--color-alpha,0)),0 var(--now-form-field--border-block-end-width,1px) 0 0 RGB(var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))}.sn-control-field:not(.read-only).is-hover :after{background:RGB(var(--now-form-field--border-color--hover,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));bottom:calc(var(--now-form-field--border-block-end-width, 1px)*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, 1px)*2);left:0;position:absolute;right:0}.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){background-color:RGB(var(--now-form-field--background-color--focus,var(--now-color--secondary-0,217,235,238)));border-color:RGB(var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142)));box-shadow:0 calc(var(--now-form-field--border-block-end-width, 1px)*2) 0 0 RGB(var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 var(--now-form-field--border-width,0) RGB(var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142))),0 0 0 var(--now-form-field_focus-ring--width,0) RGB(var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142)),var(--now-opacity--least,.1))}@media(forced-colors:active){.sn-control.is-focus .sn-control-field:not(.read-only),.sn-control:focus .sn-control-field:not(.read-only){border-color:highlight;outline:.0625rem solid highlight}}.sn-control.is-focus .sn-control-field:not(.read-only):after,.sn-control:focus .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142)));bottom:calc(var(--now-form-field--border-block-end-width, 1px)*-2);content:\\\"\\\";height:calc(var(--now-form-field--border-block-end-width, 1px)*2);left:0;position:absolute;right:0}.sn-control.has-error .sn-control-field:not(.read-only){border-color:RGB(var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)));box-shadow:0 var(--now-form-field--border-block-end-width,1px) 0 RGB(var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.sn-control.has-error .sn-control-field:not(.read-only):after{background:RGB(var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.sn-control.has-error.is-readonly .sn-control-field:not(.read-only){box-shadow:0 var(--now-form-field--border-block-end-width--readonly,0) 0 RGB(var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.sn-control-field::-webkit-input-placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))),var(--now-opacity--most,.8))}.sn-control-field::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))),var(--now-opacity--most,.8))}.sn-control.-standalone .sn-control-field{border:1px solid;border-color:RGB(var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))}.sn-control.-standalone .sn-control-field:after{display:none}.sn-control.-worknote .sn-control-field{background:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--mid,.5))}.sn-control.-borderless .sn-control-field{border:none}.sn-control-field.no-border{border:none;box-shadow:none}.sn-control-character-counter,.sn-control-description{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:.75rem;margin:0;padding:calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--xs, 1)*.25rem) 0;position:relative}.has-error .sn-control-character-counter,.has-error .sn-control-description,.sn-control-character-counter.error,.sn-control-description.error{color:RGB(var(--now-color_alert--critical-3,160,48,43))}.sn-control-character-counter.warning,.sn-control-description.warning{color:RGB(var(--now-color_alert--warning-3,198,185,22))}.sn-control-messages{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.75rem;padding-top:calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message{border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:.75rem;font-style:var(--now-form-field_message--font-style,normal);font-weight:var(--now-form-field_message--font-weight,normal);line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-transform:var(--now-form-field_message--text-transform,none);width:100%;word-break:break-word}.sn-control-message:last-of-type{margin:0}.sn-control-message.-multi{flex-direction:column}.sn-control-message.-danger{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205)));color:RGB(var(--now-form-field_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.sn-control-message.-primary,.sn-control-message.-success{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202)));color:RGB(var(--now-form-field_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.sn-control-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-color_alert--info-0,195,221,240)));color:RGB(var(--now-form-field_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.sn-control-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)));color:RGB(var(--now-form-field_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.sn-control-message.-suggestion{background-color:RGBA(var(--now-form-field_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-form-field_message--suggestion--background-color-alpha,0));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.sn-control-message-row{align-items:center;display:flex;line-height:1.3333;margin:0 0 calc(var(--now-scale-space--xs, 1)*.25rem);width:100%}.sn-control-message-row:last-of-type{margin:0}.sn-control-message-content now-icon{-webkit-margin-end:calc(var(--now-scale-space--xs, 1)*.25rem);display:flex;margin-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-control-message-content>span{align-self:center;display:block}.sn-control-message-content>span:after,.sn-control-message-content>span:before{block-size:0;content:\\\"\\\";display:block}.sn-control-message-content>span:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.sn-control-message-content>span:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.sn-control-message-content>span+.sn-control-message-content>span{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.sn-control-message-content>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-control-message-content>span>span:after{content:\\\"\\\";display:block}.sn-control-group{align-items:center;display:flex;position:relative}.sn-dropdown{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px solid;border-color:RGB(var(--now-color--primary-2,23,100,82));box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));left:auto;list-style:none;margin:-2px 0 0;padding:0;position:fixed;z-index:1000}.sn-dropdown-header{align-items:center;background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));display:flex;font-size:1rem;font-weight:600;overflow:hidden;padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);text-overflow:ellipsis;white-space:nowrap;width:100%}.sn-dropdown-header:after{content:\\\"\\\";display:block}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-header,:root:not([dir=rtl]) .sn-dropdown-header{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-header,:root[dir=rtl] .sn-dropdown-header{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));list-style:none;margin:0;max-height:300px;overflow-x:hidden;overflow-y:auto;padding:0;position:relative;width:100%}.sn-dropdown-list-item{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));cursor:pointer;display:flex;font-size:.75rem;padding-bottom:calc(var(--now-scale-space--sm, 1)*6px);padding-top:calc(var(--now-scale-space--sm, 1)*6px);position:relative;text-decoration:none}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--lg, 1)*1rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--lg, 1)*1rem)}:host(:not([dir=rtl])) .sn-dropdown-list-item,:root:not([dir=rtl]) .sn-dropdown-list-item{padding-right:calc(var(--now-scale-space--xl, 1)*1.5rem)}:host([dir=rtl]) .sn-dropdown-list-item,:root[dir=rtl] .sn-dropdown-list-item{padding-left:calc(var(--now-scale-space--xl, 1)*1.5rem)}.sn-dropdown-list-item.is-focus,.sn-dropdown-list-item.is-hover,.sn-dropdown-list-item:focus,.sn-dropdown-list-item:hover{background:RGB(var(--now-color--secondary-0,217,235,238))}.sn-dropdown-list-item-content{align-items:center;display:inline-flex;flex:1 1 auto;flex-wrap:wrap;overflow:hidden;position:relative}.sn-dropdown-list-item-content>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-dropdown-list-item-content>span:after{content:\\\"\\\";display:block}.sn-dropdown-list-item-content .sn-secondary-delimiter{white-space:pre}.sn-dropdown-list-item-content .highlight{background-color:RGBA(var(--now-color_alert--warning-0,244,240,191),var(--now-opacity--more,.65));font-weight:600}.sn-dropdown-list-item-title{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:1rem;position:relative;width:100%}.sn-dropdown-list-selected-icon{align-items:center;color:RGB(var(--now-color--secondary-1,1,119,142));display:flex;flex:0 0 auto;justify-content:center;width:.75rem}:host(:not([dir=rtl])) .sn-dropdown-list-selected-icon,:root:not([dir=rtl]) .sn-dropdown-list-selected-icon{margin-right:calc(var(--now-scale-space--xs, 1)*.25rem)}:host([dir=rtl]) .sn-dropdown-list-selected-icon,:root[dir=rtl] .sn-dropdown-list-selected-icon{margin-left:calc(var(--now-scale-space--xs, 1)*.25rem)}.sn-el-input{-webkit-padding-end:calc(var(--now-scale-space--xs, 1)*.25rem);align-items:center;background:transparent;border:0;color:inherit;cursor:text;display:inline-flex;flex:1 1 auto;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);font-size:1rem;font-style:var(--now-form-field--font-style,normal);font-weight:var(--now-form-field--font-weight,normal);height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);margin:0;min-width:1px;padding:0;padding-inline-end:calc(var(--now-scale-space--xs, 1)*.25rem);position:relative;text-transform:var(--now-form-field--text-transform,none);width:100%}.sn-el-input:focus{outline:none}.sn-el-input::-ms-clear{display:none}.sn-el-input:-moz-ui-invalid{box-shadow:none}.is-disabled .sn-el-input,.sn-el-input.is-disabled{cursor:not-allowed}.sn-el-input::-webkit-input-placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))),var(--now-opacity--most,.8))}.sn-el-input::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))),var(--now-opacity--most,.8))}.is-align-end .sn-el-input,.is-reversed .sn-el-input{text-align:end}.is-align-end-reversed .sn-el-input{text-align:start}.sn-el-input:read-only::-webkit-input-placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))),var(--now-opacity--more,.65))}.sn-el-input:-moz-read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))),var(--now-opacity--more,.65))}.sn-el-input:read-only::placeholder{color:RGBA(var(--now-form-field_placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))),var(--now-opacity--more,.65))}now-textarea{display:inline}now-textarea.fit-to-parent{-webkit-padding-before:calc(var(--now-scale-space--sm, 1)*.5rem);-webkit-padding-after:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block:0;padding-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}:not([type=textarea i]) .sn-control-field{height:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2)}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-record-dts{-webkit-margin-before:calc(var(--now-scale-space--md, 1)*.75rem);-webkit-margin-after:calc(var(--now-scale-space--md, 1)*.75rem);background-color:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));border:var(--now-container--border-width,1px) solid RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)));border-radius:.125rem;margin-block-end:calc(var(--now-scale-space--md, 1)*.75rem);margin-block-start:calc(var(--now-scale-space--md, 1)*.75rem)}.sn-record-dts-response{margin:0;overflow:auto;overflow-wrap:break-word;padding:0 calc(var(--now-scale-space--sm, 1)*.5rem) calc(var(--now-scale-space--sm, 1)*.5rem);white-space:pre-wrap}.sn-record-dts-header{align-items:center;display:flex;justify-content:space-between;padding:calc(var(--now-scale-space--sm, 1)*.5rem)}.sn-record-dts-translator{font-size:.75rem;margin:0}.sn-record-dts-loader{-webkit-margin-after:calc(var(--now-scale-space--md, 1)*.75rem);margin-block-end:calc(var(--now-scale-space--md, 1)*.75rem)}.sn-record-dts-translate-icon{margin-top:calc(var(--now-scale-space--md, 1)*2rem);position:absolute;right:0;z-index:1}.sn-record-dts-translate-icon-html{margin-top:calc(var(--now-scale-space--md, 1)*3rem);position:absolute;right:1rem;z-index:2}.sn-control.is-readonly .sn-record-dts-translate-icon-html{margin-top:calc(var(--now-scale-space--md, 1)*1em)}.sn-editor .sn-control .form-field-label-wrap .now-form-field-label{min-width:0}.sn-editor .sn-control .sn-control-highlighted-field-label-end now-highlighted-value{-webkit-padding-start:.75rem;max-width:5.25rem;padding-inline-start:.75rem}.sn-mce-readonly{min-height:160px}.fit-to-parent{block-size:100%}.fit-to-parent .sn-control{-webkit-padding-before:calc(var(--now-scale-space--sm, 1)*.5rem);-webkit-padding-after:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block:0;padding-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-form-field-message{-webkit-margin-before:.25rem;-webkit-padding-before:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));-webkit-padding-after:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));-webkit-padding-start:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));-webkit-padding-end:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:.75rem;font-style:var(--now-form-field_message--font-style,normal);font-weight:var(--now-form-field_message--font-weight,normal);inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block-end:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-block-start:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline-end:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));padding-inline-start:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,none);word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205)));color:RGB(var(--now-form-field_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)));color:RGB(var(--now-form-field_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202)));color:RGB(var(--now-form-field_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-color_alert--info-0,195,221,240)));color:RGB(var(--now-form-field_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-form-field_message--suggestion--background-color-alpha,0));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{-webkit-margin-before:0;-webkit-margin-after:0;align-self:center;margin-block-end:0;margin-block-start:0}.now-form-field-label{align-items:center;block-size:1rem;display:flex}.-vertical .now-form-field-label{-webkit-margin-after:calc(var(--now-scale-space--xxs, 1)*.125rem);margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{-webkit-margin-end:.25rem;justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{-webkit-margin-start:auto;margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){-webkit-padding-start:.75rem;max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{-webkit-margin-start:.25rem;flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.-vertical .now-form-field-label-inline ::slotted(*){-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:.75rem;font-style:var(--now-form-field_label--font-style,normal);font-weight:var(--now-form-field_label--font-weight,normal);line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,none)}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.now-form-field-label-label .will-truncate{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-form-field-label-label .will-truncate:after{content:\\\"\\\";display:block}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{-webkit-padding-start:.5rem;-webkit-padding-end:.25rem;block-size:1.5rem;padding-inline-end:.25rem;padding-inline-start:.5rem}.-md .now-form-field{-webkit-padding-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1));block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){-webkit-margin-start:0!important;-webkit-margin-end:.25rem!important;margin-inline-end:.25rem!important;margin-inline-start:0!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){-webkit-margin-start:0!important;margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){-webkit-margin-start:0!important;margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){-webkit-margin-start:0!important;-webkit-margin-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important;margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important;margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(:last-child){-webkit-margin-end:0!important;margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){-webkit-margin-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important;margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){-webkit-margin-end:0!important;margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{-webkit-padding-start:0;-webkit-padding-end:0;inline-size:100%;padding-inline-end:0;padding-inline-start:0}.now-form-field-required-indicator{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-horizontal .now-form-field-button{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::-webkit-input-placeholder{color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{-webkit-border-after:1px highlight solid!important;border-block-end:1px solid highlight!important}}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;-webkit-clip-path:inset(50%);clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-m-block--xs{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-block-start:.25rem}.now-m-block-start--xs{-webkit-margin-before:.25rem;margin-block-start:.25rem}.now-m-block-end--xs{-webkit-margin-after:.25rem;margin-block-end:.25rem}.now-m-inline--xs{-webkit-margin-start:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem;margin-inline-start:.25rem}.now-m-inline-start--xs{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-m-inline-end--xs{-webkit-margin-end:.25rem;margin-inline-end:.25rem}:host{-webkit-margin-before:calc(var(--now-scale-space--sm, 1)*.5rem);-webkit-margin-after:calc(var(--now-scale-space--sm, 1)*.5rem);display:inline-block;margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.now-select{font-variant:normal;letter-spacing:inherit;position:relative;text-indent:0;text-shadow:none;white-space:normal;word-spacing:inherit}.now-select.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) 0 minmax(0,4fr) 0 minmax(0,1fr)}.now-select.-horizontal .now-form-field-messages{grid-column-start:3}.now-select-trigger{background-color:RGB(var(--now-select--background-color,var(--now-form-field--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-select--background-color-alpha,var(--now-form-field--background-color-alpha,0)));border-color:RGB(var(--now-select--border-color,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-select--border-radius,var(--now-form-field--border-radius,0));border-width:var(--now-select--border-width,var(--now-form-field--border-width,0));color:RGB(var(--now-select--color,var(--now-form-field--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));cursor:pointer;font-family:var(--now-form-field--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-style:var(--now-form-field--font-style,normal);font-weight:var(--now-form-field--font-weight,normal);inline-size:100%;outline:none;padding-block:0;text-align:start;text-transform:var(--now-form-field--text-transform,none)}.-md .now-select-trigger,.-sm .now-select-trigger{-webkit-padding-end:0;padding-inline-end:0}.-sm .now-select-trigger{box-shadow:inset 0 1px 0 1px RGB(var(--now-select_inset--color,var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28))),var(--now-select_inset--color-alpha,var(--now-form-field_inset--color-alpha,0))),0 var(--now-select--border-block-end-width,var(--now-form-field--border-block-end-width,1px)) 0 0 RGB(var(--now-select--border-color,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));font-size:.75rem;line-height:1.3333}.-sm .now-select-trigger:not(.is-disabled).has-hover,.-sm .now-select-trigger:not(.is-disabled):hover{box-shadow:inset 0 1px 0 1px RGB(var(--now-select_inset--color--hover,var(--now-form-field_inset--color--hover,var(--now-color--primary-3,15,67,55))),var(--now-select_inset--color-alpha--hover,var(--now-form-field_inset--color-alpha--hover,.1))),0 calc(var(--now-select--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-select--border-color--hover,var(--now-form-field--border-color--hover,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))))}.-sm .now-select-trigger.is-invalid{box-shadow:inset 0 1px 0 1px RGB(var(--now-select_inset--color--invalid,var(--now-form-field_inset--color--invalid,var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28)))),var(--now-select_inset--color-alpha--invalid,var(--now-form-field_inset--color-alpha--invalid,.1))),0 var(--now-select--border-block-end-width,var(--now-form-field--border-block-end-width,1px)) 0 0 RGB(var(--now-select--border-color--invalid,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))}.-sm .now-select-trigger.is-invalid.has-hover,.-sm .now-select-trigger.is-invalid.is-disabled:hover{box-shadow:inset 0 1px 0 1px RGB(var(--now-select_inset--color--invalid_hover,var(--now-form-field_inset--color--invalid_hover,var(--now-color_alert--critical-5,80,24,22))),var(--now-select_inset--color-alpha--invalid_hover,var(--now-form-field_inset--color-alpha--invalid_hover,.1))),0 calc(var(--now-select--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-select--border-color--invalid_hover,var(--now-form-field--border-color--invalid_hover,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))))}.-md .now-select-trigger{box-shadow:inset 0 .125rem 0 1px RGB(var(--now-select_inset--color,var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28))),var(--now-select_inset--color-alpha,var(--now-form-field_inset--color-alpha,0))),0 var(--now-select--border-block-end-width,var(--now-form-field--border-block-end-width,1px)) 0 0 RGB(var(--now-select--border-color,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));font-size:1rem;line-height:1.25}.-md .now-select-trigger:not(.is-disabled).has-hover,.-md .now-select-trigger:not(.is-disabled):hover{box-shadow:inset 0 .125rem 0 1px RGB(var(--now-select_inset--color--hover,var(--now-form-field_inset--color--hover,var(--now-color--primary-3,15,67,55))),var(--now-select_inset--color-alpha--hover,var(--now-form-field_inset--color-alpha--hover,.1))),0 calc(var(--now-select--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-select--border-color--hover,var(--now-form-field--border-color--hover,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))))}.-md .now-select-trigger.is-invalid{box-shadow:inset 0 .125rem 0 1px RGB(var(--now-select_inset--color--invalid,var(--now-form-field_inset--color--invalid,var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28)))),var(--now-select_inset--color-alpha--invalid,var(--now-form-field_inset--color-alpha--invalid,.1))),0 var(--now-select--border-block-end-width,var(--now-form-field--border-block-end-width,1px)) 0 0 RGB(var(--now-select--border-color--invalid,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))}.-md .now-select-trigger.is-invalid.has-hover,.-md .now-select-trigger.is-invalid.is-disabled:hover,.-md .now-select-trigger.is-invalid:hover{box-shadow:inset 0 .125rem 0 1px RGB(var(--now-select_inset--color--invalid_hover,var(--now-form-field_inset--color--invalid_hover,var(--now-color_alert--critical-5,80,24,22))),var(--now-select_inset--color-alpha--invalid_hover,var(--now-form-field_inset--color-alpha--invalid_hover,.1))),0 calc(var(--now-select--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-select--border-color--invalid_hover,var(--now-form-field--border-color--invalid_hover,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))))}.now-select-trigger:not(.is-disabled).has-hover,.now-select-trigger:not(.is-disabled):hover{background-color:RGB(var(--now-select--background-color--hover,var(--now-form-field--background-color--hover,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-select--background-color-alpha--hover,var(--now-form-field--background-color-alpha--hover,1)));border-color:RGB(var(--now-select--border-color--hover,var(--now-form-field--border-color--hover,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))))}.now-select-trigger:not(.is-disabled).is-invalid.has-focus,.now-select-trigger:not(.is-disabled).is-invalid:focus,.now-select-trigger:not(.is-disabled).is-invalid:focus-within{background-color:RGB(var(--now-select--background-color--invalid_focus,var(--now-form-field--background-color--invalid_focus,var(--now-form-field--background-color--invalid,var(--now-color_alert--critical-0,241,206,205)))),var(--now-select--background-color-alpha--invalid_focus,var(--now-form-field--background-color-alpha--invalid_focus,1)));border-color:RGB(var(--now-select--border-color--invalid_focus,var(--now-form-field--border-color--invalid_focus,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))))}.-sm .now-select-trigger:not(.is-disabled).is-invalid.has-focus,.-sm .now-select-trigger:not(.is-disabled).is-invalid:focus,.-sm .now-select-trigger:not(.is-disabled).is-invalid:focus-within{box-shadow:0 calc(var(--now-select--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-select--border-color--invalid_focus,var(--now-form-field--border-color--invalid_focus,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))),inset 0 .125rem 0 1px RGB(var(--now-select_inset--color--invalid_focus,var(--now-form-field_inset--color--invalid_focus,var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28)))),var(--now-select_inset--color-alpha--invalid_focus,var(--now-form-field_inset--color-alpha--invalid_focus,.1))),inset 0 0 0 var(--now-select--border-width,var(--now-form-field--border-width,0)) RGB(var(--now-select--border-color--invalid_focus,var(--now-form-field--border-color--invalid_focus,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))),0 0 0 calc(var(--now-form-field_focus-ring--width, 0px)/2) RGB(var(--now-select--border-color--invalid_focus,var(--now-form-field--border-color--invalid_focus,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))),var(--now-opacity--least,.1))}.-sm .now-select-trigger:not(.is-disabled):focus{box-shadow:0 calc(var(--now-select--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-select--border-color--focus,var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142)))),inset 0 .125rem 0 1px RGB(var(--now-select_inset--color--focus,var(--now-form-field_inset--color--focus,var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28)))),var(--now-select_inset--color-alpha--focus,var(--now-form-field_inset--color-alpha--focus,.1))),inset 0 0 0 var(--now-select--border-width,var(--now-form-field--border-width,0)) RGB(var(--now-select--border-color--focus,var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142)))),0 0 0 calc(var(--now-form-field_focus-ring--width, 0px)/2) RGB(var(--now-select--border-color--focus,var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142))),var(--now-opacity--least,.1))}.-sm .now-select-trigger:not(.is-disabled).is-open{box-shadow:0 calc(var(--now-select--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-select--border-color--opened,var(--now-color--secondary-1,1,119,142))),inset 0 .125rem 0 1px RGB(var(--now-select_inset--color--opened,var(--now-color--primary-3,15,67,55)),var(--now-select_inset--color-alpha--opened,.1)),inset 0 0 0 var(--now-select--border-width,var(--now-form-field--border-width,0)) RGB(var(--now-select--border-color--opened,var(--now-color--secondary-1,1,119,142))),0 0 0 calc(var(--now-form-field_focus-ring--width, 0px)/2) RGB(var(--now-select--border-color--opened,var(--now-color--secondary-1,1,119,142)),var(--now-opacity--least,.1))}.-md .now-select-trigger:not(.is-disabled).is-invalid.has-focus,.-md .now-select-trigger:not(.is-disabled).is-invalid:focus,.-md .now-select-trigger:not(.is-disabled).is-invalid:focus-within{box-shadow:0 calc(var(--now-select--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-select--border-color--invalid_focus,var(--now-form-field--border-color--invalid_focus,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))),inset 0 .1875rem 0 1px RGB(var(--now-select_inset--color--invalid_focus,var(--now-form-field_inset--color--invalid_focus,var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28)))),var(--now-select_inset--color-alpha--invalid_focus,var(--now-form-field_inset--color-alpha--invalid_focus,.1))),inset 0 0 0 var(--now-select--border-width,var(--now-form-field--border-width,0)) RGB(var(--now-select--border-color--invalid_focus,var(--now-form-field--border-color--invalid_focus,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))),0 0 0 var(--now-form-field_focus-ring--width,0) RGB(var(--now-select--border-color--invalid_focus,var(--now-form-field--border-color--invalid_focus,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))),var(--now-opacity--least,.1))}.-md .now-select-trigger:not(.is-disabled):focus{box-shadow:0 calc(var(--now-select--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-select--border-color--focus,var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142)))),inset 0 .1875rem 0 1px RGB(var(--now-select_inset--color--focus,var(--now-form-field_inset--color--focus,var(--now-form-field_inset--color,var(--now-color--neutral-18,22,27,28)))),var(--now-select_inset--color-alpha--focus,var(--now-form-field_inset--color-alpha--focus,.1))),inset 0 0 0 var(--now-select--border-width,var(--now-form-field--border-width,0)) RGB(var(--now-select--border-color--focus,var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,0) RGB(var(--now-select--border-color--focus,var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142))),var(--now-opacity--least,.1))}.-md .now-select-trigger:not(.is-disabled).is-open{box-shadow:0 calc(var(--now-select--border-block-end-width, var(--now-form-field--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-select--border-color--opened,var(--now-color--secondary-1,1,119,142))),inset 0 .1875rem 0 1px RGB(var(--now-select_inset--color--opened,var(--now-color--primary-3,15,67,55)),var(--now-select_inset--color-alpha--opened,.1)),inset 0 0 0 var(--now-select--border-width,var(--now-form-field--border-width,0)) RGB(var(--now-select--border-color--opened,var(--now-color--secondary-1,1,119,142))),0 0 0 var(--now-form-field_focus-ring--width,0) RGB(var(--now-select--border-color--opened,var(--now-color--secondary-1,1,119,142)),var(--now-opacity--least,.1))}.now-select-trigger.is-invalid{background-color:RGB(var(--now-select--background-color--invalid,var(--now-form-field--background-color--invalid,var(--now-color_alert--critical-0,241,206,205))),var(--now-select--background-color-alpha--invalid,var(--now-form-field--background-color-alpha--invalid,1)));border-color:RGB(var(--now-select--border-color--invalid,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))));color:RGB(var(--now-select--color--invalid,var(--now-form-field--color--invalid,var(--now-form-field--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-select-trigger.is-invalid.has-hover,.now-select-trigger.is-invalid.is-disabled:hover,.now-select-trigger.is-invalid:hover{background-color:RGB(var(--now-select--background-color--invalid_hover,var(--now-form-field--background-color--invalid_hover,var(--now-form-field--background-color--invalid,var(--now-color_alert--critical-0,241,206,205)))),var(--now-select--background-color-alpha--invalid_hover,var(--now-form-field--background-color-alpha--invalid_hover,1)));border-color:RGB(var(--now-select--border-color--invalid_hover,var(--now-form-field--border-color--invalid_hover,var(--now-form-field--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))))}.now-select-trigger:not(.is-disabled):focus{background-color:RGB(var(--now-select--background-color--focus,var(--now-form-field--background-color--focus,var(--now-color--secondary-0,217,235,238))),var(--now-select--background-color-alpha--focus,var(--now-form-field--background-color-alpha--focus,1)));border-color:RGB(var(--now-select--border-color--focus,var(--now-form-field--border-color--focus,var(--now-color--secondary-1,1,119,142))))}.now-select-trigger:not(.is-disabled).is-open{background-color:RGB(var(--now-select--background-color--opened,var(--now-color--secondary-0,217,235,238)),var(--now-select--background-color-alpha--opened,1));border-color:RGB(var(--now-select--border-color--opened,var(--now-color--secondary-1,1,119,142)))}.now-select-trigger.is-disabled{cursor:not-allowed;opacity:var(--now-select--opacity--disabled,var(--now-form-field--opacity--disabled,var(--now-opacity--less,.25)))}.now-select-trigger-label{inline-size:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-select-trigger-label:after{content:\\\"\\\";display:block}.-sm .now-select-trigger-label{-webkit-padding-start:0;-webkit-padding-end:.25rem;padding-block:.25rem;padding-inline-end:.25rem;padding-inline-start:0}.-sm .now-select-trigger-label.has-decorator{-webkit-padding-start:1rem;padding-inline-start:1rem}.-md .now-select-trigger-label{-webkit-padding-before:calc(.25rem*var(--now-form-field--scale-size-block, 1));-webkit-padding-after:calc(.25rem*var(--now-form-field--scale-size-block, 1));-webkit-padding-start:0;-webkit-padding-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1));padding-block-end:calc(.25rem*var(--now-form-field--scale-size-block, 1));padding-block-start:calc(.25rem*var(--now-form-field--scale-size-block, 1));padding-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1));padding-inline-start:0}.-md .now-select-trigger-label.has-decorator{-webkit-padding-start:1rem;padding-inline-start:1rem}.now-select-trigger-icon{align-items:center;color:RGB(var(--now-select_trigger-icon--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));display:flex;flex-shrink:0;justify-content:center}:not(.is-disabled).has-hover .now-select-trigger-icon,:not(.is-disabled):hover .now-select-trigger-icon{color:RGB(var(--now-select_trigger-icon--color--hover,var(--now-select_trigger-icon--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}:not(.is-disabled):focus .now-select-trigger-icon{color:RGB(var(--now-select_trigger-icon--color--focus,var(--now-select_trigger-icon--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}:not(.is-disabled).is-open .now-select-trigger-icon{color:RGB(var(--now-select_trigger-icon--color--opened,var(--now-select_trigger-icon--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.is-invalid .now-select-trigger-icon{color:RGB(var(--now-select_trigger-icon--color--invalid,var(--now-select_trigger-icon--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.is-invalid.has-hover .now-select-trigger-icon,.is-invalid.is-disabled:hover .now-select-trigger-icon{color:RGB(var(--now-select_trigger-icon--color--invalid_hover,var(--now-select_trigger-icon--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}:not(.is-disabled).is-invalid.has-focus .now-select-trigger-icon,:not(.is-disabled).is-invalid:focus .now-select-trigger-icon,:not(.is-disabled).is-invalid:focus-within .now-select-trigger-icon{color:RGB(var(--now-select_trigger-icon--color--invalid_focus,var(--now-select_trigger-icon--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.-sm .now-select-trigger-icon{-webkit-margin-end:.5rem;block-size:.75rem;inline-size:.75rem;margin-inline-end:.5rem}.-sm .now-select-trigger-icon.has-1-decorators{-webkit-margin-start:1.75rem;margin-inline-start:1.75rem}.-sm .now-select-trigger-icon.has-2-decorators{-webkit-margin-start:3rem;margin-inline-start:3rem}.-md .now-select-trigger-icon{-webkit-margin-end:.25rem;block-size:1.5rem;inline-size:1.5rem;margin-inline-end:.25rem}.-md .now-select-trigger-icon.has-1-decorators{-webkit-margin-start:2rem;margin-inline-start:2rem}.-md .now-select-trigger-icon.has-2-decorators{-webkit-margin-start:3.75rem;margin-inline-start:3.75rem}.now-select-end-slot,.now-select-start-slot{align-items:center;display:flex;justify-content:space-between;pointer-events:none}.-sm .now-select-end-slot,.-sm .now-select-start-slot{block-size:1.5rem}.-md .now-select-end-slot,.-md .now-select-start-slot{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2)}.-vertical .now-select-end-slot,.-vertical .now-select-start-slot{inset-block-end:0;position:absolute}.now-select-end-slot ::slotted(*),.now-select-start-slot ::slotted(*){pointer-events:auto}.-sm.-vertical .now-select-start-slot{inset-inline-start:.5rem}.-md.-vertical .now-select-start-slot{inset-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.-horizontal .now-select-start-slot{inset-block-end:0;position:absolute}.-sm.-horizontal .now-select-start-slot{-webkit-margin-start:calc(.5rem + var(--now-select--border-width, var(--now-form-field--border-width, 0px)));margin-inline-start:calc(.5rem + var(--now-select--border-width, var(--now-form-field--border-width, 0px)))}.-md.-horizontal .now-select-start-slot{-webkit-margin-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1) + var(--now-select--border-width, var(--now-form-field--border-width, 0px)));margin-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1) + var(--now-select--border-width, var(--now-form-field--border-width, 0px)))}.-sm .now-select-end-slot.has-1-decorators{inline-size:.75rem}.-sm .now-select-end-slot.has-2-decorators{inline-size:2rem}.-sm.-vertical .now-select-end-slot{inset-inline-end:calc(1.75rem + var(--now-select--border-width, var(--now-form-field--border-width, 0px)))}.-sm.-horizontal .now-select-end-slot.has-1-decorators{-webkit-margin-start:-2.5rem;margin-inline-start:-2.5rem}.-sm.-horizontal .now-select-end-slot.has-2-decorators{-webkit-margin-start:-3.75rem;margin-inline-start:-3.75rem}.-md .now-select-end-slot{block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2)}.-md .now-select-end-slot.has-1-decorators{inline-size:1.5rem}.-md .now-select-end-slot.has-2-decorators{inline-size:3.25rem}.-md.-vertical .now-select-end-slot{inset-inline-end:calc(2rem + var(--now-select--border-width, var(--now-form-field--border-width, 0px)))}.-md.-horizontal .now-select-end-slot.has-1-decorators{-webkit-margin-start:-3.5rem;margin-inline-start:-3.5rem}.-md.-horizontal .now-select-end-slot.has-2-decorators{-webkit-margin-start:-5.25rem;margin-inline-start:-5.25rem}.now-select-input{--now-input--background-color--readonly:var(--now-select--background-color--readonly,var(--now-form-field--background-color--readonly,var(--now-form-field--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-input--background-color-alpha--readonly:var(--now-select--background-color-alpha--readonly,var(--now-form-field--background-color-alpha--readonly,var(--now-form-field--background-color-alpha,0)));--now-input--border-width--readonly:var(--now-select--border-width--readonly,var(--now-form-field--border-width--readonly,var(--now-form-field--border-width,0px)));--now-input--border-radius--readonly:var(--now-select--border-radius--readonly,var(--now-form-field--border-radius--readonly,var(--now-form-field--border-radius,0)));--now-input--border-block-end-width--readonly:var(--now-select--border-block-end-width--readonly,var(--now-form-field--border-block-end-width--readonly,0px));--now-input--border-color--readonly:var(--now-select--border-color--readonly,var(--now-form-field--border-color--readonly,var(--now-form-field--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));-webkit-margin-before:0;-webkit-margin-after:0;inline-size:100%;margin-block-end:0;margin-block-start:0}.now-select-input-slot{display:flex;pointer-events:none}.-sm .now-select-input-slot ::slotted([slot=end]){-webkit-margin-end:.5rem;margin-inline-end:.5rem}.-sm .now-select-input-slot ::slotted([slot=start]){-webkit-margin-end:.25rem;margin-inline-end:.25rem}.-md .now-select-input-slot{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.-md .now-select-input-slot ::slotted([slot=end]){-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-select-input-slot ::slotted([slot=end]),.now-select-input-slot ::slotted([slot=start]){pointer-events:auto}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;-webkit-clip-path:inset(50%);clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-align{display:flex}.now-align.-row.-reverse{flex-direction:row-reverse}.now-align.-column{flex-direction:column}.now-align.-column.-reverse{flex-direction:column-reverse}.now-align.-wrap{flex-wrap:wrap}.now-align.-inline{justify-content:space-between}.now-align.-inline-center{justify-content:center}.now-align.-inline-end{justify-content:flex-end}.now-align.-block-start{align-items:flex-start}.now-align.-block-center{align-items:center}.now-align.-block-end{align-items:flex-end}.now-m-block--xxs{-webkit-margin-before:.125rem;-webkit-margin-after:.125rem;margin-block-end:.125rem;margin-block-start:.125rem}.now-m-block-start--xxs{-webkit-margin-before:.125rem;margin-block-start:.125rem}.now-m-block-end--xxs{-webkit-margin-after:.125rem;margin-block-end:.125rem}.now-m-inline--xxs{-webkit-margin-start:.125rem;-webkit-margin-end:.125rem;margin-inline-end:.125rem;margin-inline-start:.125rem}.now-m-inline-start--xxs{-webkit-margin-start:.125rem;margin-inline-start:.125rem}.now-m-inline-end--xxs{-webkit-margin-end:.125rem;margin-inline-end:.125rem}.now-m-block--xs{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-block-start:.25rem}.now-m-block-start--xs{-webkit-margin-before:.25rem;margin-block-start:.25rem}.now-m-block-end--xs{-webkit-margin-after:.25rem;margin-block-end:.25rem}.now-m-inline--xs{-webkit-margin-start:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem;margin-inline-start:.25rem}.now-m-inline-start--xs{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-m-inline-end--xs{-webkit-margin-end:.25rem;margin-inline-end:.25rem}:host{block-size:inherit;display:block}.now-stepper-container{block-size:inherit;display:flex;flex-direction:column}.now-stepper{display:flex;font-family:var(--now-stepper--font-family,var(--now-navigation--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)));font-style:var(--now-stepper--font-style,var(--now-navigation--font-style,normal));font-variant:normal;font-weight:var(--now-stepper--font-weight,var(--now-navigation--font-weight,normal));letter-spacing:inherit;position:relative;text-indent:0;text-shadow:none;text-transform:var(--now-stepper--text-transform,var(--now-navigation--text-transform,none));white-space:normal;word-spacing:inherit}.now-stepper.-right{align-items:center}.now-stepper-pagination-button{margin-inline:.25rem}.-top .now-stepper-pagination-button{-webkit-margin-after:.25rem;align-self:end;margin-block-end:.25rem}.-bottom .now-stepper-pagination-button{-webkit-margin-before:.25rem;margin-block-start:.25rem}.now-stepper-steps{display:flex;flex-grow:1}.-right .now-stepper-steps{align-items:center}.now-stepper-step-container{align-items:center;display:flex}.-bottom .now-stepper-step-container,.-top .now-stepper-step-container{flex-direction:column;inline-size:100%;position:relative}.-right .now-stepper-step-container{justify-content:center}.now-stepper-connector{-webkit-border-after:none;-webkit-border-start:none;-webkit-border-end:none;border-block-end:none;border-block-start-color:RGB(var(--now-stepper_connector--border-color,var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214))));border-block-start-style:solid;border-block-start-width:1px;border-inline-end:none;border-inline-start:none;margin:0;min-inline-size:.5rem}.-sm .-bottom .now-stepper-connector,.-sm .-top .now-stepper-connector{inline-size:calc(50% - 1rem)}.-sm .-top .now-stepper-connector{inset-block-end:calc(.75rem + 1px)}.-sm .-bottom .now-stepper-connector{inset-block-start:calc(.75rem + 1px)}.-md .-bottom .now-stepper-connector,.-md .-top .now-stepper-connector{inline-size:calc(50% - 1.5rem)}.-md .-top .now-stepper-connector{inset-block-end:calc(1rem + 1px)}.-md .-bottom .now-stepper-connector{inset-block-start:calc(1rem + 1px)}.-bottom .now-stepper-connector,.-top .now-stepper-connector{position:absolute}.-bottom .now-stepper-connector.-start,.-top .now-stepper-connector.-start{inset-inline-start:0}.-bottom .now-stepper-connector.-end,.-top .now-stepper-connector.-end{inset-inline-end:0}.-bottom .now-stepper-connector.-is-first-step,.-bottom .now-stepper-connector.-is-last-step,.-top .now-stepper-connector.-is-first-step,.-top .now-stepper-connector.-is-last-step{display:none}.-right .now-stepper-connector{inline-size:100%}.-right .now-stepper-connector.-is-first-step,.-right .now-stepper-connector.-is-last-step{visibility:hidden}.now-stepper-step{align-items:center;display:flex;font-family:var(--now-stepper_label--font-family,var(--now-stepper--font-family,var(--now-navigation--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-stepper_label--font-style,var(--now-stepper--font-style,var(--now-navigation--font-style,normal)));font-weight:var(--now-stepper_label--font-weight,var(--now-stepper--font-weight,var(--now-navigation--font-weight,normal)));padding-block:.125rem;position:relative;text-transform:var(--now-stepper_label--text-transform,var(--now-stepper--text-transform,var(--now-navigation--text-transform,none)))}.-sm .now-stepper-step{padding-inline:.25rem}.-md .now-stepper-step{padding-inline:.5rem}.-bottom .now-stepper-step,.-top .now-stepper-step{flex-direction:column}.-sm .-bottom.has-sublabel .now-stepper-step,.-sm .-top.has-sublabel .now-stepper-step{min-block-size:4rem}.-md .-bottom.has-sublabel .now-stepper-step,.-md .-top.has-sublabel .now-stepper-step{min-block-size:4.75rem}.-top .now-stepper-step{justify-content:space-between}.-right .now-stepper-step{max-inline-size:12rem}.-sm .-right.has-sublabel .now-stepper-step{min-block-size:2.25rem}.-md .-right.has-sublabel .now-stepper-step{min-block-size:2.5rem}.now-stepper-step.-none{color:RGB(var(--now-stepper_step--none--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.now-stepper-step.-none .now-stepper-step-progress-label{border-color:RGB(var(--now-stepper_step--none--border-color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.now-stepper-step.-none .now-stepper-step-sublabel{color:RGB(var(--now-stepper_sublabel--none--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.now-stepper-step.-none .now-stepper-step-label-parent{color:RGB(var(--now-stepper_label--none--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.now-stepper-step.-active{color:RGB(var(--now-stepper_step--color--selected,var(--now-color--secondary-2,1,89,107)))}.now-stepper-step.-active .now-stepper-step-progress-label{background-color:RGB(var(--now-stepper_step--background-color--selected,var(--now-color--secondary-0,217,235,238)));border-color:RGB(var(--now-stepper_step--border-color--selected,var(--now-color--secondary-2,1,89,107)))}.now-stepper-step.-active .now-stepper-step-sublabel{color:RGB(var(--now-stepper_sublabel--color--selected,var(--now-color--secondary-2,1,89,107)))}.now-stepper-step.-active .now-stepper-step-label-parent{color:RGB(var(--now-stepper_label--color--selected,var(--now-color--secondary-2,1,89,107)))}.now-stepper-step.-partial{color:RGB(var(--now-stepper_step--partial--color,var(--now-color--secondary-1,1,119,142)))}.now-stepper-step.-partial .now-stepper-step-progress-label{border-color:RGB(var(--now-stepper_step--partial--border-color,var(--now-color--secondary-1,1,119,142)))}.now-stepper-step.-partial .now-stepper-step-sublabel{color:RGB(var(--now-stepper_sublabel--partial--color,var(--now-color--secondary-1,1,119,142)))}.now-stepper-step.-partial .now-stepper-step-label-parent{color:RGB(var(--now-stepper_label--partial--color,var(--now-color--secondary-1,1,119,142)))}.now-stepper-step.-done{color:RGB(var(--now-stepper_step--done--color,var(--now-color--secondary-1,1,119,142)))}.now-stepper-step.-done .now-stepper-step-label-parent{color:RGB(var(--now-stepper_label--done--color,var(--now-color--secondary-1,1,119,142)))}.now-stepper-step.-done .now-stepper-step-sublabel{color:RGB(var(--now-stepper_sublabel--done--color,var(--now-color--secondary-1,1,119,142)))}.now-stepper-step.-button{background-color:transparent;border:none;cursor:pointer}.now-stepper-step.-button.is-disabled{cursor:not-allowed;opacity:var(--now-stepper--opacity--disabled,var(--now-opacity--less,.25))}.now-stepper-step.-button:focus{outline:none}.now-stepper-step.-button:focus:after{block-size:100%;box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));content:\\\"\\\";inline-size:100%;inset-block-start:0;inset-inline-start:0;position:absolute;z-index:1000}.now-stepper-step.-button.-none:not(.is-disabled):hover{color:RGB(var(--now-stepper_step--none--color--hover,var(--now-color--secondary-1,1,119,142)))}.now-stepper-step.-button.-none:not(.is-disabled):hover .now-stepper-step-progress-label{border-color:RGB(var(--now-stepper_step--none--border-color--hover,var(--now-color--secondary-1,1,119,142)))}.now-stepper-step.-button.-none:not(.is-disabled):hover .now-stepper-step-sublabel{color:RGB(var(--now-stepper_sublabel--none--color--hover,var(--now-color--secondary-1,1,119,142)))}.now-stepper-step.-button.-none:not(.is-disabled):hover .now-stepper-step-label-parent{color:RGB(var(--now-stepper_label--none--color--hover,var(--now-color--secondary-1,1,119,142)))}.now-stepper-step.-button.-none:not(.is-disabled):active{color:RGB(var(--now-stepper_step--none--color--active,var(--now-color--secondary-3,1,60,71)))}.now-stepper-step.-button.-none:not(.is-disabled):active .now-stepper-step-progress-label{border-color:RGB(var(--now-stepper_step--none--border-color--active,var(--now-color--secondary-3,1,60,71)))}.now-stepper-step.-button.-none:not(.is-disabled):active .now-stepper-step-sublabel{color:RGB(var(--now-stepper_sublabel--none--color--active,var(--now-color--secondary-3,1,60,71)))}.now-stepper-step.-button.-none:not(.is-disabled):active .now-stepper-step-label-parent{color:RGB(var(--now-stepper_label--none--color--active,var(--now-color--secondary-3,1,60,71)))}.now-stepper-step.-button.-active:not(.is-disabled):hover{color:RGB(var(--now-stepper_step--color--selected_hover,var(--now-color--secondary-3,1,60,71)))}.now-stepper-step.-button.-active:not(.is-disabled):hover .now-stepper-step-progress-label{background-color:RGB(var(--now-stepper_step--background-color--selected_hover,var(--now-color--secondary-0,217,235,238)));border-color:RGB(var(--now-stepper_step--border-color--selected_hover,var(--now-color--secondary-3,1,60,71)))}.now-stepper-step.-button.-active:not(.is-disabled):hover .now-stepper-step-sublabel{color:RGB(var(--now-stepper_sublabel--color--selected_hover,var(--now-color--secondary-3,1,60,71)))}.now-stepper-step.-button.-active:not(.is-disabled):hover .now-stepper-step-label-parent{color:RGB(var(--now-stepper_label--color--selected_hover,var(--now-color--secondary-3,1,60,71)))}.now-stepper-step.-button.-active:not(.is-disabled):active{color:RGB(var(--now-stepper_step--color--selected_active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-stepper-step.-button.-active:not(.is-disabled):active .now-stepper-step-progress-label{background-color:RGB(var(--now-stepper_step--background-color--selected_active,var(--now-color--secondary-0,217,235,238)));border-color:RGB(var(--now-stepper_step--border-color--selected_active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-stepper-step.-button.-active:not(.is-disabled):active .now-stepper-step-sublabel{color:RGB(var(--now-stepper_sublabel--color--selected_active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-stepper-step.-button.-active:not(.is-disabled):active .now-stepper-step-label-parent{color:RGB(var(--now-stepper_label--color--selected_active,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-stepper-step.-button.-partial:not(.is-disabled):hover{color:RGB(var(--now-stepper_step--partial--color--hover,var(--now-color--secondary-2,1,89,107)))}.now-stepper-step.-button.-partial:not(.is-disabled):hover .now-stepper-step-progress-label{border-color:RGB(var(--now-stepper_step--partial--border-color--hover,var(--now-color--secondary-2,1,89,107)))}.now-stepper-step.-button.-partial:not(.is-disabled):hover .now-stepper-step-sublabel{color:RGB(var(--now-stepper_sublabel--partial--color--hover,var(--now-color--secondary-2,1,89,107)))}.now-stepper-step.-button.-partial:not(.is-disabled):hover .now-stepper-step-label-parent{color:RGB(var(--now-stepper_label--partial--color--hover,var(--now-color--secondary-2,1,89,107)))}.now-stepper-step.-button.-partial:not(.is-disabled):active{color:RGB(var(--now-stepper_step--partial--color--active,var(--now-color--secondary-3,1,60,71)))}.now-stepper-step.-button.-partial:not(.is-disabled):active .now-stepper-step-progress-label{border-color:RGB(var(--now-stepper_step--partial--border-color--active,var(--now-color--secondary-3,1,60,71)))}.now-stepper-step.-button.-partial:not(.is-disabled):active .now-stepper-step-sublabel{color:RGB(var(--now-stepper_sublabel--partial--color--active,var(--now-color--secondary-3,1,60,71)))}.now-stepper-step.-button.-partial:not(.is-disabled):active .now-stepper-step-label-parent{color:RGB(var(--now-stepper_label--partial--color--active,var(--now-color--secondary-3,1,60,71)))}.now-stepper-step.-button.-done:not(.is-disabled):hover{color:RGB(var(--now-stepper_step--done--color--hover,var(--now-color--secondary-2,1,89,107)))}.now-stepper-step.-button.-done:not(.is-disabled):hover .now-stepper-step-label-parent{color:RGB(var(--now-stepper_label--done--color--hover,var(--now-color--secondary-2,1,89,107)))}.now-stepper-step.-button.-done:not(.is-disabled):hover .now-stepper-step-sublabel{color:RGB(var(--now-stepper_sublabel--done--color--hover,var(--now-color--secondary-2,1,89,107)))}.now-stepper-step.-button.-done:not(.is-disabled):active{color:RGB(var(--now-stepper_step--done--color--active,var(--now-color--secondary-3,1,60,71)))}.now-stepper-step.-button.-done:not(.is-disabled):active .now-stepper-step-label-parent{color:RGB(var(--now-stepper_label--done--color--active,var(--now-color--secondary-3,1,60,71)))}.now-stepper-step.-button.-done:not(.is-disabled):active .now-stepper-step-sublabel{color:RGB(var(--now-stepper_sublabel--done--color--active,var(--now-color--secondary-3,1,60,71)))}.-right .now-stepper-step.-button{text-align:start}.now-stepper-step-progress{align-items:center;display:flex;justify-content:center}.-sm .now-stepper-step-progress{block-size:1.5rem;inline-size:1.5rem}.-md .now-stepper-step-progress{block-size:2rem;inline-size:2rem}.now-stepper-step-progress-label{align-items:center;border-radius:50%;border-width:1px;display:flex;justify-content:center}.-sm .now-stepper-step-progress-label.-active,.-sm .now-stepper-step-progress-label.-none,.-sm .now-stepper-step-progress-label.-partial{block-size:1.5rem;inline-size:1.5rem}.-md .now-stepper-step-progress-label.-active,.-md .now-stepper-step-progress-label.-none,.-md .now-stepper-step-progress-label.-partial{block-size:2rem;inline-size:2rem}.now-stepper-step-progress-label.-active{border-width:.125rem}.now-stepper-step-progress-label.-active,.now-stepper-step-progress-label.-none{border-style:solid}.now-stepper-step-progress-label.-partial{border-style:dashed}.-sm .now-stepper-step-label-parent,.-sm .now-stepper-step-sublabel-parent{max-inline-size:7rem}.-md .now-stepper-step-label-parent,.-md .now-stepper-step-sublabel-parent{max-inline-size:9rem}.-sm .-right .now-stepper-step-label-parent,.-sm .-right .now-stepper-step-sublabel-parent{max-inline-size:9.75rem}.-md .-right .now-stepper-step-label-parent,.-md .-right .now-stepper-step-sublabel-parent{max-inline-size:8.75rem}.now-stepper-step-label-parent{align-items:center;display:flex}.now-stepper-step-label-parent .now-line-height-crop{min-inline-size:0}.-sm .now-stepper-step-label-parent{block-size:1rem;font-size:.75rem;line-height:1.3333}.-sm .now-stepper-step-label-parent .now-line-height-crop{display:block}.-sm .now-stepper-step-label-parent .now-line-height-crop:after,.-sm .now-stepper-step-label-parent .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-sm .now-stepper-step-label-parent .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.-sm .now-stepper-step-label-parent .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.-sm .now-stepper-step-label-parent .now-line-height-crop+.-sm .now-stepper-step-label-parent .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-md .now-stepper-step-label-parent{block-size:1.25rem;font-size:1rem;line-height:1.25}.-md .now-stepper-step-label-parent .now-line-height-crop{display:block}.-md .now-stepper-step-label-parent .now-line-height-crop:after,.-md .now-stepper-step-label-parent .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-md .now-stepper-step-label-parent .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-md .now-stepper-step-label-parent .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-md .now-stepper-step-label-parent .now-line-height-crop+.-md .now-stepper-step-label-parent .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-stepper-step-icon{--now-line-height:0.75;-webkit-margin-end:.125rem;margin-inline-end:.125rem}.now-stepper-step-sublabel-parent{font-family:var(--now-stepper_sublabel--font-family,var(--now-stepper_label--font-family,var(--now-stepper--font-family,var(--now-navigation--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:.75rem;font-style:var(--now-stepper_sublabel--font-style,var(--now-stepper_label--font-style,var(--now-stepper--font-style,var(--now-navigation--font-style,normal))));font-weight:var(--now-stepper_sublabel--font-weight,var(--now-stepper_label--font-weight,var(--now-stepper--font-weight,var(--now-navigation--font-weight,normal))));line-height:1.3333;text-transform:var(--now-stepper_sublabel--text-transform,var(--now-stepper_label--text-transform,var(--now-stepper--text-transform,var(--now-navigation--text-transform,none))))}.now-stepper-step-label,.now-stepper-step-sublabel{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-stepper-completed-count{color:RGB(var(--now-stepper_completed-count--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))));display:flex;font-family:var(--now-stepper_completed-count--font-family,var(--now-stepper--font-family,var(--now-navigation--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:.75rem;font-style:var(--now-stepper_completed-count--font-style,var(--now-stepper--font-style,var(--now-navigation--font-style,normal)));font-weight:var(--now-stepper_completed-count--font-weight,var(--now-stepper--font-weight,var(--now-navigation--font-weight,normal)));justify-content:center;line-height:1.3333;text-transform:var(--now-stepper_completed-count--text-transform,var(--now-stepper--text-transform,var(--now-navigation--text-transform,none)))}.-sm .now-stepper-completed-count{-webkit-margin-before:.5rem;margin-block-start:.5rem}.-md .now-stepper-completed-count{-webkit-margin-before:.75rem;margin-block-start:.75rem}.now-stepper-panel{flex-grow:1;overflow:auto}@media(forced-colors:active){.now-stepper-connector{border-block-start-color:canvastext}.now-stepper-step.-button:focus{outline:1px solid highlight}.now-stepper-step.-button.-none:focus,.now-stepper-step.-button.-none:not(.is-disabled):hover{color:highlight}.now-stepper-step.-button.-none:focus .now-stepper-step-progress-label,.now-stepper-step.-button.-none:not(.is-disabled):hover .now-stepper-step-progress-label{border-color:highlight}.now-stepper-step.-button.-none.is-disabled{color:graytext!important;opacity:1}.now-stepper-step.-button.-none.is-disabled .now-stepper-step-label-parent,.now-stepper-step.-button.-none.is-disabled .now-stepper-step-sublabel{color:graytext!important}.now-stepper-step.-button.-done:focus,.now-stepper-step.-button.-done:hover,.now-stepper-step.-button.-partial:focus,.now-stepper-step.-button.-partial:hover{color:highlight}.now-stepper-step.-button.-done:focus .now-stepper-step-progress-label,.now-stepper-step.-button.-done:hover .now-stepper-step-progress-label,.now-stepper-step.-button.-partial:focus .now-stepper-step-progress-label,.now-stepper-step.-button.-partial:hover .now-stepper-step-progress-label{border-color:highlight}.now-stepper-step.-button.-active{color:selecteditemtext}.now-stepper-step.-button.-active .now-stepper-step-progress-label{background-color:selecteditem;border-color:selecteditem;forced-color-adjust:none}.now-stepper-step.-button.-active:focus,.now-stepper-step.-button.-active:hover{color:selecteditemtext}.now-stepper-step.-button.-active:focus .now-stepper-step-progress-label,.now-stepper-step.-button.-active:hover .now-stepper-step-progress-label{background-color:selecteditem;border-color:highlight}.now-stepper-step.-button .now-stepper-step-label-parent,.now-stepper-step.-button .now-stepper-step-sublabel{color:canvastext!important}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-align{display:flex}.now-align.-row.-reverse{flex-direction:row-reverse}.now-align.-column{flex-direction:column}.now-align.-column.-reverse{flex-direction:column-reverse}.now-align.-wrap{flex-wrap:wrap}.now-align.-inline{justify-content:space-between}.now-align.-inline-center{justify-content:center}.now-align.-inline-end{justify-content:flex-end}.now-align.-block-start{align-items:flex-start}.now-align.-block-center{align-items:center}.now-align.-block-end{align-items:flex-end}.now-m-block--xxs{-webkit-margin-before:.125rem;-webkit-margin-after:.125rem;margin-block-end:.125rem;margin-block-start:.125rem}.now-m-block-start--xxs{-webkit-margin-before:.125rem;margin-block-start:.125rem}.now-m-block-end--xxs{-webkit-margin-after:.125rem;margin-block-end:.125rem}.now-m-inline--xxs{-webkit-margin-start:.125rem;-webkit-margin-end:.125rem;margin-inline-end:.125rem;margin-inline-start:.125rem}.now-m-inline-start--xxs{-webkit-margin-start:.125rem;margin-inline-start:.125rem}.now-m-inline-end--xxs{-webkit-margin-end:.125rem;margin-inline-end:.125rem}.now-m-block--md{-webkit-margin-before:.75rem;-webkit-margin-after:.75rem;margin-block-end:.75rem;margin-block-start:.75rem}.now-m-block-start--md{-webkit-margin-before:.75rem;margin-block-start:.75rem}.now-m-block-end--md{-webkit-margin-after:.75rem;margin-block-end:.75rem}.now-m-inline--md{-webkit-margin-start:.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;margin-inline-start:.75rem}.now-m-inline-start--md{-webkit-margin-start:.75rem;margin-inline-start:.75rem}.now-m-inline-end--md{-webkit-margin-end:.75rem;margin-inline-end:.75rem}:host{display:block}.now-tabs-vertical-container{-webkit-padding-before:.5rem;-webkit-padding-after:.5rem;block-size:inherit;display:flex;padding-block-end:.5rem;padding-block-start:.5rem}.now-tabs-vertical-container.-before{flex-direction:row-reverse}.now-tabs-vertical{align-items:flex-start;background-color:RGB(var(--now-tabs-vertical_container--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-tabs-vertical_container--background-color-alpha,0));display:flex;flex-direction:column;font-variant:normal;inline-size:100%;letter-spacing:inherit;text-indent:0;text-shadow:none;white-space:nowrap;word-spacing:inherit}.now-tabs-vertical.-sm.icon-only{inline-size:2rem}.now-tabs-vertical.-md.icon-only{inline-size:3rem}.now-tabs-vertical.-start{border-inline-start-color:RGB(var(--now-tabs-vertical_divider--color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181))));border-inline-start-style:solid;border-inline-start-width:var(--now-tabs-vertical_divider--width,0)}.now-tabs-vertical.-end{border-inline-end-color:RGB(var(--now-tabs-vertical_divider--color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181))));border-inline-end-style:solid;border-inline-end-width:var(--now-tabs-vertical_divider--width,0)}.now-tabs-vertical.has-panel-content{inline-size:inherit}.now-tabs-vertical-panel{flex-grow:1;overflow:auto}.now-tab-list{display:flex;flex-direction:column;inline-size:100%}.now-tab{inline-size:100%;min-inline-size:0;position:relative}.now-tab:after{block-size:100%;content:\\\"\\\";inline-size:var(--now-tabs-vertical--border-width,.125rem);inset-block-end:0;position:absolute}.-start .now-tab:after{inset-inline-start:0}.-end .now-tab:after{inset-inline-end:0}.now-tab:hover:not(.is-disabled):after{background-color:RGB(var(--now-tabs-vertical--border-color--hover,var(--now-tabs--border-color--hover,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))),var(--now-tabs-vertical--border-color-alpha--hover,1))}.now-tab:active:not(.is-disabled):after{background-color:RGB(var(--now-tabs-vertical--border-color--active,var(--now-tabs--border-color--active,var(--now-color_selection--primary-4,15,67,55))),var(--now-tabs-vertical--border-color-alpha--active,1))}.now-tab.is-selected:active:after,.now-tab.is-selected:after,.now-tab.is-selected:hover:after{background-color:RGB(var(--now-tabs-vertical--border-color--selected,var(--now-tabs--border-color--selected,var(--now-color_selection--primary-3,23,100,82))),var(--now-tabs-vertical--border-color-alpha--selected,1))}.show-inline-padding.-sm .now-tab{-webkit-padding-start:.25rem;-webkit-padding-end:.25rem;padding-inline-end:.25rem;padding-inline-start:.25rem}.show-inline-padding.-md .now-tab{-webkit-padding-start:.5rem;-webkit-padding-end:.5rem;padding-inline-end:.5rem;padding-inline-start:.5rem}.now-tab.-space-between-xxs:not(:last-child){-webkit-margin-after:calc(.125rem*var(--now-tabs-vertical--scale-size-block, 1));margin-block-end:calc(.125rem*var(--now-tabs-vertical--scale-size-block, 1))}.now-tab.-space-between-xs:not(:last-child){-webkit-margin-after:calc(.25rem*var(--now-tabs-vertical--scale-size-block, 1));margin-block-end:calc(.25rem*var(--now-tabs-vertical--scale-size-block, 1))}.now-tab.-space-between-sm:not(:last-child){-webkit-margin-after:calc(.5rem*var(--now-tabs-vertical--scale-size-block, 1));margin-block-end:calc(.5rem*var(--now-tabs-vertical--scale-size-block, 1))}.now-tab.-space-between-md:not(:last-child){-webkit-margin-after:calc(.75rem*var(--now-tabs-vertical--scale-size-block, 1));margin-block-end:calc(.75rem*var(--now-tabs-vertical--scale-size-block, 1))}.now-tab.-space-between-lg:not(:last-child){-webkit-margin-after:calc(1rem*var(--now-tabs-vertical--scale-size-block, 1));margin-block-end:calc(1rem*var(--now-tabs-vertical--scale-size-block, 1))}.now-tab.-space-between-xl:not(:last-child){-webkit-margin-after:calc(1.5rem*var(--now-tabs-vertical--scale-size-block, 1));margin-block-end:calc(1.5rem*var(--now-tabs-vertical--scale-size-block, 1))}.now-tab.-space-between-xxl:not(:last-child){-webkit-margin-after:calc(2rem*var(--now-tabs-vertical--scale-size-block, 1));margin-block-end:calc(2rem*var(--now-tabs-vertical--scale-size-block, 1))}.now-tab.-space-between-3xl:not(:last-child){-webkit-margin-after:calc(2.5rem*var(--now-tabs-vertical--scale-size-block, 1));margin-block-end:calc(2.5rem*var(--now-tabs-vertical--scale-size-block, 1))}.now-tab-button{-webkit-padding-before:0;-webkit-padding-after:0;align-items:center;background-color:RGB(var(--now-tabs-vertical--background-color,var(--now-tabs--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-tabs-vertical--background-color-alpha,var(--now-tabs--background-color-alpha,0)));border:none;color:RGB(var(--now-tabs-vertical--color,var(--now-tabs--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));cursor:pointer;display:flex;font-family:var(--now-tabs-vertical--font-family,var(--now-tabs--font-family,var(--now-navigation--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-tabs-vertical--font-style,var(--now-tabs--font-style,var(--now-navigation--font-style,normal)));font-weight:var(--now-tabs-vertical--font-weight,var(--now-tabs--font-weight,var(--now-navigation--font-weight,normal)));inline-size:inherit;inline-size:100%;justify-content:center;margin:0;min-inline-size:0;padding-block-end:0;padding-block-start:0;text-transform:var(--now-tabs-vertical--text-transform,var(--now-tabs--text-transform,var(--now-navigation--text-transform,none)))}.now-tab-button:active{color:currentcolor}.now-tab-button::-moz-focus-inner{border-style:none}.now-tab-button:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.now-tab-button:focus{outline:1px solid highlight}}.-sm .now-tab-button{-webkit-padding-start:.5rem;-webkit-padding-end:.5rem;block-size:1.5rem;font-size:.75rem;line-height:1.3333;padding-inline-end:.5rem;padding-inline-start:.5rem}.-sm .now-tab-button .now-line-height-crop{display:block}.-sm .now-tab-button .now-line-height-crop:after,.-sm .now-tab-button .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-sm .now-tab-button .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.-sm .now-tab-button .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.-sm .now-tab-button .now-line-height-crop+.-sm .now-tab-button .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-sm.icon-only .now-tab-button{-webkit-padding-start:.25rem;-webkit-padding-end:.25rem;inline-size:1.5rem;padding-inline-end:.25rem;padding-inline-start:.25rem}.-md .now-tab-button{-webkit-padding-start:1rem;-webkit-padding-end:1rem;block-size:2rem;font-size:1rem;line-height:1.25;padding-inline-end:1rem;padding-inline-start:1rem}.-md .now-tab-button .now-line-height-crop{display:block}.-md .now-tab-button .now-line-height-crop:after,.-md .now-tab-button .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-md .now-tab-button .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-md .now-tab-button .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-md .now-tab-button .now-line-height-crop+.-md .now-tab-button .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.-md.icon-only .now-tab-button{-webkit-padding-start:.5rem;-webkit-padding-end:.5rem;inline-size:2rem;padding-inline-end:.5rem;padding-inline-start:.5rem}.icon-only .now-tab-button{border-radius:var(--now-tabs-vertical--iconic--border-radius,0)}.now-tab-button:not(.is-disabled):hover{background-color:RGB(var(--now-tabs-vertical--background-color--hover,var(--now-tabs-vertical--background-color,var(--now-tabs--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))),var(--now-tabs-vertical--background-color-alpha--hover,0));color:RGB(var(--now-tabs-vertical--color--hover,var(--now-tabs--color--hover,var(--now-color_selection--primary-3,23,100,82))))}.now-tab-button:not(.is-disabled):active{background-color:RGB(var(--now-tabs-vertical--background-color--active,var(--now-tabs-vertical--background-color,var(--now-tabs--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))),var(--now-tabs-vertical--background-color-alpha--active,0));color:RGB(var(--now-tabs-vertical--color--active,var(--now-tabs--color--active,var(--now-color_selection--primary-4,15,67,55))))}.is-selected .now-tab-button{background-color:RGB(var(--now-tabs-vertical--background-color--selected,var(--now-tabs-vertical--background-color,var(--now-tabs--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))),var(--now-tabs-vertical--background-color-alpha--selected,0));color:RGB(var(--now-tabs-vertical--color--selected,var(--now-tabs--color--selected,var(--now-color_selection--primary-3,23,100,82))));font-style:var(--now-tabs-vertical--font-style--selected,var(--now-tabs-vertical--font-style,var(--now-tabs--font-style,var(--now-navigation--font-style,normal))));font-weight:var(--now-tabs-vertical--font-weight--selected,var(--now-tabs-vertical--font-weight,var(--now-tabs--font-weight,var(--now-navigation--font-weight,normal))));text-transform:var(--now-tabs-vertical--text-transform--selected,var(--now-tabs-vertical--text-transform,var(--now-tabs--text-transform,var(--now-navigation--text-transform,none))))}.is-disabled .now-tab-button{cursor:not-allowed;opacity:var(--now-tabs-vertical--opacity--disabled,var(--now-tabs--opacity--disabled,var(--now-opacity--less,.25)))}.now-tab-button .now-line-height-crop,.now-tab-dropdown{inline-size:100%;min-inline-size:0}.now-tab-dropdown{--now-button--scale-size-block:var(--now-tabs--scale-size-block,1);--now-button--scale-size-inline:1;--now-dropdown--bare--font-style:var(--now-tabs-vertical--font-style,var(--now-tabs--font-style,var(--now-navigation--font-style,normal)));--now-dropdown--bare--font-weight:var(--now-tabs-vertical--font-weight,var(--now-tabs--font-weight,var(--now-navigation--font-weight,normal)));--now-dropdown--bare--font-family:var(--now-tabs-vertical--font-family,var(--now-tabs--font-family,var(--now-navigation--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));--now-dropdown--bare--text-transform:var(--now-tabs-vertical--text-transform,var(--now-tabs--text-transform,var(--now-navigation--text-transform,none)));--now-dropdown--bare_tertiary--color:var(--now-tabs-vertical--color,var(--now-tabs--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));--now-dropdown--bare_tertiary--color--hover:var(--now-tabs-vertical--color--hover,var(--now-tabs--color--hover,var(--now-color_selection--primary-3,23,100,82)));--now-dropdown--bare_tertiary--color--active:var(--now-tabs-vertical--color--active,var(--now-tabs--color--active,var(--now-color_selection--primary-4,15,67,55)));--now-dropdown--bare_tertiary--background-color--hover:var(--now-tabs-vertical--background-color--hover,var(--now-tabs-vertical--background-color,var(--now-tabs--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-dropdown--bare_tertiary--background-color-alpha--hover:var(--now-tabs-vertical--background-color-alpha--hover,0);--now-dropdown--bare_tertiary--background-color--active:var(--now-tabs-vertical--background-color--active,var(--now-tabs-vertical--background-color,var(--now-tabs--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));--now-dropdown--bare_tertiary--background-color-alpha--active:var(--now-tabs-vertical--background-color-alpha--active,0);--now-dropdown_icon--bare_tertiary--color:var(--now-tabs-vertical--color,var(--now-tabs--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));--now-dropdown_icon--bare_tertiary--color--hover:var(--now-tabs-vertical--color--hover,var(--now-tabs--color--hover,var(--now-color_selection--primary-3,23,100,82)));--now-dropdown_icon--bare_tertiary--color--active:var(--now-tabs-vertical--color--active,var(--now-tabs--color--active,var(--now-color_selection--primary-4,15,67,55)));--now-dropdown_trigger-icon--bare_tertiary--color:var(--now-tabs-vertical--color,var(--now-tabs--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));--now-dropdown_trigger-icon--bare_tertiary--color--hover:var(--now-tabs-vertical--color--hover,var(--now-tabs--color--hover,var(--now-color_selection--primary-3,23,100,82)));--now-dropdown_trigger-icon--bare_tertiary--color--active:var(--now-tabs-vertical--color--active,var(--now-tabs--color--active,var(--now-color_selection--primary-4,15,67,55)));--now-dropdown--border-top-left-radius:0;--now-dropdown--border-top-right-radius:0;--now-dropdown--border-bottom-left-radius:0;--now-dropdown--border-bottom-right-radius:0;block-size:auto;display:block;position:relative}.is-selected .now-tab-dropdown{--now-dropdown--bare--font-style:var(--now-tabs-vertical--font-style--selected,var(--now-tabs-vertical--font-style,var(--now-tabs--font-style,var(--now-navigation--font-style,normal))));--now-dropdown--bare--font-weight:var(--now-tabs-vertical--font-weight--selected,var(--now-tabs-vertical--font-weight,var(--now-tabs--font-weight,var(--now-navigation--font-weight,normal))));--now-dropdown--bare--text-transform:var(--now-tabs-vertical--text-transform--selected,var(--now-tabs-vertical--text-transform,var(--now-tabs--text-transform,var(--now-navigation--text-transform,none))));--now-dropdown--bare_tertiary--color:var(--now-tabs-vertical--color--selected,var(--now-tabs--color--selected,var(--now-color_selection--primary-3,23,100,82)));--now-dropdown--bare_tertiary--color--hover:var(--now-tabs-vertical--color--selected,var(--now-tabs--color--selected,var(--now-color_selection--primary-3,23,100,82)));--now-dropdown--bare_tertiary--color--active:var(--now-tabs-vertical--color--selected,var(--now-tabs--color--selected,var(--now-color_selection--primary-3,23,100,82)));--now-dropdown_icon--bare_tertiary--color:var(--now-tabs-vertical--color--selected,var(--now-tabs--color--selected,var(--now-color_selection--primary-3,23,100,82)));--now-dropdown_icon--bare_tertiary--color--hover:var(--now-tabs-vertical--color--selected,var(--now-tabs--color--selected,var(--now-color_selection--primary-3,23,100,82)));--now-dropdown_icon--bare_tertiary--color--active:var(--now-tabs-vertical--color--selected,var(--now-tabs--color--selected,var(--now-color_selection--primary-3,23,100,82)));--now-dropdown_trigger-icon--bare_tertiary--color:var(--now-tabs-vertical--color--selected,var(--now-tabs--color--selected,var(--now-color_selection--primary-3,23,100,82)));--now-dropdown_trigger-icon--bare_tertiary--color--hover:var(--now-tabs-vertical--color--selected,var(--now-tabs--color--selected,var(--now-color_selection--primary-3,23,100,82)));--now-dropdown_trigger-icon--bare_tertiary--color--active:var(--now-tabs-vertical--color--selected,var(--now-tabs--color--selected,var(--now-color_selection--primary-3,23,100,82)));background-color:RGB(var(--now-tabs-vertical--background-color--selected,var(--now-tabs-vertical--background-color,var(--now-tabs--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))),var(--now-tabs-vertical--background-color-alpha--selected,0))}.icon-only .now-tab-dropdown{--now-button--iconic--border-radius:var(--now-tabs-vertical--iconic--border-radius,0);border-radius:var(--now-tabs-vertical--iconic--border-radius,0)}.now-tab-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(forced-colors:active){.now-tabs-vertical.-start{border-inline-start-width:1px}.now-tabs-vertical.-end{border-inline-end-width:1px}.now-tab:after{display:none}.now-tab-button{border-style:solid;border-width:1px}.now-tab-button:active:not(.is-disabled),.now-tab-button:not(.is-disabled){background-color:buttonface;color:buttontext}.now-tab-button:focus,.now-tab-button:hover:not(.is-disabled){background-color:highlighttext;border-color:highlight;color:highlight}.now-tab-button.is-selected,.now-tab-button.is-selected:hover{background-color:selecteditem;color:selecteditemtext}.now-tab-button.is-disabled{border-color:graytext;color:graytext;opacity:1}.now-tab-button .now-align{forced-color-adjust:none}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-align{display:flex}.now-align.-row.-reverse{flex-direction:row-reverse}.now-align.-column{flex-direction:column}.now-align.-column.-reverse{flex-direction:column-reverse}.now-align.-wrap{flex-wrap:wrap}.now-align.-inline{justify-content:space-between}.now-align.-inline-center{justify-content:center}.now-align.-inline-end{justify-content:flex-end}.now-align.-block-start{align-items:flex-start}.now-align.-block-center{align-items:center}.now-align.-block-end{align-items:flex-end}.now-m-block--xxs{-webkit-margin-before:.125rem;-webkit-margin-after:.125rem;margin-block-end:.125rem;margin-block-start:.125rem}.now-m-block-start--xxs{-webkit-margin-before:.125rem;margin-block-start:.125rem}.now-m-block-end--xxs{-webkit-margin-after:.125rem;margin-block-end:.125rem}.now-m-inline--xxs{-webkit-margin-start:.125rem;-webkit-margin-end:.125rem;margin-inline-end:.125rem;margin-inline-start:.125rem}.now-m-inline-start--xxs{-webkit-margin-start:.125rem;margin-inline-start:.125rem}.now-m-inline-end--xxs{-webkit-margin-end:.125rem;margin-inline-end:.125rem}:host{display:block}.now-tabs{background-color:RGB(var(--now-tabs_container--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-tabs_container--background-color-alpha,0));border-block-end-color:RGB(var(--now-tabs_divider--color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181))));border-block-end-style:solid;border-block-end-width:var(--now-tabs_divider--width,1px);display:flex;font-variant:normal;letter-spacing:inherit;text-indent:0;text-shadow:none;white-space:nowrap;word-spacing:inherit}.now-tabs.-sm .now-line-height-crop{display:block}.now-tabs.-sm .now-line-height-crop:after,.now-tabs.-sm .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-tabs.-sm .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-tabs.-sm .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-tabs.-sm .now-line-height-crop+.now-tabs.-sm .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-tabs.-md .now-line-height-crop{display:block}.now-tabs.-md .now-line-height-crop:after,.now-tabs.-md .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-tabs.-md .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-tabs.-md .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-tabs.-md .now-line-height-crop+.now-tabs.-md .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-tabs.hide-padding .now-tab+.now-tab,.now-tabs.hide-padding .now-tab-dropdown{-webkit-margin-start:calc(1.5rem*var(--now-tabs--scale-size-inline, 1));margin-inline-start:calc(1.5rem*var(--now-tabs--scale-size-inline, 1))}.now-tabs.hide-padding.fixed-width .now-tab+.now-tab,.now-tabs.hide-padding.fixed-width .now-tab~.now-tab-dropdown{-webkit-margin-start:0;margin-inline-start:0}.now-tabs.hide-divider{border-block-end-width:0}.now-tab-list{display:flex;min-inline-size:0}.fixed-width .now-tab-list{flex:1}.now-tabs-container{block-size:inherit;display:flex;flex-direction:column}.now-tab-panel{flex-grow:1;overflow:auto}.now-tab{align-items:center;background-color:RGB(var(--now-tabs--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-tabs--background-color-alpha,0));border:none;border-start-end-radius:var(--now-tabs--border-radius,0);border-start-start-radius:var(--now-tabs--border-radius,0);color:RGB(var(--now-tabs--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));cursor:pointer;display:flex;font-family:var(--now-tabs--font-family,var(--now-navigation--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)));font-style:var(--now-tabs--font-style,var(--now-navigation--font-style,normal));font-weight:var(--now-tabs--font-weight,var(--now-navigation--font-weight,normal));inline-size:inherit;inline-size:auto;justify-content:center;margin:0;min-inline-size:0;position:relative;text-transform:var(--now-tabs--text-transform,var(--now-navigation--text-transform,none))}.now-tab:active{color:currentcolor}.now-tab::-moz-focus-inner{border-style:none}.now-tab:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.now-tab:focus{outline:1px solid highlight}}.now-tab.-sm{-webkit-padding-before:0;-webkit-padding-after:0;-webkit-padding-start:calc(.5rem*var(--now-tabs--scale-size-inline, 1));-webkit-padding-end:calc(.5rem*var(--now-tabs--scale-size-inline, 1));block-size:calc(.75rem + var(--now-tabs--scale-size-block, 1)*1.5rem/2);font-size:.75rem;padding-block-end:0;padding-block-start:0;padding-inline-end:calc(.5rem*var(--now-tabs--scale-size-inline, 1));padding-inline-start:calc(.5rem*var(--now-tabs--scale-size-inline, 1))}.now-tab.-sm .now-line-height-crop{display:block}.now-tab.-sm .now-line-height-crop:after,.now-tab.-sm .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-tab.-sm .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-tab.-sm .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-tab.-sm .now-line-height-crop+.now-tab.-sm .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-tab.-md{-webkit-padding-before:0;-webkit-padding-after:0;-webkit-padding-start:calc(1rem*var(--now-tabs--scale-size-inline, 1));-webkit-padding-end:calc(1rem*var(--now-tabs--scale-size-inline, 1));block-size:calc(1rem + var(--now-tabs--scale-size-block, 1)*2rem/2);font-size:1rem;padding-block-end:0;padding-block-start:0;padding-inline-end:calc(1rem*var(--now-tabs--scale-size-inline, 1));padding-inline-start:calc(1rem*var(--now-tabs--scale-size-inline, 1))}.now-tab.-md .now-line-height-crop{display:block}.now-tab.-md .now-line-height-crop:after,.now-tab.-md .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-tab.-md .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-tab.-md .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-tab.-md .now-line-height-crop+.now-tab.-md .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-tab:hover:not(.is-disabled){background-color:RGB(var(--now-tabs--background-color--hover,var(--now-tabs--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-tabs--background-color-alpha,0));color:RGB(var(--now-tabs--color--hover,var(--now-color_selection--primary-3,23,100,82)))}.now-tab:hover:not(.is-disabled):after{background-color:RGB(var(--now-tabs--border-color--hover,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181))))}.now-tab:active:not(.is-disabled){background-color:RGB(var(--now-tabs--background-color--active,var(--now-tabs--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-tabs--background-color-alpha,0));color:RGB(var(--now-tabs--color--active,var(--now-color_selection--primary-4,15,67,55)))}.now-tab:active:not(.is-disabled):after{background-color:RGB(var(--now-tabs--border-color--active,var(--now-color_selection--primary-4,15,67,55)))}.now-tab.is-selected{background-color:RGB(var(--now-tabs--background-color--selected,var(--now-tabs--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-tabs--background-color-alpha,0));color:RGB(var(--now-tabs--color--selected,var(--now-color_selection--primary-3,23,100,82)));font-style:var(--now-tabs--font-style--selected,var(--now-tabs--font-style,var(--now-navigation--font-style,normal)));font-weight:var(--now-tabs--font-weight--selected,var(--now-tabs--font-weight,var(--now-navigation--font-weight,normal)));text-transform:var(--now-tabs--text-transform--selected,var(--now-tabs--text-transform,var(--now-navigation--text-transform,none)))}.now-tab.is-disabled{cursor:not-allowed;opacity:var(--now-tabs--opacity--disabled,var(--now-opacity--less,.25))}.hide-padding .now-tab{-webkit-padding-start:0;-webkit-padding-end:0;padding-inline-end:0;padding-inline-start:0}.fixed-width .now-tab{flex:1 1 0;min-inline-size:6.25rem}.-sm.fixed-width.icon-only .now-tab{min-inline-size:2.5rem}.-md.fixed-width.icon-only .now-tab{min-inline-size:3rem}.now-tab .now-line-height-crop{display:block;min-inline-size:0}.now-tab .now-line-height-crop:after,.now-tab .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-tab .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-tab .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-tab .now-line-height-crop+.now-tab .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-tab-dropdown:after,.now-tab:after{block-size:var(--now-tabs--border-width,.125rem);content:\\\"\\\";inline-size:100%;inset-block-end:calc(var(--now-tabs_divider--width, 1px)*-1);inset-inline-start:0;position:absolute}.now-tab-dropdown.is-selected:after,.now-tab.is-selected:after{background-color:RGB(var(--now-tabs--border-color--selected,var(--now-color_selection--primary-3,23,100,82)))}.now-tab-dropdown{--now-button--scale-size-inline:var(--now-tabs--scale-size-inline,1);--now-button--scale-size-block:var(--now-tabs--scale-size-block,1);--now-dropdown--bare--font-style:var(--now-tabs--font-style,var(--now-navigation--font-style,normal));--now-dropdown--bare--font-weight:var(--now-tabs--font-weight,var(--now-navigation--font-weight,normal));--now-dropdown--bare--font-family:var(--now-tabs--font-family,var(--now-navigation--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)));--now-dropdown--bare--text-transform:var(--now-tabs--text-transform,var(--now-navigation--text-transform,none));--now-dropdown--bare_tertiary--color:var(--now-tabs--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));--now-dropdown--bare_tertiary--color--hover:var(--now-tabs--color--hover,var(--now-color_selection--primary-3,23,100,82));--now-dropdown--bare_tertiary--color--active:var(--now-tabs--color--active,var(--now-color_selection--primary-4,15,67,55));--now-dropdown--bare_tertiary--background-color--hover:var(--now-tabs--background-color--hover,var(--now-tabs--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));--now-dropdown--bare_tertiary--background-color-alpha--hover:var(--now-tabs--background-color-alpha,0);--now-dropdown--bare_tertiary--background-color--active:var(--now-tabs--background-color--active,var(--now-tabs--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));--now-dropdown--bare_tertiary--background-color-alpha--active:var(--now-tabs--background-color-alpha,0);--now-dropdown_icon--bare_tertiary--color:var(--now-tabs--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));--now-dropdown_icon--bare_tertiary--color--hover:var(--now-tabs--color--hover,var(--now-color_selection--primary-3,23,100,82));--now-dropdown_icon--bare_tertiary--color--active:var(--now-tabs--color--active,var(--now-color_selection--primary-4,15,67,55));--now-dropdown_trigger-icon--bare_tertiary--color:var(--now-tabs--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));--now-dropdown_trigger-icon--bare_tertiary--color--hover:var(--now-tabs--color--hover,var(--now-color_selection--primary-3,23,100,82));--now-dropdown_trigger-icon--bare_tertiary--color--active:var(--now-tabs--color--active,var(--now-color_selection--primary-4,15,67,55));--now-dropdown--border-top-left-radius:var(--now-tabs--border-radius,0);--now-dropdown--border-top-right-radius:var(--now-tabs--border-radius,0);--now-dropdown--border-bottom-right-radius:0;--now-dropdown--border-bottom-left-radius:0;flex-shrink:0;min-inline-size:0;position:relative}.now-tab-dropdown.is-selected{--now-dropdown--bare--font-style:var(--now-tabs--font-style--selected,var(--now-tabs--font-style,var(--now-navigation--font-style,normal)));--now-dropdown--bare--font-weight:var(--now-tabs--font-weight--selected,var(--now-tabs--font-weight,var(--now-navigation--font-weight,normal)));--now-dropdown--bare--text-transform:var(--now-tabs--text-transform--selected,var(--now-tabs--text-transform,var(--now-navigation--text-transform,none)));--now-dropdown--bare_tertiary--color:var(--now-tabs--color--selected,var(--now-color_selection--primary-3,23,100,82))}.now-tab-count,.now-tab-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-tab-count{min-inline-size:.5rem}@media(forced-colors:active){.now-tabs{border-block-end-color:canvastext;border-block-end-width:1px}.now-tab{border-style:solid;border-width:1px}.now-tab:active:not(.is-disabled),.now-tab:not(.is-disabled){background-color:buttonface;color:buttontext}.now-tab:focus,.now-tab:hover:not(.is-disabled){background-color:highlighttext;border-color:highlight;color:highlight}.now-tab.is-selected,.now-tab.is-selected:hover{background-color:selecteditem;color:selecteditemtext}.now-tab.is-disabled{border-color:graytext;color:graytext;opacity:1}.now-tab .now-align{forced-color-adjust:none}.now-tab-dropdown:after,.now-tab:after{display:none}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".now-illustration-custom{margin:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:block}.now-illustration{align-items:center;block-size:100%;display:flex;justify-content:center;margin:0}.now-illustration-image{max-inline-size:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{block-size:100%;display:inline-block;inline-size:100%}.now-template-message-empty-state{block-size:100%;inline-size:100%}.now-template-message-empty-state-illustration{flex:1 1 auto}.-vertical-centered .now-template-message-empty-state-illustration{block-size:auto;inline-size:100%;max-block-size:22.25rem}.-horizontal .now-template-message-empty-state-illustration{block-size:100%;max-inline-size:22.25rem}.now-template-message-empty-state-messages{display:inline-block;inline-size:100%}.-md .now-template-message-empty-state-messages,.-sm .now-template-message-empty-state-messages{-webkit-margin-after:1rem;margin-block-end:1rem}.-md.-vertical-centered .now-template-message-empty-state-messages,.-sm.-vertical-centered .now-template-message-empty-state-messages{-webkit-margin-before:1rem;margin-block-start:1rem}.-md.-horizontal .now-template-message-empty-state-messages,.-sm.-horizontal .now-template-message-empty-state-messages{-webkit-margin-start:1rem;margin-inline-start:1rem}.-lg .now-template-message-empty-state-messages{-webkit-margin-after:1.5rem;margin-block-end:1.5rem}.-lg.-vertical-centered .now-template-message-empty-state-messages{-webkit-margin-before:1.5rem;margin-block-start:1.5rem}.-lg.-horizontal .now-template-message-empty-state-messages{-webkit-margin-start:1.5rem;margin-inline-start:1.5rem}.now-template-message-empty-state-heading{-webkit-margin-before:0;color:RGB(var(--now-template-message-empty-state_heading--color,var(--now-display-type--primary--color,var(--now-display-type--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))));margin-block-start:0}.-sm .now-template-message-empty-state-heading{font-size:.75rem}.-md .now-template-message-empty-state-heading,.-sm .now-template-message-empty-state-heading{-webkit-margin-after:.75rem;font-family:var(--now-template-message-empty-state_heading--title--font-family,var(--now-display-type--title-primary--font-family,var(--now-display-type--primary--font-family,var(--now-display-type--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-style:var(--now-template-message-empty-state_heading--title--font-style,var(--now-display-type--title-primary--font-style,var(--now-display-type--primary--font-style,var(--now-display-type--font-style,normal))));font-weight:var(--now-template-message-empty-state_heading--title--font-weight,var(--now-display-type--title-primary--font-weight,var(--now-display-type--primary--font-weight,600)));margin-block-end:.75rem;text-transform:var(--now-template-message-empty-state_heading--title--text-transform,var(--now-display-type--title-primary--text-transform,var(--now-display-type--primary--text-transform,var(--now-display-type--text-transform,none))))}.-md .now-template-message-empty-state-heading{font-size:1rem}.-lg .now-template-message-empty-state-heading{-webkit-margin-after:1rem;font-family:var(--now-template-message-empty-state_heading--header--font-family,var(--now-display-type--header-primary--font-family,var(--now-display-type--primary--font-family,var(--now-display-type--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:1.25rem;font-style:var(--now-template-message-empty-state_heading--header--font-style,var(--now-display-type--header-primary--font-style,var(--now-display-type--primary--font-style,var(--now-display-type--font-style,normal))));font-weight:var(--now-template-message-empty-state_heading--header--font-weight,var(--now-display-type--header-primary--font-weight,var(--now-display-type--primary--font-weight,600)));margin-block-end:1rem;text-transform:var(--now-template-message-empty-state_heading--header--text-transform,var(--now-display-type--header-primary--text-transform,var(--now-display-type--primary--text-transform,var(--now-display-type--text-transform,none))))}.now-template-message-empty-state-heading.no-content{-webkit-margin-after:0;margin-block-end:0}.now-template-message-empty-state-content{-webkit-margin-before:0;-webkit-margin-after:0;color:RGB(var(--now-template-message-empty-state_content--color,var(--now-display-type--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))));font-family:var(--now-template-message-empty-state_content--font-family,var(--now-display-type--tertiary--font-family,var(--now-display-type--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-template-message-empty-state_content--font-style,var(--now-display-type--tertiary--font-style,var(--now-display-type--font-style,normal)));font-weight:var(--now-template-message-empty-state_content--font-weight,var(--now-display-type--tertiary--font-weight,var(--now-display-type--font-weight,normal)));margin-block-end:0;margin-block-start:0;text-transform:var(--now-template-message-empty-state_content--text-transform,var(--now-display-type--tertiary--text-transform,var(--now-display-type--text-transform,none)))}.-md .now-template-message-empty-state-content,.-sm .now-template-message-empty-state-content{font-size:.75rem}.-lg .now-template-message-empty-state-content{font-size:1rem}.-md.-horizontal .now-template-message-empty-state-actions,.-sm.-horizontal .now-template-message-empty-state-actions{-webkit-margin-start:1rem;margin-inline-start:1rem}.-lg.-horizontal .now-template-message-empty-state-actions{-webkit-margin-start:1.5rem;margin-inline-start:1.5rem}.now-template-message-empty-state-action{-webkit-margin-after:.5rem;margin-block-end:.5rem}.-vertical-centered .now-template-message-empty-state-action{-webkit-margin-start:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem;margin-inline-start:.25rem}.-horizontal .now-template-message-empty-state-action{-webkit-margin-end:.5rem;margin-inline-end:.5rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-m-block--xxs{-webkit-margin-before:.125rem;-webkit-margin-after:.125rem;margin-block-end:.125rem;margin-block-start:.125rem}.now-m-block-start--xxs{-webkit-margin-before:.125rem;margin-block-start:.125rem}.now-m-block-end--xxs{-webkit-margin-after:.125rem;margin-block-end:.125rem}.now-m-inline--xxs{-webkit-margin-start:.125rem;-webkit-margin-end:.125rem;margin-inline-end:.125rem;margin-inline-start:.125rem}.now-m-inline-start--xxs{-webkit-margin-start:.125rem;margin-inline-start:.125rem}.now-m-inline-end--xxs{-webkit-margin-end:.125rem;margin-inline-end:.125rem}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;-webkit-clip-path:inset(50%);clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}:host{--now-line-height:inherit;display:inline-block}.now-text-link{cursor:pointer;font-family:var(--now-text-link--font-family,inherit);font-style:var(--now-text-link--font-style,inherit);font-weight:var(--now-text-link--font-weight,inherit);text-decoration:none;text-transform:var(--now-text-link--text-transform,inherit)}.now-text-link::-moz-focus-inner{border-style:none}.now-text-link:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)));outline:none}@media(forced-colors:active){.now-text-link:focus{outline:1px solid highlight}}.now-text-link:active,.now-text-link:hover{text-decoration:underline}.now-text-link.-primary{color:RGB(var(--now-text-link--primary--color,var(--now-color--secondary-1,1,119,142)))}.now-text-link.-primary:hover{color:RGB(var(--now-text-link--primary--color--hover,var(--now-color--secondary-2,1,89,107)))}.now-text-link.-primary:active{color:RGB(var(--now-text-link--primary--color--active,var(--now-color--secondary-3,1,60,71)))}.now-text-link.-secondary{color:RGB(var(--now-text-link--secondary--color,var(--now-color--secondary-2,1,89,107)))}.now-text-link.-secondary:hover{color:RGB(var(--now-text-link--secondary--color--hover,var(--now-color--secondary-3,1,60,71)))}.now-text-link.-secondary:active{color:RGB(var(--now-text-link--secondary--color--active,var(--now-color--secondary-3,1,60,71)))}.now-text-link.show-underline{text-decoration:underline}@media(forced-colors:active){.now-text-link{text-decoration:underline}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-m-block--xs{-webkit-margin-before:var(--now-space--xs,.25rem);-webkit-margin-after:var(--now-space--xs,.25rem);margin-block-end:var(--now-space--xs,.25rem);margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-start--xs{-webkit-margin-before:var(--now-space--xs,.25rem);margin-block-start:var(--now-space--xs,.25rem)}.now-m-block-end--xs{-webkit-margin-after:var(--now-space--xs,.25rem);margin-block-end:var(--now-space--xs,.25rem)}.now-m-inline--xs{-webkit-margin-start:var(--now-space--xs,.25rem);-webkit-margin-end:var(--now-space--xs,.25rem);margin-inline-end:var(--now-space--xs,.25rem);margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-start--xs{-webkit-margin-start:var(--now-space--xs,.25rem);margin-inline-start:var(--now-space--xs,.25rem)}.now-m-inline-end--xs{-webkit-margin-end:var(--now-space--xs,.25rem);margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-message{-webkit-margin-before:var(--now-space--xs,.25rem);border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:var(--now-space--xs,.25rem);overflow-wrap:anywhere;padding-block:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)))}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{-webkit-margin-after:calc(var(--now-scale-space--xxs, 1)*.125rem);margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{-webkit-margin-end:var(--now-space--xs,.25rem);justify-content:end;margin-inline-end:var(--now-space--xs,.25rem);min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{overflow-wrap:anywhere}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{-webkit-margin-start:auto;margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){-webkit-padding-start:var(--now-space--sm2,.75rem);max-inline-size:calc(4.5rem + var(--now-space--sm2, .75rem));padding-inline-start:var(--now-space--sm2,.75rem)}.-horizontal .now-form-field-label-end{-webkit-margin-start:var(--now-space--xs,.25rem);flex-wrap:wrap;gap:var(--now-space--xxs,.125rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:var(--now-space--xxs,.125rem)}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){-webkit-margin-end:var(--now-space--xs,.25rem);margin-inline-end:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-start ::slotted(*){-webkit-margin-start:var(--now-space--xs,.25rem);margin-inline-start:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-inline ::slotted(*){-webkit-margin-start:var(--now-space--xs,.25rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-label-inline ::slotted(*){-webkit-margin-end:var(--now-space--xs,.25rem);margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{-webkit-margin-end:var(--now-space--xs,.25rem);margin-inline-end:var(--now-space--xs,.25rem)}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{-webkit-margin-start:var(--now-space--xs,.25rem);margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{-webkit-padding-after:calc(var(--now-line-height-crop--after)*1*-1);display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:var(--now-space--sm,.5rem) var(--now-space--xs,.25rem)}.-md .now-form-field{-webkit-padding-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1));block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(var(--now-space--sm, .5rem)*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 var(--now-space--xs,.25rem)!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:var(--now-space--xs,.25rem)!important}.-sm .is-number .now-form-field-slot.-end{-webkit-margin-start:var(--now-space--xs,.25rem);margin-inline-start:var(--now-space--xs,.25rem)}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){-webkit-margin-start:0!important;margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){-webkit-margin-start:0!important;margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){-webkit-margin-end:0!important;margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){-webkit-margin-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important;margin-inline-end:calc(var(--now-space--xs, .25rem)*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){-webkit-margin-end:0!important;margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{-webkit-margin-start:var(--now-space--xs,.25rem);margin-inline-start:var(--now-space--xs,.25rem)}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{-webkit-margin-start:var(--now-space--xs,.25rem);margin-inline-start:var(--now-space--xs,.25rem)}.-horizontal .now-form-field-button{-webkit-margin-end:var(--now-space--xs,.25rem);margin-inline-end:var(--now-space--xs,.25rem)}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::-webkit-input-placeholder{color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{-webkit-border-after:1px highlight solid!important;border-block-end:1px solid highlight!important}}:host{display:inline-block;margin-block:calc(var(--now-scale-space--sm, 1)*.5rem)}.now-textarea{font-variant:normal;letter-spacing:inherit;text-indent:0;text-shadow:none;white-space:normal;word-spacing:inherit}.now-textarea.-horizontal{align-items:start;grid-template-rows:minmax(auto,1fr)}.now-textarea.disable-max-height{block-size:100%}.-md.-horizontal .now-form-field-label,.-md.-horizontal .now-form-field-label-end{-webkit-padding-before:calc(var(--now-scale-space--md, 1)*.75rem);padding-block-start:calc(var(--now-scale-space--md, 1)*.75rem)}.-sm.-horizontal .now-form-field-label,.-sm.-horizontal .now-form-field-label-end{-webkit-padding-before:calc(var(--now-scale-space--sm, 1)*.5rem);padding-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.now-textarea-field,.now-textarea-field-backdrop,.now-textarea-field-copy{block-size:100%;border-block-end-width:calc(var(--now-textarea--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px)) + var(--now-textarea--border-width, var(--now-form-control-input--primary--border-width, 0px)));border-block-start-width:var(--now-textarea--border-width,var(--now-form-control-input--primary--border-width,0));border-inline-end-width:var(--now-textarea--border-width,var(--now-form-control-input--primary--border-width,0));border-inline-start-width:var(--now-textarea--border-width,var(--now-form-control-input--primary--border-width,0));border-radius:var(--now-textarea--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-style:solid;display:block;font-family:var(--now-form-field--font-family,var(--now-form-control_value--primary--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-form-field--font-style,var(--now-form-control_value--primary--font-style,var(--now-form-control--font-style,normal)));font-variant:normal;font-weight:var(--now-form-field--font-weight,var(--now-form-control_value--primary--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;letter-spacing:inherit;outline:none;text-indent:0;text-shadow:none;text-transform:var(--now-form-field--text-transform,var(--now-form-control_value--primary--text-transform,var(--now-form-control--text-transform,none)));word-spacing:inherit}.should-animate .now-textarea-field,.should-animate .now-textarea-field-backdrop,.should-animate .now-textarea-field-copy{transition-duration:var(--now-motion--duration--faster,.1s),var(--now-motion--duration--faster,.1s),var(--now-motion--duration--faster,.1s),var(--now-motion--duration--normal,.2s);transition-property:border-color,outline,background-color,box-shadow;transition-timing-function:var(--now-motion--ease--linear,linear)}.-sm .now-textarea-field,.-sm .now-textarea-field-backdrop,.-sm .now-textarea-field-copy{box-shadow:inset 0 1px 0 1px RGB(var(--now-textarea_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-textarea_inset--color-alpha,var(--now-form-control-input_inner-shadow--color-alpha,.1))) inset 0 0 0 0 RGB(var(--now-textarea--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))),0),0 0 0 0 RGB(var(--now-textarea--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))),0);font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));line-height:1.3333;padding:var(--now-space--xs,.25rem) var(--now-space--sm,.5rem)}.-md .now-textarea-field,.-md .now-textarea-field-backdrop,.-md .now-textarea-field-copy{box-shadow:inset 0 .125rem 0 1px RGB(var(--now-textarea_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-textarea_inset--color-alpha,var(--now-form-control-input_inner-shadow--color-alpha,.1))) inset 0 0 0 0 RGB(var(--now-textarea--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))),0),0 0 0 0 RGB(var(--now-textarea--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))),0);font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem));line-height:1.25;padding:var(--now-space--sm,.5rem)}.now-textarea-field-backdrop.has-slotted-content,.now-textarea-field-copy.has-slotted-content,.now-textarea-field.has-slotted-content{-webkit-padding-start:var(--now-space--lg2,1.5rem);padding-inline-start:var(--now-space--lg2,1.5rem)}.now-textarea-field-backdrop:not([rows=\\\"\\\"]),.now-textarea-field-copy:not([rows=\\\"\\\"]),.now-textarea-field:not([rows=\\\"\\\"]){max-block-size:16rem;min-block-size:calc(2rem + var(--now-form-field--scale-size-block, 1)*4rem/2)}.disable-min-height .now-textarea-field,.disable-min-height .now-textarea-field-backdrop,.disable-min-height .now-textarea-field-copy{min-block-size:0}.now-textarea-field-backdrop::-webkit-input-placeholder,.now-textarea-field-copy::-webkit-input-placeholder,.now-textarea-field::-webkit-input-placeholder{opacity:1}.now-textarea-field-backdrop::placeholder,.now-textarea-field-copy::placeholder,.now-textarea-field::placeholder{opacity:1}.now-textarea-field-backdrop:not(.is-disabled):hover,.now-textarea-field-copy:not(.is-disabled):hover,.now-textarea-field:not(.is-disabled):hover{background-color:RGB(var(--now-textarea--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-textarea--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));box-shadow:inset 0 .125rem 0 1px RGB(var(--now-textarea_inset--color--hover,var(--now-form-control-input_inner-shadow--primary--color--hover,var(--now-color--primary-3,15,67,55))),var(--now-textarea_inset--color-alpha--hover,var(--now-form-control-input_inner-shadow--color-alpha,.1))) inset 0 0 0 0 RGB(var(--now-textarea--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))),0),0 0 0 0 RGB(var(--now-textarea--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))),0)}.now-textarea-field-backdrop:focus,.now-textarea-field-backdrop:not(.is-disabled):hover,.now-textarea-field-copy:focus,.now-textarea-field-copy:not(.is-disabled):hover,.now-textarea-field:focus,.now-textarea-field:not(.is-disabled):hover{border-block-end-width:calc(var(--now-textarea--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2 + var(--now-textarea--border-width, var(--now-form-control-input--primary--border-width, 0px)))}.-sm .now-textarea-field-backdrop:focus,.-sm .now-textarea-field-copy:focus,.-sm .now-textarea-field:focus{box-shadow:inset 0 .125rem 0 1px RGB(var(--now-textarea_inset--color--focus,var(--now-form-control-input_inner-shadow--primary--color--focus,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28)))),var(--now-textarea_inset--color-alpha--focus,var(--now-form-control-input_inner-shadow--color-alpha,.1))),inset 0 0 0 var(--now-textarea--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-textarea--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 calc(var(--now-form-field_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2) RGB(var(--now-textarea--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}.-md .now-textarea-field-backdrop:focus,.-md .now-textarea-field-copy:focus,.-md .now-textarea-field:focus{box-shadow:inset 0 .1875rem 0 1px RGB(var(--now-textarea_inset--color--focus,var(--now-form-control-input_inner-shadow--primary--color--focus,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28)))),var(--now-textarea_inset--color-alpha--focus,var(--now-form-control-input_inner-shadow--color-alpha,.1))),inset 0 0 0 var(--now-textarea--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-textarea--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-textarea--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}.now-textarea-field-backdrop.-initial,.now-textarea-field-copy.-initial,.now-textarea-field.-initial{background-color:RGB(var(--now-textarea--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-textarea--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-textarea--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-block-end-color:RGB(var(--now-textarea--border-block-end-color,var(--now-form-control-input--primary--border-block-end-color,var(--now-color_border--primary-actionable,var(--now-color--neutral-18,22,27,28)))));color:RGB(var(--now-textarea--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-textarea-field-backdrop.-initial::-webkit-input-placeholder,.now-textarea-field-copy.-initial::-webkit-input-placeholder,.now-textarea-field.-initial::-webkit-input-placeholder{color:RGB(var(--now-textarea_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),.95)}.now-textarea-field-backdrop.-initial::placeholder,.now-textarea-field-copy.-initial::placeholder,.now-textarea-field.-initial::placeholder{color:RGB(var(--now-textarea_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),.95)}.now-textarea-field-backdrop.-initial:not(.is-disabled).hover,.now-textarea-field-backdrop.-initial:not(.is-disabled):hover,.now-textarea-field-copy.-initial:not(.is-disabled).hover,.now-textarea-field-copy.-initial:not(.is-disabled):hover,.now-textarea-field.-initial:not(.is-disabled).hover,.now-textarea-field.-initial:not(.is-disabled):hover{border-color:RGB(var(--now-textarea--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));border-block-end-color:RGB(var(--now-textarea--border-block-end-color--hover,var(--now-form-control-input--primary--border-block-end-color--hover,var(--now-color--primary-brand-10,0,128,163))))}.now-textarea-field-backdrop.-initial:not(.is-disabled).hover::-webkit-input-placeholder,.now-textarea-field-backdrop.-initial:not(.is-disabled):hover::-webkit-input-placeholder,.now-textarea-field-copy.-initial:not(.is-disabled).hover::-webkit-input-placeholder,.now-textarea-field-copy.-initial:not(.is-disabled):hover::-webkit-input-placeholder,.now-textarea-field.-initial:not(.is-disabled).hover::-webkit-input-placeholder,.now-textarea-field.-initial:not(.is-disabled):hover::-webkit-input-placeholder{color:RGB(var(--now-textarea_placeholder--color--hover,var(--now-form-control_value--placeholder--color--hover,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))),.85)}.now-textarea-field-backdrop.-initial:not(.is-disabled).hover::placeholder,.now-textarea-field-backdrop.-initial:not(.is-disabled):hover::placeholder,.now-textarea-field-copy.-initial:not(.is-disabled).hover::placeholder,.now-textarea-field-copy.-initial:not(.is-disabled):hover::placeholder,.now-textarea-field.-initial:not(.is-disabled).hover::placeholder,.now-textarea-field.-initial:not(.is-disabled):hover::placeholder{color:RGB(var(--now-textarea_placeholder--color--hover,var(--now-form-control_value--placeholder--color--hover,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))),.85)}.now-textarea-field-backdrop.-initial:focus,.now-textarea-field-copy.-initial:focus,.now-textarea-field.-initial:focus{background-color:RGB(var(--now-textarea--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))),var(--now-textarea--background-color-alpha--focus,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-textarea--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))))}.now-textarea-field-backdrop.-initial:focus::-webkit-input-placeholder,.now-textarea-field-copy.-initial:focus::-webkit-input-placeholder,.now-textarea-field.-initial:focus::-webkit-input-placeholder{color:RGB(var(--now-textarea_placeholder--color--hover,var(--now-form-control_value--placeholder--color--hover,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))),.85)}.now-textarea-field-backdrop.-initial:focus::placeholder,.now-textarea-field-copy.-initial:focus::placeholder,.now-textarea-field.-initial:focus::placeholder{color:RGB(var(--now-textarea_placeholder--color--hover,var(--now-form-control_value--placeholder--color--hover,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))),.85)}.now-textarea-field-backdrop.-blue,.now-textarea-field-copy.-blue,.now-textarea-field.-blue{background-color:RGB(var(--now-textarea--blue--background-color,var(--now-form-control-input--info--background-color,var(--now-color_grouped--blue-0,215,231,240))),var(--now-textarea--blue--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-textarea--blue--border-color,var(--now-form-control-input--info--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-textarea--blue--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.-sm .now-textarea-field-backdrop.-blue,.-sm .now-textarea-field-copy.-blue,.-sm .now-textarea-field.-blue{box-shadow:inset 0 1px 0 1px RGB(var(--now-textarea_inset--blue--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-textarea_inset--blue--color-alpha,var(--now-form-control-input_inner-shadow--color-alpha,.1))) inset 0 0 0 0 RGB(var(--now-textarea--blue--border-color,var(--now-form-control-input--info--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))),0),0 0 0 0 RGB(var(--now-textarea--blue--border-color,var(--now-form-control-input--info--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))),0)}.-md .now-textarea-field-backdrop.-blue,.-md .now-textarea-field-copy.-blue,.-md .now-textarea-field.-blue{box-shadow:inset 0 .125rem 0 1px RGB(var(--now-textarea_inset--blue--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-textarea_inset--blue--color-alpha,var(--now-form-control-input_inner-shadow--color-alpha,.1))) inset 0 0 0 0 RGB(var(--now-textarea--blue--border-color,var(--now-form-control-input--info--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))),0),0 0 0 0 RGB(var(--now-textarea--blue--border-color,var(--now-form-control-input--info--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))),0)}.now-textarea-field-backdrop.-blue::-webkit-input-placeholder,.now-textarea-field-copy.-blue::-webkit-input-placeholder,.now-textarea-field.-blue::-webkit-input-placeholder{color:RGB(var(--now-textarea_placeholder--blue--color,var(--now-form-control_value--placeholder_strong--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),.95)}.now-textarea-field-backdrop.-blue::placeholder,.now-textarea-field-copy.-blue::placeholder,.now-textarea-field.-blue::placeholder{color:RGB(var(--now-textarea_placeholder--blue--color,var(--now-form-control_value--placeholder_strong--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),.95)}.now-textarea-field-backdrop.-blue:not(.is-disabled).hover,.now-textarea-field-backdrop.-blue:not(.is-disabled):hover,.now-textarea-field-copy.-blue:not(.is-disabled).hover,.now-textarea-field-copy.-blue:not(.is-disabled):hover,.now-textarea-field.-blue:not(.is-disabled).hover,.now-textarea-field.-blue:not(.is-disabled):hover{background-color:RGB(var(--now-textarea--blue--background-color--hover,var(--now-form-control-input--info--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-textarea--blue--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-textarea--blue--border-color--hover,var(--now-form-control-input--info--border-color--hover,var(--now-form-control-input--info--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))));border-block-end-color:RGB(var(--now-textarea--border-block-end-color--hover,var(--now-form-control-input--primary--border-block-end-color--hover,var(--now-color--primary-brand-10,0,128,163))));box-shadow:inset 0 .125rem 0 1px RGB(var(--now-textarea_inset--blue--color--hover,var(--now-form-control-input_inner-shadow--primary--color--hover,var(--now-color--primary-3,15,67,55))),var(--now-textarea_inset--blue--color-alpha--hover,var(--now-form-control-input_inner-shadow--color-alpha,.1))) inset 0 0 0 0 RGB(var(--now-textarea--blue--border-color--hover,var(--now-form-control-input--info--border-color--hover,var(--now-form-control-input--info--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),0),0 0 0 0 RGB(var(--now-textarea--blue--border-color--hover,var(--now-form-control-input--info--border-color--hover,var(--now-form-control-input--info--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),0)}.now-textarea-field-backdrop.-blue:not(.is-disabled).hover::-webkit-input-placeholder,.now-textarea-field-backdrop.-blue:not(.is-disabled):hover::-webkit-input-placeholder,.now-textarea-field-copy.-blue:not(.is-disabled).hover::-webkit-input-placeholder,.now-textarea-field-copy.-blue:not(.is-disabled):hover::-webkit-input-placeholder,.now-textarea-field.-blue:not(.is-disabled).hover::-webkit-input-placeholder,.now-textarea-field.-blue:not(.is-disabled):hover::-webkit-input-placeholder{color:RGB(var(--now-textarea_placeholder--blue--color--hover,var(--now-form-control_value--placeholder_strong--color--hover,var(--now-form-control_value--placeholder_strong--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))),.85)}.now-textarea-field-backdrop.-blue:not(.is-disabled).hover::placeholder,.now-textarea-field-backdrop.-blue:not(.is-disabled):hover::placeholder,.now-textarea-field-copy.-blue:not(.is-disabled).hover::placeholder,.now-textarea-field-copy.-blue:not(.is-disabled):hover::placeholder,.now-textarea-field.-blue:not(.is-disabled).hover::placeholder,.now-textarea-field.-blue:not(.is-disabled):hover::placeholder{color:RGB(var(--now-textarea_placeholder--blue--color--hover,var(--now-form-control_value--placeholder_strong--color--hover,var(--now-form-control_value--placeholder_strong--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))),.85)}.now-textarea-field-backdrop.-blue:focus,.now-textarea-field-copy.-blue:focus,.now-textarea-field.-blue:focus{background-color:RGB(var(--now-textarea--blue--background-color--focus,var(--now-form-control-input--info--background-color--focus,var(--now-form-control-input--info--background-color,var(--now-color_grouped--blue-0,215,231,240)))),var(--now-textarea--blue--background-color-alpha--focus,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-textarea--blue--border-color--focus,var(--now-form-control-input--info--border-color--focus,var(--now-color--focus-2,1,119,142))))}.-sm .now-textarea-field-backdrop.-blue:focus,.-sm .now-textarea-field-copy.-blue:focus,.-sm .now-textarea-field.-blue:focus{box-shadow:inset 0 .125rem 0 1px RGB(var(--now-textarea_inset--blue--color--focus,var(--now-form-control-input_inner-shadow--primary--color--focus,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28)))),var(--now-textarea_inset--blue--color-alpha--focus,var(--now-form-control-input_inner-shadow--color-alpha,.1))),inset 0 0 0 var(--now-textarea--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-textarea--blue--border-color--focus,var(--now-form-control-input--info--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 calc(var(--now-form-field_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2) RGB(var(--now-textarea--blue--border-color--focus,var(--now-form-control-input--info--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}.-md .now-textarea-field-backdrop.-blue:focus,.-md .now-textarea-field-copy.-blue:focus,.-md .now-textarea-field.-blue:focus{box-shadow:inset 0 .1875rem 0 1px RGB(var(--now-textarea_inset--blue--color--focus,var(--now-form-control-input_inner-shadow--primary--color--focus,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28)))),var(--now-textarea_inset--blue--color-alpha--focus,var(--now-form-control-input_inner-shadow--color-alpha,.1))),inset 0 0 0 var(--now-textarea--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-textarea--blue--border-color--focus,var(--now-form-control-input--info--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-textarea--blue--border-color--focus,var(--now-form-control-input--info--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}.now-textarea-field-backdrop.-blue:focus::-webkit-input-placeholder,.now-textarea-field-copy.-blue:focus::-webkit-input-placeholder,.now-textarea-field.-blue:focus::-webkit-input-placeholder{color:RGB(var(--now-textarea_placeholder--blue--color--hover,var(--now-form-control_value--placeholder_strong--color--hover,var(--now-form-control_value--placeholder_strong--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))),.85)}.now-textarea-field-backdrop.-blue:focus::placeholder,.now-textarea-field-copy.-blue:focus::placeholder,.now-textarea-field.-blue:focus::placeholder{color:RGB(var(--now-textarea_placeholder--blue--color--hover,var(--now-form-control_value--placeholder_strong--color--hover,var(--now-form-control_value--placeholder_strong--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))),.85)}.now-textarea-field-backdrop.-blue.is-invalid,.now-textarea-field-copy.-blue.is-invalid,.now-textarea-field.-blue.is-invalid{background-color:RGB(var(--now-textarea--blue--background-color--invalid,var(--now-form-control-input--info--background-color--invalid,var(--now-form-control-input--info--background-color,var(--now-color_grouped--blue-0,215,231,240)))),var(--now-textarea--blue--background-color-alpha--invalid,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-textarea--blue--border-color--invalid,var(--now-form-control-input--info--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))));box-shadow:inset 0 .125rem 0 1px RGB(var(--now-textarea_inset--blue--color--invalid,var(--now-form-control-input_inner-shadow--primary--color--invalid,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28)))),var(--now-textarea_inset--blue--color-alpha--invalid,var(--now-form-control-input_inner-shadow--color-alpha,.1))) inset 0 0 0 0 RGB(var(--now-textarea--blue--border-color--invalid,var(--now-form-control-input--info--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))),0),0 0 0 0 RGB(var(--now-textarea--blue--border-color--invalid,var(--now-form-control-input--info--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))),0)}.now-textarea-field-backdrop.-blue.is-invalid:not(.is-disabled).hover,.now-textarea-field-backdrop.-blue.is-invalid:not(.is-disabled):hover,.now-textarea-field-copy.-blue.is-invalid:not(.is-disabled).hover,.now-textarea-field-copy.-blue.is-invalid:not(.is-disabled):hover,.now-textarea-field.-blue.is-invalid:not(.is-disabled).hover,.now-textarea-field.-blue.is-invalid:not(.is-disabled):hover{background-color:RGB(var(--now-textarea--blue--background-color--invalid_hover,var(--now-form-control-input--info--background-color--invalid_hover,var(--now-color_alert--critical-0,241,206,205))),var(--now-textarea--blue--background-color-alpha--invalid_hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-textarea--blue--border-color--invalid_hover,var(--now-form-control-input--info--border-color--invalid_hover,var(--now-form-control-input--info--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))));box-shadow:inset 0 .125rem 0 1px RGB(var(--now-textarea_inset--blue--color--invalid_hover,var(--now-form-control-input_inner-shadow--primary--color--invalid_hover,var(--now-color_alert--critical-5,80,24,22))),var(--now-textarea_inset--blue--color-alpha--invalid_hover,var(--now-form-control-input_inner-shadow--color-alpha,.1))) inset 0 0 0 0 RGB(var(--now-textarea--blue--border-color--invalid_hover,var(--now-form-control-input--info--border-color--invalid_hover,var(--now-form-control-input--info--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))),0),0 0 0 0 RGB(var(--now-textarea--blue--border-color--invalid_hover,var(--now-form-control-input--info--border-color--invalid_hover,var(--now-form-control-input--info--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))),0)}.now-textarea-field-backdrop.-blue.is-invalid:focus,.now-textarea-field-copy.-blue.is-invalid:focus,.now-textarea-field.-blue.is-invalid:focus{background-color:RGB(var(--now-textarea--blue--background-color--invalid_focus,var(--now-form-control-input--info--background-color--invalid_focus,var(--now-form-control-input--info--background-color--invalid,var(--now-form-control-input--info--background-color,var(--now-color_grouped--blue-0,215,231,240))))),var(--now-textarea--blue--background-color-alpha--invalid_focus,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-textarea--blue--border-color--invalid_focus,var(--now-form-control-input--info--border-color--invalid_focus,var(--now-form-control-input--info--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))))}.-sm .now-textarea-field-backdrop.-blue.is-invalid:focus,.-sm .now-textarea-field-copy.-blue.is-invalid:focus,.-sm .now-textarea-field.-blue.is-invalid:focus{box-shadow:inset 0 .125rem 0 1px RGB(var(--now-textarea_inset--blue--color--invalid_focus,var(--now-form-control-input_inner-shadow--primary--color--invalid_focus,var(--now-form-control-input_inner-shadow--primary--color--invalid,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))))),var(--now-textarea_inset--blue--color-alpha--invalid_focus,var(--now-form-control-input_inner-shadow--color-alpha,.1))),inset 0 0 0 var(--now-textarea--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-textarea--blue--border-color--invalid_focus,var(--now-form-control-input--info--border-color--invalid_focus,var(--now-form-control-input--info--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))),0 0 0 calc(var(--now-form-field_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2) RGB(var(--now-textarea--blue--border-color--invalid_focus,var(--now-form-control-input--info--border-color--invalid_focus,var(--now-form-control-input--info--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))),var(--now-opacity--least,.1))}.-md .now-textarea-field-backdrop.-blue.is-invalid:focus,.-md .now-textarea-field-copy.-blue.is-invalid:focus,.-md .now-textarea-field.-blue.is-invalid:focus{box-shadow:inset 0 .1875rem 0 1px RGB(var(--now-textarea_inset--blue--color--invalid_focus,var(--now-form-control-input_inner-shadow--primary--color--invalid_focus,var(--now-form-control-input_inner-shadow--primary--color--invalid,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))))),var(--now-textarea_inset--blue--color-alpha--invalid_focus,var(--now-form-control-input_inner-shadow--color-alpha,.1))),inset 0 0 0 var(--now-textarea--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-textarea--blue--border-color--invalid_focus,var(--now-form-control-input--info--border-color--invalid_focus,var(--now-form-control-input--info--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-textarea--blue--border-color--invalid_focus,var(--now-form-control-input--info--border-color--invalid_focus,var(--now-form-control-input--info--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))),var(--now-opacity--least,.1))}.now-textarea-field-backdrop.-blue.is-disabled,.now-textarea-field-copy.-blue.is-disabled,.now-textarea-field.-blue.is-disabled{opacity:var(--now-textarea--blue--opacity--disabled,var(--now-form-control-input--opacity--disabled,var(--now-form-control--opacity--disabled,.25)))}.now-textarea-field-backdrop.-yellow,.now-textarea-field-copy.-yellow,.now-textarea-field.-yellow{background-color:RGB(var(--now-textarea--yellow--background-color,var(--now-form-control-input--warning--background-color,var(--now-color_grouped--yellow-1,245,224,155))),var(--now-textarea--yellow--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-textarea--yellow--border-color,var(--now-form-control-input--warning--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-textarea--yellow--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.-sm .now-textarea-field-backdrop.-yellow,.-sm .now-textarea-field-copy.-yellow,.-sm .now-textarea-field.-yellow{box-shadow:inset 0 1px 0 1px RGB(var(--now-textarea_inset--yellow--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-textarea_inset--yellow--color-alpha,var(--now-form-control-input_inner-shadow--color-alpha,.1))) inset 0 0 0 0 RGB(var(--now-textarea--yellow--border-color,var(--now-form-control-input--warning--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))),0),0 0 0 0 RGB(var(--now-textarea--yellow--border-color,var(--now-form-control-input--warning--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))),0)}.-md .now-textarea-field-backdrop.-yellow,.-md .now-textarea-field-copy.-yellow,.-md .now-textarea-field.-yellow{box-shadow:inset 0 .125rem 0 1px RGB(var(--now-textarea_inset--yellow--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-textarea_inset--yellow--color-alpha,var(--now-form-control-input_inner-shadow--color-alpha,.1))) inset 0 0 0 0 RGB(var(--now-textarea--yellow--border-color,var(--now-form-control-input--warning--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))),0),0 0 0 0 RGB(var(--now-textarea--yellow--border-color,var(--now-form-control-input--warning--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))),0)}.now-textarea-field-backdrop.-yellow::-webkit-input-placeholder,.now-textarea-field-copy.-yellow::-webkit-input-placeholder,.now-textarea-field.-yellow::-webkit-input-placeholder{color:RGB(var(--now-textarea_placeholder--yellow--color,var(--now-form-control_value--placeholder_strong--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),.95)}.now-textarea-field-backdrop.-yellow::placeholder,.now-textarea-field-copy.-yellow::placeholder,.now-textarea-field.-yellow::placeholder{color:RGB(var(--now-textarea_placeholder--yellow--color,var(--now-form-control_value--placeholder_strong--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),.95)}.now-textarea-field-backdrop.-yellow:not(.is-disabled).hover,.now-textarea-field-backdrop.-yellow:not(.is-disabled):hover,.now-textarea-field-copy.-yellow:not(.is-disabled).hover,.now-textarea-field-copy.-yellow:not(.is-disabled):hover,.now-textarea-field.-yellow:not(.is-disabled).hover,.now-textarea-field.-yellow:not(.is-disabled):hover{background-color:RGB(var(--now-textarea--yellow--background-color--hover,var(--now-form-control-input--warning--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-textarea--yellow--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-textarea--yellow--border-color--hover,var(--now-form-control-input--warning--border-color--hover,var(--now-form-control-input--warning--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))));border-block-end-color:RGB(var(--now-textarea--border-block-end-color--hover,var(--now-form-control-input--primary--border-block-end-color--hover,var(--now-color--primary-brand-10,0,128,163))));box-shadow:inset 0 .125rem 0 1px RGB(var(--now-textarea_inset--yellow--color--hover,var(--now-form-control-input_inner-shadow--primary--color--hover,var(--now-color--primary-3,15,67,55))),var(--now-textarea_inset--yellow--color-alpha--hover,var(--now-form-control-input_inner-shadow--color-alpha,.1))) inset 0 0 0 0 RGB(var(--now-textarea--yellow--border-color--hover,var(--now-form-control-input--warning--border-color--hover,var(--now-form-control-input--warning--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),0),0 0 0 0 RGB(var(--now-textarea--yellow--border-color--hover,var(--now-form-control-input--warning--border-color--hover,var(--now-form-control-input--warning--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),0)}.now-textarea-field-backdrop.-yellow:not(.is-disabled).hover::-webkit-input-placeholder,.now-textarea-field-backdrop.-yellow:not(.is-disabled):hover::-webkit-input-placeholder,.now-textarea-field-copy.-yellow:not(.is-disabled).hover::-webkit-input-placeholder,.now-textarea-field-copy.-yellow:not(.is-disabled):hover::-webkit-input-placeholder,.now-textarea-field.-yellow:not(.is-disabled).hover::-webkit-input-placeholder,.now-textarea-field.-yellow:not(.is-disabled):hover::-webkit-input-placeholder{color:RGB(var(--now-textarea_placeholder--yellow--color--hover,var(--now-form-control_value--placeholder_strong--color--hover,var(--now-form-control_value--placeholder_strong--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))),.85)}.now-textarea-field-backdrop.-yellow:not(.is-disabled).hover::placeholder,.now-textarea-field-backdrop.-yellow:not(.is-disabled):hover::placeholder,.now-textarea-field-copy.-yellow:not(.is-disabled).hover::placeholder,.now-textarea-field-copy.-yellow:not(.is-disabled):hover::placeholder,.now-textarea-field.-yellow:not(.is-disabled).hover::placeholder,.now-textarea-field.-yellow:not(.is-disabled):hover::placeholder{color:RGB(var(--now-textarea_placeholder--yellow--color--hover,var(--now-form-control_value--placeholder_strong--color--hover,var(--now-form-control_value--placeholder_strong--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))),.85)}.now-textarea-field-backdrop.-yellow:focus,.now-textarea-field-copy.-yellow:focus,.now-textarea-field.-yellow:focus{background-color:RGB(var(--now-textarea--yellow--background-color--focus,var(--now-form-control-input--warning--background-color--focus,var(--now-form-control-input--warning--background-color,var(--now-color_grouped--yellow-1,245,224,155)))),var(--now-textarea--yellow--background-color-alpha--focus,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-textarea--yellow--border-color--focus,var(--now-form-control-input--warning--border-color--focus,var(--now-color--focus-2,1,119,142))))}.-sm .now-textarea-field-backdrop.-yellow:focus,.-sm .now-textarea-field-copy.-yellow:focus,.-sm .now-textarea-field.-yellow:focus{box-shadow:inset 0 .125rem 0 1px RGB(var(--now-textarea_inset--yellow--color--focus,var(--now-form-control-input_inner-shadow--primary--color--focus,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28)))),var(--now-textarea_inset--yellow--color-alpha--focus,var(--now-form-control-input_inner-shadow--color-alpha,.1))),inset 0 0 0 var(--now-textarea--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-textarea--yellow--border-color--focus,var(--now-form-control-input--warning--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 calc(var(--now-form-field_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2) RGB(var(--now-textarea--yellow--border-color--focus,var(--now-form-control-input--warning--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}.-md .now-textarea-field-backdrop.-yellow:focus,.-md .now-textarea-field-copy.-yellow:focus,.-md .now-textarea-field.-yellow:focus{box-shadow:inset 0 .1875rem 0 1px RGB(var(--now-textarea_inset--yellow--color--focus,var(--now-form-control-input_inner-shadow--primary--color--focus,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28)))),var(--now-textarea_inset--yellow--color-alpha--focus,var(--now-form-control-input_inner-shadow--color-alpha,.1))),inset 0 0 0 var(--now-textarea--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-textarea--yellow--border-color--focus,var(--now-form-control-input--warning--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-textarea--yellow--border-color--focus,var(--now-form-control-input--warning--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}.now-textarea-field-backdrop.-yellow:focus::-webkit-input-placeholder,.now-textarea-field-copy.-yellow:focus::-webkit-input-placeholder,.now-textarea-field.-yellow:focus::-webkit-input-placeholder{color:RGB(var(--now-textarea_placeholder--yellow--color--hover,var(--now-form-control_value--placeholder_strong--color--hover,var(--now-form-control_value--placeholder_strong--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))),.85)}.now-textarea-field-backdrop.-yellow:focus::placeholder,.now-textarea-field-copy.-yellow:focus::placeholder,.now-textarea-field.-yellow:focus::placeholder{color:RGB(var(--now-textarea_placeholder--yellow--color--hover,var(--now-form-control_value--placeholder_strong--color--hover,var(--now-form-control_value--placeholder_strong--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))),.85)}.now-textarea-field-backdrop.-yellow.is-invalid,.now-textarea-field-copy.-yellow.is-invalid,.now-textarea-field.-yellow.is-invalid{background-color:RGB(var(--now-textarea--yellow--background-color--invalid,var(--now-form-control-input--warning--background-color--invalid,var(--now-form-control-input--warning--background-color,var(--now-color_grouped--yellow-1,245,224,155)))),var(--now-textarea--yellow--background-color-alpha--invalid,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-textarea--yellow--border-color--invalid,var(--now-form-control-input--warning--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))));box-shadow:inset 0 .125rem 0 1px RGB(var(--now-textarea_inset--yellow--color--invalid,var(--now-form-control-input_inner-shadow--primary--color--invalid,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28)))),var(--now-textarea_inset--yellow--color-alpha--invalid,var(--now-form-control-input_inner-shadow--color-alpha,.1))) inset 0 0 0 0 RGB(var(--now-textarea--yellow--border-color--invalid,var(--now-form-control-input--warning--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))),0),0 0 0 0 RGB(var(--now-textarea--yellow--border-color--invalid,var(--now-form-control-input--warning--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))),0)}.now-textarea-field-backdrop.-yellow.is-invalid:not(.is-disabled).hover,.now-textarea-field-backdrop.-yellow.is-invalid:not(.is-disabled):hover,.now-textarea-field-copy.-yellow.is-invalid:not(.is-disabled).hover,.now-textarea-field-copy.-yellow.is-invalid:not(.is-disabled):hover,.now-textarea-field.-yellow.is-invalid:not(.is-disabled).hover,.now-textarea-field.-yellow.is-invalid:not(.is-disabled):hover{background-color:RGB(var(--now-textarea--yellow--background-color--invalid_hover,var(--now-form-control-input--warning--background-color--invalid_hover,var(--now-color_alert--critical-0,241,206,205))),var(--now-textarea--yellow--background-color-alpha--invalid_hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-textarea--yellow--border-color--invalid_hover,var(--now-form-control-input--warning--border-color--invalid_hover,var(--now-form-control-input--warning--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))));box-shadow:inset 0 .125rem 0 1px RGB(var(--now-textarea_inset--yellow--color--invalid_hover,var(--now-form-control-input_inner-shadow--primary--color--invalid_hover,var(--now-color_alert--critical-5,80,24,22))),var(--now-textarea_inset--yellow--color-alpha--invalid_hover,var(--now-form-control-input_inner-shadow--color-alpha,.1))) inset 0 0 0 0 RGB(var(--now-textarea--yellow--border-color--invalid_hover,var(--now-form-control-input--warning--border-color--invalid_hover,var(--now-form-control-input--warning--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))),0),0 0 0 0 RGB(var(--now-textarea--yellow--border-color--invalid_hover,var(--now-form-control-input--warning--border-color--invalid_hover,var(--now-form-control-input--warning--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))),0)}.now-textarea-field-backdrop.-yellow.is-invalid:focus,.now-textarea-field-copy.-yellow.is-invalid:focus,.now-textarea-field.-yellow.is-invalid:focus{background-color:RGB(var(--now-textarea--yellow--background-color--invalid_focus,var(--now-form-control-input--warning--background-color--invalid_focus,var(--now-form-control-input--warning--background-color--invalid,var(--now-form-control-input--warning--background-color,var(--now-color_grouped--yellow-1,245,224,155))))),var(--now-textarea--yellow--background-color-alpha--invalid_focus,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-textarea--yellow--border-color--invalid_focus,var(--now-form-control-input--warning--border-color--invalid_focus,var(--now-form-control-input--warning--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))))}.-sm .now-textarea-field-backdrop.-yellow.is-invalid:focus,.-sm .now-textarea-field-copy.-yellow.is-invalid:focus,.-sm .now-textarea-field.-yellow.is-invalid:focus{box-shadow:inset 0 .125rem 0 1px RGB(var(--now-textarea_inset--yellow--color--invalid_focus,var(--now-form-control-input_inner-shadow--primary--color--invalid_focus,var(--now-form-control-input_inner-shadow--primary--color--invalid,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))))),var(--now-textarea_inset--yellow--color-alpha--invalid_focus,var(--now-form-control-input_inner-shadow--color-alpha,.1))),inset 0 0 0 var(--now-textarea--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-textarea--yellow--border-color--invalid_focus,var(--now-form-control-input--warning--border-color--invalid_focus,var(--now-form-control-input--warning--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))),0 0 0 calc(var(--now-form-field_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2) RGB(var(--now-textarea--yellow--border-color--invalid_focus,var(--now-form-control-input--warning--border-color--invalid_focus,var(--now-form-control-input--warning--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))),var(--now-opacity--least,.1))}.-md .now-textarea-field-backdrop.-yellow.is-invalid:focus,.-md .now-textarea-field-copy.-yellow.is-invalid:focus,.-md .now-textarea-field.-yellow.is-invalid:focus{box-shadow:inset 0 .1875rem 0 1px RGB(var(--now-textarea_inset--yellow--color--invalid_focus,var(--now-form-control-input_inner-shadow--primary--color--invalid_focus,var(--now-form-control-input_inner-shadow--primary--color--invalid,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))))),var(--now-textarea_inset--yellow--color-alpha--invalid_focus,var(--now-form-control-input_inner-shadow--color-alpha,.1))),inset 0 0 0 var(--now-textarea--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-textarea--yellow--border-color--invalid_focus,var(--now-form-control-input--warning--border-color--invalid_focus,var(--now-form-control-input--warning--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-textarea--yellow--border-color--invalid_focus,var(--now-form-control-input--warning--border-color--invalid_focus,var(--now-form-control-input--warning--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))),var(--now-opacity--least,.1))}.now-textarea-field-backdrop.-yellow.is-disabled,.now-textarea-field-copy.-yellow.is-disabled,.now-textarea-field.-yellow.is-disabled{opacity:var(--now-textarea--yellow--opacity--disabled,var(--now-form-control-input--opacity--disabled,var(--now-form-control--opacity--disabled,.25)))}.now-textarea-field-backdrop.-green,.now-textarea-field-copy.-green,.now-textarea-field.-green{background-color:RGB(var(--now-textarea--green--background-color,var(--now-form-control-input--positive--background-color,var(--now-color_grouped--green-1,185,200,171))),var(--now-textarea--green--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-textarea--green--border-color,var(--now-form-control-input--positive--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));color:RGB(var(--now-textarea--green--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.-sm .now-textarea-field-backdrop.-green,.-sm .now-textarea-field-copy.-green,.-sm .now-textarea-field.-green{box-shadow:inset 0 1px 0 1px RGB(var(--now-textarea_inset--green--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-textarea_inset--green--color-alpha,var(--now-form-control-input_inner-shadow--color-alpha,.1))) inset 0 0 0 0 RGB(var(--now-textarea--green--border-color,var(--now-form-control-input--positive--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))),0),0 0 0 0 RGB(var(--now-textarea--green--border-color,var(--now-form-control-input--positive--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))),0)}.-md .now-textarea-field-backdrop.-green,.-md .now-textarea-field-copy.-green,.-md .now-textarea-field.-green{box-shadow:inset 0 .125rem 0 1px RGB(var(--now-textarea_inset--green--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-textarea_inset--green--color-alpha,var(--now-form-control-input_inner-shadow--color-alpha,.1))) inset 0 0 0 0 RGB(var(--now-textarea--green--border-color,var(--now-form-control-input--positive--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))),0),0 0 0 0 RGB(var(--now-textarea--green--border-color,var(--now-form-control-input--positive--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))),0)}.now-textarea-field-backdrop.-green::-webkit-input-placeholder,.now-textarea-field-copy.-green::-webkit-input-placeholder,.now-textarea-field.-green::-webkit-input-placeholder{color:RGB(var(--now-textarea_placeholder--green--color,var(--now-form-control_value--placeholder_strong--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),.95)}.now-textarea-field-backdrop.-green::placeholder,.now-textarea-field-copy.-green::placeholder,.now-textarea-field.-green::placeholder{color:RGB(var(--now-textarea_placeholder--green--color,var(--now-form-control_value--placeholder_strong--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),.95)}.now-textarea-field-backdrop.-green:not(.is-disabled).hover,.now-textarea-field-backdrop.-green:not(.is-disabled):hover,.now-textarea-field-copy.-green:not(.is-disabled).hover,.now-textarea-field-copy.-green:not(.is-disabled):hover,.now-textarea-field.-green:not(.is-disabled).hover,.now-textarea-field.-green:not(.is-disabled):hover{background-color:RGB(var(--now-textarea--green--background-color--hover,var(--now-form-control-input--positive--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-textarea--green--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-textarea--green--border-color--hover,var(--now-form-control-input--positive--border-color--hover,var(--now-form-control-input--positive--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))));border-block-end-color:RGB(var(--now-textarea--border-block-end-color--hover,var(--now-form-control-input--primary--border-block-end-color--hover,var(--now-color--primary-brand-10,0,128,163))));box-shadow:inset 0 .125rem 0 1px RGB(var(--now-textarea_inset--green--color--hover,var(--now-form-control-input_inner-shadow--primary--color--hover,var(--now-color--primary-3,15,67,55))),var(--now-textarea_inset--green--color-alpha--hover,var(--now-form-control-input_inner-shadow--color-alpha,.1))) inset 0 0 0 0 RGB(var(--now-textarea--green--border-color--hover,var(--now-form-control-input--positive--border-color--hover,var(--now-form-control-input--positive--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),0),0 0 0 0 RGB(var(--now-textarea--green--border-color--hover,var(--now-form-control-input--positive--border-color--hover,var(--now-form-control-input--positive--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))))),0)}.now-textarea-field-backdrop.-green:not(.is-disabled).hover::-webkit-input-placeholder,.now-textarea-field-backdrop.-green:not(.is-disabled):hover::-webkit-input-placeholder,.now-textarea-field-copy.-green:not(.is-disabled).hover::-webkit-input-placeholder,.now-textarea-field-copy.-green:not(.is-disabled):hover::-webkit-input-placeholder,.now-textarea-field.-green:not(.is-disabled).hover::-webkit-input-placeholder,.now-textarea-field.-green:not(.is-disabled):hover::-webkit-input-placeholder{color:RGB(var(--now-textarea_placeholder--green--color--hover,var(--now-form-control_value--placeholder_strong--color--hover,var(--now-form-control_value--placeholder_strong--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))),.85)}.now-textarea-field-backdrop.-green:not(.is-disabled).hover::placeholder,.now-textarea-field-backdrop.-green:not(.is-disabled):hover::placeholder,.now-textarea-field-copy.-green:not(.is-disabled).hover::placeholder,.now-textarea-field-copy.-green:not(.is-disabled):hover::placeholder,.now-textarea-field.-green:not(.is-disabled).hover::placeholder,.now-textarea-field.-green:not(.is-disabled):hover::placeholder{color:RGB(var(--now-textarea_placeholder--green--color--hover,var(--now-form-control_value--placeholder_strong--color--hover,var(--now-form-control_value--placeholder_strong--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))),.85)}.now-textarea-field-backdrop.-green:focus,.now-textarea-field-copy.-green:focus,.now-textarea-field.-green:focus{background-color:RGB(var(--now-textarea--green--background-color--focus,var(--now-form-control-input--positive--background-color--focus,var(--now-form-control-input--positive--background-color,var(--now-color_grouped--green-1,185,200,171)))),var(--now-textarea--green--background-color-alpha--focus,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-textarea--green--border-color--focus,var(--now-form-control-input--positive--border-color--focus,var(--now-color--focus-2,1,119,142))))}.-sm .now-textarea-field-backdrop.-green:focus,.-sm .now-textarea-field-copy.-green:focus,.-sm .now-textarea-field.-green:focus{box-shadow:inset 0 .125rem 0 1px RGB(var(--now-textarea_inset--green--color--focus,var(--now-form-control-input_inner-shadow--primary--color--focus,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28)))),var(--now-textarea_inset--green--color-alpha--focus,var(--now-form-control-input_inner-shadow--color-alpha,.1))),inset 0 0 0 var(--now-textarea--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-textarea--green--border-color--focus,var(--now-form-control-input--positive--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 calc(var(--now-form-field_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2) RGB(var(--now-textarea--green--border-color--focus,var(--now-form-control-input--positive--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}.-md .now-textarea-field-backdrop.-green:focus,.-md .now-textarea-field-copy.-green:focus,.-md .now-textarea-field.-green:focus{box-shadow:inset 0 .1875rem 0 1px RGB(var(--now-textarea_inset--green--color--focus,var(--now-form-control-input_inner-shadow--primary--color--focus,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28)))),var(--now-textarea_inset--green--color-alpha--focus,var(--now-form-control-input_inner-shadow--color-alpha,.1))),inset 0 0 0 var(--now-textarea--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-textarea--green--border-color--focus,var(--now-form-control-input--positive--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-textarea--green--border-color--focus,var(--now-form-control-input--positive--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}.now-textarea-field-backdrop.-green:focus::-webkit-input-placeholder,.now-textarea-field-copy.-green:focus::-webkit-input-placeholder,.now-textarea-field.-green:focus::-webkit-input-placeholder{color:RGB(var(--now-textarea_placeholder--green--color--hover,var(--now-form-control_value--placeholder_strong--color--hover,var(--now-form-control_value--placeholder_strong--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))),.85)}.now-textarea-field-backdrop.-green:focus::placeholder,.now-textarea-field-copy.-green:focus::placeholder,.now-textarea-field.-green:focus::placeholder{color:RGB(var(--now-textarea_placeholder--green--color--hover,var(--now-form-control_value--placeholder_strong--color--hover,var(--now-form-control_value--placeholder_strong--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))),.85)}.now-textarea-field-backdrop.-green.is-invalid,.now-textarea-field-copy.-green.is-invalid,.now-textarea-field.-green.is-invalid{background-color:RGB(var(--now-textarea--green--background-color--invalid,var(--now-form-control-input--positive--background-color--invalid,var(--now-form-control-input--positive--background-color,var(--now-color_grouped--green-1,185,200,171)))),var(--now-textarea--green--background-color-alpha--invalid,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-textarea--green--border-color--invalid,var(--now-form-control-input--positive--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))));box-shadow:inset 0 .125rem 0 1px RGB(var(--now-textarea_inset--green--color--invalid,var(--now-form-control-input_inner-shadow--primary--color--invalid,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28)))),var(--now-textarea_inset--green--color-alpha--invalid,var(--now-form-control-input_inner-shadow--color-alpha,.1))) inset 0 0 0 0 RGB(var(--now-textarea--green--border-color--invalid,var(--now-form-control-input--positive--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))),0),0 0 0 0 RGB(var(--now-textarea--green--border-color--invalid,var(--now-form-control-input--positive--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))),0)}.now-textarea-field-backdrop.-green.is-invalid:not(.is-disabled).hover,.now-textarea-field-backdrop.-green.is-invalid:not(.is-disabled):hover,.now-textarea-field-copy.-green.is-invalid:not(.is-disabled).hover,.now-textarea-field-copy.-green.is-invalid:not(.is-disabled):hover,.now-textarea-field.-green.is-invalid:not(.is-disabled).hover,.now-textarea-field.-green.is-invalid:not(.is-disabled):hover{background-color:RGB(var(--now-textarea--green--background-color--invalid_hover,var(--now-form-control-input--positive--background-color--invalid_hover,var(--now-color_alert--critical-0,241,206,205))),var(--now-textarea--green--background-color-alpha--invalid_hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-textarea--green--border-color--invalid_hover,var(--now-form-control-input--positive--border-color--invalid_hover,var(--now-form-control-input--positive--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))));box-shadow:inset 0 .125rem 0 1px RGB(var(--now-textarea_inset--green--color--invalid_hover,var(--now-form-control-input_inner-shadow--primary--color--invalid_hover,var(--now-color_alert--critical-5,80,24,22))),var(--now-textarea_inset--green--color-alpha--invalid_hover,var(--now-form-control-input_inner-shadow--color-alpha,.1))) inset 0 0 0 0 RGB(var(--now-textarea--green--border-color--invalid_hover,var(--now-form-control-input--positive--border-color--invalid_hover,var(--now-form-control-input--positive--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))),0),0 0 0 0 RGB(var(--now-textarea--green--border-color--invalid_hover,var(--now-form-control-input--positive--border-color--invalid_hover,var(--now-form-control-input--positive--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))),0)}.now-textarea-field-backdrop.-green.is-invalid:focus,.now-textarea-field-copy.-green.is-invalid:focus,.now-textarea-field.-green.is-invalid:focus{background-color:RGB(var(--now-textarea--green--background-color--invalid_focus,var(--now-form-control-input--positive--background-color--invalid_focus,var(--now-form-control-input--positive--background-color--invalid,var(--now-form-control-input--positive--background-color,var(--now-color_grouped--green-1,185,200,171))))),var(--now-textarea--green--background-color-alpha--invalid_focus,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-textarea--green--border-color--invalid_focus,var(--now-form-control-input--positive--border-color--invalid_focus,var(--now-form-control-input--positive--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))))}.-sm .now-textarea-field-backdrop.-green.is-invalid:focus,.-sm .now-textarea-field-copy.-green.is-invalid:focus,.-sm .now-textarea-field.-green.is-invalid:focus{box-shadow:inset 0 .125rem 0 1px RGB(var(--now-textarea_inset--green--color--invalid_focus,var(--now-form-control-input_inner-shadow--primary--color--invalid_focus,var(--now-form-control-input_inner-shadow--primary--color--invalid,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))))),var(--now-textarea_inset--green--color-alpha--invalid_focus,var(--now-form-control-input_inner-shadow--color-alpha,.1))),inset 0 0 0 var(--now-textarea--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-textarea--green--border-color--invalid_focus,var(--now-form-control-input--positive--border-color--invalid_focus,var(--now-form-control-input--positive--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))),0 0 0 calc(var(--now-form-field_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2) RGB(var(--now-textarea--green--border-color--invalid_focus,var(--now-form-control-input--positive--border-color--invalid_focus,var(--now-form-control-input--positive--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))),var(--now-opacity--least,.1))}.-md .now-textarea-field-backdrop.-green.is-invalid:focus,.-md .now-textarea-field-copy.-green.is-invalid:focus,.-md .now-textarea-field.-green.is-invalid:focus{box-shadow:inset 0 .1875rem 0 1px RGB(var(--now-textarea_inset--green--color--invalid_focus,var(--now-form-control-input_inner-shadow--primary--color--invalid_focus,var(--now-form-control-input_inner-shadow--primary--color--invalid,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))))),var(--now-textarea_inset--green--color-alpha--invalid_focus,var(--now-form-control-input_inner-shadow--color-alpha,.1))),inset 0 0 0 var(--now-textarea--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-textarea--green--border-color--invalid_focus,var(--now-form-control-input--positive--border-color--invalid_focus,var(--now-form-control-input--positive--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-textarea--green--border-color--invalid_focus,var(--now-form-control-input--positive--border-color--invalid_focus,var(--now-form-control-input--positive--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))),var(--now-opacity--least,.1))}.now-textarea-field-backdrop.-green.is-disabled,.now-textarea-field-copy.-green.is-disabled,.now-textarea-field.-green.is-disabled{opacity:var(--now-textarea--green--opacity--disabled,var(--now-form-control-input--opacity--disabled,var(--now-form-control--opacity--disabled,.25)))}.now-textarea-field-backdrop.-brown,.now-textarea-field-backdrop.-critical,.now-textarea-field-backdrop.-gray,.now-textarea-field-backdrop.-green-yellow,.now-textarea-field-backdrop.-high,.now-textarea-field-backdrop.-info,.now-textarea-field-backdrop.-low,.now-textarea-field-backdrop.-magenta,.now-textarea-field-backdrop.-moderate,.now-textarea-field-backdrop.-orange,.now-textarea-field-backdrop.-pink,.now-textarea-field-backdrop.-positive,.now-textarea-field-backdrop.-purple,.now-textarea-field-backdrop.-teal,.now-textarea-field-backdrop.-warning,.now-textarea-field-copy.-brown,.now-textarea-field-copy.-critical,.now-textarea-field-copy.-gray,.now-textarea-field-copy.-green-yellow,.now-textarea-field-copy.-high,.now-textarea-field-copy.-info,.now-textarea-field-copy.-low,.now-textarea-field-copy.-magenta,.now-textarea-field-copy.-moderate,.now-textarea-field-copy.-orange,.now-textarea-field-copy.-pink,.now-textarea-field-copy.-positive,.now-textarea-field-copy.-purple,.now-textarea-field-copy.-teal,.now-textarea-field-copy.-warning,.now-textarea-field.-brown,.now-textarea-field.-critical,.now-textarea-field.-gray,.now-textarea-field.-green-yellow,.now-textarea-field.-high,.now-textarea-field.-info,.now-textarea-field.-low,.now-textarea-field.-magenta,.now-textarea-field.-moderate,.now-textarea-field.-orange,.now-textarea-field.-pink,.now-textarea-field.-positive,.now-textarea-field.-purple,.now-textarea-field.-teal,.now-textarea-field.-warning{border-color:RGB(var(--now-textarea--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-block-end-color:RGB(var(--now-textarea--border-block-end-color,var(--now-form-control-input--primary--border-block-end-color,var(--now-color_border--primary-actionable,var(--now-color--neutral-18,22,27,28)))))}.now-textarea-field-backdrop.-brown:not(.is-disabled).hover,.now-textarea-field-backdrop.-brown:not(.is-disabled):hover,.now-textarea-field-backdrop.-critical:not(.is-disabled).hover,.now-textarea-field-backdrop.-critical:not(.is-disabled):hover,.now-textarea-field-backdrop.-gray:not(.is-disabled).hover,.now-textarea-field-backdrop.-gray:not(.is-disabled):hover,.now-textarea-field-backdrop.-green-yellow:not(.is-disabled).hover,.now-textarea-field-backdrop.-green-yellow:not(.is-disabled):hover,.now-textarea-field-backdrop.-high:not(.is-disabled).hover,.now-textarea-field-backdrop.-high:not(.is-disabled):hover,.now-textarea-field-backdrop.-info:not(.is-disabled).hover,.now-textarea-field-backdrop.-info:not(.is-disabled):hover,.now-textarea-field-backdrop.-low:not(.is-disabled).hover,.now-textarea-field-backdrop.-low:not(.is-disabled):hover,.now-textarea-field-backdrop.-magenta:not(.is-disabled).hover,.now-textarea-field-backdrop.-magenta:not(.is-disabled):hover,.now-textarea-field-backdrop.-moderate:not(.is-disabled).hover,.now-textarea-field-backdrop.-moderate:not(.is-disabled):hover,.now-textarea-field-backdrop.-orange:not(.is-disabled).hover,.now-textarea-field-backdrop.-orange:not(.is-disabled):hover,.now-textarea-field-backdrop.-pink:not(.is-disabled).hover,.now-textarea-field-backdrop.-pink:not(.is-disabled):hover,.now-textarea-field-backdrop.-positive:not(.is-disabled).hover,.now-textarea-field-backdrop.-positive:not(.is-disabled):hover,.now-textarea-field-backdrop.-purple:not(.is-disabled).hover,.now-textarea-field-backdrop.-purple:not(.is-disabled):hover,.now-textarea-field-backdrop.-teal:not(.is-disabled).hover,.now-textarea-field-backdrop.-teal:not(.is-disabled):hover,.now-textarea-field-backdrop.-warning:not(.is-disabled).hover,.now-textarea-field-backdrop.-warning:not(.is-disabled):hover,.now-textarea-field-copy.-brown:not(.is-disabled).hover,.now-textarea-field-copy.-brown:not(.is-disabled):hover,.now-textarea-field-copy.-critical:not(.is-disabled).hover,.now-textarea-field-copy.-critical:not(.is-disabled):hover,.now-textarea-field-copy.-gray:not(.is-disabled).hover,.now-textarea-field-copy.-gray:not(.is-disabled):hover,.now-textarea-field-copy.-green-yellow:not(.is-disabled).hover,.now-textarea-field-copy.-green-yellow:not(.is-disabled):hover,.now-textarea-field-copy.-high:not(.is-disabled).hover,.now-textarea-field-copy.-high:not(.is-disabled):hover,.now-textarea-field-copy.-info:not(.is-disabled).hover,.now-textarea-field-copy.-info:not(.is-disabled):hover,.now-textarea-field-copy.-low:not(.is-disabled).hover,.now-textarea-field-copy.-low:not(.is-disabled):hover,.now-textarea-field-copy.-magenta:not(.is-disabled).hover,.now-textarea-field-copy.-magenta:not(.is-disabled):hover,.now-textarea-field-copy.-moderate:not(.is-disabled).hover,.now-textarea-field-copy.-moderate:not(.is-disabled):hover,.now-textarea-field-copy.-orange:not(.is-disabled).hover,.now-textarea-field-copy.-orange:not(.is-disabled):hover,.now-textarea-field-copy.-pink:not(.is-disabled).hover,.now-textarea-field-copy.-pink:not(.is-disabled):hover,.now-textarea-field-copy.-positive:not(.is-disabled).hover,.now-textarea-field-copy.-positive:not(.is-disabled):hover,.now-textarea-field-copy.-purple:not(.is-disabled).hover,.now-textarea-field-copy.-purple:not(.is-disabled):hover,.now-textarea-field-copy.-teal:not(.is-disabled).hover,.now-textarea-field-copy.-teal:not(.is-disabled):hover,.now-textarea-field-copy.-warning:not(.is-disabled).hover,.now-textarea-field-copy.-warning:not(.is-disabled):hover,.now-textarea-field.-brown:not(.is-disabled).hover,.now-textarea-field.-brown:not(.is-disabled):hover,.now-textarea-field.-critical:not(.is-disabled).hover,.now-textarea-field.-critical:not(.is-disabled):hover,.now-textarea-field.-gray:not(.is-disabled).hover,.now-textarea-field.-gray:not(.is-disabled):hover,.now-textarea-field.-green-yellow:not(.is-disabled).hover,.now-textarea-field.-green-yellow:not(.is-disabled):hover,.now-textarea-field.-high:not(.is-disabled).hover,.now-textarea-field.-high:not(.is-disabled):hover,.now-textarea-field.-info:not(.is-disabled).hover,.now-textarea-field.-info:not(.is-disabled):hover,.now-textarea-field.-low:not(.is-disabled).hover,.now-textarea-field.-low:not(.is-disabled):hover,.now-textarea-field.-magenta:not(.is-disabled).hover,.now-textarea-field.-magenta:not(.is-disabled):hover,.now-textarea-field.-moderate:not(.is-disabled).hover,.now-textarea-field.-moderate:not(.is-disabled):hover,.now-textarea-field.-orange:not(.is-disabled).hover,.now-textarea-field.-orange:not(.is-disabled):hover,.now-textarea-field.-pink:not(.is-disabled).hover,.now-textarea-field.-pink:not(.is-disabled):hover,.now-textarea-field.-positive:not(.is-disabled).hover,.now-textarea-field.-positive:not(.is-disabled):hover,.now-textarea-field.-purple:not(.is-disabled).hover,.now-textarea-field.-purple:not(.is-disabled):hover,.now-textarea-field.-teal:not(.is-disabled).hover,.now-textarea-field.-teal:not(.is-disabled):hover,.now-textarea-field.-warning:not(.is-disabled).hover,.now-textarea-field.-warning:not(.is-disabled):hover{border-color:RGB(var(--now-textarea--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))));border-block-end-color:RGB(var(--now-textarea--border-block-end-color--hover,var(--now-form-control-input--primary--border-block-end-color--hover,var(--now-color--primary-brand-10,0,128,163))))}.now-textarea-field-backdrop.-brown::-webkit-input-placeholder,.now-textarea-field-backdrop.-critical::-webkit-input-placeholder,.now-textarea-field-backdrop.-gray::-webkit-input-placeholder,.now-textarea-field-backdrop.-green-yellow::-webkit-input-placeholder,.now-textarea-field-backdrop.-high::-webkit-input-placeholder,.now-textarea-field-backdrop.-info::-webkit-input-placeholder,.now-textarea-field-backdrop.-low::-webkit-input-placeholder,.now-textarea-field-backdrop.-magenta::-webkit-input-placeholder,.now-textarea-field-backdrop.-moderate::-webkit-input-placeholder,.now-textarea-field-backdrop.-orange::-webkit-input-placeholder,.now-textarea-field-backdrop.-pink::-webkit-input-placeholder,.now-textarea-field-backdrop.-positive::-webkit-input-placeholder,.now-textarea-field-backdrop.-purple::-webkit-input-placeholder,.now-textarea-field-backdrop.-teal::-webkit-input-placeholder,.now-textarea-field-backdrop.-warning::-webkit-input-placeholder,.now-textarea-field-copy.-brown::-webkit-input-placeholder,.now-textarea-field-copy.-critical::-webkit-input-placeholder,.now-textarea-field-copy.-gray::-webkit-input-placeholder,.now-textarea-field-copy.-green-yellow::-webkit-input-placeholder,.now-textarea-field-copy.-high::-webkit-input-placeholder,.now-textarea-field-copy.-info::-webkit-input-placeholder,.now-textarea-field-copy.-low::-webkit-input-placeholder,.now-textarea-field-copy.-magenta::-webkit-input-placeholder,.now-textarea-field-copy.-moderate::-webkit-input-placeholder,.now-textarea-field-copy.-orange::-webkit-input-placeholder,.now-textarea-field-copy.-pink::-webkit-input-placeholder,.now-textarea-field-copy.-positive::-webkit-input-placeholder,.now-textarea-field-copy.-purple::-webkit-input-placeholder,.now-textarea-field-copy.-teal::-webkit-input-placeholder,.now-textarea-field-copy.-warning::-webkit-input-placeholder,.now-textarea-field.-brown::-webkit-input-placeholder,.now-textarea-field.-critical::-webkit-input-placeholder,.now-textarea-field.-gray::-webkit-input-placeholder,.now-textarea-field.-green-yellow::-webkit-input-placeholder,.now-textarea-field.-high::-webkit-input-placeholder,.now-textarea-field.-info::-webkit-input-placeholder,.now-textarea-field.-low::-webkit-input-placeholder,.now-textarea-field.-magenta::-webkit-input-placeholder,.now-textarea-field.-moderate::-webkit-input-placeholder,.now-textarea-field.-orange::-webkit-input-placeholder,.now-textarea-field.-pink::-webkit-input-placeholder,.now-textarea-field.-positive::-webkit-input-placeholder,.now-textarea-field.-purple::-webkit-input-placeholder,.now-textarea-field.-teal::-webkit-input-placeholder,.now-textarea-field.-warning::-webkit-input-placeholder{color:RGB(var(--now-textarea_placeholder_strong--color,var(--now-form-control_value--placeholder_strong--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),.95)}.now-textarea-field-backdrop.-brown::placeholder,.now-textarea-field-backdrop.-critical::placeholder,.now-textarea-field-backdrop.-gray::placeholder,.now-textarea-field-backdrop.-green-yellow::placeholder,.now-textarea-field-backdrop.-high::placeholder,.now-textarea-field-backdrop.-info::placeholder,.now-textarea-field-backdrop.-low::placeholder,.now-textarea-field-backdrop.-magenta::placeholder,.now-textarea-field-backdrop.-moderate::placeholder,.now-textarea-field-backdrop.-orange::placeholder,.now-textarea-field-backdrop.-pink::placeholder,.now-textarea-field-backdrop.-positive::placeholder,.now-textarea-field-backdrop.-purple::placeholder,.now-textarea-field-backdrop.-teal::placeholder,.now-textarea-field-backdrop.-warning::placeholder,.now-textarea-field-copy.-brown::placeholder,.now-textarea-field-copy.-critical::placeholder,.now-textarea-field-copy.-gray::placeholder,.now-textarea-field-copy.-green-yellow::placeholder,.now-textarea-field-copy.-high::placeholder,.now-textarea-field-copy.-info::placeholder,.now-textarea-field-copy.-low::placeholder,.now-textarea-field-copy.-magenta::placeholder,.now-textarea-field-copy.-moderate::placeholder,.now-textarea-field-copy.-orange::placeholder,.now-textarea-field-copy.-pink::placeholder,.now-textarea-field-copy.-positive::placeholder,.now-textarea-field-copy.-purple::placeholder,.now-textarea-field-copy.-teal::placeholder,.now-textarea-field-copy.-warning::placeholder,.now-textarea-field.-brown::placeholder,.now-textarea-field.-critical::placeholder,.now-textarea-field.-gray::placeholder,.now-textarea-field.-green-yellow::placeholder,.now-textarea-field.-high::placeholder,.now-textarea-field.-info::placeholder,.now-textarea-field.-low::placeholder,.now-textarea-field.-magenta::placeholder,.now-textarea-field.-moderate::placeholder,.now-textarea-field.-orange::placeholder,.now-textarea-field.-pink::placeholder,.now-textarea-field.-positive::placeholder,.now-textarea-field.-purple::placeholder,.now-textarea-field.-teal::placeholder,.now-textarea-field.-warning::placeholder{color:RGB(var(--now-textarea_placeholder_strong--color,var(--now-form-control_value--placeholder_strong--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))),.95)}.now-textarea-field-backdrop.-brown:hover::-webkit-input-placeholder,.now-textarea-field-backdrop.-critical:hover::-webkit-input-placeholder,.now-textarea-field-backdrop.-gray:hover::-webkit-input-placeholder,.now-textarea-field-backdrop.-green-yellow:hover::-webkit-input-placeholder,.now-textarea-field-backdrop.-high:hover::-webkit-input-placeholder,.now-textarea-field-backdrop.-info:hover::-webkit-input-placeholder,.now-textarea-field-backdrop.-low:hover::-webkit-input-placeholder,.now-textarea-field-backdrop.-magenta:hover::-webkit-input-placeholder,.now-textarea-field-backdrop.-moderate:hover::-webkit-input-placeholder,.now-textarea-field-backdrop.-orange:hover::-webkit-input-placeholder,.now-textarea-field-backdrop.-pink:hover::-webkit-input-placeholder,.now-textarea-field-backdrop.-positive:hover::-webkit-input-placeholder,.now-textarea-field-backdrop.-purple:hover::-webkit-input-placeholder,.now-textarea-field-backdrop.-teal:hover::-webkit-input-placeholder,.now-textarea-field-backdrop.-warning:hover::-webkit-input-placeholder,.now-textarea-field-copy.-brown:hover::-webkit-input-placeholder,.now-textarea-field-copy.-critical:hover::-webkit-input-placeholder,.now-textarea-field-copy.-gray:hover::-webkit-input-placeholder,.now-textarea-field-copy.-green-yellow:hover::-webkit-input-placeholder,.now-textarea-field-copy.-high:hover::-webkit-input-placeholder,.now-textarea-field-copy.-info:hover::-webkit-input-placeholder,.now-textarea-field-copy.-low:hover::-webkit-input-placeholder,.now-textarea-field-copy.-magenta:hover::-webkit-input-placeholder,.now-textarea-field-copy.-moderate:hover::-webkit-input-placeholder,.now-textarea-field-copy.-orange:hover::-webkit-input-placeholder,.now-textarea-field-copy.-pink:hover::-webkit-input-placeholder,.now-textarea-field-copy.-positive:hover::-webkit-input-placeholder,.now-textarea-field-copy.-purple:hover::-webkit-input-placeholder,.now-textarea-field-copy.-teal:hover::-webkit-input-placeholder,.now-textarea-field-copy.-warning:hover::-webkit-input-placeholder,.now-textarea-field.-brown:hover::-webkit-input-placeholder,.now-textarea-field.-critical:hover::-webkit-input-placeholder,.now-textarea-field.-gray:hover::-webkit-input-placeholder,.now-textarea-field.-green-yellow:hover::-webkit-input-placeholder,.now-textarea-field.-high:hover::-webkit-input-placeholder,.now-textarea-field.-info:hover::-webkit-input-placeholder,.now-textarea-field.-low:hover::-webkit-input-placeholder,.now-textarea-field.-magenta:hover::-webkit-input-placeholder,.now-textarea-field.-moderate:hover::-webkit-input-placeholder,.now-textarea-field.-orange:hover::-webkit-input-placeholder,.now-textarea-field.-pink:hover::-webkit-input-placeholder,.now-textarea-field.-positive:hover::-webkit-input-placeholder,.now-textarea-field.-purple:hover::-webkit-input-placeholder,.now-textarea-field.-teal:hover::-webkit-input-placeholder,.now-textarea-field.-warning:hover::-webkit-input-placeholder{color:RGB(var(--now-textarea_placeholder_strong--color--hover,var(--now-form-control_value--placeholder_strong--color--hover,var(--now-form-control_value--placeholder_strong--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))),.85)}.now-textarea-field-backdrop.-brown:hover::placeholder,.now-textarea-field-backdrop.-critical:hover::placeholder,.now-textarea-field-backdrop.-gray:hover::placeholder,.now-textarea-field-backdrop.-green-yellow:hover::placeholder,.now-textarea-field-backdrop.-high:hover::placeholder,.now-textarea-field-backdrop.-info:hover::placeholder,.now-textarea-field-backdrop.-low:hover::placeholder,.now-textarea-field-backdrop.-magenta:hover::placeholder,.now-textarea-field-backdrop.-moderate:hover::placeholder,.now-textarea-field-backdrop.-orange:hover::placeholder,.now-textarea-field-backdrop.-pink:hover::placeholder,.now-textarea-field-backdrop.-positive:hover::placeholder,.now-textarea-field-backdrop.-purple:hover::placeholder,.now-textarea-field-backdrop.-teal:hover::placeholder,.now-textarea-field-backdrop.-warning:hover::placeholder,.now-textarea-field-copy.-brown:hover::placeholder,.now-textarea-field-copy.-critical:hover::placeholder,.now-textarea-field-copy.-gray:hover::placeholder,.now-textarea-field-copy.-green-yellow:hover::placeholder,.now-textarea-field-copy.-high:hover::placeholder,.now-textarea-field-copy.-info:hover::placeholder,.now-textarea-field-copy.-low:hover::placeholder,.now-textarea-field-copy.-magenta:hover::placeholder,.now-textarea-field-copy.-moderate:hover::placeholder,.now-textarea-field-copy.-orange:hover::placeholder,.now-textarea-field-copy.-pink:hover::placeholder,.now-textarea-field-copy.-positive:hover::placeholder,.now-textarea-field-copy.-purple:hover::placeholder,.now-textarea-field-copy.-teal:hover::placeholder,.now-textarea-field-copy.-warning:hover::placeholder,.now-textarea-field.-brown:hover::placeholder,.now-textarea-field.-critical:hover::placeholder,.now-textarea-field.-gray:hover::placeholder,.now-textarea-field.-green-yellow:hover::placeholder,.now-textarea-field.-high:hover::placeholder,.now-textarea-field.-info:hover::placeholder,.now-textarea-field.-low:hover::placeholder,.now-textarea-field.-magenta:hover::placeholder,.now-textarea-field.-moderate:hover::placeholder,.now-textarea-field.-orange:hover::placeholder,.now-textarea-field.-pink:hover::placeholder,.now-textarea-field.-positive:hover::placeholder,.now-textarea-field.-purple:hover::placeholder,.now-textarea-field.-teal:hover::placeholder,.now-textarea-field.-warning:hover::placeholder{color:RGB(var(--now-textarea_placeholder_strong--color--hover,var(--now-form-control_value--placeholder_strong--color--hover,var(--now-form-control_value--placeholder_strong--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))),.85)}.now-textarea-field-backdrop.-critical,.now-textarea-field-backdrop.is-invalid.-critical,.now-textarea-field-backdrop.is-invalid:focus.-critical,.now-textarea-field-backdrop:focus.-critical,.now-textarea-field-copy.-critical,.now-textarea-field-copy.is-invalid.-critical,.now-textarea-field-copy.is-invalid:focus.-critical,.now-textarea-field-copy:focus.-critical,.now-textarea-field.-critical,.now-textarea-field.is-invalid.-critical,.now-textarea-field.is-invalid:focus.-critical,.now-textarea-field:focus.-critical{background-color:RGB(var(--now-indicator--tertiary_critical--background-color,var(--now-color_alert--critical-0,241,206,205)))}.now-textarea-field-backdrop.-high,.now-textarea-field-backdrop.is-invalid.-high,.now-textarea-field-backdrop.is-invalid:focus.-high,.now-textarea-field-backdrop:focus.-high,.now-textarea-field-copy.-high,.now-textarea-field-copy.is-invalid.-high,.now-textarea-field-copy.is-invalid:focus.-high,.now-textarea-field-copy:focus.-high,.now-textarea-field.-high,.now-textarea-field.is-invalid.-high,.now-textarea-field.is-invalid:focus.-high,.now-textarea-field:focus.-high{background-color:RGB(var(--now-indicator--tertiary_high--background-color,var(--now-color_alert--high-0,247,228,200)))}.now-textarea-field-backdrop.-warning,.now-textarea-field-backdrop.is-invalid.-warning,.now-textarea-field-backdrop.is-invalid:focus.-warning,.now-textarea-field-backdrop:focus.-warning,.now-textarea-field-copy.-warning,.now-textarea-field-copy.is-invalid.-warning,.now-textarea-field-copy.is-invalid:focus.-warning,.now-textarea-field-copy:focus.-warning,.now-textarea-field.-warning,.now-textarea-field.is-invalid.-warning,.now-textarea-field.is-invalid:focus.-warning,.now-textarea-field:focus.-warning{background-color:RGB(var(--now-indicator--tertiary_warning--background-color,var(--now-color_alert--warning-0,244,240,191)))}.now-textarea-field-backdrop.-moderate,.now-textarea-field-backdrop.is-invalid.-moderate,.now-textarea-field-backdrop.is-invalid:focus.-moderate,.now-textarea-field-backdrop:focus.-moderate,.now-textarea-field-copy.-moderate,.now-textarea-field-copy.is-invalid.-moderate,.now-textarea-field-copy.is-invalid:focus.-moderate,.now-textarea-field-copy:focus.-moderate,.now-textarea-field.-moderate,.now-textarea-field.is-invalid.-moderate,.now-textarea-field.is-invalid:focus.-moderate,.now-textarea-field:focus.-moderate{background-color:RGB(var(--now-indicator--tertiary_moderate--background-color,var(--now-color_alert--moderate-0,212,213,243)))}.now-textarea-field-backdrop.-positive,.now-textarea-field-backdrop.is-invalid.-positive,.now-textarea-field-backdrop.is-invalid:focus.-positive,.now-textarea-field-backdrop:focus.-positive,.now-textarea-field-copy.-positive,.now-textarea-field-copy.is-invalid.-positive,.now-textarea-field-copy.is-invalid:focus.-positive,.now-textarea-field-copy:focus.-positive,.now-textarea-field.-positive,.now-textarea-field.is-invalid.-positive,.now-textarea-field.is-invalid:focus.-positive,.now-textarea-field:focus.-positive{background-color:RGB(var(--now-indicator--tertiary_positive--background-color,var(--now-color_alert--positive-0,201,224,202)))}.now-textarea-field-backdrop.-info,.now-textarea-field-backdrop.is-invalid.-info,.now-textarea-field-backdrop.is-invalid:focus.-info,.now-textarea-field-backdrop:focus.-info,.now-textarea-field-copy.-info,.now-textarea-field-copy.is-invalid.-info,.now-textarea-field-copy.is-invalid:focus.-info,.now-textarea-field-copy:focus.-info,.now-textarea-field.-info,.now-textarea-field.is-invalid.-info,.now-textarea-field.is-invalid:focus.-info,.now-textarea-field:focus.-info{background-color:RGB(var(--now-indicator--tertiary_info--background-color,var(--now-color_alert--info-0,195,221,240)))}.now-textarea-field-backdrop.-low,.now-textarea-field-backdrop.is-invalid.-low,.now-textarea-field-backdrop.is-invalid:focus.-low,.now-textarea-field-backdrop:focus.-low,.now-textarea-field-copy.-low,.now-textarea-field-copy.is-invalid.-low,.now-textarea-field-copy.is-invalid:focus.-low,.now-textarea-field-copy:focus.-low,.now-textarea-field.-low,.now-textarea-field.is-invalid.-low,.now-textarea-field.is-invalid:focus.-low,.now-textarea-field:focus.-low{background-color:RGB(var(--now-indicator--tertiary_low--background-color,var(--now-color_alert--low-0,217,217,217)))}.now-textarea-field-backdrop.-brown,.now-textarea-field-backdrop.is-invalid.-brown,.now-textarea-field-backdrop.is-invalid:focus.-brown,.now-textarea-field-backdrop:focus.-brown,.now-textarea-field-copy.-brown,.now-textarea-field-copy.is-invalid.-brown,.now-textarea-field-copy.is-invalid:focus.-brown,.now-textarea-field-copy:focus.-brown,.now-textarea-field.-brown,.now-textarea-field.is-invalid.-brown,.now-textarea-field.is-invalid:focus.-brown,.now-textarea-field:focus.-brown{background-color:RGB(var(--now-indicator--tertiary_brown--background-color,var(--now-color_grouped--brown-0,225,220,214)))}.now-textarea-field-backdrop.-gray,.now-textarea-field-backdrop.is-invalid.-gray,.now-textarea-field-backdrop.is-invalid:focus.-gray,.now-textarea-field-backdrop:focus.-gray,.now-textarea-field-copy.-gray,.now-textarea-field-copy.is-invalid.-gray,.now-textarea-field-copy.is-invalid:focus.-gray,.now-textarea-field-copy:focus.-gray,.now-textarea-field.-gray,.now-textarea-field.is-invalid.-gray,.now-textarea-field.is-invalid:focus.-gray,.now-textarea-field:focus.-gray{background-color:RGB(var(--now-indicator--tertiary_gray--background-color,var(--now-color_grouped--gray-0,220,222,224)))}.now-textarea-field-backdrop.-green-yellow,.now-textarea-field-backdrop.is-invalid.-green-yellow,.now-textarea-field-backdrop.is-invalid:focus.-green-yellow,.now-textarea-field-backdrop:focus.-green-yellow,.now-textarea-field-copy.-green-yellow,.now-textarea-field-copy.is-invalid.-green-yellow,.now-textarea-field-copy.is-invalid:focus.-green-yellow,.now-textarea-field-copy:focus.-green-yellow,.now-textarea-field.-green-yellow,.now-textarea-field.is-invalid.-green-yellow,.now-textarea-field.is-invalid:focus.-green-yellow,.now-textarea-field:focus.-green-yellow{background-color:RGB(var(--now-indicator--tertiary_green-yellow--background-color,var(--now-color_grouped--green-yellow-0,225,230,207)))}.now-textarea-field-backdrop.-magenta,.now-textarea-field-backdrop.is-invalid.-magenta,.now-textarea-field-backdrop.is-invalid:focus.-magenta,.now-textarea-field-backdrop:focus.-magenta,.now-textarea-field-copy.-magenta,.now-textarea-field-copy.is-invalid.-magenta,.now-textarea-field-copy.is-invalid:focus.-magenta,.now-textarea-field-copy:focus.-magenta,.now-textarea-field.-magenta,.now-textarea-field.is-invalid.-magenta,.now-textarea-field.is-invalid:focus.-magenta,.now-textarea-field:focus.-magenta{background-color:RGB(var(--now-indicator--tertiary_magenta--background-color,var(--now-color_grouped--magenta-0,239,215,236)))}.now-textarea-field-backdrop.-orange,.now-textarea-field-backdrop.is-invalid.-orange,.now-textarea-field-backdrop.is-invalid:focus.-orange,.now-textarea-field-backdrop:focus.-orange,.now-textarea-field-copy.-orange,.now-textarea-field-copy.is-invalid.-orange,.now-textarea-field-copy.is-invalid:focus.-orange,.now-textarea-field-copy:focus.-orange,.now-textarea-field.-orange,.now-textarea-field.is-invalid.-orange,.now-textarea-field.is-invalid:focus.-orange,.now-textarea-field:focus.-orange{background-color:RGB(var(--now-indicator--tertiary_orange--background-color,var(--now-color_grouped--orange-0,243,217,210)))}.now-textarea-field-backdrop.-pink,.now-textarea-field-backdrop.is-invalid.-pink,.now-textarea-field-backdrop.is-invalid:focus.-pink,.now-textarea-field-backdrop:focus.-pink,.now-textarea-field-copy.-pink,.now-textarea-field-copy.is-invalid.-pink,.now-textarea-field-copy.is-invalid:focus.-pink,.now-textarea-field-copy:focus.-pink,.now-textarea-field.-pink,.now-textarea-field.is-invalid.-pink,.now-textarea-field.is-invalid:focus.-pink,.now-textarea-field:focus.-pink{background-color:RGB(var(--now-indicator--tertiary_pink--background-color,var(--now-color_grouped--pink-0,239,215,221)))}.now-textarea-field-backdrop.-purple,.now-textarea-field-backdrop.is-invalid.-purple,.now-textarea-field-backdrop.is-invalid:focus.-purple,.now-textarea-field-backdrop:focus.-purple,.now-textarea-field-copy.-purple,.now-textarea-field-copy.is-invalid.-purple,.now-textarea-field-copy.is-invalid:focus.-purple,.now-textarea-field-copy:focus.-purple,.now-textarea-field.-purple,.now-textarea-field.is-invalid.-purple,.now-textarea-field.is-invalid:focus.-purple,.now-textarea-field:focus.-purple{background-color:RGB(var(--now-indicator--tertiary_purple--background-color,var(--now-color_grouped--purple-0,233,225,241)))}.now-textarea-field-backdrop.-teal,.now-textarea-field-backdrop.is-invalid.-teal,.now-textarea-field-backdrop.is-invalid:focus.-teal,.now-textarea-field-backdrop:focus.-teal,.now-textarea-field-copy.-teal,.now-textarea-field-copy.is-invalid.-teal,.now-textarea-field-copy.is-invalid:focus.-teal,.now-textarea-field-copy:focus.-teal,.now-textarea-field.-teal,.now-textarea-field.is-invalid.-teal,.now-textarea-field.is-invalid:focus.-teal,.now-textarea-field:focus.-teal{background-color:RGB(var(--now-indicator--tertiary_teal--background-color,var(--now-color_grouped--teal-0,210,231,227)))}.now-textarea-field-backdrop.is-invalid,.now-textarea-field-copy.is-invalid,.now-textarea-field.is-invalid{background-color:RGB(var(--now-textarea--background-color--invalid,var(--now-form-control-input--primary--background-color--invalid,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))),var(--now-textarea--background-color-alpha--invalid,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-textarea--border-color--invalid,var(--now-form-control-input--primary--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))));box-shadow:inset 0 .125rem 0 1px RGB(var(--now-textarea_inset--color--invalid,var(--now-form-control-input_inner-shadow--primary--color--invalid,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28)))),var(--now-textarea_inset--color-alpha--invalid,var(--now-form-control-input_inner-shadow--color-alpha,.1))) inset 0 0 0 0 RGB(var(--now-textarea--border-color--invalid,var(--now-form-control-input--primary--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))),0),0 0 0 0 RGB(var(--now-textarea--border-color--invalid,var(--now-form-control-input--primary--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))),0);color:RGB(var(--now-textarea--color--invalid,var(--now-form-control_value--color--invalid,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-textarea-field-backdrop.is-invalid:not(.is-disabled).hover,.now-textarea-field-backdrop.is-invalid:not(.is-disabled):hover,.now-textarea-field-copy.is-invalid:not(.is-disabled).hover,.now-textarea-field-copy.is-invalid:not(.is-disabled):hover,.now-textarea-field.is-invalid:not(.is-disabled).hover,.now-textarea-field.is-invalid:not(.is-disabled):hover{background-color:RGB(var(--now-textarea--background-color--invalid_hover,var(--now-form-control-input--primary--background-color--invalid_hover,var(--now-color_alert--critical-0,241,206,205))),var(--now-textarea--background-color-alpha--invalid_hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-textarea--border-color--invalid_hover,var(--now-form-control-input--primary--border-color--invalid_hover,var(--now-form-control-input--primary--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))));box-shadow:inset 0 .125rem 0 1px RGB(var(--now-textarea_inset--color--invalid_hover,var(--now-form-control-input_inner-shadow--primary--color--invalid_hover,var(--now-color_alert--critical-5,80,24,22))),var(--now-textarea_inset--color-alpha--invalid_hover,var(--now-form-control-input_inner-shadow--color-alpha,.1))) inset 0 0 0 0 RGB(var(--now-textarea--border-color--invalid_hover,var(--now-form-control-input--primary--border-color--invalid_hover,var(--now-form-control-input--primary--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))),0),0 0 0 0 RGB(var(--now-textarea--border-color--invalid_hover,var(--now-form-control-input--primary--border-color--invalid_hover,var(--now-form-control-input--primary--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))),0)}.now-textarea-field-backdrop.is-invalid:focus,.now-textarea-field-copy.is-invalid:focus,.now-textarea-field.is-invalid:focus{background-color:RGB(var(--now-textarea--background-color--invalid_focus,var(--now-form-control-input--primary--background-color--invalid_focus,var(--now-form-control-input--primary--background-color--invalid,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))))),var(--now-textarea--background-color-alpha--invalid_focus,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-textarea--border-color--invalid_focus,var(--now-form-control-input--primary--border-color--invalid_focus,var(--now-form-control-input--primary--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))))}.now-textarea-field-backdrop.is-invalid:focus::-webkit-input-placeholder,.now-textarea-field-copy.is-invalid:focus::-webkit-input-placeholder,.now-textarea-field.is-invalid:focus::-webkit-input-placeholder{color:RGB(var(--now-textarea_placeholder--color--hover,var(--now-form-control_value--placeholder--color--hover,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))),.85)}.now-textarea-field-backdrop.is-invalid:focus::placeholder,.now-textarea-field-copy.is-invalid:focus::placeholder,.now-textarea-field.is-invalid:focus::placeholder{color:RGB(var(--now-textarea_placeholder--color--hover,var(--now-form-control_value--placeholder--color--hover,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))),.85)}.-sm .now-textarea-field-backdrop.is-invalid:focus,.-sm .now-textarea-field-copy.is-invalid:focus,.-sm .now-textarea-field.is-invalid:focus{box-shadow:inset 0 .125rem 0 1px RGB(var(--now-textarea_inset--color--invalid_focus,var(--now-form-control-input_inner-shadow--primary--color--invalid_focus,var(--now-form-control-input_inner-shadow--primary--color--invalid,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))))),var(--now-textarea_inset--color-alpha--invalid_focus,var(--now-form-control-input_inner-shadow--color-alpha,.1))),inset 0 0 0 var(--now-textarea--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-textarea--border-color--invalid_focus,var(--now-form-control-input--primary--border-color--invalid_focus,var(--now-form-control-input--primary--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))),0 0 0 calc(var(--now-form-field_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2) RGB(var(--now-textarea--border-color--invalid_focus,var(--now-form-control-input--primary--border-color--invalid_focus,var(--now-form-control-input--primary--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))),var(--now-opacity--least,.1))}.-md .now-textarea-field-backdrop.is-invalid:focus,.-md .now-textarea-field-copy.is-invalid:focus,.-md .now-textarea-field.is-invalid:focus{box-shadow:inset 0 .1875rem 0 1px RGB(var(--now-textarea_inset--color--invalid_focus,var(--now-form-control-input_inner-shadow--primary--color--invalid_focus,var(--now-form-control-input_inner-shadow--primary--color--invalid,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))))),var(--now-textarea_inset--color-alpha--invalid_focus,var(--now-form-control-input_inner-shadow--color-alpha,.1))),inset 0 0 0 var(--now-textarea--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-textarea--border-color--invalid_focus,var(--now-form-control-input--primary--border-color--invalid_focus,var(--now-form-control-input--primary--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-textarea--border-color--invalid_focus,var(--now-form-control-input--primary--border-color--invalid_focus,var(--now-form-control-input--primary--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))),var(--now-opacity--least,.1))}.now-textarea-field-backdrop.is-readonly,.now-textarea-field-backdrop.is-readonly.hover,.now-textarea-field-backdrop.is-readonly:hover,.now-textarea-field-copy.is-readonly,.now-textarea-field-copy.is-readonly.hover,.now-textarea-field-copy.is-readonly:hover,.now-textarea-field.is-readonly,.now-textarea-field.is-readonly.hover,.now-textarea-field.is-readonly:hover{--now-border-width--readonly:var(--now-textarea--border-width--readonly,var(--now-form-control-input--primary--border-width,0px));background-color:RGB(var(--now-textarea--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-textarea--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha--readonly,var(--now-form-control--background-color-alpha--readonly,var(--now-opacity--less,.25)))));border-block-end-width:calc(var(--now-textarea--border-block-end-width--readonly, var(--now-form-control-input--primary--border-block-end-width, 1px)) + var(--now-border-width--readonly));border-block-start-width:var(--now-textarea--border-width--readonly,var(--now-form-control-input--primary--border-width,0));border-color:RGB(var(--now-textarea--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))));border-inline-end-width:var(--now-textarea--border-width--readonly,var(--now-form-control-input--primary--border-width,0));border-inline-start-width:var(--now-textarea--border-width--readonly,var(--now-form-control-input--primary--border-width,0));border-radius:var(--now-textarea--border-radius--readonly,var(--now-form-control-input--primary--border-radius,4px));box-shadow:none;color:RGB(var(--now-textarea--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));cursor:not-allowed}.now-textarea-field-backdrop.is-readonly:focus,.now-textarea-field-copy.is-readonly:focus,.now-textarea-field.is-readonly:focus{box-shadow:none;outline:.125rem solid RGB(var(--now-textarea--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))))}.now-textarea-field-backdrop.is-disabled,.now-textarea-field-copy.is-disabled,.now-textarea-field.is-disabled{cursor:not-allowed;opacity:var(--now-textarea--opacity--disabled,var(--now-form-control-input--opacity--disabled,var(--now-form-control--opacity--disabled,.25)))}.now-textarea-field-backdrop.-resize-horizontal,.now-textarea-field-copy.-resize-horizontal,.now-textarea-field.-resize-horizontal{resize:horizontal}.now-textarea-field-backdrop.-resize-vertical,.now-textarea-field-copy.-resize-vertical,.now-textarea-field.-resize-vertical{resize:vertical}.now-textarea-field-backdrop.-resize-both,.now-textarea-field-copy.-resize-both,.now-textarea-field.-resize-both{resize:both}.now-textarea-field-backdrop.-resize-none,.now-textarea-field-copy.-resize-none,.now-textarea-field.-resize-none{resize:none}.show-borders .now-textarea-field,.show-borders .now-textarea-field-backdrop,.show-borders .now-textarea-field-copy{-webkit-margin-before:var(--now-space--xs,.25rem);border-color:RGB(var(--now-textarea--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-style:solid;border-width:1px;margin-block-start:var(--now-space--xs,.25rem)}.show-borders .now-textarea-field-backdrop:not(.has-slotted-content),.show-borders .now-textarea-field-copy:not(.has-slotted-content),.show-borders .now-textarea-field:not(.has-slotted-content){padding:var(--now-space--sm,.5rem)}.disable-max-height .now-textarea-field,.disable-max-height .now-textarea-field-backdrop,.disable-max-height .now-textarea-field-copy{max-block-size:none}.now-textarea-character-counter{font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));line-height:1.3333}.-sm .now-textarea-character-counter{-webkit-margin-before:var(--now-space--xs,.25rem);margin-block-start:var(--now-space--xs,.25rem)}.-md .now-textarea-character-counter{-webkit-margin-before:var(--now-space--sm,.5rem);margin-block-start:var(--now-space--sm,.5rem)}.now-textarea-character-counter.-warning{color:RGB(var(--now-form-field_character-counter--color--warning,var(--now-form-control_label--warning--color,var(--now-color_alert--high-3,177,116,27))))}.now-textarea-character-counter.-error{color:RGB(var(--now-form-field_character-counter--color--error,var(--now-form-control_label--critical--color,var(--now-color_alert--critical-2,200,60,54))))}.now-textarea-container{block-size:100%;position:relative}.-vertical .now-textarea-container.has-label{block-size:calc(100% - 1rem - var(--now-scale-space--xxs, 1)*.125rem)}.now-textarea-wrapper{block-size:100%}.now-textarea-wrapper.has-backdrop{display:grid;grid-template-columns:1fr}.now-textarea-wrapper.has-backdrop .now-textarea-field{overscroll-behavior:none;z-index:0}.now-textarea-wrapper.has-backdrop .now-textarea-field::-moz-selection{background-color:RGB(var(--now-textarea--selection--background-color,var(--now-form-control_value--selection--background-color,var(--now-color--focus-1,77,160,176))),.9);color:RGB(var(--now-textarea--selection--color,var(--now-form-control_value--selection--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-textarea-wrapper.has-backdrop .now-textarea-field::selection{background-color:RGB(var(--now-textarea--selection--background-color,var(--now-form-control_value--selection--background-color,var(--now-color--focus-1,77,160,176))),.9);color:RGB(var(--now-textarea--selection--color,var(--now-form-control_value--selection--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))))}.now-textarea-wrapper.has-backdrop:not(.is-autoresize) .now-textarea-field-backdrop{display:block}.now-textarea-wrapper.has-backdrop:not(.is-autoresize) .now-textarea-field,.now-textarea-wrapper.has-backdrop:not(.is-autoresize) .now-textarea-field-backdrop{grid-column-start:1;grid-row-start:1}.now-textarea-slot{inset-inline-start:var(--now-space--sm,.5rem);position:absolute;z-index:1}.-sm .now-textarea-slot{inset-block-start:var(--now-space--xxs,.125rem)}.-md .now-textarea-slot{inset-block-start:var(--now-space--sm,.5rem)}.now-textarea-field-backdrop,.now-textarea-field-copy{display:none;min-inline-size:20ch;word-break:break-all}.now-textarea-caret-container{inset-inline-start:-9999px;position:absolute}.is-autoresize{overflow:hidden;position:relative}.show-borders .is-autoresize{-webkit-margin-before:var(--now-space--xs,.25rem);margin-block-start:var(--now-space--xs,.25rem)}.show-borders .is-autoresize .now-textarea-field,.show-borders .is-autoresize .now-textarea-field-copy{-webkit-margin-before:0;margin-block-start:0}.is-autoresize .now-textarea-field{block-size:100%;inline-size:100%;margin:0;overflow:hidden;position:absolute}.is-autoresize .now-textarea-field-copy{display:block;visibility:hidden}.is-autoresize:not(.disable-min-height) .now-textarea-field-copy{-webkit-padding-after:1.5em;padding-block-end:1.5em}.is-autoresize .now-textarea-field-backdrop{display:block;position:absolute}.is-autoresize .now-textarea-field-copy:after{content:attr(data-replicated-value) \\\" \\\";visibility:hidden;white-space:pre-wrap}.is-autoresize .now-textarea-field[cols],.is-autoresize .now-textarea-field[cols]+.now-textarea-field-copy{max-inline-size:100%;min-inline-size:100%}.now-textarea-field-backdrop{box-shadow:unset!important;color:transparent!important;min-block-size:0;min-inline-size:0;overflow:hidden;overflow-wrap:anywhere;scrollbar-color:transparent transparent;white-space:pre-wrap;z-index:0}.now-textarea-field-selection{background-color:RGB(var(--now-textarea--selection--background-color,var(--now-form-control_value--selection--background-color,var(--now-color--focus-1,77,160,176))),.9);color:transparent}.-horizontal.will-wrap .now-form-field-label{align-items:start}.-horizontal.will-wrap .now-form-field-label-end{justify-content:start}@media(forced-colors:active){.now-textarea-field,.now-textarea-field-backdrop,.now-textarea-field-copy{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-textarea-field-backdrop:not(.is-disabled).has-hover,.now-textarea-field-backdrop:not(.is-disabled):hover,.now-textarea-field-copy:not(.is-disabled).has-hover,.now-textarea-field-copy:not(.is-disabled):hover,.now-textarea-field:not(.is-disabled).has-hover,.now-textarea-field:not(.is-disabled):hover{border-color:highlight!important}.now-textarea-field-backdrop.has-focus,.now-textarea-field-backdrop:focus,.now-textarea-field-copy.has-focus,.now-textarea-field-copy:focus,.now-textarea-field.has-focus,.now-textarea-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-textarea-field-backdrop.is-disabled,.now-textarea-field-copy.is-disabled,.now-textarea-field.is-disabled{border-color:graytext!important;color:graytext!important;opacity:1!important}.now-textarea-field-backdrop.is-readonly,.now-textarea-field-backdrop.is-readonly.has-hover,.now-textarea-field-backdrop.is-readonly:hover,.now-textarea-field-copy.is-readonly,.now-textarea-field-copy.is-readonly.has-hover,.now-textarea-field-copy.is-readonly:hover,.now-textarea-field.is-readonly,.now-textarea-field.is-readonly.has-hover,.now-textarea-field.is-readonly:hover{border-color:graytext!important}.now-textarea-field ::-webkit-input-placeholder,.now-textarea-field-backdrop ::-webkit-input-placeholder,.now-textarea-field-copy ::-webkit-input-placeholder{color:graytext!important}.now-textarea-field ::placeholder,.now-textarea-field-backdrop ::placeholder,.now-textarea-field-copy ::placeholder{color:graytext!important}.now-textarea-field .now-input-native-selection,.now-textarea-field-backdrop .now-input-native-selection,.now-textarea-field-copy .now-input-native-selection{-webkit-border-after:1px highlight solid!important;border-block-end:1px solid highlight!important}.has-backdrop .now-textarea-field{forced-color-adjust:none}.has-backdrop .now-textarea-field::-moz-selection{background-color:highlight!important;color:highlighttext!important}.has-backdrop .now-textarea-field::selection{background-color:highlight!important;color:highlighttext!important}.has-backdrop .now-textarea-field:focus{box-shadow:unset!important}.now-textarea-field-backdrop .now-textarea-field-selection{-webkit-border-after:1px highlight solid!important;border-block-end:1px solid highlight!important}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{--now-line-height:0;display:inline-block;vertical-align:middle}.now-toggle-container{display:flex}.now-toggle-container.-bottom,.now-toggle-container.-top{flex-direction:column}.now-toggle-container.-end,.now-toggle-container.-start{align-items:center}.is-full-width.-start .now-toggle-input{flex:3}.is-full-width.-end .now-toggle-input{display:flex;flex:2;justify-content:flex-end}.now-toggle-label{display:flex;font-variant:normal;letter-spacing:inherit;text-indent:0;text-shadow:none;text-transform:none;white-space:normal;word-spacing:inherit}.now-toggle-label.is-disabled{cursor:not-allowed;opacity:var(--now-toggle--opacity--disabled,var(--now-opacity--less,.25))}.is-full-width.-start .now-toggle-label{flex:2}.is-full-width.-end .now-toggle-label{flex:3}.-md .now-toggle-label{font-size:1rem;line-height:1.25}.-md.-start .now-toggle-label{-webkit-margin-end:calc(var(--now-scale-space--sm, 1)*.5rem);margin-inline-end:calc(var(--now-scale-space--sm, 1)*.5rem)}.-md.-end .now-toggle-label{-webkit-margin-start:calc(var(--now-scale-space--sm, 1)*.5rem);margin-inline-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-md.-top .now-toggle-label{-webkit-margin-after:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-end:calc(var(--now-scale-space--sm, 1)*.5rem)}.-md.-bottom .now-toggle-label{-webkit-margin-before:calc(var(--now-scale-space--sm, 1)*.5rem);margin-block-start:calc(var(--now-scale-space--sm, 1)*.5rem)}.-sm .now-toggle-label{font-size:.75rem;line-height:1.3333}.-sm.-start .now-toggle-label{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.-sm.-end .now-toggle-label{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-sm.-top .now-toggle-label{-webkit-margin-after:.25rem;margin-block-end:.25rem}.-sm.-bottom .now-toggle-label{-webkit-margin-before:.25rem;margin-block-start:.25rem}.now-toggle-label .now-line-height-crop{display:block}.now-toggle-label .now-line-height-crop:after,.now-toggle-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-toggle-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-toggle-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-toggle-label .now-line-height-crop+.now-toggle-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-toggle-label-inline-slot ::slotted(*){-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-toggle{-webkit-margin-before:calc(.25rem*var(--now-toggle--scale-size, 1));-webkit-margin-after:calc(.25rem*var(--now-toggle--scale-size, 1));appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:RGB(var(--now-toggle_track--background-color,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231))));border-color:RGB(var(--now-toggle_track--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))));border-radius:calc(var(--now-toggle_track--border-radius, var(--now-form-control_track--border-radius, .125rem))*var(--now-toggle--scale-size, 1));border-style:solid;border-width:var(--now-toggle_track--border-width,var(--now-form-control_track--border-width,1px));flex-shrink:0;margin-block-end:calc(.25rem*var(--now-toggle--scale-size, 1));margin-block-start:calc(.25rem*var(--now-toggle--scale-size, 1));position:relative;transition:.1s linear}.now-toggle.-sm{block-size:.625rem;inline-size:2rem}.now-toggle.-md{block-size:calc(.5rem + var(--now-toggle--scale-size, 1)*1rem/2);inline-size:calc(1.5rem + var(--now-toggle--scale-size, 1)*3rem/2)}.now-toggle:after{background-color:RGB(var(--now-toggle_handle--background-color,var(--now-color--neutral-0,255,255,255)));border-color:RGB(var(--now-toggle_handle--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148))));border-style:solid;border-width:var(--now-toggle_handle--border-width,var(--now-form-control_handle--border-width,1px));box-shadow:0 .125rem .25rem 0 RGB(56,56,56,var(--now-opacity--less,.25));content:\\\"\\\";inset-inline-start:calc(var(--now-toggle_track--border-width, var(--now-form-control_track--border-width, 1px))*-1);position:absolute;transition:.1s linear}.now-toggle:focus{outline:none}.now-toggle:focus:after{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))}.now-toggle.-sm:after{block-size:1rem;border-radius:var(--now-toggle_handle--border-radius,var(--now-form-control_handle--border-radius,.125rem));inline-size:1rem;inset-block-start:calc(var(--now-toggle_track--border-width, var(--now-form-control_track--border-width, 1px))*-1 - .1875rem)}.now-toggle.-md:after{block-size:calc(.75rem + var(--now-toggle--scale-size, 1)*1.5rem/2);border-radius:calc(var(--now-toggle_handle--border-radius, var(--now-form-control_handle--border-radius, .125rem))*var(--now-toggle--scale-size, 1));inline-size:calc(.75rem + var(--now-toggle--scale-size, 1)*1.5rem/2);inset-block-start:calc(var(--now-toggle_track--border-width, var(--now-form-control_track--border-width, 1px))*-1 - .125rem - var(--now-toggle--scale-size, 1)*1rem/2/4)}.now-toggle.is-disabled{cursor:not-allowed;opacity:var(--now-toggle--opacity--disabled,var(--now-opacity--less,.25))}.now-toggle.is-disabled:after{box-shadow:none}.now-toggle.is-checked{background-color:RGB(var(--now-toggle_track--background-color--checked,var(--now-color--primary-1,30,133,109)));border-color:RGB(var(--now-toggle_track--border-color--checked,var(--now-color--primary-2,23,100,82)))}.now-toggle.is-checked.-sm:after{inset-inline-start:calc(1rem - var(--now-toggle_track--border-width, var(--now-form-control_track--border-width, 1px)))}.now-toggle.is-checked.-md:after{inset-inline-start:calc(.75rem + var(--now-toggle--scale-size, 1)*3rem/2/2 - var(--now-toggle_track--border-width, var(--now-form-control_track--border-width, 1px)))}.now-toggle:not(.is-disabled):hover:after{background-color:RGB(var(--now-toggle_handle--background-color--hover,var(--now-color--neutral-3,209,214,214)))}@media(forced-colors:active){.now-toggle{background-color:canvastext}.now-toggle,.now-toggle:after{border-color:buttonborder;border-width:1px}.now-toggle:after{background-color:buttonface}.now-toggle.is-checked{background-color:selecteditem;border-color:buttonborder}.now-toggle:focus,.now-toggle:focus:after,.now-toggle:not(.is-disabled):hover,.now-toggle:not(.is-disabled):hover:after{border-color:highlight}.now-toggle.is-disabled{background-color:graytext;opacity:1}.now-toggle.is-disabled,.now-toggle.is-disabled:after{border-color:graytext}.now-toggle-label.is-disabled{color:graytext;opacity:1}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{block-size:0;display:inline-block;inline-size:0;position:absolute}.fit-content-area{display:block;visibility:hidden;z-index:5000}.fit-content{display:block;max-block-size:100%;max-inline-size:100%;overflow:auto;position:fixed}.now-tooltip{word-wrap:break-word;background-color:RGB(var(--now-tooltip--background-color,var(--now-color--neutral-19,15,18,19)),var(--now-tooltip--background-color-alpha,1));border-color:RGB(var(--now-tooltip--border-color,var(--now-menu--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-tooltip--border-radius,var(--now-menu--border-radius,.125rem));border-style:solid;border-width:var(--now-tooltip--border-width,0);color:RGB(var(--now-tooltip--color,var(--now-color--neutral-0,255,255,255)));cursor:default;font-family:var(--now-tooltip--font-family,var(--now-menu--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)));font-size:.75rem;font-style:var(--now-tooltip--font-style,var(--now-menu--font-style,normal));font-variant:normal;font-weight:var(--now-tooltip--font-weight,var(--now-menu--font-weight,normal));letter-spacing:inherit;line-height:1.3333;max-inline-size:19rem;overflow-wrap:break-word;padding:.5rem;text-align:start;text-indent:0;text-shadow:none;text-transform:var(--now-tooltip--text-transform,var(--now-menu--text-transform,none));white-space:normal;word-spacing:inherit}.now-tooltip,.now-tooltip .now-line-height-crop{display:block}.now-tooltip .now-line-height-crop:after,.now-tooltip .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-tooltip .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-tooltip .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-tooltip .now-line-height-crop+.now-tooltip .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}@media(forced-colors:active){.now-tooltip{border-width:1px}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".now-form-field-message{-webkit-margin-before:.25rem;border-radius:var(--now-form-field_message--border-radius,var(--now-form-control_message--border-radius,2px));border-style:solid;border-width:var(--now-form-field_message--border-width,var(--now-form-control_message--border-width,0));display:flex;font-family:var(--now-form-field_message--font-family,var(--now-form-control_message--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:var(--now-form-control_message--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_message--font-style,var(--now-form-control_message--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-form-field_message--font-weight,var(--now-form-control_message--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,var(--now-form-control_message--text-transform,var(--now-form-control--text-transform,none)));word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-form-control_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205))));border-color:RGB(var(--now-form-field_message--critical--border-color,var(--now-form-control_message--critical--border-color,var(--now-color_alert--critical-1,221,133,129))));color:RGB(var(--now-form-field_message--critical--color,var(--now-form-control_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-critical .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--critical--color,var(--now-form-control_message_icon--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-form-control_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191))));border-color:RGB(var(--now-form-field_message--warning--border-color,var(--now-form-control_message--warning--border-color,var(--now-color_alert--warning-1,227,218,96))));color:RGB(var(--now-form-field_message--warning--color,var(--now-form-control_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-warning .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--warning--color,var(--now-form-control_message_icon--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-form-control_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202))));border-color:RGB(var(--now-form-field_message--positive--border-color,var(--now-form-control_message--positive--border-color,var(--now-color_alert--positive-1,119,178,123))));color:RGB(var(--now-form-field_message--positive--color,var(--now-form-control_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-positive .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--positive--color,var(--now-form-control_message_icon--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-form-control_message--info--background-color,var(--now-color_alert--info-0,195,221,240))));border-color:RGB(var(--now-form-field_message--info--border-color,var(--now-form-control_message--info--border-color,var(--now-color_alert--info-1,104,171,218))));color:RGB(var(--now-form-field_message--info--color,var(--now-form-control_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-info .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--info--color,var(--now-form-control_message_icon--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-form-control_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-form-field_message--suggestion--background-color-alpha,var(--now-form-control_message--secondary--background-color-alpha,0)));border-color:RGB(var(--now-form-field_message--suggestion--border-color,var(--now-form-control_message--suggestion--border-color,var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)))));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-form-control_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message.-suggestion .now-form-field-message-icon{color:RGB(var(--now-form-field_message_icon--suggestion--color,var(--now-form-control_message_icon--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{align-self:center;margin-block:0}.now-form-field-label{align-items:center;display:flex}.-vertical .now-form-field-label{-webkit-margin-after:calc(var(--now-scale-space--xxs, 1)*.125rem);margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{-webkit-margin-end:.25rem;justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.-vertical.will-wrap .now-form-field-label{align-items:end}.-horizontal.will-wrap .now-form-field-label{justify-content:center}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.will-wrap .now-form-field-label .now-form-field-label-text{word-break:break-word}.-horizontal:not(.will-wrap) .now-form-field-label,.-vertical:not(.will-wrap) .now-form-field-label{block-size:1rem}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.-horizontal:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after,.-vertical:not(.will-wrap) .now-form-field-label .now-form-field-label-text:after{content:\\\"\\\";display:block}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{-webkit-margin-start:auto;margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){-webkit-padding-start:.75rem;max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{-webkit-margin-start:.25rem;flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.will-wrap .now-form-field-label-end{flex-direction:column;gap:.125rem}.-vertical.will-wrap .now-form-field-label-end{align-items:end}.-horizontal.will-wrap .now-form-field-label-end{align-items:start;justify-content:center}.now-form-field-label-start{display:flex}.-vertical .now-form-field-label-start ::slotted(*){-webkit-margin-end:.25rem;margin-inline-end:.25rem}.-horizontal .now-form-field-label-start ::slotted(*){-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-vertical .now-form-field-label-inline ::slotted(*){-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-form-control_label--secondary--font-family,var(--now-form-control_label--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)))));font-size:var(--now-form-control_label--font-size--sm,var(--now-font-size--sm,.75rem));font-style:var(--now-form-field_label--font-style,var(--now-form-control_label--secondary--font-style,var(--now-form-control_label--font-style,var(--now-form-control--font-style,normal))));font-weight:var(--now-form-field_label--font-weight,var(--now-form-control_label--secondary--font-weight,var(--now-form-control_label--font-weight,var(--now-form-control--font-weight,normal))));line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,var(--now-form-control_label--secondary--text-transform,var(--now-form-control_label--text-transform,var(--now-form-control--text-transform,none))))}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-form-control_label--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43))))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{-webkit-padding-after:calc(var(--now-line-height-crop--after)*1*-1);display:block;padding-block-end:calc(var(--now-line-height-crop--after)*1*-1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after,.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop+.-vertical.will-wrap .now-form-field-label-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{block-size:1.5rem;padding-inline:.5rem .25rem}.-md .now-form-field{-webkit-padding-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1));block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){margin-inline:0 .25rem!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){-webkit-margin-start:0!important;margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){-webkit-margin-start:0!important;margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){margin-inline:0 calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-end ::slotted(:last-child){-webkit-margin-end:0!important;margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){-webkit-margin-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important;margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){-webkit-margin-end:0!important;margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{inline-size:100%;padding-inline:0}.now-form-field-required-indicator{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-horizontal .now-form-field-button{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-form-control_label--color--invalid,var(--now-color_alert--critical-3,160,48,43)))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::-webkit-input-placeholder{color:graytext!important}.now-form-field ::placeholder{color:graytext!important}.now-form-field .now-input-native-selection{-webkit-border-after:1px highlight solid!important;border-block-end:1px solid highlight!important}}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;-webkit-clip-path:inset(50%);clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.now-align{display:flex}.now-align.-row.-reverse{flex-direction:row-reverse}.now-align.-column{flex-direction:column}.now-align.-column.-reverse{flex-direction:column-reverse}.now-align.-wrap{flex-wrap:wrap}.now-align.-inline{justify-content:space-between}.now-align.-inline-center{justify-content:center}.now-align.-inline-end{justify-content:flex-end}.now-align.-block-start{align-items:flex-start}.now-align.-block-center{align-items:center}.now-align.-block-end{align-items:flex-end}.now-m-block--xs{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-block-start:.25rem}.now-m-block-start--xs{-webkit-margin-before:.25rem;margin-block-start:.25rem}.now-m-block-end--xs{-webkit-margin-after:.25rem;margin-block-end:.25rem}.now-m-inline--xs{-webkit-margin-start:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem;margin-inline-start:.25rem}.now-m-inline-start--xs{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-m-inline-end--xs{-webkit-margin-end:.25rem;margin-inline-end:.25rem}:host{display:inline-block;margin-block:calc(var(--now-scale-space--sm, 1)*.5rem)}.now-typeahead-field{background-color:RGB(var(--now-typeahead--background-color,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))),var(--now-typeahead--background-color-alpha,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-typeahead--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));border-radius:var(--now-typeahead--border-radius,var(--now-form-control-input--primary--border-radius,4px));border-width:var(--now-typeahead--border-width,var(--now-form-control-input--primary--border-width,0));display:flex}.-sm .now-typeahead-field{box-shadow:inset 0 1px 0 1px RGB(var(--now-typeahead_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-typeahead_inset--color-alpha,var(--now-form-control-input_inner-shadow--color-alpha,.1))),0 var(--now-typeahead--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-typeahead--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));padding-inline:.5rem .25rem}.-sm .now-typeahead-field:not(.is-disabled).has-hover,.-sm .now-typeahead-field:not(.is-disabled):hover{box-shadow:inset 0 1px 0 1px RGB(var(--now-typeahead_inset--color--hover,var(--now-form-control-input_inner-shadow--primary--color--hover,var(--now-color--primary-3,15,67,55))),var(--now-typeahead_inset--color-alpha--hover,var(--now-form-control-input_inner-shadow--color-alpha,.1))),0 calc(var(--now-typeahead--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-typeahead--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))))}.-sm .now-typeahead-field.is-invalid{box-shadow:inset 0 1px 0 1px RGB(var(--now-typeahead_inset--color--invalid,var(--now-form-control-input_inner-shadow--primary--color--invalid,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28)))),var(--now-typeahead_inset--color-alpha--invalid,var(--now-form-control-input_inner-shadow--color-alpha,.1))),0 var(--now-typeahead--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-typeahead--border-color--invalid,var(--now-form-control-input--primary--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))}.-sm .now-typeahead-field.is-invalid.has-hover,.-sm .now-typeahead-field.is-invalid.is-disabled:hover{box-shadow:inset 0 1px 0 1px RGB(var(--now-typeahead_inset--color--invalid_hover,var(--now-form-control-input_inner-shadow--primary--color--invalid_hover,var(--now-color_alert--critical-5,80,24,22))),var(--now-typeahead_inset--color-alpha--invalid_hover,var(--now-form-control-input_inner-shadow--color-alpha,.1))),0 calc(var(--now-typeahead--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-typeahead--border-color--invalid_hover,var(--now-form-control-input--primary--border-color--invalid_hover,var(--now-form-control-input--primary--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))))}.-md .now-typeahead-field{-webkit-padding-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1));-webkit-padding-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1));box-shadow:inset 0 .125rem 0 1px RGB(var(--now-typeahead_inset--color,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))),var(--now-typeahead_inset--color-alpha,var(--now-form-control-input_inner-shadow--color-alpha,.1))),0 var(--now-typeahead--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-typeahead--border-color,var(--now-form-control-input--primary--border-color,var(--now-color_border--primary,var(--now-color--neutral-7,135,147,148)))));padding-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1));padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.-md .now-typeahead-field:not(.is-disabled).has-hover,.-md .now-typeahead-field:not(.is-disabled):hover{box-shadow:inset 0 .125rem 0 1px RGB(var(--now-typeahead_inset--color--hover,var(--now-form-control-input_inner-shadow--primary--color--hover,var(--now-color--primary-3,15,67,55))),var(--now-typeahead_inset--color-alpha--hover,var(--now-form-control-input_inner-shadow--color-alpha,.1))),0 calc(var(--now-typeahead--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-typeahead--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))))}.-md .now-typeahead-field.is-invalid{box-shadow:inset 0 .125rem 0 1px RGB(var(--now-typeahead_inset--color--invalid,var(--now-form-control-input_inner-shadow--primary--color--invalid,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28)))),var(--now-typeahead_inset--color-alpha--invalid,var(--now-form-control-input_inner-shadow--color-alpha,.1))),0 var(--now-typeahead--border-block-end-width,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-typeahead--border-color--invalid,var(--now-form-control-input--primary--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))}.-md .now-typeahead-field.is-invalid.has-hover,.-md .now-typeahead-field.is-invalid.is-disabled:hover{box-shadow:inset 0 .125rem 0 1px RGB(var(--now-typeahead_inset--color--invalid_hover,var(--now-form-control-input_inner-shadow--primary--color--invalid_hover,var(--now-color_alert--critical-5,80,24,22))),var(--now-typeahead_inset--color-alpha--invalid_hover,var(--now-form-control-input_inner-shadow--color-alpha,.1))),0 calc(var(--now-typeahead--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-typeahead--border-color--invalid_hover,var(--now-form-control-input--primary--border-color--invalid_hover,var(--now-form-control-input--primary--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))))}.now-typeahead-field:not(.is-disabled).has-hover,.now-typeahead-field:not(.is-disabled):hover{background-color:RGB(var(--now-typeahead--background-color--hover,var(--now-form-control-input--primary--background-color--hover,var(--now-color--primary-0,221,237,233))),var(--now-typeahead--background-color-alpha--hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-typeahead--border-color--hover,var(--now-form-control-input--primary--border-color--hover,var(--now-color--primary-1,30,133,109))))}.now-typeahead-field:not(.is-disabled).is-invalid.has-focus,.now-typeahead-field:not(.is-disabled).is-invalid:focus,.now-typeahead-field:not(.is-disabled).is-invalid:focus-within{background-color:RGB(var(--now-typeahead--background-color--invalid_focus,var(--now-form-control-input--primary--background-color--invalid_focus,var(--now-form-control-input--primary--background-color--invalid,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))))),var(--now-typeahead--background-color-alpha--invalid_focus,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-typeahead--border-color--invalid_focus,var(--now-form-control-input--primary--border-color--invalid_focus,var(--now-form-control-input--primary--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))))}.-sm .now-typeahead-field:not(.is-disabled).is-invalid.has-focus,.-sm .now-typeahead-field:not(.is-disabled).is-invalid:focus,.-sm .now-typeahead-field:not(.is-disabled).is-invalid:focus-within{box-shadow:0 calc(var(--now-typeahead--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-typeahead--border-color--invalid_focus,var(--now-form-control-input--primary--border-color--invalid_focus,var(--now-form-control-input--primary--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))),inset 0 .125rem 0 1px RGB(var(--now-typeahead_inset--color--invalid_focus,var(--now-form-control-input_inner-shadow--primary--color--invalid_focus,var(--now-form-control-input_inner-shadow--primary--color--invalid,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))))),var(--now-typeahead_inset--color-alpha--invalid_focus,var(--now-form-control-input_inner-shadow--color-alpha,.1))),inset 0 0 0 var(--now-typeahead--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-typeahead--border-color--invalid_focus,var(--now-form-control-input--primary--border-color--invalid_focus,var(--now-form-control-input--primary--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))),0 0 0 calc(var(--now-form-field_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2) RGB(var(--now-typeahead--border-color--invalid_focus,var(--now-form-control-input--primary--border-color--invalid_focus,var(--now-form-control-input--primary--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))),var(--now-opacity--least,.1))}.-md .now-typeahead-field:not(.is-disabled).is-invalid.has-focus,.-md .now-typeahead-field:not(.is-disabled).is-invalid:focus,.-md .now-typeahead-field:not(.is-disabled).is-invalid:focus-within{box-shadow:0 calc(var(--now-typeahead--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-typeahead--border-color--invalid_focus,var(--now-form-control-input--primary--border-color--invalid_focus,var(--now-form-control-input--primary--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))),inset 0 .1875rem 0 1px RGB(var(--now-typeahead_inset--color--invalid_focus,var(--now-form-control-input_inner-shadow--primary--color--invalid_focus,var(--now-form-control-input_inner-shadow--primary--color--invalid,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28))))),var(--now-typeahead_inset--color-alpha--invalid_focus,var(--now-form-control-input_inner-shadow--color-alpha,.1))),inset 0 0 0 var(--now-typeahead--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-typeahead--border-color--invalid_focus,var(--now-form-control-input--primary--border-color--invalid_focus,var(--now-form-control-input--primary--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-typeahead--border-color--invalid_focus,var(--now-form-control-input--primary--border-color--invalid_focus,var(--now-form-control-input--primary--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))),var(--now-opacity--least,.1))}.now-typeahead-field.is-invalid{background-color:RGB(var(--now-typeahead--background-color--invalid,var(--now-form-control-input--primary--background-color--invalid,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))),var(--now-typeahead--background-color-alpha--invalid,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-typeahead--border-color--invalid,var(--now-form-control-input--primary--border-color--invalid,var(--now-color_alert--critical-2,200,60,54))))}.now-typeahead-field.is-invalid.has-hover,.now-typeahead-field.is-invalid.is-disabled:hover,.now-typeahead-field.is-invalid:hover{background-color:RGB(var(--now-typeahead--background-color--invalid_hover,var(--now-form-control-input--primary--background-color--invalid_hover,var(--now-color_alert--critical-0,241,206,205))),var(--now-typeahead--background-color-alpha--invalid_hover,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-typeahead--border-color--invalid_hover,var(--now-form-control-input--primary--border-color--invalid_hover,var(--now-form-control-input--primary--border-color--invalid,var(--now-color_alert--critical-2,200,60,54)))))}.now-typeahead-field.is-disabled{opacity:var(--now-typeahead--opacity--disabled,var(--now-form-control-input--opacity--disabled,var(--now-form-control--opacity--disabled,.25)))}.now-typeahead-field:not(.is-disabled).has-focus{background-color:RGB(var(--now-typeahead--background-color--focus,var(--now-form-control-input--primary--background-color--focus,var(--now-form-control-input--primary--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))),var(--now-typeahead--background-color-alpha--focus,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-typeahead--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))))}.-sm .now-typeahead-field:not(.is-disabled).has-focus{box-shadow:0 calc(var(--now-typeahead--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-typeahead--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 .125rem 0 1px RGB(var(--now-typeahead_inset--color--focus,var(--now-form-control-input_inner-shadow--primary--color--focus,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28)))),var(--now-typeahead_inset--color-alpha--focus,var(--now-form-control-input_inner-shadow--color-alpha,.1))),inset 0 0 0 var(--now-typeahead--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-typeahead--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 calc(var(--now-form-field_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2) RGB(var(--now-typeahead--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}.-md .now-typeahead-field:not(.is-disabled).has-focus{box-shadow:0 calc(var(--now-typeahead--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-typeahead--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 .1875rem 0 1px RGB(var(--now-typeahead_inset--color--focus,var(--now-form-control-input_inner-shadow--primary--color--focus,var(--now-form-control-input_inner-shadow--primary--color,var(--now-color--neutral-18,22,27,28)))),var(--now-typeahead_inset--color-alpha--focus,var(--now-form-control-input_inner-shadow--color-alpha,.1))),inset 0 0 0 var(--now-typeahead--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-typeahead--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-typeahead--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}.-md .now-typeahead-field.is-readonly,.-md .now-typeahead-field.is-readonly.has-hover,.-md .now-typeahead-field.is-readonly:hover,.-sm .now-typeahead-field.is-readonly,.-sm .now-typeahead-field.is-readonly.has-hover,.-sm .now-typeahead-field.is-readonly:hover{background-color:RGB(var(--now-typeahead--background-color--readonly,var(--now-form-control-input--primary--background-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-typeahead--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-color:RGB(var(--now-typeahead--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))),var(--now-typeahead--background-color-alpha--readonly,var(--now-form-control-input--background-color-alpha,1)));border-radius:var(--now-typeahead--border-radius--readonly,var(--now-form-control-input--primary--border-radius,4px));border-width:var(--now-typeahead--border-width--readonly,var(--now-form-control-input--primary--border-width,0));box-shadow:0 var(--now-typeahead--border-block-end-width--readonly,var(--now-form-control-input--primary--border-block-end-width,1px)) 0 0 RGB(var(--now-typeahead--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.now-typeahead-field.is-readonly.has-focus{box-shadow:0 calc(var(--now-typeahead--border-block-end-width--readonly, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-typeahead--border-color--readonly,var(--now-form-control-input--primary--border-color--readonly,var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)))))}.-sm .now-typeahead-field.is-readonly.has-focus:not(.is-disabled){box-shadow:0 calc(var(--now-typeahead--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-typeahead--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-typeahead--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-typeahead--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 calc(var(--now-form-field_focus-ring--width, var(--now-form-control_focus-halo--secondary--border-width, 4px))/2) RGB(var(--now-typeahead--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}.-md .now-typeahead-field.is-readonly.has-focus:not(.is-disabled){box-shadow:0 calc(var(--now-typeahead--border-block-end-width, var(--now-form-control-input--primary--border-block-end-width, 1px))*2) 0 0 RGB(var(--now-typeahead--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),inset 0 0 0 var(--now-typeahead--border-width,var(--now-form-control-input--primary--border-width,0)) RGB(var(--now-typeahead--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142)))),0 0 0 var(--now-form-field_focus-ring--width,var(--now-form-control_focus-halo--secondary--border-width,4px)) RGB(var(--now-typeahead--border-color--focus,var(--now-form-control-input--primary--border-color--focus,var(--now-color--focus-2,1,119,142))),var(--now-opacity--least,.1))}.now-typeahead-native-input-container{align-items:center;display:flex;flex-grow:1;max-inline-size:100%}.now-typeahead-native-input{background:none;block-size:100%;border:none;color:RGB(var(--now-typeahead--color,var(--now-form-control_value--primary--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));font-family:var(--now-form-field--font-family,var(--now-form-control_value--primary--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-form-field--font-style,var(--now-form-control_value--primary--font-style,var(--now-form-control--font-style,normal)));font-variant:normal;font-weight:var(--now-form-field--font-weight,var(--now-form-control_value--primary--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;letter-spacing:inherit;line-height:1;min-inline-size:0;outline:none;padding:0;text-indent:0;text-shadow:none;text-transform:var(--now-form-field--text-transform,var(--now-form-control_value--primary--text-transform,var(--now-form-control--text-transform,none)));white-space:normal;word-spacing:inherit}.-sm .now-typeahead-native-input{font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem))}.-md .now-typeahead-native-input{-webkit-padding-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1));font-size:var(--now-form-control_value--font-size--md,var(--now-font-size--md1,1rem));padding-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))}.now-typeahead-native-input::-webkit-input-placeholder{color:RGB(var(--now-typeahead_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),.95);opacity:1}.now-typeahead-native-input::placeholder{color:RGB(var(--now-typeahead_placeholder--color,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))),.95);opacity:1}.now-typeahead-native-input[placeholder]{text-overflow:ellipsis}.is-invalid .now-typeahead-native-input:focus::-webkit-input-placeholder,.now-typeahead-native-input:focus::-webkit-input-placeholder,.now-typeahead-native-input:hover::-webkit-input-placeholder{color:RGB(var(--now-typeahead_placeholder--color--hover,var(--now-form-control_value--placeholder--color--hover,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))),.85)}.is-invalid .now-typeahead-native-input:focus::placeholder,.now-typeahead-native-input:focus::placeholder,.now-typeahead-native-input:hover::placeholder{color:RGB(var(--now-typeahead_placeholder--color--hover,var(--now-form-control_value--placeholder--color--hover,var(--now-form-control_value--placeholder--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))),.85)}.now-typeahead-native-input:disabled::-webkit-input-placeholder{cursor:not-allowed}.now-typeahead-native-input:disabled,.now-typeahead-native-input:disabled::placeholder{cursor:not-allowed}.is-invalid .now-typeahead-native-input{color:RGB(var(--now-typeahead--color--invalid,var(--now-form-control_value--color--invalid,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))}.is-readonly .now-typeahead-native-input{color:RGB(var(--now-typeahead--color--readonly,var(--now-form-control_value--color--readonly,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));cursor:not-allowed}.now-typeahead,.now-typeahead-multi{block-size:inherit;display:flex;flex-direction:column;max-block-size:inherit}.-horizontal.has-pills .now-form-field-label,.-horizontal.has-pills .now-form-field-label-end{-webkit-padding-before:.5625rem;padding-block-start:.5625rem}.now-typeahead-multi.-horizontal.has-pills{align-items:start}.now-typeahead-multi .now-typeahead-field{flex-wrap:wrap}.now-typeahead-multi .now-typeahead-field.has-pills{block-size:auto;overflow:auto}.now-typeahead-multi.-sm .now-typeahead-field{-webkit-padding-start:.25rem;padding-inline-start:.25rem}.now-typeahead-multi.-sm .now-typeahead-field.has-pills{min-block-size:1.5rem;padding-block:.1875rem;padding-inline:.25rem}.now-typeahead-multi.-sm.-vertical .now-typeahead-field{gap:.1875rem 0}.now-typeahead-multi.-sm.-horizontal .now-typeahead-field.has-pills{gap:.1875rem .25rem}.now-typeahead-multi.-md .now-typeahead-field{-webkit-padding-start:calc(.25rem*var(--now-form-field--scale-size-inline, 1));padding-inline-start:calc(.25rem*var(--now-form-field--scale-size-inline, 1))}.now-typeahead-multi.-md .now-typeahead-field.has-pills{gap:calc(.25rem*var(--now-form-field--scale-size-block, 1));min-block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding:calc(.25rem*var(--now-form-field--scale-size-inline, 1))}.now-typeahead-multi.-md .now-typeahead-native-input{-webkit-padding-start:calc(.25rem*var(--now-form-field--scale-size-inline, 1));padding-inline-start:calc(.25rem*var(--now-form-field--scale-size-inline, 1))}.now-typeahead-multi.-md .now-form-field-slot.-start ::slotted(*){-webkit-margin-end:0!important;margin-inline-end:0!important}.now-typeahead-multi.-horizontal.will-wrap,.now-typeahead-multi.-horizontal.will-wrap .now-form-field-label{align-items:start}.now-typeahead-multi.-horizontal.will-wrap .now-typeahead-field{align-content:start;min-block-size:100%}.now-typeahead-multi.-horizontal.will-wrap .now-typeahead-native-input-container,.now-typeahead-multi.-horizontal.will-wrap .now-typeahead-pills{align-self:start}.now-typeahead-multi.-horizontal.will-wrap.-sm .now-typeahead-field{padding-block:.1875rem}.now-typeahead-multi.-horizontal.will-wrap.-sm .now-form-field-label,.now-typeahead-multi.-horizontal.will-wrap.-sm .now-form-field-label-end{-webkit-padding-before:.25rem;padding-block-start:.25rem}.now-typeahead-multi.-horizontal.will-wrap.-md .now-typeahead-field{padding-block:calc(.25rem*var(--now-form-field--scale-size-inline, 1))}.now-typeahead-multi.-horizontal.will-wrap.-md .now-form-field-label,.now-typeahead-multi.-horizontal.will-wrap.-md .now-form-field-label-end{-webkit-padding-before:.5625rem;padding-block-start:.5625rem}.now-typeahead-popover{display:contents}.now-typeahead-pills{display:flex;flex-wrap:wrap;line-height:0;overflow:auto}.-sm .now-typeahead-pills{gap:.1875rem .25rem}.-md .now-typeahead-pills{gap:calc(.25rem*var(--now-form-field--scale-size-block, 1))}.has-pills .now-typeahead-pills{inline-size:100%}.now-typeahead-pills-list{-webkit-padding-start:0;display:flex;flex-wrap:wrap;gap:inherit;inline-size:100%;list-style:none;margin-block:0;padding-inline-start:0}.now-typeahead-pill{display:inline-block;max-inline-size:100%;vertical-align:middle}.now-typeahead-pill:focus{outline:none}.now-typeahead-pill-dismiss{-webkit-margin-start:.25rem;cursor:pointer;line-height:0;margin-inline-start:.25rem}.now-pill{align-items:center;display:flex;font-variant:normal;letter-spacing:inherit;position:relative;text-indent:0;text-shadow:none;white-space:normal;word-spacing:inherit}.now-pill .now-line-height-crop{inline-size:100%;min-inline-size:0}.now-pill-button{align-items:center;background-color:RGB(var(--now-pill--background-color,var(--now-form-control-pill--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));border-color:RGB(var(--now-pill--border-color,var(--now-form-control-pill--border-color,var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)))));border-style:solid;border-width:var(--now-pill--border-width,var(--now-form-control-pill--border-width,1px));color:RGB(var(--now-pill--color,var(--now-form-control-pill_label--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));cursor:pointer;display:flex;font-family:var(--now-pill--font-family,var(--now-form-control-pill--font-family,var(--now-form-control--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-style:var(--now-pill--font-style,var(--now-form-control-pill--font-style,var(--now-form-control--font-style,normal)));font-weight:var(--now-pill--font-weight,var(--now-form-control-pill--font-weight,var(--now-form-control--font-weight,normal)));inline-size:100%;justify-content:center;margin:0;padding-block:0;text-transform:var(--now-pill--text-transform,var(--now-form-control-pill--text-transform,var(--now-form-control--text-transform,none)))}.now-pill-button:not(.is-disabled).has-hover,.now-pill-button:not(.is-disabled):hover{background-color:RGB(var(--now-pill--background-color--hover,var(--now-form-control-pill--background-color--hover,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))));border-color:RGB(var(--now-pill--border-color--hover,var(--now-form-control-pill--border-color--hover,var(--now-form-control-pill--border-color,var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181))))));color:RGB(var(--now-pill--color--hover,var(--now-form-control-pill_label--color--hover,var(--now-color--primary-1,30,133,109))))}.now-pill-button:not(.is-disabled).has-hover .now-pill-identifier,.now-pill-button:not(.is-disabled):hover .now-pill-identifier{background-color:RGB(var(--now-pill_identifier--background-color--hover,var(--now-form-control-pill_identifier--background-color--hover,var(--now-form-control-pill--background-color--hover,var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247))))));border-color:RGB(var(--now-pill_identifier--border-color--hover,var(--now-form-control-pill_identifier--border-color--hover,var(--now-form-control-pill_identifier--border-color,var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181))))));color:RGB(var(--now-pill_identifier--color--hover,var(--now-form-control-pill_identifier_icon--color--hover,var(--now-color--primary-1,30,133,109))))}.now-pill-button:not(.is-disabled):active{background-color:RGB(var(--now-pill--background-color--active,var(--now-form-control-pill--background-color--active,var(--now-color--primary-0,221,237,233))));border-color:RGB(var(--now-pill--border-color--active,var(--now-form-control-pill--border-color--active,var(--now-color--primary-1,30,133,109))));color:RGB(var(--now-pill--color--active,var(--now-form-control-pill_label--color--active,var(--now-color--primary-2,23,100,82))))}.now-pill-button:not(.is-disabled):active .now-pill-identifier{background-color:RGB(var(--now-pill_identifier--background-color--active,var(--now-form-control-pill_identifier--background-color--active,var(--now-form-control-pill--background-color--active,var(--now-color--primary-0,221,237,233)))));border-color:RGB(var(--now-pill_identifier--border-color--active,var(--now-form-control-pill_identifier--border-color--active,var(--now-color--primary-1,30,133,109))));color:RGB(var(--now-pill_identifier--color--active,var(--now-form-control-pill_identifier_icon--color--active,var(--now-color--primary-2,23,100,82))))}.now-pill-button.is-disabled{cursor:not-allowed;opacity:var(--now-button--opacity--disabled,var(--now-actionable--contained--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25))))}.now-pill-button.is-disabled:hover{box-shadow:none}.now-pill-button.is-disabled:focus::-moz-focus-inner{border-style:none}.now-pill-button.is-disabled:focus:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.now-pill-button.is-disabled:focus:focus{outline:1px solid highlight}}.now-typeahead-pill:focus .now-pill-button{outline:none}.now-typeahead-pill:focus .now-pill-button:after{block-size:100%;border-radius:inherit;box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));content:\\\"\\\";inline-size:100%;inset-block-start:0;inset-inline-start:0;pointer-events:none;position:absolute}.now-typeahead-pill:focus .now-pill-button::-moz-focus-inner{border-style:none}@media(forced-colors:active){.now-typeahead-pill:focus .now-pill-button:not(.is-disabled){background-color:highlighttext;border-color:highlight}.now-typeahead-pill:focus .now-pill-button:not(.is-disabled) .now-pill-identifier{background-color:highlighttext;border-color:highlight;color:highlight}.now-typeahead-pill:focus .now-pill-button:not(.is-disabled) .now-pill-label{color:highlight}}.now-pill.-xs .now-pill-button{block-size:1.125rem;border-radius:.5625rem;font-size:var(--now-form-control_value--font-size--xs,var(--now-font-size--xs,.625rem));line-height:1.2;padding-inline:.5rem}.now-pill.-xs .now-pill-button.show-identifier{-webkit-padding-start:0;padding-inline-start:0}.now-pill.-xs .now-pill-button .now-line-height-crop{display:block}.now-pill.-xs .now-pill-button .now-line-height-crop:after,.now-pill.-xs .now-pill-button .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-pill.-xs .now-pill-button .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*.96);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*.96)}.now-pill.-xs .now-pill-button .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*.96);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*.96)}.now-pill.-xs .now-pill-button .now-line-height-crop+.now-pill.-xs .now-pill-button .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*.96*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*.96*-1)}.now-pill.-sm .now-pill-button{block-size:1.5rem;border-radius:.75rem;font-size:var(--now-form-control_value--font-size--sm,var(--now-font-size--sm,.75rem));line-height:1.3333;padding-inline:.5rem}.now-pill.-sm .now-pill-button.show-identifier{-webkit-padding-start:0;padding-inline-start:0}.now-pill.-sm .now-pill-button .now-line-height-crop{display:block}.now-pill.-sm .now-pill-button .now-line-height-crop:after,.now-pill.-sm .now-pill-button .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-pill.-sm .now-pill-button .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-pill.-sm .now-pill-button .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-pill.-sm .now-pill-button .now-line-height-crop+.now-pill.-sm .now-pill-button .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-pill-button-iconic{--now-button-iconic--bare_tertiary--background-color-alpha--hover:0;--now-button-iconic--bare_tertiary--background-color-alpha--active:0;--now-button-iconic--bare_tertiary--color:var(--now-pill_button-iconic--color,var(--now-form-control-pill_action_icon--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))));--now-button-iconic--bare_tertiary--color--hover:var(--now-pill_button-iconic--color--hover,var(--now-form-control-pill_action_icon--color--hover,var(--now-color--primary-1,30,133,109)));--now-button-iconic--bare_tertiary--color--active:var(--now-pill_button-iconic--color--active,var(--now-form-control-pill_action_icon--color--active,var(--now-color--primary-2,23,100,82)))}.is-selected .now-pill-button-iconic{--now-button-iconic--bare_tertiary--color:var(--now-pill_button-iconic--color--selected,var(--now-form-control-pill_action_icon--color--selected,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255))))}.is-selected .now-pill-button-iconic:hover{--now-button-iconic--bare_tertiary--color--hover:var(--now-pill_button-iconic--color--selected_hover,var(--now-form-control-pill_action_icon--color--selected_hover,var(--now-form-control-pill_action_icon--color--selected,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.is-selected .now-pill-button-iconic:active{--now-button-iconic--bare_tertiary--color--active:var(--now-pill_button-iconic--color--selected_active,var(--now-form-control-pill_action_icon--color--selected_active,var(--now-form-control-pill_action_icon--color--selected,var(--now-color_text--primary-actionable,var(--now-color--neutral-0,255,255,255)))))}.is-selected .now-pill-button-iconic:focus-within{--now-color_focus-ring:var(--now-color--neutral-0,255,255,255)}@media(forced-colors:active){.now-pill-button-iconic,:hover .now-pill-button-iconic{color:buttontext}:focus .now-pill-button-iconic,:not(.is-disabled) .now-pill-button-iconic:hover{color:highlight}}.now-pill-identifier{align-items:center;background-color:RGB(var(--now-pill_identifier--background-color,var(--now-form-control-pill_identifier--background-color,var(--now-form-control-pill--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))))));border-color:RGB(var(--now-pill_identifier--border-color,var(--now-form-control-pill_identifier--border-color,var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)))));border-style:solid;border-width:var(--now-pill--border-width,var(--now-form-control-pill--border-width,1px));color:RGB(var(--now-pill_identifier--color,var(--now-form-control-pill_identifier_icon--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))));display:flex;flex-shrink:0;justify-content:center;margin-block:calc(var(--now-pill--border-width, var(--now-form-control-pill--border-width, 1px))*-1);margin-inline:calc(var(--now-pill--border-width, var(--now-form-control-pill--border-width, 1px))*-1) .25rem}.now-pill.-xs .now-pill-identifier{block-size:1.125rem;border-radius:.5625rem;inline-size:1.125rem}.now-pill.-sm .now-pill-identifier{block-size:1.5rem;border-radius:.75rem;inline-size:1.5rem}.is-selected .now-pill-identifier{background-color:RGB(var(--now-pill_identifier--background-color--selected,var(--now-form-control-pill_identifier--background-color--selected,var(--now-color--primary-0,221,237,233))));border-color:RGB(var(--now-pill_identifier--border-color--selected,var(--now-form-control-pill_identifier--border-color--selected,var(--now-color--primary-1,30,133,109))));color:RGB(var(--now-pill_identifier--color--selected,var(--now-form-control-pill_identifier_icon--color--selected,var(--now-color--primary-2,23,100,82))))}.-xs .now-pill-icon{transform:scale(.75)}.now-pill-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-pill-label:after{content:\\\"\\\";display:block}@media(forced-colors:active){.now-pill-button,.now-pill-identifier,.now-pill-label-wrapper.-button{background-color:buttonface;border-color:buttonborder;border-style:solid;border-width:1px}.now-pill-identifier{background-color:buttonface}.now-pill-label{forced-color-adjust:none}.now-pill-button:not(.is-disabled) .now-pill-label,.now-pill-label-wrapper.-button:not(.is-disabled) .now-pill-label{color:buttontext}.now-pill-button:not(.is-disabled).has-hover .now-pill-identifier,.now-pill-label-wrapper.-button:not(.is-disabled).has-hover .now-pill-identifier{background-color:buttonface}.now-pill-button:not(.is-disabled):focus,.now-pill-button:not(.is-disabled):hover,.now-pill-label-wrapper.-button:not(.is-disabled):focus,.now-pill-label-wrapper.-button:not(.is-disabled):hover{background-color:highlighttext;border-color:highlight}.now-pill-button:not(.is-disabled):focus .now-pill-identifier,.now-pill-button:not(.is-disabled):hover .now-pill-identifier,.now-pill-label-wrapper.-button:not(.is-disabled):focus .now-pill-identifier,.now-pill-label-wrapper.-button:not(.is-disabled):hover .now-pill-identifier{background-color:highlighttext;border-color:highlight;color:highlight}.now-pill-button:not(.is-disabled):focus .now-pill-label,.now-pill-button:not(.is-disabled):hover .now-pill-label,.now-pill-label-wrapper.-button:not(.is-disabled):focus .now-pill-label,.now-pill-label-wrapper.-button:not(.is-disabled):hover .now-pill-label{color:highlight}.is-selected .now-pill-button:not(.is-disabled),.is-selected .now-pill-label-wrapper.-button:not(.is-disabled){background-color:selecteditem}.is-selected .now-pill-button:not(.is-disabled) .now-pill-identifier,.is-selected .now-pill-label-wrapper.-button:not(.is-disabled) .now-pill-identifier{background-color:selecteditem;border-color:buttonborder;color:selecteditemtext}.is-selected .now-pill-button:not(.is-disabled) .now-pill-label,.is-selected .now-pill-label-wrapper.-button:not(.is-disabled) .now-pill-label{color:selecteditemtext}.is-selected .now-pill-button:not(.is-disabled).has-hover .now-pill-identifier,.is-selected .now-pill-label-wrapper.-button:not(.is-disabled).has-hover .now-pill-identifier{border-color:selecteditemtext}.is-selected .now-pill-button:not(.is-disabled).has-hover,.is-selected .now-pill-button:not(.is-disabled):focus,.is-selected .now-pill-button:not(.is-disabled):hover,.is-selected .now-pill-label-wrapper.-button:not(.is-disabled).has-hover,.is-selected .now-pill-label-wrapper.-button:not(.is-disabled):focus,.is-selected .now-pill-label-wrapper.-button:not(.is-disabled):hover{background-color:selecteditem}.is-selected .now-pill-button:not(.is-disabled).has-hover .now-pill-identifier,.is-selected .now-pill-button:not(.is-disabled):focus .now-pill-identifier,.is-selected .now-pill-button:not(.is-disabled):hover .now-pill-identifier,.is-selected .now-pill-label-wrapper.-button:not(.is-disabled).has-hover .now-pill-identifier,.is-selected .now-pill-label-wrapper.-button:not(.is-disabled):focus .now-pill-identifier,.is-selected .now-pill-label-wrapper.-button:not(.is-disabled):hover .now-pill-identifier{background-color:selecteditem;border-color:buttonborder;color:selecteditemtext}.is-selected .now-pill-button:not(.is-disabled):focus,.is-selected .now-pill-button:not(.is-disabled):focus .now-pill-identifier,.is-selected .now-pill-button:not(.is-disabled):hover,.is-selected .now-pill-button:not(.is-disabled):hover .now-pill-identifier,.is-selected .now-pill-label-wrapper.-button:not(.is-disabled):focus,.is-selected .now-pill-label-wrapper.-button:not(.is-disabled):focus .now-pill-identifier,.is-selected .now-pill-label-wrapper.-button:not(.is-disabled):hover,.is-selected .now-pill-label-wrapper.-button:not(.is-disabled):hover .now-pill-identifier{border-color:highlight}.now-pill-button.is-disabled,.now-pill-label-wrapper.-button.is-disabled{color:graytext;opacity:1}.is-selected .now-pill-button.is-disabled,.is-selected .now-pill-button.is-disabled .now-pill-identifier,.is-selected .now-pill-label-wrapper.-button.is-disabled,.is-selected .now-pill-label-wrapper.-button.is-disabled .now-pill-identifier{background-color:graytext;color:buttonface}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:block;width:0}.badge-count-overlay{align-items:center;border:2px solid #032d42;border-radius:12px;display:flex;justify-content:center;padding:0 6px;position:relative;top:-5px}:host(:not([dir=rtl])) .badge-count-overlay,:root:not([dir=rtl]) .badge-count-overlay{left:-9px}:host([dir=rtl]) .badge-count-overlay,:root[dir=rtl] .badge-count-overlay{left:11px}.icon-notification-overlay{align-items:center;border-radius:12px;justify-content:center;padding:0 6px;position:relative;top:-8px}:host(:not([dir=rtl])) .icon-notification-overlay,:root:not([dir=rtl]) .icon-notification-overlay{left:-15px}:host([dir=rtl]) .icon-notification-overlay,:root[dir=rtl] .icon-notification-overlay{right:15px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:var(--now-font-size--md1,1rem)}.now-heading--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-heading--xl{font-size:var(--now-font-size--xl,2.5rem)}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:var(--now-font-size--sm,.75rem)}.now-text--md{font-size:var(--now-font-size--md1,1rem)}.now-text--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.now-m-block--xxs{-webkit-margin-before:.125rem;-webkit-margin-after:.125rem;margin-block-end:.125rem;margin-block-start:.125rem}.now-m-block-start--xxs{-webkit-margin-before:.125rem;margin-block-start:.125rem}.now-m-block-end--xxs{-webkit-margin-after:.125rem;margin-block-end:.125rem}.now-m-inline--xxs{-webkit-margin-start:.125rem;-webkit-margin-end:.125rem;margin-inline-end:.125rem;margin-inline-start:.125rem}.now-m-inline-start--xxs{-webkit-margin-start:.125rem;margin-inline-start:.125rem}.now-m-inline-end--xxs{-webkit-margin-end:.125rem;margin-inline-end:.125rem}.now-m-block--xs{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-block-start:.25rem}.now-m-block-start--xs{-webkit-margin-before:.25rem;margin-block-start:.25rem}.now-m-block-end--xs{-webkit-margin-after:.25rem;margin-block-end:.25rem}.now-m-inline--xs{-webkit-margin-start:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem;margin-inline-start:.25rem}.now-m-inline-start--xs{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-m-inline-end--xs{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-m-block--sm{-webkit-margin-before:.5rem;-webkit-margin-after:.5rem;margin-block-end:.5rem;margin-block-start:.5rem}.now-m-block-start--sm{-webkit-margin-before:.5rem;margin-block-start:.5rem}.now-m-block-end--sm{-webkit-margin-after:.5rem;margin-block-end:.5rem}.now-m-inline--sm{-webkit-margin-start:.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem;margin-inline-start:.5rem}.now-m-inline-start--sm{-webkit-margin-start:.5rem;margin-inline-start:.5rem}.now-m-inline-end--sm{-webkit-margin-end:.5rem;margin-inline-end:.5rem}.now-m-block--md{-webkit-margin-before:.75rem;-webkit-margin-after:.75rem;margin-block-end:.75rem;margin-block-start:.75rem}.now-m-block-start--md{-webkit-margin-before:.75rem;margin-block-start:.75rem}.now-m-block-end--md{-webkit-margin-after:.75rem;margin-block-end:.75rem}.now-m-inline--md{-webkit-margin-start:.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;margin-inline-start:.75rem}.now-m-inline-start--md{-webkit-margin-start:.75rem;margin-inline-start:.75rem}.now-m-inline-end--md{-webkit-margin-end:.75rem;margin-inline-end:.75rem}.now-m-block--lg{-webkit-margin-before:1rem;-webkit-margin-after:1rem;margin-block-end:1rem;margin-block-start:1rem}.now-m-block-start--lg{-webkit-margin-before:1rem;margin-block-start:1rem}.now-m-block-end--lg{-webkit-margin-after:1rem;margin-block-end:1rem}.now-m-inline--lg{-webkit-margin-start:1rem;-webkit-margin-end:1rem;margin-inline-end:1rem;margin-inline-start:1rem}.now-m-inline-start--lg{-webkit-margin-start:1rem;margin-inline-start:1rem}.now-m-inline-end--lg{-webkit-margin-end:1rem;margin-inline-end:1rem}.now-m-block--xl{-webkit-margin-before:1.5rem;-webkit-margin-after:1.5rem;margin-block-end:1.5rem;margin-block-start:1.5rem}.now-m-block-start--xl{-webkit-margin-before:1.5rem;margin-block-start:1.5rem}.now-m-block-end--xl{-webkit-margin-after:1.5rem;margin-block-end:1.5rem}.now-m-inline--xl{-webkit-margin-start:1.5rem;-webkit-margin-end:1.5rem;margin-inline-end:1.5rem;margin-inline-start:1.5rem}.now-m-inline-start--xl{-webkit-margin-start:1.5rem;margin-inline-start:1.5rem}.now-m-inline-end--xl{-webkit-margin-end:1.5rem;margin-inline-end:1.5rem}.now-m-block--xxl{-webkit-margin-before:2rem;-webkit-margin-after:2rem;margin-block-end:2rem;margin-block-start:2rem}.now-m-block-start--xxl{-webkit-margin-before:2rem;margin-block-start:2rem}.now-m-block-end--xxl{-webkit-margin-after:2rem;margin-block-end:2rem}.now-m-inline--xxl{-webkit-margin-start:2rem;-webkit-margin-end:2rem;margin-inline-end:2rem;margin-inline-start:2rem}.now-m-inline-start--xxl{-webkit-margin-start:2rem;margin-inline-start:2rem}.now-m-inline-end--xxl{-webkit-margin-end:2rem;margin-inline-end:2rem}.now-m-block--3xl{-webkit-margin-before:2.5rem;-webkit-margin-after:2.5rem;margin-block-end:2.5rem;margin-block-start:2.5rem}.now-m-block-start--3xl{-webkit-margin-before:2.5rem;margin-block-start:2.5rem}.now-m-block-end--3xl{-webkit-margin-after:2.5rem;margin-block-end:2.5rem}.now-m-inline--3xl{-webkit-margin-start:2.5rem;-webkit-margin-end:2.5rem;margin-inline-end:2.5rem;margin-inline-start:2.5rem}.now-m-inline-start--3xl{-webkit-margin-start:2.5rem;margin-inline-start:2.5rem}.now-m-inline-end--3xl{-webkit-margin-end:2.5rem;margin-inline-end:2.5rem}.now-m-block--0{-webkit-margin-before:0;-webkit-margin-after:0;margin-block-end:0;margin-block-start:0}.now-m-block-start--0{-webkit-margin-before:0;margin-block-start:0}.now-m-block-end--0{-webkit-margin-after:0;margin-block-end:0}.now-m-inline--0{-webkit-margin-start:0;-webkit-margin-end:0;margin-inline-end:0;margin-inline-start:0}.now-m-inline-start--0{-webkit-margin-start:0;margin-inline-start:0}.now-m-inline-end--0{-webkit-margin-end:0;margin-inline-end:0}.now-p-block--xxs{-webkit-padding-before:.125rem;-webkit-padding-after:.125rem;padding-block-end:.125rem;padding-block-start:.125rem}.now-p-block-start--xxs{-webkit-padding-before:.125rem;padding-block-start:.125rem}.now-p-block-end--xxs{-webkit-padding-after:.125rem;padding-block-end:.125rem}.now-p-inline--xxs{-webkit-padding-start:.125rem;-webkit-padding-end:.125rem;padding-inline-end:.125rem;padding-inline-start:.125rem}.now-p-inline-start--xxs{-webkit-padding-start:.125rem;padding-inline-start:.125rem}.now-p-inline-end--xxs{-webkit-padding-end:.125rem;padding-inline-end:.125rem}.now-p-block--xs{-webkit-padding-before:.25rem;-webkit-padding-after:.25rem;padding-block-end:.25rem;padding-block-start:.25rem}.now-p-block-start--xs{-webkit-padding-before:.25rem;padding-block-start:.25rem}.now-p-block-end--xs{-webkit-padding-after:.25rem;padding-block-end:.25rem}.now-p-inline--xs{-webkit-padding-start:.25rem;-webkit-padding-end:.25rem;padding-inline-end:.25rem;padding-inline-start:.25rem}.now-p-inline-start--xs{-webkit-padding-start:.25rem;padding-inline-start:.25rem}.now-p-inline-end--xs{-webkit-padding-end:.25rem;padding-inline-end:.25rem}.now-p-block--sm{-webkit-padding-before:.5rem;-webkit-padding-after:.5rem;padding-block-end:.5rem;padding-block-start:.5rem}.now-p-block-start--sm{-webkit-padding-before:.5rem;padding-block-start:.5rem}.now-p-block-end--sm{-webkit-padding-after:.5rem;padding-block-end:.5rem}.now-p-inline--sm{-webkit-padding-start:.5rem;-webkit-padding-end:.5rem;padding-inline-end:.5rem;padding-inline-start:.5rem}.now-p-inline-start--sm{-webkit-padding-start:.5rem;padding-inline-start:.5rem}.now-p-inline-end--sm{-webkit-padding-end:.5rem;padding-inline-end:.5rem}.now-p-block--md{-webkit-padding-before:.75rem;-webkit-padding-after:.75rem;padding-block-end:.75rem;padding-block-start:.75rem}.now-p-block-start--md{-webkit-padding-before:.75rem;padding-block-start:.75rem}.now-p-block-end--md{-webkit-padding-after:.75rem;padding-block-end:.75rem}.now-p-inline--md{-webkit-padding-start:.75rem;-webkit-padding-end:.75rem;padding-inline-end:.75rem;padding-inline-start:.75rem}.now-p-inline-start--md{-webkit-padding-start:.75rem;padding-inline-start:.75rem}.now-p-inline-end--md{-webkit-padding-end:.75rem;padding-inline-end:.75rem}.now-p-block--lg{-webkit-padding-before:1rem;-webkit-padding-after:1rem;padding-block-end:1rem;padding-block-start:1rem}.now-p-block-start--lg{-webkit-padding-before:1rem;padding-block-start:1rem}.now-p-block-end--lg{-webkit-padding-after:1rem;padding-block-end:1rem}.now-p-inline--lg{-webkit-padding-start:1rem;-webkit-padding-end:1rem;padding-inline-end:1rem;padding-inline-start:1rem}.now-p-inline-start--lg{-webkit-padding-start:1rem;padding-inline-start:1rem}.now-p-inline-end--lg{-webkit-padding-end:1rem;padding-inline-end:1rem}.now-p-block--xl{-webkit-padding-before:1.5rem;-webkit-padding-after:1.5rem;padding-block-end:1.5rem;padding-block-start:1.5rem}.now-p-block-start--xl{-webkit-padding-before:1.5rem;padding-block-start:1.5rem}.now-p-block-end--xl{-webkit-padding-after:1.5rem;padding-block-end:1.5rem}.now-p-inline--xl{-webkit-padding-start:1.5rem;-webkit-padding-end:1.5rem;padding-inline-end:1.5rem;padding-inline-start:1.5rem}.now-p-inline-start--xl{-webkit-padding-start:1.5rem;padding-inline-start:1.5rem}.now-p-inline-end--xl{-webkit-padding-end:1.5rem;padding-inline-end:1.5rem}.now-p-block--xxl{-webkit-padding-before:2rem;-webkit-padding-after:2rem;padding-block-end:2rem;padding-block-start:2rem}.now-p-block-start--xxl{-webkit-padding-before:2rem;padding-block-start:2rem}.now-p-block-end--xxl{-webkit-padding-after:2rem;padding-block-end:2rem}.now-p-inline--xxl{-webkit-padding-start:2rem;-webkit-padding-end:2rem;padding-inline-end:2rem;padding-inline-start:2rem}.now-p-inline-start--xxl{-webkit-padding-start:2rem;padding-inline-start:2rem}.now-p-inline-end--xxl{-webkit-padding-end:2rem;padding-inline-end:2rem}.now-p-block--3xl{-webkit-padding-before:2.5rem;-webkit-padding-after:2.5rem;padding-block-end:2.5rem;padding-block-start:2.5rem}.now-p-block-start--3xl{-webkit-padding-before:2.5rem;padding-block-start:2.5rem}.now-p-block-end--3xl{-webkit-padding-after:2.5rem;padding-block-end:2.5rem}.now-p-inline--3xl{-webkit-padding-start:2.5rem;-webkit-padding-end:2.5rem;padding-inline-end:2.5rem;padding-inline-start:2.5rem}.now-p-inline-start--3xl{-webkit-padding-start:2.5rem;padding-inline-start:2.5rem}.now-p-inline-end--3xl{-webkit-padding-end:2.5rem;padding-inline-end:2.5rem}.now-p-block--0{-webkit-padding-before:0;-webkit-padding-after:0;padding-block-end:0;padding-block-start:0}.now-p-block-start--0{-webkit-padding-before:0;padding-block-start:0}.now-p-block-end--0{-webkit-padding-after:0;padding-block-end:0}.now-p-inline--0{-webkit-padding-start:0;-webkit-padding-end:0;padding-inline-end:0;padding-inline-start:0}.now-p-inline-start--0{-webkit-padding-start:0;padding-inline-start:0}.now-p-inline-end--0{-webkit-padding-end:0;padding-inline-end:0}:host{--now-font-family-sn-sans:\\\"ServiceNow Sans\\\",system-ui,-apple-system,\\\"Segoe UI\\\",Roboto,Arial,sans-serif;--now-font-family-sn-sans-mono:\\\"ServiceNow Sans Mono\\\",ui-monospace,SFMono-Regular,Menlo,Consolas,\\\"Liberation Mono\\\",monospace;--now-color_focus-ring:62,170,43;--now-indicator--border-radius:12px;--now-badge--primary_green--background-color:99,223,78;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:block}.sn-cx-navigation{display:flex;flex-direction:column;flex-shrink:0;position:relative;width:100%}.sn-cx-navigation__primary-menu{align-items:center;background:#032d42;display:flex;height:3rem;justify-content:space-between;padding:0 .5rem;width:100%}@media(min-width:576px){.sn-cx-navigation__primary-menu{padding:0 1rem}}@media(min-width:768px){.sn-cx-navigation__primary-menu{height:4rem;padding:0 1.5rem}}@media(min-width:1024px){.sn-cx-navigation__primary-menu{border-bottom:1px solid var(--Brand-Blue-Tints-Brand-Blue-800,#1b4459)}}@media(min-width:1366px){.sn-cx-navigation__primary-menu{padding:0 2.5rem}}@media(min-width:1680px){.sn-cx-navigation__primary-menu{padding:0 3rem}}.sn-cx-navigation__logo-links{align-items:center;display:flex;gap:3rem}.sn-cx-navigation__logo-wrapper{align-items:flex-start;display:flex;height:1.625rem;padding:0 0 .25rem .5rem;width:2rem}@media(min-width:576px){.sn-cx-navigation__logo-wrapper{width:9rem}}@media(min-width:1024px){.sn-cx-navigation__logo-wrapper{padding:0}}.sn-cx-navigation__logo{color:inherit;text-decoration:none}.sn-cx-navigation__logo:focus-visible{outline:.125rem solid var(--arc-color-ui-focus,#3eaa2b)}.sn-cx-navigation__logo.primary{color:var(--arc-color-white,#fff)}.sn-cx-navigation__logo img{height:auto;width:auto}.sn-cx-navigation__primary-menu-wrapper{align-items:stretch;align-items:flex-start;background:linear-gradient(350deg,rgba(58,229,169,0) 0,rgba(56,201,163,.09) 19.88%,rgba(35,194,206,.06) 35.78%,rgba(35,194,206,0) 63.6%,rgba(35,194,206,0) 99.38%),var(--arc-color-infiniteblue,#032d42);display:flex;flex-direction:column;flex-shrink:0;height:calc(var(--now-sn-cx-navigation--full-screen-height, 100vh) - var(--now-sn-cx-navigation--megamenu-overlay--top, 48px));margin:0;opacity:0;padding:16px 0 0 0;pointer-events:none;position:absolute;top:3rem;transform:translateX(100%);width:0}@media(min-width:320px)and (max-width:1365px){:host([dir=rtl]) .sn-cx-navigation__primary-menu-wrapper:not(.--mobile-active),:root[dir=rtl] .sn-cx-navigation__primary-menu-wrapper:not(.--mobile-active){transform:translateX(-100%)}.sn-cx-navigation__primary-menu-wrapper.--mobile-active{height:100vh;opacity:1;overflow:auto;pointer-events:auto;right:0;transform:translateX(0);transition:transform .2s ease,opacity .3s linear;width:100%;z-index:2}.sn-cx-navigation__primary-menu-wrapper.--mobile-active:has(.-is-open){top:0}}@media(min-width:320px)and (max-width:1365px)and (min-width:320px)and (max-width:767px){.sn-cx-navigation__primary-menu-wrapper.--mobile-active:has(.--active){top:0}}@media(min-width:320px)and (max-width:1365px){.sn-cx-navigation__primary-menu-wrapper.--mobile-active.--hide-inactive-tabs{height:3rem;min-height:unset;padding:0;width:100%;z-index:1100}.sn-cx-navigation__primary-menu-wrapper.--mobile-active.--hide-inactive-tabs .sn-cx-navigation__primary-menu-item{border:none;display:none}.sn-cx-navigation__primary-menu-wrapper.--mobile-active.--hide-inactive-tabs .sn-cx-navigation__primary-menu-item.--active{background:var(--arc-color-infiniteblue,#032d42);display:flex;height:3rem}}@media(min-width:320px)and (max-width:1365px)and (min-width:768px){.sn-cx-navigation__primary-menu-wrapper.--mobile-active.--hide-inactive-tabs .sn-cx-navigation__primary-menu-item.--active{border:none;height:4rem}}@media(min-width:320px)and (max-width:1365px)and (min-width:1024px){.sn-cx-navigation__primary-menu-wrapper.--mobile-active.--hide-inactive-tabs .sn-cx-navigation__primary-menu-item.--active{border-bottom:1px solid var(--Brand-Blue-Tints-Brand-Blue-800,#1b4459);height:3rem}}@media(min-width:320px)and (max-width:1365px){.sn-cx-navigation__primary-menu-wrapper.--mobile-active.--hide-inactive-tabs .sn-cx-navigation__primary-menu-item.--active .sn-cx-navigation__primary-menu-button{flex-direction:row-reverse;padding:0 8px;pointer-events:none}}@media(min-width:320px)and (max-width:1365px)and (min-width:1024px){.sn-cx-navigation__primary-menu-wrapper.--mobile-active.--hide-inactive-tabs .sn-cx-navigation__primary-menu-item.--active .sn-cx-navigation__primary-menu-button{padding:16px 32px 16px 32px}}@media(min-width:320px)and (max-width:1365px){.sn-cx-navigation__primary-menu-wrapper.--mobile-active.--hide-inactive-tabs .sn-cx-navigation__primary-menu-item.--active .sn-cx-navigation__primary-menu-button .sn-cx-navigation__primary-menu-text{width:100%}:host(:not([dir=rtl])) .sn-cx-navigation__primary-menu-wrapper.--mobile-active.--hide-inactive-tabs .sn-cx-navigation__primary-menu-item.--active .sn-cx-navigation__primary-menu-button .sn-cx-navigation__primary-menu-text,:root:not([dir=rtl]) .sn-cx-navigation__primary-menu-wrapper.--mobile-active.--hide-inactive-tabs .sn-cx-navigation__primary-menu-item.--active .sn-cx-navigation__primary-menu-button .sn-cx-navigation__primary-menu-text{margin-left:-40px}:host([dir=rtl]) .sn-cx-navigation__primary-menu-wrapper.--mobile-active.--hide-inactive-tabs .sn-cx-navigation__primary-menu-item.--active .sn-cx-navigation__primary-menu-button .sn-cx-navigation__primary-menu-text,:root[dir=rtl] .sn-cx-navigation__primary-menu-wrapper.--mobile-active.--hide-inactive-tabs .sn-cx-navigation__primary-menu-item.--active .sn-cx-navigation__primary-menu-button .sn-cx-navigation__primary-menu-text{margin-right:-40px}.sn-cx-navigation__primary-menu-wrapper.--mobile-active.--hide-inactive-tabs .sn-cx-navigation__primary-menu-item.--active .sn-cx-navigation__primary-menu-button .sn-cx-navigation__primary-menu-icon__mobile{border:2px solid transparent;border-radius:50%;cursor:pointer;display:flex;height:2.5rem;justify-content:center;padding:0;pointer-events:auto;transition:background-color .2s ease-in-out;width:2.5rem}.sn-cx-navigation__primary-menu-wrapper.--mobile-active.--hide-inactive-tabs .sn-cx-navigation__primary-menu-item.--active .sn-cx-navigation__primary-menu-button .sn-cx-navigation__primary-menu-icon__mobile:hover{background-color:hsla(0,0%,100%,.1)}.sn-cx-navigation__primary-menu-wrapper.--mobile-active.--hide-inactive-tabs .sn-cx-navigation__primary-menu-item.--active .sn-cx-navigation__primary-menu-button .sn-cx-navigation__primary-menu-icon__mobile:focus-visible{border-color:var(--arc-color-ui-focus,#3eaa2b)}.sn-cx-navigation__primary-menu-wrapper.--mobile-active.--hide-inactive-tabs .sn-cx-navigation__divider,.sn-cx-navigation__primary-menu-wrapper.--mobile-active.--hide-inactive-tabs .sn-cx-navigation__utility-wrapper-mobile{display:none}}.sn-cx-navigation__primary-menu-wrapper.--hide-inactive-tabs{top:3rem}@media(min-width:768px){.sn-cx-navigation__primary-menu-wrapper{padding:0;top:4rem}.sn-cx-navigation__primary-menu-wrapper.--hide-inactive-tabs{height:4rem!important;top:0}}@media(min-width:1024px)and (max-width:1365px){.sn-cx-navigation__primary-menu-wrapper.--mobile-active{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:48px;padding:48px 0 64px 0;width:496px}:host([dir=rtl]) .sn-cx-navigation__primary-menu-wrapper.--mobile-active,:root[dir=rtl] .sn-cx-navigation__primary-menu-wrapper.--mobile-active{left:0;right:unset}}@media(min-width:1024px)and (max-width:1365px)and (min-width:1366px){.sn-cx-navigation__primary-menu-wrapper.--mobile-active{padding:0;width:unset}}@media(min-width:1024px)and (max-width:1365px){.sn-cx-navigation__primary-menu-wrapper.--hide-inactive-tabs{height:48px!important;top:4rem}}@media(min-width:1366px){.sn-cx-navigation__primary-menu-wrapper{align-items:center;align-self:stretch;background:unset;display:flex;flex-direction:row;height:4rem!important;margin:0;opacity:1;padding:0;pointer-events:auto;position:absolute;position:unset;transform:translateX(0);width:unset}.sn-cx-navigation__primary-menu-wrapper.--hide-inactive-tabs{height:4rem!important}}.sn-cx-navigation__primary-menu-wrapper .sn-cx-navigation__divider{margin:16px 0;padding:0 16px}@media(min-width:576px){.sn-cx-navigation__primary-menu-wrapper .sn-cx-navigation__divider{padding:0 24px}}@media(min-width:768px){.sn-cx-navigation__primary-menu-wrapper .sn-cx-navigation__divider{display:none}}.sn-cx-navigation__primary-menu-overlay{background:rgba(18,77,107,.9);bottom:0;cursor:pointer;display:none;height:100vh;left:0;opacity:.9;position:absolute;right:0;top:4rem;z-index:1}@media(min-width:1024px)and (max-width:1365px){.sn-cx-navigation__primary-menu-overlay{display:block}.sn-cx-navigation__primary-menu-overlay.--hide-inactive-tabs{display:none}}.sn-cx-navigation__primary-menu-list{display:flex;flex-direction:column;list-style:none;margin:0;padding:0;width:100%}@media(min-width:1024px){.sn-cx-navigation__primary-menu-list{gap:.5rem}}@media(min-width:1366px){.sn-cx-navigation__primary-menu-list{align-items:center;align-self:stretch;display:flex;flex-direction:row;gap:1.5rem;pointer-events:auto}}.sn-cx-navigation__primary-menu-item{align-items:center;align-self:stretch;display:flex}@media(min-width:1024px){.sn-cx-navigation__primary-menu-item.--hover .sn-cx-navigation__primary-menu-button{background-color:hsla(0,0%,100%,.08);border-radius:2px}}.sn-cx-navigation__primary-menu-item .sn-cx-navigation__primary-menu-icon__mobile{outline:none}@media(min-width:1366px){.sn-cx-navigation__primary-menu-item{align-items:center;align-self:stretch;display:flex;flex-direction:column;gap:unset;justify-content:flex-end;padding:unset;position:relative}.sn-cx-navigation__primary-menu-item.--active .sn-cx-navigation__primary-menu-text,.sn-cx-navigation__primary-menu-item.--hover .sn-cx-navigation__primary-menu-text{color:var(--arc-color-white,#fff)}.sn-cx-navigation__primary-menu-item.--active .sn-cx-navigation__primary-menu-icon svg path,.sn-cx-navigation__primary-menu-item.--hover .sn-cx-navigation__primary-menu-icon svg path{fill:var(--arc-color-white,#fff)}.sn-cx-navigation__primary-menu-item.--active .sn-cx-navigation__primary-menu-button,.sn-cx-navigation__primary-menu-item.--hover .sn-cx-navigation__primary-menu-button{background-color:unset;border-radius:unset;pointer-events:unset}}.sn-cx-navigation__primary-menu-button{align-items:center;align-self:stretch;background:none;border:.125rem solid transparent;cursor:pointer;display:flex;flex:1 0 0;justify-content:space-between;padding:12px 16px}@media(min-width:576px){.sn-cx-navigation__primary-menu-button{padding:16px 24px}}@media(min-width:768px){.sn-cx-navigation__primary-menu-button{padding:16px 32px}}@media(min-width:1366px){.sn-cx-navigation__primary-menu-button{flex:1 0 0;gap:.375rem;padding:unset}}.sn-cx-navigation__primary-menu-button:focus-visible{border:.125rem solid var(--arc-color-ui-focus,#3eaa2b);outline:none}@media(min-width:320px)and (max-width:1365px){.sn-cx-navigation__primary-menu-button:focus-visible[aria-expanded]{border:none}}.sn-cx-navigation__primary-menu-text{color:var(--arc-color-text-primary-on-dark,#fff);font-family:var(--now-font-family-sn-sans);font-size:1.125rem;font-style:normal;font-weight:700;letter-spacing:-.18px;line-height:1.2375rem}@media(min-width:768px){.sn-cx-navigation__primary-menu-text{font-size:1.25rem;letter-spacing:-.2px;line-height:1.375rem}}@media(min-width:1024px){.sn-cx-navigation__primary-menu-text{font-size:1.375rem;letter-spacing:-.22px;line-height:1.5125rem}}@media(min-width:1366px){.sn-cx-navigation__primary-menu-text{color:#d7e0e6;font-family:var(--now-font-family-sn-sans);font-size:.875rem;font-style:normal;font-weight:450;letter-spacing:unset;line-height:21px}}.sn-cx-navigation__primary-menu-icon{align-items:center;color:var(--arc-color-white,#fff);display:flex;display:none;justify-content:center}.sn-cx-navigation__primary-menu-icon__mobile{align-items:center;display:flex;justify-content:center}@media(min-width:1366px){.sn-cx-navigation__primary-menu-icon{display:flex}.sn-cx-navigation__primary-menu-icon__mobile{display:none}}.sn-cx-navigation__primary-menu-item-indicator{display:none}@media(min-width:1366px){.sn-cx-navigation__primary-menu-item-indicator{bottom:0;display:block;height:.25rem;position:absolute;transform:scaleX(0);transition:transform .3s ease-in-out;width:100%}:host(:not([dir=rtl])) .sn-cx-navigation__primary-menu-item-indicator,:root:not([dir=rtl]) .sn-cx-navigation__primary-menu-item-indicator{left:0}:host([dir=rtl]) .sn-cx-navigation__primary-menu-item-indicator,:root[dir=rtl] .sn-cx-navigation__primary-menu-item-indicator{right:0}.sn-cx-navigation__primary-menu-item-indicator.--hover{background:var(--Neutral-Neutral-0,#fff);transform:scaleX(1)}.sn-cx-navigation__primary-menu-item-indicator.--hover-out{background:var(--Neutral-Neutral-0,#fff);transform:scaleX(0);transition:transform .3s ease-in-out}.sn-cx-navigation__primary-menu-item-indicator.--active{background:var(--Brand-Wasabi-Green,#63df4e);transform:scaleX(1)}}.sn-cx-navigation__utility-list-mobile{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}@media(min-width:768px){.sn-cx-navigation__utility-list-mobile{display:none}}.sn-cx-navigation__utility-item-mobile{padding:0}.sn-cx-navigation__utility-button-mobile{align-items:center;align-self:stretch;background:transparent;border:0;cursor:pointer;display:flex;gap:8px;height:48px;margin:0;padding:8px 16px;width:100%}:host(:not([dir=rtl])) .sn-cx-navigation__utility-button-mobile,:root:not([dir=rtl]) .sn-cx-navigation__utility-button-mobile{text-align:left}:host([dir=rtl]) .sn-cx-navigation__utility-button-mobile,:root[dir=rtl] .sn-cx-navigation__utility-button-mobile{text-align:right}@media(min-width:576px){.sn-cx-navigation__utility-button-mobile{padding:8px 24px}}.sn-cx-navigation__utility-title-mobile{color:var(--arc-color-text-primary-on-dark,#fff);font-family:var(--now-font-family-sn-sans);font-size:1rem;font-style:normal;font-weight:400;line-height:110%;width:100%}:host(:not([dir=rtl])) .sn-cx-navigation__utility-title-mobile,:root:not([dir=rtl]) .sn-cx-navigation__utility-title-mobile{text-align:left}:host([dir=rtl]) .sn-cx-navigation__utility-title-mobile,:root[dir=rtl] .sn-cx-navigation__utility-title-mobile{text-align:right}.sn-cx-navigation__utility-icon-mobile{align-items:center;display:flex}.sn-cx-navigation__utility-notification-badge-mobile{position:relative;top:5px}:host(:not([dir=rtl])) .sn-cx-navigation__utility-notification-badge-mobile,:root:not([dir=rtl]) .sn-cx-navigation__utility-notification-badge-mobile{left:-5px}:host([dir=rtl]) .sn-cx-navigation__utility-notification-badge-mobile,:root[dir=rtl] .sn-cx-navigation__utility-notification-badge-mobile{right:-5px}.sn-cx-navigation__mobile-ctas{align-items:center;align-self:stretch;display:flex;flex-direction:column;gap:2rem;justify-content:flex-end;padding:0 1.5rem 5rem 1.5rem}@media(min-width:320px){.sn-cx-navigation__mobile-ctas .sn-cx-navigation__primary-cta-link{height:3rem;max-width:22.5rem;width:100%}}@media(min-width:576px){.sn-cx-navigation__mobile-ctas .sn-cx-navigation__primary-cta-link{width:auto}.sn-cx-navigation__mobile-ctas{flex:1}}@media(min-width:1024px){.sn-cx-navigation__mobile-ctas{flex:unset;gap:1.5rem;height:auto;padding:0 2rem}}.sn-cx-navigation__mobile-ctas .sn-cx-navigation__contact{display:flex}.sn-cx-navigation__mobile-ctas .sn-cx-navigation__contact .sn-cx-navigation__contact-list{background:none;border:none}@media(min-width:1366px){.sn-cx-navigation__mobile-ctas .sn-cx-navigation__contact{display:none}}.sn-cx-navigation__contact{align-items:center;align-self:stretch;display:none;flex-direction:column}@media(min-width:1024px){.sn-cx-navigation__contact{display:flex}}.sn-cx-navigation__contact-list{align-items:center;align-self:stretch;background:var(--arc-color-infiniteblue,#032d42);border-top:1px solid var(--Brand-Blue-Tints-Brand-Blue-800,#1b4459);display:flex;gap:24px;height:64px;justify-content:center;list-style:none;margin:0;padding:0}@media(min-width:320px)and (max-width:575px){.sn-cx-navigation__contact-list{flex-direction:column}.sn-cx-navigation__contact-list .sn-cx-navigation__contact-item-divider{display:none;height:auto}}.sn-cx-navigation__contact-label{color:#fff;font-family:var(--now-font-family-sn-sans);font-size:.875rem;font-style:normal;font-weight:400;line-height:normal}.sn-cx-navigation__contact-link{align-items:center;border-bottom:1px solid transparent;color:var(--arc-color-link-default-on-dark,#00cbe6);display:flex;justify-content:center;text-decoration:none}.sn-cx-navigation__contact-link:hover{border-bottom:1px solid var(--arc-color-link-hover-on-dark,#42e9ff);color:var(--arc-color-link-hover-on-dark,#42e9ff);text-underline-offset:3px}.sn-cx-navigation__contact-link:active{color:var(--arc-color-link-active-on-dark,#99f3ff);text-decoration:underline;text-underline-offset:3px}.sn-cx-navigation__contact-link:focus-visible{outline:.125rem solid var(--arc-color-ui-focus,#3eaa2b)}.sn-cx-navigation__contact-item{align-items:center;display:flex;gap:4px}.sn-cx-navigation__contact-item-divider{align-items:center;background:var(--Brand-Blue-Tints-Brand-Blue-800,#1b4459);display:flex;gap:48px;height:24px;width:1px}.sn-cx-navigation__contact-link-text{color:inherit;font-family:var(--now-font-family-sn-sans);font-size:.875rem;font-style:normal;font-weight:450;line-height:normal}.sn-cx-navigation__utility-wrapper-mobile{display:flex;flex:1;flex-direction:column;justify-content:space-between;width:100%}@media(min-width:1024px){.sn-cx-navigation__utility-wrapper-mobile{justify-content:flex-end}}@media(min-width:1366px){.sn-cx-navigation__utility-wrapper-mobile{display:none}}.sn-cx-navigation__utility{align-items:center;display:flex;gap:16px;justify-content:flex-end}.sn-cx-navigation__utility .sn-cx-navigation__primary-cta-link{display:none}@media(min-width:1366px){.sn-cx-navigation__utility .sn-cx-navigation__primary-cta-link{display:flex;height:2.25rem}}.sn-cx-navigation__utility .sn-cx-navigation__primary-cta-link:focus{outline:.125rem solid var(--arc-color-ui-focus,#3eaa2b)}.sn-cx-navigation__utility-list{align-items:center;display:flex;gap:1.25rem;justify-content:flex-end;list-style:none;margin:0;padding:0}@media(min-width:320px)and (max-width:1023px){.sn-cx-navigation__utility-list.--mobile-active .sn-cx-navigation__utility-button,.sn-cx-navigation__utility-list.--mobile-active .sn-cx-navigation__utility-button-signin{display:none}}.sn-cx-navigation__menu-toggle-button,.sn-cx-navigation__utility-button,.sn-cx-navigation__utility-link{align-items:center;background:none;border:none;border-radius:50%;cursor:pointer;display:flex;height:2.5rem;justify-content:center;padding:0;transition:background-color .2s ease-in-out;width:2.5rem}.sn-cx-navigation__menu-toggle-button.--active,.sn-cx-navigation__utility-button.--active,.sn-cx-navigation__utility-link.--active{background-color:#124d6b}.sn-cx-navigation__utility-button:hover,.sn-cx-navigation__utility-link:hover{background-color:hsla(0,0%,100%,.1)}.sn-cx-navigation__utility-button:focus-visible,.sn-cx-navigation__utility-link:focus-visible{outline:.125rem solid var(--arc-color-ui-focus,#3eaa2b)}.sn-cx-navigation__menu-toggle-button{outline:none;z-index:1}@media(min-width:320px)and (max-width:1023px){.sn-cx-navigation__menu-toggle-button{z-index:1150}}@media(min-width:1366px){.sn-cx-navigation__menu-toggle-button{display:none}}@media(min-width:320px)and (max-width:767px){.sn-cx-navigation__menu-toggle-button.--utility-open{display:none}}.sn-cx-navigation__utility-button-signin{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:center}.sn-cx-navigation__utility-button-signin:hover{color:var(--arc-color-link-hover-on-dark,#4dbfcf)}.sn-cx-navigation__utility-button-signin:hover .sn-cx-navigation__utility-button-signin-text{-webkit-text-decoration-line:underline;text-decoration-line:underline;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;-webkit-text-decoration-style:solid;text-decoration-style:solid;text-decoration-thickness:auto;text-underline-offset:3px;text-underline-position:from-font}.sn-cx-navigation__utility-button-signin:active{color:var(--arc-color-link-active-on-dark,#99dae3)}.sn-cx-navigation__utility-button-signin:active .sn-cx-navigation__utility-button-signin-text{-webkit-text-decoration-line:underline;text-decoration-line:underline;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;-webkit-text-decoration-style:solid;text-decoration-style:solid;text-decoration-thickness:auto;text-underline-offset:3px;text-underline-position:from-font}.sn-cx-navigation__utility-button-signin:focus-visible{outline:.125rem solid var(--arc-color-ui-focus,#3eaa2b)}.sn-cx-navigation__utility-button-signin-text{color:var(--arc-color-link-default-on-dark,#00cbe6);font-family:var(--now-font-family-sn-sans);font-size:.875rem;font-style:normal;font-weight:450;line-height:normal}.sn-cx-navigation__primary-cta-link{text-decoration:none}.sn-cx-navigation__utility-divider{background:hsla(0,0%,100%,.12);display:none;height:32px;width:1px}@media(min-width:1366px){.sn-cx-navigation__utility-divider{display:block}}.sn-cx-navigation__primary-cta-button,.sn-cx-navigation__primary-cta-link{align-items:center;background:none;background:var(--brand-green-tints-brand-green-500-wasabi-green,#63df4e);border:none;border-radius:var(--arc-border-radius-capsule,500px);color:var(--arc-color-infiniteblue,#032d42);cursor:pointer;display:inline-flex;font-family:var(--now-font-family-sn-sans);font-size:1rem;font-style:normal;font-weight:450;gap:8px;height:36px;justify-content:center;line-height:normal;min-height:36px;outline:none;padding:0 20px}@media(min-width:1366px){.sn-cx-navigation__primary-cta-button,.sn-cx-navigation__primary-cta-link{font-size:.875rem}}.sn-cx-navigation__primary-cta-button:hover,.sn-cx-navigation__primary-cta-link:hover{background:var(--Brand-Green-Tints-Brand-Green-300,#9fe793);border-radius:var(--arc-border-radius-capsule,500px)}.sn-cx-navigation__primary-cta-button:active,.sn-cx-navigation__primary-cta-link:active{background:var(--Brand-Green-Tints-Brand-Green-400,#81df71);border-radius:var(--arc-border-radius-capsule,500px)}.sn-cx-navigation__utility-button{position:relative}.sn-cx-navigation__utility-link{text-decoration:none}.sn-cx-navigation__menu-toggle-icon,.sn-cx-navigation__utility-avatar,.sn-cx-navigation__utility-icon{align-items:center;color:var(--arc-color-white,#fff);display:flex;flex-shrink:0;height:1.5rem;justify-content:center;width:1.5rem}.sn-cx-navigation__utility-avatar-label{background:#fff;border-radius:50%;color:var(--arc-color-neutral-900,#1d1d1d);display:flex;flex-direction:column;flex-shrink:0;font-family:var(--now-font-family-sn-sans);font-size:.875rem;font-style:normal;font-weight:500;height:24px;justify-content:center;line-height:1.3125rem;text-align:center;width:24px}.sn-cx-navigation__utility-item{list-style:none}@media(min-width:320px)and (max-width:767px){.sn-cx-navigation__utility-item#utility-profile,.sn-cx-navigation__utility-item#utility-search,.sn-cx-navigation__utility-item#utility-sign-in{display:flex}}@media(min-width:1024px){.sn-cx-navigation__utility-item.--primary{position:relative}}@media(min-width:1366px){.sn-cx-navigation__utility-item.--secondary{position:relative}}.sn-cx-navigation__utility-item.--secondary .sn-cx-navigation__utility-icon{color:var(--arc-color-text-primary-on-light,#1d1d1d)}.sn-cx-navigation__utility-item:has(.-is-open){display:flex}@media(min-width:576px){.sn-cx-navigation__utility-item:has(.sn-cx-navigation__profile-menu){position:relative}}.sn-cx-navigation__profile-menu{align-items:center;align-self:stretch;background:var(--Brand-Infinite-Blue,#032d42);border-bottom:1px solid #1b4459;border-radius:0 0 12px 12px;box-shadow:0 12px 16px 0 rgba(0,0,0,.6);display:flex;flex-direction:column;gap:16px;height:100vh;opacity:0;padding:24px 0;position:absolute;top:0;transform:translateY(-10px);transition:opacity .3s ease,transform .3s ease,visibility .3s;visibility:hidden;width:100%;z-index:2000}:host(:not([dir=rtl])) .sn-cx-navigation__profile-menu,:root:not([dir=rtl]) .sn-cx-navigation__profile-menu{left:0}:host([dir=rtl]) .sn-cx-navigation__profile-menu,:root[dir=rtl] .sn-cx-navigation__profile-menu{right:0}:host(:not([dir=rtl])) .sn-cx-navigation__profile-menu,:root:not([dir=rtl]) .sn-cx-navigation__profile-menu{border-left:1px solid #1b4459}:host([dir=rtl]) .sn-cx-navigation__profile-menu,:root[dir=rtl] .sn-cx-navigation__profile-menu{border-right:1px solid #1b4459}:host(:not([dir=rtl])) .sn-cx-navigation__profile-menu,:root:not([dir=rtl]) .sn-cx-navigation__profile-menu{border-right:1px solid #1b4459}:host([dir=rtl]) .sn-cx-navigation__profile-menu,:root[dir=rtl] .sn-cx-navigation__profile-menu{border-left:1px solid #1b4459}.sn-cx-navigation__profile-menu.open{opacity:1;transform:translateY(0);visibility:visible}@media(min-width:320px)and (max-width:575px){.sn-cx-navigation__profile-menu{border-radius:0}}@media(min-width:576px){.sn-cx-navigation__profile-menu{height:auto;min-width:300px;top:2.75rem;width:auto}:host(:not([dir=rtl])) .sn-cx-navigation__profile-menu,:root:not([dir=rtl]) .sn-cx-navigation__profile-menu{left:auto}:host([dir=rtl]) .sn-cx-navigation__profile-menu,:root[dir=rtl] .sn-cx-navigation__profile-menu{right:auto}:host(:not([dir=rtl])) .sn-cx-navigation__profile-menu,:root:not([dir=rtl]) .sn-cx-navigation__profile-menu{right:0}:host([dir=rtl]) .sn-cx-navigation__profile-menu,:root[dir=rtl] .sn-cx-navigation__profile-menu{left:0}}@media(min-width:768px){.sn-cx-navigation__profile-menu{top:3.25rem}}.sn-cx-navigation__profile-menu__btn-close{background-color:transparent;border:0;color:#fff;cursor:pointer;margin:0;padding:0}.sn-cx-navigation__profile-menu__navigation{align-items:flex-end;display:flex;justify-content:flex-end;padding:0 1rem;width:100%}@media(min-width:576px){.sn-cx-navigation__profile-menu__navigation{display:none}}.sn-cx-navigation__profile-menu__header{align-items:center;align-self:stretch;display:flex;flex-direction:column;gap:16px;padding:0 16px;text-align:center}@media(min-width:576px){.sn-cx-navigation__profile-menu__header{flex-direction:row;text-align:left}}.sn-cx-navigation__profile-menu__avatar{align-items:center;background:var(--arc-color-white,#fff);border-radius:100px;display:flex;height:4rem;justify-content:center;padding:8px 7px 6px 7px;text-align:center;text-transform:uppercase;width:4rem}@media(min-width:576px){.sn-cx-navigation__profile-menu__avatar{height:42px;width:42px}}.sn-cx-navigation__profile-menu__avatar-label{font-feature-settings:\\\"liga\\\" off,\\\"clig\\\" off;color:#1d1d1d;font-family:var(--now-font-family-sn-sans);font-size:2rem;font-style:normal;font-weight:500;line-height:2rem;text-align:center}@media(min-width:576px){.sn-cx-navigation__profile-menu__avatar-label{color:#1d1d1d;font-family:var(--now-font-family-sn-sans);font-size:1.5rem;font-weight:500;line-height:1.5rem}}.sn-cx-navigation__profile-menu__avatar-image{border-radius:50%;height:28px;width:28px}.sn-cx-navigation__profile-menu__name-email{align-items:center;display:flex;flex:1 0 0;flex-direction:column;gap:1rem}@media(min-width:576px){.sn-cx-navigation__profile-menu__name-email{align-items:flex-start;gap:8px}}.sn-cx-navigation__profile-menu__name{font-size:1rem;font-weight:500}.sn-cx-navigation__profile-menu__email,.sn-cx-navigation__profile-menu__name{color:var(--arc-color-white,#fff);font-family:var(--now-font-family-sn-sans);font-style:normal;line-height:150%;max-width:210px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.sn-cx-navigation__profile-menu__email{font-size:.875rem;font-weight:300}.sn-cx-navigation__profile-menu__divider,.sn-cx-navigation__profile-menu__separator{align-items:flex-start;align-self:stretch;display:flex}.sn-cx-navigation__profile-menu__list{align-items:center;align-self:stretch;display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.sn-cx-navigation__profile-menu__item{align-items:flex-start;align-self:stretch;display:flex;flex-direction:column}.sn-cx-navigation__profile-menu__item__button,.sn-cx-navigation__profile-menu__item__link{align-items:center;background:none;border:0;cursor:pointer;display:flex;gap:8px;width:100%}.sn-cx-navigation__profile-menu__item__button:focus-visible,.sn-cx-navigation__profile-menu__item__link:focus-visible{border-radius:.5rem;outline:.125rem solid var(--arc-color-ui-focus,#3eaa2b)}.sn-cx-navigation__profile-menu__item__button{background:none;padding:.75rem}@media(min-width:576px){.sn-cx-navigation__profile-menu__item__button{padding:8px 16px}}.sn-cx-navigation__profile-menu__item__link{padding:.75rem;text-decoration:none}@media(min-width:320px)and (max-width:767px){.sn-cx-navigation__profile-menu__item__link{padding:1.5rem}}@media(min-width:576px){.sn-cx-navigation__profile-menu__item__link{padding:8px 16px}}.sn-cx-navigation__profile-menu__icon{line-height:100%;max-height:14px;max-width:14px;text-align:center}.sn-cx-navigation__profile-menu__label{color:var(--arc-color-white,#fff);font-family:var(--now-font-family-sn-sans);font-size:1rem;font-style:normal;font-weight:400;line-height:150%}.sn-cx-navigation__megamenu{align-items:flex-start;display:flex;flex-direction:column;max-height:0;opacity:0;overflow:hidden;position:absolute;top:3rem;visibility:hidden;width:100%;z-index:1000}:host(:not([dir=rtl])) .sn-cx-navigation__megamenu,:root:not([dir=rtl]) .sn-cx-navigation__megamenu{left:0}:host([dir=rtl]) .sn-cx-navigation__megamenu,:root[dir=rtl] .sn-cx-navigation__megamenu{right:0}@media(min-width:768px){.sn-cx-navigation__megamenu{top:4rem}}@media(min-width:1366px){.sn-cx-navigation__megamenu{transition:max-height .3s ease,opacity .3s ease,visibility .3s}}.sn-cx-navigation__megamenu.--open{box-shadow:var(--naas-wrapper-dropdown-box-shadown,0 8px 12px 0 rgba(0,0,0,.6));margin-left:auto;margin-right:auto;margin-top:0;min-height:100vh;opacity:1;overflow-y:auto;visibility:visible;width:100%}@media(min-width:1024px){.sn-cx-navigation__megamenu.--open{height:auto;margin-top:48px;max-height:calc(100vh - 128px - var(--now-sn-cx-navigation--megamenu-overlay--top, 0px));min-height:0;top:64px}}@media(min-width:1366px){.sn-cx-navigation__megamenu.--open{margin-top:0}}.sn-cx-navigation__megamenu.--close{max-height:0;opacity:0;visibility:hidden}.sn-cx-navigation__megamenu.--no-sidebar .sn-cx-navigation__megamenu-mobile-content{display:none}.sn-cx-navigation__megamenu.--no-sidebar .sn-cx-navigation__megamenu-content{display:flex}.sn-cx-navigation__megamenu-content{align-items:flex-start;align-self:stretch;background:linear-gradient(350deg,rgba(58,229,169,0) 0,rgba(56,201,163,.09) 19.88%,rgba(35,194,206,.06) 35.78%,rgba(35,194,206,0) 63.6%,rgba(35,194,206,0) 99.38%),var(--arc-color-infiniteblue,#032d42);display:none;height:calc(var(--now-sn-cx-navigation--full-screen-height, 100vh) - var(--now-sn-cx-navigation--megamenu-overlay--top, 48px));overflow-y:auto;padding:0 4px}.sn-cx-navigation__megamenu-content .sn-cx-navigation__divider{display:none}@media(min-width:576px){.sn-cx-navigation__megamenu-content{padding:0 8px}}@media(min-width:1024px){.sn-cx-navigation__megamenu-content{background:linear-gradient(279deg,rgba(58,229,169,0) 0,rgba(56,201,163,.09) 20%,rgba(35,194,206,.06) 36%,rgba(35,194,206,0) 64%,rgba(35,194,206,0) 100%),var(--arc-color-infiniteblue,#032d42);display:flex;height:100%;padding:0}.sn-cx-navigation__megamenu-content .sn-cx-navigation__divider{display:flex}}.sn-cx-navigation__megamenu-main{align-items:flex-start;align-self:stretch;display:flex;flex:1 0 0;gap:48px}@media(min-width:1024px){.sn-cx-navigation__megamenu-main{padding:48px 32px 64px 32px}}@media(min-width:1366px){.sn-cx-navigation__megamenu-main{padding:64px 48px 64px 48px}}.sn-cx-navigation__megamenu-main-content{align-items:flex-start;display:none;flex:1 0 0;flex-direction:column;gap:1.5rem;position:relative;width:100%}@media(min-width:1024px){.sn-cx-navigation__megamenu-main-content{display:flex}}.sn-cx-navigation__megamenu-main-content.--no-sidebar{background:none;display:flex;gap:2rem}@media(min-width:576px){.sn-cx-navigation__megamenu-main-content.--no-sidebar{gap:2.5rem}}@media(min-width:1024px){.sn-cx-navigation__megamenu-main-content.--no-sidebar{gap:2.5rem;gap:1.5rem}}.sn-cx-navigation__megamenu-main-content.--has-image-icon{gap:3rem}.sn-cx-navigation__megamenu-mobile-content{background:linear-gradient(350deg,rgba(58,229,169,0) 0,rgba(56,201,163,.09) 19.88%,rgba(35,194,206,.06) 35.78%,rgba(35,194,206,0) 63.6%,rgba(35,194,206,0) 99.38%),var(--arc-color-infiniteblue,#032d42);display:flex;flex-direction:column;gap:8px;height:calc(var(--now-sn-cx-navigation--full-screen-height, 100vh) - var(--now-sn-cx-navigation--megamenu-overlay--top, 48px));overflow:scroll;padding:16px 4px 64px 4px;width:100%}@media(min-width:576px){.sn-cx-navigation__megamenu-mobile-content{padding:0 8px 64px 8px}}@media(min-width:1024px){.sn-cx-navigation__megamenu-mobile-content{display:none}}.sn-cx-navigation__megamenu-mobile-content .sn-cx-navigation__divider{display:flex}.sn-cx-navigation__megamenu-mobile-content .sn-cx-navigation__megamenu-links-list{display:flex;flex-direction:column}.sn-cx-navigation__megamenu-collapsible-list-title{align-items:center;align-self:stretch;color:var(--arc-color-white,#d7e0e6);font-family:var(--now-font-family-sn-sans-mono);font-size:.75rem;font-style:normal;font-weight:400;gap:10px;line-height:.975rem;padding:16px 12px;text-transform:uppercase}.sn-cx-navigation__megamenu-close{align-items:center;background:var(--arc-color-white,#fff);border:none;border-radius:var(--arc-border-radius-capsule,500px);cursor:pointer;display:none;gap:8px;height:30px;justify-content:center;max-height:30px;max-width:30px;min-height:30px;min-width:30px;padding:0;position:absolute;top:16px;transition:background-color .2s ease-in-out,border .2s ease-in-out;width:30px}:host(:not([dir=rtl])) .sn-cx-navigation__megamenu-close,:root:not([dir=rtl]) .sn-cx-navigation__megamenu-close{right:16px}:host([dir=rtl]) .sn-cx-navigation__megamenu-close,:root[dir=rtl] .sn-cx-navigation__megamenu-close{left:16px}@media(min-width:1366px){.sn-cx-navigation__megamenu-close{display:flex}}.sn-cx-navigation__megamenu-close:hover{background:var(--Neutral-Neutral-200,#dbdbdb)}.sn-cx-navigation__megamenu-close:active{background:var(--Neutral-Neutral-300,#c3c3c3)}.sn-cx-navigation__megamenu-close:focus-visible{box-shadow:0 0 0 2px #3eaa2b;outline:none}.sn-cx-navigation__megamenu-content-wrap{align-items:flex-start;display:flex;padding:1rem 1rem 4rem 1rem;width:100%}@media(min-width:576px){.sn-cx-navigation__megamenu-content-wrap{padding:24px 28px 32px 28px}}@media(min-width:1024px){.sn-cx-navigation__megamenu-content-wrap{padding:0}}.sn-cx-navigation__megamenu-section{align-items:flex-start;display:flex;flex-direction:column;gap:24px;width:100%}.sn-cx-navigation__megamenu-header{align-items:flex-start;align-self:stretch;display:flex;flex-direction:column;gap:8px}.sn-cx-navigation__megamenu-title{color:var(--arc-color-text-primary-on-dark,#fff);font-family:var(--now-font-family-sn-sans);font-size:1.125rem;font-style:normal;font-weight:700;letter-spacing:-.18px;line-height:19.8px;margin:0;padding:0}@media(min-width:768px){.sn-cx-navigation__megamenu-title{color:var(--arc-color-text-primary-on-dark,#fff);font-family:var(--now-font-family-sn-sans);font-size:1.25rem;font-style:normal;font-weight:700;letter-spacing:-.2px;line-height:22px}}@media(min-width:1024px){.sn-cx-navigation__megamenu-title{color:var(--arc-color-text-primary-on-dark,#fff);font-family:var(--now-font-family-sn-sans);font-size:1.375rem;font-style:normal;font-weight:700;letter-spacing:-.22px;line-height:24.2px}}@media(min-width:1680px){.sn-cx-navigation__megamenu-title{color:var(--arc-color-text-primary-on-dark,#fff);font-family:var(--now-font-family-sn-sans);font-size:1.5rem;font-style:normal;font-weight:700;letter-spacing:-.24px;line-height:26.4px}}.sn-cx-navigation__megamenu-description{color:var(--Brand-Blue-Tints-Brand-Blue-100,var(--arc-color-brandblue-100,#d7e0e6));font-family:var(--now-font-family-sn-sans);font-size:.875rem;font-style:normal;font-weight:300;line-height:1.3125rem;margin:0;padding:0}@media(min-width:1024px){.sn-cx-navigation__megamenu-description{color:var(--Brand-Blue-Tints-Brand-Blue-100,var(--arc-color-brandblue-100,#d7e0e6));font-family:var(--now-font-family-sn-sans);font-size:1rem;font-style:normal;font-weight:300;line-height:24px}}.sn-cx-navigation__megamenu-ctas{align-items:flex-start;display:flex;width:100%}@media(min-width:576px){.sn-cx-navigation__megamenu-ctas{width:unset}}.sn-cx-navigation__megamenu-banner-cta-wrapper,.sn-cx-navigation__megamenu-cta-wrapper{align-self:start;border:2px solid transparent;border-radius:500px;padding:1px;transition:border .2s ease-in-out;width:100%}@media(min-width:576px){.sn-cx-navigation__megamenu-banner-cta-wrapper,.sn-cx-navigation__megamenu-cta-wrapper{width:unset}}.sn-cx-navigation__megamenu-banner-cta-wrapper:focus-visible,.sn-cx-navigation__megamenu-banner-cta-wrapper:focus-within,.sn-cx-navigation__megamenu-cta-wrapper:focus-visible,.sn-cx-navigation__megamenu-cta-wrapper:focus-within{border-color:#3eaa2b;outline:none}.sn-cx-navigation__megamenu-cta-external-icon{align-items:center;display:flex;height:1rem;justify-content:center;width:1rem}.sn-cx-navigation__megamenu-banner-cta,.sn-cx-navigation__megamenu-cta{align-items:center;background:none;border:2px solid var(--arc-color-wasabigreen,#63df4e);border-radius:var(--arc-border-radius-capsule,500px);color:var(--arc-color-white,#fff);display:flex;font-family:var(--now-font-family-sn-sans);font-size:.875rem;font-style:normal;font-weight:450;gap:8px;height:36px;justify-content:center;line-height:normal;min-height:36px;padding:0 20px;text-decoration:none;transition:border .2s ease-in-out,background-color .2s ease-in-out;width:100%}@media(min-width:576px){.sn-cx-navigation__megamenu-banner-cta,.sn-cx-navigation__megamenu-cta{width:unset}}.sn-cx-navigation__megamenu-banner-cta.-is-link,.sn-cx-navigation__megamenu-cta.-is-link{cursor:pointer;text-decoration:none}.sn-cx-navigation__megamenu-banner-cta:hover,.sn-cx-navigation__megamenu-cta:hover{background:rgba(98,216,78,.1);border:2px solid #9fe793;color:#9fe793}.sn-cx-navigation__megamenu-banner-cta:active,.sn-cx-navigation__megamenu-cta:active{background:rgba(98,216,78,.1);border:2px solid #81df71;color:#81df71}.sn-cx-navigation__megamenu-banner-cta:focus-visible,.sn-cx-navigation__megamenu-cta:focus-visible{outline:none}.sn-cx-navigation__divider{align-items:flex-start;align-self:stretch;display:flex;width:100%}.sn-cx-navigation__content-separator{background:hsla(0,0%,100%,.12);flex:1 0 0;height:1px}.sn-cx-navigation__megamenu-links{align-items:flex-start;align-self:stretch;display:flex;flex-direction:column;gap:1.5rem}.sn-cx-navigation__megamenu-links-list{display:grid;gap:1.5rem 1.5rem;list-style:none;margin:0;padding:0;width:100%}@media(min-width:768px){.sn-cx-navigation__megamenu-links-list{gap:2rem 2rem;grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.sn-cx-navigation__megamenu-links-list{grid-template-columns:repeat(auto-fill,minmax(306px,-webkit-max-content));grid-template-columns:repeat(auto-fill,minmax(306px,max-content))}}@media(min-width:1366px){.sn-cx-navigation__megamenu-links-list{gap:2rem 2.5rem}}.sn-cx-navigation__megamenu-links-list.--has-icon{grid-auto-rows:1fr;grid-template-columns:repeat(2,minmax(292px,-webkit-max-content));grid-template-columns:repeat(2,minmax(292px,max-content))}.sn-cx-navigation__megamenu-group-link-heading{color:var(--Brand-Blue-Tints-Brand-Blue-100,var(--arc-color-brandblue-100,#d7e0e6));font-family:var(--now-font-family-sn-sans-mono);font-size:.75rem;font-style:normal;font-weight:400;line-height:.975rem;margin:0;padding:0;text-transform:uppercase}.sn-cx-navigation__megamenu-link-item{align-items:stretch;border-radius:12px;box-shadow:0 0 0 1px transparent;cursor:pointer;display:flex;flex:1 0 0;gap:4px}.sn-cx-navigation__megamenu-link-item.--is-icon,.sn-cx-navigation__megamenu-link-item.--is-image{border:1px solid hsla(0,0%,100%,.12);gap:16px}.sn-cx-navigation__megamenu-link-item.--is-icon:hover,.sn-cx-navigation__megamenu-link-item.--is-image:hover{border-color:var(--Brand-Blue-Tints-Brand-Blue-600,#517285)}@media(min-width:1024px){.sn-cx-navigation__megamenu-link-item.--is-icon,.sn-cx-navigation__megamenu-link-item.--is-image{width:297px}}.sn-cx-navigation__megamenu-link-item.--is-icon{height:165px}.sn-cx-navigation__megamenu-link-icon-wrap,.sn-cx-navigation__megamenu-link-image-wrap{align-items:flex-start;border-radius:8px;display:flex}.sn-cx-navigation__megamenu-link-icon-wrap{height:32px;justify-content:center;padding:0 2.5px .5px 2px;width:32px}.sn-cx-navigation__megamenu-icon-img{flex-shrink:0;width:32px}.sn-cx-navigation__megamenu-image-img{align-items:flex-start;border-radius:8px;display:flex;width:100%}@media(min-width:1024px){.sn-cx-navigation__megamenu-image-img{height:140px;width:249px}}.sn-cx-navigation__megamenu-link{align-items:flex-start;border:1px solid transparent;border-radius:12px;box-shadow:0 0 0 1px transparent;color:var(--arc-color-text-primary-on-dark,#fff);display:flex;flex-direction:column;gap:4px;outline:none;text-decoration:none;width:100%}.sn-cx-navigation__megamenu-link:focus-visible{border-color:var(--arc-color-ui-focus,#3eaa2b);box-shadow:0 0 0 1px var(--arc-color-ui-focus,#3eaa2b);outline:none}.sn-cx-navigation__megamenu-link.--is-text:focus-visible{border-color:var(--arc-color-ui-focus,#3eaa2b);border-radius:0;box-shadow:0 0 0 1px var(--arc-color-ui-focus,#3eaa2b)}.sn-cx-navigation__megamenu-link:focus{outline:none}.sn-cx-navigation__megamenu-link.--is-icon,.sn-cx-navigation__megamenu-link.--is-image{gap:1.5rem;padding:1rem;width:100%}.sn-cx-navigation__megamenu-link.--is-icon .sn-cx-navigation__megamenu-link-description,.sn-cx-navigation__megamenu-link.--is-image .sn-cx-navigation__megamenu-link-description{display:block}@media(min-width:576px){.sn-cx-navigation__megamenu-link.--is-icon,.sn-cx-navigation__megamenu-link.--is-image{padding:1.5rem}}.sn-cx-navigation__megamenu-link.--is-icon:focus-visible,.sn-cx-navigation__megamenu-link.--is-image:focus-visible{border-color:var(--arc-color-ui-focus,#3eaa2b);box-shadow:0 0 0 1px var(--arc-color-ui-focus,#3eaa2b)}.sn-cx-navigation__megamenu-link.--is-icon{gap:1rem}.sn-cx-navigation__megamenu-link-header{align-items:flex-start;align-self:stretch;display:flex;flex-direction:column;gap:4px}.sn-cx-navigation__megamenu-link-title{align-self:stretch;color:var(--arc-color-text-primary-on-dark,#fff);display:flex;font-family:var(--now-font-family-sn-sans);font-size:.875rem;font-style:normal;font-weight:450;gap:.5rem;line-height:125%;margin:0;padding:0}@media(min-width:1366px){.sn-cx-navigation__megamenu-link-title{font-size:1rem}}.sn-cx-navigation__megamenu-link-external-icon{display:none}.sn-cx-navigation__megamenu-link:hover .sn-cx-navigation__megamenu-link-external-icon{display:block}.sn-cx-navigation__megamenu-link-item.--is-image:hover .sn-cx-navigation,.sn-cx-navigation__megamenu-link:hover .sn-cx-navigation{text-decoration:underline;-webkit-text-decoration-color:var(--arc-color-white,#fff);text-decoration-color:var(--arc-color-white,#fff);text-underline-offset:4px}.sn-cx-navigation__megamenu-link-description{align-self:stretch;color:var(--Brand-Blue-Tints-Brand-Blue-100,#d7e0e6);display:none;font-family:var(--now-font-family-sn-sans);font-size:.75rem;font-style:normal;font-weight:300;line-height:125%;margin:0;padding:0}@media(min-width:768px){.sn-cx-navigation__megamenu-link-description{display:block}}.sn-cx-navigation__megamenu-link:hover .sn-cx-navigation__megamenu-link-title{text-decoration:underline;-webkit-text-decoration-color:var(--arc-color-white,#fff);text-decoration-color:var(--arc-color-white,#fff);text-decoration-thickness:1px;text-underline-offset:4px;transition:border .3s ease-in-out}.sn-cx-navigation__megamenu-sidebar{align-items:flex-start;align-self:stretch;box-sizing:content-box;display:flex;display:none;flex-direction:column;gap:32px}:host(:not([dir=rtl])) .sn-cx-navigation__megamenu-sidebar,:root:not([dir=rtl]) .sn-cx-navigation__megamenu-sidebar{border-right:1px solid var(--Brand-Blue-Tints-Brand-Blue-800,#1b4459)}:host([dir=rtl]) .sn-cx-navigation__megamenu-sidebar,:root[dir=rtl] .sn-cx-navigation__megamenu-sidebar{border-left:1px solid var(--Brand-Blue-Tints-Brand-Blue-800,#1b4459)}@media(min-width:1024px){.sn-cx-navigation__megamenu-sidebar{display:flex;padding:48px 24px 64px 32px;width:248px}}@media(min-width:1366px){.sn-cx-navigation__megamenu-sidebar{padding:40px 24px 64px 40px;width:326px}}.sn-cx-navigation__megamenu-sidebar-header{align-items:center;align-self:stretch;display:none;gap:12px}:host(:not([dir=rtl])) .sn-cx-navigation__megamenu-sidebar-header,:root:not([dir=rtl]) .sn-cx-navigation__megamenu-sidebar-header{padding-left:8px}:host([dir=rtl]) .sn-cx-navigation__megamenu-sidebar-header,:root[dir=rtl] .sn-cx-navigation__megamenu-sidebar-header{padding-right:8px}@media(min-width:1366px){.sn-cx-navigation__megamenu-sidebar-header{display:flex}}.sn-cx-navigation__megamenu-sidebar-title{font-style:normal;margin:0;padding:0}@media(min-width:1366px)and (max-width:1679px){.sn-cx-navigation__megamenu-sidebar-title{color:var(--arc-color-white,#fff);font-family:var(--now-font-family-sn-sans);font-size:1.375rem;font-weight:700;letter-spacing:-.33px;line-height:1.5125rem}}@media(min-width:1680px){.sn-cx-navigation__megamenu-sidebar-title{color:var(--arc-color-white,#fff);font-family:var(--now-font-family-sn-sans);font-size:1.5rem;font-weight:700;letter-spacing:-.24px;line-height:1.65rem}}.sn-cx-navigation__megamenu-sidebar-grouplink{color:var(--arc-color-text-primary-on-dark,#fff);font-family:var(--now-font-family-sn-sans);font-size:.875rem;font-style:normal;font-weight:450;line-height:125%}.sn-cx-navigation__megamenu-sidebar-group-items{align-items:flex-start;display:flex;flex-direction:column;gap:8px;width:100%}.sn-cx-navigation__megamenu-sidebar-list{align-items:flex-start;align-self:stretch;display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0}.sn-cx-navigation__megamenu-sidebar-group{align-self:stretch;display:flex;flex-direction:column;gap:8px}.sn-cx-navigation__megamenu-sidebar-group-header{align-items:center;display:flex;gap:10px;padding:16px 8px 0 8px}.sn-cx-navigation__megamenu-sidebar-heading{color:var(--Brand-Blue-Tints-Brand-Blue-100,#d7e0e6);font-family:var(--now-font-family-sn-sans);font-size:.75rem;font-style:normal;font-weight:400;line-height:15.6px;margin:0;padding:0 0 8px 0;text-transform:uppercase}@media(min-width:1024px)and (max-width:1365px){.sn-cx-navigation__megamenu-sidebar-heading{letter-spacing:.36px;line-height:13.2px}}@media(min-width:1366px){.sn-cx-navigation__megamenu-sidebar-heading{font-family:var(--now-font-family-sn-sans-mono)}}.sn-cx-navigation__megamenu-sidebar-items{align-items:flex-start;align-self:stretch;display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0}.sn-cx-navigation__megamenu-sidebar-item{align-items:center;align-self:stretch;background:rgba(3,45,66,0);border:2px solid transparent;border-radius:4px;cursor:pointer;display:flex;gap:8px;padding:8px;transition:background-color .2s ease-in-out}.sn-cx-navigation__megamenu-sidebar-item:focus-visible{background-color:rgba(3,45,66,0);border-color:var(--arc-color-ui-focus,#3eaa2b);outline:none}.sn-cx-navigation__megamenu-sidebar-item:hover{background:hsla(0,0%,100%,.08)}.sn-cx-navigation__megamenu-sidebar-item.--active{background:#124d6b;color:var(--Links-Link-active-on-dark,#99dae3)}.sn-cx-navigation__megamenu-sidebar-item--active{background:var(--arc-color-infiniteblue,#032d42);border-radius:4px}.sn-cx-navigation__megamenu-sidebar-button{align-items:center;align-self:stretch;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;outline:none;padding:0;width:100%}.sn-cx-navigation__megamenu-sidebar-icon{align-items:center;display:flex;height:12px;justify-content:center;width:12px}.sn-cx-navigation__megamenu-sidebar-divider{background:var(--arc-color-neutral-100,#ebebeb);border:none;height:1px;margin:12px 0}.sn-cx-navigation__megamenu-mobile-links,.sn-cx-navigation__megamenu-sidebar-links{align-items:flex-start;align-self:stretch;display:flex;flex-direction:column;gap:2px;list-style:none;margin:0;padding:0}.sn-cx-navigation__megamenu-mobile-link-item,.sn-cx-navigation__megamenu-sidebar-link-item{align-self:stretch;border:2px solid transparent;border-radius:4px;cursor:pointer;height:34px;padding:0 8px}.sn-cx-navigation__megamenu-mobile-link-item:focus-visible,.sn-cx-navigation__megamenu-sidebar-link-item:focus-visible{border-color:var(--arc-color-ui-focus,#3eaa2b);border-radius:4px;outline:none}.sn-cx-navigation__megamenu-sidebar-link{align-items:center;display:flex;gap:12px;height:100%;width:100%}.sn-cx-navigation__megamenu-sidebar-link:hover .megamenu-sidebar-icon-wrapper{color:var(--arc-color-link-hover-on-dark,#4dbfcf)}.sn-cx-navigation__megamenu-sidebar-link .megamenu-sidebar-icon-wrapper{align-items:center;display:flex}.sn-cx-navigation__megamenu-mobile-link,.sn-cx-navigation__megamenu-sidebar-link{color:var(--arc-color-link-default-on-dark,#00cbe6);font-family:var(--now-font-family-sn-sans);font-size:.875rem;font-style:normal;font-weight:450;line-height:125%;outline:none;text-decoration:none}.sn-cx-navigation__megamenu-mobile-link:hover,.sn-cx-navigation__megamenu-sidebar-link:hover{color:var(--arc-color-link-hover-on-dark,#42e9ff);-webkit-text-decoration-line:underline;text-decoration-line:underline;text-underline-offset:4px}.sn-cx-navigation__megamenu-mobile-link:active,.sn-cx-navigation__megamenu-sidebar-link:active{color:var(--arc-color-link-active-on-dark,#99f3ff);-webkit-text-decoration-line:underline;text-decoration-line:underline;text-underline-offset:4px}.sn-cx-navigation__megamenu-mobile-link{font-size:1rem}.sn-cx-navigation__megamenu-banner{align-items:flex-start;border-radius:12px;box-sizing:content-box;display:none;flex-direction:column;gap:24px;justify-content:center;max-width:243px;padding:24px}.sn-cx-navigation__megamenu-banner.--card{background:linear-gradient(#032d42,#032d42) padding-box,linear-gradient(103deg,#5a7aff 20%,#24c2ce 99.99%) border-box;border:2px solid transparent}.sn-cx-navigation__megamenu-banner.--image{max-width:360px;padding:0}@media(min-width:1024px){.sn-cx-navigation__megamenu-banner{display:flex}}.sn-cx-navigation__megamenu-collapsible-list-wrapper{display:flex;flex-direction:column}.sn-cx-navigation__megamenu-collapsible-list{list-style-type:none;margin:0;padding:0}.sn-cx-navigation__megamenu-collapsible-item{display:flex;flex-direction:column;list-style-type:none;padding:0}.sn-cx-navigation__megamenu-collapsible-item.--active{background:var(--124D6B-New-blue,#124d6b);border-radius:12px 12px 12px 12px}.sn-cx-navigation__megamenu-collapsible-item.--active .sn-cx-navigation__collapsible-item-content-wrapper{display:flex;flex-direction:column}.sn-cx-navigation__megamenu-collapsible-item-button{align-items:center;align-self:stretch;background:none;border:.125rem solid transparent;cursor:pointer;display:flex;flex:1 0 0;gap:8px;justify-content:space-between;padding:14px 12px}.sn-cx-navigation__megamenu-collapsible-item-button:focus-visible{background-color:rgba(3,45,66,0);outline-color:var(--arc-color-ui-focus,#3eaa2b);outline-offset:2px;outline-style:solid;outline-width:2px}.sn-cx-navigation__megamenu-collapsible-item-title{color:var(--arc-color-text-primary-on-dark,#fff);font-family:var(--now-font-family-sn-sans);font-size:1rem;font-style:normal;font-weight:400;line-height:125%}.sn-cx-navigation__collapsible-item-main-content{display:flex;flex-direction:column}.sn-cx-navigation__collapsible-item-content-wrapper{display:none}.sn-cx-navigation__collapsible-item-content-wrapper .sn-cx-navigation__megamenu-banner{display:flex;margin:0 12px 12px 12px;max-width:unset}@media(min-width:576px){.sn-cx-navigation__collapsible-item-content-wrapper .sn-cx-navigation__megamenu-banner{margin:0 16px 16px 16px;margin:0 24px 24px 24px}}.sn-cx-navigation__collapsible-item-section-wrapper{padding:24px 28px 0 28px}@media(min-width:576px){.sn-cx-navigation__collapsible-item-section-wrapper{padding:24px 40px 0 40px}}.sn-cx-navigation__collapsible-item-group-links-wrapper{padding:32px 28px}@media(min-width:576px){.sn-cx-navigation__collapsible-item-group-links-wrapper{padding:40px}}.sn-cx-navigation__collapsible-item-group-links-wrapper:has(.--is-image){padding:32px 12px 12px 12px}@media(min-width:576px){.sn-cx-navigation__collapsible-item-group-links-wrapper:has(.--is-image){padding:40px 16px 16px 16px}}@media(min-width:768px){.sn-cx-navigation__collapsible-item-group-links-wrapper:has(.--is-image) .sn-cx-navigation__megamenu-links-list{display:grid;grid-template-columns:repeat(2,1fr)}}.sn-cx-navigation__collapsible-item-group-links-wrapper:has(.--is-icon){padding:32px 12px 12px 12px}@media(min-width:576px){.sn-cx-navigation__collapsible-item-group-links-wrapper:has(.--is-icon){padding:40px 16px 16px 16px}}@media(min-width:768px){.sn-cx-navigation__collapsible-item-group-links-wrapper:has(.--is-icon){padding:40px 24px 24px 24px}.sn-cx-navigation__collapsible-item-group-links-wrapper:has(.--is-icon) .sn-cx-navigation__megamenu-links-list{display:grid;grid-template-columns:repeat(2,1fr)}}.sn-cx-navigation__megamenu-mobile-link-item{align-items:center;align-self:stretch;color:var(--arc-color-link-default-on-dark,#00a3ba);display:flex;gap:12px;height:unset;padding:14px 12px}.sn-cx-navigation__megamenu-banner-image-wrapper{align-items:center;display:flex;justify-content:center}.sn-cx-navigation__megamenu-banner-image-wrapper.--card{max-height:3rem;max-width:3rem}.sn-cx-navigation__megamenu-banner-image{color:#d7e0e6;height:100%;object-fit:cover;width:100%}.sn-cx-navigation__megamenu-banner-content{display:flex;flex-direction:column;gap:24px;justify-content:center}.sn-cx-navigation__megamenu-banner-wrap{align-items:flex-start;display:flex;flex-direction:column;gap:24px}.sn-cx-navigation__megamenu-banner-header{align-items:flex-start;align-self:stretch;display:flex;flex-direction:column;gap:16px}.sn-cx-navigation__megamenu-banner-title{color:var(--arc-color-text-primary-on-dark,#fff);font-family:var(--now-font-family-sn-sans);font-size:1rem;font-style:normal;font-weight:700;letter-spacing:-.01rem;line-height:1.1rem;margin:0}@media(min-width:1024px){.sn-cx-navigation__megamenu-banner-title{color:var(--arc-color-text-primary-on-dark,#fff);font-family:var(--now-font-family-sn-sans);font-size:1.125rem;font-weight:500;letter-spacing:-.016875rem;line-height:1.2375rem}}@media(min-width:1366px){.sn-cx-navigation__megamenu-banner-title{color:var(--arc-color-text-primary-on-dark,#fff);font-family:var(--now-font-family-sn-sans);font-size:1.125rem;font-weight:700;letter-spacing:-.01125rem;line-height:1.2375rem}}.sn-cx-navigation__megamenu-banner-description{color:var(--Brand-Blue-Tints-Brand-Blue-100,var(--arc-color-brandblue-100,#d7e0e6));font-family:var(--now-font-family-sn-sans);font-size:.875rem;font-style:normal;font-weight:300;line-height:1.3125rem;margin:0}@media(min-width:1024px){.sn-cx-navigation__megamenu-banner-description{font-size:1rem;line-height:1.5rem}}.sn-cx-navigation__megamenu-banner-ctas{display:flex;flex-direction:column;gap:8px}.sn-cx-navigation__secondary-menu{background:var(--arc-color-white,#fff);box-shadow:0 .25rem .5rem 0 rgba(3,45,66,.15);display:flex;flex-direction:column;width:100%}@media(min-width:1366px){.sn-cx-navigation__secondary-menu{align-items:center;border-bottom:.0625rem solid var(--arc-color-neutral-100,#ebebeb);box-shadow:none;display:flex;flex-direction:row;gap:1.5rem;height:3.25rem;justify-content:space-between;padding:0 2.5rem;width:100%}}@media(min-width:1366px)and (min-width:1366px){.sn-cx-navigation__secondary-menu{height:4rem}}@media(min-width:1680px){.sn-cx-navigation__secondary-menu{padding:0 3rem}}.sn-cx-navigation__secondary-menu-list-wrapper{display:flex;flex:1}@media(min-width:1366px){.sn-cx-navigation__secondary-menu-list-wrapper{max-width:56.25rem}}.sn-cx-navigation__secondary-menu-list{align-items:center;background:#fff;display:none;flex:1;flex-direction:column;list-style:none;margin:0;padding-top:1.5rem;padding:0 1rem;width:100%}@media(min-width:576px){.sn-cx-navigation__secondary-menu-list{padding:0 1.5rem;padding-top:1.5rem}}@media(min-width:768px){.sn-cx-navigation__secondary-menu-list{padding:0 1.5rem;padding-top:1.5rem}}@media(min-width:1024px){.sn-cx-navigation__secondary-menu-list{padding:0 1.5rem;padding-top:1.5rem}}@media(min-width:1366px){.sn-cx-navigation__secondary-menu-list{background:transparent;display:flex;flex-direction:row;gap:1.5rem;height:4rem;padding:0;position:static;top:auto}}.sn-cx-navigation__secondary-menu-icon{line-height:0;transform:rotate(270deg)}:host([dir=rtl]) .sn-cx-navigation__secondary-menu-icon,:root[dir=rtl] .sn-cx-navigation__secondary-menu-icon{transform:rotate(90deg)}@media(min-width:1366px){.sn-cx-navigation__secondary-menu-icon{transform:rotate(0deg)}:host([dir=rtl]) .sn-cx-navigation__secondary-menu-icon,:root[dir=rtl] .sn-cx-navigation__secondary-menu-icon{transform:rotate(0deg)}}.sn-cx-navigation__secondary-menu-item{align-self:flex-start;display:flex;flex-direction:column;position:relative;width:100%}.sn-cx-navigation__secondary-menu-item:has(#cx-nav-secondary-overflow){width:auto}@media(min-width:1366px){.sn-cx-navigation__secondary-menu-item{align-items:center;align-self:stretch;flex-shrink:0;justify-content:center;width:auto}}.sn-cx-navigation__secondary-menu-button{background:none;border:.125rem solid transparent;cursor:pointer;display:flex;flex:1 0 0;gap:.375rem;padding:.5rem 0}.sn-cx-navigation__secondary-menu-button.--active{cursor:default}.sn-cx-navigation__secondary-menu-button:focus-visible{border:.125rem solid var(--arc-color-ui-focus,#3eaa2b);outline:none}@media(min-width:1366px){.sn-cx-navigation__secondary-menu-button{align-items:center;gap:.375rem;justify-content:center;padding:0}}.sn-cx-navigation__secondary-menu-link{background:none;border:.125rem solid transparent;cursor:pointer;display:flex;flex:1 0 0;justify-content:space-between;padding:.5rem 0;text-decoration:none}.sn-cx-navigation__secondary-menu-link.--active{cursor:default}.sn-cx-navigation__secondary-menu-link:focus-visible{border:.125rem solid var(--arc-color-ui-focus,#3eaa2b);outline:none}@media(min-width:1366px){.sn-cx-navigation__secondary-menu-link{align-items:center;gap:.375rem;justify-content:center;padding:0}}.sn-cx-navigation__secondary-menu-text{color:var(--arc-color-text-primary-on-light,#1d1d1d);font-family:var(--now-font-family-sn-sans);font-size:1.25rem;font-style:normal;font-weight:500;letter-spacing:-.3px;line-height:110%}@media(min-width:1366px){.sn-cx-navigation__secondary-menu-text{color:var(--arc-color-neutral-700,#4f4f4f);font-family:var(--now-font-family-sn-sans);font-size:.875rem;font-weight:450;letter-spacing:unset;line-height:1.3125rem;white-space:nowrap}}.sn-cx-navigation__secondary-menu-logo-links{align-self:stretch;display:flex;flex:1;flex-direction:column;width:100%}@media(min-width:1366px){.sn-cx-navigation__secondary-menu-logo-links{align-items:center;align-self:flex-start;flex:unset;flex-direction:row;gap:3rem;justify-content:flex-start}}.sn-cx-navigation__secondary-menu-logo-wrapper,.sn-cx-navigation__secondary-menu-logo-wrapper img{height:1.625rem;width:7.375rem}.sn-cx-navigation__secondary-menu-divider{align-items:flex-start;align-self:stretch;background:rgba(29,29,29,.08);display:flex;flex:1 0 0;margin:1rem 0;max-height:.0625rem;min-height:.0625rem;padding:0 1rem}@media(min-width:1366px){.sn-cx-navigation__secondary-menu-divider{display:none}}.sn-cx-navigation__secondary-menu-item-indicator{bottom:0;display:none;height:.25rem;position:absolute;transform:scaleX(0);transition:transform .3s ease-in-out;width:100%}:host(:not([dir=rtl])) .sn-cx-navigation__secondary-menu-item-indicator,:root:not([dir=rtl]) .sn-cx-navigation__secondary-menu-item-indicator{left:0}:host([dir=rtl]) .sn-cx-navigation__secondary-menu-item-indicator,:root[dir=rtl] .sn-cx-navigation__secondary-menu-item-indicator{right:0}.sn-cx-navigation__secondary-menu-item-indicator.--hover{background:var(--Neutral-Neutral-300,#c3c3c3);transform:scaleX(1)}.sn-cx-navigation__secondary-menu-item-indicator.--hover-out{background:var(--Neutral-Neutral-300,#c3c3c3);transform:scaleX(0);transition:transform .3s ease-in-out}.sn-cx-navigation__secondary-menu-item-indicator.--active{background:var(--Brand-Wasabi-Green,#63df4e);transform:scaleX(1)}@media(min-width:1366px){.sn-cx-navigation__secondary-menu-item-indicator{display:block}}.sn-cx-navigation__secondary-menu-dropdown-list{align-items:center;display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;max-height:60vh;min-width:17.5rem;overflow:auto;padding:1.5rem .25rem;position:absolute;top:100%;visibility:hidden;width:17.5rem;z-index:1000}:host(:not([dir=rtl])) .sn-cx-navigation__secondary-menu-dropdown-list,:root:not([dir=rtl]) .sn-cx-navigation__secondary-menu-dropdown-list{left:0}:host([dir=rtl]) .sn-cx-navigation__secondary-menu-dropdown-list,:root[dir=rtl] .sn-cx-navigation__secondary-menu-dropdown-list{right:0}.sn-cx-navigation__secondary-menu-dropdown-list.--show{padding:0;visibility:visible;width:100%}@media(min-width:1366px){.sn-cx-navigation__secondary-menu-dropdown-list.--show{padding:1.5rem .25rem}.sn-cx-navigation__secondary-menu-dropdown-list{background:RGB(var(--now-color--neutral-0,255,255,255));border-radius:0 0 .75rem .75rem;box-shadow:0 .5rem .75rem 0 rgba(3,45,66,.15)}}.sn-cx-navigation__secondary-menu-expanded-dropdown-heading{align-items:center;border-bottom:.0625rem solid #ebebeb;cursor:pointer;display:flex;padding:.5rem .75rem;width:100%}.sn-cx-navigation__secondary-menu-expanded-dropdown-heading:focus-within{border-radius:.5rem;outline:.125rem solid var(--arc-color-ui-focus,#3eaa2b)}.sn-cx-navigation__secondary-menu-toggle{background:none;border:none;cursor:pointer;margin:0;padding:0}@media(min-width:1366px){.sn-cx-navigation__secondary-menu-toggle{display:none}}.sn-cx-navigation__secondary-menu-expanded-dropdown-heading-text{color:#1d1d1d;font-family:var(--now-font-family-sn-sans);font-size:1.25rem;font-style:normal;font-weight:450;line-height:150%}.sn-cx-navigation__secondary-menu-expanded-icon{align-items:center;display:flex;justify-content:center}.sn-cx-navigation__secondary-menu-dropdown-item{align-items:flex-start;align-self:stretch;display:flex;flex-direction:column;padding:.5rem 0}.sn-cx-navigation__secondary-menu-dropdown-item:hover{background:#f7f7f7;border-radius:.5rem}@media(min-width:1366px){.sn-cx-navigation__secondary-menu-dropdown-item{padding:.5rem .75rem}.sn-cx-navigation__secondary-menu-dropdown-item:focus-within{border-radius:.5rem;outline:.125rem solid var(--arc-color-ui-focus,#3eaa2b)}}.sn-cx-navigation__secondary-menu-expanded-dropdown-button{align-items:center;background:none;border:none;display:flex;gap:.5rem;margin:0;padding:0;width:100%}.sn-cx-navigation__secondary-menu-expanded-dropdown-button:focus-visible{outline:none}.sn-cx-navigation__secondary-menu-toggle-wrapper{align-items:center;border-bottom:.0625rem solid var(--arc-color-neutral-100,#ebebeb);display:flex;gap:1.5rem;height:3.25rem;justify-content:space-between;padding:0 1rem;width:100%}@media(min-width:1366px){.sn-cx-navigation__secondary-menu-toggle-wrapper{height:4rem}}@media(min-width:576px){.sn-cx-navigation__secondary-menu-toggle-wrapper{padding:0 1.5rem}}@media(min-width:768px){.sn-cx-navigation__secondary-menu-toggle-wrapper{gap:2rem;padding:0 1.5rem}}@media(min-width:1024px){.sn-cx-navigation__secondary-menu-toggle-wrapper{padding:0 1.5rem}}@media(min-width:1366px){.sn-cx-navigation__secondary-menu-toggle-wrapper{align-items:center;border-bottom:0;display:flex;flex-direction:row;gap:0;justify-content:flex-start;padding:0;width:auto}}.sn-cx-navigation__secondary-menu-expanded-icon{display:block;line-height:0}.sn-cx-navigation__secondary-menu-dropdown-title-container{align-items:center;background:#fff;display:none;height:3rem}@media(min-width:1366px){.sn-cx-navigation__secondary-menu-dropdown-title-container{display:none}}.sn-cx-navigation__secondary-menu-back-button{align-items:center;background:none;border:none;box-sizing:content-box;cursor:pointer;display:flex;gap:.25rem;margin:.25rem .25rem .25rem 0;padding:0}:host([dir=rtl]) .sn-cx-navigation__secondary-menu-back-button svg,:root[dir=rtl] .sn-cx-navigation__secondary-menu-back-button svg{transform:scaleX(-1)}.sn-cx-navigation__secondary-menu-dropdown-title{color:#1d1d1d;flex:1 0 0;font-family:var(--now-font-family-sn-sans);font-size:1.25rem;font-style:normal;font-weight:500;line-height:normal;margin:0}.sn-cx-navigation__secondary-menu-expanded-dropdown-sublist{padding:0;width:100%}.sn-cx-navigation__secondary-menu-dropdown-item-wrapper{align-items:center;display:flex;flex-direction:row;gap:.5rem;width:100%}.sn-cx-navigation__secondary-menu-dropdown-subitem-icon{align-items:center;display:flex;justify-content:center}.sn-cx-navigation__secondary-menu-dropdown-button{align-items:center;background:none;border:none;border:.0625rem solid transparent;cursor:pointer;display:flex;gap:.5rem;justify-content:space-between;padding:0;width:100%}.sn-cx-navigation__secondary-menu-dropdown-button:focus-visible{outline:none}.sn-cx-navigation__secondary-menu-dropdown-link{align-items:center;background:none;border:none;border:.0625rem solid transparent;cursor:pointer;display:flex;gap:.5rem;justify-content:space-between;padding:0;text-decoration:none;width:100%}.sn-cx-navigation__secondary-menu-dropdown-link:focus-visible{outline:none}.sn-cx-navigation__secondary-menu-dropdown-text{color:#1d1d1d;font-family:var(--now-font-family-sn-sans);font-size:1rem;font-style:normal;font-weight:500;line-height:125%}@media(min-width:1366px){.sn-cx-navigation__secondary-menu-dropdown-text{font-weight:400;line-height:150%}}.sn-cx-navigation__secondary-menu-ctas{align-items:center;background:#fff;display:none;flex-direction:column;flex-shrink:3;gap:1rem;padding:0 1rem;padding-bottom:3rem}@media(min-width:576px){.sn-cx-navigation__secondary-menu-ctas{padding:0 1.5rem;padding-bottom:3rem}}@media(min-width:768px){.sn-cx-navigation__secondary-menu-ctas{padding:0 1.5rem;padding-bottom:3rem}}@media(min-width:1024px){.sn-cx-navigation__secondary-menu-ctas{padding:0 1.5rem;padding-bottom:3rem}}@media(min-width:1366px){.sn-cx-navigation__secondary-menu-ctas{align-items:flex-start;background:transparent;display:flex;flex-direction:row;gap:2rem;justify-content:flex-end;padding:0}}.sn-cx-navigation__secondary-menu-cta-button,.sn-cx-navigation__secondary-menu-cta-informational,.sn-cx-navigation__secondary-menu-cta-link{align-items:center;background:RGB(var(--sn-cx-navigation-secondary-menu-cta__background,98,216,78));border:.125rem solid var(--brand-green-tints-brand-green-500-wasabi-green,#63df4e);border-radius:var(--sn-cx-navigation-secondary-meny-cta__border-radius,var(--arc-border-radius-capsule,500px));color:var(--arc-color-infiniteblue,#032d42);cursor:pointer;display:flex;font-family:var(--now-font-family-sn-sans);font-size:1rem;font-style:normal;font-weight:450;gap:var(--sn-cx-navigation-secondary-cta__gap,.125rem);height:3rem;justify-content:center;line-height:normal;min-height:2.25rem;padding:0 1.5rem;text-decoration:none;white-space:nowrap;width:100%}.sn-cx-navigation__secondary-menu-cta-button.--secondary,.sn-cx-navigation__secondary-menu-cta-informational.--secondary,.sn-cx-navigation__secondary-menu-cta-link.--secondary{background:RGBA(var(--sn-cx-navigation-secondary-cta-outline__background,0,0,0,0))}.sn-cx-navigation__secondary-menu-cta-button.--secondary.--disabled,.sn-cx-navigation__secondary-menu-cta-informational.--secondary.--disabled,.sn-cx-navigation__secondary-menu-cta-link.--secondary.--disabled{background:RGBA(var(--sn-cx-navigation-secondary-cta-outline-disabled__background,0,0,0,0))}.sn-cx-navigation__secondary-menu-cta-button.--secondary.--disabled:hover,.sn-cx-navigation__secondary-menu-cta-informational.--secondary.--disabled:hover,.sn-cx-navigation__secondary-menu-cta-link.--secondary.--disabled:hover{background:inherit}.sn-cx-navigation__secondary-menu-cta-button.--disabled,.sn-cx-navigation__secondary-menu-cta-informational.--disabled,.sn-cx-navigation__secondary-menu-cta-link.--disabled{cursor:not-allowed;opacity:var(--sn-cx-navigation-secondary-cta-disabled__opacity,.25)}.sn-cx-navigation__secondary-menu-cta-button.--disabled,.sn-cx-navigation__secondary-menu-cta-button.--disabled:hover,.sn-cx-navigation__secondary-menu-cta-informational.--disabled,.sn-cx-navigation__secondary-menu-cta-informational.--disabled:hover,.sn-cx-navigation__secondary-menu-cta-link.--disabled,.sn-cx-navigation__secondary-menu-cta-link.--disabled:hover{background:RGB(var(--sn-cx-navigation-secondary-cta-disabled__background-color,191,191,191));border-color:RGB(var(--sn-cx-navigation-secondary-cta-disabled__border-color,191,191,191))}.sn-cx-navigation__secondary-menu-cta-button.--disabled img,.sn-cx-navigation__secondary-menu-cta-informational.--disabled img,.sn-cx-navigation__secondary-menu-cta-link.--disabled img{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.sn-cx-navigation__secondary-menu-cta-button.--informational,.sn-cx-navigation__secondary-menu-cta-button.--informational:hover,.sn-cx-navigation__secondary-menu-cta-informational.--informational,.sn-cx-navigation__secondary-menu-cta-informational.--informational:hover,.sn-cx-navigation__secondary-menu-cta-link.--informational,.sn-cx-navigation__secondary-menu-cta-link.--informational:hover{background:transparent;border:.125rem solid transparent}.sn-cx-navigation__secondary-menu-cta-button.--icon-only:has(img),.sn-cx-navigation__secondary-menu-cta-informational.--icon-only:has(img),.sn-cx-navigation__secondary-menu-cta-link.--icon-only:has(img){aspect-ratio:1/1;padding:0}.sn-cx-navigation__secondary-menu-cta-button img,.sn-cx-navigation__secondary-menu-cta-informational img,.sn-cx-navigation__secondary-menu-cta-link img{height:1.5rem;width:1.5rem}:host(:not([dir=rtl])) .sn-cx-navigation__secondary-menu-cta-button img,:host(:not([dir=rtl])) .sn-cx-navigation__secondary-menu-cta-informational img,:host(:not([dir=rtl])) .sn-cx-navigation__secondary-menu-cta-link img,:root:not([dir=rtl]) .sn-cx-navigation__secondary-menu-cta-button img,:root:not([dir=rtl]) .sn-cx-navigation__secondary-menu-cta-informational img,:root:not([dir=rtl]) .sn-cx-navigation__secondary-menu-cta-link img{margin-right:.5rem}:host([dir=rtl]) .sn-cx-navigation__secondary-menu-cta-button img,:host([dir=rtl]) .sn-cx-navigation__secondary-menu-cta-informational img,:host([dir=rtl]) .sn-cx-navigation__secondary-menu-cta-link img,:root[dir=rtl] .sn-cx-navigation__secondary-menu-cta-button img,:root[dir=rtl] .sn-cx-navigation__secondary-menu-cta-informational img,:root[dir=rtl] .sn-cx-navigation__secondary-menu-cta-link img{margin-left:.5rem}@media(min-width:1366px){.sn-cx-navigation__secondary-menu-cta-button img,.sn-cx-navigation__secondary-menu-cta-informational img,.sn-cx-navigation__secondary-menu-cta-link img{height:1rem;width:1rem}:host(:not([dir=rtl])) .sn-cx-navigation__secondary-menu-cta-button img,:host(:not([dir=rtl])) .sn-cx-navigation__secondary-menu-cta-informational img,:host(:not([dir=rtl])) .sn-cx-navigation__secondary-menu-cta-link img,:root:not([dir=rtl]) .sn-cx-navigation__secondary-menu-cta-button img,:root:not([dir=rtl]) .sn-cx-navigation__secondary-menu-cta-informational img,:root:not([dir=rtl]) .sn-cx-navigation__secondary-menu-cta-link img{margin-right:0}:host([dir=rtl]) .sn-cx-navigation__secondary-menu-cta-button img,:host([dir=rtl]) .sn-cx-navigation__secondary-menu-cta-informational img,:host([dir=rtl]) .sn-cx-navigation__secondary-menu-cta-link img,:root[dir=rtl] .sn-cx-navigation__secondary-menu-cta-button img,:root[dir=rtl] .sn-cx-navigation__secondary-menu-cta-informational img,:root[dir=rtl] .sn-cx-navigation__secondary-menu-cta-link img{margin-left:0}}.sn-cx-navigation__secondary-menu-cta-button:hover,.sn-cx-navigation__secondary-menu-cta-informational:hover,.sn-cx-navigation__secondary-menu-cta-link:hover{background:var(--Brand-Green-Tints-Brand-Green-300,#9fe793);border-color:var(--Brand-Green-Tints-Brand-Green-300,#9fe793)}.sn-cx-navigation__secondary-menu-cta-button.selected,.sn-cx-navigation__secondary-menu-cta-informational.selected,.sn-cx-navigation__secondary-menu-cta-link.selected{background:var(--Brand-Green-Tints-Brand-Green-400,#81df71);border-color:var(--Brand-Green-Tints-Brand-Green-400,#81df71)}.sn-cx-navigation__secondary-menu-cta-button:focus,.sn-cx-navigation__secondary-menu-cta-informational:focus,.sn-cx-navigation__secondary-menu-cta-link:focus{box-shadow:0 0 0 .1875rem rgba(129,223,113,.5);outline:none}.sn-cx-navigation__secondary-menu-cta-button:active,.sn-cx-navigation__secondary-menu-cta-informational:active,.sn-cx-navigation__secondary-menu-cta-link:active{background:var(--Brand-Green-Tints-Brand-Green-400,#81df71);border-color:var(--Brand-Green-Tints-Brand-Green-400,#81df71);transform:scale(.98)}@media(min-width:576px){.sn-cx-navigation__secondary-menu-cta-button,.sn-cx-navigation__secondary-menu-cta-informational,.sn-cx-navigation__secondary-menu-cta-link{width:auto}}@media(min-width:1366px){.sn-cx-navigation__secondary-menu-cta-button,.sn-cx-navigation__secondary-menu-cta-informational,.sn-cx-navigation__secondary-menu-cta-link{color:var(--arc-color-infiniteblue,#032d42);display:inline-flex;font-family:var(--now-font-family-sn-sans);font-size:.875rem;font-weight:450;height:2.25rem;padding:0 1.25rem}}.sn-cx-navigation__secondary-menu-utilities{display:flex}@media(min-width:320px)and (max-width:1365px){.sn-cx-navigation__secondary-menu-utilities{align-items:center;align-self:stretch;flex-direction:column;gap:24px;justify-content:flex-end;padding:24px 0}}@media(min-width:1366px){.sn-cx-navigation__secondary-menu-utilities{flex-direction:row;justify-content:flex-start}}@media(min-width:320px)and (max-width:1365px){.sn-cx-navigation__secondary-menu.--expanded{height:calc(var(--now-sn-cx-navigation--full-screen-height, 100vh) - var(--now-sn-cx-navigation--megamenu-overlay--top, 48px));overflow-y:auto}}@media(min-width:320px)and (max-width:1365px)and (min-width:1366px){.sn-cx-navigation__secondary-menu.--expanded{height:auto}}@media(min-width:320px)and (max-width:1365px){.sn-cx-navigation__secondary-menu.--expanded .sn-cx-navigation__secondary-menu-ctas,.sn-cx-navigation__secondary-menu.--expanded .sn-cx-navigation__secondary-menu-item,.sn-cx-navigation__secondary-menu.--expanded .sn-cx-navigation__secondary-menu-list{display:flex}.sn-cx-navigation__secondary-menu.--expanded.--dropdown-expanded .sn-cx-navigation__secondary-menu-dropdown-title-container{display:flex;margin-bottom:1rem;width:100%}.sn-cx-navigation__secondary-menu.--expanded.--dropdown-expanded .sn-cx-navigation__secondary-menu-list{padding-top:0}.sn-cx-navigation__secondary-menu.--expanded.--dropdown-expanded .sn-cx-navigation__secondary-menu-list>li{display:none}.sn-cx-navigation__secondary-menu.--expanded.--dropdown-expanded .sn-cx-navigation__secondary-menu-list li.--expanded{display:block}.sn-cx-navigation__secondary-menu.--expanded.--dropdown-expanded .sn-cx-navigation__secondary-menu-list li.--expanded>a,.sn-cx-navigation__secondary-menu.--expanded.--dropdown-expanded .sn-cx-navigation__secondary-menu-list li.--expanded>span{display:none}}@media(min-width:320px)and (max-width:1365px)and (min-width:1366px){.sn-cx-navigation__secondary-menu.--expanded.--dropdown-expanded .sn-cx-navigation__secondary-menu-list li.--expanded,.sn-cx-navigation__secondary-menu.--expanded.--dropdown-expanded .sn-cx-navigation__secondary-menu-list li.--expanded>a,.sn-cx-navigation__secondary-menu.--expanded.--dropdown-expanded .sn-cx-navigation__secondary-menu-list li.--expanded>span{display:flex}}@media(min-width:320px)and (max-width:1365px){.sn-cx-navigation__secondary-menu.--expanded.--dropdown-expanded .sn-cx-navigation__secondary-menu-ctas{display:none}}.sn-cx-navigation__secondary-no-logo{clear:both;width:80px}.sn-cx-navigation__language-menu__container{align-items:flex-start;background:#032d42;box-sizing:border-box;display:none;flex-direction:column-reverse;gap:1rem;height:100vh;justify-content:flex-end;overflow-y:auto;position:absolute;top:0;width:100%;z-index:2000}:host(:not([dir=rtl])) .sn-cx-navigation__language-menu__container,:root:not([dir=rtl]) .sn-cx-navigation__language-menu__container{left:0}:host([dir=rtl]) .sn-cx-navigation__language-menu__container,:root[dir=rtl] .sn-cx-navigation__language-menu__container{right:0}.sn-cx-navigation__language-menu__container.-is-open{display:flex}@media(min-width:768px){.sn-cx-navigation__language-menu__container{border-bottom:.0625rem solid #1b4459;border-radius:0 0 .5rem .5rem;box-shadow:0 .75rem 1rem 0 rgba(0,0,0,.6);flex-direction:column;height:auto;justify-content:flex-start;max-width:45rem;padding:1.5rem 0;top:4rem;width:45rem}:host(:not([dir=rtl])) .sn-cx-navigation__language-menu__container,:root:not([dir=rtl]) .sn-cx-navigation__language-menu__container{border-right:.0625rem solid #1b4459}:host([dir=rtl]) .sn-cx-navigation__language-menu__container,:root[dir=rtl] .sn-cx-navigation__language-menu__container{border-left:.0625rem solid #1b4459}:host(:not([dir=rtl])) .sn-cx-navigation__language-menu__container,:root:not([dir=rtl]) .sn-cx-navigation__language-menu__container{border-left:.0625rem solid #1b4459}:host([dir=rtl]) .sn-cx-navigation__language-menu__container,:root[dir=rtl] .sn-cx-navigation__language-menu__container{border-right:.0625rem solid #1b4459}:host(:not([dir=rtl])) .sn-cx-navigation__language-menu__container,:root:not([dir=rtl]) .sn-cx-navigation__language-menu__container{right:auto}:host([dir=rtl]) .sn-cx-navigation__language-menu__container,:root[dir=rtl] .sn-cx-navigation__language-menu__container{left:auto}:host(:not([dir=rtl])) .sn-cx-navigation__language-menu__container,:root:not([dir=rtl]) .sn-cx-navigation__language-menu__container{left:50%}:host([dir=rtl]) .sn-cx-navigation__language-menu__container,:root[dir=rtl] .sn-cx-navigation__language-menu__container{right:50%}:host(:not([dir=rtl])) .sn-cx-navigation__language-menu__container,:root:not([dir=rtl]) .sn-cx-navigation__language-menu__container{margin-left:-22.5rem}:host([dir=rtl]) .sn-cx-navigation__language-menu__container,:root[dir=rtl] .sn-cx-navigation__language-menu__container{margin-right:-22.5rem}}@media(min-width:1024px){.sn-cx-navigation__language-menu__container{top:3.25rem}:host(:not([dir=rtl])) .sn-cx-navigation__language-menu__container,:root:not([dir=rtl]) .sn-cx-navigation__language-menu__container{right:-.75rem}:host([dir=rtl]) .sn-cx-navigation__language-menu__container,:root[dir=rtl] .sn-cx-navigation__language-menu__container{left:-.75rem}:host(:not([dir=rtl])) .sn-cx-navigation__language-menu__container,:root:not([dir=rtl]) .sn-cx-navigation__language-menu__container{left:auto}:host([dir=rtl]) .sn-cx-navigation__language-menu__container,:root[dir=rtl] .sn-cx-navigation__language-menu__container{right:auto}}.sn-cx-navigation__language-menu__languagegroups{align-items:flex-start;display:flex;flex-direction:column;gap:1rem;overflow-x:hidden;overflow-y:auto;width:100%}@media(min-width:768px){.sn-cx-navigation__language-menu__languagegroups{flex-direction:row}}.sn-cx-navigation__language-menu__header{align-items:center;display:flex;height:3rem;justify-content:space-between;padding:0 1rem;width:100%}@media(min-width:768px){.sn-cx-navigation__language-menu__header{display:none}}.sn-cx-navigation__language-menu__header__text{color:var(--arc-color-text-primary-on-dark,#fff);font-family:var(--now-font-family-sn-sans);font-size:1.125rem;font-style:normal;font-weight:500;letter-spacing:-.016875rem;line-height:1.2375rem;margin:0;padding:0;text-align:center}.sn-cx-navigation__language-menu__header__btn-return{background-color:transparent;border:0;color:#fff;cursor:pointer;margin:0;padding:0}:host([dir=rtl]) .sn-cx-navigation__language-menu__header__btn-return svg,:root[dir=rtl] .sn-cx-navigation__language-menu__header__btn-return svg{transform:scaleX(-1)}.sn-cx-navigation__language-menu__header__btn-close{background-color:transparent;border:0;color:#fff;cursor:pointer;margin:0;padding:0}.sn-cx-navigation__language-menu__disbaled-lang-text{color:var(--arc-color-brandblue-200,#bccad4);flex:1 0 0;font-family:var(--now-font-family-sn-sans);font-size:.75rem;font-style:normal;font-weight:400;line-height:normal;margin:0}.sn-cx-navigation__language-menu__disbaled-lang-icon{height:1.5rem;width:1.5rem}.sn-cx-navigation__language-menu__disbaled-lang-text-section{padding:0 1rem;width:100%}.sn-cx-navigation__language-menu__disbaled-lang-text-container{align-items:center;border:1px solid #6c889a;border-radius:8px;display:flex;gap:.75rem;padding:.75rem}.sn-cx-navigation__language-menu__region{align-items:flex-start;display:flex;flex-direction:column;flex-shrink:0;gap:.5rem;min-width:13.1875rem;width:100%}.sn-cx-navigation__language-menu__region:last-child{min-width:16.625rem}.sn-cx-navigation__language-menu__region__heading{color:var(--arc-color-text-primary-on-dark,#fff);font-family:var(--now-font-family-sn-sans);font-size:1rem;font-style:normal;font-weight:500;height:1.5rem;line-height:1.5rem;margin:0;padding:0 1rem}@media(min-width:320px)and (max-width:575px){.sn-cx-navigation__language-menu__region__heading{color:var(--arc-color-text-primary-on-dark,#fff);font-family:var(--now-font-family-sn-sans);font-size:1.125rem;font-weight:500;letter-spacing:-.27px;line-height:1.2375rem}}.sn-cx-navigation__language-menu__region__language-item-list{align-items:flex-start;align-self:stretch;display:flex;flex-direction:column;margin-left:px2rem(4px)}:host(:not([dir=rtl])) .sn-cx-navigation__language-menu__region__language-item-list,:root:not([dir=rtl]) .sn-cx-navigation__language-menu__region__language-item-list{padding-left:0}:host([dir=rtl]) .sn-cx-navigation__language-menu__region__language-item-list,:root[dir=rtl] .sn-cx-navigation__language-menu__region__language-item-list{padding-right:0}@media(min-width:768px){.sn-cx-navigation__language-menu__region{width:auto}}.sn-cx-navigation__language-menu__item{align-items:flex-start;align-self:stretch;color:#d7e0e6;cursor:pointer;display:flex;flex-direction:column;font-family:var(--now-font-family-sn-sans);font-size:.875rem;font-style:normal;font-weight:400;justify-content:center;line-height:150%;width:100%}.sn-cx-navigation__language-menu__item:has(.--disabled){cursor:not-allowed}.sn-cx-navigation__language-menu__item__name{color:rgb(var(--now-color--neutral-0,#ffffff));padding:.5rem 1rem;text-decoration:none;width:100%}.sn-cx-navigation__language-menu__item__name:hover{background-color:#124d6b}.sn-cx-navigation__language-menu__item__name:active{background-color:#1b4459}.sn-cx-navigation__language-menu__item__name:focus{background-color:#032d42;border-radius:.25rem;box-sizing:border-box;outline:.125rem solid var(--arc-color-ui-focus,#3eaa2b)}.sn-cx-navigation__language-menu__item__name.--active{background-color:#124d6b}:host(:not([dir=rtl])) .sn-cx-navigation__language-menu__item__name.--active,:root:not([dir=rtl]) .sn-cx-navigation__language-menu__item__name.--active{border-left:.25rem solid #63df4e}:host([dir=rtl]) .sn-cx-navigation__language-menu__item__name.--active,:root[dir=rtl] .sn-cx-navigation__language-menu__item__name.--active{border-right:.25rem solid #63df4e}:host(:not([dir=rtl])) .sn-cx-navigation__language-menu__item__name.--active,:root:not([dir=rtl]) .sn-cx-navigation__language-menu__item__name.--active{margin-left:0}:host([dir=rtl]) .sn-cx-navigation__language-menu__item__name.--active,:root[dir=rtl] .sn-cx-navigation__language-menu__item__name.--active{margin-right:0}.sn-cx-navigation__language-menu__item__name.--disabled{color:rgb(var(--now-color--neutral-0,#ffffff));opacity:.3;outline:none;pointer-events:none}.sn-cx-navigation__notification-menu{align-items:flex-start;background:var(--arc-color-infiniteblue,#032d42);border-bottom:1px solid var(--Brand-Blue-Tints-Brand-Blue-800,#1b4459);box-shadow:0 12px 16px 0 rgba(0,0,0,.6);color:#fff;display:flex;flex-direction:column;height:100vh;overflow:auto;padding:0 0 .75rem 0;position:absolute;top:0;width:100%;z-index:2000}:host(:not([dir=rtl])) .sn-cx-navigation__notification-menu,:root:not([dir=rtl]) .sn-cx-navigation__notification-menu{border-right:1px solid var(--Brand-Blue-Tints-Brand-Blue-800,#1b4459)}:host([dir=rtl]) .sn-cx-navigation__notification-menu,:root[dir=rtl] .sn-cx-navigation__notification-menu{border-left:1px solid var(--Brand-Blue-Tints-Brand-Blue-800,#1b4459)}:host(:not([dir=rtl])) .sn-cx-navigation__notification-menu,:root:not([dir=rtl]) .sn-cx-navigation__notification-menu{border-left:1px solid var(--Brand-Blue-Tints-Brand-Blue-800,#1b4459)}:host([dir=rtl]) .sn-cx-navigation__notification-menu,:root[dir=rtl] .sn-cx-navigation__notification-menu{border-right:1px solid var(--Brand-Blue-Tints-Brand-Blue-800,#1b4459)}:host(:not([dir=rtl])) .sn-cx-navigation__notification-menu,:root:not([dir=rtl]) .sn-cx-navigation__notification-menu{left:0}:host([dir=rtl]) .sn-cx-navigation__notification-menu,:root[dir=rtl] .sn-cx-navigation__notification-menu{right:0}@media(min-width:768px){.sn-cx-navigation__notification-menu{height:calc(var(--now-sn-cx-navigation--full-screen-height, 100vh) - var(--now-sn-cx-navigation--megamenu-overlay--top, 48px));padding:12px 0;top:3rem}}@media(min-width:1024px){.sn-cx-navigation__notification-menu{border-radius:0 0 12px 12px;height:auto;top:3.25rem;width:416px}:host(:not([dir=rtl])) .sn-cx-navigation__notification-menu,:root:not([dir=rtl]) .sn-cx-navigation__notification-menu{left:unset}:host([dir=rtl]) .sn-cx-navigation__notification-menu,:root[dir=rtl] .sn-cx-navigation__notification-menu{right:unset}:host(:not([dir=rtl])) .sn-cx-navigation__notification-menu,:root:not([dir=rtl]) .sn-cx-navigation__notification-menu{right:-.75rem}:host([dir=rtl]) .sn-cx-navigation__notification-menu,:root[dir=rtl] .sn-cx-navigation__notification-menu{left:-.75rem}}.sn-cx-navigation__notification-menu__header{align-items:center;display:var(--sn-cx-navigation--notification-menu--header-display,flex);display:flex;height:3rem;justify-content:space-between;padding:0 1rem;width:100%}@media(min-width:768px){.sn-cx-navigation__notification-menu__header{display:none}}.sn-cx-navigation__notification-menu__header__text{color:var(--arc-color-text-primary-on-dark,#fff);font-family:var(--now-font-family-sn-sans);font-size:1.125rem;font-style:normal;font-weight:500;letter-spacing:-.016875rem;line-height:1.2375rem;margin:0;padding:0;text-align:center}.sn-cx-navigation__notification-menu__header__btn-return{background-color:transparent;border:0;color:#fff;cursor:pointer;margin:0;padding:0}:host([dir=rtl]) .sn-cx-navigation__notification-menu__header__btn-return svg,:root[dir=rtl] .sn-cx-navigation__notification-menu__header__btn-return svg{transform:scaleX(-1)}.sn-cx-navigation__notification-menu__header__btn-close{background-color:transparent;border:0;color:#fff;cursor:pointer;margin:0;padding:0}.sn-cx-navigation__utility-dropdown-menu{align-items:flex-start;background:var(--arc-color-white,#fff);color:var(--arc-color-text-primary-on-light,#1d1d1d);display:flex;flex-direction:column;height:100vh;overflow:auto;padding:0 0 .75rem 0;position:absolute;top:6.25rem;width:100%;z-index:2000}:host(:not([dir=rtl])) .sn-cx-navigation__utility-dropdown-menu,:root:not([dir=rtl]) .sn-cx-navigation__utility-dropdown-menu{left:0}:host([dir=rtl]) .sn-cx-navigation__utility-dropdown-menu,:root[dir=rtl] .sn-cx-navigation__utility-dropdown-menu{right:0}@media(min-width:768px)and (max-width:1365px){.sn-cx-navigation__utility-dropdown-menu{top:7.25rem}}@media(min-width:1366px){.sn-cx-navigation__utility-dropdown-menu{border-radius:0 0 12px 12px;box-shadow:0 12px 16px 0 rgba(0,0,0,.6);height:calc(var(--now-sn-cx-navigation--full-screen-height, 100vh) - var(--now-sn-cx-navigation--megamenu-overlay--top, 48px));height:auto;padding:12px 0;top:3.25rem;width:416px}:host(:not([dir=rtl])) .sn-cx-navigation__utility-dropdown-menu,:root:not([dir=rtl]) .sn-cx-navigation__utility-dropdown-menu{left:unset}:host([dir=rtl]) .sn-cx-navigation__utility-dropdown-menu,:root[dir=rtl] .sn-cx-navigation__utility-dropdown-menu{right:unset}:host(:not([dir=rtl])) .sn-cx-navigation__utility-dropdown-menu,:root:not([dir=rtl]) .sn-cx-navigation__utility-dropdown-menu{right:-.75rem}:host([dir=rtl]) .sn-cx-navigation__utility-dropdown-menu,:root[dir=rtl] .sn-cx-navigation__utility-dropdown-menu{left:-.75rem}}.sn-cx-navigation__utility-dropdown-menu__header{align-items:center;display:var(--sn-cx-navigation--utility-dropdown-menu--header-display,flex);display:flex;height:3rem;justify-content:space-between;padding:0 1rem;width:100%}@media(min-width:1366px){.sn-cx-navigation__utility-dropdown-menu__header{display:none}}.sn-cx-navigation__utility-dropdown-menu__header__text{color:var(--arc-color-text-primary-on-light,#1d1d1d);font-family:var(--now-font-family-sn-sans);font-size:1.125rem;font-style:normal;font-weight:500;letter-spacing:-.016875rem;line-height:1.2375rem;margin:0;padding:0;text-align:center}.sn-cx-navigation__utility-dropdown-menu__header__btn-return{background-color:transparent;border:0;color:#000;cursor:pointer;margin:0;padding:0}:host([dir=rtl]) .sn-cx-navigation__utility-dropdown-menu__header__btn-return svg,:root[dir=rtl] .sn-cx-navigation__utility-dropdown-menu__header__btn-return svg{transform:scaleX(-1)}.sn-cx-navigation__utility-dropdown-menu__header__btn-close{background-color:transparent;border:0;color:#000;cursor:pointer;margin:0;padding:0}.sn-cx-navigation__megamenu-overlay{background-color:#032d42;bottom:0;content:\\\"\\\";cursor:pointer;display:none;opacity:.9;position:fixed;top:var(--now-sn-cx-navigation--megamenu-overlay--top,4rem);z-index:-2}:host(:not([dir=rtl])) .sn-cx-navigation__megamenu-overlay,:root:not([dir=rtl]) .sn-cx-navigation__megamenu-overlay{left:0}:host([dir=rtl]) .sn-cx-navigation__megamenu-overlay,:root[dir=rtl] .sn-cx-navigation__megamenu-overlay{right:0}:host(:not([dir=rtl])) .sn-cx-navigation__megamenu-overlay,:root:not([dir=rtl]) .sn-cx-navigation__megamenu-overlay{right:0}:host([dir=rtl]) .sn-cx-navigation__megamenu-overlay,:root[dir=rtl] .sn-cx-navigation__megamenu-overlay{left:0}@media(min-width:1024px){.sn-cx-navigation__megamenu-overlay{display:block}}.sn-cx-icon{display:inline-flex}.sn-cx-icon--rtl{transform:scaleX(-1)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".now-collapse{block-size:0;overflow:hidden;visibility:hidden}.is-expanded{block-size:auto;overflow:visible;visibility:visible}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:block}.now-heading{-webkit-margin-before:0;font-variant:normal;letter-spacing:inherit;margin-block-start:0;text-align:start;text-indent:0;text-shadow:none;white-space:normal;word-spacing:inherit}.now-heading.-header{-webkit-margin-after:1em;margin-block-end:1em}.now-heading.-header.-hero{color:RGB(var(--now-heading--header-hero--color,var(--now-display-type--head-primary--color,var(--now-display-type--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))))));font-family:var(--now-heading--header-hero--font-family,var(--now-display-type--head-primary--font-family,var(--now-display-type--header-primary--font-family,var(--now-display-type--primary--font-family,var(--now-display-type--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))))));font-size:var(--now-display-type_header--font-size--lg3,var(--now-font-size--lg3,2rem));font-style:var(--now-heading--header-hero--font-style,var(--now-display-type--head-primary--font-style,var(--now-display-type--header-primary--font-style,var(--now-display-type--primary--font-style,var(--now-display-type--font-style,normal)))));font-weight:var(--now-heading--header-hero--font-weight,var(--now-display-type--head-primary--font-weight,var(--now-display-type--header-primary--font-weight,var(--now-display-type--primary--font-weight,600))));text-transform:var(--now-heading--header-hero--text-transform,var(--now-display-type--head-primary--text-transform,var(--now-display-type--header-primary--text-transform,var(--now-display-type--primary--text-transform,var(--now-display-type--text-transform,none)))))}.now-heading.-header.-primary{color:RGB(var(--now-heading--header-primary--color,var(--now-display-type--head-primary--color,var(--now-display-type--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))))));font-family:var(--now-heading--header-primary--font-family,var(--now-display-type--head-primary--font-family,var(--now-display-type--header-primary--font-family,var(--now-display-type--primary--font-family,var(--now-display-type--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))))));font-size:var(--now-display-type_header--font-size--lg1,var(--now-font-size--lg1,1.5rem));font-style:var(--now-heading--header-primary--font-style,var(--now-display-type--head-primary--font-style,var(--now-display-type--header-primary--font-style,var(--now-display-type--primary--font-style,var(--now-display-type--font-style,normal)))));font-weight:var(--now-heading--header-primary--font-weight,var(--now-display-type--head-primary--font-weight,var(--now-display-type--header-primary--font-weight,var(--now-display-type--primary--font-weight,600))));text-transform:var(--now-heading--header-primary--text-transform,var(--now-display-type--head-primary--text-transform,var(--now-display-type--header-primary--text-transform,var(--now-display-type--primary--text-transform,var(--now-display-type--text-transform,none)))))}.now-heading.-header.-secondary{color:RGB(var(--now-heading--header-secondary--color,var(--now-display-type--head-secondary--color,var(--now-display-type--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))))));font-family:var(--now-heading--header-secondary--font-family,var(--now-display-type--head-secondary--font-family,var(--now-display-type--header-secondary--font-family,var(--now-display-type--secondary--font-family,var(--now-display-type--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))))));font-size:var(--now-display-type_header--font-size--lg,var(--now-font-size--lg,1.25rem));font-style:var(--now-heading--header-secondary--font-style,var(--now-display-type--head-secondary--font-style,var(--now-display-type--header-secondary--font-style,var(--now-display-type--secondary--font-style,var(--now-display-type--font-style,normal)))));font-weight:var(--now-heading--header-secondary--font-weight,var(--now-display-type--head-secondary--font-weight,var(--now-display-type--header-secondary--font-weight,var(--now-display-type--secondary--font-weight,var(--now-display-type--font-weight,normal)))));text-transform:var(--now-heading--header-secondary--text-transform,var(--now-display-type--head-secondary--text-transform,var(--now-display-type--header-secondary--text-transform,var(--now-display-type--secondary--text-transform,var(--now-display-type--text-transform,none)))))}.now-heading.-header.-tertiary{color:RGB(var(--now-heading--header-tertiary--color,var(--now-display-type--head-tertiary--color,var(--now-display-type--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))))));font-family:var(--now-heading--header-tertiary--font-family,var(--now-display-type--head-tertiary--font-family,var(--now-display-type--header-tertiary--font-family,var(--now-display-type--tertiary--font-family,var(--now-display-type--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))))));font-style:var(--now-heading--header-tertiary--font-style,var(--now-display-type--head-tertiary--font-style,var(--now-display-type--header-tertiary--font-style,var(--now-display-type--tertiary--font-style,var(--now-display-type--font-style,normal)))));font-weight:var(--now-heading--header-tertiary--font-weight,var(--now-display-type--head-tertiary--font-weight,var(--now-display-type--header-tertiary--font-weight,var(--now-display-type--tertiary--font-weight,var(--now-display-type--font-weight,normal)))));text-transform:var(--now-heading--header-tertiary--text-transform,var(--now-display-type--head-tertiary--text-transform,var(--now-display-type--header-tertiary--text-transform,var(--now-display-type--tertiary--text-transform,var(--now-display-type--text-transform,none)))))}.now-heading.-header.-tertiary,.now-heading.-title{font-size:var(--now-display-type_header--font-size--md,var(--now-font-size--md1,1rem))}.now-heading.-title{-webkit-margin-after:.5em;margin-block-end:.5em}.now-heading.-title.-primary{color:RGB(var(--now-heading--title-primary--color,var(--now-display-type--subhead-primary--color,var(--now-display-type--primary--color,var(--now-display-type--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))))));font-family:var(--now-heading--title-primary--font-family,var(--now-display-type--subhead-primary--font-family,var(--now-display-type--title-primary--font-family,var(--now-display-type--primary--font-family,var(--now-display-type--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))))));font-style:var(--now-heading--title-primary--font-style,var(--now-display-type--subhead-primary--font-style,var(--now-display-type--title-primary--font-style,var(--now-display-type--primary--font-style,var(--now-display-type--font-style,normal)))));font-weight:var(--now-heading--title-primary--font-weight,var(--now-display-type--subhead-primary--font-weight,var(--now-display-type--title-primary--font-weight,var(--now-display-type--primary--font-weight,600))));text-transform:var(--now-heading--title-primary--text-transform,var(--now-display-type--subhead-primary--text-transform,var(--now-display-type--title-primary--text-transform,var(--now-display-type--primary--text-transform,var(--now-display-type--text-transform,none)))))}.now-heading.-title.-secondary{color:RGB(var(--now-heading--title-secondary--color,var(--now-display-type--subhead-secondary--color,var(--now-display-type--secondary--color,var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55))))));font-family:var(--now-heading--title-secondary--font-family,var(--now-display-type--subhead-secondary--font-family,var(--now-display-type--title-secondary--font-family,var(--now-display-type--secondary--font-family,var(--now-display-type--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))))));font-style:var(--now-heading--title-secondary--font-style,var(--now-display-type--subhead-secondary--font-style,var(--now-display-type--title-secondary--font-style,var(--now-display-type--secondary--font-style,var(--now-display-type--font-style,normal)))));font-weight:var(--now-heading--title-secondary--font-weight,var(--now-display-type--subhead-secondary--font-weight,var(--now-display-type--title-secondary--font-weight,var(--now-display-type--secondary--font-weight,var(--now-display-type--font-weight,normal)))));text-transform:var(--now-heading--title-secondary--text-transform,var(--now-display-type--subhead-secondary--text-transform,var(--now-display-type--title-secondary--text-transform,var(--now-display-type--secondary--text-transform,var(--now-display-type--text-transform,none)))))}.now-heading.-title.-tertiary{color:RGB(var(--now-heading--title-tertiary--color,var(--now-display-type--subhead-tertiary--color,var(--now-display-type--tertiary--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))));font-family:var(--now-heading--title-tertiary--font-family,var(--now-display-type--subhead-tertiary--font-family,var(--now-display-type--title-tertiary--font-family,var(--now-display-type--tertiary--font-family,var(--now-display-type--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))))));font-style:var(--now-heading--title-tertiary--font-style,var(--now-display-type--subhead-tertiary--font-style,var(--now-display-type--title-tertiary--font-style,var(--now-display-type--tertiary--font-style,var(--now-display-type--font-style,normal)))));font-weight:var(--now-heading--title-tertiary--font-weight,var(--now-display-type--subhead-tertiary--font-weight,var(--now-display-type--title-tertiary--font-weight,var(--now-display-type--tertiary--font-weight,var(--now-display-type--font-weight,normal)))));text-transform:var(--now-heading--title-tertiary--text-transform,var(--now-display-type--subhead-tertiary--text-transform,var(--now-display-type--title-tertiary--text-transform,var(--now-display-type--tertiary--text-transform,var(--now-display-type--text-transform,none)))))}.now-heading.has-no-margin{-webkit-margin-after:0;margin-block-end:0}.now-heading.wont-wrap{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-heading.wont-wrap:after{content:\\\"\\\";display:block}.now-heading.-start{text-align:start}.now-heading.-center{text-align:center}.now-heading.-end{text-align:end}.now-heading.-justify{text-align:justify}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:block}.now-uxf-bare-modal-overlay{background-color:RGBA(var(--now-uxf-bare-modal-overlay--background-color,var(--now-color--neutral-21,0,0,0)),var(--now-uxf-bare-modal-overlay--opacity,var(--now-opacity--mid,.5)));bottom:0;left:0;overflow-y:auto;position:fixed;right:0;top:0;z-index:4000}.now-uxf-bare-modal-overlay.now-uxf-bare-modal-absolute-overlay{position:absolute}.now-uxf-bare-modal{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%;z-index:4000}.now-uxf-bare-modal-body.custom{max-height:90%;max-width:100%;min-height:133px;min-width:420px}.now-uxf-bare-modal-resizable-container{background-color:RGB(var(--now-window--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));border-color:RGB(var(--now-window--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181))));border-radius:var(--now-modal--border-radius,var(--now-window--border-radius,.25rem));border-style:solid;border-width:var(--now-window--border-width,1px);box-shadow:0 .5rem .75rem 0 RGB(56,56,56,var(--now-opacity--less,.25));height:100%;overflow-y:auto}.now-uxf-bare-modal-resizable-container ::slotted(seismic-hoist){border-style:none!important;box-shadow:none!important;height:100%!important;min-height:4rem!important}.now-uxf-bare-modal-body{max-height:100%;max-width:100%;position:relative}.-sm .now-uxf-bare-modal-body{width:100%}@media(min-width:26.25rem){.-sm .now-uxf-bare-modal-body{max-width:26.25rem}}.-md .now-uxf-bare-modal-body{width:100%}@media(min-width:37.5rem){.-md .now-uxf-bare-modal-body{max-width:37.5rem}}.-lg .now-uxf-bare-modal-body{width:100%}@media(min-width:50rem){.-lg .now-uxf-bare-modal-body{max-width:50rem}}.-fullscreen .now-uxf-bare-modal-body{height:100%;min-height:100%;width:100%}.now-uxf-bare-modal-body .now-uxf-bare-modal-slot::slotted(*){background-color:RGB(var(--now-window--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));border-color:RGB(var(--now-window--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181))));border-radius:var(--now-modal--border-radius,var(--now-window--border-radius,.25rem));border-style:solid;border-width:var(--now-window--border-width,1px);box-shadow:0 .5rem .75rem 0 RGB(56,56,56,var(--now-opacity--less,.25));display:block}.now-uxf-bare-modal-header{direction:inherit;display:flex;flex-direction:row-reverse;padding:1.5rem;pointer-events:none;position:absolute;width:100%;z-index:4001}.now-uxf-bare-modal-header.hide-padding{padding:0}.now-uxf-bare-modal-header .now-uxf-bare-modal-dismiss{pointer-events:auto}.now-uxf-bare-modal-header+.now-uxf-bare-modal-slot::slotted(*){height:100%;min-height:4rem;overflow:auto}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.padded{padding-bottom:1rem;padding-top:1rem}:host(:not([dir=rtl])) .padded,:root:not([dir=rtl]) .padded{padding-left:1rem}:host([dir=rtl]) .padded,:root[dir=rtl] .padded{padding-right:1rem}:host(:not([dir=rtl])) .padded,:root:not([dir=rtl]) .padded{padding-right:1rem}:host([dir=rtl]) .padded,:root[dir=rtl] .padded{padding-left:1rem}.expand-container{height:inherit}.variant-neutral-0{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))}.variant-neutral-1{background:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))}.bordered{border:1px solid RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)))}.collapsible{margin-top:.5rem}.collapse-trigger{background:none;border:0;cursor:pointer;display:block;margin-bottom:1rem;padding:.5rem 0 0;position:relative;width:100%}.collapse-trigger hr{border:0;border-top:.125rem solid RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)));flex-grow:1;height:0;margin:0}.collapse-trigger now-icon{background:RGB(var(--now-color_surface--neutral-3,232,234,234));color:RGB(var(--now-color_text--primary,22,27,28));position:absolute;top:0;width:1rem}:host(:not([dir=rtl])) .collapse-trigger now-icon,:root:not([dir=rtl]) .collapse-trigger now-icon{left:1rem}:host([dir=rtl]) .collapse-trigger now-icon,:root[dir=rtl] .collapse-trigger now-icon{right:1rem}:host(:not([dir=rtl])) .collapse-trigger now-icon,:root:not([dir=rtl]) .collapse-trigger now-icon{right:1rem}:host([dir=rtl]) .collapse-trigger now-icon,:root[dir=rtl] .collapse-trigger now-icon{left:1rem}.collapse-trigger now-heading{background:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));padding:0 .5rem;position:absolute;top:2px;visibility:hidden}:host(:not([dir=rtl])) .collapse-trigger now-heading,:root:not([dir=rtl]) .collapse-trigger now-heading{left:2.5rem}:host([dir=rtl]) .collapse-trigger now-heading,:root[dir=rtl] .collapse-trigger now-heading{right:2.5rem}.collapse-trigger:hover hr{border-top:2px solid RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))}.collapse-trigger:hover now-icon{background:RGB(var(--now-color_surface--neutral-5,211,215,216))}.collapsed .collapse-trigger{margin-bottom:0;padding-bottom:.5rem;transition:margin .1s linear;transition-delay:.3s}.collapsed .collapse-trigger>now-heading{transition:visibility 0s linear;transition-delay:.3s;visibility:visible}.hide-element{clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}@media(forced-colors:active){.collapse-trigger now-icon{color:buttontext}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}now-alert-list{margin:auto;max-width:calc(100vw - 60%);min-width:250px;position:relative;width:90%}#notification{align-items:center;display:flex;flex-direction:column;pointer-events:none;position:absolute;width:100%}#notification>*{pointer-events:auto}#authAlert{max-width:calc(100vw - 60%);min-width:250px;padding:1rem 1rem 0 1rem;z-index:3000}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.slot-wrapper{height:100%}.slot-wrapper-contents{display:contents}.hide-element{clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,.page,:after,:before{box-sizing:border-box}.page{display:block;height:100%;overflow:hidden;position:relative;width:100%}.page now-heading{padding-bottom:1.5rem;padding-top:1.5rem}:host(:not([dir=rtl])) .page now-heading,:root:not([dir=rtl]) .page now-heading{padding-left:1.5rem}:host([dir=rtl]) .page now-heading,:root[dir=rtl] .page now-heading{padding-right:1.5rem}:host(:not([dir=rtl])) .page now-heading,:root:not([dir=rtl]) .page now-heading{padding-right:1.5rem}:host([dir=rtl]) .page now-heading,:root[dir=rtl] .page now-heading{padding-left:1.5rem}.page now-heading.only-visible-to-screen-readers{clip:rect(0 0 0 0);border:0;-webkit-clip-path:polygon(0 0,0 0,0 0);clip-path:polygon(0 0,0 0,0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.page now-heading.only-visible-to-screen-readers:hover{outline:none}.page.padded{padding-bottom:1.5rem;padding-top:1.5rem}:host(:not([dir=rtl])) .page.padded,:root:not([dir=rtl]) .page.padded{padding-left:1.5rem}:host([dir=rtl]) .page.padded,:root[dir=rtl] .page.padded{padding-right:1.5rem}:host(:not([dir=rtl])) .page.padded,:root:not([dir=rtl]) .page.padded{padding-right:1.5rem}:host([dir=rtl]) .page.padded,:root[dir=rtl] .page.padded{padding-left:1.5rem}.page.padded now-heading{padding:0}.page.scroll-x{overflow-x:auto}.page.scroll-y{overflow-y:auto}.page.scroll-both{overflow:auto}.page.loading{min-height:-webkit-min-content;min-height:-moz-min-content;min-height:min-content;overflow:hidden}.loading-overlay{align-items:center;background-color:RGBA(var(--now-container--color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-opacity--most,.8));bottom:0;display:flex;justify-content:center;overflow-y:auto}.loading-overlay,now-progress-bar{left:0;position:absolute;right:0;top:0;z-index:999}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-uxf-viewport-screen{height:100%;margin:0;padding:0;width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.viewport{height:100%}.scroll-vertical{overflow-x:hidden;overflow-y:auto}.scroll-horizontal{overflow-x:auto;overflow-y:hidden}.scroll-both{overflow-x:auto;overflow-y:auto}.scroll-none{overflow-x:hidden;overflow-y:hidden}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.sn-cx-breadcrumbs{--now-breadcrumbs--font-family:var(--now-font-family-gilroy);--now-line-height-crop--before:-0.25em;--now-line-height-crop--after:-0.35em;background:rgb(var(--now-color--neutral-1,246,247,247));padding:12px var(--now-global-space--3xl,40px)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:var(--now-font-size--md1,1rem)}.now-heading--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-heading--xl{font-size:var(--now-font-size--xl,2.5rem)}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:var(--now-font-size--sm,.75rem)}.now-text--md{font-size:var(--now-font-size--md1,1rem)}.now-text--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.now-m-block--xxs{-webkit-margin-before:.125rem;-webkit-margin-after:.125rem;margin-block-end:.125rem;margin-block-start:.125rem}.now-m-block-start--xxs{-webkit-margin-before:.125rem;margin-block-start:.125rem}.now-m-block-end--xxs{-webkit-margin-after:.125rem;margin-block-end:.125rem}.now-m-inline--xxs{-webkit-margin-start:.125rem;-webkit-margin-end:.125rem;margin-inline-end:.125rem;margin-inline-start:.125rem}.now-m-inline-start--xxs{-webkit-margin-start:.125rem;margin-inline-start:.125rem}.now-m-inline-end--xxs{-webkit-margin-end:.125rem;margin-inline-end:.125rem}.now-m-block--xs{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-block-start:.25rem}.now-m-block-start--xs{-webkit-margin-before:.25rem;margin-block-start:.25rem}.now-m-block-end--xs{-webkit-margin-after:.25rem;margin-block-end:.25rem}.now-m-inline--xs{-webkit-margin-start:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem;margin-inline-start:.25rem}.now-m-inline-start--xs{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-m-inline-end--xs{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-m-block--sm{-webkit-margin-before:.5rem;-webkit-margin-after:.5rem;margin-block-end:.5rem;margin-block-start:.5rem}.now-m-block-start--sm{-webkit-margin-before:.5rem;margin-block-start:.5rem}.now-m-block-end--sm{-webkit-margin-after:.5rem;margin-block-end:.5rem}.now-m-inline--sm{-webkit-margin-start:.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem;margin-inline-start:.5rem}.now-m-inline-start--sm{-webkit-margin-start:.5rem;margin-inline-start:.5rem}.now-m-inline-end--sm{-webkit-margin-end:.5rem;margin-inline-end:.5rem}.now-m-block--md{-webkit-margin-before:.75rem;-webkit-margin-after:.75rem;margin-block-end:.75rem;margin-block-start:.75rem}.now-m-block-start--md{-webkit-margin-before:.75rem;margin-block-start:.75rem}.now-m-block-end--md{-webkit-margin-after:.75rem;margin-block-end:.75rem}.now-m-inline--md{-webkit-margin-start:.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;margin-inline-start:.75rem}.now-m-inline-start--md{-webkit-margin-start:.75rem;margin-inline-start:.75rem}.now-m-inline-end--md{-webkit-margin-end:.75rem;margin-inline-end:.75rem}.now-m-block--lg{-webkit-margin-before:1rem;-webkit-margin-after:1rem;margin-block-end:1rem;margin-block-start:1rem}.now-m-block-start--lg{-webkit-margin-before:1rem;margin-block-start:1rem}.now-m-block-end--lg{-webkit-margin-after:1rem;margin-block-end:1rem}.now-m-inline--lg{-webkit-margin-start:1rem;-webkit-margin-end:1rem;margin-inline-end:1rem;margin-inline-start:1rem}.now-m-inline-start--lg{-webkit-margin-start:1rem;margin-inline-start:1rem}.now-m-inline-end--lg{-webkit-margin-end:1rem;margin-inline-end:1rem}.now-m-block--xl{-webkit-margin-before:1.5rem;-webkit-margin-after:1.5rem;margin-block-end:1.5rem;margin-block-start:1.5rem}.now-m-block-start--xl{-webkit-margin-before:1.5rem;margin-block-start:1.5rem}.now-m-block-end--xl{-webkit-margin-after:1.5rem;margin-block-end:1.5rem}.now-m-inline--xl{-webkit-margin-start:1.5rem;-webkit-margin-end:1.5rem;margin-inline-end:1.5rem;margin-inline-start:1.5rem}.now-m-inline-start--xl{-webkit-margin-start:1.5rem;margin-inline-start:1.5rem}.now-m-inline-end--xl{-webkit-margin-end:1.5rem;margin-inline-end:1.5rem}.now-m-block--xxl{-webkit-margin-before:2rem;-webkit-margin-after:2rem;margin-block-end:2rem;margin-block-start:2rem}.now-m-block-start--xxl{-webkit-margin-before:2rem;margin-block-start:2rem}.now-m-block-end--xxl{-webkit-margin-after:2rem;margin-block-end:2rem}.now-m-inline--xxl{-webkit-margin-start:2rem;-webkit-margin-end:2rem;margin-inline-end:2rem;margin-inline-start:2rem}.now-m-inline-start--xxl{-webkit-margin-start:2rem;margin-inline-start:2rem}.now-m-inline-end--xxl{-webkit-margin-end:2rem;margin-inline-end:2rem}.now-m-block--3xl{-webkit-margin-before:2.5rem;-webkit-margin-after:2.5rem;margin-block-end:2.5rem;margin-block-start:2.5rem}.now-m-block-start--3xl{-webkit-margin-before:2.5rem;margin-block-start:2.5rem}.now-m-block-end--3xl{-webkit-margin-after:2.5rem;margin-block-end:2.5rem}.now-m-inline--3xl{-webkit-margin-start:2.5rem;-webkit-margin-end:2.5rem;margin-inline-end:2.5rem;margin-inline-start:2.5rem}.now-m-inline-start--3xl{-webkit-margin-start:2.5rem;margin-inline-start:2.5rem}.now-m-inline-end--3xl{-webkit-margin-end:2.5rem;margin-inline-end:2.5rem}.now-m-block--0{-webkit-margin-before:0;-webkit-margin-after:0;margin-block-end:0;margin-block-start:0}.now-m-block-start--0{-webkit-margin-before:0;margin-block-start:0}.now-m-block-end--0{-webkit-margin-after:0;margin-block-end:0}.now-m-inline--0{-webkit-margin-start:0;-webkit-margin-end:0;margin-inline-end:0;margin-inline-start:0}.now-m-inline-start--0{-webkit-margin-start:0;margin-inline-start:0}.now-m-inline-end--0{-webkit-margin-end:0;margin-inline-end:0}.now-p-block--xxs{-webkit-padding-before:.125rem;-webkit-padding-after:.125rem;padding-block-end:.125rem;padding-block-start:.125rem}.now-p-block-start--xxs{-webkit-padding-before:.125rem;padding-block-start:.125rem}.now-p-block-end--xxs{-webkit-padding-after:.125rem;padding-block-end:.125rem}.now-p-inline--xxs{-webkit-padding-start:.125rem;-webkit-padding-end:.125rem;padding-inline-end:.125rem;padding-inline-start:.125rem}.now-p-inline-start--xxs{-webkit-padding-start:.125rem;padding-inline-start:.125rem}.now-p-inline-end--xxs{-webkit-padding-end:.125rem;padding-inline-end:.125rem}.now-p-block--xs{-webkit-padding-before:.25rem;-webkit-padding-after:.25rem;padding-block-end:.25rem;padding-block-start:.25rem}.now-p-block-start--xs{-webkit-padding-before:.25rem;padding-block-start:.25rem}.now-p-block-end--xs{-webkit-padding-after:.25rem;padding-block-end:.25rem}.now-p-inline--xs{-webkit-padding-start:.25rem;-webkit-padding-end:.25rem;padding-inline-end:.25rem;padding-inline-start:.25rem}.now-p-inline-start--xs{-webkit-padding-start:.25rem;padding-inline-start:.25rem}.now-p-inline-end--xs{-webkit-padding-end:.25rem;padding-inline-end:.25rem}.now-p-block--sm{-webkit-padding-before:.5rem;-webkit-padding-after:.5rem;padding-block-end:.5rem;padding-block-start:.5rem}.now-p-block-start--sm{-webkit-padding-before:.5rem;padding-block-start:.5rem}.now-p-block-end--sm{-webkit-padding-after:.5rem;padding-block-end:.5rem}.now-p-inline--sm{-webkit-padding-start:.5rem;-webkit-padding-end:.5rem;padding-inline-end:.5rem;padding-inline-start:.5rem}.now-p-inline-start--sm{-webkit-padding-start:.5rem;padding-inline-start:.5rem}.now-p-inline-end--sm{-webkit-padding-end:.5rem;padding-inline-end:.5rem}.now-p-block--md{-webkit-padding-before:.75rem;-webkit-padding-after:.75rem;padding-block-end:.75rem;padding-block-start:.75rem}.now-p-block-start--md{-webkit-padding-before:.75rem;padding-block-start:.75rem}.now-p-block-end--md{-webkit-padding-after:.75rem;padding-block-end:.75rem}.now-p-inline--md{-webkit-padding-start:.75rem;-webkit-padding-end:.75rem;padding-inline-end:.75rem;padding-inline-start:.75rem}.now-p-inline-start--md{-webkit-padding-start:.75rem;padding-inline-start:.75rem}.now-p-inline-end--md{-webkit-padding-end:.75rem;padding-inline-end:.75rem}.now-p-block--lg{-webkit-padding-before:1rem;-webkit-padding-after:1rem;padding-block-end:1rem;padding-block-start:1rem}.now-p-block-start--lg{-webkit-padding-before:1rem;padding-block-start:1rem}.now-p-block-end--lg{-webkit-padding-after:1rem;padding-block-end:1rem}.now-p-inline--lg{-webkit-padding-start:1rem;-webkit-padding-end:1rem;padding-inline-end:1rem;padding-inline-start:1rem}.now-p-inline-start--lg{-webkit-padding-start:1rem;padding-inline-start:1rem}.now-p-inline-end--lg{-webkit-padding-end:1rem;padding-inline-end:1rem}.now-p-block--xl{-webkit-padding-before:1.5rem;-webkit-padding-after:1.5rem;padding-block-end:1.5rem;padding-block-start:1.5rem}.now-p-block-start--xl{-webkit-padding-before:1.5rem;padding-block-start:1.5rem}.now-p-block-end--xl{-webkit-padding-after:1.5rem;padding-block-end:1.5rem}.now-p-inline--xl{-webkit-padding-start:1.5rem;-webkit-padding-end:1.5rem;padding-inline-end:1.5rem;padding-inline-start:1.5rem}.now-p-inline-start--xl{-webkit-padding-start:1.5rem;padding-inline-start:1.5rem}.now-p-inline-end--xl{-webkit-padding-end:1.5rem;padding-inline-end:1.5rem}.now-p-block--xxl{-webkit-padding-before:2rem;-webkit-padding-after:2rem;padding-block-end:2rem;padding-block-start:2rem}.now-p-block-start--xxl{-webkit-padding-before:2rem;padding-block-start:2rem}.now-p-block-end--xxl{-webkit-padding-after:2rem;padding-block-end:2rem}.now-p-inline--xxl{-webkit-padding-start:2rem;-webkit-padding-end:2rem;padding-inline-end:2rem;padding-inline-start:2rem}.now-p-inline-start--xxl{-webkit-padding-start:2rem;padding-inline-start:2rem}.now-p-inline-end--xxl{-webkit-padding-end:2rem;padding-inline-end:2rem}.now-p-block--3xl{-webkit-padding-before:2.5rem;-webkit-padding-after:2.5rem;padding-block-end:2.5rem;padding-block-start:2.5rem}.now-p-block-start--3xl{-webkit-padding-before:2.5rem;padding-block-start:2.5rem}.now-p-block-end--3xl{-webkit-padding-after:2.5rem;padding-block-end:2.5rem}.now-p-inline--3xl{-webkit-padding-start:2.5rem;-webkit-padding-end:2.5rem;padding-inline-end:2.5rem;padding-inline-start:2.5rem}.now-p-inline-start--3xl{-webkit-padding-start:2.5rem;padding-inline-start:2.5rem}.now-p-inline-end--3xl{-webkit-padding-end:2.5rem;padding-inline-end:2.5rem}.now-p-block--0{-webkit-padding-before:0;-webkit-padding-after:0;padding-block-end:0;padding-block-start:0}.now-p-block-start--0{-webkit-padding-before:0;padding-block-start:0}.now-p-block-end--0{-webkit-padding-after:0;padding-block-end:0}.now-p-inline--0{-webkit-padding-start:0;-webkit-padding-end:0;padding-inline-end:0;padding-inline-start:0}.now-p-inline-start--0{-webkit-padding-start:0;padding-inline-start:0}.now-p-inline-end--0{-webkit-padding-end:0;padding-inline-end:0}:host{display:block;width:100%}.sn-cx-footer{align-items:baseline;background:var(--now-color--neutral-0,#fff);display:flex;justify-content:center;margin:0;padding:2rem 0;width:100%}.sn-cx-footer-container{align-items:flex-start;display:flex;flex:1 0 0;gap:7.5rem}.sn-cx-footer-container .sn-cx-footer-content{display:flex;flex-direction:column}.sn-cx-footer-container .sn-cx-footer-content.left{align-items:flex-start;flex:1 0 0;gap:1rem}.sn-cx-footer-container .sn-cx-footer-content.right{align-items:flex-end;gap:.5rem;justify-content:center}.sn-cx-footer-container .sn-cx-footer-logo-wrapper{align-items:center;display:flex}.sn-cx-footer-container .sn-cx-footer-logo-wrapper .sn-cx-footer-logo>img{height:1.5rem;width:8.15rem}.sn-cx-footer-container .sn-cx-footer-logo-wrapper .sn-cx-footer-separator{background:#e1e1e1;height:1.3125rem;margin:0 1.25rem;padding:0;width:.0625rem}.sn-cx-footer-container .sn-cx-footer-logo-wrapper .sn-cx-footer-tagline{height:.9375rem;margin:0;padding:0}.sn-cx-footer-container .sn-cx-footer-nav-links li,.sn-cx-footer-container .sn-cx-footer-nav-links ul{margin:0;padding:0;width:-webkit-max-content;width:-moz-max-content;width:max-content}.sn-cx-footer-container .sn-cx-footer-nav-links ul{align-items:flex-start;display:flex;gap:2rem}.sn-cx-footer-container .sn-cx-footer-nav-links li{list-style-type:none;padding:.125rem 0}.sn-cx-footer-container .sn-cx-footer-nav-links li .sn-cx-footer-nav-link{font-feature-settings:\\\"liga\\\" off,\\\"clig\\\" off;color:#007393;cursor:pointer;font-family:var(--now-font-family-sn-sans);font-size:.875rem;font-style:normal;font-weight:300;line-height:1.5rem;-webkit-text-decoration-line:underline;text-decoration-line:underline;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;-webkit-text-decoration-style:solid;text-decoration-style:solid;text-decoration-thickness:auto;text-underline-offset:auto;text-underline-position:from-font}.sn-cx-footer-container .sn-cx-footer-nav-links li .sn-cx-footer-nav-link::-moz-focus-inner{border-style:none}.sn-cx-footer-container .sn-cx-footer-nav-links li .sn-cx-footer-nav-link:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.sn-cx-footer-container .sn-cx-footer-nav-links li .sn-cx-footer-nav-link:focus{outline:1px solid highlight}}.sn-cx-footer-container .sn-cx-footer-nav-links li .sn-cx-footer-nav-link:hover{color:#02506b}.sn-cx-footer-container .sn-cx-footer-nav-links li .sn-cx-footer-nav-link:active{color:#032d42}.sn-cx-footer-container .sn-cx-footer-social{align-items:center;display:flex;gap:.75rem}.sn-cx-footer-container .sn-cx-footer-social-link{align-items:center;cursor:pointer;display:flex;height:2.5rem;text-decoration:none;width:2.5rem}.sn-cx-footer-container .sn-cx-footer-social-link::-moz-focus-inner{border-style:none}.sn-cx-footer-container .sn-cx-footer-social-link:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.sn-cx-footer-container .sn-cx-footer-social-link:focus{outline:1px solid highlight}}.sn-cx-footer-container .sn-cx-footer-social-link.twitter img{border:none;padding:.5rem}.sn-cx-footer-container .sn-cx-footer-copyright span{color:#1d1d1d;font-family:var(--now-font-family-sn-sans);font-size:.875rem;font-style:normal;font-weight:300;line-height:150%;text-align:right}@media(max-width:1058px){.sn-cx-footer-container{flex-direction:column;gap:var(--now-global-space--xl,24px)}.sn-cx-footer-content.right{align-items:center!important}}@media(max-width:685px){.sn-cx-footer-logo-wrapper{align-items:flex-start!important;flex-direction:column;flex-wrap:wrap;gap:var(--now-global-space--lg,1rem)}.sn-cx-footer-separator{display:none}.sn-cx-footer-container .sn-cx-footer-nav-links ul{flex-direction:column;gap:var(--now-global-space--sm,.5rem)}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,.page,:after,:before{box-sizing:border-box}.page{height:100%;width:100%}.loaderContainer{--now-loader--font-family:var(--now-font-family-sn-sans);align-items:center;display:flex;height:65vh;justify-content:center}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{--unified_nav-input--color:var(--nav_menu-input--color);--unified_nav-input--color--placeholder:var( --nav_menu-input--color--placeholder );--unified_nav-input--color--opened:var(--nav_menu-input--color--opened);--unified_nav-input--background-color:var( --nav_menu-input--background-color );--unified_nav-input--background-color--hover:var( --nav_menu-input--background-color--hover );--unified_nav-input--background-color--opened:var( --nav_menu-input--background-color--opened );--unified_nav-input--border-color:var(--nav_menu-input--border-color);--unified_nav-search--icon-color--collapsed:var( --nav_menu-input--search-icon-color--collapsed )}.input-container{align-items:center;background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:var(--now-form-control--border-width,1px) solid RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)));border-top-left-radius:.25rem;border-top-right-radius:.25rem;box-sizing:border-box;display:flex;padding-bottom:.5rem;padding-top:.5rem}.input-container.input-container--is-popover-open{border-bottom-color:transparent}.input-container.input-container--has-focus{box-shadow:inset 0 0 0 2px RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)));outline:none}.input-container.input-container--search{background-color:#f2f2f2;border:none;border-radius:1.5rem}.input-container.input-container--search:hover{border:none}.input-container.-global{max-height:2rem}:host([dir=rtl]) .search-input__back-icon,:root[dir=rtl] .search-input__back-icon{transform:scaleX(-1)}.input-container__input{background-color:transparent;border:none;box-sizing:border-box;color:#1d1d1d;font-family:var(--now-font-family-sn-sans);font-size:1rem;font-style:normal;font-weight:300;line-height:1.5rem;outline:none;overflow:hidden;padding:0;text-overflow:ellipsis;width:100%}.input-container__input::-webkit-input-placeholder{color:#666;font-family:var(--now-font-family-sn-sans);opacity:.7}.input-container__input::placeholder{color:#666;font-family:var(--now-font-family-sn-sans);opacity:.7}.input-container-sparkle-icon{align-items:center;display:inline-flex;justify-content:center}now-icon[icon=ai-sparkle-outline]{color:RGB(var(--now-color--primary-1,30,133,109))}:host(:not([dir=rtl])) now-icon[icon=ai-sparkle-outline],:root:not([dir=rtl]) now-icon[icon=ai-sparkle-outline]{margin-right:.25rem}:host([dir=rtl]) now-icon[icon=ai-sparkle-outline],:root[dir=rtl] now-icon[icon=ai-sparkle-outline]{margin-left:.25rem}now-icon[icon=magnifying-glass-sparkle-outline]{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}:host(:not([dir=rtl])) now-icon[icon=magnifying-glass-sparkle-outline],:root:not([dir=rtl]) now-icon[icon=magnifying-glass-sparkle-outline]{margin-right:.25rem}:host([dir=rtl]) now-icon[icon=magnifying-glass-sparkle-outline],:root[dir=rtl] now-icon[icon=magnifying-glass-sparkle-outline]{margin-left:.25rem}.-attached-navigation-icon{align-items:center;color:RGB(var(--unified_nav-input--color,var(--now-color--neutral-0,255,255,255)));display:inline-flex;height:2rem;justify-content:center}:host(:not([dir=rtl])) .-attached-navigation-icon,:root:not([dir=rtl]) .-attached-navigation-icon{padding-left:1rem}:host([dir=rtl]) .-attached-navigation-icon,:root[dir=rtl] .-attached-navigation-icon{padding-right:1rem}:host(:not([dir=rtl])) .-attached-navigation-icon,:root:not([dir=rtl]) .-attached-navigation-icon{padding-right:.5rem}:host([dir=rtl]) .-attached-navigation-icon,:root[dir=rtl] .-attached-navigation-icon{padding-left:.5rem}.-attached-navigation-icon.-active{color:RGB(var(--unified_nav-input--color--opened,var(--now-color--neutral-18,22,27,28)))}.-attached-navigation-icon.-empty{color:RGB(var(--sn-cx-search-input--attached-empty-color,81,114,133))}@media(forced-colors:active){.input-container.input-container--has-focus{border:1px solid HighLight}}.attached-to-navigation .input-container{background:hsla(0,0%,100%,.04)}.attached-to-navigation .input-container input{color:#fff;font-weight:450;line-height:125%}.attached-to-navigation .input-container input::-webkit-input-placeholder{color:#517285;opacity:1}.attached-to-navigation .input-container input::placeholder{color:#517285;opacity:1}.attached-to-navigation .cancel-icon{line-height:0}.attached-to-navigation .cancel-icon,.attached-to-navigation .cancel-icon svg{color:RGB(var(--now-color--neutral-0,255,255,255))}.attached-to-navigation .input-container__button-icon{--now-button--scale-size-block:0}:host(:not([dir=rtl])) .attached-to-navigation .input-container__button-icon:first-of-type,:root:not([dir=rtl]) .attached-to-navigation .input-container__button-icon:first-of-type{padding-left:.5rem}:host([dir=rtl]) .attached-to-navigation .input-container__button-icon:first-of-type,:root[dir=rtl] .attached-to-navigation .input-container__button-icon:first-of-type{padding-right:.5rem}:host(:not([dir=rtl])) .attached-to-navigation .input-container__button-icon:first-of-type,:root:not([dir=rtl]) .attached-to-navigation .input-container__button-icon:first-of-type{padding-right:1rem}:host([dir=rtl]) .attached-to-navigation .input-container__button-icon:first-of-type,:root[dir=rtl] .attached-to-navigation .input-container__button-icon:first-of-type{padding-left:1rem}.attached-to-element .input-container.input-container--search{background-color:var(--sn-cx-search-input--attached-element-background_color,var(--now-color--neutral-0,255,255,255));border-bottom:var(--sn-cx-search-input--attached-element-border_bottom,1px solid #e3e3e3);border-radius:1.5rem;border-bottom-left-radius:0;border-bottom-right-radius:0;padding:.5rem 0}.attached-to-element .input-container.input-container--search.input-container--no-popover{border-bottom-color:transparent}.attached-to-element .-attached-navigation-icon,.attached-to-element .-attached-navigation-icon.-active,.attached-to-element .-attached-navigation-icon.-empty{color:RGB(var(--sn-cx-search-input--attached-element-navigation-icon--color,102,102,102))}.search-popover{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:var(--popover-border) solid RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)));border-top:none;border-top-left-radius:0;border-top-right-radius:0;box-sizing:border-box;margin:0;overflow:auto;width:100%;z-index:1000}.search-popover now-loader{--now-loader_label--color:var(--now-color--neutral-0,255,255,255);--now-loader_icon--color:var(--now-color--neutral-0,255,255,255)}:host(:not([dir=rtl])) .search-popover,:root:not([dir=rtl]) .search-popover{border-bottom-right-radius:1.5rem}:host([dir=rtl]) .search-popover,:root[dir=rtl] .search-popover{border-bottom-left-radius:1.5rem}:host(:not([dir=rtl])) .search-popover,:root:not([dir=rtl]) .search-popover{border-bottom-left-radius:1.5rem}:host([dir=rtl]) .search-popover,:root[dir=rtl] .search-popover{border-bottom-right-radius:1.5rem}:host(:not([dir=rtl])) .search-popover,:root:not([dir=rtl]) .search-popover{text-align:left}:host([dir=rtl]) .search-popover,:root[dir=rtl] .search-popover{text-align:right}.search-popover ul{list-style:none;margin:0;padding:0}.search-popover .sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.search-popover__section-header{color:#d7e0e6;display:block;font-family:var(--now-font-family-sn-sans);font-size:.75rem;font-style:normal;font-weight:400;line-height:.975rem}:host(:not([dir=rtl])) .search-popover__section-header,:root:not([dir=rtl]) .search-popover__section-header{text-align:left}:host([dir=rtl]) .search-popover__section-header,:root[dir=rtl] .search-popover__section-header{text-align:right}.search-popover__item{align-items:center;cursor:pointer;display:flex;margin:1px}.search-popover__item:hover{background-color:var(--now-search-modal_hover,#bddee7)}.search-popover__item-icon{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));line-height:0}:host(:not([dir=rtl])) .search-popover__item-icon,:root:not([dir=rtl]) .search-popover__item-icon{padding-left:0}:host([dir=rtl]) .search-popover__item-icon,:root[dir=rtl] .search-popover__item-icon{padding-right:0}:host(:not([dir=rtl])) .search-popover__item-icon,:root:not([dir=rtl]) .search-popover__item-icon{padding-right:0}:host([dir=rtl]) .search-popover__item-icon,:root[dir=rtl] .search-popover__item-icon{padding-left:0}.search-popover__item-metadata{align-items:center;display:flex;flex:1 1 auto;width:1%}.search-popover__item-metadata::-moz-focus-inner{border-style:none}.search-popover__item-metadata:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.search-popover__item-metadata:focus{outline:1px solid highlight}}.search-popover__item-primary-text{-webkit-line-clamp:1;-webkit-box-orient:vertical;align-items:baseline;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:block;display:-webkit-box;display:flex;flex:1 1 auto;font-size:1rem;max-width:100%;overflow:hidden;text-overflow:ellipsis}:host(:not([dir=rtl])) .search-popover__item-primary-text,:root:not([dir=rtl]) .search-popover__item-primary-text{margin-left:.75rem}:host([dir=rtl]) .search-popover__item-primary-text,:root[dir=rtl] .search-popover__item-primary-text{margin-right:.75rem}.search-popover__item-primary-text p{margin-bottom:0;margin-top:0}.search-popover__item-primary-text p,.search-popover__item-primary-text p.click-breadcrumb{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.search-popover__item-primary-text p.click-breadcrumb{color:#3b3b3b;font-family:var(--now-font-family-sn-sans);font-size:.75rem;font-style:normal;font-weight:400;line-height:normal}.search-popover__item-primary-text p.click-breadcrumb span{margin-right:.75rem}.search-popover__item-primary-text p.click-breadcrumb span:last-child{margin-right:0}.search-popover__item-primary-text--match{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}:host(:not([dir=rtl])) .search-popover__item-primary-text--match,:root:not([dir=rtl]) .search-popover__item-primary-text--match{padding-left:.5rem}:host([dir=rtl]) .search-popover__item-primary-text--match,:root[dir=rtl] .search-popover__item-primary-text--match{padding-right:.5rem}.search-popover__item-button{--now-button--scale-size:0.2;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}:host(:not([dir=rtl])) .search-popover__item-button,:root:not([dir=rtl]) .search-popover__item-button{padding-left:1.5rem}:host([dir=rtl]) .search-popover__item-button,:root[dir=rtl] .search-popover__item-button{padding-right:1.5rem}.action-icon{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:block;line-height:0}.attached-to-navigation .search-popover{background:transparent!important}.attached-to-navigation .search-popover__section-header{font-family:var(--now-font-family-sn-sans-mono);text-transform:uppercase}.attached-to-navigation .search-popover__item:hover{background:RGBA(var(--sn-cx-search-input--attached-item-background-hover,var(--now-color--neutral-0,255,255,255)),var(--sn-cx-search-input--attached-item-background-alpha,.08))}.attached-to-navigation .action-icon{color:RGB(var(--now-color--neutral-0,255,255,255))}.attached-to-navigation .search-combobox--body .search-popover__item-icon{color:RGB(var(--sn-cx-search-input--attached-input-color,var(--now-color--neutral-0,255,255,255)))}.attached-to-navigation .search-combobox--body .search-popover__item-text-link{color:#fff;font-family:var(--now-font-family-sn-sans);font-size:1rem;font-style:normal;font-weight:450;line-height:normal;padding-bottom:.75rem;padding-top:.75rem}.attached-to-navigation .search-combobox--body .search-popover__item-sign-in-notice>span,.attached-to-navigation .search-combobox--body .search-popover__item-view-all>span{align-items:center;display:flex;gap:.75rem}.attached-to-navigation .search-combobox--body .search-popover__item-sign-in-notice:hover,.attached-to-navigation .search-combobox--body .search-popover__item-view-all:hover{background:RGBA(var(--sn-cx-search-input--attached-item-background-hover,var(--now-color--neutral-0,255,255,255)),var(--sn-cx-search-input--attached-item-background-alpha,.08))}.attached-to-navigation .search-combobox--body .search-popover__item-sign-in-notice .view-all-arrow-icon,.attached-to-navigation .search-combobox--body .search-popover__item-view-all .view-all-arrow-icon{display:inline;line-height:0}.attached-to-navigation .search-combobox--body .search-popover__item-sign-in-notice-text{color:#1d1d1d}.attached-to-navigation .search-combobox--body .search-popover__item-primary-text{color:RGB(var(--sn-cx-search-input--attached-input-color,var(--now-color--neutral-0,255,255,255)))}.attached-to-navigation .search-combobox--body .search-popover__item-primary-text p{font-family:var(--now-font-family-sn-sans);font-style:normal}.attached-to-navigation .search-combobox--body .search-popover__item-primary-text p.primary-text-container{color:#fff;font-weight:300;line-height:1.5rem}.attached-to-navigation .search-combobox--body .search-popover__item-primary-text p strong{color:#63df4e;font-weight:450;line-height:1.5rem}.attached-to-navigation .search-combobox--body .search-popover__item-primary-text p.click-breadcrumb{color:#d7e0e6;font-size:.75rem;font-weight:400;line-height:125%}.attached-to-element .search-combobox--body .search-popover__section-header{font-feature-settings:\\\"liga\\\" off,\\\"clig\\\" off;color:#666;line-height:normal;padding-bottom:.25rem;padding-top:.5rem}.attached-to-element .search-combobox--body .search-popover__item{padding-bottom:.5rem;padding-top:.5rem}.attached-to-element .search-combobox--body .search-popover__item .search-popover__item-primary-text p{font-family:var(--now-font-family-sn-sans);font-style:normal}.attached-to-element .search-combobox--body .search-popover__item .search-popover__item-primary-text p.primary-text-container{color:#1d1d1d;font-size:1rem;font-weight:300;line-height:1.5rem}.attached-to-element .search-combobox--body .search-popover__item .search-popover__item-primary-text p strong{color:#1d1d1d;font-size:1rem;font-weight:450;line-height:1.5rem}.attached-to-element .search-combobox--body .search-popover__item .search-popover__item-primary-text p.click-breadcrumb{font-feature-settings:\\\"liga\\\" off,\\\"clig\\\" off;color:#3b3b3b}.attached-to-element .search-combobox--body .search-popover__item-view-all{padding-bottom:.5rem;padding-top:.5rem}.attached-to-element .search-combobox--body .search-popover__item-view-all.search-popover__item-sign-in-notice-added{padding-bottom:.75rem;padding-top:.75rem}.attached-to-element .search-combobox--body.unauth .search-combobox--body .search-popover{padding-bottom:0}.attached-to-element .search-combobox--body.unauth .search-combobox--body .search-popover ul:first-of-type{padding-top:0}.attached-to-element .search-combobox--body.unauth .search-combobox--body .search-popover__section-header{padding-top:.75rem}.attached-to-element .search-combobox--body.unauth .search-popover__item-sign-in-notice.search-popover__item-sign-in-notice-empty{border-top:0}.trtr{--now-template-message-empty-state_heading--header--font-family:var( --now-font-family-sn-sans );--now-template-message-empty-state_content--font-family:var( --now-font-family-sn-sans )}:host{--classicsponlydonotuse--rem-multipy-ais:var( --classicsponlydonotuse--rem-multipy,1 );--now-font-family-sn-sans:\\\"ServiceNow Sans\\\",system-ui,-apple-system,\\\"Segoe UI\\\",Roboto,Arial,sans-serif;--now-font-family-sn-sans-mono:\\\"ServiceNow Sans Mono\\\",ui-monospace,SFMono-Regular,Menlo,Consolas,\\\"Liberation Mono\\\",monospace;--now-color_focus-ring:62,170,43;--now-indicator--border-radius:12px;--now-badge--primary_green--background-color:99,223,78}.search-combobox{display:flex;flex-direction:column;font-family:var(--sn-cx-search-input--combobox-font_family,var(--now-font-family-sn-sans));font-style:normal;font-variant:normal;font-weight:400;gap:var(--search-combobox--gap,1rem);letter-spacing:inherit;text-indent:0;text-shadow:none;text-transform:none;white-space:normal;width:100%;word-spacing:inherit}.search-combobox--header .input-container{padding-bottom:now-mx-rtl-property(.125rem);padding-top:.125rem}:host(:not([dir=rtl])) .search-combobox--header .input-container,:root:not([dir=rtl]) .search-combobox--header .input-container{padding-right:.5rem}:host([dir=rtl]) .search-combobox--header .input-container,:root[dir=rtl] .search-combobox--header .input-container{padding-left:.5rem}:host(:not([dir=rtl])) .search-combobox--header .input-container,:root:not([dir=rtl]) .search-combobox--header .input-container{padding-left:1rem}:host([dir=rtl]) .search-combobox--header .input-container,:root[dir=rtl] .search-combobox--header .input-container{padding-right:1rem}.search-combobox--header .input-container.-global{background-color:RGB(var(--unified_nav-input--background-color,var(--now-color_chrome--brand-4,77,96,97)));border:1px solid RGB(var(--unified_nav-input--border-color,var(--now-color_chrome--divider-1,144,155,156)));border-radius:.25rem;padding-top:0;width:244px!important}:host(:not([dir=rtl])) .search-combobox--header .input-container.-global,:root:not([dir=rtl]) .search-combobox--header .input-container.-global{padding-right:0}:host([dir=rtl]) .search-combobox--header .input-container.-global,:root[dir=rtl] .search-combobox--header .input-container.-global{padding-left:0}:host(:not([dir=rtl])) .search-combobox--header .input-container.-global,:root:not([dir=rtl]) .search-combobox--header .input-container.-global{padding-left:0}:host([dir=rtl]) .search-combobox--header .input-container.-global,:root[dir=rtl] .search-combobox--header .input-container.-global{padding-right:0}.search-combobox--header .input-container.-global:hover{background:RGBA(var(--unified_nav-input--background-color--hover,var(--now-color_chrome--brand-3,114,128,129)),var(--now-opacity--most,.8));border:1px solid RGB(var(--unified_nav-input--border-color,var(--now-color_chrome--divider-1,144,155,156)));border-radius:.25rem}@media(forced-colors:active){.search-combobox--header .input-container.-global:hover{border:1px solid RGB(var(--unified_nav-input--border-color,var(--now-color_chrome--divider-1,144,155,156)))}}.search-combobox--header .input-container.-global.-active-input{border:1px solid RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)))!important;border-radius:.25rem!important;width:320px!important}.search-combobox--header .input-container.-global.-active-input,.search-combobox--header .input-container.-global.-active-input:hover{background:RGB(var(--unified_nav-input--background-color--opened,var(--now-color--neutral-0,255,255,255)))!important}.search-combobox--header .input-container__input.-global{color:RGB(var(--unified_nav-input--color,var(--now-color--neutral-0,255,255,255)));font-size:1rem}.search-combobox--header .input-container__input.-global::-webkit-input-placeholder{color:RGB(var(--unified_nav-input--color--placeholder,var(--unified_nav-input--color,var(--now-color--neutral-0,255,255,255))));font-size:inherit;font-weight:400}.search-combobox--header .input-container__input.-global::placeholder{color:RGB(var(--unified_nav-input--color--placeholder,var(--unified_nav-input--color,var(--now-color--neutral-0,255,255,255))));font-size:inherit;font-weight:400}.search-combobox--header .input-container__input.-global.can-animate{transition:background-color RGB(var(--unified_nav-input--background-color--opened,var(--now-color--neutral-0,255,255,255)));transition:opacity var(--now-opacity--least,.1)}.search-combobox--header .input-container__input.-global.-active-input{color:RGB(var(--unified_nav-input--color--opened,var(--now-color--neutral-18,22,27,28)))}.search-combobox--header .input-container__input.-global.-active-input::-webkit-input-placeholder{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));font-size:inherit;font-weight:400}.search-combobox--header .input-container__input.-global.-active-input::placeholder{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));font-size:inherit;font-weight:400}:host(:not([dir=rtl])) .search-combobox--header .input-container__button-icon:first-of-type,:root:not([dir=rtl]) .search-combobox--header .input-container__button-icon:first-of-type{padding-left:.5rem}:host([dir=rtl]) .search-combobox--header .input-container__button-icon:first-of-type,:root[dir=rtl] .search-combobox--header .input-container__button-icon:first-of-type{padding-right:.5rem}:host(:not([dir=rtl])) .search-combobox--header .input-container__button-icon:first-of-type,:root:not([dir=rtl]) .search-combobox--header .input-container__button-icon:first-of-type{padding-right:1rem}:host([dir=rtl]) .search-combobox--header .input-container__button-icon:first-of-type,:root[dir=rtl] .search-combobox--header .input-container__button-icon:first-of-type{padding-left:1rem}:host(:not([dir=rtl])) .search-combobox--header .input-container__button-icon:nth-of-type(2),:root:not([dir=rtl]) .search-combobox--header .input-container__button-icon:nth-of-type(2){padding-left:0}:host([dir=rtl]) .search-combobox--header .input-container__button-icon:nth-of-type(2),:root[dir=rtl] .search-combobox--header .input-container__button-icon:nth-of-type(2){padding-right:0}.search-combobox--header .-global-search-icon{align-items:center;color:RGB(var(--unified_nav-input--color,var(--now-color--neutral-0,255,255,255)));display:inline-flex;height:2rem;justify-content:center;width:2rem}:host(:not([dir=rtl])) .search-combobox--header .-global-search-icon,:root:not([dir=rtl]) .search-combobox--header .-global-search-icon{padding-left:.5rem}:host([dir=rtl]) .search-combobox--header .-global-search-icon,:root[dir=rtl] .search-combobox--header .-global-search-icon{padding-right:.5rem}:host(:not([dir=rtl])) .search-combobox--header .-global-search-icon,:root:not([dir=rtl]) .search-combobox--header .-global-search-icon{padding-right:.5rem}:host([dir=rtl]) .search-combobox--header .-global-search-icon,:root[dir=rtl] .search-combobox--header .-global-search-icon{padding-left:.5rem}.search-combobox--header .-global-search-icon.-active{color:RGB(var(--unified_nav-input--color--opened,var(--now-color--neutral-18,22,27,28)));padding-bottom:.5rem;padding-top:.5rem}:host(:not([dir=rtl])) .search-combobox--header .-global-search-icon.-active,:root:not([dir=rtl]) .search-combobox--header .-global-search-icon.-active{padding-left:.5rem}:host([dir=rtl]) .search-combobox--header .-global-search-icon.-active,:root[dir=rtl] .search-combobox--header .-global-search-icon.-active{padding-right:.5rem}:host(:not([dir=rtl])) .search-combobox--header .-global-search-icon.-active,:root:not([dir=rtl]) .search-combobox--header .-global-search-icon.-active{padding-right:.5rem}:host([dir=rtl]) .search-combobox--header .-global-search-icon.-active,:root[dir=rtl] .search-combobox--header .-global-search-icon.-active{padding-left:.5rem}.search-combobox--header .cancel-icon{color:var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))}.search-combobox--header .input-container__global-cancel-icon{background:transparent;border:none;border-radius:100%;color:RGB(var(--unified_nav-input--color,var(--now-color--neutral-0,255,255,255)));cursor:pointer;height:2rem;outline:none;width:2rem}.search-combobox--header .input-container__global-cancel-icon:focus,.search-combobox--header .input-container__global-cancel-icon:hover{background-color:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)));border-color:RGB(var(--now-color--neutral-7,135,147,148))}.search-combobox--header .input-container__global-cancel-icon.can-animate{transition:background-color RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));transition:opacity var(--now-opacity--least,.1)}.search-combobox--header .input-container__global-cancel-icon now-icon[icon=filter-outline]{-webkit-margin-before:-.5rem;background:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)));border:RGB(var(--now-color--neutral-7,135,147,148));margin-block-start:-.5rem;position:absolute;top:40%}:host(:not([dir=rtl])) .search-combobox--header .input-container__global-cancel-icon now-icon[icon=filter-outline],:root:not([dir=rtl]) .search-combobox--header .input-container__global-cancel-icon now-icon[icon=filter-outline]{left:.75rem}:host([dir=rtl]) .search-combobox--header .input-container__global-cancel-icon now-icon[icon=filter-outline],:root[dir=rtl] .search-combobox--header .input-container__global-cancel-icon now-icon[icon=filter-outline]{right:.75rem}:host(:not([dir=rtl])) .search-combobox--header .context-dropdown-container,:root:not([dir=rtl]) .search-combobox--header .context-dropdown-container{border-left:1px solid RGB(var(--unified_nav-input--border-color,var(--now-color_chrome--divider-1,144,155,156)))}:host([dir=rtl]) .search-combobox--header .context-dropdown-container,:root[dir=rtl] .search-combobox--header .context-dropdown-container{border-right:1px solid RGB(var(--unified_nav-input--border-color,var(--now-color_chrome--divider-1,144,155,156)))}.search-combobox--header .context-dropdown-container:hover{background-color:RGB(var(--unified_nav-input--background-color--hover,var(--now-color_chrome--brand-3,114,128,129)))}.search-combobox--header .context-dropdown-container .dropdown-search-context{align-items:center;background-color:inherit;color:RGB(var(--unified_nav-input--color,var(--now-color--neutral-0,255,255,255)));justify-content:center}.search-combobox--header .context-dropdown-container .dropdown-search-context-active{color:RGB(var(--unified_nav-input--color--opened,var(--now-color--neutral-18,22,27,28)))}.search-combobox--header .search-popover{border:1px solid RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)));border-top:none;box-shadow:0 .5rem .75rem 0 RGB(56,56,56,var(--now-opacity--less,.25));padding-bottom:.5rem;padding-top:.5rem}:host(:not([dir=rtl])) .search-combobox--header .search-popover,:root:not([dir=rtl]) .search-combobox--header .search-popover{padding-left:0}:host([dir=rtl]) .search-combobox--header .search-popover,:root[dir=rtl] .search-combobox--header .search-popover{padding-right:0}:host(:not([dir=rtl])) .search-combobox--header .search-popover,:root:not([dir=rtl]) .search-combobox--header .search-popover{padding-right:0}:host([dir=rtl]) .search-combobox--header .search-popover,:root[dir=rtl] .search-combobox--header .search-popover{padding-left:0}.search-combobox--header .search-popover__item{padding-bottom:.125rem;padding-top:0}:host(:not([dir=rtl])) .search-combobox--header .search-popover__item,:root:not([dir=rtl]) .search-combobox--header .search-popover__item{padding-left:1rem}:host([dir=rtl]) .search-combobox--header .search-popover__item,:root[dir=rtl] .search-combobox--header .search-popover__item{padding-right:1rem}:host(:not([dir=rtl])) .search-combobox--header .search-popover__item,:root:not([dir=rtl]) .search-combobox--header .search-popover__item{padding-right:.5rem}:host([dir=rtl]) .search-combobox--header .search-popover__item,:root[dir=rtl] .search-combobox--header .search-popover__item{padding-left:.5rem}.search-combobox--header .search-popover__item.-search-popover__item--is-active:hover{background-color:RGB(var(--now-color--primary-0,221,237,233))}.search-combobox--header .search-popover__section-header{display:block;padding-bottom:.125rem;padding-top:1rem}:host(:not([dir=rtl])) .search-combobox--header .search-popover__section-header,:root:not([dir=rtl]) .search-combobox--header .search-popover__section-header{padding-left:1rem}:host([dir=rtl]) .search-combobox--header .search-popover__section-header,:root[dir=rtl] .search-combobox--header .search-popover__section-header{padding-right:1rem}:host(:not([dir=rtl])) .search-combobox--header .search-popover__section-header,:root:not([dir=rtl]) .search-combobox--header .search-popover__section-header{padding-right:.5rem}:host([dir=rtl]) .search-combobox--header .search-popover__section-header,:root[dir=rtl] .search-combobox--header .search-popover__section-header{padding-left:.5rem}.search-combobox--header .search-popover__item-button{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}:host(:not([dir=rtl])) .search-combobox--header .search-popover__item-button,:root:not([dir=rtl]) .search-combobox--header .search-popover__item-button{padding-left:.75rem}:host([dir=rtl]) .search-combobox--header .search-popover__item-button,:root[dir=rtl] .search-combobox--header .search-popover__item-button{padding-right:.75rem}.search-combobox--header .search-popover.-global{border:1px solid RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)));border-radius:.25rem;box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));margin-top:.125rem;max-height:24.75rem;padding-top:1rem;width:22.25rem;z-index:999}.search-combobox--header .search-popover__section-header.-global{color:RGB(var(--now-color--primary-2,23,100,82));padding-bottom:.5rem;padding-top:0!important}.search-combobox--header .section-divider-global{border-top:1px;border-color:var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214));margin-bottom:.75rem}.search-combobox--header .search-popover__item.-is-active-global:focus,.search-combobox--header .search-popover__item.-is-active-global:hover{background-color:RGB(var(--now-color--primary-1,30,133,109),var(--now-opacity--least,.1))}.search-combobox--header .search-popover__item-sign-in-notice,.search-combobox--header .search-popover__item-view-all{cursor:pointer;display:flex;padding-bottom:var(--footer-padding);padding-top:var(--footer-padding)}:host(:not([dir=rtl])) .search-combobox--header .search-popover__item-sign-in-notice,:host(:not([dir=rtl])) .search-combobox--header .search-popover__item-view-all,:root:not([dir=rtl]) .search-combobox--header .search-popover__item-sign-in-notice,:root:not([dir=rtl]) .search-combobox--header .search-popover__item-view-all{padding-left:1rem}:host([dir=rtl]) .search-combobox--header .search-popover__item-sign-in-notice,:host([dir=rtl]) .search-combobox--header .search-popover__item-view-all,:root[dir=rtl] .search-combobox--header .search-popover__item-sign-in-notice,:root[dir=rtl] .search-combobox--header .search-popover__item-view-all{padding-right:1rem}:host(:not([dir=rtl])) .search-combobox--header .search-popover__item-sign-in-notice,:host(:not([dir=rtl])) .search-combobox--header .search-popover__item-view-all,:root:not([dir=rtl]) .search-combobox--header .search-popover__item-sign-in-notice,:root:not([dir=rtl]) .search-combobox--header .search-popover__item-view-all{padding-right:1rem}:host([dir=rtl]) .search-combobox--header .search-popover__item-sign-in-notice,:host([dir=rtl]) .search-combobox--header .search-popover__item-view-all,:root[dir=rtl] .search-combobox--header .search-popover__item-sign-in-notice,:root[dir=rtl] .search-combobox--header .search-popover__item-view-all{padding-left:1rem}.search-combobox--header .search-popover__item-sign-in-notice:hover,.search-combobox--header .search-popover__item-view-all:hover{background-color:var(--now-search-modal_hover,#bddee7)}.search-combobox--header .search-popover__item-sign-in-notice .view-all-arrow-icon,.search-combobox--header .search-popover__item-view-all .view-all-arrow-icon{display:none}:host([dir=rtl]) .search-combobox--header .search-popover__item-sign-in-notice .view-all-arrow-icon,:host([dir=rtl]) .search-combobox--header .search-popover__item-view-all .view-all-arrow-icon,:root[dir=rtl] .search-combobox--header .search-popover__item-sign-in-notice .view-all-arrow-icon,:root[dir=rtl] .search-combobox--header .search-popover__item-view-all .view-all-arrow-icon{transform:scaleX(-1)}.search-combobox--header .search-popover__item-text-link{-webkit-line-clamp:1;-webkit-box-orient:vertical;align-items:var(--align-footer-content);color:#02506b;display:flex;display:-webkit-box;font-family:var(--now-font-family-sn-sans);font-size:1rem;font-style:normal;font-weight:450;justify-content:var(--align-footer-content);line-height:normal;overflow:hidden;text-align:var(--align-footer-content);text-overflow:ellipsis;width:100%}.search-combobox--header .search-popover__item-sign-in-notice{cursor:auto}.search-combobox--header .search-popover__item-sign-in-notice:hover{background-color:transparent}.search-combobox--header .search-popover__item-sign-in-notice .search-popover__item-text-link{color:#007393;cursor:pointer;font-family:var(--now-font-family-sn-sans);font-weight:300;text-decoration:underline;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;-webkit-text-decoration-style:solid;text-decoration-style:solid;text-decoration-thickness:auto;text-underline-offset:auto;text-underline-position:from-font}.search-combobox--header .search-popover__item-metadata-global{align-items:center;display:flex;flex:auto;overflow:hidden}:host(:not([dir=rtl])) .search-combobox--header .search-popover__item-metadata-global.search-popover__item-metadata-global-stacked-item,:root:not([dir=rtl]) .search-combobox--header .search-popover__item-metadata-global.search-popover__item-metadata-global-stacked-item{margin-right:.5rem}:host([dir=rtl]) .search-combobox--header .search-popover__item-metadata-global.search-popover__item-metadata-global-stacked-item,:root[dir=rtl] .search-combobox--header .search-popover__item-metadata-global.search-popover__item-metadata-global-stacked-item{margin-left:.5rem}.search-combobox--header .search-popover__item-primary-text.-global{font-size:1rem}:host(:not([dir=rtl])) .search-combobox--header .search-popover__item-primary-text.-global,:root:not([dir=rtl]) .search-combobox--header .search-popover__item-primary-text.-global{margin-left:.5rem}:host([dir=rtl]) .search-combobox--header .search-popover__item-primary-text.-global,:root[dir=rtl] .search-combobox--header .search-popover__item-primary-text.-global{margin-right:.5rem}.search-combobox--header .search-popover__item-primary-text.-global .search-popover__item--content-container{width:100%}.search-combobox--header .search-popover__item-primary-text.-global p{display:block}.search-combobox--header .search-popover__item-sign-in-notice{border-top:var(--sn-cx-search-input--popover-item-sign-in-notice-border_top,1px solid #e3e3e3);padding-bottom:.75rem;padding-top:.75rem}.search-combobox--header .search-popover__item-sign-in-notice .search-popover__item-text-link{width:auto}.search-combobox--header .search-popover__item-sign-in-notice .search-popover__item-sign-in-notice-text{color:#1d1d1d;font-family:var(--now-font-family-sn-sans);font-size:1rem;font-style:normal;font-weight:300;line-height:1.5rem}@media(forced-colors:active){.search-combobox--header .search-popover__item-text-link{padding:.125rem 0}.search-combobox--header .search-popover__item.-is-active-global:hover{background-color:highlight}.search-combobox--header .search-popover__item.-is-active-global:hover .search-popover__item-metadata-global{border:.1px solid transparent;forced-color-adjust:none}.search-combobox--header .search-popover__item.-is-active-global:hover now-icon.search-popover__item-icon{color:highlighttext}}:host(:not([dir=rtl])) .search-combobox--body .input-container__button-icon:first-of-type,:root:not([dir=rtl]) .search-combobox--body .input-container__button-icon:first-of-type{padding-left:.5rem}:host([dir=rtl]) .search-combobox--body .input-container__button-icon:first-of-type,:root[dir=rtl] .search-combobox--body .input-container__button-icon:first-of-type{padding-right:.5rem}:host(:not([dir=rtl])) .search-combobox--body .input-container__button-icon:first-of-type,:root:not([dir=rtl]) .search-combobox--body .input-container__button-icon:first-of-type{padding-right:1rem}:host([dir=rtl]) .search-combobox--body .input-container__button-icon:first-of-type,:root[dir=rtl] .search-combobox--body .input-container__button-icon:first-of-type{padding-left:1rem}:host(:not([dir=rtl])) .search-combobox--body .input-container__button-icon:nth-of-type(2),:root:not([dir=rtl]) .search-combobox--body .input-container__button-icon:nth-of-type(2){padding-right:.25rem}:host([dir=rtl]) .search-combobox--body .input-container__button-icon:nth-of-type(2),:root[dir=rtl] .search-combobox--body .input-container__button-icon:nth-of-type(2){padding-left:.25rem}:host(:not([dir=rtl])) .search-combobox--body .input-container-search-icon-global:first-of-type,:root:not([dir=rtl]) .search-combobox--body .input-container-search-icon-global:first-of-type{padding-left:0}:host([dir=rtl]) .search-combobox--body .input-container-search-icon-global:first-of-type,:root[dir=rtl] .search-combobox--body .input-container-search-icon-global:first-of-type{padding-right:0}:host(:not([dir=rtl])) .search-combobox--body .input-container-search-icon-global:first-of-type,:root:not([dir=rtl]) .search-combobox--body .input-container-search-icon-global:first-of-type{padding-right:0}:host([dir=rtl]) .search-combobox--body .input-container-search-icon-global:first-of-type,:root[dir=rtl] .search-combobox--body .input-container-search-icon-global:first-of-type{padding-left:0}.search-combobox--body .input-container__button-icon.input-container__icon--cancel{--now-button--bare_primary--border-radius:99999px}.search-combobox--body .input-container__button-icon.input-container__icon--cancel .cancel-icon{line-height:0;padding-left:.3125rem;padding-right:.3125rem}.search-combobox--body .search-popover{padding-bottom:.5rem;padding-top:0}:host(:not([dir=rtl])) .search-combobox--body .search-popover,:root:not([dir=rtl]) .search-combobox--body .search-popover{padding-left:0}:host([dir=rtl]) .search-combobox--body .search-popover,:root[dir=rtl] .search-combobox--body .search-popover{padding-right:0}:host(:not([dir=rtl])) .search-combobox--body .search-popover,:root:not([dir=rtl]) .search-combobox--body .search-popover{padding-right:0}:host([dir=rtl]) .search-combobox--body .search-popover,:root[dir=rtl] .search-combobox--body .search-popover{padding-left:0}.search-combobox--body .search-popover ul:first-of-type{padding-top:.5rem}.search-combobox--body .search-popover ul:not(:last-child){padding-bottom:.5rem}.search-combobox--body .search-popover__item{padding-bottom:.75rem;padding-top:.75rem}:host(:not([dir=rtl])) .search-combobox--body .search-popover__item,:root:not([dir=rtl]) .search-combobox--body .search-popover__item{padding-left:1rem}:host([dir=rtl]) .search-combobox--body .search-popover__item,:root[dir=rtl] .search-combobox--body .search-popover__item{padding-right:1rem}:host(:not([dir=rtl])) .search-combobox--body .search-popover__item,:root:not([dir=rtl]) .search-combobox--body .search-popover__item{padding-right:1rem}:host([dir=rtl]) .search-combobox--body .search-popover__item,:root[dir=rtl] .search-combobox--body .search-popover__item{padding-left:1rem}.search-combobox--body .search-popover__section-header{display:block;padding-bottom:.75rem;padding-top:.75rem}:host(:not([dir=rtl])) .search-combobox--body .search-popover__section-header,:root:not([dir=rtl]) .search-combobox--body .search-popover__section-header{padding-left:1rem}:host([dir=rtl]) .search-combobox--body .search-popover__section-header,:root[dir=rtl] .search-combobox--body .search-popover__section-header{padding-right:1rem}:host(:not([dir=rtl])) .search-combobox--body .search-popover__section-header,:root:not([dir=rtl]) .search-combobox--body .search-popover__section-header{padding-right:1rem}:host([dir=rtl]) .search-combobox--body .search-popover__section-header,:root[dir=rtl] .search-combobox--body .search-popover__section-header{padding-left:1rem}.search-combobox--body .search-popover__section-header:first-child{padding-top:0}.search-combobox--body .search-popover__item-view-all.search-popover__item-sign-in-notice-added{padding-bottom:.75rem;padding-top:.75rem}.search-combobox--body .search-popover.-global{border:1px solid RGB(var(--now-color_border--tertiary,var(--now-color--neutral-3,209,214,214)));border-radius:.25rem;box-shadow:0 .25rem .5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));margin-top:.125rem;max-height:24.75rem;padding-top:1rem;width:22.25rem;z-index:999}.search-combobox--body .search-popover__section-header.-global{color:RGB(var(--now-color--primary-2,23,100,82));padding-bottom:.5rem;padding-top:0!important}.search-combobox--body .section-divider-global{border-top:1px;border-color:var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214));margin-bottom:.75rem}.search-combobox--body .search-popover__item.-is-active-global:focus,.search-combobox--body .search-popover__item.-is-active-global:hover{background-color:RGB(var(--now-color--primary-1,30,133,109),var(--now-opacity--least,.1))}.search-combobox--body .search-popover__item-sign-in-notice,.search-combobox--body .search-popover__item-view-all{cursor:pointer;display:flex;padding-bottom:var(--footer-padding);padding-top:var(--footer-padding)}:host(:not([dir=rtl])) .search-combobox--body .search-popover__item-sign-in-notice,:host(:not([dir=rtl])) .search-combobox--body .search-popover__item-view-all,:root:not([dir=rtl]) .search-combobox--body .search-popover__item-sign-in-notice,:root:not([dir=rtl]) .search-combobox--body .search-popover__item-view-all{padding-left:1rem}:host([dir=rtl]) .search-combobox--body .search-popover__item-sign-in-notice,:host([dir=rtl]) .search-combobox--body .search-popover__item-view-all,:root[dir=rtl] .search-combobox--body .search-popover__item-sign-in-notice,:root[dir=rtl] .search-combobox--body .search-popover__item-view-all{padding-right:1rem}:host(:not([dir=rtl])) .search-combobox--body .search-popover__item-sign-in-notice,:host(:not([dir=rtl])) .search-combobox--body .search-popover__item-view-all,:root:not([dir=rtl]) .search-combobox--body .search-popover__item-sign-in-notice,:root:not([dir=rtl]) .search-combobox--body .search-popover__item-view-all{padding-right:1rem}:host([dir=rtl]) .search-combobox--body .search-popover__item-sign-in-notice,:host([dir=rtl]) .search-combobox--body .search-popover__item-view-all,:root[dir=rtl] .search-combobox--body .search-popover__item-sign-in-notice,:root[dir=rtl] .search-combobox--body .search-popover__item-view-all{padding-left:1rem}.search-combobox--body .search-popover__item-sign-in-notice:hover,.search-combobox--body .search-popover__item-view-all:hover{background-color:var(--now-search-modal_hover,#bddee7)}.search-combobox--body .search-popover__item-sign-in-notice .view-all-arrow-icon,.search-combobox--body .search-popover__item-view-all .view-all-arrow-icon{display:none}:host([dir=rtl]) .search-combobox--body .search-popover__item-sign-in-notice .view-all-arrow-icon,:host([dir=rtl]) .search-combobox--body .search-popover__item-view-all .view-all-arrow-icon,:root[dir=rtl] .search-combobox--body .search-popover__item-sign-in-notice .view-all-arrow-icon,:root[dir=rtl] .search-combobox--body .search-popover__item-view-all .view-all-arrow-icon{transform:scaleX(-1)}.search-combobox--body .search-popover__item-text-link{-webkit-line-clamp:1;-webkit-box-orient:vertical;align-items:var(--align-footer-content);color:#02506b;display:flex;display:-webkit-box;font-family:var(--now-font-family-sn-sans);font-size:1rem;font-style:normal;font-weight:450;justify-content:var(--align-footer-content);line-height:normal;overflow:hidden;text-align:var(--align-footer-content);text-overflow:ellipsis;width:100%}.search-combobox--body .search-popover__item-sign-in-notice{cursor:auto}.search-combobox--body .search-popover__item-sign-in-notice:hover{background-color:transparent}.search-combobox--body .search-popover__item-sign-in-notice .search-popover__item-text-link{color:#007393;cursor:pointer;font-family:var(--now-font-family-sn-sans);font-weight:300;text-decoration:underline;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;-webkit-text-decoration-style:solid;text-decoration-style:solid;text-decoration-thickness:auto;text-underline-offset:auto;text-underline-position:from-font}.search-combobox--body .search-popover__item-metadata-global{align-items:center;display:flex;flex:auto;overflow:hidden}:host(:not([dir=rtl])) .search-combobox--body .search-popover__item-metadata-global.search-popover__item-metadata-global-stacked-item,:root:not([dir=rtl]) .search-combobox--body .search-popover__item-metadata-global.search-popover__item-metadata-global-stacked-item{margin-right:.5rem}:host([dir=rtl]) .search-combobox--body .search-popover__item-metadata-global.search-popover__item-metadata-global-stacked-item,:root[dir=rtl] .search-combobox--body .search-popover__item-metadata-global.search-popover__item-metadata-global-stacked-item{margin-left:.5rem}.search-combobox--body .search-popover__item-primary-text.-global{font-size:1rem}:host(:not([dir=rtl])) .search-combobox--body .search-popover__item-primary-text.-global,:root:not([dir=rtl]) .search-combobox--body .search-popover__item-primary-text.-global{margin-left:.5rem}:host([dir=rtl]) .search-combobox--body .search-popover__item-primary-text.-global,:root[dir=rtl] .search-combobox--body .search-popover__item-primary-text.-global{margin-right:.5rem}.search-combobox--body .search-popover__item-primary-text.-global .search-popover__item--content-container{width:100%}.search-combobox--body .search-popover__item-primary-text.-global p{display:block}.search-combobox--body .search-popover__item-sign-in-notice{border-top:var(--sn-cx-search-input--popover-item-sign-in-notice-border_top,1px solid #e3e3e3);padding-bottom:.75rem;padding-top:.75rem}.search-combobox--body .search-popover__item-sign-in-notice .search-popover__item-text-link{width:auto}.search-combobox--body .search-popover__item-sign-in-notice .search-popover__item-sign-in-notice-text{color:#1d1d1d;font-family:var(--now-font-family-sn-sans);font-size:1rem;font-style:normal;font-weight:300;line-height:1.5rem}@media(forced-colors:active){.search-combobox--body .search-popover__item-text-link{padding:.125rem 0}.search-combobox--body .search-popover__item.-is-active-global:hover{background-color:highlight}.search-combobox--body .search-popover__item.-is-active-global:hover .search-popover__item-metadata-global{border:.1px solid transparent;forced-color-adjust:none}.search-combobox--body .search-popover__item.-is-active-global:hover now-icon.search-popover__item-icon{color:highlighttext}}now-template-message-empty-state{--now-template-message-empty-state_heading--header--font-family:var( --now-font-family-gilroy );--now-template-message-empty-state_content--font-family:var( --now-font-family-gilroy );margin:.5rem 0}.attached-to-navigation now-button-iconic{--now-button-iconic--bare_tertiary--color:var(--sn-cx-search-input--attached-input-color,var(--now-color--neutral-0,255,255,255))}.attached-to-navigation now-template-message-empty-state{--now-template-message-empty-state_heading--color:var(--sn-cx-search-input-combobox-empty-state--color,var(--now-color--neutral-0,255,255,255));--now-template-message-empty-state_content--color:var(--sn-cx-search-input-combobox-empty-state--color,var(--now-color--neutral-0,255,255,255))}.attached-to-element .search-combobox{gap:var(--search-attach-element-combobox--gap,.5rem)}.attached-to-element.unauth .search-combobox{gap:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:var(--now-font-size--md1,1rem)}.now-heading--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-heading--xl{font-size:var(--now-font-size--xl,2.5rem)}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:var(--now-font-size--sm,.75rem)}.now-text--md{font-size:var(--now-font-size--md1,1rem)}.now-text--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.now-m-block--xxs{-webkit-margin-before:.125rem;-webkit-margin-after:.125rem;margin-block-end:.125rem;margin-block-start:.125rem}.now-m-block-start--xxs{-webkit-margin-before:.125rem;margin-block-start:.125rem}.now-m-block-end--xxs{-webkit-margin-after:.125rem;margin-block-end:.125rem}.now-m-inline--xxs{-webkit-margin-start:.125rem;-webkit-margin-end:.125rem;margin-inline-end:.125rem;margin-inline-start:.125rem}.now-m-inline-start--xxs{-webkit-margin-start:.125rem;margin-inline-start:.125rem}.now-m-inline-end--xxs{-webkit-margin-end:.125rem;margin-inline-end:.125rem}.now-m-block--xs{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-block-start:.25rem}.now-m-block-start--xs{-webkit-margin-before:.25rem;margin-block-start:.25rem}.now-m-block-end--xs{-webkit-margin-after:.25rem;margin-block-end:.25rem}.now-m-inline--xs{-webkit-margin-start:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem;margin-inline-start:.25rem}.now-m-inline-start--xs{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-m-inline-end--xs{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-m-block--sm{-webkit-margin-before:.5rem;-webkit-margin-after:.5rem;margin-block-end:.5rem;margin-block-start:.5rem}.now-m-block-start--sm{-webkit-margin-before:.5rem;margin-block-start:.5rem}.now-m-block-end--sm{-webkit-margin-after:.5rem;margin-block-end:.5rem}.now-m-inline--sm{-webkit-margin-start:.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem;margin-inline-start:.5rem}.now-m-inline-start--sm{-webkit-margin-start:.5rem;margin-inline-start:.5rem}.now-m-inline-end--sm{-webkit-margin-end:.5rem;margin-inline-end:.5rem}.now-m-block--md{-webkit-margin-before:.75rem;-webkit-margin-after:.75rem;margin-block-end:.75rem;margin-block-start:.75rem}.now-m-block-start--md{-webkit-margin-before:.75rem;margin-block-start:.75rem}.now-m-block-end--md{-webkit-margin-after:.75rem;margin-block-end:.75rem}.now-m-inline--md{-webkit-margin-start:.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;margin-inline-start:.75rem}.now-m-inline-start--md{-webkit-margin-start:.75rem;margin-inline-start:.75rem}.now-m-inline-end--md{-webkit-margin-end:.75rem;margin-inline-end:.75rem}.now-m-block--lg{-webkit-margin-before:1rem;-webkit-margin-after:1rem;margin-block-end:1rem;margin-block-start:1rem}.now-m-block-start--lg{-webkit-margin-before:1rem;margin-block-start:1rem}.now-m-block-end--lg{-webkit-margin-after:1rem;margin-block-end:1rem}.now-m-inline--lg{-webkit-margin-start:1rem;-webkit-margin-end:1rem;margin-inline-end:1rem;margin-inline-start:1rem}.now-m-inline-start--lg{-webkit-margin-start:1rem;margin-inline-start:1rem}.now-m-inline-end--lg{-webkit-margin-end:1rem;margin-inline-end:1rem}.now-m-block--xl{-webkit-margin-before:1.5rem;-webkit-margin-after:1.5rem;margin-block-end:1.5rem;margin-block-start:1.5rem}.now-m-block-start--xl{-webkit-margin-before:1.5rem;margin-block-start:1.5rem}.now-m-block-end--xl{-webkit-margin-after:1.5rem;margin-block-end:1.5rem}.now-m-inline--xl{-webkit-margin-start:1.5rem;-webkit-margin-end:1.5rem;margin-inline-end:1.5rem;margin-inline-start:1.5rem}.now-m-inline-start--xl{-webkit-margin-start:1.5rem;margin-inline-start:1.5rem}.now-m-inline-end--xl{-webkit-margin-end:1.5rem;margin-inline-end:1.5rem}.now-m-block--xxl{-webkit-margin-before:2rem;-webkit-margin-after:2rem;margin-block-end:2rem;margin-block-start:2rem}.now-m-block-start--xxl{-webkit-margin-before:2rem;margin-block-start:2rem}.now-m-block-end--xxl{-webkit-margin-after:2rem;margin-block-end:2rem}.now-m-inline--xxl{-webkit-margin-start:2rem;-webkit-margin-end:2rem;margin-inline-end:2rem;margin-inline-start:2rem}.now-m-inline-start--xxl{-webkit-margin-start:2rem;margin-inline-start:2rem}.now-m-inline-end--xxl{-webkit-margin-end:2rem;margin-inline-end:2rem}.now-m-block--3xl{-webkit-margin-before:2.5rem;-webkit-margin-after:2.5rem;margin-block-end:2.5rem;margin-block-start:2.5rem}.now-m-block-start--3xl{-webkit-margin-before:2.5rem;margin-block-start:2.5rem}.now-m-block-end--3xl{-webkit-margin-after:2.5rem;margin-block-end:2.5rem}.now-m-inline--3xl{-webkit-margin-start:2.5rem;-webkit-margin-end:2.5rem;margin-inline-end:2.5rem;margin-inline-start:2.5rem}.now-m-inline-start--3xl{-webkit-margin-start:2.5rem;margin-inline-start:2.5rem}.now-m-inline-end--3xl{-webkit-margin-end:2.5rem;margin-inline-end:2.5rem}.now-m-block--0{-webkit-margin-before:0;-webkit-margin-after:0;margin-block-end:0;margin-block-start:0}.now-m-block-start--0{-webkit-margin-before:0;margin-block-start:0}.now-m-block-end--0{-webkit-margin-after:0;margin-block-end:0}.now-m-inline--0{-webkit-margin-start:0;-webkit-margin-end:0;margin-inline-end:0;margin-inline-start:0}.now-m-inline-start--0{-webkit-margin-start:0;margin-inline-start:0}.now-m-inline-end--0{-webkit-margin-end:0;margin-inline-end:0}.now-p-block--xxs{-webkit-padding-before:.125rem;-webkit-padding-after:.125rem;padding-block-end:.125rem;padding-block-start:.125rem}.now-p-block-start--xxs{-webkit-padding-before:.125rem;padding-block-start:.125rem}.now-p-block-end--xxs{-webkit-padding-after:.125rem;padding-block-end:.125rem}.now-p-inline--xxs{-webkit-padding-start:.125rem;-webkit-padding-end:.125rem;padding-inline-end:.125rem;padding-inline-start:.125rem}.now-p-inline-start--xxs{-webkit-padding-start:.125rem;padding-inline-start:.125rem}.now-p-inline-end--xxs{-webkit-padding-end:.125rem;padding-inline-end:.125rem}.now-p-block--xs{-webkit-padding-before:.25rem;-webkit-padding-after:.25rem;padding-block-end:.25rem;padding-block-start:.25rem}.now-p-block-start--xs{-webkit-padding-before:.25rem;padding-block-start:.25rem}.now-p-block-end--xs{-webkit-padding-after:.25rem;padding-block-end:.25rem}.now-p-inline--xs{-webkit-padding-start:.25rem;-webkit-padding-end:.25rem;padding-inline-end:.25rem;padding-inline-start:.25rem}.now-p-inline-start--xs{-webkit-padding-start:.25rem;padding-inline-start:.25rem}.now-p-inline-end--xs{-webkit-padding-end:.25rem;padding-inline-end:.25rem}.now-p-block--sm{-webkit-padding-before:.5rem;-webkit-padding-after:.5rem;padding-block-end:.5rem;padding-block-start:.5rem}.now-p-block-start--sm{-webkit-padding-before:.5rem;padding-block-start:.5rem}.now-p-block-end--sm{-webkit-padding-after:.5rem;padding-block-end:.5rem}.now-p-inline--sm{-webkit-padding-start:.5rem;-webkit-padding-end:.5rem;padding-inline-end:.5rem;padding-inline-start:.5rem}.now-p-inline-start--sm{-webkit-padding-start:.5rem;padding-inline-start:.5rem}.now-p-inline-end--sm{-webkit-padding-end:.5rem;padding-inline-end:.5rem}.now-p-block--md{-webkit-padding-before:.75rem;-webkit-padding-after:.75rem;padding-block-end:.75rem;padding-block-start:.75rem}.now-p-block-start--md{-webkit-padding-before:.75rem;padding-block-start:.75rem}.now-p-block-end--md{-webkit-padding-after:.75rem;padding-block-end:.75rem}.now-p-inline--md{-webkit-padding-start:.75rem;-webkit-padding-end:.75rem;padding-inline-end:.75rem;padding-inline-start:.75rem}.now-p-inline-start--md{-webkit-padding-start:.75rem;padding-inline-start:.75rem}.now-p-inline-end--md{-webkit-padding-end:.75rem;padding-inline-end:.75rem}.now-p-block--lg{-webkit-padding-before:1rem;-webkit-padding-after:1rem;padding-block-end:1rem;padding-block-start:1rem}.now-p-block-start--lg{-webkit-padding-before:1rem;padding-block-start:1rem}.now-p-block-end--lg{-webkit-padding-after:1rem;padding-block-end:1rem}.now-p-inline--lg{-webkit-padding-start:1rem;-webkit-padding-end:1rem;padding-inline-end:1rem;padding-inline-start:1rem}.now-p-inline-start--lg{-webkit-padding-start:1rem;padding-inline-start:1rem}.now-p-inline-end--lg{-webkit-padding-end:1rem;padding-inline-end:1rem}.now-p-block--xl{-webkit-padding-before:1.5rem;-webkit-padding-after:1.5rem;padding-block-end:1.5rem;padding-block-start:1.5rem}.now-p-block-start--xl{-webkit-padding-before:1.5rem;padding-block-start:1.5rem}.now-p-block-end--xl{-webkit-padding-after:1.5rem;padding-block-end:1.5rem}.now-p-inline--xl{-webkit-padding-start:1.5rem;-webkit-padding-end:1.5rem;padding-inline-end:1.5rem;padding-inline-start:1.5rem}.now-p-inline-start--xl{-webkit-padding-start:1.5rem;padding-inline-start:1.5rem}.now-p-inline-end--xl{-webkit-padding-end:1.5rem;padding-inline-end:1.5rem}.now-p-block--xxl{-webkit-padding-before:2rem;-webkit-padding-after:2rem;padding-block-end:2rem;padding-block-start:2rem}.now-p-block-start--xxl{-webkit-padding-before:2rem;padding-block-start:2rem}.now-p-block-end--xxl{-webkit-padding-after:2rem;padding-block-end:2rem}.now-p-inline--xxl{-webkit-padding-start:2rem;-webkit-padding-end:2rem;padding-inline-end:2rem;padding-inline-start:2rem}.now-p-inline-start--xxl{-webkit-padding-start:2rem;padding-inline-start:2rem}.now-p-inline-end--xxl{-webkit-padding-end:2rem;padding-inline-end:2rem}.now-p-block--3xl{-webkit-padding-before:2.5rem;-webkit-padding-after:2.5rem;padding-block-end:2.5rem;padding-block-start:2.5rem}.now-p-block-start--3xl{-webkit-padding-before:2.5rem;padding-block-start:2.5rem}.now-p-block-end--3xl{-webkit-padding-after:2.5rem;padding-block-end:2.5rem}.now-p-inline--3xl{-webkit-padding-start:2.5rem;-webkit-padding-end:2.5rem;padding-inline-end:2.5rem;padding-inline-start:2.5rem}.now-p-inline-start--3xl{-webkit-padding-start:2.5rem;padding-inline-start:2.5rem}.now-p-inline-end--3xl{-webkit-padding-end:2.5rem;padding-inline-end:2.5rem}.now-p-block--0{-webkit-padding-before:0;-webkit-padding-after:0;padding-block-end:0;padding-block-start:0}.now-p-block-start--0{-webkit-padding-before:0;padding-block-start:0}.now-p-block-end--0{-webkit-padding-after:0;padding-block-end:0}.now-p-inline--0{-webkit-padding-start:0;-webkit-padding-end:0;padding-inline-end:0;padding-inline-start:0}.now-p-inline-start--0{-webkit-padding-start:0;padding-inline-start:0}.now-p-inline-end--0{-webkit-padding-end:0;padding-inline-end:0}:host{display:block}.sn-cx-search-modal{align-items:flex-start;background-color:RGB(var(--search-modal_overlay--background-color,var(--now-color--neutral-21,0,0,0)),var(--search-modal_overlay--background-color-alpha,var(--now-opacity--mid,.5)));grid-template-columns:repeat(12,1fr);height:var(--search-modal_overlay--height,100vh);left:var(--search-modal_overlay-left,0);margin:0;max-height:0;max-width:100%;opacity:0;padding:0;position:fixed;top:var(--search-modal_overlay--top,0);transition:opacity .3s ease;visibility:hidden;width:var(--search-modal_overlay--width,100vw);z-index:var(--search-modal_overlay--z-index,4000)}@media(min-width:1024px){.sn-cx-search-modal{height:calc(var(--search-modal_overlay--height, 100vh) - var(--search-modal_overlay-lg--top, var(--search-modal_overlay--top, 0px)));top:var(--search-modal_overlay-lg--top,var(--search-modal_overlay--top,0))}}.sn-cx-search-modal .search-modal-content{background-color:RGB(var(--search-modal_content-background,var(--now-color--neutral-0,255,255,255)));border-radius:var(--search-modal-content--border_radius,var(--now-window--border-radius,.25rem));grid-column:3/span 8;margin-top:var(--sn-cx-search-modal--margin-top,3.75rem);padding:var(--search-modal_content-padding,.75rem)}.sn-cx-search-modal.-opened{display:grid;max-height:100%;opacity:1;visibility:visible}.sn-cx-search-modal .search-modal-header{align-items:center;display:none;justify-content:space-between;margin-bottom:var(--sn-cx-search-modal-attached-header--margin_bottom,1.5rem);padding:var(--sn-cx-search-modal-attached-dialog--padding_y,.5rem) var(--sn-cx-search-modal-attached-dialog--padding_x,.5rem)}.sn-cx-search-modal .search-modal-header h1{color:RGB(var(--sn-cx-search-modal-attached-header-title--color,var(--now-color--neutral-0,255,255,255)));font-family:var(--now-font-family-sn-sans);font-size:var(--sn-cx-search-modal-attached-header-title-sm--font-size,1.125rem);font-style:normal;font-weight:700;letter-spacing:-.3px;line-height:var(--sn-cx-search-modal-attached-header-title-sm--line_height,calc(var(--sn-cx-search-modal-attached-header-title-sm--font-size, 1.125rem)*1.1));text-align:center}@media(min-width:768px){.sn-cx-search-modal .search-modal-header h1{font-size:var(--sn-cx-search-modal-attached-header-title-md--font_size,1.25rem);line-height:var(--sn-cx-search-modal-attached-header-title-md--line_height,calc(var(--sn-cx-search-modal-attached-header-title-md--font_size, 1.25rem)*1.1))}}.sn-cx-search-modal.-attached-to-navigation{background-color:RGBA(var(--sn-cx-search-modal-attached-overlay--background_color,var(--sn-cx-search-modal--color-prirmary,18,77,107)),var(--sn-cx-search-modal-attached-overlay-background--opacity,.9))}.sn-cx-search-modal.-attached-to-navigation .search-modal-header{display:flex}@media(min-width:1024px){.sn-cx-search-modal.-attached-to-navigation .search-modal-header{display:none}}.sn-cx-search-modal.-attached-to-navigation.-opened{align-items:flex-start;display:flex}.sn-cx-search-modal.-attached-to-navigation .back-modal-button now-icon,.sn-cx-search-modal.-attached-to-navigation .close-modal-button now-icon{color:RGBA(var(--sn-cx-search-modal-attached-closed-icon-color,var(--now-color--neutral-0,255,255,255)),var(--sn-cx-search-modal-attached-closed-icon-color-alpha,1))}@media(min-width:1024px){.sn-cx-search-modal.-attached-to-navigation .close-modal-button{--now-button--bare_primary--border-radius:var(--sn-cx-search-modal-attached-border-radius,6249.9375rem);--now-button--scale-size-block:$search-modal-attached-closed-icon-size-block;bottom:var(--sn-cx-search-modal-attached-closed-icon-bottom,auto);inset-inline-end:var(--sn-cx-search-modal-attached-closed-icon-right,1rem);inset-inline-start:var(--sn-cx-search-modal-attached-closed-icon-left,auto);position:absolute;top:var(--sn-cx-search-modal-attached-closed-icon-top,1rem)}}.sn-cx-search-modal.-attached-to-navigation .search-modal-content{background:var(--search-modal-attached--background,radial-gradient(87.81% 80.71% at 100% 100%,rgba(98,216,78,.08) 0,rgba(35,194,206,.06) 60.96%,rgba(35,194,206,0) 100%) #032d42);border-radius:0;display:block;height:100vh;margin-top:0;overflow-y:auto;padding:var(--sn-cx-search-modal-attached-content--padding,1.5rem 1rem 2rem 1rem);width:100%}@media(min-width:576px){.sn-cx-search-modal.-attached-to-navigation .search-modal-content{padding:var(--sn-cx-search-modal-attached-content--padding,1.5rem 2rem 2.5rem 2rem)}}@media(min-width:1024px){.sn-cx-search-modal.-attached-to-navigation .search-modal-content{align-items:flex-start;box-shadow:var(--sn-cx-search-modal-attached-modal-content-box-shadow,0 .75rem 1rem 0 rgba(0,0,0,.2));display:grid;grid-template-columns:repeat(12,1fr);height:auto;max-height:calc(100vh - 128px);padding:var(--sn-cx-search-modal-attached-content-lg--padding,3rem 2rem 4rem 2rem)}}@media(min-width:1680px){.sn-cx-search-modal.-attached-to-navigation .search-modal-content{padding:var(--sn-cx-search-modal-attached-content-xxl--padding,4rem 2.5rem)}}.sn-cx-search-modal.-attached-to-navigation .search-modal-body{padding:0}@media(min-width:1024px){.sn-cx-search-modal.-attached-to-navigation .search-modal-body{grid-column:3/span 8}}.sn-cx-search-modal.-attached-to-navigation .close-icon{align-items:center;color:RGB(var(--sn-cx-search-modal-close-icon-lg-background-color,var(--now-color--neutral-0,255,255,255)));display:flex;justify-content:center}.sn-cx-search-modal.-attached-to-navigation .close-icon:hover{color:RGB(var(--sn-cx-search-modal-close-icon-lg-background-color-hover,219,219,219))}.sn-cx-search-modal.-attached-to-element{background:transparent;display:flex;padding:0}.sn-cx-search-modal.-attached-to-element .search-modal-content{--search-modal_content-border-radius:var(--search-modal-attached-to-element-modal_content--border_radius,0.5rem);border:1px solid #e3e3e3;border-radius:1.5rem;box-shadow:0 .5rem 1rem 0 rgba(56,56,56,.25);box-sizing:content-box;left:var(--search-modal-attached-to-element-modal_content-left,0);margin-top:0;padding:0;position:absolute;top:var(--search-modal-attached-to-element-modal_content-top,0);width:var(--search-modal-attached-to-element-modal_content-width,100%)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:var(--now-font-size--md1,1rem)}.now-heading--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-heading--xl{font-size:var(--now-font-size--xl,2.5rem)}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:var(--now-font-size--sm,.75rem)}.now-text--md{font-size:var(--now-font-size--md1,1rem)}.now-text--lg{font-size:var(--now-font-size--lg,1.25rem)}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.now-m-block--xxs{-webkit-margin-before:.125rem;-webkit-margin-after:.125rem;margin-block-end:.125rem;margin-block-start:.125rem}.now-m-block-start--xxs{-webkit-margin-before:.125rem;margin-block-start:.125rem}.now-m-block-end--xxs{-webkit-margin-after:.125rem;margin-block-end:.125rem}.now-m-inline--xxs{-webkit-margin-start:.125rem;-webkit-margin-end:.125rem;margin-inline-end:.125rem;margin-inline-start:.125rem}.now-m-inline-start--xxs{-webkit-margin-start:.125rem;margin-inline-start:.125rem}.now-m-inline-end--xxs{-webkit-margin-end:.125rem;margin-inline-end:.125rem}.now-m-block--xs{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-block-start:.25rem}.now-m-block-start--xs{-webkit-margin-before:.25rem;margin-block-start:.25rem}.now-m-block-end--xs{-webkit-margin-after:.25rem;margin-block-end:.25rem}.now-m-inline--xs{-webkit-margin-start:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem;margin-inline-start:.25rem}.now-m-inline-start--xs{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-m-inline-end--xs{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-m-block--sm{-webkit-margin-before:.5rem;-webkit-margin-after:.5rem;margin-block-end:.5rem;margin-block-start:.5rem}.now-m-block-start--sm{-webkit-margin-before:.5rem;margin-block-start:.5rem}.now-m-block-end--sm{-webkit-margin-after:.5rem;margin-block-end:.5rem}.now-m-inline--sm{-webkit-margin-start:.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem;margin-inline-start:.5rem}.now-m-inline-start--sm{-webkit-margin-start:.5rem;margin-inline-start:.5rem}.now-m-inline-end--sm{-webkit-margin-end:.5rem;margin-inline-end:.5rem}.now-m-block--md{-webkit-margin-before:.75rem;-webkit-margin-after:.75rem;margin-block-end:.75rem;margin-block-start:.75rem}.now-m-block-start--md{-webkit-margin-before:.75rem;margin-block-start:.75rem}.now-m-block-end--md{-webkit-margin-after:.75rem;margin-block-end:.75rem}.now-m-inline--md{-webkit-margin-start:.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;margin-inline-start:.75rem}.now-m-inline-start--md{-webkit-margin-start:.75rem;margin-inline-start:.75rem}.now-m-inline-end--md{-webkit-margin-end:.75rem;margin-inline-end:.75rem}.now-m-block--lg{-webkit-margin-before:1rem;-webkit-margin-after:1rem;margin-block-end:1rem;margin-block-start:1rem}.now-m-block-start--lg{-webkit-margin-before:1rem;margin-block-start:1rem}.now-m-block-end--lg{-webkit-margin-after:1rem;margin-block-end:1rem}.now-m-inline--lg{-webkit-margin-start:1rem;-webkit-margin-end:1rem;margin-inline-end:1rem;margin-inline-start:1rem}.now-m-inline-start--lg{-webkit-margin-start:1rem;margin-inline-start:1rem}.now-m-inline-end--lg{-webkit-margin-end:1rem;margin-inline-end:1rem}.now-m-block--xl{-webkit-margin-before:1.5rem;-webkit-margin-after:1.5rem;margin-block-end:1.5rem;margin-block-start:1.5rem}.now-m-block-start--xl{-webkit-margin-before:1.5rem;margin-block-start:1.5rem}.now-m-block-end--xl{-webkit-margin-after:1.5rem;margin-block-end:1.5rem}.now-m-inline--xl{-webkit-margin-start:1.5rem;-webkit-margin-end:1.5rem;margin-inline-end:1.5rem;margin-inline-start:1.5rem}.now-m-inline-start--xl{-webkit-margin-start:1.5rem;margin-inline-start:1.5rem}.now-m-inline-end--xl{-webkit-margin-end:1.5rem;margin-inline-end:1.5rem}.now-m-block--xxl{-webkit-margin-before:2rem;-webkit-margin-after:2rem;margin-block-end:2rem;margin-block-start:2rem}.now-m-block-start--xxl{-webkit-margin-before:2rem;margin-block-start:2rem}.now-m-block-end--xxl{-webkit-margin-after:2rem;margin-block-end:2rem}.now-m-inline--xxl{-webkit-margin-start:2rem;-webkit-margin-end:2rem;margin-inline-end:2rem;margin-inline-start:2rem}.now-m-inline-start--xxl{-webkit-margin-start:2rem;margin-inline-start:2rem}.now-m-inline-end--xxl{-webkit-margin-end:2rem;margin-inline-end:2rem}.now-m-block--3xl{-webkit-margin-before:2.5rem;-webkit-margin-after:2.5rem;margin-block-end:2.5rem;margin-block-start:2.5rem}.now-m-block-start--3xl{-webkit-margin-before:2.5rem;margin-block-start:2.5rem}.now-m-block-end--3xl{-webkit-margin-after:2.5rem;margin-block-end:2.5rem}.now-m-inline--3xl{-webkit-margin-start:2.5rem;-webkit-margin-end:2.5rem;margin-inline-end:2.5rem;margin-inline-start:2.5rem}.now-m-inline-start--3xl{-webkit-margin-start:2.5rem;margin-inline-start:2.5rem}.now-m-inline-end--3xl{-webkit-margin-end:2.5rem;margin-inline-end:2.5rem}.now-m-block--0{-webkit-margin-before:0;-webkit-margin-after:0;margin-block-end:0;margin-block-start:0}.now-m-block-start--0{-webkit-margin-before:0;margin-block-start:0}.now-m-block-end--0{-webkit-margin-after:0;margin-block-end:0}.now-m-inline--0{-webkit-margin-start:0;-webkit-margin-end:0;margin-inline-end:0;margin-inline-start:0}.now-m-inline-start--0{-webkit-margin-start:0;margin-inline-start:0}.now-m-inline-end--0{-webkit-margin-end:0;margin-inline-end:0}.now-p-block--xxs{-webkit-padding-before:.125rem;-webkit-padding-after:.125rem;padding-block-end:.125rem;padding-block-start:.125rem}.now-p-block-start--xxs{-webkit-padding-before:.125rem;padding-block-start:.125rem}.now-p-block-end--xxs{-webkit-padding-after:.125rem;padding-block-end:.125rem}.now-p-inline--xxs{-webkit-padding-start:.125rem;-webkit-padding-end:.125rem;padding-inline-end:.125rem;padding-inline-start:.125rem}.now-p-inline-start--xxs{-webkit-padding-start:.125rem;padding-inline-start:.125rem}.now-p-inline-end--xxs{-webkit-padding-end:.125rem;padding-inline-end:.125rem}.now-p-block--xs{-webkit-padding-before:.25rem;-webkit-padding-after:.25rem;padding-block-end:.25rem;padding-block-start:.25rem}.now-p-block-start--xs{-webkit-padding-before:.25rem;padding-block-start:.25rem}.now-p-block-end--xs{-webkit-padding-after:.25rem;padding-block-end:.25rem}.now-p-inline--xs{-webkit-padding-start:.25rem;-webkit-padding-end:.25rem;padding-inline-end:.25rem;padding-inline-start:.25rem}.now-p-inline-start--xs{-webkit-padding-start:.25rem;padding-inline-start:.25rem}.now-p-inline-end--xs{-webkit-padding-end:.25rem;padding-inline-end:.25rem}.now-p-block--sm{-webkit-padding-before:.5rem;-webkit-padding-after:.5rem;padding-block-end:.5rem;padding-block-start:.5rem}.now-p-block-start--sm{-webkit-padding-before:.5rem;padding-block-start:.5rem}.now-p-block-end--sm{-webkit-padding-after:.5rem;padding-block-end:.5rem}.now-p-inline--sm{-webkit-padding-start:.5rem;-webkit-padding-end:.5rem;padding-inline-end:.5rem;padding-inline-start:.5rem}.now-p-inline-start--sm{-webkit-padding-start:.5rem;padding-inline-start:.5rem}.now-p-inline-end--sm{-webkit-padding-end:.5rem;padding-inline-end:.5rem}.now-p-block--md{-webkit-padding-before:.75rem;-webkit-padding-after:.75rem;padding-block-end:.75rem;padding-block-start:.75rem}.now-p-block-start--md{-webkit-padding-before:.75rem;padding-block-start:.75rem}.now-p-block-end--md{-webkit-padding-after:.75rem;padding-block-end:.75rem}.now-p-inline--md{-webkit-padding-start:.75rem;-webkit-padding-end:.75rem;padding-inline-end:.75rem;padding-inline-start:.75rem}.now-p-inline-start--md{-webkit-padding-start:.75rem;padding-inline-start:.75rem}.now-p-inline-end--md{-webkit-padding-end:.75rem;padding-inline-end:.75rem}.now-p-block--lg{-webkit-padding-before:1rem;-webkit-padding-after:1rem;padding-block-end:1rem;padding-block-start:1rem}.now-p-block-start--lg{-webkit-padding-before:1rem;padding-block-start:1rem}.now-p-block-end--lg{-webkit-padding-after:1rem;padding-block-end:1rem}.now-p-inline--lg{-webkit-padding-start:1rem;-webkit-padding-end:1rem;padding-inline-end:1rem;padding-inline-start:1rem}.now-p-inline-start--lg{-webkit-padding-start:1rem;padding-inline-start:1rem}.now-p-inline-end--lg{-webkit-padding-end:1rem;padding-inline-end:1rem}.now-p-block--xl{-webkit-padding-before:1.5rem;-webkit-padding-after:1.5rem;padding-block-end:1.5rem;padding-block-start:1.5rem}.now-p-block-start--xl{-webkit-padding-before:1.5rem;padding-block-start:1.5rem}.now-p-block-end--xl{-webkit-padding-after:1.5rem;padding-block-end:1.5rem}.now-p-inline--xl{-webkit-padding-start:1.5rem;-webkit-padding-end:1.5rem;padding-inline-end:1.5rem;padding-inline-start:1.5rem}.now-p-inline-start--xl{-webkit-padding-start:1.5rem;padding-inline-start:1.5rem}.now-p-inline-end--xl{-webkit-padding-end:1.5rem;padding-inline-end:1.5rem}.now-p-block--xxl{-webkit-padding-before:2rem;-webkit-padding-after:2rem;padding-block-end:2rem;padding-block-start:2rem}.now-p-block-start--xxl{-webkit-padding-before:2rem;padding-block-start:2rem}.now-p-block-end--xxl{-webkit-padding-after:2rem;padding-block-end:2rem}.now-p-inline--xxl{-webkit-padding-start:2rem;-webkit-padding-end:2rem;padding-inline-end:2rem;padding-inline-start:2rem}.now-p-inline-start--xxl{-webkit-padding-start:2rem;padding-inline-start:2rem}.now-p-inline-end--xxl{-webkit-padding-end:2rem;padding-inline-end:2rem}.now-p-block--3xl{-webkit-padding-before:2.5rem;-webkit-padding-after:2.5rem;padding-block-end:2.5rem;padding-block-start:2.5rem}.now-p-block-start--3xl{-webkit-padding-before:2.5rem;padding-block-start:2.5rem}.now-p-block-end--3xl{-webkit-padding-after:2.5rem;padding-block-end:2.5rem}.now-p-inline--3xl{-webkit-padding-start:2.5rem;-webkit-padding-end:2.5rem;padding-inline-end:2.5rem;padding-inline-start:2.5rem}.now-p-inline-start--3xl{-webkit-padding-start:2.5rem;padding-inline-start:2.5rem}.now-p-inline-end--3xl{-webkit-padding-end:2.5rem;padding-inline-end:2.5rem}.now-p-block--0{-webkit-padding-before:0;-webkit-padding-after:0;padding-block-end:0;padding-block-start:0}.now-p-block-start--0{-webkit-padding-before:0;padding-block-start:0}.now-p-block-end--0{-webkit-padding-after:0;padding-block-end:0}.now-p-inline--0{-webkit-padding-start:0;-webkit-padding-end:0;padding-inline-end:0;padding-inline-start:0}.now-p-inline-start--0{-webkit-padding-start:0;padding-inline-start:0}.now-p-inline-end--0{-webkit-padding-end:0;padding-inline-end:0}.now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;-webkit-clip-path:inset(50%);clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}:host{margin:0;padding:0}.sn-cx-sidepanel{bottom:0;font-family:var(--now-font-family-sn-sans);letter-spacing:normal;position:fixed;top:0;word-spacing:normal;z-index:var(--sn-cx-side-panel--z-index,4001)}:host(:not([dir=rtl])) .sn-cx-sidepanel,:root:not([dir=rtl]) .sn-cx-sidepanel{right:0}:host([dir=rtl]) .sn-cx-sidepanel,:root[dir=rtl] .sn-cx-sidepanel{left:0}:host(:not([dir=rtl])) .sn-cx-sidepanel,:root:not([dir=rtl]) .sn-cx-sidepanel{left:0}:host([dir=rtl]) .sn-cx-sidepanel,:root[dir=rtl] .sn-cx-sidepanel{right:0}:host(:not([dir=rtl])) .sn-cx-sidepanel,:root:not([dir=rtl]) .sn-cx-sidepanel{text-align:left}:host([dir=rtl]) .sn-cx-sidepanel,:root[dir=rtl] .sn-cx-sidepanel{text-align:right}.sn-cx-sidepanel:before{content:\\\"\\\";display:block;height:100%;position:relative;top:0;width:100%}:host(:not([dir=rtl])) .sn-cx-sidepanel:before,:root:not([dir=rtl]) .sn-cx-sidepanel:before{left:0}:host([dir=rtl]) .sn-cx-sidepanel:before,:root[dir=rtl] .sn-cx-sidepanel:before{right:0}.sn-cx-sidepanel.-backdrop:before{background-color:RGBA(var(--now-color--neutral-21,0,0,0),.16)}.sn-cx-sidepanel-overlay{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));box-shadow:0 .5rem .75rem 0 RGB(56,56,56,var(--now-opacity--less,.25));height:100vh;overflow:auto;position:absolute}.sn-cx-sidepanel-overlay.-top{height:23.4375rem;max-height:80%;top:0;width:100vw}:host(:not([dir=rtl])) .sn-cx-sidepanel-overlay.-top,:root:not([dir=rtl]) .sn-cx-sidepanel-overlay.-top{left:0}:host([dir=rtl]) .sn-cx-sidepanel-overlay.-top,:root[dir=rtl] .sn-cx-sidepanel-overlay.-top{right:0}.sn-cx-sidepanel-overlay.-bottom{bottom:0;height:23.4375rem;max-height:80%;width:100vw}:host(:not([dir=rtl])) .sn-cx-sidepanel-overlay.-bottom,:root:not([dir=rtl]) .sn-cx-sidepanel-overlay.-bottom{left:0}:host([dir=rtl]) .sn-cx-sidepanel-overlay.-bottom,:root[dir=rtl] .sn-cx-sidepanel-overlay.-bottom{right:0}.sn-cx-sidepanel-overlay.-left{height:100vh;max-width:80%;top:0;width:23.4375rem}:host(:not([dir=rtl])) .sn-cx-sidepanel-overlay.-left,:root:not([dir=rtl]) .sn-cx-sidepanel-overlay.-left{left:0}:host([dir=rtl]) .sn-cx-sidepanel-overlay.-left,:root[dir=rtl] .sn-cx-sidepanel-overlay.-left{right:0}.sn-cx-sidepanel-overlay.-right{height:100vh;max-width:80%;top:0;width:23.4375rem}:host(:not([dir=rtl])) .sn-cx-sidepanel-overlay.-right,:root:not([dir=rtl]) .sn-cx-sidepanel-overlay.-right{right:0}:host([dir=rtl]) .sn-cx-sidepanel-overlay.-right,:root[dir=rtl] .sn-cx-sidepanel-overlay.-right{left:0}.sn-cx-sidepanel-overlay .sn-cx-sidepanel-overlay-panel{height:100%}.sn-cx-sidepanel-overlay .sn-cx-sidepanel-op-header{align-items:center;display:flex;height:4.0625rem;justify-content:space-between;padding:24px}.sn-cx-sidepanel-overlay .sn-cx-sidepanel-op-header .sn-cx-sidepanel-oph-title{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:1rem;margin:0;padding:0}.sn-cx-sidepanel-overlay .sn-cx-sidepanel-op-header .sn-cx-sidepanel-oph-heading{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:.875rem;font-style:normal;font-weight:450;letter-spacing:-.21px;line-height:normal;margin:0;padding:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.popover-content{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));font-family:var(--now-form-field_label--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:.75rem;max-width:250px;padding:1rem;text-align:left}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.select{width:100%}@media(forced-colors:active){.select{color:Highlight}}.header{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:1rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.field-message{-webkit-margin-before:.25rem;-webkit-padding-before:.25rem;-webkit-padding-after:.25rem;-webkit-padding-start:.25rem;-webkit-padding-end:.25rem;align-items:center;border-radius:.125rem;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:flex;font-size:.75rem;line-height:1.3333;margin-block-start:.25rem;padding-block-end:.25rem;padding-block-start:.25rem;padding-inline-end:.25rem;padding-inline-start:.25rem;word-break:break-word}@media(forced-colors:active){.field-message{border:var(--now-container--border-width,1px) solid}}.field-message.info{background-color:RGB(var(--now-color_alert--info-0,195,221,240))}.field-message.warning{background-color:RGB(var(--now-color_alert--warning-0,244,240,191))}.field-message.error{background-color:RGB(var(--now-color_alert--critical-0,241,206,205))}.field-message .field-message-icon{padding:.25rem}:host{display:block}.checkboxes-container{margin-block:0;margin:.75rem}.checkboxes-container label{margin-top:1rem}.checkboxes-container .apply_reset_container{display:flex;flex-direction:row;margin-top:.5rem}.checkboxes-container .apply_reset_container .reset_btn{padding-left:.75rem}.checkboxes-container .checkboxes-select-all{margin-top:.5rem}.checkboxes-container ul{list-style:none;margin-top:0;padding:0}.checkboxes-container ul .checkboxes-vertical-layout{-webkit-margin-after:1rem;margin-block-end:1rem;margin-top:.75rem}.checkboxes-container ul .checkboxes-horizontal-layout{display:inline;float:inline-start;margin-top:.5rem;padding-right:1rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.group{background-color:RGB(var(--now-color--neutral-1,246,247,247));padding-bottom:.25rem;padding-left:.5rem;padding-top:.25rem}.radio-group{border:0;display:flex;flex-direction:column;margin:0;padding:0}.radio-item{position:relative}.radio-item-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute}@media(forced-colors:active){.radio-item-input:checked+.radio-item-label{background-color:Highlight;color:HighlightText}.radio-item-input:checked+.radio-item-label>.radio-item-text{forced-color-adjust:none}}.radio-item-input:checked+.radio-item-label:before{content:url('data:image/svg+xml;charset=utf-8,<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 12 12\\\"><path fill=\\\"RGB(var(--now-dropdown-list_checkmark--color, var(--now-color--primary-2, 23, 100, 82)))\\\" d=\\\"m1.856 6.104-.712.703L4.2 9.899l6.656-6.735-.712-.703L4.2 8.476z\\\"/></svg>');height:16px;left:8px;position:absolute;top:50%;transform:translateY(-50%);width:16px}@supports(background:-webkit-named-image(i)){.radio-item-input:checked+.radio-item-label:before{content:\\\"✓\\\";top:45%}}.radio-item-label{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:default;display:block;font-size:1rem;height:100%;padding:.75rem .75rem .75rem 2rem}.date-filter-container{display:flex;flex-wrap:wrap;width:100%}par-filter-daterange-panel{flex:4}.input-field,.type-select{width:100%}.custom-inputs{-webkit-padding-start:calc(1rem*var(--now-date-time--scale-size-inline, 1));-webkit-padding-end:calc(1rem*var(--now-date-time--scale-size-inline, 1));align-items:center;display:flex;flex-direction:column;justify-content:center;padding-inline-end:calc(1rem*var(--now-date-time--scale-size-inline, 1));padding-inline-start:calc(1rem*var(--now-date-time--scale-size-inline, 1))}.custom-inputs now-input{width:100%}.dateranges-container{border-right:var(--now-container--border-width,1px) solid RGB(var(--now-color--neutral-3,209,214,214));flex:content;gap:2rem;-webkit-mask-image:linear-gradient(180deg,#fff 90%,transparent);mask-image:linear-gradient(180deg,#fff 90%,transparent);max-height:400px;max-width:200px;overflow:auto;padding-bottom:2rem}par-filter-list-content{display:block;height:400px;overflow:auto}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.daterange-panel-container{display:flex;justify-content:center;margin-top:-10px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:inline-block;height:100%;vertical-align:middle;width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.list-search{margin-bottom:1rem;position:relative}.list-search .search-input{margin:0;width:100%}.list-search .search-icon{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));margin-left:.25rem}:host{height:100%;overflow:hidden}.list-container{display:flex;flex-direction:column;height:100%;vertical-align:middle}.list-container .offscreen{height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{display:contents}.offscreen{height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.list-search{margin-bottom:1rem;position:relative}.list-search .search-input{margin:0;width:100%}.list-search .search-icon{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));margin-left:.25rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".now-a11y-label{clip:rect(0 0 0 0);block-size:1px;border:none;-webkit-clip-path:inset(50%);clip-path:inset(50%);inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}:host{--now-modal--width--custom:62.5rem;--now-modal--height--custom:46.875rem;display:block}.now-modal-overlay{background-color:RGB(var(--now-modal_overlay--background-color,var(--now-color--neutral-21,0,0,0)),var(--now-modal_overlay--background-color-alpha,.5));inset:0;overflow-y:auto;position:fixed;z-index:4000}.now-modal[hidden]{display:block;visibility:hidden}.now-modal{block-size:100%;inline-size:100%;inset-block-start:0;inset-inline-start:0;position:absolute;visibility:visible;z-index:4000}@media(min-width:26.25rem){.now-modal.is-opened.-custom,.now-modal.is-opened.-sm{align-items:center;display:flex;justify-content:center}}@media(min-width:26.25rem)and (max-height:19.6875rem){.now-modal.is-opened.-custom,.now-modal.is-opened.-sm{block-size:auto;min-block-size:100%}}@media(min-width:37.5rem){.now-modal.is-opened.-md{align-items:center;display:flex;justify-content:center}}@media(min-width:37.5rem)and (max-height:28.125rem){.now-modal.is-opened.-md{block-size:auto;min-block-size:100%}}@media(min-width:50rem){.now-modal.is-opened.-lg{align-items:center;display:flex;justify-content:center}}@media(min-width:50rem)and (max-height:37.5rem){.now-modal.is-opened.-lg{block-size:auto;min-block-size:100%}}.now-modal.is-legacy-mode{block-size:auto;min-block-size:100%}@media(min-height:37.5rem)and (min-width:50rem){.now-modal.is-legacy-mode.is-opened.-lg .now-modal-dialog{max-block-size:none}}.now-modal.is-legacy-mode .now-modal-body{overflow:initial}.now-modal-dialog{background-color:RGB(var(--now-modal--background-color,var(--now-window--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)))));block-size:100%;display:flex;flex-direction:column;font-family:var(--now-modal--font-family,var(--now-window--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif)));font-variant:normal;inline-size:100%;letter-spacing:inherit;padding:calc(1.5rem*var(--now-modal--scale-size, 1));position:relative;text-align:start;text-indent:0;text-shadow:none;white-space:normal;word-spacing:inherit;z-index:4001}.now-modal-dialog.hide-padding{padding:0}@media(max-width:26.25rem)and (max-height:19.6875rem){.is-opened.-sm .now-modal-dialog{block-size:auto;min-block-size:100%}}@media(min-width:26.25rem){.is-opened.-sm .now-modal-dialog{border-color:RGB(var(--now-modal--border-color,var(--now-window--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))));border-radius:var(--now-modal--border-radius,var(--now-window--border-radius,.25rem));border-style:solid;border-width:var(--now-modal--border-width,var(--now-window--border-width,1px));box-shadow:0 1rem 1.5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));max-inline-size:26.25rem}}@media(min-width:26.25rem)and (min-height:8.3125rem){.is-opened.-sm .now-modal-dialog{block-size:auto;max-block-size:19.6875rem;min-block-size:8.3125rem}}@media(max-width:37.5rem)and (max-height:28.125rem){.is-opened.-md .now-modal-dialog{block-size:auto;min-block-size:100%}}@media(min-width:37.5rem){.is-opened.-md .now-modal-dialog{border-color:RGB(var(--now-modal--border-color,var(--now-window--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))));border-radius:var(--now-modal--border-radius,var(--now-window--border-radius,.25rem));border-style:solid;border-width:var(--now-modal--border-width,var(--now-window--border-width,1px));box-shadow:0 1rem 1.5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));max-inline-size:37.5rem}}@media(min-width:37.5rem)and (min-height:11.875rem){.is-opened.-md .now-modal-dialog{block-size:auto;max-block-size:28.125rem;min-block-size:11.875rem}}@media(max-width:50rem)and (max-height:37.5rem){.is-opened.-lg .now-modal-dialog{block-size:auto;min-block-size:100%}}@media(min-width:50rem){.is-opened.-lg .now-modal-dialog{border-color:RGB(var(--now-modal--border-color,var(--now-window--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))));border-radius:var(--now-modal--border-radius,var(--now-window--border-radius,.25rem));border-style:solid;border-width:var(--now-modal--border-width,var(--now-window--border-width,1px));box-shadow:0 1rem 1.5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));max-inline-size:50rem}}@media(min-width:50rem)and (min-height:15.875rem){.is-opened.-lg .now-modal-dialog{block-size:auto;max-block-size:37.5rem;min-block-size:15.875rem}}@media(max-width:26.25rem)and (max-height:19.6875rem){.is-opened.-custom .now-modal-dialog,.is-opened.-fullscreen .now-modal-dialog{block-size:auto;min-block-size:100%}}@media(min-width:26.25rem){.is-opened.-custom .now-modal-dialog{border-color:RGB(var(--now-modal--border-color,var(--now-window--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))));border-radius:var(--now-modal--border-radius,var(--now-window--border-radius,.25rem));border-style:solid;border-width:var(--now-modal--border-width,var(--now-window--border-width,1px));box-shadow:0 1rem 1.5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));inline-size:var(--now-modal--width--custom);max-inline-size:100%;min-inline-size:26.25rem}}@media(min-width:26.25rem)and (min-height:8.3125rem){.is-opened.-custom .now-modal-dialog{block-size:var(--now-modal--height--custom);max-block-size:90%;min-block-size:8.3125rem}}@media(max-width:37.5rem)and (max-height:11.875rem){.is-opened.-formsonlydonotuse-md .now-modal-dialog{block-size:auto;min-block-size:100%}}@media(min-width:37.5rem){.is-opened.-formsonlydonotuse-md .now-modal-dialog{border-color:RGB(var(--now-modal--border-color,var(--now-window--border-color,var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))));border-radius:var(--now-modal--border-radius,var(--now-window--border-radius,.25rem));border-style:solid;border-width:var(--now-modal--border-width,var(--now-window--border-width,1px));box-shadow:0 1rem 1.5rem 0 RGB(56,56,56,var(--now-opacity--less,.25));max-inline-size:37.5rem}}@media(min-width:37.5rem)and (min-height:11.875rem){.is-opened.-formsonlydonotuse-md .now-modal-dialog{block-size:auto;max-block-size:34.125rem;min-block-size:11.875rem}}.now-modal-header{flex:none}.now-modal-button-iconic{-webkit-margin-start:calc(.5rem*var(--now-modal--scale-size-inline, 1));margin-inline-start:calc(.5rem*var(--now-modal--scale-size-inline, 1))}:host(:not([dir=rtl])) .now-modal-button-iconic,:root:not([dir=rtl]) .now-modal-button-iconic{float:right}:host([dir=rtl]) .now-modal-button-iconic,:root[dir=rtl] .now-modal-button-iconic{float:left}.now-modal-heading{-webkit-margin-before:0;-webkit-margin-after:calc(1.5rem*var(--now-modal--scale-size-block, 1));color:RGB(var(--now-modal_heading--color,var(--now-display-type--primary--color,var(--now-display-type--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))));font-family:var(--now-modal_heading--font-family,var(--now-display-type--primary--font-family,var(--now-display-type--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif))));font-size:1.25rem;font-style:var(--now-modal_heading--font-style,var(--now-display-type--primary--font-style,var(--now-display-type--font-style,normal)));font-weight:var(--now-modal_heading--font-weight,var(--now-display-type--primary--font-weight,600));line-height:1.25;margin-block-end:calc(1.5rem*var(--now-modal--scale-size-block, 1));margin-block-start:0;overflow:hidden;text-overflow:ellipsis;text-transform:var(--now-modal_heading--text-transform,var(--now-display-type--primary--text-transform,var(--now-display-type--text-transform,none)));white-space:nowrap}.now-modal-heading:after{content:\\\"\\\";display:block}.now-modal-body{flex:auto;overflow:auto}.now-modal-body:focus-visible{outline:.125rem solid RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)))}@media(forced-colors:active){.now-modal-body:focus-visible{outline:1px solid highlight}}.now-modal-body.is-full-width{-webkit-margin-start:calc(-1.5rem*var(--now-modal--scale-size, 1));-webkit-margin-end:calc(-1.5rem*var(--now-modal--scale-size, 1));inline-size:calc(100% + 1.5rem*var(--now-modal--scale-size, 1)*2);margin-inline-end:calc(-1.5rem*var(--now-modal--scale-size, 1));margin-inline-start:calc(-1.5rem*var(--now-modal--scale-size, 1))}.now-modal-p{-webkit-margin-before:0;-webkit-margin-after:0;font-size:1rem;font-style:var(--now-modal--font-style,var(--now-window--font-style,normal));font-weight:var(--now-modal--font-weight,var(--now-window--font-weight,normal));line-height:normal;margin-block-end:0;margin-block-start:0;text-transform:var(--now-modal--text-transform,var(--now-window--text-transform,none))}.now-modal-footer{-webkit-padding-before:calc(2.5rem*var(--now-modal--scale-size-block, 1));display:flex;flex:none;flex-direction:column;overflow-x:auto;overflow-y:hidden;padding-block-start:calc(2.5rem*var(--now-modal--scale-size-block, 1))}@media(min-width:26.25rem){.-custom .now-modal-footer,.-fullscreen .now-modal-footer,.-sm .now-modal-footer{flex-direction:row}.-custom .now-modal-footer .now-modal-footer-button,.-fullscreen .now-modal-footer .now-modal-footer-button,.-sm .now-modal-footer .now-modal-footer-button{inline-size:auto}.-custom .now-modal-footer .now-modal-footer-button:nth-last-child(2),.-custom .now-modal-footer .now-modal-footer-button:only-child,.-fullscreen .now-modal-footer .now-modal-footer-button:nth-last-child(2),.-fullscreen .now-modal-footer .now-modal-footer-button:only-child,.-sm .now-modal-footer .now-modal-footer-button:nth-last-child(2),.-sm .now-modal-footer .now-modal-footer-button:only-child{-webkit-margin-start:auto;margin-inline-start:auto}.-custom .now-modal-footer .now-modal-footer-button:not(:last-child),.-fullscreen .now-modal-footer .now-modal-footer-button:not(:last-child),.-sm .now-modal-footer .now-modal-footer-button:not(:last-child){-webkit-margin-after:0;-webkit-margin-end:calc(.5rem*var(--now-modal--scale-size-inline, 1));margin-block-end:0;margin-inline-end:calc(.5rem*var(--now-modal--scale-size-inline, 1))}}@media(min-width:37.5rem){.-md .now-modal-footer{flex-direction:row}.-md .now-modal-footer .now-modal-footer-button{inline-size:auto}.-md .now-modal-footer .now-modal-footer-button:nth-last-child(2),.-md .now-modal-footer .now-modal-footer-button:only-child{-webkit-margin-start:auto;margin-inline-start:auto}.-md .now-modal-footer .now-modal-footer-button:not(:last-child){-webkit-margin-after:0;-webkit-margin-end:calc(.5rem*var(--now-modal--scale-size-inline, 1));margin-block-end:0;margin-inline-end:calc(.5rem*var(--now-modal--scale-size-inline, 1))}}@media(min-width:50rem){.-lg .now-modal-footer{flex-direction:row}.-lg .now-modal-footer .now-modal-footer-button{inline-size:auto}.-lg .now-modal-footer .now-modal-footer-button:nth-last-child(2),.-lg .now-modal-footer .now-modal-footer-button:only-child{-webkit-margin-start:auto;margin-inline-start:auto}.-lg .now-modal-footer .now-modal-footer-button:not(:last-child){-webkit-margin-after:0;-webkit-margin-end:calc(.5rem*var(--now-modal--scale-size-inline, 1));margin-block-end:0;margin-inline-end:calc(.5rem*var(--now-modal--scale-size-inline, 1))}}.now-modal-footer-button{inline-size:100%}.now-modal-footer-button:not(:last-child){-webkit-margin-after:calc(.5rem*var(--now-modal--scale-size-block, 1));margin-block-end:calc(.5rem*var(--now-modal--scale-size-block, 1))}@media(forced-colors:active){.now-modal.is-opened.-custom .now-modal-dialog,.now-modal.is-opened.-lg .now-modal-dialog,.now-modal.is-opened.-md .now-modal-dialog,.now-modal.is-opened.-sm .now-modal-dialog{border-width:1px}}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.list-search{margin-bottom:1rem;position:relative}.list-search .search-input{margin:0;width:100%}.list-search .search-icon{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));margin-left:.25rem}:host{height:100%}.list-single-container{display:flex;flex-direction:column;height:100%}.title{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));font-size:1rem;font-weight:400;margin:0 0 .75rem}.applied-items{height:80px;margin-bottom:.5rem}.applied-items .pill{max-width:100%}.available-items{display:flex;flex-direction:column;height:inherit;overflow:auto}.notification-container{max-width:350px}.notification-container:not(:empty){margin-bottom:.5rem}.search-container{display:flex;flex-direction:row}.search-container .offscreen{height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.search-container par-filter-list-search{width:calc(100% - 2rem)}.items{display:flex;flex:1;flex-direction:column;min-height:35px;overflow-y:auto;position:relative}@media(max-height:37.5rem){.items.reflow{max-height:260px}}.items .loading{align-items:center;background:RGBA(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)),.65);display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%;z-index:1000}.items .no-content{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);white-space:nowrap}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".offscreen{height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-m-block--xs{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-block-start:.25rem}.now-m-block-start--xs{-webkit-margin-before:.25rem;margin-block-start:.25rem}.now-m-block-end--xs{-webkit-margin-after:.25rem;margin-block-end:.25rem}.now-m-inline--xs{-webkit-margin-start:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem;margin-inline-start:.25rem}.now-m-inline-start--xs{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-m-inline-end--xs{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-message{-webkit-margin-before:.25rem;-webkit-padding-before:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));-webkit-padding-after:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));-webkit-padding-start:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));-webkit-padding-end:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));border-radius:.125rem;display:flex;font-family:var(--now-form-field_message--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:.75rem;font-style:var(--now-form-field_message--font-style,normal);font-weight:var(--now-form-field_message--font-weight,normal);inline-size:100%;line-height:1.3333;margin-block-start:.25rem;padding-block-end:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-block-start:calc(.25rem*var(--now-form-field_message--scale-size-block, 1));padding-inline-end:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));padding-inline-start:calc(.25rem*var(--now-form-field_message--scale-size-inline, 1));text-align:start;text-transform:var(--now-form-field_message--text-transform,none);word-break:break-word}.now-form-field-message.-critical{background-color:RGB(var(--now-form-field_message--critical--background-color,var(--now-color_alert--critical-0,241,206,205)));color:RGB(var(--now-form-field_message--critical--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-warning{background-color:RGB(var(--now-form-field_message--warning--background-color,var(--now-color_alert--warning-0,244,240,191)));color:RGB(var(--now-form-field_message--warning--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-positive{background-color:RGB(var(--now-form-field_message--positive--background-color,var(--now-color_alert--positive-0,201,224,202)));color:RGB(var(--now-form-field_message--positive--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-info{background-color:RGB(var(--now-form-field_message--info--background-color,var(--now-color_alert--info-0,195,221,240)));color:RGB(var(--now-form-field_message--info--color,var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28))))}.now-form-field-message.-suggestion{background-color:RGB(var(--now-form-field_message--suggestion--background-color,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))),var(--now-form-field_message--suggestion--background-color-alpha,0));color:RGB(var(--now-form-field_message--suggestion--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.now-form-field-message .now-line-height-crop{display:block}.now-form-field-message .now-line-height-crop:after,.now-form-field-message .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-message .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-message .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-message .now-line-height-crop+.now-form-field-message .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-message-label{-webkit-margin-before:0;-webkit-margin-after:0;align-self:center;margin-block-end:0;margin-block-start:0}.now-form-field-label{align-items:center;block-size:1rem;display:flex}.-vertical .now-form-field-label{-webkit-margin-after:calc(var(--now-scale-space--xxs, 1)*.125rem);margin-block-end:calc(var(--now-scale-space--xxs, 1)*.125rem)}.-horizontal .now-form-field-label{-webkit-margin-end:.25rem;justify-content:end;margin-inline-end:.25rem;min-inline-size:0}.now-form-field-label .is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.now-form-field-label-end{align-items:center;display:flex}.-vertical .now-form-field-label-end{-webkit-margin-start:auto;margin-inline-start:auto}.-vertical .now-form-field-label-end ::slotted(now-highlighted-value){-webkit-padding-start:.75rem;max-inline-size:5.25rem;padding-inline-start:.75rem}.-horizontal .now-form-field-label-end{-webkit-margin-start:.25rem;flex-wrap:wrap;gap:.125rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-end ::slotted(now-highlighted-value){min-inline-size:0}.-vertical .now-form-field-label-inline ::slotted(*){-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-horizontal .now-form-field-label-inline ::slotted(*){-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-label-identifier,.now-form-field-label-label{font-family:var(--now-form-field_label--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:.75rem;font-style:var(--now-form-field_label--font-style,normal);font-weight:var(--now-form-field_label--font-weight,normal);line-height:1.3333;text-transform:var(--now-form-field_label--text-transform,none)}.now-form-field-label-icon,.now-form-field-label-identifier,.now-form-field-label-label{color:RGB(var(--now-form-field_label--color,var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81))))}.-horizontal .now-form-field-label-icon,.-horizontal .now-form-field-label-identifier{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.-vertical .now-form-field-label-icon,.-vertical .now-form-field-label-identifier{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-form-field-label-identifier{display:block}.now-form-field-label-identifier:after,.now-form-field-label-identifier:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-identifier:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-identifier:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-identifier+.now-form-field-label-identifier{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-form-field-label-label{align-items:center;display:flex;min-inline-size:0}.now-form-field-label-label.is-invalid{color:RGB(var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54)))}.now-form-field-label-label .now-line-height-crop{display:block}.now-form-field-label-label .now-line-height-crop:after,.now-form-field-label-label .now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-form-field-label-label .now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-form-field-label-label .now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-form-field-label-label .now-line-height-crop+.now-form-field-label-label .now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.-horizontal .now-form-field-label-label .now-line-height-crop:last-of-type,.-vertical .now-form-field-label-label .now-line-height-crop:first-of-type{min-inline-size:0}.now-form-field-label-label .will-truncate{display:block;min-inline-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-form-field-label-label .will-truncate:after{content:\\\"\\\";display:block}.now-form-field{align-items:center;border-style:solid;display:flex}.-sm .now-form-field{-webkit-padding-start:.5rem;-webkit-padding-end:.25rem;block-size:1.5rem;padding-inline-end:.25rem;padding-inline-start:.5rem}.-md .now-form-field{-webkit-padding-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1));block-size:calc(1rem + var(--now-form-field--scale-size-block, 1)*2rem/2);padding-inline-start:calc(.5rem*var(--now-form-field--scale-size-inline, 1))}.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly),.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled).has-hover,.now-form-field:not(.is-hidden).now-input-url:not(.is-readonly):not(.is-disabled):hover{background:none;border:none;box-shadow:none}.now-form-field.is-disabled{--now-button-iconic--bare_tertiary--opacity--disabled:1;--now-button--bare_tertiary--opacity--disabled:1}.now-form-field-layout.-horizontal{align-items:center;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,1fr)}.now-form-field-layout.-horizontal .now-form-field,.now-form-field-layout.-horizontal .now-form-field-messages{grid-column-start:2}.now-form-field-slot{display:flex}.-sm .now-form-field-slot.-start ::slotted(*){-webkit-margin-start:0!important;-webkit-margin-end:.25rem!important;margin-inline-end:.25rem!important;margin-inline-start:0!important}.-sm .now-form-field-slot.-end ::slotted(*){margin-inline:.25rem!important}.-sm .is-number .now-form-field-slot.-end{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-sm .is-number .now-form-field-slot.-end ::slotted(now-dropdown){-webkit-margin-start:0!important;margin-inline-start:0!important}.-md .now-form-field-slot.-start ::slotted(*){margin-inline:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}.-md .now-form-field-slot.-start ::slotted(:first-child){-webkit-margin-start:0!important;margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(*){-webkit-margin-start:0!important;-webkit-margin-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important;margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important;margin-inline-start:0!important}.-md .now-form-field-slot.-end ::slotted(:last-child){-webkit-margin-end:0!important;margin-inline-end:0!important}.-md .is-number .now-form-field-slot.-end ::slotted(now-dropdown){-webkit-margin-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important;margin-inline-end:calc(.25rem*var(--now-form-field--scale-size-inline, 1))!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-start ::slotted(*){-webkit-margin-end:0!important;margin-inline-end:0!important}:host([class=now-input-date-time-input]) .now-form-field-slot.-end ::slotted(*){margin-inline:0!important}.now-form-field-legend{-webkit-padding-start:0;-webkit-padding-end:0;inline-size:100%;padding-inline-end:0;padding-inline-start:0}.now-form-field-required-indicator{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-form-field-popover{display:inline-block;line-height:0}.-vertical .now-form-field-button{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.-horizontal .now-form-field-button{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-form-field-button.is-invalid{--now-button--tertiary--color:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54));--now-button--tertiary--color--hover:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54));--now-button--tertiary--color--active:var(--now-form-field_label--color--invalid,var(--now-color_alert--critical-2,200,60,54))}@media(forced-colors:active){.now-form-field{background-color:field!important;border-color:buttonborder!important;border-width:1px!important;color:fieldtext!important}.now-form-field:not(.is-disabled).has-hover,.now-form-field:not(.is-disabled):hover{border-color:highlight!important}.now-form-field.has-focus,.now-form-field:focus{border-color:highlight!important;outline:1px solid highlight}.now-form-field.is-disabled{color:graytext!important;opacity:1!important}.now-form-field.is-disabled,.now-form-field.is-readonly,.now-form-field.is-readonly.has-hover,.now-form-field.is-readonly:hover{border-color:graytext!important}.now-form-field ::-webkit-input-placeholder{color:graytext!important}.now-form-field ::placeholder{color:graytext!important}}.badge{-webkit-margin-before:-1px;-webkit-margin-start:-1px;-webkit-margin-end:.25rem;align-items:center;border:1px solid RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)));border-radius:10000px;display:flex;flex-shrink:0;height:2rem;justify-content:center;margin:-1px 0;margin-block-start:-1px;margin-inline-end:.25rem;margin-inline-start:-1px;width:2rem}@media(forced-colors:none){.opened .badge{background-color:RGB(var(--now-color--primary-0,221,237,233));color:RGB(var(--now-color--primary-3,15,67,55))}.opened .badge,:focus .badge{border-color:RGB(var(--now-color--primary-1,30,133,109))}}:host{display:inline-flex;max-width:100%}.button{display:inline-flex;flex-direction:column;gap:calc(var(--now-scale-space--xxs, 1)*.125rem);max-width:100%}.container{align-items:center;background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:1px RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181))) solid;border-radius:100000px;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:pointer;cursor:default;display:flex;display:inline-flex;font-size:1rem;inline-size:inherit;height:2rem;justify-content:center;justify-content:flex-start;margin:0;max-width:100%;padding:.5rem;position:relative;white-space:nowrap}.container:active{color:currentcolor}@media(forced-colors:active){.container{background-color:ButtonFace;border-color:ButtonBorder;color:ButtonText}.container .badge,.container .content{border-color:ButtonBorder;forced-color-adjust:none}}.container:hover:not(.opened){color:RGB(var(--now-color--primary-1,30,133,109));cursor:pointer}@media(forced-colors:active){.container:hover:not(.opened){background-color:HighlightText;border-color:Highlight;color:Highlight}.container:hover:not(.opened) .badge,.container:hover:not(.opened) .content{border-color:Highlight}}.container:active:not(.opened){color:RGB(var(--now-color--primary-2,23,100,82))}@media(forced-colors:active){.container:active:not(.opened){color:CanvasText}}.container:focus{background-color:RGB(var(--now-color--primary-0,221,237,233));border-color:RGB(var(--now-color--primary-1,30,133,109));color:RGB(var(--now-color--primary-3,15,67,55));outline:none}.container:focus:after{border-radius:inherit;bottom:0;box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));content:\\\"\\\";left:0;margin:-1px;position:absolute;right:0;top:0}.container:focus::-moz-focus-inner{border-style:none}@media(forced-colors:active){.container:focus{background-color:HighlightText;border-color:Highlight;color:Highlight}.container:focus .badge,.container:focus .content{border-color:Highlight;forced-color-adjust:none}}.container.hasBadge{padding:0 .5rem 0 0}:host([dir=rtl]) .container.hasBadge{padding:0 0 0 .5rem}.container.opened,.container.selected{background-color:RGB(var(--now-color--primary-1,30,133,109));border-color:RGB(var(--now-color--primary-1,30,133,109));color:RGB(var(--now-color--neutral-0,255,255,255))}@media(forced-colors:active){.container.opened,.container.selected{color:CanvasText}.container.opened .badge,.container.opened .content,.container.selected .badge,.container.selected .content{border-color:CanvasText}}.filter-label{margin:0 calc(var(--now-scale-space--sm, 1)*.5rem)}.content{-webkit-margin-end:auto;background:transparent;display:inline-block;margin-inline-end:auto;overflow:hidden;padding:.25rem;text-overflow:ellipsis;white-space:nowrap}.content:after{content:\\\"\\\";display:block}.chevron{pointer-events:none}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:block}.popup{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));color:initial;display:flex;flex-direction:column;height:100%;justify-content:flex-end;min-width:100%;padding:1.5rem 1rem}.popup .button-container{display:flex;flex-wrap:wrap;justify-content:space-between;text-align:end}.popup .button-container .left-button-group{display:flex;margin-top:1rem}.popup .button-container .right-button-group{-webkit-margin-start:1.5rem;display:flex;flex-grow:1;justify-content:flex-end;margin-inline-start:1.5rem;margin-top:1rem}.popup .button-container .button+.button{-webkit-margin-start:.75rem;margin-inline-start:.75rem}.popup .button-container .button[disabled]{pointer-events:none}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:block}now-radio-buttons{display:block;margin:.75rem;margin-block:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{display:block;height:100%;overflow:hidden}.typeahead{-webkit-margin-before:0;-webkit-margin-after:0;height:100%;margin-block-end:0;margin-block-start:0;max-width:100%;overflow:auto;width:var(--par-filter-typeahead-width,initial)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:contents}.listbox{border:1px RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181))) solid;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));flex:1;font-size:1rem;height:100%;list-style-type:none;margin:0;overflow-x:hidden;overflow-y:auto;padding:0;position:relative}.listbox:focus{outline:none}.group{background:RGB(var(--now-color--neutral-0,255,255,255));list-style-type:none;margin:0;padding:0}.group .group-label{-webkit-padding-start:2rem;background:RGB(var(--now-color_background--tertiary,var(--now-color--neutral-2,228,230,231)));font-weight:700;padding:.5rem;padding-inline-start:2rem;position:relative}.group .group-label:after{background-color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));content:\\\"\\\";height:16px;-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\"><path d=\\\"M8 10.043l5.146-5.147.708.708L8 11.457 2.146 5.604l.708-.708z\\\"/></svg>');mask-image:url('data:image/svg+xml;utf8,<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\"><path d=\\\"M8 10.043l5.146-5.147.708.708L8 11.457 2.146 5.604l.708-.708z\\\"/></svg>');position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:16px}:host([dir=rtl]) .group .group-label:after{left:.5rem;right:unset}.group.collapsed>.option{display:none}.group.collapsed .group-label:after{-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\"><path d=\\\"M10.046 8.004L4.899 2.857l.707-.707 5.854 5.854-5.854 5.853-.707-.707z\\\"/></svg>');mask-image:url('data:image/svg+xml;utf8,<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\"><path d=\\\"M10.046 8.004L4.899 2.857l.707-.707 5.854 5.854-5.854 5.853-.707-.707z\\\"/></svg>')}.group>.option{-webkit-padding-start:50px;padding-inline-start:50px}.option{-webkit-padding-start:2rem;align-items:center;cursor:default;display:flex;justify-content:space-between;padding:.5rem;padding-inline-start:2rem}.option[aria-disabled=false].focused{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}.option[aria-disabled=false][aria-selected=true]{background-color:RGB(var(--now-color--primary-0,221,237,233));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));position:relative}.option[aria-disabled=false][aria-selected=true]:before{background-color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));content:\\\"\\\";height:16px;left:.5rem;-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 12 12\\\"><path fill=\\\"%23000\\\" d=\\\"m1.856 6.104-.712.703L4.2 9.899l6.656-6.735-.712-.703L4.2 8.476z\\\"/></svg>');mask-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 12 12\\\"><path fill=\\\"%23000\\\" d=\\\"m1.856 6.104-.712.703L4.2 9.899l6.656-6.735-.712-.703L4.2 8.476z\\\"/></svg>');position:absolute;top:50%;transform:translateY(-50%);width:16px}:host([dir=rtl]) .option[aria-disabled=false][aria-selected=true]:before{left:unset;right:.5rem}@media(forced-colors:active){.option[aria-disabled=false][aria-selected=true]{background-color:SelectedItem;color:SelectedItemText}.option[aria-disabled=false][aria-selected=true]:before{background-color:SelectedItemText}.option[aria-disabled=false][aria-selected=true]>.option-text{forced-color-adjust:none}}.option[aria-disabled=false].focused,.option[aria-disabled=false]:hover{background-color:RGB(var(--now-color--primary-0,221,237,233))}@media(forced-colors:active){.option[aria-disabled=false].focused,.option[aria-disabled=false]:hover{background-color:Highlight;color:HighlightText}.option[aria-disabled=false].focused:before,.option[aria-disabled=false]:hover:before{background-color:HighlightText}.option[aria-disabled=false].focused>.option-text,.option[aria-disabled=false]:hover>.option-text{forced-color-adjust:none}}.option[aria-disabled=true]{cursor:not-allowed;opacity:var(--now-button--opacity--disabled,var(--now-actionable--opacity--disabled,var(--now-opacity--less,.25)))}.option[aria-disabled=true]:hover{box-shadow:none}.option[aria-disabled=true]:focus::-moz-focus-inner{border-style:none}.option[aria-disabled=true]:focus:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.option[aria-disabled=true]:focus:focus{outline:1px solid highlight}}.option>.option-text{pointer-events:none}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{display:contents}now-button-iconic[disabled]{pointer-events:none}.container{display:flex;flex:1;flex-direction:row;justify-content:space-between;overflow:auto}.container .column{background:var(--now-color--neutral-0,255,255,255);display:flex;flex-direction:column;width:calc(50% - 1rem)}.container .header,.container .header .title{display:flex;flex-direction:row}.container .header .title{align-items:center;color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));flex-grow:1;font-size:1rem;font-weight:400;justify-content:space-between;margin:0 0 .5rem}.container .actions{display:flex;flex-direction:column;justify-content:center;padding-top:2.5rem;position:relative}.container .actions .button[disabled]{pointer-events:none}.container .actions .separator{background:RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)));height:1px;margin:-1px auto;width:60%}.container .items{display:flex;flex:1;flex-direction:column;height:360px;overflow-y:auto;position:relative}.container .items .loading{align-items:center;background:RGBA(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)),.65);bottom:1px;display:flex;justify-content:center;left:1px;pointer-events:none;position:absolute;right:1px;top:1px;z-index:1000}.container .items .no-content{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);white-space:nowrap}.container.stacked{flex-direction:column;overflow-x:hidden}.container.stacked .column{max-height:200px;min-height:200px;width:100%}.container.stacked .header .title{margin:0 .5rem}.container.stacked .actions{align-items:center;flex-direction:row;padding-top:.5rem}.container.stacked .actions .separator{height:20px;margin:0 .5rem;width:1px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-button{align-items:center;border:none;color:inherit;cursor:pointer;display:inline-flex;font-family:ServiceNowSans-Book;font-size:1rem;font-weight:400;justify-content:center;letter-spacing:.01em;line-height:1.1;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),border .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:nowrap;width:inherit}.dps-button:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-button:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:active{color:currentColor}.dps-button.is-disabled,.dps-button:disabled{cursor:not-allowed}.dps-button.-primary{background:var(--dps-button-primary-bg,#62d84e);border:2px solid var(--dps-button-primary-border-color,#62d84e);border-radius:.5rem;color:#1d1d1d;font-family:ServiceNowSans-Book}.dps-button.-primary:hover{background:#62d84e;border-color:var(--dps-button-primary-hover-border-color,#62d84e);color:var(--dps-button-primary-hover-color,#1d1d1d)}.dps-button.-primary.is-disabled,.dps-button.-primary:disabled{background:#b9bbbd}.dps-button.-primary svg{fill:#fff}.dps-button.-primary-inverse{background:#62d84e;border:2px solid #62d84e;border-radius:.5rem;color:#000;font-family:ServiceNowSans-Book}.dps-button.-primary-inverse:hover{background:#fff}.dps-button.-primary-inverse.is-disabled,.dps-button.-primary-inverse:disabled{background:#8a8e91}.dps-button.-primary-inverse svg{fill:#62d84e}.dps-button.-secondary{background:var(--dps-button-secondary-bg,#fff);border:var(--dps-button-secondary-border-width,2px) solid var(--dps-button-secondary-border-color,#62d84e);border-radius:.5rem;color:var(--dps-button-secondary-color,#1d1d1d);font-family:ServiceNowSans-Book;font-size:1rem}.dps-button.-secondary:hover{background:var(--dps-button-secondary-hover-bg,#62d84e);border-color:var(--dps-button-secondary-hover-border-color,#62d84e);box-shadow:var(--dps-button-secondar-hover-box-shadow);color:var(--dps-button-secondary-hover-color,#000)}.dps-button.-secondary:hover svg{fill:#fff}.dps-button.-secondary.is-bare{color:#032d42;font-family:ServiceNowSans-Book;font-size:1rem;line-height:normal}.dps-button.-secondary.is-disabled,.dps-button.-secondary:disabled{background:transparent;border-color:#b9bbbd;color:#b9bbbd}.dps-button.-secondary svg{fill:#1d1d1d}.dps-button.-secondary-inverse{background:#fff;border:2px solid #62d84e;border-radius:.5rem}.dps-button.-secondary-inverse:hover{background:#62d84e;border-color:#62d84e}.dps-button.-secondary-inverse:hover svg{fill:#62d84e}.dps-button.-secondary-inverse.is-disabled,.dps-button.-secondary-inverse:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-secondary-inverse svg{fill:#d0d2d3}.dps-button.-round{background:#01778e;border-radius:1.5rem;color:#fff;height:2.625rem;min-width:12.1875rem}.dps-button.-round.is-disabled,.dps-button.-round:disabled{background:transparent;border:1px solid #b9bbbd;color:#b9bbbd}.dps-button.-secondary-light{background:transparent;border:2px solid #fff;color:#fff}.dps-button.-secondary-light:hover{background:#fff;border-color:#fff;color:#293e40}.dps-button.-secondary-light.is-disabled,.dps-button.-secondary-light:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-destructive{background:#ca5b57;color:#fff}.dps-button.-destructive:hover{background:#fc726d}.dps-button.-destructive.is-disabled,.dps-button.-destructive:disabled{background:#fdaaa7}.dps-button.-sm{color:#000;font-family:ServiceNowSans-Book;font-size:1rem;gap:.125rem;height:auto;min-height:2rem;padding:.375rem 1rem}.dps-button.-sm.only-icon{padding:0;width:2rem}.dps-button.-sm.has-button-and-icon now-icon{width:2rem}.dps-button.-md{height:2.625rem;padding:0 1.5rem}.dps-button.-md.only-icon{padding:0;width:2.625rem}.dps-button.-md.has-button-and-icon now-icon{width:2.625rem}.dps-button.-lg{height:3.125rem;padding:0 2rem}.dps-button.-lg.only-icon{padding:0;width:3.125rem}.dps-button.-lg.has-button-and-icon now-icon{width:3.125rem}.dps-button.is-bare{background:transparent;border:none;color:#546566}.dps-button.is-bare:hover{background:transparent;border:none;color:#293e40}.dps-button.is-bare:hover svg{fill:#293e40}.dps-button.is-bare svg{fill:#546566}.dps-button.has-action now-icon{transition:transform .3s cubic-bezier(.075,.82,.165,1)}.dps-button.has-action:hover now-icon{transform:translateX(.125rem)}.dps-button.has-action:hover.-external-action now-icon{transform:translateX(1px) translateY(-1px)}.dps-button.is-white{color:#fff}.dps-button.-round-edge{border-radius:.5rem;height:auto;padding:.5rem 1rem}.dps-button-label+now-icon,.dps-button-label+svg{margin-left:.5rem}.dps-button-label+svg.-sm{height:.75rem;width:.75rem}.dps-button-label+svg.-md{height:1rem;width:1rem}.dps-button-label+svg.-lg{height:1.5rem;width:1.5rem}.dps-button-label+svg.-xl{height:2rem;width:2rem}:host{display:block}:host(.is-stuck) .dps-accordion-button-container{background:#fff}.dps-accordion{align-items:center;background:inherit;display:flex;flex-direction:column;justify-content:center;transition:background .15s}.dps-accordion.expanded now-icon{transform:rotate(-180deg)}.dps-accordion.expanded .dps-accordion-button-container{margin-bottom:1rem}.dps-accordion now-icon{transition:transform .1s}.dps-accordion-button-container{align-items:center;background:#fcfcfc;display:flex;justify-content:center;width:100%;z-index:100}.dps-accordion-button-container .dps-button{background:inherit;width:auto}.dps-accordion-panel{height:0;opacity:0;transform:translateY(-100px);transition:all .3s;visibility:hidden;z-index:99}.dps-accordion.expanded .dps-accordion-panel{background:transparent;height:auto;opacity:1;padding-bottom:1.5rem;transform:translateY(0);visibility:visible}@media(max-width:575.98px){.dps-accordion.expanded .dps-accordion-panel{width:calc(100vw - 40px)}}slot[name=panel-content-5]::slotted(*){grid-column-gap:2.25rem;display:grid;grid-template-columns:repeat(5,1fr)}@media(max-width:991.98px){slot[name=panel-content-5]::slotted(*){grid-column-gap:4.0625rem;grid-template-columns:repeat(3,1fr)}}@media(max-width:767.98px){slot[name=panel-content-5]::slotted(*){grid-column-gap:1.25rem;grid-template-columns:repeat(2,1fr)}}slot[name=panel-content-2]::slotted(*){grid-column-gap:2.25rem;display:grid;grid-template-columns:repeat(2,1fr);margin:0 auto;max-width:670px}@media(max-width:991.98px){slot[name=panel-content-2]::slotted(*){grid-column-gap:4.0625rem;grid-template-columns:repeat(3,1fr)}}@media(max-width:767.98px){slot[name=panel-content-2]::slotted(*){grid-column-gap:1.25rem;grid-template-columns:repeat(2,1fr)}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-button{align-items:center;border:none;color:inherit;cursor:pointer;display:inline-flex;font-family:ServiceNowSans-Book;font-size:1rem;font-weight:400;justify-content:center;letter-spacing:.01em;line-height:1.1;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),border .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:nowrap;width:inherit}.dps-button:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-button:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:active{color:currentColor}.dps-button.is-disabled,.dps-button:disabled{cursor:not-allowed}.dps-button.-primary{background:var(--dps-button-primary-bg,#62d84e);border:2px solid var(--dps-button-primary-border-color,#62d84e);border-radius:.5rem;color:#1d1d1d;font-family:ServiceNowSans-Book}.dps-button.-primary:hover{background:#62d84e;border-color:var(--dps-button-primary-hover-border-color,#62d84e);color:var(--dps-button-primary-hover-color,#1d1d1d)}.dps-button.-primary.is-disabled,.dps-button.-primary:disabled{background:#b9bbbd}.dps-button.-primary svg{fill:#fff}.dps-button.-primary-inverse{background:#62d84e;border:2px solid #62d84e;border-radius:.5rem;color:#000;font-family:ServiceNowSans-Book}.dps-button.-primary-inverse:hover{background:#fff}.dps-button.-primary-inverse.is-disabled,.dps-button.-primary-inverse:disabled{background:#8a8e91}.dps-button.-primary-inverse svg{fill:#62d84e}.dps-button.-secondary{background:var(--dps-button-secondary-bg,#fff);border:var(--dps-button-secondary-border-width,2px) solid var(--dps-button-secondary-border-color,#62d84e);border-radius:.5rem;color:var(--dps-button-secondary-color,#1d1d1d);font-family:ServiceNowSans-Book;font-size:1rem}.dps-button.-secondary:hover{background:var(--dps-button-secondary-hover-bg,#62d84e);border-color:var(--dps-button-secondary-hover-border-color,#62d84e);box-shadow:var(--dps-button-secondar-hover-box-shadow);color:var(--dps-button-secondary-hover-color,#000)}.dps-button.-secondary:hover svg{fill:#fff}.dps-button.-secondary.is-bare{color:#032d42;font-family:ServiceNowSans-Book;font-size:1rem;line-height:normal}.dps-button.-secondary.is-disabled,.dps-button.-secondary:disabled{background:transparent;border-color:#b9bbbd;color:#b9bbbd}.dps-button.-secondary svg{fill:#1d1d1d}.dps-button.-secondary-inverse{background:#fff;border:2px solid #62d84e;border-radius:.5rem}.dps-button.-secondary-inverse:hover{background:#62d84e;border-color:#62d84e}.dps-button.-secondary-inverse:hover svg{fill:#62d84e}.dps-button.-secondary-inverse.is-disabled,.dps-button.-secondary-inverse:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-secondary-inverse svg{fill:#d0d2d3}.dps-button.-round{background:#01778e;border-radius:1.5rem;color:#fff;height:2.625rem;min-width:12.1875rem}.dps-button.-round.is-disabled,.dps-button.-round:disabled{background:transparent;border:1px solid #b9bbbd;color:#b9bbbd}.dps-button.-secondary-light{background:transparent;border:2px solid #fff;color:#fff}.dps-button.-secondary-light:hover{background:#fff;border-color:#fff;color:#293e40}.dps-button.-secondary-light.is-disabled,.dps-button.-secondary-light:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-destructive{background:#ca5b57;color:#fff}.dps-button.-destructive:hover{background:#fc726d}.dps-button.-destructive.is-disabled,.dps-button.-destructive:disabled{background:#fdaaa7}.dps-button.-sm{color:#000;font-family:ServiceNowSans-Book;font-size:1rem;gap:.125rem;height:auto;min-height:2rem;padding:.375rem 1rem}.dps-button.-sm.only-icon{padding:0;width:2rem}.dps-button.-sm.has-button-and-icon now-icon{width:2rem}.dps-button.-md{height:2.625rem;padding:0 1.5rem}.dps-button.-md.only-icon{padding:0;width:2.625rem}.dps-button.-md.has-button-and-icon now-icon{width:2.625rem}.dps-button.-lg{height:3.125rem;padding:0 2rem}.dps-button.-lg.only-icon{padding:0;width:3.125rem}.dps-button.-lg.has-button-and-icon now-icon{width:3.125rem}.dps-button.is-bare{background:transparent;border:none;color:#546566}.dps-button.is-bare:hover{background:transparent;border:none;color:#293e40}.dps-button.is-bare:hover svg{fill:#293e40}.dps-button.is-bare svg{fill:#546566}.dps-button.has-action now-icon{transition:transform .3s cubic-bezier(.075,.82,.165,1)}.dps-button.has-action:hover now-icon{transform:translateX(.125rem)}.dps-button.has-action:hover.-external-action now-icon{transform:translateX(1px) translateY(-1px)}.dps-button.is-white{color:#fff}.dps-button.-round-edge{border-radius:.5rem;height:auto;padding:.5rem 1rem}.dps-button-label+now-icon,.dps-button-label+svg{margin-left:.5rem}.dps-button-label+svg.-sm{height:.75rem;width:.75rem}.dps-button-label+svg.-md{height:1rem;width:1rem}.dps-button-label+svg.-lg{height:1.5rem;width:1.5rem}.dps-button-label+svg.-xl{height:2rem;width:2rem}:host{display:block;height:100%}.dps-ad-card{background-color:#f7f7f7;border:1px solid #e8e8e9;border-radius:3px;box-shadow:0 17px 18px -20px rgba(0,0,0,.09);color:inherit;display:flex;height:100%;min-height:8.5rem;text-decoration:none}.dps-ad-card:focus{box-shadow:0 0 0 2px #5cc4af,0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-ad-card:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-ad-card:focus-visible{box-shadow:0 0 0 2px #5cc4af,0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-ad-card:hover{cursor:pointer}.dps-ad-card:hover span.dps-button{background:transparent;border:none;color:#293e40}.dps-ad-card:hover span.dps-button now-icon{color:#293e40;transform:translateX(.125rem)}.dps-ad-card .image{background-position:50%;background-repeat:no-repeat;background-size:cover;flex-basis:auto;height:100%;width:6.25rem}.dps-ad-card .content{display:flex;flex-basis:70%;flex-direction:column;overflow:hidden;padding:1rem}.dps-ad-card h2,.dps-ad-card h4{margin:0}.dps-ad-card h4{color:#a1a5a7;font-family:ServiceNowSans-Medium;font-size:.75rem;font-weight:100;letter-spacing:.075rem;line-height:1;margin-bottom:.25rem;margin-top:0;text-transform:uppercase}.dps-ad-card h2{flex:1;font-family:ServiceNowSans-Regular;font-size:1rem;font-weight:100;line-height:1.5}.dps-ad-card span.dps-button{display:inline-block}.dps-ad-card span.dps-button.is-bare{height:auto;padding-left:0;padding-right:0;white-space:normal}.dps-ad-card span.dps-button span+now-icon{margin-left:.5rem;transition:transform .3s cubic-bezier(.075,.82,.165,1)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.ai-search{background:#f2f5f7;display:flex;flex-direction:column;gap:1.25rem}.ai-search .search-header{background-color:#032d42;display:flex;justify-content:center;padding-bottom:2.5rem;padding-top:2.5rem}.ai-search .search-header .search-container{align-items:center;background-color:#fff;border:2px solid transparent;border-radius:100px;box-sizing:border-box;display:flex;height:48px;padding:0 1rem;transition:border-color .2s ease;width:700px}.ai-search .search-header .search-container .search-icon{height:24px;margin-right:.5rem;width:24px}.ai-search .search-header .search-container .search-input{align-items:center;background:transparent;border:none;display:flex;flex:1;font-family:ServiceNowSans-Light;font-size:1rem;height:100%;outline:none;width:inherit}.ai-search .search-header .search-container .search-input:hover{cursor:pointer}.search-text-container{display:flex;flex-direction:column;gap:.4375rem;padding:1.5rem 0 0 156px}.search-text-container .search-header-text{color:#032d42;font-size:1.5rem}.search-text-container .search-header-text .search-prefix{font-family:ServiceNowSans-Light}.search-text-container .search-header-text .search-term{font-family:ServiceNowSans-Medium;font-weight:500}.search-text-container .search-sub-text{font-family:ServiceNowSans-Light;font-size:.875rem}.search-text-container .search-sub-text .search-sub-text-prefix{color:#032d42}.search-text-container .search-sub-text .search-sub-text-term{color:#007393;cursor:pointer}.search-container:focus-within{border-color:#007393}.search-results-genius-card{--now-actionable--font-size--sm:14px;--now-button--bare_tertiary--color:102,102,102;--now-color_text--tertiary:59,59,59;margin:1.5rem 157px}.filter-toggle{align-items:center;color:#007393;cursor:pointer;display:flex;font-family:ServiceNowSans-Medium;font-weight:500;gap:4px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.filter-toggle:hover{color:#005fa3}.information-box{display:flex;gap:24px;margin:0 157px;padding-bottom:24px;transition:all .25s ease}.information-box.filters-hidden .filter-container{display:none}.information-box.filters-hidden .search-result-container{flex:1;width:100%}.filter-container{background:none;border-radius:8px;min-width:195px;padding-top:7px;transition:all .3s ease-in-out}.filter-options-container{--now-button--bare_primary--color:155,155,155;--now-actionable--font-size--sm:0.875rem;--now-button--bare--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-family:ServiceNowSans-Book;--now-heading--title-primary--color:29,29,29;--now-color_text--primary:29,29,29}.search-result-container{align-items:center;flex:2}.sort-container{align-items:center;display:flex;justify-content:space-between}.filter-pills-container{display:flex;flex:1;gap:5px}.sort-label{align-self:flex-end;color:#333;flex-shrink:0;font-weight:500}.dd{margin-left:4px}.search-sub-container{display:flex;gap:1.5rem}.search-sort-result-container{flex:2}.search-result-subtitle{color:#032d42;font-family:ServiceNowSans-Light;font-size:1.125rem;height:37px;margin:0 157px}.search-result-subtitle .search-result-subtitle-prefix{font-weight:400}.search-result-subtitle .search-result-subtitle-suffix{font-family:ServiceNowSans-Medium;font-weight:500}@media(max-width:1024px){.information-box{margin:0 32px}.filter-container{display:none!important}}.results-header{justify-content:flex-start}.SFilters,.results-header{align-items:center;display:flex}.SFilters{justify-content:space-between;width:100%}.sort-without-filter{display:flex;justify-content:flex-end}.search-result-loading{background:#fff;border-radius:.5rem;padding:1.5rem;width:100%}.search-result-subtitle-suffix{display:inline-block;max-width:90%;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}.sort-label{--now-dropdown_trigger-icon--bare_tertiary--color:#02506b;align-items:center;display:flex;gap:4px;margin-right:4px}.snSearchTopResults,.sort-label{font-family:ServiceNowSans-Light}.snSearchTopResults{--now-font-family:ServiceNowSans-Light}.sliders-outline{color:#02506b}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:1rem}.now-heading--lg{font-size:1.25rem}.now-heading--xl{font-size:1.5rem}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:.75rem}.now-text--md{font-size:1rem}.now-text--lg{font-size:1.25rem}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.now-m-block--xxs{-webkit-margin-before:.125rem;-webkit-margin-after:.125rem;margin-block-end:.125rem;margin-block-start:.125rem}.now-m-block-start--xxs{-webkit-margin-before:.125rem;margin-block-start:.125rem}.now-m-block-end--xxs{-webkit-margin-after:.125rem;margin-block-end:.125rem}.now-m-inline--xxs{-webkit-margin-start:.125rem;-webkit-margin-end:.125rem;margin-inline-end:.125rem;margin-inline-start:.125rem}.now-m-inline-start--xxs{-webkit-margin-start:.125rem;margin-inline-start:.125rem}.now-m-inline-end--xxs{-webkit-margin-end:.125rem;margin-inline-end:.125rem}.now-m-block--xs{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-block-start:.25rem}.now-m-block-start--xs{-webkit-margin-before:.25rem;margin-block-start:.25rem}.now-m-block-end--xs{-webkit-margin-after:.25rem;margin-block-end:.25rem}.now-m-inline--xs{-webkit-margin-start:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem;margin-inline-start:.25rem}.now-m-inline-start--xs{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-m-inline-end--xs{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-m-block--sm{-webkit-margin-before:.5rem;-webkit-margin-after:.5rem;margin-block-end:.5rem;margin-block-start:.5rem}.now-m-block-start--sm{-webkit-margin-before:.5rem;margin-block-start:.5rem}.now-m-block-end--sm{-webkit-margin-after:.5rem;margin-block-end:.5rem}.now-m-inline--sm{-webkit-margin-start:.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem;margin-inline-start:.5rem}.now-m-inline-start--sm{-webkit-margin-start:.5rem;margin-inline-start:.5rem}.now-m-inline-end--sm{-webkit-margin-end:.5rem;margin-inline-end:.5rem}.now-m-block--md{-webkit-margin-before:.75rem;-webkit-margin-after:.75rem;margin-block-end:.75rem;margin-block-start:.75rem}.now-m-block-start--md{-webkit-margin-before:.75rem;margin-block-start:.75rem}.now-m-block-end--md{-webkit-margin-after:.75rem;margin-block-end:.75rem}.now-m-inline--md{-webkit-margin-start:.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;margin-inline-start:.75rem}.now-m-inline-start--md{-webkit-margin-start:.75rem;margin-inline-start:.75rem}.now-m-inline-end--md{-webkit-margin-end:.75rem;margin-inline-end:.75rem}.now-m-block--lg{-webkit-margin-before:1rem;-webkit-margin-after:1rem;margin-block-end:1rem;margin-block-start:1rem}.now-m-block-start--lg{-webkit-margin-before:1rem;margin-block-start:1rem}.now-m-block-end--lg{-webkit-margin-after:1rem;margin-block-end:1rem}.now-m-inline--lg{-webkit-margin-start:1rem;-webkit-margin-end:1rem;margin-inline-end:1rem;margin-inline-start:1rem}.now-m-inline-start--lg{-webkit-margin-start:1rem;margin-inline-start:1rem}.now-m-inline-end--lg{-webkit-margin-end:1rem;margin-inline-end:1rem}.now-m-block--xl{-webkit-margin-before:1.5rem;-webkit-margin-after:1.5rem;margin-block-end:1.5rem;margin-block-start:1.5rem}.now-m-block-start--xl{-webkit-margin-before:1.5rem;margin-block-start:1.5rem}.now-m-block-end--xl{-webkit-margin-after:1.5rem;margin-block-end:1.5rem}.now-m-inline--xl{-webkit-margin-start:1.5rem;-webkit-margin-end:1.5rem;margin-inline-end:1.5rem;margin-inline-start:1.5rem}.now-m-inline-start--xl{-webkit-margin-start:1.5rem;margin-inline-start:1.5rem}.now-m-inline-end--xl{-webkit-margin-end:1.5rem;margin-inline-end:1.5rem}.now-m-block--xxl{-webkit-margin-before:2rem;-webkit-margin-after:2rem;margin-block-end:2rem;margin-block-start:2rem}.now-m-block-start--xxl{-webkit-margin-before:2rem;margin-block-start:2rem}.now-m-block-end--xxl{-webkit-margin-after:2rem;margin-block-end:2rem}.now-m-inline--xxl{-webkit-margin-start:2rem;-webkit-margin-end:2rem;margin-inline-end:2rem;margin-inline-start:2rem}.now-m-inline-start--xxl{-webkit-margin-start:2rem;margin-inline-start:2rem}.now-m-inline-end--xxl{-webkit-margin-end:2rem;margin-inline-end:2rem}.now-m-block--3xl{-webkit-margin-before:2.5rem;-webkit-margin-after:2.5rem;margin-block-end:2.5rem;margin-block-start:2.5rem}.now-m-block-start--3xl{-webkit-margin-before:2.5rem;margin-block-start:2.5rem}.now-m-block-end--3xl{-webkit-margin-after:2.5rem;margin-block-end:2.5rem}.now-m-inline--3xl{-webkit-margin-start:2.5rem;-webkit-margin-end:2.5rem;margin-inline-end:2.5rem;margin-inline-start:2.5rem}.now-m-inline-start--3xl{-webkit-margin-start:2.5rem;margin-inline-start:2.5rem}.now-m-inline-end--3xl{-webkit-margin-end:2.5rem;margin-inline-end:2.5rem}.now-m-block--0{-webkit-margin-before:0;-webkit-margin-after:0;margin-block-end:0;margin-block-start:0}.now-m-block-start--0{-webkit-margin-before:0;margin-block-start:0}.now-m-block-end--0{-webkit-margin-after:0;margin-block-end:0}.now-m-inline--0{-webkit-margin-start:0;-webkit-margin-end:0;margin-inline-end:0;margin-inline-start:0}.now-m-inline-start--0{-webkit-margin-start:0;margin-inline-start:0}.now-m-inline-end--0{-webkit-margin-end:0;margin-inline-end:0}.now-p-block--xxs{-webkit-padding-before:.125rem;-webkit-padding-after:.125rem;padding-block-end:.125rem;padding-block-start:.125rem}.now-p-block-start--xxs{-webkit-padding-before:.125rem;padding-block-start:.125rem}.now-p-block-end--xxs{-webkit-padding-after:.125rem;padding-block-end:.125rem}.now-p-inline--xxs{-webkit-padding-start:.125rem;-webkit-padding-end:.125rem;padding-inline-end:.125rem;padding-inline-start:.125rem}.now-p-inline-start--xxs{-webkit-padding-start:.125rem;padding-inline-start:.125rem}.now-p-inline-end--xxs{-webkit-padding-end:.125rem;padding-inline-end:.125rem}.now-p-block--xs{-webkit-padding-before:.25rem;-webkit-padding-after:.25rem;padding-block-end:.25rem;padding-block-start:.25rem}.now-p-block-start--xs{-webkit-padding-before:.25rem;padding-block-start:.25rem}.now-p-block-end--xs{-webkit-padding-after:.25rem;padding-block-end:.25rem}.now-p-inline--xs{-webkit-padding-start:.25rem;-webkit-padding-end:.25rem;padding-inline-end:.25rem;padding-inline-start:.25rem}.now-p-inline-start--xs{-webkit-padding-start:.25rem;padding-inline-start:.25rem}.now-p-inline-end--xs{-webkit-padding-end:.25rem;padding-inline-end:.25rem}.now-p-block--sm{-webkit-padding-before:.5rem;-webkit-padding-after:.5rem;padding-block-end:.5rem;padding-block-start:.5rem}.now-p-block-start--sm{-webkit-padding-before:.5rem;padding-block-start:.5rem}.now-p-block-end--sm{-webkit-padding-after:.5rem;padding-block-end:.5rem}.now-p-inline--sm{-webkit-padding-start:.5rem;-webkit-padding-end:.5rem;padding-inline-end:.5rem;padding-inline-start:.5rem}.now-p-inline-start--sm{-webkit-padding-start:.5rem;padding-inline-start:.5rem}.now-p-inline-end--sm{-webkit-padding-end:.5rem;padding-inline-end:.5rem}.now-p-block--md{-webkit-padding-before:.75rem;-webkit-padding-after:.75rem;padding-block-end:.75rem;padding-block-start:.75rem}.now-p-block-start--md{-webkit-padding-before:.75rem;padding-block-start:.75rem}.now-p-block-end--md{-webkit-padding-after:.75rem;padding-block-end:.75rem}.now-p-inline--md{-webkit-padding-start:.75rem;-webkit-padding-end:.75rem;padding-inline-end:.75rem;padding-inline-start:.75rem}.now-p-inline-start--md{-webkit-padding-start:.75rem;padding-inline-start:.75rem}.now-p-inline-end--md{-webkit-padding-end:.75rem;padding-inline-end:.75rem}.now-p-block--lg{-webkit-padding-before:1rem;-webkit-padding-after:1rem;padding-block-end:1rem;padding-block-start:1rem}.now-p-block-start--lg{-webkit-padding-before:1rem;padding-block-start:1rem}.now-p-block-end--lg{-webkit-padding-after:1rem;padding-block-end:1rem}.now-p-inline--lg{-webkit-padding-start:1rem;-webkit-padding-end:1rem;padding-inline-end:1rem;padding-inline-start:1rem}.now-p-inline-start--lg{-webkit-padding-start:1rem;padding-inline-start:1rem}.now-p-inline-end--lg{-webkit-padding-end:1rem;padding-inline-end:1rem}.now-p-block--xl{-webkit-padding-before:1.5rem;-webkit-padding-after:1.5rem;padding-block-end:1.5rem;padding-block-start:1.5rem}.now-p-block-start--xl{-webkit-padding-before:1.5rem;padding-block-start:1.5rem}.now-p-block-end--xl{-webkit-padding-after:1.5rem;padding-block-end:1.5rem}.now-p-inline--xl{-webkit-padding-start:1.5rem;-webkit-padding-end:1.5rem;padding-inline-end:1.5rem;padding-inline-start:1.5rem}.now-p-inline-start--xl{-webkit-padding-start:1.5rem;padding-inline-start:1.5rem}.now-p-inline-end--xl{-webkit-padding-end:1.5rem;padding-inline-end:1.5rem}.now-p-block--xxl{-webkit-padding-before:2rem;-webkit-padding-after:2rem;padding-block-end:2rem;padding-block-start:2rem}.now-p-block-start--xxl{-webkit-padding-before:2rem;padding-block-start:2rem}.now-p-block-end--xxl{-webkit-padding-after:2rem;padding-block-end:2rem}.now-p-inline--xxl{-webkit-padding-start:2rem;-webkit-padding-end:2rem;padding-inline-end:2rem;padding-inline-start:2rem}.now-p-inline-start--xxl{-webkit-padding-start:2rem;padding-inline-start:2rem}.now-p-inline-end--xxl{-webkit-padding-end:2rem;padding-inline-end:2rem}.now-p-block--3xl{-webkit-padding-before:2.5rem;-webkit-padding-after:2.5rem;padding-block-end:2.5rem;padding-block-start:2.5rem}.now-p-block-start--3xl{-webkit-padding-before:2.5rem;padding-block-start:2.5rem}.now-p-block-end--3xl{-webkit-padding-after:2.5rem;padding-block-end:2.5rem}.now-p-inline--3xl{-webkit-padding-start:2.5rem;-webkit-padding-end:2.5rem;padding-inline-end:2.5rem;padding-inline-start:2.5rem}.now-p-inline-start--3xl{-webkit-padding-start:2.5rem;padding-inline-start:2.5rem}.now-p-inline-end--3xl{-webkit-padding-end:2.5rem;padding-inline-end:2.5rem}.now-p-block--0{-webkit-padding-before:0;-webkit-padding-after:0;padding-block-end:0;padding-block-start:0}.now-p-block-start--0{-webkit-padding-before:0;padding-block-start:0}.now-p-block-end--0{-webkit-padding-after:0;padding-block-end:0}.now-p-inline--0{-webkit-padding-start:0;-webkit-padding-end:0;padding-inline-end:0;padding-inline-start:0}.now-p-inline-start--0{-webkit-padding-start:0;padding-inline-start:0}.now-p-inline-end--0{-webkit-padding-end:0;padding-inline-end:0}.search-filter-loading{align-items:center;box-sizing:border-box;display:flex;gap:1rem;justify-content:space-between;padding-bottom:2rem}.search-filter-loading .search-filter-loading-left{align-items:center;display:flex;gap:.5rem;width:50%}.search-filter-loading .search-filter-loading-right{align-items:flex-end;display:flex;flex-direction:column;width:50%}.search-results-skeleton-genius-card{background-color:RGB(var(--now-color--neutral-0,255,255,255));border:none;border-radius:.5rem;box-shadow:0 .125rem .25rem 0 RGB(56,56,56,var(--now-opacity--less,.25));display:flex;flex-direction:column;gap:.75rem;height:11.25rem;margin-bottom:var(--now-global-space--xl,24px);padding:1rem}.search-card-loading{align-items:center;box-sizing:border-box;color:aqua;display:flex;justify-content:space-between;max-width:100%;padding:1rem}.search-card-loading .search-card-loading-icon{width:5%}.search-card-loading .search-card-loading-info{display:flex;flex-direction:column;gap:12px;width:95%}.skeleton-loading{animation:skeleton-pulse 1.5s ease-in-out infinite;background-color:RGB(var(--now-color--neutral-2,228,230,231))}.skeleton-loading.bar{border-radius:100px;height:1rem}.skeleton-loading.pill{border-radius:100px;height:1.5rem}.skeleton-loading.square{border-radius:.25rem;height:2rem;width:2rem}.skeleton-loading.width-100{width:100%}.skeleton-loading.width-75{width:75%}.skeleton-loading.width-50{width:50%}.skeleton-loading.width-15{width:15%}.skeleton-loading.width-0{width:0}.skeleton-loading.width-auto{width:auto}.inline{display:inline-flex}@keyframes skeleton-pulse{0%{opacity:var(--now-opacity--least,.1)}to{opacity:var(--now-opacity--least,.1)}50%{opacity:.5}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}.now-line-height-crop{display:block}.now-line-height-crop:after,.now-line-height-crop:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1)}.now-line-height-crop:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1)}.now-line-height-crop+.now-line-height-crop{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1*-1)}.now-line-height-crop--sm{display:block}.now-line-height-crop--sm:after,.now-line-height-crop--sm:before{block-size:0;content:\\\"\\\";display:block}.now-line-height-crop--sm:before{-webkit-margin-before:calc(var(--now-line-height-crop--before, -.25em)*1.06664);margin-block-start:calc(var(--now-line-height-crop--before, -.25em)*1.06664)}.now-line-height-crop--sm:after{-webkit-margin-after:calc(var(--now-line-height-crop--after, -.125em)*1.06664);margin-block-end:calc(var(--now-line-height-crop--after, -.125em)*1.06664)}.now-line-height-crop--sm+.now-line-height-crop--sm{-webkit-margin-before:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1);margin-block-start:calc(var(--now-line-height-crop--after, -.125em)*1.06664*-1)}.now-heading--lg,.now-heading--md,.now-heading--xl{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-weight:600}.now-heading--md{font-size:1rem}.now-heading--lg{font-size:1.25rem}.now-heading--xl{font-size:1.5rem}.now-text--normal{font-weight:400}.now-text--semibold{font-weight:600}.now-text--bold{font-weight:700}.now-text--sm{font-size:.75rem}.now-text--md{font-size:1rem}.now-text--lg{font-size:1.25rem}.now-text--primary{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)))}.now-text--secondary{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.now-text--tertiary{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.now-m-block--xxs{-webkit-margin-before:.125rem;-webkit-margin-after:.125rem;margin-block-end:.125rem;margin-block-start:.125rem}.now-m-block-start--xxs{-webkit-margin-before:.125rem;margin-block-start:.125rem}.now-m-block-end--xxs{-webkit-margin-after:.125rem;margin-block-end:.125rem}.now-m-inline--xxs{-webkit-margin-start:.125rem;-webkit-margin-end:.125rem;margin-inline-end:.125rem;margin-inline-start:.125rem}.now-m-inline-start--xxs{-webkit-margin-start:.125rem;margin-inline-start:.125rem}.now-m-inline-end--xxs{-webkit-margin-end:.125rem;margin-inline-end:.125rem}.now-m-block--xs{-webkit-margin-before:.25rem;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-block-start:.25rem}.now-m-block-start--xs{-webkit-margin-before:.25rem;margin-block-start:.25rem}.now-m-block-end--xs{-webkit-margin-after:.25rem;margin-block-end:.25rem}.now-m-inline--xs{-webkit-margin-start:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem;margin-inline-start:.25rem}.now-m-inline-start--xs{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.now-m-inline-end--xs{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.now-m-block--sm{-webkit-margin-before:.5rem;-webkit-margin-after:.5rem;margin-block-end:.5rem;margin-block-start:.5rem}.now-m-block-start--sm{-webkit-margin-before:.5rem;margin-block-start:.5rem}.now-m-block-end--sm{-webkit-margin-after:.5rem;margin-block-end:.5rem}.now-m-inline--sm{-webkit-margin-start:.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem;margin-inline-start:.5rem}.now-m-inline-start--sm{-webkit-margin-start:.5rem;margin-inline-start:.5rem}.now-m-inline-end--sm{-webkit-margin-end:.5rem;margin-inline-end:.5rem}.now-m-block--md{-webkit-margin-before:.75rem;-webkit-margin-after:.75rem;margin-block-end:.75rem;margin-block-start:.75rem}.now-m-block-start--md{-webkit-margin-before:.75rem;margin-block-start:.75rem}.now-m-block-end--md{-webkit-margin-after:.75rem;margin-block-end:.75rem}.now-m-inline--md{-webkit-margin-start:.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;margin-inline-start:.75rem}.now-m-inline-start--md{-webkit-margin-start:.75rem;margin-inline-start:.75rem}.now-m-inline-end--md{-webkit-margin-end:.75rem;margin-inline-end:.75rem}.now-m-block--lg{-webkit-margin-before:1rem;-webkit-margin-after:1rem;margin-block-end:1rem;margin-block-start:1rem}.now-m-block-start--lg{-webkit-margin-before:1rem;margin-block-start:1rem}.now-m-block-end--lg{-webkit-margin-after:1rem;margin-block-end:1rem}.now-m-inline--lg{-webkit-margin-start:1rem;-webkit-margin-end:1rem;margin-inline-end:1rem;margin-inline-start:1rem}.now-m-inline-start--lg{-webkit-margin-start:1rem;margin-inline-start:1rem}.now-m-inline-end--lg{-webkit-margin-end:1rem;margin-inline-end:1rem}.now-m-block--xl{-webkit-margin-before:1.5rem;-webkit-margin-after:1.5rem;margin-block-end:1.5rem;margin-block-start:1.5rem}.now-m-block-start--xl{-webkit-margin-before:1.5rem;margin-block-start:1.5rem}.now-m-block-end--xl{-webkit-margin-after:1.5rem;margin-block-end:1.5rem}.now-m-inline--xl{-webkit-margin-start:1.5rem;-webkit-margin-end:1.5rem;margin-inline-end:1.5rem;margin-inline-start:1.5rem}.now-m-inline-start--xl{-webkit-margin-start:1.5rem;margin-inline-start:1.5rem}.now-m-inline-end--xl{-webkit-margin-end:1.5rem;margin-inline-end:1.5rem}.now-m-block--xxl{-webkit-margin-before:2rem;-webkit-margin-after:2rem;margin-block-end:2rem;margin-block-start:2rem}.now-m-block-start--xxl{-webkit-margin-before:2rem;margin-block-start:2rem}.now-m-block-end--xxl{-webkit-margin-after:2rem;margin-block-end:2rem}.now-m-inline--xxl{-webkit-margin-start:2rem;-webkit-margin-end:2rem;margin-inline-end:2rem;margin-inline-start:2rem}.now-m-inline-start--xxl{-webkit-margin-start:2rem;margin-inline-start:2rem}.now-m-inline-end--xxl{-webkit-margin-end:2rem;margin-inline-end:2rem}.now-m-block--3xl{-webkit-margin-before:2.5rem;-webkit-margin-after:2.5rem;margin-block-end:2.5rem;margin-block-start:2.5rem}.now-m-block-start--3xl{-webkit-margin-before:2.5rem;margin-block-start:2.5rem}.now-m-block-end--3xl{-webkit-margin-after:2.5rem;margin-block-end:2.5rem}.now-m-inline--3xl{-webkit-margin-start:2.5rem;-webkit-margin-end:2.5rem;margin-inline-end:2.5rem;margin-inline-start:2.5rem}.now-m-inline-start--3xl{-webkit-margin-start:2.5rem;margin-inline-start:2.5rem}.now-m-inline-end--3xl{-webkit-margin-end:2.5rem;margin-inline-end:2.5rem}.now-m-block--0{-webkit-margin-before:0;-webkit-margin-after:0;margin-block-end:0;margin-block-start:0}.now-m-block-start--0{-webkit-margin-before:0;margin-block-start:0}.now-m-block-end--0{-webkit-margin-after:0;margin-block-end:0}.now-m-inline--0{-webkit-margin-start:0;-webkit-margin-end:0;margin-inline-end:0;margin-inline-start:0}.now-m-inline-start--0{-webkit-margin-start:0;margin-inline-start:0}.now-m-inline-end--0{-webkit-margin-end:0;margin-inline-end:0}.now-p-block--xxs{-webkit-padding-before:.125rem;-webkit-padding-after:.125rem;padding-block-end:.125rem;padding-block-start:.125rem}.now-p-block-start--xxs{-webkit-padding-before:.125rem;padding-block-start:.125rem}.now-p-block-end--xxs{-webkit-padding-after:.125rem;padding-block-end:.125rem}.now-p-inline--xxs{-webkit-padding-start:.125rem;-webkit-padding-end:.125rem;padding-inline-end:.125rem;padding-inline-start:.125rem}.now-p-inline-start--xxs{-webkit-padding-start:.125rem;padding-inline-start:.125rem}.now-p-inline-end--xxs{-webkit-padding-end:.125rem;padding-inline-end:.125rem}.now-p-block--xs{-webkit-padding-before:.25rem;-webkit-padding-after:.25rem;padding-block-end:.25rem;padding-block-start:.25rem}.now-p-block-start--xs{-webkit-padding-before:.25rem;padding-block-start:.25rem}.now-p-block-end--xs{-webkit-padding-after:.25rem;padding-block-end:.25rem}.now-p-inline--xs{-webkit-padding-start:.25rem;-webkit-padding-end:.25rem;padding-inline-end:.25rem;padding-inline-start:.25rem}.now-p-inline-start--xs{-webkit-padding-start:.25rem;padding-inline-start:.25rem}.now-p-inline-end--xs{-webkit-padding-end:.25rem;padding-inline-end:.25rem}.now-p-block--sm{-webkit-padding-before:.5rem;-webkit-padding-after:.5rem;padding-block-end:.5rem;padding-block-start:.5rem}.now-p-block-start--sm{-webkit-padding-before:.5rem;padding-block-start:.5rem}.now-p-block-end--sm{-webkit-padding-after:.5rem;padding-block-end:.5rem}.now-p-inline--sm{-webkit-padding-start:.5rem;-webkit-padding-end:.5rem;padding-inline-end:.5rem;padding-inline-start:.5rem}.now-p-inline-start--sm{-webkit-padding-start:.5rem;padding-inline-start:.5rem}.now-p-inline-end--sm{-webkit-padding-end:.5rem;padding-inline-end:.5rem}.now-p-block--md{-webkit-padding-before:.75rem;-webkit-padding-after:.75rem;padding-block-end:.75rem;padding-block-start:.75rem}.now-p-block-start--md{-webkit-padding-before:.75rem;padding-block-start:.75rem}.now-p-block-end--md{-webkit-padding-after:.75rem;padding-block-end:.75rem}.now-p-inline--md{-webkit-padding-start:.75rem;-webkit-padding-end:.75rem;padding-inline-end:.75rem;padding-inline-start:.75rem}.now-p-inline-start--md{-webkit-padding-start:.75rem;padding-inline-start:.75rem}.now-p-inline-end--md{-webkit-padding-end:.75rem;padding-inline-end:.75rem}.now-p-block--lg{-webkit-padding-before:1rem;-webkit-padding-after:1rem;padding-block-end:1rem;padding-block-start:1rem}.now-p-block-start--lg{-webkit-padding-before:1rem;padding-block-start:1rem}.now-p-block-end--lg{-webkit-padding-after:1rem;padding-block-end:1rem}.now-p-inline--lg{-webkit-padding-start:1rem;-webkit-padding-end:1rem;padding-inline-end:1rem;padding-inline-start:1rem}.now-p-inline-start--lg{-webkit-padding-start:1rem;padding-inline-start:1rem}.now-p-inline-end--lg{-webkit-padding-end:1rem;padding-inline-end:1rem}.now-p-block--xl{-webkit-padding-before:1.5rem;-webkit-padding-after:1.5rem;padding-block-end:1.5rem;padding-block-start:1.5rem}.now-p-block-start--xl{-webkit-padding-before:1.5rem;padding-block-start:1.5rem}.now-p-block-end--xl{-webkit-padding-after:1.5rem;padding-block-end:1.5rem}.now-p-inline--xl{-webkit-padding-start:1.5rem;-webkit-padding-end:1.5rem;padding-inline-end:1.5rem;padding-inline-start:1.5rem}.now-p-inline-start--xl{-webkit-padding-start:1.5rem;padding-inline-start:1.5rem}.now-p-inline-end--xl{-webkit-padding-end:1.5rem;padding-inline-end:1.5rem}.now-p-block--xxl{-webkit-padding-before:2rem;-webkit-padding-after:2rem;padding-block-end:2rem;padding-block-start:2rem}.now-p-block-start--xxl{-webkit-padding-before:2rem;padding-block-start:2rem}.now-p-block-end--xxl{-webkit-padding-after:2rem;padding-block-end:2rem}.now-p-inline--xxl{-webkit-padding-start:2rem;-webkit-padding-end:2rem;padding-inline-end:2rem;padding-inline-start:2rem}.now-p-inline-start--xxl{-webkit-padding-start:2rem;padding-inline-start:2rem}.now-p-inline-end--xxl{-webkit-padding-end:2rem;padding-inline-end:2rem}.now-p-block--3xl{-webkit-padding-before:2.5rem;-webkit-padding-after:2.5rem;padding-block-end:2.5rem;padding-block-start:2.5rem}.now-p-block-start--3xl{-webkit-padding-before:2.5rem;padding-block-start:2.5rem}.now-p-block-end--3xl{-webkit-padding-after:2.5rem;padding-block-end:2.5rem}.now-p-inline--3xl{-webkit-padding-start:2.5rem;-webkit-padding-end:2.5rem;padding-inline-end:2.5rem;padding-inline-start:2.5rem}.now-p-inline-start--3xl{-webkit-padding-start:2.5rem;padding-inline-start:2.5rem}.now-p-inline-end--3xl{-webkit-padding-end:2.5rem;padding-inline-end:2.5rem}.now-p-block--0{-webkit-padding-before:0;-webkit-padding-after:0;padding-block-end:0;padding-block-start:0}.now-p-block-start--0{-webkit-padding-before:0;padding-block-start:0}.now-p-block-end--0{-webkit-padding-after:0;padding-block-end:0}.now-p-inline--0{-webkit-padding-start:0;-webkit-padding-end:0;padding-inline-end:0;padding-inline-start:0}.now-p-inline-start--0{-webkit-padding-start:0;padding-inline-start:0}.now-p-inline-end--0{-webkit-padding-end:0;padding-inline-end:0}sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.search-results-genius-container{width:100%}.search-results-genius-card{--now-actionable--tertiary--background-color--hover:241,243,243;--now-actionable--tertiary--background-color--active:220,224,226;--now-font-size--md1:12px}.sn-cx-search-results{height:100%;width:100%}.no-top-results{align-items:flex-start;background-color:rgb(var(--now-color_background--primary,\\\"255, 255, 255\\\"));border-image:linear-gradient(180deg,#66d462,#83b7f3) 1;border-radius:0 8px 8px 0;border-style:solid;border-width:0 0 0 4px;box-shadow:0 .125rem .25rem 0 RGB(56,56,56,var(--now-opacity--less,.25))!important;display:flex;flex-direction:column;gap:12px;min-height:98px;padding:16px 24px;width:100%}.no-top-results .message{font-feature-settings:\\\"liga\\\" off,\\\"clig\\\" off;color:var(--now-color_text--primary,#1d1d1d);font-family:ServiceNowSans-Regular;font-size:16px;line-height:24px}.no-top-results .assist-header-icon{color:linear-gradient(180deg,#66d462,#83b7f3) 1}.no-top-results .assist-header{font-feature-settings:\\\"liga\\\" off,\\\"clig\\\" off;align-items:center;color:var(--now-color_text--secondary,#3b3b3b);display:flex;font-family:ServiceNowSans-Regular;font-size:var(--Typography-Size-Card-header-card-header-tagline,12px);font-weight:400}.search-results-genius-result{grid-column:span 12;width:100%}.search-results-more{padding:1rem}.search-results--responsive-container{grid-column:span 12}@media(min-width:1200px){.search-results--responsive-container{grid-column:3/span 8}}@media(min-width:1600px){.search-results-container{display:grid;grid-template-columns:repeat(12,1fr);row-gap:1.5rem;width:100%}.search-results-genius-result{grid-column:span 12;width:100%}.search-results-genius-result .search-results-genius-container{display:grid;grid-template-columns:repeat(12,1fr);width:100%}.search-results-more{align-items:center;display:flex;grid-column:1/span 12;justify-content:center}}@media(min-width:1200px)and (max-width:1599px){.search-results-container{display:grid;grid-template-columns:repeat(12,1fr);row-gap:1.5rem;width:100%}.search-results-genius-result{grid-column:span 12;width:100%}.search-results-genius-result .search-results-genius-container{display:grid;grid-template-columns:repeat(12,1fr);width:100%}.search-results-more{align-items:center;display:flex;grid-column:1/span 12;justify-content:center}}@media(min-width:992px)and (max-width:1199px){.search-results-container{display:grid;grid-template-columns:repeat(12,1fr);padding:0 var(--xxl,2rem);row-gap:1.5rem;width:100%}.search-results-genius-result{grid-column:span 12;width:100%}.search-results-genius-result .search-results-genius-container{display:grid;grid-template-columns:repeat(12,1fr);width:100%}.search-results-more{align-items:center;display:flex;grid-column:1/span 12;justify-content:center}}@media(min-width:768px)and (max-width:991px){.search-results-container{display:grid;grid-template-columns:repeat(12,1fr);padding:0 2rem;row-gap:1.5rem;width:100%}.search-results-genius-result{grid-column:span 12;width:100%}.search-results-genius-result .search-results-genius-container{display:grid;grid-template-columns:repeat(12,1fr);width:100%}.search-results-more{align-items:center;display:flex;grid-column:1/span 12;justify-content:center}}@media(min-width:576px)and (max-width:767px){.search-results-container{display:grid;grid-template-columns:repeat(12,1fr);padding:0 1.5rem;row-gap:1.5rem;width:100%}.search-results-genius-result{grid-column:span 12;width:100%}.search-results-genius-result .search-results-genius-container{display:grid;grid-template-columns:repeat(12,1fr);width:100%}.search-results-more{align-items:center;display:flex;grid-column:1/span 12;justify-content:center}}@media(max-width:575px){.search-results-container{display:grid;grid-template-columns:repeat(12,1fr);padding:0 1rem;row-gap:1.5rem;width:100%}.search-results-genius-result{grid-column:span 12;width:100%}.search-results-genius-result .search-results-genius-container{display:grid;grid-template-columns:repeat(12,1fr);width:100%}.search-results-more{align-items:center;display:flex;grid-column:1/span 12;justify-content:center}}.search-filter-loading{align-items:center;display:flex;gap:16px;justify-content:space-between;padding:32px}.search-filter-loading .search-filter-loading-left{align-items:center;display:flex;gap:8px;width:50%}.search-filter-loading .search-filter-loading-right{align-items:flex-end;display:flex;flex-direction:column;width:50%}.search-card-loading{align-items:center;display:flex;gap:20px;justify-content:space-between;padding:16px}.search-card-loading .search-card-loading-info{display:flex;flex-direction:column;gap:12px;min-width:97%}.skeleton-loading{background:linear-gradient(90deg,#e6e6ea 15%,#dedde2 65%);overflow:hidden;position:relative}.skeleton-loading:after{animation:loading 1s ease-in-out infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.7) 50%,transparent);content:\\\"\\\";height:100%;left:-100%;position:absolute;top:0;width:100%}.skeleton-loading.bar{border-radius:100px;height:16px}.skeleton-loading.pill{border-radius:100px;height:24px}.skeleton-loading.square{border-radius:4px;height:32px;width:32px}@keyframes loading{0%{left:-100%}50%{left:100%}to{left:100%}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.feedback-card{align-items:center;background:#fff;border-radius:.5rem;display:flex;flex-direction:column;gap:1rem;margin-top:30px;padding:24px 12px;width:195px}.feedback-card .feedback-label{color:#0e0e0e;font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;text-align:center}.feedback-card .feedback-submit-text{color:#0e0e0e;font-family:ServiceNowSans-Regular;font-size:.875rem}.feedback-card .feedback-buttons{display:flex;flex-direction:row;gap:10px}.feedback-card .text-area-container{display:flex;flex-direction:column;gap:1rem}.feedback-card .text-area-container .textarea-label{color:#0e0e0e;font-family:ServiceNowSans-Regular;font-size:.875rem}.feedback-card .text-area-container .submit{width:-webkit-fill-available}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.feedback-card,.feedback-card-filters{background-color:#f7f7f7;display:flex;flex-direction:column;gap:53px}.feedback-card .no-search-card-subtitle,.feedback-card-filters .no-search-card-subtitle{color:#032d42;font-family:ServiceNowSans-Regular;font-size:18px;margin:1.5rem 0 0 8%}.feedback-card .no-search-card-subtitle-prefix,.feedback-card-filters .no-search-card-subtitle-prefix{font-weight:400}.feedback-card .no-search-card-subtitle-suffix,.feedback-card-filters .no-search-card-subtitle-suffix{font-weight:600}.feedback-card .no-search-card-container,.feedback-card .no-search-card-container-filters,.feedback-card-filters .no-search-card-container,.feedback-card-filters .no-search-card-container-filters{align-items:center;background-color:#fff;border-radius:8px;box-sizing:border-box;display:flex;flex-direction:column;height:100%;padding:1.5rem 0}.feedback-card .no-search-card-container .text-container .no-search-text,.feedback-card .no-search-card-container-filters .text-container .no-search-text,.feedback-card-filters .no-search-card-container .text-container .no-search-text,.feedback-card-filters .no-search-card-container-filters .text-container .no-search-text{color:#1d1d1d;font-family:ServiceNowSans-Regular;font-size:1rem;padding-bottom:.625rem}.feedback-card .no-search-card-container .text-container .try,.feedback-card .no-search-card-container-filters .text-container .try,.feedback-card-filters .no-search-card-container .text-container .try,.feedback-card-filters .no-search-card-container-filters .text-container .try{color:#1d1d1d;font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;padding:.625rem 0 0 .625rem}.feedback-card .no-search-card-container .text-container .no-search-inner-text-list,.feedback-card .no-search-card-container-filters .text-container .no-search-inner-text-list,.feedback-card-filters .no-search-card-container .text-container .no-search-inner-text-list,.feedback-card-filters .no-search-card-container-filters .text-container .no-search-inner-text-list{padding-left:1.25rem}.feedback-card{margin:1.5rem 157px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.search-result-container{background:#fff;border-radius:.5rem;padding:1.5rem}.search-result-container .search-card{border-bottom:1px solid #e3e3e3;display:flex;gap:.5rem;padding:.625rem;padding-bottom:1.25rem}.search-result-container .search-card .search-card-content{display:flex;flex-direction:column;gap:.5rem}.search-result-container .search-card .search-card-content .card-title{color:#007393;font-family:ServiceNowSans-Bold;font-size:1.125rem}.search-result-container .search-card .search-card-content .card-title:hover{cursor:pointer}.search-result-container .search-card .search-card-content .card-description{word-wrap:break-word;color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;overflow-wrap:break-word;word-break:break-all}.highlight-value{--now-highlighted-value--border-radius:500px;--now-highlighted-value--tertiary_info--background-color:189,220,242;--now-highlighted-value--tertiary_teal--background-color:200,240,243;--now-highlighted-value--tertiary_positive--background-color:205,223,189;--now-highlighted-value--tertiary_magenta--background-color:249,218,239;--now-highlighted-value--tertiary_warning--background-color:255,248,200;--now-highlighted-value--tertiary_brown--background-color:238,221,205;border-radius:500px;overflow:hidden;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.view-more{color:#007393;display:flex;font-family:ServiceNowSans-Light;font-size:1rem;justify-content:center;padding-top:21px}.view-more:hover{cursor:pointer}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-alert-container{margin-left:-3.75rem;width:calc(100% + 120px)}.dps-alert-container.-info{background-color:#bec3e7}.dps-alert-container.-warning{background-color:#fec7c5}.dps-alert-container.-success{background-color:#bee7df}.dps-alert-container dps-alert{display:block;margin:0 auto;max-width:780px;width:auto}@media screen and (max-width:1199.98px){.dps-alert-container{padding-left:3rem;padding-right:1.5rem}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-alert{align-items:flex-start;background-color:#e1ecef;border:1px solid #86b4bf;border-radius:.25rem;color:#1d1d1d;display:flex;justify-content:flex-start;padding:.75rem 1rem}.dps-alert.-toast{min-height:2.875rem}.dps-alert.-alert-warn{background-color:#fff7c7;border-color:#ffea72;border-radius:.5rem;color:#1d1d1d}.dps-alert.-alert-error{background-color:#fee3e2;border-color:#fd8e8a;color:#652e2c}.dps-alert.-alert-success{background-color:#e6f0ec;border-color:#9ac4b4;color:#344840}.dps-alert now-icon{margin-right:.5rem;margin-top:.125rem}.dps-alert .dps-alert-dismiss-wrapper{margin-left:.5rem;margin-top:.125rem}@media(max-width:767.98px){.dps-alert now-icon{margin-bottom:.75rem;margin-top:0}.dps-alert .dps-alert-dismiss-wrapper{margin-left:0;margin-top:.75rem;width:100%}}.dps-alert-message{flex:1 1 0%;font-family:ServiceNowSans-Light}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{left:50%;max-width:100%;overflow:hidden;position:absolute;transform:translateX(-50%);width:100%;z-index:-1}.background-arch{fill:var(--dps-theme-highlight-light-4);min-width:90rem;width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:inline-block;height:1.125rem}.dps-badge{background-color:#def3ef;border-radius:1.5rem;color:#1d1d1d;font-family:var(--dps-badge-font-family,\\\"ServiceNowSans-Light\\\");font-size:.75rem;letter-spacing:.1em;padding:.25rem .5rem;text-decoration:none;text-transform:uppercase}.dps-badge:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-badge:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-badge:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-badge.secondary{background-color:var(--dps-badge-secondary-background-color,#e8e8e9);color:var(--dps-badge-secondary-color,inherit)}.dps-badge.secondary.-size-sm{border-radius:1.5rem;font-size:8px;height:1.125rem;line-height:1.125rem;padding:.25rem .5rem;vertical-align:top}.dps-badge.tertiary{background-color:#dadbdc}.dps-badge.acapulco{background-color:#bddcf2;color:#1d1d1d}.dps-badge.-lowercase{text-transform:lowercase}.dps-badge.-font-Lato{color:#151920;font-family:Lato,sans-serif}.dps-badge.-category{border-radius:.75rem;color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:.75rem;letter-spacing:normal;text-transform:none}.dps-badge.-category.-size-lg{text-transform:uppercase}.dps-badge.servicenow{align-items:center;background-color:#63df4e;border-radius:1.5rem;color:var(--dps-icon-color,#474d52);display:flex;gap:.1875rem;height:1.0625rem;letter-spacing:0;min-height:1rem;overflow:hidden;padding:0;padding:0 .125rem;position:relative;text-transform:none}.dps-badge.servicenow:focus{outline:none}.dps-badge.servicenow.-collapsed .dps-badge-label{transform:translateX(-100%)}.dps-badge.servicenow.-collapsed .dps-badge-label span{opacity:0}.dps-badge.servicenow.-collapsed.-collapsible:hover .dps-badge-label{transform:translateX(0)}.dps-badge.servicenow.-collapsed.-collapsible:hover .dps-badge-label span{opacity:1;transition-delay:.2s}.dps-badge.servicenow .dps-badge-icon{align-items:center;border-radius:.75rem;display:flex;height:1.5rem;justify-content:center;min-width:1.5rem;width:1.5rem;z-index:1}.dps-badge.servicenow.-size-sm{height:1.125rem;width:1.6875rem}.dps-badge.servicenow.-size-sm .dps-badge-icon{height:1.125rem;min-width:1.6875rem;width:1.6875rem}.dps-badge.servicenow .dps-badge-label{background-color:#63df4e;border-radius:.75rem;color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:.75rem;margin-left:-1.5rem;padding-left:1.5rem;padding-right:.5rem;transition:transform .2s;z-index:0}.dps-badge.servicenow .dps-badge-label span{transition:opacity .3s}.dps-badge.-bare,.dps-badge.-bare .dps-badge-icon{background-color:transparent}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-banner-container{background:#474d52;padding-left:1.5rem;padding-right:1.5rem}.dps-banner-container dps-banner{display:block;margin:0 auto;max-width:780px;width:auto}@media screen and (max-width:1199.98px){.dps-banner-container{padding-left:1.5rem;padding-right:1.5rem}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-banner{align-items:center;background:#474d52;color:#fff;display:flex;font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;min-height:4.25rem;padding:1rem 1.5rem}.dps-banner.-full-width{padding:1rem 0}.dps-banner now-icon{padding-right:1rem}.dps-banner slot[name=description]::slotted(*){margin:0;padding:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-button{align-items:center;border:none;color:inherit;cursor:pointer;display:inline-flex;font-family:ServiceNowSans-Book;font-size:1rem;font-weight:400;justify-content:center;letter-spacing:.01em;line-height:1.1;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),border .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:nowrap;width:inherit}.dps-button:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-button:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:active{color:currentColor}.dps-button.is-disabled,.dps-button:disabled{cursor:not-allowed}.dps-button.-primary{background:var(--dps-button-primary-bg,#62d84e);border:2px solid var(--dps-button-primary-border-color,#62d84e);border-radius:.5rem;color:#1d1d1d;font-family:ServiceNowSans-Book}.dps-button.-primary:hover{background:#62d84e;border-color:var(--dps-button-primary-hover-border-color,#62d84e);color:var(--dps-button-primary-hover-color,#1d1d1d)}.dps-button.-primary.is-disabled,.dps-button.-primary:disabled{background:#b9bbbd}.dps-button.-primary svg{fill:#fff}.dps-button.-primary-inverse{background:#62d84e;border:2px solid #62d84e;border-radius:.5rem;color:#000;font-family:ServiceNowSans-Book}.dps-button.-primary-inverse:hover{background:#fff}.dps-button.-primary-inverse.is-disabled,.dps-button.-primary-inverse:disabled{background:#8a8e91}.dps-button.-primary-inverse svg{fill:#62d84e}.dps-button.-secondary{background:var(--dps-button-secondary-bg,#fff);border:var(--dps-button-secondary-border-width,2px) solid var(--dps-button-secondary-border-color,#62d84e);border-radius:.5rem;color:var(--dps-button-secondary-color,#1d1d1d);font-family:ServiceNowSans-Book;font-size:1rem}.dps-button.-secondary:hover{background:var(--dps-button-secondary-hover-bg,#62d84e);border-color:var(--dps-button-secondary-hover-border-color,#62d84e);box-shadow:var(--dps-button-secondar-hover-box-shadow);color:var(--dps-button-secondary-hover-color,#000)}.dps-button.-secondary:hover svg{fill:#fff}.dps-button.-secondary.is-bare{color:#032d42;font-family:ServiceNowSans-Book;font-size:1rem;line-height:normal}.dps-button.-secondary.is-disabled,.dps-button.-secondary:disabled{background:transparent;border-color:#b9bbbd;color:#b9bbbd}.dps-button.-secondary svg{fill:#1d1d1d}.dps-button.-secondary-inverse{background:#fff;border:2px solid #62d84e;border-radius:.5rem}.dps-button.-secondary-inverse:hover{background:#62d84e;border-color:#62d84e}.dps-button.-secondary-inverse:hover svg{fill:#62d84e}.dps-button.-secondary-inverse.is-disabled,.dps-button.-secondary-inverse:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-secondary-inverse svg{fill:#d0d2d3}.dps-button.-round{background:#01778e;border-radius:1.5rem;color:#fff;height:2.625rem;min-width:12.1875rem}.dps-button.-round.is-disabled,.dps-button.-round:disabled{background:transparent;border:1px solid #b9bbbd;color:#b9bbbd}.dps-button.-secondary-light{background:transparent;border:2px solid #fff;color:#fff}.dps-button.-secondary-light:hover{background:#fff;border-color:#fff;color:#293e40}.dps-button.-secondary-light.is-disabled,.dps-button.-secondary-light:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-destructive{background:#ca5b57;color:#fff}.dps-button.-destructive:hover{background:#fc726d}.dps-button.-destructive.is-disabled,.dps-button.-destructive:disabled{background:#fdaaa7}.dps-button.-sm{color:#000;font-family:ServiceNowSans-Book;font-size:1rem;gap:.125rem;height:auto;min-height:2rem;padding:.375rem 1rem}.dps-button.-sm.only-icon{padding:0;width:2rem}.dps-button.-sm.has-button-and-icon now-icon{width:2rem}.dps-button.-md{height:2.625rem;padding:0 1.5rem}.dps-button.-md.only-icon{padding:0;width:2.625rem}.dps-button.-md.has-button-and-icon now-icon{width:2.625rem}.dps-button.-lg{height:3.125rem;padding:0 2rem}.dps-button.-lg.only-icon{padding:0;width:3.125rem}.dps-button.-lg.has-button-and-icon now-icon{width:3.125rem}.dps-button.is-bare{background:transparent;border:none;color:#546566}.dps-button.is-bare:hover{background:transparent;border:none;color:#293e40}.dps-button.is-bare:hover svg{fill:#293e40}.dps-button.is-bare svg{fill:#546566}.dps-button.has-action now-icon{transition:transform .3s cubic-bezier(.075,.82,.165,1)}.dps-button.has-action:hover now-icon{transform:translateX(.125rem)}.dps-button.has-action:hover.-external-action now-icon{transform:translateX(1px) translateY(-1px)}.dps-button.is-white{color:#fff}.dps-button.-round-edge{border-radius:.5rem;height:auto;padding:.5rem 1rem}.dps-button-label+now-icon,.dps-button-label+svg{margin-left:.5rem}.dps-button-label+svg.-sm{height:.75rem;width:.75rem}.dps-button-label+svg.-md{height:1rem;width:1rem}.dps-button-label+svg.-lg{height:1.5rem;width:1.5rem}.dps-button-label+svg.-xl{height:2rem;width:2rem}.dps-button{width:2rem}.dps-button.-is-light-version{color:#d4d8d9}.dps-button.-is-light-version:hover{color:#fff}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{align-items:center;background:#fcfcfc;display:flex;font-family:ServiceNowSans-Regular;line-height:1;width:100%}.dps-breadcrumb{color:#00718f;font-family:ServiceNowSans-Regular;font-size:1rem;margin:0 auto;max-width:90rem;padding:1rem 2.5rem;position:relative;width:100%}@media screen and (max-width:767.98px){.dps-breadcrumb{padding:.5rem 1rem}}.dps-breadcrumb-current-page,.dps-breadcrumb-display,.dps-breadcrumb-separator{align-items:center;display:inline-flex;position:relative}.dps-breadcrumb-current-page{color:#1d1d1d;font-family:ServiceNowSans-Book}@media screen and (max-width:767.98px){.dps-breadcrumb-current-page{display:none}}.dps-breadcrumb-display{font-family:ServiceNowSans-Regular}@media screen and (max-width:767.98px){.dps-breadcrumb-display{display:none;flex-direction:row-reverse;font-size:.8125rem}.dps-breadcrumb-display:last-of-type{display:inline-flex}}.dps-breadcrumb-separator{color:#8a8e91;margin:0 .5rem}@media screen and (max-width:767.98px){.dps-breadcrumb-separator{margin-left:0;transform:rotate(180deg)}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".dps-button{align-items:center;border:none;color:inherit;cursor:pointer;display:inline-flex;font-family:ServiceNowSans-Book;font-size:1rem;font-weight:400;justify-content:center;letter-spacing:.01em;line-height:1.1;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),border .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:nowrap;width:inherit}.dps-button:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-button:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:active{color:currentColor}.dps-button.is-disabled,.dps-button:disabled{cursor:not-allowed}.dps-button.-primary{background:var(--dps-button-primary-bg,#62d84e);border:2px solid var(--dps-button-primary-border-color,#62d84e);border-radius:.5rem;color:#1d1d1d;font-family:ServiceNowSans-Book}.dps-button.-primary:hover{background:#62d84e;border-color:var(--dps-button-primary-hover-border-color,#62d84e);color:var(--dps-button-primary-hover-color,#1d1d1d)}.dps-button.-primary.is-disabled,.dps-button.-primary:disabled{background:#b9bbbd}.dps-button.-primary svg{fill:#fff}.dps-button.-primary-inverse{background:#62d84e;border:2px solid #62d84e;border-radius:.5rem;color:#000;font-family:ServiceNowSans-Book}.dps-button.-primary-inverse:hover{background:#fff}.dps-button.-primary-inverse.is-disabled,.dps-button.-primary-inverse:disabled{background:#8a8e91}.dps-button.-primary-inverse svg{fill:#62d84e}.dps-button.-secondary{background:var(--dps-button-secondary-bg,#fff);border:var(--dps-button-secondary-border-width,2px) solid var(--dps-button-secondary-border-color,#62d84e);border-radius:.5rem;color:var(--dps-button-secondary-color,#1d1d1d);font-family:ServiceNowSans-Book;font-size:1rem}.dps-button.-secondary:hover{background:var(--dps-button-secondary-hover-bg,#62d84e);border-color:var(--dps-button-secondary-hover-border-color,#62d84e);box-shadow:var(--dps-button-secondar-hover-box-shadow);color:var(--dps-button-secondary-hover-color,#000)}.dps-button.-secondary:hover svg{fill:#fff}.dps-button.-secondary.is-bare{color:#032d42;font-family:ServiceNowSans-Book;font-size:1rem;line-height:normal}.dps-button.-secondary.is-disabled,.dps-button.-secondary:disabled{background:transparent;border-color:#b9bbbd;color:#b9bbbd}.dps-button.-secondary svg{fill:#1d1d1d}.dps-button.-secondary-inverse{background:#fff;border:2px solid #62d84e;border-radius:.5rem}.dps-button.-secondary-inverse:hover{background:#62d84e;border-color:#62d84e}.dps-button.-secondary-inverse:hover svg{fill:#62d84e}.dps-button.-secondary-inverse.is-disabled,.dps-button.-secondary-inverse:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-secondary-inverse svg{fill:#d0d2d3}.dps-button.-round{background:#01778e;border-radius:1.5rem;color:#fff;height:2.625rem;min-width:12.1875rem}.dps-button.-round.is-disabled,.dps-button.-round:disabled{background:transparent;border:1px solid #b9bbbd;color:#b9bbbd}.dps-button.-secondary-light{background:transparent;border:2px solid #fff;color:#fff}.dps-button.-secondary-light:hover{background:#fff;border-color:#fff;color:#293e40}.dps-button.-secondary-light.is-disabled,.dps-button.-secondary-light:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-destructive{background:#ca5b57;color:#fff}.dps-button.-destructive:hover{background:#fc726d}.dps-button.-destructive.is-disabled,.dps-button.-destructive:disabled{background:#fdaaa7}.dps-button.-sm{color:#000;font-family:ServiceNowSans-Book;font-size:1rem;gap:.125rem;height:auto;min-height:2rem;padding:.375rem 1rem}.dps-button.-sm.only-icon{padding:0;width:2rem}.dps-button.-sm.has-button-and-icon now-icon{width:2rem}.dps-button.-md{height:2.625rem;padding:0 1.5rem}.dps-button.-md.only-icon{padding:0;width:2.625rem}.dps-button.-md.has-button-and-icon now-icon{width:2.625rem}.dps-button.-lg{height:3.125rem;padding:0 2rem}.dps-button.-lg.only-icon{padding:0;width:3.125rem}.dps-button.-lg.has-button-and-icon now-icon{width:3.125rem}.dps-button.is-bare{background:transparent;border:none;color:#546566}.dps-button.is-bare:hover{background:transparent;border:none;color:#293e40}.dps-button.is-bare:hover svg{fill:#293e40}.dps-button.is-bare svg{fill:#546566}.dps-button.has-action now-icon{transition:transform .3s cubic-bezier(.075,.82,.165,1)}.dps-button.has-action:hover now-icon{transform:translateX(.125rem)}.dps-button.has-action:hover.-external-action now-icon{transform:translateX(1px) translateY(-1px)}.dps-button.is-white{color:#fff}.dps-button.-round-edge{border-radius:.5rem;height:auto;padding:.5rem 1rem}.dps-button-label+now-icon,.dps-button-label+svg{margin-left:.5rem}.dps-button-label+svg.-sm{height:.75rem;width:.75rem}.dps-button-label+svg.-md{height:1rem;width:1rem}.dps-button-label+svg.-lg{height:1.5rem;width:1.5rem}.dps-button-label+svg.-xl{height:2rem;width:2rem}sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-link,a:not(.dps-button){-webkit-text-decoration-skip:ink;background:none;border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.03125rem;margin:-.125rem;padding:.125rem;position:relative;-webkit-text-decoration-line:underline;text-decoration-line:underline;text-decoration-skip-ink:auto;-webkit-text-decoration-style:solid;text-decoration-style:solid;text-decoration:none;text-decoration-thickness:auto;white-space:normal}.dps-link:focus,a:not(.dps-button):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-link:focus:not(:focus-visible),a:not(.dps-button):focus:not(:focus-visible){box-shadow:none;outline:none}.dps-link:focus-visible,a:not(.dps-button):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-link>span,a:not(.dps-button)>span{background:linear-gradient(#00718f,#00718f) bottom repeat-x;background-size:0 0;border-bottom:none;box-shadow:none;color:inherit;padding:0 .125rem;position:relative;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1),border-bottom .3s cubic-bezier(.075,.82,.165,1)}.dps-link>span.none,a:not(.dps-button)>span.none{background:none;box-shadow:none;transition:none}.dps-link:hover,a:not(.dps-button):hover{color:#024f69}.dps-link:hover>span,a:not(.dps-button):hover>span{background-size:0 0;border-bottom:1px solid #024f69;box-shadow:none}.dps-link:hover>span.none,a:not(.dps-button):hover>span.none{background:none;box-shadow:none;color:none;transition:none}.dps-link:active,a:not(.dps-button):active{color:#032d42}.dps-link:active>span,a:not(.dps-button):active>span{background-size:0 0;border-bottom:1px solid #032d42;box-shadow:none}.dps-link.has-action now-icon,a:not(.dps-button).has-action now-icon{transition:transform .3s cubic-bezier(.075,.82,.165,1)}.dps-link.has-action:hover now-icon,a:not(.dps-button).has-action:hover now-icon{transform:translateX(.125rem)}.dps-link.has-action:hover.-external-action now-icon,a:not(.dps-button).has-action:hover.-external-action now-icon{transform:translateX(1px) translateY(-1px)}.dps-link.is-disabled,a:not(.dps-button).is-disabled{color:#c3c3c3;cursor:not-allowed;opacity:.5}.dps-link.is-disabled:hover>span,.dps-link.is-disabled>span,a:not(.dps-button).is-disabled:hover>span,a:not(.dps-button).is-disabled>span{border-bottom:1px solid #c3c3c3;box-shadow:inset 0 -1px 0 0 #c3c3c3;color:#c3c3c3}.dps-link.is-disabled:hover>span,a:not(.dps-button).is-disabled:hover>span{background-size:0 0}.dps-link.is-warning,a:not(.dps-button).is-warning{color:#652e2c}.dps-link.is-warning>span,a:not(.dps-button).is-warning>span{box-shadow:inset 0 -1px 0 0 #fc726d}.dps-link.is-warning:active>span,.dps-link.is-warning:hover>span,a:not(.dps-button).is-warning:active>span,a:not(.dps-button).is-warning:hover>span{background:linear-gradient(#fdaaa7,#fdaaa7) bottom repeat-x;box-shadow:none}.dps-link.is-warning-light,a:not(.dps-button).is-warning-light{color:#663a1f}.dps-link.is-warning-light>span,a:not(.dps-button).is-warning-light>span{box-shadow:inset 0 -1px 0 0 #ffa871}.dps-link.is-warning-light:active>span,.dps-link.is-warning-light:hover>span,a:not(.dps-button).is-warning-light:active>span,a:not(.dps-button).is-warning-light:hover>span{background:linear-gradient(#ffbe95,#ffbe95) bottom repeat-x;box-shadow:none}.dps-link.-inline,a:not(.dps-button).-inline{display:inline}.dps-link span+now-icon,a:not(.dps-button) span+now-icon{margin-left:.125rem}:host{display:inline-block}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-callout{background-color:#e1ecef;display:flex;padding:1rem 1.5rem}@media screen and (max-width:575.98px){.dps-callout{flex-wrap:wrap}}.dps-callout now-button{--now-button--secondary--border-color:#1d1d1d;--now-button--secondary--color:#1d1d1d;--now-button--secondary--background-color:255,255,255,0.5;--now-button--secondary--background-color--hover:255,255,255,0.5;--now-button--secondary--background-color-alpha--hover:1;--now-button--secondary--border-color--hover:#1d1d1d;--now-button--secondary--color--hover:#1d1d1d}.dps-callout.-callout-blue{background-color:#e1ecef;border-radius:3px}.dps-callout.-callout-green{background-color:#cddfbd;border:1px solid #85b25f;border-radius:.5rem;color:#1d1d1d;padding:.5rem}.dps-callout__content{align-items:center;display:flex;flex:1;justify-content:space-between}@media screen and (max-width:575.98px){.dps-callout__content{flex-wrap:wrap}}.dps-callout__icon{flex-shrink:0;margin-right:1rem}@media screen and (max-width:575.98px){.dps-callout__icon{flex:0 0 15%;margin-right:0}}.dps-callout__text{flex:1;font-size:1rem;line-height:1.5}@media screen and (max-width:575.98px){.dps-callout__text{width:70%}}.dps-callout__button{flex-shrink:0;margin-top:.25rem;text-align:right}@media screen and (max-width:575.98px){.dps-callout__button{margin-left:15%;margin-top:1rem}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/highlight.js/styles/agate.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}code.hljs{padding:1rem}aside,b,dd,div,dl,dt,em,i,li,ol,p,strong,ul{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;line-height:1.5rem}aside,dd,div,dl,dt,li,ol,p,ul{font-weight:400}a em{color:#00718f}strong,strong em{font-family:ServiceNowSans-Medium;font-weight:500}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem;line-height:1.1;line-height:1.3125rem;margin:2rem 0}h1,h2{color:#1d1d1d;font-size:1.75rem;font-weight:400;font-weight:500}h2{font-family:ServiceNowSans-Regular;font-family:ServiceNowSans-Medium;font-size:1.5rem;line-height:1.1;line-height:2.25rem;margin-bottom:.75rem 0}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400;margin-bottom:.5rem 0}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400;margin-bottom:.5rem 0}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal}blockquote,code,img,ol,p,pre,ul{margin:.75rem 0}img{max-width:100%}pre{margin-bottom:1.5rem;margin-top:.75rem}div+h1,div+h2,div+h3,div+h4,div+h5,div+h6,img+h1,img+h2,img+h3,img+h4,img+h5,img+h6,p+h1,p+h2,p+h3,p+h4,p+h5,p+h6,ul+h1,ul+h2,ul+h3,ul+h4,ul+h5,ul+h6{margin-top:2rem}b,strong{font-weight:500}b,code,strong{letter-spacing:.02em}code{background-color:#e8e8e9;border:1px solid #d0d2d3;border-radius:.25rem;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5}code b,code strong{font-weight:500}pre code{background-color:transparent;border:none;border-radius:0}.sm,small{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}.sm code,small code{font-size:80%}.lg,.xl{font-family:ServiceNowSans-Regular;font-size:1.3125rem;font-weight:400;line-height:1.5}.lg code,.xl code{font-size:80%}.xl{font-size:1.5rem;line-height:1.5}.dps-caption,.dps-label{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}a:not(.dps-link):not(.dps-button):not(.dps-card-click){border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal;margin:-.125rem;padding:0 .125rem;position:relative;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:normal}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus:not(:focus-visible){box-shadow:none;outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):hover{color:#024f69;text-decoration:underline;-webkit-text-decoration-color:#024f69;text-decoration-color:#024f69}a:not(.dps-link):not(.dps-button):not(.dps-card-click):active{color:#032d42;text-decoration:underline;-webkit-text-decoration-color:#032d42;text-decoration-color:#032d42}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}.do-dont-images{column-gap:1rem;display:grid;grid-auto-flow:column;grid-template-rows:1fr auto}@media screen and (max-width:767.98px){.do-dont-images{display:block}}.do-dont-images figcaption,.do-dont-images figure{margin:0;padding:0}.do-dont-images img{margin:0;max-width:100%;padding:0}.do-dont-images figure{background-color:#f7f7f7;border-top:5px solid;margin-top:2rem;padding:1rem;position:relative}.do-dont-images figcaption{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;font-style:italic;line-height:1.5;margin-bottom:0;margin-left:0;margin-right:0;margin-top:.5rem;max-width:100%;text-align:left}.do-dont-images .img-do h5,.do-dont-images .img-dont h5{font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;left:0;line-height:1.75;margin:0;padding:0;position:absolute;top:-2rem}.do-dont-images .img-dont{border-color:#fc726d}.do-dont-images .img-dont h5{color:#fc726d}.do-dont-images .img-do{border-color:#5cc4af}.do-dont-images .img-do h5{color:#5cc4af}:host{display:block;margin-bottom:2rem}:host>div>.cards{grid-column-gap:1rem;grid-row-gap:2rem;display:grid}@media(max-width:768px){:host>div>.cards{display:block}::slotted(dps-card){margin-bottom:1rem}::slotted(dps-share-project-card){margin-bottom:1rem}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-card{background-color:var(--dps-card-background-color,#fff);border:var(--dps-card-border,1px solid #d0d2d3);border-radius:var(--dps-card-border-radius,.25rem);box-shadow:var(--dps-card-box-shadow,0 17px 18px -20px rgba(0,0,0,.15));color:#1d1d1d;display:block;height:100%;padding:var(--dps-card-padding,1.5rem);position:relative}.dps-card-meta{position:absolute;right:1.5rem;top:1.5rem}.dps-card.-has-border-top{border-top:7px solid #d0d2d3}.dps-card.-border-variant-primary{background-color:#63df4e;border-top-color:#63df4e}.dps-card.-border-variant-secondary{border-top-color:#474d52}.dps-card-inner{background-color:var(--dps-card-inner-background-color);border:var(--dps-card-inner-border);border-radius:var(--dps-card-inner-border-radius);height:var(--dps-card-inner-height);padding:var(--dps-card-inner-padding);position:var(--dps-card-inner-position)}.dps-card dps-content-stack{clear:left;height:100%}.dps-card slot{display:block}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-category-section{display:grid;grid-template-areas:\\\"heading\\\" \\\"components\\\";margin-bottom:2.5rem}@media(max-width:767.98px){.dps-category-section{margin:2rem auto 0}}.dps-category-section-heading{display:flex;flex-direction:column;grid-area:heading;-ms-grid-column:1;-ms-grid-row:1;margin-bottom:.75rem}@media(max-width:767.98px){.dps-category-section-heading{margin-bottom:0}}.dps-category-section-heading h2{font-family:ServiceNowSans-Regular;font-size:1.75rem;font-weight:400;line-height:1.1;margin:0}@media(max-width:991.98px){.dps-category-section-heading h2{font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5}}@media(max-width:767.98px){.dps-category-section-heading h2{font-family:ServiceNowSans-Regular;font-size:1rem;font-weight:400;line-height:1.75}}.dps-category-section-heading p{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;margin:0}@media(max-width:767.98px){.dps-category-section-heading{align-items:flex-start;flex-direction:column;justify-content:flex-start}.dps-category-section-heading p{margin-bottom:.5rem}}.dps-category-section-heading-container{align-items:center;display:flex;margin-bottom:.25rem}.dps-category-section-components{grid-gap:1rem;display:grid;grid-area:components;-ms-grid-column:1;-ms-grid-row:2;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0}@media(max-width:1439.98px){.dps-category-section-components{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1199.98px){.dps-category-section-components{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767.98px){.dps-category-section-components{grid-template-columns:repeat(1,minmax(0,1fr));margin-top:1.5rem}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-checkbox{display:block;margin:0 0 .5rem;position:relative}.dps-checkbox>input[type=checkbox]{cursor:pointer;opacity:0;position:absolute;width:100%;z-index:1}.dps-checkbox>input[type=checkbox]:checked+label:before{background:#293e40;border-color:#293e40}.dps-checkbox>input[type=checkbox]:checked+label:after{border:solid #fff;border-width:0 2px 2px 0;content:\\\"\\\";display:block;height:.625rem;left:.375rem;position:absolute;top:.1875rem;transform:rotate(45deg);width:.3125rem}.dps-checkbox>input[type=checkbox]:focus+label:before{box-shadow:0 0 0 2px #fff,0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-checkbox>label{align-items:center;color:#000;cursor:pointer;display:flex;font-family:ServiceNowSans-Light;font-size:1rem;gap:.5rem;line-height:normal;padding-left:1.5rem;position:relative;white-space:nowrap}.dps-checkbox>label .secondary-text{color:#6e7274}.dps-checkbox>label:before{background-color:#fff;border:1px solid #b3b3b3;border-radius:.25rem;content:\\\"\\\";cursor:pointer;display:block;flex-shrink:0;height:1rem;left:0;position:absolute;top:50%;transform:translateY(-50%);width:1rem}:host{display:block}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/highlight.js/styles/agate.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}code.hljs{padding:1rem}:host{display:block;margin-bottom:1rem}pre{height:100%}code{white-space:pre-wrap}.dps-code-block{position:relative}.dps-code-block .copy-code{align-items:center;background-color:transparent;border:0;cursor:pointer;display:flex;height:2.5rem;line-height:40px;margin:0;padding:0;position:absolute;right:0;text-align:center;top:0;width:2.5rem}.dps-code-block .copy-code:active,.dps-code-block .copy-code:focus{border:0;outline:0}.dps-code-block .copy-code img{display:inline-block;margin:0 auto}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-code-switcher{margin-bottom:2.5rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-module-card{border:1px solid #e8e8e9;border-radius:0;box-shadow:0 1.0625rem 1.125rem -1.25rem hsla(0,0%,100%,.09);font-family:ServiceNowSans-Light;width:100%}.dps-module-card .dps-module-card-content{margin:1.5rem}.dps-module-card .dps-module-card-content .module-details{display:flex}.dps-module-card .dps-module-card-content .module-details .module-detail-content{width:100%}.dps-module-card .dps-module-card-content .module-details .module-detail-content .module-heading{-webkit-margin-before:0;-webkit-margin-after:0;color:#1d1d1d;font-family:ServiceNowSans-Medium;font-size:1.5rem;font-weight:500;letter-spacing:0;line-height:1.1;margin-block-end:0;margin-block-start:0;padding-bottom:.625rem}.dps-module-card .dps-module-card-content .module-details .module-detail-content .module-description{-webkit-margin-after:0;-webkit-margin-before:0;color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:0;line-height:1.5;margin-block-end:0;margin-block-start:0;padding-bottom:1.5rem}.dps-module-card .dps-module-card-content .module-details .progress-circle-wrapper.show-progress{position:relative;width:5rem}.dps-module-card .dps-module-card-content .module-details .progress-circle-wrapper.show-progress dps-progress-circle{position:absolute;right:0;top:0}.dps-module-card .dps-module-card-content .module-details .progress-circle-wrapper.hide-progress{display:none}.dps-module-card .dps-module-card-content .lessons-list-wrap{height:0;overflow:hidden;transition:height .05s cubic-bezier(.42,1,.58,1)}.dps-module-card .dps-module-card-content .lessons-list-inner{overflow:hidden}.dps-module-card .dps-module-card-content .lessons-list{display:block;margin-top:1.3125rem;padding-right:12px}.dps-module-card .dps-module-card-content .lessons-list .horizontal-divider{background:#e8e8e9;border-radius:0;height:.125rem;opacity:0;transition:opacity .1s cubic-bezier(.42,1,.58,1);width:100%}.dps-module-card .dps-module-card-content .lessons-list .list-wrap{-webkit-margin-before:0;-webkit-margin-after:0;margin-block-end:0;margin-block-start:0;opacity:0;padding-top:1.5rem;transform:translateY(-5rem);transition:opacity .1s cubic-bezier(.42,1,.58,1),transform .1s cubic-bezier(.42,1,.58,1)}.dps-module-card .dps-module-card-content .lessons-list .list-wrap .list-heading{color:#000;font-family:ServiceNowSans-Medium;font-size:1.5rem;font-weight:500}.dps-module-card .dps-module-card-content .lessons-list .list-wrap .list-content{-webkit-margin-before:0;-webkit-margin-after:0;-webkit-padding-start:0;list-style-type:none;margin-block-end:0;margin-block-start:0;margin-top:1.5rem;padding-inline-start:0}.dps-module-card .dps-module-card-content .lessons-list .list-wrap .list-content li{color:#007393;display:flex;font-family:ServiceNowSans-Light;font-size:1rem;margin-bottom:.5rem}.dps-module-card .dps-module-card-content .lessons-list .list-wrap .list-content li.is-read{color:#8a8e91}.dps-module-card .dps-module-card-content .lessons-list .list-wrap .list-content li .list-icon-wrap{align-items:center;display:flex;margin-right:.65625rem}.dps-module-card .dps-module-card-content .lessons-list .list-wrap .list-content li .list-item-text{display:inline-block}.dps-module-card .dps-module-card-content .lessons-list.list-open .list-wrap{opacity:1;transform:translate(0);transition:opacity .1s cubic-bezier(.42,1,.58,1) .05s,transform .1s cubic-bezier(.42,1,.58,1) .05s}.dps-module-card .dps-module-card-content .lessons-list.list-open .horizontal-divider{opacity:1;transition:opacity .1s cubic-bezier(.42,1,.58,1) .1s}.dps-module-card .module-expand-collapser{background:#f7f7f7;border-radius:0;height:3.6875rem;text-align:center}.dps-module-card .module-expand-collapser .hide-show-text{-webkit-margin-before:0;-webkit-margin-after:0;color:#007393;cursor:pointer;font-family:ServiceNowSans-Light;font-size:.9375rem;margin-block-end:0;margin-block-start:0;padding:1.125rem 0}.dps-module-card .module-expand-collapser .hide-show-text .display-text{padding-right:.1875rem}.dps-module-card .module-expand-collapser .hide-show-text .num-of-lessons{letter-spacing:.02em;padding-right:.4375rem}.dps-module-card .module-expand-collapser .hide-show-text now-icon{color:#1d1d1d}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/highlight.js/styles/agate.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}code.hljs{padding:1rem}aside,b,dd,div,dl,dt,em,i,li,ol,p,strong,ul{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;line-height:1.5rem}aside,dd,div,dl,dt,li,ol,p,ul{font-weight:400}a em{color:#00718f}strong,strong em{font-family:ServiceNowSans-Medium;font-weight:500}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem;line-height:1.1;line-height:1.3125rem;margin:2rem 0}h1,h2{color:#1d1d1d;font-size:1.75rem;font-weight:400;font-weight:500}h2{font-family:ServiceNowSans-Regular;font-family:ServiceNowSans-Medium;font-size:1.5rem;line-height:1.1;line-height:2.25rem;margin-bottom:.75rem 0}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400;margin-bottom:.5rem 0}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400;margin-bottom:.5rem 0}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal}blockquote,code,img,ol,p,pre,ul{margin:.75rem 0}img{max-width:100%}pre{margin-bottom:1.5rem;margin-top:.75rem}div+h1,div+h2,div+h3,div+h4,div+h5,div+h6,img+h1,img+h2,img+h3,img+h4,img+h5,img+h6,p+h1,p+h2,p+h3,p+h4,p+h5,p+h6,ul+h1,ul+h2,ul+h3,ul+h4,ul+h5,ul+h6{margin-top:2rem}b,strong{font-weight:500}b,code,strong{letter-spacing:.02em}code{background-color:#e8e8e9;border:1px solid #d0d2d3;border-radius:.25rem;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5}code b,code strong{font-weight:500}pre code{background-color:transparent;border:none;border-radius:0}.sm,small{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}.sm code,small code{font-size:80%}.lg,.xl{font-family:ServiceNowSans-Regular;font-size:1.3125rem;font-weight:400;line-height:1.5}.lg code,.xl code{font-size:80%}.xl{font-size:1.5rem;line-height:1.5}.dps-caption,.dps-label{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}a:not(.dps-link):not(.dps-button):not(.dps-card-click){border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal;margin:-.125rem;padding:0 .125rem;position:relative;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:normal}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus:not(:focus-visible){box-shadow:none;outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):hover{color:#024f69;text-decoration:underline;-webkit-text-decoration-color:#024f69;text-decoration-color:#024f69}a:not(.dps-link):not(.dps-button):not(.dps-card-click):active{color:#032d42;text-decoration:underline;-webkit-text-decoration-color:#032d42;text-decoration-color:#032d42}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}.do-dont-images{column-gap:1rem;display:grid;grid-auto-flow:column;grid-template-rows:1fr auto}@media screen and (max-width:767.98px){.do-dont-images{display:block}}.do-dont-images figcaption,.do-dont-images figure{margin:0;padding:0}.do-dont-images img{margin:0;max-width:100%;padding:0}.do-dont-images figure{background-color:#f7f7f7;border-top:5px solid;margin-top:2rem;padding:1rem;position:relative}.do-dont-images figcaption{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;font-style:italic;line-height:1.5;margin-bottom:0;margin-left:0;margin-right:0;margin-top:.5rem;max-width:100%;text-align:left}.do-dont-images .img-do h5,.do-dont-images .img-dont h5{font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;left:0;line-height:1.75;margin:0;padding:0;position:absolute;top:-2rem}.do-dont-images .img-dont{border-color:#fc726d}.do-dont-images .img-dont h5{color:#fc726d}.do-dont-images .img-do{border-color:#5cc4af}.do-dont-images .img-do h5{color:#5cc4af}:host{display:block;flex:1}:host>div{background:#f7f7f7;height:100%}.dps-component-detail-title{color:#1d1d1d;font-family:ServiceNowSans-Medium;font-size:2.375rem;font-size:2rem;font-weight:500;grid-column:1/4;letter-spacing:-.02rem;line-height:1.1;line-height:2.5rem;margin:0;text-align:justify}.dps-component-summary{gap:.625rem;margin:0}.component-type,.dps-component-summary{color:#1d1d1d;font-family:ServiceNowSansMono-Regular;font-size:.875rem;line-height:1.625rem;margin-bottom:.25rem}.component-type{letter-spacing:normal;margin-top:1.5rem;text-transform:uppercase}.dps-component-detail-title-menu{align-items:center;display:flex;margin-bottom:.625rem}.header-text-wrapper{gap:.625rem}.header-text-wrapper.-is-single-column{padding-right:20.5rem}@media(max-width:1199.98px){.header-text-wrapper.-is-single-column{padding-right:0}}.dps-component-detail-bookmark{display:inline;left:.5em;position:relative;vertical-align:top}.dps-component-detail-description{margin:0 0 1.5rem}.dps-component-detail-description aside,.dps-component-detail-description b,.dps-component-detail-description dd,.dps-component-detail-description div,.dps-component-detail-description dl,.dps-component-detail-description dt,.dps-component-detail-description em,.dps-component-detail-description i,.dps-component-detail-description li,.dps-component-detail-description ol,.dps-component-detail-description p,.dps-component-detail-description strong,.dps-component-detail-description ul{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.625rem}.dps-component-detail-description p{font-family:ServiceNowSans-Light;margin-top:.625rem}.dps-component-detail-description code{color:#293e40}.dps-component-detail-inline-selector{grid-column:1/4;margin-bottom:1.5rem}.dps-component-container{background:#f7f7f7;color:#1d1d1d;margin-left:3.75rem;padding:1.5rem 1rem .625rem 1rem;position:relative;width:auto}.dps-component-container:after{background-color:#e8e8e9;bottom:1.4375rem;content:\\\"\\\";position:absolute;right:0;top:1.4375rem;width:1.5px}.dps-component-container.-nav{margin:2.5rem auto auto;max-width:100%}.dps-component-container.-nav>h1{margin:0 auto 1rem;width:auto}.dps-component-container-divider{background:#e8e8e9;height:1px;width:100%}@media screen and (max-width:991.98px){.dps-component-container-divider{display:none}}.dps-component-container>dps-badge{margin-bottom:1rem}.dps-component-container>h1{font-size:2.375rem;line-height:1.1;margin-bottom:0}.dps-component-container h2{font-family:ServiceNowSans-Regular;font-size:1.75rem;line-height:1.1;margin:0 0 1.5rem}@media(max-width:991.98px){.dps-component-container{margin:0 .25rem;width:auto}}.dps-component-detail-meta{background-color:#f7f7f7;border:1px solid #e8e8e9;border-radius:.125rem;padding:1.5rem}.dps-component-detail-meta h2{margin-top:.75rem}.dps-component-detail-meta .dps-component-detail-meta-wrapper{column-gap:1.5rem;display:grid;grid-template-columns:1fr minmax(12.5rem,auto);row-gap:.75rem}@media(max-width:1199.98px){.dps-component-detail-meta .dps-component-detail-meta-wrapper{grid-template-columns:1fr}}.dps-component-detail-meta-row{align-items:center;display:flex;margin-bottom:.25rem}.dps-component-detail-meta-row.-external{display:none}.dps-component-detail-meta-row h4{margin:0;width:6.75rem}dps-inline-version-selector{--dps-instance-icon-color:#000;margin-bottom:1.5rem}.dps-component-detail-categories{display:flex;flex-wrap:wrap;list-style-type:none;margin:0 0 1rem 0;padding:0}.dps-component-detail-categories li{margin:0 .5rem .5rem 0;padding:0}.dps-component-detail-install{display:inline-flex;font-family:ServiceNowSans-Light;font-size:.875rem;margin-bottom:1.5rem;position:relative}.dps-component-detail-install.copied button:focus{outline:none}.dps-component-detail-install.copied:after{animation-duration:2s;animation-name:copy-anim;background-color:#5cc4af;color:#fff;content:\\\"Copied to clipboard\\\";display:block;height:100%;left:0;letter-spacing:.01em;line-height:1;opacity:0;padding:.75rem .5rem;pointer-events:none;position:absolute;text-align:center;text-transform:uppercase;top:0;width:100%}@keyframes copy-anim{0%{opacity:0}10%{opacity:1}90%{opacity:1}to{opacity:0}}.dps-component-detail-install button{-webkit-appearance:none;background:#d0d2d3;border:none;cursor:pointer;overflow:hidden;padding:.5rem 1.5rem;position:relative}.dps-component-detail-install button:after{background-color:#5cc4af;color:#fff;content:\\\"copy\\\";display:block;font-size:.75rem;height:100%;left:0;line-height:1.35;overflow:hidden;padding:.75rem .5rem;position:absolute;text-transform:uppercase;top:0;transform:translateX(-100%);transition:transform .15s;width:100%}.dps-component-detail-install button:hover:after{transform:translateX(0)}.dps-component-detail-install .dps-component-detail-install-command{align-items:center;background:#f7f7f7;display:flex;padding:.5rem 1rem;text-decoration:underline}.dps-component-detail-install .dps-component-detail-install-command now-icon{margin-right:.5rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-component-detail-meta-row{display:flex;margin-bottom:.25rem}.dps-component-detail-meta-row.-external{display:none}.dps-component-detail-meta-row>div:first-child{width:20%}@media screen and (max-width:991.98px){.dps-component-detail-meta-row>div:first-child{margin-right:2.8125rem}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-component-detail-toc{color:#293e40}.dps-component-detail-toc-header{font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5;margin:0}.dps-component-detail-toc-title{align-items:center;display:flex;font-family:ServiceNowSans-Medium;font-size:.75rem;line-height:1;margin:.5rem 0 .75rem;position:relative;text-transform:uppercase;width:100%}.dps-component-detail-toc-title:after{border-top:1px solid #e8e8e9;content:\\\"\\\";flex:1 0 0.5rem;margin:0 0 0 .5rem}.dps-component-detail-toc-list{list-style:none;margin:0;padding:0}.dps-component-detail-toc-list>li{margin-bottom:.75rem}.dps-component-detail-toc .horizontal-divider{background:#e8e8e9;border-radius:0;height:1px;margin-bottom:.75rem;width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/highlight.js/styles/agate.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}code.hljs{padding:1rem}aside,b,dd,div,dl,dt,em,i,li,ol,p,strong,ul{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;line-height:1.5rem}aside,dd,div,dl,dt,li,ol,p,ul{font-weight:400}a em{color:#00718f}strong,strong em{font-family:ServiceNowSans-Medium;font-weight:500}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem;line-height:1.1;line-height:1.3125rem;margin:2rem 0}h1,h2{color:#1d1d1d;font-size:1.75rem;font-weight:400;font-weight:500}h2{font-family:ServiceNowSans-Regular;font-family:ServiceNowSans-Medium;font-size:1.5rem;line-height:1.1;line-height:2.25rem;margin-bottom:.75rem 0}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400;margin-bottom:.5rem 0}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400;margin-bottom:.5rem 0}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal}blockquote,code,img,ol,p,pre,ul{margin:.75rem 0}img{max-width:100%}pre{margin-bottom:1.5rem;margin-top:.75rem}div+h1,div+h2,div+h3,div+h4,div+h5,div+h6,img+h1,img+h2,img+h3,img+h4,img+h5,img+h6,p+h1,p+h2,p+h3,p+h4,p+h5,p+h6,ul+h1,ul+h2,ul+h3,ul+h4,ul+h5,ul+h6{margin-top:2rem}b,strong{font-weight:500}b,code,strong{letter-spacing:.02em}code{background-color:#e8e8e9;border:1px solid #d0d2d3;border-radius:.25rem;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5}code b,code strong{font-weight:500}pre code{background-color:transparent;border:none;border-radius:0}.sm,small{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}.sm code,small code{font-size:80%}.lg,.xl{font-family:ServiceNowSans-Regular;font-size:1.3125rem;font-weight:400;line-height:1.5}.lg code,.xl code{font-size:80%}.xl{font-size:1.5rem;line-height:1.5}.dps-caption,.dps-label{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}a:not(.dps-link):not(.dps-button):not(.dps-card-click){border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal;margin:-.125rem;padding:0 .125rem;position:relative;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:normal}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus:not(:focus-visible){box-shadow:none;outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):hover{color:#024f69;text-decoration:underline;-webkit-text-decoration-color:#024f69;text-decoration-color:#024f69}a:not(.dps-link):not(.dps-button):not(.dps-card-click):active{color:#032d42;text-decoration:underline;-webkit-text-decoration-color:#032d42;text-decoration-color:#032d42}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}.do-dont-images{column-gap:1rem;display:grid;grid-auto-flow:column;grid-template-rows:1fr auto}@media screen and (max-width:767.98px){.do-dont-images{display:block}}.do-dont-images figcaption,.do-dont-images figure{margin:0;padding:0}.do-dont-images img{margin:0;max-width:100%;padding:0}.do-dont-images figure{background-color:#f7f7f7;border-top:5px solid;margin-top:2rem;padding:1rem;position:relative}.do-dont-images figcaption{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;font-style:italic;line-height:1.5;margin-bottom:0;margin-left:0;margin-right:0;margin-top:.5rem;max-width:100%;text-align:left}.do-dont-images .img-do h5,.do-dont-images .img-dont h5{font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;left:0;line-height:1.75;margin:0;padding:0;position:absolute;top:-2rem}.do-dont-images .img-dont{border-color:#fc726d}.do-dont-images .img-dont h5{color:#fc726d}.do-dont-images .img-do{border-color:#5cc4af}.do-dont-images .img-do h5{color:#5cc4af}.dps-wayfinder{list-style:none;margin:0;max-height:70vh;overflow:auto;padding:0;position:relative}.dps-wayfinder .dps-wayfinder-active-marker{background-color:#63df4e;height:0;left:0;position:absolute;top:0;transition:top .15s,height .15s;width:3px}.dps-wayfinder .dps-wayfinder-item{border-left:3px solid #e8e8e9;font-family:ServiceNowSans-Regular;padding:.5rem .5rem .5rem 1rem}.dps-wayfinder .dps-wayfinder-item[data-active=true]{font-family:ServiceNowSans-Bold}.dps-wayfinder .dps-wayfinder-item .dps-wayfinder-link,.dps-wayfinder .dps-wayfinder-item .dps-wayfinder-link:hover{background:none;box-shadow:none}.dps-wayfinder .dps-wayfinder-item .dps-wayfinder-link{color:#293e40}.dps-wayfinder .dps-wayfinder-item .dps-wayfinder-link:hover,.dps-wayfinder .dps-wayfinder-item[data-active=true] .dps-wayfinder-link{color:#2b2e31;outline:none}.dps-component-header-wrapper{display:grid;gap:.75rem 1.875rem;grid-template-columns:2fr 1fr}@media screen and (max-width:991.98px){.dps-component-header-wrapper dps-component-detail-toc{display:none}}.dps-component-detail-title{font-size:2.375rem;grid-column:1/4;line-height:1.1;margin:0}.dps-component-detail-description{margin:0 0 1rem}.dps-component-table-title{margin-bottom:1.5rem;margin-top:2.5rem}.dps-component-container{margin:0 auto;width:auto}.dps-component-container.-nav{margin:2.5rem auto auto;max-width:100%}.dps-component-container.-nav>h1{margin:0 auto 1rem;width:auto}.dps-component-container-divider{background:#e8e8e9;height:1px;width:100%}@media screen and (max-width:991.98px){.dps-component-container-divider{display:none}}.dps-component-container>h1{font-size:2.375rem;line-height:1.1;margin-bottom:0}.dps-component-container h2{font-family:ServiceNowSans-Regular;font-size:1.75rem;line-height:1.1;margin:2.5rem 0 1.5rem}@media(max-width:991.98px){.dps-component-container{margin:0 .25rem;width:auto}}.dps-component-detail-table-name{white-space:nowrap}.dps-component-detail-section-padding{clear:both;margin:0;padding-bottom:2.5rem;visibility:hidden;width:0}.dps-component-detail-table-header{background-color:#dadbdc;margin-bottom:.75rem;padding-left:.75rem;white-space:nowrap}.dps-component-detail-table-header>div{height:2.5rem;line-height:2.5rem}@media(max-width:991.98px){.dps-component-detail-table-header>div{font-size:75%}}.dps-component-detail-list-reference{margin-bottom:2.5rem}.dps-component-detail-list-reference h3{margin:2rem 0 .25rem}.dps-component-detail-list-reference dps-link{word-break:break-word}.dps-component-detail-table-group h2{font-size:1.75rem}.dps-component-detail-table-group h3{margin:0}.dps-component-detail-table-group .dps-component-detail-typedef-description p:first-child{margin-top:0}.dps-component-detail-table-group code{background-color:#dee1f3;border:none;border-radius:0;color:#252a4e;padding:0 .2em}.dps-component-detail-table-header,.dps-component-detail-table-row{display:grid}.dps-component-detail-table-header.-col-count-2,.dps-component-detail-table-row.-col-count-2{grid-template-columns:1fr 1fr}.dps-component-detail-table-header.-col-count-3,.dps-component-detail-table-row.-col-count-3{grid-template-columns:1fr 2fr 1fr}.dps-component-detail-table-header.-col-count-4,.dps-component-detail-table-row.-col-count-4{grid-template-columns:1fr 1fr 1fr 1fr}.dps-component-detail-table-header.-col-count-5,.dps-component-detail-table-row.-col-count-5{grid-template-columns:1fr 1fr 1fr 1fr 1fr}@media(max-width:991.98px){.dps-component-detail-table-header,.dps-component-detail-table-row{column-gap:4px}}.-theme-variables dps-callout{margin-bottom:1rem}.-theme-variables .dps-component-detail-table-header.-col-count-3,.-theme-variables .dps-component-detail-table-row.-col-count-3{grid-template-columns:2fr 2fr 1fr}.-theme-variables .dps-component-detail-table-header.-col-count-5,.-theme-variables .dps-component-detail-table-row.-col-count-5{grid-template-columns:1fr 1fr 1fr 1fr 1fr}.dps-component-detail-table-row{padding:.25rem .75rem}.dps-component-detail-table-description,.dps-component-detail-table-row-separator{border-bottom:1px solid #a1a5a7;margin-bottom:1rem;padding:0 .75rem;padding-bottom:.25rem}.dps-component-detail-table-row-separator{padding-bottom:1rem}@media(max-width:991.98px){.dps-component-detail-table-description *,.dps-component-detail-table-row *{font-size:90%}.dps-component-detail-table-description code,.dps-component-detail-table-row code{margin-right:.25rem;overflow-x:auto;white-space:pre-wrap;word-break:break-word}}dps-feedback,dps-prev-next-doc{display:block;margin:2.5rem 0}dps-alert-container{margin-bottom:2.5rem}slot[name=playground]::slotted(dps-playground){margin:2.5rem -3.75rem 0}@media screen and (max-width:767.98px){slot[name=playground]{display:none}}.hljs-name{color:#fc9b9b}.dps-component-main-container{display:grid;grid-template-areas:\\\"content aside\\\";grid-template-columns:minmax(0,70.625rem) minmax(8.75rem,20.625rem)}.dps-component-main-container .noWayfinder{grid-template-areas:\\\"content\\\";grid-template-columns:100%}.dps-component-main-container aside{grid-area:aside;-ms-grid-column:2;-ms-grid-row:1;padding-bottom:2.5rem;padding-left:1.5rem;padding-right:2.5rem;padding-top:6rem}.dps-component-main-container aside.-has-carousel{padding-top:2rem}@media(max-width:1199.98px){.dps-component-main-container{grid-template-columns:minmax(0,1fr)}.dps-component-main-container aside{display:none}}.dps-component-main-container .dps-component-reference-content{grid-area:content;-ms-grid-column:1;-ms-grid-row:1}.dps-component-sidebar{position:-webkit-sticky;position:sticky;top:6.25rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-component-details-block{background-color:#f7f7f7;height:100%;padding:1.375rem 2.5rem 1.25rem 1.25rem;width:17.125rem}@media(max-width:991.98px){.dps-component-details-block{width:auto}}.dps-component-details-block h2{align-items:center;color:#1d1d1d;display:flex;font-family:ServiceNowSans-Book;font-size:1.125rem;gap:.5rem;line-height:1.3125rem;margin-bottom:1.5rem;margin-left:0}.dps-component-details-block h2 dps-badge{margin-left:-10px}@media(max-width:991.98px){.dps-component-details-block h2{margin-left:1.875rem}}.dps-component-details-block .component-details-grid{display:flex;flex-direction:column;gap:1rem}.dps-component-details-block .component-details-grid .component-detail{color:#1d1d1d;display:flex;flex-direction:column;font-size:1rem;gap:.25rem;margin:0}@media(max-width:991.98px){.dps-component-details-block .component-details-grid .component-detail{margin-left:1.875rem}}.dps-component-details-block .component-details-grid .component-detail h4{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:.75rem;letter-spacing:.0140625rem;line-height:.84375rem;margin:0;text-transform:uppercase}.dps-component-details-block .component-details-grid .component-detail dps-link,.dps-component-details-block .component-details-grid .component-detail span{color:#2e2e2e;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.03125rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block;height:100%}.dps-component-gallery-card{background:#fff;border:1px solid #d5d7db;border-radius:0;display:flex;flex-direction:column;font-family:ServiceNowSans-Regular;height:100%;position:relative}.dps-component-gallery-card-content{display:flex;flex-direction:column;gap:.25rem;height:6.75rem;padding:.3125rem 1rem 0;width:100%}.dps-component-gallery-card-title{margin:0;overflow:hidden;padding-top:.3125rem;text-overflow:ellipsis;white-space:nowrap}.dps-component-gallery-card-title,.dps-component-gallery-card-title a{color:#2e2e2e;font-family:ServiceNowSans-Book;font-size:1rem;line-height:1.40625rem}.dps-component-gallery-card-title a{text-decoration:none}.dps-component-gallery-card-title a:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-component-gallery-card-title a:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-component-gallery-card-title a:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-component-gallery-card-description{flex:1 1 auto;height:1.875rem;margin-top:.625rem;padding:0}.dps-component-gallery-card-description,.dps-component-gallery-card-description p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:normal}.dps-component-gallery-card-description p{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;margin:0;max-height:2.4375rem;overflow:hidden;text-overflow:ellipsis;width:215px}.dps-component-gallery-card-image-container{align-items:center;background-color:#f7f7f7;display:flex;height:12rem;justify-content:center;overflow:hidden;position:relative;width:100%}.dps-component-gallery-card-image{align-items:center;background-color:#fff;background-position:50%;background-repeat:no-repeat;background-size:contain;border:1px solid #e3e3e3;border-radius:.25rem;display:flex;height:10.9375rem;justify-content:center;width:15rem}.dps-component-gallery-card-image:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-component-gallery-card-image:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-component-gallery-card-image:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-component-gallery-card-image.-secondary-image{background-origin:content-box}.dps-component-gallery-card-bookmark{align-items:center;display:none;left:.75rem;position:absolute;top:.75rem}.dps-component-gallery-card-bookmark.bookmarked{display:flex}.dps-component-gallery-card-bookmark dps-bookmark{margin-right:.5rem}.dps-component-gallery-card:hover .dps-component-gallery-card-bookmark{display:flex}.dps-component-gallery-card-tags{align-items:center;display:flex;height:.8125rem;padding-top:.3125rem}.dps-component-gallery-card-tags dps-badge{margin-left:-.25rem}.dps-component-gallery-card-tags dps-badge now-icon{vertical-align:sub}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block;height:100%}.dps-component-gallery-card{background:#fff;border:1px solid #d0d2d3;border-radius:.25rem;display:flex;flex-direction:column;font-family:ServiceNowSans-Light;height:100%;position:relative}.dps-component-gallery-card-title{margin:0;max-width:calc(100% - 1.5rem);overflow:hidden;padding:.75rem .75rem 0;text-overflow:ellipsis;white-space:nowrap}.dps-component-gallery-card-title a{color:#474d52;font-family:ServiceNowSans-Regular;font-size:1rem;font-weight:400;line-height:1.75;text-decoration:none}.dps-component-gallery-card-title a:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-component-gallery-card-title a:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-component-gallery-card-title a:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-component-gallery-card-description{flex:1 1 auto;padding:0 .75rem 0}.dps-component-gallery-card-description p{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:.875rem;line-height:1.5;margin:0;max-height:3rem;overflow:hidden;text-overflow:ellipsis}.dps-component-gallery-card-image-container{align-items:center;background-color:#f7f7f7;border-top-left-radius:.25rem;border-top-right-radius:.25rem;display:flex;height:10.3125rem;justify-content:center;position:relative;width:100%}.dps-component-gallery-card-image{align-items:stretch;background-position:50%;background-repeat:no-repeat;background-size:contain;display:flex;height:100%;justify-content:center;width:100%}.dps-component-gallery-card-image:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-component-gallery-card-image:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-component-gallery-card-image:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-component-gallery-card-image.-secondary-image{background-origin:content-box;padding:.75rem}.dps-component-gallery-card-tags{align-items:center;display:flex;left:.75rem;position:absolute;top:.75rem}.dps-component-gallery-card-tags dps-bookmark{margin-right:.5rem}.dps-component-gallery-card-links{list-style:none;margin:0;padding:1rem .75rem .75rem;white-space:nowrap}.dps-component-gallery-card-links li{display:inline;font-family:ServiceNowSans-Regular;font-size:.875rem;margin-right:.5rem}.dps-component-gallery-card-links li:last-child{margin-right:0}@media(max-width:767.98px){.dps-component-gallery-card-links{white-space:normal}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-checkbox{display:block;margin:0 0 .5rem;position:relative}.dps-checkbox>input[type=checkbox]{cursor:pointer;opacity:0;position:absolute;width:100%;z-index:1}.dps-checkbox>input[type=checkbox]:checked+label:before{background:#293e40;border-color:#293e40}.dps-checkbox>input[type=checkbox]:checked+label:after{border:solid #fff;border-width:0 2px 2px 0;content:\\\"\\\";display:block;height:.625rem;left:.375rem;position:absolute;top:.1875rem;transform:rotate(45deg);width:.3125rem}.dps-checkbox>input[type=checkbox]:focus+label:before{box-shadow:0 0 0 2px #fff,0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-checkbox>label{align-items:center;color:#000;cursor:pointer;display:flex;font-family:ServiceNowSans-Light;font-size:1rem;gap:.5rem;line-height:normal;padding-left:1.5rem;position:relative;white-space:nowrap}.dps-checkbox>label .secondary-text{color:#6e7274}.dps-checkbox>label:before{background-color:#fff;border:1px solid #b3b3b3;border-radius:.25rem;content:\\\"\\\";cursor:pointer;display:block;flex-shrink:0;height:1rem;left:0;position:absolute;top:50%;transform:translateY(-50%);width:1rem}:host{background:#fcfcfc;display:block;transition:background .15s;width:100%}:host(.is-stuck){background:#fff;box-shadow:0 2px 18px 0 rgba(0,0,0,.1);padding-bottom:.625rem;position:-webkit-sticky;position:sticky;top:100px;z-index:1000}@media(max-width:991.98px){:host(.is-stuck){position:fixed}}.dps-component-gallery-search{margin:0 auto;width:100%}.dps-component-gallery-search,.dps-component-gallery-search-form{align-items:center;display:flex;flex-direction:column;justify-content:center}.dps-component-gallery-search-form{margin:.5rem auto 0;max-width:56.4375rem;width:calc(100vw - 40px)}.dps-component-gallery-searchbar{display:flex;margin:0 0 .5rem;position:relative;width:100%;z-index:200}.dps-component-gallery-searchbar now-icon{flex:0 0 auto;left:.75rem;margin-bottom:-50%;position:absolute;top:50%;transform:translateY(-50%)}.dps-component-gallery-searchbar now-button{flex:0 0 auto}.dps-component-gallery-searchbar-input{flex:1 1 auto;margin-right:.5rem;position:relative;width:100%}.dps-component-gallery-searchbar-input input[type=search]{font-family:ServiceNowSans-Light;font-size:1.3125rem;height:100%;line-height:1.5;padding-left:2.75rem;width:100%}.dps-component-gallery-searchbar-input input[type=search]:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-component-gallery-searchbar-input input[type=search]:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-component-gallery-searchbar-input input[type=search]:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-component-gallery-searchbar-input input[type=search]::-webkit-search-cancel-button{display:none}@media(max-width:575.98px){.dps-component-gallery-searchbar-input input[type=search]{font-size:1rem}}.dps-component-gallery-searchbar-input .dps-input-clear-search{background-color:#d0d2d3;border-radius:100%;color:#fff;content:\\\"×\\\";cursor:pointer;height:1em;line-height:1;margin-top:-.5em;position:absolute;right:.5em;text-align:center;top:50%;width:1em}.dps-component-gallery-search-accordion{overflow:hidden}.fieldset-column{display:flex;flex-direction:column}.fieldset-column dps-fieldset:not(:first-child){margin-top:1rem}@media(max-width:767.98px){.fieldset-column dps-fieldset:not(:first-child){margin-top:0}}.two-column{grid-template-columns:repeat(2,1fr)}.three-column,.two-column{grid-column-gap:1.5rem;display:grid}.three-column{grid-template-columns:repeat(3,1fr)}@media(max-width:767.98px){.three-column .column-item:not(:first-child){margin-left:-1.125rem}}@media(max-width:991.98px){dps-fieldset{margin-top:2rem}}@media(max-width:767.98px){dps-fieldset{margin-bottom:1.5rem}dps-fieldset:first-child{grid-column:1/4}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-component-group-template{width:100%}.dps-component-group-template header{align-items:center;background-color:var(--dps-theme-highlight-light-4);display:flex;flex-direction:column;padding:6.125rem 2rem 3.875rem;width:100%}.dps-component-group-template header div{max-width:49rem;width:100%}.dps-component-group-template header h1,.dps-component-group-template header p{max-width:34.375rem}.dps-component-group-template header h1{font-family:ServiceNowSans-Medium;font-size:2.375rem}.dps-component-group-template header p{font-size:1rem;line-height:1.5}.dps-component-group-template .dps-component-group-template--content{padding:0 2rem;width:100%}.dps-component-group-template .dps-component-group-template--content div{margin:0 auto;max-width:49rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-button{align-items:center;border:none;color:inherit;cursor:pointer;display:inline-flex;font-family:ServiceNowSans-Book;font-size:1rem;font-weight:400;justify-content:center;letter-spacing:.01em;line-height:1.1;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),border .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:nowrap;width:inherit}.dps-button:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-button:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:active{color:currentColor}.dps-button.is-disabled,.dps-button:disabled{cursor:not-allowed}.dps-button.-primary{background:var(--dps-button-primary-bg,#62d84e);border:2px solid var(--dps-button-primary-border-color,#62d84e);border-radius:.5rem;color:#1d1d1d;font-family:ServiceNowSans-Book}.dps-button.-primary:hover{background:#62d84e;border-color:var(--dps-button-primary-hover-border-color,#62d84e);color:var(--dps-button-primary-hover-color,#1d1d1d)}.dps-button.-primary.is-disabled,.dps-button.-primary:disabled{background:#b9bbbd}.dps-button.-primary svg{fill:#fff}.dps-button.-primary-inverse{background:#62d84e;border:2px solid #62d84e;border-radius:.5rem;color:#000;font-family:ServiceNowSans-Book}.dps-button.-primary-inverse:hover{background:#fff}.dps-button.-primary-inverse.is-disabled,.dps-button.-primary-inverse:disabled{background:#8a8e91}.dps-button.-primary-inverse svg{fill:#62d84e}.dps-button.-secondary{background:var(--dps-button-secondary-bg,#fff);border:var(--dps-button-secondary-border-width,2px) solid var(--dps-button-secondary-border-color,#62d84e);border-radius:.5rem;color:var(--dps-button-secondary-color,#1d1d1d);font-family:ServiceNowSans-Book;font-size:1rem}.dps-button.-secondary:hover{background:var(--dps-button-secondary-hover-bg,#62d84e);border-color:var(--dps-button-secondary-hover-border-color,#62d84e);box-shadow:var(--dps-button-secondar-hover-box-shadow);color:var(--dps-button-secondary-hover-color,#000)}.dps-button.-secondary:hover svg{fill:#fff}.dps-button.-secondary.is-bare{color:#032d42;font-family:ServiceNowSans-Book;font-size:1rem;line-height:normal}.dps-button.-secondary.is-disabled,.dps-button.-secondary:disabled{background:transparent;border-color:#b9bbbd;color:#b9bbbd}.dps-button.-secondary svg{fill:#1d1d1d}.dps-button.-secondary-inverse{background:#fff;border:2px solid #62d84e;border-radius:.5rem}.dps-button.-secondary-inverse:hover{background:#62d84e;border-color:#62d84e}.dps-button.-secondary-inverse:hover svg{fill:#62d84e}.dps-button.-secondary-inverse.is-disabled,.dps-button.-secondary-inverse:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-secondary-inverse svg{fill:#d0d2d3}.dps-button.-round{background:#01778e;border-radius:1.5rem;color:#fff;height:2.625rem;min-width:12.1875rem}.dps-button.-round.is-disabled,.dps-button.-round:disabled{background:transparent;border:1px solid #b9bbbd;color:#b9bbbd}.dps-button.-secondary-light{background:transparent;border:2px solid #fff;color:#fff}.dps-button.-secondary-light:hover{background:#fff;border-color:#fff;color:#293e40}.dps-button.-secondary-light.is-disabled,.dps-button.-secondary-light:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-destructive{background:#ca5b57;color:#fff}.dps-button.-destructive:hover{background:#fc726d}.dps-button.-destructive.is-disabled,.dps-button.-destructive:disabled{background:#fdaaa7}.dps-button.-sm{color:#000;font-family:ServiceNowSans-Book;font-size:1rem;gap:.125rem;height:auto;min-height:2rem;padding:.375rem 1rem}.dps-button.-sm.only-icon{padding:0;width:2rem}.dps-button.-sm.has-button-and-icon now-icon{width:2rem}.dps-button.-md{height:2.625rem;padding:0 1.5rem}.dps-button.-md.only-icon{padding:0;width:2.625rem}.dps-button.-md.has-button-and-icon now-icon{width:2.625rem}.dps-button.-lg{height:3.125rem;padding:0 2rem}.dps-button.-lg.only-icon{padding:0;width:3.125rem}.dps-button.-lg.has-button-and-icon now-icon{width:3.125rem}.dps-button.is-bare{background:transparent;border:none;color:#546566}.dps-button.is-bare:hover{background:transparent;border:none;color:#293e40}.dps-button.is-bare:hover svg{fill:#293e40}.dps-button.is-bare svg{fill:#546566}.dps-button.has-action now-icon{transition:transform .3s cubic-bezier(.075,.82,.165,1)}.dps-button.has-action:hover now-icon{transform:translateX(.125rem)}.dps-button.has-action:hover.-external-action now-icon{transform:translateX(1px) translateY(-1px)}.dps-button.is-white{color:#fff}.dps-button.-round-edge{border-radius:.5rem;height:auto;padding:.5rem 1rem}.dps-button-label+now-icon,.dps-button-label+svg{margin-left:.5rem}.dps-button-label+svg.-sm{height:.75rem;width:.75rem}.dps-button-label+svg.-md{height:1rem;width:1rem}.dps-button-label+svg.-lg{height:1.5rem;width:1.5rem}.dps-button-label+svg.-xl{height:2rem;width:2rem}.dps-content-feedback-form button{clear:both;float:right;margin-top:1.5rem}.dps-content-feedback-form-fieldset{border:none;padding:0 0 1.5rem}.dps-content-feedback-form-fieldset>legend{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5}.dps-content-feedback-form-fieldset>legend span{color:#fc726d}.dps-content-feedback-form-field{padding-bottom:.25rem}.dps-content-feedback-form-field:first-of-type{padding-top:.5rem}.dps-content-feedback-form-field>input{cursor:pointer}.dps-content-feedback-form-field>label{color:#293e40;cursor:pointer;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;padding-left:.75rem}.dps-content-feedback-form-textarea{border-color:#d0d2d3;border-width:1px;font-family:ServiceNowSans-Light;resize:vertical}.dps-content-feedback-form-textarea.-error{border-color:#fc726d}.dps-content-feedback-form-textarea>label{color:#293e40;display:block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;padding-bottom:.5rem}.dps-content-feedback-form-textarea>label span{color:#fc726d}.dps-content-feedback-form-textarea>textarea{width:100%}.dps-content-feedback-form-msg{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;line-height:1.5;margin:0;padding:0 0 .8125rem}.dps-content-feedback-form-msg.-error{color:#fc726d;display:block;font-weight:700;padding:.25rem 0 0}.dps-content-feedback-form-msg.-chars-left{float:right;padding:.5rem 0 0}.dps-content-feedback-form-msg.-successful{font-size:1rem;line-height:1.5;padding:1.5rem 0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}:host(.-nav) .dps-content-stack-row.-small-gap{margin-bottom:.25rem}@media(max-width:991.98px){:host(.-nav) .dps-content-stack{flex-direction:row}:host(.-nav) .dps-content-stack-row{align-items:center;display:inline-flex;margin-bottom:0}:host(.-nav) .dps-content-stack-row slot{display:flex}:host(.-nav) .dps-content-stack-header h2,:host(.-nav) .dps-content-stack-header h3,:host(.-nav) .dps-content-stack-header h4,:host(.-nav) .dps-content-stack-header h5,:host(.-nav) .dps-content-stack-header h6,:host(.-nav) .dps-content-stack-header p,:host(.-nav) .dps-content-stack-header>h1{font-family:ServiceNowSans-Regular;font-size:1rem;font-weight:400;line-height:1.75;line-height:1.4}}:host(.-compact) .dps-content-stack-row{font-family:ServiceNowSans-Bold;font-family:ServiceNowSans-Light;font-size:.8125rem;letter-spacing:.02em;line-height:1.5}:host(.-compact) .dps-content-stack-row.-small-gap{margin-bottom:0}:host(.-compact) .dps-content-stack-header h2,:host(.-compact) .dps-content-stack-header h3,:host(.-compact) .dps-content-stack-header h4,:host(.-compact) .dps-content-stack-header h5,:host(.-compact) .dps-content-stack-header h6,:host(.-compact) .dps-content-stack-header p,:host(.-compact) .dps-content-stack-header>h1{color:#000;font-family:ServiceNowSans-Regular;font-family:ServiceNowSans-Medium;font-size:1rem;font-size:1.125rem;font-weight:400;font-weight:500;line-height:1.75;line-height:1.4;margin-bottom:.25rem}.dps-content-stack{align-items:var(--dps-content-stack-align-items);color:#1d1d1d;display:flex;flex-direction:column;gap:var(--dps-content-stack-gap);height:100%;position:relative;text-align:left}.dps-content-stack.-inverse{color:#fff}slot[name=badge]::slotted(dps-badge){left:.75rem;position:absolute;top:.75rem}.dps-content-stack-row{display:flex;flex:0 0 auto;flex-wrap:wrap;margin-bottom:var(--dps-content-stack-row-margin-bottom,1rem);position:relative}.dps-content-stack-row.-body,.dps-content-stack-row.-cta,.dps-content-stack-row.-icon-custom,.dps-content-stack-row:last-child{margin-bottom:0}.dps-content-stack-row.-icon-custom ::slotted(img){margin-bottom:.5rem}.dps-content-stack-row.-cta ::slotted(dps-button),.dps-content-stack-row.-cta ::slotted(dps-link){margin-top:1rem}.dps-content-stack-row.-small-gap{margin-bottom:.5rem}.dps-content-stack-row.has-progress{display:flex;flex-wrap:nowrap;justify-content:space-between}.dps-content-stack-row.-body{display:block;flex:1 1 auto}.dps-content-stack-row.-body ::slotted(p),.dps-content-stack-row.-body ::slotted(ul){color:var(--dps-content-stack-description-color,#1d1d1d);font-family:ServiceNowSans-Light;font-size:1rem;font-size:var(--dps-content-stack-description-font-size,.875rem);letter-spacing:.01em;line-height:1.5;line-height:var(--dps-content-stack-description-line-height,1.4);margin:0 0 .75rem;text-align:var(--dps-content-stack-description-text-align,center);width:100%}.dps-content-stack-row.-body ::slotted(p:last-child),.dps-content-stack-row.-body ::slotted(ul:last-child){margin-bottom:0}.dps-content-stack-row.-body ::slotted(ul){-webkit-margin-before:0;-webkit-padding-start:0;list-style-type:none;margin-block-start:0;padding-inline-start:0}.dps-content-stack-row.-body ::slotted(ul) li{display:block;margin-bottom:.25rem}.dps-content-stack-row.-body ::slotted(dps-button),.dps-content-stack-row.-body ::slotted(dps-link){display:block;margin-bottom:1rem}.dps-content-stack-row.-body ::slotted(dps-button:last-child),.dps-content-stack-row.-body ::slotted(dps-link:last-child){margin-bottom:0}.dps-content-stack-row>dps-badge,.dps-content-stack-row>dps-tag{margin-bottom:.5rem;margin-right:.5rem}.dps-content-stack-row img{display:block;max-width:100%;position:relative}.dps-content-stack-row slot{display:block}.dps-content-stack-col{flex:1 1 auto;overflow:hidden}.dps-content-stack-metadata2,.dps-content-stack-subtitle{color:#474d52;display:block;width:100%}.-inverse .dps-content-stack-metadata2,.-inverse .dps-content-stack-subtitle{color:#fff}.dps-content-stack-metadata2{max-width:75%}.dps-content-stack-subtitle{color:var(--dps-content-stack-subtitle-color,#474d52);font-family:ServiceNowSans-Medium;font-family:ServiceNowSansMono-Regular;font-size:.75rem;font-size:.875rem;font-weight:400;letter-spacing:.1em;line-height:1;line-height:normal;margin:var(--dps-content-stack-subtitle-margin,0);text-transform:uppercase;text-transform:var(--dps-content-stack-subtitle-text-transform,none)}.-inverse .dps-content-stack-subtitle{color:var(--dps-content-stack-subtitle-color,#fff)}.dps-content-stack-metadata2{font-family:ServiceNowSans-Medium;font-size:.75rem;font-weight:400;letter-spacing:.1em;line-height:1;margin:0;text-transform:uppercase}.dps-content-stack-header{text-align:var(--dps-content-stack-title-text-align,center)}.dps-content-stack-header h2,.dps-content-stack-header h3,.dps-content-stack-header h4,.dps-content-stack-header h5,.dps-content-stack-header h6,.dps-content-stack-header p,.dps-content-stack-header>h1{color:var(--dps-content-stack-title-color,#474d52);display:block;font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-size:var(--dps-content-stack-title-font-size,1.3125rem);font-weight:400;font-weight:500;letter-spacing:var(--dps-content-stack-header-letter-spacing,inherit);line-height:1.5;line-height:var(--dps-content-stack-title-line-height,1.5);margin:0 0 .25rem;text-align:var(--dps-content-stack-title-text-align,center);width:100%}.-inverse .dps-content-stack-header h2,.-inverse .dps-content-stack-header h3,.-inverse .dps-content-stack-header h4,.-inverse .dps-content-stack-header h5,.-inverse .dps-content-stack-header h6,.-inverse .dps-content-stack-header p,.-inverse .dps-content-stack-header>h1{color:#000}.dps-content-stack-header h2:last-child,.dps-content-stack-header h3:last-child,.dps-content-stack-header h4:last-child,.dps-content-stack-header h5:last-child,.dps-content-stack-header h6:last-child,.dps-content-stack-header p:last-child,.dps-content-stack-header>h1:last-child{margin-bottom:var(--dps-content-stack-title-margin-bottom,0)}.dps-content-stack-header>span{color:var(--dps-content-stack-header-span-color,inherit);display:block;font-family:ServiceNowSans-Light;font-family:ServiceNowSansMono-Regular;font-size:.8125rem;font-size:var(--dps-content-stack-header-span-font-size,inherit);letter-spacing:.02em;line-height:1.5;line-height:var(--dps-content-stack-header-span-line-height,inherit);margin-top:var(--dps-content-stack-header-span-margin-top,inherit);text-transform:var(--dps-content-stack-header-span-text-transform,none);width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.delete-account{padding:3.125rem 3.75rem 3.125rem 3.75rem;text-align:center}.delete-account .deleting{font-family:Lato;font-weight:700;margin-top:1.375rem}.delete-account .delete-account-info{line-height:130%;margin-top:1.8125rem}.delete-account .deleted-info{font-family:Lato;font-weight:700;margin-top:1.25rem}.delete-account .close-button{background-color:#293e40;border:none;color:#fff;cursor:pointer;font-family:ServiceNowSans-Regular;margin-top:1.5rem;padding:.5rem 1rem}.delete-account .img-success{margin-top:-4.6875rem}.delete-account .failure{font-family:Lato;font-weight:700;margin:1.25rem 0 .75rem 0}.delete-account-footer{display:flex;justify-content:space-between;margin-top:1.5rem}.delete-account-footer dps-checkbox{margin-top:.625rem}.delete-account-footer .go-back-button{background:none;border:none;cursor:pointer;font-size:.875rem;margin-right:1.75rem}.delete-account-footer .go-back-button:focus-visible{outline:none}.delete-account-footer .delete-button{background-color:#ca5b57;border:none;color:#fff;cursor:pointer;font-size:.875rem;padding:.625rem 1.375rem}.delete-account-footer .delete-button:disabled{background:#e9bcbc;pointer-events:none}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-dropdown-menu{height:100%;position:relative;width:100%}.dps-dropdown-menu--button{align-items:center;background-color:transparent;border:none;color:#474d52;cursor:pointer;display:flex;font-family:ServiceNowSans-Regular;font-size:1rem;justify-content:flex-start;line-height:1.25rem;margin:0;padding:0;vertical-align:baseline}.dps-dropdown-menu--button:focus,.dps-dropdown-menu--button:hover{outline:none}.dps-dropdown-menu--icon{justify-content:flex-end;line-height:1.25rem;width:1.25rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:absolute}.dps-dropdown-panel{border:.0625rem solid #e8e8e9;left:0;position:fixed;width:100%;z-index:1000}.dps-dropdown-panel ul{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.dps-dropdown-panel a,.dps-dropdown-panel button{align-items:center;background-color:#fff;border:none;color:#293e40;cursor:pointer;display:block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;overflow:hidden;padding:.5rem 1.5rem;text-align:left;text-decoration:none;text-overflow:ellipsis;transition:background-color .15s;white-space:nowrap;width:100%}.dps-dropdown-panel a:focus,.dps-dropdown-panel a:hover,.dps-dropdown-panel button:focus,.dps-dropdown-panel button:hover{background-color:#81b5a1;outline:none}.dps-dropdown-panel a.disabled,.dps-dropdown-panel a:disabled,.dps-dropdown-panel button:disabled{color:#c6c6c6;outline:none;pointer-events:none}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-dropdown{align-items:center;background:#fff;border:1px solid #d5d7db;border-radius:.25rem;color:#000;display:flex;flex:1;font-family:ServiceNowSans-Bold;height:2.4375rem;justify-content:space-between;overflow:hidden;position:relative;width:100%}.dps-dropdown.-error{border-color:#fc726d}.dps-dropdown-label{color:#16243a;display:block;font-family:ServiceNowSans-Bold;font-size:.75rem;line-height:1.125rem;margin-bottom:.5rem}.dps-dropdown select{-webkit-appearance:none;background:transparent;border:none;border-radius:0;box-shadow:none;color:#293e40;display:inline-block;font-family:ServiceNowSans-Regular;font-size:1rem;height:100%;line-height:1.5;padding:0 3rem 0 1rem;width:100%}.dps-dropdown select:focus{outline:none}.dps-dropdown now-icon{margin-right:1rem;pointer-events:none;position:absolute;right:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-error-page{background-color:#f9f9f9;padding:5.5rem 1rem 3.625rem;text-align:center}.dps-error-page img{display:block;margin:0 auto 2.5rem;max-width:684px;width:100%}.dps-error-page h5{font-family:ServiceNowSans-Medium;font-size:.75rem;letter-spacing:.1em;line-height:1;margin:0 0 1rem;text-transform:uppercase}.dps-error-page p{font-size:1rem;line-height:1.5;margin:0 auto 1.5rem;max-width:280px;width:100%}.dps-error-page-content-error{padding-bottom:15rem}.dps-error-page-error-text{color:#334b4f;font-family:ServiceNowSans-Light;font-size:1rem;font-weight:400;height:1.5rem;letter-spacing:0;line-height:1.5rem;margin:0 auto 2rem;width:28.0625rem}@media(max-width:575.98px){.dps-error-page-error-text{max-width:17.5rem}}.dps-error-page-other-release-cards{background:#fff;border:1px solid hsla(0,0%,59%,.21);border-radius:.1875rem;cursor:pointer;height:auto;margin:1.5rem auto 0 auto;max-width:60rem;padding:1.4375rem 2.125rem 1.5625rem 2.125rem;position:relative}.dps-error-page-other-release-cards_title{color:#334b4f;font-family:ServiceNowSans-Medium;font-size:1.3125rem;letter-spacing:0;line-height:1.625rem;text-align:left}@media(max-width:575.98px){.dps-error-page-other-release-cards_title{font-size:1rem}}.dps-error-page-other-release-cards_release{background:#dadbdc;border-radius:.8125rem;color:#546566;display:block;font-family:ServiceNowSans-Medium;font-size:.75rem;height:1.4375rem;margin-top:.5rem;padding:.125rem;width:4.125rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-button{align-items:center;border:none;color:inherit;cursor:pointer;display:inline-flex;font-family:ServiceNowSans-Book;font-size:1rem;font-weight:400;justify-content:center;letter-spacing:.01em;line-height:1.1;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),border .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:nowrap;width:inherit}.dps-button:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-button:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:active{color:currentColor}.dps-button.is-disabled,.dps-button:disabled{cursor:not-allowed}.dps-button.-primary{background:var(--dps-button-primary-bg,#62d84e);border:2px solid var(--dps-button-primary-border-color,#62d84e);border-radius:.5rem;color:#1d1d1d;font-family:ServiceNowSans-Book}.dps-button.-primary:hover{background:#62d84e;border-color:var(--dps-button-primary-hover-border-color,#62d84e);color:var(--dps-button-primary-hover-color,#1d1d1d)}.dps-button.-primary.is-disabled,.dps-button.-primary:disabled{background:#b9bbbd}.dps-button.-primary svg{fill:#fff}.dps-button.-primary-inverse{background:#62d84e;border:2px solid #62d84e;border-radius:.5rem;color:#000;font-family:ServiceNowSans-Book}.dps-button.-primary-inverse:hover{background:#fff}.dps-button.-primary-inverse.is-disabled,.dps-button.-primary-inverse:disabled{background:#8a8e91}.dps-button.-primary-inverse svg{fill:#62d84e}.dps-button.-secondary{background:var(--dps-button-secondary-bg,#fff);border:var(--dps-button-secondary-border-width,2px) solid var(--dps-button-secondary-border-color,#62d84e);border-radius:.5rem;color:var(--dps-button-secondary-color,#1d1d1d);font-family:ServiceNowSans-Book;font-size:1rem}.dps-button.-secondary:hover{background:var(--dps-button-secondary-hover-bg,#62d84e);border-color:var(--dps-button-secondary-hover-border-color,#62d84e);box-shadow:var(--dps-button-secondar-hover-box-shadow);color:var(--dps-button-secondary-hover-color,#000)}.dps-button.-secondary:hover svg{fill:#fff}.dps-button.-secondary.is-bare{color:#032d42;font-family:ServiceNowSans-Book;font-size:1rem;line-height:normal}.dps-button.-secondary.is-disabled,.dps-button.-secondary:disabled{background:transparent;border-color:#b9bbbd;color:#b9bbbd}.dps-button.-secondary svg{fill:#1d1d1d}.dps-button.-secondary-inverse{background:#fff;border:2px solid #62d84e;border-radius:.5rem}.dps-button.-secondary-inverse:hover{background:#62d84e;border-color:#62d84e}.dps-button.-secondary-inverse:hover svg{fill:#62d84e}.dps-button.-secondary-inverse.is-disabled,.dps-button.-secondary-inverse:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-secondary-inverse svg{fill:#d0d2d3}.dps-button.-round{background:#01778e;border-radius:1.5rem;color:#fff;height:2.625rem;min-width:12.1875rem}.dps-button.-round.is-disabled,.dps-button.-round:disabled{background:transparent;border:1px solid #b9bbbd;color:#b9bbbd}.dps-button.-secondary-light{background:transparent;border:2px solid #fff;color:#fff}.dps-button.-secondary-light:hover{background:#fff;border-color:#fff;color:#293e40}.dps-button.-secondary-light.is-disabled,.dps-button.-secondary-light:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-destructive{background:#ca5b57;color:#fff}.dps-button.-destructive:hover{background:#fc726d}.dps-button.-destructive.is-disabled,.dps-button.-destructive:disabled{background:#fdaaa7}.dps-button.-sm{color:#000;font-family:ServiceNowSans-Book;font-size:1rem;gap:.125rem;height:auto;min-height:2rem;padding:.375rem 1rem}.dps-button.-sm.only-icon{padding:0;width:2rem}.dps-button.-sm.has-button-and-icon now-icon{width:2rem}.dps-button.-md{height:2.625rem;padding:0 1.5rem}.dps-button.-md.only-icon{padding:0;width:2.625rem}.dps-button.-md.has-button-and-icon now-icon{width:2.625rem}.dps-button.-lg{height:3.125rem;padding:0 2rem}.dps-button.-lg.only-icon{padding:0;width:3.125rem}.dps-button.-lg.has-button-and-icon now-icon{width:3.125rem}.dps-button.is-bare{background:transparent;border:none;color:#546566}.dps-button.is-bare:hover{background:transparent;border:none;color:#293e40}.dps-button.is-bare:hover svg{fill:#293e40}.dps-button.is-bare svg{fill:#546566}.dps-button.has-action now-icon{transition:transform .3s cubic-bezier(.075,.82,.165,1)}.dps-button.has-action:hover now-icon{transform:translateX(.125rem)}.dps-button.has-action:hover.-external-action now-icon{transform:translateX(1px) translateY(-1px)}.dps-button.is-white{color:#fff}.dps-button.-round-edge{border-radius:.5rem;height:auto;padding:.5rem 1rem}.dps-button-label+now-icon,.dps-button-label+svg{margin-left:.5rem}.dps-button-label+svg.-sm{height:.75rem;width:.75rem}.dps-button-label+svg.-md{height:1rem;width:1rem}.dps-button-label+svg.-lg{height:1.5rem;width:1.5rem}.dps-button-label+svg.-xl{height:2rem;width:2rem}:host{display:block}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block;width:100%}.dps-feedback{align-items:center;background:#e6f0ec;color:#1d1d1d;display:flex;font-family:ServiceNowSans-Regular!important;font-size:1rem;padding:8px;width:100%}.dps-feedback dps-button{background:#e6f0ec!important;margin-left:1rem}.dps-feedback>span{align-items:center;display:inline-flex;flex:1 1 auto;position:relative}.dps-feedback>span img{margin-right:1rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-fieldset{border:none;padding:0}.dps-fieldset legend{font-family:ServiceNowSans-Medium;font-size:.75rem;font-weight:400;letter-spacing:.1em;line-height:1;margin-bottom:8px;text-transform:uppercase;white-space:nowrap}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-filter-badge{align-items:center;background-color:#474d52;border-radius:.25rem;color:#fff;display:flex;font-family:ServiceNowSans-Regular;font-size:.6875rem;line-height:1;padding:.375rem .625rem}.dps-filter-badge button{background:transparent;border:none;color:#fff;cursor:pointer;line-height:0;margin-left:.25rem;padding:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-button{align-items:center;border:none;color:inherit;cursor:pointer;display:inline-flex;font-family:ServiceNowSans-Book;font-size:1rem;font-weight:400;justify-content:center;letter-spacing:.01em;line-height:1.1;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),border .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:nowrap;width:inherit}.dps-button:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-button:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:active{color:currentColor}.dps-button.is-disabled,.dps-button:disabled{cursor:not-allowed}.dps-button.-primary{background:var(--dps-button-primary-bg,#62d84e);border:2px solid var(--dps-button-primary-border-color,#62d84e);border-radius:.5rem;color:#1d1d1d;font-family:ServiceNowSans-Book}.dps-button.-primary:hover{background:#62d84e;border-color:var(--dps-button-primary-hover-border-color,#62d84e);color:var(--dps-button-primary-hover-color,#1d1d1d)}.dps-button.-primary.is-disabled,.dps-button.-primary:disabled{background:#b9bbbd}.dps-button.-primary svg{fill:#fff}.dps-button.-primary-inverse{background:#62d84e;border:2px solid #62d84e;border-radius:.5rem;color:#000;font-family:ServiceNowSans-Book}.dps-button.-primary-inverse:hover{background:#fff}.dps-button.-primary-inverse.is-disabled,.dps-button.-primary-inverse:disabled{background:#8a8e91}.dps-button.-primary-inverse svg{fill:#62d84e}.dps-button.-secondary{background:var(--dps-button-secondary-bg,#fff);border:var(--dps-button-secondary-border-width,2px) solid var(--dps-button-secondary-border-color,#62d84e);border-radius:.5rem;color:var(--dps-button-secondary-color,#1d1d1d);font-family:ServiceNowSans-Book;font-size:1rem}.dps-button.-secondary:hover{background:var(--dps-button-secondary-hover-bg,#62d84e);border-color:var(--dps-button-secondary-hover-border-color,#62d84e);box-shadow:var(--dps-button-secondar-hover-box-shadow);color:var(--dps-button-secondary-hover-color,#000)}.dps-button.-secondary:hover svg{fill:#fff}.dps-button.-secondary.is-bare{color:#032d42;font-family:ServiceNowSans-Book;font-size:1rem;line-height:normal}.dps-button.-secondary.is-disabled,.dps-button.-secondary:disabled{background:transparent;border-color:#b9bbbd;color:#b9bbbd}.dps-button.-secondary svg{fill:#1d1d1d}.dps-button.-secondary-inverse{background:#fff;border:2px solid #62d84e;border-radius:.5rem}.dps-button.-secondary-inverse:hover{background:#62d84e;border-color:#62d84e}.dps-button.-secondary-inverse:hover svg{fill:#62d84e}.dps-button.-secondary-inverse.is-disabled,.dps-button.-secondary-inverse:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-secondary-inverse svg{fill:#d0d2d3}.dps-button.-round{background:#01778e;border-radius:1.5rem;color:#fff;height:2.625rem;min-width:12.1875rem}.dps-button.-round.is-disabled,.dps-button.-round:disabled{background:transparent;border:1px solid #b9bbbd;color:#b9bbbd}.dps-button.-secondary-light{background:transparent;border:2px solid #fff;color:#fff}.dps-button.-secondary-light:hover{background:#fff;border-color:#fff;color:#293e40}.dps-button.-secondary-light.is-disabled,.dps-button.-secondary-light:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-destructive{background:#ca5b57;color:#fff}.dps-button.-destructive:hover{background:#fc726d}.dps-button.-destructive.is-disabled,.dps-button.-destructive:disabled{background:#fdaaa7}.dps-button.-sm{color:#000;font-family:ServiceNowSans-Book;font-size:1rem;gap:.125rem;height:auto;min-height:2rem;padding:.375rem 1rem}.dps-button.-sm.only-icon{padding:0;width:2rem}.dps-button.-sm.has-button-and-icon now-icon{width:2rem}.dps-button.-md{height:2.625rem;padding:0 1.5rem}.dps-button.-md.only-icon{padding:0;width:2.625rem}.dps-button.-md.has-button-and-icon now-icon{width:2.625rem}.dps-button.-lg{height:3.125rem;padding:0 2rem}.dps-button.-lg.only-icon{padding:0;width:3.125rem}.dps-button.-lg.has-button-and-icon now-icon{width:3.125rem}.dps-button.is-bare{background:transparent;border:none;color:#546566}.dps-button.is-bare:hover{background:transparent;border:none;color:#293e40}.dps-button.is-bare:hover svg{fill:#293e40}.dps-button.is-bare svg{fill:#546566}.dps-button.has-action now-icon{transition:transform .3s cubic-bezier(.075,.82,.165,1)}.dps-button.has-action:hover now-icon{transform:translateX(.125rem)}.dps-button.has-action:hover.-external-action now-icon{transform:translateX(1px) translateY(-1px)}.dps-button.is-white{color:#fff}.dps-button.-round-edge{border-radius:.5rem;height:auto;padding:.5rem 1rem}.dps-button-label+now-icon,.dps-button-label+svg{margin-left:.5rem}.dps-button-label+svg.-sm{height:.75rem;width:.75rem}.dps-button-label+svg.-md{height:1rem;width:1rem}.dps-button-label+svg.-lg{height:1.5rem;width:1.5rem}.dps-button-label+svg.-xl{height:2rem;width:2rem}:host{display:block}.dps-filter-bar{display:flex;flex-direction:column}.dps-filter-bar .dps-filter-bar--bottom,.dps-filter-bar .dps-filter-bar--filter-selection,.dps-filter-bar .dps-filter-bar--top,.dps-filter-bar .dps-filter-bar--view-selection{align-items:center;display:flex;justify-content:flex-start}.dps-filter-bar .dps-filter-bar--bottom,.dps-filter-bar .dps-filter-bar--top{padding:1rem 0}.dps-filter-bar .dps-filter-bar--top{border-bottom:1px solid #6c7175;flex-wrap:wrap;justify-content:space-between}.dps-filter-bar .dps-filter-bar--filter-selection,.dps-filter-bar .dps-filter-bar--view-selection{margin-top:.75rem}.dps-filter-bar .dps-filter-bar--view-selection{margin-left:auto}.dps-filter-bar .dps-filter-bar--view-button{background:transparent;border:none;border-bottom:4px solid transparent;cursor:pointer;display:inline-flex;font-family:ServiceNowSans-Regular;font-size:.875rem;height:3.5rem;margin:0 .5rem -1.125rem;padding:0 .25rem .75rem}.dps-filter-bar .dps-filter-bar--view-button.active{border-bottom:4px solid #474d52}.dps-filter-bar .dps-filter-bar--view-button:focus{outline:none}.dps-filter-bar .dps-filter-bar--view-button:last-child{margin-right:0}.dps-filter-bar .dps-filter-bar--view-button img{margin-right:.25rem}.dps-filter-bar dps-button,.dps-filter-bar input,.dps-filter-bar label,.dps-filter-bar select,.dps-filter-bar span{margin-right:.5rem}.dps-filter-bar label,.dps-filter-bar span{font-family:ServiceNowSans-Medium;font-size:.8125rem}.dps-filter-bar input[type=search],.dps-filter-bar select{-webkit-appearance:none;background-color:transparent;border:1px solid #474d52;border-radius:0;height:2.5rem;padding:.5rem}.dps-filter-bar select{padding-left:.75rem;padding-right:2rem}.dps-filter-bar .dps-select{position:relative}.dps-filter-bar .dps-select:after{border-bottom:2px solid #474d52;border-left:2px solid #474d52;content:\\\"\\\";display:block;height:.625rem;pointer-events:none;position:absolute;right:1.25rem;top:.8125rem;transform:rotate(-45deg);width:.625rem}.dps-filter-bar ul{display:flex;list-style:none;margin:0;padding:0}.dps-filter-bar li{margin-right:.5rem}.dps-filter-bar li:last-child{margin-right:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-filter-nav-group.-level-1>div{align-items:center;color:#5c6ac4;cursor:pointer;display:flex;height:2.5rem;justify-content:space-between;padding:0 .75rem}.dps-filter-nav-group.-level-1>div a{color:#5c6ac4;cursor:pointer;font-family:ServiceNowSans-Medium;font-size:.75rem;text-decoration:none;text-transform:uppercase}.dps-filter-nav-group.-level-1>div a>.is-match{background-color:#dee1f3}.dps-filter-nav-group.-level-2,.dps-filter-nav-group.-level-3{position:relative}.dps-filter-nav-group.-level-2.is-open,.dps-filter-nav-group.-level-3.is-open{background-color:#f7f7f7}.dps-filter-nav-group.-level-2.is-open a,.dps-filter-nav-group.-level-3.is-open a{color:#474d52}.dps-filter-nav-group.-level-2>div,.dps-filter-nav-group.-level-3>div{align-items:center;cursor:pointer;display:flex;height:2.5rem;padding:0 .75rem}.dps-filter-nav-group.-level-2>div a,.dps-filter-nav-group.-level-3>div a{color:#6c7175;cursor:pointer;font-family:ServiceNowSans-Regular;font-size:.875rem;text-decoration:none}.dps-filter-nav-group.-level-2>div a>.is-match,.dps-filter-nav-group.-level-3>div a>.is-match{background-color:#dee1f3;font-family:ServiceNowSans-Medium}.dps-filter-nav-group.-level-3{margin-left:.75rem}.dps-filter-nav-group now-icon{color:#6c7175;margin-left:.125rem}.dps-filter-nav-group-collapser{border:.125rem;border-color:#5c6ac4;border-radius:.0625rem;border-style:solid;display:inline-block;height:.875rem;min-width:.875rem;position:relative;width:.875rem}.dps-filter-nav-group-collapser:before{background:#5c6ac4;content:\\\"\\\";height:.5rem;left:50%;margin-top:.0625rem;position:absolute;transform:translateX(-50%);width:.125rem}.dps-filter-nav-group-collapser:after{background:#5c6ac4;content:\\\"\\\";height:.125rem;margin-left:.0625rem;position:absolute;top:50%;transform:translateY(-50%);width:.5rem}.dps-filter-nav-group-collapser.is-open{background-size:80% .125rem}.dps-filter-nav-group-collapser.is-open:before{content:none}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-filter-nav ul{list-style:none;margin:0;padding:0}.dps-filter-nav-controls{border-bottom:1px solid #dadbdc;display:flex;flex-direction:column;justify-content:center;margin:0 .75rem .75rem 0;padding-bottom:1.5rem}@media(max-width:1103.98px){.dps-filter-nav-controls{margin-top:.75rem}}.dps-filter-nav-controls dps-dropdown{padding-bottom:.75rem}.dps-filter-nav .dps-filter-nav-list{max-width:100%;overflow:visible}.dps-filter-nav-list-label{color:#6c7175;font-family:ServiceNowSans-Regular;font-size:1rem;height:2.5rem;line-height:2.5rem;margin:0;padding:0 .75rem;vertical-align:center}.dps-filter-nav-group.-level-1>div{align-items:center;color:var(--dps-theme-highlight);cursor:pointer;display:flex;height:2.5rem;justify-content:space-between;padding-right:.75rem}.dps-filter-nav-group.-level-1>div a{color:var(--dps-theme-highlight);cursor:pointer;font-family:ServiceNowSans-Medium;font-size:.75rem;text-decoration:none;text-transform:uppercase}.dps-filter-nav-group.-level-1>div a>.is-match{background-color:#dee1f3}.dps-filter-nav-group.-level-2,.dps-filter-nav-group.-level-3{position:relative}.dps-filter-nav-group.-level-2.is-open,.dps-filter-nav-group.-level-3.is-open{background-color:#f7f7f7}.dps-filter-nav-group.-level-2.is-open a,.dps-filter-nav-group.-level-3.is-open a{color:#474d52}.dps-filter-nav-group.-level-2>div,.dps-filter-nav-group.-level-3>div{align-items:center;cursor:pointer;display:flex;height:2.5rem;padding:0 .75rem}.dps-filter-nav-group.-level-2>div a,.dps-filter-nav-group.-level-3>div a{color:#6c7175;cursor:pointer;font-family:ServiceNowSans-Regular;font-size:.875rem;text-decoration:none}.dps-filter-nav-group.-level-2>div a>.is-match,.dps-filter-nav-group.-level-3>div a>.is-match{background-color:#dee1f3;font-family:ServiceNowSans-Medium}.dps-filter-nav-group.-level-3{margin-left:.75rem}.dps-filter-nav-item{align-items:center;background:#f7f7f7;color:#dadbdc;display:flex;font-family:ServiceNowSans-Regular;font-size:1rem;height:2.5rem;justify-content:space-between;line-height:2.5rem;overflow:hidden;padding-left:.75rem;position:relative;white-space:nowrap;width:100%}.dps-filter-nav-item.is-active>a{color:#474d52}.dps-filter-nav-item.is-child{box-shadow:inset 1rem 0 0 #f7f7f7,inset 1.1875rem 0 0 #e8e8e9;padding-left:2rem}.dps-filter-nav-item.is-child:after{background:linear-gradient(90deg,hsla(0,0%,98%,0),#fafafa);content:\\\"\\\";height:100%;position:absolute;right:0;top:0;width:4rem}.dps-filter-nav-item.is-child.is-active{box-shadow:inset 1rem 0 0 #f7f7f7,inset 1.1875rem 0 0 #5c6ac4}.dps-filter-nav-item a{color:#6c7175;cursor:pointer;font-size:.875rem;text-decoration:none}.dps-filter-nav-item a>.is-match{background-color:#dee1f3;font-family:ServiceNowSans-Medium}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.link-text-footer{color:#02506b;display:flex;font-family:Lato,sans-serif;font-size:1rem;font-style:normal;font-weight:400;gap:.125rem;line-height:normal;-webkit-text-decoration-line:underline;text-decoration-line:underline;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;-webkit-text-decoration-style:solid;text-decoration-style:solid;text-decoration-thickness:auto;text-underline-offset:auto}@media screen and (min-width:992px)and (max-width:1267px){.link-text-footer{font-size:.76rem}.link-text-footer a.dps-button span+now-icon{margin-left:.2rem}}.dps-footer{background-color:#fff;color:#293e40;width:100%}.dps-footer.-sitemap{display:none}.dps-footer.-copyright .dps-footer-container{border-top:2px solid #e4e6ea;display:block;font-size:.875rem;gap:0;padding-bottom:0;padding-top:0}@media(max-width:991.98px){.dps-footer.-copyright .dps-footer-container{border-top:none}}.dps-footer.-resources{border-top:2px solid #fafafa}@media(max-width:991.98px){.dps-footer.-resources{border-top:none}}.dps-footer.-resources .dps-footer-container:before{content:\\\"\\\";display:block}@media(max-width:1103.98px){.dps-footer.-resources .dps-footer-container:before{display:none}}.dps-footer.-resources .dps-footer-sitemap:last-child{grid-column:4/7}@media(max-width:1103.98px){.dps-footer.-resources .dps-footer-sitemap:last-child{grid-column:3/7}}.dps-footer.-resources .dps-footer-sitemap-header{font-family:ServiceNowSans-Regular;font-size:1rem;font-weight:400;line-height:1.75;padding:0 0 1rem}@media(max-width:991.98px){.dps-footer.-resources .dps-footer-sitemap-header{padding:2rem 0 .75rem}.dps-footer.-sitemap .dps-footer-container{padding-bottom:0;padding-top:2rem}}.dps-footer.-sitemap .dps-footer-container:before{display:block}@media(max-width:1103.98px){.dps-footer.-sitemap .dps-footer-container:before{display:none}}@media(max-width:991.98px){.dps-footer.-sitemap .dps-footer-sitemap{border-bottom:1px solid #d0d2d3}.dps-footer.-sitemap .dps-footer-sitemap-header{padding:0}.dps-footer.-sitemap .dps-footer-sitemap-header>span{display:none}.dps-footer.-sitemap .dps-footer-sitemap-body{padding:.5rem 0 1rem .25rem}}.dps-footer-container{grid-gap:2rem;align-items:start;display:grid;font-family:ServiceNowSans-Regular;grid-auto-rows:auto;grid-template-columns:repeat(5,1fr);grid-template-rows:none;margin:0 auto;padding-bottom:3rem;padding-left:2.5rem;padding-right:2.5rem;padding-top:3rem;position:relative;width:100%}@media(max-width:991.98px){.dps-footer-container{display:block;padding:0 1.5rem 1.5rem}}.dps-footer-sitemap{font-family:ServiceNowSans-Light;font-size:.875rem;list-style:none;margin:0;padding:0;position:relative;width:100%}.dps-footer-sitemap.is-open .dps-footer-sitemap-btn now-icon{transform:rotate(180deg)}.dps-footer-sitemap.is-open .dps-footer-sitemap-body{display:block}.dps-footer-sitemap ul{list-style:none;margin:0;padding:0}.dps-footer-sitemap li,.dps-footer-sitemap p{margin:0;padding:0 0 1rem}.dps-footer-sitemap li:last-child,.dps-footer-sitemap p:last-child{padding:0}.dps-footer-sitemap-header{align-items:center;display:flex;font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5;margin:0;padding:0 0 1.5rem}@media(max-width:991.98px){.dps-footer-sitemap-header{padding:0}}.dps-footer-sitemap-header now-icon{margin-right:.5rem}.dps-footer-sitemap-header .footer-header{font-size:1.3125rem}@media(min-width:991px)and (max-width:1102px){.dps-footer-sitemap-header .footer-header{font-size:1.1rem}}@media(max-width:991.98px){.dps-footer-sitemap-body{display:none;padding:.75rem 0}}.dps-footer-sitemap-btn{display:none}@media(max-width:991.98px){.dps-footer-sitemap-btn{align-items:center;background:transparent;border:none;color:#546566;cursor:pointer;display:flex;font-family:ServiceNowSans-Regular;font-size:1.125rem;padding:1rem .5rem 1rem .25rem;text-align:left;width:100%}.dps-footer-sitemap-btn:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-footer-sitemap-btn:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-footer-sitemap-btn:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-footer-sitemap-btn span{flex:1 1 auto}.dps-footer-sitemap-btn now-icon{flex:0 0 auto}}.dps-footer-copyright{font-family:ServiceNowSans-Light;font-family:LATO;font-size:.8125rem;grid-column:1/5;height:100%;letter-spacing:.02em;line-height:1.5;padding-top:1.5rem}@media(max-width:991.98px){.dps-footer-copyright{border-top:none;padding:2rem 0}}.dps-footer-copyright img{margin-bottom:-.6rem;width:8.375rem}.dps-footer-copyright>span{border-left:1px solid #d0d2d3;color:#1d1d1d;font-family:ServiceNowSans-Regular;font-size:1rem;font-weight:bolder;font-weight:400;letter-spacing:.03125rem;line-height:1.75;line-height:1.5;margin-left:.75rem;padding-left:.75rem}@media(max-width:991.98px){.dps-footer-copyright>span{border-left:0;display:block;padding-left:0;padding-top:5px}}.dps-footer-copyright-text{color:#1d1d1d}.dps-footer-copyright-links{display:flex;gap:1.5rem;padding-left:.7rem;padding-top:1rem;position:relative;width:100%}@media(max-width:991.98px){.dps-footer-copyright-links{display:block}.dps-footer-copyright-links dps-link{margin-bottom:1.1rem}}.dps-footer-copyright-links .link-text-footer{color:#0080a3}@media(max-width:1103.98px){.dps-footer-copyright-links>span{display:block;margin-top:.5rem}}.dps-footer-social{grid-column:6/7;padding-top:1.5rem;text-align:left}@media(max-width:991px){.dps-footer-social{padding-top:0}}.dps-footer-social a{align-items:center;display:inline-flex;height:1.5rem;justify-content:center;margin-right:1.8rem;padding-left:.9rem;text-decoration:none;width:1.5rem}.dps-footer-social a:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-footer-social a:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-footer-social a:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}@media(max-width:991.98px){.dps-footer-social a{margin-left:auto;margin-right:1rem}}.dps-footer-social a img{max-width:1.25rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-button{align-items:center;border:none;color:inherit;cursor:pointer;display:inline-flex;font-family:ServiceNowSans-Book;font-size:1rem;font-weight:400;justify-content:center;letter-spacing:.01em;line-height:1.1;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),border .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:nowrap;width:inherit}.dps-button:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-button:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:active{color:currentColor}.dps-button.is-disabled,.dps-button:disabled{cursor:not-allowed}.dps-button.-primary{background:var(--dps-button-primary-bg,#62d84e);border:2px solid var(--dps-button-primary-border-color,#62d84e);border-radius:.5rem;color:#1d1d1d;font-family:ServiceNowSans-Book}.dps-button.-primary:hover{background:#62d84e;border-color:var(--dps-button-primary-hover-border-color,#62d84e);color:var(--dps-button-primary-hover-color,#1d1d1d)}.dps-button.-primary.is-disabled,.dps-button.-primary:disabled{background:#b9bbbd}.dps-button.-primary svg{fill:#fff}.dps-button.-primary-inverse{background:#62d84e;border:2px solid #62d84e;border-radius:.5rem;color:#000;font-family:ServiceNowSans-Book}.dps-button.-primary-inverse:hover{background:#fff}.dps-button.-primary-inverse.is-disabled,.dps-button.-primary-inverse:disabled{background:#8a8e91}.dps-button.-primary-inverse svg{fill:#62d84e}.dps-button.-secondary{background:var(--dps-button-secondary-bg,#fff);border:var(--dps-button-secondary-border-width,2px) solid var(--dps-button-secondary-border-color,#62d84e);border-radius:.5rem;color:var(--dps-button-secondary-color,#1d1d1d);font-family:ServiceNowSans-Book;font-size:1rem}.dps-button.-secondary:hover{background:var(--dps-button-secondary-hover-bg,#62d84e);border-color:var(--dps-button-secondary-hover-border-color,#62d84e);box-shadow:var(--dps-button-secondar-hover-box-shadow);color:var(--dps-button-secondary-hover-color,#000)}.dps-button.-secondary:hover svg{fill:#fff}.dps-button.-secondary.is-bare{color:#032d42;font-family:ServiceNowSans-Book;font-size:1rem;line-height:normal}.dps-button.-secondary.is-disabled,.dps-button.-secondary:disabled{background:transparent;border-color:#b9bbbd;color:#b9bbbd}.dps-button.-secondary svg{fill:#1d1d1d}.dps-button.-secondary-inverse{background:#fff;border:2px solid #62d84e;border-radius:.5rem}.dps-button.-secondary-inverse:hover{background:#62d84e;border-color:#62d84e}.dps-button.-secondary-inverse:hover svg{fill:#62d84e}.dps-button.-secondary-inverse.is-disabled,.dps-button.-secondary-inverse:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-secondary-inverse svg{fill:#d0d2d3}.dps-button.-round{background:#01778e;border-radius:1.5rem;color:#fff;height:2.625rem;min-width:12.1875rem}.dps-button.-round.is-disabled,.dps-button.-round:disabled{background:transparent;border:1px solid #b9bbbd;color:#b9bbbd}.dps-button.-secondary-light{background:transparent;border:2px solid #fff;color:#fff}.dps-button.-secondary-light:hover{background:#fff;border-color:#fff;color:#293e40}.dps-button.-secondary-light.is-disabled,.dps-button.-secondary-light:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-destructive{background:#ca5b57;color:#fff}.dps-button.-destructive:hover{background:#fc726d}.dps-button.-destructive.is-disabled,.dps-button.-destructive:disabled{background:#fdaaa7}.dps-button.-sm{color:#000;font-family:ServiceNowSans-Book;font-size:1rem;gap:.125rem;height:auto;min-height:2rem;padding:.375rem 1rem}.dps-button.-sm.only-icon{padding:0;width:2rem}.dps-button.-sm.has-button-and-icon now-icon{width:2rem}.dps-button.-md{height:2.625rem;padding:0 1.5rem}.dps-button.-md.only-icon{padding:0;width:2.625rem}.dps-button.-md.has-button-and-icon now-icon{width:2.625rem}.dps-button.-lg{height:3.125rem;padding:0 2rem}.dps-button.-lg.only-icon{padding:0;width:3.125rem}.dps-button.-lg.has-button-and-icon now-icon{width:3.125rem}.dps-button.is-bare{background:transparent;border:none;color:#546566}.dps-button.is-bare:hover{background:transparent;border:none;color:#293e40}.dps-button.is-bare:hover svg{fill:#293e40}.dps-button.is-bare svg{fill:#546566}.dps-button.has-action now-icon{transition:transform .3s cubic-bezier(.075,.82,.165,1)}.dps-button.has-action:hover now-icon{transform:translateX(.125rem)}.dps-button.has-action:hover.-external-action now-icon{transform:translateX(1px) translateY(-1px)}.dps-button.is-white{color:#fff}.dps-button.-round-edge{border-radius:.5rem;height:auto;padding:.5rem 1rem}.dps-button-label+now-icon,.dps-button-label+svg{margin-left:.5rem}.dps-button-label+svg.-sm{height:.75rem;width:.75rem}.dps-button-label+svg.-md{height:1rem;width:1rem}.dps-button-label+svg.-lg{height:1.5rem;width:1.5rem}.dps-button-label+svg.-xl{height:2rem;width:2rem}.dps-general-feedback-form button{float:right;margin-top:1.5rem}.dps-general-feedback-form-fieldset{border:none;margin-bottom:1.5rem;padding:0}.dps-general-feedback-form-fieldset:first-of-type{grid-column:auto/auto;grid-row:1/3}.dps-general-feedback-form-fieldset>legend{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5}.dps-general-feedback-form-fieldset>legend span{color:#fc726d}.dps-general-feedback-form-fieldset>label{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5}.dps-general-feedback-form-fieldset>label span{color:#fc726d}.dps-general-feedback-form-fieldset-EmailField{margin-top:8px}.dps-general-feedback-form-field{padding-bottom:.25rem}.dps-general-feedback-form-field:first-of-type{padding-top:.5rem}.dps-general-feedback-form-field>input{cursor:pointer}.dps-general-feedback-form-field>label{color:#293e40;cursor:pointer;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;padding-left:.625rem}.dps-general-feedback-form-textarea{border-color:#d0d2d3;border-width:thin;font-family:ServiceNowSans-Light;grid-column:1/3;grid-row:auto/auto;resize:vertical}.dps-general-feedback-form-textarea.-error{border-color:#fc726d}.dps-general-feedback-form-textarea.-other{box-sizing:border-box;display:inline-block;grid-column:auto;padding-left:1rem;padding-right:1rem;resize:none;width:100%}.dps-general-feedback-form-textarea-msgs{display:flex;justify-content:flex-end;padding:.25rem 0 0}.dps-general-feedback-form-textarea>label{color:#293e40;display:block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;padding-bottom:.5rem}.dps-general-feedback-form-textarea>textarea{box-sizing:border-box;padding-left:1rem;padding-right:1rem;width:100%}.dps-general-feedback-form-msg{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;line-height:1.5;margin:0;padding:0 0 .8125rem}.dps-general-feedback-form-msg.-error{color:#fc726d;display:block;font-weight:700;padding:.25rem 0 0}.dps-general-feedback-form-textarea-msgs .dps-general-feedback-form-msg.-error{padding:0}.dps-general-feedback-form-msg.-chars-left{float:right;padding:.5rem 0 0}.dps-general-feedback-form-textarea-msgs .dps-general-feedback-form-msg.-chars-left{flex:0 0 auto;padding:0}.dps-general-feedback-form-msg.-successful{font-size:1rem;line-height:1.5;padding:1.5rem 0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-header-carousel{border:.0625rem solid #e8e8e9;max-width:34.3125rem;overflow:hidden}.dps-header-carousel>.dps-header-carousel-card-container{position:relative}.dps-header-carousel>.dps-header-carousel-card-container>.dps-header-carousel-card{display:inline-flex;height:100%;padding:0 2.25rem 1.6875rem;width:50%}@media only screen and (max-width:767.98px){.dps-header-carousel>.dps-header-carousel-card-container>.dps-header-carousel-card{padding:0 1rem 1.6875rem}}.dps-header-carousel>.dps-header-carousel-card-container>.dps-header-carousel-card>.dps-header-carousel-card-content{flex-basis:auto}.dps-header-carousel>.dps-header-carousel-card-container>.dps-header-carousel-card>.dps-header-carousel-card-content>.dps-header-carousel-card-badge{background-color:#def3ef;display:inline-block;font-family:ServiceNowSans-Medium;font-size:.8125rem;line-height:1.5rem;padding:0 .625rem;text-transform:uppercase}.dps-header-carousel>.dps-header-carousel-card-container>.dps-header-carousel-card>.dps-header-carousel-card-content>.dps-header-carousel-card-badge>.dps-header-carousel-card-badge-icon{left:-.125rem;position:relative;top:.125rem}.dps-header-carousel>.dps-header-carousel-card-container>.dps-header-carousel-card>.dps-header-carousel-card-content>.dps-header-carousel-card-header{font-family:ServiceNowSans-Medium;font-size:1rem;line-height:1.5rem;margin:1.875rem 0 1.375rem}.dps-header-carousel>.dps-header-carousel-card-container>.dps-header-carousel-card>.dps-header-carousel-card-content>.dps-header-carousel-card-text{font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5;margin-bottom:1.8125rem}.dps-header-carousel>.dps-header-carousel-card-container>.dps-header-carousel-card>.dps-header-carousel-card-img{align-items:center;display:flex;justify-content:center;width:100%}@media only screen and (max-width:767.98px){.dps-header-carousel>.dps-header-carousel-card-container>.dps-header-carousel-card>.dps-header-carousel-card-img{display:none}}.dps-header-carousel>.dps-header-carousel-activeCardSelector{cursor:pointer;display:flex;justify-content:center}.dps-header-carousel>.dps-header-carousel-activeCardSelector>.dps-header-carousel-activeCardSelector-block-container{padding:.625rem .25rem}.dps-header-carousel>.dps-header-carousel-activeCardSelector>.dps-header-carousel-activeCardSelector-block-container>.dps-header-carousel-activeCardSelector-block{background-color:#d0d2d3;height:.1875rem;transition:background-color .35s ease-out;width:2.75rem}.dps-header-carousel>.dps-header-carousel-activeCardSelector>.dps-header-carousel-activeCardSelector-block-container>.dps-header-carousel-activeCardSelector-block.active{background-color:#8a8e91}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-progress-bar{align-items:center;display:flex}.dps-progress-bar-completion-wrapper{background-color:#d0d2d3;flex:1;height:.25rem}.dps-progress-bar-completion{background-color:#5cc4af;height:100%;transition:width .25s linear}.dps-progress-bar-completion.paused{animation-play-state:paused}.dps-progress-bar-labels{margin-left:1rem;text-align:right;white-space:nowrap}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.tree{word-wrap:break-word;display:flex;flex-flow:column nowrap;overflow-wrap:break-word;width:100%;word-break:break-word}a:hover{cursor:pointer}.link{color:RGB(var(--now-checkbox_label--color));font-size:1rem;padding-top:.25rem}.link:focus-visible{outline:RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142)))}.tree-children-first-level[aria-label=Release] .link label{cursor:pointer}.tree-children-first-level[aria-label=Release] .tree-item-selected:hover,.tree-children-first-level[aria-label=Release] .tree-item:hover{font-weight:400}ul.tree-children{-webkit-margin-before:0;-webkit-padding-start:0;list-style-type:none;margin:0;margin-block-start:0;padding-inline-start:0}:host(:not([dir=rtl])) ul.tree-children,:root:not([dir=rtl]) ul.tree-children{margin-left:1rem}:host([dir=rtl]) ul.tree-children,:root[dir=rtl] ul.tree-children{margin-right:1rem}ul.tree-children-scroll{-webkit-margin-before:0;-webkit-padding-start:0;list-style-type:none;margin:0;margin-block-start:0;max-height:23.75rem;overflow-y:auto;padding-inline-start:0}:host(:not([dir=rtl])) ul.tree-children-scroll,:root:not([dir=rtl]) ul.tree-children-scroll{margin-left:1rem}:host([dir=rtl]) ul.tree-children-scroll,:root[dir=rtl] ul.tree-children-scroll{margin-right:1rem}ul.tree-children-first-level{-webkit-margin-before:0;-webkit-padding-start:0;list-style-type:none;margin:0;margin-block-start:0;padding-bottom:.25rem;padding-inline-start:0}:host(:not([dir=rtl])) ul.tree-children-first-level,:root:not([dir=rtl]) ul.tree-children-first-level{margin-left:1rem}:host([dir=rtl]) ul.tree-children-first-level,:root[dir=rtl] ul.tree-children-first-level{margin-right:1rem}:host(:not([dir=rtl])) ul.tree-children-first-level,:root:not([dir=rtl]) ul.tree-children-first-level{padding-left:.25rem}:host([dir=rtl]) ul.tree-children-first-level,:root[dir=rtl] ul.tree-children-first-level{padding-right:.25rem}ul.tree-children-first-level-scroll{-webkit-margin-before:0;-webkit-padding-start:0;list-style-type:none;margin:0;margin-block-start:0;max-height:23.75rem;overflow-y:auto;padding-bottom:.25rem;padding-inline-start:0}:host(:not([dir=rtl])) ul.tree-children-first-level-scroll,:root:not([dir=rtl]) ul.tree-children-first-level-scroll{margin-left:1rem}:host([dir=rtl]) ul.tree-children-first-level-scroll,:root[dir=rtl] ul.tree-children-first-level-scroll{margin-right:1rem}:host(:not([dir=rtl])) ul.tree-children-first-level-scroll,:root:not([dir=rtl]) ul.tree-children-first-level-scroll{padding-left:.25rem}:host([dir=rtl]) ul.tree-children-first-level-scroll,:root[dir=rtl] ul.tree-children-first-level-scroll{padding-right:.25rem}ul.tree-children-no-indent{-webkit-margin-before:0;-webkit-padding-start:0;list-style-type:none;margin-block-start:0;margin:0;padding-inline-start:0}:host(:not([dir=rtl])) ul.tree-children-no-indent,:root:not([dir=rtl]) ul.tree-children-no-indent{margin-left:1rem}:host([dir=rtl]) ul.tree-children-no-indent,:root[dir=rtl] ul.tree-children-no-indent{margin-right:1rem}ul.tree-children-no-indent-scroll{-webkit-margin-before:0;-webkit-padding-start:0;list-style-type:none;margin-block-start:0;margin:0;max-height:23.75rem;overflow-y:auto;padding-inline-start:0}:host(:not([dir=rtl])) ul.tree-children-no-indent-scroll,:root:not([dir=rtl]) ul.tree-children-no-indent-scroll{margin-left:1rem}:host([dir=rtl]) ul.tree-children-no-indent-scroll,:root[dir=rtl] ul.tree-children-no-indent-scroll{margin-right:1rem}.option-checkbox{width:100%}.tree-expand-button{align-items:center;color:RGB(var(--now-color--neutral-15,44,53,55));cursor:pointer;display:flex;height:inherit;justify-content:center}.tree-expand-button:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}.tree-expand-button::-moz-focus-inner{border-style:none}.tree-expand-button-selected{align-items:center;color:RGB(var(--now-color--neutral-15,44,53,55));color:RGB(var(--now-color--primary-1,30,133,109));cursor:pointer;display:flex;height:inherit;justify-content:center}.tree-expand-button-selected:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}.tree-expand-button-selected::-moz-focus-inner{border-style:none}.tree-expand-button-focus{height:1rem}.tree-expand-button-focus:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}.tree-expand-button-focus::-moz-focus-inner{border-style:none}.tree-item{align-items:center;display:flex;flex-flow:row nowrap;font-family:ServiceNowSans-Light;font-size:.75rem;font-weight:450;justify-content:space-between;padding-bottom:.5rem}.tree-item:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}.tree-item::-moz-focus-inner{border-style:none}.tree-item:hover{font-weight:600}.tree-item-selected{align-items:center;color:RGB(var(--now-color--secondary-1,1,119,142));display:flex;flex-flow:row nowrap;font-family:ServiceNowSans-Light;font-size:.75rem;font-weight:450;justify-content:space-between;padding-bottom:.5rem}.tree-item-selected:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}.tree-item-selected::-moz-focus-inner{border-style:none}.tree-item-selected:hover{font-weight:600}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}ol{background:#fff;border:1px solid #81b5a1;list-style:none;position:absolute;right:.5rem;top:1.5rem;width:10rem;z-index:1000}ol,ol li{margin:0;padding:0}ol li:hover{background:#81b5a1}ol li a,ol li button{background-color:transparent;border:none;color:#293e40;cursor:pointer;display:block;font-size:.875rem;letter-spacing:0;margin:0;padding:.25rem .75rem!important;text-align:left;text-decoration:none;text-transform:none;width:100%!important}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-icon-grid-item{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;justify-self:stretch;padding:.5rem;position:relative}.dps-icon-grid-item:hover{background-color:#f7f7f7}.dps-icon-grid-item:hover .action{opacity:1}.dps-icon-grid-item .icon{align-items:center;display:flex;flex-direction:column;justify-content:center}.dps-icon-grid-item p{font-family:ServiceNowSans-Light;font-size:.8125rem;letter-spacing:.02em;line-height:1.5;margin:8px 0 0;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dps-icon-grid-item .action{background:transparent;color:#000;cursor:pointer;height:1.5rem;line-height:1.5rem;opacity:0;padding-left:.25rem;position:absolute;right:.5rem;top:1rem;transition:opacity .5s;width:1.5rem}.dps-icon-grid-item .action now-icon{position:absolute;top:-.5rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-icon-gallery .content-block{grid-column-gap:2.5rem;display:grid;grid-template-areas:\\\"title title\\\" \\\"gallery sidebar\\\";grid-template-columns:minmax(0,1fr) minmax(8.75rem,22%);grid-template-rows:auto}.dps-icon-gallery .gallery{column-gap:.5rem;display:grid;grid-area:gallery;grid-auto-rows:5rem;-ms-grid-column:1;-ms-grid-row:2;grid-template-columns:repeat(4,minmax(0,11rem));row-gap:1rem}.dps-icon-gallery aside{align-self:start;grid-area:sidebar;-ms-grid-column:3;-ms-grid-row:2;position:-webkit-sticky;position:sticky;top:7rem}.dps-icon-gallery aside>div{margin-bottom:2rem}@media only screen and (max-width:1200px){.dps-icon-gallery .gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}@media only screen and (max-width:991.98px){.dps-icon-gallery .content-block{grid-template-areas:\\\"title\\\" \\\"sidebar\\\" \\\"gallery\\\";grid-template-columns:auto}.dps-icon-gallery aside{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;position:static}.dps-icon-gallery aside div{max-width:350px;padding-right:1rem;width:50%}.dps-icon-gallery .gallery{-ms-grid-column:1;-ms-grid-row:3}.dps-icon-gallery aside{-ms-grid-column:1;-ms-grid-row:2}}@media only screen and (max-width:600px){.dps-icon-gallery .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.dps-icon-gallery aside{display:flex;flex-direction:column}.dps-icon-gallery aside div{padding-right:.5rem;width:100%}}@media only screen and (max-width:380px){.dps-icon-gallery .gallery{grid-template-columns:minmax(0,1fr)}}dps-pagination{max-width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-image-card{background-color:#fff;border-radius:.25rem;box-shadow:inset 0 0 0 1px #d0d2d3,0 18px 22px -19px rgba(0,0,0,.07);color:#293e40;display:block;font-family:ServiceNowSans-Light;font-weight:400;height:100%;overflow:hidden;padding:1rem;position:relative}.dps-image-card-title{font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:500;line-height:1.5;margin:1rem 0}.dps-image-card-title:first-child{margin-top:0}.dps-image-card-image{max-width:100%}.dps-image-card-link{bottom:0;left:0;position:absolute;right:0;top:0;z-index:5}.dps-image-card-description{line-height:1.5}.dps-image-card-description,.dps-image-card-title{cursor:pointer;position:relative;z-index:10}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-image-grid{grid-gap:1rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}.dps-image-grid slot[name=do]::slotted(dps-image),.dps-image-grid slot[name=dont]::slotted(dps-image){--caption-align:left;--caption-margin-right:0;--caption-margin-left:0;border-top:5px solid;margin-top:2rem;position:relative}.dps-image-grid slot[name=do]::slotted(dps-image):before,.dps-image-grid slot[name=dont]::slotted(dps-image):before{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75;position:absolute;top:-2rem}.dps-image-grid slot[name=do]::slotted(dps-image){border-color:#5cc4af}.dps-image-grid slot[name=do]::slotted(dps-image):before{color:#5cc4af;content:\\\"Do\\\"}.dps-image-grid slot[name=dont]::slotted(dps-image){border-color:#fc726d}.dps-image-grid slot[name=dont]::slotted(dps-image):before{color:#fc726d;content:\\\"Don’t\\\"}@media screen and (max-width:767.98px){.dps-image-grid{grid-template-columns:minmax(0,1fr)}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-media{margin:0;max-width:100%}.dps-media .dps-media-frame{align-items:center;background-color:#f7f7f7;display:flex;justify-content:center;padding:2rem;width:100%}@media(max-width:575.98px){.dps-media .dps-media-frame{padding:1rem}}.dps-media .dps-media-frame.is-hidden{background:none;min-height:0}.-grid-item .dps-media .dps-media-frame{min-width:100%;padding:1rem}.dps-media.-align-left,.dps-media.-align-right{margin:.75rem 0;width:50%}.dps-media.-align-left .dps-media-frame,.dps-media.-align-right .dps-media-frame{padding:1rem}.dps-media.-align-left .autoplay-notice,.dps-media.-align-right .autoplay-notice{bottom:1rem;left:1rem;right:1rem;top:1rem}.dps-media.-align-left{float:left;margin-right:1rem}.dps-media.-align-right{float:right;margin-left:1rem}@media(max-width:575.98px){.dps-media.-align-left,.dps-media.-align-right{float:none;margin-left:0;margin-right:0;width:100%}}.dps-media img{max-width:100%}.dps-media figcaption{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;font-style:italic;line-height:1.5;margin-bottom:0;margin-left:var(--caption-margin-left,1rem);margin-right:var(--caption-margin-right,1rem);margin-top:.5rem;max-width:100%;text-align:var(--caption-align,center)}:host([slot=do]) .dps-media,:host([slot=dont]) .dps-media{display:flex;flex-direction:column}:host([slot=do]) .dps-media-frame,:host([slot=dont]) .dps-media-frame{min-width:0;padding:1rem;width:100%}:host([slot=do]) .autoplay-notice,:host([slot=dont]) .autoplay-notice{bottom:1rem;left:1rem;right:1rem;top:1rem}.dps-video-frame{position:relative}.dps-video-frame video{max-width:100%}.dps-video-frame .autoplay-notice{align-items:center;background-color:hsla(0,0%,100%,.7);bottom:2rem;display:flex;left:2rem;pointer-events:none;position:absolute;right:2rem;text-align:center;top:2rem}@media(max-width:575.98px){.dps-video-frame .autoplay-notice{bottom:1rem;left:1rem;right:1rem;top:1rem}}.dps-video-frame .autoplay-notice>span{display:block;flex:1}:host{display:block}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block;font-family:ServiceNowSans-Medium;font-size:.875rem;font-weight:500}.dps-inline-version-selector{text-align:left}.content-available-for-label{color:var(--dps-color-text-primary,#1d1d1d);display:inline-block;font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;line-height:1.5;margin-bottom:.25rem;margin-right:.625rem}.content-available-for-label.-is-block{display:block}.instance-icon{color:var(--dps-instance-icon-color,#fff);display:inline-block;height:1rem;margin-right:.25rem;position:relative;top:.14em;width:1rem}.latest-release-icon{align-items:center;display:inline-flex;justify-content:center;margin-left:.3125rem;padding-right:.3125rem}.latest-release-icon .server-icon{display:block;-webkit-filter:var(--dps-latest-release-icon-filter,none);filter:var(--dps-latest-release-icon-filter,none);height:1rem;width:1rem}.release-list{align-items:center;display:inline-flex;list-style-type:none}.release-list,.release-list li{margin:0;padding:0}.release-list li{display:inline-block;margin-right:.75rem}.release-list li button{align-items:center;background:none;border:0;border-bottom:2px solid transparent;color:var(--dps-color-text-primary,#1d1d1d);cursor:pointer;display:flex;font-family:ServiceNowSans-Regular;font-size:1rem;justify-content:center;line-height:1.5;margin:0;min-height:2rem;padding:0}.release-list li button:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.release-list li button:focus:not(:focus-visible){box-shadow:none;outline:none}.release-list li button:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.release-list li button:active{outline:none}.release-list li:last-child{margin-right:0}.release-list li.-is-selected button{border-bottom:2px solid #63df4e;color:var(--dps-color-text-primary,#1d1d1d);font-family:ServiceNowSans-Book}.release-list li.-is-disabled button{color:#939495;cursor:not-allowed}.release-list li.-is-disabled .instance-icon{opacity:.5}.-theme-light-text .instance-icon{color:var(--dps-instance-icon-color,#1d1d1d)}.-theme-light-text .release-list li button{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5}.-theme-light-text .release-list li.-is-selected button{border-bottom:2px solid #63df4e;color:#1d1d1d;font-family:ServiceNowSans-Book}.-theme-light-text .release-list li.-is-disabled button{color:#939495}.-theme-light-text .release-list li.-is-disabled .instance-icon{color:hsla(200,3%,64%,.5)}dps-badge{display:inline-block}now-dropdown{display:none;font-family:ServiceNowSans-Book}.-list-only now-dropdown{display:inline-block}.-list-only .content-available-for-label,.-list-only .release-list{display:none}@media(max-width:575.98px){.content-available-for-label,.content-available-for-label.-is-block,now-dropdown{display:inline-block}.release-list{display:none}}.inline-version-selector-pdi-mismatch-alert{color:#16243a;font-family:ServiceNowSans-Regular;font-size:1rem;margin-top:.625rem}.pdi-mismatch-version-icon{color:#ff924e;display:inline-block;margin-right:.125rem;position:relative;top:.0625rem}.pdi-mismatch-alert-mismatch-icon{color:#663a1f;cursor:pointer;display:flex;margin-left:auto}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block;width:100%}.dps-input-autocomplete{height:100%;width:100%}.dps-input-autocomplete .dps-input-autocomplete--input{position:relative}.dps-input-autocomplete .dps-input{align-items:center;border-color:#b9bbbd;border-style:solid;border-width:thin;display:flex;position:relative}.dps-input-autocomplete .dps-input input{-moz-appearance:none;-webkit-appearance:none;border:none;color:#293e40;display:block;font-family:ServiceNowSans-Light;font-size:1rem;height:1.875rem;outline:none;padding:0 1rem;position:relative;width:100%}@media(max-width:767.98px){.dps-input-autocomplete .dps-input input{font-size:1rem;padding:0 .5rem}}.dps-input-autocomplete .dps-input input::-webkit-search-cancel-button{display:none}.dps-input-autocomplete .dps-input input:focus{outline:none}.dps-input-autocomplete .dps-input input::-webkit-input-placeholder{color:#8a8e91}.dps-input-autocomplete .dps-input input::placeholder{color:#8a8e91}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{-moz-appearance:none;-webkit-appearance:none;border:none;display:block;outline:0}.dps-input{align-items:center;border:1px solid #d5d7db;border-radius:.25rem;display:flex;overflow:clip;padding:.5rem 0;position:relative}.dps-input.-filter input{padding:0}.dps-input.-filter now-icon{color:#b9bbbd}.dps-input.-filter now-icon.dps-input-prefix{padding:0 0 0 .5rem}.dps-input.-filter now-icon.dps-input-clear{padding:0 .5rem 0 0}.dps-input.-error{border-color:#fc726d}.dps-input.-bare{border:none}:host([type=search]) .dps-input.-bare input{margin-top:-1px;padding-top:1px}.dps-input.-lg input{font-family:ServiceNowSans-Light;font-size:1.3125rem;height:auto;line-height:1.5;padding:0 .75rem 0 1rem}@media(max-width:767.98px){.dps-input.-lg input{font-size:1rem;padding:0 .5rem}}.dps-input.-search input{width:calc(100% - 1em)}@media(max-width:767.98px){.dps-input.-search input{width:calc(100% - 1.5em)}}.dps-input input{-moz-appearance:none;-webkit-appearance:none;background:transparent;border:none;color:#293e40;display:block;font-family:ServiceNowSans-Light;font-size:.875rem;height:auto;outline:none;padding:0 1rem;position:relative;width:100%}@media(max-width:767.98px){.dps-input input{font-size:.8125rem;padding:.5rem .5rem}}.dps-input input::-webkit-search-cancel-button{display:none}.dps-input input:focus{outline:none}.dps-input input::-webkit-input-placeholder{color:hsla(231,3%,43%,.5);font-family:ServiceNowSans-Light;font-size:.875rem;line-height:normal}.dps-input input::placeholder{color:hsla(231,3%,43%,.5);font-family:ServiceNowSans-Light;font-size:.875rem;line-height:normal}.dps-input-clear-search{background-color:#d0d2d3;border-radius:100%;color:#fff;content:\\\"×\\\";cursor:pointer;height:1em;line-height:1;margin-top:-.5em;position:absolute;right:.5em;text-align:center;top:50%;width:1em}.dps-input-label{color:#293e40;display:block;font-family:ServiceNowSans-Regular;font-size:.75rem;letter-spacing:.1em;padding-bottom:.5rem;position:relative;text-transform:uppercase}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-button{align-items:center;border:none;color:inherit;cursor:pointer;display:inline-flex;font-family:ServiceNowSans-Book;font-size:1rem;font-weight:400;justify-content:center;letter-spacing:.01em;line-height:1.1;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),border .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:nowrap;width:inherit}.dps-button:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-button:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:active{color:currentColor}.dps-button.is-disabled,.dps-button:disabled{cursor:not-allowed}.dps-button.-primary{background:var(--dps-button-primary-bg,#62d84e);border:2px solid var(--dps-button-primary-border-color,#62d84e);border-radius:.5rem;color:#1d1d1d;font-family:ServiceNowSans-Book}.dps-button.-primary:hover{background:#62d84e;border-color:var(--dps-button-primary-hover-border-color,#62d84e);color:var(--dps-button-primary-hover-color,#1d1d1d)}.dps-button.-primary.is-disabled,.dps-button.-primary:disabled{background:#b9bbbd}.dps-button.-primary svg{fill:#fff}.dps-button.-primary-inverse{background:#62d84e;border:2px solid #62d84e;border-radius:.5rem;color:#000;font-family:ServiceNowSans-Book}.dps-button.-primary-inverse:hover{background:#fff}.dps-button.-primary-inverse.is-disabled,.dps-button.-primary-inverse:disabled{background:#8a8e91}.dps-button.-primary-inverse svg{fill:#62d84e}.dps-button.-secondary{background:var(--dps-button-secondary-bg,#fff);border:var(--dps-button-secondary-border-width,2px) solid var(--dps-button-secondary-border-color,#62d84e);border-radius:.5rem;color:var(--dps-button-secondary-color,#1d1d1d);font-family:ServiceNowSans-Book;font-size:1rem}.dps-button.-secondary:hover{background:var(--dps-button-secondary-hover-bg,#62d84e);border-color:var(--dps-button-secondary-hover-border-color,#62d84e);box-shadow:var(--dps-button-secondar-hover-box-shadow);color:var(--dps-button-secondary-hover-color,#000)}.dps-button.-secondary:hover svg{fill:#fff}.dps-button.-secondary.is-bare{color:#032d42;font-family:ServiceNowSans-Book;font-size:1rem;line-height:normal}.dps-button.-secondary.is-disabled,.dps-button.-secondary:disabled{background:transparent;border-color:#b9bbbd;color:#b9bbbd}.dps-button.-secondary svg{fill:#1d1d1d}.dps-button.-secondary-inverse{background:#fff;border:2px solid #62d84e;border-radius:.5rem}.dps-button.-secondary-inverse:hover{background:#62d84e;border-color:#62d84e}.dps-button.-secondary-inverse:hover svg{fill:#62d84e}.dps-button.-secondary-inverse.is-disabled,.dps-button.-secondary-inverse:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-secondary-inverse svg{fill:#d0d2d3}.dps-button.-round{background:#01778e;border-radius:1.5rem;color:#fff;height:2.625rem;min-width:12.1875rem}.dps-button.-round.is-disabled,.dps-button.-round:disabled{background:transparent;border:1px solid #b9bbbd;color:#b9bbbd}.dps-button.-secondary-light{background:transparent;border:2px solid #fff;color:#fff}.dps-button.-secondary-light:hover{background:#fff;border-color:#fff;color:#293e40}.dps-button.-secondary-light.is-disabled,.dps-button.-secondary-light:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-destructive{background:#ca5b57;color:#fff}.dps-button.-destructive:hover{background:#fc726d}.dps-button.-destructive.is-disabled,.dps-button.-destructive:disabled{background:#fdaaa7}.dps-button.-sm{color:#000;font-family:ServiceNowSans-Book;font-size:1rem;gap:.125rem;height:auto;min-height:2rem;padding:.375rem 1rem}.dps-button.-sm.only-icon{padding:0;width:2rem}.dps-button.-sm.has-button-and-icon now-icon{width:2rem}.dps-button.-md{height:2.625rem;padding:0 1.5rem}.dps-button.-md.only-icon{padding:0;width:2.625rem}.dps-button.-md.has-button-and-icon now-icon{width:2.625rem}.dps-button.-lg{height:3.125rem;padding:0 2rem}.dps-button.-lg.only-icon{padding:0;width:3.125rem}.dps-button.-lg.has-button-and-icon now-icon{width:3.125rem}.dps-button.is-bare{background:transparent;border:none;color:#546566}.dps-button.is-bare:hover{background:transparent;border:none;color:#293e40}.dps-button.is-bare:hover svg{fill:#293e40}.dps-button.is-bare svg{fill:#546566}.dps-button.has-action now-icon{transition:transform .3s cubic-bezier(.075,.82,.165,1)}.dps-button.has-action:hover now-icon{transform:translateX(.125rem)}.dps-button.has-action:hover.-external-action now-icon{transform:translateX(1px) translateY(-1px)}.dps-button.is-white{color:#fff}.dps-button.-round-edge{border-radius:.5rem;height:auto;padding:.5rem 1rem}.dps-button-label+now-icon,.dps-button-label+svg{margin-left:.5rem}.dps-button-label+svg.-sm{height:.75rem;width:.75rem}.dps-button-label+svg.-md{height:1rem;width:1rem}.dps-button-label+svg.-lg{height:1.5rem;width:1.5rem}.dps-button-label+svg.-xl{height:2rem;width:2rem}.catItemResult-message,.opResult-message{margin-top:.625rem;padding:.625rem}.catItemResult-message.-inProgress,.opResult-message.-inProgress{background-color:#e6f0ec;border:1px solid #cde1d9;color:#293e40}.catItemResult-message.-failed,.opResult-message.-failed{background-color:#fec7c5;border:1px solid #e6f0ec;color:#fc726d}.opResult-message{min-height:3.75rem}.instanceModal{display:flex;margin:0;width:100%}@media(max-width:991.98px){.instanceModal{overflow:auto}}.instanceModal ul{display:flex;flex-direction:column;list-style-type:none;margin:0;padding:0}.instanceModal-verticalTabs{border-right:1px solid #c6c6c6;flex:1 0 18.3125rem;font-family:ServiceNowSans-Regular;max-width:18.3125rem;position:static}.instanceModal-verticalTabItem{box-sizing:border-box;color:#474d52;display:block;padding:.625rem 0 .625rem 1.4375rem}.instanceModal-verticalTabItem:hover{cursor:pointer}.instanceModal-verticalTabItem.-active{background-color:#e6f0ec;box-shadow:inset 8px 0 #81b5a1}.instanceModal-verticalTabItem.-disabled{color:#d0d2d3;pointer-events:none}.instanceModal-verticalTabItem.-disabled:hover{cursor:not-allowed}.instanceModal-content-container{display:block;width:100%}.instanceModal-content{flex:1 0 64%;margin:0;min-height:34.25rem;overflow-y:scroll;padding:1rem 0 0 1.5rem;position:relative;width:100%}@media(max-width:991.98px){.instanceModal-content{padding:.5rem;width:calc(100vw - 32px)}}.instanceModal-content.-instanceHelp{overflow:hidden}.instanceModal-content.-activate-plugin{padding-bottom:calc(1% + 28px)}.instanceModal-contentView{display:none;height:auto;min-height:30.75rem;padding-bottom:1.5625rem}.instanceModal-contentView.-visible{display:block}.instanceModal-contentView h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5;margin:0 0 .5rem}.instanceModal-contentView h3 now-icon{color:#fc726d;margin-right:.5rem;vertical-align:-.0625rem}.instanceModal-contentView .contentOpRequest-DoneButton{margin-top:.625rem}.instanceModal-contentView .instanceModal-contentMain{min-height:inherit}.instanceModal-contentView .instanceModal-contentMain,.instanceModal-contentView .instanceModal-contentOpRequest,.instanceModal-contentView .instanceModal-contentOpRequestInProgress{display:none}.instanceModal-contentView .instanceModal-contentMain.-visible,.instanceModal-contentView .instanceModal-contentOpRequest.-visible,.instanceModal-contentView .instanceModal-contentOpRequestInProgress.-visible{display:block}.instanceModal-contentView .instanceModal-contentMain img,.instanceModal-contentView .instanceModal-contentOpRequest img,.instanceModal-contentView .instanceModal-contentOpRequestInProgress img{display:block;margin:6.125rem auto 0 auto}.instanceModal-contentView .instanceModal-confirmationView{display:flex;flex-direction:column;min-height:inherit}.instanceModal-contentView .instanceModal-confirmationView .upgradeInstance p{font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;margin:0 0 1rem}.instanceModal-contentView .instanceModal-confirmationView .upgradeInstance p.currentVersion{font-family:ServiceNowSans-Medium;font-size:.875rem;line-height:2;margin:0 0 .5rem}.instanceModal-contentView .instanceModal-confirmationView .upgradeInstance .releaseSelector{display:flex;flex-wrap:wrap;max-width:100%}.instanceModal-contentView .instanceModal-confirmationView .upgradeInstance .releaseCard{box-sizing:border-box;flex:0 0 18.0625rem;padding:1.6875rem 2.5625rem;position:relative}.instanceModal-contentView .instanceModal-confirmationView .upgradeInstance .releaseCard.-selected{background-color:#9ddccf;border:1px dashed #c6c6c6}.instanceModal-contentView .instanceModal-confirmationView .upgradeInstance .releaseCard.-disabled{color:#d0d2d3}.instanceModal-contentView .instanceModal-confirmationView .upgradeInstance .releaseCard.-disabled:hover{cursor:not-allowed}.instanceModal-contentView .instanceModal-confirmationView .upgradeInstance .releaseCard:hover{background-color:#cde1d9;cursor:pointer}.instanceModal-contentView .instanceModal-confirmationView .upgradeInstance .releaseCard-img{height:4.625rem;margin-top:5.625rem;width:6.25rem}.instanceModal-contentView .instanceModal-confirmationView .upgradeInstance .releaseCard-img img{display:block;max-height:100%;max-width:100%}.instanceModal-contentView .instanceModal-confirmationView .upgradeInstance .releaseCard-latest{background-color:#e1ecef;border-radius:.25rem;box-sizing:border-box;color:#546566;font-family:ServiceNowSans-Medium;font-size:.75rem;height:1.625rem;padding:.3125rem 1rem;position:absolute;width:4.25rem}.instanceModal-contentView .instanceModal-confirmationView .upgradeInstance .releaseCard-title{display:block;font-family:ServiceNowSans-Medium;font-size:1.3125rem;margin-top:2.125rem}.instanceModal-contentView .instanceModal-confirmationView .instanceModal-textField{height:9.375rem;width:100%}.instanceModal-contentView .instanceModal-confirmationView .instanceModal-suggestiveText{margin-top:1rem}.instanceModal-contentView .instanceModal-confirmationView .instanceModal-charsLeft{font-size:.8125rem;text-align:right}.instanceModal-contentView .instanceModal-confirmationView .instanceModal-dropdown{display:flex}.instanceModal-contentView .instanceModal-confirmationView .instanceModal-dropdown-question{padding-bottom:.75rem;padding-top:2rem}.instanceModal-contentView .instanceModal-confirmationView .sendRecieveMesage{flex:1 0 auto;line-height:1.5;margin-bottom:22rem;white-space:pre-line}.instanceModal-contentView .instanceModal-confirmationView .viewMessage{flex:1 0 auto;line-height:1.5;margin-bottom:1.875rem;white-space:pre-line}.instanceModal-contentView .instanceModal-confirmationView .viewMessage_reset-instance{margin-top:1.5rem}.instanceModal-contentView .instanceModal-confirmationView .viewMessage_reset-instance_note{color:#546566;font-size:.8125rem;font-weight:700;height:1.5rem;letter-spacing:0;line-height:1.1;margin-bottom:.75rem}.instanceModal-contentView .instanceModal-confirmationView .viewMessage_reset-instance_options{margin-bottom:.5rem}.instanceModal-contentView .instanceModal-confirmationView .viewMessage_reset-instance_options_label{margin-left:.75rem;vertical-align:text-top}.instanceModal-contentView .instanceModal-confirmationView .resetPassword-boldText{font-weight:800}.instanceModal-contentView .instanceModal-confirmationView .resetPassword-heading{margin-bottom:.75rem}.instanceModal-contentView .instanceModal-confirmationView .resetPassword-info{font-size:.8125rem;margin-bottom:.375rem}.instanceModal-contentView .instanceModal-confirmationView .resetPassword-info now-icon{margin-right:.75rem}.instanceModal-contentView .instanceModal-confirmationView .resetPassword-info .resetPassword-value{font-weight:800}.instanceModal-contentView .instanceModal-confirmationView .resetPassword-emailText{margin-bottom:.8125rem;margin-top:1.5rem}.instanceModal-contentView .instanceModal-confirmationView .resetPassword-emailText now-icon,.instanceModal-contentView .instanceModal-confirmationView .resetPassword-resetText now-icon{margin-right:.5rem}.viewFooter{flex:0 0 auto;text-align:right}.instanceModal-operationMessage{margin-bottom:.5rem}.instanceModal-changeUserTab .roleRadioButtons{display:flex;padding-top:.75rem}.instanceModal-changeUserTab .roleRadioButtons label{padding-left:.6875rem;padding-right:3.125rem}.instanceModal-changeUserTab .roleDescription{display:none}.instanceModal-changeUserTab .roleDescription.-is-visible{display:block}.instanceModal-changeUserTab .roleDescription .roleDescription-text{padding-bottom:1.9375rem;padding-top:1.625rem}.instanceModal-changeUserTab .roleDescription .roleDescription-image{margin:0 0 90px 0}input[type=radio]{margin-top:.125rem}input[type=radio]:after{border:1px solid #5c6f72;border-radius:15px}input[type=radio]:after,input[type=radio]:checked:after{background-color:#fff;content:\\\"\\\";display:inline-block;height:15px;visibility:visible;width:15px}input[type=radio]:checked:after{border:5px solid #334b4f;border-radius:15px}.instanceModal-contentView-instanceHelp{height:calc(100% + 25px);overflow:hidden;position:relative;width:calc(100% + 64px)}@media(max-width:991.98px){.instanceModal-contentView-instanceHelp{width:100%}}.instanceModal-contentView-instanceHelp h4{line-height:1.75;margin-top:0}.instanceModal-contentView-instanceHelp p{line-height:1.5;width:calc(100% - 20px)}.instanceModal-contentView-instanceHelp li{margin:1.5rem 0}.instanceModal-contentView-operationHistory .top{margin-top:0}.instanceModal-contentView-operationHistory .row{border-bottom:1px solid #c6c6c6;padding-bottom:.75rem;padding-top:.875rem}.instanceModal-contentView-operationHistory .row .col-4.-operation{font-weight:600;text-align:left}.instanceModal-contentView-operationHistory .row .col-4.-status{text-align:left}.instanceModal-contentView-operationHistory .row .col-4.-date{text-align:center}.instanceModal-contentView-operationHistory .operationHistory dps-spinner{margin-top:1.5rem}.instanceModal-contentView-operationHistory .pagination{margin-bottom:.75rem;margin-top:.75rem}.instanceModal-checkbox{align-items:center;background:#f7f7f7;border:1px solid #c6c6c6;border-radius:.25rem;display:flex;margin-bottom:1rem;padding:1rem}.instanceModal-checkbox>label{padding-left:1.75rem;position:relative;text-align:left}.instanceModal-checkbox>label:before{background-color:transparent;border:2px solid #474d52;border-radius:.25rem;content:\\\"\\\";cursor:pointer;display:block;height:1.25rem;left:0;position:absolute;top:0;width:1.25rem}.instanceModal-checkbox>input[type=checkbox]{cursor:pointer;opacity:0;position:absolute;z-index:1}.instanceModal-checkbox>input[type=checkbox]:focus+label:before{box-shadow:0 0 0 2px #5cc4af;outline:none}.instanceModal-checkbox>input[type=checkbox]:checked+label:before{background-color:#293e40;border-color:#293e40}.instanceModal-checkbox>input[type=checkbox]:checked+label:after{border:solid #fff;border-width:0 3px 3px 0;content:\\\"\\\";display:block;height:.8125rem;left:.375rem;position:absolute;top:.125rem;transform:rotate(45deg);width:.5rem}.instanceModal-checkBox{align-items:center;display:flex;line-height:1.25rem;margin-bottom:1rem;padding:1rem 0}.instanceModal-checkBox>label{padding-left:1.75rem;position:relative;text-align:left}.instanceModal-checkBox>label:before{background-color:transparent;border:2px solid #474d52;border-radius:.25rem;content:\\\"\\\";cursor:pointer;display:block;height:1.25rem;left:0;position:absolute;top:0;width:1.25rem}.instanceModal-checkBox>input[type=checkbox]{cursor:pointer;opacity:0;position:absolute;z-index:1}.instanceModal-checkBox>input[type=checkbox]:focus+label:before{box-shadow:0 0 0 2px #fff;outline:none}.instanceModal-checkBox>input[type=checkbox]:checked+label:before{background-color:#293e40;border-color:#293e40}.instanceModal-checkBox>input[type=checkbox]:checked+label:after{border:solid #fff;border-width:0 3px 3px 0;content:\\\"\\\";display:block;height:.8125rem;left:.375rem;position:absolute;top:.125rem;transform:rotate(45deg);width:.5rem}.instanceModal-pluginView .filterPlugins{border:0;border-bottom:1px solid;height:1.8125rem;margin-left:2.5rem;min-width:11.1875rem}.instanceModal-pluginView .filterPlugins:focus{outline:none}.instanceModal-pluginView .pluginActivate-withDemoWrapper{position:relative}.instanceModal-pluginView .pluginActivate-button{margin-left:2.5rem}.instanceModal-pluginView .pluginActivate-button:hover{background-color:#cde1d9}.instanceModal-pluginView .pluginActivate-dropdown{background-color:#fff;border:1px solid #474d52;display:none;position:absolute;right:3.125rem;width:15.625rem;z-index:1}.instanceModal-pluginView .pluginActivate-dropdown li{margin-left:0;padding:.625rem .3125rem}.instanceModal-pluginView .pluginActivate-dropdown li:hover{cursor:pointer}.instanceModal-pluginView .pluginActivate-dropdown.-visible{display:block}.row .titleCell{flex:1 0 70%}.row .actionCell{display:flex;flex:1 0 29%;justify-content:flex-end}.row .description,.row .title{display:block}.row.-header{font-size:.8125rem}.row.-header,.row.-plugin{border-bottom:1px solid #c6c6c6;padding-bottom:.75rem}.row.-plugin{align-items:center;display:inline-flex;padding-top:.875rem;width:100%}.row.-plugin .actionCell{display:flex;justify-content:flex-end;position:relative;text-align:left}.row.-plugin .description{font-size:.8125rem;line-height:1.4}.row.-plugin .title{font-family:ServiceNowSans-Medium;font-size:.875rem;line-height:1.75}.row.-end{display:block}.row.-end p{font-size:.8125rem}.resetPassword-confirmation{margin-bottom:2rem}.resetPassword-spinner{margin:0;position:absolute;top:50%;transform:translateY(-50%)}.instanceModal-email-operation-success{align-items:flex-start;background-color:#c9e0ca;border:1px solid #77b27b;border-radius:.25rem;display:block;justify-content:flex-start;padding:.75rem 1rem}.instanceModal-email-operation-success now-icon{padding-right:.75rem}.instanceModal-email-operation-success .alert-close-icon{cursor:pointer;float:right}.instanceModal-email-operation-failure{align-items:flex-start;background-color:#fee3e2;border:1px solid #fd8e8a;border-radius:.25rem;color:#fc726d;display:block;justify-content:flex-start;padding:.75rem 1rem}.instanceModal-email-operation-failure now-icon{padding-right:.75rem}.instanceModal-email-operation-failure .alert-close-icon{cursor:pointer;float:right}.switch-btn{background-color:#acb4b5;border:1px solid #637274;border-radius:6.25rem;cursor:pointer;height:1rem;margin-top:-1.25rem;position:relative;width:3rem}.switch-btn:before{background:#fff;border:1px solid #879394;border-radius:50%;box-shadow:0 2px 4px 0 rgba(0,0,0,.3);content:\\\"\\\";height:1.5rem;left:-.3125rem;position:absolute;top:-.3125rem;transition:all .15s ease-out;width:1.5rem}input[type=checkbox]{margin-left:5px}input[type=checkbox]:checked+.switch-btn:before{left:1.5rem}input[type=checkbox]:checked+.switch-btn{background:#01778e;border:1px solid #01778e}.instanceModal-toggle{align-items:baseline;display:flex;padding-left:.3125rem;padding-top:1.5rem}.switch-label{margin-left:.75rem}.instanceModal-processMessage{padding-bottom:1.25rem;padding-top:.375rem}.dps-email-tooltip-button{display:inline-grid}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-request-instance img{margin:1rem auto}.dps-request-instance dps-button{margin:1.5rem 0 1.5rem}.dps-request-instance-heading{color:#293e40;font-weight:400;line-height:1.75;text-align:center;white-space:nowrap}.dps-request-instance-heading,.dps-request-instance-restoreLink{font-family:ServiceNowSans-Regular;font-size:1rem;margin:0}.dps-request-instance-restoreLink dps-button{font-family:ServiceNowSans-Regular;margin:0}.dps-request-instance-content sup{font-size:1em;top:0;vertical-align:.1em}:host{display:block}.dps-instance-sidebar-container{max-width:22rem;width:100%}.dps-instance-sidebar-container .dps-instance-sidebar-card-header .dps-instance-sidebar-header-text{font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5;padding-left:.75rem}.dps-instance-sidebar-container .dps-instance-sidebar-card-header .dps-instance-sidebar-status{border-radius:.25rem;float:right;font-family:ServiceNowSans-Light;font-size:.8125rem;padding:.5rem .75rem}.dps-instance-sidebar-container .dps-instance-sidebar-card-header .dps-instance-sidebar-status-hibernating{background:#e8e8e9;color:#8a8e91}.dps-instance-sidebar-container .dps-instance-sidebar-card-header .dps-instance-sidebar-status-outage{background:#fee3e2;color:#fc726d}.dps-instance-sidebar-container .dps-instance-sidebar-card-header .dps-instance-sidebar-status-ismaintenance{background:#ff924e}.dps-instance-sidebar-container .dps-instance-sidebar-card-header .dps-instance-sidebar-status-label{padding-left:.5rem}.dps-instance-sidebar-container .dps-instance-sidebar-card-header .dps-instance-sidebar-label-icon{cursor:pointer}.dps-instance-sidebar-container .dps-instance-sidebar-card-header .dps-instance-sidebar-status-progress-label{padding:.25rem}.dps-instance-sidebar-container .dps-instance-sidebar-card-header .dps-instance-sidebar-status-progress{background:#e8e8e9;color:#474d52;padding-left:.25rem}.dps-instance-sidebar-container .dps-instance-sidebar-card-header .dps-instance-sidebar-status-isrestore{background:#e8e8e9;color:#474d52}.dps-instance-sidebar-container .dps-instance-sidebar-card-header .dps-instance-sidebar-status-request-process{background:#5c6ac4}.dps-instance-sidebar-container .dps-instance-sidebar-card-header .dps-instance-sidebar-status-online{background:#5cc4af;color:#636363}.dps-instance-sidebar-container .dps-instance-sidebar-content{background:#f7f7f7;padding:1.75rem}.dps-instance-sidebar-container .dps-instance-sidebar-content__instance-actions{align-items:baseline;display:flex;margin:1rem 0 0}.dps-instance-sidebar-container .dps-instance-sidebar-content__instance-actions dps-dropdown-button{margin-left:1.5rem}.dps-instance-sidebar-container .dps-instance-sidebar-content__instance-actions+.dps-instance-sidebar-content-header-status,.dps-instance-sidebar-container .dps-instance-sidebar-content__instance-actions+.dps-instance-sidebar-content-row{margin-top:1rem}.dps-instance-sidebar-container .dps-instance-sidebar-content p{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;margin:0}.dps-instance-sidebar-container .dps-instance-sidebar-content .dps-instance-sidebar-content-header{color:#474d52}.dps-instance-sidebar-container .dps-instance-sidebar-content .dps-instance-sidebar-content-header-status{align-items:center;display:flex;font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5}.dps-instance-sidebar-container .dps-instance-sidebar-content .dps-instance-sidebar-content-header-status img{height:1.5rem;margin-right:.25rem;width:1.5rem}.dps-instance-sidebar-container .dps-instance-sidebar-content .dps-instance-sidebar-content-header-status label{color:#474d52;font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5}.dps-instance-sidebar-container .dps-instance-sidebar-content .dps-instance-sidebar-content-desc{font-size:.875rem}.dps-instance-sidebar-container .dps-instance-sidebar-content .dps-instance-sidebar-content-desc .dps-instance-sidebar-content-desc-time{font-weight:700}.dps-instance-sidebar-container .dps-instance-sidebar-content .dps-instance-sidebar-content-desc .dps-instance-sidebar-content-desc-text{padding-top:.75rem}.dps-instance-sidebar-container .dps-instance-sidebar-content .dps-instance-sidebar-content-btn-group{margin:.5rem 0 1rem}.dps-instance-sidebar-container .dps-instance-sidebar-content .dps-instance-sidebar-content-btn-group .dps-instance-sidebar-content-btn-icon{padding-left:.25rem}.dps-instance-sidebar-container .dps-instance-sidebar-content .dps-instance-sidebar-content-btn-group .dps-instance-sidebar-content-restore{color:#474d52;cursor:pointer;font-family:ServiceNowSans-Regular;font-size:.875rem;padding-top:1rem}.dps-instance-sidebar-container .dps-instance-sidebar-content .dps-instance-sidebar-content-btn-waitlist{margin-top:.5rem}.dps-instance-sidebar-container .dps-instance-sidebar-content.dps-instance-sidebar-content-instance-info .dps-instance-sidebar-content-instance-info-text{cursor:pointer;display:block;font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5}.dps-instance-sidebar-container .dps-instance-sidebar-content.dps-instance-sidebar-content-instance-info .dps-instance-sidebar-content-actions{padding-top:.75rem}.dps-instance-sidebar-container .dps-instance-sidebar-content.dps-instance-sidebar-content-instance-info .dps-instance-sidebar-content-actions .dps-instance-sidebar-dropdown{float:left}.dps-instance-sidebar-container .dps-instance-sidebar-content.dps-instance-sidebar-content-instance-info .dps-instance-sidebar-content-actions .dps-instance-sidebar-reset-timer{color:#474d52;cursor:pointer;font-family:ServiceNowSans-Light;padding-left:2.5rem}.dps-instance-sidebar-container .dps-instance-sidebar-content.dps-instance-sidebar-content-instance-info .dps-instance-sidebar-info-icon{padding-left:.5rem;padding-right:.5rem}.dps-instance-sidebar-container .dps-instance-sidebar-content h6{color:#474d52;font-family:ServiceNowSans-Medium;font-size:.75rem;font-weight:400;letter-spacing:.1em;line-height:1;margin:0 0 .25rem;text-transform:uppercase}.dps-instance-sidebar-content-row{margin:0 0 1rem}.dps-instance-sidebar-content-row:last-child{margin:0}hr{border:none;border-bottom:1px solid #dadbdc;height:1px;margin-bottom:1rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-button{align-items:center;border:none;color:inherit;cursor:pointer;display:inline-flex;font-family:ServiceNowSans-Book;font-size:1rem;font-weight:400;justify-content:center;letter-spacing:.01em;line-height:1.1;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),border .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:nowrap;width:inherit}.dps-button:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-button:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:active{color:currentColor}.dps-button.is-disabled,.dps-button:disabled{cursor:not-allowed}.dps-button.-primary{background:var(--dps-button-primary-bg,#62d84e);border:2px solid var(--dps-button-primary-border-color,#62d84e);border-radius:.5rem;color:#1d1d1d;font-family:ServiceNowSans-Book}.dps-button.-primary:hover{background:#62d84e;border-color:var(--dps-button-primary-hover-border-color,#62d84e);color:var(--dps-button-primary-hover-color,#1d1d1d)}.dps-button.-primary.is-disabled,.dps-button.-primary:disabled{background:#b9bbbd}.dps-button.-primary svg{fill:#fff}.dps-button.-primary-inverse{background:#62d84e;border:2px solid #62d84e;border-radius:.5rem;color:#000;font-family:ServiceNowSans-Book}.dps-button.-primary-inverse:hover{background:#fff}.dps-button.-primary-inverse.is-disabled,.dps-button.-primary-inverse:disabled{background:#8a8e91}.dps-button.-primary-inverse svg{fill:#62d84e}.dps-button.-secondary{background:var(--dps-button-secondary-bg,#fff);border:var(--dps-button-secondary-border-width,2px) solid var(--dps-button-secondary-border-color,#62d84e);border-radius:.5rem;color:var(--dps-button-secondary-color,#1d1d1d);font-family:ServiceNowSans-Book;font-size:1rem}.dps-button.-secondary:hover{background:var(--dps-button-secondary-hover-bg,#62d84e);border-color:var(--dps-button-secondary-hover-border-color,#62d84e);box-shadow:var(--dps-button-secondar-hover-box-shadow);color:var(--dps-button-secondary-hover-color,#000)}.dps-button.-secondary:hover svg{fill:#fff}.dps-button.-secondary.is-bare{color:#032d42;font-family:ServiceNowSans-Book;font-size:1rem;line-height:normal}.dps-button.-secondary.is-disabled,.dps-button.-secondary:disabled{background:transparent;border-color:#b9bbbd;color:#b9bbbd}.dps-button.-secondary svg{fill:#1d1d1d}.dps-button.-secondary-inverse{background:#fff;border:2px solid #62d84e;border-radius:.5rem}.dps-button.-secondary-inverse:hover{background:#62d84e;border-color:#62d84e}.dps-button.-secondary-inverse:hover svg{fill:#62d84e}.dps-button.-secondary-inverse.is-disabled,.dps-button.-secondary-inverse:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-secondary-inverse svg{fill:#d0d2d3}.dps-button.-round{background:#01778e;border-radius:1.5rem;color:#fff;height:2.625rem;min-width:12.1875rem}.dps-button.-round.is-disabled,.dps-button.-round:disabled{background:transparent;border:1px solid #b9bbbd;color:#b9bbbd}.dps-button.-secondary-light{background:transparent;border:2px solid #fff;color:#fff}.dps-button.-secondary-light:hover{background:#fff;border-color:#fff;color:#293e40}.dps-button.-secondary-light.is-disabled,.dps-button.-secondary-light:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-destructive{background:#ca5b57;color:#fff}.dps-button.-destructive:hover{background:#fc726d}.dps-button.-destructive.is-disabled,.dps-button.-destructive:disabled{background:#fdaaa7}.dps-button.-sm{color:#000;font-family:ServiceNowSans-Book;font-size:1rem;gap:.125rem;height:auto;min-height:2rem;padding:.375rem 1rem}.dps-button.-sm.only-icon{padding:0;width:2rem}.dps-button.-sm.has-button-and-icon now-icon{width:2rem}.dps-button.-md{height:2.625rem;padding:0 1.5rem}.dps-button.-md.only-icon{padding:0;width:2.625rem}.dps-button.-md.has-button-and-icon now-icon{width:2.625rem}.dps-button.-lg{height:3.125rem;padding:0 2rem}.dps-button.-lg.only-icon{padding:0;width:3.125rem}.dps-button.-lg.has-button-and-icon now-icon{width:3.125rem}.dps-button.is-bare{background:transparent;border:none;color:#546566}.dps-button.is-bare:hover{background:transparent;border:none;color:#293e40}.dps-button.is-bare:hover svg{fill:#293e40}.dps-button.is-bare svg{fill:#546566}.dps-button.has-action now-icon{transition:transform .3s cubic-bezier(.075,.82,.165,1)}.dps-button.has-action:hover now-icon{transform:translateX(.125rem)}.dps-button.has-action:hover.-external-action now-icon{transform:translateX(1px) translateY(-1px)}.dps-button.is-white{color:#fff}.dps-button.-round-edge{border-radius:.5rem;height:auto;padding:.5rem 1rem}.dps-button-label+now-icon,.dps-button-label+svg{margin-left:.5rem}.dps-button-label+svg.-sm{height:.75rem;width:.75rem}.dps-button-label+svg.-md{height:1rem;width:1rem}.dps-button-label+svg.-lg{height:1.5rem;width:1.5rem}.dps-button-label+svg.-xl{height:2rem;width:2rem}:host{display:block}.dps-lead-tracking-thankyou{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:1rem 0 2rem}.dps-lead-tracking-form button{clear:both;float:right;margin-top:1.5rem}.dps-lead-tracking-form-field{align-items:flex-start;display:flex;flex-direction:column;margin:0 0 1.5rem;width:100%}.dps-lead-tracking-form-field>label{color:#293e40;cursor:pointer;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;padding-bottom:.25rem}.dps-lead-tracking-form-field>label>span{color:red}.dps-lead-tracking-form-field>dps-input{width:100%}.dps-lead-tracking-fieldset .dps-lead-tracking-form-field{display:block;margin:0;padding:0 0 .25rem}.dps-lead-tracking-fieldset .dps-lead-tracking-form-field:first-of-type{padding-top:.5rem}.dps-lead-tracking-fieldset .dps-lead-tracking-form-field label{padding:0 0 0 .75rem;width:100%}.dps-lead-tracking-fieldset-container{grid-gap:0;align-items:start;display:grid;gap:0 1.5rem;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none;padding-bottom:1.5rem}.dps-lead-tracking-fieldset{border:none;padding:0}.dps-lead-tracking-fieldset>legend{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5}.dps-lead-tracking-fieldset>legend span{color:#fc726d}.dps-lead-tracking-checkbox-container{display:block;margin:.5rem 0;position:relative}.dps-lead-tracking-checkbox-container.-sm>label{padding-left:1.5625rem}.dps-lead-tracking-checkbox-container.-sm>label:before{height:1rem;left:0;top:50%;transform:translateY(-50%);width:1rem}.dps-lead-tracking-checkbox-container.-sm>input[type=checkbox]:checked+label:after{height:.5rem;left:.375rem;top:50%;transform:translateY(-50%) rotate(45deg);width:.25rem}.dps-lead-tracking-checkbox-container.-lg{background:#f7f7f7;display:flex;margin:.5rem 0;padding:1rem 2rem;width:100%}.dps-lead-tracking-checkbox-container.-lg>label{padding-left:2.1875rem}.dps-lead-tracking-checkbox-container.-lg>label:before{height:1.25rem;left:0;top:0;width:1.25rem}.dps-lead-tracking-checkbox-container.-lg>input[type=checkbox]:checked+label:after{height:.625rem;left:.4375rem;top:20%;transform:translateY(-20%) rotate(45deg);width:.375rem}.dps-lead-tracking-checkbox-container>label{color:#293e40;cursor:pointer;display:block;font-size:1rem;position:relative}.dps-lead-tracking-checkbox-container>label:before{background-color:transparent;border:2px solid #474d52;border-radius:.25rem;content:\\\"\\\";cursor:pointer;display:block;position:absolute}.dps-lead-tracking-checkbox-container>label>now-icon{color:red}.dps-lead-tracking-checkbox-container>input[type=checkbox]{cursor:pointer;opacity:0;position:absolute;width:100%;z-index:1}.dps-lead-tracking-checkbox-container>input[type=checkbox]:checked+label:after{background:transparent;border:solid #474d52;border-width:0 2px 2px 0;content:\\\"\\\";display:block;position:absolute}.dps-lead-tracking-textarea-container>label{color:#293e40;display:block;font-size:1rem;padding:1rem 0 .5rem}.dps-lead-tracking-textarea{border-color:#d0d2d3;border-style:solid;border-width:thin;color:#293e40;display:flex;font-family:ServiceNowSans-Light;font-size:1rem;padding:.5rem;resize:vertical;width:100%}.dps-lead-tracking-textarea.-other{resize:none}.dps-lead-tracking-textarea.-error{border-color:#fc726d}.dps-lead-tracking-textarea-msgs{display:flex;justify-content:flex-end;padding:.25rem 0 0}.dps-lead-tracking-form-msg{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;line-height:1.5;margin:0;padding:0 0 .8125rem}.dps-lead-tracking-form-msg.-error{color:#fc726d;display:block;font-weight:700;padding:.25rem 0 0}.dps-lead-tracking-textarea-msgs .dps-lead-tracking-form-msg.-error{padding:0}.dps-lead-tracking-form-msg.-chars-left{color:#293e40;float:right;font-family:ServiceNowSans-Light;padding:.5rem 0 0}.dps-lead-tracking-textarea-msgs .dps-lead-tracking-form-msg.-chars-left{flex:0 0 auto;padding:0}.dps-lead-tracking-form-msg.-required{color:red;font-size:.8125rem;padding:0 0 1.5rem}.dps-lead-tracking-form-msg.-thankyou{color:#293e40;font-size:1rem;line-height:1.5;padding:1.5rem 0 0;text-align:center;width:25rem}.dps-lead-tracking-form-msg.-other{color:#fc726d;font-size:.875rem;margin:0 0 0 1.5rem;padding:.5rem 0 .5rem}.dps-lead-tracking-form-msg.-zipcode{color:#fc726d;font-size:.875rem;margin:.5rem 0 0 0}.dps-lead-tracking-footer{align-items:center;display:flex;justify-content:flex-end}.dps-lead-tracking-footer>p{color:#fc726d;font-family:ServiceNowSans-Regular;font-size:1rem;margin:0 .5rem 0 0;padding:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../images/guide-dev-account-signup-cta.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block;width:100%}.dps-overview{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;position:relative;width:100%}.dps-overview-section{padding:var(--dps-overview-section-learning-plans-padding,6.25rem 0);position:relative;width:100%}@media(max-width:991.98px){.dps-overview-section{padding:2rem 0}}.dps-overview-section.-centered .dps-overview-section-header{justify-content:center}.dps-overview-section.-centered .dps-overview-section-content{text-align:center}.dps-overview-section.-centered p{margin:0 auto 1.5rem}.dps-overview-section.-inverse{background-color:var(--dps-theme-inverse-background-color,#293e40);color:var(--dps-overview-section-font-color,#fff)}.dps-overview-section.-inverse .dps-overview-section-content{gap:1.5rem;margin:var(--dps-overview-section-learning-plans-content-margin);padding-left:0}.dps-overview-section.-inverse .dps-overview-section-content>p{color:var(--dps-overview-section-font-color,#fff);font-family:ServiceNowSans-Light;font-size:var(--dps-overview-section-learning-plans-description-font-size,1rem);line-height:var(--dps-overview-section-learning-plans-description-line-height,1.5);max-width:100%}.dps-overview-section.-inverse .dps-overview-section-header{color:var(--dps-overview-section-learning-plans-header-color,#fff);font-family:ServiceNowSans-Medium;font-size:28px;font-weight:500}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-subheader{color:var(--dps-create-account-subheader-color,#293e40);font-family:ServiceNowSansMono-Regular;font-size:var(--dps-create-account-subheader-font-size,.8125rem);line-height:var(--dps-create-account-subheader-line-height,1.1);margin:var(--dps-create-account-subheader-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-header{color:var(--dps-create-account-header-color,#474d52);font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500;letter-spacing:normal;line-height:1.925rem;margin:var(--dps-create-account-header-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content>p{color:#474d52;font-family:ServiceNowSans-Light;font-size:var(--dps-create-account-description-font-size,1rem);line-height:1.5rem;margin:0;max-width:100%}.dps-overview-section.-highlight{background-color:#f7f7f7}.dps-overview-section.-overview{background-color:#f7f7f7;font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}@media(max-width:991.98px){.dps-overview-section.-overview{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5}}.dps-overview-section.-overview p{margin:0 auto;max-width:46.375rem;text-align:left}.dps-overview-section.-overview p+p{margin-top:1.5rem}.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-two-col .dps-overview-section-content>img{margin:0 auto}@media(max-width:1199.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}@media(max-width:767.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-three-col .dps-overview-section-content>div{align-self:start}.dps-overview-section.-callout{align-items:center;background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");background-position:calc(50% + 275px) calc(100% - 2px);background-repeat:no-repeat;background-size:auto;display:flex;font-family:ServiceNowSans-Light;font-size:1.3125rem;height:37rem;line-height:1.5;overflow:hidden;position:relative}.dps-overview-section.-callout h2,.dps-overview-section.-callout p{max-width:32.5rem}.dps-overview-section.-callout h2+p{font-size:1.3125rem;margin-bottom:4rem}@media(max-width:991.98px){.dps-overview-section.-callout{background-image:none;height:auto}}.dps-overview-section.-callout .dps-overview-section-header{display:block;margin-bottom:1.5rem;padding-bottom:calc(1rem + 4px)}.dps-overview-section.-callout .dps-overview-section-header:before{background-color:#fff;bottom:0;content:\\\"\\\";height:.25rem;left:0;position:absolute;width:5rem}.dps-overview-section .-large{font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}.dps-overview-section img{max-width:100%}.dps-overview-section>p,.dps-overview-section>ul{margin:0 0 1.5rem;position:relative}.dps-overview-section>p{font-family:ServiceNowSans-Light;font-size:18px;max-width:37.5rem}.dps-overview-section ul{-webkit-margin-before:0;-webkit-padding-start:0;list-style-type:none;margin-block-start:0;padding-inline-start:0}.dps-overview-section ul li{margin-bottom:.75rem;position:relative}.dps-overview-section ul li:last-child{margin-bottom:0}.dps-overview-section dps-card p,.dps-overview-section dps-card ul,.dps-overview-section dps-content-stack p,.dps-overview-section dps-content-stack ul{margin:0 0 .75rem}.dps-overview-section dps-card p:last-child,.dps-overview-section dps-card ul:last-child,.dps-overview-section dps-content-stack p:last-child,.dps-overview-section dps-content-stack ul:last-child{margin:0}.dps-overview-section-content{margin:0 auto;max-width:var(--dps-overview-section-content-max-width,90rem);position:relative;width:100%}@media(max-width:767.98px){.dps-overview-section-content{padding:0 1.5rem}}.dps-overview-section-content.-narrow{color:#000;max-width:70.625rem}.dps-overview-section-content.-narrow .dps-overview-section-header{margin-bottom:1.5rem}.dps-overview-section-content.-narrow p{font-size:1.125rem}@media(max-width:1199.98px){.dps-overview-section-content.-narrow{max-width:100%}}@media(max-width:767.98px){.dps-overview-section-content.-narrow{padding:0 1.5rem}}.dps-overview-section-content.now-experience-ui-framework,.dps-overview-section-content.using-now-cli{max-width:100%}.dps-overview-section-header{align-items:center;color:#474d52;display:flex;font-family:ServiceNowSans-Regular;font-size:1.75rem;font-weight:400;line-height:1.1;margin:0 0 1.5rem;position:relative}@media(max-width:991.98px){.dps-overview-section-header{font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5;margin:0 0 1rem}}.dps-overview-section-header img+span{padding-left:1rem}.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:575.98px){.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:767.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}}@media(max-width:575.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-no-header{border-top:1px solid #b9bbbd;margin-top:2.5rem}.table-links-category{color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0 0 .25rem 0}.table-links-title{color:#474d52;font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75;margin:0 0 .25rem 0}.table-links-description{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.1;margin:0 0 .75rem 0}.table-links h3{box-shadow:0 1px 0 0 #b9bbbd;color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0;padding:0 0 .5rem;position:relative;text-transform:uppercase}.table-links ul{list-style:none;margin:2.5rem 0 0;padding:0}ul.list-with-active-indicator{list-style:none;margin:0;padding:0}ul.list-with-active-indicator li{align-items:var(--dps-list-with-active-indicator-align-items,center);border-left:4px solid transparent;display:flex;flex-direction:row;height:var(--dps-list-with-active-indicator-height,inherit);justify-content:flex-start;margin:var(--dps-list-with-active-indicator-margin,inherit);padding-left:var(--dps-list-with-active-indicator-padding-left,1rem)}ul.list-with-active-indicator li a{background:none;color:#8a8e91;display:block;margin-top:-.5rem}ul.list-with-active-indicator li.active{border-left:4px solid #81b5a1}ul.list-with-active-indicator li.active a{color:#474d52;font-family:ServiceNowSans-Regular}ul.list-with-active-indicator .FPO{align-items:center;background-color:pink;display:flex;height:200px;justify-content:center}hr{background-color:#d0d2d3;border:none;height:1px}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem}h1,h2{font-weight:400;line-height:1.1}h2{font-family:ServiceNowSans-Regular;font-size:1.75rem}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}.-learning-plans{--dps-theme-inverse-background-color:#f2f5f7;--dps-overview-section-learning-plans-padding:3rem 2.5rem;--dps-overview-section-learning-plans-description-font-size:1.125rem;--dps-overview-section-learning-plans-description-line-height:1.5rem;--dps-overview-section-learning-plans-description-color:#000;--dps-overview-section-learning-plans-content-margin:0 auto;--dps-content-stack-align-items:center;--dps-content-stack-gap:0.75rem;--dps-content-stack-title-line-height:1.5rem;--dps-content-stack-title-color:#000;--dps-content-stack-description-font-size:1rem;--dps-content-stack-description-line-height:1.5rem;--dps-content-stack-description-color:#000;--dps-overview-section-font-color:#000;--dps-overview-section-learning-plans-header-color:#000;--dps-content-stack-title-font-size:1.375rem;--dps-content-stack-title-text-align:center;--dps-content-stack-description-text-align:center}.-learning-plans .dps-learning-plans{grid-gap:146px;align-items:start;align-items:normal;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none;margin-top:3rem}@media screen and (max-width:991.98px){.-learning-plans .dps-learning-plans{grid-gap:80px;align-items:start;align-items:normal;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}}@media screen and (max-width:767.98px){.-learning-plans .dps-learning-plans{grid-gap:1rem;align-items:start;align-items:normal;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-button{align-items:center;border:none;color:inherit;cursor:pointer;display:inline-flex;font-family:ServiceNowSans-Book;font-size:1rem;font-weight:400;justify-content:center;letter-spacing:.01em;line-height:1.1;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),border .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:nowrap;width:inherit}.dps-button:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-button:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:active{color:currentColor}.dps-button.is-disabled,.dps-button:disabled{cursor:not-allowed}.dps-button.-primary{background:var(--dps-button-primary-bg,#62d84e);border:2px solid var(--dps-button-primary-border-color,#62d84e);border-radius:.5rem;color:#1d1d1d;font-family:ServiceNowSans-Book}.dps-button.-primary:hover{background:#62d84e;border-color:var(--dps-button-primary-hover-border-color,#62d84e);color:var(--dps-button-primary-hover-color,#1d1d1d)}.dps-button.-primary.is-disabled,.dps-button.-primary:disabled{background:#b9bbbd}.dps-button.-primary svg{fill:#fff}.dps-button.-primary-inverse{background:#62d84e;border:2px solid #62d84e;border-radius:.5rem;color:#000;font-family:ServiceNowSans-Book}.dps-button.-primary-inverse:hover{background:#fff}.dps-button.-primary-inverse.is-disabled,.dps-button.-primary-inverse:disabled{background:#8a8e91}.dps-button.-primary-inverse svg{fill:#62d84e}.dps-button.-secondary{background:var(--dps-button-secondary-bg,#fff);border:var(--dps-button-secondary-border-width,2px) solid var(--dps-button-secondary-border-color,#62d84e);border-radius:.5rem;color:var(--dps-button-secondary-color,#1d1d1d);font-family:ServiceNowSans-Book;font-size:1rem}.dps-button.-secondary:hover{background:var(--dps-button-secondary-hover-bg,#62d84e);border-color:var(--dps-button-secondary-hover-border-color,#62d84e);box-shadow:var(--dps-button-secondar-hover-box-shadow);color:var(--dps-button-secondary-hover-color,#000)}.dps-button.-secondary:hover svg{fill:#fff}.dps-button.-secondary.is-bare{color:#032d42;font-family:ServiceNowSans-Book;font-size:1rem;line-height:normal}.dps-button.-secondary.is-disabled,.dps-button.-secondary:disabled{background:transparent;border-color:#b9bbbd;color:#b9bbbd}.dps-button.-secondary svg{fill:#1d1d1d}.dps-button.-secondary-inverse{background:#fff;border:2px solid #62d84e;border-radius:.5rem}.dps-button.-secondary-inverse:hover{background:#62d84e;border-color:#62d84e}.dps-button.-secondary-inverse:hover svg{fill:#62d84e}.dps-button.-secondary-inverse.is-disabled,.dps-button.-secondary-inverse:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-secondary-inverse svg{fill:#d0d2d3}.dps-button.-round{background:#01778e;border-radius:1.5rem;color:#fff;height:2.625rem;min-width:12.1875rem}.dps-button.-round.is-disabled,.dps-button.-round:disabled{background:transparent;border:1px solid #b9bbbd;color:#b9bbbd}.dps-button.-secondary-light{background:transparent;border:2px solid #fff;color:#fff}.dps-button.-secondary-light:hover{background:#fff;border-color:#fff;color:#293e40}.dps-button.-secondary-light.is-disabled,.dps-button.-secondary-light:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-destructive{background:#ca5b57;color:#fff}.dps-button.-destructive:hover{background:#fc726d}.dps-button.-destructive.is-disabled,.dps-button.-destructive:disabled{background:#fdaaa7}.dps-button.-sm{color:#000;font-family:ServiceNowSans-Book;font-size:1rem;gap:.125rem;height:auto;min-height:2rem;padding:.375rem 1rem}.dps-button.-sm.only-icon{padding:0;width:2rem}.dps-button.-sm.has-button-and-icon now-icon{width:2rem}.dps-button.-md{height:2.625rem;padding:0 1.5rem}.dps-button.-md.only-icon{padding:0;width:2.625rem}.dps-button.-md.has-button-and-icon now-icon{width:2.625rem}.dps-button.-lg{height:3.125rem;padding:0 2rem}.dps-button.-lg.only-icon{padding:0;width:3.125rem}.dps-button.-lg.has-button-and-icon now-icon{width:3.125rem}.dps-button.is-bare{background:transparent;border:none;color:#546566}.dps-button.is-bare:hover{background:transparent;border:none;color:#293e40}.dps-button.is-bare:hover svg{fill:#293e40}.dps-button.is-bare svg{fill:#546566}.dps-button.has-action now-icon{transition:transform .3s cubic-bezier(.075,.82,.165,1)}.dps-button.has-action:hover now-icon{transform:translateX(.125rem)}.dps-button.has-action:hover.-external-action now-icon{transform:translateX(1px) translateY(-1px)}.dps-button.is-white{color:#fff}.dps-button.-round-edge{border-radius:.5rem;height:auto;padding:.5rem 1rem}.dps-button-label+now-icon,.dps-button-label+svg{margin-left:.5rem}.dps-button-label+svg.-sm{height:.75rem;width:.75rem}.dps-button-label+svg.-md{height:1rem;width:1rem}.dps-button-label+svg.-lg{height:1.5rem;width:1.5rem}.dps-button-label+svg.-xl{height:2rem;width:2rem}:host{display:block}.dps-legal-agreement-form{position:relative}.dps-legal-agreement-form dps-alert{margin-bottom:1rem}.dps-legal-agreement-form-header{align-items:center;display:flex;justify-content:flex-end}.dps-legal-agreement-form-header>p{color:#293e40;font-size:1rem;margin:0}.dps-legal-agreement-form-header>p>now-icon{margin-left:.5rem}.dps-legal-agreement-form-body{margin-top:1.5rem}.dps-legal-agreement-form-body p{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;margin:0;padding:0 0 1.5rem}.dps-legal-agreement-form-body ol{color:#293e40;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5;margin:0 0 0 1rem;padding:0}.dps-legal-agreement-form-body a{background:linear-gradient(var(--dps-theme-highlight),var(--dps-theme-highlight)) bottom repeat-x;background-size:.125rem .125rem;color:inherit;cursor:pointer;position:relative;text-decoration:none;transition:background-size .15s ease-out}.dps-legal-agreement-form-body a:hover{background-size:100% 100%}.dps-legal-agreement-form-footer{align-items:flex-end;display:flex;flex-direction:column;padding-top:1.5rem}.dps-legal-agreement-form-footer>button{margin-top:.5rem}.dps-legal-agreement-checkbox-container{background:#f7f7f7;display:flex;margin:.5rem 0;padding:1rem 2rem;position:relative;width:100%}.dps-legal-agreement-checkbox-container>label{color:#293e40;display:block;font-size:1rem;padding-left:2rem;position:relative}.dps-legal-agreement-checkbox-container>label:before{background-color:transparent;border:2px solid #474d52;border-radius:.25rem;content:\\\"\\\";cursor:pointer;display:block;height:1rem;left:0;position:absolute;top:.125rem;width:1rem}.dps-legal-agreement-checkbox-container>input[type=checkbox]{cursor:pointer;left:.0625rem;opacity:0;position:absolute;top:.125rem;z-index:1}.dps-legal-agreement-checkbox-container>input[type=checkbox]:checked+label:after{background:transparent;border:solid #474d52;border-width:0 2px 2px 0;content:\\\"\\\";display:block;height:.5rem;left:.375rem;position:absolute;top:36%;transform:translateY(-20%) rotate(45deg);width:.25rem}@media(max-width:575.98px){.dps-legal-agreement-checkbox-container>input[type=checkbox]:checked+label:after{top:13%}}.dps-legal-agreement-declined{align-items:center;display:flex;flex-direction:column;justify-content:center;text-align:center}.dps-legal-agreement-declined>h1{color:#474d52;font-family:ServiceNowSans-Medium;font-size:1rem;margin:0 0 2rem}.dps-legal-agreement-declined>p{color:#293e40;font-family:ServiceNowSans-Light;font-size:.875rem;margin:1.5rem 0}.dps-legal-agreement-declined-footer{align-items:center;display:flex;justify-content:center}.dps-legal-agreement-declined-footer dps-button:first-of-type{margin-right:1rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-library-table{display:grid;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5;padding:1rem;width:100%}.dps-library-table>.dps-library-table-cell-header{background-color:#f7f7f7;color:RGB(#293e40);cursor:pointer;font-weight:400;padding:.5rem 1rem}.dps-library-table>.dps-library-table-cell-header>.dps-library-table-cell-icon{left:8px;position:relative;top:3px}.dps-library-table>.dps-library-table-cell-header.no-sort{cursor:text}.dps-library-table>.dps-library-table-cell{border-bottom:1px solid #dadbdc;padding:1.25rem 1rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".dps-link,a:not(.dps-button){-webkit-text-decoration-skip:ink;background:none;border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.03125rem;margin:-.125rem;padding:.125rem;position:relative;-webkit-text-decoration-line:underline;text-decoration-line:underline;text-decoration-skip-ink:auto;-webkit-text-decoration-style:solid;text-decoration-style:solid;text-decoration:none;text-decoration-thickness:auto;white-space:normal}.dps-link:focus,a:not(.dps-button):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-link:focus:not(:focus-visible),a:not(.dps-button):focus:not(:focus-visible){box-shadow:none;outline:none}.dps-link:focus-visible,a:not(.dps-button):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-link>span,a:not(.dps-button)>span{background:linear-gradient(#00718f,#00718f) bottom repeat-x;background-size:0 0;border-bottom:none;box-shadow:none;color:inherit;padding:0 .125rem;position:relative;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1),border-bottom .3s cubic-bezier(.075,.82,.165,1)}.dps-link>span.none,a:not(.dps-button)>span.none{background:none;box-shadow:none;transition:none}.dps-link:hover,a:not(.dps-button):hover{color:#024f69}.dps-link:hover>span,a:not(.dps-button):hover>span{background-size:0 0;border-bottom:1px solid #024f69;box-shadow:none}.dps-link:hover>span.none,a:not(.dps-button):hover>span.none{background:none;box-shadow:none;color:none;transition:none}.dps-link:active,a:not(.dps-button):active{color:#032d42}.dps-link:active>span,a:not(.dps-button):active>span{background-size:0 0;border-bottom:1px solid #032d42;box-shadow:none}.dps-link.has-action now-icon,a:not(.dps-button).has-action now-icon{transition:transform .3s cubic-bezier(.075,.82,.165,1)}.dps-link.has-action:hover now-icon,a:not(.dps-button).has-action:hover now-icon{transform:translateX(.125rem)}.dps-link.has-action:hover.-external-action now-icon,a:not(.dps-button).has-action:hover.-external-action now-icon{transform:translateX(1px) translateY(-1px)}.dps-link.is-disabled,a:not(.dps-button).is-disabled{color:#c3c3c3;cursor:not-allowed;opacity:.5}.dps-link.is-disabled:hover>span,.dps-link.is-disabled>span,a:not(.dps-button).is-disabled:hover>span,a:not(.dps-button).is-disabled>span{border-bottom:1px solid #c3c3c3;box-shadow:inset 0 -1px 0 0 #c3c3c3;color:#c3c3c3}.dps-link.is-disabled:hover>span,a:not(.dps-button).is-disabled:hover>span{background-size:0 0}.dps-link.is-warning,a:not(.dps-button).is-warning{color:#652e2c}.dps-link.is-warning>span,a:not(.dps-button).is-warning>span{box-shadow:inset 0 -1px 0 0 #fc726d}.dps-link.is-warning:active>span,.dps-link.is-warning:hover>span,a:not(.dps-button).is-warning:active>span,a:not(.dps-button).is-warning:hover>span{background:linear-gradient(#fdaaa7,#fdaaa7) bottom repeat-x;box-shadow:none}.dps-link.is-warning-light,a:not(.dps-button).is-warning-light{color:#663a1f}.dps-link.is-warning-light>span,a:not(.dps-button).is-warning-light>span{box-shadow:inset 0 -1px 0 0 #ffa871}.dps-link.is-warning-light:active>span,.dps-link.is-warning-light:hover>span,a:not(.dps-button).is-warning-light:active>span,a:not(.dps-button).is-warning-light:hover>span{background:linear-gradient(#ffbe95,#ffbe95) bottom repeat-x;box-shadow:none}.dps-link.-inline,a:not(.dps-button).-inline{display:inline}.dps-link span+now-icon,a:not(.dps-button) span+now-icon{margin-left:.125rem}sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-button{align-items:center;border:none;color:inherit;cursor:pointer;display:inline-flex;font-family:ServiceNowSans-Book;font-size:1rem;font-weight:400;justify-content:center;letter-spacing:.01em;line-height:1.1;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),border .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:nowrap;width:inherit}.dps-button:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-button:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:active{color:currentColor}.dps-button.is-disabled,.dps-button:disabled{cursor:not-allowed}.dps-button.-primary{background:var(--dps-button-primary-bg,#62d84e);border:2px solid var(--dps-button-primary-border-color,#62d84e);border-radius:.5rem;color:#1d1d1d;font-family:ServiceNowSans-Book}.dps-button.-primary:hover{background:#62d84e;border-color:var(--dps-button-primary-hover-border-color,#62d84e);color:var(--dps-button-primary-hover-color,#1d1d1d)}.dps-button.-primary.is-disabled,.dps-button.-primary:disabled{background:#b9bbbd}.dps-button.-primary svg{fill:#fff}.dps-button.-primary-inverse{background:#62d84e;border:2px solid #62d84e;border-radius:.5rem;color:#000;font-family:ServiceNowSans-Book}.dps-button.-primary-inverse:hover{background:#fff}.dps-button.-primary-inverse.is-disabled,.dps-button.-primary-inverse:disabled{background:#8a8e91}.dps-button.-primary-inverse svg{fill:#62d84e}.dps-button.-secondary{background:var(--dps-button-secondary-bg,#fff);border:var(--dps-button-secondary-border-width,2px) solid var(--dps-button-secondary-border-color,#62d84e);border-radius:.5rem;color:var(--dps-button-secondary-color,#1d1d1d);font-family:ServiceNowSans-Book;font-size:1rem}.dps-button.-secondary:hover{background:var(--dps-button-secondary-hover-bg,#62d84e);border-color:var(--dps-button-secondary-hover-border-color,#62d84e);box-shadow:var(--dps-button-secondar-hover-box-shadow);color:var(--dps-button-secondary-hover-color,#000)}.dps-button.-secondary:hover svg{fill:#fff}.dps-button.-secondary.is-bare{color:#032d42;font-family:ServiceNowSans-Book;font-size:1rem;line-height:normal}.dps-button.-secondary.is-disabled,.dps-button.-secondary:disabled{background:transparent;border-color:#b9bbbd;color:#b9bbbd}.dps-button.-secondary svg{fill:#1d1d1d}.dps-button.-secondary-inverse{background:#fff;border:2px solid #62d84e;border-radius:.5rem}.dps-button.-secondary-inverse:hover{background:#62d84e;border-color:#62d84e}.dps-button.-secondary-inverse:hover svg{fill:#62d84e}.dps-button.-secondary-inverse.is-disabled,.dps-button.-secondary-inverse:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-secondary-inverse svg{fill:#d0d2d3}.dps-button.-round{background:#01778e;border-radius:1.5rem;color:#fff;height:2.625rem;min-width:12.1875rem}.dps-button.-round.is-disabled,.dps-button.-round:disabled{background:transparent;border:1px solid #b9bbbd;color:#b9bbbd}.dps-button.-secondary-light{background:transparent;border:2px solid #fff;color:#fff}.dps-button.-secondary-light:hover{background:#fff;border-color:#fff;color:#293e40}.dps-button.-secondary-light.is-disabled,.dps-button.-secondary-light:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-destructive{background:#ca5b57;color:#fff}.dps-button.-destructive:hover{background:#fc726d}.dps-button.-destructive.is-disabled,.dps-button.-destructive:disabled{background:#fdaaa7}.dps-button.-sm{color:#000;font-family:ServiceNowSans-Book;font-size:1rem;gap:.125rem;height:auto;min-height:2rem;padding:.375rem 1rem}.dps-button.-sm.only-icon{padding:0;width:2rem}.dps-button.-sm.has-button-and-icon now-icon{width:2rem}.dps-button.-md{height:2.625rem;padding:0 1.5rem}.dps-button.-md.only-icon{padding:0;width:2.625rem}.dps-button.-md.has-button-and-icon now-icon{width:2.625rem}.dps-button.-lg{height:3.125rem;padding:0 2rem}.dps-button.-lg.only-icon{padding:0;width:3.125rem}.dps-button.-lg.has-button-and-icon now-icon{width:3.125rem}.dps-button.is-bare{background:transparent;border:none;color:#546566}.dps-button.is-bare:hover{background:transparent;border:none;color:#293e40}.dps-button.is-bare:hover svg{fill:#293e40}.dps-button.is-bare svg{fill:#546566}.dps-button.has-action now-icon{transition:transform .3s cubic-bezier(.075,.82,.165,1)}.dps-button.has-action:hover now-icon{transform:translateX(.125rem)}.dps-button.has-action:hover.-external-action now-icon{transform:translateX(1px) translateY(-1px)}.dps-button.is-white{color:#fff}.dps-button.-round-edge{border-radius:.5rem;height:auto;padding:.5rem 1rem}.dps-button-label+now-icon,.dps-button-label+svg{margin-left:.5rem}.dps-button-label+svg.-sm{height:.75rem;width:.75rem}.dps-button-label+svg.-md{height:1rem;width:1rem}.dps-button-label+svg.-lg{height:1.5rem;width:1.5rem}.dps-button-label+svg.-xl{height:2rem;width:2rem}:host{display:inline-block}a.dps-button.-inherit{font-family:inherit;font-size:inherit;letter-spacing:inherit;line-height:inherit}a.dps-button.is-bare{height:auto;padding-left:0;padding-right:0;white-space:normal}a.dps-button span+now-icon{margin-left:.5rem}.link-text-footer{color:#02506b;color:#0080a3;display:flex;font-size:1rem;font-style:normal;font-weight:400;gap:.125rem;line-height:normal;-webkit-text-decoration-line:underline;text-decoration-line:underline;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;-webkit-text-decoration-style:solid;text-decoration-style:solid;text-decoration-thickness:auto;text-underline-offset:auto}@media screen and (max-width:1366px){.link-text-footer{font-size:.77rem}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-login{align-items:center;background:transparent;border:none;color:#474d52;cursor:pointer;display:flex;font-family:ServiceNowSans-Light;font-size:.875rem;height:2.625rem;line-height:1;padding:0 .5rem;position:relative;text-decoration:none;transition:color .3s cubic-bezier(.075,.82,.165,1)}.dps-login:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-login:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-login:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-login>now-icon{margin-left:.25rem}.dps-login>now-icon:first-child{margin:0}.dps-login-avatar{align-items:center;background:#f7f7f7;border:1px solid #8a8e91;border-radius:50%;color:#293e40;display:flex;font-family:ServiceNowSans-Light;font-size:1rem;height:2rem;justify-content:center;letter-spacing:.01em;line-height:1.5;text-transform:uppercase;width:2rem}.instance-status{margin-bottom:-1.625rem;margin-left:-.8125rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-a11y-label{clip:rect(0 0 0 0);border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:auto;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.dps-modal-container{height:100%;overflow:hidden scroll;position:fixed;top:0;visibility:visible;width:100%;z-index:1050}.dps-modal-container[hidden] .dps-modal{opacity:0;transform:translateY(4rem);visibility:hidden}.dps-modal-open{margin:85px auto;padding:0 .5rem}@media(max-width:575.98px){.dps-modal-open{margin:.5rem auto}}.dps-modal{background-color:#fff;border-radius:1.25rem;display:flex;flex-direction:column;height:auto;margin:auto;max-height:100%;padding:2.5rem;pointer-events:all;position:relative;transition:all .2s cubic-bezier(.42,1,.58,1);width:auto;z-index:1051}@media(max-width:575.98px){.dps-modal{padding:2rem}}.dps-modal.-sm{max-width:53.75rem}.dps-modal.-md{max-width:60rem}.dps-modal.-lg{max-width:79.5rem}.dps-modal.-full-height{height:100%}.dps-modal.-is-optional-background-image{overflow:hidden}.dps-modal-header{align-items:center;color:#474d52;height:1.9375rem;margin-bottom:1.5rem}.dps-modal-header dps-button{flex:0 0 auto;margin-left:auto;margin-right:-1.75rem;margin-top:-1.75rem}.dps-modal-header.-is-optional-title{height:3.625rem}.dps-modal-header.-is-optional-title dps-button{margin-top:-3.4375rem}.dps-modal-heading{flex:1 1 auto;font-family:ServiceNowSans-Regular;font-size:1.75rem;margin:0;min-width:0}@media(max-width:575.98px){.dps-modal-heading{font-size:1rem}}.dps-modal-optional-title-heading{font-family:ServiceNowSans-Medium;font-size:.75rem;letter-spacing:.1em;line-height:1;margin:0 0 .9375rem 0;text-transform:uppercase}.dps-modal-header-heading-title{display:flex;flex:0 0 auto}.dps-modal-heading-label{display:block;margin-bottom:-.125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dps-modal-body{flex:1 1 auto;overflow:auto}.dps-modal-body.has-no-padding{padding:0}.dps-modal-body.-fixed-height{height:36.375rem}.dps-modal-body.-overflow-hidden{display:flex;overflow:hidden}.dps-modal-body.-overflow-hidden slot{display:flex;flex:1 1 auto}.dps-modal-body.-is-optional-background-image{overflow:visible}.dps-modal-footer{display:flex;flex:0 0 auto;justify-content:flex-end}.dps-modal-footer.is-center{align-items:center;flex-direction:column;width:100%}.dps-modal-footer-button{width:auto}.dps-modal-footer-button:not(:last-child){margin-left:auto;margin-right:.5rem}.is-center .dps-modal-footer-button:not(:last-child){margin-bottom:.75rem;margin-left:0;margin-right:0}.is-center .dps-modal-footer-button{display:block;width:100%}dps-shade{pointer-events:all}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../images/guide-dev-account-signup-cta.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{display:block;width:100%}.dps-overview{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;position:relative;width:100%}.dps-overview-section{padding:var(--dps-overview-section-learning-plans-padding,6.25rem 0);position:relative;width:100%}@media(max-width:991.98px){.dps-overview-section{padding:2rem 0}}.dps-overview-section.-centered .dps-overview-section-header{justify-content:center}.dps-overview-section.-centered .dps-overview-section-content{text-align:center}.dps-overview-section.-centered p{margin:0 auto 1.5rem}.dps-overview-section.-inverse{background-color:var(--dps-theme-inverse-background-color,#293e40);color:var(--dps-overview-section-font-color,#fff)}.dps-overview-section.-inverse .dps-overview-section-content{gap:1.5rem;margin:var(--dps-overview-section-learning-plans-content-margin);padding-left:0}.dps-overview-section.-inverse .dps-overview-section-content>p{color:var(--dps-overview-section-font-color,#fff);font-family:ServiceNowSans-Light;font-size:var(--dps-overview-section-learning-plans-description-font-size,1rem);line-height:var(--dps-overview-section-learning-plans-description-line-height,1.5);max-width:100%}.dps-overview-section.-inverse .dps-overview-section-header{color:var(--dps-overview-section-learning-plans-header-color,#fff);font-family:ServiceNowSans-Medium;font-size:28px;font-weight:500}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-subheader{color:var(--dps-create-account-subheader-color,#293e40);font-family:ServiceNowSansMono-Regular;font-size:var(--dps-create-account-subheader-font-size,.8125rem);line-height:var(--dps-create-account-subheader-line-height,1.1);margin:var(--dps-create-account-subheader-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-header{color:var(--dps-create-account-header-color,#474d52);font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500;letter-spacing:normal;line-height:1.925rem;margin:var(--dps-create-account-header-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content>p{color:#474d52;font-family:ServiceNowSans-Light;font-size:var(--dps-create-account-description-font-size,1rem);line-height:1.5rem;margin:0;max-width:100%}.dps-overview-section.-highlight{background-color:#f7f7f7}.dps-overview-section.-overview{background-color:#f7f7f7;font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}@media(max-width:991.98px){.dps-overview-section.-overview{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5}}.dps-overview-section.-overview p{margin:0 auto;max-width:46.375rem;text-align:left}.dps-overview-section.-overview p+p{margin-top:1.5rem}.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-two-col .dps-overview-section-content>img{margin:0 auto}@media(max-width:1199.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}@media(max-width:767.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-three-col .dps-overview-section-content>div{align-self:start}.dps-overview-section.-callout{align-items:center;background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");background-position:calc(50% + 275px) calc(100% - 2px);background-repeat:no-repeat;background-size:auto;display:flex;font-family:ServiceNowSans-Light;font-size:1.3125rem;height:37rem;line-height:1.5;overflow:hidden;position:relative}.dps-overview-section.-callout h2,.dps-overview-section.-callout p{max-width:32.5rem}.dps-overview-section.-callout h2+p{font-size:1.3125rem;margin-bottom:4rem}@media(max-width:991.98px){.dps-overview-section.-callout{background-image:none;height:auto}}.dps-overview-section.-callout .dps-overview-section-header{display:block;margin-bottom:1.5rem;padding-bottom:calc(1rem + 4px)}.dps-overview-section.-callout .dps-overview-section-header:before{background-color:#fff;bottom:0;content:\\\"\\\";height:.25rem;left:0;position:absolute;width:5rem}.dps-overview-section .-large{font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}.dps-overview-section img{max-width:100%}.dps-overview-section>p,.dps-overview-section>ul{margin:0 0 1.5rem;position:relative}.dps-overview-section>p{font-family:ServiceNowSans-Light;font-size:18px;max-width:37.5rem}.dps-overview-section ul{-webkit-margin-before:0;-webkit-padding-start:0;list-style-type:none;margin-block-start:0;padding-inline-start:0}.dps-overview-section ul li{margin-bottom:.75rem;position:relative}.dps-overview-section ul li:last-child{margin-bottom:0}.dps-overview-section dps-card p,.dps-overview-section dps-card ul,.dps-overview-section dps-content-stack p,.dps-overview-section dps-content-stack ul{margin:0 0 .75rem}.dps-overview-section dps-card p:last-child,.dps-overview-section dps-card ul:last-child,.dps-overview-section dps-content-stack p:last-child,.dps-overview-section dps-content-stack ul:last-child{margin:0}.dps-overview-section-content{margin:0 auto;max-width:var(--dps-overview-section-content-max-width,90rem);position:relative;width:100%}@media(max-width:767.98px){.dps-overview-section-content{padding:0 1.5rem}}.dps-overview-section-content.-narrow{color:#000;max-width:70.625rem}.dps-overview-section-content.-narrow .dps-overview-section-header{margin-bottom:1.5rem}.dps-overview-section-content.-narrow p{font-size:1.125rem}@media(max-width:1199.98px){.dps-overview-section-content.-narrow{max-width:100%}}@media(max-width:767.98px){.dps-overview-section-content.-narrow{padding:0 1.5rem}}.dps-overview-section-content.now-experience-ui-framework,.dps-overview-section-content.using-now-cli{max-width:100%}.dps-overview-section-header{align-items:center;color:#474d52;display:flex;font-family:ServiceNowSans-Regular;font-size:1.75rem;font-weight:400;line-height:1.1;margin:0 0 1.5rem;position:relative}@media(max-width:991.98px){.dps-overview-section-header{font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5;margin:0 0 1rem}}.dps-overview-section-header img+span{padding-left:1rem}.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:575.98px){.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:767.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}}@media(max-width:575.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-no-header{border-top:1px solid #b9bbbd;margin-top:2.5rem}.table-links-category{color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0 0 .25rem 0}.table-links-title{color:#474d52;font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75;margin:0 0 .25rem 0}.table-links-description{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.1;margin:0 0 .75rem 0}.table-links h3{box-shadow:0 1px 0 0 #b9bbbd;color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0;padding:0 0 .5rem;position:relative;text-transform:uppercase}.table-links ul{list-style:none;margin:2.5rem 0 0;padding:0}ul.list-with-active-indicator{list-style:none;margin:0;padding:0}ul.list-with-active-indicator li{align-items:var(--dps-list-with-active-indicator-align-items,center);border-left:4px solid transparent;display:flex;flex-direction:row;height:var(--dps-list-with-active-indicator-height,inherit);justify-content:flex-start;margin:var(--dps-list-with-active-indicator-margin,inherit);padding-left:var(--dps-list-with-active-indicator-padding-left,1rem)}ul.list-with-active-indicator li a{background:none;color:#8a8e91;display:block;margin-top:-.5rem}ul.list-with-active-indicator li.active{border-left:4px solid #81b5a1}ul.list-with-active-indicator li.active a{color:#474d52;font-family:ServiceNowSans-Regular}ul.list-with-active-indicator .FPO{align-items:center;background-color:pink;display:flex;height:200px;justify-content:center}hr{background-color:#d0d2d3;border:none;height:1px}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem}h1,h2{font-weight:400;line-height:1.1}h2{font-family:ServiceNowSans-Regular;font-size:1.75rem}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}.dps-link,a:not(.dps-button){-webkit-text-decoration-skip:ink;background:none;border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.03125rem;margin:-.125rem;padding:.125rem;position:relative;-webkit-text-decoration-line:underline;text-decoration-line:underline;text-decoration-skip-ink:auto;-webkit-text-decoration-style:solid;text-decoration-style:solid;text-decoration:none;text-decoration-thickness:auto;white-space:normal}.dps-link:focus,a:not(.dps-button):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-link:focus:not(:focus-visible),a:not(.dps-button):focus:not(:focus-visible){box-shadow:none;outline:none}.dps-link:focus-visible,a:not(.dps-button):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-link>span,a:not(.dps-button)>span{background:linear-gradient(#00718f,#00718f) bottom repeat-x;background-size:0 0;border-bottom:none;box-shadow:none;color:inherit;padding:0 .125rem;position:relative;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1),border-bottom .3s cubic-bezier(.075,.82,.165,1)}.dps-link>span.none,a:not(.dps-button)>span.none{background:none;box-shadow:none;transition:none}.dps-link:hover,a:not(.dps-button):hover{color:#024f69}.dps-link:hover>span,a:not(.dps-button):hover>span{background-size:0 0;border-bottom:1px solid #024f69;box-shadow:none}.dps-link:hover>span.none,a:not(.dps-button):hover>span.none{background:none;box-shadow:none;color:none;transition:none}.dps-link:active,a:not(.dps-button):active{color:#032d42}.dps-link:active>span,a:not(.dps-button):active>span{background-size:0 0;border-bottom:1px solid #032d42;box-shadow:none}.dps-link.has-action now-icon,a:not(.dps-button).has-action now-icon{transition:transform .3s cubic-bezier(.075,.82,.165,1)}.dps-link.has-action:hover now-icon,a:not(.dps-button).has-action:hover now-icon{transform:translateX(.125rem)}.dps-link.has-action:hover.-external-action now-icon,a:not(.dps-button).has-action:hover.-external-action now-icon{transform:translateX(1px) translateY(-1px)}.dps-link.is-disabled,a:not(.dps-button).is-disabled{color:#c3c3c3;cursor:not-allowed;opacity:.5}.dps-link.is-disabled:hover>span,.dps-link.is-disabled>span,a:not(.dps-button).is-disabled:hover>span,a:not(.dps-button).is-disabled>span{border-bottom:1px solid #c3c3c3;box-shadow:inset 0 -1px 0 0 #c3c3c3;color:#c3c3c3}.dps-link.is-disabled:hover>span,a:not(.dps-button).is-disabled:hover>span{background-size:0 0}.dps-link.is-warning,a:not(.dps-button).is-warning{color:#652e2c}.dps-link.is-warning>span,a:not(.dps-button).is-warning>span{box-shadow:inset 0 -1px 0 0 #fc726d}.dps-link.is-warning:active>span,.dps-link.is-warning:hover>span,a:not(.dps-button).is-warning:active>span,a:not(.dps-button).is-warning:hover>span{background:linear-gradient(#fdaaa7,#fdaaa7) bottom repeat-x;box-shadow:none}.dps-link.is-warning-light,a:not(.dps-button).is-warning-light{color:#663a1f}.dps-link.is-warning-light>span,a:not(.dps-button).is-warning-light>span{box-shadow:inset 0 -1px 0 0 #ffa871}.dps-link.is-warning-light:active>span,.dps-link.is-warning-light:hover>span,a:not(.dps-button).is-warning-light:active>span,a:not(.dps-button).is-warning-light:hover>span{background:linear-gradient(#ffbe95,#ffbe95) bottom repeat-x;box-shadow:none}.dps-link.-inline,a:not(.dps-button).-inline{display:inline}.dps-link span+now-icon,a:not(.dps-button) span+now-icon{margin-left:.125rem}sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-module-modal{color:#293e40;display:flex}.dps-module-modal hr{background:#e8e8e9;border-width:0;height:.125rem;margin:1.5rem 0 .75rem;width:100%}.dps-module-modal-header{margin-bottom:1.5rem}.dps-module-modal-details p{color:#474d52;font-family:ServiceNowSans-Medium;font-size:.75rem;letter-spacing:.1em;line-height:1;padding-top:.75rem;text-transform:uppercase}.dps-module-modal-details p,.dps-module-modal-details ul{-webkit-margin-before:0;-webkit-margin-after:0;margin-block-end:0;margin-block-start:0}.dps-module-modal-details ul{-webkit-padding-start:0;list-style-type:none;padding-inline-start:0;padding:1rem 0 .5rem}.dps-module-modal-details ul li{display:flex;margin-bottom:.25rem}.dps-module-modal-description{flex:1}.dps-module-modal-description p{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;margin:0 0 1rem}.dps-module-modal-description p:first-child{color:#474d52;font-family:ServiceNowSans-Regular;font-size:.875rem;line-height:1.75;margin:0 0 .5rem}.dps-module-modal-list-item{color:#293e40;display:flex;font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:0;line-height:1.5;margin-bottom:.5rem}.dps-module-modal-list-item.is-read{color:#8a8e91}.dps-module-modal-list-item span{align-items:center;display:flex;margin-right:.625rem}.progress-circle-wrapper{margin-top:-.5rem}.progress-circle-wrapper.show-progress{position:relative;width:5rem}.progress-circle-wrapper.show-progress dps-progress-circle{position:absolute;right:0;top:0}.progress-circle-wrapper.hide-progress{display:none}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block;position:relative}.module-translation-bar{background:#e6f0ec;background-position:105% 0;background-repeat:no-repeat;font-family:ServiceNowSans-Light;width:100%}@media screen and (max-width:767.98px){.module-translation-bar{padding:.5rem 1rem}}@media(max-width:767.98px){.module-translation-bar{display:none}}.module-translation-bar-content{color:#293e40;font-size:1rem;margin:0 auto;max-width:90rem;padding:.75rem 2.5rem;position:relative;width:100%}.module-translation-bar-link,.module-translation-bar-text{margin:0 .5rem}.module-translation-bar-link:not(:last-of-type):after{content:\\\"|\\\";margin:0 0 0 1rem}.module-translation-bar-link-text{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-name-generator>*{display:block;margin-bottom:1.5rem}.dps-name-generator label{color:#293e40;display:block;font-family:ServiceNowSans-Regular;font-size:.8125rem;padding-bottom:.5rem;text-transform:uppercase}.dps-name-generator code{background-color:#f7f7f7;display:block;padding:.75rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-navigation-card-container{height:100%;position:relative;width:100%}@media(max-width:991.98px){.dps-navigation-card-container{height:auto}}.dps-navigation-card-container.-end-cap{background:#f7f7f7;padding:1.5rem 2rem 2.5rem}@media(max-width:991.98px){.dps-navigation-card-container.-end-cap{margin:.75rem 0 0 -1rem;padding:1rem 1.5rem;width:calc(100% + 2rem)}}.dps-navigation-card-container.-end-cap dps-content-stack{margin-bottom:.5rem;margin-top:1.5rem}.dps-navigation-card-container.-grid .dps-navigation-card-action,.dps-navigation-card-container.-vertical .dps-navigation-card-action{display:none}.dps-navigation-card-container.-grid .dps-navigation-card,.dps-navigation-card-container.-vertical .dps-navigation-card{margin-bottom:.25rem;margin-left:-.25rem;padding:.25rem;width:calc(100% + .25rem)}@media(max-width:991.98px){.dps-navigation-card-container.-grid .dps-navigation-card,.dps-navigation-card-container.-vertical .dps-navigation-card{margin:0;padding:.25rem;width:auto}}.dps-navigation-card-container.-grid .dps-navigation-card .dps-navigation-card-desc,.dps-navigation-card-container.-vertical .dps-navigation-card .dps-navigation-card-desc{font-size:.8125rem}.dps-navigation-card{background:#fff;color:#293e40;display:block;height:100%;padding:1.5rem 2.5rem 2.5rem;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1)}.dps-navigation-card:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-navigation-card:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-navigation-card:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}@media(max-width:1103.98px){.dps-navigation-card{padding:1.5rem 1rem}}@media(max-width:991.98px){.dps-navigation-card{align-items:center;display:flex;padding:.75rem .25rem}}.dps-navigation-card:hover{background:#f7f7f7}@media(max-width:991.98px){.dps-navigation-card:hover{background:transparent}}.dps-navigation-card:hover .dps-navigation-card-action{transform:translateX(.5rem)}@media(max-width:991.98px){.dps-navigation-card:hover .dps-navigation-card-action{transform:none}}.dps-navigation-card:hover .dps-navigation-card-action.-external{transform:translateX(.25rem) translateY(-.25rem)}@media(max-width:991.98px){.dps-navigation-card:hover .dps-navigation-card-action.-external{transform:none}}.dps-navigation-card:focus{z-index:1}@media(max-width:991.98px){.dps-navigation-card dps-content-stack{flex:1 1 auto}}.dps-navigation-card dps-content-stack .dps-navigation-card-icon{height:2rem;margin:1.5rem 0 1rem}@media(max-width:991.98px){.dps-navigation-card dps-content-stack .dps-navigation-card-icon{height:auto;margin:0 .75rem 0 0;width:1.125rem}.dps-navigation-card dps-content-stack .dps-navigation-card-desc{display:none}}.dps-navigation-card.-end-cap{background:#f7f7f7;padding:1.5rem 2rem 2.5rem}@media(max-width:991.98px){.dps-navigation-card.-end-cap{margin:.75rem 0 0 -1rem;padding:1rem 1.5rem;width:calc(100% + 2rem)}}.dps-navigation-card-action{margin:.5rem 0 1.5rem;transition:transform .3s cubic-bezier(.075,.82,.165,1)}@media(max-width:991.98px){.dps-navigation-card-action{flex:0 0 auto;margin:0 0 0 .75rem;transform:none}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}@media(max-width:991.98px){:host(.-login) .dps-navigation-header-dropdown-content{display:flex;flex-direction:column-reverse}}.dps-navigation-header-dropdown-content{grid-gap:0;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(5,1fr);grid-template-rows:none;margin:0 auto;max-width:90rem;width:100%}.dps-navigation-header-dropdown-content.incoming-ltr{animation:incoming-ltr-animation .1s cubic-bezier(.42,1,.58,1)}.dps-navigation-header-dropdown-content.outgoing-ltr{animation:outgoing-ltr-animation .1s cubic-bezier(.42,1,.58,1)}.dps-navigation-header-dropdown-content.incoming-rtl{animation:incoming-rtl-animation .1s cubic-bezier(.42,1,.58,1)}.dps-navigation-header-dropdown-content.outgoing-rtl{animation:outgoing-rtl-animation .1s cubic-bezier(.42,1,.58,1)}.dps-navigation-header-dropdown-content.fade-in{animation:fade-in-animation 1ms}@media(max-width:991.98px){.dps-navigation-header-dropdown-content{grid-gap:0;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}@keyframes incoming-ltr-animation{0%{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:translateX(0)}}@keyframes outgoing-ltr-animation{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(40px)}}@keyframes incoming-rtl-animation{0%{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translate(0)}}@keyframes outgoing-rtl-animation{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translate(-40px)}}@keyframes fade-in-animation{0%{opacity:1}to{opacity:1}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{background:#fff;display:block;min-height:0;opacity:0;pointer-events:none;position:absolute;right:0;transform:translateY(-5.25rem);transition:opacity .15s,transform .3s cubic-bezier(.42,1,.58,1);width:100%;z-index:1020}@media(max-width:991.98px){:host{height:calc(100vh - 6.3125rem);opacity:1;overflow-x:hidden;overflow-y:auto;padding:0 1rem;right:-100%;transform:none;transition:right .3s cubic-bezier(.77,0,.175,1)}}:host(.is-open){opacity:1;pointer-events:auto;transform:translateY(0)}@media(max-width:991.98px){:host(.is-open){right:0;transform:none}}.dps-navigation-header-dropdown{background-color:#fff;width:100%}.dps-navigation-header-dropdown ::slotted(dps-search){padding:2rem 0}@media(max-width:991.98px){.dps-navigation-header-dropdown ::slotted(dps-search){padding:1rem 0}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block;position:relative}@media(max-width:991.98px){:host dps-shade{display:none}}.dps-navigation-header{background-color:#fff;border-bottom:1px solid #d0d2d3;position:relative;transition:height .1s cubic-bezier(.77,0,.175,1);width:100%}.dps-navigation-header-content{align-items:center;background-color:#fff;display:flex;height:100%;margin:0 auto;max-width:90rem;padding:0 2.5rem 0 2rem;position:relative;width:100%;z-index:2}@media(max-width:1103.98px){.dps-navigation-header-content{padding:0 .75rem 0 .5rem}}@media(max-width:991.98px){.dps-navigation-header-content{padding:0 .5rem}}.dps-navigation-header-category,.dps-navigation-header-logo{align-items:center;background:none;border:none;color:#293e40;display:flex;flex:0 0 auto;font-family:ServiceNowSans-Regular;font-size:1.3125rem;height:100%;margin-right:2rem;padding:0 .75rem 0 .5rem;position:relative;text-decoration:none}.dps-navigation-header-category:focus,.dps-navigation-header-logo:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-navigation-header-category:focus:not(:focus-visible),.dps-navigation-header-logo:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-navigation-header-category:focus-visible,.dps-navigation-header-logo:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}@media(max-width:1439.98px){.dps-navigation-header-category,.dps-navigation-header-logo{margin-right:1.5rem}}@media(max-width:1199.98px){.dps-navigation-header-category,.dps-navigation-header-logo{margin-right:1rem}}@media(max-width:1103.98px){.dps-navigation-header-category,.dps-navigation-header-logo{margin-right:.5rem;padding:0 .5rem}}@media(max-width:991.98px){.dps-navigation-header-category,.dps-navigation-header-logo{padding:0 .25rem}}.dps-navigation-header-category img,.dps-navigation-header-logo img{margin-top:-.25rem;max-height:2.375rem;max-width:8rem}@media(max-width:1103.98px){.dps-navigation-header-category img,.dps-navigation-header-logo img{max-height:2rem}}.dps-navigation-header-category span,.dps-navigation-header-logo span{border-left:1px solid #d0d2d3;font-family:ServiceNowSans-Regular;font-size:1.125rem;line-height:1.3125rem;margin-left:.75rem;padding-left:.75rem}@media(max-width:1103.98px){.dps-navigation-header-category span,.dps-navigation-header-logo span{font-size:1rem}}.dps-navigation-header-category{display:none;font-size:1rem;position:relative}@media(max-width:991.98px){.dps-navigation-header-category.is-visible{display:flex}.dps-navigation-header-category.is-visible+.dps-navigation-header-logo{display:none}}.dps-navigation-header-nav{display:block;flex:1 1 auto;height:100%;position:relative}@media(max-width:991.98px){.dps-navigation-header-nav{background:#fff;display:block;height:calc(100vh - 6.3125rem);left:-100%;padding:0 1rem;position:absolute;top:6.3125rem;transition:left .3s cubic-bezier(.77,0,.175,1),top .3s cubic-bezier(.77,0,.175,1);width:100%}.dps-navigation-header-nav.is-open{left:0}.dps-navigation-header-nav .dps-navigation-header-list,.dps-navigation-header-nav .dps-navigation-header-list-item{display:block;height:auto;width:100%}}.dps-navigation-header-nav .dps-navigation-header-indicator{background-color:#293e40;bottom:0;content:\\\"\\\";display:block;height:4px;left:0;margin:0;position:absolute;transition:all .15s;transition-timing-function:cubic-bezier(.42,1,.58,1);width:0}@media(max-width:991.98px){.dps-navigation-header-nav .dps-navigation-header-indicator{display:none}}.dps-navigation-header-nav .dps-navigation-header-list-item{height:100%;margin-right:.5rem}@media(max-width:1439.98px){.dps-navigation-header-nav .dps-navigation-header-list-item{margin-right:.25rem}}@media(max-width:991.98px){.dps-navigation-header-nav .dps-navigation-header-list-item>.dps-navigation-header-btn{border-bottom:1px solid #d0d2d3;display:flex;margin-right:.125rem;padding:.75rem .25rem;width:100%}.dps-navigation-header-nav .dps-navigation-header-list-item>.dps-navigation-header-btn span{flex:1 1 auto;text-align:left}.dps-navigation-header-nav .dps-navigation-header-list-item>.dps-navigation-header-btn now-icon:last-child{transform:rotate(-90deg)}}.dps-navigation-header-nav .dps-navigation-header-list-item.-request,.dps-navigation-header-nav .dps-navigation-header-list-item.-version,.dps-navigation-header-nav .dps-navigation-header-list-item.-waitlist{display:none}@media(max-width:991.98px){.dps-navigation-header-nav .dps-navigation-header-list-item.-request,.dps-navigation-header-nav .dps-navigation-header-list-item.-version,.dps-navigation-header-nav .dps-navigation-header-list-item.-waitlist{display:block}}.dps-navigation-header-nav .dps-navigation-header-list-item.-request{margin-top:1rem}.dps-navigation-header-list,.dps-navigation-header-list-item{align-items:center;display:flex;list-style:none;margin:0;padding:0;position:relative}.dps-navigation-header-list-item:empty,.dps-navigation-header-list:empty{display:none}.dps-navigation-header-list{height:100%}.dps-navigation-header-nav-subtitle{font-family:ServiceNowSans-Medium;font-size:.75rem;font-weight:400;letter-spacing:.1em;line-height:1;margin:2rem 0 .75rem;position:relative;text-transform:uppercase}.dps-navigation-header-utility{display:block;flex:0 0 auto;height:100%;position:relative}@media(max-width:991.98px){.dps-navigation-header-utility{flex:1 1 auto}.dps-navigation-header-utility .dps-navigation-header-list{justify-content:flex-end}}.dps-navigation-header-utility .dps-navigation-header-list-item{margin-right:.75rem}@media(max-width:1439.98px){.dps-navigation-header-utility .dps-navigation-header-list-item{margin-right:.25rem}}@media(max-width:1199.98px){.dps-navigation-header-utility .dps-navigation-header-list-item{margin-right:.125rem}}@media(max-width:991.98px){.dps-navigation-header-utility .dps-navigation-header-list-item.-request,.dps-navigation-header-utility .dps-navigation-header-list-item.-version,.dps-navigation-header-utility .dps-navigation-header-list-item.-waitlist{display:none}}.dps-navigation-header-utility .dps-navigation-header-list-item:last-child{margin-right:0}.dps-navigation-header-collapse-btn{display:none;position:relative}@media(max-width:991.98px){.dps-navigation-header-collapse-btn{display:flex}}.dps-navigation-header-btn{align-items:center;background:transparent;border:none;color:#546566;cursor:pointer;display:flex;font-family:ServiceNowSans-Light;font-size:1.125rem;height:100%;line-height:1;padding:0 .5rem;position:relative;text-decoration:none;transition:color .3s cubic-bezier(.075,.82,.165,1)}.dps-navigation-header-btn:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-navigation-header-btn:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-navigation-header-btn:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}@media(max-width:1199.98px){.dps-navigation-header-btn{font-size:1rem;padding:0 .25rem}}@media(max-width:991.98px){.dps-navigation-header-btn{font-size:1.125rem;padding:0 .125rem}}.dps-navigation-header-btn:hover,.is-active .dps-navigation-header-btn{color:#293e40}.dps-navigation-header-btn.-sm{color:#293e40;font-size:.875rem;height:2.625rem;justify-content:center;padding:0 .5rem}@media(max-width:1103.98px){.dps-navigation-header-btn.-sm{height:2rem}}@media(max-width:991.98px){.dps-navigation-header-btn.-sm{padding:.25rem}.-version .dps-navigation-header-btn.-sm{color:#546566;font-size:1.125rem;height:auto;padding:.75rem .25rem}}.dps-navigation-header-btn.-sm.only-icon{padding:0;width:2.625rem}@media(max-width:1103.98px){.dps-navigation-header-btn.-sm.only-icon{width:2rem}}.dps-navigation-header-btn.-feedback{align-items:center;background:#fff;border:1px solid #474d52;border-radius:1.5rem;bottom:1rem;color:#293e40;display:flex;font-size:.875rem;height:3rem;justify-content:center;min-width:3rem;overflow:hidden;position:fixed;right:1.5rem;z-index:10}.dps-navigation-header-btn.-feedback:active span,.dps-navigation-header-btn.-feedback:hover span{max-width:8.75rem;opacity:1;padding:0 .5rem 0 .25rem}.dps-navigation-header-btn.-feedback now-icon:first-child{margin:0 .1875rem}.dps-navigation-header-btn.-feedback span{max-width:0;opacity:0;padding:0;position:relative;transition:max-width .3s cubic-bezier(.77,0,.175,1),opacity .3s cubic-bezier(.77,0,.175,1),padding .3s cubic-bezier(.77,0,.175,1);white-space:nowrap}.dps-navigation-header-btn now-icon:first-child{margin-right:.25rem}.dps-navigation-header-btn now-icon:last-child{margin-left:.25rem}.dps-navigation-header-btn now-icon:only-child{margin:0}.-warning{color:#ff924e}.dps-waitlist-status-btn{align-items:center;background:none;border:none;display:flex;gap:8px;padding:0;white-space:nowrap}.dps-waitlist-status-btn now-icon{color:#007393}.dps-waitlist-status-btn span{color:#333;font-family:ServiceNowSans-Regular;font-size:16px;font-weight:400}.dps-waitlist-status-btn .dps-waitlist-view-details{color:#032d42;cursor:pointer;font-family:ServiceNowSans-Book;font-size:16px;margin-left:6px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-request-instance img{margin:1rem auto}.dps-request-instance dps-button{margin:1.5rem 0 1.5rem}.dps-request-instance-heading{color:#293e40;font-weight:400;line-height:1.75;text-align:center;white-space:nowrap}.dps-request-instance-heading,.dps-request-instance-restoreLink{font-family:ServiceNowSans-Regular;font-size:1rem;margin:0}.dps-request-instance-restoreLink dps-button{font-family:ServiceNowSans-Regular;margin:0}.dps-request-instance-content sup{font-size:1em;top:0;vertical-align:.1em}:host{display:block}.dps-navigation-instance-management{display:flex;flex-wrap:wrap;padding:1.5rem 2rem 1rem 2.5rem;position:relative;width:100%}@media(max-width:1103.98px){.dps-navigation-instance-management{padding:1.5rem 1.5rem 1rem 1rem}}@media(max-width:991.98px){.dps-navigation-instance-management{padding:0 0 15vh}}.dps-navigation-instance-management-header{align-items:center;border-bottom:1px solid #d0d2d3;color:#474d52;display:flex;flex:0 0 100%;font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5;margin:0;padding:1rem 0 .25rem;width:100%}@media(max-width:991.98px){.dps-navigation-instance-management-header{display:block;font-family:ServiceNowSans-Light;font-size:1.125rem;letter-spacing:0;padding:1rem 0}}.dps-navigation-instance-management-header img{margin-right:.5rem;margin-top:-.375rem}.aes-warning-alert{margin-top:.25rem;width:100%}.dps-navigation-instance-management-content{flex:1 1 25%;padding:1.5rem 1rem 1.5rem 0}.dps-navigation-instance-management-content.-instance-actions{flex:1 1 auto}@media(max-width:991.98px){.dps-navigation-instance-management-content{flex:1 1 100%;padding:0}}.dps-navigation-instance-management-content dps-content-stack{margin-bottom:1.0625rem}@media(max-width:991.98px){.dps-navigation-instance-management-content dps-content-stack{margin-bottom:0;margin-top:1.5rem}}.dps-navigation-instance-management-content dps-content-stack dps-button{color:#293e40}.dps-navigation-instance-management-content dps-content-stack dps-button:hover{color:#546566}.dps-navigation-instance-management-content dps-content-stack:first-child p:first-child,.dps-navigation-instance-management-content dps-content-stack:first-child ul:first-child{padding-top:.75rem}.dps-navigation-instance-management-content dps-content-stack:first-child p:first-child{align-items:flex-start;display:inline-flex}.dps-navigation-instance-management-content dps-content-stack:last-of-type{margin-bottom:0}.dps-navigation-instance-management-content dps-content-stack h4{font-family:ServiceNowSans-Regular;font-size:1rem;font-weight:400;line-height:1.75;margin:0}.dps-navigation-instance-management-content dps-content-stack h4+p{font-family:ServiceNowSans-Light;font-size:1.75rem;line-height:1.4}.dps-navigation-instance-management-content dps-content-stack li{align-items:center;background:transparent;border:none;color:#546566;display:flex;font-family:ServiceNowSans-Regular;margin-bottom:.75rem}.dps-navigation-instance-management-content dps-content-stack li:hover{background:transparent;border:none;color:#546566}.dps-navigation-instance-management-content dps-content-stack li:last-child{margin-bottom:0}.dps-navigation-instance-management-content dps-content-stack li.is-disabled{opacity:.35;pointer-events:none}.dps-navigation-instance-management-content dps-content-stack img{color:#293e40;height:.875rem;margin-right:.75rem;width:.875rem}.dps-navigation-instance-management-content dps-content-stack .dps-navigation-instance-status{margin-top:-.375rem}.dps-navigation-instance-management-content dps-content-stack .dps-navigation-instance-status img{height:1.5625rem;margin-right:.75rem;width:1.5625rem}.dps-navigation-instance-management-content dps-content-stack .dps-navigation-instance-status-value{margin-top:-.25rem}.dps-navigation-instance-management-content dps-content-stack .app-installed{color:#5cc4af;margin-right:.25rem}.dps-navigation-instance-management-content dps-content-stack .app-not-installed{color:#ca5b57;margin-right:.25rem}.dps-navigation-instance-management-content_info{margin-bottom:1.5rem}.dps-navigation-instance-management-content .dps-navigation-instance-mangament-content-activity{color:#293e40;display:block;font-family:ServiceNowSans-Light;margin-top:.625rem;max-width:14.625rem}.dps-navigation-instance-management-request-instance{height:100%;padding:2.5rem;width:100%}.instance-status-text{display:flex;flex-direction:column}.cancel-request{color:#ca5b57;cursor:pointer}.cancel-request:hover{text-decoration:underline}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}@media(max-width:991.98px){:host dps-navigation-section{height:auto;width:100%}}.dps-navigation-login-management{background:#f7f7f7;height:100%;padding:1.5rem 2rem;position:relative;width:100%}.dps-navigation-login-management-button-container{align-items:baseline;color:#293e40;margin:.75rem 0 .75rem -.875rem;padding:0 1rem}.dps-navigation-login-management-button-container-reset-link{margin-left:1.625rem}@media(max-width:1103.98px){.dps-navigation-login-management{padding:1.5rem 1rem 1.5rem 1.5rem}}@media(max-width:991.98px){.dps-navigation-login-management{margin-left:-1rem;padding:0 1.5rem 1rem;width:calc(100% + 2rem)}}.dps-navigation-login-management-header{align-items:center;border-bottom:1px solid #d0d2d3;color:#474d52;display:flex;font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5;margin:0;padding:1rem 0 .25rem;width:100%}@media(max-width:991.98px){.dps-navigation-login-management-header{display:block;font-family:ServiceNowSans-Light;font-size:1.125rem;letter-spacing:0;padding:1rem 0}}.dps-navigation-login-management-header img{margin-right:.5rem;margin-top:-.375rem}.dps-navigation-login-management-content{align-items:center;border-bottom:1px solid #d0d2d3;display:flex;padding:0 1rem}@media(max-width:991.98px){.dps-navigation-login-management-content{padding:0}}.dps-navigation-login-management-content:last-child{border-bottom:none;padding-bottom:1rem}.dps-navigation-login-management-content dps-button{margin-right:.75rem;margin-top:.75rem}.dps-navigation-login-management-avatar{align-items:center;background:#f7f7f7;border:1px solid #b9bbbd;border-radius:50%;color:#546566;display:flex;font-family:ServiceNowSans-Light;font-size:1.75rem;height:6.25rem;justify-content:center;line-height:1.4;margin:1rem 1rem 1rem 0;text-transform:uppercase;width:6.25rem}@media(max-width:991.98px){.dps-navigation-login-management-avatar{font-family:ServiceNowSans-Light;font-size:1.3125rem;height:2.125rem;line-height:1.5;margin:1.5rem 1rem 1.5rem 0;width:2.125rem}}.dps-navigation-login-management-content-user-email,.dps-navigation-login-management-content-user-name{margin:0}.dps-navigation-login-management-content-user-name{font-family:ServiceNowSans-Regular;font-size:1rem;font-weight:400;line-height:1.75}.dps-navigation-login-management-content-user-email{font-family:ServiceNowSans-Light;font-size:.8125rem;letter-spacing:.02em;line-height:1.5}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block;height:100%;position:relative}.dps-navigation-section{height:100%;position:relative;width:100%}@media(max-width:991.98px){.dps-navigation-section{height:auto}}.dps-navigation-section.-grid .dps-navigation-section-header,.dps-navigation-section.-vertical .dps-navigation-section-header{display:block}@media(max-width:991.98px){.dps-navigation-section.-grid .dps-navigation-section-header,.dps-navigation-section.-vertical .dps-navigation-section-header{border-bottom:none;display:block;font-family:ServiceNowSans-Light;font-size:1.125rem;letter-spacing:0;padding:1rem 0;text-transform:none}}.dps-navigation-section.-grid .dps-navigation-section-header+.dps-navigation-section-content,.dps-navigation-section.-vertical .dps-navigation-section-header+.dps-navigation-section-content{grid-column-gap:2.5rem;height:auto;padding-top:.75rem}@media(max-width:991.98px){.dps-navigation-section.-grid .dps-navigation-section-header+.dps-navigation-section-content,.dps-navigation-section.-vertical .dps-navigation-section-header+.dps-navigation-section-content{padding-top:0}}.dps-navigation-section.-vertical{padding:1.5rem 2.375rem 2.375rem}@media(max-width:991.98px){.dps-navigation-section.-vertical{padding:0}}.dps-navigation-section.-grid{padding:1.5rem 2.375rem 2.375rem}@media(max-width:991.98px){.dps-navigation-section.-grid{padding:0}.dps-navigation-section.-default .dps-navigation-section-header{border-bottom:none;display:block;font-family:ServiceNowSans-Light;font-size:1.125rem;letter-spacing:0;padding:1rem 0;text-transform:none}.dps-navigation-section.-default .dps-navigation-section-header:empty,.dps-navigation-section.-end-cap .dps-navigation-section-header{display:none}}.dps-navigation-section-header{border-bottom:1px solid #d0d2d3;color:#474d52;display:none;font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5;margin:0;padding:1rem 0 .25rem;position:relative}.dps-navigation-section-header:empty{display:none}.dps-navigation-section-content{display:grid;height:100%;padding:0;position:relative}.dps-navigation-section-content.-col-1{grid-template-columns:repeat(1,1fr)}@media(max-width:991.98px){.dps-navigation-section-content.-col-1{grid-template-columns:repeat(1,1fr)}}.dps-navigation-section-content.-col-2{grid-template-columns:repeat(2,1fr)}@media(max-width:991.98px){.dps-navigation-section-content.-col-2{grid-template-columns:repeat(1,1fr)}}.dps-navigation-section-content.-col-3{grid-template-columns:repeat(3,1fr)}@media(max-width:991.98px){.dps-navigation-section-content.-col-3{grid-template-columns:repeat(1,1fr)}}.dps-navigation-section-content.-col-4{grid-template-columns:repeat(4,1fr)}@media(max-width:991.98px){.dps-navigation-section-content.-col-4{grid-template-columns:repeat(1,1fr)}}.dps-navigation-section-content.-col-5{grid-template-columns:repeat(5,1fr)}@media(max-width:991.98px){.dps-navigation-section-content.-col-5{grid-template-columns:repeat(1,1fr)}}.dps-navigation-section-content.-col-6{grid-template-columns:repeat(6,1fr)}@media(max-width:991.98px){.dps-navigation-section-content.-col-6{grid-template-columns:repeat(1,1fr)}}:host(.-col-1of1){grid-column:1/1}@media(max-width:991.98px){:host(.-col-1of1){grid-column:initial}}:host(.-col-1of2){grid-column:1/2}@media(max-width:991.98px){:host(.-col-1of2){grid-column:initial}}:host(.-col-1of3){grid-column:1/3}@media(max-width:991.98px){:host(.-col-1of3){grid-column:initial}}:host(.-col-1of4){grid-column:1/4}@media(max-width:991.98px){:host(.-col-1of4){grid-column:initial}}:host(.-col-1of5){grid-column:1/5}@media(max-width:991.98px){:host(.-col-1of5){grid-column:initial}}:host(.-col-1of6){grid-column:1/6}@media(max-width:991.98px){:host(.-col-1of6){grid-column:initial}}:host(.-col-2of2){grid-column:2/2}@media(max-width:991.98px){:host(.-col-2of2){grid-column:initial}}:host(.-col-2of3){grid-column:2/3}@media(max-width:991.98px){:host(.-col-2of3){grid-column:initial}}:host(.-col-2of4){grid-column:2/4}@media(max-width:991.98px){:host(.-col-2of4){grid-column:initial}}:host(.-col-2of5){grid-column:2/5}@media(max-width:991.98px){:host(.-col-2of5){grid-column:initial}}:host(.-col-2of6){grid-column:2/6}@media(max-width:991.98px){:host(.-col-2of6){grid-column:initial}}:host(.-col-3of3){grid-column:3/3}@media(max-width:991.98px){:host(.-col-3of3){grid-column:initial}}:host(.-col-3of4){grid-column:3/4}@media(max-width:991.98px){:host(.-col-3of4){grid-column:initial}}:host(.-col-3of5){grid-column:3/5}@media(max-width:991.98px){:host(.-col-3of5){grid-column:initial}}:host(.-col-3of6){grid-column:3/6}@media(max-width:991.98px){:host(.-col-3of6){grid-column:initial}}:host(.-col-4of4){grid-column:4/4}@media(max-width:991.98px){:host(.-col-4of4){grid-column:initial}}:host(.-col-4of5){grid-column:4/5}@media(max-width:991.98px){:host(.-col-4of5){grid-column:initial}}:host(.-col-4of6){grid-column:4/6}@media(max-width:991.98px){:host(.-col-4of6){grid-column:initial}}:host(.-col-5of5){grid-column:5/5}@media(max-width:991.98px){:host(.-col-5of5){grid-column:initial}}:host(.-col-5of6){grid-column:5/6}@media(max-width:991.98px){:host(.-col-5of6){grid-column:initial}}:host(.-col-6of6){grid-column:6/6}@media(max-width:991.98px){:host(.-col-6of6){grid-column:initial}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-navigation-version-selector{display:flex;font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;padding:2.5rem 2.5rem 0 0;position:relative;width:100%}.dps-navigation-version-selector.-stacked{padding:0 2.5rem}@media(max-width:991.98px){.dps-navigation-version-selector.-stacked{padding:0}}.dps-navigation-version-selector.-stacked .dps-navigation-version-selector-card:first-child{margin-left:0}.dps-navigation-version-selector.-stacked+dps-link{padding:0 2rem}@media(max-width:991.98px){.dps-navigation-version-selector.-stacked+dps-link{padding:0}.dps-navigation-version-selector{display:block;padding:.25rem 0 0}}.dps-navigation-version-selector-card{align-items:center;background:#f7f7f7;border:1px solid #e8e8e9;border-radius:.25rem;color:#474d52;cursor:pointer;display:flex;flex:1 1 auto;flex-direction:column;font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;height:100%;justify-content:center;line-height:1.5;margin:0 1rem;padding:2rem 0;position:relative;transition:background .15s cubic-bezier(.075,.82,.165,1),border-color .15s cubic-bezier(.075,.82,.165,1);width:100%}.dps-navigation-version-selector-card:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-navigation-version-selector-card:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-navigation-version-selector-card:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}@media(max-width:991.98px){.dps-navigation-version-selector-card{margin:.8125rem 0}}.dps-navigation-version-selector-card.is-highlighted,.dps-navigation-version-selector-card:hover{background:#fff;border-color:#5cc4af}.dps-navigation-version-selector-card.is-selected .dps-navigation-version-selector-card-radio{background:#5cc4af}.dps-navigation-version-selector-card.is-selected .dps-navigation-version-selector-card-radio now-icon{display:flex}.dps-navigation-version-selector-card:last-child{margin-right:0}.dps-navigation-version-selector-card-radio{align-items:center;background:#e8e8e9;border-radius:50%;color:#fff;display:flex;height:1.5rem;justify-content:center;position:absolute;right:1rem;top:1rem;transition:background .15s cubic-bezier(.075,.82,.165,1);width:1.5rem}.dps-navigation-version-selector-card-radio now-icon{display:none}.dps-navigation-version-selector-card-current{background:#def3ef;border-radius:0 0 2px 2px;font-family:ServiceNowSans-Light;font-size:.8125rem;font-weight:600;left:.5rem;letter-spacing:.02em;line-height:1.5;padding:.25rem .5rem;position:absolute;top:0}.dps-navigation-version-selector-card-label-container{position:relative;width:100%}.dps-navigation-version-selector-card-label{display:block;margin-top:1rem;position:relative;text-align:center;width:100%}.dps-navigation-version-selector-card-latest{color:#8a8e91;font-family:ServiceNowSans-Medium;font-size:.75rem;font-weight:400;left:0;letter-spacing:.1em;line-height:1;position:absolute;text-align:center;text-transform:uppercase;top:100%;width:100%}.dps-navigation-version-selector-card-img{background-position:50%;background-repeat:no-repeat;height:4.75rem;width:100%}.dps-navigation-site-version{color:#293e40;padding:1rem 2.5rem 2.5rem}@media(max-width:991.98px){.dps-navigation-site-version{padding:0}}.dps-navigation-site-version-header{align-items:center;color:#474d52;display:flex;font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5;margin:0 0 1rem;width:100%}@media(max-width:991.98px){.dps-navigation-site-version-header{border-bottom:none;font-family:ServiceNowSans-Light;font-size:1.125rem;letter-spacing:0;margin:0;padding:1rem 0;text-transform:none}}.dps-navigation-site-version-header now-icon{margin-right:.5rem}.dps-navigation-site-version-body{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;margin:0;width:100%}.dps-navigation-version-selector-card-button{background:none;border:none;border-radius:.25rem;cursor:pointer;height:100%;left:0;position:absolute;top:0;width:100%}.dps-navigation-version-selector-card-button:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-navigation-version-selector-card-button:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-navigation-version-selector-card-button:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}dps-link{margin:1rem 1rem 2.5rem}@media(max-width:991.98px){dps-link{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;margin:0 0 2rem}}dps-alert{margin:1rem 2.5rem 0}@media(max-width:991.98px){dps-alert{margin-left:0;margin-right:0}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-navigation-sidebar{width:315px}@media(max-width:575.98px){.dps-navigation-sidebar{width:auto}}.dps-navigation-sidebar li,.dps-navigation-sidebar ul{list-style:none;padding-left:0}.dps-navigation-sidebar_title{color:#1d1d1d;font-family:ServiceNowSans-Book;font-size:20px;height:auto;letter-spacing:.5px;line-height:36px;margin-bottom:16px;padding:var(--dps-navigation-sidebar-title-padding,40px 1.5rem 1.5rem 0)}.dps-navigation-sidebar_title.-overview{color:#1d1d1d;font-family:ServiceNowSans-Medium;font-size:24px;font-weight:500;line-height:1.3125rem;margin-bottom:.5rem}.dps-navigation-sidebar_title.-details{color:#2e2e2e;font-family:ServiceNowSans-Book;font-size:1.125rem;height:auto;line-height:1.3125rem;margin-bottom:0;padding:var(--dps-navigation-sidebar-details-padding,40px 1.5rem 1.5rem 0)}.dps-navigation-sidebar_group{display:flex;flex-direction:column;gap:16px}.dps-navigation-sidebar_group.-overview.-level2{margin-bottom:32px;padding-right:24px}.dps-navigation-sidebar_group.-level1.-details{margin-top:0;padding-left:var(--dps-navigation-sidebar-level1-details-padding,0)}.dps-navigation-sidebar_item{color:#1d1d1d;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:0;line-height:21px;min-height:auto;padding:0;width:100%}.dps-navigation-sidebar_item.-overview.-level1{color:#16243a;font-family:ServiceNowSans-Book;font-size:1.125rem;height:auto;letter-spacing:.5px;line-height:1.03125rem;text-transform:none}.dps-navigation-sidebar_item.is-selected{background:#f4fcf2;border-left:.125rem solid #63df4e;color:#1d1d1d;font-family:ServiceNowSans-Book;font-size:1rem;line-height:1.4rem;padding:.5rem 0 .5rem .75rem}.dps-navigation-sidebar_item a{color:inherit;text-decoration:none}.dps-navigation-sidebar_item a:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-navigation-sidebar_item a:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-navigation-sidebar_item a:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block;width:100%}.dps-overview-feedback{background-color:#f7f7f7;font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5;padding:6.25rem 0;position:relative;width:100%}.dps-overview-feedback.-overview{padding-top:0}@media(max-width:991.98px){.dps-overview-feedback{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;padding:2rem 0}}.dps-overview-feedback-header{align-items:flex-start;color:#474d52;display:flex;font-family:ServiceNowSans-Regular;font-size:1.75rem;font-weight:400;line-height:1.1;margin:1.3125rem 0 1.5rem;position:relative}@media(max-width:991.98px){.dps-overview-feedback-header{font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5;margin:0 0 1rem}}.dps-overview-feedback-header now-icon{color:#68a1af}.dps-overview-feedback-header now-icon+span{padding-left:1rem}.dps-overview-feedback-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none;margin:0 auto;max-width:70.625rem;position:relative;width:100%}@media(max-width:1199.98px){.dps-overview-feedback-content{max-width:100%;padding:0 2.5rem}}@media(max-width:767.98px){.dps-overview-feedback-content{grid-gap:2rem;align-items:start;display:grid;gap:0;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none;padding:0 1.5rem}}.dps-overview-feedback p{margin:0 0 1.5rem;max-width:37.5rem;position:relative}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-page-header{position:relative;width:100%}.dps-page-header.-two-column{overflow:hidden}.dps-page-header.-two-column .dps-page-header-container{padding-left:5.25rem}.dps-page-header.-two-column .dps-page-header-sub-title{font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}.dps-page-header.-two-column-overview{height:15.625rem}@media(max-width:1199.98px){.dps-page-header.-two-column-overview{height:100%}}.dps-page-header.-two-column-overview .dps-page-header-container{display:block;padding:2.5rem 0 2.9375rem 0;width:50.6875rem}@media(max-width:1199.98px){.dps-page-header.-two-column-overview .dps-page-header-container{padding:2rem 2.5rem;width:80%}}@media(max-width:767.98px),(max-width:991.98px){.dps-page-header.-two-column-overview .dps-page-header-container{padding:2rem 1.5rem}}@media(max-width:575.98px){.dps-page-header.-two-column-overview .dps-page-header-container{max-width:21.0625rem;padding:2.5rem 0;width:65%}}.dps-page-header.-two-column-overview .dps-page-header-sub-title,.dps-page-header.-two-column-overview .dps-page-header-title,.dps-page-header.-two-column-overview .dps-page-header-titles{color:#1d1d1d}.dps-page-header.-two-column-overview .dps-page-header-title{padding-bottom:.75rem}@media(max-width:1199.98px),(max-width:767.98px),(max-width:991.98px){.dps-page-header.-two-column-overview .dps-page-header-title{font-family:ServiceNowSans-Bold;font-size:1.3125rem}}@media(max-width:767.98px){.dps-page-header.-two-column-overview .dps-page-header-title{padding-left:1.25rem}}@media(max-width:1199.98px),(max-width:767.98px),(max-width:991.98px){.dps-page-header.-two-column-overview .dps-page-header-sub-title{font-family:ServiceNowSans-Regular;font-size:1.125rem}}@media(max-width:767.98px){.dps-page-header.-two-column-overview .dps-page-header-sub-title{padding-left:1.25rem}}@media(max-width:1199.98px){.dps-page-header.-two-column-centered-overview{height:100%}}.dps-page-header.-two-column-centered-overview .dps-page-header-container{display:block;padding-bottom:2.5625rem;width:50.6875rem}@media(max-width:1199.98px){.dps-page-header.-two-column-centered-overview .dps-page-header-container{width:80%}}@media(max-width:575.98px){.dps-page-header.-two-column-centered-overview .dps-page-header-container{max-width:21.0625rem;padding:2.5rem 0;width:90%}.dps-page-header.-two-column-centered-overview .dps-page-header-container .dps-page-header-sub-title,.dps-page-header.-two-column-centered-overview .dps-page-header-container .dps-page-header-title{font-size:1.3125rem}.dps-page-header.-two-column-centered-overview .dps-page-header-titles{text-align:left}}.dps-page-header-background{background-color:#f7f7f7!important;height:100%;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%;z-index:1}@media(max-width:991.98px){.dps-page-header-background{background-position:50%!important;background-size:0 0,cover!important}}.dps-page-header-container{grid-gap:0;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none;justify-content:flex-start;justify-items:center;margin:0;max-width:90rem;padding:6rem 0 3.75rem 0;position:relative;width:100%;z-index:2}@media(max-width:1199.98px){.dps-page-header-container{max-width:100%;padding:2rem 2.5rem}}@media(max-width:991.98px){.dps-page-header-container{grid-gap:0;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}@media(max-width:767.98px){.dps-page-header-container{padding:2rem 1.5rem}}.dps-page-header-container .dps-page-header-title{padding-bottom:.75rem}@media(max-width:1199.98px),(max-width:767.98px),(max-width:991.98px){.dps-page-header-container .dps-page-header-title{font-family:ServiceNowSans-Bold;font-size:1.3125rem}.dps-page-header-container .dps-page-header-sub-title{font-family:ServiceNowSans-Regular;font-size:1.125rem}}.dps-page-header-titles{align-items:flex-start;color:#fff;display:flex;flex-direction:column;font-family:ServiceNowSans-Bold;font-size:1.5rem;gap:.625rem;line-height:2.625rem;padding-left:2.5rem}@media(max-width:1199.98px){.dps-page-header-titles{margin-left:0;padding-left:0}}.dps-page-header-titles.-light{color:#fff}.dps-page-header-titles dps-badge{margin-bottom:.75rem}.dps-page-header-version-selector{margin-bottom:1.5rem;margin-left:1px}.dps-page-header-version-selector .-version-selector-full-width{width:200%}@media(max-width:1199.98px){.dps-page-header-version-selector .-version-selector-full-width{width:calc(100vw - 1% - 80px)}}@media(max-width:991.98px){.dps-page-header-version-selector .-version-selector-full-width{width:100%}}.dps-page-header-title{color:#fff;font-family:ServiceNowSans-Bold;font-size:1.5rem;letter-spacing:-.02rem;line-height:2.5rem;line-height:2.625rem;margin:0;text-align:justify}@media(max-width:991.98px){.dps-page-header-title{font-family:ServiceNowSans-Regular;font-size:1.75rem;font-weight:400;line-height:1.1;max-width:100%}}.dps-page-header-title.-big{color:#293e40;font-size:3rem}.dps-page-header-sub-title{color:#fff;font-family:ServiceNowSans-Regular;font-size:1.125rem;font-style:normal;line-height:1.5rem;text-align:start}@media(max-width:991.98px){.dps-page-header-sub-title{font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}}.dps-page-header-text{font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5;margin:32px 0}.dps-page-header-modules{font-family:ServiceNowSans-Bold;font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}.dps-page-header-extras{align-self:end;justify-self:end;text-align:right}@media(max-width:991.98px){.dps-page-header-extras{display:none}}slot[name=background-image]::slotted(*){bottom:-5.875rem;position:absolute;right:0}@media(max-width:991.98px){slot[name=background-image]::slotted(*){display:none}}slot[name=carousel]::slotted(*){margin-bottom:-5.875rem}slot[name=cta-button]::slotted(*){margin-top:1.5rem}@media(max-width:991.98px){slot[name=cta-button]::slotted(*){margin-top:1rem}}slot[name=image]::slotted(*){margin-bottom:0;margin-bottom:-5.875rem}slot[name=hidden-container]::slotted(*){height:28.125rem;opacity:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-page-new-header{background-blend-mode:overlay,normal;display:flex;flex-direction:column;gap:2.5rem;padding:3rem 2.5rem 3rem 2.5rem}@media(max-width:1199.98px){.dps-page-new-header{padding:1.5rem}}.dps-page-new-header .dps-page-new-header-title-container{padding:.625rem .375rem}.dps-page-new-header .dps-page-new-header-title-container .dps-page-new-header-title{color:#fff;font-family:ServiceNowSans-Bold;font-size:2rem;margin:0;margin-bottom:.875rem}@media(max-width:1199.98px){.dps-page-new-header .dps-page-new-header-title-container .dps-page-new-header-title{margin-bottom:.5rem}}.dps-page-new-header .dps-page-new-header-title-container .dps-page-new-header-title span{color:#62d84e}.dps-page-new-header .dps-page-new-header-title-container .dps-page-new-header-sub-title{color:#fff;font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500}@media(max-width:1199.98px){.dps-page-new-header{gap:1.5rem}}.dps-page-new-header .dps-card-status-container{border-bottom:1px solid #cfd5d7;display:flex;gap:1rem;padding:.625rem .375rem}.dps-page-new-header .dps-card-status-container .dps-card-individual-status{--now-highlighted-value--primary_info--background-color:189,220,242;--now-highlighted-value--primary_info--color:29,29,29;color:#666;display:flex;flex-direction:column;font-family:ServiceNowSans-Light;font-size:.625rem;gap:.25rem;padding:.3125rem .8125rem .3125rem 0}.dps-page-new-header .dps-card-status-container .dps-card-individual-status now-highlighted-value{--now-highlighted-value--font-family:ServiceNowSans-Light;--now-highlighted-value--font-size:$dps-global-font-size-xs}.dps-page-new-header .dps-card-status-container .dps-card-individual-status .waitlisted-icon{--now-highlighted-value--primary_info--background-color:94,171,223}.dps-page-new-header .dps-card-status-container .dps-card-individual-status .text-value{color:#1d1d1d;font-family:ServiceNowSans-Regular;font-size:1rem}.dps-page-new-header .dps-card-status-container .dps-card-individual-status .status-info,.dps-page-new-header .dps-card-status-container .dps-card-individual-status .status-text{color:#fff;font-size:.75rem}.dps-page-new-header .dps-card-status-container .dps-card-individual-status .status-info{align-items:center;border-radius:.8rem;display:flex;gap:.01rem;line-height:1.4;line-height:calc(.5rem + var(--now-highlighted-value--scale-size-block, 1)*1rem/2);padding:0 .25rem 0 .25rem}.dps-page-new-header .dps-card-status-container .dps-card-individual-status .status-info.status-online{background:#3e8501}.dps-page-new-header .dps-card-status-container .dps-card-individual-status .status-info.status-offline{background:#d9dbdb}.dps-page-new-header .dps-card-status-container .dps-card-individual-status .status-info.status-offline,.dps-page-new-header .dps-card-status-container .dps-card-individual-status .status-info.status-offline .status-text{color:#1d1d1d}.dps-page-new-header .dps-card-status-container .dps-card-individual-status .status-info.status-fulfilling{background:#fca822;padding-left:.125rem}.dps-page-new-header .dps-card-status-container .dps-card-individual-status .status-info.status-fulfilling,.dps-page-new-header .dps-card-status-container .dps-card-individual-status .status-info.status-fulfilling .status-text{color:#1d1d1d;font-size:.75rem}.dps-page-new-header .dps-card-status-container .dps-card-individual-status .status-info.status-hibernating{background:#6d7376}@media(max-width:1199.98px){.dps-page-new-header .dps-card-status-container .dps-card-individual-status.dps-status-version{display:none}}@media(max-width:991.98px){.dps-page-new-header .dps-card-status-container .dps-card-individual-status.dps-status-version{display:flex}}@media(max-width:767.98px){.dps-page-new-header .dps-card-status-container .dps-card-individual-status.dps-status-version{display:none}}.dps-page-new-header .dps-card-button-container{display:flex;gap:1.25rem;padding:1.5rem .375rem .375rem}@media(max-width:575.98px){.dps-page-new-header .dps-card-button-container{flex-direction:column}}.dps-page-new-header .dps-card-button-container now-button{--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.dps-page-new-header .dps-page-new-header-data-container{display:flex;gap:1.25rem}@media(max-width:991.98px){.dps-page-new-header .dps-page-new-header-data-container{flex-direction:column}}.dps-page-new-header .dps-page-new-header-data-container .dps-card-title-container{border-bottom:1px solid #cfd5d7;display:flex;flex-direction:column;gap:.5rem}.dps-page-new-header .dps-page-new-header-data-container .dps-card-title-container .dps-card-main-title{display:flex;font-family:ServiceNowSans-Medium;font-size:1.25rem;font-weight:500;gap:.625rem}.dps-page-new-header .dps-page-new-header-data-container .dps-card-title-container .dps-card-main-title .dps-card-title-line{color:#000;display:flex;font-family:ServiceNowSans-Medium;font-size:1.25rem;font-weight:500;gap:.375rem}.dps-page-new-header .dps-page-new-header-data-container .dps-card-title-container .dps-card-main-title .dps-card-title-line now-highlighted-value{--now-highlighted-value--font-family:ServiceNowSans-Light;--now-highlighted-value--font-size:$dps-global-font-size-xs;--now-highlighted-value--color:$dps-color-charcoal-black}.dps-page-new-header .dps-page-new-header-data-container .dps-card-title-container .dps-card-main-title .dps-card-title-line .dps-card-title-version{display:none}@media(max-width:767.98px){.dps-page-new-header .dps-page-new-header-data-container .dps-card-title-container .dps-card-main-title .dps-card-title-line .dps-card-title-version{display:block}.dps-page-new-header .dps-page-new-header-data-container .dps-card-title-container .dps-card-main-title .dps-card-title-line .dps-card-individual-status.dps-status-version,.dps-page-new-header .dps-page-new-header-data-container .dps-card-title-container .dps-card-main-title .dps-card-title-line .dps-card-title-name{display:none}}.dps-page-new-header .dps-page-new-header-data-container .dps-card-title-container .dps-card-sub-title{font-family:ServiceNowSans-Light;font-size:.875rem;padding:.625rem}.dps-page-new-header .instance-info-container{background:#fff;border:1px solid #e3e3e3;border-radius:.625rem;display:flex;flex:1;flex-direction:column;padding:1.5rem;position:relative}.dps-page-new-header .instance-info-container.justify-center{justify-content:center}.dps-page-new-header .instance-info-container.-disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.dps-page-new-header .instance-info-container.-disabled:hover{cursor:not-allowed}.dps-page-new-header .instance-info-container .instance-no-data-container{--now-icon--scale-size:3;display:flex;flex-direction:column;gap:1.5rem;text-align:center}.dps-page-new-header .instance-info-container .instance-no-data-container now-icon{color:#62d84e}.dps-page-new-header .instance-info-container .instance-no-data-container .no-data-content-container{display:flex;flex-direction:column;gap:.75rem}.dps-page-new-header .instance-info-container .instance-no-data-container .no-data-content-container h5{font-family:ServiceNowSans-Medium;font-size:1.25rem;font-weight:500;margin:0}.dps-page-new-header .instance-info-container .instance-no-data-container .no-data-content-container p{color:#000;font-family:ServiceNowSans-Light;font-size:.875rem;margin:0}.dps-page-new-header .instance-info-container .instance-no-data-container .instance-no-data-button-container{display:flex;gap:1.25rem;justify-content:center}@media(max-width:575.98px){.dps-page-new-header .instance-info-container .instance-no-data-container .instance-no-data-button-container{flex-direction:column}}.dps-page-new-header .instance-info-container .instance-no-data-container .instance-no-data-button-container now-button{--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-pagination{align-items:center;display:flex;justify-content:center;width:100%}.dps-pagination button{background:transparent;border:none;color:#8a8e91;cursor:pointer;white-space:nowrap}.dps-pagination button:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-pagination button:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-pagination button:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-pagination .active button,.dps-pagination button:hover{color:#293e40}.dps-pagination ul{display:flex;list-style:none;margin:0 .75rem;padding:0}.dps-pagination li{border-bottom:2px solid transparent;margin:0 .5rem}.dps-pagination li button,.dps-pagination li span{padding:0 .5rem;width:100%}.dps-pagination li.active{border-bottom:2px solid #474d52}@media(max-width:767.98px){.dps-pagination{flex-wrap:wrap}.dps-pagination ul{justify-content:center;margin:.75rem 0 0;order:3;width:100%}.dps-pagination>button{width:50%}.dps-pagination>button:first-child{flex:0 50%;margin-right:auto;order:-2;text-align:start}.dps-pagination>button:last-child{flex:0 50%;margin-left:auto;order:-1;text-align:end}.dps-pagination .last-btn{flex:0 100%!important;text-align:start!important}.dps-pagination .first-btn{flex:0 100%!important}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-button{align-items:center;border:none;color:inherit;cursor:pointer;display:inline-flex;font-family:ServiceNowSans-Book;font-size:1rem;font-weight:400;justify-content:center;letter-spacing:.01em;line-height:1.1;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),border .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:nowrap;width:inherit}.dps-button:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-button:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:active{color:currentColor}.dps-button.is-disabled,.dps-button:disabled{cursor:not-allowed}.dps-button.-primary{background:var(--dps-button-primary-bg,#62d84e);border:2px solid var(--dps-button-primary-border-color,#62d84e);border-radius:.5rem;color:#1d1d1d;font-family:ServiceNowSans-Book}.dps-button.-primary:hover{background:#62d84e;border-color:var(--dps-button-primary-hover-border-color,#62d84e);color:var(--dps-button-primary-hover-color,#1d1d1d)}.dps-button.-primary.is-disabled,.dps-button.-primary:disabled{background:#b9bbbd}.dps-button.-primary svg{fill:#fff}.dps-button.-primary-inverse{background:#62d84e;border:2px solid #62d84e;border-radius:.5rem;color:#000;font-family:ServiceNowSans-Book}.dps-button.-primary-inverse:hover{background:#fff}.dps-button.-primary-inverse.is-disabled,.dps-button.-primary-inverse:disabled{background:#8a8e91}.dps-button.-primary-inverse svg{fill:#62d84e}.dps-button.-secondary{background:var(--dps-button-secondary-bg,#fff);border:var(--dps-button-secondary-border-width,2px) solid var(--dps-button-secondary-border-color,#62d84e);border-radius:.5rem;color:var(--dps-button-secondary-color,#1d1d1d);font-family:ServiceNowSans-Book;font-size:1rem}.dps-button.-secondary:hover{background:var(--dps-button-secondary-hover-bg,#62d84e);border-color:var(--dps-button-secondary-hover-border-color,#62d84e);box-shadow:var(--dps-button-secondar-hover-box-shadow);color:var(--dps-button-secondary-hover-color,#000)}.dps-button.-secondary:hover svg{fill:#fff}.dps-button.-secondary.is-bare{color:#032d42;font-family:ServiceNowSans-Book;font-size:1rem;line-height:normal}.dps-button.-secondary.is-disabled,.dps-button.-secondary:disabled{background:transparent;border-color:#b9bbbd;color:#b9bbbd}.dps-button.-secondary svg{fill:#1d1d1d}.dps-button.-secondary-inverse{background:#fff;border:2px solid #62d84e;border-radius:.5rem}.dps-button.-secondary-inverse:hover{background:#62d84e;border-color:#62d84e}.dps-button.-secondary-inverse:hover svg{fill:#62d84e}.dps-button.-secondary-inverse.is-disabled,.dps-button.-secondary-inverse:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-secondary-inverse svg{fill:#d0d2d3}.dps-button.-round{background:#01778e;border-radius:1.5rem;color:#fff;height:2.625rem;min-width:12.1875rem}.dps-button.-round.is-disabled,.dps-button.-round:disabled{background:transparent;border:1px solid #b9bbbd;color:#b9bbbd}.dps-button.-secondary-light{background:transparent;border:2px solid #fff;color:#fff}.dps-button.-secondary-light:hover{background:#fff;border-color:#fff;color:#293e40}.dps-button.-secondary-light.is-disabled,.dps-button.-secondary-light:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-destructive{background:#ca5b57;color:#fff}.dps-button.-destructive:hover{background:#fc726d}.dps-button.-destructive.is-disabled,.dps-button.-destructive:disabled{background:#fdaaa7}.dps-button.-sm{color:#000;font-family:ServiceNowSans-Book;font-size:1rem;gap:.125rem;height:auto;min-height:2rem;padding:.375rem 1rem}.dps-button.-sm.only-icon{padding:0;width:2rem}.dps-button.-sm.has-button-and-icon now-icon{width:2rem}.dps-button.-md{height:2.625rem;padding:0 1.5rem}.dps-button.-md.only-icon{padding:0;width:2.625rem}.dps-button.-md.has-button-and-icon now-icon{width:2.625rem}.dps-button.-lg{height:3.125rem;padding:0 2rem}.dps-button.-lg.only-icon{padding:0;width:3.125rem}.dps-button.-lg.has-button-and-icon now-icon{width:3.125rem}.dps-button.is-bare{background:transparent;border:none;color:#546566}.dps-button.is-bare:hover{background:transparent;border:none;color:#293e40}.dps-button.is-bare:hover svg{fill:#293e40}.dps-button.is-bare svg{fill:#546566}.dps-button.has-action now-icon{transition:transform .3s cubic-bezier(.075,.82,.165,1)}.dps-button.has-action:hover now-icon{transform:translateX(.125rem)}.dps-button.has-action:hover.-external-action now-icon{transform:translateX(1px) translateY(-1px)}.dps-button.is-white{color:#fff}.dps-button.-round-edge{border-radius:.5rem;height:auto;padding:.5rem 1rem}.dps-button-label+now-icon,.dps-button-label+svg{margin-left:.5rem}.dps-button-label+svg.-sm{height:.75rem;width:.75rem}.dps-button-label+svg.-md{height:1rem;width:1rem}.dps-button-label+svg.-lg{height:1.5rem;width:1.5rem}.dps-button-label+svg.-xl{height:2rem;width:2rem}:host{display:block}.dps-playground-whats-new-modal{display:grid;grid-template-columns:3.875rem auto 3.875rem;max-width:100%;overflow:hidden;position:relative}@media only screen and (max-width:767.98px){.dps-playground-whats-new-modal{grid-template-columns:3.125rem auto 3.125rem}}.dps-playground-whats-new-modal .repeat-slide{background:transparent;border:0;cursor:pointer;height:2.5rem;opacity:0;position:absolute;right:1.3125rem;top:1.3125rem;transition:opacity .5s ease,visibility .5s ease;visibility:hidden;width:2.5rem;z-index:20}.dps-playground-whats-new-modal .repeat-slide.-is-visible{opacity:1;visibility:visible}.dps-playground-whats-new-modal .repeat-slide img{left:50%;margin-left:-.5625rem;margin-top:-.5625rem;position:absolute;top:50%}.dps-playground-whats-new-modal>.dps-playground-whats-new-modal-content{margin-top:2px;max-width:100%;overflow:hidden}.dps-playground-whats-new-modal>.dps-playground-whats-new-modal-content dps-spinner,.dps-playground-whats-new-modal>.dps-playground-whats-new-modal-content video{margin:2.5rem auto 0;max-width:100%}.dps-playground-whats-new-modal>.dps-playground-whats-new-modal-content>.dps-playground-whats-new-modal-card-container{display:flex;padding:.3125rem 0 1.6875rem;position:relative}.dps-playground-whats-new-modal>.dps-playground-whats-new-modal-content>.dps-playground-whats-new-modal-card-container>.dps-playground-whats-new-modal-card{display:inline-flex;height:100%}@media only screen and (max-width:767.98px){.dps-playground-whats-new-modal>.dps-playground-whats-new-modal-content>.dps-playground-whats-new-modal-card-container>.dps-playground-whats-new-modal-card{padding:0 1rem 1.6875rem}}.dps-playground-whats-new-modal>.dps-playground-whats-new-modal-content>.dps-playground-whats-new-modal-card-container>.dps-playground-whats-new-modal-card>.dps-playground-whats-new-modal-card-content{flex:1;text-align:center}.dps-playground-whats-new-modal>.dps-playground-whats-new-modal-content>.dps-playground-whats-new-modal-card-container>.dps-playground-whats-new-modal-card>.dps-playground-whats-new-modal-card-content>.dps-playground-whats-new-modal-card-header{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5rem;margin:1.5rem 0 1rem}.dps-playground-whats-new-modal>.dps-playground-whats-new-modal-content>.dps-playground-whats-new-modal-card-container>.dps-playground-whats-new-modal-card>.dps-playground-whats-new-modal-card-content>.dps-playground-whats-new-modal-card-text{font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5;margin-bottom:1.1875rem;white-space:pre-line}.dps-playground-whats-new-modal>.dps-playground-whats-new-modal-content>.dps-playground-whats-new-modal-card-container>.dps-playground-whats-new-modal-card>.dps-playground-whats-new-modal-card-content>.dps-playground-whats-new-modal-card-text dps-link,.dps-playground-whats-new-modal>.dps-playground-whats-new-modal-content>.dps-playground-whats-new-modal-card-container>.dps-playground-whats-new-modal-card>.dps-playground-whats-new-modal-card-content>.dps-playground-whats-new-modal-card-text dps-link a{display:inline}.dps-playground-whats-new-modal>.dps-playground-whats-new-modal-content>.dps-playground-whats-new-modal-card-container>.dps-playground-whats-new-modal-card>.dps-playground-whats-new-modal-card-content>.dps-playground-whats-new-modal-card-text.-centered{text-align:center}.dps-playground-whats-new-modal>.dps-playground-whats-new-modal-content>.dps-playground-whats-new-modal-card-container>.dps-playground-whats-new-modal-card>.dps-playground-whats-new-modal-card-content dps-button{display:block;margin:16px auto;text-align:center}.dps-playground-whats-new-modal>.dps-playground-whats-new-modal-side-button{background-color:transparent;border:0;cursor:pointer;opacity:1;outline:0;transition:opacity .15s ease}.dps-playground-whats-new-modal>.dps-playground-whats-new-modal-side-button.-is-disabled{opacity:0;pointer-events:none}.dps-playground-whats-new-modal>.dps-playground-whats-new-modal-activeCardSelector{cursor:pointer;display:flex;grid-column:1/4;justify-content:center}.dps-playground-whats-new-modal>.dps-playground-whats-new-modal-activeCardSelector>.dps-playground-whats-new-modal-activeCardSelector-block-container{background-color:transparent;border:0;padding:.875rem .25rem 1.375rem}.dps-playground-whats-new-modal>.dps-playground-whats-new-modal-activeCardSelector>.dps-playground-whats-new-modal-activeCardSelector-block-container:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-playground-whats-new-modal>.dps-playground-whats-new-modal-activeCardSelector>.dps-playground-whats-new-modal-activeCardSelector-block-container:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-playground-whats-new-modal>.dps-playground-whats-new-modal-activeCardSelector>.dps-playground-whats-new-modal-activeCardSelector-block-container:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-playground-whats-new-modal>.dps-playground-whats-new-modal-activeCardSelector>.dps-playground-whats-new-modal-activeCardSelector-block-container>.dps-playground-whats-new-modal-activeCardSelector-block{background-color:#d0d2d3;height:.25rem;margin-bottom:2px;position:relative;width:3.875rem}.dps-playground-whats-new-modal>.dps-playground-whats-new-modal-activeCardSelector>.dps-playground-whats-new-modal-activeCardSelector-block-container>.dps-playground-whats-new-modal-activeCardSelector-block .bar{background-color:#8a8e91;bottom:0;display:block;left:0;position:absolute;top:0;transition:none;width:0}.dps-playground-whats-new-modal>.dps-playground-whats-new-modal-activeCardSelector>.dps-playground-whats-new-modal-activeCardSelector-block-container>.dps-playground-whats-new-modal-activeCardSelector-block.active .bar{transition:width 1s linear;width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{left:.75rem;position:absolute;top:.75rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{box-sizing:border-box;display:block;height:100%;position:relative}:host *{box-sizing:border-box}.dps-playground{border-bottom:1px solid #e8e8e9;display:flex;flex-direction:column;height:50rem}.dps-playground.-playground-gallery-view{border:none;max-height:26.125rem}@media(max-width:575.98px){.dps-playground.-playground-gallery-view{max-height:14.375rem}}.dps-playground.-playground-gallery-view iframe{max-height:26.125rem}@media(max-width:575.98px){.dps-playground.-playground-gallery-view iframe{max-height:13.125rem}}.dps-playground-view{grid-area:main;height:100%;position:relative}.dps-playground-blocker,.dps-playground-view{align-items:center;display:flex;justify-content:center;width:100%}.dps-playground-blocker{background-color:hsla(0,0%,100%,.25);height:50rem;left:0;position:absolute;top:0}.dps-playground-blocker>div{align-items:center;background-color:hsla(0,0%,100%,.85);border-radius:.25rem;display:flex;height:6.25rem;justify-content:center;width:6.25rem}iframe{border:none;height:50rem;width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-prev-next-doc{display:flex;width:100%}.dps-prev-next-doc-btn{align-items:center;background:transparent;border:1px solid #c5c6c7;color:#293e40;cursor:pointer;display:inline-flex;flex:1 1 50%;font-family:ServiceNowSans-Light;font-size:1rem;margin:0;padding:1.5rem;position:relative;text-align:initial;transition:border .3s cubic-bezier(.075,.82,.165,1),background .3s cubic-bezier(.075,.82,.165,1);width:50%}.dps-prev-next-doc-btn:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-prev-next-doc-btn:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-prev-next-doc-btn:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-prev-next-doc-btn:hover{background:hsla(0,0%,98%,.5);border-color:#b9bbbd;z-index:1}.dps-prev-next-doc-btn:hover.-prev now-icon{transform:translateX(-2px)}.dps-prev-next-doc-btn:hover now-icon{color:#393e42;transform:translateX(2px)}.dps-prev-next-doc-btn.is-empty{display:none}.dps-prev-next-doc-btn.is-empty+.dps-prev-next-doc-btn{flex:1 1 100%;width:100%}.dps-prev-next-doc-btn.-prev{flex-direction:row-reverse;margin-right:-2px;text-align:right;width:calc(100% + 2px)}.dps-prev-next-doc-btn now-icon{color:#293e40;transition:color .3s cubic-bezier(.075,.82,.165,1),transform .3s cubic-bezier(.075,.82,.165,1)}.dps-prev-next-doc-btn-content{color:#1d1d1d;display:inline-flex;flex:1 1 auto;flex-direction:column;font-family:ServiceNowSans-Light;font-size:.875rem;gap:.25rem;justify-content:center;overflow:hidden;position:relative}.dps-prev-next-doc-btn-content.-static{flex:0 0 auto;margin-left:1rem}.-prev .dps-prev-next-doc-btn-content.-static{margin-left:0;margin-right:1rem}.is-truncated .dps-prev-next-doc-btn-content>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dps-prev-next-doc-btn-label{color:#032d42;font-family:ServiceNowSans-Book;font-size:.875rem;line-height:normal}.is-truncated .dps-prev-next-doc-btn-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-progress-bar{align-items:center;color:#293e40;display:flex;font-family:ServiceNowSans-Regular;font-size:.8125rem;text-transform:uppercase}.dps-progress-bar-wrapper{background-color:#e3e3e3;border:1px solid #b3b3b3;flex:1;height:.75rem;margin-right:1rem}.dps-progress-bar-wrapper-bar{background-color:#02506b;height:100%;transition:width .25s ease-out}.dps-progress-bar-labels{margin-left:1rem;text-align:right;white-space:nowrap}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.main{box-shadow:inset 0 0 0 .0625rem #d0d2d3}.dps-card{background-color:#fff;color:#293e40;display:flex;font-family:ServiceNowSans-Light;height:13.1875rem;overflow:hidden;position:relative;width:34.3125rem}.dps-card:after{background-color:var(--dps-theme-highlight);content:\\\"\\\";height:.25rem;left:0;position:absolute;right:0;top:0}.dps-card.-theme-charcoal{--dps-theme-highlight:#63df4e}.dps-card .content-column{display:flex;width:100%}.dps-card .content-column .text-container{flex:0 0 63%;padding-left:2.25rem;padding-top:4.125rem}.dps-card .content-column .text-container .dps-progress-card-title{-webkit-margin-before:0;-webkit-margin-after:0;color:#1d1d1d;font-family:ServiceNowSans-Book;font-size:1.25rem;letter-spacing:0;margin-block-end:0;margin-block-start:0;padding-bottom:.25rem}.dps-card .content-column .text-container .dps-progress-card-desc{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:.875rem;letter-spacing:0;margin-top:.25rem}.dps-card .content-column .circle-container{flex:0 0 37%;padding-top:1.4375rem}.content-link{align-items:center;background-color:#e6f0ec;height:3.5rem;overflow:hidden;padding:1.125rem;position:relative;width:34.3125rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-progress-circle{display:block;position:relative}.dps-progress-circle.-lg{height:10.625rem;width:10.625rem}.dps-progress-circle.-md{height:4.6875rem;width:4.6875rem}.dps-progress-circle.-sm{display:inline-block;height:2.125rem;width:2.125rem}.dps-progress-circle-container{transform:rotate(-90deg);transform-origin:50% 50%}.dps-progress-circle-track{stroke:var(--dps-progress-circle-track-color,#d0d2d3)}.dps-progress-circle-ring{stroke:#62d84e}.dps-progress-circle-content{left:50%;margin-right:-50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.dps-progress-circle.-md .dps-progress-circle-content>span:before,.dps-progress-circle.-sm .dps-progress-circle-content>span:before{background:transparent;content:\\\"\\\";display:block;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(45deg)}.dps-progress-circle.-sm .dps-progress-circle-content>span:before{border:solid #474d52;border-width:0 .125rem .125rem 0;height:.5625rem;width:.375rem}.dps-progress-circle.-md .dps-progress-circle-content>span:before{border:solid #474d52;border-width:0 .25rem .25rem 0;height:1.0625rem;width:.625rem}.dps-progress-circle-title{color:#474d52;margin:0}.dps-progress-circle.-md .dps-progress-circle-title{font-family:ServiceNowSans-Regular;font-size:.8125rem}.dps-progress-circle.-lg .dps-progress-circle-title{font-family:ServiceNowSans-Regular;font-size:1.75rem}.dps-progress-circle-subtitle{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;margin:.5rem 0 0;width:5.4375rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/highlight.js/styles/agate.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".dps-button{align-items:center;border:none;color:inherit;cursor:pointer;display:inline-flex;font-family:ServiceNowSans-Book;font-size:1rem;font-weight:400;justify-content:center;letter-spacing:.01em;line-height:1.1;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),border .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:nowrap;width:inherit}.dps-button:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-button:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:active{color:currentColor}.dps-button.is-disabled,.dps-button:disabled{cursor:not-allowed}.dps-button.-primary{background:var(--dps-button-primary-bg,#62d84e);border:2px solid var(--dps-button-primary-border-color,#62d84e);border-radius:.5rem;color:#1d1d1d;font-family:ServiceNowSans-Book}.dps-button.-primary:hover{background:#62d84e;border-color:var(--dps-button-primary-hover-border-color,#62d84e);color:var(--dps-button-primary-hover-color,#1d1d1d)}.dps-button.-primary.is-disabled,.dps-button.-primary:disabled{background:#b9bbbd}.dps-button.-primary svg{fill:#fff}.dps-button.-primary-inverse{background:#62d84e;border:2px solid #62d84e;border-radius:.5rem;color:#000;font-family:ServiceNowSans-Book}.dps-button.-primary-inverse:hover{background:#fff}.dps-button.-primary-inverse.is-disabled,.dps-button.-primary-inverse:disabled{background:#8a8e91}.dps-button.-primary-inverse svg{fill:#62d84e}.dps-button.-secondary{background:var(--dps-button-secondary-bg,#fff);border:var(--dps-button-secondary-border-width,2px) solid var(--dps-button-secondary-border-color,#62d84e);border-radius:.5rem;color:var(--dps-button-secondary-color,#1d1d1d);font-family:ServiceNowSans-Book;font-size:1rem}.dps-button.-secondary:hover{background:var(--dps-button-secondary-hover-bg,#62d84e);border-color:var(--dps-button-secondary-hover-border-color,#62d84e);box-shadow:var(--dps-button-secondar-hover-box-shadow);color:var(--dps-button-secondary-hover-color,#000)}.dps-button.-secondary:hover svg{fill:#fff}.dps-button.-secondary.is-bare{color:#032d42;font-family:ServiceNowSans-Book;font-size:1rem;line-height:normal}.dps-button.-secondary.is-disabled,.dps-button.-secondary:disabled{background:transparent;border-color:#b9bbbd;color:#b9bbbd}.dps-button.-secondary svg{fill:#1d1d1d}.dps-button.-secondary-inverse{background:#fff;border:2px solid #62d84e;border-radius:.5rem}.dps-button.-secondary-inverse:hover{background:#62d84e;border-color:#62d84e}.dps-button.-secondary-inverse:hover svg{fill:#62d84e}.dps-button.-secondary-inverse.is-disabled,.dps-button.-secondary-inverse:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-secondary-inverse svg{fill:#d0d2d3}.dps-button.-round{background:#01778e;border-radius:1.5rem;color:#fff;height:2.625rem;min-width:12.1875rem}.dps-button.-round.is-disabled,.dps-button.-round:disabled{background:transparent;border:1px solid #b9bbbd;color:#b9bbbd}.dps-button.-secondary-light{background:transparent;border:2px solid #fff;color:#fff}.dps-button.-secondary-light:hover{background:#fff;border-color:#fff;color:#293e40}.dps-button.-secondary-light.is-disabled,.dps-button.-secondary-light:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-destructive{background:#ca5b57;color:#fff}.dps-button.-destructive:hover{background:#fc726d}.dps-button.-destructive.is-disabled,.dps-button.-destructive:disabled{background:#fdaaa7}.dps-button.-sm{color:#000;font-family:ServiceNowSans-Book;font-size:1rem;gap:.125rem;height:auto;min-height:2rem;padding:.375rem 1rem}.dps-button.-sm.only-icon{padding:0;width:2rem}.dps-button.-sm.has-button-and-icon now-icon{width:2rem}.dps-button.-md{height:2.625rem;padding:0 1.5rem}.dps-button.-md.only-icon{padding:0;width:2.625rem}.dps-button.-md.has-button-and-icon now-icon{width:2.625rem}.dps-button.-lg{height:3.125rem;padding:0 2rem}.dps-button.-lg.only-icon{padding:0;width:3.125rem}.dps-button.-lg.has-button-and-icon now-icon{width:3.125rem}.dps-button.is-bare{background:transparent;border:none;color:#546566}.dps-button.is-bare:hover{background:transparent;border:none;color:#293e40}.dps-button.is-bare:hover svg{fill:#293e40}.dps-button.is-bare svg{fill:#546566}.dps-button.has-action now-icon{transition:transform .3s cubic-bezier(.075,.82,.165,1)}.dps-button.has-action:hover now-icon{transform:translateX(.125rem)}.dps-button.has-action:hover.-external-action now-icon{transform:translateX(1px) translateY(-1px)}.dps-button.is-white{color:#fff}.dps-button.-round-edge{border-radius:.5rem;height:auto;padding:.5rem 1rem}.dps-button-label+now-icon,.dps-button-label+svg{margin-left:.5rem}.dps-button-label+svg.-sm{height:.75rem;width:.75rem}.dps-button-label+svg.-md{height:1rem;width:1rem}.dps-button-label+svg.-lg{height:1.5rem;width:1.5rem}.dps-button-label+svg.-xl{height:2rem;width:2rem}.dps-link,a:not(.dps-button){-webkit-text-decoration-skip:ink;background:none;border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.03125rem;margin:-.125rem;padding:.125rem;position:relative;-webkit-text-decoration-line:underline;text-decoration-line:underline;text-decoration-skip-ink:auto;-webkit-text-decoration-style:solid;text-decoration-style:solid;text-decoration:none;text-decoration-thickness:auto;white-space:normal}.dps-link:focus,a:not(.dps-button):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-link:focus:not(:focus-visible),a:not(.dps-button):focus:not(:focus-visible){box-shadow:none;outline:none}.dps-link:focus-visible,a:not(.dps-button):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-link>span,a:not(.dps-button)>span{background:linear-gradient(#00718f,#00718f) bottom repeat-x;background-size:0 0;border-bottom:none;box-shadow:none;color:inherit;padding:0 .125rem;position:relative;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1),border-bottom .3s cubic-bezier(.075,.82,.165,1)}.dps-link>span.none,a:not(.dps-button)>span.none{background:none;box-shadow:none;transition:none}.dps-link:hover,a:not(.dps-button):hover{color:#024f69}.dps-link:hover>span,a:not(.dps-button):hover>span{background-size:0 0;border-bottom:1px solid #024f69;box-shadow:none}.dps-link:hover>span.none,a:not(.dps-button):hover>span.none{background:none;box-shadow:none;color:none;transition:none}.dps-link:active,a:not(.dps-button):active{color:#032d42}.dps-link:active>span,a:not(.dps-button):active>span{background-size:0 0;border-bottom:1px solid #032d42;box-shadow:none}.dps-link.has-action now-icon,a:not(.dps-button).has-action now-icon{transition:transform .3s cubic-bezier(.075,.82,.165,1)}.dps-link.has-action:hover now-icon,a:not(.dps-button).has-action:hover now-icon{transform:translateX(.125rem)}.dps-link.has-action:hover.-external-action now-icon,a:not(.dps-button).has-action:hover.-external-action now-icon{transform:translateX(1px) translateY(-1px)}.dps-link.is-disabled,a:not(.dps-button).is-disabled{color:#c3c3c3;cursor:not-allowed;opacity:.5}.dps-link.is-disabled:hover>span,.dps-link.is-disabled>span,a:not(.dps-button).is-disabled:hover>span,a:not(.dps-button).is-disabled>span{border-bottom:1px solid #c3c3c3;box-shadow:inset 0 -1px 0 0 #c3c3c3;color:#c3c3c3}.dps-link.is-disabled:hover>span,a:not(.dps-button).is-disabled:hover>span{background-size:0 0}.dps-link.is-warning,a:not(.dps-button).is-warning{color:#652e2c}.dps-link.is-warning>span,a:not(.dps-button).is-warning>span{box-shadow:inset 0 -1px 0 0 #fc726d}.dps-link.is-warning:active>span,.dps-link.is-warning:hover>span,a:not(.dps-button).is-warning:active>span,a:not(.dps-button).is-warning:hover>span{background:linear-gradient(#fdaaa7,#fdaaa7) bottom repeat-x;box-shadow:none}.dps-link.is-warning-light,a:not(.dps-button).is-warning-light{color:#663a1f}.dps-link.is-warning-light>span,a:not(.dps-button).is-warning-light>span{box-shadow:inset 0 -1px 0 0 #ffa871}.dps-link.is-warning-light:active>span,.dps-link.is-warning-light:hover>span,a:not(.dps-button).is-warning-light:active>span,a:not(.dps-button).is-warning-light:hover>span{background:linear-gradient(#ffbe95,#ffbe95) bottom repeat-x;box-shadow:none}.dps-link.-inline,a:not(.dps-button).-inline{display:inline}.dps-link span+now-icon,a:not(.dps-button) span+now-icon{margin-left:.125rem}sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}code.hljs{padding:1rem}aside,b,dd,div,dl,dt,em,i,li,ol,p,strong,ul{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;line-height:1.5rem}aside,dd,div,dl,dt,li,ol,p,ul{font-weight:400}a em{color:#00718f}strong,strong em{font-family:ServiceNowSans-Medium;font-weight:500}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem;line-height:1.1;line-height:1.3125rem;margin:2rem 0}h1,h2{color:#1d1d1d;font-size:1.75rem;font-weight:400;font-weight:500}h2{font-family:ServiceNowSans-Regular;font-family:ServiceNowSans-Medium;font-size:1.5rem;line-height:1.1;line-height:2.25rem;margin-bottom:.75rem 0}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400;margin-bottom:.5rem 0}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400;margin-bottom:.5rem 0}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal}blockquote,code,img,ol,p,pre,ul{margin:.75rem 0}img{max-width:100%}pre{margin-bottom:1.5rem;margin-top:.75rem}div+h1,div+h2,div+h3,div+h4,div+h5,div+h6,img+h1,img+h2,img+h3,img+h4,img+h5,img+h6,p+h1,p+h2,p+h3,p+h4,p+h5,p+h6,ul+h1,ul+h2,ul+h3,ul+h4,ul+h5,ul+h6{margin-top:2rem}b,strong{font-weight:500}b,code,strong{letter-spacing:.02em}code{background-color:#e8e8e9;border:1px solid #d0d2d3;border-radius:.25rem;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5}code b,code strong{font-weight:500}pre code{background-color:transparent;border:none;border-radius:0}.sm,small{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}.sm code,small code{font-size:80%}.lg,.xl{font-family:ServiceNowSans-Regular;font-size:1.3125rem;font-weight:400;line-height:1.5}.lg code,.xl code{font-size:80%}.xl{font-size:1.5rem;line-height:1.5}.dps-caption,.dps-label{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}a:not(.dps-link):not(.dps-button):not(.dps-card-click){border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal;margin:-.125rem;padding:0 .125rem;position:relative;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:normal}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus:not(:focus-visible){box-shadow:none;outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):hover{color:#024f69;text-decoration:underline;-webkit-text-decoration-color:#024f69;text-decoration-color:#024f69}a:not(.dps-link):not(.dps-button):not(.dps-card-click):active{color:#032d42;text-decoration:underline;-webkit-text-decoration-color:#032d42;text-decoration-color:#032d42}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}.do-dont-images{column-gap:1rem;display:grid;grid-auto-flow:column;grid-template-rows:1fr auto}@media screen and (max-width:767.98px){.do-dont-images{display:block}}.do-dont-images figcaption,.do-dont-images figure{margin:0;padding:0}.do-dont-images img{margin:0;max-width:100%;padding:0}.do-dont-images figure{background-color:#f7f7f7;border-top:5px solid;margin-top:2rem;padding:1rem;position:relative}.do-dont-images figcaption{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;font-style:italic;line-height:1.5;margin-bottom:0;margin-left:0;margin-right:0;margin-top:.5rem;max-width:100%;text-align:left}.do-dont-images .img-do h5,.do-dont-images .img-dont h5{font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;left:0;line-height:1.75;margin:0;padding:0;position:absolute;top:-2rem}.do-dont-images .img-dont{border-color:#fc726d}.do-dont-images .img-dont h5{color:#fc726d}.do-dont-images .img-do{border-color:#5cc4af}.do-dont-images .img-do h5{color:#5cc4af}:host{display:inline-block;white-space:normal;width:100%}.dps-question-block{background-color:#e1ecef;cursor:pointer;font-size:1rem;line-height:1.5;padding:1.5rem 1rem}.dps-question-triangle{margin-right:.125rem}.dps-question-triangle.-rotated{float:left;margin:.125rem .5rem 1.5rem -.375rem;padding-right:.25rem;transform:rotate(90deg)}.dps-question-answer{margin-left:1.375rem}code,iframe,pre{max-width:100%}pre{overflow:auto}pre code{white-space:pre-wrap}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.related-components{background-color:#f7f7f7;padding:2rem}.related-components .related-components-grid{display:grid;gap:1rem;grid-template-columns:1fr 1fr 1fr 1fr;margin-top:.75rem;margin-top:2.5rem}@media(max-width:991.98px){.related-components .related-components-grid{grid-template-columns:auto}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/highlight.js/styles/agate.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}code.hljs{padding:1rem}aside,b,dd,div,dl,dt,em,i,li,ol,p,strong,ul{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;line-height:1.5rem}aside,dd,div,dl,dt,li,ol,p,ul{font-weight:400}a em{color:#00718f}strong,strong em{font-family:ServiceNowSans-Medium;font-weight:500}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem;line-height:1.1;line-height:1.3125rem;margin:2rem 0}h1,h2{color:#1d1d1d;font-size:1.75rem;font-weight:400;font-weight:500}h2{font-family:ServiceNowSans-Regular;font-family:ServiceNowSans-Medium;font-size:1.5rem;line-height:1.1;line-height:2.25rem;margin-bottom:.75rem 0}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400;margin-bottom:.5rem 0}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400;margin-bottom:.5rem 0}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal}blockquote,code,img,ol,p,pre,ul{margin:.75rem 0}img{max-width:100%}pre{margin-bottom:1.5rem;margin-top:.75rem}div+h1,div+h2,div+h3,div+h4,div+h5,div+h6,img+h1,img+h2,img+h3,img+h4,img+h5,img+h6,p+h1,p+h2,p+h3,p+h4,p+h5,p+h6,ul+h1,ul+h2,ul+h3,ul+h4,ul+h5,ul+h6{margin-top:2rem}b,strong{font-weight:500}b,code,strong{letter-spacing:.02em}code{background-color:#e8e8e9;border:1px solid #d0d2d3;border-radius:.25rem;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5}code b,code strong{font-weight:500}pre code{background-color:transparent;border:none;border-radius:0}.sm,small{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}.sm code,small code{font-size:80%}.lg,.xl{font-family:ServiceNowSans-Regular;font-size:1.3125rem;font-weight:400;line-height:1.5}.lg code,.xl code{font-size:80%}.xl{font-size:1.5rem;line-height:1.5}.dps-caption,.dps-label{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}a:not(.dps-link):not(.dps-button):not(.dps-card-click){border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal;margin:-.125rem;padding:0 .125rem;position:relative;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:normal}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus:not(:focus-visible){box-shadow:none;outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):hover{color:#024f69;text-decoration:underline;-webkit-text-decoration-color:#024f69;text-decoration-color:#024f69}a:not(.dps-link):not(.dps-button):not(.dps-card-click):active{color:#032d42;text-decoration:underline;-webkit-text-decoration-color:#032d42;text-decoration-color:#032d42}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}.do-dont-images{column-gap:1rem;display:grid;grid-auto-flow:column;grid-template-rows:1fr auto}@media screen and (max-width:767.98px){.do-dont-images{display:block}}.do-dont-images figcaption,.do-dont-images figure{margin:0;padding:0}.do-dont-images img{margin:0;max-width:100%;padding:0}.do-dont-images figure{background-color:#f7f7f7;border-top:5px solid;margin-top:2rem;padding:1rem;position:relative}.do-dont-images figcaption{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;font-style:italic;line-height:1.5;margin-bottom:0;margin-left:0;margin-right:0;margin-top:.5rem;max-width:100%;text-align:left}.do-dont-images .img-do h5,.do-dont-images .img-dont h5{font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;left:0;line-height:1.75;margin:0;padding:0;position:absolute;top:-2rem}.do-dont-images .img-dont{border-color:#fc726d}.do-dont-images .img-dont h5{color:#fc726d}.do-dont-images .img-do{border-color:#5cc4af}.do-dont-images .img-do h5{color:#5cc4af}.scoped-equivalent-wrapper{margin-bottom:2.5rem}.scoped-equivalent-wrapper>h4{color:#313131;font-family:ServiceNowSans-Light;font-weight:400;margin-bottom:.25rem}.scoped-equivalent-wrapper .scoped-text .apiname{font-weight:600}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{background-color:#f7f7f7;display:block;margin-bottom:1.5rem;margin-top:-1.75rem;padding:1rem}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;margin-bottom:.75rem;margin-top:0}h3,p{line-height:1.5}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.search-category{background:#fff;border:1px solid #e8e8e9;border-radius:.25rem;box-shadow:0 1.125rem 1.375rem -1.1875rem rgba(0,0,0,.07);margin-bottom:2.5rem;margin-top:4px;overflow:hidden}.search-category header{background-color:#def3ef;display:grid;grid-template-columns:2.5rem minmax(0,1fr);height:4rem;padding:.75rem;position:relative}.search-category header:before{background-color:#bee7df;content:\\\"\\\";display:block;height:4px;left:0;position:absolute;right:0;top:0}.search-category header h4,.search-category header p{color:#474d52;margin:0;padding:0}.search-category header h4{font-family:ServiceNowSans-Medium;font-size:.75rem;text-transform:uppercase}.search-category header p{font-family:ServiceNowSans-Regular;font-size:.8125rem;line-height:2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.search-category .results{padding:.5rem 2rem 0}@media(max-width:767.98px){.search-category .results{padding:.125rem 1rem 0}}.search-category .view-all-wrapper{border-top:1px solid #e8e8e9;padding:1.5rem 0 1.5rem}.search-category dps-pagination{margin-bottom:2rem}.search-category-icon{border-radius:100%;height:2.5rem;text-align:center;width:2.5rem}.search-category-icon svg{fill:#fff;display:block;margin-left:.625rem;margin-top:.625rem;width:1.25rem}.search-category-meta{flex:1;padding-left:.5rem}.search-category.-blue header{background-color:rgba(225,236,239,.3)}.search-category.-blue header:before{background-color:#c3d9df}.search-category.-blue .search-category-icon{background-color:#68a1af}.search-category.-orange header{background-color:rgba(255,233,220,.3)}.search-category.-orange header:before{background-color:#ffd3b8}.search-category.-orange .search-category-icon{background-color:#ff924e}.search-category.-purple header{background-color:rgba(222,225,243,.3)}.search-category.-purple header:before{background-color:#bec3e7}.search-category.-purple .search-category-icon{background-color:#5c6ac4}.search-category.-green header{background-color:rgba(230,240,236,.3)}.search-category.-green header:before{background-color:#cde1d9}.search-category.-green .search-category-icon{background-color:#81b5a1}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.accordion.disabled{-webkit-filter:grayscale(1);filter:grayscale(1);pointer-events:none}.accordion-collapsed{align-items:center;box-sizing:border-box;color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));display:flex;flex-flow:row nowrap;justify-content:space-between;padding-bottom:.75rem;padding-top:.5rem;width:100%}:host(:not([dir=rtl])) .accordion-collapsed,:root:not([dir=rtl]) .accordion-collapsed{padding-left:0}:host([dir=rtl]) .accordion-collapsed,:root[dir=rtl] .accordion-collapsed{padding-right:0}:host(:not([dir=rtl])) .accordion-collapsed,:root:not([dir=rtl]) .accordion-collapsed{padding-right:0}:host([dir=rtl]) .accordion-collapsed,:root[dir=rtl] .accordion-collapsed{padding-left:0}.accordion-expanded{align-items:center;align-items:flex-start;box-sizing:border-box;color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));display:flex;flex-flow:row nowrap;font-weight:450;justify-content:space-between;padding-bottom:.75rem;padding-top:.5rem;width:100%}:host(:not([dir=rtl])) .accordion-expanded,:root:not([dir=rtl]) .accordion-expanded{padding-left:0}:host([dir=rtl]) .accordion-expanded,:root[dir=rtl] .accordion-expanded{padding-right:0}:host(:not([dir=rtl])) .accordion-expanded,:root:not([dir=rtl]) .accordion-expanded{padding-right:0}:host([dir=rtl]) .accordion-expanded,:root[dir=rtl] .accordion-expanded{padding-left:0}.single-select-accordion-expanded{align-items:center;align-items:flex-start;box-sizing:border-box;color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));display:flex;flex-flow:row nowrap;justify-content:space-between;padding-bottom:.75rem;padding-bottom:.5rem;padding-top:.5rem;width:100%}:host(:not([dir=rtl])) .single-select-accordion-expanded,:root:not([dir=rtl]) .single-select-accordion-expanded{padding-left:0}:host([dir=rtl]) .single-select-accordion-expanded,:root[dir=rtl] .single-select-accordion-expanded{padding-right:0}:host(:not([dir=rtl])) .single-select-accordion-expanded,:root:not([dir=rtl]) .single-select-accordion-expanded{padding-right:0}:host([dir=rtl]) .single-select-accordion-expanded,:root[dir=rtl] .single-select-accordion-expanded{padding-left:0}.accordion-title{align-items:left;background:transparent;border:none;cursor:pointer;display:flex;flex-flow:column wrap;font-size:1rem;justify-content:space-between;margin-bottom:0;margin-top:0;outline:none;padding-bottom:0;padding-top:0;width:100%;word-break:break-word}:host(:not([dir=rtl])) .accordion-title,:root:not([dir=rtl]) .accordion-title{margin-left:.5rem}:host([dir=rtl]) .accordion-title,:root[dir=rtl] .accordion-title{margin-right:.5rem}:host(:not([dir=rtl])) .accordion-title,:root:not([dir=rtl]) .accordion-title{margin-right:.5rem}:host([dir=rtl]) .accordion-title,:root[dir=rtl] .accordion-title{margin-left:.5rem}:host(:not([dir=rtl])) .accordion-title,:root:not([dir=rtl]) .accordion-title{padding-left:0}:host([dir=rtl]) .accordion-title,:root[dir=rtl] .accordion-title{padding-right:0}:host(:not([dir=rtl])) .accordion-title,:root:not([dir=rtl]) .accordion-title{padding-right:0}:host([dir=rtl]) .accordion-title,:root[dir=rtl] .accordion-title{padding-left:0}.accordion-sub-label{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));display:none;flex-direction:column;font-size:.75rem}.accordion-controls{align-items:center;cursor:pointer;display:flex;flex-direction:column;flex-flow:row nowrap;font-family:ServiceNowSans-Book;-webkit-user-select:none;-moz-user-select:none;user-select:none}.clear-button{cursor:pointer;padding-top:.125rem;visibility:hidden}.tree-root-header{align-items:flex-end;display:flex;flex-flow:row nowrap;justify-content:space-between;outline:none;padding-bottom:.75rem;width:100%}.tree-root-header button{color:RGB(var(--now-color_brand--secondary,var(--now-color--brand-2,129,181,161)))}.tree-root-header-hidden{overflow:hidden;width:0}.clear-button{visibility:visible}.clear-button-hidden{visibility:hidden}.header-button-container{align-items:baseline;display:flex;flex-flow:\\\"row nowrap\\\"}.button-separator{display:none;margin-left:.125rem;margin-right:.125rem}.tree-expand-button{align-items:center;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));cursor:pointer;display:flex;height:inherit;justify-content:center}.tree-expand-button::-moz-focus-inner{border-style:none}.tree-expand-button:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.tree-expand-button:focus{outline:1px solid highlight}}.tree-expand-button-selected{align-items:center;color:RGB(var(--now-color--primary-1,30,133,109));cursor:pointer;display:flex;height:inherit;justify-content:center}.tree-expand-button-selected::-moz-focus-inner{border-style:none}.tree-expand-button-selected:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.tree-expand-button-selected:focus{outline:1px solid highlight}}.tree-expand-button-icon{height:1rem}@media(forced-colors:active){.tree-expand-button{background-color:buttonface!important;border-style:solid!important;border-width:1px;box-shadow:none!important;color:buttontext!important;forced-color-adjust:none}.tree-expand-button .accordion-sub-label{color:inherit}.tree-expand-button:focus,.tree-expand-button:hover{background-color:highlighttext!important;border-color:highlight!important;color:highlight!important}.tree-expand-button.expanded{background-color:selecteditem!important;color:selecteditemtext!important}.tree-expand-button.expanded:focus,.tree-expand-button.expanded:hover{border-color:highlight!important}}.applied-facets{padding-bottom:.75rem;padding-top:.75rem;width:inherit}.applied-facets .labels-with-pills{padding-bottom:.25rem}.applied-facets .labels-with-pills .applied-facet-pill{max-width:100%;padding-bottom:.25rem;padding-top:.25rem}:host(:not([dir=rtl])) .applied-facets .labels-with-pills .applied-facet-pill,:root:not([dir=rtl]) .applied-facets .labels-with-pills .applied-facet-pill{padding-left:.125rem}:host([dir=rtl]) .applied-facets .labels-with-pills .applied-facet-pill,:root[dir=rtl] .applied-facets .labels-with-pills .applied-facet-pill{padding-right:.125rem}:host(:not([dir=rtl])) .applied-facets .labels-with-pills .applied-facet-pill,:root:not([dir=rtl]) .applied-facets .labels-with-pills .applied-facet-pill{padding-right:.125rem}:host([dir=rtl]) .applied-facets .labels-with-pills .applied-facet-pill,:root[dir=rtl] .applied-facets .labels-with-pills .applied-facet-pill{padding-left:.125rem}.show-more-less{padding-bottom:.75rem}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.divider-primary{background-color:RGB(var(--now-color_divider--primary,var(--now-color--neutral-7,135,147,148)))}.divider-primary,.divider-secondary{height:1px;margin:0;padding:0;width:100%}.divider-secondary{background-color:RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))}.divider-tertiary{background:RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)));height:1px;margin:0;padding:0;width:100%}@media(forced-colors:active){.divider-primary,.divider-secondary,.divider-tertiary{background:canvastext!important}}.panel{-webkit-margin-before:0;-webkit-margin-after:.5rem;-webkit-padding-start:0;border:none;box-sizing:border-box;list-style-type:none;margin-block-end:.5rem;margin-block-start:0;padding-bottom:0;padding-inline-start:0;padding-top:0;width:100%}:host(:not([dir=rtl])) .panel,:root:not([dir=rtl]) .panel{padding-left:0}:host([dir=rtl]) .panel,:root[dir=rtl] .panel{padding-right:0}:host(:not([dir=rtl])) .panel,:root:not([dir=rtl]) .panel{padding-right:0}:host([dir=rtl]) .panel,:root[dir=rtl] .panel{padding-left:0}.panel-drill{-webkit-margin-before:0;-webkit-margin-after:.5rem;-webkit-padding-start:0;border:none;box-sizing:border-box;list-style-type:none;margin-block-end:.5rem;margin-block-start:0;padding-bottom:0;padding-inline-start:0;padding-top:0;width:100%}:host(:not([dir=rtl])) .panel-drill,:root:not([dir=rtl]) .panel-drill{padding-left:0}:host([dir=rtl]) .panel-drill,:root[dir=rtl] .panel-drill{padding-right:0}:host(:not([dir=rtl])) .panel-drill,:root:not([dir=rtl]) .panel-drill{padding-right:0}:host([dir=rtl]) .panel-drill,:root[dir=rtl] .panel-drill{padding-left:0}:host(:not([dir=rtl])) .panel-drill,:root:not([dir=rtl]) .panel-drill{padding-left:1rem}:host([dir=rtl]) .panel-drill,:root[dir=rtl] .panel-drill{padding-right:1rem}:host(:not([dir=rtl])) .panel-drill,:root:not([dir=rtl]) .panel-drill{padding-right:1rem}:host([dir=rtl]) .panel-drill,:root[dir=rtl] .panel-drill{padding-left:1rem}:host{--classicsponlydonotuse--rem-multipy-ais:var( --classicsponlydonotuse--rem-multipy,1 )}.container-loader{align-items:center;display:flex;height:7.375rem;justify-content:center}@keyframes transitionClosed{0%{width:100%}to{width:0}}.facet-panel-tree{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border-radius:.5rem;box-shadow:0 .25rem .5rem 0 rgba(23,40,52,.08);color:RGB(var(--now-color_brand--primary,var(--now-color--brand-1,41,62,64)));display:flex;flex-flow:column nowrap;font-size:.75rem;font-style:normal;font-variant:normal;font-weight:400;letter-spacing:inherit;margin-top:7px;overflow:hidden;padding-bottom:1.5rem;padding-top:1.5rem;text-indent:0;text-shadow:none;text-transform:none;white-space:normal;width:100%;word-spacing:inherit}:host(:not([dir=rtl])) .facet-panel-tree,:root:not([dir=rtl]) .facet-panel-tree{padding-left:1.5rem}:host([dir=rtl]) .facet-panel-tree,:root[dir=rtl] .facet-panel-tree{padding-right:1.5rem}:host(:not([dir=rtl])) .facet-panel-tree,:root:not([dir=rtl]) .facet-panel-tree{padding-right:1.5rem}:host([dir=rtl]) .facet-panel-tree,:root[dir=rtl] .facet-panel-tree{padding-left:1.5rem}.facet-panel-tree-empty{border:none;color:RGB(var(--now-color_brand--primary,var(--now-color--brand-1,41,62,64)));display:flex;flex-flow:column nowrap;font-size:.75rem;overflow:hidden;padding-bottom:1.5rem;padding-top:1.5rem;width:100%}:host(:not([dir=rtl])) .facet-panel-tree-empty,:root:not([dir=rtl]) .facet-panel-tree-empty{padding-left:1.5rem}:host([dir=rtl]) .facet-panel-tree-empty,:root[dir=rtl] .facet-panel-tree-empty{padding-right:1.5rem}:host(:not([dir=rtl])) .facet-panel-tree-empty,:root:not([dir=rtl]) .facet-panel-tree-empty{padding-right:1.5rem}:host([dir=rtl]) .facet-panel-tree-empty,:root[dir=rtl] .facet-panel-tree-empty{padding-left:1.5rem}.facet-panel-tree-hidden{animation-duration:.25s;animation-fill-mode:forwards;animation-name:transitionClosed}.facet-panel-tree-na-self-service{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border-radius:.5rem;box-shadow:0 .25rem .5rem 0 rgba(23,40,52,.08);color:RGB(var(--now-color_brand--primary,var(--now-color--brand-1,41,62,64)));display:flex;flex-flow:column nowrap;font-size:.75rem;font-style:normal;font-variant:normal;font-weight:400;letter-spacing:inherit;overflow:hidden;padding-bottom:1.5rem;padding-top:1.5rem;text-indent:0;text-shadow:none;text-transform:none;white-space:normal;width:100%;word-spacing:inherit}:host(:not([dir=rtl])) .facet-panel-tree-na-self-service,:root:not([dir=rtl]) .facet-panel-tree-na-self-service{padding-left:1.5rem}:host([dir=rtl]) .facet-panel-tree-na-self-service,:root[dir=rtl] .facet-panel-tree-na-self-service{padding-right:1.5rem}:host(:not([dir=rtl])) .facet-panel-tree-na-self-service,:root:not([dir=rtl]) .facet-panel-tree-na-self-service{padding-right:1.5rem}:host([dir=rtl]) .facet-panel-tree-na-self-service,:root[dir=rtl] .facet-panel-tree-na-self-service{padding-left:1.5rem}.facet-panel-tree-global{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border:none;border-radius:.5rem;box-shadow:0 .25rem .5rem 0 rgba(23,40,52,.08);height:100%;overflow-y:auto}.facet-panel-tree-item{overflow:hidden}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".drill-header{align-items:center;background-color:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));border-bottom:1px solid RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)));display:flex;flex-flow:row nowrap;justify-content:space-between;padding-bottom:.5rem;padding-top:1rem}:host(:not([dir=rtl])) .drill-header,:root:not([dir=rtl]) .drill-header{padding-left:1rem}:host([dir=rtl]) .drill-header,:root[dir=rtl] .drill-header{padding-right:1rem}:host(:not([dir=rtl])) .drill-header,:root:not([dir=rtl]) .drill-header{padding-right:1rem}:host([dir=rtl]) .drill-header,:root[dir=rtl] .drill-header{padding-left:1rem}.drill-header-left,.drill-header-right{display:flex;flex-flow:row nowrap}.drill-header-right{align-items:center;justify-content:flex-end}.drill-header-right .clear-button{margin-bottom:0;margin-top:0;padding-bottom:0;padding-top:0;visibility:visible}:host(:not([dir=rtl])) .drill-header-right .clear-button,:root:not([dir=rtl]) .drill-header-right .clear-button{padding-left:0}:host([dir=rtl]) .drill-header-right .clear-button,:root[dir=rtl] .drill-header-right .clear-button{padding-right:0}:host(:not([dir=rtl])) .drill-header-right .clear-button,:root:not([dir=rtl]) .drill-header-right .clear-button{padding-right:0}:host([dir=rtl]) .drill-header-right .clear-button,:root[dir=rtl] .drill-header-right .clear-button{padding-left:0}:host(:not([dir=rtl])) .drill-header-right .clear-button,:root:not([dir=rtl]) .drill-header-right .clear-button{margin-left:0}:host([dir=rtl]) .drill-header-right .clear-button,:root[dir=rtl] .drill-header-right .clear-button{margin-right:0}:host(:not([dir=rtl])) .drill-header-right .clear-button,:root:not([dir=rtl]) .drill-header-right .clear-button{margin-right:0}:host([dir=rtl]) .drill-header-right .clear-button,:root[dir=rtl] .drill-header-right .clear-button{margin-left:0}.drill-header-right .clear-button-hidden{margin-bottom:0;margin-top:0;padding-bottom:0;padding-top:0;visibility:hidden}:host(:not([dir=rtl])) .drill-header-right .clear-button-hidden,:root:not([dir=rtl]) .drill-header-right .clear-button-hidden{padding-left:0}:host([dir=rtl]) .drill-header-right .clear-button-hidden,:root[dir=rtl] .drill-header-right .clear-button-hidden{padding-right:0}:host(:not([dir=rtl])) .drill-header-right .clear-button-hidden,:root:not([dir=rtl]) .drill-header-right .clear-button-hidden{padding-right:0}:host([dir=rtl]) .drill-header-right .clear-button-hidden,:root[dir=rtl] .drill-header-right .clear-button-hidden{padding-left:0}:host(:not([dir=rtl])) .drill-header-right .clear-button-hidden,:root:not([dir=rtl]) .drill-header-right .clear-button-hidden{margin-left:0}:host([dir=rtl]) .drill-header-right .clear-button-hidden,:root[dir=rtl] .drill-header-right .clear-button-hidden{margin-right:0}:host(:not([dir=rtl])) .drill-header-right .clear-button-hidden,:root:not([dir=rtl]) .drill-header-right .clear-button-hidden{margin-right:0}:host([dir=rtl]) .drill-header-right .clear-button-hidden,:root[dir=rtl] .drill-header-right .clear-button-hidden{margin-left:0}.drill-header-right .done-button{margin-bottom:0;margin-top:0}:host(:not([dir=rtl])) .drill-header-right .done-button,:root:not([dir=rtl]) .drill-header-right .done-button{margin-left:.75rem}:host([dir=rtl]) .drill-header-right .done-button,:root[dir=rtl] .drill-header-right .done-button{margin-right:.75rem}:host(:not([dir=rtl])) .drill-header-right .done-button,:root:not([dir=rtl]) .drill-header-right .done-button{margin-right:0}:host([dir=rtl]) .drill-header-right .done-button,:root[dir=rtl] .drill-header-right .done-button{margin-left:0}.drill-root-header{align-items:center;background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));display:flex;flex-flow:row nowrap;justify-content:space-between;padding-bottom:.5rem;padding-top:1rem}:host(:not([dir=rtl])) .drill-root-header,:root:not([dir=rtl]) .drill-root-header{padding-left:1rem}:host([dir=rtl]) .drill-root-header,:root[dir=rtl] .drill-root-header{padding-right:1rem}:host(:not([dir=rtl])) .drill-root-header,:root:not([dir=rtl]) .drill-root-header{padding-right:1rem}:host([dir=rtl]) .drill-root-header,:root[dir=rtl] .drill-root-header{padding-left:1rem}.drill-root-header-right{align-items:center;display:flex;flex-flow:row nowrap;justify-content:flex-end}.drill-root-header-right .clear-button{padding-bottom:0;padding-top:0;visibility:visible}:host(:not([dir=rtl])) .drill-root-header-right .clear-button,:root:not([dir=rtl]) .drill-root-header-right .clear-button{padding-left:1rem}:host([dir=rtl]) .drill-root-header-right .clear-button,:root[dir=rtl] .drill-root-header-right .clear-button{padding-right:1rem}:host(:not([dir=rtl])) .drill-root-header-right .clear-button,:root:not([dir=rtl]) .drill-root-header-right .clear-button{padding-right:1rem}:host([dir=rtl]) .drill-root-header-right .clear-button,:root[dir=rtl] .drill-root-header-right .clear-button{padding-left:1rem}.drill-root-header-right .clear-button-hidden{padding-bottom:0;padding-top:0;visibility:hidden}:host(:not([dir=rtl])) .drill-root-header-right .clear-button-hidden,:root:not([dir=rtl]) .drill-root-header-right .clear-button-hidden{padding-left:1rem}:host([dir=rtl]) .drill-root-header-right .clear-button-hidden,:root[dir=rtl] .drill-root-header-right .clear-button-hidden{padding-right:1rem}:host(:not([dir=rtl])) .drill-root-header-right .clear-button-hidden,:root:not([dir=rtl]) .drill-root-header-right .clear-button-hidden{padding-right:1rem}:host([dir=rtl]) .drill-root-header-right .clear-button-hidden,:root[dir=rtl] .drill-root-header-right .clear-button-hidden{padding-left:1rem}.drill-filters{box-sizing:border-box;color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)));cursor:pointer;display:flex;flex-flow:row nowrap;padding-bottom:.5rem;padding-top:.5rem;width:100%}:host(:not([dir=rtl])) .drill-filters,:root:not([dir=rtl]) .drill-filters{padding-left:1rem}:host([dir=rtl]) .drill-filters,:root[dir=rtl] .drill-filters{padding-right:1rem}:host(:not([dir=rtl])) .drill-filters,:root:not([dir=rtl]) .drill-filters{padding-right:1rem}:host([dir=rtl]) .drill-filters,:root[dir=rtl] .drill-filters{padding-left:1rem}.drill-filters::-moz-focus-inner{border-style:none}.drill-filters:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.drill-filters:focus{outline:1px solid highlight}}.drill-filters-controls{font-weight:600}.drill-filter,.drill-filters-controls{align-items:center;display:flex;flex-flow:row nowrap}.drill-filter{background:transparent;border:none;cursor:pointer;justify-content:space-between;line-height:1.25;margin-bottom:0;margin-top:0;outline:none;padding-bottom:0;padding-top:0;width:100%}:host(:not([dir=rtl])) .drill-filter,:root:not([dir=rtl]) .drill-filter{margin-left:0}:host([dir=rtl]) .drill-filter,:root[dir=rtl] .drill-filter{margin-right:0}:host(:not([dir=rtl])) .drill-filter,:root:not([dir=rtl]) .drill-filter{margin-right:0}:host([dir=rtl]) .drill-filter,:root[dir=rtl] .drill-filter{margin-left:0}:host(:not([dir=rtl])) .drill-filter,:root:not([dir=rtl]) .drill-filter{padding-left:0}:host([dir=rtl]) .drill-filter,:root[dir=rtl] .drill-filter{padding-right:0}:host(:not([dir=rtl])) .drill-filter,:root:not([dir=rtl]) .drill-filter{padding-right:0}:host([dir=rtl]) .drill-filter,:root[dir=rtl] .drill-filter{padding-left:0}.drill-filter-text{display:flex;flex-flow:column nowrap;justify-content:center}.drill-expand-button-selected{align-items:center;color:RGB(var(--now-color--primary-1,30,133,109));cursor:pointer;display:flex;justify-content:center;padding:.5rem;padding-bottom:.5rem;padding-top:.5rem}.drill-expand-button-selected::-moz-focus-inner{border-style:none}.drill-expand-button-selected:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.drill-expand-button-selected:focus{outline:1px solid highlight}}:host(:not([dir=rtl])) .drill-expand-button-selected,:root:not([dir=rtl]) .drill-expand-button-selected{padding-left:.5rem}:host([dir=rtl]) .drill-expand-button-selected,:root[dir=rtl] .drill-expand-button-selected{padding-right:.5rem}:host(:not([dir=rtl])) .drill-expand-button-selected,:root:not([dir=rtl]) .drill-expand-button-selected{padding-right:0}:host([dir=rtl]) .drill-expand-button-selected,:root[dir=rtl] .drill-expand-button-selected{padding-left:0}.drill-expand-button{align-items:center;cursor:pointer;display:flex;justify-content:center;padding:.5rem;padding-bottom:.5rem;padding-top:.5rem}.drill-expand-button::-moz-focus-inner{border-style:none}.drill-expand-button:focus{box-shadow:inset 0 0 0 .125rem RGB(var(--now-color_focus-ring,var(--now-color--secondary-1,1,119,142))),inset 0 0 0 .1875rem RGB(var(--now-color_focus-ring_shadow,var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255))));outline:none}@media(forced-colors:active){.drill-expand-button:focus{outline:1px solid highlight}}:host(:not([dir=rtl])) .drill-expand-button,:root:not([dir=rtl]) .drill-expand-button{padding-left:.5rem}:host([dir=rtl]) .drill-expand-button,:root[dir=rtl] .drill-expand-button{padding-right:.5rem}:host(:not([dir=rtl])) .drill-expand-button,:root:not([dir=rtl]) .drill-expand-button{padding-right:0}:host([dir=rtl]) .drill-expand-button,:root[dir=rtl] .drill-expand-button{padding-left:0}.applied-facets{margin-bottom:.5rem;margin-top:.5rem}:host(:not([dir=rtl])) .applied-facets,:root:not([dir=rtl]) .applied-facets{margin-left:1rem}:host([dir=rtl]) .applied-facets,:root[dir=rtl] .applied-facets{margin-right:1rem}:host(:not([dir=rtl])) .applied-facets,:root:not([dir=rtl]) .applied-facets{margin-right:1rem}:host([dir=rtl]) .applied-facets,:root[dir=rtl] .applied-facets{margin-left:1rem}.applied-facets .applied-facet-pill{max-width:100%;padding-bottom:.25rem;padding-top:.25rem}:host(:not([dir=rtl])) .applied-facets .applied-facet-pill,:root:not([dir=rtl]) .applied-facets .applied-facet-pill{padding-left:.125rem}:host([dir=rtl]) .applied-facets .applied-facet-pill,:root[dir=rtl] .applied-facets .applied-facet-pill{padding-right:.125rem}:host(:not([dir=rtl])) .applied-facets .applied-facet-pill,:root:not([dir=rtl]) .applied-facets .applied-facet-pill{padding-right:.125rem}:host([dir=rtl]) .applied-facets .applied-facet-pill,:root[dir=rtl] .applied-facets .applied-facet-pill{padding-left:.125rem}:host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.divider-primary{background-color:RGB(var(--now-color_divider--primary,var(--now-color--neutral-7,135,147,148)))}.divider-primary,.divider-secondary{height:1px;margin:0;padding:0;width:100%}.divider-secondary{background-color:RGB(var(--now-color_divider--secondary,var(--now-color--neutral-5,172,180,181)))}.divider-tertiary{background:RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)));height:1px;margin:0;padding:0;width:100%}@media(forced-colors:active){.divider-primary,.divider-secondary,.divider-tertiary{background:canvastext!important}}.panel{-webkit-margin-before:0;-webkit-margin-after:.5rem;-webkit-padding-start:0;border:none;box-sizing:border-box;list-style-type:none;margin-block-end:.5rem;margin-block-start:0;padding-bottom:0;padding-inline-start:0;padding-top:0;width:100%}:host(:not([dir=rtl])) .panel,:root:not([dir=rtl]) .panel{padding-left:0}:host([dir=rtl]) .panel,:root[dir=rtl] .panel{padding-right:0}:host(:not([dir=rtl])) .panel,:root:not([dir=rtl]) .panel{padding-right:0}:host([dir=rtl]) .panel,:root[dir=rtl] .panel{padding-left:0}.panel-drill{-webkit-margin-before:0;-webkit-margin-after:.5rem;-webkit-padding-start:0;border:none;box-sizing:border-box;list-style-type:none;margin-block-end:.5rem;margin-block-start:0;padding-bottom:0;padding-inline-start:0;padding-top:0;width:100%}:host(:not([dir=rtl])) .panel-drill,:root:not([dir=rtl]) .panel-drill{padding-left:0}:host([dir=rtl]) .panel-drill,:root[dir=rtl] .panel-drill{padding-right:0}:host(:not([dir=rtl])) .panel-drill,:root:not([dir=rtl]) .panel-drill{padding-right:0}:host([dir=rtl]) .panel-drill,:root[dir=rtl] .panel-drill{padding-left:0}:host(:not([dir=rtl])) .panel-drill,:root:not([dir=rtl]) .panel-drill{padding-left:1rem}:host([dir=rtl]) .panel-drill,:root[dir=rtl] .panel-drill{padding-right:1rem}:host(:not([dir=rtl])) .panel-drill,:root:not([dir=rtl]) .panel-drill{padding-right:1rem}:host([dir=rtl]) .panel-drill,:root[dir=rtl] .panel-drill{padding-left:1rem}:host{--classicsponlydonotuse--rem-multipy-ais:var( --classicsponlydonotuse--rem-multipy,1 )}.container-loader{align-items:center;display:flex;height:7.375rem;justify-content:center}.facet-panel-drill{color:RGB(var(--now-color_brand--primary,var(--now-color--brand-1,41,62,64)));display:flex;flex-flow:column nowrap;font-size:.75rem;font-style:normal;font-variant:normal;font-weight:400;height:100%;letter-spacing:inherit;padding-bottom:1.5rem;padding-bottom:0;padding-top:1.5rem;padding-top:0;text-indent:0;text-shadow:none;text-transform:none;white-space:normal;width:100%;word-spacing:inherit}:host(:not([dir=rtl])) .facet-panel-drill,:root:not([dir=rtl]) .facet-panel-drill{padding-left:1.5rem}:host([dir=rtl]) .facet-panel-drill,:root[dir=rtl] .facet-panel-drill{padding-right:1.5rem}:host(:not([dir=rtl])) .facet-panel-drill,:root:not([dir=rtl]) .facet-panel-drill{padding-right:1.5rem}:host([dir=rtl]) .facet-panel-drill,:root[dir=rtl] .facet-panel-drill{padding-left:1.5rem}:host(:not([dir=rtl])) .facet-panel-drill,:root:not([dir=rtl]) .facet-panel-drill{padding-left:0}:host([dir=rtl]) .facet-panel-drill,:root[dir=rtl] .facet-panel-drill{padding-right:0}:host(:not([dir=rtl])) .facet-panel-drill,:root:not([dir=rtl]) .facet-panel-drill{padding-right:0}:host([dir=rtl]) .facet-panel-drill,:root[dir=rtl] .facet-panel-drill{padding-left:0}.facet-options{padding-bottom:1.5rem;padding-top:1rem}:host(:not([dir=rtl])) .facet-options,:root:not([dir=rtl]) .facet-options{padding-left:0}:host([dir=rtl]) .facet-options,:root[dir=rtl] .facet-options{padding-right:0}:host(:not([dir=rtl])) .facet-options,:root:not([dir=rtl]) .facet-options{padding-right:0}:host([dir=rtl]) .facet-options,:root[dir=rtl] .facet-options{padding-left:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-search-filter_section-header{color:#1d2b2d;font-size:1.25rem;line-height:1.625rem}.dps-search-filter_info-text,.dps-search-filter_section-header{font-family:ServiceNowSans-Medium;font-weight:700;margin-bottom:1.5rem}.dps-search-filter_info-text{color:#474d52;font-size:.75rem;text-transform:uppercase}.dps-search-filter_group{margin-bottom:1.5rem}.dps-search-filter.-level-0{align-items:center;color:#474d52;cursor:pointer;display:flex;font-family:Lato,sans-serif;font-size:1rem;font-weight:700;justify-content:space-between;margin-bottom:1.625rem;text-decoration:none}.dps-search-filter.-level-0:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-search-filter.-level-0:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-search-filter.-level-0:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-search-filter.-level-1{align-items:center;color:#1d2b2d;cursor:pointer;display:flex;font-family:Lato,sans-serif;font-size:.875rem;margin-bottom:.875rem;text-decoration:none}.dps-search-filter.-level-1:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-search-filter.-level-1:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-search-filter.-level-1:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-search-filter.-level-1 span{margin-left:.5rem}.dps-search-filter.-level-1 span label{color:#697879}.dps-search-filter_checkbox{display:block;margin:0 0 0 0;position:relative}.dps-search-filter_checkbox>input[type=checkbox]{cursor:pointer;height:1.125rem;margin-top:-.5625rem;opacity:0;position:absolute;width:1.125rem;z-index:1}.dps-search-filter_checkbox>input[type=checkbox]:checked+label:before{background:#293e40;border-color:#293e40}.dps-search-filter_checkbox>input[type=checkbox]:checked+label:after{border:solid #fff;border-width:0 2px 2px 0;content:\\\"\\\";display:block;height:.75rem;left:.5625rem;position:absolute;top:-.0625rem;transform:translate(-50%,-50%) rotate(45deg);width:.4375rem}.dps-search-filter_checkbox>input[type=checkbox]:focus+label:before{box-shadow:0 0 0 2px #fff,0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-search-filter_checkbox>label{color:#293e40;cursor:pointer;display:block;font-size:1rem;padding-left:1.5625rem;position:relative;white-space:nowrap}.dps-search-filter_checkbox>label .secondary-text{color:#6e7274}.dps-search-filter_checkbox>label:before{background-color:transparent;border:1px solid #546566;border-radius:.125rem;content:\\\"\\\";cursor:pointer;display:block;height:1.125rem;left:0;position:absolute;top:50%;transform:translateY(-50%);width:1.125rem}.dps-search-filter-group.-level-0 .dps-search-filter-group.-level-1:last-child{border-bottom:1px solid #d0d2d3;margin-bottom:1.5rem;padding-bottom:.375rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/highlight.js/styles/agate.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}code.hljs{padding:1rem}aside,b,dd,div,dl,dt,em,i,li,ol,p,strong,ul{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;line-height:1.5rem}aside,dd,div,dl,dt,li,ol,p,ul{font-weight:400}a em{color:#00718f}strong,strong em{font-family:ServiceNowSans-Medium;font-weight:500}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem;line-height:1.1;line-height:1.3125rem;margin:2rem 0}h1,h2{color:#1d1d1d;font-size:1.75rem;font-weight:400;font-weight:500}h2{font-family:ServiceNowSans-Regular;font-family:ServiceNowSans-Medium;font-size:1.5rem;line-height:1.1;line-height:2.25rem;margin-bottom:.75rem 0}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400;margin-bottom:.5rem 0}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400;margin-bottom:.5rem 0}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal}blockquote,code,img,ol,p,pre,ul{margin:.75rem 0}img{max-width:100%}pre{margin-bottom:1.5rem;margin-top:.75rem}div+h1,div+h2,div+h3,div+h4,div+h5,div+h6,img+h1,img+h2,img+h3,img+h4,img+h5,img+h6,p+h1,p+h2,p+h3,p+h4,p+h5,p+h6,ul+h1,ul+h2,ul+h3,ul+h4,ul+h5,ul+h6{margin-top:2rem}b,strong{font-weight:500}b,code,strong{letter-spacing:.02em}code{background-color:#e8e8e9;border:1px solid #d0d2d3;border-radius:.25rem;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5}code b,code strong{font-weight:500}pre code{background-color:transparent;border:none;border-radius:0}.sm,small{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}.sm code,small code{font-size:80%}.lg,.xl{font-family:ServiceNowSans-Regular;font-size:1.3125rem;font-weight:400;line-height:1.5}.lg code,.xl code{font-size:80%}.xl{font-size:1.5rem;line-height:1.5}.dps-caption,.dps-label{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}a:not(.dps-link):not(.dps-button):not(.dps-card-click){border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal;margin:-.125rem;padding:0 .125rem;position:relative;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:normal}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus:not(:focus-visible){box-shadow:none;outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):hover{color:#024f69;text-decoration:underline;-webkit-text-decoration-color:#024f69;text-decoration-color:#024f69}a:not(.dps-link):not(.dps-button):not(.dps-card-click):active{color:#032d42;text-decoration:underline;-webkit-text-decoration-color:#032d42;text-decoration-color:#032d42}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}.do-dont-images{column-gap:1rem;display:grid;grid-auto-flow:column;grid-template-rows:1fr auto}@media screen and (max-width:767.98px){.do-dont-images{display:block}}.do-dont-images figcaption,.do-dont-images figure{margin:0;padding:0}.do-dont-images img{margin:0;max-width:100%;padding:0}.do-dont-images figure{background-color:#f7f7f7;border-top:5px solid;margin-top:2rem;padding:1rem;position:relative}.do-dont-images figcaption{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;font-style:italic;line-height:1.5;margin-bottom:0;margin-left:0;margin-right:0;margin-top:.5rem;max-width:100%;text-align:left}.do-dont-images .img-do h5,.do-dont-images .img-dont h5{font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;left:0;line-height:1.75;margin:0;padding:0;position:absolute;top:-2rem}.do-dont-images .img-dont{border-color:#fc726d}.do-dont-images .img-dont h5{color:#fc726d}.do-dont-images .img-do{border-color:#5cc4af}.do-dont-images .img-do h5{color:#5cc4af}:host{display:block}.dps-search-result-item{margin-bottom:2.5rem;margin-top:1rem}.dps-search-result-item .dps-search-result-category{align-items:center;color:#8a8e91;cursor:pointer;display:flex;font-size:.8125rem}.dps-search-result-item .dps-search-result-category-item{align-items:flex-end;display:inline-block;display:flex;line-height:.75rem;margin-left:.625rem;padding:0 .25rem}.dps-search-result-item .dps-search-result-category-item:first-child{padding-left:0}.dps-search-result-item .dps-search-result-category-item:last-child{border-right:none}.dps-search-result-item .total-ratings{padding:0 .5rem}.dps-search-result-item header{margin-bottom:.75rem}.dps-search-result-item h3{color:#474d52;font-family:ServiceNowSans-Medium;font-size:1.3125rem;margin:0}@media(max-width:767.98px){.dps-search-result-item h3{font-size:1rem}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-search{margin:0 auto;max-width:56.25rem;position:relative}.dps-search.fade-in{animation:fade-in-animation .2s}.dps-search-input{align-items:center;border-bottom:1px solid #474d52;display:flex;padding-bottom:1rem;width:100%}@media(max-width:767.98px){.dps-search-input{padding-bottom:.5rem}}.dps-search-input dps-button,.dps-search-input now-icon{flex:0 0 auto}.dps-search-input dps-button.button-text-only,.dps-search-input now-icon.button-text-only{display:block}.dps-search-input dps-button.button-icon-only,.dps-search-input now-icon.button-icon-only{display:none}@media(max-width:767.98px){.dps-search-input dps-button.button-text-only,.dps-search-input now-icon.button-text-only{display:none}.dps-search-input dps-button.button-icon-only,.dps-search-input now-icon.button-icon-only{display:block}}.dps-search-input dps-input{flex:1 1 auto}.dps-search-text{color:#8a8e91;font-family:ServiceNowSans-Light;font-size:.8125rem;letter-spacing:.02em;line-height:1.5;margin-top:.75rem}@keyframes fade-in-animation{0%{opacity:0}to{opacity:1}}.dps-search-autosuggest-list{box-shadow:0 0 3px rgba(0,0,0,.2);margin-top:1.25rem;max-height:34.375rem;overflow-y:auto;padding-left:1rem}.dps-search-autosuggest-list.-hide-list{display:none}.dps-search-autosuggest-list>li:active,.dps-search-autosuggest-list>li:focus{background-color:#eee;outline:none}.dps-search-autosuggest-list-item{margin-top:.5rem;padding:.75rem}.dps-search-autosuggest-list-item:hover{background-color:#eee;cursor:pointer}.dps-search-autosuggest-list-item:not(:last-of-type){border-bottom:1px solid #eee}.dps-search-autosuggest-list-item>now-icon{float:left;margin-right:1.25rem}.dps-search-autosuggest-list-item.-with-payload{font-style:italic;padding-left:3.125rem}.dps-search-autosuggest-list-item.-with-payload>now-icon{display:none}.dps-search-autosuggest-list-item p{display:inline}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-shade{background-color:rgba(0,0,0,.5);height:100%;left:0;opacity:1;position:fixed;top:0;transition:opacity .2s cubic-bezier(.42,1,.58,1);width:100%;z-index:1020}.dps-shade.-no-layer{z-index:unset}.dps-shade.-is-hidden{opacity:0;pointer-events:none;visibility:hidden}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.share-projects-card{color:#546566;font-size:.875rem;height:100%;line-height:1.5rem;max-width:16.875rem;width:100%}@media(max-width:991.98px){.share-projects-card{max-width:100%}}.share-projects-card .share-projects-card-title{color:#474d52;font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75;margin:.625rem 0 .5rem 0}.share-projects-card .share-projects-card-content{-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;color:#293e40;display:-webkit-box;font-family:ServiceNowSans-Light;font-size:1rem;height:3rem;line-height:1.5;margin-bottom:1rem;overflow:hidden}.share-projects-card .share-projects-card-author{color:#293e40;font-family:ServiceNowSans-Regular;font-size:.8125rem;letter-spacing:.1em;line-height:1;margin:.5rem 0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.share-projects{display:block}.share-projects-header{align-items:flex-end;display:flex}@media(max-width:575.98px){.share-projects-header{display:block}}.share-projects-header .share-projects-tabs{color:#474d52;display:flex;flex:1 1 3.125rem;font-family:ServiceNowSans-Regular;font-size:1rem;justify-content:flex-end;margin:0 1.5rem 0 0}.share-projects-content-container{border-top:1px solid #d0d2d3;margin-top:-.0625rem}dps-card-container{margin-top:1.5rem}footer{border-top:1px solid #d0d2d3;display:flex;justify-content:flex-end;margin:0 1.5rem;padding-top:1rem}@media(max-width:767.98px){footer{margin:0 0}}.-has-margin{margin-left:1.5rem;margin-right:1.5rem}@media(max-width:767.98px){.-has-margin{margin-left:0;margin-right:0}}h3{display:inline-flex;flex:1 1 3.125rem;font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;justify-content:flex-start;line-height:1.5;line-height:1.1;margin:0 0 .5rem 1.5rem;width:8.875rem}@media(max-width:767.98px){h3{margin-left:0}}.full-width,dps-spinner{grid-column:1/4}p{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;margin:1.5rem 1.5rem 0 1.5rem}@media(max-width:767.98px){p{margin-left:0;margin-right:0}}.large{font-family:ServiceNowSans-Light;font-size:1.75rem;line-height:1.4}.empty-yours{text-align:center}.empty-yours>*{margin:.75rem auto}.empty-yours .large{margin-top:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-sidebar-nav-group ul{list-style:none;margin:0;padding:0}.dps-sidebar-nav-group li{margin:0;padding-left:5px}.dps-sidebar-nav-group button{background-color:transparent;border:0;cursor:pointer;padding:0}.dps-sidebar-nav-group a{text-decoration:none}.dps-sidebar-nav-group a,.dps-sidebar-nav-group button{color:#6c7175;font-family:ServiceNowSans-Book;line-height:1;padding:.75rem .25rem .75rem .75rem;text-align:left}.dps-sidebar-nav-group a:focus,.dps-sidebar-nav-group a:focus+button,.dps-sidebar-nav-group button:focus,.dps-sidebar-nav-group button:focus+button{background-color:#f4fcf2;outline:none}.dps-sidebar-nav-group .is-match{background-color:#f4fcf2}.dps-sidebar-nav-group>.dps-sidebar-nav-group-label-container{align-items:stretch;display:flex;height:2.3125rem;justify-content:flex-start}.dps-sidebar-nav-group>.dps-sidebar-nav-group-label-container>.dps-sidebar-nav-group-label{color:#1d1d1d;display:block;flex:1 1 auto;font-size:1rem;line-height:2.3125rem;min-width:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.dps-sidebar-nav-group .dps-sidebar-nav-group-toggle-button{align-items:center;color:#16243a;display:flex;height:100%;justify-content:space-between;min-height:2.3125rem;min-width:1rem;padding:.75rem .25rem}.dps-sidebar-nav-group .dps-sidebar-nav-group-toggle-button:hover{background-color:#eee}.dps-sidebar-nav-group .dps-sidebar-nav-group-toggle-button now-icon:hover,.dps-sidebar-nav-group .dps-sidebar-nav-group-toggle-button:hover now-icon{background-color:transparent}.dps-sidebar-nav-group .dps-sidebar-nav-group-collapser{color:#000;display:block;height:1rem;min-width:1rem;position:relative;width:1rem}.dps-sidebar-nav-group .dps-sidebar-nav-group-collapser:after,.dps-sidebar-nav-group .dps-sidebar-nav-group-collapser:before{stroke-width:1.167px;background:#000;color:#000;content:\\\"\\\";left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.dps-sidebar-nav-group .dps-sidebar-nav-group-collapser:before{height:14px;width:.125rem}.dps-sidebar-nav-group .dps-sidebar-nav-group-collapser:after{height:.125rem;width:14px}.dps-sidebar-nav-group .dps-sidebar-nav-group-children-wrapper{height:auto;max-height:0;overflow:hidden;transition-duration:.2s;transition-property:max-height;transition-timing-function:cubic-bezier(.42,1,.58,1)}.dps-sidebar-nav-group .dps-sidebar-nav-group-children-wrapper.-level-1{padding-left:1.25rem;padding-right:1.25rem}.dps-sidebar-nav-group .dps-sidebar-nav-group-children{opacity:0;transition-delay:.1s;transition-duration:.1s;transition-property:opacity;transition-timing-function:cubic-bezier(.42,1,.58,1)}.dps-sidebar-nav-group .dps-sidebar-nav-group-children.-level-0{display:flex;flex-direction:column;gap:.125rem}.dps-sidebar-nav-group .dps-sidebar-nav-group-children.-level-1{padding-left:0}.dps-sidebar-nav-group.-level-0>.dps-sidebar-nav-group-label-container{justify-content:space-between}.dps-sidebar-nav-group.-level-0>.dps-sidebar-nav-group-label-container>.dps-sidebar-nav-group-label{font-family:ServiceNowSans-Book;letter-spacing:normal;padding-left:1.5rem;text-transform:uppercase}.dps-sidebar-nav-group.-level-1>.dps-sidebar-nav-group-label-container>.dps-sidebar-nav-group-label{color:#1d1d1d;font-family:ServiceNowSans-Book;padding-left:1.375rem}.dps-sidebar-nav-group:not(.-level-0):not(.-level-1) .dps-sidebar-nav-group-label{color:#1d1d1d!important;font-family:ServiceNowSans-Light!important}.dps-sidebar-nav-group:not(.-level-0):not(.-level-1)>.dps-sidebar-nav-group-label-container a{color:#1d1d1d;font-family:ServiceNowSans-Book;font-size:1rem;text-decoration:none}.dps-sidebar-nav-group:not(.-level-0):not(.-level-1).is-open>.dps-sidebar-nav-group-label-container now-icon{transform:rotate(180deg);transition:transform .15s}.dps-sidebar-nav-group:not(.-level-0):not(.-level-1).is-open>.dps-sidebar-nav-group-label-container a,.dps-sidebar-nav-group:not(.-level-0):not(.-level-1).is-open>.dps-sidebar-nav-group-label-container button{color:#1d1d1d}.dps-sidebar-nav-group.is-open .dps-sidebar-nav-group-collapser:before{display:none}.dps-sidebar-nav-group.is-open>.dps-sidebar-nav-group-children-wrapper{max-height:10000px}.dps-sidebar-nav-group.is-open>.dps-sidebar-nav-group-children-wrapper>.dps-sidebar-nav-group-children{opacity:1}.dps-sidebar-nav-item{margin:0;padding:0}.dps-sidebar-nav-item a{color:#1d1d1d;display:block;font-family:ServiceNowSans-Regular;font-size:1rem;max-width:100%;overflow:hidden;padding:.75rem 0;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.dps-sidebar-nav-item a:focus{background-color:#f4fcf2;outline:none}.dps-sidebar-nav-item.is-match{background-color:#f4fcf2}.dps-sidebar-nav-item.is-selected a{color:#293e40}.dps-sidebar-nav-item.-level-0 a,.dps-sidebar-nav-item.-level-1 a{border-radius:.25rem;color:#1d1d1d;font-family:ServiceNowSans-Book;font-size:1rem;height:1.96875rem;line-height:1.96875rem;margin-left:9px;padding:0;padding-left:.78125rem;padding-right:.75rem}.dps-sidebar-nav-item.-level-0.is-selected a,.dps-sidebar-nav-item.-level-1.is-selected a{background-color:#f7f7f7}.dps-sidebar-nav-item.-level-2 a{background-color:#fcfcfc;border-left:.1375rem solid #eee;color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;height:2.3125rem;line-height:2.3125rem;padding:0;padding-left:.55rem;padding-right:.75rem}.dps-sidebar-nav-item.-level-2.is-selected a{background-color:#f4fcf2;border-left-color:#63df4e;font-family:ServiceNowSans-Book}:host{display:block}li,p,ul{list-style:none;margin:0;padding:0}nav{padding-bottom:2.5rem;padding-left:.6875rem;padding-right:2.4375rem}.dps-sidebar-nav-heading{color:#16243a;font-family:ServiceNowSans-Book;font-size:1.25rem;height:2.25rem;line-height:2.25rem;margin:0 0 2rem 0;padding:0}hr{border:none;border-bottom:1px solid #dadbdc;height:1px;margin:1.5rem 0 .75rem 0}dps-spinner{margin-top:1.5rem}slot[name=top]::slotted(*){margin-bottom:.5rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-site-banner{border-bottom:5px solid;color:#fff;display:none;position:relative}.dps-site-banner.global-connect-mvp-banner .dps-site-banner-content{font-family:ServiceNowSans-Medium;font-size:.75rem}.dps-site-banner.global-connect-mvp-banner .dps-site-banner-content .dps-site-banner-img{margin-right:.875rem}.dps-site-banner.-site-banner-info{background-color:#9aa1af;border-color:#bdc2cb}.dps-site-banner.-site-banner-promotion{background-color:#4a559d;border-color:#9da6dc}.dps-site-banner.-site-banner-warning{background-color:#dd8581;border-color:#e9bcbc}.dps-site-banner.-is-open{align-items:center;display:flex;min-height:4.3125rem}.dps-site-banner_link{cursor:pointer;text-decoration:underline}.dps-site-banner-content{align-items:center;display:flex;justify-content:center;margin:0 auto;max-width:62.5rem}.dps-site-banner-content now-icon{color:#fff;margin:1.125rem 1rem 1rem;text-align:right}.dps-site-banner-content .dps-site-banner-message{font-family:ServiceNowSans-Light;font-size:.875rem;margin:1rem 0;text-align:center}.dps-site-banner-content .dps-site-banner-message a{color:#fff}dps-button{position:absolute;right:8px;top:3px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{align-items:center;display:flex;justify-content:center;width:100%}.dps-spinner{display:block;height:6.75rem;position:relative;width:6.75rem}.dps-spinner.-sm{height:3.125rem;width:3.125rem}.dps-spinner.-sm span{display:none}.dps-spinner.-sm div{border:2px solid #63df4e;border-color:#63df4e transparent transparent transparent;height:3.125rem;margin:2px;width:3.125rem}.dps-spinner.-xs{height:.5625rem;width:.5625rem}.dps-spinner.-xs span{display:none}.dps-spinner.-xs div{border:2px solid #81b5a1;border-color:#81b5a1 transparent transparent transparent;height:.5625rem;margin:2px;width:.5625rem}.dps-spinner.-fade-out{animation:spinner-fade-out .5s normal forwards}.dps-spinner div{animation:spinner-animation 1.2s cubic-bezier(.5,0,.5,1) infinite;border:4px solid #63df4e;border-color:#63df4e transparent transparent transparent;border-radius:50%;box-sizing:border-box;display:block;height:6.25rem;margin:4px;position:absolute;width:6.25rem}.dps-spinner div:first-child{animation-delay:-.45s}.dps-spinner div:nth-child(2){animation-delay:-.3s}.dps-spinner div:nth-child(3){animation-delay:-.15s}.dps-spinner span{animation:loading-animation 1.2s infinite alternate;font-family:ServiceNowSans-Medium;font-family:ServiceNowSans-Regular;font-size:.875rem;font-weight:400;left:50%;line-height:2;position:absolute;top:50%;transform:translate(-50%,-50%)}@keyframes spinner-animation{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes loading-animation{0%{opacity:1}to{opacity:.7}}@keyframes spinner-fade-out{0%{opacity:1}to{opacity:0}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:inline-block;vertical-align:middle}.star-rating-icon{color:#e5d87c}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block;position:-webkit-sticky;position:sticky;top:var(--dps-global-header-height,8.0625rem);width:100%;z-index:1}.dps-sticky-nav{align-items:center;background:#fff;display:flex;margin:0 -3.75rem 2.5rem;padding-left:3.75rem;padding-right:3.75rem;position:relative}.dps-sticky-nav.is-stuck{background:#fafafa}.dps-sticky-nav.is-stuck a{padding:.75rem .25rem}.dps-sticky-nav ol{display:flex;flex:1 1 auto;list-style:none;margin:0;padding:0;position:relative}.dps-sticky-nav li,.dps-sticky-nav slot[name=end],.dps-sticky-nav slot[name=start]{align-items:center;cursor:pointer;display:inline-flex;justify-content:center;margin:0 0 0 1.75rem}.dps-sticky-nav li:first-of-type,.dps-sticky-nav slot[name=end]:first-of-type,.dps-sticky-nav slot[name=start]:first-of-type{margin-left:0}.dps-sticky-nav .dps-sticky-nav-indicator{background-color:#5c6ac4;bottom:0;content:\\\"\\\";display:block;height:4px;left:0;margin:0;position:absolute;transition:all .15s;transition-timing-function:cubic-bezier(.42,1,.58,1);width:0}.dps-sticky-nav slot[name=end]{flex:1;justify-content:flex-end}.dps-sticky-nav a{color:#474d52;font-family:ServiceNowSans-Regular;font-size:1rem;padding:1rem .25rem;text-decoration:none;white-space:nowrap}.dps-sticky-nav a:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-sticky-nav a:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-sticky-nav a:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-sticky-nav a:first-of-type{margin-left:0}.dps-sticky-nav a:last-of-type{margin-right:0}.dps-sticky-nav a:hover{background-color:#fdfdfd}.dps-sticky-nav a:hover[data-active=true],.dps-sticky-nav a[data-active=true]{background-color:transparent;color:#293e40}@media screen and (max-width:991.98px){.dps-sticky-nav{margin-left:0;overflow-y:scroll;padding:0 1.5rem;width:100%}.dps-sticky-nav ol slot[name=end]:last-of-type{flex:0 1 auto;justify-content:center}.dps-sticky-nav ol slot[name=end]:last-of-type:after{content:\\\"\\\";display:block;height:100%;position:absolute;right:-1.5rem;width:1.5rem}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-tabs>ul{display:inline-flex;list-style:none;margin:0;padding:0}.dps-tabs li{cursor:pointer;position:relative}.dps-tabs li:active,.dps-tabs li:focus{outline:none}.dps-tabs.-primary{border-bottom:1px solid #d0d2d3}.dps-tabs.-primary li{color:#6e7274;font-family:ServiceNowSans-Regular;margin:0;padding:.5rem}.dps-tabs.-primary li[aria-selected=true]{color:#293e40}.dps-tabs.-primary li[aria-selected=true]:after{background-color:#37393a;bottom:-1px;content:\\\"\\\";height:.125rem;left:0;position:absolute;width:100%}.dps-tabs.-pill li{background:transparent;border-radius:1.5rem;color:#293e40;font-family:ServiceNowSans-Regular;margin:0 0 0 .5rem;padding:.5rem 1rem}.dps-tabs.-pill li:first-of-type{margin:0}.dps-tabs.-pill li[aria-selected=true]{background:#fff}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-template-two-column{color:#293e40;display:grid;grid-template-areas:\\\"sidebar content\\\";grid-template-columns:auto minmax(0,1fr);margin:0 auto;max-width:90rem;position:relative}@media(max-width:1199.98px){.dps-template-two-column{max-width:100%}}@media(max-width:991.98px){.dps-template-two-column{display:block;overflow-x:hidden}}.dps-template-two-column-panel.-content{padding:var(--dps-template-two-column-panel-padding,3.75rem 2.5rem 3.75rem 2rem);position:relative}.dps-template-two-column-panel.-content.-full-width-content{padding-left:0;padding-right:0;padding-top:0}.dps-template-two-column-panel.-content.-full-width-content .dps-template-two-column-toggle{left:2rem}@media(max-width:991.98px){.dps-template-two-column-panel.-content.-full-width-content .dps-template-two-column-toggle{left:0}.dps-template-two-column-panel.-content{padding:2.5rem 2rem}}.dps-template-two-column-panel.-sidebar{background:#fff;border-right:1px solid transparent;min-height:calc(100vh - var(--dps-global-header-height));padding:var(--dps-template-two-column-panel-sidebar-padding,0);position:relative;transition:border-color .1s cubic-bezier(.42,1,.58,1),width .1s cubic-bezier(.42,1,.58,1);width:0;z-index:1000}.dps-template-two-column-panel.-sidebar:after{background:linear-gradient(180deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.5) 90%,#fff);bottom:0;content:\\\"\\\";display:block;height:7.5rem;left:0;pointer-events:none;position:absolute;width:100%}.-is-open .dps-template-two-column-panel.-sidebar{border-color:#d0d2d3;padding-left:2.5rem;width:22.25rem}.-is-open .dps-template-two-column-panel.-sidebar.-full-width{padding-left:0}@media(max-width:991.98px){.-is-open .dps-template-two-column-panel.-sidebar{padding-left:1rem;width:50%}}@media(max-width:767.98px){.-is-open .dps-template-two-column-panel.-sidebar{width:80%}}.-background-gray .dps-template-two-column-panel.-sidebar{background:#fff}@media(min-width:1440px){.dps-template-two-column-panel.-sidebar{border-color:#d0d2d3;width:22.25rem}}.-overview .dps-template-two-column-panel.-sidebar{border:none;box-shadow:.0625rem .0625rem rgba(41,62,64,.1)}@media(max-width:991.98px){.dps-template-two-column-panel.-sidebar{min-height:100vh;padding-top:var(--dps-main-margin-top-sm);position:fixed;top:0}.dps-template-two-column-panel.-hide-sidebar{display:none}}.dps-template-two-column-panel-inner{max-height:calc(100vh - var(--dps-global-header-height));overflow-x:hidden;overflow-y:auto;padding:0 0 3.75rem 0;position:-webkit-sticky;position:sticky;top:var(--dps-global-header-height);transform:translateX(-100%);transition:max-height .1s cubic-bezier(.42,1,.58,1),top .1s cubic-bezier(.42,1,.58,1),transform .1s cubic-bezier(.42,1,.58,1);width:100%}.dps-template-two-column-panel-inner.-full-width-content{padding-right:0}@media(max-width:991.98px){.dps-template-two-column-panel-inner.-guide-sidenav{top:0}}@media(max-width:1103.98px){.dps-template-two-column-panel-inner{max-height:calc(100vh - var(--dps-main-margin-top-sm));padding-top:0;top:6.3125rem}}.-is-open .dps-template-two-column-panel-inner{background:#fff;margin-top:2.5rem;transform:translateX(0)}@media(min-width:1440px){.dps-template-two-column-panel-inner{transform:translateX(0)}}.dps-template-two-column-toggle-container{height:0;margin-left:-2.25rem;position:-webkit-sticky;position:sticky;top:9.375rem;transition:left .1s cubic-bezier(.42,1,.58,1);width:0;z-index:1000}@media(max-width:991.98px){.dps-template-two-column-toggle-container{height:2.8125rem;left:0;margin-left:-.0625rem;margin-left:-1px;position:fixed;top:calc(var(--dps-main-margin-top-md) + 8px);transition:left .1s cubic-bezier(.42,1,.58,1);width:1.5625rem}.-is-open .dps-template-two-column-toggle-container{left:50%}}@media(max-width:767.98px){.dps-template-two-column-toggle-container{height:2.8125rem;left:0;margin-left:-1px;position:fixed;top:calc(var(--dps-main-margin-top-sm) + 8px);transition:left .1s cubic-bezier(.42,1,.58,1);width:1.5625rem}.-is-open .dps-template-two-column-toggle-container{left:50%;left:80%}}.dps-template-two-column-toggle{align-items:center;background:#fff;border:1px solid #d0d2d3;border-left-color:transparent;border-right-color:#d0d2d3;cursor:pointer;display:flex;height:4.25rem;justify-content:center;left:0;position:absolute;top:0;width:2.25rem}.dps-template-two-column-toggle:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-template-two-column-toggle:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-template-two-column-toggle:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.-overview .dps-template-two-column-toggle{border:none;box-shadow:-.0625rem .0625rem rgba(41,62,64,.1),-.0625rem -.0625rem rgba(41,62,64,.1)}.-overview .dps-template-two-column-toggle:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.-overview .dps-template-two-column-toggle:focus:not(:focus-visible){box-shadow:none;outline:none}.-overview .dps-template-two-column-toggle:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}@media(max-width:991.98px){.dps-template-two-column-toggle{height:2.8125rem;width:1.5625rem}}.dps-template-two-column-toggle:hover now-icon{transform:translateX(2px)}.-is-open .dps-template-two-column-toggle{border-left-color:#d0d2d3;border-right-color:transparent;transform:rotate(180deg)}.dps-template-two-column-toggle now-icon{color:#293e40;position:relative;transform:translateX(0);transition:transform .3s cubic-bezier(.075,.82,.165,1)}@media screen and (min-width:90rem){.dps-template-two-column-toggle{display:none}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block;height:20px;width:20px}.dps-three-dot-menu{height:100%;position:relative;width:100%}.dps-three-dot-menu .dps-three-dot-menu--button{align-items:center;background-color:transparent;border:none;border-radius:50%;color:#293e40;display:flex;height:100%;justify-content:center;margin:0;padding:0;transition:background-color .15s;width:100%}.dps-three-dot-menu .dps-three-dot-menu--button:focus{outline:none}.dps-three-dot-menu .dps-three-dot-menu--button.active,.dps-three-dot-menu .dps-three-dot-menu--button:active,.dps-three-dot-menu .dps-three-dot-menu--button:focus,.dps-three-dot-menu .dps-three-dot-menu--button:hover{background-color:#e8e8e9}.dps-three-dot-menu .dps-tree-dot-menu--dropdown{border:1px solid #e8e8e9;position:absolute;z-index:1020}.dps-three-dot-menu .dps-tree-dot-menu--dropdown ul{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.dps-three-dot-menu .dps-tree-dot-menu--dropdown a,.dps-three-dot-menu .dps-tree-dot-menu--dropdown button{align-items:center;background-color:#fff;border:none;color:#293e40;cursor:pointer;display:block;overflow:hidden;padding:.5rem 1.5rem;text-align:left;text-decoration:none;text-overflow:ellipsis;transition:background-color .15s;white-space:nowrap;width:100%}.dps-three-dot-menu .dps-tree-dot-menu--dropdown a:focus,.dps-three-dot-menu .dps-tree-dot-menu--dropdown a:hover,.dps-three-dot-menu .dps-tree-dot-menu--dropdown button:focus,.dps-three-dot-menu .dps-tree-dot-menu--dropdown button:hover{background-color:#81b5a1;outline:none}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-toast-alert{opacity:0;transform:translateY(-.5rem);transition:visibility 1s ease-in-out,opacity 1s ease-in-out,visibility 1s ease-in-out,transform 1s ease-in-out 1s;visibility:hidden}.dps-toast-alert.-toast-is-opened{opacity:1;transform:translate(0);transition:visibility .15s ease-in-out,opacity .15s ease-in-out,visibility .15s ease-in-out,transform .15s ease-in-out;visibility:visible}dps-alert{border-radius:.25rem;box-shadow:0 4px 6px 0 rgba(0,0,0,.35);margin-left:auto;margin-right:auto;margin-top:.75rem;max-width:56.25rem;pointer-events:all}@media screen and (max-width:991.98px){dps-alert{max-width:95%}}div[slot=action]{height:.625rem;position:relative;top:-10px}.dps-toast-alert--now now-alert{--now-alert--font-family:ServiceNowSans-Medium;--now-alert--font-size:1rem;--now-alert--font-weight:500;--now-alert--color:#1d1d1d;margin-left:auto;margin-right:auto;margin-top:.75rem;max-width:56.25rem;pointer-events:all}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block;height:0;overflow:visible;pointer-events:none}.dps-toast-container{display:none;margin:0 auto;max-width:90rem;position:relative;width:100%}.dps-toast-container.-is-opened{display:block}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block;width:100%}.dps-trending-discussions{width:100%}.dps-trending-discussions .heading{color:#474d52;font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:700;height:1.5rem;margin:.125rem 0 .125rem}.dps-trending-discussions ul{margin:.75rem 0 0;padding-left:0}.dps-trending-discussions ul :last-child{border:none;margin-bottom:0}.dps-trending-discussions ul div:first-child{border-top:1px solid #dadbdc;padding-top:.5rem}.dps-trending-discussions .details{border-bottom:2px solid #dadbdc;margin:.5rem 0 .5rem;padding-bottom:1.5rem}.dps-trending-discussions .details dps-link{color:#474d52;font-family:ServiceNowSans-Light;font-size:1rem;font-weight:700;line-height:1.75;margin:.5rem 0 .5rem}.dps-trending-discussions .info{display:flex;justify-content:space-between;width:100%}.dps-trending-discussions .timestamp{color:#919497;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5;margin-left:0}.dps-trending-discussions dps-link{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".dps-checkbox{display:block;margin:0 0 .5rem;position:relative}.dps-checkbox>input[type=checkbox]{cursor:pointer;opacity:0;position:absolute;width:100%;z-index:1}.dps-checkbox>input[type=checkbox]:checked+label:before{background:#293e40;border-color:#293e40}.dps-checkbox>input[type=checkbox]:checked+label:after{border:solid #fff;border-width:0 2px 2px 0;content:\\\"\\\";display:block;height:.625rem;left:.375rem;position:absolute;top:.1875rem;transform:rotate(45deg);width:.3125rem}.dps-checkbox>input[type=checkbox]:focus+label:before{box-shadow:0 0 0 2px #fff,0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-checkbox>label{align-items:center;color:#000;cursor:pointer;display:flex;font-family:ServiceNowSans-Light;font-size:1rem;gap:.5rem;line-height:normal;padding-left:1.5rem;position:relative;white-space:nowrap}.dps-checkbox>label .secondary-text{color:#6e7274}.dps-checkbox>label:before{background-color:#fff;border:1px solid #b3b3b3;border-radius:.25rem;content:\\\"\\\";cursor:pointer;display:block;flex-shrink:0;height:1rem;left:0;position:absolute;top:50%;transform:translateY(-50%);width:1rem}sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-button{align-items:center;border:none;color:inherit;cursor:pointer;display:inline-flex;font-family:ServiceNowSans-Book;font-size:1rem;font-weight:400;justify-content:center;letter-spacing:.01em;line-height:1.1;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),border .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:nowrap;width:inherit}.dps-button:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-button:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:active{color:currentColor}.dps-button.is-disabled,.dps-button:disabled{cursor:not-allowed}.dps-button.-primary{background:var(--dps-button-primary-bg,#62d84e);border:2px solid var(--dps-button-primary-border-color,#62d84e);border-radius:.5rem;color:#1d1d1d;font-family:ServiceNowSans-Book}.dps-button.-primary:hover{background:#62d84e;border-color:var(--dps-button-primary-hover-border-color,#62d84e);color:var(--dps-button-primary-hover-color,#1d1d1d)}.dps-button.-primary.is-disabled,.dps-button.-primary:disabled{background:#b9bbbd}.dps-button.-primary svg{fill:#fff}.dps-button.-primary-inverse{background:#62d84e;border:2px solid #62d84e;border-radius:.5rem;color:#000;font-family:ServiceNowSans-Book}.dps-button.-primary-inverse:hover{background:#fff}.dps-button.-primary-inverse.is-disabled,.dps-button.-primary-inverse:disabled{background:#8a8e91}.dps-button.-primary-inverse svg{fill:#62d84e}.dps-button.-secondary{background:var(--dps-button-secondary-bg,#fff);border:var(--dps-button-secondary-border-width,2px) solid var(--dps-button-secondary-border-color,#62d84e);border-radius:.5rem;color:var(--dps-button-secondary-color,#1d1d1d);font-family:ServiceNowSans-Book;font-size:1rem}.dps-button.-secondary:hover{background:var(--dps-button-secondary-hover-bg,#62d84e);border-color:var(--dps-button-secondary-hover-border-color,#62d84e);box-shadow:var(--dps-button-secondar-hover-box-shadow);color:var(--dps-button-secondary-hover-color,#000)}.dps-button.-secondary:hover svg{fill:#fff}.dps-button.-secondary.is-bare{color:#032d42;font-family:ServiceNowSans-Book;font-size:1rem;line-height:normal}.dps-button.-secondary.is-disabled,.dps-button.-secondary:disabled{background:transparent;border-color:#b9bbbd;color:#b9bbbd}.dps-button.-secondary svg{fill:#1d1d1d}.dps-button.-secondary-inverse{background:#fff;border:2px solid #62d84e;border-radius:.5rem}.dps-button.-secondary-inverse:hover{background:#62d84e;border-color:#62d84e}.dps-button.-secondary-inverse:hover svg{fill:#62d84e}.dps-button.-secondary-inverse.is-disabled,.dps-button.-secondary-inverse:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-secondary-inverse svg{fill:#d0d2d3}.dps-button.-round{background:#01778e;border-radius:1.5rem;color:#fff;height:2.625rem;min-width:12.1875rem}.dps-button.-round.is-disabled,.dps-button.-round:disabled{background:transparent;border:1px solid #b9bbbd;color:#b9bbbd}.dps-button.-secondary-light{background:transparent;border:2px solid #fff;color:#fff}.dps-button.-secondary-light:hover{background:#fff;border-color:#fff;color:#293e40}.dps-button.-secondary-light.is-disabled,.dps-button.-secondary-light:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-destructive{background:#ca5b57;color:#fff}.dps-button.-destructive:hover{background:#fc726d}.dps-button.-destructive.is-disabled,.dps-button.-destructive:disabled{background:#fdaaa7}.dps-button.-sm{color:#000;font-family:ServiceNowSans-Book;font-size:1rem;gap:.125rem;height:auto;min-height:2rem;padding:.375rem 1rem}.dps-button.-sm.only-icon{padding:0;width:2rem}.dps-button.-sm.has-button-and-icon now-icon{width:2rem}.dps-button.-md{height:2.625rem;padding:0 1.5rem}.dps-button.-md.only-icon{padding:0;width:2.625rem}.dps-button.-md.has-button-and-icon now-icon{width:2.625rem}.dps-button.-lg{height:3.125rem;padding:0 2rem}.dps-button.-lg.only-icon{padding:0;width:3.125rem}.dps-button.-lg.has-button-and-icon now-icon{width:3.125rem}.dps-button.is-bare{background:transparent;border:none;color:#546566}.dps-button.is-bare:hover{background:transparent;border:none;color:#293e40}.dps-button.is-bare:hover svg{fill:#293e40}.dps-button.is-bare svg{fill:#546566}.dps-button.has-action now-icon{transition:transform .3s cubic-bezier(.075,.82,.165,1)}.dps-button.has-action:hover now-icon{transform:translateX(.125rem)}.dps-button.has-action:hover.-external-action now-icon{transform:translateX(1px) translateY(-1px)}.dps-button.is-white{color:#fff}.dps-button.-round-edge{border-radius:.5rem;height:auto;padding:.5rem 1rem}.dps-button-label+now-icon,.dps-button-label+svg{margin-left:.5rem}.dps-button-label+svg.-sm{height:.75rem;width:.75rem}.dps-button-label+svg.-md{height:1rem;width:1rem}.dps-button-label+svg.-lg{height:1.5rem;width:1.5rem}.dps-button-label+svg.-xl{height:2rem;width:2rem}.dps-user-profile-modal-questionnaire{min-height:25rem}@media(max-width:991.98px){.dps-user-profile-modal-questionnaire{height:auto}}@media(max-width:575.98px){.dps-user-profile-modal-questionnaire{min-height:38.8125rem}}.dps-user-profile-modal-question-submit-error{color:#fc726d;font-size:.875rem;margin:0 0 .5rem}.dps-user-profile-modal-question{margin-bottom:1rem}@media(max-width:575.98px){.dps-user-profile-modal-question{margin-top:1.4375rem}}.dps-user-profile-modal-options{display:flex;margin-bottom:.75rem}.dps-user-profile-modal-radio-buttons{display:flex}@media(max-width:575.98px){.dps-user-profile-modal-radio-buttons{display:block}}.dps-user-profile-modal-radio-buttons-options{margin-right:3.4375rem;padding-bottom:.25rem}@media(max-width:575.98px){.dps-user-profile-modal-radio-buttons-options{margin-bottom:.25rem}}.dps-user-profile-modal-radio-buttons-options>input[type=radio]{cursor:pointer;height:.9375rem;vertical-align:middle;width:.9375rem}.dps-user-profile-modal-radio-buttons-options>input[type=radio]:checked+span:before{background:#293e40;border-color:#293e40;border-radius:50%;content:\\\"\\\";height:1rem;position:absolute;transform:translate(-100%,30%);width:1rem}.dps-user-profile-modal-radio-buttons-options>input[type=radio]:checked+span:after{background-color:#fff;border-radius:50%;content:\\\"\\\";height:.3125rem;position:absolute;transform:translate(-210%,210%);width:.3125rem;z-index:1}.dps-user-profile-modal-radio-buttons-options>label{color:#293e40;cursor:pointer;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;padding-left:.75rem;vertical-align:middle}.dps-user-profile-modal-input-tabbed{width:100%;z-index:2}.dps-user-profile-modal-input-tabbed-button{border:.125rem solid transparent;border-radius:.5625rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.3);cursor:pointer;height:7rem;margin-bottom:.5rem;transition:background .3s cubic-bezier(.075,.82,.165,1),border .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);width:48.75rem}@media(max-width:991.98px){.dps-user-profile-modal-input-tabbed-button{height:auto;width:auto}}.dps-user-profile-modal-input-tabbed-button:hover{background-color:#d9ebee;border:.125rem solid #01778e}.dps-user-profile-modal-input-tabbed-button.-is-active{background-color:#f7f7f7;border:.125rem solid #01778e}.dps-user-profile-modal-input-tabbed-button-options{display:flex;padding:1.25rem 1.25rem 1.5rem}.dps-user-profile-modal-input-tabbed-button-options img{margin-right:1rem}.dps-user-profile-modal-input-tabbed-button-options-text{display:block;margin-top:.25rem}.dps-user-profile-modal-input-tabbed-button-options-line{font-weight:700;margin:0 0 .5rem}.dps-user-profile-modal-input-tabbed-button-options-additional-text{margin:0}.dps-user-profile-options-meta-data-section{min-height:18.4375rem}.dps-user-profile-modal-main-area{display:grid;grid-template-columns:auto auto;height:14.875rem;width:48.75rem}@media(max-width:991.98px){.dps-user-profile-modal-main-area{grid-template-columns:auto;height:auto;width:auto}}.dps-user-profile-modal-options-optional-text{font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;max-width:24.25rem}.dps-user-profile-modal-footer{display:grid;grid-template-columns:auto auto;margin-top:2.375rem}@media(max-width:991.98px){.dps-user-profile-modal-footer{grid-template-columns:auto}}@media(max-width:575.98px){.dps-user-profile-modal-footer{margin-top:1.5625rem}}.dps-user-profile-modal-footer dps-button{margin-left:.625rem}.dps-user-profile-modal-footer-legal-agreement{display:flex;justify-content:flex-start;padding-top:.375rem}@media(max-width:575.98px){.dps-user-profile-modal-footer-legal-agreement .dps-checkbox>label:before{top:.0625rem}}.dps-user-profile-modal-footer-legal-agreement label{display:inline-block}@media(max-width:575.98px){.dps-user-profile-modal-footer-legal-agreement{height:3.75rem;margin-top:-4.6875rem}.dps-user-profile-modal-footer-legal-agreement dps-link{padding-left:1.5625rem}}.dps-user-profile-modal-footer-navigation{display:flex;justify-content:flex-end}@media(max-width:991.98px){.dps-user-profile-options-section{height:9.6875rem}}.dps-user-profile-other-option-text-area{font-size:.875rem;margin-top:.5rem;padding:.25rem;resize:none;width:18.125rem}@media(max-width:575.98px){.dps-user-profile-other-option-text-area{width:15rem}}.dps-user-profile-modal-options-image{display:flex;justify-content:flex-end}.dps-user-profile-modal-options-image img{margin-right:-5.4375rem}@media(max-width:991.98px){.dps-user-profile-modal-options-image img{height:auto;width:auto}}@media(max-width:575.98px){.dps-user-profile-modal-options-image img{height:11.9375rem;margin-right:-4.3125rem;margin-top:3.4375rem;width:18.75rem}}.dps-checkbox{height:1.5rem;padding:.25rem 0}.dps-checkbox.-xs>input[type=checkbox]:checked+label:after{left:.5rem;top:calc(30% + 1px)}.dps-checkbox.-xs>label:before{border-radius:.125rem;height:.9375rem;width:.9375rem}.dps-checkbox>input[type=checkbox]{width:60%}@media(max-width:575.98px){.dps-checkbox>input[type=checkbox]:checked+label:after{top:calc(20% + 2px)}.dps-checkbox>label:before{left:0;top:.25rem;transform:none}}.dps-user-profile-modal-fetch-questions-failed{margin:auto}@media(max-width:575.98px){.dps-user-profile-modal-fetch-questions-failed{padding-top:3.9375rem}}.dps-user-profile-modal-fetch-questions-failed-header-text{color:#293e40;font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:500;line-height:1.625rem;margin:0 0 2.5rem;text-align:center}@media(max-width:575.98px){.dps-user-profile-modal-fetch-questions-failed-header-text{margin-top:1.3125rem}}.dps-user-profile-modal-fetch-questions-failed-image{display:flex;margin:auto auto 2.375rem}.dps-user-profile-modal-fetch-questions-failed-error-text{font-family:ServiceNowSans-Light;font-size:.8125rem;font-weight:400;letter-spacing:.01em;line-height:1.5;margin-bottom:1.5rem;text-align:center}.dps-user-profile-modal-fetch-questions-failed dps-button{display:flex;justify-content:center}dps-spinner{padding-top:5.25rem}@media(max-width:575.98px){dps-spinner{padding-top:12.8125rem}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-media{margin:0;max-width:100%}.dps-media .dps-media-frame{align-items:center;background-color:#f7f7f7;display:flex;justify-content:center;padding:2rem;width:100%}@media(max-width:575.98px){.dps-media .dps-media-frame{padding:1rem}}.dps-media .dps-media-frame.is-hidden{background:none;min-height:0}.-grid-item .dps-media .dps-media-frame{min-width:100%;padding:1rem}.dps-media.-align-left,.dps-media.-align-right{margin:.75rem 0;width:50%}.dps-media.-align-left .dps-media-frame,.dps-media.-align-right .dps-media-frame{padding:1rem}.dps-media.-align-left .autoplay-notice,.dps-media.-align-right .autoplay-notice{bottom:1rem;left:1rem;right:1rem;top:1rem}.dps-media.-align-left{float:left;margin-right:1rem}.dps-media.-align-right{float:right;margin-left:1rem}@media(max-width:575.98px){.dps-media.-align-left,.dps-media.-align-right{float:none;margin-left:0;margin-right:0;width:100%}}.dps-media img{max-width:100%}.dps-media figcaption{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;font-style:italic;line-height:1.5;margin-bottom:0;margin-left:var(--caption-margin-left,1rem);margin-right:var(--caption-margin-right,1rem);margin-top:.5rem;max-width:100%;text-align:var(--caption-align,center)}:host([slot=do]) .dps-media,:host([slot=dont]) .dps-media{display:flex;flex-direction:column}:host([slot=do]) .dps-media-frame,:host([slot=dont]) .dps-media-frame{min-width:0;padding:1rem;width:100%}:host([slot=do]) .autoplay-notice,:host([slot=dont]) .autoplay-notice{bottom:1rem;left:1rem;right:1rem;top:1rem}.dps-video-frame{position:relative}.dps-video-frame video{max-width:100%}.dps-video-frame .autoplay-notice{align-items:center;background-color:hsla(0,0%,100%,.7);bottom:2rem;display:flex;left:2rem;pointer-events:none;position:absolute;right:2rem;text-align:center;top:2rem}@media(max-width:575.98px){.dps-video-frame .autoplay-notice{bottom:1rem;left:1rem;right:1rem;top:1rem}}.dps-video-frame .autoplay-notice>span{display:block;flex:1}:host{display:block}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-visuals-carousel{display:grid;grid-template-rows:2rem 30.25rem 4.5rem;height:100%;max-height:34.75rem;overflow:hidden;position:relative;width:100%;z-index:199}@media(max-width:575.98px){.dps-visuals-carousel{max-height:17.3125rem;width:100vw}}.dps-visuals-carousel>.dps-visuals-carousel-card-container{position:relative}.dps-visuals-carousel>.dps-visuals-carousel-card-container>.dps-visuals-carousel-card{display:flex;height:100%;justify-content:center;padding-bottom:1.6875rem;position:relative}@media(max-width:575.98px){.dps-visuals-carousel>.dps-visuals-carousel-card-container>.dps-visuals-carousel-card{padding:0 1rem 1.6875rem}}.dps-visuals-carousel>.dps-visuals-carousel-card-container>.dps-visuals-carousel-card div:nth-child(n){visibility:hidden}.dps-visuals-carousel>.dps-visuals-carousel-card-container>.dps-visuals-carousel-card>.dps-visuals-carousel-card-content{display:grid;height:26.0625rem;max-height:28.5625rem;max-width:36.5rem;position:absolute}.dps-visuals-carousel>.dps-visuals-carousel-card-container>.dps-visuals-carousel-card>.dps-visuals-carousel-card-content.-active{visibility:visible;z-index:198}@media(max-width:575.98px){.dps-visuals-carousel>.dps-visuals-carousel-card-container>.dps-visuals-carousel-card>.dps-visuals-carousel-card-content{max-height:17.3125rem;max-width:21.5625rem}}.dps-visuals-carousel>.dps-visuals-carousel-card-container>.dps-visuals-carousel-card>.dps-visuals-carousel-card-content.-dps-visuals-carousel-image{align-items:center;max-width:36.5rem}@media(max-width:575.98px){.dps-visuals-carousel>.dps-visuals-carousel-card-container>.dps-visuals-carousel-card>.dps-visuals-carousel-card-content.-dps-visuals-carousel-image{max-height:17.3125rem;max-width:23.4375rem}}.dps-visuals-carousel>.dps-visuals-carousel-card-container>.dps-visuals-carousel-card>.dps-visuals-carousel-card-content.-dps-visuals-carousel-card-playground{grid-template-rows:4.375rem 26.1875rem;height:30.5625rem}@media(max-width:575.98px){.dps-visuals-carousel>.dps-visuals-carousel-card-container>.dps-visuals-carousel-card>.dps-visuals-carousel-card-content.-dps-visuals-carousel-card-playground{grid-template-rows:2.5rem 14.8125rem;max-height:17.3125rem;max-width:23.4375rem}}.dps-visuals-carousel>.dps-visuals-carousel-card-container>.dps-visuals-carousel-card>.dps-visuals-carousel-card-content.-dps-visuals-carousel-card-playground>.dps-visuals-carousel-playground{justify-content:center}.dps-visuals-carousel>.dps-visuals-carousel-card-container>.dps-visuals-carousel-card>.dps-visuals-carousel-card-content.-dps-visuals-carousel-card-playground>.dps-visuals-carousel-playground dps-playground{margin-right:1.5625rem;max-height:28.125rem;max-width:36.5rem}@media(max-width:575.98px){.dps-visuals-carousel>.dps-visuals-carousel-card-container>.dps-visuals-carousel-card>.dps-visuals-carousel-card-content.-dps-visuals-carousel-card-playground>.dps-visuals-carousel-playground dps-playground{max-height:14.375rem;max-width:23.4375rem}}.dps-visuals-carousel>.dps-visuals-carousel-card-container>.dps-visuals-carousel-card>.dps-visuals-carousel-card-content>.dps-visuals-carousel-card-img{margin:auto;width:87%}@media(max-width:575.98px){.dps-visuals-carousel>.dps-visuals-carousel-card-container>.dps-visuals-carousel-card>.dps-visuals-carousel-card-content>.dps-visuals-carousel-card-img{margin:auto;width:65%}}.dps-visuals-carousel>header{display:flex;text-transform:lowercase;z-index:100}.dps-visuals-carousel>header .dps-visuals-carousel-prev-next-button{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content}.dps-visuals-carousel>header .dps-visuals-carousel-prev-next-button button{background:#eceded;cursor:pointer;height:2rem;padding:0;position:relative;width:2.25rem;z-index:200}.dps-visuals-carousel>header .dps-visuals-carousel-prev-next-button button now-icon{color:#293e40}.dps-visuals-carousel>header .dps-visuals-carousel-prev-next-button .-disabled{cursor:not-allowed;opacity:.3}.dps-visuals-carousel>header .dps-visuals-carousel-prev-next-button .dps-visuals-carousel-prev-next-button-left,.dps-visuals-carousel>header .dps-visuals-carousel-prev-next-button .dps-visuals-carousel-prev-next-button-right{border:none;height:32px}.dps-visuals-carousel>header .dps-visuals-carousel-prev-next-button .dps-visuals-carousel-prev-next-button-left{margin:0 .375rem 0 0}.dps-visuals-carousel>header .dps-visuals-carousel-playground-heading{flex:1;padding-left:1.875rem}.dps-visuals-carousel>header .dps-visuals-carousel-playground-heading p{color:#334b4f;font-family:ServiceNowSans-Medium;font-size:.875rem;line-height:2rem;margin:0;white-space:nowrap}.dps-visuals-carousel>header .dps-visuals-carousel-playground-heading:first-child{padding-left:0}.dps-visuals-carousel>header dps-button{font-size:.875rem;margin-top:0}@media(max-width:575.98px){.dps-visuals-carousel>header dps-button{display:none}}.dps-visuals-carousel>.dps-visuals-carousel-activeCardSelector-container{margin:1rem 1.5rem;position:relative;z-index:300}@media(max-width:575.98px){.dps-visuals-carousel>.dps-visuals-carousel-activeCardSelector-container{margin:.5rem 0}}.dps-visuals-carousel>.dps-visuals-carousel-activeCardSelector-container>.dps-visuals-carousel-activeCardSelector{cursor:pointer;display:flex;justify-content:center}.dps-visuals-carousel>.dps-visuals-carousel-activeCardSelector-container>.dps-visuals-carousel-activeCardSelector>.dps-visuals-carousel-activeCardSelector-block-container{flex:1;max-width:7.5rem;padding:.625rem .25rem}.dps-visuals-carousel>.dps-visuals-carousel-activeCardSelector-container>.dps-visuals-carousel-activeCardSelector>.dps-visuals-carousel-activeCardSelector-block-container>.dps-visuals-carousel-activeCardSelector-block{background-color:#e8e8e9;height:.5rem;max-width:7.5rem;width:auto}@media(max-width:575.98px){.dps-visuals-carousel>.dps-visuals-carousel-activeCardSelector-container>.dps-visuals-carousel-activeCardSelector>.dps-visuals-carousel-activeCardSelector-block-container>.dps-visuals-carousel-activeCardSelector-block{height:.25rem;max-width:3.875rem}}.dps-visuals-carousel>.dps-visuals-carousel-activeCardSelector-container>.dps-visuals-carousel-activeCardSelector>.dps-visuals-carousel-activeCardSelector-block-container>.dps-visuals-carousel-activeCardSelector-block>.-progress-bar-completion{background-color:rgba(41,62,64,.4);height:100%;transition:width .2s linear}.dps-visuals-carousel>.dps-visuals-carousel-activeCardSelector-container>.dps-visuals-carousel-activeCardSelector>.dps-visuals-carousel-activeCardSelector-block-container>.dps-visuals-carousel-activeCardSelector-block>.-progress-bar-completion.paused{animation-play-state:paused}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-button{align-items:center;border:none;color:inherit;cursor:pointer;display:inline-flex;font-family:ServiceNowSans-Book;font-size:1rem;font-weight:400;justify-content:center;letter-spacing:.01em;line-height:1.1;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),border .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:nowrap;width:inherit}.dps-button:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-button:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:active{color:currentColor}.dps-button.is-disabled,.dps-button:disabled{cursor:not-allowed}.dps-button.-primary{background:var(--dps-button-primary-bg,#62d84e);border:2px solid var(--dps-button-primary-border-color,#62d84e);border-radius:.5rem;color:#1d1d1d;font-family:ServiceNowSans-Book}.dps-button.-primary:hover{background:#62d84e;border-color:var(--dps-button-primary-hover-border-color,#62d84e);color:var(--dps-button-primary-hover-color,#1d1d1d)}.dps-button.-primary.is-disabled,.dps-button.-primary:disabled{background:#b9bbbd}.dps-button.-primary svg{fill:#fff}.dps-button.-primary-inverse{background:#62d84e;border:2px solid #62d84e;border-radius:.5rem;color:#000;font-family:ServiceNowSans-Book}.dps-button.-primary-inverse:hover{background:#fff}.dps-button.-primary-inverse.is-disabled,.dps-button.-primary-inverse:disabled{background:#8a8e91}.dps-button.-primary-inverse svg{fill:#62d84e}.dps-button.-secondary{background:var(--dps-button-secondary-bg,#fff);border:var(--dps-button-secondary-border-width,2px) solid var(--dps-button-secondary-border-color,#62d84e);border-radius:.5rem;color:var(--dps-button-secondary-color,#1d1d1d);font-family:ServiceNowSans-Book;font-size:1rem}.dps-button.-secondary:hover{background:var(--dps-button-secondary-hover-bg,#62d84e);border-color:var(--dps-button-secondary-hover-border-color,#62d84e);box-shadow:var(--dps-button-secondar-hover-box-shadow);color:var(--dps-button-secondary-hover-color,#000)}.dps-button.-secondary:hover svg{fill:#fff}.dps-button.-secondary.is-bare{color:#032d42;font-family:ServiceNowSans-Book;font-size:1rem;line-height:normal}.dps-button.-secondary.is-disabled,.dps-button.-secondary:disabled{background:transparent;border-color:#b9bbbd;color:#b9bbbd}.dps-button.-secondary svg{fill:#1d1d1d}.dps-button.-secondary-inverse{background:#fff;border:2px solid #62d84e;border-radius:.5rem}.dps-button.-secondary-inverse:hover{background:#62d84e;border-color:#62d84e}.dps-button.-secondary-inverse:hover svg{fill:#62d84e}.dps-button.-secondary-inverse.is-disabled,.dps-button.-secondary-inverse:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-secondary-inverse svg{fill:#d0d2d3}.dps-button.-round{background:#01778e;border-radius:1.5rem;color:#fff;height:2.625rem;min-width:12.1875rem}.dps-button.-round.is-disabled,.dps-button.-round:disabled{background:transparent;border:1px solid #b9bbbd;color:#b9bbbd}.dps-button.-secondary-light{background:transparent;border:2px solid #fff;color:#fff}.dps-button.-secondary-light:hover{background:#fff;border-color:#fff;color:#293e40}.dps-button.-secondary-light.is-disabled,.dps-button.-secondary-light:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-destructive{background:#ca5b57;color:#fff}.dps-button.-destructive:hover{background:#fc726d}.dps-button.-destructive.is-disabled,.dps-button.-destructive:disabled{background:#fdaaa7}.dps-button.-sm{color:#000;font-family:ServiceNowSans-Book;font-size:1rem;gap:.125rem;height:auto;min-height:2rem;padding:.375rem 1rem}.dps-button.-sm.only-icon{padding:0;width:2rem}.dps-button.-sm.has-button-and-icon now-icon{width:2rem}.dps-button.-md{height:2.625rem;padding:0 1.5rem}.dps-button.-md.only-icon{padding:0;width:2.625rem}.dps-button.-md.has-button-and-icon now-icon{width:2.625rem}.dps-button.-lg{height:3.125rem;padding:0 2rem}.dps-button.-lg.only-icon{padding:0;width:3.125rem}.dps-button.-lg.has-button-and-icon now-icon{width:3.125rem}.dps-button.is-bare{background:transparent;border:none;color:#546566}.dps-button.is-bare:hover{background:transparent;border:none;color:#293e40}.dps-button.is-bare:hover svg{fill:#293e40}.dps-button.is-bare svg{fill:#546566}.dps-button.has-action now-icon{transition:transform .3s cubic-bezier(.075,.82,.165,1)}.dps-button.has-action:hover now-icon{transform:translateX(.125rem)}.dps-button.has-action:hover.-external-action now-icon{transform:translateX(1px) translateY(-1px)}.dps-button.is-white{color:#fff}.dps-button.-round-edge{border-radius:.5rem;height:auto;padding:.5rem 1rem}.dps-button-label+now-icon,.dps-button-label+svg{margin-left:.5rem}.dps-button-label+svg.-sm{height:.75rem;width:.75rem}.dps-button-label+svg.-md{height:1rem;width:1rem}.dps-button-label+svg.-lg{height:1.5rem;width:1.5rem}.dps-button-label+svg.-xl{height:2rem;width:2rem}:host{display:block}.dps-whats-new-modal{display:grid;grid-template-columns:3.875rem auto 3.875rem;max-width:100%;overflow:hidden}@media only screen and (max-width:767.98px){.dps-whats-new-modal{grid-template-columns:3.125rem auto 3.125rem}}.dps-whats-new-modal>.dps-whats-new-modal-content{margin-top:2px;max-width:100%;overflow:hidden}.dps-whats-new-modal>.dps-whats-new-modal-content>.dps-whats-new-modal-card-container{display:flex;padding:.3125rem 0 1.6875rem;position:relative}.dps-whats-new-modal>.dps-whats-new-modal-content>.dps-whats-new-modal-card-container>.dps-whats-new-modal-card{display:inline-flex;height:100%}@media only screen and (max-width:767.98px){.dps-whats-new-modal>.dps-whats-new-modal-content>.dps-whats-new-modal-card-container>.dps-whats-new-modal-card{padding:0 1rem 1.6875rem}}.dps-whats-new-modal>.dps-whats-new-modal-content>.dps-whats-new-modal-card-container>.dps-whats-new-modal-card>.dps-whats-new-modal-card-content{flex-basis:auto}.dps-whats-new-modal>.dps-whats-new-modal-content>.dps-whats-new-modal-card-container>.dps-whats-new-modal-card>.dps-whats-new-modal-card-content>.dps-whats-new-modal-card-img{align-items:center;display:flex;justify-content:center;max-width:100%}@media only screen and (max-width:767.98px){.dps-whats-new-modal>.dps-whats-new-modal-content>.dps-whats-new-modal-card-container>.dps-whats-new-modal-card>.dps-whats-new-modal-card-content>.dps-whats-new-modal-card-img{display:none}}.dps-whats-new-modal>.dps-whats-new-modal-content>.dps-whats-new-modal-card-container>.dps-whats-new-modal-card>.dps-whats-new-modal-card-content>.dps-whats-new-modal-card-header{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5rem;margin:1.5rem 0 1rem;text-align:center}.dps-whats-new-modal>.dps-whats-new-modal-content>.dps-whats-new-modal-card-container>.dps-whats-new-modal-card>.dps-whats-new-modal-card-content>.dps-whats-new-modal-card-text{font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5;margin-bottom:1.1875rem;white-space:pre-line}.dps-whats-new-modal>.dps-whats-new-modal-content>.dps-whats-new-modal-card-container>.dps-whats-new-modal-card>.dps-whats-new-modal-card-content>.dps-whats-new-modal-card-text dps-link,.dps-whats-new-modal>.dps-whats-new-modal-content>.dps-whats-new-modal-card-container>.dps-whats-new-modal-card>.dps-whats-new-modal-card-content>.dps-whats-new-modal-card-text dps-link a{display:inline}.dps-whats-new-modal>.dps-whats-new-modal-content>.dps-whats-new-modal-card-container>.dps-whats-new-modal-card>.dps-whats-new-modal-card-content>.dps-whats-new-modal-card-text.-centered{text-align:center}.dps-whats-new-modal>.dps-whats-new-modal-content>.dps-whats-new-modal-card-container>.dps-whats-new-modal-card>.dps-whats-new-modal-card-content dps-button{display:block;margin:16px auto;text-align:center}.dps-whats-new-modal>.dps-whats-new-modal-side-button{background-color:transparent;border:0;cursor:pointer;outline:0}.dps-whats-new-modal>.dps-whats-new-modal-side-button.-left:focus{border-left:4px solid #5cc4af}.dps-whats-new-modal>.dps-whats-new-modal-side-button.-right:focus{border-right:4px solid #5cc4af}.dps-whats-new-modal>.dps-whats-new-modal-activeCardSelector{cursor:pointer;display:flex;grid-column:1/4;justify-content:center}.dps-whats-new-modal>.dps-whats-new-modal-activeCardSelector>.dps-whats-new-modal-activeCardSelector-block-container{background-color:transparent;border:0;padding:.875rem .25rem 1.375rem}.dps-whats-new-modal>.dps-whats-new-modal-activeCardSelector>.dps-whats-new-modal-activeCardSelector-block-container:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-whats-new-modal>.dps-whats-new-modal-activeCardSelector>.dps-whats-new-modal-activeCardSelector-block-container:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-whats-new-modal>.dps-whats-new-modal-activeCardSelector>.dps-whats-new-modal-activeCardSelector-block-container:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-whats-new-modal>.dps-whats-new-modal-activeCardSelector>.dps-whats-new-modal-activeCardSelector-block-container>.dps-whats-new-modal-activeCardSelector-block{background-color:#d0d2d3;height:.25rem;margin-bottom:2px;transition:background-color .35s ease-out;width:3.875rem}.dps-whats-new-modal>.dps-whats-new-modal-activeCardSelector>.dps-whats-new-modal-activeCardSelector-block-container>.dps-whats-new-modal-activeCardSelector-block.active{background-color:#8a8e91}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-ad-cards{min-height:8.75rem;opacity:1;position:relative}.dps-ad-cards .spinner-wrapper{bottom:0;left:0;opacity:1;overflow:visible;position:absolute;right:0;top:0}.dps-ad-cards .spinner-wrapper dps-spinner{grid-column:1/5}.dps-ad-cards .cards-wrapper{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(4,1fr);grid-template-rows:none;margin-bottom:10px;margin-top:4px;opacity:0;transform:translateY(10%);transition:opacity .5s ease,transform .5s ease}@media(max-width:1199.98px){.dps-ad-cards .cards-wrapper{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}}@media(max-width:767.98px){.dps-ad-cards .cards-wrapper{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-ad-cards.-col-3 .cards-wrapper{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}.dps-ad-cards.-col-3 .cards-wrapper dps-spinner{grid-column:1/4}@media(max-width:991.98px){.dps-ad-cards.-col-3 .cards-wrapper{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-ad-cards.-is-loaded .spinner-wrapper{opacity:0}.dps-ad-cards.-is-loaded.behavior-is-in-viewport .cards-wrapper{opacity:1;transform:translate(0)}.dps-ad-cards.-show-more dps-ad-card:nth-child(n+5){opacity:1;transform:translate(0);transition:opacity 1.5s linear,transform 1.5s linear;transition-delay:.9s}.dps-ad-cards.-auth-show-more dps-ad-card:nth-child(n+4){opacity:1;transform:translate(0);transition:opacity 1.5s ease,transform 1.5s ease;transition-delay:.9s}.dps-ad-cards.-auth-show-less dps-ad-card:nth-child(n+4),.dps-ad-cards.-show-less dps-ad-card:nth-child(n+5){opacity:0;transform:translateY(10%);transition:opacity .8s ease,transform .8s ease;visibility:hidden}.dps-expand-or-collapse-events-link{margin:0 auto;max-width:90rem;position:relative;text-align:center}.dps-expand-or-collapse-events-link div{color:#293d40;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:.8125rem;font-weight:600;height:1.25rem;letter-spacing:.26px;line-height:1.25rem;margin:1.5rem 0;position:relative;width:10.125rem}.dps-expand-or-collapse-events-link div:after{background-color:#fff;content:\\\"\\\";height:100%;left:-1rem;position:absolute;top:0;width:calc(100% + 32px);z-index:-1}.dps-expand-or-collapse-events-link:before{background-color:#e8e8e9;content:\\\"\\\";height:1px;left:0;position:absolute;top:50%;width:100%;z-index:-2}.dps-expand-or-collapse-events{max-height:10rem;overflow-y:hidden;transition:max-height 1s}@media(max-width:1199.98px){.dps-expand-or-collapse-events{max-height:21.875rem}}@media(max-width:767.98px){.dps-expand-or-collapse-events{max-height:43.75rem}}.auth-page{max-height:10rem}@media(max-width:991.98px){.auth-page{max-height:31.25rem}}.expand-events{max-height:93.75rem;transform:translate(0);transition:max-height 2s ease,transform 2s ease}.unauth-collapse-events{max-height:10rem;transition:max-height 2s cubic-bezier(0,1,0,1),transform 2s cubic-bezier(0,1,0,1)}@media(max-width:1199.98px){.unauth-collapse-events{max-height:21.25rem}}@media(max-width:767.98px){.unauth-collapse-events{max-height:45rem;transition:max-height 2s cubic-bezier(0,1,1,1),transform 2s cubic-bezier(0,1,1,1)}}@media(max-width:575.98px){.unauth-collapse-events{max-height:48.75rem;transition:max-height 2s cubic-bezier(0,1,1,1),transform 2s cubic-bezier(0,1,1,1)}}.auth-collapse-events{max-height:9.375rem;transition:max-height 3s cubic-bezier(0,1,0,1),transform 3s cubic-bezier(0,1,0,1)}@media(max-width:991.98px){.auth-collapse-events{max-height:32.5rem;transition:max-height 2s cubic-bezier(0,1,1,1),transform 2s cubic-bezier(0,1,1,1)}}@media(max-width:575.98px){.auth-collapse-events{max-height:34.375rem;transition:max-height 2s cubic-bezier(0,1,1,1),transform 2s cubic-bezier(0,1,1,1)}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/highlight.js/styles/agate.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}code.hljs{padding:1rem}aside,b,dd,div,dl,dt,em,i,li,ol,p,strong,ul{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;line-height:1.5rem}aside,dd,div,dl,dt,li,ol,p,ul{font-weight:400}a em{color:#00718f}strong,strong em{font-family:ServiceNowSans-Medium;font-weight:500}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem;line-height:1.1;line-height:1.3125rem;margin:2rem 0}h1,h2{color:#1d1d1d;font-size:1.75rem;font-weight:400;font-weight:500}h2{font-family:ServiceNowSans-Regular;font-family:ServiceNowSans-Medium;font-size:1.5rem;line-height:1.1;line-height:2.25rem;margin-bottom:.75rem 0}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400;margin-bottom:.5rem 0}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400;margin-bottom:.5rem 0}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal}blockquote,code,img,ol,p,pre,ul{margin:.75rem 0}img{max-width:100%}pre{margin-bottom:1.5rem;margin-top:.75rem}div+h1,div+h2,div+h3,div+h4,div+h5,div+h6,img+h1,img+h2,img+h3,img+h4,img+h5,img+h6,p+h1,p+h2,p+h3,p+h4,p+h5,p+h6,ul+h1,ul+h2,ul+h3,ul+h4,ul+h5,ul+h6{margin-top:2rem}b,strong{font-weight:500}b,code,strong{letter-spacing:.02em}code{background-color:#e8e8e9;border:1px solid #d0d2d3;border-radius:.25rem;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5}code b,code strong{font-weight:500}pre code{background-color:transparent;border:none;border-radius:0}.sm,small{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}.sm code,small code{font-size:80%}.lg,.xl{font-family:ServiceNowSans-Regular;font-size:1.3125rem;font-weight:400;line-height:1.5}.lg code,.xl code{font-size:80%}.xl{font-size:1.5rem;line-height:1.5}.dps-caption,.dps-label{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}a:not(.dps-link):not(.dps-button):not(.dps-card-click){border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal;margin:-.125rem;padding:0 .125rem;position:relative;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:normal}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus:not(:focus-visible){box-shadow:none;outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):hover{color:#024f69;text-decoration:underline;-webkit-text-decoration-color:#024f69;text-decoration-color:#024f69}a:not(.dps-link):not(.dps-button):not(.dps-card-click):active{color:#032d42;text-decoration:underline;-webkit-text-decoration-color:#032d42;text-decoration-color:#032d42}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}.do-dont-images{column-gap:1rem;display:grid;grid-auto-flow:column;grid-template-rows:1fr auto}@media screen and (max-width:767.98px){.do-dont-images{display:block}}.do-dont-images figcaption,.do-dont-images figure{margin:0;padding:0}.do-dont-images img{margin:0;max-width:100%;padding:0}.do-dont-images figure{background-color:#f7f7f7;border-top:5px solid;margin-top:2rem;padding:1rem;position:relative}.do-dont-images figcaption{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;font-style:italic;line-height:1.5;margin-bottom:0;margin-left:0;margin-right:0;margin-top:.5rem;max-width:100%;text-align:left}.do-dont-images .img-do h5,.do-dont-images .img-dont h5{font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;left:0;line-height:1.75;margin:0;padding:0;position:absolute;top:-2rem}.do-dont-images .img-dont{border-color:#fc726d}.do-dont-images .img-dont h5{color:#fc726d}.do-dont-images .img-do{border-color:#5cc4af}.do-dont-images .img-do h5{color:#5cc4af}.api-content{padding:0 1.5rem 1.5rem;position:relative;width:100%}table{width:100%}.class-title{color:#293e40;font-family:ServiceNowSans-Medium;font-size:2.275rem;font-weight:500;margin-bottom:1.5rem}.api-content-method-group{margin-bottom:5em}.notetitle{background-color:#e1ecef;border-radius:.25rem;color:#293e40;display:inline-block;font-family:ServiceNowSans-Light;font-size:.8125rem;font-weight:600;letter-spacing:.02em;line-height:1.5;padding:.125rem .75rem;text-decoration:none}.api-content-method-text{margin-bottom:2.5rem}.api-content-method-text>h3{font-family:ServiceNowSans-Regular;font-size:1.75rem;font-weight:400;margin-bottom:0}.api-content-text{font-family:ServiceNowSans-Light}.tablenoborder table{border:none;border:0;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.tablenoborder table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.tablenoborder table td,.tablenoborder table th{padding:.75rem;text-align:left;vertical-align:top}.tablenoborder table tbody tr{border-bottom:1px solid #293e40}.tablenoborder table tbody td{padding:1rem .75rem}.tablenoborder table tbody td:first-child{min-width:10em;width:33%}.tablenoborder table tbody td :first-child{margin-top:0}.tablenoborder table tbody td :last-child{margin-bottom:0}.tablenoborder table tbody td pre{white-space:pre-wrap}.tablenoborder table tbody td samp{word-break:break-word}.tablenoborder table caption{display:none}.tablenoborder table tbody,.tablenoborder table thead{font-family:ServiceNowSans-Light}.tablenoborder table tbody .row,.tablenoborder table thead .row{display:grid;grid-template-columns:1fr 2fr 2fr;width:100%}.tablenoborder table tbody .row .cellrowborder,.tablenoborder table tbody .row .row-nocellborder,.tablenoborder table thead .row .cellrowborder,.tablenoborder table thead .row .row-nocellborder{border:0}.table-wrapper{margin-bottom:2.5rem}.table-wrapper>h4{color:#313131;font-family:ServiceNowSans-Light;font-weight:400;margin-bottom:.25rem}.url-wrapper .url-heading{font-weight:500;padding-right:.5rem}.api-section-header{font-size:1rem;font-weight:600;margin:1.25rem 0 .25rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-link,a:not(.dps-button){-webkit-text-decoration-skip:ink;background:none;border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.03125rem;margin:-.125rem;padding:.125rem;position:relative;-webkit-text-decoration-line:underline;text-decoration-line:underline;text-decoration-skip-ink:auto;-webkit-text-decoration-style:solid;text-decoration-style:solid;text-decoration:none;text-decoration-thickness:auto;white-space:normal}.dps-link:focus,a:not(.dps-button):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-link:focus:not(:focus-visible),a:not(.dps-button):focus:not(:focus-visible){box-shadow:none;outline:none}.dps-link:focus-visible,a:not(.dps-button):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-link>span,a:not(.dps-button)>span{background:linear-gradient(#00718f,#00718f) bottom repeat-x;background-size:0 0;border-bottom:none;box-shadow:none;color:inherit;padding:0 .125rem;position:relative;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1),border-bottom .3s cubic-bezier(.075,.82,.165,1)}.dps-link>span.none,a:not(.dps-button)>span.none{background:none;box-shadow:none;transition:none}.dps-link:hover,a:not(.dps-button):hover{color:#024f69}.dps-link:hover>span,a:not(.dps-button):hover>span{background-size:0 0;border-bottom:1px solid #024f69;box-shadow:none}.dps-link:hover>span.none,a:not(.dps-button):hover>span.none{background:none;box-shadow:none;color:none;transition:none}.dps-link:active,a:not(.dps-button):active{color:#032d42}.dps-link:active>span,a:not(.dps-button):active>span{background-size:0 0;border-bottom:1px solid #032d42;box-shadow:none}.dps-link.has-action now-icon,a:not(.dps-button).has-action now-icon{transition:transform .3s cubic-bezier(.075,.82,.165,1)}.dps-link.has-action:hover now-icon,a:not(.dps-button).has-action:hover now-icon{transform:translateX(.125rem)}.dps-link.has-action:hover.-external-action now-icon,a:not(.dps-button).has-action:hover.-external-action now-icon{transform:translateX(1px) translateY(-1px)}.dps-link.is-disabled,a:not(.dps-button).is-disabled{color:#c3c3c3;cursor:not-allowed;opacity:.5}.dps-link.is-disabled:hover>span,.dps-link.is-disabled>span,a:not(.dps-button).is-disabled:hover>span,a:not(.dps-button).is-disabled>span{border-bottom:1px solid #c3c3c3;box-shadow:inset 0 -1px 0 0 #c3c3c3;color:#c3c3c3}.dps-link.is-disabled:hover>span,a:not(.dps-button).is-disabled:hover>span{background-size:0 0}.dps-link.is-warning,a:not(.dps-button).is-warning{color:#652e2c}.dps-link.is-warning>span,a:not(.dps-button).is-warning>span{box-shadow:inset 0 -1px 0 0 #fc726d}.dps-link.is-warning:active>span,.dps-link.is-warning:hover>span,a:not(.dps-button).is-warning:active>span,a:not(.dps-button).is-warning:hover>span{background:linear-gradient(#fdaaa7,#fdaaa7) bottom repeat-x;box-shadow:none}.dps-link.is-warning-light,a:not(.dps-button).is-warning-light{color:#663a1f}.dps-link.is-warning-light>span,a:not(.dps-button).is-warning-light>span{box-shadow:inset 0 -1px 0 0 #ffa871}.dps-link.is-warning-light:active>span,.dps-link.is-warning-light:hover>span,a:not(.dps-button).is-warning-light:active>span,a:not(.dps-button).is-warning-light:hover>span{background:linear-gradient(#ffbe95,#ffbe95) bottom repeat-x;box-shadow:none}.dps-link.-inline,a:not(.dps-button).-inline{display:inline}.dps-link span+now-icon,a:not(.dps-button) span+now-icon{margin-left:.125rem}.api-title{padding-left:.75rem}dps-dropdown{display:block}.main{display:flex}.main .sidenav{flex:1 0 30%;min-width:0}.main .api-content-column{flex:1 0 70%;min-width:0}.api-print-button{float:right;margin-top:.3125rem}@media(max-width:1199.98px){.api-print-button{display:none}}.api-blurb{background:#f7f7f7;border-radius:.1875rem;line-height:1.5;margin-bottom:1.5rem;margin-left:-5.25rem;margin-top:-3.75rem;padding:2rem 5.25rem 2rem 5.5rem;width:auto}.api-blurb span{font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:500}.api-blurb p{font-family:ServiceNowSans-Light}.api-blurb dps-alert{display:inline-block}dps-version-switcher{margin:0 1.5rem}dps-inline-version-selector{--dps-instance-icon-color:#000;margin-bottom:1.5rem;padding-left:1.5rem;padding-right:1.5rem}.api-module h1,.api-module h2,.api-module h3,.api-module p{font-family:ServiceNowSans-Book}.api-module h4{font-family:ServiceNowSans-Light}.api-module .content-text,.api-module span{font-family:ServiceNowSans-Book}.api-module .content-text{color:#1d1d1d;font-size:20px;letter-spacing:0;line-height:34px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-link,a:not(.dps-button){-webkit-text-decoration-skip:ink;background:none;border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.03125rem;margin:-.125rem;padding:.125rem;position:relative;-webkit-text-decoration-line:underline;text-decoration-line:underline;text-decoration-skip-ink:auto;-webkit-text-decoration-style:solid;text-decoration-style:solid;text-decoration:none;text-decoration-thickness:auto;white-space:normal}.dps-link:focus,a:not(.dps-button):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-link:focus:not(:focus-visible),a:not(.dps-button):focus:not(:focus-visible){box-shadow:none;outline:none}.dps-link:focus-visible,a:not(.dps-button):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-link>span,a:not(.dps-button)>span{background:linear-gradient(#00718f,#00718f) bottom repeat-x;background-size:0 0;border-bottom:none;box-shadow:none;color:inherit;padding:0 .125rem;position:relative;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1),border-bottom .3s cubic-bezier(.075,.82,.165,1)}.dps-link>span.none,a:not(.dps-button)>span.none{background:none;box-shadow:none;transition:none}.dps-link:hover,a:not(.dps-button):hover{color:#024f69}.dps-link:hover>span,a:not(.dps-button):hover>span{background-size:0 0;border-bottom:1px solid #024f69;box-shadow:none}.dps-link:hover>span.none,a:not(.dps-button):hover>span.none{background:none;box-shadow:none;color:none;transition:none}.dps-link:active,a:not(.dps-button):active{color:#032d42}.dps-link:active>span,a:not(.dps-button):active>span{background-size:0 0;border-bottom:1px solid #032d42;box-shadow:none}.dps-link.has-action now-icon,a:not(.dps-button).has-action now-icon{transition:transform .3s cubic-bezier(.075,.82,.165,1)}.dps-link.has-action:hover now-icon,a:not(.dps-button).has-action:hover now-icon{transform:translateX(.125rem)}.dps-link.has-action:hover.-external-action now-icon,a:not(.dps-button).has-action:hover.-external-action now-icon{transform:translateX(1px) translateY(-1px)}.dps-link.is-disabled,a:not(.dps-button).is-disabled{color:#c3c3c3;cursor:not-allowed;opacity:.5}.dps-link.is-disabled:hover>span,.dps-link.is-disabled>span,a:not(.dps-button).is-disabled:hover>span,a:not(.dps-button).is-disabled>span{border-bottom:1px solid #c3c3c3;box-shadow:inset 0 -1px 0 0 #c3c3c3;color:#c3c3c3}.dps-link.is-disabled:hover>span,a:not(.dps-button).is-disabled:hover>span{background-size:0 0}.dps-link.is-warning,a:not(.dps-button).is-warning{color:#652e2c}.dps-link.is-warning>span,a:not(.dps-button).is-warning>span{box-shadow:inset 0 -1px 0 0 #fc726d}.dps-link.is-warning:active>span,.dps-link.is-warning:hover>span,a:not(.dps-button).is-warning:active>span,a:not(.dps-button).is-warning:hover>span{background:linear-gradient(#fdaaa7,#fdaaa7) bottom repeat-x;box-shadow:none}.dps-link.is-warning-light,a:not(.dps-button).is-warning-light{color:#663a1f}.dps-link.is-warning-light>span,a:not(.dps-button).is-warning-light>span{box-shadow:inset 0 -1px 0 0 #ffa871}.dps-link.is-warning-light:active>span,.dps-link.is-warning-light:hover>span,a:not(.dps-button).is-warning-light:active>span,a:not(.dps-button).is-warning-light:hover>span{background:linear-gradient(#ffbe95,#ffbe95) bottom repeat-x;box-shadow:none}.dps-link.-inline,a:not(.dps-button).-inline{display:inline}.dps-link span+now-icon,a:not(.dps-button) span+now-icon{margin-left:.125rem}.api-title{padding-left:.75rem}dps-dropdown{display:block}.main{display:flex}.main .sidenav{flex:1 0 30%;min-width:0}.main .api-content-column{flex:1 0 70%;min-width:0}h3{color:#1d1d1d;font-size:1.5rem;font-weight:500;line-height:2.625rem}h3,h6{font-family:ServiceNowSans-Medium}h6{font-size:.75rem;font-weight:400;letter-spacing:.1em;line-height:1;margin-bottom:1rem;margin-top:2.33rem;text-transform:uppercase}.api-content-list-link{border-bottom:1px solid #d5d7db!important;display:flex;flex-direction:column;gap:.5rem;margin:0!important;padding:.875rem 0!important;width:100%!important}.api-content-list-link h4{color:#1d1d1d;font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;line-height:1.5rem;margin:0}.api-content-list-link p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:2.5rem;margin:0}.api-print-button{float:right;margin-top:.3125rem}@media(max-width:1199.98px){.api-print-button{display:none}}.api-blurb{background-color:#f7f7f7;border-radius:.1875rem;line-height:1.5;margin-bottom:1.5rem;margin-left:-5.25rem;margin-top:-3.75rem;padding:2rem 5.25rem 2rem 5.5rem;width:auto}.api-blurb span{color:#1d1d1d;font-family:ServiceNowSans-Medium;font-size:1.5rem;font-weight:500;line-height:2.625rem}.api-blurb p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem}.api-blurb dps-alert{display:inline-block}dps-version-switcher{margin:0 1.5rem}dps-inline-version-selector{--dps-instance-icon-color:#000;margin-bottom:1.5rem;padding-right:1.5rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-app{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;height:100%;position:relative;width:100%}@media(max-width:991.98px){.dps-app{overflow:hidden}}.dps-app-bootstrapping{position:relative;top:180px}footer,header,main{position:relative;width:100%}header{position:fixed;top:0;z-index:1020}main{margin-top:var(--dps-main-margin-top);min-height:calc(100vh - var(--dps-global-header-height));transition:min-height .1s ease}@media(min-width:767.99px)and (max-width:1365px){main{margin-top:var(--dps-main-margin-top-md)}}@media(max-width:767.98px){main{margin-top:var(--dps-main-margin-top-sm)}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-ba-progress-banner{align-items:center;background-color:#ddd5fb;border:.0625rem solid #ac98f6;border-radius:.5rem;box-sizing:border-box;display:flex;padding:.5rem 2.5rem;width:100%}.dps-ba-progress-banner__content{align-items:center;display:flex;justify-content:space-between;width:100%}.dps-ba-progress-banner__icon-and-message{align-items:center;display:flex;flex:1;gap:.25rem;min-width:0;overflow:hidden}.dps-ba-progress-banner__icon{align-items:center;display:flex;flex-shrink:0;justify-content:center;padding:.5rem}.dps-ba-progress-banner__message{align-items:center;display:flex;flex-wrap:wrap;gap:.125rem}.dps-ba-progress-banner__header{color:#1d1d1d;font-family:ServiceNowSans-Medium;font-size:1rem;line-height:1.5}.dps-ba-progress-banner__text{color:#1d1d1d;font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.5}.dps-ba-progress-banner__action{flex-shrink:0;margin-left:.5rem;position:relative;z-index:2}.dps-ba-progress-banner__action now-button{--now-button--secondary--border-color:#666;--now-button--secondary--border-width:1px;--now-button--secondary--color:#1d1d1d;--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:0;--now-button--secondary--border-color--hover:#666;--now-button--secondary--color--hover:#1d1d1d;--now-button--secondary--background-color--hover:0,0,0;--now-button--secondary--background-color-alpha--hover:0.04;--now-button--secondary--border-color--active:#666;--now-button--secondary--color--active:#1d1d1d;--now-button--secondary--background-color--active:0,0,0;--now-button--secondary--background-color-alpha--active:0.08}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.build-agent-modal__body{align-items:center;display:flex;flex-direction:column;gap:.5rem;padding:1rem 0;text-align:center}.build-agent-modal__icon{margin-bottom:.5rem}.build-agent-modal__icon now-icon{--now-icon--color:#81b5a1}.build-agent-modal__loader{margin-bottom:.5rem}.build-agent-modal__title{color:#1d1d1d;font-family:ServiceNowSans-Medium;font-size:1.25rem;font-weight:500;line-height:normal;margin:0}.build-agent-modal__subtitle{color:#fff;font-family:ServiceNowSans-Light;font-size:.8125rem;line-height:normal;margin:0}.build-agent-modal__actions{align-items:center;display:flex;gap:.5rem;justify-content:center;margin-top:.5rem}.build-agent-modal now-modal{--now-modal--width:26.25rem}@media(max-width:767.98px){.build-agent-modal now-modal{--now-modal--width:100%}.build-agent-modal__actions{flex-direction:column}.build-agent-modal__actions now-button{width:100%}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/highlight.js/styles/agate.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}code.hljs{padding:1rem}aside,b,dd,div,dl,dt,em,i,li,ol,p,strong,ul{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;line-height:1.5rem}aside,dd,div,dl,dt,li,ol,p,ul{font-weight:400}a em{color:#00718f}strong,strong em{font-family:ServiceNowSans-Medium;font-weight:500}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem;line-height:1.1;line-height:1.3125rem;margin:2rem 0}h1,h2{color:#1d1d1d;font-size:1.75rem;font-weight:400;font-weight:500}h2{font-family:ServiceNowSans-Regular;font-family:ServiceNowSans-Medium;font-size:1.5rem;line-height:1.1;line-height:2.25rem;margin-bottom:.75rem 0}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400;margin-bottom:.5rem 0}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400;margin-bottom:.5rem 0}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal}blockquote,code,img,ol,p,pre,ul{margin:.75rem 0}img{max-width:100%}pre{margin-bottom:1.5rem;margin-top:.75rem}div+h1,div+h2,div+h3,div+h4,div+h5,div+h6,img+h1,img+h2,img+h3,img+h4,img+h5,img+h6,p+h1,p+h2,p+h3,p+h4,p+h5,p+h6,ul+h1,ul+h2,ul+h3,ul+h4,ul+h5,ul+h6{margin-top:2rem}b,strong{font-weight:500}b,code,strong{letter-spacing:.02em}code{background-color:#e8e8e9;border:1px solid #d0d2d3;border-radius:.25rem;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5}code b,code strong{font-weight:500}pre code{background-color:transparent;border:none;border-radius:0}.sm,small{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}.sm code,small code{font-size:80%}.lg,.xl{font-family:ServiceNowSans-Regular;font-size:1.3125rem;font-weight:400;line-height:1.5}.lg code,.xl code{font-size:80%}.xl{font-size:1.5rem;line-height:1.5}.dps-caption,.dps-label{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}a:not(.dps-link):not(.dps-button):not(.dps-card-click){border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal;margin:-.125rem;padding:0 .125rem;position:relative;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:normal}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus:not(:focus-visible){box-shadow:none;outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):hover{color:#024f69;text-decoration:underline;-webkit-text-decoration-color:#024f69;text-decoration-color:#024f69}a:not(.dps-link):not(.dps-button):not(.dps-card-click):active{color:#032d42;text-decoration:underline;-webkit-text-decoration-color:#032d42;text-decoration-color:#032d42}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}.do-dont-images{column-gap:1rem;display:grid;grid-auto-flow:column;grid-template-rows:1fr auto}@media screen and (max-width:767.98px){.do-dont-images{display:block}}.do-dont-images figcaption,.do-dont-images figure{margin:0;padding:0}.do-dont-images img{margin:0;max-width:100%;padding:0}.do-dont-images figure{background-color:#f7f7f7;border-top:5px solid;margin-top:2rem;padding:1rem;position:relative}.do-dont-images figcaption{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;font-style:italic;line-height:1.5;margin-bottom:0;margin-left:0;margin-right:0;margin-top:.5rem;max-width:100%;text-align:left}.do-dont-images .img-do h5,.do-dont-images .img-dont h5{font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;left:0;line-height:1.75;margin:0;padding:0;position:absolute;top:-2rem}.do-dont-images .img-dont{border-color:#fc726d}.do-dont-images .img-dont h5{color:#fc726d}.do-dont-images .img-do{border-color:#5cc4af}.do-dont-images .img-do h5{color:#5cc4af}.card{background:#fff;border:1px solid #e3e3e3;border-radius:.5rem;box-sizing:border-box;color:inherit;display:flex;flex-direction:column;gap:.5rem;padding:1rem;text-decoration:none;transition:transform .2s ease-in-out}.card .tag-container{line-height:0;text-align:start}.card .tag-container now-highlighted-value{--now-highlighted-value--font-family:ServiceNowSans-Light;--now-highlighted-value--font-size:$dps-global-font-size-xs;--now-highlighted-value--color:$dps-color-charcoal-black}.card .card-text{display:flex;flex-direction:column;text-align:start}.card .card-text .card-title{color:#1d1d1d;font-family:ServiceNowSans-Book;font-size:1rem;line-height:1.3}.card .card-text .card-description p,.card .card-text .card-title{margin:unset}.card .card-text .card-description{align-items:flex-end;display:flex;min-height:1.875rem}.card .card-text .card-description p{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#515151;display:-webkit-box;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.2;max-height:2.1875rem;overflow:hidden;text-overflow:ellipsis}.card:hover{transform:translateY(-4px)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/highlight.js/styles/agate.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}code.hljs{padding:1rem}aside,b,dd,div,dl,dt,em,i,li,ol,p,strong,ul{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;line-height:1.5rem}aside,dd,div,dl,dt,li,ol,p,ul{font-weight:400}a em{color:#00718f}strong,strong em{font-family:ServiceNowSans-Medium;font-weight:500}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem;line-height:1.1;line-height:1.3125rem;margin:2rem 0}h1,h2{color:#1d1d1d;font-size:1.75rem;font-weight:400;font-weight:500}h2{font-family:ServiceNowSans-Regular;font-family:ServiceNowSans-Medium;font-size:1.5rem;line-height:1.1;line-height:2.25rem;margin-bottom:.75rem 0}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400;margin-bottom:.5rem 0}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400;margin-bottom:.5rem 0}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal}blockquote,code,img,ol,p,pre,ul{margin:.75rem 0}img{max-width:100%}pre{margin-bottom:1.5rem;margin-top:.75rem}div+h1,div+h2,div+h3,div+h4,div+h5,div+h6,img+h1,img+h2,img+h3,img+h4,img+h5,img+h6,p+h1,p+h2,p+h3,p+h4,p+h5,p+h6,ul+h1,ul+h2,ul+h3,ul+h4,ul+h5,ul+h6{margin-top:2rem}b,strong{font-weight:500}b,code,strong{letter-spacing:.02em}code{background-color:#e8e8e9;border:1px solid #d0d2d3;border-radius:.25rem;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5}code b,code strong{font-weight:500}pre code{background-color:transparent;border:none;border-radius:0}.sm,small{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}.sm code,small code{font-size:80%}.lg,.xl{font-family:ServiceNowSans-Regular;font-size:1.3125rem;font-weight:400;line-height:1.5}.lg code,.xl code{font-size:80%}.xl{font-size:1.5rem;line-height:1.5}.dps-caption,.dps-label{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}a:not(.dps-link):not(.dps-button):not(.dps-card-click){border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal;margin:-.125rem;padding:0 .125rem;position:relative;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:normal}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus:not(:focus-visible){box-shadow:none;outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):hover{color:#024f69;text-decoration:underline;-webkit-text-decoration-color:#024f69;text-decoration-color:#024f69}a:not(.dps-link):not(.dps-button):not(.dps-card-click):active{color:#032d42;text-decoration:underline;-webkit-text-decoration-color:#032d42;text-decoration-color:#032d42}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}.do-dont-images{column-gap:1rem;display:grid;grid-auto-flow:column;grid-template-rows:1fr auto}@media screen and (max-width:767.98px){.do-dont-images{display:block}}.do-dont-images figcaption,.do-dont-images figure{margin:0;padding:0}.do-dont-images img{margin:0;max-width:100%;padding:0}.do-dont-images figure{background-color:#f7f7f7;border-top:5px solid;margin-top:2rem;padding:1rem;position:relative}.do-dont-images figcaption{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;font-style:italic;line-height:1.5;margin-bottom:0;margin-left:0;margin-right:0;margin-top:.5rem;max-width:100%;text-align:left}.do-dont-images .img-do h5,.do-dont-images .img-dont h5{font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;left:0;line-height:1.75;margin:0;padding:0;position:absolute;top:-2rem}.do-dont-images .img-dont{border-color:#fc726d}.do-dont-images .img-dont h5{color:#fc726d}.do-dont-images .img-do{border-color:#5cc4af}.do-dont-images .img-do h5{color:#5cc4af}.dps-home-unauth-apis-libraries{align-items:center;background:#f2f5f7;display:flex;flex-direction:column;flex-wrap:wrap;font-family:ServiceNowSans-Light;gap:2.5rem;padding:3rem 2.5rem 3rem 2.5rem;text-align:center}@media(max-width:1199.98px){.dps-home-unauth-apis-libraries{padding:1.5rem}}.dps-home-unauth-apis-libraries.-authenticated{background:#f2f5f7}@media(max-width:1199.98px){.dps-home-unauth-apis-libraries{gap:1.5rem;padding:2.5rem 1.5rem;text-align:left}}.dps-home-unauth-apis-libraries .dps-home-unauth-apis-libraries-title{align-items:center;display:flex;flex-direction:column;flex-wrap:wrap;gap:1.5rem}@media(max-width:991.98px){.dps-home-unauth-apis-libraries .dps-home-unauth-apis-libraries-title{align-items:flex-start}}.dps-home-unauth-apis-libraries .dps-home-unauth-apis-libraries-title h2{color:#1d1d1d;font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500;margin:0}.dps-home-unauth-apis-libraries .dps-home-unauth-apis-libraries-title p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1.125rem;margin:0}@media(max-width:1199.98px){.dps-home-unauth-apis-libraries .dps-home-unauth-apis-libraries-title{align-items:normal;gap:.5rem}.dps-home-unauth-apis-libraries .dps-home-unauth-apis-libraries-title p{text-align:left}}.dps-home-unauth-apis-libraries .dps-home-unauth-apis-libraries-cards{display:flex;flex-wrap:wrap;gap:1.5rem}.dps-home-unauth-apis-libraries .dps-home-unauth-apis-libraries-cards dps-card-apis-and-libraries-card{--now-highlighted-value--tertiary_positive--color:$dps-color-charcoal-black;flex:0 0 calc(33.33333% - 1rem);max-width:calc(33.33333% - 1rem)}@media(max-width:991.98px){.dps-home-unauth-apis-libraries .dps-home-unauth-apis-libraries-cards dps-card-apis-and-libraries-card{flex:0 0 calc(50% - 0.75rem);max-width:calc(50% - .75rem)}}@media(max-width:767.98px){.dps-home-unauth-apis-libraries .dps-home-unauth-apis-libraries-cards dps-card-apis-and-libraries-card{flex:0 0 100%;max-width:100%}}@media(max-width:1199.98px){.dps-home-unauth-apis-libraries{align-items:unset}.dps-home-unauth-apis-libraries h2{text-align:left}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/highlight.js/styles/agate.css\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../images/icons/build-agent-sparkle-left.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"../../images/icons/build-agent-sparkle-right.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}code.hljs{padding:1rem}aside,b,dd,div,dl,dt,em,i,li,ol,p,strong,ul{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;line-height:1.5rem}aside,dd,div,dl,dt,li,ol,p,ul{font-weight:400}a em{color:#00718f}strong,strong em{font-family:ServiceNowSans-Medium;font-weight:500}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem;line-height:1.1;line-height:1.3125rem;margin:2rem 0}h1,h2{color:#1d1d1d;font-size:1.75rem;font-weight:400;font-weight:500}h2{font-family:ServiceNowSans-Regular;font-family:ServiceNowSans-Medium;font-size:1.5rem;line-height:1.1;line-height:2.25rem;margin-bottom:.75rem 0}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400;margin-bottom:.5rem 0}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400;margin-bottom:.5rem 0}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal}blockquote,code,img,ol,p,pre,ul{margin:.75rem 0}img{max-width:100%}pre{margin-bottom:1.5rem;margin-top:.75rem}div+h1,div+h2,div+h3,div+h4,div+h5,div+h6,img+h1,img+h2,img+h3,img+h4,img+h5,img+h6,p+h1,p+h2,p+h3,p+h4,p+h5,p+h6,ul+h1,ul+h2,ul+h3,ul+h4,ul+h5,ul+h6{margin-top:2rem}b,strong{font-weight:500}b,code,strong{letter-spacing:.02em}code{background-color:#e8e8e9;border:1px solid #d0d2d3;border-radius:.25rem;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5}code b,code strong{font-weight:500}pre code{background-color:transparent;border:none;border-radius:0}.sm,small{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}.sm code,small code{font-size:80%}.lg,.xl{font-family:ServiceNowSans-Regular;font-size:1.3125rem;font-weight:400;line-height:1.5}.lg code,.xl code{font-size:80%}.xl{font-size:1.5rem;line-height:1.5}.dps-caption,.dps-label{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}a:not(.dps-link):not(.dps-button):not(.dps-card-click){border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal;margin:-.125rem;padding:0 .125rem;position:relative;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:normal}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus:not(:focus-visible){box-shadow:none;outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):hover{color:#024f69;text-decoration:underline;-webkit-text-decoration-color:#024f69;text-decoration-color:#024f69}a:not(.dps-link):not(.dps-button):not(.dps-card-click):active{color:#032d42;text-decoration:underline;-webkit-text-decoration-color:#032d42;text-decoration-color:#032d42}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}.do-dont-images{column-gap:1rem;display:grid;grid-auto-flow:column;grid-template-rows:1fr auto}@media screen and (max-width:767.98px){.do-dont-images{display:block}}.do-dont-images figcaption,.do-dont-images figure{margin:0;padding:0}.do-dont-images img{margin:0;max-width:100%;padding:0}.do-dont-images figure{background-color:#f7f7f7;border-top:5px solid;margin-top:2rem;padding:1rem;position:relative}.do-dont-images figcaption{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;font-style:italic;line-height:1.5;margin-bottom:0;margin-left:0;margin-right:0;margin-top:.5rem;max-width:100%;text-align:left}.do-dont-images .img-do h5,.do-dont-images .img-dont h5{font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;left:0;line-height:1.75;margin:0;padding:0;position:absolute;top:-2rem}.do-dont-images .img-dont{border-color:#fc726d}.do-dont-images .img-dont h5{color:#fc726d}.do-dont-images .img-do{border-color:#5cc4af}.do-dont-images .img-do h5{color:#5cc4af}.dps-reclaim-alert{--now-alert--font-family:ServiceNowSans-Light;--now-alert_header--font-family:ServiceNowSans-Medium;--now-alert_header--font-weight:500;--now-alert_header--warning--color:29,29,29}.dps-home-unauth-apis-libraries{align-items:center;display:flex;flex-direction:column;min-height:407px}@media(max-width:1024px){.dps-home-unauth-apis-libraries{min-height:auto}}.dps-home-unauth-apis-libraries .dps-build-agent-alert{align-items:stretch;display:flex;flex-direction:column;gap:.5rem;min-height:80px}@media(max-width:1024px){.dps-home-unauth-apis-libraries .dps-build-agent-alert{min-height:40px}}.dps-home-unauth-apis-libraries .dps-build-agent-alert.has-alert{min-height:80px}.dps-home-unauth-apis-libraries .dps-home-title{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2.5rem;max-width:874px;text-align:center;width:100%}@media(max-width:1024px){.dps-home-unauth-apis-libraries .dps-home-title{margin-bottom:2rem;max-width:872px}}@media(max-width:768px){.dps-home-unauth-apis-libraries .dps-home-title{max-width:704px}}@media(max-width:576px){.dps-home-unauth-apis-libraries .dps-home-title{gap:1rem;margin-bottom:1.5rem;max-width:528px}}@media(max-width:414px){.dps-home-unauth-apis-libraries .dps-home-title{max-width:382px}}.dps-home-unauth-apis-libraries .dps-home-title>div:not(.dps-home-title-badges){color:#63df4e;font-family:ServiceNowSans-Bold;font-size:3rem;letter-spacing:-.48px;line-height:3.3rem;margin:0}@media(max-width:768px){.dps-home-unauth-apis-libraries .dps-home-title>div:not(.dps-home-title-badges){margin:0 auto;max-width:654px}}@media(max-width:576px){.dps-home-unauth-apis-libraries .dps-home-title>div:not(.dps-home-title-badges){font-size:36px;letter-spacing:-.36px;line-height:2.5rem;max-width:480px}}@media(max-width:414px){.dps-home-unauth-apis-libraries .dps-home-title>div:not(.dps-home-title-badges){font-size:32px;letter-spacing:-.32px;line-height:2.25rem;max-width:none}}.dps-home-unauth-apis-libraries .dps-home-title>div:not(.dps-home-title-badges) span{color:#fff;font-family:ServiceNowSans-Bold;font-size:inherit;letter-spacing:inherit;line-height:inherit}.dps-home-unauth-apis-libraries .dps-home-title-badges{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;width:100%}.dps-home-unauth-apis-libraries .dps-home-title-badges .dps-home-title-badge{align-items:center;border-radius:12px;display:inline-flex;gap:.25rem;line-height:1;min-height:16px;padding:0 .25rem 0 .125rem}.dps-home-unauth-apis-libraries .dps-home-title-badges .dps-home-title-badge now-icon{--now-icon--scale-size:2;align-items:center;color:#eaebed;display:inline-flex;flex-shrink:0}.dps-home-unauth-apis-libraries .dps-home-title-badges .dps-home-title-badge .dps-badge-svg-icon{color:#eaebed;flex-shrink:0;height:12px;width:16px}.dps-home-unauth-apis-libraries .dps-home-title-badges .dps-home-title-badge>span{color:#eaebed;font-family:ServiceNowSans-Regular;font-size:20px!important;font-weight:400;letter-spacing:0;line-height:19px;white-space:nowrap}@media(max-width:576px){.dps-home-unauth-apis-libraries .dps-home-title-badges .dps-home-title-badge>span{font-size:16px!important}}.dps-home-unauth-apis-libraries .dps-build-agent-input-group{align-items:flex-start;background:#fff;border:1px solid #cfd5d7;border-radius:12px;display:flex;flex-direction:column;gap:.5rem;padding:.75rem;transition:opacity .3s ease;width:100%}.dps-home-unauth-apis-libraries .dps-build-agent-input-group.disabled{cursor:not-allowed;opacity:.25}.dps-home-unauth-apis-libraries .dps-build-agent-input-group .dps-build-agent-textarea{--now-form-field--font-family:ServiceNowSans-Light;border:none;color:#000;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5rem;outline:none;padding:0 .5rem;resize:none;width:100%}.dps-home-unauth-apis-libraries .dps-build-agent-input-group .dps-build-agent-textarea::-webkit-input-placeholder{color:#adadad;font-size:inherit}.dps-home-unauth-apis-libraries .dps-build-agent-input-group .dps-build-agent-textarea::placeholder{color:#adadad;font-size:inherit}.dps-home-unauth-apis-libraries .dps-build-agent-input-group .dps-build-agent-textarea-footer{align-items:center;display:flex;gap:1rem;height:32px;justify-content:flex-end;width:100%}.dps-home-unauth-apis-libraries .dps-build-agent-input-group .dps-build-agent-textarea-footer .dps-build-agent-status-info{align-items:center;display:flex;gap:4px}.dps-home-unauth-apis-libraries .dps-build-agent-input-group .dps-build-agent-textarea-footer .dps-build-agent-status-info now-icon{color:#007393}.dps-home-unauth-apis-libraries .dps-build-agent-input-group .dps-build-agent-textarea-footer .dps-build-agent-status-info span{color:#293e40;font-family:ServiceNowSans-Regular;font-size:16px;font-style:normal;font-weight:400;line-height:normal}.sparkle{background-repeat:no-repeat;background-size:contain;opacity:.65;position:absolute;z-index:1}@media(min-width:768px)and (max-width:1024px){.sparkle{opacity:.35}}@media(max-width:576px){.sparkle{opacity:0}}.sparkle-left{background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");background-position:0 0;height:195px;left:92px;top:116px;width:143px}@media(max-width:1024px){.sparkle-left{height:118px;left:50px;top:101px;width:86px}}@media(max-width:768px){.sparkle-left{height:88px;left:34px;top:96px;width:67px}}.sparkle-right{background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \");background-position:100% 0;height:189px;right:105px;top:61px;width:144px}@media(max-width:1024px){.sparkle-right{height:117px;right:64px;top:6px;width:89px}}@media(max-width:768px){.sparkle-right{height:88px;right:47px;top:61px;width:67px}}.center-card{position:relative;z-index:2}.dps-home-unauth-apis-libraries-cards{align-items:center;display:flex;flex-direction:column;gap:1rem;max-width:874px;width:100%}@media(max-width:1024px){.dps-home-unauth-apis-libraries-cards{max-width:872px}}@media(max-width:768px){.dps-home-unauth-apis-libraries-cards{max-width:704px}}@media(max-width:576px){.dps-home-unauth-apis-libraries-cards{max-width:528px}}@media(max-width:414px){.dps-home-unauth-apis-libraries-cards{max-width:382px}}.dps-home-unauth-apis-libraries-cards .waking-instance{align-items:center;color:#fca822;display:flex;gap:.25rem}.dps-home-unauth-apis-libraries-cards .waking-instance now-icon{color:#fca822}.dps-home-unauth-apis-libraries-cards .waking-instance p{font-family:ServiceNowSans-Book;font-size:.875rem}.upgrade-instance-message p{align-items:center;color:#cfd5d7;display:flex;font-size:.875rem;gap:.25rem;margin:0}.upgrade-instance-message p,.upgrade-instance-message p span{font-family:ServiceNowSans-Light}.suggested-prompt-container{align-items:center;display:flex;flex-direction:column;gap:1rem;width:100%}.suggested-prompt-container .suggested-prompt-label{color:hsla(0,0%,100%,.5);display:none;font-family:ServiceNowSans-Regular;font-size:1rem;font-style:italic;font-weight:400;line-height:2rem}.suggested-prompt-container .suggested-prompt-list{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:1rem;justify-content:center}@media(max-width:576px){.suggested-prompt-container .suggested-prompt-list{gap:.75rem}}.suggested-prompt-container .suggested-prompt-list .suggested-prompt{--now-button--scale-size-inline:3.5;--now-button_icon--tertiary--color:99,223,78;--now-button_icon--tertiary--color--hover:99,223,78;--now-button--scale-size:15;--now-button--scale-size-block:2.5;--now-button--tertiary--border-color:81,114,133;--now-button--tertiary--color:255,255,255;--now-color_text--primary:255,255,255;--now-color--neutral-18:255,255,255;--now-button--border-radius:8px;--now-button--tertiary--border-radius:8px;--now-button--tertiary--border-end-end-radius:8px;--now-button--tertiary--border-end-start-radius:8px;--now-button--tertiary--border-start-end-radius:8px;--now-button--tertiary--border-start-start-radius:8px;--now-button--tertiary--color--hover:255,255,255;--now-button--tertiary--border-color--hover:99,223,78;--now-button--tertiary--color--active:255,255,255;--now-button_icon--tertiary--color--active:99,223,78;--now-button--tertiary--background-color--active:#032d42;--now-button--tertiary--border-color--active:81,114,133;--now-button--font-weight:450;--now-button--font-family:ServiceNowSans-Book;border-radius:8px;display:flex;font-family:ServiceNowSans-Book;font-size:.75rem;font-style:normal;letter-spacing:-.439px;line-height:normal;text-align:left;white-space:nowrap;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.suggested-prompt-container .suggested-prompt-list .suggested-prompt:hover{cursor:pointer}.app-gallery-section{align-items:center;display:flex;flex-direction:column;justify-content:center;margin-left:auto;margin-right:auto;margin-top:3.75rem;max-width:874px;position:relative;width:100%;z-index:2}@media(max-width:1024px){.app-gallery-section{margin-top:2.5rem;max-width:872px}}@media(max-width:768px){.app-gallery-section{margin-top:2rem;max-width:704px}}@media(max-width:576px){.app-gallery-section{margin-top:36px;max-width:528px}}@media(max-width:414px){.app-gallery-section{max-width:382px}}.app-gallery-section .app-gallery-content{align-items:center;display:flex;flex-direction:column;gap:1rem;text-align:center;width:100%}.app-gallery-section .app-gallery-content .app-gallery-text{align-items:center;display:flex;flex-direction:column;gap:.625rem;width:100%}.app-gallery-section .app-gallery-content .app-gallery-title{color:#fff;font-family:ServiceNowSans-Regular;font-size:1.25rem;font-weight:400;letter-spacing:-.3125px;line-height:1.5rem;margin:0;white-space:nowrap}@media(max-width:768px){.app-gallery-section .app-gallery-content .app-gallery-title{letter-spacing:-.2px;line-height:22px}}@media(max-width:576px){.app-gallery-section .app-gallery-content .app-gallery-title{font-family:ServiceNowSans-Medium;font-size:1.125rem;font-weight:500;letter-spacing:-.18px;line-height:19.8px}}.app-gallery-section .app-gallery-content .app-gallery-button-container{align-items:center;display:flex;height:32px;justify-content:center;width:100%}.suggested-prompt-button{--now-button--font-family:ServiceNowSans-Book;--now-button--font-size:12px;--now-actionable--font-size--md:12px;--now-button--scale-size-block:2.5;--now-space--md1:5.7px}.app-gallery-cta{--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/highlight.js/styles/agate.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}code.hljs{padding:1rem}aside,b,dd,div,dl,dt,em,i,li,ol,p,strong,ul{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;line-height:1.5rem}aside,dd,div,dl,dt,li,ol,p,ul{font-weight:400}a em{color:#00718f}strong,strong em{font-family:ServiceNowSans-Medium;font-weight:500}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem;line-height:1.1;line-height:1.3125rem;margin:2rem 0}h1,h2{color:#1d1d1d;font-size:1.75rem;font-weight:400;font-weight:500}h2{font-family:ServiceNowSans-Regular;font-family:ServiceNowSans-Medium;font-size:1.5rem;line-height:1.1;line-height:2.25rem;margin-bottom:.75rem 0}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400;margin-bottom:.5rem 0}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400;margin-bottom:.5rem 0}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal}blockquote,code,img,ol,p,pre,ul{margin:.75rem 0}img{max-width:100%}pre{margin-bottom:1.5rem;margin-top:.75rem}div+h1,div+h2,div+h3,div+h4,div+h5,div+h6,img+h1,img+h2,img+h3,img+h4,img+h5,img+h6,p+h1,p+h2,p+h3,p+h4,p+h5,p+h6,ul+h1,ul+h2,ul+h3,ul+h4,ul+h5,ul+h6{margin-top:2rem}b,strong{font-weight:500}b,code,strong{letter-spacing:.02em}code{background-color:#e8e8e9;border:1px solid #d0d2d3;border-radius:.25rem;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5}code b,code strong{font-weight:500}pre code{background-color:transparent;border:none;border-radius:0}.sm,small{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}.sm code,small code{font-size:80%}.lg,.xl{font-family:ServiceNowSans-Regular;font-size:1.3125rem;font-weight:400;line-height:1.5}.lg code,.xl code{font-size:80%}.xl{font-size:1.5rem;line-height:1.5}.dps-caption,.dps-label{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}a:not(.dps-link):not(.dps-button):not(.dps-card-click){border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal;margin:-.125rem;padding:0 .125rem;position:relative;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:normal}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus:not(:focus-visible){box-shadow:none;outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):hover{color:#024f69;text-decoration:underline;-webkit-text-decoration-color:#024f69;text-decoration-color:#024f69}a:not(.dps-link):not(.dps-button):not(.dps-card-click):active{color:#032d42;text-decoration:underline;-webkit-text-decoration-color:#032d42;text-decoration-color:#032d42}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}.do-dont-images{column-gap:1rem;display:grid;grid-auto-flow:column;grid-template-rows:1fr auto}@media screen and (max-width:767.98px){.do-dont-images{display:block}}.do-dont-images figcaption,.do-dont-images figure{margin:0;padding:0}.do-dont-images img{margin:0;max-width:100%;padding:0}.do-dont-images figure{background-color:#f7f7f7;border-top:5px solid;margin-top:2rem;padding:1rem;position:relative}.do-dont-images figcaption{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;font-style:italic;line-height:1.5;margin-bottom:0;margin-left:0;margin-right:0;margin-top:.5rem;max-width:100%;text-align:left}.do-dont-images .img-do h5,.do-dont-images .img-dont h5{font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;left:0;line-height:1.75;margin:0;padding:0;position:absolute;top:-2rem}.do-dont-images .img-dont{border-color:#fc726d}.do-dont-images .img-dont h5{color:#fc726d}.do-dont-images .img-do{border-color:#5cc4af}.do-dont-images .img-do h5{color:#5cc4af}.card{background:#fff;border:1px solid #e3e3e3;border-radius:.625rem;box-sizing:border-box;display:flex;flex-direction:column;gap:1rem;opacity:1;padding:1rem;transition:transform .2s ease-in-out;width:27.3125rem}.card:hover{transform:translateY(-4px)}@media(max-width:1199.98px){.card{width:19rem}}@media(max-width:991.98px){.card{width:auto}}.card-image{border-radius:.5rem;height:8.8125rem;margin:unset;object-fit:cover;width:100%}.card-content{display:flex;flex-direction:column;text-align:left}.card-content .card-title{color:#10171a;font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;line-height:1.1}@media(max-width:1199.98px){.card-content .card-title{min-height:2.25rem}}@media(max-width:991.98px){.card-content .card-title{min-height:auto}}.card-content .card-description,.card-content .card-title{margin:unset}.card-content .card-text{display:flex;flex-direction:column;gap:.1875rem;margin-bottom:0}.card-content .card-description{-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#37444a;display:-webkit-box;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.1;overflow:hidden;text-overflow:ellipsis;width:90%}@media(max-width:1199.98px){.card-content .card-description{line-height:1.2;text-overflow:ellipsis;width:100%}}@media(max-width:991.98px){.card-content .card-description{width:90%}}.card-link{align-items:center;box-shadow:none!important;color:#032d42!important;cursor:pointer;display:flex!important;font-family:ServiceNowSans-Book;gap:.75rem;margin-top:.5rem;text-decoration:none}now-button{--now-button--bare--color:#032d42;--now-button--bare--font-size:1rem;--now-button--bare--font-weight:450}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-button{align-items:center;border:none;color:inherit;cursor:pointer;display:inline-flex;font-family:ServiceNowSans-Book;font-size:1rem;font-weight:400;justify-content:center;letter-spacing:.01em;line-height:1.1;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),border .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:nowrap;width:inherit}.dps-button:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-button:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:active{color:currentColor}.dps-button.is-disabled,.dps-button:disabled{cursor:not-allowed}.dps-button.-primary{background:var(--dps-button-primary-bg,#62d84e);border:2px solid var(--dps-button-primary-border-color,#62d84e);border-radius:.5rem;color:#1d1d1d;font-family:ServiceNowSans-Book}.dps-button.-primary:hover{background:#62d84e;border-color:var(--dps-button-primary-hover-border-color,#62d84e);color:var(--dps-button-primary-hover-color,#1d1d1d)}.dps-button.-primary.is-disabled,.dps-button.-primary:disabled{background:#b9bbbd}.dps-button.-primary svg{fill:#fff}.dps-button.-primary-inverse{background:#62d84e;border:2px solid #62d84e;border-radius:.5rem;color:#000;font-family:ServiceNowSans-Book}.dps-button.-primary-inverse:hover{background:#fff}.dps-button.-primary-inverse.is-disabled,.dps-button.-primary-inverse:disabled{background:#8a8e91}.dps-button.-primary-inverse svg{fill:#62d84e}.dps-button.-secondary{background:var(--dps-button-secondary-bg,#fff);border:var(--dps-button-secondary-border-width,2px) solid var(--dps-button-secondary-border-color,#62d84e);border-radius:.5rem;color:var(--dps-button-secondary-color,#1d1d1d);font-family:ServiceNowSans-Book;font-size:1rem}.dps-button.-secondary:hover{background:var(--dps-button-secondary-hover-bg,#62d84e);border-color:var(--dps-button-secondary-hover-border-color,#62d84e);box-shadow:var(--dps-button-secondar-hover-box-shadow);color:var(--dps-button-secondary-hover-color,#000)}.dps-button.-secondary:hover svg{fill:#fff}.dps-button.-secondary.is-bare{color:#032d42;font-family:ServiceNowSans-Book;font-size:1rem;line-height:normal}.dps-button.-secondary.is-disabled,.dps-button.-secondary:disabled{background:transparent;border-color:#b9bbbd;color:#b9bbbd}.dps-button.-secondary svg{fill:#1d1d1d}.dps-button.-secondary-inverse{background:#fff;border:2px solid #62d84e;border-radius:.5rem}.dps-button.-secondary-inverse:hover{background:#62d84e;border-color:#62d84e}.dps-button.-secondary-inverse:hover svg{fill:#62d84e}.dps-button.-secondary-inverse.is-disabled,.dps-button.-secondary-inverse:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-secondary-inverse svg{fill:#d0d2d3}.dps-button.-round{background:#01778e;border-radius:1.5rem;color:#fff;height:2.625rem;min-width:12.1875rem}.dps-button.-round.is-disabled,.dps-button.-round:disabled{background:transparent;border:1px solid #b9bbbd;color:#b9bbbd}.dps-button.-secondary-light{background:transparent;border:2px solid #fff;color:#fff}.dps-button.-secondary-light:hover{background:#fff;border-color:#fff;color:#293e40}.dps-button.-secondary-light.is-disabled,.dps-button.-secondary-light:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-destructive{background:#ca5b57;color:#fff}.dps-button.-destructive:hover{background:#fc726d}.dps-button.-destructive.is-disabled,.dps-button.-destructive:disabled{background:#fdaaa7}.dps-button.-sm{color:#000;font-family:ServiceNowSans-Book;font-size:1rem;gap:.125rem;height:auto;min-height:2rem;padding:.375rem 1rem}.dps-button.-sm.only-icon{padding:0;width:2rem}.dps-button.-sm.has-button-and-icon now-icon{width:2rem}.dps-button.-md{height:2.625rem;padding:0 1.5rem}.dps-button.-md.only-icon{padding:0;width:2.625rem}.dps-button.-md.has-button-and-icon now-icon{width:2.625rem}.dps-button.-lg{height:3.125rem;padding:0 2rem}.dps-button.-lg.only-icon{padding:0;width:3.125rem}.dps-button.-lg.has-button-and-icon now-icon{width:3.125rem}.dps-button.is-bare{background:transparent;border:none;color:#546566}.dps-button.is-bare:hover{background:transparent;border:none;color:#293e40}.dps-button.is-bare:hover svg{fill:#293e40}.dps-button.is-bare svg{fill:#546566}.dps-button.has-action now-icon{transition:transform .3s cubic-bezier(.075,.82,.165,1)}.dps-button.has-action:hover now-icon{transform:translateX(.125rem)}.dps-button.has-action:hover.-external-action now-icon{transform:translateX(1px) translateY(-1px)}.dps-button.is-white{color:#fff}.dps-button.-round-edge{border-radius:.5rem;height:auto;padding:.5rem 1rem}.dps-button-label+now-icon,.dps-button-label+svg{margin-left:.5rem}.dps-button-label+svg.-sm{height:.75rem;width:.75rem}.dps-button-label+svg.-md{height:1rem;width:1rem}.dps-button-label+svg.-lg{height:1.5rem;width:1.5rem}.dps-button-label+svg.-xl{height:2rem;width:2rem}.card{background-color:#fff;border:1px solid #e3e3e3;border-radius:.75rem;box-shadow:0 2px 5px rgba(0,0,0,.1);width:100%}.image{border-radius:.375rem;width:100%}.development-journy .image{height:11rem;object-fit:cover}.title{font-family:ServiceNowSans-Medium;font-weight:500}.description,.title{color:#1d1d1d;font-size:1rem}.description{-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;display:-webkit-box;font-family:ServiceNowSans-Light;overflow:hidden}.card-link{align-items:center;color:#032d42!important;cursor:pointer;gap:.75rem}.card-link,.link{display:flex;font-family:ServiceNowSans-Book;margin-top:.5rem;text-decoration:none}.link{color:#02506b;font-size:1rem;gap:.1rem;padding:.375rem 0 .375rem 0}.card-content{margin:.75rem 1rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/highlight.js/styles/agate.css\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../images/citizen-dev-header-puzzle.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}code.hljs{padding:1rem}aside,b,dd,div,dl,dt,em,i,li,ol,p,strong,ul{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;line-height:1.5rem}aside,dd,div,dl,dt,li,ol,p,ul{font-weight:400}a em{color:#00718f}strong,strong em{font-family:ServiceNowSans-Medium;font-weight:500}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem;line-height:1.1;line-height:1.3125rem;margin:2rem 0}h1,h2{color:#1d1d1d;font-size:1.75rem;font-weight:400;font-weight:500}h2{font-family:ServiceNowSans-Regular;font-family:ServiceNowSans-Medium;font-size:1.5rem;line-height:1.1;line-height:2.25rem;margin-bottom:.75rem 0}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400;margin-bottom:.5rem 0}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400;margin-bottom:.5rem 0}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal}blockquote,code,img,ol,p,pre,ul{margin:.75rem 0}img{max-width:100%}pre{margin-bottom:1.5rem;margin-top:.75rem}div+h1,div+h2,div+h3,div+h4,div+h5,div+h6,img+h1,img+h2,img+h3,img+h4,img+h5,img+h6,p+h1,p+h2,p+h3,p+h4,p+h5,p+h6,ul+h1,ul+h2,ul+h3,ul+h4,ul+h5,ul+h6{margin-top:2rem}b,strong{font-weight:500}b,code,strong{letter-spacing:.02em}code{background-color:#e8e8e9;border:1px solid #d0d2d3;border-radius:.25rem;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5}code b,code strong{font-weight:500}pre code{background-color:transparent;border:none;border-radius:0}.sm,small{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}.sm code,small code{font-size:80%}.lg,.xl{font-family:ServiceNowSans-Regular;font-size:1.3125rem;font-weight:400;line-height:1.5}.lg code,.xl code{font-size:80%}.xl{font-size:1.5rem;line-height:1.5}.dps-caption,.dps-label{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}a:not(.dps-link):not(.dps-button):not(.dps-card-click){border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal;margin:-.125rem;padding:0 .125rem;position:relative;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:normal}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus:not(:focus-visible){box-shadow:none;outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):hover{color:#024f69;text-decoration:underline;-webkit-text-decoration-color:#024f69;text-decoration-color:#024f69}a:not(.dps-link):not(.dps-button):not(.dps-card-click):active{color:#032d42;text-decoration:underline;-webkit-text-decoration-color:#032d42;text-decoration-color:#032d42}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}.do-dont-images{column-gap:1rem;display:grid;grid-auto-flow:column;grid-template-rows:1fr auto}@media screen and (max-width:767.98px){.do-dont-images{display:block}}.do-dont-images figcaption,.do-dont-images figure{margin:0;padding:0}.do-dont-images img{margin:0;max-width:100%;padding:0}.do-dont-images figure{background-color:#f7f7f7;border-top:5px solid;margin-top:2rem;padding:1rem;position:relative}.do-dont-images figcaption{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;font-style:italic;line-height:1.5;margin-bottom:0;margin-left:0;margin-right:0;margin-top:.5rem;max-width:100%;text-align:left}.do-dont-images .img-do h5,.do-dont-images .img-dont h5{font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;left:0;line-height:1.75;margin:0;padding:0;position:absolute;top:-2rem}.do-dont-images .img-dont{border-color:#fc726d}.do-dont-images .img-dont h5{color:#fc726d}.do-dont-images .img-do{border-color:#5cc4af}.do-dont-images .img-do h5{color:#5cc4af}:host{display:block}.behavior-is-not-in-viewport,.behavior-not-yet-in-viewport{opacity:0;transform:translateY(3rem)}.behavior-is-in-viewport{opacity:1;transform:translate(0);transition:opacity .5s ease .13s,transform .5s ease .13s}.section-block header{text-align:center}.section-block header p{font-size:1.3125rem;line-height:1.5}.section-block-content{margin:0 auto;max-width:90rem;position:relative;width:100%}@media(max-width:991.98px){.section-block-content{padding-left:1rem;padding-right:1rem}}header.ruled-header{position:relative}header.ruled-header:before{background-color:#d0d2d3;content:\\\"\\\";display:block;height:1px;left:1rem;position:absolute;right:1rem;top:58%;z-index:10}@media(max-width:991.98px){header.ruled-header:before{left:0;right:0}}header.ruled-header h6{background-color:#fff;display:inline-block;margin:3.125rem 0 2rem;padding:0 1.7em;position:relative;z-index:20}.build-first-app{background-color:#fff;background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");background-position:calc(50% - 378px) 100%;background-repeat:no-repeat;padding:4.5rem 0 3.125rem}.build-first-app header h1{margin-top:0}.build-first-app header h1,.build-first-app header p{margin-bottom:1.5rem}@media(max-width:991.98px){.build-first-app{background-position:50% 100%;background-size:54%;padding-bottom:42%;padding-top:2.5rem}.build-first-app header{text-align:left}.build-first-app br{display:none}}.build-apps-fast{background-color:#e1ecef;padding:2rem 0 3.625rem}.build-apps-fast header{margin-bottom:2.5rem;transition-delay:.26s}.build-apps-fast h2{font-family:ServiceNowSans-Light}.build-apps-fast .build-apps-fast-blocks{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-auto-rows:1fr;grid-template-columns:repeat(2,1fr);grid-template-rows:none;margin:0 auto;margin-bottom:4rem;max-width:71.25rem;padding:0 2rem;text-align:center;transition-delay:.39s}.build-apps-fast .build-apps-fast-blocks>*{background-color:#fff;border-radius:.25rem;height:100%;padding:3.375rem}.build-apps-fast .build-apps-fast-blocks>* img{display:inline-block;margin:0}.build-apps-fast .build-apps-fast-blocks>* h3{margin-bottom:.75rem;margin-top:1rem}.build-apps-fast .build-apps-fast-blocks>* p{margin-bottom:0}@media(max-width:991.98px){.build-apps-fast .build-apps-fast-blocks{grid-gap:0;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none;max-width:33.75rem;padding:0;row-gap:1.5rem}}.build-apps-fast .happy-customers{transition-delay:.78s}.build-apps-fast .happy-customers h5{color:#474d52;font-size:.8125rem;text-align:center;text-transform:uppercase}.build-apps-fast .happy-customers .customer-logos{text-align:center}.build-apps-fast .happy-customers .customer-logos img{display:inline-block;margin:0 1.25rem .75rem;vertical-align:middle}@media(max-width:767.98px){.build-apps-fast .happy-customers .customer-logos img{max-width:20vw}}#no-code-apps-block{transition-delay:.26s}#citizen-developer-guide-block{transition-delay:.52s}.customers-like-you{overflow:hidden;padding-bottom:2.5rem}.customers-like-you .section-block-content{max-width:85rem}.customers-like-you .cards{column-gap:2rem;display:grid;grid-template-columns:repeat(4,1fr);padding:0 1rem}@media(max-width:991.98px){.customers-like-you .cards{column-gap:1.5rem;grid-template-columns:repeat(2,1fr);padding:0;row-gap:1.5rem}}@media(max-width:767.98px){.customers-like-you .cards{grid-template-columns:repeat(1,1fr)}}.builder-youtube-channel{background-color:#e6f0ec;padding:3.125rem 0 3.9375rem}.builder-youtube-channel header h2{margin-top:0}.builder-youtube-channel header p{margin-bottom:3.5rem}.builder-youtube-channel .video-wrapper{margin:0 auto;max-width:768px}.builder-youtube-channel .video-wrapper .video-intrinsic-width{height:0;overflow:hidden;padding-top:56.25%;position:relative;width:100%}.builder-youtube-channel .video-wrapper iframe{border:0;bottom:0;left:0;position:absolute;right:0;top:0}.discover-more-ways{padding-bottom:2.5rem}.discover-more-ways .build-fast-resources{grid-gap:9.0625rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none;margin:.5rem auto 0;max-width:71.25rem;padding:0 2rem}.discover-more-ways .build-fast-resources>div{display:flex}.discover-more-ways .build-fast-resources>div img{display:inline-block;height:13.9375rem;margin:0;width:9rem}.discover-more-ways .build-fast-resources>div h3{margin-top:0}.discover-more-ways .build-fast-resources>div .resource-copy{flex:1;padding-left:1.5rem}@media(max-width:991.98px){.discover-more-ways .build-fast-resources{grid-gap:1fr;align-items:start;display:grid;gap:2rem;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none;padding:0}.discover-more-ways .build-fast-resources>div{margin-left:auto;margin-right:auto;max-width:34.375rem}}.start-building{background-color:#546566;color:#fff;padding:5rem 0 0}.start-building .section-block-content{max-width:71.25rem}.start-building h2{font-family:ServiceNowSans-Medium;font-size:2.375rem;font-weight:400;line-height:1.1;margin-bottom:2rem 0}.start-building p{font-size:1.3125rem;line-height:1.5}.start-building dps-link{margin-top:.75rem}.start-building .start-building-grid{grid-gap:2.3125rem;display:grid;grid-auto-rows:auto;grid-template-columns:minmax(19.125rem,2fr) 5fr;grid-template-rows:none}.start-building .start-building-grid :first-child{display:block;margin:0;margin-left:auto}@media(max-width:991.98px){.start-building{padding-top:2.5rem}.start-building .section-block-content{max-width:40rem}.start-building .start-building-grid{grid-gap:1fr;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}.start-building .start-building-grid :first-child{margin:0 auto;order:10}.start-building .start-building-grid :last-child{order:-10}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block;min-height:inherit}.dps-component-gallery{padding-bottom:5rem}.dps-component-gallery-results-list{grid-gap:1rem;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;max-width:90rem;padding:0;position:relative;transition:all .3s}@media(max-width:1439.98px){.dps-component-gallery-results-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1199.98px){.dps-component-gallery-results-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767.98px){.dps-component-gallery-results-list{grid-template-columns:minmax(0,1fr)}}.dps-component-gallery-search-results{margin:0 auto;max-width:90rem;padding:2.5rem 2.5rem 0 2rem}.dps-component-gallery-search-results h2{font-family:ServiceNowSans-Regular;font-size:1.75rem;font-weight:400;line-height:1.1}@media(max-width:1103.98px){.dps-component-gallery-sidebar{margin-top:0}}.dps-component-gallery-sidebar .sidebar-group{margin-bottom:.5rem}.dps-component-gallery-sidebar .search-wrapper{align-items:center;display:flex;gap:.5rem;height:2rem;margin-bottom:1.5rem;margin-top:1rem}.dps-component-gallery-sidebar dps-input{flex:1;min-width:0}.dps-component-gallery-sidebar .sidebar-nav-item{margin-left:1rem;margin-right:1rem}.dps-component-gallery-sidebar .sidebar-nav-item.active{background-color:#f4fcf2;border-color:#63df4e;border-left:2.2px solid #63df4e}.dps-component-gallery-sidebar .sidebar-nav-item a{align-items:center;color:#1d1d1d;display:flex;font-family:ServiceNowSans-Book;font-size:1.25rem;height:100%;line-height:1.3125rem;min-height:2.5rem;padding:.5rem .55rem;text-decoration:none;width:100%}.dps-component-gallery-sidebar .filter-group{padding:1rem 1rem}.dps-component-gallery-sidebar .filter-count{align-items:center;display:flex;font-family:ServiceNowSans-Regular;font-size:.875rem;letter-spacing:.55px;line-height:1.03125rem;margin-bottom:1.5rem;padding-top:.625rem;text-transform:uppercase}.dps-component-gallery-sidebar .filter-count img{margin-right:.5rem}.dps-component-gallery-sidebar .filter-count span{color:#1d1d1d}.dps-component-gallery-sidebar .filter-count button{background-color:transparent;border:none;cursor:pointer;font-family:ServiceNowSans-Book;font-size:.8125rem;margin-left:auto;text-decoration:underline}.dps-component-gallery-sidebar .filter-count .reset{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:.875rem;letter-spacing:.55px;line-height:16.5px;text-decoration:underline}.filter-sections{margin-top:.625rem}.filter-sections dps-component-filter-section{border-bottom:1px solid #cfd5d7}.filter-sections dps-component-filter-section:first-child{border-top:1px solid #cfd5d7}.filter-sections dps-component-filter-section:last-child{border-bottom:1px solid #cfd5d7}.filter-list-section{padding-bottom:.8125rem;padding-top:1.5rem}.filter-list-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:0;padding:0;padding-right:1.25rem}.filter-list-header.-is-open{margin-bottom:.75rem}.filter-list-header div{align-items:center;display:flex;gap:.5rem;justify-content:flex-end}.filter-list-header div button{background-color:transparent;border:none;cursor:pointer;font-size:.8125rem}.filter-list-header div .reset{text-decoration:underline}.filter-list-header h4{color:#1d1d1d;flex:1;font-family:ServiceNowSans-Book;font-size:1rem;font-weight:400;line-height:normal;margin:0}.filter-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0 0 0 1.25rem}.filter-list li{margin:0;padding:0}.filter-list li dps-checkbox{display:flex;gap:.5rem}.dps-component-gallery-content>*{padding-left:10px}.dps-component-gallery-content .search-view-controls{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:.625rem;margin-top:.625rem;min-height:3.125rem;text-transform:uppercase}.dps-component-gallery-content .search-view-controls div{align-items:center;color:#1d1d1d;display:flex;flex-direction:row;font-family:ServiceNowSans-Light;font-size:.875rem;letter-spacing:.3px;line-height:18px}.dps-component-gallery-content .search-view-controls div:first-child{margin-right:.5rem}.dps-component-gallery-content .search-view-controls button{background:transparent;border:none;box-shadow:none;color:#1d1d1d;cursor:pointer;font-family:ServiceNowSans-Medium;font-size:.75rem;font-weight:500;line-height:18px;padding:0;text-transform:uppercase}.dps-component-gallery-content .search-view-controls button.inactive{color:#1d1d1d}.dps-component-gallery-content .search-view-controls button:disabled{color:#1d1d1d;cursor:not-allowed}.dps-component-gallery-content .search-view-controls button:disabled .text{border-bottom:2px solid transparent}.dps-component-gallery-content .search-view-controls .divider{border-right:1px solid #293e40;display:inline-block;height:.75rem;margin:0 .5rem;width:0}.dps-component-gallery-header{background-color:#f7f7f7;display:flex;flex-direction:column;justify-content:center;min-height:10.5rem;padding-left:2.5rem;padding-right:2.5rem}.dps-component-gallery-header>*{max-width:34.375rem}.dps-component-gallery-header .title{color:#1d1d1d!important;font-family:ServiceNowSans-Medium!important;font-family:ServiceNowSans-Medium;font-size:2rem!important;font-size:2.375rem;font-weight:500!important;font-weight:400;letter-spacing:-.02rem!important;line-height:2.5rem!important;line-height:1.1;margin:0 0 .9375rem}@media(max-width:991.98px){.dps-component-gallery-header .title{font-family:ServiceNowSans-Regular;font-size:1.75rem;font-weight:400;line-height:1.1}}.dps-component-gallery-header .sub-title{color:#1d1d1d;font-family:ServiceNowSans-Light!important;font-family:ServiceNowSans-Light;font-size:1rem!important;font-size:1.75rem;line-height:1.625rem!important;line-height:1.4;margin:0}@media(max-width:991.98px){.dps-component-gallery-header .sub-title{font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}}.loading{background-color:hsla(0,0%,99%,.75);height:100%;left:0;padding:2.5rem 0 0;position:absolute;top:-.75rem;width:100%}.no-results{padding-top:3em;text-align:center}.no-results>img{display:block;margin:0 auto 2.4em;max-width:100%;width:350px}.no-results>h3{font-family:ServiceNowSans-Regular;font-size:1.3125rem;margin:0 auto 1.2em}.no-results>p{color:#6e7274;font-size:1rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{background:#fcfcfc;display:block;min-height:inherit}.dps-component-gallery{padding-bottom:5rem;padding-top:3.125rem}@media(max-width:575.98px){.dps-component-gallery{padding-top:2.1875rem}}.dps-component-gallery-results-footer{height:3.125rem}.dps-component-gallery-heading{padding-top:1.6875rem;text-align:center}.dps-component-gallery-heading h1{font-family:ServiceNowSans-Medium;font-size:2.375rem;font-weight:400;line-height:1.1;margin:0 0 .5rem}@media(max-width:575.98px){.dps-component-gallery-heading h1{font-size:1.3125rem}}.dps-component-gallery-heading p{margin:0}.dps-component-gallery-heading p>sup{font-size:1rem;vertical-align:.25rem}.dps-component-gallery-list{transition:all .3s}.dps-component-gallery-list,.dps-component-gallery-search-results{margin:0 auto;max-width:90rem;padding:2.5rem 2.5rem 0 2rem}.dps-component-gallery-search-results h2{font-family:ServiceNowSans-Regular;font-size:1.75rem;font-weight:400;line-height:1.1}.dps-component-gallery-search-results ul{grid-gap:16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0}@media(max-width:1439.98px){.dps-component-gallery-search-results ul{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1199.98px){.dps-component-gallery-search-results ul{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767.98px){.dps-component-gallery-search-results ul{grid-template-columns:1fr}}dps-breadcrumb{position:fixed;top:var(--dps-global-header-height);z-index:1001}.is-stuck dps-breadcrumb{background-color:#fff}@media(max-width:991.98px){dps-breadcrumb{top:65px}}@media(max-width:575.98px){dps-category-section:not(:first-child){margin-top:2rem}}dps-inline-version-selector{margin:0 auto;max-width:90rem;padding:0 2.5rem}@media(max-width:575.98px){dps-inline-version-selector{padding-left:1.25rem}#description{line-height:1.5}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../images/guide-dev-account-signup-cta.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"../../images/connect-chat.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{width:100%}.dps-overview{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;position:relative;width:100%}.dps-overview-section{padding:var(--dps-overview-section-learning-plans-padding,6.25rem 0);position:relative;width:100%}@media(max-width:991.98px){.dps-overview-section{padding:2rem 0}}.dps-overview-section.-centered .dps-overview-section-header{justify-content:center}.dps-overview-section.-centered .dps-overview-section-content{text-align:center}.dps-overview-section.-centered p{margin:0 auto 1.5rem}.dps-overview-section.-inverse{background-color:var(--dps-theme-inverse-background-color,#293e40);color:var(--dps-overview-section-font-color,#fff)}.dps-overview-section.-inverse .dps-overview-section-content{gap:1.5rem;margin:var(--dps-overview-section-learning-plans-content-margin);padding-left:0}.dps-overview-section.-inverse .dps-overview-section-content>p{color:var(--dps-overview-section-font-color,#fff);font-family:ServiceNowSans-Light;font-size:var(--dps-overview-section-learning-plans-description-font-size,1rem);line-height:var(--dps-overview-section-learning-plans-description-line-height,1.5);max-width:100%}.dps-overview-section.-inverse .dps-overview-section-header{color:var(--dps-overview-section-learning-plans-header-color,#fff);font-family:ServiceNowSans-Medium;font-size:28px;font-weight:500}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-subheader{color:var(--dps-create-account-subheader-color,#293e40);font-family:ServiceNowSansMono-Regular;font-size:var(--dps-create-account-subheader-font-size,.8125rem);line-height:var(--dps-create-account-subheader-line-height,1.1);margin:var(--dps-create-account-subheader-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-header{color:var(--dps-create-account-header-color,#474d52);font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500;letter-spacing:normal;line-height:1.925rem;margin:var(--dps-create-account-header-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content>p{color:#474d52;font-family:ServiceNowSans-Light;font-size:var(--dps-create-account-description-font-size,1rem);line-height:1.5rem;margin:0;max-width:100%}.dps-overview-section.-highlight{background-color:#f7f7f7}.dps-overview-section.-overview{background-color:#f7f7f7;font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}@media(max-width:991.98px){.dps-overview-section.-overview{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5}}.dps-overview-section.-overview p{margin:0 auto;max-width:46.375rem;text-align:left}.dps-overview-section.-overview p+p{margin-top:1.5rem}.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-two-col .dps-overview-section-content>img{margin:0 auto}@media(max-width:1199.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}@media(max-width:767.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-three-col .dps-overview-section-content>div{align-self:start}.dps-overview-section.-callout{align-items:center;background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");background-position:calc(50% + 275px) calc(100% - 2px);display:flex;height:37rem;overflow:hidden;position:relative}.dps-overview-section.-callout h2+p{font-size:1.3125rem;margin-bottom:4rem}@media(max-width:991.98px){.dps-overview-section.-callout{background-image:none;height:auto}}.dps-overview-section.-callout .dps-overview-section-header{margin-bottom:1.5rem;padding-bottom:calc(1rem + 4px)}.dps-overview-section.-callout .dps-overview-section-header:before{background-color:#fff;bottom:0}.dps-overview-section .-large{font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}.dps-overview-section img{max-width:100%}.dps-overview-section>p,.dps-overview-section>ul{margin:0 0 1.5rem;position:relative}.dps-overview-section>p{font-family:ServiceNowSans-Light;font-size:18px;max-width:37.5rem}.dps-overview-section ul{-webkit-margin-before:0;-webkit-padding-start:0;list-style-type:none;margin-block-start:0;padding-inline-start:0}.dps-overview-section ul li{margin-bottom:.75rem;position:relative}.dps-overview-section ul li:last-child{margin-bottom:0}.dps-overview-section dps-card p,.dps-overview-section dps-card ul,.dps-overview-section dps-content-stack p,.dps-overview-section dps-content-stack ul{margin:0 0 .75rem}.dps-overview-section dps-card p:last-child,.dps-overview-section dps-card ul:last-child,.dps-overview-section dps-content-stack p:last-child,.dps-overview-section dps-content-stack ul:last-child{margin:0}.dps-overview-section-content{margin:0 auto;max-width:var(--dps-overview-section-content-max-width,90rem);position:relative;width:100%}@media(max-width:767.98px){.dps-overview-section-content{padding:0 1.5rem}}.dps-overview-section-content.-narrow{color:#000;max-width:70.625rem}.dps-overview-section-content.-narrow .dps-overview-section-header{margin-bottom:1.5rem}.dps-overview-section-content.-narrow p{font-size:1.125rem}@media(max-width:1199.98px){.dps-overview-section-content.-narrow{max-width:100%}}@media(max-width:767.98px){.dps-overview-section-content.-narrow{padding:0 1.5rem}}.dps-overview-section-content.now-experience-ui-framework,.dps-overview-section-content.using-now-cli{max-width:100%}.dps-overview-section-header{align-items:center;color:#474d52;display:flex;font-family:ServiceNowSans-Regular;font-size:1.75rem;font-weight:400;line-height:1.1;margin:0 0 1.5rem;position:relative}@media(max-width:991.98px){.dps-overview-section-header{font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5;margin:0 0 1rem}}.dps-overview-section-header img+span{padding-left:1rem}.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:575.98px){.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:767.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}}@media(max-width:575.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-no-header{border-top:1px solid #b9bbbd;margin-top:2.5rem}.table-links-category{color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0 0 .25rem 0}.table-links-title{color:#474d52;font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75;margin:0 0 .25rem 0}.table-links-description{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.1;margin:0 0 .75rem 0}.table-links h3{box-shadow:0 1px 0 0 #b9bbbd;color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0;padding:0 0 .5rem;position:relative;text-transform:uppercase}.table-links ul{list-style:none;margin:2.5rem 0 0;padding:0}ul.list-with-active-indicator{list-style:none;margin:0;padding:0}ul.list-with-active-indicator li{align-items:var(--dps-list-with-active-indicator-align-items,center);border-left:4px solid transparent;display:flex;flex-direction:row;height:var(--dps-list-with-active-indicator-height,inherit);justify-content:flex-start;margin:var(--dps-list-with-active-indicator-margin,inherit);padding-left:var(--dps-list-with-active-indicator-padding-left,1rem)}ul.list-with-active-indicator li a{background:none;color:#8a8e91;display:block;margin-top:-.5rem}ul.list-with-active-indicator li.active{border-left:4px solid #81b5a1}ul.list-with-active-indicator li.active a{color:#474d52;font-family:ServiceNowSans-Regular}ul.list-with-active-indicator .FPO{align-items:center;background-color:pink;display:flex;height:200px;justify-content:center}hr{background-color:#d0d2d3;border:none;height:1px}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem}h1,h2{font-weight:400;line-height:1.1}h2{font-family:ServiceNowSans-Regular;font-size:1.75rem}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}:host{display:block}dps-card-container{margin-top:2rem}.dps-overview-section.-related-parent{padding-bottom:0}.dps-overview-section.-related-child{padding-top:0}.dps-overview-section.-related-child h6{margin:0 0 1rem}@media(max-width:991.98px){.dps-overview-section.-related-child{padding-top:2rem}}.dps-overview-section.-callout{background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \");background-position:calc(50% + 400px);background-repeat:no-repeat;background-size:auto;font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5;padding:8.75rem 0}.dps-overview-section.-callout h2,.dps-overview-section.-callout p{max-width:32.5rem}@media(max-width:1199.98px){.dps-overview-section.-callout{background-position:calc(50% + 240px)}}@media(max-width:767.98px){.dps-overview-section.-callout{background-image:none}}.dps-overview-section.-callout .dps-overview-section-header{display:block}.dps-overview-section.-callout .dps-overview-section-header:before{background-color:#474d52;bottom:-1rem;content:\\\"\\\";height:.25rem;left:0;position:absolute;width:5rem}@media(max-width:991.98px){.dps-overview-section.-callout .dps-overview-section-header:before{bottom:-.75rem}}.event-details li{display:flex}.event-details .event-icon{fill:#68a1af;height:1.125rem;margin-right:.5rem;margin-top:.25rem;width:1.125rem}dps-card h3{margin-top:0}dps-card h3 a{color:#293e40;text-decoration:none}dps-spinner{grid-column:1/4}.dps-connect-overview-card-section{background-color:#f7f7f7}.dps-connect-overview-card-section .dps-overview-card{background-color:#fff;margin:0 auto 1.5rem;max-width:56.0625rem;width:56.0625rem}@media(max-width:1439.98px){.dps-connect-overview-card-section .dps-overview-card{width:80%}}@media(max-width:575.98px){.dps-connect-overview-card-section .dps-overview-card{max-width:21.0625rem}}.dps-connect-overview-card-section .dps-overview-section-columns{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none;max-width:70.625rem}@media(max-width:1439.98px){.dps-connect-overview-card-section .dps-overview-section-columns{grid-gap:1rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none;padding-bottom:2.5rem;padding-top:2.5625rem;width:100%}.dps-connect-overview-card-section .dps-overview-section-columns dps-content-stack img{width:100%}}@media(max-width:767.98px){.dps-connect-overview-card-section .dps-overview-section-columns{grid-gap:1rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-connect-overview-card-section .dps-overview-section-column{background-color:#fff;height:100%;padding:1.5rem}.dps-connect-overview-card-section .dps-overview-section-content{align-items:start;max-width:56.0625rem;padding:0}.dps-connect-overview-card-section .dps-overview-section-content dps-content-stack img{background-color:#9da6dc}.dps-connect-overview-card-section .dps-overview-section-content .dps-overview-section-columns{padding-bottom:40px;padding-top:41px}@media(max-width:767.98px){.dps-connect-overview-card-section .dps-overview-section-content{max-width:21.0625rem}.dps-connect-overview-card-section .dps-overview-section-content dps-content-stack img{height:100%;width:100%}}.dps-connect-overview-card-section .dps-overview-section-content.dps-overview-section-column-only-1 .dps-overview-section-columns-single{display:flex;justify-content:center;margin:0 auto;width:45%}@media(max-width:767.98px){.dps-connect-overview-card-section .dps-overview-section-content.dps-overview-section-column-only-1 .dps-overview-section-columns-single{width:100%}}.dps-connect-overview-card-section .dps-connect-overview-section-cards-description{color:#293e40;letter-spacing:0}.dps-connect-overview-card-section .dps-connect-overview-section-cards-title{font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5}@media(max-width:767.98px){.dps-connect-overview-card-section .dps-connect-overview-section-cards-title{font-family:ServiceNowSans-Regular;font-size:1rem}}.dps-connect-overview-card-section .dps-overview-section-feedback{align-items:start;margin:0 auto;max-width:56.0625rem;padding:0;text-align:left}@media(max-width:1439.98px){.dps-connect-overview-card-section .dps-overview-section-feedback{width:80%}}@media(max-width:575.98px){.dps-connect-overview-card-section .dps-overview-section-feedback{max-width:21.0625rem}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}dps-spinner{margin-top:2.5rem}.dps-course-details-hero{align-items:center;display:grid;gap:2.5rem;grid-template-columns:1fr auto;min-height:17.5rem;overflow:hidden;padding:3.75rem 3.0625rem;position:relative}@media(max-width:1199.98px){.dps-course-details-hero{gap:2rem;min-height:15rem;padding:3rem 2rem 3.75rem}}@media(max-width:991.98px){.dps-course-details-hero{gap:1.5rem;grid-template-columns:1fr;padding:2rem 1rem}}.dps-course-details-hero__background{align-items:flex-end;display:flex;inset:0;pointer-events:none;position:absolute;z-index:0}.dps-course-details-hero__content{display:flex;flex-direction:column;gap:.75rem;max-width:41.25rem;position:relative;z-index:1}@media(max-width:991.98px){.dps-course-details-hero__content{gap:.625rem}}.dps-course-details-hero__version-selector{margin-bottom:1.5rem}.dps-course-details-hero__version-selector dps-inline-version-selector{--dps-color-text-primary:#fff;--dps-icon-color:#fff}.dps-course-details-hero__modules-count{color:#fff;font-family:ServiceNowSansMono-Regular;font-size:.75rem;letter-spacing:.1em;margin:0;text-transform:uppercase}.dps-course-details-hero__title{color:#fff;font-family:ServiceNowSans-Book;font-size:2rem;letter-spacing:-.02rem;line-height:2.475rem;margin:0 0 .625rem 0}@media(max-width:1199.98px){.dps-course-details-hero__title{font-size:1.75rem}}@media(max-width:991.98px){.dps-course-details-hero__title{font-size:1.5rem}}.dps-course-details-hero__description{color:#fff;font-family:ServiceNowSans-Light;font-size:1.25rem;margin:0}@media(max-width:991.98px){.dps-course-details-hero__description{font-size:1.125rem}}.dps-course-details-hero__cta{align-self:flex-start;margin-top:1rem}.dps-course-details-hero__card{align-items:center;display:flex;justify-content:center;position:relative;z-index:1}@media(max-width:991.98px){.dps-course-details-hero__card{order:-1}}.dps-course-details-modules-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.3125rem;margin-top:2.5rem}.dps-course-details-modules-header h2{color:#1d1d1d;font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500;margin:0}.dps-course-details-modules-header now-button{flex-shrink:0}@media(max-width:1199.98px){.dps-course-details-modules-header now-button{display:none}}.dps-course-details-left-panel-heading{color:#0e0e0e;font-family:ServiceNowSans-Medium;font-size:1.125rem;font-weight:500;margin-right:1.5rem;margin-top:0}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h2,h3{color:#293e40;font-weight:400;margin-top:0}h2{font-family:ServiceNowSans-Regular;font-size:1.75rem;line-height:1.1}hr{border:none;border-bottom:1px solid #dadbdc;height:1px;margin:.625rem 0 1.5rem}.dps-course-details-left-panel-description{margin-right:1.5rem}.dps-course-details-left-panel-description,.dps-course-details-left-panel-description p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:.875rem}p{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5}dps-template-two-column{--dps-template-two-column-panel-padding:0 2.5rem 3.75rem 2rem}dps-collapsable-module-card:not(:last-of-type){display:block;margin-bottom:1.875rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/highlight.js/styles/agate.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}code.hljs{padding:1rem}aside,b,dd,div,dl,dt,em,i,li,ol,p,strong,ul{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;line-height:1.5rem}aside,dd,div,dl,dt,li,ol,p,ul{font-weight:400}a em{color:#00718f}strong,strong em{font-family:ServiceNowSans-Medium;font-weight:500}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem;line-height:1.1;line-height:1.3125rem;margin:2rem 0}h1,h2{color:#1d1d1d;font-size:1.75rem;font-weight:400;font-weight:500}h2{font-family:ServiceNowSans-Regular;font-family:ServiceNowSans-Medium;font-size:1.5rem;line-height:1.1;line-height:2.25rem;margin-bottom:.75rem 0}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400;margin-bottom:.5rem 0}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400;margin-bottom:.5rem 0}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal}blockquote,code,img,ol,p,pre,ul{margin:.75rem 0}img{max-width:100%}pre{margin-bottom:1.5rem;margin-top:.75rem}div+h1,div+h2,div+h3,div+h4,div+h5,div+h6,img+h1,img+h2,img+h3,img+h4,img+h5,img+h6,p+h1,p+h2,p+h3,p+h4,p+h5,p+h6,ul+h1,ul+h2,ul+h3,ul+h4,ul+h5,ul+h6{margin-top:2rem}b,strong{font-weight:500}b,code,strong{letter-spacing:.02em}code{background-color:#e8e8e9;border:1px solid #d0d2d3;border-radius:.25rem;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5}code b,code strong{font-weight:500}pre code{background-color:transparent;border:none;border-radius:0}.sm,small{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}.sm code,small code{font-size:80%}.lg,.xl{font-family:ServiceNowSans-Regular;font-size:1.3125rem;font-weight:400;line-height:1.5}.lg code,.xl code{font-size:80%}.xl{font-size:1.5rem;line-height:1.5}.dps-caption,.dps-label{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}a:not(.dps-link):not(.dps-button):not(.dps-card-click){border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal;margin:-.125rem;padding:0 .125rem;position:relative;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:normal}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus:not(:focus-visible){box-shadow:none;outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):hover{color:#024f69;text-decoration:underline;-webkit-text-decoration-color:#024f69;text-decoration-color:#024f69}a:not(.dps-link):not(.dps-button):not(.dps-card-click):active{color:#032d42;text-decoration:underline;-webkit-text-decoration-color:#032d42;text-decoration-color:#032d42}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}.do-dont-images{column-gap:1rem;display:grid;grid-auto-flow:column;grid-template-rows:1fr auto}@media screen and (max-width:767.98px){.do-dont-images{display:block}}.do-dont-images figcaption,.do-dont-images figure{margin:0;padding:0}.do-dont-images img{margin:0;max-width:100%;padding:0}.do-dont-images figure{background-color:#f7f7f7;border-top:5px solid;margin-top:2rem;padding:1rem;position:relative}.do-dont-images figcaption{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;font-style:italic;line-height:1.5;margin-bottom:0;margin-left:0;margin-right:0;margin-top:.5rem;max-width:100%;text-align:left}.do-dont-images .img-do h5,.do-dont-images .img-dont h5{font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;left:0;line-height:1.75;margin:0;padding:0;position:absolute;top:-2rem}.do-dont-images .img-dont{border-color:#fc726d}.do-dont-images .img-dont h5{color:#fc726d}.do-dont-images .img-do{border-color:#5cc4af}.do-dont-images .img-do h5{color:#5cc4af}:host{display:block;position:relative}dps-spinner{margin-top:2.5rem}.dps-learn-module{color:#293e40;font-size:1rem;position:relative;width:100%}.dps-learn-module .dps-learn-module-banner-version-selector{display:flex;height:1rem;justify-content:flex-start;margin-bottom:1.5rem;width:100%}.dps-learn-module-banner{background:#cde1d9;background-position:105% 0;background-repeat:no-repeat;color:#474d52;position:relative;width:100%;z-index:5}.dps-learn-module-banner__background{align-items:flex-end;display:flex;inset:0;pointer-events:none;position:absolute;z-index:0}.dps-learn-module-banner.-main{color:#fff}.dps-learn-module-banner.-main .dps-learn-module-banner-container dps-inline-version-selector{--dps-color-text-primary:#fff;--dps-icon-color:#fff}.dps-learn-module-banner.-main .dps-learn-module-banner-container h6{color:#fff;font-family:ServiceNowSansMono-Regular;font-size:.875rem;letter-spacing:0;margin-bottom:6px}.dps-learn-module-banner.-main .dps-learn-module-banner-container h1{color:#fff;font-family:ServiceNowSans-Medium;font-size:2rem;font-weight:500}.dps-learn-module-banner-container{align-items:center;display:flex;flex-wrap:wrap;justify-content:center;max-width:90rem;padding:2.8125rem 2.5rem 3.4375rem 3rem;position:relative;z-index:1}.dps-learn-module-banner-container dps-inline-version-selector{margin-bottom:2.25rem;width:100%}.dps-learn-module-banner.-sticky{background:transparent;border-bottom:2px solid #d0d2d3;color:#474d52;margin-bottom:2rem;margin-top:-100%;transform-style:preserve-3d;transition:margin-top .15s cubic-bezier(.77,0,.175,1);z-index:auto}.dps-learn-module-banner.-sticky .dps-learn-module-banner-container{padding:0}.is-visible .dps-learn-module-banner.-sticky{margin-bottom:2rem;margin-top:0;padding:0 0 2rem;transition-duration:.3s;transition-timing-function:cubic-bezier(.075,.82,.165,1)}.dps-learn-module-banner h1,.dps-learn-module-banner h6{align-items:center;display:flex;margin:0;max-width:90rem;position:relative;width:100%}.dps-learn-module-banner h1{font-family:ServiceNowSans-Medium;font-size:1.75rem;line-height:1.1}.-sticky .dps-learn-module-banner h1{font-size:1.3125rem}.dps-learn-module-banner h6{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.-sticky .dps-learn-module-banner h6{margin-bottom:.5rem}.dps-learn-module-banner h6 img{margin-right:.75rem}.dps-learn-module-panel{position:relative}.dps-learn-module-header-wrapper{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.34375rem}.dps-learn-module-header-wrapper h6{margin:0}.dps-learn-module-header-wrapper now-button{flex-shrink:0}.dps-learn-module-content{color:#293e40;display:block;font-size:1rem;line-height:1.5;margin:0 0 1rem;position:relative;width:100%}.dps-learn-module-content.-sticky,.dps-learn-module-content.-sticky+.dps-learn-module-content{float:left}.dps-learn-module-content-header{display:flex;flex-direction:column;margin-bottom:1.25rem}.dps-learn-module-content-header h6{align-items:center;color:#1d1d1d;display:flex;font-family:ServiceNowSans-Book;font-size:.875rem;letter-spacing:0;margin:0 0 .25rem;text-transform:uppercase}.dps-learn-module-content-header h6 span{margin-left:4px}.dps-learn-module-content-header h2{color:#16243a;display:flex;font-family:ServiceNowSans-Medium;font-size:1.5rem;font-weight:500;margin:0}.dps-learn-module-content-footer{display:flex;flex-wrap:wrap;max-width:45rem;position:relative;width:100%}.dps-learn-module-content .heading-element,.dps-learn-module-content .print-title,.dps-learn-module-content h1.title.topictitle1{display:none}.dps-learn-module-content .body p{color:#16243a;font-family:ServiceNowSans-Light;font-size:1rem}.dps-learn-module-content .body li{font-family:ServiceNowSans-Light}.dps-learn-module-content .body img{max-width:100%;width:auto}.dps-learn-module-content .body img.icon{margin:0;padding:0 .5rem}.dps-learn-module-content .body blockquote{background:#e1ecef;border-radius:.1875rem;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;margin:0;padding:.75rem 1.5rem 1rem}.dps-learn-module-content .body blockquote p{margin:0}.dps-learn-module-steps{list-style:none;margin:0 0 .75rem;padding:0;position:relative}.dps-learn-module-step{align-items:flex-start;color:#1d1d1d;display:flex;font-family:ServiceNowSans-Light;padding-bottom:.75rem;position:relative}.dps-learn-module-step.-current:before,.dps-learn-module-step.-viewed:before{background:#63df4e}.dps-learn-module-step.-viewed{color:#6e7274}.dps-learn-module-step.-viewed:after{background:#63df4e}.dps-learn-module-step.-current,.dps-learn-module-step.-current.-viewed{color:#1d1d1d;font-family:ServiceNowSans-Book}.dps-learn-module-step:before{background:#dadbdc;border-radius:50%;content:\\\"\\\";flex:0 0 auto;height:.5rem;margin-top:.3125rem;width:.5rem;z-index:2}.dps-learn-module-step:after{background:#dadbdc;content:\\\"\\\";height:100%;left:.1875rem;position:absolute;top:.75rem;width:.125rem;z-index:1}.dps-learn-module-step:last-of-type:after{display:none}.dps-learn-module-step-icon{align-items:center;flex:0 0 auto;height:1.25rem;width:1.25rem}.dps-learn-module-step-icon img{max-width:1.25rem}.dps-learn-module-step-icon,.dps-learn-module-step>dps-link{display:inline-flex;margin-left:.625rem;position:relative}.dps-learn-module-step>dps-link{flex:1 1 auto}dps-feedback{margin-top:2.5rem}dps-prev-next-doc{width:100%}pre code{white-space:pre-wrap}.dps-learn-module-panel .print-link{float:right}@media(max-width:1199.98px){.dps-learn-module-panel .print-link{display:none}}.mt-5 .-padding-20,.mt-5 .-padding-8{display:flex}.mt-5 .-padding-20 .field,.mt-5 .-padding-8 .field{flex:0 0 auto;margin-right:10px;text-align:right}.mt-5 .-padding-20 .value,.mt-5 .-padding-8 .value{flex:1 0 0;text-align:left}.mt-5 .-padding-8{margin-left:1.5rem}.mt-5 .-padding-12{margin-left:2.25rem}.mt-5 .-padding-20{margin-left:4.625rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/highlight.js/styles/agate.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}code.hljs{padding:1rem}aside,b,dd,div,dl,dt,em,i,li,ol,p,strong,ul{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;line-height:1.5rem}aside,dd,div,dl,dt,li,ol,p,ul{font-weight:400}a em{color:#00718f}strong,strong em{font-family:ServiceNowSans-Medium;font-weight:500}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem;line-height:1.1;line-height:1.3125rem;margin:2rem 0}h1,h2{color:#1d1d1d;font-size:1.75rem;font-weight:400;font-weight:500}h2{font-family:ServiceNowSans-Regular;font-family:ServiceNowSans-Medium;font-size:1.5rem;line-height:1.1;line-height:2.25rem;margin-bottom:.75rem 0}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400;margin-bottom:.5rem 0}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400;margin-bottom:.5rem 0}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal}blockquote,code,img,ol,p,pre,ul{margin:.75rem 0}img{max-width:100%}pre{margin-bottom:1.5rem;margin-top:.75rem}div+h1,div+h2,div+h3,div+h4,div+h5,div+h6,img+h1,img+h2,img+h3,img+h4,img+h5,img+h6,p+h1,p+h2,p+h3,p+h4,p+h5,p+h6,ul+h1,ul+h2,ul+h3,ul+h4,ul+h5,ul+h6{margin-top:2rem}b,strong{font-weight:500}b,code,strong{letter-spacing:.02em}code{background-color:#e8e8e9;border:1px solid #d0d2d3;border-radius:.25rem;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5}code b,code strong{font-weight:500}pre code{background-color:transparent;border:none;border-radius:0}.sm,small{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}.sm code,small code{font-size:80%}.lg,.xl{font-family:ServiceNowSans-Regular;font-size:1.3125rem;font-weight:400;line-height:1.5}.lg code,.xl code{font-size:80%}.xl{font-size:1.5rem;line-height:1.5}.dps-caption,.dps-label{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}a:not(.dps-link):not(.dps-button):not(.dps-card-click){border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal;margin:-.125rem;padding:0 .125rem;position:relative;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:normal}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus:not(:focus-visible){box-shadow:none;outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):hover{color:#024f69;text-decoration:underline;-webkit-text-decoration-color:#024f69;text-decoration-color:#024f69}a:not(.dps-link):not(.dps-button):not(.dps-card-click):active{color:#032d42;text-decoration:underline;-webkit-text-decoration-color:#032d42;text-decoration-color:#032d42}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}.do-dont-images{column-gap:1rem;display:grid;grid-auto-flow:column;grid-template-rows:1fr auto}@media screen and (max-width:767.98px){.do-dont-images{display:block}}.do-dont-images figcaption,.do-dont-images figure{margin:0;padding:0}.do-dont-images img{margin:0;max-width:100%;padding:0}.do-dont-images figure{background-color:#f7f7f7;border-top:5px solid;margin-top:2rem;padding:1rem;position:relative}.do-dont-images figcaption{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;font-style:italic;line-height:1.5;margin-bottom:0;margin-left:0;margin-right:0;margin-top:.5rem;max-width:100%;text-align:left}.do-dont-images .img-do h5,.do-dont-images .img-dont h5{font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;left:0;line-height:1.75;margin:0;padding:0;position:absolute;top:-2rem}.do-dont-images .img-dont{border-color:#fc726d}.do-dont-images .img-dont h5{color:#fc726d}.do-dont-images .img-do{border-color:#5cc4af}.do-dont-images .img-do h5{color:#5cc4af}dps-badge+.main-content{margin-top:-.75rem}.dps-design-layout-version-switcher{margin-bottom:1.5rem}a code{background-color:transparent;border:none}h1{margin-bottom:1rem;margin-top:3rem}h1:first-of-type{margin-top:0}h1+h2,h1+ol,h1+p,h1+ul{margin-top:1rem}h2{margin-bottom:.75rem;margin-top:2.5rem}h2+h3,h2+ol,h2+p,h2+ul{margin-top:.75rem}h3{margin-bottom:.5rem;margin-top:2rem}h3+h4,h3+ol,h3+p,h3+ul{margin-top:.5rem}h4{font-size:1.125rem;margin-bottom:0;margin-top:1.5rem}h4+h5,h4+ol,h4+p,h4+ul{margin-top:0}h5{font-size:1rem;margin-bottom:0;margin-top:1rem}h5+ol,h5+p,h5+ul{margin-top:0}h6{margin-bottom:0;margin-top:1rem}h6+ol,h6+p,h6+ul{margin-top:0}table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem;width:100%}table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}table td,table th{padding:.75rem;text-align:left;vertical-align:top}table tbody tr{border-bottom:1px solid #293e40}table tbody td{padding:1rem .75rem}table tbody td:first-child{min-width:10em;width:33%}table tbody td :first-child{margin-top:0}table tbody td :last-child{margin-bottom:0}table tbody td pre{white-space:pre-wrap}table tbody td samp{word-break:break-word}table tr:last-child{border-bottom:none}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../images/guide-dev-account-signup-cta.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{width:100%}.dps-overview{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;position:relative;width:100%}.dps-overview-section{padding:var(--dps-overview-section-learning-plans-padding,6.25rem 0);position:relative;width:100%}@media(max-width:991.98px){.dps-overview-section{padding:2rem 0}}.dps-overview-section.-centered .dps-overview-section-header{justify-content:center}.dps-overview-section.-centered .dps-overview-section-content{text-align:center}.dps-overview-section.-centered p{margin:0 auto 1.5rem}.dps-overview-section.-inverse{background-color:var(--dps-theme-inverse-background-color,#293e40);color:var(--dps-overview-section-font-color,#fff)}.dps-overview-section.-inverse .dps-overview-section-content{gap:1.5rem;margin:var(--dps-overview-section-learning-plans-content-margin);padding-left:0}.dps-overview-section.-inverse .dps-overview-section-content>p{color:var(--dps-overview-section-font-color,#fff);font-family:ServiceNowSans-Light;font-size:var(--dps-overview-section-learning-plans-description-font-size,1rem);line-height:var(--dps-overview-section-learning-plans-description-line-height,1.5);max-width:100%}.dps-overview-section.-inverse .dps-overview-section-header{color:var(--dps-overview-section-learning-plans-header-color,#fff);font-family:ServiceNowSans-Medium;font-size:28px;font-weight:500}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-subheader{color:var(--dps-create-account-subheader-color,#293e40);font-family:ServiceNowSansMono-Regular;font-size:var(--dps-create-account-subheader-font-size,.8125rem);line-height:var(--dps-create-account-subheader-line-height,1.1);margin:var(--dps-create-account-subheader-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-header{color:var(--dps-create-account-header-color,#474d52);font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500;letter-spacing:normal;line-height:1.925rem;margin:var(--dps-create-account-header-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content>p{color:#474d52;font-family:ServiceNowSans-Light;font-size:var(--dps-create-account-description-font-size,1rem);line-height:1.5rem;margin:0;max-width:100%}.dps-overview-section.-highlight{background-color:#f7f7f7}.dps-overview-section.-overview{background-color:#f7f7f7;font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}@media(max-width:991.98px){.dps-overview-section.-overview{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5}}.dps-overview-section.-overview p{margin:0 auto;max-width:46.375rem;text-align:left}.dps-overview-section.-overview p+p{margin-top:1.5rem}.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-two-col .dps-overview-section-content>img{margin:0 auto}@media(max-width:1199.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}@media(max-width:767.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-three-col .dps-overview-section-content>div{align-self:start}.dps-overview-section.-callout{align-items:center;background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");background-position:calc(50% + 275px) calc(100% - 2px);background-repeat:no-repeat;background-size:auto;display:flex;font-family:ServiceNowSans-Light;font-size:1.3125rem;height:37rem;line-height:1.5;overflow:hidden;position:relative}.dps-overview-section.-callout h2,.dps-overview-section.-callout p{max-width:32.5rem}.dps-overview-section.-callout h2+p{font-size:1.3125rem;margin-bottom:4rem}@media(max-width:991.98px){.dps-overview-section.-callout{background-image:none;height:auto}}.dps-overview-section.-callout .dps-overview-section-header{display:block;margin-bottom:1.5rem;padding-bottom:calc(1rem + 4px)}.dps-overview-section.-callout .dps-overview-section-header:before{background-color:#fff;bottom:0;content:\\\"\\\";height:.25rem;left:0;position:absolute;width:5rem}.dps-overview-section .-large{font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}.dps-overview-section img{max-width:100%}.dps-overview-section>p,.dps-overview-section>ul{margin:0 0 1.5rem;position:relative}.dps-overview-section>p{font-family:ServiceNowSans-Light;font-size:18px;max-width:37.5rem}.dps-overview-section ul{-webkit-margin-before:0;-webkit-padding-start:0;list-style-type:none;margin-block-start:0;padding-inline-start:0}.dps-overview-section ul li{margin-bottom:.75rem;position:relative}.dps-overview-section ul li:last-child{margin-bottom:0}.dps-overview-section dps-card p,.dps-overview-section dps-card ul,.dps-overview-section dps-content-stack p,.dps-overview-section dps-content-stack ul{margin:0 0 .75rem}.dps-overview-section dps-card p:last-child,.dps-overview-section dps-card ul:last-child,.dps-overview-section dps-content-stack p:last-child,.dps-overview-section dps-content-stack ul:last-child{margin:0}.dps-overview-section-content{margin:0 auto;max-width:var(--dps-overview-section-content-max-width,90rem);position:relative;width:100%}@media(max-width:767.98px){.dps-overview-section-content{padding:0 1.5rem}}.dps-overview-section-content.-narrow{color:#000;max-width:70.625rem}.dps-overview-section-content.-narrow .dps-overview-section-header{margin-bottom:1.5rem}.dps-overview-section-content.-narrow p{font-size:1.125rem}@media(max-width:1199.98px){.dps-overview-section-content.-narrow{max-width:100%}}@media(max-width:767.98px){.dps-overview-section-content.-narrow{padding:0 1.5rem}}.dps-overview-section-content.now-experience-ui-framework,.dps-overview-section-content.using-now-cli{max-width:100%}.dps-overview-section-header{align-items:center;color:#474d52;display:flex;font-family:ServiceNowSans-Regular;font-size:1.75rem;font-weight:400;line-height:1.1;margin:0 0 1.5rem;position:relative}@media(max-width:991.98px){.dps-overview-section-header{font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5;margin:0 0 1rem}}.dps-overview-section-header img+span{padding-left:1rem}.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:575.98px){.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:767.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}}@media(max-width:575.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-no-header{border-top:1px solid #b9bbbd;margin-top:2.5rem}.table-links-category{color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0 0 .25rem 0}.table-links-title{color:#474d52;font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75;margin:0 0 .25rem 0}.table-links-description{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.1;margin:0 0 .75rem 0}.table-links h3{box-shadow:0 1px 0 0 #b9bbbd;color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0;padding:0 0 .5rem;position:relative;text-transform:uppercase}.table-links ul{list-style:none;margin:2.5rem 0 0;padding:0}ul.list-with-active-indicator{list-style:none;margin:0;padding:0}ul.list-with-active-indicator li{align-items:var(--dps-list-with-active-indicator-align-items,center);border-left:4px solid transparent;display:flex;flex-direction:row;height:var(--dps-list-with-active-indicator-height,inherit);justify-content:flex-start;margin:var(--dps-list-with-active-indicator-margin,inherit);padding-left:var(--dps-list-with-active-indicator-padding-left,1rem)}ul.list-with-active-indicator li a{background:none;color:#8a8e91;display:block;margin-top:-.5rem}ul.list-with-active-indicator li.active{border-left:4px solid #81b5a1}ul.list-with-active-indicator li.active a{color:#474d52;font-family:ServiceNowSans-Regular}ul.list-with-active-indicator .FPO{align-items:center;background-color:pink;display:flex;height:200px;justify-content:center}hr{background-color:#d0d2d3;border:none;height:1px}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem}h1,h2{font-weight:400;line-height:1.1}h2{font-family:ServiceNowSans-Regular;font-size:1.75rem}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}:host{display:block}.-design .dps-overview-section.-design-system .dps-overview-section-header:nth-of-type(2){margin-top:2.5rem}@media(max-width:991.98px){.-design .dps-overview-section.-design-system img{display:none}}.-design .dps-overview-section.-new-hire{background-color:#f7f7f7;font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}@media(max-width:991.98px){.-design .dps-overview-section.-new-hire{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5}}.dps-design-overview-columns{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none;margin:0 auto;max-width:70.625rem}@media(max-width:991.98px){.dps-design-overview-columns{grid-gap:1rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-design-overview-column{background-color:#fff;height:100%;padding:1.25rem}.dps-design-overview-column dps-content-stack{height:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/highlight.js/styles/agate.css\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../images/guide-dev-account-signup-cta.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{display:block;width:100%}.dps-overview{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;position:relative;width:100%}.dps-overview-section{padding:var(--dps-overview-section-learning-plans-padding,6.25rem 0);position:relative;width:100%}@media(max-width:991.98px){.dps-overview-section{padding:2rem 0}}.dps-overview-section.-centered .dps-overview-section-header{justify-content:center}.dps-overview-section.-centered .dps-overview-section-content{text-align:center}.dps-overview-section.-centered p{margin:0 auto 1.5rem}.dps-overview-section.-inverse{background-color:var(--dps-theme-inverse-background-color,#293e40);color:var(--dps-overview-section-font-color,#fff)}.dps-overview-section.-inverse .dps-overview-section-content{gap:1.5rem;margin:var(--dps-overview-section-learning-plans-content-margin);padding-left:0}.dps-overview-section.-inverse .dps-overview-section-content>p{color:var(--dps-overview-section-font-color,#fff);font-family:ServiceNowSans-Light;font-size:var(--dps-overview-section-learning-plans-description-font-size,1rem);line-height:var(--dps-overview-section-learning-plans-description-line-height,1.5);max-width:100%}.dps-overview-section.-inverse .dps-overview-section-header{color:var(--dps-overview-section-learning-plans-header-color,#fff);font-family:ServiceNowSans-Medium;font-size:28px;font-weight:500}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-subheader{color:var(--dps-create-account-subheader-color,#293e40);font-family:ServiceNowSansMono-Regular;font-size:var(--dps-create-account-subheader-font-size,.8125rem);line-height:var(--dps-create-account-subheader-line-height,1.1);margin:var(--dps-create-account-subheader-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-header{color:var(--dps-create-account-header-color,#474d52);font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500;letter-spacing:normal;line-height:1.925rem;margin:var(--dps-create-account-header-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content>p{color:#474d52;font-family:ServiceNowSans-Light;font-size:var(--dps-create-account-description-font-size,1rem);line-height:1.5rem;margin:0;max-width:100%}.dps-overview-section.-highlight{background-color:#f7f7f7}.dps-overview-section.-overview{background-color:#f7f7f7;font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}@media(max-width:991.98px){.dps-overview-section.-overview{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5}}.dps-overview-section.-overview p{margin:0 auto;max-width:46.375rem;text-align:left}.dps-overview-section.-overview p+p{margin-top:1.5rem}.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-two-col .dps-overview-section-content>img{margin:0 auto}@media(max-width:1199.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}@media(max-width:767.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-three-col .dps-overview-section-content>div{align-self:start}.dps-overview-section.-callout{align-items:center;background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");background-position:calc(50% + 275px) calc(100% - 2px);background-repeat:no-repeat;background-size:auto;display:flex;font-family:ServiceNowSans-Light;font-size:1.3125rem;height:37rem;line-height:1.5;overflow:hidden;position:relative}.dps-overview-section.-callout h2,.dps-overview-section.-callout p{max-width:32.5rem}.dps-overview-section.-callout h2+p{font-size:1.3125rem;margin-bottom:4rem}@media(max-width:991.98px){.dps-overview-section.-callout{background-image:none;height:auto}}.dps-overview-section.-callout .dps-overview-section-header{display:block;margin-bottom:1.5rem;padding-bottom:calc(1rem + 4px)}.dps-overview-section.-callout .dps-overview-section-header:before{background-color:#fff;bottom:0;content:\\\"\\\";height:.25rem;left:0;position:absolute;width:5rem}.dps-overview-section .-large{font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}.dps-overview-section img{max-width:100%}.dps-overview-section>p,.dps-overview-section>ul{margin:0 0 1.5rem;position:relative}.dps-overview-section>p{font-family:ServiceNowSans-Light;font-size:18px;max-width:37.5rem}.dps-overview-section ul{-webkit-margin-before:0;-webkit-padding-start:0;list-style-type:none;margin-block-start:0;padding-inline-start:0}.dps-overview-section ul li{margin-bottom:.75rem;position:relative}.dps-overview-section ul li:last-child{margin-bottom:0}.dps-overview-section dps-card p,.dps-overview-section dps-card ul,.dps-overview-section dps-content-stack p,.dps-overview-section dps-content-stack ul{margin:0 0 .75rem}.dps-overview-section dps-card p:last-child,.dps-overview-section dps-card ul:last-child,.dps-overview-section dps-content-stack p:last-child,.dps-overview-section dps-content-stack ul:last-child{margin:0}.dps-overview-section-content{margin:0 auto;max-width:var(--dps-overview-section-content-max-width,90rem);position:relative;width:100%}@media(max-width:767.98px){.dps-overview-section-content{padding:0 1.5rem}}.dps-overview-section-content.-narrow{color:#000;max-width:70.625rem}.dps-overview-section-content.-narrow .dps-overview-section-header{margin-bottom:1.5rem}.dps-overview-section-content.-narrow p{font-size:1.125rem}@media(max-width:1199.98px){.dps-overview-section-content.-narrow{max-width:100%}}@media(max-width:767.98px){.dps-overview-section-content.-narrow{padding:0 1.5rem}}.dps-overview-section-content.now-experience-ui-framework,.dps-overview-section-content.using-now-cli{max-width:100%}.dps-overview-section-header{align-items:center;color:#474d52;display:flex;font-family:ServiceNowSans-Regular;font-size:1.75rem;font-weight:400;line-height:1.1;margin:0 0 1.5rem;position:relative}@media(max-width:991.98px){.dps-overview-section-header{font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5;margin:0 0 1rem}}.dps-overview-section-header img+span{padding-left:1rem}.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:575.98px){.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:767.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}}@media(max-width:575.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-no-header{border-top:1px solid #b9bbbd;margin-top:2.5rem}.table-links-category{color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0 0 .25rem 0}.table-links-title{color:#474d52;font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75;margin:0 0 .25rem 0}.table-links-description{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.1;margin:0 0 .75rem 0}.table-links h3{box-shadow:0 1px 0 0 #b9bbbd;color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0;padding:0 0 .5rem;position:relative;text-transform:uppercase}.table-links ul{list-style:none;margin:2.5rem 0 0;padding:0}ul.list-with-active-indicator{list-style:none;margin:0;padding:0}ul.list-with-active-indicator li{align-items:var(--dps-list-with-active-indicator-align-items,center);border-left:4px solid transparent;display:flex;flex-direction:row;height:var(--dps-list-with-active-indicator-height,inherit);justify-content:flex-start;margin:var(--dps-list-with-active-indicator-margin,inherit);padding-left:var(--dps-list-with-active-indicator-padding-left,1rem)}ul.list-with-active-indicator li a{background:none;color:#8a8e91;display:block;margin-top:-.5rem}ul.list-with-active-indicator li.active{border-left:4px solid #81b5a1}ul.list-with-active-indicator li.active a{color:#474d52;font-family:ServiceNowSans-Regular}ul.list-with-active-indicator .FPO{align-items:center;background-color:pink;display:flex;height:200px;justify-content:center}hr{background-color:#d0d2d3;border:none;height:1px}sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}code.hljs{padding:1rem}aside,b,dd,div,dl,dt,em,i,li,ol,p,strong,ul{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;line-height:1.5rem}aside,dd,div,dl,dt,li,ol,p,ul{font-weight:400}a em{color:#00718f}strong,strong em{font-family:ServiceNowSans-Medium;font-weight:500}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem;line-height:1.1;line-height:1.3125rem;margin:2rem 0}h1,h2{color:#1d1d1d;font-size:1.75rem;font-weight:400;font-weight:500}h2{font-family:ServiceNowSans-Regular;font-family:ServiceNowSans-Medium;font-size:1.5rem;line-height:1.1;line-height:2.25rem;margin-bottom:.75rem 0}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400;margin-bottom:.5rem 0}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400;margin-bottom:.5rem 0}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal}blockquote,code,img,ol,p,pre,ul{margin:.75rem 0}img{max-width:100%}pre{margin-bottom:1.5rem;margin-top:.75rem}div+h1,div+h2,div+h3,div+h4,div+h5,div+h6,img+h1,img+h2,img+h3,img+h4,img+h5,img+h6,p+h1,p+h2,p+h3,p+h4,p+h5,p+h6,ul+h1,ul+h2,ul+h3,ul+h4,ul+h5,ul+h6{margin-top:2rem}b,strong{font-weight:500}b,code,strong{letter-spacing:.02em}code{background-color:#e8e8e9;border:1px solid #d0d2d3;border-radius:.25rem;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5}code b,code strong{font-weight:500}pre code{background-color:transparent;border:none;border-radius:0}.sm,small{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}.sm code,small code{font-size:80%}.lg,.xl{font-family:ServiceNowSans-Regular;font-size:1.3125rem;font-weight:400;line-height:1.5}.lg code,.xl code{font-size:80%}.xl{font-size:1.5rem;line-height:1.5}.dps-caption,.dps-label{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}a:not(.dps-link):not(.dps-button):not(.dps-card-click){border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal;margin:-.125rem;padding:0 .125rem;position:relative;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:normal}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus:not(:focus-visible){box-shadow:none;outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):hover{color:#024f69;text-decoration:underline;-webkit-text-decoration-color:#024f69;text-decoration-color:#024f69}a:not(.dps-link):not(.dps-button):not(.dps-card-click):active{color:#032d42;text-decoration:underline;-webkit-text-decoration-color:#032d42;text-decoration-color:#032d42}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}.do-dont-images{column-gap:1rem;display:grid;grid-auto-flow:column;grid-template-rows:1fr auto}@media screen and (max-width:767.98px){.do-dont-images{display:block}}.do-dont-images figcaption,.do-dont-images figure{margin:0;padding:0}.do-dont-images img{margin:0;max-width:100%;padding:0}.do-dont-images figure{background-color:#f7f7f7;border-top:5px solid;margin-top:2rem;padding:1rem;position:relative}.do-dont-images figcaption{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;font-style:italic;line-height:1.5;margin-bottom:0;margin-left:0;margin-right:0;margin-top:.5rem;max-width:100%;text-align:left}.do-dont-images .img-do h5,.do-dont-images .img-dont h5{font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;left:0;line-height:1.75;margin:0;padding:0;position:absolute;top:-2rem}.do-dont-images .img-dont{border-color:#fc726d}.do-dont-images .img-dont h5{color:#fc726d}.do-dont-images .img-do{border-color:#5cc4af}.do-dont-images .img-do h5{color:#5cc4af}aside,b,dd,div,dl,dt,em,i,li,ol,p,strong,ul{font-family:Lato,sans-serif}.dps-developer-mvp{color:#000;font-size:1rem}.dps-developer-mvp .content{margin-right:4.625rem;padding-bottom:5.5rem;width:32.5625rem}.dps-developer-mvp .content_header{color:#474d52;display:flex;flex-direction:column;font-family:ServiceNowSans-Medium;height:8.375rem;justify-content:center;line-height:2.75rem}@media(max-width:340px){.dps-developer-mvp .content_header{margin-bottom:1.25rem;margin-top:1.25rem}}.dps-developer-mvp .content_header_sub-header{font-size:1.3125rem}.dps-developer-mvp .content_header_title{font-size:2rem}.dps-developer-mvp .content p{margin-bottom:1.5625rem;margin-top:0}.dps-developer-mvp .content ol{margin-bottom:1.5625rem}@media(max-width:991.98px){.dps-developer-mvp .content{margin-left:24px;margin-right:24px}}@media(max-width:767.98px){.dps-developer-mvp .content{width:100%}}.dps-developer-mvp_intro{background:#dee1f3;color:#293e40;padding-top:5.375rem}@media(max-width:1103.98px){.dps-developer-mvp_intro{padding-top:2.125rem}}.dps-developer-mvp_intro_container{display:flex;margin:auto;width:55.8125rem}@media(max-width:1103.98px){.dps-developer-mvp_intro_container{flex-direction:column}}@media(max-width:1199.98px){.dps-developer-mvp_intro_container{padding-left:24px;padding-right:24px;width:100%}}.dps-developer-mvp_intro_container_details{text-align:center}.dps-developer-mvp_intro_container_details_title{font-family:ServiceNowSans-Medium;font-size:3.625rem;line-height:1;margin-bottom:2.625rem}@media(max-width:575.98px){.dps-developer-mvp_intro_container_details_title{font-size:32px}}.dps-developer-mvp_intro_container_details_info{font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.75rem;margin-bottom:3.0625rem}@media(max-width:1103.98px){.dps-developer-mvp_intro_container_details{width:100%}}.dps-developer-mvp_submission-quick-link{background:#4a559d;color:#fff;padding-bottom:.75rem;padding-top:1rem;text-align:center}.dps-developer-mvp_submission-quick-link_container{align-items:flex-start;display:flex;justify-content:center;margin:auto;width:70.625rem}.dps-developer-mvp_submission-quick-link_container .celebration-img{margin-right:.75rem}@media(max-width:1439.98px){.dps-developer-mvp_submission-quick-link_container{padding-left:24px;padding-right:24px;width:100%}}.dps-developer-mvp_submission-quick-link_details{display:flex;flex-direction:column;font-family:ServiceNowSans-Medium;margin-top:1.25rem}.dps-developer-mvp_submission-quick-link_ref{font-family:ServiceNowSans-Regular;font-size:.875rem;margin-top:.25rem}.dps-developer-mvp_submission-quick-link_ref a{align-items:center;background:none!important;box-shadow:none!important;display:flex!important;justify-content:center;margin:0 auto!important;text-decoration:none!important;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.dps-developer-mvp_submission-quick-link_ref a:hover{color:#fff!important}.dps-developer-mvp_submission-quick-link_ref a img{margin:0 0 0 .4375rem}.dps-developer-mvp_developer-list{background:#9ac4b4;padding:2rem 2.5rem 1.125rem 2.5rem}.dps-developer-mvp_developer-list_title{color:#293e40;font-family:ServiceNowSans-Medium;font-size:1.75rem;margin-bottom:3.25rem;text-align:center}.dps-developer-mvp_developer-list_developers{margin:auto;width:90rem}.dps-developer-mvp_developer-list_developers_container{display:flex;flex-wrap:wrap;justify-content:center}@media(max-width:1199.98px){.dps-developer-mvp_developer-list_developers_container{justify-content:space-evenly}}@media(max-width:480px){.dps-developer-mvp_developer-list_developers_container{justify-content:space-between}}.dps-developer-mvp_developer-list_developers_container_details{margin-bottom:3.5625rem;margin-right:1.875rem;text-align:center}@media(max-width:480px){.dps-developer-mvp_developer-list_developers_container_details:nth-child(2n){margin-right:0}}@media(max-width:387px){.dps-developer-mvp_developer-list_developers_container_details{width:43%}}.dps-developer-mvp_developer-list_developers_container_details_related_links{display:flex;justify-content:space-evenly;margin:auto;width:65%}.dps-developer-mvp_developer-list_developers_container_details_related_links .linkedin-details img{margin:0}.dps-developer-mvp_developer-list_developers_profile-img{background:#fff;border-radius:4.6875rem;display:flex;height:9rem;object-fit:cover;object-position:100% center;width:9rem}@media(max-width:365px){.dps-developer-mvp_developer-list_developers_profile-img{height:6.875rem;margin-left:auto;margin-right:auto;width:6.875rem}}@media(max-width:302px){.dps-developer-mvp_developer-list_developers_profile-img{height:6.0625rem;width:6.0625rem}}.dps-developer-mvp_developer-list_developers_profile-name{align-items:center;background:#fff;border-radius:4.6875rem;color:#454d5b;display:flex;font-size:4rem;height:9rem;justify-content:center;margin:.75rem 0 1rem 0;width:9rem}@media(max-width:365px){.dps-developer-mvp_developer-list_developers_profile-name{font-size:3.25rem;height:6.875rem;margin-left:auto;margin-right:auto;width:6.875rem}}@media(max-width:302px){.dps-developer-mvp_developer-list_developers_profile-name{font-size:2.875rem;height:6.0625rem;width:6.0625rem}}@media(max-width:1439.98px){.dps-developer-mvp_developer-list_developers{width:100%}.dps-developer-mvp_developer-list{padding-left:24px;padding-right:24px}}.dps-developer-mvp_submission-call{background:#f7f7f7;padding-bottom:2.75rem;padding-top:2.75rem}.dps-developer-mvp_submission-call_container{margin:auto;text-align:center;width:45.3125rem}.dps-developer-mvp_submission-call_container_title{color:#293e40;font-family:ServiceNowSans-Medium;font-size:1.75rem}@media(max-width:991.98px){.dps-developer-mvp_submission-call_container{padding-left:24px;padding-right:24px;width:100%}}.dps-developer-mvp_benfits{align-items:flex-end;display:flex;margin:auto;max-width:56.25rem}.dps-developer-mvp_benfits .content{padding-bottom:0}@media(max-width:767.98px){.dps-developer-mvp_benfits .img{display:none}}.dps-developer-mvp_expectation{background:#f7f7f7;width:100%}.dps-developer-mvp_expectation_section{align-items:flex-end;display:flex;margin:auto;max-width:56.25rem}.dps-developer-mvp_expectation_section .content{padding-bottom:2.4375rem}.dps-developer-mvp_submission-process{align-items:flex-end;display:flex;margin:auto;max-width:56.25rem}@media(max-width:767.98px){.dps-developer-mvp_submission-process .img{display:none}}.mvp-developer-name{line-height:1;margin-top:.25rem}.dps-developer-mvp_developer-list_developers_container_details_related_links .linkedin-details{background:none!important;box-shadow:none!important;height:auto!important;margin:.375rem 0 0!important;padding:0!important;text-decoration:none!important}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-engagement-page_page-header{background:#c3d9df;padding-bottom:4.3125rem;padding-top:5.0625rem;text-align:center}@media(max-width:991.98px){.dps-engagement-page_page-header{padding:2rem 2.5rem}}.dps-engagement-page_page-header_title{color:#293e40;font-family:ServiceNowSans-Medium;font-size:3.625rem;font-weight:700;line-height:2.5rem;margin-bottom:1.4375rem}@media(max-width:991.98px){.dps-engagement-page_page-header_title{font-size:1.75rem;width:100%}}.dps-engagement-page_page-header_description{color:#334b4f;font-family:ServiceNowSans-Light;font-size:1.75rem;line-height:2.5rem;margin:auto;width:50.6875rem}@media(max-width:991.98px){.dps-engagement-page_page-header_description{font-size:1.3125rem;line-height:1.5;width:100%}}.dps-engagement-page_pattern:nth-child(2n){background:#f7f7f7}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-button{align-items:center;border:none;color:inherit;cursor:pointer;display:inline-flex;font-family:ServiceNowSans-Book;font-size:1rem;font-weight:400;justify-content:center;letter-spacing:.01em;line-height:1.1;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),border .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:nowrap;width:inherit}.dps-button:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-button:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:active{color:currentColor}.dps-button.is-disabled,.dps-button:disabled{cursor:not-allowed}.dps-button.-primary{background:var(--dps-button-primary-bg,#62d84e);border:2px solid var(--dps-button-primary-border-color,#62d84e);border-radius:.5rem;color:#1d1d1d;font-family:ServiceNowSans-Book}.dps-button.-primary:hover{background:#62d84e;border-color:var(--dps-button-primary-hover-border-color,#62d84e);color:var(--dps-button-primary-hover-color,#1d1d1d)}.dps-button.-primary.is-disabled,.dps-button.-primary:disabled{background:#b9bbbd}.dps-button.-primary svg{fill:#fff}.dps-button.-primary-inverse{background:#62d84e;border:2px solid #62d84e;border-radius:.5rem;color:#000;font-family:ServiceNowSans-Book}.dps-button.-primary-inverse:hover{background:#fff}.dps-button.-primary-inverse.is-disabled,.dps-button.-primary-inverse:disabled{background:#8a8e91}.dps-button.-primary-inverse svg{fill:#62d84e}.dps-button.-secondary{background:var(--dps-button-secondary-bg,#fff);border:var(--dps-button-secondary-border-width,2px) solid var(--dps-button-secondary-border-color,#62d84e);border-radius:.5rem;color:var(--dps-button-secondary-color,#1d1d1d);font-family:ServiceNowSans-Book;font-size:1rem}.dps-button.-secondary:hover{background:var(--dps-button-secondary-hover-bg,#62d84e);border-color:var(--dps-button-secondary-hover-border-color,#62d84e);box-shadow:var(--dps-button-secondar-hover-box-shadow);color:var(--dps-button-secondary-hover-color,#000)}.dps-button.-secondary:hover svg{fill:#fff}.dps-button.-secondary.is-bare{color:#032d42;font-family:ServiceNowSans-Book;font-size:1rem;line-height:normal}.dps-button.-secondary.is-disabled,.dps-button.-secondary:disabled{background:transparent;border-color:#b9bbbd;color:#b9bbbd}.dps-button.-secondary svg{fill:#1d1d1d}.dps-button.-secondary-inverse{background:#fff;border:2px solid #62d84e;border-radius:.5rem}.dps-button.-secondary-inverse:hover{background:#62d84e;border-color:#62d84e}.dps-button.-secondary-inverse:hover svg{fill:#62d84e}.dps-button.-secondary-inverse.is-disabled,.dps-button.-secondary-inverse:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-secondary-inverse svg{fill:#d0d2d3}.dps-button.-round{background:#01778e;border-radius:1.5rem;color:#fff;height:2.625rem;min-width:12.1875rem}.dps-button.-round.is-disabled,.dps-button.-round:disabled{background:transparent;border:1px solid #b9bbbd;color:#b9bbbd}.dps-button.-secondary-light{background:transparent;border:2px solid #fff;color:#fff}.dps-button.-secondary-light:hover{background:#fff;border-color:#fff;color:#293e40}.dps-button.-secondary-light.is-disabled,.dps-button.-secondary-light:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-destructive{background:#ca5b57;color:#fff}.dps-button.-destructive:hover{background:#fc726d}.dps-button.-destructive.is-disabled,.dps-button.-destructive:disabled{background:#fdaaa7}.dps-button.-sm{color:#000;font-family:ServiceNowSans-Book;font-size:1rem;gap:.125rem;height:auto;min-height:2rem;padding:.375rem 1rem}.dps-button.-sm.only-icon{padding:0;width:2rem}.dps-button.-sm.has-button-and-icon now-icon{width:2rem}.dps-button.-md{height:2.625rem;padding:0 1.5rem}.dps-button.-md.only-icon{padding:0;width:2.625rem}.dps-button.-md.has-button-and-icon now-icon{width:2.625rem}.dps-button.-lg{height:3.125rem;padding:0 2rem}.dps-button.-lg.only-icon{padding:0;width:3.125rem}.dps-button.-lg.has-button-and-icon now-icon{width:3.125rem}.dps-button.is-bare{background:transparent;border:none;color:#546566}.dps-button.is-bare:hover{background:transparent;border:none;color:#293e40}.dps-button.is-bare:hover svg{fill:#293e40}.dps-button.is-bare svg{fill:#546566}.dps-button.has-action now-icon{transition:transform .3s cubic-bezier(.075,.82,.165,1)}.dps-button.has-action:hover now-icon{transform:translateX(.125rem)}.dps-button.has-action:hover.-external-action now-icon{transform:translateX(1px) translateY(-1px)}.dps-button.is-white{color:#fff}.dps-button.-round-edge{border-radius:.5rem;height:auto;padding:.5rem 1rem}.dps-button-label+now-icon,.dps-button-label+svg{margin-left:.5rem}.dps-button-label+svg.-sm{height:.75rem;width:.75rem}.dps-button-label+svg.-md{height:1rem;width:1rem}.dps-button-label+svg.-lg{height:1.5rem;width:1.5rem}.dps-button-label+svg.-xl{height:2rem;width:2rem}.dps-aggregate-engagement-pattern-2{margin:0 auto;max-width:90rem;padding:3.125rem 2.5rem}@media(max-width:767.98px){.dps-aggregate-engagement-pattern-2{padding:2rem 1.5rem}}.dps-aggregate-engagement-pattern-2-content{display:flex}@media(max-width:991.98px){.dps-aggregate-engagement-pattern-2-content{flex-direction:column}}.dps-aggregate-engagement-pattern-2-content .dps-aggregate-engagement-pattern-2-content-text{margin-right:6.25rem}.dps-aggregate-engagement-pattern-2-content .dps-aggregate-engagement-pattern-2-content-text h1{color:#1d2b2d;font-family:ServiceNowSans-Medium;font-size:3rem;margin-bottom:0;margin-top:3rem}@media(max-width:991.98px){.dps-aggregate-engagement-pattern-2-content .dps-aggregate-engagement-pattern-2-content-text h1{font-size:1.75rem}}.dps-aggregate-engagement-pattern-2-content .dps-aggregate-engagement-pattern-2-content-text h2{color:#474d52;font-family:ServiceNowSans-Regular;font-size:1.75rem;margin-bottom:1rem;margin-top:1.1875rem}@media(max-width:991.98px){.dps-aggregate-engagement-pattern-2-content .dps-aggregate-engagement-pattern-2-content-text h2{font-size:1.3125rem}}.dps-aggregate-engagement-pattern-2-content .dps-aggregate-engagement-pattern-2-content-text p{color:#334b4f;font-size:1rem;line-height:1.5rem}@media(max-width:767.98px){.dps-aggregate-engagement-pattern-2-content .dps-aggregate-engagement-pattern-2-content-text{margin:0}}.dps-aggregate-engagement-pattern-2-content img{height:20rem;width:30rem}@media(max-width:767.98px){.dps-aggregate-engagement-pattern-2-content img{height:100%;width:100%}}.dps-aggregate-engagement-pattern-2-content now-icon{margin:0 0 .25rem .625rem}@media(max-width:767.98px){.dps-aggregate-engagement-pattern-2-content{display:block}}.dps-aggregate-engagement-pattern-2-card-section .dps-aggregate-engagement-pattern-2-card-section-title{color:#474d52;font-size:.75rem;margin-bottom:1rem;text-transform:uppercase}.dps-aggregate-engagement-pattern-2-card-section hr{color:#b9bbbd;margin-bottom:2rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-button{align-items:center;border:none;color:inherit;cursor:pointer;display:inline-flex;font-family:ServiceNowSans-Book;font-size:1rem;font-weight:400;justify-content:center;letter-spacing:.01em;line-height:1.1;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),border .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:nowrap;width:inherit}.dps-button:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-button:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:active{color:currentColor}.dps-button.is-disabled,.dps-button:disabled{cursor:not-allowed}.dps-button.-primary{background:var(--dps-button-primary-bg,#62d84e);border:2px solid var(--dps-button-primary-border-color,#62d84e);border-radius:.5rem;color:#1d1d1d;font-family:ServiceNowSans-Book}.dps-button.-primary:hover{background:#62d84e;border-color:var(--dps-button-primary-hover-border-color,#62d84e);color:var(--dps-button-primary-hover-color,#1d1d1d)}.dps-button.-primary.is-disabled,.dps-button.-primary:disabled{background:#b9bbbd}.dps-button.-primary svg{fill:#fff}.dps-button.-primary-inverse{background:#62d84e;border:2px solid #62d84e;border-radius:.5rem;color:#000;font-family:ServiceNowSans-Book}.dps-button.-primary-inverse:hover{background:#fff}.dps-button.-primary-inverse.is-disabled,.dps-button.-primary-inverse:disabled{background:#8a8e91}.dps-button.-primary-inverse svg{fill:#62d84e}.dps-button.-secondary{background:var(--dps-button-secondary-bg,#fff);border:var(--dps-button-secondary-border-width,2px) solid var(--dps-button-secondary-border-color,#62d84e);border-radius:.5rem;color:var(--dps-button-secondary-color,#1d1d1d);font-family:ServiceNowSans-Book;font-size:1rem}.dps-button.-secondary:hover{background:var(--dps-button-secondary-hover-bg,#62d84e);border-color:var(--dps-button-secondary-hover-border-color,#62d84e);box-shadow:var(--dps-button-secondar-hover-box-shadow);color:var(--dps-button-secondary-hover-color,#000)}.dps-button.-secondary:hover svg{fill:#fff}.dps-button.-secondary.is-bare{color:#032d42;font-family:ServiceNowSans-Book;font-size:1rem;line-height:normal}.dps-button.-secondary.is-disabled,.dps-button.-secondary:disabled{background:transparent;border-color:#b9bbbd;color:#b9bbbd}.dps-button.-secondary svg{fill:#1d1d1d}.dps-button.-secondary-inverse{background:#fff;border:2px solid #62d84e;border-radius:.5rem}.dps-button.-secondary-inverse:hover{background:#62d84e;border-color:#62d84e}.dps-button.-secondary-inverse:hover svg{fill:#62d84e}.dps-button.-secondary-inverse.is-disabled,.dps-button.-secondary-inverse:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-secondary-inverse svg{fill:#d0d2d3}.dps-button.-round{background:#01778e;border-radius:1.5rem;color:#fff;height:2.625rem;min-width:12.1875rem}.dps-button.-round.is-disabled,.dps-button.-round:disabled{background:transparent;border:1px solid #b9bbbd;color:#b9bbbd}.dps-button.-secondary-light{background:transparent;border:2px solid #fff;color:#fff}.dps-button.-secondary-light:hover{background:#fff;border-color:#fff;color:#293e40}.dps-button.-secondary-light.is-disabled,.dps-button.-secondary-light:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-destructive{background:#ca5b57;color:#fff}.dps-button.-destructive:hover{background:#fc726d}.dps-button.-destructive.is-disabled,.dps-button.-destructive:disabled{background:#fdaaa7}.dps-button.-sm{color:#000;font-family:ServiceNowSans-Book;font-size:1rem;gap:.125rem;height:auto;min-height:2rem;padding:.375rem 1rem}.dps-button.-sm.only-icon{padding:0;width:2rem}.dps-button.-sm.has-button-and-icon now-icon{width:2rem}.dps-button.-md{height:2.625rem;padding:0 1.5rem}.dps-button.-md.only-icon{padding:0;width:2.625rem}.dps-button.-md.has-button-and-icon now-icon{width:2.625rem}.dps-button.-lg{height:3.125rem;padding:0 2rem}.dps-button.-lg.only-icon{padding:0;width:3.125rem}.dps-button.-lg.has-button-and-icon now-icon{width:3.125rem}.dps-button.is-bare{background:transparent;border:none;color:#546566}.dps-button.is-bare:hover{background:transparent;border:none;color:#293e40}.dps-button.is-bare:hover svg{fill:#293e40}.dps-button.is-bare svg{fill:#546566}.dps-button.has-action now-icon{transition:transform .3s cubic-bezier(.075,.82,.165,1)}.dps-button.has-action:hover now-icon{transform:translateX(.125rem)}.dps-button.has-action:hover.-external-action now-icon{transform:translateX(1px) translateY(-1px)}.dps-button.is-white{color:#fff}.dps-button.-round-edge{border-radius:.5rem;height:auto;padding:.5rem 1rem}.dps-button-label+now-icon,.dps-button-label+svg{margin-left:.5rem}.dps-button-label+svg.-sm{height:.75rem;width:.75rem}.dps-button-label+svg.-md{height:1rem;width:1rem}.dps-button-label+svg.-lg{height:1.5rem;width:1.5rem}.dps-button-label+svg.-xl{height:2rem;width:2rem}.dps-aggregate-engagement-pattern-3{width:100%}.dps-aggregate-engagement-pattern-3-content{display:flex;margin:0 auto;max-width:90rem;padding:6.25rem 2.5rem}@media(max-width:991.98px){.dps-aggregate-engagement-pattern-3-content{flex-direction:column}}@media(max-width:767.98px){.dps-aggregate-engagement-pattern-3-content{padding:2rem 1.5rem}}.dps-aggregate-engagement-pattern-3-content .dps-aggregate-engagement-pattern-3-content-text{margin-right:6.25rem}.dps-aggregate-engagement-pattern-3-content .dps-aggregate-engagement-pattern-3-content-text h1{color:#1d2b2d;font-family:ServiceNowSans-Regular;font-size:3rem;margin-bottom:0;margin-top:3rem}@media(max-width:991.98px){.dps-aggregate-engagement-pattern-3-content .dps-aggregate-engagement-pattern-3-content-text h1{font-size:1.75rem}}.dps-aggregate-engagement-pattern-3-content .dps-aggregate-engagement-pattern-3-content-text h2{color:#474d52;font-family:ServiceNowSans-Regular;font-size:1.75rem;margin-bottom:1rem;margin-top:1.8125rem}@media(max-width:991.98px){.dps-aggregate-engagement-pattern-3-content .dps-aggregate-engagement-pattern-3-content-text h2{font-size:1.3125rem}}.dps-aggregate-engagement-pattern-3-content .dps-aggregate-engagement-pattern-3-content-text p{color:#334b4f;font-size:1rem;line-height:1.5rem;margin-bottom:2rem}@media(max-width:767.98px){.dps-aggregate-engagement-pattern-3-content .dps-aggregate-engagement-pattern-3-content-text{margin:0}}.dps-aggregate-engagement-pattern-3-content img{height:20rem;width:30rem}@media(max-width:767.98px){.dps-aggregate-engagement-pattern-3-content img{height:100%;width:100%}}.dps-aggregate-engagement-pattern-3-content now-icon{margin:0 0 .25rem .625rem}@media(max-width:767.98px){.dps-aggregate-engagement-pattern-3-content{display:block}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-engagement-page-pattern-1{padding-bottom:2.1875rem;padding-top:6.75rem}.dps-engagement-page-pattern-1 .container{display:flex;flex-wrap:wrap;justify-content:space-evenly;margin:auto;max-width:56.125rem}.dps-engagement-page-pattern-1 .card{background:#fff;border:.0625rem solid hsla(0,0%,59%,.212);border-radius:.1875rem;margin-bottom:2rem;max-width:27.0625rem;padding:1.5rem;padding-bottom:4rem;position:relative}.dps-engagement-page-pattern-1 .card.full-width{background-position:100% 100%;background-repeat:no-repeat;display:flex;max-width:none;padding:0;width:100%}.dps-engagement-page-pattern-1 .card.full-width dps-link{margin-top:.5rem;position:static}@media(max-width:888px){.dps-engagement-page-pattern-1 .card.full-width{background-size:37% 100%}}@media(max-width:775px){.dps-engagement-page-pattern-1 .card.full-width{background-size:30% 90%}}@media(max-width:991.98px){.dps-engagement-page-pattern-1 .card.full-width{margin-left:1.5rem;margin-right:1.5rem}}@media(max-width:767.98px){.dps-engagement-page-pattern-1 .card.full-width{background-image:none!important}}@media(max-width:575.98px){.dps-engagement-page-pattern-1 .card{width:90%}}.dps-engagement-page-pattern-1 .card:nth-child(2n){margin-right:0}.dps-engagement-page-pattern-1 .card_image{width:100%}.dps-engagement-page-pattern-1 .card_title{font-family:ServiceNowSans-Regular;font-size:1.3125rem;font-weight:400;line-height:1.5}.dps-engagement-page-pattern-1 .card_description{color:#293e40;letter-spacing:0;line-height:1.5rem}.dps-engagement-page-pattern-1 .card dps-link{bottom:1.5rem;position:absolute}@media(max-width:575.98px){.dps-engagement-page-pattern-1 .card{display:block}}.full_width_card{padding:1.5rem;padding-bottom:2.5rem}.full_width_card-subtext{color:#697879;font-family:Lato,sans-serif;font-size:.8125rem;font-weight:600}.full_width_card-title{color:#1d2b2d;font-family:ServiceNowSans-Regular;font-size:1.3125rem;font-weight:600;margin-top:.5rem}.full_width_card-description{color:#1d2b2d;font-family:Lato,sans-serif;font-size:1rem;font-weight:400;margin:1rem 0;width:33.5625rem}@media(max-width:767.98px){.full_width_card-description{width:100%}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../images/guide-dev-account-signup-cta.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block;width:100%}.dps-overview{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;position:relative;width:100%}.dps-overview-section{padding:var(--dps-overview-section-learning-plans-padding,6.25rem 0);position:relative;width:100%}@media(max-width:991.98px){.dps-overview-section{padding:2rem 0}}.dps-overview-section.-centered .dps-overview-section-header{justify-content:center}.dps-overview-section.-centered .dps-overview-section-content{text-align:center}.dps-overview-section.-centered p{margin:0 auto 1.5rem}.dps-overview-section.-inverse{background-color:var(--dps-theme-inverse-background-color,#293e40);color:var(--dps-overview-section-font-color,#fff)}.dps-overview-section.-inverse .dps-overview-section-content{gap:1.5rem;margin:var(--dps-overview-section-learning-plans-content-margin);padding-left:0}.dps-overview-section.-inverse .dps-overview-section-content>p{color:var(--dps-overview-section-font-color,#fff);font-family:ServiceNowSans-Light;font-size:var(--dps-overview-section-learning-plans-description-font-size,1rem);line-height:var(--dps-overview-section-learning-plans-description-line-height,1.5);max-width:100%}.dps-overview-section.-inverse .dps-overview-section-header{color:var(--dps-overview-section-learning-plans-header-color,#fff);font-family:ServiceNowSans-Medium;font-size:28px;font-weight:500}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-subheader{color:var(--dps-create-account-subheader-color,#293e40);font-family:ServiceNowSansMono-Regular;font-size:var(--dps-create-account-subheader-font-size,.8125rem);line-height:var(--dps-create-account-subheader-line-height,1.1);margin:var(--dps-create-account-subheader-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-header{color:var(--dps-create-account-header-color,#474d52);font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500;letter-spacing:normal;line-height:1.925rem;margin:var(--dps-create-account-header-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content>p{color:#474d52;font-family:ServiceNowSans-Light;font-size:var(--dps-create-account-description-font-size,1rem);line-height:1.5rem;margin:0;max-width:100%}.dps-overview-section.-highlight{background-color:#f7f7f7}.dps-overview-section.-overview{background-color:#f7f7f7;font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}@media(max-width:991.98px){.dps-overview-section.-overview{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5}}.dps-overview-section.-overview p{margin:0 auto;max-width:46.375rem;text-align:left}.dps-overview-section.-overview p+p{margin-top:1.5rem}.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-two-col .dps-overview-section-content>img{margin:0 auto}@media(max-width:1199.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}@media(max-width:767.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-three-col .dps-overview-section-content>div{align-self:start}.dps-overview-section.-callout{align-items:center;background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");background-position:calc(50% + 275px) calc(100% - 2px);background-repeat:no-repeat;background-size:auto;display:flex;font-family:ServiceNowSans-Light;font-size:1.3125rem;height:37rem;line-height:1.5;overflow:hidden;position:relative}.dps-overview-section.-callout h2,.dps-overview-section.-callout p{max-width:32.5rem}.dps-overview-section.-callout h2+p{font-size:1.3125rem;margin-bottom:4rem}@media(max-width:991.98px){.dps-overview-section.-callout{background-image:none;height:auto}}.dps-overview-section.-callout .dps-overview-section-header{display:block;margin-bottom:1.5rem;padding-bottom:calc(1rem + 4px)}.dps-overview-section.-callout .dps-overview-section-header:before{background-color:#fff;bottom:0;content:\\\"\\\";height:.25rem;left:0;position:absolute;width:5rem}.dps-overview-section .-large{font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}.dps-overview-section img{max-width:100%}.dps-overview-section>p,.dps-overview-section>ul{margin:0 0 1.5rem;position:relative}.dps-overview-section>p{font-family:ServiceNowSans-Light;font-size:18px;max-width:37.5rem}.dps-overview-section ul{-webkit-margin-before:0;-webkit-padding-start:0;list-style-type:none;margin-block-start:0;padding-inline-start:0}.dps-overview-section ul li{margin-bottom:.75rem;position:relative}.dps-overview-section ul li:last-child{margin-bottom:0}.dps-overview-section dps-card p,.dps-overview-section dps-card ul,.dps-overview-section dps-content-stack p,.dps-overview-section dps-content-stack ul{margin:0 0 .75rem}.dps-overview-section dps-card p:last-child,.dps-overview-section dps-card ul:last-child,.dps-overview-section dps-content-stack p:last-child,.dps-overview-section dps-content-stack ul:last-child{margin:0}.dps-overview-section-content{margin:0 auto;max-width:var(--dps-overview-section-content-max-width,90rem);position:relative;width:100%}@media(max-width:767.98px){.dps-overview-section-content{padding:0 1.5rem}}.dps-overview-section-content.-narrow{color:#000;max-width:70.625rem}.dps-overview-section-content.-narrow .dps-overview-section-header{margin-bottom:1.5rem}.dps-overview-section-content.-narrow p{font-size:1.125rem}@media(max-width:1199.98px){.dps-overview-section-content.-narrow{max-width:100%}}@media(max-width:767.98px){.dps-overview-section-content.-narrow{padding:0 1.5rem}}.dps-overview-section-content.now-experience-ui-framework,.dps-overview-section-content.using-now-cli{max-width:100%}.dps-overview-section-header{align-items:center;color:#474d52;display:flex;font-family:ServiceNowSans-Regular;font-size:1.75rem;font-weight:400;line-height:1.1;margin:0 0 1.5rem;position:relative}@media(max-width:991.98px){.dps-overview-section-header{font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5;margin:0 0 1rem}}.dps-overview-section-header img+span{padding-left:1rem}.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:575.98px){.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:767.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}}@media(max-width:575.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-no-header{border-top:1px solid #b9bbbd;margin-top:2.5rem}.table-links-category{color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0 0 .25rem 0}.table-links-title{color:#474d52;font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75;margin:0 0 .25rem 0}.table-links-description{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.1;margin:0 0 .75rem 0}.table-links h3{box-shadow:0 1px 0 0 #b9bbbd;color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0;padding:0 0 .5rem;position:relative;text-transform:uppercase}.table-links ul{list-style:none;margin:2.5rem 0 0;padding:0}ul.list-with-active-indicator{list-style:none;margin:0;padding:0}ul.list-with-active-indicator li{align-items:var(--dps-list-with-active-indicator-align-items,center);border-left:4px solid transparent;display:flex;flex-direction:row;height:var(--dps-list-with-active-indicator-height,inherit);justify-content:flex-start;margin:var(--dps-list-with-active-indicator-margin,inherit);padding-left:var(--dps-list-with-active-indicator-padding-left,1rem)}ul.list-with-active-indicator li a{background:none;color:#8a8e91;display:block;margin-top:-.5rem}ul.list-with-active-indicator li.active{border-left:4px solid #81b5a1}ul.list-with-active-indicator li.active a{color:#474d52;font-family:ServiceNowSans-Regular}ul.list-with-active-indicator .FPO{align-items:center;background-color:pink;display:flex;height:200px;justify-content:center}hr{background-color:#d0d2d3;border:none;height:1px}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem}h1,h2{font-weight:400;line-height:1.1}h2{font-family:ServiceNowSans-Regular;font-size:1.75rem}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}section{border-bottom:1px solid #1c1c1d;padding:1.5rem}section>div{display:flex;overflow:auto}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/highlight.js/styles/agate.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".dps-media{margin:0;max-width:100%}.dps-media .dps-media-frame{align-items:center;background-color:#f7f7f7;display:flex;justify-content:center;padding:2rem;width:100%}@media(max-width:575.98px){.dps-media .dps-media-frame{padding:1rem}}.dps-media .dps-media-frame.is-hidden{background:none;min-height:0}.-grid-item .dps-media .dps-media-frame{min-width:100%;padding:1rem}.dps-media.-align-left,.dps-media.-align-right{margin:.75rem 0;width:50%}.dps-media.-align-left .dps-media-frame,.dps-media.-align-right .dps-media-frame{padding:1rem}.dps-media.-align-left .autoplay-notice,.dps-media.-align-right .autoplay-notice{bottom:1rem;left:1rem;right:1rem;top:1rem}.dps-media.-align-left{float:left;margin-right:1rem}.dps-media.-align-right{float:right;margin-left:1rem}@media(max-width:575.98px){.dps-media.-align-left,.dps-media.-align-right{float:none;margin-left:0;margin-right:0;width:100%}}.dps-media img{max-width:100%}.dps-media figcaption{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;font-style:italic;line-height:1.5;margin-bottom:0;margin-left:var(--caption-margin-left,1rem);margin-right:var(--caption-margin-right,1rem);margin-top:.5rem;max-width:100%;text-align:var(--caption-align,center)}:host([slot=do]) .dps-media,:host([slot=dont]) .dps-media{display:flex;flex-direction:column}:host([slot=do]) .dps-media-frame,:host([slot=dont]) .dps-media-frame{min-width:0;padding:1rem;width:100%}:host([slot=do]) .autoplay-notice,:host([slot=dont]) .autoplay-notice{bottom:1rem;left:1rem;right:1rem;top:1rem}.dps-video-frame{position:relative}.dps-video-frame video{max-width:100%}.dps-video-frame .autoplay-notice{align-items:center;background-color:hsla(0,0%,100%,.7);bottom:2rem;display:flex;left:2rem;pointer-events:none;position:absolute;right:2rem;text-align:center;top:2rem}@media(max-width:575.98px){.dps-video-frame .autoplay-notice{bottom:1rem;left:1rem;right:1rem;top:1rem}}.dps-video-frame .autoplay-notice>span{display:block;flex:1}sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}code.hljs{padding:1rem}aside,b,dd,div,dl,dt,em,i,li,ol,p,strong,ul{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;line-height:1.5rem}aside,dd,div,dl,dt,li,ol,p,ul{font-weight:400}a em{color:#00718f}strong,strong em{font-family:ServiceNowSans-Medium;font-weight:500}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem;line-height:1.1;line-height:1.3125rem;margin:2rem 0}h1,h2{color:#1d1d1d;font-size:1.75rem;font-weight:400;font-weight:500}h2{font-family:ServiceNowSans-Regular;font-family:ServiceNowSans-Medium;font-size:1.5rem;line-height:1.1;line-height:2.25rem;margin-bottom:.75rem 0}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400;margin-bottom:.5rem 0}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400;margin-bottom:.5rem 0}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal}blockquote,code,img,ol,p,pre,ul{margin:.75rem 0}img{max-width:100%}pre{margin-bottom:1.5rem;margin-top:.75rem}div+h1,div+h2,div+h3,div+h4,div+h5,div+h6,img+h1,img+h2,img+h3,img+h4,img+h5,img+h6,p+h1,p+h2,p+h3,p+h4,p+h5,p+h6,ul+h1,ul+h2,ul+h3,ul+h4,ul+h5,ul+h6{margin-top:2rem}b,strong{font-weight:500}b,code,strong{letter-spacing:.02em}code{background-color:#e8e8e9;border:1px solid #d0d2d3;border-radius:.25rem;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5}code b,code strong{font-weight:500}pre code{background-color:transparent;border:none;border-radius:0}.sm,small{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}.sm code,small code{font-size:80%}.lg,.xl{font-family:ServiceNowSans-Regular;font-size:1.3125rem;font-weight:400;line-height:1.5}.lg code,.xl code{font-size:80%}.xl{font-size:1.5rem;line-height:1.5}.dps-caption,.dps-label{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}a:not(.dps-link):not(.dps-button):not(.dps-card-click){border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal;margin:-.125rem;padding:0 .125rem;position:relative;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:normal}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus:not(:focus-visible){box-shadow:none;outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):hover{color:#024f69;text-decoration:underline;-webkit-text-decoration-color:#024f69;text-decoration-color:#024f69}a:not(.dps-link):not(.dps-button):not(.dps-card-click):active{color:#032d42;text-decoration:underline;-webkit-text-decoration-color:#032d42;text-decoration-color:#032d42}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}.do-dont-images{column-gap:1rem;display:grid;grid-auto-flow:column;grid-template-rows:1fr auto}@media screen and (max-width:767.98px){.do-dont-images{display:block}}.do-dont-images figcaption,.do-dont-images figure{margin:0;padding:0}.do-dont-images img{margin:0;max-width:100%;padding:0}.do-dont-images figure{background-color:#f7f7f7;border-top:5px solid;margin-top:2rem;padding:1rem;position:relative}.do-dont-images figcaption{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;font-style:italic;line-height:1.5;margin-bottom:0;margin-left:0;margin-right:0;margin-top:.5rem;max-width:100%;text-align:left}.do-dont-images .img-do h5,.do-dont-images .img-dont h5{font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;left:0;line-height:1.75;margin:0;padding:0;position:absolute;top:-2rem}.do-dont-images .img-dont{border-color:#fc726d}.do-dont-images .img-dont h5{color:#fc726d}.do-dont-images .img-do{border-color:#5cc4af}.do-dont-images .img-do h5{color:#5cc4af}.dps-wayfinder{list-style:none;margin:0;max-height:70vh;overflow:auto;padding:0;position:relative}.dps-wayfinder .dps-wayfinder-active-marker{background-color:#63df4e;height:0;left:0;position:absolute;top:0;transition:top .15s,height .15s;width:3px}.dps-wayfinder .dps-wayfinder-item{border-left:3px solid #e8e8e9;font-family:ServiceNowSans-Regular;padding:.5rem .5rem .5rem 1rem}.dps-wayfinder .dps-wayfinder-item[data-active=true]{font-family:ServiceNowSans-Bold}.dps-wayfinder .dps-wayfinder-item .dps-wayfinder-link,.dps-wayfinder .dps-wayfinder-item .dps-wayfinder-link:hover{background:none;box-shadow:none}.dps-wayfinder .dps-wayfinder-item .dps-wayfinder-link{color:#293e40}.dps-wayfinder .dps-wayfinder-item .dps-wayfinder-link:hover,.dps-wayfinder .dps-wayfinder-item[data-active=true] .dps-wayfinder-link{color:#2b2e31;outline:none}:host{display:block}table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}table td,table th{padding:.75rem;text-align:left;vertical-align:top}table tbody tr{border-bottom:1px solid #293e40}table tbody td{padding:1rem .75rem}table tbody td:first-child{min-width:10em;width:33%}table tbody td :first-child{margin-top:0}table tbody td :last-child{margin-bottom:0}table tbody td pre{white-space:pre-wrap}table tbody td samp{word-break:break-word}.dps-guides-detail{display:grid;grid-template-areas:\\\"header header\\\" \\\"article aside\\\" \\\"footer aside\\\";grid-template-columns:minmax(0,70.625rem) minmax(8.75rem,19.375rem);margin:0 auto;max-width:90rem;padding-left:5.75rem}@media(max-width:1199.98px){.dps-guides-detail{grid-template-columns:1fr}.dps-guides-detail aside{display:none}}@media(max-width:575.98px){.dps-guides-detail{padding-left:3.125rem}}.dps-guides-detail header{-ms-grid-column-span:2;grid-area:header;-ms-grid-column:1;-ms-grid-row:1}.dps-guides-detail article{grid-area:article;-ms-grid-column:1;-ms-grid-row:2;max-width:43.5625rem;padding-top:3.25rem}.dps-guides-detail aside{-ms-grid-row-span:2;grid-area:aside;-ms-grid-column:2;-ms-grid-row:2;padding-top:1.125rem}.dps-guides-detail footer{grid-area:footer;-ms-grid-column:1;-ms-grid-row:3;max-width:43.5625rem;padding:2.5rem 2rem 0 0}dps-spinner{position:relative;top:180px}dps-inline-version-selector{--dps-instance-icon-color:#000;margin-bottom:1.5rem}.dps-guides-detail-inline-version-switcher-half-width{max-width:31.25rem}@media(max-width:1199.98px){.dps-guides-detail-header-text-padding{padding-top:120%}}.dps-guides-detail-header{background-color:#f7f7f7;background-position:41rem bottom;background-repeat:no-repeat;color:#fff;margin-left:-5.75rem;padding:2.5rem 2.625rem}.dps-guides-detail-header h1,.dps-guides-detail-header h6,.dps-guides-detail-header p{margin:0;max-width:39.6875rem}.dps-guides-detail-header h6{color:#1d1d1d;font-family:ServiceNowSansMono-Regular;font-size:.875rem;line-height:1.5rem;margin-top:2rem;text-transform:uppercase}.dps-guides-detail-header h1{color:#1d1d1d;font-family:ServiceNowSans-Medium;font-size:2rem;font-weight:500;letter-spacing:-.02rem;line-height:2.475rem;margin:.5rem 0 1rem;text-align:justify}@media(max-width:1199.98px){.dps-guides-detail-header{background-position:top}.dps-guides-detail-header h1,.dps-guides-detail-header h6,.dps-guides-detail-header p{width:100%}}.dps-guides-detail-article{padding-right:2rem}.dps-guides-detail-article blockquote{background:#e1ecef;border-radius:.1875rem;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;margin:0;padding:.75rem 1.5rem 1rem}.dps-guides-detail-article blockquote p{margin:0}.dps-guides-detail-article div#nowPlatformGuideCards{grid-gap:1.25rem;display:grid;grid-template-columns:auto auto}@media(max-width:767.98px){.dps-guides-detail-article div#nowPlatformGuideCards{grid-gap:.125rem;grid-template-columns:auto;padding:1.5rem}.dps-guides-detail-article div#nowPlatformGuideCards img{margin-bottom:0}.dps-guides-detail-article div#nowPlatformGuideCards .card-pic{width:100%}.dps-guides-detail-article div#nowPlatformGuideCards .img-center{display:block;margin:0 auto}.dps-guides-detail-article div#nowPlatformGuideCards p{display:inline-block;margin-top:0}}@media(max-width:1199.98px){.dps-guides-detail-article .expand-line-in-mobile-view{margin-left:-20%;width:130%}}@media(max-width:575.98px){.dps-guides-detail-article table{word-break:break-all}.dps-guides-detail-article table td:first-child{min-width:auto}.dps-guides-detail-article div .col{display:contents}.dps-guides-detail-article dps-code-block{max-width:15.625rem}}.dps-guides-detail-sidebar{padding-right:.625rem;position:-webkit-sticky;position:sticky;top:var(--dps-guides-detail-sidebar)}.dps-guides-detail-sidebar dps-link{margin-bottom:1.5rem}.dps-guides-detail-sidebar .guide-print-button{float:right;margin-top:.3125rem}@media(max-width:1199.98px){.dps-guides-detail-sidebar .guide-print-button{display:none}}.sidenav.-guide-details{--dps-navigation-sidebar-level1-details-padding:11px}@media(max-width:991.98px){.sidenav.-guide-details{margin-top:-3.75rem}}.guide-feedback{margin-top:2.5rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../images/guide-dev-account-signup-cta.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{width:100%}.dps-overview{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;position:relative;width:100%}.dps-overview-section{padding:var(--dps-overview-section-learning-plans-padding,6.25rem 0);position:relative;width:100%}@media(max-width:991.98px){.dps-overview-section{padding:2rem 0}}.dps-overview-section.-centered .dps-overview-section-header{justify-content:center}.dps-overview-section.-centered .dps-overview-section-content{text-align:center}.dps-overview-section.-centered p{margin:0 auto 1.5rem}.dps-overview-section.-inverse{background-color:var(--dps-theme-inverse-background-color,#293e40);color:var(--dps-overview-section-font-color,#fff)}.dps-overview-section.-inverse .dps-overview-section-content{gap:1.5rem;margin:var(--dps-overview-section-learning-plans-content-margin);padding-left:0}.dps-overview-section.-inverse .dps-overview-section-content>p{color:var(--dps-overview-section-font-color,#fff);font-family:ServiceNowSans-Light;font-size:var(--dps-overview-section-learning-plans-description-font-size,1rem);line-height:var(--dps-overview-section-learning-plans-description-line-height,1.5);max-width:100%}.dps-overview-section.-inverse .dps-overview-section-header{color:var(--dps-overview-section-learning-plans-header-color,#fff);font-family:ServiceNowSans-Medium;font-size:28px;font-weight:500}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-subheader{color:var(--dps-create-account-subheader-color,#293e40);font-family:ServiceNowSansMono-Regular;font-size:var(--dps-create-account-subheader-font-size,.8125rem);line-height:var(--dps-create-account-subheader-line-height,1.1);margin:var(--dps-create-account-subheader-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-header{color:var(--dps-create-account-header-color,#474d52);font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500;letter-spacing:normal;line-height:1.925rem;margin:var(--dps-create-account-header-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content>p{color:#474d52;font-family:ServiceNowSans-Light;font-size:var(--dps-create-account-description-font-size,1rem);line-height:1.5rem;margin:0;max-width:100%}.dps-overview-section.-highlight{background-color:#f7f7f7}.dps-overview-section.-overview{background-color:#f7f7f7;font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}@media(max-width:991.98px){.dps-overview-section.-overview{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5}}.dps-overview-section.-overview p{margin:0 auto;max-width:46.375rem;text-align:left}.dps-overview-section.-overview p+p{margin-top:1.5rem}.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-two-col .dps-overview-section-content>img{margin:0 auto}@media(max-width:1199.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}@media(max-width:767.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-three-col .dps-overview-section-content>div{align-self:start}.dps-overview-section.-callout{align-items:center;background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");background-position:calc(50% + 275px) calc(100% - 2px);background-repeat:no-repeat;background-size:auto;display:flex;font-family:ServiceNowSans-Light;font-size:1.3125rem;height:37rem;line-height:1.5;overflow:hidden;position:relative}.dps-overview-section.-callout h2,.dps-overview-section.-callout p{max-width:32.5rem}.dps-overview-section.-callout h2+p{font-size:1.3125rem;margin-bottom:4rem}@media(max-width:991.98px){.dps-overview-section.-callout{background-image:none;height:auto}}.dps-overview-section.-callout .dps-overview-section-header{display:block;margin-bottom:1.5rem;padding-bottom:calc(1rem + 4px)}.dps-overview-section.-callout .dps-overview-section-header:before{background-color:#fff;bottom:0;content:\\\"\\\";height:.25rem;left:0;position:absolute;width:5rem}.dps-overview-section .-large{font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}.dps-overview-section img{max-width:100%}.dps-overview-section>p,.dps-overview-section>ul{margin:0 0 1.5rem;position:relative}.dps-overview-section>p{font-family:ServiceNowSans-Light;font-size:18px;max-width:37.5rem}.dps-overview-section ul{-webkit-margin-before:0;-webkit-padding-start:0;list-style-type:none;margin-block-start:0;padding-inline-start:0}.dps-overview-section ul li{margin-bottom:.75rem;position:relative}.dps-overview-section ul li:last-child{margin-bottom:0}.dps-overview-section dps-card p,.dps-overview-section dps-card ul,.dps-overview-section dps-content-stack p,.dps-overview-section dps-content-stack ul{margin:0 0 .75rem}.dps-overview-section dps-card p:last-child,.dps-overview-section dps-card ul:last-child,.dps-overview-section dps-content-stack p:last-child,.dps-overview-section dps-content-stack ul:last-child{margin:0}.dps-overview-section-content{margin:0 auto;max-width:var(--dps-overview-section-content-max-width,90rem);position:relative;width:100%}@media(max-width:767.98px){.dps-overview-section-content{padding:0 1.5rem}}.dps-overview-section-content.-narrow{color:#000;max-width:70.625rem}.dps-overview-section-content.-narrow .dps-overview-section-header{margin-bottom:1.5rem}.dps-overview-section-content.-narrow p{font-size:1.125rem}@media(max-width:1199.98px){.dps-overview-section-content.-narrow{max-width:100%}}@media(max-width:767.98px){.dps-overview-section-content.-narrow{padding:0 1.5rem}}.dps-overview-section-content.now-experience-ui-framework,.dps-overview-section-content.using-now-cli{max-width:100%}.dps-overview-section-header{align-items:center;color:#474d52;display:flex;font-family:ServiceNowSans-Regular;font-size:1.75rem;font-weight:400;line-height:1.1;margin:0 0 1.5rem;position:relative}@media(max-width:991.98px){.dps-overview-section-header{font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5;margin:0 0 1rem}}.dps-overview-section-header img+span{padding-left:1rem}.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:575.98px){.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:767.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}}@media(max-width:575.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-no-header{border-top:1px solid #b9bbbd;margin-top:2.5rem}.table-links-category{color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0 0 .25rem 0}.table-links-title{color:#474d52;font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75;margin:0 0 .25rem 0}.table-links-description{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.1;margin:0 0 .75rem 0}.table-links h3{box-shadow:0 1px 0 0 #b9bbbd;color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0;padding:0 0 .5rem;position:relative;text-transform:uppercase}.table-links ul{list-style:none;margin:2.5rem 0 0;padding:0}ul.list-with-active-indicator{list-style:none;margin:0;padding:0}ul.list-with-active-indicator li{align-items:var(--dps-list-with-active-indicator-align-items,center);border-left:4px solid transparent;display:flex;flex-direction:row;height:var(--dps-list-with-active-indicator-height,inherit);justify-content:flex-start;margin:var(--dps-list-with-active-indicator-margin,inherit);padding-left:var(--dps-list-with-active-indicator-padding-left,1rem)}ul.list-with-active-indicator li a{background:none;color:#8a8e91;display:block;margin-top:-.5rem}ul.list-with-active-indicator li.active{border-left:4px solid #81b5a1}ul.list-with-active-indicator li.active a{color:#474d52;font-family:ServiceNowSans-Regular}ul.list-with-active-indicator .FPO{align-items:center;background-color:pink;display:flex;height:200px;justify-content:center}hr{background-color:#d0d2d3;border:none;height:1px}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem}h1,h2{font-weight:400;line-height:1.1}h2{font-family:ServiceNowSans-Regular;font-size:1.75rem}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}:host{display:block}.dps-guides-experience-overview .-additional-reading{background-color:#f7f7f7}#now-experience-ui-framework h3{margin-bottom:.5rem;margin-top:1.5rem}#now-experience-ui-framework p{margin-bottom:.5rem;margin-top:.5rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/highlight.js/styles/agate.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}code.hljs{padding:1rem}aside,b,dd,div,dl,dt,em,i,li,ol,p,strong,ul{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;line-height:1.5rem}aside,dd,div,dl,dt,li,ol,p,ul{font-weight:400}a em{color:#00718f}strong,strong em{font-family:ServiceNowSans-Medium;font-weight:500}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem;line-height:1.1;line-height:1.3125rem;margin:2rem 0}h1,h2{color:#1d1d1d;font-size:1.75rem;font-weight:400;font-weight:500}h2{font-family:ServiceNowSans-Regular;font-family:ServiceNowSans-Medium;font-size:1.5rem;line-height:1.1;line-height:2.25rem;margin-bottom:.75rem 0}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400;margin-bottom:.5rem 0}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400;margin-bottom:.5rem 0}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal}blockquote,code,img,ol,p,pre,ul{margin:.75rem 0}img{max-width:100%}pre{margin-bottom:1.5rem;margin-top:.75rem}div+h1,div+h2,div+h3,div+h4,div+h5,div+h6,img+h1,img+h2,img+h3,img+h4,img+h5,img+h6,p+h1,p+h2,p+h3,p+h4,p+h5,p+h6,ul+h1,ul+h2,ul+h3,ul+h4,ul+h5,ul+h6{margin-top:2rem}b,strong{font-weight:500}b,code,strong{letter-spacing:.02em}code{background-color:#e8e8e9;border:1px solid #d0d2d3;border-radius:.25rem;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5}code b,code strong{font-weight:500}pre code{background-color:transparent;border:none;border-radius:0}.sm,small{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}.sm code,small code{font-size:80%}.lg,.xl{font-family:ServiceNowSans-Regular;font-size:1.3125rem;font-weight:400;line-height:1.5}.lg code,.xl code{font-size:80%}.xl{font-size:1.5rem;line-height:1.5}.dps-caption,.dps-label{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}a:not(.dps-link):not(.dps-button):not(.dps-card-click){border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal;margin:-.125rem;padding:0 .125rem;position:relative;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:normal}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus:not(:focus-visible){box-shadow:none;outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):hover{color:#024f69;text-decoration:underline;-webkit-text-decoration-color:#024f69;text-decoration-color:#024f69}a:not(.dps-link):not(.dps-button):not(.dps-card-click):active{color:#032d42;text-decoration:underline;-webkit-text-decoration-color:#032d42;text-decoration-color:#032d42}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}.do-dont-images{column-gap:1rem;display:grid;grid-auto-flow:column;grid-template-rows:1fr auto}@media screen and (max-width:767.98px){.do-dont-images{display:block}}.do-dont-images figcaption,.do-dont-images figure{margin:0;padding:0}.do-dont-images img{margin:0;max-width:100%;padding:0}.do-dont-images figure{background-color:#f7f7f7;border-top:5px solid;margin-top:2rem;padding:1rem;position:relative}.do-dont-images figcaption{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;font-style:italic;line-height:1.5;margin-bottom:0;margin-left:0;margin-right:0;margin-top:.5rem;max-width:100%;text-align:left}.do-dont-images .img-do h5,.do-dont-images .img-dont h5{font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;left:0;line-height:1.75;margin:0;padding:0;position:absolute;top:-2rem}.do-dont-images .img-dont{border-color:#fc726d}.do-dont-images .img-dont h5{color:#fc726d}.do-dont-images .img-do{border-color:#5cc4af}.do-dont-images .img-do h5{color:#5cc4af}table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}table td,table th{padding:.75rem;text-align:left;vertical-align:top}table tbody tr{border-bottom:1px solid #293e40}table tbody td{padding:1rem .75rem}table tbody td:first-child{min-width:10em;width:33%}table tbody td :first-child{margin-top:0}table tbody td :last-child{margin-bottom:0}table tbody td pre{white-space:pre-wrap}table tbody td samp{word-break:break-word}a code{background-color:transparent;border:none}div.print-title{display:none}dps-badge+.main-content{margin-top:-.75rem}pre code{white-space:pre-wrap}dps-inline-version-selector{--dps-instance-icon-color:#000;margin-bottom:1.5rem}dps-template-two-column{--dps-template-two-column-panel-padding:2.5rem 2.5rem 3.75rem 2rem}.main-content{margin-bottom:1.5rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../images/guide-dev-account-signup-cta.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{width:100%}.dps-overview{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;position:relative;width:100%}.dps-overview-section{padding:var(--dps-overview-section-learning-plans-padding,6.25rem 0);position:relative;width:100%}@media(max-width:991.98px){.dps-overview-section{padding:2rem 0}}.dps-overview-section.-centered .dps-overview-section-header{justify-content:center}.dps-overview-section.-centered .dps-overview-section-content{text-align:center}.dps-overview-section.-centered p{margin:0 auto 1.5rem}.dps-overview-section.-inverse{background-color:var(--dps-theme-inverse-background-color,#293e40);color:var(--dps-overview-section-font-color,#fff)}.dps-overview-section.-inverse .dps-overview-section-content{gap:1.5rem;margin:var(--dps-overview-section-learning-plans-content-margin);padding-left:0}.dps-overview-section.-inverse .dps-overview-section-content>p{color:var(--dps-overview-section-font-color,#fff);font-family:ServiceNowSans-Light;font-size:var(--dps-overview-section-learning-plans-description-font-size,1rem);line-height:var(--dps-overview-section-learning-plans-description-line-height,1.5);max-width:100%}.dps-overview-section.-inverse .dps-overview-section-header{color:var(--dps-overview-section-learning-plans-header-color,#fff);font-family:ServiceNowSans-Medium;font-size:28px;font-weight:500}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-subheader{color:var(--dps-create-account-subheader-color,#293e40);font-family:ServiceNowSansMono-Regular;font-size:var(--dps-create-account-subheader-font-size,.8125rem);line-height:var(--dps-create-account-subheader-line-height,1.1);margin:var(--dps-create-account-subheader-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-header{color:var(--dps-create-account-header-color,#474d52);font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500;letter-spacing:normal;line-height:1.925rem;margin:var(--dps-create-account-header-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content>p{color:#474d52;font-family:ServiceNowSans-Light;font-size:var(--dps-create-account-description-font-size,1rem);line-height:1.5rem;margin:0;max-width:100%}.dps-overview-section.-highlight{background-color:#f7f7f7}.dps-overview-section.-overview{background-color:#f7f7f7;font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}@media(max-width:991.98px){.dps-overview-section.-overview{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5}}.dps-overview-section.-overview p{margin:0 auto;max-width:46.375rem;text-align:left}.dps-overview-section.-overview p+p{margin-top:1.5rem}.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-two-col .dps-overview-section-content>img{margin:0 auto}@media(max-width:1199.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}@media(max-width:767.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-three-col .dps-overview-section-content>div{align-self:start}.dps-overview-section.-callout{align-items:center;background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");background-position:calc(50% + 275px) calc(100% - 2px);background-repeat:no-repeat;background-size:auto;display:flex;font-family:ServiceNowSans-Light;font-size:1.3125rem;height:37rem;line-height:1.5;overflow:hidden;position:relative}.dps-overview-section.-callout h2,.dps-overview-section.-callout p{max-width:32.5rem}.dps-overview-section.-callout h2+p{font-size:1.3125rem;margin-bottom:4rem}@media(max-width:991.98px){.dps-overview-section.-callout{background-image:none;height:auto}}.dps-overview-section.-callout .dps-overview-section-header{display:block;margin-bottom:1.5rem;padding-bottom:calc(1rem + 4px)}.dps-overview-section.-callout .dps-overview-section-header:before{background-color:#fff;bottom:0;content:\\\"\\\";height:.25rem;left:0;position:absolute;width:5rem}.dps-overview-section .-large{font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}.dps-overview-section img{max-width:100%}.dps-overview-section>p,.dps-overview-section>ul{margin:0 0 1.5rem;position:relative}.dps-overview-section>p{font-family:ServiceNowSans-Light;font-size:18px;max-width:37.5rem}.dps-overview-section ul{-webkit-margin-before:0;-webkit-padding-start:0;list-style-type:none;margin-block-start:0;padding-inline-start:0}.dps-overview-section ul li{margin-bottom:.75rem;position:relative}.dps-overview-section ul li:last-child{margin-bottom:0}.dps-overview-section dps-card p,.dps-overview-section dps-card ul,.dps-overview-section dps-content-stack p,.dps-overview-section dps-content-stack ul{margin:0 0 .75rem}.dps-overview-section dps-card p:last-child,.dps-overview-section dps-card ul:last-child,.dps-overview-section dps-content-stack p:last-child,.dps-overview-section dps-content-stack ul:last-child{margin:0}.dps-overview-section-content{margin:0 auto;max-width:var(--dps-overview-section-content-max-width,90rem);position:relative;width:100%}@media(max-width:767.98px){.dps-overview-section-content{padding:0 1.5rem}}.dps-overview-section-content.-narrow{color:#000;max-width:70.625rem}.dps-overview-section-content.-narrow .dps-overview-section-header{margin-bottom:1.5rem}.dps-overview-section-content.-narrow p{font-size:1.125rem}@media(max-width:1199.98px){.dps-overview-section-content.-narrow{max-width:100%}}@media(max-width:767.98px){.dps-overview-section-content.-narrow{padding:0 1.5rem}}.dps-overview-section-content.now-experience-ui-framework,.dps-overview-section-content.using-now-cli{max-width:100%}.dps-overview-section-header{align-items:center;color:#474d52;display:flex;font-family:ServiceNowSans-Regular;font-size:1.75rem;font-weight:400;line-height:1.1;margin:0 0 1.5rem;position:relative}@media(max-width:991.98px){.dps-overview-section-header{font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5;margin:0 0 1rem}}.dps-overview-section-header img+span{padding-left:1rem}.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:575.98px){.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:767.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}}@media(max-width:575.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-no-header{border-top:1px solid #b9bbbd;margin-top:2.5rem}.table-links-category{color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0 0 .25rem 0}.table-links-title{color:#474d52;font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75;margin:0 0 .25rem 0}.table-links-description{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.1;margin:0 0 .75rem 0}.table-links h3{box-shadow:0 1px 0 0 #b9bbbd;color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0;padding:0 0 .5rem;position:relative;text-transform:uppercase}.table-links ul{list-style:none;margin:2.5rem 0 0;padding:0}ul.list-with-active-indicator{list-style:none;margin:0;padding:0}ul.list-with-active-indicator li{align-items:var(--dps-list-with-active-indicator-align-items,center);border-left:4px solid transparent;display:flex;flex-direction:row;height:var(--dps-list-with-active-indicator-height,inherit);justify-content:flex-start;margin:var(--dps-list-with-active-indicator-margin,inherit);padding-left:var(--dps-list-with-active-indicator-padding-left,1rem)}ul.list-with-active-indicator li a{background:none;color:#8a8e91;display:block;margin-top:-.5rem}ul.list-with-active-indicator li.active{border-left:4px solid #81b5a1}ul.list-with-active-indicator li.active a{color:#474d52;font-family:ServiceNowSans-Regular}ul.list-with-active-indicator .FPO{align-items:center;background-color:pink;display:flex;height:200px;justify-content:center}hr{background-color:#d0d2d3;border:none;height:1px}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem}h1,h2{font-weight:400;line-height:1.1}h2{font-family:ServiceNowSans-Regular;font-size:1.75rem}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}:host{--dps-navigation-sidebar-title-padding:0.625rem 1.5rem 1.5rem 0px;display:block}.-guides{--dps-theme-highlight:#ff924e;--dps-theme-highlight-light-3:#ffd3b8;margin-top:-3.75rem;text-align:center;width:calc(100% - 60px)}.-guides .dps-guides-header{background-color:#f7f7f7;padding:2.5rem 2rem 3.125rem 2rem;text-align:left}.-guides .dps-guides-header__title{color:#16243a;font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500;line-height:2.625rem;margin:0 0 .46875rem 0}.-guides .dps-guides-header__subtitle{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1.125rem;line-height:normal;margin:0;max-width:52rem;padding:7.5px 0 7.5px .5px}@media(max-width:575.98px){.-guides .dps-guides-header{padding:2rem 1rem 1.5rem}.-guides .dps-guides-header__title{font-size:1.5rem;line-height:2.25rem}.-guides .dps-guides-header__subtitle{font-size:1rem}}@media(max-width:1439.98px){.-guides{width:100%}}.-guides .dps-overview-guide-page{background-color:#fcfcfc;margin:-3.75rem;padding-right:0}.-guides .dps-overview-guide-page.-remove-feedback{padding-bottom:3.75rem;padding-left:29px}.-guides .dps-overview-guide-page .dps-guide-overview-introduction{margin:0 auto 0 2.0625rem;padding-right:3.75rem}.-guides .dps-overview-guide-page .dps-guide-overview-introduction h2{color:#16243a;font-family:ServiceNowSans-Medium;font-size:1.5rem;font-weight:500;line-height:2.625rem;margin:2.125rem auto 1rem;text-align:start}@media(max-width:1439.98px){.-guides .dps-overview-guide-page .dps-guide-overview-introduction h2{width:80%}}@media(max-width:575.98px){.-guides .dps-overview-guide-page .dps-guide-overview-introduction h2{font-size:1.5rem;margin:2.125rem 0 1rem;max-width:21.0625rem;text-align:left}}.-guides .dps-overview-guide-page .dps-guide-overview-introduction .dps-guide-overview-description{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal;max-width:56.0625rem;text-align:start}@media(max-width:1439.98px){.-guides .dps-overview-guide-page .dps-guide-overview-introduction .dps-guide-overview-description{width:80%}}@media(max-width:575.98px){.-guides .dps-overview-guide-page .dps-guide-overview-introduction .dps-guide-overview-description{font-size:1rem;max-width:21.0625rem;text-align:left}}.-guides .dps-overview-guide-page .dps-guide-overview-card-section{margin-left:3.9375rem;padding-right:3.75rem}.-guides .dps-overview-guide-page .dps-guide-overview-card-section .dps-overview-card{background-color:#fff;margin:0 auto 1.5rem;max-width:56.0625rem;width:56.0625rem}@media(max-width:1439.98px){.-guides .dps-overview-guide-page .dps-guide-overview-card-section .dps-overview-card{width:80%}}@media(max-width:575.98px){.-guides .dps-overview-guide-page .dps-guide-overview-card-section .dps-overview-card{max-width:21.0625rem}}.-guides .dps-overview-guide-page .dps-guide-overview-card-section .dps-guides-columns-single-card{display:flex;text-align:left}@media(max-width:991.98px){.-guides .dps-overview-guide-page .dps-guide-overview-card-section .dps-guides-columns-single-card{flex-direction:column-reverse}}.-guides .dps-overview-guide-page .dps-guide-overview-card-section .dps-guides-columns{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none;max-width:70.625rem}@media(max-width:1439.98px){.-guides .dps-overview-guide-page .dps-guide-overview-card-section .dps-guides-columns{grid-gap:1rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none;width:100%}.-guides .dps-overview-guide-page .dps-guide-overview-card-section .dps-guides-columns dps-content-stack img{width:100%}}@media(max-width:575.98px){.-guides .dps-overview-guide-page .dps-guide-overview-card-section .dps-guides-columns{grid-gap:1rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.-guides .dps-overview-guide-page .dps-guide-overview-card-section .dps-guides-column{background-color:#fff;height:100%;padding:1.5rem}.-guides .dps-overview-guide-page .dps-guide-overview-card-section .dps-guides-single-card-image{background-color:#fff;height:100%;padding:0 1.5rem}@media(max-width:1199.98px){.-guides .dps-overview-guide-page .dps-guide-overview-card-section .dps-guides-single-card-image{padding:0}.-guides .dps-overview-guide-page .dps-guide-overview-card-section .dps-guides-single-card-image img{height:16.3125rem;width:13.6875rem}}@media(max-width:575.98px){.-guides .dps-overview-guide-page .dps-guide-overview-card-section .dps-guides-single-card-image{padding:0 1.5rem}.-guides .dps-overview-guide-page .dps-guide-overview-card-section .dps-guides-single-card-image img{height:100%;width:100%}}.-guides .dps-overview-guide-page .dps-guide-overview-card-section .dps-overview-section-content{align-items:start;margin:0 auto 5.125rem;max-width:56.0625rem;padding:0}@media(max-width:1439.98px){.-guides .dps-overview-guide-page .dps-guide-overview-card-section .dps-overview-section-content{width:80%}}@media(max-width:575.98px){.-guides .dps-overview-guide-page .dps-guide-overview-card-section .dps-overview-section-content{max-width:21.0625rem}.-guides .dps-overview-guide-page .dps-guide-overview-card-section .dps-overview-section-content dps-content-stack img{height:100%;width:100%}}.-guides .dps-overview-guide-page .dps-guide-overview-card-section .dps-guide-overview-section-full-cards-title{color:#474d52;font-family:ServiceNowSans-Medium}.-guides .dps-overview-guide-page .dps-guide-overview-card-section .dps-guide-overview-section-full-cards-title h3{margin-bottom:0}@media(max-width:575.98px){.-guides .dps-overview-guide-page .dps-guide-overview-card-section .dps-guide-overview-section-full-cards-title h3{font-size:.875rem}}.-guides .dps-overview-guide-page .dps-guide-overview-card-section .dps-guide-overview-section-full-cards-title h1{margin-top:0}@media(max-width:575.98px){.-guides .dps-overview-guide-page .dps-guide-overview-card-section .dps-guide-overview-section-full-cards-title h1{font-size:1.5rem}}.-guides .dps-overview-guide-page .dps-guide-overview-card-section .dps-guide-overview-section-cards-description{color:#293e40;letter-spacing:0}.-guides .dps-overview-guide-page .dps-guide-overview-card-section .dps-guide-overview-section-cards-title{font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5}@media(max-width:767.98px){.-guides .dps-overview-guide-page .dps-guide-overview-card-section .dps-guide-overview-section-cards-title{font-family:ServiceNowSans-Regular;font-size:1rem}}.-guides .dps-overview-guide-page .dps-guide-overview-card-section .dps-overview-section-feedback{align-items:start;margin:0 auto;max-width:56.0625rem;padding:0;text-align:left}@media(max-width:1439.98px){.-guides .dps-overview-guide-page .dps-guide-overview-card-section .dps-overview-section-feedback{width:80%}}@media(max-width:575.98px){.-guides .dps-overview-guide-page .dps-guide-overview-card-section .dps-overview-section-feedback{max-width:21.0625rem}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../images/guide-dev-account-signup-cta.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{width:100%}.dps-overview{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;position:relative;width:100%}.dps-overview-section{padding:var(--dps-overview-section-learning-plans-padding,6.25rem 0);position:relative;width:100%}@media(max-width:991.98px){.dps-overview-section{padding:2rem 0}}.dps-overview-section.-centered .dps-overview-section-header{justify-content:center}.dps-overview-section.-centered .dps-overview-section-content{text-align:center}.dps-overview-section.-centered p{margin:0 auto 1.5rem}.dps-overview-section.-inverse{background-color:var(--dps-theme-inverse-background-color,#293e40);color:var(--dps-overview-section-font-color,#fff)}.dps-overview-section.-inverse .dps-overview-section-content{gap:1.5rem;margin:var(--dps-overview-section-learning-plans-content-margin);padding-left:0}.dps-overview-section.-inverse .dps-overview-section-content>p{color:var(--dps-overview-section-font-color,#fff);font-family:ServiceNowSans-Light;font-size:var(--dps-overview-section-learning-plans-description-font-size,1rem);line-height:var(--dps-overview-section-learning-plans-description-line-height,1.5);max-width:100%}.dps-overview-section.-inverse .dps-overview-section-header{color:var(--dps-overview-section-learning-plans-header-color,#fff);font-family:ServiceNowSans-Medium;font-size:28px;font-weight:500}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-subheader{color:var(--dps-create-account-subheader-color,#293e40);font-family:ServiceNowSansMono-Regular;font-size:var(--dps-create-account-subheader-font-size,.8125rem);line-height:var(--dps-create-account-subheader-line-height,1.1);margin:var(--dps-create-account-subheader-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-header{color:var(--dps-create-account-header-color,#474d52);font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500;letter-spacing:normal;line-height:1.925rem;margin:var(--dps-create-account-header-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content>p{color:#474d52;font-family:ServiceNowSans-Light;font-size:var(--dps-create-account-description-font-size,1rem);line-height:1.5rem;margin:0;max-width:100%}.dps-overview-section.-highlight{background-color:#f7f7f7}.dps-overview-section.-overview{background-color:#f7f7f7;font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}@media(max-width:991.98px){.dps-overview-section.-overview{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5}}.dps-overview-section.-overview p{margin:0 auto;max-width:46.375rem;text-align:left}.dps-overview-section.-overview p+p{margin-top:1.5rem}.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-two-col .dps-overview-section-content>img{margin:0 auto}@media(max-width:1199.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}@media(max-width:767.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-three-col .dps-overview-section-content>div{align-self:start}.dps-overview-section.-callout{align-items:center;background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");background-position:calc(50% + 275px) calc(100% - 2px);background-repeat:no-repeat;background-size:auto;display:flex;font-family:ServiceNowSans-Light;font-size:1.3125rem;height:37rem;line-height:1.5;overflow:hidden;position:relative}.dps-overview-section.-callout h2,.dps-overview-section.-callout p{max-width:32.5rem}.dps-overview-section.-callout h2+p{font-size:1.3125rem;margin-bottom:4rem}@media(max-width:991.98px){.dps-overview-section.-callout{background-image:none;height:auto}}.dps-overview-section.-callout .dps-overview-section-header{display:block;margin-bottom:1.5rem;padding-bottom:calc(1rem + 4px)}.dps-overview-section.-callout .dps-overview-section-header:before{background-color:#fff;bottom:0;content:\\\"\\\";height:.25rem;left:0;position:absolute;width:5rem}.dps-overview-section .-large{font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}.dps-overview-section img{max-width:100%}.dps-overview-section>p,.dps-overview-section>ul{margin:0 0 1.5rem;position:relative}.dps-overview-section>p{font-family:ServiceNowSans-Light;font-size:18px;max-width:37.5rem}.dps-overview-section ul{-webkit-margin-before:0;-webkit-padding-start:0;list-style-type:none;margin-block-start:0;padding-inline-start:0}.dps-overview-section ul li{margin-bottom:.75rem;position:relative}.dps-overview-section ul li:last-child{margin-bottom:0}.dps-overview-section dps-card p,.dps-overview-section dps-card ul,.dps-overview-section dps-content-stack p,.dps-overview-section dps-content-stack ul{margin:0 0 .75rem}.dps-overview-section dps-card p:last-child,.dps-overview-section dps-card ul:last-child,.dps-overview-section dps-content-stack p:last-child,.dps-overview-section dps-content-stack ul:last-child{margin:0}.dps-overview-section-content{margin:0 auto;max-width:var(--dps-overview-section-content-max-width,90rem);position:relative;width:100%}@media(max-width:767.98px){.dps-overview-section-content{padding:0 1.5rem}}.dps-overview-section-content.-narrow{color:#000;max-width:70.625rem}.dps-overview-section-content.-narrow .dps-overview-section-header{margin-bottom:1.5rem}.dps-overview-section-content.-narrow p{font-size:1.125rem}@media(max-width:1199.98px){.dps-overview-section-content.-narrow{max-width:100%}}@media(max-width:767.98px){.dps-overview-section-content.-narrow{padding:0 1.5rem}}.dps-overview-section-content.now-experience-ui-framework,.dps-overview-section-content.using-now-cli{max-width:100%}.dps-overview-section-header{align-items:center;color:#474d52;display:flex;font-family:ServiceNowSans-Regular;font-size:1.75rem;font-weight:400;line-height:1.1;margin:0 0 1.5rem;position:relative}@media(max-width:991.98px){.dps-overview-section-header{font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5;margin:0 0 1rem}}.dps-overview-section-header img+span{padding-left:1rem}.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:575.98px){.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:767.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}}@media(max-width:575.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-no-header{border-top:1px solid #b9bbbd;margin-top:2.5rem}.table-links-category{color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0 0 .25rem 0}.table-links-title{color:#474d52;font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75;margin:0 0 .25rem 0}.table-links-description{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.1;margin:0 0 .75rem 0}.table-links h3{box-shadow:0 1px 0 0 #b9bbbd;color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0;padding:0 0 .5rem;position:relative;text-transform:uppercase}.table-links ul{list-style:none;margin:2.5rem 0 0;padding:0}ul.list-with-active-indicator{list-style:none;margin:0;padding:0}ul.list-with-active-indicator li{align-items:var(--dps-list-with-active-indicator-align-items,center);border-left:4px solid transparent;display:flex;flex-direction:row;height:var(--dps-list-with-active-indicator-height,inherit);justify-content:flex-start;margin:var(--dps-list-with-active-indicator-margin,inherit);padding-left:var(--dps-list-with-active-indicator-padding-left,1rem)}ul.list-with-active-indicator li a{background:none;color:#8a8e91;display:block;margin-top:-.5rem}ul.list-with-active-indicator li.active{border-left:4px solid #81b5a1}ul.list-with-active-indicator li.active a{color:#474d52;font-family:ServiceNowSans-Regular}ul.list-with-active-indicator .FPO{align-items:center;background-color:pink;display:flex;height:200px;justify-content:center}hr{background-color:#d0d2d3;border:none;height:1px}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem}h1,h2{font-weight:400;line-height:1.1}h2{font-family:ServiceNowSans-Regular;font-size:1.75rem}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}:host{box-sizing:border-box;display:block}.dps-overview-section.-related-parent{padding-bottom:0}.dps-overview-section.-related-child{padding-top:0}.dps-overview-section.-getting-started{background-color:#f7f7f7;font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}@media(max-width:991.98px){.dps-overview-section.-getting-started{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5}}.dps-overview-section.-guidance{background-color:#f7f7f7}@media(max-width:991.98px){.dps-overview-section.-guidance{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;padding:2rem 0}}.dps-overview-section .dps-guides-card-group{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section .dps-guides-card-group{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section .dps-guides-card-group .dps-guides-column{background-color:#fff;height:100%;padding:2.5rem}.dps-overview-section .dps-guides-card-group .dps-guides-column dps-content-stack{height:100%}.dps-overview-section .dps-guides-card-group p{max-width:100%}.dps-overview-section ul{list-style:disc;margin-top:1.5rem;padding-left:1.5rem}.dps-overview-section .dps-guides-features-group{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none;padding-top:2rem}@media(max-width:991.98px){.dps-overview-section .dps-guides-features-group{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section .dps-guides-features-group h3{line-height:1.1;margin-bottom:.5rem;margin-top:0}.dps-overview-section .dps-guides-features-group div>:last-child{margin-bottom:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../images/build-agent-bg.png\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-button{align-items:center;border:none;color:inherit;cursor:pointer;display:inline-flex;font-family:ServiceNowSans-Book;font-size:1rem;font-weight:400;justify-content:center;letter-spacing:.01em;line-height:1.1;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),border .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:nowrap;width:inherit}.dps-button:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-button:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:active{color:currentColor}.dps-button.is-disabled,.dps-button:disabled{cursor:not-allowed}.dps-button.-primary{background:var(--dps-button-primary-bg,#62d84e);border:2px solid var(--dps-button-primary-border-color,#62d84e);border-radius:.5rem;color:#1d1d1d;font-family:ServiceNowSans-Book}.dps-button.-primary:hover{background:#62d84e;border-color:var(--dps-button-primary-hover-border-color,#62d84e);color:var(--dps-button-primary-hover-color,#1d1d1d)}.dps-button.-primary.is-disabled,.dps-button.-primary:disabled{background:#b9bbbd}.dps-button.-primary svg{fill:#fff}.dps-button.-primary-inverse{background:#62d84e;border:2px solid #62d84e;border-radius:.5rem;color:#000;font-family:ServiceNowSans-Book}.dps-button.-primary-inverse:hover{background:#fff}.dps-button.-primary-inverse.is-disabled,.dps-button.-primary-inverse:disabled{background:#8a8e91}.dps-button.-primary-inverse svg{fill:#62d84e}.dps-button.-secondary{background:var(--dps-button-secondary-bg,#fff);border:var(--dps-button-secondary-border-width,2px) solid var(--dps-button-secondary-border-color,#62d84e);border-radius:.5rem;color:var(--dps-button-secondary-color,#1d1d1d);font-family:ServiceNowSans-Book;font-size:1rem}.dps-button.-secondary:hover{background:var(--dps-button-secondary-hover-bg,#62d84e);border-color:var(--dps-button-secondary-hover-border-color,#62d84e);box-shadow:var(--dps-button-secondar-hover-box-shadow);color:var(--dps-button-secondary-hover-color,#000)}.dps-button.-secondary:hover svg{fill:#fff}.dps-button.-secondary.is-bare{color:#032d42;font-family:ServiceNowSans-Book;font-size:1rem;line-height:normal}.dps-button.-secondary.is-disabled,.dps-button.-secondary:disabled{background:transparent;border-color:#b9bbbd;color:#b9bbbd}.dps-button.-secondary svg{fill:#1d1d1d}.dps-button.-secondary-inverse{background:#fff;border:2px solid #62d84e;border-radius:.5rem}.dps-button.-secondary-inverse:hover{background:#62d84e;border-color:#62d84e}.dps-button.-secondary-inverse:hover svg{fill:#62d84e}.dps-button.-secondary-inverse.is-disabled,.dps-button.-secondary-inverse:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-secondary-inverse svg{fill:#d0d2d3}.dps-button.-round{background:#01778e;border-radius:1.5rem;color:#fff;height:2.625rem;min-width:12.1875rem}.dps-button.-round.is-disabled,.dps-button.-round:disabled{background:transparent;border:1px solid #b9bbbd;color:#b9bbbd}.dps-button.-secondary-light{background:transparent;border:2px solid #fff;color:#fff}.dps-button.-secondary-light:hover{background:#fff;border-color:#fff;color:#293e40}.dps-button.-secondary-light.is-disabled,.dps-button.-secondary-light:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-destructive{background:#ca5b57;color:#fff}.dps-button.-destructive:hover{background:#fc726d}.dps-button.-destructive.is-disabled,.dps-button.-destructive:disabled{background:#fdaaa7}.dps-button.-sm{color:#000;font-family:ServiceNowSans-Book;font-size:1rem;gap:.125rem;height:auto;min-height:2rem;padding:.375rem 1rem}.dps-button.-sm.only-icon{padding:0;width:2rem}.dps-button.-sm.has-button-and-icon now-icon{width:2rem}.dps-button.-md{height:2.625rem;padding:0 1.5rem}.dps-button.-md.only-icon{padding:0;width:2.625rem}.dps-button.-md.has-button-and-icon now-icon{width:2.625rem}.dps-button.-lg{height:3.125rem;padding:0 2rem}.dps-button.-lg.only-icon{padding:0;width:3.125rem}.dps-button.-lg.has-button-and-icon now-icon{width:3.125rem}.dps-button.is-bare{background:transparent;border:none;color:#546566}.dps-button.is-bare:hover{background:transparent;border:none;color:#293e40}.dps-button.is-bare:hover svg{fill:#293e40}.dps-button.is-bare svg{fill:#546566}.dps-button.has-action now-icon{transition:transform .3s cubic-bezier(.075,.82,.165,1)}.dps-button.has-action:hover now-icon{transform:translateX(.125rem)}.dps-button.has-action:hover.-external-action now-icon{transform:translateX(1px) translateY(-1px)}.dps-button.is-white{color:#fff}.dps-button.-round-edge{border-radius:.5rem;height:auto;padding:.5rem 1rem}.dps-button-label+now-icon,.dps-button-label+svg{margin-left:.5rem}.dps-button-label+svg.-sm{height:.75rem;width:.75rem}.dps-button-label+svg.-md{height:1rem;width:1rem}.dps-button-label+svg.-lg{height:1.5rem;width:1.5rem}.dps-button-label+svg.-xl{height:2rem;width:2rem}:host{display:block}dps-spinner{min-height:100vh}.dps-home-auth-learn{background-color:#e1ecef;margin:0 auto}.dps-home-auth-media{background-color:#f7f7f7;margin:0 auto;padding:5rem 0}.dps-home-auth-hedder-warapper-hero{background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");background-repeat:no-repeat;background-size:cover;padding:0 0 5rem 0}@media(max-width:1024px){.dps-home-auth-hedder-warapper-hero{padding:0 0 2.5rem 0}}.dps-whats-new{align-items:center;background:#fff;display:flex;flex-direction:column;justify-content:center;padding:2.5rem}@media(max-width:1199.98px){.dps-whats-new{padding:1.5rem}}.dps-whats-new .text-body{display:flex;flex-direction:column;gap:1.625rem;text-align:center;width:100%}.dps-whats-new .text-body h2{color:#1d1d1d;font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500;margin:0}.dps-whats-new .text-body p{color:#3b3b3b;font-family:ServiceNowSans-Light;font-size:1.125rem;margin:0}@media(max-width:1199.98px){.dps-whats-new .text-body{gap:.5rem;text-align:left}.dps-whats-new .text-body h2{font-size:1.5rem}.dps-whats-new .text-body p{font-family:ServiceNowSans-Medium;font-size:.875rem;font-weight:500}}.dps-whats-new .card-container{margin-top:1.625rem}@media(max-width:1199.98px){.dps-whats-new .card-container{margin-top:1.5rem}}.dps-whats-new .dps-card{display:flex;flex-basis:calc(25% - 1.125rem)}@media(max-width:1199.98px){.dps-whats-new .dps-card{flex-basis:calc(50% - 0.75rem)}}@media(max-width:767.98px){.dps-whats-new .dps-card{flex-basis:100%}}.dps-whats-new .header-text{align-items:center;display:flex;flex-direction:column;justify-content:center}.dps-whats-new .header-text .header{color:#3b3b3b;font-family:ServiceNowSans-Bold;font-size:1.75rem}.dps-whats-new .header-text .sub-text{font-family:ServiceNowSans-Bold;font-size:1rem}@media(max-width:1199.98px){.dps-whats-new .header-text .sub-text{font-family:ServiceNowSans-Medium;font-size:.875rem;font-weight:500}}.dps-whats-new .card-container{display:flex;flex-wrap:wrap;gap:1.5rem;padding:0}.dps-home-auth-blog{background-color:#f7f7f7}.dps-home-auth-blog-title{display:inline-block}.dps-home-auth-blog-refresh{float:right}.dps-home-auth-blog-card{padding:2.5rem}.dps-home-auth-blog-card-container{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}@media(max-width:575.98px){.dps-home-auth-blog-card-container{grid-template-columns:1fr}}.dps-home-auth-blog-card-image{background-color:#fff;border-radius:50%}.dps-home-auth-blog-card-title{margin-bottom:2rem;min-height:2.75rem;width:100%}.dps-home-auth-blog-card p{color:#8a8e91}.dps-home-auth-community{background-color:#e6f0ec;margin:0 auto}.dps-home-section-content{background-color:#f2f5f7;padding:3rem 2.5rem 3rem 2.5rem}@media(max-width:1199.98px){.dps-home-section-content{padding:1.5rem;padding-bottom:2.5rem}}.dps-home-section-content .main-content{display:flex;flex-direction:column;gap:2.5rem}@media(max-width:1199.98px){.dps-home-section-content .main-content{gap:1.5rem}}.dps-home-section-content .main-content .text-body{display:flex;flex-direction:column;gap:1.5rem;text-align:center}.dps-home-section-content .main-content .text-body h2{font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500;margin:0}.dps-home-section-content .main-content .text-body p{font-family:ServiceNowSans-Light;font-size:1.125rem;margin:0}@media(max-width:1199.98px){.dps-home-section-content .main-content .text-body{gap:.5rem;text-align:left}.dps-home-section-content .main-content .text-body h2{font-size:1.5rem}.dps-home-section-content .main-content .text-body p{font-family:ServiceNowSans-Medium;font-size:.875rem;font-weight:500}}.dps-home-section-content .main-content .lerning-cards-container{display:grid;gap:2.5rem;grid-template-columns:repeat(2,1fr)}@media(max-width:991.98px){.dps-home-section-content .main-content .lerning-cards-container{grid-template-columns:1fr}}.dps-home-section-content .main-content .lerning-cards-container dps-home-auth-card{overflow:hidden}.dps-home-section-content .aes-warning-alert{margin-bottom:-1.5rem;padding-top:1rem}.dps-home-section-content.-header{padding:0}.dps-home-section-content.-header .dps-home-header-spinner{display:inline-block;margin:.5rem;width:.75rem}.dps-home-section-content.-header p{display:inline-block}.dps-home-section-content.-header .dps-home-header-alert{margin-top:.5rem}.dps-home-section-content.-header .dps-home-header-icon{color:#ff924e;display:inline-block;margin:.5rem}.dps-home-section-content.-header .dps-home-header-leaveWaitlist{text-decoration:underline}.dps-home-section-content.-header .item-in-progress-container{display:flex}.dps-home-section-content.-header .item-in-progress-container p{margin:.3125rem 0}@media(max-width:991.98px){.dps-home-section-content{padding:1rem 1.5rem 2.5rem}}.dps-home-auth-card{background-color:#fff;border:1px solid #e3e3e3;border-radius:.75rem;display:flex;flex-direction:column;height:100%;padding:1rem}.dps-home-auth-card .dps-home-auth-card-title{display:flex;font-family:ServiceNowSans-Regular;font-size:.75rem;gap:.3125rem;margin-bottom:.3125rem;padding:.3125rem .3125rem .3125rem 0}.dps-home-auth-card .dps-home-auth-card-title span{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:.875rem}.dps-home-auth-card .learning-path-badge{margin-bottom:.3125rem}.dps-home-auth-card .dps-auth-home-card-content-block a.main-title-link{color:#10171a;font-family:ServiceNowSans-Bold;font-size:1.25rem;text-decoration:none}.dps-home-auth-card .dps-auth-home-card-content-block a.main-title-link h3{-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;display:-webkit-box;font-family:ServiceNowSans-Book;font-size:1.25rem;font-weight:450;margin:.5rem 0;min-height:3.3125rem;overflow:hidden}.dps-home-auth-card .dps-auth-home-card-content-block .completion-progress{color:#10171a;font-family:ServiceNowSans-Book;font-size:1.25rem;font-weight:450;margin:.5rem 0}.dps-home-auth-card .dps-auth-home-card-content-block .no-visibility{visibility:hidden}.dps-home-auth-card .dps-auth-home-card-content-block .no-visibility.no-display{display:none}.dps-home-auth-card .dps-auth-home-card-content-block .dps-progress-bar-wrapper-bar{background-color:#007393}.dps-home-auth-card .dps-auth-home-card-content-block .dps-home-auth-card_content_nav-link{color:#032d42}@media(max-width:575.98px){.dps-home-auth-card{flex-wrap:wrap}}.dps-home-auth-card .blue{background-color:#68a1af}.dps-home-auth-card .purple{background-color:#8585bc}.dps-home-auth-card .light-purple{background-color:#9b97ca}.dps-home-auth-card .gable-green{background-color:#293e40}.dps-home-auth-card .green{background-color:#81b5a1}.dps-home-auth-card .yellow{background-color:#e5d87c}.dps-home-auth-card_article_count{color:#8a8e91;margin:.625rem 0}.dps-home-auth-card_content{color:inherit;flex:1;margin:1.5rem;text-decoration:none}.dps-home-auth-card_content_subtitle{font-family:ServiceNowSans-Light;font-size:.8125rem;letter-spacing:.02em;line-height:1.5;margin:0}.dps-home-auth-card_content_header{display:grid;grid-template-columns:1fr 51px;padding-right:1.625rem;width:100%}@media(max-width:575.98px){.dps-home-auth-card_content_header{grid-template-columns:1fr}.dps-home-auth-card_content_header dps-progress-circle{display:none}}.dps-home-auth-card_content_header h3{color:#293e40;display:inline-block;font-family:ServiceNowSans-Regular;font-size:1.25rem;font-weight:450;margin-bottom:.5rem;margin-top:.25rem;text-decoration:none}@media(max-width:575.98px){.dps-home-auth-card_content_header h3{margin:0 1.5rem 0 0}}.dps-home-auth-card_content_description{margin-bottom:.25rem;margin-top:.25rem}.dps-home-auth-card_content_nav-link{align-items:center;color:#032d42;cursor:pointer;display:flex;font-family:ServiceNowSans-Book;margin-top:.75rem;text-decoration:none}.dps-home-auth-card_content_nav-link_progress-bar{width:83%}.learn-section-card-container{column-gap:2rem;display:grid;width:100%}@media(max-width:575.98px){.learn-section-card-container{grid-template-columns:1fr}}.learn-section-card-container.-twoColumn{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.learn-section-card-container.-twoColumn dps-home-auth-card{height:100%}@media(max-width:575.98px){.learn-section-card-container.-twoColumn{grid-template-columns:1fr;row-gap:1.5rem}}.video-wrapper{background-color:#000;display:block;margin-bottom:2em;transition-delay:.39s}.video-height{background-size:cover;height:0;overflow:hidden;padding-top:56.25%;position:relative;width:100%}.video-height iframe{border:0;bottom:0;left:0;position:absolute;right:0;top:0}.disabled-button-touchpoint{display:inline-block;height:2.625rem;left:-195px;position:relative;top:16px;width:12.1875rem}.disabled-button-touchpoint:before{content:\\\"\\\"}.disabled-button-touchpoint:hover{cursor:not-allowed}.cancel-request{color:#ca5b57;cursor:pointer;margin-left:15px}.cancel-request:hover{text-decoration:underline}.dps-home-auth-blog-card-image{object-fit:cover;object-position:0 22%}.dps-home-auth-blog-card-container{column-gap:1.75rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);row-gap:1.5rem}@media(max-width:575.98px){.dps-home-auth-blog-card-container{grid-template-columns:minmax(0,1fr)}}.dps-home-auth-blog-card{background-color:#fff;padding:1.5rem;text-align:center}.tutorial-resources-custom-card-class{height:85%}@media(max-width:575.98px){.tutorial-resources-custom-card-class{height:95%}}.blog-section-class{padding-bottom:5.625rem}.image-wrapper{background:#f5f6f7;border-radius:.375rem;max-height:4.5rem;max-width:4.5rem;padding:.625rem}.image-wrapper .image{height:3.25rem;width:3.25rem}.community_card{cursor:pointer}.dps-community-section{align-items:center;background:#fff;display:flex;flex-direction:column;padding:3rem 2.5rem 3rem 2.5rem}@media(max-width:1199.98px){.dps-community-section{padding:1.5rem;padding-bottom:2.5rem;padding-top:2.5rem}}.dps-community-section .header-text{align-items:center;display:flex;flex-direction:column;gap:1.5rem}.dps-community-section .header{color:#1d1d1d;font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500}.dps-community-section now-button{--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-button--color:$dps-color-charcoal-black}.dps-community-section .community_card_container{display:flex;flex-direction:row;flex-wrap:wrap;gap:1.5rem;margin-top:2.5rem}.dps-community-section .community_card{background:#fff;border:1px solid #e3e3e3;border-radius:.75rem;display:flex;flex-basis:calc(25% - 1.5rem);flex-direction:row;gap:.75rem;padding:1rem}@media(max-width:1199.98px){.dps-community-section .community_card{flex-basis:calc(50% - 1.5rem)}}@media(max-width:767.98px){.dps-community-section .community_card{flex-basis:100%}}.community_title{align-items:center;color:#1d1d1d;display:flex;font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500}.current-user-role{background-color:#0079cc;border-radius:500px;color:#fff;display:flex;font-family:ServiceNowSans-Light;font-size:.75rem;font-weight:400;margin-bottom:.5rem;padding-left:.25rem;padding-right:.25rem;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.user-role-header{margin-bottom:.25rem}.change-user-role-completed,.pdi_action_inprogress{align-items:center;display:flex;flex-direction:column}.change-user-role-completed{gap:1rem}.completed-task{font-family:ServiceNowSans-Regular;font-size:1rem}.request-submitting-message{color:#666;font-family:ServiceNowSans-Light;font-size:.875rem;font-weight:600;padding-top:.875rem;text-align:center}.unconfigured{height:168px;width:216px}.role-layout{display:flex;gap:1.5rem;margin:.25rem}.role-cards{display:flex;flex:1;flex-direction:column;gap:1rem}.role-image{align-items:center;display:flex;flex:1;justify-content:center}.change-user-desc{font-family:ServiceNowSans-Light;font-size:.75rem;padding-top:.25rem}.update-user-role-text{font-family:ServiceNowSans-Regular;font-size:1rem;font-weight:600}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}:host{display:block}.new-user-banner{align-items:center;background-color:#546566;color:#fff;display:flex;justify-content:center;position:relative;text-align:center}.new-user-banner.-build-banner{background:#e1ecef;color:#293e40}.new-user-banner>div{margin:4.8125rem 3.875rem 5.375rem 7.8125rem;max-width:42.5625rem;width:100%;z-index:1}.new-user-banner>div.-build-banner{margin-bottom:5.375rem;margin-left:8.4375rem;margin-top:4.8125rem;max-width:38.5625rem}@media(max-width:767.98px){.new-user-banner>div,.new-user-banner>div.-build-banner{margin:2rem}}.new-user-banner p{font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5;margin-bottom:2rem}@media(max-width:575.98px){.new-user-banner p{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;margin-bottom:1.5rem}}.new-user-banner p.-new-user-banner-text{margin-bottom:2rem;text-align:left}.new-user-banner>dps-button{position:absolute;right:0;top:.5rem}.new-user-banner>img{bottom:0;left:3.375rem;max-width:11.6875rem;position:absolute;width:25%;z-index:0}@media(max-width:767.98px){.new-user-banner>img{display:none}}.new-user-banner_steps{text-align:left;width:100%}.new-user-banner_steps span{font-family:ServiceNowSans-Medium}.new-user-banner_heading{margin-top:0;text-align:left}.new-user-banner_img{object-position:0 1.375rem}.new-user-banner_img.-build-banner{max-width:16.25rem;object-position:0 -.0625rem}.new-user-banner_steps.-build-banner{text-align:left;width:100%}.new-user-banner_steps.-build-banner span{font-family:ServiceNowSans-Medium}.new-user-banner_heading.-build-banner{margin-top:0;text-align:left}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem;font-weight:400;line-height:1.1}@media(max-width:575.98px){h1{font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".build-section_header{display:block}.build-section_header h3{display:inline-block;margin:0 1.5rem 8px 1.5rem}@media(max-width:575.98px){.build-section_header h3{margin:0 1.5rem 0 0}}.build-section_header .dps-home-auth-build-version-selector{display:inline-block;position:relative;top:-.1875rem}.build-section_content{margin-left:3rem;margin-right:1.5rem}@media(max-width:767.98px){.build-section_content{margin-left:0;margin-right:0}}.build-section_content_item{border:.0625rem solid #e8e8e9;border-radius:.125rem;box-shadow:0 17px 18px -20px rgba(0,0,0,.15);display:flex;margin-bottom:2rem}@media(max-width:575.98px){.build-section_content_item{flex-direction:column}}.build-section_content_item_img{height:10.1875rem;width:14.75rem}@media(max-width:575.98px){.build-section_content_item_img{height:auto;width:100%}}.build-section_content_item_details{color:inherit;margin-left:1.5rem;margin-right:2.25rem;margin-top:1.3125rem;text-decoration:none}@media(max-width:767.98px){.build-section_content_item_details{margin:1.3125rem 1.5rem}}.build-section_content_item_description{margin-bottom:.25rem;margin-top:.25rem}.build-section_content_item_nav-link{align-items:center;cursor:pointer;display:flex;font-family:ServiceNowSans-Medium}.build-section_content_item_nav-link_progress-bar{width:83%}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}.new-user-banner{align-items:center;background-color:#546566;color:#fff;display:flex;justify-content:center;position:relative;text-align:center}.new-user-banner.-build-banner{background:#e1ecef;color:#293e40}.new-user-banner>div{margin:4.8125rem 3.875rem 5.375rem 7.8125rem;max-width:42.5625rem;width:100%;z-index:1}.new-user-banner>div.-build-banner{margin-bottom:5.375rem;margin-left:8.4375rem;margin-top:4.8125rem;max-width:38.5625rem}@media(max-width:767.98px){.new-user-banner>div,.new-user-banner>div.-build-banner{margin:2rem}}.new-user-banner p{font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5;margin-bottom:2rem}@media(max-width:575.98px){.new-user-banner p{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;margin-bottom:1.5rem}}.new-user-banner p.-new-user-banner-text{margin-bottom:2rem;text-align:left}.new-user-banner>dps-button{position:absolute;right:0;top:.5rem}.new-user-banner>img{bottom:0;left:3.375rem;max-width:11.6875rem;position:absolute;width:25%;z-index:0}@media(max-width:767.98px){.new-user-banner>img{display:none}}.new-user-banner_steps{text-align:left;width:100%}.new-user-banner_steps span{font-family:ServiceNowSans-Medium}.new-user-banner_heading{margin-top:0;text-align:left}.new-user-banner_img{object-position:0 1.375rem}.new-user-banner_img.-build-banner{max-width:16.25rem;object-position:0 -.0625rem}.new-user-banner_steps.-build-banner{text-align:left;width:100%}.new-user-banner_steps.-build-banner span{font-family:ServiceNowSans-Medium}.new-user-banner_heading.-build-banner{margin-top:0;text-align:left}@media(max-width:575.98px){h1{font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5}}:host{display:block}.dps-home-auth{column-gap:1.25rem;display:grid;font-family:ServiceNowSans-Light;font-size:1rem;grid-template-areas:\\\"sidebar main\\\";grid-template-columns:18.75rem minmax(0,auto);letter-spacing:.01em;line-height:1.5;margin:0 auto;max-width:90rem;padding:2rem 2.5rem}@media(max-width:1199.98px){.dps-home-auth{grid-template-areas:\\\"main\\\" \\\"sidebar\\\";grid-template-columns:minmax(0,1fr);padding:1rem 2.5rem}}@media(max-width:767.98px){.dps-home-auth{padding:1rem 1.5rem}}dps-home-auth-new-user-banner{margin-top:-2rem}@media(max-width:1199.98px){dps-home-auth-new-user-banner{margin-top:0}}dps-ad-cards-connected{margin:2rem 0}dps-ad-cards-connected.-banner-closed{margin:0 0 2rem 0}.main{background-color:#f7f7f7;grid-area:main;-ms-grid-column:3;-ms-grid-row:1;padding:2rem}@media(max-width:767.98px){.main{background-color:transparent;padding:0}}.main>div{background-color:#fff;margin-bottom:2.5rem;padding:1.5rem 0}.main .main-content,.main>div>h3{margin-left:1.5rem;margin-right:1.5rem}@media(max-width:767.98px){.main .main-content,.main>div>h3{margin-left:0;margin-right:0}}.main .main-content footer{border-top:1px solid #d0d2d3;display:flex;justify-content:flex-end;margin:0;padding-top:1rem}.sidebar{grid-area:sidebar;-ms-grid-column:1;-ms-grid-row:1}@media (max-width:1199.98px){.main{-ms-grid-column:1;-ms-grid-row:1}.sidebar{-ms-grid-column:1;-ms-grid-row:2}}.sidebar>*{margin-top:2.5rem}.sidebar>:first-child{margin-top:0}.welcome{background-color:#e6f0ec;padding:1.5rem}@media(max-width:1199.98px){.welcome{display:none}}.welcome h3{margin:0}.welcome p:last-child{margin-bottom:0}@media(max-width:1199.98px){.instance-widget{display:none}}.dps-home-auth-learn h3{display:inline-block}@media(max-width:767.98px){.dps-home-auth-learn h3{margin-right:1rem}}.dps-home-auth-learn .dps-home-auth-learn-version-selector{display:inline-block;position:relative;top:-1px}.dps-home-auth-sidebar-section .dps-home-auth-sidebar-section-content{background-color:#f7f7f7;padding:1.5rem}.dps-home-auth-sidebar-section .dps-home-auth-sidebar-section-content_community-intro{font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:600;letter-spacing:0}.dps-home-auth-sidebar-section .dps-home-auth-sidebar-section-content_community-img{align-items:center;background:#fff;border-radius:2.375rem;display:flex;height:4.5625rem;justify-content:center;margin:1rem auto 1.5rem auto;width:4.5625rem}.dps-home-auth-sidebar-section .dps-home-auth-sidebar-section-content_community-img img{height:2.5rem;width:2.5rem}.dps-home-auth-sidebar-section .dps-home-auth-sidebar-section-content_community-description{text-align:center}.dps-home-auth-sidebar-section .dps-home-auth-sidebar-section-content_community-description div{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;font-weight:400;height:3rem;letter-spacing:0;line-height:1.5rem}.dps-home-auth-sidebar-section ul{list-style:none;margin:0;padding:0}.dps-home-auth-sidebar-section li{border-bottom:1px solid #dadbdc;margin:0;padding:1rem 0}.dps-home-auth-sidebar-section li:first-child{padding-top:0}.dps-home-auth-sidebar-section h4{margin:0}.dps-home-auth-sidebar-section p{color:#919497;font-family:ServiceNowSans-Light;font-size:.8125rem;letter-spacing:.02em;line-height:1.5;margin:0}.dps-home-auth-sidebar-section a{color:inherit;display:inline-block;text-decoration:none}.dps-home-auth-sidebar-section a:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-home-auth-sidebar-section a:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-home-auth-sidebar-section a:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-home-auth-sidebar-section dps-link{margin-top:1.5rem}.discover-list li a,.learn-new-list li a,.learn-progress-list li a{align-items:center;color:inherit;display:flex;padding:1.5rem 0;position:relative;text-decoration:none;transition:padding .3s ease-in-out;width:100%}.discover-list li a:focus,.learn-new-list li a:focus,.learn-progress-list li a:focus{box-shadow:0 0 0 2px #5cc4af,0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.discover-list li a:focus:not(:focus-visible),.learn-new-list li a:focus:not(:focus-visible),.learn-progress-list li a:focus:not(:focus-visible){box-shadow:none;outline:none}.discover-list li a:focus-visible,.learn-new-list li a:focus-visible,.learn-progress-list li a:focus-visible{box-shadow:0 0 0 2px #5cc4af,0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.discover-list li a:before,.learn-new-list li a:before,.learn-progress-list li a:before{background-color:#9ac4b4;content:\\\"\\\";display:block;height:100%;left:0;opacity:0;position:absolute;top:0;transform:scaleX(0);transition:opacity .15s,transform .3s ease-in-out;transition-delay:0;width:.25rem}.discover-list li a:hover,.learn-new-list li a:hover,.learn-progress-list li a:hover{padding-left:1rem}.discover-list li a:hover:before,.learn-new-list li a:hover:before,.learn-progress-list li a:hover:before{opacity:1;transform:scale(1);transition-delay:.15s}@media(max-width:991.98px){.discover-list li a:hover,.learn-new-list li a:hover,.learn-progress-list li a:hover{padding:1.5rem 0}.discover-list li a:before,.learn-new-list li a:before,.learn-progress-list li a:before{display:none}}.learn-progress-list{list-style:none;margin:0;padding:0}.learn-progress-list li{border-bottom:1px solid #dadbdc;width:100%}.learn-progress-list li a{justify-content:flex-end;width:100%}@media(max-width:767.98px){.learn-progress-list li a{flex-wrap:wrap;justify-content:space-between}.learn-progress-list li a h4{flex-basis:100%;margin-bottom:.75rem}.learn-progress-list li a dps-progress-bar{flex-basis:80%;margin-left:0}}.learn-progress-list li a:hover{padding-left:0}.learn-progress-list li a:hover h4{padding-left:1rem}@media(max-width:991.98px){.learn-progress-list li a:hover h4{padding-left:0}}.learn-progress-list h4{flex-basis:40%;margin:0 auto 0 0;overflow:hidden;text-overflow:ellipsis;transition:padding .3s ease-in-out;white-space:nowrap}.learn-progress-list dps-progress-bar{flex-basis:50%;margin-left:.75rem;margin-right:.75rem}.learn-new-list{list-style:none;margin:1.5rem 0 0;padding:0}.learn-new-list li{margin:.5rem 0}.learn-new-list img{margin-right:2.5rem}.learn-new-list p{margin:0}.learn-new-list now-icon{margin-left:.75rem}@media(max-width:767.98px){.learn-new-list img{display:none}.learn-new-list h3{align-items:center;display:flex;font-family:ServiceNowSans-Regular;font-size:1rem;font-weight:400;line-height:1.75}.learn-new-list now-icon{margin-left:.5rem}}.discover-list{list-style:none;margin:0;padding:0}.discover-list li{border-bottom:1px solid #dadbdc;width:100%}.discover-list li a{justify-content:space-between;width:100%}.discover-list now-icon{transition:transform .3s}.discover-list h6,.discover-list p{margin:0}.discover-list h6{text-transform:uppercase}.partner-banner{background-color:#e8e8e9;padding:4rem;position:relative}.partner-banner img{bottom:0;position:absolute;right:4rem}@media(max-width:767.98px){.partner-banner img{display:none}}@media(max-width:575.98px){.partner-banner{padding:1rem}}dps-share-projects{width:100%}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem}h1,h2{font-weight:400;line-height:1.1}h2{font-family:ServiceNowSans-Regular;font-size:1.75rem}@media(max-width:767.98px){h2{font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5}}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5;margin-bottom:.5rem;margin-top:0}h3,h4{font-weight:400}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}hr{border:none;border-bottom:1px solid #dadbdc;height:1px}.sidebar hr{margin-bottom:1rem}.large{font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}@media(max-width:767.98px){.large{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5}}.dps-home-auth-version-selector{margin-top:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/highlight.js/styles/agate.css\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../images/build-agent-bg.png\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"../../images/group-9.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}code.hljs{padding:1rem}aside,b,dd,div,dl,dt,em,i,li,ol,p,strong,ul{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;line-height:1.5rem}aside,dd,div,dl,dt,li,ol,p,ul{font-weight:400}a em{color:#00718f}strong,strong em{font-family:ServiceNowSans-Medium;font-weight:500}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem;line-height:1.1;line-height:1.3125rem;margin:2rem 0}h1,h2{color:#1d1d1d;font-size:1.75rem;font-weight:400;font-weight:500}h2{font-family:ServiceNowSans-Regular;font-family:ServiceNowSans-Medium;font-size:1.5rem;line-height:1.1;line-height:2.25rem;margin-bottom:.75rem 0}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400;margin-bottom:.5rem 0}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400;margin-bottom:.5rem 0}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal}blockquote,code,img,ol,p,pre,ul{margin:.75rem 0}img{max-width:100%}pre{margin-bottom:1.5rem;margin-top:.75rem}div+h1,div+h2,div+h3,div+h4,div+h5,div+h6,img+h1,img+h2,img+h3,img+h4,img+h5,img+h6,p+h1,p+h2,p+h3,p+h4,p+h5,p+h6,ul+h1,ul+h2,ul+h3,ul+h4,ul+h5,ul+h6{margin-top:2rem}b,strong{font-weight:500}b,code,strong{letter-spacing:.02em}code{background-color:#e8e8e9;border:1px solid #d0d2d3;border-radius:.25rem;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5}code b,code strong{font-weight:500}pre code{background-color:transparent;border:none;border-radius:0}.sm,small{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}.sm code,small code{font-size:80%}.lg,.xl{font-family:ServiceNowSans-Regular;font-size:1.3125rem;font-weight:400;line-height:1.5}.lg code,.xl code{font-size:80%}.xl{font-size:1.5rem;line-height:1.5}.dps-caption,.dps-label{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}a:not(.dps-link):not(.dps-button):not(.dps-card-click){border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal;margin:-.125rem;padding:0 .125rem;position:relative;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:normal}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus:not(:focus-visible){box-shadow:none;outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):hover{color:#024f69;text-decoration:underline;-webkit-text-decoration-color:#024f69;text-decoration-color:#024f69}a:not(.dps-link):not(.dps-button):not(.dps-card-click):active{color:#032d42;text-decoration:underline;-webkit-text-decoration-color:#032d42;text-decoration-color:#032d42}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}.do-dont-images{column-gap:1rem;display:grid;grid-auto-flow:column;grid-template-rows:1fr auto}@media screen and (max-width:767.98px){.do-dont-images{display:block}}.do-dont-images figcaption,.do-dont-images figure{margin:0;padding:0}.do-dont-images img{margin:0;max-width:100%;padding:0}.do-dont-images figure{background-color:#f7f7f7;border-top:5px solid;margin-top:2rem;padding:1rem;position:relative}.do-dont-images figcaption{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;font-style:italic;line-height:1.5;margin-bottom:0;margin-left:0;margin-right:0;margin-top:.5rem;max-width:100%;text-align:left}.do-dont-images .img-do h5,.do-dont-images .img-dont h5{font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;left:0;line-height:1.75;margin:0;padding:0;position:absolute;top:-2rem}.do-dont-images .img-dont{border-color:#fc726d}.do-dont-images .img-dont h5{color:#fc726d}.do-dont-images .img-do{border-color:#5cc4af}.do-dont-images .img-do h5{color:#5cc4af}:host{display:block}.behavior-is-not-in-viewport,.behavior-not-yet-in-viewport{opacity:0;transform:translateY(3rem)}.behavior-is-in-viewport{opacity:1;transform:translate(0);transition:opacity .5s ease .13s,transform .5s ease .13s}.dps-home-unauth .-content-column{margin:0 auto;max-width:68.75rem;min-width:0}.dps-home-unauth-hedder-warapper-hero{background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");background-position:top;background-repeat:no-repeat;background-size:cover;padding:0 0 5rem 0;position:relative}@media(max-width:1024px){.dps-home-unauth-hedder-warapper-hero{padding:0 0 2.5rem 0}}.dps-home-unauth-build-deploy{align-items:center;background:#fcfcfc;display:flex;flex-direction:column;flex-wrap:wrap;font-family:ServiceNowSans-Light;gap:2.5rem;padding:3rem 2.5rem 3rem 2.5rem;text-align:center}@media(max-width:1199.98px){.dps-home-unauth-build-deploy{padding:1.5rem}}.dps-home-unauth-build-deploy .dps-home-unauth-build-deploy-title h2,.dps-home-unauth-build-deploy .dps-home-unauth-build-deploy-title p{margin:0}.dps-home-unauth-build-deploy .dps-home-unauth-build-deploy-title p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1.125rem;line-height:1.2;max-width:650px}@media(max-width:1199.98px){.dps-home-unauth-build-deploy .dps-home-unauth-build-deploy-title p{font-family:ServiceNowSans-Light;font-size:.875rem;max-width:100%;text-align:left}}.dps-home-unauth-build-deploy .dps-home-unauth-build-deploy-title h2{color:#1d1d1d;font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500;margin-bottom:1.5rem}.dps-home-unauth-build-deploy .dps-home-unauth-build-deploy-cards{display:flex;flex-wrap:wrap;gap:1.5rem}@media(max-width:991.98px){.dps-home-unauth-build-deploy .dps-home-unauth-build-deploy-cards{flex-direction:column}}@media(max-width:1199.98px){.dps-home-unauth-build-deploy{align-items:unset;gap:1.5rem}.dps-home-unauth-build-deploy .dps-home-unauth-build-deploy-title h2{font-size:1.5rem;line-height:100%;margin-bottom:.5rem;text-align:left}.dps-home-unauth-build-deploy .dps-home-unauth-build-deploy-title p{font-size:.875rem;line-height:100%}}.video-wrapper{align-items:center;display:flex;transition-delay:.39s}.video-height{background-size:cover;height:0;overflow:hidden;padding-top:56.25%;position:relative;width:100%}.video-height iframe{border:0;bottom:0;left:0;position:absolute;right:0;top:0;transition:visibility 0 .63s;visibility:hidden}.behavior-is-in-viewport .video-height iframe{visibility:visible}.dps-home-unauth-build{align-items:flex-end;background-color:#e1ecef;display:flex;margin:0 auto;max-width:85rem;transition-delay:.52s}.dps-home-unauth-build header.leader-text{flex:1;margin-bottom:2.5rem;text-align:left}@media(max-width:991.98px){.dps-home-unauth-build header.leader-text{padding:1.5rem 0 0}}.dps-home-unauth-build header.leader-text .leader-text-inner{padding-left:8%}.dps-home-unauth-build header.leader-text h2,.dps-home-unauth-build header.leader-text p{margin-left:0;margin-right:auto}.dps-home-unauth-build .dps-home-unauth-build-image-wrapper{flex:1}.dps-home-unauth-build .dps-home-unauth-build-image-wrapper img{display:block;margin:-50px auto 0;max-width:100%}@media(max-width:1199.98px){.dps-home-unauth-build .dps-home-unauth-build-image-wrapper img{width:50%}}@media(max-width:991.98px){.dps-home-unauth-build .dps-home-unauth-build-image-wrapper{display:none}}.dps-home-unauth-events{background:#f2f5f7;margin:0 auto;overflow:hidden;padding:3rem 2.5rem 3rem 2.5rem;z-index:0}@media(max-width:1199.98px){.dps-home-unauth-events{padding:1.5rem}}.dps-home-unauth-events .dps-home-unauth-event-title{margin:0 auto;margin-bottom:1.5rem;position:relative;text-align:center}.dps-home-unauth-events .dps-home-unauth-event-title.behavior-is-not-in-viewport,.dps-home-unauth-events .dps-home-unauth-event-title.behavior-not-yet-in-viewport{opacity:0;transform:none}.dps-home-unauth-events .dps-home-unauth-event-title.behavior-is-in-viewport{opacity:1;transition:opacity .5s ease .5s}.dps-home-unauth-events .dps-home-unauth-event-title h2{color:#1d1d1d;display:inline-block;font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500;margin:0;position:relative;text-transform:none}@media(max-width:1199.98px){.dps-home-unauth-events .dps-home-unauth-event-title{margin-bottom:1.5rem;text-align:left}.dps-home-unauth-events .dps-home-unauth-event-title h2{font-size:1.5rem;letter-spacing:0}.dps-home-unauth-events .dps-home-unauth-event-title:before{height:0}}.dps-home-unauth-events dps-ad-cards-connected{margin:0 auto;max-width:90rem;padding:0 1.5rem}header.leader-text{text-align:center}header.leader-text h2{font-size:1.75rem;line-height:1.4;margin-bottom:1rem}header.leader-text p{color:#474d52;font-family:ServiceNowSans-Light;font-size:1.3125rem;font-weight:100;line-height:1.5;margin-left:auto;margin-right:auto;max-width:60%}header.leader-text p:last-child{margin-bottom:2rem}@media(max-width:1199.98px){header.leader-text p{max-width:80%}}@media(max-width:767.98px){header.leader-text p{font-size:1rem}}#dps-home-unauth-dev-program{display:flex;flex-direction:column;gap:2.5rem;padding:3rem 2.5rem 3rem 2.5rem}@media(max-width:1199.98px){#dps-home-unauth-dev-program{padding:1.5rem}}@media(max-width:991.98px){#dps-home-unauth-dev-program{padding:1.5rem}}#dps-home-unauth-dev-program .leader-text{align-items:center;display:flex;flex-direction:column;gap:1.5rem}#dps-home-unauth-dev-program .leader-text h2{color:#1d1d1d;font-family:ServiceNowSans-Medium;font-size:1.75rem;font-style:normal;font-weight:500;margin:0}#dps-home-unauth-dev-program .leader-text p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1.125rem;margin:0;max-width:39.375rem}@media(max-width:767.98px){#dps-home-unauth-dev-program .leader-text p{max-width:100%}#dps-home-unauth-dev-program .leader-text h2 br{display:none}}@media(max-width:1199.98px){#dps-home-unauth-dev-program{gap:1.5rem}#dps-home-unauth-dev-program .leader-text{align-items:start;gap:.5rem;text-align:left}#dps-home-unauth-dev-program .leader-text h2{line-height:1}#dps-home-unauth-dev-program .leader-text p{font-family:ServiceNowSans-Regular;font-size:.875rem;max-width:100%}}#dps-home-unauth-dev-program .card-container{display:flex;flex-wrap:wrap;gap:1.5rem;padding:0}#dps-home-unauth-dev-program .card-container .dps-card{display:flex;flex-basis:calc(25% - 1.125rem)}@media(max-width:1199.98px){#dps-home-unauth-dev-program .card-container .dps-card{flex-basis:calc(50% - 0.75rem)}}@media(max-width:767.98px){#dps-home-unauth-dev-program .card-container .dps-card{flex-basis:100%}}.dps-home-unauth-show-me{background:linear-gradient(#e8f0ec 599px,#fff 20%);padding-bottom:2rem;padding-top:20rem;text-align:center}@media(max-width:1199.98px){.dps-home-unauth-show-me{padding-top:9rem}}.dps-home-unauth-show-me:before{background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \");background-position:50% 0;background-repeat:no-repeat;bottom:0;content:\\\"\\\";left:0;max-height:34.6875rem;position:absolute;right:0;top:0;transition:background-position .8s ease;z-index:1}@media(max-width:1199.98px){.dps-home-unauth-show-me:before{background-size:contain;max-height:10rem}}.dps-home-unauth-show-me.behavior-is-not-in-viewport,.dps-home-unauth-show-me.behavior-not-yet-in-viewport{opacity:1;transform:translate(0)}.dps-home-unauth-show-me.behavior-is-not-in-viewport:before,.dps-home-unauth-show-me.behavior-not-yet-in-viewport:before{background-position:50% 80%}.dps-home-unauth-show-me.behavior-is-in-viewport:before{background-position:50% 0}.dps-home-unauth-show-me dps-link,.dps-home-unauth-show-me header{margin:0 auto;max-width:85rem;position:relative;z-index:5}.dps-home-unauth-show-me h2{padding-left:1rem;padding-right:1rem}@media(max-width:767.98px){.dps-home-unauth-show-me:before{background-size:contain}.dps-home-unauth-show-me.behavior-is-not-in-viewport:before,.dps-home-unauth-show-me.behavior-not-yet-in-viewport:before{background-position:50% 20%}}@media(max-width:575.98px){.dps-home-unauth-show-me header.leader-text h2{margin:1.5rem auto 1rem;max-width:17.25rem}}.dps-home-unauth-choose-a-plan{margin:0 auto;max-width:90rem;padding:0 2.5rem}.dps-home-unauth-choose-a-plan:before{background-color:#e8e8e9;content:\\\"\\\";display:block;height:1px;margin:0 2.5rem 2rem}.dps-home-unauth-choose-a-plan header{text-align:center}.dps-home-unauth-choose-a-plan header h3{font-size:1.3125rem;line-height:1.4;margin-bottom:.5rem;padding-left:1rem;padding-right:1rem}.dps-home-unauth-choose-a-plan header p{color:#474d52;font-family:ServiceNowSans-Light;font-size:1rem;font-weight:100;line-height:1.4;margin-left:auto;margin-right:auto;max-width:60%;padding-left:1rem;padding-right:1rem}@media(max-width:767.98px){.dps-home-unauth-choose-a-plan header p{max-width:100%}}.dps-home-unauth-choose-a-plan header p:last-child{margin-bottom:1.5rem}.dps-home-unauth-choose-a-plan .dps-home-unauth-choose-a-plan-cards{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none;margin:0 0 2.5rem}@media(max-width:767.98px){.dps-home-unauth-choose-a-plan .dps-home-unauth-choose-a-plan-cards{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-ai-add-block{background:radial-gradient(44.77% 63.12% at 4.43% 107.41%,rgba(82,184,255,.5) 10%,rgba(82,184,255,0) 100%),radial-gradient(37.98% 65.69% at 97.73% 3.47%,rgba(118,97,255,.5) 10%,rgba(118,97,255,0) 100%),#032d42;display:flex;flex-direction:row;gap:1.5rem;padding:2.5rem 2.5rem .625rem 2.5rem}@media(max-width:1199.98px){.dps-ai-add-block{padding:1.5rem;padding-bottom:1.75rem;padding-top:2.5rem}}@media(max-width:991.98px){.dps-ai-add-block{flex-direction:column-reverse;padding:1.5rem;padding-bottom:1.5rem}}@media(max-width:767.98px){.dps-ai-add-block{padding-bottom:2.5rem}}@media(max-width:575.98px){.dps-ai-add-block{padding-bottom:1.5rem}}.dps-ai-add-block .dps-image-block{display:flex;flex:2}.dps-ai-add-block .dps-image-block img{margin:auto;max-width:30.4375rem}@media(max-width:1199.98px){.dps-ai-add-block .dps-image-block img{max-width:29rem}}@media(max-width:991.98px){.dps-ai-add-block .dps-image-block img{max-width:60%;padding:.5625rem 0}}@media(max-width:767.98px){.dps-ai-add-block .dps-image-block img{max-width:76%;padding:.375rem 0}}@media(max-width:575.98px){.dps-ai-add-block .dps-image-block img{max-width:99%;padding:1.5rem 0}}.dps-ai-add-block .dps-content-block{display:flex;flex:3;flex-direction:column;gap:1.5rem;margin:auto}.dps-ai-add-block .dps-content-block h2{color:#fff;font-family:ServiceNowSansMono-Regular;font-size:.875rem;font-weight:400;margin:0}@media(max-width:991.98px){.dps-ai-add-block .dps-content-block h2{font-size:.875rem}}.dps-ai-add-block .dps-content-block h3{color:#fff;font-family:ServiceNowSans-Bold;font-size:1.75rem;margin:0}@media(max-width:991.98px){.dps-ai-add-block .dps-content-block h3{font-size:1.75rem;line-height:1.2}}@media(max-width:575.98px){.dps-ai-add-block .dps-content-block h3{font-size:1.75rem}}.dps-ai-add-block .dps-content-block p{color:#fff;font-family:ServiceNowSans-Light;font-size:1rem;line-height:100%;margin:0;max-width:95%}.dps-ai-add-block .dps-content-block p .dps-description{display:none}@media(max-width:1199.98px){.dps-ai-add-block .dps-content-block p{max-width:100%}}@media(max-width:991.98px){.dps-ai-add-block .dps-content-block p{font-family:ServiceNowSans-Regular;font-size:.875rem;line-height:1.1;max-width:77%}}@media(max-width:767.98px){.dps-ai-add-block .dps-content-block p{max-width:100%}}@media(max-width:575.98px){.dps-ai-add-block .dps-content-block p .dps-description{display:block}}.dps-ai-add-block .dps-content-block now-button{--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.dps-tech-partner-block{background-color:#f5f6f7;display:flex;flex-direction:row;gap:6rem;padding:2.5rem 2.5rem .625rem 2.5rem;padding:2.5rem;padding-top:5.5rem}@media(max-width:1199.98px){.dps-tech-partner-block{gap:1.5rem;padding:1.5rem;padding:2.5rem}}@media(max-width:991.98px){.dps-tech-partner-block{flex-direction:column-reverse;gap:2rem;padding:1.5rem;padding-bottom:1.5rem}}.dps-tech-partner-block .dps-image-block{display:contents;flex:2}@media(max-width:1199.98px){.dps-tech-partner-block .dps-image-block{display:contents}}@media(max-width:991.98px){.dps-tech-partner-block .dps-image-block{display:contents}}.dps-tech-partner-block .dps-image-block img{margin:auto;max-width:100%}@media(max-width:1199.98px){.dps-tech-partner-block .dps-image-block img{margin:0;width:55%}}@media(max-width:991.98px){.dps-tech-partner-block .dps-image-block img{margin:auto;max-width:100%;width:100%}}@media(max-width:767.98px){.dps-tech-partner-block .dps-image-block img{max-width:100%}}.dps-tech-partner-block .dps-content-block{display:flex;flex:3;flex-direction:column;gap:1.5rem;margin:auto;margin:0;padding-left:6rem}@media(max-width:1199.98px){.dps-tech-partner-block .dps-content-block{min-width:27.875rem;padding-left:0}}@media(max-width:991.98px){.dps-tech-partner-block .dps-content-block{min-width:100%;padding-left:0}}.dps-tech-partner-block .dps-content-block h3{color:#1d1d1d;font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500;line-height:normal;margin:0}@media(max-width:991.98px){.dps-tech-partner-block .dps-content-block h3{font-size:2rem;font-style:normal;font-weight:500;line-height:normal;padding-left:0}}.dps-tech-partner-block .dps-content-block p{color:#000;font-family:ServiceNowSans-Light;font-size:1.125rem;line-height:normal;margin:0;max-width:100%}@media(max-width:1199.98px){.dps-tech-partner-block .dps-content-block p{font-family:ServiceNowSans-Light;max-width:100%}}@media(max-width:991.98px){.dps-tech-partner-block .dps-content-block p{font-size:.875rem;font-style:normal;font-weight:300;line-height:normal;max-width:70%}}@media(max-width:767.98px){.dps-tech-partner-block .dps-content-block p{max-width:99%}}.dps-tech-partner-block .dps-content-block now-button{--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.dps-home-unauth-apis{background-color:#dee1f3}.dps-home-unauth-apis .dps-home-unauth-apis-container{display:flex;margin:0 auto;max-width:90rem;padding-top:5rem}@media(max-width:991.98px){.dps-home-unauth-apis .dps-home-unauth-apis-container{padding-top:1.5rem}}.dps-home-unauth-apis header.leader-text{flex:1;margin-bottom:2.5rem;text-align:left}.dps-home-unauth-apis header.leader-text .inner{padding-left:8%}.dps-home-unauth-apis header.leader-text h2,.dps-home-unauth-apis header.leader-text p{margin-left:0;margin-right:auto;max-width:80%}.dps-home-unauth-apis .dps-home-unauth-apis-image-wrapper{flex:1;overflow:hidden;text-align:right}.dps-home-unauth-apis .dps-home-unauth-apis-image-wrapper img{display:block;margin:0 0 0 auto;max-width:100%}@media(max-width:1199.98px){.dps-home-unauth-apis .dps-home-unauth-apis-image-wrapper{width:30%}}@media(max-width:991.98px){.dps-home-unauth-apis .dps-home-unauth-apis-image-wrapper{display:none}}.trending-block{padding:3.4375rem 2.5rem 2.5rem}@media(max-width:767.98px){.trending-block{padding:1.5rem}}.trending-block header{text-align:center}.trending-block header h3{font-size:1.3125rem;line-height:1.4}.trending-block .trending-block-container{margin:0 auto;max-width:52.5rem}.trending-block .trending-block-title{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.4;margin-bottom:.5rem}.trending-block .trending-discussion-time-ago{display:inline-block;margin-bottom:1rem}.dps-home-unauth-connect{align-items:center;display:flex;gap:0;margin:0 auto;max-width:100%;padding:3rem 2.5rem}@media(max-width:991.98px){.dps-home-unauth-connect{align-items:start;flex-direction:column;gap:.875rem;padding:1.5rem}}.dps-home-unauth-connect header.leader-text{flex:3;gap:1rem;max-width:500px}@media(max-width:991.98px){.dps-home-unauth-connect header.leader-text{max-width:100%;padding:0;text-align:left}}@media(max-width:1199.98px){.dps-home-unauth-connect header.leader-text{margin-bottom:0}}.dps-home-unauth-connect header.leader-text h2,.dps-home-unauth-connect header.leader-text p{color:#1d1d1d;font-style:normal;line-height:normal;margin:0;max-width:100%}.dps-home-unauth-connect header.leader-text h2{font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500;margin-bottom:1rem}@media(max-width:991.98px){.dps-home-unauth-connect header.leader-text h2{font-size:2rem}.dps-home-unauth-connect header.leader-text h2 br{display:none}}.dps-home-unauth-connect header.leader-text p{font-family:ServiceNowSans-Light;font-size:1.125rem}@media(max-width:991.98px){.dps-home-unauth-connect header.leader-text p{font-family:ServiceNowSans-Regular;font-size:.875rem}}.dps-home-unauth-connect header.leader-text .community-button{margin-top:1rem}.dps-home-unauth-connect header.leader-text now-button{--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.dps-home-unauth-connect .dps-home-unauth-connect-image-wrapper{flex:2}.dps-home-unauth-connect .dps-home-unauth-connect-image-wrapper img{display:block;margin:0 auto;max-width:100%}.dps-home-unauth-connect .dps-home-unauth-connect-image-wrapper.left-icon img{max-height:13.3125rem}@media(max-width:991.98px){.dps-home-unauth-connect .dps-home-unauth-connect-image-wrapper.left-icon{display:contents}.dps-home-unauth-connect .dps-home-unauth-connect-image-wrapper.left-icon img{margin:.9375rem auto;max-height:18.75rem}}@media(max-width:767.98px){.dps-home-unauth-connect .dps-home-unauth-connect-image-wrapper.left-icon img{max-height:13.3125rem}}.dps-home-unauth-connect .dps-home-unauth-connect-image-wrapper.right-icon img{max-height:13.3125rem}@media(max-width:991.98px){.dps-home-unauth-connect .dps-home-unauth-connect-image-wrapper.right-icon{display:none}}.dps-home-unauth-join{background-color:#293e40;color:#fff}.dps-home-unauth-join .dps-home-unauth-join-inner{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none;margin:0 auto;max-width:90rem;position:relative}@media(max-width:991.98px){.dps-home-unauth-join .dps-home-unauth-join-inner{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}@media(max-width:767.98px){.dps-home-unauth-join .dps-home-unauth-join-inner{grid-gap:0}}.dps-home-unauth-join .dps-home-unauth-join-inner:after{background-color:#546566;content:\\\"\\\";height:80%;left:50%;position:absolute;top:10%;width:1px}@media(max-width:991.98px){.dps-home-unauth-join .dps-home-unauth-join-inner:after{height:1px;left:10%;position:absolute;top:50%;width:80%}}@media(max-width:767.98px){.dps-home-unauth-join .dps-home-unauth-join-inner:after{display:none}}.dps-home-unauth-join .join-block{display:flex;flex-direction:column;height:calc(100% - 2.5rem);margin:2.5rem auto 0;max-width:70%}@media(max-width:767.98px){.dps-home-unauth-join .join-block{margin:0;margin-bottom:1rem;max-width:100%;padding:0 2rem}}.dps-home-unauth-join .join-block h3{font-family:ServiceNowSans-Regular;font-size:1.75rem;font-weight:400;line-height:1.1;margin-bottom:1.5rem}.dps-home-unauth-join .join-block p:last-of-type{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;margin-bottom:1.5rem}.dps-home-unauth-join .join-block img{display:block;margin-bottom:-40px;margin-top:auto}@media(max-width:991.98px){.dps-home-unauth-join .join-block img{display:none}}@media(max-width:1199.98px){.dps-home-unauth-join .join-block img{margin-bottom:-26px}}.dps-home-unauth-join .join-block .join-developer-image{margin-bottom:-33px}@media(max-width:991.98px){.dps-home-unauth-join .join-block .join-developer-image{display:none}}@media(max-width:1199.98px){.dps-home-unauth-join .join-block .join-developer-image{margin-bottom:-20px}}.dps-home-unauth-trending-discussions{background-color:#fff;margin:0 auto;max-width:90rem}.dps-home-unauth-trending-discussions:before{background-color:#e8e8e9;content:\\\"\\\";display:block;height:1px;margin:0 2.5rem 2rem}.dps-home-unauth-trending-projects{background-color:#f7f7f7}.dps-home-unauth-trending-projects .trending-projects-block-container{margin:2rem auto 0;max-width:52.5rem}.dps-home-unauth-trending-projects:before{background-color:#e8e8e9;content:\\\"\\\";display:block;height:1px;margin:0 auto;max-width:80rem}dps-card-container{display:flex;justify-content:center}.dps-home-unauth-community-updates-share-projects{align-items:center;align-self:stretch;background-color:#fff;display:flex;gap:2.5rem;padding:3rem 2.5rem 3rem 2.5rem}@media(max-width:1199.98px){.dps-home-unauth-community-updates-share-projects{background-color:#fff;flex-direction:column;padding:1.5rem}}@media(max-width:991.98px){.dps-home-unauth-community-updates-share-projects{background-color:#fff;flex-direction:column}}.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects{background-color:#fff;border:1px solid #e3e3e3;border-radius:.75rem;flex:1;padding:.625rem 1.625rem 0;width:100%}@media(max-width:1199.98px){.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects{padding-bottom:.875rem;padding-top:1.5rem}}.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .card-head,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .card-head{align-items:center;display:flex;gap:.3125rem;padding:.625rem 0}.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .card-head img,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .card-head img{height:1.25rem;margin:0;width:1.25rem}.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .card-head h2,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .card-head h2{color:#1d1d1d;font-family:ServiceNowSans-Medium;font-size:1.25rem;font-weight:500;margin:0}@media(max-width:1199.98px){.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .card-head h2,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .card-head h2{font-family:ServiceNowSans-Medium;font-weight:500}}.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .discussions-row,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .projects-row,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .discussions-row,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .projects-row{align-items:center;border-bottom:1px solid #e3e3e3;border-top:1px solid #e3e3e3;display:flex;flex-direction:row;gap:2.4375rem;padding:1rem 0}@media(max-width:1199.98px){.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .discussions-row,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .projects-row,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .discussions-row,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .projects-row{gap:1rem}}.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .discussions-row h3,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .projects-row h3,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .discussions-row h3,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .projects-row h3{color:#1f1f1f;font-family:ServiceNowSans-Book;font-size:1rem;font-weight:450;margin:0}.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .discussions-row p,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .projects-row p,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .discussions-row p,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .projects-row p{color:#474d52;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:20px;margin:0;margin-top:.25rem}.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .discussions-row:last-child,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .projects-row:last-child,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .discussions-row:last-child,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .projects-row:last-child{border-bottom:none}.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .discussions-row .content-wrapper,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .projects-row .content-wrapper,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .discussions-row .content-wrapper,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .projects-row .content-wrapper{align-items:center;display:flex;gap:1rem;justify-content:space-between;width:100%}@media(max-width:1199.98px){.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .discussions-row .content-wrapper,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .projects-row .content-wrapper,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .discussions-row .content-wrapper,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .projects-row .content-wrapper{gap:1rem}}@media(max-width:575.98px){.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .discussions-row .content-wrapper,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .projects-row .content-wrapper,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .discussions-row .content-wrapper,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .projects-row .content-wrapper{align-items:unset;flex-direction:column;gap:.25rem}.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .discussions-row .content-wrapper h3,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .discussions-row .content-wrapper p,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .projects-row .content-wrapper h3,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .projects-row .content-wrapper p,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .discussions-row .content-wrapper h3,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .discussions-row .content-wrapper p,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .projects-row .content-wrapper h3,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .projects-row .content-wrapper p{line-height:1}}.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .discussions-row .content-wrapper h3,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .projects-row .content-wrapper h3,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .discussions-row .content-wrapper h3,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .projects-row .content-wrapper h3{color:#1f1f1f;line-height:1.25rem}.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .discussions-row .content-wrapper p,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .projects-row .content-wrapper p,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .discussions-row .content-wrapper p,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .projects-row .content-wrapper p{-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#474d52;display:-webkit-box;line-height:1.25rem;margin:0;overflow:hidden}.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .discussions-row .content-wrapper div,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .projects-row .content-wrapper div,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .discussions-row .content-wrapper div,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .projects-row .content-wrapper div{display:flex;flex-direction:column;gap:4px}.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .discussions-row img,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .projects-row img,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .discussions-row img,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .projects-row img{border-radius:.625rem;margin:0}@media(max-width:575.98px){.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .discussions-row img,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .projects-row img,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .discussions-row img,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .projects-row img{max-width:5.6875rem}}.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .discussions-row now-button,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .projects-row now-button,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .discussions-row now-button,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .projects-row now-button{--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;min-width:8.125rem}@media(max-width:1199.98px){.dps-home-unauth-community-updates-share-projects .dps-home-unauth-community-updates .discussions-row.row-0 .content-wrapper p,.dps-home-unauth-community-updates-share-projects .dps-home-unauth-share-projects .discussions-row.row-0 .content-wrapper p{max-width:18.75rem}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}li,ul{list-style:none;margin:0;padding:0}.dps-illustration-gallery{grid-column-gap:2.5rem;display:grid;grid-template-areas:\\\"gallery sidebar\\\";grid-template-columns:minmax(0,1fr) minmax(8.75rem,22%);grid-template-rows:auto}aside{align-self:start;grid-area:sidebar;-ms-grid-column:3;-ms-grid-row:1;position:-webkit-sticky;position:sticky;top:7rem}.illustration-group{grid-area:gallery;-ms-grid-column:1;-ms-grid-row:1;margin-bottom:2.5rem}.illustration-group>ul{display:grid;grid-template-columns:minmax(0,2.5fr) minmax(0,2fr) minmax(0,1fr)}.illustration-item{align-items:center;display:flex;flex-direction:column;justify-content:center}.illustration-item img{max-width:100%}.illustration-item span{margin-top:.125rem}@media only screen and (max-width:1103.98px){.dps-illustration-gallery{grid-template-areas:\\\"sidebar\\\" \\\"gallery\\\";grid-template-columns:auto}aside{display:flex;flex-direction:column;flex-wrap:wrap;-ms-grid-column:1;-ms-grid-row:1;justify-content:space-between;position:static}.illustration-group{-ms-grid-column:1;-ms-grid-row:2}}@media only screen and (max-width:400px){.illustration-group>ul{grid-template-columns:minmax(0,1fr)}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".request-instance{align-items:flex-end;display:flex;flex-direction:column;gap:.125rem}.request-instance now-modal{--now-modal_heading--font-family:ServiceNowSans-Medium;--now-modal_heading--font-weight:500;--now-modal_heading--font-size:1.5rem;--now-modal_heading--color:#1d1d1d}.request-instance.-disabled{color:#d0d2d3;cursor:not-allowed;opacity:.6;pointer-events:none}.request-instance.-disabled:hover{cursor:not-allowed}.release-vibe-coding{word-wrap:break-word;font-family:ServiceNowSans-Regular;font-style:normal;font-weight:600;overflow-wrap:break-word;text-align:center;width:100%}@media(max-width:576px){.release{flex-direction:row;gap:16px}.releases-container{flex-direction:column}}.releases-container{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}.release-modal-body{height:100%}.release-modal-body,.release-modal-content{display:flex;flex-direction:column;width:100%}.release-modal-content{align-items:center;flex-shrink:0;gap:1rem;justify-content:center;min-width:452px}.release{height:210px;width:173px}.release .latest-release{background-color:#0079cc;border-radius:500px;color:#fff;font-size:.75rem;left:3px;padding-left:.2rem;padding-right:.2rem;position:absolute;top:3px;z-index:10}.latest-release{background-color:#bddcf2;border-radius:1rem;font-size:.8125rem;margin-top:.4rem;padding-left:.3rem;padding-right:.3rem;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.release{align-items:center;border:1px solid #e3e3e3;border-radius:.75rem;display:flex;flex-direction:column;padding:1.125rem;padding-left:1.5rem;padding-right:1.5rem;position:relative;width:190px}.release.-selected{border:2px solid #007393}.release.-disabled{color:#d0d2d3}.release.-disabled:hover{cursor:not-allowed}.release:hover{background-color:#cde1d9;cursor:pointer}.release-card{align-items:center;display:flex;flex-direction:column;gap:1rem}.release-card img{height:82px;width:68px}.release-notes{align-items:center;display:flex;gap:.125rem}.release-notes .release-notes-text{color:#007393;font-family:ServiceNowSans-Regular;font-size:.875rem;font-weight:400;text-decoration:underline}.release-notes img{padding-left:.125rem;position:absolute}.release-modal-sub-lable{color:#1d1d1d}.other-releases-text,.release-modal-sub-lable{font-family:ServiceNowSans-Regular;font-size:1rem}.other-releases-text{color:#3b3b3b;font-weight:600;margin-bottom:.5rem;margin-top:1rem}.release-notes-container{align-items:center;display:flex;flex-direction:column}@media(max-width:576px){.release{flex-direction:row;gap:16px;height:auto;width:100%}.releases-container{flex-direction:column}}.release-unavailable-alert{align-items:center;background-color:#ddd5fb;border:1px solid #ac98f6;border-radius:6px;display:flex;gap:.5rem;justify-content:space-between;padding:.5rem;width:100%}.release-unavailable-alert__body{align-items:center;display:flex;flex:1;gap:.25rem}.release-unavailable-alert__message{color:#1d1d1d;font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500}.release-unavailable-alert__action{background:none;border:1px solid #666;border-radius:8px;color:#1d1d1d;cursor:pointer;font-family:ServiceNowSans-Book;font-size:1rem;font-weight:450;line-height:30px;min-height:32px;padding:0 1rem;white-space:nowrap}.release-unavailable-alert__action:hover{background-color:hsla(0,0%,40%,.06)}.release-version-cards{align-items:center;display:flex;flex-direction:row;flex-shrink:0;gap:1rem;justify-content:center;width:100%}.release-version-card{border:2px solid transparent;border-radius:14px;cursor:pointer;display:flex;flex:1 0 0;flex-direction:column;isolation:isolate;min-width:220px}.release-version-card--selected{border-color:#007393}.release-version-card__latest-tab{align-items:center;background-color:#e3e3e3;border-left:1px solid #e3e3e3;border-radius:12px 0 12px 0;border-right:1px solid #e3e3e3;border-top:1px solid #e3e3e3;color:#294149;display:flex;font-family:ServiceNowSans-Light;font-size:10px;font-weight:300;height:17px;justify-content:center;margin-bottom:-17px;padding-top:2px;text-align:center;white-space:nowrap;width:69px;z-index:2}.release-version-card__body{align-items:center;background-color:#fff;border:1px solid #e3e3e3;border-radius:12px;display:flex;flex-direction:column;gap:0;min-width:0;padding:1rem;width:100%;z-index:1}.release-version-card__body:hover{background-color:#cde1d9}.release-version-card__content{align-items:center;display:flex;flex-direction:column;gap:.5rem;padding-bottom:1rem;padding-top:.75rem}.release-version-card__image{height:64px;object-fit:contain;width:64px}.release-version-card__name{color:#1d1d1d;font-family:ServiceNowSans-Regular;font-size:1rem;font-weight:450;text-align:center}.release-version-card__badge{align-items:center;border-radius:12px;display:flex;font-family:ServiceNowSans-Light;font-size:12px;font-weight:300;gap:2px;min-height:16px;padding:0 4px 0 2px;white-space:nowrap}.release-version-card__badge now-icon{--now-icon--size:12px;font-size:12px}.release-version-card__badge span{font-size:12px}.release-version-card__badge--available{background-color:#c8f0f3;color:#0d4448}.release-version-card__badge--available now-icon{color:#156f75}.release-version-card__badge--unavailable{background-color:#d9dbdb;color:#1d1d1d}.release-version-card__badge--unavailable now-icon{color:#343638}.release-no-instances{align-items:center;display:flex;flex-direction:column;gap:.5rem;text-align:center;width:100%}.release-no-instances__actions{align-items:center;display:flex;gap:.5rem;margin-top:.75rem}.release-modal-footer{align-items:center;background-color:#fff;display:flex;flex-shrink:0;gap:.5rem;justify-content:space-between;padding-top:2.5rem;width:100%}@media(max-width:575.98px){.release-modal-footer{align-items:center;flex-direction:column}}.release-modal-footer__left,.release-modal-footer__right{align-items:center;display:flex}.release-modal-footer__right{gap:.5rem}.release-modal-footer__link{align-items:center;color:#007393;display:flex;font-family:ServiceNowSans-Light;font-size:1rem;gap:.125rem;text-decoration:underline}.release-modal-footer__link--disabled{cursor:default;opacity:.5;pointer-events:none}@media(max-width:767.98px){.request-instance{--ba-modal-margin:48px}}@media(max-width:991.98px){.request-instance--3-plus-releases{--request-modal-max-width:460px;--request-modal-height:648px}.request-instance--3-plus-releases .release-modal-content{flex:1 1 auto;min-height:0;min-width:unset;overflow-y:auto}.request-instance--3-plus-releases .release-version-cards{flex-direction:column}.request-instance--3-plus-releases .release-version-card{flex:none;min-width:unset;width:100%}.request-instance--3-plus-releases .release-modal-footer{align-items:center;flex-direction:column}}@media(max-width:575.98px){.request-instance{--ba-modal-margin:32px}.request-instance--2-releases,.request-instance--3-plus-releases{--request-modal-height:696px}.release-modal-content{flex:1 1 auto;min-height:0;min-width:unset;overflow-y:auto}.release-version-cards{flex-direction:column}.release-version-card{flex:none;min-width:unset;width:100%}}.review-instance-policy now-modal{--now-modal_heading--font-family:ServiceNowSans-Medium;--now-modal_heading--font-weight:500;--now-modal_heading--font-size:1.5rem;--now-modal_heading--color:#1d1d1d}.review-policy-content{align-items:flex-start;display:flex;flex-direction:column;gap:1.5rem;width:100%}.review-policy-intro{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;margin:0;width:100%}.review-policy-box{border:1px solid #e3e3e3;border-radius:.25rem;display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem;width:100%}.review-policy-row{align-items:flex-start;display:flex;gap:.25rem;width:100%}.review-policy-row now-icon{color:#1d1d1d;flex-shrink:0}.review-policy-row__text{display:flex;flex:1;flex-direction:column;gap:.25rem;min-width:0}.review-policy-row__title{align-items:center;color:#1d1d1d;display:flex;font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;gap:.75rem}.review-policy-row__description{color:#546566;font-family:ServiceNowSans-Light;font-size:.75rem;margin:0;width:100%}.review-policy-divider{background-color:#e3e3e3;height:1px;width:100%}.review-policy-badge{align-items:center;border-radius:.75rem;display:inline-flex;font-family:ServiceNowSans-Regular;font-size:.75rem;font-weight:400;min-height:16px;padding:0 .25rem;white-space:nowrap}.review-policy-badge--warning{background-color:#f6ec60;color:#1d2b2d}.review-policy-badge--info{background-color:#bddcf2;color:#1d2b2d}.review-policy-checkbox{align-items:flex-start;display:flex;gap:.5rem;width:100%}.review-policy-checkbox input[type=checkbox]{border:1px solid #bdcbd0;border-radius:.125rem;flex-shrink:0;height:16px;margin:.25rem 0;width:16px}.review-policy-checkbox label{color:#1d2b2d;font-family:ServiceNowSans-Light;font-size:1rem}sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.instance-empty-state{align-items:center;display:flex;flex-direction:column;gap:.5rem;padding:1.5rem;text-align:center;width:100%}.instance-empty-state__icon{align-items:center;display:flex;justify-content:center}.instance-empty-state__icon now-icon{--now-icon--size:2.5rem;color:#ff9800}.instance-empty-state__heading{color:#1d1d1d;font-family:ServiceNowSans-Medium;font-size:1.25rem;margin:0}.instance-empty-state__subtext{color:#666;font-family:ServiceNowSans-Light;font-size:.75rem;margin:0}.ba-auto-assign-modal now-modal{--now-modal--width:50rem;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-modal_heading--font-weight:500;--now-modal_heading--color:#1d1d1d;--now-button--tertiary--border-color:227,227,227;--now-button--tertiary--border-width:2px;--now-button--secondary-negative--border-color:227,227,227;--now-button--secondary-negative--border-width:2px}.ba-auto-assign{display:flex;flex-direction:column;gap:2rem;padding:0;width:100%}.ba-auto-assign--compact{gap:1.5rem}.ba-auto-assign__info-group{gap:.5rem;justify-content:center;padding:1rem}.ba-auto-assign__info-group,.ba-auto-assign__info-text{align-items:center;display:flex;flex-direction:column;width:100%}.ba-auto-assign__info-text{gap:.25rem;text-align:center}.ba-auto-assign__progress-area{align-items:center;border-radius:1rem;display:flex;flex-direction:column;gap:1.5rem;padding:1rem 1rem 0;width:100%}.ba-auto-assign__steps{align-items:center;display:flex;justify-content:center;width:100%}.ba-auto-assign__step{align-items:center;display:flex;flex:1 0 0;flex-direction:column;gap:.25rem;min-width:0}.ba-auto-assign__step-row{align-items:center;display:flex;gap:.25rem;width:100%}.ba-auto-assign__line{background-color:#e3e3e3;flex:1 0 0;height:.0625rem;min-width:0}.ba-auto-assign__line--hidden{background-color:transparent}.ba-auto-assign__indicator{align-items:center;border-radius:50%;box-sizing:border-box;display:flex;flex-direction:column;flex-shrink:0;height:1.5rem;justify-content:center;width:1.5rem}.ba-auto-assign__indicator--idle{border:.0625rem solid #666;color:#666;font-family:ServiceNowSans-Book;font-size:.75rem;line-height:1}.ba-auto-assign__indicator--active{overflow:hidden}.ba-auto-assign__indicator--active now-loader{--now-loader--size:1.5rem;--now-loader_icon--color:3,93,153}.ba-auto-assign__indicator--done{background-color:var(--now-stepper_step--done--background-color,#dfecdd);border:.125rem solid #298319}.ba-auto-assign__indicator--done now-icon{color:#298319}.ba-auto-assign__step-label{color:#1d1d1d;display:flex;font-family:ServiceNowSans-Light;font-size:1rem;justify-content:center;line-height:1.5;overflow:hidden;padding:0 .5rem;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.ba-auto-assign__step-label--active,.ba-auto-assign__step-label--warning{font-family:ServiceNowSans-Book}.ba-auto-assign__subtext{color:#3b3b3b;font-family:ServiceNowSans-Light;font-size:.75rem;line-height:1.5;margin:0;max-width:31.25rem;text-align:center;width:100%}.ba-auto-assign__success-info{align-items:center;display:flex;flex-direction:column;gap:.25rem;justify-content:center;width:100%}.ba-auto-assign__success-heading{color:#1d1d1d;font-family:ServiceNowSans-Medium;font-size:1.25rem;text-align:center;width:100%}.ba-auto-assign__success-actions{align-items:center;display:flex;gap:1rem;justify-content:flex-end;padding-top:.5rem;width:100%}.ba-auto-assign__cancel-actions{align-items:center;display:flex;gap:.75rem;justify-content:center;width:100%}.ba-auto-assign__tips{border:.0625rem solid #f1f2f3;border-radius:.5rem;box-sizing:border-box;display:flex;flex-direction:column;gap:.5rem;padding:1rem;width:100%}.ba-auto-assign__tips-label{color:#666;font-family:ServiceNowSans-Light;font-size:.75rem;line-height:1.5}.ba-auto-assign__tips-card{background-color:#f1f2f3;border-radius:.25rem;box-sizing:border-box;display:flex;flex-direction:column;gap:.5rem;overflow:clip;padding:1rem;width:100%}.ba-auto-assign__tips-card-header{display:flex;flex-direction:column;gap:.25rem;width:100%}.ba-auto-assign__tips-heading{color:#1d1d1d;font-family:ServiceNowSans-Book;font-size:1rem;line-height:1.5}.ba-auto-assign__tips-caption{color:#3b3b3b;font-family:ServiceNowSans-Light;font-size:.75rem;line-height:1.5}.ba-auto-assign__tips-nav{align-items:center;display:flex;justify-content:space-between;margin-top:.25rem;width:100%}.ba-auto-assign__tips-nav-btn{cursor:pointer}.ba-auto-assign__tips-nav-btn now-icon{color:#007393}.ba-auto-assign__tips-nav-dots{align-items:center;display:flex;gap:.5rem}.ba-auto-assign__tips-nav-dot{background-color:transparent;border:.09375rem solid #0079cc;border-radius:50%;box-sizing:border-box;display:inline-block;height:.75rem;opacity:.4;width:.75rem}.ba-auto-assign__tips-nav-dot--active{background-color:#007393;border-color:#007393;opacity:1}.ba-auto-assign__indicator--warning now-icon{color:#fca822}.ba-auto-assign__large-icon{align-items:center;display:flex;justify-content:center}.ba-auto-assign__large-icon now-icon{--now-icon--size:2.5rem}.ba-auto-assign__large-icon--error now-icon{color:#c83932}.ba-auto-assign__large-icon--warning now-icon{color:#fca822}.ba-auto-assign__large-icon--leave now-icon,.ba-auto-assign__large-icon--waitlisted now-icon{color:#005f1e}.ba-auto-assign-modal--sm now-modal,.ba-auto-assign-modal--waitlisted now-modal{--now-modal--width:26.25rem;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-modal_heading--font-weight:500;--now-modal_heading--color:#1d1d1d;--now-button--secondary--border-color:98,216,78;--now-button--secondary--border-width:2px}.ba-auto-assign-modal--alt now-modal{--now-modal--width:50rem;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-modal_heading--font-weight:500;--now-modal_heading--color:#1d1d1d;--now-button--secondary--border-color:98,216,78;--now-button--secondary--border-width:2px}.ba-auto-assign-modal--md now-modal{--now-modal--width:37.5rem;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-modal_heading--font-weight:500;--now-modal_heading--color:#1d1d1d;--now-button--secondary--border-color:98,216,78;--now-button--secondary--border-width:2px}.ba-auto-assign__options{align-items:center;border:.0625rem solid #e3e3e3;border-radius:.5rem;box-sizing:border-box;display:flex;justify-content:center;width:100%}.ba-auto-assign__option-card{border-radius:.25rem;flex:1 0 0;min-width:0;overflow:clip;padding:1rem}.ba-auto-assign__option-content{align-items:center;display:flex;flex-direction:column;gap:1rem}.ba-auto-assign__option-info{align-items:center;display:flex;flex-direction:column;gap:.25rem;width:100%}.ba-auto-assign__option-title{color:#1d1d1d;font-family:ServiceNowSans-Medium;font-size:.75rem;line-height:1.5;text-align:center;width:100%}.ba-auto-assign__option-caption{color:#666;font-family:ServiceNowSans-Light;font-size:.75rem;line-height:1.5;text-align:center;width:100%}.ba-auto-assign__or-divider{align-items:center;align-self:stretch;display:flex;flex-direction:column;flex-shrink:0;padding:1rem 0}.ba-auto-assign__or-line{background-color:#e3e3e3;flex:1;width:.0625rem}.ba-auto-assign__or-circle{align-items:center;background-color:#fff;border:.0625rem solid #e3e3e3;border-radius:.875rem;box-sizing:border-box;color:#1d1d1d;display:flex;flex-shrink:0;font-family:ServiceNowSans-Regular;font-size:.75rem;height:1.75rem;justify-content:center;line-height:1.25rem;width:1.75rem}@media(max-width:767.98px){.ba-auto-assign-modal,.ba-auto-assign-modal--alt,.review-instance-policy{--ba-modal-margin:48px}.ba-auto-assign__steps--in-progress .ba-auto-assign__step--done,.ba-auto-assign__steps--in-progress .ba-auto-assign__step--idle{display:none}.ba-auto-assign__steps--in-progress .ba-auto-assign__step--active .ba-auto-assign__step-row{justify-content:center}.ba-auto-assign__steps--completed .ba-auto-assign__step:not(:last-child),.ba-auto-assign__steps--in-progress .ba-auto-assign__step--active .ba-auto-assign__line{display:none}.ba-auto-assign__steps--completed .ba-auto-assign__step:last-child .ba-auto-assign__step-row{justify-content:center}.ba-auto-assign__steps--completed .ba-auto-assign__step:last-child .ba-auto-assign__line{display:none}}@media(max-width:575.98px){.ba-auto-assign-modal,.ba-auto-assign-modal--alt,.review-instance-policy{--ba-modal-margin:32px}}.dps-instance-assignment-modal{display:flex;margin:0;min-height:38.75rem;overflow:auto;padding-bottom:3rem;width:100%}.dps-instance-assignment-modal.-closed{visibility:hidden}.dps-instance-assignment-modal ul{display:flex;flex-direction:column;list-style-type:none;margin:0;padding:0}.dps-instance-assignment-modal-verticalTabs{border-right:1px solid #c6c6c6;flex:1 0 18.3125rem;font-family:ServiceNowSans-Regular;width:18.3125rem}.dps-instance-assignment-modal-verticalTabItem{box-sizing:border-box;color:#293e40;display:block;padding:.625rem 0 .625rem 1.5rem}.dps-instance-assignment-modal-verticalTabItem:hover{cursor:pointer}.dps-instance-assignment-modal-verticalTabItem.is-active{background-color:#f7f7f7}.dps-instance-assignment-modal-verticalTabItem.is-disabled{color:#d0d2d3}.dps-instance-assignment-modal-verticalTabItem.is-disabled:hover{cursor:not-allowed}.dps-instance-assignment-modal-content{margin:1rem 0 0 2rem;width:inherit}.dps-instance-assignment-modal-content-heading{color:#474d52;font-family:ServiceNowSans-Regular;font-size:1rem;font-weight:400;line-height:1.75;margin-bottom:.5rem}.dps-instance-assignment-modal-content-data{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;margin:.5rem 2rem 1.5rem 0}.dps-instance-assignment-modal-content__request-instance-link{color:#5c6ac4;cursor:pointer;font-size:.8125rem;font-weight:600}.dps-instance-assignment-modal-content__instance-list{margin-bottom:8.25rem}.dps-instance-assignment-modal-content__instance-list__card{background:#fff;border:1px solid hsla(0,0%,59%,.21);border-radius:.1875rem;box-shadow:0 18px 22px -19px rgba(0,0,0,.07);cursor:pointer;display:inline-block;height:8.875rem;margin:0 1.5rem 1.5rem 0;padding:0 1.5rem 1.75rem 1.5rem;width:20.25rem}.dps-instance-assignment-modal-content__instance-list__card__name{font-size:1.125rem;font-weight:700}.-highlight{background:#b0e1ce}.dps-instance-assignment-modal-content__instance-list__card.is-disabled{color:#d0d2d3}.dps-instance-assignment-modal-content__instance-list__card.is-disabled:hover{cursor:not-allowed}.dps-instance-assignment-modal-content__instance-list{min-height:21.25rem}.dps-instance-assignment-modal-content_backup_label{color:#474d52;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.75}.dps-instance-assignment-modal-content_backup_label.is-disabled{color:#d0d2d3}.dps-instance-assignment-modal-content_backup_label.is-disabled:hover{cursor:not-allowed}.dps-instance-assignment-modal-releaseCard-section{margin-bottom:8.25rem}.dps-instance-assignment-modal-releaseCard{box-sizing:border-box;display:inline-block;height:19.25rem;margin:0 1rem 0 0;padding:1.6875rem 0 1.6875rem 2.5rem;position:relative;width:17.0625rem}.dps-instance-assignment-modal-releaseCard.is-selected{background-color:#9ddccf;border:1px dashed #c6c6c6}.dps-instance-assignment-modal-releaseCard:hover{background-color:#def3ef;cursor:pointer}.dps-instance-assignment-modal-releaseCard-img{height:4.6875rem;margin-top:5.625rem;width:5.125rem}.dps-instance-assignment-modal-releaseCard-latest{background-color:#5cc4af;border-radius:.25rem;box-sizing:border-box;color:#fff;font-family:ServiceNowSans-Medium;font-size:.75rem;height:1.625rem;line-height:1.1;padding:.3125rem 1rem;position:absolute;white-space:nowrap;width:7.0625rem}.dps-instance-assignment-modal-releaseCard-title{color:#474d52;display:block;font-family:ServiceNowSans-Medium;font-size:1.3125rem;margin:.125rem 0 .5rem 0}.dps-instance-assignment-modal-releaseCard-unavailable{font-family:ServiceNowSans-Medium;font-size:.75rem;line-height:1;margin-top:1.25rem;text-transform:uppercase}.dps-instance-assignment-modal-request-button{display:flex;justify-content:flex-end}.dps-instance-assignment-modal-request-button .dps-instance-assignment-modal-request-retire-release{color:#fc726d;font-family:ServiceNowSans-Medium;font-size:.8125rem;line-height:1.5;margin-right:6.25rem;margin-top:.3125rem}.dps-instance-assignment-modal-request-no_instance{color:#fc726d;font-family:ServiceNowSans-Medium;font-size:.8125rem;line-height:1.5;margin-right:18.75rem;margin-top:.3125rem}.dps-instance-assignment-modal-content-heading_no_backups{color:#474d52;font-family:ServiceNowSans-Medium;font-size:1rem;line-height:1.5}.dps-instance-assignment-modal-error-text{color:#fc726d;display:none;flex:1;font-family:ServiceNowSans-Medium;font-size:.8125rem;justify-content:flex-start;line-height:1.5}.dps-instance-assignment-modal-error-text.-visible{display:block}.dps-instance-assignment-modal-waitlist{font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5}.dps-instance-assignment-modal-waitlist-title{font-family:ServiceNowSans-Medium;font-size:1.5rem;margin-bottom:1rem}.dps-instance-assignment-modal-waitlist-description{margin:1.5rem 0 1rem}.dps-instance-assignment-modal-waitlist-link{font-family:ServiceNowSans-Regular;font-size:.875rem;line-height:1.1;margin:.5rem 0 2.75rem}.dps-instance-assignment-modal-waitlist-cx-icon{margin-bottom:1rem}.dps-instance-assignment-modal-waitlist-cx-description{color:#666;font-family:ServiceNowSans-Light;font-size:.75rem;text-align:center}.dps-instance-assignment-modal-waitlist-cx-title{color:#1d1d1d;font-family:ServiceNowSans-Medium;font-size:1.25rem;font-weight:500;margin-bottom:.25rem}.dps-instance-assignment-modal-waitlist-cx-footer{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.dps-instance-assignment-modal-leave{font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5}.dps-instance-assignment-modal-leave-button-container{float:right;margin-top:1.1875rem;width:100%}.dps-instance-assignment-modal-leave-button{float:right;margin-left:1.5rem}.dps-instance-assignment-modal-leave-input{margin:.5rem 0 1rem}.dps-request-instance-assignment-failed-title{font-family:ServiceNowSans-Medium}.dps-request-instance-assignment-failed-content{font-family:ServiceNowSans-Light;font-size:1rem;height:3rem;letter-spacing:.01em;line-height:1.5;margin-bottom:1rem;text-align:center;width:25.625rem}.dps-request-instance-assignment-failed-button{margin:.5rem 0 2.8125rem 0}.dps-instance-assignment-processing-title{font-family:ServiceNowSans-Medium}.dps-instance-assignment-processing-content{font-family:ServiceNowSans-Light;font-size:1rem;height:3rem;letter-spacing:.01em;line-height:1.5;margin-bottom:2rem;width:28.125rem}@media(max-width:575.98px){.dps-instance-assignment-processing-content{height:auto;width:auto}}.dps-request-instance-success-title{font-family:ServiceNowSans-Regular;font-size:1rem}.dps-request-instance-success-content{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5}.dps-request-instance-success-credential{background-color:#f7f7f7}.dps-request-instance-success-credential-text{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;padding:1rem 1rem 1.5rem 1.5rem}.dps-request-instance-success-button{display:flex;justify-content:flex-end}@media(max-width:575.98px){.dps-request-instance-success-button{flex-direction:column}}.dps-instance-assignment-toast-alert-slot now-icon{cursor:pointer;margin-left:1.25rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-request-instance img{margin:1rem auto}.dps-request-instance dps-button{margin:1.5rem 0 1.5rem}.dps-request-instance-heading{color:#293e40;font-weight:400;line-height:1.75;text-align:center;white-space:nowrap}.dps-request-instance-heading,.dps-request-instance-restoreLink{font-family:ServiceNowSans-Regular;font-size:1rem;margin:0}.dps-request-instance-restoreLink dps-button{font-family:ServiceNowSans-Regular;margin:0}.dps-request-instance-content sup{font-size:1em;top:0;vertical-align:.1em}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../images/guide-dev-account-signup-cta.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{width:100%}.dps-overview{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;position:relative;width:100%}.dps-overview-section{padding:var(--dps-overview-section-learning-plans-padding,6.25rem 0);position:relative;width:100%}@media(max-width:991.98px){.dps-overview-section{padding:2rem 0}}.dps-overview-section.-centered .dps-overview-section-header{justify-content:center}.dps-overview-section.-centered .dps-overview-section-content{text-align:center}.dps-overview-section.-centered p{margin:0 auto 1.5rem}.dps-overview-section.-inverse{background-color:var(--dps-theme-inverse-background-color,#293e40);color:var(--dps-overview-section-font-color,#fff)}.dps-overview-section.-inverse .dps-overview-section-content{gap:1.5rem;margin:var(--dps-overview-section-learning-plans-content-margin);padding-left:0}.dps-overview-section.-inverse .dps-overview-section-content>p{color:var(--dps-overview-section-font-color,#fff);font-family:ServiceNowSans-Light;font-size:var(--dps-overview-section-learning-plans-description-font-size,1rem);line-height:var(--dps-overview-section-learning-plans-description-line-height,1.5);max-width:100%}.dps-overview-section.-inverse .dps-overview-section-header{color:var(--dps-overview-section-learning-plans-header-color,#fff);font-family:ServiceNowSans-Medium;font-size:28px;font-weight:500}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-subheader{color:var(--dps-create-account-subheader-color,#293e40);font-family:ServiceNowSansMono-Regular;font-size:var(--dps-create-account-subheader-font-size,.8125rem);line-height:var(--dps-create-account-subheader-line-height,1.1);margin:var(--dps-create-account-subheader-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-header{color:var(--dps-create-account-header-color,#474d52);font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500;letter-spacing:normal;line-height:1.925rem;margin:var(--dps-create-account-header-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content>p{color:#474d52;font-family:ServiceNowSans-Light;font-size:var(--dps-create-account-description-font-size,1rem);line-height:1.5rem;margin:0;max-width:100%}.dps-overview-section.-highlight{background-color:#f7f7f7}.dps-overview-section.-overview{background-color:#f7f7f7;font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}@media(max-width:991.98px){.dps-overview-section.-overview{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5}}.dps-overview-section.-overview p{margin:0 auto;max-width:46.375rem;text-align:left}.dps-overview-section.-overview p+p{margin-top:1.5rem}.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-two-col .dps-overview-section-content>img{margin:0 auto}@media(max-width:1199.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}@media(max-width:767.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-three-col .dps-overview-section-content>div{align-self:start}.dps-overview-section.-callout{align-items:center;background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");background-position:calc(50% + 275px) calc(100% - 2px);background-repeat:no-repeat;background-size:auto;display:flex;font-family:ServiceNowSans-Light;font-size:1.3125rem;height:37rem;line-height:1.5;overflow:hidden;position:relative}.dps-overview-section.-callout h2,.dps-overview-section.-callout p{max-width:32.5rem}.dps-overview-section.-callout h2+p{font-size:1.3125rem;margin-bottom:4rem}@media(max-width:991.98px){.dps-overview-section.-callout{background-image:none;height:auto}}.dps-overview-section.-callout .dps-overview-section-header{display:block;margin-bottom:1.5rem;padding-bottom:calc(1rem + 4px)}.dps-overview-section.-callout .dps-overview-section-header:before{background-color:#fff;bottom:0;content:\\\"\\\";height:.25rem;left:0;position:absolute;width:5rem}.dps-overview-section .-large{font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}.dps-overview-section img{max-width:100%}.dps-overview-section>p,.dps-overview-section>ul{margin:0 0 1.5rem;position:relative}.dps-overview-section>p{font-family:ServiceNowSans-Light;font-size:18px;max-width:37.5rem}.dps-overview-section ul{-webkit-margin-before:0;-webkit-padding-start:0;list-style-type:none;margin-block-start:0;padding-inline-start:0}.dps-overview-section ul li{margin-bottom:.75rem;position:relative}.dps-overview-section ul li:last-child{margin-bottom:0}.dps-overview-section dps-card p,.dps-overview-section dps-card ul,.dps-overview-section dps-content-stack p,.dps-overview-section dps-content-stack ul{margin:0 0 .75rem}.dps-overview-section dps-card p:last-child,.dps-overview-section dps-card ul:last-child,.dps-overview-section dps-content-stack p:last-child,.dps-overview-section dps-content-stack ul:last-child{margin:0}.dps-overview-section-content{margin:0 auto;max-width:var(--dps-overview-section-content-max-width,90rem);position:relative;width:100%}@media(max-width:767.98px){.dps-overview-section-content{padding:0 1.5rem}}.dps-overview-section-content.-narrow{color:#000;max-width:70.625rem}.dps-overview-section-content.-narrow .dps-overview-section-header{margin-bottom:1.5rem}.dps-overview-section-content.-narrow p{font-size:1.125rem}@media(max-width:1199.98px){.dps-overview-section-content.-narrow{max-width:100%}}@media(max-width:767.98px){.dps-overview-section-content.-narrow{padding:0 1.5rem}}.dps-overview-section-content.now-experience-ui-framework,.dps-overview-section-content.using-now-cli{max-width:100%}.dps-overview-section-header{align-items:center;color:#474d52;display:flex;font-family:ServiceNowSans-Regular;font-size:1.75rem;font-weight:400;line-height:1.1;margin:0 0 1.5rem;position:relative}@media(max-width:991.98px){.dps-overview-section-header{font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5;margin:0 0 1rem}}.dps-overview-section-header img+span{padding-left:1rem}.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:575.98px){.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:767.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}}@media(max-width:575.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-no-header{border-top:1px solid #b9bbbd;margin-top:2.5rem}.table-links-category{color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0 0 .25rem 0}.table-links-title{color:#474d52;font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75;margin:0 0 .25rem 0}.table-links-description{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.1;margin:0 0 .75rem 0}.table-links h3{box-shadow:0 1px 0 0 #b9bbbd;color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0;padding:0 0 .5rem;position:relative;text-transform:uppercase}.table-links ul{list-style:none;margin:2.5rem 0 0;padding:0}ul.list-with-active-indicator{list-style:none;margin:0;padding:0}ul.list-with-active-indicator li{align-items:var(--dps-list-with-active-indicator-align-items,center);border-left:4px solid transparent;display:flex;flex-direction:row;height:var(--dps-list-with-active-indicator-height,inherit);justify-content:flex-start;margin:var(--dps-list-with-active-indicator-margin,inherit);padding-left:var(--dps-list-with-active-indicator-padding-left,1rem)}ul.list-with-active-indicator li a{background:none;color:#8a8e91;display:block;margin-top:-.5rem}ul.list-with-active-indicator li.active{border-left:4px solid #81b5a1}ul.list-with-active-indicator li.active a{color:#474d52;font-family:ServiceNowSans-Regular}ul.list-with-active-indicator .FPO{align-items:center;background-color:pink;display:flex;height:200px;justify-content:center}hr{background-color:#d0d2d3;border:none;height:1px}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem}h1,h2{font-weight:400;line-height:1.1}h2{font-family:ServiceNowSans-Regular;font-size:1.75rem}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}:host{display:block}dps-template-two-column{--dps-template-two-column-panel-padding:2.5rem;--dps-list-with-active-indicator-align-items:flex-start;--dps-list-with-active-indicator-padding-left:0;--dps-list-with-active-indicator-height:100%;--dps-list-with-active-indicator-margin:0px 0.875rem 1rem 0px;--dps-card-border-radius:0.5rem;--dps-card-background-color:transparent;--dps-card-border:none;--dps-card-padding:0;--dps-card-inner-background-color:#fff;--dps-card-inner-border:1px solid #f7f7f7;--dps-card-inner-border-radius:0.375rem;--dps-card-inner-height:100%;--dps-card-inner-padding:1.5rem;--dps-card-inner-position:relative;--dps-content-stack-title-text-align:left;--dps-content-stack-description-text-align:left;--dps-content-stack-title-color:#1d1d1d}.-learning-courses .dps-lp-header{min-height:17.5rem;overflow:hidden;padding:3.75rem 4.0625rem 4.75rem 3rem;position:relative}.-learning-courses .dps-lp-header__background{align-items:flex-end;display:flex;inset:0;pointer-events:none;position:absolute}.-learning-courses .dps-lp-header__image{max-height:85%;object-fit:contain;object-position:right bottom;position:absolute;right:3.75rem;width:auto}.-learning-courses .dps-lp-header__content{max-width:41.25rem;position:relative;z-index:1}.-learning-courses .dps-lp-header__version-selector{margin-bottom:1.5rem}.-learning-courses .dps-lp-header__version-selector dps-inline-version-selector{--dps-color-text-primary:#fff;--dps-icon-color:#fff}.-learning-courses .dps-lp-header__title{color:#fff;font-family:ServiceNowSans-Medium;font-size:2rem;font-weight:500;letter-spacing:-.02rem;line-height:2.475rem;margin:0 0 .625rem 0}.-learning-courses .dps-lp-header__subtitle{color:#fff;font-family:ServiceNowSans-Light;font-size:1.25rem;line-height:1.5rem;margin:0}@media(max-width:1199.98px){.-learning-courses .dps-lp-header{min-height:15rem;padding:3rem 2rem 3.75rem}.-learning-courses .dps-lp-header__image{max-height:80%;right:2.5rem}.-learning-courses .dps-lp-header__title{font-size:1.75rem}.-learning-courses .dps-lp-header__subtitle{font-size:1.125rem}}@media(max-width:991.98px){.-learning-courses .dps-lp-header{min-height:12.5rem;padding:2rem 1.5rem 3rem}.-learning-courses .dps-lp-header__image{display:none}}@media(max-width:767.98px){.-learning-courses .dps-lp-header__image{display:none}}.dps-learning-courses{position:relative}.dps-learning-courses .dps-overview-section{padding:0 0 2.5rem}.dps-learning-courses .dps-overview-section>dps-badge{--dps-badge-font-family:ServiceNowSans-Light;--dps-badge-secondary-color:#393c3c;--dps-badge-secondary-background-color:#e8eaea;margin-bottom:.5rem}.dps-learning-courses .dps-overview-section>p{color:#000;font-family:ServiceNowSans-Light;font-size:1rem;font-style:normal;letter-spacing:-.16px;line-height:1.5;margin:1rem 0 1.5rem 0;max-width:100%}.dps-learning-courses .dps-overview-section>dps-link{margin-bottom:2rem}.dps-learning-courses .dps-overview-section+.dps-overview-section{border-top:1px solid #d0d2d3;padding:2.5rem 0}.dps-learning-courses .dps-learning-courses-header{align-items:center;display:flex;font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5;margin-bottom:.5rem}.dps-learning-courses .dps-learning-courses-header .dps-overview-section-header{margin-bottom:0;margin-right:.5rem}.dps-learning-courses .dps-learning-courses-header .dps-overview-section-header,.dps-learning-courses .dps-learning-courses-header>span{color:#000;font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:500;line-height:normal}.dps-learning-courses dps-card-container{margin:0}.dps-learning-courses dps-card{--dps-content-stack-title-font-size:1.375rem;--dps-content-stack-header-letter-spacing:-0.01375rem;--dps-content-stack-row-margin-bottom:1.5rem;--dps-content-stack-header-span-font-size:0.875rem;--dps-content-stack-header-span-line-height:normal;--dps-content-stack-header-span-margin-top:0.375rem;--dps-content-stack-header-span-text-transform:uppercase;--dps-content-stack-header-span-color:$dps-color-charcoal-black;--dps-content-stack-description-color:$dps-color-charcoal-black;--dps-card-box-shadow:0 4px 8px 0 rgba(0,0,0,.1);margin:.75rem 0 0}.dps-learning-courses dps-card dps-button{font-size:1rem}.dps-learning-courses dps-card now-button{margin-top:1.5rem}.dps-learning-courses dps-card p{-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;display:-webkit-box;overflow:hidden}.dps-learning-courses dps-progress-circle{--dps-progress-circle-track-color:#d5d7db;margin-right:-1rem;margin-top:-1rem}.dps-overview.-learning-courses .dps-overview-section.-overview.-centered{background-color:#f2f5f7;border-radius:.75rem;padding:2.1875rem 2.5rem}.dps-overview.-learning-courses .dps-overview-section.-overview.-centered .dps-overview-section-content{align-items:center;display:flex;flex-direction:column;height:11.875rem;justify-content:center;max-width:106rem}.dps-overview.-learning-courses .dps-overview-section.-overview.-centered .dps-overview-section-content .dps-overview-section-header{color:#000;font-family:ServiceNowSans-Medium;font-size:1.75rem;font-style:normal;font-weight:500;margin-bottom:1.5rem;text-align:center}.dps-overview.-learning-courses .dps-overview-section.-overview.-centered .dps-overview-section-content p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1.125rem;font-style:normal;letter-spacing:-.18px;line-height:1.75rem;margin:0;max-width:51.625rem;text-align:center}.dps-overview.-learning-courses .dps-overview-section.-overview.-centered .dps-overview-section-content p a,.dps-overview.-learning-courses .dps-overview-section.-overview.-centered .dps-overview-section-content p dps-link{-webkit-text-decoration-line:underline;text-decoration-line:underline;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;-webkit-text-decoration-style:solid;text-decoration-style:solid;text-decoration-thickness:auto;text-underline-offset:auto;text-underline-position:from-font}.dps-learning-courses-sidebar h4{color:#16243a;font-family:ServiceNowSans-Book;font-size:1.25rem;font-style:normal;line-height:2.25rem;margin:0 0 2rem}.dps-learning-courses-sidebar ul{list-style:none;margin:0;padding:0}.dps-learning-courses-sidebar li{align-items:center;border-left:4px solid transparent;display:flex;height:3.625rem;justify-content:flex-end}.dps-learning-courses-sidebar li dps-link span{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;font-style:normal;line-height:1.3125rem}.dps-learning-courses-sidebar li.is-active{border-left:4px solid #63df4e}.dps-learning-courses-sidebar li.is-active dps-link span{font-family:ServiceNowSans-Book}.dps-learning-courses-sidebar dps-progress-circle{display:flex;margin-right:.4375rem}.dps-learning-courses-loading{padding:6.25rem 0}.dps-learning-courses-card-title{display:flex}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/highlight.js/styles/agate.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}code.hljs{padding:1rem}aside,b,dd,div,dl,dt,em,i,li,ol,p,strong,ul{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;line-height:1.5rem}aside,dd,div,dl,dt,li,ol,p,ul{font-weight:400}a em{color:#00718f}strong,strong em{font-family:ServiceNowSans-Medium;font-weight:500}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem;line-height:1.1;line-height:1.3125rem;margin:2rem 0}h1,h2{color:#1d1d1d;font-size:1.75rem;font-weight:400;font-weight:500}h2{font-family:ServiceNowSans-Regular;font-family:ServiceNowSans-Medium;font-size:1.5rem;line-height:1.1;line-height:2.25rem;margin-bottom:.75rem 0}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400;margin-bottom:.5rem 0}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400;margin-bottom:.5rem 0}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal}blockquote,code,img,ol,p,pre,ul{margin:.75rem 0}img{max-width:100%}pre{margin-bottom:1.5rem;margin-top:.75rem}div+h1,div+h2,div+h3,div+h4,div+h5,div+h6,img+h1,img+h2,img+h3,img+h4,img+h5,img+h6,p+h1,p+h2,p+h3,p+h4,p+h5,p+h6,ul+h1,ul+h2,ul+h3,ul+h4,ul+h5,ul+h6{margin-top:2rem}b,strong{font-weight:500}b,code,strong{letter-spacing:.02em}code{background-color:#e8e8e9;border:1px solid #d0d2d3;border-radius:.25rem;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5}code b,code strong{font-weight:500}pre code{background-color:transparent;border:none;border-radius:0}.sm,small{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}.sm code,small code{font-size:80%}.lg,.xl{font-family:ServiceNowSans-Regular;font-size:1.3125rem;font-weight:400;line-height:1.5}.lg code,.xl code{font-size:80%}.xl{font-size:1.5rem;line-height:1.5}.dps-caption,.dps-label{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}a:not(.dps-link):not(.dps-button):not(.dps-card-click){border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal;margin:-.125rem;padding:0 .125rem;position:relative;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:normal}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus:not(:focus-visible){box-shadow:none;outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):hover{color:#024f69;text-decoration:underline;-webkit-text-decoration-color:#024f69;text-decoration-color:#024f69}a:not(.dps-link):not(.dps-button):not(.dps-card-click):active{color:#032d42;text-decoration:underline;-webkit-text-decoration-color:#032d42;text-decoration-color:#032d42}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}.do-dont-images{column-gap:1rem;display:grid;grid-auto-flow:column;grid-template-rows:1fr auto}@media screen and (max-width:767.98px){.do-dont-images{display:block}}.do-dont-images figcaption,.do-dont-images figure{margin:0;padding:0}.do-dont-images img{margin:0;max-width:100%;padding:0}.do-dont-images figure{background-color:#f7f7f7;border-top:5px solid;margin-top:2rem;padding:1rem;position:relative}.do-dont-images figcaption{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;font-style:italic;line-height:1.5;margin-bottom:0;margin-left:0;margin-right:0;margin-top:.5rem;max-width:100%;text-align:left}.do-dont-images .img-do h5,.do-dont-images .img-dont h5{font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;left:0;line-height:1.75;margin:0;padding:0;position:absolute;top:-2rem}.do-dont-images .img-dont{border-color:#fc726d}.do-dont-images .img-dont h5{color:#fc726d}.do-dont-images .img-do{border-color:#5cc4af}.do-dont-images .img-do h5{color:#5cc4af}:host{display:block;position:relative}dps-spinner{margin-top:2.5rem}.dps-learn-module{color:#293e40;font-size:1rem;position:relative;width:100%}.dps-learn-module .dps-learn-module-banner-version-selector{display:flex;height:1rem;justify-content:flex-start;margin-bottom:1.5rem;width:100%}.dps-learn-module-banner{background:#cde1d9;background-position:105% 0;background-repeat:no-repeat;color:#474d52;position:relative;width:100%;z-index:5}.dps-learn-module-banner__background{align-items:flex-end;display:flex;inset:0;pointer-events:none;position:absolute;z-index:0}.dps-learn-module-banner.-main{color:#fff}.dps-learn-module-banner.-main .dps-learn-module-banner-container dps-inline-version-selector{--dps-color-text-primary:#fff;--dps-icon-color:#fff}.dps-learn-module-banner.-main .dps-learn-module-banner-container h6{color:#fff;font-family:ServiceNowSansMono-Regular;font-size:.875rem;letter-spacing:0;margin-bottom:6px}.dps-learn-module-banner.-main .dps-learn-module-banner-container h1{color:#fff;font-family:ServiceNowSans-Medium;font-size:2rem;font-weight:500}.dps-learn-module-banner-container{align-items:center;display:flex;flex-wrap:wrap;justify-content:center;max-width:90rem;padding:2.8125rem 2.5rem 3.4375rem 3rem;position:relative;z-index:1}.dps-learn-module-banner-container dps-inline-version-selector{margin-bottom:2.25rem;width:100%}.dps-learn-module-banner.-sticky{background:transparent;border-bottom:2px solid #d0d2d3;color:#474d52;margin-bottom:2rem;margin-top:-100%;transform-style:preserve-3d;transition:margin-top .15s cubic-bezier(.77,0,.175,1);z-index:auto}.dps-learn-module-banner.-sticky .dps-learn-module-banner-container{padding:0}.is-visible .dps-learn-module-banner.-sticky{margin-bottom:2rem;margin-top:0;padding:0 0 2rem;transition-duration:.3s;transition-timing-function:cubic-bezier(.075,.82,.165,1)}.dps-learn-module-banner h1,.dps-learn-module-banner h6{align-items:center;display:flex;margin:0;max-width:90rem;position:relative;width:100%}.dps-learn-module-banner h1{font-family:ServiceNowSans-Medium;font-size:1.75rem;line-height:1.1}.-sticky .dps-learn-module-banner h1{font-size:1.3125rem}.dps-learn-module-banner h6{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.-sticky .dps-learn-module-banner h6{margin-bottom:.5rem}.dps-learn-module-banner h6 img{margin-right:.75rem}.dps-learn-module-panel{position:relative}.dps-learn-module-header-wrapper{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.34375rem}.dps-learn-module-header-wrapper h6{margin:0}.dps-learn-module-header-wrapper now-button{flex-shrink:0}.dps-learn-module-content{color:#293e40;display:block;font-size:1rem;line-height:1.5;margin:0 0 1rem;position:relative;width:100%}.dps-learn-module-content.-sticky,.dps-learn-module-content.-sticky+.dps-learn-module-content{float:left}.dps-learn-module-content-header{display:flex;flex-direction:column;margin-bottom:1.25rem}.dps-learn-module-content-header h6{align-items:center;color:#1d1d1d;display:flex;font-family:ServiceNowSans-Book;font-size:.875rem;letter-spacing:0;margin:0 0 .25rem;text-transform:uppercase}.dps-learn-module-content-header h6 span{margin-left:4px}.dps-learn-module-content-header h2{color:#16243a;display:flex;font-family:ServiceNowSans-Medium;font-size:1.5rem;font-weight:500;margin:0}.dps-learn-module-content-footer{display:flex;flex-wrap:wrap;max-width:45rem;position:relative;width:100%}.dps-learn-module-content .heading-element,.dps-learn-module-content .print-title,.dps-learn-module-content h1.title.topictitle1{display:none}.dps-learn-module-content .body p{color:#16243a;font-family:ServiceNowSans-Light;font-size:1rem}.dps-learn-module-content .body li{font-family:ServiceNowSans-Light}.dps-learn-module-content .body img{max-width:100%;width:auto}.dps-learn-module-content .body img.icon{margin:0;padding:0 .5rem}.dps-learn-module-content .body blockquote{background:#e1ecef;border-radius:.1875rem;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;margin:0;padding:.75rem 1.5rem 1rem}.dps-learn-module-content .body blockquote p{margin:0}.dps-learn-module-steps{list-style:none;margin:0 0 .75rem;padding:0;position:relative}.dps-learn-module-step{align-items:flex-start;color:#1d1d1d;display:flex;font-family:ServiceNowSans-Light;padding-bottom:.75rem;position:relative}.dps-learn-module-step.-current:before,.dps-learn-module-step.-viewed:before{background:#63df4e}.dps-learn-module-step.-viewed{color:#6e7274}.dps-learn-module-step.-viewed:after{background:#63df4e}.dps-learn-module-step.-current,.dps-learn-module-step.-current.-viewed{color:#1d1d1d;font-family:ServiceNowSans-Book}.dps-learn-module-step:before{background:#dadbdc;border-radius:50%;content:\\\"\\\";flex:0 0 auto;height:.5rem;margin-top:.3125rem;width:.5rem;z-index:2}.dps-learn-module-step:after{background:#dadbdc;content:\\\"\\\";height:100%;left:.1875rem;position:absolute;top:.75rem;width:.125rem;z-index:1}.dps-learn-module-step:last-of-type:after{display:none}.dps-learn-module-step-icon{align-items:center;flex:0 0 auto;height:1.25rem;width:1.25rem}.dps-learn-module-step-icon img{max-width:1.25rem}.dps-learn-module-step-icon,.dps-learn-module-step>dps-link{display:inline-flex;margin-left:.625rem;position:relative}.dps-learn-module-step>dps-link{flex:1 1 auto}dps-feedback{margin-top:2.5rem}dps-prev-next-doc{width:100%}pre code{white-space:pre-wrap}.dps-learn-module-panel .print-link{float:right}@media(max-width:1199.98px){.dps-learn-module-panel .print-link{display:none}}.mt-5 .-padding-20,.mt-5 .-padding-8{display:flex}.mt-5 .-padding-20 .field,.mt-5 .-padding-8 .field{flex:0 0 auto;margin-right:10px;text-align:right}.mt-5 .-padding-20 .value,.mt-5 .-padding-8 .value{flex:1 0 0;text-align:left}.mt-5 .-padding-8{margin-left:1.5rem}.mt-5 .-padding-12{margin-left:2.25rem}.mt-5 .-padding-20{margin-left:4.625rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../images/guide-dev-account-signup-cta.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"../../images/peopleImg.png\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block;width:100%}.dps-overview{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;position:relative;width:100%}.dps-overview-section{padding:var(--dps-overview-section-learning-plans-padding,6.25rem 0);position:relative;width:100%}@media(max-width:991.98px){.dps-overview-section{padding:2rem 0}}.dps-overview-section.-centered .dps-overview-section-header{justify-content:center}.dps-overview-section.-centered .dps-overview-section-content{text-align:center}.dps-overview-section.-centered p{margin:0 auto 1.5rem}.dps-overview-section.-inverse{background-color:var(--dps-theme-inverse-background-color,#293e40);color:var(--dps-overview-section-font-color,#fff)}.dps-overview-section.-inverse .dps-overview-section-content{gap:1.5rem;margin:var(--dps-overview-section-learning-plans-content-margin);padding-left:0}.dps-overview-section.-inverse .dps-overview-section-content>p{color:var(--dps-overview-section-font-color,#fff);font-family:ServiceNowSans-Light;font-size:var(--dps-overview-section-learning-plans-description-font-size,1rem);line-height:var(--dps-overview-section-learning-plans-description-line-height,1.5);max-width:100%}.dps-overview-section.-inverse .dps-overview-section-header{color:var(--dps-overview-section-learning-plans-header-color,#fff);font-family:ServiceNowSans-Medium;font-size:28px;font-weight:500}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-subheader{color:var(--dps-create-account-subheader-color,#293e40);font-family:ServiceNowSansMono-Regular;font-size:var(--dps-create-account-subheader-font-size,.8125rem);line-height:var(--dps-create-account-subheader-line-height,1.1);margin:var(--dps-create-account-subheader-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-header{color:var(--dps-create-account-header-color,#474d52);font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500;letter-spacing:normal;line-height:1.925rem;margin:var(--dps-create-account-header-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content>p{color:#474d52;font-family:ServiceNowSans-Light;font-size:var(--dps-create-account-description-font-size,1rem);line-height:1.5rem;margin:0;max-width:100%}.dps-overview-section.-highlight{background-color:#f7f7f7}.dps-overview-section.-overview{background-color:#f7f7f7;font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}@media(max-width:991.98px){.dps-overview-section.-overview{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5}}.dps-overview-section.-overview p{margin:0 auto;max-width:46.375rem;text-align:left}.dps-overview-section.-overview p+p{margin-top:1.5rem}.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-two-col .dps-overview-section-content>img{margin:0 auto}@media(max-width:1199.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}@media(max-width:767.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-three-col .dps-overview-section-content>div{align-self:start}.dps-overview-section.-callout{align-items:center;background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");background-position:calc(50% + 275px) calc(100% - 2px);background-repeat:no-repeat;background-size:auto;display:flex;font-family:ServiceNowSans-Light;font-size:1.3125rem;height:37rem;line-height:1.5;overflow:hidden;position:relative}.dps-overview-section.-callout h2,.dps-overview-section.-callout p{max-width:32.5rem}.dps-overview-section.-callout h2+p{font-size:1.3125rem;margin-bottom:4rem}@media(max-width:991.98px){.dps-overview-section.-callout{background-image:none;height:auto}}.dps-overview-section.-callout .dps-overview-section-header{display:block;margin-bottom:1.5rem;padding-bottom:calc(1rem + 4px)}.dps-overview-section.-callout .dps-overview-section-header:before{background-color:#fff;bottom:0;content:\\\"\\\";height:.25rem;left:0;position:absolute;width:5rem}.dps-overview-section .-large{font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}.dps-overview-section img{max-width:100%}.dps-overview-section>p,.dps-overview-section>ul{margin:0 0 1.5rem;position:relative}.dps-overview-section>p{font-family:ServiceNowSans-Light;font-size:18px;max-width:37.5rem}.dps-overview-section ul{-webkit-margin-before:0;-webkit-padding-start:0;list-style-type:none;margin-block-start:0;padding-inline-start:0}.dps-overview-section ul li{margin-bottom:.75rem;position:relative}.dps-overview-section ul li:last-child{margin-bottom:0}.dps-overview-section dps-card p,.dps-overview-section dps-card ul,.dps-overview-section dps-content-stack p,.dps-overview-section dps-content-stack ul{margin:0 0 .75rem}.dps-overview-section dps-card p:last-child,.dps-overview-section dps-card ul:last-child,.dps-overview-section dps-content-stack p:last-child,.dps-overview-section dps-content-stack ul:last-child{margin:0}.dps-overview-section-content{margin:0 auto;max-width:var(--dps-overview-section-content-max-width,90rem);position:relative;width:100%}@media(max-width:767.98px){.dps-overview-section-content{padding:0 1.5rem}}.dps-overview-section-content.-narrow{color:#000;max-width:70.625rem}.dps-overview-section-content.-narrow .dps-overview-section-header{margin-bottom:1.5rem}.dps-overview-section-content.-narrow p{font-size:1.125rem}@media(max-width:1199.98px){.dps-overview-section-content.-narrow{max-width:100%}}@media(max-width:767.98px){.dps-overview-section-content.-narrow{padding:0 1.5rem}}.dps-overview-section-content.now-experience-ui-framework,.dps-overview-section-content.using-now-cli{max-width:100%}.dps-overview-section-header{align-items:center;color:#474d52;display:flex;font-family:ServiceNowSans-Regular;font-size:1.75rem;font-weight:400;line-height:1.1;margin:0 0 1.5rem;position:relative}@media(max-width:991.98px){.dps-overview-section-header{font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5;margin:0 0 1rem}}.dps-overview-section-header img+span{padding-left:1rem}.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:575.98px){.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:767.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}}@media(max-width:575.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-no-header{border-top:1px solid #b9bbbd;margin-top:2.5rem}.table-links-category{color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0 0 .25rem 0}.table-links-title{color:#474d52;font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75;margin:0 0 .25rem 0}.table-links-description{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.1;margin:0 0 .75rem 0}.table-links h3{box-shadow:0 1px 0 0 #b9bbbd;color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0;padding:0 0 .5rem;position:relative;text-transform:uppercase}.table-links ul{list-style:none;margin:2.5rem 0 0;padding:0}ul.list-with-active-indicator{list-style:none;margin:0;padding:0}ul.list-with-active-indicator li{align-items:var(--dps-list-with-active-indicator-align-items,center);border-left:4px solid transparent;display:flex;flex-direction:row;height:var(--dps-list-with-active-indicator-height,inherit);justify-content:flex-start;margin:var(--dps-list-with-active-indicator-margin,inherit);padding-left:var(--dps-list-with-active-indicator-padding-left,1rem)}ul.list-with-active-indicator li a{background:none;color:#8a8e91;display:block;margin-top:-.5rem}ul.list-with-active-indicator li.active{border-left:4px solid #81b5a1}ul.list-with-active-indicator li.active a{color:#474d52;font-family:ServiceNowSans-Regular}ul.list-with-active-indicator .FPO{align-items:center;background-color:pink;display:flex;height:200px;justify-content:center}hr{background-color:#d0d2d3;border:none;height:1px}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem}h1,h2{font-weight:400;line-height:1.1}h2{font-family:ServiceNowSans-Regular;font-size:1.75rem}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}.-learning{--dps-theme-highlight:#81b5a1;--dps-theme-highlight-light-3:#cde1d9}.-learning .dps-learning-header{min-height:17.5rem;overflow:hidden;padding:3.75rem 3.125rem 3.75rem 3rem;position:relative}.-learning .dps-learning-header__background{align-items:flex-end;display:flex;inset:0;pointer-events:none;position:absolute}.-learning .dps-learning-header__image{max-height:85%;object-fit:contain;object-position:right bottom;position:absolute;right:3.125rem;width:auto}.-learning .dps-learning-header__content{max-width:41.25rem;position:relative;z-index:1}.-learning .dps-learning-header__title{color:#fff;font-family:ServiceNowSans-Medium;font-size:2.25rem;font-weight:500;letter-spacing:-.02rem;line-height:2.475rem;margin:0 0 1.5rem 0}.-learning .dps-learning-header__subtitle{color:#fff;font-family:ServiceNowSans-Light;font-size:1.25rem;line-height:1.5rem;margin:0}@media(max-width:1199.98px){.-learning .dps-learning-header{min-height:15rem;padding:3rem 2rem}.-learning .dps-learning-header__image{height:70%;right:2.5rem}.-learning .dps-learning-header__title{font-size:1.75rem;line-height:2.25rem}.-learning .dps-learning-header__subtitle{font-size:1.125rem}}@media(max-width:991.98px){.-learning .dps-learning-header{min-height:12.5rem;padding:2rem 1.5rem}.-learning .dps-learning-header__image{display:none}.-learning .dps-learning-header__title{font-size:1.75rem;line-height:2.25rem}.-learning .dps-learning-header__subtitle{font-size:1.125rem}}@media(max-width:767.98px){.-learning .dps-learning-header__image{display:none}}.-learning .dps-overview-section.-inverse.-two-col.-create-account{--dps-create-account-subheader-font-size:0.875rem;--dps-create-account-subheader-line-height:1rem;--dps-create-account-subheader-color:#000;--dps-create-account-subheader-margin:0 0 1.5rem 0;--dps-create-account-header-margin:0 0 1.5rem 0;--dps-create-account-header-color:#000;--dps-create-account-description-font-size:1.125rem}.-learning .dps-overview-section.-feature+.-feature{border-top:1px solid #d0d2d3}.-learning .dps-overview-section.-inverse{padding:3rem 2.5rem}@media(max-width:991.98px){.-learning .dps-overview-section.-inverse{padding:2rem 1.5rem}}.-learning .dps-overview-section.-inverse.-learning-plans{--dps-overview-section-learning-plans-padding:3rem 2.5rem;background-color:var(--dps-theme-inverse-background-color,#f2f5f7);padding:var(--dps-overview-section-learning-plans-padding)}@media(max-width:991.98px){.-learning .dps-overview-section.-inverse.-learning-plans{padding:2rem 1.5rem}}.-learning .dps-overview-section.-inverse.-learning-plans.-centered .dps-overview-section-content{align-items:center;display:flex;flex-direction:column;gap:3.875rem}@media(max-width:991.98px){.-learning .dps-overview-section.-inverse.-learning-plans.-centered .dps-overview-section-content{gap:2rem}}.-learning .dps-overview-section.-inverse.-learning-plans .dps-overview-section-header{margin-bottom:1.5rem}@media(max-width:991.98px){.-learning .dps-overview-section.-inverse.-learning-plans .dps-overview-section-header{margin-bottom:1rem}}.-learning .dps-overview-section.-inverse.-learning-plans>.dps-overview-section-content>p{margin-bottom:1.5rem}@media(max-width:991.98px){.-learning .dps-overview-section.-inverse.-learning-plans>.dps-overview-section-content>p{margin-bottom:1rem}}.-learning .dps-overview-section.-overview{background-color:#fff!important;padding:3rem 0 2.5rem}@media(max-width:991.98px){.-learning .dps-overview-section.-overview{padding:2rem 0}}.-learning .dps-overview-section.-overview.-centered .dps-overview-section-content{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:75rem;text-align:center}@media(max-width:991.98px){.-learning .dps-overview-section.-overview.-centered .dps-overview-section-content{align-items:center;padding:0 1rem;text-align:center}}@media(max-width:767.98px){.-learning .dps-overview-section.-overview.-centered .dps-overview-section-content{align-items:center;padding:0 .75rem;text-align:center}}.-learning .dps-overview-section.-overview .dps-overview-section-header{color:#000;font-family:ServiceNowSans-Medium;font-size:28px;font-weight:500;letter-spacing:-.0175rem;line-height:2.475rem;margin-bottom:1rem}@media(max-width:991.98px){.-learning .dps-overview-section.-overview .dps-overview-section-header{font-size:1.5rem;line-height:1.4}}.-learning .dps-overview-section.-overview p{color:#000;font-family:ServiceNowSans-Light;font-size:1.125rem;letter-spacing:-.01125rem;line-height:2.475rem;margin:0 auto 2rem;max-width:52.625rem}@media(max-width:991.98px){.-learning .dps-overview-section.-overview p{font-size:1rem;line-height:1.5}}.-learning .dps-overview-section.-feature.-two-col{padding:2.5rem 2.5rem}@media(max-width:991.98px){.-learning .dps-overview-section.-feature.-two-col{padding:2rem 0}}.-learning .dps-overview-section.-feature.-two-col .dps-overview-section-content{margin-bottom:1.25rem;max-width:120rem}@media(max-width:991.98px){.-learning .dps-overview-section.-feature.-two-col .dps-overview-section-content{align-items:flex-start;display:flex;flex-direction:column;padding-left:16px}}.-learning .dps-overview-section.-feature.-two-col .dps-overview-section-content>img{display:block;justify-self:start;margin-left:3.75rem}@media(max-width:991.98px){.-learning .dps-overview-section.-feature.-two-col .dps-overview-section-content>img{display:block;justify-self:center;margin:0 auto 1.25rem;order:-1}}@media(max-width:767.98px){.-learning .dps-overview-section.-feature.-two-col .dps-overview-section-content>img{display:block;margin:0 auto 1.25rem;order:-1}}.-learning .dps-overview-section.-feature.-two-col.-gray{background-color:#f2f5f7;padding:30px 2.5rem 2.5rem 3rem}@media(max-width:1199.98px){.-learning .dps-overview-section.-feature.-two-col.-gray{padding:2.5rem 1.5rem}}.-learning .dps-overview-section.-feature.-two-col.-gray p{color:#000}@media(max-width:991.98px){.-learning .dps-overview-section.-feature.-two-col.-gray .dps-overview-section-content>img{margin:1.25rem auto 0;order:1}}@media(max-width:767.98px){.-learning .dps-overview-section.-feature.-two-col.-gray .dps-overview-section-content>img{margin:1.25rem auto 0;order:1}}.-learning .dps-overview-section.-feature.-two-col.-gray .dps-overview-section-content>img{justify-self:end;margin:0;padding-right:3rem}@media(max-width:991.98px){.-learning .dps-overview-section.-feature.-two-col.-gray .dps-overview-section-content>img{justify-self:center;margin:0 auto}}.-learning .dps-overview-section.-feature.-two-col .dps-overview-section-content{gap:13.5rem}@media(max-width:991.98px){.-learning .dps-overview-section.-feature.-two-col .dps-overview-section-content{gap:2rem}}.-learning .dps-overview-section.-feature.-two-col .dps-overview-section-content>div{display:flex;flex-direction:column;gap:1.5rem;max-width:37.0625rem}.-learning .dps-overview-section.-feature.-two-col .dps-overview-section-header{color:#000;font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500;line-height:normal;margin-bottom:0}@media(max-width:991.98px){.-learning .dps-overview-section.-feature.-two-col .dps-overview-section-header{font-size:1.3125rem;line-height:1.1}}.-learning .dps-overview-section.-feature.-two-col p{color:#000;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;margin:0;max-width:31.5625rem}@media(max-width:991.98px){.-learning .dps-overview-section.-feature.-two-col p{font-size:.875rem}}.-learning .dps-overview-section.-feature.-two-col ul{font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5;list-style-position:outside;margin:0;max-width:31.5625rem;padding-left:0}@media(max-width:991.98px){.-learning .dps-overview-section.-feature.-two-col ul{font-size:.875rem}}.-learning .dps-overview-section.-feature.-two-col ul li{color:#1d1d1d;margin-bottom:0}.-learning .dps-overview-section.-create-account{--dps-theme-inverse-background-color:#fff;background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \");background-position:calc(50% + 620px);background-repeat:no-repeat;font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5;padding:3rem 2.5rem 2.5rem 3rem}@media(max-width:991.98px){.-learning .dps-overview-section.-create-account{background-position:calc(50% + 550px);background-size:40%;font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5}}@media(max-width:767.98px){.-learning .dps-overview-section.-create-account{background-image:none}}.-learning .dps-overview-section.-create-account .dps-overview-section-content>div{padding-right:2.5rem}.-learning .dps-overview-section.-create-account .dps-overview-section-header:before{background-color:#fff;bottom:-1rem;content:\\\"\\\";height:.25rem;left:0;position:absolute;width:5rem}@media(max-width:991.98px){.-learning .dps-overview-section.-create-account .dps-overview-section-header:before{bottom:-.75rem}}.-learning .dps-overview-section.-create-account .dps-overview-section-subheader{font-family:ServiceNowSans-Medium;font-size:.75rem;font-weight:400;letter-spacing:.1em;line-height:1;margin:0 0 1rem;text-transform:uppercase}@media(max-width:991.98px){.-learning .dps-overview-section.-create-account .dps-overview-section-subheader{margin-bottom:.5rem}}.-learning .dps-overview-section ul li{align-items:center;display:flex}.-learning .dps-overview-section ul li>img{flex:0 0;margin-right:.5rem}.-learning .build-agent-row{align-items:center;display:flex;gap:8px;justify-content:center}.-learning .build-agent-row__text{color:#000;font-family:ServiceNowSans-Regular;font-size:18px}.-learning .build-agent-row__link{align-items:center;color:#00a3ba;cursor:pointer;display:inline-flex;font-family:ServiceNowSans-Regular;font-size:18px;gap:.125rem;-webkit-text-decoration-line:underline;text-decoration-line:underline;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;-webkit-text-decoration-style:solid;text-decoration-style:solid;text-decoration-thickness:auto;text-underline-offset:auto;text-underline-position:from-font}@media(max-width:767.98px){.-learning .build-agent-row{flex-wrap:wrap;justify-content:center}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../images/guide-dev-account-signup-cta.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{width:100%}.dps-overview{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;position:relative;width:100%}.dps-overview-section{padding:var(--dps-overview-section-learning-plans-padding,6.25rem 0);position:relative;width:100%}@media(max-width:991.98px){.dps-overview-section{padding:2rem 0}}.dps-overview-section.-centered .dps-overview-section-header{justify-content:center}.dps-overview-section.-centered .dps-overview-section-content{text-align:center}.dps-overview-section.-centered p{margin:0 auto 1.5rem}.dps-overview-section.-inverse{background-color:var(--dps-theme-inverse-background-color,#293e40);color:var(--dps-overview-section-font-color,#fff)}.dps-overview-section.-inverse .dps-overview-section-content{gap:1.5rem;margin:var(--dps-overview-section-learning-plans-content-margin);padding-left:0}.dps-overview-section.-inverse .dps-overview-section-content>p{color:var(--dps-overview-section-font-color,#fff);font-family:ServiceNowSans-Light;font-size:var(--dps-overview-section-learning-plans-description-font-size,1rem);line-height:var(--dps-overview-section-learning-plans-description-line-height,1.5);max-width:100%}.dps-overview-section.-inverse .dps-overview-section-header{color:var(--dps-overview-section-learning-plans-header-color,#fff);font-family:ServiceNowSans-Medium;font-size:28px;font-weight:500}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-subheader{color:var(--dps-create-account-subheader-color,#293e40);font-family:ServiceNowSansMono-Regular;font-size:var(--dps-create-account-subheader-font-size,.8125rem);line-height:var(--dps-create-account-subheader-line-height,1.1);margin:var(--dps-create-account-subheader-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-header{color:var(--dps-create-account-header-color,#474d52);font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500;letter-spacing:normal;line-height:1.925rem;margin:var(--dps-create-account-header-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content>p{color:#474d52;font-family:ServiceNowSans-Light;font-size:var(--dps-create-account-description-font-size,1rem);line-height:1.5rem;margin:0;max-width:100%}.dps-overview-section.-highlight{background-color:#f7f7f7}.dps-overview-section.-overview{background-color:#f7f7f7;font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}@media(max-width:991.98px){.dps-overview-section.-overview{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5}}.dps-overview-section.-overview p{margin:0 auto;max-width:46.375rem;text-align:left}.dps-overview-section.-overview p+p{margin-top:1.5rem}.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-two-col .dps-overview-section-content>img{margin:0 auto}@media(max-width:1199.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}@media(max-width:767.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-three-col .dps-overview-section-content>div{align-self:start}.dps-overview-section.-callout{align-items:center;background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");background-position:calc(50% + 275px) calc(100% - 2px);background-repeat:no-repeat;background-size:auto;display:flex;font-family:ServiceNowSans-Light;font-size:1.3125rem;height:37rem;line-height:1.5;overflow:hidden;position:relative}.dps-overview-section.-callout h2,.dps-overview-section.-callout p{max-width:32.5rem}.dps-overview-section.-callout h2+p{font-size:1.3125rem;margin-bottom:4rem}@media(max-width:991.98px){.dps-overview-section.-callout{background-image:none;height:auto}}.dps-overview-section.-callout .dps-overview-section-header{display:block;margin-bottom:1.5rem;padding-bottom:calc(1rem + 4px)}.dps-overview-section.-callout .dps-overview-section-header:before{background-color:#fff;bottom:0;content:\\\"\\\";height:.25rem;left:0;position:absolute;width:5rem}.dps-overview-section .-large{font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}.dps-overview-section img{max-width:100%}.dps-overview-section>p,.dps-overview-section>ul{margin:0 0 1.5rem;position:relative}.dps-overview-section>p{font-family:ServiceNowSans-Light;font-size:18px;max-width:37.5rem}.dps-overview-section ul{-webkit-margin-before:0;-webkit-padding-start:0;list-style-type:none;margin-block-start:0;padding-inline-start:0}.dps-overview-section ul li{margin-bottom:.75rem;position:relative}.dps-overview-section ul li:last-child{margin-bottom:0}.dps-overview-section dps-card p,.dps-overview-section dps-card ul,.dps-overview-section dps-content-stack p,.dps-overview-section dps-content-stack ul{margin:0 0 .75rem}.dps-overview-section dps-card p:last-child,.dps-overview-section dps-card ul:last-child,.dps-overview-section dps-content-stack p:last-child,.dps-overview-section dps-content-stack ul:last-child{margin:0}.dps-overview-section-content{margin:0 auto;max-width:var(--dps-overview-section-content-max-width,90rem);position:relative;width:100%}@media(max-width:767.98px){.dps-overview-section-content{padding:0 1.5rem}}.dps-overview-section-content.-narrow{color:#000;max-width:70.625rem}.dps-overview-section-content.-narrow .dps-overview-section-header{margin-bottom:1.5rem}.dps-overview-section-content.-narrow p{font-size:1.125rem}@media(max-width:1199.98px){.dps-overview-section-content.-narrow{max-width:100%}}@media(max-width:767.98px){.dps-overview-section-content.-narrow{padding:0 1.5rem}}.dps-overview-section-content.now-experience-ui-framework,.dps-overview-section-content.using-now-cli{max-width:100%}.dps-overview-section-header{align-items:center;color:#474d52;display:flex;font-family:ServiceNowSans-Regular;font-size:1.75rem;font-weight:400;line-height:1.1;margin:0 0 1.5rem;position:relative}@media(max-width:991.98px){.dps-overview-section-header{font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5;margin:0 0 1rem}}.dps-overview-section-header img+span{padding-left:1rem}.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:575.98px){.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:767.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}}@media(max-width:575.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-no-header{border-top:1px solid #b9bbbd;margin-top:2.5rem}.table-links-category{color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0 0 .25rem 0}.table-links-title{color:#474d52;font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75;margin:0 0 .25rem 0}.table-links-description{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.1;margin:0 0 .75rem 0}.table-links h3{box-shadow:0 1px 0 0 #b9bbbd;color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0;padding:0 0 .5rem;position:relative;text-transform:uppercase}.table-links ul{list-style:none;margin:2.5rem 0 0;padding:0}ul.list-with-active-indicator{list-style:none;margin:0;padding:0}ul.list-with-active-indicator li{align-items:var(--dps-list-with-active-indicator-align-items,center);border-left:4px solid transparent;display:flex;flex-direction:row;height:var(--dps-list-with-active-indicator-height,inherit);justify-content:flex-start;margin:var(--dps-list-with-active-indicator-margin,inherit);padding-left:var(--dps-list-with-active-indicator-padding-left,1rem)}ul.list-with-active-indicator li a{background:none;color:#8a8e91;display:block;margin-top:-.5rem}ul.list-with-active-indicator li.active{border-left:4px solid #81b5a1}ul.list-with-active-indicator li.active a{color:#474d52;font-family:ServiceNowSans-Regular}ul.list-with-active-indicator .FPO{align-items:center;background-color:pink;display:flex;height:200px;justify-content:center}hr{background-color:#d0d2d3;border:none;height:1px}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem}h1,h2{font-weight:400;line-height:1.1}h2{font-family:ServiceNowSans-Regular;font-size:1.75rem}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}:host{display:block}.dps-learning-tutorials{background-color:#f7f7f7}.dps-learning-tutorials dps-page-header{text-align:center}.dps-learning-tutorials-cards-list{display:flex;justify-content:center;margin-top:.125rem;padding-bottom:3.125rem}.dps-learning-tutorials-cards-list-section{margin-left:2.0625rem}@media(max-width:767.98px){.dps-learning-tutorials-cards-list-section{margin:0 auto}}.dps-learning-tutorials-cards-loader{display:flex;justify-content:center;margin-top:3.125rem;min-height:15.625rem}.dps-learning-tutorials-card{background-color:#fff;border:1px solid #d3d6dc;border-radius:.25rem;box-shadow:0 .5px .2px 0 #d3d6dc;box-sizing:border-box;cursor:pointer;display:flex;height:13.0625rem;margin:2.5rem auto;width:52.4375rem}@media(max-width:991.98px){.dps-learning-tutorials-card{flex-direction:column;max-width:33.4375rem;min-height:21.5625rem}}@media(max-width:767.98px){.dps-learning-tutorials-card{max-width:21.25rem;min-height:20.3125rem}}.dps-learning-tutorials-card-image{justify-content:flex-start}@media(max-width:991.98px){.dps-learning-tutorials-card-image-show-as-background{background-position:80% 25%;background-repeat:no-repeat;background-size:cover;min-height:7.9375rem}}@media(max-width:767.98px){.dps-learning-tutorials-card-image-show-as-background{background-position:80% 25%;background-repeat:no-repeat;background-size:cover;min-height:5.5rem}}.dps-learning-tutorials-card-image img{margin-left:-.0625rem;margin-top:-.0625rem}@media(max-width:1103.98px){.dps-learning-tutorials-card-image img{height:100%;margin-left:-.0625rem;margin-top:.0625rem}}@media(max-width:991.98px){.dps-learning-tutorials-card-image img{display:none}}.dps-learning-tutorials-card-details{justify-content:flex-end;margin:1.5625rem 1.5625rem 1.5625rem 2.4375rem}.dps-learning-tutorials-card-details-type{color:#697879;font-family:Lato,sans-serif;font-size:.8125rem;letter-spacing:.02;line-height:1.125rem;margin:0 0 .25rem 0}@media(max-width:767.98px){.dps-learning-tutorials-card-details-type{font-size:.75rem}}.dps-learning-tutorials-card-details-title{color:#1d2b2d;font-family:ServiceNowSans-Regular;font-size:1.3125rem;margin:0 0 .5rem 0}@media(max-width:767.98px){.dps-learning-tutorials-card-details-title{font-size:1rem}}.dps-learning-tutorials-card-details-description{color:#1d2b2d;font-family:Lato,sans-serif;font-size:1rem;line-height:1.3125rem;margin:-.25rem 0 1rem 0}@media(max-width:767.98px){.dps-learning-tutorials-card-details-description{font-size:.875rem;line-height:1.125rem}}.dps-learning-tutorials-card-details dps-badge{margin-right:.5rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../images/icons/green-circle-check.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}dps-spinner{margin-top:2.5rem}dps-template-two-column{--dps-template-two-column-panel-padding:43px 2.5rem 3.75rem 2rem}.dps-lp-details-hero{align-items:center;display:grid;gap:2.5rem;grid-template-columns:1fr auto;min-height:17.5rem;overflow:hidden;padding:3.75rem 3.0625rem;position:relative}@media(max-width:1199.98px){.dps-lp-details-hero{gap:2rem;min-height:15rem;padding:3rem 2rem 3.75rem}}@media(max-width:991.98px){.dps-lp-details-hero{gap:1.5rem;grid-template-columns:1fr;padding:2rem 1rem}}.dps-lp-details-hero__background{align-items:flex-end;display:flex;inset:0;pointer-events:none;position:absolute;z-index:0}.dps-lp-details-hero__image{max-height:85%;object-fit:contain;object-position:right bottom;position:absolute;right:3.75rem;width:auto}@media(max-width:1199.98px){.dps-lp-details-hero__image{max-height:80%;right:2.5rem}}@media(max-width:991.98px){.dps-lp-details-hero__image{display:none}}.dps-lp-details-hero__content{display:flex;flex-direction:column;gap:.75rem;max-width:41.25rem;position:relative;z-index:1}@media(max-width:991.98px){.dps-lp-details-hero__content{gap:.625rem}}.dps-lp-details-hero__version-selector{margin-bottom:1.5rem}.dps-lp-details-hero__version-selector dps-inline-version-selector{--dps-color-text-primary:#fff;--dps-icon-color:#fff}.dps-lp-details-hero__modules-count{color:#fff;font-family:ServiceNowSansMono-Regular;font-size:.875rem;letter-spacing:.1em;margin:0;text-transform:uppercase}.dps-lp-details-hero__title{color:#fff;font-family:ServiceNowSans-Book;font-size:2rem;letter-spacing:-.02rem;line-height:2.475rem;margin:0 0 .625rem 0}@media(max-width:1199.98px){.dps-lp-details-hero__title{font-size:1.75rem}}@media(max-width:991.98px){.dps-lp-details-hero__title{font-size:1.5rem}}.dps-lp-details-hero__subtitle{color:#fff;font-family:ServiceNowSans-Light;font-size:1.25rem;line-height:1.5rem;margin:0}@media(max-width:991.98px){.dps-lp-details-hero__subtitle{font-size:1.125rem}}.dps-lp-details-hero__description{color:#fff;font-family:ServiceNowSans-Light;font-size:1.25rem;margin:0}.dps-lp-details-hero__description .app-engine-studio-text{font-family:ServiceNowSans-Book}@media(max-width:991.98px){.dps-lp-details-hero__description{font-size:1.125rem}}.dps-lp-details-hero__cta{align-self:flex-start;margin-top:1rem}.dps-lp-details-hero__card{align-items:center;display:flex;justify-content:center;position:relative;z-index:1}@media(max-width:991.98px){.dps-lp-details-hero__card{order:-1}}.side-nav-contents{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5}.side-nav-contents p,.side-nav-contents ul{color:#293e40}.side-nav-contents ul{padding:0}.side-nav-contents li{background:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") no-repeat 0 4px transparent;color:#515151;font-family:ServiceNowSans-Light;font-size:.875rem;list-style-image:none;list-style-position:outside;list-style-type:none;margin-bottom:.5rem;min-height:1.375rem;padding-left:1.3125rem;padding-right:1.5rem}.side-nav-contents li ul{list-style:none}.side-nav-contents li ul li{align-items:baseline;background:none;display:flex;padding-left:.25rem}.side-nav-contents li ul li:before{border-color:#5cc4af;border-radius:50%;border-style:solid;border-width:2px;content:\\\"\\\";display:block;flex:0 0 0.5625rem;height:.5625rem;margin-right:1rem;width:.5625rem}.side-nav-contents p{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5}.side-nav-contents p:first-child,.side-nav-contents p:nth-of-type(3){font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5}.side-nav-contents p:first-child{color:#2e2e2e;font-family:ServiceNowSans-Medium;font-size:1.125rem;font-weight:500;margin-top:0}.side-nav-contents p:nth-of-type(2){color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:.875rem;margin-right:1.5rem}.side-nav-contents p:nth-of-type(3){color:#2e2e2e;font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;margin-bottom:1.34375rem;margin-right:4.25rem;margin-top:1.5rem}.modules-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.3125rem}.right-content h2{color:#1d1d1d;font-family:ServiceNowSans-Regular;font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:400;font-weight:500;line-height:1.1;margin-bottom:0;margin-top:0}.module-card-wrapper{margin-bottom:1.5rem}@media screen and (max-width:991.98px){.dps-lpd-main-container{display:block;margin-top:-3.125rem}.dps-lpd-main-container .side-nav{width:100%}.dps-lpd-main-container .right-content{padding-top:3.125rem;width:100%}}@media(max-width:1199.98px){.right-content .print-link{display:none}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../images/guide-dev-account-signup-cta.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block;width:100%}.dps-overview{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;position:relative;width:100%}.dps-overview-section{padding:var(--dps-overview-section-learning-plans-padding,6.25rem 0);position:relative;width:100%}@media(max-width:991.98px){.dps-overview-section{padding:2rem 0}}.dps-overview-section.-centered .dps-overview-section-header{justify-content:center}.dps-overview-section.-centered .dps-overview-section-content{text-align:center}.dps-overview-section.-centered p{margin:0 auto 1.5rem}.dps-overview-section.-inverse{background-color:var(--dps-theme-inverse-background-color,#293e40);color:var(--dps-overview-section-font-color,#fff)}.dps-overview-section.-inverse .dps-overview-section-content{gap:1.5rem;margin:var(--dps-overview-section-learning-plans-content-margin);padding-left:0}.dps-overview-section.-inverse .dps-overview-section-content>p{color:var(--dps-overview-section-font-color,#fff);font-family:ServiceNowSans-Light;font-size:var(--dps-overview-section-learning-plans-description-font-size,1rem);line-height:var(--dps-overview-section-learning-plans-description-line-height,1.5);max-width:100%}.dps-overview-section.-inverse .dps-overview-section-header{color:var(--dps-overview-section-learning-plans-header-color,#fff);font-family:ServiceNowSans-Medium;font-size:28px;font-weight:500}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-subheader{color:var(--dps-create-account-subheader-color,#293e40);font-family:ServiceNowSansMono-Regular;font-size:var(--dps-create-account-subheader-font-size,.8125rem);line-height:var(--dps-create-account-subheader-line-height,1.1);margin:var(--dps-create-account-subheader-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-header{color:var(--dps-create-account-header-color,#474d52);font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500;letter-spacing:normal;line-height:1.925rem;margin:var(--dps-create-account-header-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content>p{color:#474d52;font-family:ServiceNowSans-Light;font-size:var(--dps-create-account-description-font-size,1rem);line-height:1.5rem;margin:0;max-width:100%}.dps-overview-section.-highlight{background-color:#f7f7f7}.dps-overview-section.-overview{background-color:#f7f7f7;font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}@media(max-width:991.98px){.dps-overview-section.-overview{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5}}.dps-overview-section.-overview p{margin:0 auto;max-width:46.375rem;text-align:left}.dps-overview-section.-overview p+p{margin-top:1.5rem}.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-two-col .dps-overview-section-content>img{margin:0 auto}@media(max-width:1199.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}@media(max-width:767.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-three-col .dps-overview-section-content>div{align-self:start}.dps-overview-section.-callout{align-items:center;background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");background-position:calc(50% + 275px) calc(100% - 2px);background-repeat:no-repeat;background-size:auto;display:flex;font-family:ServiceNowSans-Light;font-size:1.3125rem;height:37rem;line-height:1.5;overflow:hidden;position:relative}.dps-overview-section.-callout h2,.dps-overview-section.-callout p{max-width:32.5rem}.dps-overview-section.-callout h2+p{font-size:1.3125rem;margin-bottom:4rem}@media(max-width:991.98px){.dps-overview-section.-callout{background-image:none;height:auto}}.dps-overview-section.-callout .dps-overview-section-header{display:block;margin-bottom:1.5rem;padding-bottom:calc(1rem + 4px)}.dps-overview-section.-callout .dps-overview-section-header:before{background-color:#fff;bottom:0;content:\\\"\\\";height:.25rem;left:0;position:absolute;width:5rem}.dps-overview-section .-large{font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}.dps-overview-section img{max-width:100%}.dps-overview-section>p,.dps-overview-section>ul{margin:0 0 1.5rem;position:relative}.dps-overview-section>p{font-family:ServiceNowSans-Light;font-size:18px;max-width:37.5rem}.dps-overview-section ul{-webkit-margin-before:0;-webkit-padding-start:0;list-style-type:none;margin-block-start:0;padding-inline-start:0}.dps-overview-section ul li{margin-bottom:.75rem;position:relative}.dps-overview-section ul li:last-child{margin-bottom:0}.dps-overview-section dps-card p,.dps-overview-section dps-card ul,.dps-overview-section dps-content-stack p,.dps-overview-section dps-content-stack ul{margin:0 0 .75rem}.dps-overview-section dps-card p:last-child,.dps-overview-section dps-card ul:last-child,.dps-overview-section dps-content-stack p:last-child,.dps-overview-section dps-content-stack ul:last-child{margin:0}.dps-overview-section-content{margin:0 auto;max-width:var(--dps-overview-section-content-max-width,90rem);position:relative;width:100%}@media(max-width:767.98px){.dps-overview-section-content{padding:0 1.5rem}}.dps-overview-section-content.-narrow{color:#000;max-width:70.625rem}.dps-overview-section-content.-narrow .dps-overview-section-header{margin-bottom:1.5rem}.dps-overview-section-content.-narrow p{font-size:1.125rem}@media(max-width:1199.98px){.dps-overview-section-content.-narrow{max-width:100%}}@media(max-width:767.98px){.dps-overview-section-content.-narrow{padding:0 1.5rem}}.dps-overview-section-content.now-experience-ui-framework,.dps-overview-section-content.using-now-cli{max-width:100%}.dps-overview-section-header{align-items:center;color:#474d52;display:flex;font-family:ServiceNowSans-Regular;font-size:1.75rem;font-weight:400;line-height:1.1;margin:0 0 1.5rem;position:relative}@media(max-width:991.98px){.dps-overview-section-header{font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5;margin:0 0 1rem}}.dps-overview-section-header img+span{padding-left:1rem}.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:575.98px){.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:767.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}}@media(max-width:575.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-no-header{border-top:1px solid #b9bbbd;margin-top:2.5rem}.table-links-category{color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0 0 .25rem 0}.table-links-title{color:#474d52;font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75;margin:0 0 .25rem 0}.table-links-description{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.1;margin:0 0 .75rem 0}.table-links h3{box-shadow:0 1px 0 0 #b9bbbd;color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0;padding:0 0 .5rem;position:relative;text-transform:uppercase}.table-links ul{list-style:none;margin:2.5rem 0 0;padding:0}ul.list-with-active-indicator{list-style:none;margin:0;padding:0}ul.list-with-active-indicator li{align-items:var(--dps-list-with-active-indicator-align-items,center);border-left:4px solid transparent;display:flex;flex-direction:row;height:var(--dps-list-with-active-indicator-height,inherit);justify-content:flex-start;margin:var(--dps-list-with-active-indicator-margin,inherit);padding-left:var(--dps-list-with-active-indicator-padding-left,1rem)}ul.list-with-active-indicator li a{background:none;color:#8a8e91;display:block;margin-top:-.5rem}ul.list-with-active-indicator li.active{border-left:4px solid #81b5a1}ul.list-with-active-indicator li.active a{color:#474d52;font-family:ServiceNowSans-Regular}ul.list-with-active-indicator .FPO{align-items:center;background-color:pink;display:flex;height:200px;justify-content:center}hr{background-color:#d0d2d3;border:none;height:1px}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem}h1,h2{font-weight:400;line-height:1.1}h2{font-family:ServiceNowSans-Regular;font-size:1.75rem}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}.-learning-list{--dps-color-text-primary:#fff;--dps-button-primary-bg:#fff;--dps-button-primary-border-color:#62d84e;--dps-button-primary-hover-border-color:#62d84e;--dps-button-primary-hover-color:#fff}.-learning-list .dps-lp-header{min-height:17.5rem;overflow:hidden;padding:3.75rem 4.0625rem 4.75rem 3rem;position:relative}.-learning-list .dps-lp-header__background{align-items:flex-end;display:flex;inset:0;pointer-events:none;position:absolute}.-learning-list .dps-lp-header__image{max-height:85%;object-fit:contain;object-position:right bottom;position:absolute;right:3.75rem;width:auto}.-learning-list .dps-lp-header__content{max-width:41.25rem;padding:.625rem .625rem .625rem 0;position:relative;z-index:1}.-learning-list .dps-lp-header__version-selector{margin-bottom:1.5rem}.-learning-list .dps-lp-header__version-selector dps-inline-version-selector{--dps-color-text-primary:#fff;--dps-latest-release-icon-filter:brightness(0) invert(1);--dps-icon-color:#fff}.-learning-list .dps-lp-header__title{color:#fff;font-family:ServiceNowSans-Medium;font-size:2rem;font-weight:500;letter-spacing:-.02rem;line-height:2.475rem;margin:0 0 .625rem 0}.-learning-list .dps-lp-header__subtitle{color:#fff;font-family:ServiceNowSans-Light;font-size:1.25rem;line-height:1.5rem;margin:0}@media(max-width:1199.98px){.-learning-list .dps-lp-header{min-height:15rem;padding:3rem 2rem 3.75rem}.-learning-list .dps-lp-header__image{max-height:80%;right:2.5rem}.-learning-list .dps-lp-header__title{font-size:1.75rem}.-learning-list .dps-lp-header__subtitle{font-size:1.125rem}}@media(max-width:991.98px){.-learning-list .dps-lp-header{min-height:12.5rem;padding:2rem 1.5rem 3rem}.-learning-list .dps-lp-header__image{display:none}}@media(max-width:767.98px){.-learning-list .dps-lp-header__image{display:none}}.-learning-list .dps-overview-section.-overview{padding-top:3rem}@media(max-width:767.98px){.-learning-list .dps-overview-section.-overview{padding-bottom:0}}.-learning-list .dps-overview-section.-overview .dps-overview-section-header{color:#000;font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500;letter-spacing:-.0175rem;line-height:2.475rem;text-align:justify}.-learning-list .dps-overview-section.-overview .dps-overview-section-header span{font-family:ServiceNowSans-Medium;font-size:1.75rem}.-learning-list .dps-overview-section.-overview .dps-overview-section-content>p{color:#000;font-family:ServiceNowSans-Light;font-size:1.125rem;letter-spacing:-.01125rem;line-height:1.75rem;text-align:center}.dps-learning-list-container{display:flex;flex-wrap:wrap;justify-content:center;margin-left:-1rem;margin-top:3rem;width:calc(100% + 2rem)}.dps-learning-list-container ul li{display:flex}.dps-learning-list-container ul li>img{flex:0 0 auto;margin-right:.3125rem;margin-top:.0625rem}.dps-learning-list-container dps-card{--dps-content-stack-title-font-size:1.375rem;--dps-content-stack-title-line-height:1.5125rem;--dps-content-stack-title-color:#1d1d1d;--dps-content-stack-title-text-align:left;--dps-content-stack-description-font-size:0.875rem;--dps-content-stack-description-line-height:normal;--dps-content-stack-description-color:#1d1d1d;--dps-content-stack-description-text-align:left;--dps-content-stack-subtitle-color:#1d1d1d;--dps-content-stack-subtitle-text-transform:uppercase;--dps-card-box-shadow:0 4px 8px 0 rgba(0,0,0,.1);--dps-content-stack-title-margin-bottom:0.625rem;--dps-card-border-radius:0.5rem;--dps-card-background-color:transparent;--dps-card-border:none;--dps-card-padding:0;--dps-card-inner-background-color:#fff;--dps-card-inner-border:1px solid #f7f7f7;--dps-card-inner-border-radius:0.375rem;--dps-card-inner-height:100%;--dps-card-inner-padding:1.5rem;--dps-card-inner-position:relative;flex:1 1 calc(33.33% - 2rem);font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;margin:1rem;max-width:26.6875rem}@media(max-width:767.98px){.dps-learning-list-container dps-card{flex:1 1 100%;margin:0 0 1rem;max-width:none}}.dps-learning-list-container dps-card dps-badge[slot=badge]{left:1.5rem;position:absolute;top:-.15rem}.dps-learning-list-container dps-card .dps-content-stack-header{margin-bottom:.625rem}.dps-learning-list-container dps-card p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:normal;margin-bottom:1rem;text-align:left}.dps-learning-list-container dps-card ul{list-style:none;margin:0 0 1rem 0;padding:0}.dps-learning-list-container dps-card ul li{align-items:flex-start;color:#515151;display:flex;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:normal;margin-bottom:.5rem;text-overflow:ellipsis}.dps-learning-list-container dps-card ul li:last-child{margin-bottom:0}.dps-learning-list-container dps-card ul li>img{flex-shrink:0}.dps-learning-list-container dps-card ul li>span{color:#515151;flex:1}.dps-learning-list-container dps-card now-button[slot=cta]{margin-top:1rem}.dps-learning-list-container dps-card sup{font-size:.9em;vertical-align:.2em}.dps-learning-list-container dps-card .dps-lp-list-card-title{color:#1d1d1d;font-family:ServiceNowSans-Book;font-size:1rem;letter-spacing:-.01rem;line-height:1.5125rem;margin:.75rem 0!important;padding:0;text-align:left}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/highlight.js/styles/agate.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}code.hljs{padding:1rem}aside,b,dd,div,dl,dt,em,i,li,ol,p,strong,ul{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;line-height:1.5rem}aside,dd,div,dl,dt,li,ol,p,ul{font-weight:400}a em{color:#00718f}strong,strong em{font-family:ServiceNowSans-Medium;font-weight:500}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem;line-height:1.1;line-height:1.3125rem;margin:2rem 0}h1,h2{color:#1d1d1d;font-size:1.75rem;font-weight:400;font-weight:500}h2{font-family:ServiceNowSans-Regular;font-family:ServiceNowSans-Medium;font-size:1.5rem;line-height:1.1;line-height:2.25rem;margin-bottom:.75rem 0}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400;margin-bottom:.5rem 0}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400;margin-bottom:.5rem 0}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal}blockquote,code,img,ol,p,pre,ul{margin:.75rem 0}img{max-width:100%}pre{margin-bottom:1.5rem;margin-top:.75rem}div+h1,div+h2,div+h3,div+h4,div+h5,div+h6,img+h1,img+h2,img+h3,img+h4,img+h5,img+h6,p+h1,p+h2,p+h3,p+h4,p+h5,p+h6,ul+h1,ul+h2,ul+h3,ul+h4,ul+h5,ul+h6{margin-top:2rem}b,strong{font-weight:500}b,code,strong{letter-spacing:.02em}code{background-color:#e8e8e9;border:1px solid #d0d2d3;border-radius:.25rem;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5}code b,code strong{font-weight:500}pre code{background-color:transparent;border:none;border-radius:0}.sm,small{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}.sm code,small code{font-size:80%}.lg,.xl{font-family:ServiceNowSans-Regular;font-size:1.3125rem;font-weight:400;line-height:1.5}.lg code,.xl code{font-size:80%}.xl{font-size:1.5rem;line-height:1.5}.dps-caption,.dps-label{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}a:not(.dps-link):not(.dps-button):not(.dps-card-click){border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal;margin:-.125rem;padding:0 .125rem;position:relative;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:normal}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus:not(:focus-visible){box-shadow:none;outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):hover{color:#024f69;text-decoration:underline;-webkit-text-decoration-color:#024f69;text-decoration-color:#024f69}a:not(.dps-link):not(.dps-button):not(.dps-card-click):active{color:#032d42;text-decoration:underline;-webkit-text-decoration-color:#032d42;text-decoration-color:#032d42}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}.do-dont-images{column-gap:1rem;display:grid;grid-auto-flow:column;grid-template-rows:1fr auto}@media screen and (max-width:767.98px){.do-dont-images{display:block}}.do-dont-images figcaption,.do-dont-images figure{margin:0;padding:0}.do-dont-images img{margin:0;max-width:100%;padding:0}.do-dont-images figure{background-color:#f7f7f7;border-top:5px solid;margin-top:2rem;padding:1rem;position:relative}.do-dont-images figcaption{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;font-style:italic;line-height:1.5;margin-bottom:0;margin-left:0;margin-right:0;margin-top:.5rem;max-width:100%;text-align:left}.do-dont-images .img-do h5,.do-dont-images .img-dont h5{font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;left:0;line-height:1.75;margin:0;padding:0;position:absolute;top:-2rem}.do-dont-images .img-dont{border-color:#fc726d}.do-dont-images .img-dont h5{color:#fc726d}.do-dont-images .img-do{border-color:#5cc4af}.do-dont-images .img-do h5{color:#5cc4af}:host{display:block}.dps-ad-cards{min-height:8.75rem;opacity:1;position:relative}.dps-ad-cards .spinner-wrapper{bottom:0;left:0;opacity:1;overflow:visible;position:absolute;right:0;top:0}.dps-ad-cards .spinner-wrapper dps-spinner{grid-column:1/5}.dps-ad-cards.-is-loaded .spinner-wrapper{display:none}.newsevent-carousel-card[slot=content]{max-width:17rem!important}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-button{align-items:center;border:none;color:inherit;cursor:pointer;display:inline-flex;font-family:ServiceNowSans-Book;font-size:1rem;font-weight:400;justify-content:center;letter-spacing:.01em;line-height:1.1;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),border .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:nowrap;width:inherit}.dps-button:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-button:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:active{color:currentColor}.dps-button.is-disabled,.dps-button:disabled{cursor:not-allowed}.dps-button.-primary{background:var(--dps-button-primary-bg,#62d84e);border:2px solid var(--dps-button-primary-border-color,#62d84e);border-radius:.5rem;color:#1d1d1d;font-family:ServiceNowSans-Book}.dps-button.-primary:hover{background:#62d84e;border-color:var(--dps-button-primary-hover-border-color,#62d84e);color:var(--dps-button-primary-hover-color,#1d1d1d)}.dps-button.-primary.is-disabled,.dps-button.-primary:disabled{background:#b9bbbd}.dps-button.-primary svg{fill:#fff}.dps-button.-primary-inverse{background:#62d84e;border:2px solid #62d84e;border-radius:.5rem;color:#000;font-family:ServiceNowSans-Book}.dps-button.-primary-inverse:hover{background:#fff}.dps-button.-primary-inverse.is-disabled,.dps-button.-primary-inverse:disabled{background:#8a8e91}.dps-button.-primary-inverse svg{fill:#62d84e}.dps-button.-secondary{background:var(--dps-button-secondary-bg,#fff);border:var(--dps-button-secondary-border-width,2px) solid var(--dps-button-secondary-border-color,#62d84e);border-radius:.5rem;color:var(--dps-button-secondary-color,#1d1d1d);font-family:ServiceNowSans-Book;font-size:1rem}.dps-button.-secondary:hover{background:var(--dps-button-secondary-hover-bg,#62d84e);border-color:var(--dps-button-secondary-hover-border-color,#62d84e);box-shadow:var(--dps-button-secondar-hover-box-shadow);color:var(--dps-button-secondary-hover-color,#000)}.dps-button.-secondary:hover svg{fill:#fff}.dps-button.-secondary.is-bare{color:#032d42;font-family:ServiceNowSans-Book;font-size:1rem;line-height:normal}.dps-button.-secondary.is-disabled,.dps-button.-secondary:disabled{background:transparent;border-color:#b9bbbd;color:#b9bbbd}.dps-button.-secondary svg{fill:#1d1d1d}.dps-button.-secondary-inverse{background:#fff;border:2px solid #62d84e;border-radius:.5rem}.dps-button.-secondary-inverse:hover{background:#62d84e;border-color:#62d84e}.dps-button.-secondary-inverse:hover svg{fill:#62d84e}.dps-button.-secondary-inverse.is-disabled,.dps-button.-secondary-inverse:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-secondary-inverse svg{fill:#d0d2d3}.dps-button.-round{background:#01778e;border-radius:1.5rem;color:#fff;height:2.625rem;min-width:12.1875rem}.dps-button.-round.is-disabled,.dps-button.-round:disabled{background:transparent;border:1px solid #b9bbbd;color:#b9bbbd}.dps-button.-secondary-light{background:transparent;border:2px solid #fff;color:#fff}.dps-button.-secondary-light:hover{background:#fff;border-color:#fff;color:#293e40}.dps-button.-secondary-light.is-disabled,.dps-button.-secondary-light:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-destructive{background:#ca5b57;color:#fff}.dps-button.-destructive:hover{background:#fc726d}.dps-button.-destructive.is-disabled,.dps-button.-destructive:disabled{background:#fdaaa7}.dps-button.-sm{color:#000;font-family:ServiceNowSans-Book;font-size:1rem;gap:.125rem;height:auto;min-height:2rem;padding:.375rem 1rem}.dps-button.-sm.only-icon{padding:0;width:2rem}.dps-button.-sm.has-button-and-icon now-icon{width:2rem}.dps-button.-md{height:2.625rem;padding:0 1.5rem}.dps-button.-md.only-icon{padding:0;width:2.625rem}.dps-button.-md.has-button-and-icon now-icon{width:2.625rem}.dps-button.-lg{height:3.125rem;padding:0 2rem}.dps-button.-lg.only-icon{padding:0;width:3.125rem}.dps-button.-lg.has-button-and-icon now-icon{width:3.125rem}.dps-button.is-bare{background:transparent;border:none;color:#546566}.dps-button.is-bare:hover{background:transparent;border:none;color:#293e40}.dps-button.is-bare:hover svg{fill:#293e40}.dps-button.is-bare svg{fill:#546566}.dps-button.has-action now-icon{transition:transform .3s cubic-bezier(.075,.82,.165,1)}.dps-button.has-action:hover now-icon{transform:translateX(.125rem)}.dps-button.has-action:hover.-external-action now-icon{transform:translateX(1px) translateY(-1px)}.dps-button.is-white{color:#fff}.dps-button.-round-edge{border-radius:.5rem;height:auto;padding:.5rem 1rem}.dps-button-label+now-icon,.dps-button-label+svg{margin-left:.5rem}.dps-button-label+svg.-sm{height:.75rem;width:.75rem}.dps-button-label+svg.-md{height:1rem;width:1rem}.dps-button-label+svg.-lg{height:1.5rem;width:1.5rem}.dps-button-label+svg.-xl{height:2rem;width:2rem}:host{display:block;height:100%}.dps-news-events-ad-card{background-color:#fff;border-radius:.625rem;box-shadow:0 .125rem .25rem rgba(56,56,56,.25);color:inherit;display:flex;flex-direction:column;gap:.75rem;height:100%;overflow:hidden;padding-bottom:.75rem;text-decoration:none;width:17rem}.dps-news-events-ad-card span.dps-button{background:transparent;border:none;color:#1d1d1d;padding:0}.dps-news-events-ad-card .card-image{margin:unset;max-height:8.125rem;object-fit:cover;width:100%}.dps-news-events-ad-card .content{align-items:flex-start;display:inline-flex;flex-basis:70%;flex-direction:column;gap:.75rem;justify-content:flex-start;overflow:hidden;padding:.1875rem 1rem 0}.dps-news-events-ad-card h2,.dps-news-events-ad-card h4{margin:0}.dps-news-events-ad-card h4{align-items:center;color:#626364;display:flex;font-family:ServiceNowSans-Regular;font-size:.75rem;font-weight:400;gap:.1875rem;letter-spacing:.075rem;line-height:1;margin-bottom:.125rem;margin-top:0;text-transform:uppercase}.dps-news-events-ad-card h2{word-wrap:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#1d1d1d;display:-webkit-box;font-family:ServiceNowSans-Book;font-size:1rem;line-height:1.2;max-height:2.375rem;overflow:hidden;text-overflow:ellipsis}.dps-news-events-ad-card .content-body{min-height:5.75rem}.dps-news-events-ad-card .content-body .card-subtext{word-wrap:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#1d1d1d;display:-webkit-box;font-family:ServiceNowSans-Regular;font-size:.875rem;font-weight:400;line-height:1.5;max-height:2.625rem;overflow:hidden;text-overflow:ellipsis}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.operation-history-table{border:1px solid #eee;border-radius:.5rem;border-spacing:0;font-family:ServiceNowSans-Regular;margin-top:1rem;overflow:hidden;width:100%}.operation-history-table td,.operation-history-table th{padding:.625rem;text-align:left}.operation-history-table th{border-bottom:1px solid #eee}.operation-history-table tr:nth-child(2n){background-color:#eee}.operation-history-table tr:nth-child(odd){background-color:#fff}.operation-history-table tr th{background-color:#fff;font-weight:700}.history-date{display:flex;gap:4px}.view-history-pagination{display:flex;justify-content:center}.no-operations{align-items:center;display:flex;flex-direction:column;gap:1rem}.-summary,.no-operations-text{font-family:ServiceNowSans-Regular}.-summary{--dps-theme-highlight:#81b5a1;--dps-theme-highlight-light-3:#cde1d9;background:#f2f5f7;padding:2.5rem}.-summary button,.-summary now-button{--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.-summary .dps-pdi-summary-alert-margin{margin-bottom:30px}@media(max-width:1024px)and (min-width:769px){.-summary .dps-pdi-summary-content-section{flex-wrap:wrap}.-summary .useful-links-container{flex:1 1 100%}.-summary .dps-pdi-summary-content{flex-wrap:wrap}.-summary .dps-pdi-summary-action-container{margin-bottom:1.5rem;width:100%}}@media(max-width:768px){.-summary .dps-pdi-summary-content-section{flex-wrap:wrap}.-summary .useful-links-container{flex:1 1 100%}.-summary .dps-pdi-summary-content{flex-wrap:wrap}.-summary .dps-pdi-summary-action-container{margin-bottom:1.5rem;width:100%}.-summary .manage-instance{flex-direction:column}.-summary .dps-pdi-plugins-header{flex-wrap:wrap}.-summary .dps-pdi-plugins-header-sort{margin-bottom:1.5rem;margin-left:16px}.-summary .plugin-card{flex:0 1 calc(50% - 12px)}}@media(max-width:576px){.-summary .plugin-card{flex:0 1 100%}.-summary .dps-pdi-plugins-categories{flex-wrap:wrap}}@media(max-width:414px){.-summary{padding:0 16px 0 16px}}.-summary .dps-pdi-summary-header-section .dps-pdi-summary-action-container,.-summary .dps-pdi-summary-header-section .dps-pdi-summary-content{align-items:center;display:flex;justify-content:space-between}.-summary .dps-pdi-summary-header-section .dps-pdi-summary-action-container.-disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.-summary .dps-pdi-summary-header-section .dps-pdi-summary-action-container.-disabled:hover{cursor:not-allowed}.-summary .dropdown-button{--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;border:2px solid #62d84e;border-radius:.625rem}.-summary .dropdown-button:hover{background-color:#62d84e}.-summary .dps-pdi-plugins-header-sort{align-items:center;display:flex;flex-basis:34%;gap:1rem}.-summary .dps-pdi-plugins-header{align-items:center;display:flex;justify-content:space-between}.-summary .encoded-text{display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;max-width:160px;overflow:hidden;position:relative;text-overflow:ellipsis;top:.45rem;white-space:nowrap}.-summary .instance-url{display:flex;flex-direction:column;padding-bottom:1rem}.-summary .instance-url .instance-url-label{color:#666;font-family:ServiceNowSans-Light;font-size:.75rem}.-summary .instance-url .instance-url-value{align-items:center;display:flex}.-summary .instance-url .instance-url-text{color:#007393;font-family:ServiceNowSans-Light;font-size:1rem}.-summary .url-style{background:none;height:0;padding:0}.-summary .copy-icon{padding-bottom:.4rem;padding-left:.6rem}.-summary .user-role{display:flex;flex-direction:column;padding-bottom:.8rem}.-summary .user-role .user-role-label{color:#666;font-family:ServiceNowSans-Light;font-size:.75rem}.-summary .user-role .user-role-value{font-family:ServiceNowSans-Light}.-summary .user-name{display:flex;flex-direction:column;padding-bottom:1rem}.-summary .user-name .user-name-label{color:#666;font-family:ServiceNowSans-Light;font-size:.75rem}.-summary .user-name .user-name-value{font-family:ServiceNowSans-Light}.-summary .instance-info-container{background:#fff;border:1px solid #e3e3e3;border-radius:.625rem;display:flex;flex:1;flex-direction:column;padding:1.5rem;position:relative}.-summary .instance-info-container.-disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.-summary .instance-info-container.-disabled:hover{cursor:not-allowed}.-summary .dps-pdi-summary-title{margin-bottom:1rem}.-summary .dps-pdi-plugins-title,.-summary .dps-pdi-summary-title{color:#1d1d1d;font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500}.-summary .dps-pdi-plugins-title{letter-spacing:.02em}.-summary .get-instance-help{color:#1d1d1d;margin-left:.2rem}.-summary .card-container{display:flex;flex-direction:column;justify-content:space-between;width:100%}.-summary .dps-reclaim-alert{--now-alert--font-family:ServiceNowSans-Light;--now-alert_header--font-family:ServiceNowSans-Medium;--now-alert_header--font-weight:500;--now-alert_header--warning--color:29,29,29}.-summary .instance-reclaim-info{display:flex;flex-direction:column;gap:.25rem}.-summary .instance-reclaim-info-label{color:#666;font-family:ServiceNowSans-Light;font-size:.75rem;white-space:nowrap}.-summary .instance-reclaim-pill{align-items:center;border-radius:1rem;color:#fff;display:flex;font-family:ServiceNowSans-Light;font-size:.75rem;gap:.125rem;min-height:16px;padding:0 .25rem;white-space:nowrap;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.-summary .instance-reclaim-pill now-icon{--now-icon--size:12px}.-summary .instance-reclaim-pill--positive{background-color:#3e8501}.-summary .instance-reclaim-pill--warning{background-color:#ffde1d;color:#1d1d1d}.-summary .instance-reclaim-pill--critical{background-color:#e52239}.-summary .instance-status-vertical-divider{align-self:stretch;background-color:#cfd5d7;width:1px}.-summary .instance-header{align-items:center;border-bottom:1px solid #cfd5d7;display:flex;gap:.75rem;justify-content:space-between;padding-bottom:1rem}.-summary .policy{justify-content:flex-start}.-summary .policy-version{align-items:flex-start!important;justify-content:flex-start!important}.-summary .instance-status-container{align-items:center;display:flex;font-size:.8125rem;gap:1rem;justify-content:flex-start}.-summary .instance-reclaim-row{display:contents}.-summary .status-info{color:#666;display:flex;flex-direction:column;font-family:ServiceNowSans-Light;font-size:.75rem;gap:.25rem}.-summary .status-online{background:#3e8501}.-summary .status-offline,.-summary .status-online{border-radius:.8rem;display:flex;gap:.01rem;padding:.1rem;padding-right:.25rem}.-summary .status-offline{background:#d9dbdb}.-summary .status-offline .status-text{color:#1d1d1d}.-summary .status-fulfilling{background:#fca822;border-radius:.8rem;display:flex;gap:.01rem;padding:.1rem;padding-right:.25rem}.-summary .status-fulfilling .status-text{color:#1d1d1d;font-size:.75rem}.-summary .status-hibernating{background:#6d7376;border-radius:.8rem;display:flex;gap:.01rem;padding:.1rem;padding-right:.25rem}.-summary .dps-instance-assignment-modal-releaseCard-img{height:75px;margin-top:90px;width:82px}.-summary .instance-ellipsis-container{display:flex}.-summary .ellipsis{position:absolute;right:0}.-summary .status-text{color:#fff;font-size:.75rem}.-summary .url-icon{display:flex}.-summary .status-circle{background-color:#fff;border-radius:1rem;height:.4rem;margin-right:.2rem;width:.4rem}.-summary .instance-icon-wrapper{align-items:center;background:#cfe2ff;display:flex;padding:.5rem}.-summary .refresh-instance-container{align-items:center;background:#fff;border:2px solid #62d84e;border-radius:.5rem;display:flex;font-size:.8125rem;padding:.2rem;padding-bottom:0}.-summary .refresh-instance-container .refresh-instance-button{display:flex;flex-wrap:nowrap;font-size:.8125rem;font-weight:700}.-summary .refresh-instance-container .refresh-instance-button .refresh-instance{font-weight:700;margin-left:.2rem}.-summary .dps-pdi-summary-content-section{display:flex;gap:2.5rem}.-summary .installed-apps-section{align-items:center;border-bottom:1px solid #cfd5d7;display:flex;gap:1rem;padding-bottom:1rem;padding-top:1rem}.-summary .installed-app{display:flex;flex-direction:column;gap:.25rem}.-summary .installed-app-name{color:#666;font-family:ServiceNowSans-Light;font-size:.75rem;white-space:nowrap}.-summary .app-status{border-radius:1rem;display:flex;font-family:ServiceNowSans-Light;font-size:.75rem;gap:.1rem;padding:.1rem .2rem;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.-summary .app-status.installed{background-color:#cddfbd}.-summary .app-status.not-installed{align-items:center;background-color:#d9dbdb}.-summary .filter-field::-webkit-search-cancel-button{color:red;position:relative;right:1.25rem}.-summary .plugin-card-container{display:flex;flex-wrap:wrap;gap:1.5rem;height:502px;margin-bottom:.75rem;margin-top:inherit;overflow-y:auto}.-summary .current-version-info{font-family:ServiceNowSans-Light}.-summary .current-version-info .current-version-label{color:#666;font-size:.75rem;line-height:1.5}.-summary .current-version-info .current-version-value{color:#1d1d1d;font-size:1rem;line-height:1.5}.-summary .dps-pdi-plugins-categories{display:flex;gap:1rem;width:38%}.-summary .password-container{align-items:center;display:flex;gap:.2rem}.-summary .current-password{padding-bottom:1rem}.-summary .current-password .current-password-label{color:#666;font-family:ServiceNowSans-Light;font-size:.75rem}.-summary .current-password .current-password-value{padding-right:.4rem;position:absolute}.-summary .eye-icon{cursor:pointer;left:9rem;position:relative}.-summary .overlay{background-color:rgba(0,0,0,.3);bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0}.-summary .dps-pdi-plugins-section{margin-top:1.6rem;position:relative}.-summary .dps-pdi-plugins-section.-disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.-summary .dps-pdi-plugins-section.-disabled:hover{cursor:not-allowed}.-summary .manage-instance{display:flex;gap:2.5rem}.-summary .filter-plugins{background:#fff;border:1px solid #e3e3e3;border-radius:.4rem;display:flex;flex-grow:1;gap:.2rem;max-width:360px;padding:.4rem}.-summary .filter-plugins .filter-field{border:none;flex:1;outline:none}.-summary .version-info-container{align-items:center;display:flex;gap:.75rem;justify-content:space-between;padding-top:1rem}.-summary .version-info-container dps-upgrade-instance{margin-top:1.125rem}.-summary .secondary-pdi-actions{background-color:#fff;border-radius:.5rem;display:block;left:90%;position:absolute;top:4%;z-index:2}.-summary .secondary-pdi-actions.-disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.-summary .secondary-pdi-actions.-disabled:hover{cursor:not-allowed}.-summary .secondary-pdi-actions:focus,.-summary .secondary-pdi-actions:hover{background-color:#62d84e}@media(max-width:414px){.-summary .instance-header{display:grid;gap:1rem .75rem;grid-template-columns:auto auto 1fr}.-summary .instance-status-container{display:contents}.-summary .instance-status-container>.status-info{grid-area:1/2;margin-left:.75rem}.-summary .instance-reclaim-row{display:flex;gap:1.5rem;grid-column:1/-1;grid-row:2}.-summary .instance-reclaim-row>:first-child{order:2}.-summary .instance-reclaim-row>:nth-child(2){order:1}.-summary .instance-icon-wrapper{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.-summary .instance-actions{grid-area:1/3;justify-self:start}.-summary .instance-status-vertical-divider{display:none}.-summary .installed-apps-section{flex-wrap:wrap;gap:1rem 50px}}@media(min-width:415px)and (max-width:767.98px){.-summary .instance-header{gap:.5rem}.-summary .instance-status-container{gap:.75rem}}.spinner-waking{height:10px}.spinner{display:flex;flex-wrap:wrap;gap:1.5rem;height:440px;margin-top:inherit;overflow-y:auto}.shimmer{animation:shimmer 2.2s linear infinite forwards;background:linear-gradient(90deg,#f6f6f6 8%,#f0f0f0 18%,#f6f6f6 33%);background-size:1000px 100%}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.shimmer-text-line{border-radius:10px;height:1.2rem;max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content;min-width:120px;width:100%}.current-user-role{background-color:#0079cc;border-radius:500px;color:#fff;display:flex;font-family:ServiceNowSans-Regular;font-size:.75rem;font-weight:400;margin-bottom:.5rem;padding-left:.25rem;padding-right:.25rem;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.user-role-header{margin-bottom:.25rem}.plugin-card{box-sizing:border-box;cursor:pointer;flex-basis:calc(33.8% - 24px)}.latest-release{background-color:#bddcf2;border-radius:1rem;font-size:.75rem;margin-top:.5rem;padding-left:.3rem;padding-right:.3rem;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.remove_demo_data,.reset-instance{display:flex;flex-direction:column;gap:1rem}.change-user-role-completed,.pdi_action_inprogress{align-items:center;display:flex;flex-direction:column}.change-user-role-completed{gap:1rem}.completed-task{font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500}.confirm-checkbox{align-items:flex-start;align-self:stretch;border:1px solid #cbcbcb;border-radius:.5rem;display:flex;gap:.5rem;padding:1rem}.viewMessage_reset-instance{color:#3b3b3b;display:flex;flex-direction:column;font-weight:600;gap:.5rem}.viewMessage_reset-instance_options_container{display:flex;flex-direction:column;gap:.25rem}.viewMessage_reset-instance_options{display:flex;gap:.5rem}.modal-text{color:#3b3b3b;font-size:1rem;font-weight:600}.reset-instance-modal-text{color:#3b3b3b;font-size:1rem;font-weight:bolder}.release-instance .viewMessage{display:flex;flex-direction:column;gap:.5rem;white-space:pre-line}input[type=search]::-ms-clear,input[type=search]::-ms-reveal{display:none;height:0;width:0}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{display:none}.other-reason{display:contents}.other-reason .instance-release-textField{border-radius:.5rem;height:80px;padding:.5rem}.release-instance-field-container{border:1px solid #cbcbcb;border-radius:.5rem;display:flex;flex-direction:column;gap:.5rem;padding:1rem;padding-top:.5rem}.characters-left{font-size:.75rem}.request-submitting-message{color:#666;font-family:ServiceNowSans-Regular;font-size:.875rem;font-weight:600;padding-top:.875rem;text-align:center}.unconfigured{height:168px;width:216px}.viewMessage_reset-instance-header{font-weight:bolder}.role-layout{display:flex;gap:1.5rem;margin:.25rem}.role-cards{display:flex;flex:1;flex-direction:column;gap:1rem}.role-image{align-items:center;display:flex;flex:1;justify-content:center}.change-user-desc{font-family:ServiceNowSans-Regular;font-size:.75rem;padding-top:.25rem}.update-user-role-text{font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500}.switch-btn{background-color:#e0e5e6;border:1px solid #637274;border-radius:6.25rem;cursor:pointer;height:1rem;margin-top:-1.25rem;position:relative;width:3rem}.switch-btn:before{background:#fff;border:1px solid #879394;border-radius:50%;box-shadow:0 2px 4px 0 rgba(0,0,0,.3);content:\\\"\\\";height:1.5rem;left:-.3125rem;position:absolute;top:-.3125rem;transition:all .15s ease-out;width:1.5rem}input[type=checkbox]:checked+.switch-btn:before{left:1.5rem}.switch input[type=checkbox]{visibility:hidden}input[type=checkbox]:checked+.switch-btn{background:#01778e;border:1px solid #01778e}.instanceModal-toggle{align-items:baseline;display:flex;padding-left:.3125rem;padding-top:1.5rem}.switch-label{margin-left:.75rem}.manage-email-properties{font-weight:700}.dps-pdi-plugins-section,.useful-links-container,.user-name,.user-role{-webkit-user-select:none;-moz-user-select:none;user-select:none}.plugin-card-container-no-plugins{align-items:center;background:#fff;border:1px solid #e3e3e3;border-radius:.75rem;display:flex;flex-direction:column;gap:12px;height:502px;justify-content:center;margin-top:1.5rem}.no-plugins-found{color:#1d1d1d;font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500}.no-plugins-text{color:#000;font-family:ServiceNowSans-Regular;font-size:.875rem}.plugin-container{margin-top:1.5rem}.alert{margin-bottom:1rem}.instance-actions{--now-actionable--font-size--sm:14px;display:flex;gap:1rem;margin-top:1rem}.info-icon{bottom:.5rem;cursor:pointer;padding-left:.25rem;position:relative}.tooltip-container{display:inline-block;position:relative}.activity-warning-tooltip{word-wrap:break-word;background-color:#fff;border-radius:.5rem;box-shadow:0 4px 12px 0 rgba(56,56,56,.25);color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;left:50%;padding:.75rem;position:absolute;text-align:left;transform:translateX(-50%);visibility:hidden;width:27.5vw;z-index:100}.tooltip-container:hover .activity-warning-tooltip{visibility:visible}@media(max-width:640px){.activity-warning-tooltip{left:-24px}}@media(max-width:528px)and (min-width:500px){.activity-warning-tooltip{left:50px}}.no-search-result{color:#1d1d1d;font-family:ServiceNowSans-Regular;font-size:1rem;font-weight:600}.developer-site-link{color:#00a3ba;font-family:ServiceNowSans-Regular;font-size:.875rem;font-weight:400}.no-search-result-text-keywords{color:#666}.no-search-result-container{align-items:center;display:flex;flex-direction:column;gap:1rem}.dps-pdi-instance-fulfilling{color:#3b3b3b;font-family:ServiceNowSans-Medium;font-weight:500;margin:0}.dps-pdi-instance-fulfilling-info{text-align:center}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.plugin-two-actions{padding-top:1rem}.plugin-three-actions,.plugin-two-actions{align-items:center;display:flex;flex-direction:column;gap:.8125rem;justify-content:space-evenly}.plugin-button{width:100%}.plugin{background-color:#fff;border:1px solid #d0d2d3;border-radius:.5rem;box-shadow:0 17px 18px -20px rgba(0,0,0,.15);color:#293e40;height:154px;overflow:scroll;padding:1rem}.plugin.-disabled{color:#d0d2d3;opacity:.6;pointer-events:none}.plugin.-disabled,.plugin.-disabled:hover{cursor:not-allowed}.plugin-status{align-items:center;border-radius:.625rem;display:flex;font-size:small;gap:.125rem;margin-bottom:.5rem;padding:0 .25rem 0 .125rem;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.plugin-status-text{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:.75rem}.plugin-card-header{display:flex;gap:.8rem;margin-bottom:.5rem}.plugin-card-header .plugin-icon{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;margin-bottom:.2rem}.plugin-card-header .plugin-name{-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#1d1d1d;display:-webkit-box;font-family:ServiceNowSans-Book;font-weight:450;margin-bottom:.6rem;overflow:hidden}.plugin-button-content{align-items:center;cursor:pointer;display:flex;flex-direction:column;gap:.8125rem;justify-content:center}.plugin-short-desc{-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#515151;display:-webkit-box;font-family:ServiceNowSans-Light;font-size:.875rem;overflow:hidden}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.upgrade-instance{--now-actionable--font-size--sm:14px;align-items:flex-end;display:flex;flex-direction:column;gap:.125rem}.upgrade-instance.-disabled{color:#d0d2d3;cursor:not-allowed;opacity:.6;pointer-events:none}.upgrade-instance.-disabled:hover{cursor:not-allowed}.upgrade-instance__modal-content{display:flex;flex-direction:column;gap:1rem;width:100%}.upgrade-instance__version-container{align-items:stretch;display:flex;gap:1rem;justify-content:center;width:100%}.upgrade-instance__version-card{align-items:flex-start;background-color:#fff;border-radius:.25rem;cursor:pointer;display:flex;flex:1 1 0;flex-direction:column;overflow:hidden;position:relative;transition:border-color .15s ease}.upgrade-instance__version-card:hover{border-color:#0080a3}.upgrade-instance__version-card--selected{border:2px solid #0080a3;border-radius:.75rem}.upgrade-instance__card-badge{align-items:flex-start;display:flex;flex-direction:column;margin-bottom:-17px;position:relative;width:100%;z-index:2}.upgrade-instance__badge-label{align-items:center;background-color:#e3e3e3;border-bottom-right-radius:.75rem;border-top-left-radius:.25rem;color:#172b31;display:flex;font-family:ServiceNowSans-Light;font-size:.625rem;height:17px;justify-content:center;padding-top:.125rem;text-align:center;white-space:nowrap;width:69px}.upgrade-instance__card-body{align-items:center;border:1px solid #e3e3e3;border-radius:.75rem;display:flex;flex:1;flex-direction:column;padding:1rem;position:relative;width:100%;z-index:1}.upgrade-instance__card-content{align-items:center;display:flex;flex:1;flex-direction:column;gap:.5rem;justify-content:center;padding-bottom:1rem;padding-top:.75rem}.upgrade-instance__card-image{align-items:center;display:flex;height:64px;justify-content:center;overflow:hidden;width:64px}.upgrade-instance__card-image img{height:100%;object-fit:contain;width:100%}.upgrade-instance__card-name{color:#172b31;font-family:ServiceNowSans-Book;font-size:1rem;text-align:center;white-space:nowrap}.upgrade-instance__card-tag{align-items:center;background-color:#d4f0f0;border-radius:.75rem;display:flex;gap:.125rem;min-height:16px;padding-left:.125rem;padding-right:.25rem}.upgrade-instance__tag-icon{flex-shrink:0}.upgrade-instance__tag-text{color:#172b31;font-family:Lato,sans-serif;font-size:.75rem;line-height:1;white-space:nowrap}.upgrade-instance__footer{align-items:center;display:flex;justify-content:space-between;padding-top:2.5rem;width:100%}.upgrade-instance__footer-link{align-items:center;display:flex;gap:.125rem;text-decoration:none}.upgrade-instance__footer-link-text{color:#007393;cursor:pointer;font-family:ServiceNowSans-Light;font-size:1rem;text-decoration:underline;text-underline-position:from-font}.upgrade-instance__footer-link-icon{height:16px;width:16px}.upgrade-instance__footer-link:hover .upgrade-instance__footer-link-text{text-decoration:none}.upgrade-instance__footer-actions{align-items:flex-start;display:flex;gap:.5rem}@media(max-width:768px){.upgrade-instance__version-container{flex-wrap:wrap}.upgrade-instance__version-card{flex:1 1 240px}}@media(max-width:576px){.upgrade-instance__modal-content{max-height:calc(100vh - 160px);overflow-y:auto}.upgrade-instance__version-container{flex-direction:column;flex-wrap:nowrap}.upgrade-instance__version-card{flex:1 1 auto;width:100%}.upgrade-instance__footer{align-items:flex-start;flex-direction:column;gap:1rem}.upgrade-instance__footer-actions{width:100%}.upgrade-instance__footer-actions now-button{flex:1}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.useful-links-card{background:#fff;border:1px solid #e3e3e3;border-radius:.625rem;display:flex;flex-direction:column;gap:.75rem;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;padding:1.5rem}.useful-links-card .useful-links{display:flex;flex-direction:column;gap:1rem}.useful-links-card .useful-links .pdi-document{align-items:center;display:flex;gap:.3rem}.useful-links-text{color:#1d1d1d;font-family:ServiceNowSans-Medium;font-size:1.5rem;font-weight:500}.link-text{color:#007393;font-family:ServiceNowSans-Light;font-size:1rem}.url{left:.2rem;position:relative;top:.2rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../images/guide-dev-account-signup-cta.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"../../images/group-10.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{display:block;width:100%}.dps-overview{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;position:relative;width:100%}.dps-overview-section{padding:var(--dps-overview-section-learning-plans-padding,6.25rem 0);position:relative;width:100%}@media(max-width:991.98px){.dps-overview-section{padding:2rem 0}}.dps-overview-section.-centered .dps-overview-section-header{justify-content:center}.dps-overview-section.-centered .dps-overview-section-content{text-align:center}.dps-overview-section.-centered p{margin:0 auto 1.5rem}.dps-overview-section.-inverse{background-color:var(--dps-theme-inverse-background-color,#293e40);color:var(--dps-overview-section-font-color,#fff)}.dps-overview-section.-inverse .dps-overview-section-content{gap:1.5rem;margin:var(--dps-overview-section-learning-plans-content-margin);padding-left:0}.dps-overview-section.-inverse .dps-overview-section-content>p{color:var(--dps-overview-section-font-color,#fff);font-family:ServiceNowSans-Light;font-size:var(--dps-overview-section-learning-plans-description-font-size,1rem);line-height:var(--dps-overview-section-learning-plans-description-line-height,1.5);max-width:100%}.dps-overview-section.-inverse .dps-overview-section-header{color:var(--dps-overview-section-learning-plans-header-color,#fff);font-family:ServiceNowSans-Medium;font-size:28px;font-weight:500}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-subheader{color:var(--dps-create-account-subheader-color,#293e40);font-family:ServiceNowSansMono-Regular;font-size:var(--dps-create-account-subheader-font-size,.8125rem);line-height:var(--dps-create-account-subheader-line-height,1.1);margin:var(--dps-create-account-subheader-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-header{color:var(--dps-create-account-header-color,#474d52);font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500;letter-spacing:normal;line-height:1.925rem;margin:var(--dps-create-account-header-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content>p{color:#474d52;font-family:ServiceNowSans-Light;font-size:var(--dps-create-account-description-font-size,1rem);line-height:1.5rem;margin:0;max-width:100%}.dps-overview-section.-highlight{background-color:#f7f7f7}.dps-overview-section.-overview{background-color:#f7f7f7;font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}@media(max-width:991.98px){.dps-overview-section.-overview{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5}}.dps-overview-section.-overview p{margin:0 auto;max-width:46.375rem;text-align:left}.dps-overview-section.-overview p+p{margin-top:1.5rem}.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-two-col .dps-overview-section-content>img{margin:0 auto}@media(max-width:1199.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}@media(max-width:767.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-three-col .dps-overview-section-content>div{align-self:start}.dps-overview-section.-callout{align-items:center;background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");background-position:calc(50% + 275px) calc(100% - 2px);background-repeat:no-repeat;background-size:auto;display:flex;font-family:ServiceNowSans-Light;font-size:1.3125rem;height:37rem;line-height:1.5;overflow:hidden;position:relative}.dps-overview-section.-callout h2,.dps-overview-section.-callout p{max-width:32.5rem}.dps-overview-section.-callout h2+p{font-size:1.3125rem;margin-bottom:4rem}@media(max-width:991.98px){.dps-overview-section.-callout{background-image:none;height:auto}}.dps-overview-section.-callout .dps-overview-section-header{display:block;margin-bottom:1.5rem;padding-bottom:calc(1rem + 4px)}.dps-overview-section.-callout .dps-overview-section-header:before{background-color:#fff;bottom:0;content:\\\"\\\";height:.25rem;left:0;position:absolute;width:5rem}.dps-overview-section .-large{font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}.dps-overview-section img{max-width:100%}.dps-overview-section>p,.dps-overview-section>ul{margin:0 0 1.5rem;position:relative}.dps-overview-section>p{font-family:ServiceNowSans-Light;font-size:18px;max-width:37.5rem}.dps-overview-section ul{-webkit-margin-before:0;-webkit-padding-start:0;list-style-type:none;margin-block-start:0;padding-inline-start:0}.dps-overview-section ul li{margin-bottom:.75rem;position:relative}.dps-overview-section ul li:last-child{margin-bottom:0}.dps-overview-section dps-card p,.dps-overview-section dps-card ul,.dps-overview-section dps-content-stack p,.dps-overview-section dps-content-stack ul{margin:0 0 .75rem}.dps-overview-section dps-card p:last-child,.dps-overview-section dps-card ul:last-child,.dps-overview-section dps-content-stack p:last-child,.dps-overview-section dps-content-stack ul:last-child{margin:0}.dps-overview-section-content{margin:0 auto;max-width:var(--dps-overview-section-content-max-width,90rem);position:relative;width:100%}@media(max-width:767.98px){.dps-overview-section-content{padding:0 1.5rem}}.dps-overview-section-content.-narrow{color:#000;max-width:70.625rem}.dps-overview-section-content.-narrow .dps-overview-section-header{margin-bottom:1.5rem}.dps-overview-section-content.-narrow p{font-size:1.125rem}@media(max-width:1199.98px){.dps-overview-section-content.-narrow{max-width:100%}}@media(max-width:767.98px){.dps-overview-section-content.-narrow{padding:0 1.5rem}}.dps-overview-section-content.now-experience-ui-framework,.dps-overview-section-content.using-now-cli{max-width:100%}.dps-overview-section-header{align-items:center;color:#474d52;display:flex;font-family:ServiceNowSans-Regular;font-size:1.75rem;font-weight:400;line-height:1.1;margin:0 0 1.5rem;position:relative}@media(max-width:991.98px){.dps-overview-section-header{font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5;margin:0 0 1rem}}.dps-overview-section-header img+span{padding-left:1rem}.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:575.98px){.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:767.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}}@media(max-width:575.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-no-header{border-top:1px solid #b9bbbd;margin-top:2.5rem}.table-links-category{color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0 0 .25rem 0}.table-links-title{color:#474d52;font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75;margin:0 0 .25rem 0}.table-links-description{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.1;margin:0 0 .75rem 0}.table-links h3{box-shadow:0 1px 0 0 #b9bbbd;color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0;padding:0 0 .5rem;position:relative;text-transform:uppercase}.table-links ul{list-style:none;margin:2.5rem 0 0;padding:0}ul.list-with-active-indicator{list-style:none;margin:0;padding:0}ul.list-with-active-indicator li{align-items:var(--dps-list-with-active-indicator-align-items,center);border-left:4px solid transparent;display:flex;flex-direction:row;height:var(--dps-list-with-active-indicator-height,inherit);justify-content:flex-start;margin:var(--dps-list-with-active-indicator-margin,inherit);padding-left:var(--dps-list-with-active-indicator-padding-left,1rem)}ul.list-with-active-indicator li a{background:none;color:#8a8e91;display:block;margin-top:-.5rem}ul.list-with-active-indicator li.active{border-left:4px solid #81b5a1}ul.list-with-active-indicator li.active a{color:#474d52;font-family:ServiceNowSans-Regular}ul.list-with-active-indicator .FPO{align-items:center;background-color:pink;display:flex;height:200px;justify-content:center}hr{background-color:#d0d2d3;border:none;height:1px}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem}h1,h2{font-weight:400;line-height:1.1}h2{font-family:ServiceNowSans-Regular;font-size:1.75rem}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}.dps-button{align-items:center;border:none;color:inherit;cursor:pointer;display:inline-flex;font-family:ServiceNowSans-Book;font-size:1rem;font-weight:400;justify-content:center;letter-spacing:.01em;line-height:1.1;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),border .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:nowrap;width:inherit}.dps-button:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-button:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-button:active{color:currentColor}.dps-button.is-disabled,.dps-button:disabled{cursor:not-allowed}.dps-button.-primary{background:var(--dps-button-primary-bg,#62d84e);border:2px solid var(--dps-button-primary-border-color,#62d84e);border-radius:.5rem;color:#1d1d1d;font-family:ServiceNowSans-Book}.dps-button.-primary:hover{background:#62d84e;border-color:var(--dps-button-primary-hover-border-color,#62d84e);color:var(--dps-button-primary-hover-color,#1d1d1d)}.dps-button.-primary.is-disabled,.dps-button.-primary:disabled{background:#b9bbbd}.dps-button.-primary svg{fill:#fff}.dps-button.-primary-inverse{background:#62d84e;border:2px solid #62d84e;border-radius:.5rem;color:#000;font-family:ServiceNowSans-Book}.dps-button.-primary-inverse:hover{background:#fff}.dps-button.-primary-inverse.is-disabled,.dps-button.-primary-inverse:disabled{background:#8a8e91}.dps-button.-primary-inverse svg{fill:#62d84e}.dps-button.-secondary{background:var(--dps-button-secondary-bg,#fff);border:var(--dps-button-secondary-border-width,2px) solid var(--dps-button-secondary-border-color,#62d84e);border-radius:.5rem;color:var(--dps-button-secondary-color,#1d1d1d);font-family:ServiceNowSans-Book;font-size:1rem}.dps-button.-secondary:hover{background:var(--dps-button-secondary-hover-bg,#62d84e);border-color:var(--dps-button-secondary-hover-border-color,#62d84e);box-shadow:var(--dps-button-secondar-hover-box-shadow);color:var(--dps-button-secondary-hover-color,#000)}.dps-button.-secondary:hover svg{fill:#fff}.dps-button.-secondary.is-bare{color:#032d42;font-family:ServiceNowSans-Book;font-size:1rem;line-height:normal}.dps-button.-secondary.is-disabled,.dps-button.-secondary:disabled{background:transparent;border-color:#b9bbbd;color:#b9bbbd}.dps-button.-secondary svg{fill:#1d1d1d}.dps-button.-secondary-inverse{background:#fff;border:2px solid #62d84e;border-radius:.5rem}.dps-button.-secondary-inverse:hover{background:#62d84e;border-color:#62d84e}.dps-button.-secondary-inverse:hover svg{fill:#62d84e}.dps-button.-secondary-inverse.is-disabled,.dps-button.-secondary-inverse:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-secondary-inverse svg{fill:#d0d2d3}.dps-button.-round{background:#01778e;border-radius:1.5rem;color:#fff;height:2.625rem;min-width:12.1875rem}.dps-button.-round.is-disabled,.dps-button.-round:disabled{background:transparent;border:1px solid #b9bbbd;color:#b9bbbd}.dps-button.-secondary-light{background:transparent;border:2px solid #fff;color:#fff}.dps-button.-secondary-light:hover{background:#fff;border-color:#fff;color:#293e40}.dps-button.-secondary-light.is-disabled,.dps-button.-secondary-light:disabled{background:transparent;border-color:#8a8e91;color:#8a8e91}.dps-button.-destructive{background:#ca5b57;color:#fff}.dps-button.-destructive:hover{background:#fc726d}.dps-button.-destructive.is-disabled,.dps-button.-destructive:disabled{background:#fdaaa7}.dps-button.-sm{color:#000;font-family:ServiceNowSans-Book;font-size:1rem;gap:.125rem;height:auto;min-height:2rem;padding:.375rem 1rem}.dps-button.-sm.only-icon{padding:0;width:2rem}.dps-button.-sm.has-button-and-icon now-icon{width:2rem}.dps-button.-md{height:2.625rem;padding:0 1.5rem}.dps-button.-md.only-icon{padding:0;width:2.625rem}.dps-button.-md.has-button-and-icon now-icon{width:2.625rem}.dps-button.-lg{height:3.125rem;padding:0 2rem}.dps-button.-lg.only-icon{padding:0;width:3.125rem}.dps-button.-lg.has-button-and-icon now-icon{width:3.125rem}.dps-button.is-bare{background:transparent;border:none;color:#546566}.dps-button.is-bare:hover{background:transparent;border:none;color:#293e40}.dps-button.is-bare:hover svg{fill:#293e40}.dps-button.is-bare svg{fill:#546566}.dps-button.has-action now-icon{transition:transform .3s cubic-bezier(.075,.82,.165,1)}.dps-button.has-action:hover now-icon{transform:translateX(.125rem)}.dps-button.has-action:hover.-external-action now-icon{transform:translateX(1px) translateY(-1px)}.dps-button.is-white{color:#fff}.dps-button.-round-edge{border-radius:.5rem;height:auto;padding:.5rem 1rem}.dps-button-label+now-icon,.dps-button-label+svg{margin-left:.5rem}.dps-button-label+svg.-sm{height:.75rem;width:.75rem}.dps-button-label+svg.-md{height:1rem;width:1rem}.dps-button-label+svg.-lg{height:1.5rem;width:1.5rem}.dps-button-label+svg.-xl{height:2rem;width:2rem}sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-checkbox{display:block;margin:0 0 .5rem;position:relative}.dps-checkbox>input[type=checkbox]{cursor:pointer;opacity:0;position:absolute;width:100%;z-index:1}.dps-checkbox>input[type=checkbox]:checked+label:before{background:#293e40;border-color:#293e40}.dps-checkbox>input[type=checkbox]:checked+label:after{border:solid #fff;border-width:0 2px 2px 0;content:\\\"\\\";display:block;height:.625rem;left:.375rem;position:absolute;top:.1875rem;transform:rotate(45deg);width:.3125rem}.dps-checkbox>input[type=checkbox]:focus+label:before{box-shadow:0 0 0 2px #fff,0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-checkbox>label{align-items:center;color:#000;cursor:pointer;display:flex;font-family:ServiceNowSans-Light;font-size:1rem;gap:.5rem;line-height:normal;padding-left:1.5rem;position:relative;white-space:nowrap}.dps-checkbox>label .secondary-text{color:#6e7274}.dps-checkbox>label:before{background-color:#fff;border:1px solid #b3b3b3;border-radius:.25rem;content:\\\"\\\";cursor:pointer;display:block;flex-shrink:0;height:1rem;left:0;position:absolute;top:50%;transform:translateY(-50%);width:1rem}.profile-page .profile-page-header{background:#546566;height:23.5625rem;padding:0 1.25rem;width:100%}.profile-page .profile-page-header .header-content-wrapper{background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \");background-position:0 100%;background-repeat:no-repeat;height:100%;margin:0 auto;padding:2.5rem 0;text-align:center;width:59.0625rem}@media(max-width:991.98px){.profile-page .profile-page-header .header-content-wrapper{background-size:14.0625rem;width:80%}}@media(max-width:767.98px){.profile-page .profile-page-header .header-content-wrapper{background-image:none;width:75%}}.profile-page .profile-page-header .header-content-wrapper .changes-saved-alert{left:0;margin:0 auto;margin-top:-30px;max-width:44.3125rem;position:absolute;right:0;width:40%}.profile-page .profile-page-header .header-content-wrapper .header-avatar{align-items:center;background:#f7f7f7;border:1px solid #8a8e91;border-radius:50%;color:#293e40;display:flex;font-size:4rem;height:9rem;justify-content:center;margin:0 auto 1.125rem;text-transform:uppercase;width:9rem}@media(max-width:767.98px){.profile-page .profile-page-header .header-content-wrapper .header-avatar{font-size:3.125rem;height:6.25rem;width:6.25rem}}.profile-page .profile-page-header .header-content-wrapper .header-name{-webkit-margin-before:0;-webkit-margin-after:0;color:#fff;font-family:ServiceNowSans-Regular;font-size:1.75rem;font-weight:600;line-height:1.1;margin-block-end:0;margin-block-start:0;margin-bottom:1.125rem;text-transform:capitalize}.profile-page .profile-page-header .header-content-wrapper .header-text{-webkit-margin-before:0;-webkit-margin-after:0;color:#fff;font-size:1rem;line-height:1.5;margin-block-end:0;margin-block-start:0;margin-bottom:1.125rem}.profile-page .profile-page-header .header-content-wrapper .save-change-button-top{cursor:pointer;height:2.625rem;width:9.375rem}.profile-page .profile-page-form{background:#f7f7f7;height:100%;overflow:auto;padding:0 1.875rem 10.875rem}.profile-page .profile-page-form .profile-page-form-details{background:#fff;border:1px solid hsla(0,0%,59%,.21);border-radius:.25rem;box-shadow:0 1.125rem 1.375rem -1.1875rem rgba(0,0,0,.07);height:100%;margin:2.5rem auto 0;max-width:44.3125rem}.profile-page .profile-page-form .profile-page-form-details .form-heading{border-bottom:1px solid hsla(0,0%,59%,.21);width:100%}.profile-page .profile-page-form .profile-page-form-details .form-heading .form-heading-text{font-family:ServiceNowSans-Medium;margin-bottom:1.125rem;margin-left:1.5rem}.profile-page .profile-page-form .profile-page-form-details .form-content{padding:2rem 1.5rem 2.5rem;width:100%}.profile-page .profile-page-form .profile-page-form-details .form-content .change-confirmation-alert{margin-bottom:1rem}.profile-page .profile-page-form .profile-page-form-details .form-content .info-heading{color:#474d52;font-family:ServiceNowSans-Medium;font-size:.75rem;letter-spacing:.1em;line-height:1;margin-bottom:.5rem;text-transform:uppercase}.profile-page .profile-page-form .profile-page-form-details .form-content .info-content{color:#293e40;font-size:1rem;font-weight:400;height:1.5rem;line-height:1.5}.profile-page .profile-page-form .profile-page-form-details .form-content .info-content.display-name{text-transform:capitalize}.profile-page .profile-page-form .profile-page-form-details .form-content .profile-form-button{margin-bottom:2.5rem;margin-top:.5rem}.profile-page .profile-page-form .profile-page-form-details .form-content .action-required-alert{margin-bottom:2rem;margin-top:.5rem}.profile-page .profile-page-form .profile-page-form-details .form-content .action-required-alert .action-required-info .action-required-text{font-weight:700}.profile-page .profile-page-form .profile-page-form-details .form-content .roles-checkbox{margin-top:.75rem}.profile-page .profile-page-form .profile-page-form-details .form-content .roles-checkbox .dps-checkbox:not(:last-child){margin-bottom:1rem}.profile-page .profile-page-form .profile-page-form-details .form-content .roles-checkbox .dps-checkbox{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.profile-page .profile-page-form .profile-page-form-details .form-content .roles-checkbox .dps-checkbox>input[type=checkbox]:checked+label:after{height:.625rem;left:8px;top:8px;width:.3125rem}.profile-page .profile-page-form .profile-page-form-details .form-content .roles-checkbox .dps-checkbox>label:before{height:1rem;width:1rem}.profile-page .profile-page-form .profile-page-form-details .form-content .other-input{margin-left:1.6875rem;width:15rem}.profile-page .profile-page-form .profile-page-form-details .form-content .delete-account-heading{color:#ca5b57;margin:2.5rem 0 .5rem 0}.profile-page .profile-page-form .profile-page-form-details .form-content .profile-form-delete-account-button{background:none;border:.125rem solid #ca5b57;color:#ca5b57;cursor:pointer;margin-top:.5rem;padding:.3125rem 1.125rem}.profile-page .profile-page-form .profile-page-form-details .form-content .profile-form-delete-account-button now-icon{margin:0 .375rem .1875rem 0}.profile-page .profile-page-form .profile-page-form-details .form-content .profile-form-delete-account-button:focus-visible{outline:none}.profile-page .profile-page-form .profile-page-form-buttons{margin:2.5rem auto 0;max-width:44.0625rem;text-align:center}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block;width:100%}.dps-home-promo-banner{align-items:center;background:linear-gradient(90deg,#63df4e,#24c2ce 80%);display:flex;justify-content:center;min-height:4rem;padding:1rem 2rem;width:100%}@media(max-width:1439.98px){.dps-home-promo-banner{padding:1rem 1.5rem}}.dps-home-promo-banner .dps-home-promo-banner-content{align-items:center;display:flex;gap:1rem;justify-content:center;max-width:65.5rem;width:100%}@media(max-width:767.98px){.dps-home-promo-banner .dps-home-promo-banner-content{align-items:flex-start;flex-direction:column;gap:.75rem;max-width:100%;text-align:left}}.dps-home-promo-banner .dps-home-promo-banner-title{color:#172b31;font-family:ServiceNowSans-Book;font-size:1.125rem;line-height:normal}@media(max-width:1439.98px){.dps-home-promo-banner .dps-home-promo-banner-title{flex:1 1 0;min-width:0}}@media(max-width:767.98px){.dps-home-promo-banner .dps-home-promo-banner-title{width:100%}}.dps-home-promo-banner .dps-home-promo-banner-btn{--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;flex-shrink:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../images/guide-dev-account-signup-cta.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block;width:100%}.dps-overview{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;position:relative;width:100%}.dps-overview-section{padding:var(--dps-overview-section-learning-plans-padding,6.25rem 0);position:relative;width:100%}@media(max-width:991.98px){.dps-overview-section{padding:2rem 0}}.dps-overview-section.-centered .dps-overview-section-header{justify-content:center}.dps-overview-section.-centered .dps-overview-section-content{text-align:center}.dps-overview-section.-centered p{margin:0 auto 1.5rem}.dps-overview-section.-inverse{background-color:var(--dps-theme-inverse-background-color,#293e40);color:var(--dps-overview-section-font-color,#fff)}.dps-overview-section.-inverse .dps-overview-section-content{gap:1.5rem;margin:var(--dps-overview-section-learning-plans-content-margin);padding-left:0}.dps-overview-section.-inverse .dps-overview-section-content>p{color:var(--dps-overview-section-font-color,#fff);font-family:ServiceNowSans-Light;font-size:var(--dps-overview-section-learning-plans-description-font-size,1rem);line-height:var(--dps-overview-section-learning-plans-description-line-height,1.5);max-width:100%}.dps-overview-section.-inverse .dps-overview-section-header{color:var(--dps-overview-section-learning-plans-header-color,#fff);font-family:ServiceNowSans-Medium;font-size:28px;font-weight:500}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-subheader{color:var(--dps-create-account-subheader-color,#293e40);font-family:ServiceNowSansMono-Regular;font-size:var(--dps-create-account-subheader-font-size,.8125rem);line-height:var(--dps-create-account-subheader-line-height,1.1);margin:var(--dps-create-account-subheader-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-header{color:var(--dps-create-account-header-color,#474d52);font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500;letter-spacing:normal;line-height:1.925rem;margin:var(--dps-create-account-header-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content>p{color:#474d52;font-family:ServiceNowSans-Light;font-size:var(--dps-create-account-description-font-size,1rem);line-height:1.5rem;margin:0;max-width:100%}.dps-overview-section.-highlight{background-color:#f7f7f7}.dps-overview-section.-overview{background-color:#f7f7f7;font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}@media(max-width:991.98px){.dps-overview-section.-overview{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5}}.dps-overview-section.-overview p{margin:0 auto;max-width:46.375rem;text-align:left}.dps-overview-section.-overview p+p{margin-top:1.5rem}.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-two-col .dps-overview-section-content>img{margin:0 auto}@media(max-width:1199.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}@media(max-width:767.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-three-col .dps-overview-section-content>div{align-self:start}.dps-overview-section.-callout{align-items:center;background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");background-position:calc(50% + 275px) calc(100% - 2px);background-repeat:no-repeat;background-size:auto;display:flex;font-family:ServiceNowSans-Light;font-size:1.3125rem;height:37rem;line-height:1.5;overflow:hidden;position:relative}.dps-overview-section.-callout h2,.dps-overview-section.-callout p{max-width:32.5rem}.dps-overview-section.-callout h2+p{font-size:1.3125rem;margin-bottom:4rem}@media(max-width:991.98px){.dps-overview-section.-callout{background-image:none;height:auto}}.dps-overview-section.-callout .dps-overview-section-header{display:block;margin-bottom:1.5rem;padding-bottom:calc(1rem + 4px)}.dps-overview-section.-callout .dps-overview-section-header:before{background-color:#fff;bottom:0;content:\\\"\\\";height:.25rem;left:0;position:absolute;width:5rem}.dps-overview-section .-large{font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}.dps-overview-section img{max-width:100%}.dps-overview-section>p,.dps-overview-section>ul{margin:0 0 1.5rem;position:relative}.dps-overview-section>p{font-family:ServiceNowSans-Light;font-size:18px;max-width:37.5rem}.dps-overview-section ul{-webkit-margin-before:0;-webkit-padding-start:0;list-style-type:none;margin-block-start:0;padding-inline-start:0}.dps-overview-section ul li{margin-bottom:.75rem;position:relative}.dps-overview-section ul li:last-child{margin-bottom:0}.dps-overview-section dps-card p,.dps-overview-section dps-card ul,.dps-overview-section dps-content-stack p,.dps-overview-section dps-content-stack ul{margin:0 0 .75rem}.dps-overview-section dps-card p:last-child,.dps-overview-section dps-card ul:last-child,.dps-overview-section dps-content-stack p:last-child,.dps-overview-section dps-content-stack ul:last-child{margin:0}.dps-overview-section-content{margin:0 auto;max-width:var(--dps-overview-section-content-max-width,90rem);position:relative;width:100%}@media(max-width:767.98px){.dps-overview-section-content{padding:0 1.5rem}}.dps-overview-section-content.-narrow{color:#000;max-width:70.625rem}.dps-overview-section-content.-narrow .dps-overview-section-header{margin-bottom:1.5rem}.dps-overview-section-content.-narrow p{font-size:1.125rem}@media(max-width:1199.98px){.dps-overview-section-content.-narrow{max-width:100%}}@media(max-width:767.98px){.dps-overview-section-content.-narrow{padding:0 1.5rem}}.dps-overview-section-content.now-experience-ui-framework,.dps-overview-section-content.using-now-cli{max-width:100%}.dps-overview-section-header{align-items:center;color:#474d52;display:flex;font-family:ServiceNowSans-Regular;font-size:1.75rem;font-weight:400;line-height:1.1;margin:0 0 1.5rem;position:relative}@media(max-width:991.98px){.dps-overview-section-header{font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5;margin:0 0 1rem}}.dps-overview-section-header img+span{padding-left:1rem}.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:575.98px){.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:767.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}}@media(max-width:575.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-no-header{border-top:1px solid #b9bbbd;margin-top:2.5rem}.table-links-category{color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0 0 .25rem 0}.table-links-title{color:#474d52;font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75;margin:0 0 .25rem 0}.table-links-description{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.1;margin:0 0 .75rem 0}.table-links h3{box-shadow:0 1px 0 0 #b9bbbd;color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0;padding:0 0 .5rem;position:relative;text-transform:uppercase}.table-links ul{list-style:none;margin:2.5rem 0 0;padding:0}ul.list-with-active-indicator{list-style:none;margin:0;padding:0}ul.list-with-active-indicator li{align-items:var(--dps-list-with-active-indicator-align-items,center);border-left:4px solid transparent;display:flex;flex-direction:row;height:var(--dps-list-with-active-indicator-height,inherit);justify-content:flex-start;margin:var(--dps-list-with-active-indicator-margin,inherit);padding-left:var(--dps-list-with-active-indicator-padding-left,1rem)}ul.list-with-active-indicator li a{background:none;color:#8a8e91;display:block;margin-top:-.5rem}ul.list-with-active-indicator li.active{border-left:4px solid #81b5a1}ul.list-with-active-indicator li.active a{color:#474d52;font-family:ServiceNowSans-Regular}ul.list-with-active-indicator .FPO{align-items:center;background-color:pink;display:flex;height:200px;justify-content:center}hr{background-color:#d0d2d3;border:none;height:1px}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem}h1,h2{font-weight:400;line-height:1.1}h2{font-family:ServiceNowSans-Regular;font-size:1.75rem}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}.-reference{--dps-theme-highlight:#5c6ac4;--dps-theme-highlight-light-3:#bec3e7}.-reference now-button{--now-button--secondary--background-color:#fff}.-reference .dps-reference-header{min-height:17.5rem;overflow:hidden;padding:4.75rem 3.125rem 3.75rem 3rem;position:relative}.-reference .dps-reference-header__background{align-items:flex-end;display:flex;inset:0;pointer-events:none;position:absolute}.-reference .dps-reference-header__image{max-height:75%;object-fit:contain;object-position:right bottom;position:absolute;right:5rem;width:auto}.-reference .dps-reference-header__content{max-width:50.125rem;position:relative;z-index:1}.-reference .dps-reference-header__title{color:#fff;font-family:ServiceNowSans-Medium;font-size:2rem;font-weight:500;letter-spacing:-.02rem;line-height:2.475rem;margin:0 0 .625rem 0}.-reference .dps-reference-header__subtitle{color:#fff;font-family:ServiceNowSans-Light;font-size:1.25rem;line-height:1.5rem;margin:0}@media(max-width:1199.98px){.-reference .dps-reference-header{min-height:15rem;padding:3rem 2rem 3rem 1.5rem}.-reference .dps-reference-header__image{max-height:70%;right:3.75rem}.-reference .dps-reference-header__title{font-size:1.75rem;line-height:2.25rem}.-reference .dps-reference-header__subtitle{font-size:1.125rem}}@media(max-width:991.98px){.-reference .dps-reference-header{min-height:12.5rem;padding:2rem 1rem}.-reference .dps-reference-header__image{display:none}}@media(max-width:767.98px){.-reference .dps-reference-header__image{display:none}}.-reference .dps-overview-section-header{color:#000;font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500;line-height:1.4;line-height:normal}.-reference .dps-overview-section{padding:3rem 2.5rem}@media(max-width:1199.98px){.-reference .dps-overview-section{padding:2.5rem 1.5rem}}.-reference .dps-overview-section.-related-parent{padding-bottom:0}.-reference .dps-overview-section.-related-child{padding-top:0}.-reference .dps-overview-section.-gray{background-color:#f7f7f7;padding:0}.-reference .dps-overview-section.-gray .dps-overview-section-content{max-width:126rem;padding:3rem 2.5rem}@media(max-width:1199.98px){.-reference .dps-overview-section.-gray .dps-overview-section-content{padding:3rem 1.5rem}}.-reference .dps-overview-section.-feature{background-color:#f7f7f7;padding:0}@media(max-width:991.98px){.-reference .dps-overview-section.-feature img{display:none}}.-reference .dps-overview-section.-feature+.-feature{font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}.-reference .dps-overview-section.-feature+.-feature .dps-overview-section-content>p{color:#000;margin-bottom:2.5rem;margin-top:-.5rem}.-reference .dps-reference-list{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:0}@media(max-width:991.98px){.-reference .dps-reference-list{flex-direction:column;margin-top:2.5rem}}.-reference .dps-reference-list li{display:block}.-reference .dps-reference-list dps-card-apis-and-libraries-card{--now-highlighted-value--tertiary_positive--color:$dps-color-charcoal-black;flex:0 0 calc(33.33333% - 1rem);max-width:calc(33.33333% - 1rem)}@media(max-width:1199.98px){.-reference .dps-reference-list dps-card-apis-and-libraries-card{flex:0 0 calc(50% - 0.75rem);max-width:calc(50% - .75rem)}}@media(max-width:991.98px){.-reference .dps-reference-list dps-card-apis-and-libraries-card{flex:0 0 100%;max-width:100%}}.-reference .dps-overview-section.-overview.-centered{background-color:#fff;border-radius:.75rem;padding:3rem 2.5rem 50px 2.5rem}@media(max-width:1199.98px){.-reference .dps-overview-section.-overview.-centered{padding:2.5rem 1.5rem}}@media(max-width:991.98px){.-reference .dps-overview-section.-overview.-centered{padding:2rem 1.5rem}}.-reference .resources-for-every-developer{align-items:center;display:flex;flex-direction:column;gap:1.5rem;justify-content:center;max-width:106rem;min-height:11.875rem}.-reference .resources-for-every-developer .dps-overview-section-header{color:#1d1d1d;font-family:ServiceNowSans-Medium;font-size:1.75rem;font-style:normal;font-weight:500;margin-bottom:0;text-align:center}.-reference .resources-for-every-developer p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1.125rem;font-style:normal;margin:0;max-width:44.8125rem;text-align:center}.-reference .resources-for-every-developer p a,.-reference .resources-for-every-developer p dps-link{color:#00a3ba;text-decoration:none}.-reference .resources-for-every-developer .build-agent-row{align-items:center;display:flex;gap:8px}.-reference .resources-for-every-developer .build-agent-row__icon{flex-shrink:0;height:24px;width:24px}.-reference .resources-for-every-developer .build-agent-row__text{color:#000;font-family:ServiceNowSans-Regular;font-size:18px}.-reference .resources-for-every-developer .build-agent-row__link{align-items:center;color:#00a3ba;cursor:pointer;display:inline-flex;font-family:ServiceNowSans-Regular;font-size:18px;gap:.125rem;-webkit-text-decoration-line:underline;text-decoration-line:underline;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;-webkit-text-decoration-style:solid;text-decoration-style:solid;text-decoration-thickness:auto;text-underline-offset:auto;text-underline-position:from-font}.-reference .resources-for-every-developer .build-agent-row__link-text{text-decoration:underline;text-underline-position:from-font}.-reference .resources-for-every-developer .build-agent-row__link-icon{display:inline-block;flex-shrink:0}@media(max-width:767.98px){.-reference .resources-for-every-developer{min-height:auto}.-reference .resources-for-every-developer .build-agent-row{flex-wrap:wrap;justify-content:center}}.-reference .now-platform-apis-section{align-items:center;display:flex;flex-direction:column;gap:24px;margin-bottom:2.5rem}.-reference .now-platform-apis-section .dps-overview-section-header{color:#1d1d1d;font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500;line-height:normal;margin-bottom:1px;text-align:center}.-reference .now-platform-apis-section p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1.125rem;font-style:normal;margin:0;max-width:51.75rem;text-align:center}.-reference .now-platform-apis-section dps-link{align-self:center;color:#000;font-family:ServiceNowSans-Book;font-size:1rem;font-style:normal;gap:2px;line-height:normal;min-height:32px;padding:6px 16px;text-align:center}.-reference #now-experience-ui-framework{column-gap:6.0625rem;display:grid;grid-template-columns:repeat(2,1fr)}@media(max-width:991.98px){.-reference #now-experience-ui-framework{grid-template-columns:repeat(1,1fr)}.-reference #now-experience-ui-framework img{display:none}}.-reference .now-experience-ui-framework{padding-left:10px;padding-right:40px;padding-top:20px}.-reference .now-experience-ui-framework img{max-width:100%;padding:10px}.-reference .now-experience-ui-framework ul{font-family:ServiceNowSans-Light;font-size:1.125rem;line-height:1.1;list-style-type:disc;padding-left:1.5rem}.-reference .now-experience-ui-framework ul li{margin-bottom:.25rem}.-reference .now-experience-ui-framework p{color:#000;font-family:ServiceNowSans-Light;font-size:1.125rem;line-height:normal;max-width:100%}.-reference .now-experience-ui-framework h2{color:#000;font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500;line-height:normal}.-reference .now-experience-components-grid{column-gap:2.5rem;display:grid;font-family:ServiceNowSans-Light;font-size:1.125rem;grid-template-columns:4fr 3fr}.-reference .now-experience-components-grid p{color:#000}.-reference .now-experience-components-grid img{justify-self:end;max-width:27.5rem}@media(min-width:992px){.-reference .now-experience-components-grid p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1.125rem;line-height:normal}}@media(max-width:991.98px){.-reference .now-experience-components-grid{font-family:ServiceNowSans-Light;font-size:1.125rem;grid-template-columns:repeat(1,1fr)}.-reference .now-experience-components-grid img{display:none}}@media(max-width:767.98px){.-reference .now-experience-components-grid{font-family:ServiceNowSans-Light;font-size:1.125rem}}.-reference #using-now-cli{align-items:center;color:#1d1d1d;column-gap:6.6875rem;display:grid;font-family:ServiceNowSans-Light;font-size:1.125rem;grid-template-columns:repeat(2,1fr)}@media(max-width:991.98px){.-reference #using-now-cli{grid-template-columns:repeat(1,1fr)}}.-reference #using-now-cli dps-content-stack{color:#000;margin-bottom:1rem}.-reference #using-now-cli dps-content-stack p{color:#000;font-family:ServiceNowSans-Light;font-size:1.125rem;line-height:normal;text-align:left}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}dps-reference-page-api{display:block;margin-top:-3.75rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}dps-card-container{padding-top:1.25rem}.dps-reference-page-list{margin:-3.75rem;padding-right:4.25rem}.dps-reference-page-list h1{font-family:ServiceNowSans-Medium;font-size:2.375rem;font-weight:400;line-height:1.1}.dps-reference-page-list .large{font-size:1.3125rem;line-height:1.5;margin-bottom:2.5rem;max-width:34.375rem}.dps-reference-page-list-content{padding:2.5rem 0 3.9375rem 2.5rem}@media(max-width:1439.98px){.dps-reference-page-list{padding-right:0}.dps-reference-page-list .dps-reference-page-list-content{padding-right:4.25rem}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/highlight.js/styles/agate.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}code.hljs{padding:1rem}aside,b,dd,div,dl,dt,em,i,li,ol,p,strong,ul{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;line-height:1.5rem}aside,dd,div,dl,dt,li,ol,p,ul{font-weight:400}a em{color:#00718f}strong,strong em{font-family:ServiceNowSans-Medium;font-weight:500}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem;line-height:1.1;line-height:1.3125rem;margin:2rem 0}h1,h2{color:#1d1d1d;font-size:1.75rem;font-weight:400;font-weight:500}h2{font-family:ServiceNowSans-Regular;font-family:ServiceNowSans-Medium;font-size:1.5rem;line-height:1.1;line-height:2.25rem;margin-bottom:.75rem 0}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400;margin-bottom:.5rem 0}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400;margin-bottom:.5rem 0}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal}blockquote,code,img,ol,p,pre,ul{margin:.75rem 0}img{max-width:100%}pre{margin-bottom:1.5rem;margin-top:.75rem}div+h1,div+h2,div+h3,div+h4,div+h5,div+h6,img+h1,img+h2,img+h3,img+h4,img+h5,img+h6,p+h1,p+h2,p+h3,p+h4,p+h5,p+h6,ul+h1,ul+h2,ul+h3,ul+h4,ul+h5,ul+h6{margin-top:2rem}b,strong{font-weight:500}b,code,strong{letter-spacing:.02em}code{background-color:#e8e8e9;border:1px solid #d0d2d3;border-radius:.25rem;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5}code b,code strong{font-weight:500}pre code{background-color:transparent;border:none;border-radius:0}.sm,small{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}.sm code,small code{font-size:80%}.lg,.xl{font-family:ServiceNowSans-Regular;font-size:1.3125rem;font-weight:400;line-height:1.5}.lg code,.xl code{font-size:80%}.xl{font-size:1.5rem;line-height:1.5}.dps-caption,.dps-label{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}a:not(.dps-link):not(.dps-button):not(.dps-card-click){border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal;margin:-.125rem;padding:0 .125rem;position:relative;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:normal}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus:not(:focus-visible){box-shadow:none;outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):hover{color:#024f69;text-decoration:underline;-webkit-text-decoration-color:#024f69;text-decoration-color:#024f69}a:not(.dps-link):not(.dps-button):not(.dps-card-click):active{color:#032d42;text-decoration:underline;-webkit-text-decoration-color:#032d42;text-decoration-color:#032d42}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}.do-dont-images{column-gap:1rem;display:grid;grid-auto-flow:column;grid-template-rows:1fr auto}@media screen and (max-width:767.98px){.do-dont-images{display:block}}.do-dont-images figcaption,.do-dont-images figure{margin:0;padding:0}.do-dont-images img{margin:0;max-width:100%;padding:0}.do-dont-images figure{background-color:#f7f7f7;border-top:5px solid;margin-top:2rem;padding:1rem;position:relative}.do-dont-images figcaption{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;font-style:italic;line-height:1.5;margin-bottom:0;margin-left:0;margin-right:0;margin-top:.5rem;max-width:100%;text-align:left}.do-dont-images .img-do h5,.do-dont-images .img-dont h5{font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;left:0;line-height:1.75;margin:0;padding:0;position:absolute;top:-2rem}.do-dont-images .img-dont{border-color:#fc726d}.do-dont-images .img-dont h5{color:#fc726d}.do-dont-images .img-do{border-color:#5cc4af}.do-dont-images .img-do h5{color:#5cc4af}.dps-wayfinder{list-style:none;margin:0;max-height:70vh;overflow:auto;padding:0;position:relative}.dps-wayfinder .dps-wayfinder-active-marker{background-color:#63df4e;height:0;left:0;position:absolute;top:0;transition:top .15s,height .15s;width:3px}.dps-wayfinder .dps-wayfinder-item{border-left:3px solid #e8e8e9;font-family:ServiceNowSans-Regular;padding:.5rem .5rem .5rem 1rem}.dps-wayfinder .dps-wayfinder-item[data-active=true]{font-family:ServiceNowSans-Bold}.dps-wayfinder .dps-wayfinder-item .dps-wayfinder-link,.dps-wayfinder .dps-wayfinder-item .dps-wayfinder-link:hover{background:none;box-shadow:none}.dps-wayfinder .dps-wayfinder-item .dps-wayfinder-link{color:#293e40}.dps-wayfinder .dps-wayfinder-item .dps-wayfinder-link:hover,.dps-wayfinder .dps-wayfinder-item[data-active=true] .dps-wayfinder-link{color:#2b2e31;outline:none}:host{display:block}:host>div>h2{margin-left:1.875rem}@media(max-width:991.98px){:host>div>h2{margin-left:0}}.dps-reference-page-overview-container .dps-reference-page-overview{grid-area:content}.dps-reference-page-overview-container .carousel-grid{column-gap:1.875rem;display:grid;grid-template-areas:\\\"carousel install\\\";grid-template-columns:minmax(0,auto) minmax(0,20.625rem);height:0}@media(max-width:1199.98px){.dps-reference-page-overview-container .carousel-grid{display:block}}@media(max-width:767.98px){.dps-reference-page-overview-container .carousel-grid{display:none}}.dps-reference-page-overview-container .carousel-grid.-has-carousel{height:auto}.dps-reference-page-overview-container .carousel-grid.-has-carousel .install-box{margin-left:0}.dps-reference-page-overview *>h2{margin-top:2.5rem}.dps-reference-page-overview .release-notes .release-notes-body{background-color:#f7f7f7;border:1px solid #e8e8e9;padding:1.5rem 1.5rem 1rem}.dps-reference-page-overview .release-notes .release-notes-body .release-notes-release{font-family:ServiceNowSans-Light;margin:.5rem 0 0}.dps-reference-page-overview .release-notes .release-notes-body hr{background-color:#d4d8d9;border:0;box-shadow:none;height:1px;margin:1rem 0;width:100%}.dps-reference-page-overview .release-notes .release-notes-body .release-notes-githubLink dps-link,.dps-reference-page-overview .release-notes .release-notes-body .release-notes-githubLink h4{display:inline-block;margin:0;margin-right:.5rem}.dps-reference-page-overview .artifact-table{display:grid;margin-top:.75rem}.dps-reference-page-overview .artifact-table.-three-col{grid-template-columns:11.25rem auto 11.25rem}@media(max-width:991.98px){.dps-reference-page-overview .artifact-table.-three-col{grid-template-columns:auto auto auto}}.dps-reference-page-overview .artifact-table.-four-col{grid-template-columns:10rem auto auto 11.25rem}@media(max-width:991.98px){.dps-reference-page-overview .artifact-table.-four-col{grid-template-columns:auto auto auto auto}.dps-reference-page-overview .artifact-table{grid-column-gap:.5rem}}.dps-reference-page-overview .artifact-table .artifact-table-header{background-color:#f7f7f7;border-bottom:1px solid #e8e8e9;border-top:1px solid #e8e8e9;font-family:ServiceNowSans-Regular;font-size:1rem;font-weight:400;line-height:1.75;padding:.6875rem 1.375rem .875rem}.dps-reference-page-overview .artifact-table .artifact-table-header.left{border-bottom-left-radius:3px;border-left:1px solid #e8e8e9;border-top-left-radius:3px}.dps-reference-page-overview .artifact-table .artifact-table-header.right{border-bottom-right-radius:3px;border-right:1px solid #e8e8e9;border-top-right-radius:3px}@media(max-width:991.98px){.dps-reference-page-overview .artifact-table .artifact-table-header{display:none}}.dps-reference-page-overview .artifact-table .artifact-table-body{border-bottom:2px solid #e8e8e9;padding:.6875rem 1.375rem .875rem}.dps-reference-page-overview .artifact-table .artifact-table-body .artifact-table-internalHeaders{display:none}@media(max-width:991.98px){.dps-reference-page-overview .artifact-table .artifact-table-body .artifact-table-internalHeaders{display:block;font-family:ServiceNowSans-Medium;font-weight:500;margin-bottom:.25rem}}.dps-reference-page-overview .artifact-table .artifact-table-body.-last-column{border-bottom:2px solid #e8e8e9}.dps-reference-page-overview .artifact-table .artifact-table-body.-last-row,.dps-reference-page-overview .artifact-table .artifact-table-body.-last-row.-last-column{border-bottom:0}@media(max-width:991.98px){.dps-reference-page-overview .artifact-table .artifact-table-body{border-bottom:2px solid #e8e8e9;padding:1rem 0}.dps-reference-page-overview .artifact-table .artifact-table-body.-last-row{border-bottom:0}}dps-visuals-carousel{grid-area:carousel;-ms-grid-column:1;-ms-grid-row:1;margin:1.875rem 0 0 1.875rem}@media(max-width:991.98px){dps-visuals-carousel{display:none}}.dps-component-sidebar{position:-webkit-sticky;position:sticky;top:6.25rem}.component-details-container{background-color:#f7f7f7;padding:1.25rem 0;width:20.625rem}@media(max-width:991.98px){.component-details-container{width:auto}}.component-details-container h2{color:#546566;font-size:1.25rem;margin-left:1.5rem}.component-details-container h2 dps-badge{margin-left:.375rem}.component-details-container .component-details-grid .component-detail{color:#293e40;font-size:.8125rem;margin:0 2.5rem 1rem 1.5rem}.component-details-container .component-details-grid .component-detail h4{color:#546566;font-size:.625rem;margin:.5rem .5rem 0 0;text-transform:uppercase}div.design-artifacts,div.epics-data{margin-right:20.625rem;overflow:hidden;padding-bottom:1.875rem;padding-left:1.875rem;padding-right:1.25rem}@media(max-width:991.98px){div.design-artifacts,div.epics-data{margin-left:-32px;margin-right:-32px}}div.design-artifacts.-dark-stripe,div.epics-data.-dark-stripe{background-color:#f7f7f7}div.design-artifacts.-dark-stripe .artifact-table-header,div.epics-data.-dark-stripe .artifact-table-header{background-color:#fff}div.design-artifacts h2,div.epics-data h2{display:inline-block;margin-top:1.5rem;padding-right:1.5rem;vertical-align:middle}div.design-artifacts dps-badge,div.epics-data dps-badge{position:relative;top:.1875rem}.install-box{font-family:ServiceNowSans-Light;font-size:.875rem;grid-area:install;-ms-grid-column:3;-ms-grid-row:1;margin-bottom:-5.625rem;margin-left:1.5rem;margin-top:1.875rem}@media(max-width:1199.98px){.install-box{display:none;margin-bottom:0}}.install-box .install-box-command{align-items:center;background:#f7f7f7;font-size:.875rem;padding:1rem 1.5rem}.install-box .install-box-command h4{color:#546566;font-size:1rem;margin:0 0 .625rem 0}.install-box .install-box-command span{font-family:ServiceNowSans-Light;text-decoration:underline}.dps-reference-page-header{display:flex}@media(max-width:991.98px){.dps-reference-page-header{display:block;width:100%}}dps-reference-page-api{margin-left:1.875rem}@media(max-width:991.98px){dps-reference-page-api{margin-left:0}}button{height:2rem;width:2.25rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-component-uib-config{grid-area:content;margin-left:1.875rem}@media(max-width:991.98px){.dps-component-uib-config{margin-left:0}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/highlight.js/styles/agate.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}code.hljs{padding:1rem}aside,b,dd,div,dl,dt,em,i,li,ol,p,strong,ul{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;line-height:1.5rem}aside,dd,div,dl,dt,li,ol,p,ul{font-weight:400}a em{color:#00718f}strong,strong em{font-family:ServiceNowSans-Medium;font-weight:500}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem;line-height:1.1;line-height:1.3125rem;margin:2rem 0}h1,h2{color:#1d1d1d;font-size:1.75rem;font-weight:400;font-weight:500}h2{font-family:ServiceNowSans-Regular;font-family:ServiceNowSans-Medium;font-size:1.5rem;line-height:1.1;line-height:2.25rem;margin-bottom:.75rem 0}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400;margin-bottom:.5rem 0}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400;margin-bottom:.5rem 0}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal}blockquote,code,img,ol,p,pre,ul{margin:.75rem 0}img{max-width:100%}pre{margin-bottom:1.5rem;margin-top:.75rem}div+h1,div+h2,div+h3,div+h4,div+h5,div+h6,img+h1,img+h2,img+h3,img+h4,img+h5,img+h6,p+h1,p+h2,p+h3,p+h4,p+h5,p+h6,ul+h1,ul+h2,ul+h3,ul+h4,ul+h5,ul+h6{margin-top:2rem}b,strong{font-weight:500}b,code,strong{letter-spacing:.02em}code{background-color:#e8e8e9;border:1px solid #d0d2d3;border-radius:.25rem;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5}code b,code strong{font-weight:500}pre code{background-color:transparent;border:none;border-radius:0}.sm,small{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}.sm code,small code{font-size:80%}.lg,.xl{font-family:ServiceNowSans-Regular;font-size:1.3125rem;font-weight:400;line-height:1.5}.lg code,.xl code{font-size:80%}.xl{font-size:1.5rem;line-height:1.5}.dps-caption,.dps-label{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}a:not(.dps-link):not(.dps-button):not(.dps-card-click){border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal;margin:-.125rem;padding:0 .125rem;position:relative;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:normal}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus:not(:focus-visible){box-shadow:none;outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):hover{color:#024f69;text-decoration:underline;-webkit-text-decoration-color:#024f69;text-decoration-color:#024f69}a:not(.dps-link):not(.dps-button):not(.dps-card-click):active{color:#032d42;text-decoration:underline;-webkit-text-decoration-color:#032d42;text-decoration-color:#032d42}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}.do-dont-images{column-gap:1rem;display:grid;grid-auto-flow:column;grid-template-rows:1fr auto}@media screen and (max-width:767.98px){.do-dont-images{display:block}}.do-dont-images figcaption,.do-dont-images figure{margin:0;padding:0}.do-dont-images img{margin:0;max-width:100%;padding:0}.do-dont-images figure{background-color:#f7f7f7;border-top:5px solid;margin-top:2rem;padding:1rem;position:relative}.do-dont-images figcaption{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;font-style:italic;line-height:1.5;margin-bottom:0;margin-left:0;margin-right:0;margin-top:.5rem;max-width:100%;text-align:left}.do-dont-images .img-do h5,.do-dont-images .img-dont h5{font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;left:0;line-height:1.75;margin:0;padding:0;position:absolute;top:-2rem}.do-dont-images .img-dont{border-color:#fc726d}.do-dont-images .img-dont h5{color:#fc726d}.do-dont-images .img-do{border-color:#5cc4af}.do-dont-images .img-do h5{color:#5cc4af}.dps-wayfinder{list-style:none;margin:0;max-height:70vh;overflow:auto;padding:0;position:relative}.dps-wayfinder .dps-wayfinder-active-marker{background-color:#63df4e;height:0;left:0;position:absolute;top:0;transition:top .15s,height .15s;width:3px}.dps-wayfinder .dps-wayfinder-item{border-left:3px solid #e8e8e9;font-family:ServiceNowSans-Regular;padding:.5rem .5rem .5rem 1rem}.dps-wayfinder .dps-wayfinder-item[data-active=true]{font-family:ServiceNowSans-Bold}.dps-wayfinder .dps-wayfinder-item .dps-wayfinder-link,.dps-wayfinder .dps-wayfinder-item .dps-wayfinder-link:hover{background:none;box-shadow:none}.dps-wayfinder .dps-wayfinder-item .dps-wayfinder-link{color:#293e40}.dps-wayfinder .dps-wayfinder-item .dps-wayfinder-link:hover,.dps-wayfinder .dps-wayfinder-item[data-active=true] .dps-wayfinder-link{color:#2b2e31;outline:none}:host{display:block}.dps-component-uib-setup{display:grid;grid-template-areas:\\\"content aside\\\";grid-template-columns:minmax(0,70.625rem) minmax(8.75rem,20.625rem)}.dps-component-uib-setup .noWayfinder{grid-template-areas:\\\"content\\\";grid-template-columns:100%}.dps-component-uib-setup aside{grid-area:aside;-ms-grid-column:2;-ms-grid-row:1;padding-bottom:2.5rem;padding-left:1.5rem;padding-right:2.5rem;padding-top:6rem}.dps-component-uib-setup aside.-has-carousel{padding-top:2rem}@media(max-width:1199.98px){.dps-component-uib-setup{grid-template-columns:minmax(0,1fr)}.dps-component-uib-setup aside{display:none}}.dps-component-uib-setup article{grid-area:content;-ms-grid-column:1;-ms-grid-row:1;margin-left:1.875rem;margin-top:1.875rem}@media(max-width:991.98px){.dps-component-uib-setup article{margin-left:0}}.dps-component-uib-setup table tr td:first-child{word-break:normal}.dps-component-container{margin:0 auto;width:auto}@media(max-width:991.98px){.dps-component-container{margin:0 .25rem}}.dps-component-sidebar{position:-webkit-sticky;position:sticky;top:6.25rem}.dps-component-uib-setup-title{margin-top:1.5rem}dps-feedback,dps-prev-next-doc{display:block;margin:2.5rem 0}h1{margin-bottom:1rem;margin-top:3rem}h1+h2,h1+ol,h1+p,h1+ul{margin-top:1rem}h2{margin-bottom:.75rem;margin-top:2.5rem}h2+h3,h2+ol,h2+p,h2+ul{margin-top:.75rem}h3{margin-bottom:.5rem;margin-top:2rem}h3+h4,h3+ol,h3+p,h3+ul{margin-top:.5rem}h4{font-size:1.125rem;margin-bottom:0;margin-top:1.5rem}h4+h5,h4+ol,h4+p,h4+ul{margin-top:0}h5{font-size:1rem;margin-bottom:0;margin-top:1rem}h5+ol,h5+p,h5+ul{margin-top:0}h6{margin-bottom:0;margin-top:1rem}h6+ol,h6+p,h6+ul{margin-top:0}table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem;width:100%}table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}table td,table th{padding:.75rem;text-align:left;vertical-align:top}table tbody tr{border-bottom:1px solid #293e40}table tbody td{padding:1rem .75rem}table tbody td:first-child{min-width:10em;width:33%}table tbody td :first-child{margin-top:0}table tbody td :last-child{margin-bottom:0}table tbody td pre{white-space:pre-wrap}table tbody td samp{word-break:break-word}table tr:last-child{border-bottom:none}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/highlight.js/styles/agate.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}code.hljs{padding:1rem}aside,b,dd,div,dl,dt,em,i,li,ol,p,strong,ul{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;line-height:1.5rem}aside,dd,div,dl,dt,li,ol,p,ul{font-weight:400}a em{color:#00718f}strong,strong em{font-family:ServiceNowSans-Medium;font-weight:500}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem;line-height:1.1;line-height:1.3125rem;margin:2rem 0}h1,h2{color:#1d1d1d;font-size:1.75rem;font-weight:400;font-weight:500}h2{font-family:ServiceNowSans-Regular;font-family:ServiceNowSans-Medium;font-size:1.5rem;line-height:1.1;line-height:2.25rem;margin-bottom:.75rem 0}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400;margin-bottom:.5rem 0}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400;margin-bottom:.5rem 0}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal}blockquote,code,img,ol,p,pre,ul{margin:.75rem 0}img{max-width:100%}pre{margin-bottom:1.5rem;margin-top:.75rem}div+h1,div+h2,div+h3,div+h4,div+h5,div+h6,img+h1,img+h2,img+h3,img+h4,img+h5,img+h6,p+h1,p+h2,p+h3,p+h4,p+h5,p+h6,ul+h1,ul+h2,ul+h3,ul+h4,ul+h5,ul+h6{margin-top:2rem}b,strong{font-weight:500}b,code,strong{letter-spacing:.02em}code{background-color:#e8e8e9;border:1px solid #d0d2d3;border-radius:.25rem;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5}code b,code strong{font-weight:500}pre code{background-color:transparent;border:none;border-radius:0}.sm,small{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}.sm code,small code{font-size:80%}.lg,.xl{font-family:ServiceNowSans-Regular;font-size:1.3125rem;font-weight:400;line-height:1.5}.lg code,.xl code{font-size:80%}.xl{font-size:1.5rem;line-height:1.5}.dps-caption,.dps-label{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}a:not(.dps-link):not(.dps-button):not(.dps-card-click){border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal;margin:-.125rem;padding:0 .125rem;position:relative;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:normal}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus:not(:focus-visible){box-shadow:none;outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):hover{color:#024f69;text-decoration:underline;-webkit-text-decoration-color:#024f69;text-decoration-color:#024f69}a:not(.dps-link):not(.dps-button):not(.dps-card-click):active{color:#032d42;text-decoration:underline;-webkit-text-decoration-color:#032d42;text-decoration-color:#032d42}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}.do-dont-images{column-gap:1rem;display:grid;grid-auto-flow:column;grid-template-rows:1fr auto}@media screen and (max-width:767.98px){.do-dont-images{display:block}}.do-dont-images figcaption,.do-dont-images figure{margin:0;padding:0}.do-dont-images img{margin:0;max-width:100%;padding:0}.do-dont-images figure{background-color:#f7f7f7;border-top:5px solid;margin-top:2rem;padding:1rem;position:relative}.do-dont-images figcaption{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;font-style:italic;line-height:1.5;margin-bottom:0;margin-left:0;margin-right:0;margin-top:.5rem;max-width:100%;text-align:left}.do-dont-images .img-do h5,.do-dont-images .img-dont h5{font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;left:0;line-height:1.75;margin:0;padding:0;position:absolute;top:-2rem}.do-dont-images .img-dont{border-color:#fc726d}.do-dont-images .img-dont h5{color:#fc726d}.do-dont-images .img-do{border-color:#5cc4af}.do-dont-images .img-do h5{color:#5cc4af}.dps-wayfinder{list-style:none;margin:0;max-height:70vh;overflow:auto;padding:0;position:relative}.dps-wayfinder .dps-wayfinder-active-marker{background-color:#63df4e;height:0;left:0;position:absolute;top:0;transition:top .15s,height .15s;width:3px}.dps-wayfinder .dps-wayfinder-item{border-left:3px solid #e8e8e9;font-family:ServiceNowSans-Regular;padding:.5rem .5rem .5rem 1rem}.dps-wayfinder .dps-wayfinder-item[data-active=true]{font-family:ServiceNowSans-Bold}.dps-wayfinder .dps-wayfinder-item .dps-wayfinder-link,.dps-wayfinder .dps-wayfinder-item .dps-wayfinder-link:hover{background:none;box-shadow:none}.dps-wayfinder .dps-wayfinder-item .dps-wayfinder-link{color:#293e40}.dps-wayfinder .dps-wayfinder-item .dps-wayfinder-link:hover,.dps-wayfinder .dps-wayfinder-item[data-active=true] .dps-wayfinder-link{color:#2b2e31;outline:none}:host{display:block}.dps-component-usage{display:grid;grid-template-areas:\\\"content aside\\\";grid-template-columns:minmax(0,70.625rem) minmax(8.75rem,20.625rem)}.dps-component-usage .noWayfinder{grid-template-areas:\\\"content\\\";grid-template-columns:100%}.dps-component-usage aside{grid-area:aside;-ms-grid-column:2;-ms-grid-row:1;padding-bottom:2.5rem;padding-left:1.5rem;padding-right:2.5rem;padding-top:6rem}.dps-component-usage aside.-has-carousel{padding-top:2rem}@media(max-width:1199.98px){.dps-component-usage{grid-template-columns:minmax(0,1fr)}.dps-component-usage aside{display:none}}.dps-component-usage article{grid-area:content;-ms-grid-column:1;-ms-grid-row:1;margin-left:1.875rem}@media(max-width:991.98px){.dps-component-usage article{margin-left:0}}.dps-component-usage table tr td:first-child{word-break:normal}.dps-component-container{margin:0 auto;width:auto}@media(max-width:991.98px){.dps-component-container{margin:0 .25rem}}.dps-component-sidebar{position:-webkit-sticky;position:sticky;top:6.25rem}.dps-component-usage-title{margin-top:1.5rem}dps-feedback,dps-prev-next-doc{display:block;margin:2.5rem 0}h1{margin-bottom:1rem;margin-top:3rem}h1+h2,h1+ol,h1+p,h1+ul{margin-top:1rem}h2{margin-bottom:.75rem;margin-top:2.5rem}h2+h3,h2+ol,h2+p,h2+ul{margin-top:.75rem}h3{margin-bottom:.5rem;margin-top:2rem}h3+h4,h3+ol,h3+p,h3+ul{margin-top:.5rem}h4{font-size:1.125rem;margin-bottom:0;margin-top:1.5rem}h4+h5,h4+ol,h4+p,h4+ul{margin-top:0}h5{font-size:1rem;margin-bottom:0;margin-top:1rem}h5+ol,h5+p,h5+ul{margin-top:0}h6{margin-bottom:0;margin-top:1rem}h6+ol,h6+p,h6+ul{margin-top:0}table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem;width:100%}table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}table td,table th{padding:.75rem;text-align:left;vertical-align:top}table tbody tr{border-bottom:1px solid #293e40}table tbody td{padding:1rem .75rem}table tbody td:first-child{min-width:10em;width:33%}table tbody td :first-child{margin-top:0}table tbody td :last-child{margin-bottom:0}table tbody td pre{white-space:pre-wrap}table tbody td samp{word-break:break-word}table tr:last-child{border-bottom:none}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-navigation-sidebar-component{--dps-navigation-sidebar-details-padding:0px 1.5rem 1.5rem 0px}.dps-reference-page-content{margin-top:-3.75rem;width:calc(100% - 60px)}.dps-reference-page-content dps-banner-container,.dps-reference-page-content dps-reference-page-overview,.dps-reference-page-content dps-reference-page-uib-config,.dps-reference-page-content dps-reference-page-uib-setup,.dps-reference-page-content dps-reference-page-usage,.dps-reference-page-content dps-related-components{margin-left:-3.75rem;margin-right:-6.25rem}@media screen and (max-width:1199.98px){.dps-reference-page-content dps-banner-container,.dps-reference-page-content dps-reference-page-overview,.dps-reference-page-content dps-reference-page-uib-config,.dps-reference-page-content dps-reference-page-uib-setup,.dps-reference-page-content dps-reference-page-usage,.dps-reference-page-content dps-related-components{margin-right:-4.375rem}}@media screen and (max-width:991.98px){.dps-reference-page-content dps-banner-container,.dps-reference-page-content dps-reference-page-overview,.dps-reference-page-content dps-reference-page-uib-config,.dps-reference-page-content dps-reference-page-uib-setup,.dps-reference-page-content dps-reference-page-usage,.dps-reference-page-content dps-related-components{margin-left:0;margin-right:0}}.dps-reference-page-content dps-related-components{margin-bottom:-3.75rem}@media screen and (max-width:991.98px){.dps-reference-page-content dps-related-components{margin-bottom:0}.dps-reference-page-content{width:100%}}.list-page .dps-reference-page-content{width:100%}dps-icon-gallery-connected,dps-spinner{margin:1.5rem auto 0;width:auto}.dps-playground-component{margin-left:-3.75rem;margin-right:-6.25rem;margin-top:2.5rem}@media screen and (max-width:991.98px){.dps-playground-component{margin-left:-1.5rem;margin-right:-1.5rem}}@media(max-width:991.98px){.dps-navigation-sidebar-component{margin-top:-2.5rem}}.dps-reference-page-header{display:flex;margin-left:-3.75rem;margin-right:-6.25rem}@media(max-width:991.98px){.dps-reference-page-header{display:block;margin-left:-1.875rem;margin-right:-1.875rem}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}.dps-search{margin:0 auto;max-width:56.25rem;position:relative}.dps-search.fade-in{animation:fade-in-animation .2s}.dps-search-input{align-items:center;border-bottom:1px solid #474d52;display:flex;padding-bottom:1rem;width:100%}@media(max-width:767.98px){.dps-search-input{padding-bottom:.5rem}}.dps-search-input dps-button,.dps-search-input now-icon{flex:0 0 auto}.dps-search-input dps-button.button-text-only,.dps-search-input now-icon.button-text-only{display:block}.dps-search-input dps-button.button-icon-only,.dps-search-input now-icon.button-icon-only{display:none}@media(max-width:767.98px){.dps-search-input dps-button.button-text-only,.dps-search-input now-icon.button-text-only{display:none}.dps-search-input dps-button.button-icon-only,.dps-search-input now-icon.button-icon-only{display:block}}.dps-search-input dps-input{-webkit-appearance:none;border-left:1px solid #d1d6d6;flex:1 1 auto}.dps-search-text{color:#8a8e91;font-family:ServiceNowSans-Light;font-size:.8125rem;letter-spacing:.02em;line-height:1.5;margin-top:.75rem}@keyframes fade-in-animation{0%{opacity:0}to{opacity:1}}.dps-search-autosuggest-list{box-shadow:0 0 3px rgba(0,0,0,.2);margin-top:1.25rem;max-height:34.375rem;overflow-y:auto;padding-left:1rem;z-index:9999}.dps-search-autosuggest-list.-hide-list{display:none}.dps-search-autosuggest-list>li:active,.dps-search-autosuggest-list>li:focus{background-color:#eee;outline:none}.dps-search-result{margin:0 auto;position:relative}.dps-search-result.fade-in{animation:fade-in-animation .2s}.dps-search-results-input{align-items:center;border:1px solid #dadbdc;display:flex;padding:.5rem;padding-left:1.75rem;width:100%}@media(max-width:767.98px){.dps-search-results-input{padding-bottom:.5rem}}.dps-search-results-input dps-button,.dps-search-results-input now-icon{flex:0 0 auto}.dps-search-results-input dps-button.button-text-only,.dps-search-results-input now-icon.button-text-only{display:block}.dps-search-results-input dps-button.button-icon-only,.dps-search-results-input now-icon.button-icon-only{display:none}@media(max-width:767.98px){.dps-search-results-input dps-button.button-text-only,.dps-search-results-input now-icon.button-text-only{display:none}.dps-search-results-input dps-button.button-icon-only,.dps-search-results-input now-icon.button-icon-only{display:block}}.dps-search-results-input dps-input{-webkit-appearance:none;flex:1 1 auto;margin-left:1rem}.dps-search-autosuggest-list-item{margin-top:.5rem;padding:.75rem}.dps-search-autosuggest-list-item:hover{background-color:#eee;cursor:pointer}.dps-search-autosuggest-list-item:not(:last-of-type){border-bottom:1px solid #eee}.dps-search-autosuggest-list-item>img{float:left;margin-right:1.25rem}.dps-search-autosuggest-list-item.-with-payload{font-style:italic;padding-left:3.125rem}.dps-search-autosuggest-list-item.-with-payload>img{display:none}.dps-search-autosuggest-list-item p{display:inline}.dropbtn{background:#fff;border:none;color:#293e40;font-size:.75rem;font-weight:600;line-height:.875rem;text-align:center}.dropbtn now-icon{margin-top:-3px}.dropdown{display:inline-block;margin:0 .625rem 0 0;position:relative}.search-option-img{margin-right:.9375rem}.dropdown-option{background-color:#fff;height:2rem;padding:.4375rem,0,.4375rem,1.625rem;width:14.9375rem}.dropdown-option.-selected,.dropdown-option:hover{background-color:#e1ecef}.dropdown-content{-webkit-padding-start:0;border:1px solid #e4e6ea;border-bottom:1.25rem solid #fff;border-radius:.25rem;box-shadow:0 .5rem .75rem rgba(56,56,56,.25);box-sizing:border-box;margin:0;min-width:15rem;padding-inline-start:0;position:absolute;z-index:1}.dropdown-content li{color:#000;display:block;height:2rem;padding:.75rem 1rem;text-decoration:none}.dropdown-content li now-icon{color:#007b58;margin:-.875rem .25rem 0 0}.dropdown-content li span{left:15%;margin-top:-.3125rem;position:absolute}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-search-related{border:1px solid #dadde2;border-radius:.25rem;border-top:.25rem solid #bec3e7;padding:1.5rem}.dps-search-related h3{color:#1d2b2d;font-family:ServiceNowSans-Light;font-size:1rem}.dps-search-related-results{columns:2 auto}@media(max-width:767.98px){.dps-search-related-results{columns:1 auto}}.dps-search-related-result{color:#3e5153;cursor:pointer;font-family:ServiceNowSans-Light;font-size:.875rem;padding-bottom:1rem}.dps-search-related-result:hover{color:#1d2b2d}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/highlight.js/styles/agate.css\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../images/guide-dev-account-signup-cta.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{display:block;width:100%}.dps-overview{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;position:relative;width:100%}.dps-overview-section{padding:var(--dps-overview-section-learning-plans-padding,6.25rem 0);position:relative;width:100%}@media(max-width:991.98px){.dps-overview-section{padding:2rem 0}}.dps-overview-section.-centered .dps-overview-section-header{justify-content:center}.dps-overview-section.-centered .dps-overview-section-content{text-align:center}.dps-overview-section.-centered p{margin:0 auto 1.5rem}.dps-overview-section.-inverse{background-color:var(--dps-theme-inverse-background-color,#293e40);color:var(--dps-overview-section-font-color,#fff)}.dps-overview-section.-inverse .dps-overview-section-content{gap:1.5rem;margin:var(--dps-overview-section-learning-plans-content-margin);padding-left:0}.dps-overview-section.-inverse .dps-overview-section-content>p{color:var(--dps-overview-section-font-color,#fff);font-family:ServiceNowSans-Light;font-size:var(--dps-overview-section-learning-plans-description-font-size,1rem);line-height:var(--dps-overview-section-learning-plans-description-line-height,1.5);max-width:100%}.dps-overview-section.-inverse .dps-overview-section-header{color:var(--dps-overview-section-learning-plans-header-color,#fff);font-family:ServiceNowSans-Medium;font-size:28px;font-weight:500}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-subheader{color:var(--dps-create-account-subheader-color,#293e40);font-family:ServiceNowSansMono-Regular;font-size:var(--dps-create-account-subheader-font-size,.8125rem);line-height:var(--dps-create-account-subheader-line-height,1.1);margin:var(--dps-create-account-subheader-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-header{color:var(--dps-create-account-header-color,#474d52);font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500;letter-spacing:normal;line-height:1.925rem;margin:var(--dps-create-account-header-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content>p{color:#474d52;font-family:ServiceNowSans-Light;font-size:var(--dps-create-account-description-font-size,1rem);line-height:1.5rem;margin:0;max-width:100%}.dps-overview-section.-highlight{background-color:#f7f7f7}.dps-overview-section.-overview{background-color:#f7f7f7;font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}@media(max-width:991.98px){.dps-overview-section.-overview{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5}}.dps-overview-section.-overview p{margin:0 auto;max-width:46.375rem;text-align:left}.dps-overview-section.-overview p+p{margin-top:1.5rem}.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-two-col .dps-overview-section-content>img{margin:0 auto}@media(max-width:1199.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}@media(max-width:767.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-three-col .dps-overview-section-content>div{align-self:start}.dps-overview-section.-callout{align-items:center;background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");background-position:calc(50% + 275px) calc(100% - 2px);background-repeat:no-repeat;background-size:auto;display:flex;font-family:ServiceNowSans-Light;font-size:1.3125rem;height:37rem;line-height:1.5;overflow:hidden;position:relative}.dps-overview-section.-callout h2,.dps-overview-section.-callout p{max-width:32.5rem}.dps-overview-section.-callout h2+p{font-size:1.3125rem;margin-bottom:4rem}@media(max-width:991.98px){.dps-overview-section.-callout{background-image:none;height:auto}}.dps-overview-section.-callout .dps-overview-section-header{display:block;margin-bottom:1.5rem;padding-bottom:calc(1rem + 4px)}.dps-overview-section.-callout .dps-overview-section-header:before{background-color:#fff;bottom:0;content:\\\"\\\";height:.25rem;left:0;position:absolute;width:5rem}.dps-overview-section .-large{font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}.dps-overview-section img{max-width:100%}.dps-overview-section>p,.dps-overview-section>ul{margin:0 0 1.5rem;position:relative}.dps-overview-section>p{font-family:ServiceNowSans-Light;font-size:18px;max-width:37.5rem}.dps-overview-section ul{-webkit-margin-before:0;-webkit-padding-start:0;list-style-type:none;margin-block-start:0;padding-inline-start:0}.dps-overview-section ul li{margin-bottom:.75rem;position:relative}.dps-overview-section ul li:last-child{margin-bottom:0}.dps-overview-section dps-card p,.dps-overview-section dps-card ul,.dps-overview-section dps-content-stack p,.dps-overview-section dps-content-stack ul{margin:0 0 .75rem}.dps-overview-section dps-card p:last-child,.dps-overview-section dps-card ul:last-child,.dps-overview-section dps-content-stack p:last-child,.dps-overview-section dps-content-stack ul:last-child{margin:0}.dps-overview-section-content{margin:0 auto;max-width:var(--dps-overview-section-content-max-width,90rem);position:relative;width:100%}@media(max-width:767.98px){.dps-overview-section-content{padding:0 1.5rem}}.dps-overview-section-content.-narrow{color:#000;max-width:70.625rem}.dps-overview-section-content.-narrow .dps-overview-section-header{margin-bottom:1.5rem}.dps-overview-section-content.-narrow p{font-size:1.125rem}@media(max-width:1199.98px){.dps-overview-section-content.-narrow{max-width:100%}}@media(max-width:767.98px){.dps-overview-section-content.-narrow{padding:0 1.5rem}}.dps-overview-section-content.now-experience-ui-framework,.dps-overview-section-content.using-now-cli{max-width:100%}.dps-overview-section-header{align-items:center;color:#474d52;display:flex;font-family:ServiceNowSans-Regular;font-size:1.75rem;font-weight:400;line-height:1.1;margin:0 0 1.5rem;position:relative}@media(max-width:991.98px){.dps-overview-section-header{font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5;margin:0 0 1rem}}.dps-overview-section-header img+span{padding-left:1rem}.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:575.98px){.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:767.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}}@media(max-width:575.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-no-header{border-top:1px solid #b9bbbd;margin-top:2.5rem}.table-links-category{color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0 0 .25rem 0}.table-links-title{color:#474d52;font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75;margin:0 0 .25rem 0}.table-links-description{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.1;margin:0 0 .75rem 0}.table-links h3{box-shadow:0 1px 0 0 #b9bbbd;color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0;padding:0 0 .5rem;position:relative;text-transform:uppercase}.table-links ul{list-style:none;margin:2.5rem 0 0;padding:0}ul.list-with-active-indicator{list-style:none;margin:0;padding:0}ul.list-with-active-indicator li{align-items:var(--dps-list-with-active-indicator-align-items,center);border-left:4px solid transparent;display:flex;flex-direction:row;height:var(--dps-list-with-active-indicator-height,inherit);justify-content:flex-start;margin:var(--dps-list-with-active-indicator-margin,inherit);padding-left:var(--dps-list-with-active-indicator-padding-left,1rem)}ul.list-with-active-indicator li a{background:none;color:#8a8e91;display:block;margin-top:-.5rem}ul.list-with-active-indicator li.active{border-left:4px solid #81b5a1}ul.list-with-active-indicator li.active a{color:#474d52;font-family:ServiceNowSans-Regular}ul.list-with-active-indicator .FPO{align-items:center;background-color:pink;display:flex;height:200px;justify-content:center}hr{background-color:#d0d2d3;border:none;height:1px}sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}code.hljs{padding:1rem}aside,b,dd,div,dl,dt,em,i,li,ol,p,strong,ul{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;line-height:1.5rem}aside,dd,div,dl,dt,li,ol,p,ul{font-weight:400}a em{color:#00718f}strong,strong em{font-family:ServiceNowSans-Medium;font-weight:500}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem;line-height:1.1;line-height:1.3125rem;margin:2rem 0}h1,h2{color:#1d1d1d;font-size:1.75rem;font-weight:400;font-weight:500}h2{font-family:ServiceNowSans-Regular;font-family:ServiceNowSans-Medium;font-size:1.5rem;line-height:1.1;line-height:2.25rem;margin-bottom:.75rem 0}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400;margin-bottom:.5rem 0}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400;margin-bottom:.5rem 0}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal}blockquote,code,img,ol,p,pre,ul{margin:.75rem 0}img{max-width:100%}pre{margin-bottom:1.5rem;margin-top:.75rem}div+h1,div+h2,div+h3,div+h4,div+h5,div+h6,img+h1,img+h2,img+h3,img+h4,img+h5,img+h6,p+h1,p+h2,p+h3,p+h4,p+h5,p+h6,ul+h1,ul+h2,ul+h3,ul+h4,ul+h5,ul+h6{margin-top:2rem}b,strong{font-weight:500}b,code,strong{letter-spacing:.02em}code{background-color:#e8e8e9;border:1px solid #d0d2d3;border-radius:.25rem;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5}code b,code strong{font-weight:500}pre code{background-color:transparent;border:none;border-radius:0}.sm,small{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}.sm code,small code{font-size:80%}.lg,.xl{font-family:ServiceNowSans-Regular;font-size:1.3125rem;font-weight:400;line-height:1.5}.lg code,.xl code{font-size:80%}.xl{font-size:1.5rem;line-height:1.5}.dps-caption,.dps-label{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}a:not(.dps-link):not(.dps-button):not(.dps-card-click){border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal;margin:-.125rem;padding:0 .125rem;position:relative;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:normal}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus:not(:focus-visible){box-shadow:none;outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):hover{color:#024f69;text-decoration:underline;-webkit-text-decoration-color:#024f69;text-decoration-color:#024f69}a:not(.dps-link):not(.dps-button):not(.dps-card-click):active{color:#032d42;text-decoration:underline;-webkit-text-decoration-color:#032d42;text-decoration-color:#032d42}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}.do-dont-images{column-gap:1rem;display:grid;grid-auto-flow:column;grid-template-rows:1fr auto}@media screen and (max-width:767.98px){.do-dont-images{display:block}}.do-dont-images figcaption,.do-dont-images figure{margin:0;padding:0}.do-dont-images img{margin:0;max-width:100%;padding:0}.do-dont-images figure{background-color:#f7f7f7;border-top:5px solid;margin-top:2rem;padding:1rem;position:relative}.do-dont-images figcaption{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;font-style:italic;line-height:1.5;margin-bottom:0;margin-left:0;margin-right:0;margin-top:.5rem;max-width:100%;text-align:left}.do-dont-images .img-do h5,.do-dont-images .img-dont h5{font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;left:0;line-height:1.75;margin:0;padding:0;position:absolute;top:-2rem}.do-dont-images .img-dont{border-color:#fc726d}.do-dont-images .img-dont h5{color:#fc726d}.do-dont-images .img-do{border-color:#5cc4af}.do-dont-images .img-do h5{color:#5cc4af}.dps-search-results{border:1px solid #dadde2;border-radius:.25rem;padding:0 0 1.25rem 0;width:100%}.dps-search-results .dps-search-result{display:flex}.dps-search-results .dps-search-result .dps-search-result-icon{display:block;margin-left:1.5rem;margin-right:1.5rem;margin-top:2.375rem}@media(max-width:767.98px){.dps-search-results .dps-search-result .dps-search-result-icon{margin-left:.75rem;margin-right:.75rem}}.dps-search-results .dps-search-result .dps-search-result-text{border-bottom:1px solid #dadde2;width:85%}@media(max-width:767.98px){.dps-search-results .dps-search-result .dps-search-result-text{width:75%}}.dps-search-results .dps-search-result .dps-search-result-text .dps-search-result-description{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;font-family:Lato,sans-serif;margin-bottom:1rem;margin-top:.5rem;overflow:hidden;text-overflow:ellipsis;width:88%}.dps-search-results .dps-search-result .dps-search-result-text .dps-search-result-source{color:#697879;font-size:.8125rem;line-height:1.1;padding-bottom:.25rem;padding-top:2rem}.dps-search-results .dps-search-result .dps-search-result-text .dps-search-result-title{all:initial;align-items:center;color:#1d2b2d;display:flex;font-family:ServiceNowSans-Light;font-size:1.3125rem;font-weight:600;line-height:1.5;word-break:break-word}.dps-search-results .dps-search-result .dps-search-result-text .dps-search-result-title:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-search-results .dps-search-result .dps-search-result-text .dps-search-result-title:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-search-results .dps-search-result .dps-search-result-text .dps-search-result-title:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-search-results .dps-search-result .dps-search-result-text .dps-search-result-title:hover{color:#3e5153;cursor:pointer}.dps-search-results .dps-search-result .dps-search-result-text .dps-search-result-title img{height:.5rem;margin-left:.5rem;width:.5rem}.dps-search-results .dps-search-result .dps-search-result-text .dps-search-result-title now-icon{margin-right:.5rem}.dps-search-results .dps-search-result .dps-search-result-text dps-badge,now-pill{margin:0 .5rem 1rem 0}now-pill:hover{color:#000}.dps-search-page-clear-filter-btn{background-color:#fff;border:0;color:#293e40;display:inline;font-size:.8125rem;font-weight:600;height:auto;outline:none;padding:0}.dps-search-page-clear-filter-btn:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-search-page-clear-filter-btn:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-search-page-clear-filter-btn:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-search-page-clear-filter-btn:hover{color:#697879;cursor:pointer}.dps-search-page_did-you-mean{color:#1d2b2d;font-size:1rem}.dps-search-page_did-you-mean_header{border-bottom:1px solid #dadde2;font-family:ServiceNowSans-Regular;font-size:1.3125rem;padding-bottom:1.5rem}.dps-search-page_did-you-mean_title{font-family:ServiceNowSans-Regular;margin-bottom:1rem;margin-top:1.6875rem}.dps-search-page_did-you-mean label{color:#3e5153;cursor:pointer;display:block;font-family:ServiceNowSans-Light;font-size:1rem;font-weight:900;margin-bottom:1rem}.dps-search-page_did-you-mean label:hover{color:#1d2b2d}.dps-search-page_did-you-mean_suggestions{font-family:ServiceNowSans-Regular;margin-bottom:1rem;margin-top:1.5rem}.dps-search-page_did-you-mean ul li{color:#3e5153;font-family:ServiceNowSans-Light}.dps-search-page_did-you-mean_img-container{display:flex;justify-content:center;margin-bottom:1.5rem;margin-top:-4.6875rem}.dps-search-tag{color:#1d2b2d;font-family:ServiceNowSans-Light;font-size:1rem;font-weight:600;line-height:1.5}dps-pagination{padding:2.5rem 0 2rem 0}dps-search-bar{margin-bottom:1rem}.dps-search-results-no-results{align-items:center;color:#334b4f;display:flex;flex-direction:column;font-family:ServiceNowSans-Light;font-size:1rem;justify-content:center;margin-bottom:2.5rem;margin-top:2.5rem;text-align:center}.dps-search-results-no-results img{height:6.25rem;width:6.25rem}.dps-search-results-no-results b{color:#1d2b2d;font-size:1.3125rem}.dps-search-page_filter-pills{align-items:baseline;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:1rem}.dps-search-page_filter-pills_items{align-items:center;border:1px solid #adb5b6;border-radius:1.5rem;display:flex;font-family:Lato,sans-serif;height:2rem;justify-content:space-between;margin-bottom:1rem;margin-right:.9375rem;padding-left:1rem;padding-right:1rem;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.dps-search-page_filter-pills_items label{margin-right:.625rem}.dps-search-page_filter-pills_items img{cursor:pointer}.dps-search-page_filter-pills_items img:focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-search-page_filter-pills_items img:focus:not(:focus-visible){box-shadow:none;outline:none}.dps-search-page_filter-pills_items img:focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-search-page_spinner{margin-bottom:1.25rem}.dps-search-page_spinner_overlay{background-color:rgba(0,0,0,.5);bottom:0;height:100%;left:0;position:fixed;right:0;top:0;width:100%;z-index:10000}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/highlight.js/styles/agate.css\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../images/guide-dev-account-signup-cta.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{display:block;width:100%}.dps-overview{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;position:relative;width:100%}.dps-overview-section{padding:var(--dps-overview-section-learning-plans-padding,6.25rem 0);position:relative;width:100%}@media(max-width:991.98px){.dps-overview-section{padding:2rem 0}}.dps-overview-section.-centered .dps-overview-section-header{justify-content:center}.dps-overview-section.-centered .dps-overview-section-content{text-align:center}.dps-overview-section.-centered p{margin:0 auto 1.5rem}.dps-overview-section.-inverse{background-color:var(--dps-theme-inverse-background-color,#293e40);color:var(--dps-overview-section-font-color,#fff)}.dps-overview-section.-inverse .dps-overview-section-content{gap:1.5rem;margin:var(--dps-overview-section-learning-plans-content-margin);padding-left:0}.dps-overview-section.-inverse .dps-overview-section-content>p{color:var(--dps-overview-section-font-color,#fff);font-family:ServiceNowSans-Light;font-size:var(--dps-overview-section-learning-plans-description-font-size,1rem);line-height:var(--dps-overview-section-learning-plans-description-line-height,1.5);max-width:100%}.dps-overview-section.-inverse .dps-overview-section-header{color:var(--dps-overview-section-learning-plans-header-color,#fff);font-family:ServiceNowSans-Medium;font-size:28px;font-weight:500}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-subheader{color:var(--dps-create-account-subheader-color,#293e40);font-family:ServiceNowSansMono-Regular;font-size:var(--dps-create-account-subheader-font-size,.8125rem);line-height:var(--dps-create-account-subheader-line-height,1.1);margin:var(--dps-create-account-subheader-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content .dps-overview-section-header{color:var(--dps-create-account-header-color,#474d52);font-family:ServiceNowSans-Medium;font-size:1.75rem;font-weight:500;letter-spacing:normal;line-height:1.925rem;margin:var(--dps-create-account-header-margin,0)}.dps-overview-section.-inverse.-create-account .dps-overview-section-content>p{color:#474d52;font-family:ServiceNowSans-Light;font-size:var(--dps-create-account-description-font-size,1rem);line-height:1.5rem;margin:0;max-width:100%}.dps-overview-section.-highlight{background-color:#f7f7f7}.dps-overview-section.-overview{background-color:#f7f7f7;font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}@media(max-width:991.98px){.dps-overview-section.-overview{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5}}.dps-overview-section.-overview p{margin:0 auto;max-width:46.375rem;text-align:left}.dps-overview-section.-overview p+p{margin-top:1.5rem}.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-two-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-two-col .dps-overview-section-content>img{margin:0 auto}@media(max-width:1199.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}@media(max-width:767.98px){.dps-overview-section.-two-col .dps-overview-section-content>img{display:none}}.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;align-items:center;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:991.98px){.dps-overview-section.-three-col .dps-overview-section-content{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.dps-overview-section.-three-col .dps-overview-section-content>div{align-self:start}.dps-overview-section.-callout{align-items:center;background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");background-position:calc(50% + 275px) calc(100% - 2px);background-repeat:no-repeat;background-size:auto;display:flex;font-family:ServiceNowSans-Light;font-size:1.3125rem;height:37rem;line-height:1.5;overflow:hidden;position:relative}.dps-overview-section.-callout h2,.dps-overview-section.-callout p{max-width:32.5rem}.dps-overview-section.-callout h2+p{font-size:1.3125rem;margin-bottom:4rem}@media(max-width:991.98px){.dps-overview-section.-callout{background-image:none;height:auto}}.dps-overview-section.-callout .dps-overview-section-header{display:block;margin-bottom:1.5rem;padding-bottom:calc(1rem + 4px)}.dps-overview-section.-callout .dps-overview-section-header:before{background-color:#fff;bottom:0;content:\\\"\\\";height:.25rem;left:0;position:absolute;width:5rem}.dps-overview-section .-large{font-family:ServiceNowSans-Light;font-size:1.3125rem;line-height:1.5}.dps-overview-section img{max-width:100%}.dps-overview-section>p,.dps-overview-section>ul{margin:0 0 1.5rem;position:relative}.dps-overview-section>p{font-family:ServiceNowSans-Light;font-size:18px;max-width:37.5rem}.dps-overview-section ul{-webkit-margin-before:0;-webkit-padding-start:0;list-style-type:none;margin-block-start:0;padding-inline-start:0}.dps-overview-section ul li{margin-bottom:.75rem;position:relative}.dps-overview-section ul li:last-child{margin-bottom:0}.dps-overview-section dps-card p,.dps-overview-section dps-card ul,.dps-overview-section dps-content-stack p,.dps-overview-section dps-content-stack ul{margin:0 0 .75rem}.dps-overview-section dps-card p:last-child,.dps-overview-section dps-card ul:last-child,.dps-overview-section dps-content-stack p:last-child,.dps-overview-section dps-content-stack ul:last-child{margin:0}.dps-overview-section-content{margin:0 auto;max-width:var(--dps-overview-section-content-max-width,90rem);position:relative;width:100%}@media(max-width:767.98px){.dps-overview-section-content{padding:0 1.5rem}}.dps-overview-section-content.-narrow{color:#000;max-width:70.625rem}.dps-overview-section-content.-narrow .dps-overview-section-header{margin-bottom:1.5rem}.dps-overview-section-content.-narrow p{font-size:1.125rem}@media(max-width:1199.98px){.dps-overview-section-content.-narrow{max-width:100%}}@media(max-width:767.98px){.dps-overview-section-content.-narrow{padding:0 1.5rem}}.dps-overview-section-content.now-experience-ui-framework,.dps-overview-section-content.using-now-cli{max-width:100%}.dps-overview-section-header{align-items:center;color:#474d52;display:flex;font-family:ServiceNowSans-Regular;font-size:1.75rem;font-weight:400;line-height:1.1;margin:0 0 1.5rem;position:relative}@media(max-width:991.98px){.dps-overview-section-header{font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5;margin:0 0 1rem}}.dps-overview-section-header img+span{padding-left:1rem}.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}@media(max-width:575.98px){.table-links.-two-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(3,1fr);grid-template-rows:none}@media(max-width:767.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(2,1fr);grid-template-rows:none}}@media(max-width:575.98px){.table-links.-three-col>ul{grid-gap:2rem;align-items:start;display:grid;grid-auto-rows:auto;grid-template-columns:repeat(1,1fr);grid-template-rows:none}}.table-links.-no-header{border-top:1px solid #b9bbbd;margin-top:2.5rem}.table-links-category{color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0 0 .25rem 0}.table-links-title{color:#474d52;font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75;margin:0 0 .25rem 0}.table-links-description{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.1;margin:0 0 .75rem 0}.table-links h3{box-shadow:0 1px 0 0 #b9bbbd;color:#b9bbbd;font-family:ServiceNowSans-Medium;font-size:.8125rem;margin:0;padding:0 0 .5rem;position:relative;text-transform:uppercase}.table-links ul{list-style:none;margin:2.5rem 0 0;padding:0}ul.list-with-active-indicator{list-style:none;margin:0;padding:0}ul.list-with-active-indicator li{align-items:var(--dps-list-with-active-indicator-align-items,center);border-left:4px solid transparent;display:flex;flex-direction:row;height:var(--dps-list-with-active-indicator-height,inherit);justify-content:flex-start;margin:var(--dps-list-with-active-indicator-margin,inherit);padding-left:var(--dps-list-with-active-indicator-padding-left,1rem)}ul.list-with-active-indicator li a{background:none;color:#8a8e91;display:block;margin-top:-.5rem}ul.list-with-active-indicator li.active{border-left:4px solid #81b5a1}ul.list-with-active-indicator li.active a{color:#474d52;font-family:ServiceNowSans-Regular}ul.list-with-active-indicator .FPO{align-items:center;background-color:pink;display:flex;height:200px;justify-content:center}hr{background-color:#d0d2d3;border:none;height:1px}sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}code.hljs{padding:1rem}aside,b,dd,div,dl,dt,em,i,li,ol,p,strong,ul{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;line-height:1.5rem}aside,dd,div,dl,dt,li,ol,p,ul{font-weight:400}a em{color:#00718f}strong,strong em{font-family:ServiceNowSans-Medium;font-weight:500}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem;line-height:1.1;line-height:1.3125rem;margin:2rem 0}h1,h2{color:#1d1d1d;font-size:1.75rem;font-weight:400;font-weight:500}h2{font-family:ServiceNowSans-Regular;font-family:ServiceNowSans-Medium;font-size:1.5rem;line-height:1.1;line-height:2.25rem;margin-bottom:.75rem 0}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400;margin-bottom:.5rem 0}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400;margin-bottom:.5rem 0}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal}blockquote,code,img,ol,p,pre,ul{margin:.75rem 0}img{max-width:100%}pre{margin-bottom:1.5rem;margin-top:.75rem}div+h1,div+h2,div+h3,div+h4,div+h5,div+h6,img+h1,img+h2,img+h3,img+h4,img+h5,img+h6,p+h1,p+h2,p+h3,p+h4,p+h5,p+h6,ul+h1,ul+h2,ul+h3,ul+h4,ul+h5,ul+h6{margin-top:2rem}b,strong{font-weight:500}b,code,strong{letter-spacing:.02em}code{background-color:#e8e8e9;border:1px solid #d0d2d3;border-radius:.25rem;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5}code b,code strong{font-weight:500}pre code{background-color:transparent;border:none;border-radius:0}.sm,small{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}.sm code,small code{font-size:80%}.lg,.xl{font-family:ServiceNowSans-Regular;font-size:1.3125rem;font-weight:400;line-height:1.5}.lg code,.xl code{font-size:80%}.xl{font-size:1.5rem;line-height:1.5}.dps-caption,.dps-label{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}a:not(.dps-link):not(.dps-button):not(.dps-card-click){border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal;margin:-.125rem;padding:0 .125rem;position:relative;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:normal}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus:not(:focus-visible){box-shadow:none;outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):hover{color:#024f69;text-decoration:underline;-webkit-text-decoration-color:#024f69;text-decoration-color:#024f69}a:not(.dps-link):not(.dps-button):not(.dps-card-click):active{color:#032d42;text-decoration:underline;-webkit-text-decoration-color:#032d42;text-decoration-color:#032d42}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}.do-dont-images{column-gap:1rem;display:grid;grid-auto-flow:column;grid-template-rows:1fr auto}@media screen and (max-width:767.98px){.do-dont-images{display:block}}.do-dont-images figcaption,.do-dont-images figure{margin:0;padding:0}.do-dont-images img{margin:0;max-width:100%;padding:0}.do-dont-images figure{background-color:#f7f7f7;border-top:5px solid;margin-top:2rem;padding:1rem;position:relative}.do-dont-images figcaption{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;font-style:italic;line-height:1.5;margin-bottom:0;margin-left:0;margin-right:0;margin-top:.5rem;max-width:100%;text-align:left}.do-dont-images .img-do h5,.do-dont-images .img-dont h5{font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;left:0;line-height:1.75;margin:0;padding:0;position:absolute;top:-2rem}.do-dont-images .img-dont{border-color:#fc726d}.do-dont-images .img-dont h5{color:#fc726d}.do-dont-images .img-do{border-color:#5cc4af}.do-dont-images .img-do h5{color:#5cc4af}.dps-search-results .list-with-active-indicator li{border-left-color:#e8e8e9;font-family:ServiceNowSans-Light;font-size:1rem;height:2.5rem}.dps-search-results .list-with-active-indicator li:active{border-left-color:#474d52}.dps-search-results_related-search{padding:0 1.25rem}.dps-search-results_related-search_header{font-family:ServiceNowSans-Regular;font-size:1.3125rem;margin-bottom:.625rem}.dps-search-results_related-search_list-container{display:flex;flex-wrap:wrap}.dps-search-results_related-search_list{color:#546566;cursor:pointer;flex:0 50%;font-family:ServiceNowSans-Light;font-size:.875rem;font-weight:700;padding:.5rem 1.5rem .625rem 0;width:auto}.dps-search-results_related-search_list:hover{color:#293e40}.dps-search-results-bar{border:1px solid #dadbdc;display:flex;padding:.5rem;padding-left:1.75rem}.dps-search-results-bar [icon=magnifying-glass-fill]{margin-right:1.5rem;position:relative;top:.25rem}.dps-search-results-bar .button-text-only{display:block}.dps-search-results-bar .button-icon-only{display:none}@media(max-width:767.98px){.dps-search-results-bar{padding:.25rem}.dps-search-results-bar [icon=magnifying-glass-fill]{margin-left:.5rem;margin-right:.5rem}.dps-search-results-bar .button-text-only{display:none}.dps-search-results-bar .button-icon-only{display:block}}.dps-search-results-info{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;font-weight:700;margin-bottom:1.5rem;margin-top:.75rem}.dps-search-results-version-selector{margin-bottom:1rem}.dps-search-results-input{border:none;color:#293e40;display:block;flex:1;font-family:ServiceNowSans-Light;font-size:1.3125rem;height:1.875rem;margin-right:.5rem;outline:none;width:100%}.dps-search-results-input::-webkit-search-cancel-button{display:none}@media(max-width:767.98px){.dps-search-results-input{font-size:1rem}}.dps-search-results-bar-inner{display:flex;flex:1;position:relative}.dps-input-clear-search{background-color:#d0d2d3;border-radius:100%;color:#fff;content:\\\"×\\\";cursor:pointer;height:1em;line-height:1;margin-top:-.5em;position:absolute;right:.5em;text-align:center;top:50%;width:1em}.dps-search-results-no-results{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;margin:6.25rem auto 0;max-width:50%;text-align:center}dps-spinner{margin-top:1.5rem}.dps-search-results-autosuggest-list{box-shadow:0 0 3px rgba(0,0,0,.2);margin-top:1.25rem;max-height:34.375rem;overflow-y:auto;padding-left:1rem}.dps-search-results-autosuggest-list.-hide-list{display:none}.dps-search-results-autosuggest-list>li:active,.dps-search-results-autosuggest-list>li:focus{background-color:#eee;outline:none}.dps-search-results-autosuggest-list-item{margin-top:.5rem;padding:.75rem}.dps-search-results-autosuggest-list-item>now-icon{float:left;margin-right:1.25rem}.dps-search-results-autosuggest-list-item:hover{background-color:#eee;cursor:pointer}.dps-search-results-autosuggest-list-item:not(:last-of-type){border-bottom:1px solid #eee}.dps-search-results-autosuggest-list-item.-with-payload{font-style:italic;padding-left:3.125rem}.dps-search-results-autosuggest-list-item.-with-payload>now-icon{display:none}.dps-search-results-autosuggest-list-item p{display:inline}.dps-search-results-bar-inner dps-input{-webkit-appearance:none;flex:1 1 auto}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/highlight.js/styles/agate.css\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../images/icons/green-circle-check.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}code.hljs{padding:1rem}aside,b,dd,div,dl,dt,em,i,li,ol,p,strong,ul{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;line-height:1.5rem}aside,dd,div,dl,dt,li,ol,p,ul{font-weight:400}a em{color:#00718f}strong,strong em{font-family:ServiceNowSans-Medium;font-weight:500}h1{font-size:2.375rem;font-size:1.75rem;font-weight:400;line-height:1.1;line-height:1.3125rem;margin:2rem 0}h1,h2{color:#1d1d1d;font-family:ServiceNowSans-Medium;font-weight:500}h2{font-size:1.5rem;line-height:2.25rem;margin-bottom:.75rem 0}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400;margin-bottom:.5rem 0}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400;margin-bottom:.5rem 0}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal}blockquote,code,img,ol,p,pre,ul{margin:.75rem 0}img{max-width:100%}pre{margin-bottom:1.5rem;margin-top:.75rem}div+h1,div+h2,div+h3,div+h4,div+h5,div+h6,img+h1,img+h2,img+h3,img+h4,img+h5,img+h6,p+h1,p+h2,p+h3,p+h4,p+h5,p+h6,ul+h1,ul+h2,ul+h3,ul+h4,ul+h5,ul+h6{margin-top:2rem}b,strong{font-weight:500}b,code,strong{letter-spacing:.02em}code{background-color:#e8e8e9;border:1px solid #d0d2d3;border-radius:.25rem;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5}code b,code strong{font-weight:500}pre code{background-color:transparent;border:none;border-radius:0}.sm,small{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}.sm code,small code{font-size:80%}.lg,.xl{font-family:ServiceNowSans-Regular;font-size:1.3125rem;font-weight:400;line-height:1.5}.lg code,.xl code{font-size:80%}.xl{font-size:1.5rem;line-height:1.5}.dps-caption,.dps-label{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}a:not(.dps-link):not(.dps-button):not(.dps-card-click){border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal;margin:-.125rem;padding:0 .125rem;position:relative;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:normal}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus:not(:focus-visible){box-shadow:none;outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):hover{color:#024f69;text-decoration:underline;-webkit-text-decoration-color:#024f69;text-decoration-color:#024f69}a:not(.dps-link):not(.dps-button):not(.dps-card-click):active{color:#032d42;text-decoration:underline;-webkit-text-decoration-color:#032d42;text-decoration-color:#032d42}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}.do-dont-images{column-gap:1rem;display:grid;grid-auto-flow:column;grid-template-rows:1fr auto}@media screen and (max-width:767.98px){.do-dont-images{display:block}}.do-dont-images figcaption,.do-dont-images figure{margin:0;padding:0}.do-dont-images img{margin:0;max-width:100%;padding:0}.do-dont-images figure{background-color:#f7f7f7;border-top:5px solid;margin-top:2rem;padding:1rem;position:relative}.do-dont-images figcaption{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;font-style:italic;line-height:1.5;margin-bottom:0;margin-left:0;margin-right:0;margin-top:.5rem;max-width:100%;text-align:left}.do-dont-images .img-do h5,.do-dont-images .img-dont h5{font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;left:0;line-height:1.75;margin:0;padding:0;position:absolute;top:-2rem}.do-dont-images .img-dont{border-color:#fc726d}.do-dont-images .img-dont h5{color:#fc726d}.do-dont-images .img-do{border-color:#5cc4af}.do-dont-images .img-do h5{color:#5cc4af}dps-page-header .dps-progress-card-slot{text-align:left}dps-spinner{margin-top:2.5rem}.side-nav-contents{font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5;width:106%}.side-nav-contents p,.side-nav-contents ul{color:#293e40}.side-nav-contents ul{padding:0}.side-nav-contents li{background:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") no-repeat 0 3px transparent;list-style-image:none;list-style-position:outside;list-style-type:none;margin-bottom:.5rem;min-height:1.375rem;padding-left:2rem}.side-nav-contents li ul{list-style:none}.side-nav-contents li ul li{align-items:baseline;background:none;display:flex;padding-left:.25rem}.side-nav-contents li ul li:before{border-color:#5cc4af;border-radius:50%;border-style:solid;border-width:2px;content:\\\"\\\";display:block;flex:0 0 0.5625rem;height:.5625rem;margin-right:1rem;width:.5625rem}.side-nav-contents p{color:#293e40;font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:.01em;line-height:1.5}.side-nav-contents p:first-child,.side-nav-contents p:nth-of-type(3){font-family:ServiceNowSans-Medium;font-size:1.3125rem;font-weight:400;line-height:1.5}.side-nav-contents p:first-child{margin-top:0}.side-nav-contents p::nth-of-type(2):after{border:2px solid #e8e8e9;content:\\\" \\\";display:block;margin:1.5rem 0}.side-nav-contents_repo-info_header{font-family:ServiceNowSans-Medium;font-size:1.3125rem;margin-bottom:.75rem}.side-nav-contents_repo-info_header img{margin:0 .5rem 0 0}.side-nav-contents_repo-info_info{color:#334b4f;font-family:Lato,sans-serif;line-height:1.5rem}.side-nav-contents_repo-info_info a{display:inline!important}h2{font-family:ServiceNowSans-Regular;font-size:1.75rem;font-weight:400;line-height:1.1;margin-top:0}.grey-line{background:#e8e8e9;border-radius:0;height:.125rem;margin-bottom:1.5rem;margin-top:.625rem}.module-card-wrapper{margin-bottom:1.9375rem}.right-content .print-link{float:right;margin-top:-2.8125rem}@media(max-width:1199.98px){.right-content .print-link{display:none}}.list-wrap{margin:3.125rem 0 3.125rem 0}.list-wrap .list-heading{color:#474d52;font-family:ServiceNowSans-Medium;font-size:.75rem;letter-spacing:.075rem;line-height:1;text-transform:uppercase}.list-wrap .list-content{-webkit-margin-before:0;-webkit-margin-after:0;-webkit-padding-start:0;list-style-type:none;margin-block-end:0;margin-block-start:0;margin-top:1rem;padding-inline-start:0}.list-wrap .list-content li{color:#293e40;display:flex;font-family:ServiceNowSans-Light;font-size:1rem;letter-spacing:0;line-height:1.5}.list-wrap .list-content li.is-read{color:#8a8e91}.list-wrap .list-content li .list-icon-wrap{align-items:center;display:flex;margin-right:.625rem}.list-wrap .list-content li .list-item-text{display:inline-block}.list-wrap .list-content li dps-link{margin-top:5px}.tutorial-link{align-items:center;background-color:#e6f0ec;display:none;height:3.5rem;overflow:hidden;padding:1rem 1rem .75rem 1rem;position:relative;width:100%}@media(max-width:991.98px){.tutorial-link{display:flex}}.description-text{line-height:1.5}.introduction-content{line-height:1.5;margin:4.5rem 0 6.25rem 0}.introduction-content h2{border-bottom:1px solid #e8e8e9;margin-top:2.5rem;padding:.25rem .25rem .75rem 0}.introduction-content iframe{border:none;height:26.25rem;margin-left:12%;width:70%}@media(max-width:767.98px){.introduction-content iframe{margin-left:0;width:80%}}@media(max-width:575.98px){.introduction-content iframe{height:15.625rem;margin-left:0;width:90%}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/highlight.js/styles/agate.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}code.hljs{padding:1rem}aside,b,dd,div,dl,dt,em,i,li,ol,p,strong,ul{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;line-height:1.5rem}aside,dd,div,dl,dt,li,ol,p,ul{font-weight:400}a em{color:#00718f}strong,strong em{font-family:ServiceNowSans-Medium;font-weight:500}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem;line-height:1.1;line-height:1.3125rem;margin:2rem 0}h1,h2{color:#1d1d1d;font-size:1.75rem;font-weight:400;font-weight:500}h2{font-family:ServiceNowSans-Regular;font-family:ServiceNowSans-Medium;font-size:1.5rem;line-height:1.1;line-height:2.25rem;margin-bottom:.75rem 0}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400;margin-bottom:.5rem 0}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400;margin-bottom:.5rem 0}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal}blockquote,code,img,ol,p,pre,ul{margin:.75rem 0}img{max-width:100%}pre{margin-bottom:1.5rem;margin-top:.75rem}div+h1,div+h2,div+h3,div+h4,div+h5,div+h6,img+h1,img+h2,img+h3,img+h4,img+h5,img+h6,p+h1,p+h2,p+h3,p+h4,p+h5,p+h6,ul+h1,ul+h2,ul+h3,ul+h4,ul+h5,ul+h6{margin-top:2rem}b,strong{font-weight:500}b,code,strong{letter-spacing:.02em}code{background-color:#e8e8e9;border:1px solid #d0d2d3;border-radius:.25rem;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5}code b,code strong{font-weight:500}pre code{background-color:transparent;border:none;border-radius:0}.sm,small{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}.sm code,small code{font-size:80%}.lg,.xl{font-family:ServiceNowSans-Regular;font-size:1.3125rem;font-weight:400;line-height:1.5}.lg code,.xl code{font-size:80%}.xl{font-size:1.5rem;line-height:1.5}.dps-caption,.dps-label{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}a:not(.dps-link):not(.dps-button):not(.dps-card-click){border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal;margin:-.125rem;padding:0 .125rem;position:relative;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:normal}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus:not(:focus-visible){box-shadow:none;outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):hover{color:#024f69;text-decoration:underline;-webkit-text-decoration-color:#024f69;text-decoration-color:#024f69}a:not(.dps-link):not(.dps-button):not(.dps-card-click):active{color:#032d42;text-decoration:underline;-webkit-text-decoration-color:#032d42;text-decoration-color:#032d42}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}.do-dont-images{column-gap:1rem;display:grid;grid-auto-flow:column;grid-template-rows:1fr auto}@media screen and (max-width:767.98px){.do-dont-images{display:block}}.do-dont-images figcaption,.do-dont-images figure{margin:0;padding:0}.do-dont-images img{margin:0;max-width:100%;padding:0}.do-dont-images figure{background-color:#f7f7f7;border-top:5px solid;margin-top:2rem;padding:1rem;position:relative}.do-dont-images figcaption{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;font-style:italic;line-height:1.5;margin-bottom:0;margin-left:0;margin-right:0;margin-top:.5rem;max-width:100%;text-align:left}.do-dont-images .img-do h5,.do-dont-images .img-dont h5{font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;left:0;line-height:1.75;margin:0;padding:0;position:absolute;top:-2rem}.do-dont-images .img-dont{border-color:#fc726d}.do-dont-images .img-dont h5{color:#fc726d}.do-dont-images .img-do{border-color:#5cc4af}.do-dont-images .img-do h5{color:#5cc4af}.dps-tutorial-exercise h2{margin-top:0}.dps-tutorial-exercise h2,.dps-tutorial-exercise h3{border-bottom:1px solid #e4e4e4;padding-bottom:.75rem}.dps-tutorial-exercise iframe{display:block;height:24.625rem;margin:auto;width:37.5rem}@media screen and (max-width:767.98px){.dps-tutorial-exercise iframe{margin-left:0;width:100%}}.dps-tutorial-exercise_banner{background:105% 0 no-repeat #cde1d9;position:relative;width:100%;z-index:5}.dps-tutorial-exercise_banner-container{margin:0 auto;max-width:90rem;padding-bottom:1.8125rem;padding-top:2.125rem}.dps-tutorial-exercise_banner_release-switcher{color:#3e5153;font-family:ServiceNowSans-Medium;margin:auto 9.625rem}@media screen and (max-width:1439.98px){.dps-tutorial-exercise_banner_release-switcher{margin:auto 2rem}}.dps-tutorial-exercise_banner_info{display:flex;flex-wrap:wrap;justify-content:space-between;margin:auto 9.625rem}@media screen and (max-width:1199.98px){.dps-tutorial-exercise_banner_info{flex-direction:column}}@media screen and (max-width:1439.98px){.dps-tutorial-exercise_banner_info{margin:auto 2rem}}.dps-tutorial-exercise_banner_info_title{color:#1d2b2d;font-family:ServiceNowSans-Medium;font-size:1.75rem;margin-top:1rem}.dps-tutorial-exercise_banner_info_git_repo{align-items:center;background:#e6f0ec;border-radius:5px;color:#151920;display:flex;font-family:Lato,sans-serif;margin-top:1.875rem;padding:1.3125rem 1.0625rem;width:34.3125rem}@media screen and (max-width:1439.98px){.dps-tutorial-exercise_banner_info_git_repo{margin-top:1rem}}@media screen and (max-width:575.98px){.dps-tutorial-exercise_banner_info_git_repo{display:block;width:auto}}.dps-tutorial-exercise_banner_info_git_repo img{margin:0 .8125rem 0 0}.dps-tutorial-exercise_nav_exercise-list{margin-bottom:3.5rem;position:relative}.dps-tutorial-exercise_nav_exercise-list_exercise{align-items:flex-start;color:#293e40;display:flex;font-family:ServiceNowSans-Light;margin-bottom:.75rem}.dps-tutorial-exercise_nav_exercise-list_exercise img{margin:0 .5rem}.dps-tutorial-exercise_nav_exercise-list_exercise a:not(.dps-link):not(.dps-button){background:transparent;box-shadow:none;line-height:1.5rem;transition:none}.dps-tutorial-exercise_nav_exercise-list_exercise.-completed{color:#8a8e91}.dps-tutorial-exercise_nav_exercise-list_exercise.-active{color:#293e40;font-weight:600}.dps-tutorial-exercise_nav_repo-info_header{font-family:ServiceNowSans-Medium;font-size:1.3125rem;margin-bottom:.75rem}.dps-tutorial-exercise_nav_repo-info_header img{margin:0 .5rem 0 0}.dps-tutorial-exercise_nav_repo-info_info{color:#334b4f;font-family:Lato,sans-serif;line-height:1.5rem}.dps-tutorial-exercise_nav_repo-info_info a{display:inline!important}.dps-tutorial-exercise_nav_exercise-list_exercise:before{background:#dadbdc;border-radius:50%;content:\\\"\\\";flex:0 0 auto;height:.5rem;margin-top:.3125rem;width:.5rem;z-index:2}.dps-tutorial-exercise_nav_exercise-list_exercise:after{background:#dadbdc;content:\\\"\\\";height:100%;left:.1875rem;position:absolute;top:.75rem;width:.125rem;z-index:1}.dps-tutorial-exercise_nav_exercise-list_exercise.-active:before,.dps-tutorial-exercise_nav_exercise-list_exercise.-completed:before{background:#63df4e}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}:host{display:block}p{margin:0}dps-alert+dps-alert{margin-top:.125rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-link,a:not(.dps-button){-webkit-text-decoration-skip:ink;background:none;border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.03125rem;margin:-.125rem;padding:.125rem;position:relative;-webkit-text-decoration-line:underline;text-decoration-line:underline;text-decoration-skip-ink:auto;-webkit-text-decoration-style:solid;text-decoration-style:solid;text-decoration:none;text-decoration-thickness:auto;white-space:normal}.dps-link:focus,a:not(.dps-button):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-link:focus:not(:focus-visible),a:not(.dps-button):focus:not(:focus-visible){box-shadow:none;outline:none}.dps-link:focus-visible,a:not(.dps-button):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-link>span,a:not(.dps-button)>span{background:linear-gradient(#00718f,#00718f) bottom repeat-x;background-size:0 0;border-bottom:none;box-shadow:none;color:inherit;padding:0 .125rem;position:relative;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1),border-bottom .3s cubic-bezier(.075,.82,.165,1)}.dps-link>span.none,a:not(.dps-button)>span.none{background:none;box-shadow:none;transition:none}.dps-link:hover,a:not(.dps-button):hover{color:#024f69}.dps-link:hover>span,a:not(.dps-button):hover>span{background-size:0 0;border-bottom:1px solid #024f69;box-shadow:none}.dps-link:hover>span.none,a:not(.dps-button):hover>span.none{background:none;box-shadow:none;color:none;transition:none}.dps-link:active,a:not(.dps-button):active{color:#032d42}.dps-link:active>span,a:not(.dps-button):active>span{background-size:0 0;border-bottom:1px solid #032d42;box-shadow:none}.dps-link.has-action now-icon,a:not(.dps-button).has-action now-icon{transition:transform .3s cubic-bezier(.075,.82,.165,1)}.dps-link.has-action:hover now-icon,a:not(.dps-button).has-action:hover now-icon{transform:translateX(.125rem)}.dps-link.has-action:hover.-external-action now-icon,a:not(.dps-button).has-action:hover.-external-action now-icon{transform:translateX(1px) translateY(-1px)}.dps-link.is-disabled,a:not(.dps-button).is-disabled{color:#c3c3c3;cursor:not-allowed;opacity:.5}.dps-link.is-disabled:hover>span,.dps-link.is-disabled>span,a:not(.dps-button).is-disabled:hover>span,a:not(.dps-button).is-disabled>span{border-bottom:1px solid #c3c3c3;box-shadow:inset 0 -1px 0 0 #c3c3c3;color:#c3c3c3}.dps-link.is-disabled:hover>span,a:not(.dps-button).is-disabled:hover>span{background-size:0 0}.dps-link.is-warning,a:not(.dps-button).is-warning{color:#652e2c}.dps-link.is-warning>span,a:not(.dps-button).is-warning>span{box-shadow:inset 0 -1px 0 0 #fc726d}.dps-link.is-warning:active>span,.dps-link.is-warning:hover>span,a:not(.dps-button).is-warning:active>span,a:not(.dps-button).is-warning:hover>span{background:linear-gradient(#fdaaa7,#fdaaa7) bottom repeat-x;box-shadow:none}.dps-link.is-warning-light,a:not(.dps-button).is-warning-light{color:#663a1f}.dps-link.is-warning-light>span,a:not(.dps-button).is-warning-light>span{box-shadow:inset 0 -1px 0 0 #ffa871}.dps-link.is-warning-light:active>span,.dps-link.is-warning-light:hover>span,a:not(.dps-button).is-warning-light:active>span,a:not(.dps-button).is-warning-light:hover>span{background:linear-gradient(#ffbe95,#ffbe95) bottom repeat-x;box-shadow:none}.dps-link.-inline,a:not(.dps-button).-inline{display:inline}.dps-link span+now-icon,a:not(.dps-button) span+now-icon{margin-left:.125rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/highlight.js/styles/agate.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}code.hljs{padding:1rem}aside,b,dd,div,dl,dt,em,i,li,ol,p,strong,ul{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.5;line-height:1.5rem}aside,dd,div,dl,dt,li,ol,p,ul{font-weight:400}a em{color:#00718f}strong,strong em{font-family:ServiceNowSans-Medium;font-weight:500}h1{font-family:ServiceNowSans-Medium;font-size:2.375rem;line-height:1.1;line-height:1.3125rem;margin:2rem 0}h1,h2{color:#1d1d1d;font-size:1.75rem;font-weight:400;font-weight:500}h2{font-family:ServiceNowSans-Regular;font-family:ServiceNowSans-Medium;font-size:1.5rem;line-height:1.1;line-height:2.25rem;margin-bottom:.75rem 0}h3{font-family:ServiceNowSans-Medium;font-size:1.3125rem;line-height:1.5}h3,h4{font-weight:400;margin-bottom:.5rem 0}h4{font-family:ServiceNowSans-Regular;font-size:1rem;line-height:1.75}h5{font-size:.875rem;line-height:2}h5,h6{font-family:ServiceNowSans-Medium;font-weight:400;margin-bottom:.5rem 0}h6{font-size:.75rem;letter-spacing:.1em;line-height:1;text-transform:uppercase}p{color:#1d1d1d;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal}blockquote,code,img,ol,p,pre,ul{margin:.75rem 0}img{max-width:100%}pre{margin-bottom:1.5rem;margin-top:.75rem}div+h1,div+h2,div+h3,div+h4,div+h5,div+h6,img+h1,img+h2,img+h3,img+h4,img+h5,img+h6,p+h1,p+h2,p+h3,p+h4,p+h5,p+h6,ul+h1,ul+h2,ul+h3,ul+h4,ul+h5,ul+h6{margin-top:2rem}b,strong{font-weight:500}b,code,strong{letter-spacing:.02em}code{background-color:#e8e8e9;border:1px solid #d0d2d3;border-radius:.25rem;font-family:ServiceNowSans-Light;font-size:.875rem;line-height:1.5}code b,code strong{font-weight:500}pre code{background-color:transparent;border:none;border-radius:0}.sm,small{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}.sm code,small code{font-size:80%}.lg,.xl{font-family:ServiceNowSans-Regular;font-size:1.3125rem;font-weight:400;line-height:1.5}.lg code,.xl code{font-size:80%}.xl{font-size:1.5rem;line-height:1.5}.dps-caption,.dps-label{font-size:.8125rem;letter-spacing:.02em;line-height:1.5}a:not(.dps-link):not(.dps-button):not(.dps-card-click){border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:normal;margin:-.125rem;padding:0 .125rem;position:relative;text-decoration:none;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1);white-space:normal}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus:not(:focus-visible){box-shadow:none;outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}a:not(.dps-link):not(.dps-button):not(.dps-card-click):hover{color:#024f69;text-decoration:underline;-webkit-text-decoration-color:#024f69;text-decoration-color:#024f69}a:not(.dps-link):not(.dps-button):not(.dps-card-click):active{color:#032d42;text-decoration:underline;-webkit-text-decoration-color:#032d42;text-decoration-color:#032d42}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}.do-dont-images{column-gap:1rem;display:grid;grid-auto-flow:column;grid-template-rows:1fr auto}@media screen and (max-width:767.98px){.do-dont-images{display:block}}.do-dont-images figcaption,.do-dont-images figure{margin:0;padding:0}.do-dont-images img{margin:0;max-width:100%;padding:0}.do-dont-images figure{background-color:#f7f7f7;border-top:5px solid;margin-top:2rem;padding:1rem;position:relative}.do-dont-images figcaption{color:#293e40;font-family:ServiceNowSans-Light;font-size:.8125rem;font-style:italic;line-height:1.5;margin-bottom:0;margin-left:0;margin-right:0;margin-top:.5rem;max-width:100%;text-align:left}.do-dont-images .img-do h5,.do-dont-images .img-dont h5{font-family:ServiceNowSans-Medium;font-size:1rem;font-weight:500;left:0;line-height:1.75;margin:0;padding:0;position:absolute;top:-2rem}.do-dont-images .img-dont{border-color:#fc726d}.do-dont-images .img-dont h5{color:#fc726d}.do-dont-images .img-do{border-color:#5cc4af}.do-dont-images .img-do h5{color:#5cc4af}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/normalize.css/normalize.css\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../../fonts/ServiceNowSans-Thin.woff2\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"../../fonts/servicenowsans-thin.woff\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_2___ = new URL(\"../../fonts/ServiceNowSans-ThinItalic.woff2\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_3___ = new URL(\"../../fonts/ServiceNowSans-ThinItalic.woff\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_4___ = new URL(\"../../fonts/ServiceNowSans-Light.woff2\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_5___ = new URL(\"../../fonts/ServiceNowSans-Light.woff\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_6___ = new URL(\"../../fonts/ServiceNowSans-LightItalic.woff2\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_7___ = new URL(\"../../fonts/ServiceNowSans-LightItalic.woff\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_8___ = new URL(\"../../fonts/ServiceNowSans-Book.woff2\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_9___ = new URL(\"../../fonts/ServiceNowSans-Book.woff\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_10___ = new URL(\"../../fonts/ServiceNowSans-BookItalic.woff2\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_11___ = new URL(\"../../fonts/ServiceNowSans-BookItalic.woff\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_12___ = new URL(\"../../fonts/ServiceNowSans-Regular.woff2\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_13___ = new URL(\"../../fonts/ServiceNowSans-Regular.woff\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_14___ = new URL(\"../../fonts/ServiceNowSans-RegularItalic.woff2\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_15___ = new URL(\"../../fonts/ServiceNowSans-RegularItalic.woff\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_16___ = new URL(\"../../fonts/ServiceNowSans-Medium.woff2\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_17___ = new URL(\"../../fonts/ServiceNowSans-Medium.woff\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_18___ = new URL(\"../../fonts/ServiceNowSans-MediumItalic.woff2\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_19___ = new URL(\"../../fonts/ServiceNowSans-MediumItalic.woff\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_20___ = new URL(\"../../fonts/ServiceNowSans-Bold.woff2\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_21___ = new URL(\"../../fonts/ServiceNowSans-Bold.woff\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_22___ = new URL(\"../../fonts/ServiceNowSans-BoldItalic.woff2\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_23___ = new URL(\"../../fonts/ServiceNowSans-BoldItalic.woff\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_24___ = new URL(\"../../fonts/ServiceNowSans-DisplayMedium.woff2\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_25___ = new URL(\"../../fonts/ServiceNowSans-DisplayMedium.woff\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_26___ = new URL(\"../../fonts/ServiceNowSans-DisplayBold.woff2\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_27___ = new URL(\"../../fonts/ServiceNowSans-DisplayBold.woff\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_28___ = new URL(\"../../fonts/ServiceNowSansMono-Regular.woff2\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_29___ = new URL(\"../../fonts/ServiceNowSansMono-Regular.woff\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.push([module.id, \"@import url(https://fonts.googleapis.com/css?family=Roboto+Mono:400,700|Source+Sans+Pro:400,400i,600,600i,700,700|Lato:400,700i&subset=latin,latin-ext);\"]);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\nvar ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___);\nvar ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___);\nvar ___CSS_LOADER_URL_REPLACEMENT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___);\nvar ___CSS_LOADER_URL_REPLACEMENT_7___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___);\nvar ___CSS_LOADER_URL_REPLACEMENT_8___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___);\nvar ___CSS_LOADER_URL_REPLACEMENT_9___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_9___);\nvar ___CSS_LOADER_URL_REPLACEMENT_10___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___);\nvar ___CSS_LOADER_URL_REPLACEMENT_11___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___);\nvar ___CSS_LOADER_URL_REPLACEMENT_12___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___);\nvar ___CSS_LOADER_URL_REPLACEMENT_13___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_13___);\nvar ___CSS_LOADER_URL_REPLACEMENT_14___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_14___);\nvar ___CSS_LOADER_URL_REPLACEMENT_15___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___);\nvar ___CSS_LOADER_URL_REPLACEMENT_16___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_16___);\nvar ___CSS_LOADER_URL_REPLACEMENT_17___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_17___);\nvar ___CSS_LOADER_URL_REPLACEMENT_18___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_18___);\nvar ___CSS_LOADER_URL_REPLACEMENT_19___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_19___);\nvar ___CSS_LOADER_URL_REPLACEMENT_20___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_20___);\nvar ___CSS_LOADER_URL_REPLACEMENT_21___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_21___);\nvar ___CSS_LOADER_URL_REPLACEMENT_22___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_22___);\nvar ___CSS_LOADER_URL_REPLACEMENT_23___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_23___);\nvar ___CSS_LOADER_URL_REPLACEMENT_24___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_24___);\nvar ___CSS_LOADER_URL_REPLACEMENT_25___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_25___);\nvar ___CSS_LOADER_URL_REPLACEMENT_26___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_26___);\nvar ___CSS_LOADER_URL_REPLACEMENT_27___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_27___);\nvar ___CSS_LOADER_URL_REPLACEMENT_28___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_28___);\nvar ___CSS_LOADER_URL_REPLACEMENT_29___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_29___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@font-face{font-family:ServiceNowSans-Thin;font-style:normal;font-weight:400;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"woff\\\")}@font-face{font-family:ServiceNowSans-ThinItalic;font-style:normal;font-weight:400;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format(\\\"woff\\\")}@font-face{font-family:ServiceNowSans-Light;font-style:normal;font-weight:400;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_5___ + \") format(\\\"woff\\\")}@font-face{font-family:ServiceNowSans-LightItalic;font-style:normal;font-weight:400;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_6___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_7___ + \") format(\\\"woff\\\")}@font-face{font-family:ServiceNowSans-Book;font-style:normal;font-weight:400;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_8___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \") format(\\\"woff\\\")}@font-face{font-family:ServiceNowSans-BookItalic;font-style:normal;font-weight:400;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_11___ + \") format(\\\"woff\\\")}@font-face{font-family:ServiceNowSans-Regular;font-style:normal;font-weight:400;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_12___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \") format(\\\"woff\\\")}@font-face{font-family:ServiceNowSans-RegularItalic;font-style:normal;font-weight:400;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \") format(\\\"woff\\\")}@font-face{font-family:ServiceNowSans-Medium;font-style:normal;font-weight:400;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_16___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_17___ + \") format(\\\"woff\\\")}@font-face{font-family:ServiceNowSans-MediumItalic;font-style:normal;font-weight:400;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_18___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_19___ + \") format(\\\"woff\\\")}@font-face{font-family:ServiceNowSans-Bold;font-style:normal;font-weight:400;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_20___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_21___ + \") format(\\\"woff\\\")}@font-face{font-family:ServiceNowSans-BoldItalic;font-style:normal;font-weight:400;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_22___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_23___ + \") format(\\\"woff\\\")}@font-face{font-family:ServiceNowSans-DisplayMedium;font-style:normal;font-weight:400;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \") format(\\\"woff\\\")}@font-face{font-family:ServiceNowSans-DisplayBold;font-style:normal;font-weight:400;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_26___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_27___ + \") format(\\\"woff\\\")}@font-face{font-family:ServiceNowSansMono-Regular;font-style:normal;font-weight:400;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_28___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_29___ + \") format(\\\"woff\\\")}:root{--now-debug--theme-source:\\\"theme_package\\\";--now-debug--theme-name:\\\"@servicenow/theme-polaris\\\";--now-debug--theme-version:\\\"26.10.0\\\";--now-actionable--border-radius:4px;--now-actionable--border-width:1px;--now-actionable--font-family:var(--now-font-family);--now-actionable--font-style:normal;--now-actionable--font-weight:bold;--now-actionable--text-transform:none;--now-actionable--opacity--disabled:var(--now-opacity--less);--now-container--border-color:var(--now-color_border--tertiary);--now-container--border-radius:4px;--now-container--border-width:1px;--now-container--color:var(--now-color_background--primary);--now-container--font-family:var(--now-font-family);--now-container--font-style:normal;--now-container--font-weight:normal;--now-container--text-transform:none;--now-display-type_label--color:var(--now-color_text--tertiary);--now-display-type_label--font-family:var(--now-display-type--font-family);--now-display-type_label--font-style:var(--now-display-type--font-style);--now-display-type_label--font-weight:var(--now-display-type--font-weight);--now-display-type_label--text-transform:var(--now-display-type--text-transform);--now-display-type--line-height-crop--before:-0.2825em;--now-display-type--line-height-crop--after:-0.2675em;--now-display-type_value--color:var(--now-display-type--color);--now-display-type_value--font-family:var(--now-display-type--font-family);--now-display-type_value--font-style:var(--now-display-type--font-style);--now-display-type_value--font-weight:var(--now-display-type--font-weight);--now-display-type_value--text-transform:var(--now-display-type--text-transform);--now-display-type--color:var(--now-color_text--primary);--now-display-type--font-family:var(--now-font-family);--now-display-type--font-style:normal;--now-display-type--font-weight:normal;--now-display-type--header-primary--font-family:Cabin,Arial,sans-serif;--now-display-type--header-primary--font-style:var(--now-display-type--font-style);--now-display-type--header-primary--font-weight:bold;--now-display-type--header-primary--text-transform:var(--now-display-type--text-transform);--now-display-type--header-secondary--font-family:Cabin,Arial,sans-serif;--now-display-type--header-secondary--font-style:var(--now-display-type--font-style);--now-display-type--header-secondary--font-weight:bold;--now-display-type--header-secondary--text-transform:var(--now-display-type--text-transform);--now-display-type--header-tertiary--font-family:Cabin,Arial,sans-serif;--now-display-type--header-tertiary--font-style:var(--now-display-type--font-style);--now-display-type--header-tertiary--font-weight:bold;--now-display-type--header-tertiary--text-transform:var(--now-display-type--text-transform);--now-display-type--primary--color:var(--now-display-type--color);--now-display-type--primary--font-family:var(--now-display-type--font-family);--now-display-type--primary--font-style:var(--now-display-type--font-style);--now-display-type--primary--font-weight:600;--now-display-type--primary--text-transform:var(--now-display-type--text-transform);--now-display-type--secondary--color:var(--now-color_text--secondary);--now-display-type--secondary--font-family:var(--now-display-type--font-family);--now-display-type--secondary--font-style:var(--now-display-type--font-style);--now-display-type--secondary--font-weight:var(--now-display-type--font-weight);--now-display-type--secondary--text-transform:var(--now-display-type--text-transform);--now-display-type--tertiary--color:var(--now-color_text--tertiary);--now-display-type--tertiary--font-family:var(--now-display-type--font-family);--now-display-type--tertiary--font-style:var(--now-display-type--font-style);--now-display-type--tertiary--font-weight:var(--now-display-type--font-weight);--now-display-type--tertiary--text-transform:var(--now-display-type--text-transform);--now-display-type--text-transform:none;--now-display-type--title-primary--font-family:var(--now-display-type--font-family);--now-display-type--title-primary--font-style:var(--now-display-type--font-style);--now-display-type--title-primary--font-weight:600;--now-display-type--title-primary--text-transform:var(--now-display-type--text-transform);--now-display-type--title-secondary--font-family:var(--now-display-type--font-family);--now-display-type--title-secondary--font-style:var(--now-display-type--font-style);--now-display-type--title-secondary--font-weight:600;--now-display-type--title-secondary--text-transform:var(--now-display-type--text-transform);--now-display-type--title-tertiary--font-family:var(--now-display-type--font-family);--now-display-type--title-tertiary--font-style:var(--now-display-type--font-style);--now-display-type--title-tertiary--font-weight:600;--now-display-type--title-tertiary--text-transform:var(--now-display-type--text-transform);--now-form-control_handle--border-radius:12px;--now-form-control_handle--border-width:1px;--now-form-control_track--border-radius:12px;--now-form-control_track--border-width:1px;--now-form-control--border-radius:2px;--now-form-control--border-width:1px;--now-form-control--font-family:var(--now-font-family);--now-form-control--font-style:normal;--now-form-control--font-weight:normal;--now-form-control--text-transform:none;--now-identifier--border-radius:0;--now-identifier--border-width:1px;--now-identifier--font-family:var(--now-font-family);--now-identifier--font-style:normal;--now-identifier--font-weight:normal;--now-identifier--text-transform:none;--now-indicator--border-radius:2px;--now-indicator--border-width:0;--now-indicator--font-family:var(--now-font-family);--now-indicator--font-style:normal;--now-indicator--font-weight:normal;--now-indicator--text-transform:none;--now-loading--border-radius:0;--now-loading--border-width:1px;--now-loading--font-family:var(--now-font-family);--now-loading--font-style:normal;--now-loading--font-weight:normal;--now-loading--initial--background-color:var(--now-color--primary-1);--now-loading--initial--border-color:var(--now-color--primary-2);--now-loading--text-transform:none;--now-menu_divider--color:var(--now-color_divider--tertiary);--now-menu_divider--width:1px;--now-menu_heading--font-family:var(--now-menu--font-family);--now-menu_heading--font-style:var(--now-menu--font-style);--now-menu_heading--font-weight:var(--now-menu--font-weight);--now-menu_heading--text-transform:var(--now-menu--text-transform);--now-menu_search--font-family:var(--now-menu--font-family);--now-menu_search--font-style:var(--now-menu--font-style);--now-menu_search--font-weight:var(--now-menu--font-weight);--now-menu_search--text-transform:var(--now-menu--text-transform);--now-menu_sublabel--font-family:var(--now-menu--font-family);--now-menu_sublabel--font-style:var(--now-menu--font-style);--now-menu_sublabel--font-weight:var(--now-menu--font-weight);--now-menu_sublabel--text-transform:var(--now-menu--text-transform);--now-menu--background-color:var(--now-color_background--primary);--now-menu--border-color:var(--now-color_border--primary);--now-menu--border-radius:4px;--now-menu--border-width:1px;--now-menu--font-family:var(--now-font-family);--now-menu--font-style:normal;--now-menu--font-weight:normal;--now-menu--text-transform:none;--now-messaging--background-color:var(--now-color_background--primary);--now-messaging--border-color:var(--now-color_border--secondary);--now-messaging--border-radius:4px;--now-messaging--border-width:1px;--now-messaging--font-family:var(--now-font-family);--now-messaging--font-style:normal;--now-messaging--font-weight:normal;--now-messaging--text-transform:none;--now-navigation--font-family:var(--now-font-family);--now-navigation--font-style:normal;--now-navigation--font-weight:normal;--now-navigation--text-transform:none;--now-view-control--border-radius:0;--now-view-control--border-width:0;--now-view-control--font-family:var(--now-font-family);--now-view-control--font-style:normal;--now-view-control--font-weight:normal;--now-view-control--text-transform:none;--now-window--background-color:var(--now-color_background--primary);--now-window--border-color:var(--now-color_border--tertiary);--now-window--border-radius:8px;--now-window--border-width:1px;--now-window--font-family:var(--now-font-family);--now-window--font-style:normal;--now-window--font-weight:normal;--now-window--text-transform:none;--now-accordion_caption--primary--color:var(--now-color_text--primary);--now-accordion_caption--secondary--color:var(--now-color_text--tertiary);--now-accordion_divider--color:var(--now-color_divider--secondary);--now-accordion_divider--width:1px;--now-accordion_heading--header--font-style:var(--now-display-type--header-primary--font-style);--now-accordion_heading--header--font-weight:var(--now-display-type--header-primary--font-weight);--now-accordion_heading--header--font-family:var(--now-display-type--header-primary--font-family);--now-accordion_heading--header--text-transform:var(--now-display-type--header-primary--text-transform);--now-accordion_heading--primary--color:var(--now-color_text--primary);--now-accordion_heading--secondary--color:var(--now-color_text--tertiary);--now-accordion_heading--title--font-style:var(--now-display-type--title-primary--font-style);--now-accordion_heading--title--font-weight:var(--now-display-type--title-primary--font-weight);--now-accordion_heading--title--font-family:var(--now-display-type--title-primary--font-family);--now-accordion_heading--title--text-transform:var(--now-display-type--title-primary--text-transform);--now-accordion_icon--color:var(--now-color_text--tertiary);--now-accordion--color:var(--now-color--secondary-1);--now-accordion--font-family:var(--now-view-control--font-family);--now-accordion--font-style:var(--now-view-control--font-style);--now-accordion--font-weight:var(--now-view-control--font-weight);--now-accordion--opacity--disabled:var(--now-opacity--less);--now-accordion--text-transform:var(--now-view-control--text-transform);--now-alert-list_controller--background-color:var(--now-color_alert--low-0);--now-alert-list_controller--border-color:var(--now-color_alert--low-1);--now-alert-list_controller--border-radius:var(--now-alert--border-radius);--now-alert-list_controller--border-width:var(--now-alert--border-width);--now-alert-list_controller--font-family:var(--now-alert--font-family);--now-alert-list_controller--font-style:var(--now-alert--font-style);--now-alert-list_controller--font-weight:bold;--now-alert-list_controller--text-transform:var(--now-alert--text-transform);--now-alert-list_controller-dismiss--background-color:var(--now-alert_button--background-color);--now-alert-list_controller-dismiss--background-color--active:var(--now-alert_button--background-color--active);--now-alert-list_controller-dismiss--background-color--hover:var(--now-alert_button--background-color--hover);--now-alert-list_controller-dismiss--background-color-alpha:var(--now-alert_button--background-color-alpha);--now-alert-list_controller-dismiss--background-color-alpha--active:var(--now-alert_button--background-color-alpha--active);--now-alert-list_controller-dismiss--background-color-alpha--hover:var(--now-alert_button--background-color-alpha--hover);--now-alert-list_controller-dismiss--border-color:var(--now-alert_button--border-color);--now-alert-list_controller-dismiss--border-color--active:var(--now-alert-list_controller-dismiss--border-color);--now-alert-list_controller-dismiss--border-color--hover:var(--now-alert-list_controller-dismiss--border-color);--now-alert-list_controller-dismiss--border-color-alpha:var(--now-alert_button--border-color-alpha);--now-alert-list_controller-dismiss--color:var(--now-alert--color);--now-alert-list_controller-dismiss--color--active:var(--now-alert-list_controller-dismiss--color);--now-alert-list_controller-dismiss--color--hover:var(--now-alert-list_controller-dismiss--color);--now-alert-list_controller-toggle--background-color:var(--now-alert_button--background-color);--now-alert-list_controller-toggle--background-color--active:var(--now-alert-list_controller-toggle--background-color);--now-alert-list_controller-toggle--background-color--hover:var(--now-alert-list_controller-toggle--background-color);--now-alert-list_controller-toggle--background-color-alpha:0;--now-alert-list_controller-toggle--background-color-alpha--active:0.65;--now-alert-list_controller-toggle--background-color-alpha--hover:0.25;--now-alert-list_controller-toggle--border-color:var(--now-alert-list_controller--border-color);--now-alert-list_controller-toggle--border-color--active:var(--now-alert-list_controller-toggle--border-color);--now-alert-list_controller-toggle--border-color--hover:var(--now-alert-list_controller-toggle--border-color);--now-alert-list_controller-toggle--border-radius:0px;--now-alert-list_controller-toggle--border-width:0px;--now-alert-list_controller-toggle--color:var(--now-alert--color);--now-alert-list_controller-toggle--color--active:var(--now-alert-list_controller-toggle--color);--now-alert-list_controller-toggle--color--hover:var(--now-alert-list_controller-toggle--color);--now-alert_button--background-color:var(--now-color_background--primary);--now-alert_button--background-color--active:var(--now-alert_button--background-color);--now-alert_button--background-color--hover:var(--now-alert_button--background-color);--now-alert_button--background-color-alpha:0;--now-alert_button--background-color-alpha--active:0.65;--now-alert_button--background-color-alpha--hover:var(--now-opacity--less);--now-alert_button--border-color:var(--now-button--tertiary--color);--now-alert_button--border-color--active:var(--now-alert_button--border-color);--now-alert_button--border-color--hover:var(--now-alert_button--border-color);--now-alert_button--border-color-alpha:1;--now-alert_button--color:var(--now-alert--color);--now-alert_button--color--active:var(--now-alert_button--color);--now-alert_button--color--hover:var(--now-alert_button--color);--now-alert_button-iconic--background-color-alpha--active:0;--now-alert_button-iconic--background-color-alpha--hover:0;--now-alert--border-radius:var(--now-messaging--border-radius);--now-alert--border-width:var(--now-messaging--border-width);--now-alert--color:var(--now-color_text--primary);--now-alert--critical--background-color:var(--now-color_alert--critical-0);--now-alert--critical--border-color:var(--now-color_alert--critical-1);--now-alert--critical--color:var(--now-color_alert--critical-3);--now-alert--critical--color--active:var(--now-color_alert--critical-5);--now-alert--critical--color--hover:var(--now-color_alert--critical-4);--now-alert--font-family:var(--now-messaging--font-family);--now-alert--font-style:var(--now-messaging--font-style);--now-alert--font-weight:var(--now-messaging--font-weight);--now-alert--high--background-color:var(--now-color_alert--high-0);--now-alert--high--border-color:var(--now-color_alert--high-1);--now-alert--high--color:var(--now-color_alert--high-3);--now-alert--high--color--active:var(--now-color_alert--high-5);--now-alert--high--color--hover:var(--now-color_alert--high-4);--now-alert--info--background-color:var(--now-color_alert--info-0);--now-alert--info--border-color:var(--now-color_alert--info-1);--now-alert--info--color:var(--now-color_alert--info-3);--now-alert--info--color--active:var(--now-color_alert--info-5);--now-alert--info--color--hover:var(--now-color_alert--info-4);--now-alert--low--background-color:var(--now-color_alert--low-0);--now-alert--low--border-color:var(--now-color_alert--low-1);--now-alert--low--color:var(--now-color_alert--low-3);--now-alert--low--color--active:var(--now-color_alert--low-5);--now-alert--low--color--hover:var(--now-color_alert--low-4);--now-alert--moderate--background-color:var(--now-color_alert--moderate-0);--now-alert--moderate--border-color:var(--now-color_alert--moderate-1);--now-alert--moderate--color:var(--now-color_alert--moderate-3);--now-alert--moderate--color--active:var(--now-color_alert--moderate-5);--now-alert--moderate--color--hover:var(--now-color_alert--moderate-4);--now-alert--positive--background-color:var(--now-color_alert--positive-0);--now-alert--positive--border-color:var(--now-color_alert--positive-1);--now-alert--positive--color:var(--now-color_alert--positive-3);--now-alert--positive--color--active:var(--now-color_alert--positive-5);--now-alert--positive--color--hover:var(--now-color_alert--positive-4);--now-alert--text-transform:var(--now-messaging--text-transform);--now-alert--warning--background-color:var(--now-color_alert--warning-0);--now-alert--warning--border-color:var(--now-color_alert--warning-1);--now-alert--warning--color:var(--now-color_alert--warning-4);--now-alert--warning--color--active:var(--now-color_text--primary);--now-alert--warning--color--hover:var(--now-color_alert--warning-5);--now-avatar--background-color:var(--now-color_background--secondary);--now-avatar--border-color:var(--now-color_border--tertiary);--now-avatar--border-radius:50%;--now-avatar--border-width:var(--now-identifier--border-width);--now-avatar--color:var(--now-color_text--tertiary);--now-avatar--font-family:var(--now-identifier--font-family);--now-avatar--font-style:var(--now-identifier--font-style);--now-avatar--font-weight:var(--now-identifier--font-weight);--now-avatar--text-transform:uppercase;--now-badge--border-radius:var(--now-indicator--border-radius);--now-badge--border-width:var(--now-indicator--border-width);--now-badge--font-family:var(--now-indicator--font-family);--now-badge--font-style:var(--now-indicator--font-style);--now-badge--font-weight:var(--now-indicator--font-weight);--now-badge--scale-size-block:1;--now-badge--text-transform:var(--now-indicator--text-transform);--now-badge--scale-size-inline:1;--now-badge--primary--color:var(--now-color_text--primary);--now-badge--primary_critical--background-color:var(--now-color_alert--critical-2);--now-badge--primary_critical--border-color:var(--now-color_alert--critical-3);--now-badge--primary_critical--color:var(--now-color--neutral-0);--now-badge--primary_high--background-color:var(--now-color_alert--high-2);--now-badge--primary_high--border-color:var(--now-color_alert--high-3);--now-badge--primary_high--color:var(--now-badge--primary--color);--now-badge--primary_info--background-color:var(--now-color_alert--info-2);--now-badge--primary_info--border-color:var(--now-color_alert--info-3);--now-badge--primary_info--color:var(--now-color--neutral-0);--now-badge--primary_low--background-color:var(--now-color_alert--low-2);--now-badge--primary_low--border-color:var(--now-color_alert--low-3);--now-badge--primary_low--color:var(--now-color--neutral-0);--now-badge--primary_moderate--background-color:var(--now-color_alert--moderate-2);--now-badge--primary_moderate--border-color:var(--now-color_alert--moderate-3);--now-badge--primary_moderate--color:var(--now-color--neutral-0);--now-badge--primary_positive--background-color:var(--now-color_alert--positive-2);--now-badge--primary_positive--border-color:var(--now-color_alert--positive-3);--now-badge--primary_positive--color:var(--now-color--neutral-0);--now-badge--primary_warning--background-color:var(--now-color_alert--warning-2);--now-badge--primary_warning--border-color:var(--now-color_alert--warning-3);--now-badge--primary_warning--color:var(--now-badge--primary--color);--now-badge--primary_yellow--color:var(--now-badge--primary--color);--now-badge--primary_yellow--background-color:var(--now-color_grouped--yellow-2);--now-badge--primary_yellow--border-color:var(--now-color_grouped--yellow-3);--now-badge--primary_orange--color:var(--now-badge--primary--color);--now-badge--primary_orange--background-color:var(--now-color_grouped--orange-2);--now-badge--primary_orange--border-color:var(--now-color_grouped--orange-3);--now-badge--primary_magenta--color:var(--now-badge--primary--color);--now-badge--primary_magenta--background-color:var(--now-color_grouped--magenta-2);--now-badge--primary_magenta--border-color:var(--now-color_grouped--magenta-3);--now-badge--primary_purple--color:var(--now-badge--primary--color);--now-badge--primary_purple--background-color:var(--now-color_grouped--purple-2);--now-badge--primary_purple--border-color:var(--now-color_grouped--purple-3);--now-badge--primary_blue--color:var(--now-badge--primary--color);--now-badge--primary_blue--background-color:var(--now-color_grouped--blue-2);--now-badge--primary_blue--border-color:var(--now-color_grouped--blue-3);--now-badge--primary_green-yellow--color:var(--now-badge--primary--color);--now-badge--primary_green-yellow--background-color:var(--now-color_grouped--green-yellow-2);--now-badge--primary_green-yellow--border-color:var(--now-color_grouped--green-yellow-3);--now-badge--primary_pink--color:var(--now-badge--primary--color);--now-badge--primary_pink--background-color:var(--now-color_grouped--pink-2);--now-badge--primary_pink--border-color:var(--now-color_grouped--pink-3);--now-badge--primary_brown--color:var(--now-badge--primary--color);--now-badge--primary_brown--background-color:var(--now-color_grouped--brown-2);--now-badge--primary_brown--border-color:var(--now-color_grouped--brown-3);--now-badge--primary_green--color:var(--now-badge--primary--color);--now-badge--primary_green--background-color:var(--now-color_grouped--green-2);--now-badge--primary_green--border-color:var(--now-color_grouped--green-3);--now-badge--primary_teal--color:var(--now-badge--primary--color);--now-badge--primary_teal--background-color:var(--now-color_grouped--teal-2);--now-badge--primary_teal--border-color:var(--now-color_grouped--teal-3);--now-badge--primary_gray--color:var(--now-badge--primary--color);--now-badge--primary_gray--background-color:var(--now-color_grouped--gray-2);--now-badge--primary_gray--border-color:var(--now-color_grouped--gray-3);--now-badge--secondary--color:var(--now-color_text--primary);--now-badge--secondary_critical--background-color:var(--now-color_alert--critical-1);--now-badge--secondary_critical--border-color:var(--now-color_alert--critical-2);--now-badge--secondary_critical--color:var(--now-badge--secondary--color);--now-badge--secondary_high--background-color:var(--now-color_alert--high-1);--now-badge--secondary_high--border-color:var(--now-color_alert--high-2);--now-badge--secondary_high--color:var(--now-badge--secondary--color);--now-badge--secondary_info--background-color:var(--now-color_alert--info-1);--now-badge--secondary_info--border-color:var(--now-color_alert--info-2);--now-badge--secondary_info--color:var(--now-badge--secondary--color);--now-badge--secondary_low--background-color:var(--now-color_alert--low-1);--now-badge--secondary_low--border-color:var(--now-color_alert--low-2);--now-badge--secondary_low--color:var(--now-badge--secondary--color);--now-badge--secondary_moderate--background-color:var(--now-color_alert--moderate-1);--now-badge--secondary_moderate--border-color:var(--now-color_alert--moderate-2);--now-badge--secondary_moderate--color:var(--now-badge--secondary--color);--now-badge--secondary_positive--background-color:var(--now-color_alert--positive-1);--now-badge--secondary_positive--border-color:var(--now-color_alert--positive-2);--now-badge--secondary_positive--color:var(--now-badge--secondary--color);--now-badge--secondary_warning--background-color:var(--now-color_alert--warning-1);--now-badge--secondary_warning--border-color:var(--now-color_alert--warning-2);--now-badge--secondary_warning--color:var(--now-badge--secondary--color);--now-badge--secondary_yellow--color:var(--now-color_grouped--yellow-5);--now-badge--secondary_yellow--background-color:var(--now-color_grouped--yellow-1);--now-badge--secondary_yellow--border-color:var(--now-color_grouped--yellow-2);--now-badge--secondary_orange--color:var(--now-color_grouped--orange-5);--now-badge--secondary_orange--background-color:var(--now-color_grouped--orange-1);--now-badge--secondary_orange--border-color:var(--now-color_grouped--orange-2);--now-badge--secondary_magenta--color:var(--now-color_grouped--magenta-5);--now-badge--secondary_magenta--background-color:var(--now-color_grouped--magenta-1);--now-badge--secondary_magenta--border-color:var(--now-color_grouped--magenta-2);--now-badge--secondary_purple--color:var(--now-color_grouped--purple-5);--now-badge--secondary_purple--background-color:var(--now-color_grouped--purple-1);--now-badge--secondary_purple--border-color:var(--now-color_grouped--purple-2);--now-badge--secondary_blue--color:var(--now-color_grouped--blue-5);--now-badge--secondary_blue--background-color:var(--now-color_grouped--blue-1);--now-badge--secondary_blue--border-color:var(--now-color_grouped--blue-2);--now-badge--secondary_green-yellow--color:var(--now-color_grouped--green-yellow-5);--now-badge--secondary_green-yellow--background-color:var(--now-color_grouped--green-yellow-1);--now-badge--secondary_green-yellow--border-color:var(--now-color_grouped--green-yellow-2);--now-badge--secondary_pink--color:var(--now-color_grouped--pink-5);--now-badge--secondary_pink--background-color:var(--now-color_grouped--pink-1);--now-badge--secondary_pink--border-color:var(--now-color_grouped--pink-2);--now-badge--secondary_brown--color:var(--now-color_grouped--brown-5);--now-badge--secondary_brown--background-color:var(--now-color_grouped--brown-1);--now-badge--secondary_brown--border-color:var(--now-color_grouped--brown-2);--now-badge--secondary_green--color:var(--now-color_grouped--green-5);--now-badge--secondary_green--background-color:var(--now-color_grouped--green-1);--now-badge--secondary_green--border-color:var(--now-color_grouped--green-2);--now-badge--secondary_teal--color:var(--now-color_grouped--teal-5);--now-badge--secondary_teal--background-color:var(--now-color_grouped--teal-1);--now-badge--secondary_teal--border-color:var(--now-color_grouped--teal-2);--now-badge--secondary_gray--color:var(--now-color_grouped--gray-5);--now-badge--secondary_gray--background-color:var(--now-color_grouped--gray-1);--now-badge--secondary_gray--border-color:var(--now-color_grouped--gray-2);--now-breadcrumbs_dropdown--background-color--active:var(--now-color--neutral-12);--now-breadcrumbs_dropdown--background-color--hover:var(--now-color--neutral-12);--now-breadcrumbs_dropdown--background-color-alpha--active:var(--now-opacity--less);--now-breadcrumbs_dropdown--background-color-alpha--hover:var(--now-opacity--least);--now-breadcrumbs_dropdown--color:var(--now-breadcrumbs--color);--now-breadcrumbs_dropdown--color--active:var(--now-breadcrumbs--color--hover);--now-breadcrumbs_dropdown--color--hover:var(--now-breadcrumbs--color--hover);--now-breadcrumbs--background-color:var(--now-color_background--primary);--now-breadcrumbs--background-color--current:var(--now-breadcrumbs--background-color);--now-breadcrumbs--background-color--hover:var(--now-breadcrumbs--background-color);--now-breadcrumbs--background-color-alpha:0;--now-breadcrumbs--background-color-alpha--current:var(--now-breadcrumbs--background-color-alpha);--now-breadcrumbs--background-color-alpha--hover:var(--now-breadcrumbs--background-color-alpha);--now-breadcrumbs--color:var(--now-color_text--tertiary);--now-breadcrumbs--color--current:var(--now-color_text--primary);--now-breadcrumbs--color--hover:var(--now-color_text--primary);--now-breadcrumbs--font-family:var(--now-actionable--font-family);--now-breadcrumbs--font-style:var(--now-actionable--font-style);--now-breadcrumbs--font-weight:var(--now-actionable--font-weight);--now-breadcrumbs--font-weight--current:700;--now-breadcrumbs--text-transform:var(--now-actionable--text-transform);--now-button--bare--border-radius:var(--now-button--border-radius);--now-button--bare--border-width:1px;--now-button--bare--font-family:var(--now-button--font-family);--now-button--bare--font-style:var(--now-button--font-style);--now-button--bare--font-weight:var(--now-button--font-weight);--now-button--bare--opacity--disabled:var(--now-button--opacity--disabled);--now-button--bare--text-transform:var(--now-button--text-transform);--now-button--bare--text-wrap:var(--now-button--text-wrap);--now-button--bare_primary--background-color--active:var(--now-color--primary-1);--now-button--bare_primary--background-color--hover:var(--now-color--primary-1);--now-button--bare_primary--background-color-alpha--active:0.25;--now-button--bare_primary--background-color-alpha--hover:0.1;--now-button--bare_primary--border-color--active:var(--now-color--primary-3);--now-button--bare_primary--border-color-alpha--active:0;--now-button--bare_primary--border-color--hover:var(--now-color--primary-3);--now-button--bare_primary--border-color-alpha--hover:0;--now-button--bare_primary--border-radius:var(--now-button--bare--border-radius);--now-button--bare_primary--border-width:var(--now-button--bare--border-width);--now-button--bare_primary--color:var(--now-color--primary-2);--now-button--bare_primary--color--active:var(--now-color_text--primary);--now-button--bare_primary--color--hover:var(--now-color--primary-3);--now-button--bare_primary--opacity--disabled:var(--now-button--bare--opacity--disabled);--now-button_icon--bare_primary--color:var(--now-button--bare_primary--color);--now-button_icon--bare_primary--color--hover:var(--now-button--bare_primary--color--hover);--now-button_icon--bare_primary--color--active:var(--now-button--bare_primary--color--active);--now-button--bare_primary_high-contrast--color:var(--now-color--primary-3);--now-button--bare_primary_high-contrast--color--active:var(--now-color_text--primary);--now-button--bare_primary_high-contrast--color--hover:var(--now-color_text--primary);--now-button_icon--bare_primary_high-contrast--color:var(--now-button--bare_primary_high-contrast--color);--now-button_icon--bare_primary_high-contrast--color--active:var(--now-button--bare_primary_high-contrast--color--active);--now-button_icon--bare_primary_high-contrast--color--hover:var(--now-button--bare_primary_high-contrast--color--hover);--now-button--bare_secondary--background-color--active:var(--now-color--secondary-1);--now-button--bare_secondary--background-color--hover:var(--now-color--secondary-1);--now-button--bare_secondary--background-color-alpha--active:0.25;--now-button--bare_secondary--background-color-alpha--hover:0.1;--now-button--bare_secondary--border-color--active:var(--now-color--secondary-2);--now-button--bare_secondary--border-color-alpha--active:0;--now-button--bare_secondary--border-color--hover:var(--now-color--secondary-2);--now-button--bare_secondary--border-color-alpha--hover:0;--now-button--bare_secondary--border-radius:var(--now-button--bare--border-radius);--now-button--bare_secondary--border-width:var(--now-button--bare--border-width);--now-button--bare_secondary--color:var(--now-color--secondary-1);--now-button--bare_secondary--color--active:var(--now-color--secondary-3);--now-button--bare_secondary--color--hover:var(--now-color--secondary-2);--now-button--bare_secondary_high-contrast--color:var(--now-color--secondary-2);--now-button--bare_secondary_high-contrast--color--active:var(--now-color_text--primary);--now-button--bare_secondary_high-contrast--color--hover:var(--now-color--secondary-3);--now-button_icon--bare_secondary_high-contrast--color:var(--now-button--bare_secondary_high-contrast--color);--now-button_icon--bare_secondary_high-contrast--color--active:var(--now-button--bare_secondary_high-contrast--color--active);--now-button_icon--bare_secondary_high-contrast--color--hover:var(--now-button--bare_secondary_high-contrast--color--hover);--now-button--bare_secondary--opacity--disabled:var(--now-button--bare--opacity--disabled);--now-button_icon--bare_secondary--color:var(--now-button--bare_secondary--color);--now-button_icon--bare_secondary--color--hover:var(--now-button--bare_secondary--color--hover);--now-button_icon--bare_secondary--color--active:var(--now-button--bare_secondary--color--active);--now-button--bare_tertiary--background-color--active:var(--now-color_background--secondary-actionable);--now-button--bare_tertiary--background-color--hover:var(--now-color_background--secondary-actionable);--now-button--bare_tertiary--background-color-alpha--active:0.25;--now-button--bare_tertiary--background-color-alpha--hover:0.1;--now-button--bare_tertiary--border-color--active:var(--now-color_border--tertiary-actionable);--now-button--bare_tertiary--border-color-alpha--active:0;--now-button--bare_tertiary--border-color--hover:var(--now-color_border--tertiary-actionable);--now-button--bare_tertiary--border-color-alpha--hover:0;--now-button--bare_tertiary--border-radius:var(--now-button--bare--border-radius);--now-button--bare_tertiary--border-width:var(--now-button--bare--border-width);--now-button--bare_tertiary--color:var(--now-button--tertiary--color);--now-button--bare_tertiary--color--active:var(--now-button--tertiary--color--active);--now-button--bare_tertiary--color--hover:var(--now-button--tertiary--color--hover);--now-button--bare_tertiary--opacity--disabled:var(--now-button--bare--opacity--disabled);--now-button_icon--bare_tertiary--color:var(--now-button--bare_tertiary--color);--now-button_icon--bare_tertiary--color--hover:var(--now-button--bare_tertiary--color--hover);--now-button_icon--bare_tertiary--color--active:var(--now-button--bare_tertiary--color--active);--now-button--bare_tertiary_high-contrast--color:var(--now-color_text--primary);--now-button--bare_tertiary_high-contrast--color--active:var(--now-button--bare_tertiary_high-contrast--color);--now-button--bare_tertiary_high-contrast--color--hover:var(--now-button--bare_tertiary_high-contrast--color);--now-button--bare_tertiary_high-contrast--color-alpha:1;--now-button--bare_tertiary_high-contrast--color-alpha--active:var(--now-button--bare_tertiary_high-contrast--color-alpha);--now-button--bare_tertiary_high-contrast--color-alpha--hover:var(--now-button--bare_tertiary_high-contrast--color-alpha);--now-button_icon--bare_tertiary_high-contrast--color:var(--now-button--bare_tertiary_high-contrast--color);--now-button_icon--bare_tertiary_high-contrast--color--active:var(--now-button--bare_tertiary_high-contrast--color--active);--now-button_icon--bare_tertiary_high-contrast--color--hover:var(--now-button--bare_tertiary_high-contrast--color--hover);--now-button-circular--background-color:var(--now-button--primary--background-color);--now-button-circular--background-color--active:var(--now-button--primary--background-color--active);--now-button-circular--background-color--hover:var(--now-button--primary--background-color--hover);--now-button-circular--border-color:var(--now-button--primary--border-color);--now-button-circular--border-color--active:var(--now-button--primary--border-color--active);--now-button-circular--border-color--hover:var(--now-button--primary--border-color--hover);--now-button-circular--border-width:0;--now-button-circular--color:var(--now-button--primary--color);--now-button-circular--color--active:var(--now-button--primary--color--active);--now-button-circular--color--hover:var(--now-button--primary--color--hover);--now-button-circular--opacity--disabled:var(--now-button--opacity--disabled);--now-button-iconic--border-width:var(--now-button--border-width);--now-button-iconic--border-radius:var(--now-button--border-radius);--now-button-iconic--opacity--disabled:var(--now-button--opacity--disabled);--now-button-iconic--primary--border-width:var(--now-button--primary--border-width);--now-button-iconic--primary--border-color:var(--now-button--primary--border-color);--now-button-iconic--primary--border-color--hover:var(--now-button--primary--border-color--hover);--now-button-iconic--primary--border-color--active:var(--now-button--primary--border-color--active);--now-button-iconic--primary--border-radius:var(--now-button-iconic--border-radius);--now-button-iconic--primary--background-color:var(--now-button--primary--background-color);--now-button-iconic--primary--background-color--hover:var(--now-button--primary--background-color--hover);--now-button-iconic--primary--background-color--active:var(--now-button--primary--background-color--active);--now-button-iconic--primary--opacity--disabled:var(--now-button-iconic--opacity--disabled);--now-button-iconic--secondary--border-width:var(--now-button-iconic--border-width);--now-button-iconic--secondary--border-color:var(--now-button--secondary--border-color);--now-button-iconic--secondary--border-color--hover:var(--now-button--secondary--border-color--hover);--now-button-iconic--secondary--border-color--active:var(--now-button--secondary--border-color--active);--now-button-iconic--secondary--border-radius:var(--now-button-iconic--border-radius);--now-button-iconic--secondary--background-color:var(--now-button--secondary--background-color);--now-button-iconic--secondary--background-color-alpha:var(--now-button--secondary--background-color-alpha);--now-button-iconic--secondary--background-color--hover:var(--now-button--secondary--background-color--hover);--now-button-iconic--secondary--background-color-alpha--hover:var(--now-button--secondary--background-color-alpha--hover);--now-button-iconic--secondary--background-color--active:var(--now-button--secondary--background-color--active);--now-button-iconic--secondary--background-color-alpha--active:var(--now-button--secondary--background-color-alpha--active);--now-button-iconic--secondary--opacity--disabled:var(--now-button-iconic--opacity--disabled);--now-button-iconic--tertiary--border-width:var(--now-button-iconic--border-width);--now-button-iconic--tertiary--border-color:var(--now-button--tertiary--border-color);--now-button-iconic--tertiary--border-color-alpha:var(--now-button--tertiary--border-color-alpha);--now-button-iconic--tertiary--border-color--hover:var(--now-button--tertiary--border-color--hover);--now-button-iconic--tertiary--border-color-alpha--hover:var(--now-button--tertiary--border-color-alpha--hover);--now-button-iconic--tertiary--border-color--active:var(--now-button--tertiary--border-color--active);--now-button-iconic--tertiary--border-color-alpha--active:var(--now-button--tertiary--border-color-alpha--active);--now-button-iconic--tertiary--border-radius:var(--now-button-iconic--border-radius);--now-button-iconic--tertiary--background-color:var(--now-button--tertiary--background-color);--now-button-iconic--tertiary--background-color-alpha:var(--now-button--tertiary--background-color-alpha);--now-button-iconic--tertiary--background-color--hover:var(--now-button--tertiary--background-color--hover);--now-button-iconic--tertiary--background-color-alpha--hover:var(--now-button--tertiary--background-color-alpha--hover);--now-button-iconic--tertiary--background-color--active:var(--now-button--tertiary--background-color--active);--now-button-iconic--tertiary--background-color-alpha--active:var(--now-button--tertiary--background-color-alpha--active);--now-button-iconic--tertiary--opacity--disabled:var(--now-button-iconic--opacity--disabled);--now-button-iconic--bare--border-width:var(--now-button--bare--border-width);--now-button-iconic--bare--border-radius:var(--now-button--bare--border-radius);--now-button-iconic--bare--opacity--disabled:var(--now-button-iconic--opacity--disabled);--now-button-iconic--bare_primary--border-width:var(--now-button-iconic--bare--border-width);--now-button-iconic--bare_primary--border-color--hover:var(--now-button--bare_primary--border-color--hover);--now-button-iconic--bare_primary--border-color-alpha--hover:var(--now-button--bare_primary--border-color-alpha--hover);--now-button-iconic--bare_primary--border-color--active:var(--now-button--bare_primary--border-color--active);--now-button-iconic--bare_primary--border-color-alpha--active:var(--now-button--bare_primary--border-color-alpha--active);--now-button-iconic--bare_primary--border-radius:var(--now-button-iconic--bare--border-radius);--now-button-iconic--bare_primary--background-color--hover:var(--now-button--bare_primary--background-color--hover);--now-button-iconic--bare_primary--background-color-alpha--hover:var(--now-button--bare_primary--background-color-alpha--hover);--now-button-iconic--bare_primary--background-color--active:var(--now-button--bare_primary--background-color--active);--now-button-iconic--bare_primary--background-color-alpha--active:var(--now-button--bare_primary--background-color-alpha--active);--now-button-iconic--bare_primary--opacity--disabled:var(--now-button-iconic--bare--opacity--disabled);--now-button-iconic--bare_secondary--border-width:var(--now-button-iconic--bare--border-width);--now-button-iconic--bare_secondary--border-color--hover:var(--now-button--bare_secondary--border-color--hover);--now-button-iconic--bare_secondary--border-color-alpha--hover:var(--now-button--bare_secondary--border-color-alpha--hover);--now-button-iconic--bare_secondary--border-color--active:var(--now-button--bare_secondary--border-color--active);--now-button-iconic--bare_secondary--border-color-alpha--active:var(--now-button--bare_secondary--border-color-alpha--active);--now-button-iconic--bare_secondary--border-radius:var(--now-button-iconic--bare--border-radius);--now-button-iconic--bare_secondary--background-color--hover:var(--now-button--bare_secondary--background-color--hover);--now-button-iconic--bare_secondary--background-color-alpha--hover:var(--now-button--bare_secondary--background-color-alpha--hover);--now-button-iconic--bare_secondary--background-color--active:var(--now-button--bare_secondary--background-color--active);--now-button-iconic--bare_secondary--background-color-alpha--active:var(--now-button--bare_secondary--background-color-alpha--active);--now-button-iconic--bare_secondary--opacity--disabled:var(--now-button-iconic--bare--opacity--disabled);--now-button-iconic--bare_tertiary--border-width:var(--now-button-iconic--bare--border-width);--now-button-iconic--bare_tertiary--border-color--hover:var(--now-button--bare_tertiary--border-color--hover);--now-button-iconic--bare_tertiary--border-color-alpha--hover:var(--now-button--bare_tertiary--border-color-alpha--hover);--now-button-iconic--bare_tertiary--border-color--active:var(--now-button--bare_tertiary--border-color--active);--now-button-iconic--bare_tertiary--border-color-alpha--active:var(--now-button--bare_tertiary--border-color-alpha--active);--now-button-iconic--bare_tertiary--border-radius:var(--now-button-iconic--bare--border-radius);--now-button-iconic--bare_tertiary--background-color--hover:var(--now-button--bare_tertiary--background-color--hover);--now-button-iconic--bare_tertiary--background-color-alpha--hover:var(--now-button--bare_tertiary--background-color-alpha--hover);--now-button-iconic--bare_tertiary--background-color--active:var(--now-button--bare_tertiary--background-color--active);--now-button-iconic--bare_tertiary--background-color-alpha--active:var(--now-button--bare_tertiary--background-color-alpha--active);--now-button-iconic--bare_tertiary--opacity--disabled:var(--now-button-iconic--bare--opacity--disabled);--now-button-iconic--primary--color:var(--now-button_icon--primary--color);--now-button-iconic--primary--color--hover:var(--now-button_icon--primary--color--hover);--now-button-iconic--primary--color--active:var(--now-button_icon--primary--color--active);--now-button-iconic--secondary--color:var(--now-button_icon--secondary--color);--now-button-iconic--secondary--color--hover:var(--now-button_icon--secondary--color--hover);--now-button-iconic--secondary--color--active:var(--now-button_icon--secondary--color--active);--now-button-iconic--tertiary--color:var(--now-button_icon--tertiary--color);--now-button-iconic--tertiary--color--hover:var(--now-button_icon--tertiary--color--hover);--now-button-iconic--tertiary--color--active:var(--now-button_icon--tertiary--color--active);--now-button-iconic--bare_primary--color:var(--now-button--bare_primary--color);--now-button-iconic--bare_primary--color--hover:var(--now-button--bare_primary--color--hover);--now-button-iconic--bare_primary--color--active:var(--now-button--bare_primary--color--active);--now-button-iconic--bare_primary_high-contrast--color:var(--now-button--bare_primary_high-contrast--color);--now-button-iconic--bare_primary_high-contrast--color--hover:var(--now-button--bare_primary_high-contrast--color--hover);--now-button-iconic--bare_primary_high-contrast--color--active:var(--now-button--bare_primary_high-contrast--color--active);--now-button-iconic--bare_secondary--color:var(--now-button--bare_secondary--color);--now-button-iconic--bare_secondary--color--hover:var(--now-button--bare_secondary--color--hover);--now-button-iconic--bare_secondary--color--active:var(--now-button--bare_secondary--color--active);--now-button-iconic--bare_secondary_high-contrast--color:var(--now-button--bare_secondary_high-contrast--color);--now-button-iconic--bare_secondary_high-contrast--color--hover:var(--now-button--bare_secondary_high-contrast--color--hover);--now-button-iconic--bare_secondary_high-contrast--color--active:var(--now-button--bare_secondary_high-contrast--color--active);--now-button-iconic--bare_tertiary--color:var(--now-button--bare_tertiary--color);--now-button-iconic--bare_tertiary--color--hover:var(--now-button--bare_tertiary--color--hover);--now-button-iconic--bare_tertiary--color--active:var(--now-button--bare_tertiary--color--active);--now-button-iconic--bare_tertiary_high-contrast--color:var(--now-button--bare_tertiary_high-contrast--color);--now-button-iconic--bare_tertiary_high-contrast--color--hover:var(--now-button--bare_tertiary_high-contrast--color--hover);--now-button-iconic--bare_tertiary_high-contrast--color-alpha--hover:var(--now-button--bare_tertiary_high-contrast--color-alpha--hover);--now-button-iconic--bare_tertiary_high-contrast--color--active:var(--now-button--bare_tertiary_high-contrast--color--active);--now-button-iconic--bare_tertiary_high-contrast--color-alpha--active:var(--now-button--bare_tertiary_high-contrast--color-alpha--active);--now-button-stateful--border-width:var(--now-button-iconic--bare--border-width);--now-button-stateful--border-radius:var(--now-button-iconic--bare--border-radius);--now-button-stateful--opacity--disabled:var(--now-button-iconic--opacity--disabled);--now-button-stateful--primary--border-width:var(--now-button-stateful--border-width);--now-button-stateful--primary--border-radius:var(--now-button-stateful--border-radius);--now-button-stateful--primary--opacity--disabled:var(--now-button-stateful--opacity--disabled);--now-button-stateful--primary--border-color--hover:var(--now-button--bare_primary--border-color--hover);--now-button-stateful--primary--border-color-alpha--hover:var(--now-button--bare_primary--border-color-alpha--hover);--now-button-stateful--primary--border-color--active:var(--now-button--bare_primary--border-color--active);--now-button-stateful--primary--border-color-alpha--active:var(--now-button--bare_primary--border-color-alpha--active);--now-button-stateful--primary--color:var(--now-button--bare_primary--color);--now-button-stateful--primary--color--hover:var(--now-button--bare_primary--color--hover);--now-button-stateful--primary--color--active:var(--now-button--bare_primary--color--active);--now-button-stateful--primary--background-color--hover:var(--now-button--bare_primary--background-color--hover);--now-button-stateful--primary--background-color-alpha--hover:var(--now-button--bare_primary--background-color-alpha--hover);--now-button-stateful--primary--background-color--active:var(--now-button--bare_primary--background-color--active);--now-button-stateful--primary--background-color-alpha--active:var(--now-button--bare_primary--background-color-alpha--active);--now-button-stateful--primary--border-color--selected_hover:var(--now-button-stateful--primary--border-color--hover);--now-button-stateful--primary--border-color-alpha--selected_hover:var(--now-button-stateful--primary--border-color-alpha--hover);--now-button-stateful--primary--border-color--selected_active:var(--now-button-stateful--primary--border-color--active);--now-button-stateful--primary--border-color-alpha--selected_active:var(--now-button-stateful--primary--border-color-alpha--active);--now-button-stateful--primary--color--selected:var(--now-button-stateful--primary--color);--now-button-stateful--primary--color--selected_hover:var(--now-button-stateful--primary--color--hover);--now-button-stateful--primary--color--selected_active:var(--now-button-stateful--primary--color--active);--now-button-stateful--primary--background-color--selected_hover:var(--now-button-stateful--primary--background-color--hover);--now-button-stateful--primary--background-color-alpha--selected_hover:var(--now-button-stateful--primary--background-color-alpha--hover);--now-button-stateful--primary--background-color--selected_active:var(--now-button-stateful--primary--background-color--active);--now-button-stateful--primary--background-color-alpha--selected_active:var(--now-button-stateful--primary--background-color-alpha--active);--now-button-stateful--primary_highlighted--border-color--selected:var(--now-color--primary-3);--now-button-stateful--primary_highlighted--border-color-alpha--selected:0;--now-button-stateful--primary_highlighted--border-color--selected_hover:var(--now-button-stateful--primary--border-color--hover);--now-button-stateful--primary_highlighted--border-color-alpha--selected_hover:var(--now-button-stateful--primary--border-color-alpha--hover);--now-button-stateful--primary_highlighted--border-color--selected_active:var(--now-button-stateful--primary--border-color--active);--now-button-stateful--primary_highlighted--border-color-alpha--selected_active:var(--now-button-stateful--primary--border-color-alpha--active);--now-button-stateful--primary_highlighted--color--selected:var(--now-button-stateful--primary--color--selected);--now-button-stateful--primary_highlighted--color--selected_hover:var(--now-button-stateful--primary--color--selected_hover);--now-button-stateful--primary_highlighted--color--selected_active:var(--now-button-stateful--primary--color--selected_active);--now-button-stateful--primary_highlighted--background-color--selected:var(--now-color--primary-1);--now-button-stateful--primary_highlighted--background-color-alpha--selected:0.1;--now-button-stateful--primary_highlighted--background-color--selected_hover:var(--now-button--primary--background-color--hover);--now-button-stateful--primary_highlighted--background-color-alpha--selected_hover:0.1;--now-button-stateful--primary_highlighted--background-color--selected_active:var(--now-button-stateful--primary--background-color--active);--now-button-stateful--primary_highlighted--background-color-alpha--selected_active:0.25;--now-button-stateful--primary_high-contrast--border-color--hover:var(--now-button-stateful--primary--border-color--hover);--now-button-stateful--primary_high-contrast--border-color-alpha--hover:var(--now-button-stateful--primary--border-color-alpha--hover);--now-button-stateful--primary_high-contrast--border-color--active:var(--now-button-stateful--primary--border-color--active);--now-button-stateful--primary_high-contrast--border-color-alpha--active:var(--now-button-stateful--primary--border-color-alpha--active);--now-button-stateful--primary_high-contrast--color:var(--now-button--bare_primary_high-contrast--color);--now-button-stateful--primary_high-contrast--color--hover:var(--now-button--bare_primary_high-contrast--color--hover);--now-button-stateful--primary_high-contrast--color--active:var(--now-button--bare_primary_high-contrast--color--active);--now-button-stateful--primary_high-contrast--background-color--hover:var(--now-button-stateful--primary--background-color--hover);--now-button-stateful--primary_high-contrast--background-color-alpha--hover:var(--now-button-stateful--primary--background-color-alpha--hover);--now-button-stateful--primary_high-contrast--background-color--active:var(--now-button-stateful--primary--background-color--active);--now-button-stateful--primary_high-contrast--background-color-alpha--active:var(--now-button-stateful--primary--background-color-alpha--active);--now-button-stateful--primary_high-contrast--border-color--selected_hover:var(--now-button-stateful--primary_high-contrast--border-color--hover);--now-button-stateful--primary_high-contrast--border-color-alpha--selected_hover:var(--now-button-stateful--primary_high-contrast--border-color-alpha--hover);--now-button-stateful--primary_high-contrast--color--selected:var(--now-button-stateful--primary_high-contrast--color);--now-button-stateful--primary_high-contrast--color--selected_hover:var(--now-button-stateful--primary_high-contrast--color--hover);--now-button-stateful--primary_high-contrast--color--selected_active:var(--now-button-stateful--primary_high-contrast--color--active);--now-button-stateful--primary_high-contrast--background-color--selected_hover:var(--now-button-stateful--primary_high-contrast--background-color--hover);--now-button-stateful--primary_high-contrast--background-color-alpha--selected_hover:var(--now-button-stateful--primary_high-contrast--background-color-alpha--hover);--now-button-stateful--primary_high-contrast--border-color--selected_active:var(--now-button-stateful--primary_high-contrast--border-color--active);--now-button-stateful--primary_high-contrast--border-color-alpha--selected_active:var(--now-button-stateful--primary_high-contrast--border-color-alpha--active);--now-button-stateful--primary_high-contrast--background-color--selected_active:var(--now-button-stateful--primary_high-contrast--background-color--active);--now-button-stateful--primary_high-contrast--background-color-alpha--selected_active:var(--now-button-stateful--primary_high-contrast--background-color-alpha--active);--now-button-stateful--primary_highlighted_high-contrast--border-color--selected:var(--now-button-stateful--primary_highlighted--border-color--selected);--now-button-stateful--primary_highlighted_high-contrast--border-color-alpha--selected:var(--now-button-stateful--primary_highlighted--border-color-alpha--selected);--now-button-stateful--primary_highlighted_high-contrast--color--selected:var(--now-button-stateful--primary_high-contrast--color);--now-button-stateful--primary_highlighted_high-contrast--background-color--selected:var(--now-button-stateful--primary_highlighted--background-color--selected);--now-button-stateful--primary_highlighted_high-contrast--background-color-alpha--selected:var(--now-button-stateful--primary_highlighted--background-color-alpha--selected);--now-button-stateful--primary_highlighted_high-contrast--border-color--selected_hover:var(--now-button-stateful--primary_highlighted--border-color--selected_hover);--now-button-stateful--primary_highlighted_high-contrast--border-color-alpha--selected_hover:var(--now-button-stateful--primary_highlighted--border-color-alpha--selected_hover);--now-button-stateful--primary_highlighted_high-contrast--border-color--selected_active:var(--now-button-stateful--primary_highlighted--border-color--selected_active);--now-button-stateful--primary_highlighted_high-contrast--border-color-alpha--selected_active:var(--now-button-stateful--primary_highlighted--border-color-alpha--selected_active);--now-button-stateful--primary_highlighted_high-contrast--color--selected_hover:var(--now-button-stateful--primary_high-contrast--color--hover);--now-button-stateful--primary_highlighted_high-contrast--color--selected_active:var(--now-button-stateful--primary_high-contrast--color--active);--now-button-stateful--primary_highlighted_high-contrast--background-color--selected_hover:var(--now-button-stateful--primary_highlighted--background-color--selected_hover);--now-button-stateful--primary_highlighted_high-contrast--background-color-alpha--selected_hover:var(--now-button-stateful--primary_highlighted--background-color-alpha--selected_hover);--now-button-stateful--primary_highlighted_high-contrast--background-color--selected_active:var(--now-button-stateful--primary_highlighted--background-color--selected_active);--now-button-stateful--primary_highlighted_high-contrast--background-color-alpha--selected_active:var(--now-button-stateful--primary_highlighted--background-color-alpha--selected_active);--now-button-stateful--primary-selection--border-width:var(--now-button-stateful--border-width);--now-button-stateful--primary-selection--border-radius:var(--now-button-stateful--border-radius);--now-button-stateful--primary-selection--opacity--disabled:var(--now-button-stateful--opacity--disabled);--now-button-stateful--primary-selection--border-color--hover:var(--now-color_selection--primary-3);--now-button-stateful--primary-selection--border-color-alpha--hover:0;--now-button-stateful--primary-selection--border-color--active:var(--now-color_selection--primary-3);--now-button-stateful--primary-selection--border-color-alpha--active:0;--now-button-stateful--primary-selection--color:var(--now-color_selection--primary-3);--now-button-stateful--primary-selection--color--hover:var(--now-color_selection--primary-4);--now-button-stateful--primary-selection--color--active:var(--now-color_text--primary);--now-button-stateful--primary-selection--background-color--hover:var(--now-color_selection--primary-2);--now-button-stateful--primary-selection--background-color-alpha--hover:0.1;--now-button-stateful--primary-selection--background-color--active:var(--now-color_selection--primary-2);--now-button-stateful--primary-selection--background-color-alpha--active:0.25;--now-button-stateful--primary-selection--border-color--selected_hover:var(--now-button-stateful--primary-selection--border-color--hover);--now-button-stateful--primary-selection--border-color-alpha--selected_hover:var(--now-button-stateful--primary-selection--border-color-alpha--hover);--now-button-stateful--primary-selection--border-color--selected_active:var(--now-button-stateful--primary-selection--border-color--active);--now-button-stateful--primary-selection--border-color-alpha--selected_active:var(--now-button-stateful--primary-selection--border-color-alpha--active);--now-button-stateful--primary-selection--color--selected:var(--now-button-stateful--primary-selection--color);--now-button-stateful--primary-selection--color--selected_hover:var(--now-button-stateful--primary-selection--color--hover);--now-button-stateful--primary-selection--color--selected_active:var(--now-button-stateful--primary-selection--color--active);--now-button-stateful--primary-selection--background-color--selected_hover:var(--now-button-stateful--primary-selection--background-color--hover);--now-button-stateful--primary-selection--background-color-alpha--selected_hover:var(--now-button-stateful--primary-selection--background-color-alpha--hover);--now-button-stateful--primary-selection--background-color--selected_active:var(--now-button-stateful--primary-selection--background-color--active);--now-button-stateful--primary-selection--background-color-alpha--selected_active:var(--now-button-stateful--primary-selection--background-color-alpha--active);--now-button-stateful--primary-selection_high-contrast--border-color--hover:var(--now-button-stateful--primary-selection--border-color--hover);--now-button-stateful--primary-selection_high-contrast--border-color-alpha--hover:var(--now-button-stateful--primary-selection--border-color-alpha--hover);--now-button-stateful--primary-selection_high-contrast--border-color--active:var(--now-button-stateful--primary-selection--border-color--active);--now-button-stateful--primary-selection_high-contrast--border-color-alpha--active:var(--now-button-stateful--primary-selection--border-color-alpha--active);--now-button-stateful--primary-selection_high-contrast--color:var(--now-color_selection--primary-4);--now-button-stateful--primary-selection_high-contrast--color--hover:var(--now-color_text--primary);--now-button-stateful--primary-selection_high-contrast--color--active:var(--now-color_text--primary);--now-button-stateful--primary-selection_high-contrast--background-color--hover:var(--now-button-stateful--primary-selection--background-color--hover);--now-button-stateful--primary-selection_high-contrast--background-color-alpha--hover:var(--now-button-stateful--primary-selection--background-color-alpha--hover);--now-button-stateful--primary-selection_high-contrast--background-color--active:var(--now-button-stateful--primary-selection--background-color--active);--now-button-stateful--primary-selection_high-contrast--background-color-alpha--active:var(--now-button-stateful--primary-selection--background-color-alpha--active);--now-button-stateful--primary-selection_high-contrast--border-color--selected_hover:var(--now-button-stateful--primary-selection_high-contrast--border-color--hover);--now-button-stateful--primary-selection_high-contrast--border-color-alpha--selected_hover:var(--now-button-stateful--primary-selection_high-contrast--border-color-alpha--hover);--now-button-stateful--primary-selection_high-contrast--color--selected:var(--now-button-stateful--primary-selection_high-contrast--color);--now-button-stateful--primary-selection_high-contrast--color--selected_hover:var(--now-button-stateful--primary-selection_high-contrast--color--hover);--now-button-stateful--primary-selection_high-contrast--color--selected_active:var(--now-button-stateful--primary-selection_high-contrast--color--active);--now-button-stateful--primary-selection_high-contrast--background-color--selected_hover:var(--now-button-stateful--primary-selection_high-contrast--background-color--hover);--now-button-stateful--primary-selection_high-contrast--background-color-alpha--selected_hover:var(--now-button-stateful--primary-selection_high-contrast--background-color-alpha--hover);--now-button-stateful--primary-selection_high-contrast--border-color--selected_active:var(--now-button-stateful--primary-selection_high-contrast--border-color--active);--now-button-stateful--primary-selection_high-contrast--border-color-alpha--selected_active:var(--now-button-stateful--primary-selection_high-contrast--border-color-alpha--active);--now-button-stateful--primary-selection_highlighted--border-color--selected:var(--now-color_selection--primary-3);--now-button-stateful--primary-selection_highlighted--border-color-alpha--selected:0;--now-button-stateful--primary-selection_highlighted--border-color--selected_hover:var(--now-button-stateful--primary-selection_highlighted--border-color--selected);--now-button-stateful--primary-selection_highlighted--border-color-alpha--selected_hover:0;--now-button-stateful--primary-selection_highlighted--border-color--selected_active:var(--now-button-stateful--primary-selection_highlighted--border-color--selected);--now-button-stateful--primary-selection_highlighted--border-color-alpha--selected_active:0;--now-button-stateful--primary-selection_highlighted--color--selected:var(--now-button-stateful--primary-selection--color--selected);--now-button-stateful--primary-selection_highlighted--color--selected_hover:var(--now-button-stateful--primary-selection--color--selected_hover);--now-button-stateful--primary-selection_highlighted--color--selected_active:var(--now-button-stateful--primary-selection--color--selected_active);--now-button-stateful--primary-selection_highlighted--background-color--selected:var(--now-color_selection--primary-2);--now-button-stateful--primary-selection_highlighted--background-color-alpha--selected:0.1;--now-button-stateful--primary-selection_highlighted--background-color--selected_hover:var(--now-button-stateful--primary-selection_highlighted--background-color--selected);--now-button-stateful--primary-selection_highlighted--background-color-alpha--selected_hover:0.1;--now-button-stateful--primary-selection_highlighted--background-color--selected_active:var(--now-button-stateful--primary-selection_highlighted--background-color--selected);--now-button-stateful--primary-selection_highlighted--background-color-alpha--selected_active:0.25;--now-button-stateful--primary-selection_high-contrast--background-color--selected_active:var(--now-button-stateful--primary-selection_high-contrast--background-color--active);--now-button-stateful--primary-selection_high-contrast--background-color-alpha--selected_active:var(--now-button-stateful--primary-selection_high-contrast--background-color-alpha--active);--now-button-stateful--primary-selection_highlighted_high-contrast--border-color--selected:var(--now-button-stateful--primary-selection_highlighted--border-color--selected);--now-button-stateful--primary-selection_highlighted_high-contrast--border-color-alpha--selected:var(--now-button-stateful--primary-selection_highlighted--border-color-alpha--selected);--now-button-stateful--primary-selection_highlighted_high-contrast--color--selected:var(--now-button-stateful--primary-selection_high-contrast--color);--now-button-stateful--primary-selection_highlighted_high-contrast--background-color--selected:var(--now-button-stateful--primary-selection_highlighted--background-color--selected);--now-button-stateful--primary-selection_highlighted_high-contrast--background-color-alpha--selected:var(--now-button-stateful--primary-selection_highlighted--background-color-alpha--selected);--now-button-stateful--primary-selection_highlighted_high-contrast--border-color--selected_hover:var(--now-button-stateful--primary-selection_highlighted--border-color--selected_hover);--now-button-stateful--primary-selection_highlighted_high-contrast--border-color-alpha--selected_hover:var(--now-button-stateful--primary-selection_highlighted--border-color-alpha--selected_hover);--now-button-stateful--primary-selection_highlighted_high-contrast--border-color--selected_active:var(--now-button-stateful--primary-selection_highlighted--border-color--selected_active);--now-button-stateful--primary-selection_highlighted_high-contrast--border-color-alpha--selected_active:var( --now-button-stateful--primary-selection_highlighted--border-color-alpha--selected_active );--now-button-stateful--primary-selection_highlighted_high-contrast--color--selected_hover:var(--now-button-stateful--primary-selection_high-contrast--color--hover);--now-button-stateful--primary-selection_highlighted_high-contrast--color--selected_active:var(--now-button-stateful--primary-selection_high-contrast--color--active);--now-button-stateful--primary-selection_highlighted_high-contrast--background-color--selected_hover:var(--now-button-stateful--primary-selection_highlighted--background-color--selected_hover);--now-button-stateful--primary-selection_highlighted_high-contrast--background-color-alpha--selected_hover:var( --now-button-stateful--primary-selection_highlighted--background-color-alpha--selected_hover );--now-button-stateful--primary-selection_highlighted_high-contrast--background-color--selected_active:var(--now-button-stateful--primary-selection_highlighted--background-color--selected_active);--now-button-stateful--primary-selection_highlighted_high-contrast--background-color-alpha--selected_active:var( --now-button-stateful--primary-selection_highlighted--background-color-alpha--selected_active );--now-button-stateful--secondary--border-width:var(--now-button-stateful--border-width);--now-button-stateful--secondary--border-radius:var(--now-button-stateful--border-radius);--now-button-stateful--secondary--border-color--hover:var(--now-button--bare_secondary--border-color--hover);--now-button-stateful--secondary--border-color-alpha--hover:var(--now-button--bare_secondary--border-color-alpha--hover);--now-button-stateful--secondary--border-color--active:var(--now-button--bare_secondary--border-color--active);--now-button-stateful--secondary--border-color-alpha--active:var(--now-button--bare_secondary--border-color-alpha--active);--now-button-stateful--secondary--color:var(--now-button--bare_secondary--color);--now-button-stateful--secondary--color--hover:var(--now-button--bare_secondary--color--hover);--now-button-stateful--secondary--color--active:var(--now-button--bare_secondary--color--active);--now-button-stateful--secondary--background-color--hover:var(--now-button--bare_secondary--background-color--hover);--now-button-stateful--secondary--background-color-alpha--hover:var(--now-button--bare_secondary--background-color-alpha--hover);--now-button-stateful--secondary--background-color--active:var(--now-button--bare_secondary--background-color--active);--now-button-stateful--secondary--background-color-alpha--active:var(--now-button--bare_secondary--background-color-alpha--active);--now-button-stateful--secondary--border-color--selected_hover:var(--now-button-stateful--secondary--border-color--hover);--now-button-stateful--secondary--border-color-alpha--selected_hover:var(--now-button-stateful--secondary--border-color-alpha--hover);--now-button-stateful--secondary--border-color--selected_active:var(--now-button-stateful--secondary--border-color--active);--now-button-stateful--secondary--border-color-alpha--selected_active:var(--now-button-stateful--secondary--border-color-alpha--active);--now-button-stateful--secondary--color--selected:var(--now-button-stateful--secondary--color);--now-button-stateful--secondary--color--selected_hover:var(--now-button-stateful--secondary--color--hover);--now-button-stateful--secondary--color--selected_active:var(--now-button-stateful--secondary--color--active);--now-button-stateful--secondary--background-color--selected_hover:var(--now-button-stateful--secondary--background-color--hover);--now-button-stateful--secondary--background-color-alpha--selected_hover:var(--now-button-stateful--secondary--background-color-alpha--hover);--now-button-stateful--secondary--background-color--selected_active:var(--now-button-stateful--secondary--background-color--active);--now-button-stateful--secondary--background-color-alpha--selected_active:var(--now-button-stateful--secondary--background-color-alpha--active);--now-button-stateful--secondary_highlighted--border-color--selected:var(--now-color--secondary-2);--now-button-stateful--secondary_highlighted--border-color-alpha--selected:0;--now-button-stateful--secondary_highlighted--border-color--selected_hover:var(--now-color--secondary-2);--now-button-stateful--secondary_highlighted--border-color-alpha--selected_hover:0;--now-button-stateful--secondary_highlighted--border-color--selected_active:var(--now-color--secondary-2);--now-button-stateful--secondary_highlighted--border-color-alpha--selected_active:0;--now-button-stateful--secondary_highlighted--color--selected:var(--now-button-stateful--secondary--color--selected);--now-button-stateful--secondary_highlighted--color--selected_hover:var(--now-button-stateful--secondary--color--selected_hover);--now-button-stateful--secondary_highlighted--color--selected_active:var(--now-button-stateful--secondary--color--selected_active);--now-button-stateful--secondary_highlighted--background-color--selected:var(--now-color--secondary-1);--now-button-stateful--secondary_highlighted--background-color-alpha--selected:0.1;--now-button-stateful--secondary_highlighted--background-color--selected_hover:var(--now-button-stateful--secondary_highlighted--background-color--selected);--now-button-stateful--secondary_highlighted--background-color-alpha--selected_hover:0.1;--now-button-stateful--secondary_highlighted--background-color--selected_active:var(--now-button-stateful--secondary_highlighted--background-color--selected);--now-button-stateful--secondary_highlighted--background-color-alpha--selected_active:0.25;--now-button-stateful--secondary_high-contrast--border-color--hover:var(--now-button-stateful--secondary--border-color--hover);--now-button-stateful--secondary_high-contrast--border-color-alpha--hover:var(--now-button-stateful--secondary--border-color-alpha--hover);--now-button-stateful--secondary_high-contrast--border-color--active:var(--now-button-stateful--secondary--border-color--active);--now-button-stateful--secondary_high-contrast--border-color-alpha--active:var(--now-button-stateful--secondary--border-color-alpha--active);--now-button-stateful--secondary_high-contrast--color:var(--now-button--bare_secondary_high-contrast--color);--now-button-stateful--secondary_high-contrast--color--hover:var(--now-button--bare_secondary_high-contrast--color--hover);--now-button-stateful--secondary_high-contrast--color--active:var(--now-button--bare_secondary_high-contrast--color--active);--now-button-stateful--secondary_high-contrast--background-color--hover:var(--now-button-stateful--secondary--background-color--hover);--now-button-stateful--secondary_high-contrast--background-color-alpha--hover:var(--now-button-stateful--secondary--background-color-alpha--hover);--now-button-stateful--secondary_high-contrast--background-color--active:var(--now-button-stateful--secondary--background-color--active);--now-button-stateful--secondary_high-contrast--background-color-alpha--active:var(--now-button-stateful--secondary--background-color-alpha--active);--now-button-stateful--secondary_high-contrast--border-color--selected_hover:var(--now-button-stateful--secondary_high-contrast--border-color--hover);--now-button-stateful--secondary_high-contrast--border-color-alpha--selected_hover:var(--now-button-stateful--secondary_high-contrast--border-color-alpha--hover);--now-button-stateful--secondary_high-contrast--border-color--selected_active:var(--now-button-stateful--secondary_high-contrast--border-color--active);--now-button-stateful--secondary_high-contrast--border-color-alpha--selected_active:var(--now-button-stateful--secondary_high-contrast--border-color-alpha--active);--now-button-stateful--secondary_high-contrast--color--selected:var(--now-button-stateful--secondary_high-contrast--color);--now-button-stateful--secondary_high-contrast--color--selected_hover:var(--now-button-stateful--secondary_high-contrast--color--hover);--now-button-stateful--secondary_high-contrast--color--selected_active:var(--now-button-stateful--secondary_high-contrast--color--active);--now-button-stateful--secondary_high-contrast--background-color--selected_hover:var(--now-button-stateful--secondary_high-contrast--background-color--hover);--now-button-stateful--secondary_high-contrast--background-color-alpha--selected_hover:var(--now-button-stateful--secondary_high-contrast--background-color-alpha--hover);--now-button-stateful--secondary_high-contrast--background-color--selected_active:var(--now-button-stateful--secondary_high-contrast--background-color--active);--now-button-stateful--secondary_high-contrast--background-color-alpha--selected_active:var(--now-button-stateful--secondary_high-contrast--background-color-alpha--active);--now-button-stateful--secondary_highlighted_high-contrast--border-color--selected:var(--now-button-stateful--secondary_highlighted--border-color--selected);--now-button-stateful--secondary_highlighted_high-contrast--border-color-alpha--selected:var(--now-button-stateful--secondary_highlighted--border-color-alpha--selected);--now-button-stateful--secondary_highlighted_high-contrast--color--selected:var(--now-button-stateful--secondary_high-contrast--color);--now-button-stateful--secondary_highlighted_high-contrast--background-color--selected:var(--now-button-stateful--secondary_highlighted--background-color--selected);--now-button-stateful--secondary_highlighted_high-contrast--background-color-alpha--selected:var(--now-button-stateful--secondary_highlighted--background-color-alpha--selected);--now-button-stateful--secondary_highlighted_high-contrast--border-color--selected_hover:var(--now-button-stateful--secondary_highlighted--border-color--selected_hover);--now-button-stateful--secondary_highlighted_high-contrast--border-color-alpha--selected_hover:var(--now-button-stateful--secondary_highlighted--border-color-alpha--selected_hover);--now-button-stateful--secondary_highlighted_high-contrast--border-color--selected_active:var(--now-button-stateful--secondary_highlighted--border-color--selected_active);--now-button-stateful--secondary_highlighted_high-contrast--border-color-alpha--selected_active:var(--now-button-stateful--secondary_highlighted--border-color-alpha--selected_active);--now-button-stateful--secondary_highlighted_high-contrast--color--selected_hover:var(--now-button-stateful--secondary_high-contrast--color--hover);--now-button-stateful--secondary_highlighted_high-contrast--color--selected_active:var(--now-button-stateful--secondary_high-contrast--color--active);--now-button-stateful--secondary_highlighted_high-contrast--background-color--selected_hover:var(--now-button-stateful--secondary_highlighted--background-color--selected_hover);--now-button-stateful--secondary_highlighted_high-contrast--background-color-alpha--selected_hover:var(--now-button-stateful--secondary_highlighted--background-color-alpha--selected_hover);--now-button-stateful--secondary_highlighted_high-contrast--background-color--selected_active:var(--now-button-stateful--secondary_highlighted--background-color--selected_active);--now-button-stateful--secondary_highlighted_high-contrast--background-color-alpha--selected_active:var(--now-button-stateful--secondary_highlighted--background-color-alpha--selected_active);--now-button-stateful--secondary-selection--border-width:var(--now-button-stateful--border-width);--now-button-stateful--secondary-selection--border-radius:var(--now-button-stateful--border-radius);--now-button-stateful--secondary-selection--opacity--disabled:var(--now-button-stateful--opacity--disabled);--now-button-stateful--secondary-selection--border-color--hover:var(--now-color_selection--primary-3);--now-button-stateful--secondary-selection--border-color-alpha--hover:0;--now-button-stateful--secondary-selection--border-color--active:var(--now-color_selection--primary-3);--now-button-stateful--secondary-selection--border-color-alpha--active:0;--now-button-stateful--secondary-selection--color:var(--now-color_selection--primary-2);--now-button-stateful--secondary-selection--color--hover:var(--now-color_selection--primary-3);--now-button-stateful--secondary-selection--color--active:var(--now-color_selection--primary-4);--now-button-stateful--secondary-selection--background-color--hover:var(--now-color_selection--primary-2);--now-button-stateful--secondary-selection--background-color-alpha--hover:0.1;--now-button-stateful--secondary-selection--background-color--active:var(--now-color_selection--primary-2);--now-button-stateful--secondary-selection--background-color-alpha--active:0.25;--now-button-stateful--secondary-selection--border-color--selected_hover:var(--now-button-stateful--secondary-selection--border-color--hover);--now-button-stateful--secondary-selection--border-color-alpha--selected_hover:0;--now-button-stateful--secondary-selection--border-color--selected_active:var(--now-button-stateful--secondary-selection--border-color--active);--now-button-stateful--secondary-selection--border-color-alpha--selected_active:0;--now-button-stateful--secondary-selection--color--selected:var(--now-button-stateful--secondary-selection--color);--now-button-stateful--secondary-selection--color--selected_hover:var(--now-button-stateful--secondary-selection--color--selected);--now-button-stateful--secondary-selection--color--selected_active:var(--now-button-stateful--secondary-selection--color--active);--now-button-stateful--secondary-selection--background-color--selected_hover:var(--now-button-stateful--secondary-selection--background-color--hover);--now-button-stateful--secondary-selection--background-color-alpha--selected_hover:var(--now-button-stateful--secondary-selection--background-color-alpha--hover);--now-button-stateful--secondary-selection--background-color--selected_active:var(--now-button-stateful--secondary-selection--background-color--active);--now-button-stateful--secondary-selection--background-color-alpha--selected_active:var(--now-button-stateful--secondary-selection--background-color-alpha--active);--now-button-stateful--secondary-selection_highlighted--border-color--selected:var(--now-color_selection--primary-3);--now-button-stateful--secondary-selection_highlighted--border-color-alpha--selected:0;--now-button-stateful--secondary-selection_highlighted--border-color--selected_hover:var(--now-button-stateful--secondary-selection_highlighted--border-color--selected);--now-button-stateful--secondary-selection_highlighted--border-color-alpha--selected_hover:0;--now-button-stateful--secondary-selection_highlighted--border-color--selected_active:var(--now-button-stateful--secondary-selection_highlighted--border-color--selected);--now-button-stateful--secondary-selection_highlighted--border-color-alpha--selected_active:0;--now-button-stateful--secondary-selection_highlighted--color--selected:var(--now-button-stateful--secondary-selection--color--selected);--now-button-stateful--secondary-selection_highlighted--color--selected_hover:var(--now-button-stateful--secondary-selection--color--selected_hover);--now-button-stateful--secondary-selection_highlighted--color--selected_active:var(--now-button-stateful--secondary-selection--color--selected_active);--now-button-stateful--secondary-selection_highlighted--background-color--selected:var(--now-color_selection--primary-2);--now-button-stateful--secondary-selection_highlighted--background-color-alpha--selected:0.1;--now-button-stateful--secondary-selection_highlighted--background-color--selected_hover:var(--now-button-stateful--secondary-selection_highlighted--background-color--selected);--now-button-stateful--secondary-selection_highlighted--background-color-alpha--selected_hover:0.1;--now-button-stateful--secondary-selection_highlighted--background-color--selected_active:var(--now-button-stateful--secondary-selection_highlighted--background-color--selected);--now-button-stateful--secondary-selection_highlighted--background-color-alpha--selected_active:0.25;--now-button-stateful--secondary-selection_high-contrast--border-color--hover:var(--now-button-stateful--secondary-selection--border-color--hover);--now-button-stateful--secondary-selection_high-contrast--border-color-alpha--hover:var(--now-button-stateful--secondary-selection--border-color-alpha--hover);--now-button-stateful--secondary-selection_high-contrast--border-color--active:var(--now-button-stateful--secondary-selection--border-color--active);--now-button-stateful--secondary-selection_high-contrast--border-color-alpha--active:var(--now-button-stateful--primary-selection--border-color-alpha--active);--now-button-stateful--secondary-selection_high-contrast--color:var(--now-color_selection--primary-3);--now-button-stateful--secondary-selection_high-contrast--color--hover:var(--now-color_selection--primary-4);--now-button-stateful--secondary-selection_high-contrast--color--active:var(--now-color_text--primary);--now-button-stateful--secondary-selection_high-contrast--background-color--hover:var(--now-button-stateful--secondary-selection--background-color--hover);--now-button-stateful--secondary-selection_high-contrast--background-color-alpha--hover:var(--now-button-stateful--secondary-selection--background-color-alpha--hover);--now-button-stateful--secondary-selection_high-contrast--background-color--active:var(--now-button-stateful--secondary-selection--background-color--active);--now-button-stateful--secondary-selection_high-contrast--background-color-alpha--active:var(--now-button-stateful--secondary-selection--background-color-alpha--active);--now-button-stateful--secondary-selection_high-contrast--border-color--selected_hover:var(--now-button-stateful--secondary-selection_high-contrast--border-color--hover);--now-button-stateful--secondary-selection_high-contrast--border-color-alpha--selected_hover:var(--now-button-stateful--secondary-selection_high-contrast--border-color-alpha--hover);--now-button-stateful--secondary-selection_high-contrast--color--selected:var(--now-button-stateful--secondary-selection_high-contrast--color);--now-button-stateful--secondary-selection_high-contrast--color--selected_hover:var(--now-button-stateful--secondary-selection_high-contrast--color--hover);--now-button-stateful--secondary-selection_high-contrast--color--selected_active:var(--now-button-stateful--secondary-selection_high-contrast--color--active);--now-button-stateful--secondary-selection_high-contrast--background-color--selected_hover:var(--now-button-stateful--secondary-selection_high-contrast--background-color--hover);--now-button-stateful--secondary-selection_high-contrast--background-color-alpha--selected_hover:var(--now-button-stateful--secondary-selection_high-contrast--background-color-alpha--hover);--now-button-stateful--secondary-selection_high-contrast--border-color--selected_active:var(--now-button-stateful--secondary-selection_high-contrast--border-color--active);--now-button-stateful--secondary-selection_high-contrast--border-color-alpha--selected_active:var(--now-button-stateful--secondary-selection_high-contrast--border-color-alpha--active);--now-button-stateful--secondary-selection_high-contrast--background-color--selected_active:var(--now-button-stateful--secondary-selection_high-contrast--background-color--active);--now-button-stateful--secondary-selection_high-contrast--background-color-alpha--selected_active:var(--now-button-stateful--secondary-selection_high-contrast--background-color-alpha--active);--now-button-stateful--secondary-selection_highlighted_high-contrast--border-color--selected:var(--now-button-stateful--secondary-selection_highlighted--border-color--selected);--now-button-stateful--secondary-selection_highlighted_high-contrast--border-color-alpha--selected:var(--now-button-stateful--secondary-selection_highlighted--border-color-alpha--selected);--now-button-stateful--secondary-selection_highlighted_high-contrast--color--selected:var(--now-button-stateful--secondary-selection_high-contrast--color);--now-button-stateful--secondary-selection_highlighted_high-contrast--background-color--selected:var(--now-button-stateful--secondary-selection_highlighted--background-color--selected);--now-button-stateful--secondary-selection_highlighted_high-contrast--background-color-alpha--selected:var(--now-button-stateful--secondary-selection_highlighted--background-color-alpha--selected);--now-button-stateful--secondary-selection_highlighted_high-contrast--border-color--selected_hover:var(--now-button-stateful--secondary-selection_highlighted--border-color--selected_hover);--now-button-stateful--secondary-selection_highlighted_high-contrast--border-color-alpha--selected_hover:var( --now-button-stateful--secondary-selection_highlighted--border-color-alpha--selected_hover );--now-button-stateful--secondary-selection_highlighted_high-contrast--border-color--selected_active:var(--now-button-stateful--secondary-selection_highlighted--border-color--selected_active);--now-button-stateful--secondary-selection_highlighted_high-contrast--border-color-alpha--selected_active:var( --now-button-stateful--secondary-selection_highlighted--border-color-alpha--selected_active );--now-button-stateful--secondary-selection_highlighted_high-contrast--color--selected_hover:var(--now-button-stateful--secondary-selection_high-contrast--color--hover);--now-button-stateful--secondary-selection_highlighted_high-contrast--color--selected_active:var(--now-button-stateful--secondary-selection_high-contrast--color--active);--now-button-stateful--secondary-selection_highlighted_high-contrast--background-color--selected_hover:var(--now-button-stateful--secondary-selection_highlighted--background-color--selected_hover);--now-button-stateful--secondary-selection_highlighted_high-contrast--background-color-alpha--selected_hover:var( --now-button-stateful--secondary-selection_highlighted--background-color-alpha--selected_hover );--now-button-stateful--secondary-selection_highlighted_high-contrast--background-color--selected_active:var( --now-button-stateful--secondary-selection_highlighted--background-color--selected_active );--now-button-stateful--secondary-selection_highlighted_high-contrast--background-color-alpha--selected_active:var( --now-button-stateful--secondary-selection_highlighted--background-color-alpha--selected_active );--now-button-stateful--tertiary--border-width:var(--now-button-stateful--border-width);--now-button-stateful--tertiary--border-radius:var(--now-button-stateful--border-radius);--now-button-stateful--tertiary--opacity--disabled:var(--now-button-stateful--opacity--disabled);--now-button-stateful--tertiary--border-color--hover:var(--now-button--bare_tertiary--border-color--hover);--now-button-stateful--tertiary--border-color-alpha--hover:var(--now-button--bare_tertiary--border-color-alpha--hover);--now-button-stateful--tertiary--border-color--active:var(--now-button--bare_tertiary--border-color--active);--now-button-stateful--tertiary--border-color-alpha--active:var(--now-button--bare_tertiary--border-color-alpha--active);--now-button-stateful--tertiary--color:var(--now-button--bare_tertiary--color);--now-button-stateful--tertiary--color--hover:var(--now-button--bare_tertiary--color--hover);--now-button-stateful--tertiary--color--active:var(--now-button--bare_tertiary--color--active);--now-button-stateful--tertiary--background-color--hover:var(--now-button--bare_tertiary--background-color--hover);--now-button-stateful--tertiary--background-color-alpha--hover:var(--now-button--bare_tertiary--background-color-alpha--hover);--now-button-stateful--tertiary--background-color--active:var(--now-button--bare_tertiary--background-color--active);--now-button-stateful--tertiary--background-color-alpha--active:var(--now-button--bare_tertiary--background-color-alpha--active);--now-button-stateful--tertiary--border-color--selected_hover:var(--now-button-stateful--tertiary--border-color--hover);--now-button-stateful--tertiary--border-color-alpha--selected_hover:0;--now-button-stateful--tertiary--border-color--selected_active:var(--now-button-stateful--tertiary--border-color--active);--now-button-stateful--tertiary--border-color-alpha--selected_active:0;--now-button-stateful--tertiary--color--selected:var(--now-button-stateful--tertiary--color);--now-button-stateful--tertiary--color--selected_hover:var(--now-button-stateful--tertiary--color--hover);--now-button-stateful--tertiary--color--selected_active:var(--now-button-stateful--tertiary--color--active);--now-button-stateful--tertiary--background-color--selected_hover:var(--now-button-stateful--tertiary--background-color--hover);--now-button-stateful--tertiary--background-color-alpha--selected_hover:var(--now-button-stateful--tertiary--background-color-alpha--hover);--now-button-stateful--tertiary--background-color--selected_active:var(--now-button-stateful--tertiary--background-color--active);--now-button-stateful--tertiary--background-color-alpha--selected_active:var(--now-button-stateful--tertiary--background-color-alpha--active);--now-button-stateful--tertiary_highlighted--border-color--selected:var(--now-color_border--tertiary-actionable);--now-button-stateful--tertiary_highlighted--border-color-alpha--selected:0;--now-button-stateful--tertiary_highlighted--border-color--selected_hover:var(--now-button-stateful--tertiary_highlighted--border-color--selected);--now-button-stateful--tertiary_highlighted--border-color-alpha--selected_hover:var(--now-button-stateful--tertiary_highlighted--border-color-alpha--selected);--now-button-stateful--tertiary_highlighted--border-color--selected_active:var(--now-button-stateful--tertiary_highlighted--border-color--selected);--now-button-stateful--tertiary_highlighted--border-color-alpha--selected_active:var(--now-button-stateful--tertiary_highlighted--border-color-alpha--selected);--now-button-stateful--tertiary_highlighted--color--selected:var(--now-button-stateful--tertiary--color--selected);--now-button-stateful--tertiary_highlighted--color--selected_hover:var(--now-button-stateful--tertiary--color--selected_hover);--now-button-stateful--tertiary_highlighted--color--selected_active:var(--now-button-stateful--tertiary--color--selected_active);--now-button-stateful--tertiary_highlighted--background-color--selected:var(--now-color_background--secondary-actionable);--now-button-stateful--tertiary_highlighted--background-color-alpha--selected:0.1;--now-button-stateful--tertiary_highlighted--background-color--selected_hover:var(--now-button-stateful--tertiary_highlighted--background-color--selected);--now-button-stateful--tertiary_highlighted--background-color-alpha--selected_hover:0.1;--now-button-stateful--tertiary_highlighted--background-color--selected_active:var(--now-button-stateful--tertiary_highlighted--background-color--selected);--now-button-stateful--tertiary_highlighted--background-color-alpha--selected_active:0.25;--now-button-stateful--tertiary_high-contrast--border-color--hover:var(--now-button-stateful--tertiary--border-color--hover);--now-button-stateful--tertiary_high-contrast--border-color-alpha--hover:var(--now-button-stateful--tertiary--border-color-alpha--hover);--now-button-stateful--tertiary_high-contrast--border-color--active:var(--now-button-stateful--tertiary--border-color--active);--now-button-stateful--tertiary_high-contrast--border-color-alpha--active:var(--now-button-stateful--tertiary--border-color-alpha--active);--now-button-stateful--tertiary_high-contrast--color:var(--now-button--bare_tertiary_high-contrast--color);--now-button-stateful--tertiary_high-contrast--color-alpha:var(--now-button--bare_tertiary_high-contrast--color-alpha);--now-button-stateful--tertiary_high-contrast--color--hover:var(--now-button--bare_tertiary_high-contrast--color--hover);--now-button-stateful--tertiary_high-contrast--color-alpha--hover:var(--now-button--bare_tertiary_high-contrast--color-alpha--hover);--now-button-stateful--tertiary_high-contrast--color--active:var(--now-button--bare_tertiary_high-contrast--color--active);--now-button-stateful--tertiary_high-contrast--color-alpha--active:var(--now-button--bare_tertiary_high-contrast--color-alpha--active);--now-button-stateful--tertiary_high-contrast--background-color--hover:var(--now-button-stateful--tertiary--background-color--hover);--now-button-stateful--tertiary_high-contrast--background-color-alpha--hover:var(--now-button-stateful--tertiary--background-color-alpha--hover);--now-button-stateful--tertiary_high-contrast--background-color--active:var(--now-button-stateful--tertiary--background-color--active);--now-button-stateful--tertiary_high-contrast--background-color-alpha--active:var(--now-button-stateful--tertiary--background-color-alpha--active);--now-button-stateful--tertiary_high-contrast--border-color--selected_hover:var(--now-button-stateful--tertiary_high-contrast--border-color--hover);--now-button-stateful--tertiary_high-contrast--border-color-alpha--selected_hover:var(--now-button-stateful--tertiary_high-contrast--border-color-alpha--hover);--now-button-stateful--tertiary_high-contrast--border-color--selected_active:var(--now-button-stateful--tertiary_high-contrast--border-color--active);--now-button-stateful--tertiary_high-contrast--border-color-alpha--selected_active:var(--now-button-stateful--tertiary_high-contrast--border-color-alpha--active);--now-button-stateful--tertiary_high-contrast--color--selected:var(--now-button-stateful--tertiary_high-contrast--color);--now-button-stateful--tertiary_high-contrast--color--selected_hover:var(--now-button-stateful--tertiary_high-contrast--color--hover);--now-button-stateful--tertiary_high-contrast--color--selected_active:var(--now-button-stateful--tertiary_high-contrast--color--active);--now-button-stateful--tertiary_high-contrast--background-color--selected_hover:var(--now-button-stateful--tertiary_high-contrast--background-color--hover);--now-button-stateful--tertiary_high-contrast--background-color-alpha--selected_hover:var(--now-button-stateful--tertiary_high-contrast--background-color-alpha--hover);--now-button-stateful--tertiary_high-contrast--background-color--selected_active:var(--now-button-stateful--tertiary_high-contrast--background-color--active);--now-button-stateful--tertiary_high-contrast--background-color-alpha--selected_active:var(--now-button-stateful--tertiary_high-contrast--background-color-alpha--active);--now-button-stateful--tertiary_highlighted_high-contrast--border-color--selected:var(--now-button-stateful--tertiary_highlighted--border-color--selected);--now-button-stateful--tertiary_highlighted_high-contrast--border-color-alpha--selected:var(--now-button-stateful--tertiary_highlighted--border-color-alpha--selected);--now-button-stateful--tertiary_highlighted_high-contrast--color--selected:var(--now-button-stateful--tertiary_high-contrast--color);--now-button-stateful--tertiary_highlighted_high-contrast--background-color--selected:var(--now-button-stateful--tertiary_highlighted--background-color--selected);--now-button-stateful--tertiary_highlighted_high-contrast--background-color-alpha--selected:var(--now-button-stateful--tertiary_highlighted--background-color-alpha--selected);--now-button-stateful--tertiary_highlighted_high-contrast--border-color--selected_hover:var(--now-button-stateful--tertiary_highlighted--border-color--selected_hover);--now-button-stateful--tertiary_highlighted_high-contrast--border-color-alpha--selected_hover:var(--now-button-stateful--tertiary_highlighted--border-color-alpha--selected_hover);--now-button-stateful--tertiary_highlighted_high-contrast--border-color--selected_active:var(--now-button-stateful--tertiary_highlighted--border-color--selected_active);--now-button-stateful--tertiary_highlighted_high-contrast--border-color-alpha--selected_active:var(--now-button-stateful--tertiary_highlighted--border-color-alpha--selected_active);--now-button-stateful--tertiary_highlighted_high-contrast--color--selected_hover:var(--now-button-stateful--tertiary_high-contrast--color--hover);--now-button-stateful--tertiary_highlighted_high-contrast--color--selected_active:var(--now-button-stateful--tertiary_high-contrast--color--active);--now-button-stateful--tertiary_highlighted_high-contrast--background-color--selected_hover:var(--now-button-stateful--tertiary_highlighted--background-color--selected_hover);--now-button-stateful--tertiary_highlighted_high-contrast--background-color-alpha--selected_hover:var(--now-button-stateful--tertiary_highlighted--background-color-alpha--selected_hover);--now-button-stateful--tertiary_highlighted_high-contrast--background-color--selected_active:var(--now-button-stateful--tertiary_highlighted--background-color--selected_active);--now-button-stateful--tertiary_highlighted_high-contrast--background-color-alpha--selected_active:var(--now-button-stateful--tertiary_highlighted--background-color-alpha--selected_active);--now-button-stateful--tertiary-selection--border-width:var(--now-button-stateful--border-width);--now-button-stateful--tertiary-selection--border-radius:var(--now-button-stateful--border-radius);--now-button-stateful--tertiary-selection--opacity--disabled:var(--now-button-stateful--opacity--disabled);--now-button-stateful--tertiary-selection--border-color--hover:var(--now-color_selection--primary-3);--now-button-stateful--tertiary-selection--border-color-alpha--hover:0;--now-button-stateful--tertiary-selection--border-color--active:var(--now-color_selection--primary-3);--now-button-stateful--tertiary-selection--border-color-alpha--active:0;--now-button-stateful--tertiary-selection--color:var(--now-color_text--tertiary);--now-button-stateful--tertiary-selection--color--hover:var(--now-color_selection--primary-3);--now-button-stateful--tertiary-selection--color--active:var(--now-color_selection--primary-4);--now-button-stateful--tertiary-selection--background-color--hover:var(--now-color_selection--primary-2);--now-button-stateful--tertiary-selection--background-color-alpha--hover:0.1;--now-button-stateful--tertiary-selection--background-color--active:var(--now-color_selection--primary-2);--now-button-stateful--tertiary-selection--background-color-alpha--active:0.25;--now-button-stateful--tertiary-selection--border-color--selected_hover:var(--now-color_selection--primary-3);--now-button-stateful--tertiary-selection--border-color-alpha--selected_hover:0;--now-button-stateful--tertiary-selection--border-color--selected_active:var(--now-color_selection--primary-3);--now-button-stateful--tertiary-selection--border-color-alpha--selected_active:0;--now-button-stateful--tertiary-selection--color--selected:var(--now-color_selection--primary-2);--now-button-stateful--tertiary-selection--color--selected_hover:var(--now-button-stateful--tertiary-selection--color--hover);--now-button-stateful--tertiary-selection--color--selected_active:var(--now-button-stateful--tertiary-selection--color--active);--now-button-stateful--tertiary-selection--background-color--selected_hover:var(--now-button-stateful--tertiary-selection--background-color--hover);--now-button-stateful--tertiary-selection--background-color-alpha--selected_hover:var(--now-button-stateful--tertiary-selection--background-color-alpha--hover);--now-button-stateful--tertiary-selection--background-color--selected_active:var(--now-button-stateful--tertiary-selection--background-color--active);--now-button-stateful--tertiary-selection--background-color-alpha--selected_active:var(--now-button-stateful--tertiary-selection--background-color-alpha--active);--now-button-stateful--tertiary-selection_highlighted--border-color--selected:var(--now-color_selection--primary-3);--now-button-stateful--tertiary-selection_highlighted--border-color-alpha--selected:0;--now-button-stateful--tertiary-selection_highlighted--border-color--selected_hover:var(--now-button-stateful--tertiary-selection_highlighted--border-color--selected);--now-button-stateful--tertiary-selection_highlighted--border-color-alpha--selected_hover:0;--now-button-stateful--tertiary-selection_highlighted--border-color--selected_active:var(--now-button-stateful--tertiary-selection_highlighted--border-color--selected);--now-button-stateful--tertiary-selection_highlighted--border-color-alpha--selected_active:0;--now-button-stateful--tertiary-selection_highlighted--color--selected:var(--now-button-stateful--tertiary-selection--color--selected);--now-button-stateful--tertiary-selection_highlighted--color--selected_hover:var(--now-button-stateful--tertiary-selection--color--selected_hover);--now-button-stateful--tertiary-selection_highlighted--color--selected_active:var(--now-button-stateful--tertiary-selection--color--selected_active);--now-button-stateful--tertiary-selection_highlighted--background-color--selected:var(--now-color_selection--primary-2);--now-button-stateful--tertiary-selection_highlighted--background-color-alpha--selected:0.1;--now-button-stateful--tertiary-selection_highlighted--background-color--selected_hover:var(--now-button-stateful--tertiary-selection_highlighted--background-color--selected);--now-button-stateful--tertiary-selection_highlighted--background-color-alpha--selected_hover:0.1;--now-button-stateful--tertiary-selection_highlighted--background-color--selected_active:var(--now-button-stateful--tertiary-selection_highlighted--background-color--selected);--now-button-stateful--tertiary-selection_highlighted--background-color-alpha--selected_active:0.25;--now-button-stateful--tertiary-selection_high-contrast--border-color--hover:var(--now-button-stateful--tertiary-selection--border-color--hover);--now-button-stateful--tertiary-selection_high-contrast--border-color-alpha--hover:var(--now-button-stateful--tertiary-selection--border-color-alpha--hover);--now-button-stateful--tertiary-selection_high-contrast--border-color--active:var(--now-button-stateful--tertiary-selection--border-color--active);--now-button-stateful--tertiary-selection_high-contrast--border-color-alpha--active:var(--now-button-stateful--primary-selection--border-color-alpha--active);--now-button-stateful--tertiary-selection_high-contrast--color:var(--now-color_text--primary);--now-button-stateful--tertiary-selection_high-contrast--color--hover:var(--now-color_selection--primary-4);--now-button-stateful--tertiary-selection_high-contrast--color--active:var(--now-color_text--primary);--now-button-stateful--tertiary-selection_high-contrast--background-color--hover:var(--now-button-stateful--tertiary-selection--background-color--hover);--now-button-stateful--tertiary-selection_high-contrast--background-color-alpha--hover:var(--now-button-stateful--tertiary-selection--background-color-alpha--hover);--now-button-stateful--tertiary-selection_high-contrast--background-color--active:var(--now-button-stateful--tertiary-selection--background-color--active);--now-button-stateful--tertiary-selection_high-contrast--background-color-alpha--active:var(--now-button-stateful--tertiary-selection--background-color-alpha--active);--now-button-stateful--tertiary-selection_high-contrast--border-color--selected_hover:var(--now-button-stateful--tertiary-selection_high-contrast--border-color--hover);--now-button-stateful--tertiary-selection_high-contrast--border-color-alpha--selected_hover:var(--now-button-stateful--tertiary-selection_high-contrast--border-color-alpha--hover);--now-button-stateful--tertiary-selection_high-contrast--color--selected:var(--now-color_selection--primary-3);--now-button-stateful--tertiary-selection_high-contrast--color--selected_hover:var(--now-button-stateful--tertiary-selection_high-contrast--color--hover);--now-button-stateful--tertiary-selection_high-contrast--color--selected_active:var(--now-button-stateful--tertiary-selection_high-contrast--color--active);--now-button-stateful--tertiary-selection_high-contrast--background-color--selected_hover:var(--now-button-stateful--tertiary-selection_high-contrast--background-color--hover);--now-button-stateful--tertiary-selection_high-contrast--background-color-alpha--selected_hover:var(--now-button-stateful--tertiary-selection_high-contrast--background-color-alpha--hover);--now-button-stateful--tertiary-selection_high-contrast--border-color--selected_active:var(--now-button-stateful--tertiary-selection_high-contrast--border-color--active);--now-button-stateful--tertiary-selection_high-contrast--border-color-alpha--selected_active:var(--now-button-stateful--tertiary-selection_high-contrast--border-color-alpha--active);--now-button-stateful--tertiary-selection_high-contrast--background-color--selected_active:var(--now-button-stateful--tertiary-selection_high-contrast--background-color--active);--now-button-stateful--tertiary-selection_high-contrast--background-color-alpha--selected_active:var(--now-button-stateful--tertiary-selection_high-contrast--background-color-alpha--active);--now-button-stateful--tertiary-selection_highlighted_high-contrast--border-color--selected:var(--now-button-stateful--tertiary-selection_highlighted--border-color--selected);--now-button-stateful--tertiary-selection_highlighted_high-contrast--border-color-alpha--selected:var(--now-button-stateful--tertiary-selection_highlighted--border-color-alpha--selected);--now-button-stateful--tertiary-selection_highlighted_high-contrast--color--selected:var(--now-button-stateful--tertiary-selection_high-contrast--color--selected);--now-button-stateful--tertiary-selection_highlighted_high-contrast--background-color--selected:var(--now-button-stateful--tertiary-selection_highlighted--background-color--selected);--now-button-stateful--tertiary-selection_highlighted_high-contrast--background-color-alpha--selected:var(--now-button-stateful--tertiary-selection_highlighted--background-color-alpha--selected);--now-button-stateful--tertiary-selection_highlighted_high-contrast--border-color--selected_hover:var(--now-button-stateful--tertiary-selection_highlighted--border-color--selected_hover);--now-button-stateful--tertiary-selection_highlighted_high-contrast--border-color-alpha--selected_hover:var( --now-button-stateful--tertiary-selection_highlighted--border-color-alpha--selected_hover );--now-button-stateful--tertiary-selection_highlighted_high-contrast--border-color--selected_active:var(--now-button-stateful--tertiary-selection_highlighted--border-color--selected_active);--now-button-stateful--tertiary-selection_highlighted_high-contrast--border-color-alpha--selected_active:var( --now-button-stateful--tertiary-selection_highlighted--border-color-alpha--selected_active );--now-button-stateful--tertiary-selection_highlighted_high-contrast--color--selected_hover:var(--now-button-stateful--tertiary-selection_high-contrast--color--hover);--now-button-stateful--tertiary-selection_highlighted_high-contrast--color--selected_active:var(--now-button-stateful--tertiary-selection_high-contrast--color--active);--now-button-stateful--tertiary-selection_highlighted_high-contrast--background-color--selected_hover:var(--now-button-stateful--tertiary-selection_highlighted--background-color--selected_hover);--now-button-stateful--tertiary-selection_highlighted_high-contrast--background-color-alpha--selected_hover:var( --now-button-stateful--tertiary-selection_highlighted--background-color-alpha--selected_hover );--now-button-stateful--tertiary-selection_highlighted_high-contrast--background-color--selected_active:var(--now-button-stateful--tertiary-selection_highlighted--background-color--selected_active);--now-button-stateful--tertiary-selection_highlighted_high-contrast--background-color-alpha--selected_active:var( --now-button-stateful--tertiary-selection_highlighted--background-color-alpha--selected_active );--now-button--border-radius:var(--now-actionable--border-radius);--now-button--border-start-start-radius:var(--now-button--border-radius);--now-button--border-start-end-radius:var(--now-button--border-radius);--now-button--border-end-start-radius:var(--now-button--border-radius);--now-button--border-end-end-radius:var(--now-button--border-radius);--now-button--border-width:var(--now-actionable--border-width);--now-button--border-width--disabled:var(--now-button--border-width);--now-button--color--disabled:var(--now-color_text--primary);--now-button--font-family:var(--now-actionable--font-family);--now-button--font-style:var(--now-actionable--font-style);--now-button--font-weight:var(--now-actionable--font-weight);--now-button--scale-size:1;--now-button--scale-size-block:1;--now-button--scale-size-inline:1;--now-button--opacity--disabled:var(--now-actionable--opacity--disabled);--now-button--primary--background-color:var(--now-color--primary-1);--now-button--primary--background-color--active:var(--now-color--primary-3);--now-button--primary--background-color--hover:var(--now-color--primary-2);--now-button--primary--border-color:var(--now-button--primary--color);--now-button--primary--border-color--active:var(--now-button--primary--border-color);--now-button--primary--border-color--hover:var(--now-button--primary--border-color);--now-button--primary--border-radius:var(--now-button--border-radius);--now-button--primary--border-start-start-radius:var(--now-button--primary--border-radius);--now-button--primary--border-start-end-radius:var(--now-button--primary--border-radius);--now-button--primary--border-end-start-radius:var(--now-button--primary--border-radius);--now-button--primary--border-end-end-radius:var(--now-button--primary--border-radius);--now-button--primary--border-width:0;--now-button--primary--color:var(--now-color_text--primary-actionable);--now-button--primary--color--active:var(--now-button--primary--color);--now-button--primary--color--hover:var(--now-button--primary--color);--now-button--primary--opacity--disabled:var(--now-button--opacity--disabled);--now-button_icon--primary--color:var(--now-button--primary--color);--now-button_icon--primary--color--active:var(--now-button--primary--color--active);--now-button_icon--primary--color--hover:var(--now-button--primary--color--hover);--now-button--primary_highlighted--background-color--selected:var(--now-color--primary-1);--now-button--primary_highlighted--background-color--selected_active:var(--now-button--primary_highlighted--background-color--selected);--now-button--primary_highlighted--background-color--selected_hover:var(--now-button--primary_highlighted--background-color--selected);--now-button--primary-negative--background-color:var(--now-color_alert--critical-3);--now-button--primary-negative--background-color--active:var(--now-color_alert--critical-5);--now-button--primary-negative--background-color--hover:var(--now-color_alert--critical-4);--now-button--primary-negative--border-color:var(--now-button--primary-negative--color);--now-button--primary-negative--border-color--active:var(--now-button--primary-negative--border-color);--now-button--primary-negative--border-color--hover:var(--now-button--primary-negative--border-color);--now-button--primary-negative--border-radius:var(--now-button--border-radius);--now-button--primary-negative--border-start-start-radius:var(--now-button--primary-negative--border-radius);--now-button--primary-negative--border-start-end-radius:var(--now-button--primary-negative--border-radius);--now-button--primary-negative--border-end-start-radius:var(--now-button--primary-negative--border-radius);--now-button--primary-negative--border-end-end-radius:var(--now-button--primary-negative--border-radius);--now-button--primary-negative--border-width:var(--now-button--primary--border-width);--now-button--primary-negative--color:var(--now-button--primary--color);--now-button--primary-negative--color--active:var(--now-button--primary-negative--color);--now-button--primary-negative--color--hover:var(--now-button--primary-negative--color);--now-button--primary-negative--opacity--disabled:var(--now-button--opacity--disabled);--now-button_icon--primary-negative--color:var(--now-button--primary-negative--color);--now-button_icon--primary-negative--color--active:var(--now-button--primary-negative--color--active);--now-button_icon--primary-negative--color--hover:var(--now-button--primary-negative--color--hover);--now-button--primary-positive--background-color:var(--now-color_alert--positive-3);--now-button--primary-positive--background-color--active:var(--now-color_alert--positive-5);--now-button--primary-positive--background-color--hover:var(--now-color_alert--positive-4);--now-button--primary-positive--border-color:var(--now-button--primary-positive--color);--now-button--primary-positive--border-color--active:var(--now-button--primary-positive--border-color);--now-button--primary-positive--border-color--hover:var(--now-button--primary-positive--border-color);--now-button--primary-positive--border-radius:var(--now-button--border-radius);--now-button--primary-positive--border-start-start-radius:var(--now-button--primary-positive--border-radius);--now-button--primary-positive--border-start-end-radius:var(--now-button--primary-positive--border-radius);--now-button--primary-positive--border-end-start-radius:var(--now-button--primary-positive--border-radius);--now-button--primary-positive--border-end-end-radius:var(--now-button--primary-positive--border-radius);--now-button--primary-positive--border-width:var(--now-button--primary--border-width);--now-button--primary-positive--color:var(--now-button--primary--color);--now-button--primary-positive--color--active:var(--now-button--primary-positive--color);--now-button--primary-positive--color--hover:var(--now-button--primary-positive--color);--now-button--primary-positive--opacity--disabled:var(--now-button--opacity--disabled);--now-button_icon--primary-positive--color:var(--now-button--primary-positive--color);--now-button_icon--primary-positive--color--active:var(--now-button--primary-positive--color--active);--now-button_icon--primary-positive--color--hover:var(--now-button--primary-positive--color--hover);--now-button--primary-selection--color:var(--now-color_selection--primary-3);--now-button--primary-selection--color--active:var(--now-color_text--primary);--now-button--primary-selection--color--hover:var(--now-color_selection--primary-4);--now-button--primary-selection--background-color--active:var(--now-color_selection--primary-2);--now-button--primary-selection--background-color--hover:var(--now-color_selection--primary-2);--now-button--primary-selection_high-contrast--color:var(--now-color_selection--primary-4);--now-button--primary-selection_high-contrast--color--active:var(--now-color_text--primary);--now-button--primary-selection_high-contrast--color--hover:var(--now-color_text--primary);--now-button--primary-selection_highlighted--background-color--selected:var(--now-color_selection--primary-2);--now-button--primary-selection_highlighted--background-color--selected_active:var(--now-button--primary-selection_highlighted--background-color--selected);--now-button--primary-selection_highlighted--background-color--selected_hover:var(--now-button--primary-selection_highlighted--background-color--selected);--now-button--secondary--background-color:var(--now-color_background--tertiary);--now-button--secondary--background-color--active:var(--now-color--secondary-1);--now-button--secondary--background-color--hover:var(--now-color--secondary-1);--now-button--secondary--background-color-alpha:0;--now-button--secondary--background-color-alpha--active:var(--now-opacity--less);--now-button--secondary--background-color-alpha--hover:var(--now-opacity--least);--now-button--secondary--border-color:var(--now-color--secondary-1);--now-button--secondary--border-color--active:var(--now-color--secondary-3);--now-button--secondary--border-color--hover:var(--now-color--secondary-2);--now-button--secondary--border-radius:var(--now-button--border-radius);--now-button--secondary--border-start-start-radius:var(--now-button--secondary--border-radius);--now-button--secondary--border-start-end-radius:var(--now-button--secondary--border-radius);--now-button--secondary--border-end-start-radius:var(--now-button--secondary--border-radius);--now-button--secondary--border-end-end-radius:var(--now-button--secondary--border-radius);--now-button--secondary--border-width:var(--now-button--border-width);--now-button--secondary--color:var(--now-color--secondary-1);--now-button--secondary--color--active:var(--now-color--secondary-3);--now-button--secondary--color--hover:var(--now-color--secondary-2);--now-button--secondary--opacity--disabled:var(--now-button--opacity--disabled);--now-button_icon--secondary--color:var(--now-button--secondary--color);--now-button_icon--secondary--color--active:var(--now-button--secondary--color--active);--now-button_icon--secondary--color--hover:var(--now-button--secondary--color--hover);--now-button--secondary_highlighted--background-color--selected:var(--now-color--secondary-1);--now-button--secondary_highlighted--background-color--selected_active:var(--now-button--secondary_highlighted--background-color--selected);--now-button--secondary_highlighted--background-color--selected_hover:var(--now-button--secondary_highlighted--background-color--selected);--now-button--secondary-negative--background-color:var(--now-color_alert--critical-0);--now-button--secondary-negative--background-color--active:var(--now-color_alert--critical-3);--now-button--secondary-negative--background-color--hover:var(--now-color_alert--critical-3);--now-button--secondary-negative--background-color-alpha:0;--now-button--secondary-negative--background-color-alpha--active:var(--now-opacity--less);--now-button--secondary-negative--background-color-alpha--hover:var(--now-opacity--least);--now-button--secondary-negative--border-color:var(--now-color_alert--critical-3);--now-button--secondary-negative--border-color--active:var(--now-color_alert--critical-5);--now-button--secondary-negative--border-color--hover:var(--now-color_alert--critical-4);--now-button--secondary-negative--border-radius:var(--now-button--border-radius);--now-button--secondary-negative--border-start-start-radius:var(--now-button--secondary-negative--border-radius);--now-button--secondary-negative--border-start-end-radius:var(--now-button--secondary-negative--border-radius);--now-button--secondary-negative--border-end-start-radius:var(--now-button--secondary-negative--border-radius);--now-button--secondary-negative--border-end-end-radius:var(--now-button--secondary-negative--border-radius);--now-button--secondary-negative--border-width:var(--now-button--border-width);--now-button--secondary-negative--color:var(--now-color_alert--critical-3);--now-button--secondary-negative--color--active:var(--now-color_alert--critical-5);--now-button--secondary-negative--color--hover:var(--now-color_alert--critical-4);--now-button--secondary-negative--opacity--disabled:var(--now-button--opacity--disabled);--now-button_icon--secondary-negative--color:var(--now-button--secondary-negative--color);--now-button_icon--secondary-negative--color--active:var(--now-button--secondary-negative--color--active);--now-button_icon--secondary-negative--color--hover:var(--now-button--secondary-negative--color--hover);--now-button--secondary-positive--background-color:var(--now-color_alert--positive-0);--now-button--secondary-positive--background-color--active:var(--now-color_alert--positive-3);--now-button--secondary-positive--background-color--hover:var(--now-color_alert--positive-3);--now-button--secondary-positive--background-color-alpha:0;--now-button--secondary-positive--background-color-alpha--active:var(--now-opacity--less);--now-button--secondary-positive--background-color-alpha--hover:var(--now-opacity--least);--now-button--secondary-positive--border-color:var(--now-color_alert--positive-3);--now-button--secondary-positive--border-color--active:var(--now-color_alert--positive-5);--now-button--secondary-positive--border-color--hover:var(--now-color_alert--positive-4);--now-button--secondary-positive--border-radius:var(--now-button--border-radius);--now-button--secondary-positive--border-start-start-radius:var(--now-button--secondary-positive--border-radius);--now-button--secondary-positive--border-start-end-radius:var(--now-button--secondary-positive--border-radius);--now-button--secondary-positive--border-end-start-radius:var(--now-button--secondary-positive--border-radius);--now-button--secondary-positive--border-end-end-radius:var(--now-button--secondary-positive--border-radius);--now-button--secondary-positive--border-width:var(--now-button--border-width);--now-button--secondary-positive--color:var(--now-color_alert--positive-3);--now-button--secondary-positive--color--active:var(--now-color_alert--positive-5);--now-button--secondary-positive--color--hover:var(--now-color_alert--positive-4);--now-button--secondary-positive--opacity--disabled:var(--now-button--opacity--disabled);--now-button_icon--secondary-positive--color:var(--now-button--secondary-positive--color);--now-button_icon--secondary-positive--color--active:var(--now-button--secondary-positive--color--active);--now-button_icon--secondary-positive--color--hover:var(--now-button--secondary-positive--color--hover);--now-button--secondary-selection--color:var(--now-color_selection--primary-2);--now-button--secondary-selection--color--active:var(--now-color_selection--primary-4);--now-button--secondary-selection--color--hover:var(--now-color_selection--primary-3);--now-button--secondary-selection--background-color--active:var(--now-color_selection--primary-2);--now-button--secondary-selection--background-color--hover:var(--now-color_selection--primary-2);--now-button--secondary-selection_high-contrast--color:var(--now-color_selection--primary-3);--now-button--secondary-selection_high-contrast--color--active:var(--now-color_text--primary);--now-button--secondary-selection_high-contrast--color--hover:var(--now-color_selection--primary-4);--now-button--secondary-selection_highlighted--background-color--selected:var(--now-color_selection--primary-2);--now-button--secondary-selection_highlighted--background-color--selected_active:var(--now-button--secondary-selection_highlighted--background-color--selected);--now-button--secondary-selection_highlighted--background-color--selected_hover:var(--now-button--secondary-selection_highlighted--background-color--selected);--now-button--tertiary--background-color:var(--now-color_background--secondary-actionable);--now-button--tertiary--background-color--active:var(--now-button--tertiary--background-color);--now-button--tertiary--background-color--hover:var(--now-button--tertiary--background-color);--now-button--tertiary--background-color-alpha:0;--now-button--tertiary--background-color-alpha--active:var(--now-opacity--less);--now-button--tertiary--background-color-alpha--hover:var(--now-opacity--least);--now-button--tertiary--border-color:var(--now-color_border--tertiary-actionable);--now-button--tertiary--border-color--active:var(--now-color_border--primary-actionable);--now-button--tertiary--border-color--hover:var(--now-color_border--secondary-actionable);--now-button--tertiary--border-color-alpha:1;--now-button--tertiary--border-color-alpha--active:var(--now-button--tertiary--border-color-alpha);--now-button--tertiary--border-color-alpha--hover:var(--now-button--tertiary--border-color-alpha);--now-button--tertiary--border-radius:var(--now-button--border-radius);--now-button--tertiary--border-start-start-radius:var(--now-button--tertiary--border-radius);--now-button--tertiary--border-start-end-radius:var(--now-button--tertiary--border-radius);--now-button--tertiary--border-end-start-radius:var(--now-button--tertiary--border-radius);--now-button--tertiary--border-end-end-radius:var(--now-button--tertiary--border-radius);--now-button--tertiary--border-width:var(--now-button--border-width);--now-button--tertiary--color:var(--now-color_text--tertiary);--now-button--tertiary--color--active:var(--now-color_text--primary);--now-button--tertiary--color--hover:var(--now-color_text--secondary);--now-button--tertiary--color-alpha:1;--now-button--tertiary--color-alpha--active:var(--now-button--tertiary--color-alpha);--now-button--tertiary--color-alpha--hover:var(--now-button--tertiary--color-alpha);--now-button--tertiary--opacity--disabled:var(--now-button--opacity--disabled);--now-button_icon--tertiary--color:var(--now-button--tertiary--color);--now-button_icon--tertiary--color--active:var(--now-button--tertiary--color--active);--now-button_icon--tertiary--color--hover:var(--now-button--tertiary--color--hover);--now-button--tertiary_highlighted--background-color--selected:var(--now-color--neutral-12);--now-button--tertiary_highlighted--background-color--selected_active:var(--now-button--tertiary_highlighted--background-color--selected);--now-button--tertiary_highlighted--background-color--selected_hover:var(--now-button--tertiary_highlighted--background-color--selected);--now-button--tertiary-selection--color:var(--now-button--tertiary--color);--now-button--tertiary-selection--color--active:var(--now-color_selection--primary-4);--now-button--tertiary-selection--color--hover:var(--now-color_selection--primary-3);--now-button--tertiary-selection--color--selected:var(--now-color_selection--primary-2);--now-button--tertiary-selection--color--selected_active:var(--now-button--tertiary-selection--color--active);--now-button--tertiary-selection--color--selected_hover:var(--now-button--tertiary-selection--color--hover);--now-button--tertiary-selection--background-color--active:var(--now-color_selection--primary-2);--now-button--tertiary-selection--background-color--hover:var(--now-color_selection--primary-2);--now-button--tertiary-selection_highlighted--background-color--selected:var(--now-color_selection--primary-2);--now-button--tertiary-selection_highlighted--background-color--selected_active:var(--now-button--tertiary-selection_highlighted--background-color--selected);--now-button--tertiary-selection_highlighted--background-color--selected_hover:var(--now-button--tertiary-selection_highlighted--background-color--selected);--now-button--text-transform:var(--now-actionable--text-transform);--now-button--text-wrap:normal;--now-card-divider--color:var(--now-color_divider--tertiary);--now-card-divider--width:1px;--now-card-footer--color:var(--now-color_text--tertiary);--now-card-footer--font-family:var(--now-card--font-family);--now-card-footer--font-style:var(--now-card--font-style);--now-card-footer--font-weight:var(--now-card--font-weight);--now-card-footer--text-transform:var(--now-card--text-transform);--now-card-header_caption--color:var(--now-color_text--tertiary);--now-card-header_caption--font-family:var(--now-card--font-family);--now-card-header_caption--font-style:var(--now-card--font-style);--now-card-header_caption--font-weight:var(--now-card--font-weight);--now-card-header_caption--text-transform:var(--now-card--text-transform);--now-card-header_heading--header--font-family:var(--now-display-type--header-primary--font-family);--now-card-header_heading--header--font-style:var(--now-display-type--header-primary--font-style);--now-card-header_heading--header--font-weight:var(--now-display-type--header-primary--font-weight);--now-card-header_heading--header--text-transform:var(--now-display-type--header-primary--text-transform);--now-card-header_heading--title--font-family:var(--now-display-type--title-primary--font-family);--now-card-header_heading--title--font-style:var(--now-display-type--title-primary--font-style);--now-card-header_heading--title--font-weight:var(--now-display-type--title-primary--font-weight);--now-card-header_heading--title--text-transform:var(--now-display-type--title-primary--text-transform);--now-card-header_heading--primary--color:var(--now-color_text--secondary);--now-card-header_heading--secondary--color:var(--now-color_text--primary);--now-card-header_heading--tertiary--color:var(--now-color_text--secondary);--now-card-header_tagline--font-family:var(--now-card--font-family);--now-card-header_tagline--font-style:var(--now-card--font-style);--now-card-header_tagline--font-weight:var(--now-card--font-weight);--now-card-header_tagline--secondary--color:var(--now-color--secondary-1);--now-card-header_tagline--tertiary--color:var(--now-color_text--tertiary);--now-card-header_tagline--text-transform:var(--now-card--text-transform);--now-card_sidebar--primary_critical--background-color:var(--now-color_alert--critical-2);--now-card_sidebar--primary_high--background-color:var(--now-color_alert--high-2);--now-card_sidebar--primary_info--background-color:var(--now-color_alert--info-2);--now-card_sidebar--primary_low--background-color:var(--now-color_alert--low-2);--now-card_sidebar--primary_moderate--background-color:var(--now-color_alert--moderate-2);--now-card_sidebar--primary_positive--background-color:var(--now-color_alert--positive-2);--now-card_sidebar--primary_warning--background-color:var(--now-color_alert--warning-2);--now-card_sidebar--secondary_critical--background-color:var(--now-color_alert--critical-1);--now-card_sidebar--secondary_high--background-color:var(--now-color_alert--high-1);--now-card_sidebar--secondary_info--background-color:var(--now-color_alert--info-1);--now-card_sidebar--secondary_low--background-color:var(--now-color_alert--low-1);--now-card_sidebar--secondary_moderate--background-color:var(--now-color_alert--moderate-1);--now-card_sidebar--secondary_positive--background-color:var(--now-color_alert--positive-1);--now-card_sidebar--secondary_warning--background-color:var(--now-color_alert--warning-1);--now-card_sidebar--tertiary_critical--background-color:var(--now-color_alert--critical-0);--now-card_sidebar--tertiary_high--background-color:var(--now-color_alert--high-0);--now-card_sidebar--tertiary_info--background-color:var(--now-color_alert--info-0);--now-card_sidebar--tertiary_low--background-color:var(--now-color_alert--low-0);--now-card_sidebar--tertiary_moderate--background-color:var(--now-color_alert--moderate-0);--now-card_sidebar--tertiary_positive--background-color:var(--now-color_alert--positive-0);--now-card_sidebar--tertiary_warning--background-color:var(--now-color_alert--warning-0);--now-card--background-color:var(--now-color_background--primary);--now-card--background-color--active:var(--now-card--background-color);--now-card--background-color--hover:var(--now-card--background-color);--now-card--background-color--selected:var(--now-card--background-color);--now-card--background-color-alpha:1;--now-card--background-color-alpha--active:var(--now-card--background-color-alpha);--now-card--background-color-alpha--hover:var(--now-card--background-color-alpha);--now-card--background-color-alpha--selected:var(--now-card--background-color-alpha);--now-card--border-color:var(--now-color_border--tertiary);--now-card--border-color--active:var(--now-color--primary-3);--now-card--border-color--hover:var(--now-color_border--secondary);--now-card--border-color--selected:var(--now-color--primary-1);--now-card--border-radius:var(--now-container--border-radius);--now-card--border-width:var(--now-container--border-width);--now-card--font-family:var(--now-container--font-family);--now-card--font-style:var(--now-container--font-style);--now-card--font-weight:var(--now-container--font-weight);--now-card--scale-size:1;--now-card--scale-size-block:1;--now-card--scale-size-inline:1;--now-card--text-transform:var(--now-container--text-transform);--now-checkbox_focus-ring--border-color--focus:var(--now-color_background--primary);--now-checkbox_focus-ring--border-color--invalid_focus:var(--now-color_background--primary);--now-checkbox_focus-ring--width:6px;--now-checkbox_icon--color:var(--now-color_text--primary-actionable);--now-checkbox_icon--color--hover:var(--now-checkbox_icon--color);--now-checkbox_icon--color--invalid:var(--now-checkbox_icon--color);--now-checkbox_icon--color--readonly:var(--now-color_text--tertiary);--now-checkbox_label--color:var(--now-color_text--primary);--now-checkbox_required-indicator--color:var(--now-color_text--tertiary);--now-checkbox_required-indicator--color--invalid:var(--now-color_alert--critical-2);--now-checkbox--background-color:var(--now-color_background--primary);--now-checkbox--background-color--active:var(--now-color--primary-0);--now-checkbox--background-color--checked:var(--now-color--primary-1);--now-checkbox--background-color--checked_active:var(--now-checkbox--background-color--checked);--now-checkbox--background-color--checked_hover:var(--now-color--primary-2);--now-checkbox--background-color--checked_invalid:var(--now-color_alert--critical-3);--now-checkbox--background-color--checked_invalid_active:var(--now-checkbox--background-color--checked_invalid);--now-checkbox--background-color--checked_invalid_focus:var(--now-checkbox--background-color--checked_invalid);--now-checkbox--background-color--checked_invalid_hover:var(--now-color_alert--critical-4);--now-checkbox--background-color--checked_readonly:var(--now-checkbox--background-color--readonly);--now-checkbox--background-color--hover:var(--now-color--primary-0);--now-checkbox--background-color--invalid:var(--now-checkbox--background-color);--now-checkbox--background-color--invalid_focus:var(--now-checkbox--background-color);--now-checkbox--background-color--invalid_hover:var(--now-color_alert--critical-0);--now-checkbox--background-color--invalid_active:var(--now-checkbox--background-color--invalid_hover);--now-checkbox--background-color--readonly:var(--now-color_background--tertiary);--now-checkbox--background-color-alpha--checked:1;--now-checkbox--background-color-alpha--checked_active:1;--now-checkbox--background-color-alpha--checked_hover:1;--now-checkbox--background-color-alpha--checked_invalid:1;--now-checkbox--background-color-alpha--checked_invalid_active:1;--now-checkbox--background-color-alpha--checked_invalid_focus:1;--now-checkbox--background-color-alpha--invalid:1;--now-checkbox--border-color:var(--now-color_border--primary);--now-checkbox--border-color--checked:var(--now-color--primary-1);--now-checkbox--border-color--checked_active:var(--now-color--primary-1);--now-checkbox--border-color--checked_focus:var(--now-color--focus-2);--now-checkbox--border-color--checked_hover:var(--now-color--primary-2);--now-checkbox--border-color--checked_invalid:var(--now-color_alert--critical-3);--now-checkbox--border-color--checked_invalid_active:var(--now-color_alert--critical-3);--now-checkbox--border-color--checked_invalid_focus:var(--now-color_alert--critical-2);--now-checkbox--border-color--checked_invalid_hover:var(--now-color_alert--critical-4);--now-checkbox--border-color--checked_readonly:var(--now-checkbox--border-color--readonly);--now-checkbox--border-color--focus:var(--now-color_focus-ring);--now-checkbox--border-color--hover:var(--now-color--primary-1);--now-checkbox--border-color--invalid:var(--now-color_alert--critical-2);--now-checkbox--border-color--invalid_active:var(--now-color_alert--critical-2);--now-checkbox--border-color--invalid_hover:var(--now-color_alert--critical-2);--now-checkbox--border-color--readonly:var(--now-checkbox--background-color--readonly);--now-checkbox--border-radius:var(--now-form-control--border-radius);--now-checkbox--font-family:var(--now-form-control--font-family);--now-checkbox--font-style:var(--now-form-control--font-style);--now-checkbox--font-weight:var(--now-form-control--font-weight);--now-checkbox--opacity--disabled:var(--now-opacity--less);--now-checkbox--text-transform:var(--now-form-control--text-transform);--now-checkbox--scale-size:1;--now-checkbox--scale-size-block:1;--now-checkbox--scale-size-inline:1;--now-color-selector-panel--scale-size-inline:1;--now-color-selector-panel--scale-size-block:1;--now-color-selector-panel_footer--scale-size-inline:1;--now-color-selector-panel_footer--scale-size-block:1;--now-color-selector-panel--background-color:var(--now-color_background--primary);--now-color-selector-panel_label--background-color:var(--now-color_background--secondary);--now-color-selector-panel_footer--background-color:var(--now-color-selector-panel--background-color);--now-color-selector-panel--border-color:var(--now-color_border--tertiary);--now-color-selector-panel_swatch--border-color:var(--now-color_border--primary);--now-color-selector-panel_swatch--border-color--selected:var(--now-color_text--primary-actionable);--now-color-selector-panel_swatch--border-color--hover:var(--now-color-selector-panel_swatch--border-color--selected);--now-color-selector-panel_swatch--border-color--focus:var(--now-color-selector-panel_swatch--border-color--selected);--now-color-selector-panel_footer_divider--color:var(--now-color_divider--tertiary);--now-color-selector-panel--border-width:1px;--now-color-selector-panel_footer_divider--width:var(--now-color-selector-panel--border-width);--now-color-selector-panel_swatch--border-width:var(--now-color-selector-panel--border-width);--now-color-selector-panel--border-radius:4px;--now-color-selector-panel_swatch--border-radius:var(--now-color-selector-panel--border-radius);--now-color-selector-panel_saturation-value--border-radius:var(--now-color-selector-panel--border-radius);--now-color-selector-panel_slider--border-radius:2px;--now-color-selector-panel--font-style:var(--now-menu--font-style);--now-color-selector-panel--font-family:var(--now-menu--font-family);--now-color-selector-panel--font-weight:var(--now-menu--font-weight);--now-color-selector-panel--text-transform:var(--now-menu--text-transform);--now-color-selector-panel_label--font-weight:var(--now-color-selector-panel--font-weight);--now-color-selector-panel_label--font-family:var(--now-color-selector-panel--font-family);--now-color-selector-panel_label--text-transform:var(--now-color-selector-panel--text-transform);--now-color-selector-panel_footer--font-style:var(--now-color-selector-panel--font-style);--now-color-selector-panel_footer--font-weight:var(--now-color-selector-panel--font-weight);--now-color-selector-panel_footer--font-family:var(--now-color-selector-panel--font-family);--now-color-selector-panel_footer--text-transform:var(--now-color-selector-panel--text-transform);--now-color-selector--scale-size-inline:1;--now-color-selector--scale-size-block:1;--now-color-selector--border-radius:4px;--now-color-selector--border-color:var(--now-color_text--primary-actionable);--now-color-selector--border-width:1px;--now-color-selector--font-style:var(--now-menu--font-style);--now-color-selector--font-family:var(--now-menu--font-family);--now-color-selector--font-weight:var(--now-menu--font-weight);--now-color-selector--text-transform:var(--now-menu--text-transform);--now-color-selector_button--border-radius:var(--now-color-selector--border-radius);--now-color-selector_button--border-color:var(--now-color-selector--border-color);--now-color-selector_button--border-color--hover:var(--now-color-selector--border-color);--now-color-selector_button--border-color--focus:var(--now-color-selector--border-color);--now-color-selector_button--border-width:var(--now-color-selector--border-width);--now-color-selector_button_swatch--border-radius:var(--now-color-selector_button--border-radius);--now-color-selector_button_swatch--border-color:var(--now-color_border--primary);--now-color-selector_button_swatch--border-width:var(--now-color-selector_button--border-width);--now-color-selector_select--border-radius:var(--now-color-selector--border-radius);--now-color-selector_select--border-color:var(--now-color_border--primary);--now-color-selector_select--border-color--hover:var(--now-color--primary-1);--now-color-selector_select--border-width:var(--now-color-selector--border-width);--now-color-selector_select--background-color--hover:var(--now-color--primary-0);--now-color-selector_select--border-color--focus:var(--now-color_focus-ring);--now-color-selector_select_swatch--border-radius:var(--now-color-selector_select--border-radius);--now-color-selector_select_swatch--border-width:var(--now-color-selector_select--border-width);--now-color-selector_select_swatch--border-color:var(--now-color_border--primary);--now-color-selector-panel_icon--critical--color:var(--now-color_alert--critical-2);--now-color-selector-panel_icon--positive--color:var(--now-color_alert--positive-2);--now-color-selector-panel_icon--info--color:var(--now-color_text--primary);--now-content-tree_divider--color:var(--now-color_divider--tertiary);--now-content-tree_dragdrop--background-color:var(--now-color_background--primary);--now-content-tree_dragdrop--color:var(--now-color_alert--info-2);--now-content-tree_drop-target-parent--border-color:var(--now-color_alert--info-2);--now-content-tree_icon--color--error:var(--now-color_alert--critical-2);--now-content-tree_icon-identifier--color:var(--now-content-tree--color);--now-content-tree_icon-identifier--placeholder--color:var(--now-content-tree_placeholder--color);--now-content-tree_label--color--error:var(--now-color_text--tertiary);--now-content-tree_label--color--loading:var(--now-color--primary-1);--now-content-tree_placeholder--color:var(--now-color_text--primary);--now-content-tree_placeholder--color--selected:var(--now-color--secondary-3);--now-content-tree_placeholder--color--active:var(--now-color--secondary-3);--now-content-tree_placeholder--color--hover:var(--now-color--secondary-1);--now-content-tree_placeholder--font-style:italic;--now-content-tree_placeholder--font-weight:600;--now-content-tree_sidebar--background-color--selected:var(--now-color_selection--primary-2);--now-content-tree_trigger--background-color--active:var(--now-color--secondary-2);--now-content-tree_trigger--background-color--hover:var(--now-color--secondary-2);--now-content-tree_trigger--background-color-alpha--active:var(--now-opacity--less);--now-content-tree_trigger--background-color-alpha--hover:var(--now-opacity--least);--now-content-tree_trigger--color:var(--now-color_text--tertiary);--now-content-tree_trigger--color--active:var(--now-content-tree_trigger--color);--now-content-tree_trigger--color--hover:var(--now-color--secondary-1);--now-content-tree--background-color:var(--now-color_background--primary);--now-content-tree--background-color--hover:var(--now-color_selection--primary-0);--now-content-tree--background-color--selected:var(--now-color_selection--primary-0);--now-content-tree--background-color--selected-child:var(--now-color--neutral-9);--now-content-tree--background-color-alpha:0;--now-content-tree--background-color-alpha--hover:var(--now-opacity--less);--now-content-tree--color:var(--now-color_text--primary);--now-content-tree--color--hover:var(--now-content-tree--color);--now-content-tree--color--selected:var(--now-content-tree--color);--now-content-tree--font-family:var(--now-navigation--font-family);--now-content-tree--font-style:var(--now-navigation--font-style);--now-content-tree--font-weight:var(--now-navigation--font-weight);--now-content-tree--text-transform:var(--now-navigation--text-transform);--now-content-tree--opacity--disabled:var(--now-opacity--less);--now-date-time--scale-size-inline:1;--now-date-time--scale-size-block:1;--now-date-time_cell--scale-size:1;--now-date-time_footer--scale-size:1;--now-date-time--background-color:var(--now-color_background--primary);--now-date-time--font-family:var(--now-menu--font-family);--now-date-time--font-style:var(--now-menu--font-style);--now-date-time--font-weight:bold;--now-date-time--opacity--disabled:var(--now-opacity--less);--now-date-time--text-transform:var(--now-menu--text-transform);--now-date-time_cell--background-color:var(--now-date-time--background-color);--now-date-time_cell--background-color--active:var(--now-color--secondary-1);--now-date-time_cell--background-color--adjacent:var(--now-date-time_cell--background-color);--now-date-time_cell--background-color--adjacent_active:var(--now-date-time_cell--background-color--active);--now-date-time_cell--background-color--adjacent_hover:var(--now-date-time_cell--background-color--hover);--now-date-time_cell--background-color--hover:var(--now-color--secondary-1);--now-date-time_cell--background-color--now:var(--now-date-time_cell--background-color);--now-date-time_cell--background-color--now_active:var(--now-date-time_cell--background-color--active);--now-date-time_cell--background-color--now_hover:var(--now-date-time_cell--background-color--hover);--now-date-time_cell--background-color--preview:var(--now-color_selection--secondary-0);--now-date-time_cell--background-color--range:var(--now-color_selection--secondary-0);--now-date-time_cell--background-color--range_active:var(--now-color_selection--secondary-2);--now-date-time_cell--background-color--range_hover:var(--now-color_selection--secondary-1);--now-date-time_cell--background-color--selected:var(--now-color--secondary-1);--now-date-time_cell--background-color--selected_active:var(--now-color--secondary-3);--now-date-time_cell--background-color--selected_hover:var(--now-color--secondary-2);--now-date-time_cell--background-color--week-preview:var(--now-color--secondary-1);--now-date-time_cell--background-color--week-preview_active:var(--now-date-time_cell--background-color--week-preview);--now-date-time_cell--background-color--week-preview_hover:var(--now-date-time_cell--background-color--week-preview);--now-date-time_cell--background-color--week-range:var(--now-color--interactive-0);--now-date-time_cell--background-color--week-range_active:var(--now-date-time_cell--background-color--week-range);--now-date-time_cell--background-color--week-range_hover:var(--now-date-time_cell--background-color--week-range);--now-date-time_cell--background-color-alpha:0;--now-date-time_cell--background-color-alpha--active:var(--now-opacity--less);--now-date-time_cell--background-color-alpha--adjacent:var(--now-date-time_cell--background-color-alpha);--now-date-time_cell--background-color-alpha--adjacent_active:var(--now-date-time_cell--background-color-alpha--active);--now-date-time_cell--background-color-alpha--adjacent_hover:var(--now-date-time_cell--background-color-alpha--hover);--now-date-time_cell--background-color-alpha--hover:var(--now-opacity--least);--now-date-time_cell--background-color-alpha--now:var(--now-date-time_cell--background-color-alpha);--now-date-time_cell--background-color-alpha--now_active:var(--now-date-time_cell--background-color-alpha--active);--now-date-time_cell--background-color-alpha--now_hover:var(--now-date-time_cell--background-color-alpha--hover);--now-date-time_cell--background-color-alpha--preview:1;--now-date-time_cell--background-color-alpha--range:1;--now-date-time_cell--background-color-alpha--range_active:1;--now-date-time_cell--background-color-alpha--range_hover:1;--now-date-time_cell--background-color-alpha--selected:1;--now-date-time_cell--background-color-alpha--selected_active:1;--now-date-time_cell--background-color-alpha--selected_hover:1;--now-date-time_cell--background-color-alpha--week-preview:var(--now-opacity--least);--now-date-time_cell--background-color-alpha--week-preview_active:var(--now-date-time_cell--background-color-alpha--week-preview);--now-date-time_cell--background-color-alpha--week-preview_hover:var(--now-date-time_cell--background-color-alpha--week-preview);--now-date-time_cell--background-color-alpha--week-range:1;--now-date-time_cell--background-color-alpha--week-range_active:var(--now-date-time_cell--background-color-alpha--week-range);--now-date-time_cell--background-color-alpha--week-range_hover:var(--now-date-time_cell--background-color-alpha--week-range);--now-date-time_cell--border-color:var(--now-color_border--primary);--now-date-time_cell--border-color--active:var(--now-date-time_cell--border-color);--now-date-time_cell--border-color--adjacent:var(--now-date-time_cell--border-color);--now-date-time_cell--border-color--adjacent_active:var(--now-date-time_cell--border-color--active);--now-date-time_cell--border-color--adjacent_hover:var(--now-date-time_cell--border-color--hover);--now-date-time_cell--border-color--now:var(--now-color--secondary-1);--now-date-time_cell--border-color--now_active:var(--now-color--secondary-3);--now-date-time_cell--border-color--now_hover:var(--now-color--secondary-2);--now-date-time_cell--border-color--hover:var(--now-date-time_cell--border-color);--now-date-time_cell--border-color--preview:var(--now-date-time_cell--border-color);--now-date-time_cell--border-color--range:var(--now-date-time_cell--border-color);--now-date-time_cell--border-color--range_active:var(--now-date-time_cell--border-color--active);--now-date-time_cell--border-color--range_hover:var(--now-date-time_cell--border-color--hover);--now-date-time_cell--border-color--selected:var(--now-date-time_cell--border-color);--now-date-time_cell--border-color--selected_active:var(--now-date-time_cell--border-color--active);--now-date-time_cell--border-color--selected_hover:var(--now-date-time_cell--border-color--hover);--now-date-time_cell--border-color--week:var(--now-date-time_cell--border-color);--now-date-time_cell--border-color--week-preview:var(--now-date-time_cell--border-color);--now-date-time_cell--border-color--week-preview_active:var(--now-date-time_cell--border-color--week-preview);--now-date-time_cell--border-color--week-preview_hover:var(--now-date-time_cell--border-color--week-preview);--now-date-time_cell--border-color--week-range:var(--now-date-time_cell--border-color);--now-date-time_cell--border-color--week-range_active:var(--now-date-time_cell--border-color--week-range);--now-date-time_cell--border-color--week-range_hover:var(--now-date-time_cell--border-color--week-range);--now-date-time_cell--border-radius:4px;--now-date-time_cell--border-radius--now:var(--now-date-time_cell--border-radius);--now-date-time_cell--border-radius--adjacent:var(--now-date-time_cell--border-radius);--now-date-time_cell--border-radius--preview:var(--now-date-time_cell--border-radius);--now-date-time_cell--border-radius--range:var(--now-date-time_cell--border-radius);--now-date-time_cell--border-radius--selected:var(--now-date-time_cell--border-radius);--now-date-time_cell--border-radius--week:var(--now-date-time_cell--border-radius);--now-date-time_cell--border-radius--week-preview:var(--now-date-time_cell--border-radius);--now-date-time_cell--border-radius--week-range:var(--now-date-time_cell--border-radius);--now-date-time_cell--border-width:0px;--now-date-time_cell--border-width--adjacent:var(--now-date-time_cell--border-width);--now-date-time_cell--border-width--now:1px;--now-date-time_cell--border-width--preview:var(--now-date-time_cell--border-width);--now-date-time_cell--border-width--range:var(--now-date-time_cell--border-width);--now-date-time_cell--border-width--selected:var(--now-date-time_cell--border-width);--now-date-time_cell--border-width--week:var(--now-date-time_cell--border-width);--now-date-time_cell--border-width--week-preview:var(--now-date-time_cell--border-width);--now-date-time_cell--border-width--week-range:var(--now-date-time_cell--border-width);--now-date-time_cell--color:var(--now-color_text--primary);--now-date-time_cell--color--active:var(--now-date-time_cell--color);--now-date-time_cell--color--adjacent:var(--now-date-time_cell--color);--now-date-time_cell--color--adjacent_hover:var(--now-date-time_cell--color--hover);--now-date-time_cell--color--adjacent_active:var(--now-date-time_cell--color--active);--now-date-time_cell--color--now:var(--now-color--secondary-1);--now-date-time_cell--color--now_active:var(--now-color--secondary-3);--now-date-time_cell--color--now_hover:var(--now-color--secondary-2);--now-date-time_cell--color--hover:var(--now-date-time_cell--color);--now-date-time_cell--color--preview:var(--now-color_text--primary);--now-date-time_cell--color--range:var(--now-color_text--primary);--now-date-time_cell--color--range_active:var(--now-date-time_cell--color--selected);--now-date-time_cell--color--range_hover:var(--now-date-time_cell--color--range);--now-date-time_cell--color--selected:var(--now-color_text--primary-actionable);--now-date-time_cell--color--selected_active:var(--now-date-time_cell--color--selected);--now-date-time_cell--color--selected_hover:var(--now-date-time_cell--color--selected);--now-date-time_cell--color--week-preview:var(--now-date-time_cell--color);--now-date-time_cell--color--week-preview_active:var(--now-date-time_cell--color--week-preview);--now-date-time_cell--color--week-preview_hover:var(--now-date-time_cell--color--week-preview);--now-date-time_cell--color--week-range:var(--now-date-time_cell--color);--now-date-time_cell--color--week-range_active:var(--now-date-time_cell--color--week-range);--now-date-time_cell--color--week-range_hover:var(--now-date-time_cell--color--week-range);--now-date-time_cell--color-alpha--adjacent:0.6;--now-date-time_cell--color-alpha--adjacent_hover:var(--now-date-time_cell--color-alpha--adjacent);--now-date-time_cell--color-alpha--adjacent_active:var(--now-date-time_cell--color-alpha--adjacent);--now-date-time_cell--font-family:var(--now-date-time--font-family);--now-date-time_cell--font-style:var(--now-date-time--font-style);--now-date-time_cell--font-weight:var(--now-date-time--font-weight);--now-date-time_cell--opacity--disabled:var(--now-date-time--opacity--disabled);--now-date-time_cell--text-transform:var(--now-date-time--text-transform);--now-date-time_cell--font-family--adjacent:var(--now-date-time_cell--font-family);--now-date-time_cell--font-style--adjacent:var(--now-date-time_cell--font-style);--now-date-time_cell--font-weight--adjacent:normal;--now-date-time_cell--text-transform--adjacent:var(--now-date-time_cell--text-transform);--now-date-time_cell-heading--background-color:var(--now-date-time_cell--background-color);--now-date-time_cell-heading--background-color-alpha:var(--now-date-time_cell--background-color-alpha);--now-date-time_cell-heading--color:var(--now-color_text--secondary);--now-date-time_cell-heading--font-family:var(--now-date-time_cell--font-family);--now-date-time_cell-heading--font-style:var(--now-date-time_cell--font-style);--now-date-time_cell-heading--font-weight:normal;--now-date-time_cell-heading--text-transform:var(--now-date-time_cell--text-transform);--now-date-time_footer--background-color:var(--now-date-time--background-color);--now-date-time_footer-divider--color:var(--now-color_divider--tertiary);--now-date-time_footer-divider--width:1px;--now-date-time_footer--font-family:var(--now-date-time--font-family);--now-date-time_footer--font-style:var(--now-date-time--font-style);--now-date-time_footer--font-weight:var(--now-date-time--font-weight);--now-date-time_footer--text-transform:var(--now-date-time--text-transform);--now-date-time_header--background-color:var(--now-date-time--background-color);--now-date-time_header--font-family:var(--now-date-time--font-family);--now-date-time_header--font-style:var(--now-date-time--font-style);--now-date-time_header--font-weight:var(--now-date-time--font-weight);--now-date-time_header--text-transform:var(--now-date-time--text-transform);--now-date-time_presets-divider--color:var(--now-color_divider--tertiary);--now-date-time_presets-divider--width:1px;--now-date-time_presets-header--font-style:var(--now-date-time--font-style);--now-date-time_presets-header--font-weight:normal;--now-date-time_presets-header--font-family:var(--now-date-time--font-family);--now-date-time_presets-header--text-transform:now-date-time--text-transform;--now-date-time_presets-header--color:var(--now-color_text--tertiary);--now-date-time_presets-header--background-color:var(--now-color_background--tertiary);--now-date-time_presets-item--font-style:var(--now-date-time--font-style);--now-date-time_presets-item--font-weight:normal;--now-date-time_presets-item--font-family:var(--now-date-time--font-family);--now-date-time_presets-item--text-transform:now-date-time--text-transform;--now-date-time_presets-item--color:var(--now-color_text--primary);--now-date-time_presets-item--color--hover:var(--now-color_text--primary);--now-date-time_presets-item--background-color:var(--now-color_background--primary);--now-date-time_presets-item--background-color--hover:var(--now-color_selection--secondary-0);--now-date-time_presets-item--background-color-alpha--hover:1;--now-date-time_presets-item_checkmark--color:var(--now-color_selection--primary-2);--now-dragdrop_badge--background-color:var(--now-color_alert--info-2);--now-dragdrop_badge--border-color:var(--now-color--neutral-0);--now-dragdrop_badge--color:var(--now-color--neutral-0);--now-dragdrop_badge--font-family:var(--now-font-family);--now-dragdrop_ghost--background-color:var(--now-color--neutral-0);--now-dropdown-list_checkmark--color:var(--now-color_selection--primary-2);--now-dropdown-list_divider--color:var(--now-menu_divider--color);--now-dropdown-list_divider--width:var(--now-menu_divider--width);--now-dropdown-list_heading--background-color:var(--now-color_background--secondary);--now-dropdown-list_heading--color:var(--now-color_text--tertiary);--now-dropdown-list_heading--font-family:var(--now-menu_heading--font-family);--now-dropdown-list_heading--font-style:var(--now-menu_heading--font-style);--now-dropdown-list_heading--font-weight:var(--now-menu_heading--font-weight);--now-dropdown-list_heading--text-transform:var(--now-menu_heading--text-transform);--now-dropdown-list_heading--scale-size-block:var(--now-button--scale-size-block);--now-dropdown-list_heading--scale-size-inline:var(--now-button--scale-size-inline);--now-dropdown-list_item--scale-size-block:var(--now-button--scale-size-block);--now-dropdown-list_item--scale-size-inline:var(--now-button--scale-size-inline);--now-dropdown-list_search--background-color:var(--now-menu--background-color);--now-dropdown-list_search--background-color--hover:var(--now-color_background--secondary);--now-dropdown-list_search--border-color:var(--now-color_divider--primary);--now-dropdown-list_search--border-width:1px;--now-dropdown-list_search--color:var(--now-color_text--primary);--now-dropdown-list_search--color--placeholder:var(--now-color_text--tertiary);--now-dropdown-list_search--font-family:var(--now-menu_search--font-family);--now-dropdown-list_search--font-style:var(--now-menu_search--font-style);--now-dropdown-list_search--font-weight:var(--now-menu_search--font-weight);--now-dropdown-list_search--text-transform:var(--now-menu_search--text-transform);--now-dropdown-list_sublabel--color:var(--now-color_text--tertiary);--now-dropdown-list_sublabel--font-family:var(--now-menu_sublabel--font-family);--now-dropdown-list_sublabel--font-style:var(--now-menu_sublabel--font-style);--now-dropdown-list_sublabel--font-weight:var(--now-menu_sublabel--font-weight);--now-dropdown-list_sublabel--text-transform:var(--now-menu_sublabel--text-transform);--now-dropdown-list--background-color:var(--now-menu--background-color);--now-dropdown-list--background-color--focus:var(--now-color--interactive-0);--now-dropdown-list--background-color-alpha--focus:0.5;--now-dropdown-list--background-color--highlighted:var(--now-color_alert--warning-0);--now-dropdown-list--border-color:var(--now-menu--border-color);--now-dropdown-list--border-width:var(--now-menu--border-width);--now-dropdown-list--color:var(--now-color_text--primary);--now-dropdown-list--color--disabled:var(--now-color_text--primary);--now-dropdown-list--color--focus:var(--now-color_text--primary);--now-dropdown-list--color--highlighted:var(--now-dropdown-list--color);--now-dropdown-list--font-family:var(--now-menu--font-family);--now-dropdown-list--font-style:var(--now-menu--font-style);--now-dropdown-list--font-weight:var(--now-menu--font-weight);--now-dropdown-list--text-transform:var(--now-menu--text-transform);--now-dropdown--font-style:var(--now-actionable--font-style);--now-dropdown--font-weight:var(--now-actionable--font-weight);--now-dropdown--font-family:var(--now-actionable--font-family);--now-dropdown--text-transform:var(--now-actionable--text-transform);--now-dropdown--text-wrap:normal;--now-dropdown--border-width:var(--now-actionable--border-width);--now-dropdown--border-radius:var(--now-actionable--border-radius);--now-dropdown--border-top-left-radius:var(--now-dropdown--border-radius);--now-dropdown--border-top-right-radius:var(--now-dropdown--border-radius);--now-dropdown--border-bottom-right-radius:var(--now-dropdown--border-radius);--now-dropdown--border-bottom-left-radius:var(--now-dropdown--border-radius);--now-dropdown--opacity--disabled:var(--now-actionable--opacity--disabled);--now-dropdown--primary--border-width:0;--now-dropdown--primary--border-color:var(--now-dropdown--primary--color);--now-dropdown--primary--border-color--hover:var(--now-dropdown--primary--border-color);--now-dropdown--primary--border-color--active:var(--now-dropdown--primary--border-color);--now-dropdown--primary--border-radius:var(--now-dropdown--border-radius);--now-dropdown--primary--color:var(--now-color_text--primary-actionable);--now-dropdown--primary--color--hover:var(--now-dropdown--primary--color);--now-dropdown--primary--color--active:var(--now-dropdown--primary--color);--now-dropdown--primary--background-color:var(--now-color--primary-1);--now-dropdown--primary--background-color--hover:var(--now-color--primary-2);--now-dropdown--primary--background-color--active:var(--now-color--primary-3);--now-dropdown--primary--opacity--disabled:var(--now-dropdown--opacity--disabled);--now-dropdown_icon--primary--color:var(--now-dropdown--primary--color);--now-dropdown_icon--primary--color--hover:var(--now-dropdown--primary--color--hover);--now-dropdown_icon--primary--color--active:var(--now-dropdown--primary--color--active);--now-dropdown_trigger-icon--primary--color:var(--now-dropdown--primary--color);--now-dropdown_trigger-icon--primary--color--hover:var(--now-dropdown--primary--color--hover);--now-dropdown_trigger-icon--primary--color--active:var(--now-dropdown--primary--color--active);--now-dropdown--secondary--border-width:var(--now-dropdown--border-width);--now-dropdown--secondary--border-color:var(--now-color--secondary-1);--now-dropdown--secondary--border-color--hover:var(--now-color--secondary-2);--now-dropdown--secondary--border-color--active:var(--now-color--secondary-3);--now-dropdown--secondary--border-radius:var(--now-dropdown--border-radius);--now-dropdown--secondary--color:var(--now-color--secondary-1);--now-dropdown--secondary--color--hover:var(--now-color--secondary-2);--now-dropdown--secondary--color--active:var(--now-color--secondary-3);--now-dropdown--secondary--background-color:var(--now-color_background--tertiary);--now-dropdown--secondary--background-color-alpha:0;--now-dropdown--secondary--background-color--hover:var(--now-color--secondary-1);--now-dropdown--secondary--background-color-alpha--hover:var(--now-opacity--least);--now-dropdown--secondary--background-color--active:var(--now-color--secondary-1);--now-dropdown--secondary--background-color-alpha--active:var(--now-opacity--less);--now-dropdown--secondary--opacity--disabled:var(--now-dropdown--opacity--disabled);--now-dropdown_icon--secondary--color:var(--now-dropdown--secondary--color);--now-dropdown_icon--secondary--color--hover:var(--now-dropdown--secondary--color--hover);--now-dropdown_icon--secondary--color--active:var(--now-dropdown--secondary--color--active);--now-dropdown_trigger-icon--secondary--color:var(--now-dropdown--secondary--color);--now-dropdown_trigger-icon--secondary--color--hover:var(--now-dropdown--secondary--color--hover);--now-dropdown_trigger-icon--secondary--color--active:var(--now-dropdown--secondary--color--active);--now-dropdown--tertiary--border-width:var(--now-dropdown--border-width);--now-dropdown--tertiary--border-color:var(--now-color_border--tertiary-actionable);--now-dropdown--tertiary--border-color-alpha:1;--now-dropdown--tertiary--border-color--hover:var(--now-color_border--secondary-actionable);--now-dropdown--tertiary--border-color-alpha--hover:var(--now-dropdown--tertiary--border-color-alpha);--now-dropdown--tertiary--border-color--active:var(--now-color_border--primary-actionable);--now-dropdown--tertiary--border-color-alpha--active:var(--now-dropdown--tertiary--border-color-alpha);--now-dropdown--tertiary--border-radius:var(--now-dropdown--border-radius);--now-dropdown--tertiary--color:var(--now-color_text--tertiary);--now-dropdown--tertiary--color-alpha:1;--now-dropdown--tertiary--color--hover:var(--now-color_text--secondary);--now-dropdown--tertiary--color-alpha--hover:var(--now-dropdown--tertiary--color-alpha);--now-dropdown--tertiary--color--active:var(--now-color_text--primary);--now-dropdown--tertiary--color-alpha--active:var(--now-dropdown--tertiary--color-alpha);--now-dropdown--tertiary--background-color:var(--now-color_background--secondary-actionable);--now-dropdown--tertiary--background-color-alpha:0;--now-dropdown--tertiary--background-color--hover:var(--now-dropdown--tertiary--background-color);--now-dropdown--tertiary--background-color-alpha--hover:var(--now-opacity--least);--now-dropdown--tertiary--background-color--active:var(--now-dropdown--tertiary--background-color);--now-dropdown--tertiary--background-color-alpha--active:var(--now-opacity--less);--now-dropdown--tertiary--opacity--disabled:var(--now-dropdown--opacity--disabled);--now-dropdown_icon--tertiary--color:var(--now-dropdown--tertiary--color);--now-dropdown_icon--tertiary--color--hover:var(--now-dropdown--tertiary--color--hover);--now-dropdown_icon--tertiary--color--active:var(--now-dropdown--tertiary--color--active);--now-dropdown_trigger-icon--tertiary--color:var(--now-dropdown--tertiary--color);--now-dropdown_trigger-icon--tertiary--color--hover:var(--now-dropdown--tertiary--color--hover);--now-dropdown_trigger-icon--tertiary--color--active:var(--now-dropdown--tertiary--color--active);--now-dropdown--bare--border-width:0;--now-dropdown--bare--border-radius:var(--now-dropdown--border-radius);--now-dropdown--bare--font-style:var(--now-dropdown--font-style);--now-dropdown--bare--font-weight:var(--now-dropdown--font-weight);--now-dropdown--bare--font-family:var(--now-dropdown--font-family);--now-dropdown--bare--text-transform:var(--now-dropdown--text-transform);--now-dropdown--bare--text-wrap:var(--now-dropdown--text-wrap);--now-dropdown--bare--opacity--disabled:var(--now-dropdown--opacity--disabled);--now-dropdown--bare_primary--border-width:var(--now-dropdown--bare--border-width);--now-dropdown--bare_primary--border-color--hover:var(--now-color--primary-2);--now-dropdown--bare_primary--border-color-alpha--hover:1;--now-dropdown--bare_primary--border-color--active:var(--now-color--primary-3);--now-dropdown--bare_primary--border-color-alpha--active:1;--now-dropdown--bare_primary--border-radius:var(--now-dropdown--bare--border-radius);--now-dropdown--bare_primary--color:var(--now-color--primary-2);--now-dropdown--bare_primary--color--hover:var(--now-color--primary-3);--now-dropdown--bare_primary--color--active:var(--now-color_text--primary);--now-dropdown--bare_primary--background-color--hover:var(--now-color--primary-1);--now-dropdown--bare_primary--background-color-alpha--hover:var(--now-opacity--least);--now-dropdown--bare_primary--background-color--active:var(--now-color--primary-1);--now-dropdown--bare_primary--background-color-alpha--active:var(--now-opacity--less);--now-dropdown--bare_primary--opacity--disabled:var(--now-dropdown--bare--opacity--disabled);--now-dropdown_icon--bare_primary--color:var(--now-dropdown--bare_primary--color);--now-dropdown_icon--bare_primary--color--hover:var(--now-dropdown--bare_primary--color--hover);--now-dropdown_icon--bare_primary--color--active:var(--now-dropdown--bare_primary--color--active);--now-dropdown_trigger-icon--bare_primary--color:var(--now-dropdown--bare_primary--color);--now-dropdown_trigger-icon--bare_primary--color--hover:var(--now-dropdown--bare_primary--color--hover);--now-dropdown_trigger-icon--bare_primary--color--active:var(--now-dropdown--bare_primary--color--active);--now-dropdown--bare_secondary--border-width:var(--now-dropdown--bare--border-width);--now-dropdown--bare_secondary--border-color--hover:var(--now-color--secondary-2);--now-dropdown--bare_secondary--border-color-alpha--hover:1;--now-dropdown--bare_secondary--border-color--active:var(--now-color--secondary-3);--now-dropdown--bare_secondary--border-color-alpha--active:1;--now-dropdown--bare_secondary--border-radius:var(--now-dropdown--bare--border-radius);--now-dropdown--bare_secondary--color:var(--now-color--secondary-1);--now-dropdown--bare_secondary--color--hover:var(--now-color--secondary-2);--now-dropdown--bare_secondary--color--active:var(--now-color--secondary-3);--now-dropdown--bare_secondary--background-color--hover:var(--now-color--secondary-1);--now-dropdown--bare_secondary--background-color-alpha--hover:var(--now-opacity--least);--now-dropdown--bare_secondary--background-color--active:var(--now-color--secondary-1);--now-dropdown--bare_secondary--background-color-alpha--active:var(--now-opacity--less);--now-dropdown--bare_secondary--opacity--disabled:var(--now-dropdown--bare--opacity--disabled);--now-dropdown_icon--bare_secondary--color:var(--now-dropdown--bare_secondary--color);--now-dropdown_icon--bare_secondary--color--hover:var(--now-dropdown--bare_secondary--color--hover);--now-dropdown_icon--bare_secondary--color--active:var(--now-dropdown--bare_secondary--color--active);--now-dropdown_trigger-icon--bare_secondary--color:var(--now-dropdown--bare_secondary--color);--now-dropdown_trigger-icon--bare_secondary--color--hover:var(--now-dropdown--bare_secondary--color--hover);--now-dropdown_trigger-icon--bare_secondary--color--active:var(--now-dropdown--bare_secondary--color--active);--now-dropdown--bare_tertiary--border-width:var(--now-dropdown--bare--border-width);--now-dropdown--bare_tertiary--border-color--hover:var(--now-color--neutral-12);--now-dropdown--bare_tertiary--border-color-alpha--hover:1;--now-dropdown--bare_tertiary--border-radius:var(--now-dropdown--bare--border-radius);--now-dropdown--bare_tertiary--border-color--active:var(--now-color--neutral-12);--now-dropdown--bare_tertiary--border-color-alpha--active:1;--now-dropdown--bare_tertiary--color:var(--now-dropdown--tertiary--color);--now-dropdown--bare_tertiary--color--hover:var(--now-dropdown--tertiary--color--hover);--now-dropdown--bare_tertiary--color--active:var(--now-dropdown--tertiary--color--active);--now-dropdown--bare_tertiary--background-color--hover:var(--now-color_background--secondary-actionable);--now-dropdown--bare_tertiary--background-color-alpha--hover:var(--now-opacity--least);--now-dropdown--bare_tertiary--background-color--active:var(--now-color_background--secondary-actionable);--now-dropdown--bare_tertiary--background-color-alpha--active:var(--now-opacity--less);--now-dropdown--bare_tertiary--opacity--disabled:var(--now-dropdown--bare--opacity--disabled);--now-dropdown_icon--bare_tertiary--color:var(--now-dropdown--bare_tertiary--color);--now-dropdown_icon--bare_tertiary--color--hover:var(--now-dropdown--bare_tertiary--color--hover);--now-dropdown_icon--bare_tertiary--color--active:var(--now-dropdown--bare_tertiary--color--active);--now-dropdown_trigger-icon--bare_tertiary--color:var(--now-dropdown--bare_tertiary--color);--now-dropdown_trigger-icon--bare_tertiary--color--hover:var(--now-dropdown--bare_tertiary--color--hover);--now-dropdown_trigger-icon--bare_tertiary--color--active:var(--now-dropdown--bare_tertiary--color--active);--now-dropdown--primary-selection--border-width:0;--now-dropdown--primary-selection--border-color:var(--now-color_selection--primary-4);--now-dropdown--primary-selection--border-color--hover:var(--now-dropdown--primary-selection--border-color);--now-dropdown--primary-selection--border-color--active:var(--now-dropdown--primary-selection--border-color);--now-dropdown--primary-selection--border-radius:var(--now-dropdown--border-radius);--now-dropdown--primary-selection--color:var(--now-dropdown--primary--color);--now-dropdown--primary-selection--color--hover:var(--now-dropdown--primary-selection--color);--now-dropdown--primary-selection--color--active:var(--now-dropdown--primary-selection--color);--now-dropdown--primary-selection--background-color:var(--now-color_selection--primary-2);--now-dropdown--primary-selection--background-color--hover:var(--now-color_selection--primary-3);--now-dropdown--primary-selection--background-color--active:var(--now-color_selection--primary-4);--now-dropdown--primary-selection--opacity--disabled:var(--now-dropdown--opacity--disabled);--now-dropdown_icon--primary-selection--color:var(--now-dropdown--primary-selection--color);--now-dropdown_icon--primary-selection--color--hover:var(--now-dropdown--primary-selection--color--hover);--now-dropdown_icon--primary-selection--color--active:var(--now-dropdown--primary-selection--color--active);--now-dropdown_trigger-icon--primary-selection--color:var(--now-dropdown--primary-selection--color);--now-dropdown_trigger-icon--primary-selection--color--hover:var(--now-dropdown--primary-selection--color--hover);--now-dropdown_trigger-icon--primary-selection--color--active:var(--now-dropdown--primary-selection--color--active);--now-dropdown--secondary-selection--border-width:var(--now-dropdown--border-width);--now-dropdown--secondary-selection--border-color:var(--now-color_selection--primary-2);--now-dropdown--secondary-selection--border-color--hover:var(--now-dropdown--secondary-selection--border-color);--now-dropdown--secondary-selection--border-color--active:var(--now-dropdown--secondary-selection--border-color);--now-dropdown--secondary-selection--border-radius:var(--now-dropdown--border-radius);--now-dropdown--secondary-selection--color:var(--now-color_selection--primary-2);--now-dropdown--secondary-selection--color--hover:var(--now-dropdown--secondary-selection--color);--now-dropdown--secondary-selection--color--active:var(--now-dropdown--secondary-selection--color);--now-dropdown--secondary-selection--background-color:var(--now-color_selection--primary-2);--now-dropdown--secondary-selection--background-color-alpha:0;--now-dropdown--secondary-selection--background-color--hover:var(--now-dropdown--secondary-selection--background-color);--now-dropdown--secondary-selection--background-color-alpha--hover:var(--now-opacity--least);--now-dropdown--secondary-selection--background-color--active:var(--now-dropdown--secondary-selection--background-color);--now-dropdown--secondary-selection--background-color-alpha--active:var(--now-opacity--less);--now-dropdown--secondary-selection--opacity--disabled:var(--now-dropdown--opacity--disabled);--now-dropdown_icon--secondary-selection--color:var(--now-dropdown--secondary-selection--color);--now-dropdown_icon--secondary-selection--color--hover:var(--now-dropdown--secondary-selection--color--hover);--now-dropdown_icon--secondary-selection--color--active:var(--now-dropdown--secondary-selection--color--active);--now-dropdown_trigger-icon--secondary-selection--color:var(--now-dropdown--secondary-selection--color);--now-dropdown_trigger-icon--secondary-selection--color--hover:var(--now-dropdown--secondary-selection--color--hover);--now-dropdown_trigger-icon--secondary-selection--color--active:var(--now-dropdown--secondary-selection--color--active);--now-dropdown--tertiary-selection--border-width:var(--now-dropdown--border-width);--now-dropdown--tertiary-selection--border-color:var(--now-dropdown--tertiary--border-color);--now-dropdown--tertiary-selection--border-color-alpha:1;--now-dropdown--tertiary-selection--border-color--hover:var(--now-dropdown--tertiary--border-color--hover);--now-dropdown--tertiary-selection--border-color-alpha--hover:1;--now-dropdown--tertiary-selection--border-color--active:var(--now-dropdown--tertiary--border-color--active);--now-dropdown--tertiary-selection--border-color-alpha--active:1;--now-dropdown--tertiary-selection--border-radius:var(--now-dropdown--border-radius);--now-dropdown--tertiary-selection--color:var(--now-dropdown--tertiary--color);--now-dropdown--tertiary-selection--color--hover:var(--now-dropdown--tertiary--color--hover);--now-dropdown--tertiary-selection--color--active:var(--now-dropdown--tertiary--color--active);--now-dropdown--tertiary-selection--background-color:var(--now-color_selection--primary-2);--now-dropdown--tertiary-selection--background-color-alpha:0;--now-dropdown--tertiary-selection--background-color--hover:var(--now-color_selection--primary-2);--now-dropdown--tertiary-selection--background-color-alpha--hover:var(--now-opacity--least);--now-dropdown--tertiary-selection--background-color--active:var(--now-color_selection--primary-2);--now-dropdown--tertiary-selection--background-color-alpha--active:var(--now-opacity--less);--now-dropdown--tertiary-selection--opacity--disabled:var(--now-dropdown--opacity--disabled);--now-dropdown_icon--tertiary-selection--color:var(--now-dropdown--tertiary-selection--color);--now-dropdown_icon--tertiary-selection--color--hover:var(--now-dropdown--tertiary-selection--color--hover);--now-dropdown_icon--tertiary-selection--color--active:var(--now-dropdown--tertiary-selection--color--active);--now-dropdown_trigger-icon--tertiary-selection--color:var(--now-dropdown--tertiary-selection--color);--now-dropdown_trigger-icon--tertiary-selection--color--hover:var(--now-dropdown--tertiary-selection--color--hover);--now-dropdown_trigger-icon--tertiary-selection--color--active:var(--now-dropdown--tertiary-selection--color--active);--now-dropdown--bare_primary-selection--border-width:var(--now-dropdown--bare--border-width);--now-dropdown--bare_primary-selection--border-color--hover:var(--now-color_selection--primary-2);--now-dropdown--bare_primary-selection--border-color-alpha--hover:1;--now-dropdown--bare_primary-selection--border-color--active:var(--now-color_selection--primary-2);--now-dropdown--bare_primary-selection--border-color-alpha--active:1;--now-dropdown--bare_primary-selection--border-radius:var(--now-dropdown--bare--border-radius);--now-dropdown--bare_primary-selection--color:var(--now-color_selection--primary-3);--now-dropdown--bare_primary-selection--color--hover:var(--now-color_selection--primary-4);--now-dropdown--bare_primary-selection--color--active:var(--now-color_text--primary);--now-dropdown--bare_primary-selection--background-color--hover:var(--now-color_selection--primary-2);--now-dropdown--bare_primary-selection--background-color-alpha--hover:var(--now-opacity--least);--now-dropdown--bare_primary-selection--background-color--active:var(--now-color_selection--primary-2);--now-dropdown--bare_primary-selection--background-color-alpha--active:var(--now-opacity--less);--now-dropdown--bare_primary-selection--opacity--disabled:var(--now-dropdown--opacity--disabled);--now-dropdown_icon--bare_primary-selection--color:var(--now-dropdown--bare_primary-selection--color);--now-dropdown_icon--bare_primary-selection--color--hover:var(--now-dropdown--bare_primary-selection--color--hover);--now-dropdown_icon--bare_primary-selection--color--active:var(--now-dropdown--bare_primary-selection--color--active);--now-dropdown_trigger-icon--bare_primary-selection--color:var(--now-dropdown--bare_primary-selection--color);--now-dropdown_trigger-icon--bare_primary-selection--color--hover:var(--now-dropdown--bare_primary-selection--color--hover);--now-dropdown_trigger-icon--bare_primary-selection--color--active:var(--now-dropdown--bare_primary-selection--color--active);--now-dropdown--bare_secondary-selection--border-width:var(--now-dropdown--bare--border-width);--now-dropdown--bare_secondary-selection--border-color--hover:var(--now-color_selection--primary-2);--now-dropdown--bare_secondary-selection--border-color-alpha--hover:1;--now-dropdown--bare_secondary-selection--border-color--active:var(--now-color_selection--primary-2);--now-dropdown--bare_secondary-selection--border-color-alpha--active:1;--now-dropdown--bare_secondary-selection--border-radius:var(--now-dropdown--bare--border-radius);--now-dropdown--bare_secondary-selection--color:var(--now-color_selection--primary-2);--now-dropdown--bare_secondary-selection--color--hover:var(--now-color_selection--primary-3);--now-dropdown--bare_secondary-selection--color--active:var(--now-color_selection--primary-4);--now-dropdown--bare_secondary-selection--background-color--hover:var(--now-color_selection--primary-2);--now-dropdown--bare_secondary-selection--background-color-alpha--hover:var(--now-opacity--least);--now-dropdown--bare_secondary-selection--background-color--active:var(--now-color_selection--primary-2);--now-dropdown--bare_secondary-selection--background-color-alpha--active:var(--now-opacity--less);--now-dropdown--bare_secondary-selection--opacity--disabled:var(--now-dropdown--opacity--disabled);--now-dropdown_icon--bare_secondary-selection--color:var(--now-dropdown--bare_secondary-selection--color);--now-dropdown_icon--bare_secondary-selection--color--hover:var(--now-dropdown--bare_secondary-selection--color--hover);--now-dropdown_icon--bare_secondary-selection--color--active:var(--now-dropdown--bare_secondary-selection--color--active);--now-dropdown_trigger-icon--bare_secondary-selection--color:var(--now-dropdown--bare_secondary-selection--color);--now-dropdown_trigger-icon--bare_secondary-selection--color--hover:var(--now-dropdown--bare_secondary-selection--color--hover);--now-dropdown_trigger-icon--bare_secondary-selection--color--active:var(--now-dropdown--bare_secondary-selection--color--active);--now-dropdown--bare_tertiary-selection--border-width:var(--now-dropdown--bare--border-width);--now-dropdown--bare_tertiary-selection-selection--border-color--hover:var(--now-color_selection--primary-2);--now-dropdown--bare_tertiary-selection--border-color-alpha--hover:1;--now-dropdown--bare_tertiary-selection--border-color--active:var(--now-color_selection--primary-2);--now-dropdown--bare_tertiary-selection--border-color-alpha--active:1;--now-dropdown--bare_tertiary-selection--border-radius:var(--now-dropdown--bare--border-radius);--now-dropdown--bare_tertiary-selection--color:var(--now-button--tertiary--color);--now-dropdown--bare_tertiary-selection--color--hover:var(--now-color_selection--primary-2);--now-dropdown--bare_tertiary-selection--color--active:var(--now-color_selection--primary-4);--now-dropdown--bare_tertiary-selection--background-color--hover:var(--now-color_selection--primary-2);--now-dropdown--bare_tertiary-selection--background-color-alpha--hover:var(--now-opacity--least);--now-dropdown--bare_tertiary-selection--background-color--active:var(--now-color_selection--primary-2);--now-dropdown--bare_tertiary-selection--background-color-alpha--active:var(--now-opacity--less);--now-dropdown--bare_tertiary-selection--opacity--disabled:var(--now-dropdown--opacity--disabled);--now-dropdown_icon--bare_tertiary-selection--color:var(--now-dropdown--bare_tertiary-selection--color);--now-dropdown_icon--bare_tertiary-selection--color--hover:var(--now-dropdown--bare_tertiary-selection--color--hover);--now-dropdown_icon--bare_tertiary-selection--color--active:var(--now-dropdown--bare_tertiary-selection--color--active);--now-dropdown_trigger-icon--bare_tertiary-selection--color:var(--now-dropdown--bare_tertiary-selection--color);--now-dropdown_trigger-icon--bare_tertiary-selection--color--hover:var(--now-dropdown--bare_tertiary-selection--color--hover);--now-dropdown_trigger-icon--bare_tertiary-selection--color--active:var(--now-dropdown--bare_tertiary-selection--color--active);--now-flyout-menu-list_checkmark--color:var(--now-color_selection--primary-2);--now-flyout-menu-list_divider--color:var(--now-menu_divider--color);--now-flyout-menu-list_divider--width:var(--now-menu_divider--width);--now-flyout-menu-list_heading--background-color:var(--now-color_background--secondary);--now-flyout-menu-list_heading--color:var(--now-color_text--tertiary);--now-flyout-menu-list_heading--font-family:var(--now-menu_heading--font-family);--now-flyout-menu-list_heading--font-style:var(--now-menu_heading--font-style);--now-flyout-menu-list_heading--font-weight:var(--now-menu_heading--font-weight);--now-flyout-menu-list_heading--text-transform:var(--now-menu_heading--text-transform);--now-flyout-menu-list_heading--scale-size-block:var(--now-button--scale-size-block);--now-flyout-menu-list_heading--scale-size-inline:var(--now-button--scale-size-inline);--now-flyout-menu-list_item--scale-size-block:var(--now-button--scale-size-block);--now-flyout-menu-list_item--scale-size-inline:var(--now-button--scale-size-inline);--now-flyout-menu-list--background-color:var(--now-menu--background-color);--now-flyout-menu-list--background-color--focus:var(--now-color--interactive-0);--now-flyout-menu-list--background-color-alpha--focus:0.5;--now-flyout-menu-list--background-color--highlighted:var(--now-color_alert--warning-0);--now-flyout-menu-list--border-color:var(--now-menu--border-color);--now-flyout-menu-list--border-width:var(--now-menu--border-width);--now-flyout-menu-list--color:var(--now-color_text--primary);--now-flyout-menu-list--color--disabled:var(--now-color_text--primary);--now-flyout-menu-list--color--focus:var(--now-color_text--primary);--now-flyout-menu-list--color--highlighted:var(--now-flyout-menu-list--color);--now-flyout-menu-list--font-family:var(--now-menu--font-family);--now-flyout-menu-list--font-style:var(--now-menu--font-style);--now-flyout-menu-list--font-weight:var(--now-menu--font-weight);--now-flyout-menu-list--text-transform:var(--now-menu--text-transform);--now-form-field_character-counter--color--error:var(--now-color_alert--critical-2);--now-form-field_character-counter--color--warning:var(--now-color_alert--high-3);--now-form-field_label--color:var(--now-color_text--secondary);--now-form-field_label--color--invalid:var(--now-color_alert--critical-3);--now-form-field_label--color--valid:var(--now-color_alert--positive-3);--now-form-field_label--font-family:var(--now-font-family);--now-form-field_label--font-style:normal;--now-form-field_label--font-weight:normal;--now-form-field_label--text-transform:none;--now-form-field_message--critical--background-color:var(--now-color_alert--critical-0);--now-form-field_message--critical--color:var(--now-color_text--primary);--now-form-field_message--font-family:var(--now-font-family);--now-form-field_message--font-style:normal;--now-form-field_message--font-weight:normal;--now-form-field_message--info--background-color:var(--now-color_alert--info-0);--now-form-field_message--info--color:var(--now-color_text--primary);--now-form-field_message--positive--background-color:var(--now-color_alert--positive-0);--now-form-field_message--positive--color:var(--now-color_text--primary);--now-form-field_message--scale-size-block:1;--now-form-field_message--scale-size-inline:1;--now-form-field_message--suggestion--background-color:var(--now-color_background--primary);--now-form-field_message--suggestion--background-color-alpha:0;--now-form-field_message--suggestion--color:var(--now-color_text--tertiary);--now-form-field_message--text-transform:none;--now-form-field_message--warning--background-color:var(--now-color_alert--warning-0);--now-form-field_message--warning--color:var(--now-color_text--primary);--now-form-field_placeholder--color:var(--now-color_text--tertiary);--now-form-field_placeholder--color--hover:var(--now-color_text--secondary);--now-form-field--background-color:var(--now-color_background--primary);--now-form-field--background-color--focus:var(--now-form-field--background-color);--now-form-field--background-color--hover:var(--now-color--primary-0);--now-form-field--background-color--invalid:var(--now-form-field--background-color);--now-form-field--background-color--invalid_focus:var(--now-form-field--background-color--invalid);--now-form-field--background-color--invalid_hover:var(--now-color_alert--critical-0);--now-form-field--background-color--readonly:var(--now-color_background--tertiary);--now-form-field--background-color-alpha:1;--now-form-field--background-color-alpha--hover:var(--now-form-field--background-color-alpha);--now-form-field--background-color-alpha--readonly:var(--now-form-field--background-color-alpha);--now-form-field--background-color-alpha--focus:1;--now-form-field--background-color-alpha--invalid:1;--now-form-field--background-color-alpha--invalid_hover:1;--now-form-field--background-color-alpha--invalid_focus:1;--now-form-field--border-block-end-width:0px;--now-form-field--border-block-end-width--readonly:0px;--now-form-field--border-color:var(--now-color_border--primary);--now-form-field--border-color--focus:var(--now-color_focus-ring);--now-form-field--border-color--hover:var(--now-color--primary-1);--now-form-field--border-color--invalid:var(--now-color_alert--critical-2);--now-form-field--border-color--invalid_focus:var(--now-form-field--border-color--invalid);--now-form-field--border-color--invalid_hover:var(--now-form-field--border-color--invalid);--now-form-field--border-color--readonly:var(--now-form-field--background-color--readonly);--now-form-field--border-radius:4px;--now-form-field--border-radius--readonly:var(--now-form-field--border-radius);--now-form-field--border-width:1px;--now-form-field--border-width--invalid:2px;--now-form-field--border-width--readonly:var(--now-form-field--border-width);--now-form-field--opacity--disabled:var(--now-opacity--less);--now-form-field_inset--color:var(--now-color--neutral-18);--now-form-field_inset--color-alpha:var(--now-opacity--least);--now-form-field_inset--color--hover:var(--now-color--primary-3);--now-form-field_inset--color--focus:var(--now-form-field_inset--color);--now-form-field_inset--color--invalid:var(--now-form-field_inset--color);--now-form-field_inset--color--invalid_hover:var(--now-color_alert--critical-5);--now-form-field_inset--color--invalid_focus:var(--now-form-field_inset--color);--now-form-field_inset--color-alpha--focus:0.1;--now-form-field_inset--color-alpha--hover:0.1;--now-form-field_inset--color-alpha--invalid:0.1;--now-form-field_inset--color-alpha--invalid_hover:0.1;--now-form-field_inset--color-alpha--invalid_focus:0.1;--now-form-field--color:var(--now-color_text--primary);--now-form-field--color--invalid:var(--now-form-field--color);--now-form-field--color--readonly:var(--now-form-field--color);--now-form-field--font-family:var(--now-font-family);--now-form-field--font-style:normal;--now-form-field--font-weight:normal;--now-form-field--scale-size-block:1;--now-form-field--scale-size-inline:1;--now-form-field--text-transform:none;--now-form-field_focus-ring--width:4px;--now-grid-cell--scale-size-block:1;--now-heading--header-hero--color:var(--now-color_text--secondary);--now-heading--header-hero--font-family:var(--now-display-type--header-primary--font-family);--now-heading--header-hero--font-style:var(--now-display-type--header-primary--font-style);--now-heading--header-hero--font-weight:var(--now-display-type--header-primary--font-weight);--now-heading--header-hero--text-transform:var(--now-display-type--header-primary--text-transform);--now-heading--header-primary--color:var(--now-color_text--secondary);--now-heading--header-primary--font-family:var(--now-display-type--header-primary--font-family);--now-heading--header-primary--font-style:var(--now-display-type--header-primary--font-style);--now-heading--header-primary--font-weight:var(--now-display-type--header-primary--font-weight);--now-heading--header-primary--text-transform:var(--now-display-type--header-primary--text-transform);--now-heading--header-secondary--color:var(--now-color_text--secondary);--now-heading--header-secondary--font-family:var(--now-display-type--header-secondary--font-family);--now-heading--header-secondary--font-style:var(--now-display-type--header-secondary--font-style);--now-heading--header-secondary--font-weight:var(--now-display-type--header-secondary--font-weight);--now-heading--header-secondary--text-transform:var(--now-display-type--header-secondary--text-transform);--now-heading--header-tertiary--color:var(--now-color_text--secondary);--now-heading--header-tertiary--font-family:var(--now-display-type--header-tertiary--font-family);--now-heading--header-tertiary--font-style:var(--now-display-type--header-tertiary--font-style);--now-heading--header-tertiary--font-weight:var(--now-display-type--header-tertiary--font-weight);--now-heading--header-tertiary--text-transform:var(--now-display-type--header-tertiary--text-transform);--now-heading--title-primary--color:var(--now-color_text--primary);--now-heading--title-primary--font-family:var(--now-display-type--title-primary--font-family);--now-heading--title-primary--font-style:var(--now-display-type--title-primary--font-style);--now-heading--title-primary--font-weight:var(--now-display-type--title-primary--font-weight);--now-heading--title-primary--text-transform:var(--now-display-type--title-primary--text-transform);--now-heading--title-secondary--color:var(--now-color_text--secondary);--now-heading--title-secondary--font-family:var(--now-display-type--title-secondary--font-family);--now-heading--title-secondary--font-style:var(--now-display-type--title-secondary--font-style);--now-heading--title-secondary--font-weight:var(--now-display-type--title-secondary--font-weight);--now-heading--title-secondary--text-transform:var(--now-display-type--title-secondary--text-transform);--now-heading--title-tertiary--color:var(--now-color_text--tertiary);--now-heading--title-tertiary--font-family:var(--now-display-type--title-tertiary--font-family);--now-heading--title-tertiary--font-style:var(--now-display-type--title-tertiary--font-style);--now-heading--title-tertiary--font-weight:var(--now-display-type--title-tertiary--font-weight);--now-heading--title-tertiary--text-transform:var(--now-display-type--title-tertiary--text-transform);--now-highlighted-value--border-radius:var(--now-indicator--border-radius);--now-highlighted-value--border-width:var(--now-indicator--border-width);--now-highlighted-value--font-family:var(--now-indicator--font-family);--now-highlighted-value--font-style:var(--now-indicator--font-style);--now-highlighted-value--font-weight:var(--now-indicator--font-weight);--now-highlighted-value--text-transform:var(--now-indicator--text-transform);--now-highlighted-value--scale-size-inline:1;--now-highlighted-value--scale-size-block:1;--now-highlighted-value--primary--color:var(--now-color_text--primary);--now-highlighted-value--secondary--color:var(--now-color_text--primary);--now-highlighted-value--tertiary--color:var(--now-color_text--primary);--now-highlighted-value--primary_critical--background-color:var(--now-color_alert--critical-2);--now-highlighted-value--primary_high--background-color:var(--now-color_alert--high-2);--now-highlighted-value--primary_info--background-color:var(--now-color_alert--info-2);--now-highlighted-value--primary_low--background-color:var(--now-color_alert--low-2);--now-highlighted-value--primary_moderate--background-color:var(--now-color_alert--moderate-2);--now-highlighted-value--primary_positive--background-color:var(--now-color_alert--positive-2);--now-highlighted-value--primary_warning--background-color:var(--now-color_alert--warning-2);--now-highlighted-value--primary_magenta--background-color:var(--now-color_grouped--magenta-2);--now-highlighted-value--primary_pink--background-color:var(--now-color_grouped--pink-2);--now-highlighted-value--primary_orange--background-color:var(--now-color_grouped--orange-2);--now-highlighted-value--primary_yellow--background-color:var(--now-color_grouped--yellow-2);--now-highlighted-value--primary_brown--background-color:var(--now-color_grouped--brown-2);--now-highlighted-value--primary_green--background-color:var(--now-color_grouped--green-2);--now-highlighted-value--primary_green-yellow--background-color:var(--now-color_grouped--green-yellow-2);--now-highlighted-value--primary_blue--background-color:var(--now-color_grouped--blue-2);--now-highlighted-value--primary_gray--background-color:var(--now-color_grouped--gray-2);--now-highlighted-value--primary_teal--background-color:var(--now-color_grouped--teal-2);--now-highlighted-value--primary_purple--background-color:var(--now-color_grouped--purple-2);--now-highlighted-value--primary_critical--color:var(--now-color--neutral-0);--now-highlighted-value--primary_high--color:var(--now-highlighted-value--primary--color);--now-highlighted-value--primary_info--color:var(--now-color--neutral-0);--now-highlighted-value--primary_low--color:var(--now-color--neutral-0);--now-highlighted-value--primary_moderate--color:var(--now-color--neutral-0);--now-highlighted-value--primary_positive--color:var(--now-color--neutral-0);--now-highlighted-value--primary_warning--color:var(--now-highlighted-value--primary--color);--now-highlighted-value--primary_magenta--color:var(--now-highlighted-value--primary--color);--now-highlighted-value--primary_pink--color:var(--now-highlighted-value--primary--color);--now-highlighted-value--primary_orange--color:var(--now-highlighted-value--primary--color);--now-highlighted-value--primary_yellow--color:var(--now-highlighted-value--primary--color);--now-highlighted-value--primary_brown--color:var(--now-highlighted-value--primary--color);--now-highlighted-value--primary_green--color:var(--now-highlighted-value--primary--color);--now-highlighted-value--primary_green-yellow--color:var(--now-highlighted-value--primary--color);--now-highlighted-value--primary_blue--color:var(--now-highlighted-value--primary--color);--now-highlighted-value--primary_gray--color:var(--now-highlighted-value--primary--color);--now-highlighted-value--primary_teal--color:var(--now-highlighted-value--primary--color);--now-highlighted-value--primary_purple--color:var(--now-highlighted-value--primary--color);--now-highlighted-value--primary_critical--border-color:var(--now-color_alert--critical-3);--now-highlighted-value--primary_high--border-color:var(--now-color_alert--high-3);--now-highlighted-value--primary_info--border-color:var(--now-color_alert--info-3);--now-highlighted-value--primary_low--border-color:var(--now-color_alert--low-3);--now-highlighted-value--primary_moderate--border-color:var(--now-color_alert--moderate-3);--now-highlighted-value--primary_positive--border-color:var(--now-color_alert--positive-3);--now-highlighted-value--primary_warning--border-color:var(--now-color_alert--warning-3);--now-highlighted-value--primary_magenta--border-color:var(--now-color_grouped--magenta-3);--now-highlighted-value--primary_pink--border-color:var(--now-color_grouped--pink-3);--now-highlighted-value--primary_orange--border-color:var(--now-color_grouped--orange-3);--now-highlighted-value--primary_yellow--border-color:var(--now-color_grouped--yellow-3);--now-highlighted-value--primary_brown--border-color:var(--now-color_grouped--brown-3);--now-highlighted-value--primary_green--border-color:var(--now-color_grouped--green-3);--now-highlighted-value--primary_green-yellow--border-color:var(--now-color_grouped--green-yellow-3);--now-highlighted-value--primary_blue--border-color:var(--now-color_grouped--blue-3);--now-highlighted-value--primary_gray--border-color:var(--now-color_grouped--gray-3);--now-highlighted-value--primary_teal--border-color:var(--now-color_grouped--teal-3);--now-highlighted-value--primary_purple--border-color:var(--now-color_grouped--purple-3);--now-highlighted-value--secondary_critical--background-color:var(--now-color_alert--critical-1);--now-highlighted-value--secondary_high--background-color:var(--now-color_alert--high-1);--now-highlighted-value--secondary_info--background-color:var(--now-color_alert--info-1);--now-highlighted-value--secondary_low--background-color:var(--now-color_alert--low-1);--now-highlighted-value--secondary_moderate--background-color:var(--now-color_alert--moderate-1);--now-highlighted-value--secondary_positive--background-color:var(--now-color_alert--positive-1);--now-highlighted-value--secondary_warning--background-color:var(--now-color_alert--warning-1);--now-highlighted-value--secondary_magenta--background-color:var(--now-color_grouped--magenta-1);--now-highlighted-value--secondary_pink--background-color:var(--now-color_grouped--pink-1);--now-highlighted-value--secondary_orange--background-color:var(--now-color_grouped--orange-1);--now-highlighted-value--secondary_yellow--background-color:var(--now-color_grouped--yellow-1);--now-highlighted-value--secondary_brown--background-color:var(--now-color_grouped--brown-1);--now-highlighted-value--secondary_green--background-color:var(--now-color_grouped--green-1);--now-highlighted-value--secondary_green-yellow--background-color:var(--now-color_grouped--green-yellow-1);--now-highlighted-value--secondary_blue--background-color:var(--now-color_grouped--blue-1);--now-highlighted-value--secondary_gray--background-color:var(--now-color_grouped--gray-1);--now-highlighted-value--secondary_teal--background-color:var(--now-color_grouped--teal-1);--now-highlighted-value--secondary_purple--background-color:var(--now-color_grouped--purple-1);--now-highlighted-value--secondary_critical--color:var(--now-highlighted-value--secondary--color);--now-highlighted-value--secondary_high--color:var(--now-highlighted-value--secondary--color);--now-highlighted-value--secondary_info--color:var(--now-highlighted-value--secondary--color);--now-highlighted-value--secondary_low--color:var(--now-highlighted-value--secondary--color);--now-highlighted-value--secondary_moderate--color:var(--now-highlighted-value--secondary--color);--now-highlighted-value--secondary_positive--color:var(--now-highlighted-value--secondary--color);--now-highlighted-value--secondary_warning--color:var(--now-highlighted-value--secondary--color);--now-highlighted-value--secondary_magenta--color:var(--now-color_grouped--magenta-5);--now-highlighted-value--secondary_pink--color:var(--now-color_grouped--pink-5);--now-highlighted-value--secondary_orange--color:var(--now-color_grouped--orange-5);--now-highlighted-value--secondary_yellow--color:var(--now-color_grouped--yellow-5);--now-highlighted-value--secondary_brown--color:var(--now-color_grouped--brown-5);--now-highlighted-value--secondary_green--color:var(--now-color_grouped--green-5);--now-highlighted-value--secondary_green-yellow--color:var(--now-color_grouped--green-yellow-5);--now-highlighted-value--secondary_blue--color:var(--now-color_grouped--blue-5);--now-highlighted-value--secondary_gray--color:var(--now-color_grouped--gray-5);--now-highlighted-value--secondary_teal--color:var(--now-color_grouped--teal-5);--now-highlighted-value--secondary_purple--color:var(--now-color_grouped--purple-5);--now-highlighted-value--secondary_critical--border-color:var(--now-color_alert--critical-2);--now-highlighted-value--secondary_high--border-color:var(--now-color_alert--high-2);--now-highlighted-value--secondary_info--border-color:var(--now-color_alert--info-2);--now-highlighted-value--secondary_low--border-color:var(--now-color_alert--low-2);--now-highlighted-value--secondary_moderate--border-color:var(--now-color_alert--moderate-2);--now-highlighted-value--secondary_positive--border-color:var(--now-color_alert--positive-2);--now-highlighted-value--secondary_warning--border-color:var(--now-color_alert--warning-2);--now-highlighted-value--secondary_magenta--border-color:var(--now-color_grouped--magenta-2);--now-highlighted-value--secondary_pink--border-color:var(--now-color_grouped--pink-2);--now-highlighted-value--secondary_orange--border-color:var(--now-color_grouped--orange-2);--now-highlighted-value--secondary_yellow--border-color:var(--now-color_grouped--yellow-2);--now-highlighted-value--secondary_brown--border-color:var(--now-color_grouped--brown-2);--now-highlighted-value--secondary_green--border-color:var(--now-color_grouped--green-2);--now-highlighted-value--secondary_green-yellow--border-color:var(--now-color_grouped--green-yellow-2);--now-highlighted-value--secondary_blue--border-color:var(--now-color_grouped--blue-2);--now-highlighted-value--secondary_gray--border-color:var(--now-color_grouped--gray-2);--now-highlighted-value--secondary_teal--border-color:var(--now-color_grouped--teal-2);--now-highlighted-value--secondary_purple--border-color:var(--now-color_grouped--purple-2);--now-highlighted-value--tertiary_critical--background-color:var(--now-color_alert--critical-0);--now-highlighted-value--tertiary_high--background-color:var(--now-color_alert--high-0);--now-highlighted-value--tertiary_info--background-color:var(--now-color_alert--info-0);--now-highlighted-value--tertiary_low--background-color:var(--now-color_alert--low-0);--now-highlighted-value--tertiary_moderate--background-color:var(--now-color_alert--moderate-0);--now-highlighted-value--tertiary_positive--background-color:var(--now-color_alert--positive-0);--now-highlighted-value--tertiary_warning--background-color:var(--now-color_alert--warning-0);--now-highlighted-value--tertiary_magenta--background-color:var(--now-color_grouped--magenta-0);--now-highlighted-value--tertiary_pink--background-color:var(--now-color_grouped--pink-0);--now-highlighted-value--tertiary_orange--background-color:var(--now-color_grouped--orange-0);--now-highlighted-value--tertiary_yellow--background-color:var(--now-color_grouped--yellow-0);--now-highlighted-value--tertiary_brown--background-color:var(--now-color_grouped--brown-0);--now-highlighted-value--tertiary_green--background-color:var(--now-color_grouped--green-0);--now-highlighted-value--tertiary_green-yellow--background-color:var(--now-color_grouped--green-yellow-0);--now-highlighted-value--tertiary_blue--background-color:var(--now-color_grouped--blue-0);--now-highlighted-value--tertiary_gray--background-color:var(--now-color_grouped--gray-0);--now-highlighted-value--tertiary_teal--background-color:var(--now-color_grouped--teal-0);--now-highlighted-value--tertiary_purple--background-color:var(--now-color_grouped--purple-0);--now-highlighted-value--tertiary_critical--color:var(--now-highlighted-value--tertiary--color);--now-highlighted-value--tertiary_high--color:var(--now-highlighted-value--tertiary--color);--now-highlighted-value--tertiary_info--color:var(--now-highlighted-value--tertiary--color);--now-highlighted-value--tertiary_low--color:var(--now-highlighted-value--tertiary--color);--now-highlighted-value--tertiary_moderate--color:var(--now-highlighted-value--tertiary--color);--now-highlighted-value--tertiary_positive--color:var(--now-highlighted-value--tertiary--color);--now-highlighted-value--tertiary_warning--color:var(--now-highlighted-value--tertiary--color);--now-highlighted-value--tertiary_magenta--color:var(--now-color_grouped--magenta-5);--now-highlighted-value--tertiary_pink--color:var(--now-color_grouped--pink-5);--now-highlighted-value--tertiary_orange--color:var(--now-color_grouped--orange-5);--now-highlighted-value--tertiary_yellow--color:var(--now-color_grouped--yellow-5);--now-highlighted-value--tertiary_brown--color:var(--now-color_grouped--brown-5);--now-highlighted-value--tertiary_green--color:var(--now-color_grouped--green-5);--now-highlighted-value--tertiary_green-yellow--color:var(--now-color_grouped--green-yellow-5);--now-highlighted-value--tertiary_blue--color:var(--now-color_grouped--blue-5);--now-highlighted-value--tertiary_gray--color:var(--now-color_grouped--gray-5);--now-highlighted-value--tertiary_teal--color:var(--now-color_grouped--teal-5);--now-highlighted-value--tertiary_purple--color:var(--now-color_grouped--purple-5);--now-highlighted-value--tertiary_critical--border-color:var(--now-color_alert--critical-1);--now-highlighted-value--tertiary_high--border-color:var(--now-color_alert--high-1);--now-highlighted-value--tertiary_info--border-color:var(--now-color_alert--info-1);--now-highlighted-value--tertiary_low--border-color:var(--now-color_alert--low-1);--now-highlighted-value--tertiary_moderate--border-color:var(--now-color_alert--moderate-1);--now-highlighted-value--tertiary_positive--border-color:var(--now-color_alert--positive-1);--now-highlighted-value--tertiary_warning--border-color:var(--now-color_alert--warning-1);--now-highlighted-value--tertiary_magenta--border-color:var(--now-color_grouped--magenta-1);--now-highlighted-value--tertiary_pink--border-color:var(--now-color_grouped--pink-1);--now-highlighted-value--tertiary_orange--border-color:var(--now-color_grouped--orange-1);--now-highlighted-value--tertiary_yellow--border-color:var(--now-color_grouped--yellow-1);--now-highlighted-value--tertiary_brown--border-color:var(--now-color_grouped--brown-1);--now-highlighted-value--tertiary_green--border-color:var(--now-color_grouped--green-1);--now-highlighted-value--tertiary_green-yellow--border-color:var(--now-color_grouped--green-yellow-1);--now-highlighted-value--tertiary_blue--border-color:var(--now-color_grouped--blue-1);--now-highlighted-value--tertiary_gray--border-color:var(--now-color_grouped--gray-1);--now-highlighted-value--tertiary_teal--border-color:var(--now-color_grouped--teal-1);--now-highlighted-value--tertiary_purple--border-color:var(--now-color_grouped--purple-1);--now-highlighted-value_icon--primary_critical--color:var(--now-highlighted-value--primary_critical--color);--now-highlighted-value_icon--primary_high--color:var(--now-highlighted-value--primary_high--color);--now-highlighted-value_icon--primary_info--color:var(--now-highlighted-value--primary_info--color);--now-highlighted-value_icon--primary_low--color:var(--now-highlighted-value--primary_low--color);--now-highlighted-value_icon--primary_moderate--color:var(--now-highlighted-value--primary_moderate--color);--now-highlighted-value_icon--primary_positive--color:var(--now-highlighted-value--primary_positive--color);--now-highlighted-value_icon--primary_warning--color:var(--now-highlighted-value--primary_warning--color);--now-highlighted-value_icon--primary_magenta--color:var(--now-highlighted-value--primary_magenta--color);--now-highlighted-value_icon--primary_pink--color:var(--now-highlighted-value--primary_pink--color);--now-highlighted-value_icon--primary_orange--color:var(--now-highlighted-value--primary_orange--color);--now-highlighted-value_icon--primary_yellow--color:var(--now-highlighted-value--primary_yellow--color);--now-highlighted-value_icon--primary_brown--color:var(--now-highlighted-value--primary_brown--color);--now-highlighted-value_icon--primary_green--color:var(--now-highlighted-value--primary_green--color);--now-highlighted-value_icon--primary_green-yellow--color:var(--now-highlighted-value--primary_green-yellow--color);--now-highlighted-value_icon--primary_blue--color:var(--now-highlighted-value--primary_blue--color);--now-highlighted-value_icon--primary_gray--color:var(--now-highlighted-value--primary_gray--color);--now-highlighted-value_icon--primary_teal--color:var(--now-highlighted-value--primary_teal--color);--now-highlighted-value_icon--primary_purple--color:var(--now-highlighted-value--primary_purple--color);--now-highlighted-value_icon--secondary_critical--color:var(--now-color_alert--critical-4);--now-highlighted-value_icon--secondary_high--color:var(--now-color_alert--high-4);--now-highlighted-value_icon--secondary_info--color:var(--now-color_alert--info-4);--now-highlighted-value_icon--secondary_low--color:var(--now-color_alert--low-4);--now-highlighted-value_icon--secondary_moderate--color:var(--now-color_alert--moderate-4);--now-highlighted-value_icon--secondary_positive--color:var(--now-color_alert--positive-4);--now-highlighted-value_icon--secondary_warning--color:var(--now-color_alert--warning-4);--now-highlighted-value_icon--secondary_magenta--color:var(--now-color_grouped--magenta-5);--now-highlighted-value_icon--secondary_pink--color:var(--now-color_grouped--pink-5);--now-highlighted-value_icon--secondary_orange--color:var(--now-color_grouped--orange-5);--now-highlighted-value_icon--secondary_yellow--color:var(--now-color_grouped--yellow-5);--now-highlighted-value_icon--secondary_brown--color:var(--now-color_grouped--brown-5);--now-highlighted-value_icon--secondary_green--color:var(--now-color_grouped--green-5);--now-highlighted-value_icon--secondary_green-yellow--color:var(--now-color_grouped--green-yellow-5);--now-highlighted-value_icon--secondary_blue--color:var(--now-color_grouped--blue-5);--now-highlighted-value_icon--secondary_gray--color:var(--now-color_grouped--gray-5);--now-highlighted-value_icon--secondary_teal--color:var(--now-color_grouped--teal-5);--now-highlighted-value_icon--secondary_purple--color:var(--now-color_grouped--purple-5);--now-highlighted-value_icon--tertiary_critical--color:var(--now-color_alert--critical-4);--now-highlighted-value_icon--tertiary_high--color:var(--now-color_alert--high-4);--now-highlighted-value_icon--tertiary_info--color:var(--now-color_alert--info-4);--now-highlighted-value_icon--tertiary_low--color:var(--now-color_alert--low-4);--now-highlighted-value_icon--tertiary_moderate--color:var(--now-color_alert--moderate-4);--now-highlighted-value_icon--tertiary_positive--color:var(--now-color_alert--positive-4);--now-highlighted-value_icon--tertiary_warning--color:var(--now-color_alert--warning-4);--now-highlighted-value_icon--tertiary_magenta--color:var(--now-color_grouped--magenta-4);--now-highlighted-value_icon--tertiary_pink--color:var(--now-color_grouped--pink-4);--now-highlighted-value_icon--tertiary_orange--color:var(--now-color_grouped--orange-4);--now-highlighted-value_icon--tertiary_yellow--color:var(--now-color_grouped--yellow-5);--now-highlighted-value_icon--tertiary_brown--color:var(--now-color_grouped--brown-4);--now-highlighted-value_icon--tertiary_green--color:var(--now-color_grouped--green-4);--now-highlighted-value_icon--tertiary_green-yellow--color:var(--now-color_grouped--green-yellow-4);--now-highlighted-value_icon--tertiary_blue--color:var(--now-color_grouped--blue-4);--now-highlighted-value_icon--tertiary_gray--color:var(--now-color_grouped--gray-4);--now-highlighted-value_icon--tertiary_teal--color:var(--now-color_grouped--teal-4);--now-highlighted-value_icon--tertiary_purple--color:var(--now-color_grouped--purple-4);--now-icon--scale-size:1;--now-input_inset--color:var(--now-form-field_inset--color);--now-input_inset--color--hover:var(--now-form-field_inset--color--hover);--now-input_inset--color--focus:var(--now-form-field_inset--color--focus);--now-input_inset--color--invalid:var(--now-form-field_inset--color--invalid);--now-input_inset--color--invalid_hover:var(--now-form-field_inset--color--invalid_hover);--now-input_inset--color--invalid_focus:var(--now-form-field_inset--color--invalid_focus);--now-input_inset--color-alpha:var(--now-form-field_inset--color-alpha);--now-input_inset--color-alpha--hover:var(--now-form-field_inset--color-alpha--hover);--now-input_inset--color-alpha--invalid:var(--now-form-field_inset--color-alpha--invalid);--now-input_inset--color-alpha--focus:var(--now-form-field_inset--color-alpha--focus);--now-input_inset--color-alpha--invalid_hover:var(--now-form-field_inset--color-alpha--invalid_hover);--now-input_inset--color-alpha--invalid_focus:var(--now-form-field_inset--color-alpha--invalid_focus);--now-input--border-width:var(--now-form-field--border-width);--now-input--border-block-end-width:var(--now-form-field--border-block-end-width);--now-input--border-radius:var(--now-form-field--border-radius);--now-input--border-color:var(--now-form-field--border-color);--now-input--border-color--hover:var(--now-form-field--border-color--hover);--now-input--border-color--focus:var(--now-form-field--border-color--focus);--now-input--border-color--invalid:var(--now-form-field--border-color--invalid);--now-input--border-color--invalid_hover:var(--now-form-field--border-color--invalid_hover);--now-input--border-color--invalid_focus:var(--now-form-field--border-color--invalid_focus);--now-input--border-width--readonly:var(--now-form-field--border-width--readonly);--now-input--border-radius--readonly:var(--now-form-field--border-radius--readonly);--now-input--border-color--readonly:var(--now-form-field--border-color--readonly);--now-input--border-block-end-width--readonly:var(--now-form-field--border-block-end-width--readonly);--now-input--color:var(--now-form-field--color);--now-input--color--readonly:var(--now-form-field--color--readonly);--now-input--color--invalid:var(--now-form-field--color--invalid);--now-input_placeholder--color:var(--now-form-field_placeholder--color);--now-input_placeholder--color--hover:var(--now-form-field_placeholder--color--hover);--now-input--background-color:var(--now-form-field--background-color);--now-input--background-color--focus:var(--now-form-field--background-color--focus);--now-input--background-color--hover:var(--now-form-field--background-color--hover);--now-input--background-color--readonly:var(--now-form-field--background-color--readonly);--now-input--background-color--invalid:var(--now-form-field--background-color--invalid);--now-input--background-color--invalid_focus:var(--now-form-field--background-color--invalid_focus);--now-input--background-color--invalid_hover:var(--now-form-field--background-color--invalid_hover);--now-input--background-color-alpha:var(--now-form-field--background-color-alpha);--now-input--background-color-alpha--focus:var(--now-form-field--background-color-alpha--focus);--now-input--background-color-alpha--hover:var(--now-form-field--background-color-alpha--hover);--now-input--background-color-alpha--readonly:var(--now-form-field--background-color-alpha--readonly);--now-input--background-color-alpha--invalid:var(--now-form-field--background-color-alpha--invalid);--now-input--background-color-alpha--invalid_focus:var(--now-form-field--background-color-alpha--invalid_focus);--now-input--background-color-alpha--invalid_hover:var(--now-form-field--background-color-alpha--invalid_hover);--now-input--opacity--disabled:var(--now-form-field--opacity--disabled);--now-input--selection--background-color:var(--now-color--focus-1);--now-input--selection--color:var(--now-input--color);--now-label-value-inline--color:var(--now-display-type_label--color);--now-label-value-inline--font-family:var(--now-display-type_label--font-family);--now-label-value-inline--font-style:var(--now-display-type_label--font-style);--now-label-value-inline--font-weight:var(--now-display-type_label--font-weight);--now-label-value-inline--text-transform:var(--now-display-type_label--text-transform);--now-label-value_label--color:var(--now-display-type_label--color);--now-label-value_label--font-family:var(--now-display-type_label--font-family);--now-label-value_label--font-style:var(--now-display-type_label--font-style);--now-label-value_label--font-weight:var(--now-display-type_label--font-weight);--now-label-value_label--text-transform:var(--now-display-type_label--text-transform);--now-label-value_previous_delimiter--font-weight:600;--now-label-value_previous--color:var(--now-color_text--tertiary);--now-label-value_previous--font-style:italic;--now-label-value_previous--font-weight:normal;--now-label-value_previous--text-decoration:line-through;--now-label-value_previous--text-transform:var(--now-display-type_value--text-transform);--now-label-value_value--color:var(--now-display-type_value--color);--now-label-value_value--font-family:var(--now-display-type_value--font-family);--now-label-value_value--font-style:var(--now-display-type_value--font-style);--now-label-value_value--font-weight:var(--now-display-type_value--font-weight);--now-label-value_value--text-transform:var(--now-display-type_value--text-transform);--now-loader-custom--font-family:var(--now-loading--font-family);--now-loader-custom--font-style:var(--now-loading--font-style);--now-loader-custom--font-weight:var(--now-loading--font-weight);--now-loader-custom--text-transform:var(--now-loading--text-transform);--now-loader_icon--color:var(--now-color--primary-1);--now-loader_label--color:var(--now-color_text--primary);--now-loader--font-family:var(--now-loading--font-family);--now-loader--font-style:var(--now-loading--font-style);--now-loader--font-weight:var(--now-loading--font-weight);--now-loader--text-transform:var(--now-loading--text-transform);--now-loader-skeleton--background-color:var(--now-color_surface--neutral-4);--now-modal_heading--color:var(--now-display-type--primary--color);--now-modal_heading--font-family:var(--now-display-type--header-primary--font-family);--now-modal_heading--font-style:var(--now-display-type--header-primary--font-style);--now-modal_heading--font-weight:var(--now-display-type--header-primary--font-weight);--now-modal_heading--text-transform:var(--now-display-type--header-primary--text-transform);--now-modal_overlay--background-color:var(--now-color--neutral-21);--now-modal_overlay--background-color-alpha:0.5;--now-modal--background-color:var(--now-window--background-color);--now-modal--border-color:var(--now-window--border-color);--now-modal--border-radius:var(--now-window--border-radius);--now-modal--border-width:var(--now-window--border-width);--now-modal--font-family:var(--now-window--font-family);--now-modal--font-style:var(--now-window--font-style);--now-modal--font-weight:var(--now-window--font-weight);--now-modal--text-transform:var(--now-window--text-transform);--now-modal--scale-size:1;--now-modal--scale-size-block:1;--now-modal--scale-size-inline:1;--now-modeless-dialog--background-color:var(--now-window--background-color);--now-modeless-dialog--border-color:var(--now-window--border-color);--now-modeless-dialog--border-radius:var(--now-window--border-radius);--now-modeless-dialog--border-width:var(--now-window--border-width);--now-modeless-dialog_actions--primary--background-color--active:var(--now-color_chrome--brand-4);--now-modeless-dialog_actions--primary--background-color--hover:var(--now-color_chrome--brand-4);--now-modeless-dialog_actions--primary--background-color-alpha--active:0.8;--now-modeless-dialog_actions--primary--background-color-alpha--hover:0.8;--now-modeless-dialog_actions--primary--color:var(--now-modeless-dialog_header--primary--color);--now-modeless-dialog_actions--primary--color--active:var(--now-modeless-dialog_actions--primary--color);--now-modeless-dialog_actions--primary--color--hover:var(--now-modeless-dialog_actions--primary--color);--now-modeless-dialog_actions--secondary--color:var(--now-modeless-dialog_header--secondary--color);--now-modeless-dialog_actions--secondary--color--active:var(--now-modeless-dialog_actions--secondary--color);--now-modeless-dialog_actions--secondary--color--hover:var(--now-modeless-dialog_actions--secondary--color);--now-modeless-dialog_actions--secondary--background-color--active:var(--now-color_chrome--brand-4);--now-modeless-dialog_actions--secondary--background-color--hover:var(--now-color_chrome--brand-4);--now-modeless-dialog_actions--secondary--background-color-alpha--active:0.8;--now-modeless-dialog_actions--secondary--background-color-alpha--hover:0.8;--now-modeless-dialog_actions_focus-ring--primary--color:var(--now-color_focus-ring);--now-modeless-dialog_actions_focus-ring--secondary--color:var(--now-color--focus-1);--now-modeless-dialog_header--primary--background-color:var(--now-color_chrome--brand-10);--now-modeless-dialog_header--secondary--background-color:var(--now-color_chrome--brand-5);--now-modeless-dialog_header--primary--color:var(--now-color--neutral-0);--now-modeless-dialog_header--secondary--color:var(--now-color--neutral-0);--now-modeless-dialog_header_icon--primary--color:var(--now-color--primary-1);--now-modeless-dialog_header_icon--secondary--color:var(--now-color--secondary-1);--now-pagination-control--background-color:var(--now-color_background--primary);--now-pagination-control--background-color--active:var(--now-color--secondary-2);--now-pagination-control--background-color--focus:var(--now-color_background--tertiary);--now-pagination-control--background-color--hover:var(--now-color--secondary-2);--now-pagination-control--background-color--selected:var(--now-color_background--tertiary);--now-pagination-control--background-color-alpha:0;--now-pagination-control--background-color-alpha--active:var(--now-opacity--less);--now-pagination-control--background-color-alpha--focus:1;--now-pagination-control--background-color-alpha--hover:var(--now-opacity--least);--now-pagination-control--background-color-alpha--selected:1;--now-pagination-control--border-radius:var(--now-actionable--border-radius);--now-pagination-control--color:var(--now-color_text--primary);--now-pagination-control--color--active:var(--now-color--secondary-3);--now-pagination-control--color--hover:var(--now-color--secondary-2);--now-pagination-control--font-family:var(--now-view-control--font-family);--now-pagination-control--font-style:var(--now-view-control--font-style);--now-pagination-control--font-weight:var(--now-view-control--font-weight);--now-pagination-control--text-transform:var(--now-view-control--text-transform);--now-pill_identifier--background-color:var(--now-pill--background-color);--now-pill_identifier--background-color--active:var(--now-pill--background-color--active);--now-pill_identifier--background-color--hover:var(--now-pill--background-color--hover);--now-pill_identifier--background-color--selected:var(--now-color--primary-0);--now-pill_identifier--background-color--selected_active:var(--now-pill_identifier--background-color--selected);--now-pill_identifier--background-color--selected_hover:var(--now-pill_identifier--background-color--selected);--now-pill_identifier--border-color:var(--now-pill--border-color);--now-pill_identifier--border-color--active:var(--now-pill--border-color--active);--now-pill_identifier--border-color--hover:var(--now-pill--border-color--hover);--now-pill_identifier--border-color--selected:var(--now-pill--border-color--selected);--now-pill_identifier--border-color--selected_active:var(--now-pill--border-color--selected_active);--now-pill_identifier--border-color--selected_hover:var(--now-pill--border-color--selected_hover);--now-pill_identifier--color:var(--now-pill--color);--now-pill_identifier--color--active:var(--now-pill--color--active);--now-pill_identifier--color--hover:var(--now-pill--color--hover);--now-pill_identifier--color--selected:var(--now-color--primary-2);--now-pill_identifier--color--selected_active:var(--now-pill_identifier--color--selected);--now-pill_identifier--color--selected_hover:var(--now-pill_identifier--color--selected);--now-pill--background-color:var(--now-color_background--primary);--now-pill--background-color--active:var(--now-color--primary-0);--now-pill--background-color--hover:var(--now-color_background--secondary);--now-pill--background-color--selected:var(--now-color--primary-1);--now-pill--background-color--selected_active:var(--now-color--primary-3);--now-pill--background-color--selected_hover:var(--now-color--primary-2);--now-pill--border-color:var(--now-color_border--secondary);--now-pill--border-color--active:var(--now-color--primary-1);--now-pill--border-color--hover:var(--now-pill--border-color);--now-pill--border-color--selected:var(--now-color--primary-1);--now-pill--border-color--selected_active:var(--now-color--primary-3);--now-pill--border-color--selected_hover:var(--now-color--primary-2);--now-pill--border-width:var(--now-form-control--border-width);--now-pill--color:var(--now-color_text--primary);--now-pill--color--active:var(--now-color--primary-2);--now-pill--color--hover:var(--now-color--primary-1);--now-pill--color--selected:var(--now-color_text--primary-actionable);--now-pill--color--selected_active:var(--now-pill--color--selected);--now-pill--color--selected_hover:var(--now-pill--color--selected);--now-pill--font-family:var(--now-form-control--font-family);--now-pill--font-style:var(--now-form-control--font-style);--now-pill--font-weight:var(--now-form-control--font-weight);--now-pill--text-transform:var(--now-form-control--text-transform);--now-popover--background-color:var(--now-menu--background-color);--now-popover--border-color:var(--now-menu--border-color);--now-popover--border-radius:var(--now-menu--border-radius);--now-progress-bar_path--alert--background-color:var(--now-color_alert--high-3);--now-progress-bar_path--error--background-color:var(--now-color_alert--critical-2);--now-progress-bar_path--gray--background-color:var(--now-color_grouped--gray-2);--now-progress-bar_path--green--background-color:var(--now-color_grouped--green-2);--now-progress-bar_path--inactive--background-color:var(--now-progress-bar--background-color);--now-progress-bar_path--initial--background-color:var(--now-loading--initial--background-color);--now-progress-bar_path--orange--background-color:var(--now-color_grouped--orange-2);--now-progress-bar_path--pink--background-color:var(--now-color_grouped--pink-2);--now-progress-bar_path--positive--background-color:var(--now-color_alert--positive-3);--now-progress-bar--background-color:var(--now-color_background--tertiary);--now-progress-bar--border-color:var(--now-color_border--primary);--now-progress-bar--border-radius:var(--now-loading--border-radius);--now-progress-bar--border-width:var(--now-loading--border-width);--now-progress-bar_path--border-width:2px;--now-progress-bar_path--border-color:var(--now-color_border--primary-actionable);--now-radio-buttons_label--color:var(--now-color_text--primary);--now-radio-buttons_radio--background-color:var(--now-color--primary-1);--now-radio-buttons_radio--background-color--hover:var(--now-color--primary-1);--now-radio-buttons_radio--background-color--invalid:var(--now-color_alert--critical-4);--now-radio-buttons_radio--background-color--readonly:var(--now-radio-buttons_radio--background-color);--now-radio-buttons--background-color:var(--now-color_background--primary);--now-radio-buttons--background-color--readonly:var(--now-color_background--tertiary);--now-radio-buttons--background-color--focus:var(--now-color_background--secondary);--now-radio-buttons--background-color--hover:var(--now-color--primary-0);--now-radio-buttons--background-color--active:var(--now-color--primary-0);--now-radio-buttons--background-color--invalid:var(--now-radio-buttons--background-color);--now-radio-buttons--background-color--invalid_hover:var(--now-color_alert--critical-0);--now-radio-buttons--background-color--invalid_focus:var(--now-color_background--primary);--now-radio-buttons--background-color--invalid_active:var(--now-color_alert--critical-2);--now-radio-buttons--border-color:var(--now-color_border--primary);--now-radio-buttons--border-color--readonly:var(--now-radio-buttons--background-color--readonly);--now-radio-buttons--border-color--active:var(--now-color--secondary-1);--now-radio-buttons--border-color--focus:var(--now-color_focus-ring);--now-radio-buttons--border-color--hover:var(--now-color--secondary-1);--now-radio-buttons--border-color--invalid:var(--now-color_alert--critical-2);--now-radio-buttons--border-color--invalid_hover:var(--now-radio-buttons--border-color--invalid);--now-radio-buttons--border-color--invalid_focus:var(--now-radio-buttons--border-color--invalid);--now-radio-buttons--border-color--invalid_active:var(--now-radio-buttons--border-color--invalid);--now-radio-buttons--font-family:var(--now-form-control--font-family);--now-radio-buttons--font-style:var(--now-form-control--font-style);--now-radio-buttons--font-weight:var(--now-form-control--font-weight);--now-radio-buttons--opacity--disabled:var(--now-opacity--less);--now-radio-buttons--scale-size:1;--now-radio-buttons--scale-size-block:1;--now-radio-buttons--scale-size-inline:1;--now-radio-buttons--text-transform:var(--now-form-control--text-transform);--now-radio-buttons_focus-ring--width:4px;--now-score_heading--color:var(--now-color_text--primary);--now-score_heading--font-family:var(--now-display-type--primary--font-family);--now-score_heading--font-style:normal;--now-score_heading--font-weight:normal;--now-score_heading--text-transform:none;--now-score_label--font-style:normal;--now-score_label--font-weight:normal;--now-score_label--primary--color:var(--now-color_text--primary);--now-score_label--secondary--color:var(--now-color_text--tertiary);--now-score_label--text-transform:none;--now-score_timestamp--color:var(--now-color_text--tertiary);--now-score_timestamp--font-style:normal;--now-score_timestamp--font-weight:normal;--now-score_timestamp--text-transform:none;--now-score_value--color:var(--now-color_text--primary);--now-score_value--font-family:var(--now-score--font-family);--now-score_value--font-style:normal;--now-score_value--font-weight:300;--now-score_value--text-transform:none;--now-score--font-family:var(--now-font-family);--now-score--interactive--background-color--active:var(--now-color_background--tertiary);--now-score--interactive--background-color--hover:var(--now-color_background--secondary);--now-select_inset--color:var(--now-form-field_inset--color);--now-select_inset--color--hover:var(--now-form-field_inset--color--hover);--now-select_inset--color--focus:var(--now-form-field_inset--color--focus);--now-select_inset--color--opened:var(--now-color--primary-3);--now-select_inset--color--invalid:var(--now-form-field_inset--color--invalid);--now-select_inset--color--invalid_hover:var(--now-form-field_inset--color--invalid_hover);--now-select_inset--color--invalid_focus:var(--now-form-field_inset--color--invalid_focus);--now-select_inset--color-alpha:var(--now-form-field_inset--color-alpha);--now-select_inset--color-alpha--hover:var(--now-form-field_inset--color-alpha--hover);--now-select_inset--color-alpha--invalid:var(--now-form-field_inset--color-alpha--invalid);--now-select_inset--color-alpha--opened:0.1;--now-select_inset--color-alpha--focus:var(--now-form-field_inset--color-alpha--focus);--now-select_inset--color-alpha--invalid_hover:var(--now-form-field_inset--color-alpha--invalid_hover);--now-select_inset--color-alpha--invalid_focus:var(--now-form-field_inset--color-alpha--invalid_focus);--now-select--border-width:var(--now-form-field--border-width);--now-select--border-width--readonly:var(--now-form-field--border-width--readonly);--now-select--border-block-end-width:var(--now-form-field--border-block-end-width);--now-select--border-block-end-width--readonly:var(--now-form-field--border-block-end-width--readonly);--now-select--border-radius:var(--now-form-field--border-radius);--now-select--border-radius--readonly:var(--now-form-field--border-radius--readonly);--now-select--border-color:var(--now-form-field--border-color);--now-select--border-color--hover:var(--now-form-field--border-color--hover);--now-select--border-color--focus:var(--now-form-field--border-color--focus);--now-select--border-color--opened:var(--now-color--focus-2);--now-select--border-color--readonly:var(--now-form-field--border-color--readonly);--now-select--border-color--invalid:var(--now-form-field--border-color--invalid);--now-select--border-color--invalid_hover:var(--now-form-field--border-color--invalid_hover);--now-select--border-color--invalid_focus:var(--now-form-field--border-color--invalid_focus);--now-select--color:var(--now-form-field--color);--now-select--color--invalid:var(--now-form-field--color--invalid);--now-select--background-color:var(--now-form-field--background-color);--now-select--background-color--focus:var(--now-form-field--background-color--focus);--now-select--background-color--hover:var(--now-form-field--background-color--hover);--now-select--background-color--opened:var(--now-color--primary-0);--now-select--background-color--readonly:var(--now-form-field--background-color--readonly);--now-select--background-color--invalid:var(--now-form-field--background-color--invalid);--now-select--background-color--invalid_focus:var(--now-form-field--background-color--invalid_focus);--now-select--background-color--invalid_hover:var(--now-form-field--background-color--invalid_hover);--now-select--background-color-alpha:var(--now-form-field--background-color-alpha);--now-select--background-color-alpha--focus:var(--now-form-field--background-color-alpha--focus);--now-select--background-color-alpha--hover:var(--now-form-field--background-color-alpha--hover);--now-select--background-color-alpha--opened:1;--now-select--background-color-alpha--readonly:var(--now-form-field--background-color-alpha--readonly);--now-select--background-color-alpha--invalid:var(--now-form-field--background-color-alpha--invalid);--now-select--background-color-alpha--invalid_focus:var(--now-form-field--background-color-alpha--invalid_focus);--now-select--background-color-alpha--invalid_hover:var(--now-form-field--background-color-alpha--invalid_hover);--now-select--opacity--disabled:var(--now-form-field--opacity--disabled);--now-split-button_divider--width:var(--now-button--border-width);--now-split-button--font-style:var(--now-button--font-style);--now-split-button--font-weight:var(--now-button--font-weight);--now-split-button--font-family:var(--now-button--font-family);--now-split-button--text-transform:var(--now-button--text-transform);--now-split-button--text-wrap:normal;--now-split-button--border-width:var(--now-button--border-width);--now-split-button--border-radius:var(--now-button--border-radius);--now-split-button--opacity--disabled:var(--now-button--opacity--disabled);--now-split-button--primary--border-width:var(--now-button--primary--border-width);--now-split-button--primary--border-color:var(--now-button--primary--border-color);--now-split-button--primary--border-color--hover:var(--now-button--primary--border-color--hover);--now-split-button--primary--border-color--active:var(--now-button--primary--border-color--active);--now-split-button--primary--border-radius:var(--now-split-button--border-radius);--now-split-button--primary--color:var(--now-button--primary--color);--now-split-button--primary--color--hover:var(--now-button--primary--color--hover);--now-split-button--primary--color--active:var(--now-button--primary--color--active);--now-split-button--primary--background-color:var(--now-button--primary--background-color);--now-split-button--primary--background-color--hover:var(--now-button--primary--background-color--hover);--now-split-button--primary--background-color--active:var(--now-button--primary--background-color--active);--now-split-button--primary--opacity--disabled:var(--now-split-button--opacity--disabled);--now-split-button_icon--primary--color:var(--now-split-button--primary--color);--now-split-button_icon--primary--color--hover:var(--now-split-button--primary--color--hover);--now-split-button_icon--primary--color--active:var(--now-split-button--primary--color--active);--now-split-button_trigger-icon--primary--color:var(--now-split-button--primary--color);--now-split-button_trigger-icon--primary--color--hover:var(--now-split-button--primary--color--hover);--now-split-button_trigger-icon--primary--color--active:var(--now-split-button--primary--color--active);--now-split-button_divider--primary--width:var(--now-split-button_divider--width);--now-split-button_divider--primary--color:var(--now-split-button--primary--border-color);--now-split-button_divider--primary--color--hover:var(--now-split-button_divider--primary--color);--now-split-button_divider--primary--color--active:var(--now-split-button_divider--primary--color);--now-split-button--primary-positive--border-width:var(--now-button--primary-positive--border-width);--now-split-button--primary-positive--border-color:var(--now-button--primary-positive--border-color);--now-split-button--primary-positive--border-color--hover:var(--now-button--primary-positive--border-color--hover);--now-split-button--primary-positive--border-color--active:var(--now-button--primary-positive--border-color--active);--now-split-button--primary-positive--border-radius:var(--now-split-button--border-radius);--now-split-button--primary-positive--color:var(--now-button--primary-positive--color);--now-split-button--primary-positive--color--hover:var(--now-button--primary-positive--color--hover);--now-split-button--primary-positive--color--active:var(--now-button--primary-positive--color--active);--now-split-button--primary-positive--background-color:var(--now-button--primary-positive--background-color);--now-split-button--primary-positive--background-color--hover:var(--now-button--primary-positive--background-color--hover);--now-split-button--primary-positive--background-color--active:var(--now-button--primary-positive--background-color--active);--now-split-button--primary-positive--opacity--disabled:var(--now-split-button--opacity--disabled);--now-split-button_icon--primary-positive--color:var(--now-split-button--primary-positive--color);--now-split-button_icon--primary-positive--color--hover:var(--now-split-button--primary-positive--color--hover);--now-split-button_icon--primary-positive--color--active:var(--now-split-button--primary-positive--color--active);--now-split-button_trigger-icon--primary-positive--color:var(--now-split-button--primary-positive--color);--now-split-button_trigger-icon--primary-positive--color--hover:var(--now-split-button--primary-positive--color--hover);--now-split-button_trigger-icon--primary-positive--color--active:var(--now-split-button--primary-positive--color--active);--now-split-button_divider--primary-positive--width:var(--now-split-button_divider--width);--now-split-button_divider--primary-positive--color:var(--now-split-button--primary-positive--border-color);--now-split-button_divider--primary-positive--color--hover:var(--now-split-button_divider--primary-positive--color);--now-split-button_divider--primary-positive--color--active:var(--now-split-button_divider--primary-positive--color);--now-split-button--primary-negative--border-width:var(--now-button--primary-negative--border-width);--now-split-button--primary-negative--border-color:var(--now-button--primary-negative--border-color);--now-split-button--primary-negative--border-color--hover:var(--now-button--primary-negative--border-color--hover);--now-split-button--primary-negative--border-color--active:var(--now-button--primary-negative--border-color--active);--now-split-button--primary-negative--border-radius:var(--now-split-button--border-radius);--now-split-button--primary-negative--color:var(--now-button--primary-negative--color);--now-split-button--primary-negative--color--hover:var(--now-button--primary-negative--color--hover);--now-split-button--primary-negative--color--active:var(--now-button--primary-negative--color--active);--now-split-button--primary-negative--background-color:var(--now-button--primary-negative--background-color);--now-split-button--primary-negative--background-color--hover:var(--now-button--primary-negative--background-color--hover);--now-split-button--primary-negative--background-color--active:var(--now-button--primary-negative--background-color--active);--now-split-button--primary-negative--opacity--disabled:var(--now-split-button--opacity--disabled);--now-split-button_icon--primary-negative--color:var(--now-split-button--primary-negative--color);--now-split-button_icon--primary-negative--color--hover:var(--now-split-button--primary-negative--color--hover);--now-split-button_icon--primary-negative--color--active:var(--now-split-button--primary-negative--color--active);--now-split-button_trigger-icon--primary-negative--color:var(--now-split-button--primary-negative--color);--now-split-button_trigger-icon--primary-negative--color--hover:var(--now-split-button--primary-negative--color--hover);--now-split-button_trigger-icon--primary-negative--color--active:var(--now-split-button--primary-negative--color--active);--now-split-button_divider--primary-negative--width:var(--now-split-button_divider--width);--now-split-button_divider--primary-negative--color:var(--now-split-button--primary-negative--border-color);--now-split-button_divider--primary-negative--color--hover:var(--now-split-button_divider--primary-negative--color);--now-split-button_divider--primary-negative--color--active:var(--now-split-button_divider--primary-negative--color);--now-split-button--secondary--border-width:var(--now-button--secondary--border-width);--now-split-button--secondary--border-color:var(--now-button--secondary--border-color);--now-split-button--secondary--border-color--hover:var(--now-button--secondary--border-color--hover);--now-split-button--secondary--border-color--active:var(--now-button--secondary--border-color--active);--now-split-button--secondary--border-radius:var(--now-split-button--border-radius);--now-split-button--secondary--color:var(--now-button--secondary--color);--now-split-button--secondary--color--hover:var(--now-button--secondary--color--hover);--now-split-button--secondary--color--active:var(--now-button--secondary--color--active);--now-split-button--secondary--background-color:var(--now-button--secondary--background-color);--now-split-button--secondary--background-color-alpha:var(--now-button--secondary--background-color-alpha);--now-split-button--secondary--background-color--hover:var(--now-button--secondary--background-color--hover);--now-split-button--secondary--background-color-alpha--hover:var(--now-button--secondary--background-color-alpha--hover);--now-split-button--secondary--background-color--active:var(--now-button--secondary--background-color--active);--now-split-button--secondary--background-color-alpha--active:var(--now-button--secondary--background-color-alpha--active);--now-split-button--secondary--opacity--disabled:var(--now-split-button--opacity--disabled);--now-split-button_icon--secondary--color:var(--now-split-button--secondary--color);--now-split-button_icon--secondary--color--hover:var(--now-split-button--secondary--color--hover);--now-split-button_icon--secondary--color--active:var(--now-split-button--secondary--color--active);--now-split-button_trigger-icon--secondary--color:var(--now-split-button--secondary--color);--now-split-button_trigger-icon--secondary--color--hover:var(--now-split-button--secondary--color--hover);--now-split-button_trigger-icon--secondary--color--active:var(--now-split-button--secondary--color--active);--now-split-button_divider--secondary--width:var(--now-split-button_divider--width);--now-split-button_divider--secondary--color:var(--now-split-button--secondary--border-color);--now-split-button_divider--secondary--color--hover:var(--now-split-button--secondary--border-color--hover);--now-split-button_divider--secondary--color--active:var(--now-split-button--secondary--border-color--active);--now-split-button--secondary-positive--border-width:var(--now-button--secondary-positive--border-width);--now-split-button--secondary-positive--border-color:var(--now-button--secondary-positive--border-color);--now-split-button--secondary-positive--border-color--hover:var(--now-button--secondary-positive--border-color--hover);--now-split-button--secondary-positive--border-color--active:var(--now-button--secondary-positive--border-color--active);--now-split-button--secondary-positive--border-radius:var(--now-split-button--border-radius);--now-split-button--secondary-positive--color:var(--now-button--secondary-positive--color);--now-split-button--secondary-positive--color--hover:var(--now-button--secondary-positive--color--hover);--now-split-button--secondary-positive--color--active:var(--now-button--secondary-positive--color--active);--now-split-button--secondary-positive--background-color:var(--now-button--secondary-positive--background-color);--now-split-button--secondary-positive--background-color-alpha:var(--now-button--secondary-positive--background-color-alpha);--now-split-button--secondary-positive--background-color--hover:var(--now-button--secondary-positive--background-color--hover);--now-split-button--secondary-positive--background-color-alpha--hover:var(--now-button--secondary-positive--background-color-alpha--hover);--now-split-button--secondary-positive--background-color--active:var(--now-button--secondary-positive--background-color--active);--now-split-button--secondary-positive--background-color-alpha--active:var(--now-button--secondary-positive--background-color-alpha--active);--now-split-button--secondary-positive--opacity--disabled:var(--now-split-button--opacity--disabled);--now-split-button_icon--secondary-positive--color:var(--now-split-button--secondary-positive--color);--now-split-button_icon--secondary-positive--color--hover:var(--now-split-button--secondary-positive--color--hover);--now-split-button_icon--secondary-positive--color--active:var(--now-split-button--secondary-positive--color--active);--now-split-button_trigger-icon--secondary-positive--color:var(--now-split-button--secondary-positive--color);--now-split-button_trigger-icon--secondary-positive--color--hover:var(--now-split-button--secondary-positive--color--hover);--now-split-button_trigger-icon--secondary-positive--color--active:var(--now-split-button--secondary-positive--color--active);--now-split-button_divider--secondary-positive--width:var(--now-split-button_divider--width);--now-split-button_divider--secondary-positive--color:var(--now-split-button--secondary-positive--border-color);--now-split-button_divider--secondary-positive--color--hover:var(--now-split-button--secondary-positive--border-color--hover);--now-split-button_divider--secondary-positive--color--active:var(--now-split-button--secondary-positive--border-color--active);--now-split-button--secondary-negative--border-width:var(--now-button--secondary-negative--border-width);--now-split-button--secondary-negative--border-color:var(--now-button--secondary-negative--border-color);--now-split-button--secondary-negative--border-color--hover:var(--now-button--secondary-negative--border-color--hover);--now-split-button--secondary-negative--border-color--active:var(--now-button--secondary-negative--border-color--active);--now-split-button--secondary-negative--border-radius:var(--now-split-button--border-radius);--now-split-button--secondary-negative--color:var(--now-button--secondary-negative--color);--now-split-button--secondary-negative--color--hover:var(--now-button--secondary-negative--color--hover);--now-split-button--secondary-negative--color--active:var(--now-button--secondary-negative--color--active);--now-split-button--secondary-negative--background-color:var(--now-button--secondary-negative--background-color);--now-split-button--secondary-negative--background-color-alpha:var(--now-button--secondary-negative--background-color-alpha);--now-split-button--secondary-negative--background-color--hover:var(--now-button--secondary-negative--background-color--hover);--now-split-button--secondary-negative--background-color-alpha--hover:var(--now-button--secondary-negative--background-color-alpha--hover);--now-split-button--secondary-negative--background-color--active:var(--now-button--secondary-negative--background-color--active);--now-split-button--secondary-negative--background-color-alpha--active:var(--now-button--secondary-negative--background-color-alpha--active);--now-split-button--secondary-negative--opacity--disabled:var(--now-split-button--opacity--disabled);--now-split-button_icon--secondary-negative--color:var(--now-split-button--secondary-negative--color);--now-split-button_icon--secondary-negative--color--hover:var(--now-split-button--secondary-negative--color--hover);--now-split-button_icon--secondary-negative--color--active:var(--now-split-button--secondary-negative--color--active);--now-split-button_trigger-icon--secondary-negative--color:var(--now-split-button--secondary-negative--color);--now-split-button_trigger-icon--secondary-negative--color--hover:var(--now-split-button--secondary-negative--color--hover);--now-split-button_trigger-icon--secondary-negative--color--active:var(--now-split-button--secondary-negative--color--active);--now-split-button_divider--secondary-negative--width:var(--now-split-button_divider--width);--now-split-button_divider--secondary-negative--color:var(--now-split-button--secondary-negative--border-color);--now-split-button_divider--secondary-negative--color--hover:var(--now-split-button--secondary-negative--border-color--hover);--now-split-button_divider--secondary-negative--color--active:var(--now-split-button--secondary-negative--border-color--active);--now-split-button--tertiary--border-width:var(--now-button--tertiary--border-width);--now-split-button--tertiary--border-color:var(--now-button--tertiary--border-color);--now-split-button--tertiary--border-color-alpha:var(--now-button--tertiary--border-color-alpha);--now-split-button--tertiary--border-color--hover:var(--now-button--tertiary--border-color--hover);--now-split-button--tertiary--border-color-alpha--hover:var(--now-button--tertiary--border-color-alpha--hover);--now-split-button--tertiary--border-color--active:var(--now-button--tertiary--border-color--active);--now-split-button--tertiary--border-color-alpha--active:var(--now-button--tertiary--border-color-alpha--active);--now-split-button--tertiary--border-radius:var(--now-split-button--border-radius);--now-split-button--tertiary--color:var(--now-button--tertiary--color);--now-split-button--tertiary--color-alpha:var(--now-button--tertiary--color-alpha);--now-split-button--tertiary--color--hover:var(--now-button--tertiary--color--hover);--now-split-button--tertiary--color-alpha--hover:var(--now-button--tertiary--color-alpha--hover);--now-split-button--tertiary--color--active:var(--now-button--tertiary--color--active);--now-split-button--tertiary--color-alpha--active:var(--now-button--tertiary--color-alpha--active);--now-split-button--tertiary--background-color:var(--now-button--tertiary--background-color);--now-split-button--tertiary--background-color-alpha:var(--now-button--tertiary--background-color-alpha);--now-split-button--tertiary--background-color--hover:var(--now-button--tertiary--background-color--hover);--now-split-button--tertiary--background-color-alpha--hover:var(--now-button--tertiary--background-color-alpha--hover);--now-split-button--tertiary--background-color--active:var(--now-button--tertiary--background-color--active);--now-split-button--tertiary--background-color-alpha--active:var(--now-button--tertiary--background-color-alpha--active);--now-split-button--tertiary--opacity--disabled:var(--now-split-button--opacity--disabled);--now-split-button_icon--tertiary--color:var(--now-split-button--tertiary--color);--now-split-button_icon--tertiary--color--hover:var(--now-split-button--tertiary--color--hover);--now-split-button_icon--tertiary--color--active:var(--now-split-button--tertiary--color--active);--now-split-button_trigger-icon--tertiary--color:var(--now-split-button--tertiary--color);--now-split-button_trigger-icon--tertiary--color--hover:var(--now-split-button--tertiary--color--hover);--now-split-button_trigger-icon--tertiary--color--active:var(--now-split-button--tertiary--color--active);--now-split-button_divider--tertiary--width:var(--now-split-button_divider--width);--now-split-button_divider--tertiary--color:var(--now-split-button--tertiary--border-color);--now-split-button_divider--tertiary--color--hover:var(--now-split-button--tertiary--border-color);--now-split-button_divider--tertiary--color--active:var(--now-split-button--tertiary--border-color);--now-stepper_completed-count--color:var(--now-color_text--tertiary);--now-stepper_completed-count--font-family:var(--now-stepper--font-family);--now-stepper_completed-count--font-style:var(--now-stepper--font-style);--now-stepper_completed-count--font-weight:var(--now-stepper--font-weight);--now-stepper_completed-count--text-transform:var(--now-stepper--text-transform);--now-stepper_connector--border-color:var(--now-color_divider--tertiary);--now-stepper_label--color--selected:var(--now-color_text--primary);--now-stepper_label--color--selected_hover:var(--now-color_selection--primary-3);--now-stepper_label--color--selected_active:var(--now-color_selection--primary-4);--now-stepper_label--done--color:var(--now-color_text--primary);--now-stepper_label--done--color--hover:var(--now-color_selection--primary-3);--now-stepper_label--done--color--active:var(--now-color_selection--primary-4);--now-stepper_label--none--color:var(--now-color_text--tertiary);--now-stepper_label--none--color--hover:var(--now-color_selection--primary-2);--now-stepper_label--none--color--active:var(--now-color_selection--primary-3);--now-stepper_label--partial--color:var(--now-color_text--primary);--now-stepper_label--partial--color--hover:var(--now-color_selection--primary-3);--now-stepper_label--partial--color--active:var(--now-color_selection--primary-4);--now-stepper_label--font-family:var(--now-stepper--font-family);--now-stepper_label--font-style:var(--now-stepper--font-style);--now-stepper_label--font-weight:var(--now-stepper--font-weight);--now-stepper_label--text-transform:var(--now-stepper--text-transform);--now-stepper_step--background-color--selected:var(--now-color_selection--primary-0);--now-stepper_step--background-color--selected_active:var(--now-stepper_step--background-color--selected);--now-stepper_step--background-color--selected_hover:var(--now-stepper_step--background-color--selected);--now-stepper_step--border-color--selected:var(--now-color_selection--primary-2);--now-stepper_step--border-color--selected_active:var(--now-color_selection--primary-4);--now-stepper_step--border-color--selected_hover:var(--now-color_selection--primary-3);--now-stepper_step--color--selected:var(--now-color_selection--primary-2);--now-stepper_step--color--selected_active:var(--now-color_selection--primary-4);--now-stepper_step--color--selected_hover:var(--now-color_selection--primary-3);--now-stepper_step--done--color:var(--now-color_selection--primary-2);--now-stepper_step--done--color--active:var(--now-color_selection--primary-4);--now-stepper_step--done--color--hover:var(--now-color_selection--primary-3);--now-stepper_step--none--border-color:var(--now-color_text--tertiary);--now-stepper_step--none--border-color--active:var(--now-color_selection--primary-3);--now-stepper_step--none--border-color--hover:var(--now-color_selection--primary-2);--now-stepper_step--none--color:var(--now-color_text--tertiary);--now-stepper_step--none--color--active:var(--now-color_selection--primary-3);--now-stepper_step--none--color--hover:var(--now-color_selection--primary-2);--now-stepper_step--partial--border-color:var(--now-color_selection--primary-2);--now-stepper_step--partial--border-color--active:var(--now-color_selection--primary-4);--now-stepper_step--partial--border-color--hover:var(--now-color_selection--primary-3);--now-stepper_step--partial--color:var(--now-color_selection--primary-2);--now-stepper_step--partial--color--active:var(--now-color_selection--primary-4);--now-stepper_step--partial--color--hover:var(--now-color_selection--primary-3);--now-stepper_sublabel--color--selected:var(--now-color_text--tertiary);--now-stepper_sublabel--color--selected_active:var(--now-stepper_sublabel--color--selected);--now-stepper_sublabel--color--selected_hover:var(--now-stepper_sublabel--color--selected);--now-stepper_sublabel--done--color:var(--now-color_text--tertiary);--now-stepper_sublabel--done--color--hover:var(--now-stepper_sublabel--done--color);--now-stepper_sublabel--done--color--active:var(--now-stepper_sublabel--done--color);--now-stepper_sublabel--none--color:var(--now-color_text--tertiary);--now-stepper_sublabel--none--color--hover:var(--now-stepper_sublabel--none--color);--now-stepper_sublabel--none--color--active:var(--now-stepper_sublabel--none--color);--now-stepper_sublabel--partial--color:var(--now-color_text--tertiary);--now-stepper_sublabel--partial--color--hover:var(--now-stepper_sublabel--partial--color);--now-stepper_sublabel--partial--color--active:var(--now-stepper_sublabel--partial--color);--now-stepper_sublabel--font-family:var(--now-stepper_label--font-family);--now-stepper_sublabel--font-style:var(--now-stepper_label--font-style);--now-stepper_sublabel--font-weight:var(--now-stepper_label--font-weight);--now-stepper_sublabel--text-transform:var(--now-stepper_label--text-transform);--now-stepper--font-family:var(--now-navigation--font-family);--now-stepper--font-style:var(--now-navigation--font-style);--now-stepper--font-weight:var(--now-navigation--font-weight);--now-stepper--text-transform:var(--now-navigation--text-transform);--now-stepper--opacity--disabled:var(--now-opacity--less);--now-tabs-vertical--background-color:var(--now-tabs--background-color);--now-tabs-vertical--background-color--hover:var(--now-tabs-vertical--background-color);--now-tabs-vertical--background-color--active:var(--now-tabs-vertical--background-color);--now-tabs-vertical--background-color--selected:var(--now-tabs-vertical--background-color);--now-tabs-vertical--background-color-alpha:var(--now-tabs--background-color-alpha);--now-tabs-vertical--background-color-alpha--hover:0.65;--now-tabs-vertical--background-color-alpha--active:0.8;--now-tabs-vertical--background-color-alpha--selected:1;--now-tabs-vertical--border-color--active:var(--now-tabs--border-color--active);--now-tabs-vertical--border-color--hover:var(--now-tabs--border-color--hover);--now-tabs-vertical--border-color--selected:var(--now-tabs--border-color--selected);--now-tabs-vertical--border-color-alpha--hover:0;--now-tabs-vertical--border-color-alpha--active:0;--now-tabs-vertical--border-color-alpha--selected:1;--now-tabs-vertical--iconic--border-radius:50%;--now-tabs-vertical--border-width:2px;--now-tabs-vertical--color:var(--now-tabs--color);--now-tabs-vertical--color--active:var(--now-tabs--color--active);--now-tabs-vertical--color--hover:var(--now-tabs--color--hover);--now-tabs-vertical--color--selected:var(--now-tabs--color--selected);--now-tabs-vertical--font-family:var(--now-tabs--font-family);--now-tabs-vertical--font-style:var(--now-tabs--font-style);--now-tabs-vertical--font-style--selected:var(--now-tabs-vertical--font-style);--now-tabs-vertical--font-weight:var(--now-tabs--font-weight);--now-tabs-vertical--font-weight--selected:var(--now-tabs-vertical--font-weight);--now-tabs-vertical--opacity--disabled:var(--now-tabs--opacity--disabled);--now-tabs-vertical--text-transform:var(--now-tabs--text-transform);--now-tabs-vertical--text-transform--selected:var(--now-tabs-vertical--text-transform);--now-tabs-vertical--scale-size-block:1;--now-tabs-vertical_divider--width:0;--now-tabs-vertical_divider--color:var(--now-color_divider--secondary);--now-tabs-vertical_container--background-color:var(--now-tabs--background-color);--now-tabs-vertical_container--background-color-alpha:0;--now-tabs_divider--color:var(--now-color_divider--secondary);--now-tabs_divider--width:1px;--now-tabs--scale-size-block:1;--now-tabs--scale-size-inline:1;--now-tabs--background-color:var(--now-color_background--primary);--now-tabs--background-color--active:var(--now-tabs--background-color);--now-tabs--background-color--hover:var(--now-tabs--background-color);--now-tabs--background-color--selected:var(--now-tabs--background-color);--now-tabs--background-color-alpha:0;--now-tabs--border-color--active:var(--now-color_selection--primary-4);--now-tabs--border-color--hover:var(--now-color_divider--secondary);--now-tabs--border-color--selected:var(--now-color_selection--primary-2);--now-tabs--border-radius:0;--now-tabs--border-width:2px;--now-tabs--color:var(--now-color_text--primary);--now-tabs--color--active:var(--now-color_selection--primary-4);--now-tabs--color--hover:var(--now-color_selection--primary-3);--now-tabs--color--selected:var(--now-color_selection--primary-2);--now-tabs--font-family:var(--now-navigation--font-family);--now-tabs--font-style:var(--now-navigation--font-style);--now-tabs--font-style--selected:var(--now-tabs--font-style);--now-tabs--font-weight:var(--now-navigation--font-weight);--now-tabs--font-weight--selected:var(--now-tabs--font-weight);--now-tabs--opacity--disabled:var(--now-opacity--less);--now-tabs--text-transform:var(--now-navigation--text-transform);--now-tabs--text-transform--selected:var(--now-tabs--text-transform);--now-tabs_container--background-color:var(--now-tabs--background-color);--now-tabs_container--background-color-alpha:0;--now-template-card-omnichannel--color:var(--now-color_text--tertiary);--now-template-message-empty-state_content--color:var(--now-display-type--tertiary--color);--now-template-message-empty-state_content--font-family:var(--now-display-type--tertiary--font-family);--now-template-message-empty-state_content--font-style:var(--now-display-type--tertiary--font-style);--now-template-message-empty-state_content--font-weight:var(--now-display-type--tertiary--font-weight);--now-template-message-empty-state_content--text-transform:var(--now-display-type--tertiary--text-transform);--now-template-message-empty-state_heading--color:var(--now-display-type--primary--color);--now-template-message-empty-state_heading--header--font-family:var(--now-display-type--header-primary--font-family);--now-template-message-empty-state_heading--header--font-style:var(--now-display-type--header-primary--font-style);--now-template-message-empty-state_heading--header--font-weight:var(--now-display-type--header-primary--font-weight);--now-template-message-empty-state_heading--header--text-transform:var(--now-display-type--header-primary--text-transform);--now-template-message-empty-state_heading--title--font-family:var(--now-display-type--title-primary--font-family);--now-template-message-empty-state_heading--title--font-style:var(--now-display-type--title-primary--font-style);--now-template-message-empty-state_heading--title--font-weight:var(--now-display-type--title-primary--font-weight);--now-template-message-empty-state_heading--title--text-transform:var(--now-display-type--title-primary--text-transform);--now-text-link--font-family:inherit;--now-text-link--font-style:inherit;--now-text-link--font-weight:inherit;--now-text-link--primary--color:var(--now-color--link-2);--now-text-link--primary--color--active:var(--now-color--link-4);--now-text-link--primary--color--hover:var(--now-color--link-3);--now-text-link--secondary--color:var(--now-color--link-3);--now-text-link--secondary--color--active:var(--now-color_text--primary);--now-text-link--secondary--color--hover:var(--now-color--link-4);--now-text-link--text-transform:inherit;--now-textarea_inset--color:var(--now-form-field_inset--color);--now-textarea_inset--color-alpha:var(--now-form-field_inset--color-alpha);--now-textarea_inset--color--hover:var(--now-form-field_inset--color--hover);--now-textarea_inset--color-alpha--hover:var(--now-form-field_inset--color-alpha--hover);--now-textarea_inset--color--focus:var(--now-form-field_inset--color--focus);--now-textarea_inset--color-alpha--focus:var(--now-form-field_inset--color-alpha--focus);--now-textarea_inset--color--invalid:var(--now-form-field_inset--color--invalid);--now-textarea_inset--color-alpha--invalid:var(--now-form-field_inset--color-alpha--invalid);--now-textarea_inset--color--invalid_hover:var(--now-form-field_inset--color--invalid_hover);--now-textarea_inset--color-alpha--invalid_hover:var(--now-form-field_inset--color-alpha--invalid_hover);--now-textarea_inset--color--invalid_focus:var(--now-form-field_inset--color--invalid_focus);--now-textarea_inset--color-alpha--invalid_focus:var(--now-form-field_inset--color-alpha--invalid_focus);--now-textarea--border-width:var(--now-form-field--border-width);--now-textarea--border-radius:var(--now-form-field--border-radius);--now-textarea--border-block-end-width:var(--now-form-field--border-block-end-width);--now-textarea--border-color:var(--now-form-field--border-color);--now-textarea--border-color--hover:var(--now-form-field--border-color--hover);--now-textarea--border-color--focus:var(--now-form-field--border-color--focus);--now-textarea--border-color--readonly:var(--now-form-field--border-color--readonly);--now-textarea--border-color--invalid:var(--now-form-field--border-color--invalid);--now-textarea--border-color--invalid_hover:var(--now-form-field--border-color--invalid_hover);--now-textarea--border-color--invalid_focus:var(--now-form-field--border-color--invalid_focus);--now-textarea--border-width--readonly:var(--now-form-field--border-width--readonly);--now-textarea--border-radius--readonly:var(--now-form-field--border-radius--readonly);--now-textarea--border-block-end-width--readonly:var(--now-form-field--border-block-end-width--readonly);--now-textarea--color:var(--now-form-field--color);--now-textarea--color--readonly:var(--now-form-field--color--readonly);--now-textarea--color--invalid:var(--now-form-field--color--invalid);--now-textarea_placeholder--color:var(--now-form-field_placeholder--color);--now-textarea_placeholder--color--hover:var(--now-form-field_placeholder--color--hover);--now-textarea--background-color:var(--now-form-field--background-color);--now-textarea--background-color-alpha:var(--now-form-field--background-color-alpha);--now-textarea--background-color--hover:var(--now-form-field--background-color--hover);--now-textarea--background-color-alpha--hover:var(--now-form-field--background-color-alpha--hover);--now-textarea--background-color--focus:var(--now-form-field--background-color--focus);--now-textarea--background-color-alpha--focus:var(--now-form-field--background-color-alpha--focus);--now-textarea--background-color--readonly:var(--now-form-field--background-color--readonly);--now-textarea--background-color-alpha--readonly:var(--now-form-field--background-color-alpha--readonly);--now-textarea--background-color--invalid:var(--now-form-field--background-color--invalid);--now-textarea--background-color-alpha--invalid:var(--now-form-field--background-color-alpha--invalid);--now-textarea--background-color--invalid_hover:var(--now-form-field--background-color--invalid_hover);--now-textarea--background-color-alpha--invalid_hover:var(--now-form-field--background-color-alpha--invalid_hover);--now-textarea--background-color--invalid_focus:var(--now-form-field--background-color--invalid_focus);--now-textarea--background-color-alpha--invalid_focus:var(--now-form-field--background-color-alpha--invalid_focus);--now-textarea--opacity--disabled:var(--now-form-field--opacity--disabled);--now-textarea_inset--blue--color:var(--now-textarea_inset--color);--now-textarea_inset--blue--color-alpha:var(--now-textarea_inset--color-alpha);--now-textarea_inset--blue--color--hover:var(--now-textarea_inset--color--hover);--now-textarea_inset--blue--color-alpha--hover:var(--now-textarea_inset--color-alpha--hover);--now-textarea_inset--blue--color--focus:var(--now-textarea_inset--color--focus);--now-textarea_inset--blue--color-alpha--focus:var(--now-textarea_inset--color-alpha--focus);--now-textarea_inset--blue--color--invalid:var(--now-textarea_inset--color--invalid);--now-textarea_inset--blue--color-alpha--invalid:var(--now-textarea_inset--color-alpha--invalid);--now-textarea_inset--blue--color--invalid_hover:var(--now-textarea_inset--color--invalid_hover);--now-textarea_inset--blue--color-alpha--invalid_hover:var(--now-textarea_inset--color-alpha--invalid_hover);--now-textarea_inset--blue--color--invalid_focus:var(--now-textarea_inset--color--invalid_focus);--now-textarea_inset--blue--color-alpha--invalid_focus:var(--now-textarea_inset--color-alpha--invalid_focus);--now-textarea--blue--color:var(--now-form-field--color);--now-textarea_placeholder--blue--color:var(--now-color_text--primary);--now-textarea_placeholder--blue--color--hover:var(--now-textarea_placeholder--blue--color);--now-textarea--blue--background-color:var(--now-color_grouped--blue-0);--now-textarea--blue--background-color-alpha:var(--now-textarea--background-color-alpha);--now-textarea--blue--background-color--hover:var(--now-form-field--background-color--hover);--now-textarea--blue--background-color-alpha--hover:var(--now-textarea--background-color-alpha--hover);--now-textarea--blue--background-color--focus:var(--now-textarea--blue--background-color);--now-textarea--blue--background-color-alpha--focus:var(--now-textarea--background-color-alpha--focus);--now-textarea--blue--background-color--invalid:var(--now-textarea--blue--background-color);--now-textarea--blue--background-color-alpha--invalid:var(--now-textarea--background-color-alpha--invalid);--now-textarea--blue--background-color--invalid_hover:var(--now-textarea--background-color--invalid_hover);--now-textarea--blue--background-color-alpha--invalid_hover:var(--now-textarea--background-color-alpha--invalid_hover);--now-textarea--blue--background-color--invalid_focus:var(--now-textarea--blue--background-color);--now-textarea--blue--background-color-alpha--invalid_focus:var(--now-textarea--background-color-alpha--invalid_focus);--now-textarea--blue--border-color:var(--now-color_border--primary);--now-textarea--blue--border-color--hover:var(--now-textarea--blue--border-color);--now-textarea--blue--border-color--focus:var(--now-color--focus-2);--now-textarea--blue--border-color--invalid:var(--now-textarea--border-color--invalid);--now-textarea--blue--border-color--invalid_hover:var(--now-textarea--border-color--invalid_hover);--now-textarea--blue--border-color--invalid_focus:var(--now-textarea--border-color--invalid_focus);--now-textarea--blue--opacity--disabled:var(--now-textarea--opacity--disabled);--now-textarea_inset--yellow--color:var(--now-textarea_inset--color);--now-textarea_inset--yellow--color-alpha:var(--now-textarea_inset--color-alpha);--now-textarea_inset--yellow--color--hover:var(--now-textarea_inset--color--hover);--now-textarea_inset--yellow--color-alpha--hover:var(--now-textarea_inset--color-alpha--hover);--now-textarea_inset--yellow--color--focus:var(--now-textarea_inset--color--focus);--now-textarea_inset--yellow--color-alpha--focus:var(--now-textarea_inset--color-alpha--focus);--now-textarea_inset--yellow--color--invalid:var(--now-textarea_inset--color--invalid);--now-textarea_inset--yellow--color-alpha--invalid:var(--now-textarea_inset--color-alpha--invalid);--now-textarea_inset--yellow--color--invalid_hover:var(--now-textarea_inset--color--invalid_hover);--now-textarea_inset--yellow--color-alpha--invalid_hover:var(--now-textarea_inset--color-alpha--invalid_hover);--now-textarea_inset--yellow--color--invalid_focus:var(--now-textarea_inset--color--invalid_focus);--now-textarea_inset--yellow--color-alpha--invalid_focus:var(--now-textarea_inset--color-alpha--invalid_focus);--now-textarea--yellow--color:var(--now-form-field--color);--now-textarea_placeholder--yellow--color:var(--now-color_text--primary);--now-textarea_placeholder--yellow--color--hover:var(--now-textarea_placeholder--yellow--color);--now-textarea--yellow--background-color:var(--now-color_grouped--yellow-1);--now-textarea--yellow--background-color-alpha:var(--now-textarea--background-color-alpha);--now-textarea--yellow--background-color--hover:var(--now-form-field--background-color--hover);--now-textarea--yellow--background-color-alpha--hover:var(--now-textarea--background-color-alpha--hover);--now-textarea--yellow--background-color--focus:var(--now-textarea--yellow--background-color);--now-textarea--yellow--background-color-alpha--focus:var(--now-textarea--background-color-alpha--focus);--now-textarea--yellow--background-color--invalid:var(--now-textarea--yellow--background-color);--now-textarea--yellow--background-color-alpha--invalid:var(--now-textarea--background-color-alpha--invalid);--now-textarea--yellow--background-color--invalid_hover:var(--now-textarea--background-color--invalid_hover);--now-textarea--yellow--background-color-alpha--invalid_hover:var(--now-textarea--background-color-alpha--invalid_hover);--now-textarea--yellow--background-color--invalid_focus:var(--now-textarea--yellow--background-color);--now-textarea--yellow--background-color-alpha--invalid_focus:var(--now-textarea--background-color-alpha--invalid_focus);--now-textarea--yellow--border-color:var(--now-color_border--primary);--now-textarea--yellow--border-color--hover:var(--now-textarea--yellow--border-color);--now-textarea--yellow--border-color--focus:var(--now-color--focus-2);--now-textarea--yellow--border-color--invalid:var(--now-textarea--border-color--invalid);--now-textarea--yellow--border-color--invalid_hover:var(--now-textarea--border-color--invalid_hover);--now-textarea--yellow--border-color--invalid_focus:var(--now-textarea--border-color--invalid_focus);--now-textarea--yellow--opacity--disabled:var(--now-textarea--opacity--disabled);--now-textarea_inset--green--color:var(--now-textarea_inset--color);--now-textarea_inset--green--color-alpha:var(--now-textarea_inset--color-alpha);--now-textarea_inset--green--color--hover:var(--now-textarea_inset--color--hover);--now-textarea_inset--green--color-alpha--hover:var(--now-textarea_inset--color-alpha--hover);--now-textarea_inset--green--color--focus:var(--now-textarea_inset--color--focus);--now-textarea_inset--green--color-alpha--focus:var(--now-textarea_inset--color-alpha--focus);--now-textarea_inset--green--color--invalid:var(--now-textarea_inset--color--invalid);--now-textarea_inset--green--color-alpha--invalid:var(--now-textarea_inset--color-alpha--invalid);--now-textarea_inset--green--color--invalid_hover:var(--now-textarea_inset--color--invalid_hover);--now-textarea_inset--green--color-alpha--invalid_hover:var(--now-textarea_inset--color-alpha--invalid_hover);--now-textarea_inset--green--color--invalid_focus:var(--now-textarea_inset--color--invalid_focus);--now-textarea_inset--green--color-alpha--invalid_focus:var(--now-textarea_inset--color-alpha--invalid_focus);--now-textarea--green--color:var(--now-form-field--color);--now-textarea_placeholder--green--color:var(--now-color_text--primary);--now-textarea_placeholder--green--color--hover:var(--now-textarea_placeholder--green--color);--now-textarea--green--background-color:var(--now-color_grouped--green-1);--now-textarea--green--background-color-alpha:var(--now-textarea--background-color-alpha);--now-textarea--green--background-color--hover:var(--now-form-field--background-color--hover);--now-textarea--green--background-color-alpha--hover:var(--now-textarea--background-color-alpha--hover);--now-textarea--green--background-color--focus:var(--now-textarea--green--background-color);--now-textarea--green--background-color-alpha--focus:var(--now-textarea--background-color-alpha--focus);--now-textarea--green--background-color--invalid:var(--now-textarea--green--background-color);--now-textarea--green--background-color-alpha--invalid:var(--now-textarea--background-color-alpha--invalid);--now-textarea--green--background-color--invalid_hover:var(--now-textarea--background-color--invalid_hover);--now-textarea--green--background-color-alpha--invalid_hover:var(--now-textarea--background-color-alpha--invalid_hover);--now-textarea--green--background-color--invalid_focus:var(--now-textarea--green--background-color);--now-textarea--green--background-color-alpha--invalid_focus:var(--now-textarea--background-color-alpha--invalid_focus);--now-textarea--green--border-color:var(--now-color_border--primary);--now-textarea--green--border-color--hover:var(--now-textarea--green--border-color);--now-textarea--green--border-color--focus:var(--now-color--focus-2);--now-textarea--green--border-color--invalid:var(--now-textarea--border-color--invalid);--now-textarea--green--border-color--invalid_hover:var(--now-textarea--border-color--invalid_hover);--now-textarea--green--border-color--invalid_focus:var(--now-textarea--border-color--invalid_focus);--now-textarea--green--opacity--disabled:var(--now-textarea--opacity--disabled);--now-textarea--selection--background-color:var(--now-color--focus-1);--now-textarea--selection--color:var(--now-textarea--color);--now-toggle_handle--background-color:var(--now-color--neutral-0);--now-toggle_handle--background-color--hover:var(--now-color--neutral-3);--now-toggle_handle--border-color:var(--now-color_border--primary);--now-toggle_handle--border-radius:var(--now-form-control_handle--border-radius);--now-toggle_handle--border-width:var(--now-form-control_handle--border-width);--now-toggle_track--background-color:var(--now-color_background--tertiary);--now-toggle_track--background-color--checked:var(--now-color--interactive-2);--now-toggle_track--border-color:var(--now-color_border--primary);--now-toggle_track--border-color--checked:var(--now-color--interactive-4);--now-toggle_track--border-radius:var(--now-form-control_track--border-radius);--now-toggle_track--border-width:var(--now-form-control_track--border-width);--now-toggle--opacity--disabled:var(--now-opacity--less);--now-toggle--font-family:var(--now-form-control--font-family);--now-toggle--font-style:var(--now-form-control--font-style);--now-toggle--font-weight:var(--now-form-control--font-weight);--now-toggle--text-transform:var(--now-form-control--text-transform);--now-toggle--scale-size:1;--now-toolbar-nav--background-color-start:var(--now-color_brand--primary);--now-toolbar-nav--background-color-end:var(--now-color--neutral-19);--now-tooltip--background-color:var(--now-color--neutral-19);--now-tooltip--background-color-alpha:1;--now-tooltip--border-color:var(--now-menu--border-color);--now-tooltip--border-radius:var(--now-menu--border-radius);--now-tooltip--border-width:0;--now-tooltip--color:var(--now-color--neutral-0);--now-tooltip--font-family:var(--now-menu--font-family);--now-tooltip--font-style:var(--now-menu--font-style);--now-tooltip--font-weight:var(--now-menu--font-weight);--now-tooltip--text-transform:var(--now-menu--text-transform);--now-typeahead_inset--color:var(--now-form-field_inset--color);--now-typeahead_inset--color-alpha:var(--now-form-field_inset--color-alpha);--now-typeahead_inset--color--hover:var(--now-form-field_inset--color--hover);--now-typeahead_inset--color-alpha--hover:var(--now-form-field_inset--color-alpha--hover);--now-typeahead_inset--color--focus:var(--now-form-field_inset--color--focus);--now-typeahead_inset--color-alpha--focus:var(--now-form-field_inset--color-alpha--focus);--now-typeahead_inset--color--invalid:var(--now-form-field_inset--color--invalid);--now-typeahead_inset--color-alpha--invalid:var(--now-form-field_inset--color-alpha--invalid);--now-typeahead_inset--color--invalid_hover:var(--now-form-field_inset--color--invalid_hover);--now-typeahead_inset--color-alpha--invalid_hover:var(--now-form-field_inset--color-alpha--invalid_hover);--now-typeahead_inset--color--invalid_focus:var(--now-form-field_inset--color--invalid_focus);--now-typeahead_inset--color-alpha--invalid_focus:var(--now-form-field_inset--color-alpha--invalid_focus);--now-typeahead--border-width:var(--now-form-field--border-width);--now-typeahead--border-block-end-width:var(--now-form-field--border-block-end-width);--now-typeahead--border-radius:var(--now-form-field--border-radius);--now-typeahead--border-color:var(--now-form-field--border-color);--now-typeahead--border-color--hover:var(--now-form-field--border-color--hover);--now-typeahead--border-color--focus:var(--now-form-field--border-color--focus);--now-typeahead--border-color--invalid:var(--now-form-field--border-color--invalid);--now-typeahead--border-color--invalid_hover:var(--now-form-field--border-color--invalid_hover);--now-typeahead--border-color--invalid_focus:var(--now-form-field--border-color--invalid_focus);--now-typeahead--border-width--readonly:var(--now-form-field--border-width--readonly);--now-typeahead--border-radius--readonly:var(--now-form-field--border-radius--readonly);--now-typeahead--border-color--readonly:var(--now-form-field--border-color--readonly);--now-typeahead--border-block-end-width--readonly:var(--now-form-field--border-block-end-width--readonly);--now-typeahead--color:var(--now-form-field--color);--now-typeahead--color--readonly:var(--now-form-field--color--readonly);--now-typeahead--color--invalid:var(--now-form-field--color--invalid);--now-typeahead_placeholder--color:var(--now-form-field_placeholder--color);--now-typeahead_placeholder--color--hover:var(--now-form-field_placeholder--color--hover);--now-typeahead--background-color:var(--now-form-field--background-color);--now-typeahead--background-color-alpha:var(--now-form-field--background-color-alpha);--now-typeahead--background-color--focus:var(--now-form-field--background-color--focus);--now-typeahead--background-color-alpha--focus:var(--now-form-field--background-color-alpha--focus);--now-typeahead--background-color--hover:var(--now-form-field--background-color--hover);--now-typeahead--background-color-alpha--hover:var(--now-form-field--background-color-alpha--hover);--now-typeahead--background-color--readonly:var(--now-form-field--background-color--readonly);--now-typeahead--background-color-alpha--readonly:var(--now-form-field--background-color-alpha--readonly);--now-typeahead--background-color--invalid:var(--now-form-field--background-color--invalid);--now-typeahead--background-color-alpha--invalid:var(--now-form-field--background-color-alpha--invalid);--now-typeahead--background-color--invalid_focus:var(--now-form-field--background-color--invalid_focus);--now-typeahead--background-color-alpha--invalid_focus:var(--now-form-field--background-color-alpha--invalid_focus);--now-typeahead--background-color--invalid_hover:var(--now-form-field--background-color--invalid_hover);--now-typeahead--background-color-alpha--invalid_hover:var(--now-form-field--background-color-alpha--invalid_hover);--now-typeahead--opacity--disabled:var(--now-form-field--opacity--disabled);--now-unified-nav_header--color:var(--now-color--neutral-0);--now-unified-nav_header--background-color:var(--now-color_chrome--brand-10);--now-unified-nav_focus-ring--color:var(--now-color--focus-2);--now-unified-nav_focus-ring-inner--color:var(--now-color--neutral-1);--now-unified-nav_button--color:var(--now-unified-nav_header--color);--now-unified-nav_button--color--hover:var(--now-unified-nav_button--color);--now-unified-nav_button--color--active:var(--now-unified-nav_button--color);--now-unified-nav_button--background-color:var(--now-color_chrome--brand-4);--now-unified-nav_button--background-color--hover:var(--now-unified-nav_button--background-color);--now-unified-nav_button--background-color--active:var(--now-unified-nav_button--background-color);--now-unified-nav_button--background-color-alpha:0;--now-unified-nav_button--background-color-alpha--hover:0.8;--now-unified-nav_button--background-color-alpha--active:0.8;--now-unified-nav_nav-menu-trigger--color:var(--now-unified-nav_button--color);--now-unified-nav_nav-menu-trigger--color--hover:var(--now-unified-nav_button--color--hover);--now-unified-nav_nav-menu-trigger--color--active:var(--now-unified-nav_button--color--active);--now-unified-nav_nav-menu-trigger--background-color:var(--now-unified-nav_button--background-color);--now-unified-nav_nav-menu-trigger--background-color-alpha:var(--now-unified-nav_button--background-color-alpha);--now-unified-nav_nav-menu-trigger--background-color--hover:var(--now-unified-nav_button--background-color--hover);--now-unified-nav_nav-menu-trigger--background-color-alpha--hover:var(--now-unified-nav_button--background-color-alpha--hover);--now-unified-nav_nav-menu-trigger--background-color--active:var(--now-unified-nav_button--background-color--active);--now-unified-nav_menu--background-color:var(--now-color_chrome--brand-5);--now-unified-nav_menu--background-color-alpha:0.9;--now-unified-nav_menu--background-image-alpha:1;--now-unified-nav_menu-item--color:var(--now-color--neutral-0);--now-unified-nav_menu-item--color--hover:var(--now-unified-nav_menu-item--color);--now-unified-nav_menu-item--color--active:var(--now-unified-nav_menu-item--color);--now-unified-nav_menu-item--background-color--hover:var(--now-color_chrome--brand-9);--now-unified-nav_menu-item--background-color-alpha--hover:var(--now-unified-nav_button--background-color-alpha--hover);--now-unified-nav_menu-item--background-color--active:var(--now-color_chrome--brand-9);--now-unified-nav_menu-item--background-color-alpha--active:0.8;--now-unified-nav_menu-subitem--color:var(--now-color--primary-0);--now-unified-nav_menu-sublabel--color:var(--now-color--neutral-4);--now-unified-nav_menu-item--text-decoration--hover:underline;--now-unified-nav_menu-filter--color:var(--now-color--neutral-0);--now-unified-nav_menu-filter--color--placeholder:var(--now-unified-nav_menu-filter--color);--now-unified-nav_menu-filter--color--placeholder--focus:var(--now-color--neutral-18);--now-unified-nav_menu-filter--color--opened:var(--now-color--neutral-18);--now-unified-nav_menu-filter--background-color:var(--now-color_chrome--brand-4);--now-unified-nav_menu-filter--background-color--hover:var(--now-color_chrome--brand-3);--now-unified-nav_menu-filter--background-color--opened:var(--now-color--neutral-0);--now-unified-nav_menu-filter--border-color:var(--now-color_chrome--divider-1);--now-unified-nav_menu-filter--border-color--opened:var(--now-color--focus-1);--now-unified-nav_menu-divider-horizontal--color:var(--now-color_chrome--divider-2);--now-unified-nav_menu-divider-vertical--color:var(--now-unified-nav_menu-subitem--color);--now-unified-nav_menu-scrollbar--color:var(--now-color_chrome--divider-3);--now-unified-nav_menu--border-color:var(--now-color_chrome--divider-3);--now-unified-nav_menu-button-iconic--color:var(--now-unified-nav_button--color);--now-unified-nav_menu-button-iconic--color--hover:var(--now-unified-nav_button--color--hover);--now-unified-nav_menu-button-iconic--color--active:var(--now-unified-nav_button--color--active);--now-unified-nav_menu-button-iconic--background-color:var(--now-unified-nav_button--background-color);--now-unified-nav_menu-button-iconic--background-color--hover:var(--now-unified-nav_button--background-color--hover);--now-unified-nav_menu-button-iconic--background-color--active:var(--now-unified-nav_button--background-color--active);--now-unified-nav_menu-button-iconic--background-color-alpha:var(--now-unified-nav_button--background-color-alpha);--now-unified-nav_contextual-app-pill--border-color:var(--now-color_chrome--divider-1);--now-unified-nav_contextual-app-pill--color:var(--now-unified-nav_header--color);--now-unified-nav_contextual-app-pill--background-color:var(--now-unified-nav_header--background-color);--now-unified-nav_favorite-icon--color:var(--now-color_grouped--yellow-1);--now-unified-nav_utility-menu-trigger--color:var(--now-unified-nav_button--color);--now-unified-nav_utility-menu-trigger--color--hover:var(--now-unified-nav_button--color--hover);--now-unified-nav_utility-menu-trigger--color--active:var(--now-unified-nav_button--color--active);--now-unified-nav_utility-menu-trigger--background-color:var(--now-unified-nav_button--background-color);--now-unified-nav_utility-menu-trigger--background-color-alpha:var(--now-unified-nav_button--background-color-alpha);--now-unified-nav_utility-menu-trigger--background-color-alpha--hover:var(--now-unified-nav_button--background-color-alpha--hover);--now-unified-nav_utility-menu-trigger--background-color--hover:var(--now-unified-nav_button--background-color--hover);--now-unified-nav_utility-menu-trigger--background-color--active:var(--now-unified-nav_button--background-color--active);--now-datavis_color_chart_fill:var(--now-color_alert--info-1);--now-datavis_color_chart--primary:var(--now-color--neutral-2);--now-datavis_color_chart--secondary:var(--now-color--neutral-4);--now-datavis_color_chart--tertiary:var(--now-color--neutral-7);--now-datavis_color_label--primary:var(--now-color--neutral-18);--now-datavis_color_label--secondary:var(--now-color--neutral-9);--now-datavis_color_label--tertiary:var(--now-color--neutral-5);--now-datavis_color_layer_band--primary:var(--now-color_alert--high-1);--now-datavis_color_layer_band--secondary:var(--now-color_alert--high-2);--now-datavis_color_layer--primary:var(--now-color--neutral-2);--now-datavis_color_layer--quad:var(--now-color--neutral-20);--now-datavis_color_layer--secondary:var(--now-color--neutral-4);--now-datavis_color_layer--tertiary:var(--now-color--neutral-5);--now-datavis_color_series_default:var(--now-datavis_color--qualitative-0);--now-datavis_color--accessibility-0:var(--now-color--neutral-0);--now-datavis_color--accessibility-2:var(--now-color--neutral-4);--now-datavis_color--accessibility-10:var(--now-color--neutral-20);--now-datavis_color--blue-0:206,241,247;--now-datavis_color--blue-1:167,229,241;--now-datavis_color--blue-2:128,218,235;--now-datavis_color--blue-3:88,207,229;--now-datavis_color--blue-4:49,195,223;--now-datavis_color--blue-5:10,184,217;--now-datavis_color--blue-6:9,162,191;--now-datavis_color--blue-7:8,140,165;--now-datavis_color--blue-8:6,118,139;--now-datavis_color--blue-9:5,96,113;--now-datavis_color--blue-10:4,74,87;--now-datavis_color--brown-0:242,229,215;--now-datavis_color--brown-1:232,208,182;--now-datavis_color--brown-2:222,187,150;--now-datavis_color--brown-3:212,166,118;--now-datavis_color--brown-4:201,145,85;--now-datavis_color--brown-5:191,124,53;--now-datavis_color--brown-6:168,109,47;--now-datavis_color--brown-7:145,94,40;--now-datavis_color--brown-8:122,79,34;--now-datavis_color--brown-9:99,65,28;--now-datavis_color--brown-10:76,50,21;--now-datavis_color--green-0:204,235,209;--now-datavis_color--green-1:163,218,172;--now-datavis_color--green-2:122,202,135;--now-datavis_color--green-3:82,186,99;--now-datavis_color--green-4:41,169,62;--now-datavis_color--green-5:0,153,25;--now-datavis_color--green-6:0,135,22;--now-datavis_color--green-7:0,116,19;--now-datavis_color--green-8:0,98,16;--now-datavis_color--green-9:0,80,13;--now-datavis_color--green-10:0,61,10;--now-datavis_color--olive-0:224,231,211;--now-datavis_color--olive-1:200,211,176;--now-datavis_color--olive-2:175,192,141;--now-datavis_color--olive-3:151,173,105;--now-datavis_color--olive-4:127,153,70;--now-datavis_color--olive-5:102,134,35;--now-datavis_color--olive-6:90,118,31;--now-datavis_color--olive-7:78,102,27;--now-datavis_color--olive-8:65,86,22;--now-datavis_color--olive-9:53,70,18;--now-datavis_color--olive-10:41,54,14;--now-datavis_color--orange-0:255,221,214;--now-datavis_color--orange-1:255,195,181;--now-datavis_color--orange-2:255,168,147;--now-datavis_color--orange-3:255,141,114;--now-datavis_color--orange-4:255,114,81;--now-datavis_color--orange-5:255,87,48;--now-datavis_color--orange-6:224,77,42;--now-datavis_color--orange-7:194,66,37;--now-datavis_color--orange-8:163,56,31;--now-datavis_color--orange-9:133,45,25;--now-datavis_color--orange-10:102,35,19;--now-datavis_color--pink-0:248,209,235;--now-datavis_color--pink-1:242,172,219;--now-datavis_color--pink-2:237,135,204;--now-datavis_color--pink-3:231,98,188;--now-datavis_color--pink-4:226,61,172;--now-datavis_color--pink-5:220,24,156;--now-datavis_color--pink-6:194,21,137;--now-datavis_color--pink-7:167,18,119;--now-datavis_color--pink-8:141,15,100;--now-datavis_color--pink-9:114,13,81;--now-datavis_color--pink-10:88,10,62;--now-datavis_color--negative:var(--now-color_alert--critical-3);--now-datavis_color--positive:var(--now-color_alert--positive-3);--now-datavis_color--primary:var(--now-color--neutral-0);--now-datavis_color--purple-0:224,212,248;--now-datavis_color--purple-1:199,178,242;--now-datavis_color--purple-2:174,144,236;--now-datavis_color--purple-3:149,110,231;--now-datavis_color--purple-4:124,76,225;--now-datavis_color--purple-5:99,42,219;--now-datavis_color--purple-6:87,37,193;--now-datavis_color--purple-7:75,32,166;--now-datavis_color--purple-8:63,27,140;--now-datavis_color--purple-9:52,22,114;--now-datavis_color--purple-10:40,17,88;--now-datavis_color--red-0:248,214,226;--now-datavis_color--red-1:243,182,202;--now-datavis_color--red-2:238,149,179;--now-datavis_color--red-3:233,117,156;--now-datavis_color--red-4:227,85,132;--now-datavis_color--red-5:222,52,109;--now-datavis_color--red-6:195,46,96;--now-datavis_color--red-7:169,40,83;--now-datavis_color--red-8:142,33,70;--now-datavis_color--red-9:115,27,57;--now-datavis_color--red-10:89,21,44;--now-datavis_color--teal-0:204,237,237;--now-datavis_color--teal-1:163,223,223;--now-datavis_color--teal-2:122,209,209;--now-datavis_color--teal-3:82,195,195;--now-datavis_color--teal-4:41,180,180;--now-datavis_color--teal-5:0,166,166;--now-datavis_color--teal-6:0,146,146;--now-datavis_color--teal-7:0,126,126;--now-datavis_color--teal-8:0,106,106;--now-datavis_color--teal-9:0,86,86;--now-datavis_color--teal-10:0,66,66;--now-datavis_color--violet-0:236,216,249;--now-datavis_color--violet-1:220,185,244;--now-datavis_color--violet-2:205,154,239;--now-datavis_color--violet-3:190,123,234;--now-datavis_color--violet-4:174,92,229;--now-datavis_color--violet-5:159,61,224;--now-datavis_color--violet-6:140,54,197;--now-datavis_color--violet-7:121,46,170;--now-datavis_color--violet-8:102,39,143;--now-datavis_color--violet-9:83,32,117;--now-datavis_color--violet-10:64,24,90;--now-datavis_color--yellow-0:255,238,204;--now-datavis_color--yellow-1:255,225,163;--now-datavis_color--yellow-2:255,212,122;--now-datavis_color--yellow-3:255,199,82;--now-datavis_color--yellow-4:255,185,41;--now-datavis_color--yellow-5:255,172,0;--now-datavis_color--yellow-6:224,151,0;--now-datavis_color--yellow-7:194,131,0;--now-datavis_color--yellow-8:163,110,0;--now-datavis_color--yellow-9:133,89,0;--now-datavis_color--yellow-10:102,69,0;--now-datavis_color--yellow-green-0:237,244,208;--now-datavis_color--yellow-green-1:223,235,171;--now-datavis_color--yellow-green-2:209,225,133;--now-datavis_color--yellow-green-3:195,216,96;--now-datavis_color--yellow-green-4:181,207,58;--now-datavis_color--yellow-green-5:167,198,21;--now-datavis_color--yellow-green-6:147,174,19;--now-datavis_color--yellow-green-7:127,151,16;--now-datavis_color--yellow-green-8:107,127,13;--now-datavis_color--yellow-green-9:87,103,11;--now-datavis_color--yellow-green-10:67,79,8;--now-datavis_color--qualitative-0:var(--now-datavis_color--blue-5);--now-datavis_color--qualitative-1:var(--now-datavis_color--orange-5);--now-datavis_color--qualitative-2:var(--now-datavis_color--purple-5);--now-datavis_color--qualitative-3:var(--now-datavis_color--pink-5);--now-datavis_color--qualitative-4:var(--now-datavis_color--green-3);--now-datavis_color--qualitative-5:var(--now-datavis_color--violet-6);--now-datavis_color--qualitative-6:var(--now-datavis_color--yellow-6);--now-datavis_color--qualitative-7:var(--now-datavis_color--red-6);--now-datavis_color--qualitative-8:var(--now-datavis_color--pink-2);--now-datavis_color--qualitative-9:var(--now-datavis_color--teal-5);--now-datavis_color--qualitative-10:var(--now-datavis_color--yellow-green-6);--now-datavis_color--qualitative-11:var(--now-datavis_color--blue-6);--now-datavis_color--qualitative-12:var(--now-datavis_color--orange-4);--now-datavis_color--qualitative-13:var(--now-datavis_color--purple-7);--now-datavis_color--qualitative-14:var(--now-datavis_color--pink-6);--now-datavis_color--qualitative-15:var(--now-datavis_color--green-4);--now-datavis_color--qualitative-16:var(--now-datavis_color--violet-3);--now-datavis_color--qualitative-17:var(--now-datavis_color--yellow-7);--now-datavis_color--qualitative-18:var(--now-datavis_color--red-7);--now-datavis_color--qualitative-19:var(--now-datavis_color--red-3);--now-datavis_color--qualitative-20:var(--now-datavis_color--teal-4);--now-datavis_color--qualitative-21:var(--now-datavis_color--olive-3);--now-datavis_color--qualitative-22:var(--now-datavis_color--blue-7);--now-datavis_color--qualitative-23:var(--now-datavis_color--orange-6);--now-datavis_color--qualitative-24:var(--now-datavis_color--purple-6);--now-datavis_color--qualitative-25:var(--now-datavis_color--pink-7);--now-datavis_color--qualitative-26:var(--now-datavis_color--green-5);--now-datavis_color--qualitative-27:var(--now-datavis_color--violet-4);--now-datavis_color--qualitative-28:var(--now-datavis_color--yellow-8);--now-datavis_color--qualitative-29:var(--now-datavis_color--red-8);--now-datavis_color--qualitative-30:var(--now-datavis_color--red-4);--now-datavis_color--qualitative-31:var(--now-datavis_color--teal-6);--now-datavis_color--qualitative-32:var(--now-datavis_color--yellow-green-7);--now-datavis_register_swatch--border-radius:2px;--now-datavis_series_target-global--color:var(--now-color--neutral-10);--now-datavis_series_target-personal--color:var(--now-color--neutral-7);--now-datavis_series_threshold-global--color:var(--now-color--neutral-10);--now-datavis_series_threshold-personal--color:var(--now-color--neutral-7);--now-color_alert--critical-0:248,200,205;--now-color_alert--critical-1:238,116,130;--now-color_alert--critical-2:228,35,56;--now-color_alert--critical-3:182,28,45;--now-color_alert--critical-4:137,21,34;--now-color_alert--critical-5:91,14,22;--now-color_alert--high-0:255,229,191;--now-color_alert--high-1:254,190,96;--now-color_alert--high-2:253,151,0;--now-color_alert--high-3:192,115,0;--now-color_alert--high-4:132,79,0;--now-color_alert--high-5:71,42,0;--now-color_alert--warning-0:251,247,191;--now-color_alert--warning-1:246,236,96;--now-color_alert--warning-2:240,224,0;--now-color_alert--warning-3:182,170,0;--now-color_alert--warning-4:125,116,0;--now-color_alert--warning-5:67,63,0;--now-color_alert--moderate-0:221,213,251;--now-color_alert--moderate-1:172,152,246;--now-color_alert--moderate-2:123,92,240;--now-color_alert--moderate-3:93,70,182;--now-color_alert--moderate-4:64,48,125;--now-color_alert--moderate-5:34,26,67;--now-color_alert--info-0:189,220,242;--now-color_alert--info-1:94,171,223;--now-color_alert--info-2:0,121,204;--now-color_alert--info-3:0,92,155;--now-color_alert--info-4:0,63,106;--now-color_alert--info-5:0,34,57;--now-color_alert--positive-0:202,223,192;--now-color_alert--positive-1:126,177,101;--now-color_alert--positive-2:51,131,11;--now-color_alert--positive-3:38,97,8;--now-color_alert--positive-4:24,62,5;--now-color_alert--positive-5:11,28,2;--now-color_alert--low-0:219,219,222;--now-color_alert--low-1:168,168,176;--now-color_alert--low-2:117,117,129;--now-color_alert--low-3:87,87,95;--now-color_alert--low-4:55,55,61;--now-color_alert--low-5:25,25,27;--now-color--neutral-0:255,255,255;--now-color--neutral-1:246,246,248;--now-color--neutral-2:228,230,234;--now-color--neutral-3:211,214,220;--now-color--neutral-4:193,197,205;--now-color--neutral-5:176,181,191;--now-color--neutral-6:159,165,176;--now-color--neutral-7:143,149,161;--now-color--neutral-8:126,133,146;--now-color--neutral-9:110,117,131;--now-color--neutral-10:94,101,116;--now-color--neutral-11:79,86,100;--now-color--neutral-12:69,77,91;--now-color--neutral-13:61,68,82;--now-color--neutral-14:53,59,73;--now-color--neutral-15:44,50,63;--now-color--neutral-16:37,42,53;--now-color--neutral-17:28,33,43;--now-color--neutral-18:21,25,32;--now-color--neutral-19:14,17,22;--now-color--neutral-20:7,8,11;--now-color--neutral-21:0,0,0;--now-color--primary-0:209,210,238;--now-color--primary-1:79,82,189;--now-color--primary-2:53,55,128;--now-color--primary-3:28,29,66;--now-color--secondary-0:209,210,238;--now-color--secondary-1:79,82,189;--now-color--secondary-2:53,55,128;--now-color--secondary-3:28,29,66;--now-color_selection--primary-0:217,235,230;--now-color_selection--primary-1:108,179,159;--now-color_selection--primary-2:0,123,88;--now-color_selection--primary-3:0,92,66;--now-color_selection--primary-4:0,62,44;--now-color_selection--secondary-0:209,210,238;--now-color_selection--secondary-1:144,146,213;--now-color_selection--secondary-2:79,82,189;--now-color_selection--secondary-3:53,55,128;--now-color_selection--secondary-4:28,29,66;--now-color--interactive-0:209,210,238;--now-color--interactive-1:144,146,213;--now-color--interactive-2:79,82,189;--now-color--interactive-3:51,53,123;--now-color--interactive-4:24,25,57;--now-color--link-1:122,142,239;--now-color--link-2:60,89,231;--now-color--link-3:41,61,158;--now-color--link-4:22,33,85;--now-color--focus-1:119,139,238;--now-color--focus-2:60,89,231;--now-color--focus-3:22,33,85;--now-color_presence--available:78,168,0;--now-color_presence--busy:255,51,75;--now-color_presence--away:226,121,24;--now-color_presence--offline:146,148,160;--now-color_background--primary:var(--now-color--neutral-0);--now-color_background--secondary:var(--now-color--neutral-1);--now-color_background--tertiary:var(--now-color--neutral-2);--now-color_background--primary-actionable:var(--now-color--neutral-18);--now-color_background--secondary-actionable:var(--now-color--neutral-15);--now-color_background--tertiary-actionable:var(--now-color--neutral-12);--now-color_border--primary:var(--now-color--neutral-8);--now-color_border--secondary:var(--now-color--neutral-5);--now-color_border--tertiary:var(--now-color--neutral-3);--now-color_border--primary-actionable:var(--now-color--neutral-18);--now-color_border--secondary-actionable:var(--now-color--neutral-15);--now-color_border--tertiary-actionable:var(--now-color--neutral-12);--now-color_divider--primary:var(--now-color--neutral-7);--now-color_divider--secondary:var(--now-color--neutral-5);--now-color_divider--tertiary:var(--now-color--neutral-3);--now-color_text--primary:var(--now-color--neutral-18);--now-color_text--secondary:var(--now-color--neutral-15);--now-color_text--tertiary:var(--now-color--neutral-12);--now-color_text--primary-actionable:var(--now-color--neutral-0);--now-color_text--secondary-actionable:var(--now-color--neutral-1);--now-color_text--tertiary-actionable:var(--now-color--neutral-2);--now-color_focus-ring:var(--now-color--focus-2);--now-color_focus-ring_shadow:var(--now-color_background--primary);--now-color_brand--neutral:79,86,100;--now-color_brand--primary:79,82,189;--now-color_brand--secondary:48,47,75;--now-color_surface--neutral-1:252,252,253;--now-color_surface--neutral-2:242,243,245;--now-color_surface--neutral-3:232,234,237;--now-color_surface--neutral-4:222,225,229;--now-color_surface--neutral-5:213,215,221;--now-color_surface--neutral-6:203,206,213;--now-color_surface--brand-1:237,238,248;--now-color_surface--brand-2:206,207,237;--now-color_surface--brand-3:174,175,225;--now-color_surface--brand-4:142,144,213;--now-color_surface--brand-5:111,113,201;--now-color_surface--brand-6:79,82,189;--now-color_surface--divider-1:242,243,244;--now-color_surface--divider-2:223,225,228;--now-color_surface--divider-3:203,206,211;--now-color_surface--divider-4:184,188,195;--now-color_surface--divider-5:165,170,179;--now-color_surface--divider-6:145,151,162;--now-color_chrome--brand-0:224,224,228;--now-color_chrome--brand-1:189,188,197;--now-color_chrome--brand-2:154,153,167;--now-color_chrome--brand-3:118,118,136;--now-color_chrome--brand-4:83,82,106;--now-color_chrome--brand-5:48,47,75;--now-color_chrome--brand-6:43,42,68;--now-color_chrome--brand-7:38,38,60;--now-color_chrome--brand-8:34,33,53;--now-color_chrome--brand-9:29,28,45;--now-color_chrome--brand-10:24,24,38;--now-color_chrome--divider-0:170,169,179;--now-color_chrome--divider-1:144,144,156;--now-color_chrome--divider-2:119,118,133;--now-color_chrome--divider-3:93,92,111;--now-color_chrome--divider-4:68,67,88;--now-color_chrome--divider-5:42,41,65;--now-color_chrome--divider-6:35,34,55;--now-color_chrome--divider-7:29,28,44;--now-color_chrome--divider-8:22,21,34;--now-color_chrome--divider-9:15,15,23;--now-color_chrome--divider-10:8,8,13;--now-color_grouped--blue-0:217,244,249;--now-color_grouped--blue-1:160,228,239;--now-color_grouped--blue-2:103,211,230;--now-color_grouped--blue-3:81,165,180;--now-color_grouped--blue-4:58,120,130;--now-color_grouped--blue-5:36,74,81;--now-color_grouped--brown-0:244,233,221;--now-color_grouped--brown-1:228,199,169;--now-color_grouped--brown-2:211,166,117;--now-color_grouped--brown-3:165,130,92;--now-color_grouped--brown-4:120,94,66;--now-color_grouped--brown-5:74,58,41;--now-color_grouped--gray-0:232,234,234;--now-color_grouped--gray-1:198,203,203;--now-color_grouped--gray-2:163,171,172;--now-color_grouped--gray-3:128,134,135;--now-color_grouped--gray-4:92,97,97;--now-color_grouped--gray-5:57,60,60;--now-color_grouped--green-0:212,238,216;--now-color_grouped--green-1:146,211,157;--now-color_grouped--green-2:81,185,98;--now-color_grouped--green-3:63,145,77;--now-color_grouped--green-4:46,105,56;--now-color_grouped--green-5:28,65,34;--now-color_grouped--green-yellow-0:241,246,219;--now-color_grouped--green-yellow-1:221,232,164;--now-color_grouped--green-yellow-2:200,218,110;--now-color_grouped--green-yellow-3:157,171,86;--now-color_grouped--green-yellow-4:113,124,62;--now-color_grouped--green-yellow-5:70,76,39;--now-color_grouped--magenta-0:249,218,239;--now-color_grouped--magenta-1:241,161,215;--now-color_grouped--magenta-2:232,105,191;--now-color_grouped--magenta-3:182,82,150;--now-color_grouped--magenta-4:131,60,108;--now-color_grouped--magenta-5:81,37,67;--now-color_grouped--orange-0:255,226,220;--now-color_grouped--orange-1:255,183,167;--now-color_grouped--orange-2:255,140,114;--now-color_grouped--orange-3:200,110,89;--now-color_grouped--orange-4:145,79,65;--now-color_grouped--orange-5:89,49,40;--now-color_grouped--pink-0:247,223,231;--now-color_grouped--pink-1:236,176,196;--now-color_grouped--pink-2:224,128,160;--now-color_grouped--pink-3:175,100,125;--now-color_grouped--pink-4:127,73,91;--now-color_grouped--pink-5:78,45,56;--now-color_grouped--purple-0:239,222,250;--now-color_grouped--purple-1:214,172,242;--now-color_grouped--purple-2:189,122,234;--now-color_grouped--purple-3:148,96,183;--now-color_grouped--purple-4:107,69,133;--now-color_grouped--purple-5:66,43,82;--now-color_grouped--teal-0:212,240,240;--now-color_grouped--teal-1:146,217,217;--now-color_grouped--teal-2:81,194,194;--now-color_grouped--teal-3:63,152,152;--now-color_grouped--teal-4:46,110,110;--now-color_grouped--teal-5:28,68,68;--now-color_grouped--yellow-0:255,241,212;--now-color_grouped--yellow-1:255,219,146;--now-color_grouped--yellow-2:255,198,81;--now-color_grouped--yellow-3:200,155,63;--now-color_grouped--yellow-4:145,112,46;--now-color_grouped--yellow-5:89,69,28;--now-scale-space--xxs:1;--now-scale-space--xs:1;--now-scale-space--sm:1;--now-scale-space--md:1;--now-scale-space--lg:1;--now-scale-space--xl:1;--now-scale-space--xxl:1;--now-scale-space--3xl:1;--now-font-family:Lato,Arial,sans-serif;--now-line-height-crop--before:-0.25775em;--now-line-height-crop--after:-0.27825em;--now-opacity--least:0.1;--now-opacity--less:0.25}body,html{background-color:RGB(var(--now-color_background--primary,var(--now-color_background--primary,255,255,255)))!important;color:RGB(var(--now-color_text--primary,var(--now-color_text--primary,22,27,28)))!important}:root{--dps-theme-highlight:#5cc4af;--dps-theme-highlight-light-1:#7dd0bf;--dps-theme-highlight-light-2:#9ddccf;--dps-theme-highlight-light-3:#bee7df;--dps-theme-highlight-light-4:#def3ef;--dps-theme-highlight-dark-1:#4a9d8c;--dps-theme-highlight-dark-2:#377669;--dps-theme-highlight-dark-3:#254e46;--dps-theme-highlight-dark-4:#122723}sup{font-size:.4em;top:0;vertical-align:1.4em}p sup{font-size:.625em;vertical-align:1em}*,:after,:before,html{box-sizing:border-box}body,html{font-family:ServiceNowSans-Light;height:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:ServiceNowSans-Medium;font-weight:500}h2{font-weight:500}.api-table table{border:none;border-collapse:collapse;border-spacing:0;box-sizing:border-box;margin-bottom:1.5rem}.api-table table thead{background-color:#bec3e7;border-bottom:1px solid #5c6ac4;font-family:ServiceNowSans-Regular}.api-table table td,.api-table table th{padding:.75rem;text-align:left;vertical-align:top}.api-table table tbody tr{border-bottom:1px solid #293e40}.api-table table tbody td{padding:1rem .75rem}.api-table table tbody td:first-child{min-width:10em;width:33%}.api-table table tbody td :first-child{margin-top:0}.api-table table tbody td :last-child{margin-bottom:0}.api-table table tbody td pre{white-space:pre-wrap}.api-table table tbody td samp{word-break:break-word}.dps-reference-page-uib-setup .tablenoborder.api-table{overflow:auto}.dps-reference-page-uib-setup .stepexpand img.icon{margin-bottom:-.5625rem}.row{display:flex}.row .col-4,.row .col-8{flex:0 0 auto}.row .col-4{flex-basis:33.3333333333%;max-width:33.3333333333%}.row .col-8{flex-basis:66.6666666667%;max-width:66.6666666667%}:root{--classicsponlydonotuse--rem-multipy:1.1;--dps-global-header-height:8.0625rem;--dps-main-margin-top:8.0625rem;--dps-main-margin-top-md:7.3125rem;--dps-main-margin-top-sm:6.3125rem;--dps-guides-detail-sidebar:100px;--now-button--primary--background-color:98,216,78,1;--now-button--secondary--border-color:98,216,78,1;--now-button--primary--color:29,29,29;--now-button--secondary--border-color--hover:98,216,78,1;--now-button--primary--background-color--hover:98,216,78,1;--now-button--secondary--border-width:2px;--now-button--secondary--background-color--hover:44,50,63;--now-color--primary-1:0,115,147,1;--now-button--bare_primary--color:2,80,107,1;--now-button--bare_primary--color--hover:2,80,107,1;--now-button--bare_secondary--color:2,80,107,1;--now-button--secondary--color--hover:2,80,107,1;--now-button--secondary--border-radius:8px;--now-button--primary--border-radius:8px;--now-menu--border-radius:8px;--now-dropdown--bare_secondary--color:29,29,29;--now-button--primary-negative--color:255,255,255,1;--now-button--primary-negative--background-color:228,35,56;--now-color_selection--primary-2:98,216,78;--now-actionable--border-radius:8px;--now-color--secondary-1:98,216,78;--now-form-field--border-radius:8px;--now-form-field--scale-size-inline:0.6;--now-button--primary--background-color--active:98,216,78;--now-button--secondary--background-color--hover:98,216,78;--now-button--secondary--background-color-alpha--hover:1;--now-dropdown--bare_secondary--background-color-alpha--active:1;--now-dropdown--bare_secondary--background-color--active:98,216,78;--now-dropdown--bare_secondary--border-radius:8px;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450;--now-dropdown--bare--font-family:ServiceNowSans-Book;--now-alert--font-family:ServiceNowSans-Light;--now-pagination-control--font-family:ServiceNowSans-Light;--now-modal_heading--font-family:ServiceNowSans-Medium;--now-button--secondary--color:29,29,29;--now-dropdown--bare--font-weight:450;--now-alert--color:29,29,29;--now-modal_heading--color:29,29,29;--now-alert--border-radius:8px;--now-highlighted-value--border-radius:8px;--dps-button--primary--background-color:84,101,102;--dps-button--primary--color:255,255,255,1;--dps-button--primary--background-color--hover:84,101,102;--now-highlighted-value--font-family:ServiceNowSans-Regular;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450;--now-font-family-sn-sans:ServiceNowSans-Book;--search-modal-content--border_radius:1.5rem;--sn-cx-search-input--attached-element-border_bottom:none;--now-button--bare--font-weight:450;--now-font-family:ServiceNowSans-Light;--sn-cx-search-input--input-font_family:ServiceNowSans-Light;--now-checkbox--font-family:ServiceNowSans-Light;--now-heading--title-primary--font-weight:450;--sn-cx-navigation-secondary-cta__font-weight:450;--now-highlighted-value--tertiary_positive--background-color:205,223,189}body{overflow-x:hidden}body.no-scroll{height:100%!important;overflow:hidden!important}body.-is-scrolled{--dps-global-header-height:3.4375rem}body.-has-banner{--dps-main-margin-top:11.3125rem;--dps-main-margin-top-md:10.5625rem;--dps-main-margin-top-sm:9.5625rem;--dps-guides-detail-sidebar:150px}.clearboth{clear:both}.color-swatch{border:1px solid #d8d8d8;display:inline-block;height:16px;margin-right:4px;position:relative;top:-1px;width:16px}.color-swatch,.printer{vertical-align:middle}seismo-hoist[slot=content]{height:600px;max-width:700px;min-width:400px;overflow-y:auto}.secondary-btn-white-bg{--now-button--secondary--background-color:255,255,255;--now-button--secondary--background-color-alpha:1;--now-button--font-family:ServiceNowSans-Book;--now-button--font-weight:450}.new-dps-link-button{--dps-button--primary--background-color:98,216,78,1;--dps-button--primary--color:29,29,29;--dps-button--primary--background-color--hover:98,216,78,1}.release-text-notes{align-items:center;display:flex;gap:2px}.leaning-path-chip{--now-highlighted-value--scale-size-inline:2;--now-highlighted-value--border-radius:4px;--now-highlighted-value--scale-size-block:1.8;--now-highlighted-value--tertiary_info--color:34,46,52}#dps-home-unauth-dev-program,.dps-home-unauth-build-deploy-cards,.dps-whats-new{--now-button--bare--font-family:ServiceNowSans-Regular}.dps-ai-add-block,.dps-community-section,.dps-home-unauth-apis-libraries,.dps-home-unauth-community-updates-share-projects,.dps-home-unauth-connect,.dps-page-new-header,.dps-tech-partner-block{--now-button--font-family:ServiceNowSans-Bold}.dps-card-individual-status,.dps-home-unauth-apis-libraries{--now-highlighted-value--font-family:ServiceNowSans-Book;--now-highlighted-value--font-size:12px;--now-highlighted-value--font-weight:450}.NDborder{--now-dropdown--bare_tertiary--color:0,115,147;--now-color_text--tertiary:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--hover:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color:0,115,147;--now-dropdown--bare_tertiary--color--hover:0,115,147;--now-dropdown--bare_tertiary--background-color--hover:#eee;--now-color_background--secondary-actionable:#eee;--now-color_focus-ring:#eee;--now-actionable_label--tertiary_bare--color--hover:#eee;--now-actionable_label--tertiary--color--hover:#eee;--now-dropdown--bare_tertiary--background-color--active:#eee;--now-dropdown--bare_tertiary--color--active:0,115,147;--now-dropdown_trigger-icon--bare_tertiary--color--active:0,115,147}.NPill{--now-pill--background-color--selected:#eee;--now-pill--background-color--selected_hover:#eee;--now-pill--border-color--selected:176,181,191;--now-pill--border-color--selected_hover:176,181,191;--now-pill--color--selected:#eee;--now-pill--color--selected_hover:#eee;--now-pill_button-iconic--color--selected:33,33,33;--now-pill_button-iconic--color--selected_hover:0,115,147}.dps-link,a:not(.dps-button){-webkit-text-decoration-skip:ink;background:none;border:none;color:#00718f;cursor:pointer;display:inline-block;font-family:ServiceNowSans-Light;font-size:1rem;line-height:1.03125rem;margin:-.125rem;padding:.125rem;position:relative;-webkit-text-decoration-line:underline;text-decoration-line:underline;text-decoration-skip-ink:auto;-webkit-text-decoration-style:solid;text-decoration-style:solid;text-decoration:none;text-decoration-thickness:auto;white-space:normal}.dps-link:focus,a:not(.dps-button):focus{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-link:focus:not(:focus-visible),a:not(.dps-button):focus:not(:focus-visible){box-shadow:none;outline:none}.dps-link:focus-visible,a:not(.dps-button):focus-visible{box-shadow:inset 0 0 0 2px #5cc4af,inset 0 0 0 3px #fff,0 1px 2px 0 rgba(0,0,0,.3);outline:none}.dps-link>span,a:not(.dps-button)>span{background:linear-gradient(#00718f,#00718f) bottom repeat-x;background-size:0 0;border-bottom:none;box-shadow:none;color:inherit;padding:0 .125rem;position:relative;transition:background .3s cubic-bezier(.075,.82,.165,1),color .3s cubic-bezier(.075,.82,.165,1),border-bottom .3s cubic-bezier(.075,.82,.165,1)}.dps-link>span.none,a:not(.dps-button)>span.none{background:none;box-shadow:none;transition:none}.dps-link:hover,a:not(.dps-button):hover{color:#024f69}.dps-link:hover>span,a:not(.dps-button):hover>span{background-size:0 0;border-bottom:1px solid #024f69;box-shadow:none}.dps-link:hover>span.none,a:not(.dps-button):hover>span.none{background:none;box-shadow:none;color:none;transition:none}.dps-link:active,a:not(.dps-button):active{color:#032d42}.dps-link:active>span,a:not(.dps-button):active>span{background-size:0 0;border-bottom:1px solid #032d42;box-shadow:none}.dps-link.has-action now-icon,a:not(.dps-button).has-action now-icon{transition:transform .3s cubic-bezier(.075,.82,.165,1)}.dps-link.has-action:hover now-icon,a:not(.dps-button).has-action:hover now-icon{transform:translateX(.125rem)}.dps-link.has-action:hover.-external-action now-icon,a:not(.dps-button).has-action:hover.-external-action now-icon{transform:translateX(1px) translateY(-1px)}.dps-link.is-disabled,a:not(.dps-button).is-disabled{color:#c3c3c3;cursor:not-allowed;opacity:.5}.dps-link.is-disabled:hover>span,.dps-link.is-disabled>span,a:not(.dps-button).is-disabled:hover>span,a:not(.dps-button).is-disabled>span{border-bottom:1px solid #c3c3c3;box-shadow:inset 0 -1px 0 0 #c3c3c3;color:#c3c3c3}.dps-link.is-disabled:hover>span,a:not(.dps-button).is-disabled:hover>span{background-size:0 0}.dps-link.is-warning,a:not(.dps-button).is-warning{color:#652e2c}.dps-link.is-warning>span,a:not(.dps-button).is-warning>span{box-shadow:inset 0 -1px 0 0 #fc726d}.dps-link.is-warning:active>span,.dps-link.is-warning:hover>span,a:not(.dps-button).is-warning:active>span,a:not(.dps-button).is-warning:hover>span{background:linear-gradient(#fdaaa7,#fdaaa7) bottom repeat-x;box-shadow:none}.dps-link.is-warning-light,a:not(.dps-button).is-warning-light{color:#663a1f}.dps-link.is-warning-light>span,a:not(.dps-button).is-warning-light>span{box-shadow:inset 0 -1px 0 0 #ffa871}.dps-link.is-warning-light:active>span,.dps-link.is-warning-light:hover>span,a:not(.dps-button).is-warning-light:active>span,a:not(.dps-button).is-warning-light:hover>span{background:linear-gradient(#ffbe95,#ffbe95) bottom repeat-x;box-shadow:none}.dps-link.-inline,a:not(.dps-button).-inline{display:inline}.dps-link span+now-icon,a:not(.dps-button) span+now-icon{margin-left:.125rem}html{-webkit-font-smoothing:antialiased}body{color:#293e40}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*!\\n * Agate by Taufik Nurrohman <https://github.com/tovic>\\n * ----------------------------------------------------\\n *\\n * #ade5fc\\n * #a2fca2\\n * #c6b4f0\\n * #d36363\\n * #fcc28c\\n * #fc9b9b\\n * #ffa\\n * #fff\\n * #333\\n * #62c8f3\\n * #888\\n *\\n */\\n\\n.hljs {\\n  display: block;\\n  overflow-x: auto;\\n  padding: 0.5em;\\n  background: #333;\\n  color: white;\\n}\\n\\n.hljs-name,\\n.hljs-strong {\\n  font-weight: bold;\\n}\\n\\n.hljs-code,\\n.hljs-emphasis {\\n  font-style: italic;\\n}\\n\\n.hljs-tag {\\n  color: #62c8f3;\\n}\\n\\n.hljs-variable,\\n.hljs-template-variable,\\n.hljs-selector-id,\\n.hljs-selector-class {\\n  color: #ade5fc;\\n}\\n\\n.hljs-string,\\n.hljs-bullet {\\n  color: #a2fca2;\\n}\\n\\n.hljs-type,\\n.hljs-title,\\n.hljs-section,\\n.hljs-attribute,\\n.hljs-quote,\\n.hljs-built_in,\\n.hljs-builtin-name {\\n  color: #ffa;\\n}\\n\\n.hljs-number,\\n.hljs-symbol,\\n.hljs-bullet {\\n  color: #d36363;\\n}\\n\\n.hljs-keyword,\\n.hljs-selector-tag,\\n.hljs-literal {\\n  color: #fcc28c;\\n}\\n\\n.hljs-comment,\\n.hljs-deletion,\\n.hljs-code {\\n  color: #888;\\n}\\n\\n.hljs-regexp,\\n.hljs-link {\\n  color: #c6b4f0;\\n}\\n\\n.hljs-meta {\\n  color: #fc9b9b;\\n}\\n\\n.hljs-deletion {\\n  background-color: #fc9b9b;\\n  color: #333;\\n}\\n\\n.hljs-addition {\\n  background-color: #a2fca2;\\n  color: #333;\\n}\\n\\n.hljs a {\\n  color: inherit;\\n}\\n\\n.hljs a:focus,\\n.hljs a:hover {\\n  color: inherit;\\n  text-decoration: underline;\\n}\\n\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../@tectonic/webpack-block/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\\n\\n/* Document\\n   ========================================================================== */\\n\\n/**\\n * 1. Correct the line height in all browsers.\\n * 2. Prevent adjustments of font size after orientation changes in iOS.\\n */\\n\\nhtml {\\n  line-height: 1.15; /* 1 */\\n  -webkit-text-size-adjust: 100%; /* 2 */\\n}\\n\\n/* Sections\\n   ========================================================================== */\\n\\n/**\\n * Remove the margin in all browsers.\\n */\\n\\nbody {\\n  margin: 0;\\n}\\n\\n/**\\n * Render the `main` element consistently in IE.\\n */\\n\\nmain {\\n  display: block;\\n}\\n\\n/**\\n * Correct the font size and margin on `h1` elements within `section` and\\n * `article` contexts in Chrome, Firefox, and Safari.\\n */\\n\\nh1 {\\n  font-size: 2em;\\n  margin: 0.67em 0;\\n}\\n\\n/* Grouping content\\n   ========================================================================== */\\n\\n/**\\n * 1. Add the correct box sizing in Firefox.\\n * 2. Show the overflow in Edge and IE.\\n */\\n\\nhr {\\n  box-sizing: content-box; /* 1 */\\n  height: 0; /* 1 */\\n  overflow: visible; /* 2 */\\n}\\n\\n/**\\n * 1. Correct the inheritance and scaling of font size in all browsers.\\n * 2. Correct the odd `em` font sizing in all browsers.\\n */\\n\\npre {\\n  font-family: monospace, monospace; /* 1 */\\n  font-size: 1em; /* 2 */\\n}\\n\\n/* Text-level semantics\\n   ========================================================================== */\\n\\n/**\\n * Remove the gray background on active links in IE 10.\\n */\\n\\na {\\n  background-color: transparent;\\n}\\n\\n/**\\n * 1. Remove the bottom border in Chrome 57-\\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\\n */\\n\\nabbr[title] {\\n  border-bottom: none; /* 1 */\\n  text-decoration: underline; /* 2 */\\n  text-decoration: underline dotted; /* 2 */\\n}\\n\\n/**\\n * Add the correct font weight in Chrome, Edge, and Safari.\\n */\\n\\nb,\\nstrong {\\n  font-weight: bolder;\\n}\\n\\n/**\\n * 1. Correct the inheritance and scaling of font size in all browsers.\\n * 2. Correct the odd `em` font sizing in all browsers.\\n */\\n\\ncode,\\nkbd,\\nsamp {\\n  font-family: monospace, monospace; /* 1 */\\n  font-size: 1em; /* 2 */\\n}\\n\\n/**\\n * Add the correct font size in all browsers.\\n */\\n\\nsmall {\\n  font-size: 80%;\\n}\\n\\n/**\\n * Prevent `sub` and `sup` elements from affecting the line height in\\n * all browsers.\\n */\\n\\nsub,\\nsup {\\n  font-size: 75%;\\n  line-height: 0;\\n  position: relative;\\n  vertical-align: baseline;\\n}\\n\\nsub {\\n  bottom: -0.25em;\\n}\\n\\nsup {\\n  top: -0.5em;\\n}\\n\\n/* Embedded content\\n   ========================================================================== */\\n\\n/**\\n * Remove the border on images inside links in IE 10.\\n */\\n\\nimg {\\n  border-style: none;\\n}\\n\\n/* Forms\\n   ========================================================================== */\\n\\n/**\\n * 1. Change the font styles in all browsers.\\n * 2. Remove the margin in Firefox and Safari.\\n */\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n  font-family: inherit; /* 1 */\\n  font-size: 100%; /* 1 */\\n  line-height: 1.15; /* 1 */\\n  margin: 0; /* 2 */\\n}\\n\\n/**\\n * Show the overflow in IE.\\n * 1. Show the overflow in Edge.\\n */\\n\\nbutton,\\ninput { /* 1 */\\n  overflow: visible;\\n}\\n\\n/**\\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\\n * 1. Remove the inheritance of text transform in Firefox.\\n */\\n\\nbutton,\\nselect { /* 1 */\\n  text-transform: none;\\n}\\n\\n/**\\n * Correct the inability to style clickable types in iOS and Safari.\\n */\\n\\nbutton,\\n[type=\\\"button\\\"],\\n[type=\\\"reset\\\"],\\n[type=\\\"submit\\\"] {\\n  -webkit-appearance: button;\\n}\\n\\n/**\\n * Remove the inner border and padding in Firefox.\\n */\\n\\nbutton::-moz-focus-inner,\\n[type=\\\"button\\\"]::-moz-focus-inner,\\n[type=\\\"reset\\\"]::-moz-focus-inner,\\n[type=\\\"submit\\\"]::-moz-focus-inner {\\n  border-style: none;\\n  padding: 0;\\n}\\n\\n/**\\n * Restore the focus styles unset by the previous rule.\\n */\\n\\nbutton:-moz-focusring,\\n[type=\\\"button\\\"]:-moz-focusring,\\n[type=\\\"reset\\\"]:-moz-focusring,\\n[type=\\\"submit\\\"]:-moz-focusring {\\n  outline: 1px dotted ButtonText;\\n}\\n\\n/**\\n * Correct the padding in Firefox.\\n */\\n\\nfieldset {\\n  padding: 0.35em 0.75em 0.625em;\\n}\\n\\n/**\\n * 1. Correct the text wrapping in Edge and IE.\\n * 2. Correct the color inheritance from `fieldset` elements in IE.\\n * 3. Remove the padding so developers are not caught out when they zero out\\n *    `fieldset` elements in all browsers.\\n */\\n\\nlegend {\\n  box-sizing: border-box; /* 1 */\\n  color: inherit; /* 2 */\\n  display: table; /* 1 */\\n  max-width: 100%; /* 1 */\\n  padding: 0; /* 3 */\\n  white-space: normal; /* 1 */\\n}\\n\\n/**\\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\\n */\\n\\nprogress {\\n  vertical-align: baseline;\\n}\\n\\n/**\\n * Remove the default vertical scrollbar in IE 10+.\\n */\\n\\ntextarea {\\n  overflow: auto;\\n}\\n\\n/**\\n * 1. Add the correct box sizing in IE 10.\\n * 2. Remove the padding in IE 10.\\n */\\n\\n[type=\\\"checkbox\\\"],\\n[type=\\\"radio\\\"] {\\n  box-sizing: border-box; /* 1 */\\n  padding: 0; /* 2 */\\n}\\n\\n/**\\n * Correct the cursor style of increment and decrement buttons in Chrome.\\n */\\n\\n[type=\\\"number\\\"]::-webkit-inner-spin-button,\\n[type=\\\"number\\\"]::-webkit-outer-spin-button {\\n  height: auto;\\n}\\n\\n/**\\n * 1. Correct the odd appearance in Chrome and Safari.\\n * 2. Correct the outline style in Safari.\\n */\\n\\n[type=\\\"search\\\"] {\\n  -webkit-appearance: textfield; /* 1 */\\n  outline-offset: -2px; /* 2 */\\n}\\n\\n/**\\n * Remove the inner padding in Chrome and Safari on macOS.\\n */\\n\\n[type=\\\"search\\\"]::-webkit-search-decoration {\\n  -webkit-appearance: none;\\n}\\n\\n/**\\n * 1. Correct the inability to style clickable types in iOS and Safari.\\n * 2. Change font properties to `inherit` in Safari.\\n */\\n\\n::-webkit-file-upload-button {\\n  -webkit-appearance: button; /* 1 */\\n  font: inherit; /* 2 */\\n}\\n\\n/* Interactive\\n   ========================================================================== */\\n\\n/*\\n * Add the correct display in Edge, IE 10+, and Firefox.\\n */\\n\\ndetails {\\n  display: block;\\n}\\n\\n/*\\n * Add the correct display in all browsers.\\n */\\n\\nsummary {\\n  display: list-item;\\n}\\n\\n/* Misc\\n   ========================================================================== */\\n\\n/**\\n * Add the correct display in IE 10+.\\n */\\n\\ntemplate {\\n  display: none;\\n}\\n\\n/**\\n * Add the correct display in IE 10.\\n */\\n\\n[hidden] {\\n  display: none;\\n}\\n\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var map = {\n\t\"./af\": 50897,\n\t\"./af.js\": 50897,\n\t\"./ar\": 21021,\n\t\"./ar-dz\": 39832,\n\t\"./ar-dz.js\": 39832,\n\t\"./ar-kw\": 86012,\n\t\"./ar-kw.js\": 86012,\n\t\"./ar-ly\": 45673,\n\t\"./ar-ly.js\": 45673,\n\t\"./ar-ma\": 27000,\n\t\"./ar-ma.js\": 27000,\n\t\"./ar-ps\": 1083,\n\t\"./ar-ps.js\": 1083,\n\t\"./ar-sa\": 49682,\n\t\"./ar-sa.js\": 49682,\n\t\"./ar-tn\": 66340,\n\t\"./ar-tn.js\": 66340,\n\t\"./ar.js\": 21021,\n\t\"./az\": 80853,\n\t\"./az.js\": 80853,\n\t\"./be\": 53143,\n\t\"./be.js\": 53143,\n\t\"./bg\": 64473,\n\t\"./bg.js\": 64473,\n\t\"./bm\": 59007,\n\t\"./bm.js\": 59007,\n\t\"./bn\": 52210,\n\t\"./bn-bd\": 33557,\n\t\"./bn-bd.js\": 33557,\n\t\"./bn.js\": 52210,\n\t\"./bo\": 19841,\n\t\"./bo.js\": 19841,\n\t\"./br\": 64198,\n\t\"./br.js\": 64198,\n\t\"./bs\": 82469,\n\t\"./bs.js\": 82469,\n\t\"./ca\": 89698,\n\t\"./ca.js\": 89698,\n\t\"./cs\": 99080,\n\t\"./cs.js\": 99080,\n\t\"./cv\": 14875,\n\t\"./cv.js\": 14875,\n\t\"./cy\": 42730,\n\t\"./cy.js\": 42730,\n\t\"./da\": 61881,\n\t\"./da.js\": 61881,\n\t\"./de\": 67733,\n\t\"./de-at\": 90423,\n\t\"./de-at.js\": 90423,\n\t\"./de-ch\": 70993,\n\t\"./de-ch.js\": 70993,\n\t\"./de.js\": 67733,\n\t\"./dv\": 33788,\n\t\"./dv.js\": 33788,\n\t\"./el\": 21643,\n\t\"./el.js\": 21643,\n\t\"./en-au\": 91256,\n\t\"./en-au.js\": 91256,\n\t\"./en-ca\": 79634,\n\t\"./en-ca.js\": 79634,\n\t\"./en-gb\": 99915,\n\t\"./en-gb.js\": 99915,\n\t\"./en-ie\": 89584,\n\t\"./en-ie.js\": 89584,\n\t\"./en-il\": 94831,\n\t\"./en-il.js\": 94831,\n\t\"./en-in\": 22705,\n\t\"./en-in.js\": 22705,\n\t\"./en-nz\": 77074,\n\t\"./en-nz.js\": 77074,\n\t\"./en-sg\": 28644,\n\t\"./en-sg.js\": 28644,\n\t\"./eo\": 36782,\n\t\"./eo.js\": 36782,\n\t\"./es\": 21290,\n\t\"./es-do\": 14286,\n\t\"./es-do.js\": 14286,\n\t\"./es-mx\": 52634,\n\t\"./es-mx.js\": 52634,\n\t\"./es-us\": 37239,\n\t\"./es-us.js\": 37239,\n\t\"./es.js\": 21290,\n\t\"./et\": 41331,\n\t\"./et.js\": 41331,\n\t\"./eu\": 75244,\n\t\"./eu.js\": 75244,\n\t\"./fa\": 9135,\n\t\"./fa.js\": 9135,\n\t\"./fi\": 22151,\n\t\"./fi.js\": 22151,\n\t\"./fil\": 86691,\n\t\"./fil.js\": 86691,\n\t\"./fo\": 70213,\n\t\"./fo.js\": 70213,\n\t\"./fr\": 16658,\n\t\"./fr-ca\": 23611,\n\t\"./fr-ca.js\": 23611,\n\t\"./fr-ch\": 47052,\n\t\"./fr-ch.js\": 47052,\n\t\"./fr.js\": 16658,\n\t\"./fy\": 14711,\n\t\"./fy.js\": 14711,\n\t\"./ga\": 71198,\n\t\"./ga.js\": 71198,\n\t\"./gd\": 54337,\n\t\"./gd.js\": 54337,\n\t\"./gl\": 92025,\n\t\"./gl.js\": 92025,\n\t\"./gom-deva\": 94468,\n\t\"./gom-deva.js\": 94468,\n\t\"./gom-latn\": 50959,\n\t\"./gom-latn.js\": 50959,\n\t\"./gu\": 16930,\n\t\"./gu.js\": 16930,\n\t\"./he\": 46697,\n\t\"./he.js\": 46697,\n\t\"./hi\": 13037,\n\t\"./hi.js\": 13037,\n\t\"./hr\": 25484,\n\t\"./hr.js\": 25484,\n\t\"./hu\": 26329,\n\t\"./hu.js\": 26329,\n\t\"./hy-am\": 36624,\n\t\"./hy-am.js\": 36624,\n\t\"./id\": 77207,\n\t\"./id.js\": 77207,\n\t\"./is\": 78694,\n\t\"./is.js\": 78694,\n\t\"./it\": 49959,\n\t\"./it-ch\": 28411,\n\t\"./it-ch.js\": 28411,\n\t\"./it.js\": 49959,\n\t\"./ja\": 97691,\n\t\"./ja.js\": 97691,\n\t\"./jv\": 23042,\n\t\"./jv.js\": 23042,\n\t\"./ka\": 55210,\n\t\"./ka.js\": 55210,\n\t\"./kk\": 54088,\n\t\"./kk.js\": 54088,\n\t\"./km\": 23870,\n\t\"./km.js\": 23870,\n\t\"./kn\": 69883,\n\t\"./kn.js\": 69883,\n\t\"./ko\": 21940,\n\t\"./ko.js\": 21940,\n\t\"./ku\": 51366,\n\t\"./ku-kmr\": 68541,\n\t\"./ku-kmr.js\": 68541,\n\t\"./ku.js\": 51366,\n\t\"./ky\": 12130,\n\t\"./ky.js\": 12130,\n\t\"./lb\": 22760,\n\t\"./lb.js\": 22760,\n\t\"./lo\": 27571,\n\t\"./lo.js\": 27571,\n\t\"./lt\": 88846,\n\t\"./lt.js\": 88846,\n\t\"./lv\": 24964,\n\t\"./lv.js\": 24964,\n\t\"./me\": 14052,\n\t\"./me.js\": 14052,\n\t\"./mi\": 45232,\n\t\"./mi.js\": 45232,\n\t\"./mk\": 41434,\n\t\"./mk.js\": 41434,\n\t\"./ml\": 2595,\n\t\"./ml.js\": 2595,\n\t\"./mn\": 27909,\n\t\"./mn.js\": 27909,\n\t\"./mr\": 65281,\n\t\"./mr.js\": 65281,\n\t\"./ms\": 45554,\n\t\"./ms-my\": 76817,\n\t\"./ms-my.js\": 76817,\n\t\"./ms.js\": 45554,\n\t\"./mt\": 67291,\n\t\"./mt.js\": 67291,\n\t\"./my\": 14752,\n\t\"./my.js\": 14752,\n\t\"./nb\": 47466,\n\t\"./nb.js\": 47466,\n\t\"./ne\": 67507,\n\t\"./ne.js\": 67507,\n\t\"./nl\": 62612,\n\t\"./nl-be\": 63168,\n\t\"./nl-be.js\": 63168,\n\t\"./nl.js\": 62612,\n\t\"./nn\": 50814,\n\t\"./nn.js\": 50814,\n\t\"./oc-lnc\": 82154,\n\t\"./oc-lnc.js\": 82154,\n\t\"./pa-in\": 68529,\n\t\"./pa-in.js\": 68529,\n\t\"./pl\": 46010,\n\t\"./pl.js\": 46010,\n\t\"./pt\": 50130,\n\t\"./pt-br\": 20071,\n\t\"./pt-br.js\": 20071,\n\t\"./pt.js\": 50130,\n\t\"./ro\": 46161,\n\t\"./ro.js\": 46161,\n\t\"./ru\": 6455,\n\t\"./ru.js\": 6455,\n\t\"./sd\": 46685,\n\t\"./sd.js\": 46685,\n\t\"./se\": 62942,\n\t\"./se.js\": 62942,\n\t\"./si\": 94282,\n\t\"./si.js\": 94282,\n\t\"./sk\": 63488,\n\t\"./sk.js\": 63488,\n\t\"./sl\": 6517,\n\t\"./sl.js\": 6517,\n\t\"./sq\": 8674,\n\t\"./sq.js\": 8674,\n\t\"./sr\": 47631,\n\t\"./sr-cyrl\": 64754,\n\t\"./sr-cyrl.js\": 64754,\n\t\"./sr.js\": 47631,\n\t\"./ss\": 13272,\n\t\"./ss.js\": 13272,\n\t\"./sv\": 94635,\n\t\"./sv.js\": 94635,\n\t\"./sw\": 29540,\n\t\"./sw.js\": 29540,\n\t\"./ta\": 38441,\n\t\"./ta.js\": 38441,\n\t\"./te\": 70757,\n\t\"./te.js\": 70757,\n\t\"./tet\": 35333,\n\t\"./tet.js\": 35333,\n\t\"./tg\": 11267,\n\t\"./tg.js\": 11267,\n\t\"./th\": 84962,\n\t\"./th.js\": 84962,\n\t\"./tk\": 59151,\n\t\"./tk.js\": 59151,\n\t\"./tl-ph\": 81351,\n\t\"./tl-ph.js\": 81351,\n\t\"./tlh\": 14196,\n\t\"./tlh.js\": 14196,\n\t\"./tr\": 23424,\n\t\"./tr.js\": 23424,\n\t\"./tzl\": 88942,\n\t\"./tzl.js\": 88942,\n\t\"./tzm\": 49645,\n\t\"./tzm-latn\": 70167,\n\t\"./tzm-latn.js\": 70167,\n\t\"./tzm.js\": 49645,\n\t\"./ug-cn\": 96550,\n\t\"./ug-cn.js\": 96550,\n\t\"./uk\": 84626,\n\t\"./uk.js\": 84626,\n\t\"./ur\": 85193,\n\t\"./ur.js\": 85193,\n\t\"./uz\": 33777,\n\t\"./uz-latn\": 23395,\n\t\"./uz-latn.js\": 23395,\n\t\"./uz.js\": 33777,\n\t\"./vi\": 94551,\n\t\"./vi.js\": 94551,\n\t\"./x-pseudo\": 1339,\n\t\"./x-pseudo.js\": 1339,\n\t\"./yo\": 68034,\n\t\"./yo.js\": 68034,\n\t\"./zh-cn\": 37328,\n\t\"./zh-cn.js\": 37328,\n\t\"./zh-hk\": 55608,\n\t\"./zh-hk.js\": 55608,\n\t\"./zh-mo\": 62541,\n\t\"./zh-mo.js\": 62541,\n\t\"./zh-tw\": 7096,\n\t\"./zh-tw.js\": 7096\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 = 35358;","\n        var result = require(\"!!../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-bookmark-example.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_customLabel.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./carousel.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./view.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./view.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./ariaLiveRegion.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./recommendations-helper.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./controlwrapper.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./controlwrapper.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./style.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./input.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./aboutPopover.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./index.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./sn-search-gr-carousel.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./sn-search-topics.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./sn-search-top-results.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_resizable-target.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-alert-list.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-alert.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-avatar.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-badge.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-breadcrumbs.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-button-bare.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-button-circular.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-button-iconic.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-button-stateful.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-button.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-card-actions.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-card-divider.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-card-footer.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-card-header.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-card.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-carousel-text.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-checkbox.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-date-time-calendar.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-date-time-interval.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-date-time.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-input-date-time.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-date-time-presets.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-dropdown-list.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-dropdown-panel.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-dropdown.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-highlighted-value.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-icon.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-image.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-input-password.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-input-phone.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-input-url.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-input.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_popover-content.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-label-value-inline.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-label-value-stacked.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-label-value-tabbed.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-legacy-icon.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./main.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./galleryView.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./popoverCellEditorContent.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./popoverChoiceColumnFilterContent.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./popoverCustomContent.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./popoverListContent.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./popoverTextContent.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./columnHeaderClone.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./timeAgoDisplay.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-loader-custom.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-loader-skeleton.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-loader.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-message.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-modal.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-modeless-dialog.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-pagination-control.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-pill.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-popover-panel.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-progress-bar.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-radio-buttons.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./html.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-select.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-stepper.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-tabs-vertical.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-tabs.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-illustration-custom.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-illustration.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-template-message-empty-state.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-text-link.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-textarea.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-toggle.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-tooltip.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-typeahead.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-collapse.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-heading.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./sn-cx-page.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./index.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./sn-cx-side-panel.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./iconic-help.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./boolean.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./checkboxes.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./daterange-content.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./daterange-panel.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./filter.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./list-content.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./list-multi.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./list-search.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./list-single.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./list-sort.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./pill-variant.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./popup.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./radiobuttons.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./typeahead.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./listbox.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./slush-bucket.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-accordion.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-ad-card.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-ai-search.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-card-loading.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-feedback-card.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-no-search-result.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-search-result.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-alert-container.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-alert.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-background-arch.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-badge.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-banner-container.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-banner.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-bookmark.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-breadcrumb.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-button.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-callout.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-card-container.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-card.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-category-section.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-checkbox.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-code-block.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-code-switcher.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-collapsable-module-card.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-component-detail-header.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-component-detail-meta.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-component-detail-toc.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-component-detail.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-component-details-block.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-component-gallery-card.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-component-gallery-card.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-component-gallery-search.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-component-group-template.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-content-feedback-form.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-content-stack.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-delete-user-account-modal.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-dropdown-button.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-dropdown-panel.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-dropdown.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-error-page.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-expired-session-modal.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-feedback.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-fieldset.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-filter-badge.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-filter-bar.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-filter-nav-group.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-filter-nav.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-footer.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-general-feedback-form.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-header-carousel.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-auto-progress-bar.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./index.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-icon-call-out.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-icon-grid-item.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-icon-gallery.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-image-card.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-image-grid.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-image.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-inline-version-selector.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-input-autocomplete.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-input.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-instance-sidebar.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-lead-tracking-modal.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-learning-plans.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-legal-agreement-modal.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-library-table.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-link.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-login.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-modal.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-module-modal.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-module-translation-bar.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-name-generator.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-navigation-card.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-navigation-header-dropdown-content.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-navigation-header-dropdown.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-navigation-header.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-navigation-instance-management.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-navigation-login-management.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-navigation-section.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-navigation-version-selector.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-overview-feedback.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-page-header.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-page-new-header.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-pagination.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-playground-whats-new-modal.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-playground-permalink-button.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-playground.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-prev-next-doc.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-progress-bar.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-progress-card.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-progress-circle.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-question.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-related-components.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-scoped-equivalent.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-scr-notice.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-search-category.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./index.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./index.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-search-filter.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-search-result-item.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-search.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-shade.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-share-project-card.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-share-projects.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-sidebar-nav.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-site-banner.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-spinner.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-star-rating.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-sticky-nav.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-tabs.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-template-two-column.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-three-dot-menu.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-toast-alert.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-toast-container.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-trending-discussions.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-user-profile-modal.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-video.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-visuals-carousel.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-whats-new-modal.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-ad-cards-connected.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./api-content.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-api-docs.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-api-list.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-app.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-ba-progress-banner.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-build-agent-modal.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-card-apis-and-libraries-card.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-card-apis-and-libraries.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-card-build-agent.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-card-build-and-deploy.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-card-section.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-citizen-dev.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-component-gallery.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-component-gallery.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-connect-overview.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-course-details.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-course-module.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-design-layout.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-design-overview.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-developer-mvp.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-engagement-page.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-aggregate-engagement-pattern-2.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-aggregate-engagement-pattern-3.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-engagement-page-pattern-1.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-guides-detail.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-guides-experience-overview.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_dps-guides-layout.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-guides-overview.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-guides-platform-overview.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-home-auth-quebec.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-home-auth-new-user-banner.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-home-auth.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-home-unauth.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-icon-gallery-connected.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-illustration-gallery-connected.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-instance-assignment-modal.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./requestInstance.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-learning-courses.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-learning-module.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-learning-overview.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-learning-tutorials.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-news-and-events-carousel.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-news-events-ad-card.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-plugin.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-upgrade-instance.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-useful-links.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-promo-banner.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-reference-overview.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-reference-page-api.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-reference-page-overview.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-reference-page-uibConfig.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-reference-page-uibSetup.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-reference-page-usage.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-reference-page.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-root.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-search-bar.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-related-search.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-search-page.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-search-results.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-tutorial-details.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-tutorial-exercise.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./dps-version-switcher.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_link.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./content.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./index.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../node_modules/@tectonic/webpack-block/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../node_modules/@tectonic/webpack-block/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../node_modules/@tectonic/webpack-block/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./index.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","function _OverloadYield(e, d) {\n  this.v = e, this.k = d;\n}\nmodule.exports = _OverloadYield, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayLikeToArray(r, a) {\n  (null == a || a > r.length) && (a = r.length);\n  for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n  return n;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(r) {\n  if (Array.isArray(r)) return r;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(r) {\n  if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(e) {\n  if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  return e;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var OverloadYield = require(\"./OverloadYield.js\");\nfunction _asyncGeneratorDelegate(t) {\n  var e = {},\n    n = !1;\n  function pump(e, r) {\n    return n = !0, r = new Promise(function (n) {\n      n(t[e](r));\n    }), {\n      done: !1,\n      value: new OverloadYield(r, 1)\n    };\n  }\n  return e[\"undefined\" != typeof Symbol && Symbol.iterator || \"@@iterator\"] = function () {\n    return this;\n  }, e.next = function (t) {\n    return n ? (n = !1, t) : pump(\"next\", t);\n  }, \"function\" == typeof t[\"throw\"] && (e[\"throw\"] = function (t) {\n    if (n) throw n = !1, t;\n    return pump(\"throw\", t);\n  }), \"function\" == typeof t[\"return\"] && (e[\"return\"] = function (t) {\n    return n ? (n = !1, t) : pump(\"return\", t);\n  }), e;\n}\nmodule.exports = _asyncGeneratorDelegate, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function asyncGeneratorStep(n, t, e, r, o, a, c) {\n  try {\n    var i = n[a](c),\n      u = i.value;\n  } catch (n) {\n    return void e(n);\n  }\n  i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n  return function () {\n    var t = this,\n      e = arguments;\n    return new Promise(function (r, o) {\n      var a = n.apply(t, e);\n      function _next(n) {\n        asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n      }\n      function _throw(n) {\n        asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n      }\n      _next(void 0);\n    });\n  };\n}\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var OverloadYield = require(\"./OverloadYield.js\");\nfunction _awaitAsyncGenerator(e) {\n  return new OverloadYield(e, 0);\n}\nmodule.exports = _awaitAsyncGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(a, n) {\n  if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\nvar setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _construct(t, e, r) {\n  if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n  var o = [null];\n  o.push.apply(o, e);\n  var p = new (t.bind.apply(t, o))();\n  return r && setPrototypeOf(p, r.prototype), p;\n}\nmodule.exports = _construct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(e, r) {\n  for (var t = 0; t < r.length; t++) {\n    var o = r[t];\n    o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n  }\n}\nfunction _createClass(e, r, t) {\n  return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n    writable: !1\n  }), e;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(e, r, t) {\n  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n    value: t,\n    enumerable: !0,\n    configurable: !0,\n    writable: !0\n  }) : e[r] = t, e;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var superPropBase = require(\"./superPropBase.js\");\nfunction _get() {\n  return module.exports = _get = \"undefined\" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) {\n    var p = superPropBase(e, t);\n    if (p) {\n      var n = Object.getOwnPropertyDescriptor(p, t);\n      return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value;\n    }\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _get.apply(null, arguments);\n}\nmodule.exports = _get, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(t) {\n  return module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n    return t.__proto__ || Object.getPrototypeOf(t);\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _getPrototypeOf(t);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(t, e) {\n  if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n  t.prototype = Object.create(e && e.prototype, {\n    constructor: {\n      value: t,\n      writable: !0,\n      configurable: !0\n    }\n  }), Object.defineProperty(t, \"prototype\", {\n    writable: !1\n  }), e && setPrototypeOf(t, e);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(e) {\n  return e && e.__esModule ? e : {\n    \"default\": e\n  };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeFunction(t) {\n  try {\n    return -1 !== Function.toString.call(t).indexOf(\"[native code]\");\n  } catch (n) {\n    return \"function\" == typeof t;\n  }\n}\nmodule.exports = _isNativeFunction, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeReflectConstruct() {\n  try {\n    var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n  } catch (t) {}\n  return (module.exports = _isNativeReflectConstruct = function _isNativeReflectConstruct() {\n    return !!t;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports)();\n}\nmodule.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(r) {\n  if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(r, l) {\n  var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n  if (null != t) {\n    var e,\n      n,\n      i,\n      u,\n      a = [],\n      f = !0,\n      o = !1;\n    try {\n      if (i = (t = t.call(r)).next, 0 === l) {\n        if (Object(t) !== t) return;\n        f = !1;\n      } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n    } catch (r) {\n      o = !0, n = r;\n    } finally {\n      try {\n        if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n      } finally {\n        if (o) throw n;\n      }\n    }\n    return a;\n  }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n  throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n  throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectDestructuringEmpty(t) {\n  if (null == t) throw new TypeError(\"Cannot destructure \" + t);\n}\nmodule.exports = _objectDestructuringEmpty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\nfunction _objectWithoutProperties(e, t) {\n  if (null == e) return {};\n  var o,\n    r,\n    i = objectWithoutPropertiesLoose(e, t);\n  if (Object.getOwnPropertySymbols) {\n    var n = Object.getOwnPropertySymbols(e);\n    for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n  }\n  return i;\n}\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(r, e) {\n  if (null == r) return {};\n  var t = {};\n  for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n    if (-1 !== e.indexOf(n)) continue;\n    t[n] = r[n];\n  }\n  return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(t, e) {\n  if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n  if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n  return assertThisInitialized(t);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _readOnlyError(r) {\n  throw new TypeError('\"' + r + '\" is read-only');\n}\nmodule.exports = _readOnlyError, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var regeneratorDefine = require(\"./regeneratorDefine.js\");\nfunction _regenerator() {\n  /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */\n  var e,\n    t,\n    r = \"function\" == typeof Symbol ? Symbol : {},\n    n = r.iterator || \"@@iterator\",\n    o = r.toStringTag || \"@@toStringTag\";\n  function i(r, n, o, i) {\n    var c = n && n.prototype instanceof Generator ? n : Generator,\n      u = Object.create(c.prototype);\n    return regeneratorDefine(u, \"_invoke\", function (r, n, o) {\n      var i,\n        c,\n        u,\n        f = 0,\n        p = o || [],\n        y = !1,\n        G = {\n          p: 0,\n          n: 0,\n          v: e,\n          a: d,\n          f: d.bind(e, 4),\n          d: function d(t, r) {\n            return i = t, c = 0, u = e, G.n = r, a;\n          }\n        };\n      function d(r, n) {\n        for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) {\n          var o,\n            i = p[t],\n            d = G.p,\n            l = i[2];\n          r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0));\n        }\n        if (o || r > 1) return a;\n        throw y = !0, n;\n      }\n      return function (o, p, l) {\n        if (f > 1) throw TypeError(\"Generator is already running\");\n        for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) {\n          i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u);\n          try {\n            if (f = 2, i) {\n              if (c || (o = \"next\"), t = i[o]) {\n                if (!(t = t.call(i, u))) throw TypeError(\"iterator result is not an object\");\n                if (!t.done) return t;\n                u = t.value, c < 2 && (c = 0);\n              } else 1 === c && (t = i[\"return\"]) && t.call(i), c < 2 && (u = TypeError(\"The iterator does not provide a '\" + o + \"' method\"), c = 1);\n              i = e;\n            } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break;\n          } catch (t) {\n            i = e, c = 1, u = t;\n          } finally {\n            f = 1;\n          }\n        }\n        return {\n          value: t,\n          done: y\n        };\n      };\n    }(r, o, i), !0), u;\n  }\n  var a = {};\n  function Generator() {}\n  function GeneratorFunction() {}\n  function GeneratorFunctionPrototype() {}\n  t = Object.getPrototypeOf;\n  var c = [][n] ? t(t([][n]())) : (regeneratorDefine(t = {}, n, function () {\n      return this;\n    }), t),\n    u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c);\n  function f(e) {\n    return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, regeneratorDefine(e, o, \"GeneratorFunction\")), e.prototype = Object.create(u), e;\n  }\n  return GeneratorFunction.prototype = GeneratorFunctionPrototype, regeneratorDefine(u, \"constructor\", GeneratorFunctionPrototype), regeneratorDefine(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = \"GeneratorFunction\", regeneratorDefine(GeneratorFunctionPrototype, o, \"GeneratorFunction\"), regeneratorDefine(u), regeneratorDefine(u, o, \"Generator\"), regeneratorDefine(u, n, function () {\n    return this;\n  }), regeneratorDefine(u, \"toString\", function () {\n    return \"[object Generator]\";\n  }), (module.exports = _regenerator = function _regenerator() {\n    return {\n      w: i,\n      m: f\n    };\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports)();\n}\nmodule.exports = _regenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var regeneratorAsyncGen = require(\"./regeneratorAsyncGen.js\");\nfunction _regeneratorAsync(n, e, r, t, o) {\n  var a = regeneratorAsyncGen(n, e, r, t, o);\n  return a.next().then(function (n) {\n    return n.done ? n.value : a.next();\n  });\n}\nmodule.exports = _regeneratorAsync, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var regenerator = require(\"./regenerator.js\");\nvar regeneratorAsyncIterator = require(\"./regeneratorAsyncIterator.js\");\nfunction _regeneratorAsyncGen(r, e, t, o, n) {\n  return new regeneratorAsyncIterator(regenerator().w(r, e, t, o), n || Promise);\n}\nmodule.exports = _regeneratorAsyncGen, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var OverloadYield = require(\"./OverloadYield.js\");\nvar regeneratorDefine = require(\"./regeneratorDefine.js\");\nfunction AsyncIterator(t, e) {\n  function n(r, o, i, f) {\n    try {\n      var c = t[r](o),\n        u = c.value;\n      return u instanceof OverloadYield ? e.resolve(u.v).then(function (t) {\n        n(\"next\", t, i, f);\n      }, function (t) {\n        n(\"throw\", t, i, f);\n      }) : e.resolve(u).then(function (t) {\n        c.value = t, i(c);\n      }, function (t) {\n        return n(\"throw\", t, i, f);\n      });\n    } catch (t) {\n      f(t);\n    }\n  }\n  var r;\n  this.next || (regeneratorDefine(AsyncIterator.prototype), regeneratorDefine(AsyncIterator.prototype, \"function\" == typeof Symbol && Symbol.asyncIterator || \"@asyncIterator\", function () {\n    return this;\n  })), regeneratorDefine(this, \"_invoke\", function (t, o, i) {\n    function f() {\n      return new e(function (e, r) {\n        n(t, i, e, r);\n      });\n    }\n    return r = r ? r.then(f, f) : f();\n  }, !0);\n}\nmodule.exports = AsyncIterator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _regeneratorDefine(e, r, n, t) {\n  var i = Object.defineProperty;\n  try {\n    i({}, \"\", {});\n  } catch (e) {\n    i = 0;\n  }\n  module.exports = _regeneratorDefine = function regeneratorDefine(e, r, n, t) {\n    function o(r, n) {\n      _regeneratorDefine(e, r, function (e) {\n        return this._invoke(r, n, e);\n      });\n    }\n    r ? i ? i(e, r, {\n      value: n,\n      enumerable: !t,\n      configurable: !t,\n      writable: !t\n    }) : e[r] = n : (o(\"next\", 0), o(\"throw\", 1), o(\"return\", 2));\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _regeneratorDefine(e, r, n, t);\n}\nmodule.exports = _regeneratorDefine, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _regeneratorKeys(e) {\n  var n = Object(e),\n    r = [];\n  for (var t in n) r.unshift(t);\n  return function e() {\n    for (; r.length;) if ((t = r.pop()) in n) return e.value = t, e.done = !1, e;\n    return e.done = !0, e;\n  };\n}\nmodule.exports = _regeneratorKeys, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var OverloadYield = require(\"./OverloadYield.js\");\nvar regenerator = require(\"./regenerator.js\");\nvar regeneratorAsync = require(\"./regeneratorAsync.js\");\nvar regeneratorAsyncGen = require(\"./regeneratorAsyncGen.js\");\nvar regeneratorAsyncIterator = require(\"./regeneratorAsyncIterator.js\");\nvar regeneratorKeys = require(\"./regeneratorKeys.js\");\nvar regeneratorValues = require(\"./regeneratorValues.js\");\nfunction _regeneratorRuntime() {\n  \"use strict\";\n\n  var r = regenerator(),\n    e = r.m(_regeneratorRuntime),\n    t = (Object.getPrototypeOf ? Object.getPrototypeOf(e) : e.__proto__).constructor;\n  function n(r) {\n    var e = \"function\" == typeof r && r.constructor;\n    return !!e && (e === t || \"GeneratorFunction\" === (e.displayName || e.name));\n  }\n  var o = {\n    \"throw\": 1,\n    \"return\": 2,\n    \"break\": 3,\n    \"continue\": 3\n  };\n  function a(r) {\n    var e, t;\n    return function (n) {\n      e || (e = {\n        stop: function stop() {\n          return t(n.a, 2);\n        },\n        \"catch\": function _catch() {\n          return n.v;\n        },\n        abrupt: function abrupt(r, e) {\n          return t(n.a, o[r], e);\n        },\n        delegateYield: function delegateYield(r, o, a) {\n          return e.resultName = o, t(n.d, regeneratorValues(r), a);\n        },\n        finish: function finish(r) {\n          return t(n.f, r);\n        }\n      }, t = function t(r, _t, o) {\n        n.p = e.prev, n.n = e.next;\n        try {\n          return r(_t, o);\n        } finally {\n          e.next = n.n;\n        }\n      }), e.resultName && (e[e.resultName] = n.v, e.resultName = void 0), e.sent = n.v, e.next = n.n;\n      try {\n        return r.call(this, e);\n      } finally {\n        n.p = e.prev, n.n = e.next;\n      }\n    };\n  }\n  return (module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n    return {\n      wrap: function wrap(e, t, n, o) {\n        return r.w(a(e), t, n, o && o.reverse());\n      },\n      isGeneratorFunction: n,\n      mark: r.m,\n      awrap: function awrap(r, e) {\n        return new OverloadYield(r, e);\n      },\n      AsyncIterator: regeneratorAsyncIterator,\n      async: function async(r, e, t, o, u) {\n        return (n(e) ? regeneratorAsyncGen : regeneratorAsync)(a(r), e, t, o, u);\n      },\n      keys: regeneratorKeys,\n      values: regeneratorValues\n    };\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports)();\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorValues(e) {\n  if (null != e) {\n    var t = e[\"function\" == typeof Symbol && Symbol.iterator || \"@@iterator\"],\n      r = 0;\n    if (t) return t.call(e);\n    if (\"function\" == typeof e.next) return e;\n    if (!isNaN(e.length)) return {\n      next: function next() {\n        return e && r >= e.length && (e = void 0), {\n          value: e && e[r++],\n          done: !e\n        };\n      }\n    };\n  }\n  throw new TypeError(_typeof(e) + \" is not iterable\");\n}\nmodule.exports = _regeneratorValues, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(t, e) {\n  return module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n    return t.__proto__ = e, t;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _setPrototypeOf(t, e);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(r, e) {\n  return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\nfunction _superPropBase(t, o) {\n  for (; !{}.hasOwnProperty.call(t, o) && null !== (t = getPrototypeOf(t)););\n  return t;\n}\nmodule.exports = _superPropBase, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _taggedTemplateLiteral(e, t) {\n  return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, {\n    raw: {\n      value: Object.freeze(t)\n    }\n  }));\n}\nmodule.exports = _taggedTemplateLiteral, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _toArray(r) {\n  return arrayWithHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableRest();\n}\nmodule.exports = _toArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(r) {\n  return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n  if (\"object\" != _typeof(t) || !t) return t;\n  var e = t[Symbol.toPrimitive];\n  if (void 0 !== e) {\n    var i = e.call(t, r || \"default\");\n    if (\"object\" != _typeof(i)) return i;\n    throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n  }\n  return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n  var i = toPrimitive(t, \"string\");\n  return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n  \"@babel/helpers - typeof\";\n\n  return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n    return typeof o;\n  } : function (o) {\n    return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(r, a) {\n  if (r) {\n    if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n    var t = {}.toString.call(r).slice(8, -1);\n    return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n  }\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var OverloadYield = require(\"./OverloadYield.js\");\nfunction _wrapAsyncGenerator(e) {\n  return function () {\n    return new AsyncGenerator(e.apply(this, arguments));\n  };\n}\nfunction AsyncGenerator(e) {\n  var r, t;\n  function resume(r, t) {\n    try {\n      var n = e[r](t),\n        o = n.value,\n        u = o instanceof OverloadYield;\n      Promise.resolve(u ? o.v : o).then(function (t) {\n        if (u) {\n          var i = \"return\" === r ? \"return\" : \"next\";\n          if (!o.k || t.done) return resume(i, t);\n          t = e[i](t).value;\n        }\n        settle(n.done ? \"return\" : \"normal\", t);\n      }, function (e) {\n        resume(\"throw\", e);\n      });\n    } catch (e) {\n      settle(\"throw\", e);\n    }\n  }\n  function settle(e, n) {\n    switch (e) {\n      case \"return\":\n        r.resolve({\n          value: n,\n          done: !0\n        });\n        break;\n      case \"throw\":\n        r.reject(n);\n        break;\n      default:\n        r.resolve({\n          value: n,\n          done: !1\n        });\n    }\n    (r = r.next) ? resume(r.key, r.arg) : t = null;\n  }\n  this._invoke = function (e, n) {\n    return new Promise(function (o, u) {\n      var i = {\n        key: e,\n        arg: n,\n        resolve: o,\n        reject: u,\n        next: null\n      };\n      t ? t = t.next = i : (r = t = i, resume(e, n));\n    });\n  }, \"function\" != typeof e[\"return\"] && (this[\"return\"] = void 0);\n}\nAsyncGenerator.prototype[\"function\" == typeof Symbol && Symbol.asyncIterator || \"@@asyncIterator\"] = function () {\n  return this;\n}, AsyncGenerator.prototype.next = function (e) {\n  return this._invoke(\"next\", e);\n}, AsyncGenerator.prototype[\"throw\"] = function (e) {\n  return this._invoke(\"throw\", e);\n}, AsyncGenerator.prototype[\"return\"] = function (e) {\n  return this._invoke(\"return\", e);\n};\nmodule.exports = _wrapAsyncGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\nvar setPrototypeOf = require(\"./setPrototypeOf.js\");\nvar isNativeFunction = require(\"./isNativeFunction.js\");\nvar construct = require(\"./construct.js\");\nfunction _wrapNativeSuper(t) {\n  var r = \"function\" == typeof Map ? new Map() : void 0;\n  return module.exports = _wrapNativeSuper = function _wrapNativeSuper(t) {\n    if (null === t || !isNativeFunction(t)) return t;\n    if (\"function\" != typeof t) throw new TypeError(\"Super expression must either be null or a function\");\n    if (void 0 !== r) {\n      if (r.has(t)) return r.get(t);\n      r.set(t, Wrapper);\n    }\n    function Wrapper() {\n      return construct(t, arguments, getPrototypeOf(this).constructor);\n    }\n    return Wrapper.prototype = Object.create(t.prototype, {\n      constructor: {\n        value: Wrapper,\n        enumerable: !1,\n        writable: !0,\n        configurable: !0\n      }\n    }), setPrototypeOf(Wrapper, t);\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _wrapNativeSuper(t);\n}\nmodule.exports = _wrapNativeSuper, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n  regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n  if (typeof globalThis === \"object\") {\n    globalThis.regeneratorRuntime = runtime;\n  } else {\n    Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n  }\n}\n","'use strict';\n\nvar possibleNames = require('possible-typed-array-names');\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\n\n/** @type {import('.')} */\nmodule.exports = function availableTypedArrays() {\n\tvar /** @type {ReturnType<typeof availableTypedArrays>} */ out = [];\n\tfor (var i = 0; i < possibleNames.length; i++) {\n\t\tif (typeof g[possibleNames[i]] === 'function') {\n\t\t\t// @ts-expect-error\n\t\t\tout[out.length] = possibleNames[i];\n\t\t}\n\t}\n\treturn out;\n};\n","export const LIB_NAME = '@devsnc/ux-metrics';\n\nexport const DEFAULT_LEVEL = 5;\nexport const MIN_LEVEL = 0;\nexport const MAX_LEVEL = 5;\nexport const markTypes = {\n\tall: 'all',\n\tusage: 'usage',\n\tperformance: 'performance'\n};\n","import {mark, defineMetric, getMetricTypes, getInteractionId} from '@servicenow/ui-metrics';\nimport {DEFAULT_LEVEL, markTypes} from './constants';\nimport validateTrackArguments from './validateTrackArguments';\n\n/**\n * Track usage metric from seismic components\n * @function track\n *\n * @example\n * import track from '@devsnc/ux-metrics';\n * actionHandlers: {\n * \t\t[BUTTON_CLICKED_ACTION](coeffects) {\n *\t\t\ttrack(coeffects, 'BUTTON_CLICKED');\n *\t\t}\n * }\n *\n * @example\n * import track, {markTypes} from '@devsnc/ux-metrics';\n * actionHandlers: {\n * \t\t[BUTTON_CLICKED_ACTION](coeffects) {\n *\t\t\ttrack(\n *                  coeffects,\n *                  'BUTTON_CLICKED',\n *                  {\n *                      \"key\" : \"value\"\n *                  },\n *                  {\n *                      level: 3,\n *                      type: markTypes.usage\n *                  }\n *              );\n *          }\n *      }\n *\n * @param {Object} coeffects - Data object containing details of host, action object\n * @param {String} eventName - Name of the event to be tracked\n * @param {Object} metadata - (Optional) Additional data to be stored along with event name,\n * should be simple key value pairs\n * @param {Object} config - (Optional) Additional config data which is needed to\n * define the event level and type\n * @param {Number} config.level - (Optional) Verbosity level of the event, higher is more important\n * @param {String} config.type - (Optional) mark type of the event,which is one of\n * marktypes(all, usage, performance)\n */\nexport default function track(coeffects = {}, eventName, metadata = {}, config = {}) {\n\ttry {\n\t\tconst {level = DEFAULT_LEVEL, type = markTypes.usage} = config;\n\t\t// no validation in prod but we log error messages in dev environment.\n\t\tif (!validateTrackArguments(coeffects, eventName, metadata, level, type))\n\t\t\treturn;\n\t\tif (!getMetricTypes()[eventName])\n\t\t\tdefineMetric(eventName, level);\n\t\tconst {\n\t\t\thost,\n\t\t\taction: {meta}\n\t\t} = coeffects;\n\t\tconst interactionId = getInteractionId(meta) || '';\n\t\tmark(host, interactionId, eventName, metadata, type);\n\t} catch (err) {\n\t\t// Handle any error so that caller's execution thread is not impacted. Log error for non-prod environment\n\t\tif (process.env.NODE_ENV !== 'production')\n\t\t\tconsole.error('Error occurred in track function', err.message);\n\t}\n}\n","import track from './track.js';\nimport {markTypes} from './constants';\nimport {types} from '@servicenow/ui-metrics';\n\nexport default track;\nexport {\n\tmarkTypes,\n\ttypes\n};\n\nif (globalThis.nowUiFrameworkMetrics) \n\tglobalThis.nowUiFrameworkMetrics.track = track;\n\n","/**\n * Assigns the own enumerable properties of source objects to the destination object\n *\n * @param {Object} object - The destination object\n * @param {...Object} sources - The source objects to assign\n * @returns {Object} - The modified destination object\n */\nexport default function assign(object, ...sources) {\n\tif (!object) object = {};\n\tsources\n\t\t.filter((source) => source !== null && typeof source === 'object')\n\t\t.forEach((source) => {\n\t\t\tObject.keys(source).forEach((key) => {\n\t\t\t\tobject[key] = source[key];\n\t\t\t});\n\t\t});\n\n\treturn object;\n}\n","/**\n * Converts a string to camel case.\n *\n * This function converts the input string to camel case by removing any non-word characters\n * and capitalizing the first ltetter of each word, except for the first word which\n * is always lowercase. The resulting string has no spaces or punctuation and the first letter\n * is always lowercase.\n *\n * @param {string} str - The string to convert to camel case.\n * @returns {string} - The converted string in camel case.\n */\nexport default function camelCase(str) {\n\tif (!str) str = '';\n\tif (typeof str != 'string') str = str.toString();\n\n\tif (str.search(/[^a-zA-Z0-9]/) > -1) {\n\t\tstr = str.toLowerCase();\n\t} else if (str && str[0] == str[0].toUpperCase()) {\n\t\tstr = str[0].toLowerCase() + str.slice(1);\n\t}\n\n\tconst camelCaseStr = str\n\t\t.replace(/[\\W_]+(.|$)/g, (_m, p1) => p1.toUpperCase())\n\t\t.replace(/([0-9]+)([a-z])/g, (_m, p1, p2) => p1 + p2.toUpperCase());\n\n\treturn camelCaseStr.charAt(0).toLowerCase() + camelCaseStr.slice(1);\n}\n","/**\n * The compact function removes any fasy values and returns a new array with only non-falsy values\n * @param {*} array The array to be compacted\n * @returns {*} The compacted array with only non-falsy values\n */\nexport default function compact(array) {\n\tif (array && Array.isArray(array)) return array.filter(Boolean);\n\n\treturn [];\n}\n","/**\n * Creates a debounced function that delays invoking func until after wait milliseconds have elapsed\n * since the last time the debounced function was called.\n *\n * @param {Function} func The function to debounce.\n * @param {*} wait The number of milliseconds to delay.\n * @param {*} options The options object.\n * @returns {Function} Returns the new debounced function.\n */\nexport default function debounce(func, wait, options) {\n\tlet lastArgs,\n\t\tlastThis,\n\t\tmaxWait,\n\t\tresult,\n\t\ttimerId,\n\t\tlastCallTime,\n\t\tlastInvokeTime = 0,\n\t\tleading = false,\n\t\tmaxing = false,\n\t\ttrailing = true;\n\n\tif (typeof func != 'function') {\n\t\tthrow new TypeError('func is not a function');\n\t}\n\twait = parseInt(wait) || 0;\n\tif (typeof options == 'object') {\n\t\tleading = !!options.leading;\n\t\tmaxing = 'maxWait' in options;\n\t\tmaxWait = maxing ? Math.max(Number(options.maxWait) || 0, wait) : maxWait;\n\t\ttrailing = 'trailing' in options ? !!options.trailing : trailing;\n\t}\n\n\tfunction invokeFunc(time) {\n\t\tlet args = lastArgs,\n\t\t\tthisArg = lastThis;\n\n\t\tlastArgs = lastThis = undefined;\n\t\tlastInvokeTime = time;\n\t\tresult = func.apply(thisArg, args);\n\t\treturn result;\n\t}\n\n\tfunction leadingEdge(time) {\n\t\tlastInvokeTime = time;\n\t\ttimerId = setTimeout(timerExpired, wait);\n\t\treturn leading ? invokeFunc(time) : result;\n\t}\n\n\tfunction remainingWait(time) {\n\t\tlet timeSinceLastCall = time - lastCallTime,\n\t\t\ttimeSinceLastInvoke = time - lastInvokeTime,\n\t\t\ttimeWaiting = wait - timeSinceLastCall;\n\n\t\treturn maxing\n\t\t\t? Math.min(timeWaiting, maxWait - timeSinceLastInvoke)\n\t\t\t: timeWaiting;\n\t}\n\n\tfunction shouldInvoke(time) {\n\t\tlet timeSinceLastCall = time - lastCallTime,\n\t\t\ttimeSinceLastInvoke = time - lastInvokeTime;\n\n\t\t// Either this is the first call, activity has stopped and we're at the\n\t\t// trailing edge, the system time has gone backwards and we're treating\n\t\t// it as the trailing edge, or we've hit the `maxWait` limit.\n\t\treturn (\n\t\t\tlastCallTime === undefined ||\n\t\t\ttimeSinceLastCall >= wait ||\n\t\t\ttimeSinceLastCall < 0 ||\n\t\t\t(maxing && timeSinceLastInvoke >= maxWait)\n\t\t);\n\t}\n\n\tfunction timerExpired() {\n\t\tlet time = Date.now();\n\t\tif (shouldInvoke(time)) {\n\t\t\treturn trailingEdge(time);\n\t\t}\n\t\ttimerId = setTimeout(timerExpired, remainingWait(time));\n\t}\n\n\tfunction trailingEdge(time) {\n\t\ttimerId = undefined;\n\n\t\t// Only invoke if we have `lastArgs` which means `func` has been\n\t\t// debounced at least once.\n\t\tif (trailing && lastArgs) {\n\t\t\treturn invokeFunc(time);\n\t\t}\n\t\tlastArgs = lastThis = undefined;\n\t\treturn result;\n\t}\n\n\tfunction cancel() {\n\t\tif (timerId !== undefined) {\n\t\t\tclearTimeout(timerId);\n\t\t}\n\t\tlastInvokeTime = 0;\n\t\tlastArgs = lastCallTime = lastThis = timerId = undefined;\n\t}\n\n\tfunction flush() {\n\t\treturn timerId === undefined ? result : trailingEdge(Date.now());\n\t}\n\n\tfunction debounced() {\n\t\tlet time = Date.now(),\n\t\t\tisInvoking = shouldInvoke(time);\n\n\t\tlastArgs = arguments;\n\t\tlastThis = this;\n\t\tlastCallTime = time;\n\n\t\tif (isInvoking) {\n\t\t\tif (timerId === undefined) {\n\t\t\t\treturn leadingEdge(lastCallTime);\n\t\t\t}\n\t\t\tif (maxing) {\n\t\t\t\tclearTimeout(timerId);\n\t\t\t\ttimerId = setTimeout(timerExpired, wait);\n\t\t\t\treturn invokeFunc(lastCallTime);\n\t\t\t}\n\t\t}\n\t\tif (timerId === undefined) {\n\t\t\ttimerId = setTimeout(timerExpired, wait);\n\t\t}\n\t\treturn result;\n\t}\n\tdebounced.cancel = cancel;\n\tdebounced.flush = flush;\n\treturn debounced;\n}\n","/**\n * Checks if a value is null, undefined, or NaN, and returns a default value if it is.\n *\n * @param {*} value - The value to check.\n * @param {*} defaultValue - The default value to return if `value` is null, undefined, or NaN.\n * @returns {*} The original value if it is not null, undefined, or NaN, or `defaultValue` otherwise.\n */\nexport default function defaultTo(value, defaultValue) {\n\treturn value != null && value === value ? value : defaultValue;\n}\n","/**\n * Creates an array of unique values that are included in the first array, but not in the other\n *\n * @param {Array} array - The array to inspect\n * @param {*} [values] - The arrays of values to exclude\n * @returns {Array} - The new array of filtered values\n */\nexport default function difference(array, ...values) {\n\tif (!array) array = [];\n\tconst validValues = [];\n\tfor (const val of values) {\n\t\tif (Array.isArray(val)) validValues.push(val);\n\t}\n\tconst excludedValues = new Set(validValues.flat());\n\treturn array.filter((value) => !excludedValues.has(value));\n}\n","/**\n * Escapes the characters in a string for use in HTML.\n *\n * Replaces '&', '<', '>', '\"', and \"'\" with their corresponding HTML counterparts in the input string\n * @param {string} string - The string to escape\n * @returns {string} - The escaped string\n */\nexport default function escape(string) {\n\tif (!string) return '';\n\tconst htmlEscapes = {\n\t\t'&': '&amp;',\n\t\t'<': '&lt;',\n\t\t'>': '&gt;',\n\t\t'\"': '&quot;',\n\t\t\"'\": '&#39;'\n\t};\n\tconst escapePattern = new RegExp(\n\t\t`[${Object.keys(htmlEscapes).join('')}]`,\n\t\t'g'\n\t);\n\treturn string\n\t\t.toString()\n\t\t.replace(escapePattern, (match) => htmlEscapes[match]);\n}\n","/**\n * Creates a new array or object with all elements that pass the test implemented by the provided function.\n *\n * @param {Array|Object} collection - The array or object to iterate over.\n * @param {Function} predicate - The function to test each element of the collection.\n * @returns {Array|Object} A new array or object with the filtered results.\n */\nexport default function filter(collection, predicate) {\n\tif (!collection || !predicate) return [];\n\tif (typeof predicate !== 'function') predicate = () => true;\n\tif (!Array.isArray(collection))\n\t\treturn Array.prototype.filter.call(Object.values(collection), predicate);\n\n\treturn Array.prototype.filter.call(collection, predicate);\n}\n","/**\n * Iterates over elements of a collection, returning the first element predicate returns truthy for.\n *\n * @param {Array|Object} collection - The collection to iterate over.\n * @param {Function} predicate - The function invoked per iteration.\n * @param {number} [fromIndex=0] - The index to start searching from.\n * @returns {*} - Returns the matched element, else `undefined`.\n */\nexport default function find(collection, predicate, fromIndex = 0) {\n\tif (typeof collection === 'string') collection = Array.from(collection);\n\tif (!collection || typeof collection !== 'object') {\n\t\tthrow new TypeError('Expected collection to be of type Array or Object');\n\t}\n\n\tconst isObject = !Array.isArray(collection) && typeof collection === 'object';\n\tconst entries = Object.entries(collection);\n\tif (!predicate && Array.isArray(collection)) {\n\t\treturn collection[0];\n\t} else if (!predicate) {\n\t\treturn entries[0][1];\n\t}\n\n\tif (\n\t\t!Array.isArray(predicate) &&\n\t\ttypeof predicate !== 'function' &&\n\t\ttypeof predicate !== 'object'\n\t) {\n\t\treturn undefined;\n\t}\n\n\tconst length = entries.length;\n\tconst iteratee =\n\t\ttypeof predicate === 'function'\n\t\t\t? predicate\n\t\t\t: (obj) => {\n\t\t\t\t\tif (Array.isArray(predicate)) {\n\t\t\t\t\t\tconst [propName, value] = predicate;\n\t\t\t\t\t\treturn obj[propName] === value;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfor (const key in predicate) {\n\t\t\t\t\t\t\tif (obj[key] !== predicate[key]) {\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t  };\n\n\tconst index =\n\t\tfromIndex < 0 ? Math.max(collection.length + fromIndex, 0) : fromIndex;\n\tfor (let i = index; i < length; i++) {\n\t\tconst key = entries[i][0];\n\t\tconst value = entries[i][1];\n\t\tif (iteratee(value, key, collection)) {\n\t\t\treturn isObject ? value : collection[key];\n\t\t}\n\t}\n\treturn undefined;\n}\n","/**\n * Iterates over an object's own properties and returns the first key that\n * satisfies a given condition.\n *\n * @param {Object} object - The object to iterate over.\n * @param {Function} predicate - The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the first element that satisfies the predicate,\n *  or undefined if no element satisfies the predicate.\n */\nexport default function findKey(object, predicate) {\n\tif (!object) return undefined;\n\tif (!predicate || typeof predicate != 'function') return undefined;\n\tfor (const key in object)\n\t\tif (\n\t\t\tObject.prototype.hasOwnProperty.call(object, key) &&\n\t\t\tpredicate(object[key], key, object)\n\t\t)\n\t\t\treturn key;\n}\n","/**\n * Gets the first element of an array or the first key-value pair of an object.\n *\n * @param {Array} collection - The collection to get the first element from.\n * @returns {*} - Returns the first element of the collection or undefined if the collection is empty.\n */\nexport default function first(collection) {\n\tif (!Array.isArray(collection)) return undefined;\n\treturn collection[0];\n}\n","/**\n * Creates a flattened array of values by running each element in a collection through a mapping\n * function and flattening the mapped results before returning them.\n *\n * @param {Array|Object} collection - The collection to iterate over.\n * @param {*} iteratee - The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n */\nexport default function flatMap(collection, iteratee) {\n\tif (!collection) return [];\n\tif (!iteratee || typeof iteratee != 'function') iteratee = (elm) => elm;\n\tconst result = [];\n\n\tfor (let i = 0; i < collection.length; i++) {\n\t\tconst mapped = iteratee(collection[i]);\n\n\t\tif (Array.isArray(mapped)) {\n\t\t\tresult.push.apply(result, mapped);\n\t\t} else {\n\t\t\tresult.push(mapped);\n\t\t}\n\t}\n\n\treturn result;\n}\n","/**\n * Iterates over elements of collection and invokes iteratee for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning false.\n *\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {*} Returns collection.\n */\nexport default function forEach(collection, iteratee) {\n\tif (typeof iteratee !== 'function') iteratee = (v) => v;\n\n\tif (Array.isArray(collection)) {\n\t\tcollection.forEach((element, index, array) =>\n\t\t\titeratee(element, index, array)\n\t\t);\n\t} else if (collection) {\n\t\tObject.keys(collection).forEach((key) =>\n\t\t\titeratee(collection[key], key, collection)\n\t\t);\n\t}\n\n\treturn collection;\n}\n","/**\n * Iterates over own enumerable string keyed properties of an object and invokes iteratee for each property.\n * The iteratee is invoked with three arguments: (value, key, object).\n * Iteratee functions may exit iteration early by explicitly returning false.\n *\n * @param {Object} object The object to iterate over.\n * @param {function} iteratee  The function invoked per iteration\n * @returns {Object}: Returns object.\n */\nexport default function forOwn(object, iteratee) {\n\tif (object && typeof object === 'object') {\n\t\tif (!iteratee) iteratee = (v) => v;\n\t\tObject.keys(object).forEach((key) => iteratee(object[key], key, object));\n\t}\n\n\treturn object;\n}\n","/**\n * The isEmpty function determines if a given value is empty or not.\n * @param {any} value The value to check\n * @returns {boolean} True if the value is empty, false otherwise\n */\nexport default function isEmpty(value) {\n\tif (value == null) return true;\n\tif (typeof value === 'string' || Array.isArray(value))\n\t\treturn value.length === 0;\n\tif (typeof value === 'object') return Object.keys(value).length === 0;\n\n\treturn false;\n}\n","import isEmpty from './isEmpty.js';\n/**\n * The get function returns the value of the nested property within object, specified by path.\n * If no value is found, an optional default value is returned, or undefined if no default value is given.\n * @param {object} object The object to find a value on specified by path\n * @param {*} path The path from the object to be resolved\n * @param {*} defaultValue Returned if the path cannot be resolved, defaults to undefined if not provided\n * @returns {object} The nested value within object speficied by path, or defaultValue if the path cannot be resolved\n */\nexport default function get(object, path, defaultValue) {\n\tif (!path || isEmpty(path)) {\n\t\treturn defaultValue;\n\t}\n\tconst keys = Array.isArray(path)\n\t\t? path\n\t\t: path\n\t\t\t\t.toString()\n\t\t\t\t.split(/[[\\].]/)\n\t\t\t\t.filter(Boolean);\n\n\tlet value = object;\n\tfor (const key of keys) {\n\t\tif (value == null) break;\n\n\t\tif (Array.isArray(value) && /^\\d+$/.test(key)) {\n\t\t\tconst index = parseInt(key, 10);\n\t\t\tvalue = value[index];\n\t\t} else {\n\t\t\tvalue = value[key];\n\t\t}\n\t}\n\n\treturn value === undefined ? defaultValue : value;\n}\n","/**\n * Checks if the value is instance of Object\n * @param {*} input The input parameter.\n * @returns {boolean} - Returns true when the value is of type Object, else false.\n */\nexport default function isObject(input) {\n\tvar type = typeof input;\n\treturn input != null && (type == 'object' || type == 'function');\n}\n","import isObject from './isObject.js';\n\n/**\n * The has method is used to check whether the path is a direct property of object or not.\n * @param {*} object - The object to check for the property on\n * @param {*} path  - A string or array representing the path\n * @returns {boolean} true if the path is a direct property of object, false otherwise\n */\nexport default function has(object, path) {\n\tif (!isObject(object) || !path) return false;\n\n\tconst pathSegments = Array.isArray(path) ? path : path.split('.');\n\n\tfor (let i = 0; i < pathSegments.length; i++) {\n\t\tconst segment = pathSegments[i];\n\t\tconst openBracketInd = segment.toString().indexOf('[');\n\t\tconst closeBracketInd = segment.toString().indexOf(']');\n\t\tif (openBracketInd > -1) {\n\t\t\tconst arr = segment.substring(0, openBracketInd);\n\t\t\tconst index = parseInt(\n\t\t\t\tsegment.substring(openBracketInd + 1, closeBracketInd)\n\t\t\t);\n\t\t\tif (!object || !(arr in object)) return false;\n\t\t\tobject = object[arr];\n\t\t\treturn index < object.length && index >= 0;\n\t\t}\n\t\tif (!object || !(segment in object)) return false;\n\t\tobject = object[segment];\n\t}\n\n\treturn true;\n}\n","/**\n * Checks if `path` is a direct or inherited property of `object`.\n * Checks if `path` key is a direct or inherited property of `object`.\n *\n * @param {Object} object The object to query.\n * @param {string | array} key The path to check.\n * @returns {boolean} Returns `true` if key path exists in object, else `false`.\n */\nexport default function hasIn(object, key) {\n\tif (!object) return false;\n\n\tif (Array.isArray(key)) {\n\t\tlet currObj = object;\n\t\tfor (let i = 0; i < key.length; i++) {\n\t\t\tlet k = key[i];\n\t\t\tif (!(k in currObj)) return false;\n\t\t\tcurrObj = currObj[k];\n\t\t}\n\t\treturn true;\n\t} else return key in object;\n}\n","/**\n * This method returns the first argument provided to it.\n * @param {*} input any Value\n * @returns Returns Value.\n */\nexport default function identity(input) {\n\treturn input;\n}\n","/**\n * Checks if a value is in a collection. Returns true if the value is found, else false.\n *\n * @param {Array|Object|string} collection - The collection to inspect.\n * @param {*} value - The value to search for.\n * @param {number} [fromIndex=0] - The index to start searching from.\n * @returns {boolean} - Returns true if the value is found, else false.\n */\nexport default function includes(collection, value, fromIndex = 0) {\n\tif (typeof collection === 'string') {\n\t\treturn collection.indexOf(value, fromIndex) !== -1;\n\t}\n\n\tif (Array.isArray(collection)) {\n\t\tfor (let i = fromIndex; i < collection.length; i++) {\n\t\t\tif (collection[i] === value) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tfor (const key in collection) {\n\t\t\tif (Object.prototype.hasOwnProperty.call(collection, key)) {\n\t\t\t\tif (collection[key] === value) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn false;\n}\n","/**\n *  takes a number, and checks to see if it is between given start and end parameters.\n *  If the end is not specified, then it is set equal to the start,\n *  and then the start is set equal to 0. If the start is greater\n *  than the end the parameters are swapped to support negative ranges\n *\n * @param {number} number This parameter holds the number to check.\n * @param {number} start This parameter holds the start value of the range.\n * @param {number} end This parameter holds the end value of the range.\n * @returns\n */\nexport default function inRange(number, start, end) {\n\tif (end === undefined) {\n\t\tend = start;\n\t\tstart = 0;\n\t}\n\n\tif (start > end) {\n\t\t[start, end] = [end, start];\n\t}\n\n\treturn number >= start && number < end;\n}\n","/**\n * Checks if value is classified as an `Array` object\n * @param {*} input Input array parameter\n * @returns Returns boolean true or false.\n */\nexport default function isArray(input) {\n\treturn Array.isArray(input);\n}\n","/**\n * Checks if a value is a boolean.\n *\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.\n */\nexport default function isBoolean(value) {\n\treturn typeof value === 'boolean';\n}\n","/**\n * Performs a deep comparison between two values to determine if they are equivalent.\n *\n * @param {*} value - The value to compare.\n * @param {*} other - The other value to compare.\n * @returns {boolean} Returns true if the values are equivalent, else false.\n */\nexport default function isEqual(value, other) {\n\tif (value === other) {\n\t\treturn true;\n\t}\n\n\tif (typeof value !== typeof other || value === null || other === null) {\n\t\treturn false;\n\t}\n\n\tif (typeof value !== 'object') {\n\t\treturn false;\n\t}\n\n\tconst valueTag = Object.prototype.toString.call(value);\n\tconst otherTag = Object.prototype.toString.call(other);\n\n\tif (valueTag !== otherTag) {\n\t\treturn false;\n\t}\n\n\tif (valueTag === '[object Array]') {\n\t\tconst length = value.length;\n\n\t\tif (length !== other.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tfor (let i = 0; i < length; i++) {\n\t\t\tif (!isEqual(value[i], other[i])) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tif (valueTag === '[object Object]') {\n\t\tconst valueKeys = Object.keys(value);\n\t\tconst otherKeys = Object.keys(other);\n\n\t\tif (valueKeys.length !== otherKeys.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tfor (let key of valueKeys) {\n\t\t\tif (\n\t\t\t\t!Object.prototype.hasOwnProperty.call(other, key) ||\n\t\t\t\t!isEqual(value[key], other[key])\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t}\n\n\treturn false;\n}\n","/**\n * The isFunction method determines if a given value is a function type or not\n * @param {any} value The value to check if it is a function or not\n * @returns {boolean} True if value is of type function, false otherwise\n */\nexport default function isFunction(value) {\n\treturn typeof value === 'function';\n}\n","/**\n * Checks if a value is classified as a Map object.\n *\n * @param {*} value - The value to check.\n * @returns {boolean} Returns true if the value is a Map object, else false.\n */\nexport default function isMap(value) {\n\treturn Object.prototype.toString.call(value) === '[object Map]';\n}\n","/**\n * Checks if value is null or undefined\n * @param input - input parameter\n * @returns {boolean} value true if the input is null or undefined, else returns false.\n */\nexport default function isNil(input) {\n\treturn input == null;\n}\n","/**\n * Checks if a value is `null`.\n *\n * @param {*} value - The value to check.\n * @returns {boolean} - Returns `true` if the value is `null`, else `false`.\n */\nexport default function isNull(value) {\n\treturn value === null;\n}\n","/**\n * Checks if value is classified as a Number primitive or object.\n * @param {*} input Input parameter to check.\n * @returns Returns true if value is correctly classified, else false.\n */\nexport default function isNumber(input) {\n\treturn typeof input === 'number';\n}\n","/**\n * Checks if a value is a plain object, i.e. an object created by the Object constructor or with a null prototype\n *\n * @param {Object} value - The value to check\n * @returns {boolean} - True if the value is a plain object, false otherwise\n */\nexport default function isPlainObject(value) {\n\tif (typeof value !== 'object' || value === null) return false;\n\n\tconst proto = Object.getPrototypeOf(value);\n\treturn proto === null || proto === Object.prototype;\n}\n","/**\n * Checks if value is classified as a String primitive or object.\n * @param input - Input parameter to determine whether it is a string\n * @returns {boolean} Returns true if the value is of type String, else false.\n */\nexport default function isString(input) {\n\treturn typeof input === 'string';\n}\n","/**\n * The function checks if value is undefined.\n * @param input - The input parameter.\n * @returns returns a boolean true or false whether the input is undefined.\n */\nexport default function isUndefined(input) {\n\treturn typeof input === 'undefined';\n}\n","/**\n * Converts a string to kebab case, i.e. all words are separated by hyphens.\n * If the input string is already in kebab case, it is returned unchanged.\n *\n * @param {string} str - The input string to convert to kebab case.\n * @returns {string} The input string converted to kebab case, or the input string itself if it is already in kebab case.\n */\nexport default function kebabCase(str) {\n\tif (!str) return '';\n\n\treturn str\n\t\t.toString()\n\t\t.replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n\t\t.replace(/([a-zA-Z])(\\d)/g, '$1-$2')\n\t\t.replace(/(\\d)([a-zA-Z])/g, '$1-$2')\n\t\t.replace(/[^a-zA-Z0-9]+/g, '-')\n\t\t.toLowerCase()\n\t\t.replace(/(^-|-$)/g, '');\n}\n","/**\n * Creates a new array or object with the results of calling a provided function on every element in the input array or object.\n *\n * @param {Array|Object} collection - The array or object to iterate over.\n * @param {Function} iteratee - The function to call on each element of the collection.\n * @returns {Array|Object} A new array or object with the mapped results.\n */\nexport default function map(collection, iteratee) {\n\tif (!collection) {\n\t\treturn [];\n\t}\n\tif (typeof collection === 'string') {\n\t\tcollection = Array.from(collection);\n\t}\n\tif (!iteratee) {\n\t\treturn Array.isArray(collection) ? collection : Object.values(collection);\n\t}\n\tconst result = [];\n\tif (Array.isArray(collection)) {\n\t\tif (typeof iteratee === 'string') {\n\t\t\tfor (let i = 0; i < collection.length; i++) {\n\t\t\t\tif (i in collection) {\n\t\t\t\t\tresult.push(collection[i][iteratee]);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (typeof iteratee === 'object') {\n\t\t\tfor (let i = 0; i < collection.length; i++) {\n\t\t\t\tif (i in collection) {\n\t\t\t\t\tconst defaultValue =\n\t\t\t\t\t\titeratee.default !== undefined ? iteratee.default : false;\n\t\t\t\t\tconst valueAtPath = iteratee.path\n\t\t\t\t\t\t.split('.')\n\t\t\t\t\t\t.reduce((obj, key) => obj && obj[key], collection[i]);\n\t\t\t\t\tresult.push(valueAtPath !== undefined ? valueAtPath : defaultValue);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor (let i = 0; i < collection.length; i++) {\n\t\t\t\tif (i in collection) {\n\t\t\t\t\tresult.push(iteratee(collection[i], i, collection));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else if (typeof collection === 'object') {\n\t\tfor (const [key, value] of Object.entries(collection)) {\n\t\t\tif (typeof iteratee === 'function') {\n\t\t\t\tresult.push(iteratee(value, key));\n\t\t\t} else if (typeof iteratee === 'string') {\n\t\t\t\tresult.push(value[iteratee]);\n\t\t\t} else if (typeof iteratee === 'object') {\n\t\t\t\tconst defaultValue =\n\t\t\t\t\titeratee.default !== undefined ? iteratee.default : false;\n\t\t\t\tconst valueAtPath = iteratee.path\n\t\t\t\t\t.split('.')\n\t\t\t\t\t.reduce((obj, key) => obj && obj[key], value);\n\t\t\t\tresult.push(valueAtPath !== undefined ? valueAtPath : iteratee.default);\n\t\t\t}\n\t\t}\n\t}\n\treturn result;\n}\n","/**\n *\n * @param {Object} inputObj The object to iterate over.\n * @param {*} iteratee The function call that is invoked per iteration.\n * @returns {Object} Undefined if the input is null or undefined, else a new mapped object with the same values as the object\n * and the keys created by running each of the object's own enumerable string keys through the iteratee.\n */\nexport default function mapKeys(inputObj, iteratee) {\n\tif (!iteratee) return mapKeys(inputObj, (v) => v);\n\tif (typeof iteratee === 'string') {\n\t\treturn mapKeys(inputObj, (key) => {\n\t\t\tconst {[iteratee]: newKey} = key;\n\t\t\treturn newKey;\n\t\t});\n\t} else if (inputObj === null || typeof inputObj !== 'object') return {};\n\tconst result = {};\n\tconst hasOwnProperty = Object.prototype.hasOwnProperty;\n\tfor (const key in inputObj) {\n\t\tif (hasOwnProperty.call(inputObj, key)) {\n\t\t\tresult[iteratee(inputObj[key], key)] = inputObj[key];\n\t\t}\n\t}\n\treturn result;\n}\n","/*\n * Creates an object with the same keys as object and values generated by running\n * each own enumerable string keyed property of object thru iteratee.\n * The iteratee is invoked with three arguments: (value, key, object).\n *\n * @param {Object} object The object to be mapped.\n * @param {*} iteratee String property or function to map object value.\n * @returns {Object} Returns new mapped object\n */\nexport default function mapValues(object, iteratee) {\n\tif (iteratee != null && typeof iteratee !== 'function')\n\t\treturn mapValues(object, (value) => {\n\t\t\tconst {[iteratee]: newValue} = value;\n\t\t\treturn newValue;\n\t\t});\n\n\tif (!iteratee) return mapValues(object, (v) => v);\n\n\tlet result = {};\n\tif (!object) return result;\n\n\tfor (const [key, value] of Object.entries(object)) {\n\t\tresult[key] = iteratee(value, key, object);\n\t}\n\n\treturn result;\n}\n","/**\n * This method is like merge except that it accepts customizer which is invoked to produce\n * the merged values of the destination and source properties. If customizer returns undefined,\n * merging is handled by the method instead. The customizer is invoked with five arguments:\n * (objValue, srcValue, key, object, source). This method mutates object.\n *\n * Note: A simplified version of mergeWith without stack to cover the current use case in getConsolidedConfig\n *\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns object.\n */\nexport default function mergeWith(object, source, customizer) {\n\tif (!object) object = {};\n\n\tif (!source) return object;\n\n\tfor (const [key, value] of Object.entries(source)) {\n\t\tconst result = customizer(object[key], value, key, object, source);\n\n\t\tif (result === undefined) {\n\t\t\tobject[key] = mergeUndefinedResult(object[key], value, customizer);\n\t\t} else {\n\t\t\tobject[key] = result;\n\t\t}\n\t}\n\n\treturn object;\n}\n\nfunction mergeUndefinedResult(objValue, srcValue, customizer) {\n\tif (typeof srcValue === 'object' && typeof objValue === 'object') {\n\t\treturn mergeWith(objValue, srcValue, customizer);\n\t}\n\n\treturn srcValue;\n}\n","/**\n * Creates a function that negates the result of the given predicate function.\n *\n * @param {Function} predicate The predicate function to negate.\n * @returns {Function} Returns the new negated function.\n */\nexport default function negate(predicate) {\n\treturn function(...args) {\n\t\treturn !predicate(...args);\n\t};\n}\n","/**\n * A function that does nothing.\n */\nexport default function noop() {}\n","/**\n * Creates an object composed of the own and inherited enumerable property paths of `object` that are not omitted.\n *\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to omit.\n * @returns {Object} Returns the new object.\n */\nexport default function omit(object, ...paths) {\n\tif (!object) return {};\n\tif (!paths) return object;\n\tconst result = {};\n\tconst pathsToOmit = paths.flat();\n\n\tfor (const key in object) {\n\t\tif (pathsToOmit.includes(key)) continue;\n\n\t\tresult[key] = object[key];\n\t}\n\n\treturn result;\n}\n","/**\n * Invokes `func` with `partials` prepended to the arguments it receives,\n * without altering the `this` value.\n *\n * Invokes `func` with `partials` prepended to the arguments it receives.\n * Returns the new function.\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} partials The arguments to partially apply to the function.\n * @returns {Function} Returns the new partially applied function.\n */\nexport default function partial(func, ...partials) {\n\tif (typeof func != 'function')\n\t\tthrow new TypeError('Expected func to be of type function');\n\treturn function(...args) {\n\t\tconst fullArgs = partials\n\t\t\t.map((partialArg) =>\n\t\t\t\tpartialArg === partial.placeholder ? args.shift() : partialArg\n\t\t\t)\n\t\t\t.concat(args);\n\t\treturn func.apply(this, fullArgs);\n\t};\n}\npartial.placeholder = Symbol();\n","/**\n * Creates an array of elements split into two groups, the first of which contains elements predicate returns truthy for,\n * while the second of which contains elements predicate returns falsey for.\n * The predicate is invoked with three arguments: (value, index|key, collection).\n * @param {Array|Object} collection The collection to iterate over.\n * @param {function} predicate The function invoked per iteration.\n * @returns Returns the array of grouped elements.\n */\nexport default function partition(collection, predicate) {\n\tif (!predicate || typeof predicate != 'function')\n\t\treturn partition(collection, (v) => v);\n\tconst isArray = Array.isArray(collection);\n\tvar truthy;\n\tvar falsy;\n\tif (isArray) {\n\t\ttruthy = [];\n\t\tfalsy = [];\n\t\tfor (const element of collection) {\n\t\t\tif (predicate(element)) {\n\t\t\t\ttruthy.push(element);\n\t\t\t} else {\n\t\t\t\tfalsy.push(element);\n\t\t\t}\n\t\t}\n\t} else if (typeof collection === 'object') {\n\t\ttruthy = {};\n\t\tfalsy = {};\n\t\tfor (const key in collection) {\n\t\t\tif (Object.prototype.hasOwnProperty.call(collection, key)) {\n\t\t\t\tconst value = collection[key];\n\t\t\t\tif (predicate(value)) {\n\t\t\t\t\ttruthy[key] = value;\n\t\t\t\t} else {\n\t\t\t\t\tfalsy[key] = value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else if (typeof collection === 'string') {\n\t\ttruthy = '';\n\t\tfalsy = '';\n\t\tfor (const char of collection) {\n\t\t\tif (predicate(char)) {\n\t\t\t\ttruthy += char;\n\t\t\t} else {\n\t\t\t\tfalsy += char;\n\t\t\t}\n\t\t}\n\t}\n\treturn [truthy, falsy];\n}\n","/**\n * Reduces the array to a single value by repeatedly calling a callback function\n * @param {Array|Object} collection - The array to iterate over\n * @param {Function} iteratee  - the function that will be called on each item\n * @param {*} accumulator  - the initial value of the accumulator. If one is not provided, the first element in the array will be used\n * @returns {*} The final value of the accumulator\n */\nexport default function reduce(collection, iteratee, accumulator) {\n\tif (!iteratee || typeof iteratee != 'function') return undefined;\n\tconst isArray = Array.isArray(collection);\n\tif (typeof collection === 'string') collection = Array.from(collection);\n\tif (!collection || (!isArray && typeof collection != 'object')) return {};\n\n\tconst keys = Object.keys(collection);\n\tconst length = keys.length;\n\tlet index = -1;\n\n\tif (arguments.length < 3) {\n\t\tif (length === 0) return undefined;\n\t\taccumulator = collection[keys[++index]];\n\t}\n\n\twhile (++index < length) {\n\t\tconst key = isArray ? index : keys[index];\n\t\taccumulator = iteratee(accumulator, collection[key], key, collection);\n\t}\n\n\treturn accumulator;\n}\n","/**\n * The set function allows you to set the value of a nested property of an object\n * @param {object} object The object with the property to be set\n * @param {*} path The path of the property to set\n * @param {*} value The value to set\n * @return {*} Returns the modified object\n */\nexport default function set(object, path, value) {\n\tif (path == null) return object;\n\n\tif (typeof path === 'string') {\n\t\tpath = path\n\t\t\t.split(/\\.|\\[|\\]/g)\n\t\t\t.filter(Boolean)\n\t\t\t.map((part) => {\n\t\t\t\treturn isNaN(part) ? part : Number(part);\n\t\t\t});\n\t}\n\n\tpath.reduce((curr, key, index) => {\n\t\tif (index === path.length - 1) curr[key] = value;\n\t\telse {\n\t\t\tif (typeof key === 'number') {\n\t\t\t\tif (!Array.isArray(curr)) curr = [];\n\t\t\t\tif (curr[key] === undefined) curr[key] = {};\n\t\t\t} else {\n\t\t\t\tif (!curr[key]) curr[key] = {};\n\t\t\t}\n\t\t\treturn curr[key];\n\t\t}\n\t}, object);\n\n\treturn object;\n}\n","/**\n * Converts a string to `snake_case` format.\n * If the input string is already in `snake_case` format, returns it as-is.\n *\n * @param {string} str - The input string to convert.\n * @returns {string} The input string in `snake_case` format.\n */\nexport default function snakeCase(str) {\n\tif (!str) return '';\n\n\treturn str\n\t\t.toString()\n\t\t.replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n\t\t.replace(/([a-zA-Z])(\\d)/g, '$1-$2')\n\t\t.replace(/(\\d)([a-zA-Z])/g, '$1-$2')\n\t\t.replace(/[^a-zA-Z0-9]+/g, '_')\n\t\t.toLowerCase()\n\t\t.replace(/(^_|_$)/g, '');\n}\n","/**\n * Checks if predicate returns truthy for any element of collection. Iteration is stopped once predicate returns truthy.\n * The predicate is invoked with three arguments: (value, index|key, collection)\n * @param {Array|Object} collection The collection to iterate over.\n * @param {function} predicate The function invoked per iteration.\n */\nexport default function some(collection, predicate) {\n\tif (predicate === undefined) return collection.length > 0;\n\telse if (typeof predicate !== 'function') return false;\n\telse if (Array.isArray(collection)) {\n\t\tfor (let i = 0; i < collection.length; i++) {\n\t\t\tif (predicate(collection[i], i, collection)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t} else if (collection !== null && typeof collection === 'object') {\n\t\tfor (const [key, value] of Object.entries(collection)) {\n\t\t\tif (predicate(value, key, collection)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t} else if (typeof collection === 'string') {\n\t\tfor (let i = 0; i < collection.length; i++) {\n\t\t\tif (predicate(collection.charAt(i), i, collection)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n}\n","/**\n * Converts a string to lower case.\n *\n * @param {*} str - The input to convert.\n * @returns {string} The input string in lower case.\n */\nexport default function toLower(str) {\n\tif (!str) return '';\n\treturn str.toString().toLowerCase();\n}\n","import isEqual from './isEqual.js';\n\n/**\n * Creates an array of unique values, in order, from all given arrays.\n *\n * @param {...Array} arrays - The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n */\nexport default function union(...arrays) {\n\tif (!arrays) return [];\n\tconst uniqueObjects = arrays.filter(Boolean).reduce((acc, currentArray) => {\n\t\tcurrentArray.forEach((item) => {\n\t\t\tif (!acc.some((accItem) => isEqual(accItem, item))) {\n\t\t\t\tacc.push(item);\n\t\t\t}\n\t\t});\n\t\treturn acc;\n\t}, []);\n\treturn uniqueObjects;\n}\n","/**\n * This method returns an array with unique elements\n * @param array - An array which is the input to the uniq() function. It can be List or null or undefined\n * @returns {Array} - The modified destination object\n */\nexport default function uniq(array) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('uniq: expects an array as input');\n\t}\n\treturn [...new Set(array)];\n}\n","/**\n * This method is like `uniq` except that it accepts a iteratee which is\n * invoked for each element in array to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @param {Array} array The array to inspect.\n * @param {Function} iteratee The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nexport default function uniqBy(array, iteratee) {\n\tif (!array || array.length == 0) return [];\n\tif (typeof iteratee != 'function') return Array.of(array[0]);\n\tconst seen = new Set();\n\treturn array.filter((value) => {\n\t\tconst computedValue = iteratee(value);\n\t\tif (!seen.has(computedValue)) {\n\t\t\tseen.add(computedValue);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t});\n}\n","/**\n * Creates an array of the own enumerable property values of object.\n *\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property values.\n */\nexport default function values(object) {\n\tif (!object || typeof object != 'object') return [];\n\treturn Object.values(object);\n}\n","// @ts-nocheck\n/**\n * In the browser, importing axe-core/axe.min.js will register to the window. In webpack it will\n * be parsed as a commonjs module, so it won't be on the window. In this file we conditionally\n * export from the window, or a webpack specific module import.\n */\n\n/* eslint-disable global-require, import/no-mutable-exports */\nexport let axe;\n\nexport async function loadAxe() {\n  if (window.axe) {\n    // axe was already imported before\n    axe = window.axe;\n    return;\n  }\n\n  if (typeof require === 'function') {\n    // we are in a webpack environment\n    axe = require('axe-core/axe.min.js');\n    return;\n  }\n\n  // regular behavior, load axe as an es module and let it\n  // register to the window\n  await import('axe-core/axe.min.js');\n  if (!window.axe) {\n    throw new Error(\n      'Error importing axe-core/axe.min.js, are you using a bundler or build tool that doesnt handle es modules?',\n    );\n  }\n  axe = window.axe;\n}\n","import { axe, loadAxe } from './axe-import.js';\n\n/**\n * Creates a map of rules to disable during the test.\n * @param {Array<String>?} ignored List of rule names to ignore during the test.\n * @return {Object|undefined} List of rules to be passed to test configuration or\n * `undefined` when not needed.\n */\nfunction getRules(ignored) {\n  if (!ignored || !ignored.length) {\n    return undefined;\n  }\n  const result = {};\n  ignored.forEach(rule => {\n    result[rule] = { enabled: false };\n  });\n  return result;\n}\n\n/**\n * Performs the test using AXE core.\n * @param {Element} element The element to be used to perform the test on.\n * @param {Object} opts AXE configuration options.\n * @return {Promise} Promise resolved to the test results object\n */\nasync function runTestAsync(element, opts) {\n  if (!axe) {\n    // ensure axe is loaded before running tests\n    await loadAxe();\n  }\n\n  return new Promise((resolve, reject) => {\n    // @ts-ignore\n    axe.run(element, opts, (err, results) => {\n      if (err) {\n        reject(new Error(err));\n      } else {\n        resolve(results);\n      }\n    });\n  });\n}\n\n/**\n * Processes axe testing results.\n * @param {Boolean} negate When true \"not\" was used with the test and the output is the opposite\n * (failed test won't throw error)\n * @param {Object} results Axe test result object\n * @param {Function} done A function to be called when ready.\n * @throws {Error} When test did not pass.\n */\nfunction processResults(negate, results, done) {\n  const { violations } = results;\n\n  if (violations.length && negate) {\n    done();\n    return;\n  }\n\n  if (!violations.length && !negate) {\n    done();\n    return;\n  }\n\n  const messages = [];\n  if (violations.length) {\n    messages[messages.length] = 'Accessibility Violations';\n    messages[messages.length] = '---';\n    violations.forEach(violation => {\n      messages[messages.length] = `Rule: ${violation.id}`;\n      messages[messages.length] = `Impact: ${violation.impact}`;\n      messages[messages.length] = `${violation.help} (${violation.helpUrl})`;\n      violation.nodes.forEach(node => {\n        messages[messages.length] = '';\n        if (node.target) {\n          messages[messages.length] = `Issue target: ${node.target}`;\n        }\n        messages[messages.length] = `Context: ${node.html}`;\n        if (node.failureSummary) {\n          messages[messages.length] = `${node.failureSummary}`;\n        }\n      });\n      messages[messages.length] = '---';\n    });\n  }\n\n  const msg = new Error(messages.join('\\n'));\n  done(msg);\n  throw msg;\n}\n\n/**\n * @param {any} chai\n * @param {any} utils\n */\nexport const chaiA11yAxe = (chai, utils) => {\n  const { assert } = chai;\n  utils.addMethod(chai.Assertion.prototype, 'accessible', function axeTest(options) {\n    // @ts-ignore\n    const fixture = this._obj;\n    const opts = options || {};\n\n    const rules = getRules(opts.ignoredRules);\n\n    const testOpts = {\n      resultTypes: ['violations'],\n    };\n    if (rules) {\n      testOpts.rules = rules;\n    }\n    let done = opts.done ? opts.done : undefined;\n    if (!done) {\n      done = () => {};\n    }\n\n    if (opts.ignoredTags) {\n      const ariaHiddenElements = fixture.parentNode.querySelectorAll(opts.ignoredTags.toString());\n      ariaHiddenElements.forEach(el => el.setAttribute('aria-hidden', true));\n    }\n\n    const result = runTestAsync(fixture, testOpts).then(results =>\n      // @ts-ignore\n      processResults(utils.flag(this, 'negate'), results, done),\n    );\n    // @ts-ignore\n    this.then = result.then.bind(result);\n    // @ts-ignore\n    return this;\n  });\n\n  assert.isAccessible = function isAccessible(fixture, options) {\n    return new chai.Assertion(fixture).to.be.accessible(options);\n  };\n\n  assert.isNotAccessible = function isAccessible(fixture, options) {\n    return new chai.Assertion(fixture).not.to.be.accessible(options);\n  };\n};\n","import chai from './index.js';\n\nexport const expect = chai.expect;\nexport const version = chai.version;\nexport const Assertion = chai.Assertion;\nexport const AssertionError = chai.AssertionError;\nexport const util = chai.util;\nexport const config = chai.config;\nexport const use = chai.use;\nexport const should = chai.should;\nexport const assert = chai.assert;\nexport const core = chai.core;\n\nexport default chai;\n","const {\n  entries,\n  setPrototypeOf,\n  isFrozen,\n  getPrototypeOf,\n  getOwnPropertyDescriptor,\n} = Object;\n\nlet { freeze, seal, create } = Object; // eslint-disable-line import/no-mutable-exports\nlet { apply, construct } = typeof Reflect !== 'undefined' && Reflect;\n\nif (!freeze) {\n  freeze = function (x) {\n    return x;\n  };\n}\n\nif (!seal) {\n  seal = function (x) {\n    return x;\n  };\n}\n\nif (!apply) {\n  apply = function (fun, thisValue, args) {\n    return fun.apply(thisValue, args);\n  };\n}\n\nif (!construct) {\n  construct = function (Func, args) {\n    return new Func(...args);\n  };\n}\n\nconst arrayForEach = unapply(Array.prototype.forEach);\nconst arrayIndexOf = unapply(Array.prototype.indexOf);\nconst arrayLastIndexOf = unapply(Array.prototype.lastIndexOf);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\nconst arraySlice = unapply(Array.prototype.slice);\nconst arraySplice = unapply(Array.prototype.splice);\n\nconst stringToLowerCase = unapply(String.prototype.toLowerCase);\nconst stringToString = unapply(String.prototype.toString);\nconst stringMatch = unapply(String.prototype.match);\nconst stringReplace = unapply(String.prototype.replace);\nconst stringIndexOf = unapply(String.prototype.indexOf);\nconst stringTrim = unapply(String.prototype.trim);\n\nconst objectHasOwnProperty = unapply(Object.prototype.hasOwnProperty);\n\nconst regExpTest = unapply(RegExp.prototype.test);\n\nconst typeErrorCreate = unconstruct(TypeError);\n\n/**\n * Creates a new function that calls the given function with a specified thisArg and arguments.\n *\n * @param func - The function to be wrapped and called.\n * @returns A new function that calls the given function with a specified thisArg and arguments.\n */\nfunction unapply<T>(\n  func: (thisArg: any, ...args: any[]) => T\n): (thisArg: any, ...args: any[]) => T {\n  return (thisArg: any, ...args: any[]): T => {\n    if (thisArg instanceof RegExp) {\n      thisArg.lastIndex = 0;\n    }\n\n    return apply(func, thisArg, args);\n  };\n}\n\n/**\n * Creates a new function that constructs an instance of the given constructor function with the provided arguments.\n *\n * @param func - The constructor function to be wrapped and called.\n * @returns A new function that constructs an instance of the given constructor function with the provided arguments.\n */\nfunction unconstruct<T>(func: (...args: any[]) => T): (...args: any[]) => T {\n  return (...args: any[]): T => construct(func, args);\n}\n\n/**\n * Add properties to a lookup table\n *\n * @param set - The set to which elements will be added.\n * @param array - The array containing elements to be added to the set.\n * @param transformCaseFunc - An optional function to transform the case of each element before adding to the set.\n * @returns The modified set with added elements.\n */\nfunction addToSet(\n  set: Record<string, any>,\n  array: readonly any[],\n  transformCaseFunc: ReturnType<typeof unapply<string>> = stringToLowerCase\n): Record<string, any> {\n  if (setPrototypeOf) {\n    // Make 'in' and truthy checks like Boolean(set.constructor)\n    // independent of any properties defined on Object.prototype.\n    // Prevent prototype setters from intercepting set as a this value.\n    setPrototypeOf(set, null);\n  }\n\n  let l = array.length;\n  while (l--) {\n    let element = array[l];\n    if (typeof element === 'string') {\n      const lcElement = transformCaseFunc(element);\n      if (lcElement !== element) {\n        // Config presets (e.g. tags.js, attrs.js) are immutable.\n        if (!isFrozen(array)) {\n          (array as any[])[l] = lcElement;\n        }\n\n        element = lcElement;\n      }\n    }\n\n    set[element] = true;\n  }\n\n  return set;\n}\n\n/**\n * Clean up an array to harden against CSPP\n *\n * @param array - The array to be cleaned.\n * @returns The cleaned version of the array\n */\nfunction cleanArray<T>(array: T[]): Array<T | null> {\n  for (let index = 0; index < array.length; index++) {\n    const isPropertyExist = objectHasOwnProperty(array, index);\n\n    if (!isPropertyExist) {\n      array[index] = null;\n    }\n  }\n\n  return array;\n}\n\n/**\n * Shallow clone an object\n *\n * @param object - The object to be cloned.\n * @returns A new object that copies the original.\n */\nfunction clone<T extends Record<string, any>>(object: T): T {\n  const newObject = create(null);\n\n  for (const [property, value] of entries(object)) {\n    const isPropertyExist = objectHasOwnProperty(object, property);\n\n    if (isPropertyExist) {\n      if (Array.isArray(value)) {\n        newObject[property] = cleanArray(value);\n      } else if (\n        value &&\n        typeof value === 'object' &&\n        value.constructor === Object\n      ) {\n        newObject[property] = clone(value);\n      } else {\n        newObject[property] = value;\n      }\n    }\n  }\n\n  return newObject;\n}\n\n/**\n * This method automatically checks if the prop is function or getter and behaves accordingly.\n *\n * @param object - The object to look up the getter function in its prototype chain.\n * @param prop - The property name for which to find the getter function.\n * @returns The getter function found in the prototype chain or a fallback function.\n */\nfunction lookupGetter<T extends Record<string, any>>(\n  object: T,\n  prop: string\n): ReturnType<typeof unapply<any>> | (() => null) {\n  while (object !== null) {\n    const desc = getOwnPropertyDescriptor(object, prop);\n\n    if (desc) {\n      if (desc.get) {\n        return unapply(desc.get);\n      }\n\n      if (typeof desc.value === 'function') {\n        return unapply(desc.value);\n      }\n    }\n\n    object = getPrototypeOf(object);\n  }\n\n  function fallbackValue(): null {\n    return null;\n  }\n\n  return fallbackValue;\n}\n\nexport {\n  // Array\n  arrayForEach,\n  arrayIndexOf,\n  arrayLastIndexOf,\n  arrayPop,\n  arrayPush,\n  arraySlice,\n  arraySplice,\n  // Object\n  entries,\n  freeze,\n  getPrototypeOf,\n  getOwnPropertyDescriptor,\n  isFrozen,\n  setPrototypeOf,\n  seal,\n  clone,\n  create,\n  objectHasOwnProperty,\n  // RegExp\n  regExpTest,\n  // String\n  stringIndexOf,\n  stringMatch,\n  stringReplace,\n  stringToLowerCase,\n  stringToString,\n  stringTrim,\n  // Errors\n  typeErrorCreate,\n  // Other\n  lookupGetter,\n  addToSet,\n  // Reflect\n  unapply,\n  unconstruct,\n};\n","import { freeze } from './utils.js';\n\nexport const html = freeze([\n  'a',\n  'abbr',\n  'acronym',\n  'address',\n  'area',\n  'article',\n  'aside',\n  'audio',\n  'b',\n  'bdi',\n  'bdo',\n  'big',\n  'blink',\n  'blockquote',\n  'body',\n  'br',\n  'button',\n  'canvas',\n  'caption',\n  'center',\n  'cite',\n  'code',\n  'col',\n  'colgroup',\n  'content',\n  'data',\n  'datalist',\n  'dd',\n  'decorator',\n  'del',\n  'details',\n  'dfn',\n  'dialog',\n  'dir',\n  'div',\n  'dl',\n  'dt',\n  'element',\n  'em',\n  'fieldset',\n  'figcaption',\n  'figure',\n  'font',\n  'footer',\n  'form',\n  'h1',\n  'h2',\n  'h3',\n  'h4',\n  'h5',\n  'h6',\n  'head',\n  'header',\n  'hgroup',\n  'hr',\n  'html',\n  'i',\n  'img',\n  'input',\n  'ins',\n  'kbd',\n  'label',\n  'legend',\n  'li',\n  'main',\n  'map',\n  'mark',\n  'marquee',\n  'menu',\n  'menuitem',\n  'meter',\n  'nav',\n  'nobr',\n  'ol',\n  'optgroup',\n  'option',\n  'output',\n  'p',\n  'picture',\n  'pre',\n  'progress',\n  'q',\n  'rp',\n  'rt',\n  'ruby',\n  's',\n  'samp',\n  'section',\n  'select',\n  'shadow',\n  'small',\n  'source',\n  'spacer',\n  'span',\n  'strike',\n  'strong',\n  'style',\n  'sub',\n  'summary',\n  'sup',\n  'table',\n  'tbody',\n  'td',\n  'template',\n  'textarea',\n  'tfoot',\n  'th',\n  'thead',\n  'time',\n  'tr',\n  'track',\n  'tt',\n  'u',\n  'ul',\n  'var',\n  'video',\n  'wbr',\n] as const);\n\nexport const svg = freeze([\n  'svg',\n  'a',\n  'altglyph',\n  'altglyphdef',\n  'altglyphitem',\n  'animatecolor',\n  'animatemotion',\n  'animatetransform',\n  'circle',\n  'clippath',\n  'defs',\n  'desc',\n  'ellipse',\n  'filter',\n  'font',\n  'g',\n  'glyph',\n  'glyphref',\n  'hkern',\n  'image',\n  'line',\n  'lineargradient',\n  'marker',\n  'mask',\n  'metadata',\n  'mpath',\n  'path',\n  'pattern',\n  'polygon',\n  'polyline',\n  'radialgradient',\n  'rect',\n  'stop',\n  'style',\n  'switch',\n  'symbol',\n  'text',\n  'textpath',\n  'title',\n  'tref',\n  'tspan',\n  'view',\n  'vkern',\n] as const);\n\nexport const svgFilters = freeze([\n  'feBlend',\n  'feColorMatrix',\n  'feComponentTransfer',\n  'feComposite',\n  'feConvolveMatrix',\n  'feDiffuseLighting',\n  'feDisplacementMap',\n  'feDistantLight',\n  'feDropShadow',\n  'feFlood',\n  'feFuncA',\n  'feFuncB',\n  'feFuncG',\n  'feFuncR',\n  'feGaussianBlur',\n  'feImage',\n  'feMerge',\n  'feMergeNode',\n  'feMorphology',\n  'feOffset',\n  'fePointLight',\n  'feSpecularLighting',\n  'feSpotLight',\n  'feTile',\n  'feTurbulence',\n] as const);\n\n// List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\nexport const svgDisallowed = freeze([\n  'animate',\n  'color-profile',\n  'cursor',\n  'discard',\n  'font-face',\n  'font-face-format',\n  'font-face-name',\n  'font-face-src',\n  'font-face-uri',\n  'foreignobject',\n  'hatch',\n  'hatchpath',\n  'mesh',\n  'meshgradient',\n  'meshpatch',\n  'meshrow',\n  'missing-glyph',\n  'script',\n  'set',\n  'solidcolor',\n  'unknown',\n  'use',\n] as const);\n\nexport const mathMl = freeze([\n  'math',\n  'menclose',\n  'merror',\n  'mfenced',\n  'mfrac',\n  'mglyph',\n  'mi',\n  'mlabeledtr',\n  'mmultiscripts',\n  'mn',\n  'mo',\n  'mover',\n  'mpadded',\n  'mphantom',\n  'mroot',\n  'mrow',\n  'ms',\n  'mspace',\n  'msqrt',\n  'mstyle',\n  'msub',\n  'msup',\n  'msubsup',\n  'mtable',\n  'mtd',\n  'mtext',\n  'mtr',\n  'munder',\n  'munderover',\n  'mprescripts',\n] as const);\n\n// Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\nexport const mathMlDisallowed = freeze([\n  'maction',\n  'maligngroup',\n  'malignmark',\n  'mlongdiv',\n  'mscarries',\n  'mscarry',\n  'msgroup',\n  'mstack',\n  'msline',\n  'msrow',\n  'semantics',\n  'annotation',\n  'annotation-xml',\n  'mprescripts',\n  'none',\n] as const);\n\nexport const text = freeze(['#text'] as const);\n","import { freeze } from './utils.js';\n\nexport const html = freeze([\n  'accept',\n  'action',\n  'align',\n  'alt',\n  'autocapitalize',\n  'autocomplete',\n  'autopictureinpicture',\n  'autoplay',\n  'background',\n  'bgcolor',\n  'border',\n  'capture',\n  'cellpadding',\n  'cellspacing',\n  'checked',\n  'cite',\n  'class',\n  'clear',\n  'color',\n  'cols',\n  'colspan',\n  'controls',\n  'controlslist',\n  'coords',\n  'crossorigin',\n  'datetime',\n  'decoding',\n  'default',\n  'dir',\n  'disabled',\n  'disablepictureinpicture',\n  'disableremoteplayback',\n  'download',\n  'draggable',\n  'enctype',\n  'enterkeyhint',\n  'face',\n  'for',\n  'headers',\n  'height',\n  'hidden',\n  'high',\n  'href',\n  'hreflang',\n  'id',\n  'inputmode',\n  'integrity',\n  'ismap',\n  'kind',\n  'label',\n  'lang',\n  'list',\n  'loading',\n  'loop',\n  'low',\n  'max',\n  'maxlength',\n  'media',\n  'method',\n  'min',\n  'minlength',\n  'multiple',\n  'muted',\n  'name',\n  'nonce',\n  'noshade',\n  'novalidate',\n  'nowrap',\n  'open',\n  'optimum',\n  'pattern',\n  'placeholder',\n  'playsinline',\n  'popover',\n  'popovertarget',\n  'popovertargetaction',\n  'poster',\n  'preload',\n  'pubdate',\n  'radiogroup',\n  'readonly',\n  'rel',\n  'required',\n  'rev',\n  'reversed',\n  'role',\n  'rows',\n  'rowspan',\n  'spellcheck',\n  'scope',\n  'selected',\n  'shape',\n  'size',\n  'sizes',\n  'span',\n  'srclang',\n  'start',\n  'src',\n  'srcset',\n  'step',\n  'style',\n  'summary',\n  'tabindex',\n  'title',\n  'translate',\n  'type',\n  'usemap',\n  'valign',\n  'value',\n  'width',\n  'wrap',\n  'xmlns',\n  'slot',\n] as const);\n\nexport const svg = freeze([\n  'accent-height',\n  'accumulate',\n  'additive',\n  'alignment-baseline',\n  'amplitude',\n  'ascent',\n  'attributename',\n  'attributetype',\n  'azimuth',\n  'basefrequency',\n  'baseline-shift',\n  'begin',\n  'bias',\n  'by',\n  'class',\n  'clip',\n  'clippathunits',\n  'clip-path',\n  'clip-rule',\n  'color',\n  'color-interpolation',\n  'color-interpolation-filters',\n  'color-profile',\n  'color-rendering',\n  'cx',\n  'cy',\n  'd',\n  'dx',\n  'dy',\n  'diffuseconstant',\n  'direction',\n  'display',\n  'divisor',\n  'dur',\n  'edgemode',\n  'elevation',\n  'end',\n  'exponent',\n  'fill',\n  'fill-opacity',\n  'fill-rule',\n  'filter',\n  'filterunits',\n  'flood-color',\n  'flood-opacity',\n  'font-family',\n  'font-size',\n  'font-size-adjust',\n  'font-stretch',\n  'font-style',\n  'font-variant',\n  'font-weight',\n  'fx',\n  'fy',\n  'g1',\n  'g2',\n  'glyph-name',\n  'glyphref',\n  'gradientunits',\n  'gradienttransform',\n  'height',\n  'href',\n  'id',\n  'image-rendering',\n  'in',\n  'in2',\n  'intercept',\n  'k',\n  'k1',\n  'k2',\n  'k3',\n  'k4',\n  'kerning',\n  'keypoints',\n  'keysplines',\n  'keytimes',\n  'lang',\n  'lengthadjust',\n  'letter-spacing',\n  'kernelmatrix',\n  'kernelunitlength',\n  'lighting-color',\n  'local',\n  'marker-end',\n  'marker-mid',\n  'marker-start',\n  'markerheight',\n  'markerunits',\n  'markerwidth',\n  'maskcontentunits',\n  'maskunits',\n  'max',\n  'mask',\n  'media',\n  'method',\n  'mode',\n  'min',\n  'name',\n  'numoctaves',\n  'offset',\n  'operator',\n  'opacity',\n  'order',\n  'orient',\n  'orientation',\n  'origin',\n  'overflow',\n  'paint-order',\n  'path',\n  'pathlength',\n  'patterncontentunits',\n  'patterntransform',\n  'patternunits',\n  'points',\n  'preservealpha',\n  'preserveaspectratio',\n  'primitiveunits',\n  'r',\n  'rx',\n  'ry',\n  'radius',\n  'refx',\n  'refy',\n  'repeatcount',\n  'repeatdur',\n  'restart',\n  'result',\n  'rotate',\n  'scale',\n  'seed',\n  'shape-rendering',\n  'slope',\n  'specularconstant',\n  'specularexponent',\n  'spreadmethod',\n  'startoffset',\n  'stddeviation',\n  'stitchtiles',\n  'stop-color',\n  'stop-opacity',\n  'stroke-dasharray',\n  'stroke-dashoffset',\n  'stroke-linecap',\n  'stroke-linejoin',\n  'stroke-miterlimit',\n  'stroke-opacity',\n  'stroke',\n  'stroke-width',\n  'style',\n  'surfacescale',\n  'systemlanguage',\n  'tabindex',\n  'tablevalues',\n  'targetx',\n  'targety',\n  'transform',\n  'transform-origin',\n  'text-anchor',\n  'text-decoration',\n  'text-rendering',\n  'textlength',\n  'type',\n  'u1',\n  'u2',\n  'unicode',\n  'values',\n  'viewbox',\n  'visibility',\n  'version',\n  'vert-adv-y',\n  'vert-origin-x',\n  'vert-origin-y',\n  'width',\n  'word-spacing',\n  'wrap',\n  'writing-mode',\n  'xchannelselector',\n  'ychannelselector',\n  'x',\n  'x1',\n  'x2',\n  'xmlns',\n  'y',\n  'y1',\n  'y2',\n  'z',\n  'zoomandpan',\n] as const);\n\nexport const mathMl = freeze([\n  'accent',\n  'accentunder',\n  'align',\n  'bevelled',\n  'close',\n  'columnsalign',\n  'columnlines',\n  'columnspan',\n  'denomalign',\n  'depth',\n  'dir',\n  'display',\n  'displaystyle',\n  'encoding',\n  'fence',\n  'frame',\n  'height',\n  'href',\n  'id',\n  'largeop',\n  'length',\n  'linethickness',\n  'lspace',\n  'lquote',\n  'mathbackground',\n  'mathcolor',\n  'mathsize',\n  'mathvariant',\n  'maxsize',\n  'minsize',\n  'movablelimits',\n  'notation',\n  'numalign',\n  'open',\n  'rowalign',\n  'rowlines',\n  'rowspacing',\n  'rowspan',\n  'rspace',\n  'rquote',\n  'scriptlevel',\n  'scriptminsize',\n  'scriptsizemultiplier',\n  'selection',\n  'separator',\n  'separators',\n  'stretchy',\n  'subscriptshift',\n  'supscriptshift',\n  'symmetric',\n  'voffset',\n  'width',\n  'xmlns',\n]);\n\nexport const xml = freeze([\n  'xlink:href',\n  'xml:id',\n  'xlink:title',\n  'xml:space',\n  'xmlns:xlink',\n] as const);\n","import { seal } from './utils.js';\n\n// eslint-disable-next-line unicorn/better-regex\nexport const MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\nexport const ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\nexport const TMPLIT_EXPR = seal(/\\$\\{[\\w\\W]*/gm); // eslint-disable-line unicorn/better-regex\nexport const DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]+$/); // eslint-disable-line no-useless-escape\nexport const ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nexport const IS_ALLOWED_URI = seal(\n  /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nexport const IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nexport const ATTR_WHITESPACE = seal(\n  /[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\nexport const DOCTYPE_NAME = seal(/^html$/i);\nexport const CUSTOM_ELEMENT = seal(/^[a-z][.\\w]*(-[.\\w]+)+$/i);\n","/* eslint-disable @typescript-eslint/indent */\n\nimport type { TrustedHTML, TrustedTypesWindow } from 'trusted-types/lib';\nimport type { Config, UseProfilesConfig } from './config';\nimport * as TAGS from './tags.js';\nimport * as ATTRS from './attrs.js';\nimport * as EXPRESSIONS from './regexp.js';\nimport {\n  addToSet,\n  clone,\n  entries,\n  freeze,\n  arrayForEach,\n  arrayLastIndexOf,\n  arrayPop,\n  arrayPush,\n  arraySplice,\n  stringMatch,\n  stringReplace,\n  stringToLowerCase,\n  stringToString,\n  stringIndexOf,\n  stringTrim,\n  regExpTest,\n  typeErrorCreate,\n  lookupGetter,\n  create,\n  objectHasOwnProperty,\n} from './utils.js';\n\nexport type { Config } from './config';\n\ndeclare const VERSION: string;\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\nconst NODE_TYPE = {\n  element: 1,\n  attribute: 2,\n  text: 3,\n  cdataSection: 4,\n  entityReference: 5, // Deprecated\n  entityNode: 6, // Deprecated\n  progressingInstruction: 7,\n  comment: 8,\n  document: 9,\n  documentType: 10,\n  documentFragment: 11,\n  notation: 12, // Deprecated\n};\n\nconst getGlobal = function (): WindowLike {\n  return typeof window === 'undefined' ? null : window;\n};\n\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param trustedTypes The policy factory.\n * @param purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix).\n * @return The policy created (or null, if Trusted Types\n * are not supported or creating the policy failed).\n */\nconst _createTrustedTypesPolicy = function (\n  trustedTypes: TrustedTypePolicyFactory,\n  purifyHostElement: HTMLScriptElement\n) {\n  if (\n    typeof trustedTypes !== 'object' ||\n    typeof trustedTypes.createPolicy !== 'function'\n  ) {\n    return null;\n  }\n\n  // Allow the callers to control the unique policy name\n  // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n  // Policy creation with duplicate names throws in Trusted Types.\n  let suffix = null;\n  const ATTR_NAME = 'data-tt-policy-suffix';\n  if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) {\n    suffix = purifyHostElement.getAttribute(ATTR_NAME);\n  }\n\n  const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n\n  try {\n    return trustedTypes.createPolicy(policyName, {\n      createHTML(html) {\n        return html;\n      },\n      createScriptURL(scriptUrl) {\n        return scriptUrl;\n      },\n    });\n  } catch (_) {\n    // Policy creation failed (most likely another DOMPurify script has\n    // already run). Skip creating the policy, as this will only cause errors\n    // if TT are enforced.\n    console.warn(\n      'TrustedTypes policy ' + policyName + ' could not be created.'\n    );\n    return null;\n  }\n};\n\nconst _createHooksMap = function (): HooksMap {\n  return {\n    afterSanitizeAttributes: [],\n    afterSanitizeElements: [],\n    afterSanitizeShadowDOM: [],\n    beforeSanitizeAttributes: [],\n    beforeSanitizeElements: [],\n    beforeSanitizeShadowDOM: [],\n    uponSanitizeAttribute: [],\n    uponSanitizeElement: [],\n    uponSanitizeShadowNode: [],\n  };\n};\n\nfunction createDOMPurify(window: WindowLike = getGlobal()): DOMPurify {\n  const DOMPurify: DOMPurify = (root: WindowLike) => createDOMPurify(root);\n\n  DOMPurify.version = VERSION;\n\n  DOMPurify.removed = [];\n\n  if (\n    !window ||\n    !window.document ||\n    window.document.nodeType !== NODE_TYPE.document ||\n    !window.Element\n  ) {\n    // Not running in a browser, provide a factory function\n    // so that you can pass your own Window\n    DOMPurify.isSupported = false;\n\n    return DOMPurify;\n  }\n\n  let { document } = window;\n\n  const originalDocument = document;\n  const currentScript: HTMLScriptElement =\n    originalDocument.currentScript as HTMLScriptElement;\n  const {\n    DocumentFragment,\n    HTMLTemplateElement,\n    Node,\n    Element,\n    NodeFilter,\n    NamedNodeMap = window.NamedNodeMap || (window as any).MozNamedAttrMap,\n    HTMLFormElement,\n    DOMParser,\n    trustedTypes,\n  } = window;\n\n  const ElementPrototype = Element.prototype;\n\n  const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n  const remove = lookupGetter(ElementPrototype, 'remove');\n  const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n  const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n  const getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n\n  // As per issue #47, the web-components registry is inherited by a\n  // new document created via createHTMLDocument. As per the spec\n  // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n  // a new empty registry is used when creating a template contents owner\n  // document, so we use that as our parent document to ensure nothing\n  // is inherited.\n  if (typeof HTMLTemplateElement === 'function') {\n    const template = document.createElement('template');\n    if (template.content && template.content.ownerDocument) {\n      document = template.content.ownerDocument;\n    }\n  }\n\n  let trustedTypesPolicy;\n  let emptyHTML = '';\n\n  const {\n    implementation,\n    createNodeIterator,\n    createDocumentFragment,\n    getElementsByTagName,\n  } = document;\n  const { importNode } = originalDocument;\n\n  let hooks = _createHooksMap();\n\n  /**\n   * Expose whether this browser supports running the full DOMPurify.\n   */\n  DOMPurify.isSupported =\n    typeof entries === 'function' &&\n    typeof getParentNode === 'function' &&\n    implementation &&\n    implementation.createHTMLDocument !== undefined;\n\n  const {\n    MUSTACHE_EXPR,\n    ERB_EXPR,\n    TMPLIT_EXPR,\n    DATA_ATTR,\n    ARIA_ATTR,\n    IS_SCRIPT_OR_DATA,\n    ATTR_WHITESPACE,\n    CUSTOM_ELEMENT,\n  } = EXPRESSIONS;\n\n  let { IS_ALLOWED_URI } = EXPRESSIONS;\n\n  /**\n   * We consider the elements and attributes below to be safe. Ideally\n   * don't add any new ones but feel free to remove unwanted ones.\n   */\n\n  /* allowed element names */\n  let ALLOWED_TAGS = null;\n  const DEFAULT_ALLOWED_TAGS = addToSet({}, [\n    ...TAGS.html,\n    ...TAGS.svg,\n    ...TAGS.svgFilters,\n    ...TAGS.mathMl,\n    ...TAGS.text,\n  ]);\n\n  /* Allowed attribute names */\n  let ALLOWED_ATTR = null;\n  const DEFAULT_ALLOWED_ATTR = addToSet({}, [\n    ...ATTRS.html,\n    ...ATTRS.svg,\n    ...ATTRS.mathMl,\n    ...ATTRS.xml,\n  ]);\n\n  /*\n   * Configure how DOMPurify should handle custom elements and their attributes as well as customized built-in elements.\n   * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n   * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n   * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n   */\n  let CUSTOM_ELEMENT_HANDLING = Object.seal(\n    create(null, {\n      tagNameCheck: {\n        writable: true,\n        configurable: false,\n        enumerable: true,\n        value: null,\n      },\n      attributeNameCheck: {\n        writable: true,\n        configurable: false,\n        enumerable: true,\n        value: null,\n      },\n      allowCustomizedBuiltInElements: {\n        writable: true,\n        configurable: false,\n        enumerable: true,\n        value: false,\n      },\n    })\n  );\n\n  /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n  let FORBID_TAGS = null;\n\n  /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n  let FORBID_ATTR = null;\n\n  /* Decide if ARIA attributes are okay */\n  let ALLOW_ARIA_ATTR = true;\n\n  /* Decide if custom data attributes are okay */\n  let ALLOW_DATA_ATTR = true;\n\n  /* Decide if unknown protocols are okay */\n  let ALLOW_UNKNOWN_PROTOCOLS = false;\n\n  /* Decide if self-closing tags in attributes are allowed.\n   * Usually removed due to a mXSS issue in jQuery 3.0 */\n  let ALLOW_SELF_CLOSE_IN_ATTR = true;\n\n  /* Output should be safe for common template engines.\n   * This means, DOMPurify removes data attributes, mustaches and ERB\n   */\n  let SAFE_FOR_TEMPLATES = false;\n\n  /* Output should be safe even for XML used within HTML and alike.\n   * This means, DOMPurify removes comments when containing risky content.\n   */\n  let SAFE_FOR_XML = true;\n\n  /* Decide if document with <html>... should be returned */\n  let WHOLE_DOCUMENT = false;\n\n  /* Track whether config is already set on this instance of DOMPurify. */\n  let SET_CONFIG = false;\n\n  /* Decide if all elements (e.g. style, script) must be children of\n   * document.body. By default, browsers might move them to document.head */\n  let FORCE_BODY = false;\n\n  /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n   * string (or a TrustedHTML object if Trusted Types are supported).\n   * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n   */\n  let RETURN_DOM = false;\n\n  /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n   * string  (or a TrustedHTML object if Trusted Types are supported) */\n  let RETURN_DOM_FRAGMENT = false;\n\n  /* Try to return a Trusted Type object instead of a string, return a string in\n   * case Trusted Types are not supported  */\n  let RETURN_TRUSTED_TYPE = false;\n\n  /* Output should be free from DOM clobbering attacks?\n   * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n   */\n  let SANITIZE_DOM = true;\n\n  /* Achieve full DOM Clobbering protection by isolating the namespace of named\n   * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.\n   *\n   * HTML/DOM spec rules that enable DOM Clobbering:\n   *   - Named Access on Window (§7.3.3)\n   *   - DOM Tree Accessors (§3.1.5)\n   *   - Form Element Parent-Child Relations (§4.10.3)\n   *   - Iframe srcdoc / Nested WindowProxies (§4.8.5)\n   *   - HTMLCollection (§4.2.10.2)\n   *\n   * Namespace isolation is implemented by prefixing `id` and `name` attributes\n   * with a constant string, i.e., `user-content-`\n   */\n  let SANITIZE_NAMED_PROPS = false;\n  const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n\n  /* Keep element content when removing element? */\n  let KEEP_CONTENT = true;\n\n  /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n   * of importing it into a new Document and returning a sanitized copy */\n  let IN_PLACE = false;\n\n  /* Allow usage of profiles like html, svg and mathMl */\n  let USE_PROFILES: UseProfilesConfig | false = {};\n\n  /* Tags to ignore content of when KEEP_CONTENT is true */\n  let FORBID_CONTENTS = null;\n  const DEFAULT_FORBID_CONTENTS = addToSet({}, [\n    'annotation-xml',\n    'audio',\n    'colgroup',\n    'desc',\n    'foreignobject',\n    'head',\n    'iframe',\n    'math',\n    'mi',\n    'mn',\n    'mo',\n    'ms',\n    'mtext',\n    'noembed',\n    'noframes',\n    'noscript',\n    'plaintext',\n    'script',\n    'style',\n    'svg',\n    'template',\n    'thead',\n    'title',\n    'video',\n    'xmp',\n  ]);\n\n  /* Tags that are safe for data: URIs */\n  let DATA_URI_TAGS = null;\n  const DEFAULT_DATA_URI_TAGS = addToSet({}, [\n    'audio',\n    'video',\n    'img',\n    'source',\n    'image',\n    'track',\n  ]);\n\n  /* Attributes safe for values like \"javascript:\" */\n  let URI_SAFE_ATTRIBUTES = null;\n  const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, [\n    'alt',\n    'class',\n    'for',\n    'id',\n    'label',\n    'name',\n    'pattern',\n    'placeholder',\n    'role',\n    'summary',\n    'title',\n    'value',\n    'style',\n    'xmlns',\n  ]);\n\n  const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n  const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n  const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n  /* Document namespace */\n  let NAMESPACE = HTML_NAMESPACE;\n  let IS_EMPTY_INPUT = false;\n\n  /* Allowed XHTML+XML namespaces */\n  let ALLOWED_NAMESPACES = null;\n  const DEFAULT_ALLOWED_NAMESPACES = addToSet(\n    {},\n    [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE],\n    stringToString\n  );\n\n  let MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, [\n    'mi',\n    'mo',\n    'mn',\n    'ms',\n    'mtext',\n  ]);\n\n  let HTML_INTEGRATION_POINTS = addToSet({}, ['annotation-xml']);\n\n  // Certain elements are allowed in both SVG and HTML\n  // namespace. We need to specify them explicitly\n  // so that they don't get erroneously deleted from\n  // HTML namespace.\n  const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, [\n    'title',\n    'style',\n    'font',\n    'a',\n    'script',\n  ]);\n\n  /* Parsing of strict XHTML documents */\n  let PARSER_MEDIA_TYPE: null | DOMParserSupportedType = null;\n  const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n  const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n  let transformCaseFunc: null | Parameters<typeof addToSet>[2] = null;\n\n  /* Keep a reference to config to pass to hooks */\n  let CONFIG: Config | null = null;\n\n  /* Ideally, do not touch anything below this line */\n  /* ______________________________________________ */\n\n  const formElement = document.createElement('form');\n\n  const isRegexOrFunction = function (\n    testValue: unknown\n  ): testValue is Function | RegExp {\n    return testValue instanceof RegExp || testValue instanceof Function;\n  };\n\n  /**\n   * _parseConfig\n   *\n   * @param cfg optional config literal\n   */\n  // eslint-disable-next-line complexity\n  const _parseConfig = function (cfg: Config = {}): void {\n    if (CONFIG && CONFIG === cfg) {\n      return;\n    }\n\n    /* Shield configuration object from tampering */\n    if (!cfg || typeof cfg !== 'object') {\n      cfg = {};\n    }\n\n    /* Shield configuration object from prototype pollution */\n    cfg = clone(cfg);\n\n    PARSER_MEDIA_TYPE =\n      // eslint-disable-next-line unicorn/prefer-includes\n      SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1\n        ? DEFAULT_PARSER_MEDIA_TYPE\n        : cfg.PARSER_MEDIA_TYPE;\n\n    // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n    transformCaseFunc =\n      PARSER_MEDIA_TYPE === 'application/xhtml+xml'\n        ? stringToString\n        : stringToLowerCase;\n\n    /* Set configuration parameters */\n    ALLOWED_TAGS = objectHasOwnProperty(cfg, 'ALLOWED_TAGS')\n      ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc)\n      : DEFAULT_ALLOWED_TAGS;\n    ALLOWED_ATTR = objectHasOwnProperty(cfg, 'ALLOWED_ATTR')\n      ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc)\n      : DEFAULT_ALLOWED_ATTR;\n    ALLOWED_NAMESPACES = objectHasOwnProperty(cfg, 'ALLOWED_NAMESPACES')\n      ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString)\n      : DEFAULT_ALLOWED_NAMESPACES;\n    URI_SAFE_ATTRIBUTES = objectHasOwnProperty(cfg, 'ADD_URI_SAFE_ATTR')\n      ? addToSet(\n          clone(DEFAULT_URI_SAFE_ATTRIBUTES),\n          cfg.ADD_URI_SAFE_ATTR,\n          transformCaseFunc\n        )\n      : DEFAULT_URI_SAFE_ATTRIBUTES;\n    DATA_URI_TAGS = objectHasOwnProperty(cfg, 'ADD_DATA_URI_TAGS')\n      ? addToSet(\n          clone(DEFAULT_DATA_URI_TAGS),\n          cfg.ADD_DATA_URI_TAGS,\n          transformCaseFunc\n        )\n      : DEFAULT_DATA_URI_TAGS;\n    FORBID_CONTENTS = objectHasOwnProperty(cfg, 'FORBID_CONTENTS')\n      ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc)\n      : DEFAULT_FORBID_CONTENTS;\n    FORBID_TAGS = objectHasOwnProperty(cfg, 'FORBID_TAGS')\n      ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc)\n      : clone({});\n    FORBID_ATTR = objectHasOwnProperty(cfg, 'FORBID_ATTR')\n      ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc)\n      : clone({});\n    USE_PROFILES = objectHasOwnProperty(cfg, 'USE_PROFILES')\n      ? cfg.USE_PROFILES\n      : false;\n    ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n    ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n    ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n    ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true\n    SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n    SAFE_FOR_XML = cfg.SAFE_FOR_XML !== false; // Default true\n    WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n    RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n    RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n    RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n    FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n    SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n    SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false\n    KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n    IN_PLACE = cfg.IN_PLACE || false; // Default false\n    IS_ALLOWED_URI = cfg.ALLOWED_URI_REGEXP || EXPRESSIONS.IS_ALLOWED_URI;\n    NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n    MATHML_TEXT_INTEGRATION_POINTS =\n      cfg.MATHML_TEXT_INTEGRATION_POINTS || MATHML_TEXT_INTEGRATION_POINTS;\n    HTML_INTEGRATION_POINTS =\n      cfg.HTML_INTEGRATION_POINTS || HTML_INTEGRATION_POINTS;\n\n    CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};\n    if (\n      cfg.CUSTOM_ELEMENT_HANDLING &&\n      isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)\n    ) {\n      CUSTOM_ELEMENT_HANDLING.tagNameCheck =\n        cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n    }\n\n    if (\n      cfg.CUSTOM_ELEMENT_HANDLING &&\n      isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)\n    ) {\n      CUSTOM_ELEMENT_HANDLING.attributeNameCheck =\n        cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n    }\n\n    if (\n      cfg.CUSTOM_ELEMENT_HANDLING &&\n      typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements ===\n        'boolean'\n    ) {\n      CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements =\n        cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;\n    }\n\n    if (SAFE_FOR_TEMPLATES) {\n      ALLOW_DATA_ATTR = false;\n    }\n\n    if (RETURN_DOM_FRAGMENT) {\n      RETURN_DOM = true;\n    }\n\n    /* Parse profile info */\n    if (USE_PROFILES) {\n      ALLOWED_TAGS = addToSet({}, TAGS.text);\n      ALLOWED_ATTR = [];\n      if (USE_PROFILES.html === true) {\n        addToSet(ALLOWED_TAGS, TAGS.html);\n        addToSet(ALLOWED_ATTR, ATTRS.html);\n      }\n\n      if (USE_PROFILES.svg === true) {\n        addToSet(ALLOWED_TAGS, TAGS.svg);\n        addToSet(ALLOWED_ATTR, ATTRS.svg);\n        addToSet(ALLOWED_ATTR, ATTRS.xml);\n      }\n\n      if (USE_PROFILES.svgFilters === true) {\n        addToSet(ALLOWED_TAGS, TAGS.svgFilters);\n        addToSet(ALLOWED_ATTR, ATTRS.svg);\n        addToSet(ALLOWED_ATTR, ATTRS.xml);\n      }\n\n      if (USE_PROFILES.mathMl === true) {\n        addToSet(ALLOWED_TAGS, TAGS.mathMl);\n        addToSet(ALLOWED_ATTR, ATTRS.mathMl);\n        addToSet(ALLOWED_ATTR, ATTRS.xml);\n      }\n    }\n\n    /* Merge configuration parameters */\n    if (cfg.ADD_TAGS) {\n      if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n        ALLOWED_TAGS = clone(ALLOWED_TAGS);\n      }\n\n      addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n    }\n\n    if (cfg.ADD_ATTR) {\n      if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n        ALLOWED_ATTR = clone(ALLOWED_ATTR);\n      }\n\n      addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n    }\n\n    if (cfg.ADD_URI_SAFE_ATTR) {\n      addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n    }\n\n    if (cfg.FORBID_CONTENTS) {\n      if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n        FORBID_CONTENTS = clone(FORBID_CONTENTS);\n      }\n\n      addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n    }\n\n    /* Add #text in case KEEP_CONTENT is set to true */\n    if (KEEP_CONTENT) {\n      ALLOWED_TAGS['#text'] = true;\n    }\n\n    /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n    if (WHOLE_DOCUMENT) {\n      addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n    }\n\n    /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n    if (ALLOWED_TAGS.table) {\n      addToSet(ALLOWED_TAGS, ['tbody']);\n      delete FORBID_TAGS.tbody;\n    }\n\n    if (cfg.TRUSTED_TYPES_POLICY) {\n      if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== 'function') {\n        throw typeErrorCreate(\n          'TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.'\n        );\n      }\n\n      if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== 'function') {\n        throw typeErrorCreate(\n          'TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.'\n        );\n      }\n\n      // Overwrite existing TrustedTypes policy.\n      trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;\n\n      // Sign local variables required by `sanitize`.\n      emptyHTML = trustedTypesPolicy.createHTML('');\n    } else {\n      // Uninitialized policy, attempt to initialize the internal dompurify policy.\n      if (trustedTypesPolicy === undefined) {\n        trustedTypesPolicy = _createTrustedTypesPolicy(\n          trustedTypes,\n          currentScript\n        );\n      }\n\n      // If creating the internal policy succeeded sign internal variables.\n      if (trustedTypesPolicy !== null && typeof emptyHTML === 'string') {\n        emptyHTML = trustedTypesPolicy.createHTML('');\n      }\n    }\n\n    // Prevent further manipulation of configuration.\n    // Not available in IE8, Safari 5, etc.\n    if (freeze) {\n      freeze(cfg);\n    }\n\n    CONFIG = cfg;\n  };\n\n  /* Keep track of all possible SVG and MathML tags\n   * so that we can perform the namespace checks\n   * correctly. */\n  const ALL_SVG_TAGS = addToSet({}, [\n    ...TAGS.svg,\n    ...TAGS.svgFilters,\n    ...TAGS.svgDisallowed,\n  ]);\n  const ALL_MATHML_TAGS = addToSet({}, [\n    ...TAGS.mathMl,\n    ...TAGS.mathMlDisallowed,\n  ]);\n\n  /**\n   * @param element a DOM element whose namespace is being checked\n   * @returns Return false if the element has a\n   *  namespace that a spec-compliant parser would never\n   *  return. Return true otherwise.\n   */\n  const _checkValidNamespace = function (element: Element): boolean {\n    let parent = getParentNode(element);\n\n    // In JSDOM, if we're inside shadow DOM, then parentNode\n    // can be null. We just simulate parent in this case.\n    if (!parent || !parent.tagName) {\n      parent = {\n        namespaceURI: NAMESPACE,\n        tagName: 'template',\n      };\n    }\n\n    const tagName = stringToLowerCase(element.tagName);\n    const parentTagName = stringToLowerCase(parent.tagName);\n\n    if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n      return false;\n    }\n\n    if (element.namespaceURI === SVG_NAMESPACE) {\n      // The only way to switch from HTML namespace to SVG\n      // is via <svg>. If it happens via any other tag, then\n      // it should be killed.\n      if (parent.namespaceURI === HTML_NAMESPACE) {\n        return tagName === 'svg';\n      }\n\n      // The only way to switch from MathML to SVG is via`\n      // svg if parent is either <annotation-xml> or MathML\n      // text integration points.\n      if (parent.namespaceURI === MATHML_NAMESPACE) {\n        return (\n          tagName === 'svg' &&\n          (parentTagName === 'annotation-xml' ||\n            MATHML_TEXT_INTEGRATION_POINTS[parentTagName])\n        );\n      }\n\n      // We only allow elements that are defined in SVG\n      // spec. All others are disallowed in SVG namespace.\n      return Boolean(ALL_SVG_TAGS[tagName]);\n    }\n\n    if (element.namespaceURI === MATHML_NAMESPACE) {\n      // The only way to switch from HTML namespace to MathML\n      // is via <math>. If it happens via any other tag, then\n      // it should be killed.\n      if (parent.namespaceURI === HTML_NAMESPACE) {\n        return tagName === 'math';\n      }\n\n      // The only way to switch from SVG to MathML is via\n      // <math> and HTML integration points\n      if (parent.namespaceURI === SVG_NAMESPACE) {\n        return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n      }\n\n      // We only allow elements that are defined in MathML\n      // spec. All others are disallowed in MathML namespace.\n      return Boolean(ALL_MATHML_TAGS[tagName]);\n    }\n\n    if (element.namespaceURI === HTML_NAMESPACE) {\n      // The only way to switch from SVG to HTML is via\n      // HTML integration points, and from MathML to HTML\n      // is via MathML text integration points\n      if (\n        parent.namespaceURI === SVG_NAMESPACE &&\n        !HTML_INTEGRATION_POINTS[parentTagName]\n      ) {\n        return false;\n      }\n\n      if (\n        parent.namespaceURI === MATHML_NAMESPACE &&\n        !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]\n      ) {\n        return false;\n      }\n\n      // We disallow tags that are specific for MathML\n      // or SVG and should never appear in HTML namespace\n      return (\n        !ALL_MATHML_TAGS[tagName] &&\n        (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName])\n      );\n    }\n\n    // For XHTML and XML documents that support custom namespaces\n    if (\n      PARSER_MEDIA_TYPE === 'application/xhtml+xml' &&\n      ALLOWED_NAMESPACES[element.namespaceURI]\n    ) {\n      return true;\n    }\n\n    // The code should never reach this place (this means\n    // that the element somehow got namespace that is not\n    // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).\n    // Return false just in case.\n    return false;\n  };\n\n  /**\n   * _forceRemove\n   *\n   * @param node a DOM node\n   */\n  const _forceRemove = function (node: Node): void {\n    arrayPush(DOMPurify.removed, { element: node });\n\n    try {\n      // eslint-disable-next-line unicorn/prefer-dom-node-remove\n      getParentNode(node).removeChild(node);\n    } catch (_) {\n      remove(node);\n    }\n  };\n\n  /**\n   * _removeAttribute\n   *\n   * @param name an Attribute name\n   * @param element a DOM node\n   */\n  const _removeAttribute = function (name: string, element: Element): void {\n    try {\n      arrayPush(DOMPurify.removed, {\n        attribute: element.getAttributeNode(name),\n        from: element,\n      });\n    } catch (_) {\n      arrayPush(DOMPurify.removed, {\n        attribute: null,\n        from: element,\n      });\n    }\n\n    element.removeAttribute(name);\n\n    // We void attribute values for unremovable \"is\" attributes\n    if (name === 'is') {\n      if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n        try {\n          _forceRemove(element);\n        } catch (_) {}\n      } else {\n        try {\n          element.setAttribute(name, '');\n        } catch (_) {}\n      }\n    }\n  };\n\n  /**\n   * _initDocument\n   *\n   * @param dirty - a string of dirty markup\n   * @return a DOM, filled with the dirty markup\n   */\n  const _initDocument = function (dirty: string): Document {\n    /* Create a HTML document */\n    let doc = null;\n    let leadingWhitespace = null;\n\n    if (FORCE_BODY) {\n      dirty = '<remove></remove>' + dirty;\n    } else {\n      /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n      const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n      leadingWhitespace = matches && matches[0];\n    }\n\n    if (\n      PARSER_MEDIA_TYPE === 'application/xhtml+xml' &&\n      NAMESPACE === HTML_NAMESPACE\n    ) {\n      // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n      dirty =\n        '<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>' +\n        dirty +\n        '</body></html>';\n    }\n\n    const dirtyPayload = trustedTypesPolicy\n      ? trustedTypesPolicy.createHTML(dirty)\n      : dirty;\n    /*\n     * Use the DOMParser API by default, fallback later if needs be\n     * DOMParser not work for svg when has multiple root element.\n     */\n    if (NAMESPACE === HTML_NAMESPACE) {\n      try {\n        doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n      } catch (_) {}\n    }\n\n    /* Use createHTMLDocument in case DOMParser is not available */\n    if (!doc || !doc.documentElement) {\n      doc = implementation.createDocument(NAMESPACE, 'template', null);\n      try {\n        doc.documentElement.innerHTML = IS_EMPTY_INPUT\n          ? emptyHTML\n          : dirtyPayload;\n      } catch (_) {\n        // Syntax error if dirtyPayload is invalid xml\n      }\n    }\n\n    const body = doc.body || doc.documentElement;\n\n    if (dirty && leadingWhitespace) {\n      body.insertBefore(\n        document.createTextNode(leadingWhitespace),\n        body.childNodes[0] || null\n      );\n    }\n\n    /* Work on whole document or just its body */\n    if (NAMESPACE === HTML_NAMESPACE) {\n      return getElementsByTagName.call(\n        doc,\n        WHOLE_DOCUMENT ? 'html' : 'body'\n      )[0];\n    }\n\n    return WHOLE_DOCUMENT ? doc.documentElement : body;\n  };\n\n  /**\n   * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document.\n   *\n   * @param root The root element or node to start traversing on.\n   * @return The created NodeIterator\n   */\n  const _createNodeIterator = function (root: Node): NodeIterator {\n    return createNodeIterator.call(\n      root.ownerDocument || root,\n      root,\n      // eslint-disable-next-line no-bitwise\n      NodeFilter.SHOW_ELEMENT |\n        NodeFilter.SHOW_COMMENT |\n        NodeFilter.SHOW_TEXT |\n        NodeFilter.SHOW_PROCESSING_INSTRUCTION |\n        NodeFilter.SHOW_CDATA_SECTION,\n      null\n    );\n  };\n\n  /**\n   * _isClobbered\n   *\n   * @param element element to check for clobbering attacks\n   * @return true if clobbered, false if safe\n   */\n  const _isClobbered = function (element: Element): boolean {\n    return (\n      element instanceof HTMLFormElement &&\n      (typeof element.nodeName !== 'string' ||\n        typeof element.textContent !== 'string' ||\n        typeof element.removeChild !== 'function' ||\n        !(element.attributes instanceof NamedNodeMap) ||\n        typeof element.removeAttribute !== 'function' ||\n        typeof element.setAttribute !== 'function' ||\n        typeof element.namespaceURI !== 'string' ||\n        typeof element.insertBefore !== 'function' ||\n        typeof element.hasChildNodes !== 'function')\n    );\n  };\n\n  /**\n   * Checks whether the given object is a DOM node.\n   *\n   * @param value object to check whether it's a DOM node\n   * @return true is object is a DOM node\n   */\n  const _isNode = function (value: unknown): value is Node {\n    return typeof Node === 'function' && value instanceof Node;\n  };\n\n  function _executeHooks<\n    T extends\n      | NodeHook\n      | ElementHook\n      | DocumentFragmentHook\n      | UponSanitizeElementHook\n      | UponSanitizeAttributeHook\n  >(hooks: T[], currentNode: Parameters<T>[0], data: Parameters<T>[1]): void {\n    arrayForEach(hooks, (hook) => {\n      hook.call(DOMPurify, currentNode, data, CONFIG);\n    });\n  }\n\n  /**\n   * _sanitizeElements\n   *\n   * @protect nodeName\n   * @protect textContent\n   * @protect removeChild\n   * @param currentNode to check for permission to exist\n   * @return true if node was killed, false if left alive\n   */\n  const _sanitizeElements = function (currentNode: any): boolean {\n    let content = null;\n\n    /* Execute a hook if present */\n    _executeHooks(hooks.beforeSanitizeElements, currentNode, null);\n\n    /* Check if element is clobbered or can clobber */\n    if (_isClobbered(currentNode)) {\n      _forceRemove(currentNode);\n      return true;\n    }\n\n    /* Now let's check the element's type and name */\n    const tagName = transformCaseFunc(currentNode.nodeName);\n\n    /* Execute a hook if present */\n    _executeHooks(hooks.uponSanitizeElement, currentNode, {\n      tagName,\n      allowedTags: ALLOWED_TAGS,\n    });\n\n    /* Detect mXSS attempts abusing namespace confusion */\n    if (\n      SAFE_FOR_XML &&\n      currentNode.hasChildNodes() &&\n      !_isNode(currentNode.firstElementChild) &&\n      regExpTest(/<[/\\w!]/g, currentNode.innerHTML) &&\n      regExpTest(/<[/\\w!]/g, currentNode.textContent)\n    ) {\n      _forceRemove(currentNode);\n      return true;\n    }\n\n    /* Remove any occurrence of processing instructions */\n    if (currentNode.nodeType === NODE_TYPE.progressingInstruction) {\n      _forceRemove(currentNode);\n      return true;\n    }\n\n    /* Remove any kind of possibly harmful comments */\n    if (\n      SAFE_FOR_XML &&\n      currentNode.nodeType === NODE_TYPE.comment &&\n      regExpTest(/<[/\\w]/g, currentNode.data)\n    ) {\n      _forceRemove(currentNode);\n      return true;\n    }\n\n    /* Remove element if anything forbids its presence */\n    if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n      /* Check if we have a custom element to handle */\n      if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {\n        if (\n          CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp &&\n          regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)\n        ) {\n          return false;\n        }\n\n        if (\n          CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function &&\n          CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)\n        ) {\n          return false;\n        }\n      }\n\n      /* Keep content except for bad-listed elements */\n      if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n        const parentNode = getParentNode(currentNode) || currentNode.parentNode;\n        const childNodes = getChildNodes(currentNode) || currentNode.childNodes;\n\n        if (childNodes && parentNode) {\n          const childCount = childNodes.length;\n\n          for (let i = childCount - 1; i >= 0; --i) {\n            const childClone = cloneNode(childNodes[i], true);\n            childClone.__removalCount = (currentNode.__removalCount || 0) + 1;\n            parentNode.insertBefore(childClone, getNextSibling(currentNode));\n          }\n        }\n      }\n\n      _forceRemove(currentNode);\n      return true;\n    }\n\n    /* Check whether element has a valid namespace */\n    if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n      _forceRemove(currentNode);\n      return true;\n    }\n\n    /* Make sure that older browsers don't get fallback-tag mXSS */\n    if (\n      (tagName === 'noscript' ||\n        tagName === 'noembed' ||\n        tagName === 'noframes') &&\n      regExpTest(/<\\/no(script|embed|frames)/i, currentNode.innerHTML)\n    ) {\n      _forceRemove(currentNode);\n      return true;\n    }\n\n    /* Sanitize element content to be template-safe */\n    if (SAFE_FOR_TEMPLATES && currentNode.nodeType === NODE_TYPE.text) {\n      /* Get the element's text content */\n      content = currentNode.textContent;\n\n      arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], (expr) => {\n        content = stringReplace(content, expr, ' ');\n      });\n\n      if (currentNode.textContent !== content) {\n        arrayPush(DOMPurify.removed, { element: currentNode.cloneNode() });\n        currentNode.textContent = content;\n      }\n    }\n\n    /* Execute a hook if present */\n    _executeHooks(hooks.afterSanitizeElements, currentNode, null);\n\n    return false;\n  };\n\n  /**\n   * _isValidAttribute\n   *\n   * @param lcTag Lowercase tag name of containing element.\n   * @param lcName Lowercase attribute name.\n   * @param value Attribute value.\n   * @return Returns true if `value` is valid, otherwise false.\n   */\n  // eslint-disable-next-line complexity\n  const _isValidAttribute = function (\n    lcTag: string,\n    lcName: string,\n    value: string\n  ): boolean {\n    /* Make sure attribute cannot clobber */\n    if (\n      SANITIZE_DOM &&\n      (lcName === 'id' || lcName === 'name') &&\n      (value in document || value in formElement)\n    ) {\n      return false;\n    }\n\n    /* Allow valid data-* attributes: At least one character after \"-\"\n        (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n        XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n        We don't need to check the value; it's always URI safe. */\n    if (\n      ALLOW_DATA_ATTR &&\n      !FORBID_ATTR[lcName] &&\n      regExpTest(DATA_ATTR, lcName)\n    ) {\n      // This attribute is safe\n    } else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) {\n      // This attribute is safe\n      /* Otherwise, check the name is permitted */\n    } else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n      if (\n        // First condition does a very basic check if a) it's basically a valid custom element tagname AND\n        // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n        // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck\n        (_isBasicCustomElement(lcTag) &&\n          ((CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp &&\n            regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag)) ||\n            (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function &&\n              CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag))) &&\n          ((CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp &&\n            regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName)) ||\n            (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function &&\n              CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)))) ||\n        // Alternative, second condition checks if it's an `is`-attribute, AND\n        // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n        (lcName === 'is' &&\n          CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements &&\n          ((CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp &&\n            regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value)) ||\n            (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function &&\n              CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))))\n      ) {\n        // If user has supplied a regexp or function in CUSTOM_ELEMENT_HANDLING.tagNameCheck, we need to also allow derived custom elements using the same tagName test.\n        // Additionally, we need to allow attributes passing the CUSTOM_ELEMENT_HANDLING.attributeNameCheck user has configured, as custom elements can define these at their own discretion.\n      } else {\n        return false;\n      }\n      /* Check value is safe. First, is attr inert? If so, is safe */\n    } else if (URI_SAFE_ATTRIBUTES[lcName]) {\n      // This attribute is safe\n      /* Check no script, data or unknown possibly unsafe URI\n        unless we know URI values are safe for that attribute */\n    } else if (\n      regExpTest(IS_ALLOWED_URI, stringReplace(value, ATTR_WHITESPACE, ''))\n    ) {\n      // This attribute is safe\n      /* Keep image data URIs alive if src/xlink:href is allowed */\n      /* Further prevent gadget XSS for dynamically built script tags */\n    } else if (\n      (lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') &&\n      lcTag !== 'script' &&\n      stringIndexOf(value, 'data:') === 0 &&\n      DATA_URI_TAGS[lcTag]\n    ) {\n      // This attribute is safe\n      /* Allow unknown protocols: This provides support for links that\n        are handled by protocol handlers which may be unknown ahead of\n        time, e.g. fb:, spotify: */\n    } else if (\n      ALLOW_UNKNOWN_PROTOCOLS &&\n      !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))\n    ) {\n      // This attribute is safe\n      /* Check for binary attributes */\n    } else if (value) {\n      return false;\n    } else {\n      // Binary attributes are safe at this point\n      /* Anything else, presume unsafe, do not add it back */\n    }\n\n    return true;\n  };\n\n  /**\n   * _isBasicCustomElement\n   * checks if at least one dash is included in tagName, and it's not the first char\n   * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name\n   *\n   * @param tagName name of the tag of the node to sanitize\n   * @returns Returns true if the tag name meets the basic criteria for a custom element, otherwise false.\n   */\n  const _isBasicCustomElement = function (tagName: string): RegExpMatchArray {\n    return tagName !== 'annotation-xml' && stringMatch(tagName, CUSTOM_ELEMENT);\n  };\n\n  /**\n   * _sanitizeAttributes\n   *\n   * @protect attributes\n   * @protect nodeName\n   * @protect removeAttribute\n   * @protect setAttribute\n   *\n   * @param currentNode to sanitize\n   */\n  const _sanitizeAttributes = function (currentNode: Element): void {\n    /* Execute a hook if present */\n    _executeHooks(hooks.beforeSanitizeAttributes, currentNode, null);\n\n    const { attributes } = currentNode;\n\n    /* Check if we have attributes; if not we might have a text node */\n    if (!attributes || _isClobbered(currentNode)) {\n      return;\n    }\n\n    const hookEvent = {\n      attrName: '',\n      attrValue: '',\n      keepAttr: true,\n      allowedAttributes: ALLOWED_ATTR,\n      forceKeepAttr: undefined,\n    };\n    let l = attributes.length;\n\n    /* Go backwards over all attributes; safely remove bad ones */\n    while (l--) {\n      const attr = attributes[l];\n      const { name, namespaceURI, value: attrValue } = attr;\n      const lcName = transformCaseFunc(name);\n\n      const initValue = attrValue;\n      let value = name === 'value' ? initValue : stringTrim(initValue);\n\n      /* Execute a hook if present */\n      hookEvent.attrName = lcName;\n      hookEvent.attrValue = value;\n      hookEvent.keepAttr = true;\n      hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n      _executeHooks(hooks.uponSanitizeAttribute, currentNode, hookEvent);\n      value = hookEvent.attrValue;\n\n      /* Full DOM Clobbering protection via namespace isolation,\n       * Prefix id and name attributes with `user-content-`\n       */\n      if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) {\n        // Remove the attribute with this value\n        _removeAttribute(name, currentNode);\n\n        // Prefix the value and later re-create the attribute with the sanitized value\n        value = SANITIZE_NAMED_PROPS_PREFIX + value;\n      }\n\n      /* Work around a security issue with comments inside attributes */\n      if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\\/(style|title)/i, value)) {\n        _removeAttribute(name, currentNode);\n        continue;\n      }\n\n      /* Did the hooks approve of the attribute? */\n      if (hookEvent.forceKeepAttr) {\n        continue;\n      }\n\n      /* Did the hooks approve of the attribute? */\n      if (!hookEvent.keepAttr) {\n        _removeAttribute(name, currentNode);\n        continue;\n      }\n\n      /* Work around a security issue in jQuery 3.0 */\n      if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\\/>/i, value)) {\n        _removeAttribute(name, currentNode);\n        continue;\n      }\n\n      /* Sanitize attribute content to be template-safe */\n      if (SAFE_FOR_TEMPLATES) {\n        arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], (expr) => {\n          value = stringReplace(value, expr, ' ');\n        });\n      }\n\n      /* Is `value` valid for this attribute? */\n      const lcTag = transformCaseFunc(currentNode.nodeName);\n      if (!_isValidAttribute(lcTag, lcName, value)) {\n        _removeAttribute(name, currentNode);\n        continue;\n      }\n\n      /* Handle attributes that require Trusted Types */\n      if (\n        trustedTypesPolicy &&\n        typeof trustedTypes === 'object' &&\n        typeof trustedTypes.getAttributeType === 'function'\n      ) {\n        if (namespaceURI) {\n          /* Namespaces are not yet supported, see https://bugs.chromium.org/p/chromium/issues/detail?id=1305293 */\n        } else {\n          switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n            case 'TrustedHTML': {\n              value = trustedTypesPolicy.createHTML(value);\n              break;\n            }\n\n            case 'TrustedScriptURL': {\n              value = trustedTypesPolicy.createScriptURL(value);\n              break;\n            }\n\n            default: {\n              break;\n            }\n          }\n        }\n      }\n\n      /* Handle invalid data-* attribute set by try-catching it */\n      if (value !== initValue) {\n        try {\n          if (namespaceURI) {\n            currentNode.setAttributeNS(namespaceURI, name, value);\n          } else {\n            /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n            currentNode.setAttribute(name, value);\n          }\n\n          if (_isClobbered(currentNode)) {\n            _forceRemove(currentNode);\n          } else {\n            arrayPop(DOMPurify.removed);\n          }\n        } catch (_) {\n          _removeAttribute(name, currentNode);\n        }\n      }\n    }\n\n    /* Execute a hook if present */\n    _executeHooks(hooks.afterSanitizeAttributes, currentNode, null);\n  };\n\n  /**\n   * _sanitizeShadowDOM\n   *\n   * @param fragment to iterate over recursively\n   */\n  const _sanitizeShadowDOM = function (fragment: DocumentFragment): void {\n    let shadowNode = null;\n    const shadowIterator = _createNodeIterator(fragment);\n\n    /* Execute a hook if present */\n    _executeHooks(hooks.beforeSanitizeShadowDOM, fragment, null);\n\n    while ((shadowNode = shadowIterator.nextNode())) {\n      /* Execute a hook if present */\n      _executeHooks(hooks.uponSanitizeShadowNode, shadowNode, null);\n\n      /* Sanitize tags and elements */\n      _sanitizeElements(shadowNode);\n\n      /* Check attributes next */\n      _sanitizeAttributes(shadowNode);\n\n      /* Deep shadow DOM detected */\n      if (shadowNode.content instanceof DocumentFragment) {\n        _sanitizeShadowDOM(shadowNode.content);\n      }\n    }\n\n    /* Execute a hook if present */\n    _executeHooks(hooks.afterSanitizeShadowDOM, fragment, null);\n  };\n\n  // eslint-disable-next-line complexity\n  DOMPurify.sanitize = function (dirty, cfg = {}) {\n    let body = null;\n    let importedNode = null;\n    let currentNode = null;\n    let returnNode = null;\n    /* Make sure we have a string to sanitize.\n      DO NOT return early, as this will return the wrong type if\n      the user has requested a DOM object rather than a string */\n    IS_EMPTY_INPUT = !dirty;\n    if (IS_EMPTY_INPUT) {\n      dirty = '<!-->';\n    }\n\n    /* Stringify, in case dirty is an object */\n    if (typeof dirty !== 'string' && !_isNode(dirty)) {\n      if (typeof dirty.toString === 'function') {\n        dirty = dirty.toString();\n        if (typeof dirty !== 'string') {\n          throw typeErrorCreate('dirty is not a string, aborting');\n        }\n      } else {\n        throw typeErrorCreate('toString is not a function');\n      }\n    }\n\n    /* Return dirty HTML if DOMPurify cannot run */\n    if (!DOMPurify.isSupported) {\n      return dirty;\n    }\n\n    /* Assign config vars */\n    if (!SET_CONFIG) {\n      _parseConfig(cfg);\n    }\n\n    /* Clean up removed elements */\n    DOMPurify.removed = [];\n\n    /* Check if dirty is correctly typed for IN_PLACE */\n    if (typeof dirty === 'string') {\n      IN_PLACE = false;\n    }\n\n    if (IN_PLACE) {\n      /* Do some early pre-sanitization to avoid unsafe root nodes */\n      if ((dirty as Node).nodeName) {\n        const tagName = transformCaseFunc((dirty as Node).nodeName);\n        if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n          throw typeErrorCreate(\n            'root node is forbidden and cannot be sanitized in-place'\n          );\n        }\n      }\n    } else if (dirty instanceof Node) {\n      /* If dirty is a DOM element, append to an empty document to avoid\n         elements being stripped by the parser */\n      body = _initDocument('<!---->');\n      importedNode = body.ownerDocument.importNode(dirty, true);\n      if (\n        importedNode.nodeType === NODE_TYPE.element &&\n        importedNode.nodeName === 'BODY'\n      ) {\n        /* Node is already a body, use as is */\n        body = importedNode;\n      } else if (importedNode.nodeName === 'HTML') {\n        body = importedNode;\n      } else {\n        // eslint-disable-next-line unicorn/prefer-dom-node-append\n        body.appendChild(importedNode);\n      }\n    } else {\n      /* Exit directly if we have nothing to do */\n      if (\n        !RETURN_DOM &&\n        !SAFE_FOR_TEMPLATES &&\n        !WHOLE_DOCUMENT &&\n        // eslint-disable-next-line unicorn/prefer-includes\n        dirty.indexOf('<') === -1\n      ) {\n        return trustedTypesPolicy && RETURN_TRUSTED_TYPE\n          ? trustedTypesPolicy.createHTML(dirty)\n          : dirty;\n      }\n\n      /* Initialize the document to work on */\n      body = _initDocument(dirty);\n\n      /* Check we have a DOM node from the data */\n      if (!body) {\n        return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';\n      }\n    }\n\n    /* Remove first element node (ours) if FORCE_BODY is set */\n    if (body && FORCE_BODY) {\n      _forceRemove(body.firstChild);\n    }\n\n    /* Get node iterator */\n    const nodeIterator = _createNodeIterator(IN_PLACE ? dirty : body);\n\n    /* Now start iterating over the created document */\n    while ((currentNode = nodeIterator.nextNode())) {\n      /* Sanitize tags and elements */\n      _sanitizeElements(currentNode);\n\n      /* Check attributes next */\n      _sanitizeAttributes(currentNode);\n\n      /* Shadow DOM detected, sanitize it */\n      if (currentNode.content instanceof DocumentFragment) {\n        _sanitizeShadowDOM(currentNode.content);\n      }\n    }\n\n    /* If we sanitized `dirty` in-place, return it. */\n    if (IN_PLACE) {\n      return dirty;\n    }\n\n    /* Return sanitized string or DOM */\n    if (RETURN_DOM) {\n      if (RETURN_DOM_FRAGMENT) {\n        returnNode = createDocumentFragment.call(body.ownerDocument);\n\n        while (body.firstChild) {\n          // eslint-disable-next-line unicorn/prefer-dom-node-append\n          returnNode.appendChild(body.firstChild);\n        }\n      } else {\n        returnNode = body;\n      }\n\n      if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) {\n        /*\n          AdoptNode() is not used because internal state is not reset\n          (e.g. the past names map of a HTMLFormElement), this is safe\n          in theory but we would rather not risk another attack vector.\n          The state that is cloned by importNode() is explicitly defined\n          by the specs.\n        */\n        returnNode = importNode.call(originalDocument, returnNode, true);\n      }\n\n      return returnNode;\n    }\n\n    let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n\n    /* Serialize doctype if allowed */\n    if (\n      WHOLE_DOCUMENT &&\n      ALLOWED_TAGS['!doctype'] &&\n      body.ownerDocument &&\n      body.ownerDocument.doctype &&\n      body.ownerDocument.doctype.name &&\n      regExpTest(EXPRESSIONS.DOCTYPE_NAME, body.ownerDocument.doctype.name)\n    ) {\n      serializedHTML =\n        '<!DOCTYPE ' + body.ownerDocument.doctype.name + '>\\n' + serializedHTML;\n    }\n\n    /* Sanitize final string template-safe */\n    if (SAFE_FOR_TEMPLATES) {\n      arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], (expr) => {\n        serializedHTML = stringReplace(serializedHTML, expr, ' ');\n      });\n    }\n\n    return trustedTypesPolicy && RETURN_TRUSTED_TYPE\n      ? trustedTypesPolicy.createHTML(serializedHTML)\n      : serializedHTML;\n  };\n\n  DOMPurify.setConfig = function (cfg = {}) {\n    _parseConfig(cfg);\n    SET_CONFIG = true;\n  };\n\n  DOMPurify.clearConfig = function () {\n    CONFIG = null;\n    SET_CONFIG = false;\n  };\n\n  DOMPurify.isValidAttribute = function (tag, attr, value) {\n    /* Initialize shared config vars if necessary. */\n    if (!CONFIG) {\n      _parseConfig({});\n    }\n\n    const lcTag = transformCaseFunc(tag);\n    const lcName = transformCaseFunc(attr);\n    return _isValidAttribute(lcTag, lcName, value);\n  };\n\n  DOMPurify.addHook = function (entryPoint, hookFunction) {\n    if (typeof hookFunction !== 'function') {\n      return;\n    }\n\n    arrayPush(hooks[entryPoint], hookFunction);\n  };\n\n  DOMPurify.removeHook = function (entryPoint, hookFunction) {\n    if (hookFunction !== undefined) {\n      const index = arrayLastIndexOf(hooks[entryPoint], hookFunction);\n\n      return index === -1\n        ? undefined\n        : arraySplice(hooks[entryPoint], index, 1)[0];\n    }\n\n    return arrayPop(hooks[entryPoint]);\n  };\n\n  DOMPurify.removeHooks = function (entryPoint) {\n    hooks[entryPoint] = [];\n  };\n\n  DOMPurify.removeAllHooks = function () {\n    hooks = _createHooksMap();\n  };\n\n  return DOMPurify;\n}\n\nexport default createDOMPurify();\n\nexport interface DOMPurify {\n  /**\n   * Creates a DOMPurify instance using the given window-like object. Defaults to `window`.\n   */\n  (root?: WindowLike): DOMPurify;\n\n  /**\n   * Version label, exposed for easier checks\n   * if DOMPurify is up to date or not\n   */\n  version: string;\n\n  /**\n   * Array of elements that DOMPurify removed during sanitation.\n   * Empty if nothing was removed.\n   */\n  removed: Array<RemovedElement | RemovedAttribute>;\n\n  /**\n   * Expose whether this browser supports running the full DOMPurify.\n   */\n  isSupported: boolean;\n\n  /**\n   * Set the configuration once.\n   *\n   * @param cfg configuration object\n   */\n  setConfig(cfg?: Config): void;\n\n  /**\n   * Removes the configuration.\n   */\n  clearConfig(): void;\n\n  /**\n   * Provides core sanitation functionality.\n   *\n   * @param dirty string or DOM node\n   * @param cfg object\n   * @returns Sanitized TrustedHTML.\n   */\n  sanitize(\n    dirty: string | Node,\n    cfg: Config & { RETURN_TRUSTED_TYPE: true }\n  ): TrustedHTML;\n\n  /**\n   * Provides core sanitation functionality.\n   *\n   * @param dirty DOM node\n   * @param cfg object\n   * @returns Sanitized DOM node.\n   */\n  sanitize(dirty: Node, cfg: Config & { IN_PLACE: true }): Node;\n\n  /**\n   * Provides core sanitation functionality.\n   *\n   * @param dirty string or DOM node\n   * @param cfg object\n   * @returns Sanitized DOM node.\n   */\n  sanitize(dirty: string | Node, cfg: Config & { RETURN_DOM: true }): Node;\n\n  /**\n   * Provides core sanitation functionality.\n   *\n   * @param dirty string or DOM node\n   * @param cfg object\n   * @returns Sanitized document fragment.\n   */\n  sanitize(\n    dirty: string | Node,\n    cfg: Config & { RETURN_DOM_FRAGMENT: true }\n  ): DocumentFragment;\n\n  /**\n   * Provides core sanitation functionality.\n   *\n   * @param dirty string or DOM node\n   * @param cfg object\n   * @returns Sanitized string.\n   */\n  sanitize(dirty: string | Node, cfg?: Config): string;\n\n  /**\n   * Checks if an attribute value is valid.\n   * Uses last set config, if any. Otherwise, uses config defaults.\n   *\n   * @param tag Tag name of containing element.\n   * @param attr Attribute name.\n   * @param value Attribute value.\n   * @returns Returns true if `value` is valid. Otherwise, returns false.\n   */\n  isValidAttribute(tag: string, attr: string, value: string): boolean;\n\n  /**\n   * Adds a DOMPurify hook.\n   *\n   * @param entryPoint entry point for the hook to add\n   * @param hookFunction function to execute\n   */\n  addHook(entryPoint: BasicHookName, hookFunction: NodeHook): void;\n\n  /**\n   * Adds a DOMPurify hook.\n   *\n   * @param entryPoint entry point for the hook to add\n   * @param hookFunction function to execute\n   */\n  addHook(entryPoint: ElementHookName, hookFunction: ElementHook): void;\n\n  /**\n   * Adds a DOMPurify hook.\n   *\n   * @param entryPoint entry point for the hook to add\n   * @param hookFunction function to execute\n   */\n  addHook(\n    entryPoint: DocumentFragmentHookName,\n    hookFunction: DocumentFragmentHook\n  ): void;\n\n  /**\n   * Adds a DOMPurify hook.\n   *\n   * @param entryPoint entry point for the hook to add\n   * @param hookFunction function to execute\n   */\n  addHook(\n    entryPoint: 'uponSanitizeElement',\n    hookFunction: UponSanitizeElementHook\n  ): void;\n\n  /**\n   * Adds a DOMPurify hook.\n   *\n   * @param entryPoint entry point for the hook to add\n   * @param hookFunction function to execute\n   */\n  addHook(\n    entryPoint: 'uponSanitizeAttribute',\n    hookFunction: UponSanitizeAttributeHook\n  ): void;\n\n  /**\n   * Remove a DOMPurify hook at a given entryPoint\n   * (pops it from the stack of hooks if hook not specified)\n   *\n   * @param entryPoint entry point for the hook to remove\n   * @param hookFunction optional specific hook to remove\n   * @returns removed hook\n   */\n  removeHook(\n    entryPoint: BasicHookName,\n    hookFunction?: NodeHook\n  ): NodeHook | undefined;\n\n  /**\n   * Remove a DOMPurify hook at a given entryPoint\n   * (pops it from the stack of hooks if hook not specified)\n   *\n   * @param entryPoint entry point for the hook to remove\n   * @param hookFunction optional specific hook to remove\n   * @returns removed hook\n   */\n  removeHook(\n    entryPoint: ElementHookName,\n    hookFunction?: ElementHook\n  ): ElementHook | undefined;\n\n  /**\n   * Remove a DOMPurify hook at a given entryPoint\n   * (pops it from the stack of hooks if hook not specified)\n   *\n   * @param entryPoint entry point for the hook to remove\n   * @param hookFunction optional specific hook to remove\n   * @returns removed hook\n   */\n  removeHook(\n    entryPoint: DocumentFragmentHookName,\n    hookFunction?: DocumentFragmentHook\n  ): DocumentFragmentHook | undefined;\n\n  /**\n   * Remove a DOMPurify hook at a given entryPoint\n   * (pops it from the stack of hooks if hook not specified)\n   *\n   * @param entryPoint entry point for the hook to remove\n   * @param hookFunction optional specific hook to remove\n   * @returns removed hook\n   */\n  removeHook(\n    entryPoint: 'uponSanitizeElement',\n    hookFunction?: UponSanitizeElementHook\n  ): UponSanitizeElementHook | undefined;\n\n  /**\n   * Remove a DOMPurify hook at a given entryPoint\n   * (pops it from the stack of hooks if hook not specified)\n   *\n   * @param entryPoint entry point for the hook to remove\n   * @param hookFunction optional specific hook to remove\n   * @returns removed hook\n   */\n  removeHook(\n    entryPoint: 'uponSanitizeAttribute',\n    hookFunction?: UponSanitizeAttributeHook\n  ): UponSanitizeAttributeHook | undefined;\n\n  /**\n   * Removes all DOMPurify hooks at a given entryPoint\n   *\n   * @param entryPoint entry point for the hooks to remove\n   */\n  removeHooks(entryPoint: HookName): void;\n\n  /**\n   * Removes all DOMPurify hooks.\n   */\n  removeAllHooks(): void;\n}\n\n/**\n * An element removed by DOMPurify.\n */\nexport interface RemovedElement {\n  /**\n   * The element that was removed.\n   */\n  element: Node;\n}\n\n/**\n * An element removed by DOMPurify.\n */\nexport interface RemovedAttribute {\n  /**\n   * The attribute that was removed.\n   */\n  attribute: Attr | null;\n\n  /**\n   * The element that the attribute was removed.\n   */\n  from: Node;\n}\n\ntype BasicHookName =\n  | 'beforeSanitizeElements'\n  | 'afterSanitizeElements'\n  | 'uponSanitizeShadowNode';\ntype ElementHookName = 'beforeSanitizeAttributes' | 'afterSanitizeAttributes';\ntype DocumentFragmentHookName =\n  | 'beforeSanitizeShadowDOM'\n  | 'afterSanitizeShadowDOM';\ntype UponSanitizeElementHookName = 'uponSanitizeElement';\ntype UponSanitizeAttributeHookName = 'uponSanitizeAttribute';\n\ninterface HooksMap {\n  beforeSanitizeElements: NodeHook[];\n  afterSanitizeElements: NodeHook[];\n  beforeSanitizeShadowDOM: DocumentFragmentHook[];\n  uponSanitizeShadowNode: NodeHook[];\n  afterSanitizeShadowDOM: DocumentFragmentHook[];\n  beforeSanitizeAttributes: ElementHook[];\n  afterSanitizeAttributes: ElementHook[];\n  uponSanitizeElement: UponSanitizeElementHook[];\n  uponSanitizeAttribute: UponSanitizeAttributeHook[];\n}\n\nexport type HookName =\n  | BasicHookName\n  | ElementHookName\n  | DocumentFragmentHookName\n  | UponSanitizeElementHookName\n  | UponSanitizeAttributeHookName;\n\nexport type NodeHook = (\n  this: DOMPurify,\n  currentNode: Node,\n  hookEvent: null,\n  config: Config\n) => void;\n\nexport type ElementHook = (\n  this: DOMPurify,\n  currentNode: Element,\n  hookEvent: null,\n  config: Config\n) => void;\n\nexport type DocumentFragmentHook = (\n  this: DOMPurify,\n  currentNode: DocumentFragment,\n  hookEvent: null,\n  config: Config\n) => void;\n\nexport type UponSanitizeElementHook = (\n  this: DOMPurify,\n  currentNode: Node,\n  hookEvent: UponSanitizeElementHookEvent,\n  config: Config\n) => void;\n\nexport type UponSanitizeAttributeHook = (\n  this: DOMPurify,\n  currentNode: Element,\n  hookEvent: UponSanitizeAttributeHookEvent,\n  config: Config\n) => void;\n\nexport interface UponSanitizeElementHookEvent {\n  tagName: string;\n  allowedTags: Record<string, boolean>;\n}\n\nexport interface UponSanitizeAttributeHookEvent {\n  attrName: string;\n  attrValue: string;\n  keepAttr: boolean;\n  allowedAttributes: Record<string, boolean>;\n  forceKeepAttr: boolean | undefined;\n}\n\n/**\n * A `Window`-like object containing the properties and types that DOMPurify requires.\n */\nexport type WindowLike = Pick<\n  typeof globalThis,\n  | 'DocumentFragment'\n  | 'HTMLTemplateElement'\n  | 'Node'\n  | 'Element'\n  | 'NodeFilter'\n  | 'NamedNodeMap'\n  | 'HTMLFormElement'\n  | 'DOMParser'\n> & {\n  document?: Document;\n  MozNamedAttrMap?: typeof window.NamedNodeMap;\n} & Pick<TrustedTypesWindow, 'trustedTypes'>;\n","import getGeneratorFunction from './index.js';\n\n/** @type {import('./index.d.mts').default} */\nexport default getGeneratorFunction;\n","import Stream from 'stream';\nimport http from 'http';\nimport Url from 'url';\nimport whatwgUrl from 'whatwg-url';\nimport https from 'https';\nimport zlib from 'zlib';\n\n// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js\n\n// fix for \"Readable\" isn't a named export issue\nconst Readable = Stream.Readable;\n\nconst BUFFER = Symbol('buffer');\nconst TYPE = Symbol('type');\n\nclass Blob {\n\tconstructor() {\n\t\tthis[TYPE] = '';\n\n\t\tconst blobParts = arguments[0];\n\t\tconst options = arguments[1];\n\n\t\tconst buffers = [];\n\t\tlet size = 0;\n\n\t\tif (blobParts) {\n\t\t\tconst a = blobParts;\n\t\t\tconst length = Number(a.length);\n\t\t\tfor (let i = 0; i < length; i++) {\n\t\t\t\tconst element = a[i];\n\t\t\t\tlet buffer;\n\t\t\t\tif (element instanceof Buffer) {\n\t\t\t\t\tbuffer = element;\n\t\t\t\t} else if (ArrayBuffer.isView(element)) {\n\t\t\t\t\tbuffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength);\n\t\t\t\t} else if (element instanceof ArrayBuffer) {\n\t\t\t\t\tbuffer = Buffer.from(element);\n\t\t\t\t} else if (element instanceof Blob) {\n\t\t\t\t\tbuffer = element[BUFFER];\n\t\t\t\t} else {\n\t\t\t\t\tbuffer = Buffer.from(typeof element === 'string' ? element : String(element));\n\t\t\t\t}\n\t\t\t\tsize += buffer.length;\n\t\t\t\tbuffers.push(buffer);\n\t\t\t}\n\t\t}\n\n\t\tthis[BUFFER] = Buffer.concat(buffers);\n\n\t\tlet type = options && options.type !== undefined && String(options.type).toLowerCase();\n\t\tif (type && !/[^\\u0020-\\u007E]/.test(type)) {\n\t\t\tthis[TYPE] = type;\n\t\t}\n\t}\n\tget size() {\n\t\treturn this[BUFFER].length;\n\t}\n\tget type() {\n\t\treturn this[TYPE];\n\t}\n\ttext() {\n\t\treturn Promise.resolve(this[BUFFER].toString());\n\t}\n\tarrayBuffer() {\n\t\tconst buf = this[BUFFER];\n\t\tconst ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\treturn Promise.resolve(ab);\n\t}\n\tstream() {\n\t\tconst readable = new Readable();\n\t\treadable._read = function () {};\n\t\treadable.push(this[BUFFER]);\n\t\treadable.push(null);\n\t\treturn readable;\n\t}\n\ttoString() {\n\t\treturn '[object Blob]';\n\t}\n\tslice() {\n\t\tconst size = this.size;\n\n\t\tconst start = arguments[0];\n\t\tconst end = arguments[1];\n\t\tlet relativeStart, relativeEnd;\n\t\tif (start === undefined) {\n\t\t\trelativeStart = 0;\n\t\t} else if (start < 0) {\n\t\t\trelativeStart = Math.max(size + start, 0);\n\t\t} else {\n\t\t\trelativeStart = Math.min(start, size);\n\t\t}\n\t\tif (end === undefined) {\n\t\t\trelativeEnd = size;\n\t\t} else if (end < 0) {\n\t\t\trelativeEnd = Math.max(size + end, 0);\n\t\t} else {\n\t\t\trelativeEnd = Math.min(end, size);\n\t\t}\n\t\tconst span = Math.max(relativeEnd - relativeStart, 0);\n\n\t\tconst buffer = this[BUFFER];\n\t\tconst slicedBuffer = buffer.slice(relativeStart, relativeStart + span);\n\t\tconst blob = new Blob([], { type: arguments[2] });\n\t\tblob[BUFFER] = slicedBuffer;\n\t\treturn blob;\n\t}\n}\n\nObject.defineProperties(Blob.prototype, {\n\tsize: { enumerable: true },\n\ttype: { enumerable: true },\n\tslice: { enumerable: true }\n});\n\nObject.defineProperty(Blob.prototype, Symbol.toStringTag, {\n\tvalue: 'Blob',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * fetch-error.js\n *\n * FetchError interface for operational errors\n */\n\n/**\n * Create FetchError instance\n *\n * @param   String      message      Error message for human\n * @param   String      type         Error type for machine\n * @param   String      systemError  For Node.js system error\n * @return  FetchError\n */\nfunction FetchError(message, type, systemError) {\n  Error.call(this, message);\n\n  this.message = message;\n  this.type = type;\n\n  // when err.type is `system`, err.code contains system error code\n  if (systemError) {\n    this.code = this.errno = systemError.code;\n  }\n\n  // hide custom error implementation details from end-users\n  Error.captureStackTrace(this, this.constructor);\n}\n\nFetchError.prototype = Object.create(Error.prototype);\nFetchError.prototype.constructor = FetchError;\nFetchError.prototype.name = 'FetchError';\n\nlet convert;\ntry {\n\tconvert = require('encoding').convert;\n} catch (e) {}\n\nconst INTERNALS = Symbol('Body internals');\n\n// fix an issue where \"PassThrough\" isn't a named export for node <10\nconst PassThrough = Stream.PassThrough;\n\n/**\n * Body mixin\n *\n * Ref: https://fetch.spec.whatwg.org/#body\n *\n * @param   Stream  body  Readable stream\n * @param   Object  opts  Response options\n * @return  Void\n */\nfunction Body(body) {\n\tvar _this = this;\n\n\tvar _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n\t    _ref$size = _ref.size;\n\n\tlet size = _ref$size === undefined ? 0 : _ref$size;\n\tvar _ref$timeout = _ref.timeout;\n\tlet timeout = _ref$timeout === undefined ? 0 : _ref$timeout;\n\n\tif (body == null) {\n\t\t// body is undefined or null\n\t\tbody = null;\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t\tbody = Buffer.from(body.toString());\n\t} else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is ArrayBuffer\n\t\tbody = Buffer.from(body);\n\t} else if (ArrayBuffer.isView(body)) {\n\t\t// body is ArrayBufferView\n\t\tbody = Buffer.from(body.buffer, body.byteOffset, body.byteLength);\n\t} else if (body instanceof Stream) ; else {\n\t\t// none of the above\n\t\t// coerce to string then buffer\n\t\tbody = Buffer.from(String(body));\n\t}\n\tthis[INTERNALS] = {\n\t\tbody,\n\t\tdisturbed: false,\n\t\terror: null\n\t};\n\tthis.size = size;\n\tthis.timeout = timeout;\n\n\tif (body instanceof Stream) {\n\t\tbody.on('error', function (err) {\n\t\t\tconst error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err);\n\t\t\t_this[INTERNALS].error = error;\n\t\t});\n\t}\n}\n\nBody.prototype = {\n\tget body() {\n\t\treturn this[INTERNALS].body;\n\t},\n\n\tget bodyUsed() {\n\t\treturn this[INTERNALS].disturbed;\n\t},\n\n\t/**\n  * Decode response as ArrayBuffer\n  *\n  * @return  Promise\n  */\n\tarrayBuffer() {\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\t});\n\t},\n\n\t/**\n  * Return raw response as Blob\n  *\n  * @return Promise\n  */\n\tblob() {\n\t\tlet ct = this.headers && this.headers.get('content-type') || '';\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn Object.assign(\n\t\t\t// Prevent copying\n\t\t\tnew Blob([], {\n\t\t\t\ttype: ct.toLowerCase()\n\t\t\t}), {\n\t\t\t\t[BUFFER]: buf\n\t\t\t});\n\t\t});\n\t},\n\n\t/**\n  * Decode response as json\n  *\n  * @return  Promise\n  */\n\tjson() {\n\t\tvar _this2 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(buffer.toString());\n\t\t\t} catch (err) {\n\t\t\t\treturn Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json'));\n\t\t\t}\n\t\t});\n\t},\n\n\t/**\n  * Decode response as text\n  *\n  * @return  Promise\n  */\n\ttext() {\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn buffer.toString();\n\t\t});\n\t},\n\n\t/**\n  * Decode response as buffer (non-spec api)\n  *\n  * @return  Promise\n  */\n\tbuffer() {\n\t\treturn consumeBody.call(this);\n\t},\n\n\t/**\n  * Decode response as text, while automatically detecting the encoding and\n  * trying to decode to UTF-8 (non-spec api)\n  *\n  * @return  Promise\n  */\n\ttextConverted() {\n\t\tvar _this3 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn convertBody(buffer, _this3.headers);\n\t\t});\n\t}\n};\n\n// In browsers, all properties are enumerable.\nObject.defineProperties(Body.prototype, {\n\tbody: { enumerable: true },\n\tbodyUsed: { enumerable: true },\n\tarrayBuffer: { enumerable: true },\n\tblob: { enumerable: true },\n\tjson: { enumerable: true },\n\ttext: { enumerable: true }\n});\n\nBody.mixIn = function (proto) {\n\tfor (const name of Object.getOwnPropertyNames(Body.prototype)) {\n\t\t// istanbul ignore else: future proof\n\t\tif (!(name in proto)) {\n\t\t\tconst desc = Object.getOwnPropertyDescriptor(Body.prototype, name);\n\t\t\tObject.defineProperty(proto, name, desc);\n\t\t}\n\t}\n};\n\n/**\n * Consume and convert an entire Body to a Buffer.\n *\n * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body\n *\n * @return  Promise\n */\nfunction consumeBody() {\n\tvar _this4 = this;\n\n\tif (this[INTERNALS].disturbed) {\n\t\treturn Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));\n\t}\n\n\tthis[INTERNALS].disturbed = true;\n\n\tif (this[INTERNALS].error) {\n\t\treturn Body.Promise.reject(this[INTERNALS].error);\n\t}\n\n\tlet body = this.body;\n\n\t// body is null\n\tif (body === null) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is blob\n\tif (isBlob(body)) {\n\t\tbody = body.stream();\n\t}\n\n\t// body is buffer\n\tif (Buffer.isBuffer(body)) {\n\t\treturn Body.Promise.resolve(body);\n\t}\n\n\t// istanbul ignore if: should never happen\n\tif (!(body instanceof Stream)) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is stream\n\t// get ready to actually consume the body\n\tlet accum = [];\n\tlet accumBytes = 0;\n\tlet abort = false;\n\n\treturn new Body.Promise(function (resolve, reject) {\n\t\tlet resTimeout;\n\n\t\t// allow timeout on slow response body\n\t\tif (_this4.timeout) {\n\t\t\tresTimeout = setTimeout(function () {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout'));\n\t\t\t}, _this4.timeout);\n\t\t}\n\n\t\t// handle stream errors\n\t\tbody.on('error', function (err) {\n\t\t\tif (err.name === 'AbortError') {\n\t\t\t\t// if the request was aborted, reject with this Error\n\t\t\t\tabort = true;\n\t\t\t\treject(err);\n\t\t\t} else {\n\t\t\t\t// other errors, such as incorrect content-encoding\n\t\t\t\treject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\n\t\tbody.on('data', function (chunk) {\n\t\t\tif (abort || chunk === null) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (_this4.size && accumBytes + chunk.length > _this4.size) {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size'));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\taccumBytes += chunk.length;\n\t\t\taccum.push(chunk);\n\t\t});\n\n\t\tbody.on('end', function () {\n\t\t\tif (abort) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tclearTimeout(resTimeout);\n\n\t\t\ttry {\n\t\t\t\tresolve(Buffer.concat(accum, accumBytes));\n\t\t\t} catch (err) {\n\t\t\t\t// handle streams that have accumulated too much data (issue #414)\n\t\t\t\treject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Detect buffer encoding and convert to target encoding\n * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding\n *\n * @param   Buffer  buffer    Incoming buffer\n * @param   String  encoding  Target encoding\n * @return  String\n */\nfunction convertBody(buffer, headers) {\n\tif (typeof convert !== 'function') {\n\t\tthrow new Error('The package `encoding` must be installed to use the textConverted() function');\n\t}\n\n\tconst ct = headers.get('content-type');\n\tlet charset = 'utf-8';\n\tlet res, str;\n\n\t// header\n\tif (ct) {\n\t\tres = /charset=([^;]*)/i.exec(ct);\n\t}\n\n\t// no charset in content type, peek at response body for at most 1024 bytes\n\tstr = buffer.slice(0, 1024).toString();\n\n\t// html5\n\tif (!res && str) {\n\t\tres = /<meta.+?charset=(['\"])(.+?)\\1/i.exec(str);\n\t}\n\n\t// html4\n\tif (!res && str) {\n\t\tres = /<meta[\\s]+?http-equiv=(['\"])content-type\\1[\\s]+?content=(['\"])(.+?)\\2/i.exec(str);\n\t\tif (!res) {\n\t\t\tres = /<meta[\\s]+?content=(['\"])(.+?)\\1[\\s]+?http-equiv=(['\"])content-type\\3/i.exec(str);\n\t\t\tif (res) {\n\t\t\t\tres.pop(); // drop last quote\n\t\t\t}\n\t\t}\n\n\t\tif (res) {\n\t\t\tres = /charset=(.*)/i.exec(res.pop());\n\t\t}\n\t}\n\n\t// xml\n\tif (!res && str) {\n\t\tres = /<\\?xml.+?encoding=(['\"])(.+?)\\1/i.exec(str);\n\t}\n\n\t// found charset\n\tif (res) {\n\t\tcharset = res.pop();\n\n\t\t// prevent decode issues when sites use incorrect encoding\n\t\t// ref: https://hsivonen.fi/encoding-menu/\n\t\tif (charset === 'gb2312' || charset === 'gbk') {\n\t\t\tcharset = 'gb18030';\n\t\t}\n\t}\n\n\t// turn raw buffers into a single utf-8 buffer\n\treturn convert(buffer, 'UTF-8', charset).toString();\n}\n\n/**\n * Detect a URLSearchParams object\n * ref: https://github.com/bitinn/node-fetch/issues/296#issuecomment-307598143\n *\n * @param   Object  obj     Object to detect by type or brand\n * @return  String\n */\nfunction isURLSearchParams(obj) {\n\t// Duck-typing as a necessary condition.\n\tif (typeof obj !== 'object' || typeof obj.append !== 'function' || typeof obj.delete !== 'function' || typeof obj.get !== 'function' || typeof obj.getAll !== 'function' || typeof obj.has !== 'function' || typeof obj.set !== 'function') {\n\t\treturn false;\n\t}\n\n\t// Brand-checking and more duck-typing as optional condition.\n\treturn obj.constructor.name === 'URLSearchParams' || Object.prototype.toString.call(obj) === '[object URLSearchParams]' || typeof obj.sort === 'function';\n}\n\n/**\n * Check if `obj` is a W3C `Blob` object (which `File` inherits from)\n * @param  {*} obj\n * @return {boolean}\n */\nfunction isBlob(obj) {\n\treturn typeof obj === 'object' && typeof obj.arrayBuffer === 'function' && typeof obj.type === 'string' && typeof obj.stream === 'function' && typeof obj.constructor === 'function' && typeof obj.constructor.name === 'string' && /^(Blob|File)$/.test(obj.constructor.name) && /^(Blob|File)$/.test(obj[Symbol.toStringTag]);\n}\n\n/**\n * Clone body given Res/Req instance\n *\n * @param   Mixed  instance  Response or Request instance\n * @return  Mixed\n */\nfunction clone(instance) {\n\tlet p1, p2;\n\tlet body = instance.body;\n\n\t// don't allow cloning a used body\n\tif (instance.bodyUsed) {\n\t\tthrow new Error('cannot clone body after it is used');\n\t}\n\n\t// check that body is a stream and not form-data object\n\t// note: we can't clone the form-data object without having it as a dependency\n\tif (body instanceof Stream && typeof body.getBoundary !== 'function') {\n\t\t// tee instance body\n\t\tp1 = new PassThrough();\n\t\tp2 = new PassThrough();\n\t\tbody.pipe(p1);\n\t\tbody.pipe(p2);\n\t\t// set instance body to teed body and return the other teed body\n\t\tinstance[INTERNALS].body = p1;\n\t\tbody = p2;\n\t}\n\n\treturn body;\n}\n\n/**\n * Performs the operation \"extract a `Content-Type` value from |object|\" as\n * specified in the specification:\n * https://fetch.spec.whatwg.org/#concept-bodyinit-extract\n *\n * This function assumes that instance.body is present.\n *\n * @param   Mixed  instance  Any options.body input\n */\nfunction extractContentType(body) {\n\tif (body === null) {\n\t\t// body is null\n\t\treturn null;\n\t} else if (typeof body === 'string') {\n\t\t// body is string\n\t\treturn 'text/plain;charset=UTF-8';\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t\treturn 'application/x-www-form-urlencoded;charset=UTF-8';\n\t} else if (isBlob(body)) {\n\t\t// body is blob\n\t\treturn body.type || null;\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t\treturn null;\n\t} else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is ArrayBuffer\n\t\treturn null;\n\t} else if (ArrayBuffer.isView(body)) {\n\t\t// body is ArrayBufferView\n\t\treturn null;\n\t} else if (typeof body.getBoundary === 'function') {\n\t\t// detect form data input from form-data module\n\t\treturn `multipart/form-data;boundary=${body.getBoundary()}`;\n\t} else if (body instanceof Stream) {\n\t\t// body is stream\n\t\t// can't really do much about this\n\t\treturn null;\n\t} else {\n\t\t// Body constructor defaults other things to string\n\t\treturn 'text/plain;charset=UTF-8';\n\t}\n}\n\n/**\n * The Fetch Standard treats this as if \"total bytes\" is a property on the body.\n * For us, we have to explicitly get it with a function.\n *\n * ref: https://fetch.spec.whatwg.org/#concept-body-total-bytes\n *\n * @param   Body    instance   Instance of Body\n * @return  Number?            Number of bytes, or null if not possible\n */\nfunction getTotalBytes(instance) {\n\tconst body = instance.body;\n\n\n\tif (body === null) {\n\t\t// body is null\n\t\treturn 0;\n\t} else if (isBlob(body)) {\n\t\treturn body.size;\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t\treturn body.length;\n\t} else if (body && typeof body.getLengthSync === 'function') {\n\t\t// detect form data input from form-data module\n\t\tif (body._lengthRetrievers && body._lengthRetrievers.length == 0 || // 1.x\n\t\tbody.hasKnownLength && body.hasKnownLength()) {\n\t\t\t// 2.x\n\t\t\treturn body.getLengthSync();\n\t\t}\n\t\treturn null;\n\t} else {\n\t\t// body is stream\n\t\treturn null;\n\t}\n}\n\n/**\n * Write a Body to a Node.js WritableStream (e.g. http.Request) object.\n *\n * @param   Body    instance   Instance of Body\n * @return  Void\n */\nfunction writeToStream(dest, instance) {\n\tconst body = instance.body;\n\n\n\tif (body === null) {\n\t\t// body is null\n\t\tdest.end();\n\t} else if (isBlob(body)) {\n\t\tbody.stream().pipe(dest);\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t\tdest.write(body);\n\t\tdest.end();\n\t} else {\n\t\t// body is stream\n\t\tbody.pipe(dest);\n\t}\n}\n\n// expose Promise\nBody.Promise = global.Promise;\n\n/**\n * headers.js\n *\n * Headers class offers convenient helpers\n */\n\nconst invalidTokenRegex = /[^\\^_`a-zA-Z\\-0-9!#$%&'*+.|~]/;\nconst invalidHeaderCharRegex = /[^\\t\\x20-\\x7e\\x80-\\xff]/;\n\nfunction validateName(name) {\n\tname = `${name}`;\n\tif (invalidTokenRegex.test(name) || name === '') {\n\t\tthrow new TypeError(`${name} is not a legal HTTP header name`);\n\t}\n}\n\nfunction validateValue(value) {\n\tvalue = `${value}`;\n\tif (invalidHeaderCharRegex.test(value)) {\n\t\tthrow new TypeError(`${value} is not a legal HTTP header value`);\n\t}\n}\n\n/**\n * Find the key in the map object given a header name.\n *\n * Returns undefined if not found.\n *\n * @param   String  name  Header name\n * @return  String|Undefined\n */\nfunction find(map, name) {\n\tname = name.toLowerCase();\n\tfor (const key in map) {\n\t\tif (key.toLowerCase() === name) {\n\t\t\treturn key;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nconst MAP = Symbol('map');\nclass Headers {\n\t/**\n  * Headers class\n  *\n  * @param   Object  headers  Response headers\n  * @return  Void\n  */\n\tconstructor() {\n\t\tlet init = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;\n\n\t\tthis[MAP] = Object.create(null);\n\n\t\tif (init instanceof Headers) {\n\t\t\tconst rawHeaders = init.raw();\n\t\t\tconst headerNames = Object.keys(rawHeaders);\n\n\t\t\tfor (const headerName of headerNames) {\n\t\t\t\tfor (const value of rawHeaders[headerName]) {\n\t\t\t\t\tthis.append(headerName, value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// We don't worry about converting prop to ByteString here as append()\n\t\t// will handle it.\n\t\tif (init == null) ; else if (typeof init === 'object') {\n\t\t\tconst method = init[Symbol.iterator];\n\t\t\tif (method != null) {\n\t\t\t\tif (typeof method !== 'function') {\n\t\t\t\t\tthrow new TypeError('Header pairs must be iterable');\n\t\t\t\t}\n\n\t\t\t\t// sequence<sequence<ByteString>>\n\t\t\t\t// Note: per spec we have to first exhaust the lists then process them\n\t\t\t\tconst pairs = [];\n\t\t\t\tfor (const pair of init) {\n\t\t\t\t\tif (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be iterable');\n\t\t\t\t\t}\n\t\t\t\t\tpairs.push(Array.from(pair));\n\t\t\t\t}\n\n\t\t\t\tfor (const pair of pairs) {\n\t\t\t\t\tif (pair.length !== 2) {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be a name/value tuple');\n\t\t\t\t\t}\n\t\t\t\t\tthis.append(pair[0], pair[1]);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// record<ByteString, ByteString>\n\t\t\t\tfor (const key of Object.keys(init)) {\n\t\t\t\t\tconst value = init[key];\n\t\t\t\t\tthis.append(key, value);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new TypeError('Provided initializer must be an object');\n\t\t}\n\t}\n\n\t/**\n  * Return combined header value given name\n  *\n  * @param   String  name  Header name\n  * @return  Mixed\n  */\n\tget(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key === undefined) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this[MAP][key].join(', ');\n\t}\n\n\t/**\n  * Iterate over all headers\n  *\n  * @param   Function  callback  Executed for each item with parameters (value, name, thisArg)\n  * @param   Boolean   thisArg   `this` context for callback function\n  * @return  Void\n  */\n\tforEach(callback) {\n\t\tlet thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n\t\tlet pairs = getHeaders(this);\n\t\tlet i = 0;\n\t\twhile (i < pairs.length) {\n\t\t\tvar _pairs$i = pairs[i];\n\t\t\tconst name = _pairs$i[0],\n\t\t\t      value = _pairs$i[1];\n\n\t\t\tcallback.call(thisArg, value, name, this);\n\t\t\tpairs = getHeaders(this);\n\t\t\ti++;\n\t\t}\n\t}\n\n\t/**\n  * Overwrite header values given name\n  *\n  * @param   String  name   Header name\n  * @param   String  value  Header value\n  * @return  Void\n  */\n\tset(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tthis[MAP][key !== undefined ? key : name] = [value];\n\t}\n\n\t/**\n  * Append a value onto existing header\n  *\n  * @param   String  name   Header name\n  * @param   String  value  Header value\n  * @return  Void\n  */\n\tappend(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tthis[MAP][key].push(value);\n\t\t} else {\n\t\t\tthis[MAP][name] = [value];\n\t\t}\n\t}\n\n\t/**\n  * Check for header name existence\n  *\n  * @param   String   name  Header name\n  * @return  Boolean\n  */\n\thas(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\treturn find(this[MAP], name) !== undefined;\n\t}\n\n\t/**\n  * Delete all header values given name\n  *\n  * @param   String  name  Header name\n  * @return  Void\n  */\n\tdelete(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tdelete this[MAP][key];\n\t\t}\n\t}\n\n\t/**\n  * Return raw headers (non-spec api)\n  *\n  * @return  Object\n  */\n\traw() {\n\t\treturn this[MAP];\n\t}\n\n\t/**\n  * Get an iterator on keys.\n  *\n  * @return  Iterator\n  */\n\tkeys() {\n\t\treturn createHeadersIterator(this, 'key');\n\t}\n\n\t/**\n  * Get an iterator on values.\n  *\n  * @return  Iterator\n  */\n\tvalues() {\n\t\treturn createHeadersIterator(this, 'value');\n\t}\n\n\t/**\n  * Get an iterator on entries.\n  *\n  * This is the default iterator of the Headers object.\n  *\n  * @return  Iterator\n  */\n\t[Symbol.iterator]() {\n\t\treturn createHeadersIterator(this, 'key+value');\n\t}\n}\nHeaders.prototype.entries = Headers.prototype[Symbol.iterator];\n\nObject.defineProperty(Headers.prototype, Symbol.toStringTag, {\n\tvalue: 'Headers',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Headers.prototype, {\n\tget: { enumerable: true },\n\tforEach: { enumerable: true },\n\tset: { enumerable: true },\n\tappend: { enumerable: true },\n\thas: { enumerable: true },\n\tdelete: { enumerable: true },\n\tkeys: { enumerable: true },\n\tvalues: { enumerable: true },\n\tentries: { enumerable: true }\n});\n\nfunction getHeaders(headers) {\n\tlet kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value';\n\n\tconst keys = Object.keys(headers[MAP]).sort();\n\treturn keys.map(kind === 'key' ? function (k) {\n\t\treturn k.toLowerCase();\n\t} : kind === 'value' ? function (k) {\n\t\treturn headers[MAP][k].join(', ');\n\t} : function (k) {\n\t\treturn [k.toLowerCase(), headers[MAP][k].join(', ')];\n\t});\n}\n\nconst INTERNAL = Symbol('internal');\n\nfunction createHeadersIterator(target, kind) {\n\tconst iterator = Object.create(HeadersIteratorPrototype);\n\titerator[INTERNAL] = {\n\t\ttarget,\n\t\tkind,\n\t\tindex: 0\n\t};\n\treturn iterator;\n}\n\nconst HeadersIteratorPrototype = Object.setPrototypeOf({\n\tnext() {\n\t\t// istanbul ignore if\n\t\tif (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) {\n\t\t\tthrow new TypeError('Value of `this` is not a HeadersIterator');\n\t\t}\n\n\t\tvar _INTERNAL = this[INTERNAL];\n\t\tconst target = _INTERNAL.target,\n\t\t      kind = _INTERNAL.kind,\n\t\t      index = _INTERNAL.index;\n\n\t\tconst values = getHeaders(target, kind);\n\t\tconst len = values.length;\n\t\tif (index >= len) {\n\t\t\treturn {\n\t\t\t\tvalue: undefined,\n\t\t\t\tdone: true\n\t\t\t};\n\t\t}\n\n\t\tthis[INTERNAL].index = index + 1;\n\n\t\treturn {\n\t\t\tvalue: values[index],\n\t\t\tdone: false\n\t\t};\n\t}\n}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));\n\nObject.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, {\n\tvalue: 'HeadersIterator',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * Export the Headers object in a form that Node.js can consume.\n *\n * @param   Headers  headers\n * @return  Object\n */\nfunction exportNodeCompatibleHeaders(headers) {\n\tconst obj = Object.assign({ __proto__: null }, headers[MAP]);\n\n\t// http.request() only supports string as Host header. This hack makes\n\t// specifying custom Host header possible.\n\tconst hostHeaderKey = find(headers[MAP], 'Host');\n\tif (hostHeaderKey !== undefined) {\n\t\tobj[hostHeaderKey] = obj[hostHeaderKey][0];\n\t}\n\n\treturn obj;\n}\n\n/**\n * Create a Headers object from an object of headers, ignoring those that do\n * not conform to HTTP grammar productions.\n *\n * @param   Object  obj  Object of headers\n * @return  Headers\n */\nfunction createHeadersLenient(obj) {\n\tconst headers = new Headers();\n\tfor (const name of Object.keys(obj)) {\n\t\tif (invalidTokenRegex.test(name)) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (Array.isArray(obj[name])) {\n\t\t\tfor (const val of obj[name]) {\n\t\t\t\tif (invalidHeaderCharRegex.test(val)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (headers[MAP][name] === undefined) {\n\t\t\t\t\theaders[MAP][name] = [val];\n\t\t\t\t} else {\n\t\t\t\t\theaders[MAP][name].push(val);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (!invalidHeaderCharRegex.test(obj[name])) {\n\t\t\theaders[MAP][name] = [obj[name]];\n\t\t}\n\t}\n\treturn headers;\n}\n\nconst INTERNALS$1 = Symbol('Response internals');\n\n// fix an issue where \"STATUS_CODES\" aren't a named export for node <10\nconst STATUS_CODES = http.STATUS_CODES;\n\n/**\n * Response class\n *\n * @param   Stream  body  Readable stream\n * @param   Object  opts  Response options\n * @return  Void\n */\nclass Response {\n\tconstructor() {\n\t\tlet body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\tlet opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tBody.call(this, body, opts);\n\n\t\tconst status = opts.status || 200;\n\t\tconst headers = new Headers(opts.headers);\n\n\t\tif (body != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(body);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tthis[INTERNALS$1] = {\n\t\t\turl: opts.url,\n\t\t\tstatus,\n\t\t\tstatusText: opts.statusText || STATUS_CODES[status],\n\t\t\theaders,\n\t\t\tcounter: opts.counter\n\t\t};\n\t}\n\n\tget url() {\n\t\treturn this[INTERNALS$1].url || '';\n\t}\n\n\tget status() {\n\t\treturn this[INTERNALS$1].status;\n\t}\n\n\t/**\n  * Convenience property representing if the request ended normally\n  */\n\tget ok() {\n\t\treturn this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300;\n\t}\n\n\tget redirected() {\n\t\treturn this[INTERNALS$1].counter > 0;\n\t}\n\n\tget statusText() {\n\t\treturn this[INTERNALS$1].statusText;\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$1].headers;\n\t}\n\n\t/**\n  * Clone this response\n  *\n  * @return  Response\n  */\n\tclone() {\n\t\treturn new Response(clone(this), {\n\t\t\turl: this.url,\n\t\t\tstatus: this.status,\n\t\t\tstatusText: this.statusText,\n\t\t\theaders: this.headers,\n\t\t\tok: this.ok,\n\t\t\tredirected: this.redirected\n\t\t});\n\t}\n}\n\nBody.mixIn(Response.prototype);\n\nObject.defineProperties(Response.prototype, {\n\turl: { enumerable: true },\n\tstatus: { enumerable: true },\n\tok: { enumerable: true },\n\tredirected: { enumerable: true },\n\tstatusText: { enumerable: true },\n\theaders: { enumerable: true },\n\tclone: { enumerable: true }\n});\n\nObject.defineProperty(Response.prototype, Symbol.toStringTag, {\n\tvalue: 'Response',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nconst INTERNALS$2 = Symbol('Request internals');\nconst URL = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"format\", \"parse\" aren't a named export for node <10\nconst parse_url = Url.parse;\nconst format_url = Url.format;\n\n/**\n * Wrapper around `new URL` to handle arbitrary URLs\n *\n * @param  {string} urlStr\n * @return {void}\n */\nfunction parseURL(urlStr) {\n\t/*\n \tCheck whether the URL is absolute or not\n \t\tScheme: https://tools.ietf.org/html/rfc3986#section-3.1\n \tAbsolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\n */\n\tif (/^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.exec(urlStr)) {\n\t\turlStr = new URL(urlStr).toString();\n\t}\n\n\t// Fallback to old implementation for arbitrary URLs\n\treturn parse_url(urlStr);\n}\n\nconst streamDestructionSupported = 'destroy' in Stream.Readable.prototype;\n\n/**\n * Check if a value is an instance of Request.\n *\n * @param   Mixed   input\n * @return  Boolean\n */\nfunction isRequest(input) {\n\treturn typeof input === 'object' && typeof input[INTERNALS$2] === 'object';\n}\n\nfunction isAbortSignal(signal) {\n\tconst proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal);\n\treturn !!(proto && proto.constructor.name === 'AbortSignal');\n}\n\n/**\n * Request class\n *\n * @param   Mixed   input  Url or Request instance\n * @param   Object  init   Custom options\n * @return  Void\n */\nclass Request {\n\tconstructor(input) {\n\t\tlet init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tlet parsedURL;\n\n\t\t// normalize input\n\t\tif (!isRequest(input)) {\n\t\t\tif (input && input.href) {\n\t\t\t\t// in order to support Node.js' Url objects; though WHATWG's URL objects\n\t\t\t\t// will fall into this branch also (since their `toString()` will return\n\t\t\t\t// `href` property anyway)\n\t\t\t\tparsedURL = parseURL(input.href);\n\t\t\t} else {\n\t\t\t\t// coerce input to a string before attempting to parse\n\t\t\t\tparsedURL = parseURL(`${input}`);\n\t\t\t}\n\t\t\tinput = {};\n\t\t} else {\n\t\t\tparsedURL = parseURL(input.url);\n\t\t}\n\n\t\tlet method = init.method || input.method || 'GET';\n\t\tmethod = method.toUpperCase();\n\n\t\tif ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) {\n\t\t\tthrow new TypeError('Request with GET/HEAD method cannot have body');\n\t\t}\n\n\t\tlet inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null;\n\n\t\tBody.call(this, inputBody, {\n\t\t\ttimeout: init.timeout || input.timeout || 0,\n\t\t\tsize: init.size || input.size || 0\n\t\t});\n\n\t\tconst headers = new Headers(init.headers || input.headers || {});\n\n\t\tif (inputBody != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(inputBody);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tlet signal = isRequest(input) ? input.signal : null;\n\t\tif ('signal' in init) signal = init.signal;\n\n\t\tif (signal != null && !isAbortSignal(signal)) {\n\t\t\tthrow new TypeError('Expected signal to be an instanceof AbortSignal');\n\t\t}\n\n\t\tthis[INTERNALS$2] = {\n\t\t\tmethod,\n\t\t\tredirect: init.redirect || input.redirect || 'follow',\n\t\t\theaders,\n\t\t\tparsedURL,\n\t\t\tsignal\n\t\t};\n\n\t\t// node-fetch-only options\n\t\tthis.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20;\n\t\tthis.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true;\n\t\tthis.counter = init.counter || input.counter || 0;\n\t\tthis.agent = init.agent || input.agent;\n\t}\n\n\tget method() {\n\t\treturn this[INTERNALS$2].method;\n\t}\n\n\tget url() {\n\t\treturn format_url(this[INTERNALS$2].parsedURL);\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$2].headers;\n\t}\n\n\tget redirect() {\n\t\treturn this[INTERNALS$2].redirect;\n\t}\n\n\tget signal() {\n\t\treturn this[INTERNALS$2].signal;\n\t}\n\n\t/**\n  * Clone this request\n  *\n  * @return  Request\n  */\n\tclone() {\n\t\treturn new Request(this);\n\t}\n}\n\nBody.mixIn(Request.prototype);\n\nObject.defineProperty(Request.prototype, Symbol.toStringTag, {\n\tvalue: 'Request',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Request.prototype, {\n\tmethod: { enumerable: true },\n\turl: { enumerable: true },\n\theaders: { enumerable: true },\n\tredirect: { enumerable: true },\n\tclone: { enumerable: true },\n\tsignal: { enumerable: true }\n});\n\n/**\n * Convert a Request to Node.js http request options.\n *\n * @param   Request  A Request instance\n * @return  Object   The options object to be passed to http.request\n */\nfunction getNodeRequestOptions(request) {\n\tconst parsedURL = request[INTERNALS$2].parsedURL;\n\tconst headers = new Headers(request[INTERNALS$2].headers);\n\n\t// fetch step 1.3\n\tif (!headers.has('Accept')) {\n\t\theaders.set('Accept', '*/*');\n\t}\n\n\t// Basic fetch\n\tif (!parsedURL.protocol || !parsedURL.hostname) {\n\t\tthrow new TypeError('Only absolute URLs are supported');\n\t}\n\n\tif (!/^https?:$/.test(parsedURL.protocol)) {\n\t\tthrow new TypeError('Only HTTP(S) protocols are supported');\n\t}\n\n\tif (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) {\n\t\tthrow new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8');\n\t}\n\n\t// HTTP-network-or-cache fetch steps 2.4-2.7\n\tlet contentLengthValue = null;\n\tif (request.body == null && /^(POST|PUT)$/i.test(request.method)) {\n\t\tcontentLengthValue = '0';\n\t}\n\tif (request.body != null) {\n\t\tconst totalBytes = getTotalBytes(request);\n\t\tif (typeof totalBytes === 'number') {\n\t\t\tcontentLengthValue = String(totalBytes);\n\t\t}\n\t}\n\tif (contentLengthValue) {\n\t\theaders.set('Content-Length', contentLengthValue);\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.11\n\tif (!headers.has('User-Agent')) {\n\t\theaders.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)');\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.15\n\tif (request.compress && !headers.has('Accept-Encoding')) {\n\t\theaders.set('Accept-Encoding', 'gzip,deflate');\n\t}\n\n\tlet agent = request.agent;\n\tif (typeof agent === 'function') {\n\t\tagent = agent(parsedURL);\n\t}\n\n\t// HTTP-network fetch step 4.2\n\t// chunked encoding is handled by Node.js\n\n\treturn Object.assign({}, parsedURL, {\n\t\tmethod: request.method,\n\t\theaders: exportNodeCompatibleHeaders(headers),\n\t\tagent\n\t});\n}\n\n/**\n * abort-error.js\n *\n * AbortError interface for cancelled requests\n */\n\n/**\n * Create AbortError instance\n *\n * @param   String      message      Error message for human\n * @return  AbortError\n */\nfunction AbortError(message) {\n  Error.call(this, message);\n\n  this.type = 'aborted';\n  this.message = message;\n\n  // hide custom error implementation details from end-users\n  Error.captureStackTrace(this, this.constructor);\n}\n\nAbortError.prototype = Object.create(Error.prototype);\nAbortError.prototype.constructor = AbortError;\nAbortError.prototype.name = 'AbortError';\n\nconst URL$1 = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"PassThrough\", \"resolve\" aren't a named export for node <10\nconst PassThrough$1 = Stream.PassThrough;\n\nconst isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) {\n\tconst orig = new URL$1(original).hostname;\n\tconst dest = new URL$1(destination).hostname;\n\n\treturn orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest);\n};\n\n/**\n * isSameProtocol reports whether the two provided URLs use the same protocol.\n *\n * Both domains must already be in canonical form.\n * @param {string|URL} original\n * @param {string|URL} destination\n */\nconst isSameProtocol = function isSameProtocol(destination, original) {\n\tconst orig = new URL$1(original).protocol;\n\tconst dest = new URL$1(destination).protocol;\n\n\treturn orig === dest;\n};\n\n/**\n * Fetch function\n *\n * @param   Mixed    url   Absolute url or Request instance\n * @param   Object   opts  Fetch options\n * @return  Promise\n */\nfunction fetch(url, opts) {\n\n\t// allow custom promise\n\tif (!fetch.Promise) {\n\t\tthrow new Error('native promise missing, set fetch.Promise to your favorite alternative');\n\t}\n\n\tBody.Promise = fetch.Promise;\n\n\t// wrap http.request into fetch\n\treturn new fetch.Promise(function (resolve, reject) {\n\t\t// build request object\n\t\tconst request = new Request(url, opts);\n\t\tconst options = getNodeRequestOptions(request);\n\n\t\tconst send = (options.protocol === 'https:' ? https : http).request;\n\t\tconst signal = request.signal;\n\n\t\tlet response = null;\n\n\t\tconst abort = function abort() {\n\t\t\tlet error = new AbortError('The user aborted a request.');\n\t\t\treject(error);\n\t\t\tif (request.body && request.body instanceof Stream.Readable) {\n\t\t\t\tdestroyStream(request.body, error);\n\t\t\t}\n\t\t\tif (!response || !response.body) return;\n\t\t\tresponse.body.emit('error', error);\n\t\t};\n\n\t\tif (signal && signal.aborted) {\n\t\t\tabort();\n\t\t\treturn;\n\t\t}\n\n\t\tconst abortAndFinalize = function abortAndFinalize() {\n\t\t\tabort();\n\t\t\tfinalize();\n\t\t};\n\n\t\t// send request\n\t\tconst req = send(options);\n\t\tlet reqTimeout;\n\n\t\tif (signal) {\n\t\t\tsignal.addEventListener('abort', abortAndFinalize);\n\t\t}\n\n\t\tfunction finalize() {\n\t\t\treq.abort();\n\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\tclearTimeout(reqTimeout);\n\t\t}\n\n\t\tif (request.timeout) {\n\t\t\treq.once('socket', function (socket) {\n\t\t\t\treqTimeout = setTimeout(function () {\n\t\t\t\t\treject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout'));\n\t\t\t\t\tfinalize();\n\t\t\t\t}, request.timeout);\n\t\t\t});\n\t\t}\n\n\t\treq.on('error', function (err) {\n\t\t\treject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err));\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\n\t\t\tfinalize();\n\t\t});\n\n\t\tfixResponseChunkedTransferBadEnding(req, function (err) {\n\t\t\tif (signal && signal.aborted) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\t\t});\n\n\t\t/* c8 ignore next 18 */\n\t\tif (parseInt(process.version.substring(1)) < 14) {\n\t\t\t// Before Node.js 14, pipeline() does not fully support async iterators and does not always\n\t\t\t// properly handle when the socket close/end events are out of order.\n\t\t\treq.on('socket', function (s) {\n\t\t\t\ts.addListener('close', function (hadError) {\n\t\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\t\tconst hasDataListener = s.listenerCount('data') > 0;\n\n\t\t\t\t\t// if end happened before close but the socket didn't emit an error, do it now\n\t\t\t\t\tif (response && hasDataListener && !hadError && !(signal && signal.aborted)) {\n\t\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\t\tresponse.body.emit('error', err);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\treq.on('response', function (res) {\n\t\t\tclearTimeout(reqTimeout);\n\n\t\t\tconst headers = createHeadersLenient(res.headers);\n\n\t\t\t// HTTP fetch step 5\n\t\t\tif (fetch.isRedirect(res.statusCode)) {\n\t\t\t\t// HTTP fetch step 5.2\n\t\t\t\tconst location = headers.get('Location');\n\n\t\t\t\t// HTTP fetch step 5.3\n\t\t\t\tlet locationURL = null;\n\t\t\t\ttry {\n\t\t\t\t\tlocationURL = location === null ? null : new URL$1(location, request.url).toString();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// error here can only be invalid URL in Location: header\n\t\t\t\t\t// do not throw when options.redirect == manual\n\t\t\t\t\t// let the user extract the errorneous redirect URL\n\t\t\t\t\tif (request.redirect !== 'manual') {\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// HTTP fetch step 5.5\n\t\t\t\tswitch (request.redirect) {\n\t\t\t\t\tcase 'error':\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\tcase 'manual':\n\t\t\t\t\t\t// node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL.\n\t\t\t\t\t\tif (locationURL !== null) {\n\t\t\t\t\t\t\t// handle corrupted header\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\theaders.set('Location', locationURL);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\t// istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request\n\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'follow':\n\t\t\t\t\t\t// HTTP-redirect fetch step 2\n\t\t\t\t\t\tif (locationURL === null) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 5\n\t\t\t\t\t\tif (request.counter >= request.follow) {\n\t\t\t\t\t\t\treject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 6 (counter increment)\n\t\t\t\t\t\t// Create a new Request object.\n\t\t\t\t\t\tconst requestOpts = {\n\t\t\t\t\t\t\theaders: new Headers(request.headers),\n\t\t\t\t\t\t\tfollow: request.follow,\n\t\t\t\t\t\t\tcounter: request.counter + 1,\n\t\t\t\t\t\t\tagent: request.agent,\n\t\t\t\t\t\t\tcompress: request.compress,\n\t\t\t\t\t\t\tmethod: request.method,\n\t\t\t\t\t\t\tbody: request.body,\n\t\t\t\t\t\t\tsignal: request.signal,\n\t\t\t\t\t\t\ttimeout: request.timeout,\n\t\t\t\t\t\t\tsize: request.size\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) {\n\t\t\t\t\t\t\tfor (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) {\n\t\t\t\t\t\t\t\trequestOpts.headers.delete(name);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 9\n\t\t\t\t\t\tif (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) {\n\t\t\t\t\t\t\treject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 11\n\t\t\t\t\t\tif (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') {\n\t\t\t\t\t\t\trequestOpts.method = 'GET';\n\t\t\t\t\t\t\trequestOpts.body = undefined;\n\t\t\t\t\t\t\trequestOpts.headers.delete('content-length');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 15\n\t\t\t\t\t\tresolve(fetch(new Request(locationURL, requestOpts)));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// prepare response\n\t\t\tres.once('end', function () {\n\t\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\t});\n\t\t\tlet body = res.pipe(new PassThrough$1());\n\n\t\t\tconst response_options = {\n\t\t\t\turl: request.url,\n\t\t\t\tstatus: res.statusCode,\n\t\t\t\tstatusText: res.statusMessage,\n\t\t\t\theaders: headers,\n\t\t\t\tsize: request.size,\n\t\t\t\ttimeout: request.timeout,\n\t\t\t\tcounter: request.counter\n\t\t\t};\n\n\t\t\t// HTTP-network fetch step 12.1.1.3\n\t\t\tconst codings = headers.get('Content-Encoding');\n\n\t\t\t// HTTP-network fetch step 12.1.1.4: handle content codings\n\n\t\t\t// in following scenarios we ignore compression support\n\t\t\t// 1. compression support is disabled\n\t\t\t// 2. HEAD request\n\t\t\t// 3. no Content-Encoding header\n\t\t\t// 4. no content response (204)\n\t\t\t// 5. content not modified response (304)\n\t\t\tif (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) {\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// For Node v6+\n\t\t\t// Be less strict when decoding compressed responses, since sometimes\n\t\t\t// servers send slightly invalid responses that are still accepted\n\t\t\t// by common browsers.\n\t\t\t// Always using Z_SYNC_FLUSH is what cURL does.\n\t\t\tconst zlibOptions = {\n\t\t\t\tflush: zlib.Z_SYNC_FLUSH,\n\t\t\t\tfinishFlush: zlib.Z_SYNC_FLUSH\n\t\t\t};\n\n\t\t\t// for gzip\n\t\t\tif (codings == 'gzip' || codings == 'x-gzip') {\n\t\t\t\tbody = body.pipe(zlib.createGunzip(zlibOptions));\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for deflate\n\t\t\tif (codings == 'deflate' || codings == 'x-deflate') {\n\t\t\t\t// handle the infamous raw deflate response from old servers\n\t\t\t\t// a hack for old IIS and Apache servers\n\t\t\t\tconst raw = res.pipe(new PassThrough$1());\n\t\t\t\traw.once('data', function (chunk) {\n\t\t\t\t\t// see http://stackoverflow.com/questions/37519828\n\t\t\t\t\tif ((chunk[0] & 0x0F) === 0x08) {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflate());\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflateRaw());\n\t\t\t\t\t}\n\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\tresolve(response);\n\t\t\t\t});\n\t\t\t\traw.on('end', function () {\n\t\t\t\t\t// some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted.\n\t\t\t\t\tif (!response) {\n\t\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\t\tresolve(response);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for br\n\t\t\tif (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') {\n\t\t\t\tbody = body.pipe(zlib.createBrotliDecompress());\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// otherwise, use response as-is\n\t\t\tresponse = new Response(body, response_options);\n\t\t\tresolve(response);\n\t\t});\n\n\t\twriteToStream(req, request);\n\t});\n}\nfunction fixResponseChunkedTransferBadEnding(request, errorCallback) {\n\tlet socket;\n\n\trequest.on('socket', function (s) {\n\t\tsocket = s;\n\t});\n\n\trequest.on('response', function (response) {\n\t\tconst headers = response.headers;\n\n\t\tif (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) {\n\t\t\tresponse.once('close', function (hadError) {\n\t\t\t\t// tests for socket presence, as in some situations the\n\t\t\t\t// the 'socket' event is not triggered for the request\n\t\t\t\t// (happens in deno), avoids `TypeError`\n\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\tconst hasDataListener = socket && socket.listenerCount('data') > 0;\n\n\t\t\t\tif (hasDataListener && !hadError) {\n\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\terrorCallback(err);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n}\n\nfunction destroyStream(stream, err) {\n\tif (stream.destroy) {\n\t\tstream.destroy(err);\n\t} else {\n\t\t// node < 8\n\t\tstream.emit('error', err);\n\t\tstream.end();\n\t}\n}\n\n/**\n * Redirect code matching\n *\n * @param   Number   code  Status code\n * @return  Boolean\n */\nfetch.isRedirect = function (code) {\n\treturn code === 301 || code === 302 || code === 303 || code === 307 || code === 308;\n};\n\n// expose Promise\nfetch.Promise = global.Promise;\n\nexport default fetch;\nexport { Headers, Request, Response, FetchError, AbortError };\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.hmd = (module) => {\n\tmodule = Object.create(module);\n\tif (!module.children) module.children = [];\n\tObject.defineProperty(module, 'exports', {\n\t\tenumerable: true,\n\t\tset: () => {\n\t\t\tthrow new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);\n\t\t}\n\t});\n\treturn module;\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t792: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// no jsonp function","import connectBannerIcon from './images/connect_mvp_banner_icon.svg';\n\n/**\n * @type { DEFAULTS: {}, DEV_PORTAL_ACTIONS: {}}\n */\nexport const CONSTANTS = {\n\tDEFAULTS: {\n\t\tAPI_LOCALSTORAGE_KEY: 'devplatform-state',\n\t\tAPI_CMS_CONFIG_CACHE_KEY: 'devplatform-cms_config',\n\t\tAPI_CMS_CONFIG_GUEST_CACHE_KEY: 'devplatform-cms_guest_config',\n\t\tPDI_VERSION_MISMATCH_ALERT_KEY:\n\t\t\t'DPS_VERSION_ALERT_COMPONENT_DISMISSED_pdiVersionMismatch',\n\t\tVERSION_MISMATCH_ALERT_KEY:\n\t\t\t'DPS_VERSION_ALERT_COMPONENT_DISMISSED_versionMismatch',\n\t\tRETIRE_RELEASE_ALERT_KEY:\n\t\t\t'DPS_VERSION_ALERT_COMPONENT_DISMISSED_retireRelease',\n\t\tAPI_HIBERNATE_IS_AWAKE_SESSION_STORAGE_KEY:\n\t\t\t'first_call_to_hibernate_is_awake_api_was_triggered',\n\t\tAPI_TYPES: [\n\t\t\t{ label: 'Client', id: 'client' },\n\t\t\t{ label: 'Client Next Experience', id: 'client_next_experience' },\n\t\t\t{ label: 'Client Mobile', id: 'client_mobile' },\n\t\t\t{ label: 'REST', id: 'rest' },\n\t\t\t{ label: 'Server Scoped', id: 'server' },\n\t\t\t{ label: 'Server Global', id: 'server_legacy' },\n\t\t\t{ label: 'Mobile SDK', id: 'mobile_sdk' }\n\t\t],\n\t\tAZURE_BASE_URL: 'https://sndevportal.azureedge.net',\n\t\tCOUNTDOWN_LOCALSTORAGE_KEY: 'devplatform-countdown',\n\t\tCOPYRIGHT_YEAR: '2020',\n\t\tCACHE_KEY_CARD_IMAGES: 'dps-cached-component-search-images',\n\t\tCACHE_KEY_USER_SELECTED_VERSION: 'user_selected_version',\n\t\tCACHE_KEY_VERSIONS: 'active.inactive.versions',\n\t\tCACHE_KEY_WHATS_NEW_MODAL: 'show_whats_new_modal',\n\t\tCACHE_KEY_PLAYGROUND_WHATS_NEW_MODAL: 'shown_playground_whats_new_modal',\n\t\tCOMPONENT_PAGE_ZIP_UP_LOCALSTORAGE_KEY:\n\t\t\t'devplatform-component-page-nav-expand-toggle',\n\t\tDEFAULT_NOW_EXPERIENCE_RELEASE: 'paris',\n\t\tDEFAULT_RELEASE: 'paris',\n\t\tDELAY_DEBOUNCE_MS: 400,\n\t\tDELAY_TOOLTIP_MS: 200,\n\t\tDELAY_SAVE_MS: 500,\n\t\tDELAY_REMOVE_MS: 500,\n\t\tDELAY_TOUCHED_MS: 1000,\n\t\tDISMISSED_ALERTS_KEY: 'devplatform-dismissed-alerts',\n\t\tDPS_APP_ID: 'dpsAppComponent',\n\t\tDPS_COMPONENT_GALLERY_DEFAULT_SEARCH_PAYLOAD: {\n\t\t\tavailability: ['Draft', 'In Progress', 'Available'],\n\t\t\tbookmarks: false,\n\t\t\twrapper: false,\n\t\t\tcategories: [],\n\t\t\tcomponent_purpose: ['Re-use'],\n\t\t\tcomponent_type: ['Base', 'Experience']\n\t\t},\n\t\tDPS_COMPONENT_GALLERY_DEFAULT_SN_SEARCH_PAYLOAD: {\n\t\t\tavailability: ['Draft', 'In Progress', 'Available'],\n\t\t\tbookmarks: false,\n\t\t\tcategories: [],\n\t\t\twrapper: false,\n\t\t\tinternalOnly: false,\n\t\t\tcomponent_purpose: [],\n\t\t\tcomponent_type: []\n\t\t},\n\t\tDPS_COMPONENT_GALLERY_EMPTY_SEARCH_PAYLOAD: {\n\t\t\tavailability: [],\n\t\t\tcategories: [],\n\t\t\tcomponent_purpose: [],\n\t\t\tcomponent_type: [],\n\t\t\tquery: ''\n\t\t},\n\t\tDPS_DATA_PROVIDER_ID: 'dpsDataProvider',\n\t\tDPS_GLOBAL_HEADER_HEIGHT: 129,\n\t\tDPS_GLOBAL_HEADER_HEIGHT_MD: 117,\n\t\tDPS_GLOBAL_HEADER_HEIGHT_SM: 101,\n\t\tDPS_PDI_USER_ROLES: {\n\t\t\t'aes.creator': 'App Engine Studio Creator',\n\t\t\t'admin': 'Admin'\n\t\t},\n\t\tENDPOINT_URI: '/devportal.do',\n\t\tERROR_PATH: '/404',\n\t\tEXPLICIT_LOGOUT_KEY: 'devplatform-explicit-logout',\n\t\tICONS: {\n\t\t\tSMALL: 20,\n\t\t\tLARGE: 20\n\t\t},\n\t\tIDLE: 20 * 60, // 20 minutes in seconds\n\t\tINITIAL_COUNTDOWN: 60000,\n\t\tIS_SIGNIN_CLICKED_SESSION_KEY: 'devplatform-signin-clicked',\n\t\tMAX_RETRIES: 5,\n\t\tMAX_ITEMS_OPERATION_HISTORY: 10,\n\t\tMAIN_URL: 'https://developer.servicenow.com/dev.do',\n\t\tMINIMUM_AES_RELEASE: 'quebec',\n\t\tMINIMUM_NOW_EXPERIENCE_RELEASE: 'orlando',\n\t\tRELEASE_NOTES_URL:\n\t\t\t'https://docs.servicenow.com/bundle/$releaseNote-release-notes/page/release-notes/family-release-notes.html',\n\t\tNAVLIST_LOCALSTORAGE_KEY: 'devplatform-navlist',\n\t\tNO_CONTENT_FOUND_MESSAGE: 'No content found',\n\t\tPER_PAGE_OPTIONS: [20, 50, 100],\n\t\tPDI_ROLE_LOOKUP: {\n\t\t\taes_creator: 'aes_creator',\n\t\t\tadvanced: 'admin'\n\t\t},\n\t\tSECONDS_IN_MS: 1000,\n\t\tSESSION_MANAGEMENT_LOCALSTORAGE_KEY: 'devplatform-session-management',\n\t\tSESSION_TIMED_OUT_KEY: 'devplatform-session-timed-out',\n\t\tSYSTEM_WIDE_ALERT_DISMISSED_KEY: 'devplatform-system-wide-alert-dismissed',\n\t\tSYSTEM_WIDE_ALERT_CONNECT_MVP_DISMISSED_KEY:\n\t\t\t'devplatform-system-wide-alert_connect_mvp-dismissed',\n\t\tSSO_DETECTION_MESSAGE: 'sso_complete',\n\t\tSSO_IFRAME_ID: 'sso_detection',\n\t\tSSO_RETURN_VALUE_KEY: 'devplatform-sso-return-value',\n\t\tUSER_LOCALSTORAGE_KEY: 'devplatform-user',\n\t\tUSER_SESSION_TIMEOUT: 600, // 600 seconds = 10 mins\n\t\tUSER_SESSION_POLL_INTERVAL: 1000 * 30, // 30 seconds,\n\t\tUSER_SESSION_RELEASE: 'user_session_release',\n\t\tUSER_SESSION_RELEASE_INITIALIZED: 'user_session_release_initialized',\n\t\tFEEDBACK_FORM_SUBMITTED_FROM_FLOATING_BUBBLE: 'Bubble',\n\t\tFEEDBACK_FORM_SUBMITTED_FROM_FOOTER: 'Footer',\n\t\tFEEDBACK_FORM_SUBMITTED_FROM_ALERT: 'Alert',\n\t\tFEEDBACK_SIGN_IN_BUTTON: 'Sign In',\n\t\tGUIDE_MODULE: 'guide',\n\t\tAPI_MODULE: 'api',\n\t\tLP_MODULE: 'learning plan',\n\t\tCOURSE_MODULE: 'course',\n\t\tLP_CATEGORY: 'learning-plans',\n\t\tLP_MODULE_CATEGORY: 'learning-module',\n\t\tCOURSE_CATEGORY: 'courses',\n\t\tCOURSE_MODULE_CATEGORY: 'course-module',\n\t\tTUTORIAL_MODULE: 'tutorial',\n\t\tFEEDBACK_CONTENT_TYPE_ARTICLE: 'article',\n\t\tFEEDBACK_CONTENT_TYPE_EXERCISE: 'exercise',\n\t\tERROR_STATUS_USER_HAS_INSTANCE: 'FAIL',\n\t\tPRISTINE_USER: 'pristine_user',\n\t\tAUTH_HOMEPAGE_NEW_USER_BANNER_KEY: 'auth_new_user_banner',\n\t\tDEV_PDI_VERSION_MISMATCH_ALERT_KEY: 'pdi_version_mismatch_alert_dismissed',\n\t\tDEV_GENERAL_FEEDBACK_MODAL_QUERY_PARAM: 'feedback_modal',\n\t\tCITIZEN_DEVELOPER_RELAY_STATE:\n\t\t\t'%3FRelayState%3Dcitizen-developer-activation',\n\t\tUPDATE_STATE_SCHEDULE_IMMEDIATE: {\n\t\t\tSCHEDULE_IMMEDIATELY_DO_NOT_USE_OR_YOU_WILL_BE_IMMEDIATELY_FIRED: true\n\t\t},\n\t\tCHANGE_USER_ROLE: 'Change User Role',\n\t\tDEFAULT_USER_PDI_ROLE: 'admin',\n\t\tINPUT_MAX_LENGTH: 300,\n\t\tTOAST_HIDE_TIME: 1000 * 5,\n\t\tCOMPONENT_GALLERY_FILTERS_LOCAL_STORAGE:\n\t\t\t'devplatform-component-gallery-filters'\n\t},\n\tDEV_PORTAL_ACTIONS: {\n\t\tGET_INSTANCE_DETAILS: 'instance.hibernate.is_awake',\n\t\tGET_INSTANCE_INFO: 'instance.ops.get_instance_info',\n\t\tRELEASE_VERSIONS: 'release.versions',\n\t\tRELEASE_VERSION_TOGGLE: 'version.selector.toggle',\n\t\tUSER_SESSION: 'dev.user.session',\n\t\tGET_COURSE_DETAILS: 'course.details',\n\t\tGET_LP_COMPONENT_DATA: 'lp.get.component.data',\n\t\tGET_LEARNING_MODULE_DATA: 'lp.get.lesson.data',\n\t\tGET_COURSE_MODULE_DATA: 'tr.article.page.data',\n\t\tLEARNING_PLANS_LIST: 'lp.get.landing_page.data',\n\t\tSEARCH: 'search.get.data',\n\t\tDASHBOARD_POPULAR_LATEST_CAROUSEL_DATA:\n\t\t\t'dashboard.get.popular_latest_carousel.data',\n\t\tDASHBOARD_QUEUE_REQUEST: 'dashboard.queue_request',\n\t\tDASHBOARD_LEAVE_QUEUE: 'dashboard.queue_leave_request',\n\t\tDASHBOARD_USER_IN_QUEUE: 'dashboard.user_in_queue',\n\t\tDPS_DOCS_API_TRACKER: 'api.tracker',\n\t\tGET_ALL_INSTANCE_BACKUPS: 'get.all.instance.backups',\n\t\tVALIDATE_INSTANCE_BACKUP: 'instance.backup.validation',\n\t\tSEND_INSTANCE_REQUEST_DATA: 'dashboard.instance_request',\n\t\tGET_INSTANCE_REQUEST_STATUS: 'instance.ops.get_assign_req_status',\n\t\tGET_INSTANCE_AVAILABILITY_COUNT: 'product.release.versions',\n\t\tBACKUP_INSTANCE: 'restore.instance.backup'\n\t},\n\tENDPOINTS: {\n\t\tAPI_INDEX_DATA: '/api/snc/api_index_data',\n\t\tBOOKMARKED_COMPONENTS_V1: '/api/snc/v1/dev_bookmark/bookmarkedComponents',\n\t\tCHECK_INSTANCE_AWAKE: '/api/snc/v1/dev/check_instance_awake',\n\t\tCOMPONENT_AVAILABLE_CATEGORIES_V2:\n\t\t\t'/api/snc/v2/components_library/components/available_categories/:release',\n\t\tCOMPONENT_ALL_CATEGORIES_V2: '/api/snc/v2/components_library/categories',\n\t\tCOMPONENT_GALLERY_V2:\n\t\t\t'/api/snc/v2/components_library/components/gallery/:release',\n\t\tCOMPONENT_SEARCH_V2:\n\t\t\t'/api/snc/v2/components_library/components/search/:release',\n\t\tCOMPONENT_SEARCH_V3: '/api/snc/v3/components_library/components/search',\n\t\tDEV_PORTAL_URI: '/devportal.do',\n\t\tDSE_ICONS_URL:\n\t\t\t'https://sndevstore.blob.core.windows.net/design-system-icons/:fileName',\n\t\tFETCH_LEGAL_AGREEMENT_MODAL: '/api/snc/v1/dev/legal_modal_data',\n\t\tGET_ACTION_MENU_ITEMS: '/api/snc/v1/dev/action_menu',\n\t\tGET_ALL_INSTANCE_BACKUPS: '/api/snc/v1/dev/get_all_instance_backups',\n\t\tGET_COMPONENTS_NAV: '/api/snc/dev_dse_api/nav/:release',\n\t\tGET_COURSE_MODULE_DATA: '/api/snc/v1/learn/get_course_module',\n\t\tGET_DASHBOARD_CONTENT: '/api/snc/v1/dev/dashboard',\n\t\tGET_GUIDE_OVERVIEW_CARD_CONTENT:\n\t\t\t'api/snc/v1/guides/get_overview_cards/:release',\n\t\tGET_GUIDE_OVERVIEW_PAGE_NAV_MENU: '/api/snc/guides/overview/nav/:release',\n\t\tGET_LP_COMPONENT_DATA: '/api/snc/v1/learn/learn/component_data',\n\t\tGET_LP_MODULE_DATA: '/api/snc/v1/learn/learn/lesson_data',\n\t\tGET_TUTORIAL_DATA: '/api/snc/tutorial/listing_page',\n\t\tGET_SHARE_PROJECTS_DATA: '/api/snc/top_three_share_project_details',\n\t\tGET_TRAINING_NAV: '/api/snc/v1/learn/courses/:release',\n\t\tGETINSTANCE_INFO_ENDPOINT: '/api/snc/dev/instanceInfo',\n\t\tGT_LP_LEARNING_PLANS: '/api/snc/v1/learn/learn/landing_page',\n\t\tINSTANCE_BACKUP_VALIDATION: '/api/snc/v1/dev/instance_backup_validation',\n\t\tINSTANCE_OPERATION_HISTORY: '/api/snc/v1/dev/instance_history',\n\t\tLOG_404_PAGE_ENDPOINT: '/update404Tracker.do',\n\t\tLOGOUT_URI: '/logout.do',\n\t\tREFRESH_STATUS_URL: '/api/snc/v1/dev/refresh_instance_status',\n\t\tSEND_INSTANCE_RESET_PASSWORD_EMAIL: '/api/snc/dev_user_password_reset',\n\t\tSSO_LOGIN_URL: '/userlogin.do',\n\t\tSSO_LOGOUT_URL: '/login/signout',\n\t\tSYSTEM_PROPERTIES: '/api/snc/dev/props',\n\t\tTRACK_API_VIST_DETAILS: '/api/snc/dev_api_tracker',\n\t\tGET_BOOKMARKS: '/api/snc/dev_bookmark/getBookMark',\n\t\tUPDATE_BOOKMARK_STATUS: '/api/snc/v1/dev_bookmark/updateBookMarkStatus',\n\t\tGET_MAGIC_LINK_URL: '/api/snc/fetch_magic_link_url',\n\t\tFETCH_USER_PROFILE_QUESTIONS:\n\t\t\t'/api/snc/v1/dev/fetch_user_profile_questions',\n\t\tPOST_USER_PROFILE_RESPONSES: '/api/snc/v1/dev/post_persona_details',\n\t\tPOST_LEGAL_AGREEMENT_DATA:\n\t\t\t'/devportal.do?sysparm_data=%7B%22action%22:%22legal.signature%22%7D',\n\t\tPOST_ROLE_FROM_PROFILE_FORM: '/api/snc/post_profile_data',\n\t\tSOLR_SEARCH_ENDPOINT: '/api/snc/v2/solr_search_api/basic_search',\n\t\tZING_SEARCH_ENDPOINT: '/api/snc/v1/solr_search_api/basic_search',\n\t\tRELATED_SEARCH_ENDPOINT: '/api/snc/v1/solr_search_api/related_search_terms',\n\t\tSOLR_SEARCH_AUTO_SUGGEST_ENDPOINT_V1:\n\t\t\t'/api/snc/v1/solr_search_api/auto_suggest',\n\t\tSOLR_SEARCH_AUTO_SUGGEST_ENDPOINT:\n\t\t\t'/api/snc/v2/solr_search_api/auto_suggest',\n\t\tSOLR_SEARCH_TRACK_SEARCH_CLICKS:\n\t\t\t'/api/snc/v1/solr_search_api/track_search_clicks',\n\t\tURL_REDIRECTIONS: '/api/snc/v1/dev/url_redirections',\n\t\tNOTIFY_UNPLANNED_MAINTENANCE:\n\t\t\t'/api/snc/dev_unplanned_maintenance/notifyUser',\n\t\tDC_IDENTIFIER_ROUTE_RESOLVER:\n\t\t\t'/api/snc/v1/dev/dc_identifier_route_resolver/:release/:docType',\n\t\tGET_TUTORIALS_LANDING_PAGE_DATA:\n\t\t\t'api/snc/tutorial/getLandingPageDetails/:release',\n\t\tTUTORIAL_EXERCISE_LIST: '/api/snc/tutorial/exercise_list',\n\t\tUPDATE_TUTORIAL_EXERCISE_COMPLETION:\n\t\t\t'/api/snc/tutorial/updateExerciseCompletion',\n\t\tCANCEL_REQUEST: '/api/snc/dev_cancel_request',\n\t\tCOMMON_DATA: '/api/snc/v1/dev/common-data/:keys'\n\t},\n\tERRORS: {\n\t\tINVALID_SESSION: 'INVALID_SESSION'\n\t},\n\tMODAL_COMP_NAMES: {\n\t\tFULFILLING_EXPERIENCE_MODAL: \"FulfillingExperienceModal\",\n\t},\n\tCOMMON_DATA_KEYS: {\n\t\tSUGGESTED_PROMPTS: 'SUGGESTED_PROMPTS',\n\t\tPROMPTING_TIPS: 'PROMPTING_TIPS'\n\t}\n};\n\nexport const KEYCODE = {\n\tENTER: 13,\n\tUP_ARROW: 38,\n\tDOWN_ARROW: 40,\n\tLEFT_ARROW: 37,\n\tRIGHT_ARROW: 39,\n\tESC: 27\n};\n\nexport const ERROR_CODES = {\n\tUNAUTHORIZED: 401,\n\tNOT_FOUND: 404\n};\n\nexport const ALERTS = {\n\tUPGRADE_INSTANCE_ALERT: 'upgrade_instance_alert',\n\tRESET_PASSWORD: 'reset_password',\n\tRESET_PASSWORD_FAILED: 'reset_password_failed',\n\tACTIVATE_PLUGIN: 'activate_plugin',\n\tHIBERNATING_ALERT_ID: 'hibernating-alert',\n\tINSTANCE_READY: 'instance_ready',\n\tSENT_LOGIN_CREDS: 'sent_login_creds',\n\tSENT_LOGIN_CREDS_FAILED: 'sent_login_creds_failed',\n\tMANAGE_EMAIL_POSITIVE_ENABLED: 'manage-email-properties-positive-enabled',\n\tMANAGE_EMAIL_POSITIVE_DISABLED: 'manage-email-properties-positive-disabled',\n\tMANAGE_EMAIL_NEGATIVE: 'manage-email-properties-negative',\n\t// Build Agent alerts\n\tBUILD_AGENT_OFFLINE: 'build_agent_offline',\n\tBUILD_AGENT_HIBERNATING: 'build_agent_hibernating',\n\tBUILD_AGENT_NOT_ADMIN: 'build_agent_not_admin',\n\tBUILD_AGENT_UPGRADE_REQUIRED: 'build_agent_upgrade_required',\n\tBUILD_AGENT_VIBE_CODING_NOT_AVAILABLE: 'build_agent_vibe_coding_not_available',\n\tBUILD_AGENT_WAITLIST: 'build_agent_waitlist',\n\tBUILD_AGENT_UPGRADING_INSTANCE: 'build_agent_upgrading_instance',\n\tINACTIVITY_RECLAIM_ALERT_ID: 'inactivity_reclaim_alert',\n\tNINETY_DAY_RECLAIM_ALERT_ID: 'ninety_day_reclaim_alert',\n\tINSTANCE_SETUP_COMPLETE: 'instance_setup_complete'\n};\n\nexport const COMPONENT_NAME_PREFIX = new RegExp('^now-|^sn-');\n\nexport const CLEAR_CACHE_VARIABLES = [\n\tCONSTANTS.DEFAULTS.API_CMS_CONFIG_CACHE_KEY,\n\tCONSTANTS.DEFAULTS.PDI_VERSION_MISMATCH_ALERT_KEY,\n\tCONSTANTS.DEFAULTS.VERSION_MISMATCH_ALERT_KEY,\n\tCONSTANTS.DEFAULTS.RETIRE_RELEASE_ALERT_KEY,\n\tCONSTANTS.DEFAULTS.AUTH_HOMEPAGE_NEW_USER_BANNER_KEY,\n\tCONSTANTS.DEFAULTS.SYSTEM_WIDE_ALERT_CONNECT_MVP_DISMISSED_KEY\n];\n\nexport const MODULE_TRANSLATION = {\n\tLANG_DISPLAY_NAME_BY_CODE: {\n\t\tdeu: 'Deutsch',\n\t\tesn: 'Español',\n\t\tfr: 'Français',\n\t\tjpn: '日本語',\n\t\tkor: '한국어'\n\t},\n\t// The codes are listed in the order they should appear\n\tVALID_LANG_CODES: ['deu', 'esn', 'fr', 'jpn', 'kor']\n};\n\nexport const DPS_COMPONENT_GALLERY_SEARCH = {\n\tCATEGORIES: {\n\t\tuib_page: 'UIB Page',\n\t\tuib_component: 'UIB Component',\n\t\tuib_modal: 'UIB Modal',\n\t\t'uib_app-shells': 'UIB App Shells',\n\t\tuib_facades: 'UIB Facade',\n\t\t'uib_macroponent-component': 'UIB Macroponent',\n\t\tContent: 'Content',\n\t\tControls: 'Controls',\n\t\t'Data Visualizations': 'Data Visualizations',\n\t\tLoaders: 'Loaders',\n\t\tContainers: 'Containers',\n\t\tInputs: 'Inputs',\n\t\tMessaging: 'Messaging',\n\t\tNavigation: 'Navigation',\n\t\tTools: 'Tools',\n\t\tUtility: 'Utility',\n\t\tOther: 'Other',\n\t\t'Dev-Design System': 'Design System'\n\t},\n\tCONSTANTS: {\n\t\tBOOKMARKED_COMPONENTS: 'Your Bookmarked Components',\n\t\tMULTIPLE_CATEGORIES_HEADING: 'Multiple Categories',\n\t\tUIB_CATEGORY: 'UIB Elements',\n\t\tYOUR_BOOKMARKS: 'Your Bookmarks'\n\t}\n};\n\nexport const COMPONENT_OVERVIEW_UIB_ELEMENTS = {\n\tcomponent: {\n\t\tlabel: 'UIB Component',\n\t\tcategory: 'uib_component'\n\t},\n\tfacades: {\n\t\tlabel: 'UIB Facade',\n\t\tcategory: 'uib_facades'\n\t},\n\t'macroponent-component': {\n\t\tlabel: 'UIB Macroponent',\n\t\tcategory: 'uib_macroponent-component'\n\t},\n\tmodal: {\n\t\tlabel: 'UIB Modal',\n\t\tcategory: 'uib_modal'\n\t},\n\tpage: {\n\t\tlabel: 'UIB Page',\n\t\tcategory: 'uib_page'\n\t},\n\t'app-shells': {\n\t\tlabel: 'UIB App Shells',\n\t\tcategory: 'uib_app-shells'\n\t}\n};\n\nexport const DPS_MODAL_ACTIONS = {\n\tOPENED_SET: 'DPS_MODAL#OPENED_SET'\n};\n\nexport const DPS_ERROR_ACTIONS = {\n\tPAGE_NOT_FOUND: 'DPS_ERROR#PAGE_NOT_FOUND'\n};\n\nexport const DPS_INSTANCE_MANAGEMENT = {\n\tMENU_ITEM_CLICKED: 'DPS_INSTANCE_MANAGEMENT#MENU_ITEM_CLICKED',\n\tINSTANCE_UNDER_MAINTENANCE: 'Maintenance in progress'\n};\n\nexport const DPS_INSTANCE_ASSIGNMENT = {\n\tMENU_ITEM_CLICKED: 'DPS_INSTANCE_ASSIGNMENT#MENU_ITEM_CLICKED'\n};\n\nexport const DPS_INSTANCE_ASSIGNMENT_MODAL_CONSTANTS = {\n\tWAITLIST_SCREEEN: 'waitlist',\n\tREQUEST_SCREEN: 'request',\n\tLEAVE_SCREEN: 'leave',\n\tRESTORE: 'restore'\n};\n\nexport const DPS_INSTANCE_RELEASE_REASONS = {\n\tFRESH_INSTANCE: 'I want a fresh instance with no data',\n\tOTHER_REASON: 'Other reason',\n\tNO_LONGER_USING: 'I am no longer using my instance',\n\tPLACEHOLDER: 'Please select an option'\n};\n\nexport const DPS_NAV_INSTANCE_MANAGEMENT = {\n\tREFRESH_STATUS_BUTTON_LABEL: {\n\t\tDEFAULT: 'Refresh Instance',\n\t\tREFRESHING: 'Refreshing Instance...',\n\t\tREFRESH: 'Refresh'\n\t},\n\tWAKE_INSTANCE: 'Wake instance',\n\tINSTANCE_STATE: {\n\t\tFULFILLING_REQUEST: 'Fulfilling',\n\t\tONLINE: 'Online',\n\t\tWAITLIST: 'waitlist',\n\t\tRESTORE_INSTANCE: 'instanceRestoreProgress'\n\t},\n\tMENU_ITEMS: {\n\t\t'Activate plugin': 'Activate Plugin',\n\t\t'Remove demo data': 'Remove Demo Data',\n\t\t'Upgrade instance': 'Upgrade Instance',\n\t\t'Reset and wipe instance': 'Reset and Wipe Instance',\n\t\t'Release instance': 'Release Instance',\n\t\t'Reset instance password': 'Manage instance password',\n\t\t'Refresh status': 'Refresh Status',\n\t\t'Change User Role': 'Change User Role',\n\t\t'Manage email properties': 'Manage Email Properties'\n\t}\n};\n\nexport const DPS_MAGIC_LINK_ACTIONS = {\n\tGET_MAGIC_LINK_STATUS_SUCCEEDED: 'GET_MAGIC_LINK_STATUS_SUCCEEDED',\n\tGET_MAGIC_LINK_URL: 'GET_MAGIC_LINK_URL'\n};\nexport const DPS_SEARCH_SECTION_NAMES = {\n\tall: {\n\t\tlabel: 'All',\n\t\tfullTitle: 'All',\n\t\tdescription: 'All categories combined',\n\t\ticon: null\n\t},\n\tlearn_section: {\n\t\tlabel: 'Learn',\n\t\tfullTitle: 'Learn',\n\t\tdescription: 'Learning modules and hands-on activities',\n\t\ticon:\n\t\t\t'<path transform=\"translate(2, 0)\" d=\"M14.2 0H2.9C1.3 0 0 1.3 0 2.9v12.5c0 1.6 1.3 2.9 2.9 2.9h11.3c0.5 0 0.8-0.4 0.8-0.8V0.8C15 0.4 14.6 0 14.2 0zM13.3 16.7H2.9c-0.7 0-1.2-0.6-1.2-1.2 0-0.7 0.6-1.2 1.3-1.2h10.4V16.7zM13.3 12.5H2.9c-0.4 0-0.9 0.1-1.2 0.3V2.9c0-0.7 0.6-1.2 1.3-1.2h10.4V12.5z\"/>',\n\t\tbackgroundColor: 'green'\n\t},\n\treference_section: {\n\t\tlabel: 'Reference',\n\t\tfullTitle: 'Reference',\n\t\tdescription: 'Tools and usage documentation',\n\t\ticon:\n\t\t\t'<path d=\"M19.4517672,6.89913911 L18.5461025,5.99347461 C18.0144224,5.46183372 17.2401249,5.31687271 16.5760229,5.55859158 L14.4422713,3.42484054 C14.6840293,2.76085584 14.5391073,1.98651953 14.0073882,1.45480052 L13.1017235,0.549565699 C12.3690276,-0.183129971 11.1828939,-0.183247159 10.4500809,0.549565699 L6.40289043,4.59636455 C5.67183521,5.32741959 5.67183521,6.51695142 6.40289043,7.24804553 L7.3085161,8.15367097 C7.8402743,8.68542905 8.61449361,8.83046818 9.27859566,8.588554 L9.68258033,8.99253857 L7.47386778,11.2003521 C6.61367184,10.3401955 5.44785067,10.4484377 4.75910017,11.1372271 L0.549565833,15.3479714 C-0.183130016,16.080667 -0.183247204,17.2668004 0.549565833,17.9996133 L2.00124658,19.4517234 C2.73226274,20.1827393 3.9217558,20.1827784 4.65288915,19.4517234 L8.86277505,15.2409401 C9.54293179,14.5608616 9.66949439,13.3959782 8.79965,12.526134 L11.0083626,10.3183595 L11.4123082,10.722305 C11.1705502,11.3862897 11.3154722,12.1606261 11.8472304,12.6923841 L12.8400826,13.6852362 C13.5230519,14.3682053 14.6343027,14.3682443 15.317311,13.6852362 L19.4517672,9.55078103 C20.1827443,8.81972599 20.1827443,7.63019416 19.4517672,6.89913911 Z M3.32792724,18.1266837 L3.32710693,18.1258633 L1.87499649,16.6737923 L6.08488239,12.4630481 L7.53695376,13.9151191 L3.32792724,18.1266837 Z M14.0786773,12.2721886 L13.1730516,11.3665632 L13.7509036,10.7887113 L9.21218936,6.24999817 L8.63437644,6.82781095 L7.72875078,5.92218551 L11.7759803,1.87499603 L12.681606,2.78062148 L12.0246914,3.4374968 L16.5634057,7.97620995 L17.2202812,7.31933463 L18.1259068,8.22496007 L14.0786773,12.2721886 L14.0786773,12.2721886 Z\" id=\"path-1\"></path>',\n\t\tbackgroundColor: 'purple'\n\t},\n\tguides_section: {\n\t\tlabel: 'Guides',\n\t\tfullTitle: 'Guides',\n\t\tdescription: 'Recommendations for building on the Now Platform',\n\t\ticon:\n\t\t\t'<path d=\"M11.666662,0.833333 C11.8876757,0.833333 12.0996372,0.921130341 12.2559174,1.07741061 L17.2559153,6.07740886 C17.4121955,6.23368911 17.4999929,6.44565061 17.4999929,6.66666425 L17.4999929,16.6666603 C17.4999929,18.047372 16.3807056,19.1666593 14.9999939,19.1666593 L4.99999793,19.1666593 C3.6192868,19.1666593 2.49999914,18.0473718 2.49999893,16.66666 L2.49999893,3.333333 C2.49999893,1.95262087 3.6192864,0.83333306 4.99999893,0.833333 L11.666662,0.833333 Z M11.3214842,2.499999 L4.99999804,2.499999 C4.53976076,2.49999902 4.16666493,2.87309496 4.16666493,3.333332 L4.16666493,16.6666599 C4.166665,17.1268974 4.5397609,17.4999933 4.99999793,17.4999933 L14.999994,17.4999933 C15.4602314,17.4999933 15.8333269,17.1268978 15.8333269,16.6666603 L15.8333269,7.01184206 L11.3214842,2.499999 Z M8.333331,6.666664 C8.79356711,6.666664 9.166663,7.03975989 9.166663,7.499997 C9.166663,7.96023411 8.79356711,8.33333 8.33333,8.33333 L6.666664,8.33333 C6.20642689,8.33333 5.833331,7.96023411 5.833331,7.499997 C5.833331,7.03975989 6.20642689,6.666664 6.666664,6.666664 L8.333331,6.666664 Z M13.333331,13.333328 C13.7935651,13.333328 14.166661,13.7064239 14.166661,14.166661 C14.166661,14.6268981 13.7935651,14.999994 13.333328,14.999994 L6.666664,14.999994 C6.20642689,14.999994 5.833331,14.6268981 5.833331,14.166661 C5.833331,13.7064239 6.20642689,13.333328 6.666664,13.333328 L13.333331,13.333328 Z M13.333331,9.999996 C13.7935651,9.999996 14.166661,10.3730919 14.166661,10.833329 C14.166661,11.2935661 13.7935651,11.666662 13.333328,11.666662 L6.666664,11.666662 C6.20642689,11.666662 5.833331,11.2935661 5.833331,10.833329 C5.833331,10.3730919 6.20642689,9.999996 6.666664,9.999996 L13.333331,9.999996 Z\" id=\"Path-2\"></path>',\n\t\tbackgroundColor: 'orange'\n\t},\n\tcommunity_section: {\n\t\tlabel: 'Community',\n\t\tfullTitle: 'Community Threads',\n\t\tdescription: 'Community of ServiceNow developers',\n\t\ticon:\n\t\t\t'<path d=\"M2.875,15.6375629 L4.88128157,13.6312813 C5.0453759,13.467187 5.26793557,13.3749997 5.5,13.3749997 L16,13.3749997 C16.4832491,13.3749997 16.875,12.983249 16.875,12.4999997 L16.8749999,3.75 C16.8749999,3.2667504 16.4832495,2.87499998 16,2.875 L3.75,2.875 C3.26675039,2.875 2.87499993,3.2667504 2.875,3.74999974 L2.875,15.6375629 Z M5.86243687,15.1249997 L2.61871843,18.3687182 C2.06749918,18.9199374 1.125,18.5295415 1.125,17.7499997 L1.125,3.74999987 C1.12499978,2.30025212 2.30025209,1.125 3.75,1.125 L16,1.125 C17.4497478,1.12499994 18.6249999,2.30025209 18.6249999,3.74999999 L18.625,12.4999997 C18.625,13.9497474 17.4497473,15.1249997 16,15.1249997 L5.86243687,15.1249997 Z\" id=\"path-1\"></path>',\n\t\tbackgroundColor: 'blue'\n\t},\n\tshare_section: {\n\t\tlabel: 'Share',\n\t\tfullTitle: 'Share Projects',\n\t\tdescription: 'Shared apps, scripts, and utilities',\n\t\ticon:\n\t\t\t'<path transform=\"translate(3, 0)\" d=\"M9.666662,0.833333 C9.88767566,0.833333 10.0996372,0.921130341 10.2559174,1.07741061 L15.2559153,6.07740886 C15.4121955,6.23368911 15.4999989,6.44565061 15.4999989,6.66666425 L15.4999989,16.6666603 C15.4999989,18.047372 14.3807056,19.1666593 12.9999989,19.1666593 L2.99999893,19.1666593 C1.6192868,19.1666593 0.499998927,18.0473718 0.499998927,16.66666 L0.499998927,3.333333 C0.499998927,1.95262087 1.6192864,0.833333 2.99999893,0.833333 L9.666662,0.833333 Z M9.32148415,2.499999 L2.99999804,2.499999 C2.53976076,2.499999 2.16666493,2.87309496 2.16666493,3.333332 L2.16666493,16.6666599 C2.16666493,17.1268974 2.5397609,17.499999 2.99999793,17.499999 L12.999994,17.499999 C13.4602314,17.499999 13.8333269,17.1268978 13.8333269,16.6666603 L13.8333269,7.01184206 L9.32148415,2.499999 Z M8.53629734,8.00013423 L8.59539783,8.00715868 L9.54065305,8.27177977 C9.61954888,8.29386302 9.67164218,8.36194 9.67466697,8.43697746 L9.66738236,8.49396722 L7.55185111,15.5206117 C7.52322468,15.6157094 7.42007137,15.6704238 7.32145158,15.6428198 L6.37614283,15.3781939 C6.29724699,15.3561107 6.24515369,15.2880337 6.2421289,15.2129962 L6.24941352,15.1560065 L8.36498122,8.12936194 C8.38788236,8.05328382 8.45848071,8.00305099 8.53629734,8.00013423 Z M5.50803014,9.64810087 L5.55513761,9.6831979 L6.22932511,10.3766198 C6.28675603,10.4394394 6.29344464,10.5245116 6.25435312,10.5895224 L6.21652824,10.6338579 L4.81295532,11.8249868 L6.2165647,13.0161157 C6.27994678,13.0733066 6.29506106,13.1573768 6.26260867,13.2257155 L6.22936157,13.2733541 L5.55513016,13.9668211 C5.49892745,14.0246002 5.41237904,14.0384801 5.34165955,14.0070359 L5.29230932,13.9749323 L3.05876246,11.9557683 L3.05029497,11.9476032 C2.99410513,11.8898125 2.98529336,11.8056365 3.02237214,11.7396006 L3.05876246,11.6941706 L5.29230934,9.6750065 L5.34168168,9.64291033 C5.39472998,9.6193453 5.45667274,9.62127804 5.50803014,9.64810087 Z M10.408742,9.64809434 C10.4772212,9.61233568 10.5645155,9.62082724 10.6244501,9.67500639 L10.6244501,9.67500639 L12.8579605,11.6941704 C12.8608732,11.6968038 12.8636972,11.6995269 12.866428,11.7023355 C12.9366653,11.7745739 12.9328744,11.8880393 12.8579605,11.9557681 L12.8579605,11.9557681 L10.6244411,13.9749403 C10.5495276,14.0426694 10.4318594,14.0390138 10.3616221,13.9667758 L10.3616221,13.9667758 L9.6874346,13.2733539 C9.68609645,13.2719778 9.68478089,13.2705814 9.68348843,13.2691652 C9.61564596,13.1948294 9.62314216,13.0815352 9.70023148,13.0161158 L9.70023148,13.0161158 L11.1038409,11.8249869 L9.70023149,10.633858 C9.69878167,10.6326271 9.69735181,10.6313746 9.69594246,10.6301008 C9.62100392,10.5623694 9.61719476,10.4488819 9.68743465,10.3766196 L9.68743465,10.3766196 L10.3616221,9.68319776 L10.3616221,9.68319776 Z\" id=\"Path-2\"></path>',\n\t\tbackgroundColor: 'blue'\n\t},\n\tblog_section: {\n\t\tlabel: 'Blog',\n\t\tfullTitle: 'Blog',\n\t\tdescription: 'Developer Blog',\n\t\ticon:\n\t\t\t'<path d=\"M19.1666544,3.2222208 L3.8888864,3.2222208 C3.16465075,3.2222208 2.54711643,3.68669967 2.31777629,4.3333312 L0.8333328,4.3333312 C0.373090039,4.3333312 0,4.70642124 0,5.166664 L0,14.6111024 C0,15.6849906 0.870554998,16.5555456 1.9444432,16.5555456 L19.1666544,16.5555456 C19.6268972,16.5555456 19.9999872,16.1824556 19.9999872,15.7222208 L19.9999872,4.0555536 C19.9999872,3.59531084 19.6268972,3.2222208 19.1666544,3.2222208 Z M1.6666656,14.6111024 L1.6666656,5.9999968 L2.2222208,5.9999968 L2.2222208,14.6111024 C2.2222208,14.764262 2.09760282,14.88888 1.9444432,14.88888 C1.79128358,14.88888 1.6666656,14.764262 1.6666656,14.6111024 Z M18.3333216,14.8888864 L3.86881697,14.8888864 C3.88180307,14.7981162 3.8888864,14.7054426 3.8888864,14.6111024 L3.8888864,4.8888864 L18.3333216,4.8888864 L18.3333216,14.8888864 Z M5.9722184,10.722216 L10.6944376,10.722216 C10.9245416,10.722216 11.111104,10.5356536 11.111104,10.3055496 L11.111104,6.9722184 C11.111104,6.74211438 10.9245416,6.555552 10.6944376,6.555552 L5.9722184,6.555552 C5.74211438,6.555552 5.555552,6.74211438 5.555552,6.9722184 L5.555552,10.3055496 C5.555552,10.5356536 5.74211438,10.722216 5.9722184,10.722216 Z M6.94444,7.94444 L9.722216,7.94444 L9.722216,9.333328 L6.94444,9.333328 L6.94444,7.94444 Z M5.555552,12.805548 L5.555552,11.9722152 C5.555552,11.7421112 5.74211438,11.5555488 5.9722184,11.5555488 L10.6944376,11.5555488 C10.9245416,11.5555488 11.111104,11.7421112 11.111104,11.9722152 L11.111104,12.805548 C11.111104,13.035652 10.9245416,13.2222144 10.6944376,13.2222144 L5.9722184,13.2222144 C5.74211438,13.2222144 5.555552,13.035652 5.555552,12.805548 Z M12.2222144,12.805548 L12.2222144,11.9722152 C12.2222144,11.7421112 12.4087768,11.5555488 12.6388808,11.5555488 L16.2499896,11.5555488 C16.4800936,11.5555488 16.666656,11.7421112 16.666656,11.9722152 L16.666656,12.805548 C16.666656,13.035652 16.4800936,13.2222144 16.2499896,13.2222144 L12.6388808,13.2222144 C12.4087768,13.2222144 12.2222144,13.035652 12.2222144,12.805548 Z M12.2222144,7.8055512 L12.2222144,6.9722184 C12.2222144,6.74211438 12.4087768,6.555552 12.6388808,6.555552 L16.2499896,6.555552 C16.4800936,6.555552 16.666656,6.74211438 16.666656,6.9722184 L16.666656,7.8055512 C16.666656,8.03565522 16.4800936,8.2222176 16.2499896,8.2222176 L12.6388808,8.2222176 C12.4087768,8.2222176 12.2222144,8.03565522 12.2222144,7.8055512 Z M12.2222144,10.3055496 L12.2222144,9.4722168 C12.2222144,9.24211278 12.4087768,9.0555504 12.6388808,9.0555504 L16.2499896,9.0555504 C16.4800936,9.0555504 16.666656,9.24211278 16.666656,9.4722168 L16.666656,10.3055496 C16.666656,10.5356536 16.4800936,10.722216 16.2499896,10.722216 L12.6388808,10.722216 C12.4087768,10.722216 12.2222144,10.5356536 12.2222144,10.3055496 Z\" id=\"Shape\"></path>',\n\t\tbackgroundColor: 'blue'\n\t}\n};\n\nexport const DPS_SITE_BANNER_TYPE = {\n\tINFO: 'info',\n\tPROMOTION: 'promotion',\n\tWARNING: 'warning'\n};\n\nexport const DPS_SITE_BANNER_VARIANTS = {\n\twarning: {\n\t\ticon: 'circle-exclamation-outline',\n\t\tvariant: 'warning'\n\t},\n\tinfo: {\n\t\ticon: null,\n\t\tvariant: 'info'\n\t},\n\tpromotion: {\n\t\ticon: null,\n\t\tvariant: 'promotion'\n\t}\n};\n\nexport const DPS_TOAST_ALERT_TYPES = {\n\tERROR: 'ERROR',\n\tINFO: 'INFO',\n\tSUCCESS: 'SUCCESS',\n\tWARNING: 'WARNING'\n};\n\nexport const DPS_TOAST_ALERT_VARIANTS = {\n\tERROR: {\n\t\ticon: 'circle-close-outline',\n\t\tvariant: 'error'\n\t},\n\tINFO: {\n\t\ticon: 'circle-info-outline',\n\t\tvariant: 'info'\n\t},\n\tSUCCESS: {\n\t\ticon: 'circle-check-outline',\n\t\tvariant: 'success'\n\t},\n\tWARNING: {\n\t\ticon: 'circle-exclamation-outline',\n\t\tvariant: 'warn'\n\t}\n};\n\nexport const instanceActionsList = [\n\t{\n\t\ticon: 'Stack Icon _ Cube.svg',\n\t\ttitle: 'Activate Plugin',\n\t\tdescription: 'Add a plugin to test and experiment with and stuff',\n\t\tlink: '#'\n\t},\n\t{\n\t\ticon: 'Stack Icon _ Release Instance.svg',\n\t\ttitle: 'Release Instance',\n\t\tdescription: 'Remove instance from your ownership',\n\t\tlink: '#'\n\t},\n\t{\n\t\ticon: 'Stack Icon _ Remove Data.svg',\n\t\ttitle: 'Remove Demo Data',\n\t\tdescription: 'Remove demo data from your instance',\n\t\tlink: '#'\n\t},\n\t{\n\t\ticon: 'Stack Icon _ Reset Instance.svg',\n\t\ttitle: 'Reset Instance',\n\t\tdescription: 'Reset Instance to default and wipes instance data',\n\t\tlink: '#'\n\t},\n\t{\n\t\ticon: 'Stack Icon _ Upgrade Instance.svg',\n\t\ttitle: 'Upgrade Instance',\n\t\tdescription: 'Change your developer instance release version',\n\t\tlink: '#'\n\t},\n\t{\n\t\ticon: 'Stack Icon _ Report a problem.svg',\n\t\ttitle: 'Report a Problem',\n\t\tdescription: 'Tell us if something is broken or not working',\n\t\tlink: '#'\n\t}\n];\n\nexport const INSTANCE_ACTION_LABELS = {\n\tACTIVATE_PLUGIN: 'Activate plugin',\n\tCHANGE_USER_ROLE: 'Change User Role',\n\tRESET_ADMIN_PASSWORD: 'Reset instance password',\n\tRESET_AND_WIPE_INSTANCE: 'Reset and wipe instance',\n\tREMOVE_DEMO_DATA: 'Remove demo data',\n\tRELEASE_INSTANCE: 'Release instance',\n\tUPGRADE_INSTANCE: 'Upgrade instance',\n\tMANAGE_EMAIL_PROPERTIES: 'Manage email properties'\n};\n\nexport const INSTANCE_ACTION_STATES = {\n\tFIRST_TIME: 'first_time',\n\tONLINE: 'Online',\n\tOFFLINE: 'Offline',\n\tHIBERNATING: 'Hibernating',\n\tIS_MAINTENANCE: 'isMaintenance',\n\tWAKEUP_INSTANCE: 'wakeupInstance',\n\tREQUEST_PROCESSING: 'requestProcessing',\n\tREQUEST_IN_PROGRESS: 'instanceRequestProgress',\n\tWAKEUP_IN_PROGRESS: 'Waking Instance',\n\tRESTART_IN_PROGRESS: 'instanceRestartProgress',\n\tRESTORE_IN_PROGRESS: 'instanceRestoreProgress',\n\tOUTAGE_IN_PROGRESS: 'instanceOutage',\n\tMAINTENANCE_IN_PROGRESS: 'instanceMaintenance',\n\tWAITLIST: 'waitlist',\n\tFULFILLING: 'Fulfilling',\n\tREQUESTING_INSTANCE: 'Requesting Instance',\n\tFULFILLING_REQUEST: 'Fulfilling Request',\n\tWAKING_INSTANCE_IN_PROGRESS: 'Waking Instance'\n};\n\nexport const INSTANCE_HELPER_OBJ = {\n\t[INSTANCE_ACTION_STATES.REQUEST_IN_PROGRESS]: {\n\t\theader: 'Fulfilling Request',\n\t\tcontentText:\n\t\t\t\"We're fullfilling your request and will notify you once it's complete\",\n\t\tlabel: 'Fulfilling Request',\n\t\tstatus: INSTANCE_ACTION_STATES.REQUEST_PROCESSING,\n\t\ticonType: 'instanceFulfilling'\n\t},\n\t[INSTANCE_ACTION_STATES.REQUESTING_INSTANCE]: {\n\t\tlabel: 'Fulfilling Request',\n\t\ticonType: 'instanceFulfilling'\n\t},\n\t[INSTANCE_ACTION_STATES.RESTART_IN_PROGRESS]: {\n\t\tlabel: 'Restarting Instance',\n\t\ticonType: 'instanceFulfilling'\n\t},\n\t[INSTANCE_ACTION_STATES.WAKEUP_IN_PROGRESS]: {\n\t\theader: 'Waking',\n\t\tcontentText: 'One moment while your instance wakes up...',\n\t\tlabel: 'Waking Instance',\n\t\tstatus: INSTANCE_ACTION_STATES.WAKEUP_INSTANCE,\n\t\ticonType: 'instanceFulfilling'\n\t},\n\t[INSTANCE_ACTION_STATES.RESTORE_IN_PROGRESS]: {\n\t\theader: 'Restoring Instance',\n\t\tcontentText: 'One moment while your instance restoring...',\n\t\tlabel: 'Restoring Instance',\n\t\ticonType: 'instanceFulfilling'\n\t},\n\t[INSTANCE_ACTION_STATES.OUTAGE_IN_PROGRESS]: {\n\t\theader: 'Outage',\n\t\tcontentText:\n\t\t\t'Thanks for your patience while we work to get your instance back online.',\n\t\tlabel: 'Outage'\n\t},\n\t[INSTANCE_ACTION_STATES.MAINTENANCE_IN_PROGRESS]: {\n\t\theader: 'Undergoing Maintenance',\n\t\tcontentText: 'During this time, your instance will be unavailable.',\n\t\tlabel: 'Undergoing Maintenance',\n\t\tstatus: INSTANCE_ACTION_STATES.IS_MAINTENANCE,\n\t\ticonType: 'instanceMaintenance'\n\t},\n\t[INSTANCE_ACTION_STATES.FULFILLING]: {\n\t\tlabel: 'Fulfilling Request',\n\t\ticonType: 'instanceFulfilling'\n\t},\n\t[INSTANCE_ACTION_STATES.WAITLIST]: {\n\t\tlabel: 'Waitlisted'\n\t},\n\t[INSTANCE_ACTION_STATES.ONLINE]: {\n\t\tlabel: 'Online',\n\t\ticonType: 'instanceOnline'\n\t},\n\t[INSTANCE_ACTION_STATES.OFFLINE]: {\n\t\tlabel: 'Offline',\n\t\ticonType: 'instanceOutage',\n\t\tcontentText:\n\t\t\t'Thanks for your patience while we work to get your instance back online.'\n\t},\n\t[INSTANCE_ACTION_STATES.HIBERNATING]: {\n\t\tlabel: 'Hibernating',\n\t\ticonType: 'instanceHibernating'\n\t}\n};\n\n//TODO CHECK need to check whether this required or not\nexport const USER_INSTANCE_STATES = [\n\tINSTANCE_ACTION_STATES.REQUESTING_INSTANCE,\n\tINSTANCE_ACTION_STATES.FULFILLING,\n\tINSTANCE_ACTION_STATES.ONLINE,\n\tINSTANCE_ACTION_STATES.WAKEUP_IN_PROGRESS,\n\tINSTANCE_ACTION_STATES.HIBERNATING,\n\tINSTANCE_ACTION_STATES.OFFLINE\n];\n\nexport const instanceStateList = [\n\t'first_time',\n\t'complete_error',\n\t'rejected',\n\t'pending'\n];\nexport const instanceRefreshStateList = [\n\t'In Progress',\n\t'Queued',\n\t'Submitted',\n\t'Callback complete'\n];\nexport const INSTANCE_ASSIGNMENT_STATE_LIST = [\n\tINSTANCE_ACTION_STATES.WAITLIST,\n\tINSTANCE_ACTION_STATES.REQUESTING_INSTANCE,\n\tINSTANCE_ACTION_STATES.RESTORE_IN_PROGRESS\n];\n\nexport const OPERATION_HISTORY_TYPES = {\n\tall: {\n\t\tlabel: 'All',\n\t\tvalue: 'ALL',\n\t\tempty_message:\n\t\t\t\"You haven't performed any operations yet. Actions will appear here.\"\n\t},\n\t'activate-plugin': {\n\t\tlabel: 'Plugin activations',\n\t\tvalue: 'Activate plugin',\n\t\tempty_message:\n\t\t\t\"You haven't activated any plugins yet. When you activate a plugin, the action will appear here.\"\n\t},\n\t'remove-data': { label: '', value: 'Remove Demo Data', empty_message: '' },\n\t'reset-wipe': {\n\t\tlabel: 'Instance resets',\n\t\tvalue: 'Reset and wipe instance',\n\t\tempty_message:\n\t\t\t\"You haven't reset your instance yet. When you reset and wipe your instance, the action will appear here\"\n\t},\n\t'reset-pwd': {\n\t\tlabel: 'Password resets',\n\t\tvalue: 'Reset instance password',\n\t\tempty_message:\n\t\t\t\"You haven't reset your password yet. When you reset your password, the action will appear here\"\n\t},\n\tupgrade: { label: '', value: 'Upgrade', empty_message: '' }\n};\n\n//TODO pull this from a system property\nexport const INSTANCE_DISPLAY_STATUSES = {\n\trestore: {\n\t\tdisplay_state: 'Restoring Instance',\n\t\tstate: 'Restore Instance',\n\t\tadditional_info: {\n\t\t\tdashboard_show_spinner: true,\n\t\t\tdashboard_show_exclamation: false,\n\t\t\tstatus_icon: 'instanceFulfilling',\n\t\t\tstart_building_disabled: true,\n\t\t\tstart_building_subtext: 'Restoring Instance',\n\t\t\tstart_building_tooltip:\n\t\t\t\t'We are restoring your instance. This may take up to 8 hours.'\n\t\t}\n\t},\n\tpending: {\n\t\tdisplay_state: 'Fulfilling request',\n\t\tstate: 'fulfillingRequest',\n\t\tadditional_info: {\n\t\t\tdashboard_show_spinner: true,\n\t\t\tdashboard_show_exclamation: false,\n\t\t\tstatus_icon: 'instanceFulfilling',\n\t\t\tstart_building_disabled: true,\n\t\t\tstart_building_subtext: 'Setting up instance',\n\t\t\tstart_building_tooltip: 'Instance assignment is processing.'\n\t\t}\n\t},\n\tresetAndWipe: {\n\t\tdisplay_state: 'Reset and Wiping Instance',\n\t\tstate: 'Reset and wipe instance',\n\t\tadditional_info: {\n\t\t\tdashboard_show_spinner: true,\n\t\t\tdashboard_show_exclamation: false,\n\t\t\tstatus_icon: 'instanceFulfilling',\n\t\t\tstart_building_disabled: true,\n\t\t\tstart_building_subtext: 'Instance reset is in progress',\n\t\t\tstart_building_tooltip:\n\t\t\t\t'We are resetting your instance to its baseline state. You will receive an email when the reset process completes.'\n\t\t}\n\t},\n\twakeup: {\n\t\tdisplay_state: 'Waking Instance',\n\t\tstate: 'Wake-up instance',\n\t\tadditional_info: {\n\t\t\tdashboard_show_spinner: true,\n\t\t\tdashboard_show_exclamation: false,\n\t\t\tstatus_icon: 'instanceFulfilling',\n\t\t\tstart_building_disabled: false,\n\t\t\tstart_building_subtext: 'Waking up instance',\n\t\t\tstart_building_tooltip:\n\t\t\t\t\"We are waking up your development space in ServiceNow's powerful Now Platform. This may take a few minutes.\"\n\t\t}\n\t}\n};\n\nexport const HTML_ENTITY_MAP = [\n\t{\n\t\tentity: /&lt;/g,\n\t\ttext: '<'\n\t},\n\t{\n\t\tentity: /&gt;/g,\n\t\ttext: '>'\n\t}\n];\n\nexport const SEARCH_KEYWORD_ENCRYPTION = {\n\t'&': '_AND_'\n};\n\nexport const KEYWORD_LENGTH_FOR_AUTO_SUGGEST = 3;\n\nexport const CONNECT_ALERT_BANNER_MSG = {\n\tmessage: 'Developer MVP call for candidates 2022! ACTION_TEXT',\n\tlinks: ['Learn More'],\n\ttype: 'promotion',\n\tdismissable: true,\n\timage: connectBannerIcon\n};\n\nexport const CONNECT_MVP_PAGE_HREF = '#!/connect/mvp';\n\nexport const APP_INSTALL_TEXT_LOOKUP = {\n\tinstalled: 'Installed',\n\t'not installed': 'Not Installed'\n};\nexport const APP_NAME_LOOKUP = {\n\t'AES': 'APP ENGINE STUDIO',\n\t'CRS': 'CREATOR STUDIO',\n\t'SNS': 'ServiceNow Studio',\n\t'BAF': 'Build Agent'\n};\n\n//We use this object to map release id with appropriate release display name\nexport const RELEASE_MAP = {\n\tnewyork: 'new york',\n\tsandiego: 'san diego'\n};\n\nexport const primaryPdiActions = [\n\t{\n\t\tid: 'release_instance',\n\t\tlabel: 'Release instance',\n\t\ticon: 'plug-slash-outline'\n\t},\n\t{\n\t\tid: 'change_user_role',\n\t\tlabel: 'Change user role',\n\t\ticon: 'user-outline'\n\t},\n\t{\n\t\tid: 'remove_demo_data',\n\t\tlabel: 'Remove demo data',\n\t\ticon: 'trash-outline'\n\t},\n\t{\n\t\tid: 'reset_wipe_instance',\n\t\tlabel: 'Reset and wipe instance',\n\t\ticon: 'eraser-outline'\n\t},\n\t{\n\t\tid: 'view_history',\n\t\tlabel: 'View history',\n\t\ticon: 'change-outline'\n\t}\n];\n\nexport const secondaryPdiActions = [\n\t{\n\t\tid: 'reset_instance_password',\n\t\tlabel: 'Reset instance password',\n\t\ticon: 'key-outline',\n\t},\n\t{\n\t\tid: 'email_login_credentials',\n\t\tlabel: 'Email login credentials',\n\t\ticon: 'envelope-arrow-outline'\n\t},\n\t{\n\t\tid: 'manage_email_properties',\n\t\tlabel: 'Manage email properties',\n\t\ticon: 'envelope-outline'\n\t}\n];\n\n// Sort options for plugin list\nexport const sortPluginOptions = [\n\t{ id: 'a-z', label: 'Sort: A-Z' },\n\t{ id: 'z-a', label: 'Sort: Z-A' }\n];\n\nexport const BUTTON_LABELS = {\n\tUPGRADE_RELEASE: 'Upgrade release',\n\tRELEASE_NOTES_TEXT: 'Release notes',\n\tREMOVE_DEMO_DATA: 'Remove demo data',\n\tRESET_AND_WIPE: 'Reset and wipe instance',\n\tMANAGE_EMAIL_PROPERTIES: 'Save',\n\tCANCEL: 'Cancel',\n\tCLOSE: 'Close',\n\tDONE: 'Done'\n};\n\nexport const MODAL_HEADERS = {\n\tOTHER_RELEASES: 'Upgrade to latest release',\n\tSELECT_UPGRADE_VERSION: 'Select instance upgrade version'\n};\n\nexport const MODAL_CONTENT = {\n\tCHOOSE_YOUR_RELEASE: 'Choose your release',\n\tLATEST_RELEASE: 'Latest release',\n\tINCLUDES_NOW_ASSIST: 'Includes Now Assist',\n\tLATEST_BADGE: 'LATEST',\n\tVIBE_CODE_TAG: 'Vibe-code with Build Agent',\n\tVIEW_RELEASE_NOTES: 'View release notes'\n};\n\nexport const FOOTER_ACTIONS = {\n\tTWO_FOOTER_ACTIONS: 'twoFooterActions'\n};\n\nexport const LABELS = {\n\tCANCEL: 'Cancel',\n\tACTIVATE_WITH_DEMO_DATA: 'Activate with demo data',\n\tACTIVATE_WITHOUT_DEMO_DATA: 'Activate without demo data',\n\tACTIVATE_PLUGIN: 'Activate Plugin',\n\tVIEW_DETAILS: 'View details'\n};\n\nexport const LINKS = {\n\tPDI_GUIDE: 'Personal Developer Instance (PDI) Guide',\n\tPDI_FAQ: 'PDI FAQs',\n\tMANAGING_PDI: 'Managing your PDI',\n\tDEV_ADVOCATE_BLOG: 'Developer advocate blog'\n};\n\nexport const ACTION_LABELS = {\n\tREMOVE_DEMO_DATA: 'Remove demo data',\n\tRELEASE_INSTANCE: 'Release Instance',\n\tRESET_WIPE_INSTANCE: 'Remove Demo Data',\n\tSELECT_ACTION: 'Select an action to view content',\n\tRESET_INSTANCE_PASSWORD: 'Yes, reset',\n\tDO_NOT_RESET: 'Do not reset',\n\tCHANGE: 'Change'\n};\n\nexport const ALERT_CONTENT = {\n\tREMOVE_DEMO_DATA:\n\t\t'ServiceNow provides demo data to allow you to explore platform functionality without adding your own data. Demo data includes Users, Groups, and other types of records, such as Incidents, Problems, Workflows, and Configuration Items. Demo data does not include any records you have created in your instance. Learning modules on the Developer Site use the demo data. If you select Remove demo data, all demo data will be permanently removed from your instance.',\n\n\tDEFAULT_INSTANCE_STATE:\n\t\t'The default state of an instance includes demo data. To restore demo data later, select the Reset and wipe instance option to restore your instance to the default state.'\n};\n\nexport const PLUGIN_STATUS = {\n\tACTIVATION_IN_PROGRESS: 'Activation in progress',\n\tNOT_ACTIVATED: 'Not activated',\n\tACTIVATED_WITH_DEMO_DATA: 'Activated with demo data',\n\tACTIVATED_WITHOUT_DEMO_DATA: 'Activated without demo data',\n\tACTIVATION_FAILED: 'Activation failed'\n};\n\nexport const COLORS = {\n\tIN_PROGRESS_BG: '#FEE9C8',\n\tNOT_ACTIVATED_BG: '#d9dbdb',\n\tACTIVATED_BG: '#cddfbd',\n\tFAILED_BG: '#F8C8CD'\n};\n\nexport const DEMO_DATA_REMOVAL_WARNING =\n\t'I understand that removing the demo data will prevent me from being able to complete Developer Site learning.';\n\nexport const MANAGE_INSTANCE_LABELS = {\n\tINSTANCE_MANAGE_TITLE: 'Manage my instance',\n\tACTIONS_PLACEHOLDER: 'Actions',\n\tCURRENT_VERSION_LABEL: 'Your Current Version',\n\tLATEST_RELEASE_LABEL: 'Latest release',\n\tINSTANCE_URL_LABEL: 'Instance URL',\n\tUSER_NAME_LABEL: 'User name',\n\tCURRENT_PASSWORD_LABEL: 'Current password',\n\tUSER_ROLE_LABEL: 'User role',\n\tSEARCH_PLACEHOLDER: 'Search',\n\tFILTER_PLUGIN_LABEL: 'Available filters',\n\tNO_PLUGIN_DATA_LABEL: 'No data',\n\tDEMO_DATA_STATUS_FILTER_LABEL: 'Demo data status',\n\tACTIVATION_STATUS_FILTER_LABEL: 'Activation status',\n\tPLUGIN_COUNT_LABEL: 'Plugins for your instance',\n\tSTATUS: 'Status',\n\tAGE_REMAINING_LABEL: 'Age remaining',\n\tLAST_LOGIN_LABEL: 'Last login'\n};\n\n// get new instanceInfo if the user did anything but change their role\nexport const userRoleChangeSysId = '3e02aacb1b0560909e1d117a234bcb4d';\n\nexport const secondaryPdiActionsText = 'secondary-pdi-actions';\n\nexport const DEMO_DATA_STATUSES = [\n\t{\n\t\tid: 'all-demo-data-statuses',\n\t\tlabel: 'All demo data statuses'\n\t},\n\t{\n\t\tid: 'with-demo-data',\n\t\tlabel: 'With demo data'\n\t},\n\t{\n\t\tid: 'without-demo-data',\n\t\tlabel: 'Without demo data'\n\t}\n];\n\nexport const ACTIVATE_STATUSES = [\n\t{\n\t\tid: 'all-activation-statuses',\n\t\tlabel: 'All activation statuses'\n\t},\n\t{\n\t\tid: 'activated',\n\t\tlabel: 'Activated'\n\t},\n\t{\n\t\tid: 'not-activated',\n\t\tlabel: 'Not activated'\n\t},\n\t{\n\t\tid: 'activation-failed',\n\t\tlabel: 'Activation failed'\n\t}\n];\n\nexport const FILTER_MAP = {\n\tACTIVATION_STATUS_FILTER: 'activation-status-filter',\n\tDEMO_DATA_FILTER: 'demo-data-filter'\n};\n\nexport const COMPONENTS = {\n\tAVAILABLE_PLUGINS: 'availablePlugins',\n\tFILTERS: 'filters',\n\tPAGINATION: 'pagination',\n\tPDI_ACTION: 'pdi-action',\n\tACTIVATION_STATUS_FILTER: 'activation-status-filter',\n\tDEMO_DATA_FILTER: 'demo-data-filter',\n\tRESET_INSTANCE_PASSWORD: 'reset_instance_password'\n};\n\nexport const STATUS = {\n\tCOMPLETE: \"Complete\",\n\tERROR: \"Error\"\n};\n\nexport const SORT = {\n\tASC: 'ASC',\n\tDESC: 'DESC'\n};\n\nexport const HOMEPAGE_LABELS = {\n\tGET_YOUR_FREE_INSTANCE: 'Get your free instance',\n\tLEARN_MORE: 'Learn more',\n\tJOIN_SERVICENOW_COMMUNITY: 'Join ServiceNow Community',\n\tSEE_DETAILS: 'See details'\n};\nexport const CAT_ITEM_ACTIONS_IDS = {\n\tACTIVATE_PLUGIN: 'activate_plugin',\n};\n\nexport const DPS_NAV_AUTH_HEADER = {\n\tAPP_ENGINE_STUDIO: 'App Engine Studio',\n\tCREATOR_STUDIO: 'Creator Studio',\n\tEXPLORE_LEARNING: 'Explore learning',\n\tREQUEST_YOUR_INSTANCE_NOW: 'Request your instance',\n\tREQUEST_YOUR_INSTANCE: 'Request Instance',\n\tWAKE_INSTANCE: 'Wake instance',\n\tLEARN_WHAT_PDI_IS: 'Learn about PDIs',\n\tBROWSE_COURSES: 'Browse courses'\n};\n\nexport const SEARCH_CONFIG = {\n\tdefinitionSysId: \"0cac8b3073ad101052c7d5fdbdf6a78a\",\n\tsearchEvamConfigId: \"bb1fa09cfb09fe905233fda8beefdc0a\", // \"bb1fa09cfb09fe905233fda8beefdc0a\",\n\tvaEvamDefinitionId: \"b224e17e530020103296ddeeff7b123f\",\n\tsearchContextConfigId: \"2c94f01bfbff26507ba7fb5daeefdcf5\",\n\tsearchContextConfigId_public: '25aaf50afbd9b21043e2fe638eefdc19'\n};\n\nexport const TABLES = {\n\tDSE_DATA_MODEL: \"dev_dse_data_model\",\n\tAPI_ITEM: \"dev_api_item\",\n\tSCR: \"dev_seismic_component_registry\",\n\tSEISMIC_TECTONIC_DOCS: \"dev_seismic_tectonic_docs\",\n\tUSAGE_DATA_MODEL: \"dev_dse_usage_data_model\",\n\tUIB_SETUP_DOCS: \"kb_knowledge\"\n};\n\nexport const RESULT_TYPE = {\n    COMPONENT_API: \"Component API\",\n    COMPONENT_OVERVIEW: \"Component Overview\",\n    COMPONENT_USAGE: \"Component Usage\",\n    COMPONENT_UIB_SETUP_DOCS: \"UIB Setup\"\n};","/* eslint-disable object-shorthand */\n/* eslint-disable curly */\nimport { isEmpty, isUndefined } from 'lodash';\nimport autoBind from 'auto-bind';\nimport { CONSTANTS } from '../constants';\n\nclass SessionServiceImpl {\n\tconstructor() {\n\t\tthis.callbackStack = [];\n\t\tthis.headerUserToken = '';\n\t\tthis.sessionManagement = {};\n\t\tthis.timeoutId = null;\n\t\tthis.user = {};\n\t\tthis.userSessionTimeout = null;\n\n\t\tautoBind(this);\n\t\tthis.setOptions();\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Calling check session asynchronously by pushing onto callback stack\n\t * @param {Object} user\n\t */\n\tcallCheckSessionAsync({ properties, user }) {\n\t\tthis.callbackStack.push(() => {\n\t\t\tthis.checkSession({ properties, user });\n\t\t});\n\t}\n\n\t/**\n\t *\n\t * @param {*} user\n\t */\n\tcacheUser(user = {}) {\n\t\tthis.user = { ...user };\n\t\tthis.saveToStore(CONSTANTS.DEFAULTS.USER_LOCALSTORAGE_KEY, this.user);\n\t}\n\n\t/**\n\t * Main function to check if session is valid and the user is logged in\n\t * Will be usually called after userInfo is polled\n\t * @param {Object} user\n\t */\n\tcheckSession({ properties, user = {} }) {\n\t\tconst isUserLoggedIn = user.is_logged_in;\n\n\t\tif (isUserLoggedIn && this.isSessionEmpty()) {\n\t\t\t// user is logged in but dealing with an empty session\n\t\t\tthis.extendSession();\n\t\t\tthis.cacheUser(user);\n\t\t\tthis.inactivityService.startCountdown();\n\t\t\tthis.afterSessionChecked(properties);\n\t\t} else if (isUserLoggedIn && !this.isSessionValid()) {\n\t\t\t// Either the inactivityMonitor or this interval of the user polling will timeout the session\n\t\t\tthis.sessionTimedOut();\n\t\t} else if (isUserLoggedIn && this.isSessionValid()) {\n\t\t\t// user is logged in and the session is still valid\n\t\t\tthis.cacheUser(user);\n\t\t\tthis.afterSessionChecked(properties);\n\t\t}\n\t}\n\n\t/**\n\t * Check the header CSRF user token against the current user token\n\t * @param {string} userToken\n\t */\n\tcheckHeaderUserToken(userToken) {\n\t\tif (userToken && userToken !== this.headerUserToken) {\n\t\t\tthis.headerUserToken = userToken;\n\t\t}\n\t}\n\n\t/**\n\t * clearSession clears out sessionManagement local var and localstorage\n\t */\n\tclearSession() {\n\t\tif (this.timeoutId) {\n\t\t\tclearTimeout(this.timeoutId);\n\t\t\tthis.timeoutId = null;\n\t\t}\n\t\tthis.sessionManagement = {};\n\t\tthis.clearFromStore(CONSTANTS.DEFAULTS.SESSION_MANAGEMENT_LOCALSTORAGE_KEY);\n\t}\n\n\t/**\n\t * Clears out stale local storage session and user typically on COMPONENT_BOOTSTRAP lifecycle\n\t */\n\tclearOutStaleSession() {\n\t\tif (!this.isSessionValid()) {\n\t\t\tthis.clearUser();\n\t\t\tthis.clearSession();\n\t\t}\n\t}\n\n\t/**\n\t * clearUser clears out user local var and localStorage\n\t */\n\tclearUser() {\n\t\tthis.user = {};\n\t\tthis.clearFromStore(CONSTANTS.DEFAULTS.USER_LOCALSTORAGE_KEY);\n\t}\n\n\t/**\n\t * Extend the timeout while maintaining existing id\n\t */\n\textendSession() {\n\t\tthis.sessionManagement = this.generateSessionManagementObj();\n\t\tthis.saveToStore(\n\t\t\tCONSTANTS.DEFAULTS.SESSION_MANAGEMENT_LOCALSTORAGE_KEY,\n\t\t\tthis.sessionManagement\n\t\t);\n\t\tthis.clearFromStore(CONSTANTS.DEFAULTS.EXPLICIT_LOGOUT_KEY);\n\t}\n\n\t/**\n\t * Generate a new session management object with timestamped id and timeout\n\t * @returns {Object}\n\t */\n\tgenerateSessionManagementObj() {\n\t\treturn {\n\t\t\tid: new Date().getTime(),\n\t\t\ttimeout: this.generateNewTimeout()\n\t\t};\n\t}\n\n\t/**\n\t * Generate a new timeout for use in extendSession\n\t * @returns {Date}\n\t */\n\tgenerateNewTimeout() {\n\t\treturn new Date(new Date().getTime() + this.userSessionTimeout);\n\t}\n\n\t/**\n\t * Return header user token\n\t * @returns {string}\n\t */\n\tgetHeaderUserToken() {\n\t\treturn this.headerUserToken;\n\t}\n\n\t/**\n\t * Checks if there is an active session\n\t * @returns {boolean}\n\t */\n\thasSavedActiveSession() {\n\t\tif (this.hasCachedSessionManagement() && this.hasCachedUser()) {\n\t\t\t// rehydrate the session and check if it's valid\n\t\t\tthis.sessionManagement = this.reHydrateSessionManagement();\n\t\t\tthis.user = this.reHydrateUser();\n\t\t\treturn this.isSessionValid() && this.user.is_logged_in;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Check if user has explicitly logged out\n\t */\n\thasUserExplicitlyLoggedOut() {\n\t\tconst explicitLoggedOut = this.loadFromStore(\n\t\t\tCONSTANTS.DEFAULTS.EXPLICIT_LOGOUT_KEY\n\t\t);\n\t\treturn explicitLoggedOut !== null;\n\t}\n\n\t/**\n\t * Check if user was timed out already\n\t */\n\thasUserTimedOut() {\n\t\tconst timedOut = this.loadFromStore(\n\t\t\tCONSTANTS.DEFAULTS.SESSION_TIMED_OUT_KEY\n\t\t);\n\t\treturn timedOut !== null;\n\t}\n\n\t/**\n\t * Check to see if we have a cached session\n\t * @returns {boolean}\n\t */\n\thasCachedSessionManagement() {\n\t\tconst cachedSessionManagement = this.reHydrateSessionManagement();\n\t\tconst isCachedSessionManagementEmpty =\n\t\t\tcachedSessionManagement === null ||\n\t\t\tObject.keys(cachedSessionManagement).length === 0;\n\t\treturn !isCachedSessionManagementEmpty;\n\t}\n\n\t/**\n\t * Check to see if we have cached the user\n\t * @return {boolean}\n\t */\n\thasCachedUser() {\n\t\tconst cachedUser = this.reHydrateUser();\n\t\tconst isCachedUserEmpty =\n\t\t\tcachedUser === null || Object.keys(cachedUser).length === 0;\n\t\treturn !isCachedUserEmpty;\n\t}\n\n\t/**\n\t * Initializes the session service by rehydrating the session from local storage\n\t * @returns {Promise}\n\t */\n\tinitService() {\n\t\tthis.sessionManagement = this.reHydrateSessionManagement();\n\t\tthis.user = this.reHydrateUser();\n\t}\n\n\t/**\n\t * Check if the sessionManagement variable is empty\n\t * @returns {boolean}\n\t */\n\tisSessionEmpty() {\n\t\treturn Object.keys(this.sessionManagement).length === 0;\n\t}\n\n\t/**\n\t * Check if session is still valid based on if the current time is within the timeout window\n\t * @returns {boolean}\n\t */\n\tisSessionValid() {\n\t\tthis.sessionManagement = this.reHydrateSessionManagement();\n\n\t\t// Check if the timeout value is less than now and that the user is logged in\n\t\tif (this.sessionManagement.timeout) {\n\t\t\tconst t1 = new Date(this.sessionManagement.timeout).getTime();\n\t\t\tconst t2 = new Date().getTime();\n\t\t\tconst isValid = t2 <= t1;\n\t\t\treturn isValid;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * User explicitly logs out of the session\n\t */\n\tlogout() {\n\t\tthis.inactivityService.stopCountdown();\n\t\t// Clear out the local variables\n\t\tthis.clearSession();\n\t\t// Clear out cached user\n\t\tthis.clearUser();\n\t\t// Set session storage for explicit log out triggered\n\t\tthis.saveToStore(CONSTANTS.DEFAULTS.EXPLICIT_LOGOUT_KEY, true);\n\t\t// Trigger afterSessionLogout actions\n\t\tthis.afterSessionLogout();\n\t}\n\n\t/**\n\t * Rehydrates session management from local storage\n\t * @returns {Object}\n\t */\n\treHydrateSessionManagement() {\n\t\treturn (\n\t\t\tthis.loadFromStore(\n\t\t\t\tCONSTANTS.DEFAULTS.SESSION_MANAGEMENT_LOCALSTORAGE_KEY\n\t\t\t) || {}\n\t\t);\n\t}\n\n\t/**\n\t * Rehydrates user from local storage\n\t * @returns {Object}\n\t */\n\treHydrateUser() {\n\t\treturn this.loadFromStore(CONSTANTS.DEFAULTS.USER_LOCALSTORAGE_KEY) || {};\n\t}\n\n\t/**\n\t * Run functions that are on the callbackStack\n\t */\n\trunCallbacks() {\n\t\tif (this.callbackStack.length > 0) {\n\t\t\twhile (this.callbackStack.length > 0) {\n\t\t\t\tconst callbackFn = this.callbackStack.pop();\n\t\t\t\tcallbackFn();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Session has timed out\n\t */\n\tsessionTimedOut() {\n\t\t// Clear out session management\n\t\tthis.clearSession();\n\t\t// Clear out cached user\n\t\tthis.clearUser();\n\t\t// Set session storage for expired modal triggered\n\t\tthis.saveToStore(CONSTANTS.DEFAULTS.SESSION_TIMED_OUT_KEY, true);\n\t\t// Trigger afterSessionTimedOut actions\n\t\tthis.afterSessionTimedOut();\n\t}\n\n\t/**\n\t * Sets dependencies for local storage retrieval and storage\n\t * @param {Object}  \topts\n\t * @param {Function} \topts.afterSessionChecked\n\t * @param {Function} \topts.afterSessionLogout\n\t * @param {Function} \topts.afterSessionTimedOut\n\t * @param {Function} \topts.clearFromStore\n\t * @param {Function}\topts.loadFromStore\n\t * @param {Function}\topts.saveToStore\n\t */\n\tsetOptions(\n\t\topts = {\n\t\t\tafterSessionChecked: () => {},\n\t\t\tafterSessionLogout: () => {},\n\t\t\tafterSessionTimedOut: () => {},\n\t\t\tafterStaleSessionLogout: () => {},\n\t\t\tclearFromStore: () => {},\n\t\t\tinactivityService: null,\n\t\t\tloadFromStore: () => {},\n\t\t\tsaveToStore: () => {},\n\t\t\ttriggerExpiredSessionModal: () => {}\n\t\t}\n\t) {\n\t\tfor (const key in opts) {\n\t\t\tthis[key] = opts[key];\n\t\t}\n\t}\n\n\t/**\n\t * Set user session timeout value in seconds for use in creating or extending session\n\t * @param {string} val\n\t */\n\tsetUserSessionTimeout(val) {\n\t\tconst timeoutInSeconds = parseInt(val, 10);\n\t\tconst msInSeconds = 1000;\n\t\tthis.userSessionTimeout = timeoutInSeconds * msInSeconds;\n\n\t\tthis.runCallbacks();\n\t}\n\n\t/**\n\t * Logs out session if user logs out in another window/tab\n\t * and inactivityService hasn't picked up on this\n\t */\n\tstaleSessionLogout() {\n\t\tthis.clearSession();\n\t\tthis.clearUser();\n\t\tthis.triggerExpiredSessionModal();\n\t\tthis.afterStaleSessionLogout();\n\t}\n}\n\n// instance var to ensure singleton\nlet _sessionService;\n\n/**\n * Session Service Singleton\n */\nexport const SessionService = (function() {\n\tif (isUndefined(_sessionService)) {\n\t\t_sessionService = new SessionServiceImpl();\n\t}\n\treturn _sessionService;\n})();\n","export const AMB_EVENT_ACTIONS = {\n\tAMB_SESSION_STATUS_CHANGED: 'AMB_EVENT_ACTION#AMB_SESSION_STATUS_CHANGED',\n\tAMB_SESSION_LOGGED_OUT: 'AMB_EVENT_ACTION#AMB_SESSION_LOGGED_OUT',\n\tAMB_EVENT_CONNECTION_BROKEN: 'AMB_EVENT_CONNECTION_BROKEN',\n\tAMB_EVENT_CONNECTION_OPENED: 'AMB_EVENT_CONNECTION_OPENED',\n\tSESSION_INVALIDATED: 'AMB_EVENT_SESSION_INVALIDATED',\n\tSESSION_LOGGED_IN: 'AMB_EVENT_SESSION_LOGGED_IN',\n\tSESSION_LOGGED_OUT: 'AMB_EVENT_SESSION_LOGGED_OUT',\n\tSUBSCRIPTION_CHANGED: 'AMB_EVENT_ACTION#SUBSCRIPTION_CHANGED'\n};\n","/* eslint-disable object-shorthand */\nimport { actionTypes } from '@servicenow/ui-core';\nimport { createAmbEventEffect } from '@servicenow/ui-effect-amb';\nimport {SessionService} from '../../utils/sessionService';\nimport { AMB_EVENT_ACTIONS } from './actions';\n\nconst { COMPONENT_CONNECTED, COMPONENT_DISCONNECTED } = actionTypes;\n\nconst handleAmbEventConnectionBroken = coeffects => {\n\t// TODO:Remove\n\t// console.log('>>>> handleAmbEventConnectionBroken', coeffects, SessionService.isSessionValid());\n};\n\nconst handleAmbEventConnectionOpened = ({ dispatch }) => {\n\tif (!SessionService.isSessionValid()) {\n\t\tdispatch(AMB_EVENT_ACTIONS.AMB_SESSION_STATUS_CHANGED, { sessionLoggedIn: false });\n\t\tdispatch(AMB_EVENT_ACTIONS.AMB_SESSION_LOGGED_OUT);\n\t}\n};\n\nconst handleAmbSessionStatusChanged = coeffects => {\n\tconst { action, properties, updateProperties } = coeffects;\n\tconst {\n\t\tpayload: { sessionLoggedIn }\n\t} = action;\n\n\tupdateProperties({\n\t\tuserInfo: {\n\t\t\t...properties.userInfo,\n\t\t\tis_logged_in: sessionLoggedIn\n\t\t}\n\t});\n};\n\nconst handleSessionLoggedOut = coeffects => {\n\tconst { dispatch } = coeffects;\n\t// should fire when glide.ui.session_timeout is reached\n\tdispatch(AMB_EVENT_ACTIONS.AMB_SESSION_STATUS_CHANGED, {\n\t\tsessionLoggedIn: false\n\t});\n\tdispatch(AMB_EVENT_ACTIONS.AMB_SESSION_LOGGED_OUT);\n};\n\nconst handleSessionInvalidated = coeffects => {\n\tconst { userInfo } = coeffects.properties;\n\t// If userInfo is logged out or SessionService is invalid, then trigger session logged out\n\tif (!userInfo.is_logged_in || !SessionService.isSessionValid()) {\n\t\thandleSessionLoggedOut(coeffects);\n\t}\n};\n\nexport default {\n\t[COMPONENT_CONNECTED]: ({ dispatch }) => {\n\t\tdispatch(AMB_EVENT_ACTIONS.SUBSCRIPTION_CHANGED, { subscribe: true });\n\t},\n\t[COMPONENT_DISCONNECTED]: ({ dispatch }) => {\n\t\tdispatch(AMB_EVENT_ACTIONS.SUBSCRIPTION_CHANGED, { subscribe: false });\n\t},\n\t[AMB_EVENT_ACTIONS.AMB_EVENT_CONNECTION_BROKEN]: handleAmbEventConnectionBroken,\n\t[AMB_EVENT_ACTIONS.AMB_EVENT_CONNECTION_OPENED]: handleAmbEventConnectionOpened,\n\t[AMB_EVENT_ACTIONS.AMB_SESSION_STATUS_CHANGED]: handleAmbSessionStatusChanged,\n\t[AMB_EVENT_ACTIONS.SUBSCRIPTION_CHANGED]: createAmbEventEffect(),\n\t[AMB_EVENT_ACTIONS.SESSION_LOGGED_OUT]: handleSessionLoggedOut,\n\t[AMB_EVENT_ACTIONS.SESSION_INVALIDATED]: handleSessionInvalidated\n};\n","import actionHandlers from './actionHandlers';\n\nconst BEHAVIOR_NAME = 'ambEventEffect';\n\nexport default {\n\tname: BEHAVIOR_NAME,\n\tactionHandlers\n};\n","/* eslint-disable curly */\n/* eslint-disable object-shorthand */\nimport { actionTypes } from '@servicenow/ui-core';\nimport { isEmpty } from 'lodash';\nimport { snHttpFactory } from 'sn-http-request';\n\nconst TIMEOUT_INTERVAL = 300;\nconst { COMPONENT_CONNECTED } = actionTypes;\nconst snHttp = snHttpFactory({\n\tbatching: false\n});\n\nconst BEHAVIOR_NAME = 'detectSSOLogin';\nexport const BEHAVIOR_CONFIGURATION_KEY = `${BEHAVIOR_NAME}_CONFIG`;\nexport const DETECT_SSO_LOGIN_ACTIONS = {\n\tCHECK_SSO: 'DETECT_SSO_LOGIN#CHECK_SSO',\n\tGET_SEAMLESS_SSO: 'DETECT_SSO_LOGIN#GET_SEAMLESS_SSO',\n\tGET_SEAMLESS_SSO_FAILED: 'DETECT_SSO_LOGIN#GET_SEAMLESS_SSO_FAILED',\n\tGET_SEAMLESS_SSO_SUCCEEDED: 'DETECT_SSO_LOGIN#GET_SEAMLESS_SSO_SUCCEEDED',\n\tSSO_LOGIN_COMPLETED: 'DETECT_SSO_LOGIN#SSO_LOGIN_COMPLETED'\n};\n\n/**\n * Returns app properties to utilize for checking for userInfo and systemProperties\n * @param {Object} configuration\n * @param {Object} properties\n */\nconst getAppProperties = (configuration, properties) => {\n\tconst { propsMap } = configuration;\n\tconst systemProperties = properties[propsMap.systemProperties];\n\tconst user = properties[propsMap.user];\n\n\treturn {\n\t\thasSystemProperties: properties[propsMap.hasSystemProperties],\n\t\thasUserInfo: properties[propsMap.hasUserInfo],\n\t\tsystemProperties,\n\t\tuser\n\t};\n};\n\n/**\n * Effect for triggering Seamless SSO check based on lastChecked time and\n * if it's within the interval window\n * @param {Object} coeffects\n */\nconst handleCheckSSO = coeffects => {\n\tconst { action, dispatch, properties, state, updateState } = coeffects;\n\n\t// Get properties we need to configure SSO calls\n\tconst {\n\t\thasSystemProperties,\n\t\thasUserInfo,\n\t\tsystemProperties,\n\t\tuser\n\t} = getAppProperties(state[BEHAVIOR_CONFIGURATION_KEY], properties);\n\tconst { systemPropertyCheckedNum } = state[BEHAVIOR_CONFIGURATION_KEY];\n\tconst autoLoginCheckEnabled = systemProperties['dev.sso.check_auto_login'] && systemProperties['dev.sso.check_auto_login'] === 'true';\n\n\tif (hasSystemProperties && hasUserInfo && autoLoginCheckEnabled) {\n\t\tconst isUserLoggedIn = user && user.is_logged_in;\n\t\tconst scriptVersionNum = systemProperties['dev.okta.sso.scripts.version'] || \"?v=2\";\n\n\t\tconst seamlessScriptTag = document.createElement('script');\n\t\tseamlessScriptTag.setAttribute('src', systemProperties['dev.okta.sso.instance.url'] + 'x_snc_sso.seamless_sso.min.jsdbx' + scriptVersionNum);\n\t\tseamlessScriptTag.addEventListener('load', function () {\n\t\t\tif (!isUserLoggedIn && typeof checkSeamlessSession != 'undefined') {\n\t\t\t\tdispatch(DETECT_SSO_LOGIN_ACTIONS.GET_SEAMLESS_SSO);\n\t\t\t}\n\n\t\t});\n\t\tdocument.head.appendChild(seamlessScriptTag);\n\n\t\tconst keepAliveScriptTag = document.createElement('script');\n\t\tkeepAliveScriptTag.setAttribute('src', systemProperties['dev.okta.sso.instance.url'] + 'x_snc_sso.sso_session_keep_alive.min.jsdbx' + scriptVersionNum);\n\t\tkeepAliveScriptTag.addEventListener('load', function () {\n\t\t\tif (isUserLoggedIn && typeof SSOSessionKeepAlive != 'undefined') {\n\t\t\t\tSSOSessionKeepAlive.init(true, systemProperties['dev.okta.sso.url']);\n\t\t\t}\n\t\t});\n\n\t\tdocument.head.appendChild(keepAliveScriptTag);\n\n\t\tupdateState({\n\t\t\tpath: `${BEHAVIOR_CONFIGURATION_KEY}.systemPropertyCheckedNum`,\n\t\t\tvalue: 0,\n\t\t\toperation: 'set'\n\t\t});\n\n\t\t// Re-dispatch if system properties and user info is not ready\n\t} else if (systemPropertyCheckedNum < 5) {\n\t\tupdateState(({ state }) => {\n\t\t\tconst value = state[BEHAVIOR_CONFIGURATION_KEY] ?\n\t\t\t\tparseInt(state[BEHAVIOR_CONFIGURATION_KEY].systemPropertyCheckedNum, 10) + 1 : 0;\n\t\t\treturn {\n\t\t\t\tpath: `${BEHAVIOR_CONFIGURATION_KEY}.systemPropertyCheckedNum`,\n\t\t\t\tvalue,\n\t\t\t\toperation: 'set'\n\t\t\t}\n\t\t});\n\t\tsetTimeout(() => {\n\t\t\tdispatch(DETECT_SSO_LOGIN_ACTIONS.CHECK_SSO);\n\t\t}, TIMEOUT_INTERVAL);\n\t}\n};\n\nconst handleGetSeamlessSSO = coeffects => {\n\tconst { dispatch, properties, state } = coeffects;\n\n\tconst { systemProperties } = getAppProperties(\n\t\tstate[BEHAVIOR_CONFIGURATION_KEY],\n\t\tproperties\n\t);\n\n\tcheckSeamlessSession(systemProperties['dev.okta.app.id']).then(response => {\n\t\tif (response.resultStatus == 200 && response.result) {\n\t\t\tdispatch(DETECT_SSO_LOGIN_ACTIONS.GET_SEAMLESS_SSO_SUCCEEDED, {\n\t\t\t\t...response\n\t\t\t});\n\t\t} else {\n\t\t\tdispatch(DETECT_SSO_LOGIN_ACTIONS.GET_SEAMLESS_SSO_FAILED, { ...error });\n\t\t}\n\t}).catch(error => {\n\t\tdispatch(DETECT_SSO_LOGIN_ACTIONS.GET_SEAMLESS_SSO_FAILED, { ...error });\n\t});;\n};\nconst handleGetSeamlessSSOFailed = ({ state }) => {\n\n};\n\nconst handleGetSeamlessSSOSucceeded = ({ dispatch, state }) => {\n\tdispatch(DETECT_SSO_LOGIN_ACTIONS.SSO_LOGIN_COMPLETED);\n};\n\nexport default {\n\tname: BEHAVIOR_NAME,\n\tactionHandlers: {\n\t\t[COMPONENT_CONNECTED]: coeffects => {\n\t\t\tconst {\n\t\t\t\taction: { payload },\n\t\t\t\tupdateState\n\t\t\t} = coeffects;\n\t\t\tconst {\n\t\t\t\toptions = {\n\t\t\t\t\tlocalStorageKey: '',\n\t\t\t\t\tpropsMap: {},\n\t\t\t\t\tsaveToLocalStorage: () => { },\n\t\t\t\t\tssoSessionPath: ''\n\t\t\t\t}\n\t\t\t} = payload;\n\t\t\tupdateState({\n\t\t\t\t[BEHAVIOR_CONFIGURATION_KEY]: {\n\t\t\t\t\t...options,\n\t\t\t\t\tsystemPropertyCheckedNum: 0\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\t[DETECT_SSO_LOGIN_ACTIONS.CHECK_SSO]: handleCheckSSO,\n\t\t[DETECT_SSO_LOGIN_ACTIONS.GET_SEAMLESS_SSO]: handleGetSeamlessSSO,\n\t\t[DETECT_SSO_LOGIN_ACTIONS.GET_SEAMLESS_SSO_FAILED]: handleGetSeamlessSSOFailed,\n\t\t[DETECT_SSO_LOGIN_ACTIONS.GET_SEAMLESS_SSO_SUCCEEDED]: handleGetSeamlessSSOSucceeded\n\t}\n};\n","import {titleCase} from './case';\nimport {RELEASE_MAP} from '../constants';\n\nexport const transformReleaseName = (release = '') => {\n\tlet cityName = release;\n\n\tif (typeof release !== 'string') {\n\t\tthrow new TypeError('must be of type string');\n\t} else {\n\t\tlet releaseId = release.toLowerCase();\n\t\t\n\t\tif(Object.keys(RELEASE_MAP).indexOf(releaseId) > -1) {\n\t\t\tcityName = RELEASE_MAP[releaseId];\n\t\t}\n\n\t\treturn titleCase(cityName).replace(/([a-z])([A-Z])/g, '$1 $2');\n\t}\n};\n\nexport const unTransformReleaseName = (name = '', releaseInfo) => {\n\tname = name && name.replace(' ', '').toLowerCase();\n\tif (!releaseInfo) {\n\t\treturn name;\n\t}\n\tfor(const key in releaseInfo.activeVersionsFormatted){\n\t\tif (releaseInfo.activeVersionsFormatted[key] === name){\n\t\t\treturn key;\n\t\t} else if (key === name) {\n\t\t\treturn name;\n\t\t}\n\t}\n};\n","/* eslint-disable curly */\nimport { isUndefined, throttle } from 'lodash';\nimport autoBind from 'auto-bind';\nimport { CONSTANTS } from '../constants';\n\nclass Storage {\n\tconstructor() {\n\t\tautoBind(this);\n\t\tthis.throttledSave = throttle(\n\t\t\tthis.saveToLocalStorage,\n\t\t\tCONSTANTS.DEFAULTS.DELAY_SAVE_MS\n\t\t);\n\t}\n\n\tisValid(str) {\n\t\ttry {\n\t\t\tJSON.parse(str);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tload(storageType, key) {\n\t\tconst value = window[storageType].getItem(key);\n\t\tif(this.isValid(value)) {\n\t\t\t// eslint-disable-next-line no-undef\n\t\t\treturn JSON.parse(value);\n\t\t}\n\t\treturn false;\n\t}\n\n\tloadFromLocalStorage(key) {\n\t\treturn this.load('localStorage', key);\n\t}\n\n\tloadFromSessionStorage(key) {\n\t\treturn this.load('sessionStorage', key);\n\t}\n\n\tremove(storageType, key) {\n\t\twindow[storageType].removeItem(key);\n\t}\n\n\tremoveFromLocalStorage(key) {\n\t\tthis.remove('localStorage', key);\n\t}\n\n\tremoveFromSessionStorage(key) {\n\t\tthis.remove('sessionStorage', key);\n\t}\n\n\tsave(storageType, key, val) {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-undef\n\t\t\twindow[storageType].setItem(key, JSON.stringify(val));\n\t\t} catch (err) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(err);\n\t\t}\n\t}\n\n\tsaveToLocalStorage(key, val) {\n\t\tthis.save('localStorage', key, val);\n\t}\n\n\tsaveToSessionStorage(key, val) {\n\t\tthis.save('sessionStorage', key, val);\n\t}\n}\n\nlet storageInstance;\nexport const DevPlatformStorage = (function() {\n\tif (isUndefined(storageInstance)) {\n\t\tstorageInstance = new Storage();\n\t}\n\treturn storageInstance;\n})();\n","export const DPS_NAVIGATION_INSTANCE_MANAGEMENT = {\n\tAUTO_REFRESH_INSTANCE: 'DPS_NAVIGATION_INSTANCE_MANAGEMENT#AUTO_REFRESH_INSTANCE',\n\tGET_INSTANCE_INFO: 'DPS_NAVIGATION_INSTANCE_MANAGEMENT#GET_INSTANCE_INFO',\n\tINSTANCE_ACTION_CLICKED: 'DPS_NAVIGATION_INSTANCE_MANAGEMENT#INSTANCE_ACTION_CLICKED',\n\tMAGIC_LINK_CLICKED: 'DPS_NAVIGATION_INSTANCE_MANAGEMENT#MAGIC_LINK_CLICKED',\n\tREFRESH_STATUS: 'DPS_NAVIGATION_INSTANCE_MANAGEMENT#REFRESH_STATUS',\n\tREFRESH_INSTANCE: 'DPS_NAVIGATION_INSTANCE_MANAGEMENT#REFRESH_INSTANCE',\n\tREFRESH_INSTANCE_SUCCEEDED: 'DPS_NAVIGATION_INSTANCE_MANAGEMENT#REFRESH_INSTANCE_SUCCEEDED',\n\tREFRESH_INSTANCE_ERRORED: 'DPS_NAVIGATION_INSTANCE_MANAGEMENT#REFRESH_INSTANCE_ERRORED',\n\tWAKE_UP_INSTANCE_STARTED: 'DPS_NAVIGATION_INSTANCE_MANAGEMENT#WAKE_UP_INSTANCE_STARTED',\n};\n","import { isEmpty } from 'lodash';\nimport { CONSTANTS } from '../constants';\nimport { unTransformReleaseName } from './transformReleaseName';\n\n/**\n * Re-generates existing query params with updated value for designated query param\n * e.g. existing query params: foo=bar&baz=bat\n * \t\t\tupdated field and value: baz=bob\n * \t\t\treturns foo=bar&baz=bob\n * @param {Object} params\n * @param {Object} params.existingQueryParams\n * @param {string} params.fieldToUpdate\n * @param {string} params.updatedValue\n * @returns {string}\n */\nexport function generateUpdatedQueryParams({\n\texistingQueryParams = {},\n\tfieldToUpdate,\n\tupdatedValue\n}) {\n\tconst copyQueryParams = { ...existingQueryParams };\n\tconst updatedFieldAndValue = `${fieldToUpdate}=${updatedValue}`;\n\n\tif (Object.keys(copyQueryParams).length > 0) {\n\t\tdelete copyQueryParams[fieldToUpdate];\n\t\treturn Object.keys(copyQueryParams)\n\t\t\t.reduce(\n\t\t\t\t(acc, key) => {\n\t\t\t\t\tacc.push(`${key}=${copyQueryParams[key]}`);\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\t[updatedFieldAndValue]\n\t\t\t)\n\t\t\t.join('&');\n\t}\n\n\treturn updatedFieldAndValue;\n}\n\n/**\n * Returns location hash without the query params\n * @returns {string}\n */\nexport function getLocationHash() {\n\tconst queryIdx = location.hash.indexOf('?');\n\treturn queryIdx !== -1 ? location.hash.substring(0, queryIdx) : location.hash;\n}\n\nexport function getUrlParams(search) {\n\tif (isEmpty(search)) {\n\t\treturn {};\n\t}\n\tconst hashes = search.slice(search.indexOf('?') + 1).split('&');\n\treturn hashes.reduce((params, hash) => {\n\t\tconst [key, val] = hash.split('=');\n\t\treturn Object.assign(params, { [key]: decodeURIComponent(val) });\n\t}, {});\n}\n\nexport function getPathArray(pathname) {\n\tif (isEmpty(pathname)) {\n\t\treturn [];\n\t}\n\tconst pathArr = [];\n\tpathname\n\t\t.split('/')\n\t\t.forEach(pathStr => pathStr !== '' && pathArr.push(pathStr));\n\treturn pathArr;\n}\n\n/**\n * Get queryParams from hashbang url\n * @param {string} hash\n * @returns {Object}\n */\nexport function getQueryParamsfromHash(hash) {\n\treturn hash.indexOf('?') !== -1\n\t\t? hash\n\t\t\t.substr(hash.indexOf('?') + 1)\n\t\t\t.split('&')\n\t\t\t.reduce((acc, val) => {\n\t\t\t\tconst [k, v] = val.split('=');\n\t\t\t\treturn { ...acc, [k]: v };\n\t\t\t}, {})\n\t\t: {};\n}\n\n/**\n * This requires url to be location data\n * @param {Location} url\n */\nexport function getSlug(url) {\n\tconst { hash } = url;\n\tif (hash.length === 0) {\n\t\treturn '';\n\t}\n\tconst urlArr = hash.split('/');\n\treturn urlArr[urlArr.length - 1];\n}\n\n/**\n * Return either blank string or location.hash\n * @param {string} locationHash\n * @returns {string}\n */\nexport function getCleanLocationHash(locationHash) {\n\treturn locationHash === '#!/' ? '' : locationHash;\n}\n\nexport function removeQueryParamsAndUpdateURL() {\n\tlocation.hash = (location.hash.replace(/\\?.*/, ''));\n}\n\n/**\n * Replaces a parameter in a route with the provided paramValue\n *\n * @param {Object} { param, routeString, pathname, paramValue }\n * @returns {string} The new path\n */\nexport function replacePathParam ({ param, routeString, pathname, paramValue, hash }) {\n\tconst routeArray = routeString.replace(/^\\//, '').split('/').map(routePart => (\n\t\t// Remove optional flags and anything in parenthesis\n\t\troutePart.replace(/\\?$/, '').replace(/\\(([^)]+)\\)/, '')\n\t));\n\tconst pathArray = pathname.replace(/^\\//, '').split('/');\n\tconst releasePos = routeArray.indexOf(param);\n\tpathArray.splice(releasePos, 1, paramValue);\n\n\treturn `/${pathArray.join('/')}${hash ? hash : ''}`;\n}\n\nexport function replaceLatest (release) {\n\twindow.location.hash = (window.location.hash.replace('latest', unTransformReleaseName(release)));\n}\n\n/**\n * Helper to add hash bang routing to paths. This is\n * abstracted to this helper so we can remove this easily\n * if we move to another pattern\n *\n * @export\n * @param {string} location\n * @returns {string} path with hash bang\n */\nexport function createPath (location='') {\n\tconst cleanLocation = location\n\t\t// Remove leading slashes\n\t\t.replace(/^\\//, '')\n\t\t// Remove processor\n\t\t.replace(/^dev.do/, '')\n\t\t.replace(/^app.do/, '')\n\t\t// Remove hash bang\n\t\t.replace(/^#!/, '')\n\t\t// Remove remaining leading slashes\n\t\t.replace(/^\\//, '');\n\n\t// Adds hash bang and leading slash back.\n\t// If we move from hash bang this will be easily replaceable\n\tconst newLocation = `#!/${cleanLocation}`;\n\n\treturn newLocation;\n}\n\n/**\n * Helper to add hashes to the end of the hash bang path\n *\n * @export\n * @param {string} anchor\n * @returns {string} path with hash bang and hash\n */\nexport function createAnchor (anchor='') {\n\tconst currentLocation = window.location.hash\n\t\t// Remove hash bang\n\t\t.replace(/^#!/, '')\n\t\t// Remove remaining leading slashes\n\t\t.replace(/^\\//, '')\n\t\t// Remove any existing hash\n\t\t.replace(/#[\\w-\\W]*/, '');\n\n\tconst cleanLocation = currentLocation + anchor;\n\n\t// Adds hash bang and leading slash back.\n\t// If we move from hash bang this will be easily replaceable\n\tconst newLocation = createPath(cleanLocation);\n\n\treturn newLocation;\n}\n\n/**\n * Converts queryParams object to string with prefixed ?\n * @param {Object} queryParams\n */\nexport const queryParamsToStr = queryParams =>\n\tObject.keys(queryParams).length === 0\n\t\t? ''\n\t\t: `?${new URLSearchParams(queryParams).toString()}`;\n\n\n/**\n * Generates a suitable GitHub URL for a given\n * component/branch/release combination.\n * @param {string} githubRepo the base URL\n * @param {string} githubBranch the given current branch\n * @param {string} releaseSlug the component's release\n * @returns {string} the resolved URL\n */\nexport const getComponentGithubUrl = (githubRepo,\tgithubBranch, releaseSlug) => {\n\tlet response = githubRepo;\n\tif(githubRepo && githubBranch) {\n\t\t// Some repos still use the old `project/release` format\n\t\t// If we find the old format, support it. Otherwise, attempt\n\t\t// to look for the non-prefixed format. Finally, construct\n\t\t// a URL that links to the root, but the appropriate release.\n\t\tif(githubBranch.match(`project/${releaseSlug}`)) {\n\t\t\tresponse = `${githubRepo}/tree/project/${releaseSlug}`;\n\t\t} else if(githubBranch.match(releaseSlug)) {\n\t\t\tresponse = `${githubRepo}/tree/${releaseSlug}`;\n\t\t}\n\t}\n\n\treturn response;\n}\n\n/**\n * Get Dev Assignment Group URL\n * @param {string} owning_team_sys_id\n * @returns {string} composed URL for the dev assignment group\n */\nexport const getDevAssignmentGroupUrl = (owning_team_sys_id) => {\n\treturn `https://buildtools1.service-now.com/nav_to.do?uri=%2Fsys_user_group.do%3Fsys_id%3D${ owning_team_sys_id }`;\n}\n","/* eslint-disable object-shorthand */\n/* eslint-disable curly */\nimport { isUndefined } from 'lodash';\nimport autoBind from 'auto-bind';\n\nconst MEM_TEMP_KEY = 'tmp_';\nconst MEM_STORAGE_SEND_SIGNAL = 'sendSessionStorage';\nconst MEM_SESSION_STORAGE = 'sessionStorage';\n\nclass MemStorageImpl {\n\tconstructor() {\n\t\tautoBind(this);\n\t\tthis.setOptions({\n\t\t\tafterSessionStorageUpdate: () => {},\n\t\t\tlocalStorage: window.localStorage,\n\t\t\tsessionStorage: window.sessionStorage\n\t\t});\n\t\treturn this;\n\t}\n\n\tbroadcastUpdate(key, val) {\n\t\tconst tempKey = `${MEM_TEMP_KEY}${key}`;\n\t\tthis.localStorage.setItem(tempKey, val);\n\t\tthis.localStorage.removeItem(tempKey);\n\t}\n\n\tclear() {\n\t\tthis.sessionStorage.clear();\n\t}\n\n\tgetItem(key) {\n\t\treturn this.sessionStorage.getItem(key);\n\t}\n\n\tinitialize() {\n\t\t// setup storage listener\n\t\tthis.setupStorageListener();\n\t\t// trigger call to get sessionStorage from other tabs\n\t\tthis.syncSessionStorage();\n\t}\n\n\tisEmpty() {\n\t\treturn window.sessionStorage.length === 0;\n\t}\n\n\tparseAndUpdateSessionStorage(e) {\n\t\tconst sessionStorageFromOtherWindow = JSON.parse(e.newValue);\n\t\tObject.keys(sessionStorageFromOtherWindow).forEach(key => {\n\t\t\tthis.sessionStorage.setItem(key, sessionStorageFromOtherWindow[key]);\n\t\t});\n\t}\n\n\tsendSessionStorageFromOtherWindows() {\n\t\t// filter out which keys to sync across tabs\n\t\tconst sessionStorageKeysToSync = Object.keys(window.sessionStorage).filter(\n\t\t\tk => this.keysToSync.includes(k)\n\t\t);\n\t\tconst sessionStorageToSync = {};\n\n\t\t// build the object of values to sync\n\t\tsessionStorageKeysToSync.forEach(k => {\n\t\t\tif (window.sessionStorage[k]) {\n\t\t\t\tsessionStorageToSync[k] = window.sessionStorage[k];\n\t\t\t}\n\t\t});\n\n\t\tthis.localStorage.setItem(\n\t\t\tMEM_SESSION_STORAGE,\n\t\t\tJSON.stringify(sessionStorageToSync)\n\t\t);\n\t\tthis.localStorage.removeItem(MEM_SESSION_STORAGE);\n\t}\n\n\tsetupStorageListener() {\n\t\twindow.addEventListener('storage', e => {\n\t\t\t// there's no updated value, so ignore\n\t\t\tif (!e.newValue) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (~e.key.indexOf(MEM_STORAGE_SEND_SIGNAL)) {\n\t\t\t\t// temporarily set localStorage and stringify sessionStorage\n\t\t\t\tthis.sendSessionStorageFromOtherWindows();\n\t\t\t} else if (\n\t\t\t\t~e.key.indexOf(MEM_SESSION_STORAGE) &&\n\t\t\t\tthis.sessionStorage.length === 0\n\t\t\t) {\n\t\t\t\tthis.parseAndUpdateSessionStorage(e);\n\t\t\t} else if (~e.key.indexOf(MEM_TEMP_KEY)) {\n\t\t\t\tconst normalizedKey = e.key.substring(MEM_TEMP_KEY.length);\n\t\t\t\tthis.sessionStorage.setItem(normalizedKey, e.newValue);\n\t\t\t\tthis.afterSessionStorageUpdate(normalizedKey, e.newValue);\n\t\t\t}\n\t\t});\n\t}\n\n\tsetItem(key, val) {\n\t\tthis.sessionStorage.setItem(key, val);\n\t\tthis.broadcastUpdate(key, val);\n\t}\n\n\tsetOptions(\n\t\topts = {\n\t\t\tafterSessionStorageUpdate: () => {},\n\t\t\tkeysToSync: [],\n\t\t\tlocalStorage: {},\n\t\t\tsessionStorage: {}\n\t\t}\n\t) {\n\t\tthis.afterSessionStorageUpdate =\n\t\t\topts.afterSessionStorageUpdate || (() => {});\n\t\tthis.keysToSync = opts.keysToSync;\n\t\tthis.localStorage = opts.localStorage;\n\t\tthis.sessionStorage = opts.sessionStorage;\n\t}\n\n\tsyncSessionStorage() {\n\t\tif (this.sessionStorage.length === 0) {\n\t\t\tthis.localStorage.setItem(MEM_STORAGE_SEND_SIGNAL, 1);\n\t\t\tthis.localStorage.removeItem(MEM_STORAGE_SEND_SIGNAL);\n\t\t}\n\t}\n\n\tremoveItem(key) {\n\t\tthis.sessionStorage.removeItem(key);\n\t}\n}\n\n// instance var to ensure singleton\nlet _memStorage;\n\n/**\n * MemStorage Singleton\n */\nexport const MemStorage = (function() {\n\tif (isUndefined(_memStorage)) {\n\t\t_memStorage = new MemStorageImpl();\n\t}\n\treturn _memStorage;\n})();\n","/* eslint-disable curly */\nimport { isEmpty, isUndefined } from 'lodash';\nimport { CONSTANTS, INSTANCE_ACTION_STATES } from '../constants';\nimport { replacePathParam } from './url';\nimport { isInactiveRelease, hasComponentLibrary } from './helpers';\nimport { transformReleaseName } from './transformReleaseName';\nimport { MemStorage } from './memStorage';\n\n/**\n * Check if release has a component library\n * @param {Object} param0\n */\nexport const componentLibInactive = properties => {\n\tconst { pathname, release, routeString, systemProperties } = properties;\n\n\tif (!hasComponentLibrary(release, systemProperties)) {\n\t\tconst redirectToVersionSelected =\n\t\t\tsystemProperties['dev.defaults.now_experience_release'];\n\t\tconst redirectToValidRelease = replacePathParam({\n\t\t\tparam: ':release',\n\t\t\trouteString,\n\t\t\tpathname,\n\t\t\tparamValue: redirectToVersionSelected\n\t\t});\n\n\t\treturn redirectToValidRelease;\n\t}\n\treturn false;\n};\n\nexport const releaseInactive = properties => {\n\tconst {\n\t\tpathname,\n\t\trelease,\n\t\trouteString,\n\t\tsystemProperties,\n\t\tuserInfo\n\t} = properties;\n\n\tif (isInactiveRelease({ release, systemProperties })) {\n\t\tconst redirectToVersionSelected =\n\t\t\tuserInfo.version_selected ||\n\t\t\tsystemProperties['dev.defaultVersionSelected'];\n\t\tconst redirectToValidRelease = replacePathParam({\n\t\t\tparam: ':release',\n\t\t\trouteString,\n\t\t\tpathname,\n\t\t\tparamValue: redirectToVersionSelected\n\t\t});\n\t\treturn redirectToValidRelease;\n\t}\n\n\treturn false;\n};\n\n/**\n *  NOTE: Logic should be in the server to prompt SSO. For now, keep this here to redirect users.\n * Check if the release is an existing release\n * @param {Object} obj\n * @returns {boolean}\n */\nexport const releaseExists = ({ release, systemProperties }) => {\n\tconst inactiveReleases =\n\t\t(systemProperties['dev.inactive_releases'] &&\n\t\t\tsystemProperties['dev.inactive_releases'].split(',')) ||\n\t\t[];\n\tconst activeReleases =\n\t\t(systemProperties['dev.active_releases'] &&\n\t\t\tsystemProperties['dev.active_releases'].split(',')) ||\n\t\t[];\n\tconst internalReleases =\n\t\t(systemProperties['dev.internal_releases'] &&\n\t\t\tsystemProperties['dev.internal_releases'].split(',')) ||\n\t\t[];\n\n\tconst existingReleases = internalReleases.concat(\n\t\tactiveReleases,\n\t\tinactiveReleases\n\t);\n\treturn existingReleases.length > 0 && existingReleases.includes(release);\n};\n\n/**\n * NOTE: Logic should be in the server to prompt SSO. For now, keep this here to redirect users.\n * Check if release requires authentication\n * Restricted and non-existing releases require authentication\n * Non-existing is checked to prevent users from guessing future release names\n * @param {Object} obj\n * @returns {boolean}\n */\nexport const releaseInternal = ({\n\trelease,\n\tsystemProperties,\n\tpathname,\n\trouteString,\n\tuserInfo\n}) => {\n\tconst isInternal = isInternalRelease(release, systemProperties);\n\tconst isExistingRelease = releaseExists({ release, systemProperties });\n\n\tif (isInternal || !isExistingRelease) {\n\t\tconst redirectToVersionSelected =\n\t\t\tuserInfo.version_selected ||\n\t\t\tsystemProperties['dev.defaultVersionSelected'];\n\t\tconst redirectToValidRelease = replacePathParam({\n\t\t\tparam: ':release',\n\t\t\trouteString,\n\t\t\tpathname,\n\t\t\tparamValue: redirectToVersionSelected\n\t\t});\n\t\treturn redirectToValidRelease;\n\t}\n\n\treturn false;\n};\n\n/**\n * To check internal release or not\n * @param release\n * @param systemProperties\n * @returns {boolean}\n */\nexport const isInternalRelease = (release, systemProperties) => {\n\tconst internalReleases =\n\t\t(systemProperties['dev.internal_releases'] &&\n\t\t\tsystemProperties['dev.internal_releases'].split(',')) ||\n\t\t[];\n\treturn internalReleases.length > 0 && internalReleases.includes(release);\n};\n\n/**\n * Returns the correct release based on one of the following:\n * - release based on the url route params if valid\n * - user's selected version\n * - or system default\n *\n * @param {Object} params\n * @param {string} params.release\n * @param {Object} params.systemProperties\n * @param {Object} params.userInfo\n * @returns {string}\n */\nexport const getComputedRelease = ({ release, systemProperties }) => {\n\tconst activeReleases = systemProperties['dev.active_releases'] || '';\n\tconst validRouteRelease =\n\t\trelease && activeReleases.split(',').indexOf(release) !== -1\n\t\t\t? release\n\t\t\t: null;\n\n\treturn (\n\t\tvalidRouteRelease ||\n\t\tMemStorage.getItem(CONSTANTS.DEFAULTS.USER_SESSION_RELEASE) ||\n\t\tsystemProperties['dev.defaultVersionSelected'] ||\n\t\tCONSTANTS.DEFAULTS.DEFAULT_RELEASE\n\t);\n};\n\n/**\n * Get the \"selected\" release based on the following order:\n * - release from the url using routeParams\n * - release passed in from a prop\n * - release based on SessionStorage\n * - release from sysProp\n * - release from constants\n * @param {Object} params\n * @param {string} params.release\n * @param {Object} params.routeParams\n * @param {Object} params.systemProperties\n * @returns {string}\n */\nexport const getSelectedRelease = ({\n\trelease = null,\n\trouteParams = {},\n\tsystemProperties = {}\n}) => {\n\treturn (\n\t\trouteParams.release ||\n\t\trelease ||\n\t\tMemStorage.getItem(CONSTANTS.DEFAULTS.USER_SESSION_RELEASE) ||\n\t\tsystemProperties['dev.defaultVersionSelected'] ||\n\t\tCONSTANTS.DEFAULTS.DEFAULT_RELEASE\n\t);\n};\n\n/**\n * Returns the correct release version to use based on either the version from the url, userVersionSelected, or defaultVersionSelected\n * @param {Object} param\n * @param {string} param.release\n * @param {string} param.defaultVersionSelected\n * @param {string} param.userVersionSelected\n */\nexport const getSelectedVersion = ({\n\trelease,\n\tdefaultVersionSelected,\n\tuserVersionSelected\n}) => {\n\tif (!isUndefined(release)) {\n\t\treturn release;\n\t}\n\tif (!isUndefined(userVersionSelected) && !isEmpty(userVersionSelected)) {\n\t\treturn userVersionSelected;\n\t}\n\n\treturn defaultVersionSelected || CONSTANTS.DEFAULTS.DEFAULT_RELEASE;\n};\n\nexport const minimumNowExperienceVersion = (release, systemProperties) => {\n\tconst minRelease = CONSTANTS.DEFAULTS.MINIMUM_NOW_EXPERIENCE_RELEASE;\n\tif (\n\t\tsystemProperties &&\n\t\tsystemProperties['dev.defaults.now_experience_release']\n\t) {\n\t\treturn isReleaseGTE(release, minRelease, systemProperties)\n\t\t\t? release\n\t\t\t: systemProperties['dev.defaults.now_experience_release'];\n\t}\n\treturn isReleaseGTE(release, minRelease, systemProperties)\n\t\t? release\n\t\t: CONSTANTS.DEFAULTS.DEFAULT_NOW_EXPERIENCE_RELEASE;\n};\n\n/**\n * For dps-inline-version-selector, formats the instanceRelease property using instanceInfo\n * @param {Object} instanceInfo\n * @returns {Object}\n */\n/**\n * Get all releases (active + inactive) in chronological order from system properties\n * @param {Object} systemProperties\n * @returns {Array<string>}\n */\nexport const getAllReleasesInOrder = (systemProperties) => {\n\tconst activeReleases = (systemProperties['dev.active_releases'] || '').split(',').filter(Boolean);\n\tconst inactiveReleases = (systemProperties['dev.inactive_releases'] || '').split(',').filter(Boolean);\n\treturn [...inactiveReleases, ...activeReleases];\n};\n\n/**\n * Compare two releases chronologically using index-based comparison.\n * Returns:\n *   -1 if releaseA is older than releaseB\n *    0 if releaseA equals releaseB\n *    1 if releaseA is newer than releaseB\n * @param {string} releaseA\n * @param {string} releaseB\n * @param {Object} systemProperties\n * @returns {number}\n */\nexport const compareReleases = (releaseA, releaseB, systemProperties) => {\n\tif (!releaseA || !releaseB) return 0;\n\tconst allReleases = getAllReleasesInOrder(systemProperties);\n\tconst indexA = allReleases.indexOf(releaseA.toLowerCase());\n\tconst indexB = allReleases.indexOf(releaseB.toLowerCase());\n\tif (indexA === -1 || indexB === -1) return 0;\n\tif (indexA < indexB) return -1;\n\tif (indexA > indexB) return 1;\n\treturn 0;\n};\n\n/**\n * Check if releaseA is greater than or equal to releaseB chronologically\n * @param {string} releaseA\n * @param {string} releaseB\n * @param {Object} systemProperties\n * @returns {boolean}\n */\nexport const isReleaseGTE = (releaseA, releaseB, systemProperties) => {\n\treturn compareReleases(releaseA, releaseB, systemProperties) >= 0;\n};\n\n/**\n * Check if releaseA is less than releaseB chronologically\n * @param {string} releaseA\n * @param {string} releaseB\n * @param {Object} systemProperties\n * @returns {boolean}\n */\nexport const isReleaseLT = (releaseA, releaseB, systemProperties) => {\n\treturn compareReleases(releaseA, releaseB, systemProperties) < 0;\n};\n\n/**\n * Check if releaseA is greater than releaseB chronologically\n * @param {string} releaseA\n * @param {string} releaseB\n * @param {Object} systemProperties\n * @returns {boolean}\n */\nexport const isReleaseGT = (releaseA, releaseB, systemProperties) => {\n\treturn compareReleases(releaseA, releaseB, systemProperties) > 0;\n};\n\n/**\n * Sort releases in chronological order (oldest to newest)\n * @param {Array<string>} releases\n * @param {Object} systemProperties\n * @returns {Array<string>}\n */\nexport const sortReleasesChronologically = (releases, systemProperties) => {\n\tconst allReleases = getAllReleasesInOrder(systemProperties);\n\treturn [...releases].sort((a, b) => {\n\t\tconst indexA = allReleases.indexOf(a.toLowerCase());\n\t\tconst indexB = allReleases.indexOf(b.toLowerCase());\n\t\treturn indexA - indexB;\n\t});\n};\n\n/**\n * Filter available API types based on release version.\n * For Zurich and newer releases, all API types are available.\n * For older releases, client_next_experience and mobile_sdk are excluded.\n * @param {Array} availableSysApiTypes\n * @param {string} release\n * @param {Object} systemProperties\n * @returns {Array}\n */\nexport const getFilteredApiTypes = (availableSysApiTypes, release, systemProperties) => {\n\tconst zurichOrNewer = isZurichOrNewer(release, systemProperties);\n\treturn availableSysApiTypes.filter(item => {\n\t\tif (!zurichOrNewer && (item.id === \"client_next_experience\" || item.id === \"mobile_sdk\")) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t});\n};\n\nexport const getFormattedInstanceReleaseInfo = instanceInfo => {\n\tconst statusDenyList = ['instanceRestoreProgress', 'waitlist'];\n\tif (\n\t\t!instanceInfo ||\n\t\t!instanceInfo.release ||\n\t\tstatusDenyList.includes(instanceInfo.state)\n\t) {\n\t\treturn {};\n\t}\n\n\tconst { release } = instanceInfo;\n\tconst formattedId = release.toLowerCase();\n\treturn { id: formattedId, label: transformReleaseName(formattedId) };\n};\n\n/**\n * Check if a release is Zurich or newer based on its position in the active releases list\n * @param {string} release\n * @param {Object} systemProperties\n * @returns {boolean}\n */\nexport const isZurichOrNewer = (release, systemProperties) => {\n\tconst activeReleases = (systemProperties['dev.active_releases'] || '').split(',');\n\tconst zurichIndex = activeReleases.indexOf('zurich');\n\tconst currentReleaseIndex = activeReleases.indexOf(release);\n\treturn currentReleaseIndex >= zurichIndex;\n};\n\n/**\n * Filter and map other releases for the inline version selector.\n * For client_next_experience and mobile_sdk doc types, filters to Zurich+ releases\n * and reconstructs URLs to preserve the docType in the path.\n * @param {Object} params\n * @param {Array} params.otherReleases - Array of release objects from the backend\n * @param {string} params.docType - Current doc type\n * @param {string} params.release - Current release\n * @param {string} params.pathname - Current URL pathname\n * @param {Object} params.systemProperties - System properties\n * @param {string} [params.hash] - Optional URL hash fragment\n * @returns {Array} Filtered and mapped releases\n */\nexport const getFilteredOtherReleases = ({ otherReleases, docType, release, pathname, systemProperties, hash }) => {\n\tif (!otherReleases) return [];\n\tconst isNewDocType = docType === 'client_next_experience' || docType === 'mobile_sdk';\n\treturn otherReleases\n\t\t.filter(otherRelease => {\n\t\t\tif (isNewDocType) {\n\t\t\t\treturn isZurichOrNewer(otherRelease.id, systemProperties);\n\t\t\t}\n\t\t\treturn true;\n\t\t})\n\t\t.map(otherRelease => {\n\t\t\tconst url = isNewDocType\n\t\t\t\t? pathname.replace(`/api/${release}/`, `/api/${otherRelease.id}/`)\n\t\t\t\t: otherRelease.url;\n\t\t\treturn {\n\t\t\t\t...otherRelease,\n\t\t\t\turl: `${url}${hash || ''}`\n\t\t\t};\n\t\t});\n};\n","/* eslint-disable curly */\n/* eslint-disable no-undef */\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { isEqual } from 'lodash';\nimport { snHttpFactory } from 'sn-http-request';\nimport {\n\tCONSTANTS,\n\tERROR_CODES,\n\tSEARCH_KEYWORD_ENCRYPTION\n} from '../constants';\nimport { unTransformReleaseName } from './transformReleaseName';\nimport { SessionService } from './sessionService';\nimport { DevPlatformStorage } from './storage';\nimport { DPS_NAVIGATION_INSTANCE_MANAGEMENT } from '../components/dps-navigation-header/actions';\nimport { createPath } from './url';\nimport { isReleaseGTE } from './releaseHelpers';\n\n// sn-http-request v18 uses axios which doesn't JSON-stringify nested objects in params.\n// v26+ has a custom buildUrl that handles this, but the bundler resolves to v18 here.\n// All snHttpFactory() instances share the same underlying axios singleton, so one\n// interceptor fixes all routes — direct calls AND createHttpEffect calls.\n// Arrays are left alone so axios's default array serializer still applies.\n(function installParamsSerializer() {\n\tconst _http = snHttpFactory({ batching: false });\n\tconst reqInterceptors = _http?.client?.interceptors?.request;\n\tif (!reqInterceptors) return;\n\treqInterceptors.use(config => {\n\t\tif (\n\t\t\tconfig.params &&\n\t\t\ttypeof config.params === 'object' &&\n\t\t\t!Array.isArray(config.params)\n\t\t) {\n\t\t\tconst serialized = {};\n\t\t\tfor (const [key, val] of Object.entries(config.params)) {\n\t\t\t\tconst isPlainObject =\n\t\t\t\t\tval !== null && typeof val === 'object' && !Array.isArray(val);\n\t\t\t\tserialized[key] = isPlainObject ? JSON.stringify(val) : val;\n\t\t\t}\n\t\t\treturn { ...config, params: serialized };\n\t\t}\n\t\treturn config;\n\t});\n})();\n\n/**\n * Checks userInfo to determine if user = servicenow employee\n * @param {Object} userInfo\n * @returns {boolean}\n */\nexport const isEmployee = userInfo =>\n\tuserInfo &&\n\tuserInfo.roles &&\n\tuserInfo.roles.includes('developer_company_servicenow');\n\n/**\n * Determines if userInfo has been fetched\n * @param {Object} userInfo\n * @returns {boolean}\n */\nexport const userInfoPopulated = userInfo =>\n\tuserInfo && Object.keys(userInfo).length > 0;\n\nexport const arrayToObject = arr =>\n\tarr.reduce((memo, currentVal) => {\n\t\tconst [first, ...rest] = currentVal;\n\t\tmemo[first] = rest || '';\n\t\treturn memo;\n\t}, {});\n\n/**\n * Calculates the start and end index for a set of items per page and the current page number\n * @param {integer} page\n * @param {integer} perPage\n * @returns{[integer, integer]}\n */\nexport function calcStartAndEndOffsets(page, perPage) {\n\tif (page < 1) {\n\t\treturn [0, 0];\n\t}\n\n\tconst start = (page - 1) * perPage;\n\tconst end = start + perPage;\n\n\treturn [start, end];\n}\n\n/**\n * Capitalize each word in a string\n * @param {string} str\n */\nexport const capitalizeWords = str =>\n\tstr\n\t\t.split(' ')\n\t\t.map(s => s.charAt(0).toUpperCase() + s.slice(1))\n\t\t.join(' ');\n\n/**\n * Customized GET HttpEffect for calling devPortal.do\n * @param {Object} params\n * @param {Object} params.endpoint\n * @param {Object} params.errorActionType\n * @param {Object} params.headers\n * @param {Object} params.startActionType\n * @param {Object} params.successActionType\n */\nexport const devPortalGetHttpEffect = ({\n\tendpoint,\n\theaders = {},\n\terrorActionType,\n\tstartActionType,\n\tsuccessActionType\n}) =>\n\tcreateHttpEffect(endpoint || CONSTANTS.ENDPOINTS.DEV_PORTAL_URI, {\n\t\tbatch: false,\n\t\theaders,\n\t\tmethod: 'GET',\n\t\tqueryParams: ['sysparm_data'],\n\t\terrorActionType,\n\t\tstartActionType,\n\t\tsuccessActionType\n\t});\n\n/**\n *\n * @param {Object} actionType\n *\n */\nexport const devPortalPostHttpEffect = ({\n\terrorActionType,\n\tstartActionType,\n\tsuccessActionType\n}) =>\n\tcreateHttpEffect(CONSTANTS.ENDPOINTS.DEV_PORTAL_URI, {\n\t\tbatch: false,\n\t\theaders: {\n\t\t\t'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8'\n\t\t},\n\t\tmethod: 'POST',\n\t\terrorActionType,\n\t\tqueryParams: ['sysparm_data'],\n\t\tstartActionType,\n\t\tsuccessActionType\n\t});\n\nexport const execIfTruthy = ({ predicate, fn = () => {}, fnArgs = [] }) =>\n\tpredicate ? fn(...fnArgs) : null;\n\n/**\n *\n * @param {Object} node\n * @param {string} selector\n * @returns {Object}\n */\nexport const findParentNode = (node, selector, maxCalls = 5) => {\n\tif (node) {\n\t\treturn matchesSelector(node, selector) || maxCalls === 0\n\t\t\t? node\n\t\t\t: findParentNode(node.parentNode, selector, maxCalls - 1);\n\t}\n\treturn null;\n};\n\n/**\n * Generate two lettered initials from userInfo displayName\n * @param {string} displayName\n */\nexport const generateInitials = displayName => {\n\tconst names = displayName.trim().split(' ');\n\treturn names.length > 1\n\t\t? `${names[0][0].toUpperCase()}${names[names.length - 1][0].toUpperCase()}`\n\t\t: names[0][0].toUpperCase();\n};\n\n/**\n * Generate a url with query params\n * e.g. http://foo.com?a=b&c=1\n * @param {string} templateUrl\n * @param  {Array<{key, val}>} queryParams\n */\nexport const generateUrl = (templateUrl, ...queryParams) => {\n\tconst newUrlArr = [];\n\tnewUrlArr.push(templateUrl);\n\n\tif (queryParams && queryParams.length > 0) {\n\t\tnewUrlArr.push('?');\n\t\tnewUrlArr.push(queryParams.join('&'));\n\t}\n\n\treturn newUrlArr.join('');\n};\n\nexport const getMonthLabel = (val, region = 'en-US') => {\n\tconst months = {\n\t\t'en-US': [\n\t\t\t'January',\n\t\t\t'February',\n\t\t\t'March',\n\t\t\t'April',\n\t\t\t'May',\n\t\t\t'June',\n\t\t\t'July',\n\t\t\t'August',\n\t\t\t'September',\n\t\t\t'October',\n\t\t\t'November',\n\t\t\t'December'\n\t\t]\n\t};\n\n\treturn months[region][val];\n};\n\n/**\n *\n * @param {string} action\n * @param {Object} data\n * @returns {Object}\n */\nexport const formatSysParam = (action, data = {}) => ({\n\taction,\n\tdata\n});\n\n/**\n * Function to get the variables from URL\n * @returns {Object}\n */\nexport const getUrlVars = () => {\n\tvar vars = {};\n\tconst parts = window.location.href.replace(\n\t\t/[?&]+([^=&]+)=([^&]*)/gi,\n\t\t(_m, key, value) => {\n\t\t\tvars[key] = value;\n\t\t}\n\t);\n\treturn vars;\n};\n\n/**\n * Check if release has a component library\n * @param {string} release\n * @param {Object} systemProperties\n */\nexport const hasComponentLibrary = (release, systemProperties) =>\n\tisReleaseGTE(\n\t\trelease,\n\t\tCONSTANTS.DEFAULTS.MINIMUM_NOW_EXPERIENCE_RELEASE,\n\t\tsystemProperties\n\t) || release === 'latest';\n\nexport const hasUserInfoUpdated = ({ name, previousValue, value }) => {\n\tif (name !== 'userInfo') {\n\t\treturn false;\n\t}\n\n\tconst prevUserInfo = { ...previousValue };\n\tconst newUserInfo = { ...value };\n\n\tdelete prevUserInfo.session_id;\n\tdelete prevUserInfo.version_selected;\n\tdelete newUserInfo.session_id;\n\tdelete newUserInfo.version_selected;\n\n\treturn !isEqual(newUserInfo, prevUserInfo);\n};\n\nexport const invertObject = obj =>\n\tObject.keys(obj).reduce((memo, key) => {\n\t\tconst val = obj[key];\n\t\tmemo[val] = key;\n\t\treturn memo;\n\t}, {});\n\nexport const isAMBEnabled = systemProperties =>\n\tsystemProperties['glide.amb.active'] === 'true';\n\nexport const isEmpty = val => {\n\tif (val) {\n\t\tif (Array.isArray(val)) {\n\t\t\treturn !val.length;\n\t\t}\n\t\tif (typeof val === 'string') {\n\t\t\treturn !val.trim().length;\n\t\t}\n\t\tif (val.constructor && val.constructor.prototype) {\n\t\t\treturn !Object.keys(val).length;\n\t\t}\n\t}\n\n\treturn true;\n};\n\n/**\n * Check if release is inactive\n */\nexport const isInactiveRelease = ({ release, systemProperties }) => {\n\tconst inactiveReleases =\n\t\t(systemProperties['dev.inactive_releases'] &&\n\t\t\tsystemProperties['dev.inactive_releases'].split(',')) ||\n\t\t[];\n\n\treturn (\n\t\t(inactiveReleases.length > 0 && inactiveReleases.includes(release)) || false\n\t);\n};\n\n/**\n * Checks if val is an object\n * @param {*} val\n * @returns {boolean}\n */\nexport const isObject = val =>\n\tval != null && (typeof val === 'object' || typeof val === 'function');\n\n/**\n * Checks if smallViewport\n * @returns {boolean}\n */\nexport const isSmallViewport = () =>\n\twindow.matchMedia('(max-width: 991.98px)').matches;\n\n/**\n * Checks if value is truthy if boolean is either a string-based boolean or a regular boolean\n * @param {string | boolean} val\n * @returns {boolean}\n */\nexport const isTruthy = val => {\n\tif (typeof val === 'undefined') {\n\t\treturn false;\n\t}\n\n\tif (val === 'true' || val === '1') {\n\t\treturn true;\n\t}\n\n\treturn val === 'false' || val === '0' ? false : val;\n};\n\n/**\n * Seismic HttpEffect boilerplate generator\n * @param {string} type\n * @param {string} url\n * @param {Object} opts\n * @param {boolean} opts.batch\n * @param {string} opts.method\n * @param {Function} opts.onError\n * @param {Function} opts.onSuccess\n * @param {Array<string>} opts.pathParams\n * @param {Array<string>} opts.queryParams\n * @returns {Object}\n */\nexport const makeHttpEffectCreator = (\n\ttype,\n\turl,\n\t{\n\t\tbatch = false,\n\t\tdataParam = '',\n\t\theaders = {},\n\t\tmethod = 'GET',\n\t\tonError = () => {},\n\t\tonSuccess = () => {},\n\t\tpathParams = [],\n\t\tqueryParams = []\n\t}\n) => {\n\tconst ACTION_TYPE = `${type.toUpperCase()}`;\n\tconst SUCCESS_ACTION_TYPE = `${ACTION_TYPE}_SUCCEEDED`;\n\tconst ERROR_ACTION_TYPE = `${ACTION_TYPE}_FAILED`;\n\tconst options = {\n\t\tbatch,\n\t\terrorActionType: ERROR_ACTION_TYPE,\n\t\tmethod,\n\t\tsuccessActionType: SUCCESS_ACTION_TYPE\n\t};\n\n\tif (dataParam) {\n\t\toptions.dataParam = dataParam;\n\t}\n\tif (Object.keys(headers).length > 0) {\n\t\toptions.headers = headers;\n\t}\n\tif (pathParams && pathParams.length > 0) {\n\t\toptions.pathParams = pathParams;\n\t}\n\tif (queryParams && queryParams.length > 0) {\n\t\toptions.queryParams = queryParams;\n\t}\n\n\treturn {\n\t\t[ACTION_TYPE]: createHttpEffect(url, options),\n\t\t[ERROR_ACTION_TYPE](coeffects) {\n\t\t\tonError.call(this, coeffects);\n\t\t},\n\t\t[SUCCESS_ACTION_TYPE](coeffects) {\n\t\t\tonSuccess.call(this, coeffects);\n\t\t}\n\t};\n};\n\n/**\n * snHttp Factory Function to account for changes in user token response\n * @param {Object} params\n * @param {string} params.actionName\n * @param {string} params.method\n * @param {Object} params.params\n * @param {string} params.url\n */\nexport const makeSnHttpFactory = ({\n\tactionName,\n\tmethod = 'get',\n\tdefaultConfig = {},\n\turl\n}) => ({ action, dispatch }) => {\n\tconst snHttp = snHttpFactory({\n\t\tbatching: false\n\t});\n\tconst config = mergeObjects(defaultConfig, action.payload || {});\n\n\tif (\n\t\tconfig.params &&\n\t\ttypeof config.params === 'object' &&\n\t\t!Array.isArray(config.params)\n\t) {\n\t\tconfig.params = Object.entries(config.params).reduce((acc, [key, val]) => {\n\t\t\tconst isPlainObject =\n\t\t\t\tval !== null && typeof val === 'object' && !Array.isArray(val);\n\t\t\tacc[key] = isPlainObject ? JSON.stringify(val) : val;\n\t\t\treturn acc;\n\t\t}, {});\n\t}\n\n\tsnHttp[method](url, config)\n\t\t.then(response => {\n\t\t\tconst { headers } = response.config;\n\t\t\t// check CSRF token if not set or out of date\n\t\t\tSessionService.checkHeaderUserToken(headers['x-usertoken-response']);\n\t\t\tSessionService.checkHeaderUserToken(headers['X-UserToken-Response']);\n\t\t\tSessionService.checkHeaderUserToken(headers['X-UserToken']);\n\n\t\t\t// Dispatch successAction\n\t\t\tif (response.status === 200) {\n\t\t\t\tdispatch(`${actionName}_SUCCEEDED`, { ...response.data });\n\t\t\t} else {\n\t\t\t\tdispatch(`${actionName}_FAILED`, { ...response.data });\n\t\t\t}\n\t\t})\n\t\t.catch(error => {\n\t\t\tdispatch(`${actionName}_FAILED`, error);\n\t\t});\n};\n\n/**\n * Variadic function to merge args into one object\n * @param  {...any} objects\n * @returns {Object}\n */\nexport const mergeObjects = (...objects) => {\n\tlet mergedObj = {};\n\tfor (let i = 0; i < objects.length; i++) {\n\t\tif (isObject(objects[i])) {\n\t\t\tmergedObj = { ...mergedObj, ...objects[i] };\n\t\t}\n\t}\n\treturn mergedObj;\n};\n\n/**\n *\n * @param {Object} node\n * @param {string} selector\n * @returns {boolean}\n */\nexport const matchesSelector = (node, selector) => {\n\tif (node) {\n\t\treturn (\n\t\t\tnode.nodeType === Node.ELEMENT_NODE &&\n\t\t\t(node.classList.contains(selector) ||\n\t\t\t\tnode.tagName.toLowerCase() === selector)\n\t\t);\n\t}\n\n\treturn false;\n};\n\n/**\n * Search array of objects with terms\n * @param {Array<Object>} data\n * @param {Array<string>} terms\n * @param {Object} options\n * @param {Array<string>} options.keys\n */\nexport const searchArray = (data, terms, options) =>\n\tdata.filter(item => {\n\t\tconst haystack = options.keys\n\t\t\t.map(k => item[k])\n\t\t\t.join(' ')\n\t\t\t.toLowerCase();\n\t\tfor (let i = 0; i < terms.length; i++) {\n\t\t\tif (haystack.indexOf(terms[i].toLowerCase()) !== -1) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t});\n\n/**\n * Function to return string representation of object type\n * @param {Object} obj\n * @returns {string}\n */\nexport const typeOf = obj =>\n\tObject.prototype.toString\n\t\t.call(obj)\n\t\t.slice(8, -1)\n\t\t.toLowerCase();\n\nexport const pathHasPasswordReset = pathname =>\n\tpathname &&\n\tpathname.indexOf('/home') !== -1 &&\n\tpathname.indexOf('?pa=pwd_reset') !== -1;\n\nexport const pathHasDirectWakeup = pathname =>\n\tpathname &&\n\tpathname.indexOf('/home') !== -1 &&\n\tpathname.indexOf('?wu=true') !== -1;\n\n/**\n * Browser detection for which animationend event to use.\n * @param {Node} elm\n * @returns {string}\n */\nexport const onAnimationEnd = elm => {\n\tconst animations = {\n\t\tanimation: 'animationend',\n\t\tOAnimation: 'oAnimationEnd',\n\t\tMozAnimation: 'animationend',\n\t\tWebkitAnimation: 'webkitAnimationEnd'\n\t};\n\n\tfor (const a in animations) {\n\t\tif (elm.style[a] !== undefined) {\n\t\t\treturn animations[a];\n\t\t}\n\t}\n};\n\n/**\n * Browser detection for which transitionend event to use.\n * @param {Node} elm\n * @returns {string}\n */\nexport const onTransitionEnd = elm => {\n\tvar transitions = {\n\t\ttransition: 'transitionend',\n\t\tOTransition: 'oTransitionEnd',\n\t\tMozTransition: 'transitionend',\n\t\tWebkitTransition: 'webkitTransitionEnd'\n\t};\n\n\tfor (const t in transitions) {\n\t\tif (elm.style[t] !== undefined) {\n\t\t\treturn animations[t];\n\t\t}\n\t}\n};\n\n/**\n * To check whether its internal release or not and redirect them login page\n **/\nexport const checkAndRedirectToAuth = (isInternal, userInfo, statusCode) => {\n\tif (\n\t\tuserInfo &&\n\t\t!userInfo.is_logged_in &&\n\t\t(isInternal || statusCode === 401)\n\t) {\n\t\treturn redirectToAuth(location.href);\n\t}\n};\n\nexport const isUserUnauthorizedToViewPage = (userInfo, payload) => {\n\tconst { is_logged_in } = userInfo;\n\tconst { status } = payload;\n\treturn status === ERROR_CODES.UNAUTHORIZED && !is_logged_in;\n};\n\n/**\n * Redirects user to sign in\n * @param {string} currentLocation\n */\nexport const redirectToAuth = currentLocation => {\n\tconst currentUrl = encodeURIComponent(currentLocation);\n\twindow.location.href = generateUrl(\n\t\tCONSTANTS.ENDPOINTS.SSO_LOGIN_URL,\n\t\t`relayState=${currentUrl}`\n\t);\n};\n\n/**\n * This function is used to determine whether to\n * dispatch the action when user clicks on Sign in\n * to provide feedback in the course article or\n * API page.\n */\nexport const isFeedbackOpened = (pathname, hash, userInfo, dispatch) => {\n\tconst regex = 'isFeedbackOpened=',\n\t\tisPathnameHasRegex = pathname && pathname.indexOf(regex) > -1,\n\t\tisHashHasRegex = hash && hash.indexOf(regex) > -1;\n\n\tif (\n\t\t(isPathnameHasRegex || isHashHasRegex) &&\n\t\tuserInfo &&\n\t\tuserInfo.is_logged_in\n\t) {\n\t\tlet payload = isPathnameHasRegex\n\t\t\t? pathname.slice(pathname.search(regex) + regex.length)\n\t\t\t: hash.slice(hash.search(regex) + regex.length);\n\n\t\twindow.location.hash = isPathnameHasRegex\n\t\t\t? `#!${pathname.replace('?' + regex + payload, '')}`\n\t\t\t: `#!${pathname}${hash.replace('?' + regex + payload, '')}`;\n\n\t\tpayload = JSON.parse(decodeURI(payload));\n\t\tdispatch('DPS_FEEDBACK#CLICKED', {\n\t\t\ttitle: payload.title || '',\n\t\t\tcontentType: payload.contentType || ''\n\t\t});\n\t}\n};\n\nexport const getReleaseNotesUrl = (releaseInfo, instanceInfo) =>\n\treleaseInfo &&\n\treleaseInfo.releaseNotes &&\n\tinstanceInfo &&\n\tinstanceInfo.release &&\n\treleaseInfo.releaseNotes[\n\t\tunTransformReleaseName(instanceInfo.release, releaseInfo)\n\t];\n\n/**\n * This function is used to redirect user to\n * corresponding printable page\n */\nexport const getPrintablePageUrl = (\n\trelease,\n\tcategory,\n\tidentifier,\n\tmoduleName\n) =>\n\t`/print_page.do?release=${release}&category=${category}&identifier=${identifier}&module=${moduleName}`;\n\nexport const processTitleWithSpecialChars = title => {\n\tlet titleStr = [],\n\t\treturnTitle;\n\tif (title.indexOf('®') > -1) {\n\t\ttitleStr = title.split('®');\n\t\treturnTitle = (\n\t\t\t<Fragment>\n\t\t\t\t{titleStr[0]}\n\t\t\t\t<sup>®</sup>\n\t\t\t\t{titleStr[1]}\n\t\t\t</Fragment>\n\t\t);\n\t}\n\treturn returnTitle;\n};\n\n//For escaping the quotes in a string\nexport const escapeQuotes = str => {\n\treturn str.replace(/\"/g, '&quot;');\n};\n\n// For a currently unknown reason, the above regex does not catch a small number of cases,\n// so a manual substring check is performed to check for these.\n// This issue can found in the following REST API sections:\n// Application Service, Identification and Reconciliation, Interaction Management API\n// MetricBase Time Series API, Virtual Agent Bot Integration API\nexport const stripCodeTag = codeText => {\n\tif (\n\t\tcodeText.substring(0, 6) === '<code>' &&\n\t\tcodeText.substring(codeText.length - 7, codeText.length) === '</code>'\n\t) {\n\t\treturn codeText.substring(6, codeText.length - 7);\n\t} else {\n\t\treturn codeText;\n\t}\n};\n\n// Process the pre tags before building the table\nexport const processPreTags = entries => {\n\tconst preBlockRegex = new RegExp(\n\t\t/<pre((?:.|\\n|\\r)*?)>((?:.|\\n|\\r)*?)<\\/pre>/gi\n\t);\n\tconst codeBlockRegex = new RegExp(\n\t\t/<code class=\"(.+)\">((?:.|\\n|\\r)*?)<\\/code>/gm\n\t);\n\tconst noClassCodeBlockRegex = new RegExp(/<code>((?:.|\\n|\\r)*?)<\\/code>/gm);\n\tconst xmlLangRegex = new RegExp(/xml:lang=\\\"((?:.|\\n|\\r)*?)\\\"/gm);\n\n\tlet textObj,\n\t\tcodeBlockLanguage = 'json',\n\t\tcodeText,\n\t\tfullTag,\n\t\tescapedCodeText,\n\t\tresultText;\n\twhile ((textObj = preBlockRegex.exec(entries)) !== null) {\n\t\tif (textObj && textObj[2]) {\n\t\t\tcodeText = textObj[2];\n\t\t\tfullTag = textObj[0];\n\t\t\tescapedCodeText = codeText;\n\n\t\t\t// Checking if there's an embedded <code class=\"\"> block and if so, extract it out\n\t\t\t// (<code> must contains the 'class' prop for this check)\n\t\t\tconst codeBlockObj = codeBlockRegex.exec(codeText);\n\t\t\tif (codeBlockObj) {\n\t\t\t\tcodeBlockLanguage = codeBlockObj[1];\n\t\t\t\tescapedCodeText = codeBlockObj[2];\n\t\t\t}\n\t\t\t// If didn't find an embedded <code class=\"\">, check for a standalone\n\t\t\t// <code> to extract code text from and also check for an xml:lang\n\t\t\t// prop within the <pre> tag\n\t\t\telse {\n\t\t\t\tconst noClassCodeBlockObj = noClassCodeBlockRegex.exec(codeText);\n\t\t\t\tif (noClassCodeBlockObj) {\n\t\t\t\t\tescapedCodeText = noClassCodeBlockObj[1];\n\t\t\t\t}\n\t\t\t\t// For a currently unknown reason, the above regex does not catch a small number of cases,\n\t\t\t\t// so a manual substring check is performed to check for these.\n\t\t\t\t// This issue can found in the following REST API sections:\n\t\t\t\t// Application Service, Identification and Reconciliation, Interaction Management API\n\t\t\t\t// MetricBase Time Series API, Virtual Agent Bot Integration API\n\t\t\t\telse {\n\t\t\t\t\tescapedCodeText = stripCodeTag(codeText);\n\t\t\t\t}\n\n\t\t\t\t// Search within <pre> tag for a xml:lang prop\n\t\t\t\tconst xmlLangPreTagObj = xmlLangRegex.exec(textObj[1]);\n\t\t\t\tif (xmlLangPreTagObj) {\n\t\t\t\t\tif (xmlLangPreTagObj[1]) {\n\t\t\t\t\t\tcodeBlockLanguage = xmlLangPreTagObj[1];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tescapedCodeText = escapedCodeText.replace(/\\\"/gm, '&quot;');\n\t\t\tresultText = `<dps-code-block language=\"${codeBlockLanguage}\" code=\"${escapedCodeText}\"></dps-code-block>`;\n\t\t\tentries = entries.replace(fullTag, resultText);\n\t\t\tcodeBlockRegex.lastIndex = -1;\n\t\t}\n\t}\n\treturn entries;\n};\n\n/**\n * can pass pathList, this will traverse the shadow DOM\n * to obtain the element\n * pathList can be passed as an array\n * pathList = [elem1,elem2,elem3]\n */\nexport const getShadowRootElement = pathList => {\n\tif (!pathList) return;\n\n\tlet returnElement;\n\n\tfor (let i = 0; i < pathList.length; i++) {\n\t\tif (i === 0) {\n\t\t\treturnElement = document.querySelector(pathList[i]);\n\t\t} else {\n\t\t\treturnElement =\n\t\t\t\treturnElement && returnElement.shadowRoot.querySelector(pathList[i]);\n\t\t}\n\t}\n\n\treturn returnElement;\n};\n\n//Process blockquote tags\nexport const processBlockQuoteTags = entries => {\n\t//Regex to match the blockquote tags (Openning, closing blockquote tags with single or multiple lines of text between them)\n\tconst regex = new RegExp(\n\t\t/<blockquote((?:.|\\n|\\r)*?)>((?:.|\\n|\\r)*?)<\\/blockquote>/gi\n\t);\n\tconst blockquoteMatch = entries.match(regex);\n\n\t//Check for blockquotes\n\tif (blockquoteMatch !== null) {\n\t\tlet textObj, fullTag, resultText, blockquoteText;\n\t\twhile ((textObj = regex.exec(entries)) !== null) {\n\t\t\tif (textObj && textObj[2]) {\n\t\t\t\tblockquoteText = textObj[2];\n\t\t\t\tfullTag = textObj[0];\n\n\t\t\t\tresultText = `<dps-callout><span slot=\"description\">${blockquoteText}</span></dps-callout>`;\n\t\t\t\tentries = entries.replace(fullTag, resultText);\n\t\t\t}\n\t\t}\n\t}\n\treturn entries;\n};\n\nexport const isPdiMismatchAlertDismissed = selectedRelease => {\n\tconst alertReleaseObj =\n\t\tDevPlatformStorage.loadFromSessionStorage(\n\t\t\tCONSTANTS.DEFAULTS.DEV_PDI_VERSION_MISMATCH_ALERT_KEY\n\t\t) || {};\n\n\treturn alertReleaseObj && alertReleaseObj.releaseDismissed == selectedRelease;\n};\n\nexport const shouldRemovePDIMismatchAlertFromSessionStorage = () => {\n\tconst isPDIAlertDismissed = DevPlatformStorage.loadFromSessionStorage(\n\t\tCONSTANTS.DEFAULTS.DEV_PDI_VERSION_MISMATCH_ALERT_KEY\n\t);\n\n\tif (isPDIAlertDismissed && isPDIAlertDismissed.dismissed) {\n\t\tDevPlatformStorage.removeFromSessionStorage(\n\t\t\tCONSTANTS.DEFAULTS.DEV_PDI_VERSION_MISMATCH_ALERT_KEY\n\t\t);\n\t}\n};\n\nexport const addDPSLink = (text, release, category) => {\n\tconst regex = /(\\$GUIDE_CARD)(.*)/gm;\n\tconst matchObj = text.match(regex);\n\tlet matchedHREF = '';\n\n\tmatchObj &&\n\t\tmatchObj.forEach(match => {\n\t\t\tif (match && match.indexOf('_END') > -1) {\n\t\t\t\ttext = text.replace(match, '</a>');\n\t\t\t} else {\n\t\t\t\tmatchedHREF = match.replace('$GUIDE_CARD', '');\n\t\t\t\ttext = text.replace(\n\t\t\t\t\tmatch,\n\t\t\t\t\t`<a style=\" all: inherit; cursor: pointer;\" href='#!/guides/${release}/${category}/${matchedHREF}'>`\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\treturn text;\n};\n\n/**\n * This function is used to open URL\n * in new tab\n */\nexport const openUrlInNewTab = url => {\n\twindow.open(url, '_blank');\n};\n\n/**\n * Filter Theme Variables\n *\n * Converts the theme variables from Object.Object to Arrray.Object and\n * also removes any entries that have null values for `customProperty`\n *\n * @param {Object} componentPackageTheme an object of objects representing the theme hooks\n * @return {Array} an array of objects representing theme hooks, without null values\n */\nexport const filterThemeVariables = componentPackageTheme => {\n\treturn Object.keys(componentPackageTheme)\n\t\t.map(key => {\n\t\t\treturn componentPackageTheme[key];\n\t\t})\n\t\t.filter(x => x.customProperty);\n};\n\n/**\n *\n * @param {String} displayConfigurations a JSON string to containing feedback display configurations.\n * @returns {Object}\n */\nexport const getFeedbackDisplayConfigurations = displayConfigurations =>\n\tdisplayConfigurations && JSON.parse(displayConfigurations);\n\n/**\n *\n * @param {Object} object\n * @param {String} value\n * @returns\n */\nexport const getKeyByValue = (object, value) => {\n\treturn Object.keys(object).find(\n\t\tkey => object[key].toLowerCase() === value.toLowerCase()\n\t);\n};\n\n/**\n *\n * @param {string} keyword\n * @returns {string} search keyword by encrypting special characters\n */\nexport const encryptSearchKeyword = keyword => {\n\tfor (let key in SEARCH_KEYWORD_ENCRYPTION) {\n\t\tkeyword = keyword.replace(key, SEARCH_KEYWORD_ENCRYPTION[key]);\n\t}\n\treturn keyword;\n};\n\n/**\n *\n * @param {string} keyword\n * @returns {string} search keyword by decrypting special characters\n */\nexport const decryptSearchKeyword = keyword => {\n\tfor (let key in SEARCH_KEYWORD_ENCRYPTION) {\n\t\tkeyword = keyword.replace(SEARCH_KEYWORD_ENCRYPTION[key], key);\n\t}\n\treturn keyword;\n};\n\n/**\n * Make Element Type Label Heading\n * Introduced for use in the component details header near the title.\n * @param {string} element_type\n * @returns {string} Friendly version of element type\n */\nexport const makeElementTypeLabelHeading = element_type => {\n\tswitch (element_type) {\n\t\tcase 'seismic':\n\t\tcase 'component':\n\t\tcase 'macroponent-component':\n\t\tcase 'facades':\n\t\t\treturn 'Next Experience Components';\n\t\tcase 'app-shells':\n\t\t\treturn 'App Shells';\n\t\tcase 'page':\n\t\t\treturn 'Page Templates';\n\t\tcase 'modal':\n\t\t\treturn 'Modals';\n\t\tdefault:\n\t\t\treturn '';\n\t}\n};\n\n/**\n * Make Element Type Label Distinct\n * Introduced for use in the \"Component Details\" block: `dps-component-details-block`\n * @param {string} element_type\n * @returns {string} Friendly version of element type\n */\nexport const makeElementTypeLabelDistinct = element_type => {\n\tswitch (element_type) {\n\t\tcase 'seismic':\n\t\t\treturn 'Seismic';\n\t\tcase 'component':\n\t\t\treturn 'Component';\n\t\tcase 'macroponent-component':\n\t\t\treturn 'Macroponent Component';\n\t\tcase 'facades':\n\t\t\treturn 'Facade';\n\t\tcase 'app-shells':\n\t\t\treturn 'App Shell';\n\t\tcase 'page':\n\t\t\treturn 'Page';\n\t\tcase 'modal':\n\t\t\treturn 'Modal';\n\t\tdefault:\n\t\t\treturn '';\n\t}\n};\n\n/**\n *\n * @param {Array} instanceMenuItems\n * @param {String} sysId\n * @returns\n */\nexport const getMenuItemForInstanceOperation = (instanceMenuItems, sysId) => {\n\tconst filteredMenuItem = instanceMenuItems.filter(\n\t\titem => item.sys_id === sysId\n\t);\n\treturn filteredMenuItem && filteredMenuItem[0];\n};\n\n/**\n *\n * @param {Object} releaseInfo\n * @param {Object} instanceInfo\n * @param {Object} systemProperties\n * @param {Object} instanceMenuItems\n * @returns\n */\n\nexport const getAESAlertMessageText = (\n\treleaseInfo,\n\tsystemProperties,\n\tinstanceMenuItems,\n\tdispatch\n) => {\n\tconst releaseInstanceSysId = systemProperties['dev.cat_item.releaseInstance'];\n\tconst menuItem = getMenuItemForInstanceOperation(\n\t\tinstanceMenuItems,\n\t\treleaseInstanceSysId\n\t);\n\tconst version =\n\t\t(releaseInfo && releaseInfo.userVersionSelected) ||\n\t\treleaseInfo.defaultVersionSelected;\n\tconst aesAlertString = systemProperties['dev.pdi.aes.alert_message'];\n\n\tconst aesAlertMessagesLookup = {\n\t\tRELEASE_INSTANCE: (\n\t\t\t<span>\n\t\t\t\tApp Engine Studio cannot be installed to this instance. To use App\n\t\t\t\tEngine Studio,{' '}\n\t\t\t\t<dps-button\n\t\t\t\t\tlink-style\n\t\t\t\t\twarning-light\n\t\t\t\t\tlabel=\"release this instance\"\n\t\t\t\t\ton-click={e =>\n\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\tDPS_NAVIGATION_INSTANCE_MANAGEMENT.INSTANCE_ACTION_CLICKED,\n\t\t\t\t\t\t\t{ e, menuItem, called_from: 'expanded header nav' }\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t></dps-button>{' '}\n\t\t\t\tand request another instance.\n\t\t\t</span>\n\t\t),\n\t\tINSTALL_MANUALLY: (\n\t\t\t<span>\n\t\t\t\tApp Engine Studio is not installed on this instance. You can install App\n\t\t\t\tEngine Studio by{' '}\n\t\t\t\t<dps-link\n\t\t\t\t\twarning-light\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\thref={createPath(\n\t\t\t\t\t\t`/guides/${version}/developer-program/pdi-guide/managing-your-pdi#activating-a-plugin-from-your-pdi-`\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{' '}\n\t\t\t\t\tactivating the plugin on your instance{' '}\n\t\t\t\t</dps-link>\n\t\t\t</span>\n\t\t)\n\t};\n\n\treturn aesAlertMessagesLookup[aesAlertString];\n};\n","/* eslint-disable curly */\n/* eslint-disable object-shorthand */\nimport { isUndefined } from 'lodash';\nimport autoBind from 'auto-bind';\nimport { typeOf } from './helpers';\nimport { CONSTANTS } from '../constants';\n\nclass InactivityServiceImpl {\n\tconstructor(options = {}) {\n\t\tautoBind(this);\n\t\tthis.countdownStartedAt = null;\n\t\tthis.setOptions(options);\n\t}\n\n\t/**\n\t * \tCheck for delta between when this countdown started versus the latest in localStorage. \n\t *  If it's different, reset the counter to the correct\n\t */\n\tcheckForCountdownDelta(thisStartedAt, cachedStartedAt) {\n\t\tconst initialStart = cachedStartedAt\n\t\t\t? cachedStartedAt - thisStartedAt\n\t\t\t: -1;\n\t\tif (initialStart > 0) {\n\t\t\tthis.countdown += Math.ceil(initialStart / 1000);\n\t\t\tthis.countdownStartedAt = cachedStartedAt;\n\t\t}\n\t}\n\n\t/**\n\t * Returns the ms timestamp for when countdown started at from localstorage\n\t * @returns {number|null}\n\t */\n\tgetCachedCountdownStartedAt() {\n\t\tconst cachedCountdownStartedAt = this.loadFromStore(\n\t\t\tCONSTANTS.DEFAULTS.COUNTDOWN_LOCALSTORAGE_KEY\n\t\t);\n\t\treturn (\n\t\t\t(cachedCountdownStartedAt && parseInt(cachedCountdownStartedAt, 10)) ||\n\t\t\tnull\n\t\t);\n\t}\n\n\t/**\n\t * Check if user has moved the mouse\n\t * @param {MouseEvent} event\n\t */\n\thasMoved(event) {\n\t\tif (\n\t\t\tthis.isMouseEvent(event) &&\n\t\t\t(event.movementX ||\n\t\t\t\tevent.movementY ||\n\t\t\t\tthis.lastClientX !== event.clientX ||\n\t\t\t\tthis.lastClientY !== event.clientY)\n\t\t) {\n\t\t\tthis.lastClientX = event.clientX;\n\t\t\tthis.lastClientY = event.clientY;\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Check if used has pressed a key\n\t * @param {KeyboardEvent} event\n\t */\n\thasPressed(event) {\n\t\treturn this.isKeyboardEvent(event);\n\t}\n\n\t/**\n\t * Check if user has scrolled\n\t * @param {WheelEvent} event\n\t */\n\thasScrolled(event) {\n\t\treturn this.isScrollEvent(event);\n\t}\n\n\tisKeyboardEvent(event) {\n\t\treturn typeOf(event) === 'keyboardevent';\n\t}\n\n\tisMouseEvent(event) {\n\t\treturn typeOf(event) === 'mouseevent';\n\t}\n\n\tisScrollEvent(event) {\n\t\treturn typeOf(event) === 'wheelevent';\n\t}\n\n\t/**\n\t * Sets the timestamp for when countdown started and saves to localstorage\n\t *\n\t */\n\tsetCountdownStartedAt() {\n\t\tthis.countdownStartedAt = Date.now();\n\t\tthis.saveToStore(\n\t\t\tCONSTANTS.DEFAULTS.COUNTDOWN_LOCALSTORAGE_KEY,\n\t\t\tthis.countdownStartedAt\n\t\t);\n\t}\n\n\t/**\n\t * Set options\n\t * @param {Object} param\n\t * @param {number} param.initialCountdown // in seconds\n\t * @param {Object} param.sessionService\n\t */\n\tsetOptions({\n\t\tinitialCountdown = CONSTANTS.DEFAULTS.INITIAL_COUNTDOWN,\n\t\tloadFromStore = () => {},\n\t\tsaveToStore = () => {},\n\t\tsessionService = noOpSessionService\n\t}) {\n\t\tconst timeoutInSeconds = parseInt(initialCountdown, 10);\n\t\tthis.initialCountdown = timeoutInSeconds;\n\t\tthis.lastClientX = null;\n\t\tthis.lastClientY = null;\n\t\tthis.loadFromStore = loadFromStore;\n\t\tthis.pollingInterval = 1 * CONSTANTS.DEFAULTS.SECONDS_IN_MS; // countdown every second\n\t\tthis.saveToStore = saveToStore;\n\t\tthis.sessionService = sessionService;\n\t}\n\n\t/**\n\t * Start the countdown and set the interval based on polling interval\n\t */\n\tstartCountdown() {\n\t\tthis.stopCountdown();\n\t\tthis.sessionService.extendSession();\n\t\tthis.setCountdownStartedAt();\n\n\t\tthis.interval = setInterval(() => {\n\t\t\t// First check for countdown delta \n\t\t\tthis.checkForCountdownDelta(this.countdownStartedAt, this.getCachedCountdownStartedAt());\n\n\t\t\t// Stop countdown if user has already logged out and trigger modal\n\t\t\tif (this.sessionService.hasUserExplicitlyLoggedOut()) {\n\t\t\t\tthis.stopCountdown();\n\t\t\t\tthis.sessionService.staleSessionLogout();\n\t\t\t}\n\t\t\t// Stop countdown if user was already timed out in another tab/session\n\t\t\t// or if the countdown has reached 0 and trigger session timed out\n\t\t\tif (this.sessionService.hasUserTimedOut() || this.countdown <= 0) {\n\t\t\t\tthis.stopCountdown();\n\t\t\t\tthis.sessionService.sessionTimedOut();\n\t\t\t}\n\t\t\tthis.countdown -= 1;\n\t\t}, this.pollingInterval);\n\t}\n\n\t/**\n\t * Stop countdown\n\t */\n\tstopCountdown() {\n\t\tif (this.interval) {\n\t\t\tclearInterval(this.interval);\n\t\t}\n\t\tthis.countdown = this.initialCountdown;\n\t}\n}\n\nconst noOpSessionService = {\n\textendSession: () => {},\n\tsessionTimedOut: () => {},\n\tisSessionValid: () => true,\n\thasUserExplicitlyLoggedOut: () => false,\n\thasUserTimedOut: () => false,\n\tstaleSessionLogout: () => {}\n};\n\n// instance var to ensure singleton\nlet _inactivityService;\n\n/**\n * Session Service Singleton\n */\nexport const InactivityService = (function() {\n\tif (isUndefined(_inactivityService)) {\n\t\t_inactivityService = new InactivityServiceImpl();\n\t}\n\treturn _inactivityService;\n})();\n","/* eslint-disable curly */\n/* eslint-disable object-shorthand */\nimport { actionTypes } from '@servicenow/ui-core';\nimport { debounce } from 'lodash';\nimport { CONSTANTS } from '../constants';\nimport { InactivityService } from '../utils/inactivityService';\nimport { SessionService } from '../utils/sessionService';\n\nconst { COMPONENT_DOM_READY, COMPONENT_DISCONNECTED } = actionTypes;\nconst BEHAVIOR_NAME = 'inactivityMonitorBehavior';\n\nexport const INACTIVITY_MONITOR_ACTIONS = {\n\tACTIVITY_DETECTED: 'INACTIVITY_MONITOR_ACTIONS#ACTIVITY_DETECTED'\n};\n\nconst dispatchTouchedEvent = dispatch => {\n\tdispatch(INACTIVITY_MONITOR_ACTIONS.ACTIVITY_DETECTED);\n};\n\nconst debouncedTouchedEvent = debounce(\n\tdispatchTouchedEvent,\n\tCONSTANTS.DEFAULTS.DELAY_TOUCHED_MS\n);\n\nconst onMouseOrKeyboardActivity = ({ dispatch, event }) => {\n\t// Extend the countdown only if the session is still valid\n\t// and the user hasn't explicitly logged out\n\t// and the user has moved or pressed something\n\tconst hasAnyMovementOrActivity =\n\t\tInactivityService.hasMoved(event) ||\n\t\tInactivityService.hasPressed(event) ||\n\t\tInactivityService.hasScrolled(event);\n\t// Session is still there\n\tconst sessionIsAlive =\n\t\tSessionService.isSessionValid() &&\n\t\t!SessionService.hasUserExplicitlyLoggedOut();\n\n\tif (hasAnyMovementOrActivity) {\n\t\tdebouncedTouchedEvent(dispatch);\n\t}\n\n\tif (sessionIsAlive && hasAnyMovementOrActivity) {\n\t\tInactivityService.startCountdown();\n\t}\n};\n\nexport default {\n\tname: BEHAVIOR_NAME,\n\tactionHandlers: {\n\t\t// MIGRATION: COMPONENT_DOM_READY\n\t\t[COMPONENT_DOM_READY]: coeffects => {\n\t\t\tconst { action, dispatch } = coeffects;\n\t\t\tconst { options } = action.payload;\n\t\t\tconst [htmlEl] = document.getElementsByTagName('html');\n\t\t\tconst { watchEvents } = options;\n\n\t\t\t// Start monitoring\n\t\t\tif (htmlEl) {\n\t\t\t\twatchEvents.forEach(eventItem => {\n\t\t\t\t\thtmlEl.addEventListener(eventItem, event =>\n\t\t\t\t\t\tonMouseOrKeyboardActivity({ dispatch, event })\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: coeffects => {\n\t\t\tconst { action } = coeffects;\n\t\t\tconst { options } = action.payload;\n\t\t\tconst [htmlEl] = document.getElementsByTagName('html');\n\t\t\tconst { watchEvents } = options;\n\t\t\tInactivityService.stopCountdown();\n\t\t\tif (htmlEl) {\n\t\t\t\twatchEvents.forEach(eventItem => {\n\t\t\t\t\thtmlEl.removeEventListener(eventItem, onMouseOrKeyboardActivity);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n};\n","/* eslint-disable curly */\n/* eslint-disable object-shorthand */\nimport { actionTypes } from '@servicenow/ui-core';\n\nconst { COMPONENT_DOM_READY, COMPONENT_DISCONNECTED } = actionTypes;\nconst BEHAVIOR_NAME = 'windowMessage';\n\nexport default {\n\tname: BEHAVIOR_NAME,\n\tactionHandlers: {\n\t\t// MIGRATION: COMPONENT_DOM_READY\n\t\t[COMPONENT_DOM_READY]: coeffects => {\n\t\t\tconst {\n\t\t\t\taction: { payload },\n\t\t\t\tdispatch\n\t\t\t} = coeffects;\n\t\t\tconst { options } = payload;\n\t\t\toptions.handlers.forEach(handler => {\n\t\t\t\twindow.addEventListener('message', event => handler(event, dispatch));\n\t\t\t});\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: coeffects => {\n\t\t\tconst {\n\t\t\t\taction: { payload }\n\t\t\t} = coeffects;\n\t\t\tconst { options } = payload;\n\t\t\toptions.handlers.forEach(handler => {\n\t\t\t\twindow.removeEventListener('message', handler);\n\t\t\t});\n\t\t}\n\t}\n};\n","export const APP_ACTIONS = {\n\tAPI_DOC_BOOTSTRAPPED: 'APP#API_DOC_BOOTSTRAPPED',\n\tAUTO_REFRESH_GET_INSTANCE_INFO: 'AUTO_REFRESH_INSTANCE#GET_INSTANCE_INFO',\n\tCHECK_OPERATION_COMPLETED: 'APP#CHECK_OPERATION_COMPLETED',\n\tCHECK_SSO: 'APP#CHECK_SSO',\n\tCHECK_URL_REDIRECTION: 'APP#CHECK_URL_REDIRECTION',\n\tCLEAR_CACHE_TRIGGERED: 'APP#CLEAR_CACHE_TRIGGERED',\n\tCLEAR_OP_RESULT: 'APP#CLEAR_OP_RESULT',\n\tCLOSE_CONTENT_FORM: 'DPS_CONTENT_FEEDBACK_FORM#FORM_RESET',\n\tCLOSE_GENERAL_FORM: 'DPS_GENERAL_FEEDBACK_FORM#FORM_RESET',\n\tCLOSE_NAV_HEADER: 'APP#CLOSE_NAV_HEADER',\n\tCLOSE_USER_PROFILE_MODAL: 'APP#CLOSE_USER_PROFILE_MODAL',\n\tDPS_TOAST_ALERT: 'DPS_TOAST_ALERT',\n\tEXECUTE_CAT_ITEM: 'APP#EXECUTE_CAT_ITEM',\n\tEXECUTE_CAT_ITEM_FAILED: 'APP#EXECUTE_CAT_ITEM_FAILED',\n\tEXECUTE_CAT_ITEM_FETCHED: 'APP#EXECUTE_CAT_ITEM_FETCHED',\n\tEXECUTE_CAT_ITEM_FINISHED: 'APP#EXECUTE_CAT_ITEM_FINISHED',\n\tEXECUTE_CAT_ITEM_STARTED: 'APP#EXECUTE_CAT_ITEM_STARTED',\n\tEXECUTE_CAT_ITEM_SUCCEEDED: 'APP#EXECUTE_CAT_ITEM_SUCCEEDED',\n\tEXPIRED_SESSION_MODAL_TRIGGERED: 'APP#EXPIRED_SESSION_MODAL_TRIGGERED',\n\tEXTEND_GLIDE_SESSION: 'APP#EXTEND_GLIDE_SESSION',\n\tGET_ACTION_MENU: 'APP#GET_ACTION_MENU',\n\tGET_ACTION_MENU_FAILED: 'APP#GET_ACTION_MENU_FAILED',\n\tGET_ACTION_MENU_SUCCEEDED: 'APP#GET_ACTION_MENU_SUCCEEDED',\n\tGET_ALL_INSTANCE_BACKUPS: 'APP#GET_ALL_INSTANCE_BACKUPS',\n\tGET_ALL_INSTANCE_BACKUPS_FAILED: 'APP#GET_ALL_INSTANCE_BACKUPS_FAILED',\n\tGET_ALL_INSTANCE_BACKUPS_SUCCEEDED: 'APP#GET_ALL_INSTANCE_BACKUPS_SUCCEEDED',\n\tGET_ASSIGN_REQ_STATUS: 'APP#GET_ASSIGN_REQ_STATUS',\n\tGET_ASSIGN_REQ_STATUS_FAILED: 'APP#GET_ASSIGN_REQ_STATUS_FAILED',\n\tGET_ASSIGN_REQ_STATUS_SUCCEEDED: 'APP#GET_ASSIGN_REQ_STATUS_SUCCEEDED',\n\tGET_AVAIL_PLUGINS: 'APP#GET_AVAIL_PLUGINS',\n\tGET_AVAIL_PLUGINS_FAILED: 'APP#GET_AVAIL_PLUGINS_FAILED',\n\tGET_AVAIL_PLUGINS_SUCCEEDED: 'APP#GET_AVAIL_PLUGINS_SUCCEEDED',\n\tGET_BOOKMARKED_COMPONENTS: 'APP#GET_BOOKMARKED_COMPONENTS',\n\tGET_BOOKMARKED_COMPONENTS_FAILED: 'APP#GET_BOOKMARKED_COMPONENTS_FAILED',\n\tGET_BOOKMARKED_COMPONENTS_SUCCEEDED:\n\t\t'APP#GET_BOOKMARKED_COMPONENTS_SUCCEEDED',\n\tGET_COMPONENT_AVAILABLE_CATEGORIES: 'APP#GET_COMPONENT_AVAILABLE_CATEGORIES',\n\tGET_COMPONENT_AVAILABLE_CATEGORIES_FAILED:\n\t\t'APP#GET_COMPONENT_AVAILABLE_CATEGORIES_FAILED',\n\tGET_COMPONENT_AVAILABLE_CATEGORIES_SUCCEEDED:\n\t\t'APP#GET_COMPONENT_AVAILABLE_CATEGORIES_SUCCEEDED',\n\tGET_COMPONENT_GALLERY: 'APP#GET_COMPONENT_GALLERY',\n\tGET_COMPONENT_GALLERY_FAILED: 'APP#GET_COMPONENT_GALLERY_FAILED',\n\tGET_COMPONENT_GALLERY_SUCCEEDED: 'APP#GET_COMPONENT_GALLERY_SUCCEEDED',\n\tGET_COMPONENT_SEARCH: 'APP#GET_COMPONENT_SEARCH',\n\tGET_COMPONENT_SEARCH_FAILED: 'APP#GET_COMPONENT_SEARCH_FAILED',\n\tGET_COMPONENT_SEARCH_SUCCEEDED: 'APP#GET_COMPONENT_SEARCH_SUCCEEDED',\n\tGET_COMMON_DATA: 'APP#GET_COMMON_DATA',\n\tGET_COMMON_DATA_FAILED: 'APP#GET_COMMON_DATA_FAILED',\n\tGET_COMMON_DATA_SUCCEEDED: 'APP#GET_COMMON_DATA_SUCCEEDED',\n\tGET_CONTENT_FEEDBACK_FORM_DATA: 'APP#GET_CONTENT_FEEDBACK_FORM_DATA',\n\tGET_FEEDBACK_FORM_DATA_SUCCEEDED: 'APP#GET_FEEDBACK_FORM_DATA_SUCCEEDED',\n\tGET_GENERAL_FEEDBACK_FORM_DATA: 'APP#GET_GENERAL_FEEDBACK_FORM_DATA',\n\tGET_INSTANCE_ASSIGNMENT_REQUEST_STATUS:\n\t\t'APP#GET_INSTANCE_ASSIGNMENT_REQUEST_STATUS',\n\tGET_INSTANCE_DETAILS: 'APP#GET_INSTANCE_DETAILS',\n\tGET_INSTANCE_DETAILS_FAILED: 'APP#GET_INSTANCE_DETAILS_FAILED',\n\tGET_INSTANCE_DETAILS_SUCCEEDED: 'APP#GET_INSTANCE_DETAILS_SUCCEEDED',\n\tGET_INSTANCE_INFO: 'APP#GET_INSTANCE_INFO',\n\tGET_INSTANCE_INFO_FAILED: 'APP#GET_INSTANCE_INFO_FAILED',\n\tGET_INSTANCE_INFO_POST_RELEASE_INSTANCE:\n\t\t'APP#GET_INSTANCE_INFO_POST_RELEASE_INSTANCE',\n\tGET_INSTANCE_INFO_SUCCEEDED: 'APP#GET_INSTANCE_INFO_SUCCEEDED',\n\tGET_INSTANCE_OPERATION_HISTORY: 'APP#GET_INSTANCE_OPERATION_HISTORY',\n\tGET_INSTANCE_COMPLETE_OPERATION_HISTORY: 'APP#GET_INSTANCE_COMPLETE_OPERATION_HISTORY',\n\tGET_INSTANCE_OPERATION_HISTORY_FAILED:\n\t\t'APP#GET_INSTANCE_OPERATION_HISTORY_FAILED',\n\tGET_INSTANCE_OPERATION_HISTORY_SUCCEEDED:\n\t\t'APP#GET_INSTANCE_OPERATION_HISTORY_SUCCEEDED',\n\tGET_INSTANCE_REQUEST_STATUS_FAILED: 'APP#GET_INSTANCE_REQUEST_STATUS_FAILED',\n\tGET_INSTANCE_REQUEST_STATUS_SUCCEEDED:\n\t\t'APP#GET_INSTANCE_REQUEST_STATUS_SUCCEEDED',\n\tGET_LEAD_TRACKING_DATA: 'APP#GET_LEAD_TRACKING_DATA',\n\tGET_LEAD_TRACKING_DATA_FAILED: 'APP#GET_LEAD_TRACKING_DATA_FAILED',\n\tGET_LEAD_TRACKING_DATA_SUCCEEDED: 'APP#GET_LEAD_TRACKING_DATA_SUCCEEDED',\n\tGET_LEGAL_AGREEMENT_DATA: 'APP#GET_LEGAL_AGREEMENT_DATA',\n\tGET_LEGAL_AGREEMENT_DATA_FAILED: 'APP#GET_LEGAL_AGREEMENT_DATA_FAILED',\n\tGET_LEGAL_AGREEMENT_DATA_SUCCEEDED: 'APP#GET_LEGAL_AGREEMENT_DATA_SUCCEEDED',\n\tGET_LP_COMPONENT_DATA: 'APP#GET_LP_COMPONENT_DATA',\n\tGET_LP_LEARNING_PLANS: 'APP#GET_LP_LEARNING_PLANS',\n\tGET_LP_MODULE_DATA: 'APP#GET_LP_MODULE_DATA',\n\tGET_OP_REQ_STATUS: 'APP#GET_OP_REQ_STATUS',\n\tGET_OP_REQ_STATUS_FAILED: 'APP#GET_OP_REQ_STATUS_FAILED',\n\tGET_OP_REQ_STATUS_FETCHED: 'APP#GET_OP_REQ_STATUS_FETCHED',\n\tGET_OP_REQ_STATUS_FINISHED: 'APP#GET_OP_REQ_STATUS_FINISHED',\n\tGET_OP_REQ_STATUS_SUCCEEDED: 'APP#GET_OP_REQ_STATUS_SUCCEEDED',\n\tGET_RELEASE_VERSIONS: 'APP#GET_RELEASE_VERSIONS',\n\tGET_RELEASE_VERSIONS_FAILED: 'APP#GET_RELEASE_VERSIONS_FAILED',\n\tGET_RELEASE_VERSIONS_SUCCEEDED: 'APP#GET_RELEASE_VERSIONS_SUCCEEDED',\n\tGET_SYSTEM_PROPERTIES: 'GET_SYSTEM_PROPERTIES',\n\tGET_SYSTEM_PROPERTIES_FAILED: 'GET_SYSTEM_PROPERTIES_FAILED',\n\tGET_SYSTEM_PROPERTIES_SUCCEEDED: 'GET_SYSTEM_PROPERTIES_SUCCEEDED',\n\tGET_USER_SESSION: 'APP#GET_USER_SESSION',\n\tGET_USER_SESSION_FAILED: 'APP#GET_USER_SESSION_FAILED',\n\tGET_USER_SESSION_SUCCEEDED: 'APP#GET_USER_SESSION_SUCCEEDED',\n\tGET_URL_REDIRECTIONS: 'APP#GET_URL_REDIRECTIONS',\n\tGET_URL_REDIRECTIONS_FAILED: 'APP#GET_URL_REDIRECTIONS_FAILED',\n\tGET_URL_REDIRECTIONS_SUCCEEDED: 'APP#GET_URL_REDIRECTIONS_SUCCEEDED',\n\tGIVE_CONTENT_FEEDBACK: 'DPS_FEEDBACK#CLICKED',\n\tGIVE_GENERAL_FEEDBACK: 'DPS_BUTTON#GIVE_GENERAL_FEEDBACK',\n\tIS_INSTANCE_WAKEUP_COMPLETE:\n\t\t'DPS_NAVIGATION_INSTANCE_MANAGEMENT#CHECK_IF_INSTANCE_IS_AWAKED',\n\tINSTANCE_STATE_PROGRESS_UPDATE: 'APP#INSTANCE_STATE_PROGRESS_UPDATE',\n\tUSER_PROFILE_QUESTIONS_FORM_COMPLETED:\n\t\t'APP#USER_PROFILE_QUESTIONS_FORM_COMPLETED',\n\tLOGIN_CLICKED: 'APP#LOGIN_CLICKED',\n\tLOGOUT: 'APP#LOGOUT',\n\tLOGOUT_FAILED: 'APP#LOGOUT_FAILED',\n\tLOGOUT_SUCCEEDED: 'APP#LOGOUT_SUCCEEDED',\n\tLOGOUT_TRIGGERED: 'APP#LOGOUT_TRIGGERED',\n\tNAV_CONFIG_FETCH_REQ: 'APP#NAV_CONFIG_FETCH_REQ',\n\tNAV_CONFIG_FETCH_UNIVERSAL_REQ: 'APP#NAV_CONFIG_FETCH_UNIVERSAL_REQ',\n\tNAV_CONFIG_FETCH_UNIVERSAL_SUCCEEDED: 'APP#NAV_CONFIG_FETCH_UNIVERSAL_SUCCEEDED',\n\tNAV_CONFIG_FETCH_SUCCEEDED: 'APP#NAV_CONFIG_FETCH_SUCCEEDED',\n\tNAV_CONFIG_GUEST_FETCH_REQ: 'APP#NAV_CONFIG_GUEST_FETCH_REQ',\n\tOPEN_NAV_HEADER: 'APP#OPEN_NAV_HEADER',\n\tOPEN_USER_PROFILE_MODAL: 'APP#OPEN_USER_PROFILE_MODAL',\n\tOVERRIDE_INSTANCE_STATUS: 'APP#OVERRIDE_INSTANCE_STATUS',\n\tPLAYGROUND_WHATS_NEW_UPDATE: 'APP#PLAYGROUND_WHATS_NEW_UPDATE',\n\tPLAYGROUND_WHATS_NEW_UPDATE_ERRORED:\n\t\t'APP#PLAYGROUND_WHATS_NEW_UPDATE_ERRORED',\n\tPLAYGROUND_WHATS_NEW_UPDATE_POST: 'APP#PLAYGROUND_WHATS_NEW_UPDATE_POST',\n\tPLAYGROUND_WHATS_NEW_UPDATE_SUCCEEDED:\n\t\t'APP#PLAYGROUND_WHATS_NEW_UPDATE_SUCCEEDED',\n\tPRISITNE_USER_REQUEST_INSTANCE_CLICKED:\n\t\t'PRISITNE_USER#REQUEST_INSTANCE_CLICKED',\n\tAUTO_ASSIGN_INSTANCE_REQUEST: 'APP#AUTO_ASSIGN_INSTANCE_REQUEST',\n\tQUICK_RESET_WIPE: 'APP#QUICK_RESET_WIPE',\n\tQUICK_RESET_WIPE_WAKE_UP_INSTANCE: 'APP#QUICK_RESET_WIPE_WAKE_UP_INSTANCE',\n\tRECORD_ERR_MESSAGE: 'APP#RECORD_ERR_MESSAGE',\n\tREFRESH_INSTANCE: 'APP#REFRESH_INSTANCE',\n\tREFRESH_INSTANCE_BACKUP: 'APP#REFRESH_INSTANCE_BACKUP',\n\tREFRESH_INSTANCE_BACKUP_FAILED: 'APP#REFRESH_INSTANCE_BACKUP_FAILED',\n\tREFRESH_INSTANCE_BACKUP_SUCCEEDED: 'APP#REFRESH_INSTANCE_BACKUP_SUCCEEDED',\n\tREFRESH_INSTANCE_FAILED: 'APP#REFRESH_INSTANCE_FAILED',\n\tREFRESH_INSTANCE_SUCCEEDED: 'APP#REFRESH_INSTANCE_SUCCEEDED',\n\tRELEASE_CURRENT_INSTANCE: 'APP#RELEASE_CURRENT_INSTANCE',\n\tRELEASE_CURRENT_INSTANCE_FAILED: 'APP#RELEASE_CURRENT_INSTANCE_FAILED',\n\tRELEASE_CURRENT_INSTANCE_STARTED: 'APP#RELEASE_CURRENT_INSTANCE_STARTED',\n\tRELEASE_CURRENT_INSTANCE_SUCCEEDED: 'APP#RELEASE_CURRENT_INSTANCE_SUCCEEDED',\n\tRELEASE_VERSION_SELECTED: 'APP#RELEASE_VERSION_SELECTED',\n\tRELEASE_VERSION_TOGGLE: 'APP#RELEASE_VERSION_TOGGLED',\n\tROUTE_CHANGED: 'ROUTER_BEHAVIOR#ROUTE_CHANGED',\n\tSEND_INSTANCE_RESET_PASSWORD_EMAIL: 'APP#SEND_INSTANCE_RESET_PASSWORD_EMAIL',\n\tSHOW_PROVISIONING_INSTANCE: 'APP#SHOW_PROVISIONING_INSTANCE',\n\tRESET_EMAIL_ALERTS: 'APP#RESET_EMAIL_ALERTS',\n\tSESSION_STORAGE_UPDATED: 'APP#SESSION_STORAGE_UPDATED',\n\tSET_USER_SESSION_RELEASE: 'APP#SET_USER_SESSION_RELEASE',\n\tSSO_IFRAME_LOADED: 'APP#SSO_IFRAME_LOADED',\n\tTOGGLE_COMPONENT_BOOKMARK: 'APP#TOGGLE_COMPONENT_BOOKMARK',\n\tTOGGLE_COMPONENT_BOOKMARK_FAILED: 'APP#TOGGLE_COMPONENT_BOOKMARK_FAILED',\n\tTOGGLE_COMPONENT_BOOKMARK_SUCCEEDED:\n\t\t'APP#TOGGLE_COMPONENT_BOOKMARK_SUCCEEDED',\n\tTRACKED_EVENT_FOR_ANALYTICS: 'APP#TRACKED_EVENT_FOR_ANALYTICS',\n\tUPDATE_INSTANCE_ACTION_MENU: 'APP#UPDATE_INSTANCE_ACTION_MENU',\n\tUPDATE_INSTANCE_STATE: 'APP#UPDATE_INSTANCE_STATE',\n\tUPDATE_MAGIC_LINK: 'APP#UPDATE_MAGIC_LINK',\n\tUPDATE_MAGIC_LINK_FAILED: 'APP#UPDATE_MAGIC_LINK_FAILED',\n\tUPDATE_MAGIC_LINK_SUCCEEDED: 'APP#UPDATE_MAGIC_LINK_SUCCEEDED',\n\tUSER_IN_WAITLIST_FAILED: 'APP#USER_IN_WAITLIST_FAILED',\n\tUSER_IN_WAITLIST_REQUEST: 'APP#USER_IN_WAITLIST_REQUEST',\n\tUSER_IN_WAITLIST_SUCCEEDED: 'APP#USER_IN_WAITLIST_SUCCEEDED',\n\tUSER_RESET_AND_LOGOUT: 'APP#USER_RESET_AND_LOGOUT',\n\tUSER_SESSION_CLEARED: 'APP#USER_SESSION_CLEARED',\n\tUSER_SESSION_EXPIRED: 'APP#USER_SESSION_EXPIRED',\n\tUSER_SESSION_INFO_INITIALIZED: 'APP#USER_SESSION_INFO_INITIALIZED',\n\tUSER_SESSION_TIMED_OUT: 'APP#USER_SESSION_TIMED_OUT',\n\tUSER_SESSION_TIMEOUT_FETCHED: 'APP#USER_SESSION_TIMEOUT_FETCHED',\n\tUSER_SESSION_TIMEOUT_INITIALIZED: 'APP#USER_SESSION_TIMEOUT_INITIALIZED',\n\tVALIDATE_INSTANCE_BACKUP: 'APP#VALIDATE_INSTANCE_BACKUP',\n\tWAKE_UP_INSTANCE: 'DPS_NAVIGATION_INSTANCE_MANAGEMENT#WAKE_UP_INSTANCE',\n\tWHATS_NEW_UPDATE: 'APP#WHATS_NEW_UPDATE',\n\tWHATS_NEW_UPDATE_ERRORED: 'APP#WHATS_NEW_UPDATE_ERRORED',\n\tWHATS_NEW_UPDATE_POST: 'APP#WHATS_NEW_UPDATE_POST',\n\tWHATS_NEW_UPDATE_SUCCEEDED: 'APP#WHATS_NEW_UPDATE_SUCCEEDED',\n\tWAKE_UP_INSTANCE_TRIGGER:'APP#WAKE_UP_INSTANCE_TRIGGER',\n\tUSER_PROFILE_MODAL_SEND_USER_PROFILE_QUESTIONS:\n\t\t'APP#USER_PROFILE_MODAL_SEND_USER_PROFILE_QUESTIONS',\n\tUSER_PROFILE_MODAL_SEND_USER_PROFILE_QUESTIONS_SUCCEEDED:\n\t\t'APP#USER_PROFILE_MODAL_SEND_USER_PROFILE_QUESTIONS_SUCCEEDED',\n\tUSER_PROFILE_MODAL_SEND_USER_PROFILE_QUESTIONS_FAILED:\n\t\t'APP#USER_PROFILE_MODAL_SEND_USER_PROFILE_QUESTIONS_FAILED',\n\tQUESTION_SUBMISSION_IN_PROGRESS:\n\t\t'APP_ACTIONS#QUESTION_SUBMISSION_IN_PROGRESS',\n\tUPDATE_LAST_REQUESTED_RELEASE: 'UPDATE_LAST_REQUESTED_RELEASE',\n\tUPDATE_SEARCH_ROUTE: 'APP_ACTIONS#UPDATE_SEARCH_ROUTE',\n\tALERT_OPEN_FEEDBACK: 'APP_ACTIONS#ALERT_OPEN_FEEDBACK',\n\tALERT_OPEN_INSTANCE_ASSIGNMENT_MODAL:\n\t\t'APP_ACTIONS#ALERT_OPEN_INSTANCE_ASSIGNMENT_MODAL',\n\tUNPLANNED_MAINTENANCE_NOTIFICATION:\n\t\t'APP_ACTIONS#UNPLANNED_MAINTENANCE_NOTIFICATION',\n\tUNPLANNED_MAINTENANCE_NOTIFICATION_SUCCEEDED:\n\t\t'APP_ACTIONS#UNPLANNED_MAINTENANCE_NOTIFICATION_SUCCEEDED',\n\tUNPLANNED_MAINTENANCE_NOTIFICATION_ERRORED:\n\t\t'APP_ACTIONS#UNPLANNED_MAINTENANCE_NOTIFICATION_ERRORED',\n\tGET_DC_IDENTIFIER_ROUTE_REDIRECTION:\n\t\t'APP#GET_DC_IDENTIFIER_ROUTE_REDIRECTION',\n\tUPDATE_SUGGESTION_PAYLOAD: 'APP#UPDATE_SUGGESTION_PAYLOAD',\n\tCANCEL_REQUEST: 'DPS_HOME_AUTH_QUEBEC#CANCEL_REQUEST',\n\tCANCEL_REQUEST_RESULT: 'DPS_HOME_AUTH_QUEBEC#CANCEL_REQUEST_RESULT',\n\tSET_INSTSANCE_REQUEST_ALERT_ID: 'APP_ACTIONS#SET_INSTSANCE_REQUEST_ALERT_ID',\n\tONEXNAV: {\n\t\tSEARCH_ICON_CLICKED: \"SN_CX_NAVIGATION#SEARCH_ICON_CLICKED\",\n\t\tSEARCH_INPUT_CHANGED:'AI_SEARCH#SEARCH_INPUT_CHANGED',\n\t\tHEADER_LOGO_CLICKED: \"SN_CX_NAVIGATION#HEADER_LOGO_CLICKED\",\n\t\tNAV_ITEM_SELECTED: \"NAV_ITEM_SELECTED\",\n\t\tUTILITY_MENU_ITEM_CLICKED: 'SN_CX_NAVIGATION#UTILITY_MENU_ITEM_CLICKED',\n\t\tSECONDARY_CTA_BUTTON_CLICKED: \"SN_CX_NAVIGATION#CTA_BUTTON_CLICKED\",\n\t\tREQUEST_INSTANCE: \"REQUEST_INSTANCE\",\n\t\tLEAVE_WAITLIST: \"DPS_INSTANCE_ASSIGNMENT#MENU_ITEM_CLICKED\",\n\t\tSN_CX_NAVIGATION_MENU_ITEM_CLICKED: \"SN_CX_NAVIGATION#MENU_ITEM_CLICKED\",\n\t\tDPS_NAVIGATION_ONEX_NAV_CTA_CLICKED: \"DPS_NAVIGATION_ONEX_NAV_CTA_CLICKED\",\n\t\tLOGOUT: 'DPS_APP_LOGOUT_EVENT'\n\t},\n\tSHOW_FULFILLING_INSTANCE_MODAL: 'APP#SHOW_FULFILLING_INSTANCE_MODAL',\n\tCLOSE_FULFILLING_INSTANCE_MODAL: \"APP#CLOSE_FULFILLING_INSTANCE_MODAL\",\n\tNAV_SEARCH_ICON: \"NAV_SEARCH_ICON\",\n\tSAVE_BUILD_AGENT_CONVERSATION_SURVEY_STATUS: 'APP#SAVE_BUILD_AGENT_CONVERSATION_SURVEY_STATUS',\n\tSAVE_BUILD_AGENT_CONVERSATION_SURVEY_STATUS_SUCCEEDED: 'APP#SAVE_BUILD_AGENT_CONVERSATION_SURVEY_STATUS_SUCCEEDED',\n\tSAVE_BUILD_AGENT_CONVERSATION_SURVEY_STATUS_FAILED: 'APP#SAVE_BUILD_AGENT_CONVERSATION_SURVEY_STATUS_FAILED',\n\tAUTO_ASSIGN_RUN_IN_BACKGROUND: 'APP#AUTO_ASSIGN_RUN_IN_BACKGROUND',\n\tHIDE_BA_SETUP_ALERT: 'APP#HIDE_BA_SETUP_ALERT',\n\tBA_WAKEUP_PROMPT_CANCELLED: 'APP#BA_WAKEUP_PROMPT_CANCELLED'\n};\nexport default APP_ACTIONS;\n","export const DPS_LEGAL_AGREEMENT_ACTIONS = {\n\tBUTTON_DECLINE: 'DPS_LEGAL_AGREEMENT#BUTTON_DECLINE',\n\tCLOSE_FORM: 'DPS_LEGAL_AGREEMENT#FORM_RESET',\n\tDOCUMENT_SEND_ERRORED: 'DPS_LEGAL_AGREEMENT#DOCUMENT_SEND_ERRORED',\n\tDOCUMENT_SEND_SUCCEEDED: 'DPS_LEGAL_AGREEMENT#DOCUMENT_SEND_SUCCEEDED',\n\tDOCUMENT_SEND: 'DPS_LEGAL_AGREEMENT#DOCUMENT_SEND',\n\tDPS_MODAL_OPENED_SET: 'DPS_MODAL#OPENED_SET',\n\tFORM_COMPLETED: 'DPS_LEGAL_AGREEMENT#FORM_COMPLETED',\n\tFORM_DATA_POST: 'DPS_LEGAL_AGREEMENT#FORM_DATA_POST',\n\tFORM_ERRORED: 'DPS_LEGAL_AGREEMENT#FORM_ERRORED',\n\tFORM_RESET: 'DPS_LEGAL_AGREEMENT#FORM_RESET',\n\tFORM_SUBMIT: 'DPS_LEGAL_AGREEMENT#FORM_SUBMIT',\n\tFORM_SUCCEEDED: 'DPS_LEGAL_AGREEMENT#FORM_SUCCEEDED',\n\tGO_BACK: 'DPS_LEGAL_AGREEMENT#GO_BACK',\n\tINPUT_CHANGE: 'DPS_INPUT#VALUE_CHANGE',\n\tOPEN_FORM: 'DPS_LEGAL_AGREEMENT#OPEN_FORM',\n\tUSER_DECLINED: 'DPS_LEGAL_AGREEMENT#USER_DECLINED'\n};\n","export const DPS_LEAD_TRACKING_ACTIONS = {\n\tCLOSE_FORM: 'DPS_LEAD_TRACKING#FORM_RESET',\n\tCOMPLETED: 'DPS_LEAD_TRACKING#COMPLETED',\n\tDPS_MODAL_OPENED_SET: 'DPS_MODAL#OPENED_SET',\n\tDROPDOWN_CHANGE: 'DPS_DROPDOWN#SELECT_OPTION',\n\tFORM_DATA_POST: 'DPS_LEAD_TRACKING#FORM_DATA_POST',\n\tFORM_ELOQUA_DATA_POST: 'DPS_LEAD_TRACKING#FORM_ELOQUA_DATA_POST',\n\tFORM_ELOQUA_ERRORED: 'FORM_ELOQUA_ERRORED',\n\tFORM_ELOQUA_SUCCEEDED: 'FORM_ELOQUA_SUCCEEDED',\n\tFORM_ERRORED: 'DPS_LEAD_TRACKING#FORM_ERRORED',\n\tFORM_RESET: 'DPS_LEAD_TRACKING#FORM_RESET',\n\tFORM_SUBMIT: 'DPS_LEAD_TRACKING#FORM_SUBMIT',\n\tFORM_SUCCEEDED: 'DPS_LEAD_TRACKING#FORM_SUCCEEDED',\n\tGET_GDPR_ERRORED: 'DPS_LEAD_TRACKING#GET_GDPR_ERRORED',\n\tGET_GDPR_SUCCEEDED: 'DPS_LEAD_TRACKING#GET_GDPR_SUCCEEDED',\n\tGET_GDPR: 'DPS_LEAD_TRACKING#GET_GDPR',\n\tINPUT_CHANGE: 'DPS_INPUT#VALUE_CHANGE',\n\tOPEN_FORM: 'DPS_LEAD_TRACKING#OPEN_FORM',\n\tTEXTAREA_CHANGE: 'DPS_LEAD_TRACKING#TEXTAREA_CHANGE'\n};\n","export const DPS_INLINE_VERSION_SELECTOR_ACTIONS = {\n\tRELEASE_SELECTED: 'DPS_INLINE_VERSION_SELECTOR_ACTIONS#RELEASE_SELECTED',\n\tPDI_MISMATCH_ALERT_DISMISSED: 'DPS_INLINE_VERSION_SELECTOR#PDI_MISMATCH_ALERT_DISMISSED'\n};\nexport default DPS_INLINE_VERSION_SELECTOR_ACTIONS;","export const DPS_INSTANCE_ASSIGNMENT_MODAL = {\n\tADD_TO_WAITLIST: 'DPS_WAITLIST_MODAL#ADD_TO_WAITLIST',\n\tADD_TO_WAITLIST_FAILED: 'DPS_WAITLIST_MODAL#ADD_TO_WAITLIST_FAILED',\n\tADD_TO_WAITLIST_REQUEST: 'DPS_WAITLIST_MODAL#ADD_TO_WAITLIST_REQUEST',\n\tADD_TO_WAITLIST_SUCCEEDED: 'DPS_WAITLIST_MODAL#ADD_TO_WAITLIST_SUCCEEDED',\n\tBA_AUTO_ASSIGN_CANCEL:\n\t\t'DPS_INSTANCE_ASSIGNMENT_MODAL#BA_AUTO_ASSIGN_CANCEL',\n\tBA_AUTO_ASSIGN_CLOSE_ERROR:\n\t\t'DPS_INSTANCE_ASSIGNMENT_MODAL#BA_AUTO_ASSIGN_CLOSE_ERROR',\n\tBA_AUTO_ASSIGN_RETRY:\n\t\t'DPS_INSTANCE_ASSIGNMENT_MODAL#BA_AUTO_ASSIGN_RETRY',\n\tBA_AUTO_ASSIGN_DISMISS:\n\t\t'DPS_INSTANCE_ASSIGNMENT_MODAL#BA_AUTO_ASSIGN_DISMISS',\n\tBA_AUTO_ASSIGN_MANAGE:\n\t\t'DPS_INSTANCE_ASSIGNMENT_MODAL#BA_AUTO_ASSIGN_MANAGE',\n\tBA_AUTO_ASSIGN_RESUME:\n\t\t'DPS_INSTANCE_ASSIGNMENT_MODAL#BA_AUTO_ASSIGN_RESUME',\n\tBA_AUTO_ASSIGN_RUN_IN_BACKGROUND:\n\t\t'DPS_INSTANCE_ASSIGNMENT_MODAL#BA_AUTO_ASSIGN_RUN_IN_BACKGROUND',\n\tBA_AUTO_ASSIGN_START_BUILDING:\n\t\t'DPS_INSTANCE_ASSIGNMENT_MODAL#BA_AUTO_ASSIGN_START_BUILDING',\n\tOPEN_BA_WAKEUP_MODAL:\n\t\t'DPS_INSTANCE_ASSIGNMENT_MODAL#OPEN_BA_WAKEUP_MODAL',\n\tCHECK_LATEST_RELEASE_AVAILABILITY:\n\t\t'DPS_INSTANCE_ASSIGNMENT_MODAL#CHECK_LATEST_RELEASE_AVAILABILITY',\n\tDPS_SHADE_CLICKED: 'DPS_SHADE#CLICKED',\n\tGET_INSTANCE_ASSIGNMENT_REQUEST_STATUS:\n\t\t'DPS_INSTANCE_ASSIGNMENT_MODAL#GET_INSTANCE_ASSIGNMENT_REQUEST_STATUS',\n\tGET_INSTANCE_AVAILABILITY_COUNT:\n\t\t'DPS_INSTANCE_ASSIGNMENT_MODAL#GET_INSTANCE_AVAILABILITY_COUNT',\n\tGET_INSTANCE_AVAILABILITY_COUNT_FAILED:\n\t\t'DPS_INSTANCE_ASSIGNMENT_MODAL#GET_INSTANCE_AVAILABILITY_COUNT_FAILED',\n\tGET_INSTANCE_AVAILABILITY_COUNT_SUCCEEDED:\n\t\t'DPS_INSTANCE_ASSIGNMENT_MODAL#GET_INSTANCE_AVAILABILITY_COUNT_SUCCEEDED',\n\tGET_INSTANCE_INFO: 'DPS_INSTANCE_ASSIGNMENT_MODAL#GET_INSTANCE_INFO',\n\tGET_INSTANCE_INFO_POST_INSTANCE_REQUEST:\n\t\t'DPS_INSTANCE_ASSIGNMENT_MODAL#GET_INSTANCE_INFO_POST_INSTANCE_REQUEST',\n\tGET_INSTANCE_REQUEST_STATUS_ERRORRED:\n\t\t'DPS_INSTANCE_ASSIGNMENT_MODAL#GET_INSTANCE_REQUEST_STATUS_ERRORRED',\n\tGET_INSTANCE_REQUEST_STATUS_SUCCESSED:\n\t\t'DPS_INSTANCE_ASSIGNMENT_MODAL#GET_INSTANCE_REQUEST_STATUS_SUCCESSED',\n\tGET_MAGIC_LINK_URL: 'GET_MAGIC_LINK_URL',\n\tCONFIRM_INSTANCE_POLICY:\n\t\t'DPS_INSTANCE_ASSIGNMENT_MODAL#CONFIRM_INSTANCE_POLICY',\n\tINSTANCE_ASSIGNMENT_REQUEST_STATUS:\n\t\t'DPS_INSTANCE_ASSIGNMENT_MODAL#INSTANCE_ASSIGNMENT_REQUEST_STATUS',\n\tINSTANCE_REQUEST: 'DPS_INSTANCE_ASSIGNMENT_MODAL#INSTANCE_REQUEST',\n\tINSTANCE_REQUEST_ERRORRED:\n\t\t'DPS_INSTANCE_ASSIGNMENT_MODAL#INSTANCE_REQUEST_ERRORRED',\n\tINSTANCE_REQUEST_SUCCESSED:\n\t\t'DPS_INSTANCE_ASSIGNMENT_MODAL#INSTANCE_REQUEST_SUCCESSED',\n\tLEAVE_WAITLIST: 'DPS_WAITLIST_MODAL#LEAVE_WAITLIST',\n\tLEAVE_WAITLIST_FAILED: 'DPS_WAITLIST_MODAL#LEAVE_WAITLIST_FAILED',\n\tLEAVE_WAITLIST_REQUEST: 'DPS_WAITLIST_MODAL#LEAVE_WAITLIST_REQUEST',\n\tLEAVE_WAITLIST_SUCCEEDED: 'DPS_WAITLIST_MODAL#LEAVE_WAITLIST_SUCCEEDED',\n\tMAGIC_LINK_CLICKED: 'DPS_INSTANCE_ASSIGNMENT_MODAL#MAGIC_LINK_CLICKED',\n\tMENU_ITEM_CLICKED: 'DPS_INSTANCE_ASSIGNMENT_MODAL#MENU_ITEM_CLICKED',\n\tOPEN_BA_AUTO_ASSIGN_MODAL:\n\t\t'DPS_INSTANCE_ASSIGNMENT_MODAL#OPEN_BA_AUTO_ASSIGN_MODAL',\n\tQUICK_RESET_WIPE_MESSAGE_CLOSED:\n\t\t'DPS_INSTANCE_ASSIGNMENT_MODAL#QUICK_RESET_WIPE_MESSAGE_CLOSED',\n\tREQUEST_INSTANCE_AVAILABILITY_COUNT:\n\t\t'DPS_INSTANCE_ASSIGNMENT_MODAL#REQUEST_INSTANCE_AVAILABILITY_COUNT',\n\tRESTORE_BACKUP: 'DPS_INSTANCE_ASSIGNMENT_MODAL#RESTORE_BACKUP',\n\tRESTORE_BACKUP_INITIATED:\n\t\t'DPS_INSTANCE_ASSIGNMENT_MODAL#RESTORE_BACKUP_INITIATED',\n\tSEND_INSTANCE_REQUEST_DATA:\n\t\t'DPS_INSTANCE_ASSIGNMENT_MODAL#SEND_INSTANCE_REQUEST_DATA',\n\tSET_MODAL: 'DPS_INSTANCE_ASSIGNMENT_MODAL#SET_MODAL',\n\tUSER_IN_WAITLIST: 'DPS_WAITLIST_MODAL#USER_IN_WAITLIST',\n\tUSER_IN_WAITLIST_FAILED: 'DPS_WAITLIST_MODAL#USER_IN_WAITLIST_FAILED',\n\tUSER_IN_WAITLIST_REQUEST: 'DPS_WAITLIST_MODAL#USER_IN_WAITLIST_REQUEST',\n\tUSER_IN_WAITLIST_SUCCEEDED: 'DPS_WAITLIST_MODAL#USER_IN_WAITLIST_SUCCEEDED',\n\tWAITLIST_REQUEST: 'DPS_INSTANCE_ASSIGNMENT_MODAL#WAITLIST_REQUEST',\n\tPDI_PROVISIONING_SUCCESS_CUSTOM_HOOK: 'DPS_INSTANCE_ASSIGNMENT_MODAL#PDI_PROVISIONING_SUCCESS_CUSTOM_HOOK',\n\tCHECK_QUALTRICS_SURVEY_STATUS: 'DPS_INSTANCE_ASSIGNMENT_MODAL#CHECK_QUALTRICS_SURVEY_STATUS',\n\tCHECK_QUALTRICS_SURVEY_STATUS_SUCCEEDED: 'DPS_INSTANCE_ASSIGNMENT_MODAL#CHECK_QUALTRICS_SURVEY_STATUS_SUCCEEDED',\n\tCHECK_QUALTRICS_SURVEY_STATUS_FAILED: 'DPS_INSTANCE_ASSIGNMENT_MODAL#CHECK_QUALTRICS_SURVEY_STATUS_FAILED',\n\tSAVE_QUALTRICS_SURVEY_STATUS: 'DPS_INSTANCE_ASSIGNMENT_MODAL#SAVE_QUALTRICS_SURVEY_STATUS',\n\tSAVE_QUALTRICS_SURVEY_STATUS_SUCCEEDED: 'DPS_INSTANCE_ASSIGNMENT_MODAL#SAVE_QUALTRICS_SURVEY_STATUS_SUCCEEDED',\n\tSAVE_QUALTRICS_SURVEY_STATUS_FAILED: 'DPS_INSTANCE_ASSIGNMENT_MODAL#SAVE_QUALTRICS_SURVEY_STATUS_FAILED'\n};\n","export const DPS_INSTANCE_MODAL_ACTIONS = {\n\tCLEAR_OP_RESULT: 'DPS_INSTANCE_MODAL_ACTIONS#CLEAR_OP_RESULT',\n\tCLOSE_MODAL: 'DPS_INSTANCE_MODAL_ACTIONS#CLOSE_MODAL',\n\tCONFIRMATION_DONE_CLICKED:\n\t\t'DPS_INSTANCE_MODAL_ACTIONS#CONFIRMATION_DONE_CLICKED',\n\tEXECUTE_CAT_ITEM_STARTED:\n\t\t'DPS_INSTANCE_MODAL_ACTIONS#EXECUTE_CAT_ITEM_STARTED',\n\tFETCH_AVAILABLE_PLUGINS: 'DPS_INSTANCE_MODAL_ACTIONS#FETCH_AVAILABLE_PLUGINS',\n\tFETCH_INSTANCE_OPERATION_HISTORY: 'DPS_INSTANCE_MODAL_ACTIONS#FETCH_INSTANCE_OPERATION_HISTORY',\n\tFILTER_PLUGINS: 'DPS_INSTANCE_MODAL_ACTIONS#FILTER_PLUGINS',\n\tSELECTED_UPGRADE: 'DPS_INSTANCE_MODAL_ACTIONS#SELECTED_UPGRADE',\n\tUPDATE_INSTANCE_STATE: 'DPS_INSTANCE_MODAL_ACTIONS#UPDATE_INSTANCE_STATE',\n\tCONFIRMATION_CHECKED: 'DPS_INSTANCE_MODAL_ACTIONS#CONFIRMATION_CHECKED',\n\tGET_AVAILABLE_INSTANCE_COUNT: 'DPS_INSTANCE_MODAL_ACTIONS#GET_AVAILABLE_INSTANCE_COUNT',\n\tGET_AVAILABLE_INSTANCE_COUNT_SUCCEEDED: 'DPS_INSTANCE_MODAL_ACTIONS#GET_AVAILABLE_INSTANCE_COUNT_SUCCEEDED',\n\tRESET_WIPE_TYPE_SELECTED: 'DPS_INSTANCE_MODAL_ACTIONS#RESET_WIPE_TYPE_SELECTED',\n\tSET_QUICK_RESET_WIPE_STATUS: 'DPS_INSTANCE_MODAL_ACTIONS#SET_QUICK_RESET_WIPE_STATUS',\n\tTEXT_FIELD_UPDATED: 'DPS_INSTANCE_MODAL_ACTIONS#TEXT_FIELD_UPDATE',\n\tDROPDOWN_OPTION_SELECTED: 'DPS_DROPDOWN#SELECT_OPTION',\n\tRESET_LINK_CLICKED: 'DPS_INSTANCE_MODAL_ACTIONS#RESET_WIPE_LINK_CLICKED',\n\tCHANGE_USER_ROLE: 'DPS_INSTANCE_MODAL#CHANGE_USER_ROLE',\n\tSEND_RECIEVE_EMAIL_CHECKBOX_CLICKED: 'SEND_RECIEVE_EMAIL_CHECKBOX_CLICKED',\n\tGET_SEND_RECIEVE_EMAIL_DATA: 'DPS_INSTANCE_MODAL#GET_SEND_RECIEVE_EMAIL_DATA',\n\tGET_SEND_RECIEVE_EMAIL_DATA_SUCCEEDED: 'DPS_INSTANCE_MODAL#GET_SEND_RECIEVE_EMAIL_DATA_SUCCEEDED',\n\tSEND_RESET_PASSWORD_EMAIL: 'DPS_INSTANCE_MODAL#SEND_RESET_PASSWORD_EMAIL'\n};\n","export const INSTANCE_ACTIONS = {\n\tREQUEST_INSTANCE: 'REQUEST_INSTANCE',\n\tRESTORE_INSTANCE: 'RESTORE_INSTANCE',\n\tREFRESH_INSTANCE: 'REFRESH_INSTANCE',\n\tRESET_ACTIVITY_TIMER: 'RESET_ACTIVITY_TIMER'\n};\n\nexport const DPS_INSTANCE_SIDEBAR = {\n\tASSIGNMENT_MENU_ITEM_CLICKED:\n\t\t'DPS_INSTANCE_SIDEBAR#ASSIGNMENT_MENU_ITEM_CLICKED',\n\tMAGIC_LINK_CLICKED: 'DPS_INSTANCE_SIDEBAR#MAGIC_LINK_CLICKED',\n\tOPERATION_MENU_ITEM_CLICKED:\n\t\t'DPS_INSTANCE_SIDEBAR#OPERATION_MENU_ITEM_CLICKED',\n\tREFRESH_STATUS: 'DPS_INSTANCE_SIDEBAR#REFRESH_STATUS',\n\tWAKE_UP_INSTANCE_STARTED: 'DPS_INSTANCE_SIDEBAR#WAKE_UP_INSTANCE_STARTED'\n};\n","export const DPS_SITE_BANNER_ACTIONS = {\n\tBANNER_CLOSED: 'DPS_SITE_BANNER#BANNER_CLOSED',\n\tBANNER_HEIGHT_SET: 'DPS_SITE_BANNER#BANNER_HEIGHT_SET',\n\tLINK_CLICKED: 'LINK_CLICKED'\n};\n","export const DPS_TOAST_ALERT_ACTIONS = {\n  ALERT_DISMISSED: 'DPS_TOAST_ALERT#ALERT_DISMISSED',\n  CANCEL_TIMER: 'DPS_TOAST_CONTAINER#CANCEL_TIMER',\n  START_TIMER: 'DPS_TOAST_CONTAINER#START_TIMER'\n};\n","import { INSTANCE_ACTION_STATES } from '../constants';\nimport { isReleaseGTE } from './releaseHelpers';\n\nexport const instanceStateList = [\n\t'first_time',\n\t'complete_error',\n\t'rejected',\n\t'pending'\n];\nconst instanceRefreshStateList = [\n\t'In Progress',\n\t'Queued',\n\t'Submitted',\n\t'Callback complete'\n];\n\nexport const showRequestInstance = instanceInfo =>\n\tinstanceInfo &&\n\tinstanceStateList.includes(instanceInfo.state) &&\n\t!instanceRefreshStateList.includes(instanceInfo.restoration_progress);\n\nexport const getLaunchUrl = (systemProperties, instanceInfo) => {\n\tconst defaultUrl = '/sn_glider_app/ide.do';\n\ttry {\n\t\tconst launchSettings = JSON.parse(\n\t\t\tsystemProperties['dev.ui.build.agent.startbuilding.launch.settings'] || '{}'\n\t\t);\n\t\tconst appsInstalled = instanceInfo?.appsInstalled || [];\n\t\tconst matchedApp = Object.keys(launchSettings).find(appKey =>\n\t\t\tappsInstalled.includes(appKey)\n\t\t);\n\t\tif (matchedApp && typeof launchSettings[matchedApp] === 'string') {\n\t\t\tconst url = launchSettings[matchedApp];\n\t\t\treturn url.startsWith('/') ? url : `/${url}`;\n\t\t}\n\t} catch (e) {}\n\treturn defaultUrl;\n};\n\nexport const sanitizeDate = date =>\n\t(typeof date === 'string' && date.replace(' ', 'T')) || date;\n\n/**\n * Function to return the date in 'MMM DD, YYYY' format\n * @param {string} date\n */\nexport const formatDate = date => {\n\tconst monthArr = [\n\t\t'Jan',\n\t\t'Feb',\n\t\t'Mar',\n\t\t'Apr',\n\t\t'May',\n\t\t'Jun',\n\t\t'Jul',\n\t\t'Aug',\n\t\t'Sep',\n\t\t'Oct',\n\t\t'Nov',\n\t\t'Dec'\n\t];\n\n\tconst dt = new Date(sanitizeDate(date));\n\treturn `${monthArr[dt.getMonth()]} ${dt.getDate()}, ${dt.getFullYear()}`;\n};\n\n/**\n * Formats the instance action menu items\n * @param {Object} params\n * @param {Object} params.catItemInProgress\n * @param {Array<Object>} params.data\n * @param {string} params.instanceStatus\n * @param {Array<Object>} params.upgradeableInstanceTargets\n *\n * @returns {Array<Object>}\n */\nexport const formatInstanceActionMenu = ({\n\tcatItemInProgress = null,\n\tdata,\n\tinstanceStatus = '',\n\tisInstanceRefreshing = false,\n\tisUnderMaintenance = false,\n\tupgradeableInstanceTargets = [],\n\tisQuickResetAndWipeInProgress,\n\tsystemProperties = [],\n\tinstanceInfo = {}\n}) => {\n\tif (data.length > 0) {\n\t\treturn (\n\t\t\tdata\n\t\t\t\t// keep active items\n\t\t\t\t.filter(menuItem => menuItem.is_active)\n\t\t\t\t// keep one `Upgrade instance` in the menu\n\t\t\t\t.filter(menuItem => menuItem.name.indexOf('Upgrade to') === -1)\n\t\t\t\t// format menuItem with needsPolling and whether it's disabled\n\t\t\t\t.map(menuItem => ({\n\t\t\t\t\t...menuItem,\n\t\t\t\t\tneedsPolling: menuItem.needsPolling === 'true',\n\t\t\t\t\tdisabled: isDisabledCatItem({\n\t\t\t\t\t\tcatItemInProgress,\n\t\t\t\t\t\tinstanceStatus,\n\t\t\t\t\t\tisInstanceRefreshing,\n\t\t\t\t\t\tisUnderMaintenance,\n\t\t\t\t\t\tmenuItem,\n\t\t\t\t\t\tupgradeableInstanceTargets,\n\t\t\t\t\t\tisQuickResetAndWipeInProgress,\n\t\t\t\t\t\tsystemProperties,\n\t\t\t\t\t\tinstanceInfo\n\t\t\t\t\t})\n\t\t\t\t}))\n\t\t);\n\t}\n\n\treturn [];\n};\n\n/**\n * Checks whether a menu item should be disabled or not\n * @param {Object} params\n * @param {Object} params.catItemInProgress\n * @param {string} params.instanceStatus\n * @param {Object} params.menuItem\n * @param {Array<Object>} params.upgradeableInstanceTargets\n *\n * @returns {boolean}\n */\nexport const isDisabledCatItem = ({\n\tcatItemInProgress,\n\tmenuItem,\n\tupgradeableInstanceTargets,\n\tisQuickResetAndWipeInProgress,\n\tsystemProperties,\n\tinstanceInfo\n}) => {\n\n\tconst isQuickResetInProgress = instanceInfo['status'] && instanceInfo['status']['quick_reset_in_progress'] === \"true\";\n\tconst hideOfflineAlert = systemProperties['dev.build.agent.hide.offline.alert'] === 'true';\n\n\tif( isQuickResetInProgress) {\n\t\tif(menuItem.name && (['Reset and wipe instance', 'Refresh Instance', 'Refresh status'].indexOf(menuItem.name) > -1 )) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tif (\n\t\tinstanceInfo.isWaitlisted() ||\n\t\tinstanceInfo.isPendingRequestforInstance() ||\n\t\tinstanceInfo.isRestoringInstance() ||\n\t\tinstanceInfo.isfulfillingRequest()\n\t) {\n\t\treturn true;\n\t}\n\n\t// refresh instance is always enabled\n\tif (\n\t\tmenuItem.name &&\n\t\t(menuItem.name.toLowerCase() === 'refresh instance' ||\n\t\t\tmenuItem.name.toLowerCase() === 'refresh status')\n\t) {\n\t\treturn false;\n\t}\n\n\t// release instance is enabled unless a quick reset and wipe is in progreess\n\tif (menuItem.name && menuItem.name === 'Release instance') {\n\t\treturn isQuickResetAndWipeInProgress || (instanceInfo && instanceInfo.underUnplannedMaintenance && hideOfflineAlert);\n\t}\n\n\t// disable all remaining actions during restart\n\tconst restarting = isRestartInProgress(\n\t\tinstanceInfo && instanceInfo.catItem,\n\t\tsystemProperties\n\t);\n\tif (restarting) {\n\t\treturn true;\n\t}\n\n\t// disable all remaining actions when the instance isn't online or doing something\n\tconst instanceNotAcceptingActions =\n\t\tinstanceInfo &&\n\t\t((instanceInfo.underUnplannedMaintenance && hideOfflineAlert) ||\n\t\t\tinstanceInfo.isOffline() ||\n\t\t\tinstanceInfo.ishibernating() ||\n\t\t\tinstanceInfo.isWakingInstance() ||\n\t\t\tinstanceInfo.isRefreshingInstance());\n\tif (instanceNotAcceptingActions && !catItemInProgress) {\n\t\treturn true;\n\t}\n\n\t// enable only if current cat item is upgrade or upgradable instance targets matches current cat item in progress sysid\n\tif (menuItem.name === 'Upgrade instance' && catItemInProgress) {\n\t\tif (catItemInProgress.name.indexOf('Upgrade') > -1) {\n\t\t\treturn false;\n\t\t}\n\t\treturn !(\n\t\t\tupgradeableInstanceTargets.length > 0 &&\n\t\t\tupgradeableInstanceTargets.some(\n\t\t\t\ttarget => target.sys_id === catItemInProgress.sys_id\n\t\t\t)\n\t\t);\n\t}\n\n\t// if the current cat item in progress matches the menu item, enable it\n\tif (catItemInProgress) {\n\t\treturn catItemInProgress.sys_id !== menuItem.sys_id;\n\t}\n\n\treturn false;\n};\n\nexport const isChangingUserRole = (catItemSysId, systemProperties) =>\n\tsystemProperties &&\n\tcatItemSysId === systemProperties['dev.cat_item.change_user_role'];\n\n/**\n * Determines if the \"Start Building\" button should be disabled\n * @param {Object} param\n * @param {Object} param.instanceInfo\n * @returns {boolean}\n */\nexport const isStartBuildingButtonDisabled = ({ instanceInfo = {} }) => {\n\treturn (\n\t\tinstanceInfo.state === INSTANCE_ACTION_STATES.REQUESTING_INSTANCE ||\n\t\tinstanceInfo.state === INSTANCE_ACTION_STATES.WAITLIST ||\n\t\tinstanceInfo.state === INSTANCE_ACTION_STATES.RESTORE_IN_PROGRESS\n\t);\n};\n\nexport const isInstanceRestoreInProgress = instanceInfo =>\n\tinstanceInfo &&\n\tinstanceRefreshStateList.includes(instanceInfo.restoration_progress);\n\n//TODO to check this  userInstanceStates.includes(instanceInfo.state);\nexport const isInstanceInfoAndActionMenuNotAvail = (\n\tinstanceMenuItems,\n\tinstanceInfo\n) => instanceMenuItems && instanceMenuItems.length === 0 && instanceInfo;\n\nexport const isPluginActivateInProgress = (catItem, systemProperties) =>\n\tcatItem &&\n\tsystemProperties &&\n\tcatItem.sys_id &&\n\tcatItem.sys_id === systemProperties['dev.cat_item.activate_plugin'];\n\nexport const isInstanceBeingFulfilled = (\n\tinstanceInfo,\n\tisInstanceRefreshing,\n\tcatItemInProgress\n) =>\n\tisInstanceRefreshing ||\n\tisInstanceRestoreInProgress(instanceInfo) ||\n\t(catItemInProgress && catItemInProgress.sys_id);\n\nexport const isResetAdminPasswordInProgress = (menuItem, systemProperties) =>\n\tmenuItem &&\n\tsystemProperties &&\n\tmenuItem.sys_id === systemProperties['dev.cat_item.reset_admin_password'];\n\nexport const isOperationComplete = (instanceInfo, catItemInProgress) =>\n\tinstanceInfo &&\n\tcatItemInProgress &&\n\tcatItemInProgress.sys_id &&\n\t!(instanceInfo.catItem && instanceInfo.catItem.is_active);\n\nexport const isUpdateInProgress = (\n\tupgradeableInstanceTargets = [],\n\tshowOpResultBySysId\n) =>\n\tupgradeableInstanceTargets.some(\n\t\ttarget => showOpResultBySysId === target.sys_id\n\t);\n\nexport const isRestartInProgress = (catItemInProgress, systemProperties) =>\n\tcatItemInProgress &&\n\tsystemProperties &&\n\tcatItemInProgress.sys_id &&\n\tcatItemInProgress.sys_id === systemProperties['dev.cat_item.restart_node'];\n\nexport const userHasInstance = instanceState =>\n\tinstanceStateList.indexOf(instanceState) !== -1;\n","export const removeHashBang = (path='#!') => {\n\tif(typeof(path) !== 'string') {\n\t\tthrow new TypeError('path must be a string');\n\t}\n\treturn path.replace(/^#!\\/?/, '/');\n};\n\nexport const addHashBang = (path='/') => {\n\tif(typeof(path) !== 'string') {\n\t\tthrow new TypeError('path must be a string');\n\t}\n\treturn path.replace(/^\\//, '#!/');\n};\n\nexport const getAnchorOrigin = anchor => {\n\tif(!anchor || (anchor.nodeName && anchor.nodeName !== 'A')) {\n\t\tthrow new TypeError('argument must be anchor element');\n\t}\n\n\tconst { port, protocol, hostname, host } = anchor;\n\t// IE11: on HTTP and HTTPS the default port is not included into\n\t// window.location.origin, so won't include it here either.\n\tconst defaultHttp = protocol === 'http:' && port === '80';\n\tconst defaultHttps = protocol === 'https:' && port === '443';\n\tconst newHost = (defaultHttp || defaultHttps)\n\t\t? hostname   // does not include the port number (e.g. www.example.org)\n\t\t: host;      // does include the port number (e.g. www.example.org:80)\n\treturn `${protocol}//${newHost}`;\n};\n\nexport const decodeExceptSlash = val => decodeParam(val.replace(/\\%2[fF]/g, '{slash}')).replaceAll('{slash}', '%2f');\n\nexport const decodeParam = val => {\n\ttry {\n\t\treturn decodeURIComponent(val);\n\t} catch (err) {\n\t\treturn val;\n\t}\n};\n\nexport const extractParams = path => {\n\tconst queryParamsRegex = new RegExp(/\\?(.*)/, 'i');\n\tconst matches = path.match(queryParamsRegex);\n\n\treturn matches && matches[0] ? matches[0] : null;\n};\n\nexport const removeQueryParams = path => {\n\tconst extractedParams = extractParams(path);\n\n\tif (extractedParams) {\n\t\treturn path.replace(extractedParams, '');\n\t}\n\n\treturn path;\n};\n\nexport const getQueryParams = path => {\n\tconst extractedParams = extractParams(path);\n\n\tif (!extractedParams) {\n\t\treturn {};\n\t}\n\n\tconst searchParams = new URLSearchParams(extractedParams);\n\tconst paramsObject = {};\n\n\tfor (const [key, value] of searchParams) {\n\t\tif (key.includes('[]')) {\n\t\t\tparamsObject[key] = paramsObject[key] || [];\n\t\t\tparamsObject[key].push(value);\n\t\t} else {\n\t\t\tparamsObject[key] = value;\n\t\t}\n\t}\n\n\treturn paramsObject;\n};\n\nexport const getRawQueryParams = () => {\n\tconst path = removeHashBang(decodeExceptSlash(window.location.hash));\n\treturn extractParams(path);\n};\n","const _constructInterceptorPipeline = (interceptorType, fns) => {\n\tconst interceptorCallbacks = context =>\n\t\tfns.map(fn => generateInterceptorObj(context, fn));\n\n\treturn {\n\t\t[interceptorType]: context => ({\n\t\t\t...context,\n\t\t\teffects: [...context.effects, ...interceptorCallbacks(context)]\n\t\t})\n\t};\n};\n\n/**\n * Helper method to construct an \"after\" interceptor pipeline object \n * @param {Array<Function>} fns \n */\nexport const afterInterceptors = fns => ( \n\t_constructInterceptorPipeline('after', fns)\n);\n\n/**\n * Helper method to construct an \"before\" interceptor pipeline object \n * @param {Array<Function>} fns \n */\nexport const beforeInterceptors = fns => (\n\t_constructInterceptorPipeline('before', fns)\n);\n\n/**\n * Helper method to construct an interceptor object \n * @param {Object} context \n * @param {Function} effectFn \n */\nexport const generateInterceptorObj = (context, effectFn) => ({\n\teffect: effectFn,\n\targs: [context.coeffects]\n});\n","export const DPS_APP_DEFAULTS = {\n\tUSER: {\n\t\tabout_me: null,\n\t\taccepted_early_access: false,\n\t\tcompany_id: null,\n\t\tdisplay_name: 'Guest',\n\t\temail: null,\n\t\texpired: false,\n\t\thas_read_inactivity_policy: false,\n\t\tis_admin: false,\n\t\tis_legal_signed: false,\n\t\tis_logged_in: false,\n\t\tis_vendor: false,\n\t\tleadTracking: false,\n\t\tlogin_result: null,\n\t\tneeds_reset: false,\n\t\toktaLoggedIn: '',\n\t\tphoto: null,\n\t\troles: [],\n\t\tsession_id: '',\n\t\tskills: null,\n\t\tsys_id: null,\n\t\tuser_id: null,\n\t\tuser_instance_release: ''\n\t}\n};\n","import {\n\tformatSysParam,\n\tisFeedbackOpened,\n\tisTruthy\n} from '../../utils/helpers';\nimport { DevPlatformStorage } from '../../utils/storage';\nimport { InactivityService } from '../../utils/inactivityService';\nimport { SessionService } from '../../utils/sessionService';\nimport { DPS_LEAD_TRACKING_ACTIONS } from '../../components/dps-lead-tracking-modal/actions';\nimport { DPS_LEGAL_AGREEMENT_ACTIONS } from '../../components/dps-legal-agreement-modal/actions';\nimport {\n\tCONSTANTS,\n\tDPS_INSTANCE_ASSIGNMENT,\n\tDPS_NAV_INSTANCE_MANAGEMENT,\n\tINSTANCE_DISPLAY_STATUSES\n} from '../../constants';\nimport { APP_ACTIONS } from './actions';\nimport { DPS_APP_DEFAULTS } from './defaults';\n\nlet instanceBackupList = [];\n\nexport const appBootstrap = ({ dispatch, properties, state, updateState }) => {\n\t// No matter what, we should fetch user\n\tgetUserInfo(dispatch);\n\t// Get system properties\n\tgetSystemProperties({ dispatch, properties });\n\t// Get Release Info\n\tgetReleaseVersions(dispatch);\n\t// Check guest cache\n\tverifyCachedNavData();\n\t// Load nav data from cache if it exists\n\tloadCachedNavData({ updateState });\n\t// Get URL redirection rules\n\tgetUrlRedirections({ dispatch, state });\n};\n\nexport const getInstanceDetails = ({ dispatch }) => {\n\tconst sysparm_data = formatSysParam(\n\t\tCONSTANTS.DEV_PORTAL_ACTIONS.GET_INSTANCE_DETAILS\n\t);\n\tdispatch(APP_ACTIONS.GET_INSTANCE_DETAILS, { sysparm_data });\n};\n\nexport const getInstanceInfo = ({ dispatch, user }) => {\n\tif (!user.is_logged_in) {\n\t\treturn;\n\t}\n\tconst sysparm_data = formatSysParam(\n\t\tCONSTANTS.DEV_PORTAL_ACTIONS.GET_INSTANCE_INFO,\n\t\t{\n\t\t\tdirect_wake_up: false\n\t\t}\n\t);\n\tdispatch(APP_ACTIONS.GET_INSTANCE_INFO, { sysparm_data });\n};\n\nexport const validateInstanceBackup = ({ dispatch, user }) => {\n\tif (!user.is_logged_in) {\n\t\treturn;\n\t}\n\tdispatch(APP_ACTIONS.REFRESH_INSTANCE_BACKUP, {});\n};\n\nexport const getAllInstancebackups = ({ dispatch, user }) => {\n\tif (!user.is_logged_in) {\n\t\treturn;\n\t}\n\tdispatch(APP_ACTIONS.GET_ALL_INSTANCE_BACKUPS);\n};\n\nexport const getSystemProperties = ({ dispatch, properties }) => {\n\t// if system properties are not empty, then exit\n\tif (properties.hasSystemProperties) {\n\t\treturn;\n\t}\n\tconst sysparm_data = formatSysParam('all.properties');\n\n\tdispatch(APP_ACTIONS.GET_SYSTEM_PROPERTIES, { sysparm_data });\n};\n\nexport const getReleaseVersions = dispatch => {\n\tconst sysparm_data = formatSysParam(\n\t\tCONSTANTS.DEV_PORTAL_ACTIONS.RELEASE_VERSIONS\n\t);\n\tdispatch(APP_ACTIONS.GET_RELEASE_VERSIONS, { sysparm_data });\n};\n\nexport const getUserInfo = dispatch => {\n\tconst sysparm_data = formatSysParam(\n\t\tCONSTANTS.DEV_PORTAL_ACTIONS.USER_SESSION,\n\t\t{ sysparm_okta: true }\n\t);\n\tdispatch(APP_ACTIONS.GET_USER_SESSION, { sysparm_data });\n};\n\nexport const getUrlRedirections = ({ dispatch, state }) => {\n\tif (state.urlRedirections != null) {\n\t\treturn;\n\t}\n\n\tdispatch(APP_ACTIONS.GET_URL_REDIRECTIONS, {});\n};\n\nexport const initializeInstanceState = instanceInfo => {\n\tconst handler = {\n\t\tget(target, property) {\n\t\t\tconst methodPrefix = 'is';\n\t\t\tif (property.startsWith && property.startsWith(methodPrefix)) {\n\t\t\t\tconst statusToCheck = property.slice(methodPrefix.length).toLowerCase();\n\t\t\t\treturn () => {\n\t\t\t\t\tif (target.instanceStatus) {\n\t\t\t\t\t\treturn target.instanceStatus.display_state.split(' ').join('').split('-').join().toLowerCase() === statusToCheck;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn false;\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn target[property];\n\t\t}\n\t}\n\n\treturn new Proxy({...instanceInfo}, handler);\n};\n\nexport const loadCachedNavData = ({ updateState }) => {\n\tconst cachedNavData = DevPlatformStorage.loadFromLocalStorage(\n\t\tCONSTANTS.DEFAULTS.API_CMS_CONFIG_CACHE_KEY\n\t);\n\tconst cachedNavGuestData = DevPlatformStorage.loadFromLocalStorage(\n\t\tCONSTANTS.DEFAULTS.API_CMS_CONFIG_GUEST_CACHE_KEY\n\t);\n\n\tif (cachedNavData) {\n\t\tupdateState({ ...cachedNavData });\n\t} else if (cachedNavGuestData) {\n\t\tupdateState({ ...cachedNavGuestData });\n\t}\n};\n\n/**\n * Calls all the instance-related APIs and loads the correct header nav items\n * for a logged-in user\n * @param {Object} param\n * @param {Object} param.dispatch\n * @param {Object} param.navigationConfig\n * @param {Object} param.properties\n * @param {Object} param.updateState\n * @param {Object} param.userInfo\n */\nexport const loadAuthorizedUserMetaData = ({\n\tdispatch,\n\tnavigationConfig,\n\tproperties,\n\tupdateState,\n\tuserInfo\n}) => {\n\tconst { hash, pathname, systemProperties } = properties;\n\tsetCMSHeaderConfiguration({\n\t\tdispatch,\n\t\tnavigationConfig,\n\t\tuserInfo,\n\t\tupdateState,\n\t\tsystem_properties: systemProperties\n\t});\n\tgetInstanceInfo({ dispatch, user: userInfo });\n\tvalidateInstanceBackup({ dispatch, user: userInfo });\n\tgetAllInstancebackups({ dispatch, user: userInfo });\n\tisFeedbackOpened(pathname, hash, userInfo, dispatch);\n};\n\nexport const observeLocalStorage = (ambEnabled, coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\tproperties,\n\t\tstate,\n\t\tupdateProperties,\n\t\tupdateState\n\t} = coeffects;\n\t// Bind storage event in case user logs out in another tab\n\twindow.addEventListener('storage', e => {\n\t\tconst { key, newValue } = e;\n\t\tconst value = JSON.parse(newValue);\n\t\tconst { navigationConfig } = state;\n\t\tlet userInfo;\n\n\t\tswitch (key) {\n\t\t\t// user has logged out in another tab/window\n\t\t\tcase CONSTANTS.DEFAULTS.EXPLICIT_LOGOUT_KEY:\n\t\t\t\tif (value) {\n\t\t\t\t\tInactivityService.stopCountdown();\n\t\t\t\t\tSessionService.staleSessionLogout();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t// user info has been updated in another tab/window\n\t\t\tcase CONSTANTS.DEFAULTS.USER_LOCALSTORAGE_KEY:\n\t\t\t\tuserInfo = { ...(value || DPS_APP_DEFAULTS.USER) };\n\t\t\t\tupdateProperties({\n\t\t\t\t\tuserInfo\n\t\t\t\t});\n\t\t\t\tif (userInfo.is_logged_in) {\n\t\t\t\t\tloadAuthorizedUserMetaData({\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tnavigationConfig,\n\t\t\t\t\t\tproperties,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tuserInfo\n\t\t\t\t\t});\n\t\t\t\t\tif (!ambEnabled) {\n\t\t\t\t\t\tdispatch(APP_ACTIONS.USER_SESSION_INFO_INITIALIZED);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t});\n};\n\nexport const pollForInstanceInfo = ({\n\tdispatch,\n\tinstanceInfo,\n\tinstanceManagement,\n\tsystemProperties,\n\tupdateState\n}) => {\n\n\tconst isRefreshInProgress = instanceInfo && instanceInfo.instanceStatus &&  [\"Refresh Instance\", \"Refresh status\"].indexOf(instanceInfo.instanceStatus.state) > -1 ;\n\n\t// Initialize values\n\tconst { instanceRefreshCount } = instanceManagement;\n\n\tconst refreshThreshold = parseInt(\n\t\tsystemProperties['dev.instance.refresh.threshold'],\n\t\t10\n\t);\n\tconst waitInterval = parseInt(\n\t\tsystemProperties['dev.instance.refresh.wait_interval'],\n\t\t10\n\t);\n\n\tlet pollIntervalValue = parseInt(\n\t\tsystemProperties['dev.instance_management.poll_interval'],\n\t\t10\n\t);\n\n\tif(instanceInfo && instanceInfo.instanceStatus && instanceInfo.instanceStatus.state === INSTANCE_DISPLAY_STATUSES.restore.state) {\n\t\tpollIntervalValue = parseInt(systemProperties['dev.instance.restore.poll_interval']) * 60 * 1000;\n\t}\n\n\tif(isRefreshInProgress || (instanceManagement && instanceManagement.isInstanceRefreshing)) {\n\t\tpollIntervalValue = waitInterval;\n\t}\n\n\n\tconst maxRefreshPollCount = refreshThreshold / waitInterval;\n\n\t// Stop polling if within refreshThreshold or the refresh count is greater than max\n\tif (\n\t\t(instanceInfo.lastInfoUpdatedDate <= refreshThreshold && !isRefreshInProgress) ||\n\t\tinstanceRefreshCount > maxRefreshPollCount\n\t) {\n\t\t// Set instanceRefreshing to false\n\t\tconst isInstanceRefreshing = false;\n\n\t\tupdateState({\n\t\t\tinstanceInfo,\n\t\t\tinstanceManagement: {\n\t\t\t\t...instanceManagement,\n\t\t\t\tinstanceRefreshCount: 0,\n\t\t\t\tisInstanceRefreshing\n\t\t\t}\n\t\t});\n\t\t// Here dispatching event to check is operation complete in backend\n\t\tdispatch(APP_ACTIONS.CHECK_OPERATION_COMPLETED);\n\t\t// Update action menu items\n\t\tdispatch(APP_ACTIONS.GET_ACTION_MENU, { ins_id: instanceInfo.sys_id });\n\t} else {\n\t\tupdateState({\n\t\t\tinstanceManagement: {\n\t\t\t\t...instanceManagement,\n\t\t\t\tinstanceRefreshCount: instanceRefreshCount + 1\n\t\t\t}\n\t\t});\n\t\tsetTimeout(() => {\n\t\t\tconst sysparm_data = formatSysParam('instance.ops.get_instance_info', {\n\t\t\t\tdirect_wake_up: true\n\t\t\t});\n\t\t\tdispatch(APP_ACTIONS.GET_INSTANCE_INFO, { sysparm_data });\n\t\t}, pollIntervalValue);\n\t}\n};\n\nexport const pollForUserSession = (dispatch, pollInterval) => {\n\tconst timeInMs = parseInt(pollInterval, 10) * 1000;\n\tSessionService.timeoutId = setTimeout(() => {\n\t\tgetUserInfo(dispatch);\n\t}, timeInMs);\n};\n\nexport const setCMSHeaderConfiguration = ({\n\tdispatch,\n\tnavigationConfig,\n\tuserInfo,\n\tupdateState,\n\tsystem_properties\n}) => {\n\tlet cachedCMSHeader;\n\tlet cms_navigation_menu;\n\tlet cms_navigation_menu_guest;\n\tlet nextAction;\n\n\tconst { dev_api_hash_keys } = system_properties;\n\tif (dev_api_hash_keys) {\n\t\t({ cms_navigation_menu, cms_navigation_menu_guest } = JSON.parse(\n\t\t\tdev_api_hash_keys\n\t\t));\n\t}\n\n\tif (userInfo.is_logged_in) {\n\t\tcachedCMSHeader = DevPlatformStorage.loadFromLocalStorage(\n\t\t\tCONSTANTS.DEFAULTS.API_CMS_CONFIG_CACHE_KEY\n\t\t);\n\n\t\tnextAction = APP_ACTIONS.NAV_CONFIG_FETCH_REQ;\n\t} else {\n\t\tcachedCMSHeader = DevPlatformStorage.loadFromLocalStorage(\n\t\t\tCONSTANTS.DEFAULTS.API_CMS_CONFIG_GUEST_CACHE_KEY\n\t\t);\n\t\tnextAction = APP_ACTIONS.NAV_CONFIG_GUEST_FETCH_REQ;\n\t}\n\n\tconst isHashKeyMatched =\n\t\tcachedCMSHeader &&\n\t\t(userInfo.is_logged_in\n\t\t\t? cachedCMSHeader.navigationHashkey === cms_navigation_menu\n\t\t\t: cachedCMSHeader.navigationHashkey === cms_navigation_menu_guest);\n\n\tif (cachedCMSHeader && navigationConfig.length === 0 && isHashKeyMatched) {\n\t\tupdateState({\n\t\t\tnavigationConfig: cachedCMSHeader && cachedCMSHeader.navigationConfig\n\t\t});\n\t} else {\n\t\tdispatch(nextAction);\n\t}\n\tconst data = [\n\t\t{\n\t\t\tdefinitionSysId: \"31cf66d8933fda10866372aefaba1038\",\n\t\t\ttype: \"TRANSFORM\",\n\t\t\t inputValues: {\n\t\t\t\texperience: {\n\t\t\t\t\ttype: \"JSON_LITERAL\",\n\t\t\t\t\tvalue: \"DEVELOPERPORTAL\"//MYNOW\n\t\t\t\t}\n\t\t\t },\n\t\t}\n\t];\n\tdispatch(APP_ACTIONS.NAV_CONFIG_FETCH_UNIVERSAL_REQ, { data });\n};\n\nexport const showLegalModal = ({ dispatch, userInfo }) => {\n\tconst isLegalSigned = isTruthy(userInfo.is_legal_signed);\n\tconst showUserProfileModal = isTruthy(userInfo.show_user_profile_modal);\n\tconst isUserModalProfileEnabled =\n\t\t\t(userInfo && userInfo.isUserModalProfileEnabled) == 'true';\n\n\tif (\n\t\tuserInfo.is_logged_in &&\n\t\t!isLegalSigned &&\n\t\t(!isUserModalProfileEnabled || !showUserProfileModal)\n\t) {\n\t\tdispatch(DPS_LEGAL_AGREEMENT_ACTIONS.OPEN_FORM);\n\t}\n};\n\nexport const showUserProfileModal = ({\n\tdispatch,\n\tuserInfo\n}) => {\n\tconst showUserProfileModal = isTruthy(userInfo.show_user_profile_modal);\n\tconst isUserModalProfileEnabled =\n\t\t\t(userInfo && userInfo.isUserModalProfileEnabled) == 'true';\n\n\tif (\n\t\tuserInfo.is_logged_in &&\n\t\tisUserModalProfileEnabled &&\n\t\tshowUserProfileModal\n\t) {\n\t\tdispatch(APP_ACTIONS.OPEN_USER_PROFILE_MODAL);\n\t}\n};\n\nexport const showLeadTrackingModal = ({\n\tdispatch,\n\tleadTrackingCompleted,\n\tsystemProperties,\n\tuserInfo\n}) => {\n\t// Null check in place when lead tracking is submitted right after legal modal\n\tif (leadTrackingCompleted) {\n\t\treturn;\n\t}\n\tconst isLegalSigned = isTruthy(userInfo.is_legal_signed);\n\tconst isLeadTrackingSigned = isTruthy(userInfo.leadTracking);\n\tconst isLeadTrackingEnabled =\n\t\tsystemProperties['dev.LeadTrackingSwitch'] &&\n\t\tisTruthy(systemProperties['dev.LeadTrackingSwitch']);\n\n\tif (isLegalSigned && isLeadTrackingEnabled && !isLeadTrackingSigned) {\n\t\tdispatch(DPS_LEAD_TRACKING_ACTIONS.OPEN_FORM);\n\t}\n};\n\nexport const setInstanceBackupList = list => {\n\tinstanceBackupList = list;\n};\n\nexport const getInstanceBackupList = () => instanceBackupList;\n\nexport const verifyCachedNavData = () => {\n\tconst guestCMSCache = DevPlatformStorage.loadFromLocalStorage(\n\t\tCONSTANTS.DEFAULTS.API_CMS_CONFIG_GUEST_CACHE_KEY\n\t);\n\t// if the guest cache has been around for more than a day\n\t// then delete it.\n\tif (guestCMSCache) {\n\t\tconst lastUpdated = new Date(guestCMSCache.timestamp);\n\t\tconst ONE_DAY = 1000 * 24 * 60 * 60;\n\t\tif (new Date() - lastUpdated > ONE_DAY) {\n\t\t\tDevPlatformStorage.removeFromLocalStorage(\n\t\t\t\tCONSTANTS.DEFAULTS.API_CMS_CONFIG_GUEST_CACHE_KEY\n\t\t\t);\n\t\t}\n\t}\n};\n\nexport const requestInstanceButtonClicked = ({\n\tuserInfo,\n\treleaseInfo,\n\tsystemProperties,\n\tdispatch,\n\tisBuildAgentExperience = false\n}) => {\n\tuserInfo &&\n\tuserInfo.userType &&\n\tuserInfo.userType === CONSTANTS.DEFAULTS.PRISTINE_USER &&\n\treleaseInfo &&\n\treleaseInfo.availableVersions &&\n\treleaseInfo.availableVersions?.indexOf(\n\t\tsystemProperties['dev.defaultVersionSelected']\n\t) > -1\n\t\t? dispatch(APP_ACTIONS.PRISITNE_USER_REQUEST_INSTANCE_CLICKED)\n\t\t: dispatch(DPS_INSTANCE_ASSIGNMENT.MENU_ITEM_CLICKED, {\n\t\t\t\tselected: 'request',\n\t\t\t\tisBuildAgentExperience,\n\t\t  });\n\tdispatch(APP_ACTIONS.GET_ALL_INSTANCE_BACKUPS);\n};\n\n// added by mahesh p since showing no function found need to re-review and retire it\nexport const updateInstanceMenuItem = () => {};","import { DPS_NAVIGATION_INSTANCE_MANAGEMENT } from '../../../components/dps-navigation-header/actions';\nimport { CONSTANTS } from '../../../constants';\nimport { makeHttpEffectCreator, formatSysParam } from '../../../utils/helpers';\nimport { SessionService } from '../../../utils/sessionService';\nimport { APP_ACTIONS } from '../actions';\nimport { updateInstanceMenuItem } from '../actionHelpers';\n\nexport let refreshStatusInterval,\n\trefreshPollCount,\n\tmaxRefreshPollCount;\n\n\n\nexport const handleInstanceRefresh = makeHttpEffectCreator(\n\tDPS_NAVIGATION_INSTANCE_MANAGEMENT.REFRESH_INSTANCE,\n\tCONSTANTS.ENDPOINTS.REFRESH_STATUS_URL,\n\t{\n\t\tbatch: false,\n\t\theaders: { 'X-UserToken': SessionService.getHeaderUserToken() },\n\t\tmethod: 'POST',\n\t\tqueryParams: ['instanceSysID'],\n\t\tonError(coeffects) {\n\t\t\tconst { updateState, state } = coeffects;\n\t\t\tconst { instanceMenuItems } = state.properties;\n\t\t\tupdateInstanceMenuItem(instanceMenuItems, false, updateState);\n\t\t},\n\t\tonSuccess(coeffects) {\n\t\t\trefreshPollCount = 1;\n\t\t\tconst { state, dispatch, updateState, updateProperties } = coeffects;\n\t\t\thandleGetInstanceInfo(state, dispatch, updateState, updateProperties);\n\t\t}\n\t}\n);\n\nconst handleGetInstanceInfo = (\n\tstate,\n\tdispatch,\n\tupdateState,\n\tupdateProperties\n) => {\n\tconst { systemProperties } = state.properties;\n\tconst sysparm_data = formatSysParam('instance.ops.get_instance_info', {\n\t\tdirect_wake_up: true\n\t});\n\tdispatch(APP_ACTIONS.AUTO_REFRESH_GET_INSTANCE_INFO, { sysparm_data });\n\tmaxRefreshPollCount =\n\t\tparseInt(systemProperties['dev.instance.refresh.threshold']) /\n\t\tparseInt(systemProperties['dev.instance.refresh.wait_interval']);\n\n\trefreshStatusInterval = setInterval(() => {\n\t\tfetchGetInstanceInfo(dispatch, state, updateState, updateProperties);\n\t}, parseInt(systemProperties['dev.instance.refresh.wait_interval']));\n\n};\n\nconst fetchGetInstanceInfo = dispatch => {\n\trefreshPollCount = refreshPollCount + 1;\n\tconst sysparm_data = formatSysParam('instance.ops.get_instance_info', {\n\t\tdirect_wake_up: true\n\t});\n\tdispatch(APP_ACTIONS.AUTO_REFRESH_GET_INSTANCE_INFO, { sysparm_data });\n};\n","import { APP_ACTIONS } from '../actions';\nimport { CONSTANTS } from '../../../constants';\nimport { formatSysParam, makeHttpEffectCreator } from '../../../utils/helpers';\nimport { SessionService } from '../../../utils/sessionService';\nimport { updateInstanceMenuItem } from '../actionHelpers';\nimport { maxRefreshPollCount, refreshPollCount, refreshStatusInterval } from './handleInstanceRefresh';\n\nconst autoRefreshFetchInstanceInfo = makeHttpEffectCreator(\n\tAPP_ACTIONS.AUTO_REFRESH_GET_INSTANCE_INFO,\n\tCONSTANTS.ENDPOINTS.GETINSTANCE_INFO_ENDPOINT,\n\t{\n\t\tbatch: false,\n\t\theaders: { 'X-UserToken': SessionService.getHeaderUserToken() },\n\t\tmethod: 'GET',\n\t\tqueryParams: ['sysparm_data'],\n\t\tonSuccess(coeffects) {\n\t\t\tconst { action, state, updateState, dispatch } = coeffects;\n\t\t\tconst data = action.payload.result;\n\t\t\tconst {\n\t\t\t\tinstanceManagement: {\n\t\t\t\t\tinstanceActionMenu: instanceMenuItems\n\t\t\t\t},\n\t\t\t\tproperties: {\n\t\t\t\t\tsystemProperties,\n\t\t\t\t}\n\t\t\t} = state;\n\n\t\t\tconst {\n\t\t\t\tinstanceInfo\n\t\t\t} = data;\n\n\t\t\tif (\n\t\t\t\tparseInt(refreshPollCount && systemProperties['dev.instance.refresh.threshold']) >=\n\t\t\t\tinstanceInfo.lastInfoUpdatedDate ||\n\t\t\t\trefreshPollCount > maxRefreshPollCount\n\t\t\t) {\n\t\t\t\tconst sysparm_data = formatSysParam('instance.ops.get_instance_info', {\n\t\t\t\t\tdirect_wake_up: true\n\t\t\t\t});\n\t\t\t\tupdateInstanceMenuItem(instanceMenuItems, false, updateState, false);\n\t\t\t\tdispatch(APP_ACTIONS.GET_INSTANCE_INFO, { sysparm_data });\n\t\t\t\tclearInterval(refreshStatusInterval);\n\t\t\t}\n\n\t\t}\n\t}\n);\n\nexport default autoRefreshFetchInstanceInfo;\n","export const DPS_APP_INITIAL_STATE = {\n\t// TODO: Make this a system property\n\tFOOTER_PROPS: {\n\t\tsiteMap: [\n\t\t\t{\n\t\t\t\tid: 'learn',\n\t\t\t\tlabel: 'Learn',\n\t\t\t\tlink: '#!/learn',\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Learn Overview',\n\t\t\t\t\t\tlink: '#!/learn'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Learning Plans',\n\t\t\t\t\t\tlink: '#!/learn/learning-plans/{release}'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Courses',\n\t\t\t\t\t\tlink: '#!/learn/courses/{release}'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'reference',\n\t\t\t\tlabel: 'Reference',\n\t\t\t\tlink: '/reference',\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Reference Overview',\n\t\t\t\t\t\tlink: '#!/reference'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Product Documentation',\n\t\t\t\t\t\tlink: 'https://docs.servicenow.com/',\n\t\t\t\t\t\tisLinkOpenNewWindow: true\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Terms of Use',\n\t\t\t\t\t\tlink:\n\t\t\t\t\t\t\t'https://developer.servicenow.com/connect.do#!/legal_agreement?v=87a07be8db8610107ebac9fb0b9619ca',\n\t\t\t\t\t\tisLinkOpenNewWindow: true\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'guides',\n\t\t\t\tlabel: 'Guides',\n\t\t\t\tlink: '/guides',\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Guides Overview',\n\t\t\t\t\t\tlink: '#!/guides'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'connect',\n\t\t\t\tlabel: 'Connect',\n\t\t\t\tlink: '/connect',\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Developer Advocate Blog',\n\t\t\t\t\t\tlink: '/blog.do',\n\t\t\t\t\t\tisLinkOpenNewWindow: true\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Share',\n\t\t\t\t\t\tlink: '/connect.do#!/share',\n\t\t\t\t\t\tisLinkOpenNewWindow: true\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Events',\n\t\t\t\t\t\tlink: '/connect.do#!/events',\n\t\t\t\t\t\tisLinkOpenNewWindow: true\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'About ServiceNow',\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'servicenow.com',\n\t\t\t\t\t\tlink: 'https://www.servicenow.com/',\n\t\t\t\t\t\tisLinkOpenNewWindow: true\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Partner with us',\n\t\t\t\t\t\tlink: 'https://www.servicenow.com/partners.html',\n\t\t\t\t\t\tisLinkOpenNewWindow: true\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Customer Success Center',\n\t\t\t\t\t\tlink: 'https://www.servicenow.com/success.html',\n\t\t\t\t\t\tisLinkOpenNewWindow: true\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Knowledge Conference',\n\t\t\t\t\t\tlink: 'https://knowledge.servicenow.com/',\n\t\t\t\t\t\tisLinkOpenNewWindow: true\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}, {\n\t\t\t\tid: 'community',\n\t\t\t\tlabel: 'Developer Community',\n\t\t\t\tlink: 'https://www.servicenow.com/community/',\n\t\t\t\tisLinkOpenNewWindow: true\n\t\t\t},\n\t\t],\n\t\t// ROUTES TODO - Resource links need to be populated\n\t\tresources: [\n\t\t]\n\t},\n\tINSTANCE_MANAGEMENT: {\n\t\tavailablePlugins: [],\n\t\tcatItemInProgress: null,\n\t\texecuteCatItem: {},\n\t\texecuteCatItemResult: {},\n\t\tinstanceActionMenu: [],\n\t\tinstanceRefreshCount: 0,\n\t\tinstanceWakeUpPollCount: 0,\n\t\tisFetchingOpRequest: false,\n\t\tisInstanceRefreshing: false,\n\t\toperationHistory: [],\n\t\tcompleteOperationHistory: [],\n\t\topRequestId: null,\n\t\topResult: {},\n\t\topRetryNum: 0,\n\t\tshowOpResultBySysId: null,\n\t\tupgradeableInstanceTargets: [],\n\t\tisQuickResetAndWipeInProgress: false\n\t},\n\tINSTANCE_INFO: {\n\t\tbtn_extend_instance_tooltip: null,\n\t\tcanUpgrade: null,\n\t\tdaysSinceExtended: null,\n\t\tdisplay_btn_extend_instance: null,\n\t\tforced_maintenance: null,\n\t\tfull_release: null,\n\t\tinactivityWarningSent: null,\n\t\tisUnderMaintenance: null,\n\t\tlastActivityHint: null,\n\t\tlastInfoUpdated: null,\n\t\tlastInfoUpdatedDate: null,\n\t\tlatestDocLink: null,\n\t\tname: null,\n\t\trelease: null,\n\t\tremainingInactivityDays: null,\n\t\tremainingInactivityDaysUnitStr: null,\n\t\tremainingAgeDays: null,\n\t\tmaxExpiryDays: null,\n\t\tinactivityDays: null,\n\t\tshortDesc: null,\n\t\tstate: null,\n\t\tsys_id: null,\n\t\ttimeToLastActivity: null,\n\t\tupgradeVersion: null,\n\t\turl: null,\n\t\twakeupInProgress: null,\n\t\tappsInstalled: []\n\t},\n\tNAVIGATION_CONFIG: [],\n\tRELEASES: {\n\t\tactiveVersionsFormatted: {},\n\t\tdefaultVersionSelected: null,\n\t\tuserVersionSelected: null,\n\t\tisFetchingReleases: false,\n\t\tisFetchSuccessful: false\n\t}\n};\n\nconst initialState = {\n\tfailedFetchingSystemProperties: false,\n\tfooterProps: { ...DPS_APP_INITIAL_STATE.FOOTER_PROPS },\n\tinstanceAssignmentPollCount: 0,\n\tinstanceInfo: { ...DPS_APP_INITIAL_STATE.INSTANCE_INFO },\n\tinstanceManagement: { ...DPS_APP_INITIAL_STATE.INSTANCE_MANAGEMENT },\n\tleadTrackingCompleted: null,\n\tmagicLink: null,\n\tnavigationConfig: [...DPS_APP_INITIAL_STATE.NAVIGATION_CONFIG],\n\treleases: { ...DPS_APP_INITIAL_STATE.RELEASES },\n\ttoastMessages: [],\n\tnowAlertMessages: [],\n\twakeupOperationRequestId: null,\n\turlRedirections: null,\n\tuserInfoLoaded: false,\n\tbannerList: {},\n\tonexMenu: {},\n\tisAMBSessionRestablished: false\n};\n\nexport default initialState;","/* eslint-disable object-shorthand */\nimport { DPS_INSTANCE_MODAL_ACTIONS } from '../../../components/dps-instance-modal/actions';\nimport { APP_ACTIONS } from '../actions';\nimport { DPS_APP_INITIAL_STATE } from '../initialState';\nimport { afterInterceptors } from '../../../utils/interceptorHelpers';\nimport { getUserInfo } from '../actionHelpers';\n\nconst handleClearOpResult = () => ({\n\teffect: coeffects => {\n\t\tconst { action, state, updateState } = coeffects;\n\t\tconst { clearOpResult } = action.payload;\n\t\tconst {\n\t\t\texecuteCatItemResult,\n\t\t\topResult\n\t\t} = DPS_APP_INITIAL_STATE.INSTANCE_MANAGEMENT;\n\t\tconst showOpResultBySysId = clearOpResult\n\t\t\t? null\n\t\t\t: state.instanceManagement.showOpResultBySysId;\n\n\t\tupdateState({\n\t\t\tpath: 'instanceManagement.executeCatItemResult',\n\t\t\tvalue: executeCatItemResult,\n\t\t\toperation: 'set'\n\t\t});\n\t\tupdateState({\n\t\t\tpath: 'instanceManagement.opResult',\n\t\t\tvalue: opResult,\n\t\t\toperation: 'set'\n\t\t});\n\t\tupdateState({\n\t\t\tpath: 'instanceManagement.showOpResultBySysId',\n\t\t\tvalue: showOpResultBySysId,\n\t\t\toperation: 'set'\n\t\t});\n\n\t}\n});\n\nconst refetchUserInfo = ({ dispatch }) => {\n\tgetUserInfo(dispatch);\n};\n\nconst updateMagicLink = ({ dispatch }) => {\n\tdispatch(APP_ACTIONS.UPDATE_MAGIC_LINK);\n};\n\nexport default {\n\t[DPS_INSTANCE_MODAL_ACTIONS.CLEAR_OP_RESULT]: handleClearOpResult(),\n\t[DPS_INSTANCE_MODAL_ACTIONS.CLOSE_MODAL]: {\n\t\t...(handleClearOpResult()),\n\t\tinterceptors: [afterInterceptors([refetchUserInfo, updateMagicLink])]\n\t},\n\t[DPS_INSTANCE_MODAL_ACTIONS.CONFIRMATION_DONE_CLICKED]: handleClearOpResult(),\n\t[DPS_INSTANCE_MODAL_ACTIONS.EXECUTE_CAT_ITEM_STARTED]: ({\n\t\taction,\n\t\tdispatch\n\t}) => {\n\t\tdispatch(APP_ACTIONS.EXECUTE_CAT_ITEM_STARTED, { ...action.payload });\n\t},\n\t[DPS_INSTANCE_MODAL_ACTIONS.UPDATE_INSTANCE_STATE]: ({ dispatch }) => {\n\t\tdispatch(APP_ACTIONS.UPDATE_INSTANCE_STATE, { direct_wake_up: false });\n\t}\n};\n","import { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { APP_ACTIONS } from '../actions';\nimport {\n\tCONSTANTS,\n\tinstanceStateList,\n\tINSTANCE_ACTION_STATES,\n\tINSTANCE_ACTION_LABELS,\n\tALERTS\n} from '../../../constants';\nimport { formatSysParam, makeHttpEffectCreator } from '../../../utils/helpers';\n\nconst INSTANCE_INFO = {\n\tGET_INSTANCE_INFO: 'INSTANCE_INFO#GET_INSTANCE_INFO',\n\tGET_INSTANCE_INFO_SUCCEEDED: 'INSTANCE_INFO#GET_INSTANCE_INFO_SUCCEEDED',\n\tGET_INSTANCE_INFO_ERRORED: 'INSTANCE_INFO#GET_INSTANCE_INFO_ERRORED'\n};\n\nconst handleGetInstanceInfo = createHttpEffect(\n\tCONSTANTS.ENDPOINTS.DEV_PORTAL_URI,\n\t{\n\t\tmethod: 'POST',\n\t\tqueryParams: ['sysparm_data'],\n\t\tbatch: false,\n\t\tsuccessActionType: INSTANCE_INFO.GET_INSTANCE_INFO_SUCCEEDED,\n\t\terrorActionType: INSTANCE_INFO.GET_INSTANCE_INFO_ERRORED\n\t}\n);\n\nconst isOperationSuccessful = payload => payload.status === 'SUCCESS';\n\nconst isNonPollingOperationSuccessful = ({ operationType, payload }) => {\n\tconst nonPollingOperations = [\n\t\tINSTANCE_ACTION_LABELS.ACTIVATE_PLUGIN,\n\t\tINSTANCE_ACTION_LABELS.REMOVE_DEMO_DATA,\n\t\tINSTANCE_ACTION_LABELS.RESET_AND_WIPE_INSTANCE,\n\t\tINSTANCE_ACTION_LABELS.UPGRADE_INSTANCE\n\t];\n\treturn (\n\t\tnonPollingOperations.includes(operationType) &&\n\t\tisOperationSuccessful(payload)\n\t);\n};\n\nconst isReleaseInstanceOperationSuccessful = ({ operationType, payload }) =>\n\tisOperationSuccessful(payload) &&\n\toperationType === INSTANCE_ACTION_LABELS.RELEASE_INSTANCE;\n\nconst handleGetInstanceInfoSucceeded = ({ action, dispatch }) => {\n\tconst { payload } = action;\n\n\tif (\n\t\tpayload.instanceInfo &&\n\t\tinstanceStateList.indexOf(payload.instanceInfo.state) > -1\n\t) {\n\t\tconst sysparm_data = formatSysParam('instance.ops.get_instance_info', {\n\t\t\tdirect_wake_up: false\n\t\t});\n\t\tdispatch('DPS_MODAL#OPENED_SET', { value: false });\n\t\tdispatch(APP_ACTIONS.GET_INSTANCE_INFO, { sysparm_data });\n\t}\n\tdispatch(APP_ACTIONS.EXECUTE_CAT_ITEM_FINISHED, {\n\t\t...payload,\n\t\tisPolling: false\n\t});\n};\n\nconst handleGetInstanceInfoErrored = ({ action, dispatch }) => {\n\tconst { payload } = action;\n\n\tdispatch(APP_ACTIONS.EXECUTE_CAT_ITEM_FINISHED, {\n\t\t...payload,\n\t\tisPolling: false\n\t});\n};\n\n// Check if Quick Reset and Wipe Operation is in progress\nconst checkIfQuickResetWipeOperation = ({ meta, operationType }) => {\n\tconst {\n\t\trequest: {\n\t\t\tparams: {\n\t\t\t\tsysparm_data: {\n\t\t\t\t\tdata: { additionalParams }\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} = meta;\n\treturn (\n\t\tadditionalParams &&\n\t\tadditionalParams.quickResetWipeOperation &&\n\t\tINSTANCE_ACTION_LABELS.RESET_AND_WIPE_INSTANCE === operationType\n\t);\n};\n\nconst executeCatItem = {\n\t...makeHttpEffectCreator(\n\t\tAPP_ACTIONS.EXECUTE_CAT_ITEM,\n\t\tCONSTANTS.ENDPOINTS.DEV_PORTAL_URI,\n\t\t{\n\t\t\tbatch: false,\n\t\t\tmethod: 'GET',\n\t\t\tqueryParams: ['sysparm_data'],\n\t\t\tonError(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction,\n\t\t\t\t\tdispatch,\n\t\t\t\t\tstate,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tupdateProperties,\n\t\t\t\t\tproperties,\n\t\t\t\t} = coeffects;\n\t\t\t\tconst { payload } = action;\n\t\t\t\tconst catItemInProgress = null;\n\t\t\t\tconst sysparm_data = formatSysParam(\n\t\t\t\t\tCONSTANTS.DEV_PORTAL_ACTIONS.GET_INSTANCE_INFO,\n\t\t\t\t\t{\n\t\t\t\t\t\tdirect_wake_up: true\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tupdateProperties({\n\t\t\t\t\tdisableInstanceModalClose: false\n\t\t\t\t});\n\n\t\t\t\tupdateState({\n\t\t\t\t\tinstanceManagement: {\n\t\t\t\t\t\t...state.instanceManagement,\n\t\t\t\t\t\tcatItemInProgress,\n\t\t\t\t\t\texecuteCatItemFailed: true,\n\t\t\t\t\t\texecuteCatItemResult: {\n\t\t\t\t\t\t\t...payload\n\t\t\t\t\t\t},\n\t\t\t\t\t\topResult: { ...payload }\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t// If executing the catalog item fails, we should refetch the instance status\n\t\t\t\tdispatch(APP_ACTIONS.GET_INSTANCE_INFO, { sysparm_data });\n\t\t\t\tdispatch(APP_ACTIONS.UPDATE_INSTANCE_ACTION_MENU, {\n\t\t\t\t\tcatItemInProgress\n\t\t\t\t});\n\t\t\t},\n\t\t\tonSuccess(coeffects) {\n\t\t\t\tconst { action, dispatch, state, updateProperties } = coeffects;\n\t\t\t\tconst { payload, meta } = action;\n\t\t\t\tconst {\n\t\t\t\t\tinstanceInfo: { sys_id: ins_id },\n\t\t\t\t\tinstanceManagement: { catItemInProgress }\n\t\t\t\t} = state;\n\n\t\t\t\tconst changedRole = meta.request.params.sysparm_data.data.additionalParams.role || '';\n\t\t\t\tconst isQuickResetWipeInProgress = checkIfQuickResetWipeOperation({\n\t\t\t\t\tmeta,\n\t\t\t\t\toperationType: catItemInProgress && catItemInProgress.name\n\t\t\t\t});\n\n\t\t\t\tupdateProperties({\n\t\t\t\t\tinstancePassword: state.instanceInfo.tempPassword\n\t\t\t\t});\n\n\t\t\t\tupdateProperties({\n\t\t\t\t\tchangedPdiUserRole: changedRole\n\t\t\t\t});\n\n\t\t\t\tif (\n\t\t\t\t\tisReleaseInstanceOperationSuccessful({\n\t\t\t\t\t\toperationType: catItemInProgress && catItemInProgress.name,\n\t\t\t\t\t\tpayload\n\t\t\t\t\t})\n\t\t\t\t) {\n\t\t\t\t\tconst sysparm_data = formatSysParam(\n\t\t\t\t\t\t'instance.ops.get_instance_info',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdirect_wake_up: false\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\tdispatch(INSTANCE_INFO.GET_INSTANCE_INFO, { sysparm_data });\n\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\tdisableInstanceModalClose: false\n\t\t\t\t\t});\n\t\t\t\t} else if (isQuickResetWipeInProgress) {\n\t\t\t\t\tdispatch(APP_ACTIONS.QUICK_RESET_WIPE, payload);\n\n\t\t\t\t} else if (\n\t\t\t\t\tisNonPollingOperationSuccessful({\n\t\t\t\t\t\toperationType: catItemInProgress && catItemInProgress.name,\n\t\t\t\t\t\tpayload\n\t\t\t\t\t})\n\t\t\t\t) {\n\t\t\t\t\tdispatch(APP_ACTIONS.EXECUTE_CAT_ITEM_FINISHED, {\n\t\t\t\t\t\t...payload,\n\t\t\t\t\t\tisPolling: false\n\t\t\t\t\t});\n\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\tdisableInstanceModalClose: false\n\t\t\t\t\t});\n\t\t\t\t} else if (isOperationSuccessful(payload)) {\n\t\t\t\t\t// payload status is SUCCESS and needs_polling\n\t\t\t\t\tconst { opRequestId } = payload;\n\t\t\t\t\tconst sysparm_data = formatSysParam(\n\t\t\t\t\t\t'instance.ops.get_op_req_status',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tins_id,\n\t\t\t\t\t\t\top_req_id: opRequestId\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\tdispatch(APP_ACTIONS.GET_OP_REQ_STATUS, { sysparm_data });\n\t\t\t\t} else {\n\t\t\t\t\tif (payload['read status'] &&\n\t\t\t\t\t\tpayload['send status']) {\n\t\t\t\t\t\tif (payload['action'] === \"email enabled\") {\n\t\t\t\t\t\t\tdispatch(\"APP#MANAGE_ALERTS_STATE\", { [ALERTS.MANAGE_EMAIL_POSITIVE_ENABLED]: true });\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdispatch(\"APP#MANAGE_ALERTS_STATE\", { [ALERTS.MANAGE_EMAIL_POSITIVE_DISABLED]: true });\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (payload['action']) {\n\t\t\t\t\t\tdispatch(\"APP#MANAGE_ALERTS_STATE\", { [ALERTS.MANAGE_EMAIL_NEGATIVE]: true });\n\t\t\t\t\t}\n\t\t\t\t\t// payload status is NOT SUCCESS\n\t\t\t\t\t// Setting the Instance state back to 'ONLINE'\n\t\t\t\t\tdispatch(APP_ACTIONS.EXECUTE_CAT_ITEM_FAILED, payload);\n\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\tdisableInstanceModalClose: false\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (meta.request.params.sysparm_data.data.additionalParams?.isPdiSummary) {\n\t\t\t\t\tdispatch(APP_ACTIONS.UPDATE_INSTANCE_STATE, { direct_wake_up: false });\n\t\t\t\t\tif (meta.request.params.sysparm_data.data.additionalParams?.pluginId) {\n\t\t\t\t\t\tsetTimeout((dispatcher) => {\n\t\t\t\t\t\t\tdispatcher(\"APP#MANAGE_ALERTS_STATE\", { [ALERTS.ACTIVATE_PLUGIN]: true });\n\t\t\t\t\t\t}, 1, dispatch);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t),\n\t[APP_ACTIONS.EXECUTE_CAT_ITEM_FINISHED](coeffects) {\n\t\tconst { action, state, updateState } = coeffects;\n\t\tconst { isPolling, ...opResult } = action.payload;\n\t\t// if this is triggered from a non-polling operation, then we can clear out the catItemInProgress\n\t\t// const catItemInProgress = isPolling\n\t\t// \t? state.instanceManagement.catItemInProgress\n\t\t// \t: null;\t\t\n\n\t\tupdateState({\n\t\t\tinstanceManagement: {\n\t\t\t\t...state.instanceManagement,\n\t\t\t\t// catItemInProgress,\n\t\t\t\texecuteCatItemFailed: false,\n\t\t\t\texecuteCatItemResult: { ...opResult },\n\t\t\t\topRetryNum: 0,\n\t\t\t\topRequestId: opResult.opRequestId\n\t\t\t}\n\t\t});\n\t},\n\t[APP_ACTIONS.EXECUTE_CAT_ITEM_STARTED](coeffects) {\n\t\tconst {\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\tstate,\n\t\t\tupdateProperties,\n\t\t\tupdateState\n\t\t} = coeffects;\n\t\tconst { menuItem, sysparm_data } = action.payload;\n\n\t\tupdateProperties({\n\t\t\tdisableInstanceModalClose:\n\t\t\t\tmenuItem.name === INSTANCE_ACTION_LABELS.RESET_ADMIN_PASSWORD ||\n\t\t\t\tmenuItem.name === INSTANCE_ACTION_LABELS.CHANGE_USER_ROLE\n\t\t});\n\t\tupdateState({\n\t\t\tinstanceManagement: {\n\t\t\t\t...state.instanceManagement,\n\t\t\t\tcatItemInProgress: menuItem,\n\t\t\t\texecuteCatItemResult: {},\n\t\t\t\tshowOpResultBySysId: menuItem.sys_id\n\t\t\t}\n\t\t});\n\n\t\tdispatch(APP_ACTIONS.UPDATE_INSTANCE_ACTION_MENU, {\n\t\t\tcatItemInProgress: menuItem\n\t\t});\n\t\tdispatch(APP_ACTIONS.EXECUTE_CAT_ITEM, { sysparm_data });\n\t},\n\t[INSTANCE_INFO.GET_INSTANCE_INFO]: handleGetInstanceInfo,\n\t[INSTANCE_INFO.GET_INSTANCE_INFO_SUCCEEDED]: handleGetInstanceInfoSucceeded,\n\t[INSTANCE_INFO.GET_INSTANCE_INFO_ERRORED]: handleGetInstanceInfoErrored\n};\n\nexport default executeCatItem;\n","import { APP_ACTIONS } from '../actions';\nimport { CONSTANTS, INSTANCE_ACTION_STATES } from '../../../constants';\nimport { makeHttpEffectCreator } from '../../../utils/helpers';\nimport { SessionService } from '../../../utils/sessionService';\n\nconst getSysIdForCatItemInProgress = ({\n\tcatItemInProgress,\n\tinstanceManagement,\n\tmenuItems\n}) => {\n\t// Return the existing showOpResultBySysId in the case where either executeCatItem or fetchOpReq have failed\n\tif (\n\t\tinstanceManagement.executeCatItemFailed ||\n\t\tinstanceManagement.fetchOpReqFailed\n\t) {\n\t\treturn instanceManagement.showOpResultBySysId;\n\t}\n\n\tif (catItemInProgress) {\n\t\t// if the catItemInProgress is an upgrade operation,\n\t\t// return the sys_id of the parent 'Upgrade instance' menuItem\n\t\tif (catItemInProgress.name.indexOf('Upgrade to') !== -1) {\n\t\t\tconst upgradeInstanceItem = menuItems.find(\n\t\t\t\tmenuItem => menuItem.name === 'Upgrade instance'\n\t\t\t);\n\t\t\treturn upgradeInstanceItem && upgradeInstanceItem.sys_id;\n\t\t}\n\t\treturn catItemInProgress.sys_id;\n\t}\n\n\treturn null;\n};\n\nconst fetchActionMenu = makeHttpEffectCreator(\n\tAPP_ACTIONS.GET_ACTION_MENU,\n\tCONSTANTS.ENDPOINTS.GET_ACTION_MENU_ITEMS,\n\t{\n\t\tbatch: false,\n\t\theaders: { 'X-UserToken': SessionService.getHeaderUserToken() },\n\t\tmethod: 'GET',\n\t\tqueryParams: ['ins_id'],\n\t\tonError(coeffects) {\n\t\t\tconst { state, updateState } = coeffects;\n\n\t\t\tupdateState({\n\t\t\t\tinstanceManagement: {\n\t\t\t\t\t...state.instanceManagement,\n\t\t\t\t\tisFetchingActionMenuSuccessful: false,\n\t\t\t\t\tinstanceActionMenu: [],\n\t\t\t\t\tupgradeableInstanceTargets: []\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tonSuccess(coeffects) {\n\t\t\tconst { action, dispatch, state, updateState } = coeffects;\n\t\t\tconst { instanceInfo, instanceManagement, properties } = state;\n\t\t\tconst { result } = action.payload;\n\t\t\tconst { systemProperties } = properties;\n\t\t\tlet data = result || [];\n\n\t\t\t// Filter out 'Change User Role' if user has first time instance\n\t\t\tif (\n\t\t\t\tinstanceInfo.state === INSTANCE_ACTION_STATES.FIRST_TIME &&\n\t\t\t\tdata.length > 0\n\t\t\t) {\n\t\t\t\tdata = data.filter(\n\t\t\t\t\titem => item.name !== CONSTANTS.DEFAULTS.CHANGE_USER_ROLE\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Upgradable instances\n\t\t\tconst upgradeableInstanceTargets =\n\t\t\t\tdata &&\n\t\t\t\tdata.filter(item => item.upgradeTarget && item.is_active).reverse();\n\t\t\t// Find the catalog item in progress, otherwise set to null\n\t\t\tlet catItemInProgress =\n\t\t\t\t(data &&\n\t\t\t\t\tdata.find(\n\t\t\t\t\t\tcatItem =>\n\t\t\t\t\t\t\t(catItem.in_progress && catItem.is_active && catItem.sys_id !== systemProperties['dev.cat_item.refresh_status']) ||\n\t\t\t\t\t\t\t(catItem.in_progress && catItem.name.indexOf('Upgrade to') > -1)\n\t\t\t\t\t)\n\t\t\t\t) || null;\n\n\t\t\tif (!catItemInProgress && data) {\n\t\t\t\tconst upgradeCatItem = data.find(catItem => catItem.in_progress);\n\t\t\t\tif (\n\t\t\t\t\tupgradeCatItem &&\n\t\t\t\t\tupgradeCatItem.name &&\n\t\t\t\t\tupgradeCatItem.name.indexOf('Upgrade to') !== -1\n\t\t\t\t) {\n\t\t\t\t\tcatItemInProgress = data.find(\n\t\t\t\t\t\tcatItem => catItem.name === 'Upgrade instance'\n\t\t\t\t\t);\n\t\t\t\t\tcatItemInProgress.in_progress = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// TODO - This should be refactored. We need to have fetchActionMenu run conditionally\n\t\t\tconst showOpResultBySysId = getSysIdForCatItemInProgress({\n\t\t\t\tcatItemInProgress,\n\t\t\t\tinstanceManagement,\n\t\t\t\tmenuItems: data\n\t\t\t});\n\n\t\t\tupdateState({\n\t\t\t\tinstanceManagement: {\n\t\t\t\t\t...instanceManagement,\n\t\t\t\t\tcatItemInProgress,\n\t\t\t\t\tisFetchingActionMenuSuccessful: true,\n\t\t\t\t\tshowOpResultBySysId,\n\t\t\t\t\tupgradeableInstanceTargets\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// Dispatch action to populate the action menu items\n\t\t\tdispatch(APP_ACTIONS.UPDATE_INSTANCE_ACTION_MENU, {\n\t\t\t\tcatItemInProgress,\n\t\t\t\tdata,\n\t\t\t\tupgradeableInstanceTargets\n\t\t\t});\n\t\t}\n\t}\n);\n\nexport default fetchActionMenu;\n","import { APP_ACTIONS } from '../actions';\nimport { CONSTANTS } from '../../../constants';\nimport { makeHttpEffectCreator } from '../../../utils/helpers';\n\nconst fetchAssignReqStatus = makeHttpEffectCreator(\n\tAPP_ACTIONS.GET_ASSIGN_REQ_STATUS,\n\tCONSTANTS.ENDPOINTS.DEV_PORTAL_URI,\n\t{\n\t\tbatch: false,\n\t\tmethod: 'GET',\n\t\tqueryParams: ['sysparm_data'],\n\t\tonError(coeffects) {\n\t\t\tconst { state, updateState } = coeffects;\n\t\t\t\n\t\t\tupdateState({ \n\t\t\t\tpath: 'instanceManagement.isFetchingAssignReqSuccessful',\n\t\t\t\tvalue: false,\n\t\t\t\toperation: 'set'\n\t\t\t});\n\t\t},\n\t\tonSuccess(coeffects) {\n\t\t\tconst { state, updateState } = coeffects;\n\n\t\t\tupdateState({ \n\t\t\t\tpath: 'instanceManagement.isFetchingAssignReqSuccessful',\n\t\t\t\tvalue: true,\n\t\t\t\toperation: 'set'\n\t\t\t});\n\t\t}\n\t}\n);\n\nexport default fetchAssignReqStatus;\n","import { APP_ACTIONS } from '../actions';\nimport { CONSTANTS } from '../../../constants';\nimport { makeHttpEffectCreator } from '../../../utils/helpers';\nimport { SessionService } from '../../../utils/sessionService';\n\nconst fetchAvailPlugins = makeHttpEffectCreator(\n\tAPP_ACTIONS.GET_AVAIL_PLUGINS,\n\tCONSTANTS.ENDPOINTS.DEV_PORTAL_URI,\n\t{\n\t\tbatch: false,\n\t\theaders: { 'X-UserToken': SessionService.getHeaderUserToken() },\n\t\tmethod: 'GET',\n\t\tqueryParams: ['sysparm_data'],\n\t\tonError(coeffects) {\n\t\t\tconst { state, updateState } = coeffects;\n\t\t\tupdateState({ \n\t\t\t\tinstanceManagement: {\n\t\t\t\t\t...state.instanceManagement,\n\t\t\t\t\tisFetchingAvailablePluginsSuccessful: false,\n\t\t\t\t\tisLoadingPlugins: false,\n\t\t\t\t\tavailablePlugins: []\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tonSuccess(coeffects) {\n\t\t\tconst { action, state, updateState } = coeffects;\n\t\t\tconst data = action.payload;\n\t\t\tupdateState({ \n\t\t\t\tinstanceManagement: {\n\t\t\t\t\t...state.instanceManagement,\n\t\t\t\t\tisFetchingAvailablePluginsSuccessful: true,\n\t\t\t\t\tisLoadingPlugins: false,\n\t\t\t\t\tavailablePlugins: [...data]\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n);\n\nexport default fetchAvailPlugins;\n","import { APP_ACTIONS } from '../actions';\nimport { CONSTANTS } from '../../../constants';\nimport { makeHttpEffectCreator } from '../../../utils/helpers';\n\nconst fetchLeadTracking = makeHttpEffectCreator(\n\tAPP_ACTIONS.GET_LEAD_TRACKING_DATA,\n\tCONSTANTS.ENDPOINTS.DEV_PORTAL_URI,\n\t{\n\t\tbatch: false,\n\t\tmethod: 'GET',\n\t\tqueryParams: ['sysparm_data'],\n\t\tonError(coeffects) {\n\t\t\tconst { updateProperties } = coeffects;\n\t\t\tupdateProperties({\n\t\t\t\tfailedToLoadContent: true\n\t\t\t});\n\t\t},\n\t\tonSuccess(coeffects) {\n\t\t\tconst { action, updateProperties } = coeffects;\n\t\t\tconst {\n\t\t\t\tcountryList,\n\t\t\t\terror,\n\t\t\t\tgdpr_consent,\n\t\t\t\trolesList,\n\t\t\t\tzipCodeRegex,\n\t\t\t\tquestionOne,\n\t\t\t\tquestionTwo\n\t\t\t} = action.payload.result.data.lead_tracking_info;\n\t\t\tconst {\n\t\t\t\tother_text_max_chars,\n\t\t\t\ttell_us_more_max_chars,\n\t\t\t\tquestion_one_other,\n\t\t\t\tquestion_two_other\n\t\t\t} = error;\n\n\t\t\tlet roles, countryNames, formQuestions;\n\n\t\t\tif (rolesList) {\n\t\t\t\troles = rolesList.map(role => role.label);\n\t\t\t\troles.unshift('Select your role in your company');\n\t\t\t}\n\n\t\t\tif (countryList) {\n\t\t\t\tcountryNames = countryList.map(country => country.name);\n\t\t\t\tcountryNames.unshift('Select your country');\n\t\t\t}\n\n\t\t\tif (questionOne && questionTwo) {\n\t\t\t\tformQuestions = {\n\t\t\t\t\tformQuestionOne: {\n\t\t\t\t\t\ttext: questionOne.question.text,\n\t\t\t\t\t\toption: questionOne.option\n\t\t\t\t\t},\n\t\t\t\t\tformQuestionTwo: {\n\t\t\t\t\t\ttext: questionTwo.question.text,\n\t\t\t\t\t\toption: questionTwo.option\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tupdateProperties({\n\t\t\t\tfailedToLoadContent: false,\n\t\t\t\tleadTrackingProps: {\n\t\t\t\t\tcountryNames,\n\t\t\t\t\tcountryList,\n\t\t\t\t\tquestionOneOtherErrorText: question_one_other,\n\t\t\t\t\tquestionTwoOtherErrorText: question_two_other,\n\t\t\t\t\tmaxChars: tell_us_more_max_chars,\n\t\t\t\t\tcharsLeft: tell_us_more_max_chars,\n\t\t\t\t\tmaxOtherChars: other_text_max_chars,\n\t\t\t\t\tgdprConsent: gdpr_consent,\n\t\t\t\t\troles,\n\t\t\t\t\tformQuestions,\n\t\t\t\t\tzipCodeRegex\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n);\n\nexport default fetchLeadTracking;\n","import { APP_ACTIONS } from '../actions';\nimport { CONSTANTS } from '../../../constants';\nimport { makeHttpEffectCreator } from '../../../utils/helpers';\n\nconst fetchCommonData = makeHttpEffectCreator(\n\tAPP_ACTIONS.GET_COMMON_DATA,\n\tCONSTANTS.ENDPOINTS.COMMON_DATA,\n\t{\n\t\tbatch: false,\n\t\tmethod: 'GET',\n\t\tpathParams: ['keys'],\n\t\tonError({ action, updateProperties, dispatch }) {\n\t\t\t// Handle error - you can add custom error handling here\n\t\t\tconsole.error('Failed to fetch common data:', action.payload);\n\t\t},\n\t\tonSuccess({ action, updateProperties, dispatch }) {\n\t\t\t// Handle success - process the returned data\n\t\t\tconst { result } = action.payload;\n\t\t\t\n\t\t\tif (result) {\n\t\t\t\t// Update properties with the fetched common data\n\t\t\t\tupdateProperties({\n\t\t\t\t\tcommonData: result\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n);\n\nexport default fetchCommonData;\n","import { APP_ACTIONS } from '../actions';\nimport { CONSTANTS } from '../../../constants';\nimport { makeSnHttpFactory } from '../../../utils/helpers';\nimport { setInstanceBackupList } from '../actionHelpers';\n\nconst handleFetchInstanceBackupsFailed = coeffects => {};\nconst handleFetchInstanceBackupsSucceeded = coeffects => {\n\tconst { action } = coeffects;\n\tsetInstanceBackupList(action.payload.result);\n};\n\nexport default {\n\t[APP_ACTIONS.GET_ALL_INSTANCE_BACKUPS]: makeSnHttpFactory({\n\t\tactionName: APP_ACTIONS.GET_ALL_INSTANCE_BACKUPS,\n\t\turl: CONSTANTS.ENDPOINTS.GET_ALL_INSTANCE_BACKUPS\n\t}),\n\t[APP_ACTIONS.GET_ALL_INSTANCE_BACKUPS_FAILED]: handleFetchInstanceBackupsFailed,\n\t[APP_ACTIONS.GET_ALL_INSTANCE_BACKUPS_SUCCEEDED]: handleFetchInstanceBackupsSucceeded\n};\n","/**\n * Utility functions for triggering Qualtrics surveys based on learning completion\n */\n\n// Constants\nconst BUILD_AGENT_CONVERSATION_SURVEY_KEY = 'build_agent_conversation_survey_shown';\nconst QUALTRICS_LOAD_TIMEOUT = 10000; // 10 seconds max wait for Qualtrics to load\nconst QUALTRICS_POLL_INTERVAL = 500; // Check every 500ms\n\n/**\n * Waits for Qualtrics (QSI) to load with polling and timeout\n * @param {number} timeout - Maximum time to wait in milliseconds\n * @param {number} interval - Polling interval in milliseconds\n * @returns {Promise<boolean>} - Resolves to true if QSI loaded, false if timeout\n */\nconst waitForQualtricsToLoad = (timeout = QUALTRICS_LOAD_TIMEOUT, interval = QUALTRICS_POLL_INTERVAL) => {\n\treturn new Promise((resolve) => {\n\t\t// Check if already loaded\n\t\tif (typeof window.QSI !== 'undefined' && window.QSI.API) {\n\t\t\tresolve(true);\n\t\t\treturn;\n\t\t}\n\n\t\tconst startTime = Date.now();\n\t\tconst pollInterval = setInterval(() => {\n\t\t\t// Check if QSI is now available\n\t\t\tif (typeof window.QSI !== 'undefined' && window.QSI.API) {\n\t\t\t\tclearInterval(pollInterval);\n\t\t\t\tresolve(true);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Check if timeout reached\n\t\t\tif (Date.now() - startTime >= timeout) {\n\t\t\t\tclearInterval(pollInterval);\n\t\t\t\tresolve(false);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}, interval);\n\t});\n};\n\n/**\n * Shared success handler for learning survey backend save\n * Validates response, retrieves pending data, and marks survey as shown\n * @param {Object} action - Redux action with backend response\n * @returns {boolean} - True if successfully marked as shown\n */\nexport const handleLearningSurveySuccess = (action) => {\n\tconsole.log('✅ SUCCESS: Survey trigger recorded in backend, Backend response:', action.payload);\n\t\n\t// Validate backend response: {result: {success: true, target_sys_id: \"...\", message: \"...\"}}\n\tif (!action.payload || !action.payload.result || action.payload.result.success !== true) {\n\t\tconsole.error('❌ Backend save failed or invalid response - cannot mark survey as shown');\n\t\treturn false;\n\t}\n\t\n\t// Since makeHttpEffectCreator doesn't pass original request data through coeffects,\n\t// we need to find the matching pending survey from window._pendingLearningSurveys\n\t// We'll use the most recent entry (surveys are triggered one at a time in practice)\n\twindow._pendingLearningSurveys = window._pendingLearningSurveys || {};\n\tconst pendingKeys = Object.keys(window._pendingLearningSurveys);\n\t\n\tif (pendingKeys.length === 0) {\n\t\tconsole.error('❌ No pending survey data found - window._pendingLearningSurveys is empty');\n\t\treturn false;\n\t}\n\t\n\t// Get the most recent pending survey (highest timestamp)\n\tlet mostRecentKey = null;\n\tlet mostRecentTimestamp = 0;\n\t\n\tpendingKeys.forEach(key => {\n\t\tconst data = window._pendingLearningSurveys[key];\n\t\tif (data && data.timestamp && data.timestamp > mostRecentTimestamp) {\n\t\t\tmostRecentTimestamp = data.timestamp;\n\t\t\tmostRecentKey = key;\n\t\t}\n\t});\n\t\n\tif (!mostRecentKey) {\n\t\tconsole.error('❌ No valid pending survey data found');\n\t\treturn false;\n\t}\n\t\n\tconst pendingData = window._pendingLearningSurveys[mostRecentKey];\n\tconst { learningId, learningType, userId } = pendingData;\n\t\n\t// Mark as shown only if we have required data\n\tif (learningId && learningType) {\n\t\tmarkSurveyShown(learningId, learningType, userId);\n\t\tconsole.log('✅ Survey marked as shown in localStorage:', { learningId, learningType, userId });\n\t\t\n\t\t// Clear pending data after processing to prevent memory leak\n\t\tdelete window._pendingLearningSurveys[mostRecentKey];\n\t\t\n\t\t// Cleanup old entries (older than 5 minutes)\n\t\tconst now = Date.now();\n\t\tconst fiveMinutes = 5 * 60 * 1000;\n\t\tObject.keys(window._pendingLearningSurveys).forEach(key => {\n\t\t\tconst data = window._pendingLearningSurveys[key];\n\t\t\tif (data && data.timestamp && (now - data.timestamp) > fiveMinutes) {\n\t\t\t\tdelete window._pendingLearningSurveys[key];\n\t\t\t\tconsole.warn('🧹 Cleaned up stale pending survey data:', key);\n\t\t\t}\n\t\t});\n\t\t\n\t\treturn true;\n\t} else {\n\t\tconsole.error('❌ Cannot mark survey as shown - missing learningId or learningType in pending data');\n\t\t// Still clear the pending data even if invalid\n\t\tdelete window._pendingLearningSurveys[mostRecentKey];\n\t\treturn false;\n\t}\n};\n\n/**\n * Executes Qualtrics API calls (unload, load, run)\n * @param {string} context - Context for logging\n * @param {Array} events - Events to trigger\n */\nconst executeQualtricsAPI = (context, events) => {\n\ttry {\n\t\twindow.QSI.API.unload();\n\t\tconsole.log(`[${context}] ✓ Step 1/2: Unload complete`);\n\t\t\n\t\t// QSI.API.load() may or may not return a Promise depending on Qualtrics version\n\t\t// Wrap in Promise.resolve() to handle both cases\n\t\tPromise.resolve(window.QSI.API.load())\n\t\t\t.then(() => {\n\t\t\t\tconsole.log(`[${context}] ✓ Step 2/2: Load complete`);\n\t\t\t\twindow.QSI.API.run();\n\t\t\t\tconsole.log(`[${context}] ✅ Survey triggered successfully!`);\n\t\t\t})\n\t\t\t.catch((e) => {\n\t\t\t\tconsole.error(`[${context}] ❌ Load/Run failed - Survey will NOT appear:`, e);\n\t\t\t});\n\t} catch (e) {\n\t\tconsole.error(`[${context}] ❌ API call failed - Survey will NOT appear:`, e);\n\t}\n};\n\n/**\n * Common utility to trigger Qualtrics API with queued events\n * This function should be called AFTER all events are pushed to window._qsie\n * Waits for Qualtrics to load (up to 5 seconds) before triggering\n * @param {string} [context] - Optional context for logging (e.g., 'Learning Survey', 'PDI Survey')\n */\nexport const triggerQualtricsAPI = (context = 'Survey') => {\n\t// Ensure window._qsie is initialized as an array\n\tif (!window._qsie) {\n\t\twindow._qsie = [];\n\t}\n\t\n\t// Check if there are events to trigger first\n\tif (!Array.isArray(window._qsie) || window._qsie.length === 0) {\n\t\t// No events queued - this is normal, just return silently\n\t\treturn;\n\t}\n\n\tconst eventCount = window._qsie.length;\n\tconst events = Array.isArray(window._qsie) ? [...window._qsie] : []; // Safe copy for logging\n\tconsole.log(`[${context}] 🎯 Preparing to trigger Qualtrics survey with ${eventCount} event(s):`, events);\n\n\t// Check if QSI is already loaded\n\tif (typeof window.QSI !== 'undefined' && window.QSI.API) {\n\t\tconsole.log(`[${context}] ✓ Qualtrics already loaded, triggering immediately...`);\n\t\t// Add 1-second delay to ensure events are properly registered\n\t\tsetTimeout(() => {\n\t\t\texecuteQualtricsAPI(context, events);\n\t\t}, 1000);\n\t\treturn;\n\t}\n\n\t// QSI not loaded yet, wait for it\n\tconst timeoutSeconds = QUALTRICS_LOAD_TIMEOUT / 1000;\n\tconsole.log(`[${context}] ⏳ Qualtrics not loaded yet, waiting up to ${timeoutSeconds} seconds...`);\n\t\n\twaitForQualtricsToLoad()\n\t\t.then((loaded) => {\n\t\t\tif (loaded) {\n\t\t\t\tconst waitTime = Date.now() - window._qsieWaitStart || 0;\n\t\t\t\tconsole.log(`[${context}] ✓ Qualtrics loaded after ${waitTime}ms, triggering survey...`);\n\t\t\t\t// Add 1-second delay to ensure events are properly registered\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\texecuteQualtricsAPI(context, events);\n\t\t\t\t}, 1000);\n\t\t\t} else {\n\t\t\t\tconsole.error(`[${context}] ❌ Qualtrics failed to load within ${timeoutSeconds} seconds - Survey will NOT appear`);\n\t\t\t\tconsole.error(`[${context}] ℹ️ Events queued but not triggered:`, events);\n\t\t\t}\n\t\t});\n\t\n\t// Track wait start time\n\twindow._qsieWaitStart = Date.now();\n};\n\n/**\n * Triggers a Qualtrics survey for course or learning path completion\n * @param {Object} params - Survey trigger parameters\n * @param {string} params.learningId - Course/Path ID\n * @param {string} params.learningType - 'course' or 'learning_path'\n * @param {string} params.learningName - Display name\n * @param {Function} params.dispatch - Redux dispatch function\n * @param {Object} params.saveAction - Action to dispatch for saving survey status\n * @param {string} params.release - Release name (e.g., 'yokohama')\n * @param {string} params.releaseSysId - Release sys_id from database\n * @param {string} [params.userId] - User ID for user-specific storage (non-PII)\n */\nexport const triggerLearningSurvey = ({ learningId, learningType, learningName, dispatch, saveAction, release, releaseSysId, userId }) => {\n\t// Validate required parameters\n\tif (!learningId || !learningType || !dispatch || !saveAction) {\n\t\tconsole.error('[Learning Survey] ❌ Missing required parameters:', {\n\t\t\tlearningId: !!learningId,\n\t\t\tlearningType: !!learningType,\n\t\t\tdispatch: !!dispatch,\n\t\t\tsaveAction: !!saveAction\n\t\t});\n\t\treturn;\n\t}\n\t\n\t// Validate learningType enum\n\tconst validTypes = ['course', 'learning_path'];\n\tif (!validTypes.includes(learningType)) {\n\t\tconsole.error('[Learning Survey] ❌ Invalid learningType. Expected \"course\" or \"learning_path\", got:', learningType);\n\t\treturn;\n\t}\n\t\n\tconsole.log('[Learning Survey] 🎯 Preparing to trigger survey:', {\n\t\tlearningId,\n\t\tlearningType,\n\t\tlearningName,\n\t\tuserId\n\t});\n\t\n\t// Determine custom event name based on learning type\n\tconst eventName = learningType === 'course' \n\t\t? 'ces_dp_course_page_completed' \n\t\t: 'ces_dp_learning_plan_module_completed';\n\t\n\tconst eventType = learningType === 'course'\n\t\t? 'dp_course_page_completed'\n\t\t: 'dp_learning_plan_module_completed';\n\n\t// Prepare payload for custom event\n\tconst payload = {\n\t\tlearningId,\n\t\tlearningType,\n\t\tlearningName,\n\t\tevent_type: eventType,\n\t\tcreated_at: new Date().toISOString()\n\t};\n\t\n\t// Dispatch custom DOM event for external listeners\n\ttry {\n\t\tconst customEventData = new CustomEvent(eventName, {\n\t\t\tbubbles: true,\n\t\t\tdetail: payload\n\t\t});\n\t\twindow.document.dispatchEvent(customEventData);\n\t} catch (e) {\n\t\tconsole.error('[Learning Survey] Custom event dispatch failed:', e);\n\t}\n\n\t// Push event to Qualtrics queue\n\ttry {\n\t\twindow._qsie = window._qsie || [];\n\t\twindow._qsie.push(eventName);\n\t} catch (e) {\n\t\tconsole.error('[Learning Survey] Failed to push event to queue:', e);\n\t}\n\n\t// Trigger Qualtrics API with queued events\n\ttriggerQualtricsAPI('Learning Survey');\n\t\n\t// Store data in window object for success handler to access\n\t// Use unique key to prevent race conditions when multiple surveys trigger simultaneously\n\t// (HTTP effect creators don't pass original request data to success handlers)\n\tconst pendingKey = `${learningType}_${learningId}_${userId || 'anonymous'}_${Date.now()}`;\n\twindow._pendingLearningSurveys = window._pendingLearningSurveys || {};\n\twindow._pendingLearningSurveys[pendingKey] = {\n\t\tlearningId,\n\t\tlearningType,\n\t\tuserId,\n\t\ttimestamp: Date.now()\n\t};\n\t\n\t// Save to backend (should happen regardless of Qualtrics availability)\n\t// Note: We don't pass pendingKey through dispatch because makeHttpEffectCreator\n\t// doesn't preserve it in coeffects. Instead, success handler finds the most recent\n\t// pending survey by timestamp.\n\tif (dispatch && saveAction) {\n\t\tdispatch(saveAction, { \n\t\t\tdata: {\n\t\t\t\tlearningId,\n\t\t\t\tlearningType,\n\t\t\t\tlearningName,\n\t\t\t\trelease,\n\t\t\t\trelease_sys_id: releaseSysId,\n\t\t\t\tuserId: userId\n\t\t\t}\n\t\t});\n\t} else {\n\t\tconsole.warn('[Learning Survey] Missing dispatch or saveAction');\n\t}\n\t\n\t// Call external custom callback if defined\n\tif (window.customLearningCompletionCallback && typeof window.customLearningCompletionCallback === 'function') {\n\t\ttry {\n\t\t\twindow.customLearningCompletionCallback({ learningId, learningType, learningName });\n\t\t} catch (e) {\n\t\t\tconsole.error('Custom callback error:', e);\n\t\t}\n\t}\n};\n\n/**\n * Checks if survey should be triggered based on flags and localStorage\n * @param {Object} params - Check parameters\n * @param {boolean} params.surveyFlag - Backend flag (course_qualtrics_survey_on or lp_qualtrics_survey_on)\n * @param {string} params.learningId - Course/Path ID\n * @param {string} params.learningType - 'course' or 'learning_path'\n * @param {string} [params.userId] - User ID for user-specific storage (non-PII)\n * @returns {boolean} - True if survey should be triggered\n */\nexport const shouldTriggerSurvey = ({ surveyFlag, learningId, learningType, userId }) => {\n\tif (!surveyFlag) {\n\t\tconsole.log('❌ shouldTriggerSurvey: surveyFlag is false');\n\t\treturn false;\n\t}\n\n\t// Check localStorage with user-specific key\n\tconst surveyKey = userId\n\t\t? `learning_survey_shown_${learningType}_${learningId}_${userId}`\n\t\t: `learning_survey_shown_${learningType}_${learningId}`;\n\t\n\tconst alreadyShown = localStorage.getItem(surveyKey);\n\t\n\tconsole.log('🔍 shouldTriggerSurvey check:', {\n\t\tsurveyFlag,\n\t\tlearningId,\n\t\tlearningType,\n\t\tuserId,\n\t\tsurveyKey,\n\t\talreadyShown,\n\t\tshouldTrigger: !alreadyShown\n\t});\n\t\n\treturn !alreadyShown;\n};\n\n/**\n * Marks survey as shown in localStorage\n * @param {string} learningId - Course/Path ID\n * @param {string} learningType - 'course' or 'learning_path'\n * @param {string} [userId] - User ID for user-specific storage (non-PII)\n */\nexport const markSurveyShown = (learningId, learningType, userId) => {\n\tconst surveyKey = userId\n\t\t? `learning_survey_shown_${learningType}_${learningId}_${userId}`\n\t\t: `learning_survey_shown_${learningType}_${learningId}`;\n\t\n\ttry {\n\t\tlocalStorage.setItem(surveyKey, new Date().toISOString());\n\t} catch (e) {\n\t\tconsole.warn('[Learning Survey] Failed to save to localStorage:', e.message);\n\t}\n};\n\n/**\n * Cleanup function to clear Qualtrics-related data on logout or session closure\n * Call this when user logs out or session ends to prevent memory leaks\n * @param {Object} options - Cleanup options\n * @param {boolean} options.clearQueue - Whether to clear Qualtrics event queue (default: true)\n * @param {boolean} options.clearPendingData - Whether to clear pending survey data (default: true)\n * @param {boolean} options.clearFlags - Whether to clear in-flight flags (default: true)\n */\nexport const cleanupQualtricsData = ({ \n\tclearQueue = true, \n\tclearPendingData = true, \n\tclearFlags = true \n} = {}) => {\n\tconsole.log('🧹 Cleaning up Qualtrics data on session closure...');\n\t\n\tif (clearQueue && window._qsie) {\n\t\tconst queueLength = window._qsie.length;\n\t\twindow._qsie = [];\n\t\tconsole.log(`🧹 Cleared Qualtrics event queue (${queueLength} events)`);\n\t}\n\t\n\tif (clearPendingData && window._pendingLearningSurveys) {\n\t\tconst pendingCount = Object.keys(window._pendingLearningSurveys).length;\n\t\twindow._pendingLearningSurveys = {};\n\t\tconsole.log(`🧹 Cleared pending survey data (${pendingCount} entries)`);\n\t}\n\t\n\tif (clearFlags) {\n\t\twindow._buildAgentSurveyInFlight = false;\n\t\twindow._buildAgentSurveyTriggeredInSession = false;\n\t\twindow._qsieWaitStart = null;\n\t\tconsole.log('🧹 Cleared survey flags');\n\t}\n\t\n\tconsole.log('✅ Qualtrics cleanup complete');\n};\n\n/**\n * Triggers a Qualtrics survey for build agent conversation\n * @param {Object} params - Survey trigger parameters\n * @param {Function} params.dispatch - Redux dispatch function\n * @param {Object} params.saveAction - Action to dispatch for saving survey status\n */\nexport const triggerBuildAgentConversationSurvey = ({ dispatch, saveAction }) => {\n\tif (!dispatch || !saveAction) {\n\t\tconsole.error('Build agent conversation survey - missing required parameters:', { dispatch: !!dispatch, saveAction: !!saveAction });\n\t\treturn;\n\t}\n\n\t// Prevent concurrent triggers using window object for shared state\n\tif (window._buildAgentSurveyInFlight) {\n\t\tconsole.warn('Build agent conversation survey already in progress, skipping');\n\t\treturn;\n\t}\n\twindow._buildAgentSurveyInFlight = true;\n\n\tconst eventName = 'ces_dp_build_agent_conversation';\n\tconst eventType = 'dp_build_agent_conversation';\n\n\tconst payload = {\n\t\tevent_type: eventType,\n\t\tcreated_at: new Date().toISOString()\n\t};\n\t\n\ttry {\n\t\tconst customEventData = new CustomEvent(eventName, {\n\t\t\tbubbles: true,\n\t\t\tdetail: payload\n\t\t});\n\t\twindow.document.dispatchEvent(customEventData);\n\t} catch (e) {\n\t\tconsole.error('[Build Agent Survey] Custom event dispatch failed:', e);\n\t}\n\n\t// Push event to Qualtrics queue\n\t// Note: QSI.API calls are handled centrally in fetchInstanceInfo to avoid conflicts\n\ttry {\n\t\twindow._qsie = window._qsie || [];\n\t\twindow._qsie.push(eventName);\n\t} catch (e) {\n\t\tconsole.error('[Build Agent Survey] Failed to push event to queue:', e);\n\t}\n\t\n\tdispatch(saveAction);\n\t// Note: Survey is marked as shown in the success handler after backend confirms\n};\n\n/**\n * Checks if build agent conversation survey should be triggered based on flag and localStorage\n * @param {Object} params - Check parameters\n * @param {boolean} params.surveyFlag - Backend flag (isSurveyOnForBuildAgentConversion)\n * @param {string} [params.userId] - User ID for user-specific storage (non-PII)\n * @returns {boolean} - True if survey should be triggered\n */\nexport const shouldTriggerBuildAgentConversationSurvey = ({ surveyFlag, userId }) => {\n\tconsole.log('🔍 [Build Agent Survey] shouldTrigger check:', {\n\t\tsurveyFlag,\n\t\tuserId,\n\t\tBUILD_AGENT_CONVERSATION_SURVEY_KEY\n\t});\n\t\n\tif (!surveyFlag) {\n\t\tconsole.log('❌ [Build Agent Survey] surveyFlag is false - not triggering');\n\t\treturn false;\n\t}\n\n\ttry {\n\t\t// Use user-specific key if userId is provided, otherwise use generic key\n\t\tconst storageKey = userId \n\t\t\t? `${BUILD_AGENT_CONVERSATION_SURVEY_KEY}_${userId}`\n\t\t\t: BUILD_AGENT_CONVERSATION_SURVEY_KEY;\n\t\t\n\t\tconst alreadyShown = localStorage.getItem(storageKey);\n\t\tconst shouldTrigger = !alreadyShown;\n\t\t\n\t\tconsole.log('🔍 [Build Agent Survey] localStorage check:', {\n\t\t\tstorageKey,\n\t\t\talreadyShown,\n\t\t\tshouldTrigger\n\t\t});\n\t\t\n\t\treturn shouldTrigger;\n\t} catch (e) {\n\t\tconsole.warn('[Build Agent Survey] localStorage check failed, proceeding anyway:', e.message);\n\t\treturn true;\n\t}\n};\n\n","import { snHttpFactory } from 'sn-http-request';\nimport { APP_ACTIONS } from '../actions';\nimport {\n\tCONSTANTS,\n\tDPS_NAV_INSTANCE_MANAGEMENT,\n\tINSTANCE_ACTION_STATES\n} from '../../../constants';\nimport { DPS_APP_INITIAL_STATE } from '../initialState';\nimport {\n\tshowRequestInstance,\n\tisInstanceBeingFulfilled\n} from '../../../utils/instanceHelpers';\nimport {\n\tformatSysParam,\n\tpathHasDirectWakeup,\n\tpathHasPasswordReset\n} from '../../../utils/helpers';\nimport { SessionService } from '../../../utils/sessionService';\nimport { MemStorage } from '../../../utils/memStorage';\nimport {\n\tgetInstanceDetails,\n\tgetInstanceInfo,\n\tinitializeInstanceState,\n\tpollForInstanceInfo\n} from '../actionHelpers';\nimport { DevPlatformStorage } from '../../../../src/utils/storage';\nimport { removeQueryParamsAndUpdateURL } from '../../../utils/url';\nimport { DPS_INSTANCE_ASSIGNMENT_MODAL } from '../../dps-instance-assignment-modal/actions';\nimport { \n\tshouldTriggerBuildAgentConversationSurvey, \n\ttriggerBuildAgentConversationSurvey,\n\ttriggerQualtricsAPI\n} from '../../../utils/qualtricsSurveyTrigger';\n\nconst snHttp = snHttpFactory({\n\tbatching: false\n});\n\n/**\n * Checks if a waitlist user got an instance assigned within the last 7 days\n * and triggers the Qualtrics survey if applicable\n * @param {Object} params\n * @param {Object} params.instanceInfo - Instance info from backend API\n * @param {Function} params.dispatch - Redux dispatch function\n */\nconst checkWaitlistSurveyTrigger = ({ instanceInfo, dispatch }) => {\n\t// Check if backend indicates this was a waitlisted user\n\tif (!instanceInfo || !instanceInfo.was_waitlisted || !instanceInfo.assigned_date) {\n\t\treturn;\n\t}\n\n\tlet instanceUrl = instanceInfo.url || instanceInfo.name;\n\tif (!instanceUrl) {\n\t\treturn;\n\t}\n\n\t// Normalize URL - remove trailing slash for consistency\n\tinstanceUrl = instanceUrl.replace(/\\/$/, '');\n\n\tconsole.log('Waitlist user detected - Instance:', instanceUrl, 'Assigned:', instanceInfo.assigned_date);\n\n\t// Check if assignment is within last 7 days\n\tconst assignedDate = new Date(instanceInfo.assigned_date);\n\tconst daysSinceAssignment = (Date.now() - assignedDate.getTime()) / (1000 * 60 * 60 * 24);\n\n\tif (daysSinceAssignment > 7) {\n\t\tconsole.log('Instance assigned more than 7 days ago - Skipping survey');\n\t\treturn;\n\t}\n\n\tconsole.log('Instance assigned within 7 days - Checking survey status');\n\n\t// Check localStorage first (fast check)\n\tconst surveyShownKey = `pdi_survey_shown_${instanceUrl}`;\n\tconst localSurveyShown = localStorage.getItem(surveyShownKey);\n\n\tif (localSurveyShown) {\n\t\tconsole.log('Survey already shown (localStorage):', localSurveyShown);\n\t\treturn;\n\t}\n\n\tconsole.log('Survey not shown yet - Triggering survey check via backend API');\n\n\t// Call the backend API to check if survey can be launched\n\t// This uses the same flow as direct provisioning\n\tcheckAndTriggerSurvey(instanceUrl, dispatch);\n};\n\n/**\n * Checks backend API and triggers Qualtrics survey if allowed\n * @param {string} instanceUrl - Instance URL\n * @param {Function} dispatch - Redux dispatch function\n */\nconst checkAndTriggerSurvey = (instanceUrl, dispatch) => {\n\tconst url = '/api/snc/v1/dev_instance/qualtrics/survey-status';\n\t\n\tconsole.log('Checking survey status via backend...');\n\t\n\tsnHttp.get(url, {\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json',\n\t\t\t'X-UserToken': SessionService.getHeaderUserToken()\n\t\t}\n\t})\n\t.then(response => {\n\t\tconst canLaunchSurvey = response.data?.result?.canQualtricsSurveyLaunch || false;\n\t\t\n\t\tif (!canLaunchSurvey) {\n\t\t\t// Survey already shown on another device - cache locally\n\t\t\tconst surveyShownKey = `pdi_survey_shown_${instanceUrl}`;\n\t\t\tlocalStorage.setItem(surveyShownKey, new Date().toISOString());\n\t\t\tconsole.log('Survey already shown (backend) - Cached locally');\n\t\t\treturn;\n\t\t}\n\t\t\n\t\tconsole.log('Survey not shown yet - Triggering Qualtrics');\n\t\ttriggerQualtricsSurvey(instanceUrl);\n\t})\n\t.catch(error => {\n\t\tconsole.warn('Backend check failed - Proceeding with survey trigger');\n\t\ttriggerQualtricsSurvey(instanceUrl);\n\t});\n};\n\n/**\n * Triggers the Qualtrics survey and saves status\n * @param {string} instanceUrl - Instance URL\n */\nconst triggerQualtricsSurvey = (instanceUrl) => {\n\t// Dispatch custom event for external listeners\n\ttry {\n\t\tconst customEventData = new CustomEvent('ces_dp_instance_provisioned', {\n\t\t\tbubbles: true,\n\t\t\tdetail: {\n\t\t\t\tinstanceUrl: instanceUrl,\n\t\t\t\tevent_type: 'dp_instance_provisioned',\n\t\t\t\tcreated_at: new Date().toISOString()\n\t\t\t}\n\t\t});\n\t\twindow.document.dispatchEvent(customEventData);\n\t\tconsole.log('✓ Custom event dispatched: ces_dp_instance_provisioned');\n\t} catch (e) {\n\t\tconsole.error('Custom event dispatch failed:', e);\n\t}\n\n\t// Check and trigger Qualtrics intercepts with retry logic\n\tconst timestamp = new Date().toISOString();\n\tconst surveyShownKey = `pdi_survey_shown_${instanceUrl}`;\n\t\n\t// Push event to Qualtrics queue\n\t// Note: QSI.API calls are handled centrally in fetchInstanceInfo to avoid conflicts\n\ttry {\n\t\twindow._qsie = window._qsie || [];\n\t\twindow._qsie.push('ces_dp_instance_provisioned');\n\t\tconsole.log('PDI survey - event pushed to Qualtrics queue: ces_dp_instance_provisioned');\n\t} catch (e) {\n\t\tconsole.error('PDI survey - failed to push event:', e);\n\t}\n\t\n\t// Always save to localStorage and backend for cross-device tracking\n\tlocalStorage.setItem(surveyShownKey, timestamp);\n\t\n\t// Save to backend\n\tsnHttp.post('/api/snc/v1/dev_instance/qualtrics/survey-status', {}, {\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json',\n\t\t\t'X-UserToken': SessionService.getHeaderUserToken()\n\t\t}\n\t})\n\t.then(() => {\n\t\tconsole.log('Survey status saved to backend');\n\t})\n\t.catch(() => {\n\t\tconsole.warn('Backend save failed (localStorage still saved)');\n\t});\n};\n\nconst handleGetInstanceInfo = coeffects => {\n\tconst { action, dispatch, updateState } = coeffects;\n\tconst url = 'api/snc/v1/dev/instanceInfo';\n\tconst configObj = {\n\t\tsysparm_data: JSON.stringify(action.payload.sysparm_data)\n\t};\n\n\tsnHttp\n\t\t.get(url, {\n\t\t\tparams: configObj\n\t\t})\n\t\t.then(response => {\n\t\t\tconst { headers } = response.config;\n\t\t\t// check CSRF token if not set or out of date\n\t\t\tSessionService.checkHeaderUserToken(headers['x-usertoken-response']);\n\t\t\tSessionService.checkHeaderUserToken(headers['X-UserToken-Response']);\n\t\t\tSessionService.checkHeaderUserToken(headers['X-UserToken']);\n\n\t\t\t// Dispatch successAction\n\t\t\tif (response.status === 200) {\n\t\t\t\tupdateState({\n\t\t\t\t\tfailedInstanceInfoFetch: false,\n\t\t\t\t\tfailedInstanceInfoCount: 0\n\t\t\t\t});\n\t\t\t\tdispatch(APP_ACTIONS.GET_INSTANCE_INFO_SUCCEEDED, {\n\t\t\t\t\t...response.data.result\n\t\t\t\t});\n\t\t\t}\n\t\t})\n\t\t.catch(error => {\n\t\t\tdispatch(APP_ACTIONS.GET_INSTANCE_INFO_FAILED, error);\n\t\t});\n};\n\nconst handleGetInstanceInfoFailed = coeffects => {\n\tconst { action, dispatch, properties, state, updateState } = coeffects;\n\tconst {\n\t\tpayload: { response }\n\t} = action;\n\tconst { failedInstanceInfoCount } = state;\n\tconst { userInfo } = properties;\n\n\tif (response.status === 401 && failedInstanceInfoCount < 5) {\n\t\t// check CSRF token if not set or out of date\n\t\tSessionService.checkHeaderUserToken(\n\t\t\tresponse.headers['x-usertoken-response']\n\t\t);\n\t\tSessionService.checkHeaderUserToken(response.headers['X-UserToken']);\n\t\tupdateState({\n\t\t\tfailedInstanceInfoFetch: true,\n\t\t\tfailedInstanceInfoCount: failedInstanceInfoCount + 1\n\t\t});\n\t\tgetInstanceInfo({ dispatch, user: userInfo });\n\t} else {\n\t\t// Resets instanceInfo to default instance info on fail\n\t\tupdateState(({ state }) => ({\n\t\t\tpath: 'instanceInfo',\n\t\t\tvalue: { ...DPS_APP_INITIAL_STATE.INSTANCE_INFO },\n\t\t\toperation: 'set',\n\t\t\tshouldUpdate: true\n\t\t}));\n\t}\n};\n\nconst handleGetInstanceInfoSucceeded = coeffects => {\n\tconst {\n\t\taction,\n\t\tdispatch,\n\t\tproperties,\n\t\tstate,\n\t\tupdateState,\n\t\tupdateProperties\n\t} = coeffects;\n\tconst data = action.payload;\n\tconst { pathname, systemProperties, assignReqId, userInfo } = properties;\n\tconst { instanceManagement } = state;\n\n\t// Initializes instanceInfo object\n\tconst instanceInfo = initializeInstanceState(data.instanceInfo);\n\n\tconst isFirstCall = !DevPlatformStorage.loadFromSessionStorage(\n\t\tCONSTANTS.DEFAULTS.API_HIBERNATE_IS_AWAKE_SESSION_STORAGE_KEY\n\t);\n\tconst hasOpStatus = instanceInfo.opStatus ? true : false;\n\tconst isInstanceRefreshing = instanceInfo.isRefreshingInstance();\n\n\t// Push all custom events to Qualtrics when criteria are met\n\t// Qualtrics will handle priority and decide which survey to show\n\t\n\t// Check if waitlist user got instance assigned within last 7 days\n\tcheckWaitlistSurveyTrigger({ instanceInfo: data.instanceInfo, dispatch });\n\t\n\t// Trigger build agent conversation survey on page load (once per session)\n\tconst isSurveyOnForBuildAgentConversion = data.instanceInfo?.isSurveyOnForBuildAgentConversion;\n\t\n\t// Get user_id for user-specific storage (non-PII identifier)\n\tconst userId = userInfo?.user_id;\n\t\n\tconsole.log('🤖 [Build Agent Survey] Checking trigger conditions:', {\n\t\tisSurveyOnForBuildAgentConversion,\n\t\tuserId,\n\t\thasUserInfo: !!userInfo\n\t});\n\t\n\t// User-specific session key\n\tconst sessionKey = userId \n\t\t? `build_agent_conversation_survey_triggered_session_${userId}`\n\t\t: 'build_agent_conversation_survey_triggered_session';\n\t\n\t// Check if survey was already triggered in this session\n\t// Use both sessionStorage and in-memory fallback for reliability\n\tlet triggeredInSession = false;\n\tlet sessionStorageValue = null;\n\tlet inMemoryFlag = false;\n\t\n\ttry {\n\t\tsessionStorageValue = sessionStorage.getItem(sessionKey);\n\t\tinMemoryFlag = !!window._buildAgentSurveyTriggeredInSession;\n\t\ttriggeredInSession = !!sessionStorageValue || inMemoryFlag;\n\t} catch (e) {\n\t\t// Fallback to in-memory flag if sessionStorage fails\n\t\tinMemoryFlag = !!window._buildAgentSurveyTriggeredInSession;\n\t\ttriggeredInSession = inMemoryFlag;\n\t}\n\t\n\tconsole.log('🤖 [Build Agent Survey] Session check:', {\n\t\tsessionKey,\n\t\tsessionStorageValue,\n\t\tinMemoryFlag,\n\t\ttriggeredInSession\n\t});\n\t\n\tif (!triggeredInSession) {\n\t\tconst shouldTrigger = shouldTriggerBuildAgentConversationSurvey({ \n\t\t\tsurveyFlag: isSurveyOnForBuildAgentConversion,\n\t\t\tuserId \n\t\t});\n\t\t\n\t\tconsole.log('🤖 [Build Agent Survey] shouldTrigger result:', shouldTrigger);\n\t\t\n\t\tif (shouldTrigger) {\n\t\t\tconsole.log('🤖 [Build Agent Survey] ✅ Triggering survey...');\n\t\t\t\n\t\t\t// Mark as triggered in this session to prevent multiple triggers\n\t\t\ttry {\n\t\t\t\tsessionStorage.setItem(sessionKey, new Date().toISOString());\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn('[Build Agent Survey] Failed to save to sessionStorage:', e.message);\n\t\t\t}\n\t\t\t// Always set in-memory flag as fallback\n\t\t\twindow._buildAgentSurveyTriggeredInSession = true;\n\t\t\t\n\t\t\ttriggerBuildAgentConversationSurvey({\n\t\t\t\tdispatch,\n\t\t\t\tsaveAction: APP_ACTIONS.SAVE_BUILD_AGENT_CONVERSATION_SURVEY_STATUS\n\t\t\t});\n\t\t} else {\n\t\t\tconsole.log('🤖 [Build Agent Survey] ❌ Not triggering - shouldTrigger returned false');\n\t\t}\n\t} else {\n\t\tconsole.log('🤖 [Build Agent Survey] ⚠️ Already triggered in this session - skipping');\n\t}\n\n\t// Centralized Qualtrics API call - triggers AFTER all events are pushed\n\t// This prevents conflicts when multiple survey events are queued\n\ttriggerQualtricsAPI('Instance Info Page Load');\n\n\n\tdispatch(APP_ACTIONS.GET_ACTION_MENU, {\n\t\tins_id: instanceInfo.sys_id\n\t});\n\n\tdispatch(APP_ACTIONS.UPDATE_MAGIC_LINK);\n\n\tupdateState({\n\t\tpath: 'instanceManagement.isInstanceRefreshing',\n\t\tvalue: instanceInfo.isRefreshingInstance(),\n\t\toperation: 'set'\n\t  });\n\n\tupdateState(() => ({\n\t\tpath: 'instanceInfo',\n\t\tvalue: instanceInfo,\n\t\toperation: 'set',\n\t\tshouldUpdate: true\n\t}));\n\n\tsetUserSessionRelease({ dispatch, instanceInfo });\n\n\tif (\n\t\t!(\n\t\t\tshowRequestInstance(instanceInfo) ||\n\t\t\tinstanceInfo.isWaitlisted() ||\n\t\t\thasOpStatus ||\n\t\t\tinstanceInfo.isUnderMaintenance()||\n\t\t\tinstanceInfo.isRestoringInstance()\n\t\t)\n\t) {\n\t\tif (instanceInfo.isOnline() && pathHasPasswordReset(pathname)) {\n\t\t\tupdateProperties({\n\t\t\t\tisInstanceModalOpened: true,\n\t\t\t\tselectedCatItemId:\n\t\t\t\t\tsystemProperties &&\n\t\t\t\t\tsystemProperties['dev.cat_item.reset_admin_password']\n\t\t\t});\n\t\t}\n\n\t\tif (instanceInfo.isWakingInstance()) {\n\t\t\tdispatch(APP_ACTIONS.IS_INSTANCE_WAKEUP_COMPLETE);\n\t\t} else if (pathHasDirectWakeup(pathname)) {\n\t\t\tconst sysparm_data = formatSysParam('instance.hibernate.wake_up', {\n\t\t\t\tdirect_wake_up: true\n\t\t\t});\n\t\t\tdispatch(APP_ACTIONS.WAKE_UP_INSTANCE_TRIGGER, { sysparm_data });\n\t\t\tremoveQueryParamsAndUpdateURL();\n\t\t} else if (isFirstCall) {\n\t\t\tDevPlatformStorage.saveToSessionStorage(\n\t\t\t\tCONSTANTS.DEFAULTS.API_HIBERNATE_IS_AWAKE_SESSION_STORAGE_KEY,\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tgetInstanceDetails({ dispatch });\n\t\t}\n\t}\n\tif (![\"first_time\", \"online\", \"warning\", \"complete_error\"].includes(instanceInfo.instanceStatus && instanceInfo.instanceStatus.state) && !assignReqId) {\n\t\tpollForInstanceInfo({\n\t\t\tdispatch,\n\t\t\tinstanceInfo,\n\t\t\tinstanceManagement,\n\t\t\tsystemProperties,\n\t\t\tupdateState\n\t\t});\n\t}\n\tif(assignReqId ) {\n\t\tconst sysparm_data = formatSysParam(\n\t\t\tCONSTANTS.DEV_PORTAL_ACTIONS.GET_INSTANCE_REQUEST_STATUS,\n\t\t\t{\n\t\t\t\tassign_req_id: assign_req_id\n\t\t\t}\n\t\t);\n\t\tdispatch(\n\t\t\tAPP_ACTIONS.GET_INSTANCE_ASSIGNMENT_REQUEST_STATUS,\n\t\t\t{ sysparm_data }\n\t\t);\n\t}\n};\n\nconst setUserSessionRelease = ({ dispatch, instanceInfo }) => {\n\tconst statusDenyList = ['instanceRestoreProgress', 'waitlist'];\n\tconst instanceRelease =\n\t\tinstanceInfo.release && instanceInfo.release.toLowerCase();\n\tconst hasUserSessionReleaseInitialized = MemStorage.getItem(\n\t\tCONSTANTS.DEFAULTS.USER_SESSION_RELEASE_INITIALIZED\n\t);\n\n\t// Do the following if the session storage is empty\n\t// OR if this is the first time user session release is being initialized\n\t// and this isn't a waitlisted instance\n\t// and instance PDI version is different from what's already in session storage\n\tif (\n\t\tMemStorage.isEmpty() ||\n\t\t(!hasUserSessionReleaseInitialized &&\n\t\t\t!statusDenyList.includes(instanceInfo.state) &&\n\t\t\tinstanceRelease)\n\t) {\n\t\tMemStorage.setItem(\n\t\t\tCONSTANTS.DEFAULTS.USER_SESSION_RELEASE_INITIALIZED,\n\t\t\ttrue\n\t\t);\n\t\tdispatch(APP_ACTIONS.SET_USER_SESSION_RELEASE, {\n\t\t\tselectedRelease: instanceRelease\n\t\t});\n\t}\n};\n\nexport default {\n\t[APP_ACTIONS.GET_INSTANCE_INFO]: handleGetInstanceInfo,\n\t[APP_ACTIONS.GET_INSTANCE_INFO_FAILED]: handleGetInstanceInfoFailed,\n\t[APP_ACTIONS.GET_INSTANCE_INFO_SUCCEEDED]: handleGetInstanceInfoSucceeded\n};\n","import { APP_ACTIONS } from '../actions';\nimport { CONSTANTS } from '../../../constants';\nimport { makeHttpEffectCreator } from '../../../utils/helpers';\nimport { SessionService } from '../../../utils/sessionService';\n\nconst fetchInstanceOperationHistory = makeHttpEffectCreator(\n\tAPP_ACTIONS.GET_INSTANCE_OPERATION_HISTORY,\n\tCONSTANTS.ENDPOINTS.INSTANCE_OPERATION_HISTORY,\n\t{\n\t\tbatch: false,\n\t\theaders: { 'X-UserToken': SessionService.getHeaderUserToken() },\n\t\tqueryParams: ['offset', 'operation_type', 'num_recs'],\n\t\tmethod: 'GET',\n\t\tonError(coeffects) {\n\t\t\tconst { state, updateState } = coeffects;\n\t\t\tupdateState({\n\t\t\t\tinstanceManagement: {\n\t\t\t\t\t...state.instanceManagement,\n\t\t\t\t\tisFetchingOperationHistorySuccessful: false,\n\t\t\t\t\tisLoadingOperationHistory: false,\n\t\t\t\t\toperationHistory: []\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tonSuccess(coeffects) {\n\t\t\tconst { action, state, updateState } = coeffects;\n\t\t\tconst { result } = action.payload;\n\t\t\tupdateState({\n\t\t\t\tinstanceManagement: {\n\t\t\t\t\t...state.instanceManagement,\n\t\t\t\t\tisFetchingOperationHistorySuccessful: true,\n\t\t\t\t\tisLoadingOperationHistory: false,\n\t\t\t\t\toperationHistory: [...result.operations],\n\t\t\t\t\ttotalNumberOfOperations: parseInt(result.totalNum, 10)\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n);\n\nexport default fetchInstanceOperationHistory;\n","import { APP_ACTIONS } from '../actions';\nimport { CONSTANTS } from '../../../constants';\nimport { makeHttpEffectCreator } from '../../../utils/helpers';\nimport { SessionService } from '../../../utils/sessionService';\n\nconst fetchCompleteInstanceOperationHistory = makeHttpEffectCreator(\n    APP_ACTIONS.GET_INSTANCE_COMPLETE_OPERATION_HISTORY,\n    CONSTANTS.ENDPOINTS.INSTANCE_OPERATION_HISTORY,\n    {\n        batch: false,\n        headers: { 'X-UserToken': SessionService.getHeaderUserToken() },\n        method: 'GET',\n        onError(coeffects) {\n            const { state, updateState } = coeffects;\n            updateState({\n                instanceManagement: {\n                    ...state.instanceManagement,\n                    isFetchingOperationHistorySuccessful: false,\n                    isLoadingOperationHistory: false,\n                    completeOperationHistory: [] // also reset in error case\n                }\n            });\n        },\n        onSuccess(coeffects) {\n            const { action, state, updateState } = coeffects;\n            const { result } = action.payload;\n            const operations = result.operations || [];\n\n            console.log('inside complete operation history'. completeOperationHistory);\n            \n\n            updateState({\n                instanceManagement: {\n                    ...state.instanceManagement,\n                    isFetchingOperationHistorySuccessful: true,\n                    isLoadingOperationHistory: false,\n                    completeOperationHistory: operations || [],\n                    totalNumberOfOperations: parseInt(result.totalNum, 10)\n                }\n            });\n        }\n    }\n);\n\n\nexport default fetchCompleteInstanceOperationHistory;\n","import { APP_ACTIONS } from '../actions';\nimport { CONSTANTS } from '../../../constants';\nimport { makeHttpEffectCreator } from '../../../utils/helpers';\n\nconst fetchLegalAgreement = makeHttpEffectCreator(\n\tAPP_ACTIONS.GET_LEGAL_AGREEMENT_DATA,\n\tCONSTANTS.ENDPOINTS.FETCH_LEGAL_AGREEMENT_MODAL,\n\t{\n\t\tbatch: false,\n\t\tmethod: 'GET',\n\t\tonError(coeffects) {\n\t\t\tconst { updateProperties } = coeffects;\n\t\t\tupdateProperties({\n\t\t\t\tfailedToLoadContent: true,\n\t\t\t\tisLegalAgreementModalOpened: true\n\t\t\t});\n\t\t},\n\t\tonSuccess(coeffects) {\n\t\t\tconst { action, updateProperties } = coeffects;\n\t\t\tconst {\n\t\t\t\tcurrent_agreement,\n\t\t\t\tsigned,\n\t\t\t\ttext,\n\t\t\t\tsigned_previous_legal,\n\t\t\t\tleadTrackSwitch\n\t\t\t} = action.payload.result.data;\n\t\t\tconst { status, message } = action.payload.result;\n\n\t\t\tupdateProperties({\n\t\t\t\tfailedToLoadContent: false,\n\t\t\t\tisLegalAgreementModalOpened: !signed, // Don't open the modal if the user has already signed the agreement\n\t\t\t\tlegalAgreementProps: {\n\t\t\t\t\tlegalText: text,\n\t\t\t\t\tagreementText: current_agreement,\n\t\t\t\t\tsigned,\n\t\t\t\t\tsignedPrevious: signed_previous_legal,\n\t\t\t\t\tmessage,\n\t\t\t\t\tstatus,\n\t\t\t\t\tleadSwitch: leadTrackSwitch\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n);\n\nexport default fetchLegalAgreement;\n","import { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { DevPlatformStorage } from '../../../utils/storage';\nimport { CONSTANTS } from '../../../constants';\nimport { APP_ACTIONS } from '../actions';\n\nexport const handlNewNavConfigRequested = createHttpEffect(\"/api/now/uxf/databroker/exec\", {\n\tbatch: false,\n\tmethod: 'POST',\n\tsuccessActionType: APP_ACTIONS.NAV_CONFIG_FETCH_UNIVERSAL_SUCCEEDED,\n\tdataParam: 'data',\n});\n\nexport const handleNavConfigRequested = createHttpEffect(\n\t'/api/snc/dev_navigation_menu/cms_navigation_menu',\n\t{\n\t\tbatch: false,\n\t\tmethod: 'GET',\n\t\tsuccessActionType: APP_ACTIONS.NAV_CONFIG_FETCH_SUCCEEDED\n\t}\n);\n\nexport const handleNavConfigGuestRequested = createHttpEffect(\n\t'/api/snc/dev_navigation_menu/cms_navigation_menu_guest',\n\t{\n\t\tbatch: false,\n\t\tmethod: 'GET',\n\t\tsuccessActionType: APP_ACTIONS.NAV_CONFIG_FETCH_SUCCEEDED\n\t}\n);\n\nexport const handleNavConfigFetchSucceeded = ({\n\taction,\n\tproperties,\n\tupdateState\n}) => {\n\tconst { payload } = action;\n\tconst timestamp = Date.now();\n\tconst value = {\n\t\tnavigationConfig: payload.result.data,\n\t\tnavigationHashkey: payload.result.hashKey,\n\t\ttimestamp,\n\t\t// onexMenu: payload.result.newNavMenu,\n\t};\n\n\tconst { is_logged_in } = properties.userInfo;\n\n\tupdateState({ ...value });\n\tDevPlatformStorage.throttledSave(\n\t\tis_logged_in\n\t\t\t? CONSTANTS.DEFAULTS.API_CMS_CONFIG_CACHE_KEY\n\t\t\t: CONSTANTS.DEFAULTS.API_CMS_CONFIG_GUEST_CACHE_KEY,\n\t\t{\n\t\t\t...value\n\t\t}\n\t);\n};\n\nexport const handleNewNavConfigFetchSucceeded = ({\n\taction,\n\tupdateState\n}) => {\n\tconst { payload } = action;\n\tconst value = {\n\t\tonexMenu: payload.result[0]?.executionResult?.output,\n\t};\n\tupdateState({ ...value });\n};\n\nexport default {\n\t[APP_ACTIONS.NAV_CONFIG_FETCH_REQ]: handleNavConfigRequested,\n\t[APP_ACTIONS.NAV_CONFIG_GUEST_FETCH_REQ]: handleNavConfigGuestRequested,\n\t[APP_ACTIONS.NAV_CONFIG_FETCH_SUCCEEDED]: handleNavConfigFetchSucceeded,\n\t[APP_ACTIONS.NAV_CONFIG_FETCH_UNIVERSAL_SUCCEEDED]: handleNewNavConfigFetchSucceeded,\n\t[APP_ACTIONS.NAV_CONFIG_FETCH_UNIVERSAL_REQ]: handlNewNavConfigRequested,\t\n};\n","import { APP_ACTIONS } from '../actions';\nimport { ALERTS, CONSTANTS, DPS_NAV_INSTANCE_MANAGEMENT } from '../../../constants';\nimport { formatSysParam, makeHttpEffectCreator } from '../../../utils/helpers';\nimport { SessionService } from '../../../utils/sessionService';\n\nconst OP_REQUEST_TYPE = {\n\tSUCCESS_AND_INCOMPLETE: 'OP_REQUEST#SUCCESS_AND_INCOMPLETE',\n\tSUCCESS_AND_IN_PROGRESS: 'OP_REQUEST#SUCCESS_AND_IN_PROGRESS',\n\tSUCCESS_AND_COMPLETE: 'OP_REQUEST#SUCCESS_AND_COMPLETE',\n\tIN_PROGRESS: 'OP_REQUEST#IN_PROGRESS'\n};\n\nconst getOpRequestType = payload => {\n\tconst isResponseSuccessful = payload.status === 'SUCCESS';\n\tconst isOpRequestComplete = payload.opResult === 'Complete';\n\tconst isOpRequestErrored = payload.opResult === 'Error';\n\tconst isOpRequestInProgress = payload.opResult === 'In Progress';\n\tconst isOpRequestSubmitted = payload.opResult === 'Submitted';\n\tconst isOpRequestFinished =\n\t\tisOpRequestComplete ||\n\t\tisOpRequestErrored ||\n\t\t!(isOpRequestInProgress || isOpRequestSubmitted);\n\n\tif (isResponseSuccessful && !isOpRequestFinished) {\n\t\treturn OP_REQUEST_TYPE.SUCCESS_AND_INCOMPLETE;\n\t} else if (isResponseSuccessful && isOpRequestInProgress) {\n\t\treturn OP_REQUEST_TYPE.SUCCESS_AND_IN_PROGRESS;\n\t} else if (isResponseSuccessful && isOpRequestComplete) {\n\t\treturn OP_REQUEST_TYPE.SUCCESS_AND_COMPLETE;\n\t} else if (isOpRequestInProgress) {\n\t\treturn OP_REQUEST_TYPE.IN_PROGRESS;\n\t}\n};\n\nconst getResultMessage = payload => {\n\treturn payload && payload.result && payload.result.reason\n\t\t? {\n\t\t\t...payload,\n\t\t\tresult: { message: 'Operation Failed', status: 'FAILED' }\n\t\t}\n\t\t: payload;\n};\n\nconst fetchOpReqStatus = {\n\t...makeHttpEffectCreator(\n\t\tAPP_ACTIONS.GET_OP_REQ_STATUS,\n\t\tCONSTANTS.ENDPOINTS.DEV_PORTAL_URI,\n\t\t{\n\t\t\tbatch: false,\n\t\t\theaders: { 'X-UserToken': SessionService.getHeaderUserToken() },\n\t\t\tmethod: 'GET',\n\t\t\tqueryParams: ['sysparm_data'],\n\t\t\tonError(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction,\n\t\t\t\t\tdispatch,\n\t\t\t\t\tstate,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tupdateProperties\n\t\t\t\t} = coeffects;\n\t\t\t\tconst data = action.payload;\n\t\t\t\tconst { result: opResult } = data;\n\t\t\t\tconst catItemInProgress = null;\n\t\t\t\tconst sysparm_data = formatSysParam(\n\t\t\t\t\tCONSTANTS.DEV_PORTAL_ACTIONS.GET_INSTANCE_INFO,\n\t\t\t\t\t{\n\t\t\t\t\t\tdirect_wake_up: true\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tupdateProperties({ disableInstanceModalClose: false });\n\t\t\t\tupdateState({\n\t\t\t\t\tinstanceManagement: {\n\t\t\t\t\t\t...state.instanceManagement,\n\t\t\t\t\t\tcatItemInProgress,\n\t\t\t\t\t\texecuteCatItemResult: {},\n\t\t\t\t\t\tfetchOpReqFailed: true,\n\t\t\t\t\t\tisFetchingOpRequest: false,\n\t\t\t\t\t\topResult,\n\t\t\t\t\t\topRetryNum: 0,\n\t\t\t\t\t\topRequestId: null\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t// If fetching the operation request status fails, we should refetch the instance status\n\t\t\t\tdispatch(APP_ACTIONS.GET_INSTANCE_INFO, { sysparm_data });\n\t\t\t\tdispatch(APP_ACTIONS.UPDATE_INSTANCE_ACTION_MENU, {\n\t\t\t\t\tcatItemInProgress: null\n\t\t\t\t});\n\t\t\t},\n\t\t\tonSuccess(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction,\n\t\t\t\t\tdispatch,\n\t\t\t\t\tstate,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tupdateProperties\n\t\t\t\t} = coeffects;\n\t\t\t\tconst { payload } = action;\n\t\t\t\tconst {\n\t\t\t\t\tinstanceManagement: { catItemInProgress, opRetryNum },\n\t\t\t\t\tinstanceInfo: { sys_id: ins_id },\n\t\t\t\t\tproperties: { systemProperties }\n\t\t\t\t} = state;\n\t\t\t\tlet clientPollInterval, clientPollMaxNum, needsPolling;\n\t\t\t\tif (catItemInProgress) {\n\t\t\t\t\tclientPollInterval = catItemInProgress.clientPollInterval;\n\t\t\t\t\tclientPollMaxNum = catItemInProgress.clientPollMaxNum;\n\t\t\t\t\tneedsPolling = catItemInProgress.needsPolling;\n\t\t\t\t}\n\t\t\t\tconst opRequestType = getOpRequestType(payload);\n\t\t\t\tconst isActivatingPlugin =\n\t\t\t\t\tcatItemInProgress &&\n\t\t\t\t\tcatItemInProgress.name.indexOf('Activate plugin') > -1;\n\t\t\t\tconst isUpgradingInstance =\n\t\t\t\t\tcatItemInProgress && catItemInProgress.name.indexOf('Upgrade') > -1;\n\t\t\t\tconst isRetryWithinLimit =\n\t\t\t\t\topRetryNum <=\n\t\t\t\t\t(clientPollMaxNum ||\n\t\t\t\t\t\tsystemProperties['dev.instance_management.max_poll_num']);\n\n\t\t\t\tif (\n\t\t\t\t\topRequestType === OP_REQUEST_TYPE.SUCCESS_AND_INCOMPLETE &&\n\t\t\t\t\tneedsPolling &&\n\t\t\t\t\tisRetryWithinLimit\n\t\t\t\t) {\n\t\t\t\t\t// Status is successful, opRequest is not finished and retryNum is less than clientPollMaxNum\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tinstanceManagement: {\n\t\t\t\t\t\t\t...state.instanceManagement,\n\t\t\t\t\t\t\topRetryNum: opRetryNum + 1,\n\t\t\t\t\t\t\topResult: {}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tconst sysparm_data = formatSysParam(\n\t\t\t\t\t\t\t'instance.ops.get_op_req_status',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tins_id,\n\t\t\t\t\t\t\t\top_req_id: payload.opRequestId\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t\tdispatch(APP_ACTIONS.GET_OP_REQ_STATUS, { sysparm_data });\n\t\t\t\t\t}, clientPollInterval || systemProperties['dev.instance_management.poll_interval']);\n\t\t\t\t} else if (\n\t\t\t\t\topRequestType === OP_REQUEST_TYPE.SUCCESS_AND_IN_PROGRESS &&\n\t\t\t\t\tisUpgradingInstance\n\t\t\t\t) {\n\t\t\t\t\tconst result =\n\t\t\t\t\t\tpayload && payload.result\n\t\t\t\t\t\t\t? payload\n\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t...payload,\n\t\t\t\t\t\t\t\tresult: {\n\t\t\t\t\t\t\t\t\tmessage:\n\t\t\t\t\t\t\t\t\t\tstate.properties.systemProperties[\n\t\t\t\t\t\t\t\t\t\t'dev.instance.operation.message.upgrade_request_submitted'\n\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\tupdateProperties({ disableInstanceModalClose: false });\n\t\t\t\t\tdispatch(APP_ACTIONS.GET_OP_REQ_STATUS_FINISHED, { ...result });\n\t\t\t\t} else if (opRequestType === OP_REQUEST_TYPE.SUCCESS_AND_COMPLETE) {\n\t\t\t\t\tupdateProperties({ disableInstanceModalClose: false });\n\t\t\t\t\tdispatch(APP_ACTIONS.GET_OP_REQ_STATUS_FINISHED, {\n\t\t\t\t\t\t...payload,\n\t\t\t\t\t\tinstanceState: DPS_NAV_INSTANCE_MANAGEMENT.INSTANCE_STATE.ONLINE\n\t\t\t\t\t});\n\t\t\t\t} else if (\n\t\t\t\t\t!isRetryWithinLimit &&\n\t\t\t\t\topRequestType === OP_REQUEST_TYPE.IN_PROGRESS &&\n\t\t\t\t\tisActivatingPlugin\n\t\t\t\t) {\n\t\t\t\t\tdispatch(APP_ACTIONS.GET_OP_REQ_STATUS_FINISHED, {\n\t\t\t\t\t\t...payload,\n\t\t\t\t\t\tresult: {},\n\t\t\t\t\t\topResult: {}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tupdateProperties({ disableInstanceModalClose: false });\n\t\t\t\t\tdispatch(APP_ACTIONS.GET_OP_REQ_STATUS_FAILED, {\n\t\t\t\t\t\t...getResultMessage(payload)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t),\n\t[APP_ACTIONS.GET_OP_REQ_STATUS_FINISHED](coeffects) {\n\t\tconst { action, dispatch, state, updateState } = coeffects;\n\t\tconst name = state && state.instanceManagement && state.instanceManagement.catItemInProgress && state.instanceManagement.catItemInProgress.name;\n\t\tconst data = action.payload;\n\t\tconst { result: opResult, instanceState } = data;\n\t\tconst { instanceInfo } = state;\n\t\tconst catItemInProgress = null;\n\n\t\tupdateState({\n\t\t\tinstanceManagement: {\n\t\t\t\t...state.instanceManagement,\n\t\t\t\tcatItemInProgress,\n\t\t\t\texecuteCatItemResult: {},\n\t\t\t\tfetchOpReqFailed: false,\n\t\t\t\topResult,\n\t\t\t\topRetryNum: 0,\n\t\t\t\topRequestId: null,\n\t\t\t\tisFetchingOpRequest: false\n\t\t\t}\n\t\t});\n\t\tif (name && name !== \"Change User Role\") {\n\t\t\tdispatch(APP_ACTIONS.UPDATE_INSTANCE_STATE, { direct_wake_up: false });\n\t\t}\n\t\tif (opResult?.status == \"SUCCESS\" && opResult?.password) {\n\t\t\tdispatch(\"APP#MANAGE_ALERTS_STATE\", { [ALERTS.RESET_PASSWORD]: true });\n\t\t\tdispatch(APP_ACTIONS.GET_INSTANCE_COMPLETE_OPERATION_HISTORY);\n\t\t} else if (opResult?.status == 'FAIL') {\n\t\t\tdispatch(\"APP#MANAGE_ALERTS_STATE\", { [ALERTS.RESET_PASSWORD_FAILED]: true });\n\t\t\tdispatch(APP_ACTIONS.GET_INSTANCE_COMPLETE_OPERATION_HISTORY);\n\t\t}\n\t\tdispatch(APP_ACTIONS.UPDATE_INSTANCE_ACTION_MENU, {\n\t\t\tcatItemInProgress: null\n\t\t});\n\t}\n};\n\nexport default fetchOpReqStatus;\n","import { APP_ACTIONS } from '../actions';\nimport { CONSTANTS } from '../../../constants';\nimport { makeHttpEffectCreator } from '../../../utils/helpers';\nimport { SessionService } from '../../../utils/sessionService';\nimport { DevPlatformStorage } from '../../../utils/storage';\nimport { getReleaseVersions } from '../actionHelpers';\n\nimport { snHttpFactory } from 'sn-http-request';\n\nconst snHttp = snHttpFactory({\n\tbatching: false\n});\n\nconst handleGetFetchReleaseVersions = coeffects => {\n\tconst { action, dispatch } = coeffects;\n\tconst url = '/api/snc/v1/dev/releaseInfo';\n\tconst configObj = {\n\t\tsysparm_data: JSON.stringify(action.payload.sysparm_data)\n\t};\n\n\tsnHttp\n\t\t.get(url, {\n\t\t\tparams: configObj\n\t\t})\n\t\t.then(response => {\n\t\t\tconst { headers } = response.config;\n\t\t\t// check CSRF token if not set or out of date\n\t\t\tSessionService.checkHeaderUserToken(headers['x-usertoken-response']);\n\t\t\tSessionService.checkHeaderUserToken(headers['x-UserToken-Response']);\n\t\t\tSessionService.checkHeaderUserToken(headers['X-UserToken']);\n\t\t\t// Dispatch successAction\n\t\t\tif (response.status === 200) {\n\t\t\t\tdispatch(APP_ACTIONS.GET_RELEASE_VERSIONS_SUCCEEDED, {\n\t\t\t\t\t...response.data\n\t\t\t\t});\n\t\t\t}\n\t\t})\n\t\t.catch(error => {\n\t\t\tdispatch(APP_ACTIONS.GET_RELEASE_VERSIONS_FAILED, error);\n\t\t});\n};\n\nconst handleGetFetchReleaseVersionsFailed = coeffects => {\n\tconst { action, dispatch, state, updateState } = coeffects;\n\tconst {\n\t\tpayload: { response }\n\t} = action;\n\tconst { failedReleaseVersionsCount } = state;\n\n\tif (response.status === 401 && failedReleaseVersionsCount < 5) {\n\t\t// check CSRF token if not set or out of date\n\t\tSessionService.checkHeaderUserToken(\n\t\t\tresponse.headers['x-usertoken-response']\n\t\t);\n\t\tSessionService.checkHeaderUserToken(\n\t\t\tresponse.headers['X-UserToken-Response']\n\t\t);\n\t\tSessionService.checkHeaderUserToken(response.headers['X-UserToken']);\n\t\tupdateState({\n\t\t\treleases: {\n\t\t\t\t...state.releases,\n\t\t\t\tisFetchingReleases: true,\n\t\t\t\tisFetchSuccessful: false\n\t\t\t},\n\t\t\tfailedReleaseVersionsCount: failedReleaseVersionsCount + 1\n\t\t});\n\n\t\tgetReleaseVersions(dispatch);\n\t}\n};\n\nconst handleGetFetchReleaseVersionsSucceeded = coeffects => {\n\tconst { action, state, updateProperties, updateState } = coeffects;\n\tconst {\n\t\tresult: {\n\t\t\tdata: { version_selector }\n\t\t}\n\t} = action.payload;\n\tconst {\n\t\tuserInfo: { is_logged_in }\n\t} = state.properties;\n\n\t// to get cache value for user selected version\n\tconst userVersionFromStorage = DevPlatformStorage.loadFromLocalStorage(\n\t\tCONSTANTS.DEFAULTS.CACHE_KEY_USER_SELECTED_VERSION\n\t);\n\n\tif (\n\t\tis_logged_in ||\n\t\t(!userVersionFromStorage &&\n\t\t\tuserVersionFromStorage !== version_selector.selected_version)\n\t) {\n\t\tDevPlatformStorage.saveToLocalStorage(\n\t\t\tCONSTANTS.DEFAULTS.CACHE_KEY_USER_SELECTED_VERSION,\n\t\t\tversion_selector.selected_version\n\t\t);\n\t} else if (userVersionFromStorage) {\n\t\tversion_selector.selected_version = userVersionFromStorage;\n\t}\n\n\tconst activeVersionsFormatted = version_selector.active_versions_formatted;\n\tconst availableVersions = version_selector.available_versions;\n\tconst defaultVersionSelected = version_selector['dev.defaultVersionSelected'];\n\tconst userVersionSelected = version_selector.selected_version;\n\tconst releaseImages = version_selector.release_images;\n\tconst releaseNotes = version_selector.release_notes;\n\tconst inactive_releases = version_selector.inactive_versions;\n\n\tupdateProperties({\n\t\treleaseInfo: {\n\t\t\tactiveVersionsFormatted,\n\t\t\tavailableVersions,\n\t\t\tdefaultVersionSelected,\n\t\t\tinactive_releases,\n\t\t\tlatestRelease: version_selector ? version_selector.latest_release : null,\n\t\t\treleaseImages,\n\t\t\treleaseNotes,\n\t\t\tuserVersionSelected,\n\n\t\t}\n\t});\n\n\tsetTimeout(() => {\n\t\tupdateState({\n\t\t\treleases: {\n\t\t\t\t...state.releases,\n\t\t\t\tactiveVersionsFormatted,\n\t\t\t\tdefaultVersionSelected,\n\t\t\t\tisFetchingReleases: false,\n\t\t\t\tisFetchSuccessful: true,\n\t\t\t\tfailedReleaseVersionsCount: 0,\n\t\t\t\tuserVersionSelected\n\t\t\t},\n\t\t\tfailedReleaseVersionsCount: 0\n\t\t});\n\t});\n};\n\nexport const fetchReleaseVersions = {\n\t[APP_ACTIONS.GET_RELEASE_VERSIONS]: handleGetFetchReleaseVersions,\n\t[APP_ACTIONS.GET_RELEASE_VERSIONS_FAILED]: handleGetFetchReleaseVersionsFailed,\n\t[APP_ACTIONS.GET_RELEASE_VERSIONS_SUCCEEDED]: handleGetFetchReleaseVersionsSucceeded\n};\n\n/**\n *\n * Update user selected version in instance\n */\nexport const handleReleaseVersionToggle = makeHttpEffectCreator(\n\tAPP_ACTIONS.RELEASE_VERSION_TOGGLE,\n\tCONSTANTS.ENDPOINTS.DEV_PORTAL_URI,\n\t{\n\t\tbatch: false,\n\t\theaders: { 'X-UserToken': SessionService.getHeaderUserToken() },\n\t\tmethod: 'POST',\n\t\tqueryParams: ['sysparm_data'],\n\t\tonSuccess(coeffects) {\n\t\t\tconst { updateProperties, properties, action } = coeffects;\n\t\t\tconst { releaseInfo, userInfo } = properties;\n\t\t\tconst {\n\t\t\t\tpayload: { version_selected }\n\t\t\t} = action;\n\n\t\t\tif (version_selected) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\treleaseInfo: {\n\t\t\t\t\t\t...releaseInfo,\n\t\t\t\t\t\tuserVersionSelected: version_selected,\n\t\t\t\t\t\trelease: version_selected\n\t\t\t\t\t},\n\t\t\t\t\tuserInfo: {\n\t\t\t\t\t\t...userInfo,\n\t\t\t\t\t\tversion_selected\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n);\n","import { APP_ACTIONS } from '../actions';\nimport { CONSTANTS, DPS_TOAST_ALERT_TYPES } from '../../../constants';\nimport { DevPlatformStorage } from '../../../utils/storage';\nimport {\n\tisAMBEnabled,\n\tisTruthy,\n\tmakeHttpEffectCreator\n} from '../../../utils/helpers';\nimport { SessionService } from '../../../utils/sessionService';\nimport {\n\tobserveLocalStorage,\n\tsetCMSHeaderConfiguration\n} from '../actionHelpers';\nimport { MemStorage } from '../../../utils/memStorage';\n\nconst fetchSystemProperties = makeHttpEffectCreator(\n\tAPP_ACTIONS.GET_SYSTEM_PROPERTIES,\n\tCONSTANTS.ENDPOINTS.SYSTEM_PROPERTIES,\n\t{\n\t\tbatch: false,\n\t\theaders: { 'X-UserToken': SessionService.getHeaderUserToken() },\n\t\tmethod: 'GET',\n\t\tqueryParams: ['sysparm_data'],\n\t\tonError(coeffects) {\n\t\t\tconst { dispatch, updateState } = coeffects;\n\t\t\tdispatch(APP_ACTIONS.USER_SESSION_TIMEOUT_FETCHED, {\n\t\t\t\tuserSessionTimeout: CONSTANTS.DEFAULTS.USER_SESSION_POLL_INTERVAL\n\t\t\t});\n\t\t\tupdateState({\n\t\t\t\tfailedFetchingSystemProperties: true\n\t\t\t});\n\t\t},\n\t\tonSuccess(coeffects) {\n\t\t\tconst {\n\t\t\t\taction,\n\t\t\t\tdispatch,\n\t\t\t\tupdateProperties,\n\t\t\t\tstate: { navigationConfig },\n\t\t\t\tproperties: { userInfo },\n\t\t\t\tupdateState\n\t\t\t} = coeffects;\n\n\t\t\tconst { payload } = action;\n\t\t\tconst { system_properties } = payload.result.data;\n\t\t\tconst timeoutSysProp = 'glide.ui.session_timeout';\n\t\t\tconst ambEnabled = isAMBEnabled(system_properties);\n\n\t\t\tsetCMSHeaderConfiguration({\n\t\t\t\tdispatch,\n\t\t\t\tnavigationConfig,\n\t\t\t\tuserInfo,\n\t\t\t\tupdateState,\n\t\t\t\tsystem_properties\n\t\t\t});\n\t\t\tupdateState({\n\t\t\t\tfailedFetchingSystemProperties: false\n\t\t\t});\n\t\t\tupdateProperties({ systemProperties: system_properties });\n\t\t\tdispatch(APP_ACTIONS.USER_SESSION_TIMEOUT_FETCHED, {\n\t\t\t\tuserSessionTimeout: parseInt(system_properties[timeoutSysProp], 10)\n\t\t\t});\n\n\t\t\t// MemStorage is empty and user is a guest\n\t\t\tif (MemStorage.isEmpty()) {\n\t\t\t\tdispatch(APP_ACTIONS.SET_USER_SESSION_RELEASE, {\n\t\t\t\t\tselectedRelease: system_properties['dev.defaultVersionSelected']\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tobserveLocalStorage(ambEnabled, coeffects);\n\t\t}\n\t}\n);\n\nexport default fetchSystemProperties;\n","import { APP_ACTIONS } from '../actions';\nimport { CONSTANTS, DPS_NAV_INSTANCE_MANAGEMENT } from '../../../constants';\nimport { formatSysParam, makeHttpEffectCreator } from '../../../utils/helpers';\nimport { SessionService } from '../../../utils/sessionService';\n\nconst fetchUpdateMagicLink = {\n\t...makeHttpEffectCreator(\n\t\tAPP_ACTIONS.UPDATE_MAGIC_LINK,\n\t\tCONSTANTS.ENDPOINTS.GET_MAGIC_LINK_URL,\n\t\t{\n\t\t\tbatch: false,\n\t\t\theaders: { 'X-UserToken': SessionService.getHeaderUserToken() },\n\t\t\tmethod: 'GET',\n\t\t\tonError({ updateState }) {\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'magicLink',\n\t\t\t\t\tvalue: null,\n\t\t\t\t\toperation: 'set'\n\t\t\t\t});\n\t\t\t},\n\t\t\tonSuccess({ action, state, updateState }) {\n\t\t\t\tconst {\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tresult: { url: value }\n\t\t\t\t\t}\n\t\t\t\t} = action;\n\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'magicLink',\n\t\t\t\t\tvalue,\n\t\t\t\t\toperation: 'set'\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t)\n};\n\nexport default fetchUpdateMagicLink;\n","import { DPS_TOAST_ALERT_TYPES } from \"../../../constants\";\nimport { DevPlatformStorage } from \"../../../utils/storage\";\nimport { APP_ACTIONS } from \"../actions\";\n\n\nconst storageName = \"devplatform-employeeLogoutNoticeRequired\";\nconst messageText = \"Sign in to start exploring, experimenting, and building with the power of ServiceNow.\";\n\n\nexport const unSetEmployeeLogoutNoticeStorage = function(toastMessages, id) {\n\tconst matchingToastMessage = toastMessages.filter(toastMessage => toastMessage.id === id)\n\tif (matchingToastMessage && matchingToastMessage[0] && matchingToastMessage[0].message === messageText) {\n\t\tDevPlatformStorage.saveToLocalStorage(storageName, false);\n\t}\n}\n\nexport const setEmployeeLogoutNoticeStorage = function() {\n\tDevPlatformStorage.saveToLocalStorage(storageName, true);\n}\n\n\nexport const showEmployeeLogoutNotice = function({dispatch, properties, updateProperties}) {\n\tconst { isEmployeeLogoutNoticeShown, systemProperties } = properties;\n\tconst hasLocalStorage = DevPlatformStorage.loadFromLocalStorage(storageName);\n\n\tif (hasLocalStorage && !isEmployeeLogoutNoticeShown) {\n\t\tconst waitToShowAlert = systemProperties && systemProperties['dev.employeeLogout.delay'] || 10000;\n\t\tsetTimeout(() => {\n\t\t\tdispatch(APP_ACTIONS.DPS_TOAST_ALERT, {\n\t\t\t\tmessage: messageText,\n\t\t\t\ttype: DPS_TOAST_ALERT_TYPES.INFO,\n\t\t\t\tclosable: true,\n\t\t\t\tautoDismiss: false\n\t\t\t});\n\t\t}, waitToShowAlert);\n\n\t\tupdateProperties({isEmployeeLogoutNoticeShown: true})\n\t}\n}\n","import { APP_ACTIONS } from '../actions';\nimport { snHttpFactory } from 'sn-http-request';\nimport { SessionService } from '../../../utils/sessionService';\nimport {\n\tgetUserInfo,\n\tloadAuthorizedUserMetaData,\n\tshowLeadTrackingModal,\n\tshowLegalModal,\n\tshowUserProfileModal\n} from '../actionHelpers';\nimport { isAMBEnabled, isEmployee } from '../../../utils/helpers';\nimport { DevPlatformStorage } from '../../../utils/storage';\nimport { CONSTANTS, DPS_TOAST_ALERT_TYPES } from '../../../constants';\nimport { setEmployeeLogoutNoticeStorage, showEmployeeLogoutNotice } from './handleEmployeeLogoutNotice';\n\nconst snHttp = snHttpFactory({\n\tbatching: false\n});\n\nconst handleGetUserSession = coeffects => {\n\tconst { action, dispatch, updateState } = coeffects;\n\tconst url = 'api/snc/v1/dev/user_session_info';\n\tconst configObj = {\n\t\tsysparm_data: JSON.stringify(action.payload.sysparm_data)\n\t};\n\n\tsnHttp\n\t\t.get(url, {\n\t\t\tparams: configObj\n\t\t})\n\t\t.then(response => {\n\t\t\tconst { headers } = response.config;\n\t\t\t// check CSRF token if not set or out of date\n\t\t\tSessionService.checkHeaderUserToken(headers['x-usertoken-response']);\n\t\t\tSessionService.checkHeaderUserToken(headers['X-UserToken-Response']);\n\t\t\tSessionService.checkHeaderUserToken(headers['X-UserToken']);\n\t\t\t// Dispatch successAction\n\n\t\t\tif (response.status === 200) {\n\t\t\t\tupdateState({\n\t\t\t\t\tfailedUserSessionFetch: false,\n\t\t\t\t\tfailedUserSessionCount: 0\n\t\t\t\t});\n\t\t\t\tdispatch(APP_ACTIONS.GET_USER_SESSION_SUCCEEDED, {\n\t\t\t\t\tuser: { ...response.data.result }\n\t\t\t\t});\n\t\t\t}\n\t\t})\n\t\t.catch(error => {\n\t\t\tdispatch(APP_ACTIONS.GET_USER_SESSION_FAILED, error);\n\t\t});\n};\n\nconst handleGetUserSessionFailed = coeffects => {\n\tconst { action, dispatch, state, updateState } = coeffects;\n\tconst {\n\t\tpayload: { response }\n\t} = action;\n\tconst { failedUserSessionCount } = state;\n\n\tif (response && response.status === 401 && failedUserSessionCount < 5) {\n\t\t// check CSRF token if not set or out of date\n\t\tSessionService.checkHeaderUserToken(\n\t\t\tresponse.headers['x-usertoken-response']\n\t\t);\n\t\tSessionService.checkHeaderUserToken(response.headers['X-UserToken']);\n\t\tupdateState({\n\t\t\tfailedUserSessionFetch: true,\n\t\t\tfailedUserSessionCount: failedUserSessionCount + 1\n\t\t});\n\t\tgetUserInfo(dispatch);\n\t}\n};\n\nconst updateQualtricsObject = userInfo => {\n\twindow.qualtrics_data = {\n\t\temail: userInfo.email,\n\t\tuserName: userInfo.first_name + \" \" + userInfo.last_name,\n\t\thasPDI: (userInfo.user_instance_release) ? true : false,\n\t\tisFirstTimeUser: userInfo.is_first_time_user,\n\t\tuserAccountCreatedDate: userInfo.created_on,\n\t\tauthenticated: userInfo.is_logged_in,\n\t\tisImpersonated: \"NA\",\n\t\tlastLoggedIn: userInfo.last_login,\n\t\tacceptedEarlyAccess: userInfo.accepted_early_access,\n\t\tcompany: userInfo.company_name,\n\t\tcountry: userInfo.country,\n\t\tjobFunction: userInfo.job_responsibilities,\n\t\tjobLevel: userInfo.job_level,\n\t\tjobRole: userInfo.roles,\n\t\tlanguage: userInfo.preferred_language,\n\t\tpdiUserRole: userInfo.pdi_user_role,\n\t\troles: userInfo.job_responsibilities,\n\t\ttitle: userInfo.title,\n\t\tversion: userInfo.version_selected\n\t};\n};\n\nconst handleGetUserSessionSucceeded = coeffects => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { user }\n\t\t},\n\t\tdispatch,\n\t\tproperties,\n\t\tstate,\n\t\tupdateProperties,\n\t\tupdateState\n\t} = coeffects;\n\n\tconst userInfo = { ...user };\n\t// Treat pristine users as existing users\n\tif (userInfo.userType === 'pristine_user') {\n\t\tdelete userInfo.userType;\n\t}\n\tconst { show_playground_whats_new_modal, show_whats_new_modal, is_logged_in, isBlockedUser } = user;\n\tconst { systemProperties } = properties;\n\tconst { leadTrackingCompleted, navigationConfig } = state;\n\tconst isWhatsNewModalOpened = false; // Turn off what's new modal\n\n\t// Load from local storage and load from user settings.\n\t// Coerce them both into boolean values for easier comparison\n\tconst playgroundModalShownUserSettings = show_playground_whats_new_modal === '0';\n\tconst playgroundModalShownLocalStorage = !!DevPlatformStorage.loadFromLocalStorage(\n\t\tCONSTANTS.DEFAULTS.CACHE_KEY_PLAYGROUND_WHATS_NEW_MODAL\n\t);\n\n\t// If \"local storage\" is \"true\" (shown) and \"user settings\" is \"false\";\n\t// set \"user settings\" value to shown. This is to handle the case where\n\t// a user dismisses the modal and then logs in.\n\tif(userInfo.is_logged_in && playgroundModalShownLocalStorage && !playgroundModalShownUserSettings) {\n\t\tdispatch(APP_ACTIONS.PLAYGROUND_WHATS_NEW_UPDATE);\n\t}\n\n\tif (isEmployee(userInfo)){\n\t\tsetEmployeeLogoutNoticeStorage();\n\t} else if (!userInfo.is_logged_in) {\n\t\tshowEmployeeLogoutNotice(coeffects);\n\t};\n\n\t// Always show the modal... unless either of the following are true.\n\tconst isPlaygroundWhatsNewModalOpened = !(playgroundModalShownLocalStorage || playgroundModalShownUserSettings);\n\n\t// if amb is enabled, then we should load the meta data since we're only calling it once\n\t// if amb is disabled but userInfoLoaded is false, then load the meta data\n\tconst ambEnabled = isAMBEnabled(systemProperties);\n\tconst shouldLoadAdditionalMetaData =\n\t\tambEnabled || (!ambEnabled && !state.userInfoLoaded);\n\n\t// Preserve changedPdiUserRole if it was set (e.g., after role change operation)\n\t// Only reset it if userInfo.pdi_user_role matches the changed role (meaning server has updated)\n\tconst currentChangedRole = properties.changedPdiUserRole;\n\tconst shouldResetChangedRole = !currentChangedRole || userInfo.pdi_user_role === currentChangedRole;\n\n\tupdateProperties({\n\t\tuserInfo,\n\t\tisWhatsNewModalOpened,\n\t\tisPlaygroundWhatsNewModalOpened,\n\t\tisBlockedUser,\n\t\tchangedPdiUserRole: shouldResetChangedRole ? '' : currentChangedRole\n\t});\n\n\tupdateQualtricsObject(userInfo);\n\n\tif (Object.keys(userInfo).length > 1) {\n\t\t// Show User Profile Modal\n\t\tshowUserProfileModal({\n\t\t\tdispatch,\n\t\t\tuserInfo\n\t\t});\n\t\t// Show legal modal\n\t\tshowLegalModal({\n\t\t\tdispatch,\n\t\t\tuserInfo\n\t\t});\n\t\t// Show lead tracking modal\n\t\tshowLeadTrackingModal({\n\t\t\tdispatch,\n\t\t\tleadTrackingCompleted,\n\t\t\tsystemProperties,\n\t\t\tuserInfo\n\t\t});\n\t}\n\n\tif (shouldLoadAdditionalMetaData) {\n\t\tloadAuthorizedUserMetaData({\n\t\t\tdispatch,\n\t\t\tnavigationConfig,\n\t\t\tproperties,\n\t\t\tupdateState,\n\t\t\tuserInfo\n\t\t});\n\t\tif (!ambEnabled) {\n\t\t\tupdateState({\n\t\t\t\tpath: 'userInfoLoaded',\n\t\t\t\tvalue: true,\n\t\t\t\toperation: 'set'\n\t\t\t});\n\t\t}\n\t}\n\n\tif (!properties.hasSystemProperties) {\n\t\tSessionService.callCheckSessionAsync({ properties, user });\n\t} else {\n\t\tSessionService.checkSession({ properties, user });\n\t}\n};\n\nexport default {\n\t[APP_ACTIONS.GET_USER_SESSION]: handleGetUserSession,\n\t[APP_ACTIONS.GET_USER_SESSION_FAILED]: handleGetUserSessionFailed,\n\t[APP_ACTIONS.GET_USER_SESSION_SUCCEEDED]: handleGetUserSessionSucceeded\n};\n","import { isTruthy } from '../../../utils/helpers';\n\nexport const handleCheckUrlRedirection = ({ state }) => {\n\tif (state.urlRedirections === null || state.urlRedirections.length === 0) {\n\t\treturn;\n\t}\n\n\tconst currentUrl = window.location.href;\n\tconst urlRedirectionRule = state.urlRedirections.find(urlRedirection => {\n\t\treturn isTruthy(urlRedirection.regex)\n\t\t\t? new RegExp(urlRedirection.old_url, 'i').test(currentUrl)\n\t\t\t: currentUrl.indexOf(urlRedirection.old_url) > -1; \n\t});\n\n\tif (urlRedirectionRule) {\n\t\tconst result = new RegExp(urlRedirectionRule.old_url, 'i').exec(currentUrl);\n\t\tlet newUrlLocation = urlRedirectionRule.new_url.replace(/\\\\\\//g, '/');\n\n\t\tfor (let i = 1; i < result.length; i++) {\n\t\t\tnewUrlLocation = newUrlLocation.replace(`$${i}`, result[i]);\n\t\t}\n\n\t\twindow.location = newUrlLocation;\n\t}\n};\n","import { APP_ACTIONS } from '../actions';\nimport { CONSTANTS } from '../../../constants';\nimport { makeHttpEffectCreator } from '../../../utils/helpers';\n\nconst handleUserLogout = makeHttpEffectCreator(\n\tAPP_ACTIONS.LOGOUT,\n\tCONSTANTS.ENDPOINTS.LOGOUT_URI,\n\t{\n\t\tbatch: false,\n\t\tmethod: 'GET',\n\t\tonError(coeffects) {\n\t\t\tconst { action } = coeffects;\n\t\t\tconsole.log('LOGOUT FAILED', action.payload.error.toJSON());\n\t\t},\n\t\tonSuccess(coeffects) {\n\t\t\tconst { dispatch } = coeffects;\n\t\t\t// dispatch USER_SESSION_CLEARED to do okta logout\n\t\t\tdispatch(APP_ACTIONS.USER_SESSION_CLEARED);\n\t\t}\n\t}\n);\n\nexport default handleUserLogout;\n","/* eslint-disable object-shorthand */\nimport { generateUrl } from '../../../utils/helpers';\nimport { InactivityService } from '../../../utils/inactivityService';\nimport { SessionService } from '../../../utils/sessionService';\nimport { CONSTANTS } from '../../../constants';\nimport { DPS_APP_DEFAULTS } from '../defaults';\nimport { APP_ACTIONS } from '../actions';\nimport { DevPlatformStorage } from '../../../utils/storage';\nimport { pollForUserSession } from '../actionHelpers';\nimport { cleanupQualtricsData } from '../../../utils/qualtricsSurveyTrigger';\n\n/**\n * Effect that gets triggered by an explicit logout and when a session times out\n * @param {*} coeffects\n */\nexport const handleUserResetAndLogout = coeffects => {\n\tconst { dispatch, updateProperties, properties } = coeffects;\n\tconst { defaultVersionSelected } = properties.releaseInfo;\n\n\t// Clean up Qualtrics data on logout\n\tcleanupQualtricsData();\n\n\t// Set the release to the latest release when logout\n\tDevPlatformStorage.saveToLocalStorage(\n\t\tCONSTANTS.DEFAULTS.CACHE_KEY_USER_SELECTED_VERSION,\n\t\tdefaultVersionSelected\n\t);\n\n\tupdateProperties({\n\t\tuserInfo: { ...DPS_APP_DEFAULTS.USER },\n\t\trelease: defaultVersionSelected\n\t});\n\t// dispatch(APP_ACTIONS.LOGOUT);\n\twindow.location.href = CONSTANTS.ENDPOINTS.LOGOUT_URI;\n};\n\n/**\n *\n * @param {*} coeffects\n */\nexport const handleUserSessionCleared = coeffects => {\n\tconst { properties, updateProperties } = coeffects;\n\tconst { systemProperties } = properties;\n\tconst devOktaBaseUrl =\n\t\tsystemProperties['dev.okta.base_url'] ||\n\t\t'https://servicenowsignon.okta.com';\n\tconst devBaseUrl = (systemProperties['dev.base.url'] || 'https://developer.servicenow.com/') + 'dev.do';\n\tconst fromURI = encodeURIComponent(`${devBaseUrl}`);\n\n\t// Clean up Qualtrics data on session clear\n\tcleanupQualtricsData();\n\n\tupdateProperties({ user: { ...DPS_APP_DEFAULTS.USER } });\n\twindow.location.href = generateUrl(\n\t\t`${devOktaBaseUrl}/${CONSTANTS.ENDPOINTS.SSO_LOGOUT_URL}`,\n\t\t`fromURI=${fromURI}`\n\t);\n};\n\n/**\n * Effect that is triggered when polling for user info\n * and system prop for dev.userSession.timeout and dev.userSession.pollInterval\n * are populated\n *\n * @param {Object} coeffects\n */\nexport const handleUserSessionInfoInitialized = coeffects => {\n\tconst { dispatch, properties } = coeffects;\n\tconst { systemProperties } = properties;\n\n\t// Trigger polling\n\tpollForUserSession(\n\t\tdispatch,\n\t\tsystemProperties['dev.userSession.pollInterval'] ||\n\t\t\tCONSTANTS.DEFAULTS.USER_SESSION_POLL_INTERVAL\n\t);\n};\n\n/**\n * Effect that initializes the user session timeout for the SessionService singleton\n * @param {Object} coeffects\n */\nexport const handleUserSessionTimeoutFetched = coeffects => {\n\tconst { action } = coeffects;\n\tconst {\n\t\tpayload: { userSessionTimeout }\n\t} = action;\n\n\tconst OFFSET_TIMEOUT = -2;\n\t// Need to convert session timeout value from minutes to seconds\n\t// since glide.ui.session_timeout is in minutes\n\tconst userSessionTimeoutInSeconds = userSessionTimeout * 60;\n\n\tSessionService.setUserSessionTimeout(userSessionTimeoutInSeconds);\n\tInactivityService.setOptions({\n\t\tinitialCountdown: userSessionTimeoutInSeconds + OFFSET_TIMEOUT,\n\t\tloadFromStore: key => DevPlatformStorage.loadFromLocalStorage(key),\n\t\tsaveToStore: (key, val) => {\n\t\t\tDevPlatformStorage.throttledSave(key, val);\n\t\t},\n\t\tsessionService: SessionService\n\t});\n};\n\nexport default {\n\t[APP_ACTIONS.USER_RESET_AND_LOGOUT]: handleUserResetAndLogout,\n\t[APP_ACTIONS.USER_SESSION_CLEARED]: handleUserSessionCleared,\n\t[APP_ACTIONS.USER_SESSION_INFO_INITIALIZED]: handleUserSessionInfoInitialized,\n\t[APP_ACTIONS.USER_SESSION_TIMEOUT_FETCHED]: handleUserSessionTimeoutFetched\n};\n","import { APP_ACTIONS } from '../actions';\nimport { CONSTANTS, INSTANCE_ACTION_STATES } from '../../../constants';\nimport { makeSnHttpFactory, formatSysParam } from '../../../utils/helpers';\n\nconst handleGetInstanceDetailsFailed = coeffects => {};\nconst handleGetInstanceDetailsSucceeded = coeffects => {\n\tconst { state, updateState, action, dispatch } = coeffects;\n\tconst {\n\t\tresult: { isAwake, isHibernating, wakeupInProgress }\n\t} = action.payload;\n\tconst { instanceInfo } = state;\n\n\tif (isHibernating && !wakeupInProgress) {\n\t\tinstanceInfo.state = INSTANCE_ACTION_STATES.WAKEUP_IN_PROGRESS;\n\t\tconst sysparm_data = formatSysParam('instance.hibernate.wake_up', {\n\t\t\tdirect_wake_up: true\n\t\t});\n\t\tdispatch(APP_ACTIONS.WAKE_UP_INSTANCE_TRIGGER, { sysparm_data });\n\t} else if (!isAwake && !isHibernating && !wakeupInProgress) {\n\t\tinstanceInfo.state = 'Offline';\n\t\tdispatch(APP_ACTIONS.REFRESH_INSTANCE, {\n\t\t\tinstanceSysID: instanceInfo.sys_id\n\t\t});\n\t} else if (\n\t\tisAwake\n\t\t&& instanceInfo.state != 'Online'\n\t\t&& !isHibernating\n\t\t&& !wakeupInProgress\n\t) {\n\t\tinstanceInfo.state = 'Online';\n\t\tdispatch(APP_ACTIONS.REFRESH_INSTANCE, {\n\t\t\tinstanceSysID: instanceInfo.sys_id\n\t\t});\n\t}\n\tupdateState({ instanceInfo });\n};\n\nexport default {\n\t[APP_ACTIONS.GET_INSTANCE_DETAILS]: makeSnHttpFactory({\n\t\tactionName: APP_ACTIONS.GET_INSTANCE_DETAILS,\n\t\tmethod: 'get',\n\t\turl: CONSTANTS.ENDPOINTS.CHECK_INSTANCE_AWAKE\n\t}),\n\t[APP_ACTIONS.GET_INSTANCE_DETAILS_FAILED]: handleGetInstanceDetailsFailed,\n\t[APP_ACTIONS.GET_INSTANCE_DETAILS_SUCCEEDED]: handleGetInstanceDetailsSucceeded\n};\n","import { CONSTANTS } from '../../../constants';\nimport { makeHttpEffectCreator, formatSysParam } from '../../../utils/helpers';\nimport { SessionService } from '../../../utils/sessionService';\nimport { APP_ACTIONS } from '../actions';\n\nconst refreshInstance = makeHttpEffectCreator(\n\tAPP_ACTIONS.REFRESH_INSTANCE,\n\tCONSTANTS.ENDPOINTS.REFRESH_STATUS_URL,\n\t{\n\t\tbatch: false,\n\t\theaders: { 'X-UserToken': SessionService.getHeaderUserToken() },\n\t\tmethod: 'POST',\n\t\tqueryParams: ['instanceSysID'],\n\t\tonError(coeffects) {\n\t\t\tconst { dispatch, state, updateState } = coeffects;\n\t\t\tconst isInstanceRefreshing = false;\n\n\t\t\tupdateState({\n\t\t\t\t...state.instanceManagement,\n\t\t\t\tisInstanceRefreshing,\n\t\t\t\tinstanceRefreshCount: 0\n\t\t\t});\n\n\t\t\tdispatch(APP_ACTIONS.UPDATE_INSTANCE_ACTION_MENU, { isInstanceRefreshing });\n\n\t\t},\n\t\tonSuccess(coeffects) {\n\t\t\tconst { state, dispatch, updateState } = coeffects;\n\t\t\tconst sysparm_data = formatSysParam(\n\t\t\t\tCONSTANTS.DEV_PORTAL_ACTIONS.GET_INSTANCE_INFO,\n\t\t\t\t{\n\t\t\t\t\tdirect_wake_up: true\n\t\t\t\t}\n\t\t\t);\n\t\t\tconst isInstanceRefreshing = true;\n\n\t\t\tupdateState({\n\t\t\t\tinstanceManagement: {\n\t\t\t\t\t...state.instanceManagement,\n\t\t\t\t\tisInstanceRefreshing,\n\t\t\t\t\tinstanceRefreshCount: 1\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tdispatch(APP_ACTIONS.GET_INSTANCE_INFO, { sysparm_data });\n\t\t}\n\t}\n);\n\nexport default refreshInstance;\n","import { APP_ACTIONS } from '../actions';\nimport { CONSTANTS } from '../../../constants';\nimport { makeSnHttpFactory } from '../../../utils/helpers';\n\nconst handleRefreshInstanceBackupFailed = coeffects => {};\nconst handleRefreshInstanceBackupSucceeded = coeffects => {\n\tconst { action, dispatch } = coeffects;\n\tconst { result } = action.payload;\n\tif (result.status === 'failure') {\n\t\tdispatch(APP_ACTIONS.REFRESH_INSTANCE_BACKUP_FAILED, { ...result });\n\t}\n};\n\nexport default {\n\t[APP_ACTIONS.REFRESH_INSTANCE_BACKUP]: makeSnHttpFactory({\n\t\tactionName: APP_ACTIONS.REFRESH_INSTANCE_BACKUP,\n\t\tmethod: 'post',\n\t\turl: CONSTANTS.ENDPOINTS.INSTANCE_BACKUP_VALIDATION\n\t}),\n\t[APP_ACTIONS.REFRESH_INSTANCE_BACKUP_FAILED]: handleRefreshInstanceBackupFailed,\n\t[APP_ACTIONS.REFRESH_INSTANCE_BACKUP_SUCCEEDED]: handleRefreshInstanceBackupSucceeded\n};\n","import { APP_ACTIONS } from '../actions';\nimport { CONSTANTS } from '../../../constants';\nimport { devPortalGetHttpEffect, formatSysParam } from '../../../utils/helpers';\n\nconst INSTANCE_ASSIGNMENT_STATUS = {\n\tSUCCESS: 'complete_success',\n\tERROR: 'complete_error',\n\tASSIGNMENT_FAILED: 'assignmentFailed',\n\tASSIGNMENT_SUCCESS: 'assignmentSuccessful',\n\tSTATE_ONLINE: 'Online',\n\tSTATE_HIBERNATING: 'Hibernating'\n};\n\nconst handleQuickResetWipe = ({ updateProperties, dispatch,updateState, state, action }) => {\n\tconst {\n\t\tpayload: {\n\t\t\treq_id,\n\t\t\tstatus,\n\t\t\thasInstance\n\t\t}\n\t} = action;\n\tif(status ===  CONSTANTS.DEFAULTS.ERROR_STATUS_USER_HAS_INSTANCE && hasInstance) {\n\t\tupdateProperties({ isQuickResetAndWipeDuplicate: true });\n\t\tshowOperationFailedMessage({ updateProperties, dispatch, updateState, state });\n\t} else {\n\t\tconst sysparm_data = formatSysParam(\n\t\tCONSTANTS.DEV_PORTAL_ACTIONS.GET_INSTANCE_REQUEST_STATUS,\n\t\t{\n\t\t\tassign_req_id: req_id\n\t\t}\n\t);\n\tdispatch(\n\t\tAPP_ACTIONS.GET_INSTANCE_ASSIGNMENT_REQUEST_STATUS,\n\t\t{ sysparm_data }\n\t);\n\t}\n\n};\n\nconst handleInstanceAssignmentRequestStatus = devPortalGetHttpEffect({\n\terrorActionType:\n\t\tAPP_ACTIONS.GET_INSTANCE_REQUEST_STATUS_FAILED,\n\tsuccessActionType:\n\t\tAPP_ACTIONS.GET_INSTANCE_REQUEST_STATUS_SUCCEEDED\n});\n\nconst handleInstanceAssignmentRequestStatusSucceeded = coeffects => {\n\tconst { action, properties, state, dispatch, updateProperties, updateState } = coeffects;\n\tconst { payload: resultData, meta } = action;\n\tconst { request: { params: { sysparm_data: { data: { assign_req_id } } } } } = meta;\n\tconst { systemProperties } = properties;\n\tconst { instanceAssignmentPollCount } = state;\n\tconst pollInterval = parseInt(\n\t\tsystemProperties['dev.instance_management.poll_interval'],\n\t\t10\n\t);\n\tconst maxPollCount = parseInt(\n\t\tsystemProperties['dev.instance_management.max_poll_num'],\n\t\t10\n\t);\n\tif (resultData.status === INSTANCE_ASSIGNMENT_STATUS.SUCCESS) {\n\t\tshowOperationSuccessMessage({ resultData, updateProperties, updateState, state });\n\t\tdispatch(APP_ACTIONS.GET_INSTANCE_INFO_POST_RELEASE_INSTANCE);\n\t\tif (resultData.instance_status === INSTANCE_ASSIGNMENT_STATUS.STATE_HIBERNATING) {\n\t\t\tdispatch(APP_ACTIONS.QUICK_RESET_WIPE_WAKE_UP_INSTANCE);\n\t\t}\n\t\tupdateProperties ({\n\t\t\tassignReqId: null\n\t\t});\n\t}\n\telse if (resultData.status === INSTANCE_ASSIGNMENT_STATUS.ERROR ||\n\t\tinstanceAssignmentPollCount > maxPollCount) {\n\t\tshowOperationFailedMessage({ updateProperties, dispatch, updateState, state });\n\t} else {\n\n\t\tupdateProperties ({\n\t\t\tassignReqId: assign_req_id\n\t\t});\n\n\t\tconst sysparm_data = formatSysParam(\n\t\t\tCONSTANTS.DEV_PORTAL_ACTIONS.GET_INSTANCE_REQUEST_STATUS,\n\t\t\t{\n\t\t\t\tassign_req_id: assign_req_id\n\t\t\t}\n\t\t);\n\t\tupdateState({\n\t\t\tinstanceAssignmentPollCount: instanceAssignmentPollCount + 1\n\t\t});\n\t\tsetTimeout(() => {\n\t\t\tdispatch(\n\t\t\t\tAPP_ACTIONS.GET_INSTANCE_ASSIGNMENT_REQUEST_STATUS,\n\t\t\t\t{ sysparm_data }\n\t\t\t);\n\t\t}, pollInterval);\n\t}\n};\n\nconst handleInstanceAssignmentRequestStatusFailed = ({ updateProperties, dispatch, updateState, state }) => {\n\tshowOperationFailedMessage({ updateProperties, dispatch, updateState, state });\n};\n\nconst handleInstanceInfoPostReleaseInstance = ({ dispatch }) => {\n\tconst sysparm_data = formatSysParam(\n\t\tCONSTANTS.DEV_PORTAL_ACTIONS.GET_INSTANCE_INFO,\n\t\t{\n\t\t\tdirect_wake_up: false\n\t\t}\n\t);\n\tdispatch(APP_ACTIONS.GET_INSTANCE_INFO, { sysparm_data });\n};\n\nconst showOperationFailedMessage = ({ updateProperties, dispatch, updateState, state }) => {\n\tconst instanceAssignmentModalScreenType = INSTANCE_ASSIGNMENT_STATUS.ASSIGNMENT_FAILED;\n\tconst isInstanceAssignmentModalOpened = true;\n\tconst isOpenedFromQuickResetWipe = true;\n\tconst instanceAssignmentPollCount = 0;\n\tconst catItemInProgress = null;\n\n\tupdateState({\n\t\tinstanceAssignmentPollCount,\n\t\tinstanceManagement: {\n\t\t\t...state.instanceManagement,\n\t\t\tisQuickResetAndWipeInProgress: false,\n\t\t\tcatItemInProgress\n\t\t},\n\t\tinstanceInfo: {\n\t\t\t...state.instanceInfo,\n\t\t\tstate: 'Online'\n\t\t}\n\t});\n\tupdateProperties({\n\t\tisInstanceAssignmentModalOpened,\n\t\tinstanceAssignmentModalScreenType,\n\t\tisOpenedFromQuickResetWipe\n\t});\n\tdispatch(APP_ACTIONS.GET_INSTANCE_INFO_POST_RELEASE_INSTANCE);\n};\n\nconst showOperationSuccessMessage = ({ resultData, updateProperties, updateState, state }) => {\n\t// not opening creds window as per new CX\n\tconst instanceAssignmentModalScreenType = ''; // INSTANCE_ASSIGNMENT_STATUS.ASSIGNMENT_SUCCESS;\n\t// not opening creds window as per new CX\n\tconst isInstanceAssignmentModalOpened = false;\n\tconst isOpenedFromQuickResetWipe = true;\n\tconst instanceAssignmentPollCount = 0;\n\tconst instanceAssignmentDetails = {\n\t\ttempPassword: resultData.temp_password,\n\t\tloginURL: resultData.loginURL,\n\t\tdisplayURL: resultData.loginURL.slice(\n\t\t\t0,\n\t\t\tresultData.loginURL.indexOf('/login')\n\t\t),\n\t\tstatus\n\t};\n\tconst catItemInProgress = null;\n\tupdateState({\n\t\tinstanceAssignmentPollCount,\n\t\tinstanceManagement: {\n\t\t\t...state.instanceManagement,\n\t\t\tisQuickResetAndWipeInProgress: false,\n\t\t\tcatItemInProgress\n\t\t},\n\t\tinstanceInfo: {\n\t\t\t...state.instanceInfo,\n\t\t\tstate: 'Online'\n\t\t}\n\t});\n\tupdateProperties({\n\t\tisInstanceAssignmentModalOpened,\n\t\tinstanceAssignmentDetails,\n\t\tinstanceAssignmentModalScreenType,\n\t\tisOpenedFromQuickResetWipe\n\t});\n};\n\nexport default {\n\t[APP_ACTIONS.QUICK_RESET_WIPE]: handleQuickResetWipe,\n\t[APP_ACTIONS.GET_INSTANCE_ASSIGNMENT_REQUEST_STATUS]: handleInstanceAssignmentRequestStatus,\n\t[APP_ACTIONS.GET_INSTANCE_REQUEST_STATUS_FAILED]: handleInstanceAssignmentRequestStatusFailed,\n\t[APP_ACTIONS.GET_INSTANCE_REQUEST_STATUS_SUCCEEDED]: handleInstanceAssignmentRequestStatusSucceeded,\n\t[APP_ACTIONS.GET_INSTANCE_INFO_POST_RELEASE_INSTANCE]: handleInstanceInfoPostReleaseInstance,\n};\n","import { devPortalGetHttpEffect } from '../../../utils/helpers';\nimport { DPS_INSTANCE_MODAL_ACTIONS } from '../../../components/dps-instance-modal/actions';\n\nconst handleGetAvailableInstanceCount = devPortalGetHttpEffect({\n\tsuccessActionType: DPS_INSTANCE_MODAL_ACTIONS.GET_AVAILABLE_INSTANCE_COUNT_SUCCEEDED\n});\n\nconst handleGetAvailableInstanceCountSucceeded = coeffects => {\n\tconst { updateProperties, action: { payload } } = coeffects;\n\tconst { availableInstanceCount } = payload;\n\tconst isInstanceAvailableInSamePatch = availableInstanceCount > 0;\n\tupdateProperties({ isInstanceAvailableInSamePatch });\n};\n\n\nexport default {\n\t[DPS_INSTANCE_MODAL_ACTIONS.GET_AVAILABLE_INSTANCE_COUNT]: handleGetAvailableInstanceCount,\n\t[DPS_INSTANCE_MODAL_ACTIONS.GET_AVAILABLE_INSTANCE_COUNT_SUCCEEDED]: handleGetAvailableInstanceCountSucceeded\n};","import { APP_ACTIONS } from '../actions';\nimport { CONSTANTS, INSTANCE_ACTION_STATES } from '../../../constants';\nimport { makeHttpEffectCreator } from '../../../utils/helpers';\nimport { SessionService } from '../../../utils/sessionService';\n\nconst fetchUrlRedirections = makeHttpEffectCreator(\n\tAPP_ACTIONS.GET_URL_REDIRECTIONS,\n\tCONSTANTS.ENDPOINTS.URL_REDIRECTIONS,\n\t{\n\t\tbatch: false,\n\t\theaders: { 'X-UserToken': SessionService.getHeaderUserToken() },\n\t\tmethod: 'GET',\n\t\tqueryParams: [],\n\t\tonError({ updateState }) {\n\t\t\tupdateState({\n\t\t\t\tpath: 'urlRedirections',\n\t\t\t\tvalue: [],\n\t\t\t\toperation: 'set'\n\t\t\t});\n\t\t},\n\t\tonSuccess({ action, dispatch, updateState }) {\n\t\t\tconst { result } = action.payload;\n\t\t\tupdateState({\n\t\t\t\tpath: 'urlRedirections',\n\t\t\t\tvalue: result,\n\t\t\t\toperation: 'set'\n\t\t\t});\n\t\t\tdispatch(APP_ACTIONS.CHECK_URL_REDIRECTION, {});\n\t\t}\n\t}\n);\n\n\nexport default fetchUrlRedirections;","import { APP_ACTIONS } from '../actions';\nimport { CONSTANTS } from '../../../constants';\nimport { makeHttpEffectCreator } from '../../../utils/helpers';\nimport { createPath } from '../../../utils/url';\n\nconst fetchDCIdentifierRouteRedirection = makeHttpEffectCreator(\n\tAPP_ACTIONS.GET_DC_IDENTIFIER_ROUTE_REDIRECTION,\n\tCONSTANTS.ENDPOINTS.DC_IDENTIFIER_ROUTE_RESOLVER,\n\t{\n\t\tbatch: false,\n\t\tmethod: 'GET',\n\t\tpathParams: ['release', 'docType'],\n\t\tonError({ }) {},\n\t\tonSuccess({ action }) {\n\t\t\tconst { result } = action.payload;\n\n\t\t\tif (result && result.redirectedRoute) {\n\t\t\t\tconst { redirectedRoute } = result;\n\n\t\t\t\twindow.location.href = createPath(redirectedRoute);\n\t\t\t}\n\t\t}\n\t}\n);\n\n\nexport default fetchDCIdentifierRouteRedirection;","/**\n * How to use this file!\n *\n * 1. Add a metaTag page type to the metaTag object\n * 2. Call setMetaByPageType(YOUR STRING HERE) on bootstrap of your page\n * 3. ???\n * 4. Profit\n */\n\nconst defaultDescription =\n    'The ServiceNow Developer Program provides developers with resources to learn, build and deploy applications on the ServiceNow platform, and offers resources to ensure a successful application building experience.';\nconst metaTag = {\n\tdefault_tag: {\n\t\ttitle: 'ServiceNow Developers',\n\t\tdescription: defaultDescription\n\t},\n\t// Home\n\thome: {\n\t\ttitle: 'Home',\n\t\tdescription: defaultDescription\n\t},\n\t// Learn\n\tlearn: {\n\t\ttitle: 'Learn',\n\t\tdescription: defaultDescription\n\t},\n\tcourse: {\n\t\ttitle: 'Courses',\n\t\tdescription: 'Below you will find courses designed to bring developers up to speed quickly on the ServiceNow platform. Some of the courses are designed for specific audiences or topics. Please feel free to discover what content might be right for you by drilling into the individual courses and topics.'\n\t},\n\t// Guide\n\tguide: {\n\t\ttitle: 'Guides',\n\t\tdescription: defaultDescription\n\t},\n\tnowPlatform: {\n\t\ttitle: 'Now Platform',\n\t\tdescription: defaultDescription\n\t},\n\tnowExperience: {\n\t\ttitle: 'Now Experience',\n\t\tdescription: defaultDescription\n\t},\n\tpersonalDeveloperInstanceGuide: {\n\t\ttitle: 'Personal Developer Instance Guide',\n\t\tdescription: defaultDescription\n\t},\n\tearlyAccessGuide: {\n\t\ttitle: 'Early Access Guide',\n\t\tdescription: defaultDescription\n\t},\n\t// Reference\n\treference: {\n\t\ttitle: 'Reference',\n\t\tdescription: 'ServiceNow provides JavaScript APIs for use within scripts running on the ServiceNow platform to deliver common functionality. This reference lists available classes and methods along with parameters, descriptions, and examples to make extending the ServiceNow platform easier.'\n\t},\n\tnowComponentLibrary: {\n\t\ttitle: 'Now Component Library',\n\t\tdescription: defaultDescription\n\t},\n\t// Connect\n\tconnect: {\n\t\ttitle: 'Connect',\n\t\tdescription: defaultDescription\n\t},\n\tcommunity: {\n\t\ttitle: 'Community',\n\t\tdescription: defaultDescription\n\t},\n\tevents: {\n\t\ttitle: 'Events',\n\t\tdescription: 'ServiceNow Developer Events | Developer Resources | Provides details about past and upcoming ServiceNow Developer events including webinars, meetups, love coding, and conferences.'\n\t},\n\t// Connect\n\tdesign: {\n\t\ttitle: 'Design',\n\t\tdescription: defaultDescription\n\t}\n\n\t// These are what we used on the old site:\n\t//\n\t// documentation: {\n\t// \ttitle: 'Documentation | ServiceNow Developers',\n\t// \tdescription: 'Below you will find developer specific reference documentation covering best practices, tutorials, examples, getting started guides and topic pages organized by category.'\n\t// },\n\t// catlist: {\n\t// \ttitle: 'Documentation | ServiceNow Developers',\n\t// \tdescription: 'Below you will find developer specific reference documentation covering best practices, tutorials, examples, getting started guides and topic pages organized by category.'\n\t// },\n\t// document_content: {\n\t// \ttitle: 'Documentation | ServiceNow Developers',\n\t// \tdescription: 'Below you will find developer specific reference documentation covering best practices, tutorials, examples, getting started guides and topic pages organized by category.'\n\t// },\n\t//\n\t// rest_api_doc: {\n\t// \ttitle: 'REST API | ServiceNow Developers',\n\t// \tdescription: 'ServiceNow provides extensive access to instances through a set of RESTful APIs. Below you will find a list of the available endpoints with the latest information. For more information about a particular endpoint, click on it in the left pane to view a description of the endpoint, applicable query parameters, a sample request in multiple formats, and a sample response payload.'\n\t// },\n\t// program: {\n\t// \ttitle: 'ServiceNow Developers',\n\t// \tdescription: 'ServiceNow Developer Program'\n\t// },\n\t// events: {\n\t// \ttitle: 'Events | ServiceNow Developers',\n\t// \tdescription: 'ServiceNow Developer Events | Developer Resources | Provides details about past and upcoming ServiceNow Developer events including webinars, meetups, love coding, and conferences.'\n\t// },\n\t// eventDetail: {\n\t// \ttitle: 'Event | ServiceNow Developers',\n\t// \tdescription: 'ServiceNow Developer Events | Developer Resources | Provides details about past and upcoming ServiceNow Developer events including webinars, meetups, love coding, and conferences.'\n\t// }\n};\n\nfunction createMetaNameTag(name, content) {\n\tconst description_tag = document.createElement('meta');\n\tdescription_tag.setAttribute('name', name);\n\tdescription_tag.setAttribute('content', content);\n\tdocument.head.appendChild(description_tag);\n}\n\nfunction createMetaPropertyTag(property, content) {\n\tconst description_tag = document.createElement('meta');\n\tdescription_tag.setAttribute('property', property);\n\tdescription_tag.setAttribute('content', content);\n\tdocument.head.appendChild(description_tag);\n}\n\nexport function setMetaByPageType(type) {\n\tsetMetaByValues({title: metaTag[type].title, description: metaTag[type].description});\n}\n\n// Title and description are both strings\nexport function setMetaByValues({title, description = defaultDescription}) {\n\tconst defaultTitle = 'ServiceNow Developers';\n\tlet newTitle = defaultTitle;\n\n\tif (title !== defaultTitle) {\n\t\tnewTitle = `${title} | ${defaultTitle}`;\n\t}\n\tif (title && title.includes('ServiceNow Developer')) {\n\t\tnewTitle = title;\n\t}\n\n\tsetMetaTitle(newTitle);\n\tsetMetaDescription(description);\n}\n\nexport function setMetaTitle(title) {\n\tconst ogTitle = document.querySelector('meta[property=\"og:title\"]');\n\tconst twitterTitle = document.querySelector('meta[property=\"twitter:title\"]');\n\n\tdocument.title = title;\n\n\tif (ogTitle) {\n\t\togTitle.setAttribute('content', title);\n\t} else {\n\t\tcreateMetaPropertyTag('og:title', title);\n\t}\n\tif (twitterTitle) {\n\t\ttwitterTitle.setAttribute('content', title);\n\t} else {\n\t\tcreateMetaPropertyTag('twitter:title', title);\n\t}\n}\n\nexport function setMetaDescription(description) {\n\tconst metaDescription = document.querySelector('meta[name=\"description\"]');\n\tconst ogDescription =  document.querySelector('meta[property=\"og:description\"]');\n\tif (metaDescription) {\n\t\tmetaDescription.setAttribute('content', description);\n\t} else {\n\t\tcreateMetaNameTag('description', description);\n\t}\n\tif (ogDescription) {\n\t\togDescription.setAttribute('content', description);\n\t} else {\n\t\tcreateMetaPropertyTag('og:description', description);\n\t}\n}\n","import { actionTypes, createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { setMetaByPageType } from '../../utils/meta';\n\nconst { COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nconst DevPlatformHome = () => (\n\t<div className=\"dps-home\">\n\t\t<h1>Home Page</h1>\n\t\t<p>Components Here!</p>\n\t</div>\n);\n\nexport default createCustomElement('dps-home', {\n\trenderer: { type: snabbdom },\n\tview: DevPlatformHome,\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]() {\n\t\t\tsetMetaByPageType('home');\n\t\t}\n\t},\n});\n","import {createElementFromNode} from '@servicenow/ui-renderer-snabbdom';\n\n/**\n * Allows rendering of SVGs inside of JSX\n * innerSVG should be the contents of the <svg></svg> tag\n */\nexport default ({className, width, height, innerSVG}) => {\n\tconst wrapper = document.createElement('SPAN');\n\twrapper.innerHTML = `<svg class=\"${className}\" xmlns=\"http://www.w3.org/2000/svg\" width=\"${width}\" height=\"${height}\" viewBox=\"0 0 ${width} ${height}\">${innerSVG}</svg>`;\n\tconst vnode = createElementFromNode(wrapper);\n\treturn vnode.children[0];\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-icon';\nimport styles from './dps-button.scss';\nimport renderSVG from '../../utils/render-svg';\n\n// Renders icon as now-icon or img\nconst _renderIcon = (icon, imgIcon, size, hasAction) => {\n\tconst { internalAction, externalAction } = hasAction;\n\tlet renderIcon = null;\n\n\tif (icon) {\n\t\trenderIcon = (\n\t\t\t<now-icon\n\t\t\t\ticon={\n\t\t\t\t\tinternalAction\n\t\t\t\t\t\t? 'arrow-right-fill'\n\t\t\t\t\t\t: externalAction\n\t\t\t\t\t\t? 'arrow-up-right-fill'\n\t\t\t\t\t\t: icon\n\t\t\t\t}\n\t\t\t\tsize={size}\n\t\t\t/>\n\t\t);\n\t} else if (imgIcon) {\n\t\tconst renderSVGIcon = renderSVG({\n\t\t\tclassName: `-${size}`,\n\t\t\twidth: 24,\n\t\t\theight: 24,\n\t\t\tinnerSVG: imgIcon\n\t\t});\n\n\t\trenderIcon = renderSVGIcon;\n\t}\n\n\treturn renderIcon;\n};\n\nconst DPSButton = (state, {dispatch}) => {\n\tconst {\n\t\tbare,\n\t\tconfigAria,\n\t\tdisabled,\n\t\texternalAction,\n\t\ticon,\n\t\timgIcon,\n\t\tinternalAction,\n\t\ticonSize,\n\t\tlabel,\n\t\tlinkStyle,\n\t\tname,\n\t\tonClick,\n\t\tsize,\n\t\tvalue,\n\t\tvariant,\n\t\tbuttonType,\n\t\thasButtonAndIcon,\n\t\twhite,\n\t\tid,\n\t\twarningLight\n\t} = state.properties;\n\n\treturn (\n\t\t<button\n\t\t\ttype={buttonType}\n\t\t\ton-click={event => {\n\t\t\t\tconst currentTarget = event.currentTarget;\n\t\t\t\tif (!disabled) {\n\t\t\t\t\tonClick\n\t\t\t\t\t\t? onClick(event)\n\t\t\t\t\t\t: dispatch('DPS_BUTTON#CLICKED', { currentTarget, event });\n\t\t\t\t}\n\t\t\t}}\n\t\t\tclass={{\n\t\t\t\t[`dps-${linkStyle ? 'link' : 'button'}`]: true,\n\t\t\t\t[`-${variant}`]: true,\n\t\t\t\t[`-${size}`]: size,\n\t\t\t\t'is-bare': bare,\n\t\t\t\t'is-disabled': disabled,\n\t\t\t\t'has-action': internalAction || externalAction,\n\t\t\t\t'-external-action': externalAction,\n\t\t\t\t'only-icon': (icon || imgIcon) && !label && !hasButtonAndIcon,\n\t\t\t\t'slot-only': !icon && !imgIcon && !label,\n\t\t\t\t'has-button-and-icon': hasButtonAndIcon,\n\t\t\t\t'is-white': white,\n\t\t\t\t'is-warning-light': warningLight\n\t\t\t}}\n\t\t\tdisabled={disabled}\n\t\t\tname={name}\n\t\t\tvalue={value}\n\t\t\tid={id}\n\t\t\t{...configAria}\n\t\t>\n\t\t\t<slot></slot>\n\t\t\t{label ? <span className=\"dps-button-label\">{label}</span> : null}\n\t\t\t{_renderIcon(icon, imgIcon, iconSize, { internalAction, externalAction })}\n\t\t</button>\n\t);\n};\n\nexport default createCustomElement('dps-button', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DPSButton\n\t},\n\tproperties: {\n\t\tbare: {\n\t\t\tdefault: false\n\t\t},\n\t\tconfigAria: {\n\t\t\tdefault: {}\n\t\t},\n\t\tdisabled: {\n\t\t\tdefault: false\n\t\t},\n\t\texternalAction: {\n\t\t\tdefault: false\n\t\t},\n\t\ticon: {\n\t\t\tdefault: ''\n\t\t},\n\t\timgIcon: {\n\t\t\tdefault: ''\n\t\t},\n\t\tinternalAction: {\n\t\t\tdefault: false\n\t\t},\n\t\ticonSize: {\n\t\t\tdefault: 'sm'\n\t\t},\n\t\tlabel: {\n\t\t\tdefault: ''\n\t\t},\n\t\tlinkStyle: {\n\t\t\tdefault: false\n\t\t},\n\t\tname: {\n\t\t\tdefault: null\n\t\t},\n\t\tonClick: {\n\t\t\tdefault: null\n\t\t},\n\t\tsize: {\n\t\t\tdefault: 'md'\n\t\t},\n\t\tvalue: {\n\t\t\tdefault: null\n\t\t},\n\t\tvariant: {\n\t\t\tdefault: 'primary'\n\t\t},\n\t\tbuttonType: {\n\t\t\tdefault: 'button'\n\t\t},\n\t\thasButtonAndIcon: {\n\t\t\tdefault: false\n\t\t},\n\t\twhite: {\n\t\t\tdefault: false\n\t\t},\n\t\tid: {\n\t\t\tdefault: null\n\t\t},\n\t\twarningLight: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-icon';\nimport styles from './dps-link.scss';\n\nconst _renderIcon = (icon, size, hasAction, newIcons) => {\n\tif (hasAction.internalAction) icon = 'arrow-right-fill';\n\tif (hasAction.externalAction) icon = 'arrow-up-right-fill';\n\tif (newIcons) {\n\t\tif (hasAction.externalAction)\n\t\t\ticon = \"open-link-right-outline\";\n\t}\n\tif (icon) return <now-icon icon={icon} size={size} />;\n};\n\nconst DPSLink = state => {\n\tconst {\n\t\tbare,\n\t\tbuttonStyle,\n\t\tbuttonSize,\n\t\tbuttonVariant,\n\t\tdisabled,\n\t\troundedEdge,\n\t\twarning,\n\t\twarningLight,\n\t\texternalAction,\n\t\thref,\n\t\ticon,\n\t\tinherit,\n\t\tinline,\n\t\tinternalAction,\n\t\textraClassName,\n\t\ticonSize,\n\t\ttarget,\n\t\trel,\n\t\tnone,\n\t\telemId,\n\t\tnewIcons,\n\t} = state.properties;\n\n\treturn (\n\t\t<a\n\t\t\thref={!disabled ? href : null}\n\t\t\ttarget={target}\n\t\t\trel={rel}\n\t\t\t{...(elemId ? { id: elemId } : {})}\n\t\t\tclass={{\n\t\t\t\t[`dps-${buttonStyle ? 'button' : 'link'}`]: true,\n\t\t\t\t[`-${buttonVariant}`]: buttonStyle,\n\t\t\t\t[`-${buttonSize}`]: buttonStyle && buttonSize,\n\t\t\t\t'is-bare': bare,\n\t\t\t\t'-round-edge': !!roundedEdge,\n\t\t\t\t'is-disabled': disabled,\n\t\t\t\t'is-warning': warning,\n\t\t\t\t'is-warning-light': warningLight,\n\t\t\t\t'has-action': internalAction || externalAction,\n\t\t\t\t'-external-action': externalAction,\n\t\t\t\t'-inherit': inherit,\n\t\t\t\t'-inline': inline,\n\t\t\t}}\n\t\t>\n\t\t\t<span class={{\n\t\t\t\t['none']: none,\n\t\t\t\t...(extraClassName ? { [extraClassName]: true } : {})\n\t\t\t}}>\n\t\t\t\t<slot></slot>\n\t\t\t</span>\n\t\t\t{_renderIcon(icon, iconSize, { internalAction, externalAction }, newIcons)}\n\t\t</a>\n\t);\n};\n\nexport default createCustomElement('dps-link', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DPSLink\n\t},\n\tproperties: {\n\t\tbare: {\n\t\t\tdefault: false\n\t\t},\n\t\tbuttonStyle: {\n\t\t\tdefault: false\n\t\t},\n\t\tbuttonSize: {\n\t\t\t// one of ( sm | md | lg )\n\t\t\tdefault: 'md'\n\t\t},\n\t\textraClassName: {\n\t\t\tdefault: ''\n\t\t},\n\t\tbuttonVariant: {\n\t\t\t// one of ( primary | secondary )\n\t\t\tdefault: 'primary'\n\t\t},\n\t\tdisabled: {\n\t\t\tdefault: false\n\t\t},\n\t\troundedEdge: {\n\t\t\tdefault: false\n\t\t},\n\t\twarning: {\n\t\t\tdefault: false\n\t\t},\n\t\twarningLight: {\n\t\t\tdefault: false\n\t\t},\n\t\texternalAction: {\n\t\t\tdefault: false\n\t\t},\n\t\thref: {\n\t\t\tdefault: '#'\n\t\t},\n\t\ticon: {\n\t\t\tdefault: ''\n\t\t},\n\t\tinherit: {\n\t\t\tdefault: false\n\t\t},\n\t\tinline: {\n\t\t\tdefault: false\n\t\t},\n\t\tinternalAction: {\n\t\t\tdefault: false\n\t\t},\n\t\ticonSize: {\n\t\t\tdefault: 'sm'\n\t\t},\n\t\ttarget: {\n\t\t\tdefault: null\n\t\t},\n\t\trel: {\n\t\t\tdefault: null\n\t\t},\n\t\tnone: {\n\t\t\tdefault: false\n\t\t},\n\t\telemId: {\n\t\t\tdefault: undefined\n\t\t},\n\t\tnewIcons: {\n\t\t\tdefault: null\n\t\t}\n\t},\n\tstyles\n});\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-badge.scss';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-tooltip';\nimport { CONSTANTS } from '../../constants';\n\nconst variants = {\n\tprimary: 'primary',\n\tsecondary: 'secondary',\n\ttertiary: 'tertiary',\n\tservicenow: 'servicenow'\n};\n\nconst _renderServicenowBadge = (state, updateState) => {\n\tconst { bare, collapsible, alwaysCollapsed, collapsed, label, size, showTooltip, tooltipPosition,iconColor } = state.properties;\n\tconst servicenowLabel = label || 'ServiceNow Confidential';\n\tconst setTargetRef = ref => setTimeout(() => {\n\t\tupdateState({tooltipRef: ref});\n\t});\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t['dps-badge']: true,\n\t\t\t\t['servicenow']: true,\n\t\t\t\t['-collapsed']: collapsed,\n\t\t\t\t['-collapsible']: collapsible,\n\t\t\t\t['-always-collapsed']: alwaysCollapsed,\n\t\t\t\t['-bare']: bare,\n\t\t\t\t[`-size-${size}`]: size,\n\t\t\t}}\n\t\t\tstyle={iconColor ? { color: iconColor } : {}}\n\t\t\thook-insert={({ elm }) => {\n\t\t\t\tsetTargetRef(elm);\n\t\t\t}}\n\t\t\ttabIndex=\"0\"\n\t\t>\n\t\t\t<span className=\"dps-badge-icon\">\n\t\t\t\t<now-icon icon=\"eye-outline\" size=\"sm\" />\n\t\t\t</span>\n\t\t\t{!alwaysCollapsed ? (\n\t\t\t\t<span className=\"dps-badge-label\">\n\t\t\t\t\t<span>{servicenowLabel}</span>\n\t\t\t\t</span>\n\t\t\t) : null}\n\t\t\t<now-tooltip\n\t\t\t\tid=\"nav-tooltip\"\n\t\t\t\ttarget-ref={showTooltip ? state.tooltipRef : null}\n\t\t\t\tcontent={servicenowLabel}\n\t\t\t\tdelay={CONSTANTS.DEFAULTS.DELAY_TOOLTIP_MS}\n\t\t\t\tposition={tooltipPosition}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nconst view = (state, { updateState }) => {\n\tconst { bare, category, label, variant, href, target, lowercase, size, showTooltip, tooltip, tooltipPosition, font } = state.properties;\n\tconst TAG = href ? 'a' : 'span';\n\tconst setTargetRef = ref => setTimeout(() => {\n\t\tupdateState({tooltipRef: ref});\n\t});\n\n\tif (variant === variants.servicenow) {\n\t\treturn _renderServicenowBadge(state, updateState);\n\t}\n\n\tif (!label && size !== 'sm') {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<TAG\n\t\t\tclass={{\n\t\t\t\t['dps-badge']: true,\n\t\t\t\t[variant]: true,\n\t\t\t\t['-lowercase']: lowercase,\n\t\t\t\t['-bare']: bare,\n\t\t\t\t['-category']: category,\n\t\t\t\t[`-size-${size}`]: size,\n\t\t\t\t[`-font-${font}`]: font\n\t\t\t}}\n\t\t\thref={href}\n\t\t\ttarget={target}\n\t\t\thook-insert={({ elm }) => {\n\t\t\t\tif (showTooltip){\n\t\t\t\t\tsetTargetRef(elm);\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t<slot name=\"icon\"></slot>\n\t\t\t{label}\n\t\t\t{\n\t\t\t\tshowTooltip\n\t\t\t\t? (\n\t\t\t\t\t<now-tooltip\n\t\t\t\t\t\tid=\"nav-tooltip\"\n\t\t\t\t\t\ttarget-ref={showTooltip ? state.tooltipRef : null}\n\t\t\t\t\t\tcontent={tooltip}\n\t\t\t\t\t\tdelay={CONSTANTS.DEFAULTS.DELAY_TOOLTIP_MS}\n\t\t\t\t\t\tposition={tooltipPosition}\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\t\t: null\n\n\t\t\t}\n\t\t</TAG>\n\t);\n};\n\nexport default createCustomElement('dps-badge', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\tbare: {\n\t\t\tdefault: false\n\t\t},\n\t\t/** Toggles the styles for a badge used for categories */\n\t\tcategory: {\n\t\t\tdefault: false\n\t\t},\n\t\t/** Toggles the ability for the badge to collapse */\n\t\tcollapsible: {\n\t\t\tdefault: false\n\t\t},\n\t\t/** For collapsable variants this determines the collapsed state */\n\t\tcollapsed: {\n\t\t\tdefault: false\n\t\t},\n\t\t/** An always collapsed version */\n\t\talwaysCollapsed: {\n\t\t\tdefault: false\n\t\t},\n\t\t/** Smaller size option for collapsed badge */\n\t\tsize: {\n\t\t\tdefault: false\n\t\t},\n\t\t/** href for <a></a> badge */\n\t\thref: {\n\t\t\tdefault: null\n\t\t},\n\t\ticonColor: {\n\t\tdefault: null\n\t\t},\n\t\t/** Badge label */\n\t\tlabel: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/** Force lowercase label */\n\t\tlowercase: {\n\t\t\tdefault: false\n\t\t},\n\t\t/** Computed property that determines if we show the tooltip on hover */\n\t\tshowTooltip: {\n\t\t\tcomputed({properties}) {\n\t\t\t\tconst { collapsible, collapsed, tooltip, variant } = properties;\n\n\t\t\t\tif (!collapsible && collapsed && variant === variants.servicenow) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tif (tooltip.length > 0){\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\t/** Target attribute for <a></a> badge */\n\t\ttarget: {\n\t\t\tdefault: null\n\t\t},\n\t\t/** Tooltip content */\n\t\ttooltip: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/** now-tooltip position */\n\t\ttooltipPosition: {\n\t\t\tdefault: [\n\t\t\t\t'top-center bottom-center',\n\t\t\t\t'bottom-center top-center',\n\t\t\t\t'center-end center-start',\n\t\t\t\t'center-start center-end',\n\t\t\t\t'top-end top-start',\n\t\t\t\t'bottom-end bottom-start',\n\t\t\t\t'top-start top-end',\n\t\t\t\t'bottom-start bottom-end'\n\t\t\t]\n\t\t},\n\t\t/** 'primary' | 'secondary' | 'tertiary' | 'servicenow' | 'acapulco' */\n\t\tvariant: {\n\t\t\tdefault: 'primary'\n\t\t},\n\t\tfont: {\n\t\t\tdefault: ''\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { isEmpty } from '../../utils/helpers';\nimport '@servicenow/now-icon';\nimport '../dps-badge';\n\nimport styles from './dps-content-stack.scss';\n\nconst DpsContentStack = state => {\n\tconst {\n\t\ticon,\n\t\timage,\n\t\tinverse,\n\t\tmetaData,\n\t\tmetaData2,\n\t\tsubTitle,\n\t\ttags,\n\t\ttitle,\n\t\ttitleTag,\n\t\tprogress\n\t} = state.properties;\n\n\tconst hasIcon = !isEmpty(icon);\n\tconst hasMetaData = !isEmpty(metaData);\n\tconst hasMetaData2 = !isEmpty(metaData2);\n\tconst hasSubTitle = !isEmpty(subTitle);\n\tconst hasTitle = !isEmpty(title);\n\n\tconst contentStackHeader =\n\t\t(hasTitle ? `<${titleTag}>${title}</${titleTag}>` : '') +\n\t\t(hasMetaData ? `<span>${metaData}</span>` : '');\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'dps-content-stack': true,\n\t\t\t\t'-inverse': inverse\n\t\t\t}}\n\t\t>\n\t\t\t{hasIcon ? (\n\t\t\t\t<div className=\"dps-content-stack-row -small-gap\">\n\t\t\t\t\t<now-icon icon={icon} size=\"xl\" />\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t\t<div className=\"dps-content-stack-row -icon-custom\">\n\t\t\t\t<slot name=\"icon-custom\" key={title} />\n\t\t\t</div>\n\t\t\t<slot name=\"badge\" />\n\t\t\t{hasSubTitle || hasMetaData2 ? (\n\t\t\t\t<div className=\"dps-content-stack-row -small-gap\">\n\t\t\t\t\t{hasSubTitle ? (\n\t\t\t\t\t\t<div className=\"dps-content-stack-col\">\n\t\t\t\t\t\t\t<h2 className=\"dps-content-stack-subtitle\">{subTitle}</h2>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{hasMetaData2 ? (\n\t\t\t\t\t\t<div className=\"dps-content-stack-col\">\n\t\t\t\t\t\t\t<span className=\"dps-content-stack-metadata2\">{metaData2}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t\t{hasTitle || hasMetaData ? (\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'dps-content-stack-row': true,\n\t\t\t\t\t\t'-small-gap': hasTitle && !hasMetaData,\n\t\t\t\t\t\t'has-progress': progress\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"dps-content-stack-header\"\n\t\t\t\t\t\tinnerHTML={contentStackHeader}\n\t\t\t\t\t></div>\n\t\t\t\t\t<slot name=\"progress\" />\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t\t{image ? (\n\t\t\t\t<div className=\"dps-content-stack-row\">\n\t\t\t\t\t<img {...image} />\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t\t<div className=\"dps-content-stack-row -body\">\n\t\t\t\t<slot />\n\t\t\t</div>\n\t\t\t{tags.length ? (\n\t\t\t\t<div className=\"dps-content-stack-row\">\n\t\t\t\t\t{tags.map(tag => (\n\t\t\t\t\t\t<dps-badge\n\t\t\t\t\t\t\thref={tag.href}\n\t\t\t\t\t\t\ttarget={tag.target}\n\t\t\t\t\t\t\tlabel={tag.label}\n\t\t\t\t\t\t\tvariant={tag.variant}\n\t\t\t\t\t\t\tlowercase\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t\t<div className=\"dps-content-stack-row -cta\">\n\t\t\t\t<slot name=\"cta\" />\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-content-stack', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DpsContentStack\n\t},\n\tproperties: {\n\t\ticon: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\timage: {\n\t\t\tdefault: null\n\t\t},\n\t\tinverse: {\n\t\t\tdefault: null\n\t\t},\n\t\tmetaData: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\tmetaData2: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\tsubTitle: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\ttags: {\n\t\t\tdefault: []\n\t\t},\n\t\ttitle: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Indicates header tag for title\n\t\t * @type {('h1'|'h2'|'h3'|'h4'|'h5'|'h6'|'p')}\n\t\t */\n\t\ttitleTag: {\n\t\t\tdefault: 'h3',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\tprogress: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-icon';\nimport '../dps-content-stack';\n\nimport styles from './dps-card.scss';\n\nconst DpsCard = state => {\n\tconst {\n\t\thasBorder,\n\t\tborderVariant,\n\t\ticon,\n\t\timage,\n\t\tmetaData,\n\t\tmetaData2,\n\t\trating,\n\t\tsubTitle,\n\t\ttags,\n\t\ttitle,\n\t\ttitleTag,\n\t\tprogress\n\t} = state.properties;\n\n\treturn (\n\t\t<div class={{\n\t\t\t['dps-card']: true,\n\t\t\t['-has-border-top']: hasBorder,\n\t\t\t[`-border-variant-${borderVariant}`]: borderVariant,\n\t\t}}>\n\t\t\t<div className=\"dps-card-inner\">\n\t\t\t\t<slot name=\"badge\"/>\n\t\t\t\t<dps-content-stack\n\t\t\t\t\ticon={icon}\n\t\t\t\t\timage={image}\n\t\t\t\t\tmeta-data={metaData}\n\t\t\t\t\tmeta-data-2={metaData2}\n\t\t\t\t\trating={rating}\n\t\t\t\t\tsub-title={subTitle}\n\t\t\t\t\ttags={tags}\n\t\t\t\t\ttitle={title}\n\t\t\t\t\ttitle-tag={titleTag}\n\t\t\t\t\tprogress={progress}>\n\t\t\t\t\t<slot name=\"icon-custom\" slot=\"icon-custom\" />\n\t\t\t\t\t<slot name=\"cta\" slot=\"cta\" />\n\t\t\t\t\t<slot name=\"progress\" slot=\"progress\" />\n\t\t\t\t\t<slot />\n\t\t\t\t</dps-content-stack>\n\t\t\t\t<div className=\"dps-card-meta\">\n\t\t\t\t\t<slot name=\"card-meta\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-card', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DpsCard\n\t},\n\tproperties: {\n\t\thasBorder: {\n\t\t\tdefault: false\n\t\t},\n\t\tborderVariant: {\n\t\t\tdefault: false // primary | ...\n\t\t},\n\t\ticon: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\timage: {\n\t\t\tdefault: null\n\t\t},\n\t\tmetaData: {\n\t\t\tdefault: ''\n\t\t},\n\t\tmetaData2: {\n\t\t\tdefault: ''\n\t\t},\n\t\trating: {\n\t\t\tdefault: []\n\t\t},\n\t\tsubTitle: {\n\t\t\tdefault: ''\n\t\t},\n\t\ttags: {\n\t\t\tdefault: []\n\t\t},\n\t\ttitle: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\ttitleTag: {\n\t\t\tdefault: 'h3'\n\t\t},\n\t\tprogress: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-card-container.scss';\n\nconst DPSCardContainer = state => {\n\tconst {properties: {columns}} = state;\n\n\tconst inlineStyles = {\n\t\t// Defines the number of columns in the grid\n\t\tgridTemplateColumns: `repeat(${columns}, 1fr)`\n\t};\n\n\treturn (\n\t\t<div>\n\t\t\t<slot name=\"title\"></slot>\n\t\t\t<slot name=\"description\"></slot>\n\t\t\t<slot className=\"cards\" style={inlineStyles} /> {/* collection of card components */}\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-card-container', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DPSCardContainer\n\t},\n\tproperties: {\n\t\tcolumns: {\n\t\t\tdefault: '3'\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-spinner.scss';\nimport { onAnimationEnd } from '../../utils/helpers';\n\nconst view = ({properties: {fadeOut, isHidden, size}}, {dispatch}) => {\n\tconst setTargetRef = ref => setTimeout(() => {\n\t\tconst el = ref;\n\t\tel.addEventListener(\n\t\t\tonAnimationEnd(el),\n\t\t\t() => dispatch('DPS_SPINNER#FADE_OUT_COMPLETE')\n\t\t);\n\t});\n\n\treturn isHidden ? null : (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t['dps-spinner']: true,\n\t\t\t\t['-fade-out']: fadeOut,\n\t\t\t\t[`-${size}`]: true\n\t\t\t}}\n\t\t\thook-insert={({elm}) => setTargetRef(elm)}\n\t\t>\n\n\t\t\t<div></div>\n\t\t\t<div></div>\n\t\t\t<div></div>\n\t\t\t<div></div>\n\n\t\t\t<span>Loading</span>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-spinner', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\tfadeOut: {\n\t\t\tdefault: false\n\t\t},\n\t\tisHidden: {\n\t\t\tdefault: false\n\t\t},\n\t\tsize: {\n\t\t\tdefault: 'md'\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-icon';\nimport styles from './dps-ad-card.scss';\n\nconst view = ({properties: { meta, title, image, href, actionLabel, hrefTarget, authUser }},dispatch) => (\n\t<a className=\"dps-ad-card\" href={href} target={hrefTarget}\n\t\ton-click={() => {\n\t\t//Tracking the click on ad cards\n\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\taction: authUser ?\n\t\t\t\t\t`click on ad cards ${title} - auth homepage`\n\t\t\t\t\t: `click on ad cards ${title} - guest homepage`,\n\t\t\t\tcategory: 'buttons',\n\t\t\t\tlabel: authUser ?\n\t\t\t\t\t'Authenticated home page / Nav drop down'\n\t\t\t\t\t: 'News and Events',\n\t\t\t\tvalue: '',\n\t\t\t\tga: true,\n\t\t\t\tadobe: false\n\t\t\t});\n\t\t}}>\n\t\t<div className=\"image\" style={{ backgroundImage: `url(${image})` }} />\n\t\t<div className=\"content\">\n\t\t\t<h4>{meta}</h4>\n\t\t\t<h2>{title}</h2>\n\t\t\t<span className=\"dps-button -primary -md is-bare\">\n\t\t\t\t<span>{actionLabel}</span>\n\t\t\t\t<now-icon icon=\"arrow-right-fill\" size=\"sm\" />\n\t\t\t</span>\n\t\t</div>\n\t</a>\n);\n\nexport default createCustomElement('dps-ad-card', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\timage: {\n\t\t\tdefault: null\n\t\t},\n\t\tmeta: {\n\t\t\tdefault: 'Meta'\n\t\t},\n\t\ttitle: {\n\t\t\tdefault: 'Title'\n\t\t},\n\t\tactionLabel: {\n\t\t\tdefault: 'Learn More'\n\t\t},\n\t\taction: {\n\t\t\tdefault: ''\n\t\t},\n\t\thref: {\n\t\t\tdefault: ''\n\t\t},\n\t\threfTarget: {\n\t\t\tdefault: null\n\t\t},\n\t\tauthUser: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t}\n\t},\n\tstyles\n});\n","export const DPS_AD_CARDS_CONNECTED_ACTIONS = {\n\tCOLLAPSABLE_EVENTS_TOGGLE: 'COLLAPSABLE_EVENTS#TOGGLE'\n};\nexport default DPS_AD_CARDS_CONNECTED_ACTIONS;","import '../../components/dps-ad-card';\nimport '../../components/dps-spinner';\nimport { DPS_AD_CARDS_CONNECTED_ACTIONS } from './actions';\n\nconst _renderCard = ({image, body, type, url, cta}, authUser) => {\n\tconst isExternalLink = !url.includes('dev.do');\n\treturn (\n\t\t<dps-ad-card\n\t\t\tmeta={type}\n\t\t\ttitle={body}\n\t\t\timage={image}\n\t\t\thref={url}\n\t\t\thref-target={isExternalLink ? '_blank' : null}\n\t\t\tactionLabel={cta}\n\t\t\tauthUser={authUser}\n\t\t/>\n\t);\n};\n\nconst addCollapableEventsLink = (isOpen, dispatch) => {\n\treturn (\n\t\t<div className=\"dps-expand-or-collapse-events-link\">\n\t\t\t<div\n\t\t\t\ton-click={() => {\n\t\t\t\t\tdispatch(DPS_AD_CARDS_CONNECTED_ACTIONS.COLLAPSABLE_EVENTS_TOGGLE);\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\tShow {isOpen ? 'Less' : 'All'} News and Events\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nconst view = ({ properties: { cards, isDashboard, loadingCards, cardFetchError, authUser , isOpen} }, dispatch) => {\n\n\tconst adCardsCount = cards.length;\n\n\tif (cardFetchError) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t['dps-expand-or-collapse-events']: true,\n\t\t\t\t\t['auth-page']: authUser && adCardsCount < 6,\n\t\t\t\t\t['expand-events']: (adCardsCount >= 6 || adCardsCount >= 8) && isOpen,\n\t\t\t\t\t['unauth-collapse-events']: adCardsCount >= 8 && !authUser && !isOpen,\n\t\t\t\t\t['auth-collapse-events']: adCardsCount >= 6 && authUser && !isOpen\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div class={{\n\t\t\t\t\t['dps-ad-cards']: true,\n\t\t\t\t\t['-col-3']: isDashboard,\n\t\t\t\t\t['-is-loaded']: !loadingCards,\n\t\t\t\t\t['-show-less']: !authUser && !isOpen,\n\t\t\t\t\t['-auth-show-less']: authUser && !isOpen,\n\t\t\t\t\t['-show-more']: !authUser && isOpen,\n\t\t\t\t\t['-auth-show-more']: authUser && isOpen\n\t\t\t\t}}>\n\t\t\t\t\t<div className=\"spinner-wrapper\">\n\t\t\t\t\t\t<dps-spinner />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"cards-wrapper\">\n\t\t\t\t\t\t{cards.map(card => _renderCard(card, authUser))}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{(!authUser && adCardsCount >= 8) || (authUser && adCardsCount >= 6)\n\t\t\t\t? addCollapableEventsLink(isOpen, dispatch)\n\t\t\t\t: null}\n\t\t</div>\n\t);\n};\n\nexport default view;\n","const initialState = {};\n\nexport default initialState;","const properties = {\n\tisOpen: {\n\t\tdefault: false\n\t},\n\t/**\n\t * List of cards to display (populated via API)\n\t */\n\tcards: {\n\t\tdefault: []\n\t},\n\t/**\n\t * True if cards can not be fetched\n\t */\n\tcardFetchError: {\n\t\tdefault: false\n\t},\n\t/**\n\t * Set to true on the authenticated\n\t * dashboard. Cards our filtered based on this\n\t */\n\tisDashboard: {\n\t\tdefault: false\n\t},\n\t/**\n\t * Show a spinner while we fetch\n\t */\n\tloadingCards: {\n\t\tdefault: true\n\t},\n\tauthUser: {\n\t\tdefault: false,\n\t\tschema: {\n\t\t\ttype: 'boolean'\n\t\t}\n\t}\n};\n\nexport default properties;\n","import { actionTypes } from '@servicenow/ui-core';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { DPS_AD_CARDS_CONNECTED_ACTIONS } from '../actions';\n\nconst { COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nconst DPS_AD_CARDS_CONNECTED = {\n\tFETCH: 'DPS_AD_CARDS_CONNECTED#FETCH',\n\tSUCCESS: 'DPS_AD_CARDS_CONNECTED#FETCH_SUCCEDDED',\n\tERROR: 'DPS_AD_CARDS_CONNECTED#FETCH_ERROR'\n};\n\nexport default {\n\t[COMPONENT_BOOTSTRAPPED]({dispatch, properties: { isDashboard }}) {\n\t\tdispatch(DPS_AD_CARDS_CONNECTED.FETCH, {\n\t\t\tdashboard: isDashboard\n\t\t});\n\t},\n\n\t[DPS_AD_CARDS_CONNECTED.FETCH]: createHttpEffect('/api/snc/v1/dev/ad_cards', {\n\t\tbatch: false,\n\t\tmethod: 'GET',\n\t\tqueryParams: ['dashboard'],\n\t\tsuccessActionType: DPS_AD_CARDS_CONNECTED.SUCCESS,\n\t\terrorActionType: DPS_AD_CARDS_CONNECTED.ERROR\n\t}),\n\n\t[DPS_AD_CARDS_CONNECTED.SUCCESS]({ action: { payload }, updateProperties }) {\n\t\tconst cards = payload.result.map(card => ({\n\t\t\timage: card.u_image,\n\t\t\tbody: card.u_card_body,\n\t\t\ttype: card.u_card_type,\n\t\t\turl: card.u_url,\n\t\t\tcta: card.u_cta\n\t\t}));\n\n\t\tupdateProperties({\n\t\t\tcards,\n\t\t\tcardFetchError: false,\n\t\t\tloadingCards: false\n\t\t});\n\t},\n\n\t[DPS_AD_CARDS_CONNECTED.ERROR]({ updateProperties }) {\n\t\tupdateProperties({\n\t\t\tcardFetchError: true,\n\t\t\tloadingCards: false\n\t\t});\n\t},\n\n\t[DPS_AD_CARDS_CONNECTED_ACTIONS.COLLAPSABLE_EVENTS_TOGGLE]: coeffects => {\n\t\tconst { properties, updateProperties } = coeffects;\n\t\tconst { isOpen } = properties;\n\n\t\tupdateProperties({\n\t\t\tisOpen: !isOpen\n\t\t});\n\t}\n};\n","import { actionTypes } from '@servicenow/ui-core';\nconst {\n\tCOMPONENT_DOM_READY,\n\tCOMPONENT_DISCONNECTED,\n} = actionTypes;\n\nconst indicator = 'behavior-is-in-viewport';\nconst notIndicator = 'behavior-is-not-in-viewport';\nconst neverIndicator = 'behavior-not-yet-in-viewport';\n\nexport default {\n\tname: 'scrollIntoViewport',\n\tactionHandlers: {\n\t\t// eslint-disable-next-line object-shorthand\n\t\t// MIGRATION: COMPONENT_DOM_READY\n\t\t[COMPONENT_DOM_READY]: ({ action: { payload }, updateState }) => {\n\t\t\tconst { host, options } = payload;\n\t\t\tconst { selectors, rootMargin, threshold, once } = options;\n\n\t\t\t// Define our callback. This will be called when an\n\t\t\t// observed element enters or leaves.\n\t\t\tconst callback = entries => {\n\t\t\t\tentries.forEach(entry => {\n\t\t\t\t\t// Adding a \"not class\" allows us to prep elements for eventual animation.\n\t\t\t\t\tif(entry.isIntersecting) {\n\t\t\t\t\t\tentry.target.classList.add(indicator);\n\t\t\t\t\t\tentry.target.classList.remove(notIndicator);\n\t\t\t\t\t\tentry.target.classList.remove(neverIndicator);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif(entry.target.classList.contains(neverIndicator) || !once) {\n\t\t\t\t\t\t\tentry.target.classList.remove(indicator);\n\t\t\t\t\t\t\tentry.target.classList.add(notIndicator);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t};\n\n\t\t\t// Initialize the observer. This is also stored in\n\t\t\t// the component's state for later cleanup.\n\t\t\tconst observer = new IntersectionObserver(callback, {\n\t\t\t\trootMargin: rootMargin || '0px',\n\t\t\t\tthreshold: threshold || 0,\n\t\t\t});\n\n\t\t\t// Iterate over each of the selectors and query(all) them.\n\t\t\t// After, we then iterate over each NodeList and observe the element.\n\t\t\tselectors.forEach(selector => {\n\t\t\t\tconst elements = host.shadowRoot.querySelectorAll(selector);\n\t\t\t\telements.forEach(elem => {\n\t\t\t\t\tif(elem) { // observe if exists...\n\t\t\t\t\t\telem.classList.add(neverIndicator); // mark as never entered\n\t\t\t\t\t\tobserver.observe(elem);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\n\t\t\t// Add the observer to state. This will allow us to\n\t\t\t// cleanup when the component is disconnected.\n\t\t\t// note: This should happen auto-magically due to GC;\n\t\t\t// we are being cautious and doing it by the book.\n\t\t\tupdateState({\n\t\t\t\tscrollIntoViewport: observer\n\t\t\t});\n\t\t},\n\t\t// eslint-disable-next-line object-shorthand\n\t\t[COMPONENT_DISCONNECTED]: ({state: { scrollIntoViewport }}) => {\n\t\t\t// Unobserve\n\t\t\tscrollIntoViewport.disconnect();\n\t\t}\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport view from './view';\nimport initialState from './initialState';\nimport properties from './properties';\nimport actions from './actions';\nimport actionHandlers from './actionHandlers/index';\nimport styles from './dps-ad-cards-connected.scss';\nimport { isSmallViewport } from '../../utils/helpers';\nimport scrollIntoViewport from '../../behaviors/scrollIntoViewport';\n\nexport default createCustomElement('dps-ad-cards-connected', {\n\trenderer: { type: snabbdom },\n\tview,\n\tinitialState,\n\tproperties,\n\tactions,\n\tactionHandlers,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: scrollIntoViewport,\n\t\t\toptions: {\n\t\t\t\tselectors: [\n\t\t\t\t\t'.dps-ad-cards',\n\t\t\t\t],\n\t\t\t\tthreshold: isSmallViewport() ? 0 : 0.2,\n\t\t\t\tonce: true, // prevent transform motion from creating feedback loop\n\t\t\t}\n\t\t}\n\t],\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-card-build-and-deploy.scss';\n\nconst view = ({ properties: { image, title, description, link, buttonText, index } }) => (\n\t<div className={'card ' + `card${index}`}>\n\t\t<img className=\"card-image\" src={image} alt={title} />\n\t\t<div className=\"card-content\">\n\t\t\t<div className='card-text'>\n\t\t\t\t<h3 className=\"card-title\">{title}</h3>\n\t\t\t\t<p className=\"card-description\">{description}</p>\n\t\t\t</div>\n\t\t\t<a href={link} target=\"_blank\" className=\"card-link dps-card-click\">\n\t\t\t\t{buttonText}\n\t\t\t\t<now-icon\n\t\t\t\t\ticon=\"arrow-right-outline\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t/>\n\t\t\t</a>\n\t\t</div>\n\t</div>\n);\n\nexport default createCustomElement('dps-card-build-and-deploy', {\n\trenderer: { type: snabbdom, view },\n\tproperties: {\n\t\timage: { default: '' },\n\t\ttitle: { default: '' },\n\t\tdescription: { default: '' },\n\t\tlink: { default: '' },\n\t\tbuttonText: { default: '' },\n\t\tindex: { default: 0 }\n\t},\n\tstyles\n});\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport styles from './_now-highlighted-value.scss';\nimport '@servicenow/now-icon';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport tooltipBehavior, {\n\tTOOLTIP_ADD_TARGET,\n\tTOOLTIP_REMOVE_TARGET,\n} from '@servicenow/behavior-tooltip';\nimport '@servicenow/now-tooltip';\n\nimport packageInfo from '../package.json';\nconst {name, version} = packageInfo;\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n\nconst renderIcon = (icon, showIcon, size) => {\n\tif (icon || showIcon) {\n\t\treturn (\n\t\t\t<now-icon\n\t\t\t\ticon={icon ? icon : 'presence-fill'}\n\t\t\t\tsize={size}\n\t\t\t\tclassName=\"now-highlighted-value-icon\"\n\t\t\t\taria-hidden=\"true\"\n\t\t\t/>\n\t\t);\n\t}\n};\n\nconst view = (state, {dispatch}) => {\n\tconst {\n\t\tlabel = '',\n\t\tstatus,\n\t\tcolor,\n\t\tvariant,\n\t\ticon,\n\t\tshowIcon,\n\t\twillWrap,\n\t\tsize,\n\t\ttooltipContent,\n\t} = state.properties;\n\tconst statusOrColor = status || color;\n\treturn (\n\t\t<span\n\t\t\tclass={{\n\t\t\t\t'now-highlighted-value': true,\n\t\t\t\t['-' + statusOrColor]: statusOrColor,\n\t\t\t\t['-' + variant]: variant,\n\t\t\t\t'will-wrap': willWrap,\n\t\t\t\t[`-${size}`]: size,\n\t\t\t}}\n\t\t\tdata-tooltip={tooltipContent}\n\t\t\thook-insert={({elm: target}) => {\n\t\t\t\tdispatch(TOOLTIP_ADD_TARGET, {target});\n\t\t\t}}\n\t\t\thook-destroy={({elm: target}) => {\n\t\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, {target});\n\t\t\t}}\n\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex\n\t\t\ttabindex={tooltipContent ? '0' : undefined}\n\t\t>\n\t\t\t{renderIcon(icon, showIcon, size)}\n\t\t\t{willWrap ? (\n\t\t\t\t<span className=\"now-highlighted-value-label\">{label}</span>\n\t\t\t) : (\n\t\t\t\t<span\n\t\t\t\t\tclassName=\"now-highlighted-value-label will-truncate\"\n\t\t\t\t\tdata-truncation={!tooltipContent ? true : undefined}\n\t\t\t\t>\n\t\t\t\t\t{label}\n\t\t\t\t</span>\n\t\t\t)}\n\t\t</span>\n\t);\n};\n\n/**\n * Highlighted values communicate the value of an item\n * by promoting visibility and readability.\n *\n * Use highlighted values when you want to convey the status in a certain area,\n * such as a card, list, or widget. A highlighted value may be combined with a status icon.\n *\n * ```jsx\n * <now-highlighted-value label=\"Value\" color=\"warning\" show-icon />\n *\n * <now-highlighted-value label=\"Tag\" color=\"blue\" variant=\"secondary\" icon=\"clock-outline\" />\n * ```\n *\n * @seismicElement now-highlighted-value\n * @summary A colored label with an optional icon to indicate a status.\n * @uib.label Highlighted value\n * @uib.icon highlighted-value\n * @uib.description A colored label with an optional icon to indicate a status.\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties label, willWrap, variant, color, icon, size, tooltipContent\n * @uib.layout.identifier.children color, icon\n * @uib.layout.identifier.icon image-outline\n *\n */\ncreateEnhancedElement('now-highlighted-value', {\n\tproperties: {\n\t\t/**\n\t\t * Text displayed as the highlighted value.\n\t\t * @type {string}\n\t\t * @uib.description Text displayed as the highlighted value.\n\t\t * @uib.defaultValue Heads up\n\t\t * @uib.translatable true\n\t\t */\n\t\tlabel: {required: true, schema: {type: 'string'}},\n\t\t/**\n\t\t * Deprecated. Use `color` instead.\n\t\t * @private\n\t\t */\n\t\tstatus: {},\n\t\t/**\n\t\t * Sets the highlighted value background color.\n\t\t * @type {('critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'magenta'|'pink'|'orange'|'yellow'|'brown'|'green'|'green-yellow'|'blue'|'gray'|'teal'|'purple')}\n\t\t * @uib.label Color\n\t\t * @uib.description Sets the highlighted value background color.\n\t\t */\n\t\tcolor: {\n\t\t\tdefault: 'low',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'critical',\n\t\t\t\t\t'high',\n\t\t\t\t\t'warning',\n\t\t\t\t\t'moderate',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'info',\n\t\t\t\t\t'low',\n\t\t\t\t\t'magenta',\n\t\t\t\t\t'pink',\n\t\t\t\t\t'orange',\n\t\t\t\t\t'yellow',\n\t\t\t\t\t'brown',\n\t\t\t\t\t'green',\n\t\t\t\t\t'green-yellow',\n\t\t\t\t\t'blue',\n\t\t\t\t\t'gray',\n\t\t\t\t\t'teal',\n\t\t\t\t\t'purple',\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Sets the shade of the highlighted value background and the color of\n\t\t * the text and/or icon.\n\t\t * @type {('primary'|'secondary'|'tertiary')}\n\t\t * @uib.label Variant\n\t\t * @uib.description Sets the shade of the highlighted value background and the color of the text and/or icon.\n\t\t */\n\t\tvariant: {\n\t\t\tdefault: 'tertiary',\n\t\t\tschema: {type: 'string', enum: ['primary', 'secondary', 'tertiary']},\n\t\t},\n\t\t/**\n\t\t * Flag that determines whether an icon displays with the label.\n\t\t * @type {boolean}\n\t\t */\n\t\tshowIcon: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When `show-icon` is set, a solid circle displays in the\n\t\t * highlighted value. Set this property with a valid icon name from\n\t\t * the `now-icon` set to display a custom icon instead.\n\t\t * @type {string}\n\t\t * @uib.label Icon\n\t\t * @uib.description Optional icon to display in the highlighted value\n\t\t * @uib.defaultValue presence-fill\n\t\t * @uib.fieldType icon\n\t\t */\n\t\ticon: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Set to true to wrap the text if it does not fit on one line.\n\t\t * @type {boolean}\n\t\t * @uib.description Wraps the text if it does not fit on one line.\n\t\t */\n\t\twillWrap: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Size of the highlighted value.\n\t\t * @type {('sm'|'md')}\n\t\t * @uib.label Size\n\t\t * @uib.description Size of the highlighted value\n\t\t * @uib.defaultValue sm\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Small\", \"value\": \"sm\"}, {\"label\": \"Medium\", \"value\": \"md\"}]\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'sm',\n\t\t\tschema: {type: 'string', enum: ['sm', 'md']},\n\t\t},\n\t\t/**\n\t\t * Text content shown inside the tooltip.\n\t\t * @type {string}\n\t\t * @uib.label Tooltip label\n\t\t * @uib.defaultValue Enter a label\n\t\t * @uib.description Text shown inside the tooltip\n\t\t * @uib.translatable true\n\t\t */\n\t\ttooltipContent: {schema: {type: 'string'}},\n\t},\n\tview,\n\tbehaviors: [truncationBehavior, tooltipBehavior],\n\tstyles,\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-highlighted-value';\nimport styles from './dps-card-apis-and-libraries-card.scss';\n\nconst view = ({ properties: { tag, title, description, href, index } }) => (\n\t<a className={'dps-card-click card ' + `card${  index}`} href={href}>\n\t\t<div className='tag-container'>\n\t\t\t<now-highlighted-value type=\"none\" label={tag} color=\"positive\" size=\"sm\" variant=\"tertiary\">\n\t\t\t</now-highlighted-value>\n\t\t</div>\n\t\t<div className='card-text'>\n\t\t\t<h3 className=\"card-title\">{title}</h3>\n\t\t\t<div className=\"card-description\">\n\t\t\t\t<p>{description}</p>\n\t\t\t</div>\n\t\t</div>\n\t</a>\n);\n\nexport default createCustomElement('dps-card-apis-and-libraries-card', {\n\trenderer: { type: snabbdom, view },\n\tproperties: {\n\t\ttag: { default: '' },\n\t\ttitle: { default: '' },\n\t\tdescription: { default: '' },\n\t\thref: { default: '' },\n\t\tindex: { default: 0 }\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-highlighted-value';\n\nimport '../dps-card-apis-and-libraries-card';\n\nimport styles from './dps-card-apis-and-libraries.scss';\n\nimport { HOMEPAGE_LABELS } from '../../constants';\n\n\nconst _renderAPIsAndLibrariesCard = ({ tag, title, description, href }, ind, release) => (\n\t<dps-card-apis-and-libraries-card\n\t\ttag={tag}\n\t\ttitle={title}\n\t\tdescription={description}\n\t\thref={href.replace('/{release}/', `/${release}/`)}\n\t\tindex={ind}\n\t></dps-card-apis-and-libraries-card>\n);\n\nconst filterAPICards = release => card => card.includedVersin === 'all' || card.includedVersin.split(',').includes(release.toLowerCase());\n\nconst view = ({ properties: { release, isAuthPage, systemProperties } }) => (\n\t<div class={{ 'dps-home-unauth-apis-libraries': true, '-authenticated': !!isAuthPage }}>\n\t\t<div className=\"dps-home-unauth-apis-libraries-title\">\n\t\t\t<h2>APIs and Libraries </h2>\n\t\t\t<p>\n\t\t\t\tFind the reference materials you need to build on the Now Platform\n\t\t\t</p>\n\t\t\t<now-button\n\t\t\t\ton-click={() => {\n\t\t\t\t\twindow.open('#!/reference', '_self');\n\t\t\t\t}}\n\t\t\t\tlabel={HOMEPAGE_LABELS.LEARN_MORE}\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tsize=\"md\"\n\t\t\t\tclassName=\"secondary-btn-white-bg\"\n\t\t\t></now-button>\n\t\t</div>\n\t\t<div className='dps-home-unauth-apis-libraries-cards'>\n\t\t\t{\n\t\t\t\tJSON.parse(systemProperties['dev.home.apis.list'] || '[]')\n\t\t\t\t\t.filter(filterAPICards(release))\n\t\t\t\t\t.map((card, ind) => _renderAPIsAndLibrariesCard(card, ind, release))\n\t\t\t}\n\t\t</div>\n\t</div>\n);\n\nexport default createCustomElement('dps-card-apis-and-libraries', {\n\trenderer: { type: snabbdom, view },\n\tproperties: {\n\t\trelease: { default: '' },\n\t\tisAuthPage: { default: false },\n\t\tsystemProperties: {\n\t\t\tdefault: {}\n\t\t},\n\t},\n\tstyles\n});\n","import {t} from 'sn-translate';\n\nexport default {\n\tBUTTON: 'button',\n\tCAROUSEL_TRACK_ELM: 'carouselTrackElm',\n\tCAROUSEL_WIDTH: 'carouselWidth',\n\tCURRENT_INDEX: 'currentIndex',\n\tDISABLE_LOOPING: 'disableLooping',\n  \tHAS_STARTED: 'hasStarted',\n\tHORIZONTAL: 'adaptive',\n\tINDICATOR: 'indicator',\n\tINDICATOR_CLICKED_IDX: 'indicatorClickedIdx',\n\tINDICATORS: 'indicators',\n\tIS_TRANSITION_PENDING: 'isTransitionPending',\n\tLARGE: 'lg',\n\tMEDIUM: 'md',\n\tNAME: 'name',\n\tNONE: 'none',\n\tSET: 'set',\n\tSCROLL_DIRECTION: 'scrollDirection',\n\tCONTENT: 'content',\n\tSN_CAROUSEL: 'sn-carousel',\n\tCONTENT_CONTAINER_ELM: 'contentContainerElm',\n\tRTL: 'rtl',\n\tTITLE: 'carousel-title',\n\tENABLE_AUTOSCROLL: 'enableAutoScroll',\n\tPAUSE_AUTOSCROLL: 'pauseAutoScroll',\n\n\t//Actions\n\tACTION_INDICATOR_CLICKED: 'SN_CAROUSEL#INDICATOR_CLICKED',\n\tACTION_LINK_CLICKED: 'SN_CAROUSEL#LINK_CLICKED',\n\tACTION_INDICATOR_INDEX_UPDATED: 'SN_CAROUSEL#INDICATOR_INDEX_UPDATED',\n\tACTION_RECALCULATE_INDICATORS: 'SN_CAROUSEL#ACTION_RECALCULATE_INDICATORS',\n\tACTION_SLOT_CHANGE: 'SN_CAROUSEL#SLOT_CHANGE',\n\tACTION_SCROLL: 'SN_CAROUSEL#SCROLL',\n\tACTION_TOUCH_END: 'SN_CAROUSEL#TOUCH_END',\n\tACTION_TRANSITION_END: 'SN_CAROUSEL#TRANSITION_END',\n\tACTION_UPDATE_INDICATORS: 'SN_CAROUSEL#UPDATE_INDICATORS',\n\tACTION_FOCUS_IN_ITEM: 'SN_CAROUSEL#FOCUS_IN_ITEM',\n\tNOW_BUTTON_BARE_CLICKED: 'NOW_BUTTON_BARE#CLICKED',\n\tNOW_BUTTON_ICONIC_CLICKED: 'NOW_BUTTON_ICONIC#CLICKED',\n\tMETRIC_TRACKED: 'SN_CAROUSEL#METRIC_TRACKED',\n\tACTION_ARROW_KEY_PRESSED: 'SN_CAROUSEL#ACTION_ARROW_KEY_PRESSED',\n\tACTION_AUTO_SCROLL_START: 'SN_CAROUSEL#AUTO_SCROLL_START',\n\tACTION_AUTO_SCROLL_STOP: 'SN_CAROUSEL#AUTO_SCROLL_STOP',\n\tACTION_AUTO_SCROLL_PAUSED: 'SN_CAROUSEL#AUTO_SCROLL_PAUSED',\n\n\t//Metric Names\n\tCAROUSEL_INITIAL_LOAD:'Initial Carousel View',\n\tNAVIGATION_INTERACTION:'Navigate Carousel Items',\n\n\t//CSS Classes/Values\n\tARROW: 'arrow',\n\tARROWS: 'arrows',\n\tCAROUSEL_LABEL : 'Carousel',\n\tCAROUSEL_FOOTER: 'carousel-footer',\n\tCAROUSEL_HEADER: 'carousel-header',\n\tCAROUSEL_HEADER_ABSENT: 'carousel-header-absent',\n\tCAROUSEL_TRACK: 'carousel-track',\n\tCAROUSEL_WRAPPER: 'carousel-wrapper',\n\tDISABLED: 'disabled',\n\tEMPTY_STATE: 'empty-state',\n\tGRADIENT: 'gradient',\n\tHEADER_LINK: 'header-link',\n\tHIDE: 'hide',\n\tICON: 'icon',\n\tMARGIN_LEFT: 'margin-left',\n\tMARGIN_RIGHT: 'margin-right',\n\tSCROLLING: 'scrolling',\n\tSELECTED: 'selected',\n\tSHOW: 'show',\n\tSHOW_ARROWS: 'show-arrows',\n\tTITLE_WRAPPER: 'title-wrapper',\n\tBADGE: 'title-badge',\n\tTRANSITION_TIME: 'all 0.3s',\n\n\t//Empty State Illustrations\n\tADD_ATTACHMENT: 'add-attachment',\n\tADD_DATA: 'add-data',\n\tCOMPLETED_TASKS: 'completed-tasks',\n\tERROR: 'error',\n\tFIRST_TIME_USER: 'first-time-user',\n\tINTERRUPTED: 'interrupted',\n\tNO_ACTIVITIES: 'no-activities',\n\tNO_DATA: 'no-data',\n\tNO_SEARCH_RESULTS: 'no-search-results',\n\tOFFLINE: 'offline',\n\tPERMISSIONS: 'permissions',\n\tUNCONFIGURED: 'unconfigured',\n\n\t//Empty State Label\n\tEMPTY_STATE_LABEL: t('No content to display'),\n\n\t//Empty State Message\n\tEMPTY_STATE_MESSAGE: t('Please add components into the carousel'),\n\n\t//Gradient Styles\n\tDARK: 'dark',\n\tPRIMARY: 'primary',\n\tSECONDARY: 'secondary',\n\tTERTIARY: 'tertiary',\n\n\t//Margin/Padding constants\n\tGRADIENT_WIDTH: 56,\n\tLEFT_MOST_PADDING: 76,\n\tRIGHT_MARGIN_WIDTH: 12,\n\n\t//Navigation\n\tLEFT_ARROW_ICON: 'circle-chevron-start',\n\tNEXT: t('Next'),\n\tFORWARD: t('Move carousel foward'),\n\tPREVIOUS: t('Previous'),\n\tBACKWARD: t('Move carousel backward'),\n\tRIGHT_ARROW_ICON: 'circle-chevron-end',\n\tPAUSE_LABEL: t('Pause autoscroll'),\n\tPLAY_LABEL: t('Play autoscroll'),\n\tPAUSE_ICON : 'circle-pause',\n\tPLAY_ICON: 'circle-play',\n\n\t//Action constants\n\tPAUSE : 'pause',\n\tPLAY: 'play',\n\n\t//Navigation Position\n\tBOTTOM_LEFT: 'bottom-left',\n\tBOTTOM_RIGHT: 'bottom-right',\n\tBOTTOM_SPLIT: 'bottom-split',\n\tCENTER: 'center',\n\n\t//Navigation Styles\n\tFILL: 'fill',\n\tOUTLINE: 'outline',\n\n\t//Number of Items in View\n\tITEMS_IN_VIEW: 'itemsInView',\n\tMULTIPLE_ITEMS_IN_VIEW: 'multiple-content-items',\n\tSINGLE_ITEM_IN_VIEW: 'single-content-item',\n\n\t//Single Items in View When Zoomed In\n\tSINGLE_ITEM_ON_ZOOM: 'singleItemOnZoom',\n\n\t//Property Types\n\tBOOLEAN: 'boolean',\n\tJSON: 'json',\n\tINTEGER: 'integer',\n\tSTRING: 'string',\n\n\t//Sliding Type\n\tNEXT_SET_OF_ITEMS: 'next-set-of-items',\n\tSINGLE_ITEM: 'single-item',\n\tSLIDING_TYPE: 'slidingType',\n\n\t//Title Levels\n\tTITLE_LEVEL_1: '1',\n\tTITLE_LEVEL_2: '2',\n\tTITLE_LEVEL_3: '3',\n\tTITLE_LEVEL_4: '4',\n\tTITLE_LEVEL_5: '5',\n\tTITLE_LEVEL_6: '6',\n\n\t//Title Styles\n\tHEADER_PRIMARY: 'header-primary',\n\tHEADER_SECONDARY: 'header-secondary',\n\tHEADER_TERTIARY: 'header-tertiary',\n\tTITLE_PRIMARY: 'title-primary',\n\tTITLE_SECONDARY: 'title-secondary',\n\tTITLE_TERTIARY: 'title-tertiary',\n\n\t//Title Position\n\tLEFT: 'left',\n\tRIGHT: 'right',\n\n\t// Keyboard Key Name\n\tENTER_KEY: 'Enter',\n\tARROW_LEFT: 'ArrowLeft',\n\tARROW_RIGHT: 'ArrowRight',\n\n\t//Auto scroll interval ID\n\tAUTO_SCROLL_INTERVAL_ID_DEFAULT: -1,\n\n\t// Visibility\n\tVISIBILITY_OBSERVER: 'visibilityObserver',\n\tIS_HOST_VISIBLE: 'isHostVisible'\n};\n","import c from './sn-carousel-constants';\n\n/**\n *  All methods in this file involve the duplication of components required to\n *  make smooth translation if looping is enabled\n */\n\n/**\n * duplicateComponent\n *\n * duplicates a component for use in looping\n */\nconst duplicateComponent = component => {\n\tconst duplicateNode = node => {\n\t\tlet clone = node.cloneNode();\n\n\t\t//if node is a service now component, it will have properties\n\t\tif (node.getProperties !== undefined) {\n\t\t\tconst props = node.getProperties();\n\t\t\tif (props) {\n\t\t\t\tObject.keys(props).forEach(key => {\n\t\t\t\t\tif (node[key])\n\t\t\t\t\t\tclone[key] = node[key];\n\t\t\t\t});\n\t\t\t}\n\n\t\t//otherwise it is pure HTML\n\t\t} else \n\t\t\tclone = node.cloneNode(false);\n\t\t\n\n\t\t//clone any children nodes\n\t\tif (node.children.length > 0) {\n\t\t\tfor (let idx = 0; idx < node.children.length; idx++)\n\t\t\t\tclone.appendChild(duplicateNode(node.children[idx]));\n\t\t}\n\t\treturn clone;\n\t};\n\n\treturn duplicateNode(component);\n};\n\n/**\n * setDuplicateAttribute\n *\n * sets attributes on the duplicated node\n */\nconst setDuplicateAttribute = (component, attribute, suffix) => {\n\tif (component.getAttribute(attribute))\n\t\tcomponent.setAttribute(attribute, component.getAttribute(attribute) + suffix);\n};\n\n/**\n * setupDuplicate\n *\n * sets all the attributes on the duplicated node\n */\nconst setupDuplicate = (duplicate, suffix) => {\n\tsetDuplicateAttribute(duplicate, 'id', suffix);\n\tsetDuplicateAttribute(duplicate, 'now-id', suffix);\n\tsetDuplicateAttribute(duplicate, 'component-id', suffix);\n\tduplicate.setAttribute('is-clone', 'true');\n\tduplicate.setAttribute('tabindex', '-1');\n};\n\n/**\n * deleteDuplicates\n *\n * deletes any duplicated nodes that were created\n * returns true if anything was deleted, false if not\n */\nexport const deleteDuplicates = (hostNode, contentContainerElm) => {\n\t/*\n\t * put any components that have been swapped back into original position before deleting\n\t *  if -pre is after original, or -post is before\n\t */\n\n\tresetPositions(hostNode, contentContainerElm);\n\n\tlet deleted = false;\n\tcontentContainerElm.assignedNodes().forEach(node => {\n\t\tif (node.getAttribute('is-clone') === 'true') {\n\t\t\tdeleted = true;\n\t\t\thostNode.removeChild(node);\n\t\t}\n\t});\n\treturn deleted;\n};\n\n/**\n * createDuplicates\n *\n * creates duplicate nodes for looping\n */\nexport const createDuplicates = (contentContainerElm, contentElms, itemsInView, slidingType, carouselWidth, onResize = false) => {\n\tconst hostNode = contentContainerElm.getRootNode().host;\n\tconst allComponents = contentContainerElm.assignedNodes().filter(node => node.style?.display !== 'none');\n\tlet componentsAdded = false;\n\n\t//If only showing one item at a time, just one duplicate is needed at the front and end\n\tif (itemsInView === c.SINGLE_ITEM_IN_VIEW) {\n\n\t\t//No need to create duplicates on resizing since it's already been create on setup\n\t\tif (onResize) \n\t\t\treturn componentsAdded;\n\n\t\t//Add a duplicate of the last item to the front\n\t\tconst duplicateLastItem = duplicateComponent(contentElms[contentElms.length - 1]);\n\t\tsetupDuplicate(duplicateLastItem, '-pre');\n\t\thostNode.prepend(duplicateLastItem);\n\n\t\t//Add a duplicate of the first item to the end\n\t\tconst duplicateFirstItem = duplicateComponent(contentElms[0]);\n\t\tsetupDuplicate(duplicateFirstItem, '-post');\n\t\thostNode.appendChild(duplicateFirstItem);\n\n\t\tcomponentsAdded = true;\n\n\t} else {\n\n\t\tif (slidingType === c.NEXT_SET_OF_ITEMS) {\n\t\t\t/*\n\t\t\t * For sliding by sets, we need to add the components of the last set and the component before\n\t\t\t * it to the front.  we need the components of the first set and the next component after to add\n\t\t\t *  to the end\n\t\t\t */\n\t\t\tlet firstSet = [];\n\t\t\tlet lastSet = [];\n\t\t\tlet currentSetWidth = 0;\n\t\t\tlet currentSet = [];\n\t\t\tconst remainingLength = carouselWidth - c.LEFT_MOST_PADDING - c.GRADIENT_WIDTH;\n\t\t\tfor (let idx = 0; idx < contentElms.length; idx++) {\n\t\t\t\tcurrentSetWidth += contentElms[idx].offsetWidth;\n\t\t\t\t//far right component could be covered by gradient\n\t\t\t\tif (currentSetWidth > remainingLength) {\n\t\t\t\t\tif (firstSet.length == 0)\n\t\t\t\t\t\tfirstSet = [...currentSet];\n\t\t\t\t\t//since the width is larger, we want to move to the next set\n\t\t\t\t\tcurrentSetWidth = contentElms[idx].offsetWidth;\n\t\t\t\t\tcurrentSet = [];\n\t\t\t\t}\n\t\t\t\tcurrentSetWidth += c.RIGHT_MARGIN_WIDTH;\n\t\t\t\tcurrentSet.push(idx);\n\t\t\t}\n\t\t\tlastSet = [...currentSet];\n\n\t\t\t//The sets may change drastically, so delete all duplicates and recreate if resizing\n\t\t\tif (onResize)\n\t\t\t\tdeleteDuplicates(hostNode, contentContainerElm);\n\n\t\t\tfor (let idx = lastSet[lastSet.length - 1]; idx >= lastSet[0] - 1; idx--) {\n\t\t\t\tconst duplicate = duplicateComponent(contentElms[idx]);\n\t\t\t\tsetupDuplicate(duplicate, '-pre');\n\t\t\t\thostNode.prepend(duplicate);\n\t\t\t}\n\n\t\t\tfor (let idx = firstSet[0]; idx <= firstSet[firstSet.length - 1] + 1; idx++) {\n\t\t\t\tconst duplicate = duplicateComponent(contentElms[idx]);\n\t\t\t\tsetupDuplicate(duplicate, '-post');\n\t\t\t\thostNode.appendChild(duplicate);\n\t\t\t}\n\n\t\t\tcomponentsAdded = true;\n\t\t} else {\n\t\t\t/*\n\t\t\t * For sliding by one item at a time, we need to add the last two items to the front\n\t\t\t * and we need to add the number of items in view based on the position\n\t\t\t * of where the last item ends and the remaining width of the carousel\n\t\t\t */\n\n\t\t\t//Create duplicates components before start of window\n\t\t\tif (!onResize) {\n\t\t\t\tfor (let idx = contentElms.length - 1; idx >= contentElms.length - 2; idx--) {\n\t\t\t\t\tconst duplicate = duplicateComponent(contentElms[idx]);\n\t\t\t\t\tsetupDuplicate(duplicate, '-pre');\n\t\t\t\t\thostNode.prepend(duplicate);\n\t\t\t\t}\n\t\t\t\tcomponentsAdded = true;\n\t\t\t}\n\n\t\t\tlet remainingLength = carouselWidth - c.LEFT_MOST_PADDING;\n\t\t\tfor (let idx = 0; idx < contentElms.length; idx++) {\n\t\t\t\tif (!onResize || findDuplicates(allComponents, contentElms[idx], '-post').length === 0) {\n\t\t\t\t\tconst duplicate = duplicateComponent(contentElms[idx]);\n\t\t\t\t\tsetupDuplicate(duplicate, '-post');\n\t\t\t\t\thostNode.appendChild(duplicate);\n\t\t\t\t\tcomponentsAdded = true;\n\t\t\t\t}\n\n\t\t\t\tremainingLength -= (contentElms[idx].offsetWidth + c.RIGHT_MARGIN_WIDTH);\n\t\t\t\tif (remainingLength < 0)\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\treturn componentsAdded;\n};\n\n/**\n * findDuplicates\n *\n * returns any duplicated components from components that were created from the original component\n */\nexport const findDuplicates = (components, original, suffix) => {\n\tconst isDuplicate = (component, original, suffix) => {\n\t\tif (suffix === '-pre' || suffix === '-post') {\n\t\t\treturn (component.getAttribute('id') === `${original.getAttribute('id')}${suffix}`) ||\n\t\t\t\t(component.getAttribute('component-id') === `${original.getAttribute('component-id')}${suffix}`);\n\t\t}\n\n\t\treturn (component.getAttribute('id') === `${original.getAttribute('id') }-pre`) ||\n\t\t\t(component.getAttribute('id') === `${original.getAttribute('id') }-post`) ||\n\t\t\t(component.getAttribute('component-id') === `${original.getAttribute('component-id') }-pre`) ||\n\t\t\t(component.getAttribute('component-id') === `${original.getAttribute('component-id') }-post`);\n\t};\n\treturn components.filter( component => isDuplicate(component, original, suffix));\n};\n\nexport const findStartingDuplicates = components => components.filter(component => (component.getAttribute('id')?.includes('-pre') || component.getAttribute('component-id')?.includes('-pre')));\n\nexport const findOriginals = (duplicates, components) => duplicates.map(duplicate => components.find(component => (duplicate.getAttribute('id') === `${component.getAttribute('id') }-pre`) ||\n\t\t\t(duplicate.getAttribute('id') === `${component.getAttribute('id') }-post`) ||\n\t\t\t(duplicate.getAttribute('component-id') === `${component.getAttribute('component-id') }-pre`) ||\n\t\t\t(duplicate.getAttribute('component-id') === `${component.getAttribute('component-id') }-post`)));\n\nexport const swapDuplicates = (components, contentContainerElm, updateState) => {\n\tconst swapRequired = components.some(component => component.getAttribute('is-clone') === 'true');\n\n\tif (swapRequired) {\n\t\tconst hostNode = contentContainerElm.getRootNode().host;\n\t\tupdateState({path: 'isSwapping', value: true, operation: c.SET, shouldRender: false});\n\n\t\t//See if any duplicates exist in the components\n\t\tfor (let idx = 0; idx < components.length; idx++) {\n\t\t\tif (components[idx].getAttribute('is-clone')) {\n\t\t\t\t//Find the original\n\t\t\t\tconst originalComponent = contentContainerElm.assignedNodes().find(node => (`${node.getAttribute('id') }-pre`) === components[idx].getAttribute('id') ||\n\t\t\t\t\t\t(`${node.getAttribute('id') }-post`) === components[idx].getAttribute('id') ||\n\t\t\t\t\t\t(`${node.getAttribute('component-id') }-pre`) === components[idx].getAttribute('component-id') ||\n\t\t\t\t\t\t(`${node.getAttribute('component-id') }-post`) === components[idx].getAttribute('component-id'));\n\t\t\t\tconst sibling = originalComponent.nextElementSibling;\n\t\t\t\thostNode.insertBefore(originalComponent, components[idx]);\n\t\t\t\thostNode.insertBefore(components[idx], sibling);\n\n\t\t\t\t// swapped items should be excluded from tab order, so tab focus doesn't loop\n\t\t\t\tif (originalComponent.getAttribute('is-swap')) {\n\t\t\t\t\toriginalComponent.removeAttribute('is-swap');\n\t\t\t\t\toriginalComponent.removeAttribute('tabindex');\n\t\t\t\t} else {\n\t\t\t\t\toriginalComponent.setAttribute('is-swap', 'true');\n\t\t\t\t\toriginalComponent.setAttribute('tabindex', '-1');\n\t\t\t\t}\n\n\t\t\t}\n\t\t}\n\t}\n};\n\n/*\n * resetPositions\n *\n * puts components back into original position if they have been swapped\n */\nexport const resetPositions = (hostNode, contentContainerElm) => {\n\tlet swap = false;\n\tcontentContainerElm.assignedNodes().forEach((node, index, array) => {\n\t\tif (node.getAttribute('is-clone') === 'true') {\n\t\t\tconst prePosition = node.getAttribute('id')?.includes('-pre') || node.getAttribute('component-id')?.includes('-pre');\n\t\t\tconst originalIndex = array.findIndex(original =>\n\t\t\t\t(`${original.getAttribute('id') }-pre`) === node.getAttribute('id') ||\n\t\t\t\t(`${original.getAttribute('id') }-post`) === node.getAttribute('id') ||\n\t\t\t\t(`${original.getAttribute('component-id') }-pre`) === node.getAttribute('component-id') ||\n\t\t\t\t(`${original.getAttribute('component-id') }-post`) === node.getAttribute('component-id'));\n\t\t\t//swap original back to position if required\n\t\t\tif ((prePosition && originalIndex < index) || (!prePosition && originalIndex > index)) {\n\t\t\t\tswap = true;\n\t\t\t\tconst sibling = array[originalIndex].nextElementSibling;\n\t\t\t\thostNode.insertBefore(array[originalIndex], node);\n\t\t\t\thostNode.insertBefore(node, sibling);\n\t\t\t\tarray[originalIndex].removeAttribute('tabindex');\n\t\t\t\tarray[originalIndex].removeAttribute('is-swap');\n\t\t\t}\n\t\t}\n\t});\n\treturn swap;\n};\n","import {findOriginals, findStartingDuplicates, swapDuplicates} from './sn-carousel-duplicates';\nimport c from './sn-carousel-constants';\n\n/**\n * isElementVisible\n *\n * checks if the element is actually rendered on the page (not display: none, visibility: hidden, etc.)\n */\nexport const isElementVisible = (el) => {\n\treturn !!(el && el.offsetParent !== null);\n};\n\n/**\n * getContentWidth\n *\n * returns the width of all the components with spacing inside the carousel\n */\nexport const getContentWidth = (contentElms, itemsInView, disableLooping, carouselWidth) => {\n\tlet width = 0;\n\tfor (let idx = 0; idx < contentElms.length; idx++) {\n\t\tif (itemsInView === c.SINGLE_ITEM_IN_VIEW)\n\t\t\twidth += carouselWidth;\n\t\t else\n\t\t\twidth += contentElms[idx].offsetWidth + c.RIGHT_MARGIN_WIDTH;\n\n\n\t}\n\tif (itemsInView === c.MULTIPLE_ITEMS_IN_VIEW && disableLooping)\n\t\twidth -= c.RIGHT_MARGIN_WIDTH;\n\n\treturn width;\n};\n\n/**\n * getContentWidth\n *\n * returns false if the width of a component is 0\n */\nexport const areComponentsInitialized = contentElms => !contentElms.some(component => component.offsetWidth === 0);\n\n/**\n * transformComponents\n *\n * moves the carousel to the given position\n */\nexport const transformComponents = (state, updateState, length, transition = c.TRANSITION_TIME, performSwap = true) => {\n\tconst {contentContainerElm, itemsInView, properties: {dir, disableLooping}} = state;\n\n\t//If duplicate entries will be in view, swap them before translating\n\tif (!disableLooping && itemsInView === c.MULTIPLE_ITEMS_IN_VIEW && performSwap) {\n\t\tconst inViewComponents = getComponentsInView(state, length);\n\t\tswapDuplicates(inViewComponents, contentContainerElm, updateState);\n\t}\n\n\tconst direction = (dir === c.RTL) ? '' : '-';\n\tcontentContainerElm.style.transition = transition;\n\tcontentContainerElm.style.transform = `translate(${direction}${length}px)`;\n};\n\nexport const getTranslation = contentContainerElm => {\n\tlet transformValue = 0;\n\tconst matchValue = contentContainerElm.style.transform.match(/-+[0-9]+/);\n\tif (matchValue !== null)\n\t\ttransformValue = Math.abs(parseInt(matchValue[0]));\n\n\treturn transformValue;\n};\n\n\n/**\n * calculateIndicators\n *\n * This determines how many indicators are required and how to move the carousel\n *\n * For Hard Stop\n * --------------\n *\n * If itemsInView is single-content-item, we show one component at a time.  The margins are calculated when\n * added into the slot.  On each click, the content is moved the width of the carousel\n *\n * If itemsInView is multi-content-items, we show multiple components at a time.  The width of each component can\n * be varied.\n * - If moving one component at a time, we move the frame by adding the previous components width and subtracting LEFT_MOST_PADDING\n * so that part of the component is still on screen\n * - If moving more than one component at a time, we add the next set of components width until they are greater than the\n * width of the carousel.  We then add the width of those components to the translation and subtract LEFT_MOST_PADDING\n * so that part of the component is still on screen\n *\n * For Looping\n * -----------\n *\n * We do the same calculations for looping as we do for hardstop.\n * However, since we have added a duplicate component for each component to the front and end of the list,\n * we add the content width to the translation and subtract the LEFT_MOST_PADDING for each position\n *\n * When we move from the start to the end (clicking left on first position), we move to the first indicator's\n * starting position plus the width of all the components.\n * When we move from the end to start (clicking right at last position), we move to the last indicator's position\n * and subtract the width of all the components\n * After the transition is complete, we move back to the indicator's position without animation\n *\n *\n * TBD\n */\nexport const calculateIndicators = state => {\n\tconst {\n\t\tcarouselTrackElm,\n\t\tcontentContainerElm,\n\t\tcontentCount,\n\t\tcontentElms,\n\t\titemsInView,\n\t\tproperties: {\n\t\t\tslidingType,\n\t\t\tdisableLooping\n\t\t}\n\t} = state;\n\tconst indicators = [];\n\tconst carouselWidth = carouselTrackElm.offsetWidth;\n\tconst contentWidth = getContentWidth(contentElms, itemsInView, disableLooping, carouselWidth);\n\n\tlet translate = 0;\n\tif (!disableLooping) {\n\t\tif (itemsInView === c.SINGLE_ITEM_IN_VIEW) \n\t\t\ttranslate = carouselWidth;\n\t\t else {\n\t\t\tconst startingDuplicates = findStartingDuplicates(contentContainerElm.assignedNodes());\n\t\t\tfindOriginals(startingDuplicates, contentContainerElm.assignedNodes()).forEach(component => {\n\t\t\t\ttranslate += component.offsetWidth + c.RIGHT_MARGIN_WIDTH;\n\t\t\t});\n\t\t}\n\t}\n\n\t//If contentWidth <= carouselWidth, return one indicator at starting position\n\tif (contentWidth <= carouselWidth) {\n\t\treturn [{\n\t\t\ttranslate: 0,\n\t\t\tcontent: 0\n\t\t}];\n\t}\n\n\t//if only showing one item at a time, then we need one indicator per item\n\tif (itemsInView === c.SINGLE_ITEM_IN_VIEW) {\n\t\tfor (let idx = 0; idx < contentCount; idx++) {\n\t\t\tconst indicator = {\n\t\t\t\ttranslate,\n\t\t\t\tcontent: idx\n\t\t\t};\n\t\t\tindicators.push(indicator);\n\n\t\t\t//Update translate for next component starting point\n\t\t\ttranslate += carouselWidth;\n\t\t}\n\t} else {\n\t\tlet currentComponentIdx = 0;\n\t\tfor (let idx = 0; idx < contentCount; idx++) {\n\t\t\t//If looped through all the components, then break\n\t\t\tif (currentComponentIdx >= contentCount)\n\t\t\t\tbreak;\n\n\t\t\tconst indicator = {\n\t\t\t\ttranslate,\n\t\t\t\tcontent: currentComponentIdx\n\t\t\t};\n\t\t\tindicators.push(indicator);\n\n\t\t\t//Update the translate to account for padding\n\t\t\tif (disableLooping) {\n\t\t\t\tif (idx !== 0) {\n\t\t\t\t\tif (translate - c.LEFT_MOST_PADDING < contentWidth - carouselWidth) \n\t\t\t\t\t\tindicators[idx].translate = translate - c.LEFT_MOST_PADDING;\n\t\t\t\t\t else {\n\t\t\t\t\t\t//We've reached the farthest right position\n\t\t\t\t\t\tindicators[idx].translate = contentWidth - carouselWidth;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else \n\t\t\t\tindicators[idx].translate = translate - c.LEFT_MOST_PADDING;\n\t\t\t\n\n\t\t\t//If sliding a single item, just add its width and margin to the translation\n\t\t\tif (slidingType === c.SINGLE_ITEM) {\n\t\t\t\ttranslate += contentElms[idx].offsetWidth + c.RIGHT_MARGIN_WIDTH;\n\t\t\t\tcurrentComponentIdx++;\n\t\t\t//otherwise, need to add the width of the set of items to translate\n\t\t\t} else {\n\t\t\t\tlet currentSetWidth = 0;\n\t\t\t\tfor (currentComponentIdx; currentComponentIdx < contentCount; currentComponentIdx++) {\n\t\t\t\t\tcurrentSetWidth += contentElms[currentComponentIdx].offsetWidth;\n\t\t\t\t\tlet checkWidth = currentSetWidth;\n\t\t\t\t\tif (idx !== 0 || !disableLooping)\n\t\t\t\t\t\tcheckWidth += c.LEFT_MOST_PADDING;\n\n\t\t\t\t\t//far right component could be covered by gradient\n\t\t\t\t\tif (checkWidth >= carouselWidth - c.GRADIENT_WIDTH) {\n\t\t\t\t\t\t//since the width is larger, we want to move to the next set\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\ttranslate += contentElms[currentComponentIdx].offsetWidth + c.RIGHT_MARGIN_WIDTH;\n\t\t\t\t\tcurrentSetWidth += c.RIGHT_MARGIN_WIDTH;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t//Add looping parameters to first and last indicators to handle scrolling\n\tif (!disableLooping && indicators.length > 1) {\n\t\tconst firstIndicator = indicators[0];\n\t\tconst lastIndicator = indicators[indicators.length - 1];\n\n\t\tif (itemsInView === c.SINGLE_ITEM_IN_VIEW) {\n\t\t\tfirstIndicator.loopTranslate = lastIndicator.translate + carouselWidth;\n\t\t\tlastIndicator.loopTranslate = 0;\n\t\t} else {\n\t\t\tfirstIndicator.loopTranslate = firstIndicator.translate + contentWidth;\n\t\t\tlastIndicator.loopTranslate = lastIndicator.translate - contentWidth;\n\t\t}\n\n\t}\n\n\treturn indicators;\n};\n/**\n * getComponentsInView\n *\n * This returns the components that will be in view when transform happens according to transformValue.\n *\n * includePartials=true would include components that are partially visible, false, would ignore partially visible components\n *\n */\nexport const getComponentsInView = (state, transformValue, includePartials = true) => {\n\tconst {\n\t\tcarouselTrackElm,\n\t\tcontentContainerElm\n\t} = state;\n\n\tconst inViewComponents = [];\n\tif (contentContainerElm === null)\n\t\treturn inViewComponents;\n\n\t//Get content of slot\n\tconst allComponents = contentContainerElm.assignedNodes().filter(node => node.style?.display !== 'none');\n\tif (allComponents.length === 0)\n\t\treturn inViewComponents;\n\n\tlet componentIdx = 0;\n\tlet hiddenWidth = 0;\n\tfor (; componentIdx < allComponents.length; componentIdx++) {\n\t\tconst component = allComponents[componentIdx];\n\t\tconst componentWidth = component.offsetWidth + parseFloat(component.style.marginRight || 0) + parseFloat(component.style.marginLeft || 0);\n\t\tconst prevHiddenWidth = hiddenWidth;\n\t\thiddenWidth += componentWidth;\n\t\tif (hiddenWidth\t> transformValue) {\n\t\t\tif (includePartials || prevHiddenWidth >= transformValue)\n\t\t\t\tinViewComponents.push(component);\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tlet accumalatedWidth = hiddenWidth - transformValue;\n\tconst totalWidth = carouselTrackElm.offsetWidth;\n\n\tcomponentIdx++;\n\tfor (; componentIdx < allComponents.length; componentIdx++) {\n\t\tconst component = allComponents[componentIdx];\n\t\tconst componentWidth = component.offsetWidth + parseFloat(component.style.marginRight || 0) + parseFloat(component.style.marginLeft || 0);\n\t\tif (accumalatedWidth + componentWidth > totalWidth) {\n\t\t\tif (includePartials)\n\t\t\t\tinViewComponents.push(component);\n\t\t\tbreak;\n\t\t}\n\t\taccumalatedWidth += componentWidth;\n\t\tinViewComponents.push(component);\n\t}\n\n\treturn inViewComponents;\n};\n\nexport function autoScrollStart(state, updateState, dispatch) {\n\tconst {\n\t\tproperties: {enableAutoScroll, autoScrollSpeed, pauseAutoScroll}\n\t} = state;\n\n\tlet {\n\t\tautoScrollIntervalId\n\t} = state;\n\n\tif (!enableAutoScroll || pauseAutoScroll || autoScrollIntervalId !== c.AUTO_SCROLL_INTERVAL_ID_DEFAULT)\n\t\treturn;\n\n\tautoScrollIntervalId = setInterval(() => {\n\t\tdispatch(c.ACTION_SCROLL, {scrollDirection: c.RIGHT});\n\t}, autoScrollSpeed);\n\n\tupdateState({\n\t\tpath: 'autoScrollIntervalId',\n\t\tvalue: autoScrollIntervalId,\n\t\toperation: c.SET,\n\t\tshouldRender: false\n\t});\n}\n\nexport function autoScrollStop(state, updateState) {\n\tconst {autoScrollIntervalId} = state;\n\tif (autoScrollIntervalId === c.AUTO_SCROLL_INTERVAL_ID_DEFAULT)\n\t\treturn;\n\tclearInterval(autoScrollIntervalId);\n\t// Now that we have cleared the interval, reset the value to default.\n\tupdateState({\n\t\tpath: 'autoScrollIntervalId', value: c.AUTO_SCROLL_INTERVAL_ID_DEFAULT, operation: c.SET, shouldRender: false\n\t});\n}\n\nexport function getActionType(scrollDirection) {\n\tlet actionType = null;\n\tswitch (scrollDirection) {\n\t\tcase c.RIGHT:\n\t\t\tactionType = 'right_arrow_selected';\n\t\t\tbreak;\n\t\tcase c.LEFT:\n\t\t\tactionType = 'left_arrow_selected';\n\t\t\tbreak;\n\t\tcase c.INDICATOR:\n\t\t\tactionType = 'indicator_selected';\n\t\t\tbreak;\n\t}\n\treturn actionType;\n}","import {\n\tareComponentsInitialized,\n\tcalculateIndicators,\n\tgetContentWidth,\n\ttransformComponents\n} from './sn-carousel-common';\nimport {\n\tcreateDuplicates,\n\tdeleteDuplicates,\n\tfindDuplicates\n} from './sn-carousel-duplicates';\nimport {get} from '@servicenow/ui-utils';\nimport c from './sn-carousel-constants';\n\n/**\n * updateComponentStyle\n *\n * configures the style for margin, max width and min width on the component\n */\nconst updateComponentStyle = (component, margin, maxWidth) => {\n\tcomponent.style.margin = margin;\n\n\t//Set max width if width is larger\n\tif (component.offsetWidth > maxWidth) {\n\t\tcomponent.style.maxWidth = `${maxWidth}px`;\n\n\t\t//If there is a min width make sure it is less than max width\n\t\tif (component.style.minWidth && component.offsetWidth > maxWidth)\n\t\t\tcomponent.style.minWidth = `${maxWidth}px`;\n\n\t} else {\n\t\t//Otherwise, update maxWidth if it has been set in case the set width is larger\n\t\tif (component.style.maxWidth)\n\t\t\tcomponent.style.maxWidth = `${maxWidth}px`;\n\t}\n};\n\n/**\n * copyStyle\n *\n * copies the set style of the component for its duplicate\n */\nconst copyStyle = (duplicate, component) => {\n\tduplicate.style.margin = component.style.margin;\n\tif (component.style.maxWidth)\n\t\tduplicate.style.maxWidth = component.style.maxWidth;\n\tif (component.style.minWidth)\n\t\tduplicate.style.minWidth = component.style.minWidth;\n};\n\n/**\n * setComponentMargins\n *\n * sets the margins on the components so that the spacing between them is correct\n */\nexport const setComponentMargins = state => {\n\tconst {contentContainerElm, carouselTrackElm, contentElms, itemsInView, properties: {disableLooping, dir}} = state;\n\tconst components = contentContainerElm.assignedNodes().filter(node => node.style?.display !== 'none');\n\n\tfor (let idx = 0; idx < contentElms.length; idx++) {\n\t\tif (contentElms[idx].offsetWidth === 0)\n\t\t\treturn false;\n\n\t\tlet margin = '0';\n\t\tlet maxWidth = carouselTrackElm.offsetWidth - (2 * c.LEFT_MOST_PADDING);\n\n\t\tif (itemsInView === c.SINGLE_ITEM_IN_VIEW) {\n\t\t\tmaxWidth = carouselTrackElm.offsetWidth;\n\t\t\t//Need to set the max width before getting the offsetWidth in case width is %\n\t\t\tcontentElms[idx].style.maxWidth = `${maxWidth}px`;\n\t\t\t//keep margin 0 if width is 100%\n\t\t\tif (contentElms[idx].style.width !== '100%') {\n\t\t\t\tconst marginWidth = (carouselTrackElm.offsetWidth - contentElms[idx].offsetWidth) / 2;\n\t\t\t\tif (marginWidth > 0)\n\t\t\t\t\tmargin = `0 ${marginWidth}px`;\n\t\t\t}\n\n\t\t} else if (!disableLooping || idx !== contentElms.length - 1) {\n\t\t\tif (dir === c.RTL)\n\t\t\t\tmargin = `0 0 0 ${c.RIGHT_MARGIN_WIDTH}px`;\n\t\t\telse\n\t\t\t\tmargin = `0 ${c.RIGHT_MARGIN_WIDTH}px 0 0 `;\n\t\t}\n\n\t\tupdateComponentStyle(contentElms[idx], margin, maxWidth);\n\n\t\t/*\n\t\t * Need to update the margins and widths of the duplicates\n\t\t * Using the style of the original components, as the duplicate components\n\t\t * might not be fully loaded yet\n\t\t *\n\t\t * Make sure duplicates exist before changing the style\n\t\t */\n\t\tif (!disableLooping) {\n\t\t\tfindDuplicates(components, contentElms[idx]).forEach(duplicate => {\n\t\t\t\tcopyStyle(duplicate, contentElms[idx]);\n\t\t\t});\n\t\t}\n\t}\n\n\treturn true;\n};\n\n/**\n * setupComponents\n *\n * Called in initialization or if there was a on slot change event\n * Stores references of the components\n * Checks to see if there was a change to the components\n * If so, update duplicates if need be\n * If no duplicating required, then setup indicators\n */\nexport const setupComponents = (state, updateState, dispatch, loopingChanged = false) => {\n\tconst {\n\t\taddDuplicatesOnResize,\n\t\tcarouselTrackElm,\n\t\tcontentContainerElm,\n\t\tcontentElms,\n\t\tcontentCount,\n\t\tisSwapping,\n\t\titemsInView,\n\t\tisHostVisible,\n\t\tproperties: {\n\t\t\tdisableLooping,\n\t\t\tslidingType\n\t\t}\n\t} = state;\n\n\tif (contentContainerElm === null || !isHostVisible)\n\t\treturn;\n\n\tif (isSwapping) {\n\t\tupdateState({path: 'isSwapping', value: false, operation: c.SET, shouldRender: false});\n\t\treturn;\n\t}\n\n\tif (addDuplicatesOnResize) {\n\t\tupdateState({path: 'addDuplicatesOnResize', value: false, operation: c.SET, shouldRender: false});\n\t\tdispatch(c.ACTION_RECALCULATE_INDICATORS);\n\t\treturn;\n\t}\n\n\t//Get the new contents of the slot\n\tconst newContentElms = [];\n\tlet newContentCount = 0;\n\tif (contentContainerElm.assignedNodes().length !== 0) {\n\t\tcontentContainerElm.style.transition = c.TRANSITION_TIME;\n\t\tcontentContainerElm.assignedNodes().forEach(node => {\n\t\t\tif (!node.getAttribute('is-clone') && node.style?.display !== 'none')\n\t\t\t\tnewContentElms.push(node);\n\n\t\t});\n\t\tnewContentCount = newContentElms.length;\n\t}\n\n\tnewContentElms.forEach((node, idx) => {\n\t\tconst focusinEventHandler = () => {\n\t\t\tdispatch(c.ACTION_FOCUS_IN_ITEM, {node, idx});\n\t\t};\n\n\t\tif (node.carouselItemFocusinHandler)\n\t\t\tnode.removeEventListener('focusin', node.carouselItemFocusinHandler);\n\n\t\tnode.addEventListener('focusin', focusinEventHandler);\n\t\tnode.carouselItemFocusinHandler = focusinEventHandler;\n\t});\n\n\t//Check to see if there was any change\n\tlet contentChanged = false;\n\tif (contentCount !== newContentCount) \n\t\tcontentChanged = true;\n\t else {\n\t\tfor (let i = 0; i < contentElms.length; i++) {\n\t\t\tif (!contentElms[i].isSameNode(newContentElms[i])) {\n\t\t\t\tcontentChanged = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tif (!areComponentsInitialized(newContentElms)) {\n\t\tsetTimeout(() => {\n\t\t\tdispatch(c.ACTION_SLOT_CHANGE);\n\t\t}, 100);\n\n\t\treturn;\n\t}\n\n\t//Check to see if content fits the carousel\n\tconst contentWidth = getContentWidth(newContentElms, itemsInView, disableLooping, carouselTrackElm.offsetWidth);\n\tconst fitsContainer = (contentWidth <= carouselTrackElm.offsetWidth);\n\n\tupdateState([\n\t\t{path: 'contentCount', value: newContentCount, operation: c.SET, shouldRender: false},\n\t\t{path: 'contentElms', value: newContentElms, operation: c.SET, shouldRender: false}\n\t]);\n\n\tif (loopingChanged || contentChanged) {\n\t\tlet slotChangeEvent = false;\n\t\t//remove any duplicate components\n\t\tconst hostNode = contentContainerElm.getRootNode().host;\n\t\tslotChangeEvent = deleteDuplicates(hostNode, contentContainerElm);\n\n\t\t//If looping, add duplicate components if content changed\n\t\tif (!disableLooping && !fitsContainer) {\n\t\t\t//Create duplicates components before start of window\n\t\t\tcreateDuplicates(contentContainerElm, newContentElms, itemsInView, slidingType, carouselTrackElm.offsetWidth);\n\t\t\tslotChangeEvent = true;\n\t\t}\n\n\t\t/*\n\t\t * Deleting or creating duplicates will fire another on slot change event,\n\t\t * so we don't want to update the indicators\n\t\t * If no duplicates were deleted or created, then update the indicators\n\t\t */\n\t\tif (!slotChangeEvent)\n\t\t\tdispatch(c.ACTION_UPDATE_INDICATORS);\n\t} else {\n\t\t//update the indicators now that the components have been setup\n\t\tdispatch(c.ACTION_UPDATE_INDICATORS);\n\t}\n\tdispatch(c.ACTION_TRANSITION_END);\n};\n\n/**\n * setupIndicators\n *\n * sets the margins on the components, then calculates the indicators and moves the carousel to\n * the starting position\n */\nexport const setupIndicators = (state, updateProperties, updateState, dispatch) => {\n\tconst {contentContainerElm, currentIndex, hasStarted, properties: {startingIndex}} = state;\n\n\t//If settings the margins failed, stop setting up the indicators and try again after waiting 100ms\n\tif (!setComponentMargins(state)) {\n\t\tsetTimeout(() => {\n\t\t\tdispatch(c.ACTION_UPDATE_INDICATORS);\n\t\t}, 100);\n\n\t\treturn;\n\t}\n\n\t//calculate indicators and add to state\n\tconst indicators = calculateIndicators(state);\n\n\t//Update index\n\tlet selectedIndex = 0;\n\tif (indicators.length > 1) {\n\t\tconst position = hasStarted ? currentIndex : startingIndex;\n\t\tif (position >= indicators.length)\n\t\t\tselectedIndex = indicators.length - 1;\n\t\telse if (position < 0)\n\t\t\tselectedIndex = 0;\n\t\telse\n\t\t\tselectedIndex = position;\n\t}\n\n\tupdateState([\n\t\t{path: c.INDICATORS, value: indicators, operation: c.SET, shouldRender: true},\n\t\t{path: c.CURRENT_INDEX, value: selectedIndex, operation: c.SET, shouldRender: false},\n\t\t{path: c.HAS_STARTED, value: ( indicators.length > 1 ), operation: c.SET, shouldRender: false}\n\t]);\n\n\t//Move components to starting position\n\tif (contentContainerElm !== null && indicators.length !== 0)\n\t\ttransformComponents(state, updateState, `${indicators[selectedIndex].translate}`, c.NONE);\n\n\tdispatch(c.ACTION_INDICATOR_INDEX_UPDATED, {indicator: selectedIndex, numIndicators: indicators.length});\n\n\t//Metric Event for Initial Load\n\tif (state.didRender === false && (state.indicators.length > 0 || state.contentCount === 0)) {\n\t\tconst metadata = {\n\t\t\ttitle: !!state.properties.carouselTitle,\n\t\t\ttitleVariant: state.properties.titleVariant,\n\t\t\ttitlePosition: state.properties.titlePosition,\n\t\t\thideLink: state.properties.hideLink,\n\t\t\tlinkIcon: !!state.properties.linkIcon,\n\t\t\titemsInView: state.properties.itemsInView,\n\t\t\tslidingType: state.properties.slidingType,\n\t\t\tdisableLooping: state.properties.disableLooping,\n\t\t\tnavStyle: state.properties.navStyle,\n\t\t\tnavPosition: state.properties.navPosition,\n\t\t\tgradientStyle: state.properties.gradientStyle,\n\t\t\thideDotIndicator: state.properties.hideDotIndicator,\n\t\t\tstartingIndex: state.properties.startingIndex,\n\t\t\tcontentCount: state.contentCount,\n\t\t\tnumberOfIndicators: state.indicators.length,\n\t\t\tcurrentIndex: state.currentIndex\n\t\t};\n\t\tdispatch(c.METRIC_TRACKED, {eventName: c.CAROUSEL_INITIAL_LOAD, metadata});\n\t\tupdateState([\n\t\t\t{path: 'didRender', value: true, operation: c.SET, shouldRender: false}\n\t\t]);\n\t}\n};\n","import {\n\tcalculateIndicators,\n\tgetComponentsInView,\n\tgetContentWidth,\n\tgetTranslation,\n\ttransformComponents\n} from './sn-carousel-common';\nimport {\n\tcreateDuplicates,\n\tdeleteDuplicates\n} from './sn-carousel-duplicates';\nimport {setComponentMargins} from './sn-carousel-setup';\nimport c from './sn-carousel-constants';\n\n/**\n * recalculateIndicators\n *\n * when the carousel is resized, we need to update the indicators to reflect the new size\n * may need to adjust the carousel's components position\n */\nexport const recalculateIndicators = (state, updateState, dispatch) => {\n\tconst {\n\t\tcarouselTrackElm,\n\t\tcontentContainerElm,\n\t\tcontentElms,\n\t\tcurrentIndex: originalIndex,\n\t\tindicators: originalIndicators,\n\t\titemsInView,\n\t\tproperties: {\n\t\t\tdisableLooping,\n\t\t\tslidingType\n\t\t}\n\t} = state;\n\n\tconst prevContentWidth = getContentWidth(contentElms, itemsInView, disableLooping, carouselTrackElm.offsetWidth);\n\n\t//The max width might need to be updated\n\tsetComponentMargins(state);\n\n\tconst currentContentWidth = getContentWidth(contentElms, itemsInView, disableLooping, carouselTrackElm.offsetWidth);\n\tconst widthChanged = (prevContentWidth !== currentContentWidth);\n\n\tconst indicators = calculateIndicators(state);\n\tlet newIndex = originalIndex;\n\tif (newIndex >= indicators.length)\n\t\tnewIndex = indicators.length - 1;\n\n\tif (indicators.length > 1) {\n\n\t\t//If only one item is in view, move it to its proper position after updating spacing\n\t\tif (itemsInView === c.SINGLE_ITEM_IN_VIEW) \n\t\t\ttransformComponents(state, updateState, `${indicators[newIndex].translate}`, c.NONE);\n\n\t\t//If at the right most index, keep it in that position\n\t\t else if ((originalIndex !== 0 && originalIndex === originalIndicators.length - 1) || newIndex >= indicators.length - 1) {\n\t\t\tnewIndex = indicators.length - 1;\n\t\t\ttransformComponents(state, updateState, `${indicators[newIndex].translate}`, c.NONE);\n\n\t\t//If the width was changed, move the component to its new position (NOTE: May change which component is in view)\n\t\t} else if (widthChanged) \n\t\t\ttransformComponents(state, updateState, `${indicators[newIndex].translate}`, c.NONE);\n\n\t\t//if sliding type is next set of items and translations are not the same\n\t\t else if (slidingType === c.NEXT_SET_OF_ITEMS && getTranslation(contentContainerElm) !== indicators[newIndex].translate) \n\t\t\ttransformComponents(state, updateState, `${indicators[newIndex].translate}`, c.NONE);\n\t\t\n\n\t\t//Otherwise, don't change the positioning of the components\n\n\t} else {\n\t\t//Moving components back to starting position\n\t\tnewIndex = 0;\n\t\ttransformComponents(state, updateState, 0, c.NONE);\n\t}\n\n\tupdateState([\n\t\t{path: c.INDICATORS, value: indicators, operation: c.SET, shouldRender: true},\n\t\t{path: c.CURRENT_INDEX, value: newIndex, operation: c.SET, shouldRender: false}\n\t]);\n\n\tdispatch(c.ACTION_INDICATOR_INDEX_UPDATED, {indicator: newIndex, numIndicators: indicators.length});\n};\n\n/**\n * handleResize\n *\n * determine if we need to remove/add duplicates while looping which\n * will move the carousel back to the starting position if required\n * otherwise, update the indicators\n */\nexport const handleResize = (state, updateState, dispatch, prevWidth, currentWidth) => {\n\tconst {\n\t\tcontentContainerElm,\n\t\tcontentElms,\n\t\titemsInView,\n\t\tproperties: {\n\t\t\tdisableLooping,\n\t\t\tslidingType\n\t\t}\n\t} = state;\n\n\tconst contentWidth = getContentWidth(contentElms, itemsInView, disableLooping, currentWidth);\n\n\t//Carousel size was made larger\n\tif (currentWidth > prevWidth) {\n\t\t//Check if content now fits the carousel\n\t\tif (contentWidth < currentWidth && contentWidth > prevWidth) {\n\t\t\t//remove duplicates if looping\n\t\t\tif (!disableLooping) {\n\t\t\t\tconst hostNode = contentContainerElm.getRootNode().host;\n\t\t\t\tdeleteDuplicates(hostNode, contentContainerElm);\n\n\t\t\t\t//Deleting duplicates will cause slot change event\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\t//if duplicates were added due to the width change, there will be a slot change event\n\t\tif (!disableLooping && createDuplicates(contentContainerElm, contentElms, itemsInView, slidingType, currentWidth, true)) {\n\t\t\tupdateState({path: 'addDuplicatesOnResize', value: true, operation: c.SET, shouldRender: false});\n\t\t\treturn;\n\t\t}\n\n\t//Carousel size was made smaller\n\t} else {\n\t\t//Check if content now fits the carousel\n\t\tif (contentWidth > currentWidth && contentWidth < prevWidth) {\n\t\t\t//Add duplicates for looping\n\t\t\tif (!disableLooping) {\n\t\t\t\tcreateDuplicates(contentContainerElm, contentElms, itemsInView, slidingType, currentWidth, true);\n\n\t\t\t\t//adding duplicates will cause slot change event\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\n\trecalculateIndicators(state, updateState, dispatch);\n\t\n\t//DEF0595372 - update `IS_TRANSITION_PENDING` state to false\n\t//To make sure transition state doesn't end up in weird state, while autoscroll & resize happens at the same time\n\tupdateState({path: c.IS_TRANSITION_PENDING, value: false, operation: c.SET, shouldRender: false});\n};\n","import {transformComponents, getActionType} from './sn-carousel-common';\nimport c from './sn-carousel-constants';\n\n/**\n * updateNavigationFocus\n *\n * if the focus is on one of the arrows, but that arrow disappears after clicking it, set\n * the focus on the other arrow\n */\nconst updateNavigationFocus = (host, scrollDirection, disableLooping, index, indicators) => {\n\tif (disableLooping) {\n\t\tif (host.shadowRoot.activeElement === host.shadowRoot.querySelector(`.${c.ARROW}.${scrollDirection} now-button-iconic`)) {\n\t\t\tif (scrollDirection === c.LEFT) {\n\t\t\t\tif (index === 0) {\n\t\t\t\t\t//using setTimeout in case the right arrow is not visible yet (only two indicators)\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\thost.shadowRoot.querySelector(`.${c.ARROW}.${c.RIGHT} now-button-iconic`).focus();\n\t\t\t\t\t}, 100);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (index === indicators.length - 1) {\n\t\t\t\t\t//using setTimeout in case the left arrow is not visible yet (only two indicators)\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\thost.shadowRoot.querySelector(`.${c.ARROW}.${c.LEFT} now-button-iconic`).focus();\n\t\t\t\t\t}, 100);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\n/**\n * scrollEffect\n *\n * move the carousel to the proper position based on which arrow was clicked\n */\nexport const scrollEffect = (scrollDirection, host, state, updateState, dispatch, actionType) => {\n\n\tconst {\n\t\tcontentContainerElm, indicators, isTransitionPending,\n\t\tcurrentIndex: originalIndex,\n\t\tproperties: {disableLooping, dir, enableAutoScroll}\n\t} = state;\n\tconst metadata = {\n\t\ttype: scrollDirection === 'left' ? 'previous' : 'next',\n\t\tlooped: state.properties.disableLooping ? 'not configured' : false\n\t};\n\n\t// Avoid additional scrolls until the transitionEnd has executed for the previous scroll\n\tif (isTransitionPending)\n\t\treturn;\n\n\tlet newIndex = originalIndex;\n\tlet useLoopTranslate = false;\n\n\tif (scrollDirection === c.RIGHT) {\n\t\tnewIndex++;\n\t\tif (newIndex >= indicators.length) {\n\t\t\tif (enableAutoScroll || !disableLooping) {\n\t\t\t\tnewIndex = 0;\n\t\t\t\tuseLoopTranslate = true;\n\t\t\t\tmetadata.looped = true;\n\t\t\t} else \n\t\t\t\tnewIndex = indicators.length - 1;\n\t\t\t\n\t\t}\n\t} else {\n\t\tnewIndex--;\n\t\tif (newIndex < 0) {\n\t\t\tif (disableLooping) \n\t\t\t\tnewIndex = 0;\n\t\t\t else {\n\t\t\t\tnewIndex = indicators.length - 1;\n\t\t\t\tuseLoopTranslate = true;\n\t\t\t\tmetadata.looped = true;\n\t\t\t}\n\t\t}\n\t}\n\n\tif (useLoopTranslate)\n\t\ttransformComponents(state, updateState, `${indicators[newIndex].loopTranslate}`, c.TRANSITION_TIME, false);\n\telse\n\t\ttransformComponents(state, updateState, `${indicators[newIndex].translate}`);\n\n\tupdateState([\n\t\t{path: c.CURRENT_INDEX, value: newIndex, operation: c.SET, shouldRender: true},\n\t\t{path: c.IS_TRANSITION_PENDING, value: true, operation: c.SET, shouldRender: false}\n\t]);\n\n\tdispatch(c.ACTION_INDICATOR_INDEX_UPDATED, {indicator: newIndex, numIndicators: indicators.length, actionType});\n\tdispatch(c.METRIC_TRACKED, {eventName: c.NAVIGATION_INTERACTION, metadata});\n\n\tupdateNavigationFocus(host, scrollDirection, disableLooping, newIndex, indicators);\n};\n\n/**\n * indicatorClickedEffect\n *\n * move the carousel to the proper position based on which indicator was clicked\n */\nexport const indicatorClickedEffect = (action, state, updateState, dispatch, actionType) => {\n\tconst {payload: {indicatorClickedIdx, nextIndicator}} = action;\n\tconst {\n\t\tindicators, isTransitionPending, contentContainerElm\n\t} = state;\n\tconst metadata = {\n\t\ttype: 'dot indicator'\n\t};\n\n\t// Avoid additional scrolls until the transitionEnd has executed for the previous scroll\n\tif (isTransitionPending)\n\t\treturn;\n\n\ttransformComponents(state, updateState, `${indicators[indicatorClickedIdx].translate}`);\n\n\tupdateState([\n\t\t{path: c.CURRENT_INDEX, value: indicatorClickedIdx, operation: c.SET, shouldRender: true},\n\t\t{path: c.IS_TRANSITION_PENDING, value: true, operation: c.SET, shouldRender: false}\n\t]);\n\n\tdispatch(c.ACTION_INDICATOR_INDEX_UPDATED, {indicator: indicatorClickedIdx, numIndicators: indicators.length, actionType});\n\n\tdispatch(c.METRIC_TRACKED, {eventName: c.NAVIGATION_INTERACTION, metadata});\n\n\tif (nextIndicator)\n\t\tdispatch(c.ACTION_ARROW_KEY_PRESSED, {nextIndicator});\n};\n\n/**\n * transitionEndEffect\n *\n * removes the scrolling class added to the carousel track\n * If looping and moving from start to end (or vice versa), update the position to original indicator position\n */\nexport const transitionEndEffect = (dispatch, state, updateState) => {\n\tconst {\n\t\tcontentContainerElm, carouselTrackElm, isSwapping,\n\t\tindicators, currentIndex, properties: {disableLooping, dir}\n\t} = state;\n\n\tif (indicators.length === 0)\n\t\treturn;\n\n\n\t/*\n\t * When Javascript interprets the code, i.e. especially with transitions, it messes up with order as it executes\n\t * super-fast. To make sure the following effect happens, we are doing the setTimeout way.\n\t *\n\t * 100ms wait is executed to avoid jerky movements of the components\n\t */\n\tsetTimeout(() => {\n\n\t\t//If looping, we want to reset the translations if scrolling before the beginning or after the end\n\n\t\tif (!disableLooping && (currentIndex === 0 || currentIndex === indicators.length - 1))\n\t\t\ttransformComponents(state, updateState, `${indicators[currentIndex].translate}`, c.NONE);\n\n\n\t\t/*\n\t\t * We would like to update isTransitionPending only when we enable transition i.e. by setting the value\n\t\t * of contentContainerElm.style.transition. If not there are issues with scroll\n\t\t */\n\t\tupdateState({path: c.IS_TRANSITION_PENDING, value: false, operation: c.SET, shouldRender: false});\n\n\t\t/*\n\t\t * The scrolling class has been added in arrow or indicator click\n\t\t * It needs to be removed once the transition has completed so the user can scroll\n\t\t * the carousel again\n\t\t */\n\t\tcarouselTrackElm.classList.remove(c.SCROLLING);\n\t}, 100);\n};\n\n/**\n * swipeEffect\n *\n * determines which way to scroll when swiping and then calls scrollEffect\n */\nexport const swipeEffect = (touchStart, touchEnd, touchMove, host, state, updateState, dispatch) => {\n\tconst {\n\t\tcarouselTrackElm, currentIndex, indicators,\n\t\tproperties: {disableLooping}\n\t} = state;\n\n\tif (touchEnd === touchStart || !touchMove) \n\t\treturn;\n\n\tlet scrollDirection = c.RIGHT;\n\t//if swipe right, scroll left\n\tif (touchEnd > touchStart)\n\t\tscrollDirection = c.LEFT;\n\n\t//do not want to scroll past end positions\n\tif (disableLooping && ((currentIndex === 0 && scrollDirection === c.LEFT) ||\n\t\t(currentIndex === indicators.length - 1 && scrollDirection === c.RIGHT)))\n\t\treturn;\n\n\t//c.SCROLLING class is added before transition and is removed on-transitionend\n\tcarouselTrackElm.classList.add(c.SCROLLING);\n\n\tconst actionType = getActionType(scrollDirection);\n\tscrollEffect(scrollDirection, host, state, updateState, dispatch, actionType);\n};\n","import c from './sn-carousel-constants';\n\n/**\n * Sets up an IntersectionObserver to detect when the carousel becomes visible.\n *\n */\nexport const setupVisibilityObserver = (host, dispatch, updateState) => {\n\tif (!host)\n\t\treturn null;\n\n\tconst handleIntersection = (entries) => {\n\t\tif (entries.some(entry => entry.isIntersecting)) {\n\t\t\tupdateState(() => ({\n\t\t\t\tpath: c.IS_HOST_VISIBLE,\n\t\t\t\tvalue: true,\n\t\t\t\toperation: c.SET,\n\t\t\t\tshouldRender: true\n\t\t\t}));\n\t\t\tdispatch(() => ({\n\t\t\t\ttype: c.ACTION_SLOT_CHANGE\n\t\t\t}));\n\n\t\t\treturn;\n\t\t}\n\t};\n\n\tconst observer = new IntersectionObserver(handleIntersection);\n\tobserver.observe(host);\n\n\treturn observer;\n};\n\n/**\n * Cleans up observers by disconnecting them\n */\nexport const disconnectObserver = (observer) => {\n\tif (observer)\n\t\tobserver.disconnect();\n};\n","import c from './sn-carousel-constants';\n// noinspection ES6CheckImport\nimport {actionTypes} from '@servicenow/ui-core';\nimport {get} from '@servicenow/ui-utils';\nimport {\n\tgetComponentsInView,\n\tgetTranslation,\n\ttransformComponents,\n\tautoScrollStart,\n\tautoScrollStop,\n\tgetActionType,\n\tisElementVisible\n} from './sn-carousel-common';\nimport {handleResize, recalculateIndicators} from './sn-carousel-resize';\nimport {\n\tindicatorClickedEffect,\n\tscrollEffect,\n\tswipeEffect,\n\ttransitionEndEffect\n} from './sn-carousel-scroll';\nimport {resetPositions} from './sn-carousel-duplicates';\nimport {setupComponents, setupIndicators} from './sn-carousel-setup';\nimport { setupVisibilityObserver, disconnectObserver } from './sn-carousel-observers';\nimport track from '@devsnc/ux-metrics';\n\nconst {\n\tCOMPONENT_DOM_READY,\n\tCOMPONENT_TREE_RENDERED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DISCONNECTED\n} = actionTypes;\n\nconst isZoomedIn = () => window.devicePixelRatio >= 4;\n\nconst updateItemsInView = (updateState, itemsInView) => {\n\tif (isZoomedIn()) {\n\t\tupdateState([\n\t\t\t{path: c.ITEMS_IN_VIEW, value: c.SINGLE_ITEM_IN_VIEW, operation: c.SET, shouldRender: false}\n\t\t]);\n\t\treturn c.SINGLE_ITEM_IN_VIEW;\n\t}\n\tupdateState([\n\t\t{path: c.ITEMS_IN_VIEW, value: itemsInView, operation: c.SET, shouldRender: false}\n\t]);\n\treturn itemsInView;\n\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_DOM_READY]: {\n\t\teffect({host, state, dispatch, updateProperties, updateState}) {\n\t\t\tconst {enableAutoScroll, pauseAutoScroll} = state.properties;\n\t\t\tif (enableAutoScroll) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tdisableLooping: false\n\t\t\t\t});\n\t\t\t\tif (!pauseAutoScroll)\n\t\t\t\t\tdispatch(c.ACTION_AUTO_SCROLL_START);\n\t\t\t}\n\n\t\t\t// Set up visibility observer to detect when carousel enters viewport\n\t\t\tconst visibilityObserver = setupVisibilityObserver(host, dispatch, updateState);\n\n\t\t\t// Check if the host is already visible. If so, we don't need to wait for the observer\n\t\t\t// to trigger and can set up components on the first render\n\t\t\tconst isHostVisible = isElementVisible(host);\n\n\t\t\tupdateState([\n\t\t\t\t{path: c.VISIBILITY_OBSERVER, value: visibilityObserver, operation: c.SET, shouldRender: isHostVisible},\n\t\t\t\t{path: c.IS_HOST_VISIBLE, value: isHostVisible, operation: c.SET, shouldRender: isHostVisible}\n\t\t\t]);\n\t\t}\n\t},\n\t[COMPONENT_TREE_RENDERED]: {\n\t\teffect({state, updateState, dispatch}) {\n\t\t\tconst {carouselTrackElm, carouselWidth, properties: {singleItemOnZoom, itemsInView}} = state;\n\t\t\t//For UIB, set up components once the width is non zero\n\t\t\tif (carouselTrackElm && carouselWidth === 0 && carouselWidth !== carouselTrackElm.offsetWidth) {\n\t\t\t\tupdateState({path: c.CAROUSEL_WIDTH, value: carouselTrackElm.offsetWidth, operation: c.SET, shouldRender: false});\n\t\t\t\tif (singleItemOnZoom)\n\t\t\t\t\tstate.itemsInView = updateItemsInView(updateState, itemsInView);\n\n\t\t\t\tsetupComponents(state, updateState, dispatch);\n\t\t\t}\n\n\t\t\t//When the carousel width changes, handle resize\n\t\t\tif (carouselWidth !== 0 && carouselWidth !== carouselTrackElm.offsetWidth && carouselTrackElm.offsetWidth !== 0) {\n\t\t\t\tif (singleItemOnZoom)\n\t\t\t\t\tstate.itemsInView = updateItemsInView(updateState, itemsInView);\n\n\t\t\t\tupdateState({path: c.CAROUSEL_WIDTH, value: carouselTrackElm.offsetWidth, operation: c.SET, shouldRender: false});\n\t\t\t\thandleResize(state, updateState, dispatch, carouselWidth, carouselTrackElm.offsetWidth);\n\t\t\t}\n\n\t\t}\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect({action, state, updateState, dispatch, updateProperties}) {\n\t\t\tconst propertyChanged = get(action.payload, c.NAME);\n\t\t\tconst {\n\t\t\t\tcarouselTrackElm, contentContainerElm, itemsInView,\n\t\t\t\tproperties: {disableLooping, singleItemOnZoom, itemsInView: propItemsInView, pauseAutoScroll}\n\t\t\t} = state;\n\n\t\t\t//If property changes scrolling logic, reset everything\n\t\t\tif (propertyChanged === c.DISABLE_LOOPING || propertyChanged === c.ITEMS_IN_VIEW\n\t\t\t\t|| propertyChanged === c.SLIDING_TYPE || propertyChanged === c.SINGLE_ITEM_ON_ZOOM) {\n\n\t\t\t\tif (carouselTrackElm !== null)\n\t\t\t\t\tcarouselTrackElm.classList.remove(c.SCROLLING);\n\n\t\t\t\tif (propertyChanged === c.DISABLE_LOOPING || propertyChanged === c.SLIDING_TYPE ) {\n\t\t\t\t\tif (contentContainerElm && getTranslation(contentContainerElm) !== 0) {\n\t\t\t\t\t\tcontentContainerElm.style.transition = c.NONE;\n\t\t\t\t\t\tcontentContainerElm.style.transform = 'translate(0px)';\n\t\t\t\t\t}\n\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tcurrentIndex: 0,\n\t\t\t\t\t\tisTransitionPending: false\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tif (singleItemOnZoom)\n\t\t\t\t\t\tupdateItemsInView(updateState, propItemsInView);\n\t\t\t\t\t else {\n\t\t\t\t\t\tupdateState([\n\t\t\t\t\t\t\t{path: 'itemsInView', value: propItemsInView, operation: c.SET, shouldRender: false}\n\t\t\t\t\t\t]);\n\t\t\t\t\t}\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tisTransitionPending: false\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (propertyChanged !== c.DISABLE_LOOPING && !disableLooping)\n\t\t\t\t\tresetPositions(contentContainerElm.getRootNode().host, contentContainerElm);\n\n\t\t\t\tsetupComponents(state, updateState, dispatch, (propertyChanged === c.DISABLE_LOOPING || !disableLooping));\n\t\t\t}\n\n\t\t\tif (propertyChanged === c.ENABLE_AUTOSCROLL) {\n\t\t\t\tif (action.payload.value) {\n\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\tdisableLooping: false\n\t\t\t\t\t});\n\t\t\t\t\tif (!pauseAutoScroll)\n\t\t\t\t\t\tdispatch(c.ACTION_AUTO_SCROLL_START);\n\t\t\t\t\telse\n\t\t\t\t\t\tdispatch(c.ACTION_AUTO_SCROLL_STOP);\n\t\t\t\t} else {\n\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\tdisableLooping: true\n\t\t\t\t\t});\n\t\t\t\t\tdispatch(c.ACTION_AUTO_SCROLL_STOP);\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tif (propertyChanged === c.PAUSE_AUTOSCROLL) {\n\t\t\t\tif (!action.payload.value)\n\t\t\t\t\tdispatch(c.ACTION_AUTO_SCROLL_START);\n\t\t\t\t else\n\t\t\t\t\tdispatch(c.ACTION_AUTO_SCROLL_STOP);\n\n\t\t\t}\n\t\t}\n\t},\n\t[c.ACTION_SCROLL]: {\n\t\tstopPropagation: true,\n\t\teffect({action, state, host, updateState, dispatch}) {\n\t\t\tconst {payload: {scrollDirection}} = action;\n\t\t\tscrollEffect(scrollDirection, host, state, updateState, dispatch);\n\t\t}\n\t},\n\t[c.NOW_BUTTON_ICONIC_CLICKED]: {\n\t\teffect({action, state, host, updateState, dispatch, updateProperties}) {\n\t\t\tconst {currentIndex, indicators} = state;\n\t\t\tconst {pauseAutoScroll} = state.properties;\n\t\t\tconst {payload: {carouselTrackElm, scrollDirection, autoScrollAction}} = action;\n\n\t\t\tif (autoScrollAction === c.PAUSE || autoScrollAction === c.PLAY) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tpauseAutoScroll: !pauseAutoScroll\n\t\t\t\t});\n\t\t\t\tdispatch(c.ACTION_AUTO_SCROLL_PAUSED, {isPaused: !pauseAutoScroll, indicator: currentIndex, numIndicators: indicators.length});\n\t\t\t\taction.stopPropagation();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst actionType = getActionType(scrollDirection);\n\n\t\t\t// stop event propagation for now-button-iconic, only if click is from navigation buttons\n\t\t\tif (carouselTrackElm && scrollDirection) {\n\t\t\t\t//c.SCROLLING class is added before transition and is removed on-transitionend\n\t\t\t\tcarouselTrackElm.classList.add(c.SCROLLING);\n\t\t\t\tscrollEffect(scrollDirection, host, state, updateState, dispatch, actionType);\n\t\t\t\taction.stopPropagation();\n\t\t\t}\n\t\t}\n\t},\n\t[c.ACTION_INDICATOR_CLICKED]: {\n\t\tstopPropagation: true,\n\t\teffect({action, state, updateState, dispatch}) {\n\t\t\tconst actionType = getActionType(c.INDICATOR);\n\t\t\tindicatorClickedEffect(action, state, updateState, dispatch, actionType);\n\t\t}\n\t},\n\t[c.ACTION_TRANSITION_END]: {\n\t\tstopPropagation: true,\n\t\teffect({dispatch, state, updateState}) {\n\t\t\ttransitionEndEffect(dispatch, state, updateState);\n\t\t}\n\t},\n\t[c.ACTION_RECALCULATE_INDICATORS]: {\n\t\tstopPropagation: true,\n\t\teffect({dispatch, state, updateState}) {\n\t\t\trecalculateIndicators(state, updateState, dispatch);\n\t\t}\n\t},\n\t[c.ACTION_SLOT_CHANGE]: {\n\t\tstopPropagation: true,\n\t\teffect({dispatch, state, updateState}) {\n\t\t\tsetupComponents(state, updateState, dispatch);\n\t\t}\n\t},\n\t[c.ACTION_TOUCH_END]: {\n\t\tstopPropagation: true,\n\t\teffect({action, state, host, updateState, dispatch}) {\n\t\t\tconst {touchStart, touchMove} = state;\n\t\t\tconst {payload: {touchEnd}} = action;\n\t\t\tswipeEffect(touchStart, touchEnd, touchMove, host, state, updateState, dispatch);\n\t\t\tupdateState({path: 'touchMove', value: false, operation: c.SET, shouldRender: false});\n\t\t}\n\t},\n\t[c.ACTION_UPDATE_INDICATORS]: {\n\t\tstopPropagation: true,\n\t\teffect ({state, updateProperties, updateState, dispatch}) {\n\t\t\tsetupIndicators(state, updateProperties, updateState, dispatch);\n\t\t}\n\t},\n\t[c.NOW_BUTTON_BARE_CLICKED]: {\n\t\teffect({action, dispatch}) {\n\t\t\tconst metadata = {\n\t\t\t\ttype: 'viewAllLink'\n\t\t\t};\n\t\t\t//Only dispatch ACTION_LINK_CLICKED if the 'view all' link was clicked\n\t\t\tif (action.meta.appended) {\n\t\t\t\tconst {component} = action.meta.appended;\n\t\t\t\tif (component === c.SN_CAROUSEL) {\n\t\t\t\t\taction.stopPropagation();\n\t\t\t\t\tdispatch(c.ACTION_LINK_CLICKED);\n\t\t\t\t\tdispatch(c.METRIC_TRACKED, {eventName: c.NAVIGATION_INTERACTION, metadata});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t[c.METRIC_TRACKED]:{\n\t\tstopPropagation: true,\n\t\teffect(coeffects) {\n\t\t\tconst {\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {metadata, eventName}\n\t\t\t\t}\n\t\t\t} = coeffects;\n\t\t\ttrack(coeffects, eventName, metadata);\n\t\t}\n\t},\n\t[c.ACTION_ARROW_KEY_PRESSED]:{\n\t\tstopPropagation: true,\n\t\teffect(coeffects) {\n\t\t\tconst {\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {nextIndicator}\n\t\t\t\t}\n\t\t\t} = coeffects;\n\t\t\tnextIndicator.focus();\n\t\t}\n\t},\n\t[c.ACTION_FOCUS_IN_ITEM]:{\n\t\tstopPropagation: true,\n\t\teffect(coeffects) {\n\t\t\tconst {\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {node, idx}\n\t\t\t\t},\n\t\t\t\tstate, host, updateState, dispatch\n\t\t\t} = coeffects;\n\t\t\tconst {indicators, carouselTrackElm, currentIndex\n\t\t\t} = state;\n\t\t\tconst inViewComponents = getComponentsInView(state, indicators[currentIndex].translate, false);\n\t\t\tlet indicatorIdx = 0;\n\t\t\twhile (indicatorIdx < indicators.length - 1 && indicators[indicatorIdx + 1].content <= idx)\n\t\t\t\tindicatorIdx += 1;\n\n\t\t\tif (!inViewComponents.includes(node)) {\n\t\t\t\tcarouselTrackElm.classList.add(c.SCROLLING);\n\n\t\t\t\ttransformComponents(state, updateState, `${indicators[indicatorIdx].translate}`);\n\n\t\t\t\tupdateState([\n\t\t\t\t\t{path: c.CURRENT_INDEX, value: indicatorIdx, operation: c.SET, shouldRender: true},\n\t\t\t\t\t{path: c.IS_TRANSITION_PENDING, value: true, operation: c.SET, shouldRender: false}\n\t\t\t\t]);\n\t\t\t\tdispatch(c.ACTION_INDICATOR_INDEX_UPDATED, {indicator: indicatorIdx, numIndicators: indicators.length});\n\t\t\t\tdispatch(c.METRIC_TRACKED, {eventName: c.NAVIGATION_INTERACTION, metadata: {type: 'tab focus'}});\n\t\t\t}\n\t\t}\n\t},\n\t[c.ACTION_AUTO_SCROLL_START]: {\n\t\tstopPropagation: true,\n\t\teffect({dispatch, state, updateState}) {\n\t\t\tautoScrollStart(state, updateState, dispatch);\n\t\t}\n\t},\n\n\t[c.ACTION_AUTO_SCROLL_STOP]: {\n\t\tstopPropagation: true,\n\t\teffect({state, updateState}) {\n\t\t\tautoScrollStop(state, updateState);\n\t\t}\n\t},\n\t[COMPONENT_DISCONNECTED]: {\n\t\teffect({state}) {\n\t\t\tconst {visibilityObserver} = state;\n\t\t\tdisconnectObserver(visibilityObserver);\n\t\t}\n\t},\n};\n","import c from './sn-carousel-constants';\n\nexport const initialState = {\n\taddDuplicatesOnResize: false,\n\tcarouselTrackElm: null,\n\tcarouselWidth: 0,\n\tcontentContainerElm: null,\n\tcontentCount: 0,\n\tcontentElms: [],\n\tcurrentIndex: 0,\n\tdidRender: false,\n\terrorMessage: null,\n\tindicators: [],\n\tisSwapping: false,\n\tisTransitionPending: false,\n  \thasStarted: false,\n\ttouchStart: 0,\n\tautoScrollIntervalId: c.AUTO_SCROLL_INTERVAL_ID_DEFAULT,\n\tisHostVisible: false,\n\tvisibilityObserver: null,\n};\n","import {t} from 'sn-translate';\nimport c from './sn-carousel-constants';\n\nexport const getIndicators = (state, dispatch) => {\n\tconst {\n\t\tindicators, currentIndex, carouselTrackElm, itemsInView,\n\t\tproperties: {hideDotIndicator}\n\t} = state;\n\n\tconst indicatorSelected = (idx, currentIndex, nextIndicator) => {\n\t\tif (idx !== currentIndex) {\n\t\t\t//c.SCROLLING class is added before transition and is removed on-transitionend\n\t\t\tcarouselTrackElm.classList.add(c.SCROLLING);\n\t\t\tdispatch(c.ACTION_INDICATOR_CLICKED, {indicatorClickedIdx: idx, nextIndicator});\n\t\t}\n\t};\n\n\t//hide if true\n\tif (hideDotIndicator)\n\t\treturn '';\n\n\t// We hide indicators if the number of indicators is greater than 10.\n\tif (indicators.length <= 1 || indicators.length > 10)\n\t\treturn '';\n\n\tconst items = [];\n\tfor (let idx = 0; idx < indicators.length; ++idx) {\n\t\tconst indicatorId = `${c.INDICATOR}${idx + 1}`;\n\t\tconst label = itemsInView === c.SINGLE_ITEM_IN_VIEW ?\n\t\t\tt('Carousel navigation, {0} of {1}', idx + 1, indicators.length) :\n\t\t\tt('Carousel navigation, screen {0} of {1}', idx + 1, indicators.length);\n\t\titems.push(\n\t\t\t<div key={indicatorId} id={indicatorId}>\n\t\t\t\t<button\n\t\t\t\t\tclassName={idx === currentIndex ? c.SELECTED : ''}\n\t\t\t\t\taria-label={label}\n\t\t\t\t\taria-current={idx === currentIndex ? 'true' : 'false'}\n\t\t\t\t\ttitle={label}\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\tindicatorSelected(idx, currentIndex);\n\t\t\t\t\t}}\n\t\t\t\t\ton-keydown={event => {\n\t\t\t\t\t\tif (event.key === c.ENTER_KEY) \n\t\t\t\t\t\t\tindicatorSelected(idx, currentIndex);\n\t\t\t\t\t\t else if (event.key === c.ARROW_LEFT || event.key === c.ARROW_RIGHT) {\n\t\t\t\t\t\t\tconst ulElem = event.target.parentElement.parentElement;\n\t\t\t\t\t\t\tconst nextIdx = (currentIndex + (event.key === c.ARROW_RIGHT ? 1 : -1) + indicators.length) % indicators.length;\n\t\t\t\t\t\t\tconst nextIndicator = ulElem.querySelector(`#${c.INDICATOR}${nextIdx + 1} > button`);\n\t\t\t\t\t\t\tindicatorSelected(nextIdx, currentIndex, nextIndicator);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn <nav aria-label=\"Carousel Slider\">{items}</nav>;\n};\n","import c from './sn-carousel-constants';\n\nconst getDisplayArrowClass = (state, arrowType) => {\n\tconst {currentIndex, indicators, properties: {disableLooping, navPosition}} = state;\n\n\t//if looping, we always show the arrows\n\tif (!disableLooping)\n\t\treturn c.SHOW;\n\n\tlet hideArrow = false;\n\tif (arrowType === c.LEFT)\n\t\thideArrow = (currentIndex === 0);\n\telse\n\t\thideArrow = (currentIndex === indicators.length - 1);\n\n\tif (!hideArrow)\n\t\treturn c.SHOW;\n\n\tif (navPosition === c.CENTER)\n\t\treturn c.HIDE;\n\n\treturn c.DISABLED;\n};\n\nexport const getNavigationControls = (state, dispatch) => {\n\tconst {contentCount, indicators, carouselTrackElm, properties: {navPosition, showCompactView, navStyle}} = state;\n\n\t//If there are no components or if all of the components fit the width of the carousel, don't show arrows\n\tif (contentCount === 0 || indicators.length <= 1)\n\t\treturn '';\n\n\tconst displayLeftArrow = getDisplayArrowClass(state, c.LEFT);\n\tconst displayRightArrow = getDisplayArrowClass(state, c.RIGHT);\n\n\treturn (\n\t\t<div className={`${c.ARROWS} ${navPosition}`}>\n\t\t\t<span className={`${c.ARROW} ${c.LEFT} ${navPosition} ${showCompactView ? 'compact' : 'not-compact'} ${displayLeftArrow}`}>\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tsize=\"lg\" bare variant=\"primary\" hidePadding\n\t\t\t\t\ticon={`${c.LEFT_ARROW_ICON}-${navStyle}`}\n\t\t\t\t\tdisabled={displayLeftArrow === c.DISABLED}\n\t\t\t\t\tclassName={'nav-button'}\n\t\t\t\t\ttooltipContent={c.BACKWARD}\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t'aria-label': c.BACKWARD,\n\t\t\t\t\t\t\t...(displayLeftArrow === c.DISABLED && {'aria-disabled': 'true'})\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\tscrollDirection: c.LEFT,\n\t\t\t\t\t\tcarouselTrackElm\n\t\t\t\t\t}}></now-button-iconic>\n\t\t\t</span>\n\t\t\t<span className={`${c.ARROW} ${c.RIGHT} ${navPosition} ${displayRightArrow}`}>\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tsize=\"lg\" bare variant=\"primary\" hidePadding\n\t\t\t\t\ticon={`${c.RIGHT_ARROW_ICON}-${navStyle}`}\n\t\t\t\t\tdisabled={displayRightArrow === c.DISABLED}\n\t\t\t\t\tclassName={'nav-button'}\n\t\t\t\t\ttooltipContent={c.FORWARD}\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t'aria-label': c.FORWARD,\n\t\t\t\t\t\t\t...(displayRightArrow === c.DISABLED && {'aria-disabled': 'true'})\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\tscrollDirection: c.RIGHT,\n\t\t\t\t\t\tcarouselTrackElm\n\t\t\t\t\t}}\n\t\t\t\t></now-button-iconic>\n\t\t\t</span>\n\t\t</div>\n\t);\n};\n","import '@servicenow/now-button';\nimport '@servicenow/now-heading';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-template-message';\nimport '@servicenow/now-highlighted-value';\n\nimport {t} from 'sn-translate';\n\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {getIndicators} from './sn-carousel-indicators';\nimport {getNavigationControls} from './sn-carousel-nav';\nimport c from './sn-carousel-constants';\n\nconst showTitle = state => {\n\tconst {properties: {hideTitle, carouselTitle}} = state;\n\treturn !(hideTitle || carouselTitle.trim().length === 0);\n};\n\nconst displayTitle = state => {\n\tconst {properties: {carouselTitle, disableTextWrapping, titleLevel, titlePosition, titleVariant, badgeConfig}} = state;\n\n\tif (!showTitle(state))\n\t\treturn (<div id={c.TITLE_WRAPPER} className={c.TITLE_WRAPPER}/>);\n\n\tconst badge = badgeConfig.label ? <now-highlighted-value id={c.BADGE} className={c.BADGE} label={badgeConfig.label} color={badgeConfig.color} variant={badgeConfig.variant}/> : null;\n\n\treturn (\n\t\t<div id={c.TITLE_WRAPPER} className={`${c.TITLE_WRAPPER} ${titlePosition}`}>\n\t\t\t<now-heading className={c.TITLE} label={carouselTitle} level={titleLevel} variant={titleVariant} wontWrap={disableTextWrapping} hasNoMargin={true}/> \n\t\t\t{badge}\n\t\t</div>\n\t);\n};\n\nconst showHeaderLink = state => {\n\tconst {properties: {hideLink, linkText, linkIcon}} = state;\n\treturn !(hideLink || (!linkText && !linkIcon));\n};\n\nconst displayHeaderLink = state => {\n\tconst {properties: {linkText, linkIcon}} = state;\n\n\tif (!showHeaderLink(state))\n\t\treturn '';\n\n\treturn (\n\t\t<span className={`${c.HEADER_LINK}`}>\n\t\t\t<now-button-bare\n\t\t\t\tlabel={linkText ? t(linkText) : ''}\n\t\t\t\ticon-end={linkIcon ? linkIcon : ''}\n\t\t\t\tvariant={c.SECONDARY}\n\t\t\t\tsize={c.MEDIUM}\n\t\t\t\tclassName={c.BUTTON}\n\t\t\t\thidePadding={true}\n\t\t\t\tconfigAria={{button: {'aria-roledescription': 'link'}}}\n\t\t\t\tappend-to-meta={{component: c.SN_CAROUSEL}}>\n\t\t\t</now-button-bare>\n\t\t</span>\n\t);\n};\n\nconst displayHeader = state => {\n\tconst {properties: {titlePosition}} = state;\n\tif (!showTitle(state) && !showHeaderLink(state))\n\t\treturn <div className={c.CAROUSEL_HEADER_ABSENT}/>;\n\n\treturn (\n\t\t<div className={`${c.CAROUSEL_HEADER} carousel-${titlePosition}`}>\n\t\t\t{displayTitle(state)}\n\t\t\t{displayHeaderLink(state)}\n\t\t</div>\n\t);\n};\n\nconst displayFooter = (state, dispatch) => {\n\tconst {contentCount, indicators, properties: {navPosition}} = state;\n\tlet indicatorClasses = `${c.INDICATORS} ${navPosition}`;\n\tif (navPosition !== c.CENTER && (contentCount > 0 && indicators.length > 1))\n\t\tindicatorClasses += ` ${c.SHOW_ARROWS}`;\n\n\treturn (\n\t\t<div className={c.CAROUSEL_FOOTER}>\n\t\t\t<div className={indicatorClasses}>{getIndicators(state, dispatch)}</div>\n\t\t</div>\n\t);\n};\n\nconst displayEmptyState = state => {\n\tconst {\n\t\temptyStateLabel,\n\t\temptyStateContent,\n\t\temptyStateIllustration,\n\t\ttitleLevel\n\t} = state.properties;\n\n\t//The empty state heading level should be lower than the title heading level\n\tconst headingLevel = (titleLevel === c.TITLE_LEVEL_6 ? parseInt(titleLevel) : parseInt(titleLevel) + 1);\n\treturn (\n\t\t<now-template-message-empty-state\n\t\t\tclassName={c.EMPTY_STATE}\n\t\t\theading={{label: emptyStateLabel, level: headingLevel}}\n\t\t\tcontent={emptyStateContent}\n\t\t\talignment={c.HORIZONTAL}\n\t\t\tillustration={emptyStateIllustration}\n\t\t/>\n\t);\n};\n\nconst view = (state, {\n\tdispatch,\n\tupdateState\n}) => {\n\tconst {\n\t\tcontentContainerElm,\n\t\tcontentCount,\n\t\tcurrentIndex,\n\t\tindicators,\n\t\tproperties: {\n\t\t\tdisableLooping,\n\t\t\tgradientStyle,\n\t\t\tnavStyle,\n\t\t\tnavPosition,\n\t\t\tenableAutoScroll,\n\t\t\tshowCompactView,\n\t\t\tpauseAutoScroll\n\t\t}\n\t} = state;\n\n\tlet isLooping = !disableLooping;\n\tif (contentContainerElm !== null && contentCount > 0)\n\t\tisLooping = (contentContainerElm.assignedNodes().filter(node => node.style?.display !== 'none').length > contentCount);\n\n\tconst leftGradientStyle = (isLooping || (currentIndex > 0)) ? gradientStyle : c.NONE;\n\tconst rightGradientStyle = (isLooping || (currentIndex < indicators.length - 1)) ? gradientStyle : c.NONE;\n\tconst roleDesc = t('Carousel of {0} items', contentCount);\n\n\tconst ariaLabelledBy = showTitle(state) ? c.TITLE_WRAPPER : '';\n\n\treturn (\n\t\t<Fragment> \n\t\t\t<div className={c.CAROUSEL_WRAPPER} aria-label={t(c.CAROUSEL_LABEL)}\n\t\t\t\t role=\"group\" aria-roledescription={roleDesc} aria-labelledby={ariaLabelledBy}> \n\t\t\t\t{displayHeader(state)} \n\t\t\t\t{(contentCount === 0) ? displayEmptyState(state) : ''}\n\t\t\t\t<div className={c.CAROUSEL_TRACK}\n\t\t\t\t\tref={carouselTrackElm => {\n\t\t\t\t\t\tupdateState(\n\t\t\t\t\t\t\t{path: c.CAROUSEL_TRACK_ELM, value: carouselTrackElm, operation: c.SET, shouldRender: true});\n\n\t\t\t\t\t}}\n\t\t\t\t\ton-touchstart={e => {\n\t\t\t\t\t\tupdateState(\n\t\t\t\t\t\t\t{path: 'touchStart', value: e.changedTouches[0].clientX, operation: c.SET, shouldRender: false});\n\t\t\t\t\t}}\n\t\t\t\t\ton-touchend={e => {\n\t\t\t\t\t\tdispatch(c.ACTION_TOUCH_END, {touchEnd: e.changedTouches[0].clientX});\n\t\t\t\t\t}}\n\t\t\t\t\ton-touchmove={() => {\n\t\t\t\t\t\tupdateState(\n\t\t\t\t\t\t\t{path: 'touchMove', value: true, operation: c.SET, shouldRender: false});\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div className={`${c.GRADIENT} ${c.LEFT} ${leftGradientStyle}`}/>\n\t\t\t\t\t<div className={`${c.GRADIENT} ${c.RIGHT} ${rightGradientStyle}`}/>\n\t\t\t\t\t{enableAutoScroll ? <div className={`pause-play-button ${showCompactView ? 'compact' : 'not-compact'}`}>\n\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\ticon={`${!pauseAutoScroll ? c.PAUSE_ICON : c.PLAY_ICON}-${navStyle}`}\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\t\thide-padding={true}\n\t\t\t\t\t\t\tconfig-aria={{button: {'aria-label': !pauseAutoScroll ? c.PAUSE_LABEL : c.PLAY_LABEL}}}\n\t\t\t\t\t\t\ttooltip-content={!pauseAutoScroll ? c.PAUSE_LABEL : c.PLAY_LABEL}\n\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\tautoScrollAction: !pauseAutoScroll ? c.PAUSE : c.PLAY\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t</now-button-iconic>\n\t\t\t\t\t</div> : ''}\n\t\t\t\t\t{getNavigationControls(state, dispatch)}\n\t\t\t\t\t<slot name={c.CONTENT} className='content-container'\n\t\t\t\t\t\tref={contentContainerElm => {\n\t\t\t\t\t\t\tupdateState(\n\t\t\t\t\t\t\t\t{path: c.CONTENT_CONTAINER_ELM, value: contentContainerElm, operation: c.SET, shouldRender: true});\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ton-slotchange={() => {\n\t\t\t\t\t\t\tdispatch(c.ACTION_SLOT_CHANGE);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ton-transitionend={() => {\n\t\t\t\t\t\t\tdispatch(c.ACTION_TRANSITION_END);\n\t\t\t\t\t\t}}>\n\n\t\t\t\t\t</slot>\n\n\t\t\t\t</div>\n\t\t\t\t{displayFooter(state, dispatch)}\n\t\t\t</div>\n\n\t\t</Fragment>\n\t);\n};\n\nexport default view;","import {actionHandlers} from './sn-carousel-action-handlers';\nimport {createCustomElement} from '@servicenow/ui-core';\nimport {initialState} from './sn-initial-state';\nimport c from './sn-carousel-constants';\nimport resizeBehavior from '@servicenow/behavior-resize';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './carousel.scss';\nimport view from './sn-carousel-view';\n\n/**\n * Carousel is a component that allows the user to cycle through a list of components.\n *\n * The carousel component shows a subset of components on the page.\n * The user can click on the arrows or indicators to move some of the\n * components out of view and other components into view.\n *\n * Note: In the example below, it does not need to be a now-card component.\n * It can be any type of component as long as it is in the slot.\n *\n * ```jsx\n *\t<sn-carousel>\n * \t\t<now-card slot=\"content\" size=\"lg\">\n *\t\t\t<now-card-header\n *\t\t\t\theading={{label: 'Content 1'}}\n *\t\t/>\n *\t\t</now-card>\n *\t\t<now-card slot=\"content\" size=\"lg\">\n *\t\t\t<now-card-header\n *\t\t\t\theading={{label: 'Content 2'}}\n *\t\t\t/>\n *\t\t</now-card>\n *\t</sn-carousel>\n * ```\n *\n * @seismicElement sn-carousel\n * @summary a container that allows some of the content to display if it is larger\n * than the page\n */\nexport default createCustomElement('sn-carousel', {\n\tproperties: {\n\t\t/**\n\t\t * When true, the title is hidden.\n\t\t *\n\t\t * If hideTitle and hideLink are true, the header will be hidden.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\thideTitle: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: c.BOOLEAN\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The content for the title.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tcarouselTitle: {\n\t\t\tdefault: 'Title',\n\t\t\tschema: {\n\t\t\t\ttype: c.STRING\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Customizable badge, primarily used to display number of items in the Carousel.\n\t\t *\n\t\t * @type {label: string, color: string, variant: string}\n\t\t */\n\t\tbadgeConfig: {\n\t\t\tdefault: {label: '', color: 'low', variant: 'tertiary'},\n\t\t\tschema: {\n\t\t\t\ttype: c.JSON\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Disables title text from wrapping and truncates the title instead.\n\t\t * \n\t\t * @type {boolean}\n\t\t */\n\t\tdisableTextWrapping: {\n\t\t\tdefault: true,\n\t\t\tschema: {\n\t\t\t\ttype: c.BOOLEAN\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Sets the HTML <hx> heading element used to render the title.\n\t\t * The property is based on the Heading component.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\ttitleLevel: {\n\t\t\tdefault: c.TITLE_LEVEL_2,\n\t\t\tschema: {\n\t\t\t\ttype: c.STRING,\n\t\t\t\tenum: [c.TITLE_LEVEL_1,\n\t\t\t\t\tc.TITLE_LEVEL_2,\n\t\t\t\t\tc.TITLE_LEVEL_3,\n\t\t\t\t\tc.TITLE_LEVEL_4,\n\t\t\t\t\tc.TITLE_LEVEL_5,\n\t\t\t\t\tc.TITLE_LEVEL_6\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Sets the style variant that is applied to the title.\n\t\t * The property is based on the Heading component.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\ttitleVariant: {\n\t\t\tdefault: c.HEADER_TERTIARY,\n\t\t\tschema: {\n\t\t\t\ttype: c.STRING,\n\t\t\t\tenum: [c.HEADER_PRIMARY,\n\t\t\t\t\tc.HEADER_SECONDARY,\n\t\t\t\t\tc.HEADER_TERTIARY,\n\t\t\t\t\tc.TITLE_PRIMARY,\n\t\t\t\t\tc.TITLE_SECONDARY,\n\t\t\t\t\tc.TITLE_TERTIARY\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Sets the position of the title. The title can be left-aligned or right-aligned.\n\t\t *\n\t\t * If the space available for the title is not sufficient, the title will be truncated\n\t\t * to the space and 3 ellipses will be shown at the end.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\ttitlePosition: {\n\t\t\tdefault: c.LEFT,\n\t\t\tschema: {\n\t\t\t\ttype: c.STRING,\n\t\t\t\tenum: [c.LEFT, c.RIGHT]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * When true, the link is hidden.\n\t\t *\n\t\t * If hideTitle and hideLink are true, the header will be hidden.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\thideLink: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: c.BOOLEAN\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The icon to display at the end of the link text.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tlinkIcon: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: c.STRING\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The content for the link.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tlinkText: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: c.STRING\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The heading to display if there is no content.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\temptyStateLabel: {\n\t\t\tdefault: c.EMPTY_STATE_LABEL,\n\t\t\tschema: {\n\t\t\t\ttype: c.STRING\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The message to display if there is no content.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\temptyStateContent: {\n\t\t\tdefault: c.EMPTY_STATE_MESSAGE,\n\t\t\tschema: {\n\t\t\t\ttype: c.STRING\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The illustration to display if there is no content.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\temptyStateIllustration: {\n\t\t\tdefault:c.COMPLETED_TASKS,\n\t\t\tschema: {\n\t\t\t\ttype: c.STRING,\n\t\t\t\tenum: [\n\t\t\t\t\tc.ADD_ATTACHMENT,\n\t\t\t\t\tc.ADD_DATA,\n\t\t\t\t\tc.COMPLETED_TASKS,\n\t\t\t\t\tc.ERROR,\n\t\t\t\t\tc.FIRST_TIME_USER,\n\t\t\t\t\tc.INTERRUPTED,\n\t\t\t\t\tc.NO_ACTIVITIES,\n\t\t\t\t\tc.NO_DATA,\n\t\t\t\t\tc.NO_SEARCH_RESULTS,\n\t\t\t\t\tc.OFFLINE,\n\t\t\t\t\tc.PERMISSIONS,\n\t\t\t\t\tc.UNCONFIGURED\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Indicates how to display the items in a carousel: one at a time or multiple times.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\titemsInView: {\n\t\t\tdefault: c.MULTIPLE_ITEMS_IN_VIEW,\n\t\t\tschema: {\n\t\t\t\ttype: c.STRING,\n\t\t\t\tenum: [c.MULTIPLE_ITEMS_IN_VIEW, c.SINGLE_ITEM_IN_VIEW]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Indicates how many items move when you click next: a single item or a set of items.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tslidingType: {\n\t\t\tdefault: c.SINGLE_ITEM,\n\t\t\tschema: {\n\t\t\t\ttype: c.STRING,\n\t\t\t\tenum: [c.NEXT_SET_OF_ITEMS, c.SINGLE_ITEM]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t *\n\t\t * When true, the left arrow on the first component and the right arrow on the last component\n\t\t * are not visible.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tdisableLooping: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: c.BOOLEAN\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The navigation controls can be positioned as follows:\n\t\t *  - center: Vertically centered and displayed on either end\n\t\t *  - bottom-right: Bottom-right aligned\n\t\t *  - bottom-left: Bottom-left aligned\n\t\t *  - bottom-split: Bottom aligned and displayed on either end\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tnavPosition: {\n\t\t\tdefault: c.CENTER,\n\t\t\tschema: {\n\t\t\t\ttype: c.STRING,\n\t\t\t\tenum: [c.CENTER, c.BOTTOM_LEFT, c.BOTTOM_RIGHT, c.BOTTOM_SPLIT]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The color of the gradient surrounding the sides of the carousel.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tgradientStyle: {\n\t\t\tdefault: c.PRIMARY,\n\t\t\tschema: {\n\t\t\t\ttype: c.STRING,\n\t\t\t\tenum: [c.PRIMARY, c.SECONDARY, c.TERTIARY, c.DARK, c.NONE]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Defines how the navigation controls look.\n\t\t *  - fill: The icon is filled in.\n\t\t *  - outline: The icon is outlined and the background is filled in.\n\t\t * @type {string}\n\t\t */\n\t\tnavStyle: {\n\t\t\tdefault: c.FILL,\n\t\t\tschema: {\n\t\t\t\ttype: c.STRING,\n\t\t\t\tenum: [c.FILL, c.OUTLINE]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * When true, the dot indicators will be hidden.\n\t\t *\n\t\t * The dots will also be hidden if there are more than 10.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\thideDotIndicator: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: c.BOOLEAN\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Index of the indicators to move the carousel to when initially loaded/refreshed.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tstartingIndex: {\n\t\t\tdefault: 0,\n\t\t\tschema: {\n\t\t\t\ttype: c.INTEGER\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * When true, the content view will change to single item when zoomed-in to 400%\n\t\t *\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tsingleItemOnZoom: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: c.BOOLEAN\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t *\n\t\t * When true, carousel content is scrolled automatically at default interval(1000ms)\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tenableAutoScroll: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: c.BOOLEAN\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * \n\t\t * Enabling compact view, the 'Autoplay' button is shown before the left arrow button.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tshowCompactView: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: c.BOOLEAN\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Carousel content auto scroll speed interval\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tautoScrollSpeed: {\n\t\t\tdefault: 3000,\n\t\t\tschema: {\n\t\t\t\ttype: c.INTEGER\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t *\n\t\t * When true, carousel content autoscroll will be paused\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tpauseAutoScroll: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: c.BOOLEAN\n\t\t\t}\n\t\t}\n\t},\n\tsetInitialState({properties}) {\n\t\treturn {\n\t\t\t...initialState,\n\t\t\titemsInView: properties.itemsInView\n\t\t};\n\t},\n\tactionHandlers,\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tstyles,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: resizeBehavior\n\t\t},\n\t\t{\n\t\t\tbehavior: rtlBehavior\n\t\t}\n\t],\n\tslots: {\n\t\t/**\n\t\t * The content for the slots.\n\t\t */\n\t\tcontent: {}\n\t}\n});","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport '@servicenow/now-button';\nimport styles from './_now-card-actions.scss';\nimport {configAriaSchema} from '@servicenow/library-schemas';\n\nconst _renderButtons = (items, dispatch) => {\n\treturn items.map((item) => {\n\t\treturn (\n\t\t\t<now-button\n\t\t\t\tclassName=\"now-card-actions-button\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\tvariant={item.variant}\n\t\t\t\tlabel={item.label}\n\t\t\t\ticon={item.icon}\n\t\t\t\tdisabled={item.disabled}\n\t\t\t\ttooltip-content={item.tooltipContent}\n\t\t\t\tconfig-aria={item.configAria}\n\t\t\t\ton-click={() => {\n\t\t\t\t\tif (!item.disabled) {\n\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\titem.clickActionType || 'NOW_CARD_ACTIONS#ACTION_CLICKED',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\taction: item\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t});\n};\n\nconst view = (state, {dispatch}) => {\n\tconst {items} = state.properties;\n\treturn (\n\t\t<div className=\"now-card-actions\">{_renderButtons(items, dispatch)}</div>\n\t);\n};\n\n/**\n * Card subcomponent that enables the user to take action. Use card actions\n * to display one to three large action buttons for a card.\n *\n * ```jsx\n * const cardActions = [\n *   {label: 'Decline', variant: 'secondary-negative'},\n *   {label: 'Approve', variant: 'secondary-positive'}\n * ];\n * <now-card-actions items={cardActions} />\n * ```\n *\n * @seismicElement now-card-actions\n * @summary Card subcomponent that enables the user to take action.\n * @uib.label Card Base Actions\n * @uib.icon card-actions\n * @uib.description A card subcomponent that enables the user to take action via one or more buttons\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties items\n * @uib.actions NOW_CARD_ACTIONS#ACTION_CLICKED\n */\ncreateEnhancedElement('now-card-actions', {\n\tpresentational: true,\n\tproperties: {\n\t\t/**\n\t\t * An array of objects that defines the buttons displayed.\n\t\t * The keys for each object are properties for `now-button`. See\n\t\t * `now-button` for more information on using these properties.\n\t\t * - `label: string` required - Label describing the action.\n\t\t * - `icon: string` - Icon displayed with the label.\n\t\t * - `variant: string` - Button style variant.\n\t\t * - `disabled: boolean` - Set to `true` to mute the button color and disable user click interactions.\n\t\t * - `clickActionType: string = \"NOW_CARD_ACTIONS#ACTION_CLICKED\"` - Overrides the default action type dispatched when the user clicks the action\n\t\t * - `tooltipContent: string` - Text to display in the optional tooltip associated with the button.\n\t\t * @type {{ label: string, icon: string, variant: string, disabled: boolean, clickActionType: string, tooltipContent: string}[]}\n\t\t * @uib.description Array of objects that defines the action buttons displayed - each object can have values for 'label', 'icon', 'variant', 'disabled', 'clickActionType', and 'tooltipContent'\n\t\t * @uib.defaultValue [{\"label\": \"Reject\", \"variant\": \"secondary-negative\"},{\"label\": \"Approve\", \"variant\": \"secondary-positive\"}]\n\t\t */\n\t\titems: {\n\t\t\tdefault: [],\n\t\t\trequired: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tlabel: {type: 'string', translatable: true},\n\t\t\t\t\t\ticon: {type: 'string'},\n\t\t\t\t\t\t// TODO - re-use a typedef from now-button for this?\n\t\t\t\t\t\tvariant: {type: 'string'},\n\t\t\t\t\t\tdisabled: {type: 'boolean'},\n\t\t\t\t\t\tclickActionType: {type: 'string'},\n\t\t\t\t\t\ttooltipContent: {type: 'string', translatable: true},\n\t\t\t\t\t\tconfigAria: {\n\t\t\t\t\t\t\toneOf: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\tbutton: configAriaSchema\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tadditionalProperties: false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tconfigAriaSchema\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tview,\n\tstyles,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the user clicks a button. The payload will include a\n\t\t * reference to the clicked item and action. The action type can be overridden\n\t\t * by configuring `item.clickActionType`.\n\t\t * @type {{action: Object}}\n\t\t * @uib.description Dispatched when the user clicks a button\n\t\t */\n\t\t'NOW_CARD_ACTIONS#ACTION_CLICKED': {}\n\t}\n});\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_now-card-footer.scss';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\n\nconst _renderSlotContent = (label, split) => {\n\tif (label && typeof label === 'string') {\n\t\treturn (\n\t\t\t<p className=\"now-card-footer-p\">\n\t\t\t\t<span className=\"now-line-height-crop\">\n\t\t\t\t\t<span className=\"now-card-footer-label\" data-truncation>\n\t\t\t\t\t\t{label}\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'now-card-footer-slot': true,\n\t\t\t\t\t\t'-start': true,\n\t\t\t\t\t\t'-half': split !== 'unequal',\n\t\t\t\t\t\t'-three-quarter': split === 'unequal'\n\t\t\t\t\t}}>\n\t\t\t\t\t<slot name=\"start\">\n\t\t\t\t\t\t<p className=\"now-card-footer-p\">\n\t\t\t\t\t\t\t<span className=\"now-line-height-crop\">\n\t\t\t\t\t\t\t\t<span className=\"now-card-footer-label\" data-truncation>\n\t\t\t\t\t\t\t\t\t{label?.start}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</slot>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'now-card-footer-slot': true,\n\t\t\t\t\t\t'-end': true,\n\t\t\t\t\t\t'-half': split !== 'unequal',\n\t\t\t\t\t\t'-one-quarter': split === 'unequal'\n\t\t\t\t\t}}>\n\t\t\t\t\t<slot name=\"end\">\n\t\t\t\t\t\t<p className=\"now-card-footer-p\">\n\t\t\t\t\t\t\t<span className=\"now-line-height-crop\">\n\t\t\t\t\t\t\t\t<span className=\"now-card-footer-label\" data-truncation>\n\t\t\t\t\t\t\t\t\t{label?.end}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</slot>\n\t\t\t\t</div>\n\t\t\t</Fragment>\n\t\t);\n\t}\n};\n\nconst view = (state) => {\n\tconst {label, split} = state.properties;\n\treturn (\n\t\t<div className=\"now-card-footer\">\n\t\t\t<slot>{_renderSlotContent(label, split)}</slot>\n\t\t</div>\n\t);\n};\n\n/**\n * Footer subcomponent for custom cards. Displays text content or more\n * complex slotted content. Either displayed as the full width of the card\n * or subdivided into a two-column display of equal or unequal widths.\n *\n * ```jsx\n * <now-card-footer label=\"Updated 2019-01-15 08:41:09\" />\n *\n * <now-card-footer label={{start: 'Half width', end: 'Half width'}} />\n *\n * <now-card-footer split=\"unequal\">\n *   <now-highlighted-value slot=\"start\" label=\"Start Label\" status=\"high\" show-icon />\n *   <now-highlighted-value slot=\"end\" label=\"End Label\" status=\"high\" show-icon />\n * </now-card-footer>\n * ```\n *\n * @seismicElement now-card-footer\n * @summary Footer subcomponent for custom cards\n */\ncreateEnhancedElement('now-card-footer', {\n\tproperties: {\n\t\t/**\n\t\t * Label(s) for the card footer.\n\t\t *\n\t\t * Accepts a string for the full width layout.\n\t\t *\n\t\t * Accepts an object for the split layouts.\n\t\t * `start` - The label at the start (left for LTR languages) of the footer in a split layout.\n\t\t * `end` - The label at the end (right for LTR languages) of the footer in a split layout.\n\t\t * @type {(string|{start: string, end: string})}\n\t\t */\n\t\tlabel: {\n\t\t\tschema: {\n\t\t\t\toneOf: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {start: {type: 'string'}, end: {type: 'string'}},\n\t\t\t\t\t\tadditionalProperties: false\n\t\t\t\t\t},\n\t\t\t\t\t{type: 'string'}\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * `equal` - Two containers, each 50% of the card's width.\n\t\t * `unequal` - Two containers, start (left for LTR languages) 75% of the card's width\n\t\t * and end (right for LTR languages) 25% of the card's width\n\t\t * @type {('equal'|'unequal')}\n\t\t */\n\t\tsplit: {\n\t\t\tdefault: 'equal',\n\t\t\tschema: {type: 'string', enum: ['equal', 'unequal']}\n\t\t}\n\t},\n\tview,\n\tstyles,\n\tbehaviors: [{behavior: truncationBehavior}, {behavior: tooltipBehavior}],\n\n\tslots: {\n\t\t/**\n\t\t * Slot for full width footer.\n\t\t * @defaultSlot\n\t\t */\n\t\tdefaultSlot: {},\n\t\t/**\n\t\t * Slot for block-start (left for LTR languages) content with split layout.\n\t\t */\n\t\tstart: {},\n\t\t/**\n\t\t * Slot for block-end (right for LTR languages) content with split layout.\n\t\t */\n\t\tend: {}\n\t}\n});\n","import isEmpty from 'lodash/isEmpty';\nimport {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-button';\nimport '@servicenow/now-dropdown';\nimport styles from './_now-card-header.scss';\nimport {itemsSchema} from '@servicenow/now-dropdown';\nimport {t} from 'sn-translate';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\n\n// Used to keep track of the original, consumer-provided item in cases where we\n// need to append more info (like a unique ID) to that item.\nconst originalItem = Symbol('original item');\n\n/**\n * Ensures all actions have an `id` property to conform to the dropdown schema.\n * @param {string} prefix - prefix to add to any generated action ID.\n * @param {Array<DropdownItem>} actions - the actions array to check for IDs.\n * @return {Array<DropdownItem>} the unmodified `actions` array if all actions\n * already contain an ID. Otherwise, returns a copy of the `actions` array with\n * an ID for all containing items.\n */\nconst addIds = (prefix, actions) => {\n\treturn actions.map((action, index) => {\n\t\tif (action.id) return action;\n\n\t\tconst actionWithId = {\n\t\t\t...action,\n\t\t\tid: `${prefix}-${index}`,\n\t\t\t[originalItem]: action\n\t\t};\n\n\t\treturn actionWithId;\n\t});\n};\n\nconst getAriaLabel = (label, heading) => {\n\treturn heading && heading.label ? `${label} ${heading.label}` : label;\n};\n\nconst renderDropdowns = (dropdowns, size, openDropdowns, heading) => {\n\tif (isEmpty(dropdowns)) return;\n\n\treturn dropdowns.map((dropdown) => {\n\t\treturn (\n\t\t\t<now-dropdown-custom-target\n\t\t\t\tclass={{'now-card-header-actions': true, ['-' + size]: size}}\n\t\t\t\titems={dropdown.items}\n\t\t\t\tdisabled={dropdown.disabled}\n\t\t\t\tselect=\"none\"\n\t\t\t\tappend-to-payload={{dropdownId: dropdown.id}}>\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\ticon={dropdown.icon}\n\t\t\t\t\ttooltip-content={dropdown.label}\n\t\t\t\t\tbare\n\t\t\t\t\tsize={size}\n\t\t\t\t\thide-padding={size === 'md' ? true : undefined}\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t'aria-label': getAriaLabel(dropdown.label, heading),\n\t\t\t\t\t\t'aria-haspopup': 'true',\n\t\t\t\t\t\t'aria-expanded': openDropdowns[dropdown.id] ? 'true' : 'false'\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</now-dropdown-custom-target>\n\t\t);\n\t});\n};\n\nconst renderActions = (\n\theading,\n\tdropdowns,\n\tactions,\n\tactionsOverflowLabel,\n\tdispatch,\n\tsize,\n\tactionDropdownOpen,\n\tcomponentId\n) => {\n\tif (isEmpty(actions)) return;\n\n\tif (\n\t\t(isEmpty(dropdowns) && actions.length < 4) ||\n\t\tdropdowns?.length + actions.length < 4 ||\n\t\tactions.length === 1\n\t) {\n\t\treturn actions.map((action) => {\n\t\t\treturn (\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tclass={{'now-card-header-actions': true, ['-' + size]: size}}\n\t\t\t\t\ticon={action.icon}\n\t\t\t\t\tdisabled={action.disabled}\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tbare\n\t\t\t\t\tsize={size}\n\t\t\t\t\thide-padding={size === 'md' ? true : undefined}\n\t\t\t\t\ttooltip-content={action.label}\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t'aria-label': getAriaLabel(action.label, heading)\n\t\t\t\t\t}}\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\tif (!action.disabled) {\n\t\t\t\t\t\t\tdispatch(() => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\ttype:\n\t\t\t\t\t\t\t\t\t\taction.clickActionType || 'NOW_CARD_HEADER#ACTION_CLICKED',\n\t\t\t\t\t\t\t\t\tpayload: {action: action}\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t);\n\t\t});\n\t} else {\n\t\tconst tooltipText = actionsOverflowLabel\n\t\t\t? actionsOverflowLabel\n\t\t\t: t('Card actions');\n\n\t\treturn (\n\t\t\t<now-dropdown-custom-target\n\t\t\t\tclass={{'now-card-header-actions': true, ['-' + size]: size}}\n\t\t\t\titems={addIds(componentId, actions)}\n\t\t\t\tselect=\"none\"\n\t\t\t\tappend-to-payload={{actionDropdown: true}}>\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\ttooltip-content={tooltipText}\n\t\t\t\t\ticon=\"ellipsis-v-outline\"\n\t\t\t\t\tbare\n\t\t\t\t\thide-padding={size === 'md' ? true : undefined}\n\t\t\t\t\tsize={size}\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t'aria-label': getAriaLabel(tooltipText, heading),\n\t\t\t\t\t\t'aria-haspopup': 'true',\n\t\t\t\t\t\t'aria-expanded': actionDropdownOpen ? 'true' : 'false'\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</now-dropdown-custom-target>\n\t\t);\n\t}\n};\n\nconst renderCardInteraction = (\n\theading,\n\tdropdowns,\n\tactions,\n\tactionsOverflowLabel,\n\tdispatch,\n\tsize,\n\topenDropdowns,\n\tactionDropdownOpen,\n\tcomponentId\n) => {\n\treturn (\n\t\t<Fragment>\n\t\t\t<div className=\"now-card-header-metadata\">\n\t\t\t\t<slot name=\"metadata\" />\n\t\t\t</div>\n\t\t\t{renderDropdowns(dropdowns, size, openDropdowns, heading)}\n\t\t\t{renderActions(\n\t\t\t\theading,\n\t\t\t\tdropdowns,\n\t\t\t\tactions,\n\t\t\t\tactionsOverflowLabel,\n\t\t\t\tdispatch,\n\t\t\t\tsize,\n\t\t\t\tactionDropdownOpen,\n\t\t\t\tcomponentId\n\t\t\t)}\n\t\t</Fragment>\n\t);\n};\n\nconst renderTagLine = (\n\ttagline,\n\theading,\n\tdropdowns,\n\tdispatch,\n\tactions,\n\tactionsOverflowLabel,\n\topenDropdowns,\n\tactionDropdownOpen,\n\tcomponentId\n) => {\n\tif (isEmpty(tagline)) return;\n\n\tconst {label, icon, variant = 'tertiary'} = tagline;\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'now-card-tagline': true,\n\t\t\t\t['-' + variant]: variant\n\t\t\t}}>\n\t\t\t{icon ? (\n\t\t\t\t<now-icon\n\t\t\t\t\tclassName=\"now-card-tagline-icon now-m-inline-end--xs\"\n\t\t\t\t\ticon={icon}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\tundefined\n\t\t\t)}\n\t\t\t<p className=\"now-card-tagline-p\">\n\t\t\t\t<span className=\"now-line-height-crop\">\n\t\t\t\t\t<span className=\"now-card-tagline-label\" data-truncation>\n\t\t\t\t\t\t{label}\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t\t{renderCardInteraction(\n\t\t\t\theading,\n\t\t\t\tdropdowns,\n\t\t\t\tactions,\n\t\t\t\tactionsOverflowLabel,\n\t\t\t\tdispatch,\n\t\t\t\t'sm',\n\t\t\t\topenDropdowns,\n\t\t\t\tactionDropdownOpen,\n\t\t\t\tcomponentId\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nconst renderHeading = (heading) => {\n\tif (heading) {\n\t\tconst {\n\t\t\tlabel,\n\t\t\tlevel = 3,\n\t\t\tsize = 'sm',\n\t\t\tvariant = 'primary',\n\t\t\tlines = 1\n\t\t} = heading;\n\n\t\tconst HeadingLevel = `h${level}`;\n\t\treturn (\n\t\t\t<HeadingLevel\n\t\t\t\tclass={{\n\t\t\t\t\t'now-card-header-heading': true,\n\t\t\t\t\t['-' + size]: true,\n\t\t\t\t\t['-' + variant]: true,\n\t\t\t\t\t'show-one-line': lines === 1,\n\t\t\t\t\t'show-two-lines': lines === 2\n\t\t\t\t}}>\n\t\t\t\t<span className=\"now-line-height-crop\">\n\t\t\t\t\t<span className=\"now-card-header-heading-label\" data-truncation>\n\t\t\t\t\t\t{label}\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</HeadingLevel>\n\t\t);\n\t}\n};\n\nconst renderCaption = (caption) => {\n\tif (isEmpty(caption)) return;\n\n\tconst {label, size = 'sm', lines = 1} = caption;\n\treturn (\n\t\t<p\n\t\t\tclass={{\n\t\t\t\t'now-card-header-caption': true,\n\t\t\t\t['-' + size]: true,\n\t\t\t\t'show-one-line': lines === 1,\n\t\t\t\t'show-two-lines': lines === 2\n\t\t\t}}>\n\t\t\t<span className=\"now-line-height-crop\">\n\t\t\t\t<span className=\"now-card-header-caption-label\" data-truncation>\n\t\t\t\t\t{label}\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t</p>\n\t);\n};\n\nconst renderHeadingContainer = (\n\ttagline,\n\theading,\n\tcaption,\n\tdropdowns,\n\tactions,\n\tactionsOverflowLabel,\n\tdispatch,\n\topenDropdowns,\n\tactionDropdownOpen,\n\tcomponentId\n) => {\n\tif (heading) {\n\t\tconst topAlign =\n\t\t\t(heading && heading.lines === 2) || (caption && caption.lines === 2);\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'now-card-header': true,\n\t\t\t\t\t'-block-center': !topAlign,\n\t\t\t\t\t'now-m-block-start--sm': tagline && (tagline.label || tagline.icon)\n\t\t\t\t}}>\n\t\t\t\t<div className=\"now-card-header-identifier\">\n\t\t\t\t\t<slot name=\"identifier\" />\n\t\t\t\t</div>\n\t\t\t\t<div className=\"now-card-header-headings\">\n\t\t\t\t\t{renderHeading(heading)}\n\t\t\t\t\t{renderCaption(caption)}\n\t\t\t\t</div>\n\t\t\t\t{isEmpty(tagline) &&\n\t\t\t\t\trenderCardInteraction(\n\t\t\t\t\t\theading,\n\t\t\t\t\t\tdropdowns,\n\t\t\t\t\t\tactions,\n\t\t\t\t\t\tactionsOverflowLabel,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t'md',\n\t\t\t\t\t\topenDropdowns,\n\t\t\t\t\t\tactionDropdownOpen,\n\t\t\t\t\t\tcomponentId\n\t\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n};\n\nconst view = (state, {dispatch}) => {\n\tconst {\n\t\ttagline,\n\t\theading,\n\t\tcaption,\n\t\tdropdowns,\n\t\tactions,\n\t\tactionsOverflowLabel,\n\t\tnowId\n\t} = state.properties;\n\tconst {openDropdowns, actionDropdownOpen} = state;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{renderTagLine(\n\t\t\t\ttagline,\n\t\t\t\theading,\n\t\t\t\tdropdowns,\n\t\t\t\tdispatch,\n\t\t\t\tactions,\n\t\t\t\tactionsOverflowLabel,\n\t\t\t\topenDropdowns,\n\t\t\t\tactionDropdownOpen,\n\t\t\t\tnowId\n\t\t\t)}\n\t\t\t{renderHeadingContainer(\n\t\t\t\ttagline,\n\t\t\t\theading,\n\t\t\t\tcaption,\n\t\t\t\tdropdowns,\n\t\t\t\tactions,\n\t\t\t\tactionsOverflowLabel,\n\t\t\t\tdispatch,\n\t\t\t\topenDropdowns,\n\t\t\t\tactionDropdownOpen,\n\t\t\t\tnowId\n\t\t\t)}\n\t\t</Fragment>\n\t);\n};\n\n/**\n * Header subcomponent for custom cards. Highly configurable with multi-line\n * headings and captions, a tagline for categories and identifiers, and the\n * option to include multiple dropdowns and/or action menus.\n *\n * ```jsx\n * <now-card-header heading={{label: 'Title for the Card'}} />\n *\n * <now-card-header\n *   tagline={{label: 'Tagline for the card'}}\n *   heading={{label: 'Title for the card', size: 'md', lines: 2}}\n *   caption={{label: 'Caption for the card', lines: 2}}\n *   dropdowns={[{id: 'dropdown1', items: [{id: 'dropItem1', label: 'Action One'}]}]}\n *   actions={[{id: 'action1', icon: 'download-outline', label: 'Download'}]}>\n *   <now-icon slot=\"identifier\" icon=\"document-outline\" />\n * </now-card-header>\n * ```\n *\n * @seismicElement now-card-header\n * @summary Header subcomponent for custom cards.\n * @uib.label Card Base Header\n * @uib.icon card-header\n * @uib.description A card subcomponent that supports multiple headings and action buttons or menus\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties dropdowns, caption, heading, tagline, actions, actionsOverflowLabel\n * @uib.actions NOW_CARD_HEADER#ACTION_CLICKED\n */\ncreateEnhancedElement('now-card-header', {\n\tproperties: {\n\t\t/**\n\t\t * An object with properties to configure a tagline for the card:\n\t\t * - `label` - Text context for the tagline.\n\t\t * - `icon` - Icon that appears before the tagline's `label`.\n\t\t * - `variant = 'tertiary'` - Defines the color of the icon and label.\n\t\t * @type {{label: string, icon: string, variant: ('secondary'|'tertiary')}}\n\t\t * @uib.description Label that categorizes the type of content in the card - the value is an object with values for 'label', 'icon', and 'variant'\n\t\t * @uib.defaultValue {\"label\": \"Article\", \"icon\": \"document-outline\"}\n\t\t */\n\t\ttagline: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tlabel: {type: 'string', translatable: true},\n\t\t\t\t\ticon: {type: 'string'},\n\t\t\t\t\tvariant: {type: 'string', enum: ['secondary', 'tertiary']}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * An object with properties to configure a heading for the card:\n\t\t * - `label` - Text context for the heading.\n\t\t * - `lines = 1` - Number of lines the heading will extend to before truncating.\n\t\t * - `level = 3` - HTML heading element number used to render the heading.\n\t\t * - `size = 'sm'` - Size of the heading.\n\t\t * - `variant = 'primary'` - Visual styling for the heading.\n\t\t * @type {{label: string, lines: (1|2), level: (1|2|3|4|5|6), size: ('sm'|'md'|'lg'), variant: ('primary'|'secondary'|'tertiary')}}\n\t\t * @uib.description Title for the card - the value is an object with values for 'label', number of 'lines' to display, HTML heading 'level', 'size', and 'variant'\n\t\t * @uib.defaultValue {\"label\": \"Configuring wireless security\", \"size\": \"md\"}\n\t\t */\n\t\theading: {\n\t\t\trequired: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tlabel: {type: 'string', translatable: true},\n\t\t\t\t\tlines: {type: 'number', enum: [1, 2]},\n\t\t\t\t\tlevel: {type: 'number', enum: [1, 2, 3, 4, 5, 6]},\n\t\t\t\t\tsize: {type: 'string', enum: ['sm', 'md', 'lg']},\n\t\t\t\t\tvariant: {type: 'string', enum: ['primary', 'secondary', 'tertiary']}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * An object with properties to configure an optional caption for the card:\n\t\t * - `label` - Text content for the caption.\n\t\t * - `lines = 1` - Number of lines the caption will extend to before truncating.\n\t\t * - `size = 'sm'` - Size of the caption.\n\t\t * @type {{label: string, lines: (1|2), size: ('sm'|'md')}}\n\t\t * @uib.description Text that serves as a subheading for the card - the value is an object with values for 'label', number of 'lines' to display, and 'size'\n\t\t * @uib.defaultValue {\"label\": \"4000 Series Router\"}\n\t\t */\n\t\tcaption: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tlabel: {type: 'string', translatable: true},\n\t\t\t\t\tlines: {type: 'number', enum: [1, 2]},\n\t\t\t\t\tsize: {type: 'string', enum: ['sm', 'md']}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Array that defines one or more action dropdowns.\n\t\t * Displayed before `actions` in the card header.\n\t\t *\n\t\t * - `id` required - An id for the dropdown used to correctly update `aria-expanded`.\n\t\t * - `label` required - Description of the dropdown used as the tooltip content and `aria-label` of the dropdown.\n\t\t * - `items` required - Array of objects describing each item in the dropdown.\n\t\t * - `disabled` - Set to `true` to disable the dropdown trigger.\n\t\t * - `icon` - Icon that appears in the dropdown trigger.\n\t\t *\n\t\t * See `now-dropdown` documentation for the expected structure of a DropdownItem object.\n\t\t * @type {{id: (string|number), label: string, items: DropdownItem[], disabled: boolean, icon: string}[]}\n\t\t * @uib.description One or more dropdown menus of actions that a user can take on the card\n\t\t * @uib.defaultValue [{\"id\": \"actions\", \"label\": \"Actions\", \"icon\": \"ellipsis-v-outline\", \"items\": [{\"id\": \"open\", \"label\": \"Open\"}]}]\n\t\t */\n\t\tdropdowns: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tid: {type: ['string', 'number']},\n\t\t\t\t\t\tlabel: {type: 'string', translatable: true},\n\t\t\t\t\t\titems: itemsSchema,\n\t\t\t\t\t\ticon: {type: 'string'},\n\t\t\t\t\t\tdisabled: {type: 'boolean'}\n\t\t\t\t\t},\n\t\t\t\t\trequired: ['id', 'label', 'items']\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Array of objects that defines the iconic buttons displayed after the\n\t\t * heading and caption. By default, buttons will render from\n\t\t * right to left (for LTR languages). More than three buttons will be rendered in an overflow dropdown.\n\t\t * The label of this overflow dropdown can be configured with the `actionsOverflowLabel` property.\n\t\t *\n\t\t * The keys of each object are properties for both `now-button-iconic` and\n\t\t * `now-dropdown`. See `now-button-iconic` or `now-dropdown` for more\n\t\t * information on using these properties.\n\t\t * - `icon` required - Icon for the action.\n\t\t * - `label` required - Description of the action used for the tooltip content and `aria-label`.\n\t\t * - `disabled` - Set to `true` to mute the button color and disable user click interactions.\n\t\t * - `clickActionType = \"NOW_CARD_HEADER#ACTION_CLICKED\"` - Overrides the default action type dispatched when the user clicks on the action.\n\t\t * @type {{icon: string, label: string, disabled: boolean, clickActionType: string}[]}\n\t\t * @uib.description Actions that a user can take on the card - will display as iconic buttons or collapse into an overflow menu based on number of actions\n\t\t * @uib.defaultValue []\n\t\t */\n\t\tactions: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\ticon: {type: 'string'},\n\t\t\t\t\t\tlabel: {type: 'string', translatable: true},\n\t\t\t\t\t\tdisabled: {type: 'boolean'},\n\t\t\t\t\t\tclickActionType: {type: 'string'}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Label displayed in tooltip on dropdown menu with overflow actions. See `actions` for more information.\n\t\t * @type {string}\n\t\t * @uib.label Actions overflow dropdown label\n\t\t * @uib.defaultValue Card actions\n\t\t * @uib.description Text displayed in tooltip on dropdown menu with overflow actions\n\t\t * @uib.translatable true\n\t\t */\n\t\tactionsOverflowLabel: {schema: {type: 'string'}}\n\t},\n\tview,\n\tstyles,\n\tinitialState: {\n\t\topenDropdowns: {},\n\t\tactionDropdownOpen: false\n\t},\n\tbehaviors: [{behavior: truncationBehavior}, {behavior: tooltipBehavior}],\n\tactionHandlers: {\n\t\t'NOW_DROPDOWN_CUSTOM_TARGET#ITEM_CLICKED': {\n\t\t\tstopPropagation: true,\n\t\t\teffect: ({action, dispatch}) => {\n\t\t\t\tconst item = action.payload.item[originalItem] || action.payload.item;\n\t\t\t\tconst actionType =\n\t\t\t\t\titem.clickActionType || 'NOW_CARD_HEADER#ACTION_CLICKED';\n\n\t\t\t\tdispatch(() => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: actionType,\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\t\t...item,\n\t\t\t\t\t\t\t\tdropdownId: action.payload.dropdownId\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t'NOW_DROPDOWN_CUSTOM_TARGET#OPENED_SET': ({action, updateState}) => {\n\t\t\tif (action.payload.actionDropdown) {\n\t\t\t\tupdateState({actionDropdownOpen: action.payload.value});\n\t\t\t} else {\n\t\t\t\tupdateState((state) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\topenDropdowns: {\n\t\t\t\t\t\t\t\t...state.openDropdowns,\n\t\t\t\t\t\t\t\t[action.payload.dropdownId]: action.payload.value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\toperation: 'merge'\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the user clicks an action button or selects an\n\t\t * action from the action dropdown.\n\t\t * Payload will include a reference to the clicked action's configuration as\n\t\t * well as the dropdown id, if specified. Action type can be overridden\n\t\t * by setting `action.clickActionType`.\n\t\t *\n\t\t * @type {{action: Object, dropdownId: (string|number)}}\n\t\t * @uib.description Dispatched when the user clicks an action button or selects an action from the action dropdown\n\t\t */\n\t\t'NOW_CARD_HEADER#ACTION_CLICKED': {}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot for the identifier at the beginning of the heading and caption.\n\t\t * @uib.size 24px,24px\n\t\t */\n\t\tidentifier: {},\n\t\t/**\n\t\t * Slot for metadata such as a badge, highlighted-value, or string.\n\t\t * Displayed after the heading and before the dropdown and actions.\n\t\t * @uib.size 12px,12px\n\t\t */\n\t\tmetadata: {}\n\t}\n});\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport styles from './_now-card-divider.scss';\n\nconst view = ({properties: {fullWidth, blockSpacing}}) => (\n\t<hr\n\t\tclass={{\n\t\t\t'now-card-divider': true,\n\t\t\t['-' + blockSpacing]: blockSpacing,\n\t\t\t'-full-width': fullWidth\n\t\t}}\n\t/>\n);\n\n/**\n * Renders a divider within now-card content. This subcomponent is a direct descendent of `now-card`.\n *\n * ```jsx\n * <now-card-divider></now-card-divider>\n *\n * <now-card-divider full-width block-spacing='md'></now-card-divider>\n *\n * <now-card-divider block-spacing='sm'></now-card-divider>\n *\n * <now-card-divider full-width></now-card-divider>\n * ```\n *\n * @seismicElement now-card-divider\n * @summary Line that divides content within a card component.\n * @uib.label Card Base Divider\n * @uib.icon card-divider\n * @uib.description A card subcomponent for visually separating sections within a card\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties blockSpacing, fullWidth\n */\ncreateEnhancedElement('now-card-divider', {\n\tpresentational: true,\n\tproperties: {\n\t\t/**\n\t\t * Creates a full-width divider in the enclosing now-card component.\n\t\t * @type {boolean}\n\t\t * @uib.description Configures the divider to display edge-to-edge across the full width of the card\n\t\t */\n\t\tfullWidth: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Adds block spacing to the divider.\n\t\t * @type {('sm'|'md'|'lg'|'none')}\n\t\t * @uib.label Padding\n\t\t * @uib.description Size of padding around the divider\n\t\t */\n\t\tblockSpacing: {\n\t\t\tdefault: 'lg',\n\t\t\tschema: {type: 'string', enum: ['sm', 'md', 'lg', 'none']}\n\t\t}\n\t},\n\tview,\n\tstyles\n});\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {\n\tfilterAriaAttributes,\n\tisFocusable\n} from '@servicenow/library-enhanced-utils';\nimport styles from './_now-card.scss';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {configAriaSchema} from '@servicenow/library-schemas';\n\nconst elementIsFocusable = (evt) => {\n\tconst composedPath = evt.composedPath();\n\tconst currentTarget = evt.currentTarget;\n\tfor (let i = 0; i < composedPath.length; i++) {\n\t\tif (composedPath[i] === currentTarget) {\n\t\t\treturn false;\n\t\t}\n\t\tif (isFocusable(composedPath[i])) {\n\t\t\treturn true;\n\t\t}\n\t}\n};\n\nconst view = (state, {dispatch, updateState}) => {\n\tconst {\n\t\tsize,\n\t\tinteraction,\n\t\tselected,\n\t\tconfigAria,\n\t\tsidebar,\n\t\thideShadow\n\t} = state.properties;\n\tconst color = sidebar && sidebar.color;\n\tconst variant = sidebar && sidebar.variant;\n\tconst {pressed} = state;\n\n\tconst onClick = () => {\n\t\t{\n\t\t\tinteraction === 'click'\n\t\t\t\t? dispatch(() => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttype: 'NOW_CARD#CLICKED',\n\t\t\t\t\t\t\tpayload: {}\n\t\t\t\t\t\t};\n\t\t\t\t  })\n\t\t\t\t: dispatch(({properties}) => ({\n\t\t\t\t\t\ttype: 'NOW_CARD#SELECTED_SET',\n\t\t\t\t\t\tpayload: {value: !properties.selected}\n\t\t\t\t  }));\n\t\t}\n\t};\n\n\tconst slotOnClick = (evt) => {\n\t\tif (!elementIsFocusable(evt)) {\n\t\t\tevt.currentTarget.previousElementSibling.focus();\n\t\t\tonClick();\n\t\t}\n\t};\n\n\tconst slotOnPress = (evt) => {\n\t\tif (!elementIsFocusable(evt)) {\n\t\t\tupdateState({pressed: true});\n\t\t}\n\t};\n\n\tconst slotOnRelease = (evt) => {\n\t\tif (!elementIsFocusable(evt)) {\n\t\t\tupdateState({pressed: false});\n\t\t}\n\t};\n\n\treturn interaction === 'none' ? (\n\t\t<div\n\t\t\trole=\"group\"\n\t\t\tclass={{\n\t\t\t\t'now-card': true,\n\t\t\t\t'now-card-slot': true,\n\t\t\t\t'now-card-article': true,\n\t\t\t\t['-' + size]: size,\n\t\t\t\t'has-sidebar': sidebar,\n\t\t\t\t['-' + color]: color,\n\t\t\t\t['-' + variant]: variant,\n\t\t\t\t'hide-shadow': hideShadow\n\t\t\t}}\n\t\t\t{...filterAriaAttributes(configAria, 'article')}>\n\t\t\t<slot />\n\t\t</div>\n\t) : (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\tnowCardContainer: true,\n\t\t\t\t'now-card-article': true\n\t\t\t}}\n\t\t\t{...filterAriaAttributes(configAria, 'article')}>\n\t\t\t<button\n\t\t\t\tclass={{\n\t\t\t\t\t'now-card': true,\n\t\t\t\t\t'is-interactive': true,\n\t\t\t\t\t'is-selected': selected,\n\t\t\t\t\t'is-pressed': pressed,\n\t\t\t\t\t'has-sidebar': sidebar,\n\t\t\t\t\t['-' + color]: color,\n\t\t\t\t\t['-' + variant]: variant,\n\t\t\t\t\t'hide-shadow': hideShadow\n\t\t\t\t}}\n\t\t\t\ttype=\"button\"\n\t\t\t\t{...filterAriaAttributes(configAria, 'button')}\n\t\t\t\taria-pressed={\n\t\t\t\t\tinteraction === 'select' ? (selected ? 'true' : 'false') : undefined\n\t\t\t\t}\n\t\t\t\ton-click={onClick}\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'now-card-slot': true,\n\t\t\t\t\t'is-interactive': true,\n\t\t\t\t\t'is-selected': selected,\n\t\t\t\t\t['-' + size]: size\n\t\t\t\t}}\n\t\t\t\ton-click={slotOnClick}\n\t\t\t\ton-mousedown={slotOnPress}\n\t\t\t\ton-mouseup={slotOnRelease}\n\t\t\t\ton-mouseleave={slotOnRelease}>\n\t\t\t\t<slot />\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\n/**\n * A container for specific information in a simple, easily scannable format.\n * Provides a border, card-level interactivity, and a default slot for holding\n * card subcomponents.\n *\n * ```jsx\n * <now-card size=\"lg\" interaction=\"select\">\n *   <now-card-header ... />\n *   <now-card-footer ... />\n * </now-card>\n * ```\n *\n * @seismicElement now-card\n * @summary A container for specific information in a simple, easily scannable format.\n * @uib.label Card Base Container\n * @uib.icon card-container\n * @uib.description A container for specific information in a simple, easily scannable format\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties size, interaction, hideShadow, selected, sidebar, configAria\n * @uib.layout.accessibility.children configAria\n * @uib.layout.accessibility.icon accessibility-outline\n * @uib.actions NOW_CARD#CLICKED, NOW_CARD#SELECTED_SET\n */\ncreateEnhancedElement('now-card', {\n\tproperties: {\n\t\t/**\n\t\t * Defines the card's size.\n\t\t * @type {('sm'|'md'|'lg')}}\n\t\t * @uib.label Size\n\t\t * @uib.defaultValue lg\n\t\t * @uib.description Defines the card's size\n\t\t */\n\t\tsize: {default: 'lg', schema: {type: 'string', enum: ['sm', 'md', 'lg']}},\n\t\t/**\n\t\t * `none`: Card has no actionable state.\n\t\t * `click`: Card can be clicked. Fires `NOW_CARD#CLICKED` when clicked.\n\t\t * `select`: Card can be selected. Fires `NOW_CARD#SELECTED_SET` when selected.\n\t\t * @type {('none'|'click'|'select')}\n\t\t * @uib.label Interaction\n\t\t * @uib.description Sets whether the card can be clicked or selected\n\t\t * @uib.defaultValue none\n\t\t */\n\t\tinteraction: {\n\t\t\tdefault: 'none',\n\t\t\tschema: {type: 'string', enum: ['none', 'click', 'select']}\n\t\t},\n\t\t/**\n\t\t * `false`: Card has dropshadow.\n\t\t * `true`: Card has no dropshadow.\n\t\t * @type {boolean}\n\t\t * @uib.label Hide Shadow\n\t\t * @uib.description Removes dropshadow of now-card\n\t\t * @uib.defaultValue false\n\t\t */\n\t\thideShadow: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Indicates the selected state of the card. Should only be used with `interaction='select'`.\n\t\t * Maps to `aria-pressed`.\n\t\t * Use `manage-selected` to override the default behavior and handle the\n\t\t * `NOW_CARD#SELECTED_SET` action manually.\n\t\t * @type {boolean}\n\t\t * @uib.label Selected\n\t\t * @uib.description Indicates the selected state of the card - should only be used with interaction value 'select'\n\t\t */\n\t\tselected: {default: false, manageable: true, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * now-card. The value of each key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s. These ARIA\n\t\t * properties are set on the specified element.\n\t\t * The 'button' key corresponds to the inner html `<button>` in\n\t\t * now-card (if `interaction` type is not `none`). Note: you must provide an\n\t\t * accessible name to this button by setting an `aria-label` or this will result in\n\t\t * an accessibility violation. The 'article' key corresponds to the `<div>` node.\n\t\t * See https://www.w3.org/TR/wai-aria-1.1/#button for properties and accepted values.\n\t\t * @type {{ 'aria-*': string }}\n\t\t * @uib.label ARIA properties\n\t\t * @uib.description Configures ARIA properties\n\t\t * @uib.defaultValue {}\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\toneOf: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tbutton: configAriaSchema,\n\t\t\t\t\t\t\tarticle: configAriaSchema\n\t\t\t\t\t\t},\n\t\t\t\t\t\tadditionalProperties: false\n\t\t\t\t\t},\n\t\t\t\t\tconfigAriaSchema\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the color of the sidebar that appears along the side of\n\t\t * the card. The value is an object with values for `color` and `variant`.\n\t\t * @type {{color: ('critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'magenta'|'pink'|'orange'|'yellow'|'brown'|'green'|'green-yellow'|'blue'|'gray'|'teal'|'purple'), variant: ('primary'|'secondary'|'tertiary')}}\n\t\t * @uib.label Sidebar\n\t\t * @uib.description Specifies the color of the sidebar that appears along the side of the card - the value is an object with values for 'color' and 'variant'\n\t\t * @uib.defaultValue {}\n\t\t */\n\t\tsidebar: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tcolor: {\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tenum: [\n\t\t\t\t\t\t\t'critical',\n\t\t\t\t\t\t\t'high',\n\t\t\t\t\t\t\t'warning',\n\t\t\t\t\t\t\t'moderate',\n\t\t\t\t\t\t\t'positive',\n\t\t\t\t\t\t\t'info',\n\t\t\t\t\t\t\t'low',\n\t\t\t\t\t\t\t'magenta',\n\t\t\t\t\t\t\t'pink',\n\t\t\t\t\t\t\t'orange',\n\t\t\t\t\t\t\t'yellow',\n\t\t\t\t\t\t\t'brown',\n\t\t\t\t\t\t\t'green',\n\t\t\t\t\t\t\t'green-yellow',\n\t\t\t\t\t\t\t'blue',\n\t\t\t\t\t\t\t'gray',\n\t\t\t\t\t\t\t'teal',\n\t\t\t\t\t\t\t'purple'\n\t\t\t\t\t\t]\n\t\t\t\t\t},\n\t\t\t\t\tvariant: {type: 'string', enum: ['primary', 'secondary', 'tertiary']}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tinitialState: {\n\t\tpressed: false\n\t},\n\tview,\n\tstyles,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t],\n\tslots: {\n\t\t/**\n\t\t * `now-card` is a wrapper for the `defaultSlot`.\n\t\t * @defaultSlot\n\t\t */\n\t\tdefaultSlot: {}\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the card is clicked when `interaction` is set to `click`.\n\t\t * @type {{}}\n\t\t * @uib.description Dispatched when the card is clicked and 'interaction' is set to 'click'\n\t\t */\n\t\t'NOW_CARD#CLICKED': {},\n\t\t/**\n\t\t * Dispatched when the user toggles the selected status of the card when\n\t\t * `interaction` is set to `select`.\n\t\t * Set the `manage-selected` property to override the default behavior and\n\t\t * handle this action manually.\n\t\t * @type {{value: boolean}}\n\t\t * @uib.description Dispatched when the user toggles the selected status of the card and 'interaction' is set to 'select'\n\t\t */\n\t\t'NOW_CARD#SELECTED_SET': {}\n\t}\n});\n","import './now-card-actions';\nimport './now-card-footer';\nimport './now-card-header';\nimport './now-card-divider';\nimport './now-card';\n\nimport {name, version} from '../package.json';\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {filterAriaAttributes} from '@servicenow/library-enhanced-utils';\nimport styles from './_now-toggle.scss';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {configAriaLabelRoleSchema} from '@servicenow/library-schemas';\n\nimport packageInfo from '../package.json';\nconst {name, version} = packageInfo;\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n\nconst view = (state, {dispatch}) => {\n\tconst {\n\t\tlabel,\n\t\tlabelPosition,\n\t\tfullWidth,\n\t\tchecked,\n\t\tdisabled,\n\t\tsize,\n\t\tconfigAria,\n\t\tnowId,\n\t} = state.properties;\n\n\tconst onToggleClicked = () => {\n\t\tif (!disabled) {\n\t\t\tdispatch(({properties}) => {\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'NOW_TOGGLE#CHECKED_SET',\n\t\t\t\t\tpayload: {value: !properties.checked},\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t};\n\n\tconst renderLabelContainer = (labelId, toggleId) => {\n\t\treturn (\n\t\t\t<label\n\t\t\t\tid={labelId}\n\t\t\t\tclass={{'now-toggle-label': true, 'is-disabled': disabled}}\n\t\t\t\thtmlFor={toggleId}\n\t\t\t\taria-label={label}\n\t\t\t>\n\t\t\t\t<span className=\"now-line-height-crop\" aria-hidden=\"true\">\n\t\t\t\t\t{label}\n\t\t\t\t</span>\n\t\t\t\t<span className=\"now-toggle-label-inline-slot\">\n\t\t\t\t\t<slot\n\t\t\t\t\t\tname=\"label-inline\"\n\t\t\t\t\t\ton-keydown={(e) => e.stopPropagation()}\n\t\t\t\t\t\ton-click={(e) => e.stopPropagation()}\n\t\t\t\t\t/>\n\t\t\t\t</span>\n\t\t\t</label>\n\t\t);\n\t};\n\n\tif (label) {\n\t\tconst toggleId = `${nowId}-toggle`;\n\t\tconst labelId = `${nowId}-label`;\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'now-toggle-container': true,\n\t\t\t\t\t['-' + labelPosition]: labelPosition,\n\t\t\t\t\t'is-full-width': fullWidth,\n\t\t\t\t\t['-' + size]: size,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{(labelPosition === 'top' || labelPosition === 'start') &&\n\t\t\t\t\trenderLabelContainer(labelId, toggleId)}\n\t\t\t\t<div className=\"now-toggle-input\">\n\t\t\t\t\t<input\n\t\t\t\t\t\tid={toggleId}\n\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\trole=\"switch\"\n\t\t\t\t\t\t{...filterAriaAttributes(configAria, 'switch')}\n\t\t\t\t\t\taria-labelledby={labelId}\n\t\t\t\t\t\tchecked={checked}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\ton-click={onToggleClicked}\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'now-toggle': true,\n\t\t\t\t\t\t\t'is-checked': checked,\n\t\t\t\t\t\t\t'is-disabled': disabled,\n\t\t\t\t\t\t\t['-' + size]: size,\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{(labelPosition === 'end' || labelPosition === 'bottom') &&\n\t\t\t\t\trenderLabelContainer(labelId, toggleId)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<input\n\t\t\ttype=\"checkbox\"\n\t\t\trole=\"switch\"\n\t\t\t{...filterAriaAttributes(configAria, 'switch')}\n\t\t\tchecked={checked}\n\t\t\tdisabled={disabled}\n\t\t\ton-click={onToggleClicked}\n\t\t\tclass={{\n\t\t\t\t'now-toggle': true,\n\t\t\t\t'is-checked': checked,\n\t\t\t\t'is-disabled': disabled,\n\t\t\t\t['-' + size]: size,\n\t\t\t}}\n\t\t/>\n\t);\n};\n\n/**\n * A toggle is a switch that gives the user the ability to change a state to on or off.\n * This component acts like a button in that it shows the result of the user's action.\n *\n * ```jsx\n * <now-toggle checked />\n * <now-toggle disabled />\n * ```\n *\n * @seismicElement now-toggle\n * @summary The toggle component changes the state of a single setting to on or off.\n * @uib.label Toggle\n * @uib.icon toggle\n * @uib.description The toggle component changes the state of a single setting to on or off.\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties size, checked, manageChecked, disabled, configAria, label, labelPosition, fullWidth\n * @uib.layout.label.children label, labelPosition, fullWidth\n * @uib.layout.label.icon text-outline\n * @uib.layout.accessibility.children configAria\n * @uib.layout.accessibility.icon accessibility-outline\n * @uib.actions NOW_TOGGLE#CHECKED_SET\n */\ncreateEnhancedElement('now-toggle', {\n\tproperties: {\n\t\t/**\n\t\t * Toggle's label.\n\t\t * @type {string}\n\t\t * @uib.defaultValue\n\t\t * @uib.translatable true\n\t\t */\n\t\tlabel: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Position at which to display the toggle label relative to the toggle.\n\t\t * Possible values:\n\t\t *   - top\n\t\t *   - end\n\t\t *   - bottom\n\t\t *   - start\n\t\t * @type {('top'|'end'|'bottom'|'start')}\n\t\t * @uib.description Position at which to display the toggle label relative to the toggle.\n\t\t * @uib.defaultValue start\n\t\t * @uib.typeMetadata.choices [{\"label\":\"Start\",\"value\":\"start\"},{\"label\":\"End\",\"value\":\"end\"},{\"label\":\"Top\",\"value\":\"top\"},{\"label\":\"Bottom\",\"value\":\"bottom\"}]\n\t\t */\n\t\tlabelPosition: {\n\t\t\tdefault: 'start',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['start', 'end', 'top', 'bottom'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Indicates the checked state of the toggle. When true, the toggle is selected. Use `manage-checked` to override\n\t\t * this behavior and handle the `NOW_TOGGLE#CHECKED_SET` action manually.\n\t\t * @type {boolean}\n\t\t * @uib.description Indicates the checked state of the toggle. When true, the toggle is selected.\n\t\t */\n\t\tchecked: {\n\t\t\treflect: true,\n\t\t\tdefault: false,\n\t\t\tmanageable: true,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `checked` property.\n\t\t * An action with type `NOW_TOGGLE#CHECKED_SET` will be dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the checked property. Use the checked set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageChecked: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, the toggle is disabled.\n\t\t * @type {boolean}\n\t\t * @uib.description When true, the toggle is disabled.\n\t\t * @uib.defaultValue false\n\t\t */\n\t\tdisabled: {reflect: true, default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Size of the toggle, either small (sm) or medium (md).\n\t\t * @type {('sm'|'md')}\n\t\t * @uib.description Size of the toggle, either small (sm) or medium (md).\n\t\t */\n\t\tsize: {default: 'md', schema: {type: 'string', enum: ['sm', 'md']}},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * now-toggle. The value of each key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s. These ARIA\n\t\t * properties are set on the specified element.\n\t\t * The 'switch' key corresponds to the `<input>` with an ARIA role of\n\t\t * 'switch' in now-toggle. See https://www.w3.org/TR/wai-aria-1.2/#switch for\n\t\t * properties and accepted values.\n\t\t * @type {{ switch: {'aria-*': string, role: string} }}\n\t\t * @uib.label ARIA properties\n\t\t * @uib.description An object whose keys reference a specific HTML element within the now-toggle.\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\toneOf: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tswitch: configAriaLabelRoleSchema,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tadditionalProperties: false,\n\t\t\t\t\t},\n\t\t\t\t\tconfigAriaLabelRoleSchema,\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * When true, the toggle and label will be distributed across the x-axis accordingly.\n\t\t * @type {boolean}\n\t\t * @uib.description When true, the toggle and label will be distributed across the x-axis accordingly.\n\t\t * @uib.defaultValue false\n\t\t */\n\t\tfullWidth: {default: false, schema: {type: 'boolean'}},\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot for label inline icon. Located inline after label.\n\t\t */\n\t\t'label-inline': {},\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the 'checked' state of the toggle is changed.\n\t\t * The payload contains `true` when checked and `false` when unchecked.\n\t\t * Set the `manage-checked` property to override the default behavior and\n\t\t * handle this action manually.\n\t\t * @type {{value: boolean}}\n\t\t * @uib.description Dispatched when the 'checked' state of the toggle is changed.\n\t\t */\n\t\t'NOW_TOGGLE#CHECKED_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tvalue: {type: 'boolean'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['keydown'],\n\t\t\teffect: ({host, action}) => {\n\t\t\t\tconst {key} = action.payload.event;\n\t\t\t\tif (key === 'Enter') {\n\t\t\t\t\thost.shadowRoot.querySelector('input').click();\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t],\n\tbehaviors: [{behavior: focusBehavior}],\n\tstyles,\n\tview,\n});\n","const initialState = {};\n\nexport default initialState;","const properties = {\n\tisOpen: {\n\t\tdefault: false\n\t},\n\t/**\n\t * List of cards to display (populated via API)\n\t */\n\tcards: {\n\t\tdefault: []\n\t},\n\t/**\n\t * True if cards can not be fetched\n\t */\n\tcardFetchError: {\n\t\tdefault: false\n\t},\n\t/**\n\t * Set to true on the authenticated\n\t * dashboard. Cards our filtered based on this\n\t */\n\tisDashboard: {\n\t\tdefault: false\n\t},\n\t/**\n\t * Show a spinner while we fetch\n\t */\n\tloadingCards: {\n\t\tdefault: true\n\t},\n\tauthUser: {\n\t\tdefault: false,\n\t\tschema: {\n\t\t\ttype: 'boolean'\n\t\t}\n\t}\n};\n\nexport default properties;\n","export const DPS_AD_CARDS_CONNECTED_ACTIONS = {\n\tCOLLAPSABLE_EVENTS_TOGGLE: 'COLLAPSABLE_EVENTS#TOGGLE'\n};\nexport default DPS_AD_CARDS_CONNECTED_ACTIONS;","import { actionTypes } from '@servicenow/ui-core';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { DPS_AD_CARDS_CONNECTED_ACTIONS } from '../actions';\n\nconst { COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nconst DPS_AD_CARDS_CONNECTED = {\n\tFETCH: 'DPS_AD_CARDS_CONNECTED#FETCH',\n\tSUCCESS: 'DPS_AD_CARDS_CONNECTED#FETCH_SUCCEDDED',\n\tERROR: 'DPS_AD_CARDS_CONNECTED#FETCH_ERROR'\n};\n\nexport default {\n\t[COMPONENT_BOOTSTRAPPED]({dispatch, properties: { isDashboard }}) {\n\t\tdispatch(DPS_AD_CARDS_CONNECTED.FETCH, {\n\t\t\tdashboard: isDashboard\n\t\t});\n\t},\n\n\t[DPS_AD_CARDS_CONNECTED.FETCH]: createHttpEffect('/api/snc/v1/dev/ad_cards', {\n\t\tbatch: false,\n\t\tmethod: 'GET',\n\t\tqueryParams: ['dashboard'],\n\t\tsuccessActionType: DPS_AD_CARDS_CONNECTED.SUCCESS,\n\t\terrorActionType: DPS_AD_CARDS_CONNECTED.ERROR\n\t}),\n\n\t[DPS_AD_CARDS_CONNECTED.SUCCESS]({ action: { payload }, updateProperties }) {\n\t\tconst cards = payload.result.map(card => ({\n\t\t\timage: card.u_image,\n\t\t\tbody: card.u_card_body,\n\t\t\ttype: card.u_card_type,\n\t\t\turl: card.u_url,\n\t\t\tcta: card.u_cta\n\t\t}));\n\n\t\tupdateProperties({\n\t\t\tcards,\n\t\t\tcardFetchError: false,\n\t\t\tloadingCards: false\n\t\t});\n\t},\n\n\t[DPS_AD_CARDS_CONNECTED.ERROR]({ updateProperties }) {\n\t\tupdateProperties({\n\t\t\tcardFetchError: true,\n\t\t\tloadingCards: false\n\t\t});\n\t},\n\n\t[DPS_AD_CARDS_CONNECTED_ACTIONS.COLLAPSABLE_EVENTS_TOGGLE]: coeffects => {\n\t\tconst { properties, updateProperties } = coeffects;\n\t\tconst { isOpen } = properties;\n\n\t\tupdateProperties({\n\t\t\tisOpen: !isOpen\n\t\t});\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-icon';\nimport styles from './dps-news-events-ad-card.scss';\n\nconst view = ({ properties: { meta, title, icon, image, href, actionLabel, hrefTarget, authUser } }, dispatch) => (\n\t<a className=\"dps-news-events-ad-card\" href={href} target={hrefTarget}\n\t\ton-click={() => {\n\t\t\t//Tracking the click on ad cards\n\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\taction: authUser ?\n\t\t\t\t\t`click on ad cards ${title} - auth homepage`\n\t\t\t\t\t: `click on ad cards ${title} - guest homepage`,\n\t\t\t\tcategory: 'buttons',\n\t\t\t\tlabel: authUser ?\n\t\t\t\t\t'Authenticated home page / Nav drop down'\n\t\t\t\t\t: 'News and Events',\n\t\t\t\tvalue: '',\n\t\t\t\tga: true,\n\t\t\t\tadobe: false\n\t\t\t});\n\t\t}}>\n\t\t<img className=\"card-image\" src={image} alt={title}></img>\n\t\t<div className=\"content\">\n\t\t\t<h4> {icon ? (<now-icon icon={icon} size=\"sm\" />) : \"\"} {meta}</h4>\n\t\t\t<div className='content-body'>\n\t\t\t\t<h2>{title}</h2>\n\t\t\t\t<span className='card-subtext'>{actionLabel}</span>\n\t\t\t</div>\n\t\t</div>\n\t</a>\n);\n\nexport default createCustomElement('dps-news-events-ad-card', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\timage: {\n\t\t\tdefault: null\n\t\t},\n\t\tmeta: {\n\t\t\tdefault: 'Meta'\n\t\t},\n\t\ttitle: {\n\t\t\tdefault: 'Title'\n\t\t},\n\t\ticon: {\n\t\t\tdefault: ''\n\t\t},\n\t\tactionLabel: {\n\t\t\tdefault: 'Learn More'\n\t\t},\n\t\taction: {\n\t\t\tdefault: ''\n\t\t},\n\t\thref: {\n\t\t\tdefault: ''\n\t\t},\n\t\threfTarget: {\n\t\t\tdefault: null\n\t\t},\n\t\tauthUser: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t}\n\t},\n\tstyles\n});\n","export const newsAndEventsIconsMap = {\n\t\"news\": \"folder-outline\",\n\t\"webinar\": \"folder-outline\",\n\t\"event\": \"compass-outline\",\n};","import '@servicenow/now-card';\n\nimport '../dps-news-events-ad-card';\nimport '../../components/dps-spinner';\nimport { newsAndEventsIconsMap } from './build-and-deploy-cards';\n\nconst _renderCard = ({ image, body, type, url, cta }, authUser, icon) => {\n\tconst isExternalLink = !url.includes('dev.do');\n\treturn (\n\t\t<div slot=\"content\" className='newsevent-carousel-card'>\n\t\t\t<dps-news-events-ad-card\n\t\t\t\tmeta={type}\n\t\t\t\ttitle={body}\n\t\t\t\timage={image}\n\t\t\t\ticon={icon}\n\t\t\t\thref={url}\n\t\t\t\thref-target={isExternalLink ? '_blank' : null}\n\t\t\t\tactionLabel={cta}\n\t\t\t\tauthUser={authUser}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nconst view = ({ properties: { cards, isDashboard, loadingCards, cardFetchError, authUser, isOpen } }, dispatch) => {\n\n\tconst adCardsCount = cards.length;\n\n\tif (cardFetchError) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t['dps-expand-or-collapse-events']: true,\n\t\t\t\t\t['auth-page']: authUser && adCardsCount < 6,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div class={{\n\t\t\t\t\t['dps-ad-cards']: true,\n\t\t\t\t\t['dps-ad-cards-carousel']: true,\n\t\t\t\t\t['-col-3']: isDashboard,\n\t\t\t\t\t['-is-loaded']: !loadingCards,\n\t\t\t\t}}>\n\t\t\t\t\t<div className=\"spinner-wrapper\">\n\t\t\t\t\t\t<dps-spinner />\n\t\t\t\t\t</div>\n\t\t\t\t\t<sn-carousel\n\t\t\t\t\t\tdisableLooping={true}\n\t\t\t\t\t\thideLink={true}\n\t\t\t\t\t\thideTitle={true}\n\t\t\t\t\t\tenableAutoScroll={false}\n\t\t\t\t\t\tshowCompactView={false}\n\t\t\t\t\t\tnavPosition=\"bottom-right\"\n\t\t\t\t\t\temptyStateContent=\"\"\n\t\t\t\t\t\temptyStateLabel=\"\"\n\t\t\t\t\t\temptyStateIllustration=\"\"\n\t\t\t\t\t\tpauseAutoScroll={true}\n\t\t\t\t\t\tgradientStyle=\"primary\"\n\t\t\t\t\t\tdisableTextWrapping={true}\n\t\t\t\t\t\titemsInView=\"multiple-content-items\"\n\t\t\t\t\t\tlinkIcon=\"arrow-right-fill\"\n\t\t\t\t\t\tnavStyle=\"fill\"\n\t\t\t\t\t\tsingleItemOnZoom={true}\n\t\t\t\t\t\tslidingType=\"single-item\"\n\t\t\t\t\t\tstyle={{ width: \"100%\", height: \"inherit\" }}\n\t\t\t\t\t>\n\t\t\t\t\t\t{cards.map((card) => _renderCard(card, authUser, newsAndEventsIconsMap[card.type.toLowerCase()]))}\n\t\t\t\t\t</sn-carousel>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default view;\n","import '@devsnc/sn-carousel';\nimport '@servicenow/now-card';\nimport '@servicenow/now-dropdown';\nimport '@servicenow/now-input';\nimport '@servicenow/now-toggle';\nimport {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport styles from './dps-news-and-events-carousel.scss';\nimport initialState from './initialState';\nimport properties from './properties';\nimport actions from './actions';\nimport actionHandlers from './actionHandlers/index';\nimport view from './view';\nimport scrollIntoViewport from '../../behaviors/scrollIntoViewport';\nimport { isSmallViewport } from '../../utils/helpers';\n\n\n\n\ncreateCustomElement('dps-news-and-events-carousel', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview,\n\t},\n\tinitialState,\n\tproperties,\n\tactions,\n\tactionHandlers,\n\tbehaviors: [\n\t\t\t{\n\t\t\t\tbehavior: scrollIntoViewport,\n\t\t\t\toptions: {\n\t\t\t\t\tselectors: [\n\t\t\t\t\t\t'.dps-ad-cards-carousel',\n\t\t\t\t\t],\n\t\t\t\t\tthreshold: isSmallViewport() ? 0 : 0.2,\n\t\t\t\t\tonce: true, // prevent transform motion from creating feedback loop\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\tstyles\n});","export const DPS_NAVIGATION_AUTH_HOME = {\n\tMAGIC_LINK_CLICKED: 'DPS_NAVIGATION_INSTANCE_MANAGEMENT#MAGIC_LINK_CLICKED',\n\tWAKE_UP_INSTANCE_STARTED: 'DPS_NAVIGATION_INSTANCE_MANAGEMENT#WAKE_UP_INSTANCE_STARTED',\n};\n","export const MANAGE_PDI_ACTIONS = {\n\tEXECUTE_CAT_ITEM_STARTED:\n\t\t'MANAGE_PDI_ACTIONS#EXECUTE_CAT_ITEM_STARTED',\n\tFETCH_AVAILABLE_PLUGINS: 'FETCH_AVAILABLE_PLUGINS',\n\tUPDATE_INSTANCE_STATE: 'MANAGE_PDI_ACTIONS#UPDATE_INSTANCE_STATE',\n\tSET_QUICK_RESET_WIPE_STATUS: 'MANAGE_PDI_ACTIONS#SET_QUICK_RESET_WIPE_STATUS',\n\tGET_AVAILABLE_INSTANCE_COUNT: 'MANAGE_PDI_ACTIONS#GET_AVAILABLE_INSTANCE_COUNT',\n\tGET_AVAILABLE_INSTANCE_COUNT_SUCCEEDED: 'MANAGE_PDI_ACTIONS#GET_AVAILABLE_INSTANCE_COUNT_SUCCEEDED',\n\tCLEAR_OP_RESULT: 'MANAGE_PDI_ACTIONS#CLEAR_OP_RESULT'\n };","import { formatSysParam } from '../../utils/helpers';\n\nimport { MANAGE_PDI_ACTIONS } from './actions';\n\nimport { userRoleChangeSysId, CONSTANTS, ALERTS } from '../../constants';\n\nimport { DevPlatformStorage } from '../../utils/storage';\nimport APP_ACTIONS from '../dps-app/actions';\n\n/**\n * Handles the execution of a catalog item by dispatching various actions based on the given parameters.\n *\n * @param {Object} params - The parameters for the function.\n * @param {string} params.cat_item_id - The catalog item ID to be executed.\n * @param {Object} params.dispatch - The dispatch function to send actions.\n * @param {string} params.ins_id - The instance ID associated with the catalog item.\n * @param {Object} params.menuItem - The menu item related to the action.\n * @param {Object} [params.additionalParams={}] - Additional parameters that may affect the behavior.\n */\nexport const handleOnExecuteCatItem = ({\n\tcat_item_id,\n\tdispatch,\n\tins_id,\n\tmenuItem,\n\tadditionalParams = {}\n}) => {\n\tdispatch(MANAGE_PDI_ACTIONS.CLEAR_OP_RESULT, { clearOpResult: true });\n\tadditionalParams = {\n\t\t...additionalParams,\n\t\tisPdiSummary: true,\n\t};\n\tconst sysparm_data = formatSysParam('instance.ops.execute_cat_item', {\n\t\tins_id,\n\t\tcat_item_id,\n\t\tadditionalParams\n\t});\n\tif (additionalParams && additionalParams.quickResetWipeOperation) {\n\t\tdispatch(MANAGE_PDI_ACTIONS.SET_QUICK_RESET_WIPE_STATUS, {\n\t\t\tisQuickResetAndWipeInProgress: true\n\t\t});\n\t}\n\tdispatch(APP_ACTIONS.EXECUTE_CAT_ITEM_STARTED, {\n\t\tmenuItem,\n\t\tsysparm_data\n\t});\n\n\tif (\n\t\tcat_item_id !== userRoleChangeSysId &&\n\t\t!additionalParams.quickResetWipeOperation\n\t) {\n\t\tsetTimeout((dispatcher) => {\n\t\t\tdispatcher(MANAGE_PDI_ACTIONS.UPDATE_INSTANCE_STATE, {\n\t\t\t\tdirect_wake_up: false\n\t\t\t});\n\t\t}, 1, dispatch);\n\t}\n};\n\nexport const getInstanceCountDetails = ({ properties, dispatch }) => {\n\tconst {\n\t\tinstanceInfo: { full_release: releaseName }\n\t} = properties;\n\tconst sysparm_data = formatSysParam(\n\t\tCONSTANTS.DEV_PORTAL_ACTIONS.GET_INSTANCE_AVAILABILITY_COUNT,\n\t\t{\n\t\t\treleaseName\n\t\t}\n\t);\n\n\tdispatch(MANAGE_PDI_ACTIONS.GET_AVAILABLE_INSTANCE_COUNT, {\n\t\tsysparm_data\n\t});\n};\n\nexport const constructClickTrackingData = ({\n\tpageArea,\n\tsection,\n\tcomponentName,\n\tctaText,\n\tdestination\n}) => ({\n\tevent: {\n\t\tclick: {\n\t\t\tpageArea,\n\t\t\tsection: section || 'unknown',\n\t\t\tcomponentName: componentName || 'unknown',\n\t\t\tctaText,\n\t\t\tdestination\n\t\t}\n\t}\n});\n\nexport const hasDismissedAlertThisSession = (alertId, instanceId = '') => {\n\tconst key = instanceId ? `dismissedAlert_${alertId}_${instanceId}` : `dismissedAlert_${alertId}`;\n\treturn !!DevPlatformStorage.loadFromSessionStorage(key);\n};\n","\nimport { constructClickTrackingData } from './helpers.js'\nimport { ALERTS } from '../../constants';\nimport { toWords } from 'number-to-words';\n\nexport const STATUS = {\n\t'Upgrading Instance': {\n\t\tstatus_class: 'status-fulfilling',\n\t\tisFollowedByEllipsis: true\n\t},\n\t'Activating Plugin': {\n\t\tstatus_class: 'status-fulfilling',\n\t\tisFollowedByEllipsis: true\n\t},\n\t'Removing Demo Data': {\n\t\tstatus_class: 'status-fulfilling',\n\t\tisFollowedByEllipsis: true\n\t},\n\t'Waking Instance': {\n\t\tstatus_class: 'status-fulfilling',\n\t\tisFollowedByEllipsis: true\n\t},\n\t'Refreshing Instance': {\n\t\tstatus_class: 'status-fulfilling',\n\t\tisFollowedByEllipsis: true\n\t},\n\t'Releasing Instance': {\n\t\tstatus_class: 'status-fulfilling',\n\t\tisFollowedByEllipsis: true\n\t},\n\t'Reset and Wiping Instance': {\n\t\tstatus_class: 'status-fulfilling',\n\t\tisFollowedByEllipsis: true\n\t},\n\tHibernating: {\n\t\tstatus_class: 'status-hibernating',\n\t\tisFollowedByEllipsis: false\n\t},\n\tOnline: {\n\t\tstatus_class: 'status-online',\n\t\tisFollowedByEllipsis: false\n\t},\n\tOffline: {\n\t\tstatus_class: 'status-offline',\n\t\tisFollowedByEllipsis: false\n\t}\n};\n\nexport const MANAGE_INSTANCE_RELEASE_REASONS = {\n\tFRESH_INSTANCE: 'I want a fresh instance with no data',\n\tOTHER_REASON: 'Other reason',\n\tNO_LONGER_USING: 'I am no longer using my instance',\n\tPLACEHOLDER: 'Please select an option'\n};\n\nexport const TEXTAREA_MAX_LENGTH = 500;\n\nexport const TEXTAREA_PLACE_HOLDER = 'Type your reason here';\n\nexport const REQUEST_SUBMITTED_MESSAGE =\n\t'We are removing demo data from your instance now. This operation is expected to take 20-30 minutes. You will receive an email once this is complete.';\n\nexport const HELPER_TEXT_GET_FRESH_INSTANCE =\n\t'If you wish to get a fresh instance, the reset and wipe action can be used.';\n\nexport const UNCONFIGURE_ALT = \"This mark indicating installation status\";\n\nexport const COMPLETED_TASK = \"This mark indicates completed task.\"\n\nexport const RELEASE_INSTANCE_LABEL = \"Why are you releasing your instance?\";\n\nexport const RESET_WIPE = 'Reset and wipe';\n\nexport const RESET_WIPE_NOTE = 'Note: The reset process will take longer if you choose to keep your instance name.';\nexport const INSTANCE_NAME_PROMPT = 'Do you want to keep your instance name';\nexport const KEEP_INSTANCE_NAME_OPTION = 'Yes, keep my instance name';\nexport const RESET_INSTANCE_NAME_OPTION = 'No, give up my instance name and get a new one';\n\n\nexport const RESET_WIPE_REQUEST_SUBMITTED_MESSAGE = 'An instance reset request has been submitted and the instance may not be available temporarily. You will receive an email when the instance is back up';\n\nexport const RESET_WIPE_SUB_LABEL = 'This will reset your instance to its out-of-the-box settings. You will also receive new instance login credentials after the reset is complete.';\n\nexport const RESET_WIPE_CONFIRM_MESSAGE = 'By checking this box, you acknowledge that resetting your instance permanently erases all customizations and settings.';\n\nexport const CONFIRMATION_MODAL_MESSAGE = 'Are you sure you want to reset your password?'\n\nexport const RESET_PASSWORD_ALERT = {\n\tPOSITIVE: 'Your password reset request completed successfully.',\n\tWARNING: 'Something went wrong with resetting your password. Please try again.'\n}\n\nexport const RESET_WIPE_TYPE_OPTIONS = {\n\tNORMAL: 'Normal',\n\tQUICK: 'Quick'\n};\n\nexport const REMOVE_DEMO_DATA_INPROGRESS = \"Removing Demo Data\";\n\nexport const ACTIVATING_PLUGIN_MESSAGE = 'We are currently in the process of activating the plugin. You will receive an email notification once it is complete. While you can still access your instance, certain plugin functionalities may not be available yet.'\n\nexport const NO_ACTIVITY_WARNING = \"PDIs are reclaimed after 10 days of inactivity. Remember to back up your work regularly to avoid data loss.\";\n\nexport const INSTANCE_READY_MESSAGE = \"Your instance is ready to use\";\n\nexport const APP_NAME_LOOKUP = {\n\t'AES': 'App engine studio',\n\t'CRS': 'Creator studio',\n\t'SNS': 'ServiceNow studio',\n\t'BAF': 'Build agent',\n};\n\nexport const HIBERNATING_ALERT = 'Your instance is hibernating due to inactivity.'\n\nexport const ALERT_DISMISS_DURATION = 15000\n\nexport const ALERTS_CONTENT = ({ alertId, userInfo, releaseInfo, systemProperties }) => {\n\tlet buildAgentMessages = {};\n\ttry {\n\t\tbuildAgentMessages = JSON.parse(systemProperties?.['dev.build_agent.availability_text'] || '{}');\n\t} catch (e) {\n\t\tbuildAgentMessages = {};\n\t}\n\tconst content = {\n\t\t[ALERTS.UPGRADE_INSTANCE_ALERT]: {\n\t\t\tstatus: \"info\",\n\t\t\ticon: \"circle-info-outline\",\n\t\t\texpanded: true,\n\t\t\tclassName: 'alert',\n\t\t\tcontent: `We recommend upgrading to our latest release ${releaseInfo.activeVersionsFormatted[\n\t\t\t\treleaseInfo.latestRelease\n\t\t\t]} so that you get access to the latest features and functionalities.`,\n\n\t\t\ttextLinkProps: {\n\t\t\t\tlabel: 'Release notes',\n\t\t\t\thref: `https://www.servicenow.com/docs/bundle/${releaseInfo.activeVersionsFormatted[\n\t\t\t\t\treleaseInfo.latestRelease\n\t\t\t\t].toLowerCase()}-release-notes/page/release-notes/family-release-notes.html`\n\t\t\t},\n\t\t},\n\t\t[ALERTS.RESET_PASSWORD]: {\n\t\t\tstatus: \"positive\",\n\t\t\ticon: \"circle-info-outline\",\n\t\t\tcontent: RESET_PASSWORD_ALERT.POSITIVE,\n\n\t\t},\n\t\t[ALERTS.RESET_PASSWORD_FAILED]: {\n\t\t\tstatus: \"warning\",\n\t\t\ticon: \"exclamation-triangle-outline\",\n\t\t\theader: \"Warning:\",\n\t\t\tcontent: RESET_PASSWORD_ALERT.WARNING\n\t\t},\n\t\t[ALERTS.ACTIVATE_PLUGIN]: {\n\t\t\tstatus: \"warning\",\n\t\t\ticon: \"circle-info-outline\",\n\t\t\tcontent: ACTIVATING_PLUGIN_MESSAGE\n\t\t},\n\t\t[ALERTS.HIBERNATING_ALERT_ID]: {\n\t\t\tstatus: \"info\",\n\t\t\ticon: \"circle-info-outline\",\n\t\t\tcontent: HIBERNATING_ALERT\n\t\t},\n\t\t[ALERTS.INSTANCE_READY]: {\n\t\t\tstatus: \"positive\",\n\t\t\ticon: \"circle-info-outline\",\n\t\t\tcontent: INSTANCE_READY_MESSAGE\n\t\t},\n\t\t[ALERTS.INSTANCE_SETUP_COMPLETE]: {\n\t\t\tstatus: \"positive\",\n\t\t\ticon: \"circle-check-outline\",\n\t\t\theader: \"Instance set-up complete.\",\n\t\t\tcontent: INSTANCE_READY_MESSAGE\n\t\t},\n\t\t[ALERTS.SENT_LOGIN_CREDS]: {\n\t\t\tcontent: `We emailed your login credentials to ${userInfo.email}`,\n\t\t\tstatus: \"info\",\n\t\t\ticon: \"circle-info-outline\",\n\t\t},\n\t\t[ALERTS.SENT_LOGIN_CREDS_FAILED]: {\n\t\t\tstatus: \"warning\",\n\t\t\ticon: \"exclamation-triangle-outline\",\n\t\t\theader: \"Warning:\",\n\t\t\tcontent: \"Something went wrong with emailing your login credentials. Please try again.\"\n\t\t},\n\t\t[ALERTS.MANAGE_EMAIL_POSITIVE_ENABLED]: {\n\t\t\tstatus: \"positive\",\n\t\t\ticon: \"circle-info-outline\",\n\t\t\tcontent: 'Email sending and receiving is enabled'\n\t\t},\n\t\t[ALERTS.MANAGE_EMAIL_POSITIVE_DISABLED]: {\n\t\t\tstatus: \"positive\",\n\t\t\ticon: \"circle-info-outline\",\n\t\t\tcontent: 'Email sending and receiving is disabled'\n\t\t},\n\t\t[ALERTS.MANAGE_EMAIL_NEGATIVE]: {\n\t\t\tstatus: \"warning\",\n\t\t\ticon: \"exclamation-triangle-outline\",\n\t\t\theader: \"Warning:\",\n\t\t\tcontent: 'Something went wrong. Please try again.'\n\t\t},\n\t\t// Build Agent alerts \n\t\t[ALERTS.BUILD_AGENT_OFFLINE]: {\n\t\t\tstatus: \"warning\",\n\t\t\ticon: \"circle-info-outline\",\n\t\t\tcontent: \"We're having trouble opening your instance due to an internal error. We should have it fixed in a few minutes\",\n\t\t\tisBuildAgentAlert: true\n\t\t},\n\t\t[ALERTS.BUILD_AGENT_HIBERNATING]: {\n\t\t\tstatus: \"warning\",\n\t\t\ticon: \"circle-info-outline\",\n\t\t\tcontent: \"We're having trouble opening your instance due to an internal error. We should have it fixed in a few minutes\",\n\t\t\tisBuildAgentAlert: true\n\t\t},\n\t\t[ALERTS.BUILD_AGENT_NOT_ADMIN]: {\n\t\t\tstatus: \"warning\",\n\t\t\ticon: \"circle-info-outline\",\n\t\t\tcontent: \"Your current role doesn't allow you to use Now Assist. To use it, change your role to Admin.\",\n\t\t\ttextLinkProps: {\n\t\t\t\tlabel: 'Change role',\n\t\t\t\thref: 'javascript:void(0)',\n\t\t\t\topensWindow: false\n\t\t\t},\n\t\t\tisBuildAgentAlert: true\n\t\t},\n\t\t[ALERTS.BUILD_AGENT_UPGRADE_REQUIRED]: {\n\t\t\tstatus: \"warning\",\n\t\t\ticon: \"circle-info-outline\",\n\t\t\tcontent: buildAgentMessages?.upgrade_required_text || 'Upgrade your instance to Zurich, the latest ServiceNow release, to get access to the latest features and functionalities.',\n\t\t\ttextLinkProps: {\n\t\t\t\tlabel: 'Upgrade instance',\n\t\t\t\thref: 'javascript:void(0)',\n\t\t\t\topensWindow: false\n\t\t\t},\n\t\t\tisBuildAgentAlert: true\n\t\t},\n\t\t[ALERTS.BUILD_AGENT_VIBE_CODING_NOT_AVAILABLE]: {\n\t\t\tstatus: \"warning\",\n\t\t\ticon: \"circle-info-outline\",\n\t\t\tcontent: buildAgentMessages?.vibe_coding_release_available_text || 'Please reset your instance or release and request a new one to enable vibe coding',\n\t\t\tisBuildAgentAlert: true\n\t\t},\n\t\t[ALERTS.BUILD_AGENT_WAITLIST]: {\n\t\t\tstatus: \"info\",\n\t\t\ticon: \"circle-info-outline\",\n\t\t\tcontent: \"You're waitlisted for an instance. You'll receive an email as soon as one is available.\",\n\t\t\tisBuildAgentAlert: true\n\t\t},\n\t\t[ALERTS.BUILD_AGENT_UPGRADING_INSTANCE]: {\n\t\t\tstatus: \"info\",\n\t\t\ticon: \"circle-info-outline\",\n\t\t\tcontent: 'Your instance is upgrading. Once the upgrade is complete, you can use Now Assist.',\n\t\t\tisBuildAgentAlert: true\n\t\t},\n\t\t[ALERTS.INACTIVITY_RECLAIM_ALERT_ID]: {\n\t\t\tstatus: \"warning\",\n\t\t\ticon: \"circle-exclamation-outline\",\n\t\t\tpersistUntilDismissed: true\n\t\t},\n\t\t[ALERTS.NINETY_DAY_RECLAIM_ALERT_ID]: {\n\t\t\tstatus: \"warning\",\n\t\t\ticon: \"circle-exclamation-outline\",\n\t\t\tpersistUntilDismissed: true\n\t\t}\n\t};\n\tconst alertUniqId = alertId + \"~\" + new Date().getTime();\n\tconst alertConfig = content[alertId];\n\tconst skipAutoDismiss = alertConfig?.isBuildAgentAlert || alertConfig?.persistUntilDismissed;\n\treturn {\n\t\t...alertConfig,\n\t\taction: { type: 'dismiss', id: alertUniqId, alertId },\n\t\tautoDismissConfig: skipAutoDismiss ? {} : autoDismissDefault,\n\t\tcomponentName: alertUniqId,\n\t\tcomponentId: alertUniqId,\n\t\tid: alertUniqId,\n\t};\n}\n\nexport const INACTIVITY_RECLAIM_DAYS = 5;\nexport const AGE_RECLAIM_DAYS = 10;\n\nconst isSubDayIdle = unitStr =>\n\ttypeof unitStr === 'string' && unitStr.toLowerCase().includes('less than');\n\nconst spellIfSingleDigit = n =>\n\ttypeof n === 'number' && n >= 0 && n < 10 ? toWords(n) : n;\n\nexport const isInactivityReclaimEligible = instanceInfo => {\n\tconst days = instanceInfo?.remainingInactivityDays;\n\treturn (\n\t\t(typeof days === 'number' && days <= INACTIVITY_RECLAIM_DAYS) ||\n\t\tisSubDayIdle(instanceInfo?.remainingInactivityDaysUnitStr)\n\t);\n};\n\nexport const is90DayReclaimEligible = instanceInfo =>\n\ttypeof instanceInfo?.remainingAgeDays === 'number' &&\n\tinstanceInfo.remainingAgeDays <= AGE_RECLAIM_DAYS;\n\nexport const getAgeExpiryDate = instanceInfo => {\n\tconst age = instanceInfo?.ageExpiryDate;\n\tif (!age) {\n\t\treturn '';\n\t}\n\treturn age.replace(/,?\\s*\\d{4}/, '').trim();\n};\n\nexport const getInactivityReclaimAlertCopy = ({\n\tremainingInactivityDays,\n\tremainingInactivityDaysUnitStr,\n\tinactivityDays\n}) => {\n\tconst limit = inactivityDays ?? 10;\n\n\tconst isSubDay = isSubDayIdle(remainingInactivityDaysUnitStr) || remainingInactivityDays === 0;\n\tconst dayPhrase = isSubDay\n\t\t? 'today'\n\t\t: `in ${spellIfSingleDigit(remainingInactivityDays)} ${remainingInactivityDaysUnitStr ||\n\t\t\t\t(remainingInactivityDays === 1 ? 'day' : 'days')}`;\n\n\treturn {\n\t\theader: `Your instance will be reclaimed ${dayPhrase} due to ${limit}-day inactivity limit.`,\n\t\tcontent: `Log in to your instance within ${dayPhrase} to retain it.`\n\t};\n};\n\nexport const getNinetyDayReclaimAlertCopy = ({ expiryDate, maxExpiryDays }) => {\n\tconst limit = maxExpiryDays ?? 90;\n\tconst onDate = expiryDate ? ` on ${expiryDate}` : '';\n\n\treturn {\n\t\theader: `Your instance will be reclaimed${onDate} due to ${limit}-day limit and cannot be extended further.`,\n\t\tcontent: 'Back up your data to avoid losing it.'\n\t};\n};\n\nexport const EMAIL_LOGIN_CRED = \"email_login_credentials\"\n\nexport const autoDismissDefault = {\n\tenableAutoDismiss: true,\n\t// hideProgressBar: true,\n\tduration: ALERT_DISMISS_DURATION\n};\n\n\nexport const MANAGE_INSTANCE_URL = '#!/manage-instance';\n\n\n// Tracking data for \"Wake instance\" click\nexport const wakeInstanceClickData = constructClickTrackingData({\n\tpageArea: 'Wake instance',\n\tsection: 'Instance status',\n\tcomponentName: 'Manage instance',\n\tctaText: 'Wake instance',\n\tdestination: ''\n});\n\n// Tracking data for \"Refresh instance\" click\nexport const refreshInstanceClickData = constructClickTrackingData({\n\tpageArea: 'Refresh instance',\n\tsection: 'Instance status',\n\tcomponentName: 'Manage instance',\n\tctaText: 'Refresh instance',\n\tdestination: ''\n});\n\n// Tracking data for \"PDI URL\" click in the Instance Info card\nexport const pdiUrlClickData = constructClickTrackingData({\n\tpageArea: 'Instance Info card',\n\tsection: 'Instance URL',\n\tcomponentName: 'Manage instance',\n\tctaText: 'PDI URL',\n\tdestination: ''\n});\n\nexport const changeUserClickData = constructClickTrackingData({\n\tpageArea: 'Change user role',\n\tsection: 'User role',\n\tcomponentName: 'Manage instance',\n\tctaText: 'Update change user role',\n\tdestination: ''\n});\n\nexport const resetInstanceClickData = constructClickTrackingData({\n\tpageArea: 'Reset instance password',\n\tsection: 'Instance password reset',\n\tcomponentName: 'Manage instance',\n\tctaText: 'Reset password',\n\tdestination: ''\n});\n\nexport const releaseInstanceClickData = constructClickTrackingData({\n\tpageArea: 'Release instance',\n\tsection: 'Primary actions',\n\tcomponentName: 'Manage instance',\n\tctaText: 'Release',\n\tdestination: ''\n});\n\nexport const BROWSE_PLUGINS = 'Browse plugins';\n\nexport const ACTIONS_IDS = {\n\tREFRESH_INSTANCE: 'refresh_instance',\n\tWAKE_INSTANCE: 'wake_instance',\n\tBROWSE_PLUGINS: 'browse_plugins',\n\tACTIVATE_WITH_DEMO_DATA: 'activate_with_demo_data',\n\tACTIVATE_WITHOUT_DEMO_DATA: 'activate_without_demo_data',\n\tCANCEL: 'cancel',\n\tVIEW_DETAILS: 'view_details',\n\tACTIVATE_PLUGIN: 'activate_plugin',\n\tUPGRADE_RELEASE: 'upgrade_release',\n\tDEVELOPER_INSTANCE_GUIDE: 'developer-instance-guide',\n\tPDI_FAQ: 'pdi_faq',\n\tMANAGING_YOUR_PDI: 'managing-your-pdi',\n\tDEVELOPER_ADVOCATE_BLOG: 'developer-advocate-blog',\n\tVIEW_HISTORY_TABS: 'view-history-tabs',\n\tPRIMARY_PDI_ACTIONS: \"primary-pdi-actions\"\n}\n\nexport const MODALS = {\n\tVIEW_PLUGIN_DETAILS: 'view-plugin-details',\n\tUPGRADE_INSTANCE: 'upgrade-instance'\n}\n\nexport const CHANGE_USER_ROLE_CONFIRMATION = 'Your change user role request is completed successfully.'\nexport const REMOVE_DEMO_DATA = 'Remove demo data'\n","/* eslint-disable quotes */\nimport { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-highlighted-value';\nimport '@servicenow/now-textarea';\nimport '@servicenow/now-popover';\n\nimport styles from './dps-card-build-agent.scss';\nimport renderSVG from '../../utils/render-svg';\nimport { DPS_NAVIGATION_AUTH_HOME } from '../../components/dps-page-new-header/actions';\nimport {\n\tgetLaunchUrl,\n\tshowRequestInstance,\n\tuserHasInstance\n} from '../../utils/instanceHelpers';\nimport { isReleaseGTE } from '../../utils/releaseHelpers';\nimport { titleCase } from '../../utils/case';\nimport { DevPlatformStorage } from '../../utils/storage';\nimport {\n\tALERTS,\n\tCAT_ITEM_ACTIONS_IDS,\n\tCONSTANTS,\n\tFOOTER_ACTIONS,\n\tINSTANCE_ACTION_STATES\n} from '../../constants';\nimport {\n\tALERTS_CONTENT,\n\tgetInactivityReclaimAlertCopy,\n\tgetNinetyDayReclaimAlertCopy,\n\tgetAgeExpiryDate,\n\tisInactivityReclaimEligible,\n\tis90DayReclaimEligible\n} from '../dps-pdi-summary/constants';\nimport { hasDismissedAlertThisSession } from '../dps-pdi-summary/helpers';\nimport APP_ACTIONS from '../dps-app/actions';\nimport { DPS_INSTANCE_ASSIGNMENT_MODAL } from '../dps-instance-assignment-modal/actions';\n \nconst noCodeRequiredSvg = renderSVG({\n\tclassName: 'dps-badge-svg-icon',\n\twidth: 16,\n\theight: 12,\n\tinnerSVG:\n\t\t'<path d=\"M9.99992 0.000126127C10.276 0.000148579 10.4998 0.224092 10.4999 0.500126C10.4999 0.776255 10.276 1.0001 9.99992 1.00013H6.49992C4.56699 1.00013 3.00003 2.56723 2.99992 4.50013V10.2931L4.1464 9.14661C4.34165 8.9515 4.65821 8.95148 4.85343 9.14661C5.04865 9.34183 5.04857 9.65837 4.85343 9.85364L2.85343 11.8536L2.77531 11.9181C2.58123 12.0463 2.31726 12.0245 2.1464 11.8536L0.146402 9.85364C-0.0487732 9.65837 -0.0488279 9.34184 0.146402 9.14661C0.341645 8.9515 0.658205 8.95148 0.853433 9.14661L1.99992 10.2931V4.50013C2.00003 2.01494 4.01471 0.000130338 6.49992 0.000126127H9.99992Z\" fill=\"currentColor\"/><path d=\"M13.2245 0.0821574C13.4186 -0.0458984 13.6826 -0.02414 13.8534 0.14661L15.8534 2.14661C16.0487 2.34183 16.0486 2.65837 15.8534 2.85364C15.6582 3.0489 15.3417 3.0489 15.1464 2.85364L13.9999 1.70716V7.49817C14 9.98352 11.9853 11.9991 9.49992 11.9991H5.99992C5.7239 11.9991 5.50011 11.7751 5.49992 11.4991C5.50003 11.2231 5.72384 10.9991 5.99992 10.9991H9.49992C11.433 10.9991 13 9.43122 12.9999 7.49817V1.70716L11.8534 2.85364C11.6582 3.0489 11.3417 3.0489 11.1464 2.85364C10.9512 2.65837 10.9512 2.34184 11.1464 2.14661L13.1464 0.14661L13.2245 0.0821574Z\" fill=\"currentColor\"/><path d=\"M7.72941 3.21888C7.79375 2.92934 8.20608 2.92934 8.27042 3.21888L8.3964 3.78333C8.59858 4.69229 9.30867 5.40261 10.2177 5.60462L10.7821 5.72962C11.0711 5.79423 11.071 6.20595 10.7821 6.27063L10.2177 6.39661C9.30852 6.59865 8.59844 7.30872 8.3964 8.2179L8.27042 8.78235C8.20594 9.07158 7.79391 9.07157 7.72941 8.78235L7.60343 8.2179C7.40139 7.30872 6.69132 6.59865 5.78214 6.39661L5.21769 6.27063C4.92871 6.206 4.92865 5.79418 5.21769 5.72962L5.78214 5.60462C6.69117 5.40261 7.40126 4.69229 7.60343 3.78333L7.72941 3.21888Z\" fill=\"currentColor\"/>'\n});\n\nconst launchMagicLinkWithPrompt = (\n\t{ buildAgentSearchTerm, properties: stateProperties },\n\t{ updateState, dispatch, properties: coeffectProperties },\n\tresetPromptPersisted\n) => {\n\tconst properties = stateProperties || coeffectProperties || {};\n\tconst { systemProperties = {}, instanceInfo } = properties;\n\tconst launchUrl = getLaunchUrl(systemProperties, instanceInfo);\n\tconst separator = launchUrl.includes('?') ? '&' : '?';\n\tconst tabOpenMode = JSON.parse(\n\t\tsystemProperties['dev.build.agent.tab.open.mode'] || '{}'\n\t);\n\n\tif (buildAgentSearchTerm && buildAgentSearchTerm.trim().length > 0) {\n\t\tupdateState({ isPromptInProgress: true });\n\t\t// opening the magic link with prompt after a gap to prevent page load issues and to show indicator as well\n\t\tsetTimeout(() => {\n\t\t\tdispatch(DPS_NAVIGATION_AUTH_HOME.MAGIC_LINK_CLICKED, {\n\t\t\t\tattachParams: `&sysparm_goto_url=${encodeURIComponent(\n\t\t\t\t\t`${launchUrl}${separator}prompt=${encodeURIComponent(buildAgentSearchTerm?.trim())}`\n\t\t\t\t)}`,\n\t\t\t\tpromptExists: true,\n\t\t\t\taustraliaConfig: tabOpenMode?.australiaConfig &&\n\t\t\t\t\tisReleaseGTE(String(instanceInfo?.release || '').toLowerCase(), 'australia', systemProperties)\n\t\t\t\t\t? tabOpenMode.australiaConfig\n\t\t\t\t\t: null\n\t\t\t});\n\t\t}, 2500);\n\t\t// closing the indicator and clearing previous prompt opened already\n\t\tsetTimeout(() => {\n\t\t\tconst updatedState = { isPromptInProgress: false };\n\t\t\tif (resetPromptPersisted) {\n\t\t\t\t// clearing since it's already used\n\t\t\t\tupdatedState.isPromptPersisted = false;\n\t\t\t}\n\t\t\tupdateState(updatedState);\n\t\t}, 5000);\n\t}\n};\n\nconst view = (state, coeffects) => {\n\tconst {\n\t\tproperties,\n\t\tisPromptInProgress,\n\t\tbuildAgentSearchTerm,\n\t\tshowInstanceReadyAlert,\n\t\tdismissedInactivityReclaimAlert,\n\t\tdismissed90DayReclaimAlert,\n\t\tshowSetupCompleteAlert,\n\t\tisPromptSubmittedInBackground\n\t} = state;\n\tconst { dispatch, updateState } = coeffects;\n\tconst {\n\t\tisAuthPage,\n\t\tregisterUrl,\n\t\tsystemProperties,\n\t\tinstanceInfo,\n\t\tcatItemInProgress,\n\t\tuserInfo,\n\t\treleaseInfo,\n\t\tupgradeInstanceRelease,\n\t\tisInstanceFulfillingRequest,\n\t\tdismissedAlert,\n\t\tsuggestedPrompts,\n\t\tpdiUserRole,\n\t\tisAutoAssignRunInBackground,\n\t\thideOfflineAlert\n\t} = properties;\n\tconst { isBlockedUser, pdi_user_role } = userInfo || {};\n\tconst currentPdiUserRole = pdiUserRole || pdi_user_role;\n\tconst { display_state } = instanceInfo?.instanceStatus || {};\n\n\tconst isInstanceRequestInProgress =\n\t\tinstanceInfo && instanceInfo.isRequestingInstance();\n\n\tconst isMVP = instanceInfo?.policy?.isMVP;\n\tconst showReclaimPolicy =\n\t\tsystemProperties['dev.enable.reclaimpolicy'] === 'true' && !isMVP;\n\tconst ageReclaimEligible =\n\t\tshowReclaimPolicy && is90DayReclaimEligible(instanceInfo);\n\tconst show90DayReclaimAlert =\n\t\tageReclaimEligible &&\n\t\t!dismissed90DayReclaimAlert &&\n\t\t!hasDismissedAlertThisSession(ALERTS.NINETY_DAY_RECLAIM_ALERT_ID, instanceInfo?.sys_id);\n\n\tconst showInactivityReclaimAlert =\n\t\tshowReclaimPolicy &&\n\t\t!ageReclaimEligible &&\n\t\tisInactivityReclaimEligible(instanceInfo) &&\n\t\t!dismissedInactivityReclaimAlert &&\n\t\t!hasDismissedAlertThisSession(ALERTS.INACTIVITY_RECLAIM_ALERT_ID, instanceInfo?.sys_id);\n\n\t// const start_building_subtext =\n\t// \tinstanceInfo?.instanceStatus?.additional_info?.start_building_subtext;\n\n\t// const dashboard_show_spinner =\n\t// \tinstanceInfo?.instanceStatus?.additional_info?.dashboard_show_spinner;\n\n\t// const progressMessageToDisplay = instanceInfo?.catItem?.inProgressMessage || start_building_subtext;\n\n\tconst isAnyOperationInProgress =\n\t\tisAuthPage &&\n\t\t(instanceInfo?.catItem?.confirmViewName ==\n\t\t\tCAT_ITEM_ACTIONS_IDS.ACTIVATE_PLUGIN ||\n\t\t\tinstanceInfo?.catItem?.name == 'Refresh status' ||\n\t\t\tinstanceInfo?.catItem?.name == 'Remove demo data');\n\n\tconst canRequestInstance =\n\t\tinstanceInfo && showRequestInstance(instanceInfo) && !isBlockedUser;\n\tconst hasInstance = !canRequestInstance && !isInstanceRequestInProgress;\n\n\tconst releaseRequiredForBuildAgent =\n\t\tsystemProperties['dev.build.agent.release.required'] || 'zurich';\n\tconst valueExists =\n\t\t!!buildAgentSearchTerm && buildAgentSearchTerm?.trim().length > 0;\n\t// const suggestedPrompts = JSON.parse(systemProperties['dev.build.agent.suggested.prompt'] || '[]');\n\tconst suggestedPromptList = suggestedPrompts;\n\tconst useSignupRedirection =\n\t\tsystemProperties['dev.build.agent.use.signup.redirection'] === 'true';\n\tconst headerTitles = JSON.parse(\n\t\tsystemProperties['dev.build.agent.header.titles'] ||\n\t\t\t'{\"title1\":\"Unleash your vision \",\"title2\":\"with Build Agent\"}'\n\t);\n\n\tlet currentAlertId = null;\n\tconst buttonConfig = {\n\t\tlabel: 'Create',\n\t\ticon: 'ai-sparkle-fill',\n\t\ttoolTip: '',\n\t\tborder: '1',\n\t\tinfo: false,\n\t\tcolor: null\n\t};\n\tconst instanceExists = !!instanceInfo?.sys_id;\n\tconst notAdminRole =\n\t\tinstanceExists && currentPdiUserRole && currentPdiUserRole !== 'admin';\n\tconst start_building_disabled =\n\t\tisAuthPage &&\n\t\tinstanceExists &&\n\t\t(instanceInfo?.instanceStatus?.additional_info?.start_building_disabled ||\n\t\t\t(catItemInProgress &&\n\t\t\t\tcatItemInProgress?.name == 'Reset instance password'));\n\n\tconst isUpgradeInstanceRequired =\n\t\tisAuthPage &&\n\t\tinstanceExists &&\n\t\tinstanceInfo?.release &&\n\t\t!isReleaseGTE(String(instanceInfo?.release || '').toLowerCase(), releaseRequiredForBuildAgent.toLowerCase(), systemProperties);\n\n\tlet variant = 'primary';\n\n\tconst isVibeCodingNotAvailable =\n\t\tisAuthPage &&\n\t\tinstanceExists &&\n\t\tinstanceInfo?.installedApps?.['BAF']?.toLowerCase() === 'not installed';\n\n\tconst PromptCardLoadingMessageLabel =systemProperties['dev.pdi.ba.prompt.button.label'];\n\t\t\n\tconst diableBuildAgent =\n\t\tisAuthPage &&\n\t\t(instanceInfo?.isHibernating() ||\n\t\t\tinstanceInfo?.isOffline() ||\n\t\t\tinstanceInfo?.state === 'waitlist' ||\n\t\t\tnotAdminRole ||\n\t\t\t(start_building_disabled && !instanceInfo?.isWakingInstance?.()) ||\n\t\t\tdisplay_state?.toLowerCase() === 'upgrading instance' ||\n\t\t\tisVibeCodingNotAvailable);\n\tconst dismissBuildAgentAlert =\n\t\tisAuthPage &&\n\t\t(isAnyOperationInProgress ||\n\t\t\t(start_building_disabled &&\n\t\t\t\tdisplay_state?.toLowerCase() !== 'upgrading instance' &&\n\t\t\t\tdisplay_state?.toLowerCase() !== 'offline' &&\n\t\t\t\tdisplay_state?.toLowerCase() !== 'hibernating'));\n\t// const isActivating =\n\t// \tisAuthPage && instanceExists && catItemInProgress &&\n\t// \tcatItemInProgress?.confirmViewName === 'activate_plugin';\n\t// const isRemovingDemoData = isAuthPage && instanceExists && catItemInProgress && catItemInProgress?.name == 'Remove demo data';\n\n\t// any operation in progress disable (unlock zurich) upgrade flow (disable prompts & text box)\n\t// when start building is disabled text box & suggestions should be disabled\n\t//\n\tif (!isAuthPage) {\n\t\tbuttonConfig.label = 'Create';\n\t\tbuttonConfig.icon = 'ai-sparkle-fill';\n\t} else {\n\t\tif (instanceInfo?.isOffline()) {\n\t\t\tbuttonConfig.info = true;\n\t\t\tif (!hideOfflineAlert) {\n\t\t\t\tcurrentAlertId = ALERTS.BUILD_AGENT_OFFLINE;\n\t\t\t}\n\t\t} else if (instanceInfo?.isHibernating()) {\n\t\t\tbuttonConfig.info = true;\n\t\t\tif (!hideOfflineAlert) {\n\t\t\tcurrentAlertId = ALERTS.BUILD_AGENT_HIBERNATING;\n\t\t\t}\n\t\t} else if (isVibeCodingNotAvailable) {\n\t\t\tif (!isUpgradeInstanceRequired) {\n\t\t\t\tbuttonConfig.info = true;\n\t\t\t\tcurrentAlertId = ALERTS.BUILD_AGENT_VIBE_CODING_NOT_AVAILABLE;\n\t\t\t} else {\n\t\t\t\tbuttonConfig.info = true;\n\t\t\t\tcurrentAlertId = ALERTS.BUILD_AGENT_UPGRADE_REQUIRED;\n\t\t\t}\n\t\t} else if (notAdminRole) {\n\t\t\tbuttonConfig.info = true;\n\t\t\tcurrentAlertId = ALERTS.BUILD_AGENT_NOT_ADMIN;\n\t\t}\n\n\t\tif (instanceInfo?.state === 'waitlist') {\n\t\t\tbuttonConfig.info = true;\n\t\t} else if (display_state?.toLowerCase() === 'upgrading instance') {\n\t\t\tbuttonConfig.info = true;\n\t\t\tcurrentAlertId = ALERTS.BUILD_AGENT_UPGRADING_INSTANCE;\n\t\t} else if (!isAutoAssignRunInBackground && (isInstanceRequestInProgress || isInstanceFulfillingRequest)) {\n\t\t\tbuttonConfig.label = 'Fulfilling request...';\n\t\t\tbuttonConfig.icon = 'clock-outline';\n\t\t\tbuttonConfig.border = '0';\n\t\t\tbuttonConfig.info = true;\n\t\t} else if (isPromptInProgress) {\n\t\t\tbuttonConfig.label = PromptCardLoadingMessageLabel;\n\t\t\tbuttonConfig.icon = 'action-ai-sparkle-fill';\n\t\t\tbuttonConfig.info = true;\n\t\t\tbuttonConfig.border = '0';\n\t\t\tbuttonConfig.color = '82, 116, 255';\n\t\t}\n\t}\n\n\tif (buttonConfig.info && buttonConfig.border === '0') {\n\t\tvariant = 'tertiary';\n\t}\n\tconst onHooksChanges = ({ elm }) => {\n\t\tif (\n\t\t\telm?.shadowRoot &&\n\t\t\t!elm?.shadowRoot?.querySelector('#btn-custom-na-styling')\n\t\t) {\n\t\t\tconst styleSheet = document.createElement('style');\n\t\t\tstyleSheet.id = 'btn-custom-na-styling';\n\t\t\tstyleSheet.textContent = `\n\t\t\t\t.now-button {\n\t\t\t\t\ttext-align: left;\n\t\t\t\t\tletter-spacing: -0.439px;\n\t\t\t\t\twhite-space: nowrap;\n\t\t\t\t}\n\t\t\t`;\n\t\t\telm?.shadowRoot?.appendChild(styleSheet);\n\t\t}\n\t};\n\n\tconst getIconForPrompt = () => {\n\t\treturn 'ai-sparkle-fill';\n\t\t// if (icon) {\n\t\t// \treturn icon;\n\t\t// }\n\t\t// if (prompt?.indexOf('user') > -1) {\n\t\t// \treturn 'user-group-fill';\n\t\t// } else if (prompt?.indexOf('script') > -1) {\n\t\t// \treturn 'script-fill';\n\t\t// } else if (prompt?.indexOf('workflow') > -1) {\n\t\t// \treturn 'workflow-fill';\n\t\t// } else if (prompt?.indexOf('inventory') > -1) {\n\t\t// \treturn 'wrench-fill';\n\t\t// } else {\n\t\t// \treturn 'cube-fill';\n\t\t// }\n\t};\n\n\tconst hasAlert =\n\t\t(currentAlertId && !dismissBuildAgentAlert && !dismissedAlert[currentAlertId]) ||\n\t\t(showInstanceReadyAlert && !currentAlertId) ||\n\t\tshowInactivityReclaimAlert ||\n\t\tshow90DayReclaimAlert ||\n\t\t(showSetupCompleteAlert && !currentAlertId);\n\n\treturn (\n\t\t<div>\n\t\t\t<div className=\"sparkle sparkle-left\" />\n\t\t\t<div className=\"dps-home-unauth-apis-libraries center-card\">\n\t\t\t\t<div className={`dps-build-agent-alert${(hasAlert || (catItemInProgress && catItemInProgress.name == 'Install Build Agent')) ? ' has-alert' : ''}`}>\n\t\t\t\t\t{catItemInProgress && catItemInProgress.name == 'Install Build Agent' ? (\n\t\t\t\t\t\t<now-alert\n\t\t\t\t\t\t\tstatus=\"info\"\n\t\t\t\t\t\t\ticon=\"circle-info-outline\"\n\t\t\t\t\t\t\tcontent={(() => { try { return JSON.parse(systemProperties['dev.instance.operation.message.actionsDisabledBAUpgrade'] || '{}').banner; } catch (e) { return ''; } })()}\n\t\t\t\t\t\t></now-alert>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{currentAlertId &&\n\t\t\t\t\t\t!dismissBuildAgentAlert &&\n\t\t\t\t\t\t!dismissedAlert[currentAlertId] &&\n\t\t\t\t\t\t(() => {\n\t\t\t\t\t\t\tconst alertProps = ALERTS_CONTENT({\n\t\t\t\t\t\t\t\talertId: currentAlertId,\n\t\t\t\t\t\t\t\tuserInfo,\n\t\t\t\t\t\t\t\treleaseInfo,\n\t\t\t\t\t\t\t\tsystemProperties\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<now-alert\n\t\t\t\t\t\t\t\t\tstatus={alertProps.status}\n\t\t\t\t\t\t\t\t\ticon={alertProps.icon}\n\t\t\t\t\t\t\t\t\theader=\"\"\n\t\t\t\t\t\t\t\t\tcontent={{\n\t\t\t\t\t\t\t\t\t\ttype: 'html',\n\t\t\t\t\t\t\t\t\t\tvalue: alertProps.content\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\ttext-link-props={alertProps.textLinkProps || {}}\n\t\t\t\t\t\t\t\t\taction={{ type: '', alertId: currentAlertId }}\n\t\t\t\t\t\t\t\t\tcomponentName={currentAlertId}\n\t\t\t\t\t\t\t\t\tauto-dismiss-config={{}}\n\t\t\t\t\t\t\t\t></now-alert>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})()}\n\t\t\t\t\t{/* Instance Ready alert - only shown when no condition alert exists */}\n\t\t\t\t\t{showInstanceReadyAlert &&\n\t\t\t\t\t\t!currentAlertId &&\n\t\t\t\t\t\t(() => {\n\t\t\t\t\t\t\tconst alertProps = ALERTS_CONTENT({\n\t\t\t\t\t\t\t\talertId: ALERTS.INSTANCE_READY,\n\t\t\t\t\t\t\t\tuserInfo,\n\t\t\t\t\t\t\t\treleaseInfo,\n\t\t\t\t\t\t\t\tsystemProperties\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<now-alert\n\t\t\t\t\t\t\t\t\tstatus={alertProps.status}\n\t\t\t\t\t\t\t\t\ticon={alertProps.icon}\n\t\t\t\t\t\t\t\t\theader=\"\"\n\t\t\t\t\t\t\t\t\tcontent={{\n\t\t\t\t\t\t\t\t\t\ttype: 'html',\n\t\t\t\t\t\t\t\t\t\tvalue: alertProps.content\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\taction={{ type: 'dismiss', alertId: ALERTS.INSTANCE_READY }}\n\t\t\t\t\t\t\t\t\tcomponentName={ALERTS.INSTANCE_READY}\n\t\t\t\t\t\t\t\t\tauto-dismiss-config={{ enableAutoDismiss: true, duration: 15000, hideProgressBar: true }}\n\t\t\t\t\t\t\t\t></now-alert>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})()}\n\t\t\t\t\t{showInactivityReclaimAlert &&\n\t\t\t\t\t\t(() => {\n\t\t\t\t\t\t\tconst alertProps = ALERTS_CONTENT({\n\t\t\t\t\t\t\t\talertId: ALERTS.INACTIVITY_RECLAIM_ALERT_ID,\n\t\t\t\t\t\t\t\tuserInfo,\n\t\t\t\t\t\t\t\treleaseInfo,\n\t\t\t\t\t\t\t\tsystemProperties\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tconst copy = getInactivityReclaimAlertCopy({\n\t\t\t\t\t\t\t\tremainingInactivityDays: instanceInfo?.remainingInactivityDays,\n\t\t\t\t\t\t\t\tremainingInactivityDaysUnitStr: instanceInfo?.remainingInactivityDaysUnitStr,\n\t\t\t\t\t\t\t\tinactivityDays: instanceInfo?.policy?.inactivity_days\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<now-alert\n\t\t\t\t\t\t\t\t\tclassName=\"dps-reclaim-alert\"\n\t\t\t\t\t\t\t\t\tstatus={alertProps.status}\n\t\t\t\t\t\t\t\t\ticon={alertProps.icon}\n\t\t\t\t\t\t\t\t\theader={copy.header}\n\t\t\t\t\t\t\t\t\tcontent={{ type: 'string', value: copy.content }}\n\t\t\t\t\t\t\t\t\taction={{\n\t\t\t\t\t\t\t\t\t\ttype: 'acknowledge',\n\t\t\t\t\t\t\t\t\t\tlabel: 'ok',\n\t\t\t\t\t\t\t\t\t\talertId: ALERTS.INACTIVITY_RECLAIM_ALERT_ID\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tcomponentName={ALERTS.INACTIVITY_RECLAIM_ALERT_ID}\n\t\t\t\t\t\t\t\t\tauto-dismiss-config={{}}\n\t\t\t\t\t\t\t\t></now-alert>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})()}\n\t\t\t\t\t{show90DayReclaimAlert &&\n\t\t\t\t\t\t(() => {\n\t\t\t\t\t\t\tconst alertProps = ALERTS_CONTENT({\n\t\t\t\t\t\t\t\talertId: ALERTS.NINETY_DAY_RECLAIM_ALERT_ID,\n\t\t\t\t\t\t\t\tuserInfo,\n\t\t\t\t\t\t\t\treleaseInfo,\n\t\t\t\t\t\t\t\tsystemProperties\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tconst copy = getNinetyDayReclaimAlertCopy({\n\t\t\t\t\t\t\t\texpiryDate: getAgeExpiryDate(instanceInfo),\n\t\t\t\t\t\t\t\tmaxExpiryDays: instanceInfo?.policy?.max_expiry_days\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<now-alert\n\t\t\t\t\t\t\t\t\tclassName=\"dps-reclaim-alert\"\n\t\t\t\t\t\t\t\t\tstatus={alertProps.status}\n\t\t\t\t\t\t\t\t\ticon={alertProps.icon}\n\t\t\t\t\t\t\t\t\theader={copy.header}\n\t\t\t\t\t\t\t\t\tcontent={{ type: 'string', value: copy.content }}\n\t\t\t\t\t\t\t\t\taction={{\n\t\t\t\t\t\t\t\t\t\ttype: 'acknowledge',\n\t\t\t\t\t\t\t\t\t\tlabel: 'ok',\n\t\t\t\t\t\t\t\t\t\talertId: ALERTS.NINETY_DAY_RECLAIM_ALERT_ID\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tcomponentName={ALERTS.NINETY_DAY_RECLAIM_ALERT_ID}\n\t\t\t\t\t\t\t\t\tauto-dismiss-config={{}}\n\t\t\t\t\t\t\t\t></now-alert>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})()}\n\t\t\t\t\t{showSetupCompleteAlert &&\n\t\t\t\t\t\t!currentAlertId &&\n\t\t\t\t\t\t(() => {\n\t\t\t\t\t\t\tconst alertProps = ALERTS_CONTENT({\n\t\t\t\t\t\t\t\talertId: ALERTS.INSTANCE_SETUP_COMPLETE,\n\t\t\t\t\t\t\t\tuserInfo,\n\t\t\t\t\t\t\t\treleaseInfo,\n\t\t\t\t\t\t\t\tsystemProperties\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tconst setupRelease = instanceInfo?.release?.toLowerCase();\n\t\t\t\t\t\t\tconst setupReleaseDisplay = releaseInfo?.activeVersionsFormatted?.[setupRelease] || '';\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<now-alert\n\t\t\t\t\t\t\t\t\tstatus={alertProps.status}\n\t\t\t\t\t\t\t\t\ticon={alertProps.icon}\n\t\t\t\t\t\t\t\t\theader={alertProps.header || ''}\n\t\t\t\t\t\t\t\t\tcontent={{\n\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\tvalue: setupReleaseDisplay\n\t\t\t\t\t\t\t\t\t\t\t? `Your ${setupReleaseDisplay} instance is ready to use`\n\t\t\t\t\t\t\t\t\t\t\t: alertProps.content\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\taction={{ type: 'acknowledge', alertId: ALERTS.INSTANCE_SETUP_COMPLETE, label: 'Ok' }}\n\t\t\t\t\t\t\t\t\tcomponentName={ALERTS.INSTANCE_SETUP_COMPLETE}\n\t\t\t\t\t\t\t\t\tauto-dismiss-config={{ enableAutoDismiss: true, duration: 15000, hideProgressBar: true }}\n\t\t\t\t\t\t\t\t></now-alert>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})()}\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-home-title\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{headerTitles.title1}\n\t\t\t\t\t\t<span>{headerTitles.title2}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"dps-home-title-badges\">\n\t\t\t\t\t\t<div className=\"dps-home-title-badge\">\n\t\t\t\t\t\t\t<now-icon icon=\"workflow-outline\" size=\"sm\"></now-icon>\n\t\t\t\t\t\t\t<span>Built-in governance</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"dps-home-title-badge\">\n\t\t\t\t\t\t\t{noCodeRequiredSvg}\n\t\t\t\t\t\t\t<span>No coding required</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"dps-home-title-badge\">\n\t\t\t\t\t\t\t<now-icon icon=\"book-outline\" size=\"sm\"></now-icon>\n\t\t\t\t\t\t\t<span>Native to ServiceNow Platform</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-home-unauth-apis-libraries-cards\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={`dps-build-agent-input-group${\n\t\t\t\t\t\t\tdiableBuildAgent ? ' disabled' : ''\n\t\t\t\t\t\t}`}\n\t\t\t\t\t\tstyle={isAuthPage && instanceInfo?.state === 'waitlist' ? { opacity: 1 } : {}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<now-textarea\n\t\t\t\t\t\t\tclassName=\"dps-build-agent-textarea\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tplaceholder=\"For example, I want to create...\"\n\t\t\t\t\t\t\tvalue={buildAgentSearchTerm}\n\t\t\t\t\t\t\tmaxlength={1024}\n\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\tisPromptSubmittedInBackground ||\n\t\t\t\t\t\t\t\t(!isAutoAssignRunInBackground && diableBuildAgent && instanceInfo?.state !== 'waitlist') ||\n\t\t\t\t\t\t\t\t(!isAutoAssignRunInBackground && buttonConfig.info && instanceInfo?.state !== 'waitlist') ||\n\t\t\t\t\t\t\t\t(isUpgradeInstanceRequired && isAnyOperationInProgress)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tresize=\"none\"\n\t\t\t\t\t\t\tautoresize={true}\n\t\t\t\t\t\t\tautoresizeRowsLimit={8}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tmarginBlockEnd: 0,\n\t\t\t\t\t\t\t\t'--now-textarea--background-color': '255, 255, 255',\n\t\t\t\t\t\t\t\t'--now-textarea--border-color': '255, 255, 255',\n\t\t\t\t\t\t\t\t'--now-textarea--border-width': '0px',\n\t\t\t\t\t\t\t\t'--now-textarea--background-color--focus': '255, 255, 255',\n\t\t\t\t\t\t\t\t'--now-textarea--background-color--hover': '255, 255, 255',\n\t\t\t\t\t\t\t\t'--now-textarea_inset--color--hover': '255, 255, 255',\n\t\t\t\t\t\t\t\t'--now-textarea_inset--color--focus': '255, 255, 255',\n\t\t\t\t\t\t\t\t'--now-textarea_inset--color': '255, 255, 255',\n\t\t\t\t\t\t\t\t'--now-textarea--border-color--focus': '255, 255, 255',\n\t\t\t\t\t\t\t\t'--now-textarea--border-color--hover': '255, 255, 255',\n\t\t\t\t\t\t\t\t'--now-textarea--color': '0, 0, 0',\n\t\t\t\t\t\t\t\t'--now-font-size--sm': '16px'\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div className=\"dps-build-agent-textarea-footer\">\n\t\t\t\t\t\t\t{isAuthPage && instanceInfo?.state === 'waitlist' && (\n\t\t\t\t\t\t\t\t<div className=\"dps-build-agent-status-info\">\n\t\t\t\t\t\t\t\t\t<now-icon icon=\"clock-outline\" size=\"sm\"></now-icon>\n\t\t\t\t\t\t\t\t\t<span>Waitlisted for instance</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{!(isAuthPage && instanceInfo?.state === 'waitlist') && <now-button\n\t\t\t\t\t\t\t\tclassName=\"dps-build-agent-btn\"\n\t\t\t\t\t\t\t\tvariant={variant}\n\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\t\ticon={buttonConfig.icon}\n\t\t\t\t\t\t\t\tlabel={buttonConfig.label}\n\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\tisPromptSubmittedInBackground ||\n\t\t\t\t\t\t\t\t\t!valueExists ||\n\t\t\t\t\t\t\t\t\t(!isAutoAssignRunInBackground && diableBuildAgent &&\n\t\t\t\t\t\t\t\t\t\tdisplay_state?.toLowerCase() !== 'upgrading instance') ||\n\t\t\t\t\t\t\t\t\t(isUpgradeInstanceRequired && isAnyOperationInProgress)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ttooltip-content={buttonConfig.toolTip}\n\t\t\t\t\t\t\t\ton-click={event => {\n\t\t\t\t\t\t\t\t\tif (!isAutoAssignRunInBackground && buttonConfig.info && buttonConfig.border === '0') {\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (isAutoAssignRunInBackground && valueExists && !isPromptInProgress) {\n\t\t\t\t\t\t\t\t\t\tupdateState({ isPromptSubmittedInBackground: true });\n\t\t\t\t\t\t\t\t\t\tsessionStorage.setItem('dev.homepage.auth.ba.prompt', buildAgentSearchTerm);\n\t\t\t\t\t\t\t\t\t\tif (instanceInfo?.isWakingInstance?.()) {\n\t\t\t\t\t\t\t\t\t\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.OPEN_BA_WAKEUP_MODAL, {\n\t\t\t\t\t\t\t\t\t\t\t\tshowTips: true,\n\t\t\t\t\t\t\t\t\t\t\t\tisBuildAgentExperience: true\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.OPEN_BA_AUTO_ASSIGN_MODAL, {\n\t\t\t\t\t\t\t\t\t\t\t\tshowTips: true,\n\t\t\t\t\t\t\t\t\t\t\t\tisBuildAgentExperience: true\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (valueExists && !isPromptInProgress) {\n\t\t\t\t\t\t\t\t\t\tif (!isAuthPage) {\n\t\t\t\t\t\t\t\t\t\t\tsessionStorage.setItem(\n\t\t\t\t\t\t\t\t\t\t\t\t'dev.homepage.unauth.prompt',\n\t\t\t\t\t\t\t\t\t\t\t\tbuildAgentSearchTerm\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\tif (useSignupRedirection) {\n\t\t\t\t\t\t\t\t\t\t\t\twindow.open(registerUrl, '_self');\n\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\tdispatch(APP_ACTIONS.LOGIN_CLICKED);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t} else if (isAuthPage) {\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t!isInstanceRequestInProgress &&\n\t\t\t\t\t\t\t\t\t\t\t\t!isInstanceFulfillingRequest &&\n\t\t\t\t\t\t\t\t\t\t\t\tdisplay_state?.toLowerCase() !== 'upgrading instance'\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\tif (canRequestInstance) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tupdateState({ isPromptPersisted: true });\n\t\t\t\t\t\t\t\t\t\t\t\t\tsessionStorage.setItem('dev.homepage.auth.ba.prompt', buildAgentSearchTerm);\n\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tDPS_INSTANCE_ASSIGNMENT_MODAL\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.OPEN_BA_AUTO_ASSIGN_MODAL\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t} else if (instanceInfo?.state != 'waitlist') {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (hasInstance) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisUpgradeInstanceRequired &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tupgradeInstanceRelease\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tupgradeInstanceRelease(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tFOOTER_ACTIONS.TWO_FOOTER_ACTIONS\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t} else if (instanceInfo?.isWakingInstance?.()) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tupdateState({ isPromptPersisted: true });\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsessionStorage.removeItem('dev.homepage.auth.ba.wakeup.cancelled');\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsessionStorage.setItem('dev.homepage.auth.ba.prompt', buildAgentSearchTerm);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDPS_INSTANCE_ASSIGNMENT_MODAL\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.OPEN_BA_WAKEUP_MODAL\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t} else if (instanceExists) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlaunchMagicLinkWithPrompt(state, coeffects);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t'--now-button--secondary--border-color': '#C3C3C3',\n\t\t\t\t\t\t\t\t\t'--now-button--secondary--border-radius': '8px',\n\t\t\t\t\t\t\t\t\t'--now-button--opacity--disabled': 1,\n\t\t\t\t\t\t\t\t\t'--now-button--border-radius': '8px',\n\t\t\t\t\t\t\t\t\t'--now-button--border-start-start-radius': '8px',\n\t\t\t\t\t\t\t\t\t'--now-actionable--border-radius': '8px',\n\t\t\t\t\t\t\t\t\t'--now-button--tertiary--border-width': `${buttonConfig.border ||\n\t\t\t\t\t\t\t\t\t\t1}px`,\n\t\t\t\t\t\t\t\t\t'--now-button--font-family': 'ServiceNowSans-Book',\n\t\t\t\t\t\t\t\t\t'--now-button--font-weight': 450,\n\t\t\t\t\t\t\t\t\t[`--now-button--${variant}--border-end-end-radius`]: '8px',\n\t\t\t\t\t\t\t\t\t[`--now-button--${variant}--border-end-start-radius`]: '8px',\n\t\t\t\t\t\t\t\t\t[`--now-button--${variant}--border-radius`]: '8px',\n\t\t\t\t\t\t\t\t\t[`--now-button--${variant}--border-start-end-radius`]: '8px',\n\t\t\t\t\t\t\t\t\t[`--now-button--${variant}--border-start-start-radius`]: '8px',\n\t\t\t\t\t\t\t\t\t...(!buttonConfig.border ||\n\t\t\t\t\t\t\t\t\t\t(buttonConfig.border === '0' && {\n\t\t\t\t\t\t\t\t\t\t\t'--now-color_focus-ring': `0 0 0 0`\n\t\t\t\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t\t\t\t...(!!buttonConfig.color\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t[`--now-button--${variant}--color`]: buttonConfig.color,\n\t\t\t\t\t\t\t\t\t\t\t\t[`--now-button--${variant}--color--hover`]: buttonConfig.color,\n\t\t\t\t\t\t\t\t\t\t\t\t[`--now-button--${variant}--color--active`]: buttonConfig.color,\n\t\t\t\t\t\t\t\t\t\t\t\t[`--now-button_icon--${variant}--color`]: buttonConfig.color,\n\t\t\t\t\t\t\t\t\t\t\t\t[`--now-button_icon--${variant}--color--hover`]: buttonConfig.color,\n\t\t\t\t\t\t\t\t\t\t\t\t[`--now-button_icon--${variant}--color--active`]: buttonConfig.color\n\t\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t\t: {})\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t{/* {\n\t\t\t\t\t\tisUpgradeInstanceRequired && <div className='upgrade-instance-message'>\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t<now-icon icon=\"circle-info-fill\" size=\"sm\"></now-icon>\n\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\tYour current plan doesn’t support IDE instances.{' '}\n\t\t\t\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\tdiableBuildAgent ||\n\t\t\t\t\t\t\t\t\t\t\t(isUpgradeInstanceRequired && isAnyOperationInProgress)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ton-click={eve => {\n\t\t\t\t\t\t\t\t\t\t\teve.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t!diableBuildAgent &&\n\t\t\t\t\t\t\t\t\t\t\t\t!(\n\t\t\t\t\t\t\t\t\t\t\t\t\tisUpgradeInstanceRequired && isAnyOperationInProgress\n\t\t\t\t\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\t\t\t\t\tupgradeInstanceRelease(\n\t\t\t\t\t\t\t\t\t\t\t\t\tFOOTER_ACTIONS.TWO_FOOTER_ACTIONS\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tUpgrade to {titleCase(releaseRequiredForBuildAgent)} for\n\t\t\t\t\t\t\t\t\t\taccess now.\n\t\t\t\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t} */}\n\t\t\t\t\t{suggestedPromptList && suggestedPromptList.length > 0 && (\n\t\t\t\t\t\t<div className=\"suggested-prompt-container\">\n\t\t\t\t\t\t\t<div className=\"suggested-prompt-label\">\n\t\t\t\t\t\t\t\tor jump in with a suggested prompt:\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"suggested-prompt-list\">\n\t\t\t\t\t\t\t\t{suggestedPromptList?.map((item, index) => (\n\t\t\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\t\t\t\tclassName=\"suggested-prompt suggested-prompt-button\"\n\t\t\t\t\t\t\t\t\t\tvariant={'tertiary'}\n\t\t\t\t\t\t\t\t\t\ticon={getIconForPrompt()}\n\t\t\t\t\t\t\t\t\t\tlabel={item.label}\n\t\t\t\t\t\t\t\t\t\ttooltip-content={''}\n\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\tisPromptSubmittedInBackground ||\n\t\t\t\t\t\t\t\t\t\t\t(!isAutoAssignRunInBackground && diableBuildAgent && instanceInfo?.state !== 'waitlist') ||\n\t\t\t\t\t\t\t\t\t\t\t(isUpgradeInstanceRequired && isAnyOperationInProgress) ||\n\t\t\t\t\t\t\t\t\t\t\t(!isAutoAssignRunInBackground && isInstanceFulfillingRequest)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\t\t\t\tupdateState({ buildAgentSearchTerm: item.value });\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\thook={{\n\t\t\t\t\t\t\t\t\t\t\tinit: onHooksChanges,\n\t\t\t\t\t\t\t\t\t\t\tupdate: onHooksChanges,\n\t\t\t\t\t\t\t\t\t\t\tinsert: onHooksChanges\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tref={element => {\n\t\t\t\t\t\t\t\t\t\t\tsetTimeout(() => onHooksChanges({ elm: element }));\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{/* {instanceWarning.message?.length > 0 && <div className='waking-instance'><now-icon\n\t\t\t\t\t\tclass=\"dps-sidebar-icon\"\n\t\t\t\t\t\ticon=\"triangle-exclamation-fill\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t/><div>{instanceWarning.message}</div></div>} */}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div className=\"sparkle sparkle-right\" />\n\t\t\t{/* App Gallery Section */}\n\t\t\t<div className=\"app-gallery-section\">\n\t\t\t\t<div className=\"app-gallery-content\">\n\t\t\t\t\t<div className=\"app-gallery-text\">\n\t\t\t\t\t\t<h2 className=\"app-gallery-title\">Try detailed, ready-to-use app patterns</h2>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"app-gallery-button-container\">\n\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\tclassName=\"secondary-btn-white-bg app-gallery-cta\"\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tlabel=\"View app gallery\"\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\tconst appGalleryUrl =\n\t\t\t\t\t\t\t\t\tsystemProperties['dev.appgallery.url'] ||\n\t\t\t\t\t\t\t\t\t'https://applibrary.service-now.com/app_gallery?id=app_gallery&sortby=ascending&tab=all/';\n\t\t\t\t\t\t\t\twindow.open(appGalleryUrl, '_blank');\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nconst handlePreviousSessionValue = ({ properties, updateState }) => {\n\tconst { isAuthPage } = properties;\n\tconst queryParams = window.location.search;\n\tconst urlParams = new URLSearchParams(queryParams);\n\tconst promptValue = urlParams.get('prompt');\n\tif (!!promptValue) {\n\t\tupdateState({ buildAgentSearchTerm: promptValue });\n\t\tif (!isAuthPage) {\n\t\t\tsessionStorage.setItem('dev.homepage.unauth.prompt', promptValue);\n\t\t}\n\t\tconst url = new URL(window.location.href);\n\t\turl.search = '';\n\t\twindow.history.pushState({}, '', url.toString());\n\t} else {\n\t\tconst previousWindowVal = sessionStorage.getItem(\n\t\t\t'dev.homepage.unauth.prompt'\n\t\t);\n\t\tif (isAuthPage && previousWindowVal) {\n\t\t\tupdateState({\n\t\t\t\tbuildAgentSearchTerm: previousWindowVal,\n\t\t\t\tisPromptPersisted: true\n\t\t\t});\n\t\t\tsessionStorage.removeItem('dev.homepage.unauth.prompt');\n\t\t}\n\t}\n};\n\nconst handleInstanceReadyAlertDismiss = ({ action, updateState, properties }) => {\n\tconst alertId =\n\t\taction.payload?.action?.alertId || action.meta?.componentName || '';\n\tconst instanceId = properties?.instanceInfo?.sys_id || '';\n\tif (alertId === ALERTS.INSTANCE_READY) {\n\t\tupdateState({ showInstanceReadyAlert: false });\n\t} else if (alertId === ALERTS.INACTIVITY_RECLAIM_ALERT_ID) {\n\t\tDevPlatformStorage.saveToSessionStorage(`dismissedAlert_${alertId}_${instanceId}`, true);\n\t\tupdateState({ dismissedInactivityReclaimAlert: true });\n\t} else if (alertId === ALERTS.NINETY_DAY_RECLAIM_ALERT_ID) {\n\t\tDevPlatformStorage.saveToSessionStorage(`dismissedAlert_${alertId}_${instanceId}`, true);\n\t\tupdateState({ dismissed90DayReclaimAlert: true });\n\t}\n\tif (alertId === ALERTS.INSTANCE_SETUP_COMPLETE) {\n\t\tupdateState({ showSetupCompleteAlert: false });\n\t}\n};\n\nconst handlePreviousSessionValueWhenOnline = coeffects => {\n\tconst { properties, state, action, updateState, dispatch } = coeffects;\n\tconst { isAuthPage, instanceInfo, userInfo } = properties;\n\tconst instanceExists = !!instanceInfo?.sys_id;\n\tconst { isBlockedUser, pdi_user_role } = userInfo || {};\n\n\t// const propName = action?.payload?.name;\n\t// if (propName === \"instanceInfo\" || propName === \"instanceStatus\") {\n\tif (isAuthPage) {\n\t\tif (instanceExists && instanceInfo?.isOnline()) {\n\t\t\tif (pdi_user_role === 'admin' && !isBlockedUser) {\n\t\t\t\tif (\n\t\t\t\t\tinstanceInfo?.installedApps?.['BAF']?.toLowerCase() === 'installed' &&\n\t\t\t\t\tstate.isPromptPersisted\n\t\t\t\t) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tsessionStorage.getItem('dev.homepage.auth.prompt.launched') !== '1' &&\n\t\t\t\t\t\tsessionStorage.getItem('dev.homepage.auth.ba.wakeup.cancelled') !== '1'\n\t\t\t\t\t) {\n\t\t\t\t\t\tlaunchMagicLinkWithPrompt(state, coeffects, true);\n\t\t\t\t\t\tsessionStorage.setItem('dev.homepage.auth.prompt.launched', '1');\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (state.isPromptPersisted)\n\t\t\t\t\t\tupdateState({ isPromptPersisted: false });\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (state.isPromptPersisted) updateState({ isPromptPersisted: false });\n\t\t\t}\n\t\t} else if (\n\t\t\t!instanceExists &&\n\t\t\tstate.isPromptPersisted &&\n\t\t\t!isBlockedUser &&\n\t\t\tinstanceInfo &&\n\t\t\tshowRequestInstance(instanceInfo)\n\t\t) {\n\t\t\tif (\n\t\t\t\tsessionStorage.getItem('dev.homepage.auth.ba.assign.dispatched') !== '1'\n\t\t\t) {\n\t\t\t\tsessionStorage.setItem('dev.homepage.auth.ba.prompt', state.buildAgentSearchTerm);\n\t\t\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.OPEN_BA_AUTO_ASSIGN_MODAL);\n\t\t\t\tsessionStorage.setItem('dev.homepage.auth.ba.assign.dispatched', '1');\n\t\t\t}\n\t\t} else if (\n\t\t\tinstanceExists &&\n\t\t\tstate.isPromptPersisted &&\n\t\t\t!isBlockedUser &&\n\t\t\tinstanceInfo?.isWakingInstance?.()\n\t\t) {\n\t\t\tif (\n\t\t\t\tsessionStorage.getItem('dev.homepage.auth.ba.wakeup.dispatched') !== '1'\n\t\t\t) {\n\t\t\t\tsessionStorage.setItem('dev.homepage.auth.ba.prompt', state.buildAgentSearchTerm);\n\t\t\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.OPEN_BA_WAKEUP_MODAL);\n\t\t\t\tsessionStorage.setItem('dev.homepage.auth.ba.wakeup.dispatched', '1');\n\t\t\t}\n\t\t} else {\n\t\t\tif (state.isPromptPersisted) {\n\t\t\t\tupdateState({ isPromptPersisted: false });\n\t\t\t}\n\t\t}\n\t}\n\t//}\n};\n\nexport default createCustomElement('dps-card-build-agent', {\n\trenderer: { type: snabbdom, view },\n\tproperties: {\n\t\tdismissedAlert: { default: {} },\n\t\tsystemProperties: { default: {} },\n\t\tisAuthPage: { default: false },\n\t\trelease: { default: null },\n\t\tregisterUrl: { default: null },\n\t\tinstanceInfo: { default: null },\n\t\tcatItemInProgress: { default: null },\n\t\tuserInfo: { default: null },\n\t\treleaseInfo: { default: null },\n\t\tupgradeInstanceRelease: { default: null },\n\t\tsuggestedPrompts: { default: [] },\n\t\tisInstanceFulfillingRequest: {\n\t\t\tcomputed(coeffects) {\n\t\t\t\tconst { instanceInfo } = coeffects.properties;\n\t\t\t\tif (\n\t\t\t\t\tinstanceInfo?.instanceStatus &&\n\t\t\t\t\t!userHasInstance(instanceInfo?.state)\n\t\t\t\t) {\n\t\t\t\t\tlet { display_state } = instanceInfo.instanceStatus;\n\t\t\t\t\tif (\n\t\t\t\t\t\tdisplay_state?.toLowerCase() ==\n\t\t\t\t\t\tINSTANCE_ACTION_STATES.FULFILLING_REQUEST.toLowerCase()\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\t// kept this only to get the latest instance updates to be sent here in auth page\n\t\tinstanceStatus: {\n\t\t\tdefault: null\n\t\t},\n\t\tpdiUserRole: {\n\t\t\tdefault: ''\n\t\t},\n\t\tisAutoAssignRunInBackground: {\n\t\t\tdefault: false\n\t\t},\n\t\thideOfflineAlert: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tinitialState: {\n\t\tisPromptInProgress: false,\n\t\tbuildAgentSearchTerm: '',\n\t\tisPromptPersisted: false,\n\t\tshowInstanceReadyAlert: false,\n\t\tdismissedInactivityReclaimAlert: false,\n\t\tdismissed90DayReclaimAlert: false,\n\t\tshowSetupCompleteAlert: false,\n\t\tisPromptSubmittedInBackground: false\n\t},\n\tactionHandlers: {\n\t\t['NOW_ALERT#TEXT_LINK_CLICKED']: ({ action, dispatch }) => {\n\t\t\tconst alertId =\n\t\t\t\taction.payload?.action?.alertId || action.meta?.componentName || '';\n\t\t\t// Handle Upgrade instance link click\n\t\t\tif (alertId === ALERTS.BUILD_AGENT_UPGRADE_REQUIRED) {\n\t\t\t\tdispatch('DPS_HOME_AUTH_QUEBEC_ACTIONS#UPGRADE_INSTANCE', {\n\t\t\t\t\tval: FOOTER_ACTIONS.TWO_FOOTER_ACTIONS\n\t\t\t\t});\n\t\t\t}\n\t\t\t// Handle Change role link click\n\t\t\tif (alertId === ALERTS.BUILD_AGENT_NOT_ADMIN) {\n\t\t\t\tdispatch('DPS_HOME_AUTH_QUEBEC_ACTIONS#OPEN_CHANGE_USER_ROLE_MODAL');\n\t\t\t}\n\t\t},\n\t\t['NOW_TEXTAREA#INPUT']: ({ action, properties, updateState }) => {\n\t\t\tupdateState({\n\t\t\t\tbuildAgentSearchTerm: action.payload?.fieldValue,\n\t\t\t\tisPromptPersisted: false\n\t\t\t});\n\t\t},\n\t\t[APP_ACTIONS.BA_WAKEUP_PROMPT_CANCELLED]: ({ updateState }) => {\n\t\t\tupdateState({ isPromptPersisted: false });\n\t\t\tsessionStorage.removeItem('dev.homepage.auth.ba.wakeup.dispatched');\n\t\t\tsessionStorage.removeItem('dev.homepage.auth.prompt.launched');\n\t\t},\n\t\t// Handle Instance Ready alert dismissal (manual dismiss or auto-dismiss)\n\t\t['NOW_ALERT#ACTION_CLICKED']: handleInstanceReadyAlertDismiss,\n\t\t['NOW_ALERT#AUTO_DISMISS']: handleInstanceReadyAlertDismiss,\n\t\t[actionTypes.COMPONENT_CONNECTED]: handlePreviousSessionValue,\n\t\t[actionTypes.COMPONENT_DOM_READY]: handlePreviousSessionValue,\n\t\t[actionTypes.COMPONENT_RENDERED]: handlePreviousSessionValueWhenOnline,\n\t\t[actionTypes.COMPONENT_PROPERTY_CHANGED]: ({\n\t\t\taction,\n\t\t\tupdateState,\n\t\t\tstate,\n\t\t\tproperties\n\t\t}) => {\n\t\t\tconst { name, value, previousValue } = action.payload;\n\t\t\t// Detect instance transition from waking to online - show instance ready alert\n\t\t\tif (name === 'instanceInfo' || name === 'instanceStatus') {\n\t\t\t\tconst currentDisplayState = value?.instanceStatus?.display_state;\n\t\t\t\tconst previousDisplayState =\n\t\t\t\t\tpreviousValue?.instanceStatus?.display_state;\n\t\t\t\tif (\n\t\t\t\t\tcurrentDisplayState === INSTANCE_ACTION_STATES.ONLINE &&\n\t\t\t\t\tpreviousDisplayState ===\n\t\t\t\t\t\tINSTANCE_ACTION_STATES.WAKING_INSTANCE_IN_PROGRESS\n\t\t\t\t) {\n\t\t\t\t\tupdateState({ showInstanceReadyAlert: true });\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Re-enable the prompt box only once the carried request has actually\n\t\t\t// concluded (success/waitlist/failure) - isAutoAssignRunInBackground flips\n\t\t\t// false as soon as the modal is reopened to foreground, well before the\n\t\t\t// request resolves, so that alone can't be trusted to clear this flag.\n\t\t\t// (isRequestingInstance only exists on the full instanceInfo proxy, so this\n\t\t\t// is scoped to that property specifically, not the instanceStatus sub-object.)\n\t\t\tif (name === 'instanceInfo') {\n\t\t\t\tconst wasRequesting = previousValue?.isRequestingInstance?.();\n\t\t\t\tconst isRequesting = value?.isRequestingInstance?.();\n\t\t\t\tif (wasRequesting && !isRequesting && state.isPromptSubmittedInBackground) {\n\t\t\t\t\tupdateState({ isPromptSubmittedInBackground: false });\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Clear submitted-in-background flag once setup/wakeup completes,\n\t\t\t// but only if the request isn't still genuinely in flight in the foreground.\n\t\t\tif (name === 'isAutoAssignRunInBackground' && !value && previousValue) {\n\t\t\t\tconst stillRequesting = properties?.instanceInfo?.isRequestingInstance?.();\n\t\t\t\tif (!stillRequesting) {\n\t\t\t\t\tupdateState({ isPromptSubmittedInBackground: false });\n\t\t\t\t\tif (properties?.instanceInfo?.isOnline?.()) {\n\t\t\t\t\t\tupdateState({ showSetupCompleteAlert: true });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tstyles\n});","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-button';\n\nimport styles from './dps-promo-banner.scss';\n\nconst view = state => {\n\tconst { properties: { systemProperties } } = state;\n\tconst promoBannerProp = systemProperties && systemProperties['dev.home.promo_banner'];\n\tif (!promoBannerProp) {\n\t\treturn null;\n\t}\n\n\tlet bannerConfig;\n\ttry {\n\t\tbannerConfig = JSON.parse(promoBannerProp);\n\t} catch (e) {\n\t\treturn null;\n\t}\n\n\tif (!bannerConfig.enabled || bannerConfig.enabled !== 'true') {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className=\"dps-home-promo-banner\">\n\t\t\t<div className=\"dps-home-promo-banner-content\">\n\t\t\t\t<span className=\"dps-home-promo-banner-title\">{bannerConfig.title}</span>\n\t\t\t\t<now-button\n\t\t\t\t\tlabel={bannerConfig.buttonLabel || 'Watch now'}\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\ticon=\"open-link-right-outline\"\n\t\t\t\t\tclassName=\"dps-home-promo-banner-btn\"\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\twindow.open(bannerConfig.targetLink, '_blank');\n\t\t\t\t\t}}\n\t\t\t\t></now-button>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-promo-banner', {\n\trenderer: { type: snabbdom, view },\n\tproperties: {\n\t\tsystemProperties: { default: {} }\n\t},\n\tstyles\n});\n","export const devProgramListItems = [\n\t{\n\t\ttitle: 'ServiceNow University',\n\t\tlinkText: 'Explore ServiceNow University',\n\t\thref: 'https://learning.servicenow.com/lxp/en/app-engine/application-developer-skills?id=learning_path_prev&path_id=2a580f4447e96110ac2f89c2e36d4321',\n\t\tdescription: 'Explore product areas, build skills, and follow structured technical paths.',\n\t\ttarget: '_blank',\n\t\timage: 'dev.home.unauth.dprogram.image1.png'\n\t},\n\t{\n\t\ttitle: 'Developer Guides',\n\t\tlinkText: 'Explore Developer Guides',\n\t\thref: '#!/guides',\n\t\tdescription: 'Introduce yourself to the benefits of building on the Now Platform',\n\t\ttarget: '_self',\n\t\timage: 'dev.home.unauth.dprogram.image2.png'\n\t},\n\t{\n\t\ttitle: 'Developer Learning',\n\t\tlinkText: 'Explore Developer Learning',\n\t\thref: '#!/learn',\n\t\tdescription: 'Our learning plans and courses teach you how to build apps that tackle your enterprise’s business needs.',\n\t\ttarget: '_self',\n\t\timage: 'dev.home.unauth.dprogram.image3.png'\n\t},\n\t{\n\t\ttitle: 'ServiceNow YouTube',\n\t\tlinkText: 'Watch Developer YouTube',\n\t\thref:\n\t\t\t'https://www.youtube.com/@ServiceNowDevProgram',\n\t\texternal: true,\n\t\tdescription: 'Watch live coding sessions, platform walkthroughs, and technical deep dives',\n\t\ttarget: '_blank',\n\t\timage: 'dev.home.unauth.dprogram.image4.png'\n\t}\n];\n\nexport const renderDevProgramListItem = (\n\t{ title = '', description = '', image = null, href = null, external = false },\n\tdispatch,\n\trelease\n) => (\n\t<li>\n\t\t<a\n\t\t\tclassName=\"dps-link\"\n\t\t\thref={href.replace('/{release}/', `/${release}/`)}\n\t\t\ttarget={external ? '_blank' : null}\n\t\t\ton-click={() => {\n\t\t\t\t//Tracking the create account button\n\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\taction: `click on dev program list - ${title}`,\n\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\tlabel: 'why join our developer program?',\n\t\t\t\t\tvalue: '',\n\t\t\t\t\tga: true,\n\t\t\t\t\tadobe: false\n\t\t\t\t});\n\t\t\t}}\n\t\t>\n\t\t\t<img src={image} />\n\t\t\t<div>\n\t\t\t\t<h3>{title}</h3>\n\t\t\t\t<span>{description}</span>\n\t\t\t</div>\n\t\t</a>\n\t</li>\n);\n","export const learningPlans = [\n\t{\n\t\ttitle: 'ServiceNow University',\n\t\tdescription: 'Explore product areas, build skills, and follow structured technical paths.',\n\t\tbuttonLabel: 'Explore ServiceNow University',\n\t\thref: 'https://learning.servicenow.com/lxp/en/pages/servicenow',\n\t\tid: \"university\"\n\t},\n\t{\n\t\ttitle: 'ServiceNow Developer Community',\n\t\tdescription: 'Connect with others, join discussions, and follow updates from the ServiceNow developer advocates and Community experts.',\n\t\tbuttonLabel: 'Explore Developer Resources',\n\t\thref: ' https://www.servicenow.com/community/',\n\t},\n\t{\n\t\ttitle: 'ServiceNow Developer YouTube',\n\t\tdescription: 'Watch live coding sessions, platform walkthroughs, and technical deep dives hosted by our ServiceNow Developer Advocates.',\n\t\tbuttonLabel: 'Watch Developer Youtube',\n\t\thref: 'https://devlink.sn/DevSiteYouTube',\n\t}\n];","export const buildAndDeployCards = [\n\t{\n\t\ttitle: 'ServiceNow Studio',\n\t\timage: 'dev.home.unauth.section.builddeploy.card1.png',\n\t\tdescription: 'Access all the tools you need in one unified, intuitive development enviornment.',\n\t\tbuttonText: 'Explore ServiceNow Studio',\n\t\thref: 'https://www.servicenow.com/products/studio.html',\n\t},\n\t{\n\t\ttitle: 'IDE: Develop apps as code',\n\t\timage: 'dev.home.unauth.section.builddeploy.card2.png',\n\t\tdescription: 'Create and develop scoped applications in source code in an integrated development environment',\n\t\tbuttonText: 'Explore Apps as Code',\n\t\thref: 'https://www.servicenow.com/docs/bundle/zurich-application-development/page/build/servicenow-ide/concept/servicenow-ide-landing.html',\n\t},\n\t{\n\t\ttitle: 'Creator Studio: Create request-based apps quickly',\n\t\timage: 'dev.home.unauth.section.builddeploy.card3.png',\n\t\tdescription: 'A guided and curated environment for creating forms and assigning automations to them. No-code required.',\n\t\tbuttonText: 'Explore Request-based Apps',\n\t\thref: 'https://www.servicenow.com/products/creator-studio.html',\n\t}\n];","import { createPath } from '../../utils/url';\nimport '../../components/dps-button';\nimport '../../components/dps-link';\nimport '../../components/dps-card';\nimport '../../components/dps-card-container';\nimport '../../components/dps-spinner';\nimport '../dps-ad-cards-connected';\nimport '../dps-card-build-and-deploy';\nimport '../dps-card-apis-and-libraries';\nimport '../dps-news-and-events-carousel';\nimport '../dps-card-build-agent';\nimport '../dps-promo-banner';\n\nimport { getShadowRootElement } from '../../utils/helpers';\n\nimport bookIcon from '../../images/icons/book.svg';\n\n// Header Images\nimport apisAndLibraries from '../../images/home-page-unauth-illustration-api-libraries.jpg';\nimport connectPeople from '../../images/home-page-unauth-connect-people.svg';\n\n// Build Image\nimport buildImage from '../../images/home-page-unauth-build.svg';\n\n// Trending Discussions Images\nimport chatIcon from '../../images/home-page-unauth-chat-icon.svg';\nimport trendingCommunityIcon from '../../images/home-page-unauth-trending-community.svg';\n\n// Dev Program List Items were a bit wordy and complex, they live here now:\nimport { renderDevProgramListItem, devProgramListItems } from './dev-program-list-items';\n\n// Learning Plans\nimport { learningPlans } from './learning-plans-cards';\nimport { buildAndDeployCards } from './build-and-deploy-cards';\n\nimport { earlDuqueProfileIcon, kristyMerriamProfileIcon, laurenmcmanamonProfileIcon } from '../../communityDiscussions';\nimport { CONSTANTS, HOMEPAGE_LABELS } from '../../constants';\n\nconst imageMap = {\n\tearlDuqueProfileIcon,\n\tkristyMerriamProfileIcon,\n\tlaurenmcmanamonProfileIcon\n};\n\nconst headerVideoYouTubeId = 'bzY6_c2tRQw';\n\nconst captureYoutubeVideoEvents = dispatch => {\n\tconst elem = getShadowRootElement(['dps-app', 'dps-home-unauth', 'iframe#service-now-developer-program']);\n\tconst player = new YT.Player(elem, {\n\t\tevents: {\n\t\t\tonStateChange: function onPlayerStateChange() {\n\t\t\t\tif (player.playerInfo.playerState === YT.PlayerState.PLAYING) {\n\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\taction: 'User played developer program youTube video',\n\t\t\t\t\t\tcategory: 'Unauthenticated home page - program video',\n\t\t\t\t\t\tlabel: 'why join our developer program?',\n\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\tga: true,\n\t\t\t\t\t\tadobe: false\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (player.playerInfo.playerState === YT.PlayerState.ENDED) {\n\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\taction: 'User watched developer program youTube video',\n\t\t\t\t\t\tcategory: 'Unauthenticated home page - program video',\n\t\t\t\t\t\tlabel: 'why join our developer program?',\n\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\tga: true,\n\t\t\t\t\t\tadobe: false\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n};\n\nconst _renderBuildAndDeployCard = ({ title, image, description, buttonText, href }, ind) => (\n\t<dps-card-build-and-deploy\n\t\timage={image}\n\t\ttitle={title}\n\t\tdescription={description}\n\t\tbuttonText={buttonText}\n\t\tlink={href}\n\t\tindex={ind}\n\t></dps-card-build-and-deploy>\n);\n\nconst view = ({ properties: { release, commonData, loading, projects, discussions, registerUrl, projectCount, systemProperties }, }, dispatch) => (\n\t<div className=\"dps-home-unauth\">\n\t\t<dps-promo-banner systemProperties={systemProperties}></dps-promo-banner>\n\t\t<div className='dps-home-unauth-hedder-warapper-hero'>\n\t\t\t<dps-card-build-agent\n\t\t\t\trelease={release}\n\t\t\t\tisAuthPage={false}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tregisterUrl={registerUrl}\n\t\t\t\tsuggestedPrompts={commonData?.[CONSTANTS.COMMON_DATA_KEYS.SUGGESTED_PROMPTS]}\n\t\t\t></dps-card-build-agent>\n\t\t</div>\n\t\t<div className=\"dps-home-unauth-events\">\n\t\t\t<div className=\"dps-home-unauth-event-title\">\n\t\t\t\t<h2>News and Events</h2>\n\t\t\t</div>\n\t\t\t<dps-news-and-events-carousel></dps-news-and-events-carousel>\n\t\t</div>\n\t\t<div className=\"dps-home-unauth-build-deploy\">\n\t\t\t<div className=\"dps-home-unauth-build-deploy-title\">\n\t\t\t\t<h2>Build smarter, deploy faster</h2>\n\t\t\t\t<p>\n\t\t\t\t\tTransform your development workflow with intelligent tools that understand your intent and deliver results faster than ever before\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t\t<div className='dps-home-unauth-build-deploy-cards'>\n\t\t\t\t{buildAndDeployCards.map((card, ind) => _renderBuildAndDeployCard(card, ind))}\n\t\t\t</div>\n\n\t\t</div>\n\t\t<div className='dps-ai-add-block'>\n\t\t\t<div className='dps-content-block'>\n\t\t\t\t<h2>AI-POWERED DEVELOPMENT</h2>\n\t\t\t\t<h3>Now Assist for Creator <br /> Unlocking Efficiency with Generative AI</h3>\n\t\t\t\t<p>Supercharge your ideas with your personal developer instance + Now Assist for <br className=\"dps-description\" /> Creator. Build apps, generate code, automate workflows, test faster — all by simply <br className=\"dps-description\" /> describing what you need.</p>\n\t\t\t\t<div>\n\t\t\t\t\t<now-button\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tvar aiPoweredNavigation = systemProperties['dev.home.unauth.aipowered.learnmorebutton'];\n\t\t\t\t\t\t\tif (aiPoweredNavigation) {\n\t\t\t\t\t\t\t\taiPoweredNavigation = JSON.parse(aiPoweredNavigation);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\twindow.open(aiPoweredNavigation.href, aiPoweredNavigation.target);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tlabel={HOMEPAGE_LABELS.LEARN_MORE}\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tclassName=\"secondary-btn-white-bg\"\n\t\t\t\t\t></now-button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div className='dps-image-block'>\n\t\t\t\t<img src=\"dev.home.unauth.aipowered.png\" alt=\"AI-Powered Development\" />\n\t\t\t</div>\n\t\t</div>\n\t\t<div id=\"dps-home-unauth-dev-program\">\n\t\t\t<header className=\"leader-text\">\n\t\t\t\t<h2>\n\t\t\t\t\tBegin your ServiceNow Development Journey <br></br> Everything you need to build, test, and grow your skills\n\t\t\t\t</h2>\n\t\t\t\t<p>\n\t\t\t\t\tGet hands-on with the ServiceNow Platform, explore new tools early, and connect with developers solving real-world problems.\n\t\t\t\t</p>\n\t\t\t</header>\n\t\t\t<div className='card-container'>\n\t\t\t\t{devProgramListItems.map(item => <dps-card-section\n\t\t\t\t\tclassName=\"dps-card\"\n\t\t\t\t\ttitle={item.title}\n\t\t\t\t\tdescription={item.description}\n\t\t\t\t\thref={item.href}\n\t\t\t\t\timage={item.image}\n\t\t\t\t\ttarget={item.target}\n\t\t\t\t\tlinkText={item.linkText}\n\t\t\t\t\tisDevelopmentJourny={true}\n\t\t\t\t/>)}\n\t\t\t</div>\n\t\t</div>\n\t\t<section className='dps-home-unauth-api-container'>\n\t\t\t<dps-card-apis-and-libraries\n\t\t\t\trelease={release}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t>\n\t\t\t</dps-card-apis-and-libraries>\n\t\t</section>\n\t\t<div className=\"dps-home-unauth-connect\">\n\t\t\t<div className=\"dps-home-unauth-connect-image-wrapper left-icon\">\n\t\t\t\t<img src=\"dev.unauth.home.community.section.svg\" />\n\t\t\t</div>\n\t\t\t<header className=\"leader-text\">\n\t\t\t\t<div className=\"inner\">\n\t\t\t\t\t<h2>\n\t\t\t\t\t\tConnect with the ServiceNow <br></br> Developer Community\n\t\t\t\t\t</h2>\n\t\t\t\t\t<p>\n\t\t\t\t\t\tJoin thousands of developers, admins, and architects building the future with ServiceNow.\n\t\t\t\t\t</p>\n\t\t\t\t\t<p>\n\t\t\t\t\t\tShare knowledge, collaborate on projects, and grow together.\n\t\t\t\t\t</p>\n\t\t\t\t\t<now-button\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\twindow.open('https://www.servicenow.com/community/', '_blank');\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tlabel={HOMEPAGE_LABELS.JOIN_SERVICENOW_COMMUNITY}\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tclassName=\"community-button\"\n\t\t\t\t\t></now-button>\n\t\t\t\t</div>\n\t\t\t</header>\n\t\t\t<div className=\"dps-home-unauth-connect-image-wrapper right-icon\">\n\t\t\t\t<img src=\"dev.home.unauth.community.section2.png\" />\n\t\t\t</div>\n\t\t</div>\n\t\t<div className=\"dps-home-unauth-community-updates-share-projects\">\n\t\t\t<div className='dps-home-unauth-community-updates'>\n\t\t\t\t<div className='card-head'>\n\t\t\t\t\t<h2>ServiceNow Community updates</h2>\n\t\t\t\t</div>\n\t\t\t\t{discussions.slice(0, 3).map((entry, ind) => (\n\t\t\t\t\t<div className={`discussions-row row-${ind}`}>\n\t\t\t\t\t\t<img src={entry.db_img}></img>\n\t\t\t\t\t\t<div className='content-wrapper'>\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<h3>{entry.title}</h3>\n\t\t\t\t\t\t\t\t<p>{entry.description}</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\t\twindow.open(entry.link, '_blank');\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tlabel={HOMEPAGE_LABELS.LEARN_MORE}\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\tclassName=\"discussions-button\"\n\t\t\t\t\t\t\t></now-button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t\t<div className='dps-home-unauth-share-projects'>\n\t\t\t\t<div className='card-head'>\n\t\t\t\t\t<h2>Discover and share projects</h2>\n\t\t\t\t</div>\n\t\t\t\t{projects.slice(0, 3).map(entry => (\n\t\t\t\t\t<div className='projects-row'>\n\t\t\t\t\t\t<img src={entry.db_img}></img>\n\t\t\t\t\t\t<div className='content-wrapper'>\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<h3>{entry.title}</h3>\n\t\t\t\t\t\t\t\t<p>{entry.description}</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\t\twindow.open(entry.link, '_self');\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tlabel={HOMEPAGE_LABELS.LEARN_MORE}\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\tclassName=\"community-button\"\n\t\t\t\t\t\t\t></now-button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t</div>\n\t\t<div className='dps-tech-partner-block'>\n\t\t\t<div className='dps-content-block'>\n\t\t\t\t<h3>Become a technology partner and sell your apps</h3>\n\t\t\t\t<p>Join our Technology Partner Program to sell and distribute applications. Program fee required.</p>\n\t\t\t\t<now-button\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\tvar technavigation = systemProperties['dev.home.unauth.techpartner.seedetailbutton'];\n\t\t\t\t\t\tif (technavigation) {\n\t\t\t\t\t\t\ttechnavigation = JSON.parse(technavigation);\n\t\t\t\t\t\t}\n\t\t\t\t\t\twindow.open(technavigation.href, technavigation.target);\n\t\t\t\t\t}}\n\t\t\t\t\tlabel={HOMEPAGE_LABELS.SEE_DETAILS}\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tclassName=\"secondary-btn-white-bg\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t></now-button>\n\t\t\t</div>\n\t\t\t<div className='dps-image-block'>\n\t\t\t\t<img src=\"dev.home.unauth.tech.partner.svg\" alt=\"AI-Powered Development\" />\n\t\t\t</div>\n\t\t</div>\n\t</div>\n);\n\nexport default view;\n","const initialState = {};\n\nexport default initialState;","const properties = {\n\tcomputedRelease: {\n\t\tdefault: ''\n\t},\n\tloading: {\n\t\tdefault: true\n\t},\n\tprojects: {\n\t\tdefault: []\n\t},\n\tdiscussions: {\n\t\tdefault: []\n\t},\n\trelease: {\n\t\tdefault: '',\n\t\trequired: true,\n\t\tschema: {\n\t\t\ttype: 'string'\n\t\t}\n\t},\n\tregisterUrl: {\n\t\tdefault: ''\n\t},\n\tprojectCount: {\n\t\tdefault: '3'\n\t},\n\tsystemProperties: {\n\t\tdefault: {}\n\t},\n\tcommonData: {\n\t\tdefault: {}\n\t},\n};\n\nexport default properties;\n","export const DPS_HOME_UNAUTH_ACTIONS = {\n\tSCROLL_TO_DEV_PROGRAM: 'DPS_HOME_UNAUTH#SCROLL_TO_DEV_PROGRAM',\n\tHIT_DEV_PROGRAM_BLOCK: 'DPS_HOME_UNAUTH#HIT_DEV_PROGRAM_BLOCK',\n\tFETCH_CONTENT: 'DPS_HOME_UNAUTH#FETCH_CONTENT',\n\tFETCH_CONTENT_SUCCESS: 'DPS_HOME_UNAUTH#FETCH_CONTENT_SUCCESS',\n\tFETCH_CONTENT_FAILED: 'DPS_HOME_UNAUTH#FETCH_CONTENT_FAILED',\n};\nexport default DPS_HOME_UNAUTH_ACTIONS;\n","var recursiveWalk = function (node, func) {\n\tvar done = func(node);\n\tif (done) {\n\t\treturn done;\n\t}\n\n\tif ('shadowRoot' in node &&  node.shadowRoot) {\n\n\t\tdone = recursiveWalk(node.shadowRoot, func);\n\t\tif (done) {\n\t\t\treturn done;\n\t\t}\n\t}\n\tnode = node.firstChild;\n\n\twhile (node) {\n\t\tdone = recursiveWalk(node, func);\n\t\tif (done) {\n\t\t\treturn done;\n\t\t}\n\t\tnode = node.nextSibling;\n\t}\n};\n\nexport default recursiveWalk;\n","/* eslint-disable no-undef */\nimport recursiveWalk from './recursiveWalk';\n\nconst onElementReady = (id, timeout=10000) => (\n\tnew Promise((resolve, reject) => {\n\t\tlet timedOut = false;\n\t\tlet failTimeout = setTimeout(() => {\n\t\t\ttimedOut = true;\n\t\t}, timeout);\n\t\tconst waitForElement = () => {\n\t\t\tlet foundElement;\n\t\t\ttry {\n\t\t\t\tfoundElement = recursiveWalk(document.body, function (node) {\n\t\t\t\t\treturn (node.id === id && node);\n\t\t\t\t});\n\t\t\t} catch(error) {\n\t\t\t\treject(error.message);\n\t\t\t}\n\t\t\tif (foundElement) {\n\t\t\t\tresolve(foundElement);\n\t\t\t} else {\n\t\t\t\tif (timedOut) {\n\t\t\t\t\tclearTimeout(failTimeout);\n\t\t\t\t\treject(`Could not find ${id}. Timed out.`);\n\t\t\t\t} else {\n\t\t\t\t\twindow.requestAnimationFrame(waitForElement);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\twaitForElement();\n\t})\n);\n\nexport default onElementReady;\n","/* eslint-disable no-undef */\nimport onElementReady from './onElementReady';\n\nconst scrollToElement = ({\n\thostElement = window,\n\tselector = '',\n\tuseOffset = false,\n\tadditionalOffset = 0,\n\tbehavior = 'auto'\n}) => {\n\tif (selector) {\n\t\tonElementReady(selector)\n\t\t\t.then(element => {\n\t\t\t\t//scrollTo is available\n\t\t\t\tconst top = useOffset\n\t\t\t\t\t? element.offsetTop + additionalOffset\n\t\t\t\t\t: element.getClientRects()[0].y + additionalOffset;\n\n\t\t\t\tconst executeScroll = () => {\n\t\t\t\t\thostElement.scrollTo({\n\t\t\t\t\t\ttop: top || 0,\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tbehavior\n\t\t\t\t\t});\n\t\t\t\t};\n\n\t\t\t\tif (behavior === 'auto') {\n\t\t\t\t\texecuteScroll();\n\t\t\t\t} else {\n\t\t\t\t\thostElement.scrollTo(0, 0); // Scroll needs to be janked in order to apply in Chrome\n\t\t\t\t\texecuteScroll();\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch(message => {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.log(message);\n\t\t\t});\n\t}\n};\n\nexport default scrollToElement;\n","import { actionTypes } from '@servicenow/ui-core';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { DPS_HOME_UNAUTH_ACTIONS } from '../actions';\nimport scrollToElement from '../../../utils/scrollToElement';\nimport { updateRoute } from '../../../routes';\nimport { setMetaByPageType } from '../../../utils/meta';\n\nconst {\n\tCOMPONENT_BOOTSTRAPPED\n} = actionTypes;\n\nconst {\n\tSCROLL_TO_DEV_PROGRAM,\n\tHIT_DEV_PROGRAM_BLOCK,\n\tFETCH_CONTENT,\n\tFETCH_CONTENT_SUCCESS,\n\tFETCH_CONTENT_FAILED,\n} = DPS_HOME_UNAUTH_ACTIONS;\n\nexport default {\n\t[COMPONENT_BOOTSTRAPPED]({dispatch}) {\n\t\tdispatch(FETCH_CONTENT);\n\t\tsetMetaByPageType('home');\n\t},\n\t[SCROLL_TO_DEV_PROGRAM]() {\n\t\tscrollToElement({ selector: 'dps-home-unauth-dev-program'});\n\t},\n\t[HIT_DEV_PROGRAM_BLOCK]({action: {payload: {href, external}}}) {\n\t\tif(external) {\n\t\t\tlocation = href;\n\t\t} else {\n\t\t\tupdateRoute(href);\n\t\t}\n\t},\n\t[FETCH_CONTENT]: createHttpEffect('/api/snc/v1/dev/guest_home', {\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tsuccessActionType: FETCH_CONTENT_SUCCESS,\n\t\tfailedActionType: FETCH_CONTENT_FAILED\n\t}),\n\t[FETCH_CONTENT_SUCCESS](coeffects) {\n\t\tconst { action, updateProperties } = coeffects;\n\t\tconst { result } = action.payload;\n\n\t\tupdateProperties({\n\t\t\tloading: false,\n\t\t\tprojects: result.share_projects,\n\t\t\tprojectCount: result.share_projects.length.toString(),\n\t\t\tdiscussions: result.trending_discussions,\n\t\t});\n\n\t},\n\t[FETCH_CONTENT_FAILED]({updateProperties}) {\n\t\tupdateProperties({\n\t\t\tloading: false\n\t\t});\n\t}\n\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport view from './view';\nimport initialState from './initialState';\nimport properties from './properties';\nimport actions from './actions';\nimport actionHandlers from './actionHandlers/index';\nimport styles from './dps-home-unauth.scss';\nimport { isSmallViewport } from '../../utils/helpers';\nimport scrollIntoViewport from '../../behaviors/scrollIntoViewport';\n\nexport default createCustomElement('dps-home-unauth', {\n\trenderer: { type: snabbdom },\n\tview,\n\tinitialState,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: scrollIntoViewport,\n\t\t\toptions: {\n\t\t\t\tselectors: [\n\t\t\t\t\t'.video-wrapper',\n\t\t\t\t\t'.dps-home-unauth-header-copy',\n\t\t\t\t\t'.dps-home-unauth-hero-image',\n\t\t\t\t\t'.dps-home-unauth-events',\n\t\t\t\t\t'.dps-home-unauth-build',\n\t\t\t\t\t'.dps-home-unauth-build-deploy',\n\t\t\t\t\t'.dps-ai-add-block',\n\t\t\t\t\t'.dps-home-unauth-dev-program',\n\t\t\t\t\t'.dps-home-unauth-api-container',\n\t\t\t\t\t'.dps-tech-partner-block',\n\t\t\t\t\t'.dps-home-unauth-community-updates-share-projects',\n\t\t\t\t\t'.dps-home-unauth-event-title',\n\t\t\t\t\t'.dps-home-unauth-show-me',\n\t\t\t\t\t'.dps-home-unauth-choose-a-plan-cards',\n\t\t\t\t\t'.dps-home-unauth-apis header',\n\t\t\t\t\t'.dps-home-unauth-connect header',\n\t\t\t\t\t'.dps-home-unauth-trending-discussions-container dps-card-container',\n\t\t\t\t\t'.dps-home-unauth-share-projects .leader-text',\n\t\t\t\t\t'.dps-home-unauth-trending-projects.trending-block dps-card-container',\n\t\t\t\t],\n\t\t\t\tthreshold: isSmallViewport() ? 0 : 0.2,\n\t\t\t\tonce: true, // prevent transform motion from creating feedback loop\n\t\t\t}\n\t\t}\n\t],\n\tproperties,\n\tactions,\n\tactionHandlers,\n\tstyles\n});\n","export const getSelectedTabIndex = ({ action, dispatch, updateProperties }) => {\n\tconst {label, active}  = action.payload;\n\t//Tracking the tab selection in share tabs\n\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\taction: 'select share projects tab',\n\t\tcategory: 'Authenticated home page',\n\t\tlabel,\n\t\tvalue: '',\n\t\tga: true,\n\t\tadobe: false\n\t});\n\n\tupdateProperties({\n\t\tactiveTab: active\n\t});\n};\n\nexport const DPS_SHARE_PROJECTS_ACTION_HANDLERS = {\n\t'DPS_TABS#TAB_SELECTED': getSelectedTabIndex\n};\n","import {createCustomElement, actionTypes} from '@servicenow/ui-core';\nimport snabbdom, {createRef} from '@servicenow/ui-renderer-snabbdom';\nimport { KEYCODE } from '../../constants';\nimport styles from './_dps-tabs.scss';\n\nconst DPSTabs = (state, dispatch) => {\n\tconst { tabsRef, properties: { items, active, variant }} = state;\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'dps-tabs': true,\n\t\t\t\t[`-${  variant}`]: variant\n\t\t\t}}\n\t\t\ton-keydown={event => dispatch('DPS_TABS#TAB_MOVE', {event})}\n\t\t>\n\t\t\t<ul className=\"dps-tabs-list\" role=\"tablist\" ref={tabsRef}>\n\t\t\t\t{\n\t\t\t\t\titems ? items.map((item, index) => (\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t\tkey={item.label}\n\t\t\t\t\t\t\ttabindex={active === index ? 0 : -1}\n\t\t\t\t\t\t\taria-selected={active === index ? 'true' : 'false'}\n\t\t\t\t\t\t\ton-click={() => dispatch('DPS_TABS#TAB_SELECTED', {active: index, label:item.label})}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{item.label}\n\t\t\t\t\t\t</li>\n\t\t\t\t\t)) : null\n\t\t\t\t}\n\t\t\t</ul>\n\t\t</div>\n\t);\n};\n\nconst {COMPONENT_CONNECTED} = actionTypes;\n\nexport default createCustomElement('dps-tabs', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DPSTabs\n\t},\n\tstyles,\n\tinitialState: {\n\t\ttabsRef: null\n\t},\n\tactions: {\n\t\t['DPS_TABS#TAB_SELECTED']: {\n\t\t\tprivate: false\n\t\t},\n\t\t['DPS_TABS#TAB_MOVE']: {\n\t\t\tprivate: false\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_CONNECTED]({updateState}) {\n\t\t\tupdateState({\n\t\t\t\ttabsRef: createRef()\n\t\t\t});\n\t\t},\n\t\t'DPS_TABS#TAB_SELECTED': ({action, updateProperties, state}) => {\n\t\t\tconst { active } = action.payload;\n\t\t\tupdateProperties({active});\n\t\t\tstate.tabsRef.current.children[active].focus();\n\t\t},\n\t\t'DPS_TABS#TAB_MOVE': ({action, dispatch, properties}) => {\n\t\t\tconst { event } = action.payload;\n\t\t\tconst {active, items} = properties;\n\t\t\tlet selectedIndex = active;\n\n\t\t\tswitch(event.keyCode) {\n\t\t\t\tcase KEYCODE.LEFT_ARROW:\n\t\t\t\t\tselectedIndex = selectedIndex - 1;\n\t\t\t\t\tif (selectedIndex < 0) {\n\t\t\t\t\t\tselectedIndex = items.length - 1;\n\t\t\t\t\t}\n\t\t\t\t\tdispatch('DPS_TABS#TAB_SELECTED', {active: selectedIndex});\n\t\t\t\t\tbreak;\n\t\t\t\tcase KEYCODE.RIGHT_ARROW:\n\t\t\t\t\tselectedIndex = selectedIndex + 1;\n\t\t\t\t\tif (selectedIndex >= items.length) {\n\t\t\t\t\t\tselectedIndex = 0;\n\t\t\t\t\t}\n\t\t\t\t\tdispatch('DPS_TABS#TAB_SELECTED', {active: selectedIndex});\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t},\n\tproperties: {\n\t\t/**\n\t\t * An array of objects, each with the configuration for a tab.\n\t\t * @type {TabItem[]}\n\t\t */\n\t\titems: {\n\t\t\tdefault: null\n\t\t},\n\t\t/**\n\t\t * ID of the active tab item\n\t\t * @type {integer}\n\t\t */\n\t\tactive: {\n\t\t\tdefault: 0\n\t\t},\n\t\t/**\n\t\t * Tabs style\n\t\t * @type {('primary'|'pill')}\n\t\t */\n\t\tvariant: {\n\t\t\tdefault: 'primary'\n\t\t}\n\t}\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-star-rating.scss';\nimport '@servicenow/now-icon';\n\nconst view = ({properties: {rating}}) => {\n\tconst total = 5;\n\tconst returnObj = [];\n\tlet stars = !rating ? 0 : rating;\n\n\tfor(let index = 0; index < total; index++, stars--) {\n\t\treturnObj.push(\n\t\t\tstars <=0 ?\n\t\t\t\t<now-icon icon = 'star-outline' size = 'md' className='star-rating-icon'/> :\n\t\t\t\t<now-icon icon = 'star-fill' size = 'md' className='star-rating-icon'/>\n\t\t);\n\t}\n\n\treturn returnObj;\n};\n\nexport default createCustomElement('dps-star-rating', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\trating: {\n\t\t\tdefault: 0\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-share-project-card.scss';\nimport '../dps-card';\nimport '../dps-link';\nimport '../dps-badge';\nimport '../dps-star-rating';\n\nconst view = ({properties: {project, authUser}},dispatch) => {\n\n\tconst projectUri = project.link || project.current_version && project.current_version.link || project.url || '';\n\tconst rating = project.ratings || project.overall_rating;\n\tconst author = project.author ? `by ${project.author}` : '';\n\n\treturn (\n\t\t<dps-card\n\t\t\tclassName='share-projects-card'\n\t\t\tunstyled-title\n\t\t\thas-border\n\t\t\tborder-variant=\"primary\"\n\t\t>\n\t\t\t<p className='share-projects-card-title'>\n\t\t\t\t<dps-link button-style bare target=\"_blank\" href={projectUri} on-click={() => {\n\t\t\t\t\t//Tracking the share cards\n\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\taction: authUser\n\t\t\t\t\t\t\t? `click on ${project.title} share project on auth homepage`\n\t\t\t\t\t\t\t: `click on ${project.title} share project on guest homepage`,\n\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\tlabel: authUser\n\t\t\t\t\t\t\t? 'Authenticated home page / Nav drop down'\n\t\t\t\t\t\t\t: 'Share your apps, scripts, and utilities',\n\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\tga: true,\n\t\t\t\t\t\tadobe: false\n\t\t\t\t\t});\n\t\t\t\t}}>{project.title}</dps-link>\n\t\t\t</p>\n\t\t\t<dps-star-rating rating={rating} />\n\t\t\t<p className='share-projects-card-author'>{author}</p>\n\t\t\t<p className='share-projects-card-content'>\n\t\t\t\t{project.short_desc || project.description}\n\t\t\t</p>\n\t\t\t<dps-link button-style bare href={projectUri} external-action target=\"_blank\" on-click={() => {\n\t\t\t\t//Tracking the share cards\n\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\taction: authUser\n\t\t\t\t\t\t? `click on ${project.title} share project on auth homepage`\n\t\t\t\t\t\t: `click on ${project.title} share project on guest homepage`,\n\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\tlabel: authUser\n\t\t\t\t\t\t? 'Authenticated home page / Nav drop down'\n\t\t\t\t\t\t: 'Share your apps, scripts, and utilities',\n\t\t\t\t\tvalue: '',\n\t\t\t\t\tga: true,\n\t\t\t\t\tadobe: false\n\t\t\t\t});\n\t\t\t}}>\n\t\t\t\tSee Project\n\t\t\t</dps-link>\n\t\t\t<dps-badge\n\t\t\t\tslot='cta'\n\t\t\t\tlabel={project.category}\n\t\t\t\thref={project.categoryURL}\n\t\t\t\ttarget={'_blank'}\n\t\t\t\tvariant={'secondary'}\n\t\t\t\tlowercase\n\t\t\t\ton-click={() => {\n\t\t\t\t\t//Tracking the share cards\n\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\taction: authUser\n\t\t\t\t\t\t\t? `click on ${project.title} share project on auth homepage`\n\t\t\t\t\t\t\t: `click on ${project.title} share project on guest homepage`,\n\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\tlabel: authUser\n\t\t\t\t\t\t\t? 'Authenticated home page / Nav drop down'\n\t\t\t\t\t\t\t: 'Share your apps, scripts, and utilities',\n\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\tga: true,\n\t\t\t\t\t\tadobe: false\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t/>\n\t\t</dps-card>\n\t);\n};\n\nexport default createCustomElement('dps-share-project-card', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\tproject: {\n\t\t\tdefault: {}\n\t\t},\n\t\tauthUser: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t}\n\t},\n\tstyles\n});\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-share-projects.scss';\nimport {DPS_SHARE_PROJECTS_ACTION_HANDLERS} from './actionHandlers';\nimport '../dps-tabs';\nimport '../dps-card-container';\nimport '../dps-link';\nimport '../dps-share-project-card';\nimport '../dps-spinner';\nimport '@servicenow/now-icon';\n\nimport YourEmptyImage from '../../images/home-auth-your-project-empty.svg';\nimport EmptyCard from '../../images/empty-card.svg';\n\nconst _renderYourEmptyState = () => (\n\t<div className=\"full-width empty-yours\">\n\t\t<p className=\"large\">Create your first project</p>\n\t\t<img src={YourEmptyImage} />\n\t\t<p>You haven't created any Share Projects. Once you create a project, it will appear here.</p>\n\t\t<dps-link\n\t\t\tbutton-style\n\t\t\tbutton-variant='secondary'\n\t\t\tbutton-size=\"sm\"\n\t\t\thref={'/connect.do#!/share/content/upload?v=new'}\n\t\t\ttarget=\"_blank\"\n\t\t\tinternal-action\n\t\t>\n\t\tCreate Project\n\t\t</dps-link>\n\t</div>\n);\n\nexport const PROJECT_TABS = [\n\t{\n\t\tlabel: 'Featured',\n\t\tname: 'featuredProjects',\n\t\tmessage: 'Check out what developers have already built to help you solve business problems.',\n\t\temptyMessage: 'No featured projects.',\n\t\temptyState: <img src={EmptyCard} />\n\t},{\n\t\tlabel: 'Following',\n\t\tname: 'followingProjects',\n\t\tmessage: null,\n\t\temptyMessage: 'You aren’t following any Share Projects. Begin following a project to quickly refer to them here.',\n\t\temptyState: <img src={EmptyCard} />\n\t},{\n\t\tlabel: 'Yours',\n\t\tname: 'yourProjects',\n\t\tmessage: null,\n\t\temptyMessage: null,\n\t\temptyState: _renderYourEmptyState()\n\t}\n];\n\nconst view = ({properties}, dispatch) => {\n\tconst {\n\t\tactiveTab,\n\t\tisNested,\n\t\tloading,\n\t\tauthUser\n\t} = properties;\n\n\tconst currentContent = properties[PROJECT_TABS[activeTab].name];\n\tconst { message, emptyMessage, emptyState } = PROJECT_TABS[activeTab];\n\tconst topMessage = currentContent.length ? message : emptyMessage;\n\n\treturn (\n\t\t<div className ='share-projects'>\n\t\t\t<section className ='share-projects-header'>\n\t\t\t\t<h3>Share Projects</h3>\n\t\t\t\t<dps-tabs\n\t\t\t\t\titems = {PROJECT_TABS}\n\t\t\t\t\tvariant = 'primary'\n\t\t\t\t\tclassName ='share-projects-tabs'\n\t\t\t\t/>\n\t\t\t</section>\n\t\t\t<section className ='share-projects-content-container'>\n\t\t\t\t{\n\t\t\t\t\ttopMessage\n\t\t\t\t\t\t? <p>{topMessage}</p>\n\t\t\t\t\t\t: null\n\t\t\t\t}\n\t\t\t\t<dps-card-container\n\t\t\t\t\tcolumns = {3}\n\t\t\t\t\tclass ={{\n\t\t\t\t\t\t['share-projects-card-content-container']: true,\n\t\t\t\t\t\t['-has-margin']: isNested\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{\n\t\t\t\t\t\t(loading)\n\t\t\t\t\t\t\t? <dps-spinner />\n\t\t\t\t\t\t\t: currentContent.length\n\t\t\t\t\t\t\t\t? currentContent.map(data => (\n\t\t\t\t\t\t\t\t\t<dps-share-project-card project={data} authUser={authUser}/>\n\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t\t: emptyState\n\t\t\t\t\t}\n\t\t\t\t</dps-card-container>\n\t\t\t</section>\n\t\t\t<footer>\n\t\t\t\t<dps-link button-style bare href={'/connect.do#!/share/contents'} internal-action target=\"_blank\" on-click={() => {\n\t\t\t\t//Tracking See all projects button\n\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\taction: 'click on See All projects - share section on auth homepage',\n\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\tlabel: 'Authenticated home page / Nav drop down',\n\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\tga: true,\n\t\t\t\t\t\tadobe: false\n\t\t\t\t\t});\n\t\t\t\t}}>See All Projects</dps-link>\n\t\t\t</footer>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-share-projects', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\tactiveTab: {\n\t\t\tdefault: 0\n\t\t},\n\t\tloading: {\n\t\t\tdefault: true\n\t\t},\n\t\tisNested: {\n\t\t\tdefault: true\n\t\t},\n\t\tfeaturedProjects: {\n\t\t\tdefault: []\n\t\t},\n\t\tfollowingProjects: {\n\t\t\tdefault: []\n\t\t},\n\t\tyourProjects: {\n\t\t\tdefault: []\n\t\t},\n\t\tauthUser: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t} \n\t},\n\tactionHandlers : DPS_SHARE_PROJECTS_ACTION_HANDLERS,\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-home-auth-new-user-banner.scss';\nimport requestInstanceBanner from '../../images/request-instance-banner.svg';\nimport bannerCloseIcon from '../../images/banner-close-icon.svg';\nimport { requestInstanceButtonClicked } from '../dps-app/actionHelpers';\n\nconst view = ({ properties }, { dispatch }) => {\n\tconst { open, userInfo, releaseInfo, systemProperties, isBlockedUser } = properties;\n\n\tif (!open) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className=\"new-user-banner\">\n\t\t\t<div>\n\t\t\t\t<Fragment>\n\t\t\t\t\t<div className=\"new-user-banner_steps\">\n\t\t\t\t\t\t<span>BUILD</span> Step 1 of 2\n\t\t\t\t\t</div>\n\t\t\t\t\t<h1 className=\"new-user-banner_heading\">\n\t\t\t\t\t\tFirst things first... Request an instance.\n\t\t\t\t\t</h1>\n\t\t\t\t\t<p className=\"-new-user-banner-text\">\n\t\t\t\t\t\tYou need an instance to start building on the Now Platform\n\t\t\t\t\t\t<sup>&reg;</sup>. You can request an instance of ServiceNow\n\t\t\t\t\t\tfree of charge.\n\t\t\t\t\t</p>\n\t\t\t\t</Fragment>\n\t\t\t\t{isBlockedUser ? null : (\n\t\t\t\t\t<dps-button\n\t\t\t\t\t\tlabel=\"Request an Instance\"\n\t\t\t\t\t\tvariant=\"secondary-inverse\"\n\t\t\t\t\t\ticon-action\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\trequestInstanceButtonClicked({\n\t\t\t\t\t\t\t\tuserInfo,\n\t\t\t\t\t\t\t\treleaseInfo,\n\t\t\t\t\t\t\t\tsystemProperties,\n\t\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\taction: 'click request instance - new user banner',\n\t\t\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\t\t\tlabel: 'Authenticated home page / Nav drop down',\n\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t<img className=\"new-user-banner_img\" src={requestInstanceBanner} />\n\t\t\t<dps-button\n\t\t\t\tbare\n\t\t\t\ton-click={() => dispatch('DPS_DASHBOARD#NEW_USER_BANNER_CLOSED')}\n\t\t\t>\n\t\t\t\t<img src={bannerCloseIcon} />\n\t\t\t</dps-button>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-home-auth-new-user-banner', {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\topen: {\n\t\t\tdefault: true\n\t\t},\n\t\tuserInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tsystemProperties: {\n\t\t\tdefault: {}\n\t\t},\n\t\treleaseInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tisBlockedUser: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tstyles\n});\n","const clampValue = (min, max, value) => {\n\tif (isNaN(min) || isNaN(max) || isNaN(value))\n\t\tthrow new TypeError('arguments must be numeric');\n\telse\n\t\treturn Math.max(Math.min(max, value), min);\n};\n\nexport default clampValue;","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-progress-bar.scss';\nimport clampValue from '../../utils/clamp-value';\n\nconst DPSProgressBar = state => {\n\tconst {properties: {label, value, unit, maxValue, labelWidth}} = state;\n\n\t// These are used for clamping the value/maxValue so the CSS can't go beyond the bar limits\n\tconst clampedValue = clampValue(0, maxValue, value);\n\tconst cssPercent = (clampedValue/maxValue) * 100;\n\tconst labelsStyle = {\n\t\twidth: labelWidth\n\t};\n\n\treturn (\n\t\t<div className=\"dps-progress-bar\">\n\t\t\t<div className=\"dps-progress-bar-wrapper\">\n\t\t\t\t<div className=\"dps-progress-bar-wrapper-bar\" style={{width: `${cssPercent}%`}}></div>\n\t\t\t</div>\n\t\t\t{\n\t\t\t\tlabel !== 'none' ?\n\t\t\t\t\t<div style={labelsStyle} className=\"dps-progress-bar-labels\">\n\t\t\t\t\t\t{value}{unit} {label}\n\t\t\t\t\t</div>:\n\t\t\t\t\tnull\n\t\t\t}\n\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-progress-bar', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DPSProgressBar\n\t},\n\tproperties: {\n\t\tlabel: {\n\t\t\tdefault: 'Complete'\n\t\t},\n\t\tvalue: {\n\t\t\tdefault: 33\n\t\t},\n\t\tmaxValue: {\n\t\t\tdefault: 100 // for percent\n\t\t},\n\t\tunit: {\n\t\t\tdefault: '%'\n\t\t},\n\t\tlabelWidth: {\n\t\t\tdefault: 'auto'\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { actionTypes } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-alert.scss';\nimport '../dps-button';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_DISCONNECTED } = actionTypes;\n\nconst DPSAlert = (state, { dispatch }) => {\n\tconst {\n\t\tvariant,\n\t\tdismiss,\n\t\tdismissBtnLabel,\n\t\tdismissBtnVariant,\n\t\tisAlertOpen,\n\t\talertPayload,\n\t\theader,\n\t\tbody,\n\t\ticon,\n\t\tslot,\n\t\ttoast\n\t} = state.properties;\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t[`-alert-${variant}`]: variant,\n\t\t\t\t['dps-alert']: true,\n\t\t\t\t[`-alert-${variant}`]: isAlertOpen,\n\t\t\t\t[`-alert-${isAlertOpen ? 'open' : 'close'}`]: true,\n\t\t\t\t['-toast']: toast\n\t\t\t}}\n\t\t>\n\t\t\t{icon ? <now-icon icon={icon} size=\"md\" /> : null}\n\t\t\t<span className=\"dps-alert-message\">\n\t\t\t\t{header ? <strong>{header}&nbsp;</strong> : null}\n\t\t\t\t{body}\n\t\t\t</span>\n\t\t\t{dismiss && dismissBtnLabel ? (\n\t\t\t\t<span className=\"dps-alert-dismiss-wrapper\">\n\t\t\t\t\t<dps-button\n\t\t\t\t\t\tclassName=\"dps-dismiss-btn\"\n\t\t\t\t\t\tlabel={dismissBtnLabel}\n\t\t\t\t\t\tvariant={dismissBtnVariant}\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch('DPS_ALERT#DISMISS', { alertPayload });\n\t\t\t\t\t\t\t// Tracking the dismiss of alert\n\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\taction: 'Click alert ok',\n\t\t\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\t\t\tlabel: alertPayload.sessionKey,\n\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</span>\n\t\t\t) : null}\n\t\t\t{slot ? <slot name=\"action\"></slot> : null}\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-alert', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DPSAlert\n\t},\n\tproperties: {\n\t\tdismiss: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * ( info | error | warn | success )\n\t\t */\n\t\tvariant: {\n\t\t\tdefault: 'info'\n\t\t},\n\t\tdismissBtnLabel: {\n\t\t\tdefault: ''\n\t\t},\n\t\tdismissBtnVariant: {\n\t\t\tdefault: 'primary'\n\t\t},\n\t\tisAlertOpen: {\n\t\t\tdefault: true\n\t\t},\n\t\t/**\n\t\t * Payload to send to the\n\t\t * dismiss action handler\n\t\t */\n\t\talertPayload: {\n\t\t\tdefault: {}\n\t\t},\n\t\theader: {\n\t\t\tdefault: ''\n\t\t},\n\t\tbody: {\n\t\t\tdefault: ''\n\t\t},\n\t\ticon: {\n\t\t\tdefault: ''\n\t\t},\n\t\tslot: {\n\t\t\tdefault: false\n\t\t},\n\t\ttoast: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t}\n\t},\n\tactions: {\n\t\t['DPS_ALERT_BUTTON#CLICKED']: {\n\t\t\tprivate: false\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: ({ dispatch }) => {\n\t\t\tdispatch('DPS_ALERT#BOOTSTRAPPED');\n\t\t},\n\t\t['DPS_BUTTON#CLICKED']: ({ action, dispatch }) => {\n\t\t\tconst { currentTarget } = action.payload;\n\t\t\tdispatch('DPS_ALERT_BUTTON#CLICKED', { currentTarget } );\n\t\t\taction.stopPropagation();\n\t\t},\n\t\t['DPS_ALERT#BOOTSTRAPPED']: ({ state, dispatch }) => {\n\t\t\tconst { alertPayload } = state.properties;\n\t\t\t// Tracking the alert open\n\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\taction: 'Alert opened',\n\t\t\t\tcategory: 'Dps alert',\n\t\t\t\tlabel: alertPayload.sessionKey,\n\t\t\t\tvalue: '',\n\t\t\t\tga: true,\n\t\t\t\tadobe: false\n\t\t\t});\n\t\t}\n\t},\n\tstyles\n});\n","/* eslint-disable no-unused-vars */\nimport '@servicenow/now-dropdown';\nimport '@servicenow/now-tooltip';\nimport '../../components/dps-badge';\nimport '../../components/dps-alert';\nimport renderSVG from '../../utils/render-svg';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { CONSTANTS } from '../../constants';\nimport { DPS_INLINE_VERSION_SELECTOR_ACTIONS } from './actions';\n\nexport const handleInternalReleaseSelection = (dispatch, release, sourcePathname) => {\n\tdispatch(DPS_INLINE_VERSION_SELECTOR_ACTIONS.RELEASE_SELECTED, { release, sourcePathname });\n};\n\nconst PDI_MISMATCH_ALERT_TOOLTIP_HEIGHT = 140;\n\nconst alertPDIMismatchView = (\n\tdispatch,\n\tinstanceRelease,\n\tisPdiMismatchAlertDismissed,\n\tsystemProperties\n) => {\n\tif (isPdiMismatchAlertDismissed) return;\n\n\tconst bodyMessage =\n\t\tsystemProperties &&\n\t\tsystemProperties['dev.inline_version_selector.pdi_mismatch_alert_text'] &&\n\t\tsystemProperties[\n\t\t\t'dev.inline_version_selector.pdi_mismatch_alert_text'\n\t\t].replace(/\\$instanceRelease/, instanceRelease);\n\n\n\treturn (\n\t\t<div className=\"inline-version-selector-pdi-mismatch-alert\">\n\t\t\t<dps-alert\n\t\t\t\tdismiss\n\t\t\t\tvariant=\"warn\"\n\t\t\t\tbody={bodyMessage}\n\t\t\t\ticon=\"circle-exclamation-outline\"\n\t\t\t\tslot\n\t\t\t>\n\t\t\t\t<div className=\"pdi-mismatch-alert-mismatch-icon\" slot=\"action\">\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\ticon=\"close-outline\"\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t'DPS_INLINE_VERSION_SELECTOR#PDI_MISMATCH_ALERT_DISMISSED'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}}\n\t\t\t\t\t></now-icon>\n\t\t\t\t</div>\n\t\t\t</dps-alert>\n\t\t</div>\n\t);\n};\n\nconst shouldRenderTooltipMismatch = (\n\tselected,\n\trelease,\n\tisPdiMismatchAlertDismissed\n) =>\n\tselected === release.id && isPdiMismatchAlertDismissed && !release.internal && !release.isContentInternal;\n\nconst view = (\n\t{\n\t\tpdiTooltipRef,\n\t\tpdiVersionMismatchToolRef,\n\t\ttoolTipRefY,\n\t\tproperties: {\n\t\t\tselected,\n\t\t\tshowListOnly,\n\t\t\treleases,\n\t\t\tinstanceRelease,\n\t\t\ttextColor,\n\t\t\tsourcePathname,\n\t\t\tisPdiMismatchAlertDismissed,\n\t\t\tsystemProperties\n\t\t}\n\t},\n\t{ dispatch, updateState }\n) => {\n\tconst setPdiTooltipRef = ref => {\n\t\tif (ref) {\n\t\t\tconst { y } = ref && ref.getBoundingClientRect();\n\t\t\tsetTimeout(() => updateState({ pdiTooltipRef: ref, toolTipRefY: y }));\n\t\t} else {\n\t\t\tsetTimeout(() => updateState({ pdiTooltipRef: ref }));\n\t\t}\n\t};\n\n\tconst setPdiVersionMismatchToolRef = ref => {\n\t\tif (ref) {\n\t\t\tconst { y } = ref && ref.getBoundingClientRect();\n\t\t\tsetTimeout(() => updateState({ pdiVersionMismatchToolRef: ref, toolTipRefY: y }));\n\t\t} else {\n\t\t\tsetTimeout(() => updateState({ pdiVersionMismatchToolRef: ref }));\n\t\t}\n\t};\n\n\tlet tooltipPosition =\n\t\ttoolTipRefY && toolTipRefY > PDI_MISMATCH_ALERT_TOOLTIP_HEIGHT\n\t\t\t? 'top-center'\n\t\t\t: 'bottom-center';\n\n\tlet instanceReleasePresent = false;\n\tlet builtReleases = [].concat(releases);\n\tconst showPDIMismatchAlert =\n\tinstanceRelease &&\n\tinstanceRelease.id &&\n\tinstanceRelease.id.indexOf(selected) < 0;\n\n\tconst pdiAlertMismatchResponsiveMsg =\n\t\tsystemProperties &&\n\t\tsystemProperties[\n\t\t'dev.inline_version_selector.pdi_mismatch_alert_text_responsive_view'\n\t\t];\n\n\n\tif (instanceRelease.id) {\n\t\t// Add the PDI to the list of releases\n\t\tbuiltReleases.forEach(release => {\n\t\t\tif (instanceRelease.id === release.id) {\n\t\t\t\tinstanceReleasePresent = true;\n\t\t\t\trelease.pdi = true; // eslint-disable-line no-param-reassign\n\t\t\t}\n\t\t});\n\n\t\tif (!instanceReleasePresent) {\n\t\t\tconst disabledInstanceRelease = { ...instanceRelease, disabled: true };\n\t\t\tbuiltReleases = builtReleases.concat(disabledInstanceRelease).sort((a, b) => (b.id > a.id ? 1 : -1));\n\t\t}\n\t}\n\tbuiltReleases.sort((a, b) => Number(b.order) - Number(a.order));\n\n\tconst listLength = builtReleases.length;\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'dps-inline-version-selector': true,\n\t\t\t\t'-theme-light-text': textColor === 'light',\n\t\t\t\t'-list-only': showListOnly\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'content-available-for-label': true,\n\t\t\t\t\t'-is-block': listLength > 5\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\tContent available for:\n\t\t\t</div>\n\t\t\t<now-dropdown\n\t\t\t\titems={builtReleases.map(release => {\n\t\t\t\t\tlet label = release.label;\n\t\t\t\t\tif (release.internal || release.isContentInternal) {\n\t\t\t\t\t\tlabel += ' (ServiceNow Confidential)';\n\t\t\t\t\t}\n\t\t\t\t\tif (instanceRelease.id === release.id) {\n\t\t\t\t\t\tlabel += ' (Your Instance)';\n\t\t\t\t\t}\n\t\t\t\t\tif (showPDIMismatchAlert && selected === release.id && isPdiMismatchAlertDismissed && !release.internal && !release.isContentInternal) {\n\t\t\t\t\t\tlabel += ` (${pdiAlertMismatchResponsiveMsg})`;\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\trelease,\n\t\t\t\t\t\tid: release.id,\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\tdisabled: release.disabled\n\t\t\t\t\t};\n\t\t\t\t})}\n\t\t\t\tselectedItems={[selected]}\n\t\t\t\tsize=\"md\"\n\t\t\t\tvariant=\"inherit\"\n\t\t\t\tbare\n\t\t\t></now-dropdown>\n\t\t\t<ul\n\t\t\t\tclass={{\n\t\t\t\t\t'release-list': true\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{builtReleases.map(release => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'-is-internal': release.internal,\n\t\t\t\t\t\t\t\t'-is-pdi': instanceRelease.id === release.id,\n\t\t\t\t\t\t\t\t'-is-disabled': release.disabled,\n\t\t\t\t\t\t\t\t'-is-selected': selected === release.id\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tdisabled={release.disabled}\n\t\t\t\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\t\t\t\thandleInternalReleaseSelection(dispatch, release, sourcePathname)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{(release.internal || release.isContentInternal) && instanceRelease.id !== release.id ? (\n\t\t\t\t\t\t\t\t\t<dps-badge size=\"sm\" variant=\"servicenow\" alwaysCollapsed tooltip=\"ServiceNow Confidential\" bare={true} />\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t{instanceRelease.id === release.id ? (\n\t\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\thook-insert={({ elm }) => setPdiTooltipRef(elm)}\n\t\t\t\t\t\t\t\t\t\t\thook-destroy={() => setPdiTooltipRef(null)}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{renderSVG({\n\t\t\t\t\t\t\t\t\t\t\t\tclassName: 'instance-icon',\n\t\t\t\t\t\t\t\t\t\t\t\twidth: 16,\n\t\t\t\t\t\t\t\t\t\t\t\theight: 16,\n\t\t\t\t\t\t\t\t\t\t\t\tinnerSVG:\n\t\t\t\t\t\t\t\t\t\t\t\t'<path d=\"M3 7.25C3 7.11193 3.11193 7 3.25 7H3.75C3.88807 7 4 7.11193 4 7.25V7.75C4 7.88807 3.88807 8 3.75 8H3.25C3.11193 8 3 7.88807 3 7.75V7.25Z\" fill=\"currentColor\"/><path d=\"M5.25 7C5.11193 7 5 7.11193 5 7.25V7.75C5 7.88807 5.11193 8 5.25 8H5.75C5.88807 8 6 7.88807 6 7.75V7.25C6 7.11193 5.88807 7 5.75 7H5.25Z\" fill=\"currentColor\"/><path d=\"M9 7.5C9 7.22386 9.22386 7 9.5 7H12.5C12.7761 7 13 7.22386 13 7.5C13 7.77614 12.7761 8 12.5 8H9.5C9.22386 8 9 7.77614 9 7.5Z\" fill=\"currentColor\"/><path d=\"M3.25 11C3.11193 11 3 11.1119 3 11.25V11.75C3 11.8881 3.11193 12 3.25 12H3.75C3.88807 12 4 11.8881 4 11.75V11.25C4 11.1119 3.88807 11 3.75 11H3.25Z\" fill=\"currentColor\"/><path d=\"M5 11.25C5 11.1119 5.11193 11 5.25 11H5.75C5.88807 11 6 11.1119 6 11.25V11.75C6 11.8881 5.88807 12 5.75 12H5.25C5.11193 12 5 11.8881 5 11.75V11.25Z\" fill=\"currentColor\"/><path d=\"M9.5 11C9.22386 11 9 11.2239 9 11.5C9 11.7761 9.22386 12 9.5 12H12.5C12.7761 12 13 11.7761 13 11.5C13 11.2239 12.7761 11 12.5 11H9.5Z\" fill=\"currentColor\"/><path d=\"M3.25 3C3.11193 3 3 3.11193 3 3.25V3.75C3 3.88807 3.11193 4 3.25 4H3.75C3.88807 4 4 3.88807 4 3.75V3.25C4 3.11193 3.88807 3 3.75 3H3.25Z\" fill=\"currentColor\"/><path d=\"M5 3.25C5 3.11193 5.11193 3 5.25 3H5.75C5.88807 3 6 3.11193 6 3.25V3.75C6 3.88807 5.88807 4 5.75 4H5.25C5.11193 4 5 3.88807 5 3.75V3.25Z\" fill=\"currentColor\"/><path d=\"M9.5 3C9.22386 3 9 3.22386 9 3.5C9 3.77614 9.22386 4 9.5 4H12.5C12.7761 4 13 3.77614 13 3.5C13 3.22386 12.7761 3 12.5 3H9.5Z\" fill=\"currentColor\"/><path d=\"M2.5 1C1.67157 1 1 1.67157 1 2.5V4.5C1 4.88418 1.14443 5.23462 1.38195 5.5C1.14443 5.76538 1 6.11582 1 6.5V8.5C1 8.88418 1.14443 9.23462 1.38195 9.5C1.14443 9.76538 1 10.1158 1 10.5V12.5C1 13.3284 1.67157 14 2.5 14H13.5C14.3284 14 15 13.3284 15 12.5V10.5C15 10.1158 14.8556 9.76538 14.6181 9.5C14.8556 9.23462 15 8.88418 15 8.5V6.5C15 6.11582 14.8556 5.76538 14.6181 5.5C14.8556 5.23462 15 4.88418 15 4.5V2.5C15 1.67157 14.3284 1 13.5 1H2.5ZM13.5 9H2.5C2.22386 9 2 8.77614 2 8.5V6.5C2 6.22386 2.22386 6 2.5 6H13.5C13.7761 6 14 6.22386 14 6.5V8.5C14 8.77614 13.7761 9 13.5 9ZM2.5 10H13.5C13.7761 10 14 10.2239 14 10.5V12.5C14 12.7761 13.7761 13 13.5 13H2.5C2.22386 13 2 12.7761 2 12.5V10.5C2 10.2239 2.22386 10 2.5 10ZM2.5 5C2.22386 5 2 4.77614 2 4.5V2.5C2 2.22386 2.22386 2 2.5 2H13.5C13.7761 2 14 2.22386 14 2.5V4.5C14 4.77614 13.7761 5 13.5 5H2.5Z\" fill=\"currentColor\"/>'\n\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t<now-tooltip\n\t\t\t\t\t\t\t\t\t\t\tid=\"pdi-tooltip\"\n\t\t\t\t\t\t\t\t\t\t\ttarget-ref={pdiTooltipRef}\n\t\t\t\t\t\t\t\t\t\t\tcontent=\"Your PDI\"\n\t\t\t\t\t\t\t\t\t\t\tdelay={CONSTANTS.DEFAULTS.DELAY_TOOLTIP_MS}\n\t\t\t\t\t\t\t\t\t\t\tposition={[tooltipPosition]}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tshowPDIMismatchAlert &&\n\t\t\t\t\t\t\t\t\t\tshouldRenderTooltipMismatch(selected, release, isPdiMismatchAlertDismissed)\n\t\t\t\t\t\t\t\t\t\t? (\n\t\t\t\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\t\t\thook-insert={({ elm }) => setPdiVersionMismatchToolRef(elm)}\n\t\t\t\t\t\t\t\t\t\t\t\t\thook-destroy={() => setPdiVersionMismatchToolRef(null)}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"pdi-mismatch-version-icon\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ticon=\"circle-exclamation-outline\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t></now-icon>\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t<now-tooltip\n\t\t\t\t\t\t\t\t\t\t\t\t\tid=\"pdi-mismatch-version-tooltip\"\n\t\t\t\t\t\t\t\t\t\t\t\t\ttarget-ref={pdiVersionMismatchToolRef}\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontent=\"The content you are viewing is different than your PDI\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tdelay={CONSTANTS.DEFAULTS.DELAY_TOOLTIP_MS}\n\t\t\t\t\t\t\t\t\t\t\t\t\tposition={[tooltipPosition]}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t\t\t) : null\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t{release.label}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t\t{\n\t\t\t\tshowPDIMismatchAlert\n\t\t\t\t\t? alertPDIMismatchView(\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tinstanceRelease && instanceRelease.label,\n\t\t\t\t\t\tisPdiMismatchAlertDismissed,\n\t\t\t\t\t\tsystemProperties\n\t\t\t\t\t)\n\t\t\t\t\t: null\n\t\t\t}\n\t\t</div>\n\t);\n};\n\nexport default view;","const initialState = {\n    toolTipRefY: \"\"\n};\n\nexport default initialState;","import { isPdiMismatchAlertDismissed } from '../../utils/helpers';\n\nconst properties = {\n\tinstanceRelease: {\n\t\tdefault: {} // object of a single release with id and label\n\t},\n\treleases: {\n\t\tdefault: [] // array of objects containing release info\n\t},\n\tselected: {\n\t\tdefault: '' // the slug of the selected release; eg: 'madrid'\n\t},\n\tshowListOnly: {\n\t\tdefault: false\n\t},\n\ttextColor: {\n\t\tdefault: 'dark'\n\t},\n\tsourcePathname: {\n\t\tdefault: ''\n\t},\n\tisPdiMismatchAlertDismissed: {\n\t\tcomputed({properties:{selected}}) {\n\t\t\treturn isPdiMismatchAlertDismissed(selected);\n\t\t}\n\t},\n\tshowPdiMismatch: {\n\t\tdefault: true\n\t},\n\tsystemProperties: {\n\t\tdefault: {},\n\t\tschema: {\n\t\t\ttype: 'object'\n\t\t}\n\t}\n};\n\nexport default properties;\n","/* eslint-disable object-shorthand */\nimport { actionTypes } from '@servicenow/ui-core';\nimport { DPS_INLINE_VERSION_SELECTOR_ACTIONS } from '../actions';\nimport { handleInternalReleaseSelection } from '../view';\nimport { updateRoute } from '../../../routes';\nimport { DevPlatformStorage } from '../../../utils/storage';\nimport { CONSTANTS } from '../../../constants';\nimport { shouldRemovePDIMismatchAlertFromSessionStorage } from '../../../utils/helpers';\n\nconst { COMPONENT_PROPERTY_CHANGED }  = actionTypes;\n\nexport default {\n\t[DPS_INLINE_VERSION_SELECTOR_ACTIONS.RELEASE_SELECTED]: ({ action, dispatch }) => {\n\t\tconst { release } = action.payload;\n\t\tif (release.url) {\n\t\t\tupdateRoute(release.url);\n\t\t\tdispatch('DPS_VERSION_SWITCHER#ALERT_DISMISSED',  {redirectedFromInactiveRelease: false});\n\t\t}\n\t},\n\t'NOW_DROPDOWN#ITEM_CLICKED': coeffects => {\n\t\tconst { action, dispatch } = coeffects;\n\t\tconst {\n\t\t\titem: { release }\n\t\t} = action.payload;\n\t\thandleInternalReleaseSelection(dispatch, release);\n\t},\n\t[DPS_INLINE_VERSION_SELECTOR_ACTIONS.PDI_MISMATCH_ALERT_DISMISSED]: coeffects => {\n\t\tconst { updateProperties, properties } = coeffects;\n\t\tconst { isPdiMismatchAlertDismissed, showPdiMismatch, selected } = properties\n\t\tif(!isPdiMismatchAlertDismissed) {\n\t\t\tDevPlatformStorage.saveToSessionStorage(\n\t\t\t\tCONSTANTS.DEFAULTS.DEV_PDI_VERSION_MISMATCH_ALERT_KEY,\n\t\t\t\t{'releaseDismissed': selected, 'dismissed': true}\n\t\t\t);\n\t\t}\n\t\tupdateProperties({\n\t\t\tshowPdiMismatch: !showPdiMismatch\n\t\t});\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: coeffects => {\n\t\tconst { action } = coeffects;\n\n\t\tif(action.payload.name === 'selected') {\n\t\t\tshouldRemovePDIMismatchAlertFromSessionStorage();\n\t\t}\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport view from './view';\nimport initialState from './initialState';\nimport properties from './properties';\nimport actions from './actions';\nimport actionHandlers from './actionHandlers/index';\nimport styles from './dps-inline-version-selector.scss';\n\nexport default createCustomElement('dps-inline-version-selector', {\n\trenderer: { type: snabbdom },\n\tview,\n\tinitialState,\n\tproperties,\n\tactions,\n\tactionHandlers,\n\tstyles\n});\n","import '@servicenow/now-icon';\n\nimport '../../components/dps-link';\nimport '../../components/dps-progress-bar';\nimport '../../components/dps-spinner';\nimport '../../components/dps-inline-version-selector';\nimport { createPath } from '../../utils/url';\n\nimport Book from '../../images/home-auth-book.svg';\n\nconst MAX_PROGRESS = 5;\n\nconst _renderLearnProgressList = (learnProgress, dispatch) => (\n\t<ul className=\"learn-progress-list\">\n\t\t{learnProgress\n\t\t\t.slice(0, MAX_PROGRESS)\n\t\t\t.map(({ name, link, percent_complete }) => (\n\t\t\t\t<li>\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={createPath(link)}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t//Tracking the click on learn plan\n\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\taction: `click on learn plan ${name} - learn section auth homepage`,\n\t\t\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\t\t\tlabel: 'Authenticated home page / Nav drop down',\n\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<h4>{name}</h4>\n\t\t\t\t\t\t<dps-progress-bar\n\t\t\t\t\t\t\tvalue={percent_complete.replace('%', '')}\n\t\t\t\t\t\t\tmax-value={100}\n\t\t\t\t\t\t\tlabel=\"Complete\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<now-icon icon=\"arrow-right-fill\" size=\"md\" />\n\t\t\t\t\t</a>\n\t\t\t\t</li>\n\t\t\t))}\n\t</ul>\n);\n\nconst _renderLearnNewList = (release, dispatch) => (\n\t<div>\n\t\t<h2>Choose a learning plan to start</h2>\n\t\t<p className=\"large\">\n\t\t\tBoost your skill set. Do any of these options describe you and how you\n\t\t\twant to grow?\n\t\t</p>\n\t\t<ul className=\"learn-new-list\">\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\thref={createPath(\n\t\t\t\t\t\t`/learn/learning-plans/${release}/new_to_servicenow`\n\t\t\t\t\t)}\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t//Tracking clicking on learn plan\n\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\taction:\n\t\t\t\t\t\t\t\t'click on learn plan New to ServiceNow - learn section auth homepage',\n\t\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\t\tlabel: 'Authenticated home page / Nav drop down',\n\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<img src={Book} />\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<h3>\n\t\t\t\t\t\t\tNew to ServiceNow <now-icon icon=\"arrow-right-fill\" size=\"md\" />\n\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\tI am a developer who has limited or no exposure to developing apps\n\t\t\t\t\t\t\ton the Now Platform.\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\thref={createPath(\n\t\t\t\t\t\t`/learn/learning-plans/${release}/servicenow_administrator`\n\t\t\t\t\t)}\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t//Tracking clicking on learn plan\n\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\taction:\n\t\t\t\t\t\t\t\t'click on learn plan ServiceNow Administrator - learn section auth homepage',\n\t\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\t\tlabel: 'Authenticated home page / Nav drop down',\n\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<img src={Book} />\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<h3>\n\t\t\t\t\t\t\tServiceNow Administrator{' '}\n\t\t\t\t\t\t\t<now-icon icon=\"arrow-right-fill\" size=\"md\" />\n\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\tI am a ServiceNow administrator who wants to begin developing apps\n\t\t\t\t\t\t\ton the Now Platform.\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<a\n\t\t\t\t\thref={createPath(\n\t\t\t\t\t\t`/learn/learning-plans/${release}/servicenow_application_developer`\n\t\t\t\t\t)}\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t//Tracking clicking on learn plan\n\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\taction:\n\t\t\t\t\t\t\t\t'click on learn plan ServiceNow Application Developer - learn section auth homepage',\n\t\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\t\tlabel: 'Authenticated home page / Nav drop down',\n\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<img src={Book} />\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<h3>\n\t\t\t\t\t\t\tServiceNow Application Developer{' '}\n\t\t\t\t\t\t\t<now-icon icon=\"arrow-right-fill\" size=\"md\" />\n\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\tI am an experienced developer who wants to learn more about\n\t\t\t\t\t\t\tbuilding apps on the Now Platform.{' '}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t</ul>\n\t</div>\n);\n\nexport const _renderLearn = ({\n\tdispatch,\n\tlearnProgress,\n\trelease\n}) => (\n\t<div className=\"dps-home-auth-learn\">\n\t\t<h3>Learn</h3>\n\t\t<hr />\n\t\t<div className=\"main-content\">\n\t\t\t{learnProgress.length\n\t\t\t\t? _renderLearnProgressList(learnProgress, dispatch)\n\t\t\t\t: _renderLearnNewList(release, dispatch)}\n\t\t\t<footer>\n\t\t\t\t<dps-link\n\t\t\t\t\tbutton-style\n\t\t\t\t\tbare\n\t\t\t\t\thref={createPath(`/learn/courses/${release}`)}\n\t\t\t\t\tinternal-action\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t//Tracking clicking on learn plan\n\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\taction: 'click on browse learn - learn section auth homepage',\n\t\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\t\tlabel: 'Authenticated home page / Nav drop down',\n\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\tBrowse Learn\n\t\t\t\t</dps-link>\n\t\t\t</footer>\n\t\t</div>\n\t</div>\n);\n","import buildAdvanceAppImg from '../../images/build-advance-app.svg';\nimport buildMobileAppImg from '../../images/build-mobile-app.svg';\nimport buildFirstAppImg from '../../images/build-first-app.svg';\nimport { createPath } from '../../utils/url';\n\nexport const FIRST_APPLICATION_STATUS = {\n\tSTARTED: 'started',\n\tNOT_STARTED: 'not started'\n};\n\nexport const buildItemList = {\n\t'Build My First Application': buildFirstAppImg,\n\t'Build the NeedIt Application': buildAdvanceAppImg,\n\t'Build My First Mobile Application': buildMobileAppImg\n};\n\nexport const buildItemBgColor = {\n\t'Build My First Application': {background: '#68A1AF'},\n\t'Build the NeedIt Application': {background: '#83b6a2'},\n\t'Build My First Mobile Application': {background: '#8585bc'}\n};\n\nexport const updateBuildItemList = (buildItemList) => {\n\t\tfor (let i = 0; i < buildItemList.length; i++) {\n\t\t\tif(buildItemList[i].name === 'Build My First Application' && buildItemList[i].percent_complete == 0) {\n\t\t\t \tbuildItemList[i].visible = false;\n\t\t\t}\n\t\t}\n\treturn buildItemList;\n};\n\nexport const isBuildFirstApplicationStarted = buildItems => {\n\tfor (let i = 0; i < buildItems.length; i++) {\n\t\tif (buildItems[i].name === 'Build My First Application') {\n\t\t\treturn buildItems[i].percent_complete !== 0 ? FIRST_APPLICATION_STATUS.STARTED : FIRST_APPLICATION_STATUS.NOT_STARTED;\n\t\t}\n\t}\n};\n\nexport const generateBuildItemsNavLink = (link, release) => {\n\tlink = link.replace(/\\$RELEASE/g, release);\n\treturn createPath(link);\n};\n\nexport const isBuildSectionComplete = buildItems => {\n\tvar isVisible = false;\n\tfor (let i = 0; i < buildItems.length; i++) {\n\t\tisVisible = isVisible || buildItems[i].visible;\n\t}\n\treturn !isVisible;\n};\n","import '../../components/dps-progress-bar';\nimport '@servicenow/now-icon';\nimport {\n\tgenerateBuildItemsNavLink,\n\tisBuildSectionComplete,\n\tbuildItemList,\n\tbuildItemBgColor\n} from './buildSectionHelper';\n\n\nconst BuildSection = prop => {\n\tconst {\n\t\tbuildItems,\n\t\trelease\n\t} = prop;\n\n\treturn isBuildSectionComplete(buildItems) ? null : (\n\t\t<div className=\"build-section\">\n\t\t\t<div className=\"build-section_header\">\n\t\t\t\t<h3>\n\t\t\t\t\tBuild\n\t\t\t\t</h3>\n\t\t\t</div>\n\n\t\t\t<hr></hr>\n\t\t\t<div className=\"build-section_content\">\n\t\t\t\t<h2>\n\t\t\t\t\tAnyone can build on the Now Platform!\n\t\t\t\t</h2>\n\t\t\t\t{buildItems.map((item, index) => {\n\t\t\t\t\treturn (item.visible ?\n\t\t\t\t\t\t<div className=\"build-section_content_item\">\n\t\t\t\t\t\t\t<section style={buildItemBgColor[item.name]}>\n\t\t\t\t\t\t\t\t<img className=\"build-section_content_item_img\" src={buildItemList[item.name]}></img>\n\t\t\t\t\t\t\t</section>\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref={generateBuildItemsNavLink(item.link, release)}\n\t\t\t\t\t\t\t\tclassName=\"build-section_content_item_details\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<h3 className=\"build-section_content_item_header\">\n\t\t\t\t\t\t\t\t\t{item.header}\n\t\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t\t<p className=\"build-section_content_item_description\">\n\t\t\t\t\t\t\t\t\t{item.description}\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t<div className=\"build-section_content_item_nav-link\">\n\t\t\t\t\t\t\t\t\t{item.percent_complete ? (\n\t\t\t\t\t\t\t\t\t\t<dps-progress-bar\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"build-section_content_item_nav-link_progress-bar\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={item.percent_complete.toString().replace('%', '')}\n\t\t\t\t\t\t\t\t\t\t\tmax-value={100}\n\t\t\t\t\t\t\t\t\t\t\tlabel=\"Complete\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\titem.navigationLink\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t&nbsp;&nbsp;&nbsp;\n\t\t\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\t\t\tclassName=\"build-section_content_item_nav-link_icon\"\n\t\t\t\t\t\t\t\t\t\ticon=\"arrow-right-fill\"\n\t\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t : null);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t);\n\n};\n\nexport default BuildSection;\n","export const isNowOrLocal = () => {\n    return window.location.host.indexOf('localhost') > -1 || window.location.href.indexOf('0.0.0') > -1;\n};\n\nexport const devHomePage = () => {\n    return \"\"; //\"/now/dev/home/\";\n};\n\nexport default devHomePage;","import buildSectionBanner from '../../images/build-section-banner.svg';\nimport { updateRoute } from '../../routes';\nimport devHomePage from '../../utils/isNowOrLocal';\nimport { createPath } from '../../utils/url';\n\n\n\nconst BuildSectionBanner = prop => {\n\tconst {\n\t\tdispatch,\n\t\trelease\n\t} = prop;\n\n\tconst URL = createPath('/'+ devHomePage() +'#!/learn/courses/'+release+'/app_store_learnv2_buildmyfirstapp_'+release+'_build_my_first_application');\n\n\treturn (\n\t\t<div className=\"new-user-banner -build-banner\">\n\t\t\t<div className=\"-build-banner\">\n\t\t\t\t<div className=\"new-user-banner_steps -build-banner\"><span>BUILD</span> Step 2 of 2</div>\n\t\t\t\t<h1 className=\"new-user-banner_heading -build-banner\">Next… Build your first application</h1>\n\t\t\t\t<p className=\"-new-user-banner-text\">Welcome to ServiceNow! In this \"Quick Start,\" you will develop your first application on ServiceNow's powerful Now Platform.</p>\n\t\t\t\t<dps-button label=\"Start building\" variant=\"primary\" icon=\"arrow-right-fill\" icon-action size=\"sm\" on-click={() => {\n\t\t\t\t\tupdateRoute(URL);\n\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\taction: 'click on start building banner - citizen dev user',\n\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\tlabel: 'Authenticated home page / Nav drop down',\n\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\tga: true,\n\t\t\t\t\t\tadobe: false\n\t\t\t\t\t});\n\t\t\t\t}} />\n\t\t\t</div>\n\t\t\t<img className=\"new-user-banner_img -build-banner\" src={buildSectionBanner} />\n\t\t</div>\n\t);\n};\n\nexport default BuildSectionBanner;\n","import '@servicenow/now-icon';\nimport { createPath } from '../../utils/url';\n\nexport const _renderDiscover = (dispatch) => (\n\t<div>\n\t\t<h3>Discover</h3>\n\t\t<hr />\n\t\t<div className=\"main-content\">\n\t\t\t<ul className=\"discover-list\">\n\t\t\t\t<li>\n\t\t\t\t\t<a href={createPath('/learn')} on-click={() => {\n\t\t\t\t\t\t//Tracking on clicking in discover section\n\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\taction: 'click on learn section discover banner auth homepage',\n\t\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\t\tlabel: 'Authenticated home page / Nav drop down',\n\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t});\n\t\t\t\t\t}}>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<h6>Learn</h6>\n\t\t\t\t\t\t\t<p>Discover new ways to innovate with the Now Platform.</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<now-icon icon=\"arrow-right-fill\" size=\"md\" />\n\t\t\t\t\t</a>\n\t\t\t\t</li>\n\t\t\t\t<li>\n\t\t\t\t\t<a href={createPath('/reference')} on-click={() => {\n\t\t\t\t\t\t//Tracking on clicking in discover section\n\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\taction: 'click on reference section discover banner auth homepage',\n\t\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\t\tlabel: 'Authenticated home page / Nav drop down',\n\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t});\n\t\t\t\t\t}}>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<h6>Reference</h6>\n\t\t\t\t\t\t\t<p>APIs, libraries, and supplemental materials for working with the Now Platform.</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<now-icon icon=\"arrow-right-fill\" size=\"md\" />\n\t\t\t\t\t</a>\n\t\t\t\t</li>\n\t\t\t\t<li>\n\t\t\t\t\t<a href={createPath('/guides')} on-click={() => {\n\t\t\t\t\t\t//Tracking on clicking in discover section\n\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\taction: 'click on guide section discover banner auth homepage',\n\t\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\t\tlabel: 'Authenticated home page / Nav drop down',\n\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t});\n\t\t\t\t\t}}>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<h6>Guides</h6>\n\t\t\t\t\t\t\t<p>In-depth technology overviews and recommendations.</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<now-icon icon=\"arrow-right-fill\" size=\"md\" />\n\t\t\t\t\t</a>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n);\n","import '../../components/dps-link';\nimport { createPath } from '../../utils/url';\n\nimport PartnerBg from '../../images/home-partner-banner.svg';\n\nexport const _renderPartnerBanner = dispatch => (\n\t<div className=\"partner-banner\">\n\t\t<h2>Become a technology partner and sell your apps</h2>\n\t\t<p>Join our Technology Partner Program to sell and distribute applications. Program fee required.</p>\n\t\t<dps-link href={'https://www.servicenow.com/partners/become-a-partner.html'} button-style bare external-action target=\"_blank\" on-click={() => {\n\t\t\t//Tracking clicking on see details on partner banner\n\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\taction: 'click on See Details tech partner banner auth homepage',\n\t\t\t\tcategory: 'buttons',\n\t\t\t\tlabel: 'Authenticated home page / Nav drop down',\n\t\t\t\tvalue: '',\n\t\t\t\tga: true,\n\t\t\t\tadobe: false\n\t\t\t});\n\t\t}}>See Details</dps-link>\n\t\t<img src={PartnerBg} />\n\t</div>\n);\n","import './requestInstance.scss';\nimport { instanceIcon } from '../../icons';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { DPS_INSTANCE_ASSIGNMENT } from '../../constants';\nimport { APP_ACTIONS } from '../dps-app/actions';\nimport { requestInstanceButtonClicked } from '../dps-app/actionHelpers';\nimport { isTruthy } from '../../utils/helpers';\n\nexport const instanceRequestDiv = props => {\n\tconst { dispatch, systemProperties, userInfo, releaseInfo } = props;\n\tconst isRestoreEnabled = isTruthy(systemProperties['dev.instance.restore.enabled']);\n\treturn (\n\t\t<Fragment>\n\t\t\t<center className=\"dps-request-instance\">\n\t\t\t\t<h4 className=\"dps-request-instance-heading\">\n\t\t\t\t\tGet a free developer instance\n\t\t\t\t</h4>\n\t\t\t\t<img src={instanceIcon} width=\"73\" height=\"73\"></img>\n\t\t\t\t<p className=\"dps-request-instance-content\">\n\t\t\t\t\tRapidly test, build, and deploy applications on the Now Platform\n\t\t\t\t\t<sup>®</sup> with a personal developer instance.\n\t\t\t\t</p>\n\t\t\t\t<dps-button\n\t\t\t\t\tlabel=\"Request an Instance\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tinternalAction\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\trequestInstanceButtonClicked({userInfo, releaseInfo, systemProperties, dispatch});\n\t\t\t\t\t\t// Tracking the click for Request Instance\n\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\taction: 'click request instance - dropdown',\n\t\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\t\tlabel: 'Authenticated home page / Nav drop down',\n\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t></dps-button>\n\t\t\t\t{isRestoreEnabled ? <h4 className=\"dps-request-instance-restoreLink\">\n\t\t\t\t\tor,{' '}\n\t\t\t\t\t<dps-button\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(DPS_INSTANCE_ASSIGNMENT.MENU_ITEM_CLICKED, {\n\t\t\t\t\t\t\t\tselected: 'restore'\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tdispatch(APP_ACTIONS.GET_ALL_INSTANCE_BACKUPS);\n\t\t\t\t\t\t\t// Tracking the click for Request Instance\n\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\taction: 'click restore instance',\n\t\t\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\t\t\tlabel: 'Authenticated home page / Nav drop down',\n\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tlabel=\"restore an instance.\"\n\t\t\t\t\t\tlink-style\n\t\t\t\t\t></dps-button>\n\t\t\t\t</h4>: null}\n\t\t\t</center>\n\t\t</Fragment>\n\t);\n};\n","import * as Icons from '../../../icons';\nimport { instanceRequestDiv } from '../../../connected-components/dps-instance-assignment-modal/requestInstanceView';\n// eslint-disable-next-line no-unused-vars\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { INSTANCE_ACTION_STATES } from '../../../constants';\nimport { getReleaseNotesUrl } from '../../../utils/helpers';\n\nexport const InstanceRequest = props => {\n\tconst { instanceInfo, releaseInfo } =  props;\n\tconst releaseNotesUrl = getReleaseNotesUrl(releaseInfo, instanceInfo);\n\n\treturn (\n\t\t<div className=\"dps-instance-sidebar-content dps-instance-sidebar-content-instance-info\">\n\t\t\t{\n\t\t\t\tinstanceInfo.state === INSTANCE_ACTION_STATES.RESTORE_IN_PROGRESS ?\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<div className=\"dps-instance-sidebar-content-row\">\n\t\t\t\t\t\t\t<h6>Instance Status</h6>\n\t\t\t\t\t\t\t<div className=\"dps-instance-sidebar-content-header-status\">\n\t\t\t\t\t\t\t\t<img src={Icons.instanceFulfilling} />\n\t\t\t\t\t\t\t\tRestoring Instance\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{instanceInfo.release && (releaseInfo.activeVersionsFormatted || instanceInfo.full_release) ?\n\t\t\t\t\t\t\t<div className=\"dps-instance-sidebar-content-row\">\n\t\t\t\t\t\t\t\t<h6>Release</h6>\n\t\t\t\t\t\t\t\t<span className=\"dps-instance-sidebar-content-header-status\">\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t(releaseInfo.activeVersionsFormatted)\n\t\t\t\t\t\t\t\t\t\t\t? releaseInfo.activeVersionsFormatted[instanceInfo.release.toLowerCase()] || instanceInfo.release\n\t\t\t\t\t\t\t\t\t\t\t: instanceInfo.full_release\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t{releaseNotesUrl ?\n\t\t\t\t\t\t\t\t\t<dps-link href={releaseNotesUrl } externalAction target=\"_blank\">\n\t\t\t\t\t\t\t\t\t\tSee release notes\n\t\t\t\t\t\t\t\t\t</dps-link>:\n\t\t\t\t\t\t\t\t\tnull}\n\t\t\t\t\t\t\t</div>:\n\t\t\t\t\t\t\tnull}\n\t\t\t\t\t</Fragment>\n\t\t\t\t\t: instanceRequestDiv({ ...props })\n\t\t\t}\n\t\t</div>\n\t);\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport '@servicenow/now-icon';\nimport { createRef } from '@servicenow/ui-renderer-snabbdom';\nimport { KEYCODE } from '../../constants';\n\nconst DPS_DROPDOWN_SCROLL = 'DPS_DROPDOWN_MENU#KEYDOWN';\nconst DPS_DROPDOWN_FOCUS = 'DPS_DROPDOWN_MENU#KEYDOWN_FOCUS';\n\nexport default {\n\tname: 'dropDownbehavior',\n\tactionHandlers:{\n\t\t// MIGRATION: COMPONENT_DOM_READY\n\t\t[actionTypes.COMPONENT_DOM_READY]({properties,dispatch,updateState}) {\n\t\t\tupdateState({\n\t\t\t\tdropdownRef: createRef()\n\t\t\t});\n\t\t\tconst { parentRef } = properties;\n\t\t\tif (parentRef && parentRef.current) {\n\t\t\t\tparentRef.current.addEventListener('keydown',event => dispatch(DPS_DROPDOWN_SCROLL,event));\n\t\t\t}\n\t\t},\n\t\t[actionTypes.COMPONENT_PROPERTY_CHANGED]({action,updateProperties,properties}) {\n\t\t\tif((action.payload.name === 'opened') && (properties.opened !== action.payload.previous)||(action.payload.name === 'items') && (action.payload.previousValue.length === 0)) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tactive: null,\n\t\t\t\t\tisScroll: false\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[DPS_DROPDOWN_SCROLL]({action,properties,dispatch,updateProperties}) {\n\t\t\tconst e = action.payload;\n\t\t\tconst { items,active } = properties;\n\t\t\tif(items.length === 0) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tlet selectedIndex = active;\n\t\t\tlet count = 0;\n\t\t\tswitch(e.keyCode) {\n\t\t\t\tcase KEYCODE.UP_ARROW:\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tselectedIndex = selectedIndex <= 0 ? (items.length - 1) : selectedIndex-1 ;\n\t\t\t\t\twhile( items[selectedIndex].isDisabled && count < items.length ) {\n\t\t\t\t\t\tselectedIndex = selectedIndex <= 0 ? (items.length - 1) : selectedIndex-1 ;\n\t\t\t\t\t\tcount = count + 1;\n\t\t\t\t\t}\n\t\t\t\t\tselectedIndex = count === items.length? null : selectedIndex;\n\t\t\t\t\tdispatch(DPS_DROPDOWN_FOCUS,selectedIndex);\n\t\t\t\t\tbreak;\n\t\t\t\tcase KEYCODE.DOWN_ARROW:\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tselectedIndex = selectedIndex >= (items.length - 1) || selectedIndex === null ?  0: selectedIndex+1;\n\t\t\t\t\twhile( items[selectedIndex].isDisabled && count < items.length ) {\n\t\t\t\t\t\tselectedIndex = selectedIndex >= (items.length - 1) || selectedIndex === null ?  0 : selectedIndex+1;\n\t\t\t\t\t\tcount = count + 1;\n\t\t\t\t\t}\n\t\t\t\t\tselectedIndex = count === items.length? null : selectedIndex;\n\t\t\t\t\tdispatch(DPS_DROPDOWN_FOCUS,selectedIndex);\n\t\t\t\t\tbreak;\n\t\t\t\tcase KEYCODE.ENTER:\n\t\t\t\t\tif(!(properties.opened)) {\n\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\topened: true\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\t[DPS_DROPDOWN_FOCUS] ({action,updateProperties,state}) {\n\t\t\tconst active = action.payload;\n\t\t\tif( active === null ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tupdateProperties({\n\t\t\t\tactive\n\t\t\t});\n\t\t\tstate.dropdownRef.current.children[active].children[0].focus();\n\t\t}\n\t},\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom  from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-dropdown-panel.scss';\nimport dropDownbehavior from './dps-dropdown-scroll-behavior';\n\nlet tooTall;\nconst view = (state, { dispatch, updateProperties }) => {\n\tconst { dropdownRef } = state;\n\tconst { fixedWidth, items, opened, targetRef,rowHeight, isScroll } = state.properties;\n\n\tif (!opened || !items || !items.length) {\n\t\treturn null;\n\t}\n\n\tconst actualRef = targetRef.current || targetRef;\n\tconst { x, y, width, bottom, top } = actualRef.getBoundingClientRect();\n\n\tconst dropDownHeight = items.length * rowHeight;\n\tconst dropDownWidth = fixedWidth || width;\n\tconst winH = window.innerHeight;\n\tconst winW = window.innerWidth;\n\n\ttooTall = isScroll ? tooTall : dropDownHeight + y >= winH;\n\tconst tooWide = fixedWidth ? (fixedWidth + x) >= winW : width + x >= winW;\n\n\tconst itemStyle = {\n\t\theight: `${rowHeight}px`\n\t};\n\n\tconst menuStyle = {\n\t\tleft: tooWide ? `${x - dropDownWidth +  width}px` : `${x}px`,\n\t\ttop: tooTall ? `${top - dropDownHeight}px` : `${bottom}px`,\n\t\twidth: `${dropDownWidth}px`\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"dps-dropdown-panel\"\n\t\t\tstyle={menuStyle}\n\t\t>\n\t\t\t<ul ref= {dropdownRef}>\n\t\t\t\t{items.map(({callback, href, label, isDisabled, isExternal}) => {\n\t\t\t\t\tif ( href ) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t['disabled']: isDisabled\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\thref={href}\n\t\t\t\t\t\t\t\t\trel = {isExternal? 'external' : ''}\n\t\t\t\t\t\t\t\t\tstyle={itemStyle}\n\t\t\t\t\t\t\t\t\ton-click={ () => {\n\t\t\t\t\t\t\t\t\t\twindow.location.href = href;\n\t\t\t\t\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\t\t\t\t\topened: false,\n\t\t\t\t\t\t\t\t\t\t\tactive: null,\n\t\t\t\t\t\t\t\t\t\t\tisScroll: false\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>{label}</a>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tstyle={itemStyle}\n\t\t\t\t\t\t\t\ton-click={ () => {\n\t\t\t\t\t\t\t\t\tif(callback)\n\t\t\t\t\t\t\t\t\t\tcallback();\n\t\t\t\t\t\t\t\t\tdispatch('DPS_DROPDOWN_PANEL#SELECTED_ITEMS_SET', {value: label});\n\t\t\t\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\t\t\t\topened: false,\n\t\t\t\t\t\t\t\t\t\tactive: null,\n\t\t\t\t\t\t\t\t\t\tisScroll: false\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tdisabled = {isDisabled}\n\t\t\t\t\t\t\t>{label}</button>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-dropdown-panel', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tinitialState: {\n\t\t/**\n\t\t * This ref is used to reference\n\t\t * the dropdown(ul) list of items.\n\t\t */\n\t\tdropdownRef: {}\n\t},\n\tproperties: {\n\t\tfixedWidth: {},\n\t\titems: {},\n\t\topened: {},\n\t\ttargetRef: {\n\t\t\tdefault: null\n\t\t},\n\t\t/**\n\t\t * This ref is used to reference\n\t\t * the parent that uses the dropdown\n\t\t * panel, to add the keydown event\n\t\t * listener to it.\n\t\t */\n\t\tparentRef: {\n\t\t\tdefault: null\n\t\t},\n\t\tactive:{\n\t\t\tdefault: null\n\t\t},\n\t\trowHeight: {\n\t\t\tdefault: 40\n\t\t},\n\t\t/**\n\t\t * This value would be updated\n\t\t * as the document is scrolled\n\t\t */\n\t\tyScroll:{\n\t\t\tdefault: 0\n\t\t},\n\t\t/**\n\t\t * This value is used to check\n\t\t * if the page is being\n\t\t * scrolled\n\t\t */\n\t\tisScroll: {\n\t\t\tdefault: false\n\t\t},\n\t},\n\tbehaviors: [{\n\t\tbehavior: dropDownbehavior\n\t}],\n\teventHandlers: [{\n\t\tevents: ['scroll'],\n\t\teffect({properties,updateProperties}) {\n\t\t\tconst {opened,items} = properties;\n\t\t\tif( !opened || !items.length)\n\t\t\t\treturn null;\n\n\t\t\tupdateProperties({\n\t\t\t\tyScroll: window.scrollY,\n\t\t\t\tisScroll: true\n\t\t\t});\n\t\t},\n\t\ttarget: document\n\t}],\n\tstyles\n});\n","import {createCustomElement, actionTypes} from '@servicenow/ui-core';\nimport snabbdom,{createRef} from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-dropdown-button.scss';\nimport '@servicenow/now-icon';\nimport '../dps-dropdown-panel';\n\nconst WIDTH = 260;\nconst DPS_DROPDOWN_MENU_OPENED_SET = 'DPS_DROPDOWN_MENU#OPENED_SET';\n\nconst view = ({ properties, ref}, {dispatch, updateState}) => {\n\tconst {id, opened, label,menuItems, keyDownref} = properties;\n\tconst setTargetRef = ref => setTimeout(() => {\n\t\tupdateState({ref});\n\t});\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"dps-dropdown-menu\"\n\t\t\thook-insert={({elm}) => {\n\t\t\t\tsetTargetRef(elm);\n\t\t\t}}\n\t\t\thook-destroy={() => setTargetRef(null)}\n\t\t\ttab-index = '34'\n\t\t\tref={ keyDownref }\n\t\t>\n\t\t\t<button\n\t\t\t\tid = {id}\n\t\t\t\tclass={{\n\t\t\t\t\t['dps-dropdown-menu--button']: true,\n\t\t\t\t\t['active']: opened\n\t\t\t\t}}\n\t\t\t\ton-click={() => dispatch(DPS_DROPDOWN_MENU_OPENED_SET, {id, opened: !opened})}\n\t\t\t>\n\t\t\t\t{label}<now-icon icon=\"chevron-down-fill\" size=\"md\" className=\"dps-dropdown-menu--icon\"></now-icon>\n\t\t\t</button>\n\t\t\t<dps-dropdown-panel fixedWidth = {WIDTH} items = {menuItems} targetRef = {ref} opened={opened} parentRef = {keyDownref}></dps-dropdown-panel>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-dropdown-button', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tinitialState: {\n\t\t/**\n\t\t * @type {object}\n\t\t */\n\t\tref : {}\n\t},\n\tproperties: {\n\t\t/**\n\t\t * ID so you can monitor and close from the outside\n\t\t * @type {string}\n\t\t */\n\t\tid: {\n\t\t\tdefault: 'dropdown_button'\n\t\t},\n\t\t/**\n\t\t * Array of menu item objects. An item should have\n\t\t * a href or a callback, but not both. 'isDisabled'\n\t\t * would specify if the button needs to be disabled\n\t\t * or not. 'isExternal' is used to check if the\n\t\t * link is external or not.\n\t\t * ```\n\t\t * {\n\t\t *   label: string,\n\t\t *   href: (optional) string,\n\t\t *   icon: (optional) string,\n\t\t *   callback: (optional) function\n\t\t *   isDisabled: (optional) boolean\n\t\t * \t isExternal: {optional} boolean\n\t\t * }\n\t\t * ```\n\t\t * @type {array}\n\t\t */\n\t\tmenuItems: {\n\t\t\tdefault: []\n\t\t},\n\t\t/**\n\t\t * Determines if the menu is open\n\t\t * @type {boolean}\n\t\t */\n\t\topened: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Specifies the name of the button\n\t\t */\n\t\tlabel: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * The ref that would be passed to\n\t\t * the dropdown panel for adding\n\t\t * the key down event listener to it.\n\t\t */\n\t\tkeyDownref: {\n\t\t\tdefault: null\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t[actionTypes.COMPONENT_CONNECTED] ({updateProperties}) {\n\t\t\tupdateProperties({\n\t\t\t\tkeyDownref: createRef()\n\t\t\t});\n\t\t},\n\t\t[DPS_DROPDOWN_MENU_OPENED_SET]: {\n\t\t\teffect({action, updateProperties}) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\topened: action.payload.opened\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\teventHandlers: [{\n\t\tevents: ['click'],\n\t\teffect({properties,dispatch}) {\n\t\t\tif(!properties.opened)\n\t\t\t\treturn;\n\n\t\t\tconst pathEl = event.path || (event.composedPath && event.composedPath());\n\t\t\tif(!pathEl.some(el => (el.className === 'dps-dropdown-menu--button active')))\n\t\t\t\tdispatch(DPS_DROPDOWN_MENU_OPENED_SET,{opened: false});\n\t\t},\n\t\ttarget: document\n\t}],\n\tstyles\n});\n","import '../../dps-dropdown-button';\nimport { DPS_INSTANCE_SIDEBAR } from '../dps-instance-sidebar-actions';\nimport { getReleaseNotesUrl } from '../../../utils/helpers';\n\n\nexport const Instancewaitlist = props => {\n\tconst { instanceInfo, releaseInfo, dispatch } = props;\n\tconst releaseNotesUrl = getReleaseNotesUrl(releaseInfo, instanceInfo);\n\n\treturn (\n\t\t<div className=\"dps-instance-sidebar-content dps-instance-sidebar-content-instance-info\">\n\t\t\t<div className=\"dps-instance-sidebar-content-row\">\n\t\t\t\t<h6>Instance Status</h6>\n\t\t\t\t<div className=\"dps-instance-sidebar-content-header-status\">\n\t\t\t\t\tWaitlisted\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div className=\"dps-instance-sidebar-content-row\">\n\t\t\t\t<h6>Release</h6>\n\t\t\t\t<span className=\"dps-instance-sidebar-content-header-status\">\n\t\t\t\t\t{\n\t\t\t\t\t\t(instanceInfo.release && releaseInfo.activeVersionsFormatted)\n\t\t\t\t\t\t\t? releaseInfo.activeVersionsFormatted[instanceInfo.release.toLowerCase()] || instanceInfo.release\n\t\t\t\t\t\t\t: instanceInfo.full_release\n\t\t\t\t\t}\n\t\t\t\t</span>\n\t\t\t\t{releaseNotesUrl ?\n\t\t\t\t\t<dps-link href={releaseNotesUrl } externalAction target=\"_blank\">\n\t\t\t\t\t\t\t\tSee release notes\n\t\t\t\t\t</dps-link>:\n\t\t\t\t\tnull}\n\t\t\t</div>\n\t\t\t<div className=\"dps-instance-sidebar-content-header-status\" >Do you want to leave the waitlist?</div>\n\t\t\t<dps-button\n\t\t\t\tclassName=\"dps-instance-sidebar-content-btn-waitlist\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tlabel='Leave waitlist'\n\t\t\t\ton-click= {() => dispatch(DPS_INSTANCE_SIDEBAR.ASSIGNMENT_MENU_ITEM_CLICKED, {selected: 'request'})}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n","import '../../dps-dropdown-button';\nimport * as Icons from '../../../icons';\nimport { INSTANCE_ACTION_STATES, INSTANCE_HELPER_OBJ } from '../../../constants';\n\nexport const InstanceOffline = () => {\n\treturn (\n\t\t<div>\n\t\t\t<div className=\"dps-instance-sidebar-content dps-instance-sidebar-content-instance-info\">\n\t\t\t\t<div className=\"dps-instance-sidebar-content-row\">\n\t\t\t\t\t<h6>Instance Status</h6>\n\t\t\t\t\t<div className=\"dps-instance-sidebar-content-header-status\">\n\t\t\t\t\t\t<img src={Icons.instanceOutage} />\n\t\t\t\t\t\t<label>{ INSTANCE_HELPER_OBJ[INSTANCE_ACTION_STATES.OFFLINE].label || ''}</label>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<p className=\"dps-instance-sidebar-content-header-status\">\n\t\t\t\t\t{INSTANCE_HELPER_OBJ[INSTANCE_ACTION_STATES.OFFLINE].contentText || ''}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n","import '../../dps-dropdown-button';\nimport * as Icons from '../../../icons';\nimport {\n\tINSTANCE_ACTION_STATES,\n\tINSTANCE_HELPER_OBJ\n} from '../../../constants';\nimport { getReleaseNotesUrl } from '../../../utils/helpers';\n\nexport const InstanceMaintenance = props => {\n\tconst {\n\t\tinstanceInfo,\n\t\treleaseInfo,\n\t\tsystemProperties\n\t} = props;\n\n\tconst maintenanceObj =\n\t\tINSTANCE_HELPER_OBJ[INSTANCE_ACTION_STATES.MAINTENANCE_IN_PROGRESS];\n\n\tconst releaseNotesUrl = getReleaseNotesUrl(releaseInfo, instanceInfo);\n\n\treturn (\n\t\t<div className=\"dps-instance-sidebar-content dps-instance-sidebar-content-instance-info\">\n\t\t\t<div className=\"dps-instance-sidebar-content-row\">\n\t\t\t\t<h6>Instance Status</h6>\n\t\t\t\t<div className=\"dps-instance-sidebar-content-header-status\">\n\t\t\t\t\t<img src={Icons.instanceMaintenance} />\n\t\t\t\t\t{maintenanceObj.label}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div className=\"dps-instance-sidebar-content-row\">\n\t\t\t\t<h6>Release</h6>\n\t\t\t\t<span className=\"dps-instance-sidebar-content-header-status\">\n\t\t\t\t\t{instanceInfo.release && releaseInfo.activeVersionsFormatted\n\t\t\t\t\t\t? releaseInfo.activeVersionsFormatted[\n\t\t\t\t\t\t\tinstanceInfo.release.toLowerCase()\n\t\t\t\t\t\t  ]\n\t\t\t\t\t\t: instanceInfo.full_release}\n\t\t\t\t</span>\n\t\t\t\t{releaseNotesUrl ?\n\t\t\t\t\t<dps-link href={ releaseNotesUrl } externalAction target=\"_blank\">\n\t\t\t\t\t\t\t\tSee release notes\n\t\t\t\t\t</dps-link>:\n\t\t\t\t\tnull}\n\t\t\t</div>\n\t\t\t{instanceInfo.remaingHoursOfMaintenenace > 0 ? (\n\t\t\t\t<span>\n\t\t\t\t\t<div className=\"dps-instance-sidebar-content-row\">\n\t\t\t\t\t\t<h6>Estimated Completion Time</h6>\n\t\t\t\t\t\t<span className=\"dps-instance-sidebar-content-header-status\">\n\t\t\t\t\t\t\t{instanceInfo.remaingHoursOfMaintenenace > 1\n\t\t\t\t\t\t\t\t? `${instanceInfo.remaingHoursOfMaintenenace} Hours`\n\t\t\t\t\t\t\t\t: `${instanceInfo.remaingHoursOfMaintenenace} Hour`}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"dps-instance-sidebar-content-header-status\">\n\t\t\t\t\t\t{maintenanceObj.contentText}\n\t\t\t\t\t</div>\n\t\t\t\t</span>\n\t\t\t) : (\n\t\t\t\t<div className=\"dps-instance-sidebar-content-row\">\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"dps-instance-sidebar-content-header-status\"\n\t\t\t\t\t\tinnerHTML={\n\t\t\t\t\t\t\tsystemProperties[\n\t\t\t\t\t\t\t\t'dev.instance.message.instance_under_maintenance'\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t></span>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n","import * as Icons from '../../../icons';\n// eslint-disable-next-line no-unused-vars\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../../dps-link';\nimport {\n\tDPS_NAV_INSTANCE_MANAGEMENT,\n\tINSTANCE_ACTION_STATES,\n\tDPS_MAGIC_LINK_ACTIONS\n} from '../../../constants';\nimport { DPS_INSTANCE_SIDEBAR } from '../dps-instance-sidebar-actions';\nimport { getReleaseNotesUrl } from '../../../utils/helpers';\n\nconst getContent = (isInstanceWaking, isUnderMaintenance, dispatch) => {\n\tif (!isInstanceWaking) {\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t<div className=\"dps-instance-sidebar-content-row\">\n\t\t\t\t\t<p>\n\t\t\t\t\t\tYour instance is hibernating due to inactivity.\n\t\t\t\t\t\t{!isUnderMaintenance ? (\n\t\t\t\t\t\t\t<Fragment>&nbsp;Wake up your instance to resume work.</Fragment>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t{!isUnderMaintenance ? (\n\t\t\t\t\t<div className=\"dps-instance-sidebar-content-btn-group\">\n\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\tlabel=\"Wake instance\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\tdispatch(APP_ACTIONS.WAKE_UP_INSTANCE_TRIGGER);\n\t\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\t\taction: 'click WakeUp instance - instance sidebar',\n\t\t\t\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\t\t\t\tlabel: 'Authenticated home page / Nav drop down',\n\t\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t</Fragment>\n\t\t);\n\t}\n};\n\nexport const WakeupInstance = props => {\n\tconst {\n\t\tdispatch,\n\t\tinstanceInfo,\n\t\tinstanceReleaseShow,\n\t\treleaseInfo,\n\t\tupdateProperties,\n\t\tisInstanceRefreshing\n\t} = props;\n\n\tconst {\n\t\trelease,\n\t\turl,\n\t\tremainingInactivityDays,\n\t\tremainingInactivityDaysUnitStr,\n\t\tstate: status,\n\t\tisUnderMaintenance,\n\t\tfull_release\n\t} = instanceInfo;\n\n\tconst isInstanceWaking =\n\t\tstatus === INSTANCE_ACTION_STATES.WAKING_INSTANCE_IN_PROGRESS;\n\tconst { sys_id } = instanceInfo;\n\tconst releaseNotesUrl = getReleaseNotesUrl(releaseInfo, instanceInfo);\n\n\n\treturn (\n\t\t<div className=\"dps-instance-sidebar-content dps-instance-sidebar-content-instance-info\">\n\t\t\t<div className=\"dps-instance-sidebar-content-row\">\n\t\t\t\t<h6>Instance Status</h6>\n\t\t\t\t<div className=\"dps-instance-sidebar-content-header-status\">\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc={\n\t\t\t\t\t\t\tisInstanceWaking\n\t\t\t\t\t\t\t\t? Icons.instanceFulfilling\n\t\t\t\t\t\t\t\t: Icons.instanceHibernating\n\t\t\t\t\t\t}\n\t\t\t\t\t/>{' '}\n\t\t\t\t\t{isInstanceWaking\n\t\t\t\t\t\t? INSTANCE_ACTION_STATES.WAKING_INSTANCE_IN_PROGRESS\n\t\t\t\t\t\t: INSTANCE_ACTION_STATES.HIBERNATING}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{getContent(isInstanceWaking, isUnderMaintenance, dispatch)}\n\t\t\t{!isInstanceWaking ? (\n\t\t\t\t<div className=\"dps-instance-sidebar-content-row\">\n\t\t\t\t\t<h6>Instance URL</h6>\n\t\t\t\t\t<dps-link href={url} target=\"_blank\"  on-click={(e) => {\n\t\t\t\t\t\t//Clicking on instance URL\n\t\t\t\t\t\tdispatch(DPS_INSTANCE_SIDEBAR.MAGIC_LINK_CLICKED);\n\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\taction: 'click on instance URL - instance sidebar',\n\t\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\t\tlabel: 'Authenticated home page / Nav drop down',\n\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t});\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t}}>\n\t\t\t\t\t\t{url}\n\t\t\t\t\t</dps-link>\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t\t<div className=\"dps-instance-sidebar-content-row\">\n\t\t\t\t<h6>Release</h6>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"dps-instance-sidebar-content-instance-info-text\"\n\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\tupdateProperties({ instanceReleaseShow: !instanceReleaseShow })\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{instanceReleaseShow && release && releaseInfo.activeVersionsFormatted\n\t\t\t\t\t\t? releaseInfo.activeVersionsFormatted[release.toLowerCase()]\n\t\t\t\t\t\t: full_release}\n\t\t\t\t</div>\n\t\t\t\t{releaseNotesUrl ?\n\t\t\t\t\t<dps-link href={releaseNotesUrl } externalAction target=\"_blank\">\n\t\t\t\t\t\t\t\tSee release notes\n\t\t\t\t\t</dps-link>:\n\t\t\t\t\tnull}\n\t\t\t</div>\n\t\t\t{!isInstanceWaking ? (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<div className=\"dps-instance-sidebar-content-row\">\n\t\t\t\t\t\t<h6>Remaining Inactivity</h6>\n\t\t\t\t\t\t<div className=\"dps-instance-sidebar-content-instance-info-text\">\n\t\t\t\t\t\t\t{remainingInactivityDays}&nbsp;\n\t\t\t\t\t\t\t{remainingInactivityDaysUnitStr}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"dps-instance-sidebar-content__instance-actions\">\n\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisInstanceRefreshing\n\t\t\t\t\t\t\t\t\t? DPS_NAV_INSTANCE_MANAGEMENT.REFRESH_STATUS_BUTTON_LABEL\n\t\t\t\t\t\t\t\t\t\t.REFRESHING\n\t\t\t\t\t\t\t\t\t: DPS_NAV_INSTANCE_MANAGEMENT.REFRESH_STATUS_BUTTON_LABEL\n\t\t\t\t\t\t\t\t\t\t.DEFAULT\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabled={isInstanceRefreshing}\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\tisInstanceRefreshing\n\t\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t\t: (\n\t\t\t\t\t\t\t\t\t\tdispatch(DPS_INSTANCE_SIDEBAR.REFRESH_STATUS, {\n\t\t\t\t\t\t\t\t\t\t\tinstanceSysID: sys_id\n\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\t\t\t\taction: 'click refresh instance - instance sidebar',\n\t\t\t\t\t\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\t\t\t\t\t\tlabel: 'Authenticated home page / Nav drop down',\n\t\t\t\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</Fragment>\n\t\t\t) : null}\n\t\t</div>\n\t);\n};\n","import {\n\tDPS_NAV_INSTANCE_MANAGEMENT,\n\tINSTANCE_ACTION_STATES,\n\tDPS_MAGIC_LINK_ACTIONS\n} from '../../../constants';\nimport '../../dps-dropdown-button';\nimport * as Icons from '../../../icons';\nimport { DPS_INSTANCE_SIDEBAR } from '../dps-instance-sidebar-actions';\nimport { isPluginActivateInProgress, sanitizeDate } from '../../../utils/instanceHelpers';\nimport { getReleaseNotesUrl } from '../../../utils/helpers';\n\nexport const InstanceInfoView = props => {\n\tconst {\n\t\tcatItemInProgress,\n\t\tdispatch,\n\t\tinstanceInfo,\n\t\tinstanceMenuItems,\n\t\tinstanceReleaseShow,\n\t\tisInstanceRefreshing,\n\t\treleaseInfo,\n\t\tsystemProperties,\n\t\tupdateProperties\n\t} = props;\n\n\tconst actionMenus = getMenuItems(instanceMenuItems, dispatch);\n\tconst isPluginActivating = isPluginActivateInProgress(\n\t\tcatItemInProgress,\n\t\tsystemProperties\n\t);\n\tconst isStatusOnline = instanceInfo.state === INSTANCE_ACTION_STATES.ONLINE;\n\tconst { sys_id } = instanceInfo;\n\tconst isInstanceRequested =\n\t\tinstanceInfo.state === INSTANCE_ACTION_STATES.REQUESTING_INSTANCE;\n\n\tconst releaseNotesUrl = getReleaseNotesUrl(releaseInfo, instanceInfo);\n\n\treturn (\n\t\t<div className=\"dps-instance-sidebar-content dps-instance-sidebar-content-instance-info\">\n\t\t\t<div className=\"dps-instance-sidebar-content-row\">\n\t\t\t\t<h6>Instance Status</h6>\n\t\t\t\t<div className=\"dps-instance-sidebar-content-header-status\">\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc={\n\t\t\t\t\t\t\tisStatusOnline ? Icons.instanceOnline : Icons.instanceFulfilling\n\t\t\t\t\t\t}\n\t\t\t\t\t/>{' '}\n\t\t\t\t\t{isStatusOnline\n\t\t\t\t\t\t? INSTANCE_ACTION_STATES.ONLINE\n\t\t\t\t\t\t: INSTANCE_ACTION_STATES.FULFILLING_REQUEST}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{!isInstanceRequested ? (\n\t\t\t\t<div>\n\t\t\t\t\t<div className=\"dps-instance-sidebar-content-row\">\n\t\t\t\t\t\t<h6>Instance URL</h6>\n\t\t\t\t\t\t<dps-link href={instanceInfo.url} target=\"_blank\" on-click={(e) => {\n\t\t\t\t\t\t\t//Clicking on the instance URL\n\t\t\t\t\t\t\tdispatch(DPS_INSTANCE_SIDEBAR.MAGIC_LINK_CLICKED);\n\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\taction: 'click on instance URL - instance sidebar',\n\t\t\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\t\t\tlabel: 'Authenticated home page / Nav drop down',\n\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t{instanceInfo.url}\n\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"dps-instance-sidebar-content-row\">\n\t\t\t\t\t\t<h6>Release</h6>\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"dps-instance-sidebar-content-instance-info-text\"\n\t\t\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\t\t\tupdateProperties({ instanceReleaseShow: !instanceReleaseShow })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{instanceReleaseShow &&\n\t\t\t\t\t\t\treleaseInfo &&\n\t\t\t\t\t\t\treleaseInfo.activeVersionsFormatted &&\n\t\t\t\t\t\t\tinstanceInfo.release\n\t\t\t\t\t\t\t\t? releaseInfo.activeVersionsFormatted[\n\t\t\t\t\t\t\t\t\tinstanceInfo.release.toLowerCase()\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t: instanceInfo.full_release}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t{releaseNotesUrl ?\n\t\t\t\t\t\t\t<dps-link href={ releaseNotesUrl } externalAction target=\"_blank\">\n\t\t\t\t\t\t\t\tSee release notes\n\t\t\t\t\t\t\t</dps-link>:\n\t\t\t\t\t\t\tnull}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"dps-instance-sidebar-content-row\">\n\t\t\t\t\t\t<h6>Remaining Activity</h6>\n\t\t\t\t\t\t<span className=\"dps-instance-sidebar-content-instance-info-text\">\n\t\t\t\t\t\t\t{instanceInfo.remainingInactivityDays}&nbsp;\n\t\t\t\t\t\t\t{instanceInfo.remainingInactivityDaysUnitStr}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"dps-instance-sidebar-content__instance-actions\">\n\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisInstanceRefreshing\n\t\t\t\t\t\t\t\t\t? DPS_NAV_INSTANCE_MANAGEMENT.REFRESH_STATUS_BUTTON_LABEL\n\t\t\t\t\t\t\t\t\t\t.REFRESHING\n\t\t\t\t\t\t\t\t\t: DPS_NAV_INSTANCE_MANAGEMENT.REFRESH_STATUS_BUTTON_LABEL\n\t\t\t\t\t\t\t\t\t\t.DEFAULT\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabled={isInstanceRefreshing}\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\tif (!isInstanceRefreshing) {\n\t\t\t\t\t\t\t\t\tdispatch(DPS_INSTANCE_SIDEBAR.REFRESH_STATUS, {\n\t\t\t\t\t\t\t\t\t\tinstanceSysID: sys_id\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t//Tracking the click for Refresh Instance\n\t\t\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\t\t\taction: 'click refresh instance - instance sidebar',\n\t\t\t\t\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\t\t\t\t\tlabel: 'Authenticated home page',\n\t\t\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<dps-dropdown-button label=\"Manage\" menuItems={actionMenus}>\n\t\t\t\t\t\t\tManage\n\t\t\t\t\t\t</dps-dropdown-button>\n\t\t\t\t\t</div>\n\t\t\t\t\t{isPluginActivating\n\t\t\t\t\t\t? pluginActivationInProgress()\n\t\t\t\t\t\t: checkInstanceStatus(instanceInfo)}\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t\t{isStatusOnline || isInstanceRequested || isInstanceRefreshing ? null : (\n\t\t\t\t<div className=\"dps-instance-sidebar-content-header-status\">\n\t\t\t\t\t{systemProperties['dev.instance.operation.message.fulfillingRequest']}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nconst pluginActivationInProgress = () => (\n\t<div className=\"dps-instance-sidebar-content-row\">\n\t\t<h6>Adding Plugin</h6>\n\t\t<p>One moment while we add a plugin to your instance.</p>\n\t</div>\n);\n\nconst dateFormat = date => {\n\tconst d = new Date(sanitizeDate(date));\n\treturn `${d.toLocaleString('default', {\n\t\tmonth: 'long'\n\t})} ${d.getDate()}, ${d.getFullYear()}`;\n};\n\nconst scheduledMaintenance = instanceObj => (\n\t<div className=\"dps-instance-sidebar-content-row\">\n\t\t<h6>Scheduled Maintenance</h6>\n\t\t<p>{dateFormat(instanceObj.scheduled_start_time)}</p>\n\t</div>\n);\n\nconst checkInstanceStatus = instanceInfo => instanceInfo.state === INSTANCE_ACTION_STATES.ONLINE &&\n\t\tinstanceInfo.scheduledMaintenance\n\t? scheduledMaintenance(instanceInfo.scheduledMaintenance)\n\t: null;\n\nexport const renderHeader = () => (\n\t<span>\n\t\t<img src={Icons.instance} />\n\t\t<span className=\"dps-instance-sidebar-header-text\">Your Instance</span>\n\t\t<hr />\n\t</span>\n);\n\n/**\n * getMenuItems - reformatting menu items for passing menu list to dropdown component\n */\nconst getMenuItems = (menuItems, dispatch) =>\n\tmenuItems.map(menuItem => ({\n\t\tlabel: menuItem.name,\n\t\tcallback() {\n\t\t\tdispatch(DPS_INSTANCE_SIDEBAR.OPERATION_MENU_ITEM_CLICKED, { menuItem, called_from: 'instance sidebar' });\n\t\t\t//Adding called from to track whether the menu item is triggered\n\t\t\t//from instance sidebar or expanded header nav\n\t\t},\n\t\tisDisabled: menuItem.disabled\n\t}));\n","import * as Icons from '../../../icons';\nimport { getReleaseNotesUrl } from '../../../utils/helpers';\n\nexport const InstanceProgress = ({props, instanceHelperObj}) => {\n\tconst { instanceInfo, releaseInfo } = props;\n\tconst releaseNotesUrl = getReleaseNotesUrl(releaseInfo, instanceInfo);\n\n\treturn (\n\t\t<div className=\"dps-instance-sidebar-content\">\n\t\t\t<div className=\"dps-instance-sidebar-content-row\">\n\t\t\t\t<h6>Instance Status</h6>\n\t\t\t\t<div className=\"dps-instance-sidebar-content-header-status\">\n\t\t\t\t\t<img src={Icons.instanceFulfilling} />\n\t\t\t\t\t{instanceHelperObj && instanceHelperObj.label}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div className=\"dps-instance-sidebar-content-row\">\n\t\t\t\t<h6>Release</h6>\n\t\t\t\t<span className=\"dps-instance-sidebar-content-header-status\">\n\t\t\t\t\t{\n\t\t\t\t\t\t(instanceInfo.release && releaseInfo.activeVersionsFormatted)\n\t\t\t\t\t\t\t? releaseInfo.activeVersionsFormatted[instanceInfo.release.toLowerCase()]\n\t\t\t\t\t\t\t: instanceInfo.full_release\n\t\t\t\t\t}\n\t\t\t\t</span>\n\t\t\t\t{releaseNotesUrl ?\n\t\t\t\t\t<dps-link href={ releaseNotesUrl } externalAction target=\"_blank\">\n\t\t\t\t\t\t\t\tSee release notes\n\t\t\t\t\t</dps-link>:\n\t\t\t\t\tnull}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n","/* eslint-disable no-unused-vars */\nimport { InstanceRequest } from './instance-request';\nimport {\n\tisInstanceInfoAndActionMenuNotAvail,\n\tisInstanceRestoreInProgress\n} from '../../../utils/instanceHelpers';\n\nimport { Instancewaitlist } from './instance-waitlist';\nimport { InstanceOffline } from './instance-offline';\nimport { InstanceMaintenance } from './instance-maintenance';\nimport { WakeupInstance } from './instance-wakeup';\nimport { InstanceInfoView } from './instance-info';\nimport { InstanceProgress } from './instance-progress';\nimport {\n\tINSTANCE_ACTION_STATES,\n\tINSTANCE_HELPER_OBJ,\n\tUSER_INSTANCE_STATES\n} from '../../../constants';\n\n/*\n\t1) Check instanceInfo and ActionMenuItems Available\n\t2) Check isAnyInstance Action in progress\n\t3) Check isRestore in progress\n\t4) Default requestInstance\n */\nexport const SidebarView = props => {\n\tconst { catItemInProgress, instanceInfo, instanceMenuItems } = props;\n\n\tlet status = instanceInfo && instanceInfo.state;\n\n\tif (\n\t\tisInstanceInfoAndActionMenuNotAvail(\n\t\t\tinstanceMenuItems,\n\t\t\tinstanceInfo,\n\t\t\tUSER_INSTANCE_STATES\n\t\t)\n\t) {\n\t\treturn;\n\t}\n  \n\tif (catItemInProgress && catItemInProgress.sys_id) {\n\t\tinstanceInfo.state = INSTANCE_ACTION_STATES.FULFILLING;\n\t\tstatus = INSTANCE_ACTION_STATES.FULFILLING;\n\t}\n\n\tif (status) {\n\t\treturn renderComponentView(status, props);\n\t}\n};\n\n/*\n  Render component view based on status\n */\nconst renderComponentView = (status, props) => {\n\tconst { instanceInfo, isBlockedUser } = props;\n\n\tif (isInstanceRestoreInProgress(instanceInfo)) {\n\t\tconst restoreProps = {\n\t\t\tprops,\n\t\t\tinstanceHelperObj:\n\t\t\t\tINSTANCE_HELPER_OBJ[INSTANCE_ACTION_STATES.RESTORE_IN_PROGRESS]\n\t\t};\n\t\treturn <InstanceProgress {...restoreProps} />;\n\t}\n\n\tswitch (status) {\n\t\tcase INSTANCE_ACTION_STATES.REQUESTING_INSTANCE:\n\t\tcase INSTANCE_ACTION_STATES.FULFILLING:\n\t\t\treturn <InstanceInfoView {...props} />;\n\t\tcase INSTANCE_ACTION_STATES.ONLINE:\n\t\t\treturn instanceInfo.isUnderMaintenance ? (\n\t\t\t\t<InstanceMaintenance {...props} />\n\t\t\t) : (\n\t\t\t\t<InstanceInfoView {...props} />\n\t\t\t);\n\t\tcase INSTANCE_ACTION_STATES.WAKEUP_IN_PROGRESS:\n\t\t\treturn <WakeupInstance {...props} />;\n\t\tcase INSTANCE_ACTION_STATES.HIBERNATING:\n\t\t\treturn instanceInfo.isUnderMaintenance ? (\n\t\t\t\t<InstanceMaintenance {...props} />\n\t\t\t) : (\n\t\t\t\t<WakeupInstance {...props} />\n\t\t\t);\n\t\tcase INSTANCE_ACTION_STATES.WAITLIST:\n\t\t\treturn <Instancewaitlist {...props} />;\n\t\tcase INSTANCE_ACTION_STATES.OFFLINE:\n\t\t\treturn instanceInfo.isUnderMaintenance ? (\n\t\t\t\t<InstanceMaintenance {...props} />\n\t\t\t) : (\n\t\t\t\t<InstanceOffline />\n\t\t\t);\n\t\tdefault:\n\t\t\treturn isBlockedUser ? null : <InstanceRequest {...props} />;\n\t}\n};\n","/* eslint-disable no-unused-vars */\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-instance-sidebar.scss';\nimport '@servicenow/now-icon';\nimport '../dps-link';\nimport '../dps-button';\nimport * as Icons from '../../icons';\nimport { SidebarView } from './templates/sidebarView';\nimport { CONSTANTS, INSTANCE_ACTION_STATES } from '../../constants';\nimport '../dps-spinner';\n\nconst DpsInstanceSidebar = (state, { dispatch, updateProperties }) => {\n\tconst { instanceInfo, releaseInfo, userInfo, isBlockedUser } = state.properties;\n\n\tconst isPristineUser =\n\t\tuserInfo && userInfo.userType === CONSTANTS.DEFAULTS.PRISTINE_USER;\n\tconst sidebarProps = {\n\t\t...state.properties,\n\t\tdispatch,\n\t\tupdateProperties\n\t};\n\treturn isPristineUser &&\n\t\tinstanceInfo.state !== INSTANCE_ACTION_STATES.REQUESTING_INSTANCE ? null : (\n\t\t<div className=\"dps-instance-sidebar-container\">\n\t\t\t<div className=\"dps-instance-sidebar-card-header\">\n\t\t\t\t<img src={Icons.instance} />\n\t\t\t\t<span className=\"dps-instance-sidebar-header-text\">Your Instance</span>\n\t\t\t\t<hr />\n\t\t\t</div>\n\t\t\t{Object.keys(instanceInfo).length > 0 &&\n\t\t\tObject.keys(releaseInfo).length > 0 ? (\n\t\t\t\t\t<SidebarView {...sidebarProps} />\n\t\t\t) : (\n\t\t\t\t<dps-spinner size=\"sm\" />\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-instance-sidebar', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DpsInstanceSidebar\n\t},\n\tinitialState: {\n\t\tinstanceStatusIcon: Icons.instanceOnline,\n\t\tisInstanceWaking: false\n\t},\n\tproperties: {\n\t\tcatItemInProgress: {\n\t\t\tdefault: null\n\t\t},\n\t\tinstanceInfo: {\n\t\t\tdefault: null\n\t\t},\n\t\tinstanceMenuItems: {\n\t\t\tdefault: [],\n\t\t\tselectable: true\n\t\t},\n\t\tinstanceReleaseShow: {\n\t\t\tdefault: true\n\t\t},\n\t\tisInstanceRefreshing: {\n\t\t\tdefault: false\n\t\t},\n\t\treleaseInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tsystemProperties: {\n\t\t\tdefault: {}\n\t\t},\n\t\tuserInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tisBlockedUser: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tstyles\n});\n","import '../../components/dps-instance-sidebar';\nimport '../../components/dps-link';\nimport '../../components/dps-spinner';\nimport '@servicenow/now-icon';\nimport communityImg from '../../images/icons/community.svg';\n\nconst _renderSidebarSection = ({ loading, title, content, allLink, dispatch }) => (\n\t<div className=\"dps-home-auth-sidebar-section\">\n\t\t<h3>{title}</h3>\n\t\t<hr />\n\t\t{loading ? (\n\t\t\t<dps-spinner size=\"sm\" />\n\t\t) : (\n\t\t\t\t<div className=\"dps-home-auth-sidebar-section-content\">\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t{content.map(item => (\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<a target=\"_blank\" href={item.link} on-click={() => {\n\t\t\t\t\t\t\t\t\t//Tracking blog and community discussion section\n\t\t\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\t\t\taction: `click on ${title}-${item.title} auth homepage`,\n\t\t\t\t\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\t\t\t\t\tlabel: 'Authenticated home page / Nav drop down',\n\t\t\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t<h4 innerHTML={item.title} />\n\t\t\t\t\t\t\t\t\t<p>{item.time}</p>\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</ul>\n\t\t\t\t\t<dps-link\n\t\t\t\t\t\tbutton-style=\"primary\"\n\t\t\t\t\t\tbare\n\t\t\t\t\t\tinternal-action\n\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\thref={allLink.link}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t//Tracking see all button for community discussions or blog posts\n\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\taction: `click on ${title}  See All/More button auth homepage`,\n\t\t\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\t\t\tlabel: 'Authenticated home page / Nav drop down',\n\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{allLink.label}\n\t\t\t\t\t</dps-link>\n\t\t\t\t</div>\n\t\t\t)}\n\t</div>\n);\n\nconst renderCommunitySection = ({ loading, systemProperties }) => {\n\tconst COMMUNITY_LINK = systemProperties['dev.community_link'];\n\treturn (\n\t\t<div className=\"dps-home-auth-sidebar-section\">\n\t\t\t<h3>Community</h3>\n\t\t\t<hr />\n\t\t\t{loading ? (\n\t\t\t\t<dps-spinner size=\"sm\" />\n\t\t\t) : (\n\t\t\t\t\t<div className=\"dps-home-auth-sidebar-section-content\">\n\t\t\t\t\t\t<div className=\"dps-home-auth-sidebar-section-content_community-intro\">Start a conversation.</div>\n\n\t\t\t\t\t\t<div className=\"dps-home-auth-sidebar-section-content_community-img\">\n\t\t\t\t\t\t\t<img src={communityImg}></img>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div className=\"dps-home-auth-sidebar-section-content_community-description\">\n\t\t\t\t\t\t\t<div>Browse our community to ask questions and exchange knowledge.</div>\n\t\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\tbutton-style\n\t\t\t\t\t\t\t\tbutton-variant=\"secondary\"\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\tinternalAction\n\t\t\t\t\t\t\t\thref={ COMMUNITY_LINK }\n\t\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\t\t//Tracking see all button for community discussions or blog posts\n\t\t\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\t\t\taction: `click on Browse Community to navigate to community page`,\n\t\t\t\t\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\t\t\t\t\tlabel: 'Authenticated home page / Browse Community',\n\t\t\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tBrowse Community\n\t\t\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport const _renderSidebar = ({\n\tblogPosts,\n\tcatItemInProgress,\n\tfirst_name,\n\tloading,\n\thasInstance,\n\tisInstanceRefreshing,\n\tuserDismissedBanner,\n\tinstanceInfo,\n\tinstanceMenuItems,\n\treleaseInfo,\n\tsystemProperties,\n\tuserInfo,\n\tdispatch,\n\tisBlockedUser\n}) => (\n\t\t<div className=\"sidebar\">\n\t\t\t<div className=\"welcome\">\n\t\t\t\t<h3>Welcome, {first_name}!</h3>\n\t\t\t\t<p>Consider this your home base for your Developer Program experience.</p>\n\t\t\t</div>\n\n\t\t\t<div className=\"instance-widget\">\n\t\t\t\t{hasInstance ||\n\t\t\t\t\tuserDismissedBanner ||\n\t\t\t\t\tinstanceInfo.state === 'waitlist' ? (\n\t\t\t\t\t\t<dps-instance-sidebar\n\t\t\t\t\t\t\tcatItemInProgress={catItemInProgress}\n\t\t\t\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\t\t\t\tuserInfo={userInfo}\n\t\t\t\t\t\t\tinstanceMenuItems={instanceMenuItems}\n\t\t\t\t\t\t\tisInstanceRefreshing={isInstanceRefreshing}\n\t\t\t\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\t\tisBlockedUser= {isBlockedUser}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t</div>\n\n\t\t\t{_renderSidebarSection({\n\t\t\t\tloading,\n\t\t\t\ttitle: 'Recent Blog Posts',\n\t\t\t\tallLink: {\n\t\t\t\t\tlabel: 'See All Posts',\n\t\t\t\t\tlink: '/blog.do'\n\t\t\t\t},\n\t\t\t\tcontent: blogPosts.map(post => ({\n\t\t\t\t\ttitle: post.title,\n\t\t\t\t\tlink: post.path,\n\t\t\t\t\ttime: post.blog_created_time\n\t\t\t\t})),\n\t\t\t\tdispatch\n\t\t\t})}\n\n\t\t\t{renderCommunitySection({ loading, systemProperties })}\n\t\t</div>\n\t);\n","import '../../components/dps-share-projects';\nimport './dps-home-auth-new-user-banner';\nimport '../dps-ad-cards-connected';\nimport { _renderLearn } from './_learn-section';\nimport BuildSection from './buildSection';\nimport BuildSectionBanner from './buildSectionBanner';\nimport { _renderDiscover } from './_discover-section';\nimport { _renderPartnerBanner } from './_partner-banner';\nimport { showRequestInstance } from '../../utils/instanceHelpers';\nimport { _renderSidebar } from './_sidebar';\nimport { getFormattedInstanceReleaseInfo } from '../../utils/releaseHelpers';\nimport { CONSTANTS } from '../../constants';\nimport { FIRST_APPLICATION_STATUS } from './buildSectionHelper';\n\nconst view = ({ properties }, dispatch) => {\n\tconst {\n\t\tblogPosts,\n\t\tcatItemInProgress,\n\t\tdiscussions,\n\t\tfeaturedShareProjects,\n\t\tfollowingShareProjects,\n\t\tinstanceInfo,\n\t\tinstanceMenuItems,\n\t\tisInstanceRefreshing,\n\t\tlearnOtherReleases,\n\t\tlearnProgress,\n\t\tloading,\n\t\tmyShareProjects,\n\t\trelease,\n\t\treleaseInfo,\n\t\tpathname,\n\t\tsystemProperties,\n\t\tuserDismissedBanner,\n\t\tuserInfo,\n\t\tbuildItems,\n\t\tfirstApplicationStarted,\n\t\tisBlockedUser\n\t} = properties;\n\n\tconst { first_name, userType } = userInfo;\n\tconst isPristineUser = userType === CONSTANTS.DEFAULTS.PRISTINE_USER;\n\tconst instanceName = instanceInfo.name;\n\tconst hasInstance = instanceInfo.state;\n\tlet showBanner;\n\n\tconst instanceRelease = getFormattedInstanceReleaseInfo(instanceInfo);\n\tconst isShowRequestInstance = showRequestInstance(instanceInfo);\n\n\tif (userDismissedBanner || !hasInstance) {\n\t\tshowBanner = false;\n\t} else {\n\t\tshowBanner = isShowRequestInstance\n\t\t\t? true\n\t\t\t: hasInstance ||\n\t\t\t  ['waitlist', 'Requesting Instance'].includes(instanceInfo.state)\n\t\t\t? false\n\t\t\t: !userDismissedBanner;\n\t}\n\n\tconst renderBuildSectionBanner = ({\n\t\tinstanceName,\n\t\tfirstApplicationStarted,\n\t\trelease\n\t}) => {\n\t\treturn firstApplicationStarted && firstApplicationStarted.toString() === FIRST_APPLICATION_STATUS.NOT_STARTED ? (\n\t\t\t<BuildSectionBanner\n\t\t\t\tdispatch={dispatch}\n\t\t\t\trelease={release}\n\t\t\t></BuildSectionBanner>\n\t\t) : null;\n\t};\n\n\treturn (\n\t\t<div className=\"dps-home-auth\">\n\t\t\t{_renderSidebar({\n\t\t\t\tblogPosts,\n\t\t\t\tcatItemInProgress,\n\t\t\t\tdiscussions,\n\t\t\t\tfirst_name,\n\t\t\t\tloading,\n\t\t\t\thasInstance,\n\t\t\t\tisInstanceRefreshing,\n\t\t\t\tuserDismissedBanner,\n\t\t\t\tinstanceInfo,\n\t\t\t\tinstanceMenuItems,\n\t\t\t\treleaseInfo,\n\t\t\t\tsystemProperties,\n\t\t\t\tuserInfo,\n\t\t\t\tdispatch,\n\t\t\t\tisBlockedUser\n\t\t\t})}\n\n\t\t\t<article>\n\t\t\t\t{showBanner ? (\n\t\t\t\t\t<dps-home-auth-new-user-banner\n\t\t\t\t\t\topen={showBanner}\n\t\t\t\t\t\tuserInfo={userInfo}\n\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\t\t\tisPristineUser={isPristineUser}\n\t\t\t\t\t\tisBlockedUser={isBlockedUser}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\trenderBuildSectionBanner({\n\t\t\t\t\t\tinstanceName,\n\t\t\t\t\t\tfirstApplicationStarted,\n\t\t\t\t\t\trelease\n\t\t\t\t\t})\n\t\t\t\t)}\n\n\t\t\t\t<dps-ad-cards-connected\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t['-banner-closed']:firstApplicationStarted === FIRST_APPLICATION_STATUS.STARTED && !showBanner\n\t\t\t\t\t}}\n\t\t\t\t\tauthUser={userInfo.is_logged_in}\n\t\t\t\t\tis-dashboard\n\t\t\t\t/>\n\t\t\t\t<div className=\"main\">\n\t\t\t\t\t<p className=\"dps-home-auth-version-selector\">\n\t\t\t\t\t\t<dps-inline-version-selector\n\t\t\t\t\t\t\tinstanceRelease={instanceRelease}\n\t\t\t\t\t\t\tsourcePathname={pathname}\n\t\t\t\t\t\t\treleases={learnOtherReleases}\n\t\t\t\t\t\t\tselected={release}\n\t\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</p>\n\t\t\t\t\t{<BuildSection\n\t\t\t\t\t\t\tbuildItems={buildItems}\n\t\t\t\t\t\t\trelease={release}\n\t\t\t\t\t\t\tinstanceRelease={instanceRelease}\n\t\t\t\t\t\t\tlearnOtherReleases={learnOtherReleases}\n\t\t\t\t\t\t></BuildSection>}\n\n\t\t\t\t\t{_renderLearn({\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tinstanceRelease,\n\t\t\t\t\t\tlearnProgress,\n\t\t\t\t\t\tlearnOtherReleases,\n\t\t\t\t\t\trelease\n\t\t\t\t\t})}\n\n\t\t\t\t\t{showBanner ? null : (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<dps-share-projects\n\t\t\t\t\t\t\t\tfeaturedProjects={featuredShareProjects}\n\t\t\t\t\t\t\t\tfollowingProjects={followingShareProjects}\n\t\t\t\t\t\t\t\tyourProjects={myShareProjects}\n\t\t\t\t\t\t\t\tloading={loading}\n\t\t\t\t\t\t\t\tauthUser={userInfo.is_logged_in}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{_renderDiscover(dispatch)}\n\t\t\t\t</div>\n\n\t\t\t\t{_renderPartnerBanner(dispatch)}\n\t\t\t</article>\n\t\t</div>\n\t);\n};\n\nexport default view;\n","const initialState = {};\n\nexport default initialState;","const properties = {\n  blogPosts: {\n    default: []\n  },\n  buildItems: {\n    default: []\n  },\n  catItemInProgress: {\n    default: null\n  },\n  discussions: {\n    default: []\n  },\n  featuredShareProjects: {\n    default: []\n  },\n  firstApplicationStarted: {\n    default: ''\n  },\n  followingShareProjects: {\n    default: []\n  },\n  instanceInfo: {\n    default: {}\n  },\n  instanceMenuItems: {\n    default: []\n  },\n  isBlockedUser: {\n    default: false\n  },\n  isInstanceRefreshing: {\n    default: false\n  },\n  learnOtherReleases: {\n    default: []\n  },\n  learnProgress: {\n    default: []\n  },\n  loading: {\n    default: true\n  },\n  myShareProjects: {\n    default: []\n  },\n  release: {\n    default: '',\n    required: true,\n    schema: {\n      type: 'string'\n    }\n  },\n  releaseInfo: {\n    default: []\n  },\n  systemProperties: {\n    default: {}\n  },\n  userDismissedBanner: {\n    default: false\n  },\n  userInfo: {\n    default: null\n  }\n};\n\nexport default properties;\n","export const DPS_AUTH_HOME_ACTIONS = {\n\tFETCH_CONTENT: 'DPS_HOME_AUTH#FETCH_CONTENT',\n\tFETCH_CONTENT_SUCCESS: 'DPS_HOME_AUTH#FETCH_CONTENT_SUCCESS',\n\tFETCH_CONTENT_FAILED: 'DPS_HOME_AUTH#FETCH_CONTENT_FAILED'\n};\nexport default DPS_AUTH_HOME_ACTIONS;","/* eslint-disable object-shorthand */\nimport { actionTypes } from '@servicenow/ui-core';\nimport { DPS_AUTH_HOME_ACTIONS } from '../actions';\nimport { DevPlatformStorage } from '../../../utils/storage';\nimport { makeHttpEffectCreator } from '../../../utils/helpers';\nimport { CONSTANTS } from '../../../constants';\nimport { DPS_INLINE_VERSION_SELECTOR_ACTIONS } from '../../../components/dps-inline-version-selector/actions';\nimport { buildItemList, updateBuildItemList, isBuildFirstApplicationStarted } from '../buildSectionHelper';\nimport { MemStorage } from '../../../utils/memStorage';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst { FETCH_CONTENT } = DPS_AUTH_HOME_ACTIONS;\n\nconst LOCAL_STORAGE_KEYS = {\n\tnewUserBanner: CONSTANTS.DEFAULTS.AUTH_HOMEPAGE_NEW_USER_BANNER_KEY\n};\n\nconst FIRST_TIME = 'first_time';\n\nconst fetchContent = makeHttpEffectCreator(\n\tFETCH_CONTENT,\n\tCONSTANTS.ENDPOINTS.GET_DASHBOARD_CONTENT,\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tqueryParams: ['release'],\n\t\tonError(coeffects) {\n\t\t\tconst { updateProperties } = coeffects;\n\t\t\tupdateProperties({\n\t\t\t\tloading: false\n\t\t\t});\n\t\t},\n\t\tonSuccess(coeffects) {\n\t\t\tconst { action, updateProperties } = coeffects;\n\t\t\tconst {\n\t\t\t\tresult: {\n\t\t\t\t\ttrending_discussions,\n\t\t\t\t\trecent_blogs,\n\t\t\t\t\tlearn,\n\t\t\t\t\tmy_share_projects,\n\t\t\t\t\tfollowing_share_projects,\n\t\t\t\t\tfeatured_share_projects,\n\t\t\t\t\tbuild_page\n\t\t\t\t}\n\t\t\t} = action.payload;\n\n\t\t\tconst buildItems = updateBuildItemList(build_page);\n\t\t\tconst firstApplicationStarted = isBuildFirstApplicationStarted(buildItems);\n\n\t\t\tupdateProperties({\n\t\t\t\tloading: false,\n\t\t\t\tdiscussions: trending_discussions,\n\t\t\t\tblogPosts: recent_blogs.blogs,\n\t\t\t\tlearnProgress: learn.learn_progress,\n\t\t\t\tlearnOtherReleases: learn.other_releases,\n\t\t\t\tfeaturedShareProjects: featured_share_projects.apps,\n\t\t\t\tfollowingShareProjects: following_share_projects.contents,\n\t\t\t\tmyShareProjects: my_share_projects.contents,\n\t\t\t\tbuildItems: buildItems,\n\t\t\t\tfirstApplicationStarted: firstApplicationStarted\n\t\t\t});\n\t\t}\n\t}\n);\n\nexport default {\n\t[COMPONENT_BOOTSTRAPPED]: coeffects => {\n\t\tconst { dispatch, properties, updateProperties } = coeffects;\n\t\tdispatch(FETCH_CONTENT, { release: properties.release });\n\n\t\tconst userDismissedBanner = DevPlatformStorage.loadFromLocalStorage(\n\t\t\tLOCAL_STORAGE_KEYS.newUserBanner\n\t\t);\n\t\tupdateProperties({\n\t\t\tuserDismissedBanner\n\t\t});\n\t},\n\t...fetchContent,\n\t['DPS_DASHBOARD#NEW_USER_BANNER_CLOSED']: ({ updateProperties }) => {\n\t\tupdateProperties({\n\t\t\tuserDismissedBanner: true\n\t\t});\n\n\t\tDevPlatformStorage.saveToLocalStorage(\n\t\t\tLOCAL_STORAGE_KEYS.newUserBanner,\n\t\t\ttrue\n\t\t);\n\t},\n\t[COMPONENT_PROPERTY_CHANGED](coeffects) {\n\t\tconst { action, properties, dispatch } = coeffects;\n\t\tconst { name } = action && action.payload;\n\n\t\tif (name === 'instanceInfo') {\n\t\t\tdispatch(FETCH_CONTENT, { release: properties.release });\n\t\t}\n\t},\n\t[DPS_INLINE_VERSION_SELECTOR_ACTIONS.RELEASE_SELECTED]: coeffects => {\n\t\tconst { dispatch, action } = coeffects;\n\t\tconst { id: release } = action.payload.release;\n\t\tdispatch(FETCH_CONTENT, { release });\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport view from './view';\nimport initialState from './initialState';\nimport properties from './properties';\nimport actions from './actions';\nimport actionHandlers from './actionHandlers/index';\nimport styles from './dps-home-auth.scss';\n\nexport default createCustomElement('dps-home-auth', {\n\trenderer: { type: snabbdom },\n\tview,\n\tinitialState,\n\tproperties,\n\tactions,\n\tactionHandlers,\n\tstyles\n});\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {layerEvents} from '@servicenow/library-enhanced-utils';\nimport {\n\tfilterAriaAttributes,\n\tfindTabbableNodes,\n} from '@servicenow/library-enhanced-utils';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {t} from 'sn-translate';\nimport styles from './_now-modal.scss';\nimport '@servicenow/now-button';\nimport '@servicenow/now-tooltip';\nimport {actionTypes} from '@servicenow/ui-core';\nimport modalBehavior from '@servicenow/behavior-modal';\nimport {configAriaSchema} from '@servicenow/library-schemas';\nimport {isEmpty} from 'lodash';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport resizableBehavior from '@servicenow/behavior-resizable';\n\nimport packageInfo from '../package.json';\nconst {name, version} = packageInfo;\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n\nconst {\n\tCOMPONENT_DOM_READY,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_DISCONNECTED,\n} = actionTypes;\n\nconst handleFocusTrapIframe = (host, properties) => {\n\tconst tabbableNodes = findTabbableNodes(host);\n\tif (!tabbableNodes?.length) return;\n\tconst lastFocusableElement = tabbableNodes[tabbableNodes?.length - 1];\n\tif (lastFocusableElement?.tagName?.toLowerCase() !== 'iframe') return;\n\t//Edge case for focus trap when there is only an iframe in the modal slot and no footer actions\n\tif (properties?.footerActions?.length === 0) {\n\t\tconst firstFocusableElement = tabbableNodes[0];\n\t\tconst div = document.createElement('div');\n\t\tdiv.setAttribute('tabindex', '0');\n\t\tdiv.setAttribute('aria-hidden', 'true');\n\t\tdiv.setAttribute('id', 'now-modal-focus-trap');\n\t\tdiv.setAttribute('style', 'height: 0; width: 0;');\n\t\thost?.shadowRoot?.appendChild(div);\n\t\tdiv.addEventListener('focus', () => {\n\t\t\tfirstFocusableElement?.focus();\n\t\t});\n\t}\n};\nconst addModalToStack = (id, dispatch, disableClose) => {\n\tlayerEvents.add({\n\t\tid,\n\t\tevents: ['keydown'],\n\t\tcallback: (event) => {\n\t\t\tif (event.key !== 'Escape' || disableClose) return;\n\n\t\t\tdispatch(() => {\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'NOW_MODAL#OPENED_SET',\n\t\t\t\t\tpayload: {value: false},\n\t\t\t\t\tmeta: {origin: 'escape-key'},\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\t});\n};\n\nconst renderCloseButton = (disableClose, dispatch) => {\n\tif (disableClose) {\n\t\treturn;\n\t}\n\treturn (\n\t\t<now-button-iconic\n\t\t\tid=\"now-modal-close-button\"\n\t\t\tclassName=\"now-modal-button-iconic\"\n\t\t\ticon=\"close-fill\"\n\t\t\tvariant=\"tertiary\"\n\t\t\tsize=\"lg\"\n\t\t\thide-padding\n\t\t\tbare\n\t\t\tconfig-aria={{'aria-label': t('Close dialog')}}\n\t\t\ttooltip-content={t('Close dialog')}\n\t\t\ton-click={() => {\n\t\t\t\tdispatch(() => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'NOW_MODAL#OPENED_SET',\n\t\t\t\t\t\tpayload: {value: false},\n\t\t\t\t\t\tmeta: {origin: 'close-button'},\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nconst checkForScrollableContent = (host) => {\n\tconst modalBody = host?.shadowRoot?.querySelector('.now-modal-body');\n\tif (!modalBody) return;\n\tif (modalBody.clientHeight !== modalBody.scrollHeight) {\n\t\tmodalBody.setAttribute('tabindex', 0);\n\t} else {\n\t\tmodalBody.removeAttribute('tabindex');\n\t}\n};\n\nconst renderHeader = (\n\tcomponentId,\n\theaderLabel,\n\tlevel,\n\theaderLabelEl,\n\tdisableClose,\n\tdispatch,\n) => {\n\tif (!headerLabel) {\n\t\treturn;\n\t}\n\n\tconst HeadingLevel = `h${level}`;\n\treturn (\n\t\t<div className=\"now-modal-header\">\n\t\t\t{renderCloseButton(disableClose, dispatch)}\n\t\t\t<HeadingLevel\n\t\t\t\tid={`modalHeading-${componentId}`}\n\t\t\t\tclassName=\"now-modal-heading\"\n\t\t\t\tdata-truncation\n\t\t\t>\n\t\t\t\t{headerLabel}\n\t\t\t</HeadingLevel>\n\t\t</div>\n\t);\n};\n\nconst renderFooter = (footerActions, dispatch) => {\n\tif (isEmpty(footerActions)) return;\n\treturn (\n\t\t<div className=\"now-modal-footer\">\n\t\t\t{renderFooterActions(footerActions, dispatch)}\n\t\t</div>\n\t);\n};\n\nconst renderFooterActions = (footerActions, dispatch) => {\n\treturn footerActions\n\t\t.map((footerAction) => {\n\t\t\tconst {\n\t\t\t\tvariant,\n\t\t\t\tlabel,\n\t\t\t\tbare,\n\t\t\t\tdisabled,\n\t\t\t\ttooltipContent,\n\t\t\t\tclickActionType,\n\t\t\t\tconfigAria,\n\t\t\t} = footerAction;\n\n\t\t\tconst actionProps = {\n\t\t\t\tclassName: 'now-modal-footer-button',\n\t\t\t\tvariant,\n\t\t\t\tlabel,\n\t\t\t\tdisabled,\n\t\t\t\ttooltipContent,\n\t\t\t\tconfigAria,\n\t\t\t\t'on-click': () => {\n\t\t\t\t\tif (disabled) return;\n\n\t\t\t\t\tdispatch(() => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttype: clickActionType || 'NOW_MODAL#FOOTER_ACTION_CLICKED',\n\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\taction: footerAction,\n\t\t\t\t\t\t\t\t/* `action.payload.footerAction` is deprecated, keeping it around\n\t\t\t\t\t\t\t\t * to not break API, use `action` instead\n\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\tfooterAction,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t};\n\n\t\t\treturn bare ? (\n\t\t\t\t<now-button-bare {...actionProps} />\n\t\t\t) : (\n\t\t\t\t<now-button {...actionProps} />\n\t\t\t);\n\t\t})\n\t\t.reverse();\n};\n\nconst view = (state, {dispatch}) => {\n\tconst {headerLabelEl} = state;\n\tconst {\n\t\tsize,\n\t\tcustomSize,\n\t\tdisableClose,\n\t\theaderLabel,\n\t\theadingLevel,\n\t\tcontent,\n\t\tcontentFullWidth,\n\t\topened,\n\t\thidePadding,\n\t\tfooterActions,\n\t\tconfigAria,\n\t\tlegacyMode,\n\t\tnowId,\n\t} = state.properties;\n\n\tlet customStyle =\n\t\tcustomSize && customSize.height && customSize.width\n\t\t\t? {\n\t\t\t\t\t'--now-modal--height--custom': customSize.height,\n\t\t\t\t\t'--now-modal--width--custom': customSize.width,\n\t\t\t\t}\n\t\t\t: null;\n\tconst dialogSize = customStyle ? 'custom' : size;\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"now-modal-overlay\"\n\t\t\thidden={!opened}\n\t\t\ton-mousedown={(e) => {\n\t\t\t\tconst dialog = e\n\t\t\t\t\t.composedPath()\n\t\t\t\t\t.find((node) => node?.classList?.contains('now-modal-dialog'));\n\t\t\t\tif (!dialog) e.preventDefault();\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\trole=\"dialog\"\n\t\t\t\taria-labelledby={`modalHeading-${nowId}`}\n\t\t\t\tstyle={customStyle}\n\t\t\t\t{...filterAriaAttributes(configAria, 'dialog')}\n\t\t\t\tclass={{\n\t\t\t\t\t'now-modal': true,\n\t\t\t\t\t['-' + dialogSize]: dialogSize,\n\t\t\t\t\t['is-opened']: opened,\n\t\t\t\t\t'is-legacy-mode': legacyMode,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclass={{'now-modal-dialog': true, 'hide-padding': hidePadding}}\n\t\t\t\t\trole=\"document\"\n\t\t\t\t\t{...filterAriaAttributes(configAria, 'document')}\n\t\t\t\t>\n\t\t\t\t\t{renderHeader(\n\t\t\t\t\t\tnowId,\n\t\t\t\t\t\theaderLabel,\n\t\t\t\t\t\theadingLevel,\n\t\t\t\t\t\theaderLabelEl,\n\t\t\t\t\t\tdisableClose,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t)}\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'now-modal-body': true,\n\t\t\t\t\t\t\t'is-full-width': contentFullWidth,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{!headerLabel\n\t\t\t\t\t\t\t? renderCloseButton(disableClose, dispatch)\n\t\t\t\t\t\t\t: undefined}\n\t\t\t\t\t\t<slot>\n\t\t\t\t\t\t\t{content ? <p className=\"now-modal-p\">{content}</p> : undefined}\n\t\t\t\t\t\t</slot>\n\t\t\t\t\t</div>\n\t\t\t\t\t{renderFooter(footerActions, dispatch)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\n/**\n * A modal is a container that displays over application content to give\n * critical information or to ask users to complete a task in the middle of a\n * workflow. When the modal opens, users cannot access the application.\n *\n * Note: `now-modal` will 'hide' all elements outside of itself when opened.\n * This will provide the correct experience for assistive technologies. To learn\n * more about why this is necessary and how it works, [read more about modalBehavior](https://code.devsnc.com/dev/design-system/tree/master/behaviors/modal).\n *\n * ```jsx\n * <now-modal\n * \topened={openedApp}\n * \tsize='sm'\n * \theader-label='Hello!'\n * \tcontent='And this is the body of the modal.'\n * \tfooter-actions='[\n * \t\t{\n * \t\t\t\"variant\": \"primary\",\n * \t\t\t\"label\": \"Save\"\n * \t\t}\n * \t]'\n * />\n * ```\n *\n * @seismicElement now-modal\n * @summary A popup component that temporarily blocks underlying content to provide information or ask the user for a decision.\n */\ncreateEnhancedElement('now-modal', {\n\tproperties: {\n\t\t/**\n\t\t * Sets the size of the modal container. Most sizes automatically expand to\n\t\t * fill the viewport when the screen size is small.\n\t\t * If size is custom the size defaults to 1000px x 750px\n\t\t * or uses the customSize property if that is provided.\n\t\t * @type {('sm'|'md'|'lg'|'fullscreen'|'custom')}\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'sm',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['sm', 'md', 'lg', 'fullscreen', 'custom'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Optional sizes for the modal. Requires both height and width to be provided.\n\t\t * Height and width can be any css value and unit string (e.g px, mm, %, vh, etc.)\n\t\t * Custom height will be limited by minimum 133px and maximum 90% of view port.\n\t\t * Custom width will be limited by minimum 420px and maximum 100% of view port.\n\t\t * If either width or height is missing, the modal will default to 1000px x 750px\n\t\t * @type {{ height: string, width: string }}\n\t\t */\n\t\tcustomSize: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\theight: {\n\t\t\t\t\trequired: true,\n\t\t\t\t\tschema: {type: 'string'},\n\t\t\t\t},\n\t\t\t\twidth: {\n\t\t\t\t\trequired: true,\n\t\t\t\t\tschema: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * When true, the modal is open. Use `manage-opened` to override the\n\t\t * default behavior and handle the `NOW_MODAL#OPENED_SET` action manually.\n\t\t * @type {boolean}\n\t\t */\n\t\topened: {\n\t\t\tdefault: false,\n\t\t\tmanageable: true,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * When true, no close button will show and closing the modal via the keyboard will\n\t\t * be disabled. Enabling this property means the modal will no longer pass WCAG\n\t\t * requirements. You will need to replace the close functionality elsewhere within\n\t\t * the modal. Some valid use cases for setting this property would be a Session\n\t\t * Timeout dialog or a Terms & Conditions type modal where an explicit action is\n\t\t * required to proceed.\n\t\t * @type {boolean}\n\t\t */\n\t\tdisableClose: {default: false, schema: {type: 'boolean'}},\n\n\t\t/**\n\t\t * An object representing the configuration for the resizable behavior.\n\t\t * Accepted values:\n\t\t * - enableResizable : @type {boolean} When true, resize handles will be shown on the borders of the modal to support resizing.\n\t\t * - resizableMaxHeight : @type {number} Maximum height in pixels that the target element can be resized to. Default value is window's height.\n\t\t * - resizableMaxWidth : @type {number} Maximum width in pixels that the target element can be resized to. Default value is window's width\n\t\t * - resizableMinHeight : @type {number} Minimum height in pixels that the modal can be resized to. Default value is 600px.\n\t\t * - resizableMinWidth : @type {number} Minimum width in pixels that the modal can be resized to. Default value is 380px.\n\t\t * @type {{ enableResizable: boolean, resizableMinWidth: integer, resizableMinHeight: integer, resizableMaxWidth: integer, resizableMaxHeight: integer }}\n\t\t */\n\t\tresizableConfig: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tenableResizable: {\n\t\t\t\t\tdefault: false,\n\t\t\t\t\tschema: {type: 'boolean'},\n\t\t\t\t},\n\t\t\t\tresizableMinWidth: {\n\t\t\t\t\tdefault: 420,\n\t\t\t\t\tschema: {type: 'number'},\n\t\t\t\t},\n\t\t\t\tresizableMinHeight: {\n\t\t\t\t\tdefault: 133,\n\t\t\t\t\tschema: {type: 'number'},\n\t\t\t\t},\n\t\t\t\tresizableMaxWidth: {\n\t\t\t\t\tschema: {type: 'number'},\n\t\t\t\t},\n\t\t\t\tresizableMaxHeight: {\n\t\t\t\t\tschema: {type: 'number'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * The text content for the modal header.\n\t\t * @type {string}\n\t\t */\n\t\theaderLabel: {schema: {type: 'string'}},\n\t\t/**\n\t\t * HTML heading element number used to render the heading for modal header.\n\t\t * @type {number}\n\t\t */\n\t\theadingLevel: {\n\t\t\tdefault: 2,\n\t\t\tschema: {type: 'number', enum: [1, 2, 3, 4, 5, 6]},\n\t\t},\n\t\t/**\n\t\t * The text content for the modal. If you want to display complex content,\n\t\t * use the default slot instead. This property is ignored when an element\n\t\t * is slotted in.\n\t\t * @type {string}\n\t\t */\n\t\tcontent: {schema: {type: 'string'}},\n\t\t/**\n\t\t * When true, removes the default  padding inside the modal.\n\t\t * @type {boolean}\n\t\t */\n\t\thidePadding: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, removes the horizontal padding around the body of the modal\n\t\t * in order to fit wider content.\n\t\t * @type {boolean}\n\t\t */\n\t\tcontentFullWidth: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * An array of objects that defines the buttons in the modal footer.  You\n\t\t * can define up to four buttons, set from right to left.\n\t\t *\n\t\t * The keys of each object are properties for `now-button`. See\n\t\t * `now-button` for more documentation on these properties.\n\t\t * @type {{ label: string, variant: string, disabled: boolean, bare: boolean, tooltipContent: string, clickActionType: string, configAria: object}[]}\n\t\t */\n\t\tfooterActions: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tlabel: {type: 'string'},\n\t\t\t\t\t\tvariant: {type: 'string'},\n\t\t\t\t\t\tdisabled: {type: 'boolean'},\n\t\t\t\t\t\ttooltipContent: {type: 'string'},\n\t\t\t\t\t\tbare: {type: 'boolean'},\n\t\t\t\t\t\tclickActionType: {type: 'string'},\n\t\t\t\t\t\tconfigAria: {\n\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\tbutton: configAriaSchema,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tadditionalProperties: false,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * modal. The value of each key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s. These ARIA\n\t\t * properties are set on the specified element.\n\t\t * The 'dialog' key corresponds to the element in the modal which has the aria\n\t\t * `role` of `dialog`. See https://www.w3.org/TR/wai-aria-1.2/#dialog for\n\t\t * properties and accepted values.\n\t\t * The 'document' key corresponds to the element in the modal which has the aria\n\t\t * `role` of `document`. See https://www.w3.org/TR/wai-aria-1.2/#document for\n\t\t * properties and accepted values.\n\t\t * @type {{ dialog: {'aria-*': string, role: string}, document: {'aria-*': string, role: string} }}\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tdialog: configAriaSchema,\n\t\t\t\t\tdocument: configAriaSchema,\n\t\t\t\t},\n\t\t\t\tadditionalProperties: false,\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * WARNING: Do not use. This is a stop-gap while certain platform UI\n\t\t * is pending conversion to Seismic during Rome.\n\t\t * @private\n\t\t */\n\t\tlegacyMode: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the user clicks on a footer action item. Payload\n\t\t * includes a reference to the clicked item and action. Set\n\t\t * `action.clickActionType` to override the action type.\n\t\t * @type {{action: Object}}\n\t\t */\n\t\t'NOW_MODAL#FOOTER_ACTION_CLICKED': {},\n\t\t/**\n\t\t * Dispatched when the user dismisses the modal by clicking the dismiss\n\t\t * button or pressing `Escape` while the modal is open. A meta data field `origin` is included in the dispatch to\n\t\t * distinguish between the close button and the escape key press.\n\t\t * Set the `manage-opened` property to override the default behavior and handle\n\t\t * this action manually.\n\t\t * @type {{value: boolean}}\n\t\t */\n\t\t'NOW_MODAL#OPENED_SET': {},\n\t\t/**\n\t\t * Dispatched when the resize of the component has ended.\n\t\t * Payload contains a reference to the targets size and position.\n\t\t * @type {{width: number, height: number, left: number, top: number}}\n\t\t * @uib.description Dispatched when resize of the component has ended.\n\t\t */\n\t\t'NOW_MODAL#RESIZABLE_END': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\twidth: {type: 'number'},\n\t\t\t\t\theight: {type: 'number'},\n\t\t\t\t\tleft: {type: 'number'},\n\t\t\t\t\ttop: {type: 'number'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tslots: {\n\t\t/**\n\t\t * Content added to this slot appears inside the body of the modal. When\n\t\t * this slot is used, the `content` property is ignored.\n\t\t * @defaultSlot\n\t\t */\n\t\tdefaultSlot: {},\n\t},\n\tinitialState: {\n\t\ttriggerEl: null,\n\t\theaderLabelEl: null,\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_READY]: ({\n\t\t\thost,\n\t\t\tproperties,\n\t\t\tdispatch,\n\t\t\taction,\n\t\t\tupdateState,\n\t\t}) => {\n\t\t\tconst {id} = action.meta;\n\t\t\tconst {disableClose} = properties;\n\n\t\t\tif (properties.opened) {\n\t\t\t\taddModalToStack(id, dispatch, disableClose);\n\t\t\t\tcheckForScrollableContent(host);\n\t\t\t}\n\t\t\tconst headerLabelEl =\n\t\t\t\thost.nowRootNode.querySelector('.now-modal-heading');\n\t\t\tupdateState({headerLabelEl});\n\t\t},\n\t\t[COMPONENT_DOM_TREE_READY]: ({host, properties, action}) => {\n\t\t\tconst {firstRenderOnConnect} = action.meta;\n\t\t\tif (!firstRenderOnConnect) return;\n\t\t\thandleFocusTrapIframe(host, properties);\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({properties, action, dispatch, host}) => {\n\t\t\tconst {\n\t\t\t\tpayload: {name, value, previousValue},\n\t\t\t\tmeta: {id},\n\t\t\t} = action;\n\n\t\t\tconst {disableClose} = properties;\n\n\t\t\tif (name === 'opened') {\n\t\t\t\tif (value) {\n\t\t\t\t\taddModalToStack(id, dispatch, disableClose);\n\t\t\t\t\thandleFocusTrapIframe(host, properties);\n\t\t\t\t\tcheckForScrollableContent(host);\n\t\t\t\t} else {\n\t\t\t\t\thost?.shadowRoot?.querySelector('#now-modal-focus-trap')?.remove();\n\t\t\t\t\tlayerEvents.remove(id);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// If the number of footer actions is reduced, restore focus to the close button (DEF0115652)\n\t\t\t// but only if the focus is gone (DEF0553793)\n\t\t\tif (\n\t\t\t\tname === 'footerActions' &&\n\t\t\t\t!host.nowRootNode\n\t\t\t\t\t.querySelector('.now-modal-overlay')\n\t\t\t\t\t.matches(':focus-within') &&\n\t\t\t\t((previousValue && !value) ||\n\t\t\t\t\t(value && previousValue && value.length < previousValue.length))\n\t\t\t) {\n\t\t\t\tfindTabbableNodes(host)[0]?.focus();\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: ({properties}) => {\n\t\t\tif (properties.opened) layerEvents.remove(properties.nowId);\n\t\t},\n\t\t['PRIVATE#RESIZABLE_END']: {\n\t\t\tstopPropagation: true,\n\t\t\teffect: ({action: {payload}, dispatch, host}) => {\n\t\t\t\tcheckForScrollableContent(host);\n\t\t\t\tdispatch('NOW_MODAL#RESIZABLE_END', {...payload});\n\t\t\t},\n\t\t},\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {trap: true},\n\t\t},\n\t\t{behavior: modalBehavior, options: {limit: 'now-modal'}},\n\t\t{\n\t\t\tbehavior: resizableBehavior,\n\t\t\toptions: {\n\t\t\t\tresizeTarget: '.now-modal-dialog',\n\t\t\t\tcontainer: '.now-modal-overlay',\n\t\t\t\tgetResizableConfig: ({properties}) => {\n\t\t\t\t\treturn properties.resizableConfig;\n\t\t\t\t},\n\t\t\t\tdefaultConfig: {\n\t\t\t\t\tenableResizable: false,\n\t\t\t\t\tresizableMinWidth: 420,\n\t\t\t\t\tresizableMinHeight: 133,\n\t\t\t\t\tresizableMaxWidth: null,\n\t\t\t\t\tresizableMaxHeight: null,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{behavior: truncationBehavior},\n\t\t{behavior: tooltipBehavior},\n\t],\n\tstyles,\n\tview,\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-home-auth-quebec.scss';\n\nconst view = ({ properties }) => {\n\tconst {\n\t\tdescription,\n\t\theader,\n\t\tlink,\n\t\tpercentComplete,\n\t\tlabel,\n\t\thasLearningProgress,\n\t\tvariant\n\t} = properties;\n\n\tconst percentInt = Math.floor(parseInt(percentComplete, 10));\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'dps-home-auth-card': true,\n\t\t\t\t'tutorial-resources-custom-card-class': variant === 'tutorial' ? true : false\n\t\t\t}}\n\t\t>\n\t\t\t<div className='dps-home-auth-card-title'>\n\t\t\t\t<now-icon icon=\"user-group-fill\" size=\"md\" />\n\t\t\t\t<span>{header}</span>\n\t\t\t</div>\n\t\t\t<div className='learning-path-badge'>\n\t\t\t\t<now-highlighted-value type=\"none\" className=\"leaning-path-chip\" label={label} color=\"info\" size=\"sm\">\n\t\t\t\t</now-highlighted-value>\n\t\t\t</div>\n\t\t\t<div className='dps-auth-home-card-content-block'>\n\t\t\t\t<a className='main-title-link' href={link}>\n\t\t\t\t\t<h3 innerHTML={description}></h3>\n\t\t\t\t</a>\n\t\t\t\t<div className={!percentComplete ? `no-visibility ${!hasLearningProgress ? 'no-display' : ''}` : ''}>\n\t\t\t\t\t<h4 className='completion-progress'>\n\t\t\t\t\t\t{percentComplete || 0}% Complete\n\t\t\t\t\t</h4>\n\t\t\t\t\t<dps-progress-bar\n\t\t\t\t\t\tclassName=\"dps-home-auth-card_content_nav-link_progress-bar\"\n\t\t\t\t\t\tvalue={percentComplete ? percentComplete.toString().replace('%', '') : 0}\n\t\t\t\t\t\tmax-value={100}\n\t\t\t\t\t\tlabel=\"none\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\n\t\t\t\t<a href={link} className=\"dps-home-auth-card_content_nav-link\">\n\t\t\t\t\t{percentComplete && percentInt ? 'Resume' : 'Start'} Learning&nbsp;&nbsp;\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\tclassName=\"dps-home-auth-card_content_nav-link_icon\"\n\t\t\t\t\t\ticon=\"arrow-right-fill\"\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t/>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</div >\n\t);\n};\n\nexport default createCustomElement('dps-home-auth-card', {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\theader: { default: '' },\n\t\tdescription: { default: '' },\n\t\tpercentComplete: { default: false },\n\t\tlink: { default: '' },\n\t\tlabel: { default: '' },\n\t\thasLearningProgress: { default: false },\n\t\tvariant: { default: null }\n\t},\n\tstyles\n});\n","export const courseLPLookUpObj =  {\n\t//LearningPlans\n\t'Build your first application': {\n\t\timage: 'dev.home.auth.learn.NewToServiceNow.svg',\n\t\tcolor: 'blue',\n\t\tdescription: 'Enable citizen developer to build applications with App Engine Studio.'\n\t},\n\t'Citizen Developer': {\n\t\timage: 'dev.home.auth.learn.NewToServiceNow.svg',\n\t\tcolor: 'blue',\n\t\tdescription: 'Enable citizen developer to build applications with App Engine Studio.'\n\t},\n\t'ServiceNow Administrator': {\n\t\timage: 'dev.home.auth.learn.NewToServiceNow.svg',\n\t\tcolor: 'gable-green',\n\t\tdescription: 'Build on ServiceNow administration skills to transition to application development.'\n\t},\n\t'ServiceNow Application Developer': {\n\t\timage: 'dev.home.auth.learn.NewToServiceNow.svg',\n\t\tcolor: 'green',\n\t\tdescription: 'Improve or extend your ServiceNow application development skill set.'\n\t},\n\t'New to ServiceNow': {\n\t\timage: 'dev.home.auth.learn.NewToServiceNow.svg',\n\t\tcolor: 'purple',\n\t\tdescription: 'Enable professional developers to build applications on the Now Platform.'\n\t},\n\n\t//Courses\n\t'Build My First App Engine Studio Application': {\n\t\timage: 'dev.home.auth.learn.NewToServiceNow.svg',\n\t\tcolor: 'blue'\n\t},\n\t'Create an App from Scratch with App Engine Studio': {\n\t\timage: 'dev.home.auth.learn.NewToServiceNow.svg',\n\t\tcolor: 'blue'\n\t},\n\t'Build My First Application' : {\n\t\timage: 'dev.home.auth.learn.NewToServiceNow.svg',\n\t\tcolor: 'light-purple'\n\t},\n\t'Build the NeedIt Application' : {\n\t\timage: 'dev.home.auth.learn.NewToServiceNow.svg',\n\t\tcolor: 'light-purple'\n\t},\n\t'Scripting in ServiceNow' : {\n\t\timage: 'dev.home.auth.learn.NewToServiceNow.svg',\n\t\tcolor: 'light-purple'\n\t},\n\t'Securing Applications' : {\n\t\timage: 'dev.home.auth.learn.NewToServiceNow.svg',\n\t\tcolor: 'light-purple'\n\t},\n\t'Importing Data into ServiceNow' : {\n\t\timage: 'dev.home.auth.learn.NewToServiceNow.svg',\n\t\tcolor: 'light-purple'\n\t},\n\t'Automating Application Logic' : {\n\t\timage: 'dev.home.auth.learn.NewToServiceNow.svg',\n\t\tcolor: 'light-purple'\n\t},\n\t'Flow Designer': {\n\t\timage: 'dev.home.auth.learn.NewToServiceNow.svg',\n\t\tcolor: 'light-purple'\n\t},\n\t'Context-Sensitive Help' : {\n\t\timage: 'dev.home.auth.learn.NewToServiceNow.svg',\n\t\tcolor: 'light-purple'\n\t},\n\t'Reporting and Analytics' : {\n\t\timage: 'dev.home.auth.learn.NewToServiceNow.svg',\n\t\tcolor: 'light-purple'\n\t},\n\t'REST Integrations' : {\n\t\timage: 'dev.home.auth.learn.NewToServiceNow.svg',\n\t\tcolor: 'light-purple'\n\t},\n\t'Managing the Development Environment' : {\n\t\timage: 'dev.home.auth.learn.NewToServiceNow.svg',\n\t\tcolor: 'light-purple'\n\t},\n\t'Automated Test Framework' : {\n\t\timage: 'dev.home.auth.learn.NewToServiceNow.svg',\n\t\tcolor: 'light-purple'\n\t},\n\t'Service Portal' : {\n\t\timage: 'dev.home.auth.learn.NewToServiceNow.svg',\n\t\tcolor: 'light-purple'\n\t},\n\t'Now Experience UI Framework' : {\n\t\timage: 'dev.home.auth.learn.NewToServiceNow.svg',\n\t\tcolor: 'light-purple'\n\t},\n\t'Virtual Agent' : {\n\t\timage: 'dev.home.auth.learn.NewToServiceNow.svg',\n\t\tcolor: 'light-purple'\n\t},\n\t'Building Apps with AngularJS' : {\n\t\timage: 'dev.home.auth.learn.NewToServiceNow.svg',\n\t\tcolor: 'light-purple'\n\t},\n\t'Domain Separation' : {\n\t\timage: 'dev.home.auth.learn.NewToServiceNow.svg',\n\t\tcolor: 'light-purple'\n\t}\n};\n","const stripTags = (string, tags) => string.replace(tags, '');\n\nexport default stripTags;","import stripTags from '../../utils/stripTags';\nimport CourseImage from '../../images/home-auth-learn-Course.svg';\n\nexport const getLearningPlanList = () => ['Build your first application', 'Citizen Developer', 'ServiceNow Administrator', 'ServiceNow Application Developer', 'New to ServiceNow'];\n\nexport const getAttributesToLpOrCourse = (userPlan, learningOrCourseObj, lpList) => {\n\tvar userLearningPlan = userPlan;\n\tconst truncatedDescription = userLearningPlan && userLearningPlan.description &&\n\t\tstripTags(\n\t\t\t`${userLearningPlan.description.split('.')[0]}.`,\n\t\t\t/<\\/em>|<br\\/>|<em>/g\n\t\t) ||\n\t\tnull;\n\n\tif (learningOrCourseObj) {\n\t\tuserLearningPlan.image = learningOrCourseObj.image;\n\t\tuserLearningPlan.color = learningOrCourseObj.color;\n\t\tif (lpList.includes(userLearningPlan.name)) {\n\t\t\tuserLearningPlan.description = userLearningPlan.description || learningOrCourseObj.description;\n\t\t} else {\n\t\t\tuserLearningPlan.description = truncatedDescription;\n\t\t}\n\t} else {\n\t\tuserLearningPlan.image = CourseImage;\n\t\tuserLearningPlan.description = truncatedDescription;\n\t\tuserLearningPlan.color = 'yellow';\n\t}\n\treturn userLearningPlan;\n};\n","import '@servicenow/now-icon';\nimport '../../components/dps-link';\nimport '../../components/dps-progress-bar';\nimport '../../components/dps-spinner';\nimport '../../components/dps-inline-version-selector';\nimport './dps-home-auth-card.js';\nimport { courseLPLookUpObj } from './learningPlanCourseLookUp';\nimport { getAttributesToLpOrCourse, getLearningPlanList } from './helpers';\n\nexport const _renderLearn = ({\n\tlearnProgress,\n\trelease,\n}) => {\n\tlet hasLearningProgress = false;\n\n\tconst defaultPlans = [\n\t\t{\n\t\t\tname: 'New to ServiceNow',\n\t\t\tlink: `/learn/learning-plans/${release}/new_to_servicenow`\n\t\t},\n\t\t{\n\t\t\tname: 'Citizen Developer',\n\t\t\tlink: `/learn/learning-plans/${release}/citizen_developer`\n\t\t}\n\t];\n\n\tlet userLearningPlans = [];\n\n\tif (Array.isArray(learnProgress) && learnProgress.length > 0) {\n\t\tconst completedPlans = learnProgress.filter(\n\t\t\tlp => parseInt(lp.percent_complete.replace('%', '')) > 0\n\t\t);\n\n\t\tif (completedPlans.length > 0) {\n\t\t\thasLearningProgress = true;\n\t\t\tuserLearningPlans = completedPlans;\n\t\t} else {\n\t\t\tconst buildAppPlan =\n\t\t\t\tlearnProgress.find(lp => lp.name === 'Build your first application') || defaultPlans[1];\n\t\t\tconst newToSNPlan =\n\t\t\t\tlearnProgress.find(lp => lp.name === 'New to ServiceNow') || defaultPlans[0];\n\n\t\t\tuserLearningPlans = [buildAppPlan, newToSNPlan];\n\t\t}\n\t} else {\n\t\tuserLearningPlans = [...defaultPlans];\n\t}\n\n\t// Ensure both cards if only one exists\n\tif (userLearningPlans.length === 1) {\n\t\tconst missingPlan =\n\t\t\tuserLearningPlans[0].name === 'New to ServiceNow' ? defaultPlans[1] : defaultPlans[0];\n\t\tuserLearningPlans.push(missingPlan);\n\t}\n\n\t// Enrich each learning plan with attributes\n\tconst lpList = getLearningPlanList();\n\tuserLearningPlans = userLearningPlans.map(lp => {\n\t\tconst courseObj = courseLPLookUpObj[lp.name];\n\t\treturn getAttributesToLpOrCourse(lp, courseObj, lpList);\n\t});\n\n\n\treturn (\n\t\t<div className=\"dps-home-section-content\">\n\t\t\t{/* <dps-inline-version-selector\n\t\t\t\tinstanceRelease={instanceRelease}\n\t\t\t\tsourcePathname={pathname}\n\t\t\t\treleases={otherReleases}\n\t\t\t\tselected={release}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t/> */}\n\t\t\t<div className=\"main-content\">\n\t\t\t\t<div className=\"text-body\">\n\t\t\t\t\t<h2>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\thasLearningProgress ? 'Pickup where you left off' : 'Choose a learning plan to start'\n\t\t\t\t\t\t}\n\t\t\t\t\t</h2>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\thasLearningProgress ?\n\t\t\t\t\t\t\t\t'Continue your ServiceNow development journey with foundational concepts' :\n\t\t\t\t\t\t\t\t'Start your ServiceNow development journey with foundational concepts'\n\t\t\t\t\t\t}\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div className='lerning-cards-container'>\n\n\t\t\t\t\t{(userLearningPlans ?? []).map((plan, ind) => (\n\t\t\t\t\t\t<dps-home-auth-card\n\t\t\t\t\t\t\tkey={plan.name.split(' ').join('_') + ind}                           // stable key\n\t\t\t\t\t\t\theader={plan.name ?? ''}\n\t\t\t\t\t\t\timage={plan.image ?? ''}\n\t\t\t\t\t\t\tvariant={plan.color ?? ''}\n\t\t\t\t\t\t\tlink={plan.link ?? '#'}\n\t\t\t\t\t\t\tlabel={plan.label ?? 'Learning Path'}\n\t\t\t\t\t\t\tdescription={plan.description ?? ''}\n\t\t\t\t\t\t\thasLearningProgress={hasLearningProgress}\n\t\t\t\t\t\t\tpercentComplete={plan.percent_complete ?? ''}  // '25%' or number/string\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n","import { actionTypes, createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-page-header.scss';\nimport '../dps-badge';\nimport '../dps-inline-version-selector';\nimport {\n\tisPdiMismatchAlertDismissed,\n\tshouldRemovePDIMismatchAlertFromSessionStorage\n} from '../../utils/helpers';\n\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nfunction view(state) {\n\tconst {\n\t\tpageTitle,\n\t\tsubTitle,\n\t\tbackgroundColor,\n\t\tbackgroundImage,\n\t\tbackgroundPosition,\n\t\tbackgroundRepeat,\n\t\tbackgroundSize,\n\t\tinternalOnly,\n\t\tinstanceRelease,\n\t\theaderVariant,\n\t\totherReleases,\n\t\tselectedRelease,\n\t\tshowVersionSelector,\n\t\tpathname,\n\t\ttextVariant,\n\t\tvariant,\n\t\tmodulesTitle,\n\t\tsystemProperties,\n\t\tshowVersionSelectorFullWidth,\n\t\ttext,\n\t\tcontentType\n\t} = state.properties;\n\n\tconst backgroundStyles = {\n\t\tbackgroundRepeat,\n\t\tbackgroundColor,\n\t\tbackgroundSize,\n\t\tbackgroundPosition,\n\t};\n\n\tif (backgroundImage instanceof Array) {\n\t\tbackgroundStyles.backgroundImage = backgroundImage\n\t\t\t.map(img => `url(${img})`)\n\t\t\t.toString();\n\t} else if (backgroundImage) {\n\t\tbackgroundStyles.backgroundImage = `url(${backgroundImage})`;\n\t}\n\n\tconst modulesText = modulesTitle ? (\n\t\t<p className=\"dps-page-header-modules\">\n\t\t\t{modulesTitle} {contentType}{modulesTitle > 1 ? 's' : ''}\n\t\t</p>\n\t) : null;\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'dps-page-header': true,\n\t\t\t\t[`-${textVariant}`]: textVariant,\n\t\t\t\t[`-${variant}`]: true\n\t\t\t}}\n\t\t\tstyle={{\n\t\t\t\tbackgroundColor,\n\t\t\t}}\n\t\t>\n\t\t\t<div style={backgroundStyles} className=\"dps-page-header-background\">\n\t\t\t\t<slot name=\"background-image\"></slot>\n\t\t\t</div>\n\t\t\t<div className='dps-page-header-container'>\n\t\t\t\t<div className=\"dps-page-header-titles\">\n\t\t\t\t\t{showVersionSelector && otherReleases && otherReleases.length ? (\n\t\t\t\t\t    <div className=\"dps-page-header-version-selector\">\n\t\t\t\t\t\t\t<section class={{\n\t\t\t\t\t\t\t\t\"-version-selector-full-width\": showVersionSelectorFullWidth\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t<dps-inline-version-selector\n\t\t\t\t\t\t\t\t\tselected={selectedRelease}\n\t\t\t\t\t\t\t\t\treleases={otherReleases}\n\t\t\t\t\t\t\t\t\tinstanceRelease={instanceRelease}\n\t\t\t\t\t\t\t\t\tsourcePathname={pathname}\n\t\t\t\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</section>\n\t\t\t\t\t    </div>\n\t\t\t\t    ) : null}\n\t\t\t\t\t{internalOnly ? <dps-badge variant=\"servicenow\" /> : null}\n\t\t\t\t\t<h1 class={{\n\t\t\t\t\t\t\"dps-page-header-title\": true,\n\t\t\t\t\t\t[`-${headerVariant}`]: true\n\t\t\t\t\t}} innerHTML={pageTitle}></h1>\n\t\t\t\t\t{modulesText}\n\t\t\t\t\t<div className=\"dps-page-header-sub-title\" innerHTML={subTitle}></div>\n\t\t\t\t\t<div className=\"dps-page-header-text\">{text}</div>\n\t\t\t\t\t<slot name=\"cta-button\"></slot>\n\t\t\t\t\t<slot name=\"below-button\"></slot>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-page-header-extras\">\n\t\t\t\t\t<slot name=\"image\"></slot>\n\t\t\t\t\t<slot name=\"carousel\"></slot>\n\t\t\t\t\t<slot name=\"card\"></slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nexport default createCustomElement('dps-page-header', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\tbackgroundImage: {\n\t\t\tdefault: null\n\t\t},\n\t\tbackgroundPosition: {\n\t\t\tdefault: 'right center'\n\t\t},\n\t\tbackgroundSize: {\n\t\t\tdefault: 'auto 120%'\n\t\t},\n\t\tbackgroundRepeat: {\n\t\t\tdefault: 'no-repeat'\n\t\t},\n\t\tbackgroundColor: {\n\t\t\tdefault: null\n\t\t},\n\t\t// headerVariant can be used with \"big\" to make the title 48px instead of 38px\n\t\theaderVariant: {\n\t\t\tdefault: null\n\t\t},\n\t\tinstanceRelease: {\n\t\t\tdefault: {}\n\t\t},\n\t\tinternalOnly: {\n\t\t\tdefault: false\n\t\t},\n\t\tmobileSpace: {\n\t\t\tdefault: null\n\t\t},\n\t\tmodulesTitle: {\n\t\t\tdefault: null\n\t\t},\n\t\tpageTitle: {\n\t\t\tdefault: null\n\t\t},\n\t\totherReleases: {\n\t\t\tdefault: []\n\t\t},\n\t\tpathname: {},\n\t\tselectedRelease: {\n\t\t\tdefault: ''\n\t\t},\n\t\tshowVersionSelector: {\n\t\t\tdefault: null\n\t\t},\n\t\tsubTitle: {\n\t\t\tdefault: null\n\t\t},\n\t\ttext: {\n\t\t\tdefault: null\n\t\t},\n\t\ttextVariant: {\n\t\t\tdefault: null\n\t\t},\n\t\t/*\n\t\t * Refers the the parent page template\n\t\t * Use 'full' for overview pages that span the full width\n\t\t * Use 'two-column' for pages that contain a sidebar and prevents the header from spanning the entire browser\n\t\t * One of ( full | two-column | two-column-overview)\n\t\t */\n\t\tvariant: {\n\t\t\tdefault: 'full'\n\t\t},\n\t\tisPdiMismatchAlertDismissed: {\n\t\t\tcomputed({properties:{selectedRelease}}) {\n\t\t\t\treturn isPdiMismatchAlertDismissed(selectedRelease);\n\t\t\t}\n\t\t},\n\t\tsystemProperties: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\tshowVersionSelectorFullWidth: {\n\t\t\tdefault: false\n\t\t},\n\t\tcontentType: {\n\t\t\tdefault: 'Module'\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: coeffects => {\n\t\t\tconst { action } = coeffects;\n\n\t\t\tif(action.payload.name === 'selectedRelease') {\n\t\t\t\tshouldRemovePDIMismatchAlertFromSessionStorage();\n\t\t\t}\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-highlighted-value';\n\nimport styles from './dps-page-new-header.scss';\nimport '../dps-badge';\nimport '../dps-inline-version-selector';\n\nimport { DPS_NAV_AUTH_HEADER, INSTANCE_ACTION_STATES } from './../../constants';\nimport { titleCase } from '../../utils/case';\nimport { DPS_NAVIGATION_AUTH_HOME } from './actions';\nimport { APP_NAME_LOOKUP, STATUS } from '../../connected-components/dps-pdi-summary/constants';\n\nfunction view(state, dispatch) {\n\tconst {\n\t\tuserName,\n\t\tsubTitle,\n\t\tinstanceInfo,\n\t\tallLearningProgress,\n\t\tcatItemInProgress,\n\t\tselectedRelease,\n\t\tuserInfo,\n\t\tsystemProperties\n\t} = state.properties;\n\n\tconst statusClassMap = {\n\t\tinstanceFulfilling: 'loader-fill',\n\t\tinstanceOnline: 'presence-fill',\n\t\tinstanceHibernating: 'moon-outline'\n\t};\n\n\tconst {\n\t\tdisplay_state,\n\t\tadditional_info: { status_icon: rawStatusIcon = '' } = {}\n\t} = instanceInfo?.instanceStatus || {};\n\n\tconst hideOfflineAlert = systemProperties['dev.build.agent.hide.offline.alert'] === 'true';\n\n\tconst isBaInstallInProgress = catItemInProgress && catItemInProgress.name === 'Install Build Agent';\n\tconst status_icon = isBaInstallInProgress ? 'instanceFulfilling' : rawStatusIcon;\n\n\tconst getDisplayStateText = () => {\n\t\tconst status = STATUS[display_state];\n\t\tif (isBaInstallInProgress) {\n\t\t\treturn catItemInProgress.statusText;\n\t\t}\n\t\tif (status && status?.isFollowedByEllipsis) {\n\t\t\treturn `${display_state}...`;\n\t\t}\n\t\treturn display_state;\n\t};\n\tconst startBuildingDisabled =\n\t\tinstanceInfo?.instanceStatus?.additional_info?.start_building_disabled ||\n\t\t(catItemInProgress && catItemInProgress.name === 'Reset instance password') ||\n\t\tisBaInstallInProgress;\n\n\tconst getInstanceStatusClassName = () => {\n\t\tif (isBaInstallInProgress) return 'status-fulfilling';\n\t\treturn STATUS[display_state]?.status_class || 'status-offline';\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName='dps-page-new-header'\n\t\t>\n\t\t\t{/* <div className='dps-page-new-header-title-container'>\n\t\t\t\t<h1 className='dps-page-new-header-title'>\n\t\t\t\t\tWelcome <span>{userName}!</span>\n\t\t\t\t</h1>\n\t\t\t\t<div className=\"dps-page-new-header-sub-title\" innerHTML={subTitle}></div>\n\t\t\t</div> */}\n\t\t\t<div className='dps-page-new-header-data-container'>\n\t\t\t\t<div className={`instance-info-container ${display_state?.toLowerCase() === INSTANCE_ACTION_STATES.FULFILLING_REQUEST.toLowerCase() ? 'justify-center' : ''}`}>\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplay_state?.toLowerCase() === INSTANCE_ACTION_STATES.FULFILLING_REQUEST.toLowerCase() ? (\n\t\t\t\t\t\t\t<div className='instance-no-data-container'>\n\t\t\t\t\t\t\t\t<now-icon icon=\"gear-outline\" size=\"xl\" aria-hidden />\n\t\t\t\t\t\t\t\t<div className='no-data-content-container'>\n\t\t\t\t\t\t\t\t\t<h5>Setting up your instance</h5>\n\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\tHang tight—we’re preparing your instance. This status will update once setup is complete.\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>) :\n\t\t\t\t\t\t\tinstanceInfo && instanceInfo.state && (instanceInfo.state.toLowerCase() === 'waitlist' || (instanceInfo.name && instanceInfo.release)) ? (\n\t\t\t\t\t\t\t\t<div className='instance-data-container'>\n\t\t\t\t\t\t\t\t\t<div className='dps-card-title-container'>\n\t\t\t\t\t\t\t\t\t\t<div className='dps-card-main-title'>\n\t\t\t\t\t\t\t\t\t\t\t<now-icon icon=\"serverbox-outline\" size=\"lg\" aria-hidden />\n\t\t\t\t\t\t\t\t\t\t\t<span className='dps-card-title-line'>\n\t\t\t\t\t\t\t\t\t\t\t\tYour PDI: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tinstanceInfo?.state && instanceInfo?.state.toLowerCase() !== 'waitlist' ?\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(<div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className='dps-card-title-name'> {instanceInfo?.name} </span> <span className='dps-card-title-version'> {instanceInfo?.release} </span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'No instance is assigned yet'\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<span className='dps-card-sub-title'>Last used: {`${instanceInfo?.timeToLastActivity ? instanceInfo?.timeToLastActivity + \" ago\" : '0 days ago'}`}</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className='dps-card-status-container'>\n\t\t\t\t\t\t\t\t\t\t<div className='dps-card-individual-status'>\n\t\t\t\t\t\t\t\t\t\t\tStatus\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tinstanceInfo?.state.toLowerCase() ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t'waitlist' ? (<span class={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'waitlisted-icon': instanceInfo?.state.toLowerCase() ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'waitlist'\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<now-highlighted-value\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"dot\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel={titleCase(instanceInfo?.state)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor=\"info\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"primary\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</now-highlighted-value>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</span>)\n\t\t\t\t\t\t\t\t\t\t\t\t\t: (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className={`status-info ${getInstanceStatusClassName()}`}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{status_icon && statusClassMap[status_icon] ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ticon={statusClassMap[status_icon]}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tspin={status_icon === 'instanceFulfilling'}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize={status_icon === 'instanceFulfilling' ? 'sm' : 'md'} />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"status-text\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{getDisplayStateText()}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t{['BAF', 'SNS', 'AES'].map(appKey => {\n\t\t\t\t\t\t\t\t\t\t\treturn (<div className='dps-card-individual-status'>\n\t\t\t\t\t\t\t\t\t\t\t\t{APP_NAME_LOOKUP[appKey]}\n\t\t\t\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinstanceInfo?.state && instanceInfo?.state.toLowerCase() !== 'waitlist' ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<now-highlighted-value type=\"none\" label={titleCase(instanceInfo?.installedApps?.[appKey])} color=\"info\" size=\"sm\" variant=\"primary\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</now-highlighted-value>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : '-'\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t</div>);\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t{instanceInfo && instanceInfo?.release ? (<div className='dps-card-individual-status dps-status-version'>\n\t\t\t\t\t\t\t\t\t\t\tVersion\n\t\t\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t\t\t\t<now-highlighted-value type=\"none\" label={titleCase(instanceInfo?.release)} color=\"info\" size=\"sm\" variant=\"primary\">\n\t\t\t\t\t\t\t\t\t\t\t\t</now-highlighted-value>\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</div>) : (<div></div>)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className='dps-card-button-wrapper'>\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tinstanceInfo?.state && instanceInfo?.state.toLowerCase() === 'online' ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<div className='dps-card-button-container'>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tuserInfo && userInfo.pdi_user_role === 'admin' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={startBuildingDisabled || !(instanceInfo?.installedApps?.BAF?.toLowerCase() === 'installed')}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAPP_NAME_LOOKUP.BAF\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttooltip-content={''}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ton-click={event => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch(DPS_NAVIGATION_AUTH_HOME.MAGIC_LINK_CLICKED, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tattachParams: '&sysparm_goto_url=/sn_glider_app/ide.do'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\taction: 'click on build agent magiclink',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'bugild agent magiclink',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tga: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadobe: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>}\n\t\t\t\t\t\t\t\t\t\t\t\t\t{userInfo && userInfo.pdi_user_role === 'admin' ?\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(<now-button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={startBuildingDisabled || !(instanceInfo?.installedApps?.SNS?.toLowerCase() === 'installed')}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAPP_NAME_LOOKUP.SNS\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttooltip-content={''}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ton-click={event => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch(DPS_NAVIGATION_AUTH_HOME.MAGIC_LINK_CLICKED, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tattachParams: '&sysparm_goto_url=/now/servicenow-studio'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\taction: 'click on servicenow studio magiclink',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'servicenow studio magiclink',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tga: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadobe: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : <now-button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={startBuildingDisabled || !(instanceInfo?.installedApps?.AES?.toLowerCase() === 'installed')}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDPS_NAV_AUTH_HEADER.APP_ENGINE_STUDIO\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttooltip-content={''}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ton-click={event => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch(DPS_NAVIGATION_AUTH_HOME.MAGIC_LINK_CLICKED, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tattachParams: '&sysparm_goto_url=/now/appenginestudio'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\taction: 'Click on App Engine Studio magiclink',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'App Engine Studio magiclink',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tga: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadobe: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t) : instanceInfo?.state && instanceInfo?.state.toLowerCase() === 'expired' ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<div className='dps-card-button-container'>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDPS_NAV_AUTH_HEADER.REQUEST_YOUR_INSTANCE\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttooltip-content={''}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ton-click={event => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch('DPS_INSTANCE_ASSIGNMENT#MENU_ITEM_CLICKED', { selected: 'request' });\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t//Tracking request instance\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\taction: 'click nav instance management',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcategory: 'primary navigation',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'request instance',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t) : instanceInfo?.state && instanceInfo?.state.toLowerCase() === 'hibernating' && display_state !== 'Waking Instance' ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<div className='dps-card-button-container'>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={hideOfflineAlert && instanceInfo?.underUnplannedMaintenance}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDPS_NAV_AUTH_HEADER.WAKE_INSTANCE\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttooltip-content={''}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ton-click={event => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (hideOfflineAlert && instanceInfo?.underUnplannedMaintenance) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch(DPS_NAVIGATION_AUTH_HOME.WAKE_UP_INSTANCE_STARTED);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t//Tracking request instance\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\taction: 'click WakeUp instance - expanded nav header',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'Authenticated home page / Nav drop down',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t) : instanceInfo?.state && instanceInfo?.state.toLowerCase() === 'waitlist' ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<div className='dps-card-button-container'>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDPS_NAV_AUTH_HEADER.LEARN_WHAT_PDI_IS\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttooltip-content={''}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ton-click={() => window.open(`#!/guides/${selectedRelease}/developer-program/pdi-guide/personal-developer-instance-guide-introduction`, '_self')}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t) : null\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<div className='instance-no-data-container'>\n\t\t\t\t\t\t\t\t\t<now-icon icon=\"serverbox-outline\" size=\"xl\" aria-hidden />\n\t\t\t\t\t\t\t\t\t<div className='no-data-content-container'>\n\t\t\t\t\t\t\t\t\t\t<h5>Start building</h5>\n\t\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\t\tGet your personal developer instance and explore the latest platform features\n\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className='instance-no-data-button-container'>\n\t\t\t\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\t\t\tDPS_NAV_AUTH_HEADER.REQUEST_YOUR_INSTANCE_NOW\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\ttooltip-content={''}\n\t\t\t\t\t\t\t\t\t\t\ton-click={event => {\n\t\t\t\t\t\t\t\t\t\t\t\tdispatch('DPS_INSTANCE_ASSIGNMENT#MENU_ITEM_CLICKED', { selected: 'request' });\n\t\t\t\t\t\t\t\t\t\t\t\t//Tracking request instance\n\t\t\t\t\t\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\t\t\t\t\t\taction: 'click nav instance management',\n\t\t\t\t\t\t\t\t\t\t\t\t\tcategory: 'primary navigation',\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'request instance',\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\t\t\tDPS_NAV_AUTH_HEADER.LEARN_WHAT_PDI_IS\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\ttooltip-content={''}\n\t\t\t\t\t\t\t\t\t\t\ton-click={() => window.open(`#!/guides/${selectedRelease}/developer-program/pdi-guide/personal-developer-instance-guide-introduction`, '_self')}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t<div className='instance-info-container'>\n\t\t\t\t\t{\n\t\t\t\t\t\tallLearningProgress && (allLearningProgress.completed || allLearningProgress.inprogress) ? (\n\t\t\t\t\t\t\t<div className='instance-data-container'>\n\t\t\t\t\t\t\t\t<div className='dps-card-title-container'>\n\t\t\t\t\t\t\t\t\t<div className='dps-card-main-title'>\n\t\t\t\t\t\t\t\t\t\t<now-icon icon=\"book-open-outline\" size=\"lg\" aria-hidden />\n\t\t\t\t\t\t\t\t\t\t<span>Your Learnings</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<span className='dps-card-sub-title'>Last used: {allLearningProgress?.lastUsed || 'NA'}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className='dps-card-status-container'>\n\t\t\t\t\t\t\t\t\t<div className='dps-card-individual-status'>\n\t\t\t\t\t\t\t\t\t\tCompleted Courses\n\t\t\t\t\t\t\t\t\t\t<span className='text-value'>\n\t\t\t\t\t\t\t\t\t\t\t{allLearningProgress.completed}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className='dps-card-individual-status'>\n\t\t\t\t\t\t\t\t\t\tIn-Progress Courses\n\t\t\t\t\t\t\t\t\t\t<span className='text-value'>\n\t\t\t\t\t\t\t\t\t\t\t{allLearningProgress.inprogress}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className='dps-card-individual-status'>\n\t\t\t\t\t\t\t\t\t\tLearning Plans\n\t\t\t\t\t\t\t\t\t\t<span className='text-value'>\n\t\t\t\t\t\t\t\t\t\t\t{allLearningProgress.learningPlanCount}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className='dps-card-button-container'>\n\t\t\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\t\tDPS_NAV_AUTH_HEADER.EXPLORE_LEARNING\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttooltip-content={''}\n\t\t\t\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\t\t\t\twindow.open('#!/learn', '_self');\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div className='instance-no-data-container'>\n\t\t\t\t\t\t\t\t<now-icon icon=\"book-open-outline\" color=\"#62D84E\" size=\"xl\" aria-hidden />\n\t\t\t\t\t\t\t\t<div className='no-data-content-container'>\n\t\t\t\t\t\t\t\t\t<h5>Your learnings</h5>\n\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\tStart learning by browsing through our learning content designed for the ServiceNow platform\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className='instance-no-data-button-container'>\n\t\t\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\t\tDPS_NAV_AUTH_HEADER.EXPLORE_LEARNING\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttooltip-content={''}\n\t\t\t\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\t\t\t\twindow.open(`#!/learn/learning-plans/${selectedRelease}`, '_self');\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\t\tDPS_NAV_AUTH_HEADER.BROWSE_COURSES\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttooltip-content={''}\n\t\t\t\t\t\t\t\t\t\ton-click={() => window.open(`#!/learn/courses/${selectedRelease}`, '_self')}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nexport default createCustomElement('dps-page-new-header', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\tuserName: {\n\t\t\tdefault: null\n\t\t},\n\t\tsubTitle: {\n\t\t\tdefault: null\n\t\t},\n\t\tselectedRelease: {\n\t\t\tdefault: null\n\t\t},\n\t\tinstanceInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tallLearningProgress: {\n\t\t\tdefault: {}\n\t\t},\n\t\tsystemProperties: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\tuserInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tcatItemInProgress: {\n\t\t\tdefault: null\n\t\t},\n\t},\n\tactionHandlers: {\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-card-section.scss';\n\nconst view = ({ properties: { image, title, description, href, target, linkText, isDevelopmentJourny } }) => (\n\t<div className={isDevelopmentJourny ? 'card development-journy' : 'card'}>\n\t\t{image && <img src={image} alt={title} className='image' />}\n\t\t<div className='card-content'>\n\t\t\t<div className='title'>{title}</div>\n\t\t\t<div className='description'>{description}</div>\n\t\t\t<a href={href} target={target} className=\"card-link\">\n\t\t\t\t{linkText}\n\t\t\t\t<now-icon\n\t\t\t\t\ticon=\"arrow-right-outline\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t/>\n\t\t\t</a>\n\t\t</div>\n\t</div>\n);\n\nexport default createCustomElement('dps-card-section', {\n\trenderer: { type: snabbdom, view },\n\tproperties: {\n\t\timage: { default: '' },\n\t\ttitle: { default: '' },\n\t\tdescription: { default: '' },\n\t\thref: { default: '' },\n\t\tlinkText: { default: 'Learn More' },\n\t\ttarget: { default: '_blank' },\n\t\tisDevelopmentJourny: { default: false },\n\t},\n\tstyles\n});\n","import snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport { isEmpty } from 'lodash';\n\nimport { handleOnExecuteCatItem } from '../helpers';\nimport { isReleaseGTE } from '../../../utils/releaseHelpers';\n\nimport { INSTANCE_ACTION_LABELS, BUTTON_LABELS, MODAL_HEADERS, MODAL_CONTENT, FOOTER_ACTIONS, CONSTANTS, ALERTS } from '../../../constants';\n\nimport '@servicenow/now-modal';\nimport '@servicenow/now-button';\n\nimport styles from './dps-upgrade-instance.scss';\n\nimport url from '../../../images/icons/url.svg';\n\nimport renderSvg from '../../../utils/render-svg';\n\nimport { ACTIONS_IDS, MODALS } from '../constants'\n\nconst checkIconSvg = (className) =>\n\trenderSvg({\n\t\tclassName,\n\t\twidth: 12,\n\t\theight: 12,\n\t\tinnerSVG: `\n\t\t\t<path\n\t\t\t\td=\"M10.8536 3.14645C11.0488 3.34171 11.0488 3.65829 10.8536 3.85355L4.85355 9.85355C4.65829 10.0488 4.34171 10.0488 4.14645 9.85355L1.14645 6.85355C0.951184 6.65829 0.951184 6.34171 1.14645 6.14645C1.34171 5.95118 1.65829 5.95118 1.85355 6.14645L4.5 8.79289L10.1464 3.14645C10.3417 2.95118 10.6583 2.95118 10.8536 3.14645Z\"\n\t\t\t\tfill=\"#156F75\"\n\t\t\t/>\n\t\t`\n\t});\n\nconst view = (state, { dispatch, updateProperties }) => {\n\tconst {\n\t\tproperties: {\n\t\t\tinstanceInfo,\n\t\t\tselectedUpgradeRelease,\n\t\t\treleaseInfo,\n\t\t\tupgradeableInstanceTargets,\n\t\t\topenedApp,\n\t\t\tisLatestRelease,\n\t\t\tisActionInprogress,\n\t\t\tcatItemInProgress,\n\t\t\tdirectUpgrade,\n\t\t\trecommendationText,\n\t\t\tsystemProperties\n\t\t}\n\t} = state;\n\n\tconst { releaseNotes } = releaseInfo;\n\n\tconst getBaseReleaseName = (upgradeTarget) => {\n\n\t\tif (!upgradeTarget) return '';\n\n\t\tconst match = upgradeTarget\n\t\t\t.toLowerCase()\n\t\t\t.match(/^[a-z]+/);\n\n\t\treturn match ? match[0] : upgradeTarget.toLowerCase().trim();\n\t};\n\n\tconst releaseRequiredForBuildAgent =\n\t\t(systemProperties?.['dev.build.agent.release.required'] || 'zurich').toLowerCase();\n\n\tconst supportsVibeCoding = (upgradeTarget) =>\n\t\tisReleaseGTE(getBaseReleaseName(upgradeTarget), releaseRequiredForBuildAgent, systemProperties);\n\n\tconst {\n\t\tdisplay_state,\n\t} = instanceInfo?.instanceStatus || {};\n\n\tconst disableUpgradeRelease = !!(catItemInProgress || isActionInprogress || display_state?.toLowerCase() === \"offline\")\n\n\tconst selectedBaseRelease = getBaseReleaseName(selectedUpgradeRelease?.upgradeTarget);\n\tconst firstBaseRelease = upgradeableInstanceTargets.length ? getBaseReleaseName(upgradeableInstanceTargets[0].upgradeTarget) : '';\n\tconst releaseNotesUrl = releaseNotes?.[selectedBaseRelease] || releaseNotes?.[firstBaseRelease] || '#';\n\n\tconst upgradeButtonLabel = selectedUpgradeRelease?.upgradeTarget\n\t\t? `Upgrade to ${selectedUpgradeRelease.upgradeTarget}`\n\t\t: 'Upgrade';\n\n\tconst modalHeader = directUpgrade && upgradeableInstanceTargets.length\n\t\t? `Upgrade to ${upgradeableInstanceTargets[0].upgradeTarget}`\n\t\t: MODAL_HEADERS.SELECT_UPGRADE_VERSION;\n\n\tconst nonDisabledTargetsCount = upgradeableInstanceTargets.filter(target => !target.disabled).length;\n\tconst MODAL_WIDTH_MAP = { 1: '546px', 2: '740px', 3: '740px', 4: '1003px' };\n\tconst preferredWidth = MODAL_WIDTH_MAP[nonDisabledTargetsCount] || (nonDisabledTargetsCount > 4 ? '1003px' : '740px');\n\t// Cap the modal to the viewport so it never overflows / renders off-screen\n\t// on smaller screens. The preferred fixed width is used only when it fits.\n\tconst modalWidth = `min(${preferredWidth}, calc(100vw - 32px))`;\n\n\treturn (\n\t\t<div className=\"upgrade-instance\">\n\t\t\t{!directUpgrade && ((releaseInfo &&\n\t\t\t\treleaseInfo.latestRelease &&\n\t\t\t\tinstanceInfo?.release?.toLowerCase() != releaseInfo.latestRelease) || instanceInfo?.canUpgrade === \"yes\") ? (\n\t\t\t\t<now-button\n\t\t\t\t\tlabel={BUTTON_LABELS.UPGRADE_RELEASE}\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\tid={ACTIONS_IDS.UPGRADE_RELEASE}\n\t\t\t\t\tdisabled={disableUpgradeRelease}\n\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\tupdateProperties({ openedApp: FOOTER_ACTIONS.TWO_FOOTER_ACTIONS })\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) : null}\n\n\t\t\t<now-modal\n\t\t\t\tcomponent-name={MODALS.UPGRADE_INSTANCE}\n\t\t\t\topened={openedApp === FOOTER_ACTIONS.TWO_FOOTER_ACTIONS}\n\t\t\t\tmanage-opened\n\t\t\t\tsize=\"lg\"\n\t\t\t\tcustomSize={{ width: modalWidth }}\n\t\t\t\theader-label={modalHeader}\n\t\t\t>\n\t\t\t\t<div className=\"upgrade-instance__modal-content\">\n\t\t\t\t\t<div className=\"upgrade-instance__version-container\">\n\t\t\t\t\t\t{upgradeableInstanceTargets?.map((release, idx) => {\n\t\t\t\t\t\t\tconst isSelected = selectedUpgradeRelease.sys_id === release.sys_id;\n\t\t\t\t\t\t\tconst isDisabled = release.disabled;\n\n\t\t\t\t\t\t\tif (isDisabled) return null;\n\n\t\t\t\t\t\t\tconst cardClasses = `upgrade-instance__version-card${isSelected ? ' upgrade-instance__version-card--selected' : ''}`;\n\n\t\t\t\t\t\t\tconst handleReleaseSelection = () => {\n\t\t\t\t\t\t\t\t\tdispatch('PDI_ACTIONS.SELECTED_UPGRADE', {\n\t\t\t\t\t\t\t\t\t\tselectedUpgradeRelease: release\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tupdateProperties({ selectedUpgradeRelease: release });\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tkey={release.sys_id}\n\t\t\t\t\t\t\t\t\tclassName={cardClasses}\n\t\t\t\t\t\t\t\t\ton-click={handleReleaseSelection}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{idx === 0 && (\n\t\t\t\t\t\t\t\t\t\t<div className=\"upgrade-instance__card-badge\">\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"upgrade-instance__badge-label\">\n\t\t\t\t\t\t\t\t\t\t\t\t{MODAL_CONTENT.LATEST_BADGE}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<div className=\"upgrade-instance__card-body\">\n\t\t\t\t\t\t\t\t\t\t<div className=\"upgrade-instance__card-content\">\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"upgrade-instance__card-image\">\n\t\t\t\t\t\t\t\t\t\t\t<img src={release.releaseImage} alt={release.upgradeTarget} />\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"upgrade-instance__card-name\">\n\t\t\t\t\t\t\t\t\t\t\t\t{release.upgradeTarget}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t{supportsVibeCoding(release.upgradeTarget) && (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"upgrade-instance__card-tag\">\n\t\t\t\t\t\t\t\t\t\t\t\t{checkIconSvg('upgrade-instance__tag-icon')}\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"upgrade-instance__tag-text\">{MODAL_CONTENT.VIBE_CODE_TAG}</span>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"upgrade-instance__footer\">\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref={releaseNotesUrl}\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\tclassName=\"upgrade-instance__footer-link\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"upgrade-instance__footer-link-text\">{MODAL_CONTENT.VIEW_RELEASE_NOTES}</span>\n\t\t\t\t\t\t\t<img src={url} alt=\"\" className=\"upgrade-instance__footer-link-icon\" />\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t<div className=\"upgrade-instance__footer-actions\">\n\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\tlabel={BUTTON_LABELS.CANCEL}\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\ton-click={() => dispatch('CANCEL_UPGRADE')}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\tlabel={upgradeButtonLabel}\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\tdisabled={!(selectedUpgradeRelease.sys_id)}\n\t\t\t\t\t\t\t\ton-click={() => dispatch('UPGRADE_INSTANCE')}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t</now-modal>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-upgrade-instance', {\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles,\n\tproperties: {\n\t\tinstanceInfo: { default: {} },\n\t\tselectedUpgradeRelease: { default: {} },\n\t\treleaseInfo: { default: {} },\n\t\topenedApp: { default: '' },\n\t\tupgradeableInstanceTargets: {\n\t\t\tdefault: []\n\t\t},\n\t\tinstanceMenuItems: {\n\t\t\tdefault: []\n\t\t},\n\t\tisInstanceRefreshing: {\n\t\t\tdefault: false\n\t\t},\n\t\tisLatestRelease: {\n\t\t\tdefault: false\n\t\t},\n\t\tcatItemInProgress: {\n\t\t\tdefault: null\n\t\t},\n\t\tisActionInprogress: {\n\t\t\tdefault: false\n\t\t},\n\t\tdirectUpgrade: {\n\t\t\tdefault: false\n\t\t},\n\t\tupgradeInstanceRelease: { default: null },\n\t\trecommendationText: {\n\t\t\tdefault: ''\n\t\t},\n\t\tsystemProperties: {\n\t\t\tdefault: {}\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t['PDI_ACTIONS.SELECTED_UPGRADE'](coeffects) {\n\t\t\tconst { action, updateProperties } = coeffects;\n\t\t\tconst { selectedUpgradeRelease } = action.payload;\n\t\t\tupdateProperties({ selectedUpgradeRelease: selectedUpgradeRelease });\n\t\t},\n\t\t'NOW_MODAL#OPENED_SET'({ properties: { upgradeInstanceRelease }, updateProperties }) {\n\t\t\tupdateProperties({ openedApp: null });\n\t\t\tupdateProperties({ selectedUpgradeRelease: {} });\n\t\t\tif (upgradeInstanceRelease) {\n\t\t\t\tupgradeInstanceRelease(null);\n\t\t\t}\n\t\t},\n\t\tUPGRADE_INSTANCE({ properties, updateProperties, dispatch }) {\n\t\t\tconst { selectedUpgradeRelease, instanceInfo, instanceMenuItems, upgradeInstanceRelease } = properties;\n\t\t\tconst upgradeInstanceItem = instanceMenuItems.find(\n\t\t\t\titem => item.name == INSTANCE_ACTION_LABELS.UPGRADE_INSTANCE\n\t\t\t);\n\n\t\t\tif (\n\t\t\t\t!isEmpty(selectedUpgradeRelease) &&\n\t\t\t\t!selectedUpgradeRelease.disabled\n\t\t\t) {\n\t\t\t\thandleOnExecuteCatItem({\n\t\t\t\t\tcat_item_id: selectedUpgradeRelease.sys_id,\n\t\t\t\t\tdispatch,\n\t\t\t\t\tins_id: instanceInfo.sys_id,\n\t\t\t\t\tmenuItem: upgradeInstanceItem\n\t\t\t\t});\n\t\t\t\tdispatch('DPS_HOME_AUTH_QUEBEC_ACTIONS#DISMISS_ALERTS', {\n\t\t\t\t\tcomponentName: ALERTS.BUILD_AGENT_UPGRADE_REQUIRED\n\t\t\t\t});\n\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\taction: `click on Upgrade instance button on Manage instance screen`,\n\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\tlabel: 'Upgrade instance',\n\t\t\t\t\tvalue: '',\n\t\t\t\t\tga: false,\n\t\t\t\t\tadobe: true\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tupdateProperties({ openedApp: null });\n\t\t\tif (upgradeInstanceRelease) {\n\t\t\t\tupgradeInstanceRelease('upgraded');\n\t\t\t}\n\t\t},\n\t\tCANCEL_UPGRADE({ properties: { upgradeInstanceRelease }, updateProperties }) {\n\t\t\tupdateProperties({ openedApp: null });\n\t\t\tif (upgradeInstanceRelease) {\n\t\t\t\tupgradeInstanceRelease(null);\n\t\t\t}\n\t\t\tupdateProperties({ selectedUpgradeRelease: {} });\n\t\t},\n\n\t}\n});","import '@servicenow/now-tooltip';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-modal';\nimport '@servicenow/now-card';\nimport '../../components/dps-spinner';\n\nimport { _renderLearn } from './_learn-section-quebec';\nimport { getFormattedInstanceReleaseInfo } from '../../utils/releaseHelpers';\nimport { DevPlatformStorage } from '../../utils/storage';\nimport {\n\tgetShadowRootElement,\n\tgetAESAlertMessageText\n} from '../../utils/helpers';\nimport { CONSTANTS, FOOTER_ACTIONS, BUTTON_LABELS, ACTION_LABELS } from '../../constants';\nimport { CHANGE_USER_ROLE_CONFIRMATION } from '../dps-pdi-summary/constants';\n\nimport unconfigured from '../../images/icons/unconfigured.svg';\nimport completedTask from '../../images/icons/completed-task.svg';\nimport Guided_Editor_Type_Image from '../../images/Guided_Editor_Type_Image.svg';\nimport Advanced_Editor_Type_Image from '../../images/Advanced_Editor_Type_Image.svg';\nimport { APP_ACTIONS } from '../dps-app/actions';\nimport { requestInstanceButtonClicked } from '../dps-app/actionHelpers';\nimport {\n\tshowRequestInstance\n} from '../../utils/instanceHelpers';\n\nimport { DPS_NAVIGATION_INSTANCE_MANAGEMENT } from '../../components/dps-navigation-header/actions';\nimport '../../components/dps-page-header';\nimport '../../components/dps-page-new-header';\nimport '../../components/dps-button';\nimport '../../components/dps-link';\nimport '../dps-card-apis-and-libraries';\nimport '../dps-card-build-agent';\nimport '../dps-card-section';\nimport '../dps-pdi-summary/views/dps-upgrade-instance';\nimport '../dps-promo-banner';\n\nimport k25Blog1Image from '../../images/k25-blog1.png';\n\n\n// TODO uncomment and replace with correct playlist when we get it\n// const proDevList='d9vb_La-5gQ?list=PL3rNcyAiDYK3YiwkTj8OUSs_FRz-YSIw2&';\n// const proDevId='d9vb_La-5gQ';\n\n{\n\t/* <iframe width=\"1767\" height=\"828\" src=\"https://www.youtube.com/embed/d9vb_La-5gQ?list=PL3rNcyAiDYK3YiwkTj8OUSs_FRz-YSIw2\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe> */\n}\nconst captureYoutubeVideoEvents = dispatch => {\n\tlet elem = getShadowRootElement([\n\t\t'dps-app',\n\t\t'dps-home-auth-quebec',\n\t\t'iframe#service-now-developer-program'\n\t]);\n\tlet player = new YT.Player(elem, {\n\t\tevents: {\n\t\t\tonStateChange: function onPlayerStateChange() {\n\t\t\t\tif (player.playerInfo.playerState === YT.PlayerState.PLAYING) {\n\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\taction: 'User played developer program youTube video',\n\t\t\t\t\t\tcategory: 'Unauthenticated home page - program video',\n\t\t\t\t\t\tlabel: 'why join our developer program?',\n\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\tga: true,\n\t\t\t\t\t\tadobe: false\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (player.playerInfo.playerState === YT.PlayerState.ENDED) {\n\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\taction: 'User watched developer program youTube video',\n\t\t\t\t\t\tcategory: 'Unauthenticated home page - program video',\n\t\t\t\t\t\tlabel: 'why join our developer program?',\n\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\tga: true,\n\t\t\t\t\t\tadobe: false\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n};\n\nconst view = ({ properties, dismissedAlert, changeUserRoleStage, userRoleOptions }, { dispatch, updateProperties }) => {\n\tlet {\n\t\tcatItemInProgress,\n\t\thasLearnProgress,\n\t\tallLearningProgress,\n\t\tinstanceInfo,\n\t\tisProDev,\n\t\tlatestModule,\n\t\tlearnOtherReleases,\n\t\tlearnProgress,\n\t\tloading,\n\t\trelease,\n\t\treleaseInfo,\n\t\tpathname,\n\t\tsystemProperties,\n\t\ttargetRef,\n\t\tuserInfo,\n\t\tisInstanceStatsCheckInProgress,\n\t\tinstanceMenuItems,\n\t\tstart_building_subtext,\n\t\tisInstanceRefreshing,\n\t\topenUpgradeInstanceModel,\n\t\tupgradeableInstanceTargets,\n\t\tcommonData,\n\t\topenChangeUserRoleModal,\n\t\tchangeUserRole,\n\t\topResult,\n\t\tpdiUserRole,\n\t\tisAutoAssignRunInBackground\n\t} = properties;\n\n\tconst currentUserRole = pdiUserRole || userInfo?.pdi_user_role;\n\tconst roleOptions = userRoleOptions?.editorOptions ? Object.keys(userRoleOptions.editorOptions) : [];\n\n\tconst loggedInVideoHeading = systemProperties[\"dev.homepage.auth.video.header\"] || \"Builder video series\";\n\tconst loggedInVideoDesc = systemProperties[\"dev.homepage.auth.video.desc\"] || \"Getting started is easy with this step-by-step ServiceNow Builder video series.\";\n\n\tif (loading) {\n\t\treturn <dps-spinner size=\"xl\"></dps-spinner>;\n\t}\n\n\tconst instanceRelease = getFormattedInstanceReleaseInfo(instanceInfo);\n\tconst eligibleForAlert =\n\t\t(!instanceInfo.isWakingInstance() && instanceInfo.isHibernating()) ||\n\t\tinstanceInfo.isOffline() ||\n\t\tinstanceInfo.isUnderMaintenance();\n\tconst showAlert = instanceInfo.isRestarting()\n\t\t? false\n\t\t: !catItemInProgress && eligibleForAlert;\n\tconst AlertMessages =\n\t\t(systemProperties['dev.dps.home.header.alert.messages'] &&\n\t\t\tJSON.parse(systemProperties['dev.dps.home.header.alert.messages'])) ||\n\t\t{};\n\tconst welcomeText =\n\t\tuserInfo && userInfo.show_whats_new_modal === '0'\n\t\t\t? 'Welcome Back'\n\t\t\t: 'Welcome to ServiceNow!';\n\tconst headerText = isProDev\n\t\t? systemProperties['dev.home.pro_dev.header_text']\n\t\t: systemProperties['dev.home.citizen_dev.header_text'];\n\tconst BLOG_CARD_IMAGE_SIZE = 72;\n\n\tconst subText = 'Continue your development journey and build amazing applications on the ServiceNow platform';\n\n\t//TODO change from false to isProDev when we are ready to have separate playlists\n\tconst videoThumbnail = systemProperties[\"dev.homepage.auth.video.yt.thumbnail\"] || `https://img.youtube.com/vi/62Nabpb94Jw/maxresdefault.jpg`;\n\tconst videoURL = systemProperties[\"dev.homepage.auth.video.yt.url\"] || `https://devlink.sn/devsitejavascriptvideo`;\n\tconst hideOfflineAlert = systemProperties['dev.build.agent.hide.offline.alert'] === 'true';\n\n\tconst isInstanceRequestInProgress =\n\t\tinstanceInfo && instanceInfo.isRequestingInstance();\n\n\tconst isLatestRelease =\n\t\treleaseInfo &&\n\t\treleaseInfo.latestRelease &&\n\t\tinstanceInfo?.release?.toLowerCase() === releaseInfo.latestRelease;\n\n\t// Set the various dashboard and start_building settings conditionally\n\tlet dashboard_show_exclamation;\n\tlet dashboard_show_spinner;\n\tlet start_building_disabled;\n\tlet start_building_tooltip;\n\n\tif (\n\t\tinstanceInfo.instanceStatus &&\n\t\tinstanceInfo.instanceStatus.additional_info\n\t) {\n\t\tdashboard_show_exclamation =\n\t\t\tinstanceInfo.instanceStatus.additional_info.dashboard_show_exclamation;\n\t\tdashboard_show_spinner =\n\t\t\tinstanceInfo.instanceStatus.additional_info.dashboard_show_spinner;\n\t\tstart_building_disabled =\n\t\t\tinstanceInfo.instanceStatus.additional_info.start_building_disabled;\n\t\tstart_building_subtext =\n\t\t\tinstanceInfo.instanceStatus.additional_info.start_building_subtext;\n\t\tstart_building_tooltip =\n\t\t\tinstanceInfo.instanceStatus.additional_info.start_building_tooltip;\n\t}\n\n\tif (catItemInProgress && catItemInProgress.name == 'Install Build Agent') {\n\t\tdashboard_show_spinner = true;\n\t\tstart_building_disabled = true;\n\t\tstart_building_subtext = catItemInProgress.statusText;\n\t}\n\n\tconst canRequestInstance = instanceInfo && showRequestInstance(instanceInfo);\n\tconst hasInstance = !canRequestInstance && !isInstanceRequestInProgress;\n\tconst instanceName = (instanceInfo && instanceInfo.name) || '';\n\n\tconst addLinksToText = msg => {\n\t\tvar reportLink = (\n\t\t\t<dps-link\n\t\t\t\tonclick={e => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\topenFeedback(dispatch);\n\t\t\t\t}}\n\t\t\t\twarning\n\t\t\t>\n\t\t\t\tReport\n\t\t\t</dps-link>\n\t\t);\n\t\tvar retryLink = (\n\t\t\t<dps-link\n\t\t\t\tonclick={e => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tdispatch(APP_ACTIONS.WAKE_UP_INSTANCE_TRIGGER);\n\t\t\t\t\tDevPlatformStorage.saveToSessionStorage(\n\t\t\t\t\t\t'RETRY_WAKE_UP_HAPPENED',\n\t\t\t\t\t\ttrue\n\t\t\t\t\t);\n\t\t\t\t}}\n\t\t\t\twarning\n\t\t\t>\n\t\t\t\tRetry\n\t\t\t</dps-link>\n\t\t);\n\t\tmsg = msg.split(' ');\n\t\tmsg.forEach((item, index) => {\n\t\t\tmsg[index] = item + ' ';\n\t\t\tif (item === '[Report]') {\n\t\t\t\tmsg[index] = reportLink;\n\t\t\t} else if (item === '[Retry]') {\n\t\t\t\tmsg[index] = retryLink;\n\t\t\t}\n\t\t});\n\t\treturn msg;\n\t};\n\n\tconst getAlertMessage = () => {\n\t\tif (instanceInfo.isOffline()) {\n\t\t\treturn (\n\t\t\t\t<dps-alert\n\t\t\t\t\tdismiss-btn-variant=\"secondary\"\n\t\t\t\t\tvariant=\"error\"\n\t\t\t\t\tdismiss\n\t\t\t\t\tslot=\"true\"\n\t\t\t\t\ticon=\"triangle-exclamation-outline\"\n\t\t\t\t\tclassName=\"dps-home-header-alert\"\n\t\t\t\t\tbody={AlertMessages['Offline']}\n\t\t\t\t></dps-alert>\n\t\t\t);\n\t\t} else if (instanceInfo.isUnderMaintenance()) {\n\t\t\treturn (\n\t\t\t\t<dps-alert\n\t\t\t\t\tdismiss-btn-variant=\"secondary\"\n\t\t\t\t\tvariant=\"warning\"\n\t\t\t\t\tdismiss\n\t\t\t\t\tslot=\"true\"\n\t\t\t\t\ticon=\"circle-info-outline\"\n\t\t\t\t\tclassName=\"dps-home-header-alert\"\n\t\t\t\t\tbody={AlertMessages['Undergoing Maintenance']}\n\t\t\t\t></dps-alert>\n\t\t\t);\n\t\t} else if (\n\t\t\t!instanceInfo.isWakingInstance() &&\n\t\t\tinstanceInfo.isHibernating() &&\n\t\t\tDevPlatformStorage.loadFromSessionStorage('RETRY_WAKE_UP_HAPPENED')\n\t\t) {\n\t\t\treturn (\n\t\t\t\t<dps-alert\n\t\t\t\t\tdismiss-btn-variant=\"secondary\"\n\t\t\t\t\tvariant=\"error\"\n\t\t\t\t\tdismiss\n\t\t\t\t\tslot=\"true\"\n\t\t\t\t\ticon=\"triangle-exclamation-outline\"\n\t\t\t\t\tclassName=\"dps-home-header-alert\"\n\t\t\t\t\tbody={addLinksToText(AlertMessages['Wake up'])}\n\t\t\t\t></dps-alert>\n\t\t\t);\n\t\t} else if (\n\t\t\t!instanceInfo.isWakingInstance() &&\n\t\t\tinstanceInfo.isHibernating()\n\t\t) {\n\t\t\treturn (\n\t\t\t\t<dps-alert\n\t\t\t\t\tdismiss-btn-variant=\"secondary\"\n\t\t\t\t\tvariant=\"error\"\n\t\t\t\t\tdismiss\n\t\t\t\t\tslot=\"true\"\n\t\t\t\t\ticon=\"triangle-exclamation-outline\"\n\t\t\t\t\tclassName=\"dps-home-header-alert\"\n\t\t\t\t\tbody={addLinksToText(AlertMessages['Wake up retry'])}\n\t\t\t\t></dps-alert>\n\t\t\t);\n\t\t} else {\n\t\t\treturn (\n\t\t\t\t<dps-alert\n\t\t\t\t\tdismiss-btn-variant=\"secondary\"\n\t\t\t\t\tvariant=\"error\"\n\t\t\t\t\tdismiss\n\t\t\t\t\tslot=\"true\"\n\t\t\t\t\ticon=\"triangle-exclamation-outline\"\n\t\t\t\t\tclassName=\"dps-home-header-alert\"\n\t\t\t\t\tbody={addLinksToText(AlertMessages['General'])}\n\t\t\t\t></dps-alert>\n\t\t\t);\n\t\t}\n\t};\n\n\tconst setTargetRef = ref => {\n\t\tupdateProperties({ targetRef: ref });\n\t};\n\n\tconst startBuildingClick = () => {\n\t\tif (!start_building_disabled) {\n\t\t\tif (hasInstance) {\n\t\t\t\tdispatch(DPS_NAVIGATION_INSTANCE_MANAGEMENT.MAGIC_LINK_CLICKED);\n\t\t\t} else {\n\t\t\t\trequestInstanceButtonClicked({\n\t\t\t\t\tuserInfo,\n\t\t\t\t\treleaseInfo,\n\t\t\t\t\tsystemProperties,\n\t\t\t\t\tdispatch\n\t\t\t\t});\n\t\t\t\t//Tracking the click for Request Instance\n\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\taction: 'click Authenticated Homepage request instance',\n\t\t\t\t\tcategory: 'Authenticated Homepage',\n\t\t\t\t\tlabel: 'request instance',\n\t\t\t\t\tvalue: '',\n\t\t\t\t\tga: true,\n\t\t\t\t\tadobe: false\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n\n\tconst openFeedback = dispatch => {\n\t\tdispatch(APP_ACTIONS.GIVE_GENERAL_FEEDBACK, {\n\t\t\tsubmittedFrom: CONSTANTS.DEFAULTS.FEEDBACK_FORM_SUBMITTED_FROM_ALERT,\n\t\t\ttype: 'DPS_BUTTON#GIVE_GENERAL_FEEDBACK'\n\t\t});\n\t};\n\n\tconst isActionInprogress = instanceInfo.isWakingInstance() || instanceInfo.isHibernating() || isInstanceRefreshing;\n\n\tconst instanceNameForButton =\n\t\tinstanceName && userInfo && userInfo.developer_type === 'unassigned'\n\t\t\t? `[${instanceName}]`\n\t\t\t: ``;\n\tconst installedApps = instanceInfo && instanceInfo.installedApps;\n\tconst isAESNotInstalled =\n\t\tinstalledApps && installedApps.AES === 'not installed';\n\tconst aesAlertMessage = getAESAlertMessageText(\n\t\treleaseInfo,\n\t\tsystemProperties,\n\t\tinstanceMenuItems,\n\t\tdispatch\n\t);\n\n\tconst showCatItemInProgressMessage = (\n\t\tcatItemInProgress,\n\t\tstart_building_subtext\n\t) => {\n\t\tif (catItemInProgress) {\n\t\t\tconst { inProgressMessage } = catItemInProgress;\n\t\t\treturn inProgressMessage;\n\t\t} else {\n\t\t\treturn (\n\t\t\t\t<span>\n\t\t\t\t\t{start_building_subtext}\n\t\t\t\t\t{([\"Restoring Instance\", \"Setting up instance\"].indexOf(start_building_subtext) > -1) ? (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"cancel-request\"\n\t\t\t\t\t\t\tonclick={() => {\n\t\t\t\t\t\t\t\ttriggerCancelRequest();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tCancel\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : null}\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\t};\n\n\tconst triggerCancelRequest = () => {\n\t\tlet subTextMap = {\n\t\t\t\"Restoring Instance\": \"restore\",\n\t\t\t\"Setting up instance\": \"request\"\n\t\t}\n\t\tupdateProperties({ start_building_subtext: '' });\n\n\t\tconst data = {\n\t\t\toperationType: subTextMap[start_building_subtext]\n\t\t};\n\t\tdispatch('DPS_HOME_AUTH_QUEBEC#CANCEL_REQUEST', { data });\n\t};\n\t\n\tconst upgradeInstanceRelease = val => {\n\t\tupdateProperties({ openUpgradeInstanceModel: val });\n\t};\n\n\t// Change User Role Modal Footer Actions\n\tlet changeUserRoleActions = [\n\t\t{\n\t\t\tvariant: 'primary',\n\t\t\tlabel: ACTION_LABELS.CHANGE,\n\t\t\tdisabled: !(roleOptions.length > 0),\n\t\t\ttooltipContent: '',\n\t\t\tclickActionType: 'CHANGE_USER_ROLE'\n\t\t},\n\t\t{\n\t\t\tvariant: 'secondary',\n\t\t\tlabel: BUTTON_LABELS.CANCEL,\n\t\t\tclickActionType: 'CANCEL_CHANGE_USER_ROLE'\n\t\t}\n\t];\n\n\tif (changeUserRoleStage === 'progress') {\n\t\tchangeUserRoleActions = [\n\t\t\t{\n\t\t\t\tvariant: 'primary',\n\t\t\t\tlabel: BUTTON_LABELS.CLOSE,\n\t\t\t\tclickActionType: 'CANCEL_CHANGE_USER_ROLE',\n\t\t\t\tdisabled: true\n\t\t\t}\n\t\t];\n\t} else if (changeUserRoleStage === 'done') {\n\t\tchangeUserRoleActions = [\n\t\t\t{\n\t\t\t\tvariant: 'primary',\n\t\t\t\tlabel: BUTTON_LABELS.DONE,\n\t\t\t\tclickActionType: 'CHANGE_USER_ROLE_DONE',\n\t\t\t\ttooltipContent: ''\n\t\t\t}\n\t\t];\n\t}\n\n\tconst renderChangeUserRoleContent = () => {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t{changeUserRoleStage === 'progress' && (\n\t\t\t\t\t<div className=\"pdi_action_inprogress\">\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={unconfigured}\n\t\t\t\t\t\t\tclassName=\"unconfigured\"\n\t\t\t\t\t\t\talt=\"Updating user role\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div className=\"update-user-role-text\">Updating user role...</div>\n\t\t\t\t\t\t<div className=\"request-submitting-message\">\n\t\t\t\t\t\t\tWe're updating your user role to {changeUserRole}.\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{changeUserRoleStage === 'loading' && roleOptions.length > 0 && (\n\t\t\t\t\t<div className=\"role-layout\">\n\t\t\t\t\t\t<div className=\"role-cards\">\n\t\t\t\t\t\t\t{roleOptions.map(role => {\n\t\t\t\t\t\t\t\tconst roleName = userRoleOptions.editorOptions[role];\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<now-card\n\t\t\t\t\t\t\t\t\t\tinteraction=\"select\"\n\t\t\t\t\t\t\t\t\t\tcomponentName={role}\n\t\t\t\t\t\t\t\t\t\tmanageSelected={true}\n\t\t\t\t\t\t\t\t\t\tselected={changeUserRole === role}\n\t\t\t\t\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t\t\t\t\t\t'aria-label': `Select ${roleName} role`,\n\t\t\t\t\t\t\t\t\t\t\t\trole: 'button'\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tarticle: { role: 'article' }\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{role === pdiUserRole && (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"current-user-role\">Current user role</div>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t<now-card-header\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"user-role-header\"\n\t\t\t\t\t\t\t\t\t\t\theading={{ label: roleName, size: 'sm' }}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<div className=\"change-user-desc\">\n\t\t\t\t\t\t\t\t\t\t\t{userRoleOptions.editorOptionsText[role]}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</now-card>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div className=\"role-image\">\n\t\t\t\t\t\t\t{changeUserRole && (\n\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tmaxWidth: '347px',\n\t\t\t\t\t\t\t\t\t\tborderRadius: '8px'\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tsrc={\n\t\t\t\t\t\t\t\t\t\tchangeUserRole.toLowerCase() === 'admin'\n\t\t\t\t\t\t\t\t\t\t\t? Advanced_Editor_Type_Image\n\t\t\t\t\t\t\t\t\t\t\t: Guided_Editor_Type_Image\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\talt={`${changeUserRole} editor type`}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{!(roleOptions.length > 0) && changeUserRoleStage === 'loading' && (\n\t\t\t\t\t<dps-spinner style={{ height: 'auto' }} size=\"sm\" />\n\t\t\t\t)}\n\n\t\t\t\t{changeUserRoleStage === 'done' && (\n\t\t\t\t\t<div className=\"change-user-role-completed\">\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={completedTask}\n\t\t\t\t\t\t\tclassName=\"unconfigured\"\n\t\t\t\t\t\t\talt=\"Completed task\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div className=\"completed-task\">{opResult?.message}</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t};\n\n\treturn (\n\t\t<div className=\"dps-home-auth-quebec\">\n\t\t\t<dps-promo-banner systemProperties={systemProperties}></dps-promo-banner>\n\t\t\t<section className='dps-home-auth-hedder-warapper-hero'>\n\t\t\t\t<dps-card-build-agent\n\t\t\t\t\tclassName=\"center-card\"\n\t\t\t\t\trelease={release}\n\t\t\t\t\tisAuthPage={true}\n\t\t\t\t\tdismissedAlert={dismissedAlert}\n\t\t\t\t\t// upgradeInstanceRelease={upgradeInstanceRelease}\n\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\t\tcatItemInProgress={catItemInProgress}\n\t\t\t\t\tuserInfo={userInfo}\n\t\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\t\tinstanceStatus={instanceInfo?.instanceStatus}\n\t\t\t\t\tsuggestedPrompts={commonData?.[CONSTANTS.COMMON_DATA_KEYS.SUGGESTED_PROMPTS]}\n\t\t\t\t\tpdiUserRole={pdiUserRole}\n\t\t\t\t\tisAutoAssignRunInBackground={isAutoAssignRunInBackground}\n\t\t\t\t\thideOfflineAlert={hideOfflineAlert}\n\t\t\t\t>\n\t\t\t\t</dps-card-build-agent>\n\t\t\t\t<div className='dps-home-hero-section'>\n\t\t\t\t\t<dps-page-new-header\n\t\t\t\t\t\tuserName={userInfo.first_name}\n\t\t\t\t\t\tsubTitle={subText}\n\t\t\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\t\t\tallLearningProgress={allLearningProgress}\n\t\t\t\t\t\tselectedRelease={release}\n\t\t\t\t\t\tuserInfo={userInfo}\n\t\t\t\t\t\tcatItemInProgress={catItemInProgress}\n\t\t\t\t\t>\n\t\t\t\t\t</dps-page-new-header>\n\t\t\t\t</div>\n\n\t\t\t</section>\n\n\t\t\t<section className=\"dps-overview-section dps-home-auth-learn\">\n\t\t\t\t{_renderLearn({\n\t\t\t\t\thasLearnProgress,\n\t\t\t\t\tinstanceRelease,\n\t\t\t\t\tisProDev,\n\t\t\t\t\tlearnProgress: learnProgress,\n\t\t\t\t\totherReleases: learnOtherReleases,\n\t\t\t\t\tlatestModule: latestModule,\n\t\t\t\t\tpathname,\n\t\t\t\t\trelease,\n\t\t\t\t\tsystemProperties\n\t\t\t\t})}\n\t\t\t</section>\n\n\t\t\t<section className='dps-whats-new'>\n\t\t\t\t<div className=\"text-body\">\n\t\t\t\t\t<h2>\n\t\t\t\t\t\tWhat’s New\n\t\t\t\t\t</h2>\n\t\t\t\t\t<p>\n\t\t\t\t\t\tGet hands-on with the ServiceNow Platform, explore new tools early, and connect with developers solving real-world problems.\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<ul className='card-container'>\n\t\t\t\t\t{JSON.parse(systemProperties['dev.auth_home_whats_next'] || '[]').map(item => <dps-card-section\n\t\t\t\t\t\tclassName=\"dps-card\"\n\t\t\t\t\t\ttitle={item.title}\n\t\t\t\t\t\tdescription={item.description}\n\t\t\t\t\t\thref={item.href}\n\t\t\t\t\t\timage={item.image}\n\t\t\t\t\t/>)}\n\t\t\t\t</ul>\n\t\t\t</section>\n\t\t\t<section>\n\t\t\t\t<dps-card-apis-and-libraries\n\t\t\t\t\trelease={release}\n\t\t\t\t\tisAuthPage={true}\n\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t>\n\t\t\t\t</dps-card-apis-and-libraries>\n\t\t\t</section>\n\n\t\t\t<section className='dps-community-section'>\n\t\t\t\t<header className=\"header-text\">\n\t\t\t\t\t<div className='header'>ServiceNow Community</div>\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tlabel=\"Stay connected\"\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\ton-click={() => window.open(systemProperties['dev.community_link'], '_blank')}\n\t\t\t\t\t\tsize=\"md\" />\n\t\t\t\t</header>\n\t\t\t\t<div className='community_card_container'>\n\t\t\t\t\t{JSON.parse(systemProperties['dev.auth_home_community_links'] || '[]').map(item => <div className='community_card' on-click={() => window.open(item.href, '_blank')} role=\"link\" tabindex=\"0\">\n\t\t\t\t\t\t{item.image &&\n\t\t\t\t\t\t\t<div className='image-wrapper'>\n\t\t\t\t\t\t\t\t<img src={item.image} alt={item.title} className='image' />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}\n\t\t\t\t\t\t<div className='community_title '>{item.title}</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</section>\n\n\t\t\t<dps-upgrade-instance\n\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\tisLatestRelease={isLatestRelease}\n\t\t\t\tisActionInprogress={isActionInprogress}\n\t\t\t\tcatItemInProgress={catItemInProgress}\n\t\t\t\topenedApp={openUpgradeInstanceModel}\n\t\t\t\tinstanceMenuItems={instanceMenuItems}\n\t\t\t\tupgradeableInstanceTargets={upgradeableInstanceTargets}\n\t\t\t\tdirectUpgrade={true}\n\t\t\t\tupgradeInstanceRelease={upgradeInstanceRelease}\n\t\t\t\trecommendationText={'Vibe coding is currently available on Zurich. '}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t/>\n\n\t\t\t<now-modal\n\t\t\t\tcomponent-name=\"change-user-role-modal\"\n\t\t\t\tmanage-opened\n\t\t\t\topened={openChangeUserRoleModal}\n\t\t\t\tdisableClose={changeUserRoleStage === 'progress'}\n\t\t\t\ttype=\"lg\"\n\t\t\t\tcustomSize={{\n\t\t\t\t\theight: 'auto',\n\t\t\t\t\twidth: '55.56vw'\n\t\t\t\t}}\n\t\t\t\theader-label=\"Change user role\"\n\t\t\t\tfooter-actions={changeUserRoleActions}\n\t\t\t>\n\t\t\t\t{renderChangeUserRoleContent()}\n\t\t\t</now-modal>\n\t\t</div>\n\t);\n};\n\nexport default view;\n","const properties = {\n\tblogPosts: {\n\t\tdefault: []\n\t},\n\tbuildItems: {\n\t\tdefault: []\n\t},\n\tcatItemInProgress: {\n\t\tdefault: null\n\t},\n\tdisabledTargetRef: {\n\t\tdefault: null\n\t},\n\tdiscussions: {\n\t\tdefault: []\n\t},\n\tfeaturedShareProjects: {\n\t\tdefault: []\n\t},\n\tfirstApplicationStarted: {\n\t\tdefault: ''\n\t},\n\tfollowingShareProjects: {\n\t\tdefault: []\n\t},\n\thasLearnProgress: {\n\t\tdefault: false\n\t},\n\tallLearningProgress: {\n\t\tdefault: {}\n\t},\n\tinstanceInfo: {\n\t\tdefault: {}\n\t},\n\tinstanceMenuItems: {\n\t\tdefault: []\n\t},\n\tisBlockedUser: {\n\t\tdefault: false\n\t},\n\tisInstanceRefreshing: {\n\t\tdefault: false\n\t},\n\tupgradeableInstanceTargets: {\n\t\tdefault: []\n\t},\n\tisProDev: {\n\t\tcomputed({ properties: { userInfo } }) {\n\t\t\treturn !(userInfo && userInfo.developer_type === 'citizen developer');\n\t\t}\n\t},\n\tlatestModule: {\n\t\tdefault: {}\n\t},\n\tlearnOtherReleases: {\n\t\tdefault: []\n\t},\n\tlearnProgress: {\n\t\tdefault: []\n\t},\n\tloading: {\n\t\tdefault: true\n\t},\n\tmyShareProjects: {\n\t\tdefault: []\n\t},\n\trelease: {\n\t\tdefault: '',\n\t\trequired: true,\n\t\tschema: {\n\t\t\ttype: 'string'\n\t\t}\n\t},\n\treleaseInfo: {\n\t\tdefault: []\n\t},\n\tsystemProperties: {\n\t\tdefault: {}\n\t},\n\ttargetRef: {\n\t\tdefault: null\n\t},\n\tuserInfo: {\n\t\tdefault: null\n\t},\n\tisInstanceStatsCheckInProgress: {\n\t\tdefault: false\n\t},\n\tstart_building_subtext: {\n\t\tdefault: ''\n\t},\n\topenUpgradeInstanceModel: {\n\t\tdefault: false\n\t},\n\tcommonData: {\n\t\tdefault: {}\n\t},\n\topenChangeUserRoleModal: {\n\t\tdefault: false\n\t},\n\tchangeUserRole: {\n\t\tdefault: ''\n\t},\n\topResult: {\n\t\tdefault: null\n\t},\n\tpdiUserRole: {\n\t\tdefault: ''\n\t},\n\tisAutoAssignRunInBackground: {\n\t\tdefault: false\n\t}\n};\n\nexport default properties;\n","export const DPS_HOME_AUTH_QUEBEC_ACTIONS = {\n\tFETCH_CONTENT: 'DPS_HOME_AUTH_QUEBEC_ACTIONS#FETCH_CONTENT',\n\tFETCH_CONTENT_SUCCESS: 'DPS_HOME_AUTH_QUEBEC_ACTIONS#FETCH_CONTENT_SUCCESS',\n\tFETCH_CONTENT_FAILED: 'DPS_HOME_AUTH_QUEBEC_ACTIONS#FETCH_CONTENT_FAILED',\n\tUPGRADE_INSTANCE: 'DPS_HOME_AUTH_QUEBEC_ACTIONS#UPGRADE_INSTANCE',\n\tDISMISS_ALERTS: 'DPS_HOME_AUTH_QUEBEC_ACTIONS#DISMISS_ALERTS',\n\tOPEN_CHANGE_USER_ROLE_MODAL: 'DPS_HOME_AUTH_QUEBEC_ACTIONS#OPEN_CHANGE_USER_ROLE_MODAL'\n};\nexport default DPS_HOME_AUTH_QUEBEC_ACTIONS;","/* eslint-disable object-shorthand */\nimport { actionTypes } from '@servicenow/ui-core';\nimport { DPS_HOME_AUTH_QUEBEC_ACTIONS } from '../actions';\nimport { DevPlatformStorage } from '../../../utils/storage';\nimport { makeHttpEffectCreator, formatSysParam } from '../../../utils/helpers';\nimport { CONSTANTS, INSTANCE_ACTION_LABELS } from '../../../constants';\nimport { DPS_INLINE_VERSION_SELECTOR_ACTIONS } from '../../../components/dps-inline-version-selector/actions';\nimport { MemStorage } from '../../../utils/memStorage';\nimport { APP_ACTIONS } from '../../dps-app/actions';\nimport { CHANGE_USER_ROLE_CONFIRMATION } from '../../../connected-components/dps-pdi-summary/constants';\nimport { DPS_INSTANCE_MODAL_ACTIONS } from '../../../components/dps-instance-modal/actions';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst { FETCH_CONTENT } = DPS_HOME_AUTH_QUEBEC_ACTIONS;\n\nconst FIRST_TIME = 'first_time';\n\nconst fetchContent = makeHttpEffectCreator(\n\tFETCH_CONTENT,\n\tCONSTANTS.ENDPOINTS.GET_DASHBOARD_CONTENT,\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tqueryParams: ['release'],\n\t\tonError(coeffects) {\n\t\t\tconst { updateProperties } = coeffects;\n\t\t\tupdateProperties({\n\t\t\t\tloading: false\n\t\t\t});\n\t\t},\n\t\tonSuccess(coeffects) {\n\t\t\tconst { action, updateProperties } = coeffects;\n\t\t\tconst {\n\t\t\t\tresult: { learn, learnings_progress }\n\t\t\t} = action.payload;\n\n\t\t\tupdateProperties({\n\t\t\t\tloading: false,\n\t\t\t\tlearnProgress: learn.learn_progress,\n\t\t\t\tlearnOtherReleases: learn.other_releases,\n\t\t\t\tlatestModule: learn.latest_module,\n\t\t\t\thasLearnProgress: learn.hasProgress,\n\t\t\t\tallLearningProgress: learnings_progress\n\t\t\t});\n\t\t}\n\t}\n);\n\nexport default {\n\t...fetchContent,\n\t[COMPONENT_BOOTSTRAPPED]: coeffects => {\n\t\tconst { dispatch, properties } = coeffects;\n\t\tif (\n\t\t\t(properties.instanceInfo && properties.instanceInfo.state) ||\n\t\t\tproperties.instanceInfo?.instanceStatus?.state === 'fulfillingRequest'\n\t\t) {\n\t\t\tdispatch(FETCH_CONTENT, { release: properties.release });\n\t\t} else {\n\t\t\tconsole.log(\n\t\t\t\t'Could not initialize Auth Page - Instance Info not populated'\n\t\t\t);\n\t\t}\n\t},\n\t[COMPONENT_PROPERTY_CHANGED](coeffects) {\n\t\tconst { action, properties, dispatch, state, updateState } = coeffects;\n\t\tconst { name, value } = action && action.payload;\n\t\tif (name === 'instanceInfo') {\n\t\t\tconst { instanceInfo } = properties;\n\t\t\tconst instanceState = instanceInfo.state;\n\t\t\tif (instanceState === FIRST_TIME) {\n\t\t\t\tdispatch(FETCH_CONTENT, { release: properties.release });\n\t\t\t} else if (instanceState) {\n\t\t\t\tconst release =\n\t\t\t\t\tMemStorage.getItem(CONSTANTS.DEFAULTS.USER_SESSION_RELEASE) ||\n\t\t\t\t\t(instanceInfo && instanceInfo.release) ||\n\t\t\t\t\tproperties.release;\n\t\t\t\tdispatch(FETCH_CONTENT, { release });\n\t\t\t}\n\t\t}\n\t\t// Handle opResult change for change user role completion\n\t\tif (name === 'opResult' && value?.status === 'SUCCESS' && value?.message === CHANGE_USER_ROLE_CONFIRMATION) {\n\t\t\tupdateState({ changeUserRoleStage: 'done' });\n\t\t}\n\t},\n\t[DPS_INLINE_VERSION_SELECTOR_ACTIONS.RELEASE_SELECTED]: coeffects => {\n\t\tconst { dispatch, action } = coeffects;\n\t\tconst { id: release } = action.payload.release;\n\t\tdispatch(FETCH_CONTENT, { release });\n\t},\n\t[DPS_HOME_AUTH_QUEBEC_ACTIONS.UPGRADE_INSTANCE]: coeffects => {\n\t\tconst { updateProperties, action } = coeffects;\n\t\tconst { val } = action.payload;\n\t\tupdateProperties({ openUpgradeInstanceModel: val });\n\t},\n\t[DPS_HOME_AUTH_QUEBEC_ACTIONS.DISMISS_ALERTS]: coeffects => {\n\t\tconst { updateState, action, state } = coeffects;\n\t\tconst { componentName } = action.payload;\n\t\tconst updatedDismissedAlert = {\n\t\t\t...state.dismissedAlert,\n\t\t\t[componentName]: true\n\t\t};\n\t\tupdateState({ dismissedAlert: updatedDismissedAlert });\n\t},\n\t[DPS_HOME_AUTH_QUEBEC_ACTIONS.OPEN_CHANGE_USER_ROLE_MODAL]: coeffects => {\n\t\tconst { updateProperties, updateState, properties } = coeffects;\n\t\tconst { userInfo, instanceMenuItems } = properties;\n\t\t\n\t\t// Extract userRoleOptions from instanceMenuItems\n\t\tconst menuItemEditorOptions = instanceMenuItems.find(\n\t\t\tmenuItem => menuItem.editorOptions !== ''\n\t\t);\n\t\tconst userRoleOptions = {};\n\t\tif (menuItemEditorOptions) {\n\t\t\t['editorOptions', 'editorOptionsText', 'imageOptions'].forEach(key => {\n\t\t\t\tuserRoleOptions[key] = JSON.parse(menuItemEditorOptions[key]);\n\t\t\t});\n\t\t}\n\t\t\n\t\tupdateState({ userRoleOptions });\n\t\tupdateProperties({ \n\t\t\topenChangeUserRoleModal: true,\n\t\t\tchangeUserRole: userInfo?.pdi_user_role || 'admin'\n\t\t});\n\t},\n\t['NOW_CARD#SELECTED_SET']: coeffects => {\n\t\tconst { action, properties, updateProperties } = coeffects;\n\t\tconst role = action.meta.componentName;\n\t\tconst { changeUserRole } = properties;\n\t\tconst value = action.payload.value;\n\t\t\n\t\tif (value && role !== changeUserRole) {\n\t\t\tupdateProperties({ changeUserRole: role });\n\t\t}\n\t},\n\t['CHANGE_USER_ROLE']: coeffects => {\n\t\tconst { properties, updateState, dispatch } = coeffects;\n\t\tconst { instanceMenuItems, changeUserRole, instanceInfo } = properties;\n\t\t\n\t\tconst changeUserRoleItem = instanceMenuItems.find(\n\t\t\titem => item.name === INSTANCE_ACTION_LABELS.CHANGE_USER_ROLE\n\t\t);\n\t\t\n\t\tif (changeUserRoleItem) {\n\t\t\tconst sysparm_data = formatSysParam('instance.ops.execute_cat_item', {\n\t\t\t\tins_id: instanceInfo.sys_id,\n\t\t\t\tcat_item_id: changeUserRoleItem.sys_id,\n\t\t\t\tadditionalParams: {\n\t\t\t\t\trole: changeUserRole,\n\t\t\t\t\tisPdiSummary: true\n\t\t\t\t}\n\t\t\t});\n\t\t\t\n\t\t\tdispatch(APP_ACTIONS.EXECUTE_CAT_ITEM_STARTED, {\n\t\t\t\tmenuItem: changeUserRoleItem,\n\t\t\t\tsysparm_data\n\t\t\t});\n\t\t\t\n\t\t\tupdateState({ changeUserRoleStage: 'progress' });\n\t\t\t\n\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\taction: 'click on Change user role button on Home page',\n\t\t\t\tcategory: 'buttons',\n\t\t\t\tlabel: 'Change user role',\n\t\t\t\tvalue: '',\n\t\t\t\tga: false,\n\t\t\t\tadobe: true\n\t\t\t});\n\t\t}\n\t},\n\t['CHANGE_USER_ROLE_DONE']: coeffects => {\n\t\tconst { updateProperties, updateState, dispatch } = coeffects;\n\t\tupdateProperties({ openChangeUserRoleModal: false });\n\t\tupdateState({ changeUserRoleStage: 'loading' });\n\t\t// Clear opResult to prevent dps-pdi-summary from showing stale success message\n\t\tdispatch(DPS_INSTANCE_MODAL_ACTIONS.CLEAR_OP_RESULT, { clearOpResult: true });\n\t},\n\t['CANCEL_CHANGE_USER_ROLE']: coeffects => {\n\t\tconst { updateProperties, updateState, properties } = coeffects;\n\t\tconst { userInfo } = properties;\n\t\tupdateProperties({ \n\t\t\topenChangeUserRoleModal: false,\n\t\t\tchangeUserRole: userInfo?.pdi_user_role || 'admin'\n\t\t});\n\t\tupdateState({ changeUserRoleStage: 'loading' });\n\t},\n\t['NOW_MODAL#OPENED_SET']: coeffects => {\n\t\tconst { action, properties, updateProperties, updateState } = coeffects;\n\t\tconst { openChangeUserRoleModal, userInfo } = properties;\n\t\t\n\t\t// Only handle change user role modal close (not upgrade instance modal)\n\t\tconst isChangeUserRoleModal = action.meta?.componentName === 'change-user-role-modal';\n\t\tif (isChangeUserRoleModal && openChangeUserRoleModal && !action.payload.value) {\n\t\t\tupdateProperties({ \n\t\t\t\topenChangeUserRoleModal: false,\n\t\t\t\tchangeUserRole: userInfo?.pdi_user_role || 'admin'\n\t\t\t});\n\t\t\tupdateState({ changeUserRoleStage: 'loading' });\n\t\t}\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport view from './view';\nimport properties from './properties';\nimport actions from './actions';\nimport actionHandlers from './actionHandlers/index';\nimport styles from './dps-home-auth-quebec.scss';\n\nexport default createCustomElement('dps-home-auth-quebec', {\n\tactionHandlers,\n\tactions,\n\tproperties,\n\tinitialState: {\n\t\tdismissedAlert: {},\n\t\tchangeUserRoleStage: 'loading',\n\t\tuserRoleOptions: {}\n\t},\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tstyles,\n\tview\n});\n","import '../../components/dps-card';\nimport '../../components/dps-card-container';\nimport {createPath} from '../../utils/url';\n\nimport checkMonitorBadge from '../../images/citizen-dev-check-screen.svg';\nimport workflowBadge from '../../images/citizen-dev-workflow.svg';\n\n// Logos\nimport logoWayfair from '../../images/wayfair-logo.svg';\nimport logoCask from '../../images/cask-logo.svg';\nimport logoExperian from '../../images/experian-logo.svg';\nimport logoInry from '../../images/inry-logo.svg';\nimport logoVcharts from '../../images/vcharts-logo.svg';\n\n// Card Images\nimport healthbookCard from '../../images/healthbook-card-image.png';\nimport vividchartsCard from '../../images/vividcharts-card-image.png';\nimport inryCard from '../../images/inry-card-image.png';\nimport platcoreCard from '../../images/platcore-card-image.png';\n\n// Resources Images\nimport noCodeAppsBook from '../../images/citizen-dev-low-code-apps-book.png';\nimport noCodeAppsSpreadsheetGuide from '../../images/citizen-dev-spreadsheet-and-person-guide.svg';\n\n// Final CTA bubbles image\nimport bubblesImage from '../../images/citizen-dev-bubbles-graphic.svg';\nimport { CONSTANTS } from '../../constants';\n\n\nconst view = ({properties: {registerUrl, defaultVersionSelected, builderSeriesVideoUrl, systemProperties}}, dispatch) => {\n\n\tconst citizenDevRelayState = registerUrl + CONSTANTS.DEFAULTS.CITIZEN_DEVELOPER_RELAY_STATE;\n\n\treturn (\n\t<div className=\"dps-citizen-dev\">\n\t\t<section className=\"build-first-app section-block\" aria-labelledby=\"build-first-app\">\n\t\t\t<div className=\"section-block-content\">\n\t\t\t\t<header>\n\t\t\t\t\t<h1 id=\"build-first-app\">Build your first app in minutes!</h1>\n\t\t\t\t\t<p>If you can create a spreadsheet, you can build an App. <br />Really!</p>\n\t\t\t\t\t<dps-link\n\t\t\t\t\t\thref={citizenDevRelayState}\n\t\t\t\t\t\tbutton-style\n\t\t\t\t\t\tinternal-action\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t//Tracking the Sign up and Start Building link\n\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\taction: 'click Sign up and Start Building - start of citizen-developer page',\n\t\t\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\t\t\tlabel: 'citizen-developer page',\n\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tSign up and Start Building\n\t\t\t\t\t</dps-link>\n\t\t\t\t</header>\n\t\t\t</div>\n\t\t</section>\n\n\t\t<section className=\"build-apps-fast section-block\" aria-labelledby=\"build-apps-fast\">\n\t\t\t<div className=\"section-block-content\">\n\t\t\t\t<header>\n\t\t\t\t\t<h2 id=\"build-apps-fast\">Build Apps Fast with Now Platform<sup>®</sup> App Engine</h2>\n\t\t\t\t\t<p>Anyone can build workflow apps using our no-code/low code capabilities.</p>\n\t\t\t\t</header>\n\n\t\t\t\t<div className=\"build-apps-fast-blocks\">\n\t\t\t\t\t<div className=\"build-apps-fast-feature-block\">\n\t\t\t\t\t\t<img src={checkMonitorBadge} alt=\"\" />\n\t\t\t\t\t\t<h3>Productivity in minutes</h3>\n\t\t\t\t\t\t<p>Automate manual processes to drive productivity.</p>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"build-apps-fast-feature-block\">\n\t\t\t\t\t\t<img src={workflowBadge} alt=\"\" />\n\t\t\t\t\t\t<h3>Escape email with Workflow Apps</h3>\n\t\t\t\t\t\t<p>Convert your spreadsheets to an app with just a click.</p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"happy-customers\" aria-labelledby=\"happy-customers\">\n\t\t\t\t\t<h5 id=\"happy-customers\">Happy customers building on Now Platform</h5>\n\t\t\t\t\t<div className=\"customer-logos\">\n\t\t\t\t\t\t<img src={logoExperian} alt=\"Experian Logo\"/>\n\t\t\t\t\t\t<img src={logoCask} alt=\"Cask Logo\"/>\n\t\t\t\t\t\t<img src={logoVcharts} alt=\"VCharts Logo\"/>\n\t\t\t\t\t\t<img src={logoInry} alt=\"Inry Logo\"/>\n\t\t\t\t\t\t<img src={logoWayfair} alt=\"Wayfair Logo\"/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\n\t\t<section className=\"section-block customers-like-you\" aria-labelledby=\"customers-like-you\">\n\t\t\t<div className=\"section-block-content\">\n\t\t\t\t<header className=\"ruled-header\">\n\t\t\t\t\t<h6 id=\"customers-like-you\">Customers like you are building apps for:</h6>\n\t\t\t\t</header>\n\t\t\t\t<div className=\"cards\">\n\t\t\t\t\t<dps-card\n\t\t\t\t\t\ttitle=\"Cask HealthBook\"\n\t\t\t\t\t\ttitle-tag=\"h4\"\n\t\t\t\t\t\tmeta-data=\"Cask LLC\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<img src={healthbookCard} alt=\"\"/>\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\tEnables Government and Healthcare organizations to rapidly book and manage appointments.\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</dps-card>\n\t\t\t\t\t<dps-card\n\t\t\t\t\t\ttitle=\"VividCharts\"\n\t\t\t\t\t\ttitle-tag=\"h4\"\n\t\t\t\t\t\tmeta-data=\"VividCharts LLC\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<img src={vividchartsCard} alt=\"\"/>\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\tVisual Storytelling with ServiceNow Data.\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</dps-card>\n\t\t\t\t\t<dps-card\n\t\t\t\t\t\ttitle=\"PlatCore LMS\"\n\t\t\t\t\t\ttitle-tag=\"h4\"\n\t\t\t\t\t\tmeta-data=\"PlatCore LLC\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<img src={platcoreCard} alt=\"\"/>\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\tNative Learning Management System.\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</dps-card>\n\t\t\t\t\t<dps-card\n\t\t\t\t\t\ttitle=\"Expense Management\"\n\t\t\t\t\t\ttitle-tag=\"h4\"\n\t\t\t\t\t\tmeta-data=\"INRY\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<img src={inryCard} alt=\"\"/>\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\tTrack employee expenses and monitor company spending.\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</dps-card>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\n\t\t<section className=\"section-block builder-youtube-channel\" aria-labelledby=\"builder-series-you-tube-channel\">\n\t\t\t<div className=\"section-block-content\">\n\t\t\t\t<header>\n\t\t\t\t\t<h2 id=\"builder-series-you-tube-channel\">Builder Series YouTube Channel</h2>\n\t\t\t\t\t<p>Getting started is easy with this step-by-step ServiceNow Builder video series.</p>\n\t\t\t\t</header>\n\t\t\t\t<div className=\"video-wrapper\">\n\t\t\t\t\t<div className=\"video-intrinsic-width\">\n\t\t\t\t\t\t<iframe\n\t\t\t\t\t\t\twidth=\"100%\"\n\t\t\t\t\t\t\theight=\"100%\"\n\t\t\t\t\t\t\tsrc={builderSeriesVideoUrl}\n\t\t\t\t\t\t\tframeborder=\"0\"\n\t\t\t\t\t\t\tallow=\"encrypted-media\"\n\t\t\t\t\t\t\tallowfullscreen\n\t\t\t\t\t\t></iframe>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\n\t\t<section className=\"section-block discover-more-ways\" aria-labelledby=\"discover-more-ways\">\n\t\t\t<div className=\"section-block-content\">\n\t\t\t\t<header className=\"ruled-header\">\n\t\t\t\t\t<h6 id=\"discover-more-ways\">Discover more ways to build fast</h6>\n\t\t\t\t</header>\n\t\t\t\t<div className=\"build-fast-resources\">\n\t\t\t\t\t<div id=\"no-code-apps-block\">\n\t\t\t\t\t\t<img src={noCodeAppsBook} alt=\"\" />\n\t\t\t\t\t\t<div className=\"resource-copy\">\n\t\t\t\t\t\t\t<h3>Low-Code Apps for Dummies</h3>\n\t\t\t\t\t\t\t<p>Digitize workflows that unlock productivity and create amazing experiences fast!</p>\n\t\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\thref={systemProperties['dev.citizen.developer.page.book.link']}\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\tbutton-style\n\t\t\t\t\t\t\t\tinternal-action\n\t\t\t\t\t\t\t\tbutton-size=\"sm\"\n\t\t\t\t\t\t\t\tbutton-variant=\"secondary\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tGet This e-Book\n\t\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div id=\"citizen-developer-guide-block\">\n\t\t\t\t\t\t<img src={noCodeAppsSpreadsheetGuide} alt=\"\" />\n\t\t\t\t\t\t<div className=\"resource-copy\">\n\t\t\t\t\t\t\t<h3>Citizen developer guide</h3>\n\t\t\t\t\t\t\t<p>Users and admins with minimal coding experience can find out how to create digital workflow applications on the Now Platform.</p>\n\t\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\thref={createPath(`/guides/${defaultVersionSelected}/now-platform/citizen-dev-guide/citizen-dev-intro`)}\n\t\t\t\t\t\t\t\tbutton-style\n\t\t\t\t\t\t\t\tinternal-action\n\t\t\t\t\t\t\t\tbutton-size=\"sm\"\n\t\t\t\t\t\t\t\tbutton-variant=\"secondary\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tRead Guide\n\t\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\t\t<section className=\"section-block start-building\" aria-labelledby=\"start-building\">\n\t\t\t<div className=\"section-block-content\">\n\t\t\t\t<div className=\"start-building-grid\">\n\t\t\t\t\t<img src={bubblesImage} alt=\"\" />\n\t\t\t\t\t<div className=\"start-building-copy\">\n\t\t\t\t\t\t<h2 id=\"start-building\">Start Building!</h2>\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\tYou'll discover how easy it is to go from unstructured work to a system of record with workflow, chatbot, and more to create a great user experience and increase productivity in your organization without writing a single line of code.\n\t\t\t\t\t\t</p>\n\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\thref={registerUrl}\n\t\t\t\t\t\t\tbutton-style\n\t\t\t\t\t\t\tinternal-action\n\t\t\t\t\t\t\tbutton-variant=\"secondary-light\"\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\t//Tracking the Sign up and Start Building link\n\t\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\t\taction: 'click Sign up and Start Building - end of citizen-developer page',\n\t\t\t\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\t\t\t\tlabel: 'citizen-developer page',\n\t\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tSign up and Start Building\n\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\t</div>\n);\n}\n\nexport default view;\n","const initialState = {};\n\nexport default initialState;","const properties = {\n\tregisterUrl: {\n\t\tdefault: ''\n\t},\n\tdefaultVersionSelected: {\n\t\tdefault: ''\n\t},\n\tbuilderSeriesVideoUrl: {\n\t\tdefault: ''\n\t},\n\tsystemProperties: {\n\t\tdefault: {}\n\t}\n};\n\nexport default properties;\n","export const DPS_CITIZEN_DEV_ACTIONS = {};\nexport default DPS_CITIZEN_DEV_ACTIONS;","export default {};","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport view from './view';\nimport initialState from './initialState';\nimport properties from './properties';\nimport actions from './actions';\nimport actionHandlers from './actionHandlers/index';\nimport styles from './dps-citizen-dev.scss';\nimport { isSmallViewport } from '../../utils/helpers';\nimport scrollIntoViewport from '../../behaviors/scrollIntoViewport';\n\nexport default createCustomElement('dps-citizen-dev', {\n\trenderer: { type: snabbdom },\n\tview,\n\tinitialState,\n\tproperties,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: scrollIntoViewport,\n\t\t\toptions: {\n\t\t\t\tselectors: [\n\t\t\t\t\t'.build-first-app .section-block-content',\n\t\t\t\t\t'.build-apps-fast header',\n\t\t\t\t\t'.build-apps-fast-blocks',\n\t\t\t\t\t'.happy-customers',\n\t\t\t\t\t'.customers-like-you .cards',\n\t\t\t\t\t'.builder-youtube-channel header',\n\t\t\t\t\t'.builder-youtube-channel .video-wrapper',\n\t\t\t\t\t'#no-code-apps-block',\n\t\t\t\t\t'#citizen-developer-guide-block',\n\t\t\t\t\t'.start-building-copy',\n\t\t\t\t],\n\t\t\t\tthreshold: isSmallViewport() ? 0 : 0.2,\n\t\t\t\tonce: true, // prevent transform motion from creating feedback loop\n\t\t\t}\n\t\t}\n\t],\n\tactions,\n\tactionHandlers,\n\tstyles\n});\n","export const API_ACTIONS = {\n  API_DOC_BOOTSTRAPPED: 'API_DOC_BOOTSTRAPPED',\n  API_DOCTYPE_UPDATED: 'API_DOCTYPE_UPDATED',\n  API_RECORD_FETCH: 'API_RECORD_FETCH',\n  API_RECORD_FETCH_SUCCEEDED: 'API_RECORD_FETCH_SUCCEEDED',\n  API_RECORD_FOUND: 'API_RECORD_FOUND',\n  API_RECORD_REQUESTED: 'API_RECORD_REQUESTED',\n  API_RECORD_REQUESTED_FAILED: 'API_RECORD_REQUESTED_FAILED',\n  API_RECORD_REQUESTED_SUCCEEDED: 'API_RECORD_REQUESTED_SUCCEEDED',\n  API_TRACKED: 'API_TRACKED',\n  API_TRACKING_SUCCEEDED: 'API_ACTIONS.API_TRACKING_SUCCEEDED',\n  CHECK_ROUTE: 'DPS_API_DOCS#CHECK_ROUTE',\n  DPS_ALERT_BOOTSTRAPPED: 'DPS_ALERT#BOOTSTRAPPED',\n  DPS_ALERT_DISMISSED: 'DPS_ALERT#DISMISS',\n  DPS_API_DOCS_ACTION_TRACKER: 'DPS_API_DOCS#ACTION_TRACKER',\n  DPS_TABS_SELECTED: 'DPS_TABS#TAB_SELECTED',\n  IS_CONTENT_LOADED: 'API_ACTIONS#IS_CONTENT_LOADED',\n  NAV_LIST_CHANGED: 'DPS_DROPDOWN#SELECT_OPTION',\n  NAV_LIST_FETCH: 'NAV_LIST_FETCH',\n  NAV_LIST_FETCH_SUCCEEDED: 'NAV_LIST_FETCH_SUCCEEDED',\n  NAV_LIST_FOUND: 'NAV_LIST_FOUND',\n  NAV_LIST_REQUESTED: 'NAV_LIST_REQUESTED',\n  NAV_LIST_REQUESTED_FAILED: 'NAV_LIST_REQUESTED_FAILED',\n  NAV_LIST_REQUESTED_SUCCEEDED: 'NAV_LIST_REQUESTED_SUCCEEDED'\n};\n","import { API_ACTIONS } from './actions';\nimport { formatSysParam } from '../../utils/helpers';\nimport { setMetaByValues } from '../../utils/meta';\n\nexport const makeApiDocHashbang = (release, docType, newId) =>\n\t`#!/reference/api/${release}/${docType}/${newId}`;\n\nexport const makeApiDocTypeHashbang = (release, newType) =>\n\t`#!/reference/api/${release}/${newType}`;\n\nexport const makeApiDocUrl = (release, docType, id) => {\n\tconst { origin, pathname } = location;\n\treturn `${origin}${pathname}${makeApiDocHashbang(release, docType, id)}`;\n};\n\nexport const sysParamForApiDocs = ({ id, release }) =>\n\tformatSysParam('api.docs', {\n\t\tid,\n\t\trelease\n\t});\n\nexport const sysParamForNavList = ({ navbar, release }) =>\n\tformatSysParam('api.navlist', {\n\t\tnavbar,\n\t\trelease\n\t});\n\n/**\n * Dispatch action to update content area\n * @param {Object} params\n */\nexport const updateDcIdentifierContent = ({ dispatch, id, release }) => {\n\tconst sysparm_data = sysParamForApiDocs({\n\t\tid,\n\t\trelease\n\t});\n\n\tdispatch(API_ACTIONS.API_RECORD_REQUESTED, { params: { sysparm_data } });\n};\n\n/**\n * Dispatch action to track API visit details\n * @param {Object} params\n */\nexport const trackApiVisitCount = ({ dispatch, dita_id }) => {\n\tdispatch(API_ACTIONS.API_TRACKED, {\n\t\tdata: { dita_id }\n\t});\n};\n\nexport const updateMetaTitle = (type, classData) => {\n\tlet title;\n\n\t// Rest is causing issues\n\tconst titleLookup = {\n\t\t['Client Side']: 'Client Side API',\n\t\t['Mobile']: 'Client Mobile',\n\t\t['REST']: 'REST API',\n\t\t['Server Side Scoped']: 'Server Scoped API',\n\t\t['Server Side Unscoped']: 'Server Global API',\n\t\t['Client Next Experience']: 'Client Next Experience API',\n\t\t['Mobile SDK']: 'Mobile SDK API'\n\t};\n\n\tswitch (classData.level) {\n\t\tcase null:\n\t\t\ttitle = `${titleLookup[type]} | ServiceNow Developers`;\n\t\t\tbreak;\n\t\tcase 'Class':\n\t\tcase 'Method':\n\t\t\ttitle = `${classData.name} | ServiceNow Developers`;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\ttitle = null;\n\t}\n\n\tif (title) {\n\t\tsetMetaByValues({\n\t\t\ttitle,\n\t\t\tdescription:\n\t\t\t\t'ServiceNow provides JavaScript APIs for use within scripts running on the ServiceNow platform to deliver common functionality. This reference lists available classes and methods along with parameters, descriptions, and examples to make extending the ServiceNow platform easier.'\n\t\t});\n\t}\n};\n\n/**\n * Dispatch action to update nav list\n * @param {Object} params\n */\nexport const updateNavList = ({ dispatch, docType, release }) => {\n\tconst sysparm_data = sysParamForNavList({\n\t\tnavbar: docType,\n\t\trelease\n\t});\n\tdispatch(API_ACTIONS.NAV_LIST_REQUESTED, { params: { sysparm_data } });\n};\n","/**\n * Returns a debouce function to limit the rate a function can fire\n * \n * [options] can include the flags [leading], [trailing], and a Function [leadingCallback]\n * \n * [trailing] runs the callback [waitTime] ms after the last call in a block of calls\n * \n * [leading] runs the callback at the first call in a block of calls\n *\n * If both flags are set, a call will be made at the start and end of a block\n * \n * If assigned, [leadingCallback] is run for [leading] instead of [callback], but [callback] is still run for [trailing]\n * \n * By default, [trailing] is true, [leading] is false, and [leadingCallback] is undefined\n * \n * e.g. \n * \n *     window.addEventListener('resize', debounce(\n *         () => console.log(\"Resize end\"),\n *         CONSTANTS.DEFAULTS.DELAY_DEBOUNCE_MS,\n *         {leading: true, trailing: true, leadingCallback: () => console.log(\"Resize start\")}\n *     ));\n * @param {Function} callback\n * @param {number} waitTime\n * @param {Object} options\n */\nconst debounce = (callback, waitTime, options = { leading: false, trailing: true, leadingCallback: undefined }) => {\n\tlet timeout;\n\tconst { leading, trailing, leadingCallback } = options;\n\n\tif (!callback && !leadingCallback) {\n\t\treturn;\n\t}\n\n\treturn (...args) => {\n\t\tif (leading && !timeout) {\n\t\t\tif (leadingCallback) {\n\t\t\t\tleadingCallback(...args);\n\t\t\t} else {\n\t\t\t\tcallback(...args);\n\t\t\t}\n\t\t}\n\n\t\tclearTimeout(timeout);\n\n\t\ttimeout = setTimeout(() => {\n\t\t\ttimeout = null;\n\t\t\tif (trailing) {\n\t\t\t\tcallback(...args);\n\t\t\t}\n\t\t}, waitTime);\n\t};\n};\n\nexport default debounce;","import { isString, isFunction } from 'lodash';\nimport debounce from '../utils/debounce';\nimport { CONSTANTS } from '../constants';\nimport { actionTypes } from '@servicenow/ui-core';\nconst {\n\tCOMPONENT_DOM_READY,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_RENDERED\n} = actionTypes;\n\nexport const SCROLL_SPY_ACTIONS = {\n\tTARGET_ACTIVATED: 'SCROLL_SPY#TARGET_ACTIVATED',\n\tNO_TARGETS: 'SCROLL_SPY#NO_TARGETS'\n};\n\nexport class ScrollSpy {\n\t/**\n\t *\n\t * @param {object} config\n\t * @param {string|Function} config.rootMargin\n\t * @param {number} config.threshold\n\t * @param {Function} callback\n\t */\n\tconstructor(config = { rootMargin: '0px', threshold: 0 }, callback) {\n\t\t// bind all class methods\n\t\tthis.getObserverRootMargin = this.getObserverRootMargin.bind(this);\n\t\tthis.getObserverThreshold = this.getObserverThreshold.bind(this);\n\t\tthis.observe = this.observe.bind(this);\n\t\tthis.observerCallback = this.observerCallback.bind(this);\n\t\tthis.unobserve = this.unobserve.bind(this);\n\t\tthis.setConfig = this.setConfig.bind(this);\n\t\tthis.resetObserver = this.resetObserver.bind(this);\n\n\t\tthis.targets = null;\n\t\tthis.callback = callback;\n\n\t\tthis.setConfig(config);\n\n\t\tconst observerOptions = {\n\t\t\trootMargin: this.getObserverRootMargin(),\n\t\t\tthreshold: this.getObserverThreshold()\n\t\t};\n\n\t\tthis.observer = new IntersectionObserver(entries => {\n\t\t\tthis.observerCallback(entries);\n\t\t}, observerOptions);\n\t}\n\n\t/**\n\t * Get observer root margin either by calling the rootMargin as a function or as a string\n\t * @returns string\n\t */\n\tgetObserverRootMargin() {\n\t\treturn isFunction(this.config.rootMargin) ? this.config.rootMargin() : this.config.rootMargin;\n\t}\n\n\t/**\n\t * Get observer threshold\n\t * @returns number\n\t */\n\tgetObserverThreshold() {\n\t\treturn this.config.threshold;\n\t}\n\n\t/**\n\t * Observer callback used on observe\n\t * @param {Array<IntersectionObserverEntry>} entries\n\t */\n\tobserverCallback(entries) {\n\t\tconst activeEntries = [];\n\n\t\tentries.forEach(entry => {\n\t\t\tconst { isIntersecting } = entry;\n\t\t\tif (isIntersecting) {\n\t\t\t\tactiveEntries.push(entry);\n\t\t\t}\n\t\t});\n\n\t\tif (activeEntries.length) {\n\t\t\tthis.callback(activeEntries[0]);\n\t\t} else {\n\t\t\tthis.callback(false);\n\t\t}\n\t}\n\n\t/**\n\t * Register targets for the IntersectionObserver\n\t */\n\tobserve() {\n\t\tthis.targets.forEach(target => {\n\t\t\tthis.observer.observe(target);\n\t\t});\n\t}\n\n\t/**\n\t * Unregister targets\n\t */\n\tunobserve() {\n\t\tthis.targets.forEach(target => {\n\t\t\tthis.observer.unobserve(target);\n\t\t});\n\t}\n\n\t/**\n\t * Scan and set targets from the host node\n\t * @param {object} \tparam\n\t * @param {Node} \t\thost\n\t * @param {string} \thostOverride\n\t * @param {string} \ttargetSelector\n\t */\n\tsetTargets({ host, hostOverride, targetSelector }) {\n\t\tlet hostShadowRoot = host.shadowRoot;\n\t\tif (hostOverride && isString(hostOverride)) {\n\t\t\thostShadowRoot = hostShadowRoot.querySelector(hostOverride);\n\t\t}\n\n\t\tif (hostShadowRoot) {\n\t\t\tthis.targets = hostShadowRoot.querySelectorAll(targetSelector);\n\t\t}\n\t}\n\n\tsetConfig(config) {\n\t\tthis.config = config;\n\t}\n\n\tresetObserver() {\n\t\tthis.unobserve();\n\n\t\tconst observerOptions = {\n\t\t\trootMargin: this.getObserverRootMargin(),\n\t\t\tthreshold: this.getObserverThreshold()\n\t\t};\n\n\t\tthis.observer = new IntersectionObserver(entries => {\n\t\t\tthis.observerCallback(entries);\n\t\t}, observerOptions);\n\n\t\tthis.observe();\n\t}\n}\n\nexport default {\n\tname: 'scrollSpyBehavior',\n\tactionHandlers: {\n\t\t'SCROLL_SPY_BEHAVIOR#WINDOW_RESIZE_START': ({ state }) => {\n\t\t\tconst { scrollSpy } = state;\n\t\t\tscrollSpy.unobserve();\n\t\t},\n\t\t'SCROLL_SPY_BEHAVIOR#WINDOW_RESIZE_FINISH': ({ action, state, updateState }) => {\n\t\t\tconst { scrollSpy, lastKnownWindowHeight } = state;\n\t\t\tconst { newHeight } = action.payload;\n\n\t\t\tif (newHeight === lastKnownWindowHeight) {\n\t\t\t\tscrollSpy.observe();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdateState({\n\t\t\t\tlastKnownWindowHeight: newHeight\n\t\t\t});\n\n\t\t\tscrollSpy.resetObserver();\n\t\t},\n\t\t// eslint-disable-next-line object-shorthand\n\t\t// MIGRATION: COMPONENT_DOM_READY\n\t\t[COMPONENT_DOM_READY]: ({ action: { payload }, dispatch, updateState }) => {\n\t\t\tconst { host, options } = payload;\n\t\t\tconst { targetSelector, hostOverride, handlesWindowResize } = options;\n\n\t\t\tconst scrollSpy = new ScrollSpy(options, observerEntry => {\n\n\t\t\t\tif (observerEntry === false) {\n\t\t\t\t\tdispatch(SCROLL_SPY_ACTIONS.NO_TARGETS);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst { target } = observerEntry;\n\n\t\t\t\tdispatch(SCROLL_SPY_ACTIONS.TARGET_ACTIVATED, {\n\t\t\t\t\tid: target.id\n\t\t\t\t});\n\t\t\t});\n\n\t\t\tscrollSpy.setTargets({ host, hostOverride, targetSelector });\n\t\t\tscrollSpy.observe();\n\n\t\t\tupdateState({\n\t\t\t\tscrollSpy\n\t\t\t});\n\n\t\t\tif (handlesWindowResize) {\n\t\t\t\twindow.addEventListener('resize', debounce(\n\t\t\t\t\t() => dispatch('SCROLL_SPY_BEHAVIOR#WINDOW_RESIZE_FINISH', { newHeight: window.innerHeight }),\n\t\t\t\t\tCONSTANTS.DEFAULTS.DELAY_DEBOUNCE_MS,\n\t\t\t\t\t{\n\t\t\t\t\t\tleading: true,\n\t\t\t\t\t\ttrailing: true,\n\t\t\t\t\t\tleadingCallback: () => dispatch('SCROLL_SPY_BEHAVIOR#WINDOW_RESIZE_START')\n\t\t\t\t\t}\n\t\t\t\t));\n\n\t\t\t\tupdateState({\n\t\t\t\t\tlastKnownWindowHeight: window.innerHeight\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_RENDERED]({ action: { payload }, state: { scrollSpy } }) {\n\t\t\tconst { host, options } = payload;\n\t\t\tconst { targetSelector, hostOverride } = options;\n\n\t\t\tif (!scrollSpy) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tscrollSpy.unobserve();\n\t\t\tscrollSpy.setTargets({ host, hostOverride, targetSelector });\n\t\t\tscrollSpy.observe();\n\t\t},\n\t\t// eslint-disable-next-line object-shorthand\n\t\t[COMPONENT_DISCONNECTED]: ({ state: { scrollSpy } }) => {\n\t\t\tscrollSpy.unobserve();\n\t\t}\n\t}\n};\n","export const DPS_CODE_SWITCHER_ACTIONS = {\n  LANGUAGE_TAB_CHANGED: 'DPS_CODE_SWITCHER#LANGUAGE_TAB_CHANGED',\n  SWITCHER_READJUSTED: 'DPS_CODE_SWITCHER#SWITCHER_READJUSTED',\n  CLICKED_SWITCHER_RENDERED: 'DPS_CODE_SWITCHER#CLICKED_SWITCHER_RENDERED',\n  CLICKED_SWITCHER_TAB_SELECTED: 'DPS_CODE_SWITCHER#CLICKED_SWITCHER_TAB_SELECTED',\n  SWITCHERS_NEED_HEIGHT_LOCKED: 'DPS_CODE_SWITCHER#SWITCHERS_NEED_HEIGHT_LOCKED',\n  SWITCHER_HEIGHT_LOCKED: 'DPS_CODE_SWITCHER#SWITCHER_HEIGHT_LOCKED'\n};\n","// Import only necessary languages\nimport hljs from 'highlight.js/lib/highlight';\nimport bash from 'highlight.js/lib/languages/bash';\nimport css from 'highlight.js/lib/languages/css';\nimport xml from 'highlight.js/lib/languages/xml';\nimport java from 'highlight.js/lib/languages/java';\nimport javascript from 'highlight.js/lib/languages/javascript';\nimport json from 'highlight.js/lib/languages/json';\nimport scss from 'highlight.js/lib/languages/scss';\nimport shell from 'highlight.js/lib/languages/shell';\nimport python from 'highlight.js/lib/languages/python';\nimport apache from 'highlight.js/lib/languages/apache';\nimport plaintext from 'highlight.js/lib/languages/plaintext';\n\nhljs.registerLanguage('bash', bash);\nhljs.registerLanguage('css', css);\nhljs.registerLanguage('xml', xml);\nhljs.registerLanguage('java', java);\nhljs.registerLanguage('javascript', javascript);\nhljs.registerLanguage('json', json);\nhljs.registerLanguage('scss', scss);\nhljs.registerLanguage('shell', shell);\nhljs.registerLanguage('python', python);\nhljs.registerLanguage('apache', apache);\nhljs.registerLanguage('plaintext', plaintext);\n\nexport default hljs;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-code-block.scss';\nimport hljs from '../../utils/hljs-pack';\nimport CopyIcon from '../../images/icons/copy-3.svg';\nimport { DPS_TOAST_ALERT_TYPES } from '../../constants';\n\nconst escapeGreaterThanAndLessThanChars = code => (\n\tcode.replace(/</gm,\"&lt;\").replace(/>/gm,\"&gt;\")\n);\n\nconst formatXMLCode = code => {\n\t// If the language is XML we have some nested HTML that is being converted\n\t// to HTML Entities incorrectly. This will reformat that back into the\n\t// characters we want.\n\tconst formattedCode = code.replace(/&lt;/gm, '<').replace(/&gt;/gm, '>');\n\n\tconst tempCodeBlock = document.createElement('code');\n\ttempCodeBlock.innerHTML = formattedCode;\n\n\ttempCodeBlock.querySelectorAll('description').forEach(block => {\n\t\tconst text = block.innerHTML\n\t\t\t// Replace &amp; with & so we can properly\n\t\t\t// replace the < and >\n\t\t\t.replace(/&amp;/gm, '&')\n\t\t\t.replace(/&lt;/gm, '<')\n\t\t\t.replace(/&gt;/gm, '>')\n\t\t\t// Replace other incorrectly converted &amp;\n\t\t\t// so other things like apostrophes work\n\t\t\t.replace(/&amp;/gm, '&');\n\n\t\tblock.innerHTML = text;\n\t});\n\n\t// Replace &quot; with \"\n\tconst convertedCodeBlock = tempCodeBlock.innerHTML.replace(/&quot;/gm, '\"');\n\n\treturn convertedCodeBlock;\n};\n\n// unformatCode seems very similar to formatXMLCode, but the needs are slightly different.\n// The step by step and naive looking replacements are to ensure that for example HTML in\n// JSON or Syntax-Highlighed code doesn't get decoded.\nconst unformatCode = code => {\n\t// Used to prepare the code for being placed on the clipboard.\n\t// The clipboard will use literal representations of all the\n\t// encoded characters, so those all need to be removed.\n\n\treturn code\n\t\t.replace(/&quot;/gm, '\"') // remove manually encoded quotes eg: &quot;someValue&quot;\n\t\t.replace(/(<([^<>]+)>)/gi, '') // remove highlighting markup eg: <span class=\"hljs-string\">keyword</span>\n\t\t.replace(/&amp;/gm, '&') // restore ampersands before entities\n\t\t.replace(/&lt;/gm, '<') // needs to be replaced AFTER the above replacement\n\t\t.replace(/&gt;/gm, '>'); // needs to be replaced AFTER the above replacement\n};\n\nconst removeUnwantedChars = code => {\n\t// Remove unwanted 'line separator' character which is not handled by 'innerHTML='\n\treturn code.replace(/&amp;#8232;/gm, '');\n}\n\nconst DPSCodeBlock = (state, { dispatch }) => {\n\tconst {\n\t\tproperties: { language, code, copyButton, copyButtonLabel }\n\t} = state;\n\n\tconst hljsLanguage = (hljs.getLanguage(language) && language) || 'javascript';\n\n\tconst isApache = language.indexOf('apache') !== -1;\n\tconst isHTML = language.indexOf('html') !== -1;\n\tconst isJSON = language.indexOf('json') !== -1;\n\tconst isXML = language === 'xml';\n\tlet formattedCode = code;\n\n\tif (isApache || isHTML || isJSON) {\n\t\tformattedCode = escapeGreaterThanAndLessThanChars(code);\n\t} else if (isXML) {\n\t\tformattedCode = formatXMLCode(code);\n\t}\n\tformattedCode = removeUnwantedChars(formattedCode);\n\n\t// if language prop starts with a `language-`, then we can pass that value through\n\tconst languageClassName =\n\t\thljsLanguage.indexOf('language-') === 0 ? hljsLanguage : `language-${hljsLanguage}`;\n\n\treturn (\n\t\t<div className=\"dps-code-block\">\n\t\t\t{copyButton && navigator.clipboard ? (\n\t\t\t\t<button\n\t\t\t\t\taria-label={copyButtonLabel}\n\t\t\t\t\tclassName={`copy-language-${language} copy-code`}\n\t\t\t\t\ttitle={copyButtonLabel}\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\tlet unformattedCode = isXML\n\t\t\t\t\t\t\t? formattedCode\n\t\t\t\t\t\t\t: unformatCode(formattedCode);\n\t\t\t\t\t\tnavigator.clipboard.writeText(unformattedCode).then(\n\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\t// Handle success\n\t\t\t\t\t\t\t\tdispatch('DPS_TOAST_ALERT', {\n\t\t\t\t\t\t\t\t\tmessage:\"Copied to the clipboard\",\n\t\t\t\t\t\t\t\t\ttype: DPS_TOAST_ALERT_TYPES.SUCCESS\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\t// Handle failure\n\t\t\t\t\t\t\t\tdispatch('DPS_TOAST_ALERT', {\n\t\t\t\t\t\t\t\t\tmessage:\"There was a problem copying to the clipboard\",\n\t\t\t\t\t\t\t\t\ttype: DPS_TOAST_ALERT_TYPES.WARNING\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<img src={CopyIcon} alt=\"\" />\n\t\t\t\t</button>\n\t\t\t) : null}\n\n\t\t\t{isXML ? (\n\t\t\t\t<pre\n\t\t\t\t\tinnerHTML={code}\n\t\t\t\t\thook-insert={({ elm }) => hljs.highlightBlock(elm)}\n\t\t\t\t></pre>\n\t\t\t) : (\n\t\t\t\t<pre>\n\t\t\t\t\t<code\n\t\t\t\t\t\tkey={JSON.stringify(formattedCode)}\n\t\t\t\t\t\tclassName={languageClassName}\n\t\t\t\t\t\thook-insert={({ elm }) => hljs.highlightBlock(elm)}\n\t\t\t\t\t\thook-update={({ elm }) => hljs.highlightBlock(elm)}\n\t\t\t\t\t\tinnerHTML={formattedCode}\n\t\t\t\t\t></code>\n\t\t\t\t</pre>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-code-block', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DPSCodeBlock\n\t},\n\tproperties: {\n\t\tlanguage: {\n\t\t\tdefault: 'javascript'\n\t\t},\n\t\tcode: {\n\t\t\tdefault: ''\n\t\t},\n\t\tcopyButton: {\n\t\t\tdefault: true\n\t\t},\n\t\tcopyButtonLabel: {\n\t\t\tdefault: 'Copy code'\n\t\t}\n\t},\n\tstyles\n});\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-scoped-equivalent.scss';\n\nconst DPSScopedEquivalent = (state) => {\n\tconst {scopedEquivalentText} = state.properties;\n\n\treturn (\n\t\t<div className=\"scoped-equivalent-wrapper\">\n\t\t\t<h4>Scoped equivalent:</h4><div innerHTML={scopedEquivalentText} className=\"scoped-text\">\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-scoped-equivalent', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview: DPSScopedEquivalent,\n\tproperties: {\n\t\tscopedEquivalentText: {\n\t\t\tdefault: null\n\t\t}\n\t},\n\tstyles\n});\n","import '../../components/dps-code-block';\nimport '../../components/dps-scoped-equivalent';\nimport hljs from '../../utils/hljs-pack';\nimport { processPreTags } from '../../utils/helpers';\nimport { createAnchor } from '../../utils/url';\n\nconst highlightCode = elm => elm.querySelectorAll('pre code').forEach(block => {\n\thljs.highlightBlock(block);\n});\n\nconst XREF_REGEX = new RegExp(/(<[^>]+class=\"xref\" href=\")(#[^>]+)(\"[^>]*>)/gim);\n\nconst DEFAULT_CODE_EXAMPLE_LANGUAGE = 'javascript';\nconst DEFAULT_OUTPUT_CODE_EXAMPLE_LANGUAGE = 'json';\n\n// Returns a table labeled with variable headers and value sources\nexport const formatApiTableData = ({\n\tentry,\n\tfilters = [],\n\tparameters = ['name', 'text'],\n\tlabel = null\n}) => {\n\tlet entries = [],\n\t\tsectionHeader,\n\t\ttableHeaders = ['Name', 'Value'];\n\n\tif (entry.children) {\n\t\tentries = entry.children.filter(i => filters.includes(i.type));\n\t}\n\n\tif (entries.length < 1) {\n\t\treturn null;\n\t}\n\n\t// Get Section Header and Table Headers\n\tif(entries) {\n\t\tif (filters[0] === 'Default URL' || filters[1] === 'Default URL' || filters[0] === 'Versioned URL' || filters[1] === 'Versioned URL') {\n\t\t\tentries = entries.map(entry => ({\n\t\t\t\t...entry,\n\t\t\t\ttext: entry.text.replace(/([^<])\\/(?!>)/g, '$1/<wbr>').replace('<version>', '{version}')\n\t\t\t}));\n\t\t\tsectionHeader = label;\n\t\t\ttableHeaders = ['Name', 'Value'];\n\t\t} else {\n\t\t\tsectionHeader = entries[0].sectionHeader;\n\t\t\ttableHeaders = entries[0].tableHeader ? entries[0].tableHeader.split(\",\") : ['name', 'description'];\n\t\t}\n\t}\n\n\treturn (\n\t\t<div className=\"table-wrapper\">\n\t\t\t{sectionHeader ? <div className=\"api-section-header\">{sectionHeader}</div> : null}\n\t\t\t<div className=\"api-table\">\n\t\t\t\t<table>\n\t\t\t\t\t<thead>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t{tableHeaders.map(header => (\n\t\t\t\t\t\t\t\t<th innerHTML={header}></th>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t</thead>\n\t\t\t\t\t<tbody>\n\t\t\t\t\t\t{entries.map(parameter => (\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t{parameters.map(parameterName => {\n\t\t\t\t\t\t\t\t\t//Processing pre tags in content\n\t\t\t\t\t\t\t\t\tconst regex = new RegExp(/<pre((?:.|\\n|\\r)*?)>((?:.|\\n|\\r)*?)<\\/pre>/gi);\n\t\t\t\t\t\t\t\t\tconst found = (parameter[parameterName] && parameter[parameterName].match(regex)) || null;\n\t\t\t\t\t\t\t\t\tparameter[parameterName] = found !== null? processPreTags(parameter[parameterName]) : parameter[parameterName];\n\n\t\t\t\t\t\t\t\t\t//Process internal links\n\t\t\t\t\t\t\t\t\tconst foundInternalLink = parameter && parameter[parameterName] && parameter[parameterName].match(XREF_REGEX);\n\t\t\t\t\t\t\t\t\tparameter[parameterName] = foundInternalLink !== null? processInternaLinks(parameter[parameterName]) : parameter[parameterName];\n\n\t\t\t\t\t\t\t\t\treturn (<td\n\t\t\t\t\t\t\t\t\t\tinnerHTML={parameter[parameterName]}\n\t\t\t\t\t\t\t\t\t\thook-insert={({elm}) => highlightCode(elm)}\n\t\t\t\t\t\t\t\t\t\thook-update={({elm}) => highlightCode(elm)}\n\t\t\t\t\t\t\t\t\t></td>)\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</tbody>\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport const cleanOutputText = outputText => {\n\treturn (outputText === \"Output\" || outputText === \"Output:\") ? \"\" : outputText;\n}\n\n// Returns the examples blocks\nexport const formatApiExamples = (entry, languageTab, allLanguageSwitchersTouched,\n\tallLanguageSwitchersHeightLocked, allLanguageSwitchersHeightReadjusted,\n\tshouldReleaseCodeSwitcherHeight, shouldLockCodeSwitcherHeight, clickedSwitcherTabSelected) => {\n\tlet examplesOutput;\n\tlet languageExamplesOutput;\n\tlet entries = [];\n\tif (entry.children) {\n\t\tentries = entry.children.filter(i => i.type === 'Example');\n\t}\n\n\tif (entries.length < 1) {\n\t\treturn null;\n\t}\n\tconst languageExamples = entries.filter(i => i.variable);\n\tconst examples = entries.filter(i => !i.variable);\n\n\t// REST API contains both examples and responses, so we need to handle them\n\t// differently here; examples are in tabs, responses are below requests.\n\tif (languageExamples.length) {\n\t\t// If the languageTab passed in is greater than the maximum language index available to this\n\t\t// switcher, then default to showing the maximum language index of the switcher so that\n\t\t// something is visible to the user\n\t\tconst clampedLanguageTab = (languageTab > languageExamples.length - 1)\n\t\t\t? languageExamples.length - 1 : languageTab;\n\t\tlanguageExamplesOutput = (\n\t\t\t<div>\n\t\t\t\t<div innerHTML={languageExamples.text2}></div>\n\t\t\t\t<dps-code-switcher\n\t\t\t\t\tlanguageExamples={languageExamples}\n\t\t\t\t\tlanguageTab={clampedLanguageTab}\n\t\t\t\t\tallLanguageSwitchersTouched={allLanguageSwitchersTouched}\n\t\t\t\t\tallLanguageSwitchersHeightLocked={allLanguageSwitchersHeightLocked}\n\t\t\t\t\tallLanguageSwitchersHeightReadjusted={allLanguageSwitchersHeightReadjusted}\n\t\t\t\t\tshouldReleaseCodeSwitcherHeight={shouldReleaseCodeSwitcherHeight}\n\t\t\t\t\tshouldLockCodeSwitcherHeight={shouldLockCodeSwitcherHeight}\n\t\t\t\t\tclickedSwitcherTabSelected={clickedSwitcherTabSelected}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif (examples.length) {\n\t\texamplesOutput = (\n\t\t\t<div className=\"examples-wrapper table-wrapper\">\n\t\t\t\t{examples.map(example => {\n\t\t\t\t\tconst outputs =\n\t\t\t\t\t\t(example.children &&\n\t\t\t\t\t\t\texample.children.filter(i => i.type === 'Output')) ||\n\t\t\t\t\t\tnull;\n\n\t\t\t\t\tconst outputCodeExamples =\n\t\t\t\t\t\t(outputs && outputs.filter(o => o.text !== null)) || [];\n\t\t\t\t\tconst outputOtherExamples =\n\t\t\t\t\t\t(outputs && outputs.filter(o => o.text2 !== null)) || [];\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div className=\"example\">\n\t\t\t\t\t\t\t<h4>Example</h4>\n\t\t\t\t\t\t\t<div innerHTML={example.text2}></div>\n\t\t\t\t\t\t\t<dps-code-block\n\t\t\t\t\t\t\t\tlanguage={ (example.variable || DEFAULT_CODE_EXAMPLE_LANGUAGE) }\n\t\t\t\t\t\t\t\tcode={example.text}\n\t\t\t\t\t\t\t></dps-code-block>\n\t\t\t\t\t\t\t{outputs ? <h4>Output</h4> : null}\n\t\t\t\t\t\t\t{outputCodeExamples.length > 0\n\t\t\t\t\t\t\t\t? outputCodeExamples.map(o => (\n\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t<dps-code-block\n\t\t\t\t\t\t\t\t\t\t\t\tlanguage={ (o.variable || DEFAULT_OUTPUT_CODE_EXAMPLE_LANGUAGE) }\n\t\t\t\t\t\t\t\t\t\t\t\tcode={o.text.replace(/&quot;/g, '\"')}\n\t\t\t\t\t\t\t\t\t\t\t></dps-code-block>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t  ))\n\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t\t{outputOtherExamples.length > 0\n\t\t\t\t\t\t\t\t? outputOtherExamples.map(o => {\n\t\t\t\t\t\t\t\t\tconst cleanedOutputText = cleanOutputText(o.text2);\n\t\t\t\t\t\t\t\t\treturn cleanedOutputText ? (<div innerHTML={cleanedOutputText}></div>) : null;\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn [languageExamplesOutput, examplesOutput];\n};\n\n//Return the Scoped Equivalent\nexport const formatApiScopedEquivalent = ({ entry, filter }) => {\n\tlet scopedArray = [];\n\tif (entry.children && entry.hasScopedEquivalent === true) {\n\t\tscopedArray = entry.children.filter(i => i.type === filter);\n\t}\n\n\tif (scopedArray.length < 1) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<dps-scoped-equivalent\n\t\t\tscoped-equivalent-text={scopedArray[0].text}\n\t\t></dps-scoped-equivalent>\n\t);\n};\n\n//Return the formatted URL data\nexport const formatUrlData = ({ entry, filters, label }) => {\n\tlet defaultUrl = [],\n\t\tversionedUrl = [];\n\n\tconst [defaultUrlFilter, versionedUrlFilter] = filters;\n\n\tif (entry.children) {\n\t\tdefaultUrl = entry.children.filter(i => i.type === defaultUrlFilter);\n\t\tversionedUrl = entry.children.filter(i => i.type === versionedUrlFilter);\n\t}\n\n\tif (defaultUrl.length === 0 && versionedUrl.length === 0) {\n\t\treturn null;\n\t}\n\n\tif (defaultUrl.length > 0) {\n\t\tdefaultUrl = defaultUrl.map(entry => ({\n\t\t\t...entry,\n\t\t\ttext: entry.text\n\t\t\t\t.replace(/([^<])\\/(?!>)/g, '$1/<wbr>')\n\t\t\t\t.replace('<version>', '{version}')\n\t\t}));\n\t}\n\n\tif (versionedUrl.length > 0) {\n\t\tversionedUrl = versionedUrl.map(entry => ({\n\t\t\t...entry,\n\t\t\ttext: entry.text\n\t\t\t\t.replace(/([^<])\\/(?!>)/g, '$1/<wbr>')\n\t\t\t\t.replace('<version>', '{version}')\n\t\t}));\n\t}\n\n\treturn (\n\t\t<div className=\"url-wrapper\">\n\t\t\t{label ? <h3>{label}</h3> : null}\n\t\t\t{defaultUrl.length !== 0 ? (\n\t\t\t\t<div>\n\t\t\t\t\t<span className=\"url-heading\">{defaultUrl[0].name}:</span>\n\t\t\t\t\t<span className=\"url-text\" innerHTML={defaultUrl[0].text}></span>\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t\t{versionedUrl.length !== 0 ? (\n\t\t\t\t<div>\n\t\t\t\t\t<span className=\"url-heading\">{versionedUrl[0].name}:</span>\n\t\t\t\t\t<span className=\"url-text\" innerHTML={versionedUrl[0].text}></span>\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t</div>\n\t);\n};\n\n//Get Section Headers\nexport const getSectionTitle = ({ entry, filter }) => {\n\tconst resultObj = entry.children.find(child => child.type === filter);\n\treturn (resultObj && resultObj.sectionTitle) || '';\n};\n\nexport const processInternaLinks = content => {\n\tlet matches, modifiedHref;\n\n\t//Modifying the anchor tag\n\twhile ((matches = XREF_REGEX.exec(content)) !== null) {\n\t\tif (matches[2] !== null) {\n\t\t\tmodifiedHref = createAnchor(`${matches[2]}`);\n\t\t\tcontent = content.replace(\n\t\t\t\t'href=\"' + matches[2] + '\"',\n\t\t\t\t'href=\"' + modifiedHref + '\"'\n\t\t\t);\n\t\t}\n\t}\n\treturn content;\n};\n\nexport const processIdToAddAnchor = content => {\n\tconst regex1 = new RegExp(/<[^>]+((?:.|\\\\n|\\\\r)*?)id=\"([^\"]*?)\".*?>/gim);\n\tlet matches, modifiedId;\n\n\t//Modifying the id\n\twhile ((matches = regex1.exec(content)) !== null) {\n\t\tif (matches[2] !== null) {\n\t\t\tmodifiedId = matches[2] + '-anchor';\n\t\t\tcontent = content.replace(\n\t\t\t\t'id=\"' + matches[2] + '\"',\n\t\t\t\t'id=\"' + modifiedId + '\"'\n\t\t\t);\n\t\t}\n\t}\n\treturn content;\n};\n","/* eslint-disable object-shorthand */\nimport { createCustomElement, actionTypes } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport scrollSpyBehavior from '../../behaviors/scrollSpy';\nimport styles from './api-content.scss';\nimport theme from '../../styles/theme/index.scss';\nimport contentStyles from '../../styles/global/content.scss';\nimport '../../components/dps-link';\nimport '../../components/dps-spinner';\nimport { API_ACTIONS } from './actions';\nimport { DPS_CODE_SWITCHER_ACTIONS } from '../../components/dps-code-switcher/actions';\nimport {\n\tformatApiTableData, formatApiExamples, formatApiScopedEquivalent, formatThemeVariables, getSectionTitle,\n\tprocessIdToAddAnchor, processInternaLinks\n} from './helpers';\nimport { processPreTags } from '../../utils/helpers';\nimport hljs from '../../utils/hljs-pack';\n\nconst { COMPONENT_DOM_READY, COMPONENT_RENDERED } = actionTypes;\n\nexport const DPS_API_CONTENT_ACTIONS = {\n\tCONTENT_METHOD_RENDERED: 'DPS_API_CONTENT#CONTENT_METHOD_RENDERED'\n};\n\nconst view = (state, {dispatch, updateState}) => {\n\tconst {\n\t\tproperties: { data, docType, hash, numberOfCodeSwitchers, shouldScrollToHash },\n\t\tnumOfCodeSwitchersTouched,\n\t\tnumOfCodeSwitchersHeightLocked,\n\t\tnumOfCodeSwitchersReadjusted,\n\t\tlanguageTab,\n\t\tshouldReleaseCodeSwitcherHeight,\n\t\tshouldLockCodeSwitcherHeight,\n\t\tclickedSwitcherTabSelected\n\t} = state;\n\n\tconst highlightCode = elm => elm.querySelectorAll('pre code').forEach(block => {\n\t\thljs.highlightBlock(block);\n\t});\n\tlet newdata;\n\n\tconst headerId = (data ? `${data.dc_identifier}-anchor` : false);\n\tif (data) {\n\t\tnewdata = {\n\t\t\t...data,\n\t\t};\n\n\t\tif (data.children && data.children.map) {\n\t\t\tnewdata.children = data.children.map(child => {\n\t\t\t\tconst response = {\n\t\t\t\t\t...child,\n\t\t\t\t\tname: child.name && child.name.replace(/([^<])\\/(?!>)/g, '$1/<wbr>').replace('/<wbr>', '/')\n\t\t\t\t};\n\n\t\t\t\tif (child.children) {\n\t\t\t\t\tresponse.children = child.children.map(subchild => ({\n\t\t\t\t\t\t...subchild,\n\t\t\t\t\t\ttext: subchild.text ? subchild.text\n\t\t\t\t\t\t\t.replace(/([^<])\\/(?!>)/g, '$1/<wbr>')\n\t\t\t\t\t\t\t.replace(/([^\"'\\/]*)\\/<wbr>/g, '$1/') : ''\n\t\t\t\t\t}));\n\t\t\t\t}\n\n\t\t\t\treturn response;\n\t\t\t});\n\t\t}\n\t}\n\n\tif(newdata) {\n\t\tdispatch(API_ACTIONS.IS_CONTENT_LOADED);\n\t}\n\n\tconst scrollToHash = hash.replace('#', '');\n\tconst allLanguageSwitchersTouched = (numberOfCodeSwitchers <= numOfCodeSwitchersTouched);\n\tconst allLanguageSwitchersHeightLocked = (numberOfCodeSwitchers <= numOfCodeSwitchersHeightLocked);\n\tconst allLanguageSwitchersHeightReadjusted = (numberOfCodeSwitchers <= numOfCodeSwitchersReadjusted);\n\n\t// Have these states only \"fire\" once to each of their children\n\t// as part of the system to smoothly handle code switcher tab changes\n\tif (shouldReleaseCodeSwitcherHeight) {\n\t\tupdateState({ shouldReleaseCodeSwitcherHeight: false });\n\t}\n\tif (shouldLockCodeSwitcherHeight) {\n\t\tupdateState({ shouldLockCodeSwitcherHeight: false });\n\t}\n\tif (clickedSwitcherTabSelected) {\n\t\tupdateState({ clickedSwitcherTabSelected: false });\n\t}\n\n\treturn (\n\t\t<div className=\"api-content\">\n\t\t\t{newdata ? (\n\t\t\t\t<Fragment>\n\n\t\t\t\t\t<h2 id={headerId} innerHTML={newdata.name} />\n\t\t\t\t\t<div className=\"api-content-text\"\n\t\t\t\t\t\tinnerHTML={newdata.text ? newdata.text : ''}\n\t\t\t\t\t\thook-insert={({ elm }) => highlightCode(elm)}\n\t\t\t\t\t\thook-update={({ elm }) => highlightCode(elm)}\n\t\t\t\t\t/>\n\t\t\t\t\t<div className=\"api-content-text\"\n\t\t\t\t\t\tinnerHTML={newdata.text2 ? newdata.text2 : ''}\n\t\t\t\t\t\thook-insert={({ elm }) => highlightCode(elm)}\n\t\t\t\t\t\thook-update={({ elm }) => highlightCode(elm)}\n\t\t\t\t\t/>\n\n\t\t\t\t\t{newdata.children && newdata.children.length > 0\n\t\t\t\t\t\t? newdata.children.map(entry => {\n\n\t\t\t\t\t\t\t// We are constructing the headersTables array here because we\n\t\t\t\t\t\t\t// will need to render some HTML around them if they exist.\n\t\t\t\t\t\t\t// Because of this, we can't simply return the data from them\n\t\t\t\t\t\t\t// as it's very likely to be null, and then the HTML would be\n\t\t\t\t\t\t\t// describing nothing.\n\t\t\t\t\t\t\tlet headersTables = [];\n\t\t\t\t\t\t\tconst requestHeaders = formatApiTableData({\n\t\t\t\t\t\t\t\tentry,\n\t\t\t\t\t\t\t\tfilters: ['Request header']\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tconst responseHeaders = formatApiTableData({\n\t\t\t\t\t\t\t\tentry,\n\t\t\t\t\t\t\t\tfilters: ['Response header']\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tif (requestHeaders) {\n\t\t\t\t\t\t\t\theadersTables = headersTables.concat(requestHeaders);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (responseHeaders) {\n\t\t\t\t\t\t\t\theadersTables = headersTables.concat(responseHeaders);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tlet statusCodesTables = [];\n\t\t\t\t\t\t\tconst statusCodes = formatApiTableData({\n\t\t\t\t\t\t\t\tentry,\n\t\t\t\t\t\t\t\tfilters: ['Status code']\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tif (statusCodes) {\n\t\t\t\t\t\t\t\tstatusCodesTables = statusCodesTables.concat(statusCodes);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tlet requestBodyHeader;\n\t\t\t\t\t\t\tlet requestBodyTables = [];\n\t\t\t\t\t\t\t// Get the request body header text\n\t\t\t\t\t\t\tconst requestBodyHeaderItem = entry.children && entry.children.find(\n\t\t\t\t\t\t\t\tchild => child.type === 'Request body header'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\trequestBodyHeaderItem ? requestBodyHeader = requestBodyHeaderItem.text : null;\n\t\t\t\t\t\t\tconst requestBody = formatApiTableData({\n\t\t\t\t\t\t\t\tentry,\n\t\t\t\t\t\t\t\tfilters: ['Request body element']\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tif (requestBody) {\n\t\t\t\t\t\t\t\trequestBodyTables = requestBodyTables.concat(requestBody);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tlet responseBodyHeader;\n\t\t\t\t\t\t\tlet responseBodyTables = [];\n\t\t\t\t\t\t\t// Get the response body header text\n\t\t\t\t\t\t\tconst responseBodyHeaderItem = entry.children && entry.children.find(\n\t\t\t\t\t\t\t\tchild => child.type === 'Response body header'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tresponseBodyHeaderItem ? responseBodyHeader = responseBodyHeaderItem.text : null;\n\t\t\t\t\t\t\tconst responseBody = formatApiTableData({\n\t\t\t\t\t\t\t\tentry,\n\t\t\t\t\t\t\t\tfilters: ['Response body element']\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tif (responseBody) {\n\t\t\t\t\t\t\t\tresponseBodyTables = responseBodyTables.concat(responseBody);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tlet responseBodyParameterTables = [];\n\t\t\t\t\t\t\tconst responseParameterBody = formatApiTableData({\n\t\t\t\t\t\t\t\tentry,\n\t\t\t\t\t\t\t\tfilters: ['Response body parameter']\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tif (responseParameterBody) {\n\t\t\t\t\t\t\t\tresponseBodyParameterTables = responseBodyParameterTables.concat(responseParameterBody);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t//Get Additional Info\n\t\t\t\t\t\t\tlet additionalInfo;\n\t\t\t\t\t\t\tconst additionalInfoItem = entry.children && entry.children.find(\n\t\t\t\t\t\t\t\tchild => child.type === 'Additional info'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tadditionalInfoItem ? additionalInfo = additionalInfoItem.text : null;\n\t\t\t\t\t\t\tif (additionalInfo) {\n\t\t\t\t\t\t\t\tconst regex = new RegExp(/<pre((?:.|\\n|\\r)*?)>((?:.|\\n|\\r)*?)<\\/pre>/gi);\n\t\t\t\t\t\t\t\tconst found = additionalInfo.match(regex);\n\t\t\t\t\t\t\t\tadditionalInfo = found !== null ? processPreTags(additionalInfo) : additionalInfo;\n\n\t\t\t\t\t\t\t\t//Process id (In order to append -anchor to the id )\n\t\t\t\t\t\t\t\tconst regex1 = new RegExp(/(<td((?:.|\\\\n|\\\\r)*?)id=\"([^\"]*?)\".*?)>/gim);\n\t\t\t\t\t\t\t\tconst idFound = additionalInfo.match(regex1);\n\t\t\t\t\t\t\t\tadditionalInfo = idFound !== null ? processIdToAddAnchor(additionalInfo) : additionalInfo;\n\n\t\t\t\t\t\t\t\t//Process internal links\n\t\t\t\t\t\t\t\tadditionalInfo = additionalInfo.includes(\"xref\") ? processInternaLinks(additionalInfo) : additionalInfo;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<div className=\"dps-api-content-method\" id={`${entry.dc_identifier}-anchor`} hook-update={(elm) => {\n\t\t\t\t\t\t\t\t\tif (entry.dc_identifier === scrollToHash && shouldScrollToHash) {\n\t\t\t\t\t\t\t\t\t\tdispatch(DPS_API_CONTENT_ACTIONS.CONTENT_METHOD_RENDERED, { shouldScrollToHash });\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t<div className=\"api-content-method-group\">\n\t\t\t\t\t\t\t\t\t\t<div className=\"api-content-method-text\">\n\t\t\t\t\t\t\t\t\t\t<h3 innerHTML={entry.name}></h3>\n\t\t\t\t\t\t\t\t\t\t\t{entry.text ? <div className=\"short-text\" innerHTML={entry.text}></div> : null}\n\t\t\t\t\t\t\t\t\t\t\t{entry.text2 ? <div className=\"long-text\" innerHTML={entry.text2}></div> : null}\n\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t{formatApiTableData({\n\t\t\t\t\t\t\t\t\t\t\tentry,\n\t\t\t\t\t\t\t\t\t\t\tfilters: ['Default URL', 'Versioned URL'],\n\t\t\t\t\t\t\t\t\t\t\tlabel: 'URL Format'\n\t\t\t\t\t\t\t\t\t\t})}\n\n\t\t\t\t\t\t\t\t\t\t{formatApiTableData({\n\t\t\t\t\t\t\t\t\t\t\tentry,\n\t\t\t\t\t\t\t\t\t\t\tfilters: ['Path parameter']\n\t\t\t\t\t\t\t\t\t\t})}\n\n\t\t\t\t\t\t\t\t\t\t{formatApiTableData({\n\t\t\t\t\t\t\t\t\t\t\tentry,\n\t\t\t\t\t\t\t\t\t\t\tfilters: ['Query parameter']\n\t\t\t\t\t\t\t\t\t\t})}\n\n\t\t\t\t\t\t\t\t\t\t{formatApiTableData({\n\t\t\t\t\t\t\t\t\t\t\tentry,\n\t\t\t\t\t\t\t\t\t\t\tfilters: ['Request body parameter']\n\t\t\t\t\t\t\t\t\t\t})}\n\n\t\t\t\t\t\t\t\t\t\t{docType === 'rest'\n\t\t\t\t\t\t\t\t\t\t\t? formatApiTableData({\n\t\t\t\t\t\t\t\t\t\t\t\tentry,\n\t\t\t\t\t\t\t\t\t\t\t\tfilters: ['Parameter']\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t: formatApiTableData({\n\t\t\t\t\t\t\t\t\t\t\t\tentry,\n\t\t\t\t\t\t\t\t\t\t\t\tfilters: ['Parameter'],\n\t\t\t\t\t\t\t\t\t\t\t\tparameters: ['name', 'text', 'text2']\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t{headersTables.length ? (\n\t\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t<h3>{getSectionTitle({ entry, filter: 'Request header' }) || getSectionTitle({ entry, filter: 'Response header' })}</h3>\n\t\t\t\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\t\t\t\tThe following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see <dps-link href={`https://docs.servicenow.com/bundle/${newdata.release}-api-reference/page/integrate/inbound-rest/concept/c_RESTAPI.html`} externalAction target=\"_blank\">Supported REST API headers</dps-link>.\n\t\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t\t\t{headersTables}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t) : null}\n\n\t\t\t\t\t\t\t\t\t\t{statusCodesTables.length ? (\n\t\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t<h3>{getSectionTitle({\n\t\t\t\t\t\t\t\t\t\t\t\t\tentry,\n\t\t\t\t\t\t\t\t\t\t\t\t\tfilter: 'Status code'\n\t\t\t\t\t\t\t\t\t\t\t\t})}</h3>\n\t\t\t\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\t\t\t\tThe following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see <dps-link href={`https://docs.servicenow.com/bundle/${newdata.release}-api-reference/page/integrate/inbound-rest/reference/r_RESTAPIHTTPResponseCodes.html`} externalAction target=\"_blank\">REST response codes</dps-link>.\n\t\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t\t\t{statusCodesTables}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t) : null}\n\n\t\t\t\t\t\t\t\t\t\t{requestBodyTables.length ? (\n\t\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t<h3>{getSectionTitle({\n\t\t\t\t\t\t\t\t\t\t\t\t\tentry,\n\t\t\t\t\t\t\t\t\t\t\t\t\tfilter: 'Request body element'\n\t\t\t\t\t\t\t\t\t\t\t\t})}</h3>\n\t\t\t\t\t\t\t\t\t\t\t\t{requestBodyHeader ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p innerHTML={requestBodyHeader} />\n\t\t\t\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t\t\t\t{requestBodyTables}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t) : null}\n\n\t\t\t\t\t\t\t\t\t\t{responseBodyTables.length ? (\n\t\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t<h3>{getSectionTitle({\n\t\t\t\t\t\t\t\t\t\t\t\t\tentry,\n\t\t\t\t\t\t\t\t\t\t\t\t\tfilter: 'Response body element'\n\t\t\t\t\t\t\t\t\t\t\t\t})}</h3>\n\t\t\t\t\t\t\t\t\t\t\t\t{responseBodyHeader ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p innerHTML={responseBodyHeader} />\n\t\t\t\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t\t\t\t{responseBodyTables}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t) : null}\n\n\t\t\t\t\t\t\t\t\t\t{responseBodyParameterTables.length ? (\n\t\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t<h3>{getSectionTitle({\n\t\t\t\t\t\t\t\t\t\t\t\t\tentry,\n\t\t\t\t\t\t\t\t\t\t\t\t\tfilter: 'Response body parameter'\n\t\t\t\t\t\t\t\t\t\t\t\t})}</h3>\n\t\t\t\t\t\t\t\t\t\t\t\t{responseBodyHeader ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p innerHTML={responseBodyHeader} />\n\t\t\t\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t\t\t\t{responseBodyParameterTables}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t) : null}\n\n\t\t\t\t\t\t\t\t\t\t{additionalInfo ? (\n\t\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t<h3>Additional Information</h3>\n\t\t\t\t\t\t\t\t\t\t\t\t<div innerHTML={additionalInfo} />\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t) : null}\n\n\t\t\t\t\t\t\t\t\t\t{formatApiTableData({\n\t\t\t\t\t\t\t\t\t\t\tentry,\n\t\t\t\t\t\t\t\t\t\t\tfilters: ['Return']\n\t\t\t\t\t\t\t\t\t\t})}\n\n\t\t\t\t\t\t\t\t\t\t{formatApiTableData({\n\t\t\t\t\t\t\t\t\t\t\tentry,\n\t\t\t\t\t\t\t\t\t\t\tfilters: ['Datatype property'],\n\t\t\t\t\t\t\t\t\t\t\tparameters: ['name', 'text', 'text2']\n\t\t\t\t\t\t\t\t\t\t})}\n\n\t\t\t\t\t\t\t\t\t\t{formatApiScopedEquivalent({\n\t\t\t\t\t\t\t\t\t\t\tentry,\n\t\t\t\t\t\t\t\t\t\t\tfilter: 'Scoped equivalent'\n\t\t\t\t\t\t\t\t\t\t})}\n\n\t\t\t\t\t\t\t\t\t\t{formatApiExamples(entry, languageTab,\n\t\t\t\t\t\t\t\t\t\t\tallLanguageSwitchersTouched,\n\t\t\t\t\t\t\t\t\t\t\tallLanguageSwitchersHeightLocked,\n\t\t\t\t\t\t\t\t\t\t\tallLanguageSwitchersHeightReadjusted,\n\t\t\t\t\t\t\t\t\t\t\tshouldReleaseCodeSwitcherHeight, shouldLockCodeSwitcherHeight,\n\t\t\t\t\t\t\t\t\t\t\tclickedSwitcherTabSelected)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})\n\t\t\t\t\t\t: null\n\t\t\t\t\t}\n\t\t\t\t</Fragment>\n\t\t\t) : (\n\t\t\t\t\t<dps-spinner />\n\t\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('api-content', {\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: scrollSpyBehavior,\n\t\t\toptions: {\n\t\t\t\thostOverride: '.api-content',\n\t\t\t\trootMargin: () => {\n\t\t\t\t\tconst winH = window.innerHeight;\n\t\t\t\t\tconst topOffset = '-140px';\n\t\t\t\t\tconst bottomOffset = winH * 0.6 < 100 ? '-150px' : '-60%';\n\t\t\t\t\treturn `${topOffset} 0px ${bottomOffset}`;\n\t\t\t\t},\n\t\t\t\ttargetSelector: '.dps-api-content-method',\n\t\t\t\tthreshold: 0\n\t\t\t}\n\t\t}\n\t],\n\tproperties: {\n\t\tdata: { default: '' },\n\t\tdocType: { default: '' },\n\t\thash: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\tnumberOfCodeSwitchers: {\n\t\t\tdefault: 0,\n\t\t\tschema: {\n\t\t\t\ttype: 'number'\n\t\t\t}\n\t\t},\n\t\tshouldScrollToHash: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t}\n\t\t}\n\t},\n\tinitialState: {\n\t\tnumOfCodeSwitchersTouched: 0,\n\t\tnumOfCodeSwitchersReadjusted: 0,\n\t\tnumOfCodeSwitchersHeightLocked: 0,\n\t\tlanguageTab: 0,\n\t\tshouldScrollToHash: false,\n\t\tshouldLockCodeSwitcherHeight: false,\n\t\tshouldReleaseCodeSwitcherHeight: false,\n\t\tclickedSwitcherTabSelected: false\n\t},\n\tactionHandlers: {\n\t\t[DPS_CODE_SWITCHER_ACTIONS.SWITCHERS_NEED_HEIGHT_LOCKED]: ({updateState}) => {\n\t\t\tupdateState({\n\t\t\t\tpath: 'shouldLockCodeSwitcherHeight',\n\t\t\t\toperation: 'set',\n\t\t\t\tvalue: true,\n\t\t\t\tshouldUpdate: true\n\t\t\t});\n\t\t},\n\t\t[DPS_CODE_SWITCHER_ACTIONS.LANGUAGE_TAB_CHANGED]: ({updateState}) => {\n\t\t\t// Keep track of how many switchers have been \"touched\", which refers to when\n\t\t\t// a switcher updates its languageTab property\n\t\t\tupdateState(({state}) => ({\n\t\t\t\tpath: 'numOfCodeSwitchersTouched',\n\t\t\t\toperation: 'set',\n\t\t\t\tvalue: state.numOfCodeSwitchersTouched + 1,\n\t\t\t\tshouldUpdate: true\n\t\t\t}));\n\t\t},\n\t\t[DPS_CODE_SWITCHER_ACTIONS.SWITCHER_HEIGHT_LOCKED]: ({updateState}) => {\n\t\t\tupdateState(({state}) => ({\n\t\t\t\tpath: 'numOfCodeSwitchersHeightLocked',\n\t\t\t\toperation: 'set',\n\t\t\t\tvalue: state.numOfCodeSwitchersHeightLocked + 1,\n\t\t\t\tshouldUpdate: true\n\t\t\t}));\n\t\t},\n\t\t[DPS_CODE_SWITCHER_ACTIONS.SWITCHER_READJUSTED]: ({updateState}) => {\n\t\t\t// Keep track of how many switchers have finished re-adjusting their heights\n\t\t\t// after a change was made to its language tab selection\n\t\t\tupdateState(({state}) => ({\n\t\t\t\tpath: 'numOfCodeSwitchersReadjusted',\n\t\t\t\toperation: 'set',\n\t\t\t\tvalue: state.numOfCodeSwitchersReadjusted + 1,\n\t\t\t\tshouldUpdate: true\n\t\t\t}));\n\t\t},\n\t\t[DPS_CODE_SWITCHER_ACTIONS.CLICKED_SWITCHER_RENDERED]: ({updateState}) => {\n\t\t\t// After all switchers were \"touched\" (had their languageTab property updated)\n\t\t\t// and after the clicked switcher rederers once more afterwards, then\n\t\t\t// indicate to all the switchers that they can re-adjust their heights\n\t\t\tupdateState({\n\t\t\t\tpath: 'shouldReleaseCodeSwitcherHeight',\n\t\t\t\toperation: 'set',\n\t\t\t\tvalue: true,\n\t\t\t\tshouldUpdate: true\n\t\t\t});\n\t\t},\n\t\t[DPS_CODE_SWITCHER_ACTIONS.CLICKED_SWITCHER_TAB_SELECTED]: ({action, updateState}) => {\n\t\t\t// Updates languageTab here after all switchers have locked their heights\n\t\t\tupdateState({\n\t\t\t\tpath: 'languageTab',\n\t\t\t\tvalue: action.payload.active,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldUpdate: true\n\t\t\t});\n\n\t\t\t// Reset all the states used in the system for smoothly handling tab\n\t\t\t// changes in code switchers\n\t\t\tupdateState({\n\t\t\t\tpath: 'numOfCodeSwitchersTouched',\n\t\t\t\toperation: 'set',\n\t\t\t\tvalue: 0,\n\t\t\t\tshouldUpdate: true\n\t\t\t});\n\t\t\tupdateState({\n\t\t\t\tpath: 'numOfCodeSwitchersHeightLocked',\n\t\t\t\toperation: 'set',\n\t\t\t\tvalue: 0,\n\t\t\t\tshouldUpdate: true\n\t\t\t});\n\t\t\tupdateState({\n\t\t\t\tpath: 'numOfCodeSwitchersReadjusted',\n\t\t\t\toperation: 'set',\n\t\t\t\tvalue: 0,\n\t\t\t\tshouldUpdate: true\n\t\t\t});\n\t\t\tupdateState({\n\t\t\t\tpath: 'shouldReleaseCodeSwitcherHeight',\n\t\t\t\toperation: 'set',\n\t\t\t\tvalue: false,\n\t\t\t\tshouldUpdate: true\n\t\t\t});\n\t\t\tupdateState({\n\t\t\t\tpath: 'shouldLockCodeSwitcherHeight',\n\t\t\t\toperation: 'set',\n\t\t\t\tvalue: false,\n\t\t\t\tshouldUpdate: true\n\t\t\t});\n\n\t\t\t// Indicate the start of the system for smoothly handling tab\n\t\t\t// changes in code switchers after all switchers have had their\n\t\t\t// heights locked\n\t\t\tupdateState({\n\t\t\t\tpath: 'clickedSwitcherTabSelected',\n\t\t\t\toperation: 'set',\n\t\t\t\tvalue: true,\n\t\t\t\tshouldUpdate: true\n\t\t\t});\n\t\t}\n\t},\n\trenderer: { type: snabbdom },\n\tstyles: styles + contentStyles + theme,\n\tview\n});\n","import { get } from 'lodash';\nimport { makeSnHttpFactory, formatSysParam } from '../../utils/helpers';\nimport { replaceLatest } from '../../utils/url';\nimport { CONSTANTS, DPS_ERROR_ACTIONS } from '../../constants';\nimport { API_ACTIONS } from './actions';\nimport { updateDcIdentifierContent, updateMetaTitle, trackApiVisitCount } from './actionHandlerUtils';\n\nconst handleApiRecordRequestedFailed = coeffects => {\n\tconst { action, dispatch, properties, state, updateState } = coeffects;\n\tconst { docType, release, group, parent } = properties;\n\tconst fetchCount = parseInt(state.fetchApiRecordCount, 10);\n\n\tif (fetchCount < CONSTANTS.DEFAULTS.MAX_RETRIES) {\n\t\tconst id = parent || group || docType;\n\t\tupdateState({\n\t\t\tpath: 'currentId',\n\t\t\tvalue: '',\n\t\t\toperation: 'set'\n\t\t});\n\t\tupdateState({\n\t\t\tpath: 'fetchingContentId',\n\t\t\tvalue: id,\n\t\t\toperation: 'set'\n\t\t});\n\t\tupdateState({\n\t\t\tpath: 'fetchApiRecordCount',\n\t\t\tvalue: fetchCount + 1,\n\t\t\toperation: 'set'\n\t\t});\n\t\tupdateDcIdentifierContent({\n\t\t\tdispatch,\n\t\t\tid,\n\t\t\trelease\n\t\t});\n\t} else {\n\t\tupdateState({\n\t\t\tpath: 'fetchApiRecordCount',\n\t\t\tvalue: 0, \n\t\t\toperation: 'set'\n\t\t});\t\n\t}\n};\n\nconst handleApiRecordRequestedSucceeded = coeffects => {\n\tconst {\n\t\taction,\n\t\tdispatch,\n\t\tproperties,\n\t\tstate,\n\t\tupdateState,\n\t\tupdateProperties\n\t} = coeffects;\n\tconst { hash, userInfo } = properties;\n\tlet { release } = properties;\n\tconst status = get(action, 'payload.result.status', '');\n\tconst data = get(action, 'payload.result.data.class_data', null);\n\tconst otherReleases = get(action, 'payload.result.data.other_releases', []);\n\tconst requestId = get(\n\t\taction,\n\t\t'meta.request.params.sysparm_data.data.id',\n\t\tnull\n\t);\n\tconst { apiDocs, apiClassVisited, ignoreScrollOnAPIRecordFetch } = state;\n\tlet skipCheckRoute = false;\n\n\tif (status === 'success' && data) {\n\t\tconst { dc_identifier } = data;\n\n\t\tconst title = name;\n\n\t\tif (release === 'latest') {\n\t\t\trelease = get(action, 'payload.result.data.release');\n\t\t\tskipCheckRoute = true;\n\t\t\treplaceLatest(release);\n\t\t}\n\n\t\tif (apiClassVisited.indexOf(dc_identifier) === -1) {\n\t\t\ttrackApiVisitCount({ dispatch, dita_id: dc_identifier });\n\t\t}\n\n\t\t// get the total count of <dps-code-switchers> on the page\n\t\tconst numberOfCodeSwitchers =\n\t\t\t(data.children &&\n\t\t\t\tdata.children\n\t\t\t\t\t.filter(\n\t\t\t\t\t\tchild =>\n\t\t\t\t\t\t\tchild.children &&\n\t\t\t\t\t\t\tchild.children.some(\n\t\t\t\t\t\t\t\tinnerChild =>\n\t\t\t\t\t\t\t\t\tinnerChild.type === 'Example' && innerChild.variable !== null\n\t\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t\t.reduce(sum => sum + 1, 0)) ||\n\t\t\t0;\n\n\t\tupdateMetaTitle(data.type, data);\n\t\tupdateState(({ state }) => ({\n\t\t\tpath: `apiDocs.${release}.docs.${dc_identifier}`,\n\t\t\toperation: 'set',\n\t\t\tvalue: data,\n\t\t\tshouldUpdate: true\n\t\t}));\n\t\tupdateState({\n\t\t\tpath: 'fetchApiRecordCount',\n\t\t\tvalue: 0, \n\t\t\toperation: 'set'\n\t\t});\t\n\t\tupdateState({\n\t\t\tcurrentId: dc_identifier,\n\t\t\tnumberOfCodeSwitchers,\n\t\t\ttitle\n\t\t});\n\n\t\tif (otherReleases.length > 0) {\n\t\t\tupdateProperties({\n\t\t\t\totherReleases\n\t\t\t});\n\t\t}\n\n\t\t// Check to make sure the current content id requested is\n\t\t// the same as the one returned from the fetch. This prevents\n\t\t// a quick click from creating an endless loop of requests.\n\t\tif (requestId === state.fetchingContentId && !skipCheckRoute) {\n\t\t\tdispatch(API_ACTIONS.CHECK_ROUTE, { data });\n\t\t}\n\n\t\tupdateState({ ignoreScrollOnAPIRecordFetch: false });\n\t} else {\n\t\totherReleases.map(otherRelease => {\n\t\t\totherRelease.url = otherRelease.url + hash;\n\t\t});\n\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND, {\n\t\t\totherReleases,\n\t\t\tcontentTitle: action.payload.result.data.content_title || '',\n\t\t\tisContentNotFoundForCurrentRelease: true\n\t\t});\n\t}\n};\n\nexport default {\n\t[API_ACTIONS.API_RECORD_REQUESTED]: makeSnHttpFactory({\n\t\tactionName: API_ACTIONS.API_RECORD_REQUESTED,\n\t\tmethod: 'get',\n\t\turl: CONSTANTS.ENDPOINTS.DEV_PORTAL_URI\n\t}),\n\t[API_ACTIONS.API_RECORD_REQUESTED_FAILED]: handleApiRecordRequestedFailed,\n\t[API_ACTIONS.API_RECORD_REQUESTED_SUCCEEDED]: handleApiRecordRequestedSucceeded\n};\n","import { makeSnHttpFactory, formatSysParam } from '../../utils/helpers';\nimport { replacePathParam, createPath, replaceLatest } from '../../utils/url';\nimport { DevPlatformStorage } from '../../utils/storage';\nimport { CONSTANTS, DPS_ERROR_ACTIONS } from '../../constants';\nimport { API_ACTIONS } from './actions';\nimport { updateNavList } from './actionHandlerUtils';\n\nexport const handleNavListFetchFailed = coeffects => {\n\tconst { action, dispatch, properties, state, updateState } = coeffects;\n\tconst { navList, selectedDocType } = state;\n\tconst { docType, release } = properties;\n\tconst fetchCount = parseInt(state.fetchNavListCount, 10);\n\n\tif (fetchCount < CONSTANTS.DEFAULTS.MAX_RETRIES) {\n\t\tupdateState({\n\t\t\tpath: 'fetchNavListCount',\n\t\t\tvalue: fetchCount + 1,\n\t\t\toperation: 'set'\n\t\t});\n\t\tupdateNavList({ dispatch, docType, release });\n\t} else {\n\t\tconst timestamp = Date.now();\n\t\tconst value = {\n\t\t\tisNavListFetching: false,\n\t\t\tisNavListFailed: true,\n\t\t\tnavList: {\n\t\t\t\t...navList,\n\t\t\t\t[selectedDocType]: []\n\t\t\t},\n\t\t\ttimestamp\n\t\t};\n\n    updateState({\n\t\t\tpath: 'fetchNavListCount',\n\t\t\tvalue: 0,\n\t\t\toperation: 'set'\n\t\t});\n\t\tupdateState(value);\n\t\tDevPlatformStorage.throttledSave(CONSTANTS.DEFAULTS.API_LOCALSTORAGE_KEY, {\n\t\t\t...value\n\t\t});\n\t}\n};\n\nexport const handleNavListFetchSucceeded = ({\n\taction,\n\tproperties,\n\tstate,\n\tupdateState\n}) => {\n\tconst { payload } = action;\n\tconst { apiDocs } = state;\n\tconst { docType, release } = properties;\n\tconst timestamp = Date.now();\n\n    const fixNavContent = (item, basePath, baseExtensionChild, nested) => {\n        const { dc_identifier, name, items, type, sub_type } = item;\n \n        const hasChildren = item.items && item.items.length;\n        const useSlash = hasChildren || type === 'Class' || sub_type;\n        const separator = useSlash ? '/' : '#';\n \n        const newBasePath = createPath(`${basePath}${separator}${dc_identifier}`);\n        return {\n            id: dc_identifier,\n            label: name,\n            href: baseExtensionChild && !nested && hasChildren ? null : newBasePath,\n            children: hasChildren\n                ? items.map(item => fixNavContent(item, newBasePath, undefined, true))\n                : []\n        };\n    };\n\n\tconst navList =\n\t\tpayload[docType] &&\n\t\tpayload[docType].map(item =>\n\t\t\tfixNavContent(item, `#!/reference/api/${release}/${docType}`, docType === \"mobile_sdk\")\n\t\t);\n\n\tupdateState(({ state }) => ({\n\t\tpath: `apiDocs.${release}.navList.${docType}`,\n\t\toperation: 'set',\n\t\tvalue: navList,\n\t\tshouldUpdate: true\n\t}));\n\n\tupdateState({\n\t\tpath: 'fetchNavListCount',\n\t\tvalue: 0,\n\t\toperation: 'set'\n\t});\n\n\tupdateState({\n\t\tisNavListFetching: false,\n\t\tisNavListFailed: false,\n\t\ttimestamp\n\t});\n};\n\nexport default {\n\t[API_ACTIONS.NAV_LIST_REQUESTED]: makeSnHttpFactory({\n\t\tactionName: API_ACTIONS.NAV_LIST_REQUESTED,\n\t\tmethod: 'get',\n\t\turl: CONSTANTS.ENDPOINTS.DEV_PORTAL_URI\n\t}),\n\t[API_ACTIONS.NAV_LIST_REQUESTED_FAILED]: handleNavListFetchFailed,\n\t[API_ACTIONS.NAV_LIST_REQUESTED_SUCCEEDED]: handleNavListFetchSucceeded\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { get } from 'lodash';\nimport {\n\tupdateDcIdentifierContent,\n\tupdateMetaTitle,\n\tupdateNavList,\n\ttrackApiVisitCount\n} from './actionHandlerUtils';\nimport scrollToElement from '../../utils/scrollToElement';\nimport { DevPlatformStorage } from '../../utils/storage';\nimport { replacePathParam, createPath, replaceLatest } from '../../utils/url';\nimport { CONSTANTS, DPS_ERROR_ACTIONS } from '../../constants';\nimport { updateRoute, replaceRoute } from '../../routes';\nimport { SCROLL_SPY_ACTIONS } from '../../behaviors/scrollSpy';\nimport { isInactiveRelease, makeHttpEffectCreator } from '../../utils/helpers';\nimport { setMetaByPageType } from '../../utils/meta';\nimport { DPS_API_CONTENT_ACTIONS } from './api-content';\nimport { API_ACTIONS } from './actions';\n\nimport fetchApiRecord from './fetchApiRecord';\nimport fetchNavList from './fetchNavList';\n\nconst {\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_RENDERED\n} = actionTypes;\nconst DELAY_SCROLL_TO = 100;\n\n// These are offsets for loading hash links on the page so that the titles are at the top\nconst mobileOffset = -60;\nconst webOffset = -100;\nconst mobileFirstLoadOffset = 1050;\nconst webFirstLoadOffset = 425;\n\nconst handleAPIActionTracker = makeHttpEffectCreator(\n\tAPI_ACTIONS.DPS_API_DOCS_ACTION_TRACKER,\n\tCONSTANTS.ENDPOINTS.DEV_PORTAL_URI,\n\t{\n\t\tbatch: false,\n\t\theaders: {\n\t\t\t'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8'\n\t\t},\n\t\tmethod: 'POST',\n\t\tqueryParams: ['sysparm_data']\n\t}\n);\n\n// After the dc content method is rendered, we will kick off the scroll.\nconst handleRenderedCallback = coeffects => {\n\tconst { action, host, state, properties, updateState } = coeffects;\n\tconst { payload } = action;\n\tconst { hash } = properties;\n\tconst { currentId, apiDocs } = state;\n\n\tif (\n\t\tcurrentId &&\n\t\tapiDocs &&\n\t\t(state.shouldScrollToHash || payload.shouldScrollToHash)\n\t) {\n\t\tsetTimeout(() => {\n\t\t\twindow.scrollTo(0, 0);\n\t\t\tconst mobile = window.matchMedia('(max-width: 500px)');\n\t\t\tconst hasBanner = document.body.classList.contains('-has-banner');\n\t\t\tconst apiContentTop = Math.abs(\n\t\t\t\thost.shadowRoot.querySelector('api-content').getClientRects()[0].top\n\t\t\t);\n\t\t\tconst marginTopOffset = parseInt(\n\t\t\t\tdocument.body.style\n\t\t\t\t\t.getPropertyValue('--dps-main-margin-top')\n\t\t\t\t\t.replace('px', ''),\n\t\t\t\t10\n\t\t\t);\n\t\t\tconst scrollY = Math.abs(window.scrollY);\n\n\t\t\tlet additionalOffset = apiContentTop - (hasBanner ? marginTopOffset : 0);\n\t\t\tif (!hasBanner) {\n\t\t\t\tadditionalOffset =\n\t\t\t\t\tadditionalOffset + (mobile.matches ? mobileOffset : webOffset);\n\t\t\t}\n\n\t\t\tscrollToElement({\n\t\t\t\tselector: `${hash.replace(/^#/, '').replace(/\\?(.*)/, '')}-anchor`,\n\t\t\t\tuseOffset: true,\n\t\t\t\tadditionalOffset,\n\t\t\t\tbehavior: 'auto'\n\t\t\t});\n\n\t\t\tupdateState({ shouldScrollToHash: false });\n\t\t}, DELAY_SCROLL_TO);\n\t}\n};\n\nexport const handleApiDoctypeUpdated = coeffects => {\n\tconst { action, dispatch, properties, state, updateState } = coeffects;\n\tconst {\n\t\tpayload: { shouldUpdateContent, shouldUpdateNavList }\n\t} = action;\n\tconst { docType, release, group, parent } = properties;\n\n\tif (shouldUpdateContent) {\n\t\tconst id = parent || group || docType;\n\t\tupdateState({\n\t\t\tcurrentId: '',\n\t\t\tfetchingContentId: id\n\t\t});\n\t\tupdateDcIdentifierContent({\n\t\t\tdispatch,\n\t\t\tid,\n\t\t\trelease\n\t\t});\n\t}\n\n\tconst hasNavList =\n\t\tstate.apiDocs &&\n\t\tstate.apiDocs[release] &&\n\t\tstate.apiDocs[release]['navList'] &&\n\t\tstate.apiDocs[release]['navList'][docType] &&\n\t\tstate.apiDocs[release]['navList'][docType].length;\n\n\tif (shouldUpdateNavList && !hasNavList) {\n\t\tupdateState({\n\t\t\tpath: `apiDocs.${release}.navList.${docType}`,\n\t\t\tvalue: [],\n\t\t\toperation: 'set'\n\t\t});\n\t\tupdateNavList({ dispatch, docType, release });\n\t}\n};\n\nconst handleCheckRoute = {\n\teffect(coeffects) {\n\t\tconst { action, properties } = coeffects;\n\t\tconst { release, hash, docType, group, parent, queryParams } = properties;\n\t\tconst { namespace_id, dc_identifier } = action.payload.data;\n\n\t\t// The total possible route params for the doc type.\n\t\t//\n\t\t// If we have less than this, then we need to update\n\t\t// the url with values from the fetched content.\n\t\t//\n\t\t// Server is a unique case because it contains and extra\n\t\t// layer in the route for the namespace => docType/namespace/class#method\n\t\t// vs the other type that are just docType/class#method\n\t\t//\n\t\t// The client_mobile constants section has some special nav structure that\n\t\t// needs to be accounted for with the idExceptions array. This is stupidly\n\t\t// fragile, but until we can have a sane data source we are stuck with it.\n\n\t\tconst idExceptions = [\n\t\t\t'cabrillo_Close_Button_Styles',\n\t\t\t'cabrillo_Modal_Presentation_Styles',\n\t\t\t'cabrillo_Button_Styles'\n\t\t];\n\t\tconst totalPossibleRouteParams =\n\t\t\tdocType === 'server'\n\t\t\t\t? [group, parent, hash]\n\t\t\t\t: idExceptions.includes(dc_identifier)\n\t\t\t\t? [group, parent]\n\t\t\t\t: [group, hash];\n\n\t\tconst totalActualRouteParamsLength = totalPossibleRouteParams.filter(\n\t\t\titem => item\n\t\t).length;\n\n\t\tif (totalPossibleRouteParams.length !== totalActualRouteParamsLength) {\n\t\t\tconst basePath = `/reference/api/${release}/${docType}`;\n\n\t\t\tconst addedPath = namespace_id\n\t\t\t\t? `${namespace_id}/${dc_identifier}`\n\t\t\t\t: dc_identifier;\n\n\t\t\tqueryParams && queryParams.navFilter\n\t\t\t\t? replaceRoute(\n\t\t\t\t\t\t`${basePath}/${addedPath}?navFilter=${queryParams.navFilter}`\n\t\t\t\t  )\n\t\t\t\t: replaceRoute(`${basePath}/${addedPath}`);\n\t\t}\n\t}\n};\n\nconst mapBlurbData = value => {\n\treturn (\n\t\tvalue && {\n\t\t\trest: value['REST'],\n\t\t\tclient: value['Client Side'],\n\t\t\tclient_mobile: value['Mobile'],\n\t\t\tserver: value['Server Side Scoped'],\n\t\t\tserver_legacy: value['Server Side Unscoped'],\n\t\t\tclient_next_experience: value['Client Next Experience'],\n            mobile_sdk: value['Mobile SDK']\n\t\t}\n\t);\n};\nexport const handleComponentBootstrapped = {\n\teffect(coeffects) {\n\t\tconst { dispatch, properties, updateProperties } = coeffects;\n\t\tconst {\n\t\t\thash,\n\t\t\tid,\n\t\t\tpathname,\n\t\t\tsystemProperties,\n\t\t\trelease,\n\t\t\trouteString,\n\t\t\tuserInfo\n\t\t} = properties;\n\n\t\t// First check if we're dealing with an inactive release\n\t\tif (isInactiveRelease({ release, systemProperties })) {\n\t\t\tconst redirectToVersionSelected =\n\t\t\t\tuserInfo.version_selected ||\n\t\t\t\tsystemProperties['dev.defaultVersionSelected'];\n\t\t\tconst replacedRelease = replacePathParam({\n\t\t\t\tparam: ':release',\n\t\t\t\trouteString,\n\t\t\t\tpathname,\n\t\t\t\tparamValue: redirectToVersionSelected,\n\t\t\t\thash\n\t\t\t});\n\t\t\tupdateProperties({\n\t\t\t\tredirectedFromInactiveRelease: true\n\t\t\t});\n\t\t\tupdateRoute(replacedRelease);\n\t\t\treturn;\n\t\t}\n\n\t\tdispatch(API_ACTIONS.API_DOCTYPE_UPDATED, {\n\t\t\tshouldUpdateContent: true,\n\t\t\tshouldUpdateNavList: true\n\t\t});\n\n\t\tsetMetaByPageType('reference');\n\t}\n};\n\nexport const handleComponentPropertyChanged = coeffects => {\n\tconst {\n\t\thost,\n\t\taction,\n\t\tdispatch,\n\t\tproperties,\n\t\tupdateProperties,\n\t\tupdateState\n\t} = coeffects;\n\n\tconst {\n\t\tpayload: { name, value, previousValue }\n\t} = action;\n\n\tconst {\n\t\thash,\n\t\tpathname,\n\t\trelease,\n\t\trouteString,\n\t\tsystemProperties,\n\t\tuserInfo,\n\t\tisLoaded\n\t} = properties;\n\t// First check if we're dealing with an inactive release\n\tif (isInactiveRelease({ release, systemProperties })) {\n\t\tconst redirectToVersionSelected =\n\t\t\tuserInfo.version_selected ||\n\t\t\tsystemProperties['dev.defaultVersionSelected'];\n\t\tconst replacedRelease = replacePathParam({\n\t\t\tparam: ':release',\n\t\t\trouteString,\n\t\t\tpathname,\n\t\t\tparamValue: redirectToVersionSelected,\n\t\t\thash\n\t\t});\n\t\tupdateProperties({\n\t\t\tredirectedFromInactiveRelease: true\n\t\t});\n\t\tupdateRoute(replacedRelease);\n\t\treturn;\n\t}\n\tif (\n\t\tname === 'releaseInfo' &&\n\t\t!isInactiveRelease({ release: value.release, systemProperties }) &&\n\t\tvalue.releaseVersionToggled\n\t) {\n\t\tupdateProperties({\n\t\t\tredirectedFromInactiveRelease: false\n\t\t});\n\t}\n\n\tif (['release', 'docType', 'group', 'parent', 'hash'].includes(name)) {\n\t\tconst { hash: currentHash } = properties;\n\t\tif (name === 'hash' && currentHash) {\n\t\t\tconst newActiveItem = currentHash.replace(/^#/, '');\n\t\t\tupdateProperties({ activeItem: newActiveItem });\n\t\t\tupdateState({ ignoreScrollSpy: true });\n\t\t} else {\n\t\t\tupdateProperties({ activeItem: '' });\n\t\t}\n\t}\n\n\tif (['release', 'docType'].includes(name)) {\n\t\tupdateProperties({\n\t\t\tisLoaded: false\n\t\t});\n\n\t\tdispatch(API_ACTIONS.API_DOCTYPE_UPDATED, {\n\t\t\tshouldUpdateContent: true,\n\t\t\tshouldUpdateNavList: true\n\t\t});\n\t}\n\n\tif (['group', 'parent'].includes(name) && value && previousValue !== '') {\n\t\tupdateProperties({\n\t\t\tisLoaded: false\n\t\t});\n\t\tupdateState({ ignoreScrollOnAPIRecordFetch: true });\n\t\tdispatch(API_ACTIONS.API_DOCTYPE_UPDATED, {\n\t\t\tshouldUpdateContent: true,\n\t\t\tshouldUpdateNavList: false\n\t\t});\n\t}\n\n\tif (name === 'isLoaded' && isLoaded) {\n\t\tupdateState({ shouldScrollToHash: true });\n\t}\n\n\tif (name === 'hash' && hash) {\n\t\t// parentOffsetTop is introduced here because of a sneaky\n\t\t// shadowDOM issue. When we added the `.api-blurb` element\n\t\t// to the top of the page, it pushed the parent Web Component\n\t\t// down by about 500px. This caused the \"top\" of the element\n\t\t// to be ~500px off from where it needed to be.\n\t\t//\n\t\t// Here we are measuring the distance between the host\n\t\t// element's top and the viewport, in order to get that height\n\t\t// and passing it in as an offset to scrollToElement().\n\t\tconst mobile = window.matchMedia('(max-width: 500px)');\n\t\tconst hasBanner = document.body.classList.contains('-has-banner');\n\t\tconst marginTopOffset = parseInt(\n\t\t\tdocument.body.style\n\t\t\t\t.getPropertyValue('--dps-main-margin-top')\n\t\t\t\t.replace('px', ''),\n\t\t\t10\n\t\t);\n\t\tconst apiContentTop = Math.abs(\n\t\t\thost.shadowRoot.querySelector('api-content').getClientRects()[0].top\n\t\t);\n\t\tconst scrollY = Math.abs(window.scrollY);\n\t\tlet additionalOffset = 0;\n\n\t\tif (hasBanner) {\n\t\t\tadditionalOffset = mobile.matches ? 0 : marginTopOffset;\n\t\t} else {\n\t\t\tadditionalOffset = mobile.matches ? mobileOffset : webOffset;\n\t\t}\n\n\t\tscrollToElement({\n\t\t\tselector: `${hash.replace(/^#/, '').replace(/\\?(.*)/, '')}-anchor`,\n\t\t\tuseOffset: true,\n\t\t\tadditionalOffset,\n\t\t\tbehavior: 'auto'\n\t\t});\n\t}\n};\n\nexport const handleNavListChanged = coeffects => {\n\tconst { action, properties } = coeffects;\n\tconst { queryParams } = properties;\n\n\tif (queryParams && queryParams.navFilter) {\n\t\tupdateRoute(\n\t\t\t`/reference/api/${properties.release}/${action.payload.id}?navFilter=${queryParams.navFilter}`\n\t\t);\n\t} else {\n\t\tupdateRoute(`/reference/api/${properties.release}/${action.payload.id}`);\n\t}\n};\n\nexport const handleDpsAlertBootstrapped = ({ updateState }) => {\n\tif (\n\t\tDevPlatformStorage.loadFromSessionStorage('DPS_ALERT_DISMISSED') === true\n\t) {\n\t\tupdateState({ isAlertOpen: false });\n\t}\n};\n\nexport const handleDpsAlertDismissed = ({ updateState }) => {\n\tDevPlatformStorage.saveToSessionStorage('DPS_ALERT_DISMISSED', true);\n\tupdateState({ isAlertOpen: false });\n};\n\nexport const handleTargetActivated = ({\n\taction: { payload },\n\tstate,\n\tupdateProperties,\n\tupdateState\n}) => {\n\t// Skip scroll spy updates triggered by programmatic scrolls (e.g., nav click)\n\tif (state.ignoreScrollSpy) {\n\t\tupdateState({ ignoreScrollSpy: false });\n\t\treturn;\n\t}\n\n\tconst { id } = payload;\n\t// NOTE: Removing `-anchor` to correctly set the activeItem for the filterNav and scrollSpy\n\tconst activeItem = id.substring(0, id.indexOf('-anchor'));\n\n\tupdateProperties({ activeItem });\n};\n\nconst handleApiTracked = createHttpEffect(\n\tCONSTANTS.ENDPOINTS.TRACK_API_VIST_DETAILS,\n\t{\n\t\tbatch: false,\n\t\tmethod: 'POST',\n\t\tdataParam: 'data',\n\t\tsuccessActionType: API_ACTIONS.API_TRACKING_SUCCEEDED\n\t}\n);\n\nconst handleApiTrackingSucceeded = coeffects => {\n\tconst {\n\t\taction: { meta, payload },\n\t\tstate,\n\t\tupdateState\n\t} = coeffects;\n\tconst dita_id =\n\t\tmeta.request && meta.request.data && meta.request.data.dita_id;\n\tlet { apiClassVisited } = state;\n\tapiClassVisited.push(dita_id);\n\tupdateState({ apiClassVisited });\n};\n\nexport const API_ACTION_HANDLERS = {\n\t...fetchApiRecord,\n\t...fetchNavList,\n\t...handleAPIActionTracker,\n\t[API_ACTIONS.API_TRACKED]: handleApiTracked,\n\t[API_ACTIONS.API_TRACKING_SUCCEEDED]: handleApiTrackingSucceeded,\n\t[API_ACTIONS.API_DOCTYPE_UPDATED]: handleApiDoctypeUpdated,\n\t[API_ACTIONS.NAV_LIST_CHANGED]: handleNavListChanged,\n\t[API_ACTIONS.DPS_ALERT_BOOTSTRAPPED]: handleDpsAlertBootstrapped,\n\t[API_ACTIONS.DPS_ALERT_DISMISSED]: handleDpsAlertDismissed,\n\t[API_ACTIONS.CHECK_ROUTE]: handleCheckRoute,\n\t[API_ACTIONS.IS_CONTENT_LOADED]: ({ action, updateProperties }) => {\n\t\tupdateProperties({\n\t\t\tisLoaded: true\n\t\t});\n\t},\n\t[COMPONENT_BOOTSTRAPPED]: handleComponentBootstrapped,\n\t[COMPONENT_PROPERTY_CHANGED]: handleComponentPropertyChanged,\n\t[COMPONENT_RENDERED]: handleRenderedCallback,\n\t[DPS_API_CONTENT_ACTIONS.CONTENT_METHOD_RENDERED]: handleRenderedCallback,\n\t'DPS_VERSION_SWITCHER#ALERT_DISMISSED': coeffects => {\n\t\tconst { action, updateProperties } = coeffects;\n\t\tconst { payload } = action;\n\t\tupdateProperties({ ...payload });\n\t},\n\t[SCROLL_SPY_ACTIONS.TARGET_ACTIVATED]: handleTargetActivated\n};\n","import {actionTypes, createCustomElement} from '@servicenow/ui-core';\nimport { CONSTANTS } from '../../constants';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\n\nconst { COMPONENT_BOOTSTRAPPED } = actionTypes\n\nconst ERROR_PAGE_ACTIONS = {\n\tLOG_404_PAGE_DETAILS: 'ERROR_PAGE_ACTIONS#LOG_404_PAGE_DETAILS',\n\tLOG_404_PAGE_DETAILS_SUCCEEDED: 'ERROR_PAGE_ACTIONS#LOG_404_PAGE_DETAILS_SUCCEEDED',\n\tLOG_404_PAGE_DETAILS_ERRORED: 'ERROR_PAGE_ACTIONS#LOG_404_PAGE_DETAILS_ERRORED'\n};\n\nconst handleErrorPageBootstrapped = ({ dispatch, properties }) => {\n\tconst { illegalUrls } = properties;\n\tif(illegalUrls.illegalUrl !== illegalUrls.referrer) {\n\t\tdispatch(ERROR_PAGE_ACTIONS.LOG_404_PAGE_DETAILS, {\n\t\t\tdata: {\n\t\t\t\tillegal_url: illegalUrls.illegalUrl,\n\t\t\t\treferrer: illegalUrls.referrer\n\t\t\t}\n\t\t});\n\t}\n};\n\nconst log404PageDetails = createHttpEffect(\n\tCONSTANTS.ENDPOINTS.LOG_404_PAGE_ENDPOINT,\n\t{\n\t\tbatch: false,\n\t\tmethod: 'POST',\n\t\tdataParams: 'data',\n\t\tsuccessActionType: ERROR_PAGE_ACTIONS.LOG_404_PAGE_DETAILS_SUCCEEDED,\n\t\terrorActionType: ERROR_PAGE_ACTIONS.LOG_404_PAGE_DETAILS_ERRORED\n\t}\n);\n\nconst log404PageDetailsSucceeded = ({updateProperties}) => {\n\tupdateProperties({\n\t\tillegalUrlTracked: true\n\t});\n};\n\nconst log404PageDetailsErrored = ({updateProperties}) => {\n\tupdateProperties({\n\t\tillegalUrlTracked: false\n\t});\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: handleErrorPageBootstrapped,\n\t[ERROR_PAGE_ACTIONS.LOG_404_PAGE_DETAILS]: log404PageDetails,\n\t[ERROR_PAGE_ACTIONS.LOG_404_PAGE_DETAILS_SUCCEEDED]: log404PageDetailsSucceeded,\n\t[ERROR_PAGE_ACTIONS.LOG_404_PAGE_DETAILS_ERRORED]: log404PageDetailsErrored\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-error-page.scss';\nimport IconErrorImage from '../../images/404.svg';\nimport IconOvalImage from '../../images/oval.svg';\nimport '../dps-link';\nimport '../dps-button';\nimport { simplify } from '../../utils/case';\nimport { actionHandlers } from './actionHandlers';\nimport { createPath } from '../../utils/url';\n\nconst getSearchPath = (path, release) => {\n\tconst lastPathItem = path.split('/').reverse()[0].replace('_', ' ');\n\tconst searchTerm = encodeURI(simplify(lastPathItem));\n\n\treturn `/search/${release}/All/${searchTerm}`;\n};\n\nconst errorPage = ({ properties: { release, message, illegalUrlTracked, isContentNotFoundForCurrentRelease, contentDetails } }, dispatch) => {\n\tconst feedbackBtn = (\n\t\t<dps-link\n\t\t\tclassName=\"dps-error-page-feedback\"\n\t\t\tlink-style\n\t\t\tlabel=\"refer to Guides\"\n\t\t\thref=\"/guides\"\n\t\t>refer to Guides</dps-link>\n\t);\n\n\tconst errorView = (<div><img src={IconErrorImage} alt=\"404\" />\n\t\t<h5>page not found</h5>\n\t\t{\n\t\t\tmessage\n\t\t\t\t? <p innerHTML={message} />\n\t\t\t\t: <p>Let's get you back on track. Try search or {feedbackBtn} what you were looking for.</p>\n\t\t}\n\t\t<dps-link button-style variant=\"primary\" href=\"/\">Go Home</dps-link></div>);\n\n\tconst contenNotFoundView = (\n\t\t<div className=\"dps-error-page-content-error\">\n\t\t\t<img src={IconOvalImage} alt=\"oval\" height=\"205\" width=\"205\" />\n\t\t\t<div className=\"dps-error-page-error-text\">Content you are trying to view is available in these release versions.</div>\n\t\t\t{contentDetails && contentDetails.otherReleases && contentDetails.otherReleases.map(otherRelease => {\n\t\t\t\treturn (\n\t\t\t\t\t<div className=\"dps-error-page-other-release-cards\"\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\twindow.location.href = createPath(otherRelease.url);\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t<div className=\"dps-error-page-other-release-cards_title\">{contentDetails && contentDetails.contentTitle}</div>\n\t\t\t\t\t\t<div className=\"dps-error-page-other-release-cards_release\">{otherRelease.label}</div>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n\n\treturn (\n\t\t<div className=\"dps-error-page\">\n\t\t\t{isContentNotFoundForCurrentRelease && contentDetails && contentDetails.otherReleases.length > 0 ? contenNotFoundView : errorView}\n\t\t</div>\n\t);\n}\n\nexport default createCustomElement('dps-error-page', {\n\trenderer: { type: snabbdom },\n\tview: errorPage,\n\tproperties: {\n\t\trelease: {\n\t\t\tdefault: ''\n\t\t},\n\t\tmessage: {\n\t\t\tdefault: ''\n\t\t},\n\t\tillegalUrls: {\n\t\t\tdefault: {\n\t\t\t\treferrer: '',\n\t\t\t\tillegalUrl: ''\n\t\t\t},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\tillegalUrlTracked: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tcontentDetails: {\n\t\t\tdefault: {}\n\t\t},\n\t\tisContentNotFoundForCurrentRelease: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tactionHandlers,\n\tstyles\n});\n","export default function getMixOrPatchIn(_) {\n  function mixOrPatchIn(name, method, chain) {\n    if (!_[name]) {\n      if (_.mixin) {\n        var patch = {};\n        patch[name] = method;\n        if (chain === undefined) {\n          chain = true;\n        }\n        _.mixin(patch, { chain: chain });\n      } else {\n        _[name] = method;\n      }\n    }\n    return _;\n  }\n  return mixOrPatchIn;\n}\n","var rxArrIndex = /^\\d+$/;\nvar rxVarName = /^[a-zA-Z_$]+([\\w_$]*)$/;\n\nexport default function getPathToString(_) {\n  function pathToString(path) {\n    if (_.isString(path)) return path;\n    if (!_.isArray(path)) return undefined;\n    return _.reduce(\n      path,\n      function(accumulator, value) {\n        if (rxArrIndex.test(value)) {\n          return accumulator + '[' + value + ']';\n        }\n        if (rxVarName.test(value)) {\n          return accumulator + (accumulator ? '.' : '') + value;\n        }\n        return (\n          accumulator + '[\"' + value.toString().replace(/\"/g, '\\\\\"') + '\"]'\n        );\n      },\n      ''\n    );\n  }\n  return pathToString;\n}\n","export default function getHasChildren(_) {\n  function hasChildren(obj, childrenPath) {\n    return _.some(childrenPath, (cp) => {\n      var children = _.get(obj, cp);\n      return !_.isEmpty(children);\n    });\n  }\n  return hasChildren;\n}\n","import getPathToString from './../getPathToString';\nimport getHasChildren from './getHasChildren';\n\nexport default function getIterate(_) {\n  var pathToString = getPathToString(_);\n  var hasChildren = getHasChildren(_);\n  var _each = _.each || _.forArray;\n  function iterate(\n    value,\n    callback,\n    options,\n    key,\n    path,\n    depth,\n    parent,\n    parents,\n    obj,\n    childrenPath\n  ) {\n    var currentObj = {\n      value: value,\n      key: key,\n      path: options.pathFormat == 'array' ? path : pathToString(path),\n      parent: parent,\n    };\n\n    var currentParents = [...parents, currentObj];\n\n    var isCircular = undefined;\n    var circularParentIndex = undefined;\n    var circularParent = undefined;\n    if (options.checkCircular) {\n      if (_.isObject(value) && !_.isEmpty(value)) {\n        circularParentIndex = _.findIndex(parents, function(v) {\n          return v.value === value;\n        });\n        circularParent = parents[circularParentIndex] || null;\n      } else {\n        circularParentIndex = -1;\n        circularParent = null;\n      }\n      isCircular = circularParentIndex !== -1;\n    }\n    var res;\n    var needCallback =\n      (depth || options.includeRoot) &&\n      (!options.leavesOnly ||\n        !_.isObject(value) ||\n        _.isEmpty(value) ||\n        isCircular ||\n        (options.childrenPath !== undefined &&\n          !hasChildren(value, options.childrenPath)));\n    // console.log('needCallback?', needCallback);\n    if (needCallback) {\n      var context = {\n        path: options.pathFormat == 'array' ? path : pathToString(path),\n        parent: parent,\n        parents: parents,\n        obj: obj,\n        depth: depth,\n        isCircular: isCircular,\n        circularParent: circularParent,\n        circularParentIndex: circularParentIndex,\n      };\n      if (options.childrenPath !== undefined) {\n        currentObj.childrenPath =\n          options.pathFormat == 'array'\n            ? childrenPath\n            : pathToString(childrenPath);\n        context.childrenPath = currentObj.childrenPath;\n      }\n      res = callback(value, key, parent && parent.value, context);\n    }\n    function forChildren(children, cp) {\n      if (children && _.isObject(children)) {\n        _.forOwn(children, function(childValue, childKey) {\n          var childPath = [...(path || []), ...(cp || []), childKey];\n\n          iterate(\n            childValue,\n            callback,\n            options,\n            childKey,\n            childPath,\n            depth + 1,\n            currentObj,\n            currentParents,\n            obj,\n            cp\n          );\n        });\n      }\n    }\n    if (res !== false && !isCircular && _.isObject(value)) {\n      if (options.childrenPath !== undefined) {\n        if (!depth && options.rootIsChildren) {\n          forChildren(value, undefined);\n        } else {\n          _each(options.childrenPath, function(cp) {\n            var children = _.get(value, cp);\n            forChildren(children, cp);\n          });\n        }\n      } else {\n        _.forOwn(value, function(childValue, childKey) {\n          if (_.isArray(value)) {\n            if (childValue === undefined && !(childKey in value)) {\n              return; //empty slot\n            }\n          }\n\n          var childPath = [...(path || []), childKey];\n\n          iterate(\n            childValue,\n            callback,\n            options,\n            childKey,\n            childPath,\n            depth + 1,\n            currentObj,\n            currentParents,\n            obj\n          );\n        });\n      }\n    }\n    if (options.callbackAfterIterate && needCallback) {\n      context.afterIterate = true;\n      callback(value, key, parent && parent.value, context);\n    }\n  }\n  return iterate;\n}\n","import getIterate from './private/getIterate';\n\nexport default function getEachDeep(_) {\n  var iterate = getIterate(_);\n\n  function eachDeep(obj, callback, options) {\n    if (callback === undefined) callback = _.identity;\n    options = _.merge(\n      {\n        includeRoot: !_.isArray(obj),\n        pathFormat: 'string',\n        checkCircular: false,\n        leavesOnly: false,\n      },\n      options || {}\n    );\n    if (options.childrenPath !== undefined) {\n      if (!options.includeRoot && options.rootIsChildren === undefined) {\n        options.rootIsChildren = _.isArray(obj);\n      }\n      if (\n        !_.isString(options.childrenPath) &&\n        !_.isArray(options.childrenPath)\n      ) {\n        throw Error('childrenPath can be string or array');\n      } else {\n        if (_.isString(options.childrenPath)) {\n          options.childrenPath = [options.childrenPath];\n        }\n        for (var i = options.childrenPath.length - 1; i >= 0; i--) {\n          options.childrenPath[i] = _.toPath(options.childrenPath[i]);\n        }\n      }\n    }\n    iterate(\n      obj,\n      callback,\n      options,\n      undefined,\n      undefined,\n      0,\n      undefined,\n      [],\n      obj\n    );\n    return obj;\n  }\n  return eachDeep;\n}\n","export default function getObtain(_) {\n  function obtain(obj, path) {\n    if (path === undefined) {\n      return obj;\n    }\n    return _.get(obj, path);\n  }\n  return obtain;\n}\n","export default function getCondense(_) {\n  function condense(arr) {\n    var indexes = [];\n    for (var i = 0; i < arr.length; i++) {\n      if (!(i in arr)) {\n        indexes.push(i);\n      }\n    }\n    var length = indexes.length;\n\n    while (length--) {\n      arr.splice(indexes[length], 1);\n    }\n    return arr;\n  }\n  return condense;\n}\n","import getEachDeep from './getEachDeep';\nimport getCondense from './getCondense';\n\nexport default function getCondenseDeep(_) {\n  var eachDeep = getEachDeep(_);\n  var condense = getCondense(_);\n  var _each = _.each || _.forArray;\n  function condenseDeep(obj, options) {\n    options = _.merge(\n      {\n        checkCircular: false,\n      },\n      options || {}\n    );\n    var eachDeepOptions = {\n      checkCircular: options.checkCircular,\n    };\n    var arrays = [];\n    //console.log('condenseDeep → eachDeep');\n    eachDeep(\n      obj,\n      function(value, key, parent, context) {\n        if (!context.isCircular && _.isArray(value)) arrays.push(value);\n      },\n      eachDeepOptions\n    );\n    if (_.isArray(obj)) arrays.push(obj);\n    _each(arrays, condense);\n    return obj;\n  }\n  return condenseDeep;\n}\n","export default function getExists(_) {\n  function exists(obj, path) {\n    path = _.isArray(path) ? _.clone(path) : _.toPath(path);\n    var key = path.pop();\n    var parent = path.length ? _.get(obj, path) : obj;\n    return parent !== undefined && key in parent;\n  }\n  return exists;\n}\n","import getEachDeep from './getEachDeep';\nimport getPathToString from './getPathToString';\nimport getObtain from './getObtain';\nimport getCondenseDeep from './getCondenseDeep';\nimport getExists from './getExists';\n\nexport default function getFilterDeep(_) {\n  // console.log('getFilterDeep:', _);\n  var eachDeep = getEachDeep(_);\n  var pathToString = getPathToString(_);\n  var obtain = getObtain(_);\n  var condenseDeep = getCondenseDeep(_);\n  var exists = getExists(_);\n\n  function filterDeep(obj, predicate, options) {\n    predicate = _.iteratee(predicate);\n    if (!options) {\n      options = {};\n    } else {\n      options = _.cloneDeep(options);\n      if (options.leafsOnly !== undefined) {\n        options.leavesOnly = options.leafsOnly;\n      }\n    }\n    if (!options.onTrue) {\n      options.onTrue = {};\n    }\n    if (!options.onFalse) {\n      options.onFalse = {};\n    }\n    if (!options.onUndefined) {\n      options.onUndefined = {};\n    }\n    if (options.childrenPath !== undefined) {\n      if (options.onTrue.skipChildren === undefined) {\n        options.onTrue.skipChildren = false;\n      }\n      if (options.onUndefined.skipChildren === undefined) {\n        options.onUndefined.skipChildren = false;\n      }\n      if (options.onFalse.skipChildren === undefined) {\n        options.onFalse.skipChildren = false;\n      }\n\n      if (options.onTrue.cloneDeep === undefined) {\n        options.onTrue.cloneDeep = true;\n      }\n      if (options.onUndefined.cloneDeep === undefined) {\n        options.onUndefined.cloneDeep = true;\n      }\n      if (options.onFalse.cloneDeep === undefined) {\n        options.onFalse.cloneDeep = true;\n      }\n    }\n    options = _.merge(\n      {\n        checkCircular: false,\n        keepCircular: true,\n        //replaceCircularBy: <by>,\n        leavesOnly: options.childrenPath === undefined,\n        condense: true,\n        cloneDeep: _.cloneDeep,\n        pathFormat: 'string',\n        onTrue: { skipChildren: true, cloneDeep: true, keepIfEmpty: true },\n        onUndefined: {\n          skipChildren: false,\n          cloneDeep: false,\n          keepIfEmpty: false,\n        },\n        onFalse: {\n          skipChildren: true,\n          cloneDeep: false,\n          keepIfEmpty: false,\n        },\n      },\n      options\n    );\n\n    var eachDeepOptions = {\n      pathFormat: options.pathFormat,\n      checkCircular: options.checkCircular,\n      childrenPath: options.childrenPath,\n      includeRoot: options.includeRoot,\n      callbackAfterIterate: true,\n      leavesOnly: options.leavesOnly,\n    };\n\n    var res = _.isArray(obj) ? [] : _.isObject(obj) ? {} : null;\n    var replies = {};\n    var rootReply;\n    var foundCircular = [];\n    // console.log('filterDeep → eachDeep', eachDeepOptions);\n    eachDeep(\n      obj,\n      function(value, key, parent, context) {\n        var curPath = pathToString(context.path);\n        if (!context.afterIterate) {\n          if (!context.isCircular) {\n            // console.log('fr: ', context.path);\n            var reply;\n            reply = predicate(value, key, parent, context);\n            // console.log(context.path + '?', reply);\n\n            if (!_.isObject(reply)) {\n              if (reply === undefined) {\n                reply = _.clone(options.onUndefined);\n              } else if (reply) {\n                reply = _.clone(options.onTrue);\n              } else {\n                reply = _.clone(options.onFalse);\n              }\n            }\n            if (reply.empty === undefined) {\n              reply.empty = true;\n            }\n            if (curPath !== undefined) {\n              replies[curPath] = reply;\n\n              _.eachRight(context.parents, function(parent) {\n                var p = pathToString(parent.path);\n                if (p !== undefined && !replies[p]) {\n                  replies[p] = {\n                    skipChildren: false,\n                    cloneDeep: false,\n                    keepIfEmpty: false,\n                    empty: reply.empty,\n                  };\n                } else {\n                  return false;\n                }\n              });\n\n              if (!rootReply) {\n                rootReply = {\n                  skipChildren: false,\n                  cloneDeep: false,\n                  keepIfEmpty: false,\n                  empty: reply.empty,\n                };\n              }\n            } else {\n              rootReply = reply;\n              // console.log('root reply', reply);\n            }\n            // console.log('→', replies);\n            if (reply.keepIfEmpty || !reply.skipChildren) {\n              if (options.cloneDeep && reply.cloneDeep) {\n                if (context.path !== undefined) {\n                  _.set(res, context.path, options.cloneDeep(value));\n                } else {\n                  res = options.cloneDeep(value);\n                }\n              } else {\n                if (context.path !== undefined) {\n                  _.set(\n                    res,\n                    context.path,\n                    _.isArray(value) ? [] : _.isPlainObject(value) ? {} : value\n                  );\n                } else {\n                  res = _.isArray(value)\n                    ? []\n                    : _.isPlainObject(value)\n                    ? {}\n                    : value;\n                }\n              }\n            }\n            return !reply.skipChildren;\n          } else {\n            // console.log('fc: ', context.path);\n            _.unset(res, context.path);\n\n            if (options.keepCircular) {\n              foundCircular.push([context.path, context.circularParent.path]);\n            }\n            return false;\n          }\n        } else if (context.afterIterate && !context.isCircular) {\n          // console.log('ai: ', context.path);\n          if (\n            curPath === undefined &&\n            rootReply.empty &&\n            !rootReply.keepIfEmpty\n          ) {\n            res = null;\n          } else if (\n            curPath !== undefined &&\n            replies[curPath].empty &&\n            !replies[curPath].keepIfEmpty\n          ) {\n            _.unset(res, context.path);\n          } else {\n            _.eachRight(context.parents, function(parent) {\n              var p = pathToString(parent.path);\n              if (p !== undefined && replies[p].empty) {\n                replies[p].empty = false;\n              } else {\n                return false;\n              }\n            });\n            rootReply.empty = false;\n          }\n          if (curPath !== undefined) {\n            //delete replies[curPath];\n          } else {\n            //delete rootReply;\n          }\n\n          // console.log('←', replies);\n          return;\n        } else {\n          // console.log('aic: ', context.path);\n        }\n      },\n      eachDeepOptions\n    );\n    if (rootReply && rootReply.empty && !rootReply.keepIfEmpty) {\n      res = null;\n    } else {\n      _.each(replies, (reply, path) => {\n        if (reply.empty && !reply.keepIfEmpty) {\n          _.unset(res, path);\n        }\n      });\n    }\n    _.each(foundCircular, function(c) {\n      var cv;\n      var found = c[1] === undefined || exists(res, c[1]);\n      if (!found) return;\n      // console.log('circular: ', c[0], c[1]);\n      if (_.has(options, 'replaceCircularBy')) {\n        cv = options.replaceCircularBy;\n      } else {\n        cv = obtain(res, c[1]);\n      }\n      _.set(res, c[0], cv);\n    });\n    if (options.condense) {\n      //console.log('filterDeep → condenseDeep');\n      res = condenseDeep(res, { checkCircular: options.checkCircular });\n    }\n    if (_.isArray(res) && !res.length && !eachDeepOptions.includeRoot)\n      return null;\n    return res;\n  }\n  return filterDeep;\n}\n","import getMixOrPatchIn from './private/getMixOrPatchIn';\nimport getFilterDeep from './getFilterDeep';\n\nexport default function addFilterDeep(_) {\n  var mixOrPatchIn = getMixOrPatchIn(_);\n  return mixOrPatchIn('filterDeep', getFilterDeep(_));\n}\n","export const DPS_FILTER_NAV_ITEM = {\n\tITEM_CLICK: 'DPS_FILTER_NAV_ITEM#ITEM_CLICK',\n\tKEYWORD_SET: 'DPS_FILTER_NAV_ITEM#KEYWORD_SET'\n};\n","/* eslint-disable object-shorthand */\nimport _ from 'lodash';\nimport addFilterDeep from 'deepdash-es/addFilterDeep';\nimport { DPS_FILTER_NAV_ITEM } from './actions';\n\naddFilterDeep(_);\n\n/**\n * Filters the items passed to the function with respect to the key using _.filterDeep\n */\nfunction createFilteredList(items, key, { keepIfHasProps = [] }) {\n\tif (key === '' || key === undefined) {\n\t\treturn items;\n\t}\n\n\tconst keyword = key.toLowerCase();\n\n\treturn (\n\t\t_.filterDeep(\n\t\t\titems,\n\t\t\tc => {\n\t\t\t\tconst keywordIsEmpty = !keyword;\n\t\t\t\tconst itemHasKeepProp =\n\t\t\t\t\tkeepIfHasProps.length > 0 &&\n\t\t\t\t\tObject.keys(c)\n\t\t\t\t\t\t.sort()\n\t\t\t\t\t\t.join(',')\n\t\t\t\t\t\t.indexOf(keepIfHasProps.sort().join(',')) !== -1;\n\t\t\t\tconst keywordMatchesName =\n\t\t\t\t\tc.name && _.includes(c.name.toLowerCase(), keyword);\n\n\t\t\t\treturn keywordIsEmpty || itemHasKeepProp || keywordMatchesName;\n\t\t\t},\n\t\t\t{\n\t\t\t\tchildrenPath: 'items',\n\t\t\t\tcloneDeep: myCloneDeep,\n\t\t\t\tonTrue: {\n\t\t\t\t\tskipChildren: true\n\t\t\t\t}\n\t\t\t}\n\t\t) || []\n\t);\n}\n\nfunction myCloneDeep(match) {\n\tconst copy = _.cloneDeep(match);\n\tcopy.isMatched = true;\n\treturn copy;\n}\n\nexport default {\n\t/**\n\t * Listens for dps-dropdown action - Builds items upon user selection of option\n\t * and saves option value\n\t * @type {{action: Object}}\n\t */\n\t'DPS_DROPDOWN#SELECT_OPTION': ({ updateProperties, action, properties }) => {\n\t\tconst { value } = action.payload;\n\t\tconst { data, keepIfHasProps, keyword } = properties;\n\t\tconst listFilteredByApiType = data[value.toLowerCase()] || data;\n\n\t\tupdateProperties({\n\t\t\tdefaultValue: value,\n\t\t\tfilteredNavList: null,\n\t\t\titems: createFilteredList(listFilteredByApiType, keyword, {\n\t\t\t\tkeepIfHasProps\n\t\t\t})\n\t\t});\n\t},\n\t/**\n\t * Listens for dps-input action - Builds items upon user typing in input field,\n\t * and saves keyword value\n\t * @type {{action: Object}}\n\t */\n\t'DPS_INPUT#VALUE_CHANGE': ({\n\t\taction,\n\t\tdispatch,\n\t\tproperties,\n\t\tupdateProperties\n\t}) => {\n\t\tconst { data, defaultOption, keepIfHasProps } = properties;\n\t\tconst keyword = action.payload.value;\n\t\tconst listFilteredByApiType = data[defaultOption] || data;\n\t\tconst items = createFilteredList(listFilteredByApiType, keyword, {\n\t\t\tkeepIfHasProps\n\t\t});\n\n\t\tupdateProperties({\n\t\t\tkeyword,\n\t\t\titems\n\t\t});\n\t\tdispatch(DPS_FILTER_NAV_ITEM.KEYWORD_SET, {\n\t\t\tkeyword,\n\t\t\tfilteredNavList: items\n\t\t});\n\t},\n\t/**\n\t * Listens for dps-input action - Resets navigation items when user clears the\n\t * input field and saves keyword value as an empty string\n\t * @type {{action: Object}}\n\t */\n\t'DPS_INPUT#VALUE_CLEAR': ({ dispatch, updateProperties, properties }) => {\n\t\tconst { data, keepIfHasProps, defaultOption } = properties;\n\t\tconst listFilteredByApiType = data[defaultOption] || data;\n\n\t\tupdateProperties({\n\t\t\tkeyword: '',\n\t\t\titems: createFilteredList(listFilteredByApiType, '', {\n\t\t\t\tkeepIfHasProps\n\t\t\t})\n\t\t});\n\t\tdispatch(DPS_FILTER_NAV_ITEM.KEYWORD_SET, {\n\t\t\tkeyword: '',\n\t\t\tfilteredNavList: null\n\t\t});\n\t}\n};\n","/**\n * @typedef {object} Event\n * @typedef {object} HTMLElement\n */\n\nimport { findParentNode } from '../../utils/helpers';\nimport { DPS_FILTER_NAV_ITEM } from './actions';\n\n/**\n * Recursively builds navigation list, creating a nested navigation menu.\n */\nfunction createNestedList({\n\tactiveItem,\n\tcustomPropertyNames,\n\tdispatch,\n\titem: nestedItems,\n\tkeyword = '',\n\tlevel,\n\topenedNavGroup = [],\n\tupdateProperties\n}) {\n\tconst { dc_identifier } = nestedItems;\n\tconst navItemId = nestedItems[customPropertyNames.id];\n\tlet isOpen = null;\n\tlet label = nestedItems[customPropertyNames.name];\n\n\tif (nestedItems.isMatched) {\n\t\tisOpen = true;\n\t}\n\n\t// NOTE: This is a bit of a hack to get it behave correctly\n\tif (openedNavGroup.length > 0 && openedNavGroup[0] === dc_identifier) {\n\t\tisOpen = true;\n\t\topenedNavGroup.shift();\n\t}\n\n\tif (keyword !== '') {\n\t\t// escape invalid characters\n\t\tconst cleanKeyword = keyword.replace(/[|&;$%@\"<>*()+,?]/g, '\\\\$&');\n\t\tconst regex = new RegExp(cleanKeyword, 'gi');\n\n\t\tif (regex.test(label)) {\n\t\t\tlabel = label\n\t\t\t\t.replace(regex, ',$&,')\n\t\t\t\t.split(',')\n\t\t\t\t.map(chunk =>\n\t\t\t\t\tchunk.toLowerCase() === `${keyword}`.toLowerCase() ? (\n\t\t\t\t\t\t<span className=\"is-match\">{chunk}</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tchunk\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t}\n\t}\n\n\treturn nestedItems[customPropertyNames.items] &&\n\t\tnestedItems[customPropertyNames.items].length ? (\n\t\t\t<dps-filter-nav-group\n\t\t\t\tkey={navItemId}\n\t\t\t\tis-open={isOpen}\n\t\t\t\tlabel={label}\n\t\t\t\tlevel={level}\n\t\t\t\tnavItemId={navItemId}\n\t\t\t>\n\t\t\t\t<ul>\n\t\t\t\t\t{nestedItems[customPropertyNames.items].map(nestedItem =>\n\t\t\t\t\t\tcreateNestedList({\n\t\t\t\t\t\t\tactiveItem,\n\t\t\t\t\t\t\tcustomPropertyNames,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\titem: nestedItem,\n\t\t\t\t\t\t\tkeyword,\n\t\t\t\t\t\t\tlevel: level + 1,\n\t\t\t\t\t\t\topenedNavGroup,\n\t\t\t\t\t\t\tupdateProperties\n\t\t\t\t\t\t})\n\t\t\t\t\t)}\n\t\t\t\t</ul>\n\t\t\t</dps-filter-nav-group>\n\t\t) : (\n\t\t\trenderNavItem({\n\t\t\t\tdispatch,\n\t\t\t\tlabel,\n\t\t\t\tisChild: level > 1,\n\t\t\t\tisActive: activeItem === navItemId,\n\t\t\t\tnavItemId\n\t\t\t})\n\t\t);\n}\n\n/**\n * Handle nav item click and highlight selected item\n * @param {Event} e\n * @param {object} params\n * @param {function} params.dispatch\n * @param {string} params.navItemId\n */\nfunction handleOnNavItemClick({ dispatch, navItemId }) {\n\tdispatch(DPS_FILTER_NAV_ITEM.ITEM_CLICK, { navItemId });\n}\n\n/**\n * Renders list item in nested ul list\n * @param {object} params\n * @param {function} params.dispatch\n * @param {string} params.label\n * @param {string} params.navItemId\n */\nfunction renderNavItem({ dispatch, label, isChild, isActive, navItemId }) {\n\treturn (\n\t\t<li\n\t\t\tclassName={`dps-filter-nav-item ${isChild ? 'is-child':''} ${isActive ? 'is-active':''}`}\n\t\t\tdata-navItemId={navItemId}\n\t\t\ton-click={() => {\n\t\t\t\tif (isChild) {\n\t\t\t\t\thandleOnNavItemClick({ dispatch, navItemId });\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(DPS_FILTER_NAV_ITEM.ITEM_CLICK, { navItemId });\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t<a>{label}</a>\n\t\t</li>\n\t);\n}\n\nexport default (\n\t{\n\t\tproperties: {\n\t\t\tactiveItem,\n\t\t\tcustomPropertyNames,\n\t\t\thideFilter,\n\t\t\thideFilterDropdown,\n\t\t\thideFilterInput,\n\t\t\titems,\n\t\t\tdefaultOption,\n\t\t\tkeyword,\n\t\t\topenedNavGroup,\n\t\t\toptions\n\t\t},\n\t\tupdateProperties\n\t},\n\tdispatch\n) => {\n\tlet restItems;\n\tlet processedItems;\n\n\t// Need to modify the items array if we recieve the client object instead\n\tif (items.namespace) {\n\t\trestItems = [\n\t\t\t{\n\t\t\t\tdc_identifier: 'cabrillo-namespace',\n\t\t\t\ttype: 'Namespace',\n\t\t\t\tname: 'Namespaces',\n\t\t\t\titems: items.namespace,\n\t\t\t\tisMatched: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tdc_identifier: 'cabrillo-constants',\n\t\t\t\ttype: 'Namespace',\n\t\t\t\tname: 'Reference',\n\t\t\t\titems: items.reference,\n\t\t\t\tisMatched: true\n\t\t\t}\n\t\t];\n\t\tprocessedItems = restItems;\n\t} else {\n\t\tprocessedItems = items;\n\t}\n\n\tconst renderFilterDropdown = !hideFilterDropdown ? (\n\t\t<dps-dropdown options={options} selected={defaultOption} label=\"API type\" />\n\t) : null;\n\n\tconst renderFilterInput = !hideFilterInput ? (\n\t\t<dps-input isFilter placeholder=\"Start typing to filter list\" useDebounce value=\"\" />\n\t) : null;\n\n\treturn (\n\t\t<div className=\"dps-filter-nav\">\n\t\t\t{!hideFilter ? (\n\t\t\t\t<div className=\"dps-filter-nav-controls\">\n\t\t\t\t\t{renderFilterDropdown}\n\t\t\t\t\t{renderFilterInput}\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t\t<ul className=\"dps-filter-nav-list\">\n\t\t\t\t{processedItems &&\n\t\t\t\t\tprocessedItems.map &&\n\t\t\t\t\tprocessedItems.map(item =>\n\t\t\t\t\t\tcreateNestedList({\n\t\t\t\t\t\t\tactiveItem,\n\t\t\t\t\t\t\tcustomPropertyNames,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\tkeyword,\n\t\t\t\t\t\t\tlevel: 1,\n\t\t\t\t\t\t\topenedNavGroup,\n\t\t\t\t\t\t\tupdateProperties\n\t\t\t\t\t\t})\n\t\t\t\t\t)}\n\t\t\t</ul>\n\t\t</div>\n\t);\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-icon';\n\nimport styles from './_dps-dropdown.scss';\n\nconst DpsDropdown = ({properties: {name, options, label, selected, error}}, dispatch) => {\n\tlet hasMultipleOptions;\n\n\tif (options)\n\t\thasMultipleOptions = options.length > 1;\n\n\treturn (\n\t\t<div>\n\t\t\t{label ? <label className=\"dps-dropdown-label\">{label}</label> : null}\n\t\t\t<div class={{\n\t\t\t\t'dps-dropdown': true,\n\t\t\t\t'-error': error\n\t\t\t}}>\n\t\t\t\t<select\n\t\t\t\t\tname={name}\n\t\t\t\t\ton-change={e => {\n\t\t\t\t\t\tconst value = typeof(options[0]) === 'object' ? options.filter(option => `${e.currentTarget.value}` === `${option.id}`)[0].label : e.currentTarget.value;\n\t\t\t\t\t\tconst id = typeof(options[0]) === 'object' ? e.currentTarget.value : value ;\n\t\t\t\t\t\tdispatch('DPS_DROPDOWN#SELECT_OPTION', {\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\tid\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{options ? options.map((option, index) => {\n\t\t\t\t\t\tconst optionLabel = typeof(option) === 'object' ? option.label : option;\n\t\t\t\t\t\tconst optionValue = typeof(option) === 'object' ? option.id : option;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<option\n\t\t\t\t\t\t\t\tselected={optionValue.toString() === selected.toString()}\n\t\t\t\t\t\t\t\tkey={index + optionLabel}\n\t\t\t\t\t\t\t\tvalue={optionValue}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{optionLabel}\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t);\n\t\t\t\t\t}) : null}\n\t\t\t\t</select>\n\t\t\t\t{hasMultipleOptions ? (\n\t\t\t\t\t<now-icon icon=\"chevron-down-outline\" size=\"md\" />\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-dropdown', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DpsDropdown\n\t},\n\tproperties: {\n\t\t/**\n\t\t * An array of objects, each with the configuration for a dropdown option\n\t\t * ```\n\t\t * [\n\t\t *   {\n\t\t *     id: string,\n\t\t *     label: string\n\t\t *   }\n\t\t * ]\n\t\t * ```\n\t\t * @type {Array}\n\t\t */\n\t\toptions: {\n\t\t\tdefault: []\n\t\t},\n\t\t/**\n\t\t * Name identifying the dropdown\n\t\t * @type {string}\n\t\t */\n\t\tname: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Label for dropdown field\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Current selected item\n\t\t * @type {string}\n\t\t */\n\t\tselected: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Error state\n\t\t * @type {boolean}\n\t\t */\n\t\terror: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tactions: {\n\t\t/**\n\t\t * Dispatched when user interacts with the dropdown field\n\t\t * @type {{action: Object}}\n\t\t */\n\t\t['DPS_DROPDOWN#SELECT_OPTION']: {\n\t\t\tprivate: false\n\t\t},\n\t},\n\tactionHandlers: {\n\t\t'DPS_DROPDOWN#SELECT_OPTION': ({updateProperties, action}) => {\n\t\t\tconst {value} = action.payload;\n\t\t\tupdateProperties({value, selected: value});\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom, { createRef, Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-icon';\nimport { debounce } from 'lodash';\nimport {CONSTANTS} from '../../constants';\n\nimport styles from './dps-input.scss';\n\nconst dispatchValueChange = ({ dispatch, name, value }) => {\n\tdispatch('DPS_INPUT#VALUE_CHANGE', { value, name });\n};\n\nconst debouncedDispatchValueChange = debounce(\n\tdispatchValueChange,\n\tCONSTANTS.DEFAULTS.DELAY_DEBOUNCE_MS\n);\n\nconst handleOnInput = ({ dispatch, event, name, useDebounce }) => {\n\tconst { value } = event.target;\n\tdispatch('DPS_INPUT#VALUE_CHANGE_WITHOUT_DEBOUNCE', {value});\n\tif (useDebounce) {\n\t\tdebouncedDispatchValueChange({ dispatch, name, value });\n\t} else {\n\t\tdispatchValueChange({ dispatch, name, value });\n\t}\n};\n\n// TO-DO MAKE SURE THIS DOESNT BREAK FILTER NAV\nconst view = (\n\t{\n\t\tproperties: {\n\t\t\tdirty,\n\t\t\terror,\n\t\t\tgetFocusOnInsert,\n\t\t\tisEnter,\n\t\t\tisFilter,\n\t\t\tlabel,\n\t\t\tmaxLength,\n\t\t\tname,\n\t\t\tplaceholder,\n\t\t\tsize,\n\t\t\ttype,\n\t\t\tuseDebounce,\n\t\t\tvalue,\n\t\t\tvariant\n\t\t}\n\t},\n\t{ dispatch, updateProperties }\n) => {\n\tconst focusWaitTime = 500;\n\n\tconst inputRef = createRef();\n\tconst setFocus = ref =>\n\t\tsetTimeout(() => {\n\t\t\tref.focus();\n\t\t}, focusWaitTime);\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{label ? <label className=\"dps-input-label\">{label}</label> : null}\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'dps-input': true,\n\t\t\t\t\t[`-${variant}`]: variant,\n\t\t\t\t\t[`-${size}`]: size,\n\t\t\t\t\t'-error': error,\n\t\t\t\t\t'-filter': isFilter,\n\t\t\t\t\t'-search': type === 'search'\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{isFilter ? (\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\tclassName=\"dps-input-prefix\"\n\t\t\t\t\t\ticon=\"filter-outline\"\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t<input\n\t\t\t\t\thook-insert={\n\t\t\t\t\t\tgetFocusOnInsert\n\t\t\t\t\t\t\t? ({ elm }) => {\n\t\t\t\t\t\t\t\tsetFocus(elm);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t}\n\t\t\t\t\tref={inputRef}\n\t\t\t\t\thook-destroy={({ elm }) => elm.blur()} // TODO figure out where this should set focus to\n\t\t\t\t\tname={name}\n\t\t\t\t\ton-input={event => handleOnInput({ dispatch, event, name, useDebounce })}\n\t\t\t\t\tvalue={value}\n\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\ttype={type}\n\t\t\t\t\tmaxlength={maxLength}\n\t\t\t\t/>\n\t\t\t\t{type === 'search' && dirty ? (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"dps-input-clear-search\"\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch('DPS_INPUT#CLOSE_BUTTON_CLICKED',{inputRef});\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tinnerHTML=\"×\"\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t{isFilter && isEnter ? (\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\tclassName=\"dps-input-clear\"\n\t\t\t\t\t\ticon=\"circle-close-outline\"\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\ton-click={() => dispatch('DPS_INPUT#VALUE_CLEAR')}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t</Fragment>\n\t);\n};\n\nexport default createCustomElement('dps-input', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Is the input populated (interaction only)\n\t\t * @type {boolean}\n\t\t */\n\t\tdirty: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Error state\n\t\t * @type {boolean}\n\t\t */\n\t\terror: {\n\t\t\tdefault: false\n\t\t},\n\t\tgetFocusOnInsert: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Determines if characters have been entered in the input field\n\t\t * @type {{action: Object}}\n\t\t */\n\t\tisEnter: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Determines if input field has filtering capabilities\n\t\t * @type {boolean}\n\t\t */\n\t\tisFilter: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Label for the input field\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Name of input field for ID purposes\n\t\t * @type {string}\n\t\t */\n\t\tname: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Placeholder text for input field\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Determines if characters have been entered in the input field\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Size style\n\t\t * @type {string}\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md'\n\t\t},\n\t\t/**\n\t\t * Type of input\n\t\t * @type {string}\n\t\t */\n\t\ttype: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Whether to debounce the input field\n\t\t * @type {boolean}\n\t\t */\n\t\tuseDebounce: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Value of input field\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Variant style\n\t\t * @type {string}\n\t\t */\n\t\tvariant: {},\n\t\t/**\n\t\t * Maximum allowed characters\n\t\t * @type {number}\n\t\t * default: this is the max for many fields in the backend anyway\n\t\t */\n\t\tmaxLength: {\n\t\t\tdefault: 256\n\t\t},\n\t},\n\tactions: {\n\t\t/**\n\t\t * Dispatched when user interacts with the input field\n\t\t * @type {{action: Object}}\n\t\t */\n\t\t ['DPS_INPUT#VALUE_CHANGE_WITHOUT_DEBOUNCE']: {\n\t\t\tprivate: false\n\t\t},\n\t\t/**\n\t\t * Dispatched when user interacts with the input field\n\t\t * @type {{action: Object}}\n\t\t */\n\t\t['DPS_INPUT#VALUE_CHANGE']: {\n\t\t\tprivate: false\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user clicks on clear button\n\t\t * @type {{action: Object}}\n\t\t */\n\t\t['DPS_INPUT#VALUE_CLEAR']: {\n\t\t\tprivate: false\n\t\t},\n\t\t/** Dispatched when the user clicks on 'x' button\n\t\t * * @type {{action: Object}}\n\t\t */\n\t\t['DPS_INPUT#CLOSE_BUTTON_CLICKED']: {\n\t\t\tprivate: false\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t'DPS_INPUT#VALUE_CHANGE': ({ updateProperties, action, properties }) => {\n\t\t\tconst { value } = action.payload;\n\t\t\tif (properties.isFilter) {\n\t\t\t\tupdateProperties({ value, dirty: !!value, isEnter: true });\n\t\t\t} else {\n\t\t\t\tupdateProperties({ value, dirty: !!value });\n\t\t\t}\n\t\t},\n\t\t'DPS_INPUT#VALUE_CLEAR': ({ updateProperties, properties }) => {\n\t\t\tif (properties.isFilter) {\n\t\t\t\tupdateProperties({ value: '', isEnter: false });\n\t\t\t} else {\n\t\t\t\tupdateProperties({ value: '' });\n\t\t\t}\n\t\t},\n\t\t'DPS_INPUT#CLOSE_BUTTON_CLICKED': ({ updateProperties, action}) => {\n\t\t\tconst {inputRef} = action.payload;\n\t\t\tinputRef.current.value = '';\n\t\t\tupdateProperties({ dirty: false });\n\t\t}\n\t},\n\tstyles,\n\tview\n});\n","/* eslint-disable object-shorthand */\nimport { actionTypes, createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-icon';\nimport styles from './_dps-filter-nav-group.scss';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport const DPS_FILTER_NAV_GROUP = {\n\tITEM_CLICKED: 'DPS_FILTER_NAV_GROUP#ITEM_CLICKED',\n\tTOGGLE_COLLAPSE: 'DPS_FILTER_NAV_GROUP#TOGGLE_COLLAPSE'\n};\n\nconst view = (state, dispatch) => {\n\tconst {\n\t\tproperties: { label, level },\n\t\tnavGroupIsOpen\n\t} = state;\n\tconst isRootLevel = level === 1;\n\tconst isOpen = navGroupIsOpen;\n\n\treturn (\n\t\t<li\n\t\t\tclass={{\n\t\t\t\t'dps-filter-nav-group': true,\n\t\t\t\t[`-level-${level}`]: level,\n\t\t\t\t'is-open': isOpen\n\t\t\t}}\n\t\t>\n\t\t\t<div on-click={() => dispatch(DPS_FILTER_NAV_GROUP.TOGGLE_COLLAPSE)}>\n\t\t\t\t<a>{label}</a>\n\t\t\t\t{isRootLevel ? (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'dps-filter-nav-group-collapser': true,\n\t\t\t\t\t\t\t'is-open': isOpen\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t) : isOpen ?\n\t\t\t\t\t<now-icon icon=\"chevron-up-fill\" size=\"sm\" />\n\t\t\t\t\t: <now-icon icon=\"chevron-down-fill\" size=\"sm\" />\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t{isOpen ? <slot></slot> : null}\n\t\t</li>\n\t);\n};\n\nexport default createCustomElement('dps-filter-nav-group', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Determines if navigation item is open\n\t\t * @type {boolean}\n\t\t */\n\t\tisOpen: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Label for navigation item\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Determines how deep the navigation item is\n\t\t * @type {Number}\n\t\t */\n\t\tlevel: {\n\t\t\tdefault: 1\n\t\t},\n\t\t/**\n\t\t * Id of navigation item to set URL\n\t\t * @type {string}\n\t\t */\n\t\tnavItemId: {\n\t\t\tdefault: ''\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: coeffects => {\n\t\t\tconst { properties, updateState } = coeffects;\n\t\t\tconst { isOpen } = properties;\n\t\t\tupdateState({ navGroupIsOpen: isOpen });\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({action: {payload}, updateState}) => {\n\t\t\tif (payload.name === 'isOpen' && payload.value){\n\t\t\t\tupdateState({ navGroupIsOpen: true });\n\t\t\t}\n\t\t},\n\t\t[DPS_FILTER_NAV_GROUP.TOGGLE_COLLAPSE]: coeffects => {\n\t\t\tconst { action, dispatch, properties, state, updateState } = coeffects;\n\t\t\tconst { navGroupIsOpen } = state;\n\t\t\tconst { navItemId } = properties;\n\t\t\taction.stopPropagation();\n\n\t\t\tupdateState({ navGroupIsOpen: !navGroupIsOpen });\n\t\t\t// In addition to passing the navItemId, we need to pass whether or not it's open.\n\t\t\t// Note: Container component will listen for this action\n\t\t\tdispatch(DPS_FILTER_NAV_GROUP.ITEM_CLICKED, {\n\t\t\t\tisOpen: !navGroupIsOpen,\n\t\t\t\tnavItemId\n\t\t\t});\n\t\t}\n\t},\n\tinitialState: {\n\t\tnavGroupIsOpen: null\n\t},\n\tstyles,\n\tview\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-icon';\nimport actionHandlers from './actionHandlers';\nimport styles from './_dps-filter-nav.scss';\nimport view from './view';\nimport '../dps-dropdown';\nimport '../dps-input';\nimport '../dps-filter-nav-group';\n\nexport default createCustomElement('dps-filter-nav', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Determines which navigation item is currently active\n\t\t * @type {string}\n\t\t */\n\t\tactiveItem: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Allows the custom definition of object keys for custom data structures\n\t\t * @type {Object}\n\t\t */\n\t\tcustomPropertyNames: {\n\t\t\tdefault: {\n\t\t\t\tid: 'name',\n\t\t\t\tname: 'dc_identifier',\n\t\t\t\titems: 'items'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Data which the filter navigation list will work on.\n\t\t * @type {Object}\n\t\t */\n\t\tdata: {\n\t\t\tdefault: {}\n\t\t},\n\t\t/**\n\t\t * Option selected on the dropdown\n\t\t * @type {string}\n\t\t */\n\t\tdefaultOption: {\n\t\t\tdefault: 'server'\n\t\t},\n\t\t/**\n\t\t * Default value for dropdown\n\t\t * @type {string}\n\t\t */\n\t\tdefaultValue: {\n\t\t\tdefault: 'server'\n\t\t},\n\t\t/**\n\t\t * Determines if we show the filter at all\n\t\t * @type {boolean}\n\t\t */\n\t\thideFilter: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Determines if we show the filter dropdown\n\t\t * @type {boolean}\n\t\t */\n\t\thideFilterDropdown: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Determines if we show the filter input box\n\t\t * @type {boolean}\n\t\t */\n\t\thideFilterInput: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Navigation items to be filtered upon\n\t\t * @type {Array}\n\t\t */\n\t\titems: {\n\t\t\tdefault: []\n\t\t},\n\t\t/**\n\t\t * Determines if navigation item is currently active\n\t\t * @type {boolean}\n\t\t */\n\t\tisActive: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Will keep navItem in filteredList if the item has a field that is part of keepIfHasProps\n\t\t * e.g. navItems = [{ foo: 'bar', id: 1 }, { baz: 'bat', id: 2}], keepIfHasProps = ['foo']\n\t\t * @type {Array<string>}\n\t\t */\n\t\tkeepIfHasProps: {\n\t\t\tdefault: []\n\t\t},\n\t\t/**\n\t\t * Keyword to filter the navigation list by\n\t\t * @type {string}\n\t\t */\n\t\tkeyword: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * navGroup that should be opened by default\n\t\t * e.g. ['no-namespace', 'c_GlideAggregateScopedAPI']\n\t\t * @type {Array<string>}\n\t\t */\n\t\topenedNavGroup: {\n\t\t\tdefault: []\n\t\t},\n\t\t/**\n\t\t * All possible options in the dropdown\n\t\t * @type {Array}\n\t\t */\n\t\toptions: {\n\t\t\tdefault: []\n\t\t}\n\t},\n\tactionHandlers,\n\tstyles,\n\tview\n});\n","import isEqual from 'lodash/isEqual';\nimport { HTML_ENTITY_MAP } from '../../constants';\n\nexport const hasPath = (list, path) =>\n\tlist.findIndex(p => isEqual(p, path)) > -1;\nexport const removePath = (list, path) => list.filter(p => !isEqual(p, path));\nexport const addPath = (list, path) => [...list, path];\nexport const togglePath = (list, path) =>\n\thasPath(list, path) ? removePath(list, path) : addPath(list, path);\n\nexport const highlightSearchTerms = (searchTerm, label) => {\n\tlet newLabel = label;\n\tif (searchTerm && label) {\n\t\t// escape invalid characters\n\t\tconst cleanKeyword = searchTerm.replace(/[|&;$%@\"<>*()+,?]/g, '\\\\$&');\n\t\tconst regex = new RegExp(cleanKeyword, 'gi');\n\n\t\tif (regex.test(newLabel)) {\n\t\t\tnewLabel = newLabel\n\t\t\t\t.replace(regex, ',$&,')\n\t\t\t\t.split(',')\n\t\t\t\t.map(chunk =>\n\t\t\t\t\tchunk.toLowerCase() === `${searchTerm}`.toLowerCase() ? (\n\t\t\t\t\t\t<span className=\"is-match\">{chunk}</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tchunk\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t}\n\t}\n\n\treturn newLabel;\n};\n\nexport const preProcessLabel = label => {\n\tfor (let i = 0; i < HTML_ENTITY_MAP.length; i++) {\n\t\tlabel = label && label.replace(HTML_ENTITY_MAP[i].entity, HTML_ENTITY_MAP[i].text);\n\t}\n\n\treturn label;\n};\n\nexport const checkForChildren = item => item.children && item.children.length;\n","export const DPS_SIDEBAR_NAV_TOGGLE = 'DPS_SIDEBAR_NAV#TOGGLE';\nexport const DPS_SIDEBAR_NAV_UPDATE_FILTER = 'DPS_SIDEBAR_NAV#UPDATE_FILTER';\n","import { highlightSearchTerms, preProcessLabel } from './dps-sidebar-nav-utils';\n\nexport const sidebarNavItem = ({\n\titem,\n\tlevel,\n\tsearchTerm,\n\tselectedItem,\n\tqueryParams,\n\tdocType\n}) => {\n\tlet { id, href, label } = item;\n\n\tlabel = preProcessLabel(label);\n\tconst itemLabel = highlightSearchTerms(searchTerm, label);\n\n\treturn (\n\t\t<li\n\t\t\tclass={{\n\t\t\t\t['dps-sidebar-nav-item']: true,\n\t\t\t\t[`-level-${level}`]: true,\n\t\t\t\t['is-selected']: selectedItem === id\n\t\t\t}}\n\t\t>\n\t\t\t<a\n\t\t\t\thref={\n\t\t\t\t\tqueryParams && queryParams.navFilter\n\t\t\t\t\t\t? `${href}?navFilter=${queryParams.navFilter}`\n\t\t\t\t\t\t: href\n\t\t\t\t}\n\t\t\t\ttitle={label}\n\t\t\t>\n\t\t\t\t{itemLabel}\n\t\t\t</a>\n\t\t</li>\n\t);\n};\n","import '@servicenow/now-icon';\nimport { highlightSearchTerms, checkForChildren, hasPath } from './dps-sidebar-nav-utils';\nimport { sidebarNavItem } from './dps-sidebar-nav-item';\nimport { DPS_SIDEBAR_NAV_TOGGLE } from './dps-sidebar-nav-constants';\n\nexport const sidebarNavGroup = ({\n\texpandedItems,\n\titem,\n\tlevel,\n\tpath,\n\tnoCollapse,\n\tsearchTerm,\n\tselectedItem,\n\tdispatch,\n\tqueryParams,\n\tdocType\n}) => {\n\n\tconst {\n\t\tchildren,\n\t\tid,\n\t\thref,\n\t\tlabel\n\t} = item;\n\n\tconst itemLabel = highlightSearchTerms(searchTerm, label);\n\n\tconst Elem = (href && href.length) ? 'a' : 'button';\n\n\tconst isOpen = hasPath(expandedItems, path);\n\n\tconst isExpanded = isOpen || (searchTerm && searchTerm.length);\n\n\tconst link =\n\t\tqueryParams && queryParams.navFilter\n\t\t\t? `${href}?navFilter=${queryParams.navFilter}`\n\t\t\t: href;\n\n\n\treturn (\n\t\t<li\n\t\t\tkey={id + isExpanded}\n\t\t\tclass={{\n\t\t\t\t['dps-sidebar-nav-group']: true,\n\t\t\t\t['is-open']: isExpanded,\n\t\t\t\t[`-level-${level}`]: true,\n\t\t\t\t['is-selected']: selectedItem === id\n\t\t\t}}\n\t\t>\n\t\t\t<div className=\"dps-sidebar-nav-group-label-container\">\n\t\t\t\t<Elem\n\t\t\t\t\tclassName=\"dps-sidebar-nav-group-label\"\n\t\t\t\t\thref={href? link : null}\n\t\t\t\t\ttitle={label}\n\t\t\t\t\ton-click={(e) => {\n\t\t\t\t\t\tif (!noCollapse) {\n\t\t\t\t\t\t\tconst firstChild = (children && children.length && children[0].id)\n\t\t\t\t\t\t\t\t? [id, children[0].id] : null;\n\t\t\t\t\t\t\tdispatch(DPS_SIDEBAR_NAV_TOGGLE, { path, id, firstChild });\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{itemLabel}\n\t\t\t\t</Elem>\n\t\t\t\t<button\n\t\t\t\t\tclassName=\"dps-sidebar-nav-group-toggle-button\"\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\tif (!noCollapse) {\n\t\t\t\t\t\t\tdispatch(DPS_SIDEBAR_NAV_TOGGLE, { path, id });\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{\n\t\t\t\t\t\t(level === 0)\n\t\t\t\t\t\t\t? <div className=\"dps-sidebar-nav-group-collapser\" />\n\t\t\t\t\t\t\t: <now-icon icon=\"chevron-down-outline\" size=\"md\" />\n\t\t\t\t\t}\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t\t{\n\t\t\t\t(children)\n\t\t\t\t\t? (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t['dps-sidebar-nav-group-children-wrapper']: true,\n\t\t\t\t\t\t\t\t[`-level-${level}`]: true\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t['dps-sidebar-nav-group-children']: true,\n\t\t\t\t\t\t\t\t\t[`-level-${level}`]: true,\n\t\t\t\t\t\t\t\t\t['is-open']: isExpanded\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tchildren.map(item => (\n\t\t\t\t\t\t\t\t\t\tcheckForChildren(item)\n\t\t\t\t\t\t\t\t\t\t\t? sidebarNavGroup({\n\t\t\t\t\t\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\t\t\t\t\t\tlevel: level + 1,\n\t\t\t\t\t\t\t\t\t\t\t\tpath: [...path, item.id],\n\t\t\t\t\t\t\t\t\t\t\t\texpandedItems,\n\t\t\t\t\t\t\t\t\t\t\t\tsearchTerm,\n\t\t\t\t\t\t\t\t\t\t\t\tselectedItem,\n\t\t\t\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t\t\t\tqueryParams,\n\t\t\t\t\t\t\t\t\t\t\t\tdocType\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t: sidebarNavItem({ item, level: level + 1, searchTerm, selectedItem, queryParams, docType })\n\t\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)\n\t\t\t\t\t: null\n\t\t\t}\n\t\t</li>\n\t);\n};\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-sidebar-nav.scss';\nimport { checkForChildren, togglePath, hasPath, removePath } from './dps-sidebar-nav-utils';\nimport { DPS_SIDEBAR_NAV_TOGGLE, DPS_SIDEBAR_NAV_UPDATE_FILTER } from './dps-sidebar-nav-constants';\nimport { sidebarNavGroup } from './dps-sidebar-nav-group';\nimport { sidebarNavItem } from './dps-sidebar-nav-item';\nimport '../dps-input';\nimport '../dps-spinner';\nimport _ from 'lodash';\nimport addFilterDeep from 'deepdash-es/addFilterDeep';\naddFilterDeep(_);\n\nconst { COMPONENT_PROPERTY_CHANGED, COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nconst _renderFilter = (searchTerm, showFilter) => {\n\tif (!showFilter) {\n\t\treturn null;\n\t}\n\n\tconst showCloseIcon = searchTerm ? true : false;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<dps-input\n\t\t\t\tvalue={searchTerm}\n\t\t\t\tisFilter={showCloseIcon}\n\t\t\t\tisEnter={showCloseIcon}\n\t\t\t\tplaceholder=\"Start typing to filter list...\"\n\t\t\t\tuseDebounce\n\t\t\t/>\n\t\t\t<hr />\n\t\t</Fragment>\n\t);\n};\n\nconst _renderEmptyStates = (searchTerm, itemsToShow, showSpinner) => {\n\tlet emptyState = null;\n\n\tif (!itemsToShow.length) {\n\t\temptyState = <p>{searchTerm ? 'No matching items.' : 'No items.'}</p>;\n\t}\n\n\tif (showSpinner) {\n\t\temptyState = <dps-spinner size=\"sm\" />;\n\t}\n\n\treturn emptyState;\n};\n\nconst view = ({ properties }, dispatch) => {\n\tconst {\n\t\tautoExpand,\n\t\texpandedItems,\n\t\tfilteredItems,\n\t\tshowSpinner,\n\t\tnavItems,\n\t\trouteItems,\n\t\tsearchTerm,\n\t\tselectedItem,\n\t\tshowFilter,\n\t\tshowHeading,\n\t\tstartLevel,\n\t\tqueryParams,\n\t\tdocType\n\t} = properties;\n\n\t// If there are search terms and filteredItems show filtered elements\n\t// otherwise we just show the original nav elements\n\tconst itemsToShow = (searchTerm && filteredItems)\n\t\t? filteredItems\n\t\t: navItems;\n\n\t// If level zero only contains one group we expand it by default\n\tconst isOnlyItem = itemsToShow.length < 2;\n\n\t// Merge route items with expanded items so the route is expanded\n\t// We also remove duplicates before merge\n\tconst mergedItems = [...expandedItems, ...routeItems.filter(item => !hasPath(expandedItems, item))];\n\n\treturn (\n\t\t<nav>\n\t\t\t<slot name=\"top\" />\n\t\t\t{showHeading && <h2 className=\"dps-sidebar-nav-heading\">Next Experience</h2>}\n\t\t\t{_renderFilter(searchTerm, showFilter)}\n\t\t\t{_renderEmptyStates(searchTerm, itemsToShow, showSpinner)}\n\t\t\t<ul>\n\t\t\t\t{\n\t\t\t\t\titemsToShow.map(item => (\n\t\t\t\t\t\tcheckForChildren(item)\n\t\t\t\t\t\t\t? sidebarNavGroup({\n\t\t\t\t\t\t\t\tautoExpand,\n\t\t\t\t\t\t\t\texpandedItems: mergedItems,\n\t\t\t\t\t\t\t\tpath: [item.id],\n\t\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\t\tlevel: startLevel,\n\t\t\t\t\t\t\t\tnoCollapse: isOnlyItem,\n\t\t\t\t\t\t\t\tsearchTerm,\n\t\t\t\t\t\t\t\tselectedItem,\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tqueryParams,\n\t\t\t\t\t\t\t\tdocType\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t: sidebarNavItem({\n\t\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\t\tlevel: startLevel,\n\t\t\t\t\t\t\t\tsearchTerm,\n\t\t\t\t\t\t\t\tselectedItem,\n\t\t\t\t\t\t\t\tqueryParams,\n\t\t\t\t\t\t\t\tdocType\n\t\t\t\t\t\t\t})\n\t\t\t\t\t))\n\t\t\t\t}\n\t\t\t</ul>\n\t\t</nav>\n\t);\n};\n\nexport default createCustomElement('dps-sidebar-nav', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\tautoExpand: {\n\t\t\tdefault: false\n\t\t},\n\t\texpandedItems: {\n\t\t\tdefault: []\n\t\t},\n\t\tfilteredItems: {\n\t\t\tdefault: []\n\t\t},\n\t\tnavItems: {\n\t\t\tdefault: []\n\t\t},\n\t\trouteItems: {\n\t\t\tdefault: []\n\t\t},\n\t\tshowSpinner: {\n\t\t\tdefault: false\n\t\t},\n\t\tsearchTerm: {\n\t\t\tdefault: ''\n\t\t},\n\t\tselectedItem: {\n\t\t\tdefault: ''\n\t\t},\n\t\tshowFilter: {\n\t\t\tdefault: true\n\t\t},\n\t\tshowHeading: {\n\t\t\tdefault: false\n\t\t},\n\t\tstartLevel: {\n\t\t\tdefault: 0\n\t\t},\n\t\tqueryParams: {\n\t\t\tdefault: {}\n\t\t},\n\t\tdocType: {\n\t\t\tdefault: ''\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]({ properties, dispatch }) {\n\t\t\tconst { queryParams } = properties;\n\t\t\tqueryParams &&\n\t\t\t\tdispatch(DPS_SIDEBAR_NAV_UPDATE_FILTER, { value: queryParams.navFilter });\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]({ dispatch, action, properties: { queryParams, expandedItems, routeItems, searchTerm }, updateProperties }) {\n\t\t\tconst { name } = action.payload;\n\t\t\tif ('navItems' === name) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\texpandedItems: routeItems\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif ('navItems' === name && searchTerm) {\n\t\t\t\tdispatch(DPS_SIDEBAR_NAV_UPDATE_FILTER, { value: searchTerm });\n\t\t\t}\n\n\t\t\tif ('queryParams' === name && queryParams) {\n\t\t\t\tdispatch(DPS_SIDEBAR_NAV_UPDATE_FILTER, { value: queryParams.navFilter });\n\t\t\t}\n\t\t},\n\t\t[DPS_SIDEBAR_NAV_UPDATE_FILTER]({ action, updateProperties, properties }) {\n\t\t\tconst searchTerm = action.payload.value && action.payload.value.toLowerCase();\n\n\t\t\tconst filteredItems = _.filterDeep(\n\t\t\t\tproperties.navItems,\n\t\t\t\titem => item.label && _.includes(item.label.toLowerCase(), searchTerm),\n\t\t\t\t{\n\t\t\t\t\tchildrenPath: 'children',\n\t\t\t\t\tonTrue: {\n\t\t\t\t\t\tskipChildren: true\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t) || [];\n\n\t\t\tupdateProperties({\n\t\t\t\tsearchTerm,\n\t\t\t\tfilteredItems\n\t\t\t});\n\t\t},\n\t\t[DPS_SIDEBAR_NAV_TOGGLE]({ updateProperties, action, properties }) {\n\t\t\t// On close/open we'll toggle the path into the expanded items and remove it from route items\n\t\t\t// We remove from route otherwise we won't be able to close the route matching items\n\t\t\tlet expandedItems = togglePath(properties.expandedItems, action.payload.path);\n\t\t\t// If nav was toggled by clicking a group label, add its first child as well\n\t\t\tif (action.payload.firstChild) {\n\t\t\t\texpandedItems = togglePath(expandedItems, action.payload.firstChild);\n\t\t\t}\n\n\t\t\tupdateProperties({\n\t\t\t\texpandedItems,\n\t\t\t\trouteItems: removePath(properties.routeItems, action.payload.path)\n\t\t\t});\n\t\t},\n\t\t['DPS_INPUT#VALUE_CHANGE']: ({ dispatch, action }) => {\n\t\t\taction.stopPropagation();\n\t\t\tdispatch(DPS_SIDEBAR_NAV_UPDATE_FILTER, { value: action.payload.value });\n\n\t\t\tif (location.hash.indexOf('reference/api') > -1) {\n\t\t\t\tdispatch('ROUTER_BEHAVIOR#ADD_QUERY_PARAMS', {\n\t\t\t\t\tnavFilter: action.payload.value\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t['DPS_INPUT#VALUE_CLEAR']: ({ action, dispatch, updateProperties }) => {\n\t\t\taction.stopPropagation();\n\n\t\t\tupdateProperties({\n\t\t\t\tsearchTerm: '',\n\t\t\t\tfilteredItems: []\n\t\t\t});\n\t\t\tdispatch('ROUTER_BEHAVIOR#REMOVE_QUERY_PARAMS', ['navFilter']);\n\t\t}\n\t},\n\tstyles\n});\n","export const DPS_SLOT_ACTIONS = {\n\tUSER_VERSION_UPDATED: 'DPS_SLOT#USER_VERSION_UPDATED'\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport { DPS_SLOT_ACTIONS } from './actions';\nconst { COMPONENT_CONNECTED, COMPONENT_RENDERED } = actionTypes;\n\nexport default {\n\t[COMPONENT_CONNECTED]: {\n\t\teffect(coeffects) {\n\t\t\tconst { properties, updateState } = coeffects;\n\t\t\tupdateState({\n\t\t\t\tpath: 'userVersionSelected',\n\t\t\t\tvalue: properties.releaseInfo.userVersionSelected,\n\t\t\t\toperation: 'set'\n\t\t\t});\n\t\t}\n\t},\n\t[COMPONENT_RENDERED]: {\n\t\teffect(coeffects) {\n\t\t\tconst { dispatch, properties, state, updateState } = coeffects;\n\t\t\tif (\n\t\t\t\tstate.userVersionSelected !== properties.releaseInfo.userVersionSelected\n\t\t\t) {\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'userVersionSelected',\n\t\t\t\t\tvalue: properties.releaseInfo.userVersionSelected,\n\t\t\t\t\toperation: 'set'\n\t\t\t\t});\n\t\t\t\tdispatch(\n\t\t\t\t\tDPS_SLOT_ACTIONS.USER_VERSION_UPDATED,\n\t\t\t\t\tproperties.releaseInfo.userVersionSelected\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport actionHandlers from './actionHandlers';\n\nconst view = () => {\n\treturn (\n\t\t<div className=\"dps-slot\">\n\t\t\t<slot></slot>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-slot', {\n\tactionHandlers,\n\tinitialState: {\n\t\tuserVersionSelected: ''\n\t},\n\tproperties: {\n\t\treleaseInfo: {\n\t\t\tdefault: {}\n\t\t}\n\t},\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview\n});\n","import { transformReleaseName } from '../../utils/transformReleaseName';\nimport { CONSTANTS } from '../../constants';\n\nexport const buildReturnObject = (prop, properties) => {\n\tconst {\n\t\treleaseInfo,\n\t\tuserInfo,\n\t\tsystemProperties,\n\t\trouteParamsRelease\n\t} = properties;\n\n\t/**\n\t * This is a map object to replace the release names, in the system properties.\n\t */\n\n\tconst regexObj = {\n\t\tpdiVersion: userInfo && userInfo.user_instance_release,\n\t\tselectedVersion: routeParamsRelease,\n\t\tcurrentVersion:\n\t\t\treleaseInfo && releaseInfo.activeVersionsFormatted[routeParamsRelease],\n\t\tlatestReleaseName:\n\t\t\treleaseInfo &&\n\t\t\treleaseInfo.activeVersionsFormatted[routeParamsRelease]\n\t};\n\n\tconst dismissButtonMapObj = {\n\t\tdefault: 'OK'\n\t};\n\n\tconst alertMessageObj = {\n\t\tversionMismatch:\n\t\t\tsystemProperties &&\n\t\t\tsystemProperties['dev.error.content.user_version_selected_mismatch'] &&\n\t\t\tsystemProperties['dev.error.content.user_version_selected_mismatch']\n\t\t\t\t.replace('selectedVersion', transformReleaseName(routeParamsRelease))\n\t\t\t\t.replace('oldVersion', transformReleaseName(userInfo.version_selected)),\n\t\tpdiVersionMismatch:\n\t\t\tsystemProperties &&\n\t\t\tsystemProperties['dev.error.content.pdi_version_mismatch'] &&\n\t\t\tsystemProperties['dev.error.content.pdi_version_mismatch'].replace(\n\t\t\t\t/pdiVersion|currentVersion/g,\n\t\t\t\tmatched =>\n\t\t\t\t\tregexObj[matched] &&\n\t\t\t\t\ttransformReleaseName(regexObj[matched].toLowerCase())\n\t\t\t),\n\t\tredirectedFromInactiveRelease:\n\t\t\tsystemProperties &&\n\t\t\tsystemProperties['dev.error.content.inactive_version'] &&\n\t\t\tsystemProperties['dev.error.content.inactive_version'].replace(\n\t\t\t\t/latestReleaseName/,\n\t\t\t\tmatched => regexObj[matched]\n\t\t\t),\n\t\tredirectedFromNonComponentRelease: `The page you requested is unavailable because the site no longer supports the release you want to view. You're currently viewing the ${transformReleaseName(systemProperties['dev.defaults.now_experience_release'])} release for this page. If you want to change this, use the site release selector.`\n\t};\n\n\treturn {\n\t\tprop,\n\t\talertMessage: alertMessageObj[prop],\n\t\tdismissButton: dismissButtonMapObj.default\n\t};\n};\n","/* eslint-disable object-shorthand */\nimport { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { isEmpty } from 'lodash';\nimport { DevPlatformStorage } from '../../utils/storage';\nimport { afterInterceptors } from '../../utils/interceptorHelpers';\nimport { CONSTANTS } from '../../constants';\nimport '../../components/dps-alert';\nimport '../../components/dps-button';\nimport { buildReturnObject } from './actionHelpers.js';\nimport styles from './dps-version-switcher.scss';\n\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst buildAlertsToShow = properties => {\n\tconst {\n\t\tredirectedFromInactiveRelease,\n\t} = properties;\n\n\tconst returnObj = [];\n\n\tif (redirectedFromInactiveRelease) {\n\t\treturnObj.push(\n\t\t\tbuildReturnObject('redirectedFromInactiveRelease', properties)\n\t\t);\n\t}\n\n\treturn returnObj;\n};\n\nconst persistDismissedAlerts = coeffects => {\n\tconst {\n\t\taction: { payload }\n\t} = coeffects;\n\tconst { propertyObj } = payload.alertPayload;\n\n\tconst dismissedAlerts =\n\t\tDevPlatformStorage.loadFromSessionStorage(\n\t\t\tCONSTANTS.DEFAULTS.DISMISSED_ALERTS_KEY\n\t\t) || {};\n\tDevPlatformStorage.saveToSessionStorage(\n\t\tCONSTANTS.DEFAULTS.DISMISSED_ALERTS_KEY,\n\t\t{\n\t\t\t...dismissedAlerts,\n\t\t\t...propertyObj\n\t\t}\n\t);\n};\n\n/**\n *\n * @param {*} state\n * @param {*} param1\n * check for three conditions:\n * - releaseInfo.userVersionSelected !== routeParamsRelease\n * - routeParamsRelease !== userInfo.user_instance_release\n * - routeParamsRelease belongs to inactive releases\n */\nconst view = state => {\n\tconst alertsToShow = buildAlertsToShow(state.properties);\n\tconst cachedDismissedAlerts =\n\t\tDevPlatformStorage.loadFromSessionStorage(\n\t\t\tCONSTANTS.DEFAULTS.DISMISSED_ALERTS_KEY\n\t\t) || {};\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{!isEmpty(alertsToShow)\n\t\t\t\t? alertsToShow.map(data => (\n\t\t\t\t\t<dps-alert\n\t\t\t\t\t\tisAlertOpen={\n\t\t\t\t\t\t\tObject.prototype.hasOwnProperty.call(\n\t\t\t\t\t\t\t\tcachedDismissedAlerts,\n\t\t\t\t\t\t\t\tdata.prop\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t? cachedDismissedAlerts[data.prop]\n\t\t\t\t\t\t\t\t: state.properties[data.prop]\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdismiss-btn-label={data.dismissButton}\n\t\t\t\t\t\tdismiss-btn-variant=\"secondary\"\n\t\t\t\t\t\tvariant=\"warn\"\n\t\t\t\t\t\talertPayload={{\n\t\t\t\t\t\t\tpropertyObj: {\n\t\t\t\t\t\t\t\t[data.prop]: false\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tsessionKey: data.prop\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdismiss\n\t\t\t\t\t\tbody={data.alertMessage}\n\t\t\t\t\t\ticon='circle-exclamation-outline'\n\t\t\t\t\t/>\n\t\t\t\t))\n\t\t\t\t: null}\n\t\t</Fragment>\n\t);\n};\n\nexport default createCustomElement('dps-version-switcher', {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\treleaseInfo: {\n\t\t\tdefault: ''\n\t\t},\n\t\trouteParamsRelease: {\n\t\t\tdefault: ''\n\t\t},\n\t\tuserInfo: {\n\t\t\tdefault: ''\n\t\t},\n\t\tsystemProperties: {\n\t\t\tdefault: ''\n\t\t},\n\t\tversionMismatch: {\n\t\t\tdefault: true\n\t\t},\n\t\tpdiVersionMismatch: {\n\t\t\tdefault: true\n\t\t},\n\t\tredirectedFromInactiveRelease: {\n\t\t\tdefault: false\n\t\t},\n\t\tredirectedFromNonComponentRelease: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: coeffects => {\n\t\t\tconst { action, updateProperties } = coeffects;\n\t\t\tconst { payload } = action;\n\t\t\tif (\n\t\t\t\tpayload.name === 'routeParamsRelease' &&\n\t\t\t\tpayload.previousValue !== payload.value\n\t\t\t) {\n\t\t\t\t// Clear out the dismissed alert preference if release has changed\n\t\t\t\tDevPlatformStorage.removeFromSessionStorage(\n\t\t\t\t\tCONSTANTS.DEFAULTS.DISMISSED_ALERTS_KEY\n\t\t\t\t);\n\t\t\t\tupdateProperties({\n\t\t\t\t\tversionMismatch: true,\n\t\t\t\t\tpdiVersionMismatch: true\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t['DPS_ALERT#BOOTSTRAPPED']: {\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['DPS_ALERT#DISMISS']: {\n\t\t\teffect: ({ action, dispatch, updateProperties }) => {\n\t\t\t\tconst { propertyObj } = action.payload.alertPayload;\n\t\t\t\tif (\n\t\t\t\t\ttypeof propertyObj.redirectedFromInactiveRelease !== undefined ||\n\t\t\t\t\ttypeof propertyObj.redirectedFromNonComponentRelease !== undefined\n\t\t\t\t) {\n\t\t\t\t\tdispatch('DPS_VERSION_SWITCHER#ALERT_DISMISSED', propertyObj);\n\t\t\t\t}\n\t\t\t\tupdateProperties(propertyObj);\n\t\t\t},\n\t\t\tinterceptors: [afterInterceptors([persistDismissedAlerts])],\n\t\t\tstopPropagation: true\n\t\t}\n\t},\n\tstyles\n});\n","import { get } from 'lodash';\nimport { CONSTANTS } from '../../constants';\nimport '../../components/dps-alert';\nimport '../../components/dps-error-page';\nimport '../../components/dps-filter-nav';\nimport '../../components/dps-sidebar-nav';\nimport '../../components/dps-dropdown';\nimport '../../components/dps-slot';\nimport '@servicenow/now-button';\nimport './api-content';\nimport '../dps-version-switcher';\nimport '../../components/dps-alert';\nimport { getFormattedInstanceReleaseInfo, getFilteredApiTypes, getFilteredOtherReleases } from '../../utils/releaseHelpers';\nimport { getPrintablePageUrl } from '../../utils/helpers';\nimport { printer } from '../../icons';\n\nconst navStartLevels = {\n\tclient: 1,\n\tclient_next_experience: 1,\n\tclient_mobile: 1,\n\trest: 1,\n\tserver: 0,\n\tserver_legacy: 1,\n\tmobile_sdk: 1\n};\n\nconst view = state => {\n\tconst { currentId, apiDocs, numberOfCodeSwitchers, properties, shouldScrollToHash } = state;\n\n\tconst {\n\t\tactiveItem,\n\t\tdocType,\n\t\tredirectedFromInactiveRelease,\n\t\trelease,\n\t\treleaseInfo,\n\t\tsystemProperties,\n\t\tuserInfo,\n\t\tgroup,\n\t\tparent,\n\t\thash,\n\t\tqueryParams,\n\t\tblurb,\n\t\tinstanceInfo,\n\t\tpathname,\n\t\totherReleases: other_releases\n\t} = properties;\n\n\tconst { is_logged_in } = userInfo;\n\tconst navList = get(apiDocs, `${release}.navList.${docType}`, []);\n\tconst expandedNavItems = [\n\t\tgroup,\n\t\tparent,\n\t\thash ? hash.replace(/^#/, '') : undefined\n\t];\n\tconst currentNavItem = expandedNavItems\n\t\t.slice()\n\t\t.reverse()\n\t\t.filter(item => item)[0];\n\tconst docsContent = get(apiDocs, `${release}.docs['${currentId}']`, null);\n\tconst title = docsContent ? docsContent.name : '';\n\tconst instanceRelease = getFormattedInstanceReleaseInfo(instanceInfo);\n\tconst otherReleases = getFilteredOtherReleases({ otherReleases: other_releases, docType, release, pathname, systemProperties, hash });\n\tconst identifier = docsContent && docsContent.dc_identifier;\n\n\tconst availableSysApiTypes = JSON.parse(systemProperties['dev.api_types'] || '[]');\n\tconst apiTypes = getFilteredApiTypes(availableSysApiTypes, release, systemProperties);\n\n\treturn (\n\t\t<dps-template-two-column open={true}>\n\t\t\t<section className=\"sidenav\" slot=\"sidebar\">\n\t\t\t\t<dps-sidebar-nav\n\t\t\t\t\tauto-expand={true}\n\t\t\t\t\troute-items={[[group], [group, parent]]}\n\t\t\t\t\tnav-items={navList}\n\t\t\t\t\tselected-item={activeItem || currentNavItem}\n\t\t\t\t\tshow-spinner={!navList.length}\n\t\t\t\t\tstart-level={navStartLevels[docType]}\n\t\t\t\t\tqueryParams={queryParams}\n\t\t\t\t\tdoc-type={docType}\n\t\t\t\t>\n\t\t\t\t\t<dps-dropdown\n\t\t\t\t\t\toptions={apiTypes}\n\t\t\t\t\t\tselected={docType}\n\t\t\t\t\t\tlabel=\"API Type\"\n\t\t\t\t\t\tslot=\"top\"\n\t\t\t\t\t/>\n\t\t\t\t</dps-sidebar-nav>\n\t\t\t</section>\n\t\t\t<section className=\"api-content-column\">\n\t\t\t\t<dps-version-switcher\n\t\t\t\t\tredirectedFromInactiveRelease={redirectedFromInactiveRelease}\n\t\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\t\trouteParamsRelease={release}\n\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\tuserInfo={userInfo}\n\t\t\t\t/>\n\n\t\t\t\t<now-button\n\t\t\t\t\tclassName=\"api-print-button\"\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\tlabel=\"Print class\"\n\t\t\t\t\ticon=\"printer-outline\"\n\t\t\t\t\ttooltip-content={''}\n\t\t\t\t\ton-click={() => window.open(getPrintablePageUrl(release, null, identifier, CONSTANTS.DEFAULTS.API_MODULE), '_blank')}\n\t\t\t\t/>\n\n\t\t\t\t{otherReleases && otherReleases.length ? (\n\t\t\t\t\t<dps-inline-version-selector\n\t\t\t\t\t\tselected={release}\n\t\t\t\t\t\treleases={otherReleases}\n\t\t\t\t\t\tinstanceRelease={instanceRelease}\n\t\t\t\t\t\tsourcePathname={pathname}\n\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t<api-content \n\t\t\t\t\tdocType={docType} \n\t\t\t\t\tdata={docsContent} \n\t\t\t\t\thash={hash} \n\t\t\t\t\tnumberOfCodeSwitchers={numberOfCodeSwitchers} \n\t\t\t\t\tshouldScrollToHash={shouldScrollToHash}\n\t\t\t\t/>\n\t\t\t\t<div>\n\t\t\t\t\t{is_logged_in ? (\n\t\t\t\t\t\t<dps-feedback title={title} contentType={CONSTANTS.DEFAULTS.FEEDBACK_CONTENT_TYPE_ARTICLE} />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<dps-feedback\n\t\t\t\t\t\t\t\ttitle={title}\n\t\t\t\t\t\t\t\tmessage={\n\t\t\t\t\t\t\t\t\tsystemProperties &&\n\t\t\t\t\t\t\t\t\tsystemProperties['dev.provide_feedback_text_guest_user']\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcontentType={CONSTANTS.DEFAULTS.FEEDBACK_CONTENT_TYPE_ARTICLE}\n\t\t\t\t\t\t\t\tlabel={CONSTANTS.DEFAULTS.FEEDBACK_SIGN_IN_BUTTON}\n\t\t\t\t\t\t\t\tisLoginRequired={!is_logged_in}\n\t\t\t\t\t\t\t></dps-feedback>\n\t\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</section>\n\t\t</dps-template-two-column>\n\t);\n};\n\nexport default view;\n","/* eslint-disable no-undef */\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { API_ACTION_HANDLERS as actionHandlers } from './actionHandlers';\nimport view from './view';\nimport styles from './dps-api-docs.scss';\n\nexport const DEFAULT_DC_IDENTIFIER = {\n\tclient: 'customEventClientAPI',\n\tclient_mobile: 'cabrillo-namespace',\n\trest: 'c_TableAPI',\n\tserver: 'c_CertificateEncryptionScopedAPI',\n\tserver_legacy: 'c_AbstractDBObject'\n};\n\n/*\n\tdoc and navList stored by release type\n\te.g.\n\tapiDocs: {\n\t\t'orlando': {\n\t\t\t\tfilteredNavList: [] | null\n\t\t\tnavList: {},\n\t\t\tdocs: {}\n\t\t}\n\t}\n\t*/\nexport const initialState = {\n\tapiClassVisited: [],\n\tapiDocs: {},\n\tcurrentId: '',\n\tfetchApiRecordCount: 0,\n\tfetchNavListCount: 0,\n\tignoreScrollOnAPIRecordFetch: false,\n\tignoreScrollSpy: false,\n\tisAlertOpen: true,\n\tisNavListFailed: false,\n\tisNavListFetching: false,\n\tkeyword: '',\n\tnumberOfCodeSwitchers: 0,\n\tshouldScrollToHash: false,\n\ttimestamp: ''\n};\n\nexport default createCustomElement('dps-api-docs', {\n\tactionHandlers,\n\tinitialState,\n\tproperties: {\n\t\tactiveItem: {\n\t\t\tdefault: ''\n\t\t},\n\t\trelease: {\n\t\t\tdefault: '',\n\t\t\trequired: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\trouteString: {\n\t\t\tdefault: ''\n\t\t},\n\t\tpathname: {\n\t\t\tdefault: ''\n\t\t},\n\t\tdocType: {\n\t\t\tdefault: null // populated from route\n\t\t},\n\t\tid: {\n\t\t\tdefault: null // populated from route\n\t\t},\n\t\tuserInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tredirectedFromInactiveRelease: {\n\t\t\tdefault: false\n\t\t},\n\t\treleaseInfo: {\n\t\t\tdefault: ''\n\t\t},\n\t\tsystemProperties: {\n\t\t\tdefault: ''\n\t\t},\n\t\tcustomPropertyNames: {\n\t\t\tdefault: {\n\t\t\t\tid: 'dc_identifier',\n\t\t\t\tname: 'name',\n\t\t\t\titems: 'items'\n\t\t\t}\n\t\t},\n\t\tgroup: {\n\t\t\tdefault: '' // populated from route\n\t\t},\n\t\tparent: {\n\t\t\tdefault: '' // populated from route\n\t\t},\n\t\thash: {\n\t\t\tdefault: '' // populated from route\n\t\t},\n\t\tqueryParams: {\n\t\t\tdefault: {}\n\t\t},\n\t\tinstanceInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\totherReleases: {\n\t\t\tdefault: []\n\t\t},\n\t\tisLoaded: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\trenderer: { type: snabbdom },\n\tstyles,\n\tview\n});\n","import { actionTypes } from '@servicenow/ui-core';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { get } from 'lodash';\nimport { DevPlatformStorage } from '../../utils/storage';\nimport { replacePathParam, createPath, replaceLatest } from '../../utils/url';\nimport { CONSTANTS, DPS_ERROR_ACTIONS } from '../../constants';\nimport { updateRoute } from '../../routes';\nimport { isInactiveRelease, formatSysParam } from '../../utils/helpers';\nimport { setMetaByPageType, setMetaByValues } from '../../utils/meta';\nimport { getFilteredApiTypes } from '../../utils/releaseHelpers';\nimport { APP_ACTIONS } from '../dps-app/actions';\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport const API_ACTIONS = {\n\tAPI_DOC_BOOTSTRAPPED: 'API_DOC_BOOTSTRAPPED',\n\tAPI_DOCTYPE_UPDATED: 'API_DOCTYPE_UPDATED',\n\tAPI_LIST_FETCH: 'API_LIST_FETCH',\n\tAPI_LIST_FETCH_SUCCEEDED: 'API_LIST_FETCH_SUCCEEDED',\n\tAPI_LIST_FOUND: 'API_LIST_FOUND',\n\tAPI_LIST_REQUEST: 'API_LIST_REQUEST',\n\tNAV_LIST_CHANGED: 'DPS_DROPDOWN#SELECT_OPTION',\n\tNAV_LIST_FETCH: 'NAV_LIST_FETCH',\n\tNAV_LIST_FETCH_SUCCEEDED: 'NAV_LIST_FETCH_SUCCEEDED',\n\tNAV_LIST_FETCH_FAILED: 'NAV_LIST_FETCH_FAILED',\n\tNAV_LIST_FOUND: 'NAV_LIST_FOUND',\n\tNAV_LIST_REQUEST: 'NAV_LIST_REQUEST',\n\tDPS_ALERT_DISMISSED: 'DPS_ALERT#DISMISS',\n\tDPS_ALERT_BOOTSTRAPPED: 'DPS_ALERT#BOOTSTRAPPED',\n\tDPS_TABS_SELECTED: 'DPS_TABS#TAB_SELECTED',\n\tCHECK_ROUTE: 'DPS_API_DOCS#CHECK_ROUTE',\n\tIS_CONTENT_LOADED: 'API_ACTIONS#IS_CONTENT_LOADED'\n};\n\n// Action Handler Utils\n\nconst sysParamForNavList = ({ navbar, release }) =>\n\tformatSysParam('api.navlist', {\n\t\tnavbar,\n\t\trelease\n\t});\n\nconst updateMetaTitle = docType => {\n\tconst titleLookup = {\n\t\tclient: 'Client Side API',\n\t\tclient_next_experience: 'Client Next Experience API',\n\t\tclient_mobile: 'Client Mobile',\n\t\trest: 'REST API',\n\t\tserver: 'Server Scoped API',\n\t\tserver_legacy: 'Server Global API',\n\t\tmobile_sdk: 'Mobile SDK API'\n\t};\n\n\tif (docType) {\n\t\tsetMetaByValues({\n\t\t\ttitle: `${titleLookup[docType]} | ServiceNow Developers`,\n\t\t\tdescription:\n\t\t\t\t'ServiceNow provides JavaScript APIs for use within scripts running on the ServiceNow platform to deliver common functionality. This reference lists available classes and methods along with parameters, descriptions, and examples to make extending the ServiceNow platform easier.'\n\t\t});\n\t}\n};\n\n/**\n * Dispatch action to update nav list\n * @param {Object} params\n */\nconst updateNavList = ({ dispatch, docType, release }) => {\n\n\tconst sysparm_data = sysParamForNavList({\n\t\tnavbar: docType,\n\t\trelease\n\t});\n\tdispatch(API_ACTIONS.NAV_LIST_REQUEST, { sysparm_data });\n};\n\n// End Action handler utils\n\nexport const handleApiDoctypeUpdated = coeffects => {\n\tconst { action, dispatch, properties } = coeffects;\n\tconst {\n\t\tpayload: { shouldUpdateContent, shouldUpdateNavList }\n\t} = action;\n\tconst { docType, release } = properties;\n\tconst hasNavList = get(action, `state.apiDocs.${release}.navList.${docType}.length`, false);\n\n\n\tif (shouldUpdateContent) {\n\t\tdispatch(API_ACTIONS.API_LIST_REQUEST, { apiType: docType, release });\n\t}\n\n\tif (shouldUpdateNavList && !hasNavList) {\n\t\tupdateNavList({ dispatch, docType, release });\n\t}\n\n\tupdateMetaTitle(docType);\n};\n\nexport const handleApiListRequest = createHttpEffect(\n\tCONSTANTS.ENDPOINTS.API_INDEX_DATA,\n\t{\n\t\tbatch: false,\n\t\tmethod: 'GET',\n\t\tqueryParams: ['release', 'apiType'],\n\t\tsuccessActionType: API_ACTIONS.API_LIST_FETCH_SUCCEEDED,\n\t\terrorActionType: DPS_ERROR_ACTIONS.PAGE_NOT_FOUND\n\t}\n);\n\nexport const handleApiListFetchSucceeded = coeffects => {\n\tconst { action, dispatch, properties, updateState, updateProperties } = coeffects;\n\tlet { release } = properties;\n\tconst listItems = get(action, 'payload.result.items', null);\n\tconst otherReleases = get(action, 'payload.result.other_releases', []);\n\n\tif (listItems) {\n\t\tif (release === 'latest') {\n\t\t\trelease = get(action, 'payload.result.data.release');\n\t\t\treplaceLatest(release);\n\t\t}\n\n\t\tif (otherReleases.length > 0) {\n\t\t\tupdateProperties({\n\t\t\t\totherReleases\n\t\t\t});\n\t\t}\n\t\tupdateProperties({ isLoading: false })\n\t\tupdateState(() => ({\n\t\t\tpath: `apiDocs.${release}.listItems`,\n\t\t\toperation: 'set',\n\t\t\tvalue: listItems,\n\t\t\tshouldUpdate: true\n\t\t}));\n\t} else {\n\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND, { otherReleases });\n\t}\n};\n\nconst mapBlurbData = value => {\n\treturn (\n\t\tvalue && {\n\t\t\trest: value['REST'],\n\t\t\tclient: value['Client Side'],\n\t\t\tclient_mobile: value['Mobile'],\n\t\t\tserver: value['Server Side Scoped'],\n\t\t\tserver_legacy: value['Server Side Unscoped'],\n\t\t\tclient_next_experience: value['Client Next Experience'],\n\t\t\tmobile_sdk: value['Mobile SDK']\n\t\t}\n\t);\n};\n\nfunction handleInactiveRelease(properties, updateProperties) {\n\tconst {\n\t\tpathname,\n\t\tsystemProperties,\n\t\trelease,\n\t\trouteString,\n\t\tuserInfo\n\t} = properties;\n\n\t// First check if we're dealing with an inactive release\n\tif (isInactiveRelease({ release, systemProperties })) {\n\t\tconst redirectToVersionSelected =\n\t\t\tuserInfo.version_selected ||\n\t\t\tsystemProperties['dev.defaultVersionSelected'];\n\t\tconst replacedRelease = replacePathParam({\n\t\t\tparam: ':release',\n\t\t\trouteString,\n\t\t\tpathname,\n\t\t\tparamValue: redirectToVersionSelected\n\t\t});\n\t\tupdateProperties({\n\t\t\tredirectedFromInactiveRelease: true\n\t\t});\n\t\tupdateRoute(replacedRelease);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nexport const handleComponentBootstrapped = (coeffects) => {\n\tconst { dispatch, properties, updateProperties } = coeffects;\n\tconst { systemProperties, docType, release } = properties;\n\n\tconst availableSysApiTypes = JSON.parse(systemProperties['dev.api_types'] || '[]');\n\tconst apiTypes = getFilteredApiTypes(availableSysApiTypes, release, systemProperties);\n\n\t// Launch a call to attempt a redirect if 'docType' value is not a known api type\n\t// (e.g. client|client_mobile|server|server_legacy|rest|client_next_experience|mobile_sdk)\n\t// This is used to support urls containing 'docType' with dc_identifiers in them\n\t// such as 'dev.do#!/reference/api/paris/c_GlideRecordScopedAPI'\n\tif (!apiTypes.some(apiType => apiType.id === docType)) {\n\t\tdispatch(APP_ACTIONS.GET_DC_IDENTIFIER_ROUTE_REDIRECTION, {\n\t\t\tdocType,\n\t\t\trelease\n\t\t});\n\t}\n\n\tsetMetaByPageType('reference');\n\tupdateProperties({\n\t\tblurb: mapBlurbData(JSON.parse(systemProperties['dev.API.Blurb.new']))\n\t});\n\n\tif (handleInactiveRelease(properties, updateProperties)) {\n\t\treturn;\n\t}\n\n\tdispatch(API_ACTIONS.API_DOCTYPE_UPDATED, {\n\t\tshouldUpdateContent: true,\n\t\tshouldUpdateNavList: true\n\t});\n\n\n};\n\nexport const handleComponentPropertyChanged = coeffects => {\n\tconst { action, dispatch, properties, updateProperties } = coeffects;\n\n\tconst {\n\t\tpayload: { name, value }\n\t} = action;\n\n\tconst { systemProperties } = properties;\n\n\tif (handleInactiveRelease(properties, updateProperties)) {\n\t\treturn;\n\t}\n\n\tif (\n\t\tname === 'releaseInfo' &&\n\t\t!isInactiveRelease({ release: value.release, systemProperties }) &&\n\t\tvalue.releaseVersionToggled\n\t) {\n\t\tupdateProperties({\n\t\t\tredirectedFromInactiveRelease: false\n\t\t});\n\t}\n\n\tif (['release', 'docType'].includes(name)) {\n\t\tupdateProperties({ isLoading: true })\n\t\tdispatch(API_ACTIONS.API_DOCTYPE_UPDATED, {\n\t\t\tshouldUpdateContent: true,\n\t\t\tshouldUpdateNavList: true\n\t\t});\n\t}\n};\n\nexport const hanldeNavListRequest = createHttpEffect(\n\tCONSTANTS.ENDPOINTS.DEV_PORTAL_URI,\n\t{\n\t\tbatch: false,\n\t\tmethod: 'GET',\n\t\tqueryParams: ['sysparm_data'],\n\t\terrorActionType: API_ACTIONS.NAV_LIST_FETCH_FAILED,\n\t\tsuccessActionType: API_ACTIONS.NAV_LIST_FETCH_SUCCEEDED\n\t}\n);\n\nexport const handleNavListChanged = coeffects => {\n\tconst { action, properties } = coeffects;\n\tconst { queryParams } = properties;\n\n\tif (queryParams && queryParams.navFilter) {\n\t\tupdateRoute(\n\t\t\t`/reference/api/${properties.release}/${action.payload.id}?navFilter=${queryParams.navFilter}`\n\t\t);\n\t} else {\n\t\tupdateRoute(`/reference/api/${properties.release}/${action.payload.id}`);\n\t}\n};\n\nexport const handleNavListFetchFailed = coeffects => {\n\tconst { state, updateState } = coeffects;\n\tconst { navList, selectedDocType } = state;\n\tconst timestamp = Date.now();\n\tconst value = {\n\t\tisNavListFetching: false,\n\t\tisNavListFailed: true,\n\t\tnavList: {\n\t\t\t...navList,\n\t\t\t[selectedDocType]: []\n\t\t},\n\t\ttimestamp\n\t};\n\n\tupdateState(value);\n\tDevPlatformStorage.throttledSave(CONSTANTS.DEFAULTS.API_LOCALSTORAGE_KEY, {\n\t\t...value\n\t});\n};\n\nexport const handleNavListFetchSucceeded = ({\n\taction,\n\tproperties,\n\tupdateState\n}) => {\n\tconst { payload } = action;\n\tconst { docType, release } = properties;\n\tconst timestamp = Date.now();\n\n\tconst fixNavContent = (item, basePath, baseExtensionChild, nested) => {\n\t\tconst { dc_identifier, name, items, type, sub_type } = item;\n\n\t\tconst hasChildren = item.items && item.items.length;\n\t\tconst useSlash = hasChildren || type === 'Class' || sub_type;\n\t\tconst separator = useSlash ? '/' : '#';\n\n\t\tconst newBasePath = createPath(`${basePath}${separator}${dc_identifier}`);\n\t\treturn {\n\t\t\tid: dc_identifier,\n\t\t\tlabel: name,\n\t\t\thref: baseExtensionChild && !nested && hasChildren ? null : newBasePath,\n\t\t\tchildren: hasChildren\n\t\t\t\t? items.map(item => fixNavContent(item, newBasePath, undefined, true))\n\t\t\t\t: []\n\t\t};\n\t};\n\n\tconst navList =\n\t\tpayload[docType] &&\n\t\tpayload[docType].map(item =>\n\t\t\tfixNavContent(item, `#!/reference/api/${release}/${docType}`, docType === \"mobile_sdk\")\n\t\t) || [];\n\n\tupdateState(() => ({\n\t\tpath: `apiDocs.${release}.navList.${docType}`,\n\t\toperation: 'set',\n\t\tvalue: navList,\n\t\tshouldUpdate: true\n\t}));\n\n\tupdateState({\n\t\tisNavListFetching: false,\n\t\tisNavListFailed: false,\n\t\ttimestamp\n\t});\n};\n\nexport const handleDpsAlertBootstrapped = ({ updateState }) => {\n\tif (\n\t\tDevPlatformStorage.loadFromSessionStorage('DPS_ALERT_DISMISSED') === true\n\t) {\n\t\tupdateState({ isAlertOpen: false });\n\t}\n};\n\nexport const handleDpsAlertDismissed = ({ updateState }) => {\n\tDevPlatformStorage.saveToSessionStorage('DPS_ALERT_DISMISSED', true);\n\tupdateState({ isAlertOpen: false });\n};\n\nexport const API_ACTION_HANDLERS = {\n\t[API_ACTIONS.API_DOCTYPE_UPDATED]: handleApiDoctypeUpdated,\n\t[API_ACTIONS.API_LIST_REQUEST]: handleApiListRequest,\n\t[API_ACTIONS.API_LIST_FETCH_SUCCEEDED]: handleApiListFetchSucceeded,\n\t[API_ACTIONS.NAV_LIST_CHANGED]: handleNavListChanged,\n\t[API_ACTIONS.NAV_LIST_REQUEST]: hanldeNavListRequest,\n\t[API_ACTIONS.NAV_LIST_FETCH_FAILED]: handleNavListFetchFailed,\n\t[API_ACTIONS.NAV_LIST_FETCH_SUCCEEDED]: handleNavListFetchSucceeded,\n\t[API_ACTIONS.DPS_ALERT_BOOTSTRAPPED]: handleDpsAlertBootstrapped,\n\t[API_ACTIONS.DPS_ALERT_DISMISSED]: handleDpsAlertDismissed,\n\t[COMPONENT_BOOTSTRAPPED]: handleComponentBootstrapped,\n\t[COMPONENT_PROPERTY_CHANGED]: handleComponentPropertyChanged,\n\t'DPS_VERSION_SWITCHER#ALERT_DISMISSED': coeffects => {\n\t\tconst { action, updateProperties } = coeffects;\n\t\tconst { payload } = action;\n\t\tupdateProperties({ ...payload });\n\t}\n};\n","import { get } from 'lodash';\nimport { CONSTANTS } from '../../constants';\nimport '../../components/dps-alert';\nimport '../../components/dps-error-page';\nimport '../../components/dps-filter-nav';\nimport '../../components/dps-sidebar-nav';\nimport '../../components/dps-dropdown';\nimport '../../components/dps-slot';\nimport '../../components/dps-link';\nimport '@servicenow/now-button';\nimport '../dps-version-switcher';\nimport '../../components/dps-alert';\nimport { getFormattedInstanceReleaseInfo, getFilteredApiTypes, getFilteredOtherReleases } from '../../utils/releaseHelpers';\nimport { getPrintablePageUrl } from '../../utils/helpers';\nimport {printIcon} from '../../icons';\n\nconst navStartLevels = {\n\tclient: 1,\n\tclient_next_experience: 1,\n\tclient_mobile: 1,\n\trest: 1,\n\tserver: 0,\n\tserver_legacy: 1,\n\tmobile_sdk: 1\n};\n\nconst view = state => {\n\tconst { apiDocs, properties } = state;\n\n\tconst {\n\t\tdocType,\n\t\tisLoading,\n\t\tredirectedFromInactiveRelease,\n\t\trelease,\n\t\treleaseInfo,\n\t\tsystemProperties,\n\t\tuserInfo,\n\t\tqueryParams,\n\t\tblurb,\n\t\tinstanceInfo,\n\t\tpathname,\n\t\totherReleases\n\t} = properties;\n\n\tif (isLoading) {\n\t\treturn <dps-spinner />;\n\t}\n\n\tlet title;\n\n\tconst availableSysApiTypes = JSON.parse(systemProperties['dev.api_types'] || '[]');\n\n\tavailableSysApiTypes.forEach(item => {\n\t\tif (item && item.id === docType) {\n\t\t\ttitle = item.label + ' API List';\n\t\t}\n\t});\n\n\tconst apiTypes = getFilteredApiTypes(availableSysApiTypes, release, systemProperties);\n\n\tconst navList = get(apiDocs, `${release}.navList.${docType}`, []);\n\tconst listItems = get(apiDocs, `${release}.listItems`, []);\n\tlet serverList, nonServerList;\n\tif (pathname.endsWith('server') || pathname.endsWith('server/')) {\n\t\tserverList = listItems && listItems[0];\n\t} else {\n\t\tnonServerList = listItems;\n\t}\n\n\tconst instanceRelease = getFormattedInstanceReleaseInfo(instanceInfo);\n\tconst filteredOtherReleases = getFilteredOtherReleases({ otherReleases, docType, release, pathname, systemProperties });\n\n\treturn (\n\t\t<dps-template-two-column open={true}>\n\t\t\t<section className=\"sidenav\" slot=\"sidebar\">\n\t\t\t\t<dps-sidebar-nav\n\t\t\t\t\tauto-expand={true}\n\t\t\t\t\tnav-items={navList}\n\t\t\t\t\tshow-spinner={!navList.length}\n\t\t\t\t\tstart-level={navStartLevels[docType]}\n\t\t\t\t\tqueryParams={queryParams}\n\t\t\t\t>\n\t\t\t\t\t<dps-dropdown\n\t\t\t\t\t\toptions={apiTypes}\n\t\t\t\t\t\tselected={docType}\n\t\t\t\t\t\tlabel=\"API Type\"\n\t\t\t\t\t\tslot=\"top\"\n\t\t\t\t\t/>\n\t\t\t\t</dps-sidebar-nav>\n\t\t\t</section>\n\t\t\t<section className=\"api-content-column\">\n\t\t\t\t<div className=\"api-blurb\" innerHTML={blurb[docType]} />\n\t\t\t\t<dps-version-switcher\n\t\t\t\t\tredirectedFromInactiveRelease={redirectedFromInactiveRelease}\n\t\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\t\trouteParamsRelease={release}\n\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\tuserInfo={userInfo}\n\t\t\t\t/>\n\n\t\t\t\t<now-button\n\t\t\t\t\tclassName=\"api-print-button\"\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\tlabel=\"Print list\"\n\t\t\t\t\ticon=\"printer-outline\"\n\t\t\t\t\ttooltip-content={''}\n\t\t\t\t\ton-click={() => window.open(getPrintablePageUrl(\n\t\t\t\t\t\trelease,\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\tdocType + 'ListPage',\n\t\t\t\t\t\tCONSTANTS.DEFAULTS.API_MODULE\n\t\t\t\t\t), '_blank')}\n\t\t\t\t/>\n\n\t\t\t\t{filteredOtherReleases && filteredOtherReleases.length ? (\n\t\t\t\t\t<dps-inline-version-selector\n\t\t\t\t\t\tselected={release}\n\t\t\t\t\t\treleases={filteredOtherReleases}\n\t\t\t\t\t\tinstanceRelease={instanceRelease}\n\t\t\t\t\t\tsourcePathname={pathname}\n\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t<h3>{title}</h3>\n\t\t\t\t{nonServerList &&\n\t\t\t\t\tnonServerList.map(item => (\n\t\t\t\t\t\t<div className=\"api-content-list-link\">\n\t\t\t\t\t\t\t<a href={item && item.link}>\n\t\t\t\t\t\t\t\t<h4>{item.title}</h4>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t<p innerHTML={item.description}></p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\n\t\t\t\t{serverList &&\n\t\t\t\t\tObject.keys(serverList).map(namespace => (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<h6>{namespace}</h6>\n\t\t\t\t\t\t\t{serverList &&\n\t\t\t\t\t\t\t\tserverList[namespace] &&\n\t\t\t\t\t\t\t\tserverList?.[namespace]?.map(item => (\n\t\t\t\t\t\t\t\t\t<div className=\"api-content-list-link\">\n\t\t\t\t\t\t\t\t\t\t<a\n\n\t\t\t\t\t\t\t\t\t\t\thref={item && item.link}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<h4>{item.title}</h4>\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t\t<p innerHTML={item.description}></p>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\t\t\t</section>\n\t\t</dps-template-two-column>\n\t);\n};\n\nexport default view;\n","/* eslint-disable no-undef */\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { API_ACTION_HANDLERS as actionHandlers } from './actionHandlers';\nimport view from './view';\nimport styles from './dps-api-list.scss';\n\nexport const initialState = {\n\t/*\n\tdoc and navList stored by release type\n\te.g.\n\tapiDocs: {\n\t\t'orlando': {\n\t\t\tfilteredNavList: [] | null\n\t\t\tnavList: {},\n\t\t\tdocs: {}\n\t\t}\n\t}\n\t*/\n\tapiDocs: {},\n\tisNavListFetching: false,\n\tisNavListFailed: false,\n\tkeyword: '',\n\tisAlertOpen: true\n};\n\nconst properties = {\n\tisLoading: {\n\t\tdefault: true\n\t},\n\trelease: {\n\t\tdefault: '',\n\t\trequired: true,\n\t\tschema: {\n\t\t\ttype: 'string'\n\t\t}\n\t},\n\trouteString: {\n\t\tdefault: ''\n\t},\n\tpathname: {\n\t\tdefault: ''\n\t},\n\tdocType: {\n\t\tdefault: ''\n\t},\n\tuserInfo: {\n\t\tdefault: {}\n\t},\n\tredirectedFromInactiveRelease: {\n\t\tdefault: false\n\t},\n\treleaseInfo: {\n\t\tdefault: ''\n\t},\n\tsystemProperties: {\n\t\tdefault: ''\n\t},\n\tqueryParams: {\n\t\tdefault: {}\n\t},\n\tblurb: {\n\t\tdefault: {}\n\t},\n\tinstanceInfo: {\n\t\tdefault: {}\n\t},\n\totherReleases: {\n\t\tdefault: []\n\t}\n};\n\nexport default createCustomElement('dps-api-list', {\n\tinitialState,\n\tactionHandlers,\n\tproperties,\n\trenderer: { type: snabbdom },\n\tstyles,\n\tview\n});\n","import theme from '../src/styles/theme/index.scss';\n\nconst themeStyles = document.createElement('style');\nthemeStyles.innerHTML = theme;\ndocument.head.appendChild(themeStyles);\n\nconst viewportMeta = document.createElement('meta');\nviewportMeta.name = 'viewport';\nviewportMeta.content = 'width=device-width, initial-scale=1, shrink-to-fit=no';\ndocument.head.appendChild(viewportMeta);\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-accordion.scss';\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst view = (state, { updateState, dispatch }) => {\n\tconst {\n\t\tclosedLabel,\n\t\texpanded,\n\t\texpandedLabel,\n\t\ttriggerIcon\n\t} = state.properties;\n\n\tconst setAccordionRef = ref =>\n\t\tsetTimeout(() => {\n\t\t\tref.addEventListener('animationend', () => {\n\t\t\t\tref.style.height = null;\n\t\t\t});\n\t\t\tupdateState({\n\t\t\t\taccordionRef: ref\n\t\t\t});\n\t\t});\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'dps-accordion': true,\n\t\t\t\texpanded: expanded\n\t\t\t}}\n\t\t>\n\t\t\t<div className=\"dps-accordion-button-container\">\n\t\t\t\t<button\n\t\t\t\t\tclassName=\"dps-button primary -md\"\n\t\t\t\t\tid=\"accordion-trigger\"\n\t\t\t\t\taria-controls=\"accordion-panel\"\n\t\t\t\t\taria-expanded={expanded}\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\tdispatch('DPS_ACCORDION#TOGGLE_PANEL', {});\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<span className=\"dps-button-label\">\n\t\t\t\t\t\t{expanded ? expandedLabel : closedLabel}\n\t\t\t\t\t</span>\n\t\t\t\t\t<now-icon icon={triggerIcon} size=\"md\" />\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclassName=\"dps-accordion-panel\"\n\t\t\t\tid=\"accordion-panel\"\n\t\t\t\taria-labelledby=\"accordion-trigger\"\n\t\t\t\thook-insert={({ elm }) => setAccordionRef(elm)}\n\t\t\t>\n\t\t\t\t<slot name=\"panel-content-5\"></slot>\n\t\t\t\t<slot name=\"panel-content-2\"></slot>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-accordion', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tinitialState: {\n\t\t/**\n\t\t * @type {{}}\n\t\t */\n\t\taccordionRef: {}\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Closed accordion panel label\n\t\t * @type {string}\n\t\t */\n\t\tclosedLabel: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Determines if accordion panel is expanded\n\t\t * @type {boolean}\n\t\t */\n\t\texpanded: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Expanded accordion panel label\n\t\t * @type {string}\n\t\t */\n\t\texpandedLabel: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Accordion icon\n\t\t * @type {string}\n\t\t */\n\t\ttriggerIcon: {\n\t\t\tdefault: 'chevron-down-fill'\n\t\t}\n\t},\n\tstyles,\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({ action, state, properties }) => {\n\t\t\tconst { expanded } = properties;\n\t\t\tconst { name } = action.payload;\n\t\t\tconst { accordionRef } = state;\n\n\t\t\tif (name === 'expanded') {\n\t\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\t\taccordionRef.style.height = `${accordionRef.scrollHeight}px`;\n\n\t\t\t\t\tif (expanded) {\n\t\t\t\t\t\taccordionRef.style.height = 'auto';\n\t\t\t\t\t} else {\n\t\t\t\t\t\taccordionRef.style.height = 0;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-accordion';\n\nexport default createCustomElement('dps-accordion-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-accordion></dps-accordion>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-ad-card';\n\nexport default createCustomElement('dps-ad-card-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-ad-card></dps-ad-card>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-alert';\nimport '../../src/components/dps-button';\nimport '../../src/components/dps-link';\n\nexport default createCustomElement('dps-alert-example', {\n\trenderer: { type: snabbdom },\n\tstyles: `\n\t\t:host {\n\t\t\tdisplay: block;\n\t\t\tpadding: 20px;\n\t\t}\n\t\tdps-alert {\n\t\t\tpadding-bottom: 20px;\n\t\t}\n\t`,\n\tview: () => (\n\t\t<div>\n\t\t\t<dps-alert\n\t\t\t\tdismiss-btn-label=\"Got it! Don’t show me this message again\"\n\t\t\t\tdismiss-btn-variant=\"secondary\"\n\t\t\t\tvariant=\"info\"\n\t\t\t\tdismiss\n\t\t\t>\n\t\t\t\t<span slot=\"description\">\n\t\t\t\t\t<p>A list of all resources available to you from a front and backend perspectiveA list of all resources available to you from a front and backend perspective</p>\n\t\t\t\t\t<p>A list of all resources available to you from a front and backend perspective</p>\n\t\t\t\t</span>\n\t\t\t\t<dps-button label=\"Switch documents to New York\" size=\"sm\" slot=\"action\">Switch documents to New York</dps-button>\n\t\t\t</dps-alert>\n\t\t\t<dps-alert\n\t\t\t\tdismiss-btn-variant=\"secondary\"\n\t\t\t\tvariant=\"error\"\n\t\t\t\tdismiss\n\t\t\t\tslot=\"true\"\n\t\t\t\ticon=\"triangle-exclamation-outline\"\n\t\t\t>\n\t\t\t\t<div slot=\"action\">\n\t\t\t\tSystem encountered a problem while waking up your development space. Retrying… If the error persists, <dps-link warning>retry</dps-link> manually or <dps-link warning>contact us</dps-link>\n\t\t\t\t</div>\n\t\t\t</dps-alert>\n\t\t</div>\n\t)\n});\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-alert-container.scss';\nimport '../dps-alert';\n\nconst view = state => {\n\tconst {variant} = state.properties;\n\n\treturn (\n\t\t<div class={{\n\t\t\t'dps-alert-container': true,\n\t\t\t[`-${variant}`]: variant\n\t\t}}>\n\t\t\t<dps-alert {...state.properties} full-width>\n\t\t\t\t<slot name=\"alert-description\" slot=\"description\"></slot>\n\t\t\t\t<slot name=\"alert-action\" slot=\"action\"></slot>\n\t\t\t</dps-alert>\n\t\t</div>\n\t);\n}\n\nexport default createCustomElement('dps-alert-container', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\tdismiss: {},\n\t\tvariant: {},\n\t\tdismissBtnLabel: {},\n\t\tdismissBtnVariant: {},\n\t\tisAlertOpen: {}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-alert-container';\n\nexport default createCustomElement('dps-alert-container-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-alert-container></dps-alert-container>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-badge';\n\nexport default createCustomElement('dps-badge-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<Fragment>\n\t\t\t<p>\n\t\t\t\t<dps-badge label=\"Primary badge\" variant=\"primary\"></dps-badge>\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t<dps-badge label=\"Secondary badge\" variant=\"secondary\"></dps-badge>\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t<dps-badge label=\"Tertiary badge\" variant=\"tertiary\"></dps-badge>\n\t\t\t</p>\n\t\t</Fragment>\n\t)\n});\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-banner.scss';\n\nconst view = state => {\n\tconst {icon, title, fullWidth} = state.properties;\n\n\treturn (\n\t\t<div class={{\n\t\t\t'dps-banner': true,\n\t\t\t'-full-width': fullWidth\n\n\t\t}}>\n\t\t\t{icon ? <now-icon icon={icon} size=\"md\"/> : null}\n\t\t\t{title ? <p className=\"dps-banner-title\">{title}</p> : null}\n\t\t\t<slot name=\"description\"></slot>\n\t\t\t<slot name=\"button\"></slot>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-banner', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\ttitle: {\n\t\t\tdefault: null\n\t\t},\n\t\tdescription: {\n\t\t\tdefault: null\n\t\t},\n\t\ticon: {\n\t\t\tdefault: null\n\t\t},\n\t\tfullWidth: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-banner';\n\nexport default createCustomElement('dps-banner-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-banner></dps-banner>\n\t)\n});\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-banner-container.scss';\nimport '../dps-banner';\n\nconst view = state => {\n\tconst {variant} = state.properties;\n\n\treturn (\n\t\t<div class={{\n\t\t\t'dps-banner-container': true,\n\t\t\t[`-${variant}`]: variant\n\t\t}}>\n\t\t\t<dps-banner {...state.properties} full-width>\n\t\t\t\t<slot name=\"banner-description\" slot=\"description\"></slot>\n\t\t\t</dps-banner>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-banner-container', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\tvariant: {}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-banner-container';\n\nexport default createCustomElement('dps-banner-container-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-banner-container></dps-banner-container>\n\t)\n});\n","/*!\n * Font Awesome Free 5.1.0 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\nvar noop = function noop() {};\n\nvar _WINDOW = {};\nvar _DOCUMENT = {};\nvar _MUTATION_OBSERVER$1 = null;\nvar _PERFORMANCE = { mark: noop, measure: noop };\n\ntry {\n  if (typeof window !== 'undefined') _WINDOW = window;\n  if (typeof document !== 'undefined') _DOCUMENT = document;\n  if (typeof MutationObserver !== 'undefined') _MUTATION_OBSERVER$1 = MutationObserver;\n  if (typeof performance !== 'undefined') _PERFORMANCE = performance;\n} catch (e) {}\n\nvar _ref = _WINDOW.navigator || {};\nvar _ref$userAgent = _ref.userAgent;\nvar userAgent = _ref$userAgent === undefined ? '' : _ref$userAgent;\n\nvar WINDOW = _WINDOW;\nvar DOCUMENT = _DOCUMENT;\nvar MUTATION_OBSERVER = _MUTATION_OBSERVER$1;\nvar PERFORMANCE = _PERFORMANCE;\n\nvar IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';\nvar IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\n\nvar NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\nvar UNITS_IN_GRID = 16;\nvar DEFAULT_FAMILY_PREFIX = 'fa';\nvar DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';\nvar DATA_FA_I2SVG = 'data-fa-i2svg';\nvar DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';\nvar DATA_PREFIX = 'data-prefix';\nvar DATA_ICON = 'data-icon';\nvar HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';\nvar TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];\nvar PRODUCTION = function () {\n  try {\n    return process.env.NODE_ENV === 'production';\n  } catch (e) {\n    return false;\n  }\n}();\n\nvar oneToTen = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\nvar oneToTwenty = oneToTen.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]);\n\nvar ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];\n\nvar RESERVED_CLASSES = ['xs', 'sm', 'lg', 'fw', 'ul', 'li', 'border', 'pull-left', 'pull-right', 'spin', 'pulse', 'rotate-90', 'rotate-180', 'rotate-270', 'flip-horizontal', 'flip-vertical', 'stack', 'stack-1x', 'stack-2x', 'inverse', 'layers', 'layers-text', 'layers-counter'].concat(oneToTen.map(function (n) {\n  return n + 'x';\n})).concat(oneToTwenty.map(function (n) {\n  return 'w-' + n;\n}));\n\nvar classCallCheck = function (instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n};\n\nvar createClass = function () {\n  function defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n      var descriptor = props[i];\n      descriptor.enumerable = descriptor.enumerable || false;\n      descriptor.configurable = true;\n      if (\"value\" in descriptor) descriptor.writable = true;\n      Object.defineProperty(target, descriptor.key, descriptor);\n    }\n  }\n\n  return function (Constructor, protoProps, staticProps) {\n    if (protoProps) defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) defineProperties(Constructor, staticProps);\n    return Constructor;\n  };\n}();\n\n\n\nvar _extends = Object.assign || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};\n\n\n\nvar slicedToArray = function () {\n  function sliceIterator(arr, i) {\n    var _arr = [];\n    var _n = true;\n    var _d = false;\n    var _e = undefined;\n\n    try {\n      for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n        _arr.push(_s.value);\n\n        if (i && _arr.length === i) break;\n      }\n    } catch (err) {\n      _d = true;\n      _e = err;\n    } finally {\n      try {\n        if (!_n && _i[\"return\"]) _i[\"return\"]();\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n\n    return _arr;\n  }\n\n  return function (arr, i) {\n    if (Array.isArray(arr)) {\n      return arr;\n    } else if (Symbol.iterator in Object(arr)) {\n      return sliceIterator(arr, i);\n    } else {\n      throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n    }\n  };\n}();\n\nvar toConsumableArray = function (arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n    return arr2;\n  } else {\n    return Array.from(arr);\n  }\n};\n\nvar initial = WINDOW.FontAwesomeConfig || {};\n\nfunction getAttrConfig(attr) {\n  var element = DOCUMENT.querySelector('script[' + attr + ']');\n\n  if (element) {\n    return element.getAttribute(attr);\n  }\n}\n\nfunction coerce(val) {\n  // Getting an empty string will occur if the attribute is set on the HTML tag but without a value\n  // We'll assume that this is an indication that it should be toggled to true\n  // For example <script data-search-pseudo-elements src=\"...\"></script>\n  if (val === '') return true;\n  if (val === 'false') return false;\n  if (val === 'true') return true;\n  return val;\n}\n\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n  var attrs = [['data-family-prefix', 'familyPrefix'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n\n  attrs.forEach(function (_ref) {\n    var _ref2 = slicedToArray(_ref, 2),\n        attr = _ref2[0],\n        key = _ref2[1];\n\n    var val = coerce(getAttrConfig(attr));\n\n    if (val !== undefined && val !== null) {\n      initial[key] = val;\n    }\n  });\n}\n\nvar _default = _extends({\n  familyPrefix: DEFAULT_FAMILY_PREFIX,\n  replacementClass: DEFAULT_REPLACEMENT_CLASS,\n  autoReplaceSvg: true,\n  autoAddCss: true,\n  autoA11y: true,\n  searchPseudoElements: false,\n  observeMutations: true,\n  keepOriginalSource: true,\n  measurePerformance: false,\n  showMissingIcons: true\n}, initial);\n\nif (!_default.autoReplaceSvg) _default.observeMutations = false;\n\nvar config = _extends({}, _default);\n\nWINDOW.FontAwesomeConfig = config;\n\nvar w = WINDOW || {};\n\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\n\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nvar functions = [];\nvar listener = function listener() {\n  DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n  loaded = 1;\n  functions.map(function (fn) {\n    return fn();\n  });\n};\n\nvar loaded = false;\n\nif (IS_DOM) {\n  loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n\n  if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\n\nvar domready = function (fn) {\n  if (!IS_DOM) return;\n  loaded ? setTimeout(fn, 0) : functions.push(fn);\n};\n\nvar d = UNITS_IN_GRID;\n\nvar meaninglessTransform = {\n  size: 16,\n  x: 0,\n  y: 0,\n  rotate: 0,\n  flipX: false,\n  flipY: false\n};\n\nfunction isReserved(name) {\n  return ~RESERVED_CLASSES.indexOf(name);\n}\n\n\n\nfunction insertCss(css) {\n  if (!css || !IS_DOM) {\n    return;\n  }\n\n  var style = DOCUMENT.createElement('style');\n  style.setAttribute('type', 'text/css');\n  style.innerHTML = css;\n\n  var headChildren = DOCUMENT.head.childNodes;\n  var beforeChild = null;\n\n  for (var i = headChildren.length - 1; i > -1; i--) {\n    var child = headChildren[i];\n    var tagName = (child.tagName || '').toUpperCase();\n    if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n      beforeChild = child;\n    }\n  }\n\n  DOCUMENT.head.insertBefore(style, beforeChild);\n\n  return css;\n}\n\nvar _uniqueId = 0;\n\nfunction nextUniqueId() {\n  _uniqueId++;\n\n  return _uniqueId;\n}\n\nfunction toArray(obj) {\n  var array = [];\n\n  for (var i = (obj || []).length >>> 0; i--;) {\n    array[i] = obj[i];\n  }\n\n  return array;\n}\n\nfunction classArray(node) {\n  if (node.classList) {\n    return toArray(node.classList);\n  } else {\n    return (node.getAttribute('class') || '').split(' ').filter(function (i) {\n      return i;\n    });\n  }\n}\n\nfunction getIconName(familyPrefix, cls) {\n  var parts = cls.split('-');\n  var prefix = parts[0];\n  var iconName = parts.slice(1).join('-');\n\n  if (prefix === familyPrefix && iconName !== '' && !isReserved(iconName)) {\n    return iconName;\n  } else {\n    return null;\n  }\n}\n\nfunction htmlEscape(str) {\n  return ('' + str).replace(/&/g, '&amp;').replace(/\"/g, '&quot;').replace(/'/g, '&#39;').replace(/</g, '&lt;').replace(/>/g, '&gt;');\n}\n\nfunction joinAttributes(attributes) {\n  return Object.keys(attributes || {}).reduce(function (acc, attributeName) {\n    return acc + (attributeName + '=\"' + htmlEscape(attributes[attributeName]) + '\" ');\n  }, '').trim();\n}\n\nfunction joinStyles(styles) {\n  return Object.keys(styles || {}).reduce(function (acc, styleName) {\n    return acc + (styleName + ': ' + styles[styleName] + ';');\n  }, '');\n}\n\nfunction transformIsMeaningful(transform) {\n  return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\n\nfunction transformForSvg(_ref) {\n  var transform = _ref.transform,\n      containerWidth = _ref.containerWidth,\n      iconWidth = _ref.iconWidth;\n\n  var outer = {\n    transform: 'translate(' + containerWidth / 2 + ' 256)'\n  };\n  var innerTranslate = 'translate(' + transform.x * 32 + ', ' + transform.y * 32 + ') ';\n  var innerScale = 'scale(' + transform.size / 16 * (transform.flipX ? -1 : 1) + ', ' + transform.size / 16 * (transform.flipY ? -1 : 1) + ') ';\n  var innerRotate = 'rotate(' + transform.rotate + ' 0 0)';\n  var inner = {\n    transform: innerTranslate + ' ' + innerScale + ' ' + innerRotate\n  };\n  var path = {\n    transform: 'translate(' + iconWidth / 2 * -1 + ' -256)'\n  };\n  return {\n    outer: outer,\n    inner: inner,\n    path: path\n  };\n}\n\nfunction transformForCss(_ref2) {\n  var transform = _ref2.transform,\n      _ref2$width = _ref2.width,\n      width = _ref2$width === undefined ? UNITS_IN_GRID : _ref2$width,\n      _ref2$height = _ref2.height,\n      height = _ref2$height === undefined ? UNITS_IN_GRID : _ref2$height,\n      _ref2$startCentered = _ref2.startCentered,\n      startCentered = _ref2$startCentered === undefined ? false : _ref2$startCentered;\n\n  var val = '';\n\n  if (startCentered && IS_IE) {\n    val += 'translate(' + (transform.x / d - width / 2) + 'em, ' + (transform.y / d - height / 2) + 'em) ';\n  } else if (startCentered) {\n    val += 'translate(calc(-50% + ' + transform.x / d + 'em), calc(-50% + ' + transform.y / d + 'em)) ';\n  } else {\n    val += 'translate(' + transform.x / d + 'em, ' + transform.y / d + 'em) ';\n  }\n\n  val += 'scale(' + transform.size / d * (transform.flipX ? -1 : 1) + ', ' + transform.size / d * (transform.flipY ? -1 : 1) + ') ';\n  val += 'rotate(' + transform.rotate + 'deg) ';\n\n  return val;\n}\n\nvar ALL_SPACE = {\n  x: 0,\n  y: 0,\n  width: '100%',\n  height: '100%'\n};\n\nvar makeIconMasking = function (_ref) {\n  var children = _ref.children,\n      attributes = _ref.attributes,\n      main = _ref.main,\n      mask = _ref.mask,\n      transform = _ref.transform;\n  var mainWidth = main.width,\n      mainPath = main.icon;\n  var maskWidth = mask.width,\n      maskPath = mask.icon;\n\n\n  var trans = transformForSvg({ transform: transform, containerWidth: maskWidth, iconWidth: mainWidth });\n\n  var maskRect = {\n    tag: 'rect',\n    attributes: _extends({}, ALL_SPACE, {\n      fill: 'white'\n    })\n  };\n  var maskInnerGroup = {\n    tag: 'g',\n    attributes: _extends({}, trans.inner),\n    children: [{ tag: 'path', attributes: _extends({}, mainPath.attributes, trans.path, { fill: 'black' }) }]\n  };\n  var maskOuterGroup = {\n    tag: 'g',\n    attributes: _extends({}, trans.outer),\n    children: [maskInnerGroup]\n  };\n  var maskId = 'mask-' + nextUniqueId();\n  var clipId = 'clip-' + nextUniqueId();\n  var maskTag = {\n    tag: 'mask',\n    attributes: _extends({}, ALL_SPACE, {\n      id: maskId,\n      maskUnits: 'userSpaceOnUse',\n      maskContentUnits: 'userSpaceOnUse'\n    }),\n    children: [maskRect, maskOuterGroup]\n  };\n  var defs = {\n    tag: 'defs',\n    children: [{ tag: 'clipPath', attributes: { id: clipId }, children: [maskPath] }, maskTag]\n  };\n\n  children.push(defs, { tag: 'rect', attributes: _extends({ fill: 'currentColor', 'clip-path': 'url(#' + clipId + ')', mask: 'url(#' + maskId + ')' }, ALL_SPACE) });\n\n  return {\n    children: children,\n    attributes: attributes\n  };\n};\n\nvar makeIconStandard = function (_ref) {\n  var children = _ref.children,\n      attributes = _ref.attributes,\n      main = _ref.main,\n      transform = _ref.transform,\n      styles = _ref.styles;\n\n  var styleString = joinStyles(styles);\n\n  if (styleString.length > 0) {\n    attributes['style'] = styleString;\n  }\n\n  if (transformIsMeaningful(transform)) {\n    var trans = transformForSvg({ transform: transform, containerWidth: main.width, iconWidth: main.width });\n    children.push({\n      tag: 'g',\n      attributes: _extends({}, trans.outer),\n      children: [{\n        tag: 'g',\n        attributes: _extends({}, trans.inner),\n        children: [{\n          tag: main.icon.tag,\n          children: main.icon.children,\n          attributes: _extends({}, main.icon.attributes, trans.path)\n        }]\n      }]\n    });\n  } else {\n    children.push(main.icon);\n  }\n\n  return {\n    children: children,\n    attributes: attributes\n  };\n};\n\nvar asIcon = function (_ref) {\n  var children = _ref.children,\n      main = _ref.main,\n      mask = _ref.mask,\n      attributes = _ref.attributes,\n      styles = _ref.styles,\n      transform = _ref.transform;\n\n  if (transformIsMeaningful(transform) && main.found && !mask.found) {\n    var width = main.width,\n        height = main.height;\n\n    var offset = {\n      x: width / height / 2,\n      y: 0.5\n    };\n    attributes['style'] = joinStyles(_extends({}, styles, {\n      'transform-origin': offset.x + transform.x / 16 + 'em ' + (offset.y + transform.y / 16) + 'em'\n    }));\n  }\n\n  return [{\n    tag: 'svg',\n    attributes: attributes,\n    children: children\n  }];\n};\n\nvar asSymbol = function (_ref) {\n  var prefix = _ref.prefix,\n      iconName = _ref.iconName,\n      children = _ref.children,\n      attributes = _ref.attributes,\n      symbol = _ref.symbol;\n\n  var id = symbol === true ? prefix + '-' + config.familyPrefix + '-' + iconName : symbol;\n\n  return [{\n    tag: 'svg',\n    attributes: {\n      style: 'display: none;'\n    },\n    children: [{\n      tag: 'symbol',\n      attributes: _extends({}, attributes, { id: id }),\n      children: children\n    }]\n  }];\n};\n\nfunction makeInlineSvgAbstract(params) {\n  var _params$icons = params.icons,\n      main = _params$icons.main,\n      mask = _params$icons.mask,\n      prefix = params.prefix,\n      iconName = params.iconName,\n      transform = params.transform,\n      symbol = params.symbol,\n      title = params.title,\n      extra = params.extra,\n      _params$watchable = params.watchable,\n      watchable = _params$watchable === undefined ? false : _params$watchable;\n\n  var _ref = mask.found ? mask : main,\n      width = _ref.width,\n      height = _ref.height;\n\n  var widthClass = 'fa-w-' + Math.ceil(width / height * 16);\n  var attrClass = [config.replacementClass, iconName ? config.familyPrefix + '-' + iconName : '', widthClass].filter(function (c) {\n    return extra.classes.indexOf(c) === -1;\n  }).concat(extra.classes).join(' ');\n\n  var content = {\n    children: [],\n    attributes: _extends({}, extra.attributes, {\n      'data-prefix': prefix,\n      'data-icon': iconName,\n      'class': attrClass,\n      'role': 'img',\n      'xmlns': 'http://www.w3.org/2000/svg',\n      'viewBox': '0 0 ' + width + ' ' + height\n    })\n  };\n\n  if (watchable) {\n    content.attributes[DATA_FA_I2SVG] = '';\n  }\n\n  if (title) content.children.push({ tag: 'title', attributes: { id: content.attributes['aria-labelledby'] || 'title-' + nextUniqueId() }, children: [title] });\n\n  var args = _extends({}, content, {\n    prefix: prefix,\n    iconName: iconName,\n    main: main,\n    mask: mask,\n    transform: transform,\n    symbol: symbol,\n    styles: extra.styles\n  });\n\n  var _ref2 = mask.found && main.found ? makeIconMasking(args) : makeIconStandard(args),\n      children = _ref2.children,\n      attributes = _ref2.attributes;\n\n  args.children = children;\n  args.attributes = attributes;\n\n  if (symbol) {\n    return asSymbol(args);\n  } else {\n    return asIcon(args);\n  }\n}\n\nfunction makeLayersTextAbstract(params) {\n  var content = params.content,\n      width = params.width,\n      height = params.height,\n      transform = params.transform,\n      title = params.title,\n      extra = params.extra,\n      _params$watchable2 = params.watchable,\n      watchable = _params$watchable2 === undefined ? false : _params$watchable2;\n\n\n  var attributes = _extends({}, extra.attributes, title ? { 'title': title } : {}, {\n    'class': extra.classes.join(' ')\n  });\n\n  if (watchable) {\n    attributes[DATA_FA_I2SVG] = '';\n  }\n\n  var styles = _extends({}, extra.styles);\n\n  if (transformIsMeaningful(transform)) {\n    styles['transform'] = transformForCss({ transform: transform, startCentered: true, width: width, height: height });\n    styles['-webkit-transform'] = styles['transform'];\n  }\n\n  var styleString = joinStyles(styles);\n\n  if (styleString.length > 0) {\n    attributes['style'] = styleString;\n  }\n\n  var val = [];\n\n  val.push({\n    tag: 'span',\n    attributes: attributes,\n    children: [content]\n  });\n\n  if (title) {\n    val.push({ tag: 'span', attributes: { class: 'sr-only' }, children: [title] });\n  }\n\n  return val;\n}\n\nfunction makeLayersCounterAbstract(params) {\n  var content = params.content,\n      title = params.title,\n      extra = params.extra;\n\n\n  var attributes = _extends({}, extra.attributes, title ? { 'title': title } : {}, {\n    'class': extra.classes.join(' ')\n  });\n\n  var styleString = joinStyles(extra.styles);\n\n  if (styleString.length > 0) {\n    attributes['style'] = styleString;\n  }\n\n  var val = [];\n\n  val.push({\n    tag: 'span',\n    attributes: attributes,\n    children: [content]\n  });\n\n  if (title) {\n    val.push({ tag: 'span', attributes: { class: 'sr-only' }, children: [title] });\n  }\n\n  return val;\n}\n\nvar noop$2 = function noop() {};\nvar p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : { mark: noop$2, measure: noop$2 };\nvar preamble = 'FA \"5.1.0\"';\n\nvar begin = function begin(name) {\n  p.mark(preamble + ' ' + name + ' begins');\n  return function () {\n    return end(name);\n  };\n};\n\nvar end = function end(name) {\n  p.mark(preamble + ' ' + name + ' ends');\n  p.measure(preamble + ' ' + name, preamble + ' ' + name + ' begins', preamble + ' ' + name + ' ends');\n};\n\nvar perf = { begin: begin, end: end };\n\n'use strict';\n\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\nvar bindInternal4 = function bindInternal4 (func, thisContext) {\n  return function (a, b, c, d) {\n    return func.call(thisContext, a, b, c, d);\n  };\n};\n\n'use strict';\n\n\n\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param  {Object}   subject      The object to reduce over.\n * @param  {Function} fn           The reducer function.\n * @param  {mixed}    initialValue The initial value for the reducer, defaults to subject[0].\n * @param  {Object}   thisContext  The context for the reducer.\n * @return {mixed}                 The final result.\n */\nvar reduce = function fastReduceObject (subject, fn, initialValue, thisContext) {\n  var keys = Object.keys(subject),\n      length = keys.length,\n      iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n      i, key, result;\n\n  if (initialValue === undefined) {\n    i = 1;\n    result = subject[keys[0]];\n  }\n  else {\n    i = 0;\n    result = initialValue;\n  }\n\n  for (; i < length; i++) {\n    key = keys[i];\n    result = iterator(result, subject[key], key, subject);\n  }\n\n  return result;\n};\n\nvar styles$2 = namespace.styles;\nvar shims = namespace.shims;\n\n\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\n\nvar build = function build() {\n  var lookup = function lookup(reducer) {\n    return reduce(styles$2, function (o, style, prefix) {\n      o[prefix] = reduce(style, reducer, {});\n      return o;\n    }, {});\n  };\n\n  _byUnicode = lookup(function (acc, icon, iconName) {\n    acc[icon[3]] = iconName;\n\n    return acc;\n  });\n\n  _byLigature = lookup(function (acc, icon, iconName) {\n    var ligatures = icon[2];\n\n    acc[iconName] = iconName;\n\n    ligatures.forEach(function (ligature) {\n      acc[ligature] = iconName;\n    });\n\n    return acc;\n  });\n\n  var hasRegular = 'far' in styles$2;\n\n  _byOldName = reduce(shims, function (acc, shim) {\n    var oldName = shim[0];\n    var prefix = shim[1];\n    var iconName = shim[2];\n\n    if (prefix === 'far' && !hasRegular) {\n      prefix = 'fas';\n    }\n\n    acc[oldName] = { prefix: prefix, iconName: iconName };\n\n    return acc;\n  }, {});\n};\n\nbuild();\n\nfunction byUnicode(prefix, unicode) {\n  return _byUnicode[prefix][unicode];\n}\n\nfunction byLigature(prefix, ligature) {\n  return _byLigature[prefix][ligature];\n}\n\nfunction byOldName(name) {\n  return _byOldName[name] || { prefix: null, iconName: null };\n}\n\nvar styles$1 = namespace.styles;\n\n\nvar emptyCanonicalIcon = function emptyCanonicalIcon() {\n  return { prefix: null, iconName: null, rest: [] };\n};\n\nfunction getCanonicalIcon(values) {\n  return values.reduce(function (acc, cls) {\n    var iconName = getIconName(config.familyPrefix, cls);\n\n    if (styles$1[cls]) {\n      acc.prefix = cls;\n    } else if (iconName) {\n      var shim = acc.prefix === 'fa' ? byOldName(iconName) : {};\n\n      acc.iconName = shim.iconName || iconName;\n      acc.prefix = shim.prefix || acc.prefix;\n    } else if (cls !== config.replacementClass && cls.indexOf('fa-w-') !== 0) {\n      acc.rest.push(cls);\n    }\n\n    return acc;\n  }, emptyCanonicalIcon());\n}\n\nfunction iconFromMapping(mapping, prefix, iconName) {\n  if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n    return {\n      prefix: prefix,\n      iconName: iconName,\n      icon: mapping[prefix][iconName]\n    };\n  }\n}\n\nfunction toHtml(abstractNodes) {\n  var tag = abstractNodes.tag,\n      _abstractNodes$attrib = abstractNodes.attributes,\n      attributes = _abstractNodes$attrib === undefined ? {} : _abstractNodes$attrib,\n      _abstractNodes$childr = abstractNodes.children,\n      children = _abstractNodes$childr === undefined ? [] : _abstractNodes$childr;\n\n\n  if (typeof abstractNodes === 'string') {\n    return htmlEscape(abstractNodes);\n  } else {\n    return '<' + tag + ' ' + joinAttributes(attributes) + '>' + children.map(toHtml).join('') + '</' + tag + '>';\n  }\n}\n\nvar noop$1 = function noop() {};\n\nfunction isWatched(node) {\n  var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n\n  return typeof i2svg === 'string';\n}\n\nfunction getMutator() {\n  if (config.autoReplaceSvg === true) {\n    return mutators.replace;\n  }\n\n  var mutator = mutators[config.autoReplaceSvg];\n\n  return mutator || mutators.replace;\n}\n\nvar mutators = {\n  replace: function replace(mutation) {\n    var node = mutation[0];\n    var abstract = mutation[1];\n    var newOuterHTML = abstract.map(function (a) {\n      return toHtml(a);\n    }).join('\\n');\n\n    if (node.parentNode && node.outerHTML) {\n      node.outerHTML = newOuterHTML + (config.keepOriginalSource && node.tagName.toLowerCase() !== 'svg' ? '<!-- ' + node.outerHTML + ' -->' : '');\n    } else if (node.parentNode) {\n      var newNode = document.createElement('span');\n      node.parentNode.replaceChild(newNode, node);\n      newNode.outerHTML = newOuterHTML;\n    }\n  },\n  nest: function nest(mutation) {\n    var node = mutation[0];\n    var abstract = mutation[1];\n\n    // If we already have a replaced node we do not want to continue nesting within it.\n    // Short-circuit to the standard replacement\n    if (~classArray(node).indexOf(config.replacementClass)) {\n      return mutators.replace(mutation);\n    }\n\n    var forSvg = new RegExp(config.familyPrefix + '-.*');\n\n    delete abstract[0].attributes.style;\n\n    var splitClasses = abstract[0].attributes.class.split(' ').reduce(function (acc, cls) {\n      if (cls === config.replacementClass || cls.match(forSvg)) {\n        acc.toSvg.push(cls);\n      } else {\n        acc.toNode.push(cls);\n      }\n\n      return acc;\n    }, { toNode: [], toSvg: [] });\n\n    abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n\n    var newInnerHTML = abstract.map(function (a) {\n      return toHtml(a);\n    }).join('\\n');\n    node.setAttribute('class', splitClasses.toNode.join(' '));\n    node.setAttribute(DATA_FA_I2SVG, '');\n    node.innerHTML = newInnerHTML;\n  }\n};\n\nfunction perform(mutations, callback) {\n  var callbackFunction = typeof callback === 'function' ? callback : noop$1;\n\n  if (mutations.length === 0) {\n    callbackFunction();\n  } else {\n    var frame = WINDOW.requestAnimationFrame || function (op) {\n      return op();\n    };\n\n    frame(function () {\n      var mutator = getMutator();\n      var mark = perf.begin('mutate');\n\n      mutations.map(mutator);\n\n      mark();\n\n      callbackFunction();\n    });\n  }\n}\n\nvar disabled = false;\n\nfunction disableObservation(operation) {\n  disabled = true;\n  operation();\n  disabled = false;\n}\n\nvar mo = null;\n\nfunction observe(options) {\n  if (!MUTATION_OBSERVER) {\n    return;\n  }\n\n  if (!config.observeMutations) {\n    return;\n  }\n\n  var treeCallback = options.treeCallback,\n      nodeCallback = options.nodeCallback,\n      pseudoElementsCallback = options.pseudoElementsCallback,\n      _options$observeMutat = options.observeMutationsRoot,\n      observeMutationsRoot = _options$observeMutat === undefined ? DOCUMENT.body : _options$observeMutat;\n\n\n  mo = new MUTATION_OBSERVER(function (objects) {\n    if (disabled) return;\n\n    toArray(objects).forEach(function (mutationRecord) {\n      if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n        if (config.searchPseudoElements) {\n          pseudoElementsCallback(mutationRecord.target);\n        }\n\n        treeCallback(mutationRecord.target);\n      }\n\n      if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n        pseudoElementsCallback(mutationRecord.target.parentNode);\n      }\n\n      if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n        if (mutationRecord.attributeName === 'class') {\n          var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),\n              prefix = _getCanonicalIcon.prefix,\n              iconName = _getCanonicalIcon.iconName;\n\n          if (prefix) mutationRecord.target.setAttribute('data-prefix', prefix);\n          if (iconName) mutationRecord.target.setAttribute('data-icon', iconName);\n        } else {\n          nodeCallback(mutationRecord.target);\n        }\n      }\n    });\n  });\n\n  if (!IS_DOM) return;\n\n  mo.observe(observeMutationsRoot, {\n    childList: true, attributes: true, characterData: true, subtree: true\n  });\n}\n\nfunction disconnect() {\n  if (!mo) return;\n\n  mo.disconnect();\n}\n\nvar styleParser = function (node) {\n  var style = node.getAttribute('style');\n\n  var val = [];\n\n  if (style) {\n    val = style.split(';').reduce(function (acc, style) {\n      var styles = style.split(':');\n      var prop = styles[0];\n      var value = styles.slice(1);\n\n      if (prop && value.length > 0) {\n        acc[prop] = value.join(':').trim();\n      }\n\n      return acc;\n    }, {});\n  }\n\n  return val;\n};\n\nfunction toHex(unicode) {\n  var result = '';\n\n  for (var i = 0; i < unicode.length; i++) {\n    var hex = unicode.charCodeAt(i).toString(16);\n    result += ('000' + hex).slice(-4);\n  }\n\n  return result;\n}\n\nvar classParser = function (node) {\n  var existingPrefix = node.getAttribute('data-prefix');\n  var existingIconName = node.getAttribute('data-icon');\n  var innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n\n  var val = getCanonicalIcon(classArray(node));\n\n  if (existingPrefix && existingIconName) {\n    val.prefix = existingPrefix;\n    val.iconName = existingIconName;\n  }\n\n  if (val.prefix && innerText.length > 1) {\n    val.iconName = byLigature(val.prefix, node.innerText);\n  } else if (val.prefix && innerText.length === 1) {\n    val.iconName = byUnicode(val.prefix, toHex(node.innerText));\n  }\n\n  return val;\n};\n\nvar parseTransformString = function parseTransformString(transformString) {\n  var transform = {\n    size: 16,\n    x: 0,\n    y: 0,\n    flipX: false,\n    flipY: false,\n    rotate: 0\n  };\n\n  if (!transformString) {\n    return transform;\n  } else {\n    return transformString.toLowerCase().split(' ').reduce(function (acc, n) {\n      var parts = n.toLowerCase().split('-');\n      var first = parts[0];\n      var rest = parts.slice(1).join('-');\n\n      if (first && rest === 'h') {\n        acc.flipX = true;\n        return acc;\n      }\n\n      if (first && rest === 'v') {\n        acc.flipY = true;\n        return acc;\n      }\n\n      rest = parseFloat(rest);\n\n      if (isNaN(rest)) {\n        return acc;\n      }\n\n      switch (first) {\n        case 'grow':\n          acc.size = acc.size + rest;\n          break;\n        case 'shrink':\n          acc.size = acc.size - rest;\n          break;\n        case 'left':\n          acc.x = acc.x - rest;\n          break;\n        case 'right':\n          acc.x = acc.x + rest;\n          break;\n        case 'up':\n          acc.y = acc.y - rest;\n          break;\n        case 'down':\n          acc.y = acc.y + rest;\n          break;\n        case 'rotate':\n          acc.rotate = acc.rotate + rest;\n          break;\n      }\n\n      return acc;\n    }, transform);\n  }\n};\n\nvar transformParser = function (node) {\n  return parseTransformString(node.getAttribute('data-fa-transform'));\n};\n\nvar symbolParser = function (node) {\n  var symbol = node.getAttribute('data-fa-symbol');\n\n  return symbol === null ? false : symbol === '' ? true : symbol;\n};\n\nvar attributesParser = function (node) {\n  var extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {\n    if (acc.name !== 'class' && acc.name !== 'style') {\n      acc[attr.name] = attr.value;\n    }\n    return acc;\n  }, {});\n\n  var title = node.getAttribute('title');\n\n  if (config.autoA11y) {\n    if (title) {\n      extraAttributes['aria-labelledby'] = config.replacementClass + '-title-' + nextUniqueId();\n    } else {\n      extraAttributes['aria-hidden'] = 'true';\n    }\n  }\n\n  return extraAttributes;\n};\n\nvar maskParser = function (node) {\n  var mask = node.getAttribute('data-fa-mask');\n\n  if (!mask) {\n    return emptyCanonicalIcon();\n  } else {\n    return getCanonicalIcon(mask.split(' ').map(function (i) {\n      return i.trim();\n    }));\n  }\n};\n\nvar blankMeta = {\n  iconName: null,\n  title: null,\n  prefix: null,\n  transform: meaninglessTransform,\n  symbol: false,\n  mask: null,\n  extra: { classes: [], styles: {}, attributes: {} }\n};\n\nfunction parseMeta(node) {\n  var _classParser = classParser(node),\n      iconName = _classParser.iconName,\n      prefix = _classParser.prefix,\n      extraClasses = _classParser.rest;\n\n  var extraStyles = styleParser(node);\n  var transform = transformParser(node);\n  var symbol = symbolParser(node);\n  var extraAttributes = attributesParser(node);\n  var mask = maskParser(node);\n\n  return {\n    iconName: iconName,\n    title: node.getAttribute('title'),\n    prefix: prefix,\n    transform: transform,\n    symbol: symbol,\n    mask: mask,\n    extra: {\n      classes: extraClasses,\n      styles: extraStyles,\n      attributes: extraAttributes\n    }\n  };\n}\n\nfunction MissingIcon(error) {\n  this.name = 'MissingIcon';\n  this.message = error || 'Icon unavailable';\n  this.stack = new Error().stack;\n}\n\nMissingIcon.prototype = Object.create(Error.prototype);\nMissingIcon.prototype.constructor = MissingIcon;\n\nvar FILL = { fill: 'currentColor' };\nvar ANIMATION_BASE = {\n  attributeType: 'XML',\n  repeatCount: 'indefinite',\n  dur: '2s'\n};\nvar RING = {\n  tag: 'path',\n  attributes: _extends({}, FILL, {\n    d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n  })\n};\nvar OPACITY_ANIMATE = _extends({}, ANIMATION_BASE, {\n  attributeName: 'opacity'\n});\nvar DOT = {\n  tag: 'circle',\n  attributes: _extends({}, FILL, {\n    cx: '256',\n    cy: '364',\n    r: '28'\n  }),\n  children: [{ tag: 'animate', attributes: _extends({}, ANIMATION_BASE, { attributeName: 'r', values: '28;14;28;28;14;28;' }) }, { tag: 'animate', attributes: _extends({}, OPACITY_ANIMATE, { values: '1;0;1;1;0;1;' }) }]\n};\nvar QUESTION = {\n  tag: 'path',\n  attributes: _extends({}, FILL, {\n    opacity: '1',\n    d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'\n  }),\n  children: [{ tag: 'animate', attributes: _extends({}, OPACITY_ANIMATE, { values: '1;0;0;0;0;1;' }) }]\n};\nvar EXCLAMATION = {\n  tag: 'path',\n  attributes: _extends({}, FILL, {\n    opacity: '0',\n    d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'\n  }),\n  children: [{ tag: 'animate', attributes: _extends({}, OPACITY_ANIMATE, { values: '0;0;1;1;0;0;' }) }]\n};\n\nvar missing = { tag: 'g', children: [RING, DOT, QUESTION, EXCLAMATION] };\n\nvar styles = namespace.styles;\n\nvar LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\nvar FONT_FAMILY_PATTERN = /Font Awesome 5 (Solid|Regular|Light|Brands|Free|Pro)/;\nvar STYLE_TO_PREFIX = {\n  'Solid': 'fas',\n  'Regular': 'far',\n  'Light': 'fal',\n  'Brands': 'fab'\n};\nvar FONT_WEIGHT_TO_PREFIX = {\n  '900': 'fas',\n  '400': 'far',\n  '300': 'fal'\n};\n\nfunction findIcon(iconName, prefix) {\n  var val = {\n    found: false,\n    width: 512,\n    height: 512,\n    icon: missing\n  };\n\n  if (iconName && prefix && styles[prefix] && styles[prefix][iconName]) {\n    var icon = styles[prefix][iconName];\n    var width = icon[0];\n    var height = icon[1];\n    var vectorData = icon.slice(4);\n\n    val = {\n      found: true,\n      width: width,\n      height: height,\n      icon: { tag: 'path', attributes: { fill: 'currentColor', d: vectorData[0] } }\n    };\n  } else if (iconName && prefix && !config.showMissingIcons) {\n    throw new MissingIcon('Icon is missing for prefix ' + prefix + ' with icon name ' + iconName);\n  }\n\n  return val;\n}\n\nfunction generateSvgReplacementMutation(node, nodeMeta) {\n  var iconName = nodeMeta.iconName,\n      title = nodeMeta.title,\n      prefix = nodeMeta.prefix,\n      transform = nodeMeta.transform,\n      symbol = nodeMeta.symbol,\n      mask = nodeMeta.mask,\n      extra = nodeMeta.extra;\n\n\n  return [node, makeInlineSvgAbstract({\n    icons: {\n      main: findIcon(iconName, prefix),\n      mask: findIcon(mask.iconName, mask.prefix)\n    },\n    prefix: prefix,\n    iconName: iconName,\n    transform: transform,\n    symbol: symbol,\n    mask: mask,\n    title: title,\n    extra: extra,\n    watchable: true\n  })];\n}\n\nfunction generateLayersText(node, nodeMeta) {\n  var title = nodeMeta.title,\n      transform = nodeMeta.transform,\n      extra = nodeMeta.extra;\n\n\n  var width = null;\n  var height = null;\n\n  if (IS_IE) {\n    var computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n    var boundingClientRect = node.getBoundingClientRect();\n    width = boundingClientRect.width / computedFontSize;\n    height = boundingClientRect.height / computedFontSize;\n  }\n\n  if (config.autoA11y && !title) {\n    extra.attributes['aria-hidden'] = 'true';\n  }\n\n  return [node, makeLayersTextAbstract({\n    content: node.innerHTML,\n    width: width,\n    height: height,\n    transform: transform,\n    title: title,\n    extra: extra,\n    watchable: true\n  })];\n}\n\nfunction generateMutation(node) {\n  var nodeMeta = parseMeta(node);\n\n  if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n    return generateLayersText(node, nodeMeta);\n  } else {\n    return generateSvgReplacementMutation(node, nodeMeta);\n  }\n}\n\nfunction searchPseudoElements(root) {\n  if (!IS_DOM) return;\n\n  var end = perf.begin('searchPseudoElements');\n\n  disableObservation(function () {\n    toArray(root.querySelectorAll('*')).filter(function (n) {\n      return n.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(n.tagName.toUpperCase()) && !n.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!n.parentNode || n.parentNode.tagName !== 'svg');\n    }).forEach(function (node) {\n      [':before', ':after'].forEach(function (pos) {\n        var children = toArray(node.children);\n        var alreadyProcessedPseudoElement = children.filter(function (c) {\n          return c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === pos;\n        })[0];\n\n        var styles = WINDOW.getComputedStyle(node, pos);\n        var fontFamily = styles.getPropertyValue('font-family').match(FONT_FAMILY_PATTERN);\n        var fontWeight = styles.getPropertyValue('font-weight');\n\n        if (alreadyProcessedPseudoElement && !fontFamily) {\n          // If we've already processed it but the current computed style does not result in a font-family,\n          // that probably means that a class name that was previously present to make the icon has been\n          // removed. So we now should delete the icon.\n          node.removeChild(alreadyProcessedPseudoElement);\n        } else if (fontFamily) {\n          var content = styles.getPropertyValue('content');\n          var prefix = ~['Light', 'Regular', 'Solid'].indexOf(fontFamily[1]) ? STYLE_TO_PREFIX[fontFamily[1]] : FONT_WEIGHT_TO_PREFIX[fontWeight];\n          var iconName = byUnicode(prefix, toHex(content.length === 3 ? content.substr(1, 1) : content));\n          // Only convert the pseudo element in this :before/:after position into an icon if we haven't\n          // already done so with the same prefix and iconName\n          if (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconName) {\n            if (alreadyProcessedPseudoElement) {\n              // Delete the old one, since we're replacing it with a new one\n              node.removeChild(alreadyProcessedPseudoElement);\n            }\n\n            var extra = blankMeta.extra;\n\n            extra.attributes[DATA_FA_PSEUDO_ELEMENT] = pos;\n            var abstract = makeInlineSvgAbstract(_extends({}, blankMeta, {\n              icons: {\n                main: findIcon(iconName, prefix),\n                mask: emptyCanonicalIcon()\n              },\n              prefix: prefix,\n              iconName: iconName,\n              extra: extra,\n              watchable: true\n            }));\n\n            var element = DOCUMENT.createElement('svg');\n\n            if (pos === ':before') {\n              node.insertBefore(element, node.firstChild);\n            } else {\n              node.appendChild(element);\n            }\n\n            element.outerHTML = abstract.map(function (a) {\n              return toHtml(a);\n            }).join('\\n');\n          }\n        }\n      });\n    });\n  });\n\n  end();\n}\n\nfunction onTree(root) {\n  var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n  if (!IS_DOM) return;\n\n  var htmlClassList = DOCUMENT.documentElement.classList;\n  var hclAdd = function hclAdd(suffix) {\n    return htmlClassList.add(HTML_CLASS_I2SVG_BASE_CLASS + '-' + suffix);\n  };\n  var hclRemove = function hclRemove(suffix) {\n    return htmlClassList.remove(HTML_CLASS_I2SVG_BASE_CLASS + '-' + suffix);\n  };\n  var prefixes = Object.keys(styles);\n  var prefixesDomQuery = ['.' + LAYERS_TEXT_CLASSNAME + ':not([' + DATA_FA_I2SVG + '])'].concat(prefixes.map(function (p) {\n    return '.' + p + ':not([' + DATA_FA_I2SVG + '])';\n  })).join(', ');\n\n  if (prefixesDomQuery.length === 0) {\n    return;\n  }\n\n  var candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n\n  if (candidates.length > 0) {\n    hclAdd('pending');\n    hclRemove('complete');\n  } else {\n    return;\n  }\n\n  var mark = perf.begin('onTree');\n\n  var mutations = candidates.reduce(function (acc, node) {\n    try {\n      var mutation = generateMutation(node);\n\n      if (mutation) {\n        acc.push(mutation);\n      }\n    } catch (e) {\n      if (!PRODUCTION) {\n        if (e instanceof MissingIcon) {\n          console.error(e);\n        }\n      }\n    }\n\n    return acc;\n  }, []);\n\n  mark();\n\n  perform(mutations, function () {\n    hclAdd('active');\n    hclAdd('complete');\n    hclRemove('pending');\n\n    if (typeof callback === 'function') callback();\n  });\n}\n\nfunction onNode(node) {\n  var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n  var mutation = generateMutation(node);\n\n  if (mutation) {\n    perform([mutation], callback);\n  }\n}\n\nvar baseStyles = \"svg:not(:root).svg-inline--fa {\\n  overflow: visible; }\\n\\n.svg-inline--fa {\\n  display: inline-block;\\n  font-size: inherit;\\n  height: 1em;\\n  overflow: visible;\\n  vertical-align: -.125em; }\\n  .svg-inline--fa.fa-lg {\\n    vertical-align: -.225em; }\\n  .svg-inline--fa.fa-w-1 {\\n    width: 0.0625em; }\\n  .svg-inline--fa.fa-w-2 {\\n    width: 0.125em; }\\n  .svg-inline--fa.fa-w-3 {\\n    width: 0.1875em; }\\n  .svg-inline--fa.fa-w-4 {\\n    width: 0.25em; }\\n  .svg-inline--fa.fa-w-5 {\\n    width: 0.3125em; }\\n  .svg-inline--fa.fa-w-6 {\\n    width: 0.375em; }\\n  .svg-inline--fa.fa-w-7 {\\n    width: 0.4375em; }\\n  .svg-inline--fa.fa-w-8 {\\n    width: 0.5em; }\\n  .svg-inline--fa.fa-w-9 {\\n    width: 0.5625em; }\\n  .svg-inline--fa.fa-w-10 {\\n    width: 0.625em; }\\n  .svg-inline--fa.fa-w-11 {\\n    width: 0.6875em; }\\n  .svg-inline--fa.fa-w-12 {\\n    width: 0.75em; }\\n  .svg-inline--fa.fa-w-13 {\\n    width: 0.8125em; }\\n  .svg-inline--fa.fa-w-14 {\\n    width: 0.875em; }\\n  .svg-inline--fa.fa-w-15 {\\n    width: 0.9375em; }\\n  .svg-inline--fa.fa-w-16 {\\n    width: 1em; }\\n  .svg-inline--fa.fa-w-17 {\\n    width: 1.0625em; }\\n  .svg-inline--fa.fa-w-18 {\\n    width: 1.125em; }\\n  .svg-inline--fa.fa-w-19 {\\n    width: 1.1875em; }\\n  .svg-inline--fa.fa-w-20 {\\n    width: 1.25em; }\\n  .svg-inline--fa.fa-pull-left {\\n    margin-right: .3em;\\n    width: auto; }\\n  .svg-inline--fa.fa-pull-right {\\n    margin-left: .3em;\\n    width: auto; }\\n  .svg-inline--fa.fa-border {\\n    height: 1.5em; }\\n  .svg-inline--fa.fa-li {\\n    width: 2em; }\\n  .svg-inline--fa.fa-fw {\\n    width: 1.25em; }\\n\\n.fa-layers svg.svg-inline--fa {\\n  bottom: 0;\\n  left: 0;\\n  margin: auto;\\n  position: absolute;\\n  right: 0;\\n  top: 0; }\\n\\n.fa-layers {\\n  display: inline-block;\\n  height: 1em;\\n  position: relative;\\n  text-align: center;\\n  vertical-align: -.125em;\\n  width: 1em; }\\n  .fa-layers svg.svg-inline--fa {\\n    -webkit-transform-origin: center center;\\n            transform-origin: center center; }\\n\\n.fa-layers-text, .fa-layers-counter {\\n  display: inline-block;\\n  position: absolute;\\n  text-align: center; }\\n\\n.fa-layers-text {\\n  left: 50%;\\n  top: 50%;\\n  -webkit-transform: translate(-50%, -50%);\\n          transform: translate(-50%, -50%);\\n  -webkit-transform-origin: center center;\\n          transform-origin: center center; }\\n\\n.fa-layers-counter {\\n  background-color: #ff253a;\\n  border-radius: 1em;\\n  -webkit-box-sizing: border-box;\\n          box-sizing: border-box;\\n  color: #fff;\\n  height: 1.5em;\\n  line-height: 1;\\n  max-width: 5em;\\n  min-width: 1.5em;\\n  overflow: hidden;\\n  padding: .25em;\\n  right: 0;\\n  text-overflow: ellipsis;\\n  top: 0;\\n  -webkit-transform: scale(0.25);\\n          transform: scale(0.25);\\n  -webkit-transform-origin: top right;\\n          transform-origin: top right; }\\n\\n.fa-layers-bottom-right {\\n  bottom: 0;\\n  right: 0;\\n  top: auto;\\n  -webkit-transform: scale(0.25);\\n          transform: scale(0.25);\\n  -webkit-transform-origin: bottom right;\\n          transform-origin: bottom right; }\\n\\n.fa-layers-bottom-left {\\n  bottom: 0;\\n  left: 0;\\n  right: auto;\\n  top: auto;\\n  -webkit-transform: scale(0.25);\\n          transform: scale(0.25);\\n  -webkit-transform-origin: bottom left;\\n          transform-origin: bottom left; }\\n\\n.fa-layers-top-right {\\n  right: 0;\\n  top: 0;\\n  -webkit-transform: scale(0.25);\\n          transform: scale(0.25);\\n  -webkit-transform-origin: top right;\\n          transform-origin: top right; }\\n\\n.fa-layers-top-left {\\n  left: 0;\\n  right: auto;\\n  top: 0;\\n  -webkit-transform: scale(0.25);\\n          transform: scale(0.25);\\n  -webkit-transform-origin: top left;\\n          transform-origin: top left; }\\n\\n.fa-lg {\\n  font-size: 1.33333em;\\n  line-height: 0.75em;\\n  vertical-align: -.0667em; }\\n\\n.fa-xs {\\n  font-size: .75em; }\\n\\n.fa-sm {\\n  font-size: .875em; }\\n\\n.fa-1x {\\n  font-size: 1em; }\\n\\n.fa-2x {\\n  font-size: 2em; }\\n\\n.fa-3x {\\n  font-size: 3em; }\\n\\n.fa-4x {\\n  font-size: 4em; }\\n\\n.fa-5x {\\n  font-size: 5em; }\\n\\n.fa-6x {\\n  font-size: 6em; }\\n\\n.fa-7x {\\n  font-size: 7em; }\\n\\n.fa-8x {\\n  font-size: 8em; }\\n\\n.fa-9x {\\n  font-size: 9em; }\\n\\n.fa-10x {\\n  font-size: 10em; }\\n\\n.fa-fw {\\n  text-align: center;\\n  width: 1.25em; }\\n\\n.fa-ul {\\n  list-style-type: none;\\n  margin-left: 2.5em;\\n  padding-left: 0; }\\n  .fa-ul > li {\\n    position: relative; }\\n\\n.fa-li {\\n  left: -2em;\\n  position: absolute;\\n  text-align: center;\\n  width: 2em;\\n  line-height: inherit; }\\n\\n.fa-border {\\n  border: solid 0.08em #eee;\\n  border-radius: .1em;\\n  padding: .2em .25em .15em; }\\n\\n.fa-pull-left {\\n  float: left; }\\n\\n.fa-pull-right {\\n  float: right; }\\n\\n.fa.fa-pull-left,\\n.fas.fa-pull-left,\\n.far.fa-pull-left,\\n.fal.fa-pull-left,\\n.fab.fa-pull-left {\\n  margin-right: .3em; }\\n\\n.fa.fa-pull-right,\\n.fas.fa-pull-right,\\n.far.fa-pull-right,\\n.fal.fa-pull-right,\\n.fab.fa-pull-right {\\n  margin-left: .3em; }\\n\\n.fa-spin {\\n  -webkit-animation: fa-spin 2s infinite linear;\\n          animation: fa-spin 2s infinite linear; }\\n\\n.fa-pulse {\\n  -webkit-animation: fa-spin 1s infinite steps(8);\\n          animation: fa-spin 1s infinite steps(8); }\\n\\n@-webkit-keyframes fa-spin {\\n  0% {\\n    -webkit-transform: rotate(0deg);\\n            transform: rotate(0deg); }\\n  100% {\\n    -webkit-transform: rotate(360deg);\\n            transform: rotate(360deg); } }\\n\\n@keyframes fa-spin {\\n  0% {\\n    -webkit-transform: rotate(0deg);\\n            transform: rotate(0deg); }\\n  100% {\\n    -webkit-transform: rotate(360deg);\\n            transform: rotate(360deg); } }\\n\\n.fa-rotate-90 {\\n  -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";\\n  -webkit-transform: rotate(90deg);\\n          transform: rotate(90deg); }\\n\\n.fa-rotate-180 {\\n  -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";\\n  -webkit-transform: rotate(180deg);\\n          transform: rotate(180deg); }\\n\\n.fa-rotate-270 {\\n  -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";\\n  -webkit-transform: rotate(270deg);\\n          transform: rotate(270deg); }\\n\\n.fa-flip-horizontal {\\n  -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";\\n  -webkit-transform: scale(-1, 1);\\n          transform: scale(-1, 1); }\\n\\n.fa-flip-vertical {\\n  -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n  -webkit-transform: scale(1, -1);\\n          transform: scale(1, -1); }\\n\\n.fa-flip-horizontal.fa-flip-vertical {\\n  -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n  -webkit-transform: scale(-1, -1);\\n          transform: scale(-1, -1); }\\n\\n:root .fa-rotate-90,\\n:root .fa-rotate-180,\\n:root .fa-rotate-270,\\n:root .fa-flip-horizontal,\\n:root .fa-flip-vertical {\\n  -webkit-filter: none;\\n          filter: none; }\\n\\n.fa-stack {\\n  display: inline-block;\\n  height: 2em;\\n  position: relative;\\n  width: 2em; }\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n  bottom: 0;\\n  left: 0;\\n  margin: auto;\\n  position: absolute;\\n  right: 0;\\n  top: 0; }\\n\\n.svg-inline--fa.fa-stack-1x {\\n  height: 1em;\\n  width: 1em; }\\n\\n.svg-inline--fa.fa-stack-2x {\\n  height: 2em;\\n  width: 2em; }\\n\\n.fa-inverse {\\n  color: #fff; }\\n\\n.sr-only {\\n  border: 0;\\n  clip: rect(0, 0, 0, 0);\\n  height: 1px;\\n  margin: -1px;\\n  overflow: hidden;\\n  padding: 0;\\n  position: absolute;\\n  width: 1px; }\\n\\n.sr-only-focusable:active, .sr-only-focusable:focus {\\n  clip: auto;\\n  height: auto;\\n  margin: 0;\\n  overflow: visible;\\n  position: static;\\n  width: auto; }\\n\";\n\nvar css = function () {\n  var dfp = DEFAULT_FAMILY_PREFIX;\n  var drc = DEFAULT_REPLACEMENT_CLASS;\n  var fp = config.familyPrefix;\n  var rc = config.replacementClass;\n  var s = baseStyles;\n\n  if (fp !== dfp || rc !== drc) {\n    var dPatt = new RegExp('\\\\.' + dfp + '\\\\-', 'g');\n    var rPatt = new RegExp('\\\\.' + drc, 'g');\n\n    s = s.replace(dPatt, '.' + fp + '-').replace(rPatt, '.' + rc);\n  }\n\n  return s;\n};\n\nfunction define(prefix, icons) {\n  var normalized = Object.keys(icons).reduce(function (acc, iconName) {\n    var icon = icons[iconName];\n    var expanded = !!icon.icon;\n\n    if (expanded) {\n      acc[icon.iconName] = icon.icon;\n    } else {\n      acc[iconName] = icon;\n    }\n    return acc;\n  }, {});\n\n  if (typeof namespace.hooks.addPack === 'function') {\n    namespace.hooks.addPack(prefix, normalized);\n  } else {\n    namespace.styles[prefix] = _extends({}, namespace.styles[prefix] || {}, normalized);\n  }\n\n  /**\n   * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n   * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n   * for `fas` so we'll easy the upgrade process for our users by automatically defining\n   * this as well.\n   */\n  if (prefix === 'fas') {\n    define('fa', icons);\n  }\n}\n\nvar Library = function () {\n  function Library() {\n    classCallCheck(this, Library);\n\n    this.definitions = {};\n  }\n\n  createClass(Library, [{\n    key: 'add',\n    value: function add() {\n      var _this = this;\n\n      for (var _len = arguments.length, definitions = Array(_len), _key = 0; _key < _len; _key++) {\n        definitions[_key] = arguments[_key];\n      }\n\n      var additions = definitions.reduce(this._pullDefinitions, {});\n\n      Object.keys(additions).forEach(function (key) {\n        _this.definitions[key] = _extends({}, _this.definitions[key] || {}, additions[key]);\n        define(key, additions[key]);\n      });\n    }\n  }, {\n    key: 'reset',\n    value: function reset() {\n      this.definitions = {};\n    }\n  }, {\n    key: '_pullDefinitions',\n    value: function _pullDefinitions(additions, definition) {\n      var normalized = definition.prefix && definition.iconName && definition.icon ? { 0: definition } : definition;\n\n      Object.keys(normalized).map(function (key) {\n        var _normalized$key = normalized[key],\n            prefix = _normalized$key.prefix,\n            iconName = _normalized$key.iconName,\n            icon = _normalized$key.icon;\n\n\n        if (!additions[prefix]) additions[prefix] = {};\n\n        additions[prefix][iconName] = icon;\n      });\n\n      return additions;\n    }\n  }]);\n  return Library;\n}();\n\nfunction prepIcon(icon) {\n  var width = icon[0];\n  var height = icon[1];\n  var vectorData = icon.slice(4);\n\n  return {\n    found: true,\n    width: width,\n    height: height,\n    icon: { tag: 'path', attributes: { fill: 'currentColor', d: vectorData[0] } }\n  };\n}\n\nfunction ensureCss() {\n  if (config.autoAddCss && !_cssInserted) {\n    insertCss(css());\n    _cssInserted = true;\n  }\n}\n\nfunction apiObject(val, abstractCreator) {\n  Object.defineProperty(val, 'abstract', {\n    get: abstractCreator\n  });\n\n  Object.defineProperty(val, 'html', {\n    get: function get() {\n      return val.abstract.map(function (a) {\n        return toHtml(a);\n      });\n    }\n  });\n\n  Object.defineProperty(val, 'node', {\n    get: function get() {\n      if (!IS_DOM) return;\n\n      var container = DOCUMENT.createElement('div');\n      container.innerHTML = val.html;\n      return container.children;\n    }\n  });\n\n  return val;\n}\n\nfunction findIconDefinition(params) {\n  var _params$prefix = params.prefix,\n      prefix = _params$prefix === undefined ? 'fa' : _params$prefix,\n      iconName = params.iconName;\n\n\n  if (!iconName) return;\n\n  return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\n\nfunction resolveIcons(next) {\n  return function (maybeIconDefinition) {\n    var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n    var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n\n    var mask = params.mask;\n\n\n    if (mask) {\n      mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n    }\n\n    return next(iconDefinition, _extends({}, params, { mask: mask }));\n  };\n}\n\nvar library = new Library();\n\nvar noAuto = function noAuto() {\n  config.autoReplaceSvg = false;\n  config.observeMutations = false;\n\n  disconnect();\n};\n\nvar _cssInserted = false;\n\nvar dom = {\n  i2svg: function i2svg() {\n    var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n    if (IS_DOM) {\n      ensureCss();\n\n      var _params$node = params.node,\n          node = _params$node === undefined ? DOCUMENT : _params$node,\n          _params$callback = params.callback,\n          callback = _params$callback === undefined ? function () {} : _params$callback;\n\n\n      if (config.searchPseudoElements) {\n        searchPseudoElements(node);\n      }\n\n      onTree(node, callback);\n    }\n  },\n\n  css: css,\n\n  insertCss: function insertCss$$1() {\n    if (!_cssInserted) {\n      insertCss(css());\n      _cssInserted = true;\n    }\n  },\n\n  watch: function watch() {\n    var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    var autoReplaceSvgRoot = params.autoReplaceSvgRoot,\n        observeMutationsRoot = params.observeMutationsRoot;\n\n\n    if (config.autoReplaceSvg === false) {\n      config.autoReplaceSvg = true;\n    }\n\n    config.observeMutations = true;\n\n    domready(function () {\n      autoReplace({\n        autoReplaceSvgRoot: autoReplaceSvgRoot\n      });\n\n      observe({\n        treeCallback: onTree,\n        nodeCallback: onNode,\n        pseudoElementsCallback: searchPseudoElements,\n        observeMutationsRoot: observeMutationsRoot\n      });\n    });\n  }\n};\n\nvar parse = {\n  transform: function transform(transformString) {\n    return parseTransformString(transformString);\n  }\n};\n\nvar icon = resolveIcons(function (iconDefinition) {\n  var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  var _params$transform = params.transform,\n      transform = _params$transform === undefined ? meaninglessTransform : _params$transform,\n      _params$symbol = params.symbol,\n      symbol = _params$symbol === undefined ? false : _params$symbol,\n      _params$mask = params.mask,\n      mask = _params$mask === undefined ? null : _params$mask,\n      _params$title = params.title,\n      title = _params$title === undefined ? null : _params$title,\n      _params$classes = params.classes,\n      classes = _params$classes === undefined ? [] : _params$classes,\n      _params$attributes = params.attributes,\n      attributes = _params$attributes === undefined ? {} : _params$attributes,\n      _params$styles = params.styles,\n      styles = _params$styles === undefined ? {} : _params$styles;\n\n\n  if (!iconDefinition) return;\n\n  var prefix = iconDefinition.prefix,\n      iconName = iconDefinition.iconName,\n      icon = iconDefinition.icon;\n\n\n  return apiObject(_extends({ type: 'icon' }, iconDefinition), function () {\n    ensureCss();\n\n    if (config.autoA11y) {\n      if (title) {\n        attributes['aria-labelledby'] = config.replacementClass + '-title-' + nextUniqueId();\n      } else {\n        attributes['aria-hidden'] = 'true';\n      }\n    }\n\n    return makeInlineSvgAbstract({\n      icons: {\n        main: prepIcon(icon),\n        mask: mask ? prepIcon(mask.icon) : { found: false, width: null, height: null, icon: {} }\n      },\n      prefix: prefix,\n      iconName: iconName,\n      transform: _extends({}, meaninglessTransform, transform),\n      symbol: symbol,\n      title: title,\n      extra: {\n        attributes: attributes,\n        styles: styles,\n        classes: classes\n      }\n    });\n  });\n});\n\nvar text = function text(content) {\n  var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  var _params$transform2 = params.transform,\n      transform = _params$transform2 === undefined ? meaninglessTransform : _params$transform2,\n      _params$title2 = params.title,\n      title = _params$title2 === undefined ? null : _params$title2,\n      _params$classes2 = params.classes,\n      classes = _params$classes2 === undefined ? [] : _params$classes2,\n      _params$attributes2 = params.attributes,\n      attributes = _params$attributes2 === undefined ? {} : _params$attributes2,\n      _params$styles2 = params.styles,\n      styles = _params$styles2 === undefined ? {} : _params$styles2;\n\n\n  return apiObject({ type: 'text', content: content }, function () {\n    ensureCss();\n\n    return makeLayersTextAbstract({\n      content: content,\n      transform: _extends({}, meaninglessTransform, transform),\n      title: title,\n      extra: {\n        attributes: attributes,\n        styles: styles,\n        classes: [config.familyPrefix + '-layers-text'].concat(toConsumableArray(classes))\n      }\n    });\n  });\n};\n\nvar counter = function counter(content) {\n  var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  var _params$title3 = params.title,\n      title = _params$title3 === undefined ? null : _params$title3,\n      _params$classes3 = params.classes,\n      classes = _params$classes3 === undefined ? [] : _params$classes3,\n      _params$attributes3 = params.attributes,\n      attributes = _params$attributes3 === undefined ? {} : _params$attributes3,\n      _params$styles3 = params.styles,\n      styles = _params$styles3 === undefined ? {} : _params$styles3;\n\n\n  return apiObject({ type: 'counter', content: content }, function () {\n    ensureCss();\n\n    return makeLayersCounterAbstract({\n      content: content.toString(),\n      title: title,\n      extra: {\n        attributes: attributes,\n        styles: styles,\n        classes: [config.familyPrefix + '-layers-counter'].concat(toConsumableArray(classes))\n      }\n    });\n  });\n};\n\nvar layer = function layer(assembler) {\n  return apiObject({ type: 'layer' }, function () {\n    ensureCss();\n\n    var children = [];\n\n    assembler(function (args) {\n      Array.isArray(args) ? args.map(function (a) {\n        children = children.concat(a.abstract);\n      }) : children = children.concat(args.abstract);\n    });\n\n    return [{\n      tag: 'span',\n      attributes: { class: config.familyPrefix + '-layers' },\n      children: children\n    }];\n  });\n};\n\nvar api = {\n  noAuto: noAuto,\n  config: config,\n  dom: dom,\n  library: library,\n  parse: parse,\n  findIconDefinition: findIconDefinition,\n  icon: icon,\n  text: text,\n  counter: counter,\n  layer: layer,\n  toHtml: toHtml\n};\n\nvar autoReplace = function autoReplace() {\n  var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n  var _params$autoReplaceSv = params.autoReplaceSvgRoot,\n      autoReplaceSvgRoot = _params$autoReplaceSv === undefined ? DOCUMENT : _params$autoReplaceSv;\n\n\n  if (Object.keys(namespace.styles).length > 0 && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({ node: autoReplaceSvgRoot });\n};\n\nexport { icon, noAuto, config, toHtml, layer, text, counter, library, dom, parse, findIconDefinition };\n","/* eslint-disable */\n/*!\n * Font Awesome Free 5.0.8 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\nvar _WINDOW = {};\ntry {\n\tif (typeof window !== 'undefined') _WINDOW = window;\n} catch (e) {}\n\nvar _ref = _WINDOW.navigator || {};\nvar _ref$userAgent = _ref.userAgent;\nvar userAgent = _ref$userAgent === undefined ? '' : _ref$userAgent;\n\nvar WINDOW = _WINDOW;\n\nvar IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\n\nvar NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\n\nvar PRODUCTION = (function () {\n\ttry {\n\t\treturn process.env.NODE_ENV === 'production';\n\t} catch (e) {\n\t\treturn false;\n\t}\n})();\n\nvar oneToTen = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\nvar oneToTwenty = oneToTen.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]);\n\nvar RESERVED_CLASSES = [\n\t'xs',\n\t'sm',\n\t'lg',\n\t'fw',\n\t'ul',\n\t'li',\n\t'border',\n\t'pull-left',\n\t'pull-right',\n\t'spin',\n\t'pulse',\n\t'rotate-90',\n\t'rotate-180',\n\t'rotate-270',\n\t'flip-horizontal',\n\t'flip-vertical',\n\t'stack',\n\t'stack-1x',\n\t'stack-2x',\n\t'inverse',\n\t'layers',\n\t'layers-text',\n\t'layers-counter',\n]\n\t.concat(\n\t\toneToTen.map(function (n) {\n\t\t\treturn n + 'x';\n\t\t}),\n\t)\n\t.concat(\n\t\toneToTwenty.map(function (n) {\n\t\t\treturn 'w-' + n;\n\t\t}),\n\t);\n\nfunction bunker(fn) {\n\ttry {\n\t\tfn();\n\t} catch (e) {\n\t\tif (!PRODUCTION) {\n\t\t\tthrow e;\n\t\t}\n\t}\n}\n\nvar w = WINDOW || {};\n\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\n\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nvar _extends =\n\tObject.assign ||\n\tfunction (target) {\n\t\tfor (var i = 1; i < arguments.length; i++) {\n\t\t\tvar source = arguments[i];\n\n\t\t\tfor (var key in source) {\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(source, key)) {\n\t\t\t\t\ttarget[key] = source[key];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn target;\n\t};\n\nfunction define(prefix, icons) {\n\tvar normalized = Object.keys(icons).reduce(function (acc, iconName) {\n\t\tvar icon = icons[iconName];\n\t\tvar expanded = !!icon.icon;\n\n\t\tif (expanded) {\n\t\t\tacc[icon.iconName] = icon.icon;\n\t\t} else {\n\t\t\tacc[iconName] = icon;\n\t\t}\n\t\treturn acc;\n\t}, {});\n\n\tif (typeof namespace.hooks.addPack === 'function') {\n\t\tnamespace.hooks.addPack(prefix, normalized);\n\t} else {\n\t\tnamespace.styles[prefix] = _extends(\n\t\t\t{},\n\t\t\tnamespace.styles[prefix] || {},\n\t\t\tnormalized,\n\t\t);\n\t}\n\n\t/**\n\t * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n\t * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n\t * for `fas` so we'll easy the upgrade process for our users by automatically defining\n\t * this as well.\n\t */\n\tif (prefix === 'fas') {\n\t\tdefine('fa', icons);\n\t}\n}\n\nvar prefix = 'far';\nvar faAddressBook = {\n\tprefix: 'far',\n\ticonName: 'address-book',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f2b9',\n\t\t'M436 160c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-20V48c0-26.51-21.49-48-48-48H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h320c26.51 0 48-21.49 48-48v-48h20c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-20v-64h20c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-20v-64h20zm-74 304H54a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h308a6 6 0 0 1 6 6v404a6 6 0 0 1-6 6zM128 208c0-44.183 35.817-80 80-80s80 35.817 80 80-35.817 80-80 80-80-35.817-80-80zm208 133.477V360c0 13.255-10.745 24-24 24H104c-13.255 0-24-10.745-24-24v-18.523c0-22.026 14.99-41.225 36.358-46.567l35.657-8.914c29.101 20.932 74.509 26.945 111.97 0l35.657 8.914C321.01 300.252 336 319.452 336 341.477z',\n\t],\n};\nvar faAddressCard = {\n\tprefix: 'far',\n\ticonName: 'address-card',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f2bb',\n\t\t'M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 336H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v276a6 6 0 0 1-6 6zm-54-176H300c-6.627 0-12-5.373-12-12v-16c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v16c0 6.627-5.373 12-12 12zm0 72H300c-6.627 0-12-5.373-12-12v-16c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v16c0 6.627-5.373 12-12 12zM176 160c33.137 0 60 26.863 60 60s-26.863 60-60 60-60-26.863-60-60 26.863-60 60-60zm68.731 125.183l-26.742-6.686c-28.096 20.209-62.152 15.699-83.978 0l-26.742 6.686C91.243 289.189 80 303.589 80 320.108V334c0 9.941 8.059 18 18 18h156c9.941 0 18-8.059 18-18v-13.892c0-16.519-11.243-30.919-27.269-34.925z',\n\t],\n};\nvar faArrowAltCircleDown = {\n\tprefix: 'far',\n\ticonName: 'arrow-alt-circle-down',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f358',\n\t\t'M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm-32-316v116h-67c-10.7 0-16 12.9-8.5 20.5l99 99c4.7 4.7 12.3 4.7 17 0l99-99c7.6-7.6 2.2-20.5-8.5-20.5h-67V140c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12z',\n\t],\n};\nvar faArrowAltCircleLeft = {\n\tprefix: 'far',\n\ticonName: 'arrow-alt-circle-left',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f359',\n\t\t'M8 256c0 137 111 248 248 248s248-111 248-248S393 8 256 8 8 119 8 256zm448 0c0 110.5-89.5 200-200 200S56 366.5 56 256 145.5 56 256 56s200 89.5 200 200zm-72-20v40c0 6.6-5.4 12-12 12H256v67c0 10.7-12.9 16-20.5 8.5l-99-99c-4.7-4.7-4.7-12.3 0-17l99-99c7.6-7.6 20.5-2.2 20.5 8.5v67h116c6.6 0 12 5.4 12 12z',\n\t],\n};\nvar faArrowAltCircleRight = {\n\tprefix: 'far',\n\ticonName: 'arrow-alt-circle-right',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f35a',\n\t\t'M504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256zm72 20v-40c0-6.6 5.4-12 12-12h116v-67c0-10.7 12.9-16 20.5-8.5l99 99c4.7 4.7 4.7 12.3 0 17l-99 99c-7.6 7.6-20.5 2.2-20.5-8.5v-67H140c-6.6 0-12-5.4-12-12z',\n\t],\n};\nvar faArrowAltCircleUp = {\n\tprefix: 'far',\n\ticonName: 'arrow-alt-circle-up',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f35b',\n\t\t'M256 504c137 0 248-111 248-248S393 8 256 8 8 119 8 256s111 248 248 248zm0-448c110.5 0 200 89.5 200 200s-89.5 200-200 200S56 366.5 56 256 145.5 56 256 56zm20 328h-40c-6.6 0-12-5.4-12-12V256h-67c-10.7 0-16-12.9-8.5-20.5l99-99c4.7-4.7 12.3-4.7 17 0l99 99c7.6 7.6 2.2 20.5-8.5 20.5h-67v116c0 6.6-5.4 12-12 12z',\n\t],\n};\nvar faBell = {\n\tprefix: 'far',\n\ticonName: 'bell',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f0f3',\n\t\t'M425.403 330.939c-16.989-16.785-34.546-34.143-34.546-116.083 0-83.026-60.958-152.074-140.467-164.762A31.843 31.843 0 0 0 256 32c0-17.673-14.327-32-32-32s-32 14.327-32 32a31.848 31.848 0 0 0 5.609 18.095C118.101 62.783 57.143 131.831 57.143 214.857c0 81.933-17.551 99.292-34.543 116.078C-25.496 378.441 9.726 448 66.919 448H160c0 35.346 28.654 64 64 64 35.346 0 64-28.654 64-64h93.08c57.19 0 92.415-69.583 44.323-117.061zM224 472c-13.234 0-24-10.766-24-24h48c0 13.234-10.766 24-24 24zm157.092-72H66.9c-16.762 0-25.135-20.39-13.334-32.191 28.585-28.585 51.577-55.724 51.577-152.952C105.143 149.319 158.462 96 224 96s118.857 53.319 118.857 118.857c0 97.65 23.221 124.574 51.568 152.952C406.278 379.661 397.783 400 381.092 400z',\n\t],\n};\nvar faBellSlash = {\n\tprefix: 'far',\n\ticonName: 'bell-slash',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f1f6',\n\t\t'M130.9 400c-16.762 0-25.135-20.39-13.334-32.191 25.226-25.226 46.094-49.338 50.649-121.48l-46.777-41.274a168.48 168.48 0 0 0-.296 9.802c0 81.933-17.551 99.292-34.543 116.078C38.504 378.441 73.726 448 130.919 448H224c0 35.346 28.654 64 64 64s64-28.654 64-64h44.777l-54.4-48H130.9zM288 472c-13.234 0-24-10.766-24-24h48c0 13.234-10.766 24-24 24zm283.867.553l-67.931-59.571c13.104-24.118 11.524-56.318-14.532-82.042-16.989-16.785-34.546-34.143-34.546-116.083 0-83.026-60.958-152.074-140.467-164.762A31.848 31.848 0 0 0 320 32c0-17.673-14.327-32-32-32s-32 14.327-32 32a31.848 31.848 0 0 0 5.609 18.095c-41.471 6.618-77.891 28.571-103.249 59.841L36.459 3.037c-5.058-4.436-12.777-3.956-17.24 1.071L3.056 22.313C-1.407 27.34-.925 35.012 4.134 39.447l535.408 469.516c5.058 4.436 12.777 3.956 17.24-1.071l16.163-18.205c4.462-5.027 3.98-12.699-1.078-17.134zM288 96c65.538 0 118.857 53.319 118.857 118.857 0 97.65 23.221 124.574 51.568 152.952 2.908 2.908 4.573 6.328 5.209 9.832L194.482 141.612C216.258 113.867 250.075 96 288 96z',\n\t],\n};\nvar faBookmark = {\n\tprefix: 'far',\n\ticonName: 'bookmark',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f02e',\n\t\t'M336 0H48C21.49 0 0 21.49 0 48v464l192-112 192 112V48c0-26.51-21.49-48-48-48zm0 428.43l-144-84-144 84V54a6 6 0 0 1 6-6h276c3.314 0 6 2.683 6 5.996V428.43z',\n\t],\n};\nvar faBuilding = {\n\tprefix: 'far',\n\ticonName: 'building',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f1ad',\n\t\t'M128 148v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12zm140 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm-128 96h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm128 0h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm-76 84v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm76 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm180 124v36H0v-36c0-6.6 5.4-12 12-12h19.5V24c0-13.3 10.7-24 24-24h337c13.3 0 24 10.7 24 24v440H436c6.6 0 12 5.4 12 12zM79.5 463H192v-67c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v67h112.5V49L80 48l-.5 415z',\n\t],\n};\nvar faCalendar = {\n\tprefix: 'far',\n\ticonName: 'calendar',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f133',\n\t\t'M400 64h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V160h352v298c0 3.3-2.7 6-6 6z',\n\t],\n};\nvar faCalendarAlt = {\n\tprefix: 'far',\n\ticonName: 'calendar-alt',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f073',\n\t\t'M148 288h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm108-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 96v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96-260v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z',\n\t],\n};\nvar faCalendarCheck = {\n\tprefix: 'far',\n\ticonName: 'calendar-check',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f274',\n\t\t'M400 64h-48V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v52H160V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v52H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V160h352v298a6 6 0 0 1-6 6zm-52.849-200.65L198.842 404.519c-4.705 4.667-12.303 4.637-16.971-.068l-75.091-75.699c-4.667-4.705-4.637-12.303.068-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l44.104 44.461 111.072-110.181c4.705-4.667 12.303-4.637 16.971.068l22.536 22.718c4.667 4.705 4.636 12.303-.069 16.97z',\n\t],\n};\nvar faCalendarMinus = {\n\tprefix: 'far',\n\ticonName: 'calendar-minus',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f272',\n\t\t'M124 328c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12H124zm324-216v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z',\n\t],\n};\nvar faCalendarPlus = {\n\tprefix: 'far',\n\ticonName: 'calendar-plus',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f271',\n\t\t'M336 292v24c0 6.6-5.4 12-12 12h-76v76c0 6.6-5.4 12-12 12h-24c-6.6 0-12-5.4-12-12v-76h-76c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h76v-76c0-6.6 5.4-12 12-12h24c6.6 0 12 5.4 12 12v76h76c6.6 0 12 5.4 12 12zm112-180v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z',\n\t],\n};\nvar faCalendarTimes = {\n\tprefix: 'far',\n\ticonName: 'calendar-times',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f273',\n\t\t'M311.7 374.7l-17 17c-4.7 4.7-12.3 4.7-17 0L224 337.9l-53.7 53.7c-4.7 4.7-12.3 4.7-17 0l-17-17c-4.7-4.7-4.7-12.3 0-17l53.7-53.7-53.7-53.7c-4.7-4.7-4.7-12.3 0-17l17-17c4.7-4.7 12.3-4.7 17 0l53.7 53.7 53.7-53.7c4.7-4.7 12.3-4.7 17 0l17 17c4.7 4.7 4.7 12.3 0 17L257.9 304l53.7 53.7c4.8 4.7 4.8 12.3.1 17zM448 112v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z',\n\t],\n};\nvar faCaretSquareDown = {\n\tprefix: 'far',\n\ticonName: 'caret-square-down',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f150',\n\t\t'M125.1 208h197.8c10.7 0 16.1 13 8.5 20.5l-98.9 98.3c-4.7 4.7-12.2 4.7-16.9 0l-98.9-98.3c-7.7-7.5-2.3-20.5 8.4-20.5zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z',\n\t],\n};\nvar faCaretSquareLeft = {\n\tprefix: 'far',\n\ticonName: 'caret-square-left',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f191',\n\t\t'M272 157.1v197.8c0 10.7-13 16.1-20.5 8.5l-98.3-98.9c-4.7-4.7-4.7-12.2 0-16.9l98.3-98.9c7.5-7.7 20.5-2.3 20.5 8.4zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z',\n\t],\n};\nvar faCaretSquareRight = {\n\tprefix: 'far',\n\ticonName: 'caret-square-right',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f152',\n\t\t'M176 354.9V157.1c0-10.7 13-16.1 20.5-8.5l98.3 98.9c4.7 4.7 4.7 12.2 0 16.9l-98.3 98.9c-7.5 7.7-20.5 2.3-20.5-8.4zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z',\n\t],\n};\nvar faCaretSquareUp = {\n\tprefix: 'far',\n\ticonName: 'caret-square-up',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f151',\n\t\t'M322.9 304H125.1c-10.7 0-16.1-13-8.5-20.5l98.9-98.3c4.7-4.7 12.2-4.7 16.9 0l98.9 98.3c7.7 7.5 2.3 20.5-8.4 20.5zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z',\n\t],\n};\nvar faChartBar = {\n\tprefix: 'far',\n\ticonName: 'chart-bar',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f080',\n\t\t'M500 400c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h24c6.6 0 12 5.4 12 12v324h452zm-356-60v-72c0-6.6-5.4-12-12-12h-24c-6.6 0-12 5.4-12 12v72c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12zm96 0V140c0-6.6-5.4-12-12-12h-24c-6.6 0-12 5.4-12 12v200c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12zm96 0V204c0-6.6-5.4-12-12-12h-24c-6.6 0-12 5.4-12 12v136c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12zm96 0V108c0-6.6-5.4-12-12-12h-24c-6.6 0-12 5.4-12 12v232c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12z',\n\t],\n};\nvar faCheckCircle = {\n\tprefix: 'far',\n\ticonName: 'check-circle',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f058',\n\t\t'M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 48c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m140.204 130.267l-22.536-22.718c-4.667-4.705-12.265-4.736-16.97-.068L215.346 303.697l-59.792-60.277c-4.667-4.705-12.265-4.736-16.97-.069l-22.719 22.536c-4.705 4.667-4.736 12.265-.068 16.971l90.781 91.516c4.667 4.705 12.265 4.736 16.97.068l172.589-171.204c4.704-4.668 4.734-12.266.067-16.971z',\n\t],\n};\nvar faCheckSquare = {\n\tprefix: 'far',\n\ticonName: 'check-square',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f14a',\n\t\t'M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm0 400H48V80h352v352zm-35.864-241.724L191.547 361.48c-4.705 4.667-12.303 4.637-16.97-.068l-90.781-91.516c-4.667-4.705-4.637-12.303.069-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l59.792 60.277 141.352-140.216c4.705-4.667 12.303-4.637 16.97.068l22.536 22.718c4.667 4.706 4.637 12.304-.068 16.971z',\n\t],\n};\nvar faCircle = {\n\tprefix: 'far',\n\ticonName: 'circle',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f111',\n\t\t'M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200z',\n\t],\n};\nvar faClipboard = {\n\tprefix: 'far',\n\ticonName: 'clipboard',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f328',\n\t\t'M336 64h-80c0-35.29-28.71-64-64-64s-64 28.71-64 64H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h42v36c0 6.627 5.373 12 12 12h168c6.627 0 12-5.373 12-12v-36h42a6 6 0 0 1 6 6v340a6 6 0 0 1-6 6zM192 40c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24',\n\t],\n};\nvar faClock = {\n\tprefix: 'far',\n\ticonName: 'clock',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f017',\n\t\t'M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm61.8-104.4l-84.9-61.7c-3.1-2.3-4.9-5.9-4.9-9.7V116c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v141.7l66.8 48.6c5.4 3.9 6.5 11.4 2.6 16.8L334.6 349c-3.9 5.3-11.4 6.5-16.8 2.6z',\n\t],\n};\nvar faClone = {\n\tprefix: 'far',\n\ticonName: 'clone',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f24d',\n\t\t'M464 0H144c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h320c26.51 0 48-21.49 48-48v-48h48c26.51 0 48-21.49 48-48V48c0-26.51-21.49-48-48-48zM362 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h42v224c0 26.51 21.49 48 48 48h224v42a6 6 0 0 1-6 6zm96-96H150a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h308a6 6 0 0 1 6 6v308a6 6 0 0 1-6 6z',\n\t],\n};\nvar faClosedCaptioning = {\n\tprefix: 'far',\n\ticonName: 'closed-captioning',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f20a',\n\t\t'M464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zm-6 336H54c-3.3 0-6-2.7-6-6V118c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v276c0 3.3-2.7 6-6 6zm-211.1-85.7c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.8-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7l-17.5 30.5c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6 2.8-2.5 7.1-2.1 9.2.9l19.6 27.7zm190.4 0c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.9-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7L420 220.2c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6 2.8-2.5 7.1-2.1 9.2.9l19.6 27.7z',\n\t],\n};\nvar faComment = {\n\tprefix: 'far',\n\ticonName: 'comment',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f075',\n\t\t'M288 32C129 32 0 125.1 0 240c0 49.3 23.7 94.5 63.3 130.2-8.7 23.3-22.1 32.7-37.1 43.1C15.1 421-6 433 1.6 456.5c5.1 15.4 20.9 24.7 38.1 23.3 57.7-4.6 111.2-19.2 157-42.5 28.7 6.9 59.4 10.7 91.2 10.7 159.1 0 288-93 288-208C576 125.1 447.1 32 288 32zm0 368c-32.5 0-65.4-4.4-97.3-14-32.3 19-78.7 46-134.7 54 32-24 56.8-61.6 61.2-88.4C79.1 325.6 48 286.7 48 240c0-70.9 86.3-160 240-160s240 89.1 240 160c0 71-86.3 160-240 160z',\n\t],\n};\nvar faCommentAlt = {\n\tprefix: 'far',\n\ticonName: 'comment-alt',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f27a',\n\t\t'M288 32C129 32 0 125.1 0 240c0 49.3 23.7 94.5 63.3 130.2-8.7 23.3-22.1 32.7-37.1 43.1C15.1 421-6 433 1.6 456.5c5.1 15.4 20.9 24.7 38.1 23.3 57.7-4.6 111.2-19.2 157-42.5 28.7 6.9 59.4 10.7 91.2 10.7 159.1 0 288-93 288-208C576 125.1 447.1 32 288 32zm0 368c-32.5 0-65.4-4.4-97.3-14-32.3 19-78.7 46-134.7 54 32-24 56.8-61.6 61.2-88.4C79.1 325.6 48 286.7 48 240c0-70.9 86.3-160 240-160s240 89.1 240 160c0 71-86.3 160-240 160zm-64-160c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zm112 0c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zm112 0c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48z',\n\t],\n};\nvar faComments = {\n\tprefix: 'far',\n\ticonName: 'comments',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f086',\n\t\t'M574.507 443.86c-5.421 21.261-24.57 36.14-46.511 36.14-32.246 0-66.511-9.99-102.1-29.734-50.64 11.626-109.151 7.877-157.96-13.437 41.144-2.919 80.361-12.339 116.331-28.705 16.322-1.22 32.674-4.32 48.631-9.593C454.404 412.365 490.663 432 527.996 432c-32-17.455-43.219-38.958-46.159-58.502 25.443-18.848 46.159-47.183 46.159-81.135 0-10.495-2.383-21.536-7.041-32.467 7.405-25.93 8.656-50.194 5.185-73.938 32.164 30.461 49.856 69.128 49.856 106.405 0 33.893-12.913 65.047-34.976 91.119 2.653 2.038 5.924 4.176 9.962 6.378 19.261 10.508 28.947 32.739 23.525 54zM240.002 80C117.068 80 48.004 152.877 48.004 210.909c0 38.196 24.859 70.072 55.391 91.276-3.527 21.988-16.991 46.179-55.391 65.815 44.8 0 88.31-22.089 114.119-37.653 25.52 7.906 51.883 11.471 77.879 11.471C362.998 341.818 432 268.976 432 210.909 432 152.882 362.943 80 240.002 80m0-48C390.193 32 480 126.026 480 210.909c0 22.745-6.506 46.394-18.816 68.391-11.878 21.226-28.539 40.294-49.523 56.674-21.593 16.857-46.798 30.045-74.913 39.197-29.855 9.719-62.405 14.646-96.746 14.646-24.449 0-48.34-2.687-71.292-8.004C126.311 404.512 85.785 416 48.004 416c-22.18 0-41.472-15.197-46.665-36.761-5.194-21.563 5.064-43.878 24.811-53.976 7.663-3.918 13.324-7.737 17.519-11.294-7.393-7.829-13.952-16.124-19.634-24.844C8.09 264.655.005 238.339.005 210.909.005 126.259 89.508 32 240.002 32z',\n\t],\n};\nvar faCompass = {\n\tprefix: 'far',\n\ticonName: 'compass',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f14e',\n\t\t'M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 448c-110.532 0-200-89.451-200-200 0-110.531 89.451-200 200-200 110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200zm91.326-312.131l-33.359 137.779a24.005 24.005 0 0 1-6.772 11.729l-102.64 97.779c-17.104 16.293-45.56.434-39.88-23.024l33.359-137.779a23.997 23.997 0 0 1 6.772-11.729l102.642-97.779c17.285-16.47 45.494-.175 39.878 23.024zM256 224c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z',\n\t],\n};\nvar faCopy = {\n\tprefix: 'far',\n\ticonName: 'copy',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f0c5',\n\t\t'M433.941 65.941l-51.882-51.882A48 48 0 0 0 348.118 0H176c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48v-48h80c26.51 0 48-21.49 48-48V99.882a48 48 0 0 0-14.059-33.941zM266 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h74v224c0 26.51 21.49 48 48 48h96v42a6 6 0 0 1-6 6zm128-96H182a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h106v88c0 13.255 10.745 24 24 24h88v202a6 6 0 0 1-6 6zm6-256h-64V48h9.632c1.591 0 3.117.632 4.243 1.757l48.368 48.368a6 6 0 0 1 1.757 4.243V112z',\n\t],\n};\nvar faCopyright = {\n\tprefix: 'far',\n\ticonName: 'copyright',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f1f9',\n\t\t'M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 448c-110.532 0-200-89.451-200-200 0-110.531 89.451-200 200-200 110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200zm107.351-101.064c-9.614 9.712-45.53 41.396-104.065 41.396-82.43 0-140.484-61.425-140.484-141.567 0-79.152 60.275-139.401 139.762-139.401 55.531 0 88.738 26.62 97.593 34.779a11.965 11.965 0 0 1 1.936 15.322l-18.155 28.113c-3.841 5.95-11.966 7.282-17.499 2.921-8.595-6.776-31.814-22.538-61.708-22.538-48.303 0-77.916 35.33-77.916 80.082 0 41.589 26.888 83.692 78.277 83.692 32.657 0 56.843-19.039 65.726-27.225 5.27-4.857 13.596-4.039 17.82 1.738l19.865 27.17a11.947 11.947 0 0 1-1.152 15.518z',\n\t],\n};\nvar faCreditCard = {\n\tprefix: 'far',\n\ticonName: 'credit-card',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f09d',\n\t\t'M527.9 32H48.1C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48.1 48h479.8c26.6 0 48.1-21.5 48.1-48V80c0-26.5-21.5-48-48.1-48zM54.1 80h467.8c3.3 0 6 2.7 6 6v42H48.1V86c0-3.3 2.7-6 6-6zm467.8 352H54.1c-3.3 0-6-2.7-6-6V256h479.8v170c0 3.3-2.7 6-6 6zM192 332v40c0 6.6-5.4 12-12 12h-72c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12zm192 0v40c0 6.6-5.4 12-12 12H236c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12z',\n\t],\n};\nvar faDotCircle = {\n\tprefix: 'far',\n\ticonName: 'dot-circle',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f192',\n\t\t'M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 168c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80z',\n\t],\n};\nvar faEdit = {\n\tprefix: 'far',\n\ticonName: 'edit',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f044',\n\t\t'M402.3 344.9l32-32c5-5 13.7-1.5 13.7 5.7V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h273.5c7.1 0 10.7 8.6 5.7 13.7l-32 32c-1.5 1.5-3.5 2.3-5.7 2.3H48v352h352V350.5c0-2.1.8-4.1 2.3-5.6zm156.6-201.8L296.3 405.7l-90.4 10c-26.2 2.9-48.5-19.2-45.6-45.6l10-90.4L432.9 17.1c22.9-22.9 59.9-22.9 82.7 0l43.2 43.2c22.9 22.9 22.9 60 .1 82.8zM460.1 174L402 115.9 216.2 301.8l-7.3 65.3 65.3-7.3L460.1 174zm64.8-79.7l-43.2-43.2c-4.1-4.1-10.8-4.1-14.8 0L436 82l58.1 58.1 30.9-30.9c4-4.2 4-10.8-.1-14.9z',\n\t],\n};\nvar faEnvelope = {\n\tprefix: 'far',\n\ticonName: 'envelope',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f0e0',\n\t\t'M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49-16.841 13.247-50.201 45.072-73.413 44.701-23.208.375-56.579-31.459-73.413-44.701C106.18 199.465 70.425 171.067 48 152.805V112h416zM48 400V214.398c22.914 18.251 55.409 43.862 104.938 82.646 21.857 17.205 60.134 55.186 103.062 54.955 42.717.231 80.509-37.199 103.053-54.947 49.528-38.783 82.032-64.401 104.947-82.653V400H48z',\n\t],\n};\nvar faEnvelopeOpen = {\n\tprefix: 'far',\n\ticonName: 'envelope-open',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f2b6',\n\t\t'M494.586 164.516c-4.697-3.883-111.723-89.95-135.251-108.657C337.231 38.191 299.437 0 256 0c-43.205 0-80.636 37.717-103.335 55.859-24.463 19.45-131.07 105.195-135.15 108.549A48.004 48.004 0 0 0 0 201.485V464c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V201.509a48 48 0 0 0-17.414-36.993zM464 458a6 6 0 0 1-6 6H54a6 6 0 0 1-6-6V204.347c0-1.813.816-3.526 2.226-4.665 15.87-12.814 108.793-87.554 132.364-106.293C200.755 78.88 232.398 48 256 48c23.693 0 55.857 31.369 73.41 45.389 23.573 18.741 116.503 93.493 132.366 106.316a5.99 5.99 0 0 1 2.224 4.663V458zm-31.991-187.704c4.249 5.159 3.465 12.795-1.745 16.981-28.975 23.283-59.274 47.597-70.929 56.863C336.636 362.283 299.205 400 256 400c-43.452 0-81.287-38.237-103.335-55.86-11.279-8.967-41.744-33.413-70.927-56.865-5.21-4.187-5.993-11.822-1.745-16.981l15.258-18.528c4.178-5.073 11.657-5.843 16.779-1.726 28.618 23.001 58.566 47.035 70.56 56.571C200.143 320.631 232.307 352 256 352c23.602 0 55.246-30.88 73.41-45.389 11.994-9.535 41.944-33.57 70.563-56.568 5.122-4.116 12.601-3.346 16.778 1.727l15.258 18.526z',\n\t],\n};\nvar faEyeSlash = {\n\tprefix: 'far',\n\ticonName: 'eye-slash',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f070',\n\t\t'M272.702 359.139c-80.483-9.011-136.212-86.886-116.93-167.042l116.93 167.042zM288 392c-102.556 0-192.092-54.701-240-136 21.755-36.917 52.1-68.342 88.344-91.658l-27.541-39.343C67.001 152.234 31.921 188.741 6.646 231.631a47.999 47.999 0 0 0 0 48.739C63.004 376.006 168.14 440 288 440a332.89 332.89 0 0 0 39.648-2.367l-32.021-45.744A284.16 284.16 0 0 1 288 392zm281.354-111.631c-33.232 56.394-83.421 101.742-143.554 129.492l48.116 68.74c3.801 5.429 2.48 12.912-2.949 16.712L450.23 509.83c-5.429 3.801-12.912 2.48-16.712-2.949L102.084 33.399c-3.801-5.429-2.48-12.912 2.949-16.712L125.77 2.17c5.429-3.801 12.912-2.48 16.712 2.949l55.526 79.325C226.612 76.343 256.808 72 288 72c119.86 0 224.996 63.994 281.354 159.631a48.002 48.002 0 0 1 0 48.738zM528 256c-44.157-74.933-123.677-127.27-216.162-135.007C302.042 131.078 296 144.83 296 160c0 30.928 25.072 56 56 56s56-25.072 56-56l-.001-.042c30.632 57.277 16.739 130.26-36.928 171.719l26.695 38.135C452.626 346.551 498.308 306.386 528 256z',\n\t],\n};\nvar faFile = {\n\tprefix: 'far',\n\ticonName: 'file',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f15b',\n\t\t'M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48z',\n\t],\n};\nvar faFileAlt = {\n\tprefix: 'far',\n\ticonName: 'file-alt',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f15c',\n\t\t'M288 248v28c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-28c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm-12 72H108c-6.6 0-12 5.4-12 12v28c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-28c0-6.6-5.4-12-12-12zm108-188.1V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48C0 21.5 21.5 0 48 0h204.1C264.8 0 277 5.1 286 14.1L369.9 98c9 8.9 14.1 21.2 14.1 33.9zm-128-80V128h76.1L256 51.9zM336 464V176H232c-13.3 0-24-10.7-24-24V48H48v416h288z',\n\t],\n};\nvar faFileArchive = {\n\tprefix: 'far',\n\ticonName: 'file-archive',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f1c6',\n\t\t'M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM256 51.882L332.118 128H256V51.882zM336 464H48V48h79.714v16h32V48H208v104c0 13.255 10.745 24 24 24h104v288zM192.27 96h-32V64h32v32zm-32 0v32h-32V96h32zm0 64v32h-32v-32h32zm32 0h-32v-32h32v32zm1.909 105.678A12 12 0 0 0 182.406 256H160.27v-32h-32v32l-19.69 97.106C101.989 385.611 126.834 416 160 416c33.052 0 57.871-30.192 51.476-62.62l-17.297-87.702zM160.27 390.073c-17.918 0-32.444-12.105-32.444-27.036 0-14.932 14.525-27.036 32.444-27.036s32.444 12.105 32.444 27.036c0 14.931-14.526 27.036-32.444 27.036zm32-166.073h-32v-32h32v32z',\n\t],\n};\nvar faFileAudio = {\n\tprefix: 'far',\n\ticonName: 'file-audio',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f1c7',\n\t\t'M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm144-76.024c0 10.691-12.926 16.045-20.485 8.485L136 360.486h-28c-6.627 0-12-5.373-12-12v-56c0-6.627 5.373-12 12-12h28l35.515-36.947c7.56-7.56 20.485-2.206 20.485 8.485v135.952zm41.201-47.13c9.051-9.297 9.06-24.133.001-33.439-22.149-22.752 12.235-56.246 34.395-33.481 27.198 27.94 27.212 72.444.001 100.401-21.793 22.386-56.947-10.315-34.397-33.481z',\n\t],\n};\nvar faFileCode = {\n\tprefix: 'far',\n\ticonName: 'file-code',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f1c9',\n\t\t'M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm101.677-115.115L116.854 320l32.822-28.885a8.793 8.793 0 0 0 .605-12.624l-17.403-18.564c-3.384-3.613-8.964-3.662-12.438-.401L62.78 313.58c-3.703 3.474-3.704 9.367.001 12.84l57.659 54.055a8.738 8.738 0 0 0 6.012 2.381 8.746 8.746 0 0 0 6.427-2.782l17.403-18.563a8.795 8.795 0 0 0-.605-12.626zm84.284-127.85l-24.401-7.084a8.796 8.796 0 0 0-10.905 5.998L144.04 408.061c-1.353 4.66 1.338 9.552 5.998 10.905l24.403 7.084c4.68 1.355 9.557-1.354 10.905-5.998l54.612-188.112c1.354-4.66-1.337-9.552-5.997-10.905zm87.258 92.545l-57.658-54.055c-3.526-3.307-9.099-3.165-12.439.401l-17.403 18.563a8.795 8.795 0 0 0 .605 12.625L267.146 320l-32.822 28.885a8.793 8.793 0 0 0-.605 12.624l17.403 18.564a8.797 8.797 0 0 0 12.439.401h-.001l57.66-54.055c3.703-3.473 3.703-9.366-.001-12.839z',\n\t],\n};\nvar faFileExcel = {\n\tprefix: 'far',\n\ticonName: 'file-excel',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f1c3',\n\t\t'M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm212-240h-28.8c-4.4 0-8.4 2.4-10.5 6.3-18 33.1-22.2 42.4-28.6 57.7-13.9-29.1-6.9-17.3-28.6-57.7-2.1-3.9-6.2-6.3-10.6-6.3H124c-9.3 0-15 10-10.4 18l46.3 78-46.3 78c-4.7 8 1.1 18 10.4 18h28.9c4.4 0 8.4-2.4 10.5-6.3 21.7-40 23-45 28.6-57.7 14.9 30.2 5.9 15.9 28.6 57.7 2.1 3.9 6.2 6.3 10.6 6.3H260c9.3 0 15-10 10.4-18L224 320c.7-1.1 30.3-50.5 46.3-78 4.7-8-1.1-18-10.3-18z',\n\t],\n};\nvar faFileImage = {\n\tprefix: 'far',\n\ticonName: 'file-image',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f1c5',\n\t\t'M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm32-48h224V288l-23.5-23.5c-4.7-4.7-12.3-4.7-17 0L176 352l-39.5-39.5c-4.7-4.7-12.3-4.7-17 0L80 352v64zm48-240c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48z',\n\t],\n};\nvar faFilePdf = {\n\tprefix: 'far',\n\ticonName: 'file-pdf',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f1c1',\n\t\t'M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm250.2-143.7c-12.2-12-47-8.7-64.4-6.5-17.2-10.5-28.7-25-36.8-46.3 3.9-16.1 10.1-40.6 5.4-56-4.2-26.2-37.8-23.6-42.6-5.9-4.4 16.1-.4 38.5 7 67.1-10 23.9-24.9 56-35.4 74.4-20 10.3-47 26.2-51 46.2-3.3 15.8 26 55.2 76.1-31.2 22.4-7.4 46.8-16.5 68.4-20.1 18.9 10.2 41 17 55.8 17 25.5 0 28-28.2 17.5-38.7zm-198.1 77.8c5.1-13.7 24.5-29.5 30.4-35-19 30.3-30.4 35.7-30.4 35zm81.6-190.6c7.4 0 6.7 32.1 1.8 40.8-4.4-13.9-4.3-40.8-1.8-40.8zm-24.4 136.6c9.7-16.9 18-37 24.7-54.7 8.3 15.1 18.9 27.2 30.1 35.5-20.8 4.3-38.9 13.1-54.8 19.2zm131.6-5s-5 6-37.3-7.8c35.1-2.6 40.9 5.4 37.3 7.8z',\n\t],\n};\nvar faFilePowerpoint = {\n\tprefix: 'far',\n\ticonName: 'file-powerpoint',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f1c4',\n\t\t'M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm72-60V236c0-6.6 5.4-12 12-12h69.2c36.7 0 62.8 27 62.8 66.3 0 74.3-68.7 66.5-95.5 66.5V404c0 6.6-5.4 12-12 12H132c-6.6 0-12-5.4-12-12zm48.5-87.4h23c7.9 0 13.9-2.4 18.1-7.2 8.5-9.8 8.4-28.5.1-37.8-4.1-4.6-9.9-7-17.4-7h-23.9v52z',\n\t],\n};\nvar faFileVideo = {\n\tprefix: 'far',\n\ticonName: 'file-video',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f1c8',\n\t\t'M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm228.687-211.303L224 305.374V268c0-11.046-8.954-20-20-20H100c-11.046 0-20 8.954-20 20v104c0 11.046 8.954 20 20 20h104c11.046 0 20-8.954 20-20v-37.374l52.687 52.674C286.704 397.318 304 390.28 304 375.986V264.011c0-14.311-17.309-21.319-27.313-11.314z',\n\t],\n};\nvar faFileWord = {\n\tprefix: 'far',\n\ticonName: 'file-word',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f1c2',\n\t\t'M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm220.1-208c-5.7 0-10.6 4-11.7 9.5-20.6 97.7-20.4 95.4-21 103.5-.2-1.2-.4-2.6-.7-4.3-.8-5.1.3.2-23.6-99.5-1.3-5.4-6.1-9.2-11.7-9.2h-13.3c-5.5 0-10.3 3.8-11.7 9.1-24.4 99-24 96.2-24.8 103.7-.1-1.1-.2-2.5-.5-4.2-.7-5.2-14.1-73.3-19.1-99-1.1-5.6-6-9.7-11.8-9.7h-16.8c-7.8 0-13.5 7.3-11.7 14.8 8 32.6 26.7 109.5 33.2 136 1.3 5.4 6.1 9.1 11.7 9.1h25.2c5.5 0 10.3-3.7 11.6-9.1l17.9-71.4c1.5-6.2 2.5-12 3-17.3l2.9 17.3c.1.4 12.6 50.5 17.9 71.4 1.3 5.3 6.1 9.1 11.6 9.1h24.7c5.5 0 10.3-3.7 11.6-9.1 20.8-81.9 30.2-119 34.5-136 1.9-7.6-3.8-14.9-11.6-14.9h-15.8z',\n\t],\n};\nvar faFlag = {\n\tprefix: 'far',\n\ticonName: 'flag',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f024',\n\t\t'M336.174 80c-49.132 0-93.305-32-161.913-32-31.301 0-58.303 6.482-80.721 15.168a48.04 48.04 0 0 0 2.142-20.727C93.067 19.575 74.167 1.594 51.201.104 23.242-1.71 0 20.431 0 48c0 17.764 9.657 33.262 24 41.562V496c0 8.837 7.163 16 16 16h16c8.837 0 16-7.163 16-16v-83.443C109.869 395.28 143.259 384 199.826 384c49.132 0 93.305 32 161.913 32 58.479 0 101.972-22.617 128.548-39.981C503.846 367.161 512 352.051 512 335.855V95.937c0-34.459-35.264-57.768-66.904-44.117C409.193 67.309 371.641 80 336.174 80zM464 336c-21.783 15.412-60.824 32-102.261 32-59.945 0-102.002-32-161.913-32-43.361 0-96.379 9.403-127.826 24V128c21.784-15.412 60.824-32 102.261-32 59.945 0 102.002 32 161.913 32 43.271 0 96.32-17.366 127.826-32v240z',\n\t],\n};\nvar faFolder = {\n\tprefix: 'far',\n\ticonName: 'folder',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f07b',\n\t\t'M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48zm-6 272H54c-3.314 0-6-2.678-6-5.992V117.992A5.993 5.993 0 0 1 54 112h134.118l64 64H458a6 6 0 0 1 6 6v212a6 6 0 0 1-6 6z',\n\t],\n};\nvar faFolderOpen = {\n\tprefix: 'far',\n\ticonName: 'folder-open',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f07c',\n\t\t'M527.943 224H480v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h400a48.001 48.001 0 0 0 40.704-22.56l79.942-128c19.948-31.917-3.038-73.44-40.703-73.44zM54 112h134.118l64 64H426a6 6 0 0 1 6 6v42H152a48 48 0 0 0-41.098 23.202L48 351.449V117.993A5.993 5.993 0 0 1 54 112zm394 288H72l77.234-128H528l-80 128z',\n\t],\n};\nvar faFrown = {\n\tprefix: 'far',\n\ticonName: 'frown',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f119',\n\t\t'M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm64 136c-9.535 0-18.512 2.386-26.37 6.589h.017c12.735 0 23.059 10.324 23.059 23.059 0 12.735-10.324 23.059-23.059 23.059s-23.059-10.324-23.059-23.059v-.017C266.386 181.488 264 190.465 264 200c0 30.928 25.072 56 56 56s56-25.072 56-56-25.072-56-56-56zm-128 0c-9.535 0-18.512 2.386-26.37 6.589h.017c12.735 0 23.059 10.324 23.059 23.059 0 12.735-10.324 23.059-23.059 23.059-12.735 0-23.059-10.324-23.059-23.059v-.017C138.386 181.488 136 190.465 136 200c0 30.928 25.072 56 56 56s56-25.072 56-56-25.072-56-56-56zm171.547 201.782c-56.595-76.964-158.383-77.065-215.057-.001-18.82 25.593 19.858 54.018 38.67 28.438 37.511-51.01 100.365-50.796 137.717-.001 18.509 25.172 57.821-2.395 38.67-28.436z',\n\t],\n};\nvar faFutbol = {\n\tprefix: 'far',\n\ticonName: 'futbol',\n\ticon: [\n\t\t496,\n\t\t512,\n\t\t[],\n\t\t'f1e3',\n\t\t'M483.8 179.4C449.8 74.6 352.6 8 248.1 8c-25.4 0-51.2 3.9-76.7 12.2C41.2 62.5-30.1 202.4 12.2 332.6 46.2 437.4 143.4 504 247.9 504c25.4 0 51.2-3.9 76.7-12.2 130.2-42.3 201.5-182.2 159.2-312.4zm-74.5 193.7l-52.2 6.4-43.7-60.9 24.4-75.2 71.1-22.1 38.9 36.4c-.2 30.7-7.4 61.1-21.7 89.2-4.7 9.3-10.7 17.8-16.8 26.2zm0-235.4l-10.4 53.1-70.7 22-64.2-46.5V92.5l47.4-26.2c39.2 13 73.4 38 97.9 71.4zM184.9 66.4L232 92.5v73.8l-64.2 46.5-70.6-22-10.1-52.5c24.3-33.4 57.9-58.6 97.8-71.9zM139 379.5L85.9 373c-14.4-20.1-37.3-59.6-37.8-115.3l39-36.4 71.1 22.2 24.3 74.3-43.5 61.7zm48.2 67l-22.4-48.1 43.6-61.7H287l44.3 61.7-22.4 48.1c-6.2 1.8-57.6 20.4-121.7 0z',\n\t],\n};\nvar faGem = {\n\tprefix: 'far',\n\ticonName: 'gem',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f3a5',\n\t\t'M464 0H112c-4 0-7.8 2-10 5.4L2 152.6c-2.9 4.4-2.6 10.2.7 14.2l276 340.8c4.8 5.9 13.8 5.9 18.6 0l276-340.8c3.3-4.1 3.6-9.8.7-14.2L474.1 5.4C471.8 2 468.1 0 464 0zm-19.3 48l63.3 96h-68.4l-51.7-96h56.8zm-202.1 0h90.7l51.7 96H191l51.6-96zm-111.3 0h56.8l-51.7 96H68l63.3-96zm-43 144h51.4L208 352 88.3 192zm102.9 0h193.6L288 435.3 191.2 192zM368 352l68.2-160h51.4L368 352z',\n\t],\n};\nvar faHandLizard = {\n\tprefix: 'far',\n\ticonName: 'hand-lizard',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f258',\n\t\t'M556.686 290.542L410.328 64.829C397.001 44.272 374.417 32 349.917 32H56C25.121 32 0 57.122 0 88v8c0 44.112 35.888 80 80 80h196.042l-18.333 48H144c-48.523 0-88 39.477-88 88 0 30.879 25.121 56 56 56h131.552c2.987 0 5.914.549 8.697 1.631L352 408.418V480h224V355.829c0-23.225-6.679-45.801-19.314-65.287zM528 432H400v-23.582c0-19.948-12.014-37.508-30.604-44.736l-99.751-38.788A71.733 71.733 0 0 0 243.552 320H112c-4.411 0-8-3.589-8-8 0-22.056 17.944-40 40-40h113.709c19.767 0 37.786-12.407 44.84-30.873l24.552-64.281c8.996-23.553-8.428-48.846-33.63-48.846H80c-17.645 0-32-14.355-32-32v-8c0-4.411 3.589-8 8-8h293.917c8.166 0 15.693 4.09 20.137 10.942l146.358 225.715A71.84 71.84 0 0 1 528 355.829V432z',\n\t],\n};\nvar faHandPaper = {\n\tprefix: 'far',\n\ticonName: 'hand-paper',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f256',\n\t\t'M372.57 112.641v-10.825c0-43.612-40.52-76.691-83.039-65.546-25.629-49.5-94.09-47.45-117.982.747C130.269 26.456 89.144 57.945 89.144 102v126.13c-19.953-7.427-43.308-5.068-62.083 8.871-29.355 21.796-35.794 63.333-14.55 93.153L132.48 498.569a32 32 0 0 0 26.062 13.432h222.897c14.904 0 27.835-10.289 31.182-24.813l30.184-130.958A203.637 203.637 0 0 0 448 310.564V179c0-40.62-35.523-71.992-75.43-66.359zm27.427 197.922c0 11.731-1.334 23.469-3.965 34.886L368.707 464h-201.92L51.591 302.303c-14.439-20.27 15.023-42.776 29.394-22.605l27.128 38.079c8.995 12.626 29.031 6.287 29.031-9.283V102c0-25.645 36.571-24.81 36.571.691V256c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16V67c0-25.663 36.571-24.81 36.571.691V256c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16V101.125c0-25.672 36.57-24.81 36.57.691V256c0 8.837 7.163 16 16 16h6.857c8.837 0 16-7.163 16-16v-76.309c0-26.242 36.57-25.64 36.57-.691v131.563z',\n\t],\n};\nvar faHandPeace = {\n\tprefix: 'far',\n\ticonName: 'hand-peace',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f25b',\n\t\t'M362.146 191.976c-13.71-21.649-38.761-34.016-65.006-30.341V74c0-40.804-32.811-74-73.141-74-40.33 0-73.14 33.196-73.14 74L160 168l-18.679-78.85C126.578 50.843 83.85 32.11 46.209 47.208 8.735 62.238-9.571 104.963 5.008 142.85l55.757 144.927c-30.557 24.956-43.994 57.809-24.733 92.218l54.853 97.999C102.625 498.97 124.73 512 148.575 512h205.702c30.744 0 57.558-21.44 64.555-51.797l27.427-118.999a67.801 67.801 0 0 0 1.729-15.203L448 256c0-44.956-43.263-77.343-85.854-64.024zM399.987 326c0 1.488-.169 2.977-.502 4.423l-27.427 119.001c-1.978 8.582-9.29 14.576-17.782 14.576H148.575c-6.486 0-12.542-3.621-15.805-9.449l-54.854-98c-4.557-8.141-2.619-18.668 4.508-24.488l26.647-21.764a16 16 0 0 0 4.812-18.139l-64.09-166.549C37.226 92.956 84.37 74.837 96.51 106.389l59.784 155.357A16 16 0 0 0 171.227 272h11.632c8.837 0 16-7.163 16-16V74c0-34.375 50.281-34.43 50.281 0v182c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16v-28c0-25.122 36.567-25.159 36.567 0v28c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16 0-25.12 36.567-25.16 36.567 0v70z',\n\t],\n};\nvar faHandPointDown = {\n\tprefix: 'far',\n\ticonName: 'hand-point-down',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f0a7',\n\t\t'M188.8 512c45.616 0 83.2-37.765 83.2-83.2v-35.647a93.148 93.148 0 0 0 22.064-7.929c22.006 2.507 44.978-3.503 62.791-15.985C409.342 368.1 448 331.841 448 269.299V248c0-60.063-40-98.512-40-127.2v-2.679c4.952-5.747 8-13.536 8-22.12V32c0-17.673-12.894-32-28.8-32H156.8C140.894 0 128 14.327 128 32v64c0 8.584 3.048 16.373 8 22.12v2.679c0 6.964-6.193 14.862-23.668 30.183l-.148.129-.146.131c-9.937 8.856-20.841 18.116-33.253 25.851C48.537 195.798 0 207.486 0 252.8c0 56.928 35.286 92 83.2 92 8.026 0 15.489-.814 22.4-2.176V428.8c0 45.099 38.101 83.2 83.2 83.2zm0-48c-18.7 0-35.2-16.775-35.2-35.2V270.4c-17.325 0-35.2 26.4-70.4 26.4-26.4 0-35.2-20.625-35.2-44 0-8.794 32.712-20.445 56.1-34.926 14.575-9.074 27.225-19.524 39.875-30.799 18.374-16.109 36.633-33.836 39.596-59.075h176.752C364.087 170.79 400 202.509 400 248v21.299c0 40.524-22.197 57.124-61.325 50.601-8.001 14.612-33.979 24.151-53.625 12.925-18.225 19.365-46.381 17.787-61.05 4.95V428.8c0 18.975-16.225 35.2-35.2 35.2zM328 64c0-13.255 10.745-24 24-24s24 10.745 24 24-10.745 24-24 24-24-10.745-24-24z',\n\t],\n};\nvar faHandPointLeft = {\n\tprefix: 'far',\n\ticonName: 'hand-point-left',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f0a5',\n\t\t'M0 220.8C0 266.416 37.765 304 83.2 304h35.647a93.148 93.148 0 0 0 7.929 22.064c-2.507 22.006 3.503 44.978 15.985 62.791C143.9 441.342 180.159 480 242.701 480H264c60.063 0 98.512-40 127.2-40h2.679c5.747 4.952 13.536 8 22.12 8h64c17.673 0 32-12.894 32-28.8V188.8c0-15.906-14.327-28.8-32-28.8h-64c-8.584 0-16.373 3.048-22.12 8H391.2c-6.964 0-14.862-6.193-30.183-23.668l-.129-.148-.131-.146c-8.856-9.937-18.116-20.841-25.851-33.253C316.202 80.537 304.514 32 259.2 32c-56.928 0-92 35.286-92 83.2 0 8.026.814 15.489 2.176 22.4H83.2C38.101 137.6 0 175.701 0 220.8zm48 0c0-18.7 16.775-35.2 35.2-35.2h158.4c0-17.325-26.4-35.2-26.4-70.4 0-26.4 20.625-35.2 44-35.2 8.794 0 20.445 32.712 34.926 56.1 9.074 14.575 19.524 27.225 30.799 39.875 16.109 18.374 33.836 36.633 59.075 39.596v176.752C341.21 396.087 309.491 432 264 432h-21.299c-40.524 0-57.124-22.197-50.601-61.325-14.612-8.001-24.151-33.979-12.925-53.625-19.365-18.225-17.787-46.381-4.95-61.05H83.2C64.225 256 48 239.775 48 220.8zM448 360c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24z',\n\t],\n};\nvar faHandPointRight = {\n\tprefix: 'far',\n\ticonName: 'hand-point-right',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f0a4',\n\t\t'M428.8 137.6h-86.177a115.52 115.52 0 0 0 2.176-22.4c0-47.914-35.072-83.2-92-83.2-45.314 0-57.002 48.537-75.707 78.784-7.735 12.413-16.994 23.317-25.851 33.253l-.131.146-.129.148C135.662 161.807 127.764 168 120.8 168h-2.679c-5.747-4.952-13.536-8-22.12-8H32c-17.673 0-32 12.894-32 28.8v230.4C0 435.106 14.327 448 32 448h64c8.584 0 16.373-3.048 22.12-8h2.679c28.688 0 67.137 40 127.2 40h21.299c62.542 0 98.8-38.658 99.94-91.145 12.482-17.813 18.491-40.785 15.985-62.791A93.148 93.148 0 0 0 393.152 304H428.8c45.435 0 83.2-37.584 83.2-83.2 0-45.099-38.101-83.2-83.2-83.2zm0 118.4h-91.026c12.837 14.669 14.415 42.825-4.95 61.05 11.227 19.646 1.687 45.624-12.925 53.625 6.524 39.128-10.076 61.325-50.6 61.325H248c-45.491 0-77.21-35.913-120-39.676V215.571c25.239-2.964 42.966-21.222 59.075-39.596 11.275-12.65 21.725-25.3 30.799-39.875C232.355 112.712 244.006 80 252.8 80c23.375 0 44 8.8 44 35.2 0 35.2-26.4 53.075-26.4 70.4h158.4c18.425 0 35.2 16.5 35.2 35.2 0 18.975-16.225 35.2-35.2 35.2zM88 384c0 13.255-10.745 24-24 24s-24-10.745-24-24 10.745-24 24-24 24 10.745 24 24z',\n\t],\n};\nvar faHandPointUp = {\n\tprefix: 'far',\n\ticonName: 'hand-point-up',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f0a6',\n\t\t'M105.6 83.2v86.177a115.52 115.52 0 0 0-22.4-2.176c-47.914 0-83.2 35.072-83.2 92 0 45.314 48.537 57.002 78.784 75.707 12.413 7.735 23.317 16.994 33.253 25.851l.146.131.148.129C129.807 376.338 136 384.236 136 391.2v2.679c-4.952 5.747-8 13.536-8 22.12v64c0 17.673 12.894 32 28.8 32h230.4c15.906 0 28.8-14.327 28.8-32v-64c0-8.584-3.048-16.373-8-22.12V391.2c0-28.688 40-67.137 40-127.2v-21.299c0-62.542-38.658-98.8-91.145-99.94-17.813-12.482-40.785-18.491-62.791-15.985A93.148 93.148 0 0 0 272 118.847V83.2C272 37.765 234.416 0 188.8 0c-45.099 0-83.2 38.101-83.2 83.2zm118.4 0v91.026c14.669-12.837 42.825-14.415 61.05 4.95 19.646-11.227 45.624-1.687 53.625 12.925 39.128-6.524 61.325 10.076 61.325 50.6V264c0 45.491-35.913 77.21-39.676 120H183.571c-2.964-25.239-21.222-42.966-39.596-59.075-12.65-11.275-25.3-21.725-39.875-30.799C80.712 279.645 48 267.994 48 259.2c0-23.375 8.8-44 35.2-44 35.2 0 53.075 26.4 70.4 26.4V83.2c0-18.425 16.5-35.2 35.2-35.2 18.975 0 35.2 16.225 35.2 35.2zM352 424c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24z',\n\t],\n};\nvar faHandPointer = {\n\tprefix: 'far',\n\ticonName: 'hand-pointer',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f25a',\n\t\t'M358.182 179.361c-19.493-24.768-52.679-31.945-79.872-19.098-15.127-15.687-36.182-22.487-56.595-19.629V67c0-36.944-29.736-67-66.286-67S89.143 30.056 89.143 67v161.129c-19.909-7.41-43.272-5.094-62.083 8.872-29.355 21.795-35.793 63.333-14.55 93.152l109.699 154.001C134.632 501.59 154.741 512 176 512h178.286c30.802 0 57.574-21.5 64.557-51.797l27.429-118.999A67.873 67.873 0 0 0 448 326v-84c0-46.844-46.625-79.273-89.818-62.639zM80.985 279.697l27.126 38.079c8.995 12.626 29.031 6.287 29.031-9.283V67c0-25.12 36.571-25.16 36.571 0v175c0 8.836 7.163 16 16 16h6.857c8.837 0 16-7.164 16-16v-35c0-25.12 36.571-25.16 36.571 0v35c0 8.836 7.163 16 16 16H272c8.837 0 16-7.164 16-16v-21c0-25.12 36.571-25.16 36.571 0v21c0 8.836 7.163 16 16 16h6.857c8.837 0 16-7.164 16-16 0-25.121 36.571-25.16 36.571 0v84c0 1.488-.169 2.977-.502 4.423l-27.43 119.001c-1.978 8.582-9.29 14.576-17.782 14.576H176c-5.769 0-11.263-2.878-14.697-7.697l-109.712-154c-14.406-20.223 14.994-42.818 29.394-22.606zM176.143 400v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.733 0-14-7.163-14-16zm75.428 0v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.732 0-14-7.163-14-16zM327 400v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.732 0-14-7.163-14-16z',\n\t],\n};\nvar faHandRock = {\n\tprefix: 'far',\n\ticonName: 'hand-rock',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f255',\n\t\t'M408.864 79.052c-22.401-33.898-66.108-42.273-98.813-23.588-29.474-31.469-79.145-31.093-108.334-.022-47.16-27.02-108.71 5.055-110.671 60.806C44.846 105.407 0 140.001 0 187.429v56.953c0 32.741 14.28 63.954 39.18 85.634l97.71 85.081c4.252 3.702 3.11 5.573 3.11 32.903 0 17.673 14.327 32 32 32h252c17.673 0 32-14.327 32-32 0-23.513-1.015-30.745 3.982-42.37l42.835-99.656c6.094-14.177 9.183-29.172 9.183-44.568V146.963c0-52.839-54.314-88.662-103.136-67.911zM464 261.406a64.505 64.505 0 0 1-5.282 25.613l-42.835 99.655c-5.23 12.171-7.883 25.04-7.883 38.25V432H188v-10.286c0-16.37-7.14-31.977-19.59-42.817l-97.71-85.08C56.274 281.255 48 263.236 48 244.381v-56.953c0-33.208 52-33.537 52 .677v41.228a16 16 0 0 0 5.493 12.067l7 6.095A16 16 0 0 0 139 235.429V118.857c0-33.097 52-33.725 52 .677v26.751c0 8.836 7.164 16 16 16h7c8.836 0 16-7.164 16-16v-41.143c0-33.134 52-33.675 52 .677v40.466c0 8.836 7.163 16 16 16h7c8.837 0 16-7.164 16-16v-27.429c0-33.03 52-33.78 52 .677v26.751c0 8.836 7.163 16 16 16h7c8.837 0 16-7.164 16-16 0-33.146 52-33.613 52 .677v114.445z',\n\t],\n};\nvar faHandScissors = {\n\tprefix: 'far',\n\ticonName: 'hand-scissors',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f257',\n\t\t'M256 480l70-.013c5.114 0 10.231-.583 15.203-1.729l118.999-27.427C490.56 443.835 512 417.02 512 386.277V180.575c0-23.845-13.03-45.951-34.005-57.69l-97.999-54.853c-34.409-19.261-67.263-5.824-92.218 24.733L142.85 37.008c-37.887-14.579-80.612 3.727-95.642 41.201-15.098 37.642 3.635 80.37 41.942 95.112L168 192l-94-9.141c-40.804 0-74 32.811-74 73.14 0 40.33 33.196 73.141 74 73.141h87.635c-3.675 26.245 8.692 51.297 30.341 65.006C178.657 436.737 211.044 480 256 480zm0-48.013c-25.16 0-25.12-36.567 0-36.567 8.837 0 16-7.163 16-16v-6.856c0-8.837-7.163-16-16-16h-28c-25.159 0-25.122-36.567 0-36.567h28c8.837 0 16-7.163 16-16v-6.856c0-8.837-7.163-16-16-16H74c-34.43 0-34.375-50.281 0-50.281h182c8.837 0 16-7.163 16-16v-11.632a16 16 0 0 0-10.254-14.933L106.389 128.51c-31.552-12.14-13.432-59.283 19.222-46.717l166.549 64.091a16.001 16.001 0 0 0 18.139-4.812l21.764-26.647c5.82-7.127 16.348-9.064 24.488-4.508l98 54.854c5.828 3.263 9.449 9.318 9.449 15.805v205.701c0 8.491-5.994 15.804-14.576 17.782l-119.001 27.427a19.743 19.743 0 0 1-4.423.502h-70z',\n\t],\n};\nvar faHandSpock = {\n\tprefix: 'far',\n\ticonName: 'hand-spock',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f259',\n\t\t'M21.096 381.79l129.092 121.513a32 32 0 0 0 21.932 8.698h237.6c14.17 0 26.653-9.319 30.68-22.904l31.815-107.313A115.955 115.955 0 0 0 477 348.811v-36.839c0-4.051.476-8.104 1.414-12.045l31.73-133.41c10.099-42.412-22.316-82.738-65.544-82.525-4.144-24.856-22.543-47.165-49.85-53.992-35.803-8.952-72.227 12.655-81.25 48.75L296.599 184 274.924 52.01c-8.286-36.07-44.303-58.572-80.304-50.296-29.616 6.804-50.138 32.389-51.882 61.295-42.637.831-73.455 40.563-64.071 81.844l31.04 136.508c-27.194-22.515-67.284-19.992-91.482 5.722-25.376 26.961-24.098 69.325 2.871 94.707zm32.068-61.811l.002-.001c7.219-7.672 19.241-7.98 26.856-.813l53.012 49.894C143.225 378.649 160 371.4 160 357.406v-69.479c0-1.193-.134-2.383-.397-3.546l-34.13-150.172c-5.596-24.617 31.502-32.86 37.054-8.421l30.399 133.757a16 16 0 0 0 15.603 12.454h8.604c10.276 0 17.894-9.567 15.594-19.583l-41.62-181.153c-5.623-24.469 31.39-33.076 37.035-8.508l45.22 196.828A16 16 0 0 0 288.956 272h13.217a16 16 0 0 0 15.522-12.119l42.372-169.49c6.104-24.422 42.962-15.159 36.865 9.217L358.805 252.12c-2.521 10.088 5.115 19.88 15.522 19.88h9.694a16 16 0 0 0 15.565-12.295L426.509 146.6c5.821-24.448 42.797-15.687 36.966 8.802L431.72 288.81a100.094 100.094 0 0 0-2.72 23.162v36.839c0 6.548-.943 13.051-2.805 19.328L397.775 464h-219.31L53.978 346.836c-7.629-7.18-7.994-19.229-.814-26.857z',\n\t],\n};\nvar faHandshake = {\n\tprefix: 'far',\n\ticonName: 'handshake',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f2b5',\n\t\t'M616 96h-48c-7.107 0-13.49 3.091-17.884 8H526.59l-31.13-36.3-.16-.18A103.974 103.974 0 0 0 417.03 32h-46.55c-17.75 0-34.9 4.94-49.69 14.01C304.33 36.93 285.67 32 266.62 32h-32.11c-28.903 0-57.599 11.219-79.2 32.8L116.12 104H89.884C85.49 99.091 79.107 96 72 96H24c-13.255 0-24 10.745-24 24v240c0 13.255 10.745 24 24 24h48c10.449 0 19.334-6.68 22.629-16h18.801l75.35 67.57c25.542 26.45 59.925 44.43 96.58 44.43 16.39 0 32.28-3.85 46.1-10.93 24.936.496 51.101-10.368 69.07-31.41 19.684-5.579 37.503-17.426 50.72-34.6 20.989-4.401 40.728-16.492 53.42-35.06h40.701c3.295 9.32 12.18 16 22.629 16h48c13.255 0 24-10.745 24-24V120c0-13.255-10.745-24-24-24zM48 352c-8.837 0-16-7.163-16-16s7.163-16 16-16 16 7.163 16 16-7.163 16-16 16zm412.52-5.76c-15.35 14.295-36.884 11.328-39.95 8 1.414 13.382-18.257 41.043-49.08 38.88-5.541 18.523-28.218 33.826-51.49 25.75-8.89 8.89-22.46 13.13-34.64 13.13-24.95 0-47.77-14.54-63.14-30.91l-81.3-72.91a31.976 31.976 0 0 0-21.36-8.18H96V152h26.75c8.48 0 16.62-3.37 22.62-9.37l43.88-43.88A64.004 64.004 0 0 1 234.51 80h32.11c5.8 0 11.51.79 17 2.3l-43.27 50.49c-23.56 27.48-23.84 67.62-.66 95.44 32.388 38.866 91.378 39.228 124.48 1.98l25.98-30.08L462.59 296c13.44 14.6 10.95 38.13-2.07 50.24zM544 320h-24.458c.104-20.261-6.799-39.33-19.762-54.4L421.7 162.28c4.51-9.51 2.34-21.23-6.01-28.45-10.075-8.691-25.23-7.499-33.86 2.48l-53.63 62.12c-13.828 15.41-38.223 15.145-51.64-.93a25.857 25.857 0 0 1 .23-33.47l57.92-67.58A47.09 47.09 0 0 1 370.48 80h46.55c16.11 0 31.44 6.94 42.07 19.04L504.52 152H544v168zm48 32c-8.837 0-16-7.163-16-16s7.163-16 16-16 16 7.163 16 16-7.163 16-16 16z',\n\t],\n};\nvar faHdd = {\n\tprefix: 'far',\n\ticonName: 'hdd',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f0a0',\n\t\t'M567.403 235.642L462.323 84.589A48 48 0 0 0 422.919 64H153.081a48 48 0 0 0-39.404 20.589L8.597 235.642A48.001 48.001 0 0 0 0 263.054V400c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V263.054c0-9.801-3-19.366-8.597-27.412zM153.081 112h269.838l77.913 112H75.168l77.913-112zM528 400H48V272h480v128zm-32-64c0 17.673-14.327 32-32 32s-32-14.327-32-32 14.327-32 32-32 32 14.327 32 32zm-96 0c0 17.673-14.327 32-32 32s-32-14.327-32-32 14.327-32 32-32 32 14.327 32 32z',\n\t],\n};\nvar faHeart = {\n\tprefix: 'far',\n\ticonName: 'heart',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f004',\n\t\t'M257.3 475.4L92.5 313.6C85.4 307 24 248.1 24 174.8 24 84.1 80.8 24 176 24c41.4 0 80.6 22.8 112 49.8 31.3-27 70.6-49.8 112-49.8 91.7 0 152 56.5 152 150.8 0 52-31.8 103.5-68.1 138.7l-.4.4-164.8 161.5a43.7 43.7 0 0 1-61.4 0zM125.9 279.1L288 438.3l161.8-158.7c27.3-27 54.2-66.3 54.2-104.8C504 107.9 465.8 72 400 72c-47.2 0-92.8 49.3-112 68.4-17-17-64-68.4-112-68.4-65.9 0-104 35.9-104 102.8 0 37.3 26.7 78.9 53.9 104.3z',\n\t],\n};\nvar faHospital = {\n\tprefix: 'far',\n\ticonName: 'hospital',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f0f8',\n\t\t'M128 244v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12zm140 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm-76 84v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm76 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm180 124v36H0v-36c0-6.627 5.373-12 12-12h19.5V85.035C31.5 73.418 42.245 64 55.5 64H144V24c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v40h88.5c13.255 0 24 9.418 24 21.035V464H436c6.627 0 12 5.373 12 12zM79.5 463H192v-67c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v67h112.5V112H304v24c0 13.255-10.745 24-24 24H168c-13.255 0-24-10.745-24-24v-24H79.5v351zM266 64h-26V38a6 6 0 0 0-6-6h-20a6 6 0 0 0-6 6v26h-26a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6h26v26a6 6 0 0 0 6 6h20a6 6 0 0 0 6-6V96h26a6 6 0 0 0 6-6V70a6 6 0 0 0-6-6z',\n\t],\n};\nvar faHourglass = {\n\tprefix: 'far',\n\ticonName: 'hourglass',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f254',\n\t\t'M368 48h4c6.627 0 12-5.373 12-12V12c0-6.627-5.373-12-12-12H12C5.373 0 0 5.373 0 12v24c0 6.627 5.373 12 12 12h4c0 80.564 32.188 165.807 97.18 208C47.899 298.381 16 383.9 16 464h-4c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h360c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12h-4c0-80.564-32.188-165.807-97.18-208C336.102 213.619 368 128.1 368 48zM64 48h256c0 101.62-57.307 184-128 184S64 149.621 64 48zm256 416H64c0-101.62 57.308-184 128-184s128 82.38 128 184z',\n\t],\n};\nvar faIdBadge = {\n\tprefix: 'far',\n\ticonName: 'id-badge',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f2c1',\n\t\t'M0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V48c0-26.51-21.49-48-48-48H48C21.49 0 0 21.49 0 48zm336 32v378a6 6 0 0 1-6 6H54a6 6 0 0 1-6-6V80h288zm-144 80c38.66 0 70 31.34 70 70s-31.34 70-70 70-70-31.34-70-70 31.34-70 70-70zm80.187 146.047l-31.2-7.8c-32.779 23.577-72.51 18.316-97.974 0l-31.2 7.8C93.116 310.721 80 327.52 80 346.793V363c0 11.598 9.402 21 21 21h182c11.598 0 21-9.402 21-21v-16.207c0-19.273-13.116-36.072-31.813-40.746z',\n\t],\n};\nvar faIdCard = {\n\tprefix: 'far',\n\ticonName: 'id-card',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f2c2',\n\t\t'M404 256H300c-6.627 0-12-5.373-12-12v-16c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v16c0 6.627-5.373 12-12 12zm12 60v-16c0-6.627-5.373-12-12-12H300c-6.627 0-12 5.373-12 12v16c0 6.627 5.373 12 12 12h104c6.627 0 12-5.373 12-12zm96-204v288c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48zm-48 282V144H48v250a6 6 0 0 0 6 6h404a6 6 0 0 0 6-6zM176 192c27.614 0 50 22.386 50 50s-22.386 50-50 50-50-22.386-50-50 22.386-50 50-50zm57.276 104.319l-22.285-5.571c-23.413 16.841-51.793 13.083-69.981 0l-22.285 5.571C105.369 299.658 96 311.657 96 325.423V337c0 8.284 6.716 15 15 15h130c8.284 0 15-6.716 15-15v-11.577c0-13.766-9.369-25.765-22.724-29.104z',\n\t],\n};\nvar faImage = {\n\tprefix: 'far',\n\ticonName: 'image',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f03e',\n\t\t'M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 336H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v276a6 6 0 0 1-6 6zM128 152c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zM96 352h320v-80l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L192 304l-39.515-39.515c-4.686-4.686-12.284-4.686-16.971 0L96 304v48z',\n\t],\n};\nvar faImages = {\n\tprefix: 'far',\n\ticonName: 'images',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f302',\n\t\t'M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v48H54a6 6 0 0 0-6 6v244a6 6 0 0 0 6 6h372a6 6 0 0 0 6-6v-10h48zm42-336H150a6 6 0 0 0-6 6v244a6 6 0 0 0 6 6h372a6 6 0 0 0 6-6V86a6 6 0 0 0-6-6zm6-48c26.51 0 48 21.49 48 48v256c0 26.51-21.49 48-48 48H144c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h384zM264 144c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.909-40 40-40 40 17.909 40 40zm-72 96l39.515-39.515c4.686-4.686 12.284-4.686 16.971 0L288 240l103.515-103.515c4.686-4.686 12.284-4.686 16.971 0L480 208v80H192v-48z',\n\t],\n};\nvar faKeyboard = {\n\tprefix: 'far',\n\ticonName: 'keyboard',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f11c',\n\t\t'M528 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm8 336c0 4.411-3.589 8-8 8H48c-4.411 0-8-3.589-8-8V112c0-4.411 3.589-8 8-8h480c4.411 0 8 3.589 8 8v288zM170 270v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm-336 82v-28c0-6.627-5.373-12-12-12H82c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm384 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zM122 188v-28c0-6.627-5.373-12-12-12H82c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm-98 158v-16c0-6.627-5.373-12-12-12H180c-6.627 0-12 5.373-12 12v16c0 6.627 5.373 12 12 12h216c6.627 0 12-5.373 12-12z',\n\t],\n};\nvar faLemon = {\n\tprefix: 'far',\n\ticonName: 'lemon',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f094',\n\t\t'M484.112 27.889C455.989-.233 416.108-8.057 387.059 8.865 347.604 31.848 223.504-41.111 91.196 91.197-41.277 223.672 31.923 347.472 8.866 387.058c-16.922 29.051-9.1 68.932 19.022 97.054 28.135 28.135 68.011 35.938 97.057 19.021 39.423-22.97 163.557 49.969 295.858-82.329 132.474-132.477 59.273-256.277 82.331-295.861 16.922-29.05 9.1-68.931-19.022-97.054zm-22.405 72.894c-38.8 66.609 45.6 165.635-74.845 286.08-120.44 120.443-219.475 36.048-286.076 74.843-22.679 13.207-64.035-27.241-50.493-50.488 38.8-66.609-45.6-165.635 74.845-286.08C245.573 4.702 344.616 89.086 411.219 50.292c22.73-13.24 64.005 27.288 50.488 50.491zm-169.861 8.736c1.37 10.96-6.404 20.957-17.365 22.327-54.846 6.855-135.779 87.787-142.635 142.635-1.373 10.989-11.399 18.734-22.326 17.365-10.961-1.37-18.735-11.366-17.365-22.326 9.162-73.286 104.167-168.215 177.365-177.365 10.953-1.368 20.956 6.403 22.326 17.364z',\n\t],\n};\nvar faLifeRing = {\n\tprefix: 'far',\n\ticonName: 'life-ring',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f1cd',\n\t\t'M256 504c136.967 0 248-111.033 248-248S392.967 8 256 8 8 119.033 8 256s111.033 248 248 248zm-103.398-76.72l53.411-53.411c31.806 13.506 68.128 13.522 99.974 0l53.411 53.411c-63.217 38.319-143.579 38.319-206.796 0zM336 256c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zm91.28 103.398l-53.411-53.411c13.505-31.806 13.522-68.128 0-99.974l53.411-53.411c38.319 63.217 38.319 143.579 0 206.796zM359.397 84.72l-53.411 53.411c-31.806-13.505-68.128-13.522-99.973 0L152.602 84.72c63.217-38.319 143.579-38.319 206.795 0zM84.72 152.602l53.411 53.411c-13.506 31.806-13.522 68.128 0 99.974L84.72 359.398c-38.319-63.217-38.319-143.579 0-206.796z',\n\t],\n};\nvar faLightbulb = {\n\tprefix: 'far',\n\ticonName: 'lightbulb',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f0eb',\n\t\t'M272 428v28c0 10.449-6.68 19.334-16 22.629V488c0 13.255-10.745 24-24 24h-80c-13.255 0-24-10.745-24-24v-9.371c-9.32-3.295-16-12.18-16-22.629v-28c0-6.627 5.373-12 12-12h136c6.627 0 12 5.373 12 12zM128 176c0-35.29 28.71-64 64-64 8.837 0 16-7.164 16-16s-7.163-16-16-16c-52.935 0-96 43.065-96 96 0 8.836 7.164 16 16 16s16-7.164 16-16zm64-128c70.734 0 128 57.254 128 128 0 77.602-37.383 60.477-80.98 160h-94.04C101.318 236.33 64 253.869 64 176c0-70.735 57.254-128 128-128m0-48C94.805 0 16 78.803 16 176c0 101.731 51.697 91.541 90.516 192.674 3.55 9.249 12.47 15.326 22.376 15.326h126.215c9.906 0 18.826-6.078 22.376-15.326C316.303 267.541 368 277.731 368 176 368 78.803 289.195 0 192 0z',\n\t],\n};\nvar faListAlt = {\n\tprefix: 'far',\n\ticonName: 'list-alt',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f022',\n\t\t'M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v340a6 6 0 0 1-6 6zm-42-92v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm-252 12c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36z',\n\t],\n};\nvar faMap = {\n\tprefix: 'far',\n\ticonName: 'map',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f279',\n\t\t'M508.505 36.17L381.517 92.576 207.179 34.463a47.992 47.992 0 0 0-34.674 1.674l-144 64A48 48 0 0 0 0 144v287.967c0 34.938 35.991 57.864 67.495 43.863l126.988-56.406 174.339 58.113a47.992 47.992 0 0 0 34.674-1.674l144-64A48 48 0 0 0 576 368V80.033c0-34.938-35.991-57.864-67.495-43.863zM360 424l-144-48V88l144 48v288zm-312 8V144l120-53.333v288L48 432zm480-64l-120 53.333v-288L528 80v288z',\n\t],\n};\nvar faMeh = {\n\tprefix: 'far',\n\ticonName: 'meh',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f11a',\n\t\t'M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm64 136c-9.535 0-18.512 2.386-26.37 6.589h.017c12.735 0 23.059 10.324 23.059 23.059 0 12.735-10.324 23.059-23.059 23.059s-23.059-10.324-23.059-23.059v-.017C266.386 181.488 264 190.465 264 200c0 30.928 25.072 56 56 56s56-25.072 56-56-25.072-56-56-56zm-128 0c-9.535 0-18.512 2.386-26.37 6.589h.017c12.735 0 23.059 10.324 23.059 23.059 0 12.735-10.324 23.059-23.059 23.059-12.735 0-23.059-10.324-23.059-23.059v-.017C138.386 181.488 136 190.465 136 200c0 30.928 25.072 56 56 56s56-25.072 56-56-25.072-56-56-56zm136 184H184c-31.776 0-31.749 48 0 48h144c31.776 0 31.749-48 0-48z',\n\t],\n};\nvar faMinusSquare = {\n\tprefix: 'far',\n\ticonName: 'minus-square',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f146',\n\t\t'M108 284c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h232c6.6 0 12 5.4 12 12v32c0 6.6-5.4 12-12 12H108zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z',\n\t],\n};\nvar faMoneyBillAlt = {\n\tprefix: 'far',\n\ticonName: 'money-bill-alt',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f3d1',\n\t\t'M320 144c-53.021 0-96 50.143-96 112 0 61.847 42.977 112 96 112 53 0 96-50.13 96-112 0-61.857-42.979-112-96-112zm48 164.428c0 7.477-3.917 11.572-11.572 11.572h-67.293c-7.656 0-11.573-4.095-11.573-11.572v-8.901c0-7.477 3.917-11.572 11.573-11.572h15.131v-39.878c0-5.163.534-10.503.534-10.503h-.356s-1.779 2.67-2.848 3.738c-4.451 4.273-10.504 4.451-15.666-1.068l-5.518-6.231c-5.342-5.341-4.984-11.216.534-16.379l21.72-19.939c4.449-4.095 8.366-5.697 14.42-5.697h12.105c7.656 0 11.75 3.916 11.75 11.572v84.384h15.488c7.655 0 11.572 4.094 11.572 11.572v8.902zM616 64H24C10.745 64 0 74.745 0 88v335c0 13.255 10.745 24 24 24h592c13.255 0 24-10.745 24-24V88c0-13.255-10.745-24-24-24zM512 400H128c0-44.183-35.817-80-80-80V192c44.183 0 80-35.817 80-80h384c0 44.183 35.817 80 80 80v128c-44.183 0-80 35.817-80 80z',\n\t],\n};\nvar faMoon = {\n\tprefix: 'far',\n\ticonName: 'moon',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f186',\n\t\t'M279.135 512c78.756 0 150.982-35.804 198.844-94.775 28.27-34.831-2.558-85.722-46.249-77.401-82.348 15.683-158.272-47.268-158.272-130.792 0-48.424 26.06-92.292 67.434-115.836 38.745-22.05 28.999-80.788-15.022-88.919A257.936 257.936 0 0 0 279.135 0c-141.36 0-256 114.575-256 256 0 141.36 114.576 256 256 256zm0-464c12.985 0 25.689 1.201 38.016 3.478-54.76 31.163-91.693 90.042-91.693 157.554 0 113.848 103.641 199.2 215.252 177.944C402.574 433.964 344.366 464 279.135 464c-114.875 0-208-93.125-208-208s93.125-208 208-208z',\n\t],\n};\nvar faNewspaper = {\n\tprefix: 'far',\n\ticonName: 'newspaper',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f1ea',\n\t\t'M552 64H112c-20.858 0-38.643 13.377-45.248 32H24c-13.255 0-24 10.745-24 24v272c0 30.928 25.072 56 56 56h496c13.255 0 24-10.745 24-24V88c0-13.255-10.745-24-24-24zM48 392V144h16v248c0 4.411-3.589 8-8 8s-8-3.589-8-8zm480 8H111.422c.374-2.614.578-5.283.578-8V112h416v288zM172 280h136c6.627 0 12-5.373 12-12v-96c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v96c0 6.627 5.373 12 12 12zm28-80h80v40h-80v-40zm-40 140v-24c0-6.627 5.373-12 12-12h136c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H172c-6.627 0-12-5.373-12-12zm192 0v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12zm0-144v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12zm0 72v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12z',\n\t],\n};\nvar faObjectGroup = {\n\tprefix: 'far',\n\ticonName: 'object-group',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f247',\n\t\t'M500 128c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12H96V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v72c0 6.627 5.373 12 12 12h12v256H12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h320v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12V128h12zm-52-64h32v32h-32V64zM32 64h32v32H32V64zm32 384H32v-32h32v32zm416 0h-32v-32h32v32zm-40-64h-12c-6.627 0-12 5.373-12 12v12H96v-12c0-6.627-5.373-12-12-12H72V128h12c6.627 0 12-5.373 12-12v-12h320v12c0 6.627 5.373 12 12 12h12v256zm-36-192h-84v-52c0-6.628-5.373-12-12-12H108c-6.627 0-12 5.372-12 12v168c0 6.628 5.373 12 12 12h84v52c0 6.628 5.373 12 12 12h200c6.627 0 12-5.372 12-12V204c0-6.628-5.373-12-12-12zm-268-24h144v112H136V168zm240 176H232v-24h76c6.627 0 12-5.372 12-12v-76h56v112z',\n\t],\n};\nvar faObjectUngroup = {\n\tprefix: 'far',\n\ticonName: 'object-ungroup',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f248',\n\t\t'M564 224c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12h-88v-24h12c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12H96V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v72c0 6.627 5.373 12 12 12h12v160H12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h88v24h-12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h224v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12V224h12zM352 64h32v32h-32V64zm0 256h32v32h-32v-32zM64 352H32v-32h32v32zm0-256H32V64h32v32zm32 216v-12c0-6.627-5.373-12-12-12H72V128h12c6.627 0 12-5.373 12-12v-12h224v12c0 6.627 5.373 12 12 12h12v160h-12c-6.627 0-12 5.373-12 12v12H96zm128 136h-32v-32h32v32zm280-64h-12c-6.627 0-12 5.373-12 12v12H256v-12c0-6.627-5.373-12-12-12h-12v-24h88v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12v-88h88v12c0 6.627 5.373 12 12 12h12v160zm40 64h-32v-32h32v32zm0-256h-32v-32h32v32z',\n\t],\n};\nvar faPaperPlane = {\n\tprefix: 'far',\n\ticonName: 'paper-plane',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f1d8',\n\t\t'M440 6.5L24 246.4c-34.4 19.9-31.1 70.8 5.7 85.9L144 379.6V464c0 46.4 59.2 65.5 86.6 28.6l43.8-59.1 111.9 46.2c5.9 2.4 12.1 3.6 18.3 3.6 8.2 0 16.3-2.1 23.6-6.2 12.8-7.2 21.6-20 23.9-34.5l59.4-387.2c6.1-40.1-36.9-68.8-71.5-48.9zM192 464v-64.6l36.6 15.1L192 464zm212.6-28.7l-153.8-63.5L391 169.5c10.7-15.5-9.5-33.5-23.7-21.2L155.8 332.6 48 288 464 48l-59.4 387.3z',\n\t],\n};\nvar faPauseCircle = {\n\tprefix: 'far',\n\ticonName: 'pause-circle',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f28b',\n\t\t'M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm96-280v160c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16zm-112 0v160c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16z',\n\t],\n};\nvar faPlayCircle = {\n\tprefix: 'far',\n\ticonName: 'play-circle',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f144',\n\t\t'M371.7 238l-176-107c-15.8-8.8-35.7 2.5-35.7 21v208c0 18.4 19.8 29.8 35.7 21l176-101c16.4-9.1 16.4-32.8 0-42zM504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256z',\n\t],\n};\nvar faPlusSquare = {\n\tprefix: 'far',\n\ticonName: 'plus-square',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f0fe',\n\t\t'M352 240v32c0 6.6-5.4 12-12 12h-88v88c0 6.6-5.4 12-12 12h-32c-6.6 0-12-5.4-12-12v-88h-88c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h88v-88c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v88h88c6.6 0 12 5.4 12 12zm96-160v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z',\n\t],\n};\nvar faQuestionCircle = {\n\tprefix: 'far',\n\ticonName: 'question-circle',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f059',\n\t\t'M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 448c-110.532 0-200-89.431-200-200 0-110.495 89.472-200 200-200 110.491 0 200 89.471 200 200 0 110.53-89.431 200-200 200zm107.244-255.2c0 67.052-72.421 68.084-72.421 92.863V300c0 6.627-5.373 12-12 12h-45.647c-6.627 0-12-5.373-12-12v-8.659c0-35.745 27.1-50.034 47.579-61.516 17.561-9.845 28.324-16.541 28.324-29.579 0-17.246-21.999-28.693-39.784-28.693-23.189 0-33.894 10.977-48.942 29.969-4.057 5.12-11.46 6.071-16.666 2.124l-27.824-21.098c-5.107-3.872-6.251-11.066-2.644-16.363C184.846 131.491 214.94 112 261.794 112c49.071 0 101.45 38.304 101.45 88.8zM298 368c0 23.159-18.841 42-42 42s-42-18.841-42-42 18.841-42 42-42 42 18.841 42 42z',\n\t],\n};\nvar faRegistered = {\n\tprefix: 'far',\n\ticonName: 'registered',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f25d',\n\t\t'M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 448c-110.532 0-200-89.451-200-200 0-110.531 89.451-200 200-200 110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200zm110.442-81.791c-53.046-96.284-50.25-91.468-53.271-96.085 24.267-13.879 39.482-41.563 39.482-73.176 0-52.503-30.247-85.252-101.498-85.252h-78.667c-6.617 0-12 5.383-12 12V380c0 6.617 5.383 12 12 12h38.568c6.617 0 12-5.383 12-12v-83.663h31.958l47.515 89.303a11.98 11.98 0 0 0 10.593 6.36h42.81c9.14 0 14.914-9.799 10.51-17.791zM256.933 239.906h-33.875v-64.14h27.377c32.417 0 38.929 12.133 38.929 31.709-.001 20.913-11.518 32.431-32.431 32.431z',\n\t],\n};\nvar faSave = {\n\tprefix: 'far',\n\ticonName: 'save',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f0c7',\n\t\t'M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM272 80v80H144V80h128zm122 352H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h42v104c0 13.255 10.745 24 24 24h176c13.255 0 24-10.745 24-24V83.882l78.243 78.243a6 6 0 0 1 1.757 4.243V426a6 6 0 0 1-6 6zM224 232c-48.523 0-88 39.477-88 88s39.477 88 88 88 88-39.477 88-88-39.477-88-88-88zm0 128c-22.056 0-40-17.944-40-40s17.944-40 40-40 40 17.944 40 40-17.944 40-40 40z',\n\t],\n};\nvar faShareSquare = {\n\tprefix: 'far',\n\ticonName: 'share-square',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f14d',\n\t\t'M561.938 158.06L417.94 14.092C387.926-15.922 336 5.097 336 48.032v57.198c-42.45 1.88-84.03 6.55-120.76 17.99-35.17 10.95-63.07 27.58-82.91 49.42C108.22 199.2 96 232.6 96 271.94c0 61.697 33.178 112.455 84.87 144.76 37.546 23.508 85.248-12.651 71.02-55.74-15.515-47.119-17.156-70.923 84.11-78.76V336c0 42.993 51.968 63.913 81.94 33.94l143.998-144c18.75-18.74 18.75-49.14 0-67.88zM384 336V232.16C255.309 234.082 166.492 255.35 206.31 376 176.79 357.55 144 324.08 144 271.94c0-109.334 129.14-118.947 240-119.85V48l144 144-144 144zm24.74 84.493a82.658 82.658 0 0 0 20.974-9.303c7.976-4.952 18.286.826 18.286 10.214V464c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h132c6.627 0 12 5.373 12 12v4.486c0 4.917-2.987 9.369-7.569 11.152-13.702 5.331-26.396 11.537-38.05 18.585a12.138 12.138 0 0 1-6.28 1.777H54a6 6 0 0 0-6 6v340a6 6 0 0 0 6 6h340a6 6 0 0 0 6-6v-25.966c0-5.37 3.579-10.059 8.74-11.541z',\n\t],\n};\nvar faSmile = {\n\tprefix: 'far',\n\ticonName: 'smile',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f118',\n\t\t'M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm64 136c-9.535 0-18.512 2.386-26.37 6.589h.017c12.735 0 23.059 10.324 23.059 23.059 0 12.735-10.324 23.059-23.059 23.059s-23.059-10.324-23.059-23.059v-.017C266.386 181.488 264 190.465 264 200c0 30.928 25.072 56 56 56s56-25.072 56-56-25.072-56-56-56zm-128 0c-9.535 0-18.512 2.386-26.37 6.589h.017c12.735 0 23.059 10.324 23.059 23.059 0 12.735-10.324 23.059-23.059 23.059-12.735 0-23.059-10.324-23.059-23.059v-.017C138.386 181.488 136 190.465 136 200c0 30.928 25.072 56 56 56s56-25.072 56-56-25.072-56-56-56zm195.372 182.219c18.819-25.592-19.856-54.017-38.67-28.438-50.135 68.177-135.229 68.18-185.367 0-18.828-25.601-57.478 2.861-38.67 28.438 69.298 94.231 193.323 94.351 262.707 0z',\n\t],\n};\nvar faSnowflake = {\n\tprefix: 'far',\n\ticonName: 'snowflake',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f2dc',\n\t\t'M438.237 355.927l-66.574-38.54 59.448-10.327c5.846-1.375 10.609-5.183 13.458-10.13 2.48-4.307 3.506-9.478 2.524-14.651-2.11-11.115-12.686-18.039-23.621-15.467l-85.423 31.115L255.914 256l82.136-41.926 85.423 31.115c10.936 2.572 21.512-4.352 23.621-15.467 2.111-11.115-5.046-22.209-15.981-24.781l-59.448-10.327 66.573-38.54c9.54-5.523 12.615-18.092 6.867-28.074-5.748-9.982-18.14-13.596-27.68-8.074l-66.574 38.54 20.805-56.787c3.246-10.782-2.758-22.542-13.413-26.268-10.654-3.725-21.922 1.997-25.168 12.779l-15.838 89.735-72.423 41.926V136l69.585-58.621c7.689-8.21 6.997-20.856-1.548-28.245-8.545-7.391-21.705-6.723-29.394 1.486l-38.644 46.46V20c0-11.046-9.318-20-20.813-20s-20.813 8.954-20.813 20v77.08l-38.644-46.46c-7.689-8.21-20.849-8.876-29.394-1.486-8.544 7.389-9.236 20.035-1.547 28.245L203.187 136v83.853l-72.423-41.926-15.838-89.736c-3.247-10.782-14.515-16.504-25.169-12.779-10.656 3.725-16.659 15.486-13.413 26.268l20.805 56.787-66.573-38.54c-9.54-5.523-21.933-1.908-27.68 8.074s-2.673 22.551 6.867 28.074l66.574 38.54-59.449 10.328C5.953 207.515-1.202 218.609.907 229.724c2.11 11.114 12.686 18.038 23.622 15.466l85.422-31.115L192.086 256l-82.136 41.926-85.423-31.115c-10.936-2.572-21.511 4.352-23.622 15.466-2.109 11.113 5.046 22.209 15.981 24.781l59.449 10.328-66.574 38.54C.223 361.449-2.852 374.018 2.896 384s18.14 13.597 27.68 8.074l66.574-38.54-20.805 56.786c-1.735 5.764-.828 11.805 2.02 16.751 2.48 4.307 6.433 7.784 11.392 9.517 10.655 3.725 21.923-1.997 25.169-12.779l15.838-89.736 72.423-41.926V376l-69.585 58.621c-7.69 8.21-6.997 20.855 1.547 28.245 8.544 7.388 21.705 6.723 29.394-1.487l38.644-46.46V492c0 11.046 9.318 20 20.813 20s20.813-8.954 20.813-20v-77.081l38.644 46.46c4.111 4.389 9.782 6.621 15.478 6.621 4.96 0 9.939-1.694 13.916-5.134 8.545-7.39 9.237-20.035 1.548-28.245L244.813 376v-83.853l72.423 41.926 15.838 89.736c3.246 10.782 14.514 16.504 25.168 12.779 10.653-3.726 16.659-15.487 13.412-26.268l-20.805-56.787 66.574 38.54c9.54 5.523 21.933 1.908 27.68-8.074 5.749-9.981 2.675-22.55-6.866-28.072z',\n\t],\n};\nvar faSquare = {\n\tprefix: 'far',\n\ticonName: 'square',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f0c8',\n\t\t'M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h340c3.3 0 6 2.7 6 6v340c0 3.3-2.7 6-6 6z',\n\t],\n};\nvar faStar = {\n\tprefix: 'far',\n\ticonName: 'star',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f005',\n\t\t'M528.1 171.5L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6zM388.6 312.3l23.7 138.4L288 385.4l-124.3 65.3 23.7-138.4-100.6-98 139-20.2 62.2-126 62.2 126 139 20.2-100.6 98z',\n\t],\n};\nvar faStarHalf = {\n\tprefix: 'far',\n\ticonName: 'star-half',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f089',\n\t\t'M288 385.3l-124.3 65.4 23.7-138.4-100.6-98 139-20.2 62.2-126V0c-11.4 0-22.8 5.9-28.7 17.8L194 150.2 47.9 171.4c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.1 23 46 46.4 33.7L288 439.6v-54.3z',\n\t],\n};\nvar faStickyNote = {\n\tprefix: 'far',\n\ticonName: 'sticky-note',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f249',\n\t\t'M448 348.106V80c0-26.51-21.49-48-48-48H48C21.49 32 0 53.49 0 80v351.988c0 26.51 21.49 48 48 48h268.118a48 48 0 0 0 33.941-14.059l83.882-83.882A48 48 0 0 0 448 348.106zm-128 80v-76.118h76.118L320 428.106zM400 80v223.988H296c-13.255 0-24 10.745-24 24v104H48V80h352z',\n\t],\n};\nvar faStopCircle = {\n\tprefix: 'far',\n\ticonName: 'stop-circle',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f28d',\n\t\t'M504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256zm296-80v160c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16z',\n\t],\n};\nvar faSun = {\n\tprefix: 'far',\n\ticonName: 'sun',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f185',\n\t\t'M220.116 487.936l-20.213-49.425a3.992 3.992 0 0 0-5.808-1.886l-45.404 28.104c-29.466 18.24-66.295-8.519-58.054-42.179l12.699-51.865a3.993 3.993 0 0 0-3.59-4.941l-53.251-3.951c-34.554-2.562-48.632-45.855-22.174-68.247L65.08 259.05a3.992 3.992 0 0 0 0-6.106l-40.76-34.497c-26.45-22.384-12.39-65.682 22.174-68.246l53.251-3.951a3.993 3.993 0 0 0 3.59-4.941L90.637 89.443c-8.239-33.656 28.581-60.42 58.054-42.179l45.403 28.104a3.993 3.993 0 0 0 5.808-1.887l20.213-49.425c13.116-32.071 58.638-32.081 71.758 0l20.212 49.424a3.994 3.994 0 0 0 5.809 1.887l45.403-28.104c29.464-18.236 66.297 8.513 58.054 42.179l-12.699 51.865a3.995 3.995 0 0 0 3.59 4.941l53.251 3.951c34.553 2.563 48.633 45.854 22.175 68.246l-40.76 34.497a3.993 3.993 0 0 0 0 6.107l40.76 34.496c26.511 22.441 12.322 65.689-22.175 68.247l-53.251 3.951a3.993 3.993 0 0 0-3.589 4.942l12.698 51.864c8.241 33.658-28.583 60.421-58.054 42.18l-45.403-28.104a3.994 3.994 0 0 0-5.809 1.887l-20.212 49.424c-13.159 32.178-58.675 31.993-71.757 0zm16.814-64.568l19.064 46.616 19.064-46.615c10.308-25.2 40.778-35.066 63.892-20.759l42.822 26.507-11.976-48.919c-6.475-26.444 12.38-52.339 39.487-54.349l50.226-3.726-38.444-32.536c-20.782-17.591-20.747-49.621.001-67.18l38.442-32.536-50.225-3.727c-27.151-2.015-45.95-27.948-39.488-54.349l11.978-48.919-42.823 26.507c-23.151 14.327-53.603 4.4-63.892-20.76l-19.064-46.615-19.064 46.617c-10.305 25.198-40.778 35.066-63.891 20.76l-42.823-26.508 11.977 48.918c6.474 26.446-12.381 52.338-39.488 54.35l-50.224 3.726 38.443 32.537c20.782 17.588 20.747 49.619 0 67.178L52.48 322.123l50.226 3.726c27.151 2.014 45.95 27.947 39.487 54.349l-11.977 48.919 42.823-26.507c23.188-14.355 53.622-4.352 63.891 20.758zM256 384c-70.58 0-128-57.421-128-128 0-70.58 57.42-128 128-128 70.579 0 128 57.42 128 128 0 70.579-57.421 128-128 128zm0-208c-44.112 0-80 35.888-80 80s35.888 80 80 80 80-35.888 80-80-35.888-80-80-80z',\n\t],\n};\nvar faThumbsDown = {\n\tprefix: 'far',\n\ticonName: 'thumbs-down',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f165',\n\t\t'M466.27 225.31c4.674-22.647.864-44.538-8.99-62.99 2.958-23.868-4.021-48.565-17.34-66.99C438.986 39.423 404.117 0 327 0c-7 0-15 .01-22.22.01C201.195.01 168.997 40 128 40h-10.845c-5.64-4.975-13.042-8-21.155-8H32C14.327 32 0 46.327 0 64v240c0 17.673 14.327 32 32 32h64c11.842 0 22.175-6.438 27.708-16h7.052c19.146 16.953 46.013 60.653 68.76 83.4 13.667 13.667 10.153 108.6 71.76 108.6 57.58 0 95.27-31.936 95.27-104.73 0-18.41-3.93-33.73-8.85-46.54h36.48c48.602 0 85.82-41.565 85.82-85.58 0-19.15-4.96-34.99-13.73-49.84zM64 296c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zm330.18 16.73H290.19c0 37.82 28.36 55.37 28.36 94.54 0 23.75 0 56.73-47.27 56.73-18.91-18.91-9.46-66.18-37.82-94.54C206.9 342.89 167.28 272 138.92 272H128V85.83c53.611 0 100.001-37.82 171.64-37.82h37.82c35.512 0 60.82 17.12 53.12 65.9 15.2 8.16 26.5 36.44 13.94 57.57 21.581 20.384 18.699 51.065 5.21 65.62 9.45 0 22.36 18.91 22.27 37.81-.09 18.91-16.71 37.82-37.82 37.82z',\n\t],\n};\nvar faThumbsUp = {\n\tprefix: 'far',\n\ticonName: 'thumbs-up',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f164',\n\t\t'M466.27 286.69C475.04 271.84 480 256 480 236.85c0-44.015-37.218-85.58-85.82-85.58H357.7c4.92-12.81 8.85-28.13 8.85-46.54C366.55 31.936 328.86 0 271.28 0c-61.607 0-58.093 94.933-71.76 108.6-22.747 22.747-49.615 66.447-68.76 83.4H32c-17.673 0-32 14.327-32 32v240c0 17.673 14.327 32 32 32h64c14.893 0 27.408-10.174 30.978-23.95 44.509 1.001 75.06 39.94 177.802 39.94 7.22 0 15.22.01 22.22.01 77.117 0 111.986-39.423 112.94-95.33 13.319-18.425 20.299-43.122 17.34-66.99 9.854-18.452 13.664-40.343 8.99-62.99zm-61.75 53.83c12.56 21.13 1.26 49.41-13.94 57.57 7.7 48.78-17.608 65.9-53.12 65.9h-37.82c-71.639 0-118.029-37.82-171.64-37.82V240h10.92c28.36 0 67.98-70.89 94.54-97.46 28.36-28.36 18.91-75.63 37.82-94.54 47.27 0 47.27 32.98 47.27 56.73 0 39.17-28.36 56.72-28.36 94.54h103.99c21.11 0 37.73 18.91 37.82 37.82.09 18.9-12.82 37.81-22.27 37.81 13.489 14.555 16.371 45.236-5.21 65.62zM88 432c0 13.255-10.745 24-24 24s-24-10.745-24-24 10.745-24 24-24 24 10.745 24 24z',\n\t],\n};\nvar faTimesCircle = {\n\tprefix: 'far',\n\ticonName: 'times-circle',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f057',\n\t\t'M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm101.8-262.2L295.6 256l62.2 62.2c4.7 4.7 4.7 12.3 0 17l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L256 295.6l-62.2 62.2c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l62.2-62.2-62.2-62.2c-4.7-4.7-4.7-12.3 0-17l22.6-22.6c4.7-4.7 12.3-4.7 17 0l62.2 62.2 62.2-62.2c4.7-4.7 12.3-4.7 17 0l22.6 22.6c4.7 4.7 4.7 12.3 0 17z',\n\t],\n};\nvar faTrashAlt = {\n\tprefix: 'far',\n\ticonName: 'trash-alt',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f2ed',\n\t\t'M192 188v216c0 6.627-5.373 12-12 12h-24c-6.627 0-12-5.373-12-12V188c0-6.627 5.373-12 12-12h24c6.627 0 12 5.373 12 12zm100-12h-24c-6.627 0-12 5.373-12 12v216c0 6.627 5.373 12 12 12h24c6.627 0 12-5.373 12-12V188c0-6.627-5.373-12-12-12zm132-96c13.255 0 24 10.745 24 24v12c0 6.627-5.373 12-12 12h-20v336c0 26.51-21.49 48-48 48H80c-26.51 0-48-21.49-48-48V128H12c-6.627 0-12-5.373-12-12v-12c0-13.255 10.745-24 24-24h74.411l34.018-56.696A48 48 0 0 1 173.589 0h100.823a48 48 0 0 1 41.16 23.304L349.589 80H424zm-269.611 0h139.223L276.16 50.913A6 6 0 0 0 271.015 48h-94.028a6 6 0 0 0-5.145 2.913L154.389 80zM368 128H80v330a6 6 0 0 0 6 6h276a6 6 0 0 0 6-6V128z',\n\t],\n};\nvar faUser = {\n\tprefix: 'far',\n\ticonName: 'user',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f007',\n\t\t'M423.309 291.025L402.221 285C431.798 243.89 436 202.294 436 180 436 80.649 355.484 0 256 0 156.649 0 76 80.516 76 180c0 22.299 4.198 63.884 33.779 105l-21.088 6.025C21.28 310.285 0 371.59 0 408.605v25.681C0 477.138 34.862 512 77.714 512h356.571C477.138 512 512 477.138 512 434.286v-25.681c0-36.247-20.725-98.161-88.691-117.58zM256 48c72.902 0 132 59.099 132 132s-59.098 132-132 132-132-59.099-132-132S183.098 48 256 48zm208 386.286c0 16.41-13.304 29.714-29.714 29.714H77.714C61.304 464 48 450.696 48 434.286v-25.681c0-33.167 21.987-62.316 53.878-71.427l46.103-13.172C162.683 335.058 200.427 360 256 360s93.317-24.942 108.019-35.994l46.103 13.172C442.013 346.29 464 375.438 464 408.605v25.681z',\n\t],\n};\nvar faUserCircle = {\n\tprefix: 'far',\n\ticonName: 'user-circle',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f2bd',\n\t\t'M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 48c110.457 0 200 89.543 200 200 0 36.982-10.049 71.611-27.548 101.328-7.072-25.444-25.663-54.208-63.93-65.374C377.207 271.782 384 248.414 384 224c0-70.689-57.189-128-128-128-70.689 0-128 57.19-128 128 0 24.414 6.793 47.783 19.478 67.954-38.299 11.175-56.876 39.913-63.938 65.362C66.046 327.601 56 292.976 56 256c0-110.457 89.543-200 200-200zm80 168c0 44.183-35.817 80-80 80s-80-35.817-80-80 35.817-80 80-80 80 35.817 80 80zM128 409.669v-27.758c0-20.41 13.53-38.348 33.156-43.955l24.476-6.993C206.342 344.648 230.605 352 256 352s49.658-7.352 70.369-21.038l24.476 6.993C370.47 343.563 384 361.5 384 381.911v27.758C349.315 438.592 304.693 456 256 456s-93.315-17.408-128-46.331z',\n\t],\n};\nvar faWindowClose = {\n\tprefix: 'far',\n\ticonName: 'window-close',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f410',\n\t\t'M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v340zM356.5 194.6L295.1 256l61.4 61.4c4.6 4.6 4.6 12.1 0 16.8l-22.3 22.3c-4.6 4.6-12.1 4.6-16.8 0L256 295.1l-61.4 61.4c-4.6 4.6-12.1 4.6-16.8 0l-22.3-22.3c-4.6-4.6-4.6-12.1 0-16.8l61.4-61.4-61.4-61.4c-4.6-4.6-4.6-12.1 0-16.8l22.3-22.3c4.6-4.6 12.1-4.6 16.8 0l61.4 61.4 61.4-61.4c4.6-4.6 12.1-4.6 16.8 0l22.3 22.3c4.7 4.6 4.7 12.1 0 16.8z',\n\t],\n};\nvar faWindowMaximize = {\n\tprefix: 'far',\n\ticonName: 'window-maximize',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f2d0',\n\t\t'M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V192h416v234z',\n\t],\n};\nvar faWindowMinimize = {\n\tprefix: 'far',\n\ticonName: 'window-minimize',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f2d1',\n\t\t'M480 480H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h448c17.7 0 32 14.3 32 32s-14.3 32-32 32z',\n\t],\n};\nvar faWindowRestore = {\n\tprefix: 'far',\n\ticonName: 'window-restore',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f2d2',\n\t\t'M464 0H144c-26.5 0-48 21.5-48 48v48H48c-26.5 0-48 21.5-48 48v320c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h48c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-96 464H48V256h320v208zm96-96h-48V144c0-26.5-21.5-48-48-48H144V48h320v320z',\n\t],\n};\nvar icons$1 = {\n\tfaAddressBook: faAddressBook,\n\tfaAddressCard: faAddressCard,\n\tfaArrowAltCircleDown: faArrowAltCircleDown,\n\tfaArrowAltCircleLeft: faArrowAltCircleLeft,\n\tfaArrowAltCircleRight: faArrowAltCircleRight,\n\tfaArrowAltCircleUp: faArrowAltCircleUp,\n\tfaBell: faBell,\n\tfaBellSlash: faBellSlash,\n\tfaBookmark: faBookmark,\n\tfaBuilding: faBuilding,\n\tfaCalendar: faCalendar,\n\tfaCalendarAlt: faCalendarAlt,\n\tfaCalendarCheck: faCalendarCheck,\n\tfaCalendarMinus: faCalendarMinus,\n\tfaCalendarPlus: faCalendarPlus,\n\tfaCalendarTimes: faCalendarTimes,\n\tfaCaretSquareDown: faCaretSquareDown,\n\tfaCaretSquareLeft: faCaretSquareLeft,\n\tfaCaretSquareRight: faCaretSquareRight,\n\tfaCaretSquareUp: faCaretSquareUp,\n\tfaChartBar: faChartBar,\n\tfaCheckCircle: faCheckCircle,\n\tfaCheckSquare: faCheckSquare,\n\tfaCircle: faCircle,\n\tfaClipboard: faClipboard,\n\tfaClock: faClock,\n\tfaClone: faClone,\n\tfaClosedCaptioning: faClosedCaptioning,\n\tfaComment: faComment,\n\tfaCommentAlt: faCommentAlt,\n\tfaComments: faComments,\n\tfaCompass: faCompass,\n\tfaCopy: faCopy,\n\tfaCopyright: faCopyright,\n\tfaCreditCard: faCreditCard,\n\tfaDotCircle: faDotCircle,\n\tfaEdit: faEdit,\n\tfaEnvelope: faEnvelope,\n\tfaEnvelopeOpen: faEnvelopeOpen,\n\tfaEyeSlash: faEyeSlash,\n\tfaFile: faFile,\n\tfaFileAlt: faFileAlt,\n\tfaFileArchive: faFileArchive,\n\tfaFileAudio: faFileAudio,\n\tfaFileCode: faFileCode,\n\tfaFileExcel: faFileExcel,\n\tfaFileImage: faFileImage,\n\tfaFilePdf: faFilePdf,\n\tfaFilePowerpoint: faFilePowerpoint,\n\tfaFileVideo: faFileVideo,\n\tfaFileWord: faFileWord,\n\tfaFlag: faFlag,\n\tfaFolder: faFolder,\n\tfaFolderOpen: faFolderOpen,\n\tfaFrown: faFrown,\n\tfaFutbol: faFutbol,\n\tfaGem: faGem,\n\tfaHandLizard: faHandLizard,\n\tfaHandPaper: faHandPaper,\n\tfaHandPeace: faHandPeace,\n\tfaHandPointDown: faHandPointDown,\n\tfaHandPointLeft: faHandPointLeft,\n\tfaHandPointRight: faHandPointRight,\n\tfaHandPointUp: faHandPointUp,\n\tfaHandPointer: faHandPointer,\n\tfaHandRock: faHandRock,\n\tfaHandScissors: faHandScissors,\n\tfaHandSpock: faHandSpock,\n\tfaHandshake: faHandshake,\n\tfaHdd: faHdd,\n\tfaHeart: faHeart,\n\tfaHospital: faHospital,\n\tfaHourglass: faHourglass,\n\tfaIdBadge: faIdBadge,\n\tfaIdCard: faIdCard,\n\tfaImage: faImage,\n\tfaImages: faImages,\n\tfaKeyboard: faKeyboard,\n\tfaLemon: faLemon,\n\tfaLifeRing: faLifeRing,\n\tfaLightbulb: faLightbulb,\n\tfaListAlt: faListAlt,\n\tfaMap: faMap,\n\tfaMeh: faMeh,\n\tfaMinusSquare: faMinusSquare,\n\tfaMoneyBillAlt: faMoneyBillAlt,\n\tfaMoon: faMoon,\n\tfaNewspaper: faNewspaper,\n\tfaObjectGroup: faObjectGroup,\n\tfaObjectUngroup: faObjectUngroup,\n\tfaPaperPlane: faPaperPlane,\n\tfaPauseCircle: faPauseCircle,\n\tfaPlayCircle: faPlayCircle,\n\tfaPlusSquare: faPlusSquare,\n\tfaQuestionCircle: faQuestionCircle,\n\tfaRegistered: faRegistered,\n\tfaSave: faSave,\n\tfaShareSquare: faShareSquare,\n\tfaSmile: faSmile,\n\tfaSnowflake: faSnowflake,\n\tfaSquare: faSquare,\n\tfaStar: faStar,\n\tfaStarHalf: faStarHalf,\n\tfaStickyNote: faStickyNote,\n\tfaStopCircle: faStopCircle,\n\tfaSun: faSun,\n\tfaThumbsDown: faThumbsDown,\n\tfaThumbsUp: faThumbsUp,\n\tfaTimesCircle: faTimesCircle,\n\tfaTrashAlt: faTrashAlt,\n\tfaUser: faUser,\n\tfaUserCircle: faUserCircle,\n\tfaWindowClose: faWindowClose,\n\tfaWindowMaximize: faWindowMaximize,\n\tfaWindowMinimize: faWindowMinimize,\n\tfaWindowRestore: faWindowRestore,\n};\n\nbunker(function () {\n\tdefine('far', icons$1);\n});\n\nexport {\n\tprefix,\n\tfaAddressBook,\n\tfaAddressCard,\n\tfaArrowAltCircleDown,\n\tfaArrowAltCircleLeft,\n\tfaArrowAltCircleRight,\n\tfaArrowAltCircleUp,\n\tfaBell,\n\tfaBellSlash,\n\tfaBookmark,\n\tfaBuilding,\n\tfaCalendar,\n\tfaCalendarAlt,\n\tfaCalendarCheck,\n\tfaCalendarMinus,\n\tfaCalendarPlus,\n\tfaCalendarTimes,\n\tfaCaretSquareDown,\n\tfaCaretSquareLeft,\n\tfaCaretSquareRight,\n\tfaCaretSquareUp,\n\tfaChartBar,\n\tfaCheckCircle,\n\tfaCheckSquare,\n\tfaCircle,\n\tfaClipboard,\n\tfaClock,\n\tfaClone,\n\tfaClosedCaptioning,\n\tfaComment,\n\tfaCommentAlt,\n\tfaComments,\n\tfaCompass,\n\tfaCopy,\n\tfaCopyright,\n\tfaCreditCard,\n\tfaDotCircle,\n\tfaEdit,\n\tfaEnvelope,\n\tfaEnvelopeOpen,\n\tfaEyeSlash,\n\tfaFile,\n\tfaFileAlt,\n\tfaFileArchive,\n\tfaFileAudio,\n\tfaFileCode,\n\tfaFileExcel,\n\tfaFileImage,\n\tfaFilePdf,\n\tfaFilePowerpoint,\n\tfaFileVideo,\n\tfaFileWord,\n\tfaFlag,\n\tfaFolder,\n\tfaFolderOpen,\n\tfaFrown,\n\tfaFutbol,\n\tfaGem,\n\tfaHandLizard,\n\tfaHandPaper,\n\tfaHandPeace,\n\tfaHandPointDown,\n\tfaHandPointLeft,\n\tfaHandPointRight,\n\tfaHandPointUp,\n\tfaHandPointer,\n\tfaHandRock,\n\tfaHandScissors,\n\tfaHandSpock,\n\tfaHandshake,\n\tfaHdd,\n\tfaHeart,\n\tfaHospital,\n\tfaHourglass,\n\tfaIdBadge,\n\tfaIdCard,\n\tfaImage,\n\tfaImages,\n\tfaKeyboard,\n\tfaLemon,\n\tfaLifeRing,\n\tfaLightbulb,\n\tfaListAlt,\n\tfaMap,\n\tfaMeh,\n\tfaMinusSquare,\n\tfaMoneyBillAlt,\n\tfaMoon,\n\tfaNewspaper,\n\tfaObjectGroup,\n\tfaObjectUngroup,\n\tfaPaperPlane,\n\tfaPauseCircle,\n\tfaPlayCircle,\n\tfaPlusSquare,\n\tfaQuestionCircle,\n\tfaRegistered,\n\tfaSave,\n\tfaShareSquare,\n\tfaSmile,\n\tfaSnowflake,\n\tfaSquare,\n\tfaStar,\n\tfaStarHalf,\n\tfaStickyNote,\n\tfaStopCircle,\n\tfaSun,\n\tfaThumbsDown,\n\tfaThumbsUp,\n\tfaTimesCircle,\n\tfaTrashAlt,\n\tfaUser,\n\tfaUserCircle,\n\tfaWindowClose,\n\tfaWindowMaximize,\n\tfaWindowMinimize,\n\tfaWindowRestore,\n};\nexport default icons$1;\n","/* eslint-disable */\n/*!\n * Font Awesome Free 5.0.8 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\nvar _WINDOW = {};\ntry {\n\tif (typeof window !== 'undefined') _WINDOW = window;\n} catch (e) {}\n\nvar _ref = _WINDOW.navigator || {};\nvar _ref$userAgent = _ref.userAgent;\nvar userAgent = _ref$userAgent === undefined ? '' : _ref$userAgent;\n\nvar WINDOW = _WINDOW;\n\nvar IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\n\nvar NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\n\nvar PRODUCTION = (function () {\n\ttry {\n\t\treturn process.env.NODE_ENV === 'production';\n\t} catch (e) {\n\t\treturn false;\n\t}\n})();\n\nvar oneToTen = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\nvar oneToTwenty = oneToTen.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]);\n\nvar RESERVED_CLASSES = [\n\t'xs',\n\t'sm',\n\t'lg',\n\t'fw',\n\t'ul',\n\t'li',\n\t'border',\n\t'pull-left',\n\t'pull-right',\n\t'spin',\n\t'pulse',\n\t'rotate-90',\n\t'rotate-180',\n\t'rotate-270',\n\t'flip-horizontal',\n\t'flip-vertical',\n\t'stack',\n\t'stack-1x',\n\t'stack-2x',\n\t'inverse',\n\t'layers',\n\t'layers-text',\n\t'layers-counter',\n]\n\t.concat(\n\t\toneToTen.map(function (n) {\n\t\t\treturn n + 'x';\n\t\t}),\n\t)\n\t.concat(\n\t\toneToTwenty.map(function (n) {\n\t\t\treturn 'w-' + n;\n\t\t}),\n\t);\n\nfunction bunker(fn) {\n\ttry {\n\t\tfn();\n\t} catch (e) {\n\t\tif (!PRODUCTION) {\n\t\t\tthrow e;\n\t\t}\n\t}\n}\n\nvar w = WINDOW || {};\n\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\n\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nvar _extends =\n\tObject.assign ||\n\tfunction (target) {\n\t\tfor (var i = 1; i < arguments.length; i++) {\n\t\t\tvar source = arguments[i];\n\n\t\t\tfor (var key in source) {\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(source, key)) {\n\t\t\t\t\ttarget[key] = source[key];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn target;\n\t};\n\nfunction define(prefix, icons) {\n\tvar normalized = Object.keys(icons).reduce(function (acc, iconName) {\n\t\tvar icon = icons[iconName];\n\t\tvar expanded = !!icon.icon;\n\n\t\tif (expanded) {\n\t\t\tacc[icon.iconName] = icon.icon;\n\t\t} else {\n\t\t\tacc[iconName] = icon;\n\t\t}\n\t\treturn acc;\n\t}, {});\n\n\tif (typeof namespace.hooks.addPack === 'function') {\n\t\tnamespace.hooks.addPack(prefix, normalized);\n\t} else {\n\t\tnamespace.styles[prefix] = _extends(\n\t\t\t{},\n\t\t\tnamespace.styles[prefix] || {},\n\t\t\tnormalized,\n\t\t);\n\t}\n\n\t/**\n\t * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n\t * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n\t * for `fas` so we'll easy the upgrade process for our users by automatically defining\n\t * this as well.\n\t */\n\tif (prefix === 'fas') {\n\t\tdefine('fa', icons);\n\t}\n}\n\nvar prefix = 'fas';\nvar faAddressBook = {\n\tprefix: 'fas',\n\ticonName: 'address-book',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f2b9',\n\t\t'M436 160c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-20V48c0-26.51-21.49-48-48-48H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h320c26.51 0 48-21.49 48-48v-48h20c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-20v-64h20c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-20v-64h20zm-228-32c44.183 0 80 35.817 80 80s-35.817 80-80 80-80-35.817-80-80 35.817-80 80-80zm128 232c0 13.255-10.745 24-24 24H104c-13.255 0-24-10.745-24-24v-18.523c0-22.026 14.99-41.225 36.358-46.567l35.657-8.914c29.101 20.932 74.509 26.945 111.97 0l35.657 8.914C321.01 300.252 336 319.452 336 341.477V360z',\n\t],\n};\nvar faAddressCard = {\n\tprefix: 'fas',\n\ticonName: 'address-card',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f2bb',\n\t\t'M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-288 80c38.66 0 70 31.34 70 70s-31.34 70-70 70-70-31.34-70-70 31.34-70 70-70zm112 203c0 11.598-9.402 21-21 21H85c-11.598 0-21-9.402-21-21v-16.207c0-19.272 13.116-36.072 31.813-40.746l31.2-7.8c25.464 18.316 65.195 23.577 97.974 0l31.2 7.8C274.884 294.721 288 311.52 288 330.793V347zm160-39c0 6.627-5.373 12-12 12H332c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v8zm0-64c0 6.627-5.373 12-12 12H332c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v8zm0-64c0 6.627-5.373 12-12 12H332c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v8z',\n\t],\n};\nvar faAdjust = {\n\tprefix: 'fas',\n\ticonName: 'adjust',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f042',\n\t\t'M8 256c0 136.966 111.033 248 248 248s248-111.034 248-248S392.966 8 256 8 8 119.033 8 256zm248 184V72c101.705 0 184 82.311 184 184 0 101.705-82.311 184-184 184z',\n\t],\n};\nvar faAlignCenter = {\n\tprefix: 'fas',\n\ticonName: 'align-center',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f037',\n\t\t'M352 44v40c0 8.837-7.163 16-16 16H112c-8.837 0-16-7.163-16-16V44c0-8.837 7.163-16 16-16h224c8.837 0 16 7.163 16 16zM16 228h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 256h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm320-200H112c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16h224c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16z',\n\t],\n};\nvar faAlignJustify = {\n\tprefix: 'fas',\n\ticonName: 'align-justify',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f039',\n\t\t'M0 84V44c0-8.837 7.163-16 16-16h416c8.837 0 16 7.163 16 16v40c0 8.837-7.163 16-16 16H16c-8.837 0-16-7.163-16-16zm16 144h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 256h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0-128h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z',\n\t],\n};\nvar faAlignLeft = {\n\tprefix: 'fas',\n\ticonName: 'align-left',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f036',\n\t\t'M288 44v40c0 8.837-7.163 16-16 16H16c-8.837 0-16-7.163-16-16V44c0-8.837 7.163-16 16-16h256c8.837 0 16 7.163 16 16zM0 172v40c0 8.837 7.163 16 16 16h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16zm16 312h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm256-200H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16h256c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16z',\n\t],\n};\nvar faAlignRight = {\n\tprefix: 'fas',\n\ticonName: 'align-right',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f038',\n\t\t'M160 84V44c0-8.837 7.163-16 16-16h256c8.837 0 16 7.163 16 16v40c0 8.837-7.163 16-16 16H176c-8.837 0-16-7.163-16-16zM16 228h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 256h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm160-128h256c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H176c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z',\n\t],\n};\nvar faAmbulance = {\n\tprefix: 'fas',\n\ticonName: 'ambulance',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f0f9',\n\t\t'M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h16c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm144-248c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48zm176 248c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z',\n\t],\n};\nvar faAmericanSignLanguageInterpreting = {\n\tprefix: 'fas',\n\ticonName: 'american-sign-language-interpreting',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f2a3',\n\t\t'M290.547 189.039c-20.295-10.149-44.147-11.199-64.739-3.89 42.606 0 71.208 20.475 85.578 50.576 8.576 17.899-5.148 38.071-23.617 38.071 18.429 0 32.211 20.136 23.617 38.071-14.725 30.846-46.123 50.854-80.298 50.854-.557 0-94.471-8.615-94.471-8.615l-66.406 33.347c-9.384 4.693-19.815.379-23.895-7.781L1.86 290.747c-4.167-8.615-1.111-18.897 6.946-23.621l58.072-33.069L108 159.861c6.39-57.245 34.731-109.767 79.743-146.726 11.391-9.448 28.341-7.781 37.51 3.613 9.446 11.394 7.78 28.067-3.612 37.516-12.503 10.559-23.618 22.509-32.509 35.57 21.672-14.729 46.679-24.732 74.186-28.067 14.725-1.945 28.063 8.336 29.73 23.065 1.945 14.728-8.336 28.067-23.062 29.734-16.116 1.945-31.12 7.503-44.178 15.284 26.114-5.713 58.712-3.138 88.079 11.115 13.336 6.669 18.893 22.509 12.224 35.848-6.389 13.06-22.504 18.617-35.564 12.226zm-27.229 69.472c-6.112-12.505-18.338-20.286-32.231-20.286a35.46 35.46 0 0 0-35.565 35.57c0 21.428 17.808 35.57 35.565 35.57 13.893 0 26.119-7.781 32.231-20.286 4.446-9.449 13.614-15.006 23.339-15.284-9.725-.277-18.893-5.835-23.339-15.284zm374.821-37.237c4.168 8.615 1.111 18.897-6.946 23.621l-58.071 33.069L532 352.16c-6.39 57.245-34.731 109.767-79.743 146.726-10.932 9.112-27.799 8.144-37.51-3.613-9.446-11.394-7.78-28.067 3.613-37.516 12.503-10.559 23.617-22.509 32.508-35.57-21.672 14.729-46.679 24.732-74.186 28.067-10.021 2.506-27.552-5.643-29.73-23.065-1.945-14.728 8.336-28.067 23.062-29.734 16.116-1.946 31.12-7.503 44.178-15.284-26.114 5.713-58.712 3.138-88.079-11.115-13.336-6.669-18.893-22.509-12.224-35.848 6.389-13.061 22.505-18.619 35.565-12.227 20.295 10.149 44.147 11.199 64.739 3.89-42.606 0-71.208-20.475-85.578-50.576-8.576-17.899 5.148-38.071 23.617-38.071-18.429 0-32.211-20.136-23.617-38.071 14.033-29.396 44.039-50.887 81.966-50.854l92.803 8.615 66.406-33.347c9.408-4.704 19.828-.354 23.894 7.781l44.455 88.926zm-229.227-18.618c-13.893 0-26.119 7.781-32.231 20.286-4.446 9.449-13.614 15.006-23.339 15.284 9.725.278 18.893 5.836 23.339 15.284 6.112 12.505 18.338 20.286 32.231 20.286a35.46 35.46 0 0 0 35.565-35.57c0-21.429-17.808-35.57-35.565-35.57z',\n\t],\n};\nvar faAnchor = {\n\tprefix: 'fas',\n\ticonName: 'anchor',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f13d',\n\t\t'M12.971 352h32.394C67.172 454.735 181.944 512 288 512c106.229 0 220.853-57.38 242.635-160h32.394c10.691 0 16.045-12.926 8.485-20.485l-67.029-67.029c-4.686-4.686-12.284-4.686-16.971 0l-67.029 67.029c-7.56 7.56-2.206 20.485 8.485 20.485h35.146c-20.29 54.317-84.963 86.588-144.117 94.015V256h52c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-52v-5.47c37.281-13.178 63.995-48.725 64-90.518C384.005 43.772 341.605.738 289.37.01 235.723-.739 192 42.525 192 96c0 41.798 26.716 77.35 64 90.53V192h-52c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h52v190.015c-58.936-7.399-123.82-39.679-144.117-94.015h35.146c10.691 0 16.045-12.926 8.485-20.485l-67.029-67.029c-4.686-4.686-12.284-4.686-16.971 0L4.485 331.515C-3.074 339.074 2.28 352 12.971 352zM288 64c17.645 0 32 14.355 32 32s-14.355 32-32 32-32-14.355-32-32 14.355-32 32-32z',\n\t],\n};\nvar faAngleDoubleDown = {\n\tprefix: 'fas',\n\ticonName: 'angle-double-down',\n\ticon: [\n\t\t320,\n\t\t512,\n\t\t[],\n\t\t'f103',\n\t\t'M143 256.3L7 120.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0L313 86.3c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.4 9.5-24.6 9.5-34 .1zm34 192l136-136c9.4-9.4 9.4-24.6 0-33.9l-22.6-22.6c-9.4-9.4-24.6-9.4-33.9 0L160 352.1l-96.4-96.4c-9.4-9.4-24.6-9.4-33.9 0L7 278.3c-9.4 9.4-9.4 24.6 0 33.9l136 136c9.4 9.5 24.6 9.5 34 .1z',\n\t],\n};\nvar faAngleDoubleLeft = {\n\tprefix: 'fas',\n\ticonName: 'angle-double-left',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f100',\n\t\t'M223.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L319.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L393.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34zm-192 34l136 136c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9L127.9 256l96.4-96.4c9.4-9.4 9.4-24.6 0-33.9L201.7 103c-9.4-9.4-24.6-9.4-33.9 0l-136 136c-9.5 9.4-9.5 24.6-.1 34z',\n\t],\n};\nvar faAngleDoubleRight = {\n\tprefix: 'fas',\n\ticonName: 'angle-double-right',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f101',\n\t\t'M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34zm192-34l-136-136c-9.4-9.4-24.6-9.4-33.9 0l-22.6 22.6c-9.4 9.4-9.4 24.6 0 33.9l96.4 96.4-96.4 96.4c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l136-136c9.4-9.2 9.4-24.4 0-33.8z',\n\t],\n};\nvar faAngleDoubleUp = {\n\tprefix: 'fas',\n\ticonName: 'angle-double-up',\n\ticon: [\n\t\t320,\n\t\t512,\n\t\t[],\n\t\t'f102',\n\t\t'M177 255.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 351.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 425.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1zm-34-192L7 199.7c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l96.4-96.4 96.4 96.4c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9l-136-136c-9.2-9.4-24.4-9.4-33.8 0z',\n\t],\n};\nvar faAngleDown = {\n\tprefix: 'fas',\n\ticonName: 'angle-down',\n\ticon: [\n\t\t320,\n\t\t512,\n\t\t[],\n\t\t'f107',\n\t\t'M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.2 9.4-24.4 9.4-33.8 0z',\n\t],\n};\nvar faAngleLeft = {\n\tprefix: 'fas',\n\ticonName: 'angle-left',\n\ticon: [\n\t\t256,\n\t\t512,\n\t\t[],\n\t\t'f104',\n\t\t'M31.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L127.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L201.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34z',\n\t],\n};\nvar faAngleRight = {\n\tprefix: 'fas',\n\ticonName: 'angle-right',\n\ticon: [\n\t\t256,\n\t\t512,\n\t\t[],\n\t\t'f105',\n\t\t'M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z',\n\t],\n};\nvar faAngleUp = {\n\tprefix: 'fas',\n\ticonName: 'angle-up',\n\ticon: [\n\t\t320,\n\t\t512,\n\t\t[],\n\t\t'f106',\n\t\t'M177 159.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 255.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 329.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1z',\n\t],\n};\nvar faArchive = {\n\tprefix: 'fas',\n\ticonName: 'archive',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f187',\n\t\t'M488 128H24c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24h464c13.255 0 24 10.745 24 24v48c0 13.255-10.745 24-24 24zm-8 328V184c0-13.255-10.745-24-24-24H56c-13.255 0-24 10.745-24 24v272c0 13.255 10.745 24 24 24h400c13.255 0 24-10.745 24-24zM308 256H204c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12z',\n\t],\n};\nvar faArrowAltCircleDown = {\n\tprefix: 'fas',\n\ticonName: 'arrow-alt-circle-down',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f358',\n\t\t'M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zM212 140v116h-70.9c-10.7 0-16.1 13-8.5 20.5l114.9 114.3c4.7 4.7 12.2 4.7 16.9 0l114.9-114.3c7.6-7.6 2.2-20.5-8.5-20.5H300V140c0-6.6-5.4-12-12-12h-64c-6.6 0-12 5.4-12 12z',\n\t],\n};\nvar faArrowAltCircleLeft = {\n\tprefix: 'fas',\n\ticonName: 'arrow-alt-circle-left',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f359',\n\t\t'M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm116-292H256v-70.9c0-10.7-13-16.1-20.5-8.5L121.2 247.5c-4.7 4.7-4.7 12.2 0 16.9l114.3 114.9c7.6 7.6 20.5 2.2 20.5-8.5V300h116c6.6 0 12-5.4 12-12v-64c0-6.6-5.4-12-12-12z',\n\t],\n};\nvar faArrowAltCircleRight = {\n\tprefix: 'fas',\n\ticonName: 'arrow-alt-circle-right',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f35a',\n\t\t'M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zM140 300h116v70.9c0 10.7 13 16.1 20.5 8.5l114.3-114.9c4.7-4.7 4.7-12.2 0-16.9l-114.3-115c-7.6-7.6-20.5-2.2-20.5 8.5V212H140c-6.6 0-12 5.4-12 12v64c0 6.6 5.4 12 12 12z',\n\t],\n};\nvar faArrowAltCircleUp = {\n\tprefix: 'fas',\n\ticonName: 'arrow-alt-circle-up',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f35b',\n\t\t'M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm292 116V256h70.9c10.7 0 16.1-13 8.5-20.5L264.5 121.2c-4.7-4.7-12.2-4.7-16.9 0l-115 114.3c-7.6 7.6-2.2 20.5 8.5 20.5H212v116c0 6.6 5.4 12 12 12h64c6.6 0 12-5.4 12-12z',\n\t],\n};\nvar faArrowCircleDown = {\n\tprefix: 'fas',\n\ticonName: 'arrow-circle-down',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f0ab',\n\t\t'M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-143.6-28.9L288 302.6V120c0-13.3-10.7-24-24-24h-16c-13.3 0-24 10.7-24 24v182.6l-72.4-75.5c-9.3-9.7-24.8-9.9-34.3-.4l-10.9 11c-9.4 9.4-9.4 24.6 0 33.9L239 404.3c9.4 9.4 24.6 9.4 33.9 0l132.7-132.7c9.4-9.4 9.4-24.6 0-33.9l-10.9-11c-9.5-9.5-25-9.3-34.3.4z',\n\t],\n};\nvar faArrowCircleLeft = {\n\tprefix: 'fas',\n\ticonName: 'arrow-circle-left',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f0a8',\n\t\t'M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm28.9-143.6L209.4 288H392c13.3 0 24-10.7 24-24v-16c0-13.3-10.7-24-24-24H209.4l75.5-72.4c9.7-9.3 9.9-24.8.4-34.3l-11-10.9c-9.4-9.4-24.6-9.4-33.9 0L107.7 239c-9.4 9.4-9.4 24.6 0 33.9l132.7 132.7c9.4 9.4 24.6 9.4 33.9 0l11-10.9c9.5-9.5 9.3-25-.4-34.3z',\n\t],\n};\nvar faArrowCircleRight = {\n\tprefix: 'fas',\n\ticonName: 'arrow-circle-right',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f0a9',\n\t\t'M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm-28.9 143.6l75.5 72.4H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h182.6l-75.5 72.4c-9.7 9.3-9.9 24.8-.4 34.3l11 10.9c9.4 9.4 24.6 9.4 33.9 0L404.3 273c9.4-9.4 9.4-24.6 0-33.9L271.6 106.3c-9.4-9.4-24.6-9.4-33.9 0l-11 10.9c-9.5 9.6-9.3 25.1.4 34.4z',\n\t],\n};\nvar faArrowCircleUp = {\n\tprefix: 'fas',\n\ticonName: 'arrow-circle-up',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f0aa',\n\t\t'M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm143.6 28.9l72.4-75.5V392c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V209.4l72.4 75.5c9.3 9.7 24.8 9.9 34.3.4l10.9-11c9.4-9.4 9.4-24.6 0-33.9L273 107.7c-9.4-9.4-24.6-9.4-33.9 0L106.3 240.4c-9.4 9.4-9.4 24.6 0 33.9l10.9 11c9.6 9.5 25.1 9.3 34.4-.4z',\n\t],\n};\nvar faArrowDown = {\n\tprefix: 'fas',\n\ticonName: 'arrow-down',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f063',\n\t\t'M413.1 222.5l22.2 22.2c9.4 9.4 9.4 24.6 0 33.9L241 473c-9.4 9.4-24.6 9.4-33.9 0L12.7 278.6c-9.4-9.4-9.4-24.6 0-33.9l22.2-22.2c9.5-9.5 25-9.3 34.3.4L184 343.4V56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v287.4l114.8-120.5c9.3-9.8 24.8-10 34.3-.4z',\n\t],\n};\nvar faArrowLeft = {\n\tprefix: 'fas',\n\ticonName: 'arrow-left',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f060',\n\t\t'M257.5 445.1l-22.2 22.2c-9.4 9.4-24.6 9.4-33.9 0L7 273c-9.4-9.4-9.4-24.6 0-33.9L201.4 44.7c9.4-9.4 24.6-9.4 33.9 0l22.2 22.2c9.5 9.5 9.3 25-.4 34.3L136.6 216H424c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24H136.6l120.5 114.8c9.8 9.3 10 24.8.4 34.3z',\n\t],\n};\nvar faArrowRight = {\n\tprefix: 'fas',\n\ticonName: 'arrow-right',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f061',\n\t\t'M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z',\n\t],\n};\nvar faArrowUp = {\n\tprefix: 'fas',\n\ticonName: 'arrow-up',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f062',\n\t\t'M34.9 289.5l-22.2-22.2c-9.4-9.4-9.4-24.6 0-33.9L207 39c9.4-9.4 24.6-9.4 33.9 0l194.3 194.3c9.4 9.4 9.4 24.6 0 33.9L413 289.4c-9.5 9.5-25 9.3-34.3-.4L264 168.6V456c0 13.3-10.7 24-24 24h-32c-13.3 0-24-10.7-24-24V168.6L69.2 289.1c-9.3 9.8-24.8 10-34.3.4z',\n\t],\n};\nvar faArrowsAlt = {\n\tprefix: 'fas',\n\ticonName: 'arrows-alt',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f0b2',\n\t\t'M352.201 425.775l-79.196 79.196c-9.373 9.373-24.568 9.373-33.941 0l-79.196-79.196c-15.119-15.119-4.411-40.971 16.971-40.97h51.162L228 284H127.196v51.162c0 21.382-25.851 32.09-40.971 16.971L7.029 272.937c-9.373-9.373-9.373-24.569 0-33.941L86.225 159.8c15.119-15.119 40.971-4.411 40.971 16.971V228H228V127.196h-51.23c-21.382 0-32.09-25.851-16.971-40.971l79.196-79.196c9.373-9.373 24.568-9.373 33.941 0l79.196 79.196c15.119 15.119 4.411 40.971-16.971 40.971h-51.162V228h100.804v-51.162c0-21.382 25.851-32.09 40.97-16.971l79.196 79.196c9.373 9.373 9.373 24.569 0 33.941L425.773 352.2c-15.119 15.119-40.971 4.411-40.97-16.971V284H284v100.804h51.23c21.382 0 32.09 25.851 16.971 40.971z',\n\t],\n};\nvar faArrowsAltH = {\n\tprefix: 'fas',\n\ticonName: 'arrows-alt-h',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f337',\n\t\t'M377.941 169.941V216H134.059v-46.059c0-21.382-25.851-32.09-40.971-16.971L7.029 239.029c-9.373 9.373-9.373 24.568 0 33.941l86.059 86.059c15.119 15.119 40.971 4.411 40.971-16.971V296h243.882v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.568 0-33.941l-86.059-86.059c-15.119-15.12-40.971-4.412-40.971 16.97z',\n\t],\n};\nvar faArrowsAltV = {\n\tprefix: 'fas',\n\ticonName: 'arrows-alt-v',\n\ticon: [\n\t\t256,\n\t\t512,\n\t\t[],\n\t\t'f338',\n\t\t'M214.059 377.941H168V134.059h46.059c21.382 0 32.09-25.851 16.971-40.971L144.971 7.029c-9.373-9.373-24.568-9.373-33.941 0L24.971 93.088c-15.119 15.119-4.411 40.971 16.971 40.971H88v243.882H41.941c-21.382 0-32.09 25.851-16.971 40.971l86.059 86.059c9.373 9.373 24.568 9.373 33.941 0l86.059-86.059c15.12-15.119 4.412-40.971-16.97-40.971z',\n\t],\n};\nvar faAssistiveListeningSystems = {\n\tprefix: 'fas',\n\ticonName: 'assistive-listening-systems',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f2a2',\n\t\t'M216 260c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-44.112 35.888-80 80-80s80 35.888 80 80c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-13.234-10.767-24-24-24s-24 10.766-24 24zm24-176c-97.047 0-176 78.953-176 176 0 15.464 12.536 28 28 28s28-12.536 28-28c0-66.168 53.832-120 120-120s120 53.832 120 120c0 75.164-71.009 70.311-71.997 143.622L288 404c0 28.673-23.327 52-52 52-15.464 0-28 12.536-28 28s12.536 28 28 28c59.475 0 107.876-48.328 108-107.774.595-34.428 72-48.24 72-144.226 0-97.047-78.953-176-176-176zm-80 236c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zM32 448c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm480-187.993c0-1.518-.012-3.025-.045-4.531C510.076 140.525 436.157 38.47 327.994 1.511c-14.633-4.998-30.549 2.809-35.55 17.442-5 14.633 2.81 30.549 17.442 35.55 85.906 29.354 144.61 110.513 146.077 201.953l.003.188c.026 1.118.033 2.236.033 3.363 0 15.464 12.536 28 28 28s28.001-12.536 28.001-28zM152.971 439.029l-80-80L39.03 392.97l80 80 33.941-33.941z',\n\t],\n};\nvar faAsterisk = {\n\tprefix: 'fas',\n\ticonName: 'asterisk',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f069',\n\t\t'M478.21 334.093L336 256l142.21-78.093c11.795-6.477 15.961-21.384 9.232-33.037l-19.48-33.741c-6.728-11.653-21.72-15.499-33.227-8.523L296 186.718l3.475-162.204C299.763 11.061 288.937 0 275.48 0h-38.96c-13.456 0-24.283 11.061-23.994 24.514L216 186.718 77.265 102.607c-11.506-6.976-26.499-3.13-33.227 8.523l-19.48 33.741c-6.728 11.653-2.562 26.56 9.233 33.037L176 256 33.79 334.093c-11.795 6.477-15.961 21.384-9.232 33.037l19.48 33.741c6.728 11.653 21.721 15.499 33.227 8.523L216 325.282l-3.475 162.204C212.237 500.939 223.064 512 236.52 512h38.961c13.456 0 24.283-11.061 23.995-24.514L296 325.282l138.735 84.111c11.506 6.976 26.499 3.13 33.227-8.523l19.48-33.741c6.728-11.653 2.563-26.559-9.232-33.036z',\n\t],\n};\nvar faAt = {\n\tprefix: 'fas',\n\ticonName: 'at',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f1fa',\n\t\t'M256 8C118.941 8 8 118.919 8 256c0 137.059 110.919 248 248 248 48.154 0 95.342-14.14 135.408-40.223 12.005-7.815 14.625-24.288 5.552-35.372l-10.177-12.433c-7.671-9.371-21.179-11.667-31.373-5.129C325.92 429.757 291.314 440 256 440c-101.458 0-184-82.542-184-184S154.542 72 256 72c100.139 0 184 57.619 184 160 0 38.786-21.093 79.742-58.17 83.693-17.349-.454-16.91-12.857-13.476-30.024l23.433-121.11C394.653 149.75 383.308 136 368.225 136h-44.981a13.518 13.518 0 0 0-13.432 11.993l-.01.092c-14.697-17.901-40.448-21.775-59.971-21.775-74.58 0-137.831 62.234-137.831 151.46 0 65.303 36.785 105.87 96 105.87 26.984 0 57.369-15.637 74.991-38.333 9.522 34.104 40.613 34.103 70.71 34.103C462.609 379.41 504 307.798 504 232 504 95.653 394.023 8 256 8zm-21.68 304.43c-22.249 0-36.07-15.623-36.07-40.771 0-44.993 30.779-72.729 58.63-72.729 22.292 0 35.601 15.241 35.601 40.77 0 45.061-33.875 72.73-58.161 72.73z',\n\t],\n};\nvar faAudioDescription = {\n\tprefix: 'fas',\n\ticonName: 'audio-description',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f29e',\n\t\t'M162.925 238.709l8.822 30.655h-25.606l9.041-30.652c1.277-4.421 2.651-9.994 3.872-15.245 1.22 5.251 2.594 10.823 3.871 15.242zm166.474-32.099h-14.523v98.781h14.523c29.776 0 46.175-17.678 46.175-49.776 0-32.239-17.49-49.005-46.175-49.005zM512 112v288c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48zM245.459 336.139l-57.097-168A12.001 12.001 0 0 0 177 160h-35.894a12.001 12.001 0 0 0-11.362 8.139l-57.097 168C70.003 343.922 75.789 352 84.009 352h29.133a12 12 0 0 0 11.535-8.693l8.574-29.906h51.367l8.793 29.977A12 12 0 0 0 204.926 352h29.172c8.22 0 14.006-8.078 11.361-15.861zm184.701-80.525c0-58.977-37.919-95.614-98.96-95.614h-57.366c-6.627 0-12 5.373-12 12v168c0 6.627 5.373 12 12 12H331.2c61.041 0 98.96-36.933 98.96-96.386z',\n\t],\n};\nvar faBackward = {\n\tprefix: 'fas',\n\ticonName: 'backward',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f04a',\n\t\t'M11.5 280.6l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2zm256 0l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2z',\n\t],\n};\nvar faBalanceScale = {\n\tprefix: 'fas',\n\ticonName: 'balance-scale',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f24e',\n\t\t'M352 448h168c13.255 0 24 10.745 24 24v16c0 13.255-10.745 24-24 24H120c-13.255 0-24-10.745-24-24v-16c0-13.255 10.745-24 24-24h168V153.324C264.469 143.04 246.836 121.778 241.603 96H120c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24h135.999C270.594 12.57 293.828 0 320 0s49.406 12.57 64.001 32H520c13.255 0 24 10.745 24 24v16c0 13.255-10.745 24-24 24H398.397c-5.233 25.778-22.866 47.04-46.397 57.324V448zm287.981-112c.001-16.182 1.342-8.726-85.048-181.506-17.647-35.294-68.186-35.358-85.865 0C381.94 328.75 384.019 320.331 384.019 336H384c0 44.183 57.308 80 128 80s128-35.817 128-80h-.019zM512 176l72 144H440l72-144zM255.981 336c.001-16.182 1.342-8.726-85.048-181.506-17.647-35.294-68.186-35.358-85.865 0C-2.06 328.75.019 320.331.019 336H0c0 44.183 57.308 80 128 80s128-35.817 128-80h-.019zM128 176l72 144H56l72-144z',\n\t],\n};\nvar faBan = {\n\tprefix: 'fas',\n\ticonName: 'ban',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f05e',\n\t\t'M256 8C119.034 8 8 119.033 8 256s111.034 248 248 248 248-111.034 248-248S392.967 8 256 8zm130.108 117.892c65.448 65.448 70 165.481 20.677 235.637L150.47 105.216c70.204-49.356 170.226-44.735 235.638 20.676zM125.892 386.108c-65.448-65.448-70-165.481-20.677-235.637L361.53 406.784c-70.203 49.356-170.226 44.736-235.638-20.676z',\n\t],\n};\nvar faBandAid = {\n\tprefix: 'fas',\n\ticonName: 'band-aid',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f462',\n\t\t'M0 160v192c0 35.3 28.7 64 64 64h96V96H64c-35.3 0-64 28.7-64 64zm576-64h-96v320h96c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64zM192 416h256V96H192v320zm176-232c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm0 96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-96-96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm0 96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24z',\n\t],\n};\nvar faBarcode = {\n\tprefix: 'fas',\n\ticonName: 'barcode',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f02a',\n\t\t'M0 448V64h18v384H0zm26.857-.273V64H36v383.727h-9.143zm27.143 0V64h8.857v383.727H54zm44.857 0V64h8.857v383.727h-8.857zm36 0V64h17.714v383.727h-17.714zm44.857 0V64h8.857v383.727h-8.857zm18 0V64h8.857v383.727h-8.857zm18 0V64h8.857v383.727h-8.857zm35.715 0V64h18v383.727h-18zm44.857 0V64h18v383.727h-18zm35.999 0V64h18.001v383.727h-18.001zm36.001 0V64h18.001v383.727h-18.001zm26.857 0V64h18v383.727h-18zm45.143 0V64h26.857v383.727h-26.857zm35.714 0V64h9.143v383.727H476zm18 .273V64h18v384h-18z',\n\t],\n};\nvar faBars = {\n\tprefix: 'fas',\n\ticonName: 'bars',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f0c9',\n\t\t'M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z',\n\t],\n};\nvar faBaseballBall = {\n\tprefix: 'fas',\n\ticonName: 'baseball-ball',\n\ticon: [\n\t\t496,\n\t\t512,\n\t\t[],\n\t\t'f433',\n\t\t'M368.5 363.9l28.8-13.9c11.1 22.9 26 43.2 44.1 60.9 34-42.5 54.5-96.3 54.5-154.9 0-58.5-20.4-112.2-54.2-154.6-17.8 17.3-32.6 37.1-43.6 59.5l-28.7-14.1c12.8-26 30-49 50.8-69C375.6 34.7 315 8 248 8 181.1 8 120.5 34.6 75.9 77.7c20.7 19.9 37.9 42.9 50.7 68.8l-28.7 14.1c-11-22.3-25.7-42.1-43.5-59.4C20.4 143.7 0 197.4 0 256c0 58.6 20.4 112.3 54.4 154.7 18.2-17.7 33.2-38 44.3-61l28.8 13.9c-12.9 26.7-30.3 50.3-51.5 70.7 44.5 43.1 105.1 69.7 172 69.7 66.8 0 127.3-26.5 171.9-69.5-21.1-20.4-38.5-43.9-51.4-70.6zm-228.3-32l-30.5-9.8c14.9-46.4 12.7-93.8-.6-134l30.4-10c15 45.6 18 99.9.7 153.8zm216.3-153.4l30.4 10c-13.2 40.1-15.5 87.5-.6 134l-30.5 9.8c-17.3-54-14.3-108.3.7-153.8z',\n\t],\n};\nvar faBasketballBall = {\n\tprefix: 'fas',\n\ticonName: 'basketball-ball',\n\ticon: [\n\t\t496,\n\t\t512,\n\t\t[],\n\t\t'f434',\n\t\t'M212.3 10.3c-43.8 6.3-86.2 24.1-122.2 53.8l77.4 77.4c27.8-35.8 43.3-81.2 44.8-131.2zM248 222L405.9 64.1c-42.4-35-93.6-53.5-145.5-56.1-1.2 63.9-21.5 122.3-58.7 167.7L248 222zM56.1 98.1c-29.7 36-47.5 78.4-53.8 122.2 50-1.5 95.5-17 131.2-44.8L56.1 98.1zm272.2 204.2c45.3-37.1 103.7-57.4 167.7-58.7-2.6-51.9-21.1-103.1-56.1-145.5L282 256l46.3 46.3zM248 290L90.1 447.9c42.4 34.9 93.6 53.5 145.5 56.1 1.3-64 21.6-122.4 58.7-167.7L248 290zm191.9 123.9c29.7-36 47.5-78.4 53.8-122.2-50.1 1.6-95.5 17.1-131.2 44.8l77.4 77.4zM167.7 209.7C122.3 246.9 63.9 267.3 0 268.4c2.6 51.9 21.1 103.1 56.1 145.5L214 256l-46.3-46.3zm116 292c43.8-6.3 86.2-24.1 122.2-53.8l-77.4-77.4c-27.7 35.7-43.2 81.2-44.8 131.2z',\n\t],\n};\nvar faBath = {\n\tprefix: 'fas',\n\ticonName: 'bath',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f2cd',\n\t\t'M488 256H80V112c0-17.645 14.355-32 32-32 11.351 0 21.332 5.945 27.015 14.88-16.492 25.207-14.687 59.576 6.838 83.035-4.176 4.713-4.021 11.916.491 16.428l11.314 11.314c4.686 4.686 12.284 4.686 16.971 0l95.03-95.029c4.686-4.686 4.686-12.284 0-16.971l-11.314-11.314c-4.512-4.512-11.715-4.666-16.428-.491-17.949-16.469-42.294-21.429-64.178-15.365C163.281 45.667 139.212 32 112 32c-44.112 0-80 35.888-80 80v144h-8c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h8v32c0 28.43 12.362 53.969 32 71.547V456c0 13.255 10.745 24 24 24h16c13.255 0 24-10.745 24-24v-8h256v8c0 13.255 10.745 24 24 24h16c13.255 0 24-10.745 24-24v-32.453c19.638-17.578 32-43.117 32-71.547v-32h8c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24z',\n\t],\n};\nvar faBatteryEmpty = {\n\tprefix: 'fas',\n\ticonName: 'battery-empty',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f244',\n\t\t'M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48z',\n\t],\n};\nvar faBatteryFull = {\n\tprefix: 'fas',\n\ticonName: 'battery-full',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f240',\n\t\t'M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-48 96H96v128h416V192z',\n\t],\n};\nvar faBatteryHalf = {\n\tprefix: 'fas',\n\ticonName: 'battery-half',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f242',\n\t\t'M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-240 96H96v128h224V192z',\n\t],\n};\nvar faBatteryQuarter = {\n\tprefix: 'fas',\n\ticonName: 'battery-quarter',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f243',\n\t\t'M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-336 96H96v128h128V192z',\n\t],\n};\nvar faBatteryThreeQuarters = {\n\tprefix: 'fas',\n\ticonName: 'battery-three-quarters',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f241',\n\t\t'M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-144 96H96v128h320V192z',\n\t],\n};\nvar faBed = {\n\tprefix: 'fas',\n\ticonName: 'bed',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f236',\n\t\t'M552 288c13.255 0 24 10.745 24 24v136h-96v-64H96v64H0V88c0-13.255 10.745-24 24-24h48c13.255 0 24 10.745 24 24v200h456zM192 96c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80zm384 128c0-53.019-42.981-96-96-96H312c-13.255 0-24 10.745-24 24v104h288v-32z',\n\t],\n};\nvar faBeer = {\n\tprefix: 'fas',\n\ticonName: 'beer',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f0fc',\n\t\t'M368 96h-48V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56v400c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24v-42.11l80.606-35.977C429.396 365.063 448 336.388 448 304.86V176c0-44.112-35.888-80-80-80zm16 208.86a16.018 16.018 0 0 1-9.479 14.611L320 343.805V160h48c8.822 0 16 7.178 16 16v128.86zM208 384c-8.836 0-16-7.164-16-16V144c0-8.836 7.164-16 16-16s16 7.164 16 16v224c0 8.836-7.164 16-16 16zm-96 0c-8.836 0-16-7.164-16-16V144c0-8.836 7.164-16 16-16s16 7.164 16 16v224c0 8.836-7.164 16-16 16z',\n\t],\n};\nvar faBell = {\n\tprefix: 'fas',\n\ticonName: 'bell',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f0f3',\n\t\t'M433.884 366.059C411.634 343.809 384 316.118 384 208c0-79.394-57.831-145.269-133.663-157.83A31.845 31.845 0 0 0 256 32c0-17.673-14.327-32-32-32s-32 14.327-32 32c0 6.75 2.095 13.008 5.663 18.17C121.831 62.731 64 128.606 64 208c0 108.118-27.643 135.809-49.893 158.059C-16.042 396.208 5.325 448 48.048 448H160c0 35.346 28.654 64 64 64s64-28.654 64-64h111.943c42.638 0 64.151-51.731 33.941-81.941zM224 472a8 8 0 0 1 0 16c-22.056 0-40-17.944-40-40h16c0 13.234 10.766 24 24 24z',\n\t],\n};\nvar faBellSlash = {\n\tprefix: 'fas',\n\ticonName: 'bell-slash',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f1f6',\n\t\t'M78.107 366.059C47.958 396.208 69.325 448 112.048 448H224c0 35.346 28.654 64 64 64 35.346 0 64-28.654 64-64h32.685L127.848 221.379c-2.198 97.078-28.439 123.378-49.741 144.68zM264 448c0 13.234 10.766 24 24 24a8 8 0 0 1 0 16c-22.056 0-40-17.944-40-40h16zm305.896 43.733l-10.762 12.086c-8.915 10.012-24.333 10.967-34.437 2.133L8.256 54.393C-1.848 45.558-2.811 30.28 6.104 20.267L16.865 8.181C25.781-1.831 41.199-2.786 51.303 6.049l113.81 99.512c24.017-28.778 57.946-48.996 96.55-55.39A31.85 31.85 0 0 1 256 32c0-17.673 14.327-32 32-32s32 14.327 32 32c0 6.75-2.095 13.008-5.663 18.17C390.169 62.731 448 128.606 448 208c0 108.118 27.634 135.809 49.884 158.059 12.149 12.149 15.923 27.776 13.33 42.121l56.53 49.427c10.104 8.835 11.067 24.113 2.152 34.126z',\n\t],\n};\nvar faBicycle = {\n\tprefix: 'fas',\n\ticonName: 'bicycle',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f206',\n\t\t'M512.509 192.001c-16.373-.064-32.03 2.955-46.436 8.495l-77.68-125.153A24 24 0 0 0 368.001 64h-64c-8.837 0-16 7.163-16 16v16c0 8.837 7.163 16 16 16h50.649l14.896 24H256.002v-16c0-8.837-7.163-16-16-16h-87.459c-13.441 0-24.777 10.999-24.536 24.437.232 13.044 10.876 23.563 23.995 23.563h48.726l-29.417 47.52c-13.433-4.83-27.904-7.483-42.992-7.52C58.094 191.83.412 249.012.002 319.236-.413 390.279 57.055 448 128.002 448c59.642 0 109.758-40.793 123.967-96h52.033a24 24 0 0 0 20.406-11.367L410.37 201.77l14.938 24.067c-25.455 23.448-41.385 57.081-41.307 94.437.145 68.833 57.899 127.051 126.729 127.719 70.606.685 128.181-55.803 129.255-125.996 1.086-70.941-56.526-129.72-127.476-129.996zM186.75 265.772c9.727 10.529 16.673 23.661 19.642 38.228h-43.306l23.664-38.228zM128.002 400c-44.112 0-80-35.888-80-80s35.888-80 80-80c5.869 0 11.586.653 17.099 1.859l-45.505 73.509C89.715 331.327 101.213 352 120.002 352h81.3c-12.37 28.225-40.562 48-73.3 48zm162.63-96h-35.624c-3.96-31.756-19.556-59.894-42.383-80.026L237.371 184h127.547l-74.286 120zm217.057 95.886c-41.036-2.165-74.049-35.692-75.627-76.755-.812-21.121 6.633-40.518 19.335-55.263l44.433 71.586c4.66 7.508 14.524 9.816 22.032 5.156l13.594-8.437c7.508-4.66 9.817-14.524 5.156-22.032l-44.468-71.643a79.901 79.901 0 0 1 19.858-2.497c44.112 0 80 35.888 80 80-.001 45.54-38.252 82.316-84.313 79.885z',\n\t],\n};\nvar faBinoculars = {\n\tprefix: 'fas',\n\ticonName: 'binoculars',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f1e5',\n\t\t'M192 104H96V56c0-13.255 10.745-24 24-24h48c13.255 0 24 10.745 24 24v48zm224-48c0-13.255-10.745-24-24-24h-48c-13.255 0-24 10.745-24 24v48h96V56zM0 456c0 13.255 10.745 24 24 24h120c13.255 0 24-10.745 24-24v-16H0v16zm88-328c-13.255 0-24 10.745-24 24C64 256 0 272 0 416h168V312c0-13.255 10.745-24 24-24V128H88zm256 328c0 13.255 10.745 24 24 24h120c13.255 0 24-10.745 24-24v-16H344v16zM216 128v160h80V128h-80zm128 288h168c0-144-64-160-64-264 0-13.255-10.745-24-24-24H320v160c13.255 0 24 10.745 24 24v104z',\n\t],\n};\nvar faBirthdayCake = {\n\tprefix: 'fas',\n\ticonName: 'birthday-cake',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f1fd',\n\t\t'M448 384c-28.02 0-31.26-32-74.5-32-43.43 0-46.825 32-74.75 32-27.695 0-31.454-32-74.75-32-42.842 0-47.218 32-74.5 32-28.148 0-31.202-32-74.75-32-43.547 0-46.653 32-74.75 32v-80c0-26.5 21.5-48 48-48h16V112h64v144h64V112h64v144h64V112h64v144h16c26.5 0 48 21.5 48 48v80zm0 128H0v-96c43.356 0 46.767-32 74.75-32 27.951 0 31.253 32 74.75 32 42.843 0 47.217-32 74.5-32 28.148 0 31.201 32 74.75 32 43.357 0 46.767-32 74.75-32 27.488 0 31.252 32 74.5 32v96zM96 96c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40zm128 0c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40zm128 0c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40z',\n\t],\n};\nvar faBlind = {\n\tprefix: 'fas',\n\ticonName: 'blind',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f29d',\n\t\t'M380.15 510.837a8 8 0 0 1-10.989-2.687l-125.33-206.427a31.923 31.923 0 0 0 12.958-9.485l126.048 207.608a8 8 0 0 1-2.687 10.991zM142.803 314.338l-32.54 89.485 36.12 88.285c6.693 16.36 25.377 24.192 41.733 17.501 16.357-6.692 24.193-25.376 17.501-41.734l-62.814-153.537zM96 88c24.301 0 44-19.699 44-44S120.301 0 96 0 52 19.699 52 44s19.699 44 44 44zm154.837 169.128l-120-152c-4.733-5.995-11.75-9.108-18.837-9.112V96H80v.026c-7.146.003-14.217 3.161-18.944 9.24L0 183.766v95.694c0 13.455 11.011 24.791 24.464 24.536C37.505 303.748 48 293.1 48 280v-79.766l16-20.571v140.698L9.927 469.055c-6.04 16.609 2.528 34.969 19.138 41.009 16.602 6.039 34.968-2.524 41.009-19.138L136 309.638V202.441l-31.406-39.816a4 4 0 1 1 6.269-4.971l102.3 129.217c9.145 11.584 24.368 11.339 33.708 3.965 10.41-8.216 12.159-23.334 3.966-33.708z',\n\t],\n};\nvar faBold = {\n\tprefix: 'fas',\n\ticonName: 'bold',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f032',\n\t\t'M304.793 243.891c33.639-18.537 53.657-54.16 53.657-95.693 0-48.236-26.25-87.626-68.626-104.179C265.138 34.01 240.849 32 209.661 32H24c-8.837 0-16 7.163-16 16v33.049c0 8.837 7.163 16 16 16h33.113v318.53H24c-8.837 0-16 7.163-16 16V464c0 8.837 7.163 16 16 16h195.69c24.203 0 44.834-1.289 66.866-7.584C337.52 457.193 376 410.647 376 350.014c0-52.168-26.573-91.684-71.207-106.123zM142.217 100.809h67.444c16.294 0 27.536 2.019 37.525 6.717 15.828 8.479 24.906 26.502 24.906 49.446 0 35.029-20.32 56.79-53.029 56.79h-76.846V100.809zm112.642 305.475c-10.14 4.056-22.677 4.907-31.409 4.907h-81.233V281.943h84.367c39.645 0 63.057 25.38 63.057 63.057.001 28.425-13.66 52.483-34.782 61.284z',\n\t],\n};\nvar faBolt = {\n\tprefix: 'fas',\n\ticonName: 'bolt',\n\ticon: [\n\t\t320,\n\t\t512,\n\t\t[],\n\t\t'f0e7',\n\t\t'M295.973 160H180.572L215.19 30.184C219.25 14.956 207.756 0 192 0H56C43.971 0 33.8 8.905 32.211 20.828l-31.996 240C-1.704 275.217 9.504 288 24.004 288h118.701L96.646 482.466C93.05 497.649 104.659 512 119.992 512c8.35 0 16.376-4.374 20.778-11.978l175.973-303.997c9.244-15.967-2.288-36.025-20.77-36.025z',\n\t],\n};\nvar faBomb = {\n\tprefix: 'fas',\n\ticonName: 'bomb',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f1e2',\n\t\t'M440.5 88.5l-52 52L415 167c9.4 9.4 9.4 24.6 0 33.9l-17.4 17.4c11.8 26.1 18.4 55.1 18.4 85.6 0 114.9-93.1 208-208 208S0 418.9 0 304 93.1 96 208 96c30.5 0 59.5 6.6 85.6 18.4L311 97c9.4-9.4 24.6-9.4 33.9 0l26.5 26.5 52-52 17.1 17zM500 60h-24c-6.6 0-12 5.4-12 12s5.4 12 12 12h24c6.6 0 12-5.4 12-12s-5.4-12-12-12zM440 0c-6.6 0-12 5.4-12 12v24c0 6.6 5.4 12 12 12s12-5.4 12-12V12c0-6.6-5.4-12-12-12zm33.9 55l17-17c4.7-4.7 4.7-12.3 0-17-4.7-4.7-12.3-4.7-17 0l-17 17c-4.7 4.7-4.7 12.3 0 17 4.8 4.7 12.4 4.7 17 0zm-67.8 0c4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17l-17-17c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17l17 17zm67.8 34c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17l17 17c4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17l-17-17zM112 272c0-35.3 28.7-64 64-64 8.8 0 16-7.2 16-16s-7.2-16-16-16c-52.9 0-96 43.1-96 96 0 8.8 7.2 16 16 16s16-7.2 16-16z',\n\t],\n};\nvar faBook = {\n\tprefix: 'fas',\n\ticonName: 'book',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f02d',\n\t\t'M448 360V24c0-13.3-10.7-24-24-24H96C43 0 0 43 0 96v320c0 53 43 96 96 96h328c13.3 0 24-10.7 24-24v-16c0-7.5-3.5-14.3-8.9-18.7-4.2-15.4-4.2-59.3 0-74.7 5.4-4.3 8.9-11.1 8.9-18.6zM128 134c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm0 64c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm253.4 250H96c-17.7 0-32-14.3-32-32 0-17.6 14.4-32 32-32h285.4c-1.9 17.1-1.9 46.9 0 64z',\n\t],\n};\nvar faBookmark = {\n\tprefix: 'fas',\n\ticonName: 'bookmark',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f02e',\n\t\t'M0 512V48C0 21.49 21.49 0 48 0h288c26.51 0 48 21.49 48 48v464L192 400 0 512z',\n\t],\n};\nvar faBowlingBall = {\n\tprefix: 'fas',\n\ticonName: 'bowling-ball',\n\ticon: [\n\t\t496,\n\t\t512,\n\t\t[],\n\t\t'f436',\n\t\t'M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM120 192c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm64-96c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm48 144c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z',\n\t],\n};\nvar faBox = {\n\tprefix: 'fas',\n\ticonName: 'box',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f466',\n\t\t'M509.5 184.6L458.9 32.8C452.4 13.2 434.1 0 413.4 0H272v192h238.7c-.4-2.5-.4-5-1.2-7.4zM240 0H98.6c-20.7 0-39 13.2-45.5 32.8L2.5 184.6c-.8 2.4-.8 4.9-1.2 7.4H240V0zM0 224v240c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V224H0z',\n\t],\n};\nvar faBoxes = {\n\tprefix: 'fas',\n\ticonName: 'boxes',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f468',\n\t\t'M560 288h-80v96l-32-21.3-32 21.3v-96h-80c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16zm-384-64h224c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16h-80v96l-32-21.3L256 96V0h-80c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16zm64 64h-80v96l-32-21.3L96 384v-96H16c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16z',\n\t],\n};\nvar faBraille = {\n\tprefix: 'fas',\n\ticonName: 'braille',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f2a1',\n\t\t'M128 256c0 35.346-28.654 64-64 64S0 291.346 0 256s28.654-64 64-64 64 28.654 64 64zM64 384c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352C28.654 32 0 60.654 0 96s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm160 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm224 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm160 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-320c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z',\n\t],\n};\nvar faBriefcase = {\n\tprefix: 'fas',\n\ticonName: 'briefcase',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f0b1',\n\t\t'M320 288h192v144c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V288h192v20c0 6.627 5.373 12 12 12h104c6.627 0 12-5.373 12-12v-20zm192-112v80H0v-80c0-26.51 21.49-48 48-48h80V80c0-26.51 21.49-48 48-48h160c26.51 0 48 21.49 48 48v48h80c26.51 0 48 21.49 48 48zM320 96H192v32h128V96z',\n\t],\n};\nvar faBug = {\n\tprefix: 'fas',\n\ticonName: 'bug',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f188',\n\t\t'M511.988 288.9c-.478 17.43-15.217 31.1-32.653 31.1H424v16c0 21.864-4.882 42.584-13.6 61.145l60.228 60.228c12.496 12.497 12.496 32.758 0 45.255-12.498 12.497-32.759 12.496-45.256 0l-54.736-54.736C345.886 467.965 314.351 480 280 480V236c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v244c-34.351 0-65.886-12.035-90.636-32.108l-54.736 54.736c-12.498 12.497-32.759 12.496-45.256 0-12.496-12.497-12.496-32.758 0-45.255l60.228-60.228C92.882 378.584 88 357.864 88 336v-16H32.666C15.23 320 .491 306.33.013 288.9-.484 270.816 14.028 256 32 256h56v-58.745l-46.628-46.628c-12.496-12.497-12.496-32.758 0-45.255 12.498-12.497 32.758-12.497 45.256 0L141.255 160h229.489l54.627-54.627c12.498-12.497 32.758-12.497 45.256 0 12.496 12.497 12.496 32.758 0 45.255L424 197.255V256h56c17.972 0 32.484 14.816 31.988 32.9zM257 0c-61.856 0-112 50.144-112 112h224C369 50.144 318.856 0 257 0z',\n\t],\n};\nvar faBuilding = {\n\tprefix: 'fas',\n\ticonName: 'building',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f1ad',\n\t\t'M436 480h-20V24c0-13.255-10.745-24-24-24H56C42.745 0 32 10.745 32 24v456H12c-6.627 0-12 5.373-12 12v20h448v-20c0-6.627-5.373-12-12-12zM128 76c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12V76zm0 96c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40zm52 148h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12zm76 160h-64v-84c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v84zm64-172c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40zm0-96c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40zm0-96c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12V76c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40z',\n\t],\n};\nvar faBullhorn = {\n\tprefix: 'fas',\n\ticonName: 'bullhorn',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f0a1',\n\t\t'M576 224c0-20.896-13.36-38.666-32-45.258V64c0-35.346-28.654-64-64-64-64.985 56-142.031 128-272 128H48c-26.51 0-48 21.49-48 48v96c0 26.51 21.49 48 48 48h43.263c-18.742 64.65 2.479 116.379 18.814 167.44 1.702 5.32 5.203 9.893 9.922 12.88 20.78 13.155 68.355 15.657 93.773 5.151 16.046-6.633 19.96-27.423 7.522-39.537-18.508-18.026-30.136-36.91-19.795-60.858a12.278 12.278 0 0 0-1.045-11.673c-16.309-24.679-3.581-62.107 28.517-72.752C346.403 327.887 418.591 395.081 480 448c35.346 0 64-28.654 64-64V269.258c18.64-6.592 32-24.362 32-45.258zm-96 139.855c-54.609-44.979-125.033-92.94-224-104.982v-69.747c98.967-12.042 169.391-60.002 224-104.982v279.711z',\n\t],\n};\nvar faBullseye = {\n\tprefix: 'fas',\n\ticonName: 'bullseye',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f140',\n\t\t'M256 72c101.689 0 184 82.295 184 184 0 101.689-82.295 184-184 184-101.689 0-184-82.295-184-184 0-101.689 82.295-184 184-184m0-64C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 184c35.29 0 64 28.71 64 64s-28.71 64-64 64-64-28.71-64-64 28.71-64 64-64m0-64c-70.692 0-128 57.308-128 128s57.308 128 128 128 128-57.308 128-128-57.308-128-128-128z',\n\t],\n};\nvar faBus = {\n\tprefix: 'fas',\n\ticonName: 'bus',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f207',\n\t\t'M512 152v80c0 13.255-10.745 24-24 24h-8v168c0 13.255-10.745 24-24 24h-8v40c0 13.255-10.745 24-24 24h-48c-13.255 0-24-10.745-24-24v-40H160v40c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24v-40h-8c-13.255 0-24-10.745-24-24V256h-8c-13.255 0-24-10.745-24-24v-80c0-13.255 10.745-24 24-24h8V80C32 35.817 132.288 0 256 0s224 35.817 224 80v48h8c13.255 0 24 10.745 24 24zM112 320c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm288 0c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm32-56V120c0-13.255-10.745-24-24-24H104c-13.255 0-24 10.745-24 24v144c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24z',\n\t],\n};\nvar faCalculator = {\n\tprefix: 'fas',\n\ticonName: 'calculator',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f1ec',\n\t\t'M0 464V48C0 21.49 21.49 0 48 0h352c26.51 0 48 21.49 48 48v416c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48zm384-284V76c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v104c0 6.627 5.373 12 12 12h296c6.627 0 12-5.373 12-12zM128 308v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm256 128V268c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v168c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-256 0v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm128-128v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm0 128v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z',\n\t],\n};\nvar faCalendar = {\n\tprefix: 'fas',\n\ticonName: 'calendar',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f133',\n\t\t'M12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm436-44v-36c0-26.5-21.5-48-48-48h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v36c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12z',\n\t],\n};\nvar faCalendarAlt = {\n\tprefix: 'fas',\n\ticonName: 'calendar-alt',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f073',\n\t\t'M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm116 204c0-6.6-5.4-12-12-12H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40zm0-128c0-6.6-5.4-12-12-12H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40zm128 128c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40zm0-128c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40zm128 128c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40zm0-128c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40z',\n\t],\n};\nvar faCalendarCheck = {\n\tprefix: 'fas',\n\ticonName: 'calendar-check',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f274',\n\t\t'M436 160H12c-6.627 0-12-5.373-12-12v-36c0-26.51 21.49-48 48-48h48V12c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v52h128V12c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v52h48c26.51 0 48 21.49 48 48v36c0 6.627-5.373 12-12 12zM12 192h424c6.627 0 12 5.373 12 12v260c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V204c0-6.627 5.373-12 12-12zm333.296 95.947l-28.169-28.398c-4.667-4.705-12.265-4.736-16.97-.068L194.12 364.665l-45.98-46.352c-4.667-4.705-12.266-4.736-16.971-.068l-28.397 28.17c-4.705 4.667-4.736 12.265-.068 16.97l82.601 83.269c4.667 4.705 12.265 4.736 16.97.068l142.953-141.805c4.705-4.667 4.736-12.265.068-16.97z',\n\t],\n};\nvar faCalendarMinus = {\n\tprefix: 'fas',\n\ticonName: 'calendar-minus',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f272',\n\t\t'M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm304 192c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H132c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h184z',\n\t],\n};\nvar faCalendarPlus = {\n\tprefix: 'fas',\n\ticonName: 'calendar-plus',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f271',\n\t\t'M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm316 140c0-6.6-5.4-12-12-12h-60v-60c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v60h-60c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h60v60c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-60h60c6.6 0 12-5.4 12-12v-40z',\n\t],\n};\nvar faCalendarTimes = {\n\tprefix: 'fas',\n\ticonName: 'calendar-times',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f273',\n\t\t'M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm257.3 160l48.1-48.1c4.7-4.7 4.7-12.3 0-17l-28.3-28.3c-4.7-4.7-12.3-4.7-17 0L224 306.7l-48.1-48.1c-4.7-4.7-12.3-4.7-17 0l-28.3 28.3c-4.7 4.7-4.7 12.3 0 17l48.1 48.1-48.1 48.1c-4.7 4.7-4.7 12.3 0 17l28.3 28.3c4.7 4.7 12.3 4.7 17 0l48.1-48.1 48.1 48.1c4.7 4.7 12.3 4.7 17 0l28.3-28.3c4.7-4.7 4.7-12.3 0-17L269.3 352z',\n\t],\n};\nvar faCamera = {\n\tprefix: 'fas',\n\ticonName: 'camera',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f030',\n\t\t'M512 144v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48h88l12.3-32.9c7-18.7 24.9-31.1 44.9-31.1h125.5c20 0 37.9 12.4 44.9 31.1L376 96h88c26.5 0 48 21.5 48 48zM376 288c0-66.2-53.8-120-120-120s-120 53.8-120 120 53.8 120 120 120 120-53.8 120-120zm-32 0c0 48.5-39.5 88-88 88s-88-39.5-88-88 39.5-88 88-88 88 39.5 88 88z',\n\t],\n};\nvar faCameraRetro = {\n\tprefix: 'fas',\n\ticonName: 'camera-retro',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f083',\n\t\t'M48 32C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H48zm0 32h106c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H38c-3.3 0-6-2.7-6-6V80c0-8.8 7.2-16 16-16zm426 96H38c-3.3 0-6-2.7-6-6v-36c0-3.3 2.7-6 6-6h138l30.2-45.3c1.1-1.7 3-2.7 5-2.7H464c8.8 0 16 7.2 16 16v74c0 3.3-2.7 6-6 6zM256 424c-66.2 0-120-53.8-120-120s53.8-120 120-120 120 53.8 120 120-53.8 120-120 120zm0-208c-48.5 0-88 39.5-88 88s39.5 88 88 88 88-39.5 88-88-39.5-88-88-88zm-48 104c-8.8 0-16-7.2-16-16 0-35.3 28.7-64 64-64 8.8 0 16 7.2 16 16s-7.2 16-16 16c-17.6 0-32 14.4-32 32 0 8.8-7.2 16-16 16z',\n\t],\n};\nvar faCar = {\n\tprefix: 'fas',\n\ticonName: 'car',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f1b9',\n\t\t'M499.991 168h-54.815l-7.854-20.944c-9.192-24.513-25.425-45.351-46.942-60.263S343.651 64 317.472 64H194.528c-26.18 0-51.391 7.882-72.908 22.793-21.518 14.912-37.75 35.75-46.942 60.263L66.824 168H12.009c-8.191 0-13.974 8.024-11.384 15.795l8 24A12 12 0 0 0 20.009 216h28.815l-.052.14C29.222 227.093 16 247.997 16 272v48c0 16.225 6.049 31.029 16 42.309V424c0 13.255 10.745 24 24 24h48c13.255 0 24-10.745 24-24v-40h256v40c0 13.255 10.745 24 24 24h48c13.255 0 24-10.745 24-24v-61.691c9.951-11.281 16-26.085 16-42.309v-48c0-24.003-13.222-44.907-32.772-55.86l-.052-.14h28.815a12 12 0 0 0 11.384-8.205l8-24c2.59-7.771-3.193-15.795-11.384-15.795zm-365.388 1.528C143.918 144.689 168 128 194.528 128h122.944c26.528 0 50.61 16.689 59.925 41.528L391.824 208H120.176l14.427-38.472zM88 328c-17.673 0-32-14.327-32-32 0-17.673 14.327-32 32-32s48 30.327 48 48-30.327 16-48 16zm336 0c-17.673 0-48 1.673-48-16 0-17.673 30.327-48 48-48s32 14.327 32 32c0 17.673-14.327 32-32 32z',\n\t],\n};\nvar faCaretDown = {\n\tprefix: 'fas',\n\ticonName: 'caret-down',\n\ticon: [\n\t\t320,\n\t\t512,\n\t\t[],\n\t\t'f0d7',\n\t\t'M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z',\n\t],\n};\nvar faCaretLeft = {\n\tprefix: 'fas',\n\ticonName: 'caret-left',\n\ticon: [\n\t\t192,\n\t\t512,\n\t\t[],\n\t\t'f0d9',\n\t\t'M192 127.338v257.324c0 17.818-21.543 26.741-34.142 14.142L29.196 270.142c-7.81-7.81-7.81-20.474 0-28.284l128.662-128.662c12.599-12.6 34.142-3.676 34.142 14.142z',\n\t],\n};\nvar faCaretRight = {\n\tprefix: 'fas',\n\ticonName: 'caret-right',\n\ticon: [\n\t\t192,\n\t\t512,\n\t\t[],\n\t\t'f0da',\n\t\t'M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z',\n\t],\n};\nvar faCaretSquareDown = {\n\tprefix: 'fas',\n\ticonName: 'caret-square-down',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f150',\n\t\t'M448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM92.5 220.5l123 123c4.7 4.7 12.3 4.7 17 0l123-123c7.6-7.6 2.2-20.5-8.5-20.5H101c-10.7 0-16.1 12.9-8.5 20.5z',\n\t],\n};\nvar faCaretSquareLeft = {\n\tprefix: 'fas',\n\ticonName: 'caret-square-left',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f191',\n\t\t'M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zM259.515 124.485l-123.03 123.03c-4.686 4.686-4.686 12.284 0 16.971l123.029 123.029c7.56 7.56 20.485 2.206 20.485-8.485V132.971c.001-10.691-12.925-16.045-20.484-8.486z',\n\t],\n};\nvar faCaretSquareRight = {\n\tprefix: 'fas',\n\ticonName: 'caret-square-right',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f152',\n\t\t'M48 32h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48zm140.485 355.515l123.029-123.029c4.686-4.686 4.686-12.284 0-16.971l-123.029-123.03c-7.56-7.56-20.485-2.206-20.485 8.485v246.059c0 10.691 12.926 16.045 20.485 8.486z',\n\t],\n};\nvar faCaretSquareUp = {\n\tprefix: 'fas',\n\ticonName: 'caret-square-up',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f151',\n\t\t'M0 432V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48zm355.515-140.485l-123.03-123.03c-4.686-4.686-12.284-4.686-16.971 0L92.485 291.515c-7.56 7.56-2.206 20.485 8.485 20.485h246.059c10.691 0 16.045-12.926 8.486-20.485z',\n\t],\n};\nvar faCaretUp = {\n\tprefix: 'fas',\n\ticonName: 'caret-up',\n\ticon: [\n\t\t320,\n\t\t512,\n\t\t[],\n\t\t'f0d8',\n\t\t'M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z',\n\t],\n};\nvar faCartArrowDown = {\n\tprefix: 'fas',\n\ticonName: 'cart-arrow-down',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f218',\n\t\t'M504.717 320H211.572l6.545 32h268.418c15.401 0 26.816 14.301 23.403 29.319l-5.517 24.276C523.112 414.668 536 433.828 536 456c0 31.202-25.519 56.444-56.824 55.994-29.823-.429-54.35-24.631-55.155-54.447-.44-16.287 6.085-31.049 16.803-41.548H231.176C241.553 426.165 248 440.326 248 456c0 31.813-26.528 57.431-58.67 55.938-28.54-1.325-51.751-24.385-53.251-52.917-1.158-22.034 10.436-41.455 28.051-51.586L93.883 64H24C10.745 64 0 53.255 0 40V24C0 10.745 10.745 0 24 0h102.529c11.401 0 21.228 8.021 23.513 19.19L159.208 64H551.99c15.401 0 26.816 14.301 23.403 29.319l-47.273 208C525.637 312.246 515.923 320 504.717 320zM403.029 192H360v-60c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v60h-43.029c-10.691 0-16.045 12.926-8.485 20.485l67.029 67.029c4.686 4.686 12.284 4.686 16.971 0l67.029-67.029c7.559-7.559 2.205-20.485-8.486-20.485z',\n\t],\n};\nvar faCartPlus = {\n\tprefix: 'fas',\n\ticonName: 'cart-plus',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f217',\n\t\t'M504.717 320H211.572l6.545 32h268.418c15.401 0 26.816 14.301 23.403 29.319l-5.517 24.276C523.112 414.668 536 433.828 536 456c0 31.202-25.519 56.444-56.824 55.994-29.823-.429-54.35-24.631-55.155-54.447-.44-16.287 6.085-31.049 16.803-41.548H231.176C241.553 426.165 248 440.326 248 456c0 31.813-26.528 57.431-58.67 55.938-28.54-1.325-51.751-24.385-53.251-52.917-1.158-22.034 10.436-41.455 28.051-51.586L93.883 64H24C10.745 64 0 53.255 0 40V24C0 10.745 10.745 0 24 0h102.529c11.401 0 21.228 8.021 23.513 19.19L159.208 64H551.99c15.401 0 26.816 14.301 23.403 29.319l-47.273 208C525.637 312.246 515.923 320 504.717 320zM408 168h-48v-40c0-8.837-7.163-16-16-16h-16c-8.837 0-16 7.163-16 16v40h-48c-8.837 0-16 7.163-16 16v16c0 8.837 7.163 16 16 16h48v40c0 8.837 7.163 16 16 16h16c8.837 0 16-7.163 16-16v-40h48c8.837 0 16-7.163 16-16v-16c0-8.837-7.163-16-16-16z',\n\t],\n};\nvar faCertificate = {\n\tprefix: 'fas',\n\ticonName: 'certificate',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f0a3',\n\t\t'M458.622 255.92l45.985-45.005c13.708-12.977 7.316-36.039-10.664-40.339l-62.65-15.99 17.661-62.015c4.991-17.838-11.829-34.663-29.661-29.671l-61.994 17.667-15.984-62.671C337.085.197 313.765-6.276 300.99 7.228L256 53.57 211.011 7.229c-12.63-13.351-36.047-7.234-40.325 10.668l-15.984 62.671-61.995-17.667C74.87 57.907 58.056 74.738 63.046 92.572l17.661 62.015-62.65 15.99C.069 174.878-6.31 197.944 7.392 210.915l45.985 45.005-45.985 45.004c-13.708 12.977-7.316 36.039 10.664 40.339l62.65 15.99-17.661 62.015c-4.991 17.838 11.829 34.663 29.661 29.671l61.994-17.667 15.984 62.671c4.439 18.575 27.696 24.018 40.325 10.668L256 458.61l44.989 46.001c12.5 13.488 35.987 7.486 40.325-10.668l15.984-62.671 61.994 17.667c17.836 4.994 34.651-11.837 29.661-29.671l-17.661-62.015 62.65-15.99c17.987-4.302 24.366-27.367 10.664-40.339l-45.984-45.004z',\n\t],\n};\nvar faChartArea = {\n\tprefix: 'fas',\n\ticonName: 'chart-area',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f1fe',\n\t\t'M500 384c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v308h436zM372.7 159.5L288 216l-85.3-113.7c-5.1-6.8-15.5-6.3-19.9 1L96 248v104h384l-89.9-187.8c-3.2-6.5-11.4-8.7-17.4-4.7z',\n\t],\n};\nvar faChartBar = {\n\tprefix: 'fas',\n\ticonName: 'chart-bar',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f080',\n\t\t'M500 384c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v308h436zm-308-44v-72c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v72c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0V204c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v136c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 0V140c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v200c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0V108c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v232c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z',\n\t],\n};\nvar faChartLine = {\n\tprefix: 'fas',\n\ticonName: 'chart-line',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f201',\n\t\t'M500 384c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v308h436zM456 96H344c-21.4 0-32.1 25.9-17 41l32.9 32.9-72 72.9-55.6-55.6c-4.7-4.7-12.2-4.7-16.9 0L96.4 305c-4.7 4.6-4.8 12.2-.2 16.9l28.5 29.4c4.7 4.8 12.4 4.9 17.1.1l82.1-82.1 55.5 55.5c4.7 4.7 12.3 4.7 17 0l109.2-109.2L439 249c15.1 15.1 41 4.4 41-17V120c0-13.3-10.7-24-24-24z',\n\t],\n};\nvar faChartPie = {\n\tprefix: 'fas',\n\ticonName: 'chart-pie',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f200',\n\t\t'M288 12.3V240h227.7c6.9 0 12.3-5.8 12-12.7-6.4-122.4-104.5-220.6-227-227-6.9-.3-12.7 5.1-12.7 12zM552.7 288c6.9 0 12.3 5.8 12 12.7-2.8 53.2-23.2 105.6-61.2 147.8-4.6 5.1-12.6 5.4-17.5.5L325 288h227.7zM401 433c4.8 4.8 4.7 12.8-.4 17.3-42.6 38.4-99 61.7-160.8 61.7C107.6 511.9-.2 403.8 0 271.5.2 143.4 100.8 38.9 227.3 32.3c6.9-.4 12.7 5.1 12.7 12V272l161 161z',\n\t],\n};\nvar faCheck = {\n\tprefix: 'fas',\n\ticonName: 'check',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f00c',\n\t\t'M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z',\n\t],\n};\nvar faCheckCircle = {\n\tprefix: 'fas',\n\ticonName: 'check-circle',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f058',\n\t\t'M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z',\n\t],\n};\nvar faCheckSquare = {\n\tprefix: 'fas',\n\ticonName: 'check-square',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f14a',\n\t\t'M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zm-204.686-98.059l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.248-16.379-6.249-22.628 0L184 302.745l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.25 16.379 6.25 22.628.001z',\n\t],\n};\nvar faChess = {\n\tprefix: 'fas',\n\ticonName: 'chess',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f439',\n\t\t'M199.821 217.633a6 6 0 0 1 6 6l-.001 20.766a6 6 0 0 1-6 6h-25.805c0 31.715-2.153 96.201 17.398 153.229H64.597C84.54 345.452 82.02 279.245 82.02 250.399H56.183a6 6 0 0 1-6-6l.002-20.766a6 6 0 0 1 6-6h143.636zM41.554 115.088l34.58 95.071h103.734l34.572-95.072c2.846-7.826-2.95-16.101-11.278-16.101H152v-30.22h21.57a6 6 0 0 0 6-6V40.383a6 6 0 0 0-6-6h-28.367V6a6 6 0 0 0-6-6H116.82a6 6 0 0 0-6 6v28.383H82.421a6 6 0 0 0-6 6v22.383a6 6 0 0 0 6 6H104v30.219H52.831c-8.328.001-14.124 8.276-11.277 16.103zM222.678 445.17v-28.067a6 6 0 0 0-6-6H39.322a6 6 0 0 0-6 6v28.067l-22.148 14.164a6 6 0 0 0-2.767 5.055V506a6 6 0 0 0 6 6h227.187a6 6 0 0 0 6-6v-41.612a6 6 0 0 0-2.767-5.055l-22.149-14.163zm90.578-144.225l24.88 16.963c.09 18.124-.167 63.904-11.905 114.522h147.526c-11.713-50.475-11.969-96.324-11.882-114.537l24.859-16.949a3.856 3.856 0 0 0 1.684-3.187v-69.901a3.857 3.857 0 0 0-3.857-3.857h-27.655a3.857 3.857 0 0 0-3.857 3.857v31.514h-22.737v-31.514a3.857 3.857 0 0 0-3.858-3.857h-52.918a3.857 3.857 0 0 0-3.857 3.857v31.514h-22.737v-31.514a3.857 3.857 0 0 0-3.857-3.857H315.43a3.857 3.857 0 0 0-3.857 3.857v69.901a3.855 3.855 0 0 0 1.683 3.188zm71.585 51.906c0-8.372 6.787-15.158 15.159-15.158s15.158 6.787 15.158 15.158v30.318h-30.317v-30.318zM504.62 470.059l-13.664-10.639v-15.552a3.857 3.857 0 0 0-3.857-3.857H312.915a3.857 3.857 0 0 0-3.857 3.857v15.552l-13.677 10.639a3.857 3.857 0 0 0-1.488 3.044v35.039a3.857 3.857 0 0 0 3.857 3.857h204.5a3.857 3.857 0 0 0 3.857-3.857v-35.04a3.859 3.859 0 0 0-1.487-3.043z',\n\t],\n};\nvar faChessBishop = {\n\tprefix: 'fas',\n\ticonName: 'chess-bishop',\n\ticon: [\n\t\t320,\n\t\t512,\n\t\t[],\n\t\t'f43a',\n\t\t'M123.158 77.881C107.369 72.53 96 57.597 96 40c0-22.091 17.909-40 40-40h47.796c22.091 0 40 17.909 40 40 0 17.541-11.295 32.434-27.005 37.829 23.993 16.657 48.577 46.839 68.703 82.05L144.929 280.443a6 6 0 0 0 0 8.485l14.142 14.142a6 6 0 0 0 8.485 0L280.9 189.726c17.758 38.297 29.371 79.443 29.371 114.273 0 53.786-22.897 75.788-58.446 86.033V448H68.174v-57.97C32.631 379.784 9.739 357.781 9.739 304c0-78.029 58.281-187.766 113.419-226.119zM320 500v-24c0-6.627-5.373-12-12-12H12c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h296c6.627 0 12-5.373 12-12z',\n\t],\n};\nvar faChessBoard = {\n\tprefix: 'fas',\n\ticonName: 'chess-board',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f43c',\n\t\t'M256 256v64h-64v-64h64zm0-256h-64v64h64V0zm0 256h64v-64h-64v64zM384 0h-64v64h64V0zm0 512h64v-64h-64v64zm128-64v-64h-64v64h64zm-384 64h64v-64h-64v64zm0-512H64v64h64V0zm384 192v-64h-64v64h64zm0 128v-64h-64v64h64zM0 512h64v-64H0v64zM0 64v64h64V64H0zm0 128v64h64v-64H0zm0 128v64h64v-64H0zm256 192h64v-64h-64v64zm-64-128v64h64v-64h-64zm64-192v-64h-64v64h64zM64 384v64h64v-64H64zm64-128H64v64h64v-64zm256 128h64v-64h-64v64zM512 0h-64v64h64V0zM384 256h64v-64h-64v64zm0-192v64h64V64h-64zm-64 320v64h64v-64h-64zm-192-64v64h64v-64h-64zm128 0v64h64v-64h-64zm-64-128h-64v64h64v-64zm-64-64H64v64h64v-64zm192 192h64v-64h-64v64zM192 128V64h-64v64h64zm128 0V64h-64v64h64zm0 64h64v-64h-64v64z',\n\t],\n};\nvar faChessKing = {\n\tprefix: 'fas',\n\ticonName: 'chess-king',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f43f',\n\t\t'M416 476v24c0 6.627-5.373 12-12 12H44c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h360c6.627 0 12 5.373 12 12zm-8.033-324H248v-48h50a6 6 0 0 0 6-6V62a6 6 0 0 0-6-6h-50V6a6 6 0 0 0-6-6h-36a6 6 0 0 0-6 6v50h-50a6 6 0 0 0-6 6v36a6 6 0 0 0 6 6h50v48H40.033c-27.574 0-46.879 27.244-37.738 53.259L87.582 448h272.836l85.287-242.741C454.846 179.244 435.541 152 407.967 152z',\n\t],\n};\nvar faChessKnight = {\n\tprefix: 'fas',\n\ticonName: 'chess-knight',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f441',\n\t\t'M352 224v224H32v-46.557c0-30.302 17.12-58.003 44.223-71.554l57.243-28.622A48 48 0 0 0 160 258.334V208l-22.127 11.063a23.996 23.996 0 0 0-12.55 15.645l-11.835 47.338a12 12 0 0 1-7.185 8.231l-29.601 11.84a11.998 11.998 0 0 1-9.33-.176L7.126 275.167A12 12 0 0 1 0 264.201v-158.26c0-6.365 2.529-12.47 7.03-16.971L16 80 1.789 51.578A16.937 16.937 0 0 1 0 44c0-6.627 5.373-12 12-12h148c106.039 0 192 85.961 192 192zm20 240H12c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h360c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12zM52 128c-11.046 0-20 8.954-20 20s8.954 20 20 20 20-8.954 20-20-8.954-20-20-20z',\n\t],\n};\nvar faChessPawn = {\n\tprefix: 'fas',\n\ticonName: 'chess-pawn',\n\ticon: [\n\t\t320,\n\t\t512,\n\t\t[],\n\t\t'f443',\n\t\t'M264 448H56s60-42.743 60-176H84c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h40.209C95.721 210.56 76 181.588 76 148c0-46.392 37.608-84 84-84s84 37.608 84 84c0 33.588-19.721 62.56-48.209 76H236c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12h-32c0 133.257 60 176 60 176zm28 16H28c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h264c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12z',\n\t],\n};\nvar faChessQueen = {\n\tprefix: 'fas',\n\ticonName: 'chess-queen',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f445',\n\t\t'M436 512H76c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h360c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12zM255.579 0c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zm204.568 154.634c-5.768-3.045-12.916-.932-16.082 4.77-8.616 15.516-22.747 37.801-44.065 37.801-28.714 0-30.625-19.804-31.686-57.542-.183-6.492-5.501-11.664-11.995-11.664h-41.006c-5.175 0-9.754 3.328-11.388 8.238-8.89 26.709-26.073 40.992-47.925 40.992s-39.034-14.283-47.925-40.992c-1.634-4.91-6.213-8.238-11.388-8.238h-41.005c-6.495 0-11.813 5.174-11.995 11.667-1.052 37.642-2.934 57.539-31.688 57.539-20.691 0-33.817-20.224-44.425-38.025-3.266-5.48-10.258-7.431-15.899-4.453l-39.179 20.679a12 12 0 0 0-5.51 15.145L112 448h288l105.014-257.448a12 12 0 0 0-5.51-15.145l-39.357-20.773z',\n\t],\n};\nvar faChessRook = {\n\tprefix: 'fas',\n\ticonName: 'chess-rook',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f447',\n\t\t'M81.241 215.027C80.957 258.92 77.411 348.076 48 448h287.982c-29.4-99.604-32.936-188.912-33.221-232.975l45.418-42.312a11.998 11.998 0 0 0 3.82-8.78V44c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v44h-48V44c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v44H96V44c0-6.627-5.373-12-12-12H44c-6.627 0-12 5.373-12 12v119.932c0 3.33 1.384 6.51 3.82 8.78l45.421 42.315zM160 256c0-17.673 14.327-32 32-32 17.673 0 32 14.327 32 32v64.004h-64V256zm224 220v24c0 6.627-5.373 12-12 12H12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h360c6.627 0 12 5.373 12 12z',\n\t],\n};\nvar faChevronCircleDown = {\n\tprefix: 'fas',\n\ticonName: 'chevron-circle-down',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f13a',\n\t\t'M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zM273 369.9l135.5-135.5c9.4-9.4 9.4-24.6 0-33.9l-17-17c-9.4-9.4-24.6-9.4-33.9 0L256 285.1 154.4 183.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L239 369.9c9.4 9.4 24.6 9.4 34 0z',\n\t],\n};\nvar faChevronCircleLeft = {\n\tprefix: 'fas',\n\ticonName: 'chevron-circle-left',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f137',\n\t\t'M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zM142.1 273l135.5 135.5c9.4 9.4 24.6 9.4 33.9 0l17-17c9.4-9.4 9.4-24.6 0-33.9L226.9 256l101.6-101.6c9.4-9.4 9.4-24.6 0-33.9l-17-17c-9.4-9.4-24.6-9.4-33.9 0L142.1 239c-9.4 9.4-9.4 24.6 0 34z',\n\t],\n};\nvar faChevronCircleRight = {\n\tprefix: 'fas',\n\ticonName: 'chevron-circle-right',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f138',\n\t\t'M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm113.9 231L234.4 103.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L285.1 256 183.5 357.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L369.9 273c9.4-9.4 9.4-24.6 0-34z',\n\t],\n};\nvar faChevronCircleUp = {\n\tprefix: 'fas',\n\ticonName: 'chevron-circle-up',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f139',\n\t\t'M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm231-113.9L103.5 277.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L256 226.9l101.6 101.6c9.4 9.4 24.6 9.4 33.9 0l17-17c9.4-9.4 9.4-24.6 0-33.9L273 142.1c-9.4-9.4-24.6-9.4-34 0z',\n\t],\n};\nvar faChevronDown = {\n\tprefix: 'fas',\n\ticonName: 'chevron-down',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f078',\n\t\t'M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z',\n\t],\n};\nvar faChevronLeft = {\n\tprefix: 'fas',\n\ticonName: 'chevron-left',\n\ticon: [\n\t\t320,\n\t\t512,\n\t\t[],\n\t\t'f053',\n\t\t'M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z',\n\t],\n};\nvar faChevronRight = {\n\tprefix: 'fas',\n\ticonName: 'chevron-right',\n\ticon: [\n\t\t320,\n\t\t512,\n\t\t[],\n\t\t'f054',\n\t\t'M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z',\n\t],\n};\nvar faChevronUp = {\n\tprefix: 'fas',\n\ticonName: 'chevron-up',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f077',\n\t\t'M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z',\n\t],\n};\nvar faChild = {\n\tprefix: 'fas',\n\ticonName: 'child',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f1ae',\n\t\t'M120 72c0-39.765 32.235-72 72-72s72 32.235 72 72c0 39.764-32.235 72-72 72s-72-32.236-72-72zm254.627 1.373c-12.496-12.497-32.758-12.497-45.254 0L242.745 160H141.254L54.627 73.373c-12.496-12.497-32.758-12.497-45.254 0-12.497 12.497-12.497 32.758 0 45.255L104 213.254V480c0 17.673 14.327 32 32 32h16c17.673 0 32-14.327 32-32V368h16v112c0 17.673 14.327 32 32 32h16c17.673 0 32-14.327 32-32V213.254l94.627-94.627c12.497-12.497 12.497-32.757 0-45.254z',\n\t],\n};\nvar faCircle = {\n\tprefix: 'fas',\n\ticonName: 'circle',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f111',\n\t\t'M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z',\n\t],\n};\nvar faCircleNotch = {\n\tprefix: 'fas',\n\ticonName: 'circle-notch',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f1ce',\n\t\t'M288 39.056v16.659c0 10.804 7.281 20.159 17.686 23.066C383.204 100.434 440 171.518 440 256c0 101.689-82.295 184-184 184-101.689 0-184-82.295-184-184 0-84.47 56.786-155.564 134.312-177.219C216.719 75.874 224 66.517 224 55.712V39.064c0-15.709-14.834-27.153-30.046-23.234C86.603 43.482 7.394 141.206 8.003 257.332c.72 137.052 111.477 246.956 248.531 246.667C393.255 503.711 504 392.788 504 256c0-115.633-79.14-212.779-186.211-240.236C302.678 11.889 288 23.456 288 39.056z',\n\t],\n};\nvar faClipboard = {\n\tprefix: 'fas',\n\ticonName: 'clipboard',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f328',\n\t\t'M384 112v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h80c0-35.29 28.71-64 64-64s64 28.71 64 64h80c26.51 0 48 21.49 48 48zM192 40c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24m96 114v-20a6 6 0 0 0-6-6H102a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6h180a6 6 0 0 0 6-6z',\n\t],\n};\nvar faClipboardCheck = {\n\tprefix: 'fas',\n\ticonName: 'clipboard-check',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f46c',\n\t\t'M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm121.2 231.8l-143 141.8c-4.7 4.7-12.3 4.6-17-.1l-82.6-83.3c-4.7-4.7-4.6-12.3.1-17L99.1 285c4.7-4.7 12.3-4.6 17 .1l46 46.4 106-105.2c4.7-4.7 12.3-4.6 17 .1l28.2 28.4c4.7 4.8 4.6 12.3-.1 17z',\n\t],\n};\nvar faClipboardList = {\n\tprefix: 'fas',\n\ticonName: 'clipboard-list',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f46d',\n\t\t'M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM96 424c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm96-192c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm128 368c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z',\n\t],\n};\nvar faClock = {\n\tprefix: 'fas',\n\ticonName: 'clock',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f017',\n\t\t'M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm57.1 350.1L224.9 294c-3.1-2.3-4.9-5.9-4.9-9.7V116c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12v137.7l63.5 46.2c5.4 3.9 6.5 11.4 2.6 16.8l-28.2 38.8c-3.9 5.3-11.4 6.5-16.8 2.6z',\n\t],\n};\nvar faClone = {\n\tprefix: 'fas',\n\ticonName: 'clone',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f24d',\n\t\t'M464 0c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48H176c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h288M176 416c-44.112 0-80-35.888-80-80V128H48c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48v-48H176z',\n\t],\n};\nvar faClosedCaptioning = {\n\tprefix: 'fas',\n\ticonName: 'closed-captioning',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f20a',\n\t\t'M464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM218.1 287.7c2.8-2.5 7.1-2.1 9.2.9l19.5 27.7c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.8-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7l-17.5 30.5c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2.1 48 51.1 70.5 92.3 32.6zm190.4 0c2.8-2.5 7.1-2.1 9.2.9l19.5 27.7c1.7 2.4 1.5 5.6-.5 7.7-53.5 56.9-172.7 32.1-172.7-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7L420 222.2c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6z',\n\t],\n};\nvar faCloud = {\n\tprefix: 'fas',\n\ticonName: 'cloud',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f0c2',\n\t\t'M537.585 226.56C541.725 215.836 544 204.184 544 192c0-53.019-42.981-96-96-96-19.729 0-38.065 5.954-53.316 16.159C367.042 64.248 315.288 32 256 32c-88.366 0-160 71.634-160 160 0 2.728.07 5.439.204 8.133C40.171 219.845 0 273.227 0 336c0 79.529 64.471 144 144 144h368c70.692 0 128-57.308 128-128 0-61.93-43.983-113.586-102.415-125.44z',\n\t],\n};\nvar faCloudDownloadAlt = {\n\tprefix: 'fas',\n\ticonName: 'cloud-download-alt',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f381',\n\t\t'M640 352c0 70.692-57.308 128-128 128H144C64.471 480 0 415.529 0 336c0-62.773 40.171-116.155 96.204-135.867A163.68 163.68 0 0 1 96 192c0-88.366 71.634-160 160-160 59.288 0 111.042 32.248 138.684 80.159C409.935 101.954 428.271 96 448 96c53.019 0 96 42.981 96 96 0 12.184-2.275 23.836-6.415 34.56C596.017 238.414 640 290.07 640 352zm-246.627-64H328V176c0-8.837-7.164-16-16-16h-48c-8.836 0-16 7.163-16 16v112h-65.373c-14.254 0-21.393 17.234-11.314 27.314l105.373 105.373c6.248 6.248 16.379 6.248 22.627 0l105.373-105.373c10.08-10.08 2.941-27.314-11.313-27.314z',\n\t],\n};\nvar faCloudUploadAlt = {\n\tprefix: 'fas',\n\ticonName: 'cloud-upload-alt',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f382',\n\t\t'M640 352c0 70.692-57.308 128-128 128H144C64.471 480 0 415.529 0 336c0-62.773 40.171-116.155 96.204-135.867A163.68 163.68 0 0 1 96 192c0-88.366 71.634-160 160-160 59.288 0 111.042 32.248 138.684 80.159C409.935 101.954 428.271 96 448 96c53.019 0 96 42.981 96 96 0 12.184-2.275 23.836-6.415 34.56C596.017 238.414 640 290.07 640 352zm-235.314-91.314L299.314 155.314c-6.248-6.248-16.379-6.248-22.627 0L171.314 260.686c-10.08 10.08-2.941 27.314 11.313 27.314H248v112c0 8.837 7.164 16 16 16h48c8.836 0 16-7.163 16-16V288h65.373c14.254 0 21.393-17.234 11.313-27.314z',\n\t],\n};\nvar faCode = {\n\tprefix: 'fas',\n\ticonName: 'code',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f121',\n\t\t'M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z',\n\t],\n};\nvar faCodeBranch = {\n\tprefix: 'fas',\n\ticonName: 'code-branch',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f126',\n\t\t'M384 144c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 36.4 24.3 67.1 57.5 76.8-.6 16.1-4.2 28.5-11 36.9-15.4 19.2-49.3 22.4-85.2 25.7-28.2 2.6-57.4 5.4-81.3 16.9v-144c32.5-10.2 56-40.5 56-76.3 0-44.2-35.8-80-80-80S0 35.8 0 80c0 35.8 23.5 66.1 56 76.3v199.3C23.5 365.9 0 396.2 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-34-21.2-63.1-51.2-74.6 3.1-5.2 7.8-9.8 14.9-13.4 16.2-8.2 40.4-10.4 66.1-12.8 42.2-3.9 90-8.4 118.2-43.4 14-17.4 21.1-39.8 21.6-67.9 31.6-10.8 54.4-40.7 54.4-75.9zM80 64c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16zm0 384c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm224-320c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16z',\n\t],\n};\nvar faCoffee = {\n\tprefix: 'fas',\n\ticonName: 'coffee',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f0f4',\n\t\t'M192 384h192c53 0 96-43 96-96h32c70.6 0 128-57.4 128-128S582.6 32 512 32H120c-13.3 0-24 10.7-24 24v232c0 53 43 96 96 96zM512 96c35.3 0 64 28.7 64 64s-28.7 64-64 64h-32V96h32zm47.7 384H48.3c-47.6 0-61-64-36-64h583.3c25 0 11.8 64-35.9 64z',\n\t],\n};\nvar faCog = {\n\tprefix: 'fas',\n\ticonName: 'cog',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f013',\n\t\t'M444.788 291.1l42.616 24.599c4.867 2.809 7.126 8.618 5.459 13.985-11.07 35.642-29.97 67.842-54.689 94.586a12.016 12.016 0 0 1-14.832 2.254l-42.584-24.595a191.577 191.577 0 0 1-60.759 35.13v49.182a12.01 12.01 0 0 1-9.377 11.718c-34.956 7.85-72.499 8.256-109.219.007-5.49-1.233-9.403-6.096-9.403-11.723v-49.184a191.555 191.555 0 0 1-60.759-35.13l-42.584 24.595a12.016 12.016 0 0 1-14.832-2.254c-24.718-26.744-43.619-58.944-54.689-94.586-1.667-5.366.592-11.175 5.459-13.985L67.212 291.1a193.48 193.48 0 0 1 0-70.199l-42.616-24.599c-4.867-2.809-7.126-8.618-5.459-13.985 11.07-35.642 29.97-67.842 54.689-94.586a12.016 12.016 0 0 1 14.832-2.254l42.584 24.595a191.577 191.577 0 0 1 60.759-35.13V25.759a12.01 12.01 0 0 1 9.377-11.718c34.956-7.85 72.499-8.256 109.219-.007 5.49 1.233 9.403 6.096 9.403 11.723v49.184a191.555 191.555 0 0 1 60.759 35.13l42.584-24.595a12.016 12.016 0 0 1 14.832 2.254c24.718 26.744 43.619 58.944 54.689 94.586 1.667 5.366-.592 11.175-5.459 13.985L444.788 220.9a193.485 193.485 0 0 1 0 70.2zM336 256c0-44.112-35.888-80-80-80s-80 35.888-80 80 35.888 80 80 80 80-35.888 80-80z',\n\t],\n};\nvar faCogs = {\n\tprefix: 'fas',\n\ticonName: 'cogs',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f085',\n\t\t'M512.1 191l-8.2 14.3c-3 5.3-9.4 7.5-15.1 5.4-11.8-4.4-22.6-10.7-32.1-18.6-4.6-3.8-5.8-10.5-2.8-15.7l8.2-14.3c-6.9-8-12.3-17.3-15.9-27.4h-16.5c-6 0-11.2-4.3-12.2-10.3-2-12-2.1-24.6 0-37.1 1-6 6.2-10.4 12.2-10.4h16.5c3.6-10.1 9-19.4 15.9-27.4l-8.2-14.3c-3-5.2-1.9-11.9 2.8-15.7 9.5-7.9 20.4-14.2 32.1-18.6 5.7-2.1 12.1.1 15.1 5.4l8.2 14.3c10.5-1.9 21.2-1.9 31.7 0L552 6.3c3-5.3 9.4-7.5 15.1-5.4 11.8 4.4 22.6 10.7 32.1 18.6 4.6 3.8 5.8 10.5 2.8 15.7l-8.2 14.3c6.9 8 12.3 17.3 15.9 27.4h16.5c6 0 11.2 4.3 12.2 10.3 2 12 2.1 24.6 0 37.1-1 6-6.2 10.4-12.2 10.4h-16.5c-3.6 10.1-9 19.4-15.9 27.4l8.2 14.3c3 5.2 1.9 11.9-2.8 15.7-9.5 7.9-20.4 14.2-32.1 18.6-5.7 2.1-12.1-.1-15.1-5.4l-8.2-14.3c-10.4 1.9-21.2 1.9-31.7 0zm-10.5-58.8c38.5 29.6 82.4-14.3 52.8-52.8-38.5-29.7-82.4 14.3-52.8 52.8zM386.3 286.1l33.7 16.8c10.1 5.8 14.5 18.1 10.5 29.1-8.9 24.2-26.4 46.4-42.6 65.8-7.4 8.9-20.2 11.1-30.3 5.3l-29.1-16.8c-16 13.7-34.6 24.6-54.9 31.7v33.6c0 11.6-8.3 21.6-19.7 23.6-24.6 4.2-50.4 4.4-75.9 0-11.5-2-20-11.9-20-23.6V418c-20.3-7.2-38.9-18-54.9-31.7L74 403c-10 5.8-22.9 3.6-30.3-5.3-16.2-19.4-33.3-41.6-42.2-65.7-4-10.9.4-23.2 10.5-29.1l33.3-16.8c-3.9-20.9-3.9-42.4 0-63.4L12 205.8c-10.1-5.8-14.6-18.1-10.5-29 8.9-24.2 26-46.4 42.2-65.8 7.4-8.9 20.2-11.1 30.3-5.3l29.1 16.8c16-13.7 34.6-24.6 54.9-31.7V57.1c0-11.5 8.2-21.5 19.6-23.5 24.6-4.2 50.5-4.4 76-.1 11.5 2 20 11.9 20 23.6v33.6c20.3 7.2 38.9 18 54.9 31.7l29.1-16.8c10-5.8 22.9-3.6 30.3 5.3 16.2 19.4 33.2 41.6 42.1 65.8 4 10.9.1 23.2-10 29.1l-33.7 16.8c3.9 21 3.9 42.5 0 63.5zm-117.6 21.1c59.2-77-28.7-164.9-105.7-105.7-59.2 77 28.7 164.9 105.7 105.7zm243.4 182.7l-8.2 14.3c-3 5.3-9.4 7.5-15.1 5.4-11.8-4.4-22.6-10.7-32.1-18.6-4.6-3.8-5.8-10.5-2.8-15.7l8.2-14.3c-6.9-8-12.3-17.3-15.9-27.4h-16.5c-6 0-11.2-4.3-12.2-10.3-2-12-2.1-24.6 0-37.1 1-6 6.2-10.4 12.2-10.4h16.5c3.6-10.1 9-19.4 15.9-27.4l-8.2-14.3c-3-5.2-1.9-11.9 2.8-15.7 9.5-7.9 20.4-14.2 32.1-18.6 5.7-2.1 12.1.1 15.1 5.4l8.2 14.3c10.5-1.9 21.2-1.9 31.7 0l8.2-14.3c3-5.3 9.4-7.5 15.1-5.4 11.8 4.4 22.6 10.7 32.1 18.6 4.6 3.8 5.8 10.5 2.8 15.7l-8.2 14.3c6.9 8 12.3 17.3 15.9 27.4h16.5c6 0 11.2 4.3 12.2 10.3 2 12 2.1 24.6 0 37.1-1 6-6.2 10.4-12.2 10.4h-16.5c-3.6 10.1-9 19.4-15.9 27.4l8.2 14.3c3 5.2 1.9 11.9-2.8 15.7-9.5 7.9-20.4 14.2-32.1 18.6-5.7 2.1-12.1-.1-15.1-5.4l-8.2-14.3c-10.4 1.9-21.2 1.9-31.7 0zM501.6 431c38.5 29.6 82.4-14.3 52.8-52.8-38.5-29.6-82.4 14.3-52.8 52.8z',\n\t],\n};\nvar faColumns = {\n\tprefix: 'fas',\n\ticonName: 'columns',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f0db',\n\t\t'M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64V160h160v256zm224 0H288V160h160v256z',\n\t],\n};\nvar faComment = {\n\tprefix: 'fas',\n\ticonName: 'comment',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f075',\n\t\t'M576 240c0 115-129 208-288 208-48.3 0-93.9-8.6-133.9-23.8-40.3 31.2-89.8 50.3-142.4 55.7-5.2.6-10.2-2.8-11.5-7.7-1.3-5 2.7-8.1 6.6-11.8 19.3-18.4 42.7-32.8 51.9-94.6C21.9 330.9 0 287.3 0 240 0 125.1 129 32 288 32s288 93.1 288 208z',\n\t],\n};\nvar faCommentAlt = {\n\tprefix: 'fas',\n\ticonName: 'comment-alt',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f27a',\n\t\t'M576 240c0 115-129 208-288 208-48.3 0-93.9-8.6-133.9-23.8-40.3 31.2-89.8 50.3-142.4 55.7-5.2.6-10.2-2.8-11.5-7.7-1.3-5 2.7-8.1 6.6-11.8 19.3-18.4 42.7-32.8 51.9-94.6C21.9 330.9 0 287.3 0 240 0 125.1 129 32 288 32s288 93.1 288 208zm-416-48c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm128 0c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm128 0c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48z',\n\t],\n};\nvar faComments = {\n\tprefix: 'fas',\n\ticonName: 'comments',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f086',\n\t\t'M224 358.857c-37.599 0-73.027-6.763-104.143-18.7-31.375 24.549-69.869 39.508-110.764 43.796a8.632 8.632 0 0 1-.89.047c-3.736 0-7.111-2.498-8.017-6.061-.98-3.961 2.088-6.399 5.126-9.305 15.017-14.439 33.222-25.79 40.342-74.297C17.015 266.886 0 232.622 0 195.429 0 105.16 100.297 32 224 32s224 73.159 224 163.429c-.001 90.332-100.297 163.428-224 163.428zm347.067 107.174c-13.944-13.127-30.849-23.446-37.46-67.543 68.808-64.568 52.171-156.935-37.674-207.065.031 1.334.066 2.667.066 4.006 0 122.493-129.583 216.394-284.252 211.222 38.121 30.961 93.989 50.492 156.252 50.492 34.914 0 67.811-6.148 96.704-17 29.134 22.317 64.878 35.916 102.853 39.814 3.786.395 7.363-1.973 8.27-5.467.911-3.601-1.938-5.817-4.759-8.459z',\n\t],\n};\nvar faCompass = {\n\tprefix: 'fas',\n\ticonName: 'compass',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f14e',\n\t\t'M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM307.446 120.844l-102.642 97.779a23.997 23.997 0 0 0-6.772 11.729l-33.359 137.779c-5.68 23.459 22.777 39.318 39.88 23.024l102.64-97.779a23.99 23.99 0 0 0 6.772-11.729l33.359-137.779c5.618-23.198-22.591-39.493-39.878-23.024zM256 224c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z',\n\t],\n};\nvar faCompress = {\n\tprefix: 'fas',\n\ticonName: 'compress',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f066',\n\t\t'M436 192H312c-13.3 0-24-10.7-24-24V44c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v84h84c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm-276-24V44c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v84H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24zm0 300V344c0-13.3-10.7-24-24-24H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-84h84c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H312c-13.3 0-24 10.7-24 24v124c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z',\n\t],\n};\nvar faCopy = {\n\tprefix: 'fas',\n\ticonName: 'copy',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f0c5',\n\t\t'M320 448v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h72v296c0 30.879 25.121 56 56 56h168zm0-344V0H152c-13.255 0-24 10.745-24 24v368c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24V128H344c-13.2 0-24-10.8-24-24zm120.971-31.029L375.029 7.029A24 24 0 0 0 358.059 0H352v96h96v-6.059a24 24 0 0 0-7.029-16.97z',\n\t],\n};\nvar faCopyright = {\n\tprefix: 'fas',\n\ticonName: 'copyright',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f1f9',\n\t\t'M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm117.134 346.753c-1.592 1.867-39.776 45.731-109.851 45.731-84.692 0-144.484-63.26-144.484-145.567 0-81.303 62.004-143.401 143.762-143.401 66.957 0 101.965 37.315 103.422 38.904a12 12 0 0 1 1.238 14.623l-22.38 34.655c-4.049 6.267-12.774 7.351-18.234 2.295-.233-.214-26.529-23.88-61.88-23.88-46.116 0-73.916 33.575-73.916 76.082 0 39.602 25.514 79.692 74.277 79.692 38.697 0 65.28-28.338 65.544-28.625 5.132-5.565 14.059-5.033 18.508 1.053l24.547 33.572a12.001 12.001 0 0 1-.553 14.866z',\n\t],\n};\nvar faCreditCard = {\n\tprefix: 'fas',\n\ticonName: 'credit-card',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f09d',\n\t\t'M0 432c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V256H0v176zm192-68c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-40zm-128 0c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zM576 80v48H0V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48z',\n\t],\n};\nvar faCrop = {\n\tprefix: 'fas',\n\ticonName: 'crop',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f125',\n\t\t'M488 352h-40V109.3l57-57c9.4-9.4 9.4-24.6 0-33.9L493.7 7c-9.4-9.4-24.6-9.4-33.9 0l-57 57H160V24c0-13.3-10.7-24-24-24H88C74.7 0 64 10.7 64 24v40H24C10.7 64 0 74.7 0 88v48c0 13.3 10.7 24 24 24h40v264c0 13.3 10.7 24 24 24h264v40c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24v-40h40c13.3 0 24-10.7 24-24v-48c0-13.3-10.7-24-24-24zM306.7 160L160 306.7V160h146.7zM205.3 352L352 205.3V352H205.3z',\n\t],\n};\nvar faCrosshairs = {\n\tprefix: 'fas',\n\ticonName: 'crosshairs',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f05b',\n\t\t'M500 224h-30.364C455.724 130.325 381.675 56.276 288 42.364V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v30.364C130.325 56.276 56.276 130.325 42.364 224H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h30.364C56.276 381.675 130.325 455.724 224 469.636V500c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-30.364C381.675 455.724 455.724 381.675 469.636 288H500c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zM288 404.634V364c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40.634C165.826 392.232 119.783 346.243 107.366 288H148c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40.634C119.768 165.826 165.757 119.783 224 107.366V148c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40.634C346.174 119.768 392.217 165.757 404.634 224H364c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40.634C392.232 346.174 346.243 392.217 288 404.634zM288 256c0 17.673-14.327 32-32 32s-32-14.327-32-32c0-17.673 14.327-32 32-32s32 14.327 32 32z',\n\t],\n};\nvar faCube = {\n\tprefix: 'fas',\n\ticonName: 'cube',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f1b2',\n\t\t'M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z',\n\t],\n};\nvar faCubes = {\n\tprefix: 'fas',\n\ticonName: 'cubes',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f1b3',\n\t\t'M488.6 250.2L392 214V105.5c0-15-9.3-28.4-23.4-33.7l-100-37.5c-8.1-3.1-17.1-3.1-25.3 0l-100 37.5c-14.1 5.3-23.4 18.7-23.4 33.7V214l-96.6 36.2C9.3 255.5 0 268.9 0 283.9V394c0 13.6 7.7 26.1 19.9 32.2l100 50c10.1 5.1 22.1 5.1 32.2 0l103.9-52 103.9 52c10.1 5.1 22.1 5.1 32.2 0l100-50c12.2-6.1 19.9-18.6 19.9-32.2V283.9c0-15-9.3-28.4-23.4-33.7zM358 214.8l-85 31.9v-68.2l85-37v73.3zM154 104.1l102-38.2 102 38.2v.6l-102 41.4-102-41.4v-.6zm84 291.1l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6zm240 112l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6z',\n\t],\n};\nvar faCut = {\n\tprefix: 'fas',\n\ticonName: 'cut',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f0c4',\n\t\t'M444.485 422.426c4.689 4.689 4.684 12.287 0 16.971-32.804 32.804-85.991 32.804-118.795 0L210.176 323.883l-24.859 24.859C189.63 359.657 192 371.552 192 384c0 53.019-42.981 96-96 96S0 437.019 0 384s42.981-96 96-96c4.536 0 8.995.322 13.363.93l32.93-32.93-32.93-32.93c-4.368.608-8.827.93-13.363.93-53.019 0-96-42.981-96-96s42.981-96 96-96 96 42.981 96 96c0 12.448-2.37 24.343-6.682 35.258l24.859 24.859L325.69 72.603c32.804-32.804 85.991-32.804 118.795 0 4.684 4.684 4.689 12.282 0 16.971L278.059 256l166.426 166.426zM96 96c-17.645 0-32 14.355-32 32s14.355 32 32 32 32-14.355 32-32-14.355-32-32-32m0 256c-17.645 0-32 14.355-32 32s14.355 32 32 32 32-14.355 32-32-14.355-32-32-32m112-108c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12z',\n\t],\n};\nvar faDatabase = {\n\tprefix: 'fas',\n\ticonName: 'database',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f1c0',\n\t\t'M448 73.143v45.714C448 159.143 347.667 192 224 192S0 159.143 0 118.857V73.143C0 32.857 100.333 0 224 0s224 32.857 224 73.143zM448 176v102.857C448 319.143 347.667 352 224 352S0 319.143 0 278.857V176c48.125 33.143 136.208 48.572 224 48.572S399.874 209.143 448 176zm0 160v102.857C448 479.143 347.667 512 224 512S0 479.143 0 438.857V336c48.125 33.143 136.208 48.572 224 48.572S399.874 369.143 448 336z',\n\t],\n};\nvar faDeaf = {\n\tprefix: 'fas',\n\ticonName: 'deaf',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f2a4',\n\t\t'M216 260c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-44.112 35.888-80 80-80s80 35.888 80 80c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-13.234-10.767-24-24-24s-24 10.766-24 24zm24-176c-97.047 0-176 78.953-176 176 0 15.464 12.536 28 28 28s28-12.536 28-28c0-66.168 53.832-120 120-120s120 53.832 120 120c0 75.164-71.009 70.311-71.997 143.622L288 404c0 28.673-23.327 52-52 52-15.464 0-28 12.536-28 28s12.536 28 28 28c59.475 0 107.876-48.328 108-107.774.595-34.428 72-48.24 72-144.226 0-97.047-78.953-176-176-176zm268.485-52.201L480.2 3.515c-4.687-4.686-12.284-4.686-16.971 0L376.2 90.544c-4.686 4.686-4.686 12.284 0 16.971l28.285 28.285c4.686 4.686 12.284 4.686 16.97 0l87.03-87.029c4.687-4.688 4.687-12.286 0-16.972zM168.97 314.745c-4.686-4.686-12.284-4.686-16.97 0L3.515 463.23c-4.686 4.686-4.686 12.284 0 16.971L31.8 508.485c4.687 4.686 12.284 4.686 16.971 0L197.256 360c4.686-4.686 4.686-12.284 0-16.971l-28.286-28.284z',\n\t],\n};\nvar faDesktop = {\n\tprefix: 'fas',\n\ticonName: 'desktop',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f108',\n\t\t'M528 0H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h192l-16 48h-72c-13.3 0-24 10.7-24 24s10.7 24 24 24h272c13.3 0 24-10.7 24-24s-10.7-24-24-24h-72l-16-48h192c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-16 352H64V64h448v288z',\n\t],\n};\nvar faDna = {\n\tprefix: 'fas',\n\ticonName: 'dna',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f471',\n\t\t'M447.9 17.9C449 8.4 441.6.1 432 .1L399.6 0c-8.1 0-14.9 5.9-16 13.9-.7 4.9-1.8 11.1-3.4 18.1H67.9c-1.6-6.9-2.9-13.2-3.5-18.1-1.1-8-7.9-14-16-13.9L16.1.1C6.5.1-1 8.4.1 17.9c4.6 37.9 25.6 129 118.9 207.7 17.6-12.4 37.1-24.2 58.5-35.4-6.2-4.6-11.4-9.4-17-14.2h127.6c-21.3 18.1-47 35.6-78.7 51.4C37.5 312.9 5.9 446.2.1 494.1c-1.1 9.5 6.3 17.8 15.9 17.8l32.3.1c8.1 0 14.9-5.9 16-13.9.7-4.9 1.8-11.1 3.4-18.1h312.4c1.6 7 2.7 13.1 3.4 18.1 1.1 8 7.9 14 16 13.9l32.3-.1c9.6 0 17.1-8.3 15.9-17.8-5-42.9-31.1-153.9-159.7-238.1C416.5 171.8 442.7 60.8 447.9 17.9zM224 292.4c25.1 13.7 46.4 28.4 64.3 43.6H159.7c17.9-15.2 39.2-30 64.3-43.6zM92.9 416c5.8-10.4 12.8-21.1 21-32h220c8.3 10.9 15.3 21.6 21 32h-262zM355.1 96c-5.8 10.4-12.8 21.1-21 32H114.6c-8.3-10.9-15.4-21.6-21.2-32h261.7z',\n\t],\n};\nvar faDollarSign = {\n\tprefix: 'fas',\n\ticonName: 'dollar-sign',\n\ticon: [\n\t\t320,\n\t\t512,\n\t\t[],\n\t\t'f155',\n\t\t'M113.411 169.375c0-23.337 21.536-38.417 54.865-38.417 26.726 0 54.116 12.263 76.461 28.333 5.88 4.229 14.13 2.354 17.575-4.017l23.552-43.549c2.649-4.898 1.596-10.991-2.575-14.68-24.281-21.477-59.135-34.09-91.289-37.806V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v49.832c-58.627 13.29-97.299 55.917-97.299 108.639 0 123.533 184.765 110.81 184.765 169.414 0 19.823-16.311 41.158-52.124 41.158-30.751 0-62.932-15.88-87.848-35.887-5.31-4.264-13.082-3.315-17.159 2.14l-30.389 40.667c-3.627 4.854-3.075 11.657 1.302 15.847 24.049 23.02 59.249 41.255 98.751 47.973V500c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-47.438c65.72-10.215 106.176-59.186 106.176-116.516.001-119.688-184.764-103.707-184.764-166.671z',\n\t],\n};\nvar faDolly = {\n\tprefix: 'fas',\n\ticonName: 'dolly',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f472',\n\t\t'M294.2 277.7c18 5 34.7 13.4 49.5 24.7l161.5-53.8c8.4-2.8 12.9-11.9 10.1-20.2L454.9 47.2c-2.8-8.4-11.9-12.9-20.2-10.1l-61.1 20.4 33.1 99.4L346 177l-33.1-99.4-61.6 20.5c-8.4 2.8-12.9 11.9-10.1 20.2l53 159.4zm281 48.7L565 296c-2.8-8.4-11.9-12.9-20.2-10.1l-213.5 71.2c-17.2-22-43.6-36.4-73.5-37L158.4 21.9C154 8.8 141.8 0 128 0H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h88.9l92.2 276.7c-26.1 20.4-41.7 53.6-36 90.5 6.1 39.4 37.9 72.3 77.3 79.2 60.2 10.7 112.3-34.8 113.4-92.6l213.3-71.2c8.3-2.8 12.9-11.8 10.1-20.2zM256 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z',\n\t],\n};\nvar faDollyFlatbed = {\n\tprefix: 'fas',\n\ticonName: 'dolly-flatbed',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f474',\n\t\t'M208 320h384c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H448v128l-48-32-48 32V32H208c-8.8 0-16 7.2-16 16v256c0 8.8 7.2 16 16 16zm416 64H128V16c0-8.8-7.2-16-16-16H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h48v368c0 8.8 7.2 16 16 16h82.9c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H451c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H624c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z',\n\t],\n};\nvar faDotCircle = {\n\tprefix: 'fas',\n\ticonName: 'dot-circle',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f192',\n\t\t'M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm80 248c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80z',\n\t],\n};\nvar faDownload = {\n\tprefix: 'fas',\n\ticonName: 'download',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f019',\n\t\t'M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z',\n\t],\n};\nvar faEdit = {\n\tprefix: 'fas',\n\ticonName: 'edit',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f044',\n\t\t'M402.6 83.2l90.2 90.2c3.8 3.8 3.8 10 0 13.8L274.4 405.6l-92.8 10.3c-12.4 1.4-22.9-9.1-21.5-21.5l10.3-92.8L388.8 83.2c3.8-3.8 10-3.8 13.8 0zm162-22.9l-48.8-48.8c-15.2-15.2-39.9-15.2-55.2 0l-35.4 35.4c-3.8 3.8-3.8 10 0 13.8l90.2 90.2c3.8 3.8 10 3.8 13.8 0l35.4-35.4c15.2-15.3 15.2-40 0-55.2zM384 346.2V448H64V128h229.8c3.2 0 6.2-1.3 8.5-3.5l40-40c7.6-7.6 2.2-20.5-8.5-20.5H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V306.2c0-10.7-12.9-16-20.5-8.5l-40 40c-2.2 2.3-3.5 5.3-3.5 8.5z',\n\t],\n};\nvar faEject = {\n\tprefix: 'fas',\n\ticonName: 'eject',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f052',\n\t\t'M448 384v64c0 17.673-14.327 32-32 32H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h384c17.673 0 32 14.327 32 32zM48.053 320h351.886c41.651 0 63.581-49.674 35.383-80.435L259.383 47.558c-19.014-20.743-51.751-20.744-70.767 0L12.67 239.565C-15.475 270.268 6.324 320 48.053 320z',\n\t],\n};\nvar faEllipsisH = {\n\tprefix: 'fas',\n\ticonName: 'ellipsis-h',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f141',\n\t\t'M328 256c0 39.8-32.2 72-72 72s-72-32.2-72-72 32.2-72 72-72 72 32.2 72 72zm104-72c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm-352 0c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72z',\n\t],\n};\nvar faEllipsisV = {\n\tprefix: 'fas',\n\ticonName: 'ellipsis-v',\n\ticon: [\n\t\t192,\n\t\t512,\n\t\t[],\n\t\t'f142',\n\t\t'M96 184c39.8 0 72 32.2 72 72s-32.2 72-72 72-72-32.2-72-72 32.2-72 72-72zM24 80c0 39.8 32.2 72 72 72s72-32.2 72-72S135.8 8 96 8 24 40.2 24 80zm0 352c0 39.8 32.2 72 72 72s72-32.2 72-72-32.2-72-72-72-72 32.2-72 72z',\n\t],\n};\nvar faEnvelope = {\n\tprefix: 'fas',\n\ticonName: 'envelope',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f0e0',\n\t\t'M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z',\n\t],\n};\nvar faEnvelopeOpen = {\n\tprefix: 'fas',\n\ticonName: 'envelope-open',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f2b6',\n\t\t'M512 464c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V200.724a48 48 0 0 1 18.387-37.776c24.913-19.529 45.501-35.365 164.2-121.511C199.412 29.17 232.797-.347 256 .003c23.198-.354 56.596 29.172 73.413 41.433 118.687 86.137 139.303 101.995 164.2 121.512A48 48 0 0 1 512 200.724V464zm-65.666-196.605c-2.563-3.728-7.7-4.595-11.339-1.907-22.845 16.873-55.462 40.705-105.582 77.079-16.825 12.266-50.21 41.781-73.413 41.43-23.211.344-56.559-29.143-73.413-41.43-50.114-36.37-82.734-60.204-105.582-77.079-3.639-2.688-8.776-1.821-11.339 1.907l-9.072 13.196a7.998 7.998 0 0 0 1.839 10.967c22.887 16.899 55.454 40.69 105.303 76.868 20.274 14.781 56.524 47.813 92.264 47.573 35.724.242 71.961-32.771 92.263-47.573 49.85-36.179 82.418-59.97 105.303-76.868a7.998 7.998 0 0 0 1.839-10.967l-9.071-13.196z',\n\t],\n};\nvar faEnvelopeSquare = {\n\tprefix: 'fas',\n\ticonName: 'envelope-square',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f199',\n\t\t'M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM178.117 262.104C87.429 196.287 88.353 196.121 64 177.167V152c0-13.255 10.745-24 24-24h272c13.255 0 24 10.745 24 24v25.167c-24.371 18.969-23.434 19.124-114.117 84.938-10.5 7.655-31.392 26.12-45.883 25.894-14.503.218-35.367-18.227-45.883-25.895zM384 217.775V360c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V217.775c13.958 10.794 33.329 25.236 95.303 70.214 14.162 10.341 37.975 32.145 64.694 32.01 26.887.134 51.037-22.041 64.72-32.025 61.958-44.965 81.325-59.406 95.283-70.199z',\n\t],\n};\nvar faEraser = {\n\tprefix: 'fas',\n\ticonName: 'eraser',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f12d',\n\t\t'M497.941 273.941c18.745-18.745 18.745-49.137 0-67.882l-160-160c-18.745-18.745-49.136-18.746-67.883 0l-256 256c-18.745 18.745-18.745 49.137 0 67.882l96 96A48.004 48.004 0 0 0 144 480h356c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12H355.883l142.058-142.059zm-302.627-62.627l137.373 137.373L265.373 416H150.628l-80-80 124.686-124.686z',\n\t],\n};\nvar faEuroSign = {\n\tprefix: 'fas',\n\ticonName: 'euro-sign',\n\ticon: [\n\t\t320,\n\t\t512,\n\t\t[],\n\t\t'f153',\n\t\t'M310.706 413.765c-1.314-6.63-7.835-10.872-14.424-9.369-10.692 2.439-27.422 5.413-45.426 5.413-56.763 0-101.929-34.79-121.461-85.449h113.689a12 12 0 0 0 11.708-9.369l6.373-28.36c1.686-7.502-4.019-14.631-11.708-14.631H115.22c-1.21-14.328-1.414-28.287.137-42.245H261.95a12 12 0 0 0 11.723-9.434l6.512-29.755c1.638-7.484-4.061-14.566-11.723-14.566H130.184c20.633-44.991 62.69-75.03 117.619-75.03 14.486 0 28.564 2.25 37.851 4.145 6.216 1.268 12.347-2.498 14.002-8.623l11.991-44.368c1.822-6.741-2.465-13.616-9.326-14.917C290.217 34.912 270.71 32 249.635 32 152.451 32 74.03 92.252 45.075 176H12c-6.627 0-12 5.373-12 12v29.755c0 6.627 5.373 12 12 12h21.569c-1.009 13.607-1.181 29.287-.181 42.245H12c-6.627 0-12 5.373-12 12v28.36c0 6.627 5.373 12 12 12h30.114C67.139 414.692 145.264 480 249.635 480c26.301 0 48.562-4.544 61.101-7.788 6.167-1.595 10.027-7.708 8.788-13.957l-8.818-44.49z',\n\t],\n};\nvar faExchangeAlt = {\n\tprefix: 'fas',\n\ticonName: 'exchange-alt',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f362',\n\t\t'M0 168v-16c0-13.255 10.745-24 24-24h360V80c0-21.367 25.899-32.042 40.971-16.971l80 80c9.372 9.373 9.372 24.569 0 33.941l-80 80C409.956 271.982 384 261.456 384 240v-48H24c-13.255 0-24-10.745-24-24zm488 152H128v-48c0-21.314-25.862-32.08-40.971-16.971l-80 80c-9.372 9.373-9.372 24.569 0 33.941l80 80C102.057 463.997 128 453.437 128 432v-48h360c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24z',\n\t],\n};\nvar faExclamation = {\n\tprefix: 'fas',\n\ticonName: 'exclamation',\n\ticon: [\n\t\t192,\n\t\t512,\n\t\t[],\n\t\t'f12a',\n\t\t'M176 432c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zM25.26 25.199l13.6 272C39.499 309.972 50.041 320 62.83 320h66.34c12.789 0 23.331-10.028 23.97-22.801l13.6-272C167.425 11.49 156.496 0 142.77 0H49.23C35.504 0 24.575 11.49 25.26 25.199z',\n\t],\n};\nvar faExclamationCircle = {\n\tprefix: 'fas',\n\ticonName: 'exclamation-circle',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f06a',\n\t\t'M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z',\n\t],\n};\nvar faExclamationTriangle = {\n\tprefix: 'fas',\n\ticonName: 'exclamation-triangle',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f071',\n\t\t'M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z',\n\t],\n};\nvar faExpand = {\n\tprefix: 'fas',\n\ticonName: 'expand',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f065',\n\t\t'M0 180V56c0-13.3 10.7-24 24-24h124c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H64v84c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12zM288 44v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V56c0-13.3-10.7-24-24-24H300c-6.6 0-12 5.4-12 12zm148 276h-40c-6.6 0-12 5.4-12 12v84h-84c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24V332c0-6.6-5.4-12-12-12zM160 468v-40c0-6.6-5.4-12-12-12H64v-84c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v124c0 13.3 10.7 24 24 24h124c6.6 0 12-5.4 12-12z',\n\t],\n};\nvar faExpandArrowsAlt = {\n\tprefix: 'fas',\n\ticonName: 'expand-arrows-alt',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f31e',\n\t\t'M448.1 344v112c0 13.3-10.7 24-24 24h-112c-21.4 0-32.1-25.9-17-41l36.2-36.2L224 295.6 116.8 402.9 153 439c15.1 15.1 4.4 41-17 41H24c-13.3 0-24-10.7-24-24V344c0-21.4 25.9-32.1 41-17l36.2 36.2L184.5 256 77.2 148.7 41 185c-15.1 15.1-41 4.4-41-17V56c0-13.3 10.7-24 24-24h112c21.4 0 32.1 25.9 17 41l-36.2 36.2L224 216.4l107.3-107.3L295.1 73c-15.1-15.1-4.4-41 17-41h112c13.3 0 24 10.7 24 24v112c0 21.4-25.9 32.1-41 17l-36.2-36.2L263.6 256l107.3 107.3 36.2-36.2c15.1-15.2 41-4.5 41 16.9z',\n\t],\n};\nvar faExternalLinkAlt = {\n\tprefix: 'fas',\n\ticonName: 'external-link-alt',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f35d',\n\t\t'M576 24v127.984c0 21.461-25.96 31.98-40.971 16.971l-35.707-35.709-243.523 243.523c-9.373 9.373-24.568 9.373-33.941 0l-22.627-22.627c-9.373-9.373-9.373-24.569 0-33.941L442.756 76.676l-35.703-35.705C391.982 25.9 402.656 0 424.024 0H552c13.255 0 24 10.745 24 24zM407.029 270.794l-16 16A23.999 23.999 0 0 0 384 303.765V448H64V128h264a24.003 24.003 0 0 0 16.97-7.029l16-16C376.089 89.851 365.381 64 344 64H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V287.764c0-21.382-25.852-32.09-40.971-16.97z',\n\t],\n};\nvar faExternalLinkSquareAlt = {\n\tprefix: 'fas',\n\ticonName: 'external-link-square-alt',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f360',\n\t\t'M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zm-88 16H248.029c-21.313 0-32.08 25.861-16.971 40.971l31.984 31.987L67.515 364.485c-4.686 4.686-4.686 12.284 0 16.971l31.029 31.029c4.687 4.686 12.285 4.686 16.971 0l195.526-195.526 31.988 31.991C358.058 263.977 384 253.425 384 231.979V120c0-13.255-10.745-24-24-24z',\n\t],\n};\nvar faEye = {\n\tprefix: 'fas',\n\ticonName: 'eye',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f06e',\n\t\t'M569.354 231.631C512.969 135.949 407.81 72 288 72 168.14 72 63.004 135.994 6.646 231.631a47.999 47.999 0 0 0 0 48.739C63.031 376.051 168.19 440 288 440c119.86 0 224.996-63.994 281.354-159.631a47.997 47.997 0 0 0 0-48.738zM288 392c-75.162 0-136-60.827-136-136 0-75.162 60.826-136 136-136 75.162 0 136 60.826 136 136 0 75.162-60.826 136-136 136zm104-136c0 57.438-46.562 104-104 104s-104-46.562-104-104c0-17.708 4.431-34.379 12.236-48.973l-.001.032c0 23.651 19.173 42.823 42.824 42.823s42.824-19.173 42.824-42.823c0-23.651-19.173-42.824-42.824-42.824l-.032.001C253.621 156.431 270.292 152 288 152c57.438 0 104 46.562 104 104z',\n\t],\n};\nvar faEyeDropper = {\n\tprefix: 'fas',\n\ticonName: 'eye-dropper',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f1fb',\n\t\t'M177.38 206.64L39.03 344.97A24.01 24.01 0 0 0 32 361.94V424L0 480l32 32 56-32h62.06c6.36 0 12.47-2.53 16.97-7.03l138.35-138.33-128-128zm225.552 30.47l16.952 16.95c9.37 9.37 9.37 24.57 0 33.94l-40.973 40.97c-9.292 9.312-24.506 9.434-33.94 0L183.028 167.03c-9.37-9.37-9.37-24.57 0-33.94L224 92.12c9.289-9.309 24.502-9.438 33.94 0l16.992 16.99 82.606-82.601c35.19-35.19 92.5-35.5 128 0 40.49 48.08 29.66 98.34 0 128l-82.606 82.601z',\n\t],\n};\nvar faEyeSlash = {\n\tprefix: 'fas',\n\ticonName: 'eye-slash',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f070',\n\t\t'M286.693 391.984l32.579 46.542A333.958 333.958 0 0 1 288 440C168.19 440 63.031 376.051 6.646 280.369a47.999 47.999 0 0 1 0-48.739c24.023-40.766 56.913-75.775 96.024-102.537l57.077 81.539C154.736 224.82 152 240.087 152 256c0 74.736 60.135 135.282 134.693 135.984zm282.661-111.615c-31.667 53.737-78.747 97.46-135.175 125.475l.011.015 41.47 59.2c7.6 10.86 4.96 25.82-5.9 33.42l-13.11 9.18c-10.86 7.6-25.82 4.96-33.42-5.9L100.34 46.94c-7.6-10.86-4.96-25.82 5.9-33.42l13.11-9.18c10.86-7.6 25.82-4.96 33.42 5.9l51.038 72.617C230.68 75.776 258.905 72 288 72c119.81 0 224.969 63.949 281.354 159.631a48.002 48.002 0 0 1 0 48.738zM424 256c0-75.174-60.838-136-136-136-17.939 0-35.056 3.473-50.729 9.772l19.299 27.058c25.869-8.171 55.044-6.163 80.4 7.41h-.03c-23.65 0-42.82 19.17-42.82 42.82 0 23.626 19.147 42.82 42.82 42.82 23.65 0 42.82-19.17 42.82-42.82v-.03c18.462 34.49 16.312 77.914-8.25 110.95v.01l19.314 27.061C411.496 321.2 424 290.074 424 256zM262.014 356.727l-77.53-110.757c-5.014 52.387 29.314 98.354 77.53 110.757z',\n\t],\n};\nvar faFastBackward = {\n\tprefix: 'fas',\n\ticonName: 'fast-backward',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f049',\n\t\t'M0 436V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v151.9L235.5 71.4C256.1 54.3 288 68.6 288 96v131.9L459.5 71.4C480.1 54.3 512 68.6 512 96v320c0 27.4-31.9 41.7-52.5 24.6L288 285.3V416c0 27.4-31.9 41.7-52.5 24.6L64 285.3V436c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12z',\n\t],\n};\nvar faFastForward = {\n\tprefix: 'fas',\n\ticonName: 'fast-forward',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f050',\n\t\t'M512 76v360c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V284.1L276.5 440.6c-20.6 17.2-52.5 2.8-52.5-24.6V284.1L52.5 440.6C31.9 457.8 0 443.4 0 416V96c0-27.4 31.9-41.7 52.5-24.6L224 226.8V96c0-27.4 31.9-41.7 52.5-24.6L448 226.8V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12z',\n\t],\n};\nvar faFax = {\n\tprefix: 'fas',\n\ticonName: 'fax',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f1ac',\n\t\t'M128 144v320c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V144c0-26.51 21.49-48 48-48h32c26.51 0 48 21.49 48 48zm384 64v256c0 26.51-21.49 48-48 48H192c-26.51 0-48-21.49-48-48V40c0-22.091 17.909-40 40-40h207.432a39.996 39.996 0 0 1 28.284 11.716l48.569 48.569A39.999 39.999 0 0 1 480 88.568v74.174c18.641 6.591 32 24.36 32 45.258zm-320-16h240V96h-24c-13.203 0-24-10.797-24-24V48H192v144zm96 204c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40zm0-128c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40zm128 128c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40zm0-128c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40z',\n\t],\n};\nvar faFemale = {\n\tprefix: 'fas',\n\ticonName: 'female',\n\ticon: [\n\t\t256,\n\t\t512,\n\t\t[],\n\t\t'f182',\n\t\t'M128 0c35.346 0 64 28.654 64 64s-28.654 64-64 64c-35.346 0-64-28.654-64-64S92.654 0 128 0m119.283 354.179l-48-192A24 24 0 0 0 176 144h-11.36c-22.711 10.443-49.59 10.894-73.28 0H80a24 24 0 0 0-23.283 18.179l-48 192C4.935 369.305 16.383 384 32 384h56v104c0 13.255 10.745 24 24 24h32c13.255 0 24-10.745 24-24V384h56c15.591 0 27.071-14.671 23.283-29.821z',\n\t],\n};\nvar faFighterJet = {\n\tprefix: 'fas',\n\ticonName: 'fighter-jet',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f0fb',\n\t\t'M544 224l-128-16-48-16h-24L227.158 44h39.509C278.333 44 288 41.375 288 38s-9.667-6-21.333-6H152v12h16v164h-48l-66.667-80H18.667L8 138.667V208h8v16h48v2.666l-64 8v42.667l64 8V288H16v16H8v69.333L18.667 384h34.667L120 304h48v164h-16v12h114.667c11.667 0 21.333-2.625 21.333-6s-9.667-6-21.333-6h-39.509L344 320h24l48-16 128-16c96-21.333 96-26.583 96-32 0-5.417 0-10.667-96-32z',\n\t],\n};\nvar faFile = {\n\tprefix: 'fas',\n\ticonName: 'file',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f15b',\n\t\t'M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm160-14.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z',\n\t],\n};\nvar faFileAlt = {\n\tprefix: 'fas',\n\ticonName: 'file-alt',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f15c',\n\t\t'M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm64 236c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-64c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-72v8c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm96-114.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z',\n\t],\n};\nvar faFileArchive = {\n\tprefix: 'fas',\n\ticonName: 'file-archive',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f1c6',\n\t\t'M224 136V0h-63.6v32h-32V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM95.9 32h32v32h-32V32zm32.3 384c-33.2 0-58-30.4-51.4-62.9L96.4 256v-32h32v-32h-32v-32h32v-32h-32V96h32V64h32v32h-32v32h32v32h-32v32h32v32h-32v32h22.1c5.7 0 10.7 4.1 11.8 9.7l17.3 87.7c6.4 32.4-18.4 62.6-51.4 62.6zm32.7-53c0 14.9-14.5 27-32.4 27S96 378 96 363c0-14.9 14.5-27 32.4-27s32.5 12.1 32.5 27zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z',\n\t],\n};\nvar faFileAudio = {\n\tprefix: 'fas',\n\ticonName: 'file-audio',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f1c7',\n\t\t'M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm-64 268c0 10.7-12.9 16-20.5 8.5L104 376H76c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h28l35.5-36.5c7.6-7.6 20.5-2.2 20.5 8.5v136zm33.2-47.6c9.1-9.3 9.1-24.1 0-33.4-22.1-22.8 12.2-56.2 34.4-33.5 27.2 27.9 27.2 72.4 0 100.4-21.8 22.3-56.9-10.4-34.4-33.5zm86-117.1c54.4 55.9 54.4 144.8 0 200.8-21.8 22.4-57-10.3-34.4-33.5 36.2-37.2 36.3-96.5 0-133.8-22.1-22.8 12.3-56.3 34.4-33.5zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z',\n\t],\n};\nvar faFileCode = {\n\tprefix: 'fas',\n\ticonName: 'file-code',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f1c9',\n\t\t'M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM248 160c-13.2 0-24-10.8-24-24V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248zM123.206 400.505a5.4 5.4 0 0 1-7.633.246l-64.866-60.812a5.4 5.4 0 0 1 0-7.879l64.866-60.812a5.4 5.4 0 0 1 7.633.246l19.579 20.885a5.4 5.4 0 0 1-.372 7.747L101.65 336l40.763 35.874a5.4 5.4 0 0 1 .372 7.747l-19.579 20.884zm51.295 50.479l-27.453-7.97a5.402 5.402 0 0 1-3.681-6.692l61.44-211.626a5.402 5.402 0 0 1 6.692-3.681l27.452 7.97a5.4 5.4 0 0 1 3.68 6.692l-61.44 211.626a5.397 5.397 0 0 1-6.69 3.681zm160.792-111.045l-64.866 60.812a5.4 5.4 0 0 1-7.633-.246l-19.58-20.885a5.4 5.4 0 0 1 .372-7.747L284.35 336l-40.763-35.874a5.4 5.4 0 0 1-.372-7.747l19.58-20.885a5.4 5.4 0 0 1 7.633-.246l64.866 60.812a5.4 5.4 0 0 1-.001 7.879z',\n\t],\n};\nvar faFileExcel = {\n\tprefix: 'fas',\n\ticonName: 'file-excel',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f1c3',\n\t\t'M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm60.1 106.5L224 336l60.1 93.5c5.1 8-.6 18.5-10.1 18.5h-34.9c-4.4 0-8.5-2.4-10.6-6.3C208.9 405.5 192 373 192 373c-6.4 14.8-10 20-36.6 68.8-2.1 3.9-6.1 6.3-10.5 6.3H110c-9.5 0-15.2-10.5-10.1-18.5l60.3-93.5-60.3-93.5c-5.2-8 .6-18.5 10.1-18.5h34.8c4.4 0 8.5 2.4 10.6 6.3 26.1 48.8 20 33.6 36.6 68.5 0 0 6.1-11.7 36.6-68.5 2.1-3.9 6.2-6.3 10.6-6.3H274c9.5-.1 15.2 10.4 10.1 18.4zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z',\n\t],\n};\nvar faFileImage = {\n\tprefix: 'fas',\n\ticonName: 'file-image',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f1c5',\n\t\t'M384 121.941V128H256V0h6.059a24 24 0 0 1 16.97 7.029l97.941 97.941a24.002 24.002 0 0 1 7.03 16.971zM248 160c-13.2 0-24-10.8-24-24V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248zm-135.455 16c26.51 0 48 21.49 48 48s-21.49 48-48 48-48-21.49-48-48 21.491-48 48-48zm208 240h-256l.485-48.485L104.545 328c4.686-4.686 11.799-4.201 16.485.485L160.545 368 264.06 264.485c4.686-4.686 12.284-4.686 16.971 0L320.545 304v112z',\n\t],\n};\nvar faFilePdf = {\n\tprefix: 'fas',\n\ticonName: 'file-pdf',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f1c1',\n\t\t'M181.9 256.1c-5-16-4.9-46.9-2-46.9 8.4 0 7.6 36.9 2 46.9zm-1.7 47.2c-7.7 20.2-17.3 43.3-28.4 62.7 18.3-7 39-17.2 62.9-21.9-12.7-9.6-24.9-23.4-34.5-40.8zM86.1 428.1c0 .8 13.2-5.4 34.9-40.2-6.7 6.3-29.1 24.5-34.9 40.2zM248 160h136v328c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V24C0 10.7 10.7 0 24 0h200v136c0 13.2 10.8 24 24 24zm-8 171.8c-20-12.2-33.3-29-42.7-53.8 4.5-18.5 11.6-46.6 6.2-64.2-4.7-29.4-42.4-26.5-47.8-6.8-5 18.3-.4 44.1 8.1 77-11.6 27.6-28.7 64.6-40.8 85.8-.1 0-.1.1-.2.1-27.1 13.9-73.6 44.5-54.5 68 5.6 6.9 16 10 21.5 10 17.9 0 35.7-18 61.1-61.8 25.8-8.5 54.1-19.1 79-23.2 21.7 11.8 47.1 19.5 64 19.5 29.2 0 31.2-32 19.7-43.4-13.9-13.6-54.3-9.7-73.6-7.2zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-74.1 255.3c4.1-2.7-2.5-11.9-42.8-9 37.1 15.8 42.8 9 42.8 9z',\n\t],\n};\nvar faFilePowerpoint = {\n\tprefix: 'fas',\n\ticonName: 'file-powerpoint',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f1c4',\n\t\t'M193.7 271.2c8.8 0 15.5 2.7 20.3 8.1 9.6 10.9 9.8 32.7-.2 44.1-4.9 5.6-11.9 8.5-21.1 8.5h-26.9v-60.7h27.9zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm53 165.2c0 90.3-88.8 77.6-111.1 77.6V436c0 6.6-5.4 12-12 12h-30.8c-6.6 0-12-5.4-12-12V236.2c0-6.6 5.4-12 12-12h81c44.5 0 72.9 32.8 72.9 77z',\n\t],\n};\nvar faFileVideo = {\n\tprefix: 'fas',\n\ticonName: 'file-video',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f1c8',\n\t\t'M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM224 136V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248c-13.2 0-24-10.8-24-24zm96 144.016v111.963c0 21.445-25.943 31.998-40.971 16.971L224 353.941V392c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V280c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v38.059l55.029-55.013c15.011-15.01 40.971-4.491 40.971 16.97z',\n\t],\n};\nvar faFileWord = {\n\tprefix: 'fas',\n\ticonName: 'file-word',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f1c2',\n\t\t'M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm57.1 120H305c7.7 0 13.4 7.1 11.7 14.7l-38 168c-1.2 5.5-6.1 9.3-11.7 9.3h-38c-5.5 0-10.3-3.8-11.6-9.1-25.8-103.5-20.8-81.2-25.6-110.5h-.5c-1.1 14.3-2.4 17.4-25.6 110.5-1.3 5.3-6.1 9.1-11.6 9.1H117c-5.6 0-10.5-3.9-11.7-9.4l-37.8-168c-1.7-7.5 4-14.6 11.7-14.6h24.5c5.7 0 10.7 4 11.8 9.7 15.6 78 20.1 109.5 21 122.2 1.6-10.2 7.3-32.7 29.4-122.7 1.3-5.4 6.1-9.1 11.7-9.1h29.1c5.6 0 10.4 3.8 11.7 9.2 24 100.4 28.8 124 29.6 129.4-.2-11.2-2.6-17.8 21.6-129.2 1-5.6 5.9-9.5 11.5-9.5zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z',\n\t],\n};\nvar faFilm = {\n\tprefix: 'fas',\n\ticonName: 'film',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f008',\n\t\t'M488 64h-8v20c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V64H96v20c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12V64h-8C10.7 64 0 74.7 0 88v336c0 13.3 10.7 24 24 24h8v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h320v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h8c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24zM96 372c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm272 208c0 6.6-5.4 12-12 12H156c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v96zm0-168c0 6.6-5.4 12-12 12H156c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v96zm112 152c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40z',\n\t],\n};\nvar faFilter = {\n\tprefix: 'fas',\n\ticonName: 'filter',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f0b0',\n\t\t'M487.976 0H24.028C2.71 0-8.047 25.866 7.058 40.971L192 225.941V432c0 7.831 3.821 15.17 10.237 19.662l80 55.98C298.02 518.69 320 507.493 320 487.98V225.941l184.947-184.97C520.021 25.896 509.338 0 487.976 0z',\n\t],\n};\nvar faFire = {\n\tprefix: 'fas',\n\ticonName: 'fire',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f06d',\n\t\t'M216 23.858c0-23.802-30.653-32.765-44.149-13.038C48 191.851 224 200 224 288c0 35.629-29.114 64.458-64.85 63.994C123.98 351.538 96 322.22 96 287.046v-85.51c0-21.703-26.471-32.225-41.432-16.504C27.801 213.158 0 261.332 0 320c0 105.869 86.131 192 192 192s192-86.131 192-192c0-170.29-168-193.003-168-296.142z',\n\t],\n};\nvar faFireExtinguisher = {\n\tprefix: 'fas',\n\ticonName: 'fire-extinguisher',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f134',\n\t\t'M434.027 26.329l-168 28C254.693 56.218 256 67.8 256 72h-58.332C208.353 36.108 181.446 0 144 0c-39.435 0-66.368 39.676-52.228 76.203-52.039 13.051-75.381 54.213-90.049 90.884-4.923 12.307 1.063 26.274 13.37 31.197 12.317 4.926 26.279-1.075 31.196-13.37C75.058 112.99 106.964 120 168 120v27.076c-41.543 10.862-72 49.235-72 94.129V488c0 13.255 10.745 24 24 24h144c13.255 0 24-10.745 24-24V240c0-44.731-30.596-82.312-72-92.97V120h40c0 2.974-1.703 15.716 10.027 17.671l168 28C441.342 166.89 448 161.25 448 153.834V38.166c0-7.416-6.658-13.056-13.973-11.837zM144 72c-8.822 0-16-7.178-16-16s7.178-16 16-16 16 7.178 16 16-7.178 16-16 16z',\n\t],\n};\nvar faFirstAid = {\n\tprefix: 'fas',\n\ticonName: 'first-aid',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f479',\n\t\t'M0 80v352c0 26.5 21.5 48 48 48h48V32H48C21.5 32 0 53.5 0 80zm128 400h320V32H128v448zm64-248c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48zM528 32h-48v448h48c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z',\n\t],\n};\nvar faFlag = {\n\tprefix: 'fas',\n\ticonName: 'flag',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f024',\n\t\t'M349.565 98.783C295.978 98.783 251.721 64 184.348 64c-24.955 0-47.309 4.384-68.045 12.013a55.947 55.947 0 0 0 3.586-23.562C118.117 24.015 94.806 1.206 66.338.048 34.345-1.254 8 24.296 8 56c0 19.026 9.497 35.825 24 45.945V488c0 13.255 10.745 24 24 24h16c13.255 0 24-10.745 24-24v-94.4c28.311-12.064 63.582-22.122 114.435-22.122 53.588 0 97.844 34.783 165.217 34.783 48.169 0 86.667-16.294 122.505-40.858C506.84 359.452 512 349.571 512 339.045v-243.1c0-23.393-24.269-38.87-45.485-29.016-34.338 15.948-76.454 31.854-116.95 31.854z',\n\t],\n};\nvar faFlagCheckered = {\n\tprefix: 'fas',\n\ticonName: 'flag-checkered',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f11e',\n\t\t'M466.515 66.928C487.731 57.074 512 72.551 512 95.944v243.1c0 10.526-5.161 20.407-13.843 26.358-35.837 24.564-74.335 40.858-122.505 40.858-67.373 0-111.63-34.783-165.217-34.783-50.853 0-86.124 10.058-114.435 22.122V488c0 13.255-10.745 24-24 24H56c-13.255 0-24-10.745-24-24V101.945C17.497 91.825 8 75.026 8 56 8 24.296 34.345-1.254 66.338.048c28.468 1.158 51.779 23.968 53.551 52.404.52 8.342-.81 16.31-3.586 23.562C137.039 68.384 159.393 64 184.348 64c67.373 0 111.63 34.783 165.217 34.783 40.496 0 82.612-15.906 116.95-31.855zM96 134.63v70.49c29-10.67 51.18-17.83 73.6-20.91v-71.57c-23.5 2.17-40.44 9.79-73.6 21.99zm220.8 9.19c-26.417-4.672-49.886-13.979-73.6-21.34v67.42c24.175 6.706 47.566 16.444 73.6 22.31v-68.39zm-147.2 40.39v70.04c32.796-2.978 53.91-.635 73.6 3.8V189.9c-25.247-7.035-46.581-9.423-73.6-5.69zm73.6 142.23c26.338 4.652 49.732 13.927 73.6 21.34v-67.41c-24.277-6.746-47.54-16.45-73.6-22.32v68.39zM96 342.1c23.62-8.39 47.79-13.84 73.6-16.56v-71.29c-26.11 2.35-47.36 8.04-73.6 17.36v70.49zm368-221.6c-21.3 8.85-46.59 17.64-73.6 22.47v71.91c27.31-4.36 50.03-14.1 73.6-23.89V120.5zm0 209.96v-70.49c-22.19 14.2-48.78 22.61-73.6 26.02v71.58c25.07-2.38 48.49-11.04 73.6-27.11zM316.8 212.21v68.16c25.664 7.134 46.616 9.342 73.6 5.62v-71.11c-25.999 4.187-49.943 2.676-73.6-2.67z',\n\t],\n};\nvar faFlask = {\n\tprefix: 'fas',\n\ticonName: 'flask',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f0c3',\n\t\t'M437.2 403.5L320 215V64h8c13.3 0 24-10.7 24-24V24c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h8v151L10.8 403.5C-18.5 450.6 15.3 512 70.9 512h306.2c55.7 0 89.4-61.5 60.1-108.5zM137.9 320l48.2-77.6c3.7-5.2 5.8-11.6 5.8-18.4V64h64v160c0 6.9 2.2 13.2 5.8 18.4l48.2 77.6h-172z',\n\t],\n};\nvar faFolder = {\n\tprefix: 'fas',\n\ticonName: 'folder',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f07b',\n\t\t'M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48z',\n\t],\n};\nvar faFolderOpen = {\n\tprefix: 'fas',\n\ticonName: 'folder-open',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f07c',\n\t\t'M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z',\n\t],\n};\nvar faFont = {\n\tprefix: 'fas',\n\ticonName: 'font',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f031',\n\t\t'M152 416h-24.013l26.586-80.782H292.8L319.386 416H296c-8.837 0-16 7.163-16 16v32c0 8.837 7.163 16 16 16h136c8.837 0 16-7.163 16-16v-32c0-8.837-7.163-16-16-16h-26.739L275.495 42.746A16 16 0 0 0 260.382 32h-72.766a16 16 0 0 0-15.113 10.746L42.739 416H16c-8.837 0-16 7.163-16 16v32c0 8.837 7.163 16 16 16h136c8.837 0 16-7.163 16-16v-32c0-8.837-7.163-16-16-16zm64.353-271.778c4.348-15.216 6.61-28.156 7.586-34.644.839 6.521 2.939 19.476 7.727 34.706l41.335 124.006h-98.619l41.971-124.068z',\n\t],\n};\nvar faFootballBall = {\n\tprefix: 'fas',\n\ticonName: 'football-ball',\n\ticon: [\n\t\t496,\n\t\t512,\n\t\t[],\n\t\t'f44e',\n\t\t'M481.5 60.3c-4.8-18.2-19.1-32.5-37.3-37.4C420.3 16.5 383 8.9 339.4 8L496 164.8c-.8-43.5-8.2-80.6-14.5-104.5zm-467 391.4c4.8 18.2 19.1 32.5 37.3 37.4 23.9 6.4 61.2 14 104.8 14.9L0 347.2c.8 43.5 8.2 80.6 14.5 104.5zM4.2 283.4L220.4 500c132.5-19.4 248.8-118.7 271.5-271.4L275.6 12C143.1 31.4 26.8 130.7 4.2 283.4zm317.3-123.6c3.1-3.1 8.2-3.1 11.3 0l11.3 11.3c3.1 3.1 3.1 8.2 0 11.3l-28.3 28.3 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-28.3-28.3-22.6 22.7 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L248 278.6l-22.6 22.6 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-28.3-28.3-28.3 28.3c-3.1 3.1-8.2 3.1-11.3 0l-11.3-11.3c-3.1-3.1-3.1-8.2 0-11.3l28.3-28.3-28.3-28.2c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 22.6-22.6-28.3-28.3c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 22.6-22.6-28.3-28.3c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 28.3-28.5z',\n\t],\n};\nvar faForward = {\n\tprefix: 'fas',\n\ticonName: 'forward',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f04e',\n\t\t'M500.5 231.4l-192-160C287.9 54.3 256 68.6 256 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2zm-256 0l-192-160C31.9 54.3 0 68.6 0 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2z',\n\t],\n};\nvar faFrown = {\n\tprefix: 'fas',\n\ticonName: 'frown',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f119',\n\t\t'M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-396-64c0 37.497 30.503 68 68 68s68-30.503 68-68-30.503-68-68-68-68 30.503-68 68zm160.5 0c0 37.221 30.279 67.5 67.5 67.5s67.5-30.279 67.5-67.5-30.279-67.5-67.5-67.5-67.5 30.279-67.5 67.5zm67.5-48a47.789 47.789 0 0 0-22.603 5.647h.015c10.916 0 19.765 8.849 19.765 19.765s-8.849 19.765-19.765 19.765-19.765-8.849-19.765-19.765v-.015A47.789 47.789 0 0 0 288 192c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48zm-160 0a47.789 47.789 0 0 0-22.603 5.647h.015c10.916 0 19.765 8.849 19.765 19.765s-8.849 19.765-19.765 19.765-19.765-8.849-19.765-19.765v-.015A47.789 47.789 0 0 0 128 192c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48zm192.551 212.66c-59.128-91.455-165.846-91.594-225.064 0-11.502 17.79 15.383 35.148 26.873 17.374 46.626-72.118 124.862-71.855 171.318 0 11.328 17.524 38.548.684 26.873-17.374z',\n\t],\n};\nvar faFutbol = {\n\tprefix: 'fas',\n\ticonName: 'futbol',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f1e3',\n\t\t'M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-48 0l-.003-.282-26.064 22.741-62.679-58.5 16.454-84.355 34.303 3.072c-24.889-34.216-60.004-60.089-100.709-73.141l13.651 31.939L256 139l-74.953-41.525 13.651-31.939c-40.631 13.028-75.78 38.87-100.709 73.141l34.565-3.073 16.192 84.355-62.678 58.5-26.064-22.741-.003.282c0 43.015 13.497 83.952 38.472 117.991l7.704-33.897 85.138 10.447 36.301 77.826-29.902 17.786c40.202 13.122 84.29 13.148 124.572 0l-29.902-17.786 36.301-77.826 85.138-10.447 7.704 33.897C442.503 339.952 456 299.015 456 256zm-248.102 69.571l-29.894-91.312L256 177.732l77.996 56.527-29.622 91.312h-96.476z',\n\t],\n};\nvar faGamepad = {\n\tprefix: 'fas',\n\ticonName: 'gamepad',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f11b',\n\t\t'M480 96H160C71.6 96 0 167.6 0 256s71.6 160 160 160c44.8 0 85.2-18.4 114.2-48h91.5c29 29.6 69.5 48 114.2 48 88.4 0 160-71.6 160-160S568.4 96 480 96zM256 276c0 6.6-5.4 12-12 12h-52v52c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-52H76c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h52v-52c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h52c6.6 0 12 5.4 12 12v40zm184 68c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-80c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z',\n\t],\n};\nvar faGavel = {\n\tprefix: 'fas',\n\ticonName: 'gavel',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f0e3',\n\t\t'M504.971 199.362l-22.627-22.627c-9.373-9.373-24.569-9.373-33.941 0l-5.657 5.657L329.608 69.255l5.657-5.657c9.373-9.373 9.373-24.569 0-33.941L312.638 7.029c-9.373-9.373-24.569-9.373-33.941 0L154.246 131.48c-9.373 9.373-9.373 24.569 0 33.941l22.627 22.627c9.373 9.373 24.569 9.373 33.941 0l5.657-5.657 39.598 39.598-81.04 81.04-5.657-5.657c-12.497-12.497-32.758-12.497-45.255 0L9.373 412.118c-12.497 12.497-12.497 32.758 0 45.255l45.255 45.255c12.497 12.497 32.758 12.497 45.255 0l114.745-114.745c12.497-12.497 12.497-32.758 0-45.255l-5.657-5.657 81.04-81.04 39.598 39.598-5.657 5.657c-9.373 9.373-9.373 24.569 0 33.941l22.627 22.627c9.373 9.373 24.569 9.373 33.941 0l124.451-124.451c9.372-9.372 9.372-24.568 0-33.941z',\n\t],\n};\nvar faGem = {\n\tprefix: 'fas',\n\ticonName: 'gem',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f3a5',\n\t\t'M485.5 0L576 160H474.9L405.7 0h79.8zm-128 0l69.2 160H149.3L218.5 0h139zm-267 0h79.8l-69.2 160H0L90.5 0zM0 192h100.7l123 251.7c1.5 3.1-2.7 5.9-5 3.3L0 192zm148.2 0h279.6l-137 318.2c-1 2.4-4.5 2.4-5.5 0L148.2 192zm204.1 251.7l123-251.7H576L357.3 446.9c-2.3 2.7-6.5-.1-5-3.2z',\n\t],\n};\nvar faGenderless = {\n\tprefix: 'fas',\n\ticonName: 'genderless',\n\ticon: [\n\t\t288,\n\t\t512,\n\t\t[],\n\t\t'f22d',\n\t\t'M144 176c44.1 0 80 35.9 80 80s-35.9 80-80 80-80-35.9-80-80 35.9-80 80-80m0-64C64.5 112 0 176.5 0 256s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144z',\n\t],\n};\nvar faGift = {\n\tprefix: 'fas',\n\ticonName: 'gift',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f06b',\n\t\t'M488 192h-64.512C438.72 175.003 448 152.566 448 128c0-52.935-43.065-96-96-96-41.997 0-68.742 20.693-95.992 54.15C226.671 50.192 199.613 32 160 32c-52.935 0-96 43.065-96 96 0 24.566 9.28 47.003 24.512 64H24c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h8v112c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V320h8c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24zm-208-32c24-56 55.324-64 72-64 17.645 0 32 14.355 32 32s-14.355 32-32 32h-72zM160 96c16.676 0 48 8 72 64h-72c-17.645 0-32-14.355-32-32s14.355-32 32-32zm48 128h96v184c0 13.255-10.745 24-24 24h-48c-13.255 0-24-10.745-24-24V224z',\n\t],\n};\nvar faGlassMartini = {\n\tprefix: 'fas',\n\ticonName: 'glass-martini',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f000',\n\t\t'M507.3 27.3c10-10 2.9-27.3-11.3-27.3H16C1.8 0-5.4 17.2 4.7 27.3L216 238.6V472h-92c-15.5 0-28 12.5-28 28 0 6.6 5.4 12 12 12h296c6.6 0 12-5.4 12-12 0-15.5-12.5-28-28-28h-92V238.6L507.3 27.3z',\n\t],\n};\nvar faGlobe = {\n\tprefix: 'fas',\n\ticonName: 'globe',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f0ac',\n\t\t'M364.215 192h131.43c5.439 20.419 8.354 41.868 8.354 64s-2.915 43.581-8.354 64h-131.43c5.154-43.049 4.939-86.746 0-128zM185.214 352c10.678 53.68 33.173 112.514 70.125 151.992.221.001.44.008.661.008s.44-.008.661-.008c37.012-39.543 59.467-98.414 70.125-151.992H185.214zm174.13-192h125.385C452.802 84.024 384.128 27.305 300.95 12.075c30.238 43.12 48.821 96.332 58.394 147.925zm-27.35 32H180.006c-5.339 41.914-5.345 86.037 0 128h151.989c5.339-41.915 5.345-86.037-.001-128zM152.656 352H27.271c31.926 75.976 100.6 132.695 183.778 147.925-30.246-43.136-48.823-96.35-58.393-147.925zm206.688 0c-9.575 51.605-28.163 104.814-58.394 147.925 83.178-15.23 151.852-71.949 183.778-147.925H359.344zm-32.558-192c-10.678-53.68-33.174-112.514-70.125-151.992-.221 0-.44-.008-.661-.008s-.44.008-.661.008C218.327 47.551 195.872 106.422 185.214 160h141.572zM16.355 192C10.915 212.419 8 233.868 8 256s2.915 43.581 8.355 64h131.43c-4.939-41.254-5.154-84.951 0-128H16.355zm136.301-32c9.575-51.602 28.161-104.81 58.394-147.925C127.872 27.305 59.198 84.024 27.271 160h125.385z',\n\t],\n};\nvar faGolfBall = {\n\tprefix: 'fas',\n\ticonName: 'golf-ball',\n\ticon: [\n\t\t416,\n\t\t512,\n\t\t[],\n\t\t'f450',\n\t\t'M96 416h224c0 17.7-14.3 32-32 32h-16c-17.7 0-32 14.3-32 32v20c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-20c0-17.7-14.3-32-32-32h-16c-17.7 0-32-14.3-32-32zm320-208c0 74.2-39 139.2-97.5 176h-221C39 347.2 0 282.2 0 208 0 93.1 93.1 0 208 0s208 93.1 208 208zm-180.1 43.9c18.3 0 33.1-14.8 33.1-33.1 0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1zm49.1 46.9c0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1 18.3 0 33.1-14.9 33.1-33.1zm64-64c0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1 18.3 0 33.1-14.9 33.1-33.1z',\n\t],\n};\nvar faGraduationCap = {\n\tprefix: 'fas',\n\ticonName: 'graduation-cap',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f19d',\n\t\t'M622.884 199.005l-275.817 85.1a96 96 0 0 1-54.134 0L92.398 222.232c-8.564 11.438-11.018 23.05-11.918 38.335C89.778 266.165 96 276.355 96 288c0 11.952-6.557 22.366-16.265 27.861l16.197 123.096c.63 4.786-3.1 9.043-7.932 9.043H40c-4.828 0-8.562-4.253-7.932-9.044L48.265 315.86C38.557 310.366 32 299.952 32 288c0-12.034 6.646-22.511 16.465-27.976.947-17.951 3.974-33.231 12.152-47.597l-43.502-13.422c-22.876-6.801-22.766-39.241 0-46.01l275.817-85.1a96 96 0 0 1 54.134 0l275.817 85.1c22.877 6.801 22.767 39.241.001 46.01zM356.503 314.682l-.207.064-.207.061a127.998 127.998 0 0 1-72.177 0l-.207-.061-.207-.064-150.914-46.57L120 352c0 35.346 89.543 64 200 64s200-28.654 200-64l-12.583-83.888-150.914 46.57z',\n\t],\n};\nvar faHSquare = {\n\tprefix: 'fas',\n\ticonName: 'h-square',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f0fd',\n\t\t'M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zm-112 48h-32c-8.837 0-16 7.163-16 16v80H160v-80c0-8.837-7.163-16-16-16h-32c-8.837 0-16 7.163-16 16v224c0 8.837 7.163 16 16 16h32c8.837 0 16-7.163 16-16v-80h128v80c0 8.837 7.163 16 16 16h32c8.837 0 16-7.163 16-16V144c0-8.837-7.163-16-16-16z',\n\t],\n};\nvar faHandLizard = {\n\tprefix: 'fas',\n\ticonName: 'hand-lizard',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f258',\n\t\t'M384 480h192V363.778a95.998 95.998 0 0 0-14.833-51.263L398.127 54.368A48 48 0 0 0 357.544 32H24C10.745 32 0 42.745 0 56v16c0 30.928 25.072 56 56 56h229.981c12.844 0 21.556 13.067 16.615 24.923l-21.41 51.385A32 32 0 0 1 251.648 224H128c-35.346 0-64 28.654-64 64v8c0 13.255 10.745 24 24 24h147.406a47.995 47.995 0 0 1 25.692 7.455l111.748 70.811A24.001 24.001 0 0 1 384 418.539V480z',\n\t],\n};\nvar faHandPaper = {\n\tprefix: 'fas',\n\ticonName: 'hand-paper',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f256',\n\t\t'M408.781 128.007C386.356 127.578 368 146.36 368 168.79V256h-8V79.79c0-22.43-18.356-41.212-40.781-40.783C297.488 39.423 280 57.169 280 79v177h-8V40.79C272 18.36 253.644-.422 231.219.007 209.488.423 192 18.169 192 40v216h-8V80.79c0-22.43-18.356-41.212-40.781-40.783C121.488 40.423 104 58.169 104 80v235.992l-31.648-43.519c-12.993-17.866-38.009-21.817-55.877-8.823-17.865 12.994-21.815 38.01-8.822 55.877l125.601 172.705A48 48 0 0 0 172.073 512h197.59c22.274 0 41.622-15.324 46.724-37.006l26.508-112.66a192.011 192.011 0 0 0 5.104-43.975V168c.001-21.831-17.487-39.577-39.218-39.993z',\n\t],\n};\nvar faHandPeace = {\n\tprefix: 'fas',\n\ticonName: 'hand-peace',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f25b',\n\t\t'M408 216c-22.092 0-40 17.909-40 40h-8v-32c0-22.091-17.908-40-40-40s-40 17.909-40 40v32h-8V48c0-26.51-21.49-48-48-48s-48 21.49-48 48v208h-13.572L92.688 78.449C82.994 53.774 55.134 41.63 30.461 51.324 5.787 61.017-6.356 88.877 3.337 113.551l74.765 190.342-31.09 24.872c-15.381 12.306-19.515 33.978-9.741 51.081l64 112A39.998 39.998 0 0 0 136 512h240c18.562 0 34.686-12.77 38.937-30.838l32-136A39.97 39.97 0 0 0 448 336v-80c0-22.091-17.908-40-40-40z',\n\t],\n};\nvar faHandPointDown = {\n\tprefix: 'fas',\n\ticonName: 'hand-point-down',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f0a7',\n\t\t'M91.826 467.2V317.966c-8.248 5.841-16.558 10.57-24.918 14.153C35.098 345.752-.014 322.222 0 288c.008-18.616 10.897-32.203 29.092-40 28.286-12.122 64.329-78.648 77.323-107.534 7.956-17.857 25.479-28.453 43.845-28.464l.001-.002h171.526c11.812 0 21.897 8.596 23.703 20.269 7.25 46.837 38.483 61.76 38.315 123.731-.007 2.724.195 13.254.195 16 0 50.654-22.122 81.574-71.263 72.6-9.297 18.597-39.486 30.738-62.315 16.45-21.177 24.645-53.896 22.639-70.944 6.299V467.2c0 24.15-20.201 44.8-43.826 44.8-23.283 0-43.826-21.35-43.826-44.8zM112 72V24c0-13.255 10.745-24 24-24h192c13.255 0 24 10.745 24 24v48c0 13.255-10.745 24-24 24H136c-13.255 0-24-10.745-24-24zm212-24c0-11.046-8.954-20-20-20s-20 8.954-20 20 8.954 20 20 20 20-8.954 20-20z',\n\t],\n};\nvar faHandPointLeft = {\n\tprefix: 'fas',\n\ticonName: 'hand-point-left',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f0a5',\n\t\t'M44.8 155.826h149.234c-5.841-8.248-10.57-16.558-14.153-24.918C166.248 99.098 189.778 63.986 224 64c18.616.008 32.203 10.897 40 29.092 12.122 28.286 78.648 64.329 107.534 77.323 17.857 7.956 28.453 25.479 28.464 43.845l.002.001v171.526c0 11.812-8.596 21.897-20.269 23.703-46.837 7.25-61.76 38.483-123.731 38.315-2.724-.007-13.254.195-16 .195-50.654 0-81.574-22.122-72.6-71.263-18.597-9.297-30.738-39.486-16.45-62.315-24.645-21.177-22.639-53.896-6.299-70.944H44.8c-24.15 0-44.8-20.201-44.8-43.826 0-23.283 21.35-43.826 44.8-43.826zM440 176h48c13.255 0 24 10.745 24 24v192c0 13.255-10.745 24-24 24h-48c-13.255 0-24-10.745-24-24V200c0-13.255 10.745-24 24-24zm24 212c11.046 0 20-8.954 20-20s-8.954-20-20-20-20 8.954-20 20 8.954 20 20 20z',\n\t],\n};\nvar faHandPointRight = {\n\tprefix: 'fas',\n\ticonName: 'hand-point-right',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f0a4',\n\t\t'M512 199.652c0 23.625-20.65 43.826-44.8 43.826h-99.851c16.34 17.048 18.346 49.766-6.299 70.944 14.288 22.829 2.147 53.017-16.45 62.315C353.574 425.878 322.654 448 272 448c-2.746 0-13.276-.203-16-.195-61.971.168-76.894-31.065-123.731-38.315C120.596 407.683 112 397.599 112 385.786V214.261l.002-.001c.011-18.366 10.607-35.889 28.464-43.845 28.886-12.994 95.413-49.038 107.534-77.323 7.797-18.194 21.384-29.084 40-29.092 34.222-.014 57.752 35.098 44.119 66.908-3.583 8.359-8.312 16.67-14.153 24.918H467.2c23.45 0 44.8 20.543 44.8 43.826zM96 200v192c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V200c0-13.255 10.745-24 24-24h48c13.255 0 24 10.745 24 24zM68 368c0-11.046-8.954-20-20-20s-20 8.954-20 20 8.954 20 20 20 20-8.954 20-20z',\n\t],\n};\nvar faHandPointUp = {\n\tprefix: 'fas',\n\ticonName: 'hand-point-up',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f0a6',\n\t\t'M135.652 0c23.625 0 43.826 20.65 43.826 44.8v99.851c17.048-16.34 49.766-18.346 70.944 6.299 22.829-14.288 53.017-2.147 62.315 16.45C361.878 158.426 384 189.346 384 240c0 2.746-.203 13.276-.195 16 .168 61.971-31.065 76.894-38.315 123.731C343.683 391.404 333.599 400 321.786 400H150.261l-.001-.002c-18.366-.011-35.889-10.607-43.845-28.464C93.421 342.648 57.377 276.122 29.092 264 10.897 256.203.008 242.616 0 224c-.014-34.222 35.098-57.752 66.908-44.119 8.359 3.583 16.67 8.312 24.918 14.153V44.8c0-23.45 20.543-44.8 43.826-44.8zM136 416h192c13.255 0 24 10.745 24 24v48c0 13.255-10.745 24-24 24H136c-13.255 0-24-10.745-24-24v-48c0-13.255 10.745-24 24-24zm168 28c-11.046 0-20 8.954-20 20s8.954 20 20 20 20-8.954 20-20-8.954-20-20-20z',\n\t],\n};\nvar faHandPointer = {\n\tprefix: 'fas',\n\ticonName: 'hand-pointer',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f25a',\n\t\t'M448 240v96c0 3.084-.356 6.159-1.063 9.162l-32 136C410.686 499.23 394.562 512 376 512H168a40.004 40.004 0 0 1-32.35-16.473l-127.997-176c-12.993-17.866-9.043-42.883 8.822-55.876 17.867-12.994 42.884-9.043 55.877 8.823L104 315.992V40c0-22.091 17.908-40 40-40s40 17.909 40 40v200h8v-40c0-22.091 17.908-40 40-40s40 17.909 40 40v40h8v-24c0-22.091 17.908-40 40-40s40 17.909 40 40v24h8c0-22.091 17.908-40 40-40s40 17.909 40 40zm-256 80h-8v96h8v-96zm88 0h-8v96h8v-96zm88 0h-8v96h8v-96z',\n\t],\n};\nvar faHandRock = {\n\tprefix: 'fas',\n\ticonName: 'hand-rock',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f255',\n\t\t'M512 128.79c0-26.322-20.861-48.344-47.18-48.783C437.935 79.558 416 101.217 416 128h-8V96.79c0-26.322-20.861-48.344-47.18-48.783C333.935 47.558 312 69.217 312 96v32h-8V80.79c0-26.322-20.861-48.344-47.18-48.783C229.935 31.558 208 53.217 208 80v48h-8V96.79c0-26.322-20.861-48.344-47.18-48.783C125.935 47.558 104 69.217 104 96v136l-8-7.111V176.79c0-26.322-20.861-48.344-47.18-48.783C21.935 127.558 0 149.217 0 176v66.445a95.998 95.998 0 0 0 32.221 71.751l111.668 99.261A47.999 47.999 0 0 1 160 449.333V456c0 13.255 10.745 24 24 24h240c13.255 0 24-10.745 24-24v-2.921a96.01 96.01 0 0 1 7.523-37.254l48.954-116.265A96.002 96.002 0 0 0 512 262.306V128.79z',\n\t],\n};\nvar faHandScissors = {\n\tprefix: 'fas',\n\ticonName: 'hand-scissors',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f257',\n\t\t'M216 440c0-22.092 17.909-40 40-40v-8h-32c-22.091 0-40-17.908-40-40s17.909-40 40-40h32v-8H48c-26.51 0-48-21.49-48-48s21.49-48 48-48h208v-13.572l-177.551-69.74c-24.674-9.694-36.818-37.555-27.125-62.228 9.693-24.674 37.554-36.817 62.228-27.124l190.342 74.765 24.872-31.09c12.306-15.381 33.978-19.515 51.081-9.741l112 64A40.002 40.002 0 0 1 512 168v240c0 18.562-12.77 34.686-30.838 38.937l-136 32A39.982 39.982 0 0 1 336 480h-80c-22.091 0-40-17.908-40-40z',\n\t],\n};\nvar faHandSpock = {\n\tprefix: 'fas',\n\ticonName: 'hand-spock',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f259',\n\t\t'M10.872 316.585c15.139-16.086 40.454-16.854 56.543-1.713L128 371.893v-79.405L88.995 120.865c-4.896-21.542 8.598-42.974 30.14-47.87 21.549-4.894 42.975 8.599 47.87 30.141L201.747 256h9.833L164.016 48.966c-4.946-21.531 8.498-42.994 30.028-47.94 21.532-4.95 42.994 8.498 47.94 30.028L293.664 256h15.105l48.425-193.702c5.357-21.432 27.075-34.462 48.507-29.104 21.432 5.358 34.463 27.075 29.104 48.507L391.231 256h11.08l30.768-129.265c5.117-21.491 26.685-34.768 48.177-29.647 21.491 5.117 34.765 26.686 29.647 48.177l-36.292 152.467A96.024 96.024 0 0 0 472 319.967v42.102a96.002 96.002 0 0 1-3.96 27.287l-26.174 88.287C435.825 498.022 417.101 512 395.846 512H179.172a48.002 48.002 0 0 1-32.898-13.046L12.585 373.128c-16.087-15.141-16.853-40.456-1.713-56.543z',\n\t],\n};\nvar faHandshake = {\n\tprefix: 'fas',\n\ticonName: 'handshake',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f2b5',\n\t\t'M72 112H24c-13.255 0-24 10.745-24 24v208c0 13.255 10.745 24 24 24h48c13.255 0 24-10.745 24-24V136c0-13.255-10.745-24-24-24zM48 340c-11.046 0-20-8.954-20-20s8.954-20 20-20 20 8.954 20 20-8.954 20-20 20zm568-228h-48c-13.255 0-24 10.745-24 24v208c0 13.255 10.745 24 24 24h48c13.255 0 24-10.745 24-24V136c0-13.255-10.745-24-24-24zm-24 228c-11.046 0-20-8.954-20-20s8.954-20 20-20 20 8.954 20 20-8.954 20-20 20zM485.94 92.67L528 140.74V320h-19.17c.56-14.96-4.38-28.98-14-39.71l-80.92-98.91c2.93-3.2 2.76-8.16-.38-11.16-2.82-2.7-7.08-2.92-10.14-.76-.42.3-60.35 62.93-60.35 62.93l-.2.21c-23.904 26.905-66.127 26.204-89.15-1.42-15.48-18.58-15.29-45.39.45-63.76l66.57-77.67C334.304 73.88 354.534 64 376.7 64h46.05a83.98 83.98 0 0 1 63.19 28.67zm-3.37 197.92c15.46 16.78 12.59 43.83-2.37 57.75-17.711 16.462-42.433 13.004-45.93 9.2 1.653 15.658-21.389 47.249-56.42 44.68-6.325 21.185-32.298 38.909-59.18 29.61-10.22 10.21-25.82 14.97-39.81 14.97-28.69 0-54.92-11.99-72.58-30.8L112 320V135.52l61.36-50.57A71.52 71.52 0 0 1 223.93 64h37.42c16.73 0 32.68 6.84 44.21 18.85l-63.57 74.16c-20.84 24.31-21.09 59.81-.59 84.42 29.375 35.247 83.007 35.853 113.31 1.92L402.82 193l79.75 97.59z',\n\t],\n};\nvar faHashtag = {\n\tprefix: 'fas',\n\ticonName: 'hashtag',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f292',\n\t\t'M440.667 182.109l7.143-40c1.313-7.355-4.342-14.109-11.813-14.109h-74.81l14.623-81.891C377.123 38.754 371.468 32 363.997 32h-40.632a12 12 0 0 0-11.813 9.891L296.175 128H197.54l14.623-81.891C213.477 38.754 207.822 32 200.35 32h-40.632a12 12 0 0 0-11.813 9.891L132.528 128H53.432a12 12 0 0 0-11.813 9.891l-7.143 40C33.163 185.246 38.818 192 46.289 192h74.81L98.242 320H19.146a12 12 0 0 0-11.813 9.891l-7.143 40C-1.123 377.246 4.532 384 12.003 384h74.81L72.19 465.891C70.877 473.246 76.532 480 84.003 480h40.632a12 12 0 0 0 11.813-9.891L151.826 384h98.634l-14.623 81.891C234.523 473.246 240.178 480 247.65 480h40.632a12 12 0 0 0 11.813-9.891L315.472 384h79.096a12 12 0 0 0 11.813-9.891l7.143-40c1.313-7.355-4.342-14.109-11.813-14.109h-74.81l22.857-128h79.096a12 12 0 0 0 11.813-9.891zM261.889 320h-98.634l22.857-128h98.634l-22.857 128z',\n\t],\n};\nvar faHdd = {\n\tprefix: 'fas',\n\ticonName: 'hdd',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f0a0',\n\t\t'M576 304v96c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48v-96c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48zm-48-80a79.557 79.557 0 0 1 30.777 6.165L462.25 85.374A48.003 48.003 0 0 0 422.311 64H153.689a48 48 0 0 0-39.938 21.374L17.223 230.165A79.557 79.557 0 0 1 48 224h480zm-48 96c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm-96 0c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z',\n\t],\n};\nvar faHeading = {\n\tprefix: 'fas',\n\ticonName: 'heading',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f1dc',\n\t\t'M496 80V48c0-8.837-7.163-16-16-16H320c-8.837 0-16 7.163-16 16v32c0 8.837 7.163 16 16 16h37.621v128H154.379V96H192c8.837 0 16-7.163 16-16V48c0-8.837-7.163-16-16-16H32c-8.837 0-16 7.163-16 16v32c0 8.837 7.163 16 16 16h37.275v320H32c-8.837 0-16 7.163-16 16v32c0 8.837 7.163 16 16 16h160c8.837 0 16-7.163 16-16v-32c0-8.837-7.163-16-16-16h-37.621V288H357.62v128H320c-8.837 0-16 7.163-16 16v32c0 8.837 7.163 16 16 16h160c8.837 0 16-7.163 16-16v-32c0-8.837-7.163-16-16-16h-37.275V96H480c8.837 0 16-7.163 16-16z',\n\t],\n};\nvar faHeadphones = {\n\tprefix: 'fas',\n\ticonName: 'headphones',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f025',\n\t\t'M256 32C114.52 32 0 146.496 0 288v48a32 32 0 0 0 17.689 28.622l14.383 7.191C34.083 431.903 83.421 480 144 480h24c13.255 0 24-10.745 24-24V280c0-13.255-10.745-24-24-24h-24c-31.342 0-59.671 12.879-80 33.627V288c0-105.869 86.131-192 192-192s192 86.131 192 192v1.627C427.671 268.879 399.342 256 368 256h-24c-13.255 0-24 10.745-24 24v176c0 13.255 10.745 24 24 24h24c60.579 0 109.917-48.098 111.928-108.187l14.382-7.191A32 32 0 0 0 512 336v-48c0-141.479-114.496-256-256-256z',\n\t],\n};\nvar faHeart = {\n\tprefix: 'fas',\n\ticonName: 'heart',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f004',\n\t\t'M414.9 24C361.8 24 312 65.7 288 89.3 264 65.7 214.2 24 161.1 24 70.3 24 16 76.9 16 165.5c0 72.6 66.8 133.3 69.2 135.4l187 180.8c8.8 8.5 22.8 8.5 31.6 0l186.7-180.2c2.7-2.7 69.5-63.5 69.5-136C560 76.9 505.7 24 414.9 24z',\n\t],\n};\nvar faHeartbeat = {\n\tprefix: 'fas',\n\ticonName: 'heartbeat',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f21e',\n\t\t'M320.2 243.8l-49.7 99.4c-6 12.1-23.4 11.7-28.9-.6l-56.9-126.3-30 71.7H60.6l182.5 186.5c7.1 7.3 18.6 7.3 25.7 0L451.4 288H342.3l-22.1-44.2zM473.7 73.9l-2.4-2.5c-51.5-52.6-135.8-52.6-187.4 0L256 100l-27.9-28.5c-51.5-52.7-135.9-52.7-187.4 0l-2.4 2.4C-10.4 123.7-12.5 203 31 256h102.4l35.9-86.2c5.4-12.9 23.6-13.2 29.4-.4l58.2 129.3 49-97.9c5.9-11.8 22.7-11.8 28.6 0l27.6 55.2H481c43.5-53 41.4-132.3-7.3-182.1z',\n\t],\n};\nvar faHistory = {\n\tprefix: 'fas',\n\ticonName: 'history',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f1da',\n\t\t'M504 255.531c.253 136.64-111.18 248.372-247.82 248.468-59.015.042-113.223-20.53-155.822-54.911-11.077-8.94-11.905-25.541-1.839-35.607l11.267-11.267c8.609-8.609 22.353-9.551 31.891-1.984C173.062 425.135 212.781 440 256 440c101.705 0 184-82.311 184-184 0-101.705-82.311-184-184-184-48.814 0-93.149 18.969-126.068 49.932l50.754 50.754c10.08 10.08 2.941 27.314-11.313 27.314H24c-8.837 0-16-7.163-16-16V38.627c0-14.254 17.234-21.393 27.314-11.314l49.372 49.372C129.209 34.136 189.552 8 256 8c136.81 0 247.747 110.78 248 247.531zm-180.912 78.784l9.823-12.63c8.138-10.463 6.253-25.542-4.21-33.679L288 256.349V152c0-13.255-10.745-24-24-24h-16c-13.255 0-24 10.745-24 24v135.651l65.409 50.874c10.463 8.137 25.541 6.253 33.679-4.21z',\n\t],\n};\nvar faHockeyPuck = {\n\tprefix: 'fas',\n\ticonName: 'hockey-puck',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f453',\n\t\t'M0 160c0-53 114.6-96 256-96s256 43 256 96-114.6 96-256 96S0 213 0 160zm0 82.2V352c0 53 114.6 96 256 96s256-43 256-96V242.2c-113.4 82.3-398.5 82.4-512 0z',\n\t],\n};\nvar faHome = {\n\tprefix: 'fas',\n\ticonName: 'home',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f015',\n\t\t'M488 312.7V456c0 13.3-10.7 24-24 24H348c-6.6 0-12-5.4-12-12V356c0-6.6-5.4-12-12-12h-72c-6.6 0-12 5.4-12 12v112c0 6.6-5.4 12-12 12H112c-13.3 0-24-10.7-24-24V312.7c0-3.6 1.6-7 4.4-9.3l188-154.8c4.4-3.6 10.8-3.6 15.3 0l188 154.8c2.7 2.3 4.3 5.7 4.3 9.3zm83.6-60.9L488 182.9V44.4c0-6.6-5.4-12-12-12h-56c-6.6 0-12 5.4-12 12V117l-89.5-73.7c-17.7-14.6-43.3-14.6-61 0L4.4 251.8c-5.1 4.2-5.8 11.8-1.6 16.9l25.5 31c4.2 5.1 11.8 5.8 16.9 1.6l235.2-193.7c4.4-3.6 10.8-3.6 15.3 0l235.2 193.7c5.1 4.2 12.7 3.5 16.9-1.6l25.5-31c4.2-5.2 3.4-12.7-1.7-16.9z',\n\t],\n};\nvar faHospital = {\n\tprefix: 'fas',\n\ticonName: 'hospital',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f0f8',\n\t\t'M448 492v20H0v-20c0-6.627 5.373-12 12-12h20V120c0-13.255 10.745-24 24-24h88V24c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v72h88c13.255 0 24 10.745 24 24v360h20c6.627 0 12 5.373 12 12zM308 192h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zm-168 64h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm104 128h-40c-6.627 0-12 5.373-12 12v84h64v-84c0-6.627-5.373-12-12-12zm64-96h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zm-116 12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40zM182 96h26v26a6 6 0 0 0 6 6h20a6 6 0 0 0 6-6V96h26a6 6 0 0 0 6-6V70a6 6 0 0 0-6-6h-26V38a6 6 0 0 0-6-6h-20a6 6 0 0 0-6 6v26h-26a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6z',\n\t],\n};\nvar faHospitalSymbol = {\n\tprefix: 'fas',\n\ticonName: 'hospital-symbol',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f47e',\n\t\t'M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256 256-114.6 256-256S397.4 0 256 0zm112 376c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-88h-96v88c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V136c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v88h96v-88c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v240z',\n\t],\n};\nvar faHourglass = {\n\tprefix: 'fas',\n\ticonName: 'hourglass',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f254',\n\t\t'M360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64z',\n\t],\n};\nvar faHourglassEnd = {\n\tprefix: 'fas',\n\ticonName: 'hourglass-end',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f253',\n\t\t'M360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64zM192 208c-57.787 0-104-66.518-104-144h208c0 77.945-46.51 144-104 144z',\n\t],\n};\nvar faHourglassHalf = {\n\tprefix: 'fas',\n\ticonName: 'hourglass-half',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f252',\n\t\t'M360 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24zm-75.078 384H99.08c17.059-46.797 52.096-80 92.92-80 40.821 0 75.862 33.196 92.922 80zm.019-256H99.078C91.988 108.548 88 86.748 88 64h208c0 22.805-3.987 44.587-11.059 64z',\n\t],\n};\nvar faHourglassStart = {\n\tprefix: 'fas',\n\ticonName: 'hourglass-start',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f251',\n\t\t'M360 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24zm-64 448H88c0-77.458 46.204-144 104-144 57.786 0 104 66.517 104 144z',\n\t],\n};\nvar faICursor = {\n\tprefix: 'fas',\n\ticonName: 'i-cursor',\n\ticon: [\n\t\t256,\n\t\t512,\n\t\t[],\n\t\t'f246',\n\t\t'M256 52.048V12.065C256 5.496 250.726.148 244.158.066 211.621-.344 166.469.011 128 37.959 90.266.736 46.979-.114 11.913.114 5.318.157 0 5.519 0 12.114v39.645c0 6.687 5.458 12.078 12.145 11.998C38.111 63.447 96 67.243 96 112.182V224H60c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h36v112c0 44.932-56.075 48.031-83.95 47.959C5.404 447.942 0 453.306 0 459.952v39.983c0 6.569 5.274 11.917 11.842 11.999 32.537.409 77.689.054 116.158-37.894 37.734 37.223 81.021 38.073 116.087 37.845 6.595-.043 11.913-5.405 11.913-12V460.24c0-6.687-5.458-12.078-12.145-11.998C217.889 448.553 160 444.939 160 400V288h36c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-36V112.182c0-44.932 56.075-48.213 83.95-48.142 6.646.018 12.05-5.346 12.05-11.992z',\n\t],\n};\nvar faIdBadge = {\n\tprefix: 'fas',\n\ticonName: 'id-badge',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f2c1',\n\t\t'M336 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V48c0-26.51-21.49-48-48-48zM128 44c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12H140c-6.627 0-12-5.373-12-12v-8zm64 116c44.183 0 80 35.817 80 80s-35.817 80-80 80-80-35.817-80-80 35.817-80 80-80zm128 232c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24v-18.523c0-22.026 14.99-41.225 36.358-46.567l35.656-8.914c29.101 20.932 74.509 26.945 111.97 0l35.656 8.914c21.37 5.342 36.36 24.542 36.36 46.567V392z',\n\t],\n};\nvar faIdCard = {\n\tprefix: 'fas',\n\ticonName: 'id-card',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f2c2',\n\t\t'M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zM256 350c0 9.941-8.059 18-18 18H82c-9.941 0-18-8.059-18-18v-13.892c0-16.519 11.243-30.919 27.269-34.925l26.742-6.686c21.826 15.699 55.882 20.209 83.978 0l26.743 6.686C244.757 305.189 256 319.589 256 336.108V350zM100 236c0-33.137 26.863-60 60-60s60 26.863 60 60-26.863 60-60 60-60-26.863-60-60zm348 104c0 6.627-5.373 12-12 12H300c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h136c6.627 0 12 5.373 12 12v8zm0-64c0 6.627-5.373 12-12 12H300c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h136c6.627 0 12 5.373 12 12v8zm0-64c0 6.627-5.373 12-12 12H300c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h136c6.627 0 12 5.373 12 12v8zm32-96c0 6.627-5.373 12-12 12H44c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v8z',\n\t],\n};\nvar faImage = {\n\tprefix: 'fas',\n\ticonName: 'image',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f03e',\n\t\t'M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z',\n\t],\n};\nvar faImages = {\n\tprefix: 'fas',\n\ticonName: 'images',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f302',\n\t\t'M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v208c0 44.112 35.888 80 80 80h336zm96-80V80c0-26.51-21.49-48-48-48H144c-26.51 0-48 21.49-48 48v256c0 26.51 21.49 48 48 48h384c26.51 0 48-21.49 48-48zM256 128c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-96 144l55.515-55.515c4.686-4.686 12.284-4.686 16.971 0L272 256l135.515-135.515c4.686-4.686 12.284-4.686 16.971 0L512 208v112H160v-48z',\n\t],\n};\nvar faInbox = {\n\tprefix: 'fas',\n\ticonName: 'inbox',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f01c',\n\t\t'M567.938 243.908L462.25 85.374A48.003 48.003 0 0 0 422.311 64H153.689a48 48 0 0 0-39.938 21.374L8.062 243.908A47.994 47.994 0 0 0 0 270.533V400c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V270.533a47.994 47.994 0 0 0-8.062-26.625zM162.252 128h251.497l85.333 128H376l-32 64H232l-32-64H76.918l85.334-128z',\n\t],\n};\nvar faIndent = {\n\tprefix: 'fas',\n\ticonName: 'indent',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f03c',\n\t\t'M0 84V44c0-8.837 7.163-16 16-16h416c8.837 0 16 7.163 16 16v40c0 8.837-7.163 16-16 16H16c-8.837 0-16-7.163-16-16zm176 144h256c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H176c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zM16 484h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm160-128h256c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H176c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm-52.687-111.313l-96-95.984C17.266 138.652 0 145.776 0 160.016v191.975c0 14.329 17.325 21.304 27.313 11.313l96-95.992c6.249-6.247 6.249-16.377 0-22.625z',\n\t],\n};\nvar faIndustry = {\n\tprefix: 'fas',\n\ticonName: 'industry',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f275',\n\t\t'M475.115 163.781L336 252.309v-68.28c0-18.916-20.931-30.399-36.885-20.248L160 252.309V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56v400c0 13.255 10.745 24 24 24h464c13.255 0 24-10.745 24-24V184.029c0-18.917-20.931-30.399-36.885-20.248z',\n\t],\n};\nvar faInfo = {\n\tprefix: 'fas',\n\ticonName: 'info',\n\ticon: [\n\t\t192,\n\t\t512,\n\t\t[],\n\t\t'f129',\n\t\t'M20 424.229h20V279.771H20c-11.046 0-20-8.954-20-20V212c0-11.046 8.954-20 20-20h112c11.046 0 20 8.954 20 20v212.229h20c11.046 0 20 8.954 20 20V492c0 11.046-8.954 20-20 20H20c-11.046 0-20-8.954-20-20v-47.771c0-11.046 8.954-20 20-20zM96 0C56.235 0 24 32.235 24 72s32.235 72 72 72 72-32.235 72-72S135.764 0 96 0z',\n\t],\n};\nvar faInfoCircle = {\n\tprefix: 'fas',\n\ticonName: 'info-circle',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f05a',\n\t\t'M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z',\n\t],\n};\nvar faItalic = {\n\tprefix: 'fas',\n\ticonName: 'italic',\n\ticon: [\n\t\t320,\n\t\t512,\n\t\t[],\n\t\t'f033',\n\t\t'M204.758 416h-33.849l62.092-320h40.725a16 16 0 0 0 15.704-12.937l6.242-32C297.599 41.184 290.034 32 279.968 32H120.235a16 16 0 0 0-15.704 12.937l-6.242 32C96.362 86.816 103.927 96 113.993 96h33.846l-62.09 320H46.278a16 16 0 0 0-15.704 12.935l-6.245 32C22.402 470.815 29.967 480 40.034 480h158.479a16 16 0 0 0 15.704-12.935l6.245-32c1.927-9.88-5.638-19.065-15.704-19.065z',\n\t],\n};\nvar faKey = {\n\tprefix: 'fas',\n\ticonName: 'key',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f084',\n\t\t'M512 176.001C512 273.203 433.202 352 336 352c-11.22 0-22.19-1.062-32.827-3.069l-24.012 27.014A23.999 23.999 0 0 1 261.223 384H224v40c0 13.255-10.745 24-24 24h-40v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-78.059c0-6.365 2.529-12.47 7.029-16.971l161.802-161.802C163.108 213.814 160 195.271 160 176 160 78.798 238.797.001 335.999 0 433.488-.001 512 78.511 512 176.001zM336 128c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48-48 21.49-48 48z',\n\t],\n};\nvar faKeyboard = {\n\tprefix: 'fas',\n\ticonName: 'keyboard',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f11c',\n\t\t'M528 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM128 180v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm288 0v-40c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z',\n\t],\n};\nvar faLanguage = {\n\tprefix: 'fas',\n\ticonName: 'language',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f1ab',\n\t\t'M304 416H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h280v320zm-120.676-72.622A12 12 0 0 0 194.839 352h22.863c8.22 0 14.007-8.078 11.362-15.861L171.61 167.085a12 12 0 0 0-11.362-8.139h-32.489a12.001 12.001 0 0 0-11.362 8.139L58.942 336.139C56.297 343.922 62.084 352 70.304 352h22.805a12 12 0 0 0 11.535-8.693l9.118-31.807h60.211l9.351 31.878zm-39.051-140.42s4.32 21.061 7.83 33.21l10.8 37.531h-38.07l11.07-37.531c3.51-12.15 7.83-33.21 7.83-33.21h.54zM616 416H336V96h280c13.255 0 24 10.745 24 24v272c0 13.255-10.745 24-24 24zm-36-228h-64v-16c0-6.627-5.373-12-12-12h-16c-6.627 0-12 5.373-12 12v16h-64c-6.627 0-12 5.373-12 12v16c0 6.627 5.373 12 12 12h114.106c-6.263 14.299-16.518 28.972-30.023 43.206-6.56-6.898-12.397-13.91-17.365-20.933-3.639-5.144-10.585-6.675-15.995-3.446l-7.28 4.346-6.498 3.879c-5.956 3.556-7.693 11.421-3.735 17.117 6.065 8.729 13.098 17.336 20.984 25.726-8.122 6.226-16.841 12.244-26.103 17.964-5.521 3.41-7.381 10.556-4.162 16.19l7.941 13.896c3.362 5.883 10.935 7.826 16.706 4.276 12.732-7.831 24.571-16.175 35.443-24.891 10.917 8.761 22.766 17.102 35.396 24.881 5.774 3.556 13.353 1.618 16.717-4.27l7.944-13.903c3.213-5.623 1.37-12.76-4.135-16.171a312.737 312.737 0 0 1-26.06-18.019c21.024-22.425 35.768-46.289 42.713-69.85H580c6.627 0 12-5.373 12-12v-16c0-6.625-5.373-11.998-12-11.998z',\n\t],\n};\nvar faLaptop = {\n\tprefix: 'fas',\n\ticonName: 'laptop',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f109',\n\t\t'M512 64v256H128V64h384m16-64H112C85.5 0 64 21.5 64 48v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm100 416H389.5c-3 0-5.5 2.1-5.9 5.1C381.2 436.3 368 448 352 448h-64c-16 0-29.2-11.7-31.6-26.9-.5-2.9-3-5.1-5.9-5.1H12c-6.6 0-12 5.4-12 12v36c0 26.5 21.5 48 48 48h544c26.5 0 48-21.5 48-48v-36c0-6.6-5.4-12-12-12z',\n\t],\n};\nvar faLeaf = {\n\tprefix: 'fas',\n\ticonName: 'leaf',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f06c',\n\t\t'M395.4 420.8c-43.4 21.6-91.9 34.4-140.8 34.4-82.2 0-151.1-40.1-151.1-40.1-16.1 0-35.4 64.9-63.3 64.9-27 0-40.2-24-40.2-38.5 0-33.1 63.6-58.9 63.6-77.3 0 0-12.5-21.2-12.5-59.2 0-101.2 81.3-173.4 172.6-203.3 65.9-21.6 206 3.5 250.7-38.5C492.1 47 500.8 32 527.8 32c36.3 0 48.2 93.2 48.2 120.3 0 110.9-54.5 206.5-180.6 268.5zm-254.3-75.6c63.5-89.9 144.5-128.8 257.7-120 8.8.7 16.5-5.9 17.2-14.7.7-8.8-5.9-16.5-14.7-17.2-124-9.6-215.9 33.9-286.3 133.5-5.1 7.2-3.4 17.2 3.8 22.3 7.2 5.1 17.2 3.4 22.3-3.9z',\n\t],\n};\nvar faLemon = {\n\tprefix: 'fas',\n\ticonName: 'lemon',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f094',\n\t\t'M489.038 22.963C465.944-.13 434.648-5.93 413.947 6.129c-58.906 34.312-181.25-53.077-321.073 86.746S40.441 355.041 6.129 413.945c-12.059 20.702-6.26 51.999 16.833 75.093 23.095 23.095 54.392 28.891 75.095 16.832 58.901-34.31 181.246 53.079 321.068-86.743S471.56 156.96 505.871 98.056c12.059-20.702 6.261-51.999-16.833-75.093zM243.881 95.522c-58.189 14.547-133.808 90.155-148.358 148.358-1.817 7.27-8.342 12.124-15.511 12.124-1.284 0-2.59-.156-3.893-.481-8.572-2.144-13.784-10.83-11.642-19.403C81.901 166.427 166.316 81.93 236.119 64.478c8.575-2.143 17.261 3.069 19.403 11.642s-3.069 17.259-11.641 19.402z',\n\t],\n};\nvar faLevelDownAlt = {\n\tprefix: 'fas',\n\ticonName: 'level-down-alt',\n\ticon: [\n\t\t320,\n\t\t512,\n\t\t[],\n\t\t'f3be',\n\t\t'M313.553 392.331L209.587 504.334c-9.485 10.214-25.676 10.229-35.174 0L70.438 392.331C56.232 377.031 67.062 352 88.025 352H152V80H68.024a11.996 11.996 0 0 1-8.485-3.515l-56-56C-4.021 12.926 1.333 0 12.024 0H208c13.255 0 24 10.745 24 24v328h63.966c20.878 0 31.851 24.969 17.587 40.331z',\n\t],\n};\nvar faLevelUpAlt = {\n\tprefix: 'fas',\n\ticonName: 'level-up-alt',\n\ticon: [\n\t\t320,\n\t\t512,\n\t\t[],\n\t\t'f3bf',\n\t\t'M313.553 119.669L209.587 7.666c-9.485-10.214-25.676-10.229-35.174 0L70.438 119.669C56.232 134.969 67.062 160 88.025 160H152v272H68.024a11.996 11.996 0 0 0-8.485 3.515l-56 56C-4.021 499.074 1.333 512 12.024 512H208c13.255 0 24-10.745 24-24V160h63.966c20.878 0 31.851-24.969 17.587-40.331z',\n\t],\n};\nvar faLifeRing = {\n\tprefix: 'fas',\n\ticonName: 'life-ring',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f1cd',\n\t\t'M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm173.696 119.559l-63.399 63.399c-10.987-18.559-26.67-34.252-45.255-45.255l63.399-63.399a218.396 218.396 0 0 1 45.255 45.255zM256 352c-53.019 0-96-42.981-96-96s42.981-96 96-96 96 42.981 96 96-42.981 96-96 96zM127.559 82.304l63.399 63.399c-18.559 10.987-34.252 26.67-45.255 45.255l-63.399-63.399a218.372 218.372 0 0 1 45.255-45.255zM82.304 384.441l63.399-63.399c10.987 18.559 26.67 34.252 45.255 45.255l-63.399 63.399a218.396 218.396 0 0 1-45.255-45.255zm302.137 45.255l-63.399-63.399c18.559-10.987 34.252-26.67 45.255-45.255l63.399 63.399a218.403 218.403 0 0 1-45.255 45.255z',\n\t],\n};\nvar faLightbulb = {\n\tprefix: 'fas',\n\ticonName: 'lightbulb',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f0eb',\n\t\t'M272 428v28c0 10.449-6.68 19.334-16 22.629V488c0 13.255-10.745 24-24 24h-80c-13.255 0-24-10.745-24-24v-9.371c-9.32-3.295-16-12.18-16-22.629v-28c0-6.627 5.373-12 12-12h136c6.627 0 12 5.373 12 12zm-143.107-44c-9.907 0-18.826-6.078-22.376-15.327C67.697 267.541 16 277.731 16 176 16 78.803 94.805 0 192 0s176 78.803 176 176c0 101.731-51.697 91.541-90.516 192.673-3.55 9.249-12.47 15.327-22.376 15.327H128.893zM112 176c0-44.112 35.888-80 80-80 8.837 0 16-7.164 16-16s-7.163-16-16-16c-61.757 0-112 50.243-112 112 0 8.836 7.164 16 16 16s16-7.164 16-16z',\n\t],\n};\nvar faLink = {\n\tprefix: 'fas',\n\ticonName: 'link',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f0c1',\n\t\t'M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z',\n\t],\n};\nvar faLiraSign = {\n\tprefix: 'fas',\n\ticonName: 'lira-sign',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f195',\n\t\t'M371.994 256h-48.019C317.64 256 312 260.912 312 267.246 312 368 230.179 416 144 416V256.781l134.603-29.912A12 12 0 0 0 288 215.155v-40.976c0-7.677-7.109-13.38-14.603-11.714L144 191.219V160.78l134.603-29.912A12 12 0 0 0 288 119.154V78.179c0-7.677-7.109-13.38-14.603-11.714L144 95.219V44c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v68.997L9.397 125.131A12 12 0 0 0 0 136.845v40.976c0 7.677 7.109 13.38 14.603 11.714L64 178.558v30.439L9.397 221.131A12 12 0 0 0 0 232.845v40.976c0 7.677 7.109 13.38 14.603 11.714L64 274.558V468c0 6.627 5.373 12 12 12h79.583c134.091 0 223.255-77.834 228.408-211.592.261-6.782-5.211-12.408-11.997-12.408z',\n\t],\n};\nvar faList = {\n\tprefix: 'fas',\n\ticonName: 'list',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f03a',\n\t\t'M128 116V76c0-8.837 7.163-16 16-16h352c8.837 0 16 7.163 16 16v40c0 8.837-7.163 16-16 16H144c-8.837 0-16-7.163-16-16zm16 176h352c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h352c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zM16 144h64c8.837 0 16-7.163 16-16V64c0-8.837-7.163-16-16-16H16C7.163 48 0 55.163 0 64v64c0 8.837 7.163 16 16 16zm0 160h64c8.837 0 16-7.163 16-16v-64c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v64c0 8.837 7.163 16 16 16zm0 160h64c8.837 0 16-7.163 16-16v-64c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v64c0 8.837 7.163 16 16 16z',\n\t],\n};\nvar faListAlt = {\n\tprefix: 'fas',\n\ticonName: 'list-alt',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f022',\n\t\t'M464 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zM128 120c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm0 96c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm0 96c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm288-136v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12zm0 96v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12zm0 96v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12z',\n\t],\n};\nvar faListOl = {\n\tprefix: 'fas',\n\ticonName: 'list-ol',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f0cb',\n\t\t'M3.263 139.527c0-7.477 3.917-11.572 11.573-11.572h15.131V88.078c0-5.163.534-10.503.534-10.503h-.356s-1.779 2.67-2.848 3.738c-4.451 4.273-10.504 4.451-15.666-1.068l-5.518-6.231c-5.342-5.341-4.984-11.216.534-16.379l21.72-19.938C32.815 33.602 36.732 32 42.785 32H54.89c7.656 0 11.749 3.916 11.749 11.572v84.384h15.488c7.655 0 11.572 4.094 11.572 11.572v8.901c0 7.477-3.917 11.572-11.572 11.572H14.836c-7.656 0-11.573-4.095-11.573-11.572v-8.902zM2.211 304.591c0-47.278 50.955-56.383 50.955-69.165 0-7.18-5.954-8.755-9.28-8.755-3.153 0-6.479 1.051-9.455 3.852-5.079 4.903-10.507 7.004-16.111 2.451l-8.579-6.829c-5.779-4.553-7.18-9.805-2.803-15.409C13.592 201.981 26.025 192 47.387 192c19.437 0 44.476 10.506 44.476 39.573 0 38.347-46.753 46.402-48.679 56.909h39.049c7.529 0 11.557 4.027 11.557 11.382v8.755c0 7.354-4.028 11.382-11.557 11.382h-67.94c-7.005 0-12.083-4.028-12.083-11.382v-4.028zM5.654 454.61l5.603-9.28c3.853-6.654 9.105-7.004 15.584-3.152 4.903 2.101 9.63 3.152 14.359 3.152 10.155 0 14.358-3.502 14.358-8.23 0-6.654-5.604-9.106-15.934-9.106h-4.728c-5.954 0-9.28-2.101-12.258-7.88l-1.05-1.926c-2.451-4.728-1.226-9.806 2.801-14.884l5.604-7.004c6.829-8.405 12.257-13.483 12.257-13.483v-.35s-4.203 1.051-12.608 1.051H16.685c-7.53 0-11.383-4.028-11.383-11.382v-8.755c0-7.53 3.853-11.382 11.383-11.382h58.484c7.529 0 11.382 4.027 11.382 11.382v3.327c0 5.778-1.401 9.806-5.079 14.183l-17.509 20.137c19.611 5.078 28.716 20.487 28.716 34.845 0 21.363-14.358 44.126-48.503 44.126-16.636 0-28.192-4.728-35.896-9.455-5.779-4.202-6.304-9.805-2.626-15.934zM144 132h352c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h352c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h352c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z',\n\t],\n};\nvar faListUl = {\n\tprefix: 'fas',\n\ticonName: 'list-ul',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f0ca',\n\t\t'M96 96c0 26.51-21.49 48-48 48S0 122.51 0 96s21.49-48 48-48 48 21.49 48 48zM48 208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm0 160c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm96-236h352c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h352c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h352c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z',\n\t],\n};\nvar faLocationArrow = {\n\tprefix: 'fas',\n\ticonName: 'location-arrow',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f124',\n\t\t'M443.683 4.529L27.818 196.418C-18.702 217.889-3.39 288 47.933 288H224v175.993c0 51.727 70.161 66.526 91.582 20.115L507.38 68.225c18.905-40.961-23.752-82.133-63.697-63.696z',\n\t],\n};\nvar faLock = {\n\tprefix: 'fas',\n\ticonName: 'lock',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f023',\n\t\t'M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z',\n\t],\n};\nvar faLockOpen = {\n\tprefix: 'fas',\n\ticonName: 'lock-open',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f3c1',\n\t\t'M423.5 0C339.5.3 272 69.5 272 153.5V224H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48h-48v-71.1c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v80c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-80C576 68 507.5-.3 423.5 0z',\n\t],\n};\nvar faLongArrowAltDown = {\n\tprefix: 'fas',\n\ticonName: 'long-arrow-alt-down',\n\ticon: [\n\t\t256,\n\t\t512,\n\t\t[],\n\t\t'f309',\n\t\t'M168 345.941V44c0-6.627-5.373-12-12-12h-56c-6.627 0-12 5.373-12 12v301.941H41.941c-21.382 0-32.09 25.851-16.971 40.971l86.059 86.059c9.373 9.373 24.569 9.373 33.941 0l86.059-86.059c15.119-15.119 4.411-40.971-16.971-40.971H168z',\n\t],\n};\nvar faLongArrowAltLeft = {\n\tprefix: 'fas',\n\ticonName: 'long-arrow-alt-left',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f30a',\n\t\t'M134.059 296H436c6.627 0 12-5.373 12-12v-56c0-6.627-5.373-12-12-12H134.059v-46.059c0-21.382-25.851-32.09-40.971-16.971L7.029 239.029c-9.373 9.373-9.373 24.569 0 33.941l86.059 86.059c15.119 15.119 40.971 4.411 40.971-16.971V296z',\n\t],\n};\nvar faLongArrowAltRight = {\n\tprefix: 'fas',\n\ticonName: 'long-arrow-alt-right',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f30b',\n\t\t'M313.941 216H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h301.941v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.569 0-33.941l-86.059-86.059c-15.119-15.119-40.971-4.411-40.971 16.971V216z',\n\t],\n};\nvar faLongArrowAltUp = {\n\tprefix: 'fas',\n\ticonName: 'long-arrow-alt-up',\n\ticon: [\n\t\t256,\n\t\t512,\n\t\t[],\n\t\t'f30c',\n\t\t'M88 166.059V468c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12V166.059h46.059c21.382 0 32.09-25.851 16.971-40.971l-86.059-86.059c-9.373-9.373-24.569-9.373-33.941 0l-86.059 86.059c-15.119 15.119-4.411 40.971 16.971 40.971H88z',\n\t],\n};\nvar faLowVision = {\n\tprefix: 'fas',\n\ticonName: 'low-vision',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f2a8',\n\t\t'M569.344 231.631C512.96 135.949 407.81 72 288 72c-28.468 0-56.102 3.619-82.451 10.409L152.778 10.24c-7.601-10.858-22.564-13.5-33.423-5.9l-13.114 9.178c-10.86 7.601-13.502 22.566-5.9 33.426l43.131 58.395C89.449 131.73 40.228 174.683 6.682 231.581c-.01.017-.023.033-.034.05-8.765 14.875-8.964 33.528 0 48.739 38.5 65.332 99.742 115.862 172.859 141.349L55.316 244.302A272.194 272.194 0 0 1 83.61 208.39l119.4 170.58h.01l40.63 58.04a330.055 330.055 0 0 0 78.94 1.17l-189.98-271.4a277.628 277.628 0 0 1 38.777-21.563l251.836 356.544c7.601 10.858 22.564 13.499 33.423 5.9l13.114-9.178c10.86-7.601 13.502-22.567 5.9-33.426l-43.12-58.377-.007-.009c57.161-27.978 104.835-72.04 136.81-126.301a47.938 47.938 0 0 0 .001-48.739zM390.026 345.94l-19.066-27.23c24.682-32.567 27.711-76.353 8.8-111.68v.03c0 23.65-19.17 42.82-42.82 42.82-23.828 0-42.82-19.349-42.82-42.82 0-23.65 19.17-42.82 42.82-42.82h.03c-24.75-13.249-53.522-15.643-79.51-7.68l-19.068-27.237C253.758 123.306 270.488 120 288 120c75.162 0 136 60.826 136 136 0 34.504-12.833 65.975-33.974 89.94z',\n\t],\n};\nvar faMagic = {\n\tprefix: 'fas',\n\ticonName: 'magic',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f0d0',\n\t\t'M101.1 505L7 410.9c-9.4-9.4-9.4-24.6 0-33.9L377 7c9.4-9.4 24.6-9.4 33.9 0l94.1 94.1c9.4 9.4 9.4 24.6 0 33.9L135 505c-9.3 9.3-24.5 9.3-33.9 0zM304 159.2l48.8 48.8 89.9-89.9-48.8-48.8-89.9 89.9zM138.9 39.3l-11.7 23.8-26.2 3.8c-4.7.7-6.6 6.5-3.2 9.8l19 18.5-4.5 26.1c-.8 4.7 4.1 8.3 8.3 6.1L144 115l23.4 12.3c4.2 2.2 9.1-1.4 8.3-6.1l-4.5-26.1 19-18.5c3.4-3.3 1.5-9.1-3.2-9.8L160.8 63l-11.7-23.8c-2-4.1-8.1-4.1-10.2.1zm97.7-20.7l-7.8 15.8-17.5 2.6c-3.1.5-4.4 4.3-2.1 6.5l12.6 12.3-3 17.4c-.5 3.1 2.8 5.5 5.6 4L240 69l15.6 8.2c2.8 1.5 6.1-.9 5.6-4l-3-17.4 12.6-12.3c2.3-2.2 1-6.1-2.1-6.5l-17.5-2.5-7.8-15.8c-1.4-3-5.4-3-6.8-.1zm-192 0l-7.8 15.8L19.3 37c-3.1.5-4.4 4.3-2.1 6.5l12.6 12.3-3 17.4c-.5 3.1 2.8 5.5 5.6 4L48 69l15.6 8.2c2.8 1.5 6.1-.9 5.6-4l-3-17.4 12.6-12.3c2.3-2.2 1-6.1-2.1-6.5l-17.5-2.5-7.8-15.8c-1.4-3-5.4-3-6.8-.1zm416 223.5l-7.8 15.8-17.5 2.5c-3.1.5-4.4 4.3-2.1 6.5l12.6 12.3-3 17.4c-.5 3.1 2.8 5.5 5.6 4l15.6-8.2 15.6 8.2c2.8 1.5 6.1-.9 5.6-4l-3-17.4 12.6-12.3c2.3-2.2 1-6.1-2.1-6.5l-17.5-2.5-7.8-15.8c-1.4-2.8-5.4-2.8-6.8 0z',\n\t],\n};\nvar faMagnet = {\n\tprefix: 'fas',\n\ticonName: 'magnet',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f076',\n\t\t'M164.1 160H12c-6.6 0-12-5.4-12-12V68c0-19.9 16.1-36 36-36h104c19.9 0 36 16.1 36 36v80c.1 6.6-5.3 12-11.9 12zm348-12V67.9c0-19.9-16.1-36-36-36h-104c-19.9 0-36 16.1-36 36v80c0 6.6 5.4 12 12 12h152c6.6.1 12-5.3 12-11.9zm-164 44c-6.6 0-12 5.4-12 12v52c0 128.1-160 127.9-160 0v-52c0-6.6-5.4-12-12-12h-152c-6.7 0-12 5.4-12 12.1.1 21.4.6 40.3 0 53.3C.1 408 136.3 504 256.9 504 377.5 504 512 408 512 257.3c-.6-12.8-.2-33 0-53.2 0-6.7-5.3-12.1-12-12.1H348.1z',\n\t],\n};\nvar faMale = {\n\tprefix: 'fas',\n\ticonName: 'male',\n\ticon: [\n\t\t192,\n\t\t512,\n\t\t[],\n\t\t'f183',\n\t\t'M96 0c35.346 0 64 28.654 64 64s-28.654 64-64 64-64-28.654-64-64S60.654 0 96 0m48 144h-11.36c-22.711 10.443-49.59 10.894-73.28 0H48c-26.51 0-48 21.49-48 48v136c0 13.255 10.745 24 24 24h16v136c0 13.255 10.745 24 24 24h64c13.255 0 24-10.745 24-24V352h16c13.255 0 24-10.745 24-24V192c0-26.51-21.49-48-48-48z',\n\t],\n};\nvar faMap = {\n\tprefix: 'fas',\n\ticonName: 'map',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f279',\n\t\t'M576 56.015v335.97a23.998 23.998 0 0 1-13.267 21.466l-128 64C418.948 485.344 400 473.992 400 455.985v-335.97a23.998 23.998 0 0 1 13.267-21.466l128-64C557.052 26.656 576 38.008 576 56.015zm-206.253 42.07l-144-64c-15.751-7-33.747 4.461-33.747 21.932v335.967a24 24 0 0 0 14.253 21.931l144 64c15.751 7 33.747-4.461 33.747-21.931V120.017a24 24 0 0 0-14.253-21.932zm-228.48-63.536l-128 63.985A23.998 23.998 0 0 0 0 120v335.985c0 18.007 18.948 29.359 34.733 21.466l128-63.985A23.998 23.998 0 0 0 176 392V56.015c0-18.007-18.948-29.359-34.733-21.466z',\n\t],\n};\nvar faMapMarker = {\n\tprefix: 'fas',\n\ticonName: 'map-marker',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f041',\n\t\t'M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0z',\n\t],\n};\nvar faMapMarkerAlt = {\n\tprefix: 'fas',\n\ticonName: 'map-marker-alt',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f3c5',\n\t\t'M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z',\n\t],\n};\nvar faMapPin = {\n\tprefix: 'fas',\n\ticonName: 'map-pin',\n\ticon: [\n\t\t320,\n\t\t512,\n\t\t[],\n\t\t'f276',\n\t\t'M192 300.813v172.82l-22.015 33.023c-4.75 7.125-15.219 7.125-19.969 0L128 473.633v-172.82a162.221 162.221 0 0 0 64 0zM160 0c79.529 0 144 64.471 144 144s-64.471 144-144 144S16 223.529 16 144 80.471 0 160 0M80 136c0-39.701 32.299-72 72-72a8 8 0 0 0 0-16c-48.523 0-88 39.477-88 88a8 8 0 0 0 16 0z',\n\t],\n};\nvar faMapSigns = {\n\tprefix: 'fas',\n\ticonName: 'map-signs',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f277',\n\t\t'M487.515 104.485L439.03 152.97a23.998 23.998 0 0 1-16.97 7.029H56c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24h160v-8c0-13.255 10.745-24 24-24h32c13.255 0 24 10.745 24 24v8h126.059a24 24 0 0 1 16.97 7.029l48.485 48.485c4.687 4.687 4.687 12.285.001 16.971zM216 368v120c0 13.255 10.745 24 24 24h32c13.255 0 24-10.745 24-24V368h-80zm240-144H296v-48h-80v48H89.941a24 24 0 0 0-16.97 7.029l-48.485 48.485c-4.686 4.686-4.686 12.284 0 16.971l48.485 48.485a23.998 23.998 0 0 0 16.97 7.029H456c13.255 0 24-10.745 24-24v-80C480 234.745 469.255 224 456 224z',\n\t],\n};\nvar faMars = {\n\tprefix: 'fas',\n\ticonName: 'mars',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f222',\n\t\t'M372 64h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7c-22.2-14-48.5-22.1-76.7-22.1C64.5 160 0 224.5 0 304s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V76c0-6.6-5.4-12-12-12zM144 384c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z',\n\t],\n};\nvar faMarsDouble = {\n\tprefix: 'fas',\n\ticonName: 'mars-double',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f227',\n\t\t'M340 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7C198.5 72.1 172.2 64 144 64 64.5 64 0 128.5 0 208s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.5 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12V12c0-6.6-5.4-12-12-12zM144 288c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80zm356-128.1h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7c-18.2-11.4-39-18.9-61.5-21.3-2.1 21.8-8.2 43.3-18.4 63.3 1.1 0 2.2-.1 3.2-.1 44.1 0 80 35.9 80 80s-35.9 80-80 80-80-35.9-80-80c0-1.1 0-2.2.1-3.2-20 10.2-41.5 16.4-63.3 18.4C168.4 455.6 229.6 512 304 512c79.5 0 144-64.5 144-144 0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.4 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12v-79c0-6.7-5.4-12.1-12-12.1z',\n\t],\n};\nvar faMarsStroke = {\n\tprefix: 'fas',\n\ticonName: 'mars-stroke',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f229',\n\t\t'M372 64h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-17.5 17.5-14.1-14.1c-4.7-4.7-12.3-4.7-17 0L224.5 133c-4.7 4.7-4.7 12.3 0 17l14.1 14.1-18 18c-22.2-14-48.5-22.1-76.7-22.1C64.5 160 0 224.5 0 304s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l18-18 14.1 14.1c4.7 4.7 12.3 4.7 17 0l28.3-28.3c4.7-4.7 4.7-12.3 0-17L329.2 164l17.5-17.5 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V76c-.1-6.6-5.5-12-12.1-12zM144 384c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z',\n\t],\n};\nvar faMarsStrokeH = {\n\tprefix: 'fas',\n\ticonName: 'mars-stroke-h',\n\ticon: [\n\t\t480,\n\t\t512,\n\t\t[],\n\t\t'f22b',\n\t\t'M476.2 247.5l-55.9-55.9c-7.6-7.6-20.5-2.2-20.5 8.5V224H376v-20c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v20h-27.6c-5.8-25.6-18.7-49.9-38.6-69.8C189.6 98 98.4 98 42.2 154.2c-56.2 56.2-56.2 147.4 0 203.6 56.2 56.2 147.4 56.2 203.6 0 19.9-19.9 32.8-44.2 38.6-69.8H312v20c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-20h23.9v23.9c0 10.7 12.9 16 20.5 8.5l55.9-55.9c4.6-4.7 4.6-12.3-.1-17zm-275.6 65.1c-31.2 31.2-81.9 31.2-113.1 0-31.2-31.2-31.2-81.9 0-113.1 31.2-31.2 81.9-31.2 113.1 0 31.2 31.1 31.2 81.9 0 113.1z',\n\t],\n};\nvar faMarsStrokeV = {\n\tprefix: 'fas',\n\ticonName: 'mars-stroke-v',\n\ticon: [\n\t\t288,\n\t\t512,\n\t\t[],\n\t\t'f22a',\n\t\t'M245.8 234.2c-19.9-19.9-44.2-32.8-69.8-38.6v-25.4h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V81.4h23.9c10.7 0 16-12.9 8.5-20.5L152.5 5.1c-4.7-4.7-12.3-4.7-17 0L79.6 61c-7.6 7.6-2.2 20.5 8.5 20.5H112v24.7H92c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h20v25.4c-25.6 5.8-49.9 18.7-69.8 38.6-56.2 56.2-56.2 147.4 0 203.6 56.2 56.2 147.4 56.2 203.6 0 56.3-56.2 56.3-147.4 0-203.6zm-45.2 158.4c-31.2 31.2-81.9 31.2-113.1 0-31.2-31.2-31.2-81.9 0-113.1 31.2-31.2 81.9-31.2 113.1 0 31.2 31.1 31.2 81.9 0 113.1z',\n\t],\n};\nvar faMedkit = {\n\tprefix: 'fas',\n\ticonName: 'medkit',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f0fa',\n\t\t'M96 480h320V128h-32V80c0-26.51-21.49-48-48-48H176c-26.51 0-48 21.49-48 48v48H96v352zm96-384h128v32H192V96zm320 80v256c0 26.51-21.49 48-48 48h-16V128h16c26.51 0 48 21.49 48 48zM64 480H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v352zm288-208v32c0 8.837-7.163 16-16 16h-48v48c0 8.837-7.163 16-16 16h-32c-8.837 0-16-7.163-16-16v-48h-48c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h48v-48c0-8.837 7.163-16 16-16h32c8.837 0 16 7.163 16 16v48h48c8.837 0 16 7.163 16 16z',\n\t],\n};\nvar faMeh = {\n\tprefix: 'fas',\n\ticonName: 'meh',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f11a',\n\t\t'M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-396-64c0 37.497 30.503 68 68 68s68-30.503 68-68-30.503-68-68-68-68 30.503-68 68zm160.5 0c0 37.221 30.279 67.5 67.5 67.5s67.5-30.279 67.5-67.5-30.279-67.5-67.5-67.5-67.5 30.279-67.5 67.5zm67.5-48a47.789 47.789 0 0 0-22.603 5.647h.015c10.916 0 19.765 8.849 19.765 19.765s-8.849 19.765-19.765 19.765-19.765-8.849-19.765-19.765v-.015A47.789 47.789 0 0 0 288 192c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48zm-160 0a47.789 47.789 0 0 0-22.603 5.647h.015c10.916 0 19.765 8.849 19.765 19.765s-8.849 19.765-19.765 19.765-19.765-8.849-19.765-19.765v-.015A47.789 47.789 0 0 0 128 192c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48zm160 208H176c-21.178 0-21.169 32 0 32h160c21.178 0 21.169-32 0-32z',\n\t],\n};\nvar faMercury = {\n\tprefix: 'fas',\n\ticonName: 'mercury',\n\ticon: [\n\t\t288,\n\t\t512,\n\t\t[],\n\t\t'f223',\n\t\t'M288 208c0-44.2-19.9-83.7-51.2-110.1 2.5-1.8 4.9-3.8 7.2-5.8 24.7-21.2 39.8-48.8 43.2-78.8.9-7.1-4.7-13.3-11.9-13.3h-40.5C229 0 224.1 4.1 223 9.8c-2.4 12.5-9.6 24.3-20.7 33.8C187 56.8 166.3 64 144 64s-43-7.2-58.4-20.4C74.5 34.1 67.4 22.3 64.9 9.8 63.8 4.1 58.9 0 53.2 0H12.7C5.5 0-.1 6.2.8 13.3 4.2 43.4 19.2 71 44 92.2c2.3 2 4.7 3.9 7.2 5.8C19.9 124.3 0 163.8 0 208c0 68.5 47.9 125.9 112 140.4V400H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80z',\n\t],\n};\nvar faMicrochip = {\n\tprefix: 'fas',\n\ticonName: 'microchip',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f2db',\n\t\t'M416 48v416c0 26.51-21.49 48-48 48H144c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h224c26.51 0 48 21.49 48 48zm96 58v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42V88h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zM30 376h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6z',\n\t],\n};\nvar faMicrophone = {\n\tprefix: 'fas',\n\ticonName: 'microphone',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f130',\n\t\t'M96 256V96c0-53.019 42.981-96 96-96s96 42.981 96 96v160c0 53.019-42.981 96-96 96s-96-42.981-96-96zm252-56h-24c-6.627 0-12 5.373-12 12v42.68c0 66.217-53.082 120.938-119.298 121.318C126.213 376.38 72 322.402 72 256v-44c0-6.627-5.373-12-12-12H36c-6.627 0-12 5.373-12 12v44c0 84.488 62.693 154.597 144 166.278V468h-68c-6.627 0-12 5.373-12 12v20c0 6.627 5.373 12 12 12h184c6.627 0 12-5.373 12-12v-20c0-6.627-5.373-12-12-12h-68v-45.722c81.307-11.681 144-81.79 144-166.278v-44c0-6.627-5.373-12-12-12z',\n\t],\n};\nvar faMicrophoneSlash = {\n\tprefix: 'fas',\n\ticonName: 'microphone-slash',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f131',\n\t\t'M421.45 285.195L376 239.746V212c0-6.627 5.373-12 12-12h24c6.627 0 12 5.373 12 12v44c0 9.957-.881 19.71-2.55 29.195zM352 96c0-53.019-42.981-96-96-96-32.574 0-61.354 16.227-78.71 41.035L352 215.746V96zm152.971 363.716L52.284 7.029c-9.373-9.373-24.569-9.373-33.941 0L7.029 18.343c-9.372 9.373-9.372 24.568 0 33.941L160 205.254v49.577c0 53.089 43.436 97.452 96.524 97.167 14.626-.078 28.471-3.44 40.854-9.366l17.746 17.746c-17.529 9.971-37.794 15.666-59.372 15.622C189.355 375.864 136 321.053 136 254.656V212c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v44c0 84.488 62.693 154.597 144 166.278V468h-68c-6.627 0-12 5.373-12 12v20c0 6.627 5.373 12 12 12h184c6.627 0 12-5.373 12-12v-20c0-6.627-5.373-12-12-12h-68v-45.722c25.625-3.682 49.396-13.172 69.942-27.083L459.717 504.97c9.373 9.373 24.569 9.373 33.941 0l11.313-11.313c9.372-9.373 9.372-24.568 0-33.941z',\n\t],\n};\nvar faMinus = {\n\tprefix: 'fas',\n\ticonName: 'minus',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f068',\n\t\t'M424 318.2c13.3 0 24-10.7 24-24v-76.4c0-13.3-10.7-24-24-24H24c-13.3 0-24 10.7-24 24v76.4c0 13.3 10.7 24 24 24h400z',\n\t],\n};\nvar faMinusCircle = {\n\tprefix: 'fas',\n\ticonName: 'minus-circle',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f056',\n\t\t'M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zM124 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H124z',\n\t],\n};\nvar faMinusSquare = {\n\tprefix: 'fas',\n\ticonName: 'minus-square',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f146',\n\t\t'M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM92 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H92z',\n\t],\n};\nvar faMobile = {\n\tprefix: 'fas',\n\ticonName: 'mobile',\n\ticon: [\n\t\t320,\n\t\t512,\n\t\t[],\n\t\t'f10b',\n\t\t'M272 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM160 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z',\n\t],\n};\nvar faMobileAlt = {\n\tprefix: 'fas',\n\ticonName: 'mobile-alt',\n\ticon: [\n\t\t320,\n\t\t512,\n\t\t[],\n\t\t'f3cd',\n\t\t'M272 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM160 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm112-108c0 6.6-5.4 12-12 12H60c-6.6 0-12-5.4-12-12V60c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v312z',\n\t],\n};\nvar faMoneyBillAlt = {\n\tprefix: 'fas',\n\ticonName: 'money-bill-alt',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f3d1',\n\t\t'M640 120v272c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h592c13.255 0 24 10.745 24 24zM96 384c0-35.346-28.654-64-64-64v64h64zm0-256H32v64c35.346 0 64-28.654 64-64zm304 128c0-53.021-35.816-96-80-96s-80 42.979-80 96c0 53.012 35.814 96 80 96 44.167 0 80-42.969 80-96zm208 64c-35.346 0-64 28.654-64 64h64v-64zm0-192h-64c0 35.346 28.654 64 64 64v-64zM277.563 299.527c0-7.477 3.917-11.572 11.573-11.572h15.131v-39.878c0-5.163.534-10.503.534-10.503h-.356s-1.779 2.67-2.848 3.738c-4.451 4.273-10.504 4.451-15.666-1.068l-5.518-6.231c-5.342-5.341-4.984-11.216.534-16.379l21.72-19.939c4.449-4.095 8.366-5.697 14.42-5.697h12.105c7.656 0 11.749 3.916 11.749 11.572v84.384h15.488c7.655 0 11.572 4.094 11.572 11.572v8.901c0 7.477-3.917 11.572-11.572 11.572h-67.293c-7.656 0-11.573-4.095-11.573-11.572v-8.9z',\n\t],\n};\nvar faMoon = {\n\tprefix: 'fas',\n\ticonName: 'moon',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f186',\n\t\t'M283.211 512c78.962 0 151.079-35.925 198.857-94.792 7.068-8.708-.639-21.43-11.562-19.35-124.203 23.654-238.262-71.576-238.262-196.954 0-72.222 38.662-138.635 101.498-174.394 9.686-5.512 7.25-20.197-3.756-22.23A258.156 258.156 0 0 0 283.211 0c-141.309 0-256 114.511-256 256 0 141.309 114.511 256 256 256z',\n\t],\n};\nvar faMotorcycle = {\n\tprefix: 'fas',\n\ticonName: 'motorcycle',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f21c',\n\t\t'M512.949 192.003c-14.862-.108-29.14 2.322-42.434 6.874L437.589 144H520c13.255 0 24-10.745 24-24V88c0-13.255-10.745-24-24-24h-45.311a24 24 0 0 0-17.839 7.945l-37.496 41.663-22.774-37.956A24 24 0 0 0 376 64h-80c-8.837 0-16 7.163-16 16v16c0 8.837 7.163 16 16 16h66.411l19.2 32H227.904c-17.727-23.073-44.924-40-99.904-40H72.54c-13.455 0-24.791 11.011-24.536 24.464C48.252 141.505 58.9 152 72 152h56c24.504 0 38.686 10.919 47.787 24.769l-11.291 20.529c-13.006-3.865-26.871-5.736-41.251-5.21C55.857 194.549 1.565 249.605.034 317.021-1.603 389.076 56.317 448 128 448c59.642 0 109.744-40.794 123.953-96h84.236c13.673 0 24.589-11.421 23.976-25.077-2.118-47.12 17.522-93.665 56.185-125.026l12.485 20.808c-27.646 23.654-45.097 58.88-44.831 98.179.47 69.556 57.203 126.452 126.758 127.11 71.629.678 129.839-57.487 129.234-129.099-.588-69.591-57.455-126.386-127.047-126.892zM128 400c-44.112 0-80-35.888-80-80s35.888-80 80-80c4.242 0 8.405.341 12.469.982L98.97 316.434C90.187 332.407 101.762 352 120 352h81.297c-12.37 28.225-40.56 48-73.297 48zm388.351-.116C470.272 402.337 432 365.554 432 320c0-21.363 8.434-40.781 22.125-55.144l49.412 82.352c4.546 7.577 14.375 10.034 21.952 5.488l13.72-8.232c7.577-4.546 10.034-14.375 5.488-21.952l-48.556-80.927A80.005 80.005 0 0 1 512 240c45.554 0 82.338 38.273 79.884 84.352-2.16 40.558-34.974 73.372-75.533 75.532z',\n\t],\n};\nvar faMousePointer = {\n\tprefix: 'fas',\n\ticonName: 'mouse-pointer',\n\ticon: [\n\t\t320,\n\t\t512,\n\t\t[],\n\t\t'f245',\n\t\t'M302.189 329.126H196.105l55.831 135.993c3.889 9.428-.555 19.999-9.444 23.999l-49.165 21.427c-9.165 4-19.443-.571-23.332-9.714l-53.053-129.136-86.664 89.138C18.729 472.71 0 463.554 0 447.977V18.299C0 1.899 19.921-6.096 30.277 5.443l284.412 292.542c11.472 11.179 3.007 31.141-12.5 31.141z',\n\t],\n};\nvar faMusic = {\n\tprefix: 'fas',\n\ticonName: 'music',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f001',\n\t\t'M470.4 1.5l-304 96C153.1 101.7 144 114 144 128v264.6c-14.1-5.4-30.5-8.6-48-8.6-53 0-96 28.7-96 64s43 64 96 64 96-28.7 96-64V220.5l272-85.9v194c-14.1-5.4-30.5-8.6-48-8.6-53 0-96 28.7-96 64s43 64 96 64 96-28.7 96-64V32c0-21.7-21.1-37-41.6-30.5z',\n\t],\n};\nvar faNeuter = {\n\tprefix: 'fas',\n\ticonName: 'neuter',\n\ticon: [\n\t\t288,\n\t\t512,\n\t\t[],\n\t\t'f22c',\n\t\t'M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V468c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V316.4c64.1-14.5 112-71.9 112-140.4zm-144 80c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z',\n\t],\n};\nvar faNewspaper = {\n\tprefix: 'fas',\n\ticonName: 'newspaper',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f1ea',\n\t\t'M552 64H88c-13.255 0-24 10.745-24 24v8H24c-13.255 0-24 10.745-24 24v272c0 30.928 25.072 56 56 56h472c26.51 0 48-21.49 48-48V88c0-13.255-10.745-24-24-24zM56 400a8 8 0 0 1-8-8V144h16v248a8 8 0 0 1-8 8zm236-16H140c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm208 0H348c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm-208-96H140c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm208 0H348c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm0-96H140c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h360c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12z',\n\t],\n};\nvar faObjectGroup = {\n\tprefix: 'fas',\n\ticonName: 'object-group',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f247',\n\t\t'M480 128V96h20c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v20H64V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v40c0 6.627 5.373 12 12 12h20v320H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-20h384v20c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-20V128zM96 276V140c0-6.627 5.373-12 12-12h168c6.627 0 12 5.373 12 12v136c0 6.627-5.373 12-12 12H108c-6.627 0-12-5.373-12-12zm320 96c0 6.627-5.373 12-12 12H236c-6.627 0-12-5.373-12-12v-52h72c13.255 0 24-10.745 24-24v-72h84c6.627 0 12 5.373 12 12v136z',\n\t],\n};\nvar faObjectUngroup = {\n\tprefix: 'fas',\n\ticonName: 'object-ungroup',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f248',\n\t\t'M64 320v26a6 6 0 0 1-6 6H6a6 6 0 0 1-6-6v-52a6 6 0 0 1 6-6h26V96H6a6 6 0 0 1-6-6V38a6 6 0 0 1 6-6h52a6 6 0 0 1 6 6v26h288V38a6 6 0 0 1 6-6h52a6 6 0 0 1 6 6v52a6 6 0 0 1-6 6h-26v192h26a6 6 0 0 1 6 6v52a6 6 0 0 1-6 6h-52a6 6 0 0 1-6-6v-26H64zm480-64v-32h26a6 6 0 0 0 6-6v-52a6 6 0 0 0-6-6h-52a6 6 0 0 0-6 6v26H408v72h8c13.255 0 24 10.745 24 24v64c0 13.255-10.745 24-24 24h-64c-13.255 0-24-10.745-24-24v-8H192v72h-26a6 6 0 0 0-6 6v52a6 6 0 0 0 6 6h52a6 6 0 0 0 6-6v-26h288v26a6 6 0 0 0 6 6h52a6 6 0 0 0 6-6v-52a6 6 0 0 0-6-6h-26V256z',\n\t],\n};\nvar faOutdent = {\n\tprefix: 'fas',\n\ticonName: 'outdent',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f03b',\n\t\t'M0 84V44c0-8.837 7.163-16 16-16h416c8.837 0 16 7.163 16 16v40c0 8.837-7.163 16-16 16H16c-8.837 0-16-7.163-16-16zm208 144h224c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H208c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zM16 484h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm192-128h224c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H208c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zM4.687 267.313l96 95.984C110.734 373.348 128 366.224 128 351.984V160.008c0-14.329-17.325-21.304-27.313-11.313l-96 95.992c-6.249 6.248-6.249 16.378 0 22.626z',\n\t],\n};\nvar faPaintBrush = {\n\tprefix: 'fas',\n\ticonName: 'paint-brush',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f1fc',\n\t\t'M269.9 364.6c1.4 6.4 2.1 13 2.1 19.7 0 81.2-54.2 127.7-134.8 127.7C41.5 512 0 435.1 0 347.6c10.4 7.1 46.9 36.5 58.7 36.5 7 0 13-4 15.5-10.6 23.6-62.2 66.5-76.5 112.9-77.4 15.6 33.8 46.1 59.6 82.8 68.5zM460.6 0c-14.4 0-27.9 6.4-38.2 15.7C228.2 190 208 194.1 208 245.4c0 48.8 40.5 90.6 90.2 90.6 59 0 93.2-43.4 200.6-244.8 7-13.7 13.2-28.5 13.2-43.9C512 19.7 487.3 0 460.6 0z',\n\t],\n};\nvar faPallet = {\n\tprefix: 'fas',\n\ticonName: 'pallet',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f482',\n\t\t'M144 256h352c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H384v128l-64-32-64 32V0H144c-8.8 0-16 7.2-16 16v224c0 8.8 7.2 16 16 16zm480 128c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v64H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-48v-64h48zm-336 64H128v-64h160v64zm224 0H352v-64h160v64z',\n\t],\n};\nvar faPaperPlane = {\n\tprefix: 'fas',\n\ticonName: 'paper-plane',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f1d8',\n\t\t'M476 3.2L12.5 270.6c-18.1 10.4-15.8 35.6 2.2 43.2L121 358.4l287.3-253.2c5.5-4.9 13.3 2.6 8.6 8.3L176 407v80.5c0 23.6 28.5 32.9 42.5 15.8L282 426l124.6 52.2c14.2 6 30.4-2.9 33-18.2l72-432C515 7.8 493.3-6.8 476 3.2z',\n\t],\n};\nvar faPaperclip = {\n\tprefix: 'fas',\n\ticonName: 'paperclip',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f0c6',\n\t\t'M43.246 466.142c-58.43-60.289-57.341-157.511 1.386-217.581L254.392 34c44.316-45.332 116.351-45.336 160.671 0 43.89 44.894 43.943 117.329 0 162.276L232.214 383.128c-29.855 30.537-78.633 30.111-107.982-.998-28.275-29.97-27.368-77.473 1.452-106.953l143.743-146.835c6.182-6.314 16.312-6.422 22.626-.241l22.861 22.379c6.315 6.182 6.422 16.312.241 22.626L171.427 319.927c-4.932 5.045-5.236 13.428-.648 18.292 4.372 4.634 11.245 4.711 15.688.165l182.849-186.851c19.613-20.062 19.613-52.725-.011-72.798-19.189-19.627-49.957-19.637-69.154 0L90.39 293.295c-34.763 35.56-35.299 93.12-1.191 128.313 34.01 35.093 88.985 35.137 123.058.286l172.06-175.999c6.177-6.319 16.307-6.433 22.626-.256l22.877 22.364c6.319 6.177 6.434 16.307.256 22.626l-172.06 175.998c-59.576 60.938-155.943 60.216-214.77-.485z',\n\t],\n};\nvar faParagraph = {\n\tprefix: 'fas',\n\ticonName: 'paragraph',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f1dd',\n\t\t'M408 32H177.531C88.948 32 16.045 103.335 16 191.918 15.956 280.321 87.607 352 176 352v104c0 13.255 10.745 24 24 24h32c13.255 0 24-10.745 24-24V112h32v344c0 13.255 10.745 24 24 24h32c13.255 0 24-10.745 24-24V112h40c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24z',\n\t],\n};\nvar faPaste = {\n\tprefix: 'fas',\n\ticonName: 'paste',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f0ea',\n\t\t'M128 184c0-30.879 25.122-56 56-56h136V56c0-13.255-10.745-24-24-24h-80.61C204.306 12.89 183.637 0 160 0s-44.306 12.89-55.39 32H24C10.745 32 0 42.745 0 56v336c0 13.255 10.745 24 24 24h104V184zm32-144c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24zm184 248h104v200c0 13.255-10.745 24-24 24H184c-13.255 0-24-10.745-24-24V184c0-13.255 10.745-24 24-24h136v104c0 13.2 10.8 24 24 24zm104-38.059V256h-96v-96h6.059a24 24 0 0 1 16.97 7.029l65.941 65.941a24.002 24.002 0 0 1 7.03 16.971z',\n\t],\n};\nvar faPause = {\n\tprefix: 'fas',\n\ticonName: 'pause',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f04c',\n\t\t'M144 479H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zm304-48V79c0-26.5-21.5-48-48-48h-96c-26.5 0-48 21.5-48 48v352c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48z',\n\t],\n};\nvar faPauseCircle = {\n\tprefix: 'fas',\n\ticonName: 'pause-circle',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f28b',\n\t\t'M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm-16 328c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v160zm112 0c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v160z',\n\t],\n};\nvar faPaw = {\n\tprefix: 'fas',\n\ticonName: 'paw',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f1b0',\n\t\t'M85.231 330.958C36 330.958 0 273.792 0 231.5c0-28.292 16-58.042 49.538-58.042 49.231 0 85.231 57.458 85.231 99.75 0 28.292-15.692 57.75-49.538 57.75zm348 106.167c0 37.042-32 42.875-63.385 42.875-41.231 0-74.462-26.25-113.846-26.25-41.231 0-76.308 25.958-120.923 25.958-29.847 0-56.308-9.625-56.308-42.583C78.769 368 180.616 265.333 256 265.333s177.231 102.959 177.231 171.792zM182.462 203.792c-49.847 0-80-59.5-80-100.333C102.462 70.792 120.308 32 160 32c50.154 0 80 59.5 80 100.333 0 32.667-17.846 71.459-57.538 71.459zM272 132.333C272 91.5 301.846 32 352 32c39.692 0 57.539 38.792 57.539 71.458 0 40.833-30.154 100.333-80.001 100.333C289.846 203.792 272 165 272 132.333zM512 231.5c0 42.292-36 99.458-85.231 99.458-33.847 0-49.538-29.458-49.538-57.75 0-42.291 35.999-99.75 85.231-99.75C496 173.458 512 203.208 512 231.5z',\n\t],\n};\nvar faPenSquare = {\n\tprefix: 'fas',\n\ticonName: 'pen-square',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f14b',\n\t\t'M400 480H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zM238.1 177.9L102.4 313.6l-6.3 57.1c-.8 7.6 5.6 14.1 13.3 13.3l57.1-6.3L302.2 242c2.3-2.3 2.3-6.1 0-8.5L246.7 178c-2.5-2.4-6.3-2.4-8.6-.1zM345 165.1L314.9 135c-9.4-9.4-24.6-9.4-33.9 0l-23.1 23.1c-2.3 2.3-2.3 6.1 0 8.5l55.5 55.5c2.3 2.3 6.1 2.3 8.5 0L345 199c9.3-9.3 9.3-24.5 0-33.9z',\n\t],\n};\nvar faPencilAlt = {\n\tprefix: 'fas',\n\ticonName: 'pencil-alt',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f303',\n\t\t'M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z',\n\t],\n};\nvar faPercent = {\n\tprefix: 'fas',\n\ticonName: 'percent',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f295',\n\t\t'M112 224c61.9 0 112-50.1 112-112S173.9 0 112 0 0 50.1 0 112s50.1 112 112 112zm0-160c26.5 0 48 21.5 48 48s-21.5 48-48 48-48-21.5-48-48 21.5-48 48-48zm224 224c-61.9 0-112 50.1-112 112s50.1 112 112 112 112-50.1 112-112-50.1-112-112-112zm0 160c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zM392.3.2l31.6-.1c19.4-.1 30.9 21.8 19.7 37.8L77.4 501.6a23.95 23.95 0 0 1-19.6 10.2l-33.4.1c-19.5 0-30.9-21.9-19.7-37.8l368-463.7C377.2 4 384.5.2 392.3.2z',\n\t],\n};\nvar faPhone = {\n\tprefix: 'fas',\n\ticonName: 'phone',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f095',\n\t\t'M493.397 24.615l-104-23.997c-11.314-2.611-22.879 3.252-27.456 13.931l-48 111.997a24 24 0 0 0 6.862 28.029l60.617 49.596c-35.973 76.675-98.938 140.508-177.249 177.248l-49.596-60.616a24 24 0 0 0-28.029-6.862l-111.997 48C3.873 366.516-1.994 378.08.618 389.397l23.997 104C27.109 504.204 36.748 512 48 512c256.087 0 464-207.532 464-464 0-11.176-7.714-20.873-18.603-23.385z',\n\t],\n};\nvar faPhoneSquare = {\n\tprefix: 'fas',\n\ticonName: 'phone-square',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f098',\n\t\t'M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM94 416c-7.033 0-13.057-4.873-14.616-11.627l-14.998-65a15 15 0 0 1 8.707-17.16l69.998-29.999a15 15 0 0 1 17.518 4.289l30.997 37.885c48.944-22.963 88.297-62.858 110.781-110.78l-37.886-30.997a15.001 15.001 0 0 1-4.289-17.518l30-69.998a15 15 0 0 1 17.16-8.707l65 14.998A14.997 14.997 0 0 1 384 126c0 160.292-129.945 290-290 290z',\n\t],\n};\nvar faPhoneVolume = {\n\tprefix: 'fas',\n\ticonName: 'phone-volume',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f2a0',\n\t\t'M97.333 506.966c-129.874-129.874-129.681-340.252 0-469.933 5.698-5.698 14.527-6.632 21.263-2.422l64.817 40.513a17.187 17.187 0 0 1 6.849 20.958l-32.408 81.021a17.188 17.188 0 0 1-17.669 10.719l-55.81-5.58c-21.051 58.261-20.612 122.471 0 179.515l55.811-5.581a17.188 17.188 0 0 1 17.669 10.719l32.408 81.022a17.188 17.188 0 0 1-6.849 20.958l-64.817 40.513a17.19 17.19 0 0 1-21.264-2.422zM247.126 95.473c11.832 20.047 11.832 45.008 0 65.055-3.95 6.693-13.108 7.959-18.718 2.581l-5.975-5.726c-3.911-3.748-4.793-9.622-2.261-14.41a32.063 32.063 0 0 0 0-29.945c-2.533-4.788-1.65-10.662 2.261-14.41l5.975-5.726c5.61-5.378 14.768-4.112 18.718 2.581zm91.787-91.187c60.14 71.604 60.092 175.882 0 247.428-4.474 5.327-12.53 5.746-17.552.933l-5.798-5.557c-4.56-4.371-4.977-11.529-.93-16.379 49.687-59.538 49.646-145.933 0-205.422-4.047-4.85-3.631-12.008.93-16.379l5.798-5.557c5.022-4.813 13.078-4.394 17.552.933zm-45.972 44.941c36.05 46.322 36.108 111.149 0 157.546-4.39 5.641-12.697 6.251-17.856 1.304l-5.818-5.579c-4.4-4.219-4.998-11.095-1.285-15.931 26.536-34.564 26.534-82.572 0-117.134-3.713-4.836-3.115-11.711 1.285-15.931l5.818-5.579c5.159-4.947 13.466-4.337 17.856 1.304z',\n\t],\n};\nvar faPills = {\n\tprefix: 'fas',\n\ticonName: 'pills',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f484',\n\t\t'M112 32C50.1 32 0 82.1 0 144v224c0 61.9 50.1 112 112 112s112-50.1 112-112V144c0-61.9-50.1-112-112-112zm48 224H64V144c0-26.5 21.5-48 48-48s48 21.5 48 48v112zm139.7-29.7c-3.5-3.5-9.4-3.1-12.3.8-45.3 62.5-40.4 150.1 15.9 206.4 56.3 56.3 143.9 61.2 206.4 15.9 4-2.9 4.3-8.8.8-12.3L299.7 226.3zm229.8-19c-56.3-56.3-143.9-61.2-206.4-15.9-4 2.9-4.3 8.8-.8 12.3l210.8 210.8c3.5 3.5 9.4 3.1 12.3-.8 45.3-62.6 40.5-150.1-15.9-206.4z',\n\t],\n};\nvar faPlane = {\n\tprefix: 'fas',\n\ticonName: 'plane',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f072',\n\t\t'M472 200H360.211L256.013 5.711A12 12 0 0 0 245.793 0h-57.787c-7.85 0-13.586 7.413-11.616 15.011L209.624 200H99.766l-34.904-58.174A12 12 0 0 0 54.572 136H12.004c-7.572 0-13.252 6.928-11.767 14.353l21.129 105.648L.237 361.646c-1.485 7.426 4.195 14.354 11.768 14.353l42.568-.002c4.215 0 8.121-2.212 10.289-5.826L99.766 312h109.858L176.39 496.989c-1.97 7.599 3.766 15.011 11.616 15.011h57.787a12 12 0 0 0 10.22-5.711L360.212 312H472c57.438 0 104-25.072 104-56s-46.562-56-104-56z',\n\t],\n};\nvar faPlay = {\n\tprefix: 'fas',\n\ticonName: 'play',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f04b',\n\t\t'M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z',\n\t],\n};\nvar faPlayCircle = {\n\tprefix: 'fas',\n\ticonName: 'play-circle',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f144',\n\t\t'M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm115.7 272l-176 101c-15.8 8.8-35.7-2.5-35.7-21V152c0-18.4 19.8-29.8 35.7-21l176 107c16.4 9.2 16.4 32.9 0 42z',\n\t],\n};\nvar faPlug = {\n\tprefix: 'fas',\n\ticonName: 'plug',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f1e6',\n\t\t'M256 144V32c0-17.673 14.327-32 32-32s32 14.327 32 32v112h-64zm112 16H16c-8.837 0-16 7.163-16 16v32c0 8.837 7.163 16 16 16h16v32c0 77.406 54.969 141.971 128 156.796V512h64v-99.204c73.031-14.825 128-79.39 128-156.796v-32h16c8.837 0 16-7.163 16-16v-32c0-8.837-7.163-16-16-16zm-240-16V32c0-17.673-14.327-32-32-32S64 14.327 64 32v112h64z',\n\t],\n};\nvar faPlus = {\n\tprefix: 'fas',\n\ticonName: 'plus',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f067',\n\t\t'M448 294.2v-76.4c0-13.3-10.7-24-24-24H286.2V56c0-13.3-10.7-24-24-24h-76.4c-13.3 0-24 10.7-24 24v137.8H24c-13.3 0-24 10.7-24 24v76.4c0 13.3 10.7 24 24 24h137.8V456c0 13.3 10.7 24 24 24h76.4c13.3 0 24-10.7 24-24V318.2H424c13.3 0 24-10.7 24-24z',\n\t],\n};\nvar faPlusCircle = {\n\tprefix: 'fas',\n\ticonName: 'plus-circle',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f055',\n\t\t'M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm144 276c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92h-92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z',\n\t],\n};\nvar faPlusSquare = {\n\tprefix: 'fas',\n\ticonName: 'plus-square',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f0fe',\n\t\t'M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-32 252c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92H92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z',\n\t],\n};\nvar faPodcast = {\n\tprefix: 'fas',\n\ticonName: 'podcast',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f2ce',\n\t\t'M267.429 488.563C262.286 507.573 242.858 512 224 512c-18.857 0-38.286-4.427-43.428-23.437C172.927 460.134 160 388.898 160 355.75c0-35.156 31.142-43.75 64-43.75s64 8.594 64 43.75c0 32.949-12.871 104.179-20.571 132.813zM156.867 288.554c-18.693-18.308-29.958-44.173-28.784-72.599 2.054-49.724 42.395-89.956 92.124-91.881C274.862 121.958 320 165.807 320 220c0 26.827-11.064 51.116-28.866 68.552-2.675 2.62-2.401 6.986.628 9.187 9.312 6.765 16.46 15.343 21.234 25.363 1.741 3.654 6.497 4.66 9.449 1.891 28.826-27.043 46.553-65.783 45.511-108.565-1.855-76.206-63.595-138.208-139.793-140.369C146.869 73.753 80 139.215 80 220c0 41.361 17.532 78.7 45.55 104.989 2.953 2.771 7.711 1.77 9.453-1.887 4.774-10.021 11.923-18.598 21.235-25.363 3.029-2.2 3.304-6.566.629-9.185zM224 0C100.204 0 0 100.185 0 224c0 89.992 52.602 165.647 125.739 201.408 4.333 2.118 9.267-1.544 8.535-6.31-2.382-15.512-4.342-30.946-5.406-44.339-.146-1.836-1.149-3.486-2.678-4.512-47.4-31.806-78.564-86.016-78.187-147.347.592-96.237 79.29-174.648 175.529-174.899C320.793 47.747 400 126.797 400 224c0 61.932-32.158 116.49-80.65 147.867-.999 14.037-3.069 30.588-5.624 47.23-.732 4.767 4.203 8.429 8.535 6.31C395.227 389.727 448 314.187 448 224 448 100.205 347.815 0 224 0zm0 160c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64z',\n\t],\n};\nvar faPoundSign = {\n\tprefix: 'fas',\n\ticonName: 'pound-sign',\n\ticon: [\n\t\t320,\n\t\t512,\n\t\t[],\n\t\t'f154',\n\t\t'M308 352h-45.495c-6.627 0-12 5.373-12 12v50.848H128V288h84c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-84v-63.556c0-32.266 24.562-57.086 61.792-57.086 23.658 0 45.878 11.505 57.652 18.849 5.151 3.213 11.888 2.051 15.688-2.685l28.493-35.513c4.233-5.276 3.279-13.005-2.119-17.081C273.124 54.56 236.576 32 187.931 32 106.026 32 48 84.742 48 157.961V224H20c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h28v128H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h296c6.627 0 12-5.373 12-12V364c0-6.627-5.373-12-12-12z',\n\t],\n};\nvar faPowerOff = {\n\tprefix: 'fas',\n\ticonName: 'power-off',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f011',\n\t\t'M400 54.1c63 45 104 118.6 104 201.9 0 136.8-110.8 247.7-247.5 248C120 504.3 8.2 393 8 256.4 7.9 173.1 48.9 99.3 111.8 54.2c11.7-8.3 28-4.8 35 7.7L162.6 90c5.9 10.5 3.1 23.8-6.6 31-41.5 30.8-68 79.6-68 134.9-.1 92.3 74.5 168.1 168 168.1 91.6 0 168.6-74.2 168-169.1-.3-51.8-24.7-101.8-68.1-134-9.7-7.2-12.4-20.5-6.5-30.9l15.8-28.1c7-12.4 23.2-16.1 34.8-7.8zM296 264V24c0-13.3-10.7-24-24-24h-32c-13.3 0-24 10.7-24 24v240c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24z',\n\t],\n};\nvar faPrint = {\n\tprefix: 'fas',\n\ticonName: 'print',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f02f',\n\t\t'M464 192h-16V81.941a24 24 0 0 0-7.029-16.97L383.029 7.029A24 24 0 0 0 366.059 0H88C74.745 0 64 10.745 64 24v168H48c-26.51 0-48 21.49-48 48v132c0 6.627 5.373 12 12 12h52v104c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V384h52c6.627 0 12-5.373 12-12V240c0-26.51-21.49-48-48-48zm-80 256H128v-96h256v96zM128 224V64h192v40c0 13.2 10.8 24 24 24h40v96H128zm304 72c-13.254 0-24-10.746-24-24s10.746-24 24-24 24 10.746 24 24-10.746 24-24 24z',\n\t],\n};\nvar faPuzzlePiece = {\n\tprefix: 'fas',\n\ticonName: 'puzzle-piece',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f12e',\n\t\t'M519.442 288.651c-41.519 0-59.5 31.593-82.058 31.593C377.409 320.244 432 144 432 144s-196.288 80-196.288-3.297c0-35.827 36.288-46.25 36.288-85.985C272 19.216 243.885 0 210.539 0c-34.654 0-66.366 18.891-66.366 56.346 0 41.364 31.711 59.277 31.711 81.75C175.885 207.719 0 166.758 0 166.758v333.237s178.635 41.047 178.635-28.662c0-22.473-40-40.107-40-81.471 0-37.456 29.25-56.346 63.577-56.346 33.673 0 61.788 19.216 61.788 54.717 0 39.735-36.288 50.158-36.288 85.985 0 60.803 129.675 25.73 181.23 25.73 0 0-34.725-120.101 25.827-120.101 35.962 0 46.423 36.152 86.308 36.152C556.712 416 576 387.99 576 354.443c0-34.199-18.962-65.792-56.558-65.792z',\n\t],\n};\nvar faQrcode = {\n\tprefix: 'fas',\n\ticonName: 'qrcode',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f029',\n\t\t'M0 224h192V32H0v192zM64 96h64v64H64V96zm192-64v192h192V32H256zm128 128h-64V96h64v64zM0 480h192V288H0v192zm64-128h64v64H64v-64zm352-64h32v128h-96v-32h-32v96h-64V288h96v32h64v-32zm0 160h32v32h-32v-32zm-64 0h32v32h-32v-32z',\n\t],\n};\nvar faQuestion = {\n\tprefix: 'fas',\n\ticonName: 'question',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f128',\n\t\t'M202.021 0C122.202 0 70.503 32.703 29.914 91.026c-7.363 10.58-5.093 25.086 5.178 32.874l43.138 32.709c10.373 7.865 25.132 6.026 33.253-4.148 25.049-31.381 43.63-49.449 82.757-49.449 30.764 0 68.816 19.799 68.816 49.631 0 22.552-18.617 34.134-48.993 51.164-35.423 19.86-82.299 44.576-82.299 106.405V320c0 13.255 10.745 24 24 24h72.471c13.255 0 24-10.745 24-24v-5.773c0-42.86 125.268-44.645 125.268-160.627C377.504 66.256 286.902 0 202.021 0zM192 373.459c-38.196 0-69.271 31.075-69.271 69.271 0 38.195 31.075 69.27 69.271 69.27s69.271-31.075 69.271-69.271-31.075-69.27-69.271-69.27z',\n\t],\n};\nvar faQuestionCircle = {\n\tprefix: 'fas',\n\ticonName: 'question-circle',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f059',\n\t\t'M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zM262.655 90c-54.497 0-89.255 22.957-116.549 63.758-3.536 5.286-2.353 12.415 2.715 16.258l34.699 26.31c5.205 3.947 12.621 3.008 16.665-2.122 17.864-22.658 30.113-35.797 57.303-35.797 20.429 0 45.698 13.148 45.698 32.958 0 14.976-12.363 22.667-32.534 33.976C247.128 238.528 216 254.941 216 296v4c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12v-1.333c0-28.462 83.186-29.647 83.186-106.667 0-58.002-60.165-102-116.531-102zM256 338c-25.365 0-46 20.635-46 46 0 25.364 20.635 46 46 46s46-20.636 46-46c0-25.365-20.635-46-46-46z',\n\t],\n};\nvar faQuidditch = {\n\tprefix: 'fas',\n\ticonName: 'quidditch',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f458',\n\t\t'M256.5 216.8L343.2 326s-16.6 102.4-76.6 150.1C206.7 523.8 0 510.2 0 510.2s3.8-23.1 11-55.4l94.6-112.2c4-4.7-.9-11.6-6.6-9.5l-60.4 22.1c14.4-41.7 32.7-80 54.6-97.5 59.9-47.8 163.3-40.9 163.3-40.9zm238 135c-44 0-79.8 35.8-79.8 79.9 0 44.1 35.7 79.9 79.8 79.9 44.1 0 79.8-35.8 79.8-79.9 0-44.2-35.8-79.9-79.8-79.9zM636.5 31L616.7 6c-5.5-6.9-15.5-8-22.4-2.6L361.8 181.3l-34.1-43c-5.1-6.4-15.1-5.2-18.6 2.2l-25.3 54.6 86.7 109.2 58.8-12.4c8-1.7 11.4-11.2 6.3-17.6l-34.1-42.9L634 53.5c6.9-5.5 8-15.6 2.5-22.5z',\n\t],\n};\nvar faQuoteLeft = {\n\tprefix: 'fas',\n\ticonName: 'quote-left',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f10d',\n\t\t'M0 432V304C0 166.982 63.772 67.676 193.827 32.828 209.052 28.748 224 40.265 224 56.027v33.895c0 10.057-6.228 19.133-15.687 22.55C142.316 136.312 104 181.946 104 256h72c26.51 0 48 21.49 48 48v128c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48zm336 48h128c26.51 0 48-21.49 48-48V304c0-26.51-21.49-48-48-48h-72c0-74.054 38.316-119.688 104.313-143.528C505.772 109.055 512 99.979 512 89.922V56.027c0-15.762-14.948-27.279-30.173-23.199C351.772 67.676 288 166.982 288 304v128c0 26.51 21.49 48 48 48z',\n\t],\n};\nvar faQuoteRight = {\n\tprefix: 'fas',\n\ticonName: 'quote-right',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f10e',\n\t\t'M512 80v128c0 137.018-63.772 236.324-193.827 271.172-15.225 4.08-30.173-7.437-30.173-23.199v-33.895c0-10.057 6.228-19.133 15.687-22.55C369.684 375.688 408 330.054 408 256h-72c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h128c26.51 0 48 21.49 48 48zM176 32H48C21.49 32 0 53.49 0 80v128c0 26.51 21.49 48 48 48h72c0 74.054-38.316 119.688-104.313 143.528C6.228 402.945 0 412.021 0 422.078v33.895c0 15.762 14.948 27.279 30.173 23.199C160.228 444.324 224 345.018 224 208V80c0-26.51-21.49-48-48-48z',\n\t],\n};\nvar faRandom = {\n\tprefix: 'fas',\n\ticonName: 'random',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f074',\n\t\t'M504.971 359.029c9.373 9.373 9.373 24.569 0 33.941l-80 79.984c-15.01 15.01-40.971 4.49-40.971-16.971V416h-58.785a12.004 12.004 0 0 1-8.773-3.812l-70.556-75.596 53.333-57.143L352 336h32v-39.981c0-21.438 25.943-31.998 40.971-16.971l80 79.981zM12 176h84l52.781 56.551 53.333-57.143-70.556-75.596A11.999 11.999 0 0 0 122.785 96H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12zm372 0v39.984c0 21.46 25.961 31.98 40.971 16.971l80-79.984c9.373-9.373 9.373-24.569 0-33.941l-80-79.981C409.943 24.021 384 34.582 384 56.019V96h-58.785a12.004 12.004 0 0 0-8.773 3.812L96 336H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h110.785c3.326 0 6.503-1.381 8.773-3.812L352 176h32z',\n\t],\n};\nvar faRecycle = {\n\tprefix: 'fas',\n\ticonName: 'recycle',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f1b8',\n\t\t'M184.561 261.903c3.232 13.997-12.123 24.635-24.068 17.168l-40.736-25.455-50.867 81.402C55.606 356.273 70.96 384 96.012 384H148c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12H96.115c-75.334 0-121.302-83.048-81.408-146.88l50.822-81.388-40.725-25.448c-12.081-7.547-8.966-25.961 4.879-29.158l110.237-25.45c8.611-1.988 17.201 3.381 19.189 11.99l25.452 110.237zm98.561-182.915l41.289 66.076-40.74 25.457c-12.051 7.528-9 25.953 4.879 29.158l110.237 25.45c8.672 1.999 17.215-3.438 19.189-11.99l25.45-110.237c3.197-13.844-11.99-24.719-24.068-17.168l-40.687 25.424-41.263-66.082c-37.521-60.033-125.209-60.171-162.816 0l-17.963 28.766c-3.51 5.62-1.8 13.021 3.82 16.533l33.919 21.195c5.62 3.512 13.024 1.803 16.536-3.817l17.961-28.743c12.712-20.341 41.973-19.676 54.257-.022zM497.288 301.12l-27.515-44.065c-3.511-5.623-10.916-7.334-16.538-3.821l-33.861 21.159c-5.62 3.512-7.33 10.915-3.818 16.536l27.564 44.112c13.257 21.211-2.057 48.96-27.136 48.96H320V336.02c0-14.213-17.242-21.383-27.313-11.313l-80 79.981c-6.249 6.248-6.249 16.379 0 22.627l80 79.989C302.689 517.308 320 510.3 320 495.989V448h95.88c75.274 0 121.335-82.997 81.408-146.88z',\n\t],\n};\nvar faRedo = {\n\tprefix: 'fas',\n\ticonName: 'redo',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f01e',\n\t\t'M500.333 0h-47.411c-6.853 0-12.314 5.729-11.986 12.574l3.966 82.759C399.416 41.899 331.672 8 256.001 8 119.34 8 7.899 119.526 8 256.187 8.101 393.068 119.096 504 256 504c63.926 0 122.202-24.187 166.178-63.908 5.113-4.618 5.354-12.561.482-17.433l-33.971-33.971c-4.466-4.466-11.64-4.717-16.38-.543C341.308 415.448 300.606 432 256 432c-97.267 0-176-78.716-176-176 0-97.267 78.716-176 176-176 60.892 0 114.506 30.858 146.099 77.8l-101.525-4.865c-6.845-.328-12.574 5.133-12.574 11.986v47.411c0 6.627 5.373 12 12 12h200.333c6.627 0 12-5.373 12-12V12c0-6.627-5.373-12-12-12z',\n\t],\n};\nvar faRedoAlt = {\n\tprefix: 'fas',\n\ticonName: 'redo-alt',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f2f9',\n\t\t'M256.455 8c66.269.119 126.437 26.233 170.859 68.685l35.715-35.715C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.75c-30.864-28.899-70.801-44.907-113.23-45.273-92.398-.798-170.283 73.977-169.484 169.442C88.764 348.009 162.184 424 256 424c41.127 0 79.997-14.678 110.629-41.556 4.743-4.161 11.906-3.908 16.368.553l39.662 39.662c4.872 4.872 4.631 12.815-.482 17.433C378.202 479.813 319.926 504 256 504 119.034 504 8.001 392.967 8 256.002 7.999 119.193 119.646 7.755 256.455 8z',\n\t],\n};\nvar faRegistered = {\n\tprefix: 'fas',\n\ticonName: 'registered',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f25d',\n\t\t'M285.363 207.475c0 18.6-9.831 28.431-28.431 28.431h-29.876v-56.14h23.378c28.668 0 34.929 8.773 34.929 27.709zM504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM363.411 360.414c-46.729-84.825-43.299-78.636-44.702-80.98 23.432-15.172 37.945-42.979 37.945-74.486 0-54.244-31.5-89.252-105.498-89.252h-70.667c-13.255 0-24 10.745-24 24V372c0 13.255 10.745 24 24 24h22.567c13.255 0 24-10.745 24-24v-71.663h25.556l44.129 82.937a24.001 24.001 0 0 0 21.188 12.727h24.464c18.261-.001 29.829-19.591 21.018-35.587z',\n\t],\n};\nvar faReply = {\n\tprefix: 'fas',\n\ticonName: 'reply',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f3e5',\n\t\t'M8.309 189.836L184.313 37.851C199.719 24.546 224 35.347 224 56.015v80.053c160.629 1.839 288 34.032 288 186.258 0 61.441-39.581 122.309-83.333 154.132-13.653 9.931-33.111-2.533-28.077-18.631 45.344-145.012-21.507-183.51-176.59-185.742V360c0 20.7-24.3 31.453-39.687 18.164l-176.004-152c-11.071-9.562-11.086-26.753 0-36.328z',\n\t],\n};\nvar faReplyAll = {\n\tprefix: 'fas',\n\ticonName: 'reply-all',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f122',\n\t\t'M136.309 189.836L312.313 37.851C327.72 24.546 352 35.348 352 56.015v82.763c129.182 10.231 224 52.212 224 183.548 0 61.441-39.582 122.309-83.333 154.132-13.653 9.931-33.111-2.533-28.077-18.631 38.512-123.162-3.922-169.482-112.59-182.015v84.175c0 20.701-24.3 31.453-39.687 18.164L136.309 226.164c-11.071-9.561-11.086-26.753 0-36.328zm-128 36.328L184.313 378.15C199.7 391.439 224 380.687 224 359.986v-15.818l-108.606-93.785A55.96 55.96 0 0 1 96 207.998a55.953 55.953 0 0 1 19.393-42.38L224 71.832V56.015c0-20.667-24.28-31.469-39.687-18.164L8.309 189.836c-11.086 9.575-11.071 26.767 0 36.328z',\n\t],\n};\nvar faRetweet = {\n\tprefix: 'fas',\n\ticonName: 'retweet',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f079',\n\t\t'M629.657 343.598L528.971 444.284c-9.373 9.372-24.568 9.372-33.941 0L394.343 343.598c-9.373-9.373-9.373-24.569 0-33.941l10.823-10.823c9.562-9.562 25.133-9.34 34.419.492L480 342.118V160H292.451a24.005 24.005 0 0 1-16.971-7.029l-16-16C244.361 121.851 255.069 96 276.451 96H520c13.255 0 24 10.745 24 24v222.118l40.416-42.792c9.285-9.831 24.856-10.054 34.419-.492l10.823 10.823c9.372 9.372 9.372 24.569-.001 33.941zm-265.138 15.431A23.999 23.999 0 0 0 347.548 352H160V169.881l40.416 42.792c9.286 9.831 24.856 10.054 34.419.491l10.822-10.822c9.373-9.373 9.373-24.569 0-33.941L144.971 67.716c-9.373-9.373-24.569-9.373-33.941 0L10.343 168.402c-9.373 9.373-9.373 24.569 0 33.941l10.822 10.822c9.562 9.562 25.133 9.34 34.419-.491L96 169.881V392c0 13.255 10.745 24 24 24h243.549c21.382 0 32.09-25.851 16.971-40.971l-16.001-16z',\n\t],\n};\nvar faRoad = {\n\tprefix: 'fas',\n\ticonName: 'road',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f018',\n\t\t'M567.3 383.6L429.9 78.2C426 69.5 417.4 64 408 64h-96.1l1.9 18.8c.7 7.1-4.8 13.2-11.9 13.2H274c-7.1 0-12.7-6.2-11.9-13.2L264 64h-96c-9.4 0-18 5.5-21.9 14.2L8.7 383.6C3.2 395.8 0 409.6 0 424c0 13.3 10.7 24 24 24h213.6c-7.1 0-12.7-6.2-11.9-13.2l10.8-104c.6-6.1 5.8-10.8 11.9-10.8h79.2c6.1 0 11.3 4.6 11.9 10.8l10.8 104c.7 7.1-4.8 13.2-11.9 13.2H552c13.2 0 24-10.7 24-24 0-13.9-3-27.7-8.7-40.4zM254.7 154.8l3.3-32c.6-6.1 5.8-10.8 11.9-10.8h36.2c6.1 0 11.3 4.6 11.9 10.8l3.3 32c.7 7.1-4.8 13.2-11.9 13.2h-42.8c-7.1 0-12.7-6.2-11.9-13.2zM321.8 288h-67.6c-7.1 0-12.7-6.2-11.9-13.2l7.4-72c.6-6.1 5.8-10.8 11.9-10.8h52.7c6.1 0 11.3 4.6 11.9 10.8l7.4 72c.9 7-4.7 13.2-11.8 13.2z',\n\t],\n};\nvar faRocket = {\n\tprefix: 'fas',\n\ticonName: 'rocket',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f135',\n\t\t'M505.1 19.1C503.8 13 499 8.2 492.9 6.9 460.7 0 435.5 0 410.4 0 307.2 0 245.3 55.2 199.1 128H94.9c-18.2 0-34.8 10.3-42.9 26.5L2.6 253.3c-8 16 3.6 34.7 21.5 34.7h95.1c-5.9 12.8-11.9 25.5-18 37.7-3.1 6.2-1.9 13.6 3 18.5l63.6 63.6c4.9 4.9 12.3 6.1 18.5 3 12.2-6.1 24.9-12 37.7-17.9V488c0 17.8 18.8 29.4 34.7 21.5l98.7-49.4c16.3-8.1 26.5-24.8 26.5-42.9V312.8c72.6-46.3 128-108.4 128-211.1.1-25.2.1-50.4-6.8-82.6zM400 160c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z',\n\t],\n};\nvar faRss = {\n\tprefix: 'fas',\n\ticonName: 'rss',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f09e',\n\t\t'M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z',\n\t],\n};\nvar faRssSquare = {\n\tprefix: 'fas',\n\ticonName: 'rss-square',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f143',\n\t\t'M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM112 416c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm157.533 0h-34.335c-6.011 0-11.051-4.636-11.442-10.634-5.214-80.05-69.243-143.92-149.123-149.123-5.997-.39-10.633-5.431-10.633-11.441v-34.335c0-6.535 5.468-11.777 11.994-11.425 110.546 5.974 198.997 94.536 204.964 204.964.352 6.526-4.89 11.994-11.425 11.994zm103.027 0h-34.334c-6.161 0-11.175-4.882-11.427-11.038-5.598-136.535-115.204-246.161-251.76-251.76C68.882 152.949 64 147.935 64 141.774V107.44c0-6.454 5.338-11.664 11.787-11.432 167.83 6.025 302.21 141.191 308.205 308.205.232 6.449-4.978 11.787-11.432 11.787z',\n\t],\n};\nvar faRubleSign = {\n\tprefix: 'fas',\n\ticonName: 'ruble-sign',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f158',\n\t\t'M239.36 320C324.48 320 384 260.542 384 175.071S324.48 32 239.36 32H76c-6.627 0-12 5.373-12 12v206.632H12c-6.627 0-12 5.373-12 12V308c0 6.627 5.373 12 12 12h52v32H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h52v52c0 6.627 5.373 12 12 12h58.56c6.627 0 12-5.373 12-12v-52H308c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12H146.56v-32h92.8zm-92.8-219.252h78.72c46.72 0 74.88 29.11 74.88 74.323 0 45.832-28.16 75.561-76.16 75.561h-77.44V100.748z',\n\t],\n};\nvar faRupeeSign = {\n\tprefix: 'fas',\n\ticonName: 'rupee-sign',\n\ticon: [\n\t\t320,\n\t\t512,\n\t\t[],\n\t\t'f156',\n\t\t'M308 96c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v44.748c0 6.627 5.373 12 12 12h85.28c27.308 0 48.261 9.958 60.97 27.252H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h158.757c-6.217 36.086-32.961 58.632-74.757 58.632H12c-6.627 0-12 5.373-12 12v53.012c0 3.349 1.4 6.546 3.861 8.818l165.052 152.356a12.001 12.001 0 0 0 8.139 3.182h82.562c10.924 0 16.166-13.408 8.139-20.818L116.871 319.906c76.499-2.34 131.144-53.395 138.318-127.906H308c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-58.69c-3.486-11.541-8.28-22.246-14.252-32H308z',\n\t],\n};\nvar faSave = {\n\tprefix: 'fas',\n\ticonName: 'save',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f0c7',\n\t\t'M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM224 416c-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64zm96-304.52V212c0 6.627-5.373 12-12 12H76c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h228.52c3.183 0 6.235 1.264 8.485 3.515l3.48 3.48A11.996 11.996 0 0 1 320 111.48z',\n\t],\n};\nvar faSearch = {\n\tprefix: 'fas',\n\ticonName: 'search',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f002',\n\t\t'M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z',\n\t],\n};\nvar faSearchMinus = {\n\tprefix: 'fas',\n\ticonName: 'search-minus',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f010',\n\t\t'M304 192v32c0 6.6-5.4 12-12 12H124c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm201 284.7L476.7 505c-9.4 9.4-24.6 9.4-33.9 0L343 405.3c-4.5-4.5-7-10.6-7-17V372c-35.3 27.6-79.7 44-128 44C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208c0 48.3-16.4 92.7-44 128h16.3c6.4 0 12.5 2.5 17 7l99.7 99.7c9.3 9.4 9.3 24.6 0 34zM344 208c0-75.2-60.8-136-136-136S72 132.8 72 208s60.8 136 136 136 136-60.8 136-136z',\n\t],\n};\nvar faSearchPlus = {\n\tprefix: 'fas',\n\ticonName: 'search-plus',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f00e',\n\t\t'M304 192v32c0 6.6-5.4 12-12 12h-56v56c0 6.6-5.4 12-12 12h-32c-6.6 0-12-5.4-12-12v-56h-56c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h56v-56c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v56h56c6.6 0 12 5.4 12 12zm201 284.7L476.7 505c-9.4 9.4-24.6 9.4-33.9 0L343 405.3c-4.5-4.5-7-10.6-7-17V372c-35.3 27.6-79.7 44-128 44C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208c0 48.3-16.4 92.7-44 128h16.3c6.4 0 12.5 2.5 17 7l99.7 99.7c9.3 9.4 9.3 24.6 0 34zM344 208c0-75.2-60.8-136-136-136S72 132.8 72 208s60.8 136 136 136 136-60.8 136-136z',\n\t],\n};\nvar faServer = {\n\tprefix: 'fas',\n\ticonName: 'server',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f233',\n\t\t'M480 160H32c-17.673 0-32-14.327-32-32V64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24z',\n\t],\n};\nvar faShare = {\n\tprefix: 'fas',\n\ticonName: 'share',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f064',\n\t\t'M503.691 189.836L327.687 37.851C312.281 24.546 288 35.347 288 56.015v80.053C127.371 137.907 0 170.1 0 322.326c0 61.441 39.581 122.309 83.333 154.132 13.653 9.931 33.111-2.533 28.077-18.631C66.066 312.814 132.917 274.316 288 272.085V360c0 20.7 24.3 31.453 39.687 18.164l176.004-152c11.071-9.562 11.086-26.753 0-36.328z',\n\t],\n};\nvar faShareAlt = {\n\tprefix: 'fas',\n\ticonName: 'share-alt',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f1e0',\n\t\t'M352 320c-22.608 0-43.387 7.819-59.79 20.895l-102.486-64.054a96.551 96.551 0 0 0 0-41.683l102.486-64.054C308.613 184.181 329.392 192 352 192c53.019 0 96-42.981 96-96S405.019 0 352 0s-96 42.981-96 96c0 7.158.79 14.13 2.276 20.841L155.79 180.895C139.387 167.819 118.608 160 96 160c-53.019 0-96 42.981-96 96s42.981 96 96 96c22.608 0 43.387-7.819 59.79-20.895l102.486 64.054A96.301 96.301 0 0 0 256 416c0 53.019 42.981 96 96 96s96-42.981 96-96-42.981-96-96-96z',\n\t],\n};\nvar faShareAltSquare = {\n\tprefix: 'fas',\n\ticonName: 'share-alt-square',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f1e1',\n\t\t'M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zM304 296c-14.562 0-27.823 5.561-37.783 14.671l-67.958-40.775a56.339 56.339 0 0 0 0-27.793l67.958-40.775C276.177 210.439 289.438 216 304 216c30.928 0 56-25.072 56-56s-25.072-56-56-56-56 25.072-56 56c0 4.797.605 9.453 1.74 13.897l-67.958 40.775C171.823 205.561 158.562 200 144 200c-30.928 0-56 25.072-56 56s25.072 56 56 56c14.562 0 27.823-5.561 37.783-14.671l67.958 40.775a56.088 56.088 0 0 0-1.74 13.897c0 30.928 25.072 56 56 56s56-25.072 56-56C360 321.072 334.928 296 304 296z',\n\t],\n};\nvar faShareSquare = {\n\tprefix: 'fas',\n\ticonName: 'share-square',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f14d',\n\t\t'M568.482 177.448L424.479 313.433C409.3 327.768 384 317.14 384 295.985v-71.963c-144.575.97-205.566 35.113-164.775 171.353 4.483 14.973-12.846 26.567-25.006 17.33C155.252 383.105 120 326.488 120 269.339c0-143.937 117.599-172.5 264-173.312V24.012c0-21.174 25.317-31.768 40.479-17.448l144.003 135.988c10.02 9.463 10.028 25.425 0 34.896zM384 379.128V448H64V128h50.916a11.99 11.99 0 0 0 8.648-3.693c14.953-15.568 32.237-27.89 51.014-37.676C185.708 80.83 181.584 64 169.033 64H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48v-88.806c0-8.288-8.197-14.066-16.011-11.302a71.83 71.83 0 0 1-34.189 3.377c-7.27-1.046-13.8 4.514-13.8 11.859z',\n\t],\n};\nvar faShekelSign = {\n\tprefix: 'fas',\n\ticonName: 'shekel-sign',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f20b',\n\t\t'M170.12 96H80v372c0 6.627-5.373 12-12 12H12c-6.627 0-12-5.373-12-12V44c0-6.627 5.373-12 12-12h168.36C265.48 32 325 89.6 325 175.071V359c0 6.627-5.373 12-12 12h-44c-13.255 0-24-10.745-24-24V170.323C245 125.11 216.839 96 170.12 96zM436 32h-56c-6.627 0-12 5.373-12 12v372h-90.12c-46.72 0-74.88-29.11-74.88-74.323V165c0-13.255-10.745-24-24-24h-44c-6.627 0-12 5.373-12 12v183.929C123 422.4 182.52 480 267.64 480H436c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12z',\n\t],\n};\nvar faShieldAlt = {\n\tprefix: 'fas',\n\ticonName: 'shield-alt',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f3ed',\n\t\t'M496 128c0 221.282-135.934 344.645-221.539 380.308a48 48 0 0 1-36.923 0C130.495 463.713 16 326.487 16 128a48 48 0 0 1 29.539-44.308l192-80a48 48 0 0 1 36.923 0l192 80A48 48 0 0 1 496 128zM256 446.313l.066.034c93.735-46.689 172.497-156.308 175.817-307.729L256 65.333v380.98z',\n\t],\n};\nvar faShip = {\n\tprefix: 'fas',\n\ticonName: 'ship',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f21a',\n\t\t'M496.616 372.639l70.012-70.012c16.899-16.9 9.942-45.771-12.836-53.092L512 236.102V96c0-17.673-14.327-32-32-32h-64V24c0-13.255-10.745-24-24-24H248c-13.255 0-24 10.745-24 24v40h-64c-17.673 0-32 14.327-32 32v140.102l-41.792 13.433c-22.753 7.313-29.754 36.173-12.836 53.092l70.012 70.012C125.828 416.287 85.587 448 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24 61.023 0 107.499-20.61 143.258-59.396C181.677 487.432 216.021 512 256 512h128c39.979 0 74.323-24.568 88.742-59.396C508.495 491.384 554.968 512 616 512c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24-60.817 0-101.542-31.001-119.384-75.361zM192 128h256v87.531l-118.208-37.995a31.995 31.995 0 0 0-19.584 0L192 215.531V128z',\n\t],\n};\nvar faShippingFast = {\n\tprefix: 'fas',\n\ticonName: 'shipping-fast',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f48b',\n\t\t'M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H112C85.5 0 64 21.5 64 48v48H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h272c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H40c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h208c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h208c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H64v128c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm320 0c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z',\n\t],\n};\nvar faShoppingBag = {\n\tprefix: 'fas',\n\ticonName: 'shopping-bag',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f290',\n\t\t'M352 160v-32C352 57.42 294.579 0 224 0 153.42 0 96 57.42 96 128v32H0v272c0 44.183 35.817 80 80 80h288c44.183 0 80-35.817 80-80V160h-96zm-192-32c0-35.29 28.71-64 64-64s64 28.71 64 64v32H160v-32zm160 120c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zm-192 0c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24z',\n\t],\n};\nvar faShoppingBasket = {\n\tprefix: 'fas',\n\ticonName: 'shopping-basket',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f291',\n\t\t'M576 216v16c0 13.255-10.745 24-24 24h-8l-26.113 182.788C514.509 462.435 494.257 480 470.37 480H105.63c-23.887 0-44.139-17.565-47.518-41.212L32 256h-8c-13.255 0-24-10.745-24-24v-16c0-13.255 10.745-24 24-24h67.341l106.78-146.821c10.395-14.292 30.407-17.453 44.701-7.058 14.293 10.395 17.453 30.408 7.058 44.701L170.477 192h235.046L326.12 82.821c-10.395-14.292-7.234-34.306 7.059-44.701 14.291-10.395 34.306-7.235 44.701 7.058L484.659 192H552c13.255 0 24 10.745 24 24zM312 392V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24zm112 0V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24zm-224 0V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24z',\n\t],\n};\nvar faShoppingCart = {\n\tprefix: 'fas',\n\ticonName: 'shopping-cart',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f07a',\n\t\t'M528.12 301.319l47.273-208C578.806 78.301 567.391 64 551.99 64H159.208l-9.166-44.81C147.758 8.021 137.93 0 126.529 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24h69.883l70.248 343.435C147.325 417.1 136 435.222 136 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-15.674-6.447-29.835-16.824-40h209.647C430.447 426.165 424 440.326 424 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-22.172-12.888-41.332-31.579-50.405l5.517-24.276c3.413-15.018-8.002-29.319-23.403-29.319H218.117l-6.545-32h293.145c11.206 0 20.92-7.754 23.403-18.681z',\n\t],\n};\nvar faShower = {\n\tprefix: 'fas',\n\ticonName: 'shower',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f2cc',\n\t\t'M389.66 135.6L231.6 293.66c-9.37 9.37-24.57 9.37-33.94 0l-11.32-11.32c-9.37-9.37-9.37-24.57 0-33.94l.11-.11c-34.03-40.21-35.16-98.94-3.39-140.38-11.97-7.55-26.14-11.91-41.3-11.91C98.88 96 64 130.88 64 173.76V480H0V173.76C0 95.59 63.59 32 141.76 32c36.93 0 70.61 14.2 95.86 37.42 35.9-11.51 76.5-4.5 106.67 21.03l.11-.11c9.37-9.37 24.57-9.37 33.94 0l11.32 11.32c9.37 9.37 9.37 24.57 0 33.94zM384 208c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm32 0c0-8.837 7.163-16 16-16s16 7.163 16 16-7.163 16-16 16-16-7.163-16-16zm96 0c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm-160 32c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm48-16c8.837 0 16 7.163 16 16s-7.163 16-16 16-16-7.163-16-16 7.163-16 16-16zm80 16c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm-160 32c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm32 0c0-8.837 7.163-16 16-16s16 7.163 16 16-7.163 16-16 16-16-7.163-16-16zm96 0c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm-128 32c0-8.837 7.163-16 16-16s16 7.163 16 16-7.163 16-16 16-16-7.163-16-16zm96 0c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm-96 32c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm64 0c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm-32 32c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm-32 32c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16z',\n\t],\n};\nvar faSignInAlt = {\n\tprefix: 'fas',\n\ticonName: 'sign-in-alt',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f2f6',\n\t\t'M416 448h-84c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h84c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32h-84c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h84c53 0 96 43 96 96v192c0 53-43 96-96 96zm-47-201L201 79c-15-15-41-4.5-41 17v96H24c-13.3 0-24 10.7-24 24v96c0 13.3 10.7 24 24 24h136v96c0 21.5 26 32 41 17l168-168c9.3-9.4 9.3-24.6 0-34z',\n\t],\n};\nvar faSignLanguage = {\n\tprefix: 'fas',\n\ticonName: 'sign-language',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f2a7',\n\t\t'M91.434 483.987c-.307-16.018 13.109-29.129 29.13-29.129h62.293v-5.714H56.993c-16.021 0-29.437-13.111-29.13-29.129C28.16 404.491 40.835 392 56.428 392h126.429v-5.714H29.136c-16.021 0-29.437-13.111-29.13-29.129.297-15.522 12.973-28.013 28.566-28.013h154.286v-5.714H57.707c-16.021 0-29.437-13.111-29.13-29.129.297-15.522 12.973-28.013 28.566-28.013h168.566l-31.085-22.606c-12.762-9.281-15.583-27.149-6.302-39.912 9.281-12.761 27.15-15.582 39.912-6.302l123.361 89.715a34.287 34.287 0 0 1 14.12 27.728v141.136c0 15.91-10.946 29.73-26.433 33.374l-80.471 18.934a137.16 137.16 0 0 1-31.411 3.646H120c-15.593-.001-28.269-12.492-28.566-28.014zm73.249-225.701h36.423l-11.187-8.136c-18.579-13.511-20.313-40.887-3.17-56.536l-13.004-16.7c-9.843-12.641-28.43-15.171-40.88-5.088-12.065 9.771-14.133 27.447-4.553 39.75l36.371 46.71zm283.298-2.103l-5.003-152.452c-.518-15.771-13.722-28.136-29.493-27.619-15.773.518-28.137 13.722-27.619 29.493l1.262 38.415L283.565 11.019c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l76.889 98.745-4.509 3.511-94.79-121.734c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l94.443 121.288-4.509 3.511-77.675-99.754c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l52.053 66.849c12.497-8.257 29.055-8.285 41.69.904l123.36 89.714c10.904 7.93 17.415 20.715 17.415 34.198v16.999l61.064-47.549a34.285 34.285 0 0 0 13.202-28.177z',\n\t],\n};\nvar faSignOutAlt = {\n\tprefix: 'fas',\n\ticonName: 'sign-out-alt',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f2f5',\n\t\t'M497 273L329 441c-15 15-41 4.5-41-17v-96H152c-13.3 0-24-10.7-24-24v-96c0-13.3 10.7-24 24-24h136V88c0-21.4 25.9-32 41-17l168 168c9.3 9.4 9.3 24.6 0 34zM192 436v-40c0-6.6-5.4-12-12-12H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h84c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12H96c-53 0-96 43-96 96v192c0 53 43 96 96 96h84c6.6 0 12-5.4 12-12z',\n\t],\n};\nvar faSignal = {\n\tprefix: 'fas',\n\ticonName: 'signal',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f012',\n\t\t'M36 384h56c6.6 0 12 5.4 12 12v104c0 6.6-5.4 12-12 12H36c-6.6 0-12-5.4-12-12V396c0-6.6 5.4-12 12-12zm116-36v152c0 6.6 5.4 12 12 12h56c6.6 0 12-5.4 12-12V348c0-6.6-5.4-12-12-12h-56c-6.6 0-12 5.4-12 12zm128-80v232c0 6.6 5.4 12 12 12h56c6.6 0 12-5.4 12-12V268c0-6.6-5.4-12-12-12h-56c-6.6 0-12 5.4-12 12zm128-112v344c0 6.6 5.4 12 12 12h56c6.6 0 12-5.4 12-12V156c0-6.6-5.4-12-12-12h-56c-6.6 0-12 5.4-12 12zM536 12v488c0 6.6 5.4 12 12 12h56c6.6 0 12-5.4 12-12V12c0-6.6-5.4-12-12-12h-56c-6.6 0-12 5.4-12 12z',\n\t],\n};\nvar faSitemap = {\n\tprefix: 'fas',\n\ticonName: 'sitemap',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f0e8',\n\t\t'M616 320h-48v-48c0-22.056-17.944-40-40-40H344v-40h48c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H248c-13.255 0-24 10.745-24 24v144c0 13.255 10.745 24 24 24h48v40H112c-22.056 0-40 17.944-40 40v48H24c-13.255 0-24 10.745-24 24v144c0 13.255 10.745 24 24 24h144c13.255 0 24-10.745 24-24V344c0-13.255-10.745-24-24-24h-48v-40h176v40h-48c-13.255 0-24 10.745-24 24v144c0 13.255 10.745 24 24 24h144c13.255 0 24-10.745 24-24V344c0-13.255-10.745-24-24-24h-48v-40h176v40h-48c-13.255 0-24 10.745-24 24v144c0 13.255 10.745 24 24 24h144c13.255 0 24-10.745 24-24V344c0-13.255-10.745-24-24-24z',\n\t],\n};\nvar faSlidersH = {\n\tprefix: 'fas',\n\ticonName: 'sliders-h',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f1de',\n\t\t'M576 80v40c0 6.6-5.4 12-12 12H160v8c0 13.3-10.7 24-24 24h-16c-13.3 0-24-10.7-24-24v-8H12c-6.6 0-12-5.4-12-12V80c0-6.6 5.4-12 12-12h84v-8c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24v8h404c6.6 0 12 5.4 12 12zm-12 148h-84v-8c0-13.3-10.7-24-24-24h-16c-13.3 0-24 10.7-24 24v8H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h404v8c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24v-8h84c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12zm0 160H288v-8c0-13.3-10.7-24-24-24h-16c-13.3 0-24 10.7-24 24v8H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h212v8c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24v-8h276c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12z',\n\t],\n};\nvar faSmile = {\n\tprefix: 'fas',\n\ticonName: 'smile',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f118',\n\t\t'M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-122.526 75.34c11.479-17.755-15.349-35.194-26.873-17.374-53.418 82.627-143.71 82.681-197.164 0-11.502-17.79-38.364-.401-26.873 17.374 66.014 102.107 184.795 102.265 250.91 0zM108 192c0 37.497 30.503 68 68 68s68-30.503 68-68-30.503-68-68-68-68 30.503-68 68zm160.5 0c0 37.221 30.279 67.5 67.5 67.5s67.5-30.279 67.5-67.5-30.279-67.5-67.5-67.5-67.5 30.279-67.5 67.5zm67.5-48a47.789 47.789 0 0 0-22.603 5.647h.015c10.916 0 19.765 8.849 19.765 19.765s-8.849 19.765-19.765 19.765-19.765-8.849-19.765-19.765v-.015A47.789 47.789 0 0 0 288 192c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48zm-160 0a47.789 47.789 0 0 0-22.603 5.647h.015c10.916 0 19.765 8.849 19.765 19.765s-8.849 19.765-19.765 19.765-19.765-8.849-19.765-19.765v-.015A47.789 47.789 0 0 0 128 192c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48z',\n\t],\n};\nvar faSnowflake = {\n\tprefix: 'fas',\n\ticonName: 'snowflake',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f2dc',\n\t\t'M444.816 301.639a24.12 24.12 0 0 0 2.661-16.978c-2.725-12.966-15.339-21.245-28.174-18.492l-87.407 25.046L264 256l67.896-35.215 87.407 25.046c12.835 2.753 25.449-5.526 28.174-18.492 2.725-12.966-5.471-25.708-18.305-28.461l-47.477-7.137 53.077-30.956c11.363-6.627 15.257-21.306 8.696-32.785-6.561-11.479-21.091-15.412-32.454-8.785l-53.077 30.956 17.621-45.104c4.057-12.606-2.768-26.146-15.247-30.245-12.478-4.099-25.883 2.797-29.94 15.402l-22.232 88.99-60.38 35.215V144l65.175-63.945c8.778-9.852 7.987-25.027-1.766-33.894-9.753-8.867-24.775-8.068-33.552 1.784l-29.857 37.967V24c0-13.255-10.637-24-23.758-24s-23.758 10.745-23.758 24v61.912l-29.857-37.967c-8.779-9.852-23.799-10.652-33.552-1.784-9.753 8.867-10.543 24.042-1.766 33.894L200.242 144v70.431l-60.38-35.215-22.232-88.99c-4.057-12.605-17.462-19.501-29.94-15.402-12.478 4.099-19.304 17.64-15.247 30.245l17.62 45.104-53.077-30.956c-11.363-6.627-25.893-2.694-32.454 8.785s-2.667 26.157 8.696 32.785l53.077 30.956-47.477 7.137C5.993 201.634-2.203 214.375.523 227.341c2.725 12.965 15.339 21.245 28.174 18.492l87.407-25.046L184 256l-67.896 35.215-87.406-25.045c-12.835-2.753-25.449 5.526-28.174 18.492-2.725 12.967 5.47 25.708 18.305 28.461l47.477 7.137-53.077 30.956C1.866 357.843-2.027 372.521 4.533 384s21.091 15.412 32.454 8.785l53.077-30.956-17.62 45.104a24.157 24.157 0 0 0 2.022 19.428c2.831 4.953 7.416 8.909 13.224 10.816 12.478 4.099 25.883-2.797 29.94-15.402l22.232-88.99 60.38-35.215V368l-65.175 63.945c-8.778 9.852-7.987 25.027 1.766 33.894 9.754 8.868 24.774 8.068 33.552-1.784l29.857-37.967V488c0 13.255 10.637 24 23.758 24s23.758-10.745 23.758-24v-61.912l29.857 37.967A23.59 23.59 0 0 0 295.282 472a23.534 23.534 0 0 0 15.885-6.161c9.753-8.867 10.544-24.042 1.766-33.894L247.758 368v-70.431l60.38 35.215 22.232 88.99c4.057 12.605 17.462 19.501 29.94 15.402 12.479-4.099 19.304-17.64 15.247-30.245l-17.621-45.104 53.077 30.956c11.363 6.627 25.893 2.694 32.454-8.785s2.667-26.157-8.696-32.785l-53.077-30.956 47.477-7.137c6.86-1.469 12.394-5.793 15.645-11.481z',\n\t],\n};\nvar faSort = {\n\tprefix: 'fas',\n\ticonName: 'sort',\n\ticon: [\n\t\t320,\n\t\t512,\n\t\t[],\n\t\t'f0dc',\n\t\t'M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41zm255-105L177 64c-9.4-9.4-24.6-9.4-33.9 0L24 183c-15.1 15.1-4.4 41 17 41h238c21.4 0 32.1-25.9 17-41z',\n\t],\n};\nvar faSortAlphaDown = {\n\tprefix: 'fas',\n\ticonName: 'sort-alpha-down',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f15d',\n\t\t'M187.298 395.314l-79.984 80.002c-6.248 6.247-16.383 6.245-22.627 0L4.705 395.314C-5.365 385.244 1.807 368 16.019 368H64V48c0-8.837 7.163-16 16-16h32c8.837 0 16 7.163 16 16v320h47.984c14.241 0 21.363 17.264 11.314 27.314zm119.075-180.007A12 12 0 0 1 294.838 224h-35.717c-8.22 0-14.007-8.078-11.362-15.861l57.096-168A12 12 0 0 1 316.217 32h39.566c5.139 0 9.708 3.273 11.362 8.139l57.096 168C426.886 215.922 421.1 224 412.879 224h-35.735a12 12 0 0 1-11.515-8.622l-8.301-28.299h-42.863l-8.092 28.228zm22.857-78.697h13.367l-6.6-22.937-6.767 22.937zm12.575 287.323l67.451-95.698a12 12 0 0 0 2.192-6.913V300c0-6.627-5.373-12-12-12H274.522c-6.627 0-12 5.373-12 12v28.93c0 6.627 5.373 12 12 12h56.469c-.739.991-1.497 2.036-2.27 3.133l-67.203 95.205a12.001 12.001 0 0 0-2.196 6.92V468c0 6.627 5.373 12 12 12h129.355c6.627 0 12-5.373 12-12v-28.93c0-6.627-5.373-12-12-12h-61.146c.74-.993 1.5-2.039 2.274-3.137z',\n\t],\n};\nvar faSortAlphaUp = {\n\tprefix: 'fas',\n\ticonName: 'sort-alpha-up',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f15e',\n\t\t'M4.702 116.686l79.984-80.002c6.248-6.247 16.383-6.245 22.627 0l79.981 80.002c10.07 10.07 2.899 27.314-11.314 27.314H128v320c0 8.837-7.163 16-16 16H80c-8.837 0-16-7.163-16-16V144H16.016c-14.241 0-21.363-17.264-11.314-27.314zm301.671 98.621A12 12 0 0 1 294.838 224h-35.717c-8.22 0-14.007-8.078-11.362-15.861l57.096-168A12 12 0 0 1 316.217 32h39.566c5.139 0 9.708 3.273 11.362 8.139l57.096 168C426.886 215.922 421.1 224 412.879 224h-35.735a12 12 0 0 1-11.515-8.622l-8.301-28.299h-42.863l-8.092 28.228zm22.857-78.697h13.367l-6.6-22.937-6.767 22.937zm12.575 287.323l67.451-95.698a12 12 0 0 0 2.192-6.913V300c0-6.627-5.373-12-12-12H274.522c-6.627 0-12 5.373-12 12v28.93c0 6.627 5.373 12 12 12h56.469c-.739.991-1.497 2.036-2.27 3.133l-67.203 95.205a12.001 12.001 0 0 0-2.196 6.92V468c0 6.627 5.373 12 12 12h129.355c6.627 0 12-5.373 12-12v-28.93c0-6.627-5.373-12-12-12h-61.146c.74-.993 1.5-2.039 2.274-3.137z',\n\t],\n};\nvar faSortAmountDown = {\n\tprefix: 'fas',\n\ticonName: 'sort-amount-down',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f160',\n\t\t'M187.298 395.314l-79.984 80.002c-6.248 6.247-16.383 6.245-22.627 0L4.705 395.314C-5.365 385.244 1.807 368 16.019 368H64V48c0-8.837 7.163-16 16-16h32c8.837 0 16 7.163 16 16v320h47.984c14.241 0 21.363 17.264 11.314 27.314zM240 96h256c8.837 0 16-7.163 16-16V48c0-8.837-7.163-16-16-16H240c-8.837 0-16 7.163-16 16v32c0 8.837 7.163 16 16 16zm-16 112v-32c0-8.837 7.163-16 16-16h192c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H240c-8.837 0-16-7.163-16-16zm0 256v-32c0-8.837 7.163-16 16-16h64c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16h-64c-8.837 0-16-7.163-16-16zm0-128v-32c0-8.837 7.163-16 16-16h128c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H240c-8.837 0-16-7.163-16-16z',\n\t],\n};\nvar faSortAmountUp = {\n\tprefix: 'fas',\n\ticonName: 'sort-amount-up',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f161',\n\t\t'M4.702 116.686l79.984-80.002c6.248-6.247 16.383-6.245 22.627 0l79.981 80.002c10.07 10.07 2.899 27.314-11.314 27.314H128v320c0 8.837-7.163 16-16 16H80c-8.837 0-16-7.163-16-16V144H16.016c-14.241 0-21.363-17.264-11.314-27.314zM240 96h256c8.837 0 16-7.163 16-16V48c0-8.837-7.163-16-16-16H240c-8.837 0-16 7.163-16 16v32c0 8.837 7.163 16 16 16zm-16 112v-32c0-8.837 7.163-16 16-16h192c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H240c-8.837 0-16-7.163-16-16zm0 256v-32c0-8.837 7.163-16 16-16h64c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16h-64c-8.837 0-16-7.163-16-16zm0-128v-32c0-8.837 7.163-16 16-16h128c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H240c-8.837 0-16-7.163-16-16z',\n\t],\n};\nvar faSortDown = {\n\tprefix: 'fas',\n\ticonName: 'sort-down',\n\ticon: [\n\t\t320,\n\t\t512,\n\t\t[],\n\t\t'f0dd',\n\t\t'M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41z',\n\t],\n};\nvar faSortNumericDown = {\n\tprefix: 'fas',\n\ticonName: 'sort-numeric-down',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f162',\n\t\t'M308.811 113.787l-19.448-20.795c-4.522-4.836-4.274-12.421.556-16.95l43.443-40.741a11.999 11.999 0 0 1 8.209-3.247h31.591c6.627 0 12 5.373 12 12v127.07h25.66c6.627 0 12 5.373 12 12v28.93c0 6.627-5.373 12-12 12H301.649c-6.627 0-12-5.373-12-12v-28.93c0-6.627 5.373-12 12-12h25.414v-57.938c-7.254 6.58-14.211 4.921-18.252.601zm-30.57 238.569c0-32.653 23.865-67.356 68.094-67.356 38.253 0 79.424 28.861 79.424 92.228 0 51.276-32.237 105.772-91.983 105.772-17.836 0-30.546-3.557-38.548-6.781-5.79-2.333-8.789-8.746-6.922-14.703l9.237-29.48c2.035-6.496 9.049-9.983 15.467-7.716 13.029 4.602 27.878 5.275 38.103-4.138-38.742 5.072-72.872-25.36-72.872-67.826zm92.273 19.338c0-22.285-15.302-36.505-25.835-36.505-8.642 0-13.164 7.965-13.164 15.832 0 5.669 1.815 24.168 25.168 24.168 9.973 0 13.377-2.154 13.744-2.731.021-.046.087-.291.087-.764zM175.984 368H128V48c0-8.837-7.163-16-16-16H80c-8.837 0-16 7.163-16 16v320H16.019c-14.212 0-21.384 17.244-11.314 27.314l79.981 80.002c6.245 6.245 16.38 6.247 22.627 0l79.984-80.002c10.05-10.05 2.928-27.314-11.313-27.314z',\n\t],\n};\nvar faSortNumericUp = {\n\tprefix: 'fas',\n\ticonName: 'sort-numeric-up',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f163',\n\t\t'M308.811 113.787l-19.448-20.795c-4.522-4.836-4.274-12.421.556-16.95l43.443-40.741a11.999 11.999 0 0 1 8.209-3.247h31.591c6.627 0 12 5.373 12 12v127.07h25.66c6.627 0 12 5.373 12 12v28.93c0 6.627-5.373 12-12 12H301.649c-6.627 0-12-5.373-12-12v-28.93c0-6.627 5.373-12 12-12h25.414v-57.938c-7.254 6.58-14.211 4.921-18.252.601zm-30.57 238.569c0-32.653 23.865-67.356 68.094-67.356 38.253 0 79.424 28.861 79.424 92.228 0 51.276-32.237 105.772-91.983 105.772-17.836 0-30.546-3.557-38.548-6.781-5.79-2.333-8.789-8.746-6.922-14.703l9.237-29.48c2.035-6.496 9.049-9.983 15.467-7.716 13.029 4.602 27.878 5.275 38.103-4.138-38.742 5.072-72.872-25.36-72.872-67.826zm92.273 19.338c0-22.285-15.302-36.505-25.835-36.505-8.642 0-13.164 7.965-13.164 15.832 0 5.669 1.815 24.168 25.168 24.168 9.973 0 13.377-2.154 13.744-2.731.021-.046.087-.291.087-.764zM16.016 144H64v320c0 8.837 7.163 16 16 16h32c8.837 0 16-7.163 16-16V144h47.981c14.212 0 21.384-17.244 11.314-27.314l-79.981-80.002c-6.245-6.245-16.38-6.247-22.627 0L4.702 116.686C-5.347 126.736 1.775 144 16.016 144z',\n\t],\n};\nvar faSortUp = {\n\tprefix: 'fas',\n\ticonName: 'sort-up',\n\ticon: [\n\t\t320,\n\t\t512,\n\t\t[],\n\t\t'f0de',\n\t\t'M279 224H41c-21.4 0-32.1-25.9-17-41L143 64c9.4-9.4 24.6-9.4 33.9 0l119 119c15.2 15.1 4.5 41-16.9 41z',\n\t],\n};\nvar faSpaceShuttle = {\n\tprefix: 'fas',\n\ticonName: 'space-shuttle',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f197',\n\t\t'M592.604 208.244C559.735 192.836 515.777 184 472 184H186.327c-4.952-6.555-10.585-11.978-16.72-16H376C229.157 137.747 219.403 32 96.003 32H96v128H80V32c-26.51 0-48 28.654-48 64v64c-23.197 0-32 10.032-32 24v40c0 13.983 8.819 24 32 24v16c-23.197 0-32 10.032-32 24v40c0 13.983 8.819 24 32 24v64c0 35.346 21.49 64 48 64V352h16v128h.003c123.4 0 133.154-105.747 279.997-136H169.606c6.135-4.022 11.768-9.445 16.72-16H472c43.777 0 87.735-8.836 120.604-24.244C622.282 289.845 640 271.992 640 256s-17.718-33.845-47.396-47.756zM488 296a8 8 0 0 1-8-8v-64a8 8 0 0 1 8-8c31.909 0 31.942 80 0 80z',\n\t],\n};\nvar faSpinner = {\n\tprefix: 'fas',\n\ticonName: 'spinner',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f110',\n\t\t'M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z',\n\t],\n};\nvar faSquare = {\n\tprefix: 'fas',\n\ticonName: 'square',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f0c8',\n\t\t'M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z',\n\t],\n};\nvar faSquareFull = {\n\tprefix: 'fas',\n\ticonName: 'square-full',\n\ticon: [512, 512, [], 'f45c', 'M512 512H0V0h512v512z'],\n};\nvar faStar = {\n\tprefix: 'fas',\n\ticonName: 'star',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f005',\n\t\t'M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z',\n\t],\n};\nvar faStarHalf = {\n\tprefix: 'fas',\n\ticonName: 'star-half',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f089',\n\t\t'M288 0c-11.4 0-22.8 5.9-28.7 17.8L194 150.2 47.9 171.4c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.1 23 46 46.4 33.7L288 439.6V0z',\n\t],\n};\nvar faStepBackward = {\n\tprefix: 'fas',\n\ticonName: 'step-backward',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f048',\n\t\t'M64 468V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12v176.4l195.5-181C352.1 22.3 384 36.6 384 64v384c0 27.4-31.9 41.7-52.5 24.6L136 292.7V468c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12z',\n\t],\n};\nvar faStepForward = {\n\tprefix: 'fas',\n\ticonName: 'step-forward',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f051',\n\t\t'M384 44v424c0 6.6-5.4 12-12 12h-48c-6.6 0-12-5.4-12-12V291.6l-195.5 181C95.9 489.7 64 475.4 64 448V64c0-27.4 31.9-41.7 52.5-24.6L312 219.3V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12z',\n\t],\n};\nvar faStethoscope = {\n\tprefix: 'fas',\n\ticonName: 'stethoscope',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f0f1',\n\t\t'M447.1 112c-34.2.5-62.3 28.4-63 62.6-.5 24.3 12.5 45.6 32 56.8V344c0 57.3-50.2 104-112 104-60 0-109.2-44.1-111.9-99.2C265 333.8 320 269.2 320 192V36.6c0-11.4-8.1-21.3-19.3-23.5L237.8.5c-13-2.6-25.6 5.8-28.2 18.8L206.4 35c-2.6 13 5.8 25.6 18.8 28.2l30.7 6.1v121.4c0 52.9-42.2 96.7-95.1 97.2-53.4.5-96.9-42.7-96.9-96V69.4l30.7-6.1c13-2.6 21.4-15.2 18.8-28.2l-3.1-15.7C107.7 6.4 95.1-2 82.1.6L19.3 13C8.1 15.3 0 25.1 0 36.6V192c0 77.3 55.1 142 128.1 156.8C130.7 439.2 208.6 512 304 512c97 0 176-75.4 176-168V231.4c19.1-11.1 32-31.7 32-55.4 0-35.7-29.2-64.5-64.9-64zm.9 80c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z',\n\t],\n};\nvar faStickyNote = {\n\tprefix: 'fas',\n\ticonName: 'sticky-note',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f249',\n\t\t'M312 320h136V56c0-13.3-10.7-24-24-24H24C10.7 32 0 42.7 0 56v400c0 13.3 10.7 24 24 24h264V344c0-13.2 10.8-24 24-24zm129 55l-98 98c-4.5 4.5-10.6 7-17 7h-6V352h128v6.1c0 6.3-2.5 12.4-7 16.9z',\n\t],\n};\nvar faStop = {\n\tprefix: 'fas',\n\ticonName: 'stop',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f04d',\n\t\t'M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z',\n\t],\n};\nvar faStopCircle = {\n\tprefix: 'fas',\n\ticonName: 'stop-circle',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f28d',\n\t\t'M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm96 328c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16v160z',\n\t],\n};\nvar faStopwatch = {\n\tprefix: 'fas',\n\ticonName: 'stopwatch',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f2f2',\n\t\t'M432 304c0 114.9-93.1 208-208 208S16 418.9 16 304c0-104 76.3-190.2 176-205.5V64h-28c-6.6 0-12-5.4-12-12V12c0-6.6 5.4-12 12-12h120c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-28v34.5c37.5 5.8 71.7 21.6 99.7 44.6l27.5-27.5c4.7-4.7 12.3-4.7 17 0l28.3 28.3c4.7 4.7 4.7 12.3 0 17l-29.4 29.4-.6.6C419.7 223.3 432 262.2 432 304zm-176 36V188.5c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12V340c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z',\n\t],\n};\nvar faStreetView = {\n\tprefix: 'fas',\n\ticonName: 'street-view',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f21d',\n\t\t'M192 64c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64s-64-28.654-64-64zm112 80h-11.36c-22.711 10.443-49.59 10.894-73.28 0H208c-26.51 0-48 21.49-48 48v104c0 13.255 10.745 24 24 24h16v104c0 13.255 10.745 24 24 24h64c13.255 0 24-10.745 24-24V320h16c13.255 0 24-10.745 24-24V192c0-26.51-21.49-48-48-48zm85.642 189.152a72.503 72.503 0 0 1-29.01 27.009C391.133 365.251 480 385.854 480 416c0 46.304-167.656 64-224 64-70.303 0-224-20.859-224-64 0-30.123 88.361-50.665 119.367-55.839a72.516 72.516 0 0 1-29.01-27.009C74.959 343.395 0 367.599 0 416c0 77.111 178.658 96 256 96 77.249 0 256-18.865 256-96 0-48.403-74.967-72.606-122.358-82.848z',\n\t],\n};\nvar faStrikethrough = {\n\tprefix: 'fas',\n\ticonName: 'strikethrough',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f0cc',\n\t\t'M496 288H16c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h480c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16zm-214.666 16c27.258 12.937 46.524 28.683 46.524 56.243 0 33.108-28.977 53.676-75.621 53.676-32.325 0-76.874-12.08-76.874-44.271V368c0-8.837-7.164-16-16-16H113.75c-8.836 0-16 7.163-16 16v19.204c0 66.845 77.717 101.82 154.487 101.82 88.578 0 162.013-45.438 162.013-134.424 0-19.815-3.618-36.417-10.143-50.6H281.334zm-30.952-96c-32.422-13.505-56.836-28.946-56.836-59.683 0-33.92 30.901-47.406 64.962-47.406 42.647 0 64.962 16.593 64.962 32.985V136c0 8.837 7.164 16 16 16h45.613c8.836 0 16-7.163 16-16v-30.318c0-52.438-71.725-79.875-142.575-79.875-85.203 0-150.726 40.972-150.726 125.646 0 22.71 4.665 41.176 12.777 56.547h129.823z',\n\t],\n};\nvar faSubscript = {\n\tprefix: 'fas',\n\ticonName: 'subscript',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f12c',\n\t\t'M395.198 416c3.461-10.526 18.796-21.28 36.265-32.425 16.625-10.605 35.467-22.626 50.341-38.862 17.458-19.054 25.944-40.175 25.944-64.567 0-60.562-50.702-88.146-97.81-88.146-42.491 0-76.378 22.016-94.432 50.447-4.654 7.329-2.592 17.036 4.623 21.865l30.328 20.296c7.032 4.706 16.46 3.084 21.63-3.614 8.022-10.394 18.818-18.225 31.667-18.225 19.387 0 26.266 12.901 26.266 23.948 0 36.159-119.437 57.023-119.437 160.024 0 6.654.561 13.014 1.415 19.331 1.076 7.964 7.834 13.928 15.87 13.928H496c8.837 0 16-7.163 16-16v-32c0-8.837-7.163-16-16-16H395.198zM272 256c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16h-62.399a16 16 0 0 1-13.541-7.478l-45.701-72.615c-2.297-3.352-4.422-6.969-6.195-10.209-1.65 3.244-3.647 6.937-5.874 10.582l-44.712 72.147a15.999 15.999 0 0 1-13.6 7.572H16c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h26.325l56.552-82.709L46.111 96H16C7.163 96 0 88.837 0 80V48c0-8.837 7.163-16 16-16h68.806a16 16 0 0 1 13.645 7.644l39.882 65.126c2.072 3.523 4.053 7.171 5.727 10.37 1.777-3.244 3.92-6.954 6.237-10.537l40.332-65.035A15.999 15.999 0 0 1 204.226 32H272c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16h-27.979l-52.69 75.671L249.974 256H272z',\n\t],\n};\nvar faSubway = {\n\tprefix: 'fas',\n\ticonName: 'subway',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f239',\n\t\t'M448 96v256c0 51.815-61.624 96-130.022 96l62.98 49.721C386.905 502.417 383.562 512 376 512H72c-7.578 0-10.892-9.594-4.957-14.279L130.022 448C61.82 448 0 403.954 0 352V96C0 42.981 64 0 128 0h192c65 0 128 42.981 128 96zM200 232V120c0-13.255-10.745-24-24-24H72c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h104c13.255 0 24-10.745 24-24zm200 0V120c0-13.255-10.745-24-24-24H272c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h104c13.255 0 24-10.745 24-24zm-48 56c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm-256 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z',\n\t],\n};\nvar faSuitcase = {\n\tprefix: 'fas',\n\ticonName: 'suitcase',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f0f2',\n\t\t'M96 480h320V128h-32V80c0-26.51-21.49-48-48-48H176c-26.51 0-48 21.49-48 48v48H96v352zm96-384h128v32H192V96zm320 80v256c0 26.51-21.49 48-48 48h-16V128h16c26.51 0 48 21.49 48 48zM64 480H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v352z',\n\t],\n};\nvar faSun = {\n\tprefix: 'fas',\n\ticonName: 'sun',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f185',\n\t\t'M274.835 12.646l25.516 62.393c4.213 10.301 16.671 14.349 26.134 8.492l57.316-35.479c15.49-9.588 34.808 4.447 30.475 22.142l-16.03 65.475c-2.647 10.81 5.053 21.408 16.152 22.231l67.224 4.987c18.167 1.348 25.546 24.057 11.641 35.826L441.81 242.26c-8.495 7.19-8.495 20.289 0 27.479l51.454 43.548c13.906 11.769 6.527 34.478-11.641 35.826l-67.224 4.987c-11.099.823-18.799 11.421-16.152 22.231l16.03 65.475c4.332 17.695-14.986 31.73-30.475 22.142l-57.316-35.479c-9.463-5.858-21.922-1.81-26.134 8.492l-25.516 62.393c-6.896 16.862-30.774 16.862-37.67 0l-25.516-62.393c-4.213-10.301-16.671-14.349-26.134-8.492l-57.317 35.479c-15.49 9.588-34.808-4.447-30.475-22.142l16.03-65.475c2.647-10.81-5.053-21.408-16.152-22.231l-67.224-4.987c-18.167-1.348-25.546-24.057-11.641-35.826L70.19 269.74c8.495-7.19 8.495-20.289 0-27.479l-51.454-43.548c-13.906-11.769-6.527-34.478 11.641-35.826l67.224-4.987c11.099-.823 18.799-11.421 16.152-22.231l-16.03-65.475c-4.332-17.695 14.986-31.73 30.475-22.142l57.317 35.479c9.463 5.858 21.921 1.81 26.134-8.492l25.516-62.393c6.896-16.861 30.774-16.861 37.67 0zM392 256c0-74.991-61.01-136-136-136-74.991 0-136 61.009-136 136s61.009 136 136 136c74.99 0 136-61.009 136-136zm-32 0c0 57.346-46.654 104-104 104s-104-46.654-104-104 46.654-104 104-104 104 46.654 104 104z',\n\t],\n};\nvar faSuperscript = {\n\tprefix: 'fas',\n\ticonName: 'superscript',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f12b',\n\t\t'M395.198 256c3.461-10.526 18.796-21.28 36.265-32.425 16.625-10.605 35.467-22.626 50.341-38.862 17.458-19.054 25.944-40.175 25.944-64.567 0-60.562-50.702-88.146-97.81-88.146-42.491 0-76.378 22.016-94.432 50.447-4.654 7.329-2.592 17.036 4.623 21.865l30.328 20.296c7.032 4.706 16.46 3.084 21.63-3.614 8.022-10.394 18.818-18.225 31.667-18.225 19.387 0 26.266 12.901 26.266 23.948 0 36.159-119.437 57.023-119.437 160.024 0 6.654.561 13.014 1.415 19.331 1.076 7.964 7.834 13.928 15.87 13.928H496c8.837 0 16-7.163 16-16v-32c0-8.837-7.163-16-16-16H395.198zM272 416c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16h-62.399a16 16 0 0 1-13.541-7.478l-45.701-72.615c-2.297-3.352-4.422-6.969-6.195-10.209-1.65 3.244-3.647 6.937-5.874 10.582l-44.712 72.147a15.999 15.999 0 0 1-13.6 7.572H16c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h26.325l56.552-82.709L46.111 256H16c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h68.806a16 16 0 0 1 13.645 7.644l39.882 65.126c2.072 3.523 4.053 7.171 5.727 10.37 1.777-3.244 3.92-6.954 6.237-10.537l40.332-65.035a16 16 0 0 1 13.598-7.567H272c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16h-27.979l-52.69 75.671L249.974 416H272z',\n\t],\n};\nvar faSync = {\n\tprefix: 'fas',\n\ticonName: 'sync',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f021',\n\t\t'M440.935 12.574l3.966 82.766C399.416 41.904 331.674 8 256 8 134.813 8 33.933 94.924 12.296 209.824 10.908 217.193 16.604 224 24.103 224h49.084c5.57 0 10.377-3.842 11.676-9.259C103.407 137.408 172.931 80 256 80c60.893 0 114.512 30.856 146.104 77.801l-101.53-4.865c-6.845-.328-12.574 5.133-12.574 11.986v47.411c0 6.627 5.373 12 12 12h200.333c6.627 0 12-5.373 12-12V12c0-6.627-5.373-12-12-12h-47.411c-6.853 0-12.315 5.729-11.987 12.574zM256 432c-60.895 0-114.517-30.858-146.109-77.805l101.868 4.871c6.845.327 12.573-5.134 12.573-11.986v-47.412c0-6.627-5.373-12-12-12H12c-6.627 0-12 5.373-12 12V500c0 6.627 5.373 12 12 12h47.385c6.863 0 12.328-5.745 11.985-12.599l-4.129-82.575C112.725 470.166 180.405 504 256 504c121.187 0 222.067-86.924 243.704-201.824 1.388-7.369-4.308-14.176-11.807-14.176h-49.084c-5.57 0-10.377 3.842-11.676 9.259C408.593 374.592 339.069 432 256 432z',\n\t],\n};\nvar faSyncAlt = {\n\tprefix: 'fas',\n\ticonName: 'sync-alt',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f2f1',\n\t\t'M370.72 133.28C339.458 104.008 298.888 87.962 255.848 88c-77.458.068-144.328 53.178-162.791 126.85-1.344 5.363-6.122 9.15-11.651 9.15H24.103c-7.498 0-13.194-6.807-11.807-14.176C33.933 94.924 134.813 8 256 8c66.448 0 126.791 26.136 171.315 68.685L463.03 40.97C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.749zM32 296h134.059c21.382 0 32.09 25.851 16.971 40.971l-41.75 41.75c31.262 29.273 71.835 45.319 114.876 45.28 77.418-.07 144.315-53.144 162.787-126.849 1.344-5.363 6.122-9.15 11.651-9.15h57.304c7.498 0 13.194 6.807 11.807 14.176C478.067 417.076 377.187 504 256 504c-66.448 0-126.791-26.136-171.315-68.685L48.97 471.03C33.851 486.149 8 475.441 8 454.059V320c0-13.255 10.745-24 24-24z',\n\t],\n};\nvar faSyringe = {\n\tprefix: 'fas',\n\ticonName: 'syringe',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f48e',\n\t\t'M201.5 174.8l55.7 55.8c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-55.7-55.8-45.3 45.3 55.8 55.8c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L111 265.2l-26.4 26.4c-17.3 17.3-25.6 41.1-23 65.4l7.1 63.6L2.3 487c-3.1 3.1-3.1 8.2 0 11.3l11.3 11.3c3.1 3.1 8.2 3.1 11.3 0l66.3-66.3 63.6 7.1c23.9 2.6 47.9-5.4 65.4-23l181.9-181.9-135.7-135.7-64.9 65zm308.2-93.3L430.5 2.3c-3.1-3.1-8.2-3.1-11.3 0l-11.3 11.3c-3.1 3.1-3.1 8.2 0 11.3l28.3 28.3-45.3 45.3-56.6-56.6-17-17c-3.1-3.1-8.2-3.1-11.3 0l-33.9 33.9c-3.1 3.1-3.1 8.2 0 11.3l17 17L424.8 223l17 17c3.1 3.1 8.2 3.1 11.3 0l33.9-34c3.1-3.1 3.1-8.2 0-11.3l-73.5-73.5 45.3-45.3 28.3 28.3c3.1 3.1 8.2 3.1 11.3 0l11.3-11.3c3.1-3.2 3.1-8.2 0-11.4z',\n\t],\n};\nvar faTable = {\n\tprefix: 'fas',\n\ticonName: 'table',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f0ce',\n\t\t'M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64v-96h160v96zm0-160H64v-96h160v96zm224 160H288v-96h160v96zm0-160H288v-96h160v96z',\n\t],\n};\nvar faTableTennis = {\n\tprefix: 'fas',\n\ticonName: 'table-tennis',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f45d',\n\t\t'M496.2 296.5C527.7 218.7 512 126.2 449 63.1 365.1-21 229-21 145.1 63.1l-56 56.1 211.5 211.5c46.1-62.1 131.5-77.4 195.6-34.2zm-217.9 79.7L57.9 155.9c-27.3 45.3-21.7 105 17.3 144.1l34.5 34.6L6.7 424c-8.6 7.5-9.1 20.7-1 28.8l53.4 53.5c8 8.1 21.2 7.6 28.7-1L177.1 402l35.7 35.7c19.7 19.7 44.6 30.5 70.3 33.3-7.1-17-11-35.6-11-55.1-.1-13.8 2.5-27 6.2-39.7zM416 320c-53 0-96 43-96 96s43 96 96 96 96-43 96-96-43-96-96-96z',\n\t],\n};\nvar faTablet = {\n\tprefix: 'fas',\n\ticonName: 'tablet',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f10a',\n\t\t'M400 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM224 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z',\n\t],\n};\nvar faTabletAlt = {\n\tprefix: 'fas',\n\ticonName: 'tablet-alt',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f3fa',\n\t\t'M400 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM224 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm176-108c0 6.6-5.4 12-12 12H60c-6.6 0-12-5.4-12-12V60c0-6.6 5.4-12 12-12h328c6.6 0 12 5.4 12 12v312z',\n\t],\n};\nvar faTachometerAlt = {\n\tprefix: 'fas',\n\ticonName: 'tachometer-alt',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f3fd',\n\t\t'M75.694 480a48.02 48.02 0 0 1-42.448-25.571C12.023 414.3 0 368.556 0 320 0 160.942 128.942 32 288 32s288 128.942 288 288c0 48.556-12.023 94.3-33.246 134.429A48.018 48.018 0 0 1 500.306 480H75.694zM512 288c-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32s32-14.327 32-32c0-17.673-14.327-32-32-32zM288 128c17.673 0 32-14.327 32-32 0-17.673-14.327-32-32-32s-32 14.327-32 32c0 17.673 14.327 32 32 32zM64 288c-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32s32-14.327 32-32c0-17.673-14.327-32-32-32zm65.608-158.392c-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32s32-14.327 32-32c0-17.673-14.327-32-32-32zm316.784 0c-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32s32-14.327 32-32c0-17.673-14.327-32-32-32zm-87.078 31.534c-12.627-4.04-26.133 2.92-30.173 15.544l-45.923 143.511C250.108 322.645 224 350.264 224 384c0 35.346 28.654 64 64 64 35.346 0 64-28.654 64-64 0-19.773-8.971-37.447-23.061-49.187l45.919-143.498c4.039-12.625-2.92-26.133-15.544-30.173z',\n\t],\n};\nvar faTag = {\n\tprefix: 'fas',\n\ticonName: 'tag',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f02b',\n\t\t'M0 252.118V48C0 21.49 21.49 0 48 0h204.118a48 48 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882L293.823 497.941c-18.745 18.745-49.137 18.745-67.882 0L14.059 286.059A48 48 0 0 1 0 252.118zM112 64c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z',\n\t],\n};\nvar faTags = {\n\tprefix: 'fas',\n\ticonName: 'tags',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f02c',\n\t\t'M497.941 225.941L286.059 14.059A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v204.118a48 48 0 0 0 14.059 33.941l211.882 211.882c18.744 18.745 49.136 18.746 67.882 0l204.118-204.118c18.745-18.745 18.745-49.137 0-67.882zM112 160c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm513.941 133.823L421.823 497.941c-18.745 18.745-49.137 18.745-67.882 0l-.36-.36L527.64 323.522c16.999-16.999 26.36-39.6 26.36-63.64s-9.362-46.641-26.36-63.64L331.397 0h48.721a48 48 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882z',\n\t],\n};\nvar faTasks = {\n\tprefix: 'fas',\n\ticonName: 'tasks',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f0ae',\n\t\t'M208 132h288c8.8 0 16-7.2 16-16V76c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16zm0 160h288c8.8 0 16-7.2 16-16v-40c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16zm0 160h288c8.8 0 16-7.2 16-16v-40c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16zM64 368c-26.5 0-48.6 21.5-48.6 48s22.1 48 48.6 48 48-21.5 48-48-21.5-48-48-48zm92.5-299l-72.2 72.2-15.6 15.6c-4.7 4.7-12.9 4.7-17.6 0L3.5 109.4c-4.7-4.7-4.7-12.3 0-17l15.7-15.7c4.7-4.7 12.3-4.7 17 0l22.7 22.1 63.7-63.3c4.7-4.7 12.3-4.7 17 0l17 16.5c4.6 4.7 4.6 12.3-.1 17zm0 159.6l-72.2 72.2-15.7 15.7c-4.7 4.7-12.9 4.7-17.6 0L3.5 269c-4.7-4.7-4.7-12.3 0-17l15.7-15.7c4.7-4.7 12.3-4.7 17 0l22.7 22.1 63.7-63.7c4.7-4.7 12.3-4.7 17 0l17 17c4.6 4.6 4.6 12.2-.1 16.9z',\n\t],\n};\nvar faTaxi = {\n\tprefix: 'fas',\n\ticonName: 'taxi',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f1ba',\n\t\t'M461.951 243.865l-21.816-87.268A79.885 79.885 0 0 0 362.522 96H352V56c0-13.255-10.745-24-24-24H184c-13.255 0-24 10.745-24 24v40h-10.522a79.885 79.885 0 0 0-77.612 60.597L50.05 243.865C25.515 252.823 8 276.366 8 304v48c0 20.207 9.374 38.214 24 49.943V456c0 13.255 10.745 24 24 24h48c13.255 0 24-10.745 24-24v-40h256v40c0 13.255 10.745 24 24 24h48c13.255 0 24-10.745 24-24v-54.057c14.626-11.729 24-29.737 24-49.943v-48c0-27.634-17.515-51.177-42.049-60.135zM149.478 160h213.045a15.975 15.975 0 0 1 15.522 12.12l16.97 67.88h-278.03l16.97-67.881A15.976 15.976 0 0 1 149.478 160zM132 336c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm320 0c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36z',\n\t],\n};\nvar faTerminal = {\n\tprefix: 'fas',\n\ticonName: 'terminal',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f120',\n\t\t'M257.981 272.971L63.638 467.314c-9.373 9.373-24.569 9.373-33.941 0L7.029 444.647c-9.357-9.357-9.375-24.522-.04-33.901L161.011 256 6.99 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L257.981 239.03c9.373 9.372 9.373 24.568 0 33.941zM640 456v-32c0-13.255-10.745-24-24-24H312c-13.255 0-24 10.745-24 24v32c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24z',\n\t],\n};\nvar faTextHeight = {\n\tprefix: 'fas',\n\ticonName: 'text-height',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f034',\n\t\t'M16 32h288c8.837 0 16 7.163 16 16v96c0 8.837-7.163 16-16 16h-35.496c-8.837 0-16-7.163-16-16V96h-54.761v320H232c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H88c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h34.257V96H67.496v48c0 8.837-7.163 16-16 16H16c-8.837 0-16-7.163-16-16V48c0-8.837 7.163-16 16-16zm475.308 4.685l79.995 80.001C581.309 126.693 574.297 144 559.99 144H512v224h48c15.639 0 20.635 17.991 11.313 27.314l-79.995 80.001c-6.247 6.247-16.381 6.245-22.626 0l-79.995-80.001C378.691 385.307 385.703 368 400.01 368H448V144h-48c-15.639 0-20.635-17.991-11.313-27.314l79.995-80.001c6.247-6.248 16.381-6.245 22.626 0z',\n\t],\n};\nvar faTextWidth = {\n\tprefix: 'fas',\n\ticonName: 'text-width',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f035',\n\t\t'M16 32h416c8.837 0 16 7.163 16 16v96c0 8.837-7.163 16-16 16h-35.496c-8.837 0-16-7.163-16-16V96H261.743v128H296c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H152c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h34.257V96H67.496v48c0 8.837-7.163 16-16 16H16c-8.837 0-16-7.163-16-16V48c0-8.837 7.163-16 16-16zm427.315 340.682l-80.001-79.995C353.991 283.365 336 288.362 336 304v48H112v-47.99c0-14.307-17.307-21.319-27.314-11.313L4.685 372.692c-6.245 6.245-6.247 16.379 0 22.626l80.001 79.995C94.009 484.635 112 479.638 112 464v-48h224v47.99c0 14.307 17.307 21.319 27.314 11.313l80.001-79.995c6.245-6.245 6.248-16.379 0-22.626z',\n\t],\n};\nvar faTh = {\n\tprefix: 'fas',\n\ticonName: 'th',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f00a',\n\t\t'M149.333 56v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zm181.334 240v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm32-240v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24zm-32 80V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm-205.334 56H24c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm386.667-56H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm0 160H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zM181.333 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24z',\n\t],\n};\nvar faThLarge = {\n\tprefix: 'fas',\n\ticonName: 'th-large',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f009',\n\t\t'M296 32h192c13.255 0 24 10.745 24 24v160c0 13.255-10.745 24-24 24H296c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24zm-80 0H24C10.745 32 0 42.745 0 56v160c0 13.255 10.745 24 24 24h192c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zM0 296v160c0 13.255 10.745 24 24 24h192c13.255 0 24-10.745 24-24V296c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm296 184h192c13.255 0 24-10.745 24-24V296c0-13.255-10.745-24-24-24H296c-13.255 0-24 10.745-24 24v160c0 13.255 10.745 24 24 24z',\n\t],\n};\nvar faThList = {\n\tprefix: 'fas',\n\ticonName: 'th-list',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f00b',\n\t\t'M149.333 216v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-80c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zM125.333 32H24C10.745 32 0 42.745 0 56v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zm80 448H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm-24-424v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24zm24 264H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24z',\n\t],\n};\nvar faThermometer = {\n\tprefix: 'fas',\n\ticonName: 'thermometer',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f491',\n\t\t'M476.8 20.4c-37.5-30.7-95.5-26.3-131.9 10.2l-45.7 46 50.5 50.5c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-50.4-50.5-45.1 45.4 50.3 50.4c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L209 167.4l-45.1 45.4L214 263c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-50.1-50.2L96 281.1V382L7 471c-9.4 9.4-9.4 24.6 0 33.9 9.4 9.4 24.6 9.4 33.9 0l89-89h99.9L484 162.6c34.9-34.9 42.2-101.5-7.2-142.2z',\n\t],\n};\nvar faThermometerEmpty = {\n\tprefix: 'fas',\n\ticonName: 'thermometer-empty',\n\ticon: [\n\t\t256,\n\t\t512,\n\t\t[],\n\t\t'f2cb',\n\t\t'M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-35.346 28.654-64 64-64s64 28.654 64 64zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z',\n\t],\n};\nvar faThermometerFull = {\n\tprefix: 'fas',\n\ticonName: 'thermometer-full',\n\ticon: [\n\t\t256,\n\t\t512,\n\t\t[],\n\t\t'f2c7',\n\t\t'M224 96c0-53.019-42.981-96-96-96S32 42.981 32 96v203.347C12.225 321.756.166 351.136.002 383.333c-.359 70.303 56.787 128.176 127.089 128.664.299.002.61.003.909.003 70.698 0 128-57.304 128-128 0-32.459-12.088-62.09-32-84.653V96zm-96 368l-.576-.002c-43.86-.304-79.647-36.544-79.423-80.42.173-33.98 19.266-51.652 31.999-66.08V96c0-26.467 21.533-48 48-48s48 21.533 48 48v221.498c12.63 14.312 32 32.164 32 66.502 0 44.112-35.888 80-80 80zm64-80c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V96c0-17.673 14.327-32 32-32s32 14.327 32 32v232.583c19.124 11.068 32 31.732 32 55.417z',\n\t],\n};\nvar faThermometerHalf = {\n\tprefix: 'fas',\n\ticonName: 'thermometer-half',\n\ticon: [\n\t\t256,\n\t\t512,\n\t\t[],\n\t\t'f2c9',\n\t\t'M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V224c0-17.673 14.327-32 32-32s32 14.327 32 32v104.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z',\n\t],\n};\nvar faThermometerQuarter = {\n\tprefix: 'fas',\n\ticonName: 'thermometer-quarter',\n\ticon: [\n\t\t256,\n\t\t512,\n\t\t[],\n\t\t'f2ca',\n\t\t'M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V288c0-17.673 14.327-32 32-32s32 14.327 32 32v40.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z',\n\t],\n};\nvar faThermometerThreeQuarters = {\n\tprefix: 'fas',\n\ticonName: 'thermometer-three-quarters',\n\ticon: [\n\t\t256,\n\t\t512,\n\t\t[],\n\t\t'f2c8',\n\t\t'M192 384c0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64 0-23.685 12.876-44.349 32-55.417V160c0-17.673 14.327-32 32-32s32 14.327 32 32v168.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z',\n\t],\n};\nvar faThumbsDown = {\n\tprefix: 'fas',\n\ticonName: 'thumbs-down',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f165',\n\t\t'M0 56v240c0 13.255 10.745 24 24 24h80c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56zm40 200c0-13.255 10.745-24 24-24s24 10.745 24 24-10.745 24-24 24-24-10.745-24-24zm272 256c-20.183 0-29.485-39.293-33.931-57.795-5.206-21.666-10.589-44.07-25.393-58.902-32.469-32.524-49.503-73.967-89.117-113.111a11.98 11.98 0 0 1-3.558-8.521V59.901c0-6.541 5.243-11.878 11.783-11.998 15.831-.29 36.694-9.079 52.651-16.178C256.189 17.598 295.709.017 343.995 0h2.844c42.777 0 93.363.413 113.774 29.737 8.392 12.057 10.446 27.034 6.148 44.632 16.312 17.053 25.063 48.863 16.382 74.757 17.544 23.432 19.143 56.132 9.308 79.469l.11.11c11.893 11.949 19.523 31.259 19.439 49.197-.156 30.352-26.157 58.098-59.553 58.098H350.723C358.03 364.34 384 388.132 384 430.548 384 504 336 512 312 512z',\n\t],\n};\nvar faThumbsUp = {\n\tprefix: 'fas',\n\ticonName: 'thumbs-up',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f164',\n\t\t'M104 224H24c-13.255 0-24 10.745-24 24v240c0 13.255 10.745 24 24 24h80c13.255 0 24-10.745 24-24V248c0-13.255-10.745-24-24-24zM64 472c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zM384 81.452c0 42.416-25.97 66.208-33.277 94.548h101.723c33.397 0 59.397 27.746 59.553 58.098.084 17.938-7.546 37.249-19.439 49.197l-.11.11c9.836 23.337 8.237 56.037-9.308 79.469 8.681 25.895-.069 57.704-16.382 74.757 4.298 17.598 2.244 32.575-6.148 44.632C440.202 511.587 389.616 512 346.839 512l-2.845-.001c-48.287-.017-87.806-17.598-119.56-31.725-15.957-7.099-36.821-15.887-52.651-16.178-6.54-.12-11.783-5.457-11.783-11.998v-213.77c0-3.2 1.282-6.271 3.558-8.521 39.614-39.144 56.648-80.587 89.117-113.111 14.804-14.832 20.188-37.236 25.393-58.902C282.515 39.293 291.817 0 312 0c24 0 72 8 72 81.452z',\n\t],\n};\nvar faThumbtack = {\n\tprefix: 'fas',\n\ticonName: 'thumbtack',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f08d',\n\t\t'M298.028 214.267L285.793 96H328c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H56C42.745 0 32 10.745 32 24v48c0 13.255 10.745 24 24 24h42.207L85.972 214.267C37.465 236.82 0 277.261 0 328c0 13.255 10.745 24 24 24h136v104.007c0 1.242.289 2.467.845 3.578l24 48c2.941 5.882 11.364 5.893 14.311 0l24-48a8.008 8.008 0 0 0 .845-3.578V352h136c13.255 0 24-10.745 24-24-.001-51.183-37.983-91.42-85.973-113.733z',\n\t],\n};\nvar faTicketAlt = {\n\tprefix: 'fas',\n\ticonName: 'ticket-alt',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f3ff',\n\t\t'M128 160h320v192H128V160zm400 96c0 26.51 21.49 48 48 48v96c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48v-96c26.51 0 48-21.49 48-48s-21.49-48-48-48v-96c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v96c-26.51 0-48 21.49-48 48zm-48-104c0-13.255-10.745-24-24-24H120c-13.255 0-24 10.745-24 24v208c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V152z',\n\t],\n};\nvar faTimes = {\n\tprefix: 'fas',\n\ticonName: 'times',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f00d',\n\t\t'M323.1 441l53.9-53.9c9.4-9.4 9.4-24.5 0-33.9L279.8 256l97.2-97.2c9.4-9.4 9.4-24.5 0-33.9L323.1 71c-9.4-9.4-24.5-9.4-33.9 0L192 168.2 94.8 71c-9.4-9.4-24.5-9.4-33.9 0L7 124.9c-9.4 9.4-9.4 24.5 0 33.9l97.2 97.2L7 353.2c-9.4 9.4-9.4 24.5 0 33.9L60.9 441c9.4 9.4 24.5 9.4 33.9 0l97.2-97.2 97.2 97.2c9.3 9.3 24.5 9.3 33.9 0z',\n\t],\n};\nvar faTimesCircle = {\n\tprefix: 'fas',\n\ticonName: 'times-circle',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f057',\n\t\t'M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm121.6 313.1c4.7 4.7 4.7 12.3 0 17L338 377.6c-4.7 4.7-12.3 4.7-17 0L256 312l-65.1 65.6c-4.7 4.7-12.3 4.7-17 0L134.4 338c-4.7-4.7-4.7-12.3 0-17l65.6-65-65.6-65.1c-4.7-4.7-4.7-12.3 0-17l39.6-39.6c4.7-4.7 12.3-4.7 17 0l65 65.7 65.1-65.6c4.7-4.7 12.3-4.7 17 0l39.6 39.6c4.7 4.7 4.7 12.3 0 17L312 256l65.6 65.1z',\n\t],\n};\nvar faTint = {\n\tprefix: 'fas',\n\ticonName: 'tint',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f043',\n\t\t'M192 512c-98.435 0-178.087-79.652-178.087-178.087 0-111.196 101.194-154.065 148.522-311.825 9.104-30.116 51.099-28.778 59.13 0 47.546 158.486 148.522 200.069 148.522 311.825C370.087 432.348 290.435 512 192 512zm-42.522-171.826c-1.509-5.533-9.447-5.532-10.956 0-9.223 29.425-27.913 37.645-27.913 58.435C110.609 417.13 125.478 432 144 432s33.391-14.87 33.391-33.391c0-20.839-18.673-28.956-27.913-58.435z',\n\t],\n};\nvar faToggleOff = {\n\tprefix: 'fas',\n\ticonName: 'toggle-off',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f204',\n\t\t'M384 64H192C85.961 64 0 149.961 0 256s85.961 192 192 192h192c106.039 0 192-85.961 192-192S490.039 64 384 64zM64 256c0-70.741 57.249-128 128-128 70.741 0 128 57.249 128 128 0 70.741-57.249 128-128 128-70.741 0-128-57.249-128-128zm320 128h-48.905c65.217-72.858 65.236-183.12 0-256H384c70.741 0 128 57.249 128 128 0 70.74-57.249 128-128 128z',\n\t],\n};\nvar faToggleOn = {\n\tprefix: 'fas',\n\ticonName: 'toggle-on',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f205',\n\t\t'M576 256c0 106.039-85.961 192-192 192H192C85.961 448 0 362.039 0 256S85.961 64 192 64h192c106.039 0 192 85.961 192 192zM384 128c-70.741 0-128 57.249-128 128 0 70.741 57.249 128 128 128 70.741 0 128-57.249 128-128 0-70.741-57.249-128-128-128',\n\t],\n};\nvar faTrademark = {\n\tprefix: 'fas',\n\ticonName: 'trademark',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f25c',\n\t\t'M97.119 163.133H12c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h248.559c6.627 0 12 5.373 12 12v43.133c0 6.627-5.373 12-12 12H175.44V404c0 6.627-5.373 12-12 12h-54.322c-6.627 0-12-5.373-12-12V163.133zM329.825 96h65.425a12 12 0 0 1 11.346 8.093l43.759 127.068c7.161 20.588 16.111 52.812 16.111 52.812h.896s8.95-32.224 16.111-52.812l43.758-127.068A12 12 0 0 1 538.577 96h65.41a12 12 0 0 1 11.961 11.03l24.012 296c.567 6.987-4.951 12.97-11.961 12.97h-54.101a12 12 0 0 1-11.972-11.182l-9.082-132.93c-1.79-24.168 0-53.706 0-53.706h-.896s-10.741 33.566-17.902 53.706l-30.7 84.731a12 12 0 0 1-11.282 7.912h-50.302a12 12 0 0 1-11.282-7.912l-30.7-84.731c-7.161-20.14-17.903-53.706-17.903-53.706h-.895s1.79 29.538 0 53.706l-9.082 132.93c-.428 6.295-5.66 11.182-11.97 11.182H305.4c-7.017 0-12.536-5.994-11.959-12.987l24.425-296A11.999 11.999 0 0 1 329.825 96z',\n\t],\n};\nvar faTrain = {\n\tprefix: 'fas',\n\ticonName: 'train',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f238',\n\t\t'M448 96v256c0 51.815-61.624 96-130.022 96l62.98 49.721C386.905 502.417 383.562 512 376 512H72c-7.578 0-10.892-9.594-4.957-14.279L130.022 448C61.82 448 0 403.954 0 352V96C0 42.981 64 0 128 0h192c65 0 128 42.981 128 96zm-48 136V120c0-13.255-10.745-24-24-24H72c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24zm-176 64c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56z',\n\t],\n};\nvar faTransgender = {\n\tprefix: 'fas',\n\ticonName: 'transgender',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f224',\n\t\t'M372 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7C198.5 104.1 172.2 96 144 96 64.5 96 0 160.5 0 240c0 68.5 47.9 125.9 112 140.4V408H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v28c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-28h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-27.6c64.1-14.6 112-71.9 112-140.4 0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V12c0-6.6-5.4-12-12-12zM144 320c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z',\n\t],\n};\nvar faTransgenderAlt = {\n\tprefix: 'fas',\n\ticonName: 'transgender-alt',\n\ticon: [\n\t\t480,\n\t\t512,\n\t\t[],\n\t\t'f225',\n\t\t'M468 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7C294.5 104.1 268.2 96 240 96c-28.2 0-54.5 8.1-76.7 22.1l-16.5-16.5 19.8-19.8c4.7-4.7 4.7-12.3 0-17l-28.3-28.3c-4.7-4.7-12.3-4.7-17 0l-19.8 19.8-19-19 16.9-16.9C107.1 12.9 101.7 0 91 0H12C5.4 0 0 5.4 0 12v79c0 10.7 12.9 16 20.5 8.5l16.9-16.9 19 19-19.8 19.8c-4.7 4.7-4.7 12.3 0 17l28.3 28.3c4.7 4.7 12.3 4.7 17 0l19.8-19.8 16.5 16.5C104.1 185.5 96 211.8 96 240c0 68.5 47.9 125.9 112 140.4V408h-36c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v28c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-28h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-27.6c64.1-14.6 112-71.9 112-140.4 0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V12c0-6.6-5.4-12-12-12zM240 320c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z',\n\t],\n};\nvar faTrash = {\n\tprefix: 'fas',\n\ticonName: 'trash',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f1f8',\n\t\t'M0 84V56c0-13.3 10.7-24 24-24h112l9.4-18.7c4-8.2 12.3-13.3 21.4-13.3h114.3c9.1 0 17.4 5.1 21.5 13.3L312 32h112c13.3 0 24 10.7 24 24v28c0 6.6-5.4 12-12 12H12C5.4 96 0 90.6 0 84zm415.2 56.7L394.8 467c-1.6 25.3-22.6 45-47.9 45H101.1c-25.3 0-46.3-19.7-47.9-45L32.8 140.7c-.4-6.9 5.1-12.7 12-12.7h358.5c6.8 0 12.3 5.8 11.9 12.7z',\n\t],\n};\nvar faTrashAlt = {\n\tprefix: 'fas',\n\ticonName: 'trash-alt',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f2ed',\n\t\t'M0 84V56c0-13.3 10.7-24 24-24h112l9.4-18.7c4-8.2 12.3-13.3 21.4-13.3h114.3c9.1 0 17.4 5.1 21.5 13.3L312 32h112c13.3 0 24 10.7 24 24v28c0 6.6-5.4 12-12 12H12C5.4 96 0 90.6 0 84zm416 56v324c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V140c0-6.6 5.4-12 12-12h360c6.6 0 12 5.4 12 12zm-272 68c0-8.8-7.2-16-16-16s-16 7.2-16 16v224c0 8.8 7.2 16 16 16s16-7.2 16-16V208zm96 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v224c0 8.8 7.2 16 16 16s16-7.2 16-16V208zm96 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v224c0 8.8 7.2 16 16 16s16-7.2 16-16V208z',\n\t],\n};\nvar faTree = {\n\tprefix: 'fas',\n\ticonName: 'tree',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f1bb',\n\t\t'M377.33 375.429L293.906 288H328c21.017 0 31.872-25.207 17.448-40.479L262.79 160H296c20.878 0 31.851-24.969 17.587-40.331l-104-112.003c-9.485-10.214-25.676-10.229-35.174 0l-104 112.003C56.206 134.969 67.037 160 88 160h33.21l-82.659 87.521C24.121 262.801 34.993 288 56 288h34.094L6.665 375.429C-7.869 390.655 2.925 416 24.025 416H144c0 32.781-11.188 49.26-33.995 67.506C98.225 492.93 104.914 512 120 512h144c15.086 0 21.776-19.069 9.995-28.494-19.768-15.814-33.992-31.665-33.995-67.496V416h119.97c21.05 0 31.929-25.309 17.36-40.571z',\n\t],\n};\nvar faTrophy = {\n\tprefix: 'fas',\n\ticonName: 'trophy',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f091',\n\t\t'M552 64H448V24c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24v40H24C10.7 64 0 74.7 0 88v56c0 35.7 22.5 72.4 61.9 100.7 31.5 22.7 69.8 37.1 110 41.7C203.3 338.5 240 360 240 360v72h-48c-35.3 0-64 20.7-64 56v12c0 6.6 5.4 12 12 12h296c6.6 0 12-5.4 12-12v-12c0-35.3-28.7-56-64-56h-48v-72s36.7-21.5 68.1-73.6c40.3-4.6 78.6-19 110-41.7 39.3-28.3 61.9-65 61.9-100.7V88c0-13.3-10.7-24-24-24zM99.3 192.8C74.9 175.2 64 155.6 64 144v-16h64.2c1 32.6 5.8 61.2 12.8 86.2-15.1-5.2-29.2-12.4-41.7-21.4zM512 144c0 16.1-17.7 36.1-35.3 48.8-12.5 9-26.7 16.2-41.8 21.4 7-25 11.8-53.6 12.8-86.2H512v16z',\n\t],\n};\nvar faTruck = {\n\tprefix: 'fas',\n\ticonName: 'truck',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f0d1',\n\t\t'M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h16c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm320 0c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z',\n\t],\n};\nvar faTty = {\n\tprefix: 'fas',\n\ticonName: 'tty',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f1e4',\n\t\t'M5.37 103.822c138.532-138.532 362.936-138.326 501.262 0 6.078 6.078 7.074 15.496 2.583 22.681l-43.214 69.138a18.332 18.332 0 0 1-22.356 7.305l-86.422-34.569a18.335 18.335 0 0 1-11.434-18.846L351.741 90c-62.145-22.454-130.636-21.986-191.483 0l5.953 59.532a18.331 18.331 0 0 1-11.434 18.846l-86.423 34.568a18.334 18.334 0 0 1-22.356-7.305L2.787 126.502a18.333 18.333 0 0 1 2.583-22.68zM96 308v-40c0-6.627-5.373-12-12-12H44c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12H92c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zM96 500v-40c0-6.627-5.373-12-12-12H44c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm288 0v-40c0-6.627-5.373-12-12-12H140c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z',\n\t],\n};\nvar faTv = {\n\tprefix: 'fas',\n\ticonName: 'tv',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f26c',\n\t\t'M592 0H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h245.1v32h-160c-17.7 0-32 14.3-32 32s14.3 32 32 32h384c17.7 0 32-14.3 32-32s-14.3-32-32-32h-160v-32H592c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-16 352H64V64h512v288z',\n\t],\n};\nvar faUmbrella = {\n\tprefix: 'fas',\n\ticonName: 'umbrella',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f0e9',\n\t\t'M557.011 267.631c-51.432-45.217-107.572-43.698-158.567 30.731-5.298 7.861-14.906 7.165-19.736 0-2.483-3.624-32.218-60.808-90.708-60.808-45.766 0-70.542 31.378-90.709 60.808-4.829 7.165-14.436 7.861-19.734 0-50.904-74.285-106.613-76.406-158.567-30.731-10.21 8.264-20.912-1.109-18.696-9.481C32.146 134.573 158.516 64.612 288.001 64.612c128.793 0 256.546 69.961 287.706 193.538 2.206 8.322-8.426 17.793-18.696 9.481zM256 261.001V416c0 17.645-14.355 32-32 32s-32-14.355-32-32c0-17.673-14.327-32-32-32s-32 14.327-32 32c0 52.935 43.065 96 96 96s96-43.065 96-96V261.288c-21.836-10.806-45.425-9.737-64-.287zm64-211.007V32c0-17.673-14.327-32-32-32s-32 14.327-32 32v17.987a372.105 372.105 0 0 1 64 .007z',\n\t],\n};\nvar faUnderline = {\n\tprefix: 'fas',\n\ticonName: 'underline',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f0cd',\n\t\t'M224.264 388.24c-91.669 0-156.603-51.165-156.603-151.392V64H39.37c-8.837 0-16-7.163-16-16V16c0-8.837 7.163-16 16-16h137.39c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16h-28.813v172.848c0 53.699 28.314 79.444 76.317 79.444 46.966 0 75.796-25.434 75.796-79.965V64h-28.291c-8.837 0-16-7.163-16-16V16c0-8.837 7.163-16 16-16h136.868c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16h-28.291v172.848c0 99.405-64.881 151.392-156.082 151.392zM16 448h416c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H16c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16z',\n\t],\n};\nvar faUndo = {\n\tprefix: 'fas',\n\ticonName: 'undo',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f0e2',\n\t\t'M212.333 224.333H12c-6.627 0-12-5.373-12-12V12C0 5.373 5.373 0 12 0h48c6.627 0 12 5.373 12 12v78.112C117.773 39.279 184.26 7.47 258.175 8.007c136.906.994 246.448 111.623 246.157 248.532C504.041 393.258 393.12 504 256.333 504c-64.089 0-122.496-24.313-166.51-64.215-5.099-4.622-5.334-12.554-.467-17.42l33.967-33.967c4.474-4.474 11.662-4.717 16.401-.525C170.76 415.336 211.58 432 256.333 432c97.268 0 176-78.716 176-176 0-97.267-78.716-176-176-176-58.496 0-110.28 28.476-142.274 72.333h98.274c6.627 0 12 5.373 12 12v48c0 6.627-5.373 12-12 12z',\n\t],\n};\nvar faUndoAlt = {\n\tprefix: 'fas',\n\ticonName: 'undo-alt',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f2ea',\n\t\t'M255.545 8c-66.269.119-126.438 26.233-170.86 68.685L48.971 40.971C33.851 25.851 8 36.559 8 57.941V192c0 13.255 10.745 24 24 24h134.059c21.382 0 32.09-25.851 16.971-40.971l-41.75-41.75c30.864-28.899 70.801-44.907 113.23-45.273 92.398-.798 170.283 73.977 169.484 169.442C423.236 348.009 349.816 424 256 424c-41.127 0-79.997-14.678-110.63-41.556-4.743-4.161-11.906-3.908-16.368.553L89.34 422.659c-4.872 4.872-4.631 12.815.482 17.433C133.798 479.813 192.074 504 256 504c136.966 0 247.999-111.033 248-247.998C504.001 119.193 392.354 7.755 255.545 8z',\n\t],\n};\nvar faUniversalAccess = {\n\tprefix: 'fas',\n\ticonName: 'universal-access',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f29a',\n\t\t'M256 48c114.953 0 208 93.029 208 208 0 114.953-93.029 208-208 208-114.953 0-208-93.029-208-208 0-114.953 93.029-208 208-208m0-40C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 56C149.961 64 64 149.961 64 256s85.961 192 192 192 192-85.961 192-192S362.039 64 256 64zm0 44c19.882 0 36 16.118 36 36s-16.118 36-36 36-36-16.118-36-36 16.118-36 36-36zm117.741 98.023c-28.712 6.779-55.511 12.748-82.14 15.807.851 101.023 12.306 123.052 25.037 155.621 3.617 9.26-.957 19.698-10.217 23.315-9.261 3.617-19.699-.957-23.316-10.217-8.705-22.308-17.086-40.636-22.261-78.549h-9.686c-5.167 37.851-13.534 56.208-22.262 78.549-3.615 9.255-14.05 13.836-23.315 10.217-9.26-3.617-13.834-14.056-10.217-23.315 12.713-32.541 24.185-54.541 25.037-155.621-26.629-3.058-53.428-9.027-82.141-15.807-8.6-2.031-13.926-10.648-11.895-19.249s10.647-13.926 19.249-11.895c96.686 22.829 124.283 22.783 220.775 0 8.599-2.03 17.218 3.294 19.249 11.895 2.029 8.601-3.297 17.219-11.897 19.249z',\n\t],\n};\nvar faUniversity = {\n\tprefix: 'fas',\n\ticonName: 'university',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f19c',\n\t\t'M496 128v16a8 8 0 0 1-8 8h-24v12c0 6.627-5.373 12-12 12H60c-6.627 0-12-5.373-12-12v-12H24a8 8 0 0 1-8-8v-16a8 8 0 0 1 4.941-7.392l232-88a7.996 7.996 0 0 1 6.118 0l232 88A8 8 0 0 1 496 128zm-24 304H40c-13.255 0-24 10.745-24 24v16a8 8 0 0 0 8 8h464a8 8 0 0 0 8-8v-16c0-13.255-10.745-24-24-24zM96 192v192H60c-6.627 0-12 5.373-12 12v20h416v-20c0-6.627-5.373-12-12-12h-36V192h-64v192h-64V192h-64v192h-64V192H96z',\n\t],\n};\nvar faUnlink = {\n\tprefix: 'fas',\n\ticonName: 'unlink',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f127',\n\t\t'M304.083 405.907c4.686 4.686 4.686 12.284 0 16.971l-44.674 44.674c-59.263 59.262-155.693 59.266-214.961 0-59.264-59.265-59.264-155.696 0-214.96l44.675-44.675c4.686-4.686 12.284-4.686 16.971 0l39.598 39.598c4.686 4.686 4.686 12.284 0 16.971l-44.675 44.674c-28.072 28.073-28.072 73.75 0 101.823 28.072 28.072 73.75 28.073 101.824 0l44.674-44.674c4.686-4.686 12.284-4.686 16.971 0l39.597 39.598zm-56.568-260.216c4.686 4.686 12.284 4.686 16.971 0l44.674-44.674c28.072-28.075 73.75-28.073 101.824 0 28.072 28.073 28.072 73.75 0 101.823l-44.675 44.674c-4.686 4.686-4.686 12.284 0 16.971l39.598 39.598c4.686 4.686 12.284 4.686 16.971 0l44.675-44.675c59.265-59.265 59.265-155.695 0-214.96-59.266-59.264-155.695-59.264-214.961 0l-44.674 44.674c-4.686 4.686-4.686 12.284 0 16.971l39.597 39.598zm234.828 359.28l22.627-22.627c9.373-9.373 9.373-24.569 0-33.941L63.598 7.029c-9.373-9.373-24.569-9.373-33.941 0L7.029 29.657c-9.373 9.373-9.373 24.569 0 33.941l441.373 441.373c9.373 9.372 24.569 9.372 33.941 0z',\n\t],\n};\nvar faUnlock = {\n\tprefix: 'fas',\n\ticonName: 'unlock',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f09c',\n\t\t'M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z',\n\t],\n};\nvar faUnlockAlt = {\n\tprefix: 'fas',\n\ticonName: 'unlock-alt',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f13e',\n\t\t'M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48zM264 408c0 22.1-17.9 40-40 40s-40-17.9-40-40v-48c0-22.1 17.9-40 40-40s40 17.9 40 40v48z',\n\t],\n};\nvar faUpload = {\n\tprefix: 'fas',\n\ticonName: 'upload',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f093',\n\t\t'M296 384h-80c-13.3 0-24-10.7-24-24V192h-87.7c-17.8 0-26.7-21.5-14.1-34.1L242.3 5.7c7.5-7.5 19.8-7.5 27.3 0l152.2 152.2c12.6 12.6 3.7 34.1-14.1 34.1H320v168c0 13.3-10.7 24-24 24zm216-8v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h136v8c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56v-8h136c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z',\n\t],\n};\nvar faUser = {\n\tprefix: 'fas',\n\ticonName: 'user',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f007',\n\t\t'M256 0c88.366 0 160 71.634 160 160s-71.634 160-160 160S96 248.366 96 160 167.634 0 256 0zm183.283 333.821l-71.313-17.828c-74.923 53.89-165.738 41.864-223.94 0l-71.313 17.828C29.981 344.505 0 382.903 0 426.955V464c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48v-37.045c0-44.052-29.981-82.45-72.717-93.134z',\n\t],\n};\nvar faUserCircle = {\n\tprefix: 'fas',\n\ticonName: 'user-circle',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f2bd',\n\t\t'M8 256C8 119.033 119.033 8 256 8s248 111.033 248 248-111.033 248-248 248S8 392.967 8 256zm72.455 125.868C119.657 436.446 183.673 472 256 472s136.343-35.554 175.545-90.132c-3.141-26.99-22.667-49.648-49.538-56.366l-32.374-8.093C323.565 339.79 290.722 352 256 352s-67.565-12.21-93.634-34.591l-32.374 8.093c-26.87 6.718-46.396 29.376-49.537 56.366zM144 208c0 61.856 50.144 112 112 112s112-50.144 112-112S317.856 96 256 96s-112 50.144-112 112z',\n\t],\n};\nvar faUserMd = {\n\tprefix: 'fas',\n\ticonName: 'user-md',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f0f0',\n\t\t'M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zM104 424c0 13.3 10.7 24 24 24s24-10.7 24-24-10.7-24-24-24-24 10.7-24 24zm250.4-151.6l-34.4-5.7v55c36.5 7.4 64 39.8 64 78.4v56c0 7.6-5.4 14.2-12.9 15.7l-32.2 6.4c-4.3.9-8.5-1.9-9.4-6.3l-3.1-15.7c-.9-4.3 1.9-8.6 6.3-9.4l19.3-3.9V400c0-29.6-26.9-53-57.6-47.1-22.8 4.4-38.4 25.8-38.4 49v41l19.3 3.9c4.3.9 7.1 5.1 6.3 9.4l-3.1 15.7c-.9 4.3-5.1 7.1-9.4 6.3l-31.2-4.2c-7.9-1.1-13.8-7.8-13.8-15.9v-58c0-38.6 27.5-70.9 64-78.4v-47.2c-19.6 8.6-41.2 13.6-64 13.6-29.3 0-56.4-8.5-80-22.3v104.9c23.1 6.9 40 28.1 40 53.4 0 30.9-25.1 56-56 56s-56-25.1-56-56c0-25.3 16.9-46.5 40-53.4V269.3l-18.4 3.1c-54 9-93.6 55.7-93.6 110.5V480c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32v-97.1c-.1-54.8-39.7-101.5-93.7-110.5z',\n\t],\n};\nvar faUserPlus = {\n\tprefix: 'fas',\n\ticonName: 'user-plus',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f234',\n\t\t'M224 32c77.32 0 140 62.68 140 140s-62.68 140-140 140S84 249.32 84 172 146.68 32 224 32zm160.373 292.093l-62.399-15.6c-65.557 47.154-145.021 36.631-195.948 0l-62.399 15.6C26.233 333.442 0 367.04 0 405.585V438c0 23.196 18.804 42 42 42h364c23.196 0 42-18.804 42-42v-32.415c0-38.545-26.233-72.143-63.627-81.492zM628 224.889h-68.889V156c0-6.627-5.373-12-12-12h-38.222c-6.627 0-12 5.373-12 12l-.002 68.887-68.887.002c-6.627 0-12 5.373-12 12v38.222c0 6.627 5.373 12 12 12l68.887.002.002 68.887c0 6.627 5.373 12 12 12h38.222c6.627 0 12-5.373 12-12l.002-68.887 68.887-.002c6.627 0 12-5.373 12-12v-38.222c0-6.627-5.373-12-12-12z',\n\t],\n};\nvar faUserSecret = {\n\tprefix: 'fas',\n\ticonName: 'user-secret',\n\ticon: [\n\t\t448,\n\t\t512,\n\t\t[],\n\t\t'f21b',\n\t\t'M388.829 295.324l20.972-55.052c2.992-7.854-2.809-16.272-11.214-16.272H340.39c7.45-16.236 11.61-34.297 11.61-53.333 0-3.631-.16-7.224-.456-10.778C391.083 152.074 416 140.684 416 128c0-13.263-27.231-25.112-69.947-32.937-9.185-32.805-27.178-65.797-40.714-82.85-9.452-11.908-25.873-15.634-39.471-8.834l-27.557 13.779a31.997 31.997 0 0 1-28.622 0l-27.557-13.78c-13.599-6.799-30.02-3.074-39.471 8.834-13.536 17.053-31.529 50.045-40.714 82.85C59.231 102.888 32 114.737 32 128c0 12.684 24.917 24.074 64.456 31.889A129.362 129.362 0 0 0 96 170.667c0 19.037 4.159 37.098 11.608 53.333h-57.41c-8.615 0-14.423 8.808-11.029 16.727l22.906 53.447C25.799 307.882 0 342.925 0 384v80c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48v-80c0-39.97-24.43-74.231-59.171-88.676zM184 488l-48-192 48 24 24 40-24 128zm80 0l-24-128 24-40 48-24-48 192zm54.778-303.746c-.008.043-4.299 3.231-5.125 5.771-3.861 11.864-7.026 24.572-16.514 33.359-10.071 9.327-47.957 22.405-63.996-25.029-2.837-8.395-15.447-8.398-18.285 0-16.963 50.168-56.019 32.417-63.996 25.029-9.488-8.786-12.653-21.495-16.514-33.359-.826-2.54-5.118-5.728-5.125-5.771-.554-2.925-.981-5.884-1.22-8.85-.309-3.848 10.078-3.658 11.078-3.747 26.303-2.326 52.303-.579 78.023 5.497 2.563.606 11.553.529 13.793 0 25.72-6.076 51.72-7.824 78.023-5.497 1.002.089 11.387-.102 11.078 3.747-.239 2.966-.666 5.925-1.22 8.85z',\n\t],\n};\nvar faUserTimes = {\n\tprefix: 'fas',\n\ticonName: 'user-times',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f235',\n\t\t'M224 32c77.32 0 140 62.68 140 140s-62.68 140-140 140S84 249.32 84 172 146.68 32 224 32zm160.373 292.093l-62.399-15.6c-65.557 47.154-145.021 36.631-195.948 0l-62.399 15.6C26.233 333.442 0 367.04 0 405.585V438c0 23.196 18.804 42 42 42h364c23.196 0 42-18.804 42-42v-32.415c0-38.545-26.233-72.143-63.627-81.492zM587.897 256l48.596-48.598c4.675-4.675 4.675-12.256 0-16.931l-26.964-26.964c-4.675-4.675-12.256-4.675-16.931 0L544 212.105l-48.598-48.598c-4.675-4.675-12.256-4.675-16.931 0l-26.964 26.964c-4.675 4.675-4.675 12.256 0 16.931L500.103 256l-48.596 48.598c-4.675 4.675-4.675 12.256 0 16.931l26.964 26.964c4.675 4.675 12.256 4.675 16.931 0L544 299.897l48.598 48.596c4.675 4.675 12.256 4.675 16.931 0l26.964-26.964c4.675-4.675 4.675-12.256 0-16.931L587.897 256z',\n\t],\n};\nvar faUsers = {\n\tprefix: 'fas',\n\ticonName: 'users',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f0c0',\n\t\t'M320 64c57.99 0 105 47.01 105 105s-47.01 105-105 105-105-47.01-105-105S262.01 64 320 64zm113.463 217.366l-39.982-9.996c-49.168 35.365-108.766 27.473-146.961 0l-39.982 9.996C174.485 289.379 152 318.177 152 351.216V412c0 19.882 16.118 36 36 36h264c19.882 0 36-16.118 36-36v-60.784c0-33.039-22.485-61.837-54.537-69.85zM528 300c38.66 0 70-31.34 70-70s-31.34-70-70-70-70 31.34-70 70 31.34 70 70 70zm-416 0c38.66 0 70-31.34 70-70s-31.34-70-70-70-70 31.34-70 70 31.34 70 70 70zm24 112v-60.784c0-16.551 4.593-32.204 12.703-45.599-29.988 14.72-63.336 8.708-85.69-7.37l-26.655 6.664C14.99 310.252 0 329.452 0 351.477V392c0 13.255 10.745 24 24 24h112.169a52.417 52.417 0 0 1-.169-4zm467.642-107.09l-26.655-6.664c-27.925 20.086-60.89 19.233-85.786 7.218C499.369 318.893 504 334.601 504 351.216V412c0 1.347-.068 2.678-.169 4H616c13.255 0 24-10.745 24-24v-40.523c0-22.025-14.99-41.225-36.358-46.567z',\n\t],\n};\nvar faUtensilSpoon = {\n\tprefix: 'fas',\n\ticonName: 'utensil-spoon',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f2e5',\n\t\t'M480.1 31.9c-55-55.1-164.9-34.5-227.8 28.5-49.3 49.3-55.1 110-28.8 160.4L9 413.2c-11.6 10.5-12.1 28.5-1 39.5L59.3 504c11 11 29.1 10.5 39.5-1.1l192.4-214.4c50.4 26.3 111.1 20.5 160.4-28.8 63-62.9 83.6-172.8 28.5-227.8z',\n\t],\n};\nvar faUtensils = {\n\tprefix: 'fas',\n\ticonName: 'utensils',\n\ticon: [\n\t\t416,\n\t\t512,\n\t\t[],\n\t\t'f2e7',\n\t\t'M207.9 15.2c.8 4.7 16.1 94.5 16.1 128.8 0 52.3-27.8 89.6-68.9 104.6L168 486.7c.7 13.7-10.2 25.3-24 25.3H80c-13.7 0-24.7-11.5-24-25.3l12.9-238.1C27.7 233.6 0 196.2 0 144 0 109.6 15.3 19.9 16.1 15.2 19.3-5.1 61.4-5.4 64 16.3v141.2c1.3 3.4 15.1 3.2 16 0 1.4-25.3 7.9-139.2 8-141.8 3.3-20.8 44.7-20.8 47.9 0 .2 2.7 6.6 116.5 8 141.8.9 3.2 14.8 3.4 16 0V16.3c2.6-21.6 44.8-21.4 48-1.1zm119.2 285.7l-15 185.1c-1.2 14 9.9 26 23.9 26h56c13.3 0 24-10.7 24-24V24c0-13.2-10.7-24-24-24-82.5 0-221.4 178.5-64.9 300.9z',\n\t],\n};\nvar faVenus = {\n\tprefix: 'fas',\n\ticonName: 'venus',\n\ticon: [\n\t\t288,\n\t\t512,\n\t\t[],\n\t\t'f221',\n\t\t'M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V368H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80z',\n\t],\n};\nvar faVenusDouble = {\n\tprefix: 'fas',\n\ticonName: 'venus-double',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f226',\n\t\t'M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V368H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80zm336 140.4V368h36c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-36v36c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-36h-36c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h36v-51.6c-21.2-4.8-40.6-14.3-57.2-27.3 14-16.7 25-36 32.1-57.1 14.5 14.8 34.7 24 57.1 24 44.1 0 80-35.9 80-80s-35.9-80-80-80c-22.3 0-42.6 9.2-57.1 24-7.1-21.1-18-40.4-32.1-57.1C303.4 43.6 334.3 32 368 32c79.5 0 144 64.5 144 144 0 68.5-47.9 125.9-112 140.4z',\n\t],\n};\nvar faVenusMars = {\n\tprefix: 'fas',\n\ticonName: 'venus-mars',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f228',\n\t\t'M564 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7C422.5 72.1 396.2 64 368 64c-33.7 0-64.6 11.6-89.2 30.9 14 16.7 25 36 32.1 57.1 14.5-14.8 34.7-24 57.1-24 44.1 0 80 35.9 80 80s-35.9 80-80 80c-22.3 0-42.6-9.2-57.1-24-7.1 21.1-18 40.4-32.1 57.1 24.5 19.4 55.5 30.9 89.2 30.9 79.5 0 144-64.5 144-144 0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.4 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12V12c0-6.6-5.4-12-12-12zM144 64C64.5 64 0 128.5 0 208c0 68.5 47.9 125.9 112 140.4V400H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.6 112-71.9 112-140.4 0-79.5-64.5-144-144-144zm0 224c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z',\n\t],\n};\nvar faVideo = {\n\tprefix: 'fas',\n\ticonName: 'video',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f03d',\n\t\t'M528 64h-12.118a48 48 0 0 0-33.941 14.059L384 176v-64c0-26.51-21.49-48-48-48H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48v-64l97.941 97.941A48 48 0 0 0 515.882 448H528c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48z',\n\t],\n};\nvar faVolleyballBall = {\n\tprefix: 'fas',\n\ticonName: 'volleyball-ball',\n\ticon: [\n\t\t495,\n\t\t512,\n\t\t[],\n\t\t'f45f',\n\t\t'M223.3 243.4c-.9-37-8.6-72.8-22.7-105.7-90.8 42.4-157.5 122.4-180.3 216.8 13.4 30.8 32.9 58.3 56.9 81.1 22.7-79.2 74.2-147.8 146.1-192.2zM186.4 109c-15-26.4-34.5-50.1-57.4-70.7C38 88.1-15.8 191.2 4 300.5c33.4-83.1 98.4-152 182.4-191.5zM374 274.1c8.6-99.8-27.3-197.5-97.5-264.4-14.7-1.7-51.6-5.5-98.9 8.5 57.3 59.3 91 138.2 93.5 222.7 32.5 17.7 67.3 29 102.9 33.2zm-124.7 9.5c-31.6 19.3-58.7 43.9-80.2 72.6 82 57.3 184.5 75.1 277.5 47.8 19.7-26.4 34.2-56.8 42.2-89.9-26.6 6.6-53.7 10.4-80.9 10.4-54.6-.1-108.9-14.1-158.6-40.9zM151 383.3c-15.2 26-25.7 54.4-32.1 84.2 37.6 23 81.7 36.5 129.1 36.5 61 0 116.7-22.1 159.9-58.6C295 461.5 204.6 420.6 151 383.3zM331.3 22.7c55.3 70.4 82.5 161.2 74.6 253.6 30.3.2 60.5-4.8 89.7-14.2 0-2 .3-4 .3-6 0-107.8-68.7-199.1-164.6-233.4z',\n\t],\n};\nvar faVolumeDown = {\n\tprefix: 'fas',\n\ticonName: 'volume-down',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f027',\n\t\t'M256 88.017v335.964c0 21.438-25.943 31.998-40.971 16.971L126.059 352H24c-13.255 0-24-10.745-24-24V184c0-13.255 10.745-24 24-24h102.059l88.971-88.954c15.01-15.01 40.97-4.49 40.97 16.971zM384 256c0-33.717-17.186-64.35-45.972-81.944-15.079-9.214-34.775-4.463-43.992 10.616s-4.464 34.775 10.615 43.992C314.263 234.538 320 244.757 320 256a32.056 32.056 0 0 1-13.802 26.332c-14.524 10.069-18.136 30.006-8.067 44.53 10.07 14.525 30.008 18.136 44.53 8.067C368.546 316.983 384 287.478 384 256z',\n\t],\n};\nvar faVolumeOff = {\n\tprefix: 'fas',\n\ticonName: 'volume-off',\n\ticon: [\n\t\t256,\n\t\t512,\n\t\t[],\n\t\t'f026',\n\t\t'M256 88.017v335.964c0 21.438-25.943 31.998-40.971 16.971L126.059 352H24c-13.255 0-24-10.745-24-24V184c0-13.255 10.745-24 24-24h102.059l88.971-88.954c15.01-15.01 40.97-4.49 40.97 16.971z',\n\t],\n};\nvar faVolumeUp = {\n\tprefix: 'fas',\n\ticonName: 'volume-up',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f028',\n\t\t'M256 88.017v335.964c0 21.438-25.943 31.998-40.971 16.971L126.059 352H24c-13.255 0-24-10.745-24-24V184c0-13.255 10.745-24 24-24h102.059l88.971-88.954c15.01-15.01 40.97-4.49 40.97 16.971zm182.056-77.876C422.982.92 403.283 5.668 394.061 20.745c-9.221 15.077-4.473 34.774 10.604 43.995C468.967 104.063 512 174.983 512 256c0 73.431-36.077 142.292-96.507 184.206-14.522 10.072-18.129 30.01-8.057 44.532 10.076 14.528 30.016 18.126 44.531 8.057C529.633 438.927 576 350.406 576 256c0-103.244-54.579-194.877-137.944-245.859zM480 256c0-68.547-36.15-129.777-91.957-163.901-15.076-9.22-34.774-4.471-43.994 10.607-9.22 15.078-4.471 34.774 10.607 43.994C393.067 170.188 416 211.048 416 256c0 41.964-20.62 81.319-55.158 105.276-14.521 10.073-18.128 30.01-8.056 44.532 6.216 8.96 16.185 13.765 26.322 13.765a31.862 31.862 0 0 0 18.21-5.709C449.091 377.953 480 318.938 480 256zm-96 0c0-33.717-17.186-64.35-45.972-81.944-15.079-9.214-34.775-4.463-43.992 10.616s-4.464 34.775 10.615 43.992C314.263 234.538 320 244.757 320 256a32.056 32.056 0 0 1-13.802 26.332c-14.524 10.069-18.136 30.006-8.067 44.53 10.07 14.525 30.008 18.136 44.53 8.067C368.546 316.983 384 287.478 384 256z',\n\t],\n};\nvar faWarehouse = {\n\tprefix: 'fas',\n\ticonName: 'warehouse',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f494',\n\t\t'M504 352H136.4c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8H504c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0 96H136.1c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0-192H136.6c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8H504c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm106.5-139L338.4 3.7a48.15 48.15 0 0 0-36.9 0L29.5 117C11.7 124.5 0 141.9 0 161.3V504c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V256c0-17.6 14.6-32 32.6-32h382.8c18 0 32.6 14.4 32.6 32v248c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V161.3c0-19.4-11.7-36.8-29.5-44.3z',\n\t],\n};\nvar faWeight = {\n\tprefix: 'fas',\n\ticonName: 'weight',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f496',\n\t\t'M448 64h-26c16.4 28.3 26 61 26 96 0 105.9-86.1 192-192 192S64 265.9 64 160c0-35 9.6-67.7 26-96H64C28.7 64 0 92.7 0 128v320c0 35.3 28.7 64 64 64h384c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zM256 320c88.4 0 160-71.6 160-160S344.4 0 256 0 96 71.6 96 160s71.6 160 160 160zm-.3-151.9l33.6-78.4c3.5-8.2 12.9-11.9 21-8.4s11.9 12.9 8.4 21L285 180.9c6.7 7.1 10.9 16.6 10.9 27.1 0 22.1-17.9 40-40 40s-40-17.9-40-40c.1-22 17.9-39.8 39.8-39.9z',\n\t],\n};\nvar faWheelchair = {\n\tprefix: 'fas',\n\ticonName: 'wheelchair',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f193',\n\t\t'M496.101 385.669l14.227 28.663c3.929 7.915.697 17.516-7.218 21.445l-65.465 32.886c-16.049 7.967-35.556 1.194-43.189-15.055L331.679 320H192c-15.925 0-29.426-11.71-31.679-27.475C126.433 55.308 128.38 70.044 128 64c0-36.358 30.318-65.635 67.052-63.929 33.271 1.545 60.048 28.905 60.925 62.201.868 32.933-23.152 60.423-54.608 65.039l4.67 32.69H336c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H215.182l4.572 32H352a32 32 0 0 1 28.962 18.392L438.477 396.8l36.178-18.349c7.915-3.929 17.517-.697 21.446 7.218zM311.358 352h-24.506c-7.788 54.204-54.528 96-110.852 96-61.757 0-112-50.243-112-112 0-41.505 22.694-77.809 56.324-97.156-3.712-25.965-6.844-47.86-9.488-66.333C45.956 198.464 0 261.963 0 336c0 97.047 78.953 176 176 176 71.87 0 133.806-43.308 161.11-105.192L311.358 352z',\n\t],\n};\nvar faWifi = {\n\tprefix: 'fas',\n\ticonName: 'wifi',\n\ticon: [\n\t\t640,\n\t\t512,\n\t\t[],\n\t\t'f1eb',\n\t\t'M384 416c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-35.346 28.654-64 64-64s64 28.654 64 64zm136.659-124.443c6.465-6.465 6.245-17.065-.564-23.167-113.793-101.985-286.526-101.869-400.19 0-6.809 6.102-7.029 16.702-.564 23.167l34.006 34.006c5.927 5.927 15.464 6.32 21.769.796 82.88-72.609 207.074-72.447 289.768 0 6.305 5.524 15.842 5.132 21.769-.796l34.006-34.006zm112.11-113.718c6.385-6.385 6.254-16.816-.35-22.973-175.768-163.86-449.134-163.8-624.837 0-6.604 6.157-6.735 16.589-.35 22.973l33.966 33.966c6.095 6.095 15.891 6.231 22.224.383 144.763-133.668 368.356-133.702 513.156 0 6.333 5.848 16.129 5.712 22.224-.383l33.967-33.966z',\n\t],\n};\nvar faWindowClose = {\n\tprefix: 'fas',\n\ticonName: 'window-close',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f410',\n\t\t'M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-83.6 290.5c4.8 4.8 4.8 12.6 0 17.4l-40.5 40.5c-4.8 4.8-12.6 4.8-17.4 0L256 313.3l-66.5 67.1c-4.8 4.8-12.6 4.8-17.4 0l-40.5-40.5c-4.8-4.8-4.8-12.6 0-17.4l67.1-66.5-67.1-66.5c-4.8-4.8-4.8-12.6 0-17.4l40.5-40.5c4.8-4.8 12.6-4.8 17.4 0l66.5 67.1 66.5-67.1c4.8-4.8 12.6-4.8 17.4 0l40.5 40.5c4.8 4.8 4.8 12.6 0 17.4L313.3 256l67.1 66.5z',\n\t],\n};\nvar faWindowMaximize = {\n\tprefix: 'fas',\n\ticonName: 'window-maximize',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f2d0',\n\t\t'M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-16 160H64v-84c0-6.6 5.4-12 12-12h360c6.6 0 12 5.4 12 12v84z',\n\t],\n};\nvar faWindowMinimize = {\n\tprefix: 'fas',\n\ticonName: 'window-minimize',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f2d1',\n\t\t'M464 352H48c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48v-32c0-26.5-21.5-48-48-48z',\n\t],\n};\nvar faWindowRestore = {\n\tprefix: 'fas',\n\ticonName: 'window-restore',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f2d2',\n\t\t'M512 48v288c0 26.5-21.5 48-48 48h-48V176c0-44.1-35.9-80-80-80H128V48c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zM384 176v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zm-68 28c0-6.6-5.4-12-12-12H76c-6.6 0-12 5.4-12 12v52h252v-52z',\n\t],\n};\nvar faWonSign = {\n\tprefix: 'fas',\n\ticonName: 'won-sign',\n\ticon: [\n\t\t576,\n\t\t512,\n\t\t[],\n\t\t'f159',\n\t\t'M564 192c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-48.028l18.572-80.61c1.732-7.518-3.978-14.694-11.693-14.694h-46.107a11.998 11.998 0 0 0-11.736 9.5L450.73 128H340.839l-19.725-85.987a12 12 0 0 0-11.696-9.317H265.43a12 12 0 0 0-11.687 9.277L233.696 128H124.975L107.5 42.299a12 12 0 0 0-11.758-9.602H53.628c-7.686 0-13.39 7.124-11.709 14.624L60 128H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h62.342l7.171 32H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h83.856l40.927 182.624A12 12 0 0 0 148.492 480h56.767c5.583 0 10.428-3.85 11.689-9.288L259.335 288h55.086l42.386 182.712A12 12 0 0 0 368.496 480h56.826a12 12 0 0 0 11.694-9.306L479.108 288H564c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-70.146l7.373-32H564zm-425.976 0h80.757l-7.457 32h-66.776l-6.524-32zm45.796 150.029c-6.194 25.831-6.758 47.25-7.321 47.25h-1.126s-1.689-22.05-6.758-47.25L157.599 288h38.812l-12.591 54.029zM274.182 224l1.996-8.602c1.856-7.962 3.457-15.968 4.803-23.398h11.794c1.347 7.43 2.947 15.436 4.803 23.398l1.996 8.602h-25.392zm130.959 118.029c-5.068 25.2-6.758 47.25-6.758 47.25h-1.126c-.563 0-1.126-21.42-7.321-47.25L377.542 288h39.107l-11.508 54.029zM430.281 224h-67.42l-7.34-32h81.577l-6.817 32z',\n\t],\n};\nvar faWrench = {\n\tprefix: 'fas',\n\ticonName: 'wrench',\n\ticon: [\n\t\t512,\n\t\t512,\n\t\t[],\n\t\t'f0ad',\n\t\t'M481.156 200c9.3 0 15.12 10.155 10.325 18.124C466.295 259.992 420.419 288 368 288c-79.222 0-143.501-63.974-143.997-143.079C223.505 65.469 288.548-.001 368.002 0c52.362.001 98.196 27.949 123.4 69.743C496.24 77.766 490.523 88 481.154 88H376l-40 56 40 56h105.156zm-171.649 93.003L109.255 493.255c-24.994 24.993-65.515 24.994-90.51 0-24.993-24.994-24.993-65.516 0-90.51L218.991 202.5c16.16 41.197 49.303 74.335 90.516 90.503zM104 432c0-13.255-10.745-24-24-24s-24 10.745-24 24 10.745 24 24 24 24-10.745 24-24z',\n\t],\n};\nvar faYenSign = {\n\tprefix: 'fas',\n\ticonName: 'yen-sign',\n\ticon: [\n\t\t384,\n\t\t512,\n\t\t[],\n\t\t'f157',\n\t\t'M351.208 32h-65.277a12 12 0 0 0-10.778 6.724l-55.39 113.163c-14.513 34.704-27.133 71.932-27.133 71.932h-1.262s-12.62-37.228-27.133-71.932l-55.39-113.163A11.997 11.997 0 0 0 98.068 32H32.792c-9.057 0-14.85 9.65-10.59 17.643L102.322 200H44c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h88.162L152 293.228V320H44c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h108v92c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12v-92h108c6.627 0 12-5.373 12-12v-32c0-6.627-5.373-12-12-12H232v-26.772L251.838 256H340c6.627 0 12-5.373 12-12v-32c0-6.627-5.373-12-12-12h-58.322l80.12-150.357C366.058 41.65 360.266 32 351.208 32z',\n\t],\n};\nvar icons$1 = {\n\tfaAddressBook: faAddressBook,\n\tfaAddressCard: faAddressCard,\n\tfaAdjust: faAdjust,\n\tfaAlignCenter: faAlignCenter,\n\tfaAlignJustify: faAlignJustify,\n\tfaAlignLeft: faAlignLeft,\n\tfaAlignRight: faAlignRight,\n\tfaAmbulance: faAmbulance,\n\tfaAmericanSignLanguageInterpreting: faAmericanSignLanguageInterpreting,\n\tfaAnchor: faAnchor,\n\tfaAngleDoubleDown: faAngleDoubleDown,\n\tfaAngleDoubleLeft: faAngleDoubleLeft,\n\tfaAngleDoubleRight: faAngleDoubleRight,\n\tfaAngleDoubleUp: faAngleDoubleUp,\n\tfaAngleDown: faAngleDown,\n\tfaAngleLeft: faAngleLeft,\n\tfaAngleRight: faAngleRight,\n\tfaAngleUp: faAngleUp,\n\tfaArchive: faArchive,\n\tfaArrowAltCircleDown: faArrowAltCircleDown,\n\tfaArrowAltCircleLeft: faArrowAltCircleLeft,\n\tfaArrowAltCircleRight: faArrowAltCircleRight,\n\tfaArrowAltCircleUp: faArrowAltCircleUp,\n\tfaArrowCircleDown: faArrowCircleDown,\n\tfaArrowCircleLeft: faArrowCircleLeft,\n\tfaArrowCircleRight: faArrowCircleRight,\n\tfaArrowCircleUp: faArrowCircleUp,\n\tfaArrowDown: faArrowDown,\n\tfaArrowLeft: faArrowLeft,\n\tfaArrowRight: faArrowRight,\n\tfaArrowUp: faArrowUp,\n\tfaArrowsAlt: faArrowsAlt,\n\tfaArrowsAltH: faArrowsAltH,\n\tfaArrowsAltV: faArrowsAltV,\n\tfaAssistiveListeningSystems: faAssistiveListeningSystems,\n\tfaAsterisk: faAsterisk,\n\tfaAt: faAt,\n\tfaAudioDescription: faAudioDescription,\n\tfaBackward: faBackward,\n\tfaBalanceScale: faBalanceScale,\n\tfaBan: faBan,\n\tfaBandAid: faBandAid,\n\tfaBarcode: faBarcode,\n\tfaBars: faBars,\n\tfaBaseballBall: faBaseballBall,\n\tfaBasketballBall: faBasketballBall,\n\tfaBath: faBath,\n\tfaBatteryEmpty: faBatteryEmpty,\n\tfaBatteryFull: faBatteryFull,\n\tfaBatteryHalf: faBatteryHalf,\n\tfaBatteryQuarter: faBatteryQuarter,\n\tfaBatteryThreeQuarters: faBatteryThreeQuarters,\n\tfaBed: faBed,\n\tfaBeer: faBeer,\n\tfaBell: faBell,\n\tfaBellSlash: faBellSlash,\n\tfaBicycle: faBicycle,\n\tfaBinoculars: faBinoculars,\n\tfaBirthdayCake: faBirthdayCake,\n\tfaBlind: faBlind,\n\tfaBold: faBold,\n\tfaBolt: faBolt,\n\tfaBomb: faBomb,\n\tfaBook: faBook,\n\tfaBookmark: faBookmark,\n\tfaBowlingBall: faBowlingBall,\n\tfaBox: faBox,\n\tfaBoxes: faBoxes,\n\tfaBraille: faBraille,\n\tfaBriefcase: faBriefcase,\n\tfaBug: faBug,\n\tfaBuilding: faBuilding,\n\tfaBullhorn: faBullhorn,\n\tfaBullseye: faBullseye,\n\tfaBus: faBus,\n\tfaCalculator: faCalculator,\n\tfaCalendar: faCalendar,\n\tfaCalendarAlt: faCalendarAlt,\n\tfaCalendarCheck: faCalendarCheck,\n\tfaCalendarMinus: faCalendarMinus,\n\tfaCalendarPlus: faCalendarPlus,\n\tfaCalendarTimes: faCalendarTimes,\n\tfaCamera: faCamera,\n\tfaCameraRetro: faCameraRetro,\n\tfaCar: faCar,\n\tfaCaretDown: faCaretDown,\n\tfaCaretLeft: faCaretLeft,\n\tfaCaretRight: faCaretRight,\n\tfaCaretSquareDown: faCaretSquareDown,\n\tfaCaretSquareLeft: faCaretSquareLeft,\n\tfaCaretSquareRight: faCaretSquareRight,\n\tfaCaretSquareUp: faCaretSquareUp,\n\tfaCaretUp: faCaretUp,\n\tfaCartArrowDown: faCartArrowDown,\n\tfaCartPlus: faCartPlus,\n\tfaCertificate: faCertificate,\n\tfaChartArea: faChartArea,\n\tfaChartBar: faChartBar,\n\tfaChartLine: faChartLine,\n\tfaChartPie: faChartPie,\n\tfaCheck: faCheck,\n\tfaCheckCircle: faCheckCircle,\n\tfaCheckSquare: faCheckSquare,\n\tfaChess: faChess,\n\tfaChessBishop: faChessBishop,\n\tfaChessBoard: faChessBoard,\n\tfaChessKing: faChessKing,\n\tfaChessKnight: faChessKnight,\n\tfaChessPawn: faChessPawn,\n\tfaChessQueen: faChessQueen,\n\tfaChessRook: faChessRook,\n\tfaChevronCircleDown: faChevronCircleDown,\n\tfaChevronCircleLeft: faChevronCircleLeft,\n\tfaChevronCircleRight: faChevronCircleRight,\n\tfaChevronCircleUp: faChevronCircleUp,\n\tfaChevronDown: faChevronDown,\n\tfaChevronLeft: faChevronLeft,\n\tfaChevronRight: faChevronRight,\n\tfaChevronUp: faChevronUp,\n\tfaChild: faChild,\n\tfaCircle: faCircle,\n\tfaCircleNotch: faCircleNotch,\n\tfaClipboard: faClipboard,\n\tfaClipboardCheck: faClipboardCheck,\n\tfaClipboardList: faClipboardList,\n\tfaClock: faClock,\n\tfaClone: faClone,\n\tfaClosedCaptioning: faClosedCaptioning,\n\tfaCloud: faCloud,\n\tfaCloudDownloadAlt: faCloudDownloadAlt,\n\tfaCloudUploadAlt: faCloudUploadAlt,\n\tfaCode: faCode,\n\tfaCodeBranch: faCodeBranch,\n\tfaCoffee: faCoffee,\n\tfaCog: faCog,\n\tfaCogs: faCogs,\n\tfaColumns: faColumns,\n\tfaComment: faComment,\n\tfaCommentAlt: faCommentAlt,\n\tfaComments: faComments,\n\tfaCompass: faCompass,\n\tfaCompress: faCompress,\n\tfaCopy: faCopy,\n\tfaCopyright: faCopyright,\n\tfaCreditCard: faCreditCard,\n\tfaCrop: faCrop,\n\tfaCrosshairs: faCrosshairs,\n\tfaCube: faCube,\n\tfaCubes: faCubes,\n\tfaCut: faCut,\n\tfaDatabase: faDatabase,\n\tfaDeaf: faDeaf,\n\tfaDesktop: faDesktop,\n\tfaDna: faDna,\n\tfaDollarSign: faDollarSign,\n\tfaDolly: faDolly,\n\tfaDollyFlatbed: faDollyFlatbed,\n\tfaDotCircle: faDotCircle,\n\tfaDownload: faDownload,\n\tfaEdit: faEdit,\n\tfaEject: faEject,\n\tfaEllipsisH: faEllipsisH,\n\tfaEllipsisV: faEllipsisV,\n\tfaEnvelope: faEnvelope,\n\tfaEnvelopeOpen: faEnvelopeOpen,\n\tfaEnvelopeSquare: faEnvelopeSquare,\n\tfaEraser: faEraser,\n\tfaEuroSign: faEuroSign,\n\tfaExchangeAlt: faExchangeAlt,\n\tfaExclamation: faExclamation,\n\tfaExclamationCircle: faExclamationCircle,\n\tfaExclamationTriangle: faExclamationTriangle,\n\tfaExpand: faExpand,\n\tfaExpandArrowsAlt: faExpandArrowsAlt,\n\tfaExternalLinkAlt: faExternalLinkAlt,\n\tfaExternalLinkSquareAlt: faExternalLinkSquareAlt,\n\tfaEye: faEye,\n\tfaEyeDropper: faEyeDropper,\n\tfaEyeSlash: faEyeSlash,\n\tfaFastBackward: faFastBackward,\n\tfaFastForward: faFastForward,\n\tfaFax: faFax,\n\tfaFemale: faFemale,\n\tfaFighterJet: faFighterJet,\n\tfaFile: faFile,\n\tfaFileAlt: faFileAlt,\n\tfaFileArchive: faFileArchive,\n\tfaFileAudio: faFileAudio,\n\tfaFileCode: faFileCode,\n\tfaFileExcel: faFileExcel,\n\tfaFileImage: faFileImage,\n\tfaFilePdf: faFilePdf,\n\tfaFilePowerpoint: faFilePowerpoint,\n\tfaFileVideo: faFileVideo,\n\tfaFileWord: faFileWord,\n\tfaFilm: faFilm,\n\tfaFilter: faFilter,\n\tfaFire: faFire,\n\tfaFireExtinguisher: faFireExtinguisher,\n\tfaFirstAid: faFirstAid,\n\tfaFlag: faFlag,\n\tfaFlagCheckered: faFlagCheckered,\n\tfaFlask: faFlask,\n\tfaFolder: faFolder,\n\tfaFolderOpen: faFolderOpen,\n\tfaFont: faFont,\n\tfaFootballBall: faFootballBall,\n\tfaForward: faForward,\n\tfaFrown: faFrown,\n\tfaFutbol: faFutbol,\n\tfaGamepad: faGamepad,\n\tfaGavel: faGavel,\n\tfaGem: faGem,\n\tfaGenderless: faGenderless,\n\tfaGift: faGift,\n\tfaGlassMartini: faGlassMartini,\n\tfaGlobe: faGlobe,\n\tfaGolfBall: faGolfBall,\n\tfaGraduationCap: faGraduationCap,\n\tfaHSquare: faHSquare,\n\tfaHandLizard: faHandLizard,\n\tfaHandPaper: faHandPaper,\n\tfaHandPeace: faHandPeace,\n\tfaHandPointDown: faHandPointDown,\n\tfaHandPointLeft: faHandPointLeft,\n\tfaHandPointRight: faHandPointRight,\n\tfaHandPointUp: faHandPointUp,\n\tfaHandPointer: faHandPointer,\n\tfaHandRock: faHandRock,\n\tfaHandScissors: faHandScissors,\n\tfaHandSpock: faHandSpock,\n\tfaHandshake: faHandshake,\n\tfaHashtag: faHashtag,\n\tfaHdd: faHdd,\n\tfaHeading: faHeading,\n\tfaHeadphones: faHeadphones,\n\tfaHeart: faHeart,\n\tfaHeartbeat: faHeartbeat,\n\tfaHistory: faHistory,\n\tfaHockeyPuck: faHockeyPuck,\n\tfaHome: faHome,\n\tfaHospital: faHospital,\n\tfaHospitalSymbol: faHospitalSymbol,\n\tfaHourglass: faHourglass,\n\tfaHourglassEnd: faHourglassEnd,\n\tfaHourglassHalf: faHourglassHalf,\n\tfaHourglassStart: faHourglassStart,\n\tfaICursor: faICursor,\n\tfaIdBadge: faIdBadge,\n\tfaIdCard: faIdCard,\n\tfaImage: faImage,\n\tfaImages: faImages,\n\tfaInbox: faInbox,\n\tfaIndent: faIndent,\n\tfaIndustry: faIndustry,\n\tfaInfo: faInfo,\n\tfaInfoCircle: faInfoCircle,\n\tfaItalic: faItalic,\n\tfaKey: faKey,\n\tfaKeyboard: faKeyboard,\n\tfaLanguage: faLanguage,\n\tfaLaptop: faLaptop,\n\tfaLeaf: faLeaf,\n\tfaLemon: faLemon,\n\tfaLevelDownAlt: faLevelDownAlt,\n\tfaLevelUpAlt: faLevelUpAlt,\n\tfaLifeRing: faLifeRing,\n\tfaLightbulb: faLightbulb,\n\tfaLink: faLink,\n\tfaLiraSign: faLiraSign,\n\tfaList: faList,\n\tfaListAlt: faListAlt,\n\tfaListOl: faListOl,\n\tfaListUl: faListUl,\n\tfaLocationArrow: faLocationArrow,\n\tfaLock: faLock,\n\tfaLockOpen: faLockOpen,\n\tfaLongArrowAltDown: faLongArrowAltDown,\n\tfaLongArrowAltLeft: faLongArrowAltLeft,\n\tfaLongArrowAltRight: faLongArrowAltRight,\n\tfaLongArrowAltUp: faLongArrowAltUp,\n\tfaLowVision: faLowVision,\n\tfaMagic: faMagic,\n\tfaMagnet: faMagnet,\n\tfaMale: faMale,\n\tfaMap: faMap,\n\tfaMapMarker: faMapMarker,\n\tfaMapMarkerAlt: faMapMarkerAlt,\n\tfaMapPin: faMapPin,\n\tfaMapSigns: faMapSigns,\n\tfaMars: faMars,\n\tfaMarsDouble: faMarsDouble,\n\tfaMarsStroke: faMarsStroke,\n\tfaMarsStrokeH: faMarsStrokeH,\n\tfaMarsStrokeV: faMarsStrokeV,\n\tfaMedkit: faMedkit,\n\tfaMeh: faMeh,\n\tfaMercury: faMercury,\n\tfaMicrochip: faMicrochip,\n\tfaMicrophone: faMicrophone,\n\tfaMicrophoneSlash: faMicrophoneSlash,\n\tfaMinus: faMinus,\n\tfaMinusCircle: faMinusCircle,\n\tfaMinusSquare: faMinusSquare,\n\tfaMobile: faMobile,\n\tfaMobileAlt: faMobileAlt,\n\tfaMoneyBillAlt: faMoneyBillAlt,\n\tfaMoon: faMoon,\n\tfaMotorcycle: faMotorcycle,\n\tfaMousePointer: faMousePointer,\n\tfaMusic: faMusic,\n\tfaNeuter: faNeuter,\n\tfaNewspaper: faNewspaper,\n\tfaObjectGroup: faObjectGroup,\n\tfaObjectUngroup: faObjectUngroup,\n\tfaOutdent: faOutdent,\n\tfaPaintBrush: faPaintBrush,\n\tfaPallet: faPallet,\n\tfaPaperPlane: faPaperPlane,\n\tfaPaperclip: faPaperclip,\n\tfaParagraph: faParagraph,\n\tfaPaste: faPaste,\n\tfaPause: faPause,\n\tfaPauseCircle: faPauseCircle,\n\tfaPaw: faPaw,\n\tfaPenSquare: faPenSquare,\n\tfaPencilAlt: faPencilAlt,\n\tfaPercent: faPercent,\n\tfaPhone: faPhone,\n\tfaPhoneSquare: faPhoneSquare,\n\tfaPhoneVolume: faPhoneVolume,\n\tfaPills: faPills,\n\tfaPlane: faPlane,\n\tfaPlay: faPlay,\n\tfaPlayCircle: faPlayCircle,\n\tfaPlug: faPlug,\n\tfaPlus: faPlus,\n\tfaPlusCircle: faPlusCircle,\n\tfaPlusSquare: faPlusSquare,\n\tfaPodcast: faPodcast,\n\tfaPoundSign: faPoundSign,\n\tfaPowerOff: faPowerOff,\n\tfaPrint: faPrint,\n\tfaPuzzlePiece: faPuzzlePiece,\n\tfaQrcode: faQrcode,\n\tfaQuestion: faQuestion,\n\tfaQuestionCircle: faQuestionCircle,\n\tfaQuidditch: faQuidditch,\n\tfaQuoteLeft: faQuoteLeft,\n\tfaQuoteRight: faQuoteRight,\n\tfaRandom: faRandom,\n\tfaRecycle: faRecycle,\n\tfaRedo: faRedo,\n\tfaRedoAlt: faRedoAlt,\n\tfaRegistered: faRegistered,\n\tfaReply: faReply,\n\tfaReplyAll: faReplyAll,\n\tfaRetweet: faRetweet,\n\tfaRoad: faRoad,\n\tfaRocket: faRocket,\n\tfaRss: faRss,\n\tfaRssSquare: faRssSquare,\n\tfaRubleSign: faRubleSign,\n\tfaRupeeSign: faRupeeSign,\n\tfaSave: faSave,\n\tfaSearch: faSearch,\n\tfaSearchMinus: faSearchMinus,\n\tfaSearchPlus: faSearchPlus,\n\tfaServer: faServer,\n\tfaShare: faShare,\n\tfaShareAlt: faShareAlt,\n\tfaShareAltSquare: faShareAltSquare,\n\tfaShareSquare: faShareSquare,\n\tfaShekelSign: faShekelSign,\n\tfaShieldAlt: faShieldAlt,\n\tfaShip: faShip,\n\tfaShippingFast: faShippingFast,\n\tfaShoppingBag: faShoppingBag,\n\tfaShoppingBasket: faShoppingBasket,\n\tfaShoppingCart: faShoppingCart,\n\tfaShower: faShower,\n\tfaSignInAlt: faSignInAlt,\n\tfaSignLanguage: faSignLanguage,\n\tfaSignOutAlt: faSignOutAlt,\n\tfaSignal: faSignal,\n\tfaSitemap: faSitemap,\n\tfaSlidersH: faSlidersH,\n\tfaSmile: faSmile,\n\tfaSnowflake: faSnowflake,\n\tfaSort: faSort,\n\tfaSortAlphaDown: faSortAlphaDown,\n\tfaSortAlphaUp: faSortAlphaUp,\n\tfaSortAmountDown: faSortAmountDown,\n\tfaSortAmountUp: faSortAmountUp,\n\tfaSortDown: faSortDown,\n\tfaSortNumericDown: faSortNumericDown,\n\tfaSortNumericUp: faSortNumericUp,\n\tfaSortUp: faSortUp,\n\tfaSpaceShuttle: faSpaceShuttle,\n\tfaSpinner: faSpinner,\n\tfaSquare: faSquare,\n\tfaSquareFull: faSquareFull,\n\tfaStar: faStar,\n\tfaStarHalf: faStarHalf,\n\tfaStepBackward: faStepBackward,\n\tfaStepForward: faStepForward,\n\tfaStethoscope: faStethoscope,\n\tfaStickyNote: faStickyNote,\n\tfaStop: faStop,\n\tfaStopCircle: faStopCircle,\n\tfaStopwatch: faStopwatch,\n\tfaStreetView: faStreetView,\n\tfaStrikethrough: faStrikethrough,\n\tfaSubscript: faSubscript,\n\tfaSubway: faSubway,\n\tfaSuitcase: faSuitcase,\n\tfaSun: faSun,\n\tfaSuperscript: faSuperscript,\n\tfaSync: faSync,\n\tfaSyncAlt: faSyncAlt,\n\tfaSyringe: faSyringe,\n\tfaTable: faTable,\n\tfaTableTennis: faTableTennis,\n\tfaTablet: faTablet,\n\tfaTabletAlt: faTabletAlt,\n\tfaTachometerAlt: faTachometerAlt,\n\tfaTag: faTag,\n\tfaTags: faTags,\n\tfaTasks: faTasks,\n\tfaTaxi: faTaxi,\n\tfaTerminal: faTerminal,\n\tfaTextHeight: faTextHeight,\n\tfaTextWidth: faTextWidth,\n\tfaTh: faTh,\n\tfaThLarge: faThLarge,\n\tfaThList: faThList,\n\tfaThermometer: faThermometer,\n\tfaThermometerEmpty: faThermometerEmpty,\n\tfaThermometerFull: faThermometerFull,\n\tfaThermometerHalf: faThermometerHalf,\n\tfaThermometerQuarter: faThermometerQuarter,\n\tfaThermometerThreeQuarters: faThermometerThreeQuarters,\n\tfaThumbsDown: faThumbsDown,\n\tfaThumbsUp: faThumbsUp,\n\tfaThumbtack: faThumbtack,\n\tfaTicketAlt: faTicketAlt,\n\tfaTimes: faTimes,\n\tfaTimesCircle: faTimesCircle,\n\tfaTint: faTint,\n\tfaToggleOff: faToggleOff,\n\tfaToggleOn: faToggleOn,\n\tfaTrademark: faTrademark,\n\tfaTrain: faTrain,\n\tfaTransgender: faTransgender,\n\tfaTransgenderAlt: faTransgenderAlt,\n\tfaTrash: faTrash,\n\tfaTrashAlt: faTrashAlt,\n\tfaTree: faTree,\n\tfaTrophy: faTrophy,\n\tfaTruck: faTruck,\n\tfaTty: faTty,\n\tfaTv: faTv,\n\tfaUmbrella: faUmbrella,\n\tfaUnderline: faUnderline,\n\tfaUndo: faUndo,\n\tfaUndoAlt: faUndoAlt,\n\tfaUniversalAccess: faUniversalAccess,\n\tfaUniversity: faUniversity,\n\tfaUnlink: faUnlink,\n\tfaUnlock: faUnlock,\n\tfaUnlockAlt: faUnlockAlt,\n\tfaUpload: faUpload,\n\tfaUser: faUser,\n\tfaUserCircle: faUserCircle,\n\tfaUserMd: faUserMd,\n\tfaUserPlus: faUserPlus,\n\tfaUserSecret: faUserSecret,\n\tfaUserTimes: faUserTimes,\n\tfaUsers: faUsers,\n\tfaUtensilSpoon: faUtensilSpoon,\n\tfaUtensils: faUtensils,\n\tfaVenus: faVenus,\n\tfaVenusDouble: faVenusDouble,\n\tfaVenusMars: faVenusMars,\n\tfaVideo: faVideo,\n\tfaVolleyballBall: faVolleyballBall,\n\tfaVolumeDown: faVolumeDown,\n\tfaVolumeOff: faVolumeOff,\n\tfaVolumeUp: faVolumeUp,\n\tfaWarehouse: faWarehouse,\n\tfaWeight: faWeight,\n\tfaWheelchair: faWheelchair,\n\tfaWifi: faWifi,\n\tfaWindowClose: faWindowClose,\n\tfaWindowMaximize: faWindowMaximize,\n\tfaWindowMinimize: faWindowMinimize,\n\tfaWindowRestore: faWindowRestore,\n\tfaWonSign: faWonSign,\n\tfaWrench: faWrench,\n\tfaYenSign: faYenSign,\n};\n\nbunker(function () {\n\tdefine('fas', icons$1);\n});\n\nexport {\n\tprefix,\n\tfaAddressBook,\n\tfaAddressCard,\n\tfaAdjust,\n\tfaAlignCenter,\n\tfaAlignJustify,\n\tfaAlignLeft,\n\tfaAlignRight,\n\tfaAmbulance,\n\tfaAmericanSignLanguageInterpreting,\n\tfaAnchor,\n\tfaAngleDoubleDown,\n\tfaAngleDoubleLeft,\n\tfaAngleDoubleRight,\n\tfaAngleDoubleUp,\n\tfaAngleDown,\n\tfaAngleLeft,\n\tfaAngleRight,\n\tfaAngleUp,\n\tfaArchive,\n\tfaArrowAltCircleDown,\n\tfaArrowAltCircleLeft,\n\tfaArrowAltCircleRight,\n\tfaArrowAltCircleUp,\n\tfaArrowCircleDown,\n\tfaArrowCircleLeft,\n\tfaArrowCircleRight,\n\tfaArrowCircleUp,\n\tfaArrowDown,\n\tfaArrowLeft,\n\tfaArrowRight,\n\tfaArrowUp,\n\tfaArrowsAlt,\n\tfaArrowsAltH,\n\tfaArrowsAltV,\n\tfaAssistiveListeningSystems,\n\tfaAsterisk,\n\tfaAt,\n\tfaAudioDescription,\n\tfaBackward,\n\tfaBalanceScale,\n\tfaBan,\n\tfaBandAid,\n\tfaBarcode,\n\tfaBars,\n\tfaBaseballBall,\n\tfaBasketballBall,\n\tfaBath,\n\tfaBatteryEmpty,\n\tfaBatteryFull,\n\tfaBatteryHalf,\n\tfaBatteryQuarter,\n\tfaBatteryThreeQuarters,\n\tfaBed,\n\tfaBeer,\n\tfaBell,\n\tfaBellSlash,\n\tfaBicycle,\n\tfaBinoculars,\n\tfaBirthdayCake,\n\tfaBlind,\n\tfaBold,\n\tfaBolt,\n\tfaBomb,\n\tfaBook,\n\tfaBookmark,\n\tfaBowlingBall,\n\tfaBox,\n\tfaBoxes,\n\tfaBraille,\n\tfaBriefcase,\n\tfaBug,\n\tfaBuilding,\n\tfaBullhorn,\n\tfaBullseye,\n\tfaBus,\n\tfaCalculator,\n\tfaCalendar,\n\tfaCalendarAlt,\n\tfaCalendarCheck,\n\tfaCalendarMinus,\n\tfaCalendarPlus,\n\tfaCalendarTimes,\n\tfaCamera,\n\tfaCameraRetro,\n\tfaCar,\n\tfaCaretDown,\n\tfaCaretLeft,\n\tfaCaretRight,\n\tfaCaretSquareDown,\n\tfaCaretSquareLeft,\n\tfaCaretSquareRight,\n\tfaCaretSquareUp,\n\tfaCaretUp,\n\tfaCartArrowDown,\n\tfaCartPlus,\n\tfaCertificate,\n\tfaChartArea,\n\tfaChartBar,\n\tfaChartLine,\n\tfaChartPie,\n\tfaCheck,\n\tfaCheckCircle,\n\tfaCheckSquare,\n\tfaChess,\n\tfaChessBishop,\n\tfaChessBoard,\n\tfaChessKing,\n\tfaChessKnight,\n\tfaChessPawn,\n\tfaChessQueen,\n\tfaChessRook,\n\tfaChevronCircleDown,\n\tfaChevronCircleLeft,\n\tfaChevronCircleRight,\n\tfaChevronCircleUp,\n\tfaChevronDown,\n\tfaChevronLeft,\n\tfaChevronRight,\n\tfaChevronUp,\n\tfaChild,\n\tfaCircle,\n\tfaCircleNotch,\n\tfaClipboard,\n\tfaClipboardCheck,\n\tfaClipboardList,\n\tfaClock,\n\tfaClone,\n\tfaClosedCaptioning,\n\tfaCloud,\n\tfaCloudDownloadAlt,\n\tfaCloudUploadAlt,\n\tfaCode,\n\tfaCodeBranch,\n\tfaCoffee,\n\tfaCog,\n\tfaCogs,\n\tfaColumns,\n\tfaComment,\n\tfaCommentAlt,\n\tfaComments,\n\tfaCompass,\n\tfaCompress,\n\tfaCopy,\n\tfaCopyright,\n\tfaCreditCard,\n\tfaCrop,\n\tfaCrosshairs,\n\tfaCube,\n\tfaCubes,\n\tfaCut,\n\tfaDatabase,\n\tfaDeaf,\n\tfaDesktop,\n\tfaDna,\n\tfaDollarSign,\n\tfaDolly,\n\tfaDollyFlatbed,\n\tfaDotCircle,\n\tfaDownload,\n\tfaEdit,\n\tfaEject,\n\tfaEllipsisH,\n\tfaEllipsisV,\n\tfaEnvelope,\n\tfaEnvelopeOpen,\n\tfaEnvelopeSquare,\n\tfaEraser,\n\tfaEuroSign,\n\tfaExchangeAlt,\n\tfaExclamation,\n\tfaExclamationCircle,\n\tfaExclamationTriangle,\n\tfaExpand,\n\tfaExpandArrowsAlt,\n\tfaExternalLinkAlt,\n\tfaExternalLinkSquareAlt,\n\tfaEye,\n\tfaEyeDropper,\n\tfaEyeSlash,\n\tfaFastBackward,\n\tfaFastForward,\n\tfaFax,\n\tfaFemale,\n\tfaFighterJet,\n\tfaFile,\n\tfaFileAlt,\n\tfaFileArchive,\n\tfaFileAudio,\n\tfaFileCode,\n\tfaFileExcel,\n\tfaFileImage,\n\tfaFilePdf,\n\tfaFilePowerpoint,\n\tfaFileVideo,\n\tfaFileWord,\n\tfaFilm,\n\tfaFilter,\n\tfaFire,\n\tfaFireExtinguisher,\n\tfaFirstAid,\n\tfaFlag,\n\tfaFlagCheckered,\n\tfaFlask,\n\tfaFolder,\n\tfaFolderOpen,\n\tfaFont,\n\tfaFootballBall,\n\tfaForward,\n\tfaFrown,\n\tfaFutbol,\n\tfaGamepad,\n\tfaGavel,\n\tfaGem,\n\tfaGenderless,\n\tfaGift,\n\tfaGlassMartini,\n\tfaGlobe,\n\tfaGolfBall,\n\tfaGraduationCap,\n\tfaHSquare,\n\tfaHandLizard,\n\tfaHandPaper,\n\tfaHandPeace,\n\tfaHandPointDown,\n\tfaHandPointLeft,\n\tfaHandPointRight,\n\tfaHandPointUp,\n\tfaHandPointer,\n\tfaHandRock,\n\tfaHandScissors,\n\tfaHandSpock,\n\tfaHandshake,\n\tfaHashtag,\n\tfaHdd,\n\tfaHeading,\n\tfaHeadphones,\n\tfaHeart,\n\tfaHeartbeat,\n\tfaHistory,\n\tfaHockeyPuck,\n\tfaHome,\n\tfaHospital,\n\tfaHospitalSymbol,\n\tfaHourglass,\n\tfaHourglassEnd,\n\tfaHourglassHalf,\n\tfaHourglassStart,\n\tfaICursor,\n\tfaIdBadge,\n\tfaIdCard,\n\tfaImage,\n\tfaImages,\n\tfaInbox,\n\tfaIndent,\n\tfaIndustry,\n\tfaInfo,\n\tfaInfoCircle,\n\tfaItalic,\n\tfaKey,\n\tfaKeyboard,\n\tfaLanguage,\n\tfaLaptop,\n\tfaLeaf,\n\tfaLemon,\n\tfaLevelDownAlt,\n\tfaLevelUpAlt,\n\tfaLifeRing,\n\tfaLightbulb,\n\tfaLink,\n\tfaLiraSign,\n\tfaList,\n\tfaListAlt,\n\tfaListOl,\n\tfaListUl,\n\tfaLocationArrow,\n\tfaLock,\n\tfaLockOpen,\n\tfaLongArrowAltDown,\n\tfaLongArrowAltLeft,\n\tfaLongArrowAltRight,\n\tfaLongArrowAltUp,\n\tfaLowVision,\n\tfaMagic,\n\tfaMagnet,\n\tfaMale,\n\tfaMap,\n\tfaMapMarker,\n\tfaMapMarkerAlt,\n\tfaMapPin,\n\tfaMapSigns,\n\tfaMars,\n\tfaMarsDouble,\n\tfaMarsStroke,\n\tfaMarsStrokeH,\n\tfaMarsStrokeV,\n\tfaMedkit,\n\tfaMeh,\n\tfaMercury,\n\tfaMicrochip,\n\tfaMicrophone,\n\tfaMicrophoneSlash,\n\tfaMinus,\n\tfaMinusCircle,\n\tfaMinusSquare,\n\tfaMobile,\n\tfaMobileAlt,\n\tfaMoneyBillAlt,\n\tfaMoon,\n\tfaMotorcycle,\n\tfaMousePointer,\n\tfaMusic,\n\tfaNeuter,\n\tfaNewspaper,\n\tfaObjectGroup,\n\tfaObjectUngroup,\n\tfaOutdent,\n\tfaPaintBrush,\n\tfaPallet,\n\tfaPaperPlane,\n\tfaPaperclip,\n\tfaParagraph,\n\tfaPaste,\n\tfaPause,\n\tfaPauseCircle,\n\tfaPaw,\n\tfaPenSquare,\n\tfaPencilAlt,\n\tfaPercent,\n\tfaPhone,\n\tfaPhoneSquare,\n\tfaPhoneVolume,\n\tfaPills,\n\tfaPlane,\n\tfaPlay,\n\tfaPlayCircle,\n\tfaPlug,\n\tfaPlus,\n\tfaPlusCircle,\n\tfaPlusSquare,\n\tfaPodcast,\n\tfaPoundSign,\n\tfaPowerOff,\n\tfaPrint,\n\tfaPuzzlePiece,\n\tfaQrcode,\n\tfaQuestion,\n\tfaQuestionCircle,\n\tfaQuidditch,\n\tfaQuoteLeft,\n\tfaQuoteRight,\n\tfaRandom,\n\tfaRecycle,\n\tfaRedo,\n\tfaRedoAlt,\n\tfaRegistered,\n\tfaReply,\n\tfaReplyAll,\n\tfaRetweet,\n\tfaRoad,\n\tfaRocket,\n\tfaRss,\n\tfaRssSquare,\n\tfaRubleSign,\n\tfaRupeeSign,\n\tfaSave,\n\tfaSearch,\n\tfaSearchMinus,\n\tfaSearchPlus,\n\tfaServer,\n\tfaShare,\n\tfaShareAlt,\n\tfaShareAltSquare,\n\tfaShareSquare,\n\tfaShekelSign,\n\tfaShieldAlt,\n\tfaShip,\n\tfaShippingFast,\n\tfaShoppingBag,\n\tfaShoppingBasket,\n\tfaShoppingCart,\n\tfaShower,\n\tfaSignInAlt,\n\tfaSignLanguage,\n\tfaSignOutAlt,\n\tfaSignal,\n\tfaSitemap,\n\tfaSlidersH,\n\tfaSmile,\n\tfaSnowflake,\n\tfaSort,\n\tfaSortAlphaDown,\n\tfaSortAlphaUp,\n\tfaSortAmountDown,\n\tfaSortAmountUp,\n\tfaSortDown,\n\tfaSortNumericDown,\n\tfaSortNumericUp,\n\tfaSortUp,\n\tfaSpaceShuttle,\n\tfaSpinner,\n\tfaSquare,\n\tfaSquareFull,\n\tfaStar,\n\tfaStarHalf,\n\tfaStepBackward,\n\tfaStepForward,\n\tfaStethoscope,\n\tfaStickyNote,\n\tfaStop,\n\tfaStopCircle,\n\tfaStopwatch,\n\tfaStreetView,\n\tfaStrikethrough,\n\tfaSubscript,\n\tfaSubway,\n\tfaSuitcase,\n\tfaSun,\n\tfaSuperscript,\n\tfaSync,\n\tfaSyncAlt,\n\tfaSyringe,\n\tfaTable,\n\tfaTableTennis,\n\tfaTablet,\n\tfaTabletAlt,\n\tfaTachometerAlt,\n\tfaTag,\n\tfaTags,\n\tfaTasks,\n\tfaTaxi,\n\tfaTerminal,\n\tfaTextHeight,\n\tfaTextWidth,\n\tfaTh,\n\tfaThLarge,\n\tfaThList,\n\tfaThermometer,\n\tfaThermometerEmpty,\n\tfaThermometerFull,\n\tfaThermometerHalf,\n\tfaThermometerQuarter,\n\tfaThermometerThreeQuarters,\n\tfaThumbsDown,\n\tfaThumbsUp,\n\tfaThumbtack,\n\tfaTicketAlt,\n\tfaTimes,\n\tfaTimesCircle,\n\tfaTint,\n\tfaToggleOff,\n\tfaToggleOn,\n\tfaTrademark,\n\tfaTrain,\n\tfaTransgender,\n\tfaTransgenderAlt,\n\tfaTrash,\n\tfaTrashAlt,\n\tfaTree,\n\tfaTrophy,\n\tfaTruck,\n\tfaTty,\n\tfaTv,\n\tfaUmbrella,\n\tfaUnderline,\n\tfaUndo,\n\tfaUndoAlt,\n\tfaUniversalAccess,\n\tfaUniversity,\n\tfaUnlink,\n\tfaUnlock,\n\tfaUnlockAlt,\n\tfaUpload,\n\tfaUser,\n\tfaUserCircle,\n\tfaUserMd,\n\tfaUserPlus,\n\tfaUserSecret,\n\tfaUserTimes,\n\tfaUsers,\n\tfaUtensilSpoon,\n\tfaUtensils,\n\tfaVenus,\n\tfaVenusDouble,\n\tfaVenusMars,\n\tfaVideo,\n\tfaVolleyballBall,\n\tfaVolumeDown,\n\tfaVolumeOff,\n\tfaVolumeUp,\n\tfaWarehouse,\n\tfaWeight,\n\tfaWheelchair,\n\tfaWifi,\n\tfaWindowClose,\n\tfaWindowMaximize,\n\tfaWindowMinimize,\n\tfaWindowRestore,\n\tfaWonSign,\n\tfaWrench,\n\tfaYenSign,\n};\nexport default icons$1;\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {createElementFromNode} from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_now-legacy-icon.scss';\nimport {icon, config, parse} from '@fortawesome/fontawesome-svg-core';\nimport fontawesomeFreeRegular from './vendor/fontawesome-free-regular/index.es.js';\nimport fontawesomeFreeSolid from './vendor/fontawesome-free-solid/index.es.js';\nimport customPackFasn from './custom-packs/fasn';\n\nimport packageInfo from '../package.json';\nconst {name, version} = packageInfo;\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n\nconfig.autoAddCss = false;\n\nconst iconSets = {\n\tregular: Object.assign({}, fontawesomeFreeRegular),\n\tbold: Object.assign({}, fontawesomeFreeSolid),\n\tstrong: Object.assign({}, fontawesomeFreeSolid),\n\tcustom: Object.assign({}, customPackFasn),\n};\n\nconst camelizeIconName = (str) => {\n\treturn (\n\t\t'fa' +\n\t\tstr.split('-').reduce((acc, part) => {\n\t\t\tconst upCase = part[0].toUpperCase() + part.slice(1);\n\t\t\treturn acc + upCase;\n\t\t}, '')\n\t);\n};\n\nconst getFaIcon = (iconName, setName, config) => {\n\tconst camelizedIconName = camelizeIconName(iconName);\n\t// If found in specified set, use that\n\tif (iconSets[setName][camelizedIconName]) {\n\t\treturn icon(iconSets[setName][camelizedIconName], config);\n\t}\n\t// Like sn-component-icons, if not found in specified set, try strong\n\telse if (iconSets['strong'][camelizedIconName]) {\n\t\treturn icon(iconSets['strong'][camelizedIconName], config);\n\t}\n\t// Like sn-component-icons, if the name isn't recognized by FA,\n\t// look in the custom set for a match instead\n\telse if (iconSets['custom'][camelizedIconName]) {\n\t\treturn icon(iconSets['custom'][camelizedIconName], config);\n\t}\n\treturn null;\n};\n\nconst getConfigObject = (set, rest) => {\n\tlet classArray = [];\n\tif (set === 'custom') {\n\t\tclassArray.push('.now-legacy-icon-remove-offset');\n\t}\n\tif (rest.size) {\n\t\tclassArray.push(`fa-${rest.size}`);\n\t}\n\tif (rest.spin) {\n\t\tclassArray.push('fa-spin');\n\t}\n\tif (rest.pulse) {\n\t\tclassArray.push('fa-pulse');\n\t}\n\tif (rest.fixedWidth) {\n\t\tclassArray.push('fa-fw');\n\t}\n\tif (rest.border) {\n\t\tclassArray.push('fa-border');\n\t}\n\tif (rest.inverse) {\n\t\tclassArray.push('fa-inverse');\n\t}\n\tif (rest.flip && (rest.flip === 'horizontal' || rest.flip === 'both')) {\n\t\tclassArray.push('fa-flip-horizontal');\n\t}\n\tif (rest.flip && (rest.flip === 'vertical' || rest.flip === 'both')) {\n\t\tclassArray.push('fa-flip-vertical');\n\t}\n\tif (rest.rotation) {\n\t\tclassArray.push(`fa-rotate-${rest.rotation}`);\n\t}\n\tif (rest.pull) {\n\t\tclassArray.push(`fa-pull-${rest.pull}`);\n\t}\n\treturn {classes: classArray, transform: parse.transform(rest.transform)};\n};\n\nconst view = (state) => {\n\tconst {type, weight, ...rest} = state.properties;\n\tconst container = document.createElement('DIV', null);\n\tif (!type) {\n\t\treturn createElementFromNode(container);\n\t}\n\tlet configObject = getConfigObject(weight, rest);\n\tconst faIcon = getFaIcon(type, weight, configObject);\n\tif (faIcon && faIcon.html) {\n\t\tcontainer.innerHTML = faIcon.html[0];\n\t\tcontainer.firstChild.setAttribute('height', '1em');\n\t\treturn createElementFromNode(container.firstChild);\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/**\n * The Legacy Icon component is used to provide access to the previously used Font\n * Awesome (free) icon library. This maintains backwards compatibility with the sn-component-icons API.\n * If using the Legacy icon, use version 5.0.8 of FontAwesome.\n *\n * ```jsx\n * <now-legacy-icon weight=\"solid\" type=\"circle\" size=\"lg\"></now-legacy-icon>\n * ```\n *\n * @seismicElement now-legacy-icon\n * @summary Provides a wrapper of the Font Awesome icon library.\n */\ncreateEnhancedElement('now-legacy-icon', {\n\tproperties: {\n\t\t/**\n\t\t * Name of a Font Awesome icon from the regular or solid icon set.\n\t\t * Icons are listed in the\n\t\t * [Font Awesome icon library](https://fontawesome.com/icons?d=gallery&s=regular,solid&m=free).\n\t\t * Note: Do not include the `fa-` prefix. Use only the name of the icon, including dashes.\n\t\t * If the icon name is not found in either set, the ServiceNow custom set is also searched.\n\t\t * @type {string}\n\t\t */\n\t\ttype: {required: true, schema: {type: 'string'}},\n\t\t/**\n\t\t * Icon set from which to pull the icon specified in `type` - regular (FA \"regular\") vs bold/strong (FA \"solid\").\n\t\t * Optionally, you can specify the `custom` weight to use an icon from the ServiceNow custom icon set,\n\t\t * but the component also searches through the custom set if a match is not found in either FA set.\n\t\t * @type {('regular'|'bold'|'strong'|'custom')}\n\t\t */\n\t\tweight: {\n\t\t\tdefault: 'bold',\n\t\t\tschema: {type: 'string', enum: ['regular', 'bold', 'strong', 'custom']},\n\t\t},\n\t\t/**\n\t\t * Size of the icon.\n\t\t * Note that these sizes do not map to the Now Design System definitions of\n\t\t * xs, sm, etc. See `$now-global-font-size--*` for sizes.\n\t\t * @type {('xs'|'sm'|'md'|'lg'|'xl'|'xxl'|'xxxl')}\n\t\t */\n\t\tsize: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['xs', 'sm', 'md', 'lg', 'xl', 'xxl', 'xxxl'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Whether the icon spins (rotates continuously).\n\t\t * @type {boolean}\n\t\t */\n\t\tspin: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Whether the icon pulses (rotates in 8 steps).\n\t\t * @type {boolean}\n\t\t */\n\t\tpulse: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Whether the icon appears in a fixed width.\n\t\t * This is useful for aligning a column of icons vertically.\n\t\t * @type {boolean}\n\t\t */\n\t\tfixedWidth: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Whether to add a border to the icon.\n\t\t * @type {boolean}\n\t\t */\n\t\tborder: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Whether to invert the icon color.\n\t\t * @type {boolean}\n\t\t */\n\t\tinverse: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Flips (or reflects) the icon horizontally, vertically, or both.\n\t\t * @type {('horizontal'|'vertical'|'both')}\n\t\t */\n\t\tflip: {schema: {type: 'string', enum: ['horizontal', 'vertical', 'both']}},\n\t\t/**\n\t\t * Rotates the icon 90, 180, or 270 degrees.\n\t\t * @type {('90'|'180'|'270')}\n\t\t */\n\t\trotation: {schema: {type: 'string', enum: ['90', '180', '270']}},\n\t\t/**\n\t\t * Pulls (or floats) the icon to the left or right.\n\t\t * @type {('left'|'right')}\n\t\t */\n\t\tpull: {schema: {type: 'string', enum: ['left', 'right']}},\n\t\t/**\n\t\t * Applies a power transform to the icon. See the\n\t\t * [Font Awesome docs](https://fontawesome.com/how-to-use/with-the-api/methods/parse-transform) for syntax.\n\t\t * @type {string}\n\t\t */\n\t\ttransform: {schema: {type: 'string'}},\n\t},\n\tview,\n\tstyles,\n});\n","import '@servicenow/now-legacy-icon';\n\nconst DPS_BOOKMARK_WEIGHTS = {\n\tBOLD: 'bold',\n\tREGULAR: 'regular',\n\tSTRONG: 'strong'\n};\n\nconst view = (state, { dispatch, updateProperties }) => {\n\tconst {\n\t\tproperties: {\n\t\t\timageType,\n\t\t\tdisabled,\n\t\t\tlight,\n\t\t\tbookmarked,\n\t\t\tidentifier\n\t\t}\n\t} = state;\n\n\treturn (\n\t\t<button\n\t\t\tclass={{\n\t\t\t\t'dps-button': true,\n\t\t\t\t'primary': true,\n\t\t\t\t'-sm': true,\n\t\t\t\t'is-bare': true,\n\t\t\t\t'-is-light-version': light\n\t\t\t}}\n\t\t\ton-click={() => {\n\t\t\t\tdisabled ?\n\t\t\t\t\tnull\n\t\t\t\t\t: dispatch('DPS_BOOKMARK#TOGGLE_STATUS', { identifier });\n\t\t\t\t}\n\t\t\t}\n\t\t>\n\t\t\t<now-legacy-icon\n\t\t\t\ttype={imageType}\n\t\t\t\tweight={bookmarked ? DPS_BOOKMARK_WEIGHTS.BOLD : DPS_BOOKMARK_WEIGHTS.REGULAR}\n\t\t\t\tclass={{\n\t\t\t\t\t[\"dps-bookmark-icon\"]: !disabled\n\t\t\t\t}}>\n\t\t\t</now-legacy-icon>\n\t\t</button>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport view from './view';\nimport styles from './dps-bookmark.scss';\n\nconst DPS_BOOKMARK_IMAGE = 'bookmark';\n\nexport default createCustomElement('dps-bookmark', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\timageType: {\n\t\t\tdefault: DPS_BOOKMARK_IMAGE\n\t\t},\n\t\tdisabled: {\n\t\t\tdefault: false\n\t\t},\n\t\tlight: {\n\t\t\tdefault: false\n\t\t},\n\t\tbookmarked: {\n\t\t\tdefault: false\n\t\t},\n\t\tidentifier: {\n\t\t\tdefault: \"\"\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t['DPS_BOOKMARK#TOGGLE_STATUS']: ({ properties, updateProperties }) => {\n\t\t\tconst { bookmarked } = properties;\n\t\t\tupdateProperties({ bookmarked: !bookmarked});\n\t\t}\n\t},\n\tstyles\n});\n","export const guideList = [\n\t{\n\t\t\"name\": \"Accessing Your PDI\",\n\t\t\"identifier\": \"1116e2d5dbd21814da87de06f49619f7\"\n\t},\n\t{\n\t\t\"name\": \"What is Now Experience?\",\n\t\t\"identifier\": \"1951fadedbf69010da87de06f49619e1\"\n\t},\n\t{\n\t\t\"name\": \"Obtaining a PDI\",\n\t\t\"identifier\": \"1c16e2d5dbd21814da87de06f4961991\"\n\t},\n\t{\n\t\t\"name\": \"Managing Your PDI\",\n\t\t\"identifier\": \"2d2666d5dbd21814da87de06f496190e\"\n\t},\n\t{\n\t\t\"name\": \"ServiceNow Developer Glossary\",\n\t\t\"identifier\": \"30be470adbdb4410b55642fa0b961919\"\n\t},\n];\n\nexport const componentList = [\n\t{\n\t\t\"name\": \"now-accordion\",\n\t\t\"identifier\": \"8530dadcdbee5c14db5e9015ca961910\"\n\t},\n\t{\n\t\t\"name\": \"now-alert\",\n\t\t\"identifier\": \"8d5615dbdb2604d0da87de06f49619bf\"\n\t},\n\t{\n\t\t\"name\": \"now-button-iconic\",\n\t\t\"identifier\": \"c2f11c87dba69854da87de06f49619be\"\n\t},\n\t{\n\t\t\"name\": \"now-dropdown\",\n\t\t\"identifier\": \"61029c87dba69854da87de06f49619a0\"\n\t},\n\t{\n\t\t\"name\": \"now-icon\",\n\t\t\"identifier\": \"1202dc87dba69854da87de06f496194a\"\n\t},\n];\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../../src/components/dps-bookmark';\nimport { CONSTANTS } from '../../src/constants';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport styles from './dps-bookmark-example.scss'\nimport { componentList } from './data';\n\nconst handleUpdateBookmarkStatus = createHttpEffect(\n\tCONSTANTS.ENDPOINTS.UPDATE_BOOKMARK_STATUS,\n\t{\n\t\tbatch: false,\n\t\tmethod: 'POST',\n\t\tdataParam: 'data',\n\t\tsuccessActionType: \"DPS_BOOKMARK#UPDATE_BOOKMARK_STATUS_SUCCEEDED\"\n\t}\n);\n\nconst handleUpdateBookmarkStatusSucceeded = (coeffects) => {\n}\n\nexport default createCustomElement('dps-bookmark-scr-example', {\n\trenderer: { type: snabbdom },\n\tview: (state) => {\n\t\tconst {\n\t\t\timageType,\n\t\t\tproperties : {\n\t\t\t\tbookMarkList\n\t\t\t}\n\t\t} = state;\n\t\treturn (\n\t\t\t<div className=\"section\">\n\t\t\t\t<div className=\"section_header\">\n\t\t\t\t\tSCR Components\n\t\t\t\t</div>\n\t\t\t\t<div className=\"section_content\">\n\t\t\t\t\t{\n\t\t\t\t\t\tcomponentList.map(\n\t\t\t\t\t\t\telem => {\n\t\t\t\t\t\t\t\tconst isBookedMarked = bookMarkList && bookMarkList.indexOf(elem.identifier) > -1;\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<div className=\"section_content_card\">\n\t\t\t\t\t\t\t\t\t\t<dps-bookmark imageType={imageType} bookmarked={isBookedMarked} identifier={elem.identifier}></dps-bookmark>\n\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t{elem.name}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t)\n\t},\n\tinitialState: {\n\t\timageType: \"bookmark\",\n\t},\n\tactionHandlers: {\n\t\t['DPS_BOOKMARK#TOGGLE_STATUS']: ({ state, dispatch, action }) => {\n\t\t\tconst { payload } = action;\n\t\t\tconst identifier = payload && payload.identifier;\n\t\t\tdispatch('DPS_BOOKMARK#UPDATE_BOOKMARK_STATUS', {\n\t\t\t\tdata: {\n\t\t\t\t\tidentifier,\n\t\t\t\t\tbookMarkSection: 'scr'\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\t['DPS_BOOKMARK#UPDATE_BOOKMARK_STATUS']: handleUpdateBookmarkStatus,\n\t\t['DPS_BOOKMARK#UPDATE_BOOKMARK_STATUS_SUCCEEDED']: handleUpdateBookmarkStatusSucceeded\n\t},\n\tproperties: {\n\t\tbookMarkList: {\n\t\t\tdefault: []\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../../src/components/dps-bookmark';\nimport { CONSTANTS } from '../../src/constants';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport styles from './dps-bookmark-example.scss'\nimport { guideList } from './data';\n\nconst handleUpdateBookmarkStatus = createHttpEffect(\n\tCONSTANTS.ENDPOINTS.UPDATE_BOOKMARK_STATUS,\n\t{\n\t\tbatch: false,\n\t\tmethod: 'POST',\n\t\tdataParam: 'data',\n\t\tsuccessActionType: \"DPS_BOOKMARK#UPDATE_BOOKMARK_STATUS_SUCCEEDED\"\n\t}\n);\n\nconst handleUpdateBookmarkStatusSucceeded = (coeffects) => {\n\tconst { action: { meta: { request } }, state, updateState } = coeffects;\n\tlet { bookmarksUpdating } = state;\n\tconst identifier = request && request.data && request.data.identifier;\n\tif (identifier) {\n\t\tbookmarksUpdating = bookmarksUpdating.splice(bookmarksUpdating.indexOf(identifier), 1);\n\t\tupdateState({\n\t\t\tpath: 'bookmarksUpdating',\n\t\t\tvalue: bookmarksUpdating,\n\t\t\toperation: 'set'\n\t\t});\n\t}\n};\n\nexport default createCustomElement('dps-bookmark-guide-example', {\n\trenderer: { type: snabbdom },\n\tview: (state) => {\n\t\tconst {\n\t\t\timageType,\n\t\t\tproperties: {\n\t\t\t\tbookMarkList\n\t\t\t}\n\t\t} = state;\n\t\treturn (\n\t\t\t<div className=\"section\">\n\t\t\t\t<div className=\"section_header\">\n\t\t\t\t\tGuide\n\t\t\t\t</div>\n\t\t\t\t<div className=\"section_content\">\n\t\t\t\t\t{\n\t\t\t\t\t\tguideList.map(\n\t\t\t\t\t\t\telem => {\n\t\t\t\t\t\t\t\tconst isBookedMarked = bookMarkList.indexOf(elem.identifier) > -1;\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<div className=\"section_content_card\">\n\t\t\t\t\t\t\t\t\t\t<dps-bookmark imageType={imageType} bookmarked={isBookedMarked} identifier={elem.identifier}></dps-bookmark>\n\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t{elem.name}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t)\n\t},\n\tinitialState: {\n\t\timageType: \"heart\",\n\t},\n\tactionHandlers: {\n\t\t['DPS_BOOKMARK#TOGGLE_STATUS']: ({ dispatch, action }) => {\n\t\t\tconst { payload } = action;\n\t\t\tconst identifier = payload && payload.identifier;\n\t\t\tdispatch('DPS_BOOKMARK#UPDATE_BOOKMARK_STATUS', {\n\t\t\t\tdata: {\n\t\t\t\t\tidentifier,\n\t\t\t\t\tbookMarkSection: 'guide'\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\t['DPS_BOOKMARK#UPDATE_BOOKMARK_STATUS']: handleUpdateBookmarkStatus,\n\t\t['DPS_BOOKMARK#UPDATE_BOOKMARK_STATUS_SUCCEEDED']: handleUpdateBookmarkStatusSucceeded\n\t},\n\tproperties: {\n\t\tbookMarkList: {\n\t\t\tdefault: []\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport './dps-bookmark-scr-example';\nimport './dps-bookmark-guide-example';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { CONSTANTS } from '../../src/constants';\n\nconst { COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nconst handleGetBookmarks = createHttpEffect(\n\tCONSTANTS.ENDPOINTS.GET_BOOKMARKS,\n\t{\n\t\tbatch: false,\n\t\tmethod: 'GET',\n\t\tsuccessActionType: \"DPS_BOOKMARK#GET_BOOKMARKS_SUCCEEDED\"\n\t}\n);\n\nconst handleGetBookmarksSucceeded = (coeffects) => {\n\tconst { action: { payload }, state, updateState } = coeffects;\n\tconst { result } = payload;\n\tlet { bookMarkList } = state;\n\tbookMarkList = result;\n\tupdateState({ bookMarkList });\n};\n\nexport default createCustomElement('dps-bookmark-example', {\n\trenderer: { type: snabbdom },\n\tview: (state) => {\n\t\tconst { bookMarkList } = state;\n\t\tconst {\n\t\t\tscr,\n\t\t\tguide\n\t\t} = bookMarkList;\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<dps-bookmark-scr-example bookMarkList={scr}></dps-bookmark-scr-example>\n\t\t\t\t<dps-bookmark-guide-example bookMarkList={guide}></dps-bookmark-guide-example>\n\t\t\t</div>\n\t\t)\n\t},\n\tinitialState: {\n\t\tbookMarkList: []\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: ({ dispatch }) => {\n\t\t\tdispatch('DPS_BOOKMARK#GET_BOOKMARKS');\n\t\t},\n\t\t['DPS_BOOKMARK#GET_BOOKMARKS']: handleGetBookmarks,\n\t\t['DPS_BOOKMARK#GET_BOOKMARKS_SUCCEEDED']: handleGetBookmarksSucceeded,\n\t}\n});\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nconst view = state => {\n\tconst { properties: { items, separator } } = state;\n\treturn (\n\t\t<div className=\"dps-breadcrumb\">\n\t\t\t{items && items.length ? items.map((item, index) => (\n\t\t\t\t<Fragment>\n\t\t\t\t\t{index === items.length - 1 ? <div className=\"dps-breadcrumb-current-page\">{item.displayName}</div> :\n\t\t\t\t\t\t<span className=\"dps-breadcrumb-display\">\n\t\t\t\t\t\t\t<dps-link className=\"dps-breadcrumb-display-name\" href={item.redirectURL}>{item.displayName}</dps-link>\n\t\t\t\t\t\t\t<now-icon className=\"dps-breadcrumb-separator\" icon={separator} size=\"md\" />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\t\t\t\t</Fragment>\n\t\t\t)) : null}\n\t\t</div>\n\t);\n};\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-icon';\nimport '../dps-link';\nimport view from './view';\nimport styles from './_dps-breadcrumb.scss';\n\nexport default createCustomElement('dps-breadcrumb', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\t/**\n\t\t * List of objects that will be shown as breadcrumb\n\t\t * @type {object}\n\t\t */\n\t\titems: {\n\t\t\tdefault: []\n\t\t},\n\t\t/**\n\t\t * Separting icon used betweeen two breadcrumbs\n\t\t * @type {string}\n\t\t */\n\t\tseparator: {\n\t\t\tdefault: 'chevron-right-outline'\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../../src/components/dps-breadcrumb';\n\nconst breadCrumbList = [\n\t{\n\t\tdisplayName: 'Learning',\n\t\tredirectURL: '/#!/learn/'\n\t},\n\t{\n\t\tdisplayName: 'courses',\n\t\tredirectURL: 'courses'\n\t}\n];\n\nexport default createCustomElement('dps-breadcrumb-example', {\n\trenderer: { type : snabbdom },\n\tview: (state)=>(<dps-breadcrumb items={state.items.list} ></dps-breadcrumb>),\n\tinitialState: {\n\t\titems: {\n\t\t\tlist: breadCrumbList\n\t\t}\n\t}\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-button';\n\nexport default createCustomElement('dps-button-example', {\n\trenderer: { type: snabbdom },\n\tstyles: `\n\t\tmain {\n\t\t\tdisplay: grid;\n\t\t\tgrid-template-columns: 1fr 1fr 1fr 1fr;\n\t\t\tpadding: 30px;\n\t\t}\n\t`,\n\tview: () => (\n\t\t<main>\n\t\t\t<section>\n\t\t\t\t<h2>Primary</h2>\n\t\t\t\t<dps-button label=\"Small\" size=\"sm\"></dps-button><br /><br />\n\t\t\t\t<dps-button label=\"Medium\" size=\"md\"></dps-button><br /><br />\n\t\t\t\t<dps-button label=\"Large\" size=\"lg\"></dps-button><br /><br />\n\t\t\t\t<dps-button label=\"Text With Icon Action\" iconAction></dps-button><br /><br />\n\t\t\t\t<dps-button icon=\"close-fill\" iconSize=\"lg\"></dps-button><br /><br />\n\t\t\t\t<dps-button label=\"Disabled\" disabled></dps-button><br /><br />\n\t\t\t\t<dps-button label=\"Bare\" bare></dps-button><br /><br />\n\n\t\t\t\t<h2>Secondary</h2>\n\t\t\t\t<dps-button label=\"Small\" size=\"sm\" variant=\"secondary\"></dps-button><br /><br />\n\t\t\t\t<dps-button label=\"Medium\" size=\"md\" variant=\"secondary\"></dps-button><br /><br />\n\t\t\t\t<dps-button label=\"Large\" size=\"lg\" variant=\"secondary\"></dps-button><br /><br />\n\t\t\t\t<dps-button label=\"Text With Icon Icon Action\" iconAction variant=\"secondary\"></dps-button><br /><br />\n\t\t\t\t<dps-button icon=\"close-fill\" iconSize=\"lg\" variant=\"secondary\"></dps-button><br /><br />\n\t\t\t\t<dps-button label=\"Disabled\" disabled variant=\"secondary\"></dps-button><br /><br />\n\n\t\t\t\t<h2>Round</h2>\n\t\t\t\t<dps-button label=\"Round button\" variant=\"round\" externalAction></dps-button><br /><br />\n\t\t\t\t<dps-button label=\"Round disabled\" disabled variant=\"round\"></dps-button><br /><br />\n\t\t\t</section>\n\t\t\t<section>\n\t\t\t\t<h2>Link styled</h2>\n\t\t\t\t<dps-button label=\"Link Style\" link-style></dps-button><br /><br />\n\t\t\t\t<dps-button label=\"Link Style With Icon\" iconAction link-style></dps-button><br /><br />\n\t\t\t</section>\n\t\t\t<section style={{background: '#293E40', color: 'white', padding: '0 20px'}}>\n\t\t\t\t<h2>Primary Inverse</h2>\n\t\t\t\t<dps-button label=\"Small\" size=\"sm\" variant=\"primary-inverse\"></dps-button><br /><br />\n\t\t\t\t<dps-button label=\"Medium\" size=\"md\" variant=\"primary-inverse\"></dps-button><br /><br />\n\t\t\t\t<dps-button label=\"Large\" size=\"lg\" variant=\"primary-inverse\"></dps-button><br /><br />\n\t\t\t\t<dps-button label=\"Text With Icon Action\" iconAction variant=\"primary-inverse\"></dps-button><br /><br />\n\t\t\t\t<dps-button icon=\"close-fill\" iconSize=\"lg\" variant=\"primary-inverse\"></dps-button><br /><br />\n\t\t\t\t<dps-button label=\"Disabled\" disabled variant=\"primary-inverse\"></dps-button><br /><br />\n\n\t\t\t\t<h2>Secondary Inverse</h2>\n\t\t\t\t<dps-button label=\"Small\" size=\"sm\" variant=\"secondary-inverse\"></dps-button><br /><br />\n\t\t\t\t<dps-button label=\"Medium\" size=\"md\" variant=\"secondary-inverse\"></dps-button><br /><br />\n\t\t\t\t<dps-button label=\"Large\" size=\"lg\" variant=\"secondary-inverse\"></dps-button><br /><br />\n\t\t\t\t<dps-button label=\"Text With Icon Action\" iconAction variant=\"secondary-inverse\"></dps-button><br /><br />\n\t\t\t\t<dps-button icon=\"close-fill\" iconSize=\"lg\" variant=\"secondary-inverse\"></dps-button><br /><br />\n\t\t\t\t<dps-button label=\"Disabled\" disabled variant=\"secondary-inverse\"></dps-button><br /><br />\n\t\t\t</section>\n\t\t</main>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-callout.scss';\nimport '@servicenow/now-button';\n\nconst DpsCallout = (state, {dispatch}) => {\n\tconst {\n\t\tcolor,\n\t\tbuttonLabel,\n\t\ticon,\n\t\ttitle,\n\t\tbuttonVariant\n\t} = state.properties;\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t[`-callout-${color}`]: true,\n\t\t\t\t['dps-callout']: true,\n\t\t\t}}\n\t\t>\n\t\t\t<div className=\"dps-callout__content\">\n\t\t\t\t{icon ? <now-icon icon={icon} size=\"lg\" className=\"dps-callout__icon\" /> : null}\n\t\t\t\t<span className=\"dps-callout__text\">\n\t\t\t\t\t{title ? <strong>{title}:&nbsp;</strong> : null}\n\t\t\t\t\t<slot name=\"description\"></slot>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t{buttonLabel ? (\n\t\t\t\t<span className=\"dps-callout__button\">\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tclassName=\"dps-dismiss-btn\"\n\t\t\t\t\t\tlabel={buttonLabel}\n\t\t\t\t\t\tvariant={buttonVariant}\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\ttooltip-content={''}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch('DPS_CALLOUT_BUTTON#CLICKED');\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</span>\n\t\t\t) : null}\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-callout', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DpsCallout\n\t},\n\tproperties: {\n\t\t/**\n\t\t * ( blue | green )\n\t\t */\n\t\tcolor: {\n\t\t\tdefault: 'blue'\n\t\t},\n\t\tbuttonLabel: {\n\t\t\tdefault: ''\n\t\t},\n\t\ticon: {\n\t\t\tdefault: ''\n\t\t},\n\t\ttitle: {\n\t\t\tdefault: ''\n\t\t},\n\t\tbuttonVariant: {\n\t\t\tdefault: 'secondary'\n\t\t}\n\t},\n\tactions: {\n\t\t['DPS_CALLOUT_BUTTON#CLICKED']: {\n\t\t\tprivate: false\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme.js'; // loads fonts/theme\nimport '../../src/components/dps-callout';\nimport '../../src/components/dps-button';\n\nexport default createCustomElement('dps-callout-example', {\n\trenderer: { type: snabbdom },\n\tstyles: `\n\t\t.callout-wrapper {\n\t\t\tpadding: 10px 10px 0 10px;\n\t\t}\n\t`,\n\tview: () => (\n\t\t<Fragment>\n\t\t\t<div className=\"callout-wrapper\">\n\t\t\t\t<dps-callout\n\t\t\t\t\tcolor=\"green\"\n\t\t\t\t\ticon=\"address-book-outline\"\n\t\t\t\t\ttitle=\"Developer tip\"\n\t\t\t\t\tbutton-label =\"CTA (Optional)\"\n\t\t\t\t>\n\t\t\t\t\t<span slot=\"description\">\n\t\t\t\t\t\tWhenever you modify client-side logic, reload the main ServiceNow browser window to ensure the latest logic is loaded\n\t\t\t\t\tServiceNow browser window to ensure the latest logic is loaded.\n\t\t\t\t\t</span>\n\t\t\t\t</dps-callout>\n\t\t\t</div>\n\t\t</Fragment>\n\t)\n});\n\n\n\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport styles from './_dps-image-card.scss';\n\nconst DpsImageCard = (state, {dispatch}) => {\n\tconst {\n\t\ttitle,\n\t\timage,\n\t\thref,\n\t\ttarget,\n\t} = state.properties;\n\tconst cardLink = 'a.dps-image-card-link';\n\n\tconst handleClick = (event) => {\n\n\t\tif (document.getSelection().type === 'Range') {\n\t\t\tevent.preventDefault();\n\t\t\treturn false;\n\t\t}\n\n\t\tdispatch('DPS_IMAGE_CARD#CLICKED');\n\t\t// Retarget the click if necessary\n\t\tif(event.target.nodeName !== 'A') {\n\t\t\tif (event.target.assignedSlot)\n\t\t\t\tevent.target.assignedSlot.getRootNode().querySelector(cardLink).click();\n\t\t\telse\n\t\t\t\tevent.target.getRootNode().querySelector(cardLink).click();\n\t\t}\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'dps-image-card': true,\n\t\t\t}}\n\t\t>\n\t\t\t{image ? (\n\t\t\t\t<img className=\"dps-image-card-image\" {...image} />\n\t\t\t) : null}\n\t\t\t{title && title.length ? (\n\t\t\t\t<h3\n\t\t\t\t\ton-click={handleClick}\n\t\t\t\t\tclassName=\"dps-image-card-title\"\n\t\t\t\t>\n\t\t\t\t\t{title}\n\t\t\t\t</h3>\n\t\t\t) : null}\n\t\t\t<div\n\t\t\t\ton-click={handleClick}\n\t\t\t\tclassName=\"dps-image-card-description\"\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t\t{href ? (\n\t\t\t\t<a\n\t\t\t\t\thref={href}\n\t\t\t\t\ttarget={target}\n\t\t\t\t\tclassName=\"dps-image-card-link\"\n\t\t\t\t\ton-click={handleClick}\n\t\t\t\t></a>\n\t\t\t) : null}\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-image-card', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DpsImageCard\n\t},\n\tproperties: {\n\t\ttitle: {\n\t\t\tdefault: ''\n\t\t},\n\t\thref: {\n\t\t\tdefault: null\n\t\t},\n\t\timage: {\n\t\t\tdefault: null\n\t\t},\n\t\ttarget: {\n\t\t\tdefault: null\n\t\t}\n\t},\n\tstyles\n});\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom, {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-progress-circle.scss';\nimport renderSVG from '../../utils/render-svg';\nimport '../../styles/global/index.scss';\nimport clampValue from '../../utils/clamp-value';\n\n/**\n * Get circle radius based on size property\n */\nconst getRadius = size => {\n\tlet radius = 17;\n\tif(size === 'xs')\n\t\tradius = 11;\n\telse if (size === 'lg')\n\t\tradius = 85;\n\telse if (size === 'md')\n\t\tradius = 37.5;\n\n\treturn radius;\n};\n\n/**\n * Get track (bottom circle) width and dash based on\n * size and noProgress property\n */\nconst getTrackStyle = (size, noProgress) => {\n\tlet style = {\n\t\tstrokeWidth: 4,\n\t\tstrokeDash: 0\n\t};\n\n\t// Dotted line progress circle\n\tif (size === 'lg' && noProgress) {\n\t\tstyle = {\n\t\t\tstrokeWidth: 1,\n\t\t\tstrokeDash: 4\n\t\t};\n\t} else if (size === 'md') {\n\t\tstyle = {\n\t\t\t...style,\n\t\t\tstrokeWidth: 6\n\t\t};\n\t} else if(size === 'xs') {\n\t\tstyle = {\n\t\t\t...style,\n\t\t\tstrokeWidth: 2\n\t\t};\n\t}\n\n\treturn style;\n};\n\n/**\n * Get ring (top circle) width style based on\n * size and noProgress property\n */\nconst getRingWidth = (size, noProgress) => {\n\tlet width = 4;\n\n\t// Dotted line progress circle has no ring\n\tif (size === 'lg' && noProgress)\n\t\twidth = 0;\n\telse if (size === 'md')\n\t\twidth = 6;\n\n\treturn width;\n};\n\n/**\n * Get circle dimensions based on radius and strokeWidth\n */\nconst getCircle = (radius, strokeWidth) => ({\n\tradius: radius - (strokeWidth * 2), // normalized radius\n\tcX: radius,\n\tcY: radius,\n\tcircumference: (radius - (strokeWidth * 2)) * 2 * Math.PI\n});\n\n/**\n * Get progress value based on circumference and percent\n */\nconst getProgress = (circumference, percent) => (\n\tcircumference - percent * circumference\n);\n\n/**\n * Renders content in the center of the progress circle\n * While large (lg) progress circles display title and subtitle at all times,\n * medium (md) and small (sm) progress circles will display a checkmark\n * at 100% filled.\n */\nconst renderContent = (size, title, subtitle, percent) => {\n\tlet content = percent === 1 ? <span></span> : null;\n\n\tif (size === 'lg')\n\t\tcontent = <Fragment><p className=\"dps-progress-circle-title\">{title}</p><p className=\"dps-progress-circle-subtitle\">{subtitle}</p></Fragment>;\n\telse if (size === 'md' && percent !== 1)\n\t\tcontent = <p className=\"dps-progress-circle-title\">{title}</p>;\n\treturn content;\n};\n\nconst view = state => {\n\tconst {size, noProgress, percent, title, subtitle} = state.properties;\n\tconst radius = getRadius(size);\n\tconst track = getTrackStyle(size, noProgress);\n\tconst ringStrokeWidth = getRingWidth(size, noProgress);\n\tconst circle = getCircle(radius, track.strokeWidth);\n\tconst clampedPercent = clampValue(0, 1, percent); // Ensures percentage stays between 0 and 1\n\tconst progress = getProgress(circle.circumference, clampedPercent);\n\n\treturn (\n\t\t<div class={{\n\t\t\t'dps-progress-circle': true,\n\t\t\t[`-${size}`]: size\n\t\t}}>\n\t\t\t<div className=\"dps-progress-circle-content\">\n\t\t\t\t{renderContent(size, title, subtitle, clampedPercent)}\n\t\t\t</div>\n\t\t\t{\n\t\t\t\trenderSVG({\n\t\t\t\t\tclassName: 'dps-progress-circle-container',\n\t\t\t\t\twidth: `${radius * 2}`,\n\t\t\t\t\theight: `${radius * 2}`,\n\t\t\t\t\tinnerSVG: `<circle class=\"dps-progress-circle-track\" r=\"${circle.radius}\" cx=\"${circle.cX}\" cy=\"${circle.cY}\" stroke-width=\"${track.strokeWidth}\" fill=\"transparent\" stroke-dasharray=\"${track.strokeDash}\" /><circle class=\"dps-progress-circle-ring\" r=\"${circle.radius}\" cx=\"${circle.cX}\" cy=\"${circle.cY}\" stroke-width=\"${ringStrokeWidth}\" fill=\"transparent\" stroke-dasharray=\"${circle.circumference} ${circle.circumference}\" stroke-dashoffset=\"${progress}\" stroke-linecap=\"round\" />`\n\t\t\t\t})\n\t\t\t}\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-progress-circle', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\t/**\n\t\t * Sets size of progress circle\n\t\t * @type {('xs'|'sm'|'md'|'lg')}\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'sm'\n\t\t},\n\t\t/**\n\t\t * Indicates whether progress can be tracked\n\t\t * (e.g. progress cannot be tracked for guest users)\n\t\t * @type {boolean}\n\t\t */\n\t\tnoProgress: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Fills progress circle track\n\t\t * Stored as a decimal value between 0 and 1\n\t\t * @type {number}\n\t\t */\n\t\tpercent: {\n\t\t\tdefault: 0\n\t\t},\n\t\t/**\n\t\t * Title of medium (md) and large (lg) progress circles\n\t\t * @type {string}\n\t\t */\n\t\ttitle: {},\n\t\t/**\n\t\t * Subtitle of large (lg) progress circles\n\t\t * @type {string}\n\t\t */\n\t\tsubtitle: {}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme.js'; // loads fonts/theme\nimport '../../src/components/dps-card';\nimport '../../src/components/dps-image-card';\nimport '../../src/components/dps-button';\nimport '../../src/components/dps-progress-circle';\nimport { greenCircleCheck } from '../../src/icons';\n\nexport default createCustomElement('dps-card-example', {\n\trenderer: { type: snabbdom },\n\tstyles: `\n\t\t.example-card-wrapper,\n\t\t.rich-card-wrapper {\n\t\t\tpadding: 10px 0 0 10px;\n\t\t}\n\t\t.example-card-wrapper {\n\t\t\tdisplay: inline-block;\n\t\t\tvertical-align: top;\n\t\t\twidth: 300px;\n\t\t}\n\t\t.rich-card-wrapper {\n\t\t\twidth: 50%;\n\t\t}\n\t`,\n\tview: () => (\n\t\t<Fragment>\n\t\t\t<div className=\"rich-card-wrapper\">\n\t\t\t\t<dps-card\n\t\t\t\t\ttitle=\"Example of a Rich Card\"\n\t\t\t\t\tsub-title=\"Hello Label\"\n\t\t\t\t\ticon=\"document-outline\"\n\t\t\t\t\timage={{src: 'https://via.placeholder.com/600x200.png',\n\t\t\t\t\t\talt: 'Image Description',\n\t\t\t\t\t}}\n\t\t\t\t\ttags={[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Tag 1',\n\t\t\t\t\t\t\thref: 'http://www.example.com/tag1'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Tag 2',\n\t\t\t\t\t\t\thref: 'http://www.example.com/tag2'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Tag 3',\n\t\t\t\t\t\t\thref: 'http://www.example.com/tag3'\n\t\t\t\t\t\t}\n\t\t\t\t\t]}\n\t\t\t\t>\n\t\t\t\t\t<p>Anim mollit do et commodo excepteur et minim nostrud esse deserunt excepteur. Proident est consequat ut Lorem aute quis et duis eiusmod.</p>\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t<li>Laboris est sit deserunt reprehenderit quis.</li>\n\t\t\t\t\t\t<li>Nostrud incididunt laborum aliqua non consequat velit.</li>\n\t\t\t\t\t\t<li>Fugiat enim ea aliquip magna duis consectetur dolor.</li>\n\t\t\t\t\t</ul>\n\t\t\t\t\t<dps-button icon=\"calendar-fill\" label=\"Button 1\" variant=\"primary\"></dps-button>\n\t\t\t\t\t<dps-button icon=\"heart-fill\" label=\"Button 2\" variant=\"secondary\"></dps-button>\n\t\t\t\t</dps-card>\n\t\t\t</div>\n\t\t\t<div className=\"example-card-wrapper\">\n\t\t\t\t<dps-card\n\t\t\t\t\ttitle=\"This Card Has a Title That Will Wrap\"\n\t\t\t\t\tsub-title=\"Hello Label\"\n\t\t\t\t\ttags={[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Hello',\n\t\t\t\t\t\t\thref: null\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'World',\n\t\t\t\t\t\t\thref: 'http://www.example.com/world'\n\t\t\t\t\t\t},\n\t\t\t\t\t]}\n\t\t\t\t>\n\t\t\t\t\tAnim mollit do et commodo excepteur et minim nostrud esse deserunt excepteur. Proident est consequat ut Lorem aute quis et duis eiusmod.\n\t\t\t\t</dps-card>\n\n\t\t\t\t<dps-card\n\t\t\t\t\ttitle=\"Title Linked, Not Styled\"\n\t\t\t\t>\n\t\t\t\t\tAnim mollit do et commodo excepteur et minim nostrud esse deserunt excepteur. Proident est consequat ut Lorem aute quis et duis eiusmod.\n\t\t\t\t</dps-card>\n\t\t\t</div>\n\t\t\t<div className=\"example-card-wrapper\">\n\t\t\t\t<dps-card title=\"This is the card title\">\n\t\t\t\t\tNo title, just a little description provided via the default slot.\n\t\t\t\t</dps-card>\n\t\t\t\t<dps-card\n\t\t\t\t\ttitle=\"Clever Title\"\n\t\t\t\t\timage={{\n\t\t\t\t\t\tsrc: 'https://via.placeholder.com/600x300.png',\n\t\t\t\t\t\talt: 'Image Description',\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<p>Slotted Content; reprehenderit officia proident et labore excepteur do dolor sint.</p>\n\t\t\t\t\t<dps-button>Slotted Button</dps-button>\n\t\t\t\t</dps-card>\n\t\t\t\t<dps-card\n\t\t\t\t\tsub-title=\"Module Title\"\n\t\t\t\t\tmeta-data=\"22 Lessons\">\n\t\t\t\t\t<dps-progress-circle percent=\"50\" size=\"md\" title=\"50%\" slot=\"card-meta\" />\n\t\t\t\t\t<p>Inner HTML goes Here</p>\n\t\t\t\t\t<dps-link href=\"#\" button-style button-variant=\"secondary\" size=\"sm\" iconAction>Start Module</dps-link>\n\t\t\t\t</dps-card>\n\t\t\t\t<dps-card\n\t\t\t\t\ttitle=\"Plane Name\"\n\t\t\t\t\tsub-title=\"20 Modules\">\n\t\t\t\t\t<p>Short description goes here</p>\n\t\t\t\t\t<dps-button link-style label=\"Learn more\" />\n\t\t\t\t\t<p>In this plan, you will learn how to:</p>\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<span><img src={greenCircleCheck} className=\"check-image\" align=\"top\"/></span>\n\t\t\t\t\t\t\t<span>Point</span>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<span><img src={greenCircleCheck} className=\"check-image\" align=\"top\"/></span>\n\t\t\t\t\t\t\t<span>Point</span>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<span><img src={greenCircleCheck} className=\"check-image\" align=\"top\"/></span>\n\t\t\t\t\t\t\t<span>Point</span>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t</ul>\n\t\t\t\t\t<dps-button label=\"See Learning Plan\" />\n\t\t\t\t</dps-card>\n\t\t\t</div>\n\t\t</Fragment>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme.js'; // loads fonts/theme\nimport '../../src/components/dps-card';\nimport '../../src/components/dps-card-container';\nimport '../../src/components/dps-button';\n\nexport default createCustomElement('dps-card-container-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<Fragment>\n\t\t\t<dps-card-container>\n\t\t\t\t<h1 slot=\"title\">Hello <i>World!</i></h1>\n\t\t\t\t<div slot=\"description\">\n\t\t\t\t\t<p>This is a description<br />\n\t\t\t\t\t\tIt contains rich content like <a href=\"#\">this linked H4</a></p>\n\t\t\t\t</div>\n\t\t\t\t<dps-card theme=\"guide\">\n\t\t\t\t\t<p>\n\t\t\t\t\t\tTest card content <a href=\"#\">including a link</a>.\n\t\t\t\t\t</p>\n\t\t\t\t\t<p>\n\t\t\t\t\t\tCommodo labore esse veniam excepteur magna labore labore commodo.\n\t\t\t\t\t</p>\n\t\t\t\t\t<p>\n\t\t\t\t\t\tEiusmod adipisicing elit magna sunt aliquip.\n\t\t\t\t\t</p>\n\t\t\t\t</dps-card>\n\t\t\t\t<dps-card title=\"Hello World\" href=\"#\">\n\t\t\t\t\t<p>\n\t\t\t\t\t\tTest card content <a href=\"#\">including a link</a>.\n\t\t\t\t\t</p>\n\t\t\t\t</dps-card>\n\t\t\t\t<dps-card title=\"Ut non sunt consequat\">\n\t\t\t\t\t<p>\n\t\t\t\t\t\tPariatur duis tempor cupidatat ullamco id.\n\t\t\t\t\t</p>\n\t\t\t\t</dps-card>\n\t\t\t\t<dps-card title=\"Ut non sunt consequat in amet id do voluptate\">\n\t\t\t\t\t<p>\n\t\t\t\t\t\tPariatur duis tempor cupidatat ullamco id. Ipsum voluptate cillum cupidatat exercitation nostrud mollit do. Ullamco tempor non ut ex dolor anim excepteur. Consequat aliquip nostrud excepteur enim eu commodo proident labore.\n\t\t\t\t\t</p>\n\t\t\t\t</dps-card>\n\t\t\t\t<dps-card title=\"Ut non sunt consequat in amet id do voluptate\">\n\t\t\t\t\t<p>\n\t\t\t\t\t\tMagna enim laboris aliqua duis ex. Pariatur consequat exercitation est est esse dolor et magna non sit labore.\n\t\t\t\t\t</p>\n\t\t\t\t</dps-card>\n\t\t\t\t<dps-card title=\"Ut non sunt consequat in amet id do voluptate\">\n\t\t\t\t\t<p>\n\t\t\t\t\t\tPariatur duis tempor cupidatat ullamco id. Ipsum voluptate cillum cupidatat exercitation nostrud mollit do. Ullamco tempor non ut ex dolor anim excepteur. Consequat aliquip nostrud excepteur enim eu commodo proident labore.\n\t\t\t\t\t</p>\n\t\t\t\t</dps-card>\n\t\t\t</dps-card-container>\n\n\t\t\t<dps-card-container columns=\"2\">\n\t\t\t\t<dps-card title=\"Mollit sint id tempor exercitation\">\n\t\t\t\t\t<p>\n\t\t\t\t\t\tNulla ipsum quis aliqua proident ex eiusmod voluptate non eu non.\n\t\t\t\t\t</p>\n\t\t\t\t\t<dps-button>See More</dps-button>\n\t\t\t\t</dps-card>\n\t\t\t\t<dps-card title=\"Ut non sunt consequat\">\n\t\t\t\t\t<p>\n\t\t\t\t\t\tPariatur duis tempor cupidatat ullamco id. Fugiat elit laborum eu.\n\t\t\t\t\t</p>\n\t\t\t\t\t<dps-button>See More</dps-button>\n\t\t\t\t</dps-card>\n\t\t\t</dps-card-container>\n\t\t</Fragment>\n\t)\n});\n","export const DPS_CATEGORY_SECTION_ACTIONS = {\n  SEE_ALL_CLICKED: 'DPS_CATEGORY_SECTION#SEE_ALL_CLICKED'\n};","import { titleCase } from '../../utils/case';\nimport { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst generateFriendlyComponentName = name => {\n\treturn titleCase(name.replace(COMPONENT_NAME_PREFIX, ''));\n};\n\nexport const generateLeftNavMenu = (componentData, referenceItem, release) => {\n\tconst {\n\t\tcanInstallComponent,\n\t\tother_releases,\n\t\tplaygroundSource,\n\t\tprototypeList,\n\t\tscr,\n\t\tusage,\n\t\tpackage: packageObj\n\t} = componentData || {};\n\n\tconst other_release_list = other_releases || [];\n\tconst releaseObj = other_release_list.find(item => item.id === release);\n\tconst componentName = scr && scr.component_name;\n\tconst name = scr && (scr.friendly_name || componentName);\n\n\tconst isUsageAvailable = usage && usage.length !== 0;\n\tconst isAPIAvailable =\n\t\tscr && scr.api && scr.api.isContentFound && canInstallComponent;\n\tconst isGalleryAvailable = GALLERY_PAGE_LIST.includes(componentName);\n\tconst isUibSetupAvailable =\n\t\tscr && scr.uibSetup && scr.uibSetup.isContentFound;\n\tconst nowUIProperties =\n\t\tpackageObj && packageObj.meta && packageObj.meta.nowUIProperties;\n\tconst isUibConfigAvailable =\n\t\tscr && scr.uibConfig && scr.uibConfig.isContentFound;\n\tconst url =\n\t\t(releaseObj && releaseObj.url && releaseObj.url.replace('dev.do', '')) ||\n\t\t'';\n\n\tconst menu = {\n\t\ttitle: name,\n\t\tsubMenu: [\n\t\t\t{\n\t\t\t\tnavTitle: isAPIAvailable ? 'Overview & API' : 'Overview',\n\t\t\t\tname: referenceItem + '',\n\t\t\t\tid: referenceItem + '_overview',\n\t\t\t\thref: url + '/overview',\n\t\t\t\tsubMenu: []\n\t\t\t}\n\t\t]\n\t};\n\n\tif (isUibSetupAvailable) {\n\t\tmenu.subMenu.push({\n\t\t\tnavTitle: 'UIB Setup',\n\t\t\tname: referenceItem,\n\t\t\tid: referenceItem + '_uib-setup',\n\t\t\thref: url + '/uib-setup',\n\t\t\tsubMenu: []\n\t\t});\n\t}\n\n\tif (isUibConfigAvailable) {\n\t\tmenu.subMenu.push({\n\t\t\tnavTitle: 'UIB Config',\n\t\t\tname: referenceItem,\n\t\t\tid: referenceItem + '_uib-config',\n\t\t\thref: url + '/uib-config',\n\t\t\tsubMenu: []\n\t\t});\n\t}\n\n\tif (isUsageAvailable) {\n\t\tmenu.subMenu.push({\n\t\t\tnavTitle: 'Usage',\n\t\t\tname: referenceItem,\n\t\t\tid: referenceItem + '_usage',\n\t\t\thref: url + '/usage',\n\t\t\tsubMenu: []\n\t\t});\n\t}\n\n\tif (playgroundSource && prototypeList && canInstallComponent) {\n\t\tmenu.subMenu.push({\n\t\t\tnavTitle: 'Playground',\n\t\t\tname: referenceItem,\n\t\t\tid: referenceItem + '_playground',\n\t\t\thref: url + '/playground',\n\t\t\tsubMenu: []\n\t\t});\n\t}\n\n\tif (isGalleryAvailable) {\n\t\tmenu.subMenu.push({\n\t\t\tnavTitle: 'Gallery',\n\t\t\tname: referenceItem,\n\t\t\tid: referenceItem + '_gallery',\n\t\t\thref: url + '/gallery',\n\t\t\tsubMenu: []\n\t\t});\n\t}\n\n\treturn menu;\n};\n\nexport const getBreadCrumbItems = (release, name) => [\n\t{\n\t\tdisplayName: 'Reference',\n\t\tredirectURL: '#!/reference'\n\t},\n\t{\n\t\tdisplayName: 'Next Experience Components',\n\t\tredirectURL: `/reference/next-experience/${release}/components`\n\t},\n\t{\n\t\tdisplayName: name,\n\t\tredirectURL: ''\n\t}\n];\n\nexport const COMPONENT_LIST = [\n\t'api',\n\t'uib-setup',\n\t'uib-config',\n\t'gallery',\n\t'usage',\n\t'overview',\n\t'playground'\n];\n\nexport const GALLERY_PAGE_LIST = [\n\t'now-icon',\n\t'now-legacy-icon',\n\t'now-illustration'\n];\n","import { actionTypes, createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-component-gallery-card.scss';\nimport placeholder from '../../images/thumbnail_placeholder.svg';\nimport stripTags from '../../utils/stripTags';\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\nimport { createPath } from '../../utils/url';\nimport { GALLERY_PAGE_LIST } from '../../connected-components/dps-reference-page/dps-reference-helper';\nimport '../dps-link';\nimport '../dps-badge';\nimport '../dps-bookmark';\n\nconst highlightQuery = (str, query) => {\n\treturn str.replace(new RegExp(query, 'ig'), match => {\n\t\treturn `<span style=\"background: #F5EFCB\">${match}</span>`;\n\t});\n};\n\nconst imageLoader = (updateProperties, component) => {\n\tconst encodedComponentName = encodeURIComponent(component.component_name);\n\tconst imageSrc = `https://sndevstore.blob.core.windows.net/images/component-thumbnails/${encodedComponentName}.svg`;\n\tconst previewImageSrc = component.preview_image;\n\n\t// Load primary image and test...\n\tconst img = new Image();\n\timg.addEventListener('load', () => {\n\t\t// if loaded properly, set as imageSrc\n\t\tupdateProperties({\n\t\t\timageSrc,\n\t\t\timageUsed: 'component-name'\n\t\t});\n\t});\n\timg.addEventListener('error', () => {\n\t\t// if there was a loading error, try the previewImg\n\t\tif (previewImageSrc) {\n\t\t\tconst previewImg = new Image();\n\t\t\tpreviewImg.addEventListener('load', () => {\n\t\t\t\t// if the previewImg loads, use it!\n\t\t\t\tupdateProperties({\n\t\t\t\t\timageSrc: previewImageSrc,\n\t\t\t\t\timageUsed: 'preview-image'\n\t\t\t\t});\n\t\t\t});\n\t\t\tpreviewImg.addEventListener('error', () => {\n\t\t\t\t// if the previewImg errors, fallback...\n\t\t\t\tupdateProperties({\n\t\t\t\t\timageSrc: placeholder,\n\t\t\t\t\timageUsed: 'placeholder'\n\t\t\t\t});\n\t\t\t});\n\t\t\tpreviewImg.src = previewImageSrc; // load the previewImg (in memory)\n\t\t} else {\n\t\t\t// if there's no previewImageSrc, fallback...\n\t\t\tupdateProperties({\n\t\t\t\timageSrc: placeholder,\n\t\t\t\timageUsed: 'placeholder'\n\t\t\t});\n\t\t}\n\t});\n\timg.src = imageSrc; // load the imageSrc (in memory)\n};\nconst DpsComponentGalleryCard = ({ properties }, { updateProperties }) => {\n\tconst {\n\t\tisHovering,\n\t\tuserInfo,\n\t\tcomponent,\n\t\timageSrc,\n\t\timageUsed,\n\t\tquery,\n\t\trelease\n\t} = properties;\n\n\tconst {\n\t\tapi,\n\t\tbookmarked,\n\t\tcomponent_name,\n\t\tdescription,\n\t\tfriendly_name,\n\t\tinternal,\n\t\toverview,\n\t\tplayground,\n\t\tusage,\n\t\tuibSetup\n\t} = component;\n\n\tconst isLoggedIn = userInfo && userInfo.is_logged_in;\n\n\tconst links = [\n\t\t{\n\t\t\tlabel: 'UIB Setup',\n\t\t\thref: uibSetup\n\t\t},\n\t\t{\n\t\t\tlabel: 'API',\n\t\t\thref: api\n\t\t},\n\t\t{\n\t\t\tlabel: 'Usage',\n\t\t\thref: usage\n\t\t},\n\t\t{\n\t\t\tlabel: 'Gallery',\n\t\t\thref: GALLERY_PAGE_LIST.includes(component_name)\n\t\t\t\t? createPath(\n\t\t\t\t\t\t`/reference/next-experience/${release}/now-components/${component_name}/gallery`\n\t\t\t\t  )\n\t\t\t\t: null\n\t\t},\n\t\t{\n\t\t\tlabel: 'Playground',\n\t\t\thref: playground\n\t\t}\n\t];\n\n\t// component description can be inconsistent. we want to restructure it so the string is more predictable\n\tconst cleanDescription = description\n\t\t? `<p>${stripTags(description, /<\\/div>|<div>|<\\/p>|<p>/g)}</p>`\n\t\t: '';\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"dps-component-gallery-card\"\n\t\t\ton-mouseenter={() => updateProperties({ isHovering: true })}\n\t\t\ton-mouseleave={() => updateProperties({ isHovering: false })}\n\t\t>\n\t\t\t<div className=\"dps-component-gallery-card-image-container\">\n\t\t\t\t{imageSrc ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'dps-component-gallery-card-image': true,\n\t\t\t\t\t\t\t'-primary-image': imageUsed === 'component-name',\n\t\t\t\t\t\t\t'-secondary-image': imageUsed === 'preview-image',\n\t\t\t\t\t\t\t'-fallback-image': imageUsed === 'default'\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t'background-image': `url(${imageSrc})`\n\t\t\t\t\t\t}}\n\t\t\t\t\t\thref={overview}\n\t\t\t\t\t\taria-label={`View ${\n\t\t\t\t\t\t\tfriendly_name ? friendly_name : component_name\n\t\t\t\t\t\t} overview`}\n\t\t\t\t\t></a>\n\t\t\t\t) : null}\n\t\t\t\t<div className=\"dps-component-gallery-card-tags\">\n\t\t\t\t\t{isLoggedIn ? (\n\t\t\t\t\t\t<dps-bookmark\n\t\t\t\t\t\t\tidentifier={component_name}\n\t\t\t\t\t\t\tbookmarked={bookmarked}\n\t\t\t\t\t\t></dps-bookmark>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{internal ? (\n\t\t\t\t\t\t<dps-badge\n\t\t\t\t\t\t\tvariant=\"servicenow\"\n\t\t\t\t\t\t\tcollapsible\n\t\t\t\t\t\t\tcollapsed={!isHovering}\n\t\t\t\t\t\t\ton-focus={() => updateProperties({ isHovering: true })}\n\t\t\t\t\t\t\ton-focusout={() => updateProperties({ isHovering: false })}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<h3 className=\"dps-component-gallery-card-title\">\n\t\t\t\t{friendly_name ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={overview}\n\t\t\t\t\t\ttitle={friendly_name}\n\t\t\t\t\t\tinnerHTML={\n\t\t\t\t\t\t\tquery ? highlightQuery(friendly_name, query) : friendly_name\n\t\t\t\t\t\t}\n\t\t\t\t\t></a>\n\t\t\t\t) : (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={overview}\n\t\t\t\t\t\ttitle={component_name}\n\t\t\t\t\t\tinnerHTML={\n\t\t\t\t\t\t\tquery ? highlightQuery(component_name, query) : component_name\n\t\t\t\t\t\t}\n\t\t\t\t\t></a>\n\t\t\t\t)}\n\t\t\t</h3>\n\t\t\t<div\n\t\t\t\tclassName=\"dps-component-gallery-card-description\"\n\t\t\t\tinnerHTML={\n\t\t\t\t\tquery ? highlightQuery(cleanDescription, query) : cleanDescription\n\t\t\t\t}\n\t\t\t></div>\n\t\t\t{links.length ? (\n\t\t\t\t<ul className=\"dps-component-gallery-card-links\">\n\t\t\t\t\t{links.map(link =>\n\t\t\t\t\t\tlink.href ? (\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<dps-link href={link.href}>{link.label}</dps-link>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t) : null\n\t\t\t\t\t)}\n\t\t\t\t</ul>\n\t\t\t) : null}\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-component-gallery-card', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DpsComponentGalleryCard\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]({ updateProperties, properties: { component } }) {\n\t\t\timageLoader(updateProperties, component);\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]({\n\t\t\taction,\n\t\t\tupdateProperties,\n\t\t\tproperties: { component }\n\t\t}) {\n\t\t\tif (action.payload.name === 'component') {\n\t\t\t\timageLoader(updateProperties, component);\n\t\t\t}\n\t\t}\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Component thumbnail\n\t\t * @type {string}\n\t\t */\n\t\timageSrc: {\n\t\t\tdefault: placeholder\n\t\t},\n\t\t/**\n\t\t * Component thumbnail\n\t\t * @type {string}\n\t\t */\n\t\timageUsed: {\n\t\t\tdefault: 'placeholder'\n\t\t},\n\t\t/**\n\t\t * Determines when to open internal badge\n\t\t * @type {boolean}\n\t\t */\n\t\tisHovering: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * User info\n\t\t * @type {{}}\n\t\t */\n\t\tuserInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\t/**\n\t\t * Component object\n\t\t * @type {{}}\n\t\t */\n\t\tcomponent: {\n\t\t\tdefault: {}\n\t\t},\n\t\t/**\n\t\t * Search term\n\t\t * @type {string}\n\t\t */\n\t\tquery: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Release\n\t\t * @type {string}\n\t\t */\n\t\trelease: {\n\t\t\tdefault: ''\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-category-section.scss';\nimport stripTags from '../../utils/stripTags';\nimport {DPS_CATEGORY_SECTION_ACTIONS} from './actions'\nimport '../dps-component-gallery-card';\n\nconst view = (state, {dispatch}) => {\n\tconst {\n    category,\n    components,\n    description,\n    heading,\n    release,\n    totalComponents,\n    userInfo\n  } = state.properties;\n\n\t// category description can be inconsistent. we want to restructure it so the string is more predictable\n\tconst cleanDescription = description\n\t\t? stripTags(description, /<\\/div>|<div>|<\\/p>|<p>/g)\n\t\t: '';\n\n\t// display 4 components max\n\tconst featuredComponents =\n\t\tcomponents && components.length ? components.slice(0, 4) : [];\n\n\treturn (\n\t\t<section className=\"dps-category-section\" aria-label={`${heading}`}>\n\t\t\t<div className=\"dps-category-section-heading\">\n\t\t\t\t<div className=\"dps-category-section-heading-container\">\n\t\t\t\t\t<h2>{heading} {totalComponents > 0 ? `(${totalComponents})` : ''}</h2>\n\t\t\t\t\t{totalComponents > 0 ? (\n\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tlabel={`See all`}\n\t\t\t\t\t\t\tconfig-aria={{'aria-label': `See all ${heading} components`}}\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\tconst payload = { \n\t\t\t\t\t\t\t\t\t...(category === 'Bookmarks' ? { bookmarks: true } : { category })\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tdispatch(DPS_CATEGORY_SECTION_ACTIONS.SEE_ALL_CLICKED, payload);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t\t<p innerHTML={cleanDescription}></p>\n\t\t\t</div>\n\t\t\t<ul className=\"dps-category-section-components\">\n\t\t\t\t{featuredComponents.length\n\t\t\t\t\t? featuredComponents.map(component => (\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<dps-component-gallery-card\n\t\t\t\t\t\t\t\t\tcomponent={component}\n\t\t\t\t\t\t\t\t\tuser-info={userInfo}\n\t\t\t\t\t\t\t\t\trelease={release}\n\t\t\t\t\t\t\t\t\tkey={`${component.component_name}--${release}`}\n\t\t\t\t\t\t\t\t></dps-component-gallery-card>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t  ))\n\t\t\t\t\t: null}\n\t\t\t</ul>\n\t\t</section>\n\t);\n};\n\nexport default createCustomElement('dps-category-section', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\t/**\n\t\t * Category name\n\t\t * @type {string}\n\t\t */\n\t\tcategory: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * User-friendly category heading\n\t\t * @type {string}\n\t\t */\n\t\theading: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Category description\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * An array of featured components in a category\n\t\t * @type {[]}\n\t\t */\n\t\tcomponents: {\n\t\t\tdefault: []\n\t\t},\n\t\t/**\n\t\t * Total number of components in a category\n\t\t * @type {number}\n\t\t */\n\t\ttotalComponents: {\n\t\t\tdefault: 0\n\t\t},\n\t\t/**\n\t\t * User info\n\t\t * @type {{}}\n\t\t */\n\t\tuserInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\t/**\n\t\t * Release\n\t\t * @type {{}}\n\t\t */\n\t\trelease: {\n\t\t\tdefault: {}\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-category-section';\n\nexport default createCustomElement('dps-category-section-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-category-section></dps-category-section>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-checkbox.scss';\n\nconst view = (state, {dispatch}) => {\n\tconst { id, label, name, checked } = state.properties;\n\n\treturn (\n\t\t<div className=\"dps-checkbox -sm\">\n\t\t\t<input\n\t\t\t\tid={id}\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tname={name}\n\t\t\t\tchecked={checked}\n\t\t\t\ton-input={e => {\n\t\t\t\t\tdispatch('DPS_CHECKBOX#CHECKED', {\n\t\t\t\t\t\tvalue: e.target.checked,\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tlabel\n\t\t\t\t\t})\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t<label htmlFor={id}>{label}</label>\n\t\t</div>\n\t);\n}\n\nexport default createCustomElement('dps-checkbox', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\tid: {\n\t\t\tdefault: ''\n\t\t},\n\t\tname: {\n\t\t\tdefault: ''\n\t\t},\n\t\tlabel: {\n\t\t\tdefault: ''\n\t\t},\n\t\tchecked: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-checkbox';\n\nexport default createCustomElement('dps-checkbox-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-checkbox></dps-checkbox>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme.js'; // loads fonts/theme\nimport '../../src/components/dps-code-block';\n\nexport default createCustomElement('dps-code-block-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<Fragment>\n\t\t\t<dps-code-block\n\t\t\t\tlanguage=\"json\"\n\t\t\t\tcode={`{\n\t\"detectedLanguage\": {\n\t\t\"code\": \"en\",\n\t\t\"confidence\": \"1\",\n\t\t\"name\": \"en\"\n\t},\n\t\"alternatives\": [\n\t\t{ \"code\": \"vi\",\n\t\t\"confidence\": \"0.86\",\n\t\t\"name\": \"vi\"\n\t\t},\n\t\t{ \"code\": \"id\",\n\t\t\"confidence\": \"0.86\",\n\t\t\"name\": \"id\"\n\t\t}\n\t],\n\t\"translator\": \"Microsoft\"\n}`}\n\t\t\t/>\n\t\t\t<dps-code-block\n\t\t\t\tlanguage=\"xml\"\n\t\t\t\tcode={`<!DOCTYPE html>\n<html>\n\t<head>\n\t\t<title>Sample Page</title>\n\t\t<style>\n\t\t\th1 {\n\t\t\t\tcolor: rebeccapurple;\n\t\t\t\tfont-style: italic;\n\t\t\t}\n\t\t</style>\n\t</head>\n\t<body>\n\t\t<h1>Hello World!</h1>\n\t\t<p>The quick brown fox jumps over the lazy dog.</p>\n\t</body>\n</html>\n`}\n\t\t\t/>\n\t\t\t<dps-code-block\n\t\t\t\tlanguage=\"javascript\"\n\t\t\t\tcode={`var detectedResponse = dynamicTranslation.getDetectedLanguage(\\'Please detect the language of this text\\', {\"translator\":123}).then(function(res) {console.log(res); }, function(res) {console.log(res); } );`}\n\t\t\t/>\n\t\t</Fragment>\n\t)\n});\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../dps-tabs';\nimport '../dps-code-block';\nimport { DPS_CODE_SWITCHER_ACTIONS } from './actions';\nimport styles from './_dps-code-switcher.scss';\n\nconst { COMPONENT_PROPERTY_CHANGED, COMPONENT_RENDERED } = actionTypes;\n\nconst WINDOW_OFFSET_EPSILON = 0.001;\n\nfunction DpsCodeSwitcher({properties}, {updateState}) {\n\tconst {\n\t\tlanguageExamples,\n\t\tlanguageTab,\n\t\tpermalink,\n\t\tlanguages,\n\t\theightOverride,\n\t\tusingHeightOverride\n\t} = properties;\n\n\tconst setTargetRef = ref => setTimeout(() => {\n\t\tupdateState({ref});\n\t});\n\n\treturn (\n\t\t<div\n\t\t\tid={permalink}\n\t\t\tclassName=\"dps-code-switcher\"\n\t\t\thook-insert={({elm}) => setTargetRef(elm)}\n\t\t\thook-destroy={() => setTargetRef(null)}\n\t\t\tstyle={{\n\t\t\t\t\"height\": `${\n\t\t\t\t\tusingHeightOverride\n\t\t\t\t\t? `${heightOverride}px`\n\t\t\t\t\t: 'auto'}`,\n\t\t\t}}\n\t\t>\n\t\t\t<dps-tabs\n\t\t\t\titems={languages}\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tactive={languageTab}\n\t\t\t\tappend-to-payload={{ group: 'languageSwitcher', permalink }}\n\t\t\t></dps-tabs>\n\t\t\t{languageExamples.map((example, index) => {\n\t\t\t\t// Return null if this isn't the language\n\t\t\t\t// our current tab says we want.\n\t\t\t\tif (index !== languageTab) {\n\t\t\t\t\treturn (<div></div>);\n\t\t\t\t}\n\n\t\t\t\t// Format the content coming back from the code example\n\t\t\t\t// fields. We need to do some quick replacements.\n\t\t\t\tlet response;\n\t\t\t\tlet format;\n\t\t\t\tlet responseDescription;\n\n\t\t\t\tif (example.children && example.children.length) {\n\t\t\t\t\tresponse = example.children[0].text;\n\t\t\t\t\tformat = example.children[0].variable === 'text'? 'shell' : example.children[0].variable;\n\t\t\t\t\tresponseDescription = example.children[0].text2;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<p className=\"description\" innerHTML={example.text2} />\n\t\t\t\t\t\t\t<dps-code-block\n\t\t\t\t\t\t\t\tlanguage={\n\t\t\t\t\t\t\t\t\tlanguages[languageTab].label === 'curl'\n\t\t\t\t\t\t\t\t\t\t? 'shell'\n\t\t\t\t\t\t\t\t\t\t: languages[languageTab].label\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcode={example.text}\n\t\t\t\t\t\t\t></dps-code-block>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{response ? (\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t{responseDescription? <p className=\"description\">{responseDescription}</p> : null}\n\t\t\t\t\t\t\t\t<dps-code-block language={format} code={response}></dps-code-block>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n}\n\nexport default createCustomElement('dps-code-switcher', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DpsCodeSwitcher\n\t},\n\tinitialState: {\n\t\tref : {}\n\t},\n\tproperties: {\n\t\tlanguageExamples: {\n\t\t\tdefault: []\n\t\t},\n\t\tlanguageTab: {\n\t\t\tdefault: ''\n\t\t},\n\t\tlanguages: {\n\t\t\tcomputed({ properties }) {\n\t\t\t\treturn properties.languageExamples.map(i => ({ label: i.variable }));\n\t\t\t}\n\t\t},\n\t\toffset: {\n\t\t\tdefault: 0\n\t\t},\n\t\tpermalink: {\n\t\t\tcomputed({ properties }) {\n\t\t\t\tconst { permalink } = properties.languageExamples[0];\n\t\t\t\treturn permalink;\n\t\t\t}\n\t\t},\n\t\tstoredNextLanguageTab: {\n\t\t\tdefault: -1\n\t\t},\n\t\tneedsDispatchAfterClick: {\n\t\t\tdefault: false\n\t\t},\n\t\tcanCauseScroll: {\n\t\t\tdefault: false\n\t\t},\n\t\tallLanguageSwitchersTouched: {\n\t\t\tdefault: false\n\t\t},\n\t\tallLanguageSwitchersHeightLocked: {\n\t\t\tdefault: false\n\t\t},\n\t\tallLanguageSwitchersHeightReadjusted: {\n\t\t\tdefault: false\n\t\t},\n\t\tshouldReleaseCodeSwitcherHeight: {\n\t\t\tdefault: false\n\t\t},\n\t\tshouldLockCodeSwitcherHeight: {\n\t\t\tdefault: false\n\t\t},\n\t\theightOverride: {\n\t\t\tdefault: 0\n\t\t},\n\t\tusingHeightOverride: {\n\t\t\tdefault: false\n\t\t},\n\t\tclickedSwitcherTabSelected: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: (coeffects) => {\n\t\t\tconst { action, dispatch, updateProperties, properties, state } = coeffects;\n\t\t\tconst { usingHeightOverride, canCauseScroll, storedNextLanguageTab } = properties;\n\t\t\tconst { name, value, previousValue} = action.payload;\n\t\t\tconst triggeredShouldReleaseHeight = (name === 'shouldReleaseCodeSwitcherHeight' && value !== previousValue && value && usingHeightOverride);\n\t\t\tconst triggeredShouldLockHeight = (name === 'shouldLockCodeSwitcherHeight' && value !== previousValue && value && !usingHeightOverride);\n\t\t\tconst needsBeginLanguageTabChange = (name === 'allLanguageSwitchersHeightLocked' && value !== previousValue && value);\n\t\t\tconst needsDisableScrollBehavior = (name === 'allLanguageSwitchersHeightReadjusted' && value !== previousValue && value && canCauseScroll);\n\t\t\tconst triggeredClickedSwitcherTabSelected = (name === 'clickedSwitcherTabSelected' && value !== previousValue && value);\n\n\t\t\t// Once all switchers have locked in their heights, the \"clicked\" switcher can begin setup and dispatch\n\t\t\t// a call to actually update languageTab in all switchers using its stored value\n\t\t\tif (needsBeginLanguageTabChange && storedNextLanguageTab >= 0) {\n\t\t\t\t// The \"clicked\" switcher is the one able to scroll and can start off the system\n\t\t\t\t// of unlocking heights by dispatching an event with needsDispatchAfterClick\n\t\t\t\tupdateProperties({\n\t\t\t\t\tneedsDispatchAfterClick: true,\n\t\t\t\t\tcanCauseScroll: true,\n\t\t\t\t\toffset: state.ref.getBoundingClientRect().top,\n\t\t\t\t\tstoredNextLanguageTab: -1\n\t\t\t\t});\n\t\t\t\tdispatch(DPS_CODE_SWITCHER_ACTIONS.CLICKED_SWITCHER_TAB_SELECTED, {active: storedNextLanguageTab});\n\t\t\t}\n\t\t\t// Keep track of how many switchers have been \"touched\" by having their languageTab changed\n\t\t\t// (but since a switcher might not actually end up with a different languageTab value if it has less\n\t\t\t// total tabs than others, we don't directly check for a change in the languageTab value)\n\t\t\tif (triggeredClickedSwitcherTabSelected) {\n\t\t\t\tdispatch(DPS_CODE_SWITCHER_ACTIONS.LANGUAGE_TAB_CHANGED, {});\n\t\t\t}\n\t\t\t// Before any switcher's languageTab value is changed, it will lock in its height based on whatever\n\t\t\t// height it has when the user clicks on a code switcher tab\n\t\t\tif (triggeredShouldLockHeight) {\n\t\t\t\tupdateProperties({ heightOverride: state.ref.scrollHeight, usingHeightOverride: true });\n\t\t\t\tdispatch(DPS_CODE_SWITCHER_ACTIONS.SWITCHER_HEIGHT_LOCKED, {});\n\t\t\t}\n\t\t\t// Once all switchers have been \"touched\" (had their languageTab changed) and the main clicked\n\t\t\t// switcher has dispatched a call after being rendered again afterwards, then release each switcher's\n\t\t\t// height to allow it to re-adjust to the new dimensions after hljs has finished\n\t\t\tif (triggeredShouldReleaseHeight) {\n\t\t\t\tupdateProperties({ usingHeightOverride: false });\n\t\t\t}\n\t\t\t// Reset the ability of the clicked switcher to scroll after all switchers have indicated that\n\t\t\t// they have readjusted their heights. This is the end of the system for handling the hljs loading\n\t\t\tif (needsDisableScrollBehavior) {\n\t\t\t\tupdateProperties({ canCauseScroll: false });\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_RENDERED]({properties, state, updateProperties, dispatch}) {\n\t\t\tconst { allLanguageSwitchersTouched, canCauseScroll,\n\t\t\t\tneedsDispatchAfterClick, usingHeightOverride } = properties;\n\t\t\t\n\t\t\t// For the whole duration of the tab-selection and height adjustment system, \n\t\t\t// the clicked switcher updates the scroll view immediately whenever necessary after it's rendered\n\t\t\tif (canCauseScroll) {\n\t\t\t\tconst windowOffset = window.pageYOffset;\n\t\t\t\tconst elemOffset = state.ref.getBoundingClientRect().top;\n\t\t\t\tconst oldOffset = properties.offset;\n\t\t\t\t// Only do a scroll if there's a change in the offset\n\t\t\t\tif (Math.abs(oldOffset - elemOffset) > WINDOW_OFFSET_EPSILON) {\n\t\t\t\t\twindow.scroll(0, windowOffset + elemOffset - oldOffset);\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t// Indicate that the clicked switcher has rendered after all switchers have been touched,\n\t\t\t// which means that all switchers can unlock and allow their heights to re-adjust to their new\n\t\t\t// heights after hljs has finished\n\t\t\tif(needsDispatchAfterClick && allLanguageSwitchersTouched) {\n\t\t\t\tdispatch(DPS_CODE_SWITCHER_ACTIONS.CLICKED_SWITCHER_RENDERED, {});\n\n\t\t\t\tupdateProperties({ needsDispatchAfterClick: false, canCauseScroll: true });\n\t\t\t}\n\n\t\t\t// Once the switcher has re-adjusted to its new height after hljs has finished,\n\t\t\t// then send a signal that it is finished/re-adjusted\n\t\t\tif (allLanguageSwitchersTouched && !usingHeightOverride) {\n\t\t\t\tdispatch(DPS_CODE_SWITCHER_ACTIONS.SWITCHER_READJUSTED, {});\n\n\t\t\t\tupdateProperties({ allLanguageSwitchersTouched: false });\n\t\t\t}\n\t\t},\n\t\t'DPS_TABS#TAB_SELECTED': ({updateProperties, dispatch, action}) => {\n\t\t\t// Hold onto the selected languageTab, but first dispath an action to have all switchers\n\t\t\t// lock their heights before the languageTab is actually updated and the code snippets\n\t\t\t// are loaded in\n\t\t\tupdateProperties({\n\t\t\t\tstoredNextLanguageTab: action.payload.active\n\t\t\t});\n\t\t\tdispatch(DPS_CODE_SWITCHER_ACTIONS.SWITCHERS_NEED_HEIGHT_LOCKED, {});\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nconst { COMPONENT_BOOTSTRAPPED } = actionTypes;\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-icon';\nimport { isSmallViewport } from '../../utils/helpers';\n\nimport styles from './dps-template-two-column.scss';\n\nconst view = (state, dispatch) => {\n\tconst { open, gray, fullWidthContent, fullWidthSidebar, variant, guideSideNav, showSidebarToggle } = state.properties;\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'dps-template-two-column': true,\n\t\t\t\t'-is-open': open,\n\t\t\t\t'-background-gray': gray,\n\t\t\t\t[`-${variant}`]: true\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t['dps-template-two-column-panel']: true,\n\t\t\t\t\t['-sidebar']: true,\n\t\t\t\t\t['-full-width']: fullWidthSidebar,\n\t\t\t\t\t['-hide-sidebar']: !showSidebarToggle\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t['dps-template-two-column-panel-inner']: true,\n\t\t\t\t\t\t['-full-width-content']: fullWidthContent,\n\t\t\t\t\t\t['-guide-sidenav']: guideSideNav\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<slot name=\"sidebar\"></slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t['dps-template-two-column-panel']: true,\n\t\t\t\t\t['-content']: true,\n\t\t\t\t\t['-full-width-content']: fullWidthContent\n\t\t\t\t}}\n\t\t\t\tid=\"collapsible-sidebar-panel-content\"\n\t\t\t>\n\t\t\t\t{showSidebarToggle ? (\n\t\t\t\t\t<div className=\"dps-template-two-column-toggle-container\">\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tclassName=\"dps-template-two-column-toggle\"\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\tdispatch('COLLAPSIBLE_SIDEBAR#TOGGLE');\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\tclass=\"dps-sidebar-icon\"\n\t\t\t\t\t\t\t\ticon=\"arrow-right-outline\"\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t></now-icon>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-template-two-column', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tproperties: {\n\t\tfullWidthContent: {\n\t\t\tdefault: false\n\t\t},\n\t\tfullWidthSidebar: {\n\t\t\tdefault: false\n\t\t},\n\t\tgray: {\n\t\t\tdefault: false\n\t\t},\n\t\topen: {\n\t\t\tdefault: false\n\t\t},\n\t\tvariant: {\n\t\t\tdefault : 'none'\n\t\t},\n\t\tguideSideNav: {\n\t\t\tdefault: false\n\t\t},\n\t\tshowSidebarToggle: {\n\t\t\tdefault: true\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t['COLLAPSIBLE_SIDEBAR#TOGGLE']: ({ properties, updateProperties }) =>\n\t\t\tupdateProperties({\n\t\t\t\topen: !properties.open\n\t\t\t}),\n\t\t[COMPONENT_BOOTSTRAPPED]({updateProperties}) {\n\t\t\tupdateProperties({\n\t\t\t\topen: !isSmallViewport()\n\t\t\t});\n\t\t}\n\t},\n\tstyles,\n\tview\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../theme.js'; // loads fonts/theme\nimport '../../src/components/dps-code-switcher';\nimport '../../src/components/dps-template-two-column';\n\nexport default createCustomElement('dps-code-switcher-example', {\n\trenderer: { type: snabbdom },\n\tview: ({ properties: { height }}) => (\n\t\t<dps-template-two-column open>\n\t\t\t<div slot=\"sidebar\" style={{ height }}></div>\n\t\t\t<h2>Content Above</h2>\n\t\t\t<dps-code-switcher style={{ width: '300px', marginLeft: 'auto' }}></dps-code-switcher>\n\t\t\t<div>\n\t\t\t\t<h2>Content Below</h2>\n\t\t\t\t<p>Quis aliquip dolor ipsum cillum sunt aliquip dolore dolore et ipsum.</p>\n\t\t\t</div>\n\t\t</dps-template-two-column>\n\t),\n\tproperties: {\n\t\theight: {\n\t\t\tdefault: '600px'\n\t\t}\n\t}\n});\n","import type { MarkedOptions } from './MarkedOptions.ts';\n\n/**\n * Gets the original marked default options.\n */\nexport function _getDefaults(): MarkedOptions {\n  return {\n    async: false,\n    breaks: false,\n    extensions: null,\n    gfm: true,\n    hooks: null,\n    pedantic: false,\n    renderer: null,\n    silent: false,\n    tokenizer: null,\n    walkTokens: null,\n  };\n}\n\nexport let _defaults = _getDefaults();\n\nexport function changeDefaults(newDefaults: MarkedOptions) {\n  _defaults = newDefaults;\n}\n","const noopTest = { exec: () => null } as unknown as RegExp;\n\nfunction edit(regex: string | RegExp, opt = '') {\n  let source = typeof regex === 'string' ? regex : regex.source;\n  const obj = {\n    replace: (name: string | RegExp, val: string | RegExp) => {\n      let valSource = typeof val === 'string' ? val : val.source;\n      valSource = valSource.replace(other.caret, '$1');\n      source = source.replace(name, valSource);\n      return obj;\n    },\n    getRegex: () => {\n      return new RegExp(source, opt);\n    },\n  };\n  return obj;\n}\n\nexport const other = {\n  codeRemoveIndent: /^(?: {1,4}| {0,3}\\t)/gm,\n  outputLinkReplace: /\\\\([\\[\\]])/g,\n  indentCodeCompensation: /^(\\s+)(?:```)/,\n  beginningSpace: /^\\s+/,\n  endingHash: /#$/,\n  startingSpaceChar: /^ /,\n  endingSpaceChar: / $/,\n  nonSpaceChar: /[^ ]/,\n  newLineCharGlobal: /\\n/g,\n  tabCharGlobal: /\\t/g,\n  multipleSpaceGlobal: /\\s+/g,\n  blankLine: /^[ \\t]*$/,\n  doubleBlankLine: /\\n[ \\t]*\\n[ \\t]*$/,\n  blockquoteStart: /^ {0,3}>/,\n  blockquoteSetextReplace: /\\n {0,3}((?:=+|-+) *)(?=\\n|$)/g,\n  blockquoteSetextReplace2: /^ {0,3}>[ \\t]?/gm,\n  listReplaceTabs: /^\\t+/,\n  listReplaceNesting: /^ {1,4}(?=( {4})*[^ ])/g,\n  listIsTask: /^\\[[ xX]\\] /,\n  listReplaceTask: /^\\[[ xX]\\] +/,\n  anyLine: /\\n.*\\n/,\n  hrefBrackets: /^<(.*)>$/,\n  tableDelimiter: /[:|]/,\n  tableAlignChars: /^\\||\\| *$/g,\n  tableRowBlankLine: /\\n[ \\t]*$/,\n  tableAlignRight: /^ *-+: *$/,\n  tableAlignCenter: /^ *:-+: *$/,\n  tableAlignLeft: /^ *:-+ *$/,\n  startATag: /^<a /i,\n  endATag: /^<\\/a>/i,\n  startPreScriptTag: /^<(pre|code|kbd|script)(\\s|>)/i,\n  endPreScriptTag: /^<\\/(pre|code|kbd|script)(\\s|>)/i,\n  startAngleBracket: /^</,\n  endAngleBracket: />$/,\n  pedanticHrefTitle: /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/,\n  unicodeAlphaNumeric: /[\\p{L}\\p{N}]/u,\n  escapeTest: /[&<>\"']/,\n  escapeReplace: /[&<>\"']/g,\n  escapeTestNoEncode: /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/,\n  escapeReplaceNoEncode: /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/g,\n  unescapeTest: /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig,\n  caret: /(^|[^\\[])\\^/g,\n  percentDecode: /%25/g,\n  findPipe: /\\|/g,\n  splitPipe: / \\|/,\n  slashPipe: /\\\\\\|/g,\n  carriageReturn: /\\r\\n|\\r/g,\n  spaceLine: /^ +$/gm,\n  notSpaceStart: /^\\S*/,\n  endingNewline: /\\n$/,\n  listItemRegex: (bull: string) => new RegExp(`^( {0,3}${bull})((?:[\\t ][^\\\\n]*)?(?:\\\\n|$))`),\n  nextBulletRegex: (indent: number) => new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \\t][^\\\\n]*)?(?:\\\\n|$))`),\n  hrRegex: (indent: number) => new RegExp(`^ {0,${Math.min(3, indent - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`),\n  fencesBeginRegex: (indent: number) => new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:\\`\\`\\`|~~~)`),\n  headingBeginRegex: (indent: number) => new RegExp(`^ {0,${Math.min(3, indent - 1)}}#`),\n  htmlBeginRegex: (indent: number) => new RegExp(`^ {0,${Math.min(3, indent - 1)}}<(?:[a-z].*>|!--)`, 'i'),\n};\n\n/**\n * Block-Level Grammar\n */\n\nconst newline = /^(?:[ \\t]*(?:\\n|$))+/;\nconst blockCode = /^((?: {4}| {0,3}\\t)[^\\n]+(?:\\n(?:[ \\t]*(?:\\n|$))*)?)+/;\nconst fences = /^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/;\nconst hr = /^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/;\nconst heading = /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/;\nconst bullet = /(?:[*+-]|\\d{1,9}[.)])/;\nconst lheadingCore = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\\n(?!\\s*?\\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/;\nconst lheading = edit(lheadingCore)\n  .replace(/bull/g, bullet) // lists can interrupt\n  .replace(/blockCode/g, /(?: {4}| {0,3}\\t)/) // indented code blocks can interrupt\n  .replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/) // fenced code blocks can interrupt\n  .replace(/blockquote/g, / {0,3}>/) // blockquote can interrupt\n  .replace(/heading/g, / {0,3}#{1,6}/) // ATX heading can interrupt\n  .replace(/html/g, / {0,3}<[^\\n>]+>\\n/) // block html can interrupt\n  .replace(/\\|table/g, '') // table not in commonmark\n  .getRegex();\nconst lheadingGfm = edit(lheadingCore)\n  .replace(/bull/g, bullet) // lists can interrupt\n  .replace(/blockCode/g, /(?: {4}| {0,3}\\t)/) // indented code blocks can interrupt\n  .replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/) // fenced code blocks can interrupt\n  .replace(/blockquote/g, / {0,3}>/) // blockquote can interrupt\n  .replace(/heading/g, / {0,3}#{1,6}/) // ATX heading can interrupt\n  .replace(/html/g, / {0,3}<[^\\n>]+>\\n/) // block html can interrupt\n  .replace(/table/g, / {0,3}\\|?(?:[:\\- ]*\\|)+[\\:\\- ]*\\n/) // table can interrupt\n  .getRegex();\nconst _paragraph = /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/;\nconst blockText = /^[^\\n]+/;\nconst _blockLabel = /(?!\\s*\\])(?:\\\\.|[^\\[\\]\\\\])+/;\nconst def = edit(/^ {0,3}\\[(label)\\]: *(?:\\n[ \\t]*)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n[ \\t]*)?| *\\n[ \\t]*)(title))? *(?:\\n+|$)/)\n  .replace('label', _blockLabel)\n  .replace('title', /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/)\n  .getRegex();\n\nconst list = edit(/^( {0,3}bull)([ \\t][^\\n]+?)?(?:\\n|$)/)\n  .replace(/bull/g, bullet)\n  .getRegex();\n\nconst _tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n  + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n  + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n  + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n  + '|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title'\n  + '|tr|track|ul';\nconst _comment = /<!--(?:-?>|[\\s\\S]*?(?:-->|$))/;\nconst html = edit(\n  '^ {0,3}(?:' // optional indentation\n+ '<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)' // (1)\n+ '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n+ '|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)' // (3)\n+ '|<![A-Z][\\\\s\\\\S]*?(?:>\\\\n*|$)' // (4)\n+ '|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?(?:\\\\]\\\\]>\\\\n*|$)' // (5)\n+ '|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:(?:\\\\n[ \\t]*)+\\\\n|$)' // (6)\n+ '|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \\t]*)+\\\\n|$)' // (7) open tag\n+ '|</(?!script|pre|style|textarea)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \\t]*)+\\\\n|$)' // (7) closing tag\n+ ')', 'i')\n  .replace('comment', _comment)\n  .replace('tag', _tag)\n  .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n  .getRegex();\n\nconst paragraph = edit(_paragraph)\n  .replace('hr', hr)\n  .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n  .replace('|lheading', '') // setext headings don't interrupt commonmark paragraphs\n  .replace('|table', '')\n  .replace('blockquote', ' {0,3}>')\n  .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n  .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n  .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n  .replace('tag', _tag) // pars can be interrupted by type (6) html blocks\n  .getRegex();\n\nconst blockquote = edit(/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/)\n  .replace('paragraph', paragraph)\n  .getRegex();\n\n/**\n * Normal Block Grammar\n */\n\nconst blockNormal = {\n  blockquote,\n  code: blockCode,\n  def,\n  fences,\n  heading,\n  hr,\n  html,\n  lheading,\n  list,\n  newline,\n  paragraph,\n  table: noopTest,\n  text: blockText,\n};\n\ntype BlockKeys = keyof typeof blockNormal;\n\n/**\n * GFM Block Grammar\n */\n\nconst gfmTable = edit(\n  '^ *([^\\\\n ].*)\\\\n' // Header\n+ ' {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)' // Align\n+ '(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)') // Cells\n  .replace('hr', hr)\n  .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n  .replace('blockquote', ' {0,3}>')\n  .replace('code', '(?: {4}| {0,3}\\t)[^\\\\n]')\n  .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n  .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n  .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n  .replace('tag', _tag) // tables can be interrupted by type (6) html blocks\n  .getRegex();\n\nconst blockGfm: Record<BlockKeys, RegExp> = {\n  ...blockNormal,\n  lheading: lheadingGfm,\n  table: gfmTable,\n  paragraph: edit(_paragraph)\n    .replace('hr', hr)\n    .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n    .replace('|lheading', '') // setext headings don't interrupt commonmark paragraphs\n    .replace('table', gfmTable) // interrupt paragraphs with table\n    .replace('blockquote', ' {0,3}>')\n    .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n    .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n    .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n    .replace('tag', _tag) // pars can be interrupted by type (6) html blocks\n    .getRegex(),\n};\n\n/**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\n\nconst blockPedantic: Record<BlockKeys, RegExp> = {\n  ...blockNormal,\n  html: edit(\n    '^ *(?:comment *(?:\\\\n|\\\\s*$)'\n    + '|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n    + '|<tag(?:\"[^\"]*\"|\\'[^\\']*\\'|\\\\s[^\\'\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n    .replace('comment', _comment)\n    .replace(/tag/g, '(?!(?:'\n      + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n      + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n      + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n    .getRegex(),\n  def: /^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n  heading: /^(#{1,6})(.*)(?:\\n+|$)/,\n  fences: noopTest, // fences not supported\n  lheading: /^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n  paragraph: edit(_paragraph)\n    .replace('hr', hr)\n    .replace('heading', ' *#{1,6} *[^\\n]')\n    .replace('lheading', lheading)\n    .replace('|table', '')\n    .replace('blockquote', ' {0,3}>')\n    .replace('|fences', '')\n    .replace('|list', '')\n    .replace('|html', '')\n    .replace('|tag', '')\n    .getRegex(),\n};\n\n/**\n * Inline-Level Grammar\n */\n\nconst escape = /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/;\nconst inlineCode = /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/;\nconst br = /^( {2,}|\\\\)\\n(?!\\s*$)/;\nconst inlineText = /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*_]|\\b_|$)|[^ ](?= {2,}\\n)))/;\n\n// list of unicode punctuation marks, plus any missing characters from CommonMark spec\nconst _punctuation = /[\\p{P}\\p{S}]/u;\nconst _punctuationOrSpace = /[\\s\\p{P}\\p{S}]/u;\nconst _notPunctuationOrSpace = /[^\\s\\p{P}\\p{S}]/u;\nconst punctuation = edit(/^((?![*_])punctSpace)/, 'u')\n  .replace(/punctSpace/g, _punctuationOrSpace).getRegex();\n\n// GFM allows ~ inside strong and em for strikethrough\nconst _punctuationGfmStrongEm = /(?!~)[\\p{P}\\p{S}]/u;\nconst _punctuationOrSpaceGfmStrongEm = /(?!~)[\\s\\p{P}\\p{S}]/u;\nconst _notPunctuationOrSpaceGfmStrongEm = /(?:[^\\s\\p{P}\\p{S}]|~)/u;\n\n// sequences em should skip over [title](link), `code`, <html>\nconst blockSkip = /\\[[^[\\]]*?\\]\\((?:\\\\.|[^\\\\\\(\\)]|\\((?:\\\\.|[^\\\\\\(\\)])*\\))*\\)|`[^`]*?`|<[^<>]*?>/g;\n\nconst emStrongLDelimCore = /^(?:\\*+(?:((?!\\*)punct)|[^\\s*]))|^_+(?:((?!_)punct)|([^\\s_]))/;\n\nconst emStrongLDelim = edit(emStrongLDelimCore, 'u')\n  .replace(/punct/g, _punctuation)\n  .getRegex();\n\nconst emStrongLDelimGfm = edit(emStrongLDelimCore, 'u')\n  .replace(/punct/g, _punctuationGfmStrongEm)\n  .getRegex();\n\nconst emStrongRDelimAstCore =\n  '^[^_*]*?__[^_*]*?\\\\*[^_*]*?(?=__)' // Skip orphan inside strong\n+ '|[^*]+(?=[^*])' // Consume to delim\n+ '|(?!\\\\*)punct(\\\\*+)(?=[\\\\s]|$)' // (1) #*** can only be a Right Delimiter\n+ '|notPunctSpace(\\\\*+)(?!\\\\*)(?=punctSpace|$)' // (2) a***#, a*** can only be a Right Delimiter\n+ '|(?!\\\\*)punctSpace(\\\\*+)(?=notPunctSpace)' // (3) #***a, ***a can only be Left Delimiter\n+ '|[\\\\s](\\\\*+)(?!\\\\*)(?=punct)' // (4) ***# can only be Left Delimiter\n+ '|(?!\\\\*)punct(\\\\*+)(?!\\\\*)(?=punct)' // (5) #***# can be either Left or Right Delimiter\n+ '|notPunctSpace(\\\\*+)(?=notPunctSpace)'; // (6) a***a can be either Left or Right Delimiter\n\nconst emStrongRDelimAst = edit(emStrongRDelimAstCore, 'gu')\n  .replace(/notPunctSpace/g, _notPunctuationOrSpace)\n  .replace(/punctSpace/g, _punctuationOrSpace)\n  .replace(/punct/g, _punctuation)\n  .getRegex();\n\nconst emStrongRDelimAstGfm = edit(emStrongRDelimAstCore, 'gu')\n  .replace(/notPunctSpace/g, _notPunctuationOrSpaceGfmStrongEm)\n  .replace(/punctSpace/g, _punctuationOrSpaceGfmStrongEm)\n  .replace(/punct/g, _punctuationGfmStrongEm)\n  .getRegex();\n\n// (6) Not allowed for _\nconst emStrongRDelimUnd = edit(\n  '^[^_*]*?\\\\*\\\\*[^_*]*?_[^_*]*?(?=\\\\*\\\\*)' // Skip orphan inside strong\n+ '|[^_]+(?=[^_])' // Consume to delim\n+ '|(?!_)punct(_+)(?=[\\\\s]|$)' // (1) #___ can only be a Right Delimiter\n+ '|notPunctSpace(_+)(?!_)(?=punctSpace|$)' // (2) a___#, a___ can only be a Right Delimiter\n+ '|(?!_)punctSpace(_+)(?=notPunctSpace)' // (3) #___a, ___a can only be Left Delimiter\n+ '|[\\\\s](_+)(?!_)(?=punct)' // (4) ___# can only be Left Delimiter\n+ '|(?!_)punct(_+)(?!_)(?=punct)', 'gu') // (5) #___# can be either Left or Right Delimiter\n  .replace(/notPunctSpace/g, _notPunctuationOrSpace)\n  .replace(/punctSpace/g, _punctuationOrSpace)\n  .replace(/punct/g, _punctuation)\n  .getRegex();\n\nconst anyPunctuation = edit(/\\\\(punct)/, 'gu')\n  .replace(/punct/g, _punctuation)\n  .getRegex();\n\nconst autolink = edit(/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/)\n  .replace('scheme', /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/)\n  .replace('email', /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/)\n  .getRegex();\n\nconst _inlineComment = edit(_comment).replace('(?:-->|$)', '-->').getRegex();\nconst tag = edit(\n  '^comment'\n    + '|^</[a-zA-Z][\\\\w:-]*\\\\s*>' // self-closing tag\n    + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n    + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. <?php ?>\n    + '|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>' // declaration, e.g. <!DOCTYPE html>\n    + '|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>') // CDATA section\n  .replace('comment', _inlineComment)\n  .replace('attribute', /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/)\n  .getRegex();\n\nconst _inlineLabel = /(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\n\nconst link = edit(/^!?\\[(label)\\]\\(\\s*(href)(?:(?:[ \\t]*(?:\\n[ \\t]*)?)(title))?\\s*\\)/)\n  .replace('label', _inlineLabel)\n  .replace('href', /<(?:\\\\.|[^\\n<>\\\\])+>|[^ \\t\\n\\x00-\\x1f]*/)\n  .replace('title', /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/)\n  .getRegex();\n\nconst reflink = edit(/^!?\\[(label)\\]\\[(ref)\\]/)\n  .replace('label', _inlineLabel)\n  .replace('ref', _blockLabel)\n  .getRegex();\n\nconst nolink = edit(/^!?\\[(ref)\\](?:\\[\\])?/)\n  .replace('ref', _blockLabel)\n  .getRegex();\n\nconst reflinkSearch = edit('reflink|nolink(?!\\\\()', 'g')\n  .replace('reflink', reflink)\n  .replace('nolink', nolink)\n  .getRegex();\n\n/**\n * Normal Inline Grammar\n */\n\nconst inlineNormal = {\n  _backpedal: noopTest, // only used for GFM url\n  anyPunctuation,\n  autolink,\n  blockSkip,\n  br,\n  code: inlineCode,\n  del: noopTest,\n  emStrongLDelim,\n  emStrongRDelimAst,\n  emStrongRDelimUnd,\n  escape,\n  link,\n  nolink,\n  punctuation,\n  reflink,\n  reflinkSearch,\n  tag,\n  text: inlineText,\n  url: noopTest,\n};\n\ntype InlineKeys = keyof typeof inlineNormal;\n\n/**\n * Pedantic Inline Grammar\n */\n\nconst inlinePedantic: Record<InlineKeys, RegExp> = {\n  ...inlineNormal,\n  link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n    .replace('label', _inlineLabel)\n    .getRegex(),\n  reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n    .replace('label', _inlineLabel)\n    .getRegex(),\n};\n\n/**\n * GFM Inline Grammar\n */\n\nconst inlineGfm: Record<InlineKeys, RegExp> = {\n  ...inlineNormal,\n  emStrongRDelimAst: emStrongRDelimAstGfm,\n  emStrongLDelim: emStrongLDelimGfm,\n  url: edit(/^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/, 'i')\n    .replace('email', /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/)\n    .getRegex(),\n  _backpedal: /(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/,\n  del: /^(~~?)(?=[^\\s~])((?:\\\\.|[^\\\\])*?(?:\\\\.|[^\\s~\\\\]))\\1(?=[^~]|$)/,\n  text: /^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*~_]|\\b_|https?:\\/\\/|ftp:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)))/,\n};\n\n/**\n * GFM + Line Breaks Inline Grammar\n */\n\nconst inlineBreaks: Record<InlineKeys, RegExp> = {\n  ...inlineGfm,\n  br: edit(br).replace('{2,}', '*').getRegex(),\n  text: edit(inlineGfm.text)\n    .replace('\\\\b_', '\\\\b_| {2,}\\\\n')\n    .replace(/\\{2,\\}/g, '*')\n    .getRegex(),\n};\n\n/**\n * exports\n */\n\nexport const block = {\n  normal: blockNormal,\n  gfm: blockGfm,\n  pedantic: blockPedantic,\n};\n\nexport const inline = {\n  normal: inlineNormal,\n  gfm: inlineGfm,\n  breaks: inlineBreaks,\n  pedantic: inlinePedantic,\n};\n\nexport interface Rules {\n  other: typeof other\n  block: Record<BlockKeys, RegExp>\n  inline: Record<InlineKeys, RegExp>\n}\n","import { other } from './rules.ts';\n\n/**\n * Helpers\n */\nconst escapeReplacements: { [index: string]: string } = {\n  '&': '&amp;',\n  '<': '&lt;',\n  '>': '&gt;',\n  '\"': '&quot;',\n  \"'\": '&#39;',\n};\nconst getEscapeReplacement = (ch: string) => escapeReplacements[ch];\n\nexport function escape(html: string, encode?: boolean) {\n  if (encode) {\n    if (other.escapeTest.test(html)) {\n      return html.replace(other.escapeReplace, getEscapeReplacement);\n    }\n  } else {\n    if (other.escapeTestNoEncode.test(html)) {\n      return html.replace(other.escapeReplaceNoEncode, getEscapeReplacement);\n    }\n  }\n\n  return html;\n}\n\nexport function unescape(html: string) {\n  // explicitly match decimal, hex, and named HTML entities\n  return html.replace(other.unescapeTest, (_, n) => {\n    n = n.toLowerCase();\n    if (n === 'colon') return ':';\n    if (n.charAt(0) === '#') {\n      return n.charAt(1) === 'x'\n        ? String.fromCharCode(parseInt(n.substring(2), 16))\n        : String.fromCharCode(+n.substring(1));\n    }\n    return '';\n  });\n}\n\nexport function cleanUrl(href: string) {\n  try {\n    href = encodeURI(href).replace(other.percentDecode, '%');\n  } catch {\n    return null;\n  }\n  return href;\n}\n\nexport function splitCells(tableRow: string, count?: number) {\n  // ensure that every cell-delimiting pipe has a space\n  // before it to distinguish it from an escaped pipe\n  const row = tableRow.replace(other.findPipe, (match, offset, str) => {\n      let escaped = false;\n      let curr = offset;\n      while (--curr >= 0 && str[curr] === '\\\\') escaped = !escaped;\n      if (escaped) {\n        // odd number of slashes means | is escaped\n        // so we leave it alone\n        return '|';\n      } else {\n        // add space before unescaped |\n        return ' |';\n      }\n    }),\n    cells = row.split(other.splitPipe);\n  let i = 0;\n\n  // First/last cell in a row cannot be empty if it has no leading/trailing pipe\n  if (!cells[0].trim()) {\n    cells.shift();\n  }\n  if (cells.length > 0 && !cells.at(-1)?.trim()) {\n    cells.pop();\n  }\n\n  if (count) {\n    if (cells.length > count) {\n      cells.splice(count);\n    } else {\n      while (cells.length < count) cells.push('');\n    }\n  }\n\n  for (; i < cells.length; i++) {\n    // leading or trailing whitespace is ignored per the gfm spec\n    cells[i] = cells[i].trim().replace(other.slashPipe, '|');\n  }\n  return cells;\n}\n\n/**\n * Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n * /c*$/ is vulnerable to REDOS.\n *\n * @param str\n * @param c\n * @param invert Remove suffix of non-c chars instead. Default falsey.\n */\nexport function rtrim(str: string, c: string, invert?: boolean) {\n  const l = str.length;\n  if (l === 0) {\n    return '';\n  }\n\n  // Length of suffix matching the invert condition.\n  let suffLen = 0;\n\n  // Step left until we fail to match the invert condition.\n  while (suffLen < l) {\n    const currChar = str.charAt(l - suffLen - 1);\n    if (currChar === c && !invert) {\n      suffLen++;\n    } else if (currChar !== c && invert) {\n      suffLen++;\n    } else {\n      break;\n    }\n  }\n\n  return str.slice(0, l - suffLen);\n}\n\nexport function findClosingBracket(str: string, b: string) {\n  if (str.indexOf(b[1]) === -1) {\n    return -1;\n  }\n\n  let level = 0;\n  for (let i = 0; i < str.length; i++) {\n    if (str[i] === '\\\\') {\n      i++;\n    } else if (str[i] === b[0]) {\n      level++;\n    } else if (str[i] === b[1]) {\n      level--;\n      if (level < 0) {\n        return i;\n      }\n    }\n  }\n  if (level > 0) {\n    return -2;\n  }\n\n  return -1;\n}\n","import { _defaults } from './defaults.ts';\nimport {\n  rtrim,\n  splitCells,\n  findClosingBracket,\n} from './helpers.ts';\nimport type { Rules } from './rules.ts';\nimport type { _Lexer } from './Lexer.ts';\nimport type { Links, Tokens, Token } from './Tokens.ts';\nimport type { MarkedOptions } from './MarkedOptions.ts';\n\nfunction outputLink(cap: string[], link: Pick<Tokens.Link, 'href' | 'title'>, raw: string, lexer: _Lexer, rules: Rules): Tokens.Link | Tokens.Image {\n  const href = link.href;\n  const title = link.title || null;\n  const text = cap[1].replace(rules.other.outputLinkReplace, '$1');\n\n  lexer.state.inLink = true;\n  const token: Tokens.Link | Tokens.Image = {\n    type: cap[0].charAt(0) === '!' ? 'image' : 'link',\n    raw,\n    href,\n    title,\n    text,\n    tokens: lexer.inlineTokens(text),\n  };\n  lexer.state.inLink = false;\n  return token;\n}\n\nfunction indentCodeCompensation(raw: string, text: string, rules: Rules) {\n  const matchIndentToCode = raw.match(rules.other.indentCodeCompensation);\n\n  if (matchIndentToCode === null) {\n    return text;\n  }\n\n  const indentToCode = matchIndentToCode[1];\n\n  return text\n    .split('\\n')\n    .map(node => {\n      const matchIndentInNode = node.match(rules.other.beginningSpace);\n      if (matchIndentInNode === null) {\n        return node;\n      }\n\n      const [indentInNode] = matchIndentInNode;\n\n      if (indentInNode.length >= indentToCode.length) {\n        return node.slice(indentToCode.length);\n      }\n\n      return node;\n    })\n    .join('\\n');\n}\n\n/**\n * Tokenizer\n */\nexport class _Tokenizer {\n  options: MarkedOptions;\n  rules!: Rules; // set by the lexer\n  lexer!: _Lexer; // set by the lexer\n\n  constructor(options?: MarkedOptions) {\n    this.options = options || _defaults;\n  }\n\n  space(src: string): Tokens.Space | undefined {\n    const cap = this.rules.block.newline.exec(src);\n    if (cap && cap[0].length > 0) {\n      return {\n        type: 'space',\n        raw: cap[0],\n      };\n    }\n  }\n\n  code(src: string): Tokens.Code | undefined {\n    const cap = this.rules.block.code.exec(src);\n    if (cap) {\n      const text = cap[0].replace(this.rules.other.codeRemoveIndent, '');\n      return {\n        type: 'code',\n        raw: cap[0],\n        codeBlockStyle: 'indented',\n        text: !this.options.pedantic\n          ? rtrim(text, '\\n')\n          : text,\n      };\n    }\n  }\n\n  fences(src: string): Tokens.Code | undefined {\n    const cap = this.rules.block.fences.exec(src);\n    if (cap) {\n      const raw = cap[0];\n      const text = indentCodeCompensation(raw, cap[3] || '', this.rules);\n\n      return {\n        type: 'code',\n        raw,\n        lang: cap[2] ? cap[2].trim().replace(this.rules.inline.anyPunctuation, '$1') : cap[2],\n        text,\n      };\n    }\n  }\n\n  heading(src: string): Tokens.Heading | undefined {\n    const cap = this.rules.block.heading.exec(src);\n    if (cap) {\n      let text = cap[2].trim();\n\n      // remove trailing #s\n      if (this.rules.other.endingHash.test(text)) {\n        const trimmed = rtrim(text, '#');\n        if (this.options.pedantic) {\n          text = trimmed.trim();\n        } else if (!trimmed || this.rules.other.endingSpaceChar.test(trimmed)) {\n          // CommonMark requires space before trailing #s\n          text = trimmed.trim();\n        }\n      }\n\n      return {\n        type: 'heading',\n        raw: cap[0],\n        depth: cap[1].length,\n        text,\n        tokens: this.lexer.inline(text),\n      };\n    }\n  }\n\n  hr(src: string): Tokens.Hr | undefined {\n    const cap = this.rules.block.hr.exec(src);\n    if (cap) {\n      return {\n        type: 'hr',\n        raw: rtrim(cap[0], '\\n'),\n      };\n    }\n  }\n\n  blockquote(src: string): Tokens.Blockquote | undefined {\n    const cap = this.rules.block.blockquote.exec(src);\n    if (cap) {\n      let lines = rtrim(cap[0], '\\n').split('\\n');\n      let raw = '';\n      let text = '';\n      const tokens: Token[] = [];\n\n      while (lines.length > 0) {\n        let inBlockquote = false;\n        const currentLines = [];\n\n        let i;\n        for (i = 0; i < lines.length; i++) {\n          // get lines up to a continuation\n          if (this.rules.other.blockquoteStart.test(lines[i])) {\n            currentLines.push(lines[i]);\n            inBlockquote = true;\n          } else if (!inBlockquote) {\n            currentLines.push(lines[i]);\n          } else {\n            break;\n          }\n        }\n        lines = lines.slice(i);\n\n        const currentRaw = currentLines.join('\\n');\n        const currentText = currentRaw\n          // precede setext continuation with 4 spaces so it isn't a setext\n          .replace(this.rules.other.blockquoteSetextReplace, '\\n    $1')\n          .replace(this.rules.other.blockquoteSetextReplace2, '');\n        raw = raw ? `${raw}\\n${currentRaw}` : currentRaw;\n        text = text ? `${text}\\n${currentText}` : currentText;\n\n        // parse blockquote lines as top level tokens\n        // merge paragraphs if this is a continuation\n        const top = this.lexer.state.top;\n        this.lexer.state.top = true;\n        this.lexer.blockTokens(currentText, tokens, true);\n        this.lexer.state.top = top;\n\n        // if there is no continuation then we are done\n        if (lines.length === 0) {\n          break;\n        }\n\n        const lastToken = tokens.at(-1);\n\n        if (lastToken?.type === 'code') {\n          // blockquote continuation cannot be preceded by a code block\n          break;\n        } else if (lastToken?.type === 'blockquote') {\n          // include continuation in nested blockquote\n          const oldToken = lastToken as Tokens.Blockquote;\n          const newText = oldToken.raw + '\\n' + lines.join('\\n');\n          const newToken = this.blockquote(newText)!;\n          tokens[tokens.length - 1] = newToken;\n\n          raw = raw.substring(0, raw.length - oldToken.raw.length) + newToken.raw;\n          text = text.substring(0, text.length - oldToken.text.length) + newToken.text;\n          break;\n        } else if (lastToken?.type === 'list') {\n          // include continuation in nested list\n          const oldToken = lastToken as Tokens.List;\n          const newText = oldToken.raw + '\\n' + lines.join('\\n');\n          const newToken = this.list(newText)!;\n          tokens[tokens.length - 1] = newToken;\n\n          raw = raw.substring(0, raw.length - lastToken.raw.length) + newToken.raw;\n          text = text.substring(0, text.length - oldToken.raw.length) + newToken.raw;\n          lines = newText.substring(tokens.at(-1)!.raw.length).split('\\n');\n          continue;\n        }\n      }\n\n      return {\n        type: 'blockquote',\n        raw,\n        tokens,\n        text,\n      };\n    }\n  }\n\n  list(src: string): Tokens.List | undefined {\n    let cap = this.rules.block.list.exec(src);\n    if (cap) {\n      let bull = cap[1].trim();\n      const isordered = bull.length > 1;\n\n      const list: Tokens.List = {\n        type: 'list',\n        raw: '',\n        ordered: isordered,\n        start: isordered ? +bull.slice(0, -1) : '',\n        loose: false,\n        items: [],\n      };\n\n      bull = isordered ? `\\\\d{1,9}\\\\${bull.slice(-1)}` : `\\\\${bull}`;\n\n      if (this.options.pedantic) {\n        bull = isordered ? bull : '[*+-]';\n      }\n\n      // Get next list item\n      const itemRegex = this.rules.other.listItemRegex(bull);\n      let endsWithBlankLine = false;\n      // Check if current bullet point can start a new List Item\n      while (src) {\n        let endEarly = false;\n        let raw = '';\n        let itemContents = '';\n        if (!(cap = itemRegex.exec(src))) {\n          break;\n        }\n\n        if (this.rules.block.hr.test(src)) { // End list if bullet was actually HR (possibly move into itemRegex?)\n          break;\n        }\n\n        raw = cap[0];\n        src = src.substring(raw.length);\n\n        let line = cap[2].split('\\n', 1)[0].replace(this.rules.other.listReplaceTabs, (t: string) => ' '.repeat(3 * t.length));\n        let nextLine = src.split('\\n', 1)[0];\n        let blankLine = !line.trim();\n\n        let indent = 0;\n        if (this.options.pedantic) {\n          indent = 2;\n          itemContents = line.trimStart();\n        } else if (blankLine) {\n          indent = cap[1].length + 1;\n        } else {\n          indent = cap[2].search(this.rules.other.nonSpaceChar); // Find first non-space char\n          indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent\n          itemContents = line.slice(indent);\n          indent += cap[1].length;\n        }\n\n        if (blankLine && this.rules.other.blankLine.test(nextLine)) { // Items begin with at most one blank line\n          raw += nextLine + '\\n';\n          src = src.substring(nextLine.length + 1);\n          endEarly = true;\n        }\n\n        if (!endEarly) {\n          const nextBulletRegex = this.rules.other.nextBulletRegex(indent);\n          const hrRegex = this.rules.other.hrRegex(indent);\n          const fencesBeginRegex = this.rules.other.fencesBeginRegex(indent);\n          const headingBeginRegex = this.rules.other.headingBeginRegex(indent);\n          const htmlBeginRegex = this.rules.other.htmlBeginRegex(indent);\n\n          // Check if following lines should be included in List Item\n          while (src) {\n            const rawLine = src.split('\\n', 1)[0];\n            let nextLineWithoutTabs;\n            nextLine = rawLine;\n\n            // Re-align to follow commonmark nesting rules\n            if (this.options.pedantic) {\n              nextLine = nextLine.replace(this.rules.other.listReplaceNesting, '  ');\n              nextLineWithoutTabs = nextLine;\n            } else {\n              nextLineWithoutTabs = nextLine.replace(this.rules.other.tabCharGlobal, '    ');\n            }\n\n            // End list item if found code fences\n            if (fencesBeginRegex.test(nextLine)) {\n              break;\n            }\n\n            // End list item if found start of new heading\n            if (headingBeginRegex.test(nextLine)) {\n              break;\n            }\n\n            // End list item if found start of html block\n            if (htmlBeginRegex.test(nextLine)) {\n              break;\n            }\n\n            // End list item if found start of new bullet\n            if (nextBulletRegex.test(nextLine)) {\n              break;\n            }\n\n            // Horizontal rule found\n            if (hrRegex.test(nextLine)) {\n              break;\n            }\n\n            if (nextLineWithoutTabs.search(this.rules.other.nonSpaceChar) >= indent || !nextLine.trim()) { // Dedent if possible\n              itemContents += '\\n' + nextLineWithoutTabs.slice(indent);\n            } else {\n              // not enough indentation\n              if (blankLine) {\n                break;\n              }\n\n              // paragraph continuation unless last line was a different block level element\n              if (line.replace(this.rules.other.tabCharGlobal, '    ').search(this.rules.other.nonSpaceChar) >= 4) { // indented code block\n                break;\n              }\n              if (fencesBeginRegex.test(line)) {\n                break;\n              }\n              if (headingBeginRegex.test(line)) {\n                break;\n              }\n              if (hrRegex.test(line)) {\n                break;\n              }\n\n              itemContents += '\\n' + nextLine;\n            }\n\n            if (!blankLine && !nextLine.trim()) { // Check if current line is blank\n              blankLine = true;\n            }\n\n            raw += rawLine + '\\n';\n            src = src.substring(rawLine.length + 1);\n            line = nextLineWithoutTabs.slice(indent);\n          }\n        }\n\n        if (!list.loose) {\n          // If the previous item ended with a blank line, the list is loose\n          if (endsWithBlankLine) {\n            list.loose = true;\n          } else if (this.rules.other.doubleBlankLine.test(raw)) {\n            endsWithBlankLine = true;\n          }\n        }\n\n        let istask: RegExpExecArray | null = null;\n        let ischecked: boolean | undefined;\n        // Check for task list items\n        if (this.options.gfm) {\n          istask = this.rules.other.listIsTask.exec(itemContents);\n          if (istask) {\n            ischecked = istask[0] !== '[ ] ';\n            itemContents = itemContents.replace(this.rules.other.listReplaceTask, '');\n          }\n        }\n\n        list.items.push({\n          type: 'list_item',\n          raw,\n          task: !!istask,\n          checked: ischecked,\n          loose: false,\n          text: itemContents,\n          tokens: [],\n        });\n\n        list.raw += raw;\n      }\n\n      // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic\n      const lastItem = list.items.at(-1);\n      if (lastItem) {\n        lastItem.raw = lastItem.raw.trimEnd();\n        lastItem.text = lastItem.text.trimEnd();\n      } else {\n        // not a list since there were no items\n        return;\n      }\n      list.raw = list.raw.trimEnd();\n\n      // Item child tokens handled here at end because we needed to have the final item to trim it first\n      for (let i = 0; i < list.items.length; i++) {\n        this.lexer.state.top = false;\n        list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);\n\n        if (!list.loose) {\n          // Check if list should be loose\n          const spacers = list.items[i].tokens.filter(t => t.type === 'space');\n          const hasMultipleLineBreaks = spacers.length > 0 && spacers.some(t => this.rules.other.anyLine.test(t.raw));\n\n          list.loose = hasMultipleLineBreaks;\n        }\n      }\n\n      // Set all items to loose if list is loose\n      if (list.loose) {\n        for (let i = 0; i < list.items.length; i++) {\n          list.items[i].loose = true;\n        }\n      }\n\n      return list;\n    }\n  }\n\n  html(src: string): Tokens.HTML | undefined {\n    const cap = this.rules.block.html.exec(src);\n    if (cap) {\n      const token: Tokens.HTML = {\n        type: 'html',\n        block: true,\n        raw: cap[0],\n        pre: cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style',\n        text: cap[0],\n      };\n      return token;\n    }\n  }\n\n  def(src: string): Tokens.Def | undefined {\n    const cap = this.rules.block.def.exec(src);\n    if (cap) {\n      const tag = cap[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal, ' ');\n      const href = cap[2] ? cap[2].replace(this.rules.other.hrefBrackets, '$1').replace(this.rules.inline.anyPunctuation, '$1') : '';\n      const title = cap[3] ? cap[3].substring(1, cap[3].length - 1).replace(this.rules.inline.anyPunctuation, '$1') : cap[3];\n      return {\n        type: 'def',\n        tag,\n        raw: cap[0],\n        href,\n        title,\n      };\n    }\n  }\n\n  table(src: string): Tokens.Table | undefined {\n    const cap = this.rules.block.table.exec(src);\n    if (!cap) {\n      return;\n    }\n\n    if (!this.rules.other.tableDelimiter.test(cap[2])) {\n      // delimiter row must have a pipe (|) or colon (:) otherwise it is a setext heading\n      return;\n    }\n\n    const headers = splitCells(cap[1]);\n    const aligns = cap[2].replace(this.rules.other.tableAlignChars, '').split('|');\n    const rows = cap[3]?.trim() ? cap[3].replace(this.rules.other.tableRowBlankLine, '').split('\\n') : [];\n\n    const item: Tokens.Table = {\n      type: 'table',\n      raw: cap[0],\n      header: [],\n      align: [],\n      rows: [],\n    };\n\n    if (headers.length !== aligns.length) {\n      // header and align columns must be equal, rows can be different.\n      return;\n    }\n\n    for (const align of aligns) {\n      if (this.rules.other.tableAlignRight.test(align)) {\n        item.align.push('right');\n      } else if (this.rules.other.tableAlignCenter.test(align)) {\n        item.align.push('center');\n      } else if (this.rules.other.tableAlignLeft.test(align)) {\n        item.align.push('left');\n      } else {\n        item.align.push(null);\n      }\n    }\n\n    for (let i = 0; i < headers.length; i++) {\n      item.header.push({\n        text: headers[i],\n        tokens: this.lexer.inline(headers[i]),\n        header: true,\n        align: item.align[i],\n      });\n    }\n\n    for (const row of rows) {\n      item.rows.push(splitCells(row, item.header.length).map((cell, i) => {\n        return {\n          text: cell,\n          tokens: this.lexer.inline(cell),\n          header: false,\n          align: item.align[i],\n        };\n      }));\n    }\n\n    return item;\n  }\n\n  lheading(src: string): Tokens.Heading | undefined {\n    const cap = this.rules.block.lheading.exec(src);\n    if (cap) {\n      return {\n        type: 'heading',\n        raw: cap[0],\n        depth: cap[2].charAt(0) === '=' ? 1 : 2,\n        text: cap[1],\n        tokens: this.lexer.inline(cap[1]),\n      };\n    }\n  }\n\n  paragraph(src: string): Tokens.Paragraph | undefined {\n    const cap = this.rules.block.paragraph.exec(src);\n    if (cap) {\n      const text = cap[1].charAt(cap[1].length - 1) === '\\n'\n        ? cap[1].slice(0, -1)\n        : cap[1];\n      return {\n        type: 'paragraph',\n        raw: cap[0],\n        text,\n        tokens: this.lexer.inline(text),\n      };\n    }\n  }\n\n  text(src: string): Tokens.Text | undefined {\n    const cap = this.rules.block.text.exec(src);\n    if (cap) {\n      return {\n        type: 'text',\n        raw: cap[0],\n        text: cap[0],\n        tokens: this.lexer.inline(cap[0]),\n      };\n    }\n  }\n\n  escape(src: string): Tokens.Escape | undefined {\n    const cap = this.rules.inline.escape.exec(src);\n    if (cap) {\n      return {\n        type: 'escape',\n        raw: cap[0],\n        text: cap[1],\n      };\n    }\n  }\n\n  tag(src: string): Tokens.Tag | undefined {\n    const cap = this.rules.inline.tag.exec(src);\n    if (cap) {\n      if (!this.lexer.state.inLink && this.rules.other.startATag.test(cap[0])) {\n        this.lexer.state.inLink = true;\n      } else if (this.lexer.state.inLink && this.rules.other.endATag.test(cap[0])) {\n        this.lexer.state.inLink = false;\n      }\n      if (!this.lexer.state.inRawBlock && this.rules.other.startPreScriptTag.test(cap[0])) {\n        this.lexer.state.inRawBlock = true;\n      } else if (this.lexer.state.inRawBlock && this.rules.other.endPreScriptTag.test(cap[0])) {\n        this.lexer.state.inRawBlock = false;\n      }\n\n      return {\n        type: 'html',\n        raw: cap[0],\n        inLink: this.lexer.state.inLink,\n        inRawBlock: this.lexer.state.inRawBlock,\n        block: false,\n        text: cap[0],\n      };\n    }\n  }\n\n  link(src: string): Tokens.Link | Tokens.Image | undefined {\n    const cap = this.rules.inline.link.exec(src);\n    if (cap) {\n      const trimmedUrl = cap[2].trim();\n      if (!this.options.pedantic && this.rules.other.startAngleBracket.test(trimmedUrl)) {\n        // commonmark requires matching angle brackets\n        if (!(this.rules.other.endAngleBracket.test(trimmedUrl))) {\n          return;\n        }\n\n        // ending angle bracket cannot be escaped\n        const rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\\\');\n        if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {\n          return;\n        }\n      } else {\n        // find closing parenthesis\n        const lastParenIndex = findClosingBracket(cap[2], '()');\n        if (lastParenIndex === -2) {\n          // more open parens than closed\n          return;\n        }\n\n        if (lastParenIndex > -1) {\n          const start = cap[0].indexOf('!') === 0 ? 5 : 4;\n          const linkLen = start + cap[1].length + lastParenIndex;\n          cap[2] = cap[2].substring(0, lastParenIndex);\n          cap[0] = cap[0].substring(0, linkLen).trim();\n          cap[3] = '';\n        }\n      }\n      let href = cap[2];\n      let title = '';\n      if (this.options.pedantic) {\n        // split pedantic href and title\n        const link = this.rules.other.pedanticHrefTitle.exec(href);\n\n        if (link) {\n          href = link[1];\n          title = link[3];\n        }\n      } else {\n        title = cap[3] ? cap[3].slice(1, -1) : '';\n      }\n\n      href = href.trim();\n      if (this.rules.other.startAngleBracket.test(href)) {\n        if (this.options.pedantic && !(this.rules.other.endAngleBracket.test(trimmedUrl))) {\n          // pedantic allows starting angle bracket without ending angle bracket\n          href = href.slice(1);\n        } else {\n          href = href.slice(1, -1);\n        }\n      }\n      return outputLink(cap, {\n        href: href ? href.replace(this.rules.inline.anyPunctuation, '$1') : href,\n        title: title ? title.replace(this.rules.inline.anyPunctuation, '$1') : title,\n      }, cap[0], this.lexer, this.rules);\n    }\n  }\n\n  reflink(src: string, links: Links): Tokens.Link | Tokens.Image | Tokens.Text | undefined {\n    let cap;\n    if ((cap = this.rules.inline.reflink.exec(src))\n      || (cap = this.rules.inline.nolink.exec(src))) {\n      const linkString = (cap[2] || cap[1]).replace(this.rules.other.multipleSpaceGlobal, ' ');\n      const link = links[linkString.toLowerCase()];\n      if (!link) {\n        const text = cap[0].charAt(0);\n        return {\n          type: 'text',\n          raw: text,\n          text,\n        };\n      }\n      return outputLink(cap, link, cap[0], this.lexer, this.rules);\n    }\n  }\n\n  emStrong(src: string, maskedSrc: string, prevChar = ''): Tokens.Em | Tokens.Strong | undefined {\n    let match = this.rules.inline.emStrongLDelim.exec(src);\n    if (!match) return;\n\n    // _ can't be between two alphanumerics. \\p{L}\\p{N} includes non-english alphabet/numbers as well\n    if (match[3] && prevChar.match(this.rules.other.unicodeAlphaNumeric)) return;\n\n    const nextChar = match[1] || match[2] || '';\n\n    if (!nextChar || !prevChar || this.rules.inline.punctuation.exec(prevChar)) {\n      // unicode Regex counts emoji as 1 char; spread into array for proper count (used multiple times below)\n      const lLength = [...match[0]].length - 1;\n      let rDelim, rLength, delimTotal = lLength, midDelimTotal = 0;\n\n      const endReg = match[0][0] === '*' ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;\n      endReg.lastIndex = 0;\n\n      // Clip maskedSrc to same section of string as src (move to lexer?)\n      maskedSrc = maskedSrc.slice(-1 * src.length + lLength);\n\n      while ((match = endReg.exec(maskedSrc)) != null) {\n        rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];\n\n        if (!rDelim) continue; // skip single * in __abc*abc__\n\n        rLength = [...rDelim].length;\n\n        if (match[3] || match[4]) { // found another Left Delim\n          delimTotal += rLength;\n          continue;\n        } else if (match[5] || match[6]) { // either Left or Right Delim\n          if (lLength % 3 && !((lLength + rLength) % 3)) {\n            midDelimTotal += rLength;\n            continue; // CommonMark Emphasis Rules 9-10\n          }\n        }\n\n        delimTotal -= rLength;\n\n        if (delimTotal > 0) continue; // Haven't found enough closing delimiters\n\n        // Remove extra characters. *a*** -> *a*\n        rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal);\n        // char length can be >1 for unicode characters;\n        const lastCharLength = [...match[0]][0].length;\n        const raw = src.slice(0, lLength + match.index + lastCharLength + rLength);\n\n        // Create `em` if smallest delimiter has odd char count. *a***\n        if (Math.min(lLength, rLength) % 2) {\n          const text = raw.slice(1, -1);\n          return {\n            type: 'em',\n            raw,\n            text,\n            tokens: this.lexer.inlineTokens(text),\n          };\n        }\n\n        // Create 'strong' if smallest delimiter has even char count. **a***\n        const text = raw.slice(2, -2);\n        return {\n          type: 'strong',\n          raw,\n          text,\n          tokens: this.lexer.inlineTokens(text),\n        };\n      }\n    }\n  }\n\n  codespan(src: string): Tokens.Codespan | undefined {\n    const cap = this.rules.inline.code.exec(src);\n    if (cap) {\n      let text = cap[2].replace(this.rules.other.newLineCharGlobal, ' ');\n      const hasNonSpaceChars = this.rules.other.nonSpaceChar.test(text);\n      const hasSpaceCharsOnBothEnds = this.rules.other.startingSpaceChar.test(text) && this.rules.other.endingSpaceChar.test(text);\n      if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {\n        text = text.substring(1, text.length - 1);\n      }\n      return {\n        type: 'codespan',\n        raw: cap[0],\n        text,\n      };\n    }\n  }\n\n  br(src: string): Tokens.Br | undefined {\n    const cap = this.rules.inline.br.exec(src);\n    if (cap) {\n      return {\n        type: 'br',\n        raw: cap[0],\n      };\n    }\n  }\n\n  del(src: string): Tokens.Del | undefined {\n    const cap = this.rules.inline.del.exec(src);\n    if (cap) {\n      return {\n        type: 'del',\n        raw: cap[0],\n        text: cap[2],\n        tokens: this.lexer.inlineTokens(cap[2]),\n      };\n    }\n  }\n\n  autolink(src: string): Tokens.Link | undefined {\n    const cap = this.rules.inline.autolink.exec(src);\n    if (cap) {\n      let text, href;\n      if (cap[2] === '@') {\n        text = cap[1];\n        href = 'mailto:' + text;\n      } else {\n        text = cap[1];\n        href = text;\n      }\n\n      return {\n        type: 'link',\n        raw: cap[0],\n        text,\n        href,\n        tokens: [\n          {\n            type: 'text',\n            raw: text,\n            text,\n          },\n        ],\n      };\n    }\n  }\n\n  url(src: string): Tokens.Link | undefined {\n    let cap;\n    if (cap = this.rules.inline.url.exec(src)) {\n      let text, href;\n      if (cap[2] === '@') {\n        text = cap[0];\n        href = 'mailto:' + text;\n      } else {\n        // do extended autolink path validation\n        let prevCapZero;\n        do {\n          prevCapZero = cap[0];\n          cap[0] = this.rules.inline._backpedal.exec(cap[0])?.[0] ?? '';\n        } while (prevCapZero !== cap[0]);\n        text = cap[0];\n        if (cap[1] === 'www.') {\n          href = 'http://' + cap[0];\n        } else {\n          href = cap[0];\n        }\n      }\n      return {\n        type: 'link',\n        raw: cap[0],\n        text,\n        href,\n        tokens: [\n          {\n            type: 'text',\n            raw: text,\n            text,\n          },\n        ],\n      };\n    }\n  }\n\n  inlineText(src: string): Tokens.Text | undefined {\n    const cap = this.rules.inline.text.exec(src);\n    if (cap) {\n      const escaped = this.lexer.state.inRawBlock;\n      return {\n        type: 'text',\n        raw: cap[0],\n        text: cap[0],\n        escaped,\n      };\n    }\n  }\n}\n","import { _Tokenizer } from './Tokenizer.ts';\nimport { _defaults } from './defaults.ts';\nimport { other, block, inline } from './rules.ts';\nimport type { Token, TokensList, Tokens } from './Tokens.ts';\nimport type { MarkedOptions } from './MarkedOptions.ts';\n\n/**\n * Block Lexer\n */\nexport class _Lexer {\n  tokens: TokensList;\n  options: MarkedOptions;\n  state: {\n    inLink: boolean;\n    inRawBlock: boolean;\n    top: boolean;\n  };\n\n  private tokenizer: _Tokenizer;\n  private inlineQueue: { src: string, tokens: Token[] }[];\n\n  constructor(options?: MarkedOptions) {\n    // TokenList cannot be created in one go\n    this.tokens = [] as unknown as TokensList;\n    this.tokens.links = Object.create(null);\n    this.options = options || _defaults;\n    this.options.tokenizer = this.options.tokenizer || new _Tokenizer();\n    this.tokenizer = this.options.tokenizer;\n    this.tokenizer.options = this.options;\n    this.tokenizer.lexer = this;\n    this.inlineQueue = [];\n    this.state = {\n      inLink: false,\n      inRawBlock: false,\n      top: true,\n    };\n\n    const rules = {\n      other,\n      block: block.normal,\n      inline: inline.normal,\n    };\n\n    if (this.options.pedantic) {\n      rules.block = block.pedantic;\n      rules.inline = inline.pedantic;\n    } else if (this.options.gfm) {\n      rules.block = block.gfm;\n      if (this.options.breaks) {\n        rules.inline = inline.breaks;\n      } else {\n        rules.inline = inline.gfm;\n      }\n    }\n    this.tokenizer.rules = rules;\n  }\n\n  /**\n   * Expose Rules\n   */\n  static get rules() {\n    return {\n      block,\n      inline,\n    };\n  }\n\n  /**\n   * Static Lex Method\n   */\n  static lex(src: string, options?: MarkedOptions) {\n    const lexer = new _Lexer(options);\n    return lexer.lex(src);\n  }\n\n  /**\n   * Static Lex Inline Method\n   */\n  static lexInline(src: string, options?: MarkedOptions) {\n    const lexer = new _Lexer(options);\n    return lexer.inlineTokens(src);\n  }\n\n  /**\n   * Preprocessing\n   */\n  lex(src: string) {\n    src = src.replace(other.carriageReturn, '\\n');\n\n    this.blockTokens(src, this.tokens);\n\n    for (let i = 0; i < this.inlineQueue.length; i++) {\n      const next = this.inlineQueue[i];\n      this.inlineTokens(next.src, next.tokens);\n    }\n    this.inlineQueue = [];\n\n    return this.tokens;\n  }\n\n  /**\n   * Lexing\n   */\n  blockTokens(src: string, tokens?: Token[], lastParagraphClipped?: boolean): Token[];\n  blockTokens(src: string, tokens?: TokensList, lastParagraphClipped?: boolean): TokensList;\n  blockTokens(src: string, tokens: Token[] = [], lastParagraphClipped = false) {\n    if (this.options.pedantic) {\n      src = src.replace(other.tabCharGlobal, '    ').replace(other.spaceLine, '');\n    }\n\n    while (src) {\n      let token: Tokens.Generic | undefined;\n\n      if (this.options.extensions?.block?.some((extTokenizer) => {\n        if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n          src = src.substring(token.raw.length);\n          tokens.push(token);\n          return true;\n        }\n        return false;\n      })) {\n        continue;\n      }\n\n      // newline\n      if (token = this.tokenizer.space(src)) {\n        src = src.substring(token.raw.length);\n        const lastToken = tokens.at(-1);\n        if (token.raw.length === 1 && lastToken !== undefined) {\n          // if there's a single \\n as a spacer, it's terminating the last line,\n          // so move it there so that we don't get unnecessary paragraph tags\n          lastToken.raw += '\\n';\n        } else {\n          tokens.push(token);\n        }\n        continue;\n      }\n\n      // code\n      if (token = this.tokenizer.code(src)) {\n        src = src.substring(token.raw.length);\n        const lastToken = tokens.at(-1);\n        // An indented code block cannot interrupt a paragraph.\n        if (lastToken?.type === 'paragraph' || lastToken?.type === 'text') {\n          lastToken.raw += '\\n' + token.raw;\n          lastToken.text += '\\n' + token.text;\n          this.inlineQueue.at(-1)!.src = lastToken.text;\n        } else {\n          tokens.push(token);\n        }\n        continue;\n      }\n\n      // fences\n      if (token = this.tokenizer.fences(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // heading\n      if (token = this.tokenizer.heading(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // hr\n      if (token = this.tokenizer.hr(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // blockquote\n      if (token = this.tokenizer.blockquote(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // list\n      if (token = this.tokenizer.list(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // html\n      if (token = this.tokenizer.html(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // def\n      if (token = this.tokenizer.def(src)) {\n        src = src.substring(token.raw.length);\n        const lastToken = tokens.at(-1);\n        if (lastToken?.type === 'paragraph' || lastToken?.type === 'text') {\n          lastToken.raw += '\\n' + token.raw;\n          lastToken.text += '\\n' + token.raw;\n          this.inlineQueue.at(-1)!.src = lastToken.text;\n        } else if (!this.tokens.links[token.tag]) {\n          this.tokens.links[token.tag] = {\n            href: token.href,\n            title: token.title,\n          };\n        }\n        continue;\n      }\n\n      // table (gfm)\n      if (token = this.tokenizer.table(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // lheading\n      if (token = this.tokenizer.lheading(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // top-level paragraph\n      // prevent paragraph consuming extensions by clipping 'src' to extension start\n      let cutSrc = src;\n      if (this.options.extensions?.startBlock) {\n        let startIndex = Infinity;\n        const tempSrc = src.slice(1);\n        let tempStart;\n        this.options.extensions.startBlock.forEach((getStartIndex) => {\n          tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n          if (typeof tempStart === 'number' && tempStart >= 0) {\n            startIndex = Math.min(startIndex, tempStart);\n          }\n        });\n        if (startIndex < Infinity && startIndex >= 0) {\n          cutSrc = src.substring(0, startIndex + 1);\n        }\n      }\n      if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {\n        const lastToken = tokens.at(-1);\n        if (lastParagraphClipped && lastToken?.type === 'paragraph') {\n          lastToken.raw += '\\n' + token.raw;\n          lastToken.text += '\\n' + token.text;\n          this.inlineQueue.pop();\n          this.inlineQueue.at(-1)!.src = lastToken.text;\n        } else {\n          tokens.push(token);\n        }\n        lastParagraphClipped = cutSrc.length !== src.length;\n        src = src.substring(token.raw.length);\n        continue;\n      }\n\n      // text\n      if (token = this.tokenizer.text(src)) {\n        src = src.substring(token.raw.length);\n        const lastToken = tokens.at(-1);\n        if (lastToken?.type === 'text') {\n          lastToken.raw += '\\n' + token.raw;\n          lastToken.text += '\\n' + token.text;\n          this.inlineQueue.pop();\n          this.inlineQueue.at(-1)!.src = lastToken.text;\n        } else {\n          tokens.push(token);\n        }\n        continue;\n      }\n\n      if (src) {\n        const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n        if (this.options.silent) {\n          console.error(errMsg);\n          break;\n        } else {\n          throw new Error(errMsg);\n        }\n      }\n    }\n\n    this.state.top = true;\n    return tokens;\n  }\n\n  inline(src: string, tokens: Token[] = []) {\n    this.inlineQueue.push({ src, tokens });\n    return tokens;\n  }\n\n  /**\n   * Lexing/Compiling\n   */\n  inlineTokens(src: string, tokens: Token[] = []): Token[] {\n    // String with links masked to avoid interference with em and strong\n    let maskedSrc = src;\n    let match: RegExpExecArray | null = null;\n\n    // Mask out reflinks\n    if (this.tokens.links) {\n      const links = Object.keys(this.tokens.links);\n      if (links.length > 0) {\n        while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {\n          if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) {\n            maskedSrc = maskedSrc.slice(0, match.index)\n              + '[' + 'a'.repeat(match[0].length - 2) + ']'\n              + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);\n          }\n        }\n      }\n    }\n\n    // Mask out escaped characters\n    while ((match = this.tokenizer.rules.inline.anyPunctuation.exec(maskedSrc)) != null) {\n      maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);\n    }\n\n    // Mask out other blocks\n    while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {\n      maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n    }\n\n    let keepPrevChar = false;\n    let prevChar = '';\n    while (src) {\n      if (!keepPrevChar) {\n        prevChar = '';\n      }\n      keepPrevChar = false;\n\n      let token: Tokens.Generic | undefined;\n\n      // extensions\n      if (this.options.extensions?.inline?.some((extTokenizer) => {\n        if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n          src = src.substring(token.raw.length);\n          tokens.push(token);\n          return true;\n        }\n        return false;\n      })) {\n        continue;\n      }\n\n      // escape\n      if (token = this.tokenizer.escape(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // tag\n      if (token = this.tokenizer.tag(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // link\n      if (token = this.tokenizer.link(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // reflink, nolink\n      if (token = this.tokenizer.reflink(src, this.tokens.links)) {\n        src = src.substring(token.raw.length);\n        const lastToken = tokens.at(-1);\n        if (token.type === 'text' && lastToken?.type === 'text') {\n          lastToken.raw += token.raw;\n          lastToken.text += token.text;\n        } else {\n          tokens.push(token);\n        }\n        continue;\n      }\n\n      // em & strong\n      if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // code\n      if (token = this.tokenizer.codespan(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // br\n      if (token = this.tokenizer.br(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // del (gfm)\n      if (token = this.tokenizer.del(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // autolink\n      if (token = this.tokenizer.autolink(src)) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // url (gfm)\n      if (!this.state.inLink && (token = this.tokenizer.url(src))) {\n        src = src.substring(token.raw.length);\n        tokens.push(token);\n        continue;\n      }\n\n      // text\n      // prevent inlineText consuming extensions by clipping 'src' to extension start\n      let cutSrc = src;\n      if (this.options.extensions?.startInline) {\n        let startIndex = Infinity;\n        const tempSrc = src.slice(1);\n        let tempStart;\n        this.options.extensions.startInline.forEach((getStartIndex) => {\n          tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n          if (typeof tempStart === 'number' && tempStart >= 0) {\n            startIndex = Math.min(startIndex, tempStart);\n          }\n        });\n        if (startIndex < Infinity && startIndex >= 0) {\n          cutSrc = src.substring(0, startIndex + 1);\n        }\n      }\n      if (token = this.tokenizer.inlineText(cutSrc)) {\n        src = src.substring(token.raw.length);\n        if (token.raw.slice(-1) !== '_') { // Track prevChar before string of ____ started\n          prevChar = token.raw.slice(-1);\n        }\n        keepPrevChar = true;\n        const lastToken = tokens.at(-1);\n        if (lastToken?.type === 'text') {\n          lastToken.raw += token.raw;\n          lastToken.text += token.text;\n        } else {\n          tokens.push(token);\n        }\n        continue;\n      }\n\n      if (src) {\n        const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n        if (this.options.silent) {\n          console.error(errMsg);\n          break;\n        } else {\n          throw new Error(errMsg);\n        }\n      }\n    }\n\n    return tokens;\n  }\n}\n","import { _defaults } from './defaults.ts';\nimport {\n  cleanUrl,\n  escape,\n} from './helpers.ts';\nimport { other } from './rules.ts';\nimport type { MarkedOptions } from './MarkedOptions.ts';\nimport type { Tokens } from './Tokens.ts';\nimport type { _Parser } from './Parser.ts';\n\n/**\n * Renderer\n */\nexport class _Renderer {\n  options: MarkedOptions;\n  parser!: _Parser; // set by the parser\n  constructor(options?: MarkedOptions) {\n    this.options = options || _defaults;\n  }\n\n  space(token: Tokens.Space): string {\n    return '';\n  }\n\n  code({ text, lang, escaped }: Tokens.Code): string {\n    const langString = (lang || '').match(other.notSpaceStart)?.[0];\n\n    const code = text.replace(other.endingNewline, '') + '\\n';\n\n    if (!langString) {\n      return '<pre><code>'\n        + (escaped ? code : escape(code, true))\n        + '</code></pre>\\n';\n    }\n\n    return '<pre><code class=\"language-'\n      + escape(langString)\n      + '\">'\n      + (escaped ? code : escape(code, true))\n      + '</code></pre>\\n';\n  }\n\n  blockquote({ tokens }: Tokens.Blockquote): string {\n    const body = this.parser.parse(tokens);\n    return `<blockquote>\\n${body}</blockquote>\\n`;\n  }\n\n  html({ text }: Tokens.HTML | Tokens.Tag) : string {\n    return text;\n  }\n\n  heading({ tokens, depth }: Tokens.Heading): string {\n    return `<h${depth}>${this.parser.parseInline(tokens)}</h${depth}>\\n`;\n  }\n\n  hr(token: Tokens.Hr): string {\n    return '<hr>\\n';\n  }\n\n  list(token: Tokens.List): string {\n    const ordered = token.ordered;\n    const start = token.start;\n\n    let body = '';\n    for (let j = 0; j < token.items.length; j++) {\n      const item = token.items[j];\n      body += this.listitem(item);\n    }\n\n    const type = ordered ? 'ol' : 'ul';\n    const startAttr = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n    return '<' + type + startAttr + '>\\n' + body + '</' + type + '>\\n';\n  }\n\n  listitem(item: Tokens.ListItem): string {\n    let itemBody = '';\n    if (item.task) {\n      const checkbox = this.checkbox({ checked: !!item.checked });\n      if (item.loose) {\n        if (item.tokens[0]?.type === 'paragraph') {\n          item.tokens[0].text = checkbox + ' ' + item.tokens[0].text;\n          if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') {\n            item.tokens[0].tokens[0].text = checkbox + ' ' + escape(item.tokens[0].tokens[0].text);\n            item.tokens[0].tokens[0].escaped = true;\n          }\n        } else {\n          item.tokens.unshift({\n            type: 'text',\n            raw: checkbox + ' ',\n            text: checkbox + ' ',\n            escaped: true,\n          });\n        }\n      } else {\n        itemBody += checkbox + ' ';\n      }\n    }\n\n    itemBody += this.parser.parse(item.tokens, !!item.loose);\n\n    return `<li>${itemBody}</li>\\n`;\n  }\n\n  checkbox({ checked }: Tokens.Checkbox): string {\n    return '<input '\n      + (checked ? 'checked=\"\" ' : '')\n      + 'disabled=\"\" type=\"checkbox\">';\n  }\n\n  paragraph({ tokens }: Tokens.Paragraph): string {\n    return `<p>${this.parser.parseInline(tokens)}</p>\\n`;\n  }\n\n  table(token: Tokens.Table): string {\n    let header = '';\n\n    // header\n    let cell = '';\n    for (let j = 0; j < token.header.length; j++) {\n      cell += this.tablecell(token.header[j]);\n    }\n    header += this.tablerow({ text: cell });\n\n    let body = '';\n    for (let j = 0; j < token.rows.length; j++) {\n      const row = token.rows[j];\n\n      cell = '';\n      for (let k = 0; k < row.length; k++) {\n        cell += this.tablecell(row[k]);\n      }\n\n      body += this.tablerow({ text: cell });\n    }\n    if (body) body = `<tbody>${body}</tbody>`;\n\n    return '<table>\\n'\n      + '<thead>\\n'\n      + header\n      + '</thead>\\n'\n      + body\n      + '</table>\\n';\n  }\n\n  tablerow({ text }: Tokens.TableRow): string {\n    return `<tr>\\n${text}</tr>\\n`;\n  }\n\n  tablecell(token: Tokens.TableCell): string {\n    const content = this.parser.parseInline(token.tokens);\n    const type = token.header ? 'th' : 'td';\n    const tag = token.align\n      ? `<${type} align=\"${token.align}\">`\n      : `<${type}>`;\n    return tag + content + `</${type}>\\n`;\n  }\n\n  /**\n   * span level renderer\n   */\n  strong({ tokens }: Tokens.Strong): string {\n    return `<strong>${this.parser.parseInline(tokens)}</strong>`;\n  }\n\n  em({ tokens }: Tokens.Em): string {\n    return `<em>${this.parser.parseInline(tokens)}</em>`;\n  }\n\n  codespan({ text }: Tokens.Codespan): string {\n    return `<code>${escape(text, true)}</code>`;\n  }\n\n  br(token: Tokens.Br): string {\n    return '<br>';\n  }\n\n  del({ tokens }: Tokens.Del): string {\n    return `<del>${this.parser.parseInline(tokens)}</del>`;\n  }\n\n  link({ href, title, tokens }: Tokens.Link): string {\n    const text = this.parser.parseInline(tokens);\n    const cleanHref = cleanUrl(href);\n    if (cleanHref === null) {\n      return text;\n    }\n    href = cleanHref;\n    let out = '<a href=\"' + href + '\"';\n    if (title) {\n      out += ' title=\"' + (escape(title)) + '\"';\n    }\n    out += '>' + text + '</a>';\n    return out;\n  }\n\n  image({ href, title, text, tokens }: Tokens.Image): string {\n    if (tokens) {\n      text = this.parser.parseInline(tokens, this.parser.textRenderer);\n    }\n    const cleanHref = cleanUrl(href);\n    if (cleanHref === null) {\n      return escape(text);\n    }\n    href = cleanHref;\n\n    let out = `<img src=\"${href}\" alt=\"${text}\"`;\n    if (title) {\n      out += ` title=\"${escape(title)}\"`;\n    }\n    out += '>';\n    return out;\n  }\n\n  text(token: Tokens.Text | Tokens.Escape) : string {\n    return 'tokens' in token && token.tokens\n      ? this.parser.parseInline(token.tokens)\n      : ('escaped' in token && token.escaped ? token.text : escape(token.text));\n  }\n}\n","import type { Tokens } from './Tokens.ts';\n\n/**\n * TextRenderer\n * returns only the textual part of the token\n */\nexport class _TextRenderer {\n  // no need for block level renderers\n  strong({ text }: Tokens.Strong) {\n    return text;\n  }\n\n  em({ text }: Tokens.Em) {\n    return text;\n  }\n\n  codespan({ text }: Tokens.Codespan) {\n    return text;\n  }\n\n  del({ text }: Tokens.Del) {\n    return text;\n  }\n\n  html({ text }: Tokens.HTML | Tokens.Tag) {\n    return text;\n  }\n\n  text({ text }: Tokens.Text | Tokens.Escape | Tokens.Tag) {\n    return text;\n  }\n\n  link({ text }: Tokens.Link) {\n    return '' + text;\n  }\n\n  image({ text }: Tokens.Image) {\n    return '' + text;\n  }\n\n  br() {\n    return '';\n  }\n}\n","import { _Renderer } from './Renderer.ts';\nimport { _TextRenderer } from './TextRenderer.ts';\nimport { _defaults } from './defaults.ts';\nimport type { MarkedToken, Token, Tokens } from './Tokens.ts';\nimport type { MarkedOptions } from './MarkedOptions.ts';\n\n/**\n * Parsing & Compiling\n */\nexport class _Parser {\n  options: MarkedOptions;\n  renderer: _Renderer;\n  textRenderer: _TextRenderer;\n  constructor(options?: MarkedOptions) {\n    this.options = options || _defaults;\n    this.options.renderer = this.options.renderer || new _Renderer();\n    this.renderer = this.options.renderer;\n    this.renderer.options = this.options;\n    this.renderer.parser = this;\n    this.textRenderer = new _TextRenderer();\n  }\n\n  /**\n   * Static Parse Method\n   */\n  static parse(tokens: Token[], options?: MarkedOptions) {\n    const parser = new _Parser(options);\n    return parser.parse(tokens);\n  }\n\n  /**\n   * Static Parse Inline Method\n   */\n  static parseInline(tokens: Token[], options?: MarkedOptions) {\n    const parser = new _Parser(options);\n    return parser.parseInline(tokens);\n  }\n\n  /**\n   * Parse Loop\n   */\n  parse(tokens: Token[], top = true): string {\n    let out = '';\n\n    for (let i = 0; i < tokens.length; i++) {\n      const anyToken = tokens[i];\n\n      // Run any renderer extensions\n      if (this.options.extensions?.renderers?.[anyToken.type]) {\n        const genericToken = anyToken as Tokens.Generic;\n        const ret = this.options.extensions.renderers[genericToken.type].call({ parser: this }, genericToken);\n        if (ret !== false || !['space', 'hr', 'heading', 'code', 'table', 'blockquote', 'list', 'html', 'paragraph', 'text'].includes(genericToken.type)) {\n          out += ret || '';\n          continue;\n        }\n      }\n\n      const token = anyToken as MarkedToken;\n\n      switch (token.type) {\n        case 'space': {\n          out += this.renderer.space(token);\n          continue;\n        }\n        case 'hr': {\n          out += this.renderer.hr(token);\n          continue;\n        }\n        case 'heading': {\n          out += this.renderer.heading(token);\n          continue;\n        }\n        case 'code': {\n          out += this.renderer.code(token);\n          continue;\n        }\n        case 'table': {\n          out += this.renderer.table(token);\n          continue;\n        }\n        case 'blockquote': {\n          out += this.renderer.blockquote(token);\n          continue;\n        }\n        case 'list': {\n          out += this.renderer.list(token);\n          continue;\n        }\n        case 'html': {\n          out += this.renderer.html(token);\n          continue;\n        }\n        case 'paragraph': {\n          out += this.renderer.paragraph(token);\n          continue;\n        }\n        case 'text': {\n          let textToken = token;\n          let body = this.renderer.text(textToken);\n          while (i + 1 < tokens.length && tokens[i + 1].type === 'text') {\n            textToken = tokens[++i] as Tokens.Text;\n            body += '\\n' + this.renderer.text(textToken);\n          }\n          if (top) {\n            out += this.renderer.paragraph({\n              type: 'paragraph',\n              raw: body,\n              text: body,\n              tokens: [{ type: 'text', raw: body, text: body, escaped: true }],\n            });\n          } else {\n            out += body;\n          }\n          continue;\n        }\n\n        default: {\n          const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n          if (this.options.silent) {\n            console.error(errMsg);\n            return '';\n          } else {\n            throw new Error(errMsg);\n          }\n        }\n      }\n    }\n\n    return out;\n  }\n\n  /**\n   * Parse Inline Tokens\n   */\n  parseInline(tokens: Token[], renderer: _Renderer | _TextRenderer = this.renderer): string {\n    let out = '';\n\n    for (let i = 0; i < tokens.length; i++) {\n      const anyToken = tokens[i];\n\n      // Run any renderer extensions\n      if (this.options.extensions?.renderers?.[anyToken.type]) {\n        const ret = this.options.extensions.renderers[anyToken.type].call({ parser: this }, anyToken);\n        if (ret !== false || !['escape', 'html', 'link', 'image', 'strong', 'em', 'codespan', 'br', 'del', 'text'].includes(anyToken.type)) {\n          out += ret || '';\n          continue;\n        }\n      }\n\n      const token = anyToken as MarkedToken;\n\n      switch (token.type) {\n        case 'escape': {\n          out += renderer.text(token);\n          break;\n        }\n        case 'html': {\n          out += renderer.html(token);\n          break;\n        }\n        case 'link': {\n          out += renderer.link(token);\n          break;\n        }\n        case 'image': {\n          out += renderer.image(token);\n          break;\n        }\n        case 'strong': {\n          out += renderer.strong(token);\n          break;\n        }\n        case 'em': {\n          out += renderer.em(token);\n          break;\n        }\n        case 'codespan': {\n          out += renderer.codespan(token);\n          break;\n        }\n        case 'br': {\n          out += renderer.br(token);\n          break;\n        }\n        case 'del': {\n          out += renderer.del(token);\n          break;\n        }\n        case 'text': {\n          out += renderer.text(token);\n          break;\n        }\n        default: {\n          const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n          if (this.options.silent) {\n            console.error(errMsg);\n            return '';\n          } else {\n            throw new Error(errMsg);\n          }\n        }\n      }\n    }\n    return out;\n  }\n}\n","import { _defaults } from './defaults.ts';\nimport { _Lexer } from './Lexer.ts';\nimport { _Parser } from './Parser.ts';\nimport type { MarkedOptions } from './MarkedOptions.ts';\nimport type { Token, TokensList } from './Tokens.ts';\n\nexport class _Hooks {\n  options: MarkedOptions;\n  block?: boolean;\n\n  constructor(options?: MarkedOptions) {\n    this.options = options || _defaults;\n  }\n\n  static passThroughHooks = new Set([\n    'preprocess',\n    'postprocess',\n    'processAllTokens',\n  ]);\n\n  /**\n   * Process markdown before marked\n   */\n  preprocess(markdown: string) {\n    return markdown;\n  }\n\n  /**\n   * Process HTML after marked is finished\n   */\n  postprocess(html: string) {\n    return html;\n  }\n\n  /**\n   * Process all tokens before walk tokens\n   */\n  processAllTokens(tokens: Token[] | TokensList) {\n    return tokens;\n  }\n\n  /**\n   * Provide function to tokenize markdown\n   */\n  provideLexer() {\n    return this.block ? _Lexer.lex : _Lexer.lexInline;\n  }\n\n  /**\n   * Provide function to parse tokens\n   */\n  provideParser() {\n    return this.block ? _Parser.parse : _Parser.parseInline;\n  }\n}\n","import { _getDefaults } from './defaults.ts';\nimport { _Lexer } from './Lexer.ts';\nimport { _Parser } from './Parser.ts';\nimport { _Hooks } from './Hooks.ts';\nimport { _Renderer } from './Renderer.ts';\nimport { _Tokenizer } from './Tokenizer.ts';\nimport { _TextRenderer } from './TextRenderer.ts';\nimport { escape } from './helpers.ts';\nimport type { MarkedExtension, MarkedOptions } from './MarkedOptions.ts';\nimport type { Token, Tokens, TokensList } from './Tokens.ts';\n\nexport type MaybePromise = void | Promise<void>;\n\ntype UnknownFunction = (...args: unknown[]) => unknown;\ntype GenericRendererFunction = (...args: unknown[]) => string | false;\n\nexport class Marked {\n  defaults = _getDefaults();\n  options = this.setOptions;\n\n  parse = this.parseMarkdown(true);\n  parseInline = this.parseMarkdown(false);\n\n  Parser = _Parser;\n  Renderer = _Renderer;\n  TextRenderer = _TextRenderer;\n  Lexer = _Lexer;\n  Tokenizer = _Tokenizer;\n  Hooks = _Hooks;\n\n  constructor(...args: MarkedExtension[]) {\n    this.use(...args);\n  }\n\n  /**\n   * Run callback for every token\n   */\n  walkTokens(tokens: Token[] | TokensList, callback: (token: Token) => MaybePromise | MaybePromise[]) {\n    let values: MaybePromise[] = [];\n    for (const token of tokens) {\n      values = values.concat(callback.call(this, token));\n      switch (token.type) {\n        case 'table': {\n          const tableToken = token as Tokens.Table;\n          for (const cell of tableToken.header) {\n            values = values.concat(this.walkTokens(cell.tokens, callback));\n          }\n          for (const row of tableToken.rows) {\n            for (const cell of row) {\n              values = values.concat(this.walkTokens(cell.tokens, callback));\n            }\n          }\n          break;\n        }\n        case 'list': {\n          const listToken = token as Tokens.List;\n          values = values.concat(this.walkTokens(listToken.items, callback));\n          break;\n        }\n        default: {\n          const genericToken = token as Tokens.Generic;\n          if (this.defaults.extensions?.childTokens?.[genericToken.type]) {\n            this.defaults.extensions.childTokens[genericToken.type].forEach((childTokens) => {\n              const tokens = genericToken[childTokens].flat(Infinity) as Token[] | TokensList;\n              values = values.concat(this.walkTokens(tokens, callback));\n            });\n          } else if (genericToken.tokens) {\n            values = values.concat(this.walkTokens(genericToken.tokens, callback));\n          }\n        }\n      }\n    }\n    return values;\n  }\n\n  use(...args: MarkedExtension[]) {\n    const extensions: MarkedOptions['extensions'] = this.defaults.extensions || { renderers: {}, childTokens: {} };\n\n    args.forEach((pack) => {\n      // copy options to new object\n      const opts = { ...pack } as MarkedOptions;\n\n      // set async to true if it was set to true before\n      opts.async = this.defaults.async || opts.async || false;\n\n      // ==-- Parse \"addon\" extensions --== //\n      if (pack.extensions) {\n        pack.extensions.forEach((ext) => {\n          if (!ext.name) {\n            throw new Error('extension name required');\n          }\n          if ('renderer' in ext) { // Renderer extensions\n            const prevRenderer = extensions.renderers[ext.name];\n            if (prevRenderer) {\n              // Replace extension with func to run new extension but fall back if false\n              extensions.renderers[ext.name] = function(...args) {\n                let ret = ext.renderer.apply(this, args);\n                if (ret === false) {\n                  ret = prevRenderer.apply(this, args);\n                }\n                return ret;\n              };\n            } else {\n              extensions.renderers[ext.name] = ext.renderer;\n            }\n          }\n          if ('tokenizer' in ext) { // Tokenizer Extensions\n            if (!ext.level || (ext.level !== 'block' && ext.level !== 'inline')) {\n              throw new Error(\"extension level must be 'block' or 'inline'\");\n            }\n            const extLevel = extensions[ext.level];\n            if (extLevel) {\n              extLevel.unshift(ext.tokenizer);\n            } else {\n              extensions[ext.level] = [ext.tokenizer];\n            }\n            if (ext.start) { // Function to check for start of token\n              if (ext.level === 'block') {\n                if (extensions.startBlock) {\n                  extensions.startBlock.push(ext.start);\n                } else {\n                  extensions.startBlock = [ext.start];\n                }\n              } else if (ext.level === 'inline') {\n                if (extensions.startInline) {\n                  extensions.startInline.push(ext.start);\n                } else {\n                  extensions.startInline = [ext.start];\n                }\n              }\n            }\n          }\n          if ('childTokens' in ext && ext.childTokens) { // Child tokens to be visited by walkTokens\n            extensions.childTokens[ext.name] = ext.childTokens;\n          }\n        });\n        opts.extensions = extensions;\n      }\n\n      // ==-- Parse \"overwrite\" extensions --== //\n      if (pack.renderer) {\n        const renderer = this.defaults.renderer || new _Renderer(this.defaults);\n        for (const prop in pack.renderer) {\n          if (!(prop in renderer)) {\n            throw new Error(`renderer '${prop}' does not exist`);\n          }\n          if (['options', 'parser'].includes(prop)) {\n            // ignore options property\n            continue;\n          }\n          const rendererProp = prop as Exclude<keyof _Renderer, 'options' | 'parser'>;\n          const rendererFunc = pack.renderer[rendererProp] as GenericRendererFunction;\n          const prevRenderer = renderer[rendererProp] as GenericRendererFunction;\n          // Replace renderer with func to run extension, but fall back if false\n          renderer[rendererProp] = (...args: unknown[]) => {\n            let ret = rendererFunc.apply(renderer, args);\n            if (ret === false) {\n              ret = prevRenderer.apply(renderer, args);\n            }\n            return ret || '';\n          };\n        }\n        opts.renderer = renderer;\n      }\n      if (pack.tokenizer) {\n        const tokenizer = this.defaults.tokenizer || new _Tokenizer(this.defaults);\n        for (const prop in pack.tokenizer) {\n          if (!(prop in tokenizer)) {\n            throw new Error(`tokenizer '${prop}' does not exist`);\n          }\n          if (['options', 'rules', 'lexer'].includes(prop)) {\n            // ignore options, rules, and lexer properties\n            continue;\n          }\n          const tokenizerProp = prop as Exclude<keyof _Tokenizer, 'options' | 'rules' | 'lexer'>;\n          const tokenizerFunc = pack.tokenizer[tokenizerProp] as UnknownFunction;\n          const prevTokenizer = tokenizer[tokenizerProp] as UnknownFunction;\n          // Replace tokenizer with func to run extension, but fall back if false\n          // @ts-expect-error cannot type tokenizer function dynamically\n          tokenizer[tokenizerProp] = (...args: unknown[]) => {\n            let ret = tokenizerFunc.apply(tokenizer, args);\n            if (ret === false) {\n              ret = prevTokenizer.apply(tokenizer, args);\n            }\n            return ret;\n          };\n        }\n        opts.tokenizer = tokenizer;\n      }\n\n      // ==-- Parse Hooks extensions --== //\n      if (pack.hooks) {\n        const hooks = this.defaults.hooks || new _Hooks();\n        for (const prop in pack.hooks) {\n          if (!(prop in hooks)) {\n            throw new Error(`hook '${prop}' does not exist`);\n          }\n          if (['options', 'block'].includes(prop)) {\n            // ignore options and block properties\n            continue;\n          }\n          const hooksProp = prop as Exclude<keyof _Hooks, 'options' | 'block'>;\n          const hooksFunc = pack.hooks[hooksProp] as UnknownFunction;\n          const prevHook = hooks[hooksProp] as UnknownFunction;\n          if (_Hooks.passThroughHooks.has(prop)) {\n            // @ts-expect-error cannot type hook function dynamically\n            hooks[hooksProp] = (arg: unknown) => {\n              if (this.defaults.async) {\n                return Promise.resolve(hooksFunc.call(hooks, arg)).then(ret => {\n                  return prevHook.call(hooks, ret);\n                });\n              }\n\n              const ret = hooksFunc.call(hooks, arg);\n              return prevHook.call(hooks, ret);\n            };\n          } else {\n            // @ts-expect-error cannot type hook function dynamically\n            hooks[hooksProp] = (...args: unknown[]) => {\n              let ret = hooksFunc.apply(hooks, args);\n              if (ret === false) {\n                ret = prevHook.apply(hooks, args);\n              }\n              return ret;\n            };\n          }\n        }\n        opts.hooks = hooks;\n      }\n\n      // ==-- Parse WalkTokens extensions --== //\n      if (pack.walkTokens) {\n        const walkTokens = this.defaults.walkTokens;\n        const packWalktokens = pack.walkTokens;\n        opts.walkTokens = function(token) {\n          let values: MaybePromise[] = [];\n          values.push(packWalktokens.call(this, token));\n          if (walkTokens) {\n            values = values.concat(walkTokens.call(this, token));\n          }\n          return values;\n        };\n      }\n\n      this.defaults = { ...this.defaults, ...opts };\n    });\n\n    return this;\n  }\n\n  setOptions(opt: MarkedOptions) {\n    this.defaults = { ...this.defaults, ...opt };\n    return this;\n  }\n\n  lexer(src: string, options?: MarkedOptions) {\n    return _Lexer.lex(src, options ?? this.defaults);\n  }\n\n  parser(tokens: Token[], options?: MarkedOptions) {\n    return _Parser.parse(tokens, options ?? this.defaults);\n  }\n\n  private parseMarkdown(blockType: boolean) {\n    type overloadedParse = {\n      (src: string, options: MarkedOptions & { async: true }): Promise<string>;\n      (src: string, options: MarkedOptions & { async: false }): string;\n      (src: string, options?: MarkedOptions | null): string | Promise<string>;\n    };\n\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    const parse: overloadedParse = (src: string, options?: MarkedOptions | null): any => {\n      const origOpt = { ...options };\n      const opt = { ...this.defaults, ...origOpt };\n\n      const throwError = this.onError(!!opt.silent, !!opt.async);\n\n      // throw error if an extension set async to true but parse was called with async: false\n      if (this.defaults.async === true && origOpt.async === false) {\n        return throwError(new Error('marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.'));\n      }\n\n      // throw error in case of non string input\n      if (typeof src === 'undefined' || src === null) {\n        return throwError(new Error('marked(): input parameter is undefined or null'));\n      }\n      if (typeof src !== 'string') {\n        return throwError(new Error('marked(): input parameter is of type '\n          + Object.prototype.toString.call(src) + ', string expected'));\n      }\n\n      if (opt.hooks) {\n        opt.hooks.options = opt;\n        opt.hooks.block = blockType;\n      }\n\n      const lexer = opt.hooks ? opt.hooks.provideLexer() : (blockType ? _Lexer.lex : _Lexer.lexInline);\n      const parser = opt.hooks ? opt.hooks.provideParser() : (blockType ? _Parser.parse : _Parser.parseInline);\n\n      if (opt.async) {\n        return Promise.resolve(opt.hooks ? opt.hooks.preprocess(src) : src)\n          .then(src => lexer(src, opt))\n          .then(tokens => opt.hooks ? opt.hooks.processAllTokens(tokens) : tokens)\n          .then(tokens => opt.walkTokens ? Promise.all(this.walkTokens(tokens, opt.walkTokens)).then(() => tokens) : tokens)\n          .then(tokens => parser(tokens, opt))\n          .then(html => opt.hooks ? opt.hooks.postprocess(html) : html)\n          .catch(throwError);\n      }\n\n      try {\n        if (opt.hooks) {\n          src = opt.hooks.preprocess(src) as string;\n        }\n        let tokens = lexer(src, opt);\n        if (opt.hooks) {\n          tokens = opt.hooks.processAllTokens(tokens);\n        }\n        if (opt.walkTokens) {\n          this.walkTokens(tokens, opt.walkTokens);\n        }\n        let html = parser(tokens, opt);\n        if (opt.hooks) {\n          html = opt.hooks.postprocess(html) as string;\n        }\n        return html;\n      } catch (e) {\n        return throwError(e as Error);\n      }\n    };\n\n    return parse;\n  }\n\n  private onError(silent: boolean, async: boolean) {\n    return (e: Error): string | Promise<string> => {\n      e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n\n      if (silent) {\n        const msg = '<p>An error occurred:</p><pre>'\n          + escape(e.message + '', true)\n          + '</pre>';\n        if (async) {\n          return Promise.resolve(msg);\n        }\n        return msg;\n      }\n\n      if (async) {\n        return Promise.reject(e);\n      }\n      throw e;\n    };\n  }\n}\n","import { _Lexer } from './Lexer.ts';\nimport { _Parser } from './Parser.ts';\nimport { _Tokenizer } from './Tokenizer.ts';\nimport { _Renderer } from './Renderer.ts';\nimport { _TextRenderer } from './TextRenderer.ts';\nimport { _Hooks } from './Hooks.ts';\nimport { Marked } from './Instance.ts';\nimport {\n  _getDefaults,\n  changeDefaults,\n  _defaults,\n} from './defaults.ts';\nimport type { MarkedExtension, MarkedOptions } from './MarkedOptions.ts';\nimport type { Token, TokensList } from './Tokens.ts';\nimport type { MaybePromise } from './Instance.ts';\n\nconst markedInstance = new Marked();\n\n/**\n * Compiles markdown to HTML asynchronously.\n *\n * @param src String of markdown source to be compiled\n * @param options Hash of options, having async: true\n * @return Promise of string of compiled HTML\n */\nexport function marked(src: string, options: MarkedOptions & { async: true }): Promise<string>;\n\n/**\n * Compiles markdown to HTML.\n *\n * @param src String of markdown source to be compiled\n * @param options Optional hash of options\n * @return String of compiled HTML. Will be a Promise of string if async is set to true by any extensions.\n */\nexport function marked(src: string, options: MarkedOptions & { async: false }): string;\nexport function marked(src: string, options: MarkedOptions & { async: true }): Promise<string>;\nexport function marked(src: string, options?: MarkedOptions | null): string | Promise<string>;\nexport function marked(src: string, opt?: MarkedOptions | null): string | Promise<string> {\n  return markedInstance.parse(src, opt);\n}\n\n/**\n * Sets the default options.\n *\n * @param options Hash of options\n */\nmarked.options =\nmarked.setOptions = function(options: MarkedOptions) {\n  markedInstance.setOptions(options);\n  marked.defaults = markedInstance.defaults;\n  changeDefaults(marked.defaults);\n  return marked;\n};\n\n/**\n * Gets the original marked default options.\n */\nmarked.getDefaults = _getDefaults;\n\nmarked.defaults = _defaults;\n\n/**\n * Use Extension\n */\n\nmarked.use = function(...args: MarkedExtension[]) {\n  markedInstance.use(...args);\n  marked.defaults = markedInstance.defaults;\n  changeDefaults(marked.defaults);\n  return marked;\n};\n\n/**\n * Run callback for every token\n */\n\nmarked.walkTokens = function(tokens: Token[] | TokensList, callback: (token: Token) => MaybePromise | MaybePromise[]) {\n  return markedInstance.walkTokens(tokens, callback);\n};\n\n/**\n * Compiles markdown to HTML without enclosing `p` tag.\n *\n * @param src String of markdown source to be compiled\n * @param options Hash of options\n * @return String of compiled HTML\n */\nmarked.parseInline = markedInstance.parseInline;\n\n/**\n * Expose\n */\nmarked.Parser = _Parser;\nmarked.parser = _Parser.parse;\nmarked.Renderer = _Renderer;\nmarked.TextRenderer = _TextRenderer;\nmarked.Lexer = _Lexer;\nmarked.lexer = _Lexer.lex;\nmarked.Tokenizer = _Tokenizer;\nmarked.Hooks = _Hooks;\nmarked.parse = marked;\n\nexport const options = marked.options;\nexport const setOptions = marked.setOptions;\nexport const use = marked.use;\nexport const walkTokens = marked.walkTokens;\nexport const parseInline = marked.parseInline;\nexport const parse = marked;\nexport const parser = _Parser.parse;\nexport const lexer = _Lexer.lex;\nexport { _defaults as defaults, _getDefaults as getDefaults } from './defaults.ts';\nexport { _Lexer as Lexer } from './Lexer.ts';\nexport { _Parser as Parser } from './Parser.ts';\nexport { _Tokenizer as Tokenizer } from './Tokenizer.ts';\nexport { _Renderer as Renderer } from './Renderer.ts';\nexport { _TextRenderer as TextRenderer } from './TextRenderer.ts';\nexport { _Hooks as Hooks } from './Hooks.ts';\nexport { Marked } from './Instance.ts';\nexport type * from './MarkedOptions.ts';\nexport type * from './Tokens.ts';\n","// This module is generated by `script/`.\n/* eslint-disable no-control-regex, no-misleading-character-class, no-useless-escape */\nexport const regex = /[\\0-\\x1F!-,\\.\\/:-@\\[-\\^`\\{-\\xA9\\xAB-\\xB4\\xB6-\\xB9\\xBB-\\xBF\\xD7\\xF7\\u02C2-\\u02C5\\u02D2-\\u02DF\\u02E5-\\u02EB\\u02ED\\u02EF-\\u02FF\\u0375\\u0378\\u0379\\u037E\\u0380-\\u0385\\u0387\\u038B\\u038D\\u03A2\\u03F6\\u0482\\u0530\\u0557\\u0558\\u055A-\\u055F\\u0589-\\u0590\\u05BE\\u05C0\\u05C3\\u05C6\\u05C8-\\u05CF\\u05EB-\\u05EE\\u05F3-\\u060F\\u061B-\\u061F\\u066A-\\u066D\\u06D4\\u06DD\\u06DE\\u06E9\\u06FD\\u06FE\\u0700-\\u070F\\u074B\\u074C\\u07B2-\\u07BF\\u07F6-\\u07F9\\u07FB\\u07FC\\u07FE\\u07FF\\u082E-\\u083F\\u085C-\\u085F\\u086B-\\u089F\\u08B5\\u08C8-\\u08D2\\u08E2\\u0964\\u0965\\u0970\\u0984\\u098D\\u098E\\u0991\\u0992\\u09A9\\u09B1\\u09B3-\\u09B5\\u09BA\\u09BB\\u09C5\\u09C6\\u09C9\\u09CA\\u09CF-\\u09D6\\u09D8-\\u09DB\\u09DE\\u09E4\\u09E5\\u09F2-\\u09FB\\u09FD\\u09FF\\u0A00\\u0A04\\u0A0B-\\u0A0E\\u0A11\\u0A12\\u0A29\\u0A31\\u0A34\\u0A37\\u0A3A\\u0A3B\\u0A3D\\u0A43-\\u0A46\\u0A49\\u0A4A\\u0A4E-\\u0A50\\u0A52-\\u0A58\\u0A5D\\u0A5F-\\u0A65\\u0A76-\\u0A80\\u0A84\\u0A8E\\u0A92\\u0AA9\\u0AB1\\u0AB4\\u0ABA\\u0ABB\\u0AC6\\u0ACA\\u0ACE\\u0ACF\\u0AD1-\\u0ADF\\u0AE4\\u0AE5\\u0AF0-\\u0AF8\\u0B00\\u0B04\\u0B0D\\u0B0E\\u0B11\\u0B12\\u0B29\\u0B31\\u0B34\\u0B3A\\u0B3B\\u0B45\\u0B46\\u0B49\\u0B4A\\u0B4E-\\u0B54\\u0B58-\\u0B5B\\u0B5E\\u0B64\\u0B65\\u0B70\\u0B72-\\u0B81\\u0B84\\u0B8B-\\u0B8D\\u0B91\\u0B96-\\u0B98\\u0B9B\\u0B9D\\u0BA0-\\u0BA2\\u0BA5-\\u0BA7\\u0BAB-\\u0BAD\\u0BBA-\\u0BBD\\u0BC3-\\u0BC5\\u0BC9\\u0BCE\\u0BCF\\u0BD1-\\u0BD6\\u0BD8-\\u0BE5\\u0BF0-\\u0BFF\\u0C0D\\u0C11\\u0C29\\u0C3A-\\u0C3C\\u0C45\\u0C49\\u0C4E-\\u0C54\\u0C57\\u0C5B-\\u0C5F\\u0C64\\u0C65\\u0C70-\\u0C7F\\u0C84\\u0C8D\\u0C91\\u0CA9\\u0CB4\\u0CBA\\u0CBB\\u0CC5\\u0CC9\\u0CCE-\\u0CD4\\u0CD7-\\u0CDD\\u0CDF\\u0CE4\\u0CE5\\u0CF0\\u0CF3-\\u0CFF\\u0D0D\\u0D11\\u0D45\\u0D49\\u0D4F-\\u0D53\\u0D58-\\u0D5E\\u0D64\\u0D65\\u0D70-\\u0D79\\u0D80\\u0D84\\u0D97-\\u0D99\\u0DB2\\u0DBC\\u0DBE\\u0DBF\\u0DC7-\\u0DC9\\u0DCB-\\u0DCE\\u0DD5\\u0DD7\\u0DE0-\\u0DE5\\u0DF0\\u0DF1\\u0DF4-\\u0E00\\u0E3B-\\u0E3F\\u0E4F\\u0E5A-\\u0E80\\u0E83\\u0E85\\u0E8B\\u0EA4\\u0EA6\\u0EBE\\u0EBF\\u0EC5\\u0EC7\\u0ECE\\u0ECF\\u0EDA\\u0EDB\\u0EE0-\\u0EFF\\u0F01-\\u0F17\\u0F1A-\\u0F1F\\u0F2A-\\u0F34\\u0F36\\u0F38\\u0F3A-\\u0F3D\\u0F48\\u0F6D-\\u0F70\\u0F85\\u0F98\\u0FBD-\\u0FC5\\u0FC7-\\u0FFF\\u104A-\\u104F\\u109E\\u109F\\u10C6\\u10C8-\\u10CC\\u10CE\\u10CF\\u10FB\\u1249\\u124E\\u124F\\u1257\\u1259\\u125E\\u125F\\u1289\\u128E\\u128F\\u12B1\\u12B6\\u12B7\\u12BF\\u12C1\\u12C6\\u12C7\\u12D7\\u1311\\u1316\\u1317\\u135B\\u135C\\u1360-\\u137F\\u1390-\\u139F\\u13F6\\u13F7\\u13FE-\\u1400\\u166D\\u166E\\u1680\\u169B-\\u169F\\u16EB-\\u16ED\\u16F9-\\u16FF\\u170D\\u1715-\\u171F\\u1735-\\u173F\\u1754-\\u175F\\u176D\\u1771\\u1774-\\u177F\\u17D4-\\u17D6\\u17D8-\\u17DB\\u17DE\\u17DF\\u17EA-\\u180A\\u180E\\u180F\\u181A-\\u181F\\u1879-\\u187F\\u18AB-\\u18AF\\u18F6-\\u18FF\\u191F\\u192C-\\u192F\\u193C-\\u1945\\u196E\\u196F\\u1975-\\u197F\\u19AC-\\u19AF\\u19CA-\\u19CF\\u19DA-\\u19FF\\u1A1C-\\u1A1F\\u1A5F\\u1A7D\\u1A7E\\u1A8A-\\u1A8F\\u1A9A-\\u1AA6\\u1AA8-\\u1AAF\\u1AC1-\\u1AFF\\u1B4C-\\u1B4F\\u1B5A-\\u1B6A\\u1B74-\\u1B7F\\u1BF4-\\u1BFF\\u1C38-\\u1C3F\\u1C4A-\\u1C4C\\u1C7E\\u1C7F\\u1C89-\\u1C8F\\u1CBB\\u1CBC\\u1CC0-\\u1CCF\\u1CD3\\u1CFB-\\u1CFF\\u1DFA\\u1F16\\u1F17\\u1F1E\\u1F1F\\u1F46\\u1F47\\u1F4E\\u1F4F\\u1F58\\u1F5A\\u1F5C\\u1F5E\\u1F7E\\u1F7F\\u1FB5\\u1FBD\\u1FBF-\\u1FC1\\u1FC5\\u1FCD-\\u1FCF\\u1FD4\\u1FD5\\u1FDC-\\u1FDF\\u1FED-\\u1FF1\\u1FF5\\u1FFD-\\u203E\\u2041-\\u2053\\u2055-\\u2070\\u2072-\\u207E\\u2080-\\u208F\\u209D-\\u20CF\\u20F1-\\u2101\\u2103-\\u2106\\u2108\\u2109\\u2114\\u2116-\\u2118\\u211E-\\u2123\\u2125\\u2127\\u2129\\u212E\\u213A\\u213B\\u2140-\\u2144\\u214A-\\u214D\\u214F-\\u215F\\u2189-\\u24B5\\u24EA-\\u2BFF\\u2C2F\\u2C5F\\u2CE5-\\u2CEA\\u2CF4-\\u2CFF\\u2D26\\u2D28-\\u2D2C\\u2D2E\\u2D2F\\u2D68-\\u2D6E\\u2D70-\\u2D7E\\u2D97-\\u2D9F\\u2DA7\\u2DAF\\u2DB7\\u2DBF\\u2DC7\\u2DCF\\u2DD7\\u2DDF\\u2E00-\\u2E2E\\u2E30-\\u3004\\u3008-\\u3020\\u3030\\u3036\\u3037\\u303D-\\u3040\\u3097\\u3098\\u309B\\u309C\\u30A0\\u30FB\\u3100-\\u3104\\u3130\\u318F-\\u319F\\u31C0-\\u31EF\\u3200-\\u33FF\\u4DC0-\\u4DFF\\u9FFD-\\u9FFF\\uA48D-\\uA4CF\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA62C-\\uA63F\\uA673\\uA67E\\uA6F2-\\uA716\\uA720\\uA721\\uA789\\uA78A\\uA7C0\\uA7C1\\uA7CB-\\uA7F4\\uA828-\\uA82B\\uA82D-\\uA83F\\uA874-\\uA87F\\uA8C6-\\uA8CF\\uA8DA-\\uA8DF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA954-\\uA95F\\uA97D-\\uA97F\\uA9C1-\\uA9CE\\uA9DA-\\uA9DF\\uA9FF\\uAA37-\\uAA3F\\uAA4E\\uAA4F\\uAA5A-\\uAA5F\\uAA77-\\uAA79\\uAAC3-\\uAADA\\uAADE\\uAADF\\uAAF0\\uAAF1\\uAAF7-\\uAB00\\uAB07\\uAB08\\uAB0F\\uAB10\\uAB17-\\uAB1F\\uAB27\\uAB2F\\uAB5B\\uAB6A-\\uAB6F\\uABEB\\uABEE\\uABEF\\uABFA-\\uABFF\\uD7A4-\\uD7AF\\uD7C7-\\uD7CA\\uD7FC-\\uD7FF\\uE000-\\uF8FF\\uFA6E\\uFA6F\\uFADA-\\uFAFF\\uFB07-\\uFB12\\uFB18-\\uFB1C\\uFB29\\uFB37\\uFB3D\\uFB3F\\uFB42\\uFB45\\uFBB2-\\uFBD2\\uFD3E-\\uFD4F\\uFD90\\uFD91\\uFDC8-\\uFDEF\\uFDFC-\\uFDFF\\uFE10-\\uFE1F\\uFE30-\\uFE32\\uFE35-\\uFE4C\\uFE50-\\uFE6F\\uFE75\\uFEFD-\\uFF0F\\uFF1A-\\uFF20\\uFF3B-\\uFF3E\\uFF40\\uFF5B-\\uFF65\\uFFBF-\\uFFC1\\uFFC8\\uFFC9\\uFFD0\\uFFD1\\uFFD8\\uFFD9\\uFFDD-\\uFFFF]|\\uD800[\\uDC0C\\uDC27\\uDC3B\\uDC3E\\uDC4E\\uDC4F\\uDC5E-\\uDC7F\\uDCFB-\\uDD3F\\uDD75-\\uDDFC\\uDDFE-\\uDE7F\\uDE9D-\\uDE9F\\uDED1-\\uDEDF\\uDEE1-\\uDEFF\\uDF20-\\uDF2C\\uDF4B-\\uDF4F\\uDF7B-\\uDF7F\\uDF9E\\uDF9F\\uDFC4-\\uDFC7\\uDFD0\\uDFD6-\\uDFFF]|\\uD801[\\uDC9E\\uDC9F\\uDCAA-\\uDCAF\\uDCD4-\\uDCD7\\uDCFC-\\uDCFF\\uDD28-\\uDD2F\\uDD64-\\uDDFF\\uDF37-\\uDF3F\\uDF56-\\uDF5F\\uDF68-\\uDFFF]|\\uD802[\\uDC06\\uDC07\\uDC09\\uDC36\\uDC39-\\uDC3B\\uDC3D\\uDC3E\\uDC56-\\uDC5F\\uDC77-\\uDC7F\\uDC9F-\\uDCDF\\uDCF3\\uDCF6-\\uDCFF\\uDD16-\\uDD1F\\uDD3A-\\uDD7F\\uDDB8-\\uDDBD\\uDDC0-\\uDDFF\\uDE04\\uDE07-\\uDE0B\\uDE14\\uDE18\\uDE36\\uDE37\\uDE3B-\\uDE3E\\uDE40-\\uDE5F\\uDE7D-\\uDE7F\\uDE9D-\\uDEBF\\uDEC8\\uDEE7-\\uDEFF\\uDF36-\\uDF3F\\uDF56-\\uDF5F\\uDF73-\\uDF7F\\uDF92-\\uDFFF]|\\uD803[\\uDC49-\\uDC7F\\uDCB3-\\uDCBF\\uDCF3-\\uDCFF\\uDD28-\\uDD2F\\uDD3A-\\uDE7F\\uDEAA\\uDEAD-\\uDEAF\\uDEB2-\\uDEFF\\uDF1D-\\uDF26\\uDF28-\\uDF2F\\uDF51-\\uDFAF\\uDFC5-\\uDFDF\\uDFF7-\\uDFFF]|\\uD804[\\uDC47-\\uDC65\\uDC70-\\uDC7E\\uDCBB-\\uDCCF\\uDCE9-\\uDCEF\\uDCFA-\\uDCFF\\uDD35\\uDD40-\\uDD43\\uDD48-\\uDD4F\\uDD74\\uDD75\\uDD77-\\uDD7F\\uDDC5-\\uDDC8\\uDDCD\\uDDDB\\uDDDD-\\uDDFF\\uDE12\\uDE38-\\uDE3D\\uDE3F-\\uDE7F\\uDE87\\uDE89\\uDE8E\\uDE9E\\uDEA9-\\uDEAF\\uDEEB-\\uDEEF\\uDEFA-\\uDEFF\\uDF04\\uDF0D\\uDF0E\\uDF11\\uDF12\\uDF29\\uDF31\\uDF34\\uDF3A\\uDF45\\uDF46\\uDF49\\uDF4A\\uDF4E\\uDF4F\\uDF51-\\uDF56\\uDF58-\\uDF5C\\uDF64\\uDF65\\uDF6D-\\uDF6F\\uDF75-\\uDFFF]|\\uD805[\\uDC4B-\\uDC4F\\uDC5A-\\uDC5D\\uDC62-\\uDC7F\\uDCC6\\uDCC8-\\uDCCF\\uDCDA-\\uDD7F\\uDDB6\\uDDB7\\uDDC1-\\uDDD7\\uDDDE-\\uDDFF\\uDE41-\\uDE43\\uDE45-\\uDE4F\\uDE5A-\\uDE7F\\uDEB9-\\uDEBF\\uDECA-\\uDEFF\\uDF1B\\uDF1C\\uDF2C-\\uDF2F\\uDF3A-\\uDFFF]|\\uD806[\\uDC3B-\\uDC9F\\uDCEA-\\uDCFE\\uDD07\\uDD08\\uDD0A\\uDD0B\\uDD14\\uDD17\\uDD36\\uDD39\\uDD3A\\uDD44-\\uDD4F\\uDD5A-\\uDD9F\\uDDA8\\uDDA9\\uDDD8\\uDDD9\\uDDE2\\uDDE5-\\uDDFF\\uDE3F-\\uDE46\\uDE48-\\uDE4F\\uDE9A-\\uDE9C\\uDE9E-\\uDEBF\\uDEF9-\\uDFFF]|\\uD807[\\uDC09\\uDC37\\uDC41-\\uDC4F\\uDC5A-\\uDC71\\uDC90\\uDC91\\uDCA8\\uDCB7-\\uDCFF\\uDD07\\uDD0A\\uDD37-\\uDD39\\uDD3B\\uDD3E\\uDD48-\\uDD4F\\uDD5A-\\uDD5F\\uDD66\\uDD69\\uDD8F\\uDD92\\uDD99-\\uDD9F\\uDDAA-\\uDEDF\\uDEF7-\\uDFAF\\uDFB1-\\uDFFF]|\\uD808[\\uDF9A-\\uDFFF]|\\uD809[\\uDC6F-\\uDC7F\\uDD44-\\uDFFF]|[\\uD80A\\uD80B\\uD80E-\\uD810\\uD812-\\uD819\\uD824-\\uD82B\\uD82D\\uD82E\\uD830-\\uD833\\uD837\\uD839\\uD83D\\uD83F\\uD87B-\\uD87D\\uD87F\\uD885-\\uDB3F\\uDB41-\\uDBFF][\\uDC00-\\uDFFF]|\\uD80D[\\uDC2F-\\uDFFF]|\\uD811[\\uDE47-\\uDFFF]|\\uD81A[\\uDE39-\\uDE3F\\uDE5F\\uDE6A-\\uDECF\\uDEEE\\uDEEF\\uDEF5-\\uDEFF\\uDF37-\\uDF3F\\uDF44-\\uDF4F\\uDF5A-\\uDF62\\uDF78-\\uDF7C\\uDF90-\\uDFFF]|\\uD81B[\\uDC00-\\uDE3F\\uDE80-\\uDEFF\\uDF4B-\\uDF4E\\uDF88-\\uDF8E\\uDFA0-\\uDFDF\\uDFE2\\uDFE5-\\uDFEF\\uDFF2-\\uDFFF]|\\uD821[\\uDFF8-\\uDFFF]|\\uD823[\\uDCD6-\\uDCFF\\uDD09-\\uDFFF]|\\uD82C[\\uDD1F-\\uDD4F\\uDD53-\\uDD63\\uDD68-\\uDD6F\\uDEFC-\\uDFFF]|\\uD82F[\\uDC6B-\\uDC6F\\uDC7D-\\uDC7F\\uDC89-\\uDC8F\\uDC9A-\\uDC9C\\uDC9F-\\uDFFF]|\\uD834[\\uDC00-\\uDD64\\uDD6A-\\uDD6C\\uDD73-\\uDD7A\\uDD83\\uDD84\\uDD8C-\\uDDA9\\uDDAE-\\uDE41\\uDE45-\\uDFFF]|\\uD835[\\uDC55\\uDC9D\\uDCA0\\uDCA1\\uDCA3\\uDCA4\\uDCA7\\uDCA8\\uDCAD\\uDCBA\\uDCBC\\uDCC4\\uDD06\\uDD0B\\uDD0C\\uDD15\\uDD1D\\uDD3A\\uDD3F\\uDD45\\uDD47-\\uDD49\\uDD51\\uDEA6\\uDEA7\\uDEC1\\uDEDB\\uDEFB\\uDF15\\uDF35\\uDF4F\\uDF6F\\uDF89\\uDFA9\\uDFC3\\uDFCC\\uDFCD]|\\uD836[\\uDC00-\\uDDFF\\uDE37-\\uDE3A\\uDE6D-\\uDE74\\uDE76-\\uDE83\\uDE85-\\uDE9A\\uDEA0\\uDEB0-\\uDFFF]|\\uD838[\\uDC07\\uDC19\\uDC1A\\uDC22\\uDC25\\uDC2B-\\uDCFF\\uDD2D-\\uDD2F\\uDD3E\\uDD3F\\uDD4A-\\uDD4D\\uDD4F-\\uDEBF\\uDEFA-\\uDFFF]|\\uD83A[\\uDCC5-\\uDCCF\\uDCD7-\\uDCFF\\uDD4C-\\uDD4F\\uDD5A-\\uDFFF]|\\uD83B[\\uDC00-\\uDDFF\\uDE04\\uDE20\\uDE23\\uDE25\\uDE26\\uDE28\\uDE33\\uDE38\\uDE3A\\uDE3C-\\uDE41\\uDE43-\\uDE46\\uDE48\\uDE4A\\uDE4C\\uDE50\\uDE53\\uDE55\\uDE56\\uDE58\\uDE5A\\uDE5C\\uDE5E\\uDE60\\uDE63\\uDE65\\uDE66\\uDE6B\\uDE73\\uDE78\\uDE7D\\uDE7F\\uDE8A\\uDE9C-\\uDEA0\\uDEA4\\uDEAA\\uDEBC-\\uDFFF]|\\uD83C[\\uDC00-\\uDD2F\\uDD4A-\\uDD4F\\uDD6A-\\uDD6F\\uDD8A-\\uDFFF]|\\uD83E[\\uDC00-\\uDFEF\\uDFFA-\\uDFFF]|\\uD869[\\uDEDE-\\uDEFF]|\\uD86D[\\uDF35-\\uDF3F]|\\uD86E[\\uDC1E\\uDC1F]|\\uD873[\\uDEA2-\\uDEAF]|\\uD87A[\\uDFE1-\\uDFFF]|\\uD87E[\\uDE1E-\\uDFFF]|\\uD884[\\uDF4B-\\uDFFF]|\\uDB40[\\uDC00-\\uDCFF\\uDDF0-\\uDFFF]/g\n","import { regex } from './regex.js'\n\nconst own = Object.hasOwnProperty\n\n/**\n * Slugger.\n */\nexport default class BananaSlug {\n  /**\n   * Create a new slug class.\n   */\n  constructor () {\n    /** @type {Record<string, number>} */\n    // eslint-disable-next-line no-unused-expressions\n    this.occurrences\n\n    this.reset()\n  }\n\n  /**\n   * Generate a unique slug.\n  *\n  * Tracks previously generated slugs: repeated calls with the same value\n  * will result in different slugs.\n  * Use the `slug` function to get same slugs.\n   *\n   * @param  {string} value\n   *   String of text to slugify\n   * @param  {boolean} [maintainCase=false]\n   *   Keep the current case, otherwise make all lowercase\n   * @return {string}\n   *   A unique slug string\n   */\n  slug (value, maintainCase) {\n    const self = this\n    let result = slug(value, maintainCase === true)\n    const originalSlug = result\n\n    while (own.call(self.occurrences, result)) {\n      self.occurrences[originalSlug]++\n      result = originalSlug + '-' + self.occurrences[originalSlug]\n    }\n\n    self.occurrences[result] = 0\n\n    return result\n  }\n\n  /**\n   * Reset - Forget all previous slugs\n   *\n   * @return void\n   */\n  reset () {\n    this.occurrences = Object.create(null)\n  }\n}\n\n/**\n * Generate a slug.\n *\n * Does not track previously generated slugs: repeated calls with the same value\n * will result in the exact same slug.\n * Use the `GithubSlugger` class to get unique slugs.\n *\n * @param  {string} value\n *   String of text to slugify\n * @param  {boolean} [maintainCase=false]\n *   Keep the current case, otherwise make all lowercase\n * @return {string}\n *   A unique slug string\n */\nexport function slug (value, maintainCase) {\n  if (typeof value !== 'string') return ''\n  if (!maintainCase) value = value.toLowerCase()\n  return value.replace(regex, '').replace(/ /g, '-')\n}\n","import GithubSlugger from 'github-slugger';\nlet slugger = new GithubSlugger();\n\nlet headings = [];\n\n// unescape from marked helpers\nconst unescapeTest = /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig;\n/* istanbul ignore next */\nexport function unescape(html) {\n  // explicitly match decimal, hex, and named HTML entities\n  return html.replace(unescapeTest, (_, n) => {\n    n = n.toLowerCase();\n    if (n === 'colon') return ':';\n    if (n.charAt(0) === '#') {\n      return n.charAt(1) === 'x'\n        ? String.fromCharCode(parseInt(n.substring(2), 16))\n        : String.fromCharCode(+n.substring(1));\n    }\n    return '';\n  });\n}\n\nexport function gfmHeadingId({ prefix = '', globalSlugs = false } = {}) {\n  return {\n    headerIds: false, // prevent deprecation warning; remove this once headerIds option is removed\n    hooks: {\n      preprocess(src) {\n        if (!globalSlugs) {\n          resetHeadings();\n        }\n        return src;\n      },\n    },\n    useNewRenderer: true,\n    renderer: {\n      heading({ tokens, depth }) {\n        const text = this.parser.parseInline(tokens);\n        const raw = unescape(text)\n          .trim()\n          .replace(/<[!\\/a-z].*?>/gi, '');\n        const level = depth;\n        const id = `${prefix}${slugger.slug(raw.toLowerCase())}`;\n        const heading = { level, text, id, raw };\n        headings.push(heading);\n\n        return `<h${level} id=\"${id}\">${text}</h${level}>\\n`;\n      },\n    },\n  };\n}\n\nexport function getHeadingList() {\n  return headings;\n}\n\nexport function resetHeadings() {\n  headings = [];\n  slugger = new GithubSlugger();\n}\n","export function markedHighlight(options) {\n  if (typeof options === 'function') {\n    options = {\n      highlight: options,\n    };\n  }\n\n  if (!options || typeof options.highlight !== 'function') {\n    throw new Error('Must provide highlight function');\n  }\n\n  if (typeof options.langPrefix !== 'string') {\n    options.langPrefix = 'language-';\n  }\n\n  if (typeof options.emptyLangClass !== 'string') {\n    options.emptyLangClass = '';\n  }\n\n  return {\n    async: !!options.async,\n    walkTokens(token) {\n      if (token.type !== 'code') {\n        return;\n      }\n\n      const lang = getLang(token.lang);\n\n      if (options.async) {\n        return Promise.resolve(options.highlight(token.text, lang, token.lang || '')).then(updateToken(token));\n      }\n\n      const code = options.highlight(token.text, lang, token.lang || '');\n      if (code instanceof Promise) {\n        throw new Error('markedHighlight is not set to async but the highlight function is async. Set the async option to true on markedHighlight to await the async highlight function.');\n      }\n      updateToken(token)(code);\n    },\n    useNewRenderer: true,\n    renderer: {\n      code(code, infoString, escaped) {\n        // istanbul ignore next\n        if (typeof code === 'object') {\n          escaped = code.escaped;\n          infoString = code.lang;\n          code = code.text;\n        }\n        const lang = getLang(infoString);\n        const classValue = lang ? options.langPrefix + escape(lang) : options.emptyLangClass;\n        const classAttr = classValue\n          ? ` class=\"${classValue}\"`\n          : '';\n        code = code.replace(/\\n$/, '');\n        return `<pre><code${classAttr}>${escaped ? code : escape(code, true)}\\n</code></pre>`;\n      },\n    },\n  };\n}\n\nfunction getLang(lang) {\n  return (lang || '').match(/\\S*/)[0];\n}\n\nfunction updateToken(token) {\n  return (code) => {\n    if (typeof code === 'string' && code !== token.text) {\n      token.escaped = true;\n      token.text = code;\n    }\n  };\n}\n\n// copied from marked helpers\nconst escapeTest = /[&<>\"']/;\nconst escapeReplace = new RegExp(escapeTest.source, 'g');\nconst escapeTestNoEncode = /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/;\nconst escapeReplaceNoEncode = new RegExp(escapeTestNoEncode.source, 'g');\nconst escapeReplacements = {\n  '&': '&amp;',\n  '<': '&lt;',\n  '>': '&gt;',\n  '\"': '&quot;',\n  \"'\": '&#39;',\n};\nconst getEscapeReplacement = (ch) => escapeReplacements[ch];\nfunction escape(html, encode) {\n  if (encode) {\n    if (escapeTest.test(html)) {\n      return html.replace(escapeReplace, getEscapeReplacement);\n    }\n  } else {\n    if (escapeTestNoEncode.test(html)) {\n      return html.replace(escapeReplaceNoEncode, getEscapeReplacement);\n    }\n  }\n\n  return html;\n}\n","import { marked } from 'marked';\nimport { gfmHeadingId } from 'marked-gfm-heading-id';\nimport { markedHighlight } from \"marked-highlight\";\nimport hljs from './hljs-pack';\n\nconst markedRenderer = new marked.Renderer();\n\n// marked.Renderer.prototype.blockquote = function ({ tokens }) {\n// \tconst body = this.parser.parse(tokens);\n// \treturn `<dps-callout><span slot=\"description\">${body}</span></dps-callout>`;\n// };\n\n// //Custom renderer\nmarked.Renderer.prototype.html = function ({ text: html }) {\n\t//Regex to match the blockquote tags (Openning, closing blockquote tags with single or multiple lines of text between them)\n\tconst regex = new RegExp(/<blockquote((?:.|\\n|\\r)*?)>((?:.|\\n|\\r)*?)<\\/blockquote>/gi);\n\tconst blockquoteMatch = html.match(regex);\n\n\t//Check for blockquotes\n\tif (blockquoteMatch !== null) {\n\t\tlet textObj, fullTag, resultText, blockquoteText;\n\t\twhile ((textObj = regex.exec(html)) !== null) {\n\t\t\tif (textObj && textObj[2]) {\n\t\t\t\tblockquoteText = textObj[2];\n\t\t\t\tfullTag = textObj[0];\n\n\t\t\t\tresultText = `<dps-callout><span slot=\"description\">${blockquoteText}</span></dps-callout>`;\n\t\t\t\thtml = html.replace(fullTag, resultText);\n\t\t\t}\n\t\t}\n\t}\n\treturn html;\n};\n\nmarked.setOptions({\n\trenderer: markedRenderer\n});\n\nmarked.use(\n\tmarkedHighlight({\n\t\temptyLangClass: 'hljs',\n\t\tlangPrefix: 'hljs language-',\n\t\thighlight(code, lang) {\n\t\t\tconst language = lang && lang !== 'jsx' ? lang : 'xml';\n\t\t\treturn hljs.highlight(language, code).value;\n\t\t}\n\t})\n);\n\n// Register the extension with marked\nmarked.use(gfmHeadingId());\n\nexport default marked;\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-component-detail-toc.scss';\nimport '../dps-link';\nimport { createPath } from '../../utils/url';\nimport { titleCase } from '../../utils/case';\n\nconst view = state => {\n\tconst {title, topLinks, bottomLinks, component, detailType, release} = state.properties;\n\n\tif (!topLinks || topLinks.length === 0) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className=\"dps-component-detail-toc\">\n\t\t\t<p className=\"dps-component-detail-toc-header\">Contents</p>\n\t\t\t<p className=\"dps-component-detail-toc-title\">{title}</p>\n\t\t\t<ul className=\"dps-component-detail-toc-list\">\n\t\t\t\t{\n\t\t\t\t\ttopLinks ?\n\t\t\t\t\t\ttopLinks.map(section =>\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\t\tbutton-style\n\t\t\t\t\t\t\t\t\tbutton-size=\"sm\"\n\t\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\t\thref={createPath(`/reference/next-experience/${release}/now-components/${component}/${detailType}#${section.id}`)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{titleCase(section.label)}\n\t\t\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)\n\t\t\t\t\t\t: null\n\t\t\t\t}\n\t\t\t</ul>\n\t\t\t<div className=\"horizontal-divider\"></div>\n\t\t\t<ul className=\"dps-component-detail-toc-list\">\n\t\t\t\t{\n\t\t\t\t\tbottomLinks ?\n\t\t\t\t\t\tbottomLinks.map(link =>\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\t\tbutton-style\n\t\t\t\t\t\t\t\t\tbutton-size=\"sm\"\n\t\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\t\tinternal-action\n\t\t\t\t\t\t\t\t\thref={createPath(link.link)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{titleCase(link.label)}\n\t\t\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)\n\t\t\t\t\t\t: null\n\t\t\t\t}\n\t\t\t</ul>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-component-detail-toc', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\t/**\n\t\t * Component Name\n\t\t * @type {string}\n\t\t */\n\t\tcomponent: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Indicates title\n\t\t * @type {string}\n\t\t */\n\t\ttitle: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Indicates top links\n\t\t * @type {array}\n\t\t */\n\t\ttopLinks: {\n\t\t\tdefault: []\n\t\t},\n\t\t/**\n\t\t * Indicates bottom links\n\t\t * @type {array}\n\t\t */\n\t\tbottomLinks: {\n\t\t\tdefault: []\n\t\t},\n\t\t/**\n\t\t * Component detail type \"Usage\", \"API\" etc\n\t\t * @type {string}\n\t\t */\n\t\tdetailType: {\n\t\t\tdefault: ''\n\t\t},\n\t\trelease: {\n\t\t\tdefault: ''\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-component-detail-header.scss';\nimport marked from '../../utils/marked-with-hljs';\nimport { DevPlatformStorage } from '../../utils/storage';\nimport '../dps-component-detail-toc';\nimport '../dps-badge';\nimport '../dps-inline-version-selector';\nimport '@servicenow/now-icon';\nimport { createPath, queryParamsToStr } from '../../utils/url';\nimport { getFormattedInstanceReleaseInfo } from '../../utils/releaseHelpers';\nimport '../dps-bookmark';\nimport {\n\tcapitalizeWords,\n\tmakeElementTypeLabelHeading\n} from '../../utils/helpers';\nimport { COMPONENT_OVERVIEW_UIB_ELEMENTS } from '../../constants';\nimport { isTruthy } from '../../utils/helpers';\n\nconst createMetadataTable = component => ({\n\tapi: [\n\t\t{\n\t\t\tlabel: 'Github',\n\t\t\tdata: component.package.meta.gheLink,\n\t\t\tlink: component.package.meta.gheLink,\n\t\t\tisLinkOpenNewWindow: true,\n\t\t\tinternalOnly: true\n\t\t},\n\t\t{\n\t\t\tlabel: 'Component',\n\t\t\tdata: `${component.package.version}`\n\t\t},\n\t\t{\n\t\t\tlabel: 'Owner',\n\t\t\tdata: component.package.owner\n\t\t},\n\t\t{\n\t\t\tlabel: 'Support',\n\t\t\tdata: 'Get Help',\n\t\t\tlink:\n\t\t\t\tcomponent.package.meta.helpLink ||\n\t\t\t\t'https://now-servicenow.slack.com/app_redirect?channel=design-syst-feedback',\n\t\t\tisLinkOpenNewWindow: true\n\t\t},\n\t\t{\n\t\t\tlabel: 'Framework',\n\t\t\tdata: `${component.package.meta.seismic || 'latest'}`,\n\t\t\tlink: `/reference/next-experience/${component.package.meta.releaseSlug}/ui-framework/getting-started/introduction`\n\t\t}\n\t],\n\tusage: []\n});\n\nconst view = ({ properties }, { dispatch }) => {\n\tconst {\n\t\tcomponentData,\n\t\tdetailType,\n\t\tisEmployee,\n\t\tqueryParams,\n\t\tpathname,\n\t\trelease,\n\t\tinstanceInfo,\n\t\tisUpdatingBookmark,\n\t\tuserInfo: { is_logged_in },\n\t\tsystemProperties,\n\t\tapiExists\n\t} = properties;\n\n\tconst {\n\t\tcategory,\n\t\tother_releases,\n\t\tinternal,\n\t\tdescription,\n\t\tscr: {\n\t\t\towning_team_name,\n\t\t\tinternal_only,\n\t\t\tfriendly_name,\n\t\t\tcomponent_name,\n\t\t\telement_type,\n\t\t\treleased_to_public_npm\n\t\t}\n\t} = componentData;\n\n\tconst bookmarked =\n\t\tcomponentData && componentData.scr ? componentData.scr.bookmarked : false;\n\n\tlet other_release_list = other_releases;\n\n\tif (\n\t\t['gallery', 'api'].indexOf(detailType) > -1 &&\n\t\tcomponentData.scr &&\n\t\tcomponentData.scr.api &&\n\t\tcomponentData.scr.api.isContentFound\n\t) {\n\t\tother_release_list = componentData.scr.api.other_releases;\n\t} else if (\n\t\tdetailType === 'playground' &&\n\t\tcomponentData &&\n\t\tcomponentData['other_releases_playground']\n\t) {\n\t\tother_release_list = componentData['other_releases_playground'];\n\t} else if (\n\t\tdetailType === 'usage' &&\n\t\tcomponentData.scr &&\n\t\tcomponentData.scr.usage &&\n\t\tcomponentData.scr.usage.isContentFound\n\t) {\n\t\tother_release_list = componentData.scr.usage.other_releases;\n\t} else if (\n\t\tdetailType === 'uib-setup' &&\n\t\tcomponentData.scr &&\n\t\tcomponentData.scr.uibSetup &&\n\t\tcomponentData.scr.uibSetup.isContentFound\n\t) {\n\t\tother_release_list = componentData.scr.uibSetup.other_releases;\n\t} else if (\n\t\tdetailType === 'uib-config' &&\n\t\tcomponentData.scr &&\n\t\tcomponentData.scr.uibConfig &&\n\t\tcomponentData.scr.uibConfig.isContentFound\n\t) {\n\t\tother_release_list = componentData.scr.uibConfig.other_releases;\n\t}\n\n\t// Only captialize api, usage, and playground, not overview\n\tlet componentDetailHeaderTitle = '';\n\tif (detailType === 'api') {\n\t\tcomponentDetailHeaderTitle = 'API';\n\t} else if (detailType === 'overview') {\n\t\tcomponentDetailHeaderTitle = apiExists ? ' Overview & API' : ' Overview';\n\t} else if (detailType === 'uib-setup') {\n\t\tcomponentDetailHeaderTitle = 'UIB Setup';\n\t} else if (detailType === 'uib-config') {\n\t\tcomponentDetailHeaderTitle = 'UIB Config';\n\t} else if (detailType !== 'overview') {\n\t\tcomponentDetailHeaderTitle = capitalizeWords(detailType);\n\t}\n\n\tconst categories = [category];\n\tconst queryParamsStr = queryParamsToStr(queryParams);\n\tconst otherReleases = other_release_list\n\t\t? other_release_list\n\t\t\t\t.filter(otherRelease => (otherRelease.internal ? isEmployee : true))\n\t\t\t\t.map(otherRelease => ({\n\t\t\t\t\t...otherRelease,\n\t\t\t\t\turl: `${otherRelease.url}/${detailType}${queryParamsStr}`\n\t\t\t\t}))\n\t\t: [];\n\tconst instanceRelease = getFormattedInstanceReleaseInfo(instanceInfo);\n\tconst showDesignSystemBadge =\n\t\towning_team_name === 'Dev-Design System' &&\n\t\t!categories.includes('Design System') &&\n\t\tisEmployee;\n\n\t//Processing UIB Elements\n\tconst uibElementTypes = [\n\t\t'component',\n\t\t'facades',\n\t\t'macroponent-component',\n\t\t'modal',\n\t\t'page',\n\t\t'app-shells'\n\t];\n\tlet uibElementLabel;\n\tlet uibElementSearchLink;\n\n\tif (uibElementTypes.includes(element_type)) {\n\t\tif (isEmployee) {\n\t\t\tuibElementLabel = COMPONENT_OVERVIEW_UIB_ELEMENTS[element_type].label;\n\t\t\tuibElementSearchLink = createPath(\n\t\t\t\t`/reference/next-experience/${release}/components?categories%5B%5D=${COMPONENT_OVERVIEW_UIB_ELEMENTS[element_type].category}`\n\t\t\t);\n\t\t} else {\n\t\t\tuibElementLabel = 'Available in UIB';\n\t\t\tuibElementSearchLink = createPath(\n\t\t\t\t`/reference/next-experience/${release}/components?uib=true`\n\t\t\t);\n\t\t}\n\t}\n\n\t//Processing released_to_public_npm\n\tlet availableInNpmLabel;\n\tlet availableInNpmSearchLink;\n\n\tif (isTruthy(released_to_public_npm)) {\n\t\tif (isEmployee) {\n\t\t\tavailableInNpmLabel = 'Available in Public NPM';\n\t\t} else {\n\t\t\tavailableInNpmLabel = 'Available in NPM';\n\t\t}\n\t\tavailableInNpmSearchLink = createPath(\n\t\t\t`/reference/next-experience/${release}/components?npm=true`\n\t\t);\n\t}\n\n\tconst teamSearchLink = createPath(\n\t\t`/reference/next-experience/${release}/components?query=team:Dev-Design+System`\n\t);\n\n\treturn (\n\t\t<div>\n\t\t\t<header>\n\t\t\t\t<div className=\"dps-component-container\">\n\t\t\t\t\t{otherReleases ? (\n\t\t\t\t\t\t<dps-inline-version-selector\n\t\t\t\t\t\t\tselected={release}\n\t\t\t\t\t\t\treleases={otherReleases}\n\t\t\t\t\t\t\tinstanceRelease={instanceRelease}\n\t\t\t\t\t\t\tsourcePathname={pathname}\n\t\t\t\t\t\t\ttext-color=\"light\"\n\t\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'header-text-wrapper': true,\n\t\t\t\t\t\t\t'-is-single-column': !isEmployee\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<h6 className=\"component-type\">\n\t\t\t\t\t\t\t{makeElementTypeLabelHeading(element_type)}\n\t\t\t\t\t\t</h6>\n\t\t\t\t\t\t<div className=\"dps-component-detail-title-menu\">\n\t\t\t\t\t\t\t<h1 className=\"dps-component-detail-title\" id={component_name}>\n\t\t\t\t\t\t\t\t{friendly_name || component_name} {componentDetailHeaderTitle}{' '}\n\t\t\t\t\t\t\t\t{is_logged_in ? (\n\t\t\t\t\t\t\t\t\t<div className=\"dps-component-detail-bookmark\">\n\t\t\t\t\t\t\t\t\t\t<dps-bookmark\n\t\t\t\t\t\t\t\t\t\t\tlight = {false}\n\t\t\t\t\t\t\t\t\t\t\tidentifier={component_name}\n\t\t\t\t\t\t\t\t\t\t\tbookmarked={bookmarked}\n\t\t\t\t\t\t\t\t\t\t\tdisabled={isUpdatingBookmark}\n\t\t\t\t\t\t\t\t\t\t></dps-bookmark>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"dps-component-summary\">\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"dps-component-detail-description\"\n\t\t\t\t\t\t\t\tinnerHTML={marked(description || '')}\n\t\t\t\t\t\t\t></div>\n\t\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\t\tclassName=\"\n\t\t\t\t\t\t\tdps-component-detail-categories\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{internal_only ? (\n\t\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t\t{' '}\n\t\t\t\t\t\t\t\t\t\t<dps-badge\n\t\t\t\t\t\t\t\t\t\t\thref={createPath(\n\t\t\t\t\t\t\t\t\t\t\t\t`/reference/next-experience/${release}/components?internal_only=true`\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\tlabel=\"Internal Only\"\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"acapulco\"\n\t\t\t\t\t\t\t\t\t\t\tcategory\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t{showDesignSystemBadge ? (\n\t\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t\t<dps-badge\n\t\t\t\t\t\t\t\t\t\t\thref={teamSearchLink}\n\t\t\t\t\t\t\t\t\t\t\tlabel=\"Design System\"\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"acapulco\"\n\t\t\t\t\t\t\t\t\t\t\tcategory\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t{categories &&\n\t\t\t\t\t\t\t\t\tcategories.map(cat => (\n\t\t\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t\t\t<dps-badge\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={cat}\n\t\t\t\t\t\t\t\t\t\t\t\thref={createPath(\n\t\t\t\t\t\t\t\t\t\t\t\t\t`/reference/next-experience/${release}/components?categories%5B%5D=${cat}`\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"acapulco\"\n\t\t\t\t\t\t\t\t\t\t\t\tcategory\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t{uibElementLabel && uibElementSearchLink ? (\n\t\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t\t<dps-badge\n\t\t\t\t\t\t\t\t\t\t\thref={uibElementSearchLink}\n\t\t\t\t\t\t\t\t\t\t\tlabel={uibElementLabel}\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"acapulco\"\n\t\t\t\t\t\t\t\t\t\t\tcategory\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t{availableInNpmLabel && availableInNpmSearchLink ? (\n\t\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t\t<dps-badge\n\t\t\t\t\t\t\t\t\t\t\thref={availableInNpmSearchLink}\n\t\t\t\t\t\t\t\t\t\t\tlabel={availableInNpmLabel}\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"acapulco\"\n\t\t\t\t\t\t\t\t\t\t\tcategory\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</header>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-component-detail-header', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\tcomponentData: {\n\t\t\tdefault: {}\n\t\t},\n\t\tdetailType: {},\n\t\tisEmployee: {\n\t\t\tcomputed({ properties: { userInfo } }) {\n\t\t\t\tconst { roles } = userInfo;\n\n\t\t\t\tif (roles && roles.indexOf('developer_company_servicenow') > -1) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\tisLoggedIn: {\n\t\t\tcomputed({ properties: { userInfo } }) {\n\t\t\t\treturn userInfo && userInfo.is_logged_in;\n\t\t\t}\n\t\t},\n\t\tinstanceInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tisAlertOpen: {},\n\t\tmetadata: {\n\t\t\tcomputed: ({ properties: { componentData } }) =>\n\t\t\t\tcomponentData.package ? createMetadataTable(componentData) : {}\n\t\t},\n\t\tqueryParams: {\n\t\t\tdefault: {}\n\t\t},\n\t\trelease: {},\n\t\tpathname: {},\n\t\tuserInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tbookmarkedComponents: {\n\t\t\tdefault: {}\n\t\t},\n\t\tisUpdatingBookmark: {\n\t\t\tdefault: false\n\t\t},\n\t\tsystemProperties: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\tapiExists: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t/**\n\t\t * Listens for dps-alert action - Update session storage\n\t\t * @type {{action: Object}}\n\t\t */\n\t\t['DPS_ALERT#DISMISS']: ({ updateProperties }) => {\n\t\t\tDevPlatformStorage.saveToSessionStorage(\n\t\t\t\t'DPS_ALERT_COMPONENT_DISMISSED',\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tupdateProperties({ isAlertOpen: false });\n\t\t},\n\t\t/**\n\t\t * Listens for dps-alert action - Update session storage\n\t\t * @type {{action: Object}}\n\t\t */\n\t\t['DPS_ALERT#BOOTSTRAPPED']: ({ updateProperties, properties }) => {\n\t\t\tconst { release, userInfo } = properties;\n\t\t\tconst pdiVersion = userInfo.user_instance_release || '';\n\t\t\tconst hasNoPdiVersion = !pdiVersion;\n\t\t\tconst isAlertDismissed = DevPlatformStorage.loadFromSessionStorage(\n\t\t\t\t'DPS_ALERT_COMPONENT_DISMISSED'\n\t\t\t);\n\t\t\tconst isPDIVersionReleaseMatched =\n\t\t\t\tpdiVersion.replace(' ', '') === release.replace(' ', '');\n\n\t\t\tif (isAlertDismissed || hasNoPdiVersion) {\n\t\t\t\tupdateProperties({ isAlertOpen: false });\n\t\t\t} else {\n\t\t\t\tDevPlatformStorage.saveToSessionStorage(\n\t\t\t\t\t'DPS_ALERT_COMPONENT_DISMISSED',\n\t\t\t\t\tfalse\n\t\t\t\t);\n\t\t\t\tupdateProperties({ isAlertOpen: true });\n\n\t\t\t\tif (isPDIVersionReleaseMatched) {\n\t\t\t\t\tDevPlatformStorage.saveToSessionStorage(\n\t\t\t\t\t\t'DPS_ALERT_COMPONENT_DISMISSED',\n\t\t\t\t\t\ttrue\n\t\t\t\t\t);\n\t\t\t\t\tupdateProperties({ isAlertOpen: false });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-component-detail-header';\n\nexport default createCustomElement('dps-component-detail-header-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-component-detail-header></dps-component-detail-header>\n\t)\n});\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-component-detail-meta.scss';\nimport '../dps-link';\n\nconst view = (state, dispatch) => {\n\tconst {metadata} = state.properties;\n\n\treturn (\n\t\t<div className=\"dps-component-detail-meta\">\n\t\t\t{\n\t\t\t\tmetadata.map(data => (\n\t\t\t\t\t<div class={{\n\t\t\t\t\t\t'dps-component-detail-meta-row': true,\n\t\t\t\t\t\t'-external': data.isExternal\n\t\t\t\t\t}}>\n\t\t\t\t\t\t<div className=\"dps-component-detail-meta-install-label\">\n\t\t\t\t\t\t\t{data.label}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"dps-component-detail-meta-install-value\">\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdata.link\n\t\t\t\t\t\t\t\t\t? <dps-link\n\t\t\t\t\t\t\t\t\t\thref={data.link}\n\t\t\t\t\t\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\t\t\t\t\t\t//Tracking the click\n\t\t\t\t\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\t\t\t\t\taction: \"click out \"+ data.label === \"Support\"? \"Slack\" : data.label,\n\t\t\t\t\t\t\t\t\t\t\t\tcategory: \"Component library details\",\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: data.label === \"Support\"? \"Slack\" : data.label,\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: \"\",\n\t\t\t\t\t\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttarget={data.isLinkOpenNewWindow ? '_blank' : null}\n\t\t\t\t\t\t\t\t\t\ticon={data.icon}>{data.data}</dps-link>\n\t\t\t\t\t\t\t\t\t: data.data\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t))\n\t\t\t}\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-component-detail-meta', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\t/**\n\t\t * List of metadata about component\n\t\t * @type {array}\n\t\t */\n\t\tmetadata: {\n\t\t\tdefault: []\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-component-detail-meta';\n\nexport default createCustomElement('dps-component-detail-meta-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-component-detail-meta></dps-component-detail-meta>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-component-detail-toc';\n\nexport default createCustomElement('dps-component-detail-toc-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-component-detail-toc></dps-component-detail-toc>\n\t)\n});\n","export const DPS_COMPONENT_GALLERY_SEARCH_ACTIONS = {\n\tFORM_ON_SUBMIT: 'DPS_COMPONENT_GALLERY_SEARCH#FORM_ON_SUBMIT',\n\tSUBMITTED: 'DPS_COMPONENT_GALLERY_SEARCH#SUBMITTED',\n\tINPUT_ON_CHANGE: 'DPS_COMPONENT_GALLERY_SEARCH#INPUT_ON_CHANGE'\n};","export const INFINITE_SCROLL_ACTIONS = {\n  INTERSECTING_TARGET: 'INFINITE_SCROLL#INTERSECTING_TARGET',\n  LOAD_MORE_ENTRIES: 'INFINITE_SCROLL#LOAD_MORE_ENTRIES',\n  RESET_OBSERVER: 'INFINITE_SCROLL#RESET_OBSERVER',\n  UPDATE_OBSERVER: 'INFINITE_SCROLL#UPDATE_OBSERVER'\n};\n","/* eslint-disable curly */\n/* eslint-disable object-shorthand */\nimport { actionTypes } from '@servicenow/ui-core';\nimport { INFINITE_SCROLL_ACTIONS } from './actions';\n\nconst {\n\tCOMPONENT_DOM_READY,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_PROPERTY_CHANGED\n} = actionTypes;\n\nexport const INFINITE_SCROLL_BEHAVIOR = 'infiniteScroll';\nlet previousY = 0;\nlet previousRatio = 0;\n\n/**\n * Initializes all the options passed into the behavior\n * and sets up the intersectionObserver if possible\n * @param {Object} coeffects\n */\nconst initializeOptions = ({ action, dispatch, state, updateState }) => {\n\tconst { host, options } = action.payload;\n\tconst {\n\t\tcontainerSelector,\n\t\tlimit,\n\t\ttargetSelector,\n\t\t...intersectionObserverOptions\n\t} = options;\n\tconst hostShadowRoot = host.shadowRoot;\n\tconst target = hostShadowRoot.querySelector(targetSelector);\n\n\t// Sets up the intersection observer if possible\n\tconst infiniteScrollObserver = target\n\t\t? setupIntersectionObserver({\n\t\t\t\tdispatch,\n\t\t\t\tintersectionObserverOptions,\n\t\t\t\tlimit,\n\t\t\t\ttarget,\n\t\t\t\tupdateState\n\t\t  })\n\t\t: null;\n\n\tupdateState({\n\t\tbehaviors: {\n\t\t\t...state.behaviors,\n\t\t\t[INFINITE_SCROLL_BEHAVIOR]: {\n\t\t\t\t...state.behaviors[INFINITE_SCROLL_BEHAVIOR],\n\t\t\t\tcontainerSelector,\n\t\t\t\thost,\n\t\t\t\tlimit,\n\t\t\t\tintersectionObserverOptions,\n\t\t\t\tinfiniteScrollObserver,\n\t\t\t\ttargetSelector\n\t\t\t}\n\t\t}\n\t});\n};\n\n/**\n * Sets up the intersection observer for the infinite scroll\n *\n * @param {Object} param0\n * @returns {IntersectionObserver}\n */\nconst setupIntersectionObserver = ({\n\tdispatch,\n\tintersectionObserverOptions,\n\tlimit,\n\ttarget\n}) => {\n\tconst infiniteScrollObserver = new IntersectionObserver(entries => {\n\t\tentries.forEach(entry => {\n\t\t\tconst currentY = entry.boundingClientRect.y;\n\t\t\tconst currentRatio = entry.intersectionRatio;\n\t\t\tconst isIntersecting = entry.isIntersecting;\n\n\t\t\tif (\n\t\t\t\tisIntersecting &&\n\t\t\t\tcurrentY < previousY &&\n\t\t\t\tcurrentRatio > previousRatio\n\t\t\t) {\n\t\t\t\tdispatch(INFINITE_SCROLL_ACTIONS.INTERSECTING_TARGET, {});\n\t\t\t}\n\n\t\t\tpreviousY = currentY;\n\t\t\tpreviousRatio = currentRatio;\n\t\t});\n\t}, intersectionObserverOptions);\n\n\tinfiniteScrollObserver.observe(target);\n\treturn infiniteScrollObserver;\n};\n\n/**\n * infiniteScroll behavior\n   options: {\n      rootMargin: '88px 0px 0px 0px',\n      targetSelector: '.dps-learn-module-banner.-main',\n      threshold: 1\n    }\n */\nexport default {\n\tname: INFINITE_SCROLL_BEHAVIOR,\n\tinitialState: {\n\t\toffset: 0,\n\t\tpreviousIntersectingY: 0\n\t},\n\tactionHandlers: {\n\t\t// MIGRATION: COMPONENT_DOM_READY\n\t\t[COMPONENT_DOM_READY]: coeffects => {\n\t\t\tinitializeOptions(coeffects);\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: ({ dispatch, state }) => {\n\t\t\tconst { host, infiniteScrollObserver, targetSelector } = state.behaviors[\n\t\t\t\tINFINITE_SCROLL_BEHAVIOR\n\t\t\t];\n\t\t\tconst hostShadowRoot = host.shadowRoot;\n\t\t\tconst target = hostShadowRoot.querySelector(targetSelector);\n\n\t\t\tif (target) {\n\t\t\t\tinfiniteScrollObserver.unobserve(target);\n\t\t\t}\n\t\t\tdispatch(INFINITE_SCROLL_ACTIONS.RESET_OBSERVER, {});\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: coeffects => {\n\t\t\tconst { dispatch, state, updateState } = coeffects;\n\t\t\tconst {\n\t\t\t\thost,\n\t\t\t\tinfiniteScrollObserver,\n\t\t\t\tintersectionObserverOptions,\n\t\t\t\tisObserving,\n\t\t\t\tlimit,\n\t\t\t\ttargetSelector\n\t\t\t} = state.behaviors[INFINITE_SCROLL_BEHAVIOR];\n\t\t\tconst hostShadowRoot = host.shadowRoot;\n\t\t\tconst target = hostShadowRoot.querySelector(targetSelector);\n\n\t\t\tif (!infiniteScrollObserver && target) {\n\t\t\t\tconst observer = setupIntersectionObserver({\n\t\t\t\t\tdispatch,\n\t\t\t\t\thost,\n\t\t\t\t\tintersectionObserverOptions,\n\t\t\t\t\tlimit,\n\t\t\t\t\ttarget,\n\t\t\t\t\tupdateState\n\t\t\t\t});\n\n\t\t\t\tdispatch(INFINITE_SCROLL_ACTIONS.UPDATE_OBSERVER, {\n\t\t\t\t\tinfiniteScrollObserver: observer,\n\t\t\t\t\tisObserving: true\n\t\t\t\t});\n\t\t\t} else if (infiniteScrollObserver && !isObserving && target) {\n\t\t\t\tinfiniteScrollObserver.observe(target);\n\t\t\t\tdispatch(INFINITE_SCROLL_ACTIONS.UPDATE_OBSERVER, {\n\t\t\t\t\tisObserving: true\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[INFINITE_SCROLL_ACTIONS.RESET_OBSERVER]: ({ dispatch }) => {\n\t\t\tdispatch(INFINITE_SCROLL_ACTIONS.UPDATE_OBSERVER, {\n\t\t\t\tisObserving: false,\n\t\t\t\toffset: 0\n\t\t\t});\n\t\t},\n\t\t[INFINITE_SCROLL_ACTIONS.UPDATE_OBSERVER]: ({\n\t\t\taction,\n\t\t\tstate,\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tupdateState({\n\t\t\t\tbehaviors: {\n\t\t\t\t\t...state.behaviors,\n\t\t\t\t\t[INFINITE_SCROLL_BEHAVIOR]: {\n\t\t\t\t\t\t...state.behaviors[INFINITE_SCROLL_BEHAVIOR],\n\t\t\t\t\t\t...action.payload\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n};\n","import { makeHttpEffectCreator } from '../../../utils/helpers';\nimport { CONSTANTS } from '../../../constants';\nimport { APP_ACTIONS } from '../../dps-app/actions';\n\nconst fetchAvailableCategories = makeHttpEffectCreator(\n\tAPP_ACTIONS.GET_COMPONENT_AVAILABLE_CATEGORIES,\n\tCONSTANTS.ENDPOINTS.COMPONENT_AVAILABLE_CATEGORIES_V2,\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tpathParams: ['release'],\n\t\tonError(coeffects) {\n\t\t\tconst { updateState } = coeffects;\n\t\t\tupdateState({\n\t\t\t\tfailedFetchingAvailableCategories: false,\n\t\t\t\tfetchingAvailableCategories: false\n\t\t\t});\n\t\t},\n\t\tonSuccess(coeffects) {\n\t\t\tconst { action, updateProperties, updateState } = coeffects;\n\t\t\tconst { result } = action.payload;\n\t\t\tupdateProperties({ availableCategories: result });\n\t\t\tupdateState({\n\t\t\t\tfailedFetchingAvailableCategories: false,\n\t\t\t\tfetchingAvailableCategories: false\n\t\t\t});\n\t\t}\n\t}\n);\n\nexport default fetchAvailableCategories;\n","import { makeHttpEffectCreator } from '../../../utils/helpers';\nimport { CONSTANTS } from '../../../constants';\nimport { APP_ACTIONS } from '../../dps-app/actions';\n\nconst fetchBookmarkedComponents = makeHttpEffectCreator(\n\tAPP_ACTIONS.GET_BOOKMARKED_COMPONENTS,\n\tCONSTANTS.ENDPOINTS.BOOKMARKED_COMPONENTS_V1,\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tqueryParams: ['release'],\n\t\tonError(coeffects) {\n\t\t\tconst { updateState } = coeffects;\n\t\t\tupdateState({\n\t\t\t\tfailedFetchingBookmarkedComponents: true,\n\t\t\t\tfetchingBookmarkedComponents: false\n\t\t\t});\n\t\t},\n\t\tonSuccess(coeffects) {\n\t\t\tconst { action, updateProperties, updateState } = coeffects;\n\t\t\tconst { result } = action.payload;\n\t\t\tupdateProperties({ bookmarkedComponents: result });\n\t\t\tupdateState({\n\t\t\t\tfailedFetchingBookmarkedComponents: false,\n\t\t\t\tfetchingBookmarkedComponents: false\n\t\t\t});\n\t\t}\n\t}\n);\n\nexport default fetchBookmarkedComponents;\n","import { makeHttpEffectCreator } from '../../../utils/helpers';\nimport { CONSTANTS } from '../../../constants';\nimport { APP_ACTIONS } from '../../dps-app/actions';\n\nconst fetchComponentGallery = makeHttpEffectCreator(\n\tAPP_ACTIONS.GET_COMPONENT_GALLERY,\n\tCONSTANTS.ENDPOINTS.COMPONENT_GALLERY_V2,\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tpathParams: ['release'],\n\t\tonError(coeffects) {\n\t\t\tconst { updateState } = coeffects;\n\t\t\tupdateState({\n\t\t\t\tfailedFetchingComponentGallery: false,\n\t\t\t\tfetchingComponentGallery: false\n\t\t\t});\n\t\t},\n\t\tonSuccess(coeffects) {\n\t\t\tconst { action, updateProperties, updateState } = coeffects;\n\t\t\tconst { result } = action.payload;\n\t\t\tupdateProperties({ galleryData: result });\n\t\t\tupdateState({\n\t\t\t\tfailedFetchingComponentGallery: false,\n\t\t\t\tfetchingComponentGallery: false\n\t\t\t});\n\t\t}\n\t}\n);\n\nexport default fetchComponentGallery;\n","import { makeHttpEffectCreator } from '../../../utils/helpers';\nimport { CONSTANTS } from '../../../constants';\nimport { APP_ACTIONS } from '../../dps-app/actions';\nimport { INFINITE_SCROLL_ACTIONS } from '../../../behaviors/infiniteScroll/actions';\n\nconst fetchComponentSearchResults = makeHttpEffectCreator(\n\tAPP_ACTIONS.GET_COMPONENT_SEARCH,\n\tCONSTANTS.ENDPOINTS.COMPONENT_SEARCH_V2,\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tpathParams: ['release'],\n\t\tqueryParams: [\n\t\t\t'addedToUIB',\n\t\t\t'availability',\n\t\t\t'bookmarks',\n\t\t\t'categories',\n\t\t\t'component_purpose',\n\t\t\t'component_type',\n\t\t\t'internal_only',\n\t\t\t'limit',\n\t\t\t'npm',\n\t\t\t'offset',\n\t\t\t'query',\n\t\t\t'uib',\n\t\t\t'wrapper',\n\t\t],\n\t\tonError(coeffects) {\n\t\t\tconst { updateState } = coeffects;\n\n\t\t\tupdateState({\n\t\t\t\tfailedFetchingSearchResults: true,\n\t\t\t\tfetchingSearchResults: false\n\t\t\t});\n\t\t},\n\t\tonSuccess(coeffects) {\n\t\t\tconst {\n\t\t\t\taction,\n\t\t\t\tdispatch,\n\t\t\t\tstate,\n\t\t\t\tupdateProperties,\n\t\t\t\tupdateState\n\t\t\t} = coeffects;\n\t\t\tconst { result } = action.payload;\n\t\t\tconst nextOffset = parseInt(result.nextOffset, 10) || 0;\n\t\t\tconst totalCount = parseInt(result.totalCount, 10);\n\n\t\t\tupdateState({\n\t\t\t\tbehaviors: {\n\t\t\t\t\t...state.behaviors,\n\t\t\t\t\tinfiniteScroll: {\n\t\t\t\t\t\t...state.behaviors.infiniteScroll,\n\t\t\t\t\t\toffset: nextOffset\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tfailedFetchingSearchResults: false,\n\t\t\t\tfetchingSearchResults: false\n\t\t\t});\n\n\t\t\tif (state.loadingMoreEntries) {\n\t\t\t\tdispatch(INFINITE_SCROLL_ACTIONS.LOAD_MORE_ENTRIES, {\n\t\t\t\t\tdata: result.items\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tupdateProperties({\n\t\t\t\t\thasMoreSearchResults: nextOffset > 0,\n\t\t\t\t\tsearchResults: result.items,\n\t\t\t\t\treleaseSwitched: false,\n\t\t\t\t\ttotalNumberOfSearchResults: totalCount\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n);\n\nexport default fetchComponentSearchResults;\n","import { makeHttpEffectCreator } from '../../../utils/helpers';\nimport { CONSTANTS } from '../../../constants';\nimport { APP_ACTIONS } from '../../dps-app/actions';\nimport { DPS_COMPONENT_GALLERY_VIEW_MODE } from '../dps-component-gallery';\n\nconst toggleComponentBookmark = makeHttpEffectCreator(\n\tAPP_ACTIONS.TOGGLE_COMPONENT_BOOKMARK,\n\tCONSTANTS.ENDPOINTS.UPDATE_BOOKMARK_STATUS,\n\t{\n\t\tmethod: 'POST',\n\t\tdataParam: 'data',\n\t\tbatch: false,\n\t\tonError(coeffects) {\n\t\t\tdispatch(APP_ACTIONS.TOGGLE_COMPONENT_BOOKMARK_FAILED ,{coeffects});\n\t\t},\n\t\tonSuccess(coeffects) {\n\t\t\tconst { dispatch, properties } = coeffects;\n\t\t\tconst { release, viewMode } = properties;\n\n\t\t\tif (viewMode === DPS_COMPONENT_GALLERY_VIEW_MODE.GALLERY) {\n\t\t\t\tdispatch(APP_ACTIONS.GET_BOOKMARKED_COMPONENTS, { release });\n\t\t\t\tdispatch(APP_ACTIONS.GET_COMPONENT_GALLERY, { release });\n\t\t\t}\n\t\t}\n\t}\n);\n\nexport default toggleComponentBookmark;\n","import { actionTypes } from '@servicenow/ui-core';\nimport { DPS_CATEGORY_SECTION_ACTIONS } from '../../../components/dps-category-section/actions';\nimport { DPS_COMPONENT_GALLERY_SEARCH_ACTIONS } from '../../../components/dps-component-gallery-search/actions';\nimport { DPS_INLINE_VERSION_SELECTOR_ACTIONS } from '../../../components/dps-inline-version-selector/actions';\nimport { APP_ACTIONS } from '../../dps-app/actions';\nimport { INFINITE_SCROLL_BEHAVIOR } from '../../../behaviors/infiniteScroll/index';\nimport { INFINITE_SCROLL_ACTIONS } from '../../../behaviors/infiniteScroll/actions';\nimport { SCROLL_SPY_ACTIONS } from '../../../behaviors/scrollSpy';\nimport { CONSTANTS, DPS_COMPONENT_GALLERY_SEARCH } from '../../../constants';\nimport {\n\tDPS_COMPONENT_GALLERY_SEARCH_LIMIT,\n\tDPS_COMPONENT_GALLERY_VIEW_MODE\n} from '../dps-component-gallery';\nimport {\n\tcapitalizeWords,\n\thasUserInfoUpdated,\n\tisTruthy,\n\tuserInfoPopulated\n} from '../../../utils/helpers';\nimport fetchAvailableCategories from './fetchAvailableCategories';\nimport fetchBookmarkedComponents from './fetchBookmarkedComponents';\nimport fetchComponentGallery from './fetchComponentGallery';\nimport fetchComponentSearchResults from './fetchComponentSearchResults';\nimport toggleComponentBookmark from './toggleComponentBookmark';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst createSearchHeading = ({ bookmarks = false, categories = [], query }) => {\n\tif (query) {\n\t\treturn `\"${query}\"`;\n\t}\n\n\tif (categories && categories.length > 1) {\n\t\treturn 'Multiple Categories';\n\t} else if (categories && categories.length === 1) {\n\t\treturn `${capitalizeWords(\n\t\t\tDPS_COMPONENT_GALLERY_SEARCH.CATEGORIES[categories[0]]\n\t\t)}`;\n\t} else if (bookmarks) {\n\t\treturn DPS_COMPONENT_GALLERY_SEARCH.CONSTANTS.BOOKMARKED_COMPONENTS;\n\t}\n};\n\nconst dispatchSearch = ({\n\tdispatch,\n\tproperties,\n\trelease,\n\tupdateProperties,\n\tupdateState\n}) => {\n\tconst { hasServiceNowRole, queryParams } = properties;\n\tconst categories =\n\t\t(queryParams['categories[]'] &&\n\t\t\tqueryParams['categories[]'].filter(val => val !== '')) ||\n\t\tnull;\n\tconst bookmarks =\n\t\tcategories && categories.length > 0\n\t\t\t? false\n\t\t\t: queryParams['bookmarks'] && isTruthy(queryParams['bookmarks']);\n\n\tconst searchPayload = {\n\t\t...(hasServiceNowRole\n\t\t\t? CONSTANTS.DEFAULTS.DPS_COMPONENT_GALLERY_DEFAULT_SN_SEARCH_PAYLOAD\n\t\t\t: CONSTANTS.DEFAULTS.DPS_COMPONENT_GALLERY_DEFAULT_SEARCH_PAYLOAD),\n\t\t...generateSearchParamsFromQueryString(queryParams),\n\t\twrapper: queryParams.wrapper && isTruthy(queryParams.wrapper),\n\t\tinternalOnly: queryParams.internalOnly && isTruthy(queryParams.internalOnly)\n\t};\n\n\tupdateState({\n\t\tfetchingSearchResults: true,\n\t\tloadingMoreEntries: false,\n\t\tsearchPayload\n\t});\n\n\tupdateProperties({\n\t\tsearchHeading: createSearchHeading({\n\t\t\tbookmarks,\n\t\t\tcategories,\n\t\t\tquery: queryParams['query']\n\t\t}),\n\t\tsearchResults: []\n\t});\n\n\tdispatch(APP_ACTIONS.GET_COMPONENT_SEARCH, {\n\t\tlimit: DPS_COMPONENT_GALLERY_SEARCH_LIMIT,\n\t\trelease,\n\t\t...searchPayload\n\t});\n};\n\nconst generateQueryStringFromSearchParams = payload =>\n\tObject.keys(payload).reduce((memo, key) => {\n\t\tif (Array.isArray(payload[key])) {\n\t\t\tif (payload[key].length) {\n\t\t\t\tmemo.push(...payload[key].map(val => [`${key}[]`, val]));\n\t\t\t} else {\n\t\t\t\tmemo.push([`${key}[]`, '']);\n\t\t\t}\n\t\t} else {\n\t\t\tmemo.push([key, payload[key]]);\n\t\t}\n\t\treturn memo;\n\t}, []);\n\nconst generateSearchParamsFromQueryString = queryParams => ({\n\t...(queryParams['availability[]'] && {\n\t\tavailability: queryParams['availability[]']\n\t}),\n\t...(queryParams['categories[]'] && {\n\t\tcategories: queryParams['categories[]']\n\t}),\n\t...(queryParams['component_purpose[]'] && {\n\t\tcomponent_purpose: queryParams['component_purpose[]']\n\t}),\n\t...(queryParams['component_type[]'] && {\n\t\tcomponent_type: queryParams['component_type[]']\n\t}),\n\t...(queryParams.query && { query: queryParams.query }),\n\t...(queryParams.bookmarks\n\t\t? { bookmarks: queryParams.bookmarks }\n\t\t: { bookmarks: false }),\n\t...(queryParams.npm ? { npm: queryParams.npm } : { npm: false }),\n\t...(queryParams.uib ? { uib: queryParams.uib } : { uib: false }),\n\t...(queryParams.wrapper ? { wrapper: queryParams.wrapper } : null),\n\t...(queryParams.internal_only ? { internal_only: queryParams.internal_only } : null)\n});\n\nexport default {\n\t...fetchAvailableCategories,\n\t...fetchBookmarkedComponents,\n\t...fetchComponentGallery,\n\t...fetchComponentSearchResults,\n\t...toggleComponentBookmark,\n\t[COMPONENT_BOOTSTRAPPED]: coeffects => {\n\t\tconst { dispatch, properties, updateProperties, updateState } = coeffects;\n\t\tconst { userInfo } = properties;\n\t\tconst { release, viewMode } = properties;\n\n\t\tif (properties.availableCategories.length === 0) {\n\t\t\tdispatch(APP_ACTIONS.GET_COMPONENT_AVAILABLE_CATEGORIES, { release });\n\t\t}\n\n\t\tif (viewMode === DPS_COMPONENT_GALLERY_VIEW_MODE.GALLERY) {\n\t\t\tupdateState({\n\t\t\t\tfetchingBookmarkedComponents: true,\n\t\t\t\tfetchingComponentGallery: true\n\t\t\t});\n\t\t\tif (userInfoPopulated(userInfo) && userInfo.is_logged_in) {\n\t\t\t\tdispatch(APP_ACTIONS.GET_BOOKMARKED_COMPONENTS, { release });\n\t\t\t}\n\n\t\t\tdispatch(APP_ACTIONS.GET_COMPONENT_GALLERY, { release });\n\t\t} else if (\n\t\t\tviewMode === DPS_COMPONENT_GALLERY_VIEW_MODE.SEARCH_RESULTS &&\n\t\t\tuserInfoPopulated(userInfo)\n\t\t) {\n\t\t\tdispatchSearch({\n\t\t\t\tdispatch,\n\t\t\t\tproperties,\n\t\t\t\trelease,\n\t\t\t\tupdateProperties,\n\t\t\t\tupdateState\n\t\t\t});\n\t\t}\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: coeffects => {\n\t\tconst {\n\t\t\tdispatch,\n\t\t\tproperties,\n\t\t\taction,\n\t\t\tstate,\n\t\t\tupdateProperties,\n\t\t\tupdateState\n\t\t} = coeffects;\n\t\tconst { release, viewMode } = properties;\n\t\tconst { name, value, previousValue } = action.payload;\n\t\tconst queryParamsChanged = name === 'queryParams';\n\t\tconst userInfoUpdated = hasUserInfoUpdated({ name, value, previousValue });\n\n\t\t// refetch available categories if switching release\n\t\tif (name === 'release' && !state.fetchingAvailableCategories) {\n\t\t\tdispatch(APP_ACTIONS.GET_COMPONENT_AVAILABLE_CATEGORIES, { release });\n\t\t}\n\n\t\t// reset the infinite scroll observer if switching release\n\t\tif (name === 'release' && viewMode === DPS_COMPONENT_GALLERY_VIEW_MODE.SEARCH_RESULTS) {\n\t\t\tdispatch(INFINITE_SCROLL_ACTIONS.RESET_OBSERVER);\n\t\t}\n\n\t\tif (\n\t\t\tqueryParamsChanged &&\n\t\t\tviewMode === DPS_COMPONENT_GALLERY_VIEW_MODE.GALLERY\n\t\t) {\n\t\t\tupdateState({\n\t\t\t\tfetchingBookmarkedComponents: true,\n\t\t\t\tfetchingComponentGallery: true,\n\t\t\t\tsearchPayload: {\n\t\t\t\t\t...CONSTANTS.DEFAULTS.DPS_COMPONENT_GALLERY_DEFAULT_SEARCH_PAYLOAD\n\t\t\t\t}\n\t\t\t});\n\t\t\tdispatch(APP_ACTIONS.GET_BOOKMARKED_COMPONENTS, { release });\n\t\t\tdispatch(APP_ACTIONS.GET_COMPONENT_GALLERY, { release });\n\t\t\tdispatch(INFINITE_SCROLL_ACTIONS.RESET_OBSERVER);\n\t\t} else if (\n\t\t\t(queryParamsChanged || userInfoUpdated) &&\n\t\t\tviewMode === DPS_COMPONENT_GALLERY_VIEW_MODE.SEARCH_RESULTS &&\n\t\t\t!state.fetchingSearchResults\n\t\t) {\n\t\t\tdispatchSearch({\n\t\t\t\tdispatch,\n\t\t\t\tproperties,\n\t\t\t\trelease,\n\t\t\t\tupdateProperties,\n\t\t\t\tupdateState\n\t\t\t});\n\t\t}\n\n\t\tif (\n\t\t\tuserInfoUpdated &&\n\t\t\tviewMode === DPS_COMPONENT_GALLERY_VIEW_MODE.GALLERY\n\t\t) {\n\t\t\tdispatch(APP_ACTIONS.GET_BOOKMARKED_COMPONENTS, { release });\n\t\t\tdispatch(APP_ACTIONS.GET_COMPONENT_GALLERY, { release });\n\t\t}\n\t},\n\t'DPS_ACCORDION#TOGGLE_PANEL': ({ properties, updateProperties }) => {\n\t\tconst { advancedSearchExpanded } = properties;\n\n\t\tupdateProperties({\n\t\t\tadvancedSearchExpanded: !advancedSearchExpanded\n\t\t});\n\t},\n\t'DPS_BOOKMARK#TOGGLE_STATUS': coeffects => {\n\t\tconst {\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\tproperties,\n\t\t\tupdateProperties,\n\t\t\tupdateState\n\t\t} = coeffects;\n\t\tconst {\n\t\t\tpayload: { identifier }\n\t\t} = action;\n\t\tconst { release, viewMode } = properties;\n\n\t\tdispatch(APP_ACTIONS.TOGGLE_COMPONENT_BOOKMARK, {\n\t\t\tdata: { bookmarkType: 'scr', identifier, release }\n\t\t});\n\n\t\tif (viewMode === DPS_COMPONENT_GALLERY_VIEW_MODE.SEARCH_RESULTS) {\n\t\t\tdispatchSearch({\n\t\t\t\tdispatch,\n\t\t\t\tproperties,\n\t\t\t\trelease,\n\t\t\t\tupdateProperties,\n\t\t\t\tupdateState\n\t\t\t});\n\t\t}\n\t},\n\t[DPS_CATEGORY_SECTION_ACTIONS.SEE_ALL_CLICKED]: coeffects => {\n\t\t// this regardless of guest, non-SN and SN user should trigger a search with all defaults pre-selected\n\t\tconst {\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\tproperties,\n\t\t\tupdateProperties,\n\t\t\tupdateState\n\t\t} = coeffects;\n\t\tconst { bookmarks, category } = action.payload;\n\t\tconst query = '';\n\t\tconst payload = {\n\t\t\t...((bookmarks && { bookmarks: true }) || {}),\n\t\t\t...((category && { categories: [category] }) || {})\n\t\t};\n\t\tconst searchPayload = {\n\t\t\t...(properties.hasServiceNowRole\n\t\t\t\t? CONSTANTS.DEFAULTS.DPS_COMPONENT_GALLERY_DEFAULT_SN_SEARCH_PAYLOAD\n\t\t\t\t: CONSTANTS.DEFAULTS.DPS_COMPONENT_GALLERY_DEFAULT_SEARCH_PAYLOAD),\n\t\t\t...(bookmarks\n\t\t\t\t? CONSTANTS.DEFAULTS.DPS_COMPONENT_GALLERY_EMPTY_SEARCH_PAYLOAD\n\t\t\t\t: {}),\n\t\t\t...(bookmarks ? { bookmarks } : payload)\n\t\t};\n\n\t\tconst querySearchParams = properties.hasServiceNowRole\n\t\t\t? generateQueryStringFromSearchParams(searchPayload)\n\t\t\t: generateQueryStringFromSearchParams(payload);\n\t\tconst newParams = new URLSearchParams(querySearchParams);\n\t\tconst searchHeading = createSearchHeading({\n\t\t\tbookmarks,\n\t\t\tcategories: (category && [category]) || [],\n\t\t\tquery\n\t\t});\n\t\tconst componentSearchParams = {\n\t\t\t...searchPayload,\n\t\t\tlimit: DPS_COMPONENT_GALLERY_SEARCH_LIMIT,\n\t\t\trelease: properties.release\n\t\t};\n\n\t\tupdateProperties({\n\t\t\tsearchHeading,\n\t\t\tsearchResults: [],\n\t\t\tquery\n\t\t});\n\n\t\tupdateState({\n\t\t\tfetchingSearchResults: true,\n\t\t\tloadingMoreEntries: false,\n\t\t\tsearchPayload\n\t\t});\n\n\t\tdispatch('ROUTER_BEHAVIOR#UPDATE_ROUTE_WITH_PARAMS', newParams);\n\t\tdispatch(APP_ACTIONS.GET_COMPONENT_SEARCH, componentSearchParams);\n\t},\n\t[DPS_COMPONENT_GALLERY_SEARCH_ACTIONS.SUBMITTED]: coeffects => {\n\t\tconst {\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\tproperties,\n\t\t\tupdateProperties,\n\t\t\tupdateState\n\t\t} = coeffects;\n\t\tconst { payload } = action;\n\t\tconst { categories, query } = payload;\n\t\tconst { hasServiceNowRole } = properties;\n\n\t\t// if we have advanced search enabled (aka user is a SN user), then the search payload\n\t\t// should do a merge with default filter parameters.\n\t\tconst searchPayload = {\n\t\t\t...CONSTANTS.DEFAULTS.DPS_COMPONENT_GALLERY_DEFAULT_SEARCH_PAYLOAD,\n\t\t\t...payload\n\t\t};\n\n\t\t// all search params should be exposed in the URL if advanced search is enabled, otherwise\n\t\t// just show query term\n\t\tconst querySearchParams = hasServiceNowRole\n\t\t\t? generateQueryStringFromSearchParams(searchPayload)\n\t\t\t: generateQueryStringFromSearchParams(payload);\n\t\tconst newParams = new URLSearchParams(querySearchParams);\n\t\tconst searchHeading = createSearchHeading({\n\t\t\tcategories,\n\t\t\tquery\n\t\t});\n\t\tconst componentSearchParams = {\n\t\t\t...searchPayload,\n\t\t\tlimit: DPS_COMPONENT_GALLERY_SEARCH_LIMIT,\n\t\t\trelease: properties.release\n\t\t};\n\n\t\tupdateProperties({\n\t\t\tadvancedSearchExpanded: false,\n\t\t\tsearchHeading,\n\t\t\tsearchResults: [],\n\t\t\tquery\n\t\t});\n\n\t\tupdateState({\n\t\t\tfetchingSearchResults: true,\n\t\t\tloadingMoreEntries: false,\n\t\t\tsearchPayload\n\t\t});\n\n\t\tdispatch('ROUTER_BEHAVIOR#UPDATE_ROUTE_WITH_PARAMS', newParams);\n\t\tdispatch(APP_ACTIONS.GET_COMPONENT_SEARCH, componentSearchParams);\n\t\tdispatch(INFINITE_SCROLL_ACTIONS.RESET_OBSERVER);\n\t},\n\t[DPS_INLINE_VERSION_SELECTOR_ACTIONS.RELEASE_SELECTED]: ({updateProperties}) => {\n\t\tupdateProperties({ releaseSwitched: true });\n\t},\n\t[INFINITE_SCROLL_ACTIONS.INTERSECTING_TARGET]: coeffects => {\n\t\tconst { dispatch, properties, state, updateState } = coeffects;\n\t\tconst { releaseSwitched, queryParams } = properties;\n\t\tconst { offset } = state.behaviors[INFINITE_SCROLL_BEHAVIOR];\n\t\tconst searchPayload = {\n\t\t\t...state.searchPayload,\n\t\t\t...generateSearchParamsFromQueryString(queryParams)\n\t\t};\n\n\t\t// Don't load any more entries. We've hit the end or\n\t\t// this was triggered by the release switcher\n\t\tif (offset === 0 || releaseSwitched) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Update state to indicate we'll be loading more items into the DOM\n\t\tupdateState({ loadingMoreEntries: true });\n\t\t// Trigger search for next payload\n\t\tdispatch(APP_ACTIONS.GET_COMPONENT_SEARCH, {\n\t\t\tlimit: DPS_COMPONENT_GALLERY_SEARCH_LIMIT,\n\t\t\toffset,\n\t\t\trelease: properties.release,\n\t\t\t...searchPayload\n\t\t});\n\t},\n\t[INFINITE_SCROLL_ACTIONS.LOAD_MORE_ENTRIES]: coeffects => {\n\t\tconst {\n\t\t\taction,\n\t\t\tstate,\n\t\t\tproperties: { queryParams }\n\t\t} = coeffects;\n\t\tconst { containerSelector, host } = state.behaviors[\n\t\t\tINFINITE_SCROLL_BEHAVIOR\n\t\t];\n\t\tconst { data } = action.payload;\n\t\tconst hostShadowRoot = host.shadowRoot;\n\t\tconst containerEl = hostShadowRoot.querySelector(containerSelector);\n\t\tconst docFragment = document.createDocumentFragment();\n\n\t\tdata.forEach(item => {\n\t\t\tconst liElement = document.createElement('dps-component-gallery-card');\n\t\t\tliElement.component = { ...item };\n\t\t\tliElement.query = queryParams.query;\n\t\t\tdocFragment.appendChild(liElement);\n\t\t});\n\n\t\tcontainerEl.appendChild(docFragment);\n\t},\n\t[SCROLL_SPY_ACTIONS.TARGET_ACTIVATED]: ({ updateProperties }) => {\n\t\tupdateProperties({\n\t\t\tisStuck: false\n\t\t});\n\t},\n\t[SCROLL_SPY_ACTIONS.NO_TARGETS]: ({ updateProperties }) => {\n\t\tupdateProperties({\n\t\t\tisStuck: true\n\t\t});\n\t}\n};\n","const FormCheckbox = props => {\n\tconst { checked, name, id, label, value } = props;\n\n\treturn (\n\t\t<div className=\"dps-checkbox -sm\">\n\t\t\t<input\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tname={name}\n\t\t\t\tvalue={value}\n\t\t\t\tid={id}\n\t\t\t\tchecked={checked}\n\t\t\t/>\n\t\t\t<label htmlFor={id}>{label}</label>\n\t\t</div>\n\t);\n};\n\nexport default FormCheckbox;","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-fieldset.scss';\n\nconst view = (state) => {\n\tconst {\n\t\tlegend\n\t} = state.properties;\n\n\treturn (\n\t\t<fieldset className=\"dps-fieldset\">\n\t\t\t<legend>{legend}</legend>\n\t\t\t<slot name=\"control\"></slot>\n\t\t</fieldset>\n\t);\n}\n\nexport default createCustomElement('dps-fieldset', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\tlegend: {\n\t\t\tdefault: ''\n\t\t}\n\t},\n\tstyles\n});\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { capitalizeWords, isTruthy } from '../../../utils/helpers';\nimport { DPS_COMPONENT_GALLERY_SEARCH } from '../../../constants';\nimport FormCheckbox from './FormCheckbox';\nimport '../../dps-accordion';\nimport '../../dps-fieldset';\n\nconst AdvancedSearchForNonSNUsers = props => {\n\tconst {\n\t\tadvancedSearchExpanded,\n\t\tavailableCategories,\n\t\tbookmarks,\n\t\tisLoggedIn,\n\t\tisStuck,\n\t\tnpm,\n\t\tselectedCategories,\n\t\tuib\n\t} = props;\n\n\tconst isNPMToggled = isTruthy(npm);\n\tconst isUIBToggled = isTruthy(uib);\n\tconst isBookmarksToggled = isTruthy(bookmarks);\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<dps-accordion\n\t\t\t\tclass={{\n\t\t\t\t\t'is-stuck': isStuck\n\t\t\t\t}}\n\t\t\t\texpanded={advancedSearchExpanded}\n\t\t\t\texpanded-label=\"Hide Advanced Search Options\"\n\t\t\t\tclosed-label=\"Show Advanced Search Options\"\n\t\t\t>\n\t\t\t\t<div slot=\"panel-content-2\">\n\t\t\t\t\t<dps-fieldset legend=\"Categories\">\n\t\t\t\t\t\t<div className=\"three-column\" slot=\"control\">\n\t\t\t\t\t\t\t{availableCategories.map(categories => (\n\t\t\t\t\t\t\t\t<div className=\"column-item\">\n\t\t\t\t\t\t\t\t\t{categories.map(category => {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<FormCheckbox\n\t\t\t\t\t\t\t\t\t\t\t\tchecked={selectedCategories.includes(category.value)}\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={category.label}\n\t\t\t\t\t\t\t\t\t\t\t\tname=\"categories[]\"\n\t\t\t\t\t\t\t\t\t\t\t\tid={category.value}\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={category.value}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</dps-fieldset>\n\t\t\t\t\t<dps-fieldset legend=\"Additional Options\">\n\t\t\t\t\t\t<div slot=\"control\">\n\t\t\t\t\t\t\t<FormCheckbox\n\t\t\t\t\t\t\t\tchecked={isUIBToggled}\n\t\t\t\t\t\t\t\tlabel=\"Available in UIB\"\n\t\t\t\t\t\t\t\tid=\"available_in_uib\"\n\t\t\t\t\t\t\t\tname=\"uib\"\n\t\t\t\t\t\t\t\tvalue=\"true\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<FormCheckbox\n\t\t\t\t\t\t\t\tchecked={isNPMToggled}\n\t\t\t\t\t\t\t\tlabel=\"Available in NPM\"\n\t\t\t\t\t\t\t\tid=\"available_in_npm\"\n\t\t\t\t\t\t\t\tname=\"npm\"\n\t\t\t\t\t\t\t\tvalue=\"true\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{isLoggedIn ? (\n\t\t\t\t\t\t\t\t<FormCheckbox\n\t\t\t\t\t\t\t\t\tchecked={isBookmarksToggled}\n\t\t\t\t\t\t\t\t\tlabel={DPS_COMPONENT_GALLERY_SEARCH.CONSTANTS.YOUR_BOOKMARKS}\n\t\t\t\t\t\t\t\t\tid=\"your_bookmarks\"\n\t\t\t\t\t\t\t\t\tname=\"bookmarks\"\n\t\t\t\t\t\t\t\t\tvalue=\"true\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</dps-fieldset>\n\t\t\t\t</div>\n\t\t\t</dps-accordion>\n\t\t</Fragment>\n\t);\n};\n\nexport default AdvancedSearchForNonSNUsers;\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { capitalizeWords, isTruthy } from '../../../utils/helpers';\nimport { DPS_COMPONENT_GALLERY_SEARCH } from '../../../constants';\nimport FormCheckbox from './FormCheckbox';\nimport '../../dps-accordion';\nimport '../../dps-fieldset';\n\nconst AdvancedSearchForSNUsers = props => {\n\tconst {\n\t\tadvancedSearchExpanded,\n\t\tavailableCategories,\n\t\tbookmarks,\n\t\tisStuck,\n\t\tnpm,\n\t\tselectedAvailability,\n\t\tselectedCategories,\n\t\tselectedComponentPurpose,\n\t\tselectedComponentType,\n\t\tselectedWrapper,\n\t\tinternalOnly\n\t} = props;\n\n\tconst isBookmarksToggled = isTruthy(bookmarks);\n\tconst isNPMToggled = isTruthy(npm);\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<dps-accordion\n\t\t\t\tclass={{\n\t\t\t\t\t'is-stuck': isStuck\n\t\t\t\t}}\n\t\t\t\texpanded={advancedSearchExpanded}\n\t\t\t\texpanded-label=\"Hide Advanced Search Options\"\n\t\t\t\tclosed-label=\"Show Advanced Search Options\"\n\t\t\t>\n\t\t\t\t<div slot=\"panel-content-5\">\n\t\t\t\t\t<dps-fieldset legend=\"Categories\">\n\t\t\t\t\t\t<div className=\"three-column\" slot=\"control\">\n\t\t\t\t\t\t\t{availableCategories.map(categories => (\n\t\t\t\t\t\t\t\t<div className=\"column-item\">\n\t\t\t\t\t\t\t\t\t{categories.map(category => {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<FormCheckbox\n\t\t\t\t\t\t\t\t\t\t\t\tchecked={selectedCategories.includes(category.value)}\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={category.label}\n\t\t\t\t\t\t\t\t\t\t\t\tname=\"categories[]\"\n\t\t\t\t\t\t\t\t\t\t\t\tid={category.value}\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={category.value}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</dps-fieldset>\n\t\t\t\t\t<div className=\"fieldset-column\">\n\t\t\t\t\t\t<dps-fieldset legend=\"Purpose\">\n\t\t\t\t\t\t\t<div slot=\"control\">\n\t\t\t\t\t\t\t\t{['Single-Use', 'Re-use'].map(compPurpose => {\n\t\t\t\t\t\t\t\t\tconst label = capitalizeWords(compPurpose.replace('_', ' '));\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<FormCheckbox\n\t\t\t\t\t\t\t\t\t\t\tchecked={selectedComponentPurpose.includes(label)}\n\t\t\t\t\t\t\t\t\t\t\tlabel={label}\n\t\t\t\t\t\t\t\t\t\t\tname=\"component_purpose[]\"\n\t\t\t\t\t\t\t\t\t\t\tid={compPurpose}\n\t\t\t\t\t\t\t\t\t\t\tvalue={label}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</dps-fieldset>\n\t\t\t\t\t\t<dps-fieldset legend=\"Type\">\n\t\t\t\t\t\t\t<div slot=\"control\">\n\t\t\t\t\t\t\t\t{['base', 'experience'].map(compType => {\n\t\t\t\t\t\t\t\t\tconst label = capitalizeWords(compType.replace('_', ' '));\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<FormCheckbox\n\t\t\t\t\t\t\t\t\t\t\tchecked={selectedComponentType.includes(label)}\n\t\t\t\t\t\t\t\t\t\t\tlabel={label}\n\t\t\t\t\t\t\t\t\t\t\tname=\"component_type[]\"\n\t\t\t\t\t\t\t\t\t\t\tid={compType}\n\t\t\t\t\t\t\t\t\t\t\tvalue={label}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</dps-fieldset>\n\t\t\t\t\t</div>\n\t\t\t\t\t<dps-fieldset legend=\"Availability\">\n\t\t\t\t\t\t<div slot=\"control\">\n\t\t\t\t\t\t\t{[\n\t\t\t\t\t\t\t\t'draft',\n\t\t\t\t\t\t\t\t'discovered',\n\t\t\t\t\t\t\t\t'in_progress',\n\t\t\t\t\t\t\t\t'available',\n\t\t\t\t\t\t\t\t'deprecated'\n\t\t\t\t\t\t\t].map(avail => {\n\t\t\t\t\t\t\t\tconst label = capitalizeWords(avail.replace('_', ' '));\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<FormCheckbox\n\t\t\t\t\t\t\t\t\t\tchecked={selectedAvailability.includes(label)}\n\t\t\t\t\t\t\t\t\t\tlabel={label}\n\t\t\t\t\t\t\t\t\t\tname=\"availability[]\"\n\t\t\t\t\t\t\t\t\t\tid={avail}\n\t\t\t\t\t\t\t\t\t\tvalue={label}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</dps-fieldset>\n\t\t\t\t\t<dps-fieldset legend=\"Additional Options\">\n\t\t\t\t\t\t<div slot=\"control\">\n\t\t\t\t\t\t\t<FormCheckbox\n\t\t\t\t\t\t\t\tchecked={internalOnly}\n\t\t\t\t\t\t\t\tlabel=\"Internal Components\"\n\t\t\t\t\t\t\t\tid=\"internal_only\"\n\t\t\t\t\t\t\t\tname=\"internalOnly\"\n\t\t\t\t\t\t\t\tvalue=\"true\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<FormCheckbox\n\t\t\t\t\t\t\t\tchecked={selectedWrapper}\n\t\t\t\t\t\t\t\tlabel=\"Exclude Wrappers\"\n\t\t\t\t\t\t\t\tid=\"wrapper\"\n\t\t\t\t\t\t\t\tname=\"wrapper\"\n\t\t\t\t\t\t\t\tvalue=\"exclude\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<FormCheckbox\n\t\t\t\t\t\t\t\tchecked={isNPMToggled}\n\t\t\t\t\t\t\t\tlabel=\"Available in Public NPM\"\n\t\t\t\t\t\t\t\tid=\"available_in_npm\"\n\t\t\t\t\t\t\t\tname=\"npm\"\n\t\t\t\t\t\t\t\tvalue=\"true\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<FormCheckbox\n\t\t\t\t\t\t\t\tchecked={isBookmarksToggled}\n\t\t\t\t\t\t\t\tlabel={DPS_COMPONENT_GALLERY_SEARCH.CONSTANTS.YOUR_BOOKMARKS}\n\t\t\t\t\t\t\t\tid=\"bookmarks\"\n\t\t\t\t\t\t\t\tname=\"bookmarks\"\n\t\t\t\t\t\t\t\tvalue=\"true\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</dps-fieldset>\n\t\t\t\t</div>\n\t\t\t</dps-accordion>\n\t\t</Fragment>\n\t);\n};\n\nexport default AdvancedSearchForSNUsers;\n","import { createRef } from '@servicenow/ui-renderer-snabbdom';\nimport { isEmployee, isTruthy } from '../../utils/helpers';\nimport { DPS_COMPONENT_GALLERY_SEARCH_ACTIONS } from './actions';\nimport { debounce } from 'lodash';\nimport { CONSTANTS } from '../../constants';\nimport AdvancedSearchForNonSNUsers from './views/AdvancedSearchForNonSNUsers';\nimport AdvancedSearchForSNUsers from './views/AdvancedSearchForSNUsers';\n\nexport const formRef = createRef();\nconst inputRef = createRef();\n\nconst dispatchValueChange = ({ dispatch, name, value }) => {\n\tdispatch(DPS_COMPONENT_GALLERY_SEARCH_ACTIONS.INPUT_ON_CHANGE, {\n\t\tvalue,\n\t\tname\n\t});\n};\n\nconst debouncedDispatchValueChange = debounce(\n\tdispatchValueChange,\n\tCONSTANTS.DEFAULTS.DELAY_DEBOUNCE_MS\n);\n\nconst getGroupedAvailableCategories = availableCategories => {\n\tconst numberOfGroups = 3;\n\tconst numberRemaining = availableCategories.length % numberOfGroups;\n\tconst numberOfItemsPerGroup = Math.floor(\n\t\tavailableCategories.length / numberOfGroups\n\t);\n\tconst chunk =\n\t\t(numberOfItemsPerGroup < numberOfGroups ? numberOfGroups : numberOfItemsPerGroup) +\n\t\t(numberOfItemsPerGroup <= numberOfGroups ? 0 : 1);\n\tconst groupedCategories = [];\n\n\tfor (let i = 0; i < availableCategories.length; i += chunk) {\n\t\tgroupedCategories.push(availableCategories.slice(i, i + chunk));\n\t}\n\n\treturn groupedCategories;\n};\n\nconst handleOnInput = ({ dispatch, event, name, useDebounce }) => {\n\tconst { value } = event.target;\n\tif (useDebounce) {\n\t\tdebouncedDispatchValueChange({ dispatch, name, value });\n\t} else {\n\t\tdispatchValueChange({ dispatch, name, value });\n\t}\n};\n\nconst view = (state, { dispatch, updateProperties }) => {\n\tconst {\n\t\tadvancedSearchExpanded,\n\t\taddedToUib,\n\t\tavailability,\n\t\tavailableCategories,\n\t\tbookmarks,\n\t\tcategories,\n\t\tcomponentPurpose,\n\t\tcomponentType,\n\t\tdefaultSearchFilters,\n\t\tdirty,\n\t\tisStuck,\n\t\tnpm,\n\t\tpristine,\n\t\tquery,\n\t\tuib,\n\t\tuseDebounce,\n\t\tuserInfo,\n\t\twrapper,\n\t\tinternalOnly\n\t} = state.properties;\n\n\tconst isLoggedIn = userInfo && userInfo.is_logged_in;\n\tconst isSNUser = isEmployee(userInfo);\n\n\t// If search state is pristine (aka in gallery view mode),\n\t// set default selected filter options like availability and category.\n\t// Otherwise, use selected filter options from the query parameters.\n\tconst selectedAvailability =\n\t\tpristine || !availability\n\t\t\t? defaultSearchFilters.availability\n\t\t\t: availability;\n\tconst selectedCategories =\n\t\tpristine || !categories ? defaultSearchFilters.categories : categories;\n\tconst selectedComponentType =\n\t\tpristine || !componentType\n\t\t\t? defaultSearchFilters.component_type\n\t\t\t: componentType;\n\tconst selectedComponentPurpose =\n\t\tpristine || !componentPurpose\n\t\t\t? defaultSearchFilters.component_purpose\n\t\t\t: componentPurpose;\n\t// Wrapper needs to be a boolean for checkbox state\n\tconst selectedWrapper = isTruthy(wrapper);\n\tconst internalOnlyBool = isTruthy(internalOnly);\n\tconst groupedCategories = getGroupedAvailableCategories(availableCategories);\n\n\treturn (\n\t\t<section\n\t\t\tclass={{\n\t\t\t\t'dps-component-gallery-search': true\n\t\t\t}}\n\t\t\taria-label=\"Now Experience Components\"\n\t\t>\n\t\t\t<form\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\tclassName=\"dps-component-gallery-search-form\"\n\t\t\t\trole=\"search\"\n\t\t\t\tref={formRef}\n\t\t\t\ton-submit={event => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tdispatch(DPS_COMPONENT_GALLERY_SEARCH_ACTIONS.FORM_ON_SUBMIT, {});\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"dps-component-gallery-searchbar\">\n\t\t\t\t\t<div className=\"dps-component-gallery-searchbar-input\">\n\t\t\t\t\t\t<now-icon icon=\"magnifying-glass-fill\" size=\"lg\" aria-hidden />\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tref={inputRef}\n\t\t\t\t\t\t\taria-label=\"Enter search text\"\n\t\t\t\t\t\t\tname=\"query\"\n\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\tvalue={query}\n\t\t\t\t\t\t\tplaceholder=\"Search for a component or category\"\n\t\t\t\t\t\t\ton-input={event =>\n\t\t\t\t\t\t\t\thandleOnInput({ dispatch, event, name: 'query', useDebounce })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t></input>\n\t\t\t\t\t\t{dirty ? (\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName=\"dps-input-clear-search\"\n\t\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\t\tinputRef.current.value = '';\n\t\t\t\t\t\t\t\t\tupdateProperties({ dirty: false });\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tinnerHTML=\"×\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</div>\n\t\t\t\t\t<dps-button button-type=\"submit\" label=\"Search\" />\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-component-gallery-search-accordion\">\n\t\t\t\t\t{isSNUser ? (\n\t\t\t\t\t\t<AdvancedSearchForSNUsers\n\t\t\t\t\t\t\tadvancedSearchExpanded={advancedSearchExpanded}\n\t\t\t\t\t\t\tavailableCategories={groupedCategories}\n\t\t\t\t\t\t\tbookmarks={bookmarks}\n\t\t\t\t\t\t\tisStuck={isStuck}\n\t\t\t\t\t\t\tnpm={npm}\n\t\t\t\t\t\t\tselectedAvailability={selectedAvailability}\n\t\t\t\t\t\t\tselectedCategories={selectedCategories}\n\t\t\t\t\t\t\tselectedComponentPurpose={selectedComponentPurpose}\n\t\t\t\t\t\t\tselectedComponentType={selectedComponentType}\n\t\t\t\t\t\t\tselectedWrapper={selectedWrapper}\n\t\t\t\t\t\t\tinternalOnly={internalOnlyBool}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<AdvancedSearchForNonSNUsers\n\t\t\t\t\t\t\tadvancedSearchExpanded={advancedSearchExpanded}\n\t\t\t\t\t\t\tavailableCategories={groupedCategories}\n\t\t\t\t\t\t\tbookmarks={bookmarks}\n\t\t\t\t\t\t\tisLoggedIn={isLoggedIn}\n\t\t\t\t\t\t\tisStuck={isStuck}\n\t\t\t\t\t\t\tnpm={npm}\n\t\t\t\t\t\t\tselectedCategories={selectedCategories}\n\t\t\t\t\t\t\tuib={uib}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</form>\n\t\t</section>\n\t);\n};\n\nexport default view;\n","import { isEmployee } from '../../utils/helpers';\nimport { DPS_COMPONENT_GALLERY_SEARCH_ACTIONS } from './actions';\nimport { formRef } from './view';\n\nconst getCheckedItems = (current, elementName) => {\n\tconst elements = Array.from(current.elements).filter(\n\t\telm => elm.name === elementName\n\t);\n\treturn elements.length > 0\n\t\t? elements.filter(elm => elm.checked).map(elm => elm.value)\n\t\t: [];\n};\n\nexport default {\n\t[DPS_COMPONENT_GALLERY_SEARCH_ACTIONS.INPUT_ON_CHANGE]: ({\n\t\tupdateProperties,\n\t\taction\n\t}) => {\n\t\tconst { value } = action.payload;\n\t\taction.stopPropagation();\n\t\tupdateProperties({ value, dirty: !!value });\n\t},\n\t[DPS_COMPONENT_GALLERY_SEARCH_ACTIONS.FORM_ON_SUBMIT]: coeffects => {\n\t\tconst { action, dispatch, properties } = coeffects;\n\t\tconst { current } = formRef;\n\n\t\taction.stopPropagation();\n\n\t\tconst isSNUser = isEmployee(properties.userInfo);\n\t\tconst query = current.elements.query.value;\n\t\tconst availability = getCheckedItems(current, 'availability[]');\n\t\tconst bookmarks =\n\t\t\tcurrent.elements.bookmarks && current.elements.bookmarks.checked;\n\t\tconst categories = getCheckedItems(current, 'categories[]');\n\t\tconst component_purpose = getCheckedItems(current, 'component_purpose[]');\n\t\tconst component_type = getCheckedItems(current, 'component_type[]');\n\t\tconst npm =\n\t\t\tcurrent.elements.available_in_npm &&\n\t\t\tcurrent.elements.available_in_npm.checked;\n\t\tconst uib =\n\t\t\tcurrent.elements.available_in_uib &&\n\t\t\tcurrent.elements.available_in_uib.checked;\n\t\tconst wrapper =\n\t\t\tcurrent.elements.wrapper && current.elements.wrapper.checked;\n\t\tconst internalOnly =\n\t\t\tcurrent.elements.internal_only && current.elements.internal_only.checked;\n\n\t\t// Add wrapper even if it's false\n\t\t// In dps-component-gallery/actionHandlers/index.js, we will delete the\n\t\t// value to override DPS_COMPONENT_GALLERY_DEFAULT_SEARCH_PAYLOAD\n\t\t// which always sets wrapper = exclude\n\t\tconst data = isSNUser\n\t\t\t? {\n\t\t\t\t\tavailability,\n\t\t\t\t\tbookmarks,\n\t\t\t\t\tcategories,\n\t\t\t\t\tcomponent_purpose,\n\t\t\t\t\tcomponent_type,\n\t\t\t\t\tnpm,\n\t\t\t\t\tquery,\n\t\t\t\t\twrapper,\n\t\t\t\t\tinternal_only: internalOnly\n\t\t\t  }\n\t\t\t: {\n\t\t\t\t\tcategories,\n\t\t\t\t\tquery,\n\t\t\t\t\tnpm,\n\t\t\t\t\tuib\n\t\t\t\t};\n\n\t\tif (bookmarks) {\n\t\t\tdata.bookmarks = bookmarks;\n\t\t}\n\n\t\tdispatch(DPS_COMPONENT_GALLERY_SEARCH_ACTIONS.SUBMITTED, {\n\t\t\t...data\n\t\t});\n\t},\n\t'DPS_BUTTON#CLICKED': coeffects => {\n\t\tconst { action, dispatch } = coeffects;\n\t\taction.stopPropagation();\n\t\tdispatch(DPS_COMPONENT_GALLERY_SEARCH_ACTIONS.FORM_ON_SUBMIT, {});\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-component-gallery-search.scss';\nimport view from './view';\nimport { DPS_COMPONENT_GALLERY_SEARCH_ACTIONS } from './actions';\nimport actionHandlers from './actionHandlers';\nimport { CONSTANTS } from '../../constants';\nimport '../dps-checkbox';\nimport '../dps-accordion';\nimport '../dps-fieldset';\n\nexport default createCustomElement('dps-component-gallery-search', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tactionHandlers,\n\tproperties: {\n\t\t/**\n\t\t * Manage advanced search accordion\n\t\t * @type {boolean}\n\t\t */\n\t\tadvancedSearchExpanded: {\n\t\t\tdefault: false\n\t\t},\n\t\tavailableCategories: {\n\t\t\tdefault: []\n\t\t},\n\t\t/**\n\t\t * An array of component availabilities\n\t\t * @type {[]}\n\t\t */\n\t\tavailability: {\n\t\t\tdefault: []\n\t\t},\n\t\t/**\n\t\t * Whether the added to UIB box should be checked\n\t\t * @type {boolean}\n\t\t */\n\t\tbookmarks: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * An array of component categories\n\t\t * @type {[]}\n\t\t */\n\t\tcategories: {\n\t\t\tdefault: []\n\t\t},\n\t\t/**\n\t\t * An array of component purposes\n\t\t * @type {[]}\n\t\t */\n\t\tcomponentPurpose: {\n\t\t\tdefault: []\n\t\t},\n\t\t/**\n\t\t * An array of component types\n\t\t * @type {[]}\n\t\t */\n\t\tcomponentType: {\n\t\t\tdefault: []\n\t\t},\n\t\tdefaultSearchFilters: {\n\t\t\tdefault: {}\n\t\t},\n\t\tnpm: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Search is in a pristine state\n\t\t * @type {boolean}\n\t\t */\n\t\tpristine: {\n\t\t\tdefault: true\n\t\t},\n\t\t/**\n\t\t * Search term\n\t\t * @type {string}\n\t\t */\n\t\tquery: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Determines if component is wrapper\n\t\t * 'exclude' is truthy, 'include' is falsey\n\t\t * @type {('exclude'|'include')}\n\t\t */\n\t\twrapper: {\n\t\t\tdefault: CONSTANTS.DEFAULTS.DPS_COMPONENT_GALLERY_DEFAULT_SEARCH_PAYLOAD.wrapper\n\t\t},\n\t\tinternalOnly: {\n\t\t\tdefault: CONSTANTS.DEFAULTS.DPS_COMPONENT_GALLERY_DEFAULT_SN_SEARCH_PAYLOAD.internalOnly\n\t\t},\n\t\tuib: {\n\t\t\tdefault: false,\n\t\t\trequired: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * User info\n\t\t * @type {{}}\n\t\t */\n\t\tuserInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\t/**\n\t\t * Determines if search is sticky\n\t\t * @type {boolean}\n\t\t */\n\t\tisStuck: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Whether to debounce the input field\n\t\t * @type {boolean}\n\t\t */\n\t\tuseDebounce: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Is the input populated (interaction only)\n\t\t * @type {boolean}\n\t\t */\n\t\tdirty: {\n\t\t\tdefault: false\n\t\t},\n\t},\n\tstyles\n});\n","import { CONSTANTS, DPS_COMPONENT_GALLERY_SEARCH } from '../../constants';\nimport { getRawQueryParams } from '../../behaviors/router/helpers';\nimport { DPS_COMPONENT_GALLERY_VIEW_MODE } from './dps-component-gallery';\nimport { createPath } from '../../utils/url';\nimport {\n\tinvertObject,\n\tisEmployee,\n\tuserInfoPopulated\n} from '../../utils/helpers';\nimport { getFormattedInstanceReleaseInfo, isReleaseGTE, sortReleasesChronologically } from '../../utils/releaseHelpers';\nimport '../../components/dps-breadcrumb';\nimport '../../components/dps-inline-version-selector';\nimport '../../components/dps-spinner';\nimport '../../components/dps-category-section';\nimport '../../components/dps-inline-version-selector';\nimport '../../components/dps-component-gallery-search';\nimport '../../components/dps-component-gallery-card';\n\nconst _renderGalleryCategories = ({\n\tcategories,\n\tgalleryData,\n\trelease,\n\tuserInfo\n}) => {\n\tconst INVERTED_CATEGORIES = invertObject(\n\t\tDPS_COMPONENT_GALLERY_SEARCH.CATEGORIES\n\t);\n\n\treturn categories.map(category => (\n\t\t<dps-category-section\n\t\t\theading={category}\n\t\t\tdescription={galleryData[category].description}\n\t\t\tcomponents={galleryData[category].items}\n\t\t\ttotal-components={galleryData[category].totalCount}\n\t\t\tuser-info={userInfo}\n\t\t\tcategory={INVERTED_CATEGORIES[category]}\n\t\t\trelease={release}\n\t\t/>\n\t));\n};\n\nconst _renderSearchResults = (searchResults, userInfo, query, release) => {\n\treturn searchResults.length === 0 ? null : (\n\t\t<ul className=\"dps-component-gallery-results-list\">\n\t\t\t{searchResults.map(component => (\n\t\t\t\t<li>\n\t\t\t\t\t<dps-component-gallery-card\n\t\t\t\t\t\tcomponent={component}\n\t\t\t\t\t\tuser-info={userInfo}\n\t\t\t\t\t\tquery={query}\n\t\t\t\t\t\trelease={release}\n\t\t\t\t\t\tkey={`${component.component_name}--${release}`}\n\t\t\t\t\t></dps-component-gallery-card>\n\t\t\t\t</li>\n\t\t\t))}\n\t\t</ul>\n\t);\n};\n\nconst checkQueryAndCategoriesAreEmpty = ({\n\tavailableCategories,\n\tqueryParams\n}) => {\n\tconst availableCategoryValues = availableCategories.map(\n\t\tcategory => category.value\n\t);\n\tconst filteredCategories =\n\t\t(queryParams['categories[]'] &&\n\t\t\tqueryParams['categories[]']\n\t\t\t\t.filter(category => category !== '')\n\t\t\t\t.filter(category => {\n\t\t\t\t\treturn availableCategoryValues.includes(category);\n\t\t\t\t})) ||\n\t\t[];\n\treturn !queryParams['query'] && filteredCategories.length === 0;\n};\n\nconst generateSearchResultsHeading = ({\n\tavailableCategories,\n\tqueryParams,\n\tsearchHeading,\n\ttotalNumberOfSearchResults\n}) => {\n\tif (searchHeading === DPS_COMPONENT_GALLERY_SEARCH.CONSTANTS.BOOKMARKED_COMPONENTS) {\n\t\treturn `${DPS_COMPONENT_GALLERY_SEARCH.CONSTANTS.BOOKMARKED_COMPONENTS} (${totalNumberOfSearchResults})`;\n\t}\n\n\treturn checkQueryAndCategoriesAreEmpty({ availableCategories, queryParams })\n\t\t? `All Results (${totalNumberOfSearchResults})`\n\t\t: `${totalNumberOfSearchResults} ${\n\t\t\t\ttotalNumberOfSearchResults === 1 ? 'Result' : 'Results'\n\t\t  } For ${searchHeading}`;\n};\n\nconst getOtherReleases = ({ releaseInfo, routeString, systemProperties }) => {\n\tconst { activeVersionsFormatted } = releaseInfo;\n\tconst internalReleases = (systemProperties && systemProperties['dev.internal_releases']) || '';\n\tconst rawQueryParams = getRawQueryParams();\n\tconst activeReleases = (systemProperties && systemProperties['dev.active_releases'])\n\t\t? systemProperties['dev.active_releases'].split(',')\n\t\t: [];\n\n\tconst filteredReleases = Object.keys(activeVersionsFormatted)\n\t\t.filter(key => isReleaseGTE(key, CONSTANTS.DEFAULTS.MINIMUM_NOW_EXPERIENCE_RELEASE, systemProperties));\n\treturn sortReleasesChronologically(filteredReleases, systemProperties)\n\t\t.reverse()\n\t\t.map(release => {\n\t\t\tconst url = `${routeString.replace(\n\t\t\t\t':release',\n\t\t\t\trelease\n\t\t\t)}${rawQueryParams || ''}`;\n\t\t\treturn {\n\t\t\t\tactive: true,\n\t\t\t\tid: release,\n\t\t\t\tinternal: internalReleases.indexOf(release) !== -1,\n\t\t\t\tlabel: activeVersionsFormatted[release],\n\t\t\t\turl\n\t\t\t};\n\t\t});\n};\n\nconst view = (state, dispatch) => {\n\tconst {\n\t\tadvancedSearchExpanded,\n\t\tavailableCategories,\n\t\tbookmarkedComponents,\n\t\tgalleryData,\n\t\thasMoreSearchResults,\n\t\tinstanceInfo,\n\t\thasServiceNowRole,\n\t\tisStuck,\n\t\tpathname,\n\t\tqueryParams,\n\t\trelease,\n\t\treleaseInfo,\n\t\trouteString,\n\t\tsearchHeading,\n\t\tsearchResults,\n\t\tsystemProperties,\n\t\ttotalNumberOfSearchResults,\n\t\tuserInfo,\n\t\tviewMode\n\t} = state.properties;\n\n\tconst isLoggedIn = userInfo && userInfo.is_logged_in;\n\tconst isSNUser = userInfoPopulated(userInfo) && isEmployee(userInfo);\n\tconst isQueryPopulated = queryParams.query && queryParams.query.length > 0;\n\tconst otherReleases = getOtherReleases({\n\t\treleaseInfo,\n\t\trouteString,\n\t\tsystemProperties\n\t});\n\n\tconst searchResultsHeading = generateSearchResultsHeading({\n\t\tavailableCategories,\n\t\tqueryParams,\n\t\tsearchHeading,\n\t\ttotalNumberOfSearchResults\n\t});\n\tconst combinedSearchPayload = { ...state.searchPayload, ...queryParams };\n\tconst instanceRelease = getFormattedInstanceReleaseInfo(instanceInfo);\n\tconst defaultSearchFilters = {\n\t\t...(isSNUser\n\t\t\t? CONSTANTS.DEFAULTS.DPS_COMPONENT_GALLERY_DEFAULT_SN_SEARCH_PAYLOAD\n\t\t\t: CONSTANTS.DEFAULTS.DPS_COMPONENT_GALLERY_DEFAULT_SEARCH_PAYLOAD),\n\t\t...(isSNUser\n\t\t\t? {\n\t\t\t\t\tcategories: [\n\t\t\t\t\t\t'uib_page',\n\t\t\t\t\t\t'uib_component',\n\t\t\t\t\t\t'uib_modal',\n\t\t\t\t\t\t'uib_app-shells',\n\t\t\t\t\t\t'uib_facades',\n\t\t\t\t\t\t'uib_macroponent-component',\n\t\t\t\t\t\t'Dev-Design System'\n\t\t\t\t\t]\n\t\t\t  }\n\t\t\t: {})\n\t};\n\n\tconst galleryDataKeys = Object.keys(galleryData).sort();\n\tconst uibCategories = galleryDataKeys.filter(k => k.indexOf('UIB') !== -1);\n\tconst remainingCategories = galleryDataKeys.filter(\n\t\tk => k.indexOf('UIB') === -1\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'dps-component-gallery': true,\n\t\t\t\t'is-stuck': isStuck\n\t\t\t}}\n\t\t>\n\t\t\t<dps-breadcrumb\n\t\t\t\titems={[\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Reference',\n\t\t\t\t\t\tredirectURL: createPath('/reference')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Next Experience Components',\n\t\t\t\t\t\tredirectURL: createPath(\n\t\t\t\t\t\t\t`reference/next-experience/${release}/components`\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\t...(viewMode === DPS_COMPONENT_GALLERY_VIEW_MODE.SEARCH_RESULTS\n\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tdisplayName: searchResultsHeading,\n\t\t\t\t\t\t\t\t\tredirectUrl: ''\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t  ]\n\t\t\t\t\t\t: [])\n\t\t\t\t]}\n\t\t\t/>\n\t\t\t<dps-inline-version-selector\n\t\t\t\treleases={otherReleases}\n\t\t\t\tselected={release}\n\t\t\t\tinstance-release={instanceRelease}\n\t\t\t\tid=\"sticky-target\"\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tsourcePathname={pathname}\n\t\t\t/>\n\t\t\t<div className=\"dps-component-gallery-heading\">\n\t\t\t\t<h1>\n\t\t\t\t\tNext Experience<sup>®</sup> Components\n\t\t\t\t</h1>\n\t\t\t\t<p id=\"description\">\n\t\t\t\t\tBuilding blocks for creating user interfaces on the Now Platform\n\t\t\t\t\t<sup>®</sup>\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t\t<dps-component-gallery-search\n\t\t\t\tadvancedSearchExpanded={advancedSearchExpanded}\n\t\t\t\tavailableCategories={availableCategories}\n\t\t\t\tclass={{\n\t\t\t\t\t'is-stuck': isStuck\n\t\t\t\t}}\n\t\t\t\tdefaultSearchFilters={defaultSearchFilters}\n\t\t\t\tdirty={\n\t\t\t\t\tviewMode !== DPS_COMPONENT_GALLERY_VIEW_MODE.GALLERY &&\n\t\t\t\t\tisQueryPopulated\n\t\t\t\t}\n\t\t\t\tis-stuck={isStuck}\n\t\t\t\tpristine={viewMode === DPS_COMPONENT_GALLERY_VIEW_MODE.GALLERY}\n\t\t\t\tuser-info={userInfo}\n\t\t\t\t{...combinedSearchPayload}\n\t\t\t/>\n\n\t\t\t{viewMode === DPS_COMPONENT_GALLERY_VIEW_MODE.GALLERY ? (\n\t\t\t\t<div className=\"dps-component-gallery-list\">\n\t\t\t\t\t{isLoggedIn &&\n\t\t\t\t\tbookmarkedComponents.items &&\n\t\t\t\t\tbookmarkedComponents.items.length > 0 ? (\n\t\t\t\t\t\t<dps-category-section\n\t\t\t\t\t\t\theading={\n\t\t\t\t\t\t\t\tDPS_COMPONENT_GALLERY_SEARCH.CONSTANTS.BOOKMARKED_COMPONENTS\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdescription=\"These are your most recently bookmarked components:\"\n\t\t\t\t\t\t\tcomponents={bookmarkedComponents.items}\n\t\t\t\t\t\t\ttotal-components={bookmarkedComponents.totalCount}\n\t\t\t\t\t\t\tuser-info={userInfo}\n\t\t\t\t\t\t\tcategory=\"Bookmarks\"\n\t\t\t\t\t\t\trelease={release}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{isLoggedIn &&\n\t\t\t\t\tbookmarkedComponents.items &&\n\t\t\t\t\tbookmarkedComponents.items.length === 0 ? (\n\t\t\t\t\t\t<dps-category-section\n\t\t\t\t\t\t\theading={\n\t\t\t\t\t\t\t\tDPS_COMPONENT_GALLERY_SEARCH.CONSTANTS.BOOKMARKED_COMPONENTS\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdescription=\"You haven't bookmarked anything yet. To bookmark a component, select the bookmark icon.\"\n\t\t\t\t\t\t\tcomponents={[]}\n\t\t\t\t\t\t\ttotal-components={0}\n\t\t\t\t\t\t\tuser-info={userInfo}\n\t\t\t\t\t\t\tcategory=\"Bookmarks\"\n\t\t\t\t\t\t\trelease={release}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{_renderGalleryCategories({\n\t\t\t\t\t\tcategories: uibCategories,\n\t\t\t\t\t\tgalleryData,\n\t\t\t\t\t\trelease,\n\t\t\t\t\t\tuserInfo\n\t\t\t\t\t})}\n\t\t\t\t\t{_renderGalleryCategories({\n\t\t\t\t\t\tcategories: remainingCategories,\n\t\t\t\t\t\tgalleryData,\n\t\t\t\t\t\trelease,\n\t\t\t\t\t\tuserInfo\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t\t{viewMode === DPS_COMPONENT_GALLERY_VIEW_MODE.SEARCH_RESULTS ? (\n\t\t\t\tstate.fetchingSearchResults ? (\n\t\t\t\t\t<dps-spinner></dps-spinner>\n\t\t\t\t) : (\n\t\t\t\t\t<div className=\"dps-component-gallery-search-results\">\n\t\t\t\t\t\t<h2>{searchResultsHeading}</h2>\n\t\t\t\t\t\t{_renderSearchResults(\n\t\t\t\t\t\t\tsearchResults,\n\t\t\t\t\t\t\tuserInfo,\n\t\t\t\t\t\t\tqueryParams.query,\n\t\t\t\t\t\t\trelease\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{searchResults.length > 0 && hasMoreSearchResults ? (\n\t\t\t\t\t\t\t<div className=\"dps-component-gallery-results-footer\">&nbsp;</div>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</div>\n\t\t\t\t)\n\t\t\t) : null}\n\t\t</div>\n\t);\n};\n\nexport default view;","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport actionHandlers from './actionHandlers/index';\nimport styles from './dps-component-gallery.scss';\nimport infiniteScrollBehavior from '../../behaviors/infiniteScroll';\nimport scrollSpyBehavior from '../../behaviors/scrollSpy';\nimport { isEmployee, userInfoPopulated } from '../../utils/helpers';\nimport view from './view';\nimport { CONSTANTS } from '../../constants';\n\nexport const DPS_COMPONENT_GALLERY_VIEW_MODE = {\n\tGALLERY: 'DPS_COMPONENT_GALLERY_VIEW_MODE.GALLERY',\n\tSEARCH_RESULTS: 'DPS_COMPONENT_GALLERY_VIEW_MODE.SEARCH_RESULTS'\n};\n\nexport const DPS_COMPONENT_GALLERY_SEARCH_LIMIT = 50;\n\nexport default createCustomElement('dps-component-gallery', {\n\tactionHandlers,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: scrollSpyBehavior,\n\t\t\toptions: {\n\t\t\t\trootMargin: '-100px 0px 0px 0px',\n\t\t\t\ttargetSelector: '#description',\n\t\t\t\tthreshold: 0\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tbehavior: infiniteScrollBehavior,\n\t\t\toptions: {\n\t\t\t\tcontainerSelector: '.dps-component-gallery-results-list',\n\t\t\t\tlimit: DPS_COMPONENT_GALLERY_SEARCH_LIMIT,\n\t\t\t\trootMargin: '0px',\n\t\t\t\ttargetSelector: '.dps-component-gallery-results-footer',\n\t\t\t\tthreshold: 0.1\n\t\t\t}\n\t\t}\n\t],\n\tinitialState: {\n\t\tloadingMoreEntries: false,\n\t\tfailedFetchingAvailableCategories: false,\n\t\tfailedFetchingBookmarkedComponents: false,\n\t\tfailedFetchingComponentGallery: false,\n\t\tfailedFetchingSearchResults: false,\n\t\tfetchingAvailableCategories: false,\n\t\tfetchingBookmarkedComponents: false,\n\t\tfetchingComponentGallery: false,\n\t\tfetchingSearchResults: false,\n\t\tsearchPayload: { ...CONSTANTS.DEFAULTS.DPS_COMPONENT_GALLERY_DEFAULT_SEARCH_PAYLOAD }\n\t},\n\tproperties: {\n\t\thasServiceNowRole: {\n\t\t\tcomputed({ properties }) {\n\t\t\t\treturn (\n\t\t\t\t\tuserInfoPopulated(properties.userInfo) &&\n\t\t\t\t\tisEmployee(properties.userInfo)\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Manage advanced search accordion\n\t\t * @type {boolean}\n\t\t */\n\t\tadvancedSearchExpanded: {\n\t\t\tdefault: false\n\t\t},\n\t\tavailableCategories: {\n\t\t\tdefault: []\n\t\t},\n\t\t/**\n\t\t * Bookmarked components\n\t\t * @type {{}}\n\t\t */\n\t\tbookmarkedComponents: {\n\t\t\tdefault: {}\n\t\t},\n\t\t/**\n\t\t * JSON object of categories and components that populates viewMode: gallery\n\t\t * @type {{}}\n\t\t */\n\t\tgalleryData: {\n\t\t\tdefault: {}\n\t\t},\n\t\thasMoreSearchResults: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Query parameters\n\t\t * @type {{}}\n\t\t */\n\t\tqueryParams: {\n\t\t\tdefault: {}\n\t\t},\n\t\t/**\n\t\t * Release\n\t\t * @type {string}\n\t\t */\n\t\trelease: {\n\t\t\tdefault: '',\n\t\t\trequired: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\treleaseInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\trouteString: {\n\t\t\tdefault: ''\n\t\t},\n\t\treleaseSwitched: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tpathname: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Heading for search results page\n\t\t * @type {string}\n\t\t */\n\t\tsearchHeading: {\n\t\t\tdefault: []\n\t\t},\n\t\t/**\n\t\t * Flat array of component objects that populates viewMode: search\n\t\t * @type {[]}\n\t\t */\n\t\tsearchResults: {\n\t\t\tdefault: []\n\t\t},\n\t\t/**\n\t\t * Determines if search has position: sticky\n\t\t * @type {boolean}\n\t\t */\n\t\tisStuck: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * System Properties\n\t\t * @type {{}}\n\t\t */\n\t\tsystemProperties: {\n\t\t\tdefault: {}\n\t\t},\n\t\ttotalNumberOfSearchResults: {\n\t\t\tdefault: 0\n\t\t},\n\t\t/**\n\t\t * User info\n\t\t * @type {{}}\n\t\t */\n\t\tuserInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\t/**\n\t\t * Determines view mode\n\t\t * @type {('gallery'|'search')}\n\t\t */\n\t\tviewMode: {\n\t\t\tcomputed({ properties }) {\n\t\t\t\tconst { queryParams } = properties;\n\t\t\t\treturn Object.keys(queryParams).length\n\t\t\t\t\t? DPS_COMPONENT_GALLERY_VIEW_MODE.SEARCH_RESULTS\n\t\t\t\t\t: DPS_COMPONENT_GALLERY_VIEW_MODE.GALLERY;\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Instance info\n\t\t * @type {{}}\n\t\t */\n\t\tinstanceInfo: {\n\t\t\tdefault: {}\n\t\t}\n\t},\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tstyles,\n\tview\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/connected-components/dps-component-gallery';\n\nexport default createCustomElement('dps-component-gallery-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-component-gallery></dps-component-gallery>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-component-gallery-card';\n\nexport default createCustomElement('dps-component-gallery-card-example', {\n\trenderer: { type: snabbdom },\n\tstyles: `\n\t\t:host {\n\t\t\tdisplay: flex;\n\t\t\twidth: 1000px;\n\t\t\tpadding: 10px 0 0 10px;\n\t\t}\n\t\tdps-component-gallery-card {\n\t\t\tmargin: 20px;\n\t\t}\n\t`,\n\tview: () => (\n\t\t<Fragment>\n\t\t\t<dps-component-gallery-card\n\t\t\t\ttitle=\"Button\"\n\t\t\t\tlinks={[\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'API',\n\t\t\t\t\t\thref: 'http://www.example.com/api'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Usage',\n\t\t\t\t\t\thref: 'http://www.example.com/usage'\n\t\t\t\t\t}\n\t\t\t\t]}\n\t\t\t\tsummary=\"Simple Button. Can contain a text label, an icon, or both.\"\n\t\t\t>\n\t\t\t</dps-component-gallery-card>\n\t\t\t<dps-component-gallery-card\n\t\t\t\ttitle=\"Button\"\n\t\t\t\timage-src='https://via.placeholder.com/100x25.png'\n\t\t\t\tinternal-only\n\t\t\t\tlinks={[\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'API',\n\t\t\t\t\t\thref: 'http://www.example.com/api'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Usage',\n\t\t\t\t\t\thref: 'http://www.example.com/usage'\n\t\t\t\t\t}\n\t\t\t\t]}\n\t\t\t\tsummary=\"Simple Button. Can contain a text label, an icon, or both.<br />With InternalOnly badge\"\n\t\t\t>\n\t\t\t</dps-component-gallery-card>\n\t\t\t<dps-component-gallery-card\n\t\t\t\ttitle=\"Button\"\n\t\t\t\tlinks={[\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Overview',\n\t\t\t\t\t\thref: 'http://www.example.com/overview'\n\t\t\t\t\t}\n\t\t\t\t]}\n\t\t\t\tsummary=\"Simple Button. Can contain a text label, an icon, or both.<br />Component group\"\n\t\t\t>\n\t\t\t</dps-component-gallery-card>\n\t\t</Fragment>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-component-gallery-search';\n\nexport default createCustomElement('dps-component-gallery-search-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-component-gallery-search></dps-component-gallery-search>\n\t)\n});\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-background-arch.scss';\nimport renderSVG from '../../utils/render-svg';\n\n/**\n * This will create a SVG element for the bottom arch\n * of the header backgrounds. This also allows the arch\n * to be themed with the templates highlight colors.\n */\nconst view = () => renderSVG ({\n\tclassName: 'background-arch',\n\twidth: 1083,\n\theight: 31,\n\tinnerSVG: '<path d=\"M0,-2.13162821e-14 L1083,-2.13162821e-14 L1083,8.721422 C1071,9.387448 1011.66667,11.485431 905,15.01537 C745,20.709894 585,30.700288 425,31 C265,30.700288 160,20.709894 80,15.01537 L0,9.720461 L0,-2.13162821e-14 Z\" />'\n});\n\nexport default createCustomElement('dps-background-arch', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t},\n\tview,\n\tstyles\n});\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-component-group-template.scss';\nimport '../dps-background-arch';\n\nconst view = state => (\n\t<section className=\"dps-component-group-template\">\n\t\t<header>\n\t\t\t<div>\n\t\t\t\t<h1>{state.properties.title}</h1>\n\t\t\t\t<p>{state.properties.description}</p>\n\t\t\t</div>\n\t\t</header>\n\t\t<dps-background-arch />\n\t\t<section className=\"dps-component-group-template--content\">\n\t\t\t<div>\n\t\t\t\t<slot />\n\t\t\t</div>\n\t\t</section>\n\t</section>\n);\n\nexport default createCustomElement('dps-component-group-template', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t},\n\tview,\n\tproperties: {\n\t\t/**\n\t\t * Title of the page\n\t\t * @type {string}\n\t\t */\n\t\ttitle: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Header area description\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {\n\t\t\tdefault: ''\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-component-group-template';\nimport '../../src/components/dps-card';\nimport '../../src/components/dps-card-container';\n\nexport default createCustomElement('dps-component-group-template-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-component-group-template\n\t\t\ttitle=\"Buttons\"\n\t\t\tdescription=\"A nice cute little summary that describes component groupings such as this one.\"\n\t\t>\n\t\t\t<dps-card-container columns=\"2\">\n\t\t\t\t<dps-card title=\"Mollit sint id tempor exercitation\">\n\t\t\t\t\t<p>\n\t\t\t\t\t\tNulla ipsum quis aliqua proident ex eiusmod voluptate non eu non.\n\t\t\t\t\t</p>\n\t\t\t\t\t<dps-button>See More</dps-button>\n\t\t\t\t</dps-card>\n\t\t\t\t<dps-card title=\"Ut non sunt consequat\">\n\t\t\t\t\t<p>\n\t\t\t\t\t\tPariatur duis tempor cupidatat ullamco id. Fugiat elit laborum eu.\n\t\t\t\t\t</p>\n\t\t\t\t\t<dps-button>See More</dps-button>\n\t\t\t\t</dps-card>\n\t\t\t\t<dps-card title=\"Mollit sint id tempor exercitation\">\n\t\t\t\t\t<p>\n\t\t\t\t\t\tNulla ipsum quis aliqua proident ex eiusmod voluptate non eu non.\n\t\t\t\t\t</p>\n\t\t\t\t\t<dps-button>See More</dps-button>\n\t\t\t\t</dps-card>\n\t\t\t\t<dps-card title=\"Ut non sunt consequat\">\n\t\t\t\t\t<p>\n\t\t\t\t\t\tPariatur duis tempor cupidatat ullamco id. Fugiat elit laborum eu.\n\t\t\t\t\t</p>\n\t\t\t\t\t<dps-button>See More</dps-button>\n\t\t\t\t</dps-card>\n\t\t\t\t<dps-card title=\"Mollit sint id tempor exercitation\">\n\t\t\t\t\t<p>\n\t\t\t\t\t\tNulla ipsum quis aliqua proident ex eiusmod voluptate non eu non.\n\t\t\t\t\t</p>\n\t\t\t\t\t<dps-button>See More</dps-button>\n\t\t\t\t</dps-card>\n\t\t\t</dps-card-container>\n\t\t</dps-component-group-template>\n\t)\n});\n","// import 'ua-parser-js'; \nimport { UAParser } from 'ua-parser-js';\n\nexport const getClientInfo = () => {\n\tconst { device, os, browser } = new UAParser().getResult();\n\tconst orientation = screen.msOrientation || screen.mozOrientation || (screen.orientation || {}).type;\n\n\treturn `Device Type: ${device.type || 'desktop'} | Device Model: ${device.model || ''} | Device Orientation: ${orientation} | OS Name: ${os.name} | OS Version: ${os.version} | Browser Name: ${browser.name} | Browser Version: ${browser.version}`; \n};","import { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { getClientInfo } from '../../utils/clientInfo';\n\nexport const DPS_CONTENT_FEEDBACK_ACTIONS = {\n\tDPS_CONTENT_FEEDBACK_FORM_TEXTAREA_CHANGE: 'DPS_CONTENT_FEEDBACK_FORM#TEXTAREA_CHANGE',\n\tDPS_CONTENT_FEEDBACK_FORM_FORM_SUBMIT: 'DPS_CONTENT_FEEDBACK_FORM#FORM_SUBMIT',\n\tDPS_CONTENT_FEEDBACK_FORM_INPUT_CHANGE: 'DPS_CONTENT_FEEDBACK_FORM#INPUT_CHANGE',\n\tDPS_CONTENT_FEEDBACK_FORM_POST_HTTP: 'DPS_CONTENT_FEEDBACK_FORM#POST_HTTP',\n\tDPS_CONTENT_FEEDBACK_FORM_FORM_SUCCESS: 'DPS_CONTENT_FEEDBACK_FORM#FORM_SUCCESS',\n\tDPS_CONTENT_FEEDBACK_FORM_FORM_PROCESS: 'DPS_CONTENT_FEEDBACK_FORM#FORM_PROCESS',\n\tDPS_CONTENT_FEEDBACK_FORM_FORM_ERROR: 'DPS_CONTENT_FEEDBACK_FORM#FORM_ERROR',\n\tDPS_CONTENT_FEEDBACK_FORM_FORM_RESET: 'DPS_CONTENT_FEEDBACK_FORM#FORM_RESET',\n\tDPS_MODAL_OPENED_SET: 'DPS_MODAL#OPENED_SET'\n};\n\nexport const handleTextAreaChange = ({updateProperties, action, properties}) => {\n\tconst {value} = action.payload.target;\n\n\t// update charsLeft and capture the textarea value\n\tupdateProperties({\n\t\tcharsLeft: properties.maxLength - value.length,\n\t\tfeedbackText: value\n\t});\n};\n\n/**\n * Validates form\n * @type {{action: Object}}\n */\nconst validateForm = required => {\n\tlet isValid = true;\n\n\tObject.values(required).forEach(question => {\n\t\tconst isEmpty = !question || question.length === 0;\n\t\tif (isEmpty) {\n\t\t\tisValid = false;\n\t\t}\n\n\t});\n\treturn isValid;\n};\n\nexport const handleFormSubmission = ({action, properties, updateProperties, dispatch}) => {\n\tconst {event} = action.payload;\n\tconst {response, feedbackText, messages, userInfo: {email, sys_id, user_id}} = properties;\n\tconst {question_1} = response;\n\tconst required = {question_1, feedbackText};\n\tevent.preventDefault();\n\n\tlet submittedFrom = 'Api feedback';\n\tlet tableName = 'dev_api_item';\n\tif (location.hash.includes('learning-plans')) {\n\t\tsubmittedFrom = 'Learning Plan';\n\t\ttableName = 'kb_knowledge';\n\t} else if (location.hash.includes('courses')) {\n\t\tsubmittedFrom = 'Article';\n\t\ttableName = 'kb_knowledge'\n\t} else if (location.hash.includes('guides')) {\n\t\tsubmittedFrom = 'Guide';\n\t\ttableName = 'kb_knowledge'\n\t}\n\n\t// Note: Router code may change to return a nicer set of location objects\n\t// Note: empty data fields need to be populated once user information is available\n\tif (validateForm(required)){\n\t\tdispatch(DPS_CONTENT_FEEDBACK_ACTIONS.DPS_CONTENT_FEEDBACK_FORM_POST_HTTP, {\n\t\t\tdata: {\n\t\t\t\taction: 'create',\n\t\t\t\tcategory: 'General',\n\t\t\t\tclient_info: getClientInfo(),\n\t\t\t\tcontent_id: location.hash,\n\t\t\t\tfeedback_text: feedbackText,\n\t\t\t\tlogged_in_user_id: user_id || '',\n\t\t\t\tpage_location: location.hash.substring(2),\n\t\t\t\tsubmitted_from: submittedFrom,\n\t\t\t\tsys_id: sys_id && sys_id !== 'undefined' ? sys_id : '',\n\t\t\t\ttable_name: tableName,\n\t\t\t\tuser_email: email || '',\n\t\t\t\twth: {\n\t\t\t\t\t...response\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\tconst errors = {...properties.errors};\n\t\tconst required = {...response, feedbackText};\n\n\t\tObject.keys(required).forEach(question => {\n\t\t\tif (required[question]) {\n\t\t\t\terrors[question] = '';\n\t\t\t} else {\n\t\t\t\terrors[question] = messages.info_message.required;\n\t\t\t}\n\t\t});\n\n\t\tupdateProperties({errors});\n\t}\n};\n\nexport const handleContentFeedbackFormRequested = createHttpEffect('/feedback.do?action=create_feedback&category=Article', {\n\tmethod: 'POST',\n\tdataParam: 'data',\n\tbatch: false,\n\tsuccessActionType: DPS_CONTENT_FEEDBACK_ACTIONS.DPS_CONTENT_FEEDBACK_FORM_FORM_SUCCESS,\n\tprocessActionType: DPS_CONTENT_FEEDBACK_ACTIONS.DPS_CONTENT_FEEDBACK_FORM_FORM_PROCESS,\n\terrorActionType: DPS_CONTENT_FEEDBACK_ACTIONS.DPS_CONTENT_FEEDBACK_FORM_FORM_ERROR\n});\n\n\nexport const handleContentFeedbackFormSucceeded = ({updateProperties}) => (\n\tupdateProperties({isFormSubmitted: true})\n);\n\n\nexport const handleContentFeedbackFormProcessed = ({updateProperties}) => (\n\tupdateProperties({submitDisabled: true})\n);\n\nexport const handleContentFeedbackFormError =  ({updateProperties}) => (\n\tupdateProperties({submitDisabled: false})\n);\n\nexport const handleInputChange = ({action, properties, updateProperties}) => {\n\tconst {name, value} = action.payload.target;\n\tconst {response} = properties;\n\n\t// captures input/textarea values\n\tupdateProperties({\n\t\tresponse: {\n\t\t\t...response,\n\t\t\t[name]: value\n\t\t}\n\t});\n};\n\nexport const handleFormReset = ({updateProperties, state, properties: { maxLength }}) => {\n\tstate.formRef.current.reset();\n\n\t// resets form submission after modal is closed\n\tupdateProperties({\n\t\tsubmitDisabled: false,\n\t\tisFormSubmitted: false,\n\t\tcharsLeft: maxLength,\n\t\tresponse: {\n\t\t\tquestion_1: ''\n\t\t},\n\t\terrors: {\n\t\t\tquestion_1: '',\n\t\t\tfeedbackText: ''\n\t\t},\n\t\tfeedbackText: ''\n\t});\n};\n\nexport const handleModalOpened = ({dispatch}) => {\n\tdispatch(DPS_CONTENT_FEEDBACK_ACTIONS.DPS_CONTENT_FEEDBACK_FORM_FORM_RESET);\n};\n\nexport const DPS_CONTENT_FEEDBACK_ACTION_HANDLERS = {\n\t[DPS_CONTENT_FEEDBACK_ACTIONS.DPS_CONTENT_FEEDBACK_FORM_TEXTAREA_CHANGE]: handleTextAreaChange,\n\t[DPS_CONTENT_FEEDBACK_ACTIONS.DPS_CONTENT_FEEDBACK_FORM_FORM_SUBMIT]: handleFormSubmission,\n\t[DPS_CONTENT_FEEDBACK_ACTIONS.DPS_CONTENT_FEEDBACK_FORM_POST_HTTP]: handleContentFeedbackFormRequested,\n\t[DPS_CONTENT_FEEDBACK_ACTIONS.DPS_CONTENT_FEEDBACK_FORM_FORM_SUCCESS]: handleContentFeedbackFormSucceeded,\n\t[DPS_CONTENT_FEEDBACK_ACTIONS.DPS_CONTENT_FEEDBACK_FORM_FORM_PROCESS]: handleContentFeedbackFormProcessed,\n\t[DPS_CONTENT_FEEDBACK_ACTIONS.DPS_CONTENT_FEEDBACK_FORM_FORM_ERROR]: handleContentFeedbackFormError,\n\t[DPS_CONTENT_FEEDBACK_ACTIONS.DPS_CONTENT_FEEDBACK_FORM_INPUT_CHANGE]: handleInputChange,\n\t[DPS_CONTENT_FEEDBACK_ACTIONS.DPS_CONTENT_FEEDBACK_FORM_FORM_RESET]: handleFormReset,\n\t[DPS_CONTENT_FEEDBACK_ACTIONS.DPS_MODAL_OPENED_SET]: handleModalOpened\n};\n","import {actionTypes} from '@servicenow/ui-core';\n\nconst {COMPONENT_CONNECTED, COMPONENT_DISCONNECTED} = actionTypes;\nconst BEHAVIOR_NAME = 'keyBindings';\n\nconst elementListeners = new Map();\n\n/**\n * This behavior adds keyboard accessibility functionality for Seismic\n * components. You can specify which key events trigger which handlers, and what\n * to do inside of each handler when it detects those key events.\n *\n * After installation import the behavior at the top of your component JS file\n * and register it in your component behaviors list:\n *\n * ```js\n * import keyBindingBehavior from '@servicenow/behavior-key-binding';\n *\n * createCustomElement('sn-example', {\n *   // ...\n *   behaviors: [\n *     {\n *       behavior: keyBindingBehavior,\n *       options: {\n *         keyBindings: {\n *           // accepts a single key value (string) or array of key values (string[])\n *           onEnterKeyPress: 'Enter',\n *           onArrowKeyPress: ['ArrowUp','ArrowDown','ArrowLeft','ArrowRight']\n *         },\n * \t\t   handlers: {\n *           onArrowKeyPress: function(host, event, dispatch, updateState) {\n *             // 'host' is the component that registered this behavior\n *             // 'event' is the native keyboardEvent that was fired\n *             // 'dispatch' can be used for setting properties or firing other actions\n *             // 'updateState' can be used for updating Seismic internal state\n *           },\n *           onEnterKeyPress: function(host, event, dispatch, updateState) {\n *             // since `event` is the native keyboardEvent, you can use any properties or\n * \t\t\t   // methods from the API you wish, e.g. `event.shiftKey` or `event.preventDefault()`\n *           }\n *         }\n *       }\n *     }\n *   ]\n * });\n * ```\n *\n * Please refer to the full list of valid `key` values\n * [on the MDN KeyboardEvents page](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values).\n * Note: the behavior currently fires the handler function on `keydown`\n * **only** - a future enhancement may enable you to specify `keypress` or\n * `keyup` instead. The behavior configuration options only supports detection\n * of single key events, but your handlers can be configured to detect the\n * presence of modifier keys or key combinations.\n *\n * @seismicBehavior keyBindingBehavior\n * @summary Adds keyboard accessibility functionality for Seismic components\n */\nexport default {\n\tname: BEHAVIOR_NAME,\n\tactionHandlers: {\n\t\t[COMPONENT_CONNECTED]: ({dispatch, updateState, action: {payload}}) => {\n\t\t\tconst {host, options} = payload;\n\t\t\tconst {keyBindings, handlers} = options;\n\n\t\t\tconst keydownListener = (event) => {\n\t\t\t\tObject.keys(keyBindings).forEach((fn) => {\n\t\t\t\t\t// Supports a simple string (for single key) or array of strings (for multiple keys)\n\t\t\t\t\t// e.g. { 'onTab' : 'Tab' }\n\t\t\t\t\t// e.g. { 'move' : ['ArrowLeft', 'ArrowRight'] }\n\t\t\t\t\tif (\n\t\t\t\t\t\t(Array.isArray(keyBindings[fn]) &&\n\t\t\t\t\t\t\tkeyBindings[fn].includes(event.key)) ||\n\t\t\t\t\t\t(typeof keyBindings[fn] === 'string' &&\n\t\t\t\t\t\t\tkeyBindings[fn] === event.key)\n\t\t\t\t\t) {\n\t\t\t\t\t\thandlers[fn].call(host, host, event, dispatch, updateState);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t};\n\n\t\t\telementListeners.set(host, keydownListener);\n\t\t\thost.addEventListener('keydown', keydownListener);\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: ({action: {payload}}) => {\n\t\t\tconst {host} = payload;\n\t\t\tconst keydownListener = elementListeners.get(host);\n\t\t\tif (keydownListener) {\n\t\t\t\telementListeners.delete(host);\n\t\t\t\thost.removeEventListener('keydown', keydownListener);\n\t\t\t}\n\t\t},\n\t},\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-shade.scss';\n\nconst DPSShade = (state, dispatch) => {\n\tconst {\n\t\tshow,\n\t\tnoLayer\n\t} = state.properties;\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t['dps-shade']: true,\n\t\t\t\t['-is-hidden']: !show,\n\t\t\t\t['-no-layer']: noLayer\n\t\t\t}}\n\t\t\ton-click={() => {\n\t\t\t\tdispatch('DPS_SHADE#CLICKED');\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nexport default createCustomElement('dps-shade', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DPSShade\n\t},\n\tproperties: {\n\t\tshow: {\n\t\t\tdefault: false\n\t\t},\n\t\tnoLayer: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tstyles\n});\n","/* eslint-disable no-irregular-whitespace */\nimport { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport snabbdom, { createRef } from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-modal.scss';\nimport keyBindingBehavior from '@servicenow/behavior-key-binding';\nimport {\n\tfindTabbableNodes,\n\tgetActiveElement\n} from '@servicenow/library-enhanced-utils';\nconst {\n\tCOMPONENT_DOM_READY,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DISCONNECTED\n} = actionTypes;\nimport '../dps-button';\nimport '../dps-shade';\n\nconst findFocusableEls = host => {\n\tconst tabbableNodes = findTabbableNodes(host);\n\tconst firstFocusableElement = tabbableNodes[0];\n\tconst lastFocusableElement = tabbableNodes[tabbableNodes.length - 2];\n\tconst decoyElement = tabbableNodes[tabbableNodes.length - 1]; // We never want to actually focus on this element, it is just here to ensure our focus trap isn't broken by navigating to the last focusable element on the page.\n\n\treturn {\n\t\ttabbableNodes,\n\t\tfirstFocusableElement,\n\t\tlastFocusableElement,\n\t\tdecoyElement\n\t};\n};\n\nconst lastFocusableElement = new WeakMap();\n\nconst handleModalOpened = host => {\n\twindow.document.body.style.overflow = 'hidden';\n\tlastFocusableElement.set(host, getActiveElement());\n\tconst {firstFocusableElement} = findFocusableEls(host);\n\tif (firstFocusableElement) {\n\t\tfirstFocusableElement.focus();\n\t}\n};\n\nconst handleModalClosed = host => {\n\twindow.document.body.style.overflow = null;\n\tconst lastFocusedEl = lastFocusableElement.get(host);\n\tif (lastFocusedEl) {\n\t\tlastFocusedEl.focus();\n\t}\n};\n\nconst handleTabPress = (host, evt) => {\n\tif (!host.opened) {\n\t\treturn;\n\t}\n\n\tconst {\n\t\ttabbableNodes,\n\t\tfirstFocusableElement,\n\t\tlastFocusableElement,\n\t\tdecoyElement\n\t} = findFocusableEls(host);\n\tconst evtPath = evt.path || (evt.composedPath && evt.composedPath());\n\tconst lastFocusedElement = evtPath[0];\n\tevt.preventDefault(); // For tab focus trap.\n\n\tif (evt.shiftKey) {\n\t\t/**\n\t\t * When the user tabs backward past the first focusable element, focus\n\t\t * the last focusable element\n\t\t */\n\t\tif (lastFocusedElement) {\n\t\t\tconst lastFocusedElementIndex = tabbableNodes.indexOf(lastFocusedElement);\n\t\t\tconst previousFocusableElement = tabbableNodes[lastFocusedElementIndex - 1];\n\n\t\t\tif (previousFocusableElement && previousFocusableElement !== decoyElement) {\n\t\t\t\tpreviousFocusableElement.focus();\n\t\t\t} else {\n\t\t\t\tlastFocusableElement.focus();\n\t\t\t}\n\t\t} else {\n\t\t\tlastFocusableElement.focus();\n\t\t}\n\n\t} else {\n\t\t/**\n\t\t * When the user tabs forward past the last focusable element, focus the\n\t\t * first focusable element\n\t\t */\n\t\tif (lastFocusedElement) {\n\t\t\tconst lastFocusedElementIndex = tabbableNodes.indexOf(lastFocusedElement);\n\t\t\tconst nextFocusableElement = tabbableNodes[lastFocusedElementIndex + 1];\n\n\t\t\tif (nextFocusableElement && nextFocusableElement !== decoyElement) {\n\t\t\t\tnextFocusableElement.focus();\n\t\t\t} else {\n\t\t\t\tfirstFocusableElement.focus();\n\t\t\t}\n\t\t} else {\n\t\t\tfirstFocusableElement.focus();\n\t\t}\n\t}\n};\n\nconst renderFooter = (footerActionsObj, dispatch) => {\n\tif (!footerActionsObj) {\n\t\treturn;\n\t}\n\n\treturn (\n\t\t<div className=\"dps-modal-footer\">\n\t\t\t{renderFooterActions(footerActionsObj, dispatch)}\n\t\t</div>\n\t);\n};\n\nconst renderFooterActions = (footerActionsObj, dispatch) => footerActionsObj\n\t.map(footerAction => {\n\t\tconst {variant, label, bare, disabled, icon, clickActionType} = footerAction;\n\t\treturn (\n\t\t\t<dps-button\n\t\t\t\tclassName=\"dps-modal-footer-button\"\n\t\t\t\tvariant={variant}\n\t\t\t\tsize=\"sm\"\n\t\t\t\tlabel={label}\n\t\t\t\tbare={bare}\n\t\t\t\tdisabled={disabled}\n\t\t\t\ticon={icon}\n\t\t\t\ton-click={() => dispatch(clickActionType || 'DPS_MODAL#FOOTER_ACTION_CLICKED', footerAction)}\n\t\t\t/>\n\t\t);\n\t});\n\nconst DPSModal = (state, dispatch) => {\n\tconst {\n\t\tsize,\n\t\theaderLabel,\n\t\tcontent,\n\t\topened,\n\t\tfooterActions,\n\t\tclosable,\n\t\tfixedHeight,\n\t\tisOverflowHidden,\n\t\thasNoPadding,\n\t\tfullHeight,\n\t\tcloseDisabled,\n\t\tpayloadToAction,\n\t\tclickToEscape,\n\t\toptionalTitle,\n\t\tisOptionalBackgroundImage\n\t} = state.properties;\n\n\tconst { componentId, modalRef } = state;\n\n\tconst footerActionsObj = footerActions ? [...footerActions] : undefined;\n\treturn (\n\t\t<div\n\t\t\trole=\"dialog\"\n\t\t\thidden={!opened}\n\t\t\topened={opened}\n\t\t\taria-labelledby={`modalHeading-${componentId}`}\n\t\t\taria-modal={true}\n\t\t\tref={modalRef}\n\t\t\tclass={{\n\t\t\t\t'dps-modal-container': true\n\t\t\t}}\n\t\t>\n\t\t\t<div className=\"dps-modal-open\">\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'dps-modal': true,\n\t\t\t\t\t\t[`-${size}`]: true,\n\t\t\t\t\t\t'-full-height': fullHeight,\n\t\t\t\t\t\t'-is-optional-background-image': isOptionalBackgroundImage\n\t\t\t\t\t}}>\n\t\t\t\t\t<div \n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\"dps-modal-header\": true,\n\t\t\t\t\t\t\t\"-is-optional-title\": optionalTitle ? true : false\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\toptionalTitle ? \n\t\t\t\t\t\t\t\t<p className=\"dps-modal-optional-title-heading\">{optionalTitle}</p>\n\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t}\n\t\t\t\t\t\t<section className=\"dps-modal-header-heading-title\">\n\t\t\t\t\t\t\t<h1\n\t\t\t\t\t\t\t\tclassName=\"dps-modal-heading\"\n\t\t\t\t\t\t\t\tid={`modalHeading-${componentId}`}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span className=\"dps-modal-heading-label\">{headerLabel}</span>\n\t\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t\t{closable ? \n\t\t\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\ticonSize=\"md\"\n\t\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\t\ticon=\"close-fill\"\n\t\t\t\t\t\t\t\t\ton-click={() => closeDisabled ? null : dispatch('DPS_MODAL#OPENED_SET', { value: false, type: 'click close', payloadToAction })}\n\t\t\t\t\t\t\t\t\tdisabled={closeDisabled}\n\t\t\t\t\t\t\t\t/> \n\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t</section>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'dps-modal-body': true,\n\t\t\t\t\t\t\t'has-no-padding': hasNoPadding,\n\t\t\t\t\t\t\t'-fixed-height': fixedHeight,\n\t\t\t\t\t\t\t'-overflow-hidden': isOverflowHidden,\n\t\t\t\t\t\t\t'-is-optional-background-image': isOptionalBackgroundImage\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t<slot>\n\t\t\t\t\t\t\t<p>{content}</p>\n\t\t\t\t\t\t</slot>\n\t\t\t\t\t</div>\n\t\t\t\t\t{renderFooter(footerActionsObj, dispatch)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{/* Decoy element to allow e.preventDefault in handleTabPress */}\n\t\t\t<button type=\"button\" aria-hidden=\"true\" className=\"dps-a11y-label\" />\n\t\t\t<dps-shade\n\t\t\t\tshow={opened}\n\t\t\t\ton-click={evt =>\n\t\t\t\t\tclickToEscape\n\t\t\t\t\t\t? dispatch('DPS_MODAL#OPENED_SET', { value: false, type: 'click to escape', payloadToAction })\n\t\t\t\t\t\t: dispatch('DPS_SHADE#RESET_TAB', { evt })\n\t\t\t\t}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-modal', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DPSModal\n\t},\n\tactions: {\n\t\t['DPS_MODAL#OPENED_SET']: {\n\t\t\tprivate: false\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t// MIGRATION: COMPONENT_DOM_READY\n\t\t[COMPONENT_DOM_READY]: {\n\t\t\teffect({state, action, updateState}) {\n\t\t\t\tconst {host} = action.payload;\n\t\t\t\tif (state.properties.opened) {\n\t\t\t\t\thandleModalOpened(host);\n\t\t\t\t}\n\n\t\t\t\tupdateState({\n\t\t\t\t\tmodalRef: createRef()\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]({ action }) {\n\t\t\tconst {host, name, value, previousValue} = action.payload;\n\t\t\tif (name === 'opened') {\n\t\t\t\tif (value && !previousValue) {\n\t\t\t\t\thandleModalOpened(host);\n\t\t\t\t} else if (!value && previousValue) {\n\t\t\t\t\thandleModalClosed(host);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]({ action }) {\n\t\t\tconst {host} = action.payload;\n\t\t\thandleModalClosed(host);\n\t\t},\n\t\t'DPS_MODAL#OPENED_SET': ({action, updateProperties}) => {\n\t\t\tupdateProperties({opened: action.payload.value});\n\t\t},\n\t\t'DPS_MODAL#TOGGLE_CLOSE_BUTTON': ({updateProperties, action}) => {\n\t\t\tupdateProperties({ closeDisabled: action.payload.value });\n\t\t},\n\t\t'DPS_MODAL#ESCAPE_TO_CLOSE': ({action, properties, dispatch}) => {\n\t\t\tconst { host, evt } = action.payload;\n\t\t\tconst { closable } = properties;\n\n\t\t\t// escape should only close modals with a close button\n\t\t\tif (host.opened && closable) {\n\t\t\t\tevt.preventDefault();\n\t\t\t\tdispatch('DPS_MODAL#OPENED_SET', {value: false, type: 'escape'});\n\t\t\t}\n\t\t},\n\t\t'DPS_SHADE#RESET_TAB': ({action, state}) => {\n\t\t\tconst { current } = state.modalRef;\n\t\t\tconst { evt } = action.payload;\n\n\t\t\thandleTabPress(current.getRootNode().host, evt);\n\t\t}\n\t},\n\tinitialState: {\n\t\tmodalRef: null\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Indicates if the modal is opened. Use `manage-opened` to override\n\t\t * the default behavior and handle the `NOW_MODAL#OPENED_SET` action manually.\n\t\t * @type {boolean}\n\t\t */\n\t\topened: {\n\t\t\tdefault: false,\n\t\t\tmanageable: true,\n\t\t\treflect: true\n\t\t},\n\t\t/**\n\t\t * Indicates if the modal is closable (has exit button)\n\t\t * @type {boolean}\n\t\t */\n\t\tclosable: {\n\t\t\tdefault: true\n\t\t},\n\t\t/**\n\t\t * Represents the modal header label\n\t\t * @type {string}\n\t\t */\n\t\theaderLabel: {},\n\t\t/**\n\t\t * Size of modal\n\t\t * @type {('sm'|'md|'lg')}\n\t\t */\n\t\tsize: { default: 'lg'},\n\t\t/**\n\t\t * Text content for the modal. Use the \"content\" slot if you want to display\n\t\t * non-text content in the body of the modal.\n\t\t * @type {string}\n\t\t * */\n\t\tcontent: {},\n\t\t/**\n\t\t * Array of objects that defines the buttons in the footer of the modal.\n\t\t * The buttons will be laid out from right to right.\n\t\t *\n\t\t * The keys of each object are properties for `dps-button`. See `dps-button`\n\t\t * for more documentation on these properties.\n\t\t * @type {{ label: string, variant: string, bare: boolean, icon: string, disabled: boolean, clickActionType: string}[]}\n\t\t */\n\t\tfooterActions: {},\n\t\t/**\n\t\t * Determines if the modal fills the full screen no matter the size of the content\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tfullHeight: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Determines if the body has a smaller fixed height\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tfixedHeight: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Determines if the main body overflow is forced to be hidden\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tisOverflowHidden: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Determines if the body has no padding\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\thasNoPadding: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * indicates if the close button is disabled or not\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tcloseDisabled: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * This can be used to send payload\n\t\t * whenever required\n\t\t */\n\t\tpayloadToAction: {\n\t\t\tdefault: {}\n\t\t},\n\t\t/**\n\t\t * Determines if modal is closable\n\t\t * by clicking on the shade\n\t\t */\n\t\tclickToEscape: {\n\t\t\tdefault: true\n\t\t},\n\t\toptionalTitle: {\n\t\t\tdefault: \"\"\n\t\t},\n\t\tisOptionalBackgroundImage: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tstyles,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: keyBindingBehavior,\n\t\t\toptions: {\n\t\t\t\tkeyBindings: {\n\t\t\t\t\tonTabPress: 'Tab',\n\t\t\t\t\tonEscapePress: 'Escape'\n\t\t\t\t},\n\t\t\t\thandlers: {\n\t\t\t\t\tonTabPress: handleTabPress,\n\t\t\t\t\tonEscapePress(host, evt, dispatch) {\n\t\t\t\t\t\t// separate dispatch to pass in host and event and access properties\n\t\t\t\t\t\tdispatch('DPS_MODAL#ESCAPE_TO_CLOSE', {host, evt});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t],\n});\n","import { DPS_CONTENT_FEEDBACK_ACTIONS } from './actionHandlers';\nimport '../dps-spinner';\n\nconst FEEDBACK_TEXT_COLS = 85;\nconst FEEDBACK_TEXT_ROWS = 5;\n\nexport const thankYouView = state => {\n\tconst { messages } = state.properties;\n\n\treturn (\n\t\t<p className=\"dps-content-feedback-form-msg -successful\">\n\t\t\t{messages.success_message.article_submit}\n\t\t</p>\n\t);\n};\n\nexport const formView = (state, dispatch) => {\n\tconst {\n\t\tmaxLength,\n\t\tcharsLeft,\n\t\tsubmitDisabled,\n\t\tquestions,\n\t\tresponse,\n\t\terrors,\n\t\ttitle,\n\t\tcontentType\n\t} = state.properties;\n\tconst { componentId, formRef } = state;\n\n\tif (!questions) {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<dps-spinner fade-out={false}></dps-spinner>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst { question_1 } = questions;\n\n\treturn questions ? (\n\t\t<form\n\t\t\tclassName=\"dps-content-feedback-form\"\n\t\t\ton-submit={e => {\n\t\t\t\te.preventDefault();\n\t\t\t}}\n\t\t\tid={`form-${componentId}`}\n\t\t\tref={formRef}\n\t\t>\n\t\t\t<fieldset className=\"dps-content-feedback-form-fieldset\">\n\t\t\t\t<legend>\n\t\t\t\t\tWas the {title ? `${contentType} \"${title}\"` : `${contentType}`}{' '}\n\t\t\t\t\thelpful? <span>*</span>\n\t\t\t\t</legend>\n\t\t\t\t{errors.question_1.length > 0 ? (\n\t\t\t\t\t<span className=\"dps-content-feedback-form-msg -error\">\n\t\t\t\t\t\t{errors.question_1}\n\t\t\t\t\t</span>\n\t\t\t\t) : null}\n\t\t\t\t{question_1.options.map(option => (\n\t\t\t\t\t<div className=\"dps-content-feedback-form-field\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tid={option.sys_id}\n\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\tname=\"question_1\"\n\t\t\t\t\t\t\tvalue={option.sys_id}\n\t\t\t\t\t\t\tchecked={response.question_1 === option.sys_id}\n\t\t\t\t\t\t\ton-input={e =>\n\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\tDPS_CONTENT_FEEDBACK_ACTIONS.DPS_CONTENT_FEEDBACK_FORM_INPUT_CHANGE,\n\t\t\t\t\t\t\t\t\t{ target: e.target }\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<label htmlFor={option.sys_id}>{option.text}</label>\n\t\t\t\t\t\t<br />\n\t\t\t\t\t</div>\n\t\t\t\t))}\n\t\t\t</fieldset>\n\t\t\t<div className=\"dps-content-feedback-form-textarea\">\n\t\t\t\t<label for=\"feedbackText\">\n\t\t\t\t\tTell us how we could improve this {contentType}. <span>*</span>\n\t\t\t\t</label>\n\t\t\t\t<textarea\n\t\t\t\t\tid=\"feedbackText\"\n\t\t\t\t\tname=\"feedbackText\"\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'dps-content-feedback-form-textarea': true,\n\t\t\t\t\t\t'-error': errors.feedbackText.length > 0\n\t\t\t\t\t}}\n\t\t\t\t\trows={FEEDBACK_TEXT_ROWS}\n\t\t\t\t\tcols={FEEDBACK_TEXT_COLS}\n\t\t\t\t\tmaxlength={maxLength}\n\t\t\t\t\ton-input={e =>\n\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\tDPS_CONTENT_FEEDBACK_ACTIONS.DPS_CONTENT_FEEDBACK_FORM_TEXTAREA_CHANGE,\n\t\t\t\t\t\t\t{ target: e.target }\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<p className=\"dps-content-feedback-form-msg -chars-left\">\n\t\t\t\t\t{charsLeft} characters left\n\t\t\t\t</p>\n\t\t\t\t{errors.feedbackText.length > 0 ? (\n\t\t\t\t\t<span className=\"dps-content-feedback-form-msg -error\">\n\t\t\t\t\t\t{errors.feedbackText}\n\t\t\t\t\t</span>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t\t<button\n\t\t\t\tclassName=\"dps-button -primary -sm\"\n\t\t\t\ttype=\"submit\"\n\t\t\t\tdisabled={submitDisabled}\n\t\t\t\ton-click={e => {\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tDPS_CONTENT_FEEDBACK_ACTIONS.DPS_CONTENT_FEEDBACK_FORM_FORM_SUBMIT,\n\t\t\t\t\t\t{ event: e }\n\t\t\t\t\t);\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\tSubmit Feedback\n\t\t\t</button>\n\t\t</form>\n\t) : null;\n};\n","import { DPS_CONTENT_FEEDBACK_ACTIONS } from './actionHandlers';\nimport '../dps-modal';\nimport { thankYouView, formView } from './modalContentView';\n\nconst view = (state, {dispatch}) => {\n\tconst {\n\t\topened,\n\t\tisFormSubmitted,\n\t\tcontentType,\n\t} = state.properties;\n\n\treturn (\n\t\t<dps-modal\n\t\t\topened={opened}\n\t\t\tsize=\"sm\"\n\t\t\theaderLabel={isFormSubmitted ? 'Thanks for submitting your feedback' : 'Please provide feedback on this ' + contentType }\n\t\t\tmanagedOpen={true}\n\t\t\tfooterActions={isFormSubmitted && [{label:'Close', clickActionType: DPS_CONTENT_FEEDBACK_ACTIONS.DPS_MODAL_OPENED_SET, value: false}]}\n\t\t>\n\t\t\t{isFormSubmitted ? thankYouView(state) : formView(state, dispatch)}\n\t\t</dps-modal>\n\t);\n};\n\nexport default view;\n","import {actionTypes, createCustomElement} from '@servicenow/ui-core';\nimport snabbdom, {createRef} from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-content-feedback-form.scss';\nimport {\n\tDPS_CONTENT_FEEDBACK_ACTION_HANDLERS as actionHandlers\n} from './actionHandlers';\nimport view from './view';\n\nconst { COMPONENT_CONNECTED } = actionTypes;\n\nexport default createCustomElement('dps-content-feedback-form', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t},\n\tview,\n\tinitialState: {\n\t\tformRef: null\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Captures feedback text\n\t\t * @type {string}\n\t\t */\n\t\tfeedbackText: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Questions from request\n\t\t * @type {Object}\n\t\t */\n\t\tquestions: {},\n\t\t/**\n\t\t * Messages from request\n\t\t * @type {Object}\n\t\t */\n\t\tmessages: {},\n\t\t/**\n\t\t * Captures user responses\n\t\t * @type {Object}\n\t\t */\n\t\tresponse: {\n\t\t\tdefault: {\n\t\t\t\tquestion_1: ''\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Captures error messages\n\t\t * @type {Object}\n\t\t */\n\t\terrors: {\n\t\t\tdefault: {\n\t\t\t\tquestion_1: '',\n\t\t\t\tfeedbackText: ''\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Indicates if the modal is opened.\n\t\t * @type {boolean}\n\t\t */\n\t\topened: {default: false},\n\t\t/**\n\t\t * Show this message when user does not provide reason to \"No\"\n\t\t * @type {boolean}\n\t\t */\n\t\tshowReasonMsg: {default: false},\n\t\t/**\n\t\t * Set maximum characters of textarea\n\t\t * @type {number}\n\t\t */\n\t\tmaxLength:{default: 400},\n\t\t/**\n\t\t * The remaining amount of characters for textarea. Initial\n\t\t * amount should be equal to maxLength.\n\t\t * @type {number}\n\t\t */\n\t\tcharsLeft: {default: 400},\n\t\t/**\n\t\t * When a form is in the process of submitting, set this to true.\n\t\t * Otherwise, set as false.\n\t\t * @type {boolean}\n\t\t */\n\t\tsubmitDisabled: {default: false},\n\t\t/**\n\t\t * Indicates if a form has been submitted or not.\n\t\t * @type {boolean}\n\t\t */\n\t\tisFormSubmitted: {default: false},\n\t\t/**\n\t\t * User Data passed in from the main app (assuming it exists)\n\t\t * @type {object}\n\t\t */\n\t\tuserInfo: {default: {}},\n\t\t/**\n\t\t * Title that should be displayed in feedback form\n\t\t * @type {string}\n\t\t */\n\t\ttitle: {default: ''},\n\t\tcontentType: {\n\t\t\tdefault: ''\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t...actionHandlers,\n\t\t[COMPONENT_CONNECTED]: ({updateState}) => {\n\t\t\tupdateState({\n\t\t\t\tformRef: createRef()\n\t\t\t});\n\t\t}\n\t},\n\tstyles\n});\n\n\n\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-button';\nimport '../../src/components/dps-content-feedback-form';\n\nexport default createCustomElement('dps-content-feedback-form-example', {\n\trenderer: { type: snabbdom },\n\tproperties: {\n\t\topened: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t'DPS_MODAL#OPENED_SET': ({ updateProperties, action }) => {\n\t\t\taction.stopPropagation();\n\t\t\tupdateProperties({ opened: action.payload.value });\n\t\t}\n\t},\n\tview: ({ properties: { opened } }, { updateProperties }) => (\n\t\t<Fragment>\n\t\t\t<dps-button\n\t\t\t\tlabel=\"Open modal\"\n\t\t\t\tsize=\"md\"\n\t\t\t\tvariant=\"primary\"\n\t\t\t\ton-click={() => updateProperties({ opened: true })}\n\t\t\t/>\n\t\t\t<dps-content-feedback-form\n\t\t\t\topened={opened}\n\t\t\t\toptions={{\n\t\t\t\t\tquestion_1: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tinfo_message_guest_user: null,\n\t\t\t\t\t\t\tinfo_message_logged_in_user: null,\n\t\t\t\t\t\t\tsys_id: '1c3bc1710f0675004cbece1be1050e5b',\n\t\t\t\t\t\t\ttext: 'Yes',\n\t\t\t\t\t\t\ttype: 'Option'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tinfo_message_guest_user: null,\n\t\t\t\t\t\t\tinfo_message_logged_in_user: null,\n\t\t\t\t\t\t\tsys_id: '3b2bc1710f0675004cbece1be1050ea3',\n\t\t\t\t\t\t\ttext: 'No',\n\t\t\t\t\t\t\ttype: 'Option'\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}}\n\t\t\t></dps-content-feedback-form>\n\t\t</Fragment>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme.js';\nimport '../../src/components/dps-content-stack';\nimport '../../src/components/dps-button';\nimport '../../src/components/dps-link';\n\nexport default createCustomElement('dps-content-stack-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<Fragment>\n\t\t\t<dps-content-stack\n\t\t\t\ticon=\"document-outline\"\n\t\t\t\timage={{src: 'https://via.placeholder.com/600x300.png',\n\t\t\t\t\talt: 'Image Description',\n\t\t\t\t}}\n\t\t\t\tmeta-data=\"by James Neale\"\n\t\t\t\tmeta-data-2=\"October 29, 2020\"\n\t\t\t\ttitle=\"ServiceNow Administrator\"\n\t\t\t\tsub-title=\"25 Modules\"\n\t\t\t\ttags={[\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Tag 1',\n\t\t\t\t\t\thref: 'http://www.example.com/tag1'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Tag 2',\n\t\t\t\t\t\thref: 'http://www.example.com/tag2'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Tag 3',\n\t\t\t\t\t\thref: 'http://www.example.com/tag3'\n\t\t\t\t\t}\n\t\t\t\t]}\n\t\t\t>\n\t\t\t\t<p>You are currently an administrator for one or more ServiceNow apps and want to learn more about scripting and developing applications.</p>\n\t\t\t\t<dps-link iconAction>Continue Reading</dps-link>\n\t\t\t\t<dps-button label=\"Resume learning plan\" />\n\t\t\t</dps-content-stack>\n\t\t</Fragment>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-progress-card.scss';\nimport downloadIconImage from '../../images/icons/download.svg';\nimport {CONSTANTS} from '../../constants';\nimport '../dps-progress-circle';\n\nconst DpsProgressCard = state => {\n\tconst {\n\t\tcircleTitle,\n\t\tcirclePercent,\n\t\tstatusMessages: { title, description },\n\t\tnumOfModules,\n\t\ttype,\n\t\tgitHubLink\n\t} = state.properties;\n\n\tlet linkText = `<img src=${downloadIconImage} alt=\"download-icon\"/>&emsp;You can find a completed version of this app on <dps-link target=\"_blank\" external-action href=${gitHubLink}>GitHub</dps-link>`;\n\t\n\treturn (\n\t\t<div className=\"main\">\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'-theme-charcoal': true,\n\t\t\t\t\t'dps-card': true\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"content-column\">\n\t\t\t\t\t<div className=\"text-container\">\n\t\t\t\t\t\t{title && title.length ? (\n\t\t\t\t\t\t\t<h3 className=\"dps-progress-card-title\">{title}</h3>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<div className=\"dps-progress-card-desc\">{description}</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"circle-container\">\n\t\t\t\t\t\t<dps-progress-circle\n\t\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\t\tpercent={circlePercent}\n\t\t\t\t\t\t\ttitle={circleTitle}\n\t\t\t\t\t\t\tsubtitle={`${type === CONSTANTS.DEFAULTS.TUTORIAL_MODULE ? 'Exercise' : 'Module'}${\n\t\t\t\t\t\t\t\tnumOfModules > 1 ? 's' : ''\n\t\t\t\t\t\t\t} Completed`}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{(type === CONSTANTS.DEFAULTS.TUTORIAL_MODULE && gitHubLink) ? (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"content-link\"\n\t\t\t\t\tinnerHTML={linkText}\n\t\t\t\t></div>\n\t\t\t) : null}\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-progress-card', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DpsProgressCard\n\t},\n\tproperties: {\n\t\tnumOfModules: {\n\t\t\tdefault: 0\n\t\t},\n\t\tnumOfModulesCompleted: {\n\t\t\tdefault: 0\n\t\t},\n\t\tstatus: {\n\t\t\tdefault: 'not_started'\n\t\t},\n\t\ttype: {\n\t\t\tdefault: 'course'\n\t\t},\n\t\tstatusMessages: {\n\t\t\tcomputed({ properties: { status, numOfModules, numOfModulesCompleted, type }}) {\n\t\t\t\tconst numOfModulesRemaining = parseInt(numOfModules) - parseInt(numOfModulesCompleted);\n\t\t\t\tconst message = {\n\t\t\t\t\tnot_started: {\n\t\t\t\t\t\ttitle: 'Get started!',\n\t\t\t\t\t\tdescription: `You haven't started this ${type}.`\n\t\t\t\t\t},\n\t\t\t\t\tin_progress: {\n\t\t\t\t\t\ttitle: 'Keep going!',\n\t\t\t\t\t\tdescription: `You have ${parseInt(numOfModulesRemaining)} ${parseInt(numOfModulesRemaining) === 1 ? (type === CONSTANTS.DEFAULTS.TUTORIAL_MODULE ? 'exercise' : 'module') : (type === CONSTANTS.DEFAULTS.TUTORIAL_MODULE ? 'exercises' : 'modules')} remaining.`\t\t\t\t\t},\n\t\t\t\t\tcomplete: {\n\t\t\t\t\t\ttitle: 'Good job!',\n\t\t\t\t\t\tdescription: `You have completed this ${type}.`\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\treturn message[status];\n\t\t\t}\n\t\t},\n\t\tcircleTitle: {\n\t\t\tcomputed({properties: {numOfModulesCompleted, numOfModules}}) {\n\t\t\t\treturn `${numOfModulesCompleted}/${numOfModules}`;\n\t\t\t}\n\t\t},\n\t\tcirclePercent: {\n\t\t\tcomputed({properties: {numOfModulesCompleted, numOfModules}}) {\n\t\t\t\treturn Math.min(parseInt(numOfModulesCompleted)/parseInt(numOfModules), 1);\n\t\t\t}\n\t\t},\n\t\tgitHubLink: {\n\t\t\tdefault: null\n\t\t}\n\t},\n\tstyles\n});\n","export const DPS_COURSE_DETAILS_ACTIONS = {\n\tCOURSE_BOOTSTRAPPED: 'DPS_COURSE_DETAILS_ACTIONS#COURSE_BOOTSTRAPPED',\n\tCOURSE_DETAILS_FETCH_FAILED:\n\t\t'DPS_COURSE_DETAILS_ACTIONS#COURSE_DETAILS_FETCH_FAILED',\n\tCOURSE_DETAILS_FETCH_SUCCEEDED:\n\t\t'DPS_COURSE_DETAILS_ACTIONS#COURSE_DETAILS_FETCH_SUCCEEDED'\n};","export const DPS_LEARNING_COURSES_ACTIONS = {\n\tGET_TRAINING_NAV: 'LEARNING_COURSES#GET_TRAINING_NAV',\n\tGET_TRAINING_NAV_FAILED: 'LEARNING_COURSES#GET_TRAINING_NAV_FAILED',\n\tGET_TRAINING_NAV_SUCCEEDED: 'LEARNING_COURSES#GET_TRAINING_NAV_SUCCEEDED',\n\tSCROLL_TO: 'LEARNING_COURSES#SCROLL_TO',\n\tTWO_COLUMN_LOADED: 'LEARNING_COURSES#TWO_COLUMN_LOADED',\n\tSAVE_LEARNING_QUALTRICS_SURVEY_STATUS: 'LEARNING_COURSES#SAVE_LEARNING_QUALTRICS_SURVEY_STATUS',\n\tSAVE_LEARNING_QUALTRICS_SURVEY_STATUS_SUCCEEDED: 'LEARNING_COURSES#SAVE_LEARNING_QUALTRICS_SURVEY_STATUS_SUCCEEDED',\n\tSAVE_LEARNING_QUALTRICS_SURVEY_STATUS_FAILED: 'LEARNING_COURSES#SAVE_LEARNING_QUALTRICS_SURVEY_STATUS_FAILED'\n};","import { actionTypes } from '@servicenow/ui-core';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { updateRoute } from '../../routes';\nimport {\n\thasUserInfoUpdated,\n\tisUserUnauthorizedToViewPage,\n\tredirectToAuth,\n\tshouldRemovePDIMismatchAlertFromSessionStorage,\n\tmakeHttpEffectCreator\n} from '../../utils/helpers';\nimport { setMetaByValues } from '../../utils/meta';\nimport { CONSTANTS, DPS_ERROR_ACTIONS } from '../../constants';\nimport { DPS_COURSE_DETAILS_ACTIONS } from './actions';\nimport { replacePathParam } from '../../utils/url';\nimport { DevPlatformStorage } from \"../../utils/storage\";\nimport { releaseInactive } from '../../utils/releaseHelpers';\nimport { shouldTriggerSurvey, triggerLearningSurvey, handleLearningSurveySuccess } from '../../utils/qualtricsSurveyTrigger';\nimport { DPS_LEARNING_COURSES_ACTIONS } from '../dps-learning-courses/actions';\nimport { SessionService } from '../../utils/sessionService';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\nlet course_id;\n\n// HTTP Effect creator for learning completion Qualtrics survey\nconst saveLearningQualtricsSurveyStatusHttpEffect = makeHttpEffectCreator(\n\tDPS_LEARNING_COURSES_ACTIONS.SAVE_LEARNING_QUALTRICS_SURVEY_STATUS,\n\t'/api/snc/learn/qualtrics/survey-tag',\n\t{\n\t\tbatch: false,\n\t\tmethod: 'POST',\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json',\n\t\t\t'X-UserToken': SessionService.getHeaderUserToken()\n\t\t},\n\t\tdataParam: 'data',\n\t\tonSuccess({ action }) {\n\t\t\t// Use shared success handler\n\t\t\thandleLearningSurveySuccess(action);\n\t\t},\n\t\tonError({ action }) {\n\t\t\tconsole.error('❌ ERROR: Failed to save to backend, but localStorage saved, Backend error:', action.payload);\n\t\t}\n\t}\n);\n\nexport default {\n\t/* eslint-disable object-shorthand */\n\t[COMPONENT_BOOTSTRAPPED]: ({ dispatch, properties, updateProperties }) => {\n\t\tconst { release, courseId, systemProperties } = properties;\n\t\tconst activeReleases = systemProperties['dev.active_releases'].split(',') || [];\n\t\tlet courseID = courseId;\n\t\tconst inactiveResult = releaseInactive(properties);\n\t\t\n\t\t// check if release is inactive\n\t\tif (inactiveResult) {\n\t\t\tupdateProperties({\n\t\t\t\tredirectedFromInactiveRelease: true\n\t\t\t});\n\t\t\treturn updateRoute(inactiveResult);\n\t\t}\n\n\t\tif (courseID.indexOf(release) === -1) {\n\t\t\tactiveReleases.map(activeRelease => {\n\t\t\t\tif (courseID.indexOf(activeRelease) > -1) {\n\t\t\t\t\tupdateRoute(`/learn/courses/${release}/${courseID.replace(activeRelease, release)}`);\n\t\t\t\t\tcourseID = courseID.replace(activeRelease, release);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tdispatch(DPS_COURSE_DETAILS_ACTIONS.COURSE_BOOTSTRAPPED, {\n\t\t\trelease,\n\t\t\tnavLevel: 'three',\n\t\t\tparentSysId: courseID\n\t\t});\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\taction,\n\t\tproperties,\n\t\tdispatch,\n\t\tupdateProperties,\n\t\tupdateState\n\t}) => {\n\t\tconst {\n\t\t\tpayload: { name, value, previousValue }\n\t\t} = action;\n\n\t\tconst { courseId } = properties;\n\t\tconst userInfoUpdated = hasUserInfoUpdated({ name, value, previousValue });\n\t\tconst inactiveResult = releaseInactive(properties);\n\n\t\t// check if release is inactive\n\t\tif (inactiveResult) {\n\t\t\tupdateProperties({\n\t\t\t\tredirectedFromInactiveRelease: true\n\t\t\t});\n\t\t\treturn updateRoute(inactiveResult);\n\t\t}\n\n\t\tif (name === 'release') {\n\t\t\tcourse_id = courseId.replace(previousValue, value);\n\t\t\tupdateRoute(\n\t\t\t\t`/learn/courses/${value}/${course_id}`\n\t\t\t);\n\t\t\tupdateState({ course_details: null });\n\t\t\tdispatch(DPS_COURSE_DETAILS_ACTIONS.COURSE_BOOTSTRAPPED, {\n\t\t\t\trelease: value,\n\t\t\t\tnavLevel: 'three',\n\t\t\t\tparentSysId: course_id\n\t\t\t});\n\n\t\t\tshouldRemovePDIMismatchAlertFromSessionStorage();\n\t\t}\n\n\t\tif (userInfoUpdated) {\n\t\t\tupdateState({ course_details: null });\n\t\t\tdispatch(DPS_COURSE_DETAILS_ACTIONS.COURSE_BOOTSTRAPPED, {\n\t\t\t\trelease: properties.release,\n\t\t\t\tnavLevel: 'three',\n\t\t\t\tparentSysId: course_id || properties.courseId\n\t\t\t});\n\t\t}\n\t},\n\t[DPS_COURSE_DETAILS_ACTIONS.COURSE_BOOTSTRAPPED]: createHttpEffect(\n\t\t'/getTrainingNav.do',\n\t\t{\n\t\t\tmethod: 'GET',\n\t\t\tqueryParams: ['navLevel', 'parentSysId', 'release'],\n\t\t\tbatch: false,\n\t\t\terrorActionType: DPS_COURSE_DETAILS_ACTIONS.COURSE_DETAILS_FETCH_FAILED,\n\t\t\tsuccessActionType:\n\t\t\t\tDPS_COURSE_DETAILS_ACTIONS.COURSE_DETAILS_FETCH_SUCCEEDED\n\t\t}\n\t),\n\t[DPS_COURSE_DETAILS_ACTIONS.COURSE_DETAILS_FETCH_SUCCEEDED]: coeffects => {\n\t\tconst { action, updateState, dispatch, properties } = coeffects;\n\t\tconst { courseTitle, courseDescription, course_qualtrics_survey_on, courseContentId } = action.payload;\n\n\t\tif (action.payload.CNFITR_error || action.payload.rtn_code === 404) {\n\t\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND);\n\t\t}\n\n\t\tsetMetaByValues({\n\t\t\ttitle: courseTitle,\n\t\t\tdescription: courseDescription\n\t\t});\n\n\t\tupdateState({\n\t\t\tdataFetchFailed: false,\n\t\t\tcourse_details: action.payload\n\t\t});\n\n\t\t// Check backend flag for survey trigger (course details page)\n\t\t// Backend returns course_qualtrics_survey_on: true/false\n\t\tif (course_qualtrics_survey_on === true && courseContentId) {\n\t\t\t// Extract userId for user-specific survey tracking\n\t\t\tconst userId = properties?.userInfo?.user_id;\n\t\t\t\n\t\t\ttry {\n\t\t\t\tconst shouldTrigger = shouldTriggerSurvey({\n\t\t\t\t\tsurveyFlag: course_qualtrics_survey_on,\n\t\t\t\t\tlearningId: courseContentId,\n\t\t\t\t\tlearningType: 'course',\n\t\t\t\t\tuserId\n\t\t\t\t});\n\t\t\t\t\n\t\t\t\tif (shouldTrigger) {\n\t\t\t\t\tconsole.log('🎓 Course details loaded with survey flag enabled:', courseTitle);\n\t\t\t\t\t\n\t\t\t\t\t// Trigger Qualtrics survey\n\t\t\t\t\t// Note: markSurveyShown() will be called in the success handler after backend confirms\n\t\t\t\t\ttriggerLearningSurvey({\n\t\t\t\t\t\tlearningId: courseContentId,\n\t\t\t\t\t\tlearningType: 'course',\n\t\t\t\t\t\tlearningName: courseTitle,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tsaveAction: DPS_LEARNING_COURSES_ACTIONS.SAVE_LEARNING_QUALTRICS_SURVEY_STATUS,\n\t\t\t\t\t\trelease: properties.release,\n\t\t\t\t\t\treleaseSysId: properties.releaseInfo?.sys_id,\n\t\t\t\t\t\tuserId: userId\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('❌ Error triggering course details survey:', error);\n\t\t\t\t// Don't break the page if survey fails\n\t\t\t}\n\t\t}\n\t},\n\t[DPS_COURSE_DETAILS_ACTIONS.COURSE_DETAILS_FETCH_FAILED]: coeffects => {\n\t\tconst { updateState, properties, dispatch, action, updateProperties } = coeffects;\n\t\tconst {\n\t\t\thash,\n\t\t\tinstanceInfo,\n\t\t\tpathname,\n\t\t\treleaseInfo,\n\t\t\trouteString,\n\t\t\tuserInfo,\n\t\t\tisReleaseReplaced,\n\t\t\trelease\n\t\t} = properties;\n\t\tconst { message } = action.payload && action.payload.data && action.payload.data.result;\n\t\tconst userUnauthorizedToViewPage = isUserUnauthorizedToViewPage(\n\t\t\tuserInfo,\n\t\t\taction.payload\n\t\t);\n\t\tconst { latestRelease } = releaseInfo;\n\t\tconst instanceRelease = instanceInfo && instanceInfo.release;\n\n\t\tupdateState({\n\t\t\tdataFetchFailed: true\n\t\t});\n\n\t\tif (userUnauthorizedToViewPage) {\n\t\t\tredirectToAuth(location.href);\n\t\t} else if (\n\t\t\t!userUnauthorizedToViewPage &&\n\t\t\tmessage === CONSTANTS.DEFAULTS.NO_CONTENT_FOUND_MESSAGE &&\n\t\t\t!isReleaseReplaced &&\n\t\t\trelease !== (instanceRelease || latestRelease).toLowerCase()\n\t\t) {\n\n\t\t\tconst replacedRelease = replacePathParam({\n\t\t\t\tparam: ':release',\n\t\t\t\trouteString,\n\t\t\t\tpathname,\n\t\t\t\tparamValue: (instanceRelease || latestRelease).toLowerCase(),\n\t\t\t\thash\n\t\t\t});\n\t\t\tupdateRoute(replacedRelease);\n\t\t\tupdateProperties({\n\t\t\t\tisReleaseReplaced: true\n\t\t\t});\n\t\t} else {\n\t\t\tif (action.payload.data && action.payload.data.result && action.payload.data.result.statusCode === 404) {\n\t\t\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND, { otherReleases: action.payload.data.result.other_releases, contentTitle: action.payload.data.result.content_title, isContentNotFoundForCurrentRelease: true });\n\t\t\t} else {\n\t\t\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND, { message: message });\n\t\t\t}\n\t\t}\n\n\t},\n\t...saveLearningQualtricsSurveyStatusHttpEffect\n};\n","import { isPdiMismatchAlertDismissed } from '../../utils/helpers';\n\nconst properties = {\n\tcourseId: {\n\t\tdefault: ''\n\t},\n\thash: {\n\t\tdefault: ''\n\t},\n\tinstanceInfo: {\n\t\tdefault: {}\n\t},\n\tpathname: {\n\t\tdefault: ''\n\t},\n\trelease: {\n\t\tdefault: ''\n\t},\n\treleaseInfo: {\n\t\tdefault: {}\n\t},\n\trouteString: {\n\t\tdefault: ''\n\t},\n\tuserInfo: {\n\t\tdefault: {}\n\t},\n\tisPdiMismatchAlertDismissed: {\n\t\tcomputed({ properties: { release } }) {\n\t\t\treturn isPdiMismatchAlertDismissed(release);\n\t\t}\n\t},\n\tsystemProperties: {\n\t\tdefault: {},\n\t\tschema: {\n\t\t\ttype: 'object'\n\t\t}\n\t},\n\tisReleaseReplaced: {\n\t\tdefault: false\n\t},\n\tredirectedFromInactiveRelease: {\n\t\tdefault: false\n\t}\n};\n\nexport default properties;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-course-details.scss';\nimport '../../components/dps-link';\nimport '../../components/dps-error-page';\nimport '../../components/dps-spinner';\nimport '../../components/dps-breadcrumb';\nimport '../../components/dps-inline-version-selector';\nimport '../../components/dps-progress-card';\nimport '@servicenow/now-button';\nimport stripTags from '../../utils/stripTags';\nimport { createPath } from '../../utils/url';\nimport actionHandlers from './actionHandlers';\nimport properties from './properties';\nimport { CONSTANTS } from '../../constants';\nimport { getPrintablePageUrl } from '../../utils/helpers';\nimport { getFormattedInstanceReleaseInfo } from '../../utils/releaseHelpers';\nimport { printer } from '../../icons';\nimport backgroundImg from '../../images/reference-overview-background.png';\n\nconst view = state => {\n\tconst data = state.course_details;\n\tconst {\n\t\trelease,\n\t\tcourseId,\n\t\tinstanceInfo,\n\t\tsystemProperties,\n\t\tpathname\n\t} = state.properties;\n\tif (!data) {\n\t\treturn <dps-spinner />;\n\t}\n\tconst {\n\t\tfirstLevelChildren: modules,\n\t\tcourseDescription,\n\t\tcompletedModules,\n\t\tcourseTitle,\n\t\ttotal_articles: totalModules,\n\t\tlink,\n\t\tstatus,\n\t\tother_releases\n\t} = data;\n\n\tconst instanceRelease = getFormattedInstanceReleaseInfo(instanceInfo);\n\n\t// Keeps track of user's progress\n\t// link is the last course the user looked at\n\tlet ctaButtonLabel = 'Resume course';\n\tlet firstModule = createPath(link);\n\n\tconst isStart = modules.every(module => module.percent_complete === 0);\n\tconst isRepeat = modules.every(module => module.percent_complete === 100);\n\n\t// link is the last course the user looked at, but repeat and start should link to the first module\n\tif (isRepeat) {\n\t\tctaButtonLabel = 'Repeat course';\n\t\tfirstModule = createPath(\n\t\t\t`/learn/courses/${release}/${courseId}/${modules[0].content_id}/${modules[0].secondLevelChildren[0].content_id}`\n\t\t);\n\t} else if (isStart) {\n\t\tctaButtonLabel = 'Start course';\n\t\tfirstModule = createPath(\n\t\t\t`${link}/${modules[0].content_id}/${modules[0].secondLevelChildren[0].content_id}`\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className=\"dps-course-details\">\n\t\t\t\t<dps-breadcrumb\n\t\t\t\titems={[\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Courses',\n\t\t\t\t\t\tredirectURL: `/learn/courses/${release}`\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: courseTitle,\n\t\t\t\t\t\tredirectURL: `/learn/courses/${release}/${courseId}`\n\t\t\t\t\t}\n\t\t\t\t]}\n\t\t\t/>\n\t\t\t<section className=\"dps-course-details-hero\" aria-labelledby=\"course-details-hero-title\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"dps-course-details-hero__background\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tbackgroundImage: `url(${backgroundImg})`,\n\t\t\t\t\t\tbackgroundPosition: 'center center',\n\t\t\t\t\t\tbackgroundSize: 'cover',\n\t\t\t\t\t\tbackgroundRepeat: 'no-repeat'\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-course-details-hero__content\">\n\t\t\t\t\t{other_releases && other_releases.length > 0 && (\n\t\t\t\t\t\t<div className=\"dps-course-details-hero__version-selector\">\n\t\t\t\t\t\t\t<dps-inline-version-selector\n\t\t\t\t\t\t\t\tselected={release}\n\t\t\t\t\t\t\t\treleases={other_releases}\n\t\t\t\t\t\t\t\tinstanceRelease={instanceRelease}\n\t\t\t\t\t\t\t\tsourcePathname={pathname}\n\t\t\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t<h1 id=\"course-details-hero-title\" className=\"dps-course-details-hero__title\">\n\t\t\t\t\t\t{courseTitle}\n\t\t\t\t\t</h1>\n\t\t\t\t\t<p className=\"dps-course-details-hero__modules-count\">\n\t\t\t\t\t\t{totalModules} Module{totalModules > 1 ? 's' : ''}\n\t\t\t\t\t</p>\n\t\t\t\t\t<div className=\"dps-course-details-hero__description\">\n\t\t\t\t\t\t{stripTags(\n\t\t\t\t\t\t\t`${courseDescription.split('.')[0]}.`,\n\t\t\t\t\t\t\t/<\\/em>|<br\\/>|<em>/g\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"dps-course-details-hero__cta\">\n\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tlabel={ctaButtonLabel}\n\t\t\t\t\t\t\ton-click={() => window.location.href = firstModule}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-course-details-hero__card\">\n\t\t\t\t\t<dps-progress-card\n\t\t\t\t\t\tnum-of-modules={totalModules}\n\t\t\t\t\t\tnum-of-modules-completed={completedModules}\n\t\t\t\t\t\tstatus={status}\n\t\t\t\t\t\ttype=\"course\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</section>\n\t\t\t<dps-template-two-column open={true}>\n\t\t\t\t<section className=\"sidenav\" slot=\"sidebar\">\n\t\t\t\t\t<h3 className=\"dps-course-details-left-panel-heading\">\n\t\t\t\t\t\tCourse Information\n\t\t\t\t\t</h3>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"dps-course-details-left-panel-description\"\n\t\t\t\t\t\tinnerHTML={courseDescription}\n\t\t\t\t\t/>\n\t\t\t\t</section>\n\t\t\t\t<div className=\"right-content\">\n\t\t\t\t\t<div className=\"dps-course-details-modules-header\">\n\t\t\t\t\t\t<h2>Module{totalModules > 1 ? 's' : ''}</h2>\n\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tlabel=\"Print course\"\n\t\t\t\t\t\t\ticon=\"printer-outline\"\n\t\t\t\t\t\t\tappendIcon=\"true\"\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\tconst url = getPrintablePageUrl(\n\t\t\t\t\t\t\t\t\trelease,\n\t\t\t\t\t\t\t\t\tCONSTANTS.DEFAULTS.COURSE_CATEGORY,\n\t\t\t\t\t\t\t\t\tcourseId,\n\t\t\t\t\t\t\t\t\tCONSTANTS.DEFAULTS.COURSE_MODULE\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\twindow.open(url, '_blank', 'noopener');\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t{modules.map(module => {\n\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\tshort_description: description,\n\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\tsecondLevelChildren: lessons,\n\t\t\t\t\t\t\tlink,\n\t\t\t\t\t\t\ttotal_second_level_articles,\n\t\t\t\t\t\t\tcontent_id,\n\t\t\t\t\t\t\tpercent_complete\n\t\t\t\t\t\t} = module;\n\t\t\t\t\t\tconst lessonList = lessons.map(lesson => ({\n\t\t\t\t\t\t\ttitle: lesson.title,\n\t\t\t\t\t\t\tisRead: lesson.is_read,\n\t\t\t\t\t\t\ttype: lesson.dita_type,\n\t\t\t\t\t\t\tpermalink: lesson.content_id\n\t\t\t\t\t\t}));\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<dps-collapsable-module-card\n\t\t\t\t\t\t\t\ttitle={title}\n\t\t\t\t\t\t\t\tdescription={stripTags(description, /<\\/em>|<br\\/>|<em>/g)}\n\t\t\t\t\t\t\t\tlessons={lessonList}\n\t\t\t\t\t\t\t\tnumber-of-lessons={total_second_level_articles}\n\t\t\t\t\t\t\t\tis-open={percent_complete > 0 && percent_complete !== 100}\n\t\t\t\t\t\t\t\tpercentage-complete={percent_complete}\n\t\t\t\t\t\t\t\trelease={release}\n\t\t\t\t\t\t\t\tlink={link}\n\t\t\t\t\t\t\t\tparentId={`${courseId}/${content_id}`}\n\t\t\t\t\t\t\t\tmoduleType=\"course\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t</dps-template-two-column>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-course-details', {\n\tactionHandlers,\n\tinitialState: {\n\t\tdataFetchFailed: false\n\t},\n\tproperties,\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tstyles,\n\tview\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/connected-components/dps-course-details';\n\nexport default createCustomElement('dps-course-details-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-course-details></dps-course-details>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-dropdown-button';\n\nconst menuItems = [\n\t{\n\t\tlabel: 'Activate Plugin',\n\t\thref: '#clicked',\n\t\ticon: '',\n\t\t//isDisabled: true\n\t},\n\t{\n\t\tlabel: 'Release Instance',\n\t\ticon: '',\n\t\thref: '#notClicked',\n\t\tisDisabled: true\n\t},\n\t{\n\t\tlabel: 'Remove Demo data',\n\t\ticon: '',\n\t\tcallback: () => alert('You clicked the long title'),\n\t\t//isDisabled: true\n\t},\n\t{\n\t\tlabel: 'Reset Instance',\n\t\tcallback() {\n\t\t\tconsole.log('a+b');\n\t\t},\n\t\tisDisabled: true\n\t},\n\t{\n\t\tlabel: 'Upgrade Instance',\n\t\thref: '#clicked',\n\t\ticon: '',\n\t\tisDisabled: true\n\t},\n\t{\n\t\tlabel: 'Report Issue',\n\t\ticon: '',\n\t\thref: '#notClicked',\n\t\t//isDisabled: true\n\t},\n\t{\n\t\tlabel: 'Restore',\n\t\ticon: '',\n\t\tcallback: () => console.log('a*b'),\n\t\tisDisabled: true\n\t},\n\t{\n\t\tlabel: 'Reset and Wipe',\n\t\tcallback() {\n\t\t\tconsole.log('a+b');\n\t\t},\n\t\t//isDisabled: true\n\t}\n];\n\nexport default createCustomElement('dps-dropdown-button-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-dropdown-button\n\t\t\tlabel = 'Action'\n\t\t\tmenuItems = {menuItems}\n\t\t>\n\t\t</dps-dropdown-button>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-dropdown-panel';\n\nexport default createCustomElement('dps-dropdown-panel-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-dropdown-panel\n\t\t\topened\n\t\t\ttarget-ref={document.head}\n\t\t\tfixed-width={200}\n\t\t\titems={[\n\t\t\t\t{\n\t\t\t\t\tlabel: 'My dropdown item',\n\t\t\t\t\thref: '#clicked',\n\t\t\t\t\ticon: ''\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Not a link',\n\t\t\t\t\ticon: '',\n\t\t\t\t\tcallback: () => alert('You clicked \"Not a link\"')\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Not a link, but a really really really long title',\n\t\t\t\t\ticon: '',\n\t\t\t\t\tcallback: () => alert('You clicked the long title')\n\t\t\t\t}\n\t\t\t]}\n\t\t></dps-dropdown-panel>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../theme.js';\nimport '../../src/components/dps-error-page';\n\nexport default createCustomElement('dps-error-page-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-error-page></dps-error-page>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-feedback.scss';\nimport '../dps-button';\nimport '../dps-callout';\n\nconst DPSfeedback = (state) => {\n\tconst {message, label} = state.properties;\n\n\treturn (\n\t\t<dps-callout icon=\"chat-outline\" color=\"green\" buttonLabel={label} buttonVariant=\"secondary\"><span slot=\"description\">{message}</span></dps-callout>\n\t);\n};\n\nexport default createCustomElement('dps-feedback', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DPSfeedback\n\t},\n\tproperties: {\n\t\tmessage: {\n\t\t\tdefault: 'Give us feedback to help improve your experience.'\n\t\t},\n\t\tlabel: {\n\t\t\tdefault: 'Give Feedback'\n\t\t},\n\t\ttitle: {\n\t\t\tdefault: null\n\t\t},\n\t\tisLoginRequired: {\n\t\t\tdefault: false\n\t\t},\n\t\tcontentType: {\n\t\t\tdefault: ''\n\t\t}\n\t},\n\tactions: {\n\t\t['DPS_FEEDBACK#CLICKED']: {\n\t\t\tprivate: false\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t['DPS_BUTTON#CLICKED']: function(coeffects) {\n\t\t\tconst { action, dispatch, properties: {title, isLoginRequired, contentType} } = coeffects;\n\t\t\taction.stopPropagation();\n\t\t\tdispatch('DPS_FEEDBACK#CLICKED', {title, isLoginRequired, contentType});\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../../src/components/dps-feedback';\nimport '../theme';\n\nexport default createCustomElement('dps-feedback-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-feedback></dps-feedback>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-fieldset';\n\nexport default createCustomElement('dps-fieldset-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-fieldset></dps-fieldset>\n\t)\n});\n","export const DPS_FILTER_BADGE_REMOVE = 'DPS_FILTER_BADGE#REMOVE';\nexport const DPS_FILTER_BAR_CHANGE_PER_PAGE = 'DPS_FILTER_BAR#CHANGE_PER_PAGE';\nexport const DPS_FILTER_BAR_RESET = 'DPS_FILTER_BAR#RESET';\nexport const DPS_FILTER_BAR_SEARCH = 'DPS_FILTER_BAR#SEARCH';\nexport const DPS_FILTER_BAR_UPDATE_FILTER = 'DPS_FILTER_BAR#UPDATE_FILTER';\nexport const DPS_FILTER_BAR_VIEW = 'DPS_FILTER_BAR#VIEW';\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-filter-badge.scss';\nimport {DPS_FILTER_BADGE_REMOVE} from './actions';\n\nconst view = (state, {dispatch}) => {\n\n\tconst {id, type, value} = state.properties;\n\tconst label = type ? `${type}: ${value}` : value;\n\treturn (\n\t\t<div className=\"dps-filter-badge\">\n\t\t\t<span>{label}</span>\n\t\t\t<button on-click={() => dispatch(DPS_FILTER_BADGE_REMOVE, {id})}>\n\t\t\t\t<now-icon icon=\"close-fill\" size=\"sm\"/>\n\t\t\t</button>\n\t\t</div>\n\t);\n};\n\n\nexport default createCustomElement('dps-filter-badge', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t},\n\tview,\n\tproperties: {\n\t\tid: {\n\t\t\tdefault: ''\n\t\t},\n\t\ttype: {\n\t\t\tdefault: ''\n\t\t},\n\t\tvalue: {\n\t\t\tdefault: ''\n\t\t}\n\t},\n\tstyles\n});\n","/* eslint-disable object-shorthand */\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-filter-bar.scss';\nimport {\n\tDPS_FILTER_BADGE_REMOVE,\n\tDPS_FILTER_BAR_CHANGE_PER_PAGE,\n\tDPS_FILTER_BAR_RESET,\n\tDPS_FILTER_BAR_SEARCH,\n\tDPS_FILTER_BAR_UPDATE_FILTER,\n\tDPS_FILTER_BAR_VIEW\n} from './actions';\nimport '../dps-button';\nimport './dps-filter-badge';\n\nconst _renderPerPageOptions = (perPage, perPageOptions) =>\n\tperPageOptions.map(option => (\n\t\t<option selected={perPage === option}>{option}</option>\n\t));\n\nconst _renderFilterBadge = filterItem => (\n\t<li>\n\t\t<dps-filter-badge {...filterItem} />\n\t</li>\n);\n\nconst _renderFiltersSection = filterList =>\n\tfilterList.length === 0 ? null : (\n\t\t<div className=\"dps-filter-bar--bottom\">\n\t\t\t<span>Filtered by:</span>\n\t\t\t<ul className=\"dps-filter-bar--filter-list\">\n\t\t\t\t{filterList.map(filterItem => _renderFilterBadge(filterItem))}\n\t\t\t</ul>\n\t\t</div>\n\t);\n\nconst view = (state, { dispatch, updateProperties }) => {\n\tconst {\n\t\tfilterValue,\n\t\tperPage,\n\t\tperPageOptions,\n\t\ttype,\n\t\tviewItems\n\t} = state.properties;\n\n\t// Filter out blank values\n\tconst filterList = state.properties.filterList.filter(\n\t\titem => item.value !== ''\n\t);\n\n\treturn (\n\t\t<div className=\"dps-filter-bar\">\n\t\t\t<div className=\"dps-filter-bar--top\">\n\t\t\t\t<form\n\t\t\t\t\tclassName=\"dps-filter-bar--filter-selection\"\n\t\t\t\t\ton-submit={event => event.preventDefault()}\n\t\t\t\t>\n\t\t\t\t\t<input\n\t\t\t\t\t\tclassName=\"dps-filter-bar--search\"\n\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\tvalue={filterValue}\n\t\t\t\t\t\tplaceholder=\"Filter\"\n\t\t\t\t\t\ton-input={event =>\n\t\t\t\t\t\t\tupdateProperties({ filterValue: event.target.value })\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\tvalue=\"Add Filter\"\n\t\t\t\t\t\tclassName=\"dps-button -primary -sm dps-filter-bar--submit\"\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(DPS_FILTER_BAR_SEARCH, { value: filterValue });\n\t\t\t\t\t\t\t//Tracking the click for Add Filter\n\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\taction: \"click add filter\",\n\t\t\t\t\t\t\t\tcategory: \"buttons\",\n\t\t\t\t\t\t\t\tlabel: filterValue,\n\t\t\t\t\t\t\t\tvalue: \"\",\n\t\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t<dps-button\n\t\t\t\t\t\tclassName=\"dps-filter-bar--reset\"\n\t\t\t\t\t\tlabel=\"Reset\"\n\t\t\t\t\t\ticon=\"arrow-clockwise-fill\"\n\t\t\t\t\t\tbare\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(DPS_FILTER_BAR_RESET);\n\t\t\t\t\t\t\t//Tracking the click for Reset\n\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\taction: \"click filter reset\",\n\t\t\t\t\t\t\t\tcategory: \"buttons\",\n\t\t\t\t\t\t\t\tlabel: \"\",\n\t\t\t\t\t\t\t\tvalue: \"\",\n\t\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</form>\n\t\t\t\t<div className=\"dps-filter-bar--view-selection\">\n\t\t\t\t\t<label>{type} per page</label>\n\t\t\t\t\t<div className=\"dps-select\">\n\t\t\t\t\t\t<select\n\t\t\t\t\t\t\tname=\"per-page\"\n\t\t\t\t\t\t\ton-change={event => {\n\t\t\t\t\t\t\t\tdispatch(DPS_FILTER_BAR_CHANGE_PER_PAGE, {\n\t\t\t\t\t\t\t\t\tvalue: event.target.value\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t//Tracking the click for per page option\n\t\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\t\taction: \"activate per page option\",\n\t\t\t\t\t\t\t\t\tcategory: \"Component library\",\n\t\t\t\t\t\t\t\t\tlabel: event.target.value,\n\t\t\t\t\t\t\t\t\tvalue: \"\",\n\t\t\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{_renderPerPageOptions(perPage, perPageOptions)}\n\t\t\t\t\t\t</select>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{viewItems.map(view => {\n\t\t\t\t\t\t\tconst { active, id, label, icon } = view;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t['dps-filter-bar--view-button']: true,\n\t\t\t\t\t\t\t\t\t\t['active']: active\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\t\t\tdispatch(DPS_FILTER_BAR_VIEW, { value: id });\n\t\t\t\t\t\t\t\t\t\t//Tracking the click for grid and list\n\t\t\t\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\t\t\t\taction: \"select grid list tab\",\n\t\t\t\t\t\t\t\t\t\t\tcategory: \"Component library\",\n\t\t\t\t\t\t\t\t\t\t\tlabel: id,\n\t\t\t\t\t\t\t\t\t\t\tvalue: \"\",\n\t\t\t\t\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<img src={icon} width=\"18\" height=\"18\" /> {label}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{_renderFiltersSection(filterList)}\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-filter-bar', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\t/**\n\t\t * Current value of the filter input\n\t\t * @type {string}\n\t\t */\n\t\tfilterValue: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Array of objects that contain filter items\n\t\t * ```\n\t\t * {\n\t\t *\tid: 'matches-button',\n\t\t *\ttype: 'Matches',\n\t\t *\tvalue: 'button'\n\t\t * }\n\t\t * ```\n\t\t * @type {array}\n\t\t */\n\t\tfilterList: {\n\t\t\tdefault: []\n\t\t},\n\t\t/**\n\t\t * Current value of the items per page select\n\t\t * @type {string}\n\t\t */\n\t\tperPage: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Array of items per page options\n\t\t * @type {array}\n\t\t */\n\t\tperPageOptions: {\n\t\t\tdefault: [10, 20, 50]\n\t\t},\n\t\t/**\n\t\t * Label for the type of items being filtered\n\t\t * @type {string}\n\t\t */\n\t\ttype: {\n\t\t\tdefault: 'Items'\n\t\t},\n\t\t/**\n\t\t * Array of objects for configuring the different view options\n\t\t * ```\n\t\t * {\n\t\t *   id: 'grid',\n\t\t *   label: 'Grid',\n\t\t *   icon: iconGrid,\n\t\t *   active: true\n\t\t * }\n\t\t * ```\n\t\t * @type {array}\n\t\t */\n\t\tviewItems: {\n\t\t\tdefault: []\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t[DPS_FILTER_BADGE_REMOVE]: ({\n\t\t\taction,\n\t\t\tstate,\n\t\t\tdispatch,\n\t\t\tupdateProperties\n\t\t}) => {\n\t\t\tconst { filterList } = state.properties;\n\t\t\tconst { id } = action.payload;\n\t\t\tconst newList = filterList.filter(filterItem => filterItem.id !== id);\n\t\t\taction.stopPropagation();\n\n\t\t\tupdateProperties({\n\t\t\t\tfilterList: newList\n\t\t\t});\n\n\t\t\tdispatch(DPS_FILTER_BAR_UPDATE_FILTER, { value: newList });\n\t\t},\n\t\t[DPS_FILTER_BAR_CHANGE_PER_PAGE]: ({ action, updateProperties }) => {\n\t\t\taction.stopPropagation();\n\t\t\tupdateProperties({\n\t\t\t\tperPage: action.payload.value\n\t\t\t});\n\t\t},\n\t\t[DPS_FILTER_BAR_RESET]: ({ action, dispatch, updateProperties }) => {\n\t\t\taction.stopPropagation()\n\t\t\tupdateProperties({\n\t\t\t\tfilterList: [],\n\t\t\t\tfilterValue: ''\n\t\t\t});\n\n\t\t\tdispatch(DPS_FILTER_BAR_UPDATE_FILTER, { value: [] });\n\t\t},\n\t\t[DPS_FILTER_BAR_SEARCH]: ({\n\t\t\taction,\n\t\t\tstate,\n\t\t\tdispatch,\n\t\t\tupdateProperties\n\t\t}) => {\n\t\t\taction.stopPropagation();\n\t\t\tconst { filterList } = state.properties;\n\t\t\tconst { value = '' } = action.payload;\n\t\t\tconst splitValues = value\n\t\t\t\t.toLowerCase()\n\t\t\t\t.replace(/_+/g, ' ')\n\t\t\t\t// Removing splitting on '-' so we can filter\n\t\t\t\t// component names: now-button\n\t\t\t\t//.replace(/-+/g, ' ')\n\t\t\t\t.replace(/ +/g, ' ')\n\t\t\t\t.trim()\n\t\t\t\t.split(' ');\n\n\t\t\tsplitValues.forEach(newItem => {\n\t\t\t\tconst id = `matches-${newItem}`;\n\t\t\t\tconst type = 'Matches';\n\n\t\t\t\tif (!filterList.filter(filterItem => filterItem.id === id).length) {\n\t\t\t\t\tfilterList.push({\n\t\t\t\t\t\tid,\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tvalue: newItem\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tupdateProperties({\n\t\t\t\tfilterList,\n\t\t\t\tfilterValue: ''\n\t\t\t});\n\n\t\t\tdispatch(DPS_FILTER_BAR_UPDATE_FILTER, { value: filterList });\n\t\t},\n\t\t[DPS_FILTER_BAR_VIEW]: ({ action, state, updateProperties }) => {\n\t\t\tconst { value } = action.payload;\n\t\t\tconst { viewItems } = state.properties;\n\n\t\t\tupdateProperties({\n\t\t\t\tviewItems: viewItems.map(view => ({\n\t\t\t\t\t...view,\n\t\t\t\t\tactive: value === view.id\n\t\t\t\t}))\n\t\t\t});\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-filter-bar';\nimport { grid, list } from '../../src/icons';\n\nexport default createCustomElement('dps-filter-bar-example', {\n\trenderer: { type: snabbdom },\n\tstyles: `\n\t\t:host {\n\t\t\tdisplay: block;\n\t\t\tpadding: 20px;\n\t\t}\n\t`,\n\tview: () => (\n\t\t<dps-filter-bar\n\t\t\tview-items={[\n\t\t\t\t{\n\t\t\t\t\tid: 'grid',\n\t\t\t\t\tlabel: 'Grid',\n\t\t\t\t\ticon: grid,\n\t\t\t\t\tactive: true\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'list',\n\t\t\t\t\tlabel: 'List',\n\t\t\t\t\ticon: list\n\t\t\t\t}\n\t\t\t]}\n\t\t\tfilter-list={[\n\t\t\t\t{\n\t\t\t\t\tid: 'matches-button',\n\t\t\t\t\ttype: 'Matches',\n\t\t\t\t\tvalue: 'button'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'matches-bare',\n\t\t\t\t\ttype: 'Matches',\n\t\t\t\t\tvalue: 'bare'\n\t\t\t\t}\n\t\t\t]}\n\t\t\ttype=\"Components\"\n\t\t\tper-page-options={[20, 50, 100]}\n\t\t></dps-filter-bar>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-filter-nav';\nimport filterNavItems from './server.json';\n\nexport default createCustomElement('dps-filter-nav-example', {\n\trenderer: { type: snabbdom },\n\tstyles: `\n\t\t:host {\n\t\t\tdisplay: block;\n\t\t\twidth: 300px;\n\t\t\tpadding: 12px 0;\n\t\t}\n\t`,\n\tview: () => (\n\t\t<dps-filter-nav\n\t\t\tdata={filterNavItems}\n\t\t\titems={filterNavItems.server}\n\t\t\toptions={[\n\t\t\t\t{ label: 'server legacy' },\n\t\t\t\t{ label: 'server' },\n\t\t\t\t{ label: 'client' },\n\t\t\t\t{ label: 'rest' }\n\t\t\t]}\n\t\t></dps-filter-nav>\n\t)\n});\n","import {actionTypes} from '@servicenow/ui-core';\nimport mapValues from 'lodash/mapValues';\nimport debounce from 'lodash/debounce';\n\nconst {COMPONENT_CONNECTED, COMPONENT_DISCONNECTED} = actionTypes;\nconst BEHAVIOR_NAME = 'mediaQuery';\nconst hostToMatchers = new Map();\n\n/* Remove listener for each query defined */\nconst removeMatchListeners = (host) => {\n\t// Workaround for DEF0104864. It's possible that removeMatchListeners gets\n\t// called without COMPONENT_CONNECTED/createMatchListeners ever happening.\n\t//\n\t// But since the component is already disconnected and cleaned up,\n\t// there isn't anything else we need to do.\n\tif (!hostToMatchers.has(host)) return;\n\n\tconst {matchers, handler} = hostToMatchers.get(host);\n\tObject.keys(matchers).forEach((query) => {\n\t\tconst matcher = matchers[query];\n\t\tmatcher.removeListener(handler);\n\t});\n\n\thostToMatchers.delete(host);\n};\n\n/* Add a `matchMedia` listener for each query */\nconst createMatchListeners = (host, queries, handler) => {\n\tconst matchers = mapValues(queries, (query) => {\n\t\tconst matcher = window.matchMedia(query);\n\t\tmatcher.addListener(handler);\n\t\treturn matcher;\n\t});\n\n\thostToMatchers.set(host, {\n\t\thandler,\n\t\tmatchers,\n\t});\n};\n\n/*\n * Create object of results to return to component\n */\nconst updateMatchResults = (host, updateState) => {\n\t// Since this function is debounced, if the component disconnects it is\n\t// possible for `removeMatchListeners` to have been run before this. In that\n\t// case, we will no longer have `host` as a key in this map.\n\t//\n\t// But since the component has disconnected we don't really need to update\n\t// state anyway, so we can just bail out early.\n\tif (!hostToMatchers.has(host)) {\n\t\treturn;\n\t}\n\n\tconst {matchers} = hostToMatchers.get(host);\n\tconst matchResults = mapValues(matchers, (matcher) => matcher.matches);\n\n\tupdateState(() => {\n\t\treturn {\n\t\t\toperation: 'set',\n\t\t\tpath: `behaviors.${BEHAVIOR_NAME}`,\n\t\t\tvalue: matchResults,\n\t\t};\n\t});\n};\n\n/**\n * This behavior can be used to bind to one or more CSS media queries in JS.\n *\n * This behavior takes in an object of CSS media query definitions through\n * `options`. The behavior will take those media queries: add listeners to the\n * window, evaluate if the current window matches the media queries, and passed\n * back an object in `state.behaviors.mediaQuery` with the results.\n *\n * When a listener is triggered the state will be updated with the new results.\n *\n * After installation import the behavior at the top of your component JS file\n * and register it in your component behaviors list:\n *\n * ```js\n * import mediaQueryBehavior from '@servicenow/behavior-media-query';\n *\n * createCustomElement('sn-example', {\n *   // ...\n *   behaviors: [\n *     {\n *       behavior: mediaQueryBehavior,\n *       options: {\n *         smallQuery: '(max-width: 27em)',\n *         mediumQuery: '(min-width: 27em) and (max-width: 48em)',\n *         largeQuery: '(min-width: 48em)'\n *       }\n *     }\n *   ]\n * });\n * ```\n */\nexport default {\n\tname: BEHAVIOR_NAME,\n\tactionHandlers: {\n\t\t/*\n\t\t * create matchListeners\n\t\t * dispatch results to component\n\t\t */\n\t\t[COMPONENT_CONNECTED]: ({updateState, host, action: {payload}}) => {\n\t\t\tconst queries = payload.options;\n\t\t\tconst handler = debounce(\n\t\t\t\tupdateMatchResults.bind(null, host, updateState),\n\t\t\t\t5,\n\t\t\t);\n\n\t\t\tcreateMatchListeners(host, queries, handler);\n\t\t\tupdateMatchResults(host, updateState);\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: ({host}) => {\n\t\t\tremoveMatchListeners(host);\n\t\t},\n\t},\n};\n","const ONE_MINUTE = 60000; // milliseconds\n\nconst getUserInfo = location => ({\n    userSessionId: getUserSessionId(),\n    userLanguage: getUserLanguage(),\n    browserInfo: getUserBrowserInfo(),\n    latitude: location.hasOwnProperty('latitude') ? location.latitude : null,\n    longitude: location.hasOwnProperty('longitude') ? location.longitude : null,\n});\n\nconst getUserSessionId = () => {\n    return window.NOW && window.NOW.session_id ? window.NOW.session_id : '';\n};\n\nconst getUserLanguage = () => {\n    if (window.NOW && window.NOW.language && window.NOW.language != '')\n        return window.NOW.language;\n\n    return '';\n};\n\nconst getUserBrowserInfo = () => {\n    return window.navigator.userAgent;\n};\n\nasync function fetchUserLocationAsync() {\n    return new Promise((resolve, reject) => {\n        const onSuccess = pos => {\n            resolve({\n                latitude: pos.coords.latitude,\n                longitude: pos.coords.longitude,\n            });\n        };\n\n        const onError = () => {\n            reject({ latitude: null, longitude: null });\n        };\n\n        window.navigator.geolocation.getCurrentPosition(onSuccess, onError, {\n            enableHighAccuracy: true,\n            timeout: ONE_MINUTE,\n        });\n    });\n}\n\nexport { getUserInfo, fetchUserLocationAsync };\n","const API_URL = '/api/now/analytics/events';\nconst queueLimit = 100;\nconst defaultTimeout = 1000;\n\nlet eventQueue = [];\nlet timer = null;\nlet pendingCalls = [];\nlet eventsRequiringPrecedingCallCompletion = [];\n\nconst postAllEvents = () => {\n    eventQueue.forEach(function (event) {\n        postEvent(event);\n    });\n\n    eventQueue = [];\n    timer = null;\n};\n\nconst processCallCompletion = (event, request) => {\n    // Remove the completed call from the list of pending calls\n    pendingCalls.splice(pendingCalls.indexOf(event), 1);\n\n    // For the events that are depending on preceding calls finishing,\n    // check each one and see if the calls it's dependent on have finishes.\n    // If so, process it.\n    eventsRequiringPrecedingCallCompletion.forEach((queuedEvent) => {\n        let stillWaiting = false;\n        queuedEvent.precedingCalls.forEach((precedingCall) => {\n            if (pendingCalls.includes(precedingCall)) stillWaiting = true;\n        });\n        if (!stillWaiting) {\n            eventsRequiringPrecedingCallCompletion.splice(\n                eventsRequiringPrecedingCallCompletion.indexOf(queuedEvent),\n                1\n            );\n            postEvent(queuedEvent);\n        }\n    });\n\n    // If a callback was provided on the config, call it now that the event has finished being processed\n    const { config } = event;\n    const { callback } = config;\n    if (callback) callback(request);\n};\n\nconst postEvent = (event, isRetry = false) => {\n    const { eventAction, eventPriority, eventBody, config } = event;\n    const { requirePrecedingEventCompletion, callback, trackAsync } = config;\n\n    if (requirePrecedingEventCompletion && pendingCalls.length > 0) {\n        event.precedingCalls = [...pendingCalls];\n        eventsRequiringPrecedingCallCompletion.push(event);\n        return;\n    }\n\n    const xmlhttp = new XMLHttpRequest();\n    const queryParams = `?sysparm_event_action=${eventAction}&sysparm_event_priority=${eventPriority}&sysparm_track_async=${trackAsync}`;\n\n    xmlhttp.open('POST', API_URL + queryParams);\n    xmlhttp.setRequestHeader('Content-Type', 'application/json');\n\n    if (window.g_ck) xmlhttp.setRequestHeader('X-UserToken', g_ck);\n\n    xmlhttp.onreadystatechange = () => {\n        // Call a function when the state changes.\n        if (xmlhttp.readyState === XMLHttpRequest.DONE) {\n            // Request finished\n            if (xmlhttp.status === 401) {\n                if (isRetry) {\n                    console.warn('Received 401 on retry attempt. Aborting retry for event:', eventAction);\n                } else {\n                    const newToken = xmlhttp.getResponseHeader('X-UserToken-Response');\n                    if (newToken) {\n                        if (newToken !== window.g_ck) {\n                            console.warn(\"Received 401 while posting event. Updating token and retrying request\");\n                            window.g_ck = newToken;\n                            postEvent({...event}, true);\n                            return;\n                        } else {\n                            console.warn('Received 401 while posting event but token in response matches current token. Will not retry.');\n                        }\n                    } else {\n                        console.warn('Received 401 without a new token in X-UserToken-Response header while posting event. Will not retry.');\n                    }\n                }\n            }\n            processCallCompletion(event, xmlhttp);\n        }\n    };\n    \n    if (!isRetry) pendingCalls.push(event);\n    xmlhttp.send(JSON.stringify(eventBody));\n};\n\nconst pushEvent = (event, timeout = defaultTimeout) => {\n    eventQueue.push(event);\n    if (eventQueue.length === queueLimit || timeout <= 0) {\n        postAllEvents();\n    } else {\n        // timer is already present we just need to add to the queue\n        // until it flushes itself\n        if (timer) return;\n\n        timer = setTimeout(function () {\n            postAllEvents();\n        }, timeout);\n    }\n};\n\nexport default pushEvent;\n","import { getUserInfo, fetchUserLocationAsync } from './user';\nimport pushEvent from './queue';\n\n/**\n * Glide Signals to track events and collect user analytics\n *\n * #trackEvent(action, priority, eventModel, config) allows to send a custom event to Glide Signals\n */\nconst GlideSignals = {\n    _location: {},\n    priority: {\n        INFO: 'INFO',\n        WARN: 'WARN',\n        ERROR: 'ERROR',\n    },\n\n    postContextProperty(propertyName, propertyVal, isRetry = false) {\n        const xmlhttp = new XMLHttpRequest();\n        const uri = '/api/now/analytics/updateContext';\n\n        const body = {\n            sys_context_property_name: propertyName,\n            sys_context_property_value: propertyVal,\n        };\n        xmlhttp.open('POST', uri);\n        xmlhttp.setRequestHeader('Content-Type', 'application/json');\n\n        if (window.g_ck) xmlhttp.setRequestHeader('X-UserToken', g_ck);\n\n        xmlhttp.onreadystatechange = () => {\n            if (xmlhttp.readyState === XMLHttpRequest.DONE) {\n                if (xmlhttp.status === 401) {\n                    if (isRetry) {\n                        console.warn('Received 401 on retry attempt while updating context property:', propertyName);\n                    } else {\n                        const newToken = xmlhttp.getResponseHeader('X-UserToken-Response');\n                        if (newToken) {\n                            if (newToken !== window.g_ck) {\n                                console.warn(\"Received 401 while updating context property. Updating token and retrying request\");\n                                window.g_ck = newToken;\n                                this.postContextProperty(propertyName, propertyVal, true);\n                                return;\n                            } else {\n                                console.warn('Received 401 while updating context property but token in response matches current token. Will not retry.');\n                            }\n                        } else {\n                            console.warn('Received 401 without a new token in X-UserToken-Response header while updating context property. Will not retry.');\n                        }\n                    }\n                }\n            }\n        };\n\n        xmlhttp.send(JSON.stringify(body));\n    },\n\n    /**\n     * Post an event to the back end Signals REST API\n     *\n     * @param eventAction {string} the name of the event (e.g. SEARCH_EVENT, GENIUS_RESULT_EVENT)\n     * @param eventPriority {string} The priority - see the #priority object above\n     * @param eventModel {Object} the payload containing attributes describing the event being logged\n     * @param config {Object} Optional param to control when and how the event is logged. You can set\n     *                  the following on the config:\n     *                      requirePrecedingEventCompletion: boolean - event should only be logged once all\n     *                          preceding events have finishing being logged\n     *                      trackAsync: boolean - Insert the event in the backend staging table (sys_signal_event_queue)\n     *                          to be fully processed later by a scheduled job\n     *                      callback: function - Provides a way to be notified when the event has been logged. The\n     *                          XMLHttpRequest will be passed to the callback.\n     *                      delayInMs: int - Duration to queue the event before processing - default is 1000\n     */\n    trackEvent(eventAction, eventPriority, eventModel, config = {}) {\n        const user = getUserInfo(this._location);\n        const { delay } = config;\n        pushEvent(\n            {\n                eventAction,\n                eventPriority,\n                eventBody: {\n                    ...eventModel,\n                    ...user,\n                },\n                config: config || {},\n            },\n            delay\n        );\n    },\n\n    async init() {\n        try {\n            this._location = await fetchUserLocationAsync();\n            if (this._location.hasOwnProperty('latitude')) {\n                this.postContextProperty('latitude', this._location.latitude);\n            }\n            if (this._location.hasOwnProperty('longitude')) {\n                this.postContextProperty('longitude', this._location.longitude);\n            }\n        } catch (e) {}\n    },\n};\n\nexport default GlideSignals;\n","import GlideSignals from './src/signals';\n\nexport default GlideSignals;","import GlideSignals from 'sn-signals';\nimport {t} from 'sn-translate';\n\nexport const GLOBAL_SEARCH_SOURCE = 'global';\n\nconst POPOVER_ITEM_TYPE = {\n\tQUERY_CONTENT: 'QUERY_CONTENT',\n\tRECENTLY_VIEWED: 'RECENTLY_VIEWED',\n\t//Recently Viewed results by user\n\tUSER_HISTORY_AND_CLICK: 'USER_HISTORY_AND_CLICK',\n\tEXACT_MATCH: 'EXACT_MATCH',\n\t// Recent queries by the user\n\tUSER_HISTORY: 'USER_HISTORY',\n\t// Recent clicked results by the user\n\tPERSONAL_CLICK: 'PERSONAL_CLICK',\n\tAUTOCOMPLETE: 'AUTOCOMPLETE',\n\tPOPULAR_QUERY: 'POPULAR_QUERY',\n\tNAVIGATION: 'NAVIGATION',\n\tSECTION_HEADER: 'SECTION_HEADER',\n\tUSER_SEARCH_TERM: 'USER_SEARCH_TERM',\n\tFOOTER: 'FOOTER' //for global search\n};\n\nconst EVENT_TYPE = {\n\tSEARCH_FROM_INPUT: 'SEARCH_FROM_INPUT',\n\tSEARCH_FROM_POPOVER: 'SEARCH_FROM_POPOVER',\n\tNAVIGATION: 'NAVIGATION'\n};\n\nconst UPDATE_ARIA_LIVE_TEXT_SOURCES = {\n\tCLEAR_RECENT_SEARCH_ITEM: 'CLEAR_RECENT_SEARCH_ITEM',\n\tRESULT_COUNT: 'RESULT_COUNT'\n};\n\nconst MAX_QUERY_LENGTH = 255; // characters\n\nconst SIZE = {\n\tSMALL: 'sm',\n\tLARGE: 'lg'\n};\n\nconst PLACEMENT = {\n\tBODY: 'body',\n\tHEADER: 'header'\n};\n\nconst AUTOCOMPLETE_QUERY_EVENT = 'AUTOCOMPLETE_QUERY_EVENT';\nconst INFO_EVENT = GlideSignals.priority.INFO;\nconst SEISMIC_OR_MOBILE_APPLICATION = 'SeismicOrMobileApplication';\n\nconst INPUT_DEBOUNCE_DELAY = 500; // milliseconds\nconst DEBOUNCE_MODIFIER = 'debounce';\nconst SUGGESTION_QUERY = `query($searchContextConfigId: String!, $term: String!){\n    GlideSearch_Query {\n        suggestions(searchContextConfigId: $searchContextConfigId, searchTerm: $term) {\n            term\n            data {\n                name\n                records {\n                    type\n                    columns {\n                        label\n                        fieldName\n                        value\n                        displayValue\n                    }\n                }\n            }\n        }\n    }\n}`;\n\nconst CLEAR_SEARCH_FROM_HISTORY_MUTATION_QUERY = `mutation($searchContextConfigId: String!, $term: String!){\n    GlideSearch_Mutation {\n        clearSearchFromHistory(searchContextConfigId: $searchContextConfigId, searchTerm: $term) {\n            term\n        }\n    }\n}`;\n\nconst PERSONAL_CLICK_FIELDS = {\n\tTABLE: 'source_table',\n\tSYSID: 'result_doc_id',\n\tURL: 'source_url',\n\tLABEL: 'name',\n\tACTION_DATA: 'action_data'\n};\nconst EXACT_MATCH_FIELDS = {\n\tTABLE: 'source_table_name',\n\tSYSID: 'sysID',\n\tRECORD_URL: 'record_url',\n\tNUMBER: 'number',\n\tDOCUMENT_TYPE_ID: 'document_type_id'\n};\n\nconst QUERY_CONTENT_FIELDS = {\n\tTABLE: 'table',\n\tSYSID: 'sys_id',\n\tRECORD_URL: 'url',\n\tPARENT_TABLE: 'parent_table',\n\tPARENT_RECORD_SYSID: 'parent_sys_id'\n};\n\nconst SR_LABELS = {\n\tCLEARED_RECENT_SEARCH_ITEM: t('cleared recent search term'),\n\tEXACT_MATCH_FOUND: t('exact match found')\n};\n\nconst LABELS = {\n\tCLEAR_SEARCH: t('Clear search term'),\n\tSUBMIT_SEARCH: t('Submit search'),\n\tCLEAR_RECENT_SEARCH: t('Clear recent search'),\n\tCANCEL_SEARCH: t('Cancel search'),\n\tLOADING_LABEL: t('Checking for suggestions...'),\n\tSHOW_SEARCH_PANEL: t('show search panel')\n};\n\nconst KEYCODE = {\n\tENTER: 'Enter',\n\tSPACE: 'Space'\n};\n\nconst KEYBOARD_NAVIGATION = {\n\tUP: 'UP',\n\tDOWN: 'DOWN',\n\tRIGHT: 'RIGHT',\n\tLEFT: 'LEFT'\n};\n\nconst RECENT_SEARCH_SECTION_HEADER = t('Recent Searches');\n\nconst SEARCH_CONTEXT_TRIGGER_LABEL = t('Choose search context');\nconst PANEL_DROPDOWN = t('Dropdown');\nconst DROPDOWN_POSITION = ['bottom-end top-end'];\nconst CONTEXT_SWITCH_TOP_OFFSET = 2;\nconst WINDOW_SIZE = {\n\tEXPANDED: 'expanded',\n\tCOLLAPSED: 'collapsed',\n\tMOBILE: 'mobile'\n};\nconst GLOBAL_SEARCH_MOBILE_CONTEXT_CONSTRAIN_WIDTH = {\n\tminWidth: 'target',\n\tmaxWidth: 244\n};\n\nconst GLOBAL_SEARCH_DROPDOWN_WIDTH = 320;\nconst GLOBAL_RECENT_SEARCH_SECTION_HEADER = t('RECENTLY SEARCHED');\n\nconst GLOBAL_SEARCH_WIDTH = '356px';\nconst DEFAULT_PLACEHODLER = t('Search');\nconst GLOBAL_SEARCH_MOBILE_WIDTH = '300px';\n\nconst DEFAULT_EXACT_MATCH_REGEX = '^\\\\s*[a-zA-Z]+\\\\d+\\\\s*$';\n\nexport const ICON_SOURCE_MAP = new Map([\n\t['now-support', 'document-outline'],\n\t['now-learning', 'book-open-outline'],\n\t['servicenow-university', 'book-open-outline'],\n\t['partner-portal', 'document-outline'],\n\t['now-create', 'document-outline'],\n\t['developer-portal', 'code-outline'],\n\t['now-community-articles', 'ongoing-outline'],\n\t['now-community', 'ongoing-outline'],\n\t['prod-docs', 'book-outline'],\n\t['product-documentation', 'book-outline'],\n\t['customer-success', 'handshake-outline'],\n\t['customer-success-center', 'handshake-outline'],\n\t['best-practices', 'lightbulb-outline'],\n\t['servicenow', 'globe-outline'],\n\t['servicenow.com', 'globe-outline'],\n\t['dotcom-gsdr', 'globe-outline']\n]);\n\nconst ICON_TYPE = new Map([\n\t['incident', 'circle-exclamation-outline'],\n\t['sc_cat_item', 'book-outline'],\n\t['kb_knowledge', 'document_outline'],\n\t['change_request', 'arrow-up-down-outline'],\n\t['sys_user_group', 'user-group-outline'],\n\t['sys_user', 'user-outline'],\n\t['problem', 'triangle-exclamation-outline'],\n\t['task', 'circle-exclamation-outline']\n]);\n\nconst EXACT_MATCH_REGEX_SYS_PROPERTY =\n\t'com.snc.agent_workspace.global_search.typeahead.exact_match_request_criterion_regex';\n\nconst EXACT_MATCH_SECTION_HEADER = t('EXACT MATCH');\n\nconst SYS_ATTACHMENT = 'sys_attachment';\n\nconst ATTACHMENT_LABEL = 'Attachment';\n\nconst EXACT_MATCH_CONFIG_QUERY = `query($searchContextConfigId: String!){\n    GlideRecord_Query {\n      sys_search_context_config (sys_id: $searchContextConfigId) {\n        _results {\n          enable_exact_match{\n            value\n          }\n        }\n      }\n    }\n}`;\n\nconst DATABROKER_URI_QUERY = '/api/now/uxf/databroker/exec';\n\nconst EXACT_MATCH_QUERY_PATH = `result[0].executionResult.output`;\n\nconst CACHE_INPUT_SUGGESTION_PREFIX = 'search.input.suggestion.';\nconst CACHE_EXACT_MATCH_KEY = 'search.input.exactmatch';\n\nconst POPOVER_FOOTER_SIGN_IN = t(\n\t'sn_cx_shell_addon.search_popover_footer.sign_in'\n);\nconst POPOVER_FOOTER_SEARCH_EXPERIENCE = t(\n\t'sn_cx_shell_addon.search_popover_footer.search_experience'\n);\n\nconst ICON_SIZES = {\n\tSM: 'sm',\n\tMD: 'md',\n\tLG: 'lg',\n\tXL: 'xl'\n};\n\n/**\n * Object containing event names for Adobe Analytics purposes.\n */\nexport const ANALYTICS_EVENTS = {\n\t// Dispatched event name for Adobe Analytics in click event.\n\tCLICK: 'AA_TRACK#PAGE_ELEMENT_CLICKED',\n\n\t// Dispatched event name for Adobe Analytics in page load event. 22a13422c90b76c36f173f53a2858cf4\n\tPAGE_LOAD: 'AA_TRACK#PAGE_LOADED',\n\n\t// Dispatched event name for Adobe Analytics in content load event.\n\tIMPRESSION: 'AA_TRACK#PAGE_CONTENT_IMPRESSION'\n};\n\nexport {\n\tPOPOVER_ITEM_TYPE,\n\tDEBOUNCE_MODIFIER,\n\tINPUT_DEBOUNCE_DELAY,\n\tSUGGESTION_QUERY,\n\tCLEAR_SEARCH_FROM_HISTORY_MUTATION_QUERY,\n\tEVENT_TYPE,\n\tMAX_QUERY_LENGTH,\n\tSIZE,\n\tPLACEMENT,\n\tAUTOCOMPLETE_QUERY_EVENT,\n\tINFO_EVENT,\n\tSEISMIC_OR_MOBILE_APPLICATION,\n\tPERSONAL_CLICK_FIELDS,\n\tLABELS,\n\tKEYCODE,\n\tKEYBOARD_NAVIGATION,\n\tRECENT_SEARCH_SECTION_HEADER,\n\tDROPDOWN_POSITION,\n\tCONTEXT_SWITCH_TOP_OFFSET,\n\tWINDOW_SIZE,\n\tGLOBAL_SEARCH_MOBILE_CONTEXT_CONSTRAIN_WIDTH,\n\tSEARCH_CONTEXT_TRIGGER_LABEL,\n\tGLOBAL_RECENT_SEARCH_SECTION_HEADER,\n\tGLOBAL_SEARCH_WIDTH,\n\tDEFAULT_PLACEHODLER,\n\tDEFAULT_EXACT_MATCH_REGEX,\n\tEXACT_MATCH_FIELDS,\n\tQUERY_CONTENT_FIELDS,\n\tICON_TYPE,\n\tEXACT_MATCH_REGEX_SYS_PROPERTY,\n\tGLOBAL_SEARCH_MOBILE_WIDTH,\n\tEXACT_MATCH_SECTION_HEADER,\n\tGLOBAL_SEARCH_DROPDOWN_WIDTH,\n\tPANEL_DROPDOWN,\n\tSYS_ATTACHMENT,\n\tATTACHMENT_LABEL,\n\tUPDATE_ARIA_LIVE_TEXT_SOURCES,\n\tSR_LABELS,\n\tEXACT_MATCH_CONFIG_QUERY,\n\tEXACT_MATCH_QUERY_PATH,\n\tDATABROKER_URI_QUERY,\n\tCACHE_INPUT_SUGGESTION_PREFIX,\n\tCACHE_EXACT_MATCH_KEY,\n\tPOPOVER_FOOTER_SIGN_IN,\n\tPOPOVER_FOOTER_SEARCH_EXPERIENCE,\n\tICON_SIZES\n};\n","import GlideSignals from 'sn-signals';\nimport {SEISMIC_OR_MOBILE_APPLICATION} from '../constants';\n\nconst signalTracker = {\n\ttrackEvent(eventAction, eventPriority, eventModel) {\n\t\teventModel.applicationType = SEISMIC_OR_MOBILE_APPLICATION;\n\t\tGlideSignals.trackEvent(eventAction, eventPriority, eventModel);\n\t}\n};\n\nexport default signalTracker;\n","// public actions exposed to external components\nexport const SEARCH_EXECUTED = 'SN_SEARCH_COMBOBOX#SEARCH_EXECUTED';\nexport const NAVIGATION_EXECUTED = 'SN_SEARCH_COMBOBOX#NAVIGATION_EXECUTED';\nexport const NAVIGATION_SUCCEEDED = 'SN_SEARCH_COMBOBOX#NAVIGATION_SUCCEEDED';\nexport const CONTEXT_CHANGED = 'SN_SEARCH_COMBOBOX#CONTEXT_CHANGED';\nexport const SEARCH_CLOSED = 'SN_CX_SEARCH_MODAL#SEARCH_CLOSED';\nexport const SEARCH_INITIATED = 'SN_CX_SEARCH_MODAL#SEARCH_INITIATED';\nexport const SIGNIN_BUTTON_CLICKED_INITIATED =\n\t'SN_SEARCH_COMBOBOX#SIGNIN_BUTTON_CLICKED';\n\n// private actions consumed within sn-search-combobox component\nexport const SEARCH_EXECUTED_INTERNAL = 'SEARCH_EXECUTED';\nexport const NAVIGATION_EXECUTED_INTERNAL = 'NAVIGATION_EXECUTED';\n\nexport const NAVIGATION_EXECUTED_UTIL =\n\t'SN_SEARCH_COMBOBOX#NAVIGATION_EXECUTED_UTIL';\nexport const NAVIGATION_EXECUTED_PUBLIC_UTIL =\n\t'SN_SEARCH_COMBOBOX#NAVIGATION_EXECUTE_PUBLIC_UTIL';\nexport const CONTEXT_CHANGED_INTERNAL = 'CONTEXT_CHANGED';\nexport const SEARCH_CLOSED_INTERNAL = 'SEARCH_CLOSED';\nexport const MOBILE_CANCEL_BUTTON_CLICKED = 'MOBILE_CANCEL_BUTTON_CLICKED';\nexport const NOW_BUTTON_BARE_CLICKED = 'NOW_BUTTON_BARE#CLICKED'; // nds action\nexport const NOW_BUTTON_ICONIC_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED'; // nds action\nexport const NOW_TEXT_LINK_CLICKED = 'NOW_TEXT_LINK#CLICKED'; //nds action\nexport const HANDLE_TOOLTIP_ON_TRUNCATED_TEXT =\n\t'HANDLE_TOOLTIP_ON_TRUNCATED_TEXT';\n\n// SEARCH INPUT\nexport const INPUT_CHANGED = 'INPUT_CHANGED';\nexport const INPUT_FOCUSED_IN = 'INPUT_FOCUSED_IN';\nexport const INPUT_FOCUSED_OUT = 'INPUT_FOCUSED_OUT';\nexport const SHOW_POPOVER = 'SHOW_POPOVER';\nexport const HIDE_POPOVER = 'HIDE_POPOVER';\nexport const CONTEXT_DROPDOWN_FOCUSED = 'CONTEXT_DROPDOWN_FOCUSED';\n\n// POPOVER\nexport const ARROW_UP_PRESSED = 'ARROW_UP_PRESSED';\nexport const ARROW_DOWN_PRESSED = 'ARROW_DOWN_PRESSED';\nexport const ARROW_LEFT_PRESSED = 'ARROW_LEFT_PRESSED';\nexport const ARROW_RIGHT_PRESSED = 'ARROW_RIGHT_PRESSED';\nexport const MOUSE_OVERED = 'MOUSE_OVERED';\n\n// CLEARING SEARCH FROM USER HISTORY\nexport const CLEAR_SEARCH_SELECTED = 'CLEAR_SEARCH_SELECTED';\nexport const CLEAR_SEARCH_MUTATION = 'CLEAR_SEARCH_MUTATION';\nexport const CLEAR_SEARCH_MUTATION_SUCCEEDED =\n\t'CLEAR_SEARCH_MUTATION_SUCCEEDED';\nexport const CLEAR_SEARCH_MUTATION_FAILED = 'CLEAR_SEARCH_MUTATION_FAILED';\n\nexport const ITEM_SELECTED = 'ITEM_SELECTED';\nexport const ITEM_FOCUSED = 'ITEM_FOCUSED';\n\n// POPOVER DATA\nexport const DEBOUNCED_SUGGESTION_FETCH = 'DEBOUNCED_SUGGESTION_FETCH';\nexport const SUGGESTION_FETCH = 'SUGGESTION_FETCH';\nexport const SUGGESTION_FETCH_STARTED = 'SUGGESTION_FETCH_STARTED';\nexport const SUGGESTION_FETCH_SUCCEEDED = 'SUGGESTION_FETCH_SUCCEEDED';\nexport const SUGGESTION_FETCH_FAILED = 'SUGGESTION_FETCH_FAILED';\n\n// EXACT_MATCH\nexport const EXACT_MATCH_FETCH = 'EXACT_MATCH_FETCH';\nexport const EXACT_MATCH_STARTED = 'EXACT_MATCH_STARTED';\nexport const EXACT_MATCH_SUCCEEDED = 'EXACT_MATCH_SUCCEEDED';\nexport const EXACT_MATCH_FAILED = 'EXACT_MATCH_FAILED';\n\n// SEARCH CONTEXT SWITCH\nexport const CONTEXT_DROPDOWN_CLICKED = 'NOW_DROPDOWN#OPENED_SET';\nexport const CONTEXT_ITEM_SELECTED = 'NOW_DROPDOWN#ITEM_CLICKED';\n\n//SEARCH PANEL DISPLAY\nexport const SHOW_SEARCH_PANEL = 'SHOW_SEARCH_PANEL';\nexport const HIDE_SEARCH_PANEL = 'HIDE_SEARCH_PANEL';\nexport const SET_REF = 'SET_REF';\n\nexport const FETCH_EXACT_MATCH_CONFIG = 'FETCH_EXACT_MATCH_CONFIG';\nexport const SET_ENABLE_EXACT_MATCH_PROPERTY =\n\t'SET_ENABLE_EXACT_MATCH_PROPERTY';\n\nexport const SWITCH_TO_DEFAULT_ENABLE_EXACT_MATCH_PROPERTY =\n\t'SWITCH_TO_DEFAULT_ENABLE_EXACT_MATCH_PROPERTY';\n\nexport const NAV_ITEM_SELECTED = 'NAV_ITEM_SELECTED';\n\nexport const UPDATE_SEARCH_CACHE = 'SN_CX_SEARCH_INPUT#UPDATE_SEARCH_CACHE';\nexport const SET_INPUT_DESKTOP_ELEMENT = 'SN_CX_SEARCH_INPUT#SET_INPUT_ELEMENT';\n","function normalizeSelector(sel) {\n\t// save unmatched text, if any\n\tfunction saveUnmatched() {\n\t\tif (unmatched) {\n\t\t\t// whitespace needed after combinator?\n\t\t\tif (tokens.length > 0 && /^[~+>]$/.test(tokens[tokens.length - 1])) {\n\t\t\t\ttokens.push(' ');\n\t\t\t}\n\n\t\t\t// save unmatched text\n\t\t\ttokens.push(unmatched);\n\t\t}\n\t}\n\n\tconst tokens = [],\n\t\tstate = [0],\n\t\tnot_escaped_pattern = /(?:[^\\\\]|(?:^|[^\\\\])(?:\\\\\\\\)+)$/,\n\t\twhitespace_pattern = /^\\s+$/,\n\t\tstate_patterns = [\n\t\t\t/\\s+|\\/\\*|[\"'>~+[(]/g, // general\n\t\t\t/\\s+|\\/\\*|[\"'[\\]()]/g, // [..] set\n\t\t\t/\\s+|\\/\\*|[\"'[\\]()]/g, // (..) set\n\t\t\tnull, // string literal (placeholder)\n\t\t\t/\\*\\//g // comment\n\t\t];\n\tlet match,\n\t\tunmatched,\n\t\tregex,\n\t\tnext_match_idx = 0,\n\t\tprev_match_idx;\n\n\tsel = sel.trim();\n\n\t// eslint-disable-next-line no-constant-condition\n\twhile (true) {\n\t\tunmatched = '';\n\n\t\tregex = state_patterns[state[state.length - 1]];\n\n\t\tregex.lastIndex = next_match_idx;\n\t\tmatch = regex.exec(sel);\n\n\t\t// matched text to process?\n\t\tif (match) {\n\t\t\tprev_match_idx = next_match_idx;\n\t\t\tnext_match_idx = regex.lastIndex;\n\n\t\t\t// collect the previous string chunk not matched before this token\n\t\t\tif (prev_match_idx < next_match_idx - match[0].length) {\n\t\t\t\tunmatched = sel.substring(\n\t\t\t\t\tprev_match_idx,\n\t\t\t\t\tnext_match_idx - match[0].length\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// general, [ ] pair, ( ) pair?\n\t\t\tif (state[state.length - 1] < 3) {\n\t\t\t\tsaveUnmatched();\n\n\t\t\t\t// starting a [ ] pair?\n\t\t\t\tif (match[0] === '[') {\n\t\t\t\t\tstate.push(1);\n\t\t\t\t}\n\t\t\t\t// starting a ( ) pair?\n\t\t\t\telse if (match[0] === '(') {\n\t\t\t\t\tstate.push(2);\n\t\t\t\t}\n\t\t\t\t// starting a string literal?\n\t\t\t\telse if (/^[\"']$/.test(match[0])) {\n\t\t\t\t\tstate.push(3);\n\t\t\t\t\tstate_patterns[3] = new RegExp(match[0], 'g');\n\t\t\t\t}\n\t\t\t\t// starting a comment?\n\t\t\t\telse if (match[0] === '/*') {\n\t\t\t\t\tstate.push(4);\n\t\t\t\t}\n\t\t\t\t// ending a [ ] or ( ) pair?\n\t\t\t\telse if (/^[\\])]$/.test(match[0]) && state.length > 0) {\n\t\t\t\t\tstate.pop();\n\t\t\t\t}\n\t\t\t\t// handling whitespace or a combinator?\n\t\t\t\telse if (/^(?:\\s+|[~+>])$/.test(match[0])) {\n\t\t\t\t\t// need to insert whitespace before?\n\t\t\t\t\tif (\n\t\t\t\t\t\ttokens.length > 0 &&\n\t\t\t\t\t\t!whitespace_pattern.test(tokens[tokens.length - 1]) &&\n\t\t\t\t\t\tstate[state.length - 1] === 0\n\t\t\t\t\t) {\n\t\t\t\t\t\t// add normalized whitespace\n\t\t\t\t\t\ttokens.push(' ');\n\t\t\t\t\t}\n\n\t\t\t\t\t// case-insensitive attribute selector CSS L4\n\t\t\t\t\tif (\n\t\t\t\t\t\tstate[state.length - 1] === 1 &&\n\t\t\t\t\t\ttokens.length === 5 &&\n\t\t\t\t\t\ttokens[2].charAt(tokens[2].length - 1) === '='\n\t\t\t\t\t) {\n\t\t\t\t\t\ttokens[4] = ' ' + tokens[4];\n\t\t\t\t\t}\n\n\t\t\t\t\t// whitespace token we can skip?\n\t\t\t\t\tif (whitespace_pattern.test(match[0])) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// save matched text\n\t\t\t\ttokens.push(match[0]);\n\t\t\t}\n\t\t\t// otherwise, string literal or comment\n\t\t\telse {\n\t\t\t\t// save unmatched text\n\t\t\t\ttokens[tokens.length - 1] += unmatched;\n\n\t\t\t\t// unescaped terminator to string literal or comment?\n\t\t\t\tif (not_escaped_pattern.test(tokens[tokens.length - 1])) {\n\t\t\t\t\t// comment terminator?\n\t\t\t\t\tif (state[state.length - 1] === 4) {\n\t\t\t\t\t\t// ok to drop comment?\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\ttokens.length < 2 ||\n\t\t\t\t\t\t\twhitespace_pattern.test(tokens[tokens.length - 2])\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\ttokens.pop();\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// otherwise, turn comment into whitespace\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\ttokens[tokens.length - 1] = ' ';\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// handled already\n\t\t\t\t\t\tmatch[0] = '';\n\t\t\t\t\t}\n\n\t\t\t\t\tstate.pop();\n\t\t\t\t}\n\n\t\t\t\t// append matched text to existing token\n\t\t\t\ttokens[tokens.length - 1] += match[0];\n\t\t\t}\n\t\t}\n\t\t// otherwise, end of processing (no more matches)\n\t\telse {\n\t\t\tunmatched = sel.substr(next_match_idx);\n\t\t\tsaveUnmatched();\n\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn tokens.join('').trim();\n}\n\n/**\n * Finds first matching elements on the page that may be in a shadow root using a complex selector of n-depth.\n * Don't have to specify all shadow roots to button, tree is traversed to find the correct element.\n *\n * Example querySelectorAllDeep('downloads-item:nth-child(4) #remove');\n *\n * Example should work on chrome://downloads outputting the remove button inside of a download card component\n *\n * Example find first active download link element querySelectorDeep('#downloads-list .is-active a[href^=\"https://\"]');\n *\n * Another example querySelectorAllDeep('#downloads-list div#title-area + a');\n *\n * @param selector\n * @param root\n * @param allElements\n * @returns {*}\n */\nexport function querySelectorAllDeep(\n\tselector,\n\troot = document,\n\tallElements = null\n) {\n\treturn _querySelectorDeep(selector, true, root, allElements);\n}\n\n/**\n * querySelectorDeep\n * @param selector\n * @param root\n * @param allElements\n * @returns {*}\n */\nexport function querySelectorDeep(\n\tselector,\n\troot = document,\n\tallElements = null\n) {\n\treturn _querySelectorDeep(selector, false, root, allElements);\n}\n\n/**\n * Finds all elements on the page, inclusive of those within shadow roots.\n *\n * @param {string=} selector Simple selector to filter the elements by. e.g. 'a', 'div.main'\n * @return {!Array<string>} List of anchor hrefs.\n */\nfunction collectAllElementsDeep(selector = null, root, cachedElements = null) {\n\tlet allElements = [];\n\n\tif (cachedElements) {\n\t\tallElements = cachedElements;\n\t} else {\n\t\tconst findAllElements = function(nodes) {\n\t\t\tfor (let i = 0; i < nodes.length; i++) {\n\t\t\t\tconst el = nodes[i];\n\t\t\t\tallElements.push(el);\n\t\t\t\t// If the element has a shadow root, dig deeper.\n\t\t\t\tif (el.shadowRoot) {\n\t\t\t\t\tfindAllElements(el.shadowRoot.querySelectorAll('*'));\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tif (root.shadowRoot) {\n\t\t\tfindAllElements(root.shadowRoot.querySelectorAll('*'));\n\t\t}\n\t\tfindAllElements(root.querySelectorAll('*'));\n\t}\n\n\treturn selector\n\t\t? allElements.filter((el) => el.matches(selector))\n\t\t: allElements;\n}\n\n/**\n * _querySelectorDeep\n * @param selector\n * @param findMany\n * @param root\n * @param allElements\n * @returns {*}\n * @private\n */\nfunction _querySelectorDeep(selector, findMany, root, allElements = null) {\n\tselector = normalizeSelector(selector);\n\tconst lightElement = root.querySelector(selector);\n\n\tif (document.head.createShadowRoot || document.head.attachShadow) {\n\t\t// no need to do any special if selector matches something specific in light-dom\n\t\tif (!findMany && lightElement) {\n\t\t\treturn lightElement;\n\t\t}\n\n\t\t// split on commas because those are a logical divide in the operation\n\t\tconst selectionsToMake = splitByCharacterUnlessQuoted(selector, ',');\n\n\t\treturn selectionsToMake.reduce(\n\t\t\t(acc, minimalSelector) => {\n\t\t\t\t// if not finding many just reduce the first match\n\t\t\t\tif (!findMany && acc) {\n\t\t\t\t\treturn acc;\n\t\t\t\t}\n\t\t\t\t// do best to support complex selectors and split the query\n\t\t\t\tconst splitSelector = splitByCharacterUnlessQuoted(\n\t\t\t\t\tminimalSelector\n\t\t\t\t\t\t//remove white space at start of selector\n\t\t\t\t\t\t.replace(/^\\s+/g, '')\n\t\t\t\t\t\t.replace(/\\s*([>+~]+)\\s*/g, '$1'),\n\t\t\t\t\t' '\n\t\t\t\t)\n\t\t\t\t\t// filter out entry white selectors\n\t\t\t\t\t.filter((entry) => !!entry)\n\t\t\t\t\t// convert \"a > b\" to [\"a\", \"b\"]\n\t\t\t\t\t.map((entry) => splitByCharacterUnlessQuoted(entry, '>'));\n\n\t\t\t\tconst possibleElementsIndex = splitSelector.length - 1;\n\t\t\t\tconst lastSplitPart =\n\t\t\t\t\tsplitSelector[possibleElementsIndex][\n\t\t\t\t\t\tsplitSelector[possibleElementsIndex].length - 1\n\t\t\t\t\t];\n\t\t\t\tconst possibleElements = collectAllElementsDeep(\n\t\t\t\t\tlastSplitPart,\n\t\t\t\t\troot,\n\t\t\t\t\tallElements\n\t\t\t\t);\n\t\t\t\tconst findElements = findMatchingElement(\n\t\t\t\t\tsplitSelector,\n\t\t\t\t\tpossibleElementsIndex,\n\t\t\t\t\troot\n\t\t\t\t);\n\t\t\t\tif (findMany) {\n\t\t\t\t\tacc = acc.concat(possibleElements.filter(findElements));\n\t\t\t\t\treturn acc;\n\t\t\t\t} else {\n\t\t\t\t\tacc = possibleElements.find(findElements);\n\t\t\t\t\treturn acc || null;\n\t\t\t\t}\n\t\t\t},\n\t\t\tfindMany ? [] : null\n\t\t);\n\t} else {\n\t\tif (!findMany) {\n\t\t\treturn lightElement;\n\t\t} else {\n\t\t\treturn root.querySelectorAll(selector);\n\t\t}\n\t}\n}\n\n/**\n * findMatchingElement\n * @param splitSelector\n * @param possibleElementsIndex\n * @param root\n * @returns {function(*): boolean}\n */\nfunction findMatchingElement(splitSelector, possibleElementsIndex, root) {\n\treturn (element) => {\n\t\tlet position = possibleElementsIndex;\n\t\tlet parent = element;\n\t\tlet foundElement = false;\n\t\twhile (parent && !isDocumentNode(parent)) {\n\t\t\tlet foundMatch = true;\n\t\t\tif (splitSelector[position].length === 1) {\n\t\t\t\tfoundMatch = parent.matches(splitSelector[position]);\n\t\t\t} else {\n\t\t\t\t// selector is in the format \"a > b\"\n\t\t\t\t// make sure a few parents match in order\n\t\t\t\tconst reversedParts = [].concat(splitSelector[position]).reverse();\n\t\t\t\tlet newParent = parent;\n\t\t\t\tfor (const part of reversedParts) {\n\t\t\t\t\tif (!newParent || !newParent.matches(part)) {\n\t\t\t\t\t\tfoundMatch = false;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tnewParent = findParentOrHost(newParent, root);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (foundMatch && position === 0) {\n\t\t\t\tfoundElement = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (foundMatch) {\n\t\t\t\tposition--;\n\t\t\t}\n\t\t\tparent = findParentOrHost(parent, root);\n\t\t}\n\t\treturn foundElement;\n\t};\n}\n\n/**\n * splitByCharacterUnlessQuoted\n * @param selector\n * @param character\n * @returns {*}\n */\nfunction splitByCharacterUnlessQuoted(selector, character) {\n\treturn selector.match(/\\\\?.|^$/g).reduce(\n\t\t(p, c) => {\n\t\t\tif (c === '\"' && !p.sQuote) {\n\t\t\t\tp.quote ^= 1;\n\t\t\t\tp.a[p.a.length - 1] += c;\n\t\t\t} else if (c === \"'\" && !p.quote) {\n\t\t\t\tp.sQuote ^= 1;\n\t\t\t\tp.a[p.a.length - 1] += c;\n\t\t\t} else if (!p.quote && !p.sQuote && c === character) {\n\t\t\t\tp.a.push('');\n\t\t\t} else {\n\t\t\t\tp.a[p.a.length - 1] += c;\n\t\t\t}\n\t\t\treturn p;\n\t\t},\n\t\t{a: ['']}\n\t).a;\n}\n\n/**\n * Checks if the node is a document node or not.\n * @param {Node} node\n * @returns {node is Document | DocumentFragment}\n */\nfunction isDocumentNode(node) {\n\treturn (\n\t\tnode.nodeType === Node.DOCUMENT_FRAGMENT_NODE ||\n\t\tnode.nodeType === Node.DOCUMENT_NODE\n\t);\n}\n\n/**\n * finds parent or host\n * @param element\n * @param root\n * @returns {*|null}\n */\nfunction findParentOrHost(element, root) {\n\tconst parentNode = element.parentNode;\n\treturn parentNode && parentNode.host && parentNode.nodeType === 11\n\t\t? parentNode.host\n\t\t: parentNode === root\n\t\t? null\n\t\t: parentNode;\n}\n","/**\n * Observes the position of a target element relative to the viewport or a root boundary.\n * Calls a callback with position and visibility information as the element moves or changes intersection.\n */\nexport class PositionObserver {\n\t/**\n\t * @type {IntersectionObserver | undefined}\n\t * @private\n\t */\n\tintersectionObserver;\n\n\t/**\n\t * @type {Function}\n\t * @private\n\t */\n\tpositionObserverCallback;\n\n\t/**\n\t * @type {number[]}\n\t * @private\n\t */\n\tthresholdList;\n\n\t/**\n\t * Creates a new PositionObserver.\n\t * @param {Function} positionObserverCallback - Callback invoked with position and visibility info.\n\t */\n\tconstructor(positionObserverCallback, threshold = 1000) {\n\t\tthis.positionObserverCallback = positionObserverCallback;\n\t\tthis.thresholdList = new Array(threshold + 1)\n\t\t\t.fill(0)\n\t\t\t.map((_, ind) => ind / threshold);\n\t}\n\n\t/**\n\t * Starts observing the given target element.\n\t * @param {Element} targetElement - The element to observe.\n\t */\n\tobserve(targetElement) {\n\t\tthis.intersectionObserver = new IntersectionObserver(\n\t\t\tthis.viewportCallback.bind(this),\n\t\t\t{\n\t\t\t\tthreshold: this.thresholdList,\n\t\t\t\trootMargin: '0px 0px 0px 0px',\n\t\t\t\troot: document\n\t\t\t}\n\t\t);\n\t\tthis.intersectionObserver.observe(targetElement);\n\t}\n\n\t/**\n\t * Callback for when the viewport is the boundary.\n\t * @param {IntersectionObserverEntry[]} e - Intersection observer entries.\n\t * @private\n\t */\n\tviewportCallback(e) {\n\t\tconst entry = e[0];\n\t\tconst target = entry.target;\n\t\tconst targetBounds = entry.boundingClientRect;\n\t\tif (this.positionObserverCallback) {\n\t\t\tthis.positionObserverCallback({\n\t\t\t\tx: targetBounds.left,\n\t\t\t\ty: targetBounds.top,\n\t\t\t\ttarget,\n\t\t\t\toutOfViewport: !entry.isIntersecting,\n\t\t\t\trootBounds: entry.rootBounds\n\t\t\t});\n\t\t}\n\t\tif (entry.intersectionRatio > 0) {\n\t\t\tthis.intersectionObserver?.unobserve(target);\n\t\t\tthis.intersectionObserver?.disconnect();\n\t\t\tconst options = {\n\t\t\t\tthreshold: this.thresholdList,\n\t\t\t\trootMargin: this.getMargins(\n\t\t\t\t\tthis.constructBoxWindow(targetBounds, entry.rootBounds),\n\t\t\t\t\tentry.rootBounds\n\t\t\t\t),\n\t\t\t\troot: document\n\t\t\t};\n\t\t\tthis.intersectionObserver = new IntersectionObserver(\n\t\t\t\tthis.intersectionObsCallback.bind(this),\n\t\t\t\toptions\n\t\t\t);\n\t\t\tthis.intersectionObserver?.observe(target);\n\t\t}\n\t}\n\n\t/**\n\t * Callback for when the target is the boundary.\n\t * @param {IntersectionObserverEntry[]} e - Intersection observer entries.\n\t * @private\n\t */\n\tintersectionObsCallback(e) {\n\t\tconst entry = e[0];\n\t\tconst target = entry.target;\n\t\tconst targetBounds = entry.boundingClientRect;\n\t\tif (this.positionObserverCallback) {\n\t\t\tthis.positionObserverCallback({\n\t\t\t\tx: targetBounds.left,\n\t\t\t\ty: targetBounds.top,\n\t\t\t\ttarget,\n\t\t\t\toutOfViewport: false,\n\t\t\t\trootBounds: entry.rootBounds\n\t\t\t});\n\t\t}\n\t\tif (entry.intersectionRatio === 0) {\n\t\t\tthis.intersectionObserver?.unobserve(target);\n\t\t\tthis.intersectionObserver?.disconnect();\n\t\t\tthis.intersectionObserver = new IntersectionObserver(\n\t\t\t\tthis.viewportCallback.bind(this),\n\t\t\t\t{\n\t\t\t\t\tthreshold: this.thresholdList,\n\t\t\t\t\trootMargin: '0px 0px 0px 0px',\n\t\t\t\t\troot: document\n\t\t\t\t}\n\t\t\t);\n\t\t\tthis.intersectionObserver?.observe(target);\n\t\t}\n\t}\n\n\t/**\n\t * Disconnects the observer and stops observing all elements.\n\t */\n\tdisconnect() {\n\t\tthis.intersectionObserver?.disconnect();\n\t}\n\n\t/**\n\t * Constructs a constrained bounding box for the target element within the root bounds.\n\t * @param {DOMRect} targetBounds - The bounding rectangle of the target element.\n\t * @param {DOMRect} rootBounds - The bounding rectangle of the root.\n\t * @returns {{left: number, top: number, right: number, bottom: number}} The constrained box window.\n\t * @private\n\t */\n\tconstructBoxWindow(targetBounds, rootBounds) {\n\t\tconst constrainedLeft = Math.min(\n\t\t\tMath.max(rootBounds.left, targetBounds.left),\n\t\t\trootBounds.right - targetBounds.width\n\t\t);\n\t\tconst constrainedTop = Math.min(\n\t\t\tMath.max(rootBounds.top, targetBounds.top),\n\t\t\trootBounds.bottom - targetBounds.height\n\t\t);\n\t\tconst constrainedRight = constrainedLeft + targetBounds.width;\n\t\tconst constrainedBottom = constrainedTop + targetBounds.height;\n\t\treturn {\n\t\t\tleft: constrainedLeft,\n\t\t\ttop: constrainedTop,\n\t\t\tright: constrainedRight,\n\t\t\tbottom: constrainedBottom\n\t\t};\n\t}\n\n\t/**\n\t * Calculates the root margin string for the IntersectionObserver based on window and root bounds.\n\t * @param {{left: number, top: number, right: number, bottom: number}} windowDimensions - The constrained window dimensions.\n\t * @param {DOMRect | null} rootBounds - The bounding rectangle of the root or null.\n\t * @returns {string} The root margin string (e.g., \"0px 0px 0px 0px\").\n\t * @private\n\t */\n\tgetMargins(windowDimensions, rootBounds) {\n\t\tlet viewportBounds;\n\t\tif (!rootBounds) {\n\t\t\tviewportBounds = {\n\t\t\t\ttop: visualViewport.offsetTop,\n\t\t\t\tleft: visualViewport.offsetLeft,\n\t\t\t\tright: visualViewport.width + visualViewport.offsetLeft,\n\t\t\t\tbottom: visualViewport.height + visualViewport.offsetTop\n\t\t\t};\n\t\t} else {\n\t\t\tviewportBounds = rootBounds;\n\t\t}\n\t\tconst constrainedTopMarginOfWindow = Math.min(\n\t\t\t-(windowDimensions.top - 1 - viewportBounds.top),\n\t\t\t0\n\t\t);\n\t\tconst constrainedRightMarginOfWindow = Math.min(\n\t\t\t-(viewportBounds.right - (windowDimensions.right + 1)),\n\t\t\t0\n\t\t);\n\t\tconst constrainedBottomMarginOfWindow = Math.min(\n\t\t\t-(viewportBounds.bottom - (windowDimensions.bottom + 1)),\n\t\t\t0\n\t\t);\n\t\tconst constrainedLeftMarginOfWindow = Math.min(\n\t\t\t-(windowDimensions.left - 1 - viewportBounds.left),\n\t\t\t0\n\t\t);\n\t\treturn `${constrainedTopMarginOfWindow}px ${constrainedRightMarginOfWindow}px ${constrainedBottomMarginOfWindow}px ${constrainedLeftMarginOfWindow}px`;\n\t}\n}\n","/***\n * Create a ResizeObserver instance and attach it to the given element.\n * @param {HTMLElement} element\n * @param {Function} fallback\n * @returns {Object} with element and observer properties\n *\n * @example\n *\n * ```javascript\n * const {element, observer} = attachObservers(document.body, (entries) => {\n * \tconsole.log(entries);\n * });\n * ```\n */\n\nimport {PositionObserver} from './positionObserver';\n\nexport const attachObservers = (element, fallback) => {\n\tconst observer = new ResizeObserver(fallback);\n\tobserver.observe(element);\n\n\tconst positionObserver = new PositionObserver(fallback);\n\tpositionObserver.observe(element);\n\n\treturn {element, observer, positionObserver};\n};\n","/**\n * After experience change the shell does not return current pageProperties, this code guarantee that we have the pageProperty matching the experience\n * @param {Object} searchConfigFallback\n * @returns {Object}\n */\nexport function getSearchConfiguration(\n\tselectedContent,\n\tsearchConfigFallback = {}\n) {\n\ttry {\n\t\tconst {\n\t\t\tcontext: {path}\n\t\t} = selectedContent;\n\t\treturn JSON.parse(\n\t\t\twindow?.ux_globals?.experienceConfigs[path]?.pageProperties\n\t\t\t\t?.search_configuration\n\t\t);\n\t} catch (e) {\n\t\treturn searchConfigFallback;\n\t}\n}\n","/// Miscelanous utility functions\nimport {declarativeOperations} from '@servicenow/ui-core';\n\n/**\n * Update state declaratively\n * @param {function} updateState - updateState function\n * @param {object} args - object with path as key and value as value\n * @param {object} params - object with params to override the updateState operation\n * @returns {void}\n */\nexport const declarativeStateUpdate = (updateState, args, params = {}) => {\n\tconst keys = Object.keys(args);\n\n\tconst operations = keys.map((path) => ({\n\t\t...params,\n\t\tpath,\n\t\tvalue: args[path],\n\t\toperation: params.operation || declarativeOperations.SET,\n\t\tshouldRender: params.shouldRender || true\n\t}));\n\n\tupdateState(operations);\n};\n","import {ICON_SIZES} from '../components/sn-cx-search-input/common/constants';\n\nconst getCloseIcon = (iconName) => (\n\t<svg\n\t\tattr-id={getIconId(iconName)}\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"12\"\n\t\tattr-height=\"12\"\n\t\tattr-viewBox=\"0 0 12 12\"\n\t\tattr-fill=\"currentColor\">\n\t\t<path\n\t\t\tattr-d=\"M9.14645 2.14645C9.34171 1.95118 9.65829 1.95118 9.85355 2.14645C10.0488 2.34171 10.0488 2.65829 9.85355 2.85355L6.70711 6L9.85355 9.14645C10.0488 9.34171 10.0488 9.65829 9.85355 9.85355C9.65829 10.0488 9.34171 10.0488 9.14645 9.85355L6 6.70711L2.85355 9.85355C2.65829 10.0488 2.34171 10.0488 2.14645 9.85355C1.95118 9.65829 1.95118 9.34171 2.14645 9.14645L5.29289 6L2.14645 2.85355C1.95118 2.65829 1.95118 2.34171 2.14645 2.14645C2.34171 1.95118 2.65829 1.95118 2.85355 2.14645L6 5.29289L9.14645 2.14645Z\"\n\t\t\tattr-fill=\"currentColor\"\n\t\t/>\n\t</svg>\n);\n\nconst getArrowRightLongIcon = (iconName) => (\n\t<svg\n\t\tattr-id={getIconId(iconName)}\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"24\"\n\t\tattr-height=\"24\"\n\t\tattr-viewBox=\"0 0 24 24\"\n\t\tattr-fill=\"currentColor\">\n\t\t<path\n\t\t\tattr-d=\"M17.0156 4.7116L23.7656 11.4828C23.9062 11.6238 24 11.8119 24 12C24 12.1411 23.9062 12.3762 23.7656 12.5172L17.0156 19.2884C16.7344 19.5705 16.2188 19.5705 15.9375 19.2884C15.6562 19.0063 15.6562 18.5361 15.9375 18.2069L21.4219 12.7524H0.75C0.328125 12.7524 0 12.3762 0 12C0 11.6238 0.328125 11.2476 0.75 11.2476H21.4219L15.9375 5.7931C15.6562 5.51097 15.6562 4.99373 15.9375 4.7116C16.2188 4.42947 16.7344 4.42947 17.0156 4.7116Z\"\n\t\t\tattr-fill=\"currentColor\"\n\t\t/>\n\t</svg>\n);\n\nconst getSearchInputIcon = (iconName, size) => (\n\t<svg\n\t\tattr-attr-id={getIconId(iconName, size)}\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"24\"\n\t\tattr-height=\"24\"\n\t\tattr-viewBox=\"0 0 24 24\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-d=\"M16.3199 14.9056C17.3729 13.5509 18 11.8487 18 10C18 5.58172 14.4183 2 10 2C5.58172 2 2 5.58172 2 10C2 14.4183 5.58172 18 10 18C11.8487 18 13.551 17.3729 14.9057 16.3198L20.293 21.7071C20.6835 22.0976 21.3167 22.0976 21.7072 21.7071C22.0977 21.3165 22.0977 20.6834 21.7072 20.2928L16.3199 14.9056ZM16 10C16 13.3137 13.3137 16 10 16C6.68629 16 4 13.3137 4 10C4 6.68629 6.68629 4 10 4C13.3137 4 16 6.68629 16 10Z\"\n\t\t\tattr-fill=\"currentColor\"\n\t\t/>\n\t</svg>\n);\n\nconst getMagnifyingGlassIcon = (iconName, size = ICON_SIZES.MD) => {\n\tif (size === ICON_SIZES.LG) {\n\t\treturn getSearchInputIcon(iconName, size);\n\t}\n\treturn (\n\t\t<svg\n\t\t\tattr-id={getIconId(iconName)}\n\t\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\t\tattr-width=\"16\"\n\t\t\tattr-height=\"16\"\n\t\t\tattr-viewBox=\"0 0 16 16\"\n\t\t\tattr-fill=\"none\">\n\t\t\t<path\n\t\t\t\tattr-d=\"M10.7267 10.0195C11.5217 9.06575 12 7.83873 12 6.5C12 3.46243 9.53757 1 6.5 1C3.46243 1 1 3.46243 1 6.5C1 9.53757 3.46243 12 6.5 12C7.83876 12 9.06581 11.5217 10.0196 10.7266L14.1465 14.8535C14.3417 15.0488 14.6583 15.0488 14.8536 14.8535C15.0489 14.6583 15.0489 14.3417 14.8536 14.1464L10.7267 10.0195ZM11 6.5C11 8.98528 8.98528 11 6.5 11C4.01472 11 2 8.98528 2 6.5C2 4.01472 4.01472 2 6.5 2C8.98528 2 11 4.01472 11 6.5Z\"\n\t\t\t\tattr-fill=\"currentColor\"\n\t\t\t/>\n\t\t</svg>\n\t);\n};\n\nconst getBookIcon = (iconName) => (\n\t<svg\n\t\tattr-id={getIconId(iconName)}\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"16\"\n\t\tattr-height=\"17\"\n\t\tattr-viewBox=\"0 0 16 17\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-d=\"M6.5 3.5C6.22386 3.5 6 3.72386 6 4V6C6 6.27614 6.22386 6.5 6.5 6.5H10.5C10.7761 6.5 11 6.27614 11 6V4C11 3.72386 10.7761 3.5 10.5 3.5H6.5ZM7 5.5V4.5H10V5.5H7Z\"\n\t\t\tattr-fill=\"currentColor\"\n\t\t/>\n\t\t<path\n\t\t\tattr-d=\"M6.5 3.5C6.22386 3.5 6 3.72386 6 4V6C6 6.27614 6.22386 6.5 6.5 6.5H10.5C10.7761 6.5 11 6.27614 11 6V4C11 3.72386 10.7761 3.5 10.5 3.5H6.5ZM7 5.5V4.5H10V5.5H7Z\"\n\t\t\tattr-fill=\"currentColor\"\n\t\t/>\n\t\t<path\n\t\t\tattr-d=\"M2 3V13C2 13.8284 2.67157 14.5 3.5 14.5H12.5C12.7761 14.5 13 14.2761 13 14C13 13.7239 12.7761 13.5 12.5 13.5H12V12.5H12.5C12.7761 12.5 13 12.2761 13 12V2C13 1.72386 12.7761 1.5 12.5 1.5H3.5C2.67157 1.5 2 2.17157 2 3ZM3.5 2.5H4V11.5H3.5C3.32468 11.5 3.15639 11.5301 3 11.5854V3C3 2.72386 3.22386 2.5 3.5 2.5ZM12 2.5V11.5H5V2.5H12ZM11 12.5V13.5H3.5C3.22386 13.5 3 13.2761 3 13C3 12.7239 3.22386 12.5 3.5 12.5H11Z\"\n\t\t\tattr-fill=\"currentColor\"\n\t\t/>\n\t\t<path\n\t\t\tattr-d=\"M2 3V13C2 13.8284 2.67157 14.5 3.5 14.5H12.5C12.7761 14.5 13 14.2761 13 14C13 13.7239 12.7761 13.5 12.5 13.5H12V12.5H12.5C12.7761 12.5 13 12.2761 13 12V2C13 1.72386 12.7761 1.5 12.5 1.5H3.5C2.67157 1.5 2 2.17157 2 3ZM3.5 2.5H4V11.5H3.5C3.32468 11.5 3.15639 11.5301 3 11.5854V3C3 2.72386 3.22386 2.5 3.5 2.5ZM12 2.5V11.5H5V2.5H12ZM11 12.5V13.5H3.5C3.22386 13.5 3 13.2761 3 13C3 12.7239 3.22386 12.5 3.5 12.5H11Z\"\n\t\t\tattr-fill=\"currentColor\"\n\t\t/>\n\t</svg>\n);\n\nconst getLightbulbIcon = (iconName) => (\n\t<svg\n\t\tattr-id={getIconId(iconName)}\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"16\"\n\t\tattr-height=\"16\"\n\t\tattr-viewBox=\"0 0 16 16\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-fill-rule=\"evenodd\"\n\t\t\tattr-clip-rule=\"evenodd\"\n\t\t\tattr-d=\"M3.75 5.25C3.75 2.90279 5.65279 1 8 1C10.3472 1 12.25 2.90279 12.25 5.25C12.25 6.70332 11.5201 7.98604 10.4091 8.75166C10.1406 8.93672 10 9.1822 10 9.4047C10 10.2858 9.28576 11 8.4047 11H7.59531C6.71424 11 6 10.2858 6 9.4047C6 9.1822 5.85942 8.93672 5.59089 8.75166C4.47992 7.98604 3.75 6.70332 3.75 5.25ZM8 2C6.20507 2 4.75 3.45507 4.75 5.25C4.75 6.36058 5.3066 7.34128 6.15834 7.92826C6.60677 8.23729 7 8.75648 7 9.4047C7 9.73347 7.26653 10 7.59531 10H8.4047C8.73347 10 9 9.73347 9 9.4047C9 8.75648 9.39323 8.23729 9.84166 7.92826C10.6934 7.34128 11.25 6.36058 11.25 5.25C11.25 3.45507 9.79493 2 8 2Z\"\n\t\t\tattr-fill=\"currentColor\"\n\t\t/>\n\t\t<path\n\t\t\tattr-d=\"M6 12.5C6 12.2239 6.22386 12 6.5 12H9.5C9.77614 12 10 12.2239 10 12.5C10 12.7761 9.77614 13 9.5 13H6.5C6.22386 13 6 12.7761 6 12.5Z\"\n\t\t\tattr-fill=\"currentColor\"\n\t\t/>\n\t\t<path\n\t\t\tattr-d=\"M7.5 14C7.22386 14 7 14.2239 7 14.5C7 14.7761 7.22386 15 7.5 15H8.5C8.77614 15 9 14.7761 9 14.5C9 14.2239 8.77614 14 8.5 14H7.5Z\"\n\t\t\tattr-fill=\"currentColor\"\n\t\t/>\n\t</svg>\n);\n\nconst getBestPracticesIcon = (iconName) => getLightbulbIcon(iconName);\n\nconst getDocumentOutlineIcon = (iconName) => (\n\t<svg\n\t\tattr-id={getIconId(iconName)}\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"16\"\n\t\tattr-height=\"16\"\n\t\tattr-viewBox=\"0 0 16 16\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-d=\"M5 8.5C5 8.22386 5.22386 8 5.5 8H10.5C10.7761 8 11 8.22386 11 8.5C11 8.77614 10.7761 9 10.5 9H5.5C5.22386 9 5 8.77614 5 8.5Z\"\n\t\t\tattr-fill=\"currentColor\"\n\t\t/>\n\t\t<path\n\t\t\tattr-d=\"M5.5 10C5.22386 10 5 10.2239 5 10.5C5 10.7761 5.22386 11 5.5 11H10.5C10.7761 11 11 10.7761 11 10.5C11 10.2239 10.7761 10 10.5 10H5.5Z\"\n\t\t\tattr-fill=\"currentColor\"\n\t\t/>\n\t\t<path\n\t\t\tattr-fill-rule=\"evenodd\"\n\t\t\tattr-clip-rule=\"evenodd\"\n\t\t\tattr-d=\"M3.5 1C2.67157 1 2 1.67157 2 2.5V13.5C2 14.3284 2.67157 15 3.5 15H12.5C13.3284 15 14 14.3284 14 13.5V5.70095C14 5.28767 13.8295 4.89269 13.5287 4.60926L10.1318 1.40832C9.85346 1.14606 9.48549 1 9.10308 1H3.5ZM3 2.5C3 2.22386 3.22386 2 3.5 2H9V4.5C9 5.32843 9.67157 6 10.5 6H13V13.5C13 13.7761 12.7761 14 12.5 14H3.5C3.22386 14 3 13.7761 3 13.5V2.5ZM12.4852 5L10 2.65817V4.5C10 4.77614 10.2239 5 10.5 5H12.4852Z\"\n\t\t\tattr-fill=\"currentColor\"\n\t\t/>\n\t</svg>\n);\n\nconst getNowSupportIcon = (iconName) => getDocumentOutlineIcon(iconName);\n\nconst getHandshakeIcon = (iconName) => (\n\t<svg\n\t\tattr-id={getIconId(iconName)}\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"16\"\n\t\tattr-height=\"16\"\n\t\tattr-viewBox=\"0 0 16 16\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-fill-rule=\"evenodd\"\n\t\t\tattr-clip-rule=\"evenodd\"\n\t\t\tattr-d=\"M5.5 4C5.36739 4 5.24021 4.05268 5.14645 4.14645L3.96835 5.32454C3.89729 5.13495 3.7144 5 3.5 5H1.5C1.22386 5 1 5.22386 1 5.5V12.5C1 12.7761 1.22386 13 1.5 13H3.5C3.77614 13 4 12.7761 4 12.5V12H4.79289L5.64645 12.8536C5.74021 12.9473 5.86739 13 6 13H8.5C8.63261 13 8.75979 12.9473 8.85355 12.8536L9.70711 12H12V12.5C12 12.7761 12.2239 13 12.5 13H14.5C14.7761 13 15 12.7761 15 12.5V5.5C15 5.22386 14.7761 5 14.5 5H12.5C12.2239 5 12 5.22386 12 5.5V6H11.7501L10.4001 4.2C10.3057 4.0741 10.1575 4 10.0001 4H5.5ZM13 6.51076C13.0001 6.50718 13.0001 6.5036 13.0001 6.5C13.0001 6.4964 13.0001 6.49282 13 6.48924V6H14V12H13V6.51076ZM12 7H11.5001C11.3427 7 11.1945 6.9259 11.1001 6.8L9.75011 5H8.20722L6.10367 7.10355C5.88472 7.3225 5.88472 7.6775 6.10367 7.89645C6.32262 8.1154 6.67761 8.1154 6.89656 7.89645L8.64656 6.14645C8.84182 5.95118 9.1584 5.95118 9.35367 6.14645C9.54893 6.34171 9.54893 6.65829 9.35367 6.85355L8.45716 7.75006L10.8536 10.1464C10.9473 10.2402 11 10.3674 11 10.5V11H12V7ZM7.75006 8.45716L7.60367 8.60355C6.99419 9.21303 6.00604 9.21303 5.39656 8.60355C4.78708 7.99408 4.78708 7.00592 5.39656 6.39645L6.79301 5H5.70711L4 6.70711V11H5C5.13261 11 5.25979 11.0527 5.35355 11.1464L6.20711 12H8.29289L9.14645 11.1464C9.24022 11.0527 9.36739 11 9.5 11H10V10.7071L7.75006 8.45716ZM3 6H2V12H3V6Z\"\n\t\t\tattr-fill=\"currentColor\"\n\t\t/>\n\t</svg>\n);\n\nconst getCustomerSuccessCenterIcon = (iconName) => getHandshakeIcon(iconName);\n\nconst getCodeIcon = (iconName) => (\n\t<svg\n\t\tattr-id={getIconId(iconName)}\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"16\"\n\t\tattr-height=\"16\"\n\t\tattr-viewBox=\"0 0 16 16\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-d=\"M8.98519 4.62139C9.05216 4.35349 8.88928 4.08202 8.62139 4.01505C8.35349 3.94807 8.08202 4.11095 8.01505 4.37885L6.01505 12.3789C5.94807 12.6467 6.11095 12.9182 6.37885 12.9852C6.64675 13.0522 6.91822 12.8893 6.98519 12.6214L8.98519 4.62139Z\"\n\t\t\tattr-fill=\"currentColor\"\n\t\t/>\n\t\t<path\n\t\t\tattr-d=\"M4.85355 5.14645C5.04882 5.34171 5.04882 5.65829 4.85355 5.85355L2.20711 8.5L4.85355 11.1464C5.04882 11.3417 5.04882 11.6583 4.85355 11.8536C4.65829 12.0488 4.34171 12.0488 4.14645 11.8536L1.14645 8.85355C0.951184 8.65829 0.951184 8.34171 1.14645 8.14645L4.14645 5.14645C4.34171 4.95118 4.65829 4.95118 4.85355 5.14645Z\"\n\t\t\tattr-fill=\"currentColor\"\n\t\t/>\n\t\t<path\n\t\t\tattr-d=\"M10.1464 5.14645C9.95118 5.34171 9.95118 5.65829 10.1464 5.85355L12.7929 8.5L10.1464 11.1464C9.95118 11.3417 9.95118 11.6583 10.1464 11.8536C10.3417 12.0488 10.6583 12.0488 10.8536 11.8536L13.8536 8.85355C14.0488 8.65829 14.0488 8.34171 13.8536 8.14645L10.8536 5.14645C10.6583 4.95118 10.3417 4.95118 10.1464 5.14645Z\"\n\t\t\tattr-fill=\"currentColor\"\n\t\t/>\n\t</svg>\n);\n\nconst getDeveloperPortalIcon = (iconName) => getCodeIcon(iconName);\n\nconst getOngoingIcon = (iconName) => (\n\t<svg\n\t\tattr-id={getIconId(iconName)}\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"16\"\n\t\tattr-height=\"16\"\n\t\tattr-viewBox=\"0 0 16 16\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-fill-rule=\"evenodd\"\n\t\t\tattr-clip-rule=\"evenodd\"\n\t\t\tattr-d=\"M5.5 2C3.07952 2 1 3.73023 1 6C1 6.96097 1.38044 7.83515 2 8.51578V10.5C2 10.694 2.11223 10.8705 2.28792 10.9528C2.46361 11.0351 2.67105 11.0083 2.82009 10.8841L4.1131 9.8066C4.55089 9.93238 5.01716 10 5.5 10C5.7127 10 5.92277 9.98664 6.12902 9.96072C6.61788 11.7404 8.4349 13 10.5001 13C10.983 13 11.4493 12.9324 11.887 12.8066L13.1801 13.8841C13.3291 14.0083 13.5365 14.0351 13.7122 13.9528C13.8879 13.8705 14.0001 13.694 14.0001 13.5V11.5158C14.6197 10.8352 15.0001 9.96097 15.0001 9C15.0001 6.73023 12.9206 5 10.5001 5C10.2874 5 10.0774 5.01336 9.87112 5.03928C9.38226 3.25963 7.56524 2 5.5 2ZM2 6C2 4.40377 3.5022 3 5.5 3C7.4978 3 9 4.40377 9 6C9 7.59623 7.4978 9 5.5 9C5.02767 9 4.57893 8.91978 4.17022 8.77544C4.00397 8.71672 3.81908 8.74991 3.68363 8.86279L3 9.43248V8.3151C3 8.18174 2.94672 8.0539 2.85202 7.96001C2.31371 7.42635 2 6.73999 2 6ZM9.99988 6.02995C9.98592 7.75942 8.76399 9.17128 7.10808 9.73542C7.48581 11.0037 8.81711 12 10.5001 12C10.9725 12 11.4212 11.9198 11.8299 11.7754C11.9962 11.7167 12.1811 11.7499 12.3165 11.8628L13.0001 12.4325V11.3151C13.0001 11.1817 13.0534 11.0539 13.1481 10.96C13.6864 10.4263 14.0001 9.73999 14.0001 9C14.0001 7.40377 12.4979 6 10.5001 6C10.3296 6 10.1626 6.01023 9.99988 6.02995Z\"\n\t\t\tattr-fill=\"currentColor\"\n\t\t/>\n\t</svg>\n);\n\nconst getNowCommunityIcon = (iconName) => getOngoingIcon(iconName);\n\nconst getGlobeOutlineIcon = (iconName) => (\n\t<svg\n\t\tattr-id={getIconId(iconName)}\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"16\"\n\t\tattr-height=\"16\"\n\t\tattr-viewBox=\"0 0 16 16\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-fill-rule=\"evenodd\"\n\t\t\tattr-clip-rule=\"evenodd\"\n\t\t\tattr-d=\"M15 8C15 11.866 11.866 15 8 15C4.13401 15 1 11.866 1 8C1 4.13401 4.13401 1 8 1C11.866 1 15 4.13401 15 8ZM7.39681 2.34719C7.6396 2.08019 7.84416 2 8 2C8.15584 2 8.3604 2.08019 8.60319 2.34719C8.84611 2.61433 9.08782 3.02877 9.30109 3.5833C9.46003 3.99654 9.59779 4.47343 9.708 5H6.292C6.40221 4.47343 6.53997 3.99654 6.69891 3.5833C6.91218 3.02877 7.15389 2.61433 7.39681 2.34719ZM5.27206 5C5.39817 4.34494 5.56493 3.74596 5.76556 3.22432C5.89989 2.87505 6.05249 2.55238 6.22342 2.26738C4.76903 2.7176 3.55119 3.70607 2.80269 5H5.27206ZM2.34141 6H5.11686C5.0406 6.63479 5 7.30663 5 8C5 8.69337 5.0406 9.36521 5.11686 10H2.34141C2.12031 9.37444 2 8.70127 2 8C2 7.29873 2.12031 6.62556 2.34141 6ZM2.80269 11C3.55119 12.2939 4.76903 13.2824 6.22342 13.7326C6.05249 13.4476 5.89989 13.125 5.76556 12.7757C5.56493 12.254 5.39817 11.6551 5.27206 11H2.80269ZM6.292 11C6.40221 11.5266 6.53997 12.0035 6.69891 12.4167C6.91218 12.9712 7.15389 13.3857 7.39681 13.6528C7.6396 13.9198 7.84416 14 8 14C8.15584 14 8.3604 13.9198 8.60319 13.6528C8.84611 13.3857 9.08782 12.9712 9.30109 12.4167C9.46003 12.0035 9.59779 11.5266 9.708 11H6.292ZM10.7279 11C10.6018 11.6551 10.4351 12.254 10.2344 12.7757C10.1001 13.125 9.94751 13.4476 9.77658 13.7326C11.231 13.2824 12.4488 12.2939 13.1973 11H10.7279ZM13.6586 10H10.8831C10.9594 9.36521 11 8.69337 11 8C11 7.30663 10.9594 6.63479 10.8831 6H13.6586C13.8797 6.62556 14 7.29873 14 8C14 8.70127 13.8797 9.37444 13.6586 10ZM13.1973 5C12.4488 3.70607 11.231 2.7176 9.77658 2.26738C9.94751 2.55238 10.1001 2.87505 10.2344 3.22432C10.4351 3.74596 10.6018 4.34494 10.7279 5H13.1973ZM9.87545 6C9.95585 6.62474 10 7.29718 10 8C10 8.70282 9.95585 9.37526 9.87545 10H6.12456C6.04415 9.37526 6 8.70282 6 8C6 7.29718 6.04415 6.62474 6.12456 6H9.87545Z\"\n\t\t\tattr-fill=\"currentColor\"\n\t\t/>\n\t</svg>\n);\n\nconst getServicenowComIcon = (iconName) => getGlobeOutlineIcon(iconName);\n\nconst getOpenBookOutlineIcon = (iconName) => (\n\t<svg\n\t\tattr-id={getIconId(iconName)}\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"16\"\n\t\tattr-height=\"16\"\n\t\tattr-viewBox=\"0 0 16 16\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-fill-rule=\"evenodd\"\n\t\t\tattr-clip-rule=\"evenodd\"\n\t\t\tattr-d=\"M4.5 3C2.68658 3 1.66515 3.73812 1.19303 4.10532C1.07124 4.20005 1 4.3457 1 4.5V12.5C1 12.691 1.10878 12.8653 1.28032 12.9492C1.45187 13.0331 1.65623 13.0119 1.80697 12.8947C2.19199 12.5952 2.99971 12 4.5 12C6.00029 12 6.80801 12.5952 7.19303 12.8947C7.37358 13.0351 7.62642 13.0351 7.80697 12.8947C8.19199 12.5952 8.99971 12 10.5 12C12.0003 12 12.808 12.5952 13.193 12.8947C13.3438 13.0119 13.5481 13.0331 13.7197 12.9492C13.8912 12.8653 14 12.691 14 12.5V4.5C14 4.3457 13.9288 4.20005 13.807 4.10532C13.3349 3.73812 12.3134 3 10.5 3C9.01051 3 8.05534 3.49797 7.5 3.87936C6.94467 3.49797 5.98949 3 4.5 3ZM2 11.5777V4.74986C2.4385 4.4364 3.21536 4 4.5 4C5.78464 4 6.5615 4.4364 7 4.74986V11.5777C6.42758 11.278 5.61294 11 4.5 11C3.38706 11 2.57242 11.278 2 11.5777ZM8 11.5777C8.57242 11.278 9.38705 11 10.5 11C11.6129 11 12.4276 11.278 13 11.5777V4.74986C12.5615 4.4364 11.7846 4 10.5 4C9.21536 4 8.4385 4.4364 8 4.74986V11.5777Z\"\n\t\t\tattr-fill=\"currentColor\"\n\t\t/>\n\t</svg>\n);\n\nconst getClockOutlineIcon = (iconName) => (\n\t<svg\n\t\tattr-id={getIconId(iconName)}\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"16\"\n\t\tattr-height=\"16\"\n\t\tattr-viewBox=\"0 0 16 16\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-d=\"M7.5 1.5C7.5 1.22386 7.72386 1 8 1C11.866 1 15 4.13401 15 8C15 11.866 11.866 15 8 15C4.13401 15 1 11.866 1 8C1 6.04095 1.805 4.27012 3.10109 3H2.5C2.22386 3 2 2.77614 2 2.5C2 2.22386 2.22386 2 2.5 2H4.5C4.77614 2 5 2.22386 5 2.5V2.51349C5.00008 2.51873 5.00008 2.52397 5 2.52921V4.5C5 4.77614 4.77614 5 4.5 5C4.22386 5 4 4.77614 4 4.5V3.52773C2.7719 4.62685 2 6.22339 2 8C2 11.3137 4.68629 14 8 14C11.3137 14 14 11.3137 14 8C14 4.68629 11.3137 2 8 2C7.72386 2 7.5 1.77614 7.5 1.5Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t\t<path\n\t\t\tattr-d=\"M8 3C8.27614 3 8.5 3.22386 8.5 3.5V7.70984L11.7481 9.56588C11.9878 9.70288 12.0711 10.0083 11.9341 10.2481C11.7971 10.4878 11.4917 10.5711 11.2519 10.4341L7.75193 8.43412C7.59614 8.3451 7.5 8.17943 7.5 8V3.5C7.5 3.22386 7.72386 3 8 3Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t</svg>\n);\n\nconst getServicenowFullLogoIcon = (iconName) => (\n\t<svg\n\t\tattr-id={getIconId(iconName)}\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"144\"\n\t\tattr-height=\"21\"\n\t\tattr-viewBox=\"0 0 144 21\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-fill-rule=\"evenodd\"\n\t\t\tattr-clip-rule=\"evenodd\"\n\t\t\tattr-d=\"M34.6818 6.40889C33.1478 6.40889 31.8139 6.93746 30.68 7.79638V6.54103H27.0785V20.482H30.8134V11.5624C31.347 10.8357 32.6142 9.84459 34.2149 9.84459C34.8152 9.84459 35.2821 9.91066 35.7489 10.0428V6.47496C35.4154 6.40889 35.0153 6.40889 34.6818 6.40889Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t\t<path\n\t\t\tattr-fill-rule=\"evenodd\"\n\t\t\tattr-clip-rule=\"evenodd\"\n\t\t\tattr-d=\"M1.80079 16.2535C2.73453 17.1124 4.20183 17.641 5.66914 17.641C6.66957 17.641 7.46992 17.1785 7.46992 16.4517C7.46992 14.3374 0.666957 15.1303 0.666957 10.5714C0.666957 7.86245 3.26809 6.21068 6.06931 6.21068C7.8701 6.21068 9.87097 6.87139 10.8047 7.59817L9.07062 10.3071C8.33697 9.77851 7.40323 9.38209 6.40279 9.38209C5.33566 9.38209 4.46861 9.77852 4.46861 10.5053C4.46861 12.2892 11.2716 11.6285 11.2716 16.4517C11.2716 19.1606 8.60375 20.7463 5.66914 20.7463C3.73496 20.7463 1.66739 20.0856 0 18.8963L1.80079 16.2535Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t\t<path\n\t\t\tattr-fill-rule=\"evenodd\"\n\t\t\tattr-clip-rule=\"evenodd\"\n\t\t\tattr-d=\"M25.4778 13.4124C25.4778 9.51423 22.7432 6.27675 18.8749 6.27675C14.6731 6.27675 12.0052 9.64637 12.0052 13.5446C12.0052 17.9053 15.1399 20.8124 19.3418 20.8124C21.5427 20.8124 23.7437 19.8874 25.0776 18.3017L22.9433 16.1874C22.2764 16.9142 21.0092 17.7731 19.4085 17.7731C17.4076 17.7731 15.8069 16.4517 15.6068 14.4696H25.3444C25.4111 14.1392 25.4778 13.8088 25.4778 13.4124ZM15.8069 11.7606C16.007 10.5053 17.2742 9.31602 18.8082 9.31602C20.3422 9.31602 21.476 10.5053 21.6094 11.7606H15.8069Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t\t<path\n\t\t\tattr-fill-rule=\"evenodd\"\n\t\t\tattr-clip-rule=\"evenodd\"\n\t\t\tattr-d=\"M44.7528 15.0642L48.5545 6.54103H52.4896L46.0201 20.5481H43.4189L36.9494 6.54103H40.8845L44.7528 15.0642Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t\t<path\n\t\t\tattr-fill-rule=\"evenodd\"\n\t\t\tattr-clip-rule=\"evenodd\"\n\t\t\tattr-d=\"M55.6909 0C57.0249 0 58.1587 1.05714 58.1587 2.37856C58.1587 3.69998 57.0249 4.75712 55.6909 4.75712C54.357 4.75712 53.2232 3.69998 53.2232 2.37856C53.2232 1.05714 54.2903 0 55.6909 0Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t\t<path\n\t\t\tattr-d=\"M57.4917 6.54103H53.7568V20.482H57.4917V6.54103Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t\t<path\n\t\t\tattr-fill-rule=\"evenodd\"\n\t\t\tattr-clip-rule=\"evenodd\"\n\t\t\tattr-d=\"M73.0985 17.641C71.4311 19.8213 69.3636 20.8124 66.6957 20.8124C62.3605 20.8124 59.1591 17.5749 59.1591 13.5446C59.1591 9.51423 62.4272 6.27675 66.6957 6.27675C69.0968 6.27675 71.2977 7.39996 72.6317 9.05173L69.9638 11.3642C69.2302 10.3732 68.0964 9.71244 66.6957 9.71244C64.4948 9.71244 62.8941 11.4303 62.8941 13.5446C62.8941 15.7249 64.4948 17.3767 66.7624 17.3767C68.2964 17.3767 69.497 16.4517 70.0972 15.5267L73.0985 17.641Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t\t<path\n\t\t\tattr-fill-rule=\"evenodd\"\n\t\t\tattr-clip-rule=\"evenodd\"\n\t\t\tattr-d=\"M86.7712 18.3017C85.4372 19.8874 83.1696 20.8124 81.0353 20.8124C76.8335 20.8124 73.6988 17.9053 73.6988 13.5446C73.6988 9.64637 76.3666 6.27675 80.5685 6.27675C84.4368 6.27675 87.1713 9.51423 87.1713 13.4124C87.1713 13.8088 87.1713 14.1392 87.1046 14.4696H77.3671C77.5672 16.4517 79.1678 17.7731 81.1687 17.7731C82.7694 17.7731 84.0366 16.8481 84.7036 16.1874L86.7712 18.3017ZM83.303 11.7606C83.1696 10.5053 82.0358 9.31602 80.5018 9.31602C78.9678 9.31602 77.6339 10.5053 77.5005 11.7606H83.303Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t\t<path\n\t\t\tattr-fill-rule=\"evenodd\"\n\t\t\tattr-clip-rule=\"evenodd\"\n\t\t\tattr-d=\"M88.6386 20.5481V6.54103H92.2402V7.66424C93.3074 6.80532 94.6413 6.27675 96.242 6.27675C98.1761 6.27675 99.9769 7.13567 101.111 8.52316C102.044 9.64637 102.578 11.0339 102.578 13.4124V20.5481H98.8431V13.1481C98.8431 11.7606 98.5096 11.0339 97.976 10.5053C97.5092 10.0428 96.7088 9.71244 95.8418 9.71244C94.2411 9.71244 92.9739 10.7035 92.4403 11.4303V20.482H88.6386V20.5481Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t\t<path\n\t\t\tattr-fill-rule=\"evenodd\"\n\t\t\tattr-clip-rule=\"evenodd\"\n\t\t\tattr-d=\"M112.249 6.27675C107.78 6.27675 104.045 9.91066 103.979 14.4035C103.979 16.782 104.979 18.8963 106.58 20.416C107.18 20.9445 108.047 21.0106 108.714 20.5481C109.648 19.8213 110.848 19.4249 112.249 19.4249C113.65 19.4249 114.85 19.8874 115.784 20.5481C116.451 21.0106 117.318 21.0106 117.918 20.416C119.519 18.8963 120.453 16.8481 120.453 14.4696C120.386 9.91066 116.784 6.27675 112.249 6.27675ZM112.182 18.4999C109.714 18.4999 108.047 16.6499 108.047 14.4035C108.047 12.1571 109.714 10.3071 112.182 10.3071C114.65 10.3071 116.317 12.1571 116.317 14.4035C116.317 16.716 114.65 18.4999 112.182 18.4999Z\"\n\t\t\tattr-fill=\"#63DF4E\"\n\t\t/>\n\t\t<path\n\t\t\tattr-fill-rule=\"evenodd\"\n\t\t\tattr-clip-rule=\"evenodd\"\n\t\t\tattr-d=\"M127.856 20.5481H125.055L119.452 6.54103H123.254L126.322 14.5356L129.323 6.54103H132.458L135.459 14.5356L138.527 6.54103H142.262L136.66 20.5481H133.858L130.857 12.5535L127.856 20.5481Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t\t<path\n\t\t\tattr-d=\"M142.329 18.9624H141.995V19.557H141.728V17.9053H142.395C142.662 17.9053 142.929 18.1695 142.929 18.4338C142.929 18.632 142.796 18.8302 142.596 18.8963L142.996 19.557H142.729L142.329 18.9624ZM141.995 18.6981H142.395C142.529 18.6981 142.662 18.566 142.662 18.4338C142.662 18.3017 142.529 18.1695 142.395 18.1695H141.995V18.6981Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t\t<path\n\t\t\tattr-d=\"M142.262 17.2445C143.129 17.2445 143.796 17.9053 143.796 18.7642C143.796 19.6231 143.129 20.2838 142.262 20.2838C141.395 20.2838 140.728 19.6231 140.728 18.7642C140.728 17.9053 141.462 17.2445 142.262 17.2445ZM142.262 17.0463C141.262 17.0463 140.528 17.8392 140.528 18.7642C140.528 19.7552 141.328 20.482 142.262 20.482C143.262 20.482 143.996 19.6892 143.996 18.7642C144.063 17.7731 143.262 17.0463 142.262 17.0463Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t</svg>\n);\n\nconst getServicenowLogoIcon = (iconName) => (\n\t<svg\n\t\tattr-id={getIconId(iconName)}\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"32\"\n\t\tattr-height=\"30\"\n\t\tattr-viewBox=\"0 0 32 30\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-fill-rule=\"evenodd\"\n\t\t\tattr-clip-rule=\"evenodd\"\n\t\t\tattr-d=\"M16.0648 0.816406C7.38463 0.816406 0.129555 7.87517 0 16.6024C0 21.2226 1.94333 25.3296 5.05264 28.2814C6.21864 29.3081 7.90284 29.4365 9.19839 28.5381C11.0122 27.1263 13.3441 26.3563 16.0648 26.3563C18.7854 26.3563 21.1174 27.2547 22.9312 28.5381C24.2267 29.4365 25.9109 29.4365 27.0769 28.2814C30.1863 25.3296 32 21.351 32 16.7307C31.8704 7.87517 24.8745 0.816406 16.0648 0.816406ZM15.9352 24.5595C11.1417 24.5595 7.90284 20.966 7.90284 16.6024C7.90284 12.2388 11.1417 8.64521 15.9352 8.64521C20.7288 8.64521 23.9676 12.2388 23.9676 16.6024C23.9676 21.0943 20.7288 24.5595 15.9352 24.5595Z\"\n\t\t\tattr-fill=\"#63DF4E\"\n\t\t/>\n\t</svg>\n);\n\nconst getLightXIcon = (iconName) => (\n\t<svg\n\t\tattr-id={getIconId(iconName)}\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"36\"\n\t\tattr-height=\"36\"\n\t\tattr-viewBox=\"0 0 36 36\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-d=\"M0 18C0 8.05888 8.05888 0 18 0C27.9411 0 36 8.05888 36 18C36 27.9411 27.9411 36 18 36C8.05888 36 0 27.9411 0 18Z\"\n\t\t\tattr-fill=\"currentColor\"\n\t\t/>\n\t\t<path\n\t\t\tattr-d=\"M24.1406 11.1406C24.3281 10.9531 24.6719 10.9531 24.8594 11.1406C25.0469 11.3281 25.0469 11.6719 24.8594 11.8594L18.7031 17.9844L24.8594 24.1406C25.0469 24.3281 25.0469 24.6719 24.8594 24.8594C24.6719 25.0469 24.3281 25.0469 24.1406 24.8594L18.0156 18.7031L11.8594 24.8594C11.6719 25.0469 11.3281 25.0469 11.1406 24.8594C10.9531 24.6719 10.9531 24.3281 11.1406 24.1406L17.2969 17.9844L11.1406 11.8594C10.9531 11.6719 10.9531 11.3281 11.1406 11.1406C11.3281 10.9531 11.6719 10.9531 11.8594 11.1406L18.0156 17.2969L24.1406 11.1406Z\"\n\t\t\tattr-fill=\"#1D1D1D\"\n\t\t/>\n\t</svg>\n);\n\nconst getCircleCloseOutlineIcon = (iconName) => getCloseIcon(iconName);\n\nconst getNowLearningIcon = (iconName) => getOpenBookOutlineIcon(iconName);\n\nconst getProductDocumentationIcon = (iconName) => getBookIcon(iconName);\n\nconst getIconId = (iconName, size = ICON_SIZES.MD) => {\n\treturn `${iconName}--${size}`;\n};\n\nexport const getIcon = (icon, size = ICON_SIZES.MD, searchConfig = {}) => {\n\tlet iconName = icon;\n\n\t// If there are custom icons configured, use it.\n\tif (searchConfig?.sourceIcons) {\n\t\tconst iconFromSource = getIconFromSource(\n\t\t\ticonName,\n\t\t\tsize,\n\t\t\tsearchConfig.sourceIcons\n\t\t);\n\t\tif (iconFromSource) {\n\t\t\ticonName = iconFromSource;\n\t\t}\n\t}\n\n\tswitch (iconName) {\n\t\tcase 'now-logo':\n\t\t\treturn getServicenowFullLogoIcon(iconName);\n\t\tcase 'now-icon':\n\t\t\treturn getServicenowLogoIcon(iconName);\n\t\tcase 'clock-outline':\n\t\t\treturn getClockOutlineIcon(iconName);\n\t\tcase 'close-light':\n\t\t\treturn getLightXIcon(iconName);\n\t\tcase 'close-outline':\n\t\tcase 'circle-close-outline':\n\t\t\treturn getCircleCloseOutlineIcon(iconName);\n\t\tcase 'nowsupport':\n\t\tcase 'now-support':\n\t\tcase 'partner-portal':\n\t\tcase 'now-create':\n\t\tcase 'document-outline':\n\t\t\treturn getNowSupportIcon(iconName);\n\t\tcase 'best-practices':\n\t\tcase 'lightbulb-outline':\n\t\t\treturn getBestPracticesIcon(iconName);\n\t\tcase 'customer-success-center':\n\t\tcase 'customer-success':\n\t\tcase 'handshake-outline':\n\t\t\treturn getCustomerSuccessCenterIcon(iconName);\n\t\tcase 'developer-portal':\n\t\tcase 'code-outline':\n\t\t\treturn getDeveloperPortalIcon(iconName);\n\t\tcase 'now-community':\n\t\tcase 'now-community-articles':\n\t\tcase 'ongoing-outline':\n\t\t\treturn getNowCommunityIcon(iconName);\n\t\tcase 'servicenow':\n\t\tcase 'servicenow.com':\n\t\tcase 'dotcom-gsdr':\n\t\tcase 'globe-outline':\n\t\t\treturn getServicenowComIcon(iconName);\n\t\tcase 'nowlearning':\n\t\tcase 'now-learning':\n\t\tcase 'book-open-outline':\n\t\t\treturn getNowLearningIcon(iconName);\n\t\tcase 'product-documentation':\n\t\tcase 'book-outline':\n\t\t\treturn getProductDocumentationIcon(iconName);\n\t\tcase 'magnifying-glass-fill':\n\t\tcase 'magnifying-glass':\n\t\t\treturn getMagnifyingGlassIcon(iconName, size);\n\t\tcase 'arrow-right-long':\n\t\t\treturn getArrowRightLongIcon(iconName, size);\n\t\tdefault:\n\t\t\treturn <now-icon icon={iconName} size={size} />;\n\t}\n};\n\nexport const getIconFromSource = (\n\ticonName,\n\tsize = ICON_SIZES.MD,\n\tsourceIcons\n) => {\n\tconst sourceKeySize = `${iconName}-${size}`;\n\tconst sourceKey = iconName;\n\treturn (\n\t\t(sourceIcons && (sourceIcons[sourceKeySize] || sourceIcons[sourceKey])) ||\n\t\tnull\n\t);\n};\n","import '@servicenow/now-icon';\nimport '@servicenow/now-tooltip';\nimport '@servicenow/now-dropdown';\nimport isEmpty from 'lodash/isEmpty';\nimport {\n\tINPUT_CHANGED,\n\tSHOW_POPOVER,\n\tINPUT_FOCUSED_IN,\n\tINPUT_FOCUSED_OUT,\n\tSEARCH_CLOSED_INTERNAL\n} from '../actions';\nimport {MAX_QUERY_LENGTH, PLACEMENT, LABELS, ICON_SIZES} from '../constants';\nimport {getIcon} from '../../../../utils';\n\nlet shouldFocusInput = false;\n\nconst setFocus = (isMobileView, isCollapsedView) => (vnode) => {\n\tif ((isMobileView && vnode.elm) || (isCollapsedView && vnode.elm)) {\n\t\tvnode.elm.focus();\n\t}\n};\n\nconst removeFocus = (isMobileView, isCollapsedView) => (vnode) => {\n\tif ((isMobileView && vnode.elm) || (isCollapsedView && vnode.elm)) {\n\t\tvnode.elm.blur();\n\t}\n};\n\nconst view = ({\n\thasFocus,\n\tshowPopover,\n\tplaceholder,\n\tterm,\n\tdispatch,\n\tisMobileView,\n\tplacement,\n\thasSuggestions,\n\tanimationsEnabled,\n\tisCollapsedView,\n\tnowId,\n\tattachToNavigation,\n\tattachToElement,\n\tsearchConfig,\n\thideSearchPopover\n}) => {\n\tlet inputContainerClassName = `input-container  input-container--search `;\n\n\tif (showPopover) {\n\t\tinputContainerClassName += ' input-container--is-popover-open';\n\t}\n\n\t/*\n\t * focus is in input with text or\n\t * focus is on cancel button\n\t */\n\tconst showCancel = (term.length && hasFocus) || (term && !hasFocus);\n\n\t// Buttons should be large for the desktop in-page view, else medium\n\tconst buttonSize = placement === PLACEMENT.BODY ? 'lg' : 'md';\n\n\tconst navigationAttachedIcon = (\n\t\t<span\n\t\t\tclass={{\n\t\t\t\t'-attached-navigation-icon': true,\n\t\t\t\t'-empty': isEmpty(term)\n\t\t\t}}\n\t\t\taria-hidden=\"true\">\n\t\t\t{getIcon('magnifying-glass', ICON_SIZES.LG, searchConfig)}\n\t\t</span>\n\t);\n\n\tconst backIcon = (\n\t\t<now-button-iconic\n\t\t\tclassName=\"search-input__back-icon\"\n\t\t\ttype=\"button\"\n\t\t\tbare\n\t\t\tsize={buttonSize}\n\t\t\ticon=\"arrow-left-fill\"\n\t\t\tvariant=\"tertiary\"\n\t\t\tconfig-aria={{'aria-label': LABELS.SUBMIT_SEARCH}}\n\t\t\ton-click={() => {\n\t\t\t\tdispatch(SEARCH_CLOSED_INTERNAL);\n\t\t\t}}\n\t\t/>\n\t);\n\n\tconst cancelElement = (\n\t\t<now-button-bare\n\t\t\tappend-to-payload={{\n\t\t\t\taction: INPUT_CHANGED,\n\t\t\t\tpayload: {term: ''}\n\t\t\t}}\n\t\t\tbare\n\t\t\ttype=\"button\"\n\t\t\tsize={navigationAttachedIcon ? 'sm' : 'md'}\n\t\t\tclassName={\n\t\t\t\tanimationsEnabled\n\t\t\t\t\t? 'input-container__global-cancel-icon can-animate'\n\t\t\t\t\t: 'input-container__button-icon input-container__icon--cancel'\n\t\t\t}\n\t\t\ton-focus={() => {\n\t\t\t\tif (hasSuggestions) {\n\t\t\t\t\tdispatch(SHOW_POPOVER);\n\t\t\t\t}\n\t\t\t}}\n\t\t\tvariant=\"primary\"\n\t\t\tconfig-aria={{'aria-label': LABELS.CLEAR_SEARCH}}\n\t\t\ttooltip-content={LABELS.CLEAR_SEARCH}>\n\t\t\t<div className=\"cancel-icon\">\n\t\t\t\t{getIcon('close-outline', ICON_SIZES.XL, searchConfig)}\n\t\t\t</div>\n\t\t</now-button-bare>\n\t);\n\n\tconst inputElement = (\n\t\t// nds-scanner-disable-start native-element\n\t\t<input\n\t\t\tclass={{\n\t\t\t\t'input-container__input': true,\n\t\t\t\t'can-animate': animationsEnabled\n\t\t\t}}\n\t\t\taria-autocomplete=\"list\"\n\t\t\taria-expanded={showPopover ? 'true' : 'false'}\n\t\t\ttype=\"text\"\n\t\t\taria-owns={`${nowId}-search-popover`}\n\t\t\taria-controls={`${nowId}-search-popover`}\n\t\t\taria-haspopup=\"listbox\"\n\t\t\trole=\"combobox\"\n\t\t\taria-labelledby={`${nowId}-search-information`}\n\t\t\tmaxLength={MAX_QUERY_LENGTH}\n\t\t\taria-label={placeholder}\n\t\t\tplaceholder={placeholder}\n\t\t\ton-input={({target: {value}}) => {\n\t\t\t\tdispatch(INPUT_CHANGED, {term: value});\n\t\t\t}}\n\t\t\tvalue={term}\n\t\t\ton-focus={() => {\n\t\t\t\tif (shouldFocusInput) {\n\t\t\t\t\tshouldFocusInput = false;\n\t\t\t\t}\n\t\t\t\tdispatch(INPUT_FOCUSED_IN);\n\t\t\t}}\n\t\t\ton-blur={(ev) => {\n\t\t\t\tif (ev.relatedTarget?.className === 'search-popover__item-button') {\n\t\t\t\t\tev.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (shouldFocusInput) {\n\t\t\t\t\tev.target.focus();\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(INPUT_FOCUSED_OUT, ev.relatedTarget);\n\t\t\t\t}\n\t\t\t}}\n\t\t\thook={{\n\t\t\t\tinsert: setFocus(isMobileView, isCollapsedView),\n\t\t\t\tdestroy: removeFocus(isMobileView, isCollapsedView)\n\t\t\t}}\n\t\t/>\n\t\t// nds-scanner-disable-stop native-element\n\t);\n\n\tconst isAttached = attachToElement || attachToNavigation ? true : false;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={`${inputContainerClassName} ${\n\t\t\t\thideSearchPopover ? 'input-container--no-popover' : ''\n\t\t\t}`.trim()}>\n\t\t\t{isAttached ? navigationAttachedIcon : null}\n\t\t\t{!isAttached ? backIcon : null}\n\t\t\t{inputElement}\n\t\t\t{showCancel && !isEmpty(term) ? cancelElement : null}\n\t\t</div>\n\t);\n};\n\nexport default view;\n","import {\n\tPERSONAL_CLICK_FIELDS,\n\tEXACT_MATCH_FIELDS,\n\tQUERY_CONTENT_FIELDS,\n\tPOPOVER_ITEM_TYPE,\n\tSYS_ATTACHMENT\n} from '../constants';\n\nfunction getColumnByFieldName(columns, fieldName) {\n\tif (!columns || !Array.isArray(columns)) return {};\n\tconst matches = columns.filter((col) => col.fieldName === fieldName);\n\treturn matches.length > 0 ? matches[0] : {};\n}\n\n/**  For Attachments search based suggestions the expected navigation should be to the parent record\n * But parent table details are to be retrieved differently for personal click fields and query content\n **/\n\nfunction getAttachmentTableDetails(navItem, actionDataCol) {\n\tlet parentTableData;\n\tif (navItem.type === POPOVER_ITEM_TYPE.QUERY_CONTENT) {\n\t\tparentTableData = {\n\t\t\tparentTable:\n\t\t\t\tgetColumnByFieldName(navItem.columns, QUERY_CONTENT_FIELDS.PARENT_TABLE)\n\t\t\t\t\t.value || '',\n\t\t\tparentSysId:\n\t\t\t\tgetColumnByFieldName(\n\t\t\t\t\tnavItem.columns,\n\t\t\t\t\tQUERY_CONTENT_FIELDS.PARENT_RECORD_SYSID\n\t\t\t\t).value || ''\n\t\t};\n\t}\n\tif (\n\t\tnavItem.type === POPOVER_ITEM_TYPE.USER_HISTORY_AND_CLICK ||\n\t\tnavItem.type === POPOVER_ITEM_TYPE.PERSONAL_CLICK\n\t) {\n\t\tconst navData = JSON.parse(actionDataCol.value);\n\t\tconst {parentTable, parentSysId} = navData.actionPayload;\n\t\tparentTableData = {\n\t\t\tparentTable: parentTable,\n\t\t\tparentSysId: parentSysId\n\t\t};\n\t}\n\treturn parentTableData;\n}\nfunction splitHighlighting(text) {\n\tconst highlightFragments = [];\n\tlet rawText = text;\n\tlet index = rawText.indexOf('<highlight>');\n\twhile (index >= 0) {\n\t\thighlightFragments.push(rawText.substring(0, index));\n\t\thighlightFragments.push(\n\t\t\trawText.substring(index + 11, rawText.indexOf('</highlight>'))\n\t\t);\n\t\trawText = rawText.substring(rawText.indexOf('</highlight>') + 12);\n\t\tindex = rawText.indexOf('<highlight>');\n\t}\n\thighlightFragments.push(rawText);\n\treturn highlightFragments.join('');\n}\n\nfunction parseNavItem(navItem) {\n\tconst title =\n\t\tgetColumnByFieldName(navItem.columns, 'title').value ||\n\t\tgetColumnByFieldName(navItem.columns, 'name').value ||\n\t\t'';\n\tconst newTitle = splitHighlighting(title);\n\n\tconst tableValue =\n\t\tnavItem.table ||\n\t\tgetColumnByFieldName(navItem.columns, PERSONAL_CLICK_FIELDS.TABLE).value ||\n\t\tgetColumnByFieldName(navItem.columns, EXACT_MATCH_FIELDS.TABLE).value ||\n\t\t'';\n\n\tconst table =\n\t\tnavItem.type === POPOVER_ITEM_TYPE.QUERY_CONTENT\n\t\t\t? getColumnByFieldName(navItem.columns, QUERY_CONTENT_FIELDS.TABLE).value\n\t\t\t: tableValue;\n\n\tconst label =\n\t\tnavItem.label ||\n\t\tgetColumnByFieldName(navItem.columns, PERSONAL_CLICK_FIELDS.LABEL).value ||\n\t\t'';\n\n\tconst actionDataCol = getColumnByFieldName(\n\t\tnavItem.columns,\n\t\tPERSONAL_CLICK_FIELDS.ACTION_DATA\n\t);\n\n\tconst recordUrl =\n\t\tgetColumnByFieldName(navItem.columns, PERSONAL_CLICK_FIELDS.URL).value ||\n\t\tgetColumnByFieldName(navItem.columns, EXACT_MATCH_FIELDS.RECORD_URL)\n\t\t\t.value ||\n\t\tgetColumnByFieldName(navItem.columns, QUERY_CONTENT_FIELDS.RECORD_URL)\n\t\t\t.value ||\n\t\t'';\n\n\tconst sysId =\n\t\tgetColumnByFieldName(navItem.columns, PERSONAL_CLICK_FIELDS.SYSID).value ||\n\t\tgetColumnByFieldName(navItem.columns, EXACT_MATCH_FIELDS.SYSID).value ||\n\t\tgetColumnByFieldName(navItem.columns, QUERY_CONTENT_FIELDS.SYSID).value ||\n\t\t'';\n\n\tconst sourceTable = getColumnByFieldName(\n\t\tnavItem.columns,\n\t\tEXACT_MATCH_FIELDS.TABLE\n\t).value;\n\n\tlet actionData = {};\n\tif (recordUrl && table !== SYS_ATTACHMENT) {\n\t\tactionData = {\n\t\t\tactionPayload: {\n\t\t\t\ttable: table,\n\t\t\t\tsysId: sysId,\n\t\t\t\trecordUrl: recordUrl\n\t\t\t}\n\t\t};\n\t} else if (table === SYS_ATTACHMENT) {\n\t\tconst parentTableData = getAttachmentTableDetails(navItem, actionDataCol);\n\t\tactionData = {\n\t\t\tactionPayload: {\n\t\t\t\ttable: parentTableData.parentTable,\n\t\t\t\tsysId: parentTableData.parentSysId\n\t\t\t}\n\t\t};\n\t} else if (actionDataCol && actionDataCol.value) {\n\t\ttry {\n\t\t\tactionData = JSON.parse(actionDataCol.value);\n\t\t} catch (e) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.log(`invalid JSON syntax in actionData: ${actionDataCol.value}`);\n\t\t}\n\t}\n\n\treturn {\n\t\ttable,\n\t\tsourceTable,\n\t\tlabel,\n\t\tactionPayload: actionData,\n\t\ttitle: newTitle\n\t};\n}\n\nexport default parseNavItem;\n","import '@servicenow/now-icon';\nimport '@servicenow/now-button';\nimport {\n\tMOUSE_OVERED,\n\tITEM_SELECTED,\n\tSET_REF,\n\tHANDLE_TOOLTIP_ON_TRUNCATED_TEXT\n} from '../../actions';\nimport {LABELS, KEYCODE, ICON_SIZES} from '../../constants';\nimport {t} from 'sn-translate';\nimport {getIcon} from '../../../../../utils';\n\nconst createActions = (actions, term, searchConfig) =>\n\t(actions || []).map((action) => {\n\t\tconst {clickActionType, icon} = action;\n\t\treturn (\n\t\t\t<now-button-bare\n\t\t\t\tappend-to-payload={{\n\t\t\t\t\taction: clickActionType,\n\t\t\t\t\tpayload: {term}\n\t\t\t\t}}\n\t\t\t\tclassName=\"search-popover__item-button\"\n\t\t\t\tsize=\"xs\"\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tbare\n\t\t\t\tconfig-aria={{\n\t\t\t\t\t'aria-label': `${LABELS.CLEAR_RECENT_SEARCH}: ${term}`\n\t\t\t\t}}\n\t\t\t\ttooltip-content={`${LABELS.CLEAR_RECENT_SEARCH}: ${term}`}>\n\t\t\t\t<span\n\t\t\t\t\tclassName=\"action-icon\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\taria-label={`${LABELS.CLEAR_RECENT_SEARCH}: ${term}`}>\n\t\t\t\t\t{getIcon(icon, ICON_SIZES.SM, searchConfig)}\n\t\t\t\t</span>\n\t\t\t</now-button-bare>\n\t\t);\n\t});\n\nconst view = ({\n\ticon,\n\tisActive,\n\tindex,\n\tdispatch,\n\tbreadCrumbText,\n\tprimaryText,\n\tsuggestionLabel = '',\n\tshowActions,\n\titemActions = [],\n\tshowTooltip = false,\n\ttitleRef,\n\ttooltipContent = '',\n\titemType = '',\n\titem,\n\tsearchConfig\n}) => {\n\tconst actions = createActions(itemActions, suggestionLabel, searchConfig);\n\n\tconst findSearchPopoverListItem = function(target) {\n\t\t// the mouse click can happen on any inner elements. Hence, this helps identify parent div recursively for dispatch\n\t\tif (\n\t\t\ttarget?.classList?.contains('search-popover__item-metadata-global') ===\n\t\t\tfalse\n\t\t) {\n\t\t\treturn findSearchPopoverListItem(target.parentNode);\n\t\t}\n\t\treturn target;\n\t};\n\n\tconst onItemSelection = (evt) => {\n\t\tevt.preventDefault();\n\n\t\tdispatch(HANDLE_TOOLTIP_ON_TRUNCATED_TEXT, {\n\t\t\tshowToolTip: false,\n\t\t\ttarget: findSearchPopoverListItem(evt.target)\n\t\t});\n\t\t// button-bare dispatches its own action\n\n\t\tif (\n\t\t\t!evt.target.matches('now-button-bare') &&\n\t\t\t// if is child of now-button\n\t\t\t!evt.target.closest('now-button-bare')\n\t\t) {\n\t\t\tdispatch(ITEM_SELECTED, {\n\t\t\t\tselectedItem: item\n\t\t\t});\n\t\t}\n\t};\n\n\tconst onMouseOver = () => {\n\t\tdispatch(MOUSE_OVERED, {index});\n\t};\n\n\tconst getBody = () => {\n\t\tif (breadCrumbText && breadCrumbText[0]) {\n\t\t\tif (breadCrumbText[1]) {\n\t\t\t\treturn (\n\t\t\t\t\t<div className=\"search-popover__item--content-container\">\n\t\t\t\t\t\t<p className=\"primary-text-container\">{primaryText}</p>\n\t\t\t\t\t\t<p\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'click-breadcrumb': true\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t<span>{breadCrumbText[0]}</span>\n\t\t\t\t\t\t\t<span>{breadCrumbText[1]}</span>\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<div className=\"search-popover__item--content-container\">\n\t\t\t\t\t<p className=\"primary-text-container\">{primaryText}</p>\n\t\t\t\t\t<p\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'click-breadcrumb': true\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t{breadCrumbText[0]}\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn <p className=\"primary-text-container\">{primaryText}</p>;\n\t};\n\n\tconst getTooltip = () => {\n\t\tif (showTooltip) {\n\t\t\treturn (\n\t\t\t\t<now-tooltip\n\t\t\t\t\tid=\"titleTooltip\"\n\t\t\t\t\ttarget-ref={titleRef}\n\t\t\t\t\tcontent={t('Open record related to attachment')}\n\t\t\t\t\tdelay={500}\n\t\t\t\t\tposition={[\n\t\t\t\t\t\t'top-center bottom-center',\n\t\t\t\t\t\t'bottom-center top-center',\n\t\t\t\t\t\t'center-end center-start',\n\t\t\t\t\t\t'center-start center-end',\n\t\t\t\t\t\t'top-end top-start',\n\t\t\t\t\t\t'bottom-end bottom-start',\n\t\t\t\t\t\t'top-start top-end',\n\t\t\t\t\t\t'bottom-start bottom-end'\n\t\t\t\t\t]}\n\t\t\t\t\toffset={8}\n\t\t\t\t/>\n\t\t\t);\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t};\n\treturn (\n\t\t<li\n\t\t\tclass={{\n\t\t\t\t'search-popover__item': true,\n\t\t\t\t'-search-popover__item--is-active': isActive,\n\t\t\t\t[`-search-popover__type--${itemType.toLowerCase()}`]: itemType\n\t\t\t}}\n\t\t\ton-mousedown={onItemSelection}\n\t\t\ton-mouseover={onMouseOver}\n\t\t\ttabindex={-1}\n\t\t\trole=\"menuitem\">\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'search-popover__item-metadata': true\n\t\t\t\t}}\n\t\t\t\trole=\"button\"\n\t\t\t\ttabindex={0}\n\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\tif (showTooltip) {\n\t\t\t\t\t\tdispatch(SET_REF, {\n\t\t\t\t\t\t\telm\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tdata-tooltip={suggestionLabel || tooltipContent}\n\t\t\t\ton-mouseenter={(event) => {\n\t\t\t\t\tdispatch(HANDLE_TOOLTIP_ON_TRUNCATED_TEXT, {\n\t\t\t\t\t\tshowToolTip: true,\n\t\t\t\t\t\ttarget: event.target\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t\ton-mouseleave={(event) => {\n\t\t\t\t\tdispatch(HANDLE_TOOLTIP_ON_TRUNCATED_TEXT, {\n\t\t\t\t\t\tshowToolTip: false,\n\t\t\t\t\t\ttarget: event.target\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t\ton-focusin={(event) => {\n\t\t\t\t\tdispatch(HANDLE_TOOLTIP_ON_TRUNCATED_TEXT, {\n\t\t\t\t\t\tshowToolTip: true,\n\t\t\t\t\t\ttarget: event.target\n\t\t\t\t\t});\n\t\t\t\t\tonMouseOver();\n\t\t\t\t}}\n\t\t\t\ton-focusout={(event) => {\n\t\t\t\t\tdispatch(HANDLE_TOOLTIP_ON_TRUNCATED_TEXT, {\n\t\t\t\t\t\tshowToolTip: false,\n\t\t\t\t\t\ttarget: event.target\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t\ton-keypress={(event) => {\n\t\t\t\t\tif (event.code === KEYCODE.ENTER) {\n\t\t\t\t\t\tdispatch(HANDLE_TOOLTIP_ON_TRUNCATED_TEXT, {\n\t\t\t\t\t\t\tshowToolTip: false,\n\t\t\t\t\t\t\ttarget: event.target\n\t\t\t\t\t\t});\n\t\t\t\t\t\tonItemSelection(event);\n\t\t\t\t\t}\n\t\t\t\t}}>\n\t\t\t\t{getTooltip()}\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'search-popover__item-icon': true\n\t\t\t\t\t}}>\n\t\t\t\t\t{getIcon(icon, ICON_SIZES.MD, searchConfig)}\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'search-popover__item-primary-text': true\n\t\t\t\t\t}}>\n\t\t\t\t\t{getBody()}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{showActions ? actions : null}\n\t\t</li>\n\t);\n};\n\nexport default view;\n","import {POPOVER_ITEM_TYPE} from '../../constants';\nimport Item from './PopoverItem';\n\nconst view = ({\n\tindex,\n\tterm,\n\tdispatch,\n\tisActive,\n\ttooltipContent,\n\titemType = 'search_term',\n\titem,\n\tsearchConfig\n}) => (\n\t<Item\n\t\tisActive={isActive}\n\t\ttype={POPOVER_ITEM_TYPE.USER_SEARCH_TERM}\n\t\tindex={index}\n\t\ticon=\"magnifying-glass-fill\"\n\t\tprimaryText={term}\n\t\tdispatch={dispatch}\n\t\ttooltipContent={tooltipContent}\n\t\titemType={itemType}\n\t\titem={item}\n\t\tsearchConfig={searchConfig}\n\t/>\n);\n\nexport default view;\n","const view = ({label, index, itemType = 'section_header'}) => {\n\tconst getLabelName = (label) => {\n\t\treturn label;\n\t};\n\n\tconst labelName = getLabelName(label);\n\t// customization, per Chengchang the OOB behavior is confusing for the user and suggested header should be removed\n\tif (\n\t\tString(labelName)\n\t\t\t.toLowerCase()\n\t\t\t.includes('suggested')\n\t) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<li\n\t\t\tclass={{\n\t\t\t\t'search-popover__section-header': true,\n\t\t\t\t[`-search-popover__type--${itemType.toLowerCase()}`]: itemType\n\t\t\t}}\n\t\t\trole=\"menuitem\"\n\t\t\taria-hidden=\"true\">\n\t\t\t<span id={`result-section-header-${index}`}>{labelName}</span>\n\t\t</li>\n\t);\n};\n\nexport default view;\n","import {Fragment} from '@servicenow/ui-renderer-snabbdom';\n\nconst replaceWhiteSpace = (str) => (str || '').replace(/\\s/g, '\\u00a0');\n\n// bold the matched string\nconst highlightMatch = (match, str) => {\n\tconst matchText = match || '';\n\n\tconst sourceText =\n\t\tnew DOMParser().parseFromString(str, 'text/html').documentElement\n\t\t\t.textContent || '';\n\n\tconst matchStartIndex = sourceText\n\t\t.toLowerCase()\n\t\t.indexOf(matchText.toLowerCase());\n\tconst matchEndIndex =\n\t\tmatchStartIndex !== -1 ? matchStartIndex + matchText.length : 0;\n\n\tconst regularLeftText = replaceWhiteSpace(\n\t\tsourceText.substring(0, matchStartIndex)\n\t);\n\tconst bold = replaceWhiteSpace(\n\t\tsourceText.substring(matchStartIndex, matchEndIndex)\n\t);\n\tconst regularRightText = replaceWhiteSpace(\n\t\tsourceText.substring(matchEndIndex)\n\t);\n\n\tconst leftTextVNode = regularLeftText || null;\n\tconst middleTextVNode = bold ? <strong>{bold}</strong> : null;\n\tconst rightTextVNode = regularRightText || null;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{leftTextVNode}\n\t\t\t{middleTextVNode}\n\t\t\t{rightTextVNode}\n\t\t</Fragment>\n\t);\n};\n\nexport default highlightMatch;\n","import Item from './PopoverItem';\nimport highlightMatch from '../../utils/highlight';\nimport {CLEAR_SEARCH_SELECTED} from '../../actions';\n\nconst view = ({\n\tterm,\n\tname,\n\tindex,\n\tdispatch,\n\tisActive,\n\tshowActions,\n\ttooltipContent,\n\ticon = 'change-outline',\n\titemType = 'user_history',\n\titem,\n\tsearchConfig\n}) => {\n\tconst disableClearSearch =\n\t\tsearchConfig.disableClearSearch === true ? true : false;\n\n\tconst actions = [];\n\n\tif (!disableClearSearch) {\n\t\tactions.push({\n\t\t\tclickActionType: CLEAR_SEARCH_SELECTED,\n\t\t\ticon: 'close-outline'\n\t\t});\n\t}\n\n\tconst primaryText = highlightMatch(term, name);\n\treturn (\n\t\t<Item\n\t\t\tisActive={isActive}\n\t\t\tindex={index}\n\t\t\ticon={icon}\n\t\t\tprimaryText={primaryText}\n\t\t\tsuggestionLabel={name}\n\t\t\titemActions={actions}\n\t\t\tdispatch={dispatch}\n\t\t\tshowActions={showActions}\n\t\t\ttooltipContent={tooltipContent}\n\t\t\titemType={itemType}\n\t\t\titem={item}\n\t\t\tsearchConfig={searchConfig}\n\t\t/>\n\t);\n};\n\nexport default view;\n","import Item from './PopoverItem';\nimport highlightMatch from '../../utils/highlight';\n\nconst view = ({\n\tterm,\n\tname,\n\tindex,\n\tdispatch,\n\tisActive,\n\ttooltipContent,\n\titemType = 'instance_history',\n\titem,\n\tsearchConfig\n}) => {\n\tconst icon = 'magnifying-glass-fill';\n\tconst primaryText = highlightMatch(term, name);\n\treturn (\n\t\t<Item\n\t\t\tisActive={isActive}\n\t\t\tindex={index}\n\t\t\ticon={icon}\n\t\t\tprimaryText={primaryText}\n\t\t\tdispatch={dispatch}\n\t\t\ttooltipContent={tooltipContent}\n\t\t\titemType={itemType}\n\t\t\titem={item}\n\t\t\tsearchConfig={searchConfig}\n\t\t/>\n\t);\n};\n\nexport default view;\n","const view = ({ariaLiveText, ariaBusyState = false}) => {\n\tif (!ariaBusyState && !ariaLiveText.length) return null;\n\n\treturn (\n\t\t<span\n\t\t\tclassName=\"sr-only\"\n\t\t\taria-live=\"polite\"\n\t\t\taria-busy={ariaBusyState ? 'true' : 'false'}>\n\t\t\t{ariaLiveText}\n\t\t</span>\n\t);\n};\n\nexport default view;\n","import Item from './PopoverItem';\nimport highlightMatch from '../../utils/highlight';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport AriaLiveContainer from '../ariaLiveContainer';\nimport {SR_LABELS} from '../../constants';\n\nconst view = ({\n\tterm,\n\tbreadCrumbText,\n\tisActive,\n\ttype,\n\tname,\n\ticon,\n\tindex,\n\tdispatch,\n\titem,\n\texactMatch = {},\n\tenableExactMatch = false,\n\ttitleRef,\n\tshowTooltip,\n\ttooltipContent,\n\titemType = 'navigation',\n\tsearchConfig\n}) => {\n\tconst actions = [];\n\tconst ariaLiveTextContainer = enableExactMatch ? (\n\t\t<AriaLiveContainer ariaLiveText={SR_LABELS.EXACT_MATCH_FOUND} />\n\t) : null;\n\n\t// apply highlighting for exact match\n\tlet primaryText =\n\t\texactMatch.hasExactMatch && enableExactMatch\n\t\t\t? item.columns[0].displayValue\n\t\t\t: highlightMatch(term, name);\n\n\t// if the response already has highlight tags in it, apply that highlighting\n\tif (name.indexOf('<highlight>') >= 0 && name.indexOf('</highlight>') >= 0) {\n\t\tprimaryText = splitHighlighting(name);\n\t}\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{ariaLiveTextContainer}\n\t\t\t<Item\n\t\t\t\tisActive={isActive}\n\t\t\t\ttype={type}\n\t\t\t\tbreadCrumbText={breadCrumbText}\n\t\t\t\tindex={index}\n\t\t\t\ticon={icon}\n\t\t\t\tprimaryText={primaryText}\n\t\t\t\titemActions={actions}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\titem={item}\n\t\t\t\tnotRecentSearch\n\t\t\t\ttitleRef={titleRef}\n\t\t\t\tshowTooltip={showTooltip}\n\t\t\t\tuserHistoryAndClick\n\t\t\t\ttooltipContent={tooltipContent}\n\t\t\t\titemType={itemType}\n\t\t\t\tsearchConfig={searchConfig}\n\t\t\t/>\n\t\t</Fragment>\n\t);\n};\n\nconst splitHighlighting = (text) => {\n\tconst highlightFragments = [];\n\tlet rawText = text;\n\tlet index = rawText.indexOf('<highlight>');\n\twhile (index >= 0) {\n\t\thighlightFragments.push(rawText.substring(0, index));\n\t\thighlightFragments.push(\n\t\t\t<strong>\n\t\t\t\t{rawText.substring(index + 11, rawText.indexOf('</highlight>'))}\n\t\t\t</strong>\n\t\t);\n\t\trawText = rawText.substring(rawText.indexOf('</highlight>') + 12);\n\t\tindex = rawText.indexOf('<highlight>');\n\t}\n\thighlightFragments.push(rawText);\n\treturn <Fragment>{highlightFragments}</Fragment>;\n};\n\nexport default view;\n","import {\n\tSEARCH_EXECUTED_INTERNAL,\n\tSIGNIN_BUTTON_CLICKED_INITIATED\n} from '../../actions';\nimport {t} from 'sn-translate';\nimport {getIcon} from '../../../../../utils';\nimport {\n\tICON_SIZES,\n\tKEYCODE,\n\tPOPOVER_FOOTER_SEARCH_EXPERIENCE,\n\tPOPOVER_FOOTER_SIGN_IN\n} from '../../constants';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\n\nconst view = ({\n\tterm,\n\tdispatch,\n\tisSearchInput,\n\titemType = 'footer',\n\tisLoggedIn = false,\n\tattachToNavigation = false,\n\tshowLoginNotice = false,\n\tindex,\n\tsearchConfig\n}) => {\n\tconst onFooterItemClick = () => {\n\t\tdispatch(SEARCH_EXECUTED_INTERNAL, {searchTerm: term});\n\t};\n\tconst onFooterSignInClick = () => {\n\t\tconst pathname = window.location.pathname;\n\t\tdispatch(SIGNIN_BUTTON_CLICKED_INITIATED, {pathname});\n\t};\n\n\tconst replaceWhiteSpace = (str) => (str || '').replace(/\\s/g, '\\u00a0');\n\n\tconst viewAll = term ? (\n\t\t<li\n\t\t\tclass={{\n\t\t\t\t'search-popover__item-view-all': true,\n\t\t\t\t[`-search-popover__type--${itemType}`]: true,\n\t\t\t\t'search-popover__item-sign-in-notice-added': !isLoggedIn\n\t\t\t}}>\n\t\t\t<span\n\t\t\t\trole=\"button\"\n\t\t\t\ttabindex={0}\n\t\t\t\ton-mousedown={onFooterItemClick}\n\t\t\t\ton-keypress={(event) => {\n\t\t\t\t\tif (event.code === KEYCODE.ENTER) {\n\t\t\t\t\t\tonFooterItemClick();\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tclassName=\"search-popover__item-text-link\">\n\t\t\t\t{isSearchInput\n\t\t\t\t\t? t('sn_cx_nav.view_all_results_for', term)\n\t\t\t\t\t: t('sn_cx_nav.view_all_results_for', term)}\n\t\t\t\t<span className=\"view-all-arrow-icon\">\n\t\t\t\t\t{getIcon('arrow-right-long', ICON_SIZES.MD, searchConfig)}\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t</li>\n\t) : null;\n\n\tconst loginInNotice =\n\t\t!isLoggedIn && !attachToNavigation && showLoginNotice ? (\n\t\t\t<li\n\t\t\t\tclass={{\n\t\t\t\t\t'search-popover__item-sign-in-notice': true,\n\t\t\t\t\t[`-search-popover__type--${itemType}`]: true,\n\t\t\t\t\t'search-popover__item-sign-in-notice-empty':\n\t\t\t\t\t\tterm === '' && index === 0\n\t\t\t\t}}>\n\t\t\t\t<span\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tclassName=\"search-popover__item-text-link\"\n\t\t\t\t\ton-click={(e) => {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tonFooterSignInClick();\n\t\t\t\t\t}}\n\t\t\t\t\ton-keypress={(event) => {\n\t\t\t\t\t\tif (event.code === KEYCODE.ENTER) {\n\t\t\t\t\t\t\tonFooterSignInClick();\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\ttabindex={0}>\n\t\t\t\t\t{POPOVER_FOOTER_SIGN_IN}\n\t\t\t\t</span>\n\t\t\t\t<span className=\"search-popover__item-sign-in-notice-text\">\n\t\t\t\t\t{replaceWhiteSpace(POPOVER_FOOTER_SEARCH_EXPERIENCE)}\n\t\t\t\t</span>\n\t\t\t</li>\n\t\t) : null;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{viewAll}\n\t\t\t{loginInNotice}\n\t\t</Fragment>\n\t);\n};\n\nexport default view;\n","import {\n\tPOPOVER_ITEM_TYPE,\n\tICON_TYPE,\n\tICON_SOURCE_MAP,\n\tICON_SIZES\n} from '../constants';\nimport {getIconFromSource} from '../../../../utils';\n\nexport const getPopoverItemIcon = (item, navItem, searchConfig = {}) => {\n\t// debugger;\n\tif (\n\t\t[POPOVER_ITEM_TYPE.FOOTER, POPOVER_ITEM_TYPE.SECTION_HEADER].includes(\n\t\t\titem.type\n\t\t)\n\t) {\n\t\treturn null;\n\t}\n\n\tif (\n\t\t[\n\t\t\tPOPOVER_ITEM_TYPE.USER_HISTORY,\n\t\t\tPOPOVER_ITEM_TYPE.USER_HISTORY_AND_CLICK\n\t\t].includes(item.type)\n\t) {\n\t\treturn 'change-outline';\n\t}\n\n\tconst {table, sourceTable} = navItem;\n\n\tconst sourceTableLowerCase = String(sourceTable)\n\t\t.toLowerCase()\n\t\t.replace(/[^a-zA-Z.]/g, '-');\n\n\tif (searchConfig?.sourceIcons) {\n\t\tconst sourceIcon =\n\t\t\tgetIconFromSource(table, ICON_SIZES.MD, searchConfig.sourceIcons) ||\n\t\t\tgetIconFromSource(\n\t\t\t\tsourceTableLowerCase,\n\t\t\t\tICON_SIZES.MD,\n\t\t\t\tsearchConfig.sourceIcons\n\t\t\t);\n\n\t\tif (sourceIcon) {\n\t\t\treturn sourceIcon;\n\t\t}\n\t}\n\n\tif (ICON_SOURCE_MAP.has(sourceTableLowerCase)) {\n\t\treturn ICON_SOURCE_MAP.get(sourceTableLowerCase);\n\t}\n\n\t// if item sourceTable has a configured icon, use it\n\tif (ICON_TYPE.has(sourceTableLowerCase)) {\n\t\treturn ICON_TYPE.get(sourceTableLowerCase);\n\t}\n\n\t// if item has a image column, use it\n\tconst imageType = item.columns.find((column) => {\n\t\treturn column.fieldName === 'doctype_image';\n\t});\n\n\tconst imageFromColumn = imageType?.displayValue;\n\n\t// if has image from column, use it\n\tif (imageFromColumn) {\n\t\treturn imageFromColumn;\n\t}\n\n\t// if is not global search, use the sourceTable iconType\n\treturn table === 'sc_cat_item' ? 'clipboard-outline' : 'document-outline';\n};\n","import {t} from 'sn-translate';\nimport {upperFirst, lowerCase} from 'lodash';\nimport {\n\tPOPOVER_ITEM_TYPE,\n\tSYS_ATTACHMENT,\n\tATTACHMENT_LABEL,\n\tEXACT_MATCH_FIELDS\n} from '../../constants';\nimport parseNavItem from '../../utils/parseNavItem';\n\nimport SearchTerm from './SearchTerm';\nimport SectionHeader from './SectionHeader';\nimport UserHistory from './UserHistory';\nimport InstanceHistory from './InstanceHistory';\nimport Navigation from './Navigation';\nimport PopoverFooter from './PopoverFooter';\nimport {getPopoverItemIcon} from '../../utils/getPopoverItemIcon';\n\nconst getPopoverItem = ({\n\titem,\n\tdispatch,\n\tisActive,\n\tterm,\n\tindex,\n\ttotalSectionsToDisplay,\n\texactMatch,\n\tenableExactMatch,\n\ttitleRef,\n\tsearchConfig,\n\tisLoggedIn,\n\tattachToNavigation\n}) => {\n\tconst navItem = parseNavItem(item);\n\tconst itemFooter = item.type === POPOVER_ITEM_TYPE.FOOTER;\n\tlet itemText;\n\tlet breadCrumbText;\n\tconst icon = getPopoverItemIcon(item, navItem, searchConfig);\n\tlet tableName;\n\tlet number;\n\tlet showTooltip;\n\tlet documentType;\n\n\tif (!itemFooter) {\n\t\titemText = item.columns[0]?.displayValue;\n\t\titem.columns.forEach((column) => {\n\t\t\tif (column.fieldName === EXACT_MATCH_FIELDS.NUMBER) {\n\t\t\t\tnumber = column?.displayValue;\n\t\t\t} else if (column.fieldName === EXACT_MATCH_FIELDS.TABLE) {\n\t\t\t\ttableName = column?.displayValue;\n\t\t\t} else if (column.fieldName === EXACT_MATCH_FIELDS.DOCUMENT_TYPE_ID) {\n\t\t\t\tdocumentType = column;\n\t\t\t}\n\t\t});\n\n\t\tif (\n\t\t\titem.type != POPOVER_ITEM_TYPE.USER_HISTORY &&\n\t\t\titem.type != POPOVER_ITEM_TYPE.SECTION_HEADER\n\t\t) {\n\t\t\tconst sourceTable = navItem.table;\n\t\t\tif (sourceTable === SYS_ATTACHMENT) {\n\t\t\t\tshowTooltip = true;\n\t\t\t\ttableName = documentType\n\t\t\t\t\t? upperFirst(lowerCase(documentType.displayValue))\n\t\t\t\t\t: tableName;\n\t\t\t\ttableName =\n\t\t\t\t\ttableName === ATTACHMENT_LABEL ? t(ATTACHMENT_LABEL) : tableName;\n\t\t\t\tnumber = number ? t('From: {0}', number) : undefined;\n\t\t\t}\n\t\t\tbreadCrumbText = [tableName, number];\n\t\t}\n\t}\n\n\tconst getTooltipContent = () => {\n\t\t// concatenate primary text with breadcrumb texts for tooltip on trcuncated texts\n\t\tconst breadCrumbTextContent = breadCrumbText\n\t\t\t? breadCrumbText.join(' ')\n\t\t\t: '';\n\t\tconst primaryTextContent = new DOMParser().parseFromString(\n\t\t\titemText,\n\t\t\t'text/html'\n\t\t).documentElement.textContent;\n\t\treturn primaryTextContent.concat(' ', breadCrumbTextContent);\n\t};\n\n\tswitch (item.type) {\n\t\tcase POPOVER_ITEM_TYPE.USER_SEARCH_TERM:\n\t\t\treturn (\n\t\t\t\t<SearchTerm\n\t\t\t\t\tisActive={isActive}\n\t\t\t\t\tindex={index}\n\t\t\t\t\tname={itemText}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tterm={term}\n\t\t\t\t\ttooltipContent={getTooltipContent()}\n\t\t\t\t\titemType={item.type}\n\t\t\t\t\titem={item}\n\t\t\t\t\tsearchConfig={searchConfig}\n\t\t\t\t/>\n\t\t\t);\n\n\t\tcase POPOVER_ITEM_TYPE.SECTION_HEADER:\n\t\t\treturn (\n\t\t\t\t<SectionHeader\n\t\t\t\t\tlabel={itemText}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tindex={index}\n\t\t\t\t\ttotalSectionsToDisplay={totalSectionsToDisplay}\n\t\t\t\t\titemType={item.type}\n\t\t\t\t/>\n\t\t\t);\n\n\t\tcase POPOVER_ITEM_TYPE.POPULAR_QUERY:\n\t\t\treturn (\n\t\t\t\t<InstanceHistory\n\t\t\t\t\tisActive={isActive}\n\t\t\t\t\tindex={index}\n\t\t\t\t\tname={itemText}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tterm={term}\n\t\t\t\t\ttooltipContent={getTooltipContent()}\n\t\t\t\t\titemType={item.type}\n\t\t\t\t\titem={item}\n\t\t\t\t\tsearchConfig={searchConfig}\n\t\t\t\t/>\n\t\t\t);\n\t\tcase POPOVER_ITEM_TYPE.USER_HISTORY:\n\t\t\treturn (\n\t\t\t\t<UserHistory\n\t\t\t\t\tisActive={isActive}\n\t\t\t\t\tindex={index}\n\t\t\t\t\tname={itemText}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tterm={term}\n\t\t\t\t\tshowActions={!term}\n\t\t\t\t\ticon={icon}\n\t\t\t\t\ttooltipContent={getTooltipContent()}\n\t\t\t\t\titemType={item.type}\n\t\t\t\t\titem={item}\n\t\t\t\t\tsearchConfig={searchConfig}\n\t\t\t\t/>\n\t\t\t);\n\t\tcase POPOVER_ITEM_TYPE.PERSONAL_CLICK:\n\t\t\treturn (\n\t\t\t\t<Navigation\n\t\t\t\t\tisActive={isActive}\n\t\t\t\t\ttype={item.type}\n\t\t\t\t\tbreadCrumbText={breadCrumbText}\n\t\t\t\t\tindex={index}\n\t\t\t\t\tname={itemText}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\ticon={icon}\n\t\t\t\t\tterm={term}\n\t\t\t\t\titem={item}\n\t\t\t\t\ttooltipContent={getTooltipContent()}\n\t\t\t\t\titemType={item.type}\n\t\t\t\t\tsearchConfig={searchConfig}\n\t\t\t\t/>\n\t\t\t);\n\t\tcase POPOVER_ITEM_TYPE.EXACT_MATCH:\n\t\t\treturn (\n\t\t\t\t<Navigation\n\t\t\t\t\tisActive={isActive}\n\t\t\t\t\ttype={item.type}\n\t\t\t\t\tbreadCrumbText={breadCrumbText}\n\t\t\t\t\tindex={index}\n\t\t\t\t\tname={itemText}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\ticon={icon}\n\t\t\t\t\tterm={term}\n\t\t\t\t\titem={item}\n\t\t\t\t\texactMatch={exactMatch}\n\t\t\t\t\tenableExactMatch={enableExactMatch}\n\t\t\t\t\ttooltipContent={getTooltipContent()}\n\t\t\t\t\titemType={item.type}\n\t\t\t\t\tsearchConfig={searchConfig}\n\t\t\t\t/>\n\t\t\t);\n\t\tcase POPOVER_ITEM_TYPE.QUERY_CONTENT:\n\t\tcase POPOVER_ITEM_TYPE.RECENTLY_VIEWED:\n\t\t\treturn (\n\t\t\t\t<Navigation\n\t\t\t\t\tisActive={isActive}\n\t\t\t\t\ttype={item.type}\n\t\t\t\t\tbreadCrumbText={breadCrumbText}\n\t\t\t\t\tindex={index}\n\t\t\t\t\tname={itemText}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\ticon={icon}\n\t\t\t\t\tterm={term}\n\t\t\t\t\titem={item}\n\t\t\t\t\ttitleRef={titleRef}\n\t\t\t\t\tshowTooltip={showTooltip}\n\t\t\t\t\ttooltipContent={getTooltipContent()}\n\t\t\t\t\titemType={item.type}\n\t\t\t\t\tsearchConfig={searchConfig}\n\t\t\t\t/>\n\t\t\t);\n\t\tcase POPOVER_ITEM_TYPE.USER_HISTORY_AND_CLICK:\n\t\t\treturn (\n\t\t\t\t<Navigation\n\t\t\t\t\tisActive={isActive}\n\t\t\t\t\ttype={item.type}\n\t\t\t\t\tbreadCrumbText={breadCrumbText}\n\t\t\t\t\tindex={index}\n\t\t\t\t\tname={itemText}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\ticon={icon}\n\t\t\t\t\tterm={term}\n\t\t\t\t\titem={item}\n\t\t\t\t\ttooltipContent={getTooltipContent()}\n\t\t\t\t\titemType={item.type}\n\t\t\t\t\tsearchConfig={searchConfig}\n\t\t\t\t/>\n\t\t\t);\n\t\tcase POPOVER_ITEM_TYPE.FOOTER:\n\t\t\tif (term || !isLoggedIn)\n\t\t\t\treturn (\n\t\t\t\t\t<PopoverFooter\n\t\t\t\t\t\tterm={term}\n\t\t\t\t\t\tisActive={isActive}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\titemType={item.type}\n\t\t\t\t\t\tisLoggedIn={isLoggedIn}\n\t\t\t\t\t\tattachToNavigation={attachToNavigation}\n\t\t\t\t\t\tshowLoginNotice={searchConfig.showLoginNotice}\n\t\t\t\t\t\tsearchConfig={searchConfig}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\treturn '';\n\t}\n};\n\nexport default getPopoverItem;\n","import '@servicenow/now-icon';\nimport {isEmpty} from 'lodash';\nimport '@servicenow/now-template-message';\nimport '@servicenow/now-loader';\nimport {t} from 'sn-translate';\nimport getPopoverItem from './PopoverItems';\nimport AriaLiveContainer from './ariaLiveContainer';\n\nconst view = ({\n\tactiveRowIndex,\n\tdata,\n\tterm,\n\tdispatch,\n\tshowEmptyState,\n\tfetching,\n\tenableExactMatch,\n\texactMatch,\n\tnowId,\n\ttitleRef,\n\tariaLiveText,\n\tariaLiveBusy,\n\tisSearchInput,\n\tsearchConfig,\n\tisLoggedIn,\n\tattachToNavigation,\n\thideSearchPopover\n}) => {\n\tif (showEmptyState) {\n\t\treturn (\n\t\t\t<now-template-message-empty-state\n\t\t\t\tclassName=\"trtr\"\n\t\t\t\taria-labelledby={`${nowId}-search-information`}\n\t\t\t\talignment=\"vertical-centered\"\n\t\t\t\tillustration=\"no-search-results\"\n\t\t\t\theading={{\n\t\t\t\t\tlabel: t('No recent search found'),\n\t\t\t\t\tlevel: '1'\n\t\t\t\t}}\n\t\t\t\tcontent={t(\n\t\t\t\t\t'Try searching for something to view your recent search activities'\n\t\t\t\t)}\n\t\t\t/>\n\t\t);\n\t}\n\n\tif (hideSearchPopover) {\n\t\treturn null;\n\t}\n\n\tconst items =\n\t\tenableExactMatch && !isEmpty(exactMatch.exactMatchData)\n\t\t\t? exactMatch.exactMatchData\n\t\t\t: data;\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'search-popover': true,\n\t\t\t\t'search-input': isSearchInput\n\t\t\t}}\n\t\t\tid={`${nowId}-search-popover`}>\n\t\t\t<AriaLiveContainer\n\t\t\t\tariaLiveText={ariaLiveText}\n\t\t\t\tariaBusyState={ariaLiveBusy || !ariaLiveText.length || fetching}\n\t\t\t/>\n\t\t\t<ul role=\"menu\" aria-labelledby={`result-section-header`}>\n\t\t\t\t{items.map((item, idx) => {\n\t\t\t\t\titem.itemIndex = item.itemIndex === undefined ? idx : item.itemIndex;\n\t\t\t\t\tconst isActive = item.itemIndex === activeRowIndex;\n\t\t\t\t\tconst index = item.itemIndex;\n\t\t\t\t\treturn getPopoverItem({\n\t\t\t\t\t\titem,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tisActive,\n\t\t\t\t\t\tterm,\n\t\t\t\t\t\tindex,\n\t\t\t\t\t\texactMatch,\n\t\t\t\t\t\tenableExactMatch,\n\t\t\t\t\t\ttitleRef,\n\t\t\t\t\t\tisSearchInput,\n\t\t\t\t\t\tsearchConfig,\n\t\t\t\t\t\tisLoggedIn,\n\t\t\t\t\t\tattachToNavigation\n\t\t\t\t\t});\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t</div>\n\t);\n};\n\nexport default view;\n","import '@servicenow/now-button';\nimport Input from '../../common/view/Input';\nimport Popover from '../../common/view/Popover';\n\nconst view = (state, {updateState, dispatch}) => {\n\tconst {\n\t\tterm,\n\t\tactiveRowIndex,\n\t\tdata,\n\t\tinputHasFocus,\n\t\tfetching,\n\t\tisInputActive,\n\t\texactMatch,\n\t\tsearchPanelOpened,\n\t\tsuggestionTypeFooter,\n\t\ttitleRef,\n\t\tariaLiveText,\n\t\tariaLiveBusy,\n\t\tproperties: {\n\t\t\tattachToNavigation,\n\t\t\tattachToElement,\n\t\t\tplaceholder,\n\t\t\tplacement,\n\t\t\tnowId,\n\t\t\tcanAnimate,\n\t\t\tenableExactMatch,\n\t\t\texactMatchRegex,\n\t\t\tisSearchInput,\n\t\t\topened,\n\t\t\tsearchConfig,\n\t\t\tisLoggedIn\n\t\t}\n\t} = state;\n\n\tif (!opened) {\n\t\treturn null;\n\t}\n\n\tconst hasSuggestions = data && data.length > 0;\n\n\t/*\n\tThe state of fetching is set to false once the suggestion fetch i.e data is completed.\n\tRefer suggestionEffects.js\n\t*/\n\tconst isTyping = term.length > 0;\n\tconst showEmptyState = !fetching && isTyping ? !hasSuggestions : false;\n\tconst hideSearchPopover =\n\t\t(!isTyping && (!data || data.length === 0)) || fetching;\n\n\treturn (\n\t\t<div\n\t\t\trole=\"search\"\n\t\t\taria-label=\"Global\"\n\t\t\tclass={{\n\t\t\t\t'attached-to-navigation': attachToNavigation,\n\t\t\t\t'attached-to-element': attachToElement,\n\t\t\t\tunauth: !isLoggedIn\n\t\t\t}}>\n\t\t\t<div\n\t\t\t\tclassName={`search-combobox search-combobox--${placement} search-combobox--desktop`}>\n\t\t\t\t<Input\n\t\t\t\t\tattachToNavigation={attachToNavigation}\n\t\t\t\t\tattachToElement={attachToElement}\n\t\t\t\t\thasFocus={inputHasFocus}\n\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\tterm={term}\n\t\t\t\t\thasSuggestions={hasSuggestions}\n\t\t\t\t\tplacement={placement}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tnowId={nowId}\n\t\t\t\t\tisInputActive={isInputActive}\n\t\t\t\t\tanimationsEnabled={canAnimate}\n\t\t\t\t\tsearchPanelOpened={searchPanelOpened}\n\t\t\t\t\tsuggestionTypeFooter={suggestionTypeFooter}\n\t\t\t\t\texactMatchRegex={exactMatchRegex}\n\t\t\t\t\tisSearchInput={isSearchInput}\n\t\t\t\t\tsearchConfig={searchConfig}\n\t\t\t\t\thideSearchPopover={hideSearchPopover}\n\t\t\t\t/>\n\n\t\t\t\t<Popover\n\t\t\t\t\tactiveRowIndex={activeRowIndex}\n\t\t\t\t\tdata={data}\n\t\t\t\t\tterm={term}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tnowId={nowId}\n\t\t\t\t\tshowEmptyState={showEmptyState}\n\t\t\t\t\tplacement={placement}\n\t\t\t\t\texactMatch={exactMatch}\n\t\t\t\t\tenableExactMatch={enableExactMatch}\n\t\t\t\t\ttitleRef={titleRef}\n\t\t\t\t\tupdateState={updateState}\n\t\t\t\t\tariaLiveText={ariaLiveText}\n\t\t\t\t\tariaLiveBusy={ariaLiveBusy}\n\t\t\t\t\tisInputActive={isInputActive}\n\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t\tisSearchInput={isSearchInput}\n\t\t\t\t\tfetching={fetching === true}\n\t\t\t\t\tsearchConfig={searchConfig}\n\t\t\t\t\tisLoggedIn={isLoggedIn}\n\t\t\t\t\tattachToNavigation={attachToNavigation}\n\t\t\t\t\thideSearchPopover={hideSearchPopover}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default view;\n","import {POPOVER_ITEM_TYPE} from '../constants';\nimport filter from 'lodash/filter';\nimport {t} from 'sn-translate';\n\nexport const getResultsCount = (items) => {\n\treturn filter(\n\t\titems,\n\t\t(item) =>\n\t\t\titem.type !== POPOVER_ITEM_TYPE.SECTION_HEADER &&\n\t\t\titem.type !== POPOVER_ITEM_TYPE.FOOTER\n\t).length;\n};\n\nexport const getGroupCount = (items) => {\n\treturn filter(items, (item) => item.type === POPOVER_ITEM_TYPE.SECTION_HEADER)\n\t\t.length;\n};\n\nexport const constructAriaLiveText = (items) => {\n\tconst groupCount = getGroupCount(items);\n\tconst resultCount = getResultsCount(items);\n\tconst resultLabel =\n\t\tresultCount === 1\n\t\t\t? t('showing {0} result in', resultCount)\n\t\t\t: t('showing {0} results in', resultCount);\n\tconst groupLabel =\n\t\tgroupCount === 1 ? t('{0} group', groupCount) : t('{0} groups', groupCount);\n\treturn `${resultLabel} ${groupLabel}`;\n};\n","import isEmpty from 'lodash/isEmpty';\nimport {\n\tPOPOVER_ITEM_TYPE,\n\tKEYBOARD_NAVIGATION,\n\tRECENT_SEARCH_SECTION_HEADER,\n\tGLOBAL_RECENT_SEARCH_SECTION_HEADER\n} from '../constants';\n\nconst _recentSearchSection = (data) => {\n\tif (isEmpty(data)) return false;\n\treturn data\n\t\t.filter((option) => option.type === POPOVER_ITEM_TYPE.SECTION_HEADER)\n\t\t.some(\n\t\t\t(option) =>\n\t\t\t\toption.columns[0]?.displayValue.toLowerCase() ===\n\t\t\t\t\tRECENT_SEARCH_SECTION_HEADER.toLowerCase() ||\n\t\t\t\toption.columns[0]?.displayValue.toLowerCase() ===\n\t\t\t\t\tGLOBAL_RECENT_SEARCH_SECTION_HEADER.toLowerCase()\n\t\t);\n};\n\nconst getRowColIndex = (activeRowIndex, activeColumnIndex, data, direction) => {\n\tconst len = data.length;\n\tif (len === 0) {\n\t\treturn {rowIndex: -1, columnIndex: 0};\n\t}\n\tlet columnIndex = activeColumnIndex;\n\tlet rowIndex = activeRowIndex;\n\n\tconst recentSearchSection = _recentSearchSection(data);\n\n\tswitch (direction) {\n\t\tcase KEYBOARD_NAVIGATION.UP:\n\t\t\tdo {\n\t\t\t\trowIndex = rowIndex < 1 ? -1 : rowIndex - 1;\n\t\t\t\t// move focus to input\n\t\t\t\tif (rowIndex === -1) {\n\t\t\t\t\tcolumnIndex = 0;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif (data[rowIndex]?.type !== POPOVER_ITEM_TYPE.USER_HISTORY)\n\t\t\t\t\tcolumnIndex = 1;\n\t\t\t\telse columnIndex = columnIndex > 0 ? columnIndex : 1;\n\t\t\t} while (\n\t\t\t\tdata[rowIndex] &&\n\t\t\t\tdata[rowIndex].type === POPOVER_ITEM_TYPE.SECTION_HEADER\n\t\t\t);\n\t\t\tbreak;\n\t\tcase KEYBOARD_NAVIGATION.DOWN:\n\t\t\tdo {\n\t\t\t\trowIndex = rowIndex === len - 1 ? rowIndex : rowIndex + 1;\n\t\t\t\t// when focus is on the last element don't move the focus\n\t\t\t\tif (rowIndex === len - 1) {\n\t\t\t\t\tcolumnIndex = 1;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\tdata[rowIndex] &&\n\t\t\t\t\tdata[rowIndex].type !== POPOVER_ITEM_TYPE.USER_HISTORY\n\t\t\t\t)\n\t\t\t\t\tcolumnIndex = 1;\n\t\t\t\telse columnIndex = columnIndex > 0 ? columnIndex : 1;\n\t\t\t} while (\n\t\t\t\tdata[rowIndex] &&\n\t\t\t\tdata[rowIndex].type === POPOVER_ITEM_TYPE.SECTION_HEADER\n\t\t\t);\n\t\t\tbreak;\n\t\tcase KEYBOARD_NAVIGATION.LEFT:\n\t\t\tdo {\n\t\t\t\t// no grid navigation\n\t\t\t\tif (\n\t\t\t\t\tdata[rowIndex].type !== POPOVER_ITEM_TYPE.USER_HISTORY ||\n\t\t\t\t\t!recentSearchSection\n\t\t\t\t) {\n\t\t\t\t\trowIndex = rowIndex < 1 ? len - 1 : rowIndex - 1;\n\t\t\t\t\tcolumnIndex = 1;\n\t\t\t\t} // grid navigation\n\t\t\t\telse if (columnIndex === 1) {\n\t\t\t\t\trowIndex = rowIndex < 1 ? len - 1 : rowIndex - 1;\n\t\t\t\t\tcolumnIndex += 1;\n\t\t\t\t} else {\n\t\t\t\t\tcolumnIndex -= 1;\n\t\t\t\t}\n\t\t\t} while (data[rowIndex].type === POPOVER_ITEM_TYPE.SECTION_HEADER);\n\t\t\tbreak;\n\t\tcase KEYBOARD_NAVIGATION.RIGHT:\n\t\t\tdo {\n\t\t\t\t// no grid navigation\n\t\t\t\tif (\n\t\t\t\t\tdata[rowIndex].type !== POPOVER_ITEM_TYPE.USER_HISTORY ||\n\t\t\t\t\t!recentSearchSection\n\t\t\t\t) {\n\t\t\t\t\trowIndex = (rowIndex + 1) % len;\n\t\t\t\t\tcolumnIndex = 1;\n\t\t\t\t} // grid navigation\n\t\t\t\telse if (columnIndex > 1) {\n\t\t\t\t\trowIndex = (rowIndex + 1) % len;\n\t\t\t\t\tcolumnIndex -= 1;\n\t\t\t\t} else {\n\t\t\t\t\tcolumnIndex += 1;\n\t\t\t\t}\n\t\t\t} while (data[rowIndex].type === POPOVER_ITEM_TYPE.SECTION_HEADER);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n\n\treturn {rowIndex, columnIndex};\n};\n\nexport default getRowColIndex;\n","//import get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\n\nexport const isExactMatchPresent = (exactMatch, term) => {\n\tif (term === exactMatch.term) return exactMatch.hasExactMatch;\n\treturn false;\n};\n\nexport const canTermMatchExactly = (term, criterionRegex, exactMatchEnabled) =>\n\texactMatchEnabled && new RegExp(criterionRegex).test(term);\n\nexport const hasExactMatchReadingFinished = (\n\texactMatch,\n\tterm,\n\ttermCriterionRegex,\n\texactMatchEnabled\n) => {\n\tif (isEmpty(exactMatch)) return true;\n\n\tconst {isFetching} = exactMatch;\n\n\tif (!isFetching) {\n\t\tconst dataTerm = exactMatch.term;\n\t\tif (\n\t\t\tdataTerm !== term &&\n\t\t\tcanTermMatchExactly(term, termCriterionRegex, exactMatchEnabled)\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn !isFetching;\n};\n\nexport const generateExactMatchPayload = (searchContextConfigId) => {\n\tvar payload = [\n\t\t{\n\t\t\ttype: 'TRANSFORM',\n\t\t\tdefinitionSysId: '4c6c99688c8eb910f877893fd12bf7e1',\n\t\t\tinputValues: {\n\t\t\t\tsearchContextConfigId: {\n\t\t\t\t\ttype: 'JSON_LITERAL',\n\t\t\t\t\tvalue: searchContextConfigId\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t];\n\n\treturn payload;\n};\n","import unifiedCache from '@devsnc/library-unified-cache';\n\nexport const searchSuggestionCache = unifiedCache.createInstance({\n\tadapter: ['inMemory'],\n\tname: 'searchSuggestionCache',\n\tdescription: `Search Suggestion in memory cache`,\n\tstoreName: 'searchInputCache',\n\tevictionPolicy: 'LRU'\n});\n","import {POPOVER_ITEM_TYPE} from '../constants';\n\nfunction transformSuggestionResponse(dataResponse, term = '', isLoggedIn) {\n\tconst ignoreTypes = [POPOVER_ITEM_TYPE.USER_SEARCH_TERM];\n\tconst output = [];\n\tconst userHistoryRecords = [];\n\tconst footerItem = {\n\t\ttype: POPOVER_ITEM_TYPE.FOOTER,\n\t\titemIndex: 0\n\t};\n\tlet firstSectionHeaderIndex = null;\n\n\tdataResponse.forEach((group) => {\n\t\tif (group.name) {\n\t\t\tfirstSectionHeaderIndex = output.length;\n\t\t\toutput.push({\n\t\t\t\ttype: POPOVER_ITEM_TYPE.SECTION_HEADER,\n\t\t\t\tcolumns: [\n\t\t\t\t\t{\n\t\t\t\t\t\tfieldName: 'name',\n\t\t\t\t\t\tlabel: 'Name',\n\t\t\t\t\t\tvalue: group.name,\n\t\t\t\t\t\tdisplayValue: group.name\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t});\n\t\t}\n\n\t\t// remove all unwanted suggestions\n\t\tconst filteredRecords = group.records.filter((record) => {\n\t\t\t// Only move user history records whenever the header cames empty\n\t\t\tif (\n\t\t\t\tfirstSectionHeaderIndex === null &&\n\t\t\t\t[\n\t\t\t\t\tPOPOVER_ITEM_TYPE.USER_HISTORY,\n\t\t\t\t\tPOPOVER_ITEM_TYPE.POPULAR_QUERY\n\t\t\t\t].includes(record.type)\n\t\t\t) {\n\t\t\t\tuserHistoryRecords.push(record);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn !ignoreTypes.includes(record.type);\n\t\t});\n\n\t\toutput.push(...filteredRecords);\n\t});\n\n\t// if header is found\n\tif (firstSectionHeaderIndex !== null) {\n\t\t// add the user history records after the first section header\n\t\toutput.splice(firstSectionHeaderIndex + 1, 0, ...userHistoryRecords);\n\t} else {\n\t\t// add the user history records at the beginning\n\t\toutput.unshift(...userHistoryRecords);\n\t}\n\n\t// always add footer if term is not empty\n\tif (term !== '' || !isLoggedIn) {\n\t\tfooterItem.itemIndex = output.length;\n\t\toutput.push(footerItem);\n\t}\n\n\treturn output;\n}\n\nexport default transformSuggestionResponse;\n","import {CACHE_INPUT_SUGGESTION_PREFIX} from '../constants';\n/**\n * Returns a cache key for the suggestion based on the term and searchContextConfigId\n * @param {string} term\n * @returns {string}\n */\nexport const getSuggestionCacheKey = (term) => {\n\treturn `${CACHE_INPUT_SUGGESTION_PREFIX}${term}`;\n};\n","import {createGraphQLEffect} from '@servicenow/ui-effect-graphql';\nimport get from 'lodash/get';\nimport {SUGGESTION_QUERY, UPDATE_ARIA_LIVE_TEXT_SOURCES} from '../constants';\nimport {\n\tSUGGESTION_FETCH,\n\tSUGGESTION_FETCH_STARTED,\n\tSUGGESTION_FETCH_SUCCEEDED,\n\tSUGGESTION_FETCH_FAILED\n} from '../actions';\nimport {searchSuggestionCache} from '../utils/cache';\n\nimport transformSuggestionResponse from '../utils/transformSuggestionResponse';\nimport {getSuggestionCacheKey} from '../utils/suggestion';\n/**\n *\n * @param {Object} params\n * @param {string} params.searchContextConfigId\n * @param {Function} params.dispatch\n * @param {Object} params.payload\n */\nexport const fetchSuggestions = async ({dispatch, payload}) => {\n\t// generate cache key based on term\n\tconst cache_key = getSuggestionCacheKey(payload.term);\n\n\t// if any get cached data\n\tconst cached = await searchSuggestionCache.getItem(cache_key);\n\n\t// if not cached, fetch suggestions\n\tif (!cached) {\n\t\tdispatch(SUGGESTION_FETCH, payload);\n\t} else {\n\t\tdispatch(SUGGESTION_FETCH_SUCCEEDED, cached);\n\t}\n};\n\nexport const debouncedSuggestionFetchEffect = ({\n\taction: {payload},\n\tdispatch\n}) => {\n\tfetchSuggestions({\n\t\tdispatch,\n\t\tpayload\n\t});\n};\n\n// Suggestion effect needs to be stripped out in the future\nexport const suggestionFetchEffect = createGraphQLEffect(SUGGESTION_QUERY, {\n\tvariableList: ['searchContextConfigId', 'term'],\n\tstartActionType: SUGGESTION_FETCH_STARTED,\n\tsuccessActionType: SUGGESTION_FETCH_SUCCEEDED,\n\terrorActionType: SUGGESTION_FETCH_FAILED\n});\n\nexport const suggestionFetchStartedEffect = ({state, updateState}) => {\n\tupdateState({\n\t\t...state,\n\t\tfetching: true,\n\t\tactiveRowIndex: -1,\n\t\tactiveColumnIndex: 0,\n\t\tupdateAriaLiveTextSource: '',\n\t\tariaLiveBusy: true,\n\t\tariaLiveText: ''\n\t});\n};\n\nexport const suggestionFetchSucceededEffect = ({\n\taction,\n\tstate,\n\tupdateState,\n\tproperties\n}) => {\n\tconst {term} = state;\n\n\tconst suggestionSearchTermQuery = get(\n\t\taction,\n\t\t'payload.data.GlideSearch_Query.suggestions.term',\n\t\t''\n\t);\n\n\tconst data = get(\n\t\taction,\n\t\t'payload.data.GlideSearch_Query.suggestions.data',\n\t\t[]\n\t);\n\n\t// set cache for the term and searchContextConfigId\n\tsearchSuggestionCache.setItem(\n\t\tgetSuggestionCacheKey(suggestionSearchTermQuery),\n\t\taction.payload\n\t);\n\n\tconst dataItems = transformSuggestionResponse(\n\t\tdata,\n\t\tsuggestionSearchTermQuery,\n\t\tproperties.isLoggedIn\n\t);\n\n\tconst newState = {\n\t\t...state,\n\t\tfetching: false,\n\t\tariaLiveBusy: false\n\t};\n\n\t// only update data if term matches the suggestionSearchTermQuery\n\tif (term === suggestionSearchTermQuery) {\n\t\tnewState.data = dataItems;\n\t\tnewState.suggestionSearchTermQuery = suggestionSearchTermQuery;\n\t\tnewState.updateAriaLiveTextSource =\n\t\t\tUPDATE_ARIA_LIVE_TEXT_SOURCES.RESULT_COUNT;\n\t}\n\n\tupdateState(newState);\n};\n\nexport const suggestionFetchFailedEffect = ({\n\taction,\n\tstate,\n\tupdateState,\n\tdispatch\n}) => {\n\t// DEF0106841 - The createGraphQLEffect throw an error when x-is-logged-in is false\n\t// If that is the case we need to handle it here and show the response\n\tif (\n\t\taction.payload?.response?.headers['x-is-logged-in'] === 'false' &&\n\t\taction.payload?.response?.status === 401\n\t) {\n\t\tdispatch(SUGGESTION_FETCH_SUCCEEDED, action.payload.response.data);\n\t} else {\n\t\tupdateState({\n\t\t\t...state,\n\t\t\tfetching: false,\n\t\t\tupdateAriaLiveTextSource: '',\n\t\t\terror: action.payload\n\t\t});\n\t}\n};\n\nexport const updateCacheEffect = (coeffects) => {\n\tconst {\n\t\tstate: {\n\t\t\tinputDesktopElement,\n\t\t\tproperties: {searchContextConfigId, isLoggedIn}\n\t\t}\n\t} = coeffects;\n\tif (isLoggedIn) {\n\t\tinputDesktopElement.elm.dispatch(SUGGESTION_FETCH, {\n\t\t\tsearchContextConfigId,\n\t\t\tterm: ''\n\t\t});\n\t}\n};\nexport const setInputElement = (coeffects) => {\n\tconst {updateState, action} = coeffects;\n\tupdateState({inputDesktopElement: action.payload});\n};\n","import isEmpty from 'lodash/isEmpty';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {\n\tDEBOUNCED_SUGGESTION_FETCH,\n\tSUGGESTION_FETCH,\n\tSEARCH_EXECUTED_INTERNAL,\n\tNAVIGATION_EXECUTED_INTERNAL,\n\tCLEAR_SEARCH_MUTATION,\n\tITEM_SELECTED,\n\tEXACT_MATCH_FETCH,\n\tINPUT_CHANGED,\n\tINPUT_FOCUSED_OUT\n} from '../actions';\n\nimport {\n\tPOPOVER_ITEM_TYPE,\n\tEVENT_TYPE,\n\tAUTOCOMPLETE_QUERY_EVENT,\n\tINFO_EVENT,\n\tKEYBOARD_NAVIGATION,\n\tDEFAULT_EXACT_MATCH_REGEX,\n\tEXACT_MATCH_REGEX_SYS_PROPERTY,\n\tWINDOW_SIZE,\n\tUPDATE_ARIA_LIVE_TEXT_SOURCES,\n\tSR_LABELS\n} from '../constants';\n\nimport signalTracker from '../utils/signalTracker';\nimport parseNavItem from '../utils/parseNavItem';\nimport getRowColIndex from '../utils/keyboardNavigation';\nimport {\n\tcanTermMatchExactly,\n\thasExactMatchReadingFinished,\n\tisExactMatchPresent\n} from '../utils/exactMatch';\n\nimport {TOOLTIP_SHOW, TOOLTIP_HIDE} from '@servicenow/behavior-tooltip';\nimport {getUserPrefContext, a11yPreferences} from 'sn-ux-core';\nimport {fetchSuggestions} from './suggestionEffects';\n\nconst _getRelativeClickIndex = (data, activeRowIndex, itemType) => {\n\tconst items = data.slice(0, activeRowIndex + 1);\n\tconst itemClickIndex = items.filter((item) => item.type === itemType).length;\n\n\treturn itemClickIndex;\n};\n\nconst _getValue = (item) => {\n\tif (!item) return '';\n\n\treturn item.columns[0]?.value;\n};\n\nexport const _setInputFocus = (host) => {\n\tconst input = host.shadowRoot.querySelector('input');\n\tif (input) input.focus();\n};\n\nconst _setInputBlur = (host) => {\n\tconst input =\n\t\thost.shadowRoot.querySelector('input') ||\n\t\thost.shadowRoot.querySelector(\n\t\t\t'input-container__input -global-active-input'\n\t\t);\n\n\tif (input) input.blur();\n};\n\nconst _enterKeyPressedInInput = (activeRowIndex) => activeRowIndex === -1;\n\nexport const _isPopoverTermEvent = (event) => {\n\tconst path = event.composedPath ? event.composedPath() : event.path;\n\tconst sourceElement = path.length > 0 ? path[0] : null;\n\tconst isPopoverTerm =\n\t\tsourceElement &&\n\t\tsourceElement.tagName === 'DIV' &&\n\t\t(sourceElement.className === 'search-popover__item-metadata-global' ||\n\t\t\tsourceElement.className === 'search-popover__item-metadata' ||\n\t\t\tsourceElement.className ===\n\t\t\t\t'search-popover__item-metadata-global search-popover__item-metadata-global-stacked-item');\n\treturn isPopoverTerm;\n};\n\nexport const _isDestinationSearchPopoverItem = (ev) => {\n\treturn ev.relatedTarget?.className === 'search-popover__item-metadata';\n};\n\nexport const _isViewAllLinkEvent = (event) => {\n\tconst path = event.composedPath ? event.composedPath() : event.path;\n\tconst isViewAllLink =\n\t\tpath &&\n\t\tpath.some(\n\t\t\t(element) => element.className === 'search-popover__item-text-link'\n\t\t);\n\treturn isViewAllLink;\n};\n\nexport const _isDropDownEvent = (event) => {\n\tconst path = event.composedPath ? event.composedPath() : event.path;\n\tconst isDropDownEvent =\n\t\tpath &&\n\t\tpath.some((element) => element.className === 'context-dropdown-container');\n\n\treturn isDropDownEvent;\n};\n\nexport const _isClearButtonEvent = (event) => {\n\tconst path = event.composedPath ? event.composedPath() : event.path;\n\tconst isClearButtonEvent =\n\t\tpath &&\n\t\tpath.some(\n\t\t\t(element) =>\n\t\t\t\telement.className ===\n\t\t\t\t'now-button-iconic.input-container__global-cancel-icon'\n\t\t);\n\n\treturn isClearButtonEvent;\n};\n\n/**\n * Multiple NDS components may exist within `sn-search-combobox` and\n * all `now-button-bare` dispatch the same action. Instead of having\n * a huge effect, we will just re-dispatch the appropriate action\n * by leveraging the property `append-to-payload`\n *\n * Ex:\n *  <now-button-bare\n *     append-to-payload={{\n *        action: SHOW_MODAL, <-- Action to redispatch\n *        payload: {          <-- Payload to pass to defined action\n *           type, index\n *         }\n *     }}\n *     ... />\n *\n */\nexport const nowButtonClickedEffect = ({\n\taction: {\n\t\tpayload: {action, payload}\n\t},\n\tdispatch\n}) => {\n\tdispatch(action, payload);\n};\n\nexport const clearSearchSelectedEffect = ({\n\taction,\n\t// host,\n\tdispatch,\n\tproperties,\n\tstate,\n\tupdateState\n}) => {\n\tconst {searchContextConfigId} = properties;\n\tconst {\n\t\tpayload: {term}\n\t} = action;\n\n\tdispatch(CLEAR_SEARCH_MUTATION, {searchContextConfigId, term});\n\t// setTimeout(() => _setInputFocus(host), 1000);\n\tupdateState({\n\t\t...state,\n\t\tupdateAriaLiveTextSource:\n\t\t\tUPDATE_ARIA_LIVE_TEXT_SOURCES.CLEAR_RECENT_SEARCH_ITEM,\n\t\tariaLiveBusy: false,\n\t\tariaLiveText: SR_LABELS.CLEARED_RECENT_SEARCH_ITEM\n\t});\n};\n\n// This function is called when search-input is clicked.\nexport const inputFocusedInEffect = ({\n\tstate,\n\tproperties,\n\tupdateState,\n\tdispatch\n}) => {\n\tconst {term, suggestionSearchTermQuery} = state;\n\tconst {searchContextConfigId, disableAutocomplete} = properties;\n\n\tupdateState({\n\t\t...state,\n\t\tinputHasFocus: true,\n\t\tisInputActive: true,\n\t\tactiveRowIndex: 0,\n\t\tupdateAriaLiveTextSource: UPDATE_ARIA_LIVE_TEXT_SOURCES.RESULT_COUNT,\n\t\tariaLiveBusy: false\n\t});\n\n\tif (term !== suggestionSearchTermQuery) {\n\t\tif (!disableAutocomplete) {\n\t\t\tupdateState({\n\t\t\t\texactMatch: {}\n\t\t\t});\n\n\t\t\tconst fetchSuggestionPayload = {\n\t\t\t\tsearchContextConfigId,\n\t\t\t\tterm\n\t\t\t};\n\n\t\t\t// if there are no suggestions in the cache, fetch them\n\t\t\tfetchSuggestions({\n\t\t\t\tdispatch,\n\t\t\t\tpayload: fetchSuggestionPayload\n\t\t\t});\n\t\t}\n\t}\n};\n\nexport const inputFocusedOutEffect = ({state, updateState}) => {\n\tupdateState({\n\t\t...state,\n\t\tinputHasFocus: false,\n\t\tisInputActive: false\n\t});\n};\n\nconst _navigationItemClicked = (type) => {\n\tconst navTypes = [\n\t\tPOPOVER_ITEM_TYPE.EXACT_MATCH,\n\t\tPOPOVER_ITEM_TYPE.NAVIGATION,\n\t\tPOPOVER_ITEM_TYPE.PERSONAL_CLICK,\n\t\tPOPOVER_ITEM_TYPE.QUERY_CONTENT\n\t];\n\treturn navTypes.includes(type);\n};\n\nexport const handlers = {\n\t[EVENT_TYPE.SEARCH_FROM_INPUT](\n\t\tterm,\n\t\tsearchContextConfigId,\n\t\tselectedSearchContext,\n\t\tupdateState,\n\t\tdispatch\n\t) {\n\t\tupdateState({\n\t\t\tpath: 'term',\n\t\t\tvalue: term,\n\t\t\toperation: 'set'\n\t\t});\n\n\t\tdispatch(SEARCH_EXECUTED_INTERNAL, {\n\t\t\tsearchContextConfigId,\n\t\t\t...(selectedSearchContext && {selectedSearchContext}),\n\t\t\tsearchTerm: term\n\t\t});\n\t},\n\t[EVENT_TYPE.SEARCH_FROM_POPOVER](\n\t\tterm,\n\t\tsearchContextConfigId,\n\t\tselectedSearchContext,\n\t\tdisableAutocomplete,\n\t\titem,\n\t\tupdateState,\n\t\tdispatch\n\t) {\n\t\tupdateState({\n\t\t\tpath: 'term',\n\t\t\tvalue: term,\n\t\t\toperation: 'set'\n\t\t});\n\n\t\tdispatch(SEARCH_EXECUTED_INTERNAL, {\n\t\t\tsearchContextConfigId,\n\t\t\t...(selectedSearchContext && {selectedSearchContext}),\n\t\t\tsearchTerm: term,\n\t\t\titem\n\t\t});\n\n\t\tif (!disableAutocomplete) {\n\t\t\tdispatch(SUGGESTION_FETCH, {searchContextConfigId, term});\n\t\t}\n\t},\n\t[EVENT_TYPE.NAVIGATION](\n\t\tsearchContextConfigId,\n\t\tterm,\n\t\tdata,\n\t\tactiveRowIndex,\n\t\titem,\n\t\tdispatch,\n\t\tupdateState\n\t) {\n\t\tconst navData = parseNavItem(item);\n\t\tconst updatedActionPayloadData = navData.actionPayload || {\n\t\t\tindex: activeRowIndex,\n\t\t\t...navData,\n\t\t\titem\n\t\t};\n\n\t\tsignalTracker.trackEvent(AUTOCOMPLETE_QUERY_EVENT, INFO_EVENT, {\n\t\t\tsearchContextConfigId,\n\t\t\tqueryTerm: term,\n\t\t\tselectedQuery: navData.label,\n\t\t\tqueryType: item.type,\n\t\t\tclickIndex: _getRelativeClickIndex(data, activeRowIndex, item.type)\n\t\t});\n\n\t\tdispatch(\n\t\t\tNAVIGATION_EXECUTED_INTERNAL,\n\t\t\tupdatedActionPayloadData,\n\t\t\tupdateState\n\t\t);\n\t}\n};\n\nexport const itemSelectedEffect = ({\n\tstate,\n\taction,\n\tproperties,\n\tdispatch,\n\tupdateState,\n\thost\n}) => {\n\tconst {term, activeRowIndex, data, exactMatch} = state;\n\tconst {\n\t\tsearchContextConfigId,\n\t\tdisableAutocomplete,\n\t\tselectedSearchContext,\n\t\tenableExactMatch\n\t} = properties;\n\n\tconst exactMatchFound =\n\t\tenableExactMatch && !isEmpty(exactMatch.exactMatchData);\n\tconst exactMatchFetching =\n\t\tenableExactMatch && exactMatch && exactMatch.isFetching;\n\n\tconst isInputEvent = action.payload?.isInputEvent;\n\tif (isInputEvent) {\n\t\tupdateState({\n\t\t\tactiveRowIndex: -1\n\t\t});\n\t}\n\tconst isEnterKeyPressedInInput = _enterKeyPressedInInput(activeRowIndex);\n\n\tconst {selectedItem} = action.payload;\n\n\t// The index of ExactMatch Data ia always one\n\t// retrieving constant 1 prevents stale state of activeRowIndex after frequent popover selections and EnterKey pressed\n\tconst item = exactMatchFound\n\t\t? isEnterKeyPressedInInput\n\t\t\t? exactMatch.exactMatchData[1]\n\t\t\t: exactMatch.exactMatchData[activeRowIndex]\n\t\t: selectedItem;\n\n\t// do not search if exact match is being fetched\n\tif (\n\t\t!exactMatchFetching &&\n\t\t(isEnterKeyPressedInInput || isInputEvent) &&\n\t\t!exactMatchFound\n\t) {\n\t\thandlers[EVENT_TYPE.SEARCH_FROM_INPUT](\n\t\t\tterm,\n\t\t\tsearchContextConfigId,\n\t\t\tselectedSearchContext,\n\t\t\tupdateState,\n\t\t\tdispatch,\n\t\t\thost\n\t\t);\n\t\t_setInputBlur(host);\n\t\treturn;\n\t}\n\n\tlet navigating = false;\n\tlet navData = {};\n\tif (item && item.type) {\n\t\tnavigating = _navigationItemClicked(item.type);\n\t\tnavData = parseNavItem(item);\n\t}\n\n\t/* For new suggestion reader group USER_HISTORY_AND_CLICK\n\t ** The suggestion include both Recent Searches(User History) & Recent Click (User Clicks)\n\t ** For User history part of suggestions it should not be a navigating item but instead should perform a Search again\n\t ** because they do not have any table or sys_id data associated with it\n\t ** !isEmpty(navData.actionPayload) understands this difference and helps in the separation\n\t */\n\tif (\n\t\tnavigating ||\n\t\t(isEnterKeyPressedInInput && exactMatchFound) ||\n\t\t(item &&\n\t\t\titem.type &&\n\t\t\titem.type === POPOVER_ITEM_TYPE.USER_HISTORY_AND_CLICK &&\n\t\t\t!isEmpty(navData.actionPayload))\n\t) {\n\t\thandlers[EVENT_TYPE.NAVIGATION](\n\t\t\tsearchContextConfigId,\n\t\t\tterm,\n\t\t\tdata,\n\t\t\tactiveRowIndex,\n\t\t\titem,\n\t\t\tdispatch,\n\t\t\tenableExactMatch,\n\t\t\tupdateState,\n\t\t\tselectedSearchContext\n\t\t);\n\t} else if (item) {\n\t\thandlers[EVENT_TYPE.SEARCH_FROM_POPOVER](\n\t\t\t_getValue(item),\n\t\t\tsearchContextConfigId,\n\t\t\tselectedSearchContext,\n\t\t\tdisableAutocomplete,\n\t\t\titem,\n\t\t\tupdateState,\n\t\t\tdispatch\n\t\t);\n\n\t\tsignalTracker.trackEvent(AUTOCOMPLETE_QUERY_EVENT, INFO_EVENT, {\n\t\t\tsearchContextConfigId,\n\t\t\tqueryTerm: term,\n\t\t\tselectedQuery: _getValue(item),\n\t\t\tqueryType: item.type,\n\t\t\tclickIndex: isEmpty(term)\n\t\t\t\t? _getRelativeClickIndex(data, activeRowIndex, item.type)\n\t\t\t\t: activeRowIndex + 1 // To have the index start from 1\n\t\t});\n\t}\n\n\t// if enter key is pressed while exact match is being fetched,\n\t// queue the enter event\n\tif (exactMatchFetching && isEnterKeyPressedInInput) {\n\t\tupdateState({queueExactMatchEvent: true});\n\t}\n\n\tdispatch(INPUT_FOCUSED_OUT);\n};\n\nexport const _setPopoverSuggestionFocus = (host, row, column) => {\n\tconst suggestions = host.shadowRoot.querySelectorAll('ul > li');\n\tsuggestions?.forEach((listItem) => (listItem.ariaSelected = false));\n\t/*\n\t * For View All link focus, the suggestion array should explicitly be set to 0 because the activeRowIndex is -1 by\n\t * default when there are no suggestions passed in data array\n\t */\n\n\tconst focusedOption = !isEmpty(suggestions) ? suggestions[row] : null;\n\tif (focusedOption && column > 0) {\n\t\tfocusedOption.ariaSelected = true;\n\t\tconst selectorQuery =\n\t\t\tcolumn === 1\n\t\t\t\t? 'div.search-popover__item-metadata,.search-popover__item-text-link'\n\t\t\t\t: 'now-button-iconic.search-popover__item-button';\n\t\tconst focusedColumn = focusedOption.querySelector(selectorQuery);\n\n\t\tif (focusedColumn) focusedColumn.focus();\n\t}\n};\n\nexport const itemFocusedEffect = ({host, action, state, updateState}) => {\n\tconst {\n\t\tpayload: {index}\n\t} = action;\n\t_setPopoverSuggestionFocus(host, index, 1);\n\tupdateState({\n\t\t...state,\n\t\tactiveRowIndex: index,\n\t\tactiveColumnIndex: 1\n\t});\n};\n\nexport const arrowDownEffect = ({action, state, updateState, properties}) => {\n\tconst {data, activeRowIndex, activeColumnIndex, exactMatch} = state;\n\tconst {enableExactMatch} = properties;\n\tconst {\n\t\tpayload: {host}\n\t} = action;\n\tconst items =\n\t\tenableExactMatch && !isEmpty(exactMatch.exactMatchData)\n\t\t\t? exactMatch.exactMatchData\n\t\t\t: data;\n\n\tconst {rowIndex, columnIndex} = getRowColIndex(\n\t\tactiveRowIndex,\n\t\tactiveColumnIndex,\n\t\titems,\n\t\tKEYBOARD_NAVIGATION.DOWN\n\t);\n\n\t_setPopoverSuggestionFocus(host, rowIndex, columnIndex);\n\tupdateState({\n\t\t...state,\n\t\tactiveRowIndex: rowIndex,\n\t\tactiveColumnIndex: columnIndex\n\t});\n};\n\nexport const arrowUpEffect = ({action, state, updateState, properties}) => {\n\tconst {data, activeRowIndex, activeColumnIndex, exactMatch} = state;\n\tconst {enableExactMatch} = properties;\n\tconst {\n\t\tpayload: {host}\n\t} = action;\n\n\tconst items =\n\t\tenableExactMatch && !isEmpty(exactMatch.exactMatchData)\n\t\t\t? exactMatch.exactMatchData\n\t\t\t: data;\n\n\tconst {rowIndex, columnIndex} = getRowColIndex(\n\t\tactiveRowIndex,\n\t\tactiveColumnIndex,\n\t\titems,\n\t\tKEYBOARD_NAVIGATION.UP\n\t);\n\n\tif (rowIndex === -1) _setInputFocus(host);\n\telse _setPopoverSuggestionFocus(host, rowIndex, columnIndex);\n\tupdateState({\n\t\t...state,\n\t\tactiveRowIndex: rowIndex,\n\t\tactiveColumnIndex: columnIndex\n\t});\n};\n\nexport const arrowLeftEffect = ({action, state, updateState, properties}) => {\n\tconst {data, activeRowIndex, activeColumnIndex, exactMatch} = state;\n\tconst {enableExactMatch} = properties;\n\tconst {\n\t\tpayload: {host}\n\t} = action;\n\n\tconst items =\n\t\tenableExactMatch && !isEmpty(exactMatch.exactMatchData)\n\t\t\t? exactMatch.exactMatchData\n\t\t\t: data;\n\n\tconst {rowIndex, columnIndex} = getRowColIndex(\n\t\tactiveRowIndex,\n\t\tactiveColumnIndex,\n\t\titems,\n\t\tKEYBOARD_NAVIGATION.LEFT\n\t);\n\n\t_setPopoverSuggestionFocus(host, rowIndex, columnIndex);\n\tupdateState({\n\t\tactiveRowIndex: rowIndex,\n\t\tactiveColumnIndex: columnIndex\n\t});\n};\n\nexport const arrowRightEffect = ({action, state, updateState, properties}) => {\n\tconst {data, activeRowIndex, activeColumnIndex, exactMatch} = state;\n\tconst {enableExactMatch} = properties;\n\tconst {\n\t\tpayload: {host}\n\t} = action;\n\n\tconst items =\n\t\tenableExactMatch && !isEmpty(exactMatch.exactMatchData)\n\t\t\t? exactMatch.exactMatchData\n\t\t\t: data;\n\n\tconst {rowIndex, columnIndex} = getRowColIndex(\n\t\tactiveRowIndex,\n\t\tactiveColumnIndex,\n\t\titems,\n\t\tKEYBOARD_NAVIGATION.RIGHT\n\t);\n\n\t_setPopoverSuggestionFocus(host, rowIndex, columnIndex);\n\tupdateState({\n\t\tactiveRowIndex: rowIndex,\n\t\tactiveColumnIndex: columnIndex\n\t});\n};\n\nexport const mouseOverEffect = ({action, state, updateState}) => {\n\tupdateState({\n\t\t...state,\n\t\tactiveRowIndex: action.payload.index,\n\t\tactiveColumnIndex: 0,\n\t\tupdateAriaLiveTextSource: ''\n\t});\n};\n\nexport const showPopoverEffect = ({state, updateState}) => {\n\tupdateState({\n\t\t...state,\n\t\tshowPopover: true,\n\t\tisInputActive: true\n\t});\n};\n\nexport const hidePopoverEffect = ({state, updateState}) => {\n\tupdateState({\n\t\t...state,\n\t\tshowPopover: false,\n\t\tactiveRowIndex: -1,\n\t\tactiveColumnIndex: 0\n\t});\n};\n\nexport const contextDropdownFocusedEffect = ({state, updateState}) => {\n\tupdateState({\n\t\t...state,\n\t\tisInputActive: false\n\t});\n};\n\nexport const inputChangeEffect = ({\n\thost,\n\tproperties,\n\taction,\n\tdispatch,\n\tupdateState,\n\tstate\n}) => {\n\tconst {term} = action.payload;\n\tconst {\n\t\tsearchContextConfigId,\n\t\tdisableAutocomplete,\n\t\tenableExactMatch,\n\t\texactMatchRegex,\n\t\tisLoggedIn\n\t} = properties;\n\tconst {exactMatch} = state;\n\n\t// when search term is cleared, set focus to input\n\tif (term === '') {\n\t\t_setInputFocus(host);\n\t}\n\n\tupdateState([\n\t\t{\n\t\t\tpath: 'term',\n\t\t\tvalue: term,\n\t\t\toperation: 'set'\n\t\t},\n\t\t{\n\t\t\tpath: 'updateAriaLiveTextSource',\n\t\t\tvalue: '',\n\t\t\toperation: 'set'\n\t\t},\n\t\t{\n\t\t\tpath: 'ariaLiveBusy',\n\t\t\tvalue: true,\n\t\t\toperation: 'set'\n\t\t}\n\t]);\n\tif (isLoggedIn) {\n\t\tconst exactMatchSysProperty = enableExactMatch\n\t\t\t? getProperty(EXACT_MATCH_REGEX_SYS_PROPERTY)\n\t\t\t: '';\n\n\t\tlet exactMatchCriterionRegex = exactMatchRegex;\n\n\t\tif (!exactMatchCriterionRegex)\n\t\t\texactMatchCriterionRegex = exactMatchSysProperty\n\t\t\t\t? exactMatchSysProperty\n\t\t\t\t: DEFAULT_EXACT_MATCH_REGEX;\n\n\t\tconst canTermExactMatch = canTermMatchExactly(\n\t\t\tterm,\n\t\t\texactMatchCriterionRegex,\n\t\t\tenableExactMatch\n\t\t);\n\t\tif (canTermExactMatch && enableExactMatch) {\n\t\t\tdispatch(EXACT_MATCH_FETCH, {\n\t\t\t\tterm,\n\t\t\t\tsearchContextConfigId\n\t\t\t});\n\t\t}\n\n\t\tif (\n\t\t\t!disableAutocomplete &&\n\t\t\t!isExactMatchPresent(exactMatch, term) &&\n\t\t\thasExactMatchReadingFinished(\n\t\t\t\texactMatch,\n\t\t\t\tterm,\n\t\t\t\texactMatchCriterionRegex,\n\t\t\t\tenableExactMatch\n\t\t\t)\n\t\t) {\n\t\t\tupdateState({\n\t\t\t\texactMatch: {}\n\t\t\t});\n\t\t\tdispatch(DEBOUNCED_SUGGESTION_FETCH, {searchContextConfigId, term});\n\t\t}\n\t}\n};\n\nexport const _isPopoverButtonEvent = (event) => {\n\tconst path = event.composedPath ? event.composedPath() : event.path;\n\tconst isClearHistoryButton = path.some(\n\t\t(element) => element.className === 'search-popover__item-button'\n\t);\n\treturn isClearHistoryButton;\n};\n\nexport const enterKeyHandler = (host, event, dispatch) => {\n\tconst path = event.composedPath ? event.composedPath() : event.path;\n\tconst sourceElement = path.length > 0 ? path[0] : null;\n\n\tconst isInputEvent = sourceElement && sourceElement.tagName === 'INPUT';\n\n\tif (isInputEvent) {\n\t\tdispatch(ITEM_SELECTED, {isInputEvent});\n\t}\n};\n\nexport const showSearchPanelInMobileViewEffect = ({\n\tstate,\n\tupdateState,\n\tdispatch,\n\tproperties\n}) => {\n\tupdateState({\n\t\t...state,\n\t\tsearchPanelOpened: true\n\t});\n\tconst {windowSize} = properties;\n\tif (windowSize === WINDOW_SIZE.COLLAPSED) {\n\t\tdispatch(INPUT_CHANGED, {term: ''});\n\t}\n};\n\nexport const hideSearchPanelInMobileViewEffect = ({\n\tstate,\n\tdispatch,\n\tupdateState,\n\tproperties\n}) => {\n\tupdateState({\n\t\t...state,\n\t\tsearchPanelOpened: false,\n\t\tactiveRowIndex: -1,\n\t\tterm: ''\n\t});\n\tconst {windowSize} = properties;\n\tif (windowSize === WINDOW_SIZE.MOBILE) {\n\t\tdispatch(INPUT_CHANGED, {term: ''});\n\t}\n};\n\nexport const handleTooltipOnTruncatedTextEffect = ({\n\tdispatch,\n\taction,\n\tcontext\n}) => {\n\t// decide to show tooltip based on user preference and text overflow\n\tconst a11yTx = getUserPrefContext(\n\t\ta11yPreferences.GLIDE_UI_ACCESSIBILITY_SHOW_TRUNCATED_TEXT\n\t);\n\tconst userPrefVal = a11yTx ? context?.[a11yTx] : false;\n\tconst {\n\t\tpayload: {showToolTip, target}\n\t} = action;\n\tconst isUserPreferenceEnabled = String(userPrefVal).toLowerCase() === 'true';\n\tconst primaryTextElement = target.querySelector('p.primary-text-container');\n\tconst breadCrumbElement = target?.querySelector('p.click-breadcrumb');\n\t// show tooltip on title or breadcrumb text overflow only\n\tconst shouldDispatch =\n\t\tshowToolTip &&\n\t\tisUserPreferenceEnabled &&\n\t\t(primaryTextElement.offsetWidth < primaryTextElement.scrollWidth ||\n\t\t\tbreadCrumbElement?.offsetWidth < breadCrumbElement?.scrollWidth);\n\tdispatch(shouldDispatch ? TOOLTIP_SHOW : TOOLTIP_HIDE, {target: target});\n};\n","import {createGraphQLEffect} from '@servicenow/ui-effect-graphql';\nimport get from 'lodash/get';\nimport {CLEAR_SEARCH_FROM_HISTORY_MUTATION_QUERY} from '../constants';\n\nimport {\n\tCLEAR_SEARCH_MUTATION_SUCCEEDED,\n\tCLEAR_SEARCH_MUTATION_FAILED,\n\tSUGGESTION_FETCH\n} from '../actions';\n\nconst mutationPath =\n\t'payload.data.GlideSearch_Mutation.clearSearchFromHistory.term';\n\nexport const clearSearchEffect = createGraphQLEffect(\n\tCLEAR_SEARCH_FROM_HISTORY_MUTATION_QUERY,\n\t{\n\t\tvariableList: ['searchContextConfigId', 'term'],\n\t\tsuccessActionType: CLEAR_SEARCH_MUTATION_SUCCEEDED,\n\t\terrorActionType: CLEAR_SEARCH_MUTATION_FAILED\n\t}\n);\n\nexport const clearSearchSucceededEffect = ({\n\tdispatch,\n\tproperties,\n\tstate,\n\taction\n}) => {\n\tconst {term} = state;\n\tconst {searchContextConfigId} = properties;\n\tconst deletedQuery = get(action, mutationPath, null);\n\n\t// null if soft delete was not successful\n\tif (!deletedQuery) return;\n\n\tdispatch(SUGGESTION_FETCH, {searchContextConfigId, term});\n};\n\nexport const clearSearchFailedEffect = ({action, state, updateState}) => {\n\tupdateState({\n\t\t...state,\n\t\tfetching: false,\n\t\terror: action.payload\n\t});\n};\n","function createAfterInterceptor(actionNames) {\n\tlet actions = actionNames;\n\tif (!Array.isArray(actionNames)) {\n\t\tactions = [actionNames];\n\t}\n\treturn actions.map((actionName) => ({\n\t\tafter: (context) => ({\n\t\t\t...context,\n\t\t\teffects: [\n\t\t\t\t...context.effects,\n\t\t\t\t{\n\t\t\t\t\teffect: ({dispatch}) => dispatch(actionName),\n\t\t\t\t\targs: [context.coeffects]\n\t\t\t\t}\n\t\t\t]\n\t\t})\n\t}));\n}\n\nexport default createAfterInterceptor;\n","/**\n * Handy dandy proxy for helping keep effect functions mockable by sinon, example:\n *\n * export const unProxiedFetchEffect = createGraphQLEffect(someQuery, {\n *  startActionType,\n *  successActionType,\n *  errorActionType\n * })\n *\n * In actionHandlers -\n * import effectProxy from '../helpers/effectProxy'\n * ...\n * [ACTION_CONSTANT]: effectProxy(unProxiedFetchEffect)\n *\n * In tests -\n * import { unProxiedFetchEffect } from './component-file'\n * ...\n * beforeEach(() => {\n *  sandbox.stub(unProxiedFetchEffect, 'effect')\n * })\n */\n\nexport default (effect) => (coeffects) =>\n\teffect.effect(...effect.args, coeffects);\n","import {CONTEXT_CHANGED_INTERNAL, INPUT_FOCUSED_IN} from '../actions';\nimport {_setInputFocus} from './inputEffects';\n\nexport const contextItemSelectedEffect = ({\n\tupdateProperties,\n\tdispatch,\n\taction,\n\tstate,\n\tupdateState,\n\thost\n}) => {\n\tconst {\n\t\tpayload: {item}\n\t} = action;\n\n\tconst {searchDataConfigId} = item;\n\tupdateProperties({\n\t\tselectedSearchContext: item,\n\t\tsearchContextConfigId: searchDataConfigId\n\t});\n\tupdateState({\n\t\t...state,\n\t\tinputHasFocus: true,\n\t\tisInputActive: true\n\t});\n\n\tdispatch(CONTEXT_CHANGED_INTERNAL, item);\n\t_setInputFocus(host);\n\tdispatch(INPUT_FOCUSED_IN);\n};\n","import get from 'lodash/get';\nimport {t} from 'sn-translate';\nimport {POPOVER_ITEM_TYPE} from '../constants';\n\nconst transformString = (string) => {\n\treturn string && string[0].toUpperCase() + string.slice(1);\n};\n\nconst transformExactMatchResponse = (response) => {\n\tconst term = get(response, 'result.term');\n\tconst record = get(response, 'result.search_results.0.records.0');\n\tconst displayFields = get(response, 'result.search_results.0.fields');\n\n\tconst record_url = get(\n\t\tresponse,\n\t\t'result.search_results.0.records.0.record_url'\n\t);\n\tconst table = get(response, 'result.search_results.0.records.0.table');\n\n\tconst displayValueForTableWhenAvailable =\n\t\tget(response, 'result.search_results.0.label') ||\n\t\tget(response, 'result.search_results.0.records.0.table');\n\n\tconst title = get(\n\t\tresponse,\n\t\t'result.search_results.0.records.0.metadata.title'\n\t);\n\n\tconst sysId = get(response, 'result.search_results.0.records.0.sys_id');\n\n\tif (!term || !record || !displayFields) return undefined;\n\tconst output = [];\n\tif (term && record && displayFields) {\n\t\toutput.push({\n\t\t\ttype: POPOVER_ITEM_TYPE.SECTION_HEADER,\n\t\t\tcolumns: [\n\t\t\t\t{\n\t\t\t\t\tfieldName: 'name',\n\t\t\t\t\tlabel: 'Name',\n\t\t\t\t\tvalue: t('EXACT MATCH'),\n\t\t\t\t\tdisplayValue: t('EXACT MATCH')\n\t\t\t\t}\n\t\t\t]\n\t\t});\n\t\toutput.push({\n\t\t\ttype: POPOVER_ITEM_TYPE.EXACT_MATCH,\n\t\t\tcolumns: [\n\t\t\t\t{\n\t\t\t\t\tfieldName: 'title',\n\t\t\t\t\tlabel: 'title',\n\t\t\t\t\tvalue: title,\n\t\t\t\t\tdisplayValue: title\n\t\t\t\t},\n\t\t\t\t/* For ExactMatch search and with polaris temporary dynamic routing logic,\n\t\t\t\t ** the record routing is based on source table so updates the value for routing and displayVlue\n\t\t\t\t ** contains the required table label for design\n\t\t\t\t */\n\t\t\t\t{\n\t\t\t\t\tfieldName: 'source_table_name',\n\t\t\t\t\tlabel: 'source_table_name',\n\t\t\t\t\tvalue: table,\n\t\t\t\t\tdisplayValue: transformString(displayValueForTableWhenAvailable)\n\t\t\t\t},\n\n\t\t\t\t{\n\t\t\t\t\tfieldName: 'number',\n\t\t\t\t\tlabel: 'number',\n\t\t\t\t\tvalue: term,\n\t\t\t\t\tdisplayValue: term\n\t\t\t\t},\n\n\t\t\t\t{\n\t\t\t\t\tfieldName: 'record_url',\n\t\t\t\t\tlabel: 'record_url',\n\t\t\t\t\tvalue: record_url,\n\t\t\t\t\tdisplayValue: record_url\n\t\t\t\t},\n\n\t\t\t\t{\n\t\t\t\t\tfieldName: 'sysID',\n\t\t\t\t\tlabel: 'sysID',\n\t\t\t\t\tvalue: sysId,\n\t\t\t\t\tdisplayValue: sysId\n\t\t\t\t}\n\t\t\t]\n\t\t});\n\t\toutput.push({\n\t\t\ttype: POPOVER_ITEM_TYPE.FOOTER\n\t\t});\n\t}\n\treturn output;\n};\n\nexport default transformExactMatchResponse;\n","import {createHttpEffect} from '@servicenow/ui-effect-http';\nimport get from 'lodash/get';\nimport {\n\tEXACT_MATCH_FAILED,\n\tEXACT_MATCH_STARTED,\n\tEXACT_MATCH_SUCCEEDED,\n\tSET_ENABLE_EXACT_MATCH_PROPERTY,\n\tSWITCH_TO_DEFAULT_ENABLE_EXACT_MATCH_PROPERTY\n} from '../actions';\nimport transformExactMatchResponse from '../utils/transformExactMatchResponse';\nimport {\n\tEXACT_MATCH_QUERY_PATH,\n\tDATABROKER_URI_QUERY,\n\tEVENT_TYPE,\n\tCACHE_EXACT_MATCH_KEY\n} from '../constants';\nimport {handlers} from './inputEffects';\nimport {searchSuggestionCache} from '../utils/cache';\n\nexport const handleExactMatchFetchEffect = createHttpEffect(\n\t'/api/now/v1/search/exactmatch?sysparm_term=:term&sysparm_search_context_config_id=:searchContextConfigId',\n\t{\n\t\tmethod: 'GET',\n\t\theaders: {},\n\t\tpathParams: ['term', 'searchContextConfigId'],\n\t\tstartActionType: EXACT_MATCH_STARTED,\n\t\tsuccessActionType: EXACT_MATCH_SUCCEEDED,\n\t\terrorActionType: EXACT_MATCH_FAILED\n\t}\n);\n\nexport const handleExactMatchStartedEffect = ({state, updateState}) =>\n\tupdateState({\n\t\t...state,\n\t\texactMatch: {\n\t\t\tisFetching: true,\n\t\t\terror: null\n\t\t},\n\t\tactiveRowIndex: -1,\n\t\tactiveColumnIndex: 0\n\t});\n\nexport const handleExactMatchSucceededEffect = ({\n\tstate,\n\tupdateState,\n\tproperties,\n\taction,\n\tdispatch,\n\thost\n}) => {\n\tconst {term, activeRowIndex, data, queueExactMatchEvent} = state;\n\tconst {\n\t\tsearchContextConfigId,\n\t\tselectedSearchContext,\n\t\tenableExactMatch\n\t} = properties;\n\tconst exactMatchData = transformExactMatchResponse(action.payload);\n\n\tupdateState({\n\t\t...state,\n\t\texactMatch: {\n\t\t\tisFetching: false,\n\t\t\terror: null,\n\t\t\texactMatchData,\n\t\t\thasExactMatch: true\n\t\t}\n\t});\n\n\t// process the queued enter event now that we have exact match results\n\tif (queueExactMatchEvent) {\n\t\t// if valid exact match, route to the record;\n\t\t// otherwise, perform a search\n\t\tif (exactMatchData) {\n\t\t\tconst item = exactMatchData[1];\n\t\t\thandlers[EVENT_TYPE.NAVIGATION](\n\t\t\t\tsearchContextConfigId,\n\t\t\t\tterm,\n\t\t\t\tdata,\n\t\t\t\tactiveRowIndex,\n\t\t\t\titem,\n\t\t\t\tdispatch,\n\t\t\t\tenableExactMatch,\n\t\t\t\tupdateState,\n\t\t\t\tselectedSearchContext\n\t\t\t);\n\t\t} else {\n\t\t\thandlers[EVENT_TYPE.SEARCH_FROM_INPUT](\n\t\t\t\tterm,\n\t\t\t\tsearchContextConfigId,\n\t\t\t\tselectedSearchContext,\n\t\t\t\tupdateState,\n\t\t\t\tdispatch,\n\t\t\t\thost\n\t\t\t);\n\t\t}\n\n\t\tupdateState({queueExactMatchEvent: false});\n\t}\n};\n\nexport const handleExactMatchFailedEffect = ({state, updateState, action}) =>\n\tupdateState({\n\t\t...state,\n\t\texactMatch: {\n\t\t\t...state.exactMatch,\n\t\t\tisFetching: false,\n\t\t\terror: action.payload,\n\t\t\thasExactMatch: false\n\t\t}\n\t});\n\nexport const exactMatchConfigFetchEffect = createHttpEffect(\n\tDATABROKER_URI_QUERY,\n\t{\n\t\tmethod: 'POST',\n\t\tdataParam: 'payload',\n\t\tbatch: false,\n\t\tsuccessActionType: SET_ENABLE_EXACT_MATCH_PROPERTY,\n\t\terrorActionType: SWITCH_TO_DEFAULT_ENABLE_EXACT_MATCH_PROPERTY\n\t}\n);\n\nexport const setEnableExactMatchPropertyVariable = ({\n\taction,\n\tupdateProperties,\n\tproperties\n}) => {\n\tsearchSuggestionCache.setItem(CACHE_EXACT_MATCH_KEY, action?.payload);\n\tconst exactMatchConfigFromSAC = get(\n\t\taction?.payload,\n\t\tEXACT_MATCH_QUERY_PATH,\n\t\ttrue\n\t);\n\t// Only update enableExactMatch if it's not explicitly set to false\n\tif (properties?.enableExactMatch !== false) {\n\t\tupdateProperties({\n\t\t\tenableExactMatch: exactMatchConfigFromSAC\n\t\t});\n\t}\n};\n\nexport const switchToDefaultExactMatchPropertyVariable = ({\n\tupdateProperties,\n\tproperties\n}) => {\n\t// Only update if not explicitly set to false\n\tif (properties?.enableExactMatch !== false) {\n\t\tupdateProperties({\n\t\t\tenableExactMatch: true\n\t\t});\n\t}\n};\n","import {searchSuggestionCache} from './cache';\nimport {\n\tFETCH_EXACT_MATCH_CONFIG,\n\tSET_ENABLE_EXACT_MATCH_PROPERTY\n} from '../actions';\nimport {CACHE_EXACT_MATCH_KEY} from '../constants';\nimport {generateExactMatchPayload} from './exactMatch';\n\nexport default async function fetchExactMatch({\n\tdispatch,\n\tsearchContextConfigId\n}) {\n\tconst cached = await searchSuggestionCache.getItem(CACHE_EXACT_MATCH_KEY);\n\tif (!cached) {\n\t\tdispatch(FETCH_EXACT_MATCH_CONFIG, {\n\t\t\tpayload: generateExactMatchPayload(searchContextConfigId)\n\t\t});\n\t} else {\n\t\tdispatch(SET_ENABLE_EXACT_MATCH_PROPERTY, cached);\n\t}\n}\n","import isEmpty from 'lodash/isEmpty';\nimport {declarativeStateUpdate} from '../../../../utils';\nimport {fetchSuggestions} from './suggestionEffects';\n\nconst resetSuggestionTerm = ({updateState}) => {\n\tupdateState({\n\t\tpath: 'suggestionSearchTermQuery',\n\t\tvalue: null,\n\t\toperation: 'set'\n\t});\n};\n\nconst onSearchTermChanged = ({\n\tupdateState,\n\tdispatch,\n\tsearchContextConfigId,\n\tvalue\n}) => {\n\tfetchSuggestions({\n\t\tdispatch,\n\t\tpayload: {term: value, searchContextConfigId}\n\t});\n\tdeclarativeStateUpdate(updateState, {\n\t\tterm: value,\n\t\tdata: []\n\t});\n};\n\nconst onOpenedChanged = ({\n\tupdateState,\n\tdispatch,\n\tsearchContextConfigId,\n\tvalue\n}) => {\n\tif (!value) {\n\t\tdeclarativeStateUpdate(updateState, {\n\t\t\tterm: '',\n\t\t\t// prevent search-modal to show previous loaded data\n\t\t\tdata: []\n\t\t});\n\n\t\t// Make sure right data is presented if user\n\t\tfetchSuggestions({\n\t\t\tdispatch,\n\t\t\tpayload: {term: '', searchContextConfigId}\n\t\t});\n\t}\n};\n\nconst onSearchContextConfigIdChanged = ({\n\tupdateState,\n\tdispatch,\n\tpreviousValue,\n\tvalue\n}) => {\n\tif (!isEmpty(value) && previousValue !== value) {\n\t\tresetSuggestionTerm({updateState});\n\t\t// prevent search-modal to show previous loaded data\n\t\tdeclarativeStateUpdate(updateState, {\n\t\t\tdata: []\n\t\t});\n\t\tfetchSuggestions({\n\t\t\tdispatch,\n\t\t\tpayload: {term: '', searchContextConfigId: value}\n\t\t});\n\t}\n};\n\nexport const onComponentPropertyChanged = ({\n\tproperties,\n\taction,\n\tupdateState,\n\tdispatch\n}) => {\n\tconst {\n\t\tpayload: {name, value, previousValue}\n\t} = action;\n\tconst {searchContextConfigId} = properties;\n\tswitch (name) {\n\t\tcase 'searchTerm':\n\t\t\tonSearchTermChanged({\n\t\t\t\tupdateState,\n\t\t\t\tproperties,\n\t\t\t\tdispatch,\n\t\t\t\tsearchContextConfigId,\n\t\t\t\tvalue\n\t\t\t});\n\t\t\tbreak;\n\t\tcase 'opened':\n\t\t\tonOpenedChanged({\n\t\t\t\tupdateState,\n\t\t\t\tdispatch,\n\t\t\t\tsearchContextConfigId,\n\t\t\t\tvalue\n\t\t\t});\n\t\t\tbreak;\n\t\tcase 'searchContextConfigId':\n\t\t\tonSearchContextConfigIdChanged({\n\t\t\t\tupdateState,\n\t\t\t\tdispatch,\n\t\t\t\tvalue,\n\t\t\t\tpreviousValue\n\t\t\t});\n\t\t\tbreak;\n\t}\n};\n","export const setTermToState = ({properties, updateState}) => {\n\tconst {searchTerm} = properties;\n\tupdateState({\n\t\tpath: 'term',\n\t\tvalue: searchTerm,\n\t\toperation: 'set'\n\t});\n};\n","import {actionTypes} from '@servicenow/ui-core';\nimport {isEmpty, throttle} from 'lodash';\nimport get from 'lodash/get';\nimport {\n\tNOW_BUTTON_BARE_CLICKED,\n\tNOW_BUTTON_ICONIC_CLICKED,\n\tNOW_TEXT_LINK_CLICKED,\n\tINPUT_FOCUSED_IN,\n\tINPUT_FOCUSED_OUT,\n\tITEM_SELECTED,\n\tCLEAR_SEARCH_SELECTED,\n\tCLEAR_SEARCH_MUTATION,\n\tCLEAR_SEARCH_MUTATION_SUCCEEDED,\n\tCLEAR_SEARCH_MUTATION_FAILED,\n\tARROW_DOWN_PRESSED,\n\tARROW_UP_PRESSED,\n\tARROW_LEFT_PRESSED,\n\tARROW_RIGHT_PRESSED,\n\tINPUT_CHANGED,\n\tCONTEXT_DROPDOWN_FOCUSED,\n\tSHOW_POPOVER,\n\tMOUSE_OVERED,\n\tDEBOUNCED_SUGGESTION_FETCH,\n\tSUGGESTION_FETCH,\n\tSUGGESTION_FETCH_STARTED,\n\tSUGGESTION_FETCH_SUCCEEDED,\n\tSUGGESTION_FETCH_FAILED,\n\tCONTEXT_ITEM_SELECTED,\n\tEXACT_MATCH_FAILED,\n\tEXACT_MATCH_FETCH,\n\tEXACT_MATCH_STARTED,\n\tEXACT_MATCH_SUCCEEDED,\n\tSHOW_SEARCH_PANEL,\n\tHIDE_SEARCH_PANEL,\n\tSET_REF,\n\tFETCH_EXACT_MATCH_CONFIG,\n\tSET_ENABLE_EXACT_MATCH_PROPERTY,\n\tHANDLE_TOOLTIP_ON_TRUNCATED_TEXT,\n\tSWITCH_TO_DEFAULT_ENABLE_EXACT_MATCH_PROPERTY,\n\tITEM_FOCUSED\n} from '../actions';\nimport {constructAriaLiveText} from '../utils/resultItemsUtil';\n\nimport {\n\tDEBOUNCE_MODIFIER,\n\tINPUT_DEBOUNCE_DELAY,\n\tUPDATE_ARIA_LIVE_TEXT_SOURCES,\n\tSR_LABELS\n} from '../constants';\n\nimport {\n\tnowButtonClickedEffect,\n\tclearSearchSelectedEffect,\n\tinputFocusedInEffect,\n\tinputFocusedOutEffect,\n\titemSelectedEffect,\n\tarrowUpEffect,\n\tarrowDownEffect,\n\tarrowLeftEffect,\n\tarrowRightEffect,\n\tmouseOverEffect,\n\tshowPopoverEffect,\n\tinputChangeEffect,\n\tshowSearchPanelInMobileViewEffect,\n\thideSearchPanelInMobileViewEffect,\n\tcontextDropdownFocusedEffect,\n\thandleTooltipOnTruncatedTextEffect,\n\titemFocusedEffect\n} from '../effects/inputEffects';\n\nimport {\n\tsuggestionFetchEffect,\n\tsuggestionFetchStartedEffect,\n\tsuggestionFetchSucceededEffect,\n\tsuggestionFetchFailedEffect,\n\tdebouncedSuggestionFetchEffect\n} from '../effects/suggestionEffects';\n\nimport {\n\tclearSearchEffect,\n\tclearSearchSucceededEffect,\n\tclearSearchFailedEffect\n} from '../effects/clearSearchEffects';\n\nimport createAfterInterceptor from '../utils/interceptor';\nimport effectProxy from '../utils/effectProxy';\nimport {contextItemSelectedEffect} from '../effects/contextDropdownEffects';\n\nimport {\n\thandleExactMatchFailedEffect,\n\thandleExactMatchFetchEffect,\n\thandleExactMatchSucceededEffect,\n\thandleExactMatchStartedEffect,\n\texactMatchConfigFetchEffect,\n\tsetEnableExactMatchPropertyVariable,\n\tswitchToDefaultExactMatchPropertyVariable\n} from '../effects/exactMatchEffects';\nimport fetchExactMatch from '../utils/fetchExactMatch';\nimport {onComponentPropertyChanged} from '../effects/onComponentPropertyChanged';\nimport {setTermToState} from '../utils/setTermToState';\n\nconst coeffectFnWithStopPropagation = (effect, extraProperties = {}) => {\n\treturn {\n\t\teffect,\n\t\tstopPropagation: true,\n\t\t...extraProperties\n\t};\n};\n\nconst {\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_TREE_RENDERED\n} = actionTypes;\n\nconst handleAriaLiveText = ({state, updateState}) => {\n\t// add a dealy so screen reader is done reading search term\n\tif (\n\t\tstate?.updateAriaLiveTextSource ===\n\t\tUPDATE_ARIA_LIVE_TEXT_SOURCES.RESULT_COUNT\n\t) {\n\t\t// throttle to prevent tedious announcements\n\t\tconst throttleTimeout = throttle(() => {\n\t\t\tsetTimeout(() => {\n\t\t\t\tupdateState({\n\t\t\t\t\tariaLiveText: constructAriaLiveText(\n\t\t\t\t\t\tstate.data,\n\t\t\t\t\t\tstate?.updateAriaLiveTextSource\n\t\t\t\t\t)\n\t\t\t\t});\n\t\t\t}, 500);\n\t\t}, 500);\n\t\tthrottleTimeout();\n\t} else if (\n\t\tstate?.updateAriaLiveTextSource ===\n\t\tUPDATE_ARIA_LIVE_TEXT_SOURCES.CLEAR_RECENT_SEARCH_ITEM\n\t) {\n\t\tupdateState({\n\t\t\tariaLiveText: SR_LABELS.CLEARED_RECENT_SEARCH_ITEM\n\t\t});\n\t} else {\n\t\tupdateState({\n\t\t\tariaLiveText: ''\n\t\t});\n\t}\n};\n\nexport const onComponentConnected = ({dispatch, properties, updateState}) => {\n\tsetTermToState({dispatch, properties, updateState});\n\tconst {searchContextConfigId, enableExactMatch} = properties;\n\tif (!isEmpty(searchContextConfigId) && enableExactMatch !== false) {\n\t\tfetchExactMatch({dispatch, searchContextConfigId});\n\t}\n};\nexport const onComponentBootstrap = ({dispatch, properties}) => {\n\tconst {searchContextConfigId, searchTerm} = properties;\n\t// Timeout to optmize page first load by delaying prefetching the suggestions\n\tsetTimeout(() => {\n\t\tdispatch(DEBOUNCED_SUGGESTION_FETCH, {\n\t\t\tsearchContextConfigId,\n\t\t\tterm: searchTerm || '',\n\t\t\tprefetch: true\n\t\t});\n\t}, 1000);\n\tdispatch(SHOW_POPOVER);\n};\n\nexport const onComponentDisconnected = () => {\n\twindow.removeEventListener('resize', () => {});\n};\n\nexport const onSetref = ({updateState, action}) => {\n\tconst elm = get(action, 'payload.elm');\n\tupdateState({titleRef: elm});\n};\n\nexport default {\n\t[COMPONENT_CONNECTED]: coeffectFnWithStopPropagation(onComponentConnected),\n\t[COMPONENT_BOOTSTRAPPED]: coeffectFnWithStopPropagation(onComponentBootstrap),\n\t[COMPONENT_DISCONNECTED]: coeffectFnWithStopPropagation(\n\t\tonComponentDisconnected\n\t),\n\t[COMPONENT_TREE_RENDERED]: coeffectFnWithStopPropagation(handleAriaLiveText),\n\t[COMPONENT_PROPERTY_CHANGED]: coeffectFnWithStopPropagation(\n\t\tonComponentPropertyChanged\n\t),\n\t[DEBOUNCED_SUGGESTION_FETCH]: {\n\t\tmodifier: {\n\t\t\tname: DEBOUNCE_MODIFIER,\n\t\t\tdelay: INPUT_DEBOUNCE_DELAY\n\t\t},\n\t\teffect: debouncedSuggestionFetchEffect\n\t},\n\t[FETCH_EXACT_MATCH_CONFIG]: exactMatchConfigFetchEffect,\n\t[SET_ENABLE_EXACT_MATCH_PROPERTY]: coeffectFnWithStopPropagation(\n\t\tsetEnableExactMatchPropertyVariable\n\t),\n\t[SUGGESTION_FETCH]: effectProxy(suggestionFetchEffect),\n\t[SUGGESTION_FETCH_STARTED]: coeffectFnWithStopPropagation(\n\t\tsuggestionFetchStartedEffect\n\t),\n\t[SUGGESTION_FETCH_SUCCEEDED]: suggestionFetchSucceededEffect,\n\t[SUGGESTION_FETCH_FAILED]: coeffectFnWithStopPropagation(\n\t\tsuggestionFetchFailedEffect\n\t),\n\t[INPUT_CHANGED]: {\n\t\teffect: inputChangeEffect,\n\t\tinterceptors: createAfterInterceptor(SHOW_POPOVER),\n\t\tstopPropagation: true\n\t},\n\t[INPUT_FOCUSED_IN]: {\n\t\teffect: inputFocusedInEffect,\n\t\tinterceptors: createAfterInterceptor(SHOW_POPOVER),\n\t\tstopPropagation: true\n\t},\n\t[INPUT_FOCUSED_OUT]: coeffectFnWithStopPropagation(inputFocusedOutEffect),\n\t[ARROW_UP_PRESSED]: {\n\t\teffect: arrowUpEffect,\n\t\tinterceptors: createAfterInterceptor(SHOW_POPOVER),\n\t\tstopPropagation: true\n\t},\n\t[ARROW_DOWN_PRESSED]: {\n\t\teffect: arrowDownEffect,\n\t\tinterceptors: createAfterInterceptor(SHOW_POPOVER),\n\t\tstopPropagation: true\n\t},\n\t[ARROW_LEFT_PRESSED]: coeffectFnWithStopPropagation(arrowLeftEffect),\n\t[ARROW_RIGHT_PRESSED]: coeffectFnWithStopPropagation(arrowRightEffect),\n\t[NOW_BUTTON_BARE_CLICKED]: coeffectFnWithStopPropagation(\n\t\tnowButtonClickedEffect\n\t),\n\t[NOW_BUTTON_ICONIC_CLICKED]: coeffectFnWithStopPropagation(\n\t\tnowButtonClickedEffect\n\t),\n\t[NOW_TEXT_LINK_CLICKED]: coeffectFnWithStopPropagation(itemSelectedEffect),\n\t[ITEM_SELECTED]: coeffectFnWithStopPropagation(itemSelectedEffect),\n\t[ITEM_FOCUSED]: coeffectFnWithStopPropagation(itemFocusedEffect),\n\t[CLEAR_SEARCH_SELECTED]: coeffectFnWithStopPropagation(\n\t\tclearSearchSelectedEffect\n\t),\n\t[CLEAR_SEARCH_MUTATION]: {\n\t\t...clearSearchEffect,\n\t\tstopPropagation: true\n\t},\n\t[CLEAR_SEARCH_MUTATION_SUCCEEDED]: coeffectFnWithStopPropagation(\n\t\tclearSearchSucceededEffect\n\t),\n\t[CLEAR_SEARCH_MUTATION_FAILED]: coeffectFnWithStopPropagation(\n\t\tclearSearchFailedEffect\n\t),\n\t[MOUSE_OVERED]: coeffectFnWithStopPropagation(mouseOverEffect),\n\t[SHOW_POPOVER]: {\n\t\teffect: showPopoverEffect,\n\t\tstopPropagation: false\n\t},\n\t[CONTEXT_DROPDOWN_FOCUSED]: coeffectFnWithStopPropagation(\n\t\tcontextDropdownFocusedEffect\n\t),\n\t[CONTEXT_ITEM_SELECTED]: {\n\t\teffect: contextItemSelectedEffect,\n\t\tinterceptors: createAfterInterceptor(INPUT_FOCUSED_IN),\n\t\tstopPropagation: true\n\t},\n\t[EXACT_MATCH_FETCH]: effectProxy(handleExactMatchFetchEffect),\n\t[EXACT_MATCH_STARTED]: coeffectFnWithStopPropagation(\n\t\thandleExactMatchStartedEffect\n\t),\n\t[EXACT_MATCH_SUCCEEDED]: coeffectFnWithStopPropagation(\n\t\thandleExactMatchSucceededEffect\n\t),\n\t[EXACT_MATCH_FAILED]: coeffectFnWithStopPropagation(\n\t\thandleExactMatchFailedEffect\n\t),\n\t[SHOW_SEARCH_PANEL]: coeffectFnWithStopPropagation(\n\t\tshowSearchPanelInMobileViewEffect\n\t),\n\t[HIDE_SEARCH_PANEL]: coeffectFnWithStopPropagation(\n\t\thideSearchPanelInMobileViewEffect\n\t),\n\t[SET_REF]: coeffectFnWithStopPropagation(onSetref),\n\t[HANDLE_TOOLTIP_ON_TRUNCATED_TEXT]: coeffectFnWithStopPropagation(\n\t\thandleTooltipOnTruncatedTextEffect\n\t),\n\t[SWITCH_TO_DEFAULT_ENABLE_EXACT_MATCH_PROPERTY]: coeffectFnWithStopPropagation(\n\t\tswitchToDefaultExactMatchPropertyVariable\n\t)\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport keyBindingBehavior from '@servicenow/behavior-key-binding';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport {t} from 'sn-translate';\nimport style from './index.scss';\nimport view from './view/Combobox';\nimport actionHandlers from './actionHandlers';\n\nimport {\n\tARROW_DOWN_PRESSED,\n\tARROW_UP_PRESSED,\n\tARROW_LEFT_PRESSED,\n\tARROW_RIGHT_PRESSED,\n\tHIDE_POPOVER\n} from './actions';\nimport {\n\tenterKeyHandler,\n\t_isPopoverButtonEvent,\n\t_isPopoverTermEvent,\n\t_isDropDownEvent\n} from '../common/effects/inputEffects';\n\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\n\ncreateCustomElement('sn-cx-search-input-desktop', {\n\trenderer: {type: snabbdom},\n\tstyles: style,\n\tview,\n\tactionHandlers,\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['click'],\n\t\t\teffect({\n\t\t\t\tstate,\n\t\t\t\tdispatch,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {event, host}\n\t\t\t\t}\n\t\t\t}) {\n\t\t\t\tconst {showPopover} = state;\n\t\t\t\tif (showPopover) {\n\t\t\t\t\tconst path = event.composedPath ? event.composedPath() : event.path;\n\t\t\t\t\tconst hostInPath = path.includes(host);\n\n\t\t\t\t\tif (!hostInPath) {\n\t\t\t\t\t\tdispatch(HIDE_POPOVER);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\ttarget: document\n\t\t}\n\t],\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: keyBindingBehavior,\n\t\t\toptions: {\n\t\t\t\tkeyBindings: {\n\t\t\t\t\tpressArrowUp: ['ArrowUp'],\n\t\t\t\t\tpressArrowDown: ['ArrowDown'],\n\t\t\t\t\tpressArrowLeft: ['ArrowLeft'],\n\t\t\t\t\tpressArrowRight: ['ArrowRight'],\n\t\t\t\t\tpressEscape: ['Escape'],\n\t\t\t\t\tpressEnter: ['Enter']\n\t\t\t\t\t// pressTab: ['Tab']\n\t\t\t\t},\n\t\t\t\thandlers: {\n\t\t\t\t\tpressArrowUp(host, event, dispatch) {\n\t\t\t\t\t\tevent.preventDefault(); // prevent scrolling up\n\t\t\t\t\t\tdispatch(ARROW_UP_PRESSED, {host});\n\t\t\t\t\t},\n\t\t\t\t\tpressArrowDown(host, event, dispatch) {\n\t\t\t\t\t\tevent.preventDefault(); // prevent scrolling down\n\t\t\t\t\t\tif (!_isDropDownEvent(event)) {\n\t\t\t\t\t\t\tdispatch(ARROW_DOWN_PRESSED, {host});\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tpressArrowLeft(host, event, dispatch) {\n\t\t\t\t\t\tif (_isPopoverButtonEvent(event) || _isPopoverTermEvent(event))\n\t\t\t\t\t\t\tdispatch(ARROW_LEFT_PRESSED, {host});\n\t\t\t\t\t},\n\t\t\t\t\tpressArrowRight(host, event, dispatch) {\n\t\t\t\t\t\tif (_isPopoverButtonEvent(event) || _isPopoverTermEvent(event))\n\t\t\t\t\t\t\tdispatch(ARROW_RIGHT_PRESSED, {host});\n\t\t\t\t\t},\n\t\t\t\t\tpressEscape(host) {\n\t\t\t\t\t\tconst input = host.shadowRoot.querySelector('input');\n\t\t\t\t\t\tif (input) input.focus();\n\t\t\t\t\t},\n\t\t\t\t\tpressEnter: enterKeyHandler\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{behavior: rtlBehavior},\n\t\ttooltipBehavior,\n\t\ttruncationBehavior\n\t],\n\tinitialState: {\n\t\tterm: '',\n\t\tsuggestionSearchTermQuery: null,\n\t\tactiveRowIndex: -1,\n\t\tactiveColumnIndex: 0,\n\t\tdata: [],\n\t\twidth: 0,\n\t\tinputHasFocus: false,\n\t\ttargetRef: null,\n\t\tisInputActive: false,\n\t\texactMatch: {},\n\t\tqueueExactMatchEvent: false,\n\t\tsearchPanelOpened: false,\n\t\ttitleRef: '',\n\t\tupdateAriaLiveTextSource: '',\n\t\tariaLiveText: '',\n\t\tariaLiveBusy: false\n\t},\n\tproperties: {\n\t\tplaceholder: {default: t('Search')},\n\t\tsearchTerm: {default: ''},\n\t\tsearchContextConfigId: {default: ''},\n\t\tplacement: {default: 'body'},\n\t\tdisableAutocomplete: {default: false},\n\t\tselectedSearchContext: {default: {}},\n\t\tsearchContexts: {default: []},\n\t\twindowSize: {default: 'expanded'},\n\t\tcanAnimate: {default: false},\n\t\tenableExactMatch: {default: true},\n\t\texactMatchRegex: {default: ''},\n\t\tisSearchInput: {default: false},\n\t\tsearchConfig: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\tattachToNavigation: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tattachToElement: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\topened: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Enable the filters to be added to the routing whenenver user click on a search suggestion\n\t\t * @type {boolean}\n\t\t */\n\t\tapplyFilters: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Filters to be added to the routing whenenver user click on a search suggestion\n\t\t * @type {string}\n\t\t */\n\t\tfilters: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Is User Logged In.\n\t\t * @type {boolean}\n\t\t */\n\t\tisLoggedIn: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Source to be used when navigating.\n\t\t * @type {string}\n\t\t */\n\t\tsource: {\n\t\t\tdefault: null,\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t}\n\t}\n});\n","import {SET_INPUT_DESKTOP_ELEMENT} from './common/actions';\nimport './sn-cx-search-input-desktop';\n\nconst view = (state, {dispatch}) => {\n\tconst {\n\t\tproperties: {\n\t\t\tplaceholder,\n\t\t\tsearchTerm,\n\t\t\tsearchContextConfigId,\n\t\t\tplacement,\n\t\t\tdisableAutocomplete,\n\t\t\tselectedSearchContext,\n\t\t\tsearchContexts,\n\t\t\twindowSize,\n\t\t\tcanAnimate,\n\t\t\tenableExactMatch,\n\t\t\texactMatchRegex,\n\t\t\tisSearchInput,\n\t\t\tattachToNavigation,\n\t\t\tattachToElement,\n\t\t\topened,\n\t\t\tapplyFilters = false,\n\t\t\tfilters = '',\n\t\t\tsearchConfig = {},\n\t\t\tisLoggedIn = false,\n\t\t\tsource = null\n\t\t}\n\t} = state;\n\n\treturn (\n\t\t<sn-cx-search-input-desktop\n\t\t\tplaceholder={placeholder}\n\t\t\tsearchTerm={searchTerm}\n\t\t\tsearchContextConfigId={searchContextConfigId}\n\t\t\tplacement={placement}\n\t\t\tdisableAutocomplete={disableAutocomplete}\n\t\t\tselectedSearchContext={selectedSearchContext}\n\t\t\tsearchContexts={searchContexts}\n\t\t\twindowSize={windowSize}\n\t\t\tcanAnimate={canAnimate}\n\t\t\tenableExactMatch={enableExactMatch}\n\t\t\texactMatchRegex={exactMatchRegex}\n\t\t\tisSearchInput={isSearchInput}\n\t\t\tattachToNavigation={attachToNavigation}\n\t\t\topened={opened}\n\t\t\tattachToElement={attachToElement}\n\t\t\tapplyFilters={applyFilters}\n\t\t\tfilters={filters}\n\t\t\tsearchConfig={searchConfig}\n\t\t\tisLoggedIn={isLoggedIn}\n\t\t\tsource={source}\n\t\t\thook-insert={(el) => dispatch(SET_INPUT_DESKTOP_ELEMENT, el)}\n\t\t/>\n\t);\n};\n\nexport default view;\n","import {NAV_ITEM_SELECTED} from '../actions';\n\nexport const dispatchNavigationEvent = (dispatch, target) => {\n\tdispatch(NAV_ITEM_SELECTED, {...target});\n};\n","/**\n * Handle variables in the context object.\n * @param {Object} context\n * @param {Object} variables\n */\nexport function handleNavVariables(context, variables) {\n\tconst ret = {};\n\tif (context) {\n\t\tconst varKeys = Object.keys(variables);\n\t\tObject.keys(context).forEach((key) => {\n\t\t\tif (context[key]) {\n\t\t\t\tret[key] = context[key];\n\n\t\t\t\tif (typeof ret[key] === 'object') {\n\t\t\t\t\tret[key] = handleNavVariables(ret[key], variables);\n\t\t\t\t} else {\n\t\t\t\t\t// Replace variables in the context\n\t\t\t\t\tvarKeys.forEach((varKey) => {\n\t\t\t\t\t\tvar regex = new RegExp(`{${varKey}}`, 'g');\n\t\t\t\t\t\tret[key] = ret[key].replace(regex, variables[varKey]);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn ret;\n}\n","import {SEARCH_CLOSED_INTERNAL} from '../actions';\nimport {GLOBAL_SEARCH_SOURCE} from '../constants';\nimport {dispatchNavigationEvent} from '../utils/dispatchNavigation';\nimport {getSearchConfiguration} from '../../../../utils';\nimport {handleNavVariables} from './handleNavVariables';\n\nexport const handleSearchExecutedEffect = (coeffects) => {\n\tconst {action, dispatch, state} = coeffects;\n\tconst {properties} = state;\n\tconst {selectedContent, filters, applyFilters} = properties;\n\tconst {searchTerm, searchConfig: searchConfigPayload} = action.payload;\n\tconst source = properties?.source || GLOBAL_SEARCH_SOURCE;\n\t// get searchconfig from experience page properties\n\tconst searchConfig = getSearchConfiguration(\n\t\tselectedContent,\n\t\tsearchConfigPayload\n\t);\n\n\tif (!searchTerm) return;\n\n\tlet searchRoute = {\n\t\troute: searchConfig?.searchRoute || 'search',\n\t\tfields: {term: searchTerm},\n\t\tparams: {\n\t\t\tsource: properties?.source || GLOBAL_SEARCH_SOURCE,\n\t\t\tfilters: applyFilters ? filters : null\n\t\t}\n\t};\n\n\tif (\n\t\tsearchConfig?.searchRouteConfig &&\n\t\ttypeof searchConfig?.searchRouteConfig === 'object'\n\t) {\n\t\tconst routeConfig = handleNavVariables(\n\t\t\t{...searchRoute, ...searchConfig?.searchRouteConfig},\n\t\t\t{\n\t\t\t\tsearchTerm,\n\t\t\t\tsource\n\t\t\t}\n\t\t);\n\n\t\t// If any passed on the payload, use it, otherwise use the one from the\n\t\tconst filtersToApply = filters || routeConfig?.params?.filters || null;\n\n\t\t// If not apply filters, set filters to null, otherwise set the filters to apply\n\t\trouteConfig.params.filters = applyFilters ? filtersToApply : null;\n\n\t\tsearchRoute = routeConfig;\n\t}\n\n\tdispatch(SEARCH_CLOSED_INTERNAL);\n\tdispatchNavigationEvent(dispatch, searchRoute);\n};\n","import {createHttpEffect} from '@servicenow/ui-effect-http';\nimport {NAVIGATION_SUCCEEDED} from '../actions';\n// When user click on the search suggestion for auth user, we use this api to get the suggestion url\nexport const handleSeismicNavigationExecutedEffect = createHttpEffect(\n\t'/api/now/table/:table/:sysId',\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tencodeURIComponent: false,\n\t\tpathParams: ['table', 'sysId'],\n\t\tsuccessActionType: NAVIGATION_SUCCEEDED\n\t}\n);\n// When user click on the search suggestion for unauth user, we use this api to get the suggestion url\nexport const handleSeismicNavigationExecutedPublicEffect = createHttpEffect(\n\t'/api/x_snc_onecx/public_suggest_click/:table/:sysId',\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tencodeURIComponent: false,\n\t\tpathParams: ['table', 'sysId'],\n\t\tsuccessActionType: NAVIGATION_SUCCEEDED\n\t}\n);\n","import {SEARCH_INITIATED} from '../actions';\nimport {dispatchNavigationEvent} from '../utils/dispatchNavigation';\n\nexport const navigationSucceedEffect = (coeffects) => {\n\tconst {\n\t\tstate: {\n\t\t\tproperties: {searchConfig}\n\t\t},\n\t\taction,\n\t\tdispatch\n\t} = coeffects;\n\tconst {result} = action.payload;\n\n\tconst {\n\t\tcontentLinkColumns = [\n\t\t\t'u_devsite_link',\n\t\t\t'u_u_devsite_link',\n\t\t\t'u_view_href',\n\t\t\t'u_external_url',\n\t\t\t'x_snc_hi_kb_data_e_gsdr_url',\n\t\t\t'x_snc_nl_data_extr_gsdr_url',\n\t\t\t'x_snc_dev_portal_d_gsdr_url',\n\t\t\t'u_gsdr_url',\n\t\t\t'u_gsdr_attachment_url',\n\t\t\t'u_url'\n\t\t]\n\t} = searchConfig;\n\n\tconst devSiteLinkColumn = contentLinkColumns.find(\n\t\t(column) => column in result && result[column]\n\t);\n\n\tconst devSiteLink = result[devSiteLinkColumn];\n\n\tif (devSiteLink) {\n\t\tconst sendPayload = {\n\t\t\texternal: {\n\t\t\t\turl: devSiteLink,\n\t\t\t\ttarget: '_blank'\n\t\t\t},\n\t\t\tnavigationOptions: {}\n\t\t};\n\t\tdispatchNavigationEvent(dispatch, sendPayload);\n\t\tdispatch(SEARCH_INITIATED, {\n\t\t\topened: false\n\t\t});\n\t}\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport {t} from 'sn-translate';\nimport signalTracker from './common/utils/signalTracker';\nimport get from 'lodash/get';\nimport view from './view';\nimport {\n\tSIZE,\n\tWINDOW_SIZE,\n\tAUTOCOMPLETE_QUERY_EVENT,\n\tINFO_EVENT,\n\tPOPOVER_ITEM_TYPE,\n\tANALYTICS_EVENTS\n} from './common/constants';\nimport {\n\tSEARCH_EXECUTED,\n\tNAVIGATION_EXECUTED,\n\tCONTEXT_CHANGED,\n\tSEARCH_EXECUTED_INTERNAL,\n\tNAVIGATION_EXECUTED_INTERNAL,\n\tCONTEXT_CHANGED_INTERNAL,\n\tSEARCH_CLOSED,\n\tSEARCH_CLOSED_INTERNAL,\n\tSUGGESTION_FETCH_SUCCEEDED,\n\tNAVIGATION_EXECUTED_UTIL,\n\tNAVIGATION_EXECUTED_PUBLIC_UTIL,\n\tNAVIGATION_SUCCEEDED,\n\tUPDATE_SEARCH_CACHE,\n\tSET_INPUT_DESKTOP_ELEMENT\n} from './common/actions';\nimport {handleSearchExecutedEffect} from './common/effects/handleSearchExecutedEffect';\nimport {\n\thandleSeismicNavigationExecutedEffect,\n\thandleSeismicNavigationExecutedPublicEffect\n} from './common/effects/navigationExecutedEffect';\nimport {navigationSucceedEffect} from './common/effects/navigationSucceedEffect';\nimport {\n\tupdateCacheEffect,\n\tsetInputElement\n} from './sn-cx-search-input-desktop/effects';\n\nfunction getResponseCount(dataResponse) {\n\tconst output = [];\n\tdataResponse.forEach((group) => {\n\t\toutput.push(...group.records);\n\t});\n\treturn output.length;\n}\n\nconst searchExecutedInternalEffect = ({\n\tstate: {\n\t\tproperties: {searchConfig, source}\n\t},\n\taction: {payload},\n\tdispatch\n}) => {\n\tpayload.searchConfig = searchConfig;\n\tpayload.source = source;\n\tdispatch(SEARCH_EXECUTED, payload);\n};\n\n// this function is executed when search is executed by entering a search term and clicking enter or clicking view all search results\nconst searchExecutedEffect = (coeffects) => {\n\tconst {\n\t\tstate: {\n\t\t\tproperties: {searchConfig, searchContextConfigId}\n\t\t},\n\t\taction: {payload, meta},\n\t\tdispatch\n\t} = coeffects;\n\n\t// if emitNavItemSelected is true, dispatch NAV_ITEM_SELECT event\n\tif (searchConfig?.emitNavItemSelected === true) {\n\t\t// dispatch the NAV_ITEM_SELECT event\n\t\thandleSearchExecutedEffect(coeffects);\n\t}\n\n\t// trigger signal for search executed\n\tsignalTracker.trackEvent(AUTOCOMPLETE_QUERY_EVENT, INFO_EVENT, {\n\t\tsearchContextConfigId: searchContextConfigId,\n\t\tqueryTerm: payload.searchTerm,\n\t\tselectedQuery: payload.searchTerm,\n\t\tqueryType: POPOVER_ITEM_TYPE.USER_SEARCH_TERM,\n\t\tclickIndex: -1 //user did not pick any suggestion\n\t});\n\n\tconst aaDigitalData = {\n\t\tpage: {\n\t\t\tsearch: {\n\t\t\t\tinputField: 'search box',\n\t\t\t\tsearchTerm: payload.searchTerm\n\t\t\t}\n\t\t}\n\t};\n\n\tconst eventType = 'search_submit';\n\n\tdispatch(\n\t\tANALYTICS_EVENTS.CLICK,\n\t\t{\n\t\t\taaDigitalData\n\t\t},\n\t\t{...meta, eventType}\n\t);\n};\n\nconst navigationExecutedEffect = (coeffects) => {\n\tconst {\n\t\tstate: {\n\t\t\tproperties: {searchConfig, isLoggedIn}\n\t\t},\n\t\taction: {payload},\n\t\tdispatch\n\t} = coeffects;\n\n\t// if emitNavItemSelected is true, dispatch NAV_ITEM_SELECT event\n\tif (searchConfig?.emitNavItemSelected === true) {\n\t\t// dispatch the NAV_ITEM_SELECT event\n\t\tif (isLoggedIn) {\n\t\t\tdispatch(NAVIGATION_EXECUTED_UTIL, payload.actionPayload);\n\t\t} else {\n\t\t\tdispatch(NAVIGATION_EXECUTED_PUBLIC_UTIL, payload.actionPayload);\n\t\t}\n\t}\n\n\tdispatch(NAVIGATION_EXECUTED, payload);\n};\n\nconst contextChangedEffect = ({action: {payload}, dispatch}) => {\n\tdispatch(CONTEXT_CHANGED, payload);\n};\n\nconst searchClosedEffect = ({action: {payload}, dispatch}) => {\n\tdispatch(SEARCH_CLOSED, payload);\n};\n\nconst popoverEffect = ({action: {payload}, dispatch}) => {\n\tconst data = get(payload, 'data.GlideSearch_Query.suggestions.data', []);\n\tconst count = getResponseCount(data);\n\tdispatch('SN_SEARCH_COMBOBOX#POPOVER', {count});\n};\n\n/**\n * @class sn-cx-search-input\n * Field for entering and executing user search queries that displays suggested queries and results.\n *\n * ```jsx\n * <sn-cx-search-input\n *      search-context-config-id=\"0ce0997f7320001052c7d5fdbdf6a746\"\n *      placement=\"body\"\n *      size=\"lg\"\n * />\n * ```\n *\n * @seismicElement sn-cx-search-input\n * @summary Gives users the ability to search a portal or workspace.\n */\ncreateCustomElement('sn-cx-search-input', {\n\trenderer: {type: snabbdom},\n\tview,\n\tproperties: {\n\t\t/**\n\t\t * Placeholder text to display in the input box before a user enters a value.\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {\n\t\t\tdefault: t('Search'),\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Initial search term for the search input.\n\t\t * @type {string}\n\t\t */\n\t\tsearchTerm: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Sys ID of the search context configuration from the sys_search_context_config table.\n\t\t * This configuration provides search and autocomplete configuration metadata.\n\t\t * @type {string}\n\t\t */\n\t\tsearchContextConfigId: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Determines where the search input is rendered\n\t\t * and defines the input's visual style.\n\t\t * @type {('header'|'body')}\n\t\t */\n\t\tplacement: {\n\t\t\tdefault: 'body',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * When true, disables autocomplete capability.\n\t\t * @type {boolean}\n\t\t */\n\t\tdisableAutocomplete: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * When true, enables exact match functionality.\n\t\t * @type {boolean}\n\t\t */\n\t\tenableExactMatch: {\n\t\t\tdefault: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The regular expression that queries must match before a request is sent to the exact match API.\n\t\t * @type {string}\n\t\t */\n\t\texactMatchRegex: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the component is being rendered on mobile or desktop.\n\t\t * Options include:\n\t\t * - 'sm': Set for the mobile version.\n\t\t * - 'lg': Set for the desktop version.\n\t\t * @type {('sm'|'lg')}\n\t\t */\n\t\tsize: {\n\t\t\tdefault: SIZE.LARGE,\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['sm', 'lg']\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Selected search context\n\t\t * @type {Object}\n\t\t */\n\t\tselectedSearchContext: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tid: {type: 'string'},\n\t\t\t\t\tlabel: {type: 'string'},\n\t\t\t\t\tcontext: {type: 'string'},\n\t\t\t\t\troute: {type: 'string'},\n\t\t\t\t\tsearchDataConfigId: {type: 'string'},\n\t\t\t\t\tsearchViewConfigId: {type: 'string'}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Search contexts\n\t\t * @type {array}\n\t\t */\n\t\tsearchContexts: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array'\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Reads windowSize property from polaris header to render search input in either desktop expanded, collapsed or mobile view\n\t\t * @type {('expanded'|'collapsed'|'mobile')}\n\t\t */\n\t\twindowSize: {\n\t\t\tdefault: WINDOW_SIZE.EXPANDED,\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['expanded', 'collapsed', 'mobile']\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Boolean property for enabling animations.\n\t\t * @type {boolean}\n\t\t */\n\t\tcanAnimate: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\topened: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The page property for the search config object\n\t\t * @type {Object}\n\t\t */\n\t\tsearchConfig: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\tattachToNavigation: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tattachToElement: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Enable the filters to be added to the routing whenenver user click on a search suggestion\n\t\t * @type {boolean}\n\t\t */\n\t\tapplyFilters: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Filters to be added to the routing whenenver user click on a search suggestion\n\t\t * @type {string}\n\t\t */\n\t\tfilters: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The OOB Seismic selectedContent object.\n\t\t * @type {Object}\n\t\t */\n\t\tselectedContent: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Is User Logged In.\n\t\t * @type {boolean}\n\t\t */\n\t\tisLoggedIn: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * source to be used when navigating\n\t\t * @type {string}\n\t\t */\n\t\tsource: {\n\t\t\tdefault: null,\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t[SEARCH_EXECUTED_INTERNAL]: {\n\t\t\teffect: searchExecutedInternalEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SEARCH_EXECUTED]: {\n\t\t\teffect: searchExecutedEffect\n\t\t},\n\t\t[NAVIGATION_EXECUTED_INTERNAL]: {\n\t\t\teffect: navigationExecutedEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NAVIGATION_EXECUTED_UTIL]: handleSeismicNavigationExecutedEffect,\n\t\t[NAVIGATION_EXECUTED_PUBLIC_UTIL]: handleSeismicNavigationExecutedPublicEffect,\n\t\t[NAVIGATION_SUCCEEDED]: {\n\t\t\teffect: navigationSucceedEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[CONTEXT_CHANGED_INTERNAL]: {\n\t\t\teffect: contextChangedEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SEARCH_CLOSED_INTERNAL]: {\n\t\t\teffect: searchClosedEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SUGGESTION_FETCH_SUCCEEDED]: {\n\t\t\teffect: popoverEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[UPDATE_SEARCH_CACHE]: {\n\t\t\teffect: updateCacheEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SET_INPUT_DESKTOP_ELEMENT]: {\n\t\t\teffect: setInputElement,\n\t\t\tstopPropagation: true\n\t\t}\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when search executes. Payload contains the search term, `searchContextConfigId` and `selectedSearchContext` value.\n\t\t * @type {{searchTerm: string, searchContextConfigId: string, selectedSearchContext: object}}\n\t\t */\n\t\t'SN_SEARCH_COMBOBOX#SEARCH_EXECUTED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tsearchTerm: {type: 'string'},\n\t\t\t\t\tsearchContextConfigId: {type: 'string'},\n\t\t\t\t\tselectedSearchContext: {type: 'object'}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user clicks on a navigable item.\n\t\t * Instead of routing to a search page, this action routes to a content page.\n\t\t * @type {{table: string, sysId: string, url: string}}\n\t\t */\n\t\t'SN_SEARCH_COMBOBOX#NAVIGATION_EXECUTED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\ttable: {type: 'string'},\n\t\t\t\t\tsysId: {type: 'string'},\n\t\t\t\t\turl: {type: 'string'}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when a the search context is changed. The payload contains the selected search context information.\n\t\t * @type {{id: string, label: string, context: string, route: string, searchDataConfigId: string}}\n\t\t */\n\t\t'SN_SEARCH_COMBOBOX#CONTEXT_CHANGED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tid: {type: 'string'},\n\t\t\t\t\tlabel: {type: 'string'},\n\t\t\t\t\tcontext: {type: 'string'},\n\t\t\t\t\troute: {type: 'string'},\n\t\t\t\t\tsearchDataConfigId: {type: 'string'}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when a the search context is changed. The payload contains the selected search context information.\n\t\t * @type {{id: string, label: string, context: string, route: string, searchDataConfigId: string}}\n\t\t */\n\t\t'SN_SEARCH_COMBOBOX#SEARCH_CLOSED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tid: {type: 'string'}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'SN_SEARCH_COMBOBOX#POPOVER': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tcount: {type: 'number'}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when the SignIn link is clicked. Payload contains the pathname.\n\t\t * @type {{pathname: string}}\n\t\t */\n\t\t'SN_SEARCH_COMBOBOX#SIGNIN_BUTTON_CLICKED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tpathname: {type: 'string'}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n});\n","export const SEARCH_TOGGLED = 'SN_CX_SEARCH_MODAL#TOGGLED';\nexport const SEARCH_TOGGLED_INTERNAL = `${SEARCH_TOGGLED}_INTERNAL`;\nexport const SEARCH_BACK = 'SN_CX_SEARCH_MODAL#BACK_BUTTON_CLICKED';\nexport const SEARCH_CLOSED = 'SN_CX_SEARCH_MODAL#SEARCH_CLOSED';\nexport const SEARCH_OPENED = 'SN_CX_SEARCH_MODAL#SEARCH_OPENED';\nexport const OVERLAY_CLICKED = 'SN_CX_SEARCH_MODAL#OVERLAY_CLICKED';\nexport const OVERLAY_OVERED = 'SN_CX_SEARCH_MODAL#OVERLAY_OVERED';\n\nexport const SUGGESTIONS_LOADED = 'SN_SEARCH_COMBOBOX#POPOVER';\n\nexport const SEARCH_NAVIGATION_EXECUTED =\n\t'SN_CX_SEARCH_MODAL#NAVIGATION_EXECUTED';\nexport const SEARCH_SEARCH_EXECUTED = 'SN_CX_SEARCH_MODAL#SEARCH_EXECUTED';\nexport const COMBOBOX_NAVIGATION_EXECUTED =\n\t'SN_SEARCH_COMBOBOX#NAVIGATION_EXECUTED';\nexport const COMBOBOX_SEARCH_EXECUTED = 'SN_SEARCH_COMBOBOX#SEARCH_EXECUTED';\nexport const SET_NOW_MODAL_REF = 'SN_CX_SEARCH_MODAL#SET_NOW_MODAL_REF';\n\nexport const NOW_BUTTON_BARE_CLICKED = 'NOW_BUTTON_BARE#CLICKED';\nexport const REQUEST_DOCUMENT_FREEZE = 'REQUEST_DOCUMENT_FREEZE';\nexport const DOCUMENT_FREEZE_REQUESTED =\n\t'SN_CX_SEARCH_MODAL#DOCUMENT_FREEZE_REQUESTED';\nexport const SIGNIN_BUTTON_CLICKED = 'SN_CX_SEARCH_MODAL#SIGNIN_BUTTON_CLICKED';\nexport const WINDOW_RESIZED = 'SN_CX_SEARCH_MODAL#WINDOW_RESIZED';\nexport const SIGNIN_BUTTON_CLICKED_INITIATED =\n\t'SN_SEARCH_COMBOBOX#SIGNIN_BUTTON_CLICKED';\nexport const UPDATE_SEARCH_CACHE = 'SN_CX_SEARCH_MODAL#UPDATE_CACHE';\nexport const SET_INPUT_ELEMENT = 'SN_CX_SEARCH_MODAL#SET_INPUT_ELEMENT';\nexport const UPDATE_SEARCH_INPUT_CACHE =\n\t'SN_CX_SEARCH_INPUT#UPDATE_SEARCH_CACHE';\n","export const OVERLAY_CSS_VAR_TOP = '--search-modal_overlay-lg--top';\nexport const SERVICENOW_HOMEPAGE_URL = 'https://www.servicenow.com';\n\nexport const MODAL_STYLES = {\n\tdisplay: 'grid',\n\tgridTemplateColumns: 'repeat(12, 1fr)',\n\talignItems: 'flex-start',\n\theight: 'auto',\n\tmarginTop: '5rem',\n\topacity: 1\n};\n\nexport const FULLSCREEN_MODAL_STYLES = {\n\tmarginTop: '0rem',\n\tmarginLeft: '0rem',\n\tjustifyContent: 'flex-start',\n\theight: '100vh',\n\tmaxBlockSize: 'none'\n};\n\nexport const DOCUMENT_STYLES = {\n\tgridColumn: '3 / span 8',\n\tmaxInlineSize: 'none',\n\toverflow: 'hidden',\n\tminBlockSize: 'fit-content'\n};\n\nexport const FULLSCREEN_DOCUMENT_STYLES = {\n\tgridColumn: '1 / span 12',\n\theight: '100vh',\n\tmaxBlockSize: 'none',\n\tmaxInlineSize: 'none'\n};\n\n/**\n * Object containing event names for Adobe Analytics purposes.\n */\nexport const ANALYTICS_EVENTS = {\n\t// Dispatched event name for Adobe Analytics in click event.\n\tCLICK: 'AA_TRACK#PAGE_ELEMENT_CLICKED',\n\n\t// Dispatched event name for Adobe Analytics in page load event. 22a13422c90b76c36f173f53a2858cf4\n\tPAGE_LOAD: 'AA_TRACK#PAGE_LOADED',\n\n\t// Dispatched event name for Adobe Analytics in content load event.\n\tIMPRESSION: 'AA_TRACK#PAGE_CONTENT_IMPRESSION'\n};\n","import '@servicenow/now-modal';\nimport {t} from 'sn-translate';\nimport './../sn-cx-search-input';\nimport {\n\tOVERLAY_CLICKED,\n\tOVERLAY_OVERED,\n\tSEARCH_BACK,\n\tSEARCH_CLOSED,\n\tSET_INPUT_ELEMENT,\n\tSET_NOW_MODAL_REF\n} from './actions';\nimport {OVERLAY_CSS_VAR_TOP} from './constants';\nimport {getIcon, getSearchConfiguration} from '../../utils';\n\nconst ServicenowLogoIcon = ({mediaQuery, searchConfig}) => {\n\tconst {sm} = mediaQuery;\n\treturn (\n\t\t<now-button-bare\n\t\t\tclassName=\"back-modal-button\"\n\t\t\tappend-to-payload={{action: SEARCH_BACK}}>\n\t\t\t<span role=\"button\" tabindex={0} aria-label={t('Go to ServiceNow.com')}>\n\t\t\t\t{sm\n\t\t\t\t\t? getIcon('now-logo', 'md', searchConfig)\n\t\t\t\t\t: getIcon('now-icon', 'md', searchConfig)}\n\t\t\t</span>\n\t\t</now-button-bare>\n\t);\n};\n\nconst CloseModalIcon = ({mediaQuery, searchConfig}) => {\n\tconst {xl} = mediaQuery;\n\treturn (\n\t\t<now-button-bare\n\t\t\tclassName=\"close-modal-button\"\n\t\t\tappend-to-payload={{action: SEARCH_CLOSED}}\n\t\t\taria-label={t('Close search')}>\n\t\t\t<div class={{'close-icon': true, '-xl': xl}} role=\"button\" tabindex={0}>\n\t\t\t\t{getIcon('close-light', 'md', searchConfig)}\n\t\t\t</div>\n\t\t</now-button-bare>\n\t);\n};\n\nconst SearchModalHeader = ({mediaQuery, searchConfig}) => {\n\treturn (\n\t\t<div className=\"search-modal-header\">\n\t\t\t<ServicenowLogoIcon mediaQuery={mediaQuery} searchConfig={searchConfig} />\n\t\t\t<CloseModalIcon mediaQuery={mediaQuery} searchConfig={searchConfig} />\n\t\t</div>\n\t);\n};\n\nexport const SearchModalBody = ({\n\tsearchConfig,\n\tattachToNavigation,\n\tsearchTerm,\n\topened = false,\n\tattachToElement = null,\n\tsource,\n\tapplyFilters,\n\tfilters,\n\tselectedContent,\n\tisLoggedIn,\n\tsearchContextConfigId,\n\tenableExactMatch,\n\tdispatch\n}) => {\n\treturn (\n\t\t<div className=\"search-modal-body\" role=\"document\">\n\t\t\t<sn-cx-search-input\n\t\t\t\tid=\"search-modal-input\"\n\t\t\t\tplaceholder={t('Search across ServiceNow')}\n\t\t\t\tsearch-context-config-id={searchContextConfigId}\n\t\t\t\tplacement=\"body\"\n\t\t\t\tsize=\"lg\"\n\t\t\t\tsearch-term={searchTerm}\n\t\t\t\tis-search-input=\"true\"\n\t\t\t\tsearchConfig={searchConfig || {}}\n\t\t\t\tattachToNavigation={attachToNavigation}\n\t\t\t\topened={opened}\n\t\t\t\tattachToElement={attachToElement}\n\t\t\t\tapplyFilters={applyFilters}\n\t\t\t\tfilters={filters}\n\t\t\t\tselectedContent={selectedContent}\n\t\t\t\tisLoggedIn={isLoggedIn}\n\t\t\t\tenableExactMatch={enableExactMatch}\n\t\t\t\thook-insert={(el) => dispatch(SET_INPUT_ELEMENT, el)}\n\t\t\t\tsource={source}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nexport const view = (state, {dispatch}) => {\n\tconst {\n\t\tbehaviors: {mediaQuery},\n\t\topened,\n\t\tsearchTerm,\n\t\tattachToNavigation,\n\t\tattachToElement,\n\t\tapplyFilters,\n\t\tfilters,\n\t\tproperties,\n\t\tnavTopOverlayOffset,\n\t\tsource\n\t} = state;\n\tconst {\n\t\tsearchConfig,\n\t\tselectedContent,\n\t\tisLoggedIn,\n\t\tsearchContextConfigId,\n\t\tenableExactMatch\n\t} = properties;\n\n\tconst isXL = mediaQuery.xl;\n\n\tconst enableCloseIcon = isXL && attachToNavigation === true ? true : false;\n\n\tconst isAttachedToElement =\n\t\tattachToNavigation === false && attachToElement ? true : false;\n\n\tconst currentSearchConfig = getSearchConfiguration(\n\t\tselectedContent,\n\t\tsearchConfig\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'sn-cx-search-modal': true,\n\t\t\t\t'-opened': opened,\n\t\t\t\t'-attached-to-navigation': attachToNavigation,\n\t\t\t\t'-attached-to-element': isAttachedToElement\n\t\t\t}}\n\t\t\tstyle={{\n\t\t\t\t[OVERLAY_CSS_VAR_TOP]: attachToNavigation\n\t\t\t\t\t? `${navTopOverlayOffset}px`\n\t\t\t\t\t: '0px'\n\t\t\t}}\n\t\t\tref={(nowModalRef) => {\n\t\t\t\tdispatch(SET_NOW_MODAL_REF, {nowModalRef});\n\t\t\t}}\n\t\t\ton-mouseover={(e) => {\n\t\t\t\tdispatch(OVERLAY_OVERED, {eventTarget: e.target});\n\t\t\t}}\n\t\t\ton-click={(e) => {\n\t\t\t\tif (e.target?.classList?.contains('sn-cx-search-modal'))\n\t\t\t\t\tdispatch(OVERLAY_CLICKED);\n\t\t\t}}>\n\t\t\t<div\n\t\t\t\tclassName=\"search-modal-content\"\n\t\t\t\trole=\"dialog\"\n\t\t\t\taria-label={t('Search across ServiceNow')}>\n\t\t\t\t<SearchModalHeader\n\t\t\t\t\tmediaQuery={mediaQuery}\n\t\t\t\t\tsearchConfig={currentSearchConfig}\n\t\t\t\t/>\n\t\t\t\t<SearchModalBody\n\t\t\t\t\tmediaQuery={mediaQuery}\n\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\topened={opened}\n\t\t\t\t\tattachToNavigation={attachToNavigation}\n\t\t\t\t\tattachToElement={isAttachedToElement}\n\t\t\t\t\tapplyFilters={applyFilters}\n\t\t\t\t\tfilters={filters}\n\t\t\t\t\tisLoggedIn={isLoggedIn}\n\t\t\t\t\tsearchContextConfigId={searchContextConfigId}\n\t\t\t\t\tenableExactMatch={enableExactMatch}\n\t\t\t\t\tsearchConfig={currentSearchConfig}\n\t\t\t\t\tselectedContent={selectedContent}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tsource={source}\n\t\t\t\t/>\n\t\t\t\t{enableCloseIcon && (\n\t\t\t\t\t<CloseModalIcon\n\t\t\t\t\t\tmediaQuery={mediaQuery}\n\t\t\t\t\t\tsearchConfig={currentSearchConfig}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n","import unifiedCache from '@devsnc/library-unified-cache';\n\nexport const searchModalDomElementsCache = unifiedCache.createInstance({\n\tadapter: ['inMemory'],\n\tname: 'searchModalDomElementsCache',\n\tdescription: `Search Modal DOM elements in memory cache`,\n\tstoreName: 'searchModalDomElementsCache',\n\tevictionPolicy: 'LRU'\n});\n","import {attachObservers} from '../../../utils';\nimport {WINDOW_RESIZED} from '../actions';\n\n/***\n * only one origin can be observed at a time, so we need to keep track of the observer and the element being observed\n * @type {{observer: IntersectionObserver | null, element: HTMLElement | null}}\n * @private\n **/\nlet originObserved = {\n\tobserver: null,\n\telement: null,\n\tpositionObserver: null\n};\n\n/***\n * Observe the origin element to calculate the modal position\n * @param {HTMLElement} modalDialog\n * @param {HTMLElement} origin\n * @returns {void}\n */\nexport const observeOrigin = (dispatch, origin) => {\n\t// If a origin is being passed and is the same of already tracked element, ignore.\n\tif (\n\t\torigin &&\n\t\toriginObserved.element &&\n\t\toriginObserved.element.isEqualNode(origin)\n\t) {\n\t\treturn;\n\t}\n\tconst {observer, element, positionObserver} = originObserved;\n\n\tif (observer) {\n\t\tobserver.unobserve(element);\n\t}\n\n\tif (positionObserver) {\n\t\tpositionObserver.disconnect();\n\t}\n\n\t// reset origin observed to initial state\n\toriginObserved = {\n\t\tobserver: null,\n\t\telement: null,\n\t\tpositionObserver: null\n\t};\n\n\tif (origin) {\n\t\t// it observes the body instead of the origin since the origin stops to grow, but position changes\n\t\toriginObserved = attachObservers(origin, function() {\n\t\t\tdispatch(WINDOW_RESIZED);\n\t\t});\n\t}\n};\n","/**\n * Return the active element inside the shadow DOM\n * @param {HTMLElement} element\n */\nexport function findShadowActiveElement(element) {\n\tif (element?.shadowRoot?.activeElement) {\n\t\treturn findShadowActiveElement(element.shadowRoot.activeElement);\n\t}\n\treturn element;\n}\n","import {WINDOW_RESIZED} from '../actions';\n\nexport const setModalListeners = (dispatch) => {\n\tlet animationFrameId; // Store the animation frame ID\n\n\tfunction onResize() {\n\t\tdispatch(WINDOW_RESIZED);\n\t}\n\n\tfunction resizeHandler() {\n\t\t// Cancel any existing animation frame\n\t\tif (animationFrameId) {\n\t\t\tcancelAnimationFrame(animationFrameId);\n\t\t}\n\n\t\t// Schedule a new animation frame\n\t\tanimationFrameId = requestAnimationFrame(onResize);\n\t}\n\n\twindow.addEventListener('resize', resizeHandler);\n};\n","import isEmpty from 'lodash/isEmpty';\nimport isEqual from 'lodash/isEqual';\n\nimport {searchModalDomElementsCache} from './../cache.js';\nimport {\n\tDOCUMENT_STYLES,\n\tFULLSCREEN_DOCUMENT_STYLES,\n\tFULLSCREEN_MODAL_STYLES,\n\tMODAL_STYLES\n} from './../constants';\nimport {querySelectorAllDeep, querySelectorDeep} from '../../../utils';\nimport {observeOrigin} from './observeOrigin.js';\n\nexport * from './findShadowActiveElement.js';\nexport * from './setModalListeners.js';\n\n/**\n * @description Store/retrieved DOM elements to the domElements object\n * @param {string} key\n * @param {Function} searchElement callback function to query for the element on the dom\n */\nexport const getDomElement = async (key, searchElement) => {\n\tlet element = await searchModalDomElementsCache.getItem(key);\n\n\t// validate if key holds a valid and visible element on the DOM.\n\t// This will not work only when style/css of the element is visibility: hidden or display: none\n\tconst isOnDOM =\n\t\telement && element.checkVisibility && element.checkVisibility();\n\n\tif (!element || !isOnDOM) {\n\t\telement = searchElement();\n\t\tawait searchModalDomElementsCache.setItem(key, element);\n\t}\n\n\treturn element;\n};\n\nexport const getSearchInput = async (nowModalRef) => {\n\treturn getDomElement('search-input', () =>\n\t\tnowModalRef.querySelector('sn-cx-search-input')\n\t);\n};\n\nexport const getSearchInputDesktop = async (nowModalRef) => {\n\tconst searchInput = await getSearchInput(nowModalRef);\n\n\treturn getDomElement('search-input-desktop', async () =>\n\t\tsearchInput.shadowRoot.querySelector('sn-cx-search-input-desktop')\n\t);\n};\n\nexport const setFocusSearchInput = async (nowModalRef) => {\n\tconst searchInputDesktop = await getSearchInputDesktop(nowModalRef);\n\tsetTimeout(() => {\n\t\tsearchInputDesktop?.shadowRoot?.querySelector('input')?.focus();\n\t}, 200);\n};\n\n/**\n * Get the search input path configuration based on the selected content\n * @param {SelectedContent} selectedContent\n * @param {SearchInputMap[]} searchInputRouteMapping\n * @returns\n */\nexport const getSearchInputPathConfig = (\n\tselectedContent = {},\n\tsearchInputRouteMapping = []\n) => {\n\tconst {route, fields, params} = selectedContent;\n\n\treturn searchInputRouteMapping.find(\n\t\t(map) =>\n\t\t\tmap.path.route === route &&\n\t\t\t(!map.path.fields || isEqual(map.path.fields, fields)) &&\n\t\t\t(!map.path.params || isEqual(map.path.params, params))\n\t);\n};\n\n/**\n * Get the origin element from the search input path configuration\n * @param {SearchInputMap} searchInputPathConfig\n * @param {HTMLElement} parent\n * @returns {Promise<HTMLElement | null>}\n */\nexport const getOriginElementFromPathConfig = async (\n\tsearchInputPathConfig,\n\tparent\n) => {\n\t// if no path is configured, return null\n\tif (!searchInputPathConfig?.path) {\n\t\treturn null;\n\t}\n\n\tconst {fields, route} = searchInputPathConfig.path;\n\n\t// create unique key based on the route and fields\n\tconst fieldsKey = Object.values(fields || {}).join('_');\n\n\t// create a unique key based on the route and fields\n\tconst key = `SEARCH_INPUT_ROUTE_${route}_${fieldsKey}`;\n\n\t// find the search input element based on the search input path config\n\treturn await getDomElement(key, () => {\n\t\t// sometimes when navigation from page to page the sn-canvas-screen gets duplicated, we need fo find the visible reference.\n\t\treturn querySelectorAllDeep(\n\t\t\tsearchInputPathConfig?.selector,\n\t\t\tparent || document\n\t\t).find((element) => element.checkVisibility());\n\t});\n};\n\n/**\n * Get the parent element of the event\n * @param {HTMLElement} parent\n * @param {HTMLElement} target\n * @returns {HTMLElement}\n */\nexport const getEventParentDOMElement = async (parent, target) => {\n\tif (parent) {\n\t\treturn await getDomElement(`EVENT_PARENT_${parent}`, () => {\n\t\t\treturn querySelectorDeep(\n\t\t\t\t`[component-id=\"${parent}-root\"]`,\n\t\t\t\ttarget || document\n\t\t\t);\n\t\t});\n\t}\n};\n\n/***\n * Get the origin element from the event\n * @param {Object} event\n * @param {HTMLElement} event.target\n * @param {HTMLElement} event.parent\n * @param {SearchInputMap[]} event.searchInputPathConfig\n */\nexport async function getOriginElementFromEvent({\n\ttarget,\n\tparent,\n\tsearchInputPathConfig,\n\telementId\n}) {\n\tif (!searchInputPathConfig) {\n\t\treturn null;\n\t}\n\n\t// if event is has a parent defined and a target, use it to find the closest element to origin\n\tconst parentElement = await getEventParentDOMElement(parent, target);\n\n\t// use the search input path config to find the origin element\n\tconst elementFromPath = await getOriginElementFromPathConfig(\n\t\tsearchInputPathConfig,\n\t\tparentElement\n\t);\n\n\tif (!elementFromPath) {\n\t\treturn getOriginElementByElementId({elementId});\n\t}\n\n\treturn elementFromPath;\n}\n\n/**\n * Function to get the element from elementId\n */\n\nexport async function getOriginElementByElementId({elementId}) {\n\tconst key = `EVENT_ELEMENT_ID_${elementId}`;\n\treturn await getDomElement(key, () => {\n\t\treturn querySelectorDeep(`[component-id$=\"${elementId}\"]`, document);\n\t});\n}\n\n/**\n * @description Get the modal document element from the modal dialog.\n * @param {HTMLElement} modalDialog\n * @returns {HTMLElement}\n */\nexport const getModalDocumentFromDialog = async (modalDialog) => {\n\treturn await getDomElement('MODAL_DOCUMENT', () => {\n\t\treturn modalDialog?.firstChild; // get element with role document\n\t});\n};\n\n/**\n * @description Get the modal body element from the modal document.\n * @param {HTMLElement} modalDocument\n * @returns {HTMLElement | undefined}\n */\nexport const getModalBodyFromDocument = async (modalDocument) => {\n\treturn await getDomElement('MODAL_BODY', () => {\n\t\treturn modalDocument?.firstChild; // get element with role body\n\t});\n};\n\n/***\n * @description Set modal dialog styles\n * @param {HTMLElement} modalDialog\n * @param {Object} position\n */\nexport const setModalDialogStyles = async (\n\tmodalDialog,\n\tposition = {},\n\tmediaQuery = {sm: false, md: false, lg: false}\n) => {\n\tif (!modalDialog) {\n\t\treturn;\n\t}\n\n\tconst modalDocument = await getModalDocumentFromDialog(modalDialog);\n\tconst modalBody = await getModalBodyFromDocument(modalDocument);\n\n\t// if it is a small screen, use the fullscreen position\n\tconst defaultModalStyles = mediaQuery.sm\n\t\t? FULLSCREEN_MODAL_STYLES\n\t\t: MODAL_STYLES;\n\n\tconst defaultDocumentStyles = mediaQuery.sm\n\t\t? FULLSCREEN_DOCUMENT_STYLES\n\t\t: DOCUMENT_STYLES;\n\n\tconst modalPosition = {\n\t\t...defaultModalStyles,\n\t\t...(position?.modal || {})\n\t};\n\n\tconst documentPosition = {\n\t\t...defaultDocumentStyles,\n\t\t...(position?.document || {})\n\t};\n\n\tconst bodyPosition = {\n\t\toverflow: 'hidden',\n\t\t...(position?.body || {})\n\t};\n\n\tapplyStyles(modalDialog, modalPosition);\n\n\tif (modalDocument) {\n\t\tapplyStyles(modalDocument, documentPosition);\n\t}\n\n\tif (modalBody) {\n\t\tapplyStyles(modalBody, bodyPosition);\n\t}\n};\n\n/***\n * @description Apply styles to an element from a styles object.\n * @param {HTMLElement} element\n * @param {Object} styles\n * @returns {void}\n * @example applyStyles(document.body, {background: 'red'});\n */\nexport const applyStyles = (element, styles) => {\n\telement.style = {};\n\tObject.keys(styles).forEach((key) => {\n\t\telement.style[key] = styles[key];\n\t});\n};\n\nexport const setModalPosition = (nowModalRef, position = {}) => {\n\tconst {width, top, left} = position;\n\n\tnowModalRef.style.setProperty(\n\t\t'--search-modal-attached-to-element-modal_content-width',\n\t\t`${width}px`\n\t);\n\n\tnowModalRef.style.setProperty(\n\t\t'--search-modal-attached-to-element-modal_content-top',\n\t\t`${top}px`\n\t);\n\n\tnowModalRef.style.setProperty(\n\t\t'--search-modal-attached-to-element-modal_content-left',\n\t\t`${left}px`\n\t);\n};\n\n/**\n * @description Calculate the modal position based on the origin element\n * @param {HTMLElement} modalDialog - the modal dialog element\n * @param {HTMLElement} origin - the element that triggered the modal\n * @param {boolean} ignoreObserver - when true, it means that the observer is already attached\n * @returns {void|undefined}\n */\nexport const calculateModalPosition = (nowModalRef, origin, dispatch) => {\n\t// Add an observer to the element\n\tobserveOrigin(dispatch, origin);\n\n\t// get the position and size of the origin element\n\tsetModalPosition(nowModalRef, origin.getBoundingClientRect());\n};\n\n/**\n * Get origin element from DOM based on the event and search configuration\n * @param {Object} params\n * @param {Object} params.selectedContent\n * @param {SearchConfig} params.searchConfig\n * @param {Object} params.meta\n * @param {string} params.elementId\n * @returns {Promise<HTMLElement | null>}\n */\nexport const getOriginElement = async ({\n\tselectedContent,\n\tsearchConfig,\n\tmeta,\n\telementId\n}) => {\n\tif (!isEmpty(selectedContent)) {\n\t\t// if the action is triggered by a user interaction, we can get the event and path\n\t\tconst searchInputPathConfig = getSearchInputPathConfig(\n\t\t\tselectedContent,\n\t\t\tsearchConfig?.searchInputRouteMap\n\t\t);\n\n\t\tif (searchInputPathConfig) {\n\t\t\tconst originElement = await getOriginElementFromEvent({\n\t\t\t\tmeta,\n\t\t\t\tsearchInputPathConfig,\n\t\t\t\telementId\n\t\t\t});\n\n\t\t\treturn originElement;\n\t\t}\n\t}\n\n\tif (elementId) {\n\t\treturn await getOriginElementByElementId({elementId});\n\t}\n\n\treturn null;\n};\n","/**\n * @description It returns an object with effect and stopPropagation equal true\n * @param {Function} effect\n * @param {Object} extraProperties - extra properties to be added to the object\n * @returns {Object} with effect and stopPropagation property\n */\nexport const coeffectFnWithStopPropagation = (effect, extraProperties = {}) => {\n\treturn {\n\t\teffect,\n\t\tstopPropagation: true,\n\t\t...extraProperties\n\t};\n};\n","export const dispatchNavigationEvent = (dispatch, target) => {\n\tconst NAV_ITEM_SELECTED = 'NAV_ITEM_SELECTED';\n\tdispatch(NAV_ITEM_SELECTED, {...target});\n};\n","import isEmpty from 'lodash/isEmpty';\nimport {findActiveUtilityMenu} from './findActiveUtilityMenu';\n\nexport function determineHideFooter(selectedContent, utilityMenuItems) {\n\tif (isEmpty(selectedContent)) {\n\t\treturn false;\n\t}\n\tconst matchingItem = findActiveUtilityMenu(\n\t\tselectedContent.route,\n\t\tutilityMenuItems\n\t);\n\treturn matchingItem && matchingItem.buttonConfig\n\t\t? matchingItem.buttonConfig.hide_footer\n\t\t: false;\n}\n","/// Miscelanous utility functions\nimport {declarativeOperations} from '@servicenow/ui-core';\n\n/**\n * Update state declaratively\n * @param {function} updateState - updateState function\n * @param {object} args - object with path as key and value as value\n * @param {object} params - object with params to override the updateState operation\n * @returns {void}\n */\nexport const declarativeStateUpdate = (updateState, args, params = {}) => {\n\tconst keys = Object.keys(args);\n\n\tconst operations = keys.map((path) => ({\n\t\t...params,\n\t\tpath,\n\t\tvalue: args[path],\n\t\toperation: params.operation || declarativeOperations.SET,\n\t\tshouldRender: params.shouldRender || true\n\t}));\n\n\tupdateState(operations);\n};\n","import get from 'lodash/get';\n\n/**\n * Helper function to get system properties from uxGlobals.\n * @param {Object} uxGlobals - The global object containing system properties.\n * @param {string} propName - The name of the property to retrieve.\n * @returns {string} - The value of the specified property or an empty string if not found.\n */\nexport const getSysProps = (uxGlobals, propName) => {\n\treturn get(uxGlobals, ['sysprops', propName], '');\n};\n/**\n * Converts a string to sentence case, capitalizing the first letter of each sentence.\n *\n * @param {string} str - The string to convert.\n * @returns {string} The converted string in sentence case.\n */\nexport function toSentenceCase(str) {\n\treturn str.toLowerCase().replace(/(^\\s*\\w|[.!?]\\s*\\w)/g, function(c) {\n\t\treturn c.toUpperCase();\n\t});\n}\n","import {t} from 'sn-translate';\n\nexport const SYS_PROPS = {\n\t// The name of the instance (e.g., \"home\", \"homedev\", \"homedemo\")\n\tINSTANCE_NAME: 'instance_name',\n\tUI: {\n\t\tPRESENCE_DISABLED: 'glide.ui.presence.disabled'\n\t}\n};\n\nexport const USER_MENU_ID = 'cx-user-menu';\n\nexport const BUTTON_ACTIONS = {\n\tBELL_CLICKED: 'BELL#CLICKED',\n\tNOTIFICATION_TRIGGERED: 'NOTIFICATION_TRIGGERED'\n};\n\nexport const USER_MENU_HEADER_TEXT = t('User');\n\nexport const SEARCH_DEFAULT_NOW_ICON = 'document-outline';\n\nexport const adobeActions = {\n\tEVENT: 'event',\n\tPAGE: 'page'\n};\n\nexport const adobeActionTypes = {\n\tCLICK: 'click',\n\tSEARCH: 'search',\n\tSEARCH_RESULT_CLICK: 'search_result_click'\n};\n\nexport const adobeActionPayloadValues = {\n\tSEARCH_RESULTS_PAGE_AREA: 'body',\n\tSEARCH_RESULTS_COMPONENT_NAME: 'sn-cx-search-results',\n\tNAVCARD_COMPONENT_NAME: 'navigational card',\n\tGENIUSCARD_COMPONENT_NAME: 'genius card',\n\tALL_FILTERS_SECTION: 'search-results-flyout-filters',\n\tMORE_RESULTS_SECTION: 'search-results-more',\n\tSEARCH_RESULT_CARD_SECTION: 'now-card-template',\n\tSEARCH_RESULT_INPUT_FIELD: 'search result',\n\tNO_TITLE_SECTION: 'no title'\n};\n","// functions to handle search config shared by search-modal and search-results components\nimport ns_icon from './../components/sn-cx-search-results/assets/ns_favico.png';\n\nimport {SEARCH_DEFAULT_NOW_ICON} from '../constants';\n\n/**\n * Returns the object with default icon configuration\n * @returns {Object} default icon configuration\n */\nexport const getDefaultIconConfig = () => {\n\treturn {\n\t\tbrand: ns_icon,\n\t\tnow: SEARCH_DEFAULT_NOW_ICON\n\t};\n};\n\nexport const getSourceIconConfig = (\n\tsource,\n\tsourceIcons = {},\n\tuseDefault = true\n) => {\n\tif (!source || source === 'undefined') {\n\t\treturn useDefault ? getDefaultIconConfig() : false;\n\t}\n\n\tif (sourceIcons[source]) {\n\t\treturn sourceIcons[source];\n\t}\n\n\t// if source is not found, try to convert it to lower case\n\tconst lowerCaseSource = String(source).toLowerCase();\n\n\t// if searchConfig has a lower case icon, use it\n\tif (sourceIcons[lowerCaseSource]) {\n\t\treturn sourceIcons[lowerCaseSource];\n\t}\n\n\t// if source is not found, try to convert it to snake case\n\tconst snakeCaseSource = lowerCaseSource.replace(/[^0-9a-z]/g, '_');\n\n\t// if searchConfig has a snake case icon, use it\n\tif (sourceIcons[snakeCaseSource]) {\n\t\treturn sourceIcons[snakeCaseSource];\n\t}\n\n\t// if searchConfig has a default icon, use it\n\tif (sourceIcons.default) {\n\t\treturn sourceIcons.default;\n\t}\n\n\t// if no icon is found, return default icon\n\treturn useDefault ? getDefaultIconConfig() : null;\n};\n\n// Utility function for determining icon source\nexport const getBrandIcon = (source, sourceIcons = {}, useDefault = true) => {\n\treturn getSourceIconConfig(source, sourceIcons, useDefault)?.brand;\n};\n\n// Utility function for determining icon source\nexport const getNowIcon = (source, sourceIcons = {}, useDefault = true) => {\n\treturn getSourceIconConfig(source, sourceIcons, useDefault)?.now;\n};\n","import isEqual from 'lodash/isEqual';\nimport {declarativeStateUpdate} from 'sn-cx-components/src/utils';\nimport {setModalPosition} from '../utils';\n\nexport function onWindowResizeEffect({\n\tstate: {nowModalRef, opened, attachToElement, elementPosition = {}},\n\tupdateState\n}) {\n\tif (attachToElement && opened) {\n\t\tconst currentPosition = attachToElement.getBoundingClientRect();\n\t\tif (!isEqual(elementPosition, currentPosition)) {\n\t\t\tdeclarativeStateUpdate(updateState, {\n\t\t\t\telementPosition: currentPosition\n\t\t\t});\n\t\t\tsetModalPosition(nowModalRef, currentPosition);\n\t\t}\n\t}\n}\n","import {SEARCH_TOGGLED_INTERNAL} from '../actions';\n\n/**\n * WHen a page changes and the search modal is open, close it.\n * This is to ensure that the search modal does not remain open when navigating\n * to a different page or screen.\n * @param {Object} coeffects\n */\nexport function onScreenSwitchRequestedEffect({state: {opened}, dispatch}) {\n\tif (opened) {\n\t\tdispatch(SEARCH_TOGGLED_INTERNAL, {opened: false});\n\t}\n}\n","import {declarativeStateUpdate} from '../../../utils';\n\nexport const setNowModalRefEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {nowModalRef}\n\t\t},\n\t\tupdateState\n\t} = coeffects;\n\n\tdeclarativeStateUpdate(updateState, {nowModalRef});\n};\n","import {setModalListeners} from '../utils';\n\nexport const onComponentBootstrapped = ({dispatch}) => {\n\tsetModalListeners(dispatch);\n};\n","import {actionTypes} from '@servicenow/ui-core';\nimport {\n\tCOMBOBOX_NAVIGATION_EXECUTED,\n\tCOMBOBOX_SEARCH_EXECUTED,\n\tDOCUMENT_FREEZE_REQUESTED,\n\tNOW_BUTTON_BARE_CLICKED,\n\tOVERLAY_CLICKED,\n\tOVERLAY_OVERED,\n\tSEARCH_BACK,\n\tSEARCH_CLOSED,\n\tSEARCH_NAVIGATION_EXECUTED,\n\tSEARCH_OPENED,\n\tSEARCH_SEARCH_EXECUTED,\n\tSEARCH_TOGGLED,\n\tSEARCH_TOGGLED_INTERNAL,\n\tSET_NOW_MODAL_REF,\n\tSIGNIN_BUTTON_CLICKED,\n\tSIGNIN_BUTTON_CLICKED_INITIATED,\n\tWINDOW_RESIZED,\n\tUPDATE_SEARCH_CACHE,\n\tSET_INPUT_ELEMENT,\n\tUPDATE_SEARCH_INPUT_CACHE\n} from './actions';\nimport {\n\tcalculateModalPosition,\n\tgetOriginElement,\n\tsetFocusSearchInput\n} from './utils';\nimport {getSearchConfiguration} from '../../utils';\nimport {SERVICENOW_HOMEPAGE_URL} from './constants';\nimport {declarativeStateUpdate} from 'sn-cx-components/src/utils';\nimport {onWindowResizeEffect, setNowModalRefEffect} from './effects/index';\nimport {onComponentBootstrapped} from './effects/onComponentBootstrapped';\nimport {observeOrigin} from './utils/observeOrigin';\n\nconst {COMPONENT_PROPERTY_CHANGED, COMPONENT_BOOTSTRAPPED} = actionTypes;\n\nconst searchClosedEffect = ({action: {payload}, dispatch}) => {\n\tdispatch(SEARCH_TOGGLED, {...payload, opened: false});\n};\n/**\n *\n * @param {Object} coeffects\n * @param {Object} coeffects.state\n * @param {Object} coeffects.state.properties\n * @param {Object} coeffects.state.properties.selectedContent\n * @param {SearchConfig} coeffects.state.properties.searchConfig\n */\nconst handleSearchToggledEffect = async (coeffects) => {\n\tconst {\n\t\taction,\n\t\tupdateState,\n\t\tdispatch,\n\t\tstate: {\n\t\t\topened: currentOpenedState,\n\t\t\tproperties: {selectedContent = {}, searchConfig = {}}\n\t\t}\n\t} = coeffects;\n\n\tconst {meta, payload} = action;\n\n\tconst {\n\t\topened = false,\n\t\tterm = '',\n\t\tattachToNavigation = false,\n\t\tapplyFilters = false,\n\t\tfilters = '',\n\t\tsource = null,\n\t\telementId = null\n\t} = payload;\n\n\tconst newState = {\n\t\tsearchTerm: term,\n\t\t// if nav is currently opened and we are opening it again, toggle it\n\t\topened:\n\t\t\tcurrentOpenedState && currentOpenedState === opened\n\t\t\t\t? !currentOpenedState\n\t\t\t\t: opened,\n\t\tapplyFilters,\n\t\tfilters,\n\t\tsource\n\t};\n\n\t// only if opening is passed update it on the state\n\tif (opened) {\n\t\tnewState.attachToNavigation = attachToNavigation;\n\t\tnewState.attachToElement = null;\n\t}\n\n\tif (opened && !attachToNavigation) {\n\t\t// get searchconfig from experience page properties\n\t\tconst searchConfigFromContext = getSearchConfiguration(\n\t\t\tselectedContent,\n\t\t\tsearchConfig\n\t\t);\n\n\t\tnewState.elementPosition = {}; // reset the element last position\n\t\tnewState.attachToElement = await getOriginElement({\n\t\t\tselectedContent,\n\t\t\tsearchConfig: searchConfigFromContext,\n\t\t\tmeta,\n\t\t\telementId\n\t\t});\n\t}\n\n\tdeclarativeStateUpdate(updateState, newState);\n\n\tif (newState.opened) {\n\t\tdispatch(SEARCH_OPENED, payload);\n\t} else {\n\t\t// remove the observers\n\t\tobserveOrigin(dispatch);\n\t}\n\n\tdispatch(DOCUMENT_FREEZE_REQUESTED, {\n\t\tisMegaMenuExpanded: !!(newState.attachToNavigation && newState.opened)\n\t});\n};\n\n// this function is called when user clicks on search input\nconst handleOpenedSearch = async (coeffects) => {\n\tconst {\n\t\tstate: {nowModalRef, attachToNavigation, attachToElement},\n\t\tdispatch\n\t} = coeffects;\n\n\tif (!nowModalRef) {\n\t\treturn;\n\t}\n\t// If an element to attach was found.\n\tif (!attachToNavigation && attachToElement) {\n\t\t// attach an observer and set initial position\n\t\tcalculateModalPosition(nowModalRef, attachToElement, dispatch);\n\t}\n\n\tsetFocusSearchInput(nowModalRef);\n};\n\nconst searchBackEffect = () => {\n\twindow.location.href = SERVICENOW_HOMEPAGE_URL;\n};\n\nconst handleButtonBareClicked = (coeffects) => {\n\tconst {\n\t\taction: {payload},\n\t\tdispatch\n\t} = coeffects;\n\n\tif (payload?.action) {\n\t\tdispatch(payload.action, payload);\n\t}\n};\n\nconst componentPropertyChangedEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {name, previousValue, value}\n\t\t},\n\t\tupdateState\n\t} = coeffects;\n\n\tconst hasChanged = value !== previousValue;\n\n\tif (name === 'navTopOverlayOffset' && hasChanged) {\n\t\tupdateState({\n\t\t\tnavTopOverlayOffset: value\n\t\t});\n\t}\n};\n\nexport const overlayOveredEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {eventTarget}\n\t\t},\n\t\tstate: {opened, attachToNavigation},\n\t\tdispatch\n\t} = coeffects;\n\tif (\n\t\teventTarget?.classList.contains('sn-cx-search-modal') &&\n\t\topened &&\n\t\tattachToNavigation\n\t) {\n\t\tdispatch(SEARCH_CLOSED);\n\t}\n};\n\nconst udpateCacheEffect = (coeffects) => {\n\tconst {state} = coeffects;\n\tconst {inputElement} = state;\n\tinputElement.elm.dispatch(UPDATE_SEARCH_INPUT_CACHE);\n};\n\nconst setInputElement = (coeffects) => {\n\tconst {updateState, action} = coeffects;\n\tupdateState({inputElement: action.payload});\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: onComponentBootstrapped,\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: componentPropertyChangedEffect,\n\t\tstopPropagation: true\n\t},\n\t[SEARCH_TOGGLED]: {\n\t\teffect: handleSearchToggledEffect\n\t},\n\t[SEARCH_TOGGLED_INTERNAL]: {\n\t\teffect: searchClosedEffect,\n\t\tstopPropagation: true\n\t},\n\t[COMBOBOX_NAVIGATION_EXECUTED]: {\n\t\teffect({action: {payload}, dispatch}) {\n\t\t\tdispatch(SEARCH_NAVIGATION_EXECUTED, payload);\n\t\t\tdispatch(SEARCH_TOGGLED_INTERNAL, {opened: false});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[COMBOBOX_SEARCH_EXECUTED]: {\n\t\teffect({action: {payload}, dispatch}) {\n\t\t\tdispatch(SEARCH_SEARCH_EXECUTED, payload);\n\t\t\tdispatch(SEARCH_TOGGLED_INTERNAL, {opened: false});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SET_NOW_MODAL_REF]: {\n\t\teffect: setNowModalRefEffect,\n\t\tstopPropagation: true\n\t},\n\t[NOW_BUTTON_BARE_CLICKED]: {\n\t\teffect: handleButtonBareClicked,\n\t\tstopPropagation: true\n\t},\n\t[SEARCH_BACK]: {\n\t\teffect: searchBackEffect\n\t},\n\t[SEARCH_CLOSED]: searchClosedEffect,\n\t[SEARCH_OPENED]: {\n\t\teffect: handleOpenedSearch,\n\t\tstopPropagation: true\n\t},\n\t[OVERLAY_CLICKED]: {\n\t\teffect: searchClosedEffect,\n\t\tstopPropagation: true\n\t},\n\t[OVERLAY_OVERED]: {\n\t\teffect: overlayOveredEffect,\n\t\tstopPropagation: true\n\t},\n\t[SIGNIN_BUTTON_CLICKED_INITIATED]: {\n\t\teffect({action: {payload}, dispatch}) {\n\t\t\tdispatch(SIGNIN_BUTTON_CLICKED, payload);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[WINDOW_RESIZED]: {\n\t\teffect: onWindowResizeEffect,\n\t\tstopPropagation: true,\n\t\tmodifier: {\n\t\t\tname: `debounce`,\n\t\t\tdelay: 10\n\t\t}\n\t},\n\t[UPDATE_SEARCH_CACHE]: {\n\t\teffect: udpateCacheEffect,\n\t\tstopPropagation: true\n\t},\n\t[SET_INPUT_ELEMENT]: {\n\t\teffect: setInputElement,\n\t\tstopPropagation: true\n\t}\n};\n","import {querySelectorAllDeep} from '../../utils/index.js';\nimport {SEARCH_CLOSED} from './actions.js';\nimport {findShadowActiveElement} from './utils';\n/**\n * Return the event handlers for the search modal\n * @documentation https://developer.servicenow.com/dev.do#!/reference/next-experience/xanadu/ui-framework/now-experience-ui-framework-101/event-handlers\n */\nconst eventHandlers = [\n\t{\n\t\tevents: ['keydown'],\n\t\t/**\n\t\t * Handle the tab key press event to focus the next focusable element\n\t\t * @param {Object} coeffects\n\t\t * @returns\n\t\t */\n\t\teffect({\n\t\t\tstate: {opened},\n\t\t\taction: {\n\t\t\t\tpayload: {event, host}\n\t\t\t}\n\t\t}) {\n\t\t\tif (event.code !== 'Tab' || !opened) return;\n\n\t\t\tconst previousElement = findShadowActiveElement(host);\n\n\t\t\t// Wait the next tick to check what element was focused\n\t\t\tsetTimeout(function() {\n\t\t\t\t// get current active element\n\t\t\t\tconst activeElement = findShadowActiveElement(host);\n\n\t\t\t\t// Get all focusable elements\n\t\t\t\tconst focusableElements = querySelectorAllDeep(\n\t\t\t\t\t'input, button, li, [tabindex]',\n\t\t\t\t\thost\n\t\t\t\t).filter((element) => element.getAttribute('tabindex') >= 0);\n\n\t\t\t\t// get the index of the active element\n\t\t\t\tconst activeElementIdx = focusableElements.findIndex(\n\t\t\t\t\t(element) => element === activeElement\n\t\t\t\t);\n\n\t\t\t\t// get the index of the previous element\n\t\t\t\tconst previousElementIdx = focusableElements.findIndex(\n\t\t\t\t\t(element) => element === previousElement\n\t\t\t\t);\n\n\t\t\t\t// if previous element is inside of the modal, find the next element\n\t\t\t\tconst nextElement = event.shiftKey\n\t\t\t\t\t? focusableElements[\n\t\t\t\t\t\t\tpreviousElementIdx > 0\n\t\t\t\t\t\t\t\t? previousElementIdx - 1\n\t\t\t\t\t\t\t\t: focusableElements.length - 1\n\t\t\t\t\t  ]\n\t\t\t\t\t: focusableElements[previousElementIdx + 1];\n\n\t\t\t\t// if current active element is not a focusable element inside of the modal try go to the next or first element\n\t\t\t\tif (\n\t\t\t\t\t(activeElementIdx === -1 &&\n\t\t\t\t\t\tactiveElementIdx !== previousElementIdx) ||\n\t\t\t\t\tactiveElementIdx === previousElementIdx\n\t\t\t\t) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif (nextElement) nextElement.focus();\n\t\t\t\t\telse focusableElements[0].focus();\n\t\t\t\t} else if (activeElementIdx === -1) {\n\t\t\t\t\tfocusableElements[0].focus();\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\ttarget: document.body,\n\t\tuseCapture: true\n\t},\n\t{\n\t\tevents: ['click', 'keydown'],\n\t\ttarget: document.body,\n\t\ttimerId: null,\n\t\teffect({\n\t\t\tstate: {opened, attachToNavigation},\n\t\t\taction: {\n\t\t\t\tpayload: {event}\n\t\t\t},\n\t\t\tdispatch\n\t\t}) {\n\t\t\tif (!opened || !attachToNavigation) return;\n\n\t\t\tconst isClick = event.type === 'click';\n\t\t\tconst isEscape = event.type === 'keydown' && event.key === 'Escape'; // Debounce clicks to avoid rapid close/reopen\n\n\t\t\tconst isInsideSearchModal = event\n\t\t\t\t.composedPath()\n\t\t\t\t.some((el) => el.tagName?.toLowerCase() === 'sn-cx-search-modal');\n\n\t\t\tif (isClick) {\n\t\t\t\tclearTimeout(this.timerId);\n\t\t\t\tthis.timerId = setTimeout(() => {\n\t\t\t\t\tif (!isInsideSearchModal) {\n\t\t\t\t\t\tdispatch(SEARCH_CLOSED);\n\t\t\t\t\t}\n\t\t\t\t}, 100); // debounce delay (ms)\n\t\t\t}\n\n\t\t\t// Escape key closes the modal\n\t\t\tif (isEscape) {\n\t\t\t\tdispatch(SEARCH_CLOSED, {isEscaped: true});\n\t\t\t}\n\t\t}\n\t}\n];\n\nexport default eventHandlers;\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport mediaQueryBehavior from '@servicenow/behavior-media-query';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport {view} from './view';\nimport {actionHandlers} from './effects';\nimport {SEARCH_TOGGLED} from './actions';\nimport searchModalStyles from './styles.scss';\nimport eventHandlers from './events';\nimport {getSearchConfiguration} from '../../utils';\n\n/**\n * @class sn-cx-search-modal\n * @seismicElement sn-cx-search-modal\n * @summary Used by sn-cx-layout to render and manage the search modal state and positioning. An experience that load the search modal is expected\n * to have a Page Property (sys_ux_page_property) with the name \"search_configuration\" containing a JSON using the SearchConfig schema.\n *\n *\n * @property {SearchConfig} searchConfig Used to determine default values and navigation configuration. Value is passed to the search input component.\n *\n * @seismicEvent SN_CX_SEARCH_MODAL#TOGGLED - Triggered whenever the opened state of the search modal changes.\n * @seismicEvent SN_CX_SEARCH_MODAL#SEARCH_CLOSED - Triggered whenever the search modal is closed\n * @seismicEvent SN_CX_SEARCH_MODAL#SEARCH_EXECUTED - Triggered whenever the user click on a search suggestion.\n * @seismicEvent SN_CX_SEARCH_MODAL#BACK_BUTTON_CLICKED - Triggered whenever the user click on the Servicenow logo.\n *\n *\n * @example\n * ```jsx\n * <sn-cx-search-modal\n * \topened={opened}\n * \tsearchTerm={searchTerm}\n * \tsearchConfig={searchConfig}\n * \tisLoggedIn={isLoggedIn}\n * />\n * ```\n *\n * @example  of a valid position json\n * ```json\n * {\n *  searchConfig: {\n *\t\tsearchRoute: 'search',\n *\t\tsearchContextConfigId: '713e3a53fbe6d6107f58fe638eefdc55',\n *\t\t\"searchInputRouteMap\": [\n *\t\t\t{\n *\t\t\t\t\"selector\": \"#item-search_input_card_base_container\",\n *\t\t\t\t\"path\": {\n *\t\t\t\t\t\"route\": \"my-home\",\n *\t\t\t\t\t\"fields\": {\n *\t\t\t\t\t\t\"page\": \"home\"\n *\t\t\t\t\t}\n *\t\t\t\t}\n *\t\t\t}\n *\t\t]\n *  }\n * }\n * ```\n **/\n\n/**\n * Provide environment configurations that helps determine search and modal behavior.\n * @typedef {Object} SearchConfig\n * @property {string} searchContextConfigId The default search context usign to load suggestions\n * @property {string} searchRoute The current route URL for the search results page. The search results page is expected to have one required parameter for term.\n * @property {UFXRoute} searchRouteConfig The route configuration to be used whenever the user click on a search term suggestion.\n * @property {boolean} emitNavItemSelected Whenever the user clicks on a search suggestions it will emit the NAV_ITEM_SELECTED event. Otherwise expects the parent components to handle the SN_SEARCH_COMBOBOX#SEARCH_EXECUTED event.\n * @property {Array<string>} contentLinkColumns What is the URL field for all tables added to the Search Application. Only required when using the emitNavItemSelected as true, the search will look for all columns listed to find the URL to open the search suggestion.\n * @property {SearchInputMap[]} searchInputRouteMap The route map to find the search input element. Used to calculate the size of the modal.\n * @property {SignalContextMap} signalContextMap The signal context map to the search context. Refer to the search results documentation to learn more.\n * @property {SearchFilterMap} searchFiltersMap The map of the search application tabs and facets to be converted into user friend URL filters. Refer to search results documentation to learn more.\n * @property {SearchFieldMap} searchFieldsMap The map of tables from the search application and fields to be used as version, source and url. Refer to the search results documentation to learn more.\n * @property {Object} requestFields The map of fields to be requested for each table. Is used to build the search results graphql query. Please refer to the search results documentation to learn more.\n * @property {Object} sourceIcons The map of icons to be used based on the search source. Please refer to the search results documentation to learn more.\n ***/\n\n/**\n * OOB UFX Route object\n * @typedef {Object} UFXRoute\n * @property {Object} context\n * @property {Object} route\n * @property {Object} fields\n * @property {Object} params\n *\n * Ex:\n * ```json\n * {\n *   \"context\": {\n *     \"path\": \"now/mynow\",\n *     \"experienceName\": \"MyNow\"\n *   },\n *   \"route\": \"search\",\n *   \"fields\": {\n *     \"term\": \"{searchTerm}\"\n *   },\n *   \"params\": {\n *     \"source\": \"global\",\n *     \"filters\": \"\"\n *   }\n * }\n * ```\n */\n\n/**\n * The map configuration for the route\n * @typedef {Object} SearchInputMapPath\n * @property {string} route The route name\n * @property {Object<string, string>} fields The object with the mandatory query params for your route\n */\n\n/**\n * The route map to find the search input element. Used to calculate the size and position of the modal search modal whenever its attached to the element.\n * @typedef {Object} SearchInputMap\n * @property {string} selector The querySelector path to find the search input.\n * @property {SearchInputMapPath} path The object with route and fields where the field for the element should be found.\n */\n\n/**\n * The payload expected by the TOGGLED event. When the search modal is requested by the navigation or a search input on a UFX Page it\n * is expected that a parent component will listen to a EVENT and delegate the TOGGLE event to the search-modal to close and open the modal.\n * @typedef {Object} SearchToggledPayload\n * @property {boolean} opened When true its it will toggle the search modal and when its false it will close the search-modal.\n * @property {string} term The search term to be used when the search modal is opened.\n * @property {boolean} attachToNavigation When true the search suggestions will be attached to the L1 element of the navigation.\n * @property {boolean} applyFilters When true, it will add filters to the search router when the user clicks on a search suggestion.\n * @property {string} filters It add to the filter on the searchRoute configuration inside of the SearchConfig properties.\n */\ncreateCustomElement('sn-cx-search-modal', {\n\trenderer: {type: snabbdom},\n\tview,\n\tstyles: `${searchModalStyles}`,\n\tproperties: {\n\t\t/**\n\t\t * The page property for the search config object\n\t\t * @type {SearchConfig}\n\t\t */\n\t\tsearchConfig: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The OOB Seismic selectedContent object. It's required whenever you navigate between\n\t\t * multiple experiences. The component will use the selected content to get the right\n\t\t * search configuration based on the experience.\n\t\t * @type {Object}\n\t\t */\n\t\tselectedContent: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The navigation L0 offset, it will set the top position of the modal when attached\n\t\t * to the navigation.\n\t\t *\n\t\t * SN CX Layout -> Observe L1 Position, when changes, it update the search modal property.\n\t\t * @type {Number}\n\t\t */\n\t\tnavTopOverlayOffset: {\n\t\t\tdefault: 0,\n\t\t\tschema: {\n\t\t\t\ttype: 'number'\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Is User Logged In.\n\t\t * @type {boolean}\n\t\t */\n\t\tisLoggedIn: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tsearchContextConfigId: {\n\t\t\tcomputed({properties: {isLoggedIn, searchConfig, selectedContent}}) {\n\t\t\t\t// If a user changes the experience it will get the searchConfig for the respective experience\n\t\t\t\tconst searchConfigFromContext = getSearchConfiguration(\n\t\t\t\t\tselectedContent,\n\t\t\t\t\tsearchConfig\n\t\t\t\t);\n\n\t\t\t\tif (isLoggedIn) {\n\t\t\t\t\treturn searchConfigFromContext?.searchContextConfigId || '';\n\t\t\t\t} else {\n\t\t\t\t\treturn (\n\t\t\t\t\t\tsearchConfigFromContext?.searchContextConfigId_public ||\n\t\t\t\t\t\tsearchConfigFromContext?.searchContextConfigId ||\n\t\t\t\t\t\t''\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tenableExactMatch: {\n\t\t\tcomputed({properties: {searchConfig, selectedContent}}) {\n\t\t\t\t// If a user changes the experience it will get the searchConfig for the respective experience\n\t\t\t\tconst searchConfigFromContext = getSearchConfiguration(\n\t\t\t\t\tselectedContent,\n\t\t\t\t\tsearchConfig\n\t\t\t\t);\n\n\t\t\t\t// Default to true unless explicitly set to false in searchConfig\n\t\t\t\treturn searchConfigFromContext?.enableExactMatch !== false;\n\t\t\t}\n\t\t}\n\t},\n\tbehaviors: [\n\t\t{behavior: rtlBehavior},\n\t\t{\n\t\t\tbehavior: mediaQueryBehavior,\n\t\t\toptions: {\n\t\t\t\tsm: '(min-width: 576px)',\n\t\t\t\tmd: '(min-width: 768px)',\n\t\t\t\tlg: '(min-width: 1024px)',\n\t\t\t\txl: '(min-width: 1366px)',\n\t\t\t\txxl: '(min-width: 1680px)'\n\t\t\t}\n\t\t}\n\t],\n\tinitialState: {\n\t\topened: false,\n\t\tsearchTerm: '',\n\t\tattachToNavigation: false,\n\t\tnowModalRef: null,\n\t\tapplyFilters: false,\n\t\tfilters: '',\n\t\tnavTopOverlayOffset: 0,\n\t\tsource: null\n\t},\n\tactionHandlers,\n\teventHandlers,\n\tdispatches: {\n\t\t[SEARCH_TOGGLED]: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\topened: {type: 'boolean'},\n\t\t\t\t\tsearchTerm: {type: 'string'}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Action dispatched whenever a user click on a search suggestion or executes a search.\n\t\t * @type {{searchTerm: string, searchConfig: SearchConfig, source: string}}\n\t\t */\n\t\t['SN_CX_SEARCH_MODAL#SEARCH_EXECUTED']: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tsearchTerm: {type: 'string'},\n\t\t\t\t\tsearchConfig: {type: 'object'},\n\t\t\t\t\tsource: {type: 'string'}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n});\n","export const attachClickListener = (element) => {\n\tif (element?.addEventListener) {\n\t\telement.addEventListener('click', handleBreadCrumbClick);\n\t}\n};\n\nconst handleBreadCrumbClick = (event) => {\n\tconst anchor = event.target.closest('a.now-breadcrumbs-item');\n\tif (anchor) {\n\t\tevent.preventDefault();\n\t}\n};\n","import {attachClickListener} from './utils/attachClickListener';\nexport const view = (state) =>\n\tstate.shouldRender ? (\n\t\t<div className=\"sn-cx-breadcrumbs\">\n\t\t\t<now-breadcrumbs\n\t\t\t\titems={state.items}\n\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\tattachClickListener(elm.shadowRoot);\n\t\t\t\t}}\n\t\t\t/>\n\t\t</div>\n\t) : null;\n","export const dispatchNavigationEvent = (dispatch, target) => {\n\tconst NAV_ITEM_SELECTED = 'NAV_ITEM_SELECTED';\n\tdispatch(NAV_ITEM_SELECTED, {...target});\n};\n","export const updateItems = (items, currentItem, updateState) => {\n\tconst currentItemIdx = items.findIndex(\n\t\t(item) => item.screenId === currentItem.screenId\n\t);\n\tif (currentItemIdx == -1) items.push(currentItem);\n\telse {\n\t\titems[currentItemIdx] = currentItem;\n\t\titems.length = currentItemIdx + 1;\n\t}\n\tupdateState([\n\t\t{\n\t\t\tpath: 'items',\n\t\t\tvalue: items,\n\t\t\toperation: 'set'\n\t\t},\n\t\t{\n\t\t\tpath: 'shouldRender',\n\t\t\tvalue: true,\n\t\t\toperation: 'set'\n\t\t}\n\t]);\n};\n","import cloneDeep from 'lodash/cloneDeep';\nimport {dispatchNavigationEvent} from './dispatchNavigationEvent';\nimport {updateItems} from './updateItems';\nexport const handleItemClick = (coeffects) => {\n\tconst {\n\t\tstate,\n\t\taction: {\n\t\t\tpayload: {item}\n\t\t},\n\t\tupdateState,\n\t\tdispatch\n\t} = coeffects;\n\tconst items = cloneDeep(state.items);\n\tconst currentItem = item;\n\tupdateItems(items, currentItem, updateState);\n\tdispatchNavigationEvent(dispatch, currentItem.routeConfig);\n};\n","export const NOW_BREADCRUMBS_ITEM_CLICKED = 'NOW_BREADCRUMBS#ITEM_CLICKED';\nexport const SN_CX_BREADCRUMBS_ITEM_DATA_UPDATED =\n\t'SN_CX_BREADCRUMBS#ITEM_DATA_UPDATED';\nexport const SN_CX_BREADCRUMBS_RENDER_REQUESTED =\n\t'SN_CX_BREADCRUMBS#RENDER_REQUESTED';\n","import unifiedCache from '@devsnc/library-unified-cache';\n\nexport const breadcrumbsDataCache = unifiedCache.createInstance({\n\tadapter: ['inMemory'],\n\tname: 'breadcrumbsDataCache',\n\tdescription: `breadcrumbs' data in memory cache`\n});\n","import {breadcrumbsDataCache} from './cache';\nimport {SN_CX_BREADCRUMBS_RENDER_REQUESTED} from '../actions';\n\nexport const cacheItems = (coeffects) => {\n\tconst {\n\t\taction: {payload},\n\t\tdispatch,\n\t\tstate: {activeScreenId}\n\t} = coeffects;\n\tconst {screenId, icon, label, href, rootScreenId} = payload;\n\n\tif (!screenId || !label || !rootScreenId) return;\n\n\tbreadcrumbsDataCache.setItem(screenId, {\n\t\ticon: icon,\n\t\tlabel: label,\n\t\trootScreenId: rootScreenId,\n\t\thref: href\n\t});\n\n\tif (activeScreenId === screenId)\n\t\tdispatch(SN_CX_BREADCRUMBS_RENDER_REQUESTED, {\n\t\t\tactiveScreenId: screenId\n\t\t});\n};\n","import cloneDeep from 'lodash/cloneDeep';\nimport isEmpty from 'lodash/isEmpty';\nimport {updateItems} from './updateItems';\nimport {breadcrumbsDataCache} from './cache';\n\nexport const populateCurrentItem = async (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\tstate: {\n\t\t\tproperties: {selectedContent, rootItem},\n\t\t\titems\n\t\t},\n\t\taction: {\n\t\t\tpayload: {activeScreenId}\n\t\t}\n\t} = coeffects;\n\n\tconst cachedItemData = await breadcrumbsDataCache.getItem(activeScreenId);\n\tif (isEmpty(cachedItemData)) {\n\t\tupdateState({\n\t\t\tpath: 'shouldRender',\n\t\t\tvalue: false,\n\t\t\toperation: 'set'\n\t\t});\n\t\treturn;\n\t}\n\tconst itemsClone = cloneDeep(items);\n\tconst {label, rootScreenId, icon, href} = cachedItemData;\n\n\tif (!label || !rootScreenId) return;\n\n\tconst currentItem = {\n\t\tscreenId: activeScreenId,\n\t\thref: href,\n\t\trouteConfig: (({route, fields, params}) => ({\n\t\t\troute,\n\t\t\tfields,\n\t\t\tparams\n\t\t}))(selectedContent),\n\t\ticon: icon,\n\t\tlabel: label,\n\t\trootScreenId: rootScreenId\n\t};\n\n\tif (isEmpty(itemsClone) && !isEmpty(rootItem)) {\n\t\tif (rootItem.screenId === currentItem.screenId)\n\t\t\titemsClone.push(currentItem);\n\t\telse itemsClone.push(rootItem, currentItem);\n\t}\n\tupdateItems(itemsClone, currentItem, updateState);\n};\n","import {handleItemClick} from './utils/handleItemClick';\nimport {\n\tNOW_BREADCRUMBS_ITEM_CLICKED,\n\tSN_CX_BREADCRUMBS_ITEM_DATA_UPDATED,\n\tSN_CX_BREADCRUMBS_RENDER_REQUESTED\n} from './actions';\nimport {cacheItems} from './utils/cacheItems';\nimport {populateCurrentItem} from './utils/populateCurrentItem';\n\nexport const actionHandlers = {\n\t[NOW_BREADCRUMBS_ITEM_CLICKED]: (coeffects) => {\n\t\thandleItemClick(coeffects);\n\t},\n\t[SN_CX_BREADCRUMBS_RENDER_REQUESTED]: {\n\t\teffect: (coeffects) => {\n\t\t\tconst {\n\t\t\t\tupdateState,\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {activeScreenId}\n\t\t\t\t}\n\t\t\t} = coeffects;\n\t\t\tupdateState({\n\t\t\t\tpath: 'activeScreenId',\n\t\t\t\tvalue: activeScreenId,\n\t\t\t\toperation: 'set'\n\t\t\t});\n\t\t\tpopulateCurrentItem(coeffects);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[SN_CX_BREADCRUMBS_ITEM_DATA_UPDATED]: {\n\t\teffect: (coeffects) => {\n\t\t\tcacheItems(coeffects);\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {t} from 'sn-translate';\nimport {measureText, sanitizeHref} from '@servicenow/library-enhanced-utils';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport resizeBehavior from '@servicenow/behavior-resize';\nimport themeBehavior from '@servicenow/behavior-theme';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-tooltip';\nimport {\n\tschedule,\n\tunschedule,\n\tcreateTooltipActionHandler,\n} from '@servicenow/now-tooltip';\nimport '@servicenow/now-dropdown';\nimport {actionTypes} from '@servicenow/ui-core';\nimport styles from './_now-breadcrumbs.scss';\n\nconst {COMPONENT_DISCONNECTED} = actionTypes;\n\nconst MIN_TRUNCATION_SIZE = 50;\nconst MAX_TRUNCATION_SIZE = 300;\nconst MIN_CONTAINER_SIZE = 160;\n\nlet measureTextNormal;\nlet measureTextCurrent;\n\nconst truncateItemText = (measureFn, label, size) => {\n\tconst ellipse = '…';\n\tconst ellipseSize = measureFn(ellipse);\n\tlet displayLabel = label;\n\n\twhile (measureFn(displayLabel) + ellipseSize > size) {\n\t\tdisplayLabel = displayLabel.slice(0, -1);\n\t}\n\n\treturn `${displayLabel}${ellipse}`;\n};\n\nconst processCrumbs = (items, themeables) => {\n\tconst crumbs = [];\n\tlet size = 0;\n\n\titems.forEach((item, i) => {\n\t\tconst measureFn =\n\t\t\ti === items.length - 1 ? measureTextCurrent : measureTextNormal;\n\t\tconst initialLabelSize =\n\t\t\titem.hideLabel && item.icon ? 0 : measureFn(item.label);\n\n\t\tconst truncate = initialLabelSize > MAX_TRUNCATION_SIZE;\n\t\tconst displayLabel = truncate\n\t\t\t? truncateItemText(measureFn, item.label, MAX_TRUNCATION_SIZE)\n\t\t\t: item.label;\n\t\tconst labelSize = truncate ? measureFn(displayLabel) : initialLabelSize;\n\n\t\t// label size\n\t\tsize += Math.min(labelSize, MAX_TRUNCATION_SIZE);\n\n\t\t// icon size\n\t\tconst iconPadding =\n\t\t\titem.hideLabel && item.icon ? 0 : themeables.iconLabelSpace;\n\t\tsize += item.icon ? themeables.crumbIconSize + iconPadding : 0;\n\n\t\tconst c = {\n\t\t\tlabel: item.label,\n\t\t\thref: item.href,\n\t\t\ticon: item.icon,\n\t\t\thideLabel: item.hideLabel,\n\t\t\toriginal: item,\n\t\t\tid: i,\n\t\t\ttruncate,\n\t\t\tdisplayLabel,\n\t\t\tlabelSize,\n\t\t};\n\t\tcrumbs.push(c);\n\t});\n\n\t// Add in delimiter sizing\n\tsize +=\n\t\t(crumbs.length - 1) *\n\t\t(themeables.delimitterIconSize + themeables.delimitterMargins);\n\n\treturn [crumbs, size];\n};\n\nconst truncateItem = (item, breadcrumbSize, containerSize, measureFn) => {\n\tif (item.labelSize <= MIN_TRUNCATION_SIZE) {\n\t\treturn [item, breadcrumbSize];\n\t}\n\n\tbreadcrumbSize -= item.labelSize;\n\n\tconst targetSize =\n\t\tbreadcrumbSize + MIN_TRUNCATION_SIZE > containerSize\n\t\t\t? MIN_TRUNCATION_SIZE\n\t\t\t: containerSize - breadcrumbSize;\n\n\titem.displayLabel = truncateItemText(\n\t\tmeasureFn,\n\t\titem.displayLabel,\n\t\ttargetSize,\n\t);\n\titem.labelSize = measureFn(item.displayLabel);\n\titem.truncate = true;\n\n\tbreadcrumbSize += item.labelSize;\n\n\treturn [item, breadcrumbSize];\n};\n\nconst truncateItems = (crumbs, breadcrumbSize, containerSize) => {\n\t// first and last item get handled later if necessary\n\tfor (let i = 1; i < crumbs.length - 1; i++) {\n\t\tif (breadcrumbSize <= containerSize) break;\n\n\t\t[crumbs[i], breadcrumbSize] = truncateItem(\n\t\t\tcrumbs[i],\n\t\t\tbreadcrumbSize,\n\t\t\tcontainerSize,\n\t\t\tmeasureTextNormal,\n\t\t);\n\t}\n\n\treturn [crumbs, breadcrumbSize];\n};\n\nconst calcDropdownItems = (\n\tcrumbs,\n\tbreadcrumbSize,\n\tcontainerSize,\n\tthemeables,\n\toverflowMenuPosition,\n) => {\n\tconst newCrumbs = [];\n\tconst dropdownItems = [];\n\tconst lastIndex = crumbs.length - 1;\n\n\t// always add first item\n\tnewCrumbs.push(crumbs[0]);\n\n\t// add the size for the dropdown\n\tbreadcrumbSize += themeables.dropdownButton;\n\n\tfor (let i = 1; i < lastIndex; i++) {\n\t\tconst item =\n\t\t\toverflowMenuPosition === 'start' ? crumbs[i] : crumbs[lastIndex - i];\n\n\t\tif (breadcrumbSize > containerSize) {\n\t\t\toverflowMenuPosition === 'start'\n\t\t\t\t? dropdownItems.push(item)\n\t\t\t\t: dropdownItems.unshift(item);\n\t\t\tbreadcrumbSize -= item.labelSize;\n\t\t} else {\n\t\t\tnewCrumbs.push(item);\n\t\t}\n\t}\n\n\t// always add last item\n\tnewCrumbs.push(crumbs[lastIndex]);\n\n\treturn [newCrumbs, breadcrumbSize, dropdownItems];\n};\n\nconst calcCrumbs = (\n\t{items, overflow, overflowMenuPosition},\n\t{width},\n\tthemeables,\n) => {\n\t// First, calc initial display label and size of everything\n\tlet [crumbs, breadcrumbSize] = processCrumbs(items, themeables);\n\tlet dropdownItems = null;\n\tconst containerWidth = Math.max(width, MIN_CONTAINER_SIZE);\n\n\t// if <= container size or we're wrapping, we're done\n\tif (\n\t\t!containerWidth ||\n\t\tbreadcrumbSize <= containerWidth ||\n\t\toverflow === 'wrap'\n\t) {\n\t\treturn [crumbs, dropdownItems];\n\t}\n\n\t// do item truncation\n\tif (overflow === 'truncate-collapse') {\n\t\t[crumbs, breadcrumbSize] = truncateItems(\n\t\t\tcrumbs,\n\t\t\tbreadcrumbSize,\n\t\t\tcontainerWidth,\n\t\t);\n\t}\n\n\t// collapse stuff into dropdown\n\tif (breadcrumbSize > containerWidth) {\n\t\t[crumbs, breadcrumbSize, dropdownItems] = calcDropdownItems(\n\t\t\tcrumbs,\n\t\t\tbreadcrumbSize,\n\t\t\tcontainerWidth,\n\t\t\tthemeables,\n\t\t\toverflowMenuPosition,\n\t\t);\n\t}\n\n\t// truncate the first item\n\tif (breadcrumbSize > containerWidth && overflow === 'truncate-collapse') {\n\t\t[crumbs[0], breadcrumbSize] = truncateItem(\n\t\t\tcrumbs[0],\n\t\t\tbreadcrumbSize,\n\t\t\tcontainerWidth,\n\t\t\tmeasureTextNormal,\n\t\t);\n\t}\n\n\t// truncate the current item\n\tif (breadcrumbSize > containerWidth && overflow === 'truncate-collapse') {\n\t\tconst index = crumbs.length - 1;\n\t\t[crumbs[index], breadcrumbSize] = truncateItem(\n\t\t\tcrumbs[index],\n\t\t\tbreadcrumbSize,\n\t\t\tcontainerWidth,\n\t\t\tmeasureTextCurrent,\n\t\t);\n\t}\n\n\treturn [crumbs, dropdownItems];\n};\n\nconst renderIcon = (item) => {\n\tif (!item.icon) return;\n\n\treturn (\n\t\t<now-icon\n\t\t\tclass={{\n\t\t\t\t'now-breadcrumbs-icon': true,\n\t\t\t\t'now-m-inline-end--xs': !item.hideLabel,\n\t\t\t}}\n\t\t\ticon={item.icon}\n\t\t\tsize=\"sm\"\n\t\t\tconfig-aria={\n\t\t\t\titem.hideLabel ? {icon: {'aria-label': item.label}} : undefined\n\t\t\t}\n\t\t/>\n\t);\n};\n\nconst showTooltip = (updateState, item, target) => {\n\tupdateState({\n\t\tpath: 'currentTooltip',\n\t\toperation: 'set',\n\t\tvalue: {ref: target, content: item.label, opened: true},\n\t});\n};\n\nconst hideTooltip = (updateState) => {\n\tupdateState({\n\t\tpath: 'currentTooltip',\n\t\toperation: 'set',\n\t\tvalue: {ref: null, content: '', opened: false},\n\t});\n};\n\nconst renderItemLabel = (item) => {\n\tif (item.hideLabel && item.icon) return;\n\n\treturn (\n\t\t<span className=\"now-line-height-crop\">\n\t\t\t<span className=\"now-breadcrumbs-item-label\">{item.displayLabel}</span>\n\t\t</span>\n\t);\n};\n\nconst renderDelimiter = (type) => {\n\tconst icon = `${type}-end-fill`;\n\treturn (\n\t\t<now-icon\n\t\t\tclass={{\n\t\t\t\t'now-breadcrumbs-icon': true,\n\t\t\t\t'now-align': true,\n\t\t\t\t'-block-center': true,\n\t\t\t\t'now-m-inline--md': true,\n\t\t\t}}\n\t\t\ticon={icon}\n\t\t\tsize=\"sm\"\n\t\t\tdata-test=\"delimiter\"\n\t\t/>\n\t);\n};\n\nconst renderCrumb = (item, {dispatch, updateState}, componentId) => {\n\treturn (\n\t\t<a\n\t\t\tclass={{\n\t\t\t\t'now-breadcrumbs-item': true,\n\t\t\t\t'-link': true,\n\t\t\t}}\n\t\t\ton-click={() => {\n\t\t\t\tdispatch(() => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'NOW_BREADCRUMBS#ITEM_CLICKED',\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\titem: item.original,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t}}\n\t\t\ton-mouseenter={\n\t\t\t\titem.truncate || item.hideLabel\n\t\t\t\t\t? (e) =>\n\t\t\t\t\t\t\tschedule(\n\t\t\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\t\t\tshowTooltip.bind(null, updateState, item, e.target),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t: null\n\t\t\t}\n\t\t\ton-focusin={\n\t\t\t\titem.truncate || item.hideLabel\n\t\t\t\t\t? (e) =>\n\t\t\t\t\t\t\tschedule(\n\t\t\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\t\t\tshowTooltip.bind(null, updateState, item, e.target),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t: null\n\t\t\t}\n\t\t\ton-mouseleave={\n\t\t\t\titem.truncate || item.hideLabel\n\t\t\t\t\t? () => schedule(componentId, hideTooltip.bind(null, updateState))\n\t\t\t\t\t: null\n\t\t\t}\n\t\t\ton-focusout={\n\t\t\t\titem.truncate || item.hideLabel\n\t\t\t\t\t? () => schedule(componentId, hideTooltip.bind(null, updateState))\n\t\t\t\t\t: null\n\t\t\t}\n\t\t\thref={item.href ? sanitizeHref(item.href) : undefined}\n\t\t\taria-label={item.label}\n\t\t>\n\t\t\t{renderIcon(item)}\n\t\t\t{renderItemLabel(item)}\n\t\t</a>\n\t);\n};\n\nconst renderDropdown = (items) => {\n\treturn (\n\t\t<now-dropdown\n\t\t\ttooltip-content={t('Show more breadcrumb links')}\n\t\t\tconfig-aria={{trigger: {'aria-label': t('Show more breadcrumb links')}}}\n\t\t\tclassName=\"now-breadcrumbs-dropdown\"\n\t\t\tbare\n\t\t\thide-caret\n\t\t\thide-label\n\t\t\tsize=\"md\"\n\t\t\ticon=\"ellipsis-h-fill\"\n\t\t\tvariant=\"tertiary\"\n\t\t\titems={items}\n\t\t\tselect=\"none\"\n\t\t\tmanage-selected-items\n\t\t/>\n\t);\n};\n\nconst renderCurrentItem = (item, {updateState}, componentId) => {\n\t// aria-current=\"location\" is better than \"page\" per discussion in a11y slack and https://www.aditus.io/aria/aria-current/ and https://tink.uk/using-the-aria-current-attribute/\n\treturn (\n\t\t<span\n\t\t\tclass={{\n\t\t\t\t'now-breadcrumbs-item': true,\n\t\t\t\t'is-current': true,\n\t\t\t}}\n\t\t\taria-current=\"location\"\n\t\t\ton-mouseenter={\n\t\t\t\titem.truncate || item.hideLabel\n\t\t\t\t\t? (e) => {\n\t\t\t\t\t\t\tschedule(\n\t\t\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\t\t\tshowTooltip.bind(null, updateState, item, e.target),\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t: null\n\t\t\t}\n\t\t\ton-focusin={\n\t\t\t\titem.truncate || item.hideLabel\n\t\t\t\t\t? (e) =>\n\t\t\t\t\t\t\tschedule(\n\t\t\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\t\t\tshowTooltip.bind(null, updateState, item, e.target),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t: null\n\t\t\t}\n\t\t\ton-mouseleave={\n\t\t\t\titem.truncate || item.hideLabel\n\t\t\t\t\t? () => schedule(componentId, hideTooltip.bind(null, updateState))\n\t\t\t\t\t: null\n\t\t\t}\n\t\t\ton-focusout={\n\t\t\t\titem.truncate || item.hideLabel\n\t\t\t\t\t? () => schedule(componentId, hideTooltip.bind(null, updateState))\n\t\t\t\t\t: null\n\t\t\t}\n\t\t>\n\t\t\t{renderIcon(item)}\n\t\t\t{renderItemLabel(item)}\n\t\t</span>\n\t);\n};\n\nconst renderBreadcrumbs = (state, containerSize, helpers) => {\n\tconst {delimiter, overflowMenuPosition} = state.properties;\n\tconst themeables = setThemeables(state.behaviors.theme);\n\tconst dom = [];\n\tconst [crumbs, dropdownItems] = calcCrumbs(\n\t\tstate.properties,\n\t\tcontainerSize,\n\t\tthemeables,\n\t);\n\n\tif (!crumbs || crumbs.length == 0) {\n\t\treturn dom;\n\t}\n\n\tconst lastIndex = crumbs.length - 1;\n\n\t// always draw the first item unless it is the current item\n\tif (lastIndex > 0) {\n\t\tdom.push(renderCrumb(crumbs[0], helpers, state.properties.nowId));\n\t\tdom.push(renderDelimiter(delimiter));\n\t}\n\n\tif (dropdownItems?.length > 0 && overflowMenuPosition === 'start') {\n\t\tdom.push(renderDropdown(dropdownItems));\n\t\tdom.push(renderDelimiter(delimiter));\n\t}\n\n\tfor (let i = 1; i < lastIndex; i++) {\n\t\tdom.push(renderCrumb(crumbs[i], helpers, state.properties.nowId));\n\t\tdom.push(renderDelimiter(delimiter));\n\t}\n\n\tif (dropdownItems?.length > 0 && overflowMenuPosition === 'end') {\n\t\tdom.push(renderDropdown(dropdownItems));\n\t\tdom.push(renderDelimiter(delimiter));\n\t}\n\n\tdom.push(\n\t\trenderCurrentItem(crumbs[lastIndex], helpers, state.properties.nowId),\n\t);\n\n\treturn dom;\n};\n\nconst setThemeables = (theme) => {\n\tconst {global} = theme;\n\tmeasureTextNormal = measureText({\n\t\ttxtTransform: theme['--now-breadcrumbs--text-transform'],\n\t\tfontStyle: theme['--now-breadcrumbs--font-style'],\n\t\tfontFamily: theme['--now-breadcrumbs--font-family'],\n\t\tfontSize: theme['--now-navigation_label--font-size--sm']\n\t\t\t? `${theme['--now-navigation_label--font-size--sm'].px}px`\n\t\t\t: '12px',\n\t\tfontWeight: theme['--now-breadcrumbs--font-weight'],\n\t});\n\tmeasureTextCurrent = measureText({\n\t\ttxtTransform: theme['--now-breadcrumbs--text-transform'],\n\t\tfontStyle: theme['--now-breadcrumbs--font-style'],\n\t\tfontFamily: theme['--now-breadcrumbs--font-family'],\n\t\tfontSize: theme['--now-navigation_label--font-size--sm']\n\t\t\t? `${theme['--now-navigation_label--font-size--sm'].px}px`\n\t\t\t: '12px',\n\t\tfontWeight: theme['--now-breadcrumbs--font-weight-current'],\n\t});\n\n\treturn {\n\t\tcrumbIconSize: 12,\n\t\tdelimitterIconSize: 12,\n\t\tdelimitterMargins: global.space.md.px * 2,\n\t\ticonLabelSpace: global.space.xs.px,\n\t\tdropdownButton: (theme['--now-actionable--font-size--md'].px ?? 16) * 2,\n\t};\n};\n\nconst view = (state, helpers) => {\n\tconst containerSize = state.behaviors.resize.size;\n\n\treturn (\n\t\t<nav\n\t\t\tclass={{\n\t\t\t\t'now-breadcrumbs': true,\n\t\t\t}}\n\t\t\taria-label={t('Breadcrumb')}\n\t\t>\n\t\t\t<now-tooltip\n\t\t\t\tid=\"tooltip\"\n\t\t\t\tmanage-opened\n\t\t\t\topened={state.currentTooltip.opened}\n\t\t\t\ttarget-ref={state.currentTooltip.ref}\n\t\t\t\tcontent={state.currentTooltip.content}\n\t\t\t\tdelay={{show: 0, hide: 0}}\n\t\t\t/>\n\t\t\t{renderBreadcrumbs(state, containerSize, helpers)}\n\t\t</nav>\n\t);\n};\n\n/**\n * Provides a browser path to navigate among a hierarchy of linked pages with related content.\n *\n * ```jsx\n * <now-breadcrumbs\n *  items={[\n *    {label: 'Home', href: '#'},\n *    {label: 'Activity Center', href: '#'},\n *    {label: 'REQ002100', href: '#'},\n *    {label: 'Service Article', href: '#'}\n *  ]}\n * />\n * ```\n *\n * @seismicElement now-breadcrumbs\n * @summary Creates a set of breadcrumbs, which allows users to keep track of and maintain awareness of their locations.\n * @uib.label Breadcrumbs\n * @uib.icon breadcrumbs\n * @uib.description Creates a set of breadcrumbs, which allows users to keep track of and maintain awareness of their locations.\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties items, delimiter, overflow, overflowMenuPosition\n * @uib.actions NOW_BREADCRUMBS#ITEM_CLICKED\n */\ncreateEnhancedElement('now-breadcrumbs', {\n\tproperties: {\n\t\t/**\n\t\t * List of breadcrumbs to display, in sorted order, from the first page to the current page.\n\t\t * @type {Array.<{label: string, href: string, icon: string, hideLabel: boolean}>}\n\t\t * @uib.required\n\t\t * @uib.description List of breadcrumbs to display, in sorted order, from the first page to the current page\n\t\t * @uib.defaultValue [{\"label\": \"First Item\", \"href\": \"#\", \"icon\": \"home-outline\", \"hideLabel\": true}, {\"label\": \"Breadcrumbs1\", \"href\": \"#\"}, {\"label\": \"Breadcrumbs2\", \"href\": \"#\"}, {\"label\": \"Breadcrumbs3\"}]\n\t\t * @uib.typeMetadata.emptyStateBehavior EMPTY_ARRAY\n\t\t * @uib.fieldType collection\n\t\t * @uib.typeMetadata.collection.cardProperties.heading { \"heading\": \"label\", \"icon\": \"icon\" }\n\t\t */\n\t\titems: {\n\t\t\trequired: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tlabel: {type: 'string', translatable: true},\n\t\t\t\t\t\thref: {type: 'string'},\n\t\t\t\t\t\ticon: {nowUIType: 'icon', type: 'string'},\n\t\t\t\t\t\thideLabel: {type: 'boolean'},\n\t\t\t\t\t},\n\t\t\t\t\trequired: ['label'],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Defines the overflow behavior. When constrained enough, all breadcrumbs will eventually wrap to meet reflow requirements.\n\t\t * - `collapse`: Collapses items into a dropdown when the breadcrumb is too large for its container\n\t\t * and cannot remain on one line.\n\t\t * - `truncate-collapse`: First truncates text down to a minimum size, then collapses it into a dropdown.\n\t\t * - `wrap`: Causes the breadcrumb to wrap to multiple lines.\n\t\t * @type {('collapse'|'truncate-collapse'|'wrap')}\n\t\t * @uib.label Overflow\n\t\t * @uib.description Defines the overflow behavior.\n\t\t */\n\t\toverflow: {\n\t\t\tdefault: 'collapse',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['collapse', 'truncate-collapse', 'wrap'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Defines the symbol to use as a separator between breadcrumb items.\n\t\t * @type {('chevron'|'arrow')}\n\t\t * @uib.label Delimiter\n\t\t * @uib.description Defines the symbol to use as a separator between breadcrumb items.\n\t\t */\n\t\tdelimiter: {\n\t\t\tdefault: 'chevron',\n\t\t\tschema: {type: 'string', enum: ['chevron', 'arrow']},\n\t\t},\n\t\t/**\n\t\t * Position at which to display the overflow menu within the breadcrumb. Should only\n\t\t * be used when `overflow='collapse'` or `overflow='truncate-collapse'`\n\t\t * Possible values:\n\t\t *   - start\n\t\t *   - end\n\t\t * @type {('start' | 'end')}\n\t\t * @uib.description Position at which to display the overflow menu relative to the breadcrumb.\n\t\t * @uib.defaultValue start\n\t\t */\n\t\toverflowMenuPosition: {\n\t\t\tdefault: 'start',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['start', 'end'],\n\t\t\t},\n\t\t},\n\t},\n\n\tinitialState: {\n\t\tcurrentTooltip: {ref: null, content: '', opened: false},\n\t},\n\n\tbehaviors: [\n\t\t{behavior: focusBehavior},\n\t\t{\n\t\t\tbehavior: resizeBehavior,\n\t\t\toptions: {timer: {type: 'throttle', wait: 30}},\n\t\t},\n\t\t{\n\t\t\tbehavior: themeBehavior,\n\t\t\toptions: {\n\t\t\t\titems: [\n\t\t\t\t\t'--now-breadcrumbs--text-transform',\n\t\t\t\t\t'--now-breadcrumbs--font-style',\n\t\t\t\t\t'--now-breadcrumbs--font-family',\n\t\t\t\t\t'--now-breadcrumbs--font-weight',\n\t\t\t\t\t'--now-breadcrumbs--font-weight--current',\n\t\t\t\t\t'--now-navigation_label--font-size--sm',\n\t\t\t\t\t'--now-actionable--font-size--md',\n\t\t\t\t\t'global.space.xs',\n\t\t\t\t\t'global.space.md',\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t],\n\tactionHandlers: {\n\t\t...createTooltipActionHandler(hideTooltip),\n\t\t[COMPONENT_DISCONNECTED]: ({properties}) => {\n\t\t\tconst componentId = properties.nowId;\n\t\t\tunschedule(componentId);\n\t\t},\n\t\t'NOW_DROPDOWN#ITEM_CLICKED': ({action, dispatch}) => {\n\t\t\tdispatch(() => ({\n\t\t\t\ttype: 'NOW_BREADCRUMBS#ITEM_CLICKED',\n\t\t\t\tpayload: {\n\t\t\t\t\titem: action.payload.item.original,\n\t\t\t\t},\n\t\t\t}));\n\t\t},\n\t},\n\tstyles,\n\tview,\n\tdispatches: {\n\t\t/**\n\t\t * Action dispatched when a breadcrumb is selected. The payload contains\n\t\t * the item from the `items` array that was selected by the user.\n\t\t * @type {{item: {label: string, href: string, icon: string, hideLabel: boolean}}}\n\t\t * @uib.description Dispatched when the user clicks on a breadcrumb item (or item in the dropdown)\n\t\t */\n\t\t'NOW_BREADCRUMBS#ITEM_CLICKED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\titem: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tlabel: {type: 'string'},\n\t\t\t\t\t\t\thref: {type: 'string'},\n\t\t\t\t\t\t\ticon: {type: 'string'},\n\t\t\t\t\t\t\thideLabel: {type: 'boolean'},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n});\n","import './now-breadcrumbs';\n\nimport * as info from '../package.json';\nconst {name, version} = info;\n\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './styles.scss';\nimport {view} from './view';\nimport {actionHandlers} from './effects';\nimport '@servicenow/now-breadcrumbs';\n\ncreateCustomElement('sn-cx-breadcrumbs', {\n\trenderer: {type: snabbdom},\n\tview: view,\n\tstyles,\n\tproperties: {\n\t\trootItem: {\n\t\t\tdeepCompare: true,\n\t\t\ttype: 'object',\n\t\t\tproperties: {\n\t\t\t\tscreenId: {type: 'string'},\n\t\t\t\tlabel: {type: 'string', translatable: true},\n\t\t\t\thref: {type: 'string'},\n\t\t\t\ticon: {nowUIType: 'icon', type: 'string'},\n\t\t\t\thideLabel: {type: 'boolean'},\n\t\t\t\trouteConfig: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\troute: {type: 'string'},\n\t\t\t\t\t\tfields: {type: 'object'},\n\t\t\t\t\t\tparams: {type: 'object'},\n\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\tpath: {\n\t\t\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\texperienceName: {\n\t\t\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tqueryString: {type: 'object'},\n\t\t\t\t\t\toptions: {type: 'object'},\n\t\t\t\t\t\tupdateUrl: {type: 'boolean'}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tselectedContent: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\troute: {\n\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t},\n\t\t\t\t\tfields: {\n\t\t\t\t\t\ttype: 'object'\n\t\t\t\t\t},\n\t\t\t\t\tcontext: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tpath: {\n\t\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\texperienceName: {\n\t\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tqueryString: {\n\t\t\t\t\t\ttype: 'object'\n\t\t\t\t\t},\n\t\t\t\t\toptions: {\n\t\t\t\t\t\ttype: 'object'\n\t\t\t\t\t},\n\t\t\t\t\tupdateUrl: {\n\t\t\t\t\t\ttype: 'boolean'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tsetInitialState() {\n\t\treturn {\n\t\t\titems: [],\n\t\t\tshouldRender: false,\n\t\t\tactiveScreenId: ''\n\t\t};\n\t},\n\tactionHandlers: actionHandlers\n});\n","import classnames from 'classnames';\n\nfunction FooterLogo({\n\tfooterLogoAriaLabel,\n\tfooterLogoSrc,\n\tbrandLineText,\n\tbrandLineSrc\n}) {\n\treturn (\n\t\t<div className=\"sn-cx-footer-logo-wrapper\">\n\t\t\t<span\n\t\t\t\tclassName=\"sn-cx-footer-logo\"\n\t\t\t\trole=\"img\"\n\t\t\t\taria-label={footerLogoAriaLabel}\n\t\t\t\tdata-testid=\"footer-logo\">\n\t\t\t\t<img src={footerLogoSrc} alt={footerLogoAriaLabel} />\n\t\t\t</span>\n\t\t\t<span className={classnames('sn-cx-footer-separator')} />\n\t\t\t<span\n\t\t\t\tclassName=\"sn-cx-footer-tagline\"\n\t\t\t\trole=\"complementary\"\n\t\t\t\taria-label={brandLineText}\n\t\t\t\tdata-testid=\"footer-brand-line\">\n\t\t\t\t<img src={brandLineSrc} alt={brandLineText} />\n\t\t\t</span>\n\t\t</div>\n\t);\n}\n\nexport default FooterLogo;\n","import LINKEDIN_ICON from './assets/linkedin.svg';\nimport TWITTER_ICON from './assets/x-twitter.svg';\nimport YOUTUBE_ICON from './assets/youtube.svg';\nimport FACEBOOK_ICON from './assets/facebook.svg';\nimport INSTAGRAM_ICON from './assets/instagram.svg';\nimport FOOTER_LOGO from './assets/footer_logo.svg';\nimport BRAND_LINE from './assets/brand_line.svg';\n\nexport function getSocialIcon(name) {\n\tconst iconMap = {\n\t\tlinkedin: LINKEDIN_ICON,\n\t\tyoutube: YOUTUBE_ICON,\n\t\ttwitter: TWITTER_ICON,\n\t\tfacebook: FACEBOOK_ICON,\n\t\tinstagram: INSTAGRAM_ICON\n\t};\n\treturn iconMap[name] || '';\n}\n\nexport function getFooterLogo() {\n\treturn FOOTER_LOGO;\n}\n\nexport function getFooterBrandLine() {\n\treturn BRAND_LINE;\n}\n","import {t} from 'sn-translate';\n\nexport const COPYRIGHT_TEXT = t('©2024 ServiceNow. All rights reserved.');\n\nexport const TEXT_DIRECTION = {\n\tLTR: 'ltr',\n\tRTL: 'rtl'\n};\nexport const FOOTER_LOGO_ARIA_LABEL = t('ServiceNow Logo');\nexport const BRAND_LINE_TEXT = t('The world works with ServiceNow');\nexport const SOCIAL_LINKS_ARIA_LABEL = t('Social Links');\n/**\n * Object containing event names for Adobe Analytics purposes.\n */\nexport const ANALYTICS_EVENTS = {\n\t// Dispatched event name for Adobe Analytics in click event.\n\tCLICK: 'AA_TRACK#PAGE_ELEMENT_CLICKED',\n\n\t// Dispatched event name for Adobe Analytics in page load event. 22a13422c90b76c36f173f53a2858cf4\n\tPAGE_LOAD: 'AA_TRACK#PAGE_LOADED',\n\n\t// Dispatched event name for Adobe Analytics in content load event.\n\tIMPRESSION: 'AA_TRACK#PAGE_CONTENT_IMPRESSION'\n};\n","import {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport classnames from 'classnames';\nimport {getSocialIcon} from '../../utils';\nimport {TEXT_DIRECTION} from '../../constants';\n\nfunction FooterSocial({\n\tsocialLinks,\n\tsocialLinksAriaLabel,\n\tcopyrightText,\n\tisRtl\n}) {\n\treturn (\n\t\t<Fragment>\n\t\t\t<div\n\t\t\t\tclassName=\"sn-cx-footer-social\"\n\t\t\t\trole=\"group\"\n\t\t\t\taria-label={socialLinksAriaLabel}\n\t\t\t\tdata-testid=\"footer-social-links\">\n\t\t\t\t{socialLinks.map((link) => (\n\t\t\t\t\t<a\n\t\t\t\t\t\tkey={link.name}\n\t\t\t\t\t\tclassName={classnames('sn-cx-footer-social-link', link.name)}\n\t\t\t\t\t\thref={link.href}\n\t\t\t\t\t\taria-label={link.name}\n\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\trel=\"noopener noreferrer\">\n\t\t\t\t\t\t<img src={getSocialIcon(link.name)} alt={link.name} />\n\t\t\t\t\t</a>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t\t<div className=\"sn-cx-footer-copyright\" role=\"contentinfo\">\n\t\t\t\t<span dir={isRtl ? TEXT_DIRECTION.LTR : undefined}>\n\t\t\t\t\t{copyrightText}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</Fragment>\n\t);\n}\n\nexport default FooterSocial;\n","import classnames from 'classnames';\n\nfunction FooterNavLinks({navLinks, dispatch}) {\n\treturn (\n\t\t<nav\n\t\t\tclassName={classnames('sn-cx-footer-nav-links')}\n\t\t\trole=\"navigation\"\n\t\t\tdata-testid=\"footer-nav-links\">\n\t\t\t<ul>\n\t\t\t\t{navLinks.map((link, index) => (\n\t\t\t\t\t<li key={index}>\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\ton-click={(e) => {\n\t\t\t\t\t\t\t\tdispatch(() => {\n\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\ttype: 'SN_CX_FOOTER#NAV_LINK_CLICKED',\n\t\t\t\t\t\t\t\t\t\tpayload: {link},\n\t\t\t\t\t\t\t\t\t\tmeta: {\n\t\t\t\t\t\t\t\t\t\t\tevent: e\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tid={link.id}\n\t\t\t\t\t\t\tclassName={classnames('sn-cx-footer-nav-link')}\n\t\t\t\t\t\t\thref={link.href}\n\t\t\t\t\t\t\tref={(element) => {\n\t\t\t\t\t\t\t\tdispatch('SN_CX_FOOTER#NAV_LINK_REF', element);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\tdata-testid={`nav-link-${index}`}>\n\t\t\t\t\t\t\t{link.text}\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</li>\n\t\t\t\t))}\n\t\t\t</ul>\n\t\t</nav>\n\t);\n}\n\nexport default FooterNavLinks;\n","import {isEmpty} from 'lodash';\nimport classnames from 'classnames';\nimport FooterLogo from './logo/FooterLogo';\nimport FooterSocial from './social/FooterSocial';\nimport FooterNavLinks from './nav-links/FooterNavLinks';\nimport {getFooterBrandLine, getFooterLogo} from '../utils';\nimport {\n\tCOPYRIGHT_TEXT,\n\tBRAND_LINE_TEXT,\n\tSOCIAL_LINKS_ARIA_LABEL,\n\tFOOTER_LOGO_ARIA_LABEL,\n\tTEXT_DIRECTION\n} from '../constants';\n\nexport const view = (state, {dispatch}) => {\n\tconst {footerConfig} = state.properties;\n\tconst {\n\t\tnav_links: navLinks = [],\n\t\tsocial_links: socialLinks = [],\n\t\tcopyright_text: copyrightText = COPYRIGHT_TEXT\n\t} = footerConfig;\n\tconst isRtl = document.dir === TEXT_DIRECTION.RTL;\n\n\tif (isEmpty(footerConfig)) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<footer className=\"sn-cx-footer\">\n\t\t\t<div className=\"sn-cx-footer-container\" role=\"contentinfo\">\n\t\t\t\t<section className={classnames('sn-cx-footer-content', 'left')}>\n\t\t\t\t\t<FooterLogo\n\t\t\t\t\t\tfooterLogoAriaLabel={FOOTER_LOGO_ARIA_LABEL}\n\t\t\t\t\t\tfooterLogoSrc={getFooterLogo()}\n\t\t\t\t\t\tbrandLineText={BRAND_LINE_TEXT}\n\t\t\t\t\t\tbrandLineSrc={getFooterBrandLine()}\n\t\t\t\t\t/>\n\t\t\t\t\t<FooterNavLinks navLinks={navLinks} dispatch={dispatch} />\n\t\t\t\t</section>\n\t\t\t\t<section className={classnames('sn-cx-footer-content', 'right')}>\n\t\t\t\t\t<FooterSocial\n\t\t\t\t\t\tsocialLinks={socialLinks}\n\t\t\t\t\t\tsocialLinksAriaLabel={SOCIAL_LINKS_ARIA_LABEL}\n\t\t\t\t\t\tcopyrightText={copyrightText}\n\t\t\t\t\t\tisRtl={isRtl}\n\t\t\t\t\t/>\n\t\t\t\t</section>\n\t\t\t</div>\n\t\t</footer>\n\t);\n};\n","export const FOOTER_NAV_LINK_CLICKED = 'SN_CX_FOOTER#NAV_LINK_CLICKED';\nexport const FOOTER_NAV_LINK_ELEMENT_REF = 'SN_CX_FOOTER#NAV_LINK_REF';\nexport const FOOTER_NAV_LINK_TRUST_ARC_REF = 'TRUST_ARC_LINK_ELEMENT';\nexport const FOOTER_NAV_LINK_TRUST_ARC_READY = 'TRUST_ARC_READY';\n","import {ANALYTICS_EVENTS} from './constants';\nimport {FOOTER_NAV_LINK_TRUST_ARC_REF} from './actions';\n\nconst handleFooterNavLinkElementRef = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\tdispatch,\n\t\taction: {payload}\n\t} = coeffects;\n\tif (payload?.id === 'trustarc_footer_link') {\n\t\tupdateState({trustArcElement: payload});\n\t\tdispatch(FOOTER_NAV_LINK_TRUST_ARC_REF, payload);\n\t}\n};\n\nconst handleFooterNavLinkClicked = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {link = {}},\n\t\t\tmeta\n\t\t},\n\t\tdispatch\n\t} = coeffects;\n\n\tconst digitalData = {\n\t\tversion: '1.0',\n\t\tpage: {\n\t\t\tpageInfo: {\n\t\t\t\tpageName: 'Footer'\n\t\t\t}\n\t\t},\n\t\tevent: {\n\t\t\teVar20: 'Footer',\n\t\t\teVar21: link.id,\n\t\t\teVar22: link.text,\n\t\t\tpageArea: link.id\n\t\t}\n\t};\n\n\tdispatch(ANALYTICS_EVENTS.CLICK, {aaDigitalData: digitalData}, meta);\n};\n\nconst handleComponentTreeRendered = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\tstate: {trustArcElement}\n\t} = coeffects;\n\tif (trustArcElement !== null) {\n\t\tdispatch(FOOTER_NAV_LINK_TRUST_ARC_REF, trustArcElement);\n\t}\n};\n\nconst handleFooterNavLinkTrustArcReady = ({\n\tdispatch,\n\tstate: {trustArcElement}\n}) => {\n\tif (trustArcElement !== null) {\n\t\tdispatch(FOOTER_NAV_LINK_TRUST_ARC_REF, trustArcElement);\n\t}\n};\n\nconst effects = {\n\thandleFooterNavLinkElementRef,\n\thandleFooterNavLinkClicked,\n\thandleComponentTreeRendered,\n\thandleFooterNavLinkTrustArcReady\n};\n\nexport default effects;\n","import {createCustomElement, actionTypes} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport styles from './styles.scss';\nimport {view} from './view';\nimport {\n\tFOOTER_NAV_LINK_CLICKED,\n\tFOOTER_NAV_LINK_ELEMENT_REF,\n\tFOOTER_NAV_LINK_TRUST_ARC_READY\n} from './actions';\nconst {COMPONENT_TREE_RENDERED} = actionTypes;\nimport effects from './effects';\n\ncreateCustomElement('sn-cx-footer', {\n\trenderer: {type: snabbdom},\n\tview,\n\tstyles,\n\tbehaviors: [{behavior: rtlBehavior}],\n\tproperties: {\n\t\tfooterConfig: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'}\n\t\t}\n\t},\n\tinitialState: {\n\t\ttrustArcElement: null\n\t},\n\tactionHandlers: {\n\t\t[FOOTER_NAV_LINK_ELEMENT_REF]: effects.handleFooterNavLinkElementRef,\n\t\t[FOOTER_NAV_LINK_CLICKED]: {\n\t\t\teffect: effects.handleFooterNavLinkClicked,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[COMPONENT_TREE_RENDERED]: effects.handleComponentTreeRendered\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: [FOOTER_NAV_LINK_TRUST_ARC_READY],\n\t\t\teffect: effects.handleFooterNavLinkTrustArcReady,\n\t\t\ttarget: document\n\t\t}\n\t]\n});\n","export const POSITIONS = {\n\tTOP: 'TOP',\n\tBOTTOM: 'BOTTOM',\n\tLEFT: 'LEFT',\n\tRIGHT: 'RIGHT'\n};\n","import {actionTypes, createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './sn-cx-side-panel.scss';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {t} from 'sn-translate';\nimport '@servicenow/now-heading';\nimport '@servicenow/now-button';\nimport {POSITIONS} from './positions';\n\nconst {COMPONENT_PROPERTY_CHANGED} = actionTypes;\n\nexport const _handleClose = (state, dispatch) => {\n\tconst {beforeClose} = state.properties;\n\tif (beforeClose && typeof beforeClose === 'function') {\n\t\tconst callbackFn = new Promise((resolve) => {\n\t\t\treturn resolve(beforeClose());\n\t\t});\n\t\treturn callbackFn.then((res) => {\n\t\t\tres ? dispatch('SN_CX_SIDEPANEL#TOGGLE_OPENED', {opened: false}) : null;\n\t\t});\n\t} else {\n\t\tdispatch('SN_CX_SIDEPANEL#TOGGLE_OPENED', {opened: false});\n\t}\n};\n\nconst view = (state, {dispatch}) => {\n\tconst {\n\t\topened,\n\t\tbackdrop,\n\t\tposition,\n\t\tcontainerProps,\n\t\tcanClose,\n\t\theading,\n\t\tisTitleClickable\n\t} = state.properties;\n\n\treturn (\n\t\t<div\n\t\t\trole=\"dialog\"\n\t\t\tclass={{'sn-cx-sidepanel': true, '-backdrop': backdrop}}\n\t\t\thidden={!opened}\n\t\t\ton-click={() => {\n\t\t\t\t_handleClose(state, dispatch);\n\t\t\t}}>\n\t\t\t<div\n\t\t\t\tclassName={'sn-cx-sidepanel-overlay -' + position.toLowerCase()}\n\t\t\t\tstyle={containerProps}\n\t\t\t\ton-click={(evt) => evt.stopPropagation()}>\n\t\t\t\t<div className=\"sn-cx-sidepanel-overlay-panel\">\n\t\t\t\t\t{heading ? (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"sn-cx-sidepanel-op-header\"\n\t\t\t\t\t\t\tstyle={{cursor: isTitleClickable ? 'pointer' : 'auto'}}\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\tisTitleClickable\n\t\t\t\t\t\t\t\t\t? dispatch('SN_CX_SIDEPANEL#TITLE_CLICKED')\n\t\t\t\t\t\t\t\t\t: null;\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t<div className=\"sn-cx-sidepanel-oph-title\">\n\t\t\t\t\t\t\t\t<slot name=\"title\">\n\t\t\t\t\t\t\t\t\t<h1 className=\"sn-cx-sidepanel-oph-heading\">{heading}</h1>\n\t\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{canClose ? (\n\t\t\t\t\t\t\t\t<div className=\"sn-cx-sidepanel-oph-icon\">\n\t\t\t\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\t\t\t\tid=\"side-pannel-close-button\"\n\t\t\t\t\t\t\t\t\t\ticon=\"close-fill\"\n\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\t\thide-padding\n\t\t\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\t\t\tconfig-aria={{'aria-label': t('Close dialog')}}\n\t\t\t\t\t\t\t\t\t\ttooltip-content={t('Close dialog')}\n\t\t\t\t\t\t\t\t\t\ton-click={(evt) => {\n\t\t\t\t\t\t\t\t\t\t\t_handleClose(state, dispatch);\n\t\t\t\t\t\t\t\t\t\t\tevt.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : null}\n\t\t\t\t\t<slot name=\"content\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\n/**\n *\n * ## Overview\n * The sidepanel component is a panel overlaying the screen on the right side.\n * It is used to show more details about a specific object in context. A sidepanel is often triggered by clicking a button\n * or icon that dispatches the action to toggle the visibility.\n *\n * ## Use cases\n * - Showing a sidepanel menu for mobile responsiveness.\n * - Showing detailed information about a transaction (such as items in a cart).\n * - Showing a list of notifications in a notifications tray (sidepanel).\n *\n * Sidepanel aims at UI needs to display workspace notification tray, portal mobile menu panel, and it could also be used\n * for contextual overlay panel across the viewport sides.\n *\n * @seismicElement sn-cx-panel\n * @summary A panel component to display workspace notifications, portal menus and other contextual overlay on the viewport\n */\nconst TAG_NAME = 'sn-cx-side-panel';\ncreateCustomElement(TAG_NAME, {\n\tproperties: {\n\t\t/**\n\t\t * Property opened sets the state of the panel\n\t\t * @type {boolean} set state on side panel\n\t\t */\n\t\topened: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Property backdrop sets the background opacity for the region outside the sidepanel\n\t\t * @type {boolean} set the backdrop to enable background opacity for the region outside the sidepanel\n\t\t */\n\t\tbackdrop: {default: true, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Property position to set the position of the panel\n\t\t * @type {string} Position - Possible values - TOP,  LEFT, BOTTOM, RIGHT\n\t\t */\n\t\tposition: {default: POSITIONS.RIGHT, schema: {type: 'string'}},\n\t\t/**\n\t\t * Property to set the styles for the panel container\n\t\t * @type {object} Style for container element\n\t\t */\n\t\tcontainerProps: {default: {}, schema: {type: 'object'}},\n\t\t/**\n\t\t * Property sets the icon of the panel header.\n\t\t * @type {boolean} Icon in the header of the panel\n\t\t */\n\t\tcanClose: {default: true, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Property sets the title of the panel content if title is not sent as slot.\n\t\t * @type {string} Title in the header of panel\n\t\t */\n\t\theading: {default: '', schema: {type: 'string'}},\n\t\t/**\n\t\t * Property sets a callback function to handle before panel is closed.\n\t\t * @type {function} beforeClose A callback function called when user tries to close the panel\n\t\t */\n\t\tbeforeClose: {default: null},\n\t\t/**\n\t\t * If this property is true, header will be clickable.\n\t\t * @type {Boolean} True if header should be clickable\n\t\t */\n\t\tisTitleClickable: {default: false, schema: {type: 'boolean'}}\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tstyles: `${styles}`,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the side panel is opened/closed.\n\t\t * @type {{opened: false}}\n\t\t */\n\t\t'SN_CX_SIDEPANEL#TOGGLE_OPENED': {},\n\t\t/**\n\t\t * Dispatched when the panel title is clicked.\n\t\t * @type {{}}\n\t\t */\n\t\t'SN_CX_SIDEPANEL#TITLE_CLICKED': {}\n\t},\n\tslots: {\n\t\t/**\n\t\t * Sidepanel title appears in this named slot. A title can be clickable, and\n\t\t * dispatches `SN_CX_SIDEPANEL#TITLE_CLICKED` action when clicked.\n\t\t */\n\t\ttitle: {},\n\t\t/**\n\t\t * Content placed in this named slot that appears inside of the sidepanel. It takes care of enabling\n\t\t * the vertical scrollbar for large content.\n\t\t */\n\t\tcontent: {}\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect({state, dispatch, host}) {\n\t\t\t\tconst {opened} = state.properties;\n\t\t\t\tif (opened) {\n\t\t\t\t\tdispatch('SN_CX_SIDEPANEL#TOGGLE_OPENED', {opened: true});\n\t\t\t\t\t// To avoid parent scrollbar while the panel is shown.\n\t\t\t\t\t//  panel may have vertical scrollbar for overflowing content\n\t\t\t\t\tdocument.body.style.cssText = 'height:100vh !important';\n\t\t\t\t\thost?.shadowRoot?.querySelector('#side-pannel-close-button')?.focus();\n\t\t\t\t} else {\n\t\t\t\t\t//reset back the height to enable back the parent scrollbar\n\t\t\t\t\tdocument.body.style.cssText = 'height:inherit !important';\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tbehaviors: [{behavior: rtlBehavior}, {behavior: focusBehavior}]\n});\n\nexport default TAG_NAME;\n","import {createCustomElement, declarativeOperations} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport styles from './sn-cx-page.scss';\nimport '@servicenow/now-uxf-page';\nimport {querySelectorDeep} from '../../utils/qsDeep';\n\nconst cxPageEvents = {\n\tNOTIFICATIONS_UPDATED: 'SN_CX_PAGE#NOTIFICATIONS_UPDATED',\n\tNOTIFICATION_ACTION_CLICKED: 'SN_CX_PAGE#NOTIFICATION_ACTION_CLICKED',\n\tLOADER_ACTION_CLICKED: 'SN_CX_PAGE#LOADER_ACTION_CLICKED',\n\tRECORD_LINK_CLICKED: 'SN_CX_PAGE#RECORD_LINK_CLICKED',\n\tLOADING_STATUS_CHANGED: 'SN_CX_PAGE#LOADING_STATUS_CHANGED',\n\tSET_PROPAGATED_NOTIFICATIONS: 'SN_CX_PAGE#SET_PROPAGATED_NOTIFICATIONS',\n\tINLINE_NAVIGATION: 'SN_CX_PAGE#INLINE_NAVIGATION',\n\tOPEN_SIDE_PANEL: 'SN_CX_PAGE#OPEN_SIDE_PANEL',\n\tADD_NOTIFICATIONS: 'SN_CX_PAGE#ADD_NOTIFICATIONS',\n\tREMOVE_NOTIFICATIONS: 'SN_CX_PAGE#REMOVE_NOTIFICATIONS',\n\tCLEAR_NOTIFICATIONS: 'SN_CX_PAGE#CLEAR_NOTIFICATIONS',\n\tSET_LOADING_STATE: 'SN_CX_PAGE#SET_LOADING_STATE'\n};\n\nconst uxfPageEvents = {\n\tADD_NOTIFICATIONS: 'NOW_UXF_PAGE#ADD_NOTIFICATIONS',\n\tREMOVE_NOTIFICATIONS: 'NOW_UXF_PAGE#REMOVE_NOTIFICATIONS',\n\tCLEAR_NOTIFICATIONS: 'NOW_UXF_PAGE#CLEAR_NOTIFICATIONS',\n\tSET_LOADING_STATE: 'NOW_UXF_PAGE#SET_LOADING_STATE',\n\tNOTIFICATIONS_UPDATED: 'NOW_UXF_PAGE#NOTIFICATIONS_UPDATED',\n\tNOTIFICATION_ACTION_CLICKED: 'NOW_UXF_PAGE#NOTIFICATION_ACTION_CLICKED',\n\tLOADER_ACTION_CLICKED: 'NOW_UXF_PAGE#LOADER_ACTION_CLICKED',\n\tRECORD_LINK_CLICKED: 'NOW_UXF_PAGE#RECORD_LINK_CLICKED',\n\tLOADING_STATUS_CHANGED: 'NOW_UXF_PAGE#LOADING_STATUS_CHANGED',\n\tSET_PROPAGATED_NOTIFICATIONS: 'NOW_UXF_PAGE#SET_PROPAGATED_NOTIFICATIONS'\n};\n\nexport const inlineNavigationEffect = ({action, host}) => {\n\tconst {payload: {elementId, scrollBehavior, verticalAlignment} = {}} = action;\n\tconst element = querySelectorDeep(elementId, host);\n\tif (element) {\n\t\telement.scrollIntoView({\n\t\t\tbehavior: scrollBehavior || 'smooth',\n\t\t\tblock: verticalAlignment || 'start'\n\t\t});\n\t}\n};\nexport const openSidePanelEffect = ({action, updateState}) => {\n\tconst {payload} = action;\n\tupdateState({\n\t\tpath: 'sidePanelProps',\n\t\tvalue: {\n\t\t\topened: payload.opened,\n\t\t\theading: payload.heading,\n\t\t\tposition: payload.position ? payload.position : 'RIGHT',\n\t\t\tcontainerProps: payload.containerProps\n\t\t},\n\t\toperation: declarativeOperations.SET\n\t});\n};\nexport const toggleOpenedSidePanelEffect = ({action, updateState}) => {\n\tif (!action.payload.opened) {\n\t\tupdateState({sidePanelOpened: action.payload.opened});\n\t\tupdateState({\n\t\t\tpath: 'sidePanelProps',\n\t\t\tvalue: {\n\t\t\t\topened: action.payload.opened\n\t\t\t},\n\t\t\toperation: declarativeOperations.SET\n\t\t});\n\t}\n};\nexport const setLoadingStateEffect = ({action, updateState}) => {\n\tconst {\n\t\tpayload: {loading, label, action: loaderAction}\n\t} = action;\n\tupdateState([\n\t\t{\n\t\t\tpath: 'isPageLoading',\n\t\t\tvalue: loading,\n\t\t\toperation: 'set'\n\t\t},\n\t\t{\n\t\t\tpath: 'loaderLabel',\n\t\t\tvalue: label,\n\t\t\toperation: 'set'\n\t\t},\n\t\t{\n\t\t\tpath: 'loaderAction',\n\t\t\tvalue: loaderAction,\n\t\t\toperation: 'set'\n\t\t}\n\t]);\n};\nexport const clearNotificationsEffect = ({state, action}) => {\n\tconst uxfPageRef = state.uxfPageRef;\n\tif (uxfPageRef) {\n\t\tconst {payload} = action;\n\t\tuxfPageRef.dispatch(uxfPageEvents.CLEAR_NOTIFICATIONS, payload);\n\t}\n};\nexport const removeNotificationsEffect = ({state, action}) => {\n\tconst uxfPageRef = state.uxfPageRef;\n\tif (uxfPageRef) {\n\t\tconst {payload} = action;\n\t\tuxfPageRef.dispatch(uxfPageEvents.REMOVE_NOTIFICATIONS, payload);\n\t}\n};\nexport const addNotificationsEffect = ({state, action}) => {\n\tconst uxfPageRef = state.uxfPageRef;\n\tif (uxfPageRef) {\n\t\tconst {payload} = action;\n\t\tuxfPageRef.dispatch(uxfPageEvents.ADD_NOTIFICATIONS, payload);\n\t}\n};\nexport const notificationsUpdatedEffect = ({action, dispatch}) => {\n\tconst {payload} = action;\n\tdispatch(cxPageEvents.NOTIFICATIONS_UPDATED, payload);\n};\nexport const loadingStatusChangedEffect = ({action, dispatch}) => {\n\tconst {payload} = action;\n\tdispatch(cxPageEvents.LOADING_STATUS_CHANGED, payload);\n};\nexport const notificationActionClickedEffect = ({action, dispatch}) => {\n\tconst {payload} = action;\n\tdispatch(cxPageEvents.NOTIFICATION_ACTION_CLICKED, payload);\n};\nexport const loaderActionClickedEffect = ({action, dispatch}) => {\n\tconst {payload} = action;\n\tdispatch(cxPageEvents.LOADER_ACTION_CLICKED, payload);\n};\nexport const recordLinkClickedEffect = ({action, dispatch}) => {\n\tconst {payload} = action;\n\tdispatch(cxPageEvents.RECORD_LINK_CLICKED, payload);\n};\n\nconst view = (state, {updateState}) => {\n\tconst {\n\t\tsidePanelProps,\n\t\tproperties: {\n\t\t\tlabel,\n\t\t\tbare,\n\t\t\tscrollable,\n\t\t\theadingLevel,\n\t\t\theadingOnlyVisibleToScreenReaders,\n\t\t\tinterceptNotifications,\n\t\t\tpropagateNotifications\n\t\t},\n\t\tisPageLoading,\n\t\tloaderLabel,\n\t\tloaderAction\n\t} = state;\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\tpage: true\n\t\t\t}}>\n\t\t\t{isPageLoading ? (\n\t\t\t\t<div className=\"loaderContainer\">\n\t\t\t\t\t<now-loader size=\"lg\" label={loaderLabel} action={loaderAction} />\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\t<now-uxf-page\n\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tuxfPageRef: elm\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t\thook-destroy={() =>\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tuxfPageRef: null\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\tlabel={label}\n\t\t\t\t\tbare={bare}\n\t\t\t\t\tscrollable={scrollable}\n\t\t\t\t\theadingLevel={headingLevel}\n\t\t\t\t\theadingOnlyVisibleToScreenReaders={headingOnlyVisibleToScreenReaders}\n\t\t\t\t\tinterceptNotifications={interceptNotifications}\n\t\t\t\t\tpropagateNotifications={propagateNotifications}>\n\t\t\t\t\t<slot />\n\t\t\t\t</now-uxf-page>\n\t\t\t)}\n\t\t\t<sn-cx-side-panel\n\t\t\t\topened={sidePanelProps.opened}\n\t\t\t\theading={sidePanelProps.heading}\n\t\t\t\tposition={sidePanelProps.position}\n\t\t\t\tcontainerProps={sidePanelProps.containerProps}>\n\t\t\t\t<div slot=\"content\">\n\t\t\t\t\t<slot name=\"panelcontent\" />\n\t\t\t\t</div>\n\t\t\t</sn-cx-side-panel>\n\t\t</div>\n\t);\n};\n\nconst TAG_NAME = 'sn-cx-page';\n\ncreateCustomElement(TAG_NAME, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tbehaviors: [rtlBehavior],\n\tproperties: {\n\t\tlabel: {default: ''},\n\t\tbare: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tscrollable: {\n\t\t\tdefault: 'y'\n\t\t},\n\t\theadingLevel: {default: 1},\n\t\theadingOnlyVisibleToScreenReaders: {default: false},\n\t\tinterceptNotifications: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tpropagateNotifications: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t}\n\t},\n\tslots: {\n\t\tpanelcontent: {}\n\t},\n\tactionHandlers: {\n\t\t[cxPageEvents.INLINE_NAVIGATION]: {\n\t\t\teffect: inlineNavigationEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[cxPageEvents.OPEN_SIDE_PANEL]: {\n\t\t\teffect: openSidePanelEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t'SN_CX_SIDEPANEL#TOGGLE_OPENED': {\n\t\t\teffect: toggleOpenedSidePanelEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[cxPageEvents.SET_LOADING_STATE]: {\n\t\t\teffect: setLoadingStateEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[cxPageEvents.CLEAR_NOTIFICATIONS]: {\n\t\t\teffect: clearNotificationsEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[cxPageEvents.REMOVE_NOTIFICATIONS]: {\n\t\t\teffect: removeNotificationsEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[cxPageEvents.ADD_NOTIFICATIONS]: {\n\t\t\teffect: addNotificationsEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[uxfPageEvents.NOTIFICATIONS_UPDATED]: {\n\t\t\teffect: notificationsUpdatedEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[uxfPageEvents.LOADING_STATUS_CHANGED]: {\n\t\t\teffect: loadingStatusChangedEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[uxfPageEvents.NOTIFICATION_ACTION_CLICKED]: {\n\t\t\teffect: notificationActionClickedEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[uxfPageEvents.LOADER_ACTION_CLICKED]: {\n\t\t\teffect: loaderActionClickedEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[uxfPageEvents.RECORD_LINK_CLICKED]: {\n\t\t\teffect: recordLinkClickedEffect,\n\t\t\tstopPropagation: true\n\t\t}\n\t},\n\tinitialState: {\n\t\tsidePanelProps: {\n\t\t\topened: false,\n\t\t\theading: '',\n\t\t\tposition: 'RIGHT',\n\t\t\tcontainerProps: {}\n\t\t},\n\t\tuxfPageRef: null,\n\t\tisPageLoading: false\n\t},\n\tstyles: `${styles}`\n});\n\nexport default TAG_NAME;\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-icon';\nimport '../dps-button';\nimport '../dps-link';\nimport 'sn-cx-shell-addon';\nimport { CONSTANTS } from '../../constants.js';\nimport styles from './dps-footer.scss';\n\nconst { COMPONENT_RENDERED } = actionTypes;\n\nlet updateLearnSection = false;\nconst DPSFooter = (state, dispatch) => {\n\tconst { properties } = state;\n\tconst {\n\t\tcopyRightYear,\n\t\tisEmployee,\n\t\tshowTutorial,\n\t\tsiteMap,\n\t\thashRoutes\n\t} = properties;\n\n\tconst LINK_MAPS = {\n\t\tlinkedin: 'https://www.linkedin.com/company/servicenow',\n\t\tyoutube: 'https://www.youtube.com/ServiceNowDevProgram',\n\t\ttwitter: 'https://twitter.com/servicenow',\n\t\tfacebook: 'https://www.facebook.com/servicenow',\n\t\tinstagram: 'https://www.instagram.com/servicenow/'\n\t};\n\n\tlet footerSiteMap = siteMap;\n\tif (showTutorial && !updateLearnSection) {\n\t\t// add tutorials under learn section\n\t\tlet learn = footerSiteMap.find(i => i.label === 'Learn');\n\t\tlearn.children.splice(3, 0, {\n\t\t\tlabel: 'Tutorials',\n\t\t\tlink: '#!/learn/tutorials/{release}'\n\t\t});\n\n\t\tupdateLearnSection = true;\n\t}\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{hashRoutes && hashRoutes[0] !== 'manage-instance' ? (\n\t\t\t\t<div className=\"dps-footer -sitemap\">\n\t\t\t\t\t<div className=\"dps-footer-container\">\n\t\t\t\t\t\t{footerSiteMap.map(({ label, link, children, id }) => (\n\t\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t'dps-footer-sitemap': true,\n\t\t\t\t\t\t\t\t\t'is-open': properties.activeFooterCategory === id\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<li className=\"dps-footer-sitemap-header\">\n\t\t\t\t\t\t\t\t\t<span className='footer-header'>{label}</span>\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\tclassName=\"dps-footer-sitemap-btn\"\n\t\t\t\t\t\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\t\t\t\t\t\tdispatch('DPS_BUTTON#TOGGLE_FOOTER', {\n\t\t\t\t\t\t\t\t\t\t\t\tactiveFooterCategory: id\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<span>{label}</span>\n\t\t\t\t\t\t\t\t\t\t<now-icon icon=\"chevron-down-fill\" size=\"md\" />\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t<li className=\"dps-footer-sitemap-body\">\n\t\t\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t\t\t{children &&\n\t\t\t\t\t\t\t\t\t\t\tchildren\n\t\t\t\t\t\t\t\t\t\t\t\t.filter(data =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t!isEmployee ? !data.internalOnly : true\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t.map(({ label, link, isLinkOpenNewWindow }) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst { computedRelease } = properties;\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst computedLink = link.includes('{release}')\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? link.replace(/{release}/g, computedRelease)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: link;\n\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName='link-text-footer'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tbutton-style\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewIcons\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ticonSize=\"md\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinherit\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thref={computedLink}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\texternal-action={isLinkOpenNewWindow}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttarget={isLinkOpenNewWindow ? '_blank' : null}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ton-click={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (!isLinkOpenNewWindow) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twindow.open(computedLink, '_self');\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t//Tracking links in footer\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\taction: `click out ${label}`,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcategory: \"buttons\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: \"footer\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: \"\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t\t<div className=\"dps-footer -copyright\">\n\t\t\t\t<div className=\"dps-footer-container\">\n\t\t\t\t\t<sn-cx-footer\n\t\t\t\t\t\tfooterConfig={{\n\t\t\t\t\t\t\tnav_links: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttext: 'Terms and conditions',\n\t\t\t\t\t\t\t\t\thref: 'http://www.servicenow.com/terms-of-use.html',\n\t\t\t\t\t\t\t\t\tid: 'dp_terms_conditions'\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttext: 'Privacy statement',\n\t\t\t\t\t\t\t\t\thref: 'https://www.servicenow.com/privacy-statement.html',\n\t\t\t\t\t\t\t\t\tid: 'dp_privacy_statement'\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttext: 'GDPR',\n\t\t\t\t\t\t\t\t\thref: 'https://www.servicenow.com/company/trust/gdpr.html',\n\t\t\t\t\t\t\t\t\tid: 'dp_gdpr'\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttext: 'Cookie policy',\n\t\t\t\t\t\t\t\t\thref: 'https://www.servicenow.com/cookie-policy.html',\n\t\t\t\t\t\t\t\t\tid: 'dp_cookie_pref'\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttext: 'Cookie preferences',\n\t\t\t\t\t\t\t\t\thref: '#',\n\t\t\t\t\t\t\t\t\tid: 'trustarc_footer_link'\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tsocial_links: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tname: 'linkedin',\n\t\t\t\t\t\t\t\t\thref: LINK_MAPS['linkedin']\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tname: 'twitter',\n\t\t\t\t\t\t\t\t\thref: LINK_MAPS['twitter']\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tname: 'youtube',\n\t\t\t\t\t\t\t\t\thref: LINK_MAPS['youtube']\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tname: 'facebook',\n\t\t\t\t\t\t\t\t\thref: LINK_MAPS['facebook']\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tname: 'instagram',\n\t\t\t\t\t\t\t\t\thref: LINK_MAPS['instagram']\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tcopyright_text: `©${copyRightYear} ServiceNow. All rights reserved.`\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t</Fragment>\n\t);\n};\n\nexport default createCustomElement('dps-footer', {\n\tactionHandlers: {\n\t\t['DPS_BUTTON#TOGGLE_FOOTER']: ({\n\t\t\taction,\n\t\t\tproperties,\n\t\t\tupdateProperties\n\t\t}) => {\n\t\t\tconst { activeFooterCategory } = action.payload;\n\n\t\t\tif (properties.activeFooterCategory === activeFooterCategory) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tactiveFooterCategory: null\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tactiveFooterCategory\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_RENDERED]: ({\n\t\t\taction\n\t\t}) => {\n\t\t\tconst trustArcElem = action?.payload?.host?.shadowRoot?.querySelector('dps-link[component-id=\"trustarc_footer_link\"]')?.shadowRoot?.querySelector(\"#trustarc_footer_link\");\n\t\t\tif (trustArcElem && !trustArcElem.getAttribute('dps_trust_arc_link') && Array.isArray(window.appEventData)) {\n\t\t\t\tconst elemRenderedEventArc = new CustomEvent('TRUST_ARC_LINK_ELEMENT', {\n\t\t\t\t\tdetail: {\n\t\t\t\t\t\tpayload: trustArcElem,\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tdocument.dispatchEvent(elemRenderedEventArc);\n\t\t\t\ttrustArcElem.setAttribute('dps_trust_arc_link', 1);\n\t\t\t}\n\t\t}\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DPSFooter\n\t},\n\tproperties: {\n\t\tcomputedRelease: {\n\t\t\tdefault: ''\n\t\t},\n\t\tisEmployee: {\n\t\t\tcomputed({ properties: { userInfo } }) {\n\t\t\t\tconst { roles } = userInfo;\n\n\t\t\t\tif (roles && roles.includes('developer_company_servicenow')) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\tsiteMap: {},\n\t\tresources: {},\n\t\trelease: {},\n\t\tactiveFooterCategory: {\n\t\t\tdefault: ''\n\t\t},\n\t\tcopyRightYear: {\n\t\t\tdefault: CONSTANTS.DEFAULTS.COPYRIGHT_YEAR\n\t\t},\n\t\tuserInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tshowTutorial: {\n\t\t\tdefault: false\n\t\t},\n\t\thashRoutes: {\n\t\t\tdefault: []\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-footer';\n\nexport default createCustomElement('dps-footer-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-footer\n\t\t\tsite-map={[\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Learn',\n\t\t\t\t\tlink: 'home',\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Courses',\n\t\t\t\t\t\t\tlink: 'courses'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Learning Plans',\n\t\t\t\t\t\t\tlink: 'learn_list'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'NOW Learning',\n\t\t\t\t\t\t\tlink: 'home'\n\t\t\t\t\t\t},\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Reference',\n\t\t\t\t\tlink: 'home',\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Server API',\n\t\t\t\t\t\t\tlink: 'home'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Client API',\n\t\t\t\t\t\t\tlink: 'home'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'UI Components',\n\t\t\t\t\t\t\tlink: 'home'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Styles',\n\t\t\t\t\t\t\tlink: 'home'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Tools',\n\t\t\t\t\t\t\tlink: 'home'\n\t\t\t\t\t\t},\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Guides',\n\t\t\t\t\tlink: 'home',\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Instance Guide',\n\t\t\t\t\t\t\tlink: 'home'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Early Access Guide',\n\t\t\t\t\t\t\tlink: 'home'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Framework Overview',\n\t\t\t\t\t\t\tlink: 'home'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Writing API',\n\t\t\t\t\t\t\tlink: 'home'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Writing HTML',\n\t\t\t\t\t\t\tlink: 'home'\n\t\t\t\t\t\t},\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Connect',\n\t\t\t\t\tlink: 'home',\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Events',\n\t\t\t\t\t\t\tlink: 'home'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Share Projects',\n\t\t\t\t\t\t\tlink: 'home'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Blog',\n\t\t\t\t\t\t\tlink: 'home'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'CreatorCon Challenge',\n\t\t\t\t\t\t\tlink: 'home'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Community',\n\t\t\t\t\t\t\tlink: 'home'\n\t\t\t\t\t\t},\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t]}\n\t\t\tresources={[\n\t\t\t\t{\n\t\t\t\t\tlabel: 'More Resources',\n\t\t\t\t\tlink: 'home',\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Developer support',\n\t\t\t\t\t\t\tlink: 'home'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'product documentation',\n\t\t\t\t\t\t\tlink: 'home'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'seismic support',\n\t\t\t\t\t\t\tlink: 'home'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'faq',\n\t\t\t\t\t\t\tlink: 'home'\n\t\t\t\t\t\t},\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'About ServiceNow',\n\t\t\t\t\tlink: 'home',\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'servicenow.com',\n\t\t\t\t\t\t\tlink: 'home'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'partener with us',\n\t\t\t\t\t\t\tlink: 'home'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'service matters blog',\n\t\t\t\t\t\t\tlink: 'home'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'customer success center',\n\t\t\t\t\t\t\tlink: 'home'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'knowledge conference',\n\t\t\t\t\t\t\tlink: 'home'\n\t\t\t\t\t\t},\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t]}\n\t\t></dps-footer>\n\t)\n});\n","import { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { getClientInfo } from '../../utils/clientInfo';\nimport { getQueryParams } from '../../behaviors/router/helpers';\nimport { CONSTANTS } from '../../constants';\n\nexport const DPS_GENERAL_FEEDBACK_ACTIONS = {\n\tDPS_GENERAL_FEEDBACK_FORM_TEXTAREA_CHANGE: 'DPS_GENERAL_FEEDBACK_FORM#TEXTAREA_CHANGE',\n\tDPS_GENERAL_FEEDBACK_FORM_FORM_SUBMIT: 'DPS_GENERAL_FEEDBACK_FORM#FORM_SUBMIT',\n\tDPS_GENERAL_FEEDBACK_FORM_OTHER_TEXTAREA: 'DPS_GENERAL_FEEDBACK_FORM#OTHER_TEXTAREA',\n\tDPS_GENERAL_FEEDBACK_FORM_INPUT_CHANGE: 'DPS_GENERAL_FEEDBACK_FORM#INPUT_CHANGE',\n\tDPS_GENERAL_FEEDBACK_FORM_CHECKBOX_CHANGE: 'DPS_GENERAL_FEEDBACK_FORM#CHECKBOX_CHANGE',\n\tDPS_GENERAL_FEEDBACK_FORM_POST_HTTP: 'DPS_GENERAL_FEEDBACK_FORM#POST_HTTP',\n\tDPS_GENERAL_FEEDBACK_FORM_FORM_SUCCESS: 'DPS_GENERAL_FEEDBACK_FORM#FORM_SUCCESS',\n\tDPS_GENERAL_FEEDBACK_FORM_FORM_PROCESS: 'DPS_GENERAL_FEEDBACK_FORM#FORM_PROCESS',\n\tDPS_GENERAL_FEEDBACK_FORM_FORM_ERROR: 'DPS_GENERAL_FEEDBACK_FORM#FORM_ERROR',\n\tDPS_GENERAL_FEEDBACK_FORM_FORM_RESET: 'DPS_GENERAL_FEEDBACK_FORM#FORM_RESET',\n\tDPS_MODAL_OPENED_SET: 'DPS_MODAL#OPENED_SET'\n};\n\nconst OTHER_OPTION_ID = 'd83b95766f623500f30ef39f5d3ee491';\n\n/**\n * Dispatched when the user types in the textarea\n * @type {{action: Object}}\n */\nexport const handleTextAreaChange = ({updateProperties, action, properties}) => {\n\tconst {value} = action.payload.target;\n\tconst { maxLength } = properties;\n\t// Update charsLeft and capture the textarea value\n\tupdateProperties({\n\t\tcharsLeft: maxLength - value.length,\n\t\tfeedbackText: value\n\t});\n};\n\n/**\n * Dispatched when the user clicks on radio buttons in \"What are you trying to do now?\"\n * to detect if the radio button is for \"Register/Login\" or \"Other\". If so, show the appropriate\n * message.\n * @type {{action: Object}}\n */\nexport const handleOtherTextarea = ({updateProperties, action}) => {\n\tconst {name, id} = action.payload.target;\n\tlet showOtherTextarea = false;\n\n\tif (name === 'question_1' && id === OTHER_OPTION_ID) {\n\t\tshowOtherTextarea = true;\n\t}\n\n\tupdateProperties({ showOtherTextarea});\n};\n\n/**\n * Validates form\n * @type {{action: Object}}\n */\nconst validateForm = required => !required.includes('');\n\n/**\n * Basic email validation. Checks for '@' and '.'\n * @param {*} email\n */\n\nconst validateEmail = email =>  (email.includes('@') && email.includes('.'));\n\n/**\n * Dispatched when the user submits form. Conducts form validation and\n * provides appropriate error messages if unsuccessful.\n * @type {{action: Object}}\n */\nexport const handleFormSubmission = ({dispatch, action, properties, updateProperties}) => {\n\tconst {event, submittedFrom} = action.payload;\n\tconst {response, feedbackText, messages, routeName, userInfo: {email, sys_id, user_id}, questions: {question_5}} = properties;\n\tconst {question_1, question_2, question_4: emailEntered, question_1_Other, question_5: responseRequested} = response;\n\tconst required = [question_1, question_2];\n\tconst userEmail = email !== 'null' && email;\n\n\t// Form Validation\n\tif (validateForm(required) &&\n\t\t(!responseRequested || userEmail || validateEmail(emailEntered))\n\t) {\n\t\tconst answeredOther = (question_1 === OTHER_OPTION_ID);\n\t\tconst responseRequestedOptions = question_5 && question_5.options;\n\n\t\tlet question_5Index = responseRequested ? 1:0;\n\t\tif (responseRequestedOptions[0] && responseRequestedOptions[0].text === 'Yes') {\n\t\t\tquestion_5Index = responseRequested ? 0:1;\n\t\t}\n\n\t\tconst responseRequestedOption = question_5 && question_5.options[question_5Index];\n\t\tconst responseRequestedSysId = responseRequestedOption && responseRequestedOption.sys_id;\n\n\t\tif (answeredOther && !question_1_Other) {\n\t\t\t// Form will display an error message when a user selects Other option\n\t\t\t// and does not provide furhter information.\n\t\t\tupdateProperties({\n\t\t\t\terrors: {\n\t\t\t\t\tquestion_1_Other: messages.error_message.other_text,\n\t\t\t\t\tquestion_1: '',\n\t\t\t\t\tquestion_2: '',\n\t\t\t\t\tquestion_4: ''\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tconst url=window.location.hash;\n\t\t\tconst queryParams = getQueryParams(url);\n\t\t\tlet isSubmittedFromUrl = false;\n\n\t\t\tif (queryParams &&\n\t\t\t\tqueryParams.m === CONSTANTS.DEFAULTS.DEV_GENERAL_FEEDBACK_MODAL_QUERY_PARAM &&\n\t\t\t\turl.includes('home')) {\n\t\t\t\t\n\t\t\t\tisSubmittedFromUrl = true;\n\t\t\t}\n\t\t\t// Note: Router code may change to return a nicer set of location objects\n\t\t\t// Note: empty data fields need to be populated once user information is available\n\t\t\t// Note: submit responseRequestedSysId to Question_4 because the back end expects it rather than Question_5\n\n\t\t\tdispatch(DPS_GENERAL_FEEDBACK_ACTIONS.DPS_GENERAL_FEEDBACK_FORM_POST_HTTP, {\n\t\t\t\tdata: {\n\t\t\t\t\tsys_id: sys_id || '',\n\t\t\t\t\tlogged_in_user_id: user_id || '',\n\t\t\t\t\tcategory: 'General',\n\t\t\t\t\tpage_location: location.hash.substring(2),\n\t\t\t\t\ttable_name: '',\n\t\t\t\t\tcontent_id: '', // this data will always be empty for general feedback\n\t\t\t\t\tfeedback_text: feedbackText,\n\t\t\t\t\tuser_email: userEmail || emailEntered || '',\n\t\t\t\t\tclient_info: getClientInfo(),\n\t\t\t\t\taction: 'create',\n\t\t\t\t\tsubmitted_from: routeName === 'error' ? '404' : (isSubmittedFromUrl? 'Generic Modal' :submittedFrom),\n\t\t\t\t\twth: {\n\t\t\t\t\t\tquestion_1,\n\t\t\t\t\t\tquestion_2,\n\t\t\t\t\t\tquestion_5: responseRequestedSysId,\n\t\t\t\t\t\tquestion_2_Other: response.question_1_Other // Saved under question_2_Other in table\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tconst errors = {...properties.errors};\n\n\t\tObject.keys(response).forEach((question, question_number) => {\n\t\t\tif (question === 'question_1_Other') {\n\t\t\t\tconst answeredOther = (question_1 === OTHER_OPTION_ID);\n\t\t\t\tif (answeredOther && !question_1_Other) {\n\t\t\t\t\terrors.question_1_Other = messages.error_message.other_text;\n\t\t\t\t} else {\n\t\t\t\t\terrors.question_1_Other = '';\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst numRequiredQuestions = 3; // question1, question1_other, question2\n\t\t\t\tif(!response[question] && question_number < numRequiredQuestions) {\n\t\t\t\t\terrors[question] = messages.info_message.required;\n\t\t\t\t} else {\n\t\t\t\t\terrors[question] = '';\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tif (!userEmail && responseRequested) {\n\t\t// validation for the email\n\t\t\tif (!emailEntered.length) {\n\t\t\t\terrors.question_4 = 'Email is required.';\n\t\t\t} else if (!validateEmail(emailEntered)) {\n\t\t\t\terrors.question_4 = 'Please enter a valid email address.';\n\t\t\t}\n\t\t}\n\n\n\t\tupdateProperties({\n\t\t\terrors\n\t\t});\n\t}\n};\n\n/**\n * Dispatches createHttpEffect with form data\n * @type {{action: Object}}\n */\nexport const handleGeneralFeedbackFormRequested = createHttpEffect('/feedback.do?action=create_feedback&category=General', {\n\tmethod: 'POST',\n\tdataParam: 'data',\n\tbatch: false,\n\tsuccessActionType: DPS_GENERAL_FEEDBACK_ACTIONS.DPS_GENERAL_FEEDBACK_FORM_FORM_SUCCESS,\n\tprocessActionType: DPS_GENERAL_FEEDBACK_ACTIONS.DPS_GENERAL_FEEDBACK_FORM_FORM_PROCESS,\n\terrorActionType: DPS_GENERAL_FEEDBACK_ACTIONS.DPS_GENERAL_FEEDBACK_FORM_FORM_ERROR\n});\n\n/**\n * When form submission is successful - Form will show\n * Thank You message.\n * @type {{action: Object}}\n*/\nexport const handleGeneralFeedbackFormSucceeded = ({updateProperties}) => (\n\tupdateProperties({isFormSubmitted: true})\n);\n\n/**\n * When form submission is processing - Form submit\n * button is disabled.\n * @type {{action: Object}}\n */\nexport const handleGeneralFeedbackFormProcessed = ({updateProperties}) => (\n\tupdateProperties({submitDisabled: true})\n);\n\n/**\n * When form submission fails\n * @type {{action: Object}}\n */\nexport const handleGeneralFeedbackFormError = ({updateProperties}) => (\n\tupdateProperties({submitDisabled: false})\n);\n\n/**\n * Dispatched when the user clicks on radio buttons. Captures radio button values.\n * @type {{action: Object}}\n */\nexport const handleInputChange = ({action, updateProperties, properties}) => {\n\tconst {name, value} = action.payload.target;\n\tconst {response} = properties;\n\n\tupdateProperties({\n\t\tresponse: {\n\t\t\t...response,\n\t\t\t[name]: value\n\t\t}\n\t});\n};\n\nexport const handleCheckboxChange = ({action, updateProperties, properties}) => {\n\tconst {name, checked} = action.payload.target;\n\tconst {response} = properties;\n\n\tupdateProperties({\n\t\tresponse: {\n\t\t\t...response,\n\t\t\t[name]: checked\n\t\t}\n\t});\n};\n\n/**\n * Resets form\n * @type {{action: Object}}\n */\nexport const handleFormReset = ({updateProperties, state, properties: { maxLength }}) => {\n\tstate.formRef.current.reset();\n\n\t// resets form submission after modal is closed\n\tupdateProperties({\n\t\tisFormSubmitted: false,\n\t\tshowOtherErrorMsg: false,\n\t\tshowOtherTextarea: false,\n\t\tsubmitDisabled: false,\n\t\tfeedbackText: '',\n\t\tresponse: {\n\t\t\tquestion_1: '',\n\t\t\tquestion_1_Other: '',\n\t\t\tquestion_2: '',\n\t\t\tquestion_4: '',\n\t\t\tquestion_5: '',\n\t\t},\n\t\terrors: {\n\t\t\tquestion_1: '',\n\t\t\tquestion_1_Other: '',\n\t\t\tquestion_2: '',\n\t\t\tquestion_4: '',\n\t\t\tquestion_5: '',\n\t\t},\n\t\tcharsLeft: maxLength,\n\t});\n};\n\nexport const handleModalOpened = ({dispatch}) => {\n\tdispatch(DPS_GENERAL_FEEDBACK_ACTIONS.DPS_GENERAL_FEEDBACK_FORM_FORM_RESET);\n};\n\nexport const DPS_GENERAL_FEEDBACK_ACTION_HANDLERS = {\n\t[DPS_GENERAL_FEEDBACK_ACTIONS.DPS_GENERAL_FEEDBACK_FORM_TEXTAREA_CHANGE]: handleTextAreaChange,\n\t[DPS_GENERAL_FEEDBACK_ACTIONS.DPS_GENERAL_FEEDBACK_FORM_FORM_SUBMIT]: handleFormSubmission,\n\t[DPS_GENERAL_FEEDBACK_ACTIONS.DPS_GENERAL_FEEDBACK_FORM_POST_HTTP]: handleGeneralFeedbackFormRequested,\n\t[DPS_GENERAL_FEEDBACK_ACTIONS.DPS_GENERAL_FEEDBACK_FORM_FORM_SUCCESS]: handleGeneralFeedbackFormSucceeded,\n\t[DPS_GENERAL_FEEDBACK_ACTIONS.DPS_GENERAL_FEEDBACK_FORM_FORM_PROCESS]: handleGeneralFeedbackFormProcessed,\n\t[DPS_GENERAL_FEEDBACK_ACTIONS.DPS_GENERAL_FEEDBACK_FORM_FORM_ERROR]: handleGeneralFeedbackFormError,\n\t[DPS_GENERAL_FEEDBACK_ACTIONS.DPS_GENERAL_FEEDBACK_FORM_INPUT_CHANGE]: handleInputChange,\n\t[DPS_GENERAL_FEEDBACK_ACTIONS.DPS_GENERAL_FEEDBACK_FORM_CHECKBOX_CHANGE]: handleCheckboxChange,\n\t[DPS_GENERAL_FEEDBACK_ACTIONS.DPS_GENERAL_FEEDBACK_FORM_OTHER_TEXTAREA]: handleOtherTextarea,\n\t[DPS_GENERAL_FEEDBACK_ACTIONS.DPS_GENERAL_FEEDBACK_FORM_FORM_RESET]: handleFormReset,\n\t[DPS_GENERAL_FEEDBACK_ACTIONS.DPS_MODAL_OPENED_SET]: handleModalOpened\n};\n","import { DPS_GENERAL_FEEDBACK_ACTIONS } from './actionHandlers';\n\nexport const formView = (dispatch, state) => {\n\tconst {\n\t\tmaxLength,\n\t\tcharsLeft,\n\t\totherMaxLength,\n\t\totherCharsLeft,\n\t\tshowOtherTextarea,\n\t\tsubmitDisabled,\n\t\tresponse,\n\t\terrors,\n\t\tquestions,\n\t\tsubmittedFrom,\n\t\tuserInfo\n\t} = state.properties;\n\tconst {componentId, formRef} = state;\n\tconst {is_logged_in} = userInfo;\n\n\t// TODO: Add loading screen\n\tif (!questions) {\n\t\treturn null;\n\t}\n\n\t// Question 3 is skipped and not in the form\n\tconst { question_1, question_2, question_4, question_5 } = questions;\n\n\tconst showQuestionOneMessage = (options, isLoggedIn) => {\n\t\tconst option = options.filter(option => option.sys_id === response.question_1)[0];\n\n\t\tif (option) {\n\t\t\treturn isLoggedIn ?\n\t\t\t\toption.info_message_logged_in_user\n\t\t\t\t: option.info_message_guest_user;\n\t\t}\n\t};\n\n\tconst hasUserEmail = userInfo && userInfo.email && userInfo.email.length && userInfo.email !== 'null';\n\n\tconst showEmailInput = response && response.question_5 && !hasUserEmail;\n\n\treturn (\n\t\tquestions ?\n\t\t\t<form\n\t\t\t\tclassName=\"dps-general-feedback-form\"\n\t\t\t\ton-submit={(e) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t}}\n\t\t\t\tid={`form-${componentId}`}\n\t\t\t\tref={formRef}\n\t\t\t>\n\t\t\t\t<div>\n\t\t\t\t\t<fieldset className=\"dps-general-feedback-form-fieldset\">\n\t\t\t\t\t\t<legend>{question_1.text} <span>*</span>\n\t\t\t\t\t\t</legend>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\terrors.question_1.length > 0 ?\n\t\t\t\t\t\t\t\t<span className=\"dps-general-feedback-form-msg -error\">\n\t\t\t\t\t\t\t\t\t{errors.question_1}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tquestion_1.options.map(option =>\n\t\t\t\t\t\t\t\t<div className=\"dps-general-feedback-form-field\">\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\tid={option.sys_id}\n\t\t\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\t\t\tname=\"question_1\"\n\t\t\t\t\t\t\t\t\t\tvalue={option.sys_id}\n\t\t\t\t\t\t\t\t\t\tchecked={response.question_1 === option.sys_id}\n\t\t\t\t\t\t\t\t\t\ton-input={e => dispatch(DPS_GENERAL_FEEDBACK_ACTIONS.DPS_GENERAL_FEEDBACK_FORM_INPUT_CHANGE, {target: e.target})}\n\t\t\t\t\t\t\t\t\t\ton-change={e => dispatch(DPS_GENERAL_FEEDBACK_ACTIONS.DPS_GENERAL_FEEDBACK_FORM_OTHER_TEXTAREA, {target: e.target})}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<label htmlFor={option.sys_id}>{option.text}</label><br/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{showOtherTextarea ?\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\t\t\tname=\"question_1_Other\"\n\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t'dps-general-feedback-form-textarea': true,\n\t\t\t\t\t\t\t\t\t\t'-other': true,\n\t\t\t\t\t\t\t\t\t\t'-error': errors.question_1_Other.length > 0\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\trows={1}\n\t\t\t\t\t\t\t\t\tcols={15}\n\t\t\t\t\t\t\t\t\tmaxlength={otherMaxLength}\n\t\t\t\t\t\t\t\t\ton-input={e => dispatch(DPS_GENERAL_FEEDBACK_ACTIONS.DPS_GENERAL_FEEDBACK_FORM_INPUT_CHANGE, {target: e.target})}\n\t\t\t\t\t\t\t\t/>,\n\t\t\t\t\t\t\t\t<div className=\"dps-general-feedback-form-textarea-msgs\">\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\terrors.question_1_Other.length > 0 ? <span className=\"dps-general-feedback-form-msg -error\">{errors.question_1_Other}</span> : null\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t] : null\n\t\t\t\t\t\t}\n\t\t\t\t\t</fieldset>\n\t\t\t\t\t<fieldset className=\"dps-general-feedback-form-fieldset\">\n\t\t\t\t\t\t<legend>{question_2.text} <span>*</span></legend>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\terrors.question_2.length > 0 ?\n\t\t\t\t\t\t\t\t<span className=\"dps-general-feedback-form-msg -error\">\n\t\t\t\t\t\t\t\t\t{errors.question_2}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tquestion_2.options.map(option =>\n\t\t\t\t\t\t\t\t<div className=\"dps-general-feedback-form-field\">\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\tid={option.sys_id}\n\t\t\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\t\t\tname=\"question_2\"\n\t\t\t\t\t\t\t\t\t\tvalue={option.sys_id}\n\t\t\t\t\t\t\t\t\t\tchecked={response.question_2 === option.sys_id}\n\t\t\t\t\t\t\t\t\t\ton-input={e => dispatch(DPS_GENERAL_FEEDBACK_ACTIONS.DPS_GENERAL_FEEDBACK_FORM_INPUT_CHANGE, {target: e.target})}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<label htmlFor={option.sys_id}>{option.text}</label><br/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t</fieldset>\n\n\t\t\t\t\t<div className=\"dps-general-feedback-form-textarea\">\n\t\t\t\t\t\t<label htmlFor=\"feedbackText\">Tell us more</label>\n\t\t\t\t\t\t<p className=\"dps-general-feedback-form-msg\">\n\t\t\t\t\t\t\t{showQuestionOneMessage(question_1.options, is_logged_in)}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\tid=\"feedbackText\"\n\t\t\t\t\t\t\tname=\"feedbackText\"\n\t\t\t\t\t\t\tclassName=\"dps-general-feedback-form-textarea\"\n\t\t\t\t\t\t\trows={5}\n\t\t\t\t\t\t\tcols={85}\n\t\t\t\t\t\t\tmaxlength={maxLength}\n\t\t\t\t\t\t\ton-input={e => dispatch(DPS_GENERAL_FEEDBACK_ACTIONS.DPS_GENERAL_FEEDBACK_FORM_TEXTAREA_CHANGE, {target: e.target})}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<p className=\"dps-general-feedback-form-msg -chars-left\">{charsLeft} characters left</p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<fieldset className=\"dps-general-feedback-form-fieldset\">\n\t\t\t\t\t{\n\t\t\t\t\t\terrors.question_5 && errors.question_5.length > 0 ?\n\t\t\t\t\t\t\t<span className=\"dps-general-feedback-form-msg -error\">\n\t\t\t\t\t\t\t\t{errors.question_5}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t}\n\t\t\t\t\t<div className=\"dps-general-feedback-form-field\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tid=\"question_5\"\n\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\tname=\"question_5\"\n\t\t\t\t\t\t\ton-input={e => dispatch(DPS_GENERAL_FEEDBACK_ACTIONS.DPS_GENERAL_FEEDBACK_FORM_CHECKBOX_CHANGE, {target: e.target})}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<label htmlFor=\"question_5\">{question_5.text}</label>\n\t\t\t\t\t</div>\n\n\t\t\t\t</fieldset>\n\t\t\t\t{showEmailInput ?\n\t\t\t\t\t<fieldset className=\"dps-general-feedback-form-fieldset -EmailField\">\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\terrors.question_4.length > 0 ?\n\t\t\t\t\t\t\t\t<span className=\"dps-general-feedback-form-msg -error\">\n\t\t\t\t\t\t\t\t\t{errors.question_4}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t}\n\t\t\t\t\t\t<label for=\"question_4\">{question_4.text}<span>*</span></label>\n\t\t\t\t\t\t<br></br>\n\t\t\t\t\t\t<dps-input\n\t\t\t\t\t\t\tname=\"question_4\"\n\t\t\t\t\t\t\ton-input={e => dispatch(DPS_GENERAL_FEEDBACK_ACTIONS.DPS_GENERAL_FEEDBACK_FORM_INPUT_CHANGE, {target: e.target})}\n\t\t\t\t\t\t> </dps-input>\n\t\t\t\t\t</fieldset>\n\t\t\t\t\t:null}\n\t\t\t\t<button \n\t\t\t\t\tclassName=\"dps-button -primary -sm\" \n\t\t\t\t\tdisabled={submitDisabled} \n\t\t\t\t\ttype=\"submit\" \n\t\t\t\t\ton-click={(e) => {\n\t\t\t\t\t\tdispatch(DPS_GENERAL_FEEDBACK_ACTIONS.DPS_GENERAL_FEEDBACK_FORM_FORM_SUBMIT, {event: e, submittedFrom: submittedFrom})\n\t\t\t\t\t}}>\n\t\t\t\t\t\tSubmit Feedback\n\t\t\t\t</button>\n\t\t\t</form>\n\t\t\t: null\n\t);\n};\n\nexport const thankYouView = state => {\n\tconst { messages } = state.properties;\n\n\treturn (\n\t\t<p className=\"dps-general-feedback-form-msg -successful\">{messages.success_message.article_submit}</p>\n\t);\n};\n","import { DPS_GENERAL_FEEDBACK_ACTIONS } from './actionHandlers';\nimport '../dps-modal';\nimport {formView, thankYouView} from './modalContentView';\n\nconst view = (state, { dispatch }) => {\n\tconst {\n\t\topened,\n\t\tisFormSubmitted\t\n\t} = state.properties;\n\n\treturn (\n\t\t<dps-modal\n\t\t\topened={opened}\n\t\t\tsize=\"sm\"\n\t\t\theaderLabel={isFormSubmitted ? 'Thanks for submitting your feedback' : 'Please help us make a better experience for you'}\n\t\t\tmanagedOpen={true}\n\t\t\tfooterActions={isFormSubmitted && [{label:'Close', clickActionType: DPS_GENERAL_FEEDBACK_ACTIONS.DPS_MODAL_OPENED_SET, value: false}]}\n\t\t>\n\t\t\t{isFormSubmitted ? thankYouView(state) : formView(dispatch, state)}\n\t\t</dps-modal>\n\t);\n};\n\nexport default view; ","import {actionTypes, createCustomElement} from '@servicenow/ui-core';\nimport snabbdom, {createRef} from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-general-feedback-form.scss';\nimport view from './view';\nimport {\n\tDPS_GENERAL_FEEDBACK_ACTION_HANDLERS as actionHandlers\n} from './actionHandlers';\nconst { COMPONENT_CONNECTED } = actionTypes;\n\nexport default createCustomElement('dps-general-feedback-form', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tinitialState: {\n\t\tformRef: null\n\t},\n\tproperties: {\n\t\tsubmittedFrom: {\n\t\t\tdefault: ''\n\t\t},\n\t\tfeedbackText: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * All form field questions containing its sys_id\n\t\t * @type {Object}\n\t\t */\n\t\tquestions: {},\n\t\t/**\n\t\t * Contains feedback form messages\n\t\t * @type {Object}\n\t\t */\n\t\tmessages: {},\n\t\t/**\n\t\t * User input response when user selects option\n\t\t * Question 3 is skipped\n\t\t * @type {Object}\n\t\t */\n\t\tresponse: {\n\t\t\tdefault: {\n\t\t\t\tquestion_1: '',\n\t\t\t\tquestion_1_Other: '',\n\t\t\t\tquestion_2: '',\n\t\t\t\tquestion_4: '',\n\t\t\t\tquestion_5: ''\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Error messages\n\t\t * Question 3 is skipped\n\t\t * @type {Object}\n\t\t */\n\t\terrors: {\n\t\t\tdefault: {\n\t\t\t\tquestion_1: '',\n\t\t\t\tquestion_1_Other: '',\n\t\t\t\tquestion_2: '',\n\t\t\t\tquestion_4: '',\n\t\t\t\tquestion_5: '',\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Indicates if the modal is opened.\n\t\t * @type {boolean}\n\t\t */\n\t\topened: {default: false},\n\t\t/**\n\t\t * Show this message when user clicks on \"Other\" option.\n\t\t * @type {boolean}\n\t\t */\n\t\tshowOtherTextarea: {default: false},\n\t\t/**\n\t\t * Show this message when user does not provide a reason to \"Other\" option.\n\t\t * @type {boolean}\n\t\t */\n\t\tshowOtherErrorMsg: {default: false},\n\t\t/**\n\t\t * Set maximum characters of textarea\n\t\t * @type {number}\n\t\t */\n\t\tmaxLength:{default: 400},\n\t\t/**\n\t\t * The remaining amount of characters for textarea. Initial\n\t\t * amount should be equal to maxLength.\n\t\t * @type {number}\n\t\t */\n\t\tcharsLeft: {default: 400},\n\t\t/**\n\t\t * Set maximum characters of Other textarea\n\t\t * @type {number}\n\t\t */\n\t\totherMaxLength:{default: 25},\n\t\t/**\n\t\t * The remaining amount of characters for Other textarea. Initial\n\t\t * amount should be equal to otherMaxLength.\n\t\t * @type {number}\n\t\t */\n\t\totherCharsLeft: {default: 25},\n\t\t/**\n\t\t * When a form is in the process of submitting, set this to true.\n\t\t * Otherwise, set as false.\n\t\t * @type {boolean}\n\t\t */\n\t\tsubmitDisabled: {default: false},\n\t\t/**\n\t\t * Indicates if a form has been submitted or not.\n\t\t * @type {boolean}\n\t\t */\n\t\tisFormSubmitted: {default: false},\n\t\t/**\n\t\t * User information\n\t\t * @type {object}\n\t\t */\n\t\tuserInfo: {},\n\t\t/**\n\t\t * Route name to check for\n\t\t * submission location\n\t\t * @type {object}\n\t\t */\n\t\trouteName: {}\n\t},\n\tactionHandlers: {\n\t\t...actionHandlers,\n\t\t[COMPONENT_CONNECTED]({updateState}) {\n\t\t\tupdateState({\n\t\t\t\tformRef: createRef()\n\t\t\t});\n\t\t}\n\t},\n\tstyles\n});\n\n\n\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-button';\nimport '../../src/components/dps-general-feedback-form';\n\nexport default createCustomElement('dps-general-feedback-form-example', {\n\trenderer: { type: snabbdom },\n\tproperties: {\n\t\topened: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t'DPS_MODAL#OPENED_SET': ({ updateProperties, action }) => {\n\t\t\taction.stopPropagation();\n\t\t\tupdateProperties({ opened: action.payload.value });\n\t\t}\n\t},\n\tview: ({ properties: { opened } }, { updateProperties }) => (\n\t\t<Fragment>\n\t\t\t<dps-button\n\t\t\t\tlabel=\"Open modal\"\n\t\t\t\tsize=\"md\"\n\t\t\t\tvariant=\"primary\"\n\t\t\t\ton-click={() => updateProperties({ opened: true })}\n\t\t\t/>\n\t\t\t<dps-general-feedback-form\n\t\t\t\topened={opened}\n\t\t\t\toptions={{\n\t\t\t\t\tquestion_1: [{\n\t\t\t\t\t\tinfo_message_guest_user: '<span class=\"feedback-info sn-info-text\" >For issues logging into the Developer Site, email address changes, or you did not receive your confirmation email, please directly email ssosupport@servicenow.com. For any other issues - please include your email address so that we have a way of reaching you.</span>',\n\t\t\t\t\t\tinfo_message_logged_in_user: '<span class=\"feedback-info sn-info-text\" >For email address changes, please directly email ssosupport@servicenow.com. </span>',\n\t\t\t\t\t\tsys_id: '205da07f0f0a31004cbece1be1050ebc',\n\t\t\t\t\t\ttext: 'Register/log in',\n\t\t\t\t\t\ttype: 'Option',\n\t\t\t\t\t\t__proto__: Object\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tinfo_message_guest_user: null,\n\t\t\t\t\t\tinfo_message_logged_in_user: null,\n\t\t\t\t\t\tsys_id: '755de07f0f0a31004cbece1be1050e2b',\n\t\t\t\t\t\ttext: 'Learn about the platform',\n\t\t\t\t\t\ttype: 'Option',\n\t\t\t\t\t\t__proto__: Object\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tinfo_message_guest_user: null,\n\t\t\t\t\t\tinfo_message_logged_in_user: null,\n\t\t\t\t\t\tsys_id: '7a5de07f0f0a31004cbece1be1050eea',\n\t\t\t\t\t\ttext: 'Look up information',\n\t\t\t\t\t\ttype: 'Option',\n\t\t\t\t\t\t__proto__: Object\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tinfo_message_guest_user: null,\n\t\t\t\t\t\tinfo_message_logged_in_user: null,\n\t\t\t\t\t\tsys_id: 'd83b95766f623500f30ef39f5d3ee491',\n\t\t\t\t\t\ttext: 'Other',\n\t\t\t\t\t\ttype: 'Option',\n\t\t\t\t\t\t__proto__: Object\n\t\t\t\t\t}],\n\t\t\t\t\tquestion_2: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tinfo_message_guest_user: null,\n\t\t\t\t\t\t\tinfo_message_logged_in_user: null,\n\t\t\t\t\t\t\tsys_id: '329ac5310f0675004cbece1be1050e14',\n\t\t\t\t\t\t\ttext: 'Yes',\n\t\t\t\t\t\t\ttype: 'Option',\n\t\t\t\t\t\t\t__proto__: Object\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tinfo_message_guest_user: null,\n\t\t\t\t\t\t\tinfo_message_logged_in_user: null,\n\t\t\t\t\t\t\tsys_id: '4caa49310f0675004cbece1be1050ee7',\n\t\t\t\t\t\t\ttext: 'No',\n\t\t\t\t\t\t\ttype: 'Option'\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\tquestion_3: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tinfo_message_guest_user: null,\n\t\t\t\t\t\t\tinfo_message_logged_in_user: null,\n\t\t\t\t\t\t\tsys_id: '9a2d427813e8e300700c56df3244b0a9',\n\t\t\t\t\t\t\ttext: 'No',\n\t\t\t\t\t\t\ttype: 'Option',\n\t\t\t\t\t\t\t__proto__: Object\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tinfo_message_guest_user: null,\n\t\t\t\t\t\t\tinfo_message_logged_in_user: null,\n\t\t\t\t\t\t\tsys_id: '9e0d0abc13e8e300700c56df3244b0ae',\n\t\t\t\t\t\t\ttext: 'Yes',\n\t\t\t\t\t\t\ttype: 'Option',\n\t\t\t\t\t\t\t__proto__: Object\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}}\n\t\t\t></dps-general-feedback-form>\n\t\t</Fragment>\n\t)\n});\n","export const DPS_PREV_NEXT_DOC_ACTIONS = {\n\tNEXT_CLICKED: 'DPS_PREV_NEXT_DOC#NEXT_CLICKED',\n\tPREV_CLICKED: 'DPS_PREV_NEXT_DOC#PREV_CLICKED'\n};","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-icon';\nimport styles from './_dps-prev-next-doc.scss';\nimport { DPS_PREV_NEXT_DOC_ACTIONS } from './actions';\n\nconst DpsPrevNextDoc = (state, dispatch) => {\n\tconst {prev, next, truncated} = state.properties;\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'dps-prev-next-doc': true,\n\t\t\t\t'is-truncated': truncated\n\t\t\t}}>\n\t\t\t<button\n\t\t\t\tclass={{\n\t\t\t\t\t'dps-prev-next-doc-btn': true,\n\t\t\t\t\t'-prev': true,\n\t\t\t\t\t'is-empty': !prev\n\t\t\t\t}}\n\t\t\t\ton-click={()=>{\n\t\t\t\t\tdispatch(DPS_PREV_NEXT_DOC_ACTIONS.PREV_CLICKED);\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{prev ? (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<div className=\"dps-prev-next-doc-btn-content\">\n\t\t\t\t\t\t\t<div className=\"dps-prev-next-doc-btn-label\">\n\t\t\t\t\t\t\t\t{prev.label}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t{prev.description}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"dps-prev-next-doc-btn-content -static\">\n\t\t\t\t\t\t\t<now-icon icon=\"arrow-left-fill\" size=\"lg\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</Fragment>\n\t\t\t\t) : null}\n\t\t\t</button>\n\t\t\t<button\n\t\t\t\tclass={{\n\t\t\t\t\t'dps-prev-next-doc-btn': true,\n\t\t\t\t\t'-next': true,\n\t\t\t\t\t'is-empty': !next\n\t\t\t\t}}\n\t\t\t\ton-click={()=>{\n\t\t\t\t\tdispatch(DPS_PREV_NEXT_DOC_ACTIONS.NEXT_CLICKED);\n\t\t\t\t\t//Tracking the next article button click\n\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\taction: \"next article button clicked\",\n\t\t\t\t\t\tcategory: \"Courses\",\n\t\t\t\t\t\tlabel: next.description,\n\t\t\t\t\t\tvalue: \"\",\n\t\t\t\t\t\tga: true,\n\t\t\t\t\t\tadobe: false\n\t\t\t\t\t})\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"dps-prev-next-doc-btn-content\">\n\t\t\t\t\t{next ? (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t<div className=\"dps-prev-next-doc-btn-label\">\n\t\t\t\t\t\t\t\t{next.label}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t{next.description}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-prev-next-doc-btn-content -static\">\n\t\t\t\t\t<now-icon icon=\"arrow-right-fill\" size=\"lg\" />\n\t\t\t\t</div>\n\t\t\t</button>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-prev-next-doc', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DpsPrevNextDoc\n\t},\n\tproperties: {\n\t\tprev: {\n\t\t\tdefault: {\n\t\t\t\tlabel: 'Previous',\n\t\t\t\tdescription: 'Set property to null to disable'\n\t\t\t}\n\t\t},\n\t\tnext: {\n\t\t\tdefault: {\n\t\t\t\tlabel: 'Next',\n\t\t\t\tdescription: 'Set property to null to disable'\n\t\t\t}\n\t\t},\n\t\ttruncated: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tstyles\n});\n","export const DOC_KEYS = {\n\tSEISMIC: 'ui-framework',\n\tSEISMIC_DEVTOOLS: 'developer-tools',\n\tTECTONIC: 'cli',\n\tDEV_GUIDES: 'dev',\n\tUXF: 'uxf',\n\tXENOLITH: 'xenolith'\n};\n\nexport const DPS_GUIDES_LAYOUT_DEFAULT_OPTIONS = [\n\t{ label: 'UI Framework', value:  DOC_KEYS.SEISMIC, id: DOC_KEYS.SEISMIC },\n\t{ label: 'CLI', value:  DOC_KEYS.TECTONIC, id: DOC_KEYS.TECTONIC },\n\t{ label: 'Dev', value: 'dev', id: DOC_KEYS.DEV_GUIDES },\n\t{ label: 'Developer Tools', value:  DOC_KEYS.SEISMIC_DEVTOOLS, id: DOC_KEYS.SEISMIC_DEVTOOLS },\n\t{ label: 'uxf', value:  DOC_KEYS.UXF, id: DOC_KEYS.UXF },\n\t{ label: 'Xenolith', value: 'xenolith', id: DOC_KEYS.XENOLITH }\n];\n\nexport const DPS_GUIDES_LAYOUT_DEFAULT = 'ui-framework';\n\nexport const CUSTOM_OPTIONS = {\n\tname: 'navTitle',\n\titems: 'subMenu',\n\tid: 'identifier'\n};\n\nexport const DEV_GUIDES_API = {\n\tGETMENU: '/api/snc/v1/guides/nav/:release?',\n\tGETCONTENT: '/api/snc/v1/guides/:release/:category/:identifier'\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport { DEV_GUIDES_API, DOC_KEYS } from './dps-guides-layout-constants';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { DPS_ERROR_ACTIONS, ERROR_CODES } from '../../constants';\nimport { releaseInactive } from '../../utils/releaseHelpers';\nimport { DPS_PREV_NEXT_DOC_ACTIONS } from '../../components/dps-prev-next-doc/actions';\nimport { updateRoute, replaceRoute } from '../../routes';\nimport { createPath, replaceLatest } from '../../utils/url';\nimport { setMetaByValues, setMetaByPageType } from '../../utils/meta';\nimport {\n\thasUserInfoUpdated,\n\tisInactiveRelease,\n\tredirectToAuth,\n\tisEmployee,\n\tuserInfoPopulated\n} from '../../utils/helpers';\n\nconst { COMPONENT_CONNECTED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst guideCatList = [\n\tDOC_KEYS.SEISMIC,\n\tDOC_KEYS.SEISMIC_DEVTOOLS,\n\tDOC_KEYS.TECTONIC,\n\tDOC_KEYS.UXF,\n\tDOC_KEYS.XENOLITH,\n];\n\nexport const DPS_GUIDE_LAYOUT_MENU_ACTIONS = {\n\tREQUEST_MENU_DATA: 'DPS_GUIDE_LAYOUT#REQUEST_MENU_DATA',\n\tMENU_DATA_SUCCEEDED: 'DPS_GUIDE_LAYOUT#MENU_DATA_SUCCEEDED',\n\tMENU_DATA_FAILED: 'DPS_GUIDE_LAYOUT#MENU_DATA_FAILED',\n\tGET_CONTENT: 'DPS_GUIDE_LAYOUT#GET_CONTENT',\n\tCONTENT_DATA_SUCCEEDED: 'DPS_GUIDE_LAYOUT#CONTENT_DATA_SUCCEEDED',\n\tCONTENT_DATA_FAILED: 'DPS_GUIDE_LAYOUT#CONTENT_DATA_FAILED:',\n\tDPS_DROPDOWN_SELECT_OPTION: 'DPS_GUIDE_LAYOUT#DPS_DROPDOWN#SELECT_OPTION'\n};\n\n/*\n ** Helper function to create previous and next links\n */\nfunction generateGuidePath({ category, identifier, release, type, parent }) {\n\tconst parentType = parent ? `/${type}/${parent}/` : `/${type}/`,\n\t\tcatOrRelease = category === 'next-experience' ? category : release;\n\treturn identifier\n\t\t? createPath(\n\t\t\t\t`/reference/${catOrRelease}/${release}${parentType}${identifier}`\n\t\t  )\n\t\t: null;\n}\n\n/*\n ** Helper function to find cli | ui-framework | dev submenu\n */\nconst findSubMenu = (menuData, type) => {\n\tfor (let i = 0; i < menuData.length; i++) {\n\t\tif (menuData[i].id === type) {\n\t\t\treturn menuData[i];\n\t\t}\n\t}\n};\n\nconst getCategory = (type, category) => {\n\treturn (guideCatList.includes(type) && type) || category;\n};\n\nconst doNotSendParentForPrevVancouver = (data, state) => {\n\tconst baseRelease = \"vancouver\";\n\tconst releaseMap = state && state.properties && state.properties.releaseInfo && state.properties.releaseInfo.activeVersionsFormatted;\n\tconst currentRelease = state && state.properties.properties && state.properties.properties.release;\n\tif (releaseMap && currentRelease) {\n\t\tvar releases = Object.keys(releaseMap)\n\t\tvar sortedReleases = releases.sort((a, b) => (a > b ? -1 : 1));\n\t\tconst baseReleaseIndex = sortedReleases.indexOf(baseRelease)\n\t\tif (sortedReleases.indexOf(currentRelease) > baseReleaseIndex) {\n\t\t\tdata.parent = null;\n\t\t}\n\t}\n\n\treturn data\n}\n\n/*\n ** Helper function to find submenu children, if it exists\n */\nconst findSubMenuChildren = (parent, id) => {\n\t// main identifier differs for inspector-tab unlike cli, hence this change\n\tlet newId=id;\n\tif(id==\"inspector-tab\"){\n\t\tnewId=\"next-ui-inspector-tab\"\n\t}\n\tif (parent && parent.children && parent.children.length > 0) {\n\t\tfor (let i = 0; i < parent.children.length; i++) {\n\t\t\tif (parent.children[i].id === newId) {\n\t\t\t\treturn parent.children[i];\n\t\t\t}\n\t\t}\n\t}\n};\n\n\nconst getContent = ({ data, dispatch, state, updateState }) => {\n\tvar dexDevToolsData = { ...data }\n\t/*\n\tThis is a specific handling for only vancouver- releases as it is the only case where \n\twe have different parent child relationships across releases. This code becomes redundant when\n\tvancouver is the last supported release\n\t*/\n\tdexDevToolsData = doNotSendParentForPrevVancouver(data, state)\n\tif (!state.fetchingContent) {\n\t\tupdateState({ fetchingContent: true });\n\t\tdispatch(DPS_GUIDE_LAYOUT_MENU_ACTIONS.GET_CONTENT, { ...dexDevToolsData });\n\t}\n};\n\nconst getMenuData = ({ dispatch, properties, state, updateState }) => {\n\tconst { category, release, parent, child, type } = properties;\n\tconst identifier = child || parent;\n\n\tif (state.fetchingMenuData) {\n\t\treturn;\n\t}\n\tconst contentCategory = getCategory(type, category);\n\n\tupdateState({ fetchingMenuData: true });\n\tdispatch(DPS_GUIDE_LAYOUT_MENU_ACTIONS.REQUEST_MENU_DATA, {\n\t\trelease,\n\t\tcategory,\n\t\tcontentCategory,\n\t\tidentifier\n\t});\n};\n\nconst handleComponentBootstrapped = coeffects => {\n\tconst { properties, updateProperties } = coeffects;\n\n\t// check if release is inactive\n\tif (releaseInactive(properties)) {\n\t\tupdateProperties({\n\t\t\tredirectedFromInactiveRelease: true\n\t\t});\n\t\treturn updateRoute(inactiveResult);\n\t}\n\n\t// set up page and fetch sidebar menu\n\tsetMetaByPageType('guide');\n\tgetMenuData(coeffects);\n};\n\nconst handleComponentPropertyChanged = ({\n\taction,\n\tdispatch,\n\tproperties,\n\tstate,\n\tupdateProperties,\n\tupdateState\n}) => {\n\tconst {\n\t\t\tcategory,\n\t\t\trelease,\n\t\t\tparent,\n\t\t\tchild,\n\t\t\ttype,\n\t\t\tsystemProperties\n\t\t} = properties,\n\t\t{ name, previousValue, value } = action.payload,\n\t\tuserInfoUpdated = hasUserInfoUpdated({ name, value, previousValue }),\n\t\tidentifier = child || parent,\n\t\tcontentCategory = getCategory(type, category);\n\n\t// check if release is inactive\n\tconst inactiveResult = releaseInactive(properties);\n\tif (inactiveResult) {\n\t\tupdateProperties({\n\t\t\tredirectedFromInactiveRelease: true\n\t\t});\n\t\treturn updateRoute(inactiveResult);\n\t}\n\n\t// check releaseInfo to see if alert should be dismissed\n\tif (\n\t\tname === 'releaseInfo' &&\n\t\t!isInactiveRelease({ release: value.release, systemProperties })\n\t) {\n\t\tupdateProperties({\n\t\t\tredirectedFromInactiveRelease: false\n\t\t});\n\t}\n\n\t// re-fetch content when pathname has been updated\n\tif (name === 'pathname') {\n\t\t// prevent fetch if we have no identifier\n\t\tif (!identifier) {\n\t\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND);\n\t\t}\n\n\t\tgetContent({\n\t\t\tdata: {\n\t\t\t\trelease,\n\t\t\t\tcategory: contentCategory,\n\t\t\t\tidentifier,\n\t\t\t\tparent: (child ? parent : null)\n\t\t\t},\n\t\t\tdispatch,\n\t\t\tstate,\n\t\t\tupdateState\n\t\t});\n\t}\n\n\tif (name === 'category' || name === 'release' || userInfoUpdated) {\n\t\t// fetch sidebar menu only when release or category has been updated\n\t\tupdateState({\n\t\t\tfetchingContent: false,\n\t\t\tfetchingMenuData: false\n\t\t});\n\t\tupdateProperties({ menuData: [] });\n\t\tdispatch(DPS_GUIDE_LAYOUT_MENU_ACTIONS.REQUEST_MENU_DATA, {\n\t\t\trelease,\n\t\t\tcategory,\n\t\t\tcontentCategory,\n\t\t\tidentifier\n\t\t});\n\t}\n};\n\nconst handleGetContentData = createHttpEffect(DEV_GUIDES_API.GETCONTENT, {\n\tmethod: 'GET',\n\tpathParams: ['release', 'category', 'identifier'],\n\tqueryParams: ['parent'],\n\tbatch: false,\n\tsuccessActionType: DPS_GUIDE_LAYOUT_MENU_ACTIONS.CONTENT_DATA_SUCCEEDED,\n\terrorActionType: DPS_GUIDE_LAYOUT_MENU_ACTIONS.CONTENT_DATA_FAILED\n});\n\nconst handleContentDataSucceeded = ({\n\taction,\n\tproperties,\n\tupdateProperties,\n\tupdateState\n}) => {\n\tconst {\n\t\tcontent,\n\t\tkb_text,\n\t\tprevious,\n\t\tnext,\n\t\tparent: contentParent,\n\t\tparent_title,\n\t\tinternal,\n\t\tother_releases: otherReleases\n\t} = action.payload.result;\n\tconst { release, type, category, parent ,  menuData } = properties;\n\tconst title =\n\t\t(action.payload.result && action.payload.result.title) || 'Guides';\n\tconst prevIdentifier = previous && previous.main_dc_identifier;\n\tconst nextIdentifier = next && next.main_dc_identifier;\n\n\t// if release is latest, update the route and run this function again\n\tconst newRelease =\n\t\taction &&\n\t\taction.payload &&\n\t\taction.payload.result &&\n\t\taction.payload.result.release;\n\tif (release === 'latest' && newRelease) {\n\t\treplaceLatest(newRelease);\n\t\tupdateState({ fetchingContent: false });\n\t\tupdateProperties({\n\t\t\trelease: newRelease\n\t\t});\n\t\treturn;\n\t}\n\n\t// reroute to first child guide if parent is present and child is null\n\t// ie #!/guides/orlando/next-experience/ui-framework/getting-started\n\t// reroutes to #!/guides/orlando/next-experience/ui-framework/getting-started/introduction\n\t// note: only works for nested submenu\n\tif (!contentParent) {\n\t\tconst typeList = findSubMenu(menuData, type);\n\t\tconst typeListChildren = findSubMenuChildren(typeList, parent);\n\t\tif (\n\t\t\ttypeListChildren &&\n\t\t\ttypeListChildren.children &&\n\t\t\ttypeListChildren.children.length > 0\n\t\t) {\n\t\t\tconst firstChild = typeListChildren.children[0];\n\n\t\t\tupdateProperties({\n\t\t\t\tactiveItem: firstChild.id,\n\t\t\t\ttype: firstChild.category\n\t\t\t});\n\t\t\t// back to original logic\n\t\t\t\t\treplaceRoute(firstChild.href);\n\t\t}\n\t}\n\n\tsetMetaByValues({ title });\n\tupdateState({ fetchingContent: false });\n\tupdateProperties({\n\t\t// fetchingContent: false,\n\t\tcontentData: kb_text || content,\n\t\tinternal,\n\t\tprevious,\n\t\tnext,\n\t\tpreviousGuide: generateGuidePath({\n\t\t\tcategory,\n\t\t\tidentifier: prevIdentifier,\n\t\t\trelease,\n\t\t\ttype,\n\t\t\tparent: contentParent\n\t\t}),\n\t\tnextGuide: generateGuidePath({\n\t\t\tcategory,\n\t\t\tidentifier: nextIdentifier,\n\t\t\trelease,\n\t\t\ttype,\n\t\t\tparent: contentParent\n\t\t}),\n\t\totherReleases\n\t});\n};\n\nconst generateURLsForOtherReleases = (otherRelease, parent, child) => {\n\tconst urlArr = otherRelease.url.split('/');\n\tlet newUrl = otherRelease.url;\n\tif (parent && urlArr.indexOf(parent) === -1) {\n\t\tnewUrl = urlArr\n\t\t\t.slice(0, urlArr.length - 1)\n\t\t\t.concat(parent, child)\n\t\t\t.join('/');\n\t}\n\treturn {\n\t\t...otherRelease,\n\t\turl: newUrl\n\t};\n};\n\nconst handleCallFailed = ({ action, dispatch, properties }) => {\n\tconst {\n\t\tpayload: { data, status }\n\t} = action;\n\tconst errorMsg = data && data.result && data.result.message;\n\tconst { userInfo, parent, child } = properties;\n\tconst isSNUser = userInfoPopulated(userInfo) && isEmployee(userInfo);\n\n\tif (status === ERROR_CODES.UNAUTHORIZED && !userInfo.is_logged_in) {\n\t\tredirectToAuth(location.href);\n\t} else {\n\t\tif (data && data.result && data.result.data && status === 404) {\n\t\t\tconst otherReleases = data.result.data.other_releases\n\t\t\t\t.filter(otherRelease => (!isSNUser ? !otherRelease.internal : true))\n\t\t\t\t.map(otherRelease =>\n\t\t\t\t\tgenerateURLsForOtherReleases(otherRelease, parent, child)\n\t\t\t\t);\n\t\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND, {\n\t\t\t\totherReleases,\n\t\t\t\tcontentTitle: data.result.data.content_title,\n\t\t\t\tisContentNotFoundForCurrentRelease: true\n\t\t\t});\n\t\t} else {\n\t\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND, { message: errorMsg });\n\t\t}\n\t}\n};\n\nconst handleGetContentDataFailed = coeffects => {\n\tconst { updateState } = coeffects;\n\tupdateState({ fetchingContent: false });\n\thandleCallFailed(coeffects);\n};\n\nconst handleGetMenu = createHttpEffect(DEV_GUIDES_API.GETMENU, {\n\tmethod: 'GET',\n\tpathParams: ['release'],\n\tqueryParams: ['category', 'contentCategory', 'identifier'],\n\tbatch: false,\n\tsuccessActionType: DPS_GUIDE_LAYOUT_MENU_ACTIONS.MENU_DATA_SUCCEEDED,\n\terrorActionType: DPS_GUIDE_LAYOUT_MENU_ACTIONS.MENU_DATA_FAILED\n});\n\nconst handleMenuFetchSucceeded = coeffects => {\n\tconst {\n\t\taction,\n\t\tdispatch,\n\t\tproperties,\n\t\tstate,\n\t\tupdateProperties,\n\t\tupdateState\n\t} = coeffects;\n\tconst { payload } = action;\n\tconst data = payload.result ? payload.result.content : [];\n\tconst { category, release, parent, child, type } = properties;\n\tconst guideCategory = getCategory(type, category);\n\tconst identifier = child || parent;\n\n\tif (release === 'latest') {\n\t\tupdateState({ fetchingMenuData: false });\n\t\tgetContent({\n\t\t\tdata: {\n\t\t\t\trelease,\n\t\t\t\tcategory: guideCategory,\n\t\t\t\tidentifier,\n\t\t\t\tparent: (child ? parent : null)\n\t\t\t},\n\t\t\tdispatch,\n\t\t\tstate,\n\t\t\tupdateState\n\t\t});\n\t\treturn;\n\t}\n\n\tif (data.length === 0) {\n\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND);\n\t}\n\n\tconst fixContent = (item, level = 0) => {\n\t\tconst hasParent = item.parent && item.parent.length,\n\t\t\thasSubMenu = item.subMenu && item.subMenu.length,\n\t\t\tparent = hasParent ? `${item.parent}/` : '',\n\t\t\tchildren = hasSubMenu\n\t\t\t\t? item.subMenu.map(item => fixContent(item, level + 1))\n\t\t\t\t: [];\n\t\tlet id, href;\n\n\t\tif (item.category === DOC_KEYS.UXF){\n\t\t\tid = item.identifier;\n\t\t\thref =\n\t\t\t\t!hasSubMenu &&\n\t\t\t\tcreatePath(`/guides/${release}/${category}/${item.category}/${id}`);\n\t\t} else if (category === 'next-experience') {\n\t\t\tid = level === 0 ? item.category : item.name;\n\t\t\thref =\n\t\t\t\t!hasSubMenu &&\n\t\t\t\tcreatePath(\n\t\t\t\t\t`/reference/next-experience/${release}/${item.category}/${parent}${item.name}`\n\t\t\t\t);\n\t\t} else {\n\t\t\tid = hasParent ? item.name : item.identifier;\n\t\t\thref =\n\t\t\t\t!hasSubMenu &&\n\t\t\t\tcreatePath(`/guides/${release}/${category}/${parent}${item.name}`);\n\t\t}\n\n\t\treturn {\n\t\t\tid,\n\t\t\tlabel: item.navTitle,\n\t\t\tcategory: item.category,\n\t\t\thref,\n\t\t\tchildren\n\t\t};\n\t};\n\n\tconst sidebarNav = data.map(fixContent);\n\n\tupdateProperties({ menuData: sidebarNav });\n\tupdateState({ fetchingMenuData: false });\n\n\t// fetch content after successful request for menu\n\t// we want to keep this sequential to prevent race condition.\n\t// race conditions may cause a response of 404 before a 401\n\tgetContent({\n\t\tdata: {\n\t\t\trelease,\n\t\t\tcategory: guideCategory,\n\t\t\tidentifier,\n\t\t\tparent: (child ? parent : null)\n\t\t},\n\t\tdispatch,\n\t\tstate,\n\t\tupdateState\n\t});\n};\n\nconst handleGetMenuDataFailed = coeffects => {\n\tconst { properties, updateState } = coeffects;\n\n\tupdateState({ fetchingMenuData: false });\n\tif (properties.release !== 'latest') {\n\t\thandleCallFailed(coeffects);\n\t}\n};\n\nconst handlePrevClick = ({ action }) => {\n\tconst { previous } = action.payload;\n\tupdateRoute(previous);\n};\n\nconst handleNextClick = ({ action }) => {\n\tconst { next } = action.payload;\n\tupdateRoute(next);\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_CONNECTED]: handleComponentBootstrapped,\n\t[COMPONENT_PROPERTY_CHANGED]: handleComponentPropertyChanged,\n\t[DPS_GUIDE_LAYOUT_MENU_ACTIONS.REQUEST_MENU_DATA]: handleGetMenu,\n\t[DPS_GUIDE_LAYOUT_MENU_ACTIONS.MENU_DATA_SUCCEEDED]: handleMenuFetchSucceeded,\n\t[DPS_GUIDE_LAYOUT_MENU_ACTIONS.MENU_DATA_FAILED]: handleGetMenuDataFailed,\n\t[DPS_GUIDE_LAYOUT_MENU_ACTIONS.GET_CONTENT]: handleGetContentData,\n\t[DPS_GUIDE_LAYOUT_MENU_ACTIONS.CONTENT_DATA_SUCCEEDED]: handleContentDataSucceeded,\n\t[DPS_PREV_NEXT_DOC_ACTIONS.PREV_CLICKED]: handlePrevClick,\n\t[DPS_PREV_NEXT_DOC_ACTIONS.NEXT_CLICKED]: handleNextClick,\n\t[DPS_GUIDE_LAYOUT_MENU_ACTIONS.CONTENT_DATA_FAILED]: handleGetContentDataFailed\n};\n","import { actionTypes } from '@servicenow/ui-core';\nconst {\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_PROPERTY_CHANGED\n} = actionTypes;\nimport scrollToElement from '../utils/scrollToElement';\n\nexport default {\n\tname: 'reactToHash',\n\tproperties: {\n\n\t},\n\tactionHandlers: {\n\t\t/* eslint-disable object-shorthand */\n\t\t[COMPONENT_BOOTSTRAPPED]: ({properties, action: {payload: {options}}}) => {\n\t\t\tconst { delay, hostElement, useOffset, additionalOffset, behavior } = options;\n\t\t\tconst { hash } = properties;\n\t\t\tconst selector = hash ? hash.replace('#', '').replace(/\\-$/, '') : '';\n\n\t\t\tif (delay) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tscrollToElement({\n\t\t\t\t\t\tselector,\n\t\t\t\t\t\tadditionalOffset,\n\t\t\t\t\t\tbehavior,\n\t\t\t\t\t\tuseOffset,\n\t\t\t\t\t\thostElement\n\t\t\t\t\t});\n\t\t\t\t}, delay);\n\t\t\t} else {\n\t\t\t\tscrollToElement({\n\t\t\t\t\tselector,\n\t\t\t\t\tadditionalOffset,\n\t\t\t\t\tbehavior,\n\t\t\t\t\tuseOffset,\n\t\t\t\t\thostElement\n\t\t\t\t});\n\t\t\t}\n\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({action: {payload: {options, name, value}}}) => {\n\t\t\tconst { hostElement, useOffset, additionalOffset, behavior } = options;\n\n\t\t\tif (name === 'hash') {\n\t\t\t\tconst selector = value.replace('#', '');\n\n\t\t\t\tscrollToElement({\n\t\t\t\t\tselector,\n\t\t\t\t\tadditionalOffset,\n\t\t\t\t\tbehavior,\n\t\t\t\t\tuseOffset,\n\t\t\t\t\thostElement\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n};\n","import {\n\tDPS_GUIDES_LAYOUT_DEFAULT_OPTIONS,\n\tDPS_GUIDES_LAYOUT_DEFAULT,\n\tCUSTOM_OPTIONS\n} from './dps-guides-layout-constants';\n\nconst properties = {\n  /**\n   * Active Item\n   **/\n  activeItem: {\n    computed: ({\n      properties: {\n        type,\n        parent,\n        child\n      }\n    }) => {\n      return `${parent}-${child}`;\n    }\n  },\n\n  /**\n   ** specifies the guide type - now-platform, now-experience\n   */\n  category: {\n    default: null\n  },\n  child: {\n    default: null\n  },\n\n  /**\n   * Keep content in contentData for identifier\n   */\n  contentData: {\n    default: ''\n  },\n\n  /**\n   ** Option to show filter nav\n   **/\n  customOptions: {\n    default: DPS_GUIDES_LAYOUT_DEFAULT_OPTIONS\n  },\n\n  /**\n   ** Custom properties name to send nav-filter\n   **/\n  customPropertyNames: {\n    default: CUSTOM_OPTIONS\n  },\n  expandedNavItems: {\n    computed: ({\n      properties: {\n        type,\n        parent,\n        child\n      }\n    }) => [type, parent, child]\n  },\n  fetchingContent: {\n    default: false\n  },\n  hash: {\n    default: ''\n  },\n  instanceInfo: {\n    default: {}\n  },\n  internal: {\n    default: false\n  },\n\n  /**\n   * MenuData\n   */\n  menuData: {\n    default: []\n  },\n\n  /**\n   ** Next guide object\n   **/\n  next: {\n    default: null\n  },\n\n  /**\n   ** Next guide link\n   **/\n  nextGuide: {\n    default: null\n  },\n  otherReleases: {\n    default: []\n  },\n\n  /**\n   ** Pathname from routeparams\n   */\n  parent: {\n    default: null\n  },\n  pathname: {\n    default: ''\n  },\n\n  /**\n   * Pending menuData\n   * We don't want to populate menuData until content is fetched\n   * This prevents the sidebar from rendering before\n   * content is fetched.\n   */\n  pendingMenuData: {\n    default: []\n  },\n\n  /**\n   ** Previous guide object\n   **/\n  previous: {\n    default: null\n  },\n\n  /**\n   ** Previous guide link\n   **/\n  previousGuide: {\n    default: null\n  },\n\n  /**\n   ** Redirects user to active release\n   **/\n  redirectedFromInactiveRelease: {\n    default: false\n  },\n\n  /**\n   **@release - release for docs\n   **/\n  release: {\n\t\tdefault: '',\n\t\trequired: true,\n\t\tschema: {\n\t\t\ttype: 'string'\n\t\t}\n\t},\n  releaseInfo: {\n    default: {}\n  },\n\n  /**\n   ** Used to create redirection url,\n   called in releaseInactive\n   **/\n  routeString: {\n    default: ''\n  },\n\n  /**\n   ** Default selected type\n   **/\n  selectedDocType: {\n    default: DPS_GUIDES_LAYOUT_DEFAULT\n  },\n  systemProperties: {\n    default: {}\n  },\n  type: {\n    default: null\n  },\n  userInfo: {\n    default: {}\n  }\n};\n\nexport default properties;\n","import { isEmployee } from './helpers';\n\nexport const formatFrameworkLabel = (label, userInfo) => {\n\tif (!isEmployee(userInfo)) {\n\t\treturn label;\n\t}\n\n\tconst adjustedLabel = label.toLowerCase();\n\tif (adjustedLabel === 'cli') {\n\t\treturn label + ' (Tectonic)';\n\t}\n\telse if (adjustedLabel === 'ui framework') {\n\t\treturn label + ' (Seismic)';\n\t}\n\treturn label;\n}","import { minimumNowExperienceVersion } from '../../utils/releaseHelpers';\nimport { formatFrameworkLabel } from '../../utils/formatFrameworkLabel';\nimport { DPS_GUIDES_LAYOUT_DEFAULT } from './dps-guides-layout-constants';\n\n// Entire properties is passed in for brevity.\nexport const makeSidebarMenuUrl = (item, properties) => {\n\tlet { type, parent, child, category, release, systemProperties } =\n\t\tproperties || {};\n\tlet hashBangStr = '';\n\n\tparent = item.parent || item.name || parent;\n\tchild = item.parent ? item.name || child : '';\n\n\tif (category === 'now-platform') {\n\t\thashBangStr = `#!/guides/${release}/${category}/${parent}/${child}`;\n\t}\n\n\tif (category === 'now-experience') {\n\t\ttype = item.category || type || DPS_GUIDES_LAYOUT_DEFAULT;\n\t\thashBangStr = `#!/guides/${minimumNowExperienceVersion(\n\t\t\trelease,\n\t\t\tsystemProperties\n\t\t)}/${category}/${type}/${parent}/${child}`;\n\t}\n\n\treturn hashBangStr;\n};\n\nexport const makeSideMenuTypeHashbang = (newType, release) =>\n\t`#!/guides/${release}/next-experience/${newType ||\n\t\tDPS_GUIDES_LAYOUT_DEFAULT}/`;\n\nexport const formatNavItems = (menuData, userInfo) => {\n\treturn menuData.map(menuDataItem => {\n\t\tconst navItem = { ...menuDataItem };\n\n\t\tnavItem.children = navItem.children.map(navItemChild => {\n\t\t\tconst level1 = { ...navItemChild };\n\t\t\tif (level1.children && level1.children.length > 0) {\n\t\t\t\tlevel1.children = level1.children.map(level2 => ({\n\t\t\t\t\t...level2,\n\t\t\t\t\tid: `${level1.id}-${level2.id}`\n\t\t\t\t}));\n\t\t\t}\n\t\t\treturn level1;\n\t\t});\n\n\t\treturn navItem.label\n\t\t\t? { ...navItem, label: formatFrameworkLabel(navItem.label, userInfo) }\n\t\t\t: navItem;\n\t});\n};\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport hljs from '../../utils/hljs-pack';\nimport marked from '../../utils/marked-with-hljs';\nimport { getFormattedInstanceReleaseInfo } from '../../utils/releaseHelpers';\nimport { formatFrameworkLabel } from '../../utils/formatFrameworkLabel';\nimport { isEmployee, userInfoPopulated } from '../../utils/helpers';\nimport { formatNavItems } from './dps-guides-layout-helper';\n\nconst view = state => {\n\tconst {\n\t\tfetchingContent,\n\t\tproperties: {\n\t\t\tactiveItem,\n\t\t\tchild,\n\t\t\tcontentData,\n\t\t\tinternal,\n\t\t\tnext,\n\t\t\tprevious,\n\t\t\tmenuData,\n\t\t\tparent,\n\t\t\trelease,\n\t\t\treleaseInfo,\n\t\t\tpathname,\n\t\t\tsystemProperties,\n\t\t\ttype,\n\t\t\tuserInfo,\n\t\t\tnextGuide,\n\t\t\tpreviousGuide,\n\t\t\totherReleases: other_releases,\n\t\t\tinstanceInfo\n\t\t}\n\t} = state;\n\n\tconst highlightCode = elm =>\n\t\telm.querySelectorAll('pre code').forEach(block => {\n\t\t\thljs.highlightBlock(block);\n\t\t});\n\n\tconst isSNUser = userInfoPopulated(userInfo) && isEmployee(userInfo);\n\n\t// Need to format the other_releases response to take into account a parent path item\n\tconst otherReleases = other_releases\n\t\t.filter(otherRelease => (!isSNUser ? !otherRelease.internal : true))\n\t\t.map(otherRelease => {\n\t\t\tconst urlArr = otherRelease.url.split('/');\n\t\t\tlet newUrl = otherRelease.url;\n\t\t\tif (parent && urlArr.indexOf(parent) === -1) {\n\t\t\t\tnewUrl = urlArr\n\t\t\t\t\t.slice(0, urlArr.length - 1)\n\t\t\t\t\t.concat(parent, child)\n\t\t\t\t\t.join('/');\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...otherRelease,\n\t\t\t\turl: newUrl\n\t\t\t};\n\t\t});\n\n\tconst instanceRelease = getFormattedInstanceReleaseInfo(instanceInfo);\n\tconst navItems = formatNavItems(menuData, userInfo);\n\n\treturn (\n\t\t<dps-template-two-column open>\n\t\t\t<dps-sidebar-nav\n\t\t\t\troute-items={[[type], [type, parent], [type, parent, child]]}\n\t\t\t\tnav-items={navItems}\n\t\t\t\tselected-item={activeItem}\n\t\t\t\tshow-filter={false}\n\t\t\t\tshow-heading={true}\n\t\t\t\tshow-spinner={!menuData.length}\n\t\t\t\tslot=\"sidebar\"\n\t\t\t/>\n\t\t\t<dps-version-switcher\n\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\trouteParamsRelease={release}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tuserInfo={userInfo}\n\t\t\t></dps-version-switcher>\n\t\t\t{fetchingContent ? (\n\t\t\t\t<dps-spinner />\n\t\t\t) : (\n\t\t\t\t<Fragment>\n\t\t\t\t\t{otherReleases && otherReleases.length ? (\n\t\t\t\t\t\t<dps-inline-version-selector\n\t\t\t\t\t\t\tselected={release}\n\t\t\t\t\t\t\treleases={otherReleases}\n\t\t\t\t\t\t\tinstanceRelease={instanceRelease}\n\t\t\t\t\t\t\tsourcePathname={pathname}\n\t\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\t\tshowLatestReleaseIcon={true}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{internal ? <dps-badge variant=\"servicenow\" /> : null}\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"main-content\"\n\t\t\t\t\t\tinnerHTML={marked(contentData || ' ')}\n\t\t\t\t\t\thook-insert={({ elm }) => highlightCode(elm)}\n\t\t\t\t\t\thook-update={({ elm }) => highlightCode(elm)}\n\t\t\t\t\t></div>\n\t\t\t\t</Fragment>\n\t\t\t)}\n\t\t\t<dps-prev-next-doc\n\t\t\t\tprev={\n\t\t\t\t\tprevious ? { label: 'Previous Article', description: previous.title } : null\n\t\t\t\t}\n\t\t\t\tnext={next ? { label: 'Next Article', description: next.title } : null}\n\t\t\t\tappend-to-payload={{ previous: previousGuide, next: nextGuide }}\n\t\t\t/>\n\t\t</dps-template-two-column>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-icon';\nimport '../../components/dps-template-two-column/index';\nimport '../../components/dps-sidebar-nav';\nimport '../../components/dps-spinner';\nimport '../../components/dps-prev-next-doc';\nimport { actionHandlers } from './dps-guides-layout-actionHandler';\nimport reactToHash from '../../behaviors/reactToHash';\nimport properties from './properties';\nimport styles from './_dps-guides-layout.scss';\nimport view from './view';\n\nexport default createCustomElement('dps-guides-layout', {\n\tactionHandlers,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: reactToHash,\n\t\t\toptions: {\n\t\t\t\tadditionalOffset: -120\n\t\t\t}\n\t\t}\n\t],\n\tinitialState: {\n\t\tfetchingContent: false,\n\t\tfetchingMenuData: false\n\t},\n\tproperties,\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tstyles,\n\tview\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/connected-components/dps-guides-layout';\nimport filterNavItems from './server.json';\n\nexport default createCustomElement('dps-guides-layout-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-guides-layout\n\t\t\tmenuData = {filterNavItems}\n\t\t></dps-guides-layout>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-overview-feedback.scss';\nimport '@servicenow/now-icon';\nimport '../dps-button';\n\nconst DPSOverviewFeedback = ({ properties: { buttonLabel, title, variant } }, { dispatch }) => {\n\treturn (\n\t\t<div class={{\n\t\t\t'dps-overview-feedback': true,\n\t\t\t[`-${variant}`]: true\n\t\t}}>\n\t\t\t<div className=\"dps-overview-feedback-content\">\n\t\t\t\t<div>\n\t\t\t\t\t<h2 className=\"dps-overview-feedback-header\">\n\t\t\t\t\t\t<now-icon icon=\"chat-outline\" size=\"xl\" />\n\t\t\t\t\t\t<span>{title}</span>\n\t\t\t\t\t</h2>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<slot></slot>\n\n\t\t\t\t\t<slot name=\"button\">\n\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\tlabel={buttonLabel}\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\ton-click={() => dispatch('DPS_BUTTON#GIVE_GENERAL_FEEDBACK')} />\n\t\t\t\t\t</slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-overview-feedback', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t},\n\tstyles,\n\tview: DPSOverviewFeedback,\n\tproperties: {\n\t\tbuttonLabel: {\n\t\t\tdefault: 'Provide Feedback'\n\t\t},\n\t\ttitle: {\n\t\t\tdefault: ''\n\t\t},\n\t\tvariant: {\n\t\t\tdefault: 'none'\n\t\t}\n\t}\n});\n","// This file exports colors from _color_palette for use in JS\n\nexport default {\n\tlearningBackgroundColor: '#CDE1D9',\n\tguidesBackgroundColor: '#FFD3B8',\n\tconnectBackgroundColor: '#C3D9DF',\n\treferenceBackgroundColor: '#BEC3E7',\n\tcomponentBackgroundColor: '#DEE1F3',\n\tdesignBackgroundColor: '#E1ECEF'\n};\n","export const guideOverviewConstants = {\n\tfailureStatus: 'failed',\n\tsuccessStatus: 'success',\n\tcomputedReleaseProperty: 'computedRelease',\n\tfullWidthCard: 'card_full_width',\n\thalfWidthCard: 'card_half_width'\n};\n\nexport const DPS_GUIDES_OVERVIEW_ACTIONS = {\n\tFETCH_NAV_MENU_DATA: 'DPS_GUIDES_OVERVIEW#FETCH_NAV_MENU_DATA',\n\tFETCH_OVERVIEW_CARDS_DATA: 'DPS_GUIDES_OVERVIEW#FETCH_OVERVIEW_CARDS_DATA'\n};\n","import { guideOverviewConstants } from './guideOverviewConstants';\nimport { createAnchor } from '../../utils/url';\n\nexport const parseNavData = (data, release) => {\n\tconst response = {\n\t\ttitle: data.title,\n\t\tsubMenu: [],\n\t\tstatus: ''\n\t};\n\tlet index, addSubMenuCat;\n\tconst subMenu = [];\n\t\n\tdata && data.content.forEach(element => {\n\t\taddSubMenuCat =\n\t\t\tsubMenu.length > 0 &&\n\t\t\tsubMenu.find(item => item && item.navTitle === element.displayCategory);\n\n\t\tif (!addSubMenuCat) {\n\t\t\tsubMenu.push({\n\t\t\t\tnavTitle: element.displayCategory,\n\t\t\t\tsubMenu: []\n\t\t\t});\n\t\t}\n\t\tindex =\n\t\t\tsubMenu.length > 0 &&\n\t\t\tsubMenu.findIndex(\n\t\t\t\titem => item && item.navTitle === element.displayCategory\n\t\t\t);\n\t\tindex >= 0 &&\n\t\t\tsubMenu[index].navTitle &&\n\t\t\tsubMenu[index].subMenu.push({\n\t\t\t\tname: element.name,\n\t\t\t\tnavTitle: element.navTitle,\n\t\t\t\tid: element.identifier,\n\t\t\t\tmain_dc_identifier: element.main_dc_identifier,\n\t\t\t\thref: `#!/guides/${release}/${element.category}/${element.identifier}/${element.articleDCID}`\n\t\t\t});\n\t});\n\tresponse.subMenu = subMenu;\n\tresponse.status = guideOverviewConstants.successStatus;\n\treturn response;\n};\n\nexport const removeSpaceInRelease = release => {\n\tconst releaseVar =\n\t\trelease.indexOf(' ') > -1 ? release.replace(' ', '') : release;\n\n\treturn releaseVar;\n};\n\nconst halfWidthCardsDataObject = (\n\trelease,\n\tcategory,\n\tparent_dc_identifier,\n\tarticle_identifier,\n\ttitle,\n\tdescription,\n\timage,\n\tanchorLinkText\n) => ({\n\thref: `#!/guides/${release}/${category}/${parent_dc_identifier}/${article_identifier}`,\n\ttitle,\n\tdescription,\n\timage,\n\tid: anchorLinkText\n});\n\n\nexport const parseCardsData = (data, release) => {\n\tconst response = [];\n\tlet index = 0;\n\t\n\tdata &&\n\t\tdata.forEach(element => {\n\t\t\tif (element.card_type === guideOverviewConstants.fullWidthCard) {\n\t\t\t\tresponse.push({\n\t\t\t\t\tcard_type: element.card_type,\n\t\t\t\t\thref: `#!/guides/${release}/${element.category}/${element.parent_dc_identifier}/${element.article_identifier}`,\n\t\t\t\t\ttitle: element.title,\n\t\t\t\t\tid: element.anchorLinkText || '',\n\t\t\t\t\tdescription: element.description,\n\t\t\t\t\timage: element.image\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tindex = response.findIndex(\n\t\t\t\t\titem =>\n\t\t\t\t\t\titem.card_type === guideOverviewConstants.halfWidthCard &&\n\t\t\t\t\t\titem.cardsData.length === 1\n\t\t\t\t);\n\t\t\t\tindex >= 0\n\t\t\t\t\t? response[index].cardsData.push(\n\t\t\t\t\t\thalfWidthCardsDataObject(\n\t\t\t\t\t\t\trelease,\n\t\t\t\t\t\t\telement.category,\n\t\t\t\t\t\t\telement.parent_dc_identifier,\n\t\t\t\t\t\t\telement.article_identifier,\n\t\t\t\t\t\t\telement.title,\n\t\t\t\t\t\t\telement.description,\n\t\t\t\t\t\t\telement.image,\n\t\t\t\t\t\t\telement.anchorLinkText || ''\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t\t: response.push({\n\t\t\t\t\t\tcard_type: element.card_type,\n\t\t\t\t\t\tcardsData: [\n\t\t\t\t\t\t\thalfWidthCardsDataObject(\n\t\t\t\t\t\t\t\trelease,\n\t\t\t\t\t\t\t\telement.category,\n\t\t\t\t\t\t\t\telement.parent_dc_identifier,\n\t\t\t\t\t\t\t\telement.article_identifier,\n\t\t\t\t\t\t\t\telement.title,\n\t\t\t\t\t\t\t\telement.description,\n\t\t\t\t\t\t\t\telement.image,\n\t\t\t\t\t\t\t\telement.anchorLinkText || ''\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t]\n\t\t\t\t\t});\n\t\t\t}\n\t\t});\n\treturn response;\n};\n\n\n\nconst linkObj = link => {\n\tconst id =\n\t\t\tlink &&\n\t\t\tlink\n\t\t\t\t.replace(/#linkstart#|#linkend#/g, '')\n\t\t\t\t.toLowerCase()\n\t\t\t\t.split(' ')\n\t\t\t\t.join('-');\n\n\tconst text =\n\t\t\tlink &&\n\t\t\tlink\n\t\t\t\t.replace(/#linkstart#|#linkend#/g, '');\n\n\treturn `${'<dps-link ' + 'href='}${createAnchor(\n\t\t`#${id}`\n\t)}>${text}</dps-link>`;\n};\n\n\nconst getIntroText = data => {\n\tlet response = data;\n\tconst matchExp =\n\t\t\tdata &&\n\t\t\tdata.match(/(#linkstart#.*?#linkend#)/g);\n\tmatchExp && matchExp.forEach(matched => {\n\t\tresponse = response && response.replace(matched, linkObj(matched));\n\t});\n\treturn response;\n};\n\nexport const fetchGuidesData = (\n\tdispatch,\n\tupdateProperties,\n\tsystemProperties,\n\trelease\n) => {\n\tdispatch('DPS_GUIDES_OVERVIEW#FETCH_NAV_MENU_DATA', {\n\t\trelease\n\t});\n\tdispatch('DPS_GUIDES_OVERVIEW#FETCH_OVERVIEW_CARDS_DATA', {\n\t\trelease\n\t});\n\tconst introText =\n\t\tsystemProperties &&\n\t\tgetIntroText(\n\t\t\tsystemProperties['dev.guidesOverviewPage.introductionText']\n\t\t);\n\tupdateProperties({\n\t\tintroText\n\t});\n};\n","import { CONSTANTS } from '../../constants';\nimport { actionTypes } from '@servicenow/ui-core';\nimport { setMetaByPageType } from '../../utils/meta';\nimport {\n\tparseNavData,\n\tremoveSpaceInRelease,\n\tparseCardsData,\n\tfetchGuidesData\n} from './actionHelpers';\nimport { makeHttpEffectCreator } from '../../utils/helpers';\nimport {\n\tguideOverviewConstants,\n\tDPS_GUIDES_OVERVIEW_ACTIONS\n} from './guideOverviewConstants';\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_BOOTSTRAPPED\n} = actionTypes; \n\nconst handleComponentBootstrapped = ({\n\tdispatch,\n\tproperties: { release, systemProperties },\n\tupdateProperties\n}) => {\n\tsetMetaByPageType('guide');\n\tconst releaseVar = removeSpaceInRelease(release);\n\tif(releaseVar) {\n\t\tfetchGuidesData(\n\t\t\tdispatch,\n\t\t\tupdateProperties,\n\t\t\tsystemProperties,\n\t\t\treleaseVar\n\t\t);\n\t}\n};\n\nconst handleComponentPropertyChanged = ({\n\taction,\n\tdispatch,\n\tupdateProperties,\n\tproperties: {\n\t\trelease,\n\t\tsystemProperties\n\t}\n}) => {\n\tif (action.payload.name === 'release') {\n\t\tconst releaseVar = removeSpaceInRelease(release);\n\t\tif(releaseVar) {\n\t\t\tfetchGuidesData(\n\t\t\t\tdispatch,\n\t\t\t\tupdateProperties,\n\t\t\t\tsystemProperties,\n\t\t\t\treleaseVar\n\t\t\t);\n\t\t}\n\t}\n};\n\nconst handleFetchNavMenuData = makeHttpEffectCreator(\n\tDPS_GUIDES_OVERVIEW_ACTIONS.FETCH_NAV_MENU_DATA,\n\tCONSTANTS.ENDPOINTS.GET_GUIDE_OVERVIEW_PAGE_NAV_MENU,\n\t{\n\t\tbatch: false,\n\t\tmethod: 'GET',\n\t\tpathParams: ['release'],\n\t\tonError(coeffects) {\n\t\t\tconst { action, updateProperties } = coeffects;\n\t\t\taction.payload.result &&\n\t\t\t\taction.payload.result.status === guideOverviewConstants.failureStatus &&\n\t\t\t\tupdateProperties({\n\t\t\t\t\tnavData: {\n\t\t\t\t\t\ttitle: '',\n\t\t\t\t\t\tsubMenu: [],\n\t\t\t\t\t\tstatus: guideOverviewConstants.failureStatus\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t},\n\t\tonSuccess(coeffects) {\n\t\t\tconst {\n\t\t\t\taction,\n\t\t\t\tupdateProperties,\n\t\t\t\tproperties: { release }\n\t\t\t} = coeffects;\n\n\t\t\tconst releaseVar = removeSpaceInRelease(release);\n\t\t\tconst navData = parseNavData(action.payload.result, releaseVar);\n\t\t\tupdateProperties({\n\t\t\t\tnavData\n\t\t\t});\n\t\t}\n\t}\n);\n\nconst handleFetchOverviewCardsData = makeHttpEffectCreator(\n\tDPS_GUIDES_OVERVIEW_ACTIONS.FETCH_OVERVIEW_CARDS_DATA,\n\tCONSTANTS.ENDPOINTS.GET_GUIDE_OVERVIEW_CARD_CONTENT,\n\t{\n\t\tbatch: false,\n\t\tmethod: 'GET',\n\t\tpathParams: ['release'],\n\t\tonSuccess(coeffects) {\n\t\t\tconst {\n\t\t\t\taction,\n\t\t\t\tupdateProperties,\n\t\t\t\tproperties: { release }\n\t\t\t} = coeffects;\n\t\t\tconst releaseVar = removeSpaceInRelease(release);\n\t\t\tconst cardsData = parseCardsData(\n\t\t\t\taction.payload.result.cardsData,\n\t\t\t\treleaseVar\n\t\t\t);\n\n\t\t\tupdateProperties({\n\t\t\t\tcardsData\n\t\t\t});\n\t\t}\n\t}\n);\n\n\nexport const actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: handleComponentBootstrapped,\n\t[COMPONENT_PROPERTY_CHANGED]: handleComponentPropertyChanged,\n\t...handleFetchNavMenuData,\n\t...handleFetchOverviewCardsData\n};\n","export const halfWidthCardsView = data => (\n\t<div className=\"dps-overview-section-content\">\n\t\t<div className=\"dps-guides-columns\">\n\t\t\t{data &&\n\t\t\t\tdata.map(element => (\n\t\t\t\t\t<div className=\"dps-guides-column\" id={element.id}>\n\t\t\t\t\t\t<dps-content-stack>\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc={element.image}\n\t\t\t\t\t\t\t\talt=\"group of three people passing books\"\n\t\t\t\t\t\t\t\tslot=\"icon-custom\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p className=\"dps-guide-overview-section-cards-title\"\n\t\t\t\t\t\t\t\tinnerHTML={element.title}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p\n\t\t\t\t\t\t\t\tclassName=\"dps-guide-overview-section-cards-description\"\n\t\t\t\t\t\t\t\tinnerHTML={element.description}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\tbuttonStyle\n\t\t\t\t\t\t\t\tbuttonVariant=\"secondary\"\n\t\t\t\t\t\t\t\thref={element.href}\n\t\t\t\t\t\t\t\tinternal-action\n\t\t\t\t\t\t\t\tbutton-size=\"sm\"\n\t\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tRead Guide\n\t\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t</dps-content-stack>\n\t\t\t\t\t</div>\n\t\t\t\t))}\n\t\t</div>\n\t</div>\n);\n","export const fullWidthCardsView = data => (\n\t<section className=\"dps-overview-card\">\n\t\t<section className=\"dps-guides-columns-single-card\" id={data.id}>\n\t\t\t<section className=\"dps-guides-column\">\n\t\t\t\t<span\n\t\t\t\t\tclassName=\"dps-guide-overview-section-full-cards-title\"\n\t\t\t\t\tinnerHTML={data.title}\n\t\t\t\t></span>\n\t\t\t\t<p\n\t\t\t\t\tclassName=\"dps-guide-overview-section-cards-description\"\n\t\t\t\t\tinnerHTML={data.description}\n\t\t\t\t></p>\n\t\t\t\t<dps-link\n\t\t\t\t\tbuttonStyle\n\t\t\t\t\tbuttonVariant=\"secondary\"\n\t\t\t\t\thref={data.href}\n\t\t\t\t\tinternal-action\n\t\t\t\t\tbutton-size=\"sm\"\n\t\t\t\t\tslot=\"cta\"\n\t\t\t\t>\n\t\t\t\t\t\tRead Guide\n\t\t\t\t</dps-link>\n\t\t\t</section>\n\t\t\t<section className=\"dps-guides-single-card-image\">\n\t\t\t\t<img src={data.image}></img>\n\t\t\t</section>\n\t\t</section>\n\t</section>\n);\n","import { processTitleWithSpecialChars } from '../../utils/helpers';\nexport const guideSidebarNavItem = ({ item, selectedItem, level, theme }) => {\n\n\tconst {\n\t\tid,\n\t\tnavTitle,\n\t\thref\n\t} = item;\n\tconst isCurrentItemSelected = selectedItem && selectedItem === id;\n\n\treturn (\n\t\t<span class={{\n\t\t\t['dps-navigation-sidebar_item']: true,\n\t\t\t['is-selected']: isCurrentItemSelected,\n\t\t\t[`-level${level}`]: true,\n\t\t\t[`-${theme}`]: true\n\t\t}}>\n\t\t\t{href && !isCurrentItemSelected ? <a href={href} title={navTitle}>{processTitleWithSpecialChars(navTitle)|| navTitle}</a> : processTitleWithSpecialChars(navTitle)||navTitle}\n\t\t</span>\n\t);\n};\n","export const SIDEBAR_THEME = {\n\tOVERVIEW : 'overview',\n\tDETAILS: 'details'\n};\n","import { SIDEBAR_THEME } from './constants';\n\n/**\n * To Check if the item passed has any subMenu.\n * Return the subMenu length.\n * @param {object} item \n */\nexport const hasSubMenu = item => {\n\treturn item && item.subMenu && item.subMenu.length ? true : false;\n};\n\n/**\n * To identify the theme of the sidebar.\n * If there isn't any submenu present in the second level,\n * it will DETAILS theme else OVERVIEW theme.\n * @param {object} menuData \n */\nexport const getSidebarTheme = menuData => {\n\tconst { subMenu } = menuData;\n\tlet theme = SIDEBAR_THEME.DETAILS;\n\tfor (let i = 0; i < subMenu.length; i++) {\n\t\tlet item = subMenu[i];\n\t\tif (item.subMenu && item.subMenu.length) {\n\t\t\ttheme = SIDEBAR_THEME.OVERVIEW;\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn theme;\n};","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { guideSidebarNavItem } from './dps-navigation-sidebar-item';\nimport { hasSubMenu } from './dps-navigation-sidebar-utils';\n\nexport const guideSidebarNavGroup = ({ item, selectedItem, level, theme }) => {\n\tconst { subMenu } = item;\n\treturn (\n\t\t<Fragment>\n\t\t\t{guideSidebarNavItem({ item, selectedItem, level, theme })}\n\t\t\t{hasSubMenu(item) ?\n\t\t\t\t<ul class={{\n\t\t\t\t\t['dps-navigation-sidebar_group']: true,\n\t\t\t\t\t[`-level${level + 1}`]: true,\n\t\t\t\t\t[`-${theme}`]: true,\n\t\t\t\t}}>\n\t\t\t\t\t{subMenu.map(item => (guideSidebarNavGroup({ item, selectedItem, level: level + 1, theme })))}\n\t\t\t\t</ul> :\n\t\t\t\tnull}\n\t\t</Fragment>\n\t);\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { guideSidebarNavGroup } from './dps-navigation-sidebar-group';\nimport { guideSidebarNavItem } from './dps-navigation-sidebar-item';\nimport styles from './styles.scss';\nimport { hasSubMenu, getSidebarTheme } from './dps-navigation-sidebar-utils';\n\nconst view = ({ properties }) => {\n\tconst { menuData, selectedItem, level, showSpinner } = properties;\n\tconst {\n\t\ttitle,\n\t\tsubMenu\n\t} = menuData;\n\n\tconst theme = menuData && menuData.subMenu && getSidebarTheme(menuData);\n\n\treturn (\n\t\tshowSpinner ?\n\t\t\t<dps-spinner size=\"sm\"/>\n\t\t\t: <nav className=\"dps-navigation-sidebar\">\n\t\t\t\t<div class={{\n\t\t\t\t\t['dps-navigation-sidebar_title']: true,\n\t\t\t\t\t[`-${theme}`]: true,\n\t\t\t\t}}>\n\t\t\t\t\t{title}\n\t\t\t\t</div>\n\t\t\t\t<ul class={{\n\t\t\t\t\t['dps-navigation-sidebar_group']: true,\n\t\t\t\t\t[`-level${level + 1}`]: true,\n\t\t\t\t\t[`-${theme}`]: true,\n\t\t\t\t}}>\n\t\t\t\t\t{\n\t\t\t\t\t\tsubMenu && subMenu.map(item =>\n\t\t\t\t\t\t\t(hasSubMenu(item) ? guideSidebarNavGroup({ item, selectedItem, level: level + 1, theme }) : <li>{guideSidebarNavItem({ item, selectedItem, level: level + 1, theme })}</li>)\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t</ul>\n\t\t\t</nav>\n\t);\n};\n\nexport default createCustomElement('dps-navigation-sidebar', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\tmenuData: {\n\t\t\tdefault: []\n\t\t},\n\t\ttheme: {\n\t\t\tdefault: ''\n\t\t},\n\t\tselectedItem: {\n\t\t\tdefault: ''\n\t\t},\n\t\tlevel: {\n\t\t\tdefault: 0\n\t\t},\n\t\tshowSpinner: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-guides-overview.scss';\nimport '../../components/dps-button';\nimport '../../components/dps-content-stack';\nimport '../../components/dps-link';\nimport '../../components/dps-overview-feedback';\nimport '../../components/dps-template-two-column';\nimport '@servicenow/now-icon';\nimport Colors from '../../styles/global/colors';\nimport reactToHash from '../../behaviors/reactToHash';\nimport { actionHandlers } from './actionHandlers';\nimport { halfWidthCardsView } from './halfWidthCardsView';\nimport { fullWidthCardsView } from './fullWidthCardsView';\nimport { guideOverviewConstants } from './guideOverviewConstants';\nimport '../../components/dps-navigation-sidebar';\nimport { getFeedbackDisplayConfigurations } from '../../utils/helpers';\n\nconst view = ({\n\tproperties: { navData, cardsData, introText, systemProperties }\n}) => {\n\tconst displayConfigurations = getFeedbackDisplayConfigurations(\n\t\tsystemProperties['dev.feedback.display_configurations']\n\t);\n\n\tconst showFeedbackSection =\n\t\t(displayConfigurations && displayConfigurations.showGuideFeedback) || false;\n\n\treturn (\n\t\t<dps-template-two-column open={true} variant=\"overview\">\n\t\t\t<div slot=\"sidebar\">\n\t\t\t\t<dps-navigation-sidebar\n\t\t\t\t\tmenuData={navData}\n\t\t\t\t\tshow-spinner={!navData.subMenu.length}\n\t\t\t\t></dps-navigation-sidebar>\n\t\t\t</div>\n\t\t\t<div className=\"dps-overview -guides\">\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t['dps-overview-guide-page']: true,\n\t\t\t\t\t\t['-remove-feedback']: !showFeedbackSection\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<section className=\"dps-guides-header\">\n\t\t\t\t\t\t<h1 className=\"dps-guides-header__title\">Guides</h1>\n\t\t\t\t\t\t<p className=\"dps-guides-header__subtitle\">\n\t\t\t\t\t\t\tIn-depth technology overviews and recommendations for\n\t\t\t\t\t\t\tinnovating and extending applications on the Now\n\t\t\t\t\t\t\tPlatform<sup>®</sup>.\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</section>\n\t\t\t\t\t<section className=\"dps-guide-overview-introduction\">\n\t\t\t\t\t\t<h2>Get started with a guide</h2>\n\t\t\t\t\t\t<p\n\t\t\t\t\t\t\tclassName=\"dps-guide-overview-description\"\n\t\t\t\t\t\t\tinnerHTML={introText}\n\t\t\t\t\t\t></p>\n\t\t\t\t\t</section>\n\t\t\t\t\t<section className=\"dps-guide-overview-card-section\">\n\t\t\t\t\t\t{cardsData &&\n\t\t\t\t\t\t\tcardsData.map(data =>\n\t\t\t\t\t\t\t\tdata.card_type === guideOverviewConstants.fullWidthCard\n\t\t\t\t\t\t\t\t\t? fullWidthCardsView(data)\n\t\t\t\t\t\t\t\t\t: halfWidthCardsView(data.cardsData)\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t{showFeedbackSection ? (\n\t\t\t\t\t\t\t<section className=\"dps-overview-section-feedback\">\n\t\t\t\t\t\t\t\t<dps-overview-feedback\n\t\t\t\t\t\t\t\t\tbutton-label=\"Give Feedback\"\n\t\t\t\t\t\t\t\t\ttitle=\"Looking for more?\"\n\t\t\t\t\t\t\t\t\tvariant=\"overview\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\tLet us know if you’d like more information on the Now\n\t\t\t\t\t\t\t\t\t\tPlatform and its capabilities. Any questions or comments are\n\t\t\t\t\t\t\t\t\t\tappreciated!\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t</dps-overview-feedback>\n\t\t\t\t\t\t\t</section>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</section>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</dps-template-two-column>\n\t);\n};\n\nexport default createCustomElement('dps-guides-overview', {\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles,\n\tproperties: {\n\t\tcomputedRelease: {\n\t\t\tdefault: ''\n\t\t},\n\t\trelease: {\n\t\t\tdefault: '',\n\t\t\trequired: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\thash: {\n\t\t\tdefault: ''\n\t\t},\n\t\tintroText: {\n\t\t\tdefault: ''\n\t\t},\n\t\tsystemProperties: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\tnavData: {\n\t\t\tdefault: {\n\t\t\t\ttitle: '',\n\t\t\t\tsubMenu: [],\n\t\t\t\tstatus: ''\n\t\t\t}\n\t\t},\n\t\tcardsData: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array'\n\t\t\t}\n\t\t}\n\t},\n\tactionHandlers,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: reactToHash,\n\t\t\toptions: {\n\t\t\t\tadditionalOffset: -120,\n\t\t\t\tdelay: 2000\n\t\t\t}\n\t\t}\n\t]\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/connected-components/dps-guides-overview';\n\nexport default createCustomElement('dps-guides-overview-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-guides-overview></dps-guides-overview>\n\t)\n});\n","export const makeBadge = ({isFeatured = false, badgeIcon = 'star-outline', badgeText = ''}) => (\n\tisFeatured ? <div className=\"dps-header-carousel-card-badge\">\n\t\t<now-icon icon={badgeIcon} size=\"sm\" className=\"dps-header-carousel-card-badge-icon\"></now-icon>\n\t\t{badgeText}\n\t</div>:<div className=\"dps-header-carousel-card-badge\"/>\n);","import '../../dps-button';\nimport {makeBadge} from './dps-header-carousel-badge.js';\nimport { code } from '../../../icons';\n\nexport const makeCard = ({badgeObject, title, text, buttonText, hasIcon}, numCards) => {\n\tconst leftCards = numCards - 1;\n\tconst cardStyle = {\n\t\twidth: `${100/(numCards + leftCards)}%`\n\t};\n\n\treturn (<div className=\"dps-header-carousel-card\" style={cardStyle}>\n\t\t<div className=\"dps-header-carousel-card-content\">\n\t\t\t{makeBadge(badgeObject)}\n\t\t\t<div className=\"dps-header-carousel-card-header\">\n\t\t\t\t{title}\n\t\t\t</div>\n\t\t\t<div className=\"dps-header-carousel-card-text\">\n\t\t\t\t{text}\n\t\t\t</div>\n\t\t\t<dps-button label={buttonText} variant=\"secondary\" />\n\n\t\t</div>\n\t\t{hasIcon ? <div className=\"dps-header-carousel-card-img\">\n\t\t\t<img src={code} ></img>\n\t\t</div>:null}\n\t</div>);\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-auto-progress-bar.scss';\nimport clampValue from '../../../utils/clamp-value';\n\n\nconst view = (state, {dispatch, updateState}) => {\n\tconst {transitionTime, pause, reset} = state.properties;\n\tlet {barValue} = state;\n\n\tconst timeoutTime = 200;\n\tconst barMax = 100;\n\n\n\tif (!pause || reset) {\n\t\tsetTimeout(() => {\n\t\t\tif (!pause){\n\t\t\t\tbarValue = (barValue + timeoutTime*barMax/transitionTime);\n\t\t\t\tif (barValue > barMax) {\n\t\t\t\t\tbarValue = 0;\n\t\t\t\t\tdispatch('ADVANCE_NEXT_SLIDE');\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (reset)\n\t\t\t\tbarValue = 0;\n\t\t\tupdateState({barValue});\n\t\t}, timeoutTime);\n\t}\n\n\n\t// These are used for clamping the value/maxValue so the CSS can't go beyond the bar limits\n\tconst clampedValue = clampValue(0, barMax, barValue);\n\tconst cssPercent = (clampedValue/barMax) * barMax;\n\tconst progressBarClasses = {\n\t\t'dps-progress-bar-completion': true,\n\t\tpaused: pause\n\t};\n\n\treturn (\n\t\t<div className=\"dps-progress-bar\">\n\t\t\t<div className=\"dps-progress-bar-completion-wrapper\">\n\t\t\t\t<div class={progressBarClasses} style={{width: `${cssPercent}%`}}></div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-auto-progress-bar', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tinitialState: {\n\t\tbarValue: 0\n\t},\n\tproperties: {\n\t\ttransitionTime: {default: 1000},\n\t\tpause: {default: false},\n\t\treset: {default: false}\n\t},\n\tstyles\n});\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-header-carousel.scss';\nimport {makeCard} from './components/dps-header-carousel-card.js';\nimport '../dps-progress-bar';\nimport './components/dps-auto-progress-bar.js';\n\n\n// This takes the cards and puts them into order where the active card is centered\nfunction makeCardArray(leftCards, cards, activeCard) {\n\tconst cardArray = [];\n\tfor (let i=(-1 * leftCards);i<cards.length;i++) {\n\t\tcardArray.push(\n\t\t\tmakeCard(cards[\n\t\t\t\t((i + activeCard + cards.length) % cards.length)\n\t\t\t], cards.length)\n\t\t);\n\t}\n\treturn cardArray;\n}\n\n\n//This generates the bars on the bottom of the card which allow you to navigate from card to card\nfunction makeActiveCardArray(cardLength, activeCard, fn) {\n\tconst activeCards = [];\n\tfor (let i=0;i<cardLength;i++){\n\t\tconst clickFunction = () => fn(i);\n\t\tactiveCards.push(\n\t\t\t<div onclick={clickFunction} className=\"dps-header-carousel-activeCardSelector-block-container\">\n\t\t\t\t<div class={{'dps-header-carousel-activeCardSelector-block':true,\n\t\t\t\t\tactive: i===activeCard}}></div>\n\t\t\t</div>);\n\t}\n\treturn activeCards;\n}\n\n\n\nconst view = (state, {dispatch, updateState}) => {\n\tconst {transitionTime, cards} = state.properties;\n\tconst {activeCard, targetCard, mouseOver, slideTranstionTime} = state;\n\n\tconst leftCards = cards.length - 1; //cards that we want to have to the left of the active card in case we need to slide back\n\tconst slidesToMove = -1 * ( (targetCard - activeCard ) % cards.length);\n\n\tconst containerStyles = {\n\t\twidth: `${(cards.length + leftCards) * 100}%`,\n\t\tleft: `${100*(slidesToMove - leftCards)}%`,\n\t\ttransition: slidesToMove ? `left ${slideTranstionTime}ms ease-in-out`:null,\n\t};\n\n\n\tfunction mouseEnter() {\n\t\tupdateState({mouseOver: true});\n\t}\n\tfunction mouseLeave() {\n\t\tupdateState({mouseOver: false});\n\t}\n\tfunction goToCard(targetCard) {\n\t\tif (!state.inTransition)\n\t\t\tdispatch('ADVANCE_TO_SLIDE', targetCard);\n\t}\n\n\treturn (\n\t\t<div className=\"dps-header-carousel\"\n\t\t\ton-mouseenter={mouseEnter}\n\t\t\ton-mouseleave={mouseLeave}>\n\t\t\t<dps-auto-progress-bar transitionTime={transitionTime} reset={slidesToMove} pause={slidesToMove || mouseOver} />\n\t\t\t<div className=\"dps-header-carousel-card-container\" style={containerStyles}>\n\t\t\t\t{makeCardArray(leftCards, cards, activeCard)}\n\t\t\t</div>\n\t\t\t<div className=\"dps-header-carousel-activeCardSelector\">\n\t\t\t\t{makeActiveCardArray(cards.length, activeCard, goToCard)}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-header-carousel', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tinitialState: {\n\t\tactiveCard: 0,\n\t\tinTransition: false,\n\t\ttargetCard: 0,\n\t\tmouseOver: false,\n\t\tslideTranstionTime: 350\n\t},\n\tview,\n\tproperties: {\n\t\t/**\n\t\t * Time between card changes in ms\n\t\t * @type number\n\t\t */\n\t\ttransitionTime: {default: 10000},\n\t\tcards: {default: []}\n\t},\n\tstyles,\n\tactionHandlers: {\n\t\tADVANCE_NEXT_SLIDE({dispatch, state}) {\n\t\t\tdispatch('ADVANCE_TO_SLIDE', (state.activeCard + 1));\n\t\t},\n\t\tADVANCE_TO_SLIDE({state, action, updateState}) {\n\t\t\tupdateState({targetCard: action.payload, inTransition: true});\n\t\t\tsetTimeout(()=>{\n\t\t\t\tupdateState({\n\t\t\t\t\tactiveCard: (action.payload % state.properties.cards.length),\n\t\t\t\t\tinTransition: false\n\t\t\t\t});\n\t\t\t}, state.slideTranstionTime);\n\t\t},\n\t}\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-header-carousel';\n\nexport default createCustomElement('dps-header-carousel-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-header-carousel\n\t\t\tcards={[{\n\t\t\t\tbadgeObject: {\n\t\t\t\t\tisFeatured: true,\n\t\t\t\t\tbadgeIcon: 'star-outline',\n\t\t\t\t\tbadgeText: 'Featured Course'\n\t\t\t\t},\n\t\t\t\ttitle: 'Testing for Dummies',\n\t\t\t\ttext: 'Card 0 thundercats brooklyn la croix, leggings pitchfork cred meditation air plant schlitz taiyaki migas. Stumptown food truck waistcoat',\n\t\t\t\tbuttonText: 'Thats ME!',\n\t\t\t\thasIcon: true,\n\t\t\t}, {\n\t\t\t\tbadgeObject: {\n\t\t\t\t\tisFeatured: false,\n\t\t\t\t\tbadgeIcon: 'star-outline',\n\t\t\t\t\tbadgeText: 'Featured Module'\n\t\t\t\t},\n\t\t\t\ttitle: 'Making things work',\n\t\t\t\ttext: 'Card 1 thundercats brooklyn la croix Stumptown food truck waistcoat',\n\t\t\t\tbuttonText: 'Make me!',\n\t\t\t\thasIcon: false,\n\t\t\t}, {\n\t\t\t\tbadgeObject: {\n\t\t\t\t\tisFeatured: true,\n\t\t\t\t\tbadgeIcon: 'star-outline',\n\t\t\t\t\tbadgeText: 'Not Featured!'\n\t\t\t\t},\n\t\t\t\ttitle: 'Doing it Live',\n\t\t\t\ttext: 'Card 2 thundercats brooklyn la croix taiyaki migas. Stumptown food truck waistcoat',\n\t\t\t\tbuttonText: 'When?',\n\t\t\t\thasIcon: false,\n\t\t\t}]}\n\t\t\ttransition-time={5000}\n\t\t></dps-header-carousel>\n\t)\n});\n","export const SAVE_PNG = \"DPS_ICON_CALLOUT#SAVE_PNG\";\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { createPath } from '../../../utils/url';\nimport styles from './dps-icon-call-out.scss';\nimport { SAVE_PNG } from './constants';\n\nconst copyToClipboard = iconName => {\n\tnavigator.clipboard.writeText(iconName).then(\n\t\t() => console.log('Icon name copied:', iconName),\n\t\t() => console.warn('Could not copy icon name:', iconName)\n\t);\n};\n\nconst BASE_PATH = '/reference/next-experience/orlando/now-components';\n\nconst configPath = ({ iconName, componentName} ) => {\n\treturn createPath(`${BASE_PATH}/now-${componentName === 'now-legacy-icon' ? 'legacy-' : ''}icon/api?iconName=${iconName}`);\n};\n\nconst view = ({ properties }, { dispatch }) => {\n\n\tconst {\n\t\ticonName,\n\t\tcomponentName\n\t} = properties;\n\n\treturn (\n\t\t<ol>\n\t\t\t<li>\n\t\t\t\t<button\n\t\t\t\t\ton-click={() => copyToClipboard(iconName)}>Copy Icon Name</button>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<a href={ configPath(properties) }>Show in Configurator</a>\n\t\t\t</li>\n\t\t\t{componentName !== 'now-legacy-icon' ? (\n\t\t\t\t<li>\n\t\t\t\t\t<button on-click={() => dispatch(SAVE_PNG)}>Save as PNG</button>\n\t\t\t\t</li>\n\t\t\t) : null}\n\t\t</ol>\n\t);\n};\n\nexport default createCustomElement('dps-icon-call-out', {\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles,\n\tproperties: {\n\t\ticonName: {\n\t\t\tdefault: ''\n\t\t},\n\t\ticonSize: {\n\t\t\tdefault: ''\n\t\t},\n\t\ticonStyle: {\n\t\t\tdefault: ''\n\t\t},\n\t\tcomponentName: {\n\t\t\tdefault: ''\n\t\t}\n\t}\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom, { createRef } from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-icon-grid-item.scss';\nimport './dps-icon-call-out';\nimport renderSvg from '../../../utils/render-svg';\nimport { saveSvgAsPng } from 'save-svg-as-png';\nimport '@servicenow/now-legacy-icon';\nimport { SAVE_PNG } from './constants';\n\nconst iconRef = createRef();\n\nconst _renderIcon = {\n\t['now-legacy-icon']: ({ iconName, iconSize, iconStyle }) => {\n\t\treturn <now-legacy-icon type={iconName} size={iconSize} weight={iconStyle} />;\n\t},\n\n\t['now-icon']: ({ iconName, iconSize, svgData }) => {\n\t\treturn renderSvg({\n\t\t\tclassName: `${iconName}-thumbnail`,\n\t\t\twidth: iconSize,\n\t\t\theight: iconSize,\n\t\t\tinnerSVG: svgData\n\t\t});\n\t}\n};\n\nconst view = ({ properties }, { updateProperties }) => {\n\tconst {\n\t\ticonName,\n\t\ticonSize,\n\t\ticonSizeLabel,\n\t\ticonStyle,\n\t\tsvgData,\n\t\tcomponentName,\n\t\tisCallOutOpen\n\t} = properties;\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"dps-icon-grid-item\"\n\t\t\ton-mouseleave={() => updateProperties({ isCallOutOpen: false })}\n\t\t>\n\t\t\t<div className=\"icon\" ref={iconRef}>\n\t\t\t\t{_renderIcon[componentName]({ iconName, iconSize, iconStyle, svgData })}\n\t\t\t</div>\n\t\t\t<p alt={iconName} title={iconName}>\n\t\t\t\t{iconName}\n\t\t\t</p>\n\t\t\t<span className=\"action\" on-click={() => updateProperties({ isCallOutOpen: !isCallOutOpen })}>\n\t\t\t\t<now-icon icon=\"ellipsis-h-fill\" size=\"md\" />\n\t\t\t</span>\n\t\t\t{isCallOutOpen ? (\n\t\t\t\t<dps-icon-call-out\n\t\t\t\t\ticon-name={iconName}\n\t\t\t\t\ticon-size={iconSizeLabel}\n\t\t\t\t\ticon-style={iconStyle}\n\t\t\t\t\tcomponent-name={componentName}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-icon-grid-item', {\n\trenderer: { type: snabbdom },\n\tproperties: {\n\t\ticonName: {\n\t\t\tdefault: ''\n\t\t},\n\t\ticonSize: {\n\t\t\tdefault: null\n\t\t},\n\t\ticonSizeLabel: {\n\t\t\tdefault: ''\n\t\t},\n\t\ticonStyle: {\n\t\t\tdefault: ''\n\t\t},\n\t\tisCallOutOpen: {\n\t\t\tdefault: false\n\t\t},\n\t\tsvgData: {\n\t\t\tdefault: ''\n\t\t},\n\t\tcomponentName: {\n\t\t\tdefault: ''\n\t\t}\n\t},\n\tview,\n\tstyles,\n\tactionHandlers: {\n\t\t[SAVE_PNG]({ properties: { iconName } }) {\n\t\t\tsaveSvgAsPng(iconRef.current.querySelector('svg'), `${iconName}.png`);\n\t\t}\n\t}\n});\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-pagination.scss';\nimport '../dps-button';\nimport '@servicenow/now-icon';\n\nconst DELTA = 1;\nconst MAX = 5;\nconst THRESHOLD = 3;\n\nfunction _generatePaginationItems(currentPage, pageCount) {\n\tconst range = [];\n\n\t// If we are under the max amount just return them all\n\tif (pageCount <= MAX) {\n\t\tfor(let i = 1; i <= pageCount; i++)\n\t\t\trange.push(i);\n\t\treturn range;\n\t}\n\n\t// Special case for the first 3 pages that don't follow the rest of the pattern\n\tif(currentPage <= THRESHOLD && pageCount > MAX) {\n\t\trange.push(1,2,3,4, '...', pageCount);\n\t\treturn range;\n\t}\n\n\t// Special case for the last 3 pages that don't follow the rest of the pattern\n\tif(currentPage > pageCount - THRESHOLD && pageCount > MAX) {\n\t\trange.push(1, '...');\n\t\tfor(let i = pageCount - THRESHOLD; i <= pageCount; i++)\n\t\t\trange.push(i);\n\t\treturn range;\n\t}\n\n\tfor (let i = Math.max(2, currentPage - DELTA); i <= Math.min(pageCount - 1, currentPage + DELTA); i++)\n\t\trange.push(i);\n\n\tif (currentPage - DELTA > 2)\n\t\trange.unshift('...');\n\n\tif (currentPage + DELTA < pageCount - 1)\n\t\trange.push('...');\n\n\trange.unshift(1);\n\trange.push(pageCount);\n\n\treturn range;\n}\n\nconst view = (\n\t{ properties: { activeItem, hidePrevNextButtons, totalItems, hidePageNumbers } },\n\tdispatch\n) => (\n\t<div className=\"dps-pagination\">\n\t\t{!hidePrevNextButtons && activeItem !== 1 ? (\n\t\t\t<button class={{ ['last-btn']: activeItem == totalItems && hidePageNumbers}} on-click={() => dispatch('DPS_PAGINATION#PREV_PAGE')}>\n\t\t\t\t<now-icon size=\"sm\" icon=\"arrow-left-fill\" /> Previous\n\t\t\t</button>\n\t\t) : null}\n\t\t{!hidePageNumbers ? (\n\t\t\t<ul>\n\t\t\t\t{_generatePaginationItems(activeItem, totalItems).map(item => {\n\t\t\t\t\tconst isActive = activeItem === item;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li class={{ ['active']: isActive }}>\n\t\t\t\t\t\t\t{item === '...' || isActive ? (\n\t\t\t\t\t\t\t\t<span>{item}</span>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\t\t\t\t\tdispatch('DPS_PAGINATION#PAGE_SET', { value: item })\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{item}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t) : null }\n\t\t{!hidePrevNextButtons && activeItem !== totalItems && totalItems > 1 ? (\n\t\t\t<button  class={{ ['first-btn']: activeItem == 1 && hidePageNumbers}} on-click={() => dispatch('DPS_PAGINATION#NEXT_PAGE')}>\n\t\t\t\tNext <now-icon size=\"sm\" icon=\"arrow-right-fill\" />\n\t\t\t</button>\n\t\t) : null}\n\t</div>\n);\n\nexport default createCustomElement('dps-pagination', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\tactiveItem: {\n\t\t\tdefault: 1\n\t\t},\n\t\thidePrevNextButtons: {\n\t\t\tdefault: false\n\t\t},\n\t\thidePageNumbers:{\n\t\t\tdefault: false\n\t\t},\n\t\ttotalItems: {\n\t\t\tdefault: 10\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t['DPS_PAGINATION#NEXT_PAGE']: {\n\t\t\teffect({state, updateProperties}) {\n\t\t\t\tconst { properties: { activeItem }} = state;\n\t\t\t\tupdateProperties({ activeItem: activeItem + 1 });\n\t\t\t}\n\t\t},\n\t\t['DPS_PAGINATION#PREV_PAGE']: {\n\t\t\teffect({state, updateProperties}) {\n\t\t\t\tconst { properties: { activeItem }} = state;\n\t\t\t\tupdateProperties({ activeItem: activeItem - 1 });\n\t\t\t}\n\t\t},\n\t\t['DPS_PAGINATION#PAGE_SET']: {\n\t\t\teffect({action, updateProperties}) {\n\t\t\t\tupdateProperties({ activeItem: action.payload.value });\n\t\t\t}\n\t\t}\n\t},\n\tstyles\n});\n","export const CHANGE_FILTER_QUERY = 'DPS_INPUT#VALUE_CHANGE';\nexport const CLEAR_FILTER_QUERY = 'DPS_INPUT#VALUE_CLEAR';\nexport const FILTER_ICONS = 'DPS_ICON_GALLERY#FILTER_ICONS';\nexport const PAGE_UPDATED = 'DPS_PAGINATION#PAGE_SET';\nexport const SELECTED_ITEMS_SET = 'DPS_DROPDOWN#SELECT_OPTION';\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-icon-gallery.scss';\n\nimport '../dps-dropdown';\nimport '../dps-input';\nimport './components/dps-icon-grid-item';\nimport '../dps-pagination';\n\nimport {\n\tCHANGE_FILTER_QUERY,\n\tCLEAR_FILTER_QUERY,\n\tPAGE_UPDATED,\n\tSELECTED_ITEMS_SET\n} from '../dps-icon-gallery/constants';\n\nimport _ from 'lodash';\n\nconst filterIcons = properties => {\n\tconst { iconStyle, filterQuery, icons } = properties;\n\tlet filteredIcons = icons;\n\n\tif (iconStyle !== 'all') {\n\t\tfilteredIcons = icons.filter(({ style }) => style === iconStyle);\n\t}\n\n\tif (filterQuery && filterQuery.trim()) {\n\t\tfilteredIcons = _.filter(\n\t\t\tfilteredIcons,\n\t\t\titem => item.name && _.includes(item.name.toLowerCase(), filterQuery)\n\t\t);\n\t}\n\n\treturn filteredIcons;\n};\n\nconst view = ({ properties }) => {\n\n\tconst {\n\t\tcomponentName,\n\t\tcurrentPage,\n\t\tfilterQuery,\n\t\ticonSize,\n\t\ticonStyle,\n\t\ticonStyles,\n\t\titemsPerPage,\n\t\tsizeOptions\n\t} = properties;\n\n\tconst filteredIcons = filterIcons(properties);\n\tconst numIcons = filteredIcons.length;\n\tconst startIcon = (currentPage - 1) * itemsPerPage;\n\tconst endIcon = currentPage * itemsPerPage;\n\n\t// Legacy icon and now-icon have different methods of determining size\n\t// so here we convert t-shirt sizing into point sizing for now-icon.\n\t// This allows the drop-down, query params, and now component properties\n\t// to all use the same language.\n\tconst currentSizeOptions = sizeOptions.find(({ id }) => id === iconSize);\n\tconst currentSize = currentSizeOptions.point || currentSizeOptions.id;\n\n\treturn (\n\t\t<div className=\"dps-icon-gallery\">\n\t\t\t<div className=\"content-block\">\n\t\t\t\t<div className=\"gallery\">\n\t\t\t\t\t{filteredIcons.length ? (\n\t\t\t\t\t\tfilteredIcons.slice(startIcon, endIcon).map(icon => {\n\t\t\t\t\t\t\tlet iconSvgData = '';\n\n\t\t\t\t\t\t\t// icon cannot be reliably passed down to now-icon-grid-item\n\t\t\t\t\t\t\t// so we have to extract svgData here instead\n\t\t\t\t\t\t\tif (componentName === 'now-icon') {\n\t\t\t\t\t\t\t\tconst { sizes } = icon;\n\t\t\t\t\t\t\t\tconst { svgData } = sizes.find(({ size }) => currentSize === size);\n\t\t\t\t\t\t\t\ticonSvgData = svgData;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<dps-icon-grid-item\n\t\t\t\t\t\t\t\t\tkey={`${icon.name}-${icon.style}`}\n\t\t\t\t\t\t\t\t\ticon-name={icon.name}\n\t\t\t\t\t\t\t\t\ticon-size={currentSize}\n\t\t\t\t\t\t\t\t\ticon-style={icon.style}\n\t\t\t\t\t\t\t\t\tsvg-data={iconSvgData}\n\t\t\t\t\t\t\t\t\tcomponent-name={componentName}\n\t\t\t\t\t\t\t\t></dps-icon-grid-item>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div>No icons found</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t<aside>\n\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<dps-input\n\t\t\t\t\t\t\tvalue={filterQuery}\n\t\t\t\t\t\t\tname=\"filter\"\n\t\t\t\t\t\t\tlabel=\"Filter\"\n\t\t\t\t\t\t\tplaceholder=\"Type to filter\"\n\t\t\t\t\t\t\tis-filter\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{iconStyles.length ? (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<dps-dropdown\n\t\t\t\t\t\t\t\toptions={iconStyles}\n\t\t\t\t\t\t\t\tlabel=\"Icon Style\"\n\t\t\t\t\t\t\t\tselected={[iconStyle]}\n\t\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\t\tdropdown: 'iconStyle'\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : null}\n\n\t\t\t\t\t{sizeOptions.length ? (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<dps-dropdown\n\t\t\t\t\t\t\t\toptions={sizeOptions}\n\t\t\t\t\t\t\t\tlabel=\"Icon Size\"\n\t\t\t\t\t\t\t\tselected={[iconSize]}\n\t\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\t\tdropdown: 'iconSize'\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : null}\n\n\t\t\t\t\t{numIcons > itemsPerPage ? (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<dps-pagination\n\t\t\t\t\t\t\t\tactive-item={currentPage}\n\t\t\t\t\t\t\t\thide-prev-next-buttons={true}\n\t\t\t\t\t\t\t\ttotal-items={Math.ceil(numIcons/itemsPerPage)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : null}\n\t\t\t\t</aside>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-icon-gallery', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tinitialState: {\n\t\tsearchIndex: []\n\t},\n\tproperties: {\n\t\tcomponentName: {\n\t\t\tdefault: 'now-icon'\n\t\t},\n\t\tcurrentPage: {\n\t\t\tcomputed: ({ properties: { queryParams }}) => parseInt(queryParams.currentPage) || 1\n\t\t},\n\t\tfilterQuery: {\n\t\t\tcomputed: ({ properties: { queryParams }}) => queryParams.filter || null\n\t\t},\n\t\tfilteredIcons: {\n\t\t\tdefault: []\n\t\t},\n\t\tdefaultIconSize: {\n\t\t\tdefault: null\n\t\t},\n\t\ticonSize: {\n\t\t\tcomputed: ({ properties: { queryParams, defaultIconSize }}) => queryParams.iconSize || defaultIconSize\n\t\t},\n\t\ticonStyle: {\n\t\t\tcomputed: ({ properties: { queryParams }}) => queryParams.iconStyle || 'all'\n\t\t},\n\t\ticonStyles: {\n\t\t\tdefault: []\n\t\t},\n\t\ticons: {\n\t\t\tdefault: null\n\t\t},\n\t\titemsPerPage: {\n\t\t\tdefault: 120\n\t\t},\n\t\tsizeOptions: {\n\t\t\tdefault: []\n\t\t},\n\t\tqueryParams: {\n\t\t\tdefault: {}\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t[CHANGE_FILTER_QUERY]({ action, dispatch }) {\n\t\t\tdispatch('ROUTER_BEHAVIOR#ADD_QUERY_PARAMS', {\n\t\t\t\tfilter: action.payload.value,\n\t\t\t\tcurrentPage: 1\n\t\t\t});\n\t\t},\n\n\t\t[SELECTED_ITEMS_SET]({ action, properties, dispatch }) {\n\t\t\tconst { value, dropdown } = action.payload;\n\t\t\tconst { sizeOptions } = properties;\n\n\t\t\tdispatch('ROUTER_BEHAVIOR#ADD_QUERY_PARAMS', {\n\t\t\t\t[dropdown]: dropdown === 'iconSize'\n\t\t\t\t\t? sizeOptions.find(option => option.label === value).label\n\t\t\t\t\t: value,\n\t\t\t\tcurrentPage: 1\n\t\t\t});\n\t\t},\n\n\t\t[PAGE_UPDATED]({ action, dispatch }) {\n\t\t\tconst currentPage = action.payload.value;\n\t\t\tdispatch('ROUTER_BEHAVIOR#ADD_QUERY_PARAMS', { currentPage });\n\t\t},\n\n\t\t[CLEAR_FILTER_QUERY]({ dispatch }) {\n\t\t\tdispatch('ROUTER_BEHAVIOR#ADD_QUERY_PARAMS', { currentPage: 1 });\n\t\t\tdispatch('ROUTER_BEHAVIOR#REMOVE_QUERY_PARAMS', ['filter']);\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-icon-gallery';\n\nexport default createCustomElement('dps-icon-gallery-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-icon-gallery></dps-icon-gallery>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-image.scss';\n\nconst view = state => {\n\tconst { src, alt, caption, width, align, hideFrame, id, height, gridItem } = state.properties;\n\tconst attr = {\n\t\tsrc,\n\t\tid,\n\t\talt,\n\t\theight: height || undefined,\n\t\twidth: width || undefined\n\t};\n\n\treturn (\n\t\t<figure\n\t\t\tclass={{\n\t\t\t\t'dps-media': true,\n\t\t\t\t'dps-image': true,\n\t\t\t\t'-grid-item': gridItem,\n\t\t\t\t[`-align-${align}`]: true\n\t\t\t}}\n\t\t\tstyle={{width: hideFrame && 'auto'}}\n\t\t>\n\t\t\t<div class={{\n\t\t\t\t'dps-media-frame': true,\n\t\t\t\t'dps-image-frame': true,\n\t\t\t\t'is-hidden': hideFrame\n\t\t\t}}>\n\t\t\t\t<img {...attr} />\n\t\t\t</div>\n\t\t\t{\n\t\t\t\t(caption && caption.length)\n\t\t\t\t\t? <figcaption>{caption}</figcaption>\n\t\t\t\t\t: null\n\t\t\t}\n\t\t</figure>\n\t);\n};\n\nexport default createCustomElement('dps-image', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\t/**\n\t\t * Image source\n\t\t * @type {string}\n\t\t */\n\t\tsrc: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Image alt text\n\t\t * @type {string}\n\t\t */\n\t\talt: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Image caption\n\t\t * @type {string}\n\t\t */\n\t\tcaption: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Image width\n\t\t * @type {number}\n\t\t */\n\t\twidth: {\n\t\t\tdefault: null\n\t\t},\n\t\t/**\n\t\t * Image height\n\t\t * @type {number}\n\t\t */\n\t\theight: {\n\t\t\tdefault: null\n\t\t},\n\t\t/**\n\t\t * Image alignment\n\t\t * @type {string}\n\t\t */\n\t\talign: {\n\t\t\tdefault: 'center' // left, right, center\n\t\t},\n\t\t/**\n\t\t * Id\n\t\t * @type {string}\n\t\t */\n\t\tid: {\n\t\t\tdefault: null\n\t\t},\n\t\t/**\n\t\t * Determines if gray background \"frame\" is hidden\n\t\t * @type {boolean}\n\t\t */\n\t\thideFrame: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Determines if image is a grid item\n\t\t * @type {boolean}\n\t\t */\n\t\tgridItem: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-video.scss';\n\n// This first iteration of the video element is intended for use with\n// auto-playing mp4 video files. There is no source tag customization\n// at this point. This could be added in the future with a fallback.\n// For now, mp4 (h264) is universally supported enough.\n\n// Allows the user to play or pause by clicking the video\nconst togglePlayPause = (event) => {\n\tlet video = event.target;\n\tvideo.paused ? video.play() : video.pause();\n};\n\n\n// Updates some local state of whether or not the video is paused\nconst checkState = (event, updateState) => {\n\tupdateState({\n\t\tpaused: event.target.paused\n\t})\n};\n\nconst view = (state, {updateState}) => {\n\tconst { src, caption, width, align, hideFrame, id, height, gridItem } = state.properties;\n\tconst { paused } = state;\n\tconst attr = {\n\t\tid,\n\t\theight: height || undefined,\n\t\twidth: width || undefined\n\t};\n\n\treturn (\n\t\t<figure\n\t\t\tclass={{\n\t\t\t\t'dps-media': true,\n\t\t\t\t'dps-video': true,\n\t\t\t\t'-grid-item': gridItem,\n\t\t\t\t[`-align-${align}`]: true\n\t\t\t}}\n\t\t\tstyle={{width: hideFrame && 'auto'}}\n\t\t>\n\t\t\t<div class={{\n\t\t\t\t'dps-media-frame': true,\n\t\t\t\t'dps-video-frame': true,\n\t\t\t\t'is-hidden': hideFrame\n\t\t\t}}>\n\t\t\t\t<video\n\t\t\t\t\t{...attr} // apply id, height, width (unused)\n\t\t\t\t\tautoplay // not respected in all situations!\n\t\t\t\t\tplaysinline // suggests that the video isn't intended for fullscreen\n\t\t\t\t\tloop // loops playback from beginning\n\t\t\t\t\tmuted // helps some browsers respect autoplay (user setting)\n\t\t\t\t\tpreload=\"auto\" // should not be necessary _with_ autoplay\n\n\t\t\t\t\t// When any of these events fire, we will check to see if the video is paused.\n\t\t\t\t\t// If the video is paused, we will show an overlay informing the user that\n\t\t\t\t\t// they can click to play the video. If not, remove the overlay.\n\t\t\t\t\tonclick={(event) => togglePlayPause(event)}\n\t\t\t\t\tonloadeddata={(event) => checkState(event, updateState)}\n\t\t\t\t\tonloadedmetadata={(event) => checkState(event, updateState)}\n\t\t\t\t\tonpause={(event) => checkState(event, updateState)}\n\t\t\t\t\tonplay={(event) => checkState(event, updateState)}\n\t\t\t\t\tonplaying={(event) => checkState(event, updateState)}\n\t\t\t\t\tonprogress={(event) => checkState(event, updateState)}\n\t\t\t\t>\n\t\t\t\t\t<source src={src} type=\"video/mp4\"></source>\n\t\t\t\t</video>\n\t\t\t\t{paused === true ? (\n\t\t\t\t\t<div className=\"autoplay-notice\">\n\t\t\t\t\t\t<span>Paused. Click to Play</span>\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t\t{\n\t\t\t\t(caption && caption.length)\n\t\t\t\t\t? <figcaption>{caption}</figcaption>\n\t\t\t\t\t: null\n\t\t\t}\n\t\t</figure>\n\t);\n};\n\nexport default createCustomElement('dps-video', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\t/**\n\t\t * Video source (should be mp4 container with h264 video)\n\t\t * @type {string}\n\t\t */\n\t\tsrc: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Video caption\n\t\t * @type {string}\n\t\t */\n\t\tcaption: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Video width\n\t\t * @type {number}\n\t\t */\n\t\twidth: {\n\t\t\tdefault: null\n\t\t},\n\t\t/**\n\t\t * Video height\n\t\t * @type {number}\n\t\t */\n\t\theight: {\n\t\t\tdefault: null\n\t\t},\n\t\t/**\n\t\t * Video alignment\n\t\t * @type {string}\n\t\t */\n\t\talign: {\n\t\t\tdefault: 'center' // left, right, center\n\t\t},\n\t\t/**\n\t\t * Id\n\t\t * @type {string}\n\t\t */\n\t\tid: {\n\t\t\tdefault: null\n\t\t},\n\t\t/**\n\t\t * Determines if gray background \"frame\" is hidden\n\t\t * @type {boolean}\n\t\t */\n\t\thideFrame: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Determines if video is a grid item\n\t\t * @type {boolean}\n\t\t */\n\t\tgridItem: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-image';\nimport '../../src/components/dps-video';\n\nexport default createCustomElement('dps-image-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<div style={{\n\t\t\tmaxWidth: '600px',\n\t\t\tmargin: '0 auto'\n\t\t}}>\n\t\t\t<p>Column has a max-width of 600px for this example</p>\n\t\t\t<dps-image\n\t\t\t\tsrc='https://via.placeholder.com/793x472.png'\n\t\t\t\talt='Standard sized image'\n\t\t\t\tcaption='Standard dps-image treatment'\n\t\t\t></dps-image>\n\t\t\t<dps-image\n\t\t\t\tsrc='https://via.placeholder.com/793x472.png'\n\t\t\t\talt='Standard sized image'\n\t\t\t\tcaption='Example of dps-image with the frame hidden'\n\t\t\t\thide-frame\n\t\t\t></dps-image>\n\t\t\t<div style={{\n\t\t\t\tmargin: '5em 0',\n\t\t\t\toverflow: 'hidden'\n\t\t\t}}>\n\t\t\t\t<h3>These use <code>&lt;dps-video&gt;</code> Component</h3>\n\t\t\t\t<p>Even though these use the dps-video component, they share styles with the dps-image component, so it makes sense to demo them alongside the images.</p>\n\t\t\t\t<dps-video\n\t\t\t\t\tsrc='https://sndevstore.blob.core.windows.net/images/content-tree-animation-sample.mp4'\n\t\t\t\t\tcaption='Video Example with small width'\n\t\t\t\t></dps-video>\n\t\t\t\t<dps-video\n\t\t\t\t\tsrc='https://sndevstore.blob.core.windows.net/images/flower-example.mp4'\n\t\t\t\t\tcaption='Video Example CC0 Flower'\n\t\t\t\t></dps-video>\n\t\t\t\t<dps-video\n\t\t\t\t\tsrc='https://sndevstore.blob.core.windows.net/images/flower-example.mp4'\n\t\t\t\t\tcaption='Video Example CC0 Flower (aligned right)'\n\t\t\t\t\talign=\"right\"\n\t\t\t\t></dps-video>\n\t\t\t</div>\n\t\t\t<div style={{\n\t\t\t\toverflow: 'hidden'\n\t\t\t}}>\n\t\t\t\t<dps-image\n\t\t\t\t\talign=\"right\"\n\t\t\t\t\tsrc='https://via.placeholder.com/200x200.png'\n\t\t\t\t\talt='Small image showing the width behavior'\n\t\t\t\t\tcaption=\"Right alignment\"\n\t\t\t\t></dps-image>\n\t\t\t\t<p>Nisi id consequat ipsum sit et duis mollit deserunt mollit minim aliquip ad qui. Nostrud aute ad et laboris et elit sunt sit ipsum. Id qui velit dolor aliqua adipisicing et ut proident excepteur laborum reprehenderit.</p>\n\t\t\t</div>\n\t\t\t<div style={{\n\t\t\t\toverflow: 'hidden'\n\t\t\t}}>\n\t\t\t\t<dps-image\n\t\t\t\t\talign=\"left\"\n\t\t\t\t\tsrc='https://via.placeholder.com/200x200.png'\n\t\t\t\t\talt='Small image showing the width behavior'\n\t\t\t\t\tcaption=\"Left alignment\"\n\t\t\t\t></dps-image>\n\t\t\t\t<p>Nisi id consequat ipsum sit et duis mollit deserunt mollit minim aliquip ad qui. Nostrud aute ad et laboris et elit sunt sit ipsum. Id qui velit dolor aliqua adipisicing et ut proident excepteur laborum reprehenderit.</p>\n\t\t\t</div>\n\t\t\t<dps-image\n\t\t\t\tsrc='https://via.placeholder.com/115x57.png'\n\t\t\t\talt='Small image showing the width behavior'\n\t\t\t></dps-image>\n\t\t\t<dps-image\n\t\t\t\tsrc='https://via.placeholder.com/115x57.png'\n\t\t\t\talt='Small image showing the width behavior'\n\t\t\t></dps-image>\n\t\t\t<p>Paragraph tag in order to show the margin behavior. Without it, the gray margins meet seamlessly.</p>\n\t\t\t<dps-image\n\t\t\t\tsrc='https://via.placeholder.com/700x700.png'\n\t\t\t\talt='700px square image'\n\t\t\t\tcaption=\"Square image that's large\"\n\t\t\t></dps-image>\n\t\t</div>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-image-grid.scss';\nimport '../dps-image';\n\nconst view = () => (\n\t<div className=\"dps-image-grid\">\n\t\t<slot></slot>\n\t\t<slot name=\"dont\"></slot>\n\t\t<slot name=\"do\"></slot>\n\t</div>\n);\n\nexport default createCustomElement('dps-image-grid', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-image-grid';\nimport '../../src/components/dps-image';\n\nconst doImage = {\n\tsrc: 'https://via.placeholder.com/700x300.png',\n\talt: 'The action to edit every list item is not required for the workflow to be completed. A tertiary Button provides a visually present object that does not compete with other elements of the list.',\n\tcaption: 'The action to edit every list item is not required for the workflow to be completed. A tertiary Button provides a visually present object that does not compete with other elements of the list.'\n};\n\nconst dontImage = {\n\tsrc: 'https://via.placeholder.com/700x300.png',\n\talt: 'The action to edit every list item is not required for the workflow to be completed. A tertiary Button provides a visually present object that does not compete with other elements of the list.',\n\tcaption: 'The action to edit every list item is not required for the workflow to be completed. A tertiary Button provides a visually present object that does not compete with other elements of the list.'\n};\n\nexport default createCustomElement('dps-image-grid-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<div>\n\t\t\t<dps-image-grid>\n\t\t\t\t<dps-image {...doImage} grid-item slot=\"do\" />\n\t\t\t\t<dps-image {...dontImage} grid-item slot=\"dont\" />\n\t\t\t</dps-image-grid>\n\t\t\t<dps-image-grid>\n\t\t\t\t<dps-image {...doImage} grid-item />\n\t\t\t\t<dps-image {...dontImage} grid-item />\n\t\t\t</dps-image-grid>\n\t\t</div>\n\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-inline-version-selector';\n\nconst mostReleases = [\n\t{\n\t\tid: \"paris\",\n\t\tlabel: \"Paris\",\n\t\tinternal: true\n\t},\n\t{\n\t\tid: \"orlando\",\n\t\tlabel: \"Orlando\"\n\t},\n\t{\n\t\tid: \"newyork\",\n\t\tlabel: \"New York\"\n\t},\n\t{\n\t\tid: \"madrid\",\n\t\tlabel: \"Madrid\"\n\t},\n\t{\n\t\tid: \"london\",\n\t\tlabel: \"London\"\n\t}\n];\nconst someReleases = [\n\t{\n\t\tid: \"newyork\",\n\t\tlabel: \"New York\"\n\t},\n\t{\n\t\tid: \"madrid\",\n\t\tlabel: \"Madrid\"\n\t}\n];\nconst instanceRelease = {\n\tid: \"orlando\",\n\tlabel: \"Orlando\"\n};\n\nexport default createCustomElement('dps-inline-version-selector-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<div style={{\n\t\t\tpadding: '2em'\n\t\t}}>\n\t\t\t<p>Most of the releases:</p>\n\t\t\t<dps-inline-version-selector\n\t\t\t\tselected=\"madrid\"\n\t\t\t\treleases={mostReleases}\n\t\t\t\tinstanceRelease={instanceRelease}\n\t\t\t/>\n\t\t\t<p>Most of the releases (active is PDI):</p>\n\t\t\t<dps-inline-version-selector\n\t\t\t\tselected=\"orlando\"\n\t\t\t\treleases={mostReleases}\n\t\t\t\tinstanceRelease={instanceRelease}\n\t\t\t/>\n\t\t\t<p>Show list only:</p>\n\t\t\t<dps-inline-version-selector\n\t\t\t\tshowListOnly={true}\n\t\t\t\tselected=\"orlando\"\n\t\t\t\treleases={mostReleases}\n\t\t\t\tinstanceRelease={instanceRelease}\n\t\t\t/>\n\t\t\t<div style={{backgroundColor: '#35543d', color: '#fff', padding: '1em', margin: '1em 0'}}>\n\t\t\t\t<p>Against a dark background:</p>\n\t\t\t\t<dps-inline-version-selector\n\t\t\t\t\tselected=\"madrid\"\n\t\t\t\t\treleases={mostReleases}\n\t\t\t\t\tinstanceRelease={instanceRelease}\n\t\t\t\t\ttextColor=\"light\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div style={{backgroundColor: '#35543d', color: '#fff', padding: '1em', margin: '1em 0'}}>\n\t\t\t\t<dps-inline-version-selector\n\t\t\t\t\tselected=\"newyork\"\n\t\t\t\t\treleases={someReleases}\n\t\t\t\t\tinstanceRelease={instanceRelease}\n\t\t\t\t\ttextColor=\"light\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<p>Some of the releases:</p>\n\t\t\t<dps-inline-version-selector\n\t\t\t\tselected=\"newyork\"\n\t\t\t\treleases={someReleases}\n\t\t\t\tinstanceRelease={instanceRelease}\n\t\t\t/>\n\t\t\t<p>No personal developer instance (empty object):</p>\n\t\t\t<dps-inline-version-selector\n\t\t\t\tselected=\"newyork\"\n\t\t\t\treleases={someReleases}\n\t\t\t\tinstanceRelease={{}}\n\t\t\t/>\n\t\t\t<p>No personal developer instance (no property passed):</p>\n\t\t\t<dps-inline-version-selector\n\t\t\t\tselected=\"newyork\"\n\t\t\t\treleases={someReleases}\n\t\t\t/>\n\t\t</div>\n\t)\n});\n","/* eslint-disable object-shorthand */\nimport { actionTypes } from '@servicenow/ui-core';\nimport { createRef } from '@servicenow/ui-renderer-snabbdom';\nimport Fuse from 'fuse.js';\n\nconst {\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_PROPERTY_CHANGED\n} = actionTypes;\n\nexport default {\n\t[COMPONENT_CONNECTED]({ updateProperties }) {\n\t\tupdateProperties({\n\t\t\tkeyDownRef: createRef()\n\t\t});\n\t},\n\t[COMPONENT_BOOTSTRAPPED]: coeffects => {\n\t\tconst { properties, state, updateState } = coeffects;\n\t\tif (properties.value.length > 0) {\n\t\t\tupdateState({\n\t\t\t\t...state,\n\t\t\t\tcursorStart: properties.value.length,\n\t\t\t\tdefaultValue: properties.value\n\t\t\t});\n\t\t}\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: coeffects => {\n\t\tconst { action, state, updateState } = coeffects;\n\t\tif (action.payload.name === 'value') {\n\t\t\tupdateState({\n\t\t\t\t...state,\n\t\t\t\tcursorStart: action.payload.value.length,\n\t\t\t\tdefaultValue: action.payload.value\n\t\t\t});\n\t\t}\n\t},\n\t['DPS_INPUT#VALUE_CHANGE']: {\n\t\teffect({ action, dispatch, updateProperties }) {\n\t\t\tconst { value } = action.payload;\n\t\t\taction.stopPropagation();\n\t\t\tupdateProperties({ opened: true });\n\t\t\tdispatch('DPS_AUTOCOMPLETE_SEARCH', { value });\n\t\t}\n\t},\n\t['DPS_AUTOCOMPLETE_SEARCH']: ({\n\t\tstate,\n\t\taction,\n\t\tproperties,\n\t\tupdateState\n\t}) => {\n\t\tconst { defaultSearchOptions } = state;\n\t\tconst { data, searchOptions } = properties;\n\t\tconst mergedSearchOptions = { ...defaultSearchOptions, ...searchOptions };\n\t\tconst getResults = term => {\n\t\t\tif (term !== '') {\n\t\t\t\tconst searchObj = new Fuse(data, mergedSearchOptions);\n\t\t\t\treturn searchObj.search(term);\n\t\t\t}\n\n\t\t\treturn [];\n\t\t};\n\n\t\tupdateState({\n\t\t\tresults: getResults(action.payload.value)\n\t\t});\n\t},\n\t['DPS_DROPDOWN_PANEL#SELECTED_ITEMS_SET']: {\n\t\teffect({ state, action, dispatch, updateProperties, updateState }) {\n\t\t\tconst { value } = action.payload;\n\t\t\tconst { properties } = state;\n\t\t\tconst { name } = properties;\n\t\t\taction.stopPropagation();\n\t\t\tupdateProperties({ opened: false, value });\n\t\t\tupdateState({\n\t\t\t\tcursorStart: value.length,\n\t\t\t\tdefaultValue: value,\n\t\t\t\tresults: []\n\t\t\t});\n\t\t\tdispatch('DPS_INPUT_AUTOCOMPLETE#VALUE_SET', {\n\t\t\t\tname,\n\t\t\t\tvalue: action.payload.value\n\t\t\t});\n\t\t}\n\t}\n};\n","/* eslint-disable object-shorthand */\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom, { createRef } from '@servicenow/ui-renderer-snabbdom';\nimport actionHandlers from './actionHandlers';\nimport styles from './dps-input-autocomplete.scss';\nimport '../dps-dropdown-panel';\n\n/**\n * handleKeyPress: Need to set the selectionStart and selectionEnd when highlighting or selecting the entire\n * text value in input box. This sucked.\n * @param {*} event\n * @param {*} state\n * @param {*} updateState\n */\nconst handleKeyPress = ({ event, state, updateState }) => {\n\tconst { target } = event;\n\tconst { cursorStart } = state;\n\tconst updatedCursorStart = Math.max(cursorStart, target.value.length);\n\tif (target.selectionEnd === 0) {\n\t\ttarget.setSelectionRange(updatedCursorStart, updatedCursorStart);\n\t\ttarget.focus();\n\t\tupdateState({\n\t\t\tcursorStart: updatedCursorStart\n\t\t});\n\t}\n};\n\nconst handleOnInput = ({ event, dispatch, updateState }) => {\n\tconst { target } = event;\n\ttarget.selectionStart = Math.max(target.selectionStart, target.value.length);\n\ttarget.selectionEnd = Math.max(target.selectionEnd, target.value.length);\n\tupdateState({\n\t\tcursorStart: Math.max(target.selectionStart, target.value.length)\n\t});\n\tdispatch('DPS_INPUT#VALUE_CHANGE', { value: target.value, name });\n};\n\nconst view = (state, { dispatch, updateState }) => {\n\tconst {\n\t\tproperties: { displayOptions, maxResults, opened, keyDownRef },\n\t\tdefaultValue,\n\t\tresults\n\t} = state;\n\n\tconst inputRef = createRef();\n\n\tconst setTargetRef = ref =>\n\t\tsetTimeout(() => {\n\t\t\tupdateState({ ref });\n\t\t});\n\n\tconst dropdownItems = results.slice(0, maxResults).map((result, index) => ({\n\t\tid: index,\n\t\tlabel: result.item[displayOptions.label]\n\t}));\n\n\treturn (\n\t\t<div className=\"dps-input-autocomplete\">\n\t\t\t<slot name=\"label\" />\n\t\t\t<div className=\"dps-input-autocomplete--input\" ref={keyDownRef}>\n\t\t\t\t<div className=\"dps-input\">\n\t\t\t\t\t<input\n\t\t\t\t\t\thook-destroy={() => setTargetRef(null)}\n\t\t\t\t\t\ton-focus={event => {\n\t\t\t\t\t\t\thandleKeyPress({ event, state, updateState });\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ton-input={event => {\n\t\t\t\t\t\t\thandleOnInput({ event, dispatch, updateState });\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ton-keydown={event => {\n\t\t\t\t\t\t\thandleKeyPress({ event, state, updateState });\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tname={name}\n\t\t\t\t\t\tref={inputRef}\n\t\t\t\t\t\tvalue={defaultValue}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t<dps-dropdown-panel\n\t\t\t\t\titems={dropdownItems}\n\t\t\t\t\topened={opened}\n\t\t\t\t\ttarget-ref={inputRef}\n\t\t\t\t\tparentRef={keyDownRef}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-input-autocomplete', {\n\tactionHandlers,\n\tinitialState: {\n\t\tcursorStart: 0,\n\t\tdefaultValue: '',\n\t\tdefaultSearchOptions: {\n\t\t\tshouldSort: true,\n\t\t\tthreshold: 0.1,\n\t\t\tincludeScore: true,\n\t\t\ttokenize: false,\n\t\t\tfindAllMatches: false,\n\t\t\tlocation: 0,\n\t\t\tdistance: 0,\n\t\t\tmaxPatternLength: 32,\n\t\t\tminMatchCharLength: 2\n\t\t},\n\t\t/**\n\t\t * Ref to find elements position in the viewport.\n\t\t * @type {ref}\n\t\t */\n\t\tref: {},\n\t\tresults: []\n\t},\n\tproperties: {\n\t\tdata: {\n\t\t\tdefault: []\n\t\t},\n\t\tdisplayOptions: {\n\t\t\tdefault: {}\n\t\t},\n\t\tmaxResults: {\n\t\t\tdefault: 6\n\t\t},\n\t\tname: {\n\t\t\tdefault: ''\n\t\t},\n\t\topened: {\n\t\t\tdefault: false\n\t\t},\n\t\tvalue: {\n\t\t\tdefault: ''\n\t\t},\n\t\tkeyDownRef: {\n\t\t\tdefault: null\n\t\t},\n\t\tsearchOptions: {\n\t\t\tdefault: {}\n\t\t}\n\t},\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tstyles,\n\tview\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-input-autocomplete';\nimport Data from './iconSearchIndex.json';\n\nexport default createCustomElement('dps-input-autocomplete-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-input-autocomplete\n\t\t\tplaceholder=\"placeholder\"\n\t\t\tname=\"Input Autocomplete\"\n\t\t\tdata={Data}\n\t\t\tvalue=\"arrowLeftFill\"\n\t\t></dps-input-autocomplete>\n\t)\n});\n","import { DPS_LEAD_TRACKING_ACTIONS } from './actions';\nimport thankYou from '../../images/lead-tracking-ty.svg';\n\nconst renderQuestionnaireView = (state, dispatch) => {\n\tconst {\n\t\tshowQuestionOneTextarea,\n\t\tshowQuestionTwoTextarea,\n\t\tmaxOtherChars,\n\t\totherOneCharsLeft,\n\t\totherTwoCharsLeft,\n\t\tshowQuestionOneOtherErrorMsg,\n\t\tquestionOneOtherErrorText,\n\t\tshowQuestionTwoOtherErrorMsg,\n\t\tquestionTwoOtherErrorText,\n\t\tresponse,\n\t\tformQuestions,\n\t\terrorMsgs\n\t} = state.properties;\n\n\tconst {formQuestionOne, formQuestionTwo} = formQuestions;\n\n\treturn (\n\t\t<div className=\"dps-lead-tracking-fieldset-container\">\n\t\t\t<fieldset className=\"dps-lead-tracking-fieldset\">\n\t\t\t\t<legend>{formQuestionOne.text} <span>*</span><br/>(Choose the best answer)</legend>\n\t\t\t\t{errorMsgs.question_1.length > 0 ? <span className=\"dps-lead-tracking-form-msg -error\">{errorMsgs.question_1}</span> : null}\n\t\t\t\t<div className=\"dps-lead-tracking-form-field\">\n\t\t\t\t\t<input\n\t\t\t\t\t\tid=\"partner\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tname=\"question_1\"\n\t\t\t\t\t\tvalue={formQuestionOne.option[0].sys_id}\n\t\t\t\t\t\tchecked={response.question_1 === formQuestionOne.option[0].sys_id}\n\t\t\t\t\t\ton-input={e => dispatch(DPS_LEAD_TRACKING_ACTIONS.INPUT_CHANGE, {value: e.target.value, name: 'question_1', id: 'partner', label: formQuestionOne.option[0].text})}\n\t\t\t\t\t/>\n\t\t\t\t\t<label htmlFor=\"partner\">{formQuestionOne.option[0].text}</label>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-lead-tracking-form-field\">\n\t\t\t\t\t<input\n\t\t\t\t\t\tid=\"customer\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tname=\"question_1\"\n\t\t\t\t\t\tvalue={formQuestionOne.option[1].sys_id}\n\t\t\t\t\t\tchecked={response.question_1 === formQuestionOne.option[1].sys_id}\n\t\t\t\t\t\ton-input={e => dispatch(DPS_LEAD_TRACKING_ACTIONS.INPUT_CHANGE, {value: e.target.value, name: 'question_1', id: 'customer', label: formQuestionOne.option[1].text})}\n\t\t\t\t\t/>\n\t\t\t\t\t<label htmlFor=\"customer\">{formQuestionOne.option[1].text}</label>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-lead-tracking-form-field\">\n\t\t\t\t\t<input\n\t\t\t\t\t\tid=\"developer\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tname=\"question_1\"\n\t\t\t\t\t\tvalue={formQuestionOne.option[2].sys_id}\n\t\t\t\t\t\tchecked={response.question_1 === formQuestionOne.option[2].sys_id}\n\t\t\t\t\t\ton-input={e => dispatch(DPS_LEAD_TRACKING_ACTIONS.INPUT_CHANGE, {value: e.target.value, name: 'question_1', id: 'developer', label: formQuestionOne.option[2].text})}\n\t\t\t\t\t/>\n\t\t\t\t\t<label htmlFor=\"developer\">{formQuestionOne.option[2].text}</label>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-lead-tracking-form-field\">\n\t\t\t\t\t<input\n\t\t\t\t\t\tid=\"question_1_OtherInput\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tname=\"question_1\"\n\t\t\t\t\t\tvalue={formQuestionOne.option[3].sys_id}\n\t\t\t\t\t\tchecked={response.question_1 === formQuestionOne.option[3].sys_id}\n\t\t\t\t\t\ton-input={e => dispatch(DPS_LEAD_TRACKING_ACTIONS.INPUT_CHANGE, {value: e.target.value, name: 'question_1', id: 'question_1_OtherInput', label: formQuestionOne.option[3].text})}\n\t\t\t\t\t/>\n\t\t\t\t\t<label htmlFor=\"question_1_OtherInput\">{formQuestionOne.option[3].text}</label>\n\t\t\t\t</div>\n\t\t\t\t{showQuestionOneTextarea ?\n\t\t\t\t\t<div className=\"dps-lead-tracking-textarea-container\">\n\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\tname=\"question_1_Other\"\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'dps-lead-tracking-textarea': true,\n\t\t\t\t\t\t\t\t'-other': true,\n\t\t\t\t\t\t\t\t'-error': errorMsgs.question_1_Other.length > 0\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\trows={1}\n\t\t\t\t\t\t\tcols={15}\n\t\t\t\t\t\t\tmaxlength={maxOtherChars}\n\t\t\t\t\t\t\tplaceholder=\"Please explain.\"\n\t\t\t\t\t\t\ton-input={e => dispatch(DPS_LEAD_TRACKING_ACTIONS.TEXTAREA_CHANGE, {value: e.target.value, name: 'question_1_Other', classList: e.target.classList})}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div className=\"dps-lead-tracking-textarea-msgs\">\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\terrorMsgs.question_1_Other.length > 0 ? <span className=\"dps-lead-tracking-form-msg -error\">{errorMsgs.question_1_Other}</span> : null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t<p className=\"dps-lead-tracking-form-msg -chars-left\">{otherOneCharsLeft} characters left</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>: null\n\t\t\t\t}\n\t\t\t\t{showQuestionOneOtherErrorMsg ? <p className=\"dps-lead-tracking-form-msg -other\">{questionOneOtherErrorText}</p> : null}\n\t\t\t</fieldset>\n\t\t\t<fieldset className=\"dps-lead-tracking-fieldset\">\n\t\t\t\t<legend>{formQuestionTwo.text} <span>*</span><br/>(Check all that apply)</legend>\n\t\t\t\t{errorMsgs.question_2.length > 0 ? <span className=\"dps-lead-tracking-form-msg -error\">{errorMsgs.question_2}</span> : null}\n\t\t\t\t<div className=\"dps-lead-tracking-checkbox-container -sm\">\n\t\t\t\t\t<input\n\t\t\t\t\t\tid=\"learn\"\n\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\tname=\"question_2\"\n\t\t\t\t\t\tvalue={formQuestionTwo.option[0].sys_id}\n\t\t\t\t\t\tchecked={response.question_2.includes(formQuestionTwo.option[0].sys_id)}\n\t\t\t\t\t\ton-input={e => dispatch(DPS_LEAD_TRACKING_ACTIONS.INPUT_CHANGE, {value: e.target.value, name: 'question_2', id: 'learn', label: formQuestionTwo.option[0].text})}\n\t\t\t\t\t/>\n\t\t\t\t\t<label htmlFor=\"learn\">{formQuestionTwo.option[0].text}</label>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-lead-tracking-checkbox-container -sm\">\n\t\t\t\t\t<input\n\t\t\t\t\t\tid=\"build\"\n\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\tname=\"question_2\"\n\t\t\t\t\t\tvalue={formQuestionTwo.option[1].sys_id}\n\t\t\t\t\t\tchecked={response.question_2.includes(formQuestionTwo.option[1].sys_id)}\n\t\t\t\t\t\ton-input={e => dispatch(DPS_LEAD_TRACKING_ACTIONS.INPUT_CHANGE, {value: e.target.value, name: 'question_2', id: 'build', label: formQuestionTwo.option[1].text})}\n\t\t\t\t\t/>\n\t\t\t\t\t<label htmlFor=\"build\">{formQuestionTwo.option[1].text}</label>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-lead-tracking-checkbox-container -sm\">\n\t\t\t\t\t<input\n\t\t\t\t\t\tid=\"sell\"\n\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\tname=\"question_2\"\n\t\t\t\t\t\tvalue={formQuestionTwo.option[2].sys_id}\n\t\t\t\t\t\tchecked={response.question_2.includes(formQuestionTwo.option[2].sys_id)}\n\t\t\t\t\t\ton-input={e => dispatch(DPS_LEAD_TRACKING_ACTIONS.INPUT_CHANGE, {value: e.target.value, name: 'question_2', id: 'sell', label: formQuestionTwo.option[2].text})}\n\t\t\t\t\t/>\n\t\t\t\t\t<label htmlFor=\"sell\">{formQuestionTwo.option[2].text}</label>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-lead-tracking-checkbox-container -sm\">\n\t\t\t\t\t<input\n\t\t\t\t\t\tid=\"become\"\n\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\tname=\"question_2\"\n\t\t\t\t\t\tvalue={formQuestionTwo.option[3].sys_id}\n\t\t\t\t\t\tchecked={response.question_2.includes(formQuestionTwo.option[3].sys_id)}\n\t\t\t\t\t\ton-input={e => dispatch(DPS_LEAD_TRACKING_ACTIONS.INPUT_CHANGE, {value: e.target.value, name: 'question_2', id: 'become', label: formQuestionTwo.option[3].text})}\n\t\t\t\t\t/>\n\t\t\t\t\t<label htmlFor=\"become\">{formQuestionTwo.option[3].text}</label>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-lead-tracking-checkbox-container -sm\">\n\t\t\t\t\t<input\n\t\t\t\t\t\tid=\"question_2_OtherInput\"\n\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\tname=\"question_2\"\n\t\t\t\t\t\tvalue={formQuestionTwo.option[4].sys_id}\n\t\t\t\t\t\tchecked={response.question_2.includes(formQuestionTwo.option[4].sys_id)}\n\t\t\t\t\t\ton-input={e => dispatch(DPS_LEAD_TRACKING_ACTIONS.INPUT_CHANGE, {value: e.target.value, name: 'question_2', id: 'question_2_OtherInput', label: formQuestionTwo.option[4].text})}\n\t\t\t\t\t/>\n\t\t\t\t\t<label htmlFor=\"question_2_OtherInput\">{formQuestionTwo.option[4].text}</label>\n\t\t\t\t</div>\n\t\t\t\t{showQuestionTwoTextarea ?\n\t\t\t\t\t<div className=\"dps-lead-tracking-textarea-container\">\n\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\tname=\"question_2_Other\"\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'dps-lead-tracking-textarea': true,\n\t\t\t\t\t\t\t\t'-other': true,\n\t\t\t\t\t\t\t\t'-error': errorMsgs.question_2_Other.length > 0\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\trows={1}\n\t\t\t\t\t\t\tcols={15}\n\t\t\t\t\t\t\tmaxlength={maxOtherChars}\n\t\t\t\t\t\t\tplaceholder=\"Please explain.\"\n\t\t\t\t\t\t\ton-input={e => dispatch(DPS_LEAD_TRACKING_ACTIONS.TEXTAREA_CHANGE, {value: e.target.value, name: 'question_2_Other', classList: e.target.classList})}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div className=\"dps-lead-tracking-textarea-msgs\">\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\terrorMsgs.question_2_Other.length > 0 ? <span className=\"dps-lead-tracking-form-msg -error\">{errorMsgs.question_2_Other}</span> : null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t<p className=\"dps-lead-tracking-form-msg -chars-left\">{otherTwoCharsLeft} characters left</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div> : null\n\t\t\t\t}\n\t\t\t\t{showQuestionTwoOtherErrorMsg ? <p className=\"dps-lead-tracking-form-msg -other\">{questionTwoOtherErrorText}</p> : null}\n\t\t\t</fieldset>\n\t\t</div>\n\t);\n};\n\nexport const renderFormView = (state, dispatch) => {\n\tconst {\n\t\tmaxChars,\n\t\tcharsLeft,\n\t\tgdprConsent,\n\t\tcountryNames,\n\t\troles,\n\t\tresponse,\n\t\tformQuestions,\n\t\tshowZipCodeErrorMsg,\n\t\tshowGdprConsent,\n\t\terrorMsgs\n\t} = state.properties;\n\tconst {componentId, formRef} = state;\n\n\treturn (\n\t\t<form\n\t\t\tclassName=\"dps-lead-tracking-form\"\n\t\t\ton-submit={e => {\n\t\t\t\te.preventDefault();\n\t\t\t}}\n\t\t\tid={`form-${componentId}`}\n\t\t\tref={formRef}\n\t\t>\n\t\t\t{formQuestions ? renderQuestionnaireView(state, dispatch) : null}\n\t\t\t<div className=\"dps-lead-tracking-form-field\">\n\t\t\t\t<label>Country <span>*</span></label>\n\t\t\t\t<dps-dropdown\n\t\t\t\t\toptions={countryNames}\n\t\t\t\t\tname=\"country\"\n\t\t\t\t\tselected={response.country || 'Select your country'}\n\t\t\t\t\terror={errorMsgs.country.length > 0}\n\t\t\t\t/>\n\t\t\t\t{errorMsgs.country.length > 0 ? <span className=\"dps-lead-tracking-form-msg -error\">{errorMsgs.country}</span> : null}\n\t\t\t</div>\n\t\t\t<div className=\"dps-lead-tracking-form-field\">\n\t\t\t\t<label>Company <span>*</span></label>\n\t\t\t\t<dps-input \n\t\t\t\t\tname=\"company\" \n\t\t\t\t\tvalue={response.company || null}\n\t\t\t\t\terror={errorMsgs.company.length > 0}\n\t\t\t\t/>\n\t\t\t\t{errorMsgs.company.length > 0 ? <span className=\"dps-lead-tracking-form-msg -error\">{errorMsgs.company}</span> : null}\n\t\t\t</div>\n\t\t\t<div className=\"dps-lead-tracking-form-field\">\n\t\t\t\t<label>Role <span>*</span></label>\n\t\t\t\t<dps-dropdown\n\t\t\t\t\toptions={roles}\n\t\t\t\t\tname=\"role\"\n\t\t\t\t\tselected={response.role || 'Select your role in your company'}\n\t\t\t\t\terror={errorMsgs.role.length > 0}\n\t\t\t\t/>\n\t\t\t\t{errorMsgs.role.length > 0 ? <span className=\"dps-lead-tracking-form-msg -error\">{errorMsgs.role}</span> : null}\n\t\t\t</div>\n\t\t\t<div className=\"dps-lead-tracking-form-field\">\n\t\t\t\t<label>Postal Code <span>*</span></label>\n\t\t\t\t<dps-input \n\t\t\t\t\tname=\"zip_code\" \n\t\t\t\t\tvalue={response.zip_code || null}\n\t\t\t\t\terror={errorMsgs.zip_code.length > 0}\n\t\t\t\t/>\n\t\t\t\t{showZipCodeErrorMsg ? <p className=\"dps-lead-tracking-form-msg -zipcode\">Invalid Zip/Postal code</p>: null}\n\t\t\t\t{errorMsgs.zip_code.length > 0 ? <span className=\"dps-lead-tracking-form-msg -error\">{errorMsgs.zip_code}</span> : null}\n\t\t\t</div>\n\t\t\t{showGdprConsent ? \n\t\t\t\t<div className=\"dps-lead-tracking-checkbox-container -lg\">\n\t\t\t\t\t<input\n\t\t\t\t\t\tname=\"gdpr\"\n\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\tid=\"gdpr\"\n\t\t\t\t\t\tvalue=\"true\"\n\t\t\t\t\t\ton-input={e => dispatch(DPS_LEAD_TRACKING_ACTIONS.INPUT_CHANGE, {value: e.target.value, name: 'gdpr', id: 'gdpr'})}\n\t\t\t\t\t/>\n\t\t\t\t\t<label htmlFor=\"gdpr\">By checking this box, {gdprConsent}</label>\n\t\t\t\t</div> : null\n\t\t\t}\n\t\t\t<div className=\"dps-lead-tracking-textarea-container\">\n\t\t\t\t<label htmlFor=\"tell_us_more\">Anything else?</label>\n\t\t\t\t<textarea\n\t\t\t\t\tid=\"tell_us_more\"\n\t\t\t\t\tclassName=\"dps-lead-tracking-textarea\"\n\t\t\t\t\trows={5}\n\t\t\t\t\tcols={85}\n\t\t\t\t\tname=\"tell_us_more\"\n\t\t\t\t\tmaxlength={maxChars}\n\t\t\t\t\ton-input={e => dispatch(DPS_LEAD_TRACKING_ACTIONS.TEXTAREA_CHANGE, {value: e.target.value, name: 'tell_us_more', classList: e.target.classList})}\n\t\t\t\t/>\n\t\t\t\t<p className=\"dps-lead-tracking-form-msg -chars-left\">{charsLeft} characters left</p>\n\t\t\t</div>\n\t\t\t<button \n\t\t\t\tclassName=\"dps-button -primary -sm\" \n\t\t\t\ttype=\"submit\" \n\t\t\t\ton-click={e => {\n\t\t\t\t\tdispatch(DPS_LEAD_TRACKING_ACTIONS.FORM_SUBMIT, {event: e});\n\t\t\t\t}}>\n\t\t\t\tSubmit\n\t\t\t</button>\n\t\t</form>\n\t);\n};\n\nexport const renderThankYouView = () => (\n\t<div className=\"dps-lead-tracking-thankyou\">\n\t\t<img src={thankYou} alt=\"Thank you\" />\n\t\t<p className=\"dps-lead-tracking-form-msg -thankyou\">You can now start exploring, learning, and building with your new account.</p>\n\t</div>\n);\n","import { DPS_LEAD_TRACKING_ACTIONS } from './actions';\nimport '../dps-modal';\nimport '../dps-dropdown';\nimport '../dps-button';\nimport '../dps-input';\nimport '@servicenow/now-icon';\nimport { renderFormView, renderThankYouView } from './modalContentView';\n\nconst view = (state, dispatch) => {\n\tconst { failedToLoadContent, opened, isSubmitted } = state.properties;\n\tconst THANK_YOU_HEADER = 'Thanks for submitting your information';\n\tconst LEAD_TRACKING_HEADER = 'Help us get to know you better';\n\n\treturn (\n\t\t<dps-modal\n\t\t\topened={opened}\n\t\t\theaderLabel={isSubmitted ? THANK_YOU_HEADER : LEAD_TRACKING_HEADER}\n\t\t\tsize=\"sm\"\n\t\t\tclickToEscape={false}\n\t\t\tclosable={isSubmitted} // Only thank you view will have 'Close' button\n\t\t\tfooterActions={\n\t\t\t\tisSubmitted && [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Close',\n\t\t\t\t\t\tclickActionType: DPS_LEAD_TRACKING_ACTIONS.FORM_RESET,\n\t\t\t\t\t\tvalue: false\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t>\n\t\t\t{failedToLoadContent ? (\n\t\t\t\t<div className=\"dps-lead-tracking-failed\">\n\t\t\t\t\t<p>There were issues loading this content. Please try again later.</p>\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t\t{!failedToLoadContent && isSubmitted\n\t\t\t\t? renderThankYouView()\n\t\t\t\t: renderFormView(state, dispatch)}\n\t\t</dps-modal>\n\t);\n};\n\nexport default view;\n","const setAll = (obj, val) => Object.keys(obj).forEach(k => obj[k] = val);\n\nexport default setAll;\n","import { createHttpEffect } from '@servicenow/ui-effect-http';\nimport setAll from '../../utils/setAll';\nimport {\n\tformatSysParam,\n\tdevPortalGetHttpEffect,\n\tdevPortalPostHttpEffect\n} from '../../utils/helpers';\nimport { DPS_LEAD_TRACKING_ACTIONS } from './actions';\n\n/**\n * Dispatched when the user types in the textarea\n * @type {{action: Object}}\n */\nexport const handleTextAreaChange = ({\n\tupdateProperties,\n\taction,\n\tproperties\n}) => {\n\tconst { name, value, classList } = action.payload;\n\tconst { response } = properties;\n\n\tupdateProperties({\n\t\tresponse: {\n\t\t\t...response,\n\t\t\t[name]: value\n\t\t}\n\t});\n\n\t// update charsLeft\n\tif (!classList.contains('-other')) {\n\t\tupdateProperties({\n\t\t\tcharsLeft: properties.maxChars - value.length\n\t\t});\n\t} else {\n\t\tif (name === 'question_1_Other') {\n\t\t\tupdateProperties({\n\t\t\t\totherOneCharsLeft: properties.maxOtherChars - value.length\n\t\t\t});\n\t\t} else {\n\t\t\tupdateProperties({\n\t\t\t\totherTwoCharsLeft: properties.maxOtherChars - value.length\n\t\t\t});\n\t\t}\n\t}\n};\n\n/**\n * Dispatched when the user selects in dropdown\n * @type {{action: Object}}\n */\nexport const handleDropdownChange = ({\n\tupdateProperties,\n\tproperties,\n\taction,\n\tdispatch\n}) => {\n\tconst { response, countryList } = properties;\n\tconst { name, value } = action.payload;\n\n\tif (\n\t\tvalue !== 'Select your country' &&\n\t\tvalue !== 'Select your role in your company'\n\t) {\n\t\tupdateProperties({\n\t\t\tresponse: {\n\t\t\t\t...response,\n\t\t\t\t[name]: value\n\t\t\t}\n\t\t});\n\t} else {\n\t\tupdateProperties({\n\t\t\tresponse: {\n\t\t\t\t...response,\n\t\t\t\t[name]: ''\n\t\t\t}\n\t\t});\n\t}\n\n\tif (name === 'country') {\n\t\tconst countryCode = countryList.find(\n\t\t\tcountryName => countryName.name === value\n\t\t).code;\n\t\tconst sysparm_data = formatSysParam('country.gdpr.check', {\n\t\t\tiso_short: countryCode\n\t\t});\n\n\t\tdispatch(DPS_LEAD_TRACKING_ACTIONS.GET_GDPR, { sysparm_data });\n\t}\n};\n\n/**\n * Fires when form submits\n * @type {{action: Object}}\n */\nexport const handleGetGDPR = devPortalGetHttpEffect({\n\tsuccessActionType: DPS_LEAD_TRACKING_ACTIONS.GET_GDPR_SUCCEEDED,\n\terrorActionType: DPS_LEAD_TRACKING_ACTIONS.GET_GDPR_ERRORED\n});\n\n/**\n * Form submission is successful\n * @type {{action: Object}}\n */\nexport const handleGetGDPRSucceeded = ({ updateProperties, action }) => {\n\tconst { requires_gdpr } = action.payload.result.data;\n\tupdateProperties({ showGdprConsent: requires_gdpr });\n};\n\n/**\n * Form submission fails\n * @type {{action: Object}}\n */\nexport const handleGetGDPRErrored = () => {};\n\n/**\n * Dispatched when the user types in the Question 1 and Question 2 Other textarea\n * @type {{action: Object}}\n */\nconst handleShowOtherTextareas = (updateProperties, properties, name, id) => {\n\tconst {\n\t\tshowQuestionTwoTextarea,\n\t\tresponse,\n\t\terrorMsgs,\n\t\tmaxOtherChars\n\t} = properties;\n\n\tif (name === 'question_1') {\n\t\t// Question 1 has radios. Therefore selecting anything\n\t\t// other than \"Other\" hides textarea.\n\t\tif (id === 'question_1_OtherInput') {\n\t\t\tupdateProperties({\n\t\t\t\tshowQuestionOneTextarea: true\n\t\t\t});\n\t\t} else {\n\t\t\t// Reset other textarea\n\t\t\tupdateProperties({\n\t\t\t\tshowQuestionOneTextarea: false,\n\t\t\t\totherOneCharsLeft: maxOtherChars,\n\t\t\t\tresponse: {\n\t\t\t\t\t...response,\n\t\t\t\t\tquestion_1_Other: ''\n\t\t\t\t},\n\t\t\t\terrorMsgs: {\n\t\t\t\t\t...errorMsgs,\n\t\t\t\t\tquestion_1_Other: ''\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else if (name === 'question_2' && id === 'question_2_OtherInput') {\n\t\t// Question 2 has checkboxes. Therefore checking \"Other\"\n\t\t// toggles textarea.\n\t\tupdateProperties({\n\t\t\tshowQuestionTwoTextarea: !showQuestionTwoTextarea,\n\t\t\tresponse: {\n\t\t\t\t...response,\n\t\t\t\tquestion_2_Other: ''\n\t\t\t},\n\t\t\terrorMsgs: {\n\t\t\t\t...errorMsgs,\n\t\t\t\tquestion_2_Other: ''\n\t\t\t}\n\t\t});\n\t}\n};\n\n/**\n * Dispatched when the user interacts with input fields\n */\nexport const handleInputChange = ({ updateProperties, properties, action }) => {\n\tconst { response } = properties;\n\tconst { name, value, id, label } = action.payload;\n\tconst { question_2 } = response;\n\n\thandleShowOtherTextareas(updateProperties, properties, name, id);\n\n\tif (name === 'question_1') {\n\t\t// Question 1 stores one response at a time\n\t\tupdateProperties({\n\t\t\tresponse: {\n\t\t\t\t...response,\n\t\t\t\t[name]: { value, label }\n\t\t\t}\n\t\t});\n\t} else if (name === 'question_2') {\n\t\t// Question 2 stores an array of answers\n\t\tlet values;\n\n\t\tif (question_2.some(e => e.value === value && e.label === label)) {\n\t\t\tvalues = question_2.filter(\n\t\t\t\tquestion =>\n\t\t\t\t\tJSON.stringify(question) !== JSON.stringify({ value, label })\n\t\t\t);\n\t\t} else {\n\t\t\tvalues = [...question_2, { value, label }];\n\t\t}\n\n\t\tupdateProperties({\n\t\t\tresponse: {\n\t\t\t\t...response,\n\t\t\t\t[name]: values\n\t\t\t}\n\t\t});\n\t} else if (name === 'gdpr') {\n\t\t// GDPR consent stores boolean\n\t\tupdateProperties({\n\t\t\tresponse: {\n\t\t\t\t...response,\n\t\t\t\t[name]: value === 'true' ? true : false\n\t\t\t}\n\t\t});\n\t} else {\n\t\tupdateProperties({\n\t\t\tresponse: {\n\t\t\t\t...response,\n\t\t\t\t[name]: value\n\t\t\t}\n\t\t});\n\t}\n};\n\n/**\n * Checks if required questions have been answered\n */\nconst validateForm = required => {\n\tlet isValid = true;\n\n\tObject.keys(required).forEach(question => {\n\t\tconst item = required[question];\n\t\tlet isEmpty = item.length === 0 || Object.keys(item).length === 0;\n\n\t\t// Checks if Other field for first two questions have been answered\n\t\tif (question === 'question_1' || question === 'question_2') {\n\t\t\tisEmpty =\n\t\t\t\titem[question].length === 0 || Object.keys(item[question]).length === 0;\n\t\t\tconst answeredOneOther = item.answeredQuestionOneOther;\n\t\t\tconst answeredTwoOther = item.answeredQuestionTwoOther;\n\t\t\tif (answeredOneOther && !item.question_1_Other) {\n\t\t\t\tisValid = false;\n\t\t\t}\n\t\t\tif (answeredTwoOther && !item.question_2_Other) {\n\t\t\t\tisValid = false;\n\t\t\t}\n\t\t}\n\t\t// Checks all questions\n\t\tif (isEmpty) {\n\t\t\tisValid = false;\n\t\t}\n\t});\n\treturn isValid;\n};\n\n/**\n * Dispatched when the user submits form\n * @type {{action: Object}}\n */\nexport const handleFormSubmit = ({\n\tupdateProperties,\n\tproperties,\n\tdispatch\n}) => {\n\tconst { response, formQuestions, countryList, zipCodeRegex, userInfo } = properties;\n\tconst {\n\t\tcountry,\n\t\tcompany,\n\t\trole,\n\t\tzip_code,\n\t\tquestion_1,\n\t\tquestion_2,\n\t\tquestion_1_Other,\n\t\tquestion_2_Other,\n\t\tgdpr,\n\t\ttell_us_more\n\t} = response;\n\n\tconst { formQuestionOne, formQuestionTwo } = formQuestions;\n\tconst questionOneOtherSysId = formQuestionOne.option[3].sys_id;\n\tconst questionTwoOtherSysId = formQuestionTwo.option[4].sys_id;\n\tconst answeredQuestionOneOther = formQuestionOne.option\n\t\t? question_1.value === questionOneOtherSysId\n\t\t: false;\n\tconst answeredQuestionTwoOther = formQuestionTwo.option\n\t\t? question_2.map(question => question.value).includes(questionTwoOtherSysId)\n\t\t: false;\n\n\t// Required questions are based on hasQuestionnaire\n\tconst requiredQuestions = formQuestions\n\t\t? {\n\t\t\tcountry,\n\t\t\tcompany,\n\t\t\trole,\n\t\t\tzip_code,\n\t\t\tquestion_1: {\n\t\t\t\tquestion_1,\n\t\t\t\tquestion_1_Other,\n\t\t\t\tansweredQuestionOneOther\n\t\t\t},\n\t\t\tquestion_2: {\n\t\t\t\tquestion_2,\n\t\t\t\tquestion_2_Other,\n\t\t\t\tansweredQuestionTwoOther\n\t\t\t}\n\t\t}\n\t\t: { country, company, role, zip_code };\n\n\t// Form validation\n\tif (validateForm(requiredQuestions)) {\n\t\t// For zipcode validation\n\t\tconst countryCode = countryList.find(\n\t\t\tcountryName => countryName.name === country\n\t\t).code;\n\t\tconst countryRegex = new RegExp(`^${zipCodeRegex[countryCode]}$`);\n\n\t\t// For data modal config\n\t\tconst formQuestionOneLabel = question_1.label === 'Other' ? question_1_Other : question_1.label;\n\t\tconst formQuestionOneSysId = question_1.value;\n\t\tconst formQuestionTwoLabels = question_2.map(question => {\n\t\t\tif (question.label === 'Other') {\n\t\t\t\treturn question_2_Other;\n\t\t\t}\n\t\t\treturn question.label;\n\t\t});\n\t\tconst formQuestionTwoSysIds = question_2.map(question => question.value);\n\n\t\tif (!countryRegex.test(zip_code)) {\n\t\t\t// Zip code validation\n\t\t\tconst errorMsgsCopy = properties.errorMsgs;\n\t\t\tsetAll(errorMsgsCopy, '');\n\n\t\t\tupdateProperties({\n\t\t\t\terrorMsgs: {\n\t\t\t\t\t...errorMsgsCopy,\n\t\t\t\t\tzip_code: 'The zipcode you entered is not valid'\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tconst sysparm_data = formatSysParam('lead.tracking.create.lead', {\n\t\t\t\tanswered: false,\n\t\t\t\tlead_data: {\n\t\t\t\t\twth: {\n\t\t\t\t\t\t...response,\n\t\t\t\t\t\tquestion_1: formQuestionOneSysId,\n\t\t\t\t\t\tquestion_2: formQuestionTwoSysIds,\n\t\t\t\t\t\tcountry: `${countryCode}-${country}`,\n\t\t\t\t\t\tcountry_iso_short: countryCode,\n\t\t\t\t\t\tother_sys_id_two: formQuestionTwo.option[4].sys_id\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tdispatch(DPS_LEAD_TRACKING_ACTIONS.FORM_DATA_POST, {\n\t\t\t\tsysparm_data\n\t\t\t});\n\n\n\t\t\t// TODO check tellMore: \"tell us more\"\n\t\t\t// Submits form to Eloqua (for marketing team)\n\t\t\tdispatch(DPS_LEAD_TRACKING_ACTIONS.FORM_ELOQUA_DATA_POST, {\n\t\t\t\tdata: {\n\t\t\t\t\tcompany,\n\t\t\t\t\tcountry: countryCode,\n\t\t\t\t\teloqCampId: '3814',\n\t\t\t\t\teloqCookie: '0',\n\t\t\t\t\teloqFormName: 'developersite',\n\t\t\t\t\teloqGUID: '',\n\t\t\t\t\teloqSiteid: '1133',\n\t\t\t\t\temail: userInfo.email,\n\t\t\t\t\tfirst: userInfo.first_name,\n\t\t\t\t\tgdpr,\n\t\t\t\t\tlast: userInfo.last_name,\n\t\t\t\t\tphone: '',\n\t\t\t\t\tquestion1: formQuestionOneLabel,\n\t\t\t\t\tquestion2: formQuestionTwoLabels,\n\t\t\t\t\tstate: '',\n\t\t\t\t\ttellMore: tell_us_more,\n\t\t\t\t\ttitle: ''\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tconst errors = { ...properties.errorMsgs };\n\n\t\tObject.keys(requiredQuestions).forEach(question => {\n\t\t\tconst item = requiredQuestions[question];\n\t\t\tconst answeredOneOther = item.answeredQuestionOneOther;\n\t\t\tconst answeredTwoOther = item.answeredQuestionTwoOther;\n\t\t\tlet isEmpty = item.length === 0 || Object.keys(item).length === 0;\n\t\t\tlet errorMsg = 'Required';\n\n\t\t\t// Checks if Other field for first two questions have been answered\n\t\t\tif (question === 'question_1' || question === 'question_2') {\n\t\t\t\tisEmpty =\n\t\t\t\t\titem[question].length === 0 ||\n\t\t\t\t\tObject.keys(item[question]).length === 0;\n\t\t\t\terrorMsg = 'This question is required.';\n\n\t\t\t\tif (question === 'question_1') {\n\t\t\t\t\tif (answeredOneOther && !question_1_Other) {\n\t\t\t\t\t\terrors.question_1_Other =\n\t\t\t\t\t\t\t'You selected \"Other.\" Please explain what you were trying to do in a few words.';\n\t\t\t\t\t} else {\n\t\t\t\t\t\terrors.question_1_Other = '';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (question === 'question_2') {\n\t\t\t\t\tif (answeredTwoOther && !question_2_Other) {\n\t\t\t\t\t\terrors.question_2_Other =\n\t\t\t\t\t\t\t'You selected \"Other.\" Please explain what you were trying to do in a few words.';\n\t\t\t\t\t} else {\n\t\t\t\t\t\terrors.question_2_Other = '';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Checks all questions\n\t\t\tif (isEmpty) {\n\t\t\t\terrors[question] = errorMsg;\n\t\t\t} else {\n\t\t\t\terrors[question] = '';\n\t\t\t}\n\t\t});\n\n\t\tupdateProperties({ errorMsgs: errors });\n\t}\n};\n\n/**\n * Fires when form submits\n * @type {{action: Object}}\n */\nexport const handleFormDataPost = devPortalPostHttpEffect({\n\tsuccessActionType: DPS_LEAD_TRACKING_ACTIONS.FORM_SUCCEEDED,\n\terrorActionType: DPS_LEAD_TRACKING_ACTIONS.FORM_ERRORED\n});\n\n/**\n * Fires when form submits, sends to Eloqua for marketing team\n * @type {{action: Object}}\n */\nexport const handleFormEloquaDataPost = createHttpEffect('/devEloquaPost.do', {\n\tmethod: 'POST',\n\tdataParam: 'data',\n\tbatch: false,\n\tsuccessActionType: DPS_LEAD_TRACKING_ACTIONS.FORM_ELOQUA_SUCCEEDED,\n\terrorActionType: DPS_LEAD_TRACKING_ACTIONS.FORM_ELOQUA_ERRORED\n});\n\n/**\n * Form submission is successful\n * @type {{action: Object}}\n */\nexport const handleFormSucceeded = ({ dispatch, updateProperties }) => {\n\tupdateProperties({ isSubmitted: true });\n\tdispatch(DPS_LEAD_TRACKING_ACTIONS.COMPLETED);\n};\n\n/**\n * Form submission fails\n * @type {{action: Object}}\n */\nexport const handleFormErrored = ({ updateProperties }) => {\n\tupdateProperties({ isSubmitted: false });\n};\n\n/**\n * Form submission is successful\n * @type {{action: Object}}\n */\nexport const handleFormEloquaSucceeded = () => {};\n\n/**\n * Form submission fails\n * @type {{action: Object}}\n */\nexport const handleFormEloquaErrored = () => {};\n\n/**\n * Dispatched when modal is closed. It clears out form data and resets\n * component properties\n * @type {{action: Object}}\n */\nexport const handleFormReset = ({ updateProperties, state, properties }) => {\n\tconst { response } = properties;\n\n\t// reset form values\n\tstate.formRef.current.reset();\n\n\t// reset all properites of response\n\tsetAll(response, '');\n\n\t// resets properties after modal is closed\n\tupdateProperties({\n\t\tmaxChars: 250,\n\t\tcharsLeft: 250,\n\t\tisSubmitted: false,\n\t\tshowErrorMsg: false,\n\t\tshowQuestionOneOtherErrorMsg: false,\n\t\tshowQuestionTwoOtherErrorMsg: false,\n\t\tshowZipCodeErrorMsg: false,\n\t\tshowQuestionOneTextarea: false,\n\t\tshowQuestionTwoTextarea: false,\n\t\tresponse: {\n\t\t\t...response,\n\t\t\tquestion_2: []\n\t\t}\n\t});\n};\n\n/**\n * Dispatched when modal is closed\n * @type {{action: Object}}\n */\nexport const handleModalOpened = ({ dispatch }) => {\n\tdispatch(DPS_LEAD_TRACKING_ACTIONS.FORM_RESET);\n};\n\nexport const DPS_LEAD_TRACKING_ACTION_HANDLERS = {\n\t[DPS_LEAD_TRACKING_ACTIONS.TEXTAREA_CHANGE]: handleTextAreaChange,\n\t[DPS_LEAD_TRACKING_ACTIONS.DROPDOWN_CHANGE]: handleDropdownChange,\n\t[DPS_LEAD_TRACKING_ACTIONS.INPUT_CHANGE]: handleInputChange,\n\t[DPS_LEAD_TRACKING_ACTIONS.FORM_SUBMIT]: handleFormSubmit,\n\t[DPS_LEAD_TRACKING_ACTIONS.FORM_DATA_POST]: handleFormDataPost,\n\t[DPS_LEAD_TRACKING_ACTIONS.FORM_ELOQUA_DATA_POST]: handleFormEloquaDataPost,\n\t[DPS_LEAD_TRACKING_ACTIONS.FORM_ELOQUA_SUCCEEDED]: handleFormEloquaSucceeded,\n\t[DPS_LEAD_TRACKING_ACTIONS.FORM_ELOQUA_ERRORED]: handleFormEloquaErrored,\n\t[DPS_LEAD_TRACKING_ACTIONS.FORM_SUCCEEDED]: handleFormSucceeded,\n\t[DPS_LEAD_TRACKING_ACTIONS.FORM_ERRORED]: handleFormErrored,\n\t[DPS_LEAD_TRACKING_ACTIONS.GET_GDPR]: handleGetGDPR,\n\t[DPS_LEAD_TRACKING_ACTIONS.GET_GDPR_SUCCEEDED]: handleGetGDPRSucceeded,\n\t[DPS_LEAD_TRACKING_ACTIONS.GET_GDPR_ERRORED]: handleGetGDPRErrored,\n\t[DPS_LEAD_TRACKING_ACTIONS.DPS_MODAL_OPENED_SET]: handleModalOpened,\n\t[DPS_LEAD_TRACKING_ACTIONS.FORM_RESET]: handleFormReset\n};\n","/* eslint-disable object-shorthand */\nimport {actionTypes, createCustomElement} from '@servicenow/ui-core';\nimport snabbdom, {createRef} from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-lead-tracking-modal.scss';\nimport view from './view';\nimport { DPS_LEAD_TRACKING_ACTION_HANDLERS as actionHandlers} from './actionHandlers';\nconst { COMPONENT_CONNECTED } = actionTypes;\n\nexport default createCustomElement('dps-lead-tracking-modal', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\t/**\n\t\t * Determines if lead track modal is open\n\t\t * @type {boolean}\n\t\t */\n\t\topened: {default: false},\n\t\t/**\n\t\t * Determines if form is submitted\n\t\t * @type {boolean}\n\t\t */\n\t\tisSubmitted: {default: false},\n\t\t/**\n\t\t * Determines if error message for zip code is displayed\n\t\t * @type {boolean}\n\t\t */\n\t\tshowZipCodeErrorMsg: {default: false},\n\t\t/**\n\t\t * Determines if Question 1 Other textarea is displayed\n\t\t * @type {boolean}\n\t\t */\n\t\tshowQuestionOneTextarea: {default: false},\n\t\t/**\n\t\t * Determines if Question 2 Other textarea is displayed\n\t\t * @type {boolean}\n\t\t */\n\t\tshowQuestionTwoTextarea: {default: false},\n\t\t/**\n\t\t * Consent text\n\t\t * @type {string}\n\t\t */\n\t\tgdprConsent: {default: ''},\n\t\t/**\n\t\t * Determines if GDPR consent is displayed\n\t\t * @type {string}\n\t\t */\n\t\tshowGdprConsent: {default: false},\n\t\t/**\n\t\t * Textarea maximum characters\n\t\t * @type {number}\n\t\t */\n\t\tmaxChars: {},\n\t\t/**\n\t\t * Textarea characters left\n\t\t * @type {number}\n\t\t */\n\t\tcharsLeft: {},\n\t\t/**\n\t\t * Question 1 and 2 Other textarea maximum characters\n\t\t * @type {number}\n\t\t */\n\t\tmaxOtherChars: {default: 25},\n\t\t/**\n\t\t * Question 1 Other textarea characters left\n\t\t * @type {number}\n\t\t */\n\t\totherOneCharsLeft: {default: 25},\n\t\t/**\n\t\t * Question 2 Other textarea characters left\n\t\t * @type {number}\n\t\t */\n\t\totherTwoCharsLeft: {default: 25},\n\t\t/**\n\t\t * Array of country names\n\t\t * @type {array}\n\t\t */\n\t\tcountryNames: {},\n\t\t/**\n\t\t * Array of objects that contain country names and codes\n\t\t * ```\n\t\t * {\n\t\t *\tname: 'United States of America',\n\t\t *\tcode: 'US'\n\t\t * }\n\t\t * ```\n\t\t * @type {array}\n\t\t */\n\t\tcountryList: {},\n\t\t/**\n\t\t * Array of role titles\n\t\t * @type {array}\n\t\t */\n\t\troles: {},\n\t\t/**\n\t\t * Array of objects that contain error messages\n\t\t * ```\n\t\t * {\n\t\t *\tquestion_one_other: \"If “Other” is selected, please provide one or two words that best\n\t\t * describes you.\",\n\t\t *\tquestion_two_other: \"If “Other” is selected, please provide one or two words that best\n\t\t * describes you.\"\n\t\t * }\n\t\t * ```\n\t\t * @type {array}\n\t\t */\n\t\terrors: {},\n\t\t/**\n\t\t * ID so you can monitor and close from the outside\n\t\t * @type {string}\n\t\t */\n\t\tquestionOneOtherErrorText: {},\n\t\t/**\n\t\t * ID so you can monitor and close from the outside\n\t\t * @type {string}\n\t\t */\n\t\tquestionTwoOtherErrorText: {},\n\t\t/**\n\t\t * Question 1 text\n\t\t * @type {string}\n\t\t */\n\t\tformQuestions: {},\n\t\t/**\n\t\t * Array of Question 1 options\n\t\t * @type {array}\n\t\t */\n\t\tformQuestionOneOption: {},\n\t\t/**\n\t\t * Question 2 text\n\t\t * @type {string}\n\t\t */\n\t\tformQuestionTwo: {},\n\t\t/**\n\t\t * Array of Question 2 options\n\t\t * @type {array}\n\t\t */\n\t\tformQuestionTwoOption: {},\n\t\t/**\n\t\t * Zip code regex to test against for form validation\n\t\t * @type {string}\n\t\t */\n\t\tzipCodeRegex: {},\n\t\terrorMsgs: {\n\t\t\tdefault : {\n\t\t\t\tquestion_1: '',\n\t\t\t\tquestion_2: '',\n\t\t\t\tcompany: '',\n\t\t\t\tcountry: '',\n\t\t\t\ttell_us_more: '',\n\t\t\t\tzip_code: '',\n\t\t\t\tquestion_1_Other: '',\n\t\t\t\tquestion_2_Other: '',\n\t\t\t\tother_sys_id_two: '',\n\t\t\t\trole: ''\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Form data to be sent\n\t\t * @type {string}\n\t\t */\n\t\tresponse: {\n\t\t\tdefault : {\n\t\t\t\tquestion_1: {},\n\t\t\t\tquestion_2: [],\n\t\t\t\tcountry_iso_short: '',\n\t\t\t\tcompany: '',\n\t\t\t\tcountry: '',\n\t\t\t\ttell_us_more: '',\n\t\t\t\tzip_code: '',\n\t\t\t\tgdpr: false,\n\t\t\t\tquestion_1_Other: '',\n\t\t\t\tquestion_2_Other: '',\n\t\t\t\tother_sys_id_two: '',\n\t\t\t\trole: ''\n\t\t\t}\n\t\t},\n\t\tfailedToLoadContent: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * User Data passed in from the main app (assuming it exists)\n\t\t * @type {object}\n\t\t */\n\t\tuserInfo: {default: {}},\n\t},\n\tactionHandlers: {\n\t\t...actionHandlers,\n\t\t[COMPONENT_CONNECTED]: ({updateState}) => {\n\t\t\tupdateState({\n\t\t\t\tformRef: createRef()\n\t\t\t});\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-button';\nimport '../../src/components/dps-lead-tracking-modal';\n\nexport default createCustomElement('dps-lead-tracking-modal-example', {\n\trenderer: { type: snabbdom },\n\tproperties: {\n\t\topened: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t'DPS_MODAL#OPENED_SET': ({ updateProperties, action }) => {\n\t\t\taction.stopPropagation();\n\t\t\tupdateProperties({ opened: action.payload.value });\n\t\t}\n\t},\n\tview: ({ properties: { opened } }, { updateProperties }) => (\n\t\t<Fragment>\n\t\t\t<dps-button\n\t\t\t\tlabel=\"Open modal\"\n\t\t\t\tsize=\"md\"\n\t\t\t\tvariant=\"primary\"\n\t\t\t\ton-click={() => updateProperties({ opened: true })}\n\t\t\t/>\n\t\t\t<dps-lead-tracking-modal opened={opened}></dps-lead-tracking-modal>\n\t\t</Fragment>\n\t)\n});\n","/* eslint-disable object-shorthand */\nimport { actionTypes } from '@servicenow/ui-core';\nimport { createRef } from '@servicenow/ui-renderer-snabbdom';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { DPS_LEAD_TRACKING } from '../../constants';\nimport { DPS_LEGAL_AGREEMENT_ACTIONS } from './actions';\n\nconst { COMPONENT_CONNECTED, COMPONENT_RENDERED } = actionTypes;\n\n/**\n * Dispatched when the user clicks on Decline button\n */\nexport const handleButtonDecline = ({ updateProperties, dispatch }) => {\n\tupdateProperties({\n\t\tshowDeclinedView: false,\n\t\topened: false\n\t}); // close modal for now\n\n\tdispatch(DPS_LEGAL_AGREEMENT_ACTIONS.FORM_RESET, {});\n\tdispatch(DPS_LEGAL_AGREEMENT_ACTIONS.USER_DECLINED);\n};\n\n/**\n * Dispatched when the user clicks on Go Back button\n */\nexport const handleGoBack = ({ updateProperties }) => {\n\tupdateProperties({\n\t\tshowDeclinedView: false,\n\t\topened: true\n\t});\n};\n\n/**\n * Dispatched when the user interacts with input fields\n */\nexport const handleInputChange = ({ updateProperties, properties }) => {\n\tconst { signed, isSubmitDisabled } = properties;\n\n\tupdateProperties({\n\t\tsigned: !signed,\n\t\tisSubmitDisabled: !isSubmitDisabled\n\t});\n};\n\n/**\n * Dispatched when the user clicks on Send Document button\n * @type {{action: Object}}\n */\nexport const handleDocumentSend = createHttpEffect(\n\t'/devportal.do?sysparm_data=%7B%22action%22:%22legal.email_legal_agreement%22%7D',\n\t{\n\t\tmethod: 'GET',\n\t\tdataParam: 'data',\n\t\tbatch: false,\n\t\tsuccessActionType: DPS_LEGAL_AGREEMENT_ACTIONS.DOCUMENT_SEND_SUCCEEDED,\n\t\terrorActionType: DPS_LEGAL_AGREEMENT_ACTIONS.DOCUMENT_SEND_ERRORED\n\t}\n);\n\n/**\n * Dispatched when the user clicks on Send Document button\n * @type {{action: Object}}\n */\nexport const handleDocumentSendSucceeded = ({ updateProperties }) => {\n\tupdateProperties({\n\t\tisDocumentSent: true\n\t});\n};\n\n/**\n * Dispatched when the user clicks on Send Document button\n * @type {{action: Object}}\n */\nexport const handleDocumentSendErrored = ({ updateProperties }) => {\n\tupdateProperties({\n\t\tisDocumentSent: false\n\t});\n};\n\n/**\n * Dispatched when the user submits form\n * @type {{action: Object}}\n */\nexport const handleFormSubmit = ({ properties, dispatch }) => {\n\tconst { signed, message, status, signedPrevious, leadSwitch } = properties;\n\n\tdispatch(DPS_LEGAL_AGREEMENT_ACTIONS.FORM_DATA_POST, {\n\t\tdata: {\n\t\t\tdata: {\n\t\t\t\thasWatchedIntro: false,\n\t\t\t\tintroSwitch: false,\n\t\t\t\tstatus: '',\n\t\t\t\tleadSwitch,\n\t\t\t\tsigned,\n\t\t\t\tsignedLeadTracking: signedPrevious\n\t\t\t},\n\t\t\tmessage: signed ? '' : message,\n\t\t\tstatus\n\t\t}\n\t});\n};\n\n/**\n * Fires when form submits\n * @type {{action: Object}}\n */\nexport const handleFormDataPost = createHttpEffect(\n\t'/devportal.do?sysparm_data=%7B%22action%22:%22legal.signature%22%7D',\n\t{\n\t\tmethod: 'POST',\n\t\tdataParam: 'data',\n\t\tbatch: false,\n\t\tsuccessActionType: DPS_LEGAL_AGREEMENT_ACTIONS.FORM_SUCCEEDED,\n\t\terrorActionType: DPS_LEGAL_AGREEMENT_ACTIONS.FORM_ERRORED\n\t}\n);\n\n/**\n * Form submission is successful\n * @type {{action: Object}}\n */\nexport const handleFormSucceeded = coeffects => {\n\tconst { action, dispatch, state, updateProperties } = coeffects;\n\tconst { payload } = action;\n\n\tif (payload && payload.data.signed) {\n\t\tupdateProperties({\n\t\t\topened: false,\n\t\t\tisSubmitDisabled: true\n\t\t});\n\t\tstate.formRef.current.reset();\n\t\tdispatch(DPS_LEGAL_AGREEMENT_ACTIONS.FORM_COMPLETED);\n\t} else {\n\t\tdispatch(DPS_LEGAL_AGREEMENT_ACTIONS.FORM_ERRORED);\n\t}\n};\n\n/**\n * Form submission fails\n * @type {{action: Object}}\n */\nexport const handleFormErrored = ({ updateProperties }) => {\n\tconsole.log('There was an error in sending the form.');\n\tupdateProperties({ opened: true });\n};\n\n/**\n * Dispatched when modal is closed. It clears out form data and resets\n * component properties\n * @type {{action: Object}}\n */\nexport const handleFormReset = ({ updateProperties, state }) => {\n\t// reset form values\n\tstate.formRef.current.reset();\n\n\t// resets properties after modal is closed\n\tupdateProperties({\n\t\tsigned: false,\n\t\tisSubmitDisabled: true,\n\t\tisSubmitted: false,\n\t\tshowDeclinedView: false,\n\t\tisDocumentSent: false\n\t});\n};\n\n/**\n * Dispatched when modal is closed\n * @type {{action: Object}}\n */\nexport const handleModalOpened = ({\n\tupdateProperties,\n\tproperties,\n\tdispatch\n}) => {\n\tconst { showDeclinedView } = properties;\n\n\tif (showDeclinedView) {\n\t\tdispatch(DPS_LEGAL_AGREEMENT_ACTIONS.GO_BACK);\n\t} else {\n\t\tupdateProperties({\n\t\t\tshowDeclinedView: true,\n\t\t\topened: false\n\t\t});\n\t}\n};\n\nexport default {\n\t[COMPONENT_CONNECTED]: ({ updateState }) => {\n\t\tupdateState({\n\t\t\tformRef: createRef()\n\t\t});\n\t},\n\t[COMPONENT_RENDERED]: ({ state, properties }) => {\n\t\tif (properties.legalText && properties.agreementText && state.formRef) {\n\t\t\tconst formBody = state.formRef.current.querySelector(\n\t\t\t\t'.dps-legal-agreement-form-body'\n\t\t\t);\n\t\t\tconst text = formBody.querySelectorAll('p');\n\n\t\t\t// Hack to hide unwanted p tags\n\t\t\tfor (var i = 0, max = text.length; i < max; i++) {\n\t\t\t\tif (i === 0) {\n\t\t\t\t\t// Hide first p tag that contains whitespace\n\t\t\t\t\ttext[i].style.display = 'none';\n\t\t\t\t} else {\n\t\t\t\t\t// Hide p tag with header\n\t\t\t\t\tif (\n\t\t\t\t\t\ttext[i].innerHTML ===\n\t\t\t\t\t\t'<strong>CREATENOW DEVELOPER AGREEMENT&nbsp;</strong>'\n\t\t\t\t\t) {\n\t\t\t\t\t\ttext[i].style.display = 'none';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t[DPS_LEGAL_AGREEMENT_ACTIONS.GO_BACK]: handleGoBack,\n\t[DPS_LEGAL_AGREEMENT_ACTIONS.BUTTON_DECLINE]: handleButtonDecline,\n\t[DPS_LEGAL_AGREEMENT_ACTIONS.INPUT_CHANGE]: handleInputChange,\n\t[DPS_LEGAL_AGREEMENT_ACTIONS.FORM_SUBMIT]: handleFormSubmit,\n\t[DPS_LEGAL_AGREEMENT_ACTIONS.FORM_RESET]: handleFormReset,\n\t[DPS_LEGAL_AGREEMENT_ACTIONS.DPS_MODAL_OPENED_SET]: handleModalOpened,\n\t[DPS_LEGAL_AGREEMENT_ACTIONS.DOCUMENT_SEND]: handleDocumentSend,\n\t[DPS_LEGAL_AGREEMENT_ACTIONS.DOCUMENT_SEND_SUCCEEDED]: handleDocumentSendSucceeded,\n\t[DPS_LEGAL_AGREEMENT_ACTIONS.DOCUMENT_SEND_ERRORED]: handleDocumentSendErrored,\n\t[DPS_LEGAL_AGREEMENT_ACTIONS.FORM_DATA_POST]: handleFormDataPost,\n\t[DPS_LEGAL_AGREEMENT_ACTIONS.FORM_SUCCEEDED]: handleFormSucceeded,\n\t[DPS_LEGAL_AGREEMENT_ACTIONS.FORM_ERRORED]: handleFormErrored,\n\t'DPS_MODAL#OPENED_SET': handleModalOpened\n};\n","import { DPS_LEGAL_AGREEMENT_ACTIONS } from './actions';\nimport declinedImg from '../../images/legal-agreement-declined.svg';\nimport '../dps-modal';\nimport '../dps-button';\nimport '@servicenow/now-icon';\n\nconst view = (state, dispatch) => {\n\tconst { formRef, componentId } = state;\n\tconst {\n\t\tfailedToLoadContent,\n\t\tisSubmitDisabled,\n\t\tshowDeclinedView,\n\t\tsignedPrevious,\n\t\topened,\n\t\tisDocumentSent,\n\t\tlegalText,\n\t\tagreementText\n\t} = state.properties;\n\n\treturn (\n\t\t<div>\n\t\t\t<dps-modal\n\t\t\t\topened={opened}\n\t\t\t\theaderLabel=\"ServiceNow Developer Agreement\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\tclickToEscape={false}\n\t\t\t>\n\t\t\t\t{failedToLoadContent ? (\n\t\t\t\t\t<div className=\"dps-legal-agreement-failed\">\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\tThere were issues loading this content. Please try again later.\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<form\n\t\t\t\t\t\tclassName=\"dps-legal-agreement-form\"\n\t\t\t\t\t\tref={formRef}\n\t\t\t\t\t\tid={`form-${componentId}`}\n\t\t\t\t\t\ton-submit={e => {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\tdispatch(DPS_LEGAL_AGREEMENT_ACTIONS.FORM_SUBMIT);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{signedPrevious ? (<dps-alert variant=\"warn\" body=\"The site terms and conditions have been updated. Please accept them to continue.\" icon=\"circle-info-outline\"></dps-alert>):null}\n\t\t\t\t\t\t<div className=\"dps-legal-agreement-form-header\">\n\t\t\t\t\t\t\t{isDocumentSent ? (\n\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\tDocument Sent{' '}\n\t\t\t\t\t\t\t\t\t<now-icon icon=\"circle-check-outline\" size=\"sm\"></now-icon>\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\t\t\tlabel=\"Send document via email\"\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\t\t\t\t\tdispatch(DPS_LEGAL_AGREEMENT_ACTIONS.DOCUMENT_SEND)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"dps-legal-agreement-form-body\"\n\t\t\t\t\t\t\tinnerHTML={legalText + agreementText}\n\t\t\t\t\t\t></div>\n\t\t\t\t\t\t<div className=\"dps-legal-agreement-form-footer\">\n\t\t\t\t\t\t\t<div className=\"dps-legal-agreement-checkbox-container\">\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\tid=\"signed\"\n\t\t\t\t\t\t\t\t\tname=\"signed\"\n\t\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\t\ton-input={() =>\n\t\t\t\t\t\t\t\t\t\tdispatch(DPS_LEGAL_AGREEMENT_ACTIONS.INPUT_CHANGE, {})\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<label htmlFor=\"signed\">\n\t\t\t\t\t\t\t\t\tCheck box to accept the ServiceNow Developer Agreement.\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t'dps-button': true,\n\t\t\t\t\t\t\t\t\t'-primary': true,\n\t\t\t\t\t\t\t\t\t'-sm': true\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\tdisabled={isSubmitDisabled}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span>Submit</span>\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</form>\n\t\t\t\t)}\n\t\t\t</dps-modal>\n\t\t\t{showDeclinedView ? (\n\t\t\t\t<dps-modal\n\t\t\t\t\topened={showDeclinedView}\n\t\t\t\t\theaderLabel=\"ServiceNow Developer Agreement\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tclickToEscape={false}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"dps-legal-agreement-declined\">\n\t\t\t\t\t\t<h1>Decline agreement?</h1>\n\t\t\t\t\t\t<img src={declinedImg} alt=\"Decline Agreement image\" />\n\t\t\t\t\t\t<p className=\"dps-lead-tracking-form-msg -decline\">\n\t\t\t\t\t\t\tBy declining the ServiceNow Developer Agreement, you will cancel\n\t\t\t\t\t\t\tregistration and the login process.\n\t\t\t\t\t\t</p>\n\t\t\t\t\t\t<div className=\"dps-legal-agreement-declined-footer\">\n\t\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\t\tclassName=\"decline\"\n\t\t\t\t\t\t\t\tlabel=\"Decline\"\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\t\tdispatch('DPS_LEGAL_AGREEMENT#BUTTON_DECLINE');\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\t\tclassName=\"go-back\"\n\t\t\t\t\t\t\t\tlabel=\"Go back\"\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\t\tdispatch('DPS_LEGAL_AGREEMENT#GO_BACK');\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</dps-modal>\n\t\t\t) : null}\n\t\t</div>\n\t);\n};\n\nexport default view;\n","/* eslint-disable object-shorthand */\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport actionHandlers from './actionHandlers';\nimport view from './view';\nimport styles from './_dps-legal-agreement-modal.scss';\n\nexport default createCustomElement('dps-legal-agreement-modal', {\n\tactionHandlers,\n\tinitialState: {\n\t\tformRef: null\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Displays 1st portion of legal agreement text\n\t\t * @type {HTML}\n\t\t */\n\t\tlegalText: {},\n\t\t/**\n\t\t * Displays 2nd portion of legal agreement text\n\t\t * @type {HTML}\n\t\t */\n\t\tagreementText: {},\n\t\t/**\n\t\t * Display message\n\t\t * @type {string}\n\t\t */\n\t\tmessage: {},\n\t\t/**\n\t\t * Display status\n\t\t * @type {string}\n\t\t */\n\t\tstatus: {},\n\t\t/**\n\t\t * Determines if the user has signed the legal agreement\n\t\t * @type {boolean}\n\t\t */\n\t\tsigned: {},\n\t\t/**\n\t\t * Determines if the user has signed the legal agreement before\n\t\t * @type {boolean}\n\t\t */\n\t\tsignedPrevious: {},\n\t\t/**\n\t\t * TO DO - not sure but this needs to be sent\n\t\t * @type {boolean}\n\t\t */\n\t\tleadSwitch: {},\n\t\t/**\n\t\t * Determines if form is opened\n\t\t * @type {boolean}\n\t\t */\n\t\topened: {},\n\t\t/**\n\t\t * Determines if submit button is disabled\n\t\t * @type {boolean}\n\t\t */\n\t\tisSubmitDisabled: {\n\t\t\tdefault: true\n\t\t},\n\t\t/**\n\t\t * Determines if form is submitted\n\t\t * @type {boolean}\n\t\t */\n\t\tisSubmitted: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Determines if declined view is open\n\t\t * @type {boolean}\n\t\t */\n\t\tshowDeclinedView: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Determines if document is sent\n\t\t * @type {boolean}\n\t\t */\n\t\tisDocumentSent: {\n\t\t\tdefault: false\n\t\t},\n\t\tfailedToLoadContent: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tstyles,\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-button';\nimport '../../src/components/dps-legal-agreement-modal';\n\nexport default createCustomElement('dps-legal-agreement-modal-example', {\n\trenderer: { type: snabbdom },\n\tproperties: {\n\t\topened: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t'DPS_MODAL#OPENED_SET': ({ updateProperties, action }) => {\n\t\t\taction.stopPropagation();\n\t\t\tupdateProperties({ opened: action.payload.value });\n\t\t}\n\t},\n\tview: ({ properties: { opened } }, { updateProperties }) => (\n\t\t<Fragment>\n\t\t\t<dps-button\n\t\t\t\tlabel=\"Open modal\"\n\t\t\t\tsize=\"md\"\n\t\t\t\tvariant=\"primary\"\n\t\t\t\ton-click={() => updateProperties({ opened: true })}\n\t\t\t/>\n\t\t\t<dps-legal-agreement-modal opened={opened}></dps-legal-agreement-modal>\n\t\t</Fragment>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-library-table.scss';\nimport '@servicenow/now-icon';\n\nexport const DPS_LIBRARY_TABLE_ACTION = {\n\tSORT: 'DPS_LIBRARY-TABLE#SORT'\n};\n\nconst view = (state, dispatch) => {\n\tfunction dispatchSortAction(sortBy, sortOrder) {\n\t\tdispatch(DPS_LIBRARY_TABLE_ACTION.SORT, { sortBy, sortOrder });\n\t}\n\n\tconst {\n\t\tproperties: {\n\t\t\tcolumnDef,\n\t\t\tsortDef,\n\t\t\trowData\n\t\t}\n\t} = state;\n\n\t//convert columnHeader.size to a usable gridTemplateColumns css property\n\tconst gridTemplateColumns = columnDef\n\t\t.reduce((sizes, size) => [...sizes, size.size || 'auto'], [])\n\t\t.join(' ');\n\tconst globalStyle = {\n\t\tgridTemplateColumns\n\t};\n\n\treturn (\n\t\t<div className=\"dps-library-table\" style={globalStyle}>\n\t\t\t{columnDef.map(header => (\n\t\t\t\t<div\n\t\t\t\t\tclassName={`dps-library-table-cell-header ${\n\t\t\t\t\t\tsortDef[header.slug] ? '' : 'no-sort'\n\t\t\t\t\t}`}\n\t\t\t\t\tonclick={() =>\n\t\t\t\t\t\tsortDef[header.slug] &&\n\t\t\t\t\t\tdispatchSortAction(\n\t\t\t\t\t\t\theader.slug,\n\t\t\t\t\t\t\tsortDef[header.slug] === 'asc' ? 'desc' : 'asc'\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{header.label}\n\t\t\t\t\t{sortDef[header.slug] ? (\n\t\t\t\t\t\tsortDef[header.slug] === 'asc' ? (\n\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\ticon=\"chevron-up-fill\"\n\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\tclassName=\"dps-library-table-cell-icon\"\n\t\t\t\t\t\t\t></now-icon>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\ticon=\"chevron-down-outline\"\n\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\tclassName=\"dps-library-table-cell-icon\"\n\t\t\t\t\t\t\t></now-icon>\n\t\t\t\t\t\t)\n\t\t\t\t\t) : (\n\t\t\t\t\t\t''\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t))}\n\t\t\t{rowData.map(row =>\n\t\t\t\trow.map(cell => <div className=\"dps-library-table-cell\">{cell}</div>)\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-library-table', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Columns array with column object:\n\t\t * [{\n\t\t\t\t\tlabel: 'Header 1',\n\t\t\t\t\tslug: 'header1',\n\t\t\t\t\tsize: '200px'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Header 2',\n\t\t\t\t\tslug: 'header2',\n\t\t\t\t\tsize: 'auto'\n\t\t\t\t}]\n\t\t * @type {Array}\n\t\t */\n\t\tcolumnDef: {\n\t\t\tdefault: []\n\t\t},\n\t\t/**\n\t\t * Define which columns are sortable and current sort direction:\n\t\t * {\n\t\t * \tcomponent: 'asc'\n\t\t * }\n\t\t * @type {Object}\n\t\t */\n\t\tsortDef: {\n\t\t\tdefault: {}\n\t\t},\n\t\t/**\n\t\t * Row data with nested array of values:\n\t\t * [\n\t\t * \t['Cell 1 Value', 'Cell 2 Value', 'Cell 3 Value']\n\t\t * ]\n\t\t */\n\t\trowData: {\n\t\t\tdefault: []\n\t\t}\n\t},\n\tstyles,\n\tview\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-library-table';\n\nconst d = new Date();\nconst isAvatar2OutYet = d.getFullYear() > 2021 ? <p>yes</p> : <b>no</b>;\n\nexport default createCustomElement('dps-library-table-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-library-table\n\t\t\tcolumn-data={{\n\t\t\t\tcolumnHeaders: [\n\t\t\t\t\t{ label: 'Component', slug: 'component', size: '1fr', canSort: true },\n\t\t\t\t\t{ label: 'No Sort', slug: 'nosort', canSort: false },\n\t\t\t\t\t{ label: 'Availability', slug: 'availability', size: '300px', canSort: true },\n\t\t\t\t],\n\t\t\t\tsortBy: 'availability',\n\t\t\t\tsortOrder: 'asc',\n\t\t\t\trows: [\n\t\t\t\t\t['Avatar', 'Movie', 'Yes'],\n\t\t\t\t\t['Avatar 2', 'Movie', isAvatar2OutYet],\n\t\t\t\t\t['Titanic', 'Movie', 'Yes'],\n\t\t\t\t\t['Terminator', 'Movie', 'Yes']\n\t\t\t\t]\n\t\t\t}}\n\t\t></dps-library-table>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-link';\nimport linkStyles from '../../src/styles/global/_link.scss';\n\nexport default createCustomElement('dps-link-example', {\n\trenderer: { type: snabbdom },\n\tstyles: `\n\t\t${linkStyles}\n\n\t\th2 {\n\t\t\tfont-style: italic;\n\t\t\tfont-size: 40px;\n\t\t\tcolor: #444;\n\t\t}\n\n\t\tsection {\n\t\t\tpadding: 20px;\n\t\t}\n\n\t\tsection.is-inverted {\n\t\t\tbackground-color: black;\n\t\t\tcolor: white;\n\t\t}\n\t`,\n\tview: () => (\n\t\t<Fragment>\n\t\t\t<section>\n\t\t\t\tHere's some text and <a href=\"#\"><span>this is a regular old <code>&lt;a&gt;</code> tag</span></a> and more<br /><br />\n\n\t\t\t\t<p>Below are web components:</p>\n\n\t\t\t\t<dps-link>Hello Link</dps-link><br /><br />\n\t\t\t\t<dps-link>Hello Link with a <b>Bold bit of text</b></dps-link><br /><br />\n\t\t\t\t<dps-link>This link has a <br /> line break...</dps-link><br /><br />\n\t\t\t\t<dps-link iconAction>Hello Link with icon</dps-link><br /><br />\n\t\t\t\t<h2>\n\t\t\t\t\t<dps-link href=\"http://www.example.com/heading-link\" target=\"_blank\">\n\t\t\t\t\t\tHeading Element with styles...\n\t\t\t\t\t</dps-link>\n\t\t\t\t</h2>\n\t\t\t\t<dps-link warning>This is a warning link</dps-link><br /><br />\n\t\t\t\t<dps-link button-style>DPS-Link Button Style</dps-link>\n\t\t\t\t<dps-link button-style button-variant=\"primary\">DPS-Link Button Style Themed</dps-link>\n\t\t\t\t<dps-link button-style button-variant=\"secondary\">DPS-Link Button Style Themed</dps-link>\n\t\t\t\t<dps-link button-style button-variant=\"secondary\" button-size=\"lg\">DPS-Link Button Style Lg</dps-link><br /><br />\n\t\t\t\t<dps-link button-style bare>DPS-Link Button Style Bare</dps-link><br /><br />\n\t\t\t\t<dps-link button-style bare iconAction>DPS-Link Button Style Bare</dps-link><br /><br />\n\t\t\t</section>\n\t\t\t<section className=\"is-inverted\">\n\t\t\t\tHere's some text and <a href=\"#\"><span>this is a regular old <code>&lt;a&gt;</code> tag</span></a><br /><br />\n\n\t\t\t\t<p>Below are web components:</p>\n\n\t\t\t\t<dps-link>Hello Link</dps-link><br /><br />\n\t\t\t\t<dps-link>Hello Link with a <b>Bold bit of text</b></dps-link><br /><br />\n\t\t\t\t<dps-link>This link has a <br /> line break...</dps-link><br /><br />\n\t\t\t\t<dps-link iconAction>Hello Link with icon</dps-link><br /><br />\n\t\t\t</section>\n\t\t</Fragment>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-button';\nimport '../../src/components/dps-modal';\n\nexport default createCustomElement('dps-modal-example', {\n\trenderer: { type: snabbdom },\n\tproperties: {\n\t\topened: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t'DPS_MODAL#OPENED_SET': ({ updateProperties, action }) => {\n\t\t\taction.stopPropagation();\n\t\t\tupdateProperties({ opened: action.payload.value });\n\t\t}\n\t},\n\tview: ({ properties: { opened } }, { updateProperties }) => (\n\t\t<Fragment>\n\t\t\t<dps-button\n\t\t\t\tlabel=\"Open modal\"\n\t\t\t\tsize=\"md\"\n\t\t\t\tvariant=\"primary\"\n\t\t\t\ton-click={() => updateProperties({ opened: true })}\n\t\t\t/>\n\t\t\t<dps-modal\n\t\t\t\tfooter-actions={[\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Cancel',\n\t\t\t\t\t\tbare: true,\n\t\t\t\t\t\tclickActionType: 'DPS_MODAL#OPENED_SET',\n\t\t\t\t\t\tvalue: false\n\t\t\t\t\t}, {\n\t\t\t\t\t\tlabel: 'Open Instance',\n\t\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\t\ticon: 'arrow-up-right-fill'\n\t\t\t\t\t}\n\t\t\t\t]}\n\t\t\t\tfooter-center={false}\n\t\t\t\theader-label=\"Your instance is ready!\"\n\t\t\t\toptional-title=\"Profile\"\n\t\t\t\tmanaged-open={true}\n\t\t\t\topened={opened}\n\t\t\t\tsize=\"md\"\n\t\t\t>\n\t\t\t\t<p>Your credentials have been created to log in to your instance at: <dps-link>https://dev79246.service-now.com</dps-link></p>\n\t\t\t\t<p>Copy and paste the following credentials:</p>\n\t\t\t\t<ul>\n\t\t\t\t\t<li>Username: Admin</li>\n\t\t\t\t\t<li>Password: Admin_Password123</li>\n\t\t\t\t</ul>\n\t\t\t\t<p>Remember to log in to your instance every 10 days to avoid losing access. Inactive instances will be released for other developers to use.</p>\n\t\t\t</dps-modal>\n\t\t</Fragment>\n\t)\n});\n","import '@servicenow/now-icon';\nimport '../dps-modal';\nimport '../dps-link';\nimport '../dps-progress-circle';\nimport CodeCompleteIcon from '../../images/icons/code-complete.svg';\nimport CodeIcon from '../../images/icons/code-2.svg';\nimport DocumentCompleteIcon from '../../images/icons/document-complete.svg';\nimport DocumentIcon from '../../images/icons/document.svg';\n\nconst view = state => {\n\tconst {\n\t\tdata,\n\t\topened\n\t} = state.properties;\n\n\tconst {module, courseId, release, trackingLink} = data || {};\n\tconst {title, short_description, content_id, total_second_level_articles, read_percent, secondLevelChildren} = module || {};\n\n\tconst progressTitle = `${Math.floor(read_percent * 100)}%`;\n\n\treturn (\n\t\t<div className=\"dps-module-modal\">\n\t\t\t<dps-modal\n\t\t\t\topened={opened}\n\t\t\t\theaderLabel={title}\n\t\t\t\tsize=\"sm\"\n\t\t\t\tmanagedOpen={true}\n\t\t\t\tfixedHeight\n\t\t\t>\n\t\t\t\t<div className=\"dps-module-modal\">\n\t\t\t\t\t<div className=\"dps-module-modal-description\">\n\t\t\t\t\t\t<p>{total_second_level_articles} Lessons</p>\n\t\t\t\t\t\t<p innerHTML={short_description}></p>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class={{\n\t\t\t\t\t\t'progress-circle-wrapper': true,\n\t\t\t\t\t\t[`${read_percent === 0 ? 'hide' : 'show'}`+'-progress']: true\n\t\t\t\t\t}}>\n\t\t\t\t\t\t<dps-progress-circle size=\"md\" percent={read_percent} title={progressTitle}>\n\t\t\t\t\t\t</dps-progress-circle>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<dps-link button-style internal-action href={trackingLink}>\n\t\t\t\t\t{`${read_percent === 0 ? 'Start' : (read_percent === 1 ? 'Repeat' : 'Resume')} module`}\n\t\t\t\t</dps-link>\n\t\t\t\t<hr/>\n\t\t\t\t<div className=\"dps-module-modal-details\">\n\t\t\t\t\t<p>Lessons in this module:</p>\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tsecondLevelChildren && secondLevelChildren.map(lesson => {\n\t\t\t\t\t\t\t\tconst { title, dita_type, is_read } = lesson;\n\n\t\t\t\t\t\t\t\tconst codeIcon = is_read ? <img src={CodeCompleteIcon} /> : <img src={CodeIcon} />;\n\t\t\t\t\t\t\t\tconst docIcon = is_read ?  <img src={DocumentCompleteIcon} /> : <img src={DocumentIcon} />;\n\t\t\t\t\t\t\t\tconst icon = (dita_type === 'task' && codeIcon || docIcon);\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<li class={{\n\t\t\t\t\t\t\t\t\t\t'dps-module-modal-list-item': true,\n\t\t\t\t\t\t\t\t\t\t'is-read': is_read\n\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t\t<span>{icon}</span>\n\t\t\t\t\t\t\t\t\t\t<dps-link href={`/learn/courses/${release}/${courseId}/${content_id}/${lesson.content_id}`}\n\t\t\t\t\t\t\t\t\t\t>{title}</dps-link>\n\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t</dps-modal>\n\t\t</div>\n\t);\n};\n\nexport default view;\n","export default {\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport view from './view';\nimport styles from './dps-module-modal.scss';\nimport actionHandlers from './actionHandlers';\n\nexport default createCustomElement('dps-module-modal', {\n\trenderer: { type: snabbdom },\n\tstyles,\n\tview,\n\tproperties: {\n\t\tdata: {\n\t\t\tdefault: {}\n\t\t},\n\t\topened: {\n\t\t\tdefault: false,\n\t\t\treflect: true\n\t\t}\n\t},\n\tactionHandlers\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-button';\nimport '../../src/components/dps-module-modal';\n\nexport default createCustomElement('dps-module-modal-example', {\n\trenderer: { type: snabbdom },\n\tproperties: {\n\t\topened: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t'DPS_MODAL#OPENED_SET': ({ updateProperties, action }) => {\n\t\t\taction.stopPropagation();\n\t\t\tupdateProperties({ opened: action.payload.value });\n\t\t}\n\t},\n\tview({ properties: { opened } }, { updateProperties }) {\n\t\tconst learningPlan = {\n\t\t\tmodule: {\n\t\t\t\ttitle: 'Introduction to Scripting in ServiceNow',\n\t\t\t\tstatusMsg: 'IN PROGRESS',\n\t\t\t\ttotal_second_level_articles: 3,\n\t\t\t\tsecond_level_articles_read: 1,\n\t\t\t\tread_percent: 0.333,\n\t\t\t\tshort_description: 'In this module, you will learn how scripts can increase an application\\'s capabilities, where to find information about the ServiceNow APIs, and how to use the Script editor.',\n\t\t\t\tsecondLevelChildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: 'Introduction to Scripting Objectives',\n\t\t\t\t\t\tshort_description: 'In this module you will learn to:↵↵Describe the types of functionality scripting can add to an application↵Use the API reference to look up class and method information for the ServiceNow APIs↵Learn the Script Editor features including:↵↵Real-time syntax checking↵Scripting assistance.',\n\t\t\t\t\t\tdita_type: 'concept',\n\t\t\t\t\t\tis_read: true\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: 'Introduction to Scripting Objectives 2',\n\t\t\t\t\t\tshort_description: 'In this module you will learn to:↵↵Describe the types of functionality scripting can add to an application↵Use the API reference to look up class and method information for the ServiceNow APIs↵Learn the Script Editor features including:↵↵Real-time syntax checking↵Scripting assistance.',\n\t\t\t\t\t\tdita_type: 'concept',\n\t\t\t\t\t\tis_read: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: 'Introduction to Scripting Objectives 3',\n\t\t\t\t\t\tshort_description: 'In this module you will learn to:↵↵Describe the types of functionality scripting can add to an application↵Use the API reference to look up class and method information for the ServiceNow APIs↵Learn the Script Editor features including:↵↵Real-time syntax checking↵Scripting assistance.',\n\t\t\t\t\t\tdita_type: 'concept',\n\t\t\t\t\t\tis_read: true\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t};\n\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t<dps-button\n\t\t\t\t\tlabel=\"Open modal\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\ton-click={() => updateProperties({ opened: true })}\n\t\t\t\t/>\n\t\t\t\t<dps-module-modal opened={opened} data={learningPlan}></dps-module-modal>\n\t\t\t</Fragment>\n\t\t);\n\t}\n});\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-name-generator.scss';\nimport '../dps-dropdown';\nimport '../dps-input';\nimport { dashCase } from '../../utils/case/dashCase';\n\nconst whoOptions = [\n\t{\n\t\tid: '@devsnc',\n\t\tlabel: 'Internal use only'\n\t}, {\n\t\tid: '@servicenow',\n\t\tlabel: 'External and internal use'\n\t}\n];\nconst whatOptions = [\n\t{\n\t\tid: 'now',\n\t\tlabel: 'Seismic Component',\n\t}, {\n\t\tid: 'behavior',\n\t\tlabel: 'Seismic Behavior'\n\t}, {\n\t\tid: 'effect',\n\t\tlabel: 'Seismic Effect'\n\t}, {\n\t\tid: 'library',\n\t\tlabel: 'Library'\n\t}, {\n\t\tid: 'tool',\n\t\tlabel: 'Tool'\n\t}, {\n\t\tid: 'example',\n\t\tlabel: 'Example'\n\t}, {\n\t\tid: 'sass',\n\t\tlabel: 'Sass'\n\t}, {\n\t\tid: 'generator',\n\t\tlabel: 'Generator'\n\t}\n];\n\nconst typeComponent = whatOptions[0].id;\nconst typeInternal = whoOptions[0].id;\n\nconst _checkWhat = (who, what) => {\n\tif (who === typeInternal && what === typeComponent)\n\t\treturn 'sn';\n\treturn what;\n};\n\nconst view = ({properties: {who, what, name}}) => (\n\t<div className=\"dps-name-generator\">\n\t\t<dps-dropdown\n\t\t\tlabel=\"Who Can Use This Package?\"\n\t\t\toptions={whoOptions}\n\t\t\tselected={whoOptions[0].id}\n\t\t\tname='who'\n\t\t/>\n\t\t<dps-dropdown\n\t\t\tlabel=\"What Kind Of Code Is In This Package?\"\n\t\t\toptions={whatOptions}\n\t\t\tselected={whatOptions[0].id}\n\t\t\tname='what'\n\t\t/>\n\t\t<dps-input\n\t\t\tlabel=\"What Is The Name Of Your Component/Package?\"\n\t\t\tvalue={name}\n\t\t\tname='name'\n\t\t/>\n\n\t\t<div>\n\t\t\t<label>Package name</label>\n\t\t\t<code>{who}/{_checkWhat(who, what)}-{name}</code>\n\t\t</div>\n\t\t{\n\t\t\twhat === typeComponent ? (\n\t\t\t\t<div>\n\t\t\t\t\t<label>Component namespace</label>\n\t\t\t\t\t<code>\n\t\t\t\t\t\t&lt;{_checkWhat(who, what)}-{name}&gt;\n\t\t\t\t\t\t<br/>\n\t\t\t\t\t\t&lt;{_checkWhat(who, what)}-{name}-*&gt;\n\t\t\t\t\t</code>\n\t\t\t\t</div>\n\t\t\t) : null\n\t\t}\n\t</div>\n);\n\nexport default createCustomElement('dps-name-generator', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\twho: {\n\t\t\tdefault: whoOptions[0].id\n\t\t},\n\t\twhat: {\n\t\t\tdefault: whatOptions[0].id\n\t\t},\n\t\tname: {\n\t\t\tdefault: 'nametag'\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t['DPS_DROPDOWN#SELECT_OPTION']: ({updateProperties, action}) => {\n\t\t\tconst {id, name} = action.payload;\n\t\t\tupdateProperties({[name]: id});\n\t\t},\n\t\t['DPS_INPUT#VALUE_CHANGE']: ({updateProperties, action}) => {\n\t\t\tconst {value} = action.payload;\n\t\t\tupdateProperties({name: dashCase(value)});\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-name-generator';\n\nexport default createCustomElement('dps-name-generator-example', {\n\trenderer: { type: snabbdom },\n\tstyles: `\n\t\t:host {\n\t\t\tdisplay: block;\n\t\t\tmax-width: 600px;\n\t\t\tpadding: 30px;\n\t\t}\n\t`,\n\tview: () => (\n\t\t<dps-name-generator></dps-name-generator>\n\t)\n});\n","export default {\n\t/**\n\t * Current active main nav item\n\t * @type {string}\n\t */\n\tactiveCategory: {\n\t\tdefault: ''\n\t},\n\t/**\n\t * Children array for active nav item\n\t * @type {{}}\n\t */\n\tactiveNavSubMenu: {\n\t\tdefault: []\n\t},\n\t/**\n\t * New/Pending activeNavSubmenu\n\t * for animating in/old content\n\t * @type {{}}\n\t */\n\tpendingNavSubMenu: {\n\t\tdefault: null\n\t},\n\tcatItemInProgress: {\n\t\tdefault: null\n\t},\n\t/**\n\t * Returns release based on either url or userInfo.version_selected\n\t */\n\tcomputedRelease: {\n\t\tdefault: ''\n\t},\n\t/**\n\t * Instance status object\n\t * @type {{}}\n\t */\n\tinstanceInfo: {\n\t\tdefault: {}\n\t},\n\t/**\n\t * Instance Menu Items\n\t * @type {Array<{}>}\n\t */\n\tinstanceMenuItems: {\n\t\tdefault: []\n\t},\n\t/**\n\t * Navigation JSON from CMS\n\t * @type {{}}\n\t */\n\tnavigationConfig: {\n\t\tdefault: []\n\t},\n\t/**\n\t * Whether the nav dropdown is open\n\t * @type {boolean}\n\t */\n\tnavOpen: {\n\t\tdefault: false\n\t},\n\treleaseInfo: {\n\t\tdefault: {}\n\t},\n\t/**\n\t * Selected release version\n\t */\n\tselectedVersion: {\n\t\tdefault: ''\n\t},\n\t/**\n\t * Show instance management dropdown overlay\n\t */\n\tshowInstanceManagement: {\n\t\tdefault: false\n\t},\n\t/**\n\t * Show login management dropdown overlay\n\t */\n\tshowLoginManagement: {\n\t\tdefault: false\n\t},\n\t/**\n\t * Show main menu dropdown overlay\n\t */\n\tshowMainMenu: {\n\t\tdefault: false\n\t},\n\t/**\n\t * Show version selector dropdown overlay\n\t */\n\tshowVersionSelector: {\n\t\tdefault: false\n\t},\n\t/**\n\t * Show search dropdown overlay\n\t */\n\tshowSearchBar: {\n\t\tdefault: false\n\t},\n\tshowBasicNav: {\n\t\tdefault: true\n\t},\n\t/**\n\t * User information\n\t * @type {Object}\n\t */\n\tuserInfo: {\n\t\tdefault: {}\n\t},\n\t/**\n\t * System properties\n\t * @type {Object}\n\t */\n\tsystemProperties: {\n\t\tdefault: {}\n\t},\n\t/**\n\t * Release\n\t */\n\trelease: {\n\t\tdefault: null\n\t},\n\t/**\n\t * Route\n\t */\n\troute: {\n\t\tdefault: null\n\t},\n\t/**\n\t * Is instance refreshing\n\t */\n\tisInstanceRefreshing: {\n\t\tdefault: false\n\t},\n\thasPreferredVersionMismatch: {\n\t\tdefault: false\n\t},\n\thasInstanceVersionMismatch: {\n\t\tdefault: false\n\t},\n\tisBlockedUser: {\n\t\tdefault: false\n\t},\n\tlastRequestedRelease: {\n\t\tdefault: ''\n\t},\n\tonexMenu: {\n\t\tdefault: {}\n\t},\n\tbannersOpenedCount: {\n\t\tdefault: 0,\n\t},\n\tsearchConfig: {\n\t\tdefault: ''\n\t},\n\tisAutoAssignRunInBackground: {\n\t\tdefault: false\n\t},\n\tisBuildAgentExperience: {\n\t\tdefault: false\n\t},\n\tisInstanceAssignmentModalOpened: {\n\t\tdefault: false\n\t},\n\tinstanceAssignmentModalScreenType: {\n\t\tdefault: ''\n\t},\n};\n","export default {\n\t/**\n\t * Animation type\n\t * @type {('fade-in'|'ltr'|'rtl')}\n\t */\n\tanimationType: {\n\t\tdefault: null\n\t},\n\t/**\n\t * Animation request type\n\t * @type {('incoming'|'outgoing')}\n\t */\n\tanimationRequest: {\n\t\tdefault: null\n\t}\n};","const OS = {\n\tWINDOWS: 'win',\n\tMACINTOSH: 'mac',\n\tIOS: 'iOS',\n\tANDROID: 'Android'\n};\n\nexport const getOS = () => {\n\tconst userAgent = navigator.userAgent;\n\tconst platform = navigator.platform;\n\n\tif (/iPhone|iPad|iPod/.test(userAgent)) {\n\t\tconst version = userAgent.match(/OS (\\d+_\\d+)?/);\n\t\treturn {\n\t\t\tname: OS.IOS,\n\t\t\tversion: version ? version[1].replace('_', '.') : -1,\n\t\t\tOS\n\t\t};\n\t}\n\tif (/Android/.test(userAgent)) {\n\t\tconst version = userAgent.match(/Android (\\d+(\\.\\d+)?)/);\n\t\treturn {name: OS.ANDROID, version: version ? version[1] : -1, OS};\n\t}\n\tif (platform.indexOf('Win') !== -1) {\n\t\tconst version = navigator.userAgent.match(/Windows NT (\\d+\\.\\d+)/);\n\t\treturn {name: OS.WINDOWS, version: version ? version[1] : -1, OS};\n\t}\n\tif (platform.indexOf('Mac') !== -1) {\n\t\treturn {name: OS.MACINTOSH, version: '', OS};\n\t}\n\treturn {name: 'unknown', version: -1, OS};\n};\n","const BROWSER = {\n\tEDGE: 'EDGE',\n\tFIREFOX: 'FIREFOX',\n\tCHROME: 'CHROME',\n\tSAFARI: 'SAFARI',\n\tIE: 'IE'\n};\n\nexport const getBrowser = () => {\n\tconst ua = navigator.userAgent;\n\n\tif (/Edg\\/|Edge/.test(ua))\n\t\treturn {name: BROWSER.EDGE, version: -1, BROWSER, edge: true};\n\tif (/Chrome/.test(ua))\n\t\treturn {name: BROWSER.CHROME, version: -1, BROWSER, chrome: true};\n\tif (/Safari/.test(ua) && !/Chrome/.test(ua))\n\t\treturn {name: BROWSER.SAFARI, version: -1, BROWSER, safari: true};\n\tif (/Firefox/.test(ua))\n\t\treturn {name: BROWSER.FIREFOX, version: -1, BROWSER, firefox: true};\n\tif (/MSIE|Trident/.test(ua))\n\t\treturn {name: BROWSER.IE, version: -1, BROWSER, msie: true};\n\n\treturn {name: 'unknown', version: -1, BROWSER};\n};\n","export const supportTouch = () => {\n\treturn !!(\n\t\t'ontouchstart' in window ||\n\t\tnavigator.maxTouchPoints > 0 ||\n\t\t(window.DocumentTouch && document instanceof window.DocumentTouch)\n\t);\n};\n","import {supportTouch} from './support';\nimport {getOS} from './os';\n\nexport const getSystem = () => {\n\tconst os = getOS();\n\tconst ua = navigator.userAgent;\n\n\t// Modern iPads spoof as Mac, so we must check platform and touch\n\tconst isLikelyIPad =\n\t\tnavigator.platform === 'MacIntel' &&\n\t\tsupportTouch() &&\n\t\tos.name === os.OS.IOS;\n\n\tconst isTablet =\n\t\t/iPad/.test(ua) ||\n\t\tisLikelyIPad ||\n\t\t(os.name === os.OS.ANDROID && !/Mobile/.test(ua)) ||\n\t\t(window.innerWidth >= 768 && supportTouch());\n\n\tconst isPhone = supportTouch() && !isTablet;\n\tconst isDesktop = !isTablet && !isPhone;\n\n\treturn {\n\t\tphone: isPhone,\n\t\ttablet: isTablet,\n\t\tdesktop: isDesktop,\n\t\tSYSTEMTYPE: {\n\t\t\tPHONE: 'phone',\n\t\t\tTABLET: 'tablet',\n\t\t\tDESKTOP: 'desktop'\n\t\t}\n\t};\n};\n","const BREAKPOINTS = {\n\txs: 320,\n\tsm: 576,\n\tmd: 768,\n\tlg: 1024,\n\txl: 1366,\n\t'2xl': 1680\n};\n\nexport const RESPONSIVE_BREAKPOINTS = {\n\txs: '(max-width: 575px)',\n\tsm: '(min-width: 576px) and (max-width: 767px)',\n\tmd: '(min-width: 768px) and (max-width: 1023px)',\n\tlg: '(min-width: 1024px) and (max-width: 1365px)',\n\txl: '(min-width: 1366px) and (max-width: 1679px)',\n\t'2xl': '(min-width: 1680px)'\n};\n\nexport const getViewportCategory = () => {\n\tconst width = window.innerWidth;\n\tif (width < BREAKPOINTS.sm) return 'xs';\n\tif (width < BREAKPOINTS.md) return 'sm';\n\tif (width < BREAKPOINTS.lg) return 'md';\n\tif (width < BREAKPOINTS.xl) return 'lg';\n\tif (width < BREAKPOINTS['2xl']) return 'xl';\n\treturn '2xl';\n};\n\nexport const getResponsiveType = () => {\n\tconst bp = getViewportCategory();\n\tif (['xs', 'sm'].includes(bp)) return 'phone';\n\tif (bp === 'md') return 'tablet';\n\treturn 'desktop';\n};\n\nexport const getBreakpointRange = (bpKey) => {\n\tconst keys = Object.keys(BREAKPOINTS);\n\tconst index = keys.indexOf(bpKey);\n\tif (index === -1) return {min: 0, max: Infinity};\n\n\tconst min = BREAKPOINTS[bpKey];\n\tconst nextKey = keys[index + 1];\n\tconst max = nextKey ? BREAKPOINTS[nextKey] - 1 : Infinity;\n\n\treturn {min, max};\n};\n\nexport const getMediaInfo = () => {\n\tconst breakpoint = getViewportCategory();\n\tconst {min, max} = getBreakpointRange(breakpoint);\n\tconst width = window.innerWidth;\n\tconst height = window.innerHeight;\n\n\treturn {\n\t\tbreakpoint,\n\t\twidth,\n\t\theight,\n\t\tmin,\n\t\tmax,\n\t\tresponsiveType: getResponsiveType(),\n\t\tsrcsetHint: {\n\t\t\tsuggestedSize: `${BREAKPOINTS[breakpoint] || 1000}w`\n\t\t}\n\t};\n};\n\nexport const setupResponsiveObserver = (onChange) => {\n\tlet current = getViewportCategory();\n\n\tconst update = () => {\n\t\tconst next = getViewportCategory();\n\t\tif (next !== current) {\n\t\t\tcurrent = next;\n\t\t\tonChange(next);\n\t\t}\n\t};\n\n\tconst observer = new ResizeObserver(update);\n\tobserver.observe(document.documentElement);\n};\n","export const getLanguage = () => {\n\tconst html = document.documentElement;\n\treturn html.getAttribute('lang') || navigator.language;\n};\n","export const getTimeZoneName = () => {\n\treturn new Date()\n\t\t.toLocaleString('en', {timeZoneName: 'short'})\n\t\t.split(' ')\n\t\t.pop();\n};\n","import {getOS} from './os';\nimport {getBrowser} from './browser';\nimport {getSystem} from './system';\nimport {supportTouch} from './support';\nimport {\n\tgetResponsiveType,\n\tsetupResponsiveObserver,\n\tgetMediaInfo,\n\tRESPONSIVE_BREAKPOINTS\n} from './responsive';\nimport {getLanguage} from './language';\nimport {getTimeZoneName} from './timezone';\n\nconst Client = {\n\tos: getOS(),\n\tbrowser: getBrowser(),\n\tsystem: getSystem(),\n\tsupport: {\n\t\ttouch: supportTouch()\n\t},\n\tlanguage: getLanguage(),\n\ttimeZoneName: getTimeZoneName(),\n\tresponsiveType: getResponsiveType(),\n\tmedia: getMediaInfo(),\n\tresponsiveBreakpoints: RESPONSIVE_BREAKPOINTS\n};\n\nsetupResponsiveObserver((newViewportCategory) => {\n\tClient.responsiveType = getResponsiveType();\n\tClient.media = getMediaInfo();\n\n\twindow.dispatchEvent(\n\t\tnew CustomEvent('client:responsiveChange', {\n\t\t\tdetail: {\n\t\t\t\tbreakpoint: newViewportCategory,\n\t\t\t\ttype: Client.responsiveType,\n\t\t\t\tmedia: Client.media\n\t\t\t}\n\t\t})\n\t);\n});\n\nClient.isResponsivePhone = () => Client.responsiveType === 'phone';\nClient.isResponsiveTablet = () => Client.responsiveType === 'tablet';\nClient.isResponsiveDesktop = () => Client.responsiveType === 'desktop';\n\nexport default Client;\n","import Client from './clientDetect';\nexport default Client;\n","const LEVELS = {\n\tlog: 0,\n\tinfo: 1,\n\twarn: 2\n};\n\nconst COLORS = {\n\tlog: '\\x1b[37m',\n\tinfo: '\\x1b[36m',\n\twarn: '\\x1b[33m',\n\treset: '\\x1b[0m'\n};\n\nlet debug = false;\nlet globalLevel = 'log';\n\nconst format = (namespace, level, args) => {\n\tconst timestamp = new Date().toISOString();\n\tconst color = COLORS[level] || COLORS.log;\n\treturn [\n\t\tcolor,\n\t\t`[${timestamp}]`,\n\t\tnamespace ? `[${namespace}]` : '',\n\t\t`[${level}]`,\n\t\t...args,\n\t\tCOLORS.reset\n\t];\n};\n\nconst shouldLog = (level) => debug && LEVELS[level] >= LEVELS[globalLevel];\n\nfunction createLogger(namespace = '') {\n\treturn {\n\t\tlog: (...args) => {\n\t\t\tif (shouldLog('log')) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.log(...format(namespace, 'log', args));\n\t\t\t}\n\t\t},\n\t\tinfo: (...args) => {\n\t\t\tif (shouldLog('info')) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.info(...format(namespace, 'info', args));\n\t\t\t}\n\t\t},\n\t\twarn: (...args) => {\n\t\t\tif (shouldLog('warn')) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.warn(...format(namespace, 'warn', args));\n\t\t\t}\n\t\t}\n\t};\n}\n\nconst Logger = {\n\tsetDebug: (value = false) => {\n\t\tdebug = value;\n\t},\n\tsetLevel: (level = 'log') => {\n\t\tif (LEVELS[level] !== undefined) globalLevel = level;\n\t},\n\tcreate: (namespace) => createLogger(namespace),\n\t...createLogger()\n};\n\n// Expose as window.OneX.Logger\nif (typeof window !== 'undefined') {\n\twindow.OneX = window.OneX || {};\n\twindow.OneX.Logger = {\n\t\tset debug(value) {\n\t\t\tLogger.setDebug(value);\n\t\t},\n\t\tget debug() {\n\t\t\treturn debug;\n\t\t},\n\t\tset level(value) {\n\t\t\tLogger.setLevel(value);\n\t\t},\n\t\tget level() {\n\t\t\treturn globalLevel;\n\t\t},\n\t\tcreate: Logger.create,\n\t\tlog: Logger.log,\n\t\tinfo: Logger.info,\n\t\twarn: Logger.warn\n\t};\n}\n\nexport default Logger;\n","import {t} from 'sn-translate';\n\n// Translation string\nexport const PRIMARY_NAVIGATION = t('Primary Navigation');\nexport const PRIMARY_MENU = t('Primary Menu');\nexport const UTILITY_MENU = t('Utility Menu');\nexport const USER_PROFILE = t('User Profile');\nexport const BACK_BUTTON = t('Back button');\nexport const SIGN_IN = t('sn_cx_nav.sign_in');\n\n// Text direction constants\nexport const TEXT_DIRECTION = {\n\tLTR: 'ltr',\n\tRTL: 'rtl'\n};\n\n// String constants\nexport const LANGUAGE = 'language';\nexport const NOTIFICATION = 'notification';\nexport const TASK = 'task';\nexport const PROFILE = 'profile';\nexport const AIAssist = 'sparkle';\nexport const SEARCH = 'search';\n\n// IDs for - Notification,\nexport const UTILITY_NOTIFICATION_ELM_ID = 'utility-notification';\n\n// Theme colors\nexport const THEME_COLORS = {\n\tlight: '#FFFFFF',\n\tdark: '#9FE793'\n};\n\nexport const SECONDARY_DROP_MENU_ITEM_ICON_COLOR = '#1d1d1d';\n\nexport const MENU_TYPES = {\n\tSECONDARY: 'secondary',\n\tPRIMARY: 'primary'\n};\n\nexport const NAV_EXPERIENCE = {\n\tUNIVERSITY: 'snu',\n\tMYNOW: 'mynow'\n\t// Add more Experience labels if needed\n};\n\nexport const NOTIFICATIONS_LABEL = 'Notifications';\n\nexport const SYS_PROPS = {\n\tEXPERIENCE_NAME: 'sn_cx_nav.experience_name'\n};\n\nexport const RESPONSIVE_TYPES = {\n\tDESKTOP: 'desktop',\n\tTABLET: 'tablet',\n\tPHONE: 'phone'\n};\n\nexport const focusableElemSelectors = [\n\t'a[href]:not([tabindex=\"-1\"])',\n\t'button:not([disabled]):not([tabindex=\"-1\"])',\n\t'area[href]:not([tabindex=\"-1\"])',\n\t'input:not([disabled]):not([type=\"hidden\"]):not([tabindex=\"-1\"])',\n\t'select:not([disabled]):not([tabindex=\"-1\"])',\n\t'textarea:not([disabled]):not([tabindex=\"-1\"])',\n\t'iframe:not([tabindex=\"-1\"])',\n\t'object:not([tabindex=\"-1\"])',\n\t'summary:not([tabindex=\"-1\"])',\n\t'[tabindex]:not([tabindex=\"-1\"])',\n\t'[contenteditable=\"true\"]:not([tabindex=\"-1\"])'\n].join(',');\n\nexport const languageDropdownFocusableSelector =\n\t'.sn-cx-navigation__language-menu__item__name:not(.--disabled)';\n\nexport const profileUtilityDropdownFocusableSelector =\n\t'a.now-text-link, .sn-cx-navigation__profile-menu__item__link';\n","import Client from '@devsnc/library-client-detect';\nimport get from 'lodash/get';\nimport Logger from '@devsnc/library-logger';\nimport {RESPONSIVE_TYPES} from '../view/constants';\n\n/**\n * Creates a unified interaction handler for click and keyboard events.\n *\n * This utility function generates handlers for managing interactions on elements\n * via mouse clicks, keyboard actions (e.g., `Space` or `Enter`), and any additional\n * events specified. It ensures consistent handling of user input across different\n * interaction methods.\n *\n * @param {Function} fn - The callback function to execute for the interaction.\n * @param {boolean} [ignoreSpace=false] - If true, prevents the handler from triggering on the `Space` key.\n * @param {Array<string>} [moreEvents=[]] - Additional event names to bind the interaction handler to.\n *\n * @returns {Object} A set of event handlers for interaction, including:\n *     - `on-click`: Handler for mouse click events.\n *     - `on-keydown`: Handler for `Space` and `Enter` keyboard events.\n *     - Additional handlers for events specified in `moreEvents`.\n */\nexport function createInteractionHandler(\n\tfn,\n\tignoreSpace = false,\n\tmoreEvents = []\n) {\n\tconst interactionHandlers = {\n\t\t'on-click': fn,\n\t\t'on-keydown': (e) => {\n\t\t\tif (e.key === ' ') {\n\t\t\t\te.preventDefault();\n\t\t\t\tif (!ignoreSpace) {\n\t\t\t\t\tfn(e);\n\t\t\t\t}\n\t\t\t} else if (e.key === 'Enter') {\n\t\t\t\te.preventDefault();\n\t\t\t\tfn(e);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst moreHandlers = moreEvents.reduce((target, event) => {\n\t\ttarget[event] = fn;\n\t\treturn target;\n\t}, {});\n\n\treturn {...interactionHandlers, ...moreHandlers};\n}\n\nconst InteractionState = (() => {\n\tlet method = null; // 'mouse' | 'keyboard' | null\n\n\treturn {\n\t\tget() {\n\t\t\treturn method;\n\t\t},\n\t\tset(newMethod) {\n\t\t\tmethod = newMethod;\n\t\t},\n\t\treset() {\n\t\t\tmethod = null;\n\t\t}\n\t};\n})();\n\n/**\n * Creates a unified hover handler for mouse hover-in and hover-out events.\n *\n * This utility function generates handlers for managing hover interactions on elements\n * via mouse enter (`mouseenter`) and mouse leave (`mouseleave`) events. It also allows\n * additional events to be specified for extended hover-related behavior.\n *\n * @param {Function} fnIn - The callback function to execute when the hover-in (`mouseenter`) event occurs.\n * @param {Function} fnOut - The callback function to execute when the hover-out (`mouseleave`) event occurs.\n * @param {Array<string>} [moreEvents=[]] - Additional event names to bind the hover handlers to.\n *\n * @returns {Object} A set of event handlers for hover interactions, including:\n *     - `on-mouseenter`: Handler for the hover-in (`mouseenter`) event.\n *     - `on-mouseleave`: Handler for the hover-out (`mouseleave`) event.\n *     - Additional handlers for events specified in `moreEvents`.\n *\n * @example\n * const handleHoverIn = (e) => console.log('Hovered In:', e.target);\n * const handleHoverOut = (e) => console.log('Hovered Out:', e.target);\n *\n * const hoverHandlers = createHoverHandler(handleHoverIn, handleHoverOut);\n *\n * <div {...hoverHandlers}>Hover over me!</div>\n */\nexport function createHoverHandler(\n\tfnIn = () => {},\n\tfnOut = () => {},\n\tmoreEvents = []\n) {\n\tconst hoverHandlers = {\n\t\t'on-mouseenter': (e) => {\n\t\t\t//Logger.log('mouseenter triggered');\n\t\t\tif (InteractionState.get() !== 'keyboard') {\n\t\t\t\tInteractionState.set('mouse');\n\t\t\t\t//Logger.log('Interaction set to mouse. Calling fnIn.');\n\t\t\t\tfnIn(e);\n\t\t\t}\n\t\t},\n\t\t'on-mouseleave': (e) => {\n\t\t\t//Logger.log('mouseleave triggered');\n\t\t\tif (InteractionState.get() === 'mouse') {\n\t\t\t\t//Logger.log('Interaction is mouse. Calling fnOut.');\n\t\t\t\tfnOut(e);\n\t\t\t}\n\t\t},\n\t\t'on-focus': (e) => {\n\t\t\t//Logger.log('focus triggered');\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\tif (InteractionState.get() !== 'mouse') {\n\t\t\t\t\tInteractionState.set('keyboard');\n\t\t\t\t\t//Logger.log('Interaction set to keyboard. Calling fnIn.');\n\t\t\t\t\tfnIn(e);\n\t\t\t\t} else {\n\t\t\t\t\t//Logger.log('Focus came after mouse interaction. Skipping fnIn.');\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\t'on-blur': (e) => {\n\t\t\t//Logger.log('blur triggered');\n\t\t\tif (InteractionState.get() === 'keyboard') {\n\t\t\t\t//Logger.log('Interaction is keyboard. Calling fnOut.');\n\t\t\t\tfnOut(e);\n\t\t\t}\n\t\t\t//Logger.log('Resetting interaction method.');\n\t\t\tInteractionState.reset();\n\t\t}\n\t};\n\n\tconst moreHandlers = moreEvents.reduce((target, event) => {\n\t\ttarget[event] = (e) => {\n\t\t\t//Logger.log(`Custom event '${event}' triggered`);\n\t\t\tif (event === 'mouseenter') {\n\t\t\t\thoverHandlers['on-mouseenter'](e);\n\t\t\t} else if (event === 'mouseleave') {\n\t\t\t\thoverHandlers['on-mouseleave'](e);\n\t\t\t}\n\t\t};\n\t\treturn target;\n\t}, {});\n\n\treturn {...hoverHandlers, ...moreHandlers};\n}\n\nconst isSupportedExperience = (\n\tcontextPath,\n\texperienceConfigs = window?.ux_globals?.experienceConfigs || {}\n) => {\n\treturn (\n\t\t!!experienceConfigs[contextPath]?.appRouteConfiguration?.routes || false\n\t);\n};\n\nconst getExperienceName = (\n\tcontextPath,\n\texperienceConfigs = window?.ux_globals?.experienceConfigs || {}\n) => {\n\treturn experienceConfigs[contextPath]?.experienceName || '';\n};\n\nconst getRouteFields = (\n\tcontextPath,\n\troute,\n\texperienceConfigs = window?.ux_globals?.experienceConfigs || {}\n) => {\n\treturn (\n\t\texperienceConfigs[contextPath]?.appRouteConfiguration?.routes?.[route][0]\n\t\t\t?.fields || []\n\t);\n};\n\nexport function getRouteConfig(url) {\n\tif (!url) return;\n\tvar urlParts = new URL(url);\n\tvar parts = urlParts.pathname.split('/params/');\n\tvar fields = parts[0].split('/');\n\tif (fields && fields.length > 3) {\n\t\tfields.shift(); //Remove first slash\n\t\tvar contextPath = fields.shift() + '/' + fields.shift();\n\t\tconst routeValue = fields.shift();\n\t\tif (isSupportedExperience(contextPath)) {\n\t\t\tvar routeConfig = {\n\t\t\t\troute: routeValue,\n\t\t\t\tfields: {},\n\t\t\t\tcontext: {\n\t\t\t\t\tpath: contextPath,\n\t\t\t\t\texperienceName: getExperienceName(contextPath)\n\t\t\t\t},\n\t\t\t\tqueryString: {},\n\t\t\t\tupdateUrl: true\n\t\t\t};\n\t\t\tconst routeFields = getRouteFields(contextPath, routeValue);\n\t\t\tif (routeFields.length !== fields.length) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tif (routeFields) {\n\t\t\t\tfor (let i = 0; i < routeFields.length; i++) {\n\t\t\t\t\trouteConfig.fields[routeFields[i]] = fields[i];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tvar params = parts[1];\n\t\t\tif (params) {\n\t\t\t\tvar paramValues = params.split('/');\n\t\t\t\tfor (let j = 0; j < paramValues.length; j = j + 2) {\n\t\t\t\t\trouteConfig.queryString[paramValues[j]] = paramValues[j + 1];\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn routeConfig;\n\t\t}\n\t}\n\treturn null;\n}\n\n/**\n * breakpoints: (\n\t'xs': 320px,\n\t'sm': 576px,\n\t'md': 768px,\n\t'lg': 1024px,\n\t'xl': 1366px,\n\t'2xl': 1680px\n);\n */\n\nexport const isDesktopDevice = (responsiveType, media) => {\n\tif (responsiveType === RESPONSIVE_TYPES.DESKTOP) {\n\t\tconst breakpoint = get(media, 'breakpoint', '');\n\t\tif (breakpoint === 'lg') return false; // lg is considered tablet\n\t\treturn true;\n\t}\n\treturn false;\n};\n\nexport const getClientBreakpoints = ({type, media: payloadMedia} = {}) => {\n\tconst responsiveType =\n\t\tpayloadMedia?.responsiveType || type || Client.responsiveType;\n\tconst media = payloadMedia || Client.media;\n\n\tLogger.log('getClientBreakpoints', media, responsiveType);\n\treturn {\n\t\tisMobile: responsiveType === RESPONSIVE_TYPES.PHONE,\n\t\tisTablet: responsiveType === RESPONSIVE_TYPES.TABLET,\n\t\tisDesktop: isDesktopDevice(responsiveType, media),\n\t\tresponsiveType,\n\t\tmedia\n\t};\n};\n\n/**\n * Helper function to get system properties from uxGlobals.\n * @param {Object} uxGlobals - The global object containing system properties.\n * @param {string} propName - The name of the property to retrieve.\n * @returns {string} - The value of the specified property or an empty string if not found.\n */\nexport const getSysProps = (uxGlobals, propName) => {\n\treturn get(uxGlobals, ['sysprops', propName], '');\n};\n","import get from 'lodash/get';\nimport some from 'lodash/some';\nimport {TEXT_DIRECTION} from './constants';\n\n/**\n * Check if the Mega Menu should be displayed\n * @param {Object} popupMenuContext - Contains menu state and active item\n * @returns {Boolean} - Returns `true` if the Mega Menu should be shown\n */\nexport const shouldShowMegaMenu = (popupMenuContext) => {\n\treturn (\n\t\tget(popupMenuContext, ['item', 'menu']) === 'primary' &&\n\t\tget(popupMenuContext, ['opened']) === true\n\t);\n};\n\nexport const isImageIconTypeGroupLinks = (groupLinks) => {\n\treturn some(\n\t\tgroupLinks,\n\t\t(link = {}) => link?.type === 'image' || link?.type === 'icon'\n\t);\n};\n\nexport const findSecondaryMenuParentElement = (\n\titem,\n\ttargetSysID,\n\tparent = null\n) => {\n\tif (!item) return null;\n\n\tif (item.sysID === targetSysID) {\n\t\treturn parent;\n\t}\n\n\tif (Array.isArray(item.items)) {\n\t\tfor (const child of item.items) {\n\t\t\tconst found = findSecondaryMenuParentElement(child, targetSysID, item);\n\t\t\tif (found) return found;\n\t\t}\n\t}\n\n\treturn null;\n};\n\nexport const tabIndexIfNotDesktop = (isDesktop) =>\n\tisDesktop ? {} : {tabIndex: '-1'};\n\n/**\n * Returns common direction props derived from the component dir property (provided by behavior-rtl).\n * @param {string} dir - The text direction value from state.properties.dir\n * @returns {{ isRtl: boolean, forwardDirection: string, backDirection: string }}\n *   - forwardDirection: for expand/navigate-forward arrows (RTL=left, LTR=right)\n *   - backDirection:    for back/return arrows (RTL=right, LTR=left)\n */\nexport const getDirectionProps = (dir = TEXT_DIRECTION.LTR) => {\n\tconst isRtl = dir === TEXT_DIRECTION.RTL;\n\treturn {\n\t\tisRtl,\n\t\tforwardDirection: isRtl ? 'left' : 'right',\n\t\tbackDirection: isRtl ? 'right' : 'left'\n\t};\n};\n","export const MEGA_MENU_TOGGLED = 'SN_CX_NAVIGATION#MEGA_MENU_TOGGLED';\nexport const MENU_ITEM_CLICKED = 'SN_CX_NAVIGATION#MENU_ITEM_CLICKED';\nexport const MEGA_MENU_CLOSE_ICON_CLICKED =\n\t'SN_CX_NAVIGATION#MEGA_MENU_CLOSE_ICON_CLICKED';\n\n// Primary menu\nexport const PRIMARY_MENUITEM_FOCUS_REQUESTED =\n\t'SN_CX_NAVIGATION#PRIMARY_MENUITEM_FOCUS_REQUESTED';\nexport const PRIMARY_MENUITEM_BLUR_REQUESTED =\n\t'SN_CX_NAVIGATION#PRIMARY_MENUITEM_BLUR_REQUESTED';\nexport const PRIMARY_MENU_INSERTED = 'SN_CN_NAVIGATION#PRIMARY_MENU_INSERTED';\n\n// Mega menu\nexport const MEGAMENU_ELEMENT_REF_UPDATED =\n\t'SN_CX_NAVIGATION#MEGAMENU_ELEMENT_REF_UPDATED';\nexport const MEGAMENU_GROUP_ITEM_CLICKED =\n\t'SN_CX_NAVIGATION#MEGAMENU_GROUP_ITEM_CLICKED';\nexport const MEGAMENU_GROUP_LINK_CLICKED =\n\t'SN_CX_NAVIGATION#MEGAMENU_GROUP_LINK_CLICKED';\nexport const DOCUMENT_FREEZE_REQUESTED =\n\t'SN_CX_NAVIGATION#DOCUMENT_FREEZE_REQUESTED';\nexport const MEGAMENU_COLLAPSIBLE_ITEM_TOGGLED =\n\t'SN_CX_NAVIGATION#MEGAMENU_COLLAPSIBLE_ITEM_TOGGLED';\nexport const MEGAMENU_CONTENT_ESCAPED =\n\t'SN_CX_NAVIGATION#MEGAMENU_CONTENT_ESCAPED';\n\n// Primary utility\nexport const UTILITY_BUTTON_CLICKED = 'SN_CX_NAVIGATION#UTILITY_BUTTON_CLICKED';\nexport const SIGNIN_BUTTON_CLICKED = 'SN_CX_NAVIGATION#SIGNIN_BUTTON_CLICKED';\nexport const MENU_TOGGLE_BUTTON_CLICKED =\n\t'SN_CX_NAVIGATION#MENU_TOGGLE_BUTTON_CLICKED';\nexport const MOBILE_MENU_CLOSE_REQUESTED =\n\t'SN_CX_NAVIGATION#MOBILE_MENU_CLOSE_REQUESTED';\nexport const LANGUAGE_SELECTOR_TOGGLED =\n\t'SN_CX_NAVIGATION#LANGUAGE_SELECTOR_TOGGLED';\nexport const SN_CX_NAVIGATION_LANGUAGE_SELECTED =\n\t'SN_CX_NAVIGATION#LANGUAGE_SELECTED';\nexport const PROFILE_DROPDOWN_TOGGLED =\n\t'SN_CX_NAVIGATION#PROFILE_DROPDOWN_TOGGLED';\nexport const PROFILE_OPTIONS_CLICKED =\n\t'SN_CX_NAVIGATION#PROFILE_OPTIONS_CLICKED';\nexport const LANGUAGE_SELECTOR_ELEMENT_REF_UPDATED =\n\t'SN_CX_NAVIGATION#LANGUAGE_SELECTOR_ELEMENT_REF_UPDATED';\nexport const NOTIFICATION_DROPDOWN_ELEMENT_REF_UPDATED =\n\t'SN_CX_NAVIGATION#NOTIFICATION_DROPDOWN_ELEMENT_REF_UPDATED';\nexport const UTILITY_DROPDOWN_ELEMENT_REF_UPDATED =\n\t'SN_CX_NAVIGATION#UTILITY_DROPDOWN_ELEMENT_REF_UPDATED';\nexport const PROFILE_DROPDOWN_ELEMENT_REF_UPDATED =\n\t'SN_CX_NAVIGATION#PROFILE_DROPDOWN_ELEMENT_REF_UPDATED';\nexport const SECONDARY_DROPDOWN_ELEMENT_REF_UPDATED =\n\t'SN_CX_NAVIGATION#SECONDARY_DROPDOWN_ELEMENT_REF_UPDATED';\nexport const SECONDARY_DROPDOWN_SELECTION =\n\t'SN_CX_NAVIGATION#SECONDARY_DROPDOWN_SELECTION';\n\n// secondary menu\nexport const SECONDARY_MENUITEM_FOCUS_REQUESTED =\n\t'SN_CX_NAVIGATION#SECONDARY_MENUITEM_FOCUS_REQUESTED';\nexport const SECONDARY_MENUITEM_BLUR_REQUESTED =\n\t'SN_CX_NAVIGATION#SECONDARY_MENUITEM_BLUR_REQUESTED';\nexport const ACTIVE_SECONDARY_MENUITEM_UPDATED =\n\t'SN_CX_NAVIGATION#ACTIVE_SECONDARY_MENUITEM_UPDATED';\nexport const SECONDARY_MENUITEM_CLICKED =\n\t'SN_CX_NAVIGATION#SECONDARY_MENUITEM_CLICKED';\nexport const SECONDARY_POPOVER_MENUITEM_CLICKED =\n\t'SN_CX_NAVIGATION#SECONDARY_POPOVER_MENUITEM_CLICKED';\nexport const SECONDARY_MENU_INSERTED =\n\t'SN_CN_NAVIGATION#SECONDARY_MENU_INSERTED';\nexport const SECONDARY_MENU_RESIZED = 'SN_CN_NAVIGATION#SECONDARY_MENU_RESIZED';\nexport const SECONDARY_MENU_DROPDOWN_ITEM_TOGGLED =\n\t'SN_CX_NAVIGATION#SECONDARY_MENU_DROPDOWN_ITEM_TOGGLED';\nexport const SECONDARY_MENU_TOGGLED = 'SN_CX_NAVIGATION#SECONDARY_MENU_TOGGLED';\nexport const SECONDARY_CTA_UPDATE_REQUESTED =\n\t'SN_CX_NAVIGATION#SECONDARY_CTA_UPDATE_REQUESTED';\nexport const SECONDARY_DROPDOWN_LEVEL_UPDATED =\n\t'SECONDARY_DROPDOWN_LEVEL_UPDATED';\n\n// popovers: megamenu dropdown, dropdown menu etc.\nexport const CLOSE_POPOVERS = 'SN_CX_NAVIGATION#CLOSE_POPOVERS';\nexport const TOOPTIP_TARGET_REF = 'SN_CX_NAVIGATION#TOOPTIP_TARGET_REF';\nexport const MEGAMENU_REF = 'SN_CX_NAVIGATION#MEGAMENU_REF';\n\n// framework actions\nexport const NAV_ITEM_SELECTED = 'NAV_ITEM_SELECTED';\n\n// Click Events for Analytics purposes.\n// For links click\nexport const TRACK_ANALYTICS_CLICKED =\n\t'SN_CX_NAVIGATION#TRACK_ANALYTICS_CLICKED';\nexport const CTA_BUTTON_FOCUSED = 'SN_CX_NAVIGATION#CTA_BUTTON_FOCUSED';\nexport const CTA_BUTTON_BLURRED = 'SN_CX_NAVIGATION#CTA_BUTTON_BLURRED';\n\n// Responsive Effects\nexport const SCREEN_RESIZED = 'SN_CX_NAVIGATION#SCREEN_RESIZED';\n\n// Event names for Adobe Analytics purposes.\nexport const ANALYTICS_EVENTS = {\n\t// Dispatched event name for Adobe Analytics in click event.\n\tCLICK: 'AA_TRACK#PAGE_ELEMENT_CLICKED',\n\n\t// Dispatched event name for Adobe Analytics in page load event.\n\tPAGE_LOAD: 'AA_TRACK#PAGE_LOADED',\n\n\t// Dispatched event name for Adobe Analytics in content load event.\n\tIMPRESSION: 'AA_TRACK#PAGE_CONTENT_IMPRESSION'\n};\n\nexport const SEARCH_MODAL_CLOSED = 'SN_CX_SEARCH_MODAL#SEARCH_MODAL_ESCAPED';\n\nexport const ANCHOR_TAG_CLICKED = 'ANCHOR_TAG_CLICKED';\n","import {isEmpty} from 'lodash';\nimport {getSysProps} from '..';\nimport {SYS_PROPS} from '../../view/constants';\n\n/**\n * Object containing event names for Adobe Analytics purposes.\n */\nexport const ANALYTICS_EVENTS = {\n\t// Dispatched event name for Adobe Analytics in click event.\n\tCLICK: 'AA_TRACK#PAGE_ELEMENT_CLICKED',\n\n\t// Dispatched event name for Adobe Analytics in page load event. 22a13422c90b76c36f173f53a2858cf4\n\tPAGE_LOAD: 'AA_TRACK#PAGE_LOADED',\n\n\t// Dispatched event name for Adobe Analytics in content load event.\n\tIMPRESSION: 'AA_TRACK#PAGE_CONTENT_IMPRESSION'\n};\n\nexport const ANALYTICS_COMPONENTS_ID = {\n\tPRIMARY_GLOBAL: 'primary_global',\n\tPRIMARY_MENUITEM: 'primary_menuitem',\n\tPRIMARY_SIDEBAR: 'primary_sidebar',\n\tPRIMARY_GROUPLINKS: 'primary_grouplinks',\n\tPRIMARY_CTA: 'primary_cta',\n\tSECONDARY_GLOBAL: 'secondary_global',\n\tSECONDARY_MENUITEM: 'secondary_menuitem',\n\tSECONDARY_CTA: 'secondary_cta',\n\tLANGUAGE_SELECTED: 'language_selected'\n};\n\n// Central config object, and levels are denoted by lowercase 'l'\nexport const ANALYTICS_SECTION_MAPPING = {\n\t[ANALYTICS_COMPONENTS_ID.PRIMARY_GLOBAL]: {level: '', isPrimaryNav: true},\n\t[ANALYTICS_COMPONENTS_ID.PRIMARY_MENUITEM]: {\n\t\tlevel: 'l1',\n\t\tisPrimaryNav: true\n\t},\n\t[ANALYTICS_COMPONENTS_ID.PRIMARY_SIDEBAR]: {\n\t\tlevel: 'l2',\n\t\tisPrimaryNav: true\n\t},\n\t[ANALYTICS_COMPONENTS_ID.PRIMARY_GROUPLINKS]: {\n\t\tlevel: 'l3',\n\t\tisPrimaryNav: true\n\t},\n\t[ANALYTICS_COMPONENTS_ID.LANGUAGE_SELECTED]: {\n\t\tlevel: 'l0-language',\n\t\tisPrimaryNav: true\n\t},\n\t[ANALYTICS_COMPONENTS_ID.PRIMARY_CTA]: {level: 'l4', isPrimaryNav: true},\n\t[ANALYTICS_COMPONENTS_ID.SECONDARY_GLOBAL]: {\n\t\tlevel: 'l0',\n\t\tisPrimaryNav: false\n\t},\n\t[ANALYTICS_COMPONENTS_ID.SECONDARY_MENUITEM]: {\n\t\tlevel: 'l1',\n\t\tisPrimaryNav: false\n\t},\n\t[ANALYTICS_COMPONENTS_ID.SECONDARY_CTA]: {level: '', isPrimaryNav: false}\n};\n\nexport function getNavExperience() {\n\tconst currentExperience = getSysProps(\n\t\twindow.ux_globals,\n\t\tSYS_PROPS.EXPERIENCE_NAME\n\t);\n\treturn currentExperience || '';\n}\n\nfunction getCTAText(source) {\n\tif (!source) return '';\n\tconst {text, title, label} = source;\n\treturn text || title || label || '';\n}\n\nfunction getPrimarySectionTemplate(navLevel, state, ctaTextRef) {\n\tconst {menuItemContext, groupItemContext} = state || {};\n\tconst primaryLabel = menuItemContext?.label || '';\n\n\tconst defaultSidebarItem =\n\t\t(!groupItemContext || !groupItemContext.title) &&\n\t\tmenuItemContext?.content?.sidebar?.length > 0 &&\n\t\tmenuItemContext.content.sidebar[0]?.items?.length > 0\n\t\t\t? menuItemContext.content.sidebar[0].items[0]\n\t\t\t: null;\n\n\tconst sidebarText =\n\t\tnavLevel === 'l2'\n\t\t\t? '' // Don't include sidebar text for l2 when groupItemContext is empty\n\t\t\t: (groupItemContext && groupItemContext.title) || defaultSidebarItem\n\t\t\t? `:l2:${(groupItemContext && groupItemContext.title) ||\n\t\t\t\t\tdefaultSidebarItem?.title ||\n\t\t\t\t\t''}`\n\t\t\t: '';\n\n\tswitch (navLevel) {\n\t\tcase 'l1':\n\t\t\treturn 'l1';\n\t\tcase 'l2':\n\t\t\treturn `l1:${primaryLabel}:l2`;\n\t\tcase 'l3':\n\t\t\treturn `l1:${primaryLabel}${sidebarText}:l3`;\n\t\tcase 'l4':\n\t\t\treturn primaryLabel || sidebarText\n\t\t\t\t? `l1:${primaryLabel}${sidebarText}:l4`\n\t\t\t\t: '';\n\t\tcase 'l0':\n\t\t\treturn 'l0';\n\t\tcase 'l0-language':\n\t\t\tif (ctaTextRef.value && ctaTextRef.value.includes(':')) {\n\t\t\t\t// Region is passed down in element.text as the suffix (e.g. \"language dropdown:US\")\n\t\t\t\tconst region = ctaTextRef.value.split(':')[1];\n\t\t\t\tconst parsedCTAText = ctaTextRef.value.split(':')[0];\n\t\t\t\tctaTextRef.value = parsedCTAText; // Modify the reference\n\t\t\t\treturn region;\n\t\t\t}\n\t\t\treturn '';\n\t\tdefault:\n\t\t\treturn '';\n\t}\n}\n\nfunction getSecondarySectionTemplate(navLevel, state) {\n\tconst {menuItemContext, popupMenuContext, currentSecondaryMenuLevel} = state;\n\tconst secondaryLabel =\n\t\tmenuItemContext?.label || popupMenuContext?.item?.label || '';\n\n\tif (navLevel === 'l0') return 'l0';\n\tif (currentSecondaryMenuLevel <= 1) return 'l1';\n\n\treturn `l1:${secondaryLabel}:l${currentSecondaryMenuLevel}`;\n}\n\nfunction formatPayloadToLowercase(payload) {\n\tif (!payload || typeof payload !== 'object') {\n\t\treturn payload;\n\t}\n\n\tconst formatted = {};\n\n\tfor (const [key, value] of Object.entries(payload)) {\n\t\tif (typeof value === 'string' && value.trim().length > 0) {\n\t\t\t// Convert valid non-empty strings to lowercase\n\t\t\tformatted[key] = value.toLowerCase();\n\t\t} else if (typeof value === 'object' && value !== null) {\n\t\t\t// Recursively format nested objects\n\t\t\tformatted[key] = formatPayloadToLowercase(value);\n\t\t} else {\n\t\t\t// Keep other values unchanged (numbers, booleans, null, empty strings)\n\t\t\tformatted[key] = value;\n\t\t}\n\t}\n\n\treturn formatted;\n}\n\n// Breaks down the passed in payload and builds digital data based on section of the navigation requested\nexport const formatAdobeDigitalDataPayload = (coeffects) => {\n\tif (!coeffects || !Object.keys(coeffects).length) return {};\n\n\tconst {\n\t\taction: {\n\t\t\tpayload: {element = {}, section = ''}\n\t\t},\n\t\tstate\n\t} = coeffects || {};\n\n\tconst {level: navLevel = '', isPrimaryNav = false} =\n\t\tANALYTICS_SECTION_MAPPING[section] || {};\n\n\tconst pageArea = isPrimaryNav ? 'global nav' : 'top nav';\n\tconst source = !isEmpty(element) ? element : {};\n\t// Using a reference object to allow for value update within other function scopes\n\tconst ctaTextRef = {value: getCTAText(source)};\n\tconst experienceLabel = getNavExperience();\n\tconst componentName =\n\t\texperienceLabel.length && !isPrimaryNav ? `${experienceLabel} nav` : '';\n\tconst destination = source.url || '';\n\n\t// Section Templates differ based on Primary vs Secondary Menu\n\tconst sectionTemplate = isPrimaryNav\n\t\t? getPrimarySectionTemplate(navLevel, state, ctaTextRef)\n\t\t: getSecondarySectionTemplate(navLevel, state);\n\n\tconst digitalDataPayload = formatPayloadToLowercase({\n\t\tevent: {\n\t\t\tclick: {\n\t\t\t\tcomponentName,\n\t\t\t\tdestination,\n\t\t\t\tctaText: ctaTextRef.value,\n\t\t\t\tpageArea,\n\t\t\t\tsection: sectionTemplate\n\t\t\t}\n\t\t}\n\t});\n\n\treturn digitalDataPayload;\n};\n","import '@servicenow/now-tooltip';\nimport Client from '@devsnc/library-client-detect';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport myNowLogo from '../assets/mynow-logo.svg';\nimport snLogo from '../assets/sn-logo.svg';\nimport {MENU_TYPES} from './constants';\nimport {shouldShowMegaMenu, tabIndexIfNotDesktop} from './helpers';\nimport isEmpty from 'lodash/isEmpty';\nimport {TRACK_ANALYTICS_CLICKED, CLOSE_POPOVERS} from '../actions';\nimport {createInteractionHandler} from '../utils';\nimport {getNavExperience} from '../utils/analytics-tracking';\n\nconst renderImgSources = (logoSrc) => {\n\treturn Object.entries(logoSrc).map(([breakpoint, url]) => (\n\t\t<source media={Client.responsiveBreakpoints[breakpoint]} srcset={url} />\n\t));\n};\n\nconst Logo = ({\n\tlogoSrc,\n\taltText,\n\texternal,\n\ttype = '',\n\tpopupMenuContext,\n\tisDesktop = true,\n\tisMobile = false,\n\tdispatch,\n\teventConfig,\n\trouteConfig\n}) => {\n\tconst logoRef = null;\n\n\tconst isSecondaryMenuLogo = type === MENU_TYPES.SECONDARY;\n\tconst isMegaMenuExpanded = shouldShowMegaMenu(popupMenuContext);\n\n\tconst getWidth = () => {\n\t\tif (type === MENU_TYPES.primary) {\n\t\t\treturn isMobile ? 32 : 144;\n\t\t}\n\t\tif (type === MENU_TYPES.secondary) {\n\t\t\treturn 115;\n\t\t}\n\t};\n\n\tconst getHeight = () => {\n\t\tif (type === MENU_TYPES.primary) {\n\t\t\treturn isMobile ? 30 : 21;\n\t\t}\n\t\tif (type === MENU_TYPES.secondary) {\n\t\t\treturn 32;\n\t\t}\n\t};\n\n\tconst hasEventHandler = !isEmpty(eventConfig) || !isEmpty(routeConfig);\n\n\tconst handleLogoClick = () => (e) => {\n\t\t// Determine logo text based on menu type and experience\n\t\tlet logoText = 'servicenow'; // Default fallback\n\n\t\tif (isSecondaryMenuLogo) {\n\t\t\tconst currentExperience = getNavExperience();\n\t\t\tlogoText = currentExperience\n\t\t\t\t? `${currentExperience.toLowerCase()} logo`\n\t\t\t\t: 'servicenow';\n\t\t}\n\n\t\tdispatch(\n\t\t\tTRACK_ANALYTICS_CLICKED,\n\t\t\t{\n\t\t\t\telement: {\n\t\t\t\t\ttext: logoText,\n\t\t\t\t\turl: external?.url || ''\n\t\t\t\t},\n\t\t\t\tsection: `${\n\t\t\t\t\tisSecondaryMenuLogo ? MENU_TYPES.SECONDARY : MENU_TYPES.PRIMARY\n\t\t\t\t}_global`\n\t\t\t},\n\t\t\t{event: e}\n\t\t);\n\n\t\tif (!isEmpty(routeConfig)) {\n\t\t\te.preventDefault();\n\t\t\tdispatch('NAV_ITEM_SELECTED', {...routeConfig});\n\t\t\tdispatch(CLOSE_POPOVERS, e);\n\t\t} else if (!isEmpty(eventConfig)) {\n\t\t\te.preventDefault();\n\t\t\tdispatch(eventConfig.name, eventConfig.payload);\n\t\t\tdispatch(CLOSE_POPOVERS, e);\n\t\t}\n\t};\n\n\tconst renderLogoImg = ({logoSrc = {}, altText, logoRef}) => {\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t<picture>\n\t\t\t\t\t{renderImgSources(logoSrc)}\n\t\t\t\t\t<img\n\t\t\t\t\t\twidth={getWidth()}\n\t\t\t\t\t\theight={getHeight()}\n\t\t\t\t\t\tsrc={logoSrc.lg}\n\t\t\t\t\t\talt={altText}\n\t\t\t\t\t\tclassName=\"sn-cx-navigation__logo-image\"\n\t\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\t\tlogoRef = elm;\n\t\t\t\t\t\t\telm.parentElement.nextElementSibling.targetRef = logoRef;\n\t\t\t\t\t\t}}\n\t\t\t\t\t\thook-destroy={() => (logoRef = null)}\n\t\t\t\t\t\ton-error={(e) => {\n\t\t\t\t\t\t\te.target.parentElement.querySelector('source').remove();\n\t\t\t\t\t\t\te.target.src = type === 'primary' ? snLogo : myNowLogo;\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</picture>\n\t\t\t\t<now-tooltip\n\t\t\t\t\tid=\"sn-cx-navigation__logo-tooltip\"\n\t\t\t\t\tposition={['bottom-center top-center', 'bottom-start top-start']}\n\t\t\t\t\ttarget-ref={logoRef}>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<span>{`${altText}`}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</now-tooltip>\n\t\t\t</Fragment>\n\t\t);\n\t};\n\n\tconst commonProps = {\n\t\t'aria-label': altText,\n\t\t...(isSecondaryMenuLogo && isMegaMenuExpanded ? {tabIndex: -1} : {}),\n\t\t...tabIndexIfNotDesktop(isDesktop),\n\t\tclassName: `sn-cx-navigation__logo ${type}`\n\t};\n\n\treturn external ? (\n\t\t<a\n\t\t\thref={external.url}\n\t\t\ttarget={external.target}\n\t\t\t{...commonProps}\n\t\t\t{...createInteractionHandler(handleLogoClick())}>\n\t\t\t{renderLogoImg({logoSrc, altText, logoRef})}\n\t\t</a>\n\t) : hasEventHandler ? (\n\t\t<span\n\t\t\t{...commonProps}\n\t\t\trole=\"button\"\n\t\t\ttabIndex={\n\t\t\t\tisDesktop && !(isSecondaryMenuLogo && isMegaMenuExpanded) ? 0 : -1\n\t\t\t}\n\t\t\t{...createInteractionHandler(handleLogoClick())}>\n\t\t\t{renderLogoImg({logoSrc, altText, logoRef})}\n\t\t</span>\n\t) : (\n\t\t<span {...commonProps}>{renderLogoImg({logoSrc, altText, logoRef})}</span>\n\t);\n};\n\nexport default Logo;\n","export const MegaMenuCrossIconSVG = () => (\n\t<svg\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"16\"\n\t\tattr-height=\"16\"\n\t\tattr-viewBox=\"0 0 16 16\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-d=\"M14.1406 1.14062C14.3281 0.953125 14.6719 0.953125 14.8594 1.14062C15.0469 1.32812 15.0469 1.67188 14.8594 1.85938L8.70312 7.98438L14.8594 14.1406C15.0469 14.3281 15.0469 14.6719 14.8594 14.8594C14.6719 15.0469 14.3281 15.0469 14.1406 14.8594L8.01562 8.70312L1.85938 14.8594C1.67188 15.0469 1.32812 15.0469 1.14062 14.8594C0.953125 14.6719 0.953125 14.3281 1.14062 14.1406L7.29688 7.98438L1.14062 1.85938C0.953125 1.67188 0.953125 1.32812 1.14062 1.14062C1.32812 0.953125 1.67188 0.953125 1.85938 1.14062L8.01562 7.29688L14.1406 1.14062Z\"\n\t\t\tattr-fill=\"#1D1D1D\"\n\t\t/>\n\t</svg>\n);\n\nexport const ChevronSVG = ({direction = 'right'}) => (\n\t<span\n\t\tclassName={`sn-cx-icon${direction === 'left' ? ' sn-cx-icon--rtl' : ''}`}>\n\t\t<svg\n\t\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\t\tattr-width=\"12\"\n\t\t\tattr-height=\"12\"\n\t\t\tattr-viewBox=\"0 0 12 12\"\n\t\t\tattr-fill=\"none\">\n\t\t\t<path\n\t\t\t\tattr-d=\"M4.29021 11.1472C4.19667 11.0769 4.1499 10.9831 4.1499 10.8893C4.1499 10.7955 4.19667 10.7017 4.26683 10.6313L8.49957 6.01172L4.26683 1.36866C4.12652 1.22796 4.12652 0.993461 4.29021 0.852762C4.43053 0.712063 4.66438 0.712063 4.80469 0.876212L9.29467 5.75378C9.43498 5.89448 9.43498 6.10552 9.29467 6.24622L4.80469 11.1238C4.66438 11.2879 4.43053 11.2879 4.29021 11.1472Z\"\n\t\t\t\tattr-fill=\"white\"\n\t\t\t/>\n\t\t</svg>\n\t</span>\n);\n\nexport const SidebarLinkArrowSVG = ({direction = 'right'}) => (\n\t<span\n\t\tclassName={`sn-cx-icon${direction === 'left' ? ' sn-cx-icon--rtl' : ''}`}>\n\t\t<svg\n\t\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\t\tattr-width=\"16\"\n\t\t\tattr-height=\"16\"\n\t\t\tattr-viewBox=\"0 0 16 16\"\n\t\t\tattr-fill=\"none\">\n\t\t\t<path\n\t\t\t\tattr-d=\"M11.3438 3.14107L15.8438 7.65517C15.9375 7.74922 16 7.87461 16 8C16 8.09404 15.9375 8.25078 15.8438 8.34483L11.3438 12.8589C11.1562 13.047 10.8125 13.047 10.625 12.8589C10.4375 12.6708 10.4375 12.3574 10.625 12.1379L14.2812 8.50157H0.5C0.21875 8.50157 0 8.25078 0 8C0 7.74922 0.21875 7.49843 0.5 7.49843H14.2812L10.625 3.86207C10.4375 3.67398 10.4375 3.32915 10.625 3.14107C10.8125 2.95298 11.1562 2.95298 11.3438 3.14107Z\"\n\t\t\t\tattr-fill=\"currentColor\"\n\t\t\t/>\n\t\t</svg>\n\t</span>\n);\n\nexport const HelpIconSVG = () => (\n\t<svg\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"14\"\n\t\tattr-height=\"16\"\n\t\tattr-viewBox=\"0 0 14 16\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-d=\"M13.125 8.25C13.125 6.0625 11.9492 4.06641 10.0625 2.97266C8.14844 1.85156 5.82422 1.85156 3.9375 2.97266C2.02344 4.06641 0.875 6.0625 0.875 8.25C0.875 10.4648 2.02344 12.4609 3.9375 13.5547C5.82422 14.6758 8.14844 14.6758 10.0625 13.5547C11.9492 12.4609 13.125 10.4648 13.125 8.25ZM0 8.25C0 5.76172 1.3125 3.46484 3.5 2.20703C5.66016 0.949219 8.3125 0.949219 10.5 2.20703C12.6602 3.46484 14 5.76172 14 8.25C14 10.7656 12.6602 13.0625 10.5 14.3203C8.3125 15.5781 5.66016 15.5781 3.5 14.3203C1.3125 13.0625 0 10.7656 0 8.25ZM4.59375 5.89844C4.78516 5.24219 5.38672 4.75 6.07031 4.75H7.65625C8.61328 4.75 9.40625 5.54297 9.40625 6.52734C9.40625 7.18359 9.02344 7.78516 8.44922 8.08594L7.4375 8.60547V9.125C7.4375 9.37109 7.21875 9.5625 7 9.5625C6.75391 9.5625 6.5625 9.37109 6.5625 9.125V8.33203C6.5625 8.16797 6.64453 8.00391 6.78125 7.94922L8.03906 7.29297C8.33984 7.15625 8.53125 6.85547 8.53125 6.52734C8.53125 6.03516 8.12109 5.625 7.65625 5.625H6.07031C5.79688 5.625 5.52344 5.84375 5.44141 6.11719V6.14453C5.38672 6.36328 5.14062 6.52734 4.92188 6.44531C4.67578 6.39062 4.53906 6.14453 4.59375 5.92578V5.89844ZM6.34375 10.875C6.34375 10.5195 6.61719 10.2188 7 10.2188C7.35547 10.2188 7.65625 10.5195 7.65625 10.875C7.65625 11.2578 7.35547 11.5312 7 11.5312C6.61719 11.5312 6.34375 11.2578 6.34375 10.875Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t</svg>\n);\n\nexport const LogoutIconSVG = () => (\n\t<svg\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"15\"\n\t\tattr-height=\"13\"\n\t\tattr-viewBox=\"0 0 15 13\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-d=\"M13.8633 6.57812L10.3633 10.0781C10.1992 10.2422 9.89844 10.2422 9.73438 10.0781C9.57031 9.91406 9.57031 9.61328 9.73438 9.44922L12.4961 6.6875H4.8125C4.56641 6.6875 4.375 6.49609 4.375 6.25C4.375 6.03125 4.56641 5.8125 4.8125 5.8125H12.4961L9.73438 3.07812C9.57031 2.91406 9.57031 2.61328 9.73438 2.44922C9.89844 2.28516 10.1992 2.28516 10.3633 2.44922L13.8633 5.94922C14.0273 6.11328 14.0273 6.41406 13.8633 6.57812ZM4.8125 1H2.1875C1.44922 1 0.875 1.60156 0.875 2.3125V10.1875C0.875 10.9258 1.44922 11.5 2.1875 11.5H4.8125C5.03125 11.5 5.25 11.7188 5.25 11.9375C5.25 12.1836 5.03125 12.375 4.8125 12.375H2.1875C0.957031 12.375 0 11.418 0 10.1875V2.3125C0 1.10938 0.957031 0.125 2.1875 0.125H4.8125C5.03125 0.125 5.25 0.34375 5.25 0.5625C5.25 0.808594 5.03125 1 4.8125 1Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t</svg>\n);\n\nexport const UserMagmtIconSVG = () => (\n\t<svg\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"18\"\n\t\tattr-height=\"15\"\n\t\tattr-viewBox=\"0 0 18 15\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-d=\"M8.97266 9.375C7.41406 9.375 6.12891 8.11719 6.15625 6.53125C6.15625 4.97266 7.41406 3.6875 8.97266 3.6875C10.5312 3.6875 11.8164 4.97266 11.8164 6.53125C11.8164 8.11719 10.5586 9.375 8.97266 9.375ZM8.97266 4.5625C7.90625 4.5625 7.00391 5.46484 7.00391 6.53125C7.00391 7.625 7.90625 8.5 8.97266 8.5C10.0664 8.5 10.9414 7.625 10.9414 6.53125C10.9414 5.46484 10.0664 4.5625 8.97266 4.5625ZM13.8125 5.875H15.5898C16.3555 5.875 17.0391 6.3125 17.4219 6.96875C17.5859 7.26953 17.3945 7.625 17.0391 7.625C16.875 7.625 16.7383 7.54297 16.6562 7.40625C16.4375 7.02344 16.0273 6.75 15.5898 6.75H13.8125C13.6211 6.75 13.457 6.80469 13.293 6.88672C13.0469 6.99609 12.7734 6.88672 12.6914 6.64062C12.6094 6.42188 12.7188 6.17578 12.9375 6.06641C13.2109 5.95703 13.5117 5.875 13.8125 5.875ZM14.25 5C13.0195 5 12.0625 4.04297 12.0625 2.8125C12.0625 1.60938 13.0195 0.625 14.25 0.625C15.4531 0.625 16.4375 1.60938 16.4375 2.8125C16.4375 4.04297 15.4531 5 14.25 5ZM14.25 1.5C13.5117 1.5 12.9375 2.10156 12.9375 2.8125C12.9375 3.55078 13.5117 4.125 14.25 4.125C14.9609 4.125 15.5625 3.55078 15.5625 2.8125C15.5625 2.10156 14.9609 1.5 14.25 1.5Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t</svg>\n);\n\nexport const MyProfileIconSVG = () => (\n\t<svg\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"14\"\n\t\tattr-height=\"15\"\n\t\tattr-viewBox=\"0 0 14 15\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-d=\"M7 0.625C10.8555 0.625 14 3.76953 14 7.625C14 11.5078 10.8555 14.625 7 14.625C3.11719 14.625 0 11.5078 0 7.625C0 3.76953 3.11719 0.625 7 0.625ZM7 13.75C8.28516 13.75 9.48828 13.3672 10.4727 12.6836C10.3633 11.3164 9.24219 10.25 7.875 10.25H6.125C4.73047 10.25 3.60938 11.3164 3.5 12.6836C4.48438 13.3672 5.6875 13.75 7 13.75ZM11.2383 12.0273C12.3867 10.9062 13.125 9.34766 13.125 7.625C13.125 4.26172 10.3633 1.5 7 1.5C3.60938 1.5 0.875 4.26172 0.875 7.625C0.875 9.34766 1.58594 10.9062 2.73438 12.0273C3.11719 10.5234 4.48438 9.375 6.125 9.375H7.875C9.48828 9.375 10.8555 10.5234 11.2383 12.0273ZM7 4.125C8.20312 4.125 9.1875 5.10938 9.1875 6.3125C9.1875 7.54297 8.20312 8.5 7 8.5C5.76953 8.5 4.8125 7.54297 4.8125 6.3125C4.8125 5.10938 5.76953 4.125 7 4.125ZM7 7.625C7.71094 7.625 8.3125 7.05078 8.3125 6.3125C8.3125 5.60156 7.71094 5 7 5C6.26172 5 5.6875 5.60156 5.6875 6.3125C5.6875 7.05078 6.26172 7.625 7 7.625Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t</svg>\n);\n\nexport const PrimaryNavLogo = () => (\n\t<svg\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"144\"\n\t\tattr-height=\"21\"\n\t\tattr-viewBox=\"0 0 144 21\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-fill-rule=\"evenodd\"\n\t\t\tattr-clip-rule=\"evenodd\"\n\t\t\tattr-d=\"M34.6818 6.40889C33.1478 6.40889 31.8139 6.93746 30.68 7.79638V6.54103H27.0785V20.482H30.8134V11.5624C31.347 10.8357 32.6142 9.84459 34.2149 9.84459C34.8152 9.84459 35.2821 9.91066 35.7489 10.0428V6.47496C35.4154 6.40889 35.0153 6.40889 34.6818 6.40889Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t\t<path\n\t\t\tattr-fill-rule=\"evenodd\"\n\t\t\tattr-clip-rule=\"evenodd\"\n\t\t\tattr-d=\"M1.80079 16.2535C2.73453 17.1124 4.20183 17.641 5.66914 17.641C6.66957 17.641 7.46992 17.1785 7.46992 16.4517C7.46992 14.3374 0.666957 15.1303 0.666957 10.5714C0.666957 7.86245 3.26809 6.21068 6.06931 6.21068C7.8701 6.21068 9.87097 6.87139 10.8047 7.59817L9.07062 10.3071C8.33697 9.77851 7.40323 9.38209 6.40279 9.38209C5.33566 9.38209 4.46861 9.77852 4.46861 10.5053C4.46861 12.2892 11.2716 11.6285 11.2716 16.4517C11.2716 19.1606 8.60375 20.7463 5.66914 20.7463C3.73496 20.7463 1.66739 20.0856 0 18.8963L1.80079 16.2535Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t\t<path\n\t\t\tattr-fill-rule=\"evenodd\"\n\t\t\tattr-clip-rule=\"evenodd\"\n\t\t\tattr-d=\"M25.4778 13.4124C25.4778 9.51423 22.7432 6.27675 18.8749 6.27675C14.6731 6.27675 12.0052 9.64637 12.0052 13.5446C12.0052 17.9053 15.1399 20.8124 19.3418 20.8124C21.5427 20.8124 23.7437 19.8874 25.0776 18.3017L22.9433 16.1874C22.2764 16.9142 21.0092 17.7731 19.4085 17.7731C17.4076 17.7731 15.8069 16.4517 15.6068 14.4696H25.3444C25.4111 14.1392 25.4778 13.8088 25.4778 13.4124ZM15.8069 11.7606C16.007 10.5053 17.2742 9.31602 18.8082 9.31602C20.3422 9.31602 21.476 10.5053 21.6094 11.7606H15.8069Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t\t<path\n\t\t\tattr-fill-rule=\"evenodd\"\n\t\t\tattr-clip-rule=\"evenodd\"\n\t\t\tattr-d=\"M44.7528 15.0642L48.5545 6.54103H52.4896L46.0201 20.5481H43.4189L36.9494 6.54103H40.8845L44.7528 15.0642Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t\t<path\n\t\t\tattr-fill-rule=\"evenodd\"\n\t\t\tattr-clip-rule=\"evenodd\"\n\t\t\tattr-d=\"M55.6909 0C57.0249 0 58.1587 1.05714 58.1587 2.37856C58.1587 3.69998 57.0249 4.75712 55.6909 4.75712C54.357 4.75712 53.2232 3.69998 53.2232 2.37856C53.2232 1.05714 54.2903 0 55.6909 0Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t\t<path\n\t\t\tattr-d=\"M57.4917 6.54103H53.7568V20.482H57.4917V6.54103Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t\t<path\n\t\t\tattr-fill-rule=\"evenodd\"\n\t\t\tattr-clip-rule=\"evenodd\"\n\t\t\tattr-d=\"M73.0985 17.641C71.4311 19.8213 69.3636 20.8124 66.6957 20.8124C62.3605 20.8124 59.1591 17.5749 59.1591 13.5446C59.1591 9.51423 62.4272 6.27675 66.6957 6.27675C69.0968 6.27675 71.2977 7.39996 72.6317 9.05173L69.9638 11.3642C69.2302 10.3732 68.0964 9.71244 66.6957 9.71244C64.4948 9.71244 62.8941 11.4303 62.8941 13.5446C62.8941 15.7249 64.4948 17.3767 66.7624 17.3767C68.2964 17.3767 69.497 16.4517 70.0972 15.5267L73.0985 17.641Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t\t<path\n\t\t\tattr-fill-rule=\"evenodd\"\n\t\t\tattr-clip-rule=\"evenodd\"\n\t\t\tattr-d=\"M86.7712 18.3017C85.4372 19.8874 83.1696 20.8124 81.0353 20.8124C76.8335 20.8124 73.6988 17.9053 73.6988 13.5446C73.6988 9.64637 76.3666 6.27675 80.5685 6.27675C84.4368 6.27675 87.1713 9.51423 87.1713 13.4124C87.1713 13.8088 87.1713 14.1392 87.1046 14.4696H77.3671C77.5672 16.4517 79.1678 17.7731 81.1687 17.7731C82.7694 17.7731 84.0366 16.8481 84.7036 16.1874L86.7712 18.3017ZM83.303 11.7606C83.1696 10.5053 82.0358 9.31602 80.5018 9.31602C78.9678 9.31602 77.6339 10.5053 77.5005 11.7606H83.303Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t\t<path\n\t\t\tattr-fill-rule=\"evenodd\"\n\t\t\tattr-clip-rule=\"evenodd\"\n\t\t\tattr-d=\"M88.6386 20.5481V6.54103H92.2402V7.66424C93.3074 6.80532 94.6413 6.27675 96.242 6.27675C98.1761 6.27675 99.9769 7.13567 101.111 8.52316C102.044 9.64637 102.578 11.0339 102.578 13.4124V20.5481H98.8431V13.1481C98.8431 11.7606 98.5096 11.0339 97.976 10.5053C97.5092 10.0428 96.7088 9.71244 95.8418 9.71244C94.2411 9.71244 92.9739 10.7035 92.4403 11.4303V20.482H88.6386V20.5481Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t\t<path\n\t\t\tattr-fill-rule=\"evenodd\"\n\t\t\tattr-clip-rule=\"evenodd\"\n\t\t\tattr-d=\"M112.249 6.27675C107.78 6.27675 104.045 9.91066 103.979 14.4035C103.979 16.782 104.979 18.8963 106.58 20.416C107.18 20.9445 108.047 21.0106 108.714 20.5481C109.648 19.8213 110.848 19.4249 112.249 19.4249C113.65 19.4249 114.85 19.8874 115.784 20.5481C116.451 21.0106 117.318 21.0106 117.918 20.416C119.519 18.8963 120.453 16.8481 120.453 14.4696C120.386 9.91066 116.784 6.27675 112.249 6.27675ZM112.182 18.4999C109.714 18.4999 108.047 16.6499 108.047 14.4035C108.047 12.1571 109.714 10.3071 112.182 10.3071C114.65 10.3071 116.317 12.1571 116.317 14.4035C116.317 16.716 114.65 18.4999 112.182 18.4999Z\"\n\t\t\tattr-fill=\"#63DF4E\"\n\t\t/>\n\t\t<path\n\t\t\tattr-fill-rule=\"evenodd\"\n\t\t\tattr-clip-rule=\"evenodd\"\n\t\t\tattr-d=\"M127.856 20.5481H125.055L119.452 6.54103H123.254L126.322 14.5356L129.323 6.54103H132.458L135.459 14.5356L138.527 6.54103H142.262L136.66 20.5481H133.858L130.857 12.5535L127.856 20.5481Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t\t<path\n\t\t\tattr-d=\"M142.329 18.9624H141.995V19.557H141.728V17.9053H142.395C142.662 17.9053 142.929 18.1695 142.929 18.4338C142.929 18.632 142.796 18.8302 142.596 18.8963L142.996 19.557H142.729L142.329 18.9624ZM141.995 18.6981H142.395C142.529 18.6981 142.662 18.566 142.662 18.4338C142.662 18.3017 142.529 18.1695 142.395 18.1695H141.995V18.6981Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t\t<path\n\t\t\tattr-d=\"M142.262 17.2445C143.129 17.2445 143.796 17.9053 143.796 18.7642C143.796 19.6231 143.129 20.2838 142.262 20.2838C141.395 20.2838 140.728 19.6231 140.728 18.7642C140.728 17.9053 141.462 17.2445 142.262 17.2445ZM142.262 17.0463C141.262 17.0463 140.528 17.8392 140.528 18.7642C140.528 19.7552 141.328 20.482 142.262 20.482C143.262 20.482 143.996 19.6892 143.996 18.7642C144.063 17.7731 143.262 17.0463 142.262 17.0463Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t</svg>\n);\n\nexport const InfoSVGComponent = () => (\n\t<svg\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"24\"\n\t\tattr-height=\"24\"\n\t\tattr-viewBox=\"0 0 24 24\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-d=\"M12 0C5.34375 0 0 5.39062 0 12C0 18.6562 5.34375 24 12 24C18.6094 24 24 18.6562 24 12C24 5.39062 18.6094 0 12 0ZM12 22.5C6.1875 22.5 1.5 17.8125 1.5 12C1.5 6.23438 6.1875 1.5 12 1.5C17.7656 1.5 22.5 6.23438 22.5 12C22.5 17.8125 17.7656 22.5 12 22.5ZM12 8.625C12.6094 8.625 13.125 8.15625 13.125 7.5C13.125 6.89062 12.6094 6.375 12 6.375C11.3438 6.375 10.875 6.89062 10.875 7.5C10.875 8.15625 11.3438 8.625 12 8.625ZM14.25 16.5H12.75V11.25C12.75 10.875 12.375 10.5 12 10.5H10.5C10.0781 10.5 9.75 10.875 9.75 11.25C9.75 11.6719 10.0781 12 10.5 12H11.25V16.5H9.75C9.32812 16.5 9 16.875 9 17.25C9 17.6719 9.32812 18 9.75 18H14.25C14.625 18 15 17.6719 15 17.25C15 16.875 14.625 16.5 14.25 16.5Z\"\n\t\t\tattr-fill=\"#BCCAD4\"\n\t\t/>\n\t</svg>\n);\n\nexport const AIAssistSVG = () => (\n\t<svg\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"24\"\n\t\tattr-height=\"24\"\n\t\tattr-viewBox=\"0 0 24 24\">\n\t\t<path\n\t\t\tattr-d=\"M17.94 2.907a3 3 0 0 1-2.034 2.034l-1.239.363c-.195.058-.195.335 0 .392l1.24.364a3 3 0 0 1 2.033 2.034l.364 1.239c.058.195.335.195.392 0l.364-1.24a3 3 0 0 1 2.033-2.033l1.24-.364c.195-.057.195-.334 0-.392l-1.24-.363a3 3 0 0 1-2.033-2.034l-.364-1.24c-.058-.195-.335-.195-.392 0l-.364 1.24ZM9.536 8.078a6 6 0 0 1-4.458 4.458l-2.882.681c-.298.07-.298.496 0 .567l2.884.683a6 6 0 0 1 4.456 4.457l.681 2.88c.07.299.496.3.566 0l.684-2.883a6 6 0 0 1 4.454-4.454l2.883-.683c.299-.071.299-.496 0-.567l-2.88-.681a6 6 0 0 1-4.457-4.456l-.684-2.884c-.07-.298-.495-.298-.566 0l-.681 2.882Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t</svg>\n);\n\nexport const LanguagesGlobeSVG = () => (\n\t<svg\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"24\"\n\t\tattr-height=\"24\"\n\t\tattr-viewBox=\"0 0 24 24\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-d=\"M12 0C18.6094 0 24 5.39062 24 12C24 18.6562 18.6094 24 12 24C5.34375 24 0 18.6562 0 12C0 5.39062 5.34375 0 12 0ZM12 22.5C12.75 22.5 13.875 21.8438 14.8594 19.8281C15.3281 18.8906 15.75 17.7656 15.9844 16.5H7.96875C8.20312 17.7656 8.625 18.8906 9.09375 19.8281C10.0781 21.8438 11.2031 22.5 12 22.5ZM7.6875 15H16.2656C16.4062 14.0625 16.5 13.0781 16.5 12C16.5 10.9688 16.4062 9.98438 16.2656 9H7.6875C7.54688 9.98438 7.5 10.9688 7.5 12C7.5 13.0781 7.54688 14.0625 7.6875 15ZM15.9844 7.5C15.75 6.23438 15.3281 5.15625 14.8594 4.21875C13.875 2.20312 12.75 1.5 12 1.5C11.2031 1.5 10.0781 2.20312 9.09375 4.21875C8.625 5.15625 8.20312 6.23438 7.96875 7.5H15.9844ZM17.7656 9C17.9062 9.98438 18 10.9688 18 12C18 13.0781 17.9062 14.0625 17.7656 15H22.0312C22.3125 14.0625 22.5 13.0781 22.5 12C22.5 10.9688 22.3125 9.98438 22.0312 9H17.7656ZM15.3281 2.0625C16.3125 3.375 17.1094 5.29688 17.5312 7.5H21.4688C20.25 4.96875 18.0469 3 15.3281 2.0625ZM8.625 2.0625C5.90625 3 3.70312 4.96875 2.48438 7.5H6.42188C6.84375 5.29688 7.64062 3.375 8.625 2.0625ZM1.5 12C1.5 13.0781 1.64062 14.0625 1.92188 15H6.1875C6.04688 14.0625 6 13.0781 6 12C6 10.9688 6.04688 9.98438 6.1875 9H1.92188C1.64062 9.98438 1.5 10.9688 1.5 12ZM21.4688 16.5H17.5312C17.1094 18.75 16.3125 20.625 15.3281 21.9844C18.0469 21.0469 20.25 19.0781 21.4688 16.5ZM6.42188 16.5H2.48438C3.70312 19.0781 5.90625 21.0469 8.625 21.9844C7.64062 20.625 6.84375 18.75 6.42188 16.5Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t</svg>\n);\n\nexport const LanguagesGlobeSVGSmall = () => (\n\t<svg\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"16\"\n\t\tattr-height=\"16\"\n\t\tattr-viewBox=\"0 0 16 16\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-d=\"M8 0C12.4062 0 16 3.59375 16 8C16 12.4375 12.4062 16 8 16C3.5625 16 0 12.4375 0 8C0 3.59375 3.5625 0 8 0ZM8 15C8.5 15 9.25 14.5625 9.90625 13.2188C10.2188 12.5938 10.5 11.8438 10.6562 11H5.3125C5.46875 11.8438 5.75 12.5938 6.0625 13.2188C6.71875 14.5625 7.46875 15 8 15ZM5.125 10H10.8438C10.9375 9.375 11 8.71875 11 8C11 7.3125 10.9375 6.65625 10.8438 6H5.125C5.03125 6.65625 5 7.3125 5 8C5 8.71875 5.03125 9.375 5.125 10ZM10.6562 5C10.5 4.15625 10.2188 3.4375 9.90625 2.8125C9.25 1.46875 8.5 1 8 1C7.46875 1 6.71875 1.46875 6.0625 2.8125C5.75 3.4375 5.46875 4.15625 5.3125 5H10.6562ZM11.8438 6C11.9375 6.65625 12 7.3125 12 8C12 8.71875 11.9375 9.375 11.8438 10H14.6875C14.875 9.375 15 8.71875 15 8C15 7.3125 14.875 6.65625 14.6875 6H11.8438ZM10.2188 1.375C10.875 2.25 11.4062 3.53125 11.6875 5H14.3125C13.5 3.3125 12.0312 2 10.2188 1.375ZM5.75 1.375C3.9375 2 2.46875 3.3125 1.65625 5H4.28125C4.5625 3.53125 5.09375 2.25 5.75 1.375ZM1 8C1 8.71875 1.09375 9.375 1.28125 10H4.125C4.03125 9.375 4 8.71875 4 8C4 7.3125 4.03125 6.65625 4.125 6H1.28125C1.09375 6.65625 1 7.3125 1 8ZM14.3125 11H11.6875C11.4062 12.5 10.875 13.75 10.2188 14.6562C12.0312 14.0312 13.5 12.7188 14.3125 11ZM4.28125 11H1.65625C2.46875 12.7188 3.9375 14.0312 5.75 14.6562C5.09375 13.75 4.5625 12.5 4.28125 11Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t</svg>\n);\n\nexport const NotificationsBellSVG = () => (\n\t<svg\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"24\"\n\t\tattr-height=\"24\"\n\t\tattr-viewBox=\"0 0 24 24\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-d=\"M11.2031 0.75C11.2031 0.375 11.5781 0 11.9531 0C12.375 0 12.75 0.375 12.75 0.75V1.54688C16.5 1.92188 19.5 5.10938 19.5 9V10.4062C19.5 12.4219 20.2969 14.3906 21.75 15.8438L21.8906 15.9844C22.2656 16.3594 22.5 16.875 22.5 17.4375C22.5 18.6094 21.5625 19.5 20.3906 19.5H3.5625C2.39062 19.5 1.5 18.6094 1.5 17.4375C1.5 16.875 1.6875 16.3594 2.0625 15.9844L2.20312 15.8438C3.65625 14.3906 4.5 12.4219 4.5 10.4062V9C4.5 5.10938 7.45312 1.92188 11.25 1.54688L11.2031 0.75ZM11.9531 3C8.67188 3 5.95312 5.71875 5.95312 9V10.4062C5.95312 12.8438 5.01562 15.1875 3.28125 16.9219L3.14062 17.0156C3.04688 17.1562 2.95312 17.2969 2.95312 17.4375C2.95312 17.7656 3.23438 18 3.5625 18H20.3906C20.7188 18 21 17.7656 21 17.4375C21 17.2969 20.9062 17.1562 20.8125 17.0156L20.6719 16.9219C18.9375 15.1875 18 12.8438 18 10.4062V9C18 5.71875 15.2812 3 11.9531 3ZM11.9531 22.5C12.6094 22.5 13.1719 22.125 13.4062 21.5156C13.5469 21.1406 13.9688 20.9062 14.3438 21.0469C14.7188 21.1875 14.9531 21.6094 14.8125 22.0312C14.3906 23.2031 13.2656 24 11.9531 24C10.6875 24 9.5625 23.2031 9.14062 22.0312C9 21.6094 9.23438 21.1875 9.60938 21.0469C9.98438 20.9062 10.4062 21.1406 10.5469 21.5156C10.7812 22.125 11.3438 22.5 11.9531 22.5Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t</svg>\n);\n\nexport const NotificationsBellSVG_Green = () => (\n\t<svg\n\t\tattr-width=\"9\"\n\t\tattr-height=\"9\"\n\t\tattr-viewBox=\"0 0 9 9\"\n\t\tattr-fill=\"none\"\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\">\n\t\t<circle attr-cx=\"4.5\" attr-cy=\"4.5\" attr-r=\"4.5\" attr-fill=\"#63DF4E\" />\n\t</svg>\n);\n\nexport const NotificationsBellSVG_NONE = () => (\n\t<svg\n\t\tattr-width=\"9\"\n\t\tattr-height=\"9\"\n\t\tattr-viewBox=\"0 0 9 9\"\n\t\tattr-fill=\"none\"\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\">\n\t\t<circle attr-cx=\"4.5\" attr-cy=\"4.5\" attr-r=\"4.5\" attr-fill=\"\" />\n\t</svg>\n);\n\nexport const NotificationsBellSVGSmall = () => (\n\t<svg\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"16\"\n\t\tattr-height=\"16\"\n\t\tattr-viewBox=\"0 0 16 16\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-d=\"M7.46875 0.5C7.46875 0.25 7.71875 0 7.96875 0C8.25 0 8.5 0.25 8.5 0.5V1.03125C11 1.28125 13 3.40625 13 6V6.9375C13 8.28125 13.5312 9.59375 14.5 10.5625L14.5938 10.6562C14.8438 10.9062 15 11.25 15 11.625C15 12.4062 14.375 13 13.5938 13H2.375C1.59375 13 1 12.4062 1 11.625C1 11.25 1.125 10.9062 1.375 10.6562L1.46875 10.5625C2.4375 9.59375 3 8.28125 3 6.9375V6C3 3.40625 4.96875 1.28125 7.5 1.03125L7.46875 0.5ZM7.96875 2C5.78125 2 3.96875 3.8125 3.96875 6V6.9375C3.96875 8.5625 3.34375 10.125 2.1875 11.2812L2.09375 11.3438C2.03125 11.4375 1.96875 11.5312 1.96875 11.625C1.96875 11.8438 2.15625 12 2.375 12H13.5938C13.8125 12 14 11.8438 14 11.625C14 11.5312 13.9375 11.4375 13.875 11.3438L13.7812 11.2812C12.625 10.125 12 8.5625 12 6.9375V6C12 3.8125 10.1875 2 7.96875 2ZM7.96875 15C8.40625 15 8.78125 14.75 8.9375 14.3438C9.03125 14.0938 9.3125 13.9375 9.5625 14.0312C9.8125 14.125 9.96875 14.4062 9.875 14.6875C9.59375 15.4688 8.84375 16 7.96875 16C7.125 16 6.375 15.4688 6.09375 14.6875C6 14.4062 6.15625 14.125 6.40625 14.0312C6.65625 13.9375 6.9375 14.0938 7.03125 14.3438C7.1875 14.75 7.5625 15 7.96875 15Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t</svg>\n);\n\nexport const TaskSVG = () => (\n\t<svg\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"24\"\n\t\tattr-height=\"24\"\n\t\tattr-viewBox=\"0 0 24 24\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-d=\"M9.79688 3.1875C10.0312 2.25 10.9219 1.5 12 1.5C13.0312 1.5 13.9219 2.25 14.1562 3.1875C14.25 3.5625 14.5312 3.75 14.9062 3.75H15.75C16.125 3.75 16.5 4.125 16.5 4.5V6H7.5V4.5C7.5 4.125 7.82812 3.75 8.25 3.75H9.09375C9.42188 3.75 9.70312 3.5625 9.79688 3.1875ZM12 0C10.4531 0 9.14062 0.9375 8.53125 2.25H8.25C7.26562 2.25 6.42188 2.90625 6.09375 3.75H6C4.3125 3.75 3 5.10938 3 6.75V21C3 22.6875 4.3125 24 6 24H18C19.6406 24 21 22.6875 21 21V6.75C21 5.10938 19.6406 3.75 18 3.75H17.8594C17.5312 2.90625 16.6875 2.25 15.75 2.25H15.4219C14.8594 0.9375 13.5 0 12 0ZM18 5.25C18.7969 5.25 19.5 5.95312 19.5 6.75V21C19.5 21.8438 18.7969 22.5 18 22.5H6C5.15625 22.5 4.5 21.8438 4.5 21V6.75C4.5 5.95312 5.15625 5.25 6 5.25V6C6 6.84375 6.65625 7.5 7.5 7.5H16.5C17.2969 7.5 18 6.84375 18 6V5.25ZM12.75 3.75C12.75 3.1875 12.0938 2.8125 11.625 3.14062C11.3906 3.28125 11.25 3.51562 11.25 3.75C11.25 4.35938 11.8594 4.73438 12.375 4.40625C12.5625 4.26562 12.75 4.03125 12.75 3.75ZM9.375 12.75C9.375 11.9062 8.4375 11.3438 7.6875 11.8125C7.3125 12 7.125 12.375 7.125 12.75C7.125 13.6406 8.0625 14.2031 8.8125 13.7344C9.14062 13.5469 9.375 13.1719 9.375 12.75ZM11.25 12C10.8281 12 10.5 12.375 10.5 12.75C10.5 13.1719 10.8281 13.5 11.25 13.5H15.75C16.125 13.5 16.5 13.1719 16.5 12.75C16.5 12.375 16.125 12 15.75 12H11.25ZM11.25 16.5C10.8281 16.5 10.5 16.875 10.5 17.25C10.5 17.6719 10.8281 18 11.25 18H15.75C16.125 18 16.5 17.6719 16.5 17.25C16.5 16.875 16.125 16.5 15.75 16.5H11.25ZM8.25 18.375C9.09375 18.375 9.65625 17.4375 9.1875 16.6875C9 16.3594 8.625 16.125 8.25 16.125C7.35938 16.125 6.79688 17.0625 7.26562 17.8125C7.45312 18.1875 7.82812 18.375 8.25 18.375Z\"\n\t\t\tattr-fill=\"currentColor\"\n\t\t/>\n\t</svg>\n);\n\nexport const SearchSVG = () => (\n\t<svg\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"24\"\n\t\tattr-height=\"24\"\n\t\tattr-viewBox=\"0 0 24 24\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-d=\"M23.7889 22.7344L17.1261 16.125C18.6276 14.3906 19.4721 12.1875 19.4721 9.75C19.4721 4.40625 15.0616 0 9.71261 0C4.31672 0 0 4.40625 0 9.75C0 15.1406 4.36364 19.5 9.71261 19.5C12.1056 19.5 14.3109 18.6562 16.0469 17.1562L22.6628 23.8125C22.8504 23.9531 23.0381 24 23.2727 24C23.4604 24 23.6481 23.9531 23.7889 23.8125C24.0704 23.5312 24.0704 23.0156 23.7889 22.7344ZM9.75953 18C5.16129 18 1.50147 14.2969 1.50147 9.75C1.50147 5.20312 5.16129 1.5 9.75953 1.5C14.3109 1.5 18.0176 5.20312 18.0176 9.75C18.0176 14.3438 14.3109 18 9.75953 18Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t</svg>\n);\n\nexport const ExternalLinkOpenSVG = () => (\n\t<svg\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"12\"\n\t\tattr-height=\"12\"\n\t\tattr-viewBox=\"0 0 12 12\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-d=\"M7.875 0C7.66406 0 7.5 0.1875 7.5 0.375C7.5 0.585938 7.66406 0.75 7.875 0.75H10.7109L4.96875 6.49219C4.82812 6.63281 4.82812 6.89062 4.96875 7.03125C5.10938 7.17188 5.36719 7.17188 5.50781 7.03125L11.25 1.28906V4.125C11.25 4.33594 11.4141 4.5 11.625 4.5C11.8125 4.5 12 4.33594 12 4.125V0.375C12 0.1875 11.8125 0 11.625 0H7.875ZM1.5 1.5C0.65625 1.5 0 2.17969 0 3V10.5C0 11.3438 0.65625 12 1.5 12H9C9.82031 12 10.5 11.3438 10.5 10.5V7.125C10.5 6.9375 10.3125 6.75 10.125 6.75C9.91406 6.75 9.75 6.9375 9.75 7.125V10.5C9.75 10.9219 9.39844 11.25 9 11.25H1.5C1.07812 11.25 0.75 10.9219 0.75 10.5V3C0.75 2.60156 1.07812 2.25 1.5 2.25H4.875C5.0625 2.25 5.25 2.08594 5.25 1.875C5.25 1.6875 5.0625 1.5 4.875 1.5H1.5Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t</svg>\n);\n\nexport const ChevronUpSVG = () => (\n\t<svg\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"12\"\n\t\tattr-height=\"12\"\n\t\tattr-viewBox=\"0 0 12 12\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-d=\"M6.52666 3.22801C6.24577 2.924 5.75423 2.924 5.47334 3.22801L1.72822 6.96965C1.42393 7.25028 1.42393 7.74137 1.72822 8.02199C2.0091 8.326 2.50065 8.326 2.78153 8.02199L5.9883 4.81821L9.21847 8.02199C9.49935 8.326 9.9909 8.326 10.2718 8.02199C10.5761 7.74137 10.5761 7.25028 10.2718 6.96965L6.52666 3.22801Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t</svg>\n);\n\nexport const ChevronDownSVG = () => (\n\t<svg\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"12\"\n\t\tattr-height=\"12\"\n\t\tattr-viewBox=\"0 0 12 12\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-d=\"M5.47334 8.77199C5.75423 9.076 6.24577 9.076 6.52666 8.77199L10.2718 5.03035C10.5761 4.74972 10.5761 4.25863 10.2718 3.97801C9.9909 3.674 9.49935 3.674 9.21847 3.97801L6.0117 7.18179L2.78153 3.97801C2.50065 3.674 2.0091 3.674 1.72822 3.97801C1.42393 4.25863 1.42393 4.74972 1.72822 5.03035L5.47334 8.77199Z\"\n\t\t\tattr-fill=\"#D7E0E6\"\n\t\t/>\n\t</svg>\n);\n\nexport const ChevronDownIconDark = () => (\n\t<svg\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"13\"\n\t\tattr-height=\"12\"\n\t\tattr-viewBox=\"0 0 13 12\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-d=\"M6.2021 8.77199C6.48299 9.076 6.97453 9.076 7.25542 8.77199L11.0005 5.03035C11.3048 4.74972 11.3048 4.25863 11.0005 3.97801C10.7197 3.674 10.2281 3.674 9.94723 3.97801L6.74046 7.18179L3.51029 3.97801C3.22941 3.674 2.73786 3.674 2.45698 3.97801C2.15269 4.25863 2.15269 4.74972 2.45698 5.03035L6.2021 8.77199Z\"\n\t\t\tattr-fill=\"#4F4F4F\"\n\t\t/>\n\t</svg>\n);\n\nexport const ChevronUpIconDark = () => (\n\t<svg\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"13\"\n\t\tattr-height=\"12\"\n\t\tattr-viewBox=\"0 0 13 12\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-d=\"M7.25517 3.22801C6.97429 2.924 6.48274 2.924 6.20186 3.22801L2.45673 6.96965C2.15244 7.25028 2.15244 7.74137 2.45673 8.02199C2.73762 8.326 3.22917 8.326 3.51005 8.02199L6.71681 4.81821L9.94698 8.02199C10.2279 8.326 10.7194 8.326 11.0003 8.02199C11.3046 7.74137 11.3046 7.25028 11.0003 6.96965L7.25517 3.22801Z\"\n\t\t\tattr-fill=\"#4F4F4F\"\n\t\t/>\n\t</svg>\n);\n\nexport const ChevronDarkSVG = ({direction = 'right'}) => (\n\t<span\n\t\tclassName={`sn-cx-icon${direction === 'left' ? ' sn-cx-icon--rtl' : ''}`}>\n\t\t<svg\n\t\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\t\tattr-width=\"12\"\n\t\t\tattr-height=\"12\"\n\t\t\tattr-viewBox=\"0 0 12 12\"\n\t\t\tattr-fill=\"none\">\n\t\t\t<path\n\t\t\t\tattr-d=\"M4.29021 11.1472C4.19667 11.0769 4.1499 10.9831 4.1499 10.8893C4.1499 10.7955 4.19667 10.7017 4.26683 10.6313L8.49957 6.01172L4.26683 1.36866C4.12652 1.22796 4.12652 0.993461 4.29021 0.852762C4.43053 0.712063 4.66438 0.712063 4.80469 0.876212L9.29467 5.75378C9.43498 5.89448 9.43498 6.10552 9.29467 6.24622L4.80469 11.1238C4.66438 11.2879 4.43053 11.2879 4.29021 11.1472Z\"\n\t\t\t\tattr-fill=\"#1D1D1D\"\n\t\t\t/>\n\t\t</svg>\n\t</span>\n);\n\nexport const TripleBarSVG = () => (\n\t<svg\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"24\"\n\t\tattr-height=\"24\"\n\t\tattr-viewBox=\"0 0 24 24\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-d=\"M1.5 4.5C1.5 4.125 1.82812 3.75 2.25 3.75H21.75C22.125 3.75 22.5 4.125 22.5 4.5C22.5 4.92188 22.125 5.25 21.75 5.25H2.25C1.82812 5.25 1.5 4.92188 1.5 4.5ZM1.5 12C1.5 11.625 1.82812 11.25 2.25 11.25H21.75C22.125 11.25 22.5 11.625 22.5 12C22.5 12.4219 22.125 12.75 21.75 12.75H2.25C1.82812 12.75 1.5 12.4219 1.5 12ZM21.75 20.25H2.25C1.82812 20.25 1.5 19.9219 1.5 19.5C1.5 19.125 1.82812 18.75 2.25 18.75H21.75C22.125 18.75 22.5 19.125 22.5 19.5C22.5 19.9219 22.125 20.25 21.75 20.25Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t</svg>\n);\n\nexport const CloseOutlineSVG = () => (\n\t<svg\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"24\"\n\t\tattr-height=\"24\"\n\t\tattr-viewBox=\"0 0 24 24\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-d=\"M19.2891 19.2891C19.0078 19.5703 18.4922 19.5703 18.2109 19.2891L12.0234 13.0547L5.78906 19.2891C5.50781 19.5703 4.99219 19.5703 4.71094 19.2891C4.42969 19.0078 4.42969 18.4922 4.71094 18.2109L10.9453 11.9766L4.71094 5.78906C4.42969 5.50781 4.42969 4.99219 4.71094 4.71094C4.99219 4.42969 5.50781 4.42969 5.78906 4.71094L12.0234 10.9453L18.2109 4.71094C18.4922 4.42969 19.0078 4.42969 19.2891 4.71094C19.5703 4.99219 19.5703 5.50781 19.2891 5.78906L13.0547 11.9766L19.2891 18.2109C19.5703 18.4922 19.5703 19.0078 19.2891 19.2891Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t</svg>\n);\n\nexport const ArrowSVG = ({direction = 'left'}) => (\n\t<span\n\t\tclassName={`sn-cx-icon${direction === 'right' ? ' sn-cx-icon--rtl' : ''}`}>\n\t\t<svg\n\t\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\t\tattr-width=\"24\"\n\t\t\tattr-height=\"24\"\n\t\t\tattr-viewBox=\"0 0 24 24\"\n\t\t\tattr-fill=\"none\">\n\t\t\t<path\n\t\t\t\tattr-d=\"M22.5 11.9855C22.5 12.4081 22.1254 12.7367 21.704 12.7367H4.05184L10.607 19.7793C10.888 20.061 10.888 20.5305 10.5602 20.8122C10.4197 20.9531 10.2324 21 10.0452 21C9.81104 21 9.62375 20.9531 9.48328 20.7652L1.7107 12.502C1.42977 12.2203 1.42977 11.7977 1.7107 11.516L9.48328 3.2527C9.76421 2.92404 10.2324 2.92404 10.5602 3.20575C10.888 3.48745 10.888 3.95696 10.607 4.23866L4.05184 11.2343H21.704C22.1254 11.2343 22.5 11.6099 22.5 11.9855Z\"\n\t\t\t\tattr-fill=\"white\"\n\t\t\t/>\n\t\t</svg>\n\t</span>\n);\n\nexport const ExternalLinkSVG = ({fill, width, height}) => (\n\t<svg\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width={width || '16'}\n\t\tattr-height={height || '16'}\n\t\tattr-viewBox=\"0 0 16 16\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-d=\"M10.5 0C10.2188 0 10 0.25 10 0.5C10 0.78125 10.2188 1 10.5 1H14.2812L6.625 8.65625C6.4375 8.84375 6.4375 9.1875 6.625 9.375C6.8125 9.5625 7.15625 9.5625 7.34375 9.375L15 1.71875V5.5C15 5.78125 15.2188 6 15.5 6C15.75 6 16 5.78125 16 5.5V0.5C16 0.25 15.75 0 15.5 0H10.5ZM2 2C0.875 2 0 2.90625 0 4V14C0 15.125 0.875 16 2 16H12C13.0938 16 14 15.125 14 14V9.5C14 9.25 13.75 9 13.5 9C13.2188 9 13 9.25 13 9.5V14C13 14.5625 12.5312 15 12 15H2C1.4375 15 1 14.5625 1 14V4C1 3.46875 1.4375 3 2 3H6.5C6.75 3 7 2.78125 7 2.5C7 2.25 6.75 2 6.5 2H2Z\"\n\t\t\tattr-fill={fill}\n\t\t/>\n\t</svg>\n);\n\nexport const ChevronDownLightSVG = () => (\n\t<svg\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"12\"\n\t\tattr-height=\"12\"\n\t\tattr-viewBox=\"0 0 12 12\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-d=\"M0.852762 4.2981C0.923112 4.2043 1.01691 4.1574 1.13416 4.1574C1.20451 4.1574 1.29831 4.18085 1.36866 4.2512L5.98828 8.49562L10.6313 4.2512C10.772 4.1105 11.0065 4.1105 11.1472 4.27465C11.2879 4.41535 11.2879 4.64985 11.1238 4.79055L6.24622 9.29291C6.10552 9.43361 5.89448 9.43361 5.75378 9.29291L0.876212 4.79055C0.712063 4.6733 0.712063 4.4388 0.852762 4.2981Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t</svg>\n);\n\nexport const AngleDownSVG = () => (\n\t<svg\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"24\"\n\t\tattr-height=\"24\"\n\t\tattr-viewBox=\"0 0 24 24\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-d=\"M19.9975 9.5344L12.5394 16.2889C12.258 16.5704 11.8358 16.5704 11.5544 16.2889L4.00246 9.5344C3.67412 9.25296 3.67412 8.7839 3.95555 8.50246C4.23699 8.17412 4.70606 8.17412 4.98749 8.45555L12.0235 14.741L19.0125 8.45555C19.2939 8.17412 19.763 8.17412 20.0444 8.50246C20.3259 8.7839 20.3259 9.25296 19.9975 9.5344Z\"\n\t\t\tattr-fill=\"#1D1D1D\"\n\t\t/>\n\t</svg>\n);\n\nexport const AngleUpSVG = () => (\n\t<svg\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"24\"\n\t\tattr-height=\"24\"\n\t\tattr-viewBox=\"0 0 24 24\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-d=\"M20.0537 15.4975C19.7721 15.8259 19.3028 15.8259 19.0212 15.5444L12.0282 9.25899L4.9882 15.5444C4.7066 15.8259 4.23727 15.8259 3.95567 15.4975C3.67407 15.2161 3.67407 14.7001 4.0026 14.4656L11.465 7.71108C11.7466 7.42964 12.169 7.42964 12.4506 7.71108L19.9129 14.4656C20.3353 14.7001 20.3353 15.2161 20.0537 15.4975Z\"\n\t\t\tattr-fill=\"#1D1D1D\"\n\t\t/>\n\t</svg>\n);\n\nexport const BackButtonSVG = () => (\n\t<svg\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"24\"\n\t\tattr-height=\"24\"\n\t\tattr-viewBox=\"0 0 24 24\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-d=\"M22.5 11.9855C22.5 12.4081 22.1254 12.7367 21.704 12.7367H4.05184L10.607 19.7793C10.888 20.061 10.888 20.5305 10.5602 20.8122C10.4197 20.9531 10.2324 21 10.0452 21C9.81104 21 9.62375 20.9531 9.48328 20.7652L1.7107 12.502C1.42977 12.2203 1.42977 11.7977 1.7107 11.516L9.48328 3.2527C9.76421 2.92404 10.2324 2.92404 10.5602 3.20575C10.888 3.48745 10.888 3.95696 10.607 4.23866L4.05184 11.2343H21.704C22.1254 11.2343 22.5 11.6099 22.5 11.9855Z\"\n\t\t\tattr-fill=\"currentColor\"\n\t\t/>\n\t</svg>\n);\n\nexport const XMarkSVG = () => (\n\t<svg\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"24\"\n\t\tattr-height=\"24\"\n\t\tattr-viewBox=\"0 0 24 24\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-d=\"M19.2891 19.2891C19.0078 19.5703 18.4922 19.5703 18.2109 19.2891L12.0234 13.0547L5.78906 19.2891C5.50781 19.5703 4.99219 19.5703 4.71094 19.2891C4.42969 19.0078 4.42969 18.4922 4.71094 18.2109L10.9453 11.9766L4.71094 5.78906C4.42969 5.50781 4.42969 4.99219 4.71094 4.71094C4.99219 4.42969 5.50781 4.42969 5.78906 4.71094L12.0234 10.9453L18.2109 4.71094C18.4922 4.42969 19.0078 4.42969 19.2891 4.71094C19.5703 4.99219 19.5703 5.50781 19.2891 5.78906L13.0547 11.9766L19.2891 18.2109C19.5703 18.4922 19.5703 19.0078 19.2891 19.2891Z\"\n\t\t\tattr-fill=\"currentColor\"\n\t\t/>\n\t</svg>\n);\n\nexport const ChevronUpLightSVG = () => (\n\t<svg\n\t\tattr-xmlns=\"http://www.w3.org/2000/svg\"\n\t\tattr-width=\"12\"\n\t\tattr-height=\"12\"\n\t\tattr-viewBox=\"0 0 12 12\"\n\t\tattr-fill=\"none\">\n\t\t<path\n\t\t\tattr-d=\"M11.1472 7.7019C11.0769 7.7957 10.9831 7.8426 10.8658 7.8426C10.7955 7.8426 10.7017 7.81915 10.6313 7.7488L6.01172 3.50438L1.36866 7.7488C1.22796 7.8895 0.993462 7.8895 0.852763 7.72535C0.712064 7.58465 0.712064 7.35015 0.876213 7.20945L5.75378 2.70709C5.89448 2.56639 6.10552 2.56639 6.24622 2.70709L11.1238 7.20945C11.2879 7.3267 11.2879 7.5612 11.1472 7.7019Z\"\n\t\t\tattr-fill=\"white\"\n\t\t/>\n\t</svg>\n);\n","import {createInteractionHandler, createHoverHandler} from '../utils';\nimport {\n\tPRIMARY_MENUITEM_FOCUS_REQUESTED,\n\tPRIMARY_MENUITEM_BLUR_REQUESTED,\n\tMENU_ITEM_CLICKED\n} from '../actions';\nimport {\n\tChevronUpSVG,\n\tChevronDownSVG,\n\tChevronSVG,\n\tArrowSVG\n} from './IconSVGComponents';\nimport isEmpty from 'lodash/isEmpty';\nimport {tabIndexIfNotDesktop, getDirectionProps} from './helpers';\n\n/**\n * Renders a single Primary Navigation Menu Item\n * @param {Object} props - Component props\n * @param {Object} props.item - Navigation menu item details\n * @param {Object} props.state - Component state\n * @param {Function} props.dispatch - Dispatch function for handling menu actions\n */\nconst PrimaryMenuItem = ({item, state, dispatch, isDesktop}) => {\n\tconst {\n\t\tpopupMenuContext = {},\n\t\tfocusedMenuItem,\n\t\tproperties: {dir} = {}\n\t} = state;\n\tconst {opened = false, item: activePrimaryMenu = {}} = popupMenuContext;\n\n\t// Determines if this menu item is currently expanded\n\tconst isExpanded = opened && activePrimaryMenu?.sysID === item?.sysID;\n\n\tconst {forwardDirection: chevronDirection, backDirection} = getDirectionProps(\n\t\tdir\n\t);\n\n\t// Determines if this menu item is hovered\n\tconst isHover =\n\t\t!isEmpty(focusedMenuItem) && focusedMenuItem.sysID === item.sysID;\n\n\t/**\n\t * Handles click event on the menu item\n\t * @param {Object} item - The clicked menu item\n\t */\n\tconst handleMenuClick = (item) => (e) => {\n\t\te.preventDefault();\n\t\tdispatch(MENU_ITEM_CLICKED, {item, isExpanded, eventType: e?.type});\n\t};\n\n\t/**\n\t * Handles back click event on the menu item, blurs the item\n\t * @param {Object} item - The clicked menu item\n\t */\n\tconst handleMenuBackClick = (item) => (e) => {\n\t\te.preventDefault();\n\t\tdispatch(MENU_ITEM_CLICKED, {item, isExpanded});\n\t\tdispatch(PRIMARY_MENUITEM_BLUR_REQUESTED, {item}, {event: e});\n\t};\n\n\t/**\n\t * Handles focus event on the menu item\n\t * @param {Object} item - The menu item to focus\n\t */\n\tconst handleFocus = (item) => (e) => {\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\t\tdispatch(PRIMARY_MENUITEM_FOCUS_REQUESTED, {item}, {event: e});\n\t};\n\n\t/**\n\t * Handles blur event on the menu item\n\t * @param {Object} item - The menu item losing focus\n\t */\n\tconst handleBlur = (item) => (e) => {\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\t\t// blur the primary menu button on mouse leave of Menu Menu\n\t\tif (e.type !== 'blur') {\n\t\t\te.target.blur();\n\t\t}\n\t\tdispatch(PRIMARY_MENUITEM_BLUR_REQUESTED, {item}, {event: e});\n\t};\n\n\treturn (\n\t\t<li\n\t\t\tclassName={[\n\t\t\t\t'sn-cx-navigation__primary-menu-item',\n\t\t\t\tisHover && !isExpanded ? '--hover' : '',\n\t\t\t\tisExpanded ? '--active' : ''\n\t\t\t]\n\t\t\t\t.join(' ')\n\t\t\t\t.trim()}\n\t\t\trole=\"none\">\n\t\t\t<button\n\t\t\t\tid={item?.sysID}\n\t\t\t\tclassName=\"sn-cx-navigation__primary-menu-button\"\n\t\t\t\taria-label={item?.label}\n\t\t\t\taria-haspopup=\"true\"\n\t\t\t\taria-expanded={isExpanded}\n\t\t\t\t{...tabIndexIfNotDesktop(isDesktop)}\n\t\t\t\t{...createInteractionHandler(handleMenuClick(item))}\n\t\t\t\t{...createHoverHandler(handleFocus(item), handleBlur(item))}>\n\t\t\t\t{/* Menu Item Label */}\n\t\t\t\t<span className=\"sn-cx-navigation__primary-menu-text\">\n\t\t\t\t\t{item?.label}\n\t\t\t\t</span>\n\t\t\t\t{/* Expand/Collapse Icon */}\n\t\t\t\t<span className=\"sn-cx-navigation__primary-menu-icon\">\n\t\t\t\t\t{isExpanded ? <ChevronUpSVG /> : <ChevronDownSVG />}\n\t\t\t\t</span>\n\t\t\t\t<span\n\t\t\t\t\tclassName=\"sn-cx-navigation__primary-menu-icon__mobile\"\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\trole={isExpanded ? 'button' : 'none'}\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\t{...(isExpanded\n\t\t\t\t\t\t? createInteractionHandler(handleMenuBackClick(item))\n\t\t\t\t\t\t: null)}>\n\t\t\t\t\t{isExpanded ? (\n\t\t\t\t\t\t<ArrowSVG direction={backDirection} />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<ChevronSVG direction={chevronDirection} />\n\t\t\t\t\t)}\n\t\t\t\t</span>\n\t\t\t</button>\n\n\t\t\t{/* Active/Hover Indicator */}\n\t\t\t<span\n\t\t\t\tclassName={[\n\t\t\t\t\t'sn-cx-navigation__primary-menu-item-indicator',\n\t\t\t\t\tisHover && !isExpanded ? '--hover' : '--hover-out',\n\t\t\t\t\tisExpanded ? '--active' : ''\n\t\t\t\t]\n\t\t\t\t\t.join(' ')\n\t\t\t\t\t.trim()}\n\t\t\t/>\n\t\t</li>\n\t);\n};\n\nexport default PrimaryMenuItem;\n","import PrimaryMenuItem from './PrimaryMenuItem';\nimport {PRIMARY_MENU} from './constants';\n\n/**\n * Renders the list of primary navigation menu items\n * @param {Object} props - Component props\n * @param {Object} props.state - Application state\n * @param {Array} props.items - List of primary menu items\n * @param {Function} props.dispatch - Function to dispatch actions\n */\nconst PrimaryMenuList = ({state, items, dispatch, isDesktop}) => {\n\treturn (\n\t\t<ul\n\t\t\tclassName=\"sn-cx-navigation__primary-menu-list\"\n\t\t\trole=\"menubar\"\n\t\t\taria-label={PRIMARY_MENU}>\n\t\t\t{items\n\t\t\t\t?.filter((item) => item?.show)\n\t\t\t\t.map(renderMenuItem(state, dispatch, isDesktop))}\n\t\t</ul>\n\t);\n};\n\n/**\n * Renders a single menu item (Helper function for better readability)\n * @param {Object} state - Application state\n * @param {Function} dispatch - Dispatch function for actions\n * @returns {Function} - Function that renders a `PrimaryMenuItem`\n */\nconst renderMenuItem = (state, dispatch, isDesktop) => (item) => (\n\t<PrimaryMenuItem\n\t\tkey={item?.sysID}\n\t\titem={item}\n\t\tstate={state}\n\t\tdispatch={dispatch}\n\t\tisDesktop={isDesktop}\n\t/>\n);\n\nexport default PrimaryMenuList;\n","import {t} from 'sn-translate';\nimport get from 'lodash/get';\nimport {createInteractionHandler} from '../utils';\nimport {tabIndexIfNotDesktop} from './helpers';\nimport {\n\tSN_CX_NAVIGATION_LANGUAGE_SELECTED,\n\tTRACK_ANALYTICS_CLICKED\n} from '../actions';\nimport {ANALYTICS_COMPONENTS_ID} from '../utils/analytics-tracking';\n\n/**\n * Handles language selection logic\n * @param {Function} dispatch - Dispatch function\n * @param {string} activeLanguage - Currently active language\n * @param {Object} region - Language region\n * @returns {Function} - Event handler function\n */\nconst handleLanguageSelection = (dispatch, activeLanguage, region = '') => (\n\tlanguage\n) => (e) => {\n\te.stopPropagation();\n\te.preventDefault();\n\n\tconst {languageCode, name} = language;\n\tconst isActiveLangClicked =\n\t\tlanguageCode.toLowerCase() === activeLanguage.toLowerCase();\n\n\tif (!isActiveLangClicked) {\n\t\tdispatch(SN_CX_NAVIGATION_LANGUAGE_SELECTED, {\n\t\t\tcode: languageCode,\n\t\t\tname\n\t\t});\n\t\tdispatch(TRACK_ANALYTICS_CLICKED, {\n\t\t\telement: {text: `language dropdown:${region}`},\n\t\t\tsection: ANALYTICS_COMPONENTS_ID.LANGUAGE_SELECTED\n\t\t});\n\t}\n};\n\n/**\n * Determines the state of a language item (active/disabled)\n * @param {boolean} isLanguageDisabled - Whether the language is disabled\n * @param {string} languageCode - The language code\n * @param {string} activeLanguage - The currently active language\n * @returns {string} - CSS class names for the item state\n */\nconst getLanguageItemState = (\n\tisLanguageDisabled,\n\tlanguageCode,\n\tactiveLanguage\n) => {\n\tlet state = '';\n\tif (isLanguageDisabled) {\n\t\tstate += '--disabled';\n\t} else if (languageCode.toLowerCase() === activeLanguage.toLowerCase()) {\n\t\tstate += '--active';\n\t}\n\treturn state.trim();\n};\n\n/**\n * Renders a single language item\n */\nconst renderLanguageItem = (\n\tregion,\n\tlanguage,\n\tactiveLanguage,\n\tdispatch,\n\tfocusState,\n\tisDesktop,\n\tpopupMenuContext = {}\n) => {\n\tconst {disabled: isLanguageDisabled, languageCode, id, name} = language;\n\tconst {eventType} = popupMenuContext;\n\tconst shouldFocus =\n\t\t!isLanguageDisabled &&\n\t\t!focusState.hasFocusedFirst &&\n\t\tisDesktop &&\n\t\teventType === 'keydown';\n\tif (shouldFocus) {\n\t\tfocusState.hasFocusedFirst = true;\n\t}\n\n\treturn (\n\t\t<li\n\t\t\tclassName=\"sn-cx-navigation__language-menu__item\"\n\t\t\tid={id}\n\t\t\thook-insert={({elm}) => {\n\t\t\t\tif (shouldFocus) {\n\t\t\t\t\tconst langItem = get(elm, ['children', '0']);\n\t\t\t\t\tlangItem?.focus();\n\t\t\t\t}\n\t\t\t}}\n\t\t\trole=\"none\"\n\t\t\tkey={id}>\n\t\t\t<a\n\t\t\t\trole=\"option\"\n\t\t\t\thref=\"/\"\n\t\t\t\taria-selected={activeLanguage === languageCode ? 'true' : 'false'}\n\t\t\t\taria-label={name}\n\t\t\t\t{...tabIndexIfNotDesktop(isDesktop)}\n\t\t\t\tclassName={`sn-cx-navigation__language-menu__item__name ${getLanguageItemState(\n\t\t\t\t\tisLanguageDisabled,\n\t\t\t\t\tlanguageCode,\n\t\t\t\t\tactiveLanguage\n\t\t\t\t)}`}\n\t\t\t\t{...(isLanguageDisabled ? {tabIndex: '-1'} : {})}\n\t\t\t\t{...createInteractionHandler(\n\t\t\t\t\thandleLanguageSelection(dispatch, activeLanguage, region)(language)\n\t\t\t\t)}>\n\t\t\t\t{name}\n\t\t\t</a>\n\t\t</li>\n\t);\n};\n\n/**\n * Language Menu Item Component\n */\nconst LanguageMenuItem = ({\n\tlanguageRegion = {},\n\tactiveLanguage = '',\n\tlanguageMap = {},\n\tdispatch,\n\tfocusState,\n\tisDesktop = true,\n\tpopupMenuContext\n}) => {\n\tconst {languages, id, region} = languageRegion;\n\tconst activeLocale =\n\t\tObject.keys(languageMap).find(\n\t\t\t(locale) => languageMap[locale] === activeLanguage\n\t\t) || activeLanguage;\n\n\treturn (\n\t\t<section\n\t\t\tid={id}\n\t\t\tclassName=\"sn-cx-navigation__language-menu__region\"\n\t\t\taria-label={t(`${region} language items`)}>\n\t\t\t{region && (\n\t\t\t\t<h4\n\t\t\t\t\tclassName=\"sn-cx-navigation__language-menu__region__heading\"\n\t\t\t\t\taria-label={t('language region heading')}>\n\t\t\t\t\t{region}\n\t\t\t\t</h4>\n\t\t\t)}\n\t\t\t<ul\n\t\t\t\tclassName=\"sn-cx-navigation__language-menu__region__language-item-list\"\n\t\t\t\taria-label={t('region based language items list')}\n\t\t\t\trole=\"listbox\">\n\t\t\t\t{languages?.map((language) =>\n\t\t\t\t\trenderLanguageItem(\n\t\t\t\t\t\tregion,\n\t\t\t\t\t\tlanguage,\n\t\t\t\t\t\tactiveLocale,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tfocusState,\n\t\t\t\t\t\tisDesktop,\n\t\t\t\t\t\tpopupMenuContext\n\t\t\t\t\t)\n\t\t\t\t)}\n\t\t\t</ul>\n\t\t</section>\n\t);\n};\n\nexport default LanguageMenuItem;\n","import {t} from 'sn-translate';\nimport LanguageMenuItem from './LanguageMenuItem';\nimport {BackButtonSVG, XMarkSVG, InfoSVGComponent} from './IconSVGComponents';\nimport isEmpty from 'lodash/isEmpty';\nimport {LANGUAGE_SELECTOR_ELEMENT_REF_UPDATED} from '../actions';\nimport {handleUtilityButtonClick} from './UtilityItem';\nimport {createInteractionHandler} from '../utils';\nimport {tabIndexIfNotDesktop} from './helpers';\n\n/**\n * Determines if the language selector should be displayed\n * @param {Object} popupMenuContext - Popup menu state\n * @param {string} languageUtilitySysId - Language utility system ID\n * @returns {boolean} - Whether the language selector should be shown\n */\nconst shouldShowLanguageSelector = (popupMenuContext, languageUtilitySysId) =>\n\t!isEmpty(popupMenuContext) &&\n\tpopupMenuContext.opened &&\n\tlanguageUtilitySysId === popupMenuContext.item.sysID;\n\n/**\n * Handles the language menu element reference update\n * @param {Function} dispatch - Dispatch function\n */\nconst handleLanguageMenuRefUpdate = (dispatch) => ({elm}) => {\n\tdispatch(LANGUAGE_SELECTOR_ELEMENT_REF_UPDATED, {langSelectorRef: elm});\n};\n\n/**\n * Renders the disabled language alert section\n */\nconst DisabledLanguageAlert = ({showDisabledAlertMsg, disabledLanguageMsg}) =>\n\tshowDisabledAlertMsg && (\n\t\t<section\n\t\t\taria-label={t('Disabled language message section')}\n\t\t\tclassName=\"sn-cx-navigation__language-menu__disbaled-lang-text-section\">\n\t\t\t<div\n\t\t\t\tclassName=\"sn-cx-navigation__language-menu__disbaled-lang-text-container\"\n\t\t\t\taria-label={t('Disabled language message container')}>\n\t\t\t\t<span\n\t\t\t\t\tclassName=\"sn-cx-navigation__language-menu__disbaled-lang-icon\"\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\taria-label={t('Disabled language message icon')}>\n\t\t\t\t\t<InfoSVGComponent />\n\t\t\t\t</span>\n\t\t\t\t<p\n\t\t\t\t\tclassName=\"sn-cx-navigation__language-menu__disbaled-lang-text\"\n\t\t\t\t\taria-label={t('Disabled language text')}>\n\t\t\t\t\t{disabledLanguageMsg}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t</section>\n\t);\n\nconst LanguageMenuHeader = ({handleReturn, handleClose, isDesktop}) => {\n\treturn (\n\t\t<section\n\t\t\taria-label={t('Language Groups')}\n\t\t\tclassName=\"sn-cx-navigation__language-menu__header\">\n\t\t\t<button\n\t\t\t\tclassName=\"sn-cx-navigation__language-menu__header__btn-return\"\n\t\t\t\t{...tabIndexIfNotDesktop(isDesktop)}\n\t\t\t\t{...handleReturn}>\n\t\t\t\t<BackButtonSVG />\n\t\t\t</button>\n\t\t\t<h2 className=\"sn-cx-navigation__language-menu__header__text\">\n\t\t\t\t{t('Region')}\n\t\t\t</h2>\n\t\t\t<button\n\t\t\t\tclassName=\"sn-cx-navigation__language-menu__header__btn-close\"\n\t\t\t\t{...tabIndexIfNotDesktop(isDesktop)}\n\t\t\t\t{...handleClose}>\n\t\t\t\t<XMarkSVG />\n\t\t\t</button>\n\t\t</section>\n\t);\n};\n\n/**\n * Language Menu Component\n */\nconst LanguageMenu = ({\n\titem,\n\tdispatch,\n\tpopupMenuContext,\n\tactiveLanguage,\n\tisDesktop = true\n}) => {\n\tconst {\n\t\tdisabledLanguageMsg,\n\t\tshowDisabledAlertMsg,\n\t\titems: languageRegions,\n\t\tlanguageMap,\n\t\tsysID: languageUtilitySysId\n\t} = item;\n\tconst showLanguageSelector = shouldShowLanguageSelector(\n\t\tpopupMenuContext,\n\t\tlanguageUtilitySysId\n\t);\n\tconst focusState = {hasFocusedFirst: false};\n\n\treturn (\n\t\t<div\n\t\t\tclassName={[\n\t\t\t\t'sn-cx-navigation__language-menu__container',\n\t\t\t\tshowLanguageSelector ? '-is-open' : ''\n\t\t\t]\n\t\t\t\t.join(' ')\n\t\t\t\t.trim()}\n\t\t\thook-insert={handleLanguageMenuRefUpdate(dispatch)}>\n\t\t\t<section\n\t\t\t\taria-label={t('Language Groups')}\n\t\t\t\tclassName=\"sn-cx-navigation__language-menu__languagegroups\">\n\t\t\t\t{languageRegions.map((languageRegion) => (\n\t\t\t\t\t<LanguageMenuItem\n\t\t\t\t\t\tkey={languageRegion?.sysID}\n\t\t\t\t\t\tlanguageRegion={languageRegion}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tactiveLanguage={activeLanguage}\n\t\t\t\t\t\tlanguageMap={languageMap}\n\t\t\t\t\t\tpopupMenuContext={popupMenuContext}\n\t\t\t\t\t\tlanguageUtilitySysId={languageUtilitySysId}\n\t\t\t\t\t\tfocusState={focusState}\n\t\t\t\t\t\tisDesktop={isDesktop}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</section>\n\t\t\t<DisabledLanguageAlert\n\t\t\t\tshowDisabledAlertMsg={showDisabledAlertMsg}\n\t\t\t\tdisabledLanguageMsg={disabledLanguageMsg}\n\t\t\t/>\n\t\t\t<LanguageMenuHeader\n\t\t\t\thandleReturn={createInteractionHandler(\n\t\t\t\t\thandleUtilityButtonClick(dispatch, item, true, false)\n\t\t\t\t)}\n\t\t\t\thandleClose={createInteractionHandler(\n\t\t\t\t\thandleUtilityButtonClick(dispatch, item, true, true)\n\t\t\t\t)}\n\t\t\t\tisDesktop={isDesktop}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nexport default LanguageMenu;\n","import {t} from 'sn-translate';\nimport {BackButtonSVG, XMarkSVG} from './IconSVGComponents';\nimport {createInteractionHandler} from '../utils';\nimport {handleUtilityButtonClick} from './UtilityItem';\nimport {NOTIFICATION_DROPDOWN_ELEMENT_REF_UPDATED} from '../actions';\n\nconst NotificationMenuHeader = ({handleReturn, handleClose}) => {\n\treturn (\n\t\t<section className=\"sn-cx-navigation__notification-menu__header\">\n\t\t\t<button\n\t\t\t\tclassName=\"sn-cx-navigation__notification-menu__header__btn-return\"\n\t\t\t\taria-label={t('Back to menu')}\n\t\t\t\ttabindex=\"-1\"\n\t\t\t\t{...handleReturn}>\n\t\t\t\t<BackButtonSVG />\n\t\t\t</button>\n\t\t\t<h2 className=\"sn-cx-navigation__notification-menu__header__text\">\n\t\t\t\t{t('Notifications')}\n\t\t\t</h2>\n\t\t\t<button\n\t\t\t\ttabindex=\"-1\"\n\t\t\t\tclassName=\"sn-cx-navigation__notification-menu__header__btn-close\"\n\t\t\t\t{...handleClose}>\n\t\t\t\t<XMarkSVG />\n\t\t\t</button>\n\t\t</section>\n\t);\n};\n\nconst handleNotificationListRefUpdate = (dispatch, popupMenuContext) => ({\n\telm\n}) => {\n\tdispatch(NOTIFICATION_DROPDOWN_ELEMENT_REF_UPDATED, {\n\t\tnotificationListRef: elm,\n\t\tpopupMenuContext\n\t});\n};\n\n/**\n * Notification Tray to show the notifications. Use the slot=\"notification-tray\" to compose\n *  with the sn-cx-navigation in macroponent composition.\n * @param {Boolean} props.expanded\n * @returns\n */\nexport const NotificationMenu = ({\n\tdispatch,\n\titem,\n\texpanded,\n\tpopupMenuContext\n}) => {\n\treturn (\n\t\t<div\n\t\t\thook-insert={handleNotificationListRefUpdate(dispatch, popupMenuContext)}\n\t\t\tclassName={`sn-cx-navigation__notification-menu ${expanded &&\n\t\t\t\t'-is-open'}`}>\n\t\t\t<NotificationMenuHeader\n\t\t\t\thandleReturn={createInteractionHandler(\n\t\t\t\t\thandleUtilityButtonClick(dispatch, item, true, false)\n\t\t\t\t)}\n\t\t\t\thandleClose={createInteractionHandler(\n\t\t\t\t\thandleUtilityButtonClick(dispatch, item, true, true)\n\t\t\t\t)}\n\t\t\t/>\n\t\t\t<slot name=\"notification-tray\">\n\t\t\t\t<div>\n\t\t\t\t\t<button>Sample 1</button>\n\t\t\t\t\t<button>Sample 1</button>\n\t\t\t\t\t<button>Sample 1</button>\n\t\t\t\t\t<button>Sample 1</button>\n\t\t\t\t\t<button>Sample 1</button>\n\t\t\t\t\t<button>Sample 1</button>\n\t\t\t\t\t<button>Sample 1</button>\n\t\t\t\t\t<button>Sample 1</button>\n\t\t\t\t\t<button>Sample 1</button>\n\t\t\t\t\t<button>Sample 1</button>\n\t\t\t\t\t<button>Sample 1</button>\n\t\t\t\t\t<button>Sample 2</button>\n\t\t\t\t</div>\n\t\t\t</slot>\n\t\t</div>\n\t);\n};\n\nexport default NotificationMenu;\n","import {actionTypes} from '@servicenow/ui-core';\nimport {createAmbSubscriptionEffect} from '@servicenow/ui-effect-amb';\nimport {createGraphQLEffect} from '@servicenow/ui-effect-graphql';\nimport {createHttpEffect} from '@servicenow/ui-effect-http';\nimport get from 'lodash/get';\nconst {\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DISCONNECTED\n} = actionTypes;\n\nconst RECORD_WATCHER_ACTIONS = {\n\tSUBSCRIBED_STARTED: 'SN_CX_BADGE_CONNECTED#RECORD_WATCHER_SUBSCRIBE_STARTED',\n\tSUBSCRIBED: 'SN_CX_BADGE_CONNECTED#RECORD_WATCHER_SUBSCRIBED',\n\tSUBSCRIBED_FAILED: 'SN_CX_BADGE_CONNECTED#RECORD_WATCHER_SUBSCRIBE_FAILED',\n\tUNSUBSCRIBED: 'SN_CX_BADGE_CONNECTED#RECORD_WATCHER_UNSUBSCRIBED',\n\tITEM_CHANGED: 'SN_CX_BADGE_CONNECTED#RECORD_WATCHER_ITEM_CHANGED',\n\tSUBSCRIPTION_CHANGED:\n\t\t'SN_CX_BADGE_CONNECTED#RECORD_WATCHER_SUBSCRIPTION_CHANGED'\n};\n\nconst AGGREGATE_COUNT_ACTIONS = {\n\tFETCH: 'SN_CX_BADGE_CONNECTED#AGGREGATE_COUNT_FETCH',\n\tSTARTED: 'SN_CX_BADGE_CONNECTED#AGGREGATE_COUNT_STARTED',\n\tSUCCEEDED: 'SN_CX_BADGE_CONNECTED#AGGREGATE_COUNT_SUCCEEDED',\n\tFAILED: 'SN_CX_BADGE_CONNECTED#AGGREGATE_COUNT_FAILED'\n};\n\nconst REST_COUNT_ACTIONS = {\n\tFETCH: 'SN_CX_BADGE_CONNECTED#REST_COUNT_FETCH',\n\tSTARTED: 'SN_CX_BADGE_CONNECTED#REST_COUNT_STARTED',\n\tSUCCEEDED: 'SN_CX_BADGE_CONNECTED#REST_COUNT_SUCCEEDED',\n\tFAILED: 'SN_CX_BADGE_CONNECTED#REST_COUNT_FAILED'\n};\n\nconst aggregateCountQuery = `query($table: String!, $filter: String!) {\n    GlideAggregate_Query(tableName: $table, queryConditions: $filter) {\n      count\n    }\n  }`;\n\nconst fetchAggregateCountEffect = createGraphQLEffect(aggregateCountQuery, {\n\tvariableList: ['table', 'filter'],\n\tstartActionType: AGGREGATE_COUNT_ACTIONS.STARTED,\n\tsuccessActionType: AGGREGATE_COUNT_ACTIONS.SUCCEEDED,\n\terrorActionType: AGGREGATE_COUNT_ACTIONS.FAILED\n});\n\nconst recordWatcherHandler = createAmbSubscriptionEffect(\n\t'/rw/count/:table/:filter',\n\t{\n\t\tsubscribeStartedActionType: RECORD_WATCHER_ACTIONS.SUBSCRIBED_STARTED,\n\t\tsubscribeSucceededActionType: RECORD_WATCHER_ACTIONS.SUBSCRIBED,\n\t\tsubscribeFailedActionType: RECORD_WATCHER_ACTIONS.SUBSCRIBED_FAILED,\n\t\tunsubscribeSucceededActionType: RECORD_WATCHER_ACTIONS.UNSUBSCRIBED,\n\t\tmessageReceivedActionType: RECORD_WATCHER_ACTIONS.ITEM_CHANGED\n\t}\n);\n\nconst getSubscriptionArgs = (table, filter, subscribe) => ({\n\tsubscribe,\n\ttable,\n\tfilter: btoa(filter).replace(/=/g, '-')\n});\n\nconst clearNotificationCount = ({effects, coeffects}) => {\n\tconst {configurations} = coeffects.properties;\n\tconst {clearNotificationDataEndPoint} = configurations;\n\tconst httpEffect = createHttpEffect(clearNotificationDataEndPoint, {\n\t\tmethod: 'POST',\n\t\tdataParam: 'data'\n\t});\n\treturn {\n\t\tcoeffects,\n\t\teffects: [\n\t\t\t...effects,\n\t\t\t{\n\t\t\t\t...httpEffect,\n\t\t\t\targs: [...httpEffect.args, coeffects]\n\t\t\t}\n\t\t]\n\t};\n};\n\nconst clearTaskCount = ({effects, coeffects}) => {\n\tconst {configurations} = coeffects.properties;\n\tconst {clearTaskDataEndPoint} = configurations;\n\tconst httpEffect = createHttpEffect(clearTaskDataEndPoint, {\n\t\tmethod: 'POST',\n\t\tdataParam: 'data'\n\t});\n\treturn {\n\t\tcoeffects,\n\t\teffects: [\n\t\t\t...effects,\n\t\t\t{\n\t\t\t\t...httpEffect,\n\t\t\t\targs: [...httpEffect.args, coeffects]\n\t\t\t}\n\t\t]\n\t};\n};\n\nconst getHTTPInterceptor = ({effects, coeffects}) => {\n\tconst {configurations} = coeffects.properties;\n\tconst {dataEndPoint} = configurations;\n\tconst httpEffect = createHttpEffect(dataEndPoint, {\n\t\tmethod: 'GET',\n\t\tbatch: true,\n\t\tstartActionType: REST_COUNT_ACTIONS.STARTED,\n\t\tsuccessActionType: REST_COUNT_ACTIONS.SUCCEEDED,\n\t\terrorActionType: REST_COUNT_ACTIONS.FAILED\n\t});\n\treturn {\n\t\tcoeffects,\n\t\teffects: [\n\t\t\t...effects,\n\t\t\t{\n\t\t\t\t...httpEffect,\n\t\t\t\targs: [...httpEffect.args, coeffects]\n\t\t\t}\n\t\t]\n\t};\n};\n\nconst lifeCycleActionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: ({properties, dispatch}) => {\n\t\t\tconst {configurations, type, selectedContent, count} = properties;\n\t\t\tconst {\n\t\t\t\tclearNotificationDataEndPoint,\n\t\t\t\tclearNotificationRoute,\n\t\t\t\tclearTaskDataEndPoint,\n\t\t\t\tclearTaskRoute\n\t\t\t} = configurations;\n\n\t\t\tconst isNotificationRoute =\n\t\t\t\tselectedContent.route == clearNotificationRoute;\n\t\t\tif (isNotificationRoute && clearNotificationDataEndPoint && count > 0) {\n\t\t\t\tdispatch('NOTIFICATION_COUNT_CLEAR', {\n\t\t\t\t\tdata: {count: 0}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst isTaskRoute = selectedContent.route == clearTaskRoute;\n\t\t\tif (isTaskRoute && clearTaskDataEndPoint && count > 0) {\n\t\t\t\tdispatch('TASK_COUNT_CLEAR', {\n\t\t\t\t\tdata: {count: 0}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tswitch (type) {\n\t\t\t\tcase 'record': {\n\t\t\t\t\tconst {table, filter, dataEndPoint} = configurations;\n\t\t\t\t\tif (dataEndPoint) {\n\t\t\t\t\t\tdispatch(REST_COUNT_ACTIONS.FETCH);\n\t\t\t\t\t} else if (table && filter) {\n\t\t\t\t\t\t// Fetch initial data\n\t\t\t\t\t\tdispatch(AGGREGATE_COUNT_ACTIONS.FETCH, {\n\t\t\t\t\t\t\ttable,\n\t\t\t\t\t\t\tfilter\n\t\t\t\t\t\t});\n\t\t\t\t\t\t// Subscribe to changes\n\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\tRECORD_WATCHER_ACTIONS.SUBSCRIPTION_CHANGED,\n\t\t\t\t\t\t\tgetSubscriptionArgs(table, filter, true)\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: ({properties, dispatch}) => {\n\t\t\tconst {configurations, selectedContent, count} = properties;\n\t\t\tconst {\n\t\t\t\tclearNotificationDataEndPoint,\n\t\t\t\tclearNotificationRoute,\n\t\t\t\tclearTaskDataEndPoint,\n\t\t\t\tclearTaskRoute\n\t\t\t} = configurations;\n\n\t\t\tconst isNotificationRoute =\n\t\t\t\tselectedContent.route == clearNotificationRoute;\n\t\t\tif (isNotificationRoute && clearNotificationDataEndPoint && count > 0) {\n\t\t\t\tdispatch('NOTIFICATION_COUNT_CLEAR', {\n\t\t\t\t\tdata: {count: 0}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst isTaskRoute = selectedContent.route == clearTaskRoute;\n\t\t\tif (isTaskRoute && clearTaskDataEndPoint && count > 0) {\n\t\t\t\tdispatch('TASK_COUNT_CLEAR', {\n\t\t\t\t\tdata: {count: 0}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\t[COMPONENT_DISCONNECTED]: {\n\t\teffect: ({properties, dispatch}) => {\n\t\t\tconst {configurations} = properties;\n\t\t\tconst {table, filter} = configurations;\n\t\t\tif (table && filter) {\n\t\t\t\t// unsubscribe to changes\n\t\t\t\tdispatch(\n\t\t\t\t\tRECORD_WATCHER_ACTIONS.SUBSCRIPTION_CHANGED,\n\t\t\t\t\tgetSubscriptionArgs(table, filter, false)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n};\n\nconst aggregateCountActionHandlers = {\n\t['NOTIFICATION_COUNT_CLEAR']: {\n\t\tinterceptors: [clearNotificationCount]\n\t},\n\t['TASK_COUNT_CLEAR']: {\n\t\tinterceptors: [clearTaskCount]\n\t},\n\t[REST_COUNT_ACTIONS.FETCH]: {\n\t\tinterceptors: [getHTTPInterceptor],\n\t\tstopPropagation: true\n\t},\n\t[REST_COUNT_ACTIONS.SUCCEEDED]: {\n\t\teffect: ({action, updateProperties}) => {\n\t\t\tconst count = get(action, 'payload.result.total_records', 0);\n\t\t\tupdateProperties({count: parseInt(count)});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\n\t[REST_COUNT_ACTIONS.FAILED]: {\n\t\teffect: ({action: {payload}}) => {\n\t\t\tconsole.error('FETCH_DATA_FAILED', payload);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[AGGREGATE_COUNT_ACTIONS.FETCH]: {\n\t\teffect: fetchAggregateCountEffect,\n\t\tstopPropagation: true\n\t},\n\t[AGGREGATE_COUNT_ACTIONS.SUCCEEDED]: {\n\t\teffect: ({action, updateProperties}) => {\n\t\t\tconst count = get(\n\t\t\t\taction,\n\t\t\t\t'payload.data.GlideAggregate_Query[0].count',\n\t\t\t\t0\n\t\t\t);\n\t\t\tupdateProperties({count});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[AGGREGATE_COUNT_ACTIONS.FAILED]: {\n\t\teffect: ({properties, updateProperties}) => {\n\t\t\tconst {table, filter} = properties;\n\t\t\tconsole.error(\n\t\t\t\t`Failed to fetch aggregate counts with for table, ${table} with filter, ${filter}`\n\t\t\t);\n\t\t\tupdateProperties({count: 0});\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n\nconst recordWatcherActionHandlers = {\n\t[RECORD_WATCHER_ACTIONS.SUBSCRIPTION_CHANGED]: recordWatcherHandler,\n\t[RECORD_WATCHER_ACTIONS.ITEM_CHANGED]: {\n\t\teffect: ({action, updateProperties}) => {\n\t\t\tupdateProperties(({properties}) => {\n\t\t\t\tconst countUpdate = get(action, 'payload.data.count', '').split('');\n\t\t\t\tlet {count} = properties;\n\t\t\t\tif (countUpdate[0] === '+') {\n\t\t\t\t\tcount = count + parseInt(countUpdate[1]);\n\t\t\t\t} else if (countUpdate[0] === '-') {\n\t\t\t\t\tcount = count - parseInt(countUpdate[1]);\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tpath: 'count',\n\t\t\t\t\tvalue: count\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n\nexport const badgeDataProvider = {\n\tname: 'BADGE_DATA_PROVIDER',\n\tproperties: {\n\t\tconfigurations: {\n\t\t\tdefault: {}\n\t\t},\n\t\ttype: {\n\t\t\tdefault: 'record'\n\t\t}\n\t},\n\tactions: {\n\t\t[AGGREGATE_COUNT_ACTIONS.FETCH]: {\n\t\t\tprivate: true\n\t\t},\n\t\t[AGGREGATE_COUNT_ACTIONS.STARTED]: {\n\t\t\tprivate: true\n\t\t},\n\t\t[AGGREGATE_COUNT_ACTIONS.SUCCEEDED]: {\n\t\t\tprivate: true\n\t\t},\n\t\t[AGGREGATE_COUNT_ACTIONS.FAILED]: {\n\t\t\tprivate: true\n\t\t},\n\t\t[RECORD_WATCHER_ACTIONS.SUBSCRIBED_STARTED]: {\n\t\t\tprivate: true\n\t\t},\n\t\t[RECORD_WATCHER_ACTIONS.SUBSCRIBED]: {\n\t\t\tprivate: true\n\t\t},\n\t\t[RECORD_WATCHER_ACTIONS.SUBSCRIBED_FAILED]: {\n\t\t\tprivate: true\n\t\t},\n\t\t[RECORD_WATCHER_ACTIONS.UNSUBSCRIBED]: {\n\t\t\tprivate: true\n\t\t},\n\t\t[RECORD_WATCHER_ACTIONS.ITEM_CHANGED]: {\n\t\t\tprivate: true\n\t\t},\n\t\t[RECORD_WATCHER_ACTIONS.SUBSCRIPTION_CHANGED]: {\n\t\t\tprivate: true\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t...aggregateCountActionHandlers,\n\t\t...recordWatcherActionHandlers,\n\t\t...lifeCycleActionHandlers\n\t}\n};\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport styles from './_now-badge.scss';\n\nimport packageInfo from '../package.json';\nconst {name, version} = packageInfo;\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n\nconst _round = (value) => {\n\tif (isNaN(value) || value >= 1e15) {\n\t\treturn value;\n\t}\n\tlet newValue = value;\n\tconst suffixes = ['', 'K', 'M', 'B', 'T'];\n\tlet suffixNumber = 0;\n\twhile (newValue >= 1000) {\n\t\tnewValue /= 1000;\n\t\tsuffixNumber++;\n\t}\n\tnewValue = parseFloat(newValue.toFixed(1));\n\tnewValue += suffixes[suffixNumber];\n\treturn newValue;\n};\n\nconst view = (state) => {\n\tconst {variant, size, color, status, value, round, character} =\n\t\tstate.properties;\n\tconst statusOrColor = status || color;\n\tconst displayValue = round ? _round(value) : value;\n\n\treturn (\n\t\t<span\n\t\t\tclass={{\n\t\t\t\t'now-badge': true,\n\t\t\t\t['-' + variant]: variant,\n\t\t\t\t['-' + statusOrColor]: statusOrColor,\n\t\t\t\t['-' + size]: size,\n\t\t\t}}\n\t\t>\n\t\t\t<span className=\"now-line-height-crop\">{`${displayValue}${character}`}</span>\n\t\t</span>\n\t);\n};\n\n/**\n * A badge is an indicator or symbol that displays pending notifications, a\n * change in the system’s state, or an event.\n *\n * Badge notifications indicate a change in system status and aren't tied to any user input or\n * current user activity.\n *\n * ```jsx\n * <now-badge variant=\"primary\" size=\"lg\" status=\"warning\" value=\"99\" round />\n * ```\n *\n * @seismicElement now-badge\n * @summary Numeric badge that indicates a total count.\n * @uib.label Badge\n * @uib.icon badge\n * @uib.description Numeric badge that indicates a total count.\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties variant, status, size, value, round, character\n */\ncreateEnhancedElement('now-badge', {\n\tpresentational: true,\n\tproperties: {\n\t\t/**\n\t\t * Sets the badge style.\n\t\t * @type {('primary'|'secondary')}\n\t\t * @uib.label Style\n\t\t * @uib.description Style of the badge\n\t\t */\n\t\tvariant: {\n\t\t\tdefault: 'primary',\n\t\t\tschema: {type: 'string', enum: ['primary', 'secondary']},\n\t\t},\n\t\t/**\n\t\t * Sets the badge background color.\n\t\t * @type {('critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low')}\n\t\t * @private\n\t\t * @uib.aliasedWith color\n\t\t */\n\t\tstatus: {},\n\t\t/**\n\t\t * Sets the badge background color.\n\t\t * @type {('critical'|'high'|'warning'|'moderate'|'positive'|'info'|'low'|'magenta'|'pink'|'orange'|'yellow'|'brown'|'green'|'green-yellow'|'blue'|'gray'|'teal'|'purple')}\n\t\t * @uib.label Color\n\t\t * @uib.description Sets the badge background color.\n\t\t */\n\t\tcolor: {\n\t\t\tdefault: 'low',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: [\n\t\t\t\t\t'critical',\n\t\t\t\t\t'high',\n\t\t\t\t\t'warning',\n\t\t\t\t\t'moderate',\n\t\t\t\t\t'positive',\n\t\t\t\t\t'info',\n\t\t\t\t\t'low',\n\t\t\t\t\t'magenta',\n\t\t\t\t\t'pink',\n\t\t\t\t\t'orange',\n\t\t\t\t\t'yellow',\n\t\t\t\t\t'brown',\n\t\t\t\t\t'green',\n\t\t\t\t\t'green-yellow',\n\t\t\t\t\t'blue',\n\t\t\t\t\t'gray',\n\t\t\t\t\t'teal',\n\t\t\t\t\t'purple',\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Sets the badge size.\n\t\t * @type {('sm'|'md'|'lg')}\n\t\t */\n\t\tsize: {default: 'md', schema: {type: 'string', enum: ['sm', 'md', 'lg']}},\n\t\t/**\n\t\t * Number to display in the badge.\n\t\t * @type {number}\n\t\t * @uib.defaultValue 5\n\t\t */\n\t\tvalue: {required: true, schema: {type: 'number'}},\n\t\t/**\n\t\t * A character displayed directly after the value.\n\t\t * @type {string}\n\t\t * @uib.label Ending character\n\t\t * @uib.description A character displayed directly after the value.\n\t\t * @uib.defaultValue\n\t\t */\n\t\tcharacter: {default: '', required: false, schema: {type: 'string'}},\n\t\t/**\n\t\t * When true, rounds up and uses the abbreviations 'K', 'M', 'B', and 'T' to represent large numbers.\n\t\t * For example, instead of '1000', the system displays '1K'. Instead of '5376000', the system displays '5.4M'.\n\t\t * @type {boolean}\n\t\t * @uib.label Round large numbers\n\t\t * @uib.description Whether to round up large numbers (between thousands and trillions)\n\t\t * @uib.defaultValue true\n\t\t */\n\t\tround: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Deprecated for WCAG compliance. Badge consumers are responsible\n\t\t * for representing the badge content and context to all users accessibly.\n\t\t * @private\n\t\t */\n\t\tdescription: {},\n\t},\n\tview,\n\tstyles,\n});\n","import '@servicenow/now-badge';\nimport {\n\tNotificationsBellSVG_Green,\n\tNotificationsBellSVG_NONE\n} from '../sn-cx-navigation/view/IconSVGComponents';\n\nconst view = (state) => {\n\tconst {\n\t\tcount,\n\t\thideCount,\n\t\tselectedContent,\n\t\tcustomStyles = {}\n\t} = state.properties;\n\n\tconst isNotificationRoute = selectedContent?.route == 'notificationcentral';\n\n\tif (hideCount) {\n\t\tif (!isNotificationRoute && count > 0) {\n\t\t\treturn (\n\t\t\t\t<span className=\"icon-notification-overlay\">\n\t\t\t\t\t<NotificationsBellSVG_Green />\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\t\treturn <NotificationsBellSVG_NONE />;\n\t} else {\n\t\tif (count <= 0) return null;\n\t\tconst hasCustomStyles = Object.keys(customStyles).length > 0;\n\t\tconst background = customStyles.backgroundColor || 'green';\n\t\tconst cappedCount = count > 9 ? 9 : count;\n\t\tconst overflowCharacter = count > 9 ? '+' : '';\n\t\treturn (\n\t\t\t<now-badge\n\t\t\t\tround\n\t\t\t\tsize=\"sm\"\n\t\t\t\tstatus={background}\n\t\t\t\tvalue={cappedCount}\n\t\t\t\tcharacter={overflowCharacter}\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tclassName={hasCustomStyles ? undefined : 'badge-count-overlay'}\n\t\t\t\tstyle={hasCustomStyles ? customStyles : undefined}\n\t\t\t/>\n\t\t);\n\t}\n};\n\nexport default view;\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport rtlBehavior from '@servicenow/behavior-rtl';\n\nimport {badgeDataProvider} from './sn-cx-badge-count-data-provider';\nimport view from './view';\nimport styles from './styles.scss';\n\ncreateCustomElement('sn-cx-badge-connected', {\n\trenderer: {type: snabbdom},\n\tview,\n\tstyles,\n\tproperties: {\n\t\tcount: {\n\t\t\tdefault: 0\n\t\t},\n\t\tcustomStyles: {\n\t\t\tdefault: {}\n\t\t},\n\t\thideCount: {\n\t\t\tdefault: false\n\t\t},\n\t\tselectedContent: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t}\n\t},\n\tbehaviors: [badgeDataProvider, {behavior: rtlBehavior}]\n});\n","import {t} from 'sn-translate';\nimport {BackButtonSVG, XMarkSVG} from './IconSVGComponents';\nimport {UTILITY_DROPDOWN_ELEMENT_REF_UPDATED} from '../actions';\nimport {createInteractionHandler} from '../utils';\nimport {handleUtilityButtonClick} from './UtilityItem';\n\nconst UtilityDropdownMenuHeader = ({title, handleReturn, handleClose}) => {\n\treturn (\n\t\t<section className=\"sn-cx-navigation__utility-dropdown-menu__header\">\n\t\t\t<button\n\t\t\t\tclassName=\"sn-cx-navigation__utility-dropdown-menu__header__btn-return\"\n\t\t\t\taria-label={t('Back to menu')}\n\t\t\t\ttabindex=\"-1\"\n\t\t\t\t{...handleReturn}>\n\t\t\t\t<BackButtonSVG />\n\t\t\t</button>\n\t\t\t{title && title.length && (\n\t\t\t\t<h2 className=\"sn-cx-navigation__utility-dropdown-menu__header__text\">\n\t\t\t\t\t{title}\n\t\t\t\t</h2>\n\t\t\t)}\n\t\t\t<button\n\t\t\t\ttabindex=\"-1\"\n\t\t\t\tclassName=\"sn-cx-navigation__utility-dropdown-menu__header__btn-close\"\n\t\t\t\t{...handleClose}>\n\t\t\t\t<XMarkSVG />\n\t\t\t</button>\n\t\t</section>\n\t);\n};\n\nconst handleUtilityDropdownRefUpdate = (dispatch, popupMenuContext) => ({\n\telm\n}) => {\n\tdispatch(UTILITY_DROPDOWN_ELEMENT_REF_UPDATED, {\n\t\tutilityDropdownRef: elm,\n\t\tpopupMenuContext\n\t});\n};\n\n/**\n * Utility Dropdown to show the utility dropdown. Use the slot=\"utility-dropdown\" to compose\n *  with the sn-cx-navigation in macroponent composition.\n * @param {Boolean} props.expanded\n * @returns\n */\nexport const UtilityDropdown = ({\n\tdispatch,\n\texpanded,\n\tpopupMenuContext,\n\titem = {}\n}) => {\n\tconst title = item.title || item.text || '';\n\treturn (\n\t\t<div\n\t\t\thook-insert={handleUtilityDropdownRefUpdate(dispatch, popupMenuContext)}\n\t\t\tclassName={`sn-cx-navigation__utility-dropdown-menu ${expanded &&\n\t\t\t\t'-is-open'}`}>\n\t\t\t<UtilityDropdownMenuHeader\n\t\t\t\ttitle={title}\n\t\t\t\thandleReturn={createInteractionHandler(\n\t\t\t\t\thandleUtilityButtonClick(dispatch, item, true, false)\n\t\t\t\t)}\n\t\t\t\thandleClose={createInteractionHandler(\n\t\t\t\t\thandleUtilityButtonClick(dispatch, item, true, true)\n\t\t\t\t)}\n\t\t\t/>\n\t\t\t<slot name=\"utility-dropdown\">\n\t\t\t\t<div className=\"sn-cx-navigation__utility-dropdown-menu__placeholder\">\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t'Configure this dropdown by adding a component to the \"utility-dropdown\" slot in the macroponent composition.'\n\t\t\t\t\t\t)}\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t</slot>\n\t\t</div>\n\t);\n};\n\nexport default UtilityDropdown;\n","import '@servicenow/now-tooltip';\nimport get from 'lodash/get';\nimport {\n\tAIAssistSVG,\n\tSearchSVG,\n\tNotificationsBellSVG,\n\tTaskSVG,\n\tLanguagesGlobeSVG\n} from './IconSVGComponents';\nimport {createInteractionHandler} from '../utils';\nimport {tabIndexIfNotDesktop, getDirectionProps} from './helpers';\nimport {\n\tUTILITY_BUTTON_CLICKED,\n\tLANGUAGE_SELECTOR_TOGGLED,\n\tMOBILE_MENU_CLOSE_REQUESTED,\n\tCLOSE_POPOVERS,\n\tTRACK_ANALYTICS_CLICKED\n} from '../actions';\nimport LanguageMenu from './LanguageMenu';\nimport NotificationMenu from './NotificationMenu';\nimport {LANGUAGE, NOTIFICATION, TASK, MENU_TYPES} from './constants';\nimport '../../sn-cx-badge-connected';\nimport isEmpty from 'lodash/isEmpty';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {ANALYTICS_COMPONENTS_ID} from '../utils/analytics-tracking';\nimport UtilityDropdown from './UtilityDropdown';\n/**\n * Utility type mapped to corresponding SVG icon components\n */\nconst UTILITY_ICON_MAP = {\n\tsparkle: <AIAssistSVG />,\n\tsearch: <SearchSVG />,\n\tnotification: <NotificationsBellSVG />,\n\ttask: <TaskSVG />,\n\tlanguage: <LanguagesGlobeSVG />\n};\n\n/**\n * Returns the appropriate utility icon based on system ID\n * @param {string} type - Utility type\n * @returns {JSX.Element|null} - SVG component or null\n */\nexport const getUtilityIcon = (type) => UTILITY_ICON_MAP[type] || null;\n\n/**\n * Handles utility button clicks\n * @param {Function} dispatch - Dispatch function\n * @param {Object} item - The clicked menu item\n */\nexport const handleUtilityButtonClick = (\n\tdispatch,\n\titem,\n\texpanded,\n\trequestMobileMenuClose = true\n) => (e) => {\n\te.preventDefault();\n\n\tif (!expanded) {\n\t\tdispatch(CLOSE_POPOVERS);\n\t}\n\n\tif (requestMobileMenuClose) {\n\t\tdispatch(MOBILE_MENU_CLOSE_REQUESTED);\n\t}\n\tif (item?.type === LANGUAGE) {\n\t\tdispatch(\n\t\t\tLANGUAGE_SELECTOR_TOGGLED,\n\t\t\t{opened: expanded, item, eventType: e?.type},\n\t\t\t{event: e}\n\t\t);\n\t\tdispatch(\n\t\t\tTRACK_ANALYTICS_CLICKED,\n\t\t\t{\n\t\t\t\telement: {text: 'language dropdown'},\n\t\t\t\tsection: ANALYTICS_COMPONENTS_ID.PRIMARY_GLOBAL\n\t\t\t},\n\t\t\t{event: e}\n\t\t);\n\t} else {\n\t\tdispatch(\n\t\t\tUTILITY_BUTTON_CLICKED,\n\t\t\t{opened: expanded, item, eventType: e?.type, requestMobileMenuClose},\n\t\t\t{event: e}\n\t\t);\n\t\tdispatch(\n\t\t\tTRACK_ANALYTICS_CLICKED,\n\t\t\t{\n\t\t\t\telement: {text: item.type || item.id.split('-')[1]},\n\t\t\t\tsection: ANALYTICS_COMPONENTS_ID.PRIMARY_GLOBAL\n\t\t\t},\n\t\t\t{event: e}\n\t\t);\n\t}\n};\n\n/**\n * Determines if the item should use `<a>` or `<button>`\n * @param {Object} item - Utility menu item\n * @returns {boolean} - True if an `<a>` tag should be used\n */\nconst shouldUseAnchor = (item) =>\n\titem?.url && item?.urlTarget && !item?.hasPopup;\n\n/**\n * Renders Utility Item (Navigation, Profile, Notifications)\n */\nlet utilityRef = null;\n\nexport const UtilityItemTray = ({\n\titem = {},\n\tpopupMenuContext,\n\tactiveLanguage,\n\tdispatch,\n\tutilityConfig = {},\n\tisDesktop = true,\n\texpanded\n}) => {\n\treturn (\n\t\t<Fragment>\n\t\t\t{expanded && item?.items && item?.type === LANGUAGE && (\n\t\t\t\t<LanguageMenu\n\t\t\t\t\titem={item}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tpopupMenuContext={popupMenuContext}\n\t\t\t\t\tactiveLanguage={activeLanguage}\n\t\t\t\t\tisDesktop={isDesktop}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{!isEmpty(utilityConfig) && expanded && item?.type === NOTIFICATION && (\n\t\t\t\t<NotificationMenu\n\t\t\t\t\titem={item}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\texpanded={expanded}\n\t\t\t\t\tisDesktop={isDesktop}\n\t\t\t\t\tpopupMenuContext={popupMenuContext}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{!isEmpty(utilityConfig) && expanded && item?.type === TASK && (\n\t\t\t\t<UtilityDropdown\n\t\t\t\t\titem={item}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\texpanded={expanded}\n\t\t\t\t\tpopupMenuContext={popupMenuContext}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</Fragment>\n\t);\n};\n\nconst UtilityItem = ({\n\titem = {},\n\tpopupMenuContext,\n\tactiveLanguage,\n\tdispatch,\n\tbadgeCount = 0,\n\tutilityConfig = {},\n\tnavigationMenuContext,\n\tselectedContent,\n\tdir\n}) => {\n\tconst {isDesktop, navigationType} = navigationMenuContext;\n\tconst {item: currentPopupItem, opened: currentPopupOpen} = popupMenuContext;\n\tconst expanded = currentPopupItem?.sysID === item?.sysID && currentPopupOpen;\n\tconst {toolTip = ''} = item;\n\tconst menuTypeClassMap = {\n\t\t[MENU_TYPES.PRIMARY]: '--primary',\n\t\t[MENU_TYPES.SECONDARY]: '--secondary'\n\t};\n\tconst menuTypeClass = menuTypeClassMap[navigationType] ?? '';\n\treturn (\n\t\t<li\n\t\t\tclassName={`sn-cx-navigation__utility-item ${menuTypeClass}`}\n\t\t\tid={item.id}\n\t\t\trole=\"none\">\n\t\t\t{shouldUseAnchor(item) ? (\n\t\t\t\t<UtilityAnchor item={item} expanded={expanded} isDesktop={isDesktop} />\n\t\t\t) : (\n\t\t\t\t<UtilityButton\n\t\t\t\t\titem={item}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tbadgeCount={badgeCount}\n\t\t\t\t\tutilityConfig={utilityConfig}\n\t\t\t\t\texpanded={expanded}\n\t\t\t\t\tnavigationMenuContext={navigationMenuContext}\n\t\t\t\t\tselectedContent={selectedContent}\n\t\t\t\t\tdir={dir}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{toolTip && <UtilityTooltip toolTip={toolTip} />}\n\t\t\t<UtilityItemTray\n\t\t\t\titem={item}\n\t\t\t\tpopupMenuContext={popupMenuContext}\n\t\t\t\tactiveLanguage={activeLanguage}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tutilityConfig={utilityConfig}\n\t\t\t\tisDesktop={isDesktop}\n\t\t\t\texpanded={expanded}\n\t\t\t/>\n\t\t</li>\n\t);\n};\n\nexport const setTargetRef = (elm, utilityRef) => {\n\tconst toolTipElm = get(elm, ['parentElement', 'children', '1'], {});\n\ttoolTipElm.targetRef = utilityRef;\n};\n\n/**\n * Renders a utility item as an anchor (`<a>` tag)\n */\nconst UtilityAnchor = ({item, expanded, isDesktop = true}) => {\n\treturn (\n\t\t<a\n\t\t\tid={item.sysID}\n\t\t\thref={item.url}\n\t\t\ttarget={item.urlTarget || '_self'}\n\t\t\tclassName={['sn-cx-navigation__utility-link', expanded ? '--active' : '']\n\t\t\t\t.join(' ')\n\t\t\t\t.trim()}\n\t\t\taria-label={item.title}\n\t\t\t{...tabIndexIfNotDesktop(isDesktop)}\n\t\t\taria-haspopup={item?.hasPopup}\n\t\t\taria-expanded={expanded}\n\t\t\trole=\"menuitem\"\n\t\t\thook-insert={({elm}) => {\n\t\t\t\tutilityRef = elm;\n\t\t\t\tsetTargetRef(elm, utilityRef);\n\t\t\t}}\n\t\t\thook-destroy={() => (utilityRef = null)}>\n\t\t\t<span className=\"sn-cx-navigation__utility-icon\">\n\t\t\t\t{getUtilityIcon(item.type)}\n\t\t\t</span>\n\t\t</a>\n\t);\n};\n\n/**\n * Renders a utility item as a button (`<button>` tag)\n */\nconst UtilityButton = ({\n\titem = {},\n\tdispatch,\n\tbadgeCount,\n\tutilityConfig,\n\texpanded,\n\tnavigationMenuContext,\n\tselectedContent,\n\tdir\n}) => {\n\tconst {isDesktop, navigationType} = navigationMenuContext;\n\tconst isSecondaryMenu = navigationType === MENU_TYPES.SECONDARY;\n\treturn (\n\t\t<button\n\t\t\tid={item?.sysID}\n\t\t\tclassName={[\n\t\t\t\t'sn-cx-navigation__utility-button',\n\t\t\t\texpanded && !isSecondaryMenu ? '--active' : ''\n\t\t\t]\n\t\t\t\t.join(' ')\n\t\t\t\t.trim()}\n\t\t\taria-label={item.title}\n\t\t\t{...tabIndexIfNotDesktop(isDesktop)}\n\t\t\taria-haspopup={item.hasPopup ? 'true' : false}\n\t\t\taria-expanded={expanded ? 'true' : false}\n\t\t\trole=\"menuitem\"\n\t\t\t{...createInteractionHandler(\n\t\t\t\thandleUtilityButtonClick(dispatch, item, expanded)\n\t\t\t)}\n\t\t\thook-insert={({elm}) => {\n\t\t\t\tutilityRef = elm;\n\t\t\t\tsetTargetRef(elm, utilityRef);\n\t\t\t}}\n\t\t\thook-destroy={() => (utilityRef = null)}>\n\t\t\t<span className=\"sn-cx-navigation__utility-icon\">\n\t\t\t\t{getUtilityIcon(item.type)}\n\t\t\t</span>\n\t\t\t{!isEmpty(utilityConfig) &&\n\t\t\t\t(() => {\n\t\t\t\t\tswitch (item.type) {\n\t\t\t\t\t\tcase NOTIFICATION:\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<NotificationBadge\n\t\t\t\t\t\t\t\t\tbadgeCount={badgeCount}\n\t\t\t\t\t\t\t\t\tnotificationConfig={utilityConfig}\n\t\t\t\t\t\t\t\t\tselectedContent={selectedContent}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\tcase TASK:\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<TaskBadge\n\t\t\t\t\t\t\t\t\tbadgeCount={badgeCount}\n\t\t\t\t\t\t\t\t\ttaskConfig={utilityConfig}\n\t\t\t\t\t\t\t\t\tselectedContent={selectedContent}\n\t\t\t\t\t\t\t\t\tdir={dir}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t})()}\n\t\t</button>\n\t);\n};\n\n/**\n * Renders a tooltip for utility items\n */\nconst UtilityTooltip = ({toolTip}) => (\n\t<now-tooltip content={toolTip} target-ref={utilityRef}>\n\t\t{toolTip}\n\t</now-tooltip>\n);\n\n/**\n * Renders notification badge if applicable\n */\nexport const NotificationBadge = ({\n\tbadgeCount,\n\tnotificationConfig,\n\tselectedContent\n}) => {\n\tconst configurations = {\n\t\ttable: notificationConfig?.table,\n\t\tfilter: notificationConfig?.filter,\n\t\tdataEndPoint: notificationConfig?.dataEndPoint,\n\t\thideCount: notificationConfig?.hideCount ?? false,\n\t\tclearNotificationDataEndPoint:\n\t\t\tnotificationConfig?.clearNotificationDataEndPoint,\n\t\tclearNotificationRoute: notificationConfig?.clearNotificationRoute\n\t};\n\treturn (\n\t\t<sn-cx-badge-connected\n\t\t\tcount={badgeCount}\n\t\t\ttype=\"record\"\n\t\t\thideCount={notificationConfig?.hideCount ?? false}\n\t\t\tconfigurations={configurations}\n\t\t\tselectedContent={selectedContent}\n\t\t/>\n\t);\n};\n\nconst TaskBadge = ({badgeCount, taskConfig, selectedContent, dir}) => {\n\tconst configurations = {\n\t\ttable: taskConfig?.table,\n\t\tfilter: taskConfig?.filter,\n\t\tdataEndPoint: taskConfig?.dataEndPoint,\n\t\thideCount: taskConfig?.hideCount ?? false,\n\t\tclearTaskDataEndPoint: taskConfig?.clearTaskDataEndPoint,\n\t\tclearTaskRoute: taskConfig?.clearTaskRoute\n\t};\n\n\tconst {isRtl} = getDirectionProps(dir);\n\tconst redBadgeStyles = {\n\t\tdisplay: 'flex',\n\t\tjustifyContent: 'center',\n\t\tposition: 'relative',\n\t\t...(isRtl ? {left: '11px'} : {left: '-11px'}),\n\t\ttop: '-5px',\n\t\twidth: '4px',\n\t\theight: '15px',\n\t\tpadding: '0px 8px',\n\t\tborderRadius: '50%',\n\t\tbackgroundColor: 'red',\n\t\tcolor: 'white'\n\t};\n\n\treturn (\n\t\t<sn-cx-badge-connected\n\t\t\tcount={badgeCount}\n\t\t\tcustomStyles={redBadgeStyles}\n\t\t\ttype=\"record\"\n\t\t\thideCount={taskConfig?.hideCount ?? false}\n\t\t\tconfigurations={configurations}\n\t\t\tselectedContent={selectedContent}\n\t\t/>\n\t);\n};\n\nexport default UtilityItem;\n","/**\n *  Divider Component\n * - Used for visual separation in the navigation.\n * - Ensures proper accessibility while maintaining visual structure.\n */\nconst Divider = () => (\n\t<div className=\"sn-cx-navigation__divider\" aria-hidden=\"true\">\n\t\t<span className=\"sn-cx-navigation__content-separator\" />\n\t</div>\n);\n\nexport default Divider;\n","import {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {t} from 'sn-translate';\nimport {createInteractionHandler} from '../utils';\nimport {tabIndexIfNotDesktop} from './helpers';\nimport Divider from './Divider';\nimport isEmpty from 'lodash/isEmpty';\nimport get from 'lodash/get';\nimport '@servicenow/now-tooltip';\n\nimport {\n\tPROFILE_OPTIONS_CLICKED,\n\tPROFILE_DROPDOWN_ELEMENT_REF_UPDATED,\n\tTOOPTIP_TARGET_REF\n} from '../actions';\nimport {XMarkSVG} from './IconSVGComponents';\nimport {TEXT_DIRECTION} from './constants';\n\nconst _renderTooltip = (targetRef, tooltipContent) => {\n\tif (tooltipContent) {\n\t\treturn (\n\t\t\t<now-tooltip\n\t\t\t\tid=\"tooltip\"\n\t\t\t\ttarget-ref={targetRef}\n\t\t\t\tcontent={tooltipContent}\n\t\t\t\tposition={['bottom-center top-center', 'bottom-start top-start']}\n\t\t\t/>\n\t\t);\n\t}\n};\n\nconst ProfileMenuNavigation = ({handleClose, isDesktop}) => {\n\treturn (\n\t\t<div\n\t\t\tclassName=\"sn-cx-navigation__profile-menu__navigation\"\n\t\t\taria-label={t('Profile menu navigation')}>\n\t\t\t<button\n\t\t\t\tclassName=\"sn-cx-navigation__profile-menu__btn-close\"\n\t\t\t\t{...tabIndexIfNotDesktop(isDesktop)}\n\t\t\t\t{...handleClose}>\n\t\t\t\t<XMarkSVG />\n\t\t\t</button>\n\t\t</div>\n\t);\n};\n\nconst focusProfileScoreElement = (menuRoot) => {\n\tconst slot = menuRoot.querySelector('slot[name=\"profileScore\"]');\n\n\tif (!(slot instanceof HTMLSlotElement)) return false;\n\n\tconst assigned = slot.assignedElements({flatten: true}) || [];\n\n\tconst host = assigned[0];\n\n\t// Find the focusable element inside the gamification macroponent shadow DOM\n\tconst nowTextLink = host?.shadowRoot?.querySelector('now-text-link');\n\n\t// Focus the focusable element inside shadow DOM\n\tconst anchor = nowTextLink?.shadowRoot?.querySelector('a');\n\n\tif (anchor) {\n\t\tanchor?.focus();\n\t\treturn true;\n\t}\n\treturn false;\n};\n\nconst ProfileMenu = ({\n\tprofileId = '',\n\tavatar = {},\n\titems = {},\n\tpopupMenuContext = {},\n\tdispatch,\n\tstate,\n\thandleClose,\n\tisDesktop\n}) => {\n\tconst {fullName, email, avatarPath} = avatar;\n\tconst showProfileDropdown =\n\t\t!isEmpty(popupMenuContext) &&\n\t\tpopupMenuContext?.opened &&\n\t\tprofileId === popupMenuContext?.item?.id;\n\n\tconst handleMenuItemClick = (item) => (e) => {\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\t\tdispatch(PROFILE_OPTIONS_CLICKED, {item}, {event: e});\n\t};\n\n\tconst {profileEmailRef} = state;\n\tconst setTargetRef = (ref) =>\n\t\tsetTimeout(() =>\n\t\t\tdispatch(TOOPTIP_TARGET_REF, {targetref: {profileEmailRef: ref}})\n\t\t);\n\n\tconst renderMenuItem = (item = {}, isLast, index) => {\n\t\tif (item.interactionType === 'event' || item.interactionType === 'route') {\n\t\t\treturn (\n\t\t\t\t<li\n\t\t\t\t\tclassName=\"sn-cx-navigation__profile-menu__item\"\n\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tindex === 0 &&\n\t\t\t\t\t\t\tisDesktop &&\n\t\t\t\t\t\t\tpopupMenuContext?.eventType === 'keydown'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tconst menuRoot = elm.closest(\n\t\t\t\t\t\t\t\t'section.sn-cx-navigation__profile-menu'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tconst hasProfileScore =\n\t\t\t\t\t\t\t\tmenuRoot?.dataset?.hasProfileScore === 'true';\n\n\t\t\t\t\t\t\t// If hasProfileScore / gamificationEnabled, return\n\t\t\t\t\t\t\tif (hasProfileScore) return;\n\n\t\t\t\t\t\t\t// Focus the first menu item when the menu opens\n\t\t\t\t\t\t\tconst profileMenuItem = get(elm, ['children', '0']);\n\t\t\t\t\t\t\tprofileMenuItem?.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tid={item?.sysID}\n\t\t\t\t\trole=\"none\">\n\t\t\t\t\t<button\n\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\taria-label={item?.title}\n\t\t\t\t\t\tclassName=\"sn-cx-navigation__profile-menu__item__button\"\n\t\t\t\t\t\t{...tabIndexIfNotDesktop(isDesktop)}\n\t\t\t\t\t\t{...createInteractionHandler(handleMenuItemClick(item))}>\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclassName=\"sn-cx-navigation__profile-menu__icon\"\n\t\t\t\t\t\t\tsrc={item.icon}\n\t\t\t\t\t\t\talt={item?.title}\n\t\t\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span className=\"sn-cx-navigation__profile-menu__label\">\n\t\t\t\t\t\t\t{item.title}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</button>\n\t\t\t\t</li>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclassName=\"sn-cx-navigation__profile-menu__item\"\n\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tindex === 0 &&\n\t\t\t\t\t\tisDesktop &&\n\t\t\t\t\t\tpopupMenuContext?.eventType === 'keydown'\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst menuRoot = elm.closest(\n\t\t\t\t\t\t\t'section.sn-cx-navigation__profile-menu'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst hasProfileScore =\n\t\t\t\t\t\t\tmenuRoot?.dataset?.hasProfileScore === 'true';\n\n\t\t\t\t\t\t// If hasProfileScore / gamificationEnabled, return\n\t\t\t\t\t\tif (hasProfileScore) return;\n\n\t\t\t\t\t\t// Focus the first menu item when the menu opens\n\t\t\t\t\t\tconst profileMenuItem = get(elm, ['children', '0']);\n\t\t\t\t\t\tprofileMenuItem?.focus();\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tid={item?.sysID}\n\t\t\t\trole=\"none\">\n\t\t\t\t<a\n\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\thref={item.url}\n\t\t\t\t\ttarget={item.urlTarget}\n\t\t\t\t\taria-label={item?.title}\n\t\t\t\t\t{...tabIndexIfNotDesktop(isDesktop)}\n\t\t\t\t\tclassName=\"sn-cx-navigation__profile-menu__item__link\">\n\t\t\t\t\t<img\n\t\t\t\t\t\tclassName=\"sn-cx-navigation__profile-menu__icon\"\n\t\t\t\t\t\tsrc={item.icon}\n\t\t\t\t\t\talt={item?.title}\n\t\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\t/>\n\t\t\t\t\t<span className=\"sn-cx-navigation__profile-menu__label\">\n\t\t\t\t\t\t{item.title}\n\t\t\t\t\t</span>\n\t\t\t\t</a>\n\t\t\t\t{isLast && <Divider />}\n\t\t\t</li>\n\t\t);\n\t};\n\n\treturn (\n\t\tshowProfileDropdown && (\n\t\t\t<Fragment>\n\t\t\t\t<section\n\t\t\t\t\tclassName={`sn-cx-navigation__profile-menu ${\n\t\t\t\t\t\tshowProfileDropdown ? 'open' : ''\n\t\t\t\t\t}`}\n\t\t\t\t\taria-label={t('Profile menu')}\n\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\tdispatch(PROFILE_DROPDOWN_ELEMENT_REF_UPDATED, {\n\t\t\t\t\t\t\tprofileDropdownRef: elm\n\t\t\t\t\t\t});\n\t\t\t\t\t\t// Only do autofocus for keyboard open on desktop\n\t\t\t\t\t\tif (!(isDesktop && popupMenuContext?.eventType === 'keydown'))\n\t\t\t\t\t\t\treturn;\n\n\t\t\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\t\t\tconst isGamificationEnabled = focusProfileScoreElement(elm);\n\n\t\t\t\t\t\t\telm.dataset.hasProfileScore = isGamificationEnabled\n\t\t\t\t\t\t\t\t? 'true'\n\t\t\t\t\t\t\t\t: 'false';\n\n\t\t\t\t\t\t\tif (isGamificationEnabled) return;\n\n\t\t\t\t\t\t\t// fallback to first menu item if no profileScore focus target\n\t\t\t\t\t\t\tconst firstMenuItem = elm.querySelector(\n\t\t\t\t\t\t\t\t'.sn-cx-navigation__profile-menu__item__link'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tfirstMenuItem?.focus();\n\t\t\t\t\t\t});\n\t\t\t\t\t}}>\n\t\t\t\t\t<ProfileMenuNavigation\n\t\t\t\t\t\thandleClose={handleClose}\n\t\t\t\t\t\tisDesktop={isDesktop}\n\t\t\t\t\t/>\n\t\t\t\t\t<div className=\"sn-cx-navigation__profile-menu__header\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"sn-cx-navigation__profile-menu__avatar\"\n\t\t\t\t\t\t\taria-hidden=\"true\">\n\t\t\t\t\t\t\t{avatarPath ? (\n\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\tsrc={avatarPath}\n\t\t\t\t\t\t\t\t\talt=\"Profile Avatar\"\n\t\t\t\t\t\t\t\t\tclassName=\"sn-cx-navigation__profile-menu__avatar-image\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<span className=\"sn-cx-navigation__profile-menu__avatar-label\">\n\t\t\t\t\t\t\t\t\t{fullName.trim().charAt(0)}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"sn-cx-navigation__profile-menu__name-email\">\n\t\t\t\t\t\t\t<span className=\"sn-cx-navigation__profile-menu__name\">\n\t\t\t\t\t\t\t\t{fullName}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName=\"sn-cx-navigation__profile-menu__email\"\n\t\t\t\t\t\t\t\thook-insert={({elm}) => setTargetRef(elm)}\n\t\t\t\t\t\t\t\thook-destroy={() => setTargetRef(null)}\n\t\t\t\t\t\t\t\tdir={TEXT_DIRECTION.LTR}>\n\t\t\t\t\t\t\t\t{email}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<slot name=\"profileScore\" />\n\t\t\t\t\t<span className=\"sn-cx-navigation__profile-menu__separator\">\n\t\t\t\t\t\t<Divider />\n\t\t\t\t\t</span>\n\t\t\t\t\t<ul className=\"sn-cx-navigation__profile-menu__list\" role=\"menu\">\n\t\t\t\t\t\t{items?.items?.map((item, index) => (\n\t\t\t\t\t\t\t<Fragment key={item.id}>\n\t\t\t\t\t\t\t\t{index === items.items.length - 1 && <Divider />}\n\t\t\t\t\t\t\t\t{renderMenuItem(item, false, index)}\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</ul>\n\t\t\t\t</section>\n\t\t\t\t{_renderTooltip(profileEmailRef, email)}\n\t\t\t</Fragment>\n\t\t)\n\t);\n};\n\nexport default ProfileMenu;\n","import {get, noop} from 'lodash';\nimport '@servicenow/now-tooltip';\nimport '@servicenow/now-avatar';\nimport UtilityItem from './UtilityItem';\nimport ProfileMenu from './ProfileMenu';\nimport {\n\tCLOSE_POPOVERS,\n\tMOBILE_MENU_CLOSE_REQUESTED,\n\tPROFILE_DROPDOWN_TOGGLED,\n\tSIGNIN_BUTTON_CLICKED,\n\tTRACK_ANALYTICS_CLICKED\n} from '../actions';\nimport {UTILITY_MENU, USER_PROFILE, SIGN_IN} from './constants';\nimport {createInteractionHandler} from '../utils';\nimport {tabIndexIfNotDesktop} from './helpers';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {ANALYTICS_COMPONENTS_ID} from '../utils/analytics-tracking';\n\n/**\n * Extracts user avatar metadata\n * @param {Object} currentUser - User session data\n * @returns {Object} - Avatar metadata (full name, image, presence, email)\n */\nconst getUserAvatar = (currentUser = {}) => {\n\tconst userMeta = currentUser?.user || {};\n\n\treturn {\n\t\tfullName: get(userMeta, 'displayName', 'Unknown User'),\n\t\tavatarPath: get(userMeta, 'avatar', ''),\n\t\tpresence: userMeta?.presence?.user_available ? 'available' : null,\n\t\temail: userMeta?.email || userMeta?.userName || userMeta?.fullName || ''\n\t};\n};\n\n/**\n * Toggles the profile dropdown menu\n * @param {Function} dispatch - Dispatch function for actions\n * @param {Object} item - Profile menu item\n */\nconst handleToggleProfileDropdown = (dispatch, item, expanded) => (e) => {\n\te.preventDefault();\n\n\t// close other popovers when opening the profile.\n\tif (!expanded) {\n\t\tdispatch(CLOSE_POPOVERS);\n\t}\n\n\tdispatch(MOBILE_MENU_CLOSE_REQUESTED);\n\tdispatch(\n\t\tPROFILE_DROPDOWN_TOGGLED,\n\t\t{item, opened: expanded, eventType: e?.type},\n\t\t{event: e}\n\t);\n\tdispatch(\n\t\tTRACK_ANALYTICS_CLICKED,\n\t\t{\n\t\t\telement: {text: 'account'},\n\t\t\tsection: ANALYTICS_COMPONENTS_ID.PRIMARY_GLOBAL\n\t\t},\n\t\t{event: e}\n\t);\n};\n\nconst handleSignInInteraction = (dispatch, pathname) => (e) => {\n\te.preventDefault();\n\tdispatch(SIGNIN_BUTTON_CLICKED, {pathname}, {event: e});\n};\n\n/**\n * Renders non-profile utility items\n */\n\nconst renderUtilityItems = (\n\titems,\n\tpopupMenuContext,\n\tdispatch,\n\tactiveLanguage,\n\tutilityConfig,\n\tnavigationMenuContext,\n\tselectedContent,\n\tdir\n) =>\n\titems\n\t\t.filter((item) => item.show && item.type !== 'profile')\n\t\t.map((item) => (\n\t\t\t<UtilityItem\n\t\t\t\tkey={item?.sysID}\n\t\t\t\titem={item}\n\t\t\t\tpopupMenuContext={popupMenuContext}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tactiveLanguage={activeLanguage}\n\t\t\t\tutilityConfig={utilityConfig}\n\t\t\t\tnavigationMenuContext={navigationMenuContext}\n\t\t\t\tselectedContent={selectedContent}\n\t\t\t\tdir={dir}\n\t\t\t/>\n\t\t));\n\n/**\n * Renders profile-related utility items\n */\nconst renderProfileUtilityItems = (\n\titems,\n\tavatar = {},\n\tdispatch = noop,\n\tstate = noop,\n\tpopupMenuContext,\n\tisDesktop = true\n) => {\n\tconst {item: currentPopupItem, opened: currentPopupOpen} = popupMenuContext;\n\n\treturn items\n\t\t.filter((item) => item?.type === 'profile' && item?.show)\n\t\t.map((item) => {\n\t\t\tconst {id} = item;\n\t\t\tconst expanded =\n\t\t\t\tcurrentPopupItem?.sysID === item?.sysID && currentPopupOpen;\n\t\t\treturn (\n\t\t\t\t<Fragment key={id}>\n\t\t\t\t\t<button\n\t\t\t\t\t\tclassName={[\n\t\t\t\t\t\t\t'sn-cx-navigation__utility-button',\n\t\t\t\t\t\t\texpanded ? '--active' : ''\n\t\t\t\t\t\t]\n\t\t\t\t\t\t\t.join(' ')\n\t\t\t\t\t\t\t.trim()}\n\t\t\t\t\t\taria-label={USER_PROFILE}\n\t\t\t\t\t\taria-haspopup={item?.hasPopup}\n\t\t\t\t\t\taria-expanded={expanded}\n\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\t{...tabIndexIfNotDesktop(isDesktop)}\n\t\t\t\t\t\t{...createInteractionHandler(\n\t\t\t\t\t\t\thandleToggleProfileDropdown(dispatch, item, expanded)\n\t\t\t\t\t\t)}>\n\t\t\t\t\t\t{avatar.avatarPath ? (\n\t\t\t\t\t\t\t<now-avatar\n\t\t\t\t\t\t\t\tclassName=\"sn-cx-navigation__utility-avatar\"\n\t\t\t\t\t\t\t\tuser-name={avatar.fullName}\n\t\t\t\t\t\t\t\timage-src={avatar.avatarPath}\n\t\t\t\t\t\t\t\tpresence={avatar.presence}\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<span className=\"sn-cx-navigation__utility-avatar-label\">\n\t\t\t\t\t\t\t\t{avatar.fullName\n\t\t\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t\t\t.charAt(0)\n\t\t\t\t\t\t\t\t\t.toUpperCase()}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<now-tooltip content=\"Profile\" />\n\t\t\t\t\t</button>\n\t\t\t\t\t<ProfileMenu\n\t\t\t\t\t\tprofileId={id}\n\t\t\t\t\t\tavatar={avatar}\n\t\t\t\t\t\titems={item}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tstate={state}\n\t\t\t\t\t\tpopupMenuContext={popupMenuContext}\n\t\t\t\t\t\tisDesktop={isDesktop}\n\t\t\t\t\t\thandleClose={createInteractionHandler(\n\t\t\t\t\t\t\thandleToggleProfileDropdown(dispatch, item, true, false)\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t</Fragment>\n\t\t\t);\n\t\t});\n};\n\nconst renderSignIn = (dispatch, isDesktop) => {\n\tconst pathname = window.location.pathname;\n\treturn (\n\t\t<button\n\t\t\tclassName=\"sn-cx-navigation__utility-button-signin\"\n\t\t\t{...tabIndexIfNotDesktop(isDesktop)}\n\t\t\t{...createInteractionHandler(\n\t\t\t\thandleSignInInteraction(dispatch, pathname)\n\t\t\t)}>\n\t\t\t<span className=\"sn-cx-navigation__utility-button-signin-text\">\n\t\t\t\t{SIGN_IN}\n\t\t\t</span>\n\t\t</button>\n\t);\n};\n\n/**\n * Utility Component (Renders Utility Items & Profile Menu)\n */\nconst Utility = ({\n\titems = [],\n\tcurrentUser = {},\n\tpopupMenuContext,\n\tisLoggedIn,\n\tdispatch = noop,\n\tstate = noop,\n\tutilityConfig,\n\tnavigationMenuContext,\n\tselectedContent\n}) => {\n\tconst avatar = getUserAvatar(currentUser);\n\tconst activeLanguage = get(currentUser, ['user', 'language'], 'en');\n\tconst {isMobileMenuOpen, properties: {dir} = {}} = state;\n\tconst {isDesktop} = navigationMenuContext;\n\treturn (\n\t\t<ul\n\t\t\tclassName={[\n\t\t\t\t'sn-cx-navigation__utility-list',\n\t\t\t\tisMobileMenuOpen ? '--mobile-active' : ''\n\t\t\t]\n\t\t\t\t.join(' ')\n\t\t\t\t.trim()}\n\t\t\trole=\"menubar\"\n\t\t\taria-label={UTILITY_MENU}>\n\t\t\t{/* Render non-profile utility items */}\n\t\t\t{renderUtilityItems(\n\t\t\t\titems,\n\t\t\t\tpopupMenuContext,\n\t\t\t\tdispatch,\n\t\t\t\tactiveLanguage,\n\t\t\t\tutilityConfig,\n\t\t\t\tnavigationMenuContext,\n\t\t\t\tselectedContent,\n\t\t\t\tdir\n\t\t\t)}\n\n\t\t\t{/* Render profile-related utility items (Only if logged in) */}\n\t\t\t{isLoggedIn && (\n\t\t\t\t<li\n\t\t\t\t\tclassName=\"sn-cx-navigation__utility-item\"\n\t\t\t\t\tid=\"utility-profile\"\n\t\t\t\t\trole=\"none\">\n\t\t\t\t\t{renderProfileUtilityItems(\n\t\t\t\t\t\titems,\n\t\t\t\t\t\tavatar,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\tpopupMenuContext,\n\t\t\t\t\t\tnavigationMenuContext\n\t\t\t\t\t)}\n\t\t\t\t</li>\n\t\t\t)}\n\n\t\t\t{/* Render utility items (Only if user is not logged in) */}\n\t\t\t{!isLoggedIn && (\n\t\t\t\t<li\n\t\t\t\t\tclassName=\"sn-cx-navigation__utility-item\"\n\t\t\t\t\tid=\"utility-sign-in\"\n\t\t\t\t\trole=\"none\">\n\t\t\t\t\t{renderSignIn(dispatch, isDesktop)}\n\t\t\t\t</li>\n\t\t\t)}\n\t\t</ul>\n\t);\n};\n\nexport default Utility;\n","import {createInteractionHandler} from '../utils';\nimport {MENU_TOGGLE_BUTTON_CLICKED} from '../actions';\nimport {TripleBarSVG, CloseOutlineSVG} from './IconSVGComponents';\nimport {tabIndexIfNotDesktop} from './helpers';\n\n/**\n * Handles utility button clicks\n * @param {Function} dispatch - Dispatch function\n * @param {Object} item - The clicked menu item\n */\nconst handleMenuToggleClick = (dispatch, expanded) => () => {\n\tdispatch(MENU_TOGGLE_BUTTON_CLICKED, {\n\t\topened: expanded\n\t});\n};\n\n// Utility types that have popups which should hide the menu toggle\nconst UTILITY_POPUP_TYPES = ['notification', 'language'];\n\nconst MenuToggle = ({dispatch, expanded, isDesktop, popupMenuContext = {}}) => {\n\tconst {opened = false, item: activeMenuItem = {}} = popupMenuContext;\n\t// Only hide when a utility popup is open (not primary menu items)\n\tconst isUtilityPopupOpen =\n\t\topened &&\n\t\tactiveMenuItem?.menu !== 'primary' &&\n\t\tUTILITY_POPUP_TYPES.includes(activeMenuItem?.type);\n\treturn (\n\t\t<button\n\t\t\tclassName={[\n\t\t\t\t'sn-cx-navigation__menu-toggle-button',\n\t\t\t\tisUtilityPopupOpen ? '--utility-open' : ''\n\t\t\t]\n\t\t\t\t.join(' ')\n\t\t\t\t.trim()}\n\t\t\tid=\"menu-toggle\"\n\t\t\taria-label={!expanded ? 'Open navigation menu' : 'Close navigation menu'}\n\t\t\taria-haspopup=\"true\"\n\t\t\taria-expanded={expanded ? 'true' : 'false'}\n\t\t\t{...tabIndexIfNotDesktop(isDesktop)}\n\t\t\t{...createInteractionHandler(handleMenuToggleClick(dispatch, expanded))}>\n\t\t\t<span className=\"sn-cx-navigation__menu-toggle-icon\">\n\t\t\t\t{expanded ? <CloseOutlineSVG /> : <TripleBarSVG />}\n\t\t\t</span>\n\t\t</button>\n\t);\n};\n\nexport default MenuToggle;\n","import {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {createInteractionHandler} from '../utils';\nimport {tabIndexIfNotDesktop} from './helpers';\n\nconst PrimaryCTAs = ({ctas, handleInteractionClick, isDesktop = true}) => {\n\tif (!ctas || ctas.length === 0) return null;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<span className=\"sn-cx-navigation__utility-divider\" aria-hidden=\"true\" />\n\t\t\t{ctas.map((cta) =>\n\t\t\t\tcta.interactionType === 'url' ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\tkey={cta?.sysID}\n\t\t\t\t\t\tclassName=\"sn-cx-navigation__primary-cta-link\"\n\t\t\t\t\t\thref={cta.url}\n\t\t\t\t\t\ttarget={cta.urlTarget === '_blank' ? '_blank' : '_self'}\n\t\t\t\t\t\t{...tabIndexIfNotDesktop(isDesktop)}\n\t\t\t\t\t\t{...createInteractionHandler(handleInteractionClick(cta))}\n\t\t\t\t\t\t{...(cta.urlTarget === '_blank'\n\t\t\t\t\t\t\t? {rel: 'noopener noreferrer'}\n\t\t\t\t\t\t\t: {})}\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\taria-label={`Navigate to ${cta.text}`}>\n\t\t\t\t\t\t{cta.text}\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\t<button\n\t\t\t\t\t\tkey={cta?.sysID}\n\t\t\t\t\t\tclassName=\"sn-cx-navigation__primary-cta-button\"\n\t\t\t\t\t\taria-label={cta.text}\n\t\t\t\t\t\t{...tabIndexIfNotDesktop(isDesktop)}\n\t\t\t\t\t\t{...createInteractionHandler(handleInteractionClick(cta))}>\n\t\t\t\t\t\t{cta.text}\n\t\t\t\t\t</button>\n\t\t\t\t)\n\t\t\t)}\n\t\t</Fragment>\n\t);\n};\n\nexport default PrimaryCTAs;\n","import get from 'lodash/get';\nimport capitalize from 'lodash/capitalize';\n\nimport {\n\tNotificationsBellSVGSmall,\n\tLanguagesGlobeSVGSmall,\n\tChevronSVG\n} from './IconSVGComponents';\nimport {UTILITY_MENU, NOTIFICATIONS_LABEL, SYS_PROPS} from './constants';\nimport {createInteractionHandler, getSysProps} from '../utils';\nimport {\n\thandleUtilityButtonClick,\n\tNotificationBadge,\n\tUtilityItemTray\n} from './UtilityItem';\nimport {getDirectionProps} from './helpers';\nimport isEmpty from 'lodash/isEmpty';\n\nconst getNotificationsLabel = (title) => {\n\tconst currentExperience = getSysProps(\n\t\twindow.ux_globals,\n\t\tSYS_PROPS.EXPERIENCE_NAME\n\t);\n\treturn title && currentExperience\n\t\t? `${title} (${capitalize(currentExperience)})`\n\t\t: NOTIFICATIONS_LABEL;\n};\n\nfunction getLanguageNameForActiveLanguage(activeLanguage, item) {\n\tfor (const {languages} of item.items) {\n\t\tconst language = languages.find(\n\t\t\t(lang) => !lang.disabled && lang.languageCode.startsWith(activeLanguage)\n\t\t);\n\t\tif (language) {\n\t\t\treturn language.name;\n\t\t}\n\t}\n\treturn item.title;\n}\n\n/**\n * Utility type mapped to corresponding SVG icon components\n */\nconst UTILITY_ICON_MAP = {\n\tnotification: <NotificationsBellSVGSmall />,\n\tlanguage: <LanguagesGlobeSVGSmall />\n};\n\n/**\n * Returns the appropriate utility icon based on system ID\n * @param {string} type - Utility type\n * @returns {JSX.Element|null} - SVG component or null\n */\nconst getUtilityIcon = (type) => UTILITY_ICON_MAP[type] || null;\n\nconst MobileUtility = ({\n\titems = [],\n\tcurrentUser = {},\n\tpopupMenuContext,\n\tdispatch,\n\tutilityConfig,\n\tselectedContent,\n\tdir\n}) => {\n\tconst activeLanguage = get(currentUser, ['user', 'language'], 'en');\n\treturn (\n\t\t<ul\n\t\t\tclassName=\"sn-cx-navigation__utility-list-mobile\"\n\t\t\trole=\"menubar\"\n\t\t\taria-label={UTILITY_MENU}>\n\t\t\t{renderMobileUtilityItems(\n\t\t\t\titems,\n\t\t\t\tpopupMenuContext,\n\t\t\t\tdispatch,\n\t\t\t\tactiveLanguage,\n\t\t\t\tutilityConfig,\n\t\t\t\tselectedContent,\n\t\t\t\tdir\n\t\t\t)}\n\t\t</ul>\n\t);\n};\n\nconst MobileUtilityItem = ({\n\titem = {},\n\tactiveLanguage,\n\tutilityConfig = {},\n\tdispatch,\n\tpopupMenuContext,\n\tselectedContent,\n\tdir\n}) => {\n\tconst {item: currentPopupItem, opened: currentPopupOpen} = popupMenuContext;\n\tconst {routeConfig} = item;\n\tconst expanded = currentPopupItem?.sysID === item?.sysID && currentPopupOpen;\n\n\tconst {forwardDirection: chevronDirection} = getDirectionProps(dir);\n\n\t// only close mobile menu when the item has a routeConfig\n\tconst shouldCloseMobileMenu = !isEmpty(routeConfig);\n\n\treturn (\n\t\t<li className=\"sn-cx-navigation__utility-item-mobile\" role=\"none\">\n\t\t\t<button\n\t\t\t\tid={item?.sysID}\n\t\t\t\tclassName=\"sn-cx-navigation__utility-button-mobile\"\n\t\t\t\taria-label={item.title}\n\t\t\t\taria-haspopup={item.hasPopup ? 'true' : false}\n\t\t\t\taria-expanded={expanded ? 'true' : false}\n\t\t\t\trole=\"menuitem\"\n\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t{...createInteractionHandler(\n\t\t\t\t\thandleUtilityButtonClick(\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\titem,\n\t\t\t\t\t\texpanded,\n\t\t\t\t\t\tshouldCloseMobileMenu\n\t\t\t\t\t)\n\t\t\t\t)}>\n\t\t\t\t<span className=\"sn-cx-navigation__utility-icon-mobile\">\n\t\t\t\t\t{getUtilityIcon(item.type)}\n\t\t\t\t</span>\n\t\t\t\t<span className=\"sn-cx-navigation__utility-title-mobile\">\n\t\t\t\t\t{item.type == 'language'\n\t\t\t\t\t\t? getLanguageNameForActiveLanguage(activeLanguage, item)\n\t\t\t\t\t\t: getNotificationsLabel(item.title)}\n\t\t\t\t</span>\n\t\t\t\t{!isEmpty(utilityConfig) && item.type == 'notification' ? (\n\t\t\t\t\t<span className=\"sn-cx-navigation__utility-notification-badge-mobile\">\n\t\t\t\t\t\t<NotificationBadge\n\t\t\t\t\t\t\tnotificationConfig={utilityConfig}\n\t\t\t\t\t\t\tselectedContent={selectedContent}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</span>\n\t\t\t\t) : null}\n\t\t\t\t<ChevronSVG direction={chevronDirection} />\n\t\t\t</button>\n\t\t\t<UtilityItemTray\n\t\t\t\titem={item}\n\t\t\t\tpopupMenuContext={popupMenuContext}\n\t\t\t\tactiveLanguage={activeLanguage}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tutilityConfig={utilityConfig}\n\t\t\t\tisDesktop={false}\n\t\t\t\texpanded={expanded}\n\t\t\t/>\n\t\t</li>\n\t);\n};\n\nconst renderMobileUtilityItems = (\n\titems,\n\tpopupMenuContext,\n\tdispatch,\n\tactiveLanguage,\n\tutilityConfig,\n\tselectedContent,\n\tdir\n) => {\n\treturn items.map((item) => (\n\t\t<MobileUtilityItem\n\t\t\tkey={item?.sysID}\n\t\t\titem={item}\n\t\t\tpopupMenuContext={popupMenuContext}\n\t\t\tdispatch={dispatch}\n\t\t\tactiveLanguage={activeLanguage}\n\t\t\tutilityConfig={utilityConfig}\n\t\t\tselectedContent={selectedContent}\n\t\t\tdir={dir}\n\t\t/>\n\t));\n};\n\nexport default MobileUtility;\n","import {t} from 'sn-translate';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {tabIndexIfNotDesktop} from './helpers';\nimport {TRACK_ANALYTICS_CLICKED} from '../actions';\nimport {ANALYTICS_COMPONENTS_ID} from '../utils/analytics-tracking';\nimport {createInteractionHandler} from '../utils';\nimport {TEXT_DIRECTION} from './constants';\n\nconst MegaMenuFooterActions = ({items, isDesktop = true, dispatch}) => {\n\t/**\n\t * Simulates an anchor click when clicking on the <li>\n\t */\n\tconst handleLinkClick = (url, urlTarget, text, dispatch) => (e) => {\n\t\tdispatch(\n\t\t\tTRACK_ANALYTICS_CLICKED,\n\t\t\t{\n\t\t\t\telement: {\n\t\t\t\t\turl,\n\t\t\t\t\turlTarget,\n\t\t\t\t\ttext\n\t\t\t\t},\n\t\t\t\tsection: ANALYTICS_COMPONENTS_ID.PRIMARY_CTA\n\t\t\t},\n\t\t\t{event: e}\n\t\t);\n\t};\n\n\treturn (\n\t\t<nav\n\t\t\taria-label={t('contact information')}\n\t\t\tclassName=\"sn-cx-navigation__contact\"\n\t\t\trole=\"contentinfo\">\n\t\t\t<ul className=\"sn-cx-navigation__contact-list\">\n\t\t\t\t{items.map((action, index) => {\n\t\t\t\t\tconst {id, type, text, url, target} = action;\n\t\t\t\t\tconst isPhoneNumber = id === 'megamenu-sales';\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\turl && (\n\t\t\t\t\t\t\t<Fragment key={type}>\n\t\t\t\t\t\t\t\t<li className=\"sn-cx-navigation__contact-item\">\n\t\t\t\t\t\t\t\t\t{isPhoneNumber ? (\n\t\t\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"sn-cx-navigation__contact-label\">\n\t\t\t\t\t\t\t\t\t\t\t\t{text}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"sn-cx-navigation__contact-link\"\n\t\t\t\t\t\t\t\t\t\t\t\tid={id}\n\t\t\t\t\t\t\t\t\t\t\t\taria-label={text}\n\t\t\t\t\t\t\t\t\t\t\t\t{...tabIndexIfNotDesktop(isDesktop)}\n\t\t\t\t\t\t\t\t\t\t\t\t{...createInteractionHandler(\n\t\t\t\t\t\t\t\t\t\t\t\t\thandleLinkClick(url, target, text, dispatch)\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\thref={`tel:${url.replace(/[^0-9]/g, '')}`}\n\t\t\t\t\t\t\t\t\t\t\t\ttarget={target}>\n\t\t\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"sn-cx-navigation__contact-link-text\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tdir={TEXT_DIRECTION.LTR}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{url}\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"sn-cx-navigation__contact-link\"\n\t\t\t\t\t\t\t\t\t\t\tid={id}\n\t\t\t\t\t\t\t\t\t\t\taria-label={text}\n\t\t\t\t\t\t\t\t\t\t\t{...tabIndexIfNotDesktop(isDesktop)}\n\t\t\t\t\t\t\t\t\t\t\t{...createInteractionHandler(\n\t\t\t\t\t\t\t\t\t\t\t\thandleLinkClick(url, target, text, dispatch)\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\thref={url}\n\t\t\t\t\t\t\t\t\t\t\ttarget={target}>\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"sn-cx-navigation__contact-link-text\">\n\t\t\t\t\t\t\t\t\t\t\t\t{text}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</li>\n\n\t\t\t\t\t\t\t\t{/* Divider between list items except last item */}\n\t\t\t\t\t\t\t\t{index < items.length - 1 && (\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclassName=\"sn-cx-navigation__contact-item-divider\"\n\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t</nav>\n\t);\n};\n\nexport default MegaMenuFooterActions;\n","import isEmpty from 'lodash/isEmpty';\nimport PrimaryCTAs from './PrimaryCTAs';\nimport MegaMenuFooterActions from './MegaMenuFooterActions';\nimport {TRACK_ANALYTICS_CLICKED} from '../actions';\nimport {ANALYTICS_COMPONENTS_ID} from '../utils/analytics-tracking';\n\nconst renderMegaMenuFooterActions = (megamenuCTAs, dispatch) => {\n\tif (megamenuCTAs.length === 0) return null;\n\treturn (\n\t\t<MegaMenuFooterActions\n\t\t\titems={megamenuCTAs}\n\t\t\tisDesktop={false}\n\t\t\tdispatch={dispatch}\n\t\t/>\n\t);\n};\n\nconst MobileCTAs = ({primaryCTAs, megamenuCTAs, dispatch}) => {\n\tconst handleInteractionClick = ({routeConfig, eventConfig, cta = {}}) => (\n\t\te\n\t) => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t\tif (routeConfig) {\n\t\t\tdispatch('NAV_ITEM_SELECTED', {...routeConfig});\n\t\t\tdispatch(\n\t\t\t\tTRACK_ANALYTICS_CLICKED,\n\t\t\t\t{\n\t\t\t\t\tcta,\n\t\t\t\t\tsection: ANALYTICS_COMPONENTS_ID.PRIMARY_GLOBAL\n\t\t\t\t},\n\t\t\t\t{event: e}\n\t\t\t);\n\t\t} else if (!isEmpty(eventConfig)) {\n\t\t\tdispatch(eventConfig.name, eventConfig.payload);\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className=\"sn-cx-navigation__mobile-ctas\">\n\t\t\t<PrimaryCTAs\n\t\t\t\tctas={primaryCTAs}\n\t\t\t\thandleInteractionClick={handleInteractionClick}\n\t\t\t\tisDesktop={false}\n\t\t\t/>\n\t\t\t{renderMegaMenuFooterActions(megamenuCTAs, dispatch)}\n\t\t</div>\n\t);\n};\n\nexport default MobileCTAs;\n","import {createInteractionHandler} from '../utils';\nimport Logo from './Logo';\nimport PrimaryMenuList from './PrimaryMenuList';\nimport Utility from './Utility';\nimport MenuToggle from './MenuToggle';\nimport {MENU_TYPES, PRIMARY_NAVIGATION} from './constants';\nimport {\n\tMENU_TOGGLE_BUTTON_CLICKED,\n\tPRIMARY_MENU_INSERTED,\n\tTRACK_ANALYTICS_CLICKED\n} from '../actions';\nimport PrimaryCTAs from './PrimaryCTAs';\nimport isEmpty from 'lodash/isEmpty';\nimport Divider from './Divider';\nimport MobileUtility from './MobileUtility';\nimport MobileCTAs from './MobileCTAs';\nimport {ANALYTICS_COMPONENTS_ID} from '../utils/analytics-tracking';\n\nexport const handleMenuToggleClick = (dispatch, expanded) => () => {\n\tdispatch(MENU_TOGGLE_BUTTON_CLICKED, {\n\t\topened: expanded\n\t});\n};\n\nexport const handlePrimaryMenuInserted = ({elm, dispatch}) => {\n\tdispatch(PRIMARY_MENU_INSERTED, {\n\t\tmenuEl: elm\n\t});\n};\n\n/**\n * Renders Primary Mobile Utility Items and Primary CTAs (Notification, Language)\n */\nconst MobileUtilitySection = ({\n\tprimaryCTAs,\n\tmegamenuCTAs,\n\tprimaryUtility,\n\tutilityConfig,\n\tpopupMenuContext,\n\tcurrentUser,\n\tdispatch,\n\tselectedContent,\n\tdir\n}) => {\n\treturn (\n\t\t<div className=\"sn-cx-navigation__utility-wrapper-mobile\">\n\t\t\t{\n\t\t\t\t<MobileUtility\n\t\t\t\t\titems={primaryUtility}\n\t\t\t\t\tcurrentUser={currentUser}\n\t\t\t\t\tpopupMenuContext={popupMenuContext}\n\t\t\t\t\tutilityConfig={utilityConfig}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tselectedContent={selectedContent}\n\t\t\t\t\tdir={dir}\n\t\t\t\t/>\n\t\t\t}\n\t\t\t{\n\t\t\t\t<MobileCTAs\n\t\t\t\t\tprimaryCTAs={primaryCTAs}\n\t\t\t\t\tmegamenuCTAs={megamenuCTAs}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t/>\n\t\t\t}\n\t\t</div>\n\t);\n};\n\n/**\n * Renders the Primary Navigation Menu\n * @param {Object} props - Component props\n * @param {Object} props.state - Component state containing navigation & user data\n * @param {Array} props.items - Primary navigation items\n * @param {Function} props.dispatch - Function to dispatch actions\n */\nconst PrimaryMenu = ({\n\tstate,\n\titems,\n\tprimaryCTAs,\n\tdispatch,\n\tlogo,\n\tmegamenuCTAs,\n\tprimaryUtility = {},\n\tcurrentUser,\n\tisLoggedIn,\n\tutilityConfig,\n\tpopupMenuContext,\n\tisMobileMenuOpen,\n\tisDesktop,\n\tisMobile,\n\tselectedContent\n}) => {\n\tconst {opened = false, item: activeMenuItem = {}} = popupMenuContext;\n\tconst {properties: {dir} = {}} = state;\n\tconst validMobileUtilityTypes = ['notification', 'language'];\n\tconst filteredPrimaryUtility =\n\t\t!isDesktop && isMobile\n\t\t\t? primaryUtility.filter(\n\t\t\t\t\t(item) => item.show && !validMobileUtilityTypes.includes(item.type)\n\t\t\t  )\n\t\t\t: primaryUtility;\n\tconst filteredMobileUtility =\n\t\t!isDesktop && isMobile\n\t\t\t? primaryUtility.filter(\n\t\t\t\t\t(item) => item.show && validMobileUtilityTypes.includes(item.type)\n\t\t\t  )\n\t\t\t: [];\n\tconst navigationMenuContext = {\n\t\tisDesktop,\n\t\tnavigationType: MENU_TYPES.PRIMARY\n\t};\n\n\treturn (\n\t\t<nav\n\t\t\tclassName=\"sn-cx-navigation__primary-menu\"\n\t\t\trole=\"navigation\"\n\t\t\taria-label={PRIMARY_NAVIGATION}\n\t\t\thook-insert={({elm}) => {\n\t\t\t\thandlePrimaryMenuInserted({elm, dispatch});\n\t\t\t}}>\n\t\t\t{/* 🏷️ Logo & Primary Navigation */}\n\t\t\t<div className=\"sn-cx-navigation__logo-links\">\n\t\t\t\t{!isEmpty(logo) && (\n\t\t\t\t\t<PrimaryLogo\n\t\t\t\t\t\tlogo={logo}\n\t\t\t\t\t\tisDesktop={isDesktop}\n\t\t\t\t\t\tisMobile={isMobile}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t<div\n\t\t\t\t\tclassName={[\n\t\t\t\t\t\t'sn-cx-navigation__primary-menu-wrapper',\n\t\t\t\t\t\tisMobileMenuOpen ? '--mobile-active' : '',\n\t\t\t\t\t\tisMobileMenuOpen && opened && activeMenuItem.menu == 'primary'\n\t\t\t\t\t\t\t? '--hide-inactive-tabs'\n\t\t\t\t\t\t\t: ''\n\t\t\t\t\t]\n\t\t\t\t\t\t.join(' ')\n\t\t\t\t\t\t.trim()}>\n\t\t\t\t\t{!isEmpty(items) && (\n\t\t\t\t\t\t<PrimaryMenuList\n\t\t\t\t\t\t\titems={items}\n\t\t\t\t\t\t\tstate={state}\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\tisDesktop={isDesktop}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{<Divider />}\n\t\t\t\t\t{!isDesktop && (\n\t\t\t\t\t\t<MobileUtilitySection\n\t\t\t\t\t\t\tprimaryUtility={filteredMobileUtility}\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\tcurrentUser={currentUser}\n\t\t\t\t\t\t\tpopupMenuContext={popupMenuContext}\n\t\t\t\t\t\t\tutilityConfig={utilityConfig}\n\t\t\t\t\t\t\tprimaryCTAs={primaryCTAs}\n\t\t\t\t\t\t\tmegamenuCTAs={megamenuCTAs}\n\t\t\t\t\t\t\tselectedContent={selectedContent}\n\t\t\t\t\t\t\tdir={dir}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{isMobileMenuOpen ? (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={[\n\t\t\t\t\t\t\t'sn-cx-navigation__primary-menu-overlay',\n\t\t\t\t\t\t\tisMobileMenuOpen && opened && activeMenuItem.menu == 'primary'\n\t\t\t\t\t\t\t\t? '--hide-inactive-tabs'\n\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t]\n\t\t\t\t\t\t\t.join(' ')\n\t\t\t\t\t\t\t.trim()}\n\t\t\t\t\t\t{...createInteractionHandler(\n\t\t\t\t\t\t\thandleMenuToggleClick(dispatch, isMobileMenuOpen)\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t</div>\n\n\t\t\t{/* 🏷️ Utility Actions (Profile, Notifications, etc.) */}\n\t\t\t<UtilitySection\n\t\t\t\tprimaryUtility={filteredPrimaryUtility}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tcurrentUser={currentUser}\n\t\t\t\tisLoggedIn={isLoggedIn}\n\t\t\t\tstate={state}\n\t\t\t\tpopupMenuContext={popupMenuContext}\n\t\t\t\tutilityConfig={utilityConfig}\n\t\t\t\tprimaryCTAs={primaryCTAs}\n\t\t\t\tnavigationMenuContext={navigationMenuContext}\n\t\t\t\tselectedContent={selectedContent}\n\t\t\t/>\n\t\t</nav>\n\t);\n};\n\n/**\n * Renders the Primary Navigation Logo\n */\nconst PrimaryLogo = ({logo, isDesktop, isMobile, dispatch}) => (\n\t<div className=\"sn-cx-navigation__logo-wrapper\">\n\t\t<Logo\n\t\t\tlogoSrc={logo.logoSrc}\n\t\t\taltText={logo.logoAlt || 'ServiceNow'}\n\t\t\texternal={logo.external}\n\t\t\ttype=\"primary\"\n\t\t\tisDesktop={isDesktop}\n\t\t\tisMobile={isMobile}\n\t\t\tdispatch={dispatch}\n\t\t/>\n\t</div>\n);\n\n/**\n * Renders the Utility Section (Profile, Notifications, etc.)\n * @param {Object} props - Utility section props\n */\nconst UtilitySection = ({\n\tprimaryUtility,\n\tdispatch,\n\tisLoggedIn,\n\tstate,\n\tcurrentUser,\n\tpopupMenuContext,\n\tutilityConfig,\n\tprimaryCTAs,\n\tnavigationMenuContext,\n\tselectedContent\n}) => {\n\tconst {isDesktop} = navigationMenuContext;\n\t// Determines if CTAs should be rendered\n\tconst shouldRenderCTAs = () => !isEmpty(primaryCTAs);\n\n\t// Handles CTA interactions\n\tconst handleCTAInteraction = (cta) => (e) => {\n\t\tconst {routeConfig, eventConfig, interactionType} = cta;\n\t\tif (interactionType !== 'url') {\n\t\t\te.preventDefault();\n\t\t}\n\t\te.stopPropagation();\n\n\t\tdispatch(\n\t\t\tTRACK_ANALYTICS_CLICKED,\n\t\t\t{\n\t\t\t\telement: cta,\n\t\t\t\tsection: ANALYTICS_COMPONENTS_ID.PRIMARY_CTA\n\t\t\t},\n\t\t\t{event: e}\n\t\t);\n\n\t\tif (routeConfig) {\n\t\t\tdispatch('NAV_ITEM_SELECTED', {...routeConfig});\n\t\t} else if (!isEmpty(eventConfig)) {\n\t\t\tdispatch(eventConfig.name, eventConfig.payload);\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className=\"sn-cx-navigation__utility\">\n\t\t\t<Utility\n\t\t\t\titems={primaryUtility}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tstate={state}\n\t\t\t\tcurrentUser={currentUser}\n\t\t\t\tpopupMenuContext={popupMenuContext}\n\t\t\t\tutilityConfig={utilityConfig}\n\t\t\t\tisLoggedIn={isLoggedIn}\n\t\t\t\tnavigationMenuContext={navigationMenuContext}\n\t\t\t\tselectedContent={selectedContent}\n\t\t\t/>\n\t\t\t{shouldRenderCTAs() && (\n\t\t\t\t<PrimaryCTAs\n\t\t\t\t\tctas={primaryCTAs}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\thandleInteractionClick={handleCTAInteraction}\n\t\t\t\t\tisDesktop={isDesktop}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<MenuToggle\n\t\t\t\tisDesktop={isDesktop}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\texpanded={state.isMobileMenuOpen}\n\t\t\t\tpopupMenuContext={popupMenuContext}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nexport default PrimaryMenu;\n","import isEmpty from 'lodash/isEmpty';\nimport {createInteractionHandler} from '../utils';\nimport {tabIndexIfNotDesktop, getDirectionProps} from './helpers';\nimport {\n\tSECONDARY_MENU_DROPDOWN_ITEM_TOGGLED,\n\tTRACK_ANALYTICS_CLICKED,\n\tANCHOR_TAG_CLICKED,\n\tSECONDARY_DROPDOWN_LEVEL_UPDATED\n} from '../actions';\nimport {ChevronDarkSVG, ExternalLinkSVG} from './IconSVGComponents';\nimport {SECONDARY_DROP_MENU_ITEM_ICON_COLOR} from './constants';\nimport {ANALYTICS_COMPONENTS_ID} from '../utils/analytics-tracking';\n\nconst renderDropdownSubItemIcon = (urlTarget, isExpanded, subItemsL2, dir) => {\n\tif (urlTarget === '_blank') {\n\t\treturn (\n\t\t\t<span\n\t\t\t\tclassName=\"sn-cx-navigation__secondary-menu-dropdown-subitem-icon\"\n\t\t\t\taria-hidden=\"true\">\n\t\t\t\t<ExternalLinkSVG\n\t\t\t\t\tfill={SECONDARY_DROP_MENU_ITEM_ICON_COLOR}\n\t\t\t\t\twidth=\"12\"\n\t\t\t\t\theight=\"12\"\n\t\t\t\t/>\n\t\t\t</span>\n\t\t);\n\t}\n\tif (!isEmpty(subItemsL2)) {\n\t\treturn (\n\t\t\t<span\n\t\t\t\tclassName={`sn-cx-navigation__secondary-menu-dropdown-subitem-icon ${\n\t\t\t\t\tisExpanded ? '--expanded' : ''\n\t\t\t\t}`.trim()}\n\t\t\t\taria-hidden=\"true\">\n\t\t\t\t<ChevronDarkSVG direction={getDirectionProps(dir).forwardDirection} />\n\t\t\t</span>\n\t\t);\n\t}\n\treturn null;\n};\n\nconst DropdownMenuButton = ({\n\tprops,\n\tsubItem,\n\turlTarget,\n\tisExpanded,\n\tsubItemsL2,\n\tdir\n}) => (\n\t<button {...props}>\n\t\t<span className=\"sn-cx-navigation__secondary-menu-dropdown-text\">\n\t\t\t{subItem?.label}\n\t\t</span>\n\t\t{renderDropdownSubItemIcon(urlTarget, isExpanded, subItemsL2, dir)}\n\t</button>\n);\n\nconst DropdownMenuLink = ({\n\tprops,\n\tsubItem,\n\turlTarget,\n\tisExpanded,\n\tsubItemsL2,\n\tdir\n}) => (\n\t<a {...props} href={subItem?.url} target={subItem?.urlTarget || '_self'}>\n\t\t<span className=\"sn-cx-navigation__secondary-menu-dropdown-text\">\n\t\t\t{subItem?.label}\n\t\t</span>\n\t\t{renderDropdownSubItemIcon(urlTarget, isExpanded, subItemsL2, dir)}\n\t</a>\n);\n\nconst SecondaryMenuDropdownItem = ({\n\titem,\n\tsubItem,\n\tdispatch,\n\tsecondayDropdownSubItemContext = {},\n\tgrandParentItem,\n\tisDesktop,\n\tisButton = false,\n\tdir\n}) => {\n\tconst toggleSecondaryDropdownSubItem = (e, currentSubItem) => {\n\t\t// Early exit toggle function\n\t\tif (isEmpty(currentSubItem)) return;\n\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\t\tconst {\n\t\t\topened: expanded,\n\t\t\titem: secondaryDropdownSubItem\n\t\t} = secondayDropdownSubItemContext;\n\t\tconst opened =\n\t\t\t!!expanded && secondaryDropdownSubItem?.sysID === currentSubItem.sysID;\n\t\tdispatch(\n\t\t\tSECONDARY_MENU_DROPDOWN_ITEM_TOGGLED,\n\t\t\t{\n\t\t\t\titem: opened ? {} : currentSubItem,\n\t\t\t\tparent: item,\n\t\t\t\tgrandParentItem,\n\t\t\t\topened,\n\t\t\t\teventType: e?.type,\n\t\t\t\t// Propogates downwards to be used to increment the level value in toggleSecondaryMenuDropdownItem\n\t\t\t\tmenuLevelDelta: 1\n\t\t\t},\n\t\t\t{event: e}\n\t\t);\n\t};\n\n\tconst handleDropdownSelection = (e) => {\n\t\t// when menu item is inside More dropdown\n\t\te.preventDefault();\n\t\tconst {routeConfig = {}, items, eventConfig = {}} = subItem;\n\n\t\tif (!isEmpty(eventConfig)) {\n\t\t\t// item is not having interaction type\n\t\t\tdispatch(eventConfig?.name, eventConfig?.payload);\n\t\t}\n\t\tif (!isEmpty(routeConfig)) {\n\t\t\tdispatch(\n\t\t\t\tTRACK_ANALYTICS_CLICKED,\n\t\t\t\t{\n\t\t\t\t\t// passing in subItem as it is the current item selected in this handler\n\t\t\t\t\telement: subItem,\n\t\t\t\t\tsection: ANALYTICS_COMPONENTS_ID.SECONDARY_MENUITEM,\n\t\t\t\t\tmenuLevelDelta: 1\n\t\t\t\t},\n\t\t\t\t{event: e}\n\t\t\t);\n\t\t\tdispatch('NAV_ITEM_SELECTED', {\n\t\t\t\t...routeConfig\n\t\t\t});\n\t\t}\n\t\t/* Close the dropdown if no subitems - revisit this later based on event being dispatched */\n\t\t// if (isEmpty(items)) {\n\t\t// \tdispatch(CLOSE_POPOVERS, e);\n\t\t// }\n\t\tif (!isEmpty(items)) {\n\t\t\ttoggleSecondaryDropdownSubItem(e, subItem);\n\t\t}\n\t};\n\n\tconst handleLinkDropdownSelection = (e) => {\n\t\te.preventDefault();\n\t\tconst {url, urlTarget, items} = subItem;\n\t\tif (!isEmpty(url)) {\n\t\t\t// Dispatch update to level increment\n\t\t\tdispatch(SECONDARY_DROPDOWN_LEVEL_UPDATED, {\n\t\t\t\tmenuLevelDelta: 1\n\t\t\t});\n\t\t\tdispatch(\n\t\t\t\tTRACK_ANALYTICS_CLICKED,\n\t\t\t\t{\n\t\t\t\t\telement: subItem,\n\t\t\t\t\tsection: ANALYTICS_COMPONENTS_ID.SECONDARY_MENUITEM\n\t\t\t\t},\n\t\t\t\t{event: e}\n\t\t\t);\n\t\t\tdispatch(ANCHOR_TAG_CLICKED, {url, urlTarget}, {mouseClickEvent: e});\n\t\t}\n\t\tif (!isEmpty(items)) {\n\t\t\ttoggleSecondaryDropdownSubItem(e, subItem);\n\t\t}\n\t};\n\n\tconst dropdownSelectionHandler = isButton\n\t\t? handleDropdownSelection\n\t\t: handleLinkDropdownSelection;\n\n\tconst commonProps = {\n\t\tclassName: isButton\n\t\t\t? 'sn-cx-navigation__secondary-menu-dropdown-button'\n\t\t\t: 'sn-cx-navigation__secondary-menu-dropdown-link',\n\t\trole: 'menuitem',\n\t\t...tabIndexIfNotDesktop(isDesktop),\n\t\t'aria-label': subItem.label,\n\t\t...createInteractionHandler(dropdownSelectionHandler)\n\t};\n\n\tconst {items: subItemsL2, urlTarget} = subItem;\n\tconst {\n\t\topened,\n\t\titem: secondaryDropdownSubItem\n\t} = secondayDropdownSubItemContext;\n\tconst isExpanded =\n\t\topened && secondaryDropdownSubItem?.sysID === subItem.sysID;\n\n\treturn (\n\t\t<div className=\"sn-cx-navigation__secondary-menu-dropdown-item-wrapper\">\n\t\t\t{isButton ? (\n\t\t\t\t<DropdownMenuButton\n\t\t\t\t\tprops={commonProps}\n\t\t\t\t\tsubItem={subItem}\n\t\t\t\t\turlTarget={urlTarget}\n\t\t\t\t\tisExpanded={isExpanded}\n\t\t\t\t\tsubItemsL2={subItemsL2}\n\t\t\t\t\tdir={dir}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<DropdownMenuLink\n\t\t\t\t\tprops={commonProps}\n\t\t\t\t\tsubItem={subItem}\n\t\t\t\t\turlTarget={urlTarget}\n\t\t\t\t\tisExpanded={isExpanded}\n\t\t\t\t\tsubItemsL2={subItemsL2}\n\t\t\t\t\tdir={dir}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport default SecondaryMenuDropdownItem;\n","import isEmpty from 'lodash/isEmpty';\nimport SecondaryMenuDropdownItem from './SecondaryMenuDropdownItem';\n\nconst renderDropdownListItem = (\n\titem,\n\tsubItem,\n\tdispatch,\n\tsecondayDropdownSubItemContext = {},\n\tgrandParentItem,\n\tisDesktop,\n\tdir\n) => (\n\t<li\n\t\tkey={subItem?.sysID}\n\t\tclassName=\"sn-cx-navigation__secondary-menu-dropdown-item\"\n\t\trole=\"none\">\n\t\t<SecondaryMenuDropdownItem\n\t\t\titem={item}\n\t\t\tsubItem={subItem}\n\t\t\tdispatch={dispatch}\n\t\t\tsecondayDropdownSubItemContext={secondayDropdownSubItemContext}\n\t\t\tisDesktop={isDesktop}\n\t\t\tisButton={\n\t\t\t\t!!subItem.routeConfig ||\n\t\t\t\t!!subItem?.eventConfig ||\n\t\t\t\t!(subItem?.url || subItem?.urlTarget)\n\t\t\t}\n\t\t\tgrandParentItem={grandParentItem}\n\t\t\tdir={dir}\n\t\t/>\n\t</li>\n);\n\nconst SecondaryMenuDropdownExpandedItem = ({\n\titem,\n\tdispatch,\n\tsecondayDropdownSubItemContext = {},\n\tgrandParentItem,\n\tisDesktop,\n\tdir\n}) => {\n\tconst {items = []} = item;\n\tif (isEmpty(items)) return null;\n\n\treturn (\n\t\t<ul className=\"sn-cx-navigation__secondary-menu-expanded-dropdown-sublist\">\n\t\t\t{items?.map((subItem) =>\n\t\t\t\trenderDropdownListItem(\n\t\t\t\t\titem,\n\t\t\t\t\tsubItem,\n\t\t\t\t\tdispatch,\n\t\t\t\t\tsecondayDropdownSubItemContext,\n\t\t\t\t\tgrandParentItem,\n\t\t\t\t\tisDesktop,\n\t\t\t\t\tdir\n\t\t\t\t)\n\t\t\t)}\n\t\t</ul>\n\t);\n};\n\nexport default SecondaryMenuDropdownExpandedItem;\n","import {BACK_BUTTON} from './constants';\nimport {BackButtonSVG} from './IconSVGComponents';\n\nconst SecondaryMenuDropdownTitle = ({label, toggleInteraction}) => {\n\treturn (\n\t\t<li className=\"sn-cx-navigation__secondary-menu-dropdown-title-container\">\n\t\t\t<button\n\t\t\t\tclassName=\"sn-cx-navigation__secondary-menu-back-button\"\n\t\t\t\taria-label={BACK_BUTTON}\n\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t{...toggleInteraction}>\n\t\t\t\t<BackButtonSVG />\n\n\t\t\t\t<h3 className=\"sn-cx-navigation__secondary-menu-dropdown-title\">\n\t\t\t\t\t{label}\n\t\t\t\t</h3>\n\t\t\t</button>\n\t\t</li>\n\t);\n};\n\nexport default SecondaryMenuDropdownTitle;\n","import isEmpty from 'lodash/isEmpty';\nimport noop from 'lodash/noop';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport SecondaryMenuDropdownExpandedItem from './SecondaryMenuDropdownExpandedItem';\nimport SecondaryMenuDropdownItem from './SecondaryMenuDropdownItem';\nimport {createInteractionHandler} from '../utils';\nimport {\n\tSECONDARY_MENU_DROPDOWN_ITEM_TOGGLED,\n\tSECONDARY_DROPDOWN_ELEMENT_REF_UPDATED\n} from '../actions';\nimport {ChevronDarkSVG} from './IconSVGComponents';\nimport SecondaryMenuDropdownTitle from './SecondaryMenuDropdownTitle';\nimport {\n\tfindSecondaryMenuParentElement,\n\ttabIndexIfNotDesktop,\n\tgetDirectionProps\n} from './helpers';\n\nconst renderDropdownListItem = (\n\titem,\n\tsubItem,\n\tdispatch,\n\tsecondayDropdownSubItemContext = {},\n\tgrandParentItem,\n\tindex,\n\tisDesktop,\n\tdir\n) => (\n\t<li\n\t\tkey={subItem?.sysID}\n\t\tclassName=\"sn-cx-navigation__secondary-menu-dropdown-item\"\n\t\trole=\"none\">\n\t\t<SecondaryMenuDropdownItem\n\t\t\titem={item}\n\t\t\tsubItem={subItem}\n\t\t\tdispatch={dispatch}\n\t\t\tsecondayDropdownSubItemContext={secondayDropdownSubItemContext}\n\t\t\tgrandParentItem={grandParentItem}\n\t\t\tisButton={\n\t\t\t\t!!subItem.routeConfig ||\n\t\t\t\t!!subItem?.eventConfig ||\n\t\t\t\t!(subItem?.url || subItem?.urlTarget)\n\t\t\t}\n\t\t\tindex={index}\n\t\t\tisDesktop={isDesktop}\n\t\t\tdir={dir}\n\t\t/>\n\t</li>\n);\n\nconst renderDropdownListItemExpanded = ({\n\texpandedSubItem,\n\tdispatch,\n\tsecondayDropdownSubItemContext,\n\tgrandParentItem,\n\tisDesktop,\n\tdir\n}) => (\n\t<SecondaryMenuDropdownExpandedItem\n\t\titem={expandedSubItem}\n\t\tdispatch={dispatch}\n\t\tsecondayDropdownSubItemContext={secondayDropdownSubItemContext}\n\t\tgrandParentItem={grandParentItem}\n\t\tisDesktop={isDesktop}\n\t\tdir={dir}\n\t/>\n);\n\nconst SecondaryMenuDropdown = ({\n\titem: rootItem,\n\tshowDropdown,\n\tdispatch = noop,\n\tsecondayDropdownSubItemContext = {},\n\tclickHandlerInteraction,\n\tisDesktop,\n\tdir\n}) => {\n\tconst {items = []} = rootItem;\n\tif (isEmpty(items) || !showDropdown) return null;\n\n\tconst {\n\t\titem: expandedSubItem,\n\t\topened: isSubItemExpanded,\n\t\tparent: grandParentItem\n\t} = secondayDropdownSubItemContext;\n\n\tconst showExpandedItem = isSubItemExpanded && !isEmpty(expandedSubItem);\n\n\tconst toggleExpandedSubItem = (e) => {\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\t\tconst {\n\t\t\topened: expanded,\n\t\t\tparent: prevParent,\n\t\t\tgrandParentItem: prevGrandParent\n\t\t} = secondayDropdownSubItemContext;\n\t\t/**\n\t\t * check if the parent of the current subItem is the root parent,\n\t\t * or it's also a subItem. 'item' is the root parent and 'parent' is the\n\t\t * parent of the current subItem.\n\t\t */\n\t\tconst isRootParent = prevParent?.sysID === rootItem?.sysID;\n\t\tconst currentItem = isRootParent ? rootItem : prevParent;\n\t\tconst currentGrandParent = isRootParent\n\t\t\t? null\n\t\t\t: findSecondaryMenuParentElement(rootItem, prevGrandParent?.sysID);\n\t\tdispatch(\n\t\t\tSECONDARY_MENU_DROPDOWN_ITEM_TOGGLED,\n\t\t\t{\n\t\t\t\titem: expanded && isRootParent ? {} : currentItem,\n\t\t\t\t/*\n\t\t\t\t * likewise, whether or not the secondary subItem dropdown\n\t\t\t\t * is opened or closed depends on whether the parent is the root\n\t\t\t\t */\n\t\t\t\topened: isRootParent ? expanded : !expanded,\n\t\t\t\tparent: prevGrandParent,\n\t\t\t\tgrandParentItem: currentGrandParent,\n\t\t\t\teventType: e?.type,\n\t\t\t\t// -1 to update with a decrement level\n\t\t\t\tmenuLevelDelta: -1\n\t\t\t},\n\t\t\t{event: e}\n\t\t);\n\t};\n\n\tconst toggleInteraction = createInteractionHandler(toggleExpandedSubItem);\n\tconst dropdownTitle = expandedSubItem?.label || rootItem?.label;\n\n\treturn (\n\t\t<ul\n\t\t\tclassName={`sn-cx-navigation__secondary-menu-dropdown-list ${\n\t\t\t\tshowDropdown ? '--show' : ''\n\t\t\t}`.trim()}\n\t\t\thook-insert={({elm}) => {\n\t\t\t\tdispatch(SECONDARY_DROPDOWN_ELEMENT_REF_UPDATED, {\n\t\t\t\t\tsecondaryMenuDropdownRef: elm\n\t\t\t\t});\n\t\t\t}}\n\t\t\trole=\"menu\"\n\t\t\taria-label=\"Secondary Dropdown Menu\"\n\t\t\t{...(!showDropdown ? {'aria-hidden': 'true'} : {})}>\n\t\t\t{dropdownTitle && !isDesktop && (\n\t\t\t\t<SecondaryMenuDropdownTitle\n\t\t\t\t\tlabel={dropdownTitle}\n\t\t\t\t\ttoggleInteraction={\n\t\t\t\t\t\tisEmpty(expandedSubItem)\n\t\t\t\t\t\t\t? clickHandlerInteraction\n\t\t\t\t\t\t\t: toggleInteraction\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{showExpandedItem ? (\n\t\t\t\t/**\n\t\t\t\t * if sub-item is expanded, render the expanded dropdown,\n\t\t\t\t * The subItems can be deeply nested. Only the first level\n\t\t\t\t * of subItems are shown in the expanded dropdown.\n\t\t\t\t */\n\t\t\t\t<Fragment>\n\t\t\t\t\t{isDesktop && (\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\tclassName=\"sn-cx-navigation__secondary-menu-expanded-dropdown-heading\"\n\t\t\t\t\t\t\t{...toggleInteraction}>\n\t\t\t\t\t\t\t{/* this back-button takes the user to the parent\n\t\t\t\t\t\t\t * of the current subItem. The parent can also be a\n\t\t\t\t\t\t\t * subItem or the root parent.\n\t\t\t\t\t\t\t */}\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t{...tabIndexIfNotDesktop(isDesktop)}\n\t\t\t\t\t\t\t\tclassName=\"sn-cx-navigation__secondary-menu-expanded-dropdown-button\">\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\tclassName=\"sn-cx-navigation__secondary-menu-expanded-icon\">\n\t\t\t\t\t\t\t\t\t<ChevronDarkSVG\n\t\t\t\t\t\t\t\t\t\tdirection={getDirectionProps(dir).backDirection}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<span className=\"sn-cx-navigation__secondary-menu-expanded-dropdown-heading-text\">\n\t\t\t\t\t\t\t\t\t{expandedSubItem?.label}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t)}\n\t\t\t\t\t{renderDropdownListItemExpanded({\n\t\t\t\t\t\texpandedSubItem,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tsecondayDropdownSubItemContext,\n\t\t\t\t\t\tgrandParentItem,\n\t\t\t\t\t\tisDesktop,\n\t\t\t\t\t\tdir\n\t\t\t\t\t})}\n\t\t\t\t</Fragment>\n\t\t\t) : (\n\t\t\t\t/**\n\t\t\t\t * render the dropdown list items\n\t\t\t\t */\n\t\t\t\titems.map((subItem, index) =>\n\t\t\t\t\trenderDropdownListItem(\n\t\t\t\t\t\trootItem,\n\t\t\t\t\t\tsubItem,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tsecondayDropdownSubItemContext,\n\t\t\t\t\t\tgrandParentItem,\n\t\t\t\t\t\tindex,\n\t\t\t\t\t\tisDesktop,\n\t\t\t\t\t\tdir\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t)}\n\t\t</ul>\n\t);\n};\n\nexport default SecondaryMenuDropdown;\n","import isEmpty from 'lodash/isEmpty';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport SecondaryMenuDropdown from './SecondaryMenuDropdown';\nimport {ChevronDownIconDark, ChevronUpIconDark} from './IconSVGComponents';\nimport {createHoverHandler, createInteractionHandler} from '../utils';\nimport {shouldShowMegaMenu, tabIndexIfNotDesktop} from './helpers';\nimport {\n\tSECONDARY_MENUITEM_FOCUS_REQUESTED,\n\tSECONDARY_MENUITEM_BLUR_REQUESTED,\n\tSECONDARY_MENUITEM_CLICKED,\n\tSECONDARY_POPOVER_MENUITEM_CLICKED\n} from '../actions';\n\n/**\n *  Handles menu item focus event\n * @param {Function} dispatch - Dispatch function\n * @param {Object} item - Menu item\n * @returns {Function} - Event handler function\n */\nconst handleFocus = (dispatch, item) => (e) => {\n\te.stopPropagation();\n\te.preventDefault();\n\tdispatch(SECONDARY_MENUITEM_FOCUS_REQUESTED, {item}, {event: e});\n};\n\n/**\n *  Handles menu item blur event\n * @param {Function} dispatch - Dispatch function\n * @param {Object} item - Menu item\n * @returns {Function} - Event handler function\n */\nconst handleBlur = (dispatch, item) => (e) => {\n\te.stopPropagation();\n\te.preventDefault();\n\tdispatch(SECONDARY_MENUITEM_BLUR_REQUESTED, {item}, {event: e});\n};\n\n/**\n *  Handles menu item click event\n * @param {Function} dispatch - Dispatch function\n * @param {Object} item - Menu item\n * @returns {Function} - Event handler function\n */\nconst handleClick = (dispatch, item = {}, popupMenuContext = {}) => (e) => {\n\te.preventDefault();\n\tif (item?.hasPopup) {\n\t\tconst {opened, item: currentOpenItem = {}} = popupMenuContext;\n\t\tdispatch(\n\t\t\tSECONDARY_POPOVER_MENUITEM_CLICKED,\n\t\t\t{\n\t\t\t\topened: currentOpenItem?.sysID === item?.sysID && opened,\n\t\t\t\titem,\n\t\t\t\teventType: e?.type\n\t\t\t},\n\t\t\t{event: e}\n\t\t);\n\t} else {\n\t\tdispatch(SECONDARY_MENUITEM_CLICKED, {item}, {mouseClickEvent: e});\n\t}\n};\n\n/**\n *  Determines if the dropdown should be displayed\n * @param {Object} popupMenuContext - Popup menu state\n * @param {Object} item - Menu item\n * @returns {boolean} - Whether the dropdown should be shown\n */\nconst shouldShowDropdown = (popupMenuContext, item) =>\n\t!isEmpty(popupMenuContext) &&\n\tpopupMenuContext.opened &&\n\titem?.sysID === popupMenuContext?.item?.sysID &&\n\titem?.id === popupMenuContext?.item?.id;\n/**\n * check both sysID and id:\n * some items (eg: profile and 'more') do not have sysID, which\n * causes the overflow menu to expand when not intended to\n */\n\n/**\n *  Determines the class state of the menu item (hover/active)\n * @param {Object} focusedMenuItem - The currently focused menu item\n * @param {Object} activeMenu - The currently active menu item\n * @param {Object} item - The menu item to check\n * @returns {Object} - Boolean values for hover and active state\n */\nconst getMenuItemState = (focusedMenuItem, activeMenu, item) => ({\n\tisHover: !isEmpty(focusedMenuItem) && focusedMenuItem.sysID === item.sysID,\n\tisActive: !isEmpty(activeMenu) && activeMenu.sysID === item.sysID\n});\n\nconst MenuButton = ({commonProps, item, showDropdown, isActive}) => (\n\t<button\n\t\t{...commonProps}\n\t\tclassName={`sn-cx-navigation__secondary-menu-button ${\n\t\t\tisActive ? '--active' : ''\n\t\t} ${commonProps.className || ''}`.trim()}>\n\t\t<span className=\"sn-cx-navigation__secondary-menu-text\">{item?.label}</span>\n\t\t{item?.items &&\n\t\t\t(showDropdown ? <ChevronUpIconDark /> : <ChevronDownIconDark />)}\n\t</button>\n);\n\nconst MenuLink = ({commonProps, item, showDropdown, isActive}) => (\n\t<a\n\t\t{...commonProps}\n\t\tclassName={`sn-cx-navigation__secondary-menu-link ${\n\t\t\tisActive ? '--active' : ''\n\t\t} ${commonProps.className || ''}`.trim()}\n\t\thref={item?.url}\n\t\ttarget={item?.urlTarget || '_self'}>\n\t\t<span className=\"sn-cx-navigation__secondary-menu-text\">{item?.label}</span>\n\t\t<span className=\"sn-cx-navigation__secondary-menu-icon\">\n\t\t\t{item?.items &&\n\t\t\t\t(showDropdown ? <ChevronUpIconDark /> : <ChevronDownIconDark />)}\n\t\t</span>\n\t</a>\n);\n\nconst renderMenuItem = ({\n\titem = {},\n\tcommonProps,\n\tisActive,\n\tshowDropdown,\n\tisHover\n}) => {\n\tconst {routeConfig} = item || {};\n\treturn (\n\t\t<Fragment>\n\t\t\t{item?.isButton ? (\n\t\t\t\t<MenuButton\n\t\t\t\t\tcommonProps={commonProps}\n\t\t\t\t\titem={item}\n\t\t\t\t\tshowDropdown={showDropdown}\n\t\t\t\t\tisActive={isActive}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<MenuLink\n\t\t\t\t\tcommonProps={commonProps}\n\t\t\t\t\titem={item}\n\t\t\t\t\tshowDropdown={showDropdown}\n\t\t\t\t\tisActive={isActive}\n\t\t\t\t\trouteConfig={isEmpty(routeConfig) ? null : routeConfig}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{/* 🏷️ Hover & Active State Indicator */}\n\t\t\t<span\n\t\t\t\tclassName={`sn-cx-navigation__secondary-menu-item-indicator ${\n\t\t\t\t\tisHover && !isActive ? '--hover' : '--hover-out'\n\t\t\t\t} ${isActive ? '--active' : ''}`.trim()}\n\t\t\t/>\n\t\t</Fragment>\n\t);\n};\n\nconst SecondaryMenuItem = ({\n\tkey,\n\titem,\n\tdispatch,\n\tfocusedMenuItem,\n\tactiveMenu,\n\tpopupMenuContext = {},\n\tsecondayDropdownSubItemContext,\n\tisDesktop,\n\tdir\n}) => {\n\tif (item?.id?.includes('overflow') && item?.sub_items?.length == 0) {\n\t\treturn null;\n\t}\n\n\tconst {isHover, isActive} = getMenuItemState(\n\t\tfocusedMenuItem,\n\t\tactiveMenu,\n\t\titem\n\t);\n\n\tconst showDropdown = shouldShowDropdown(popupMenuContext, item);\n\n\tconst isMegaMenuExpanded = shouldShowMegaMenu(popupMenuContext);\n\tconst clickHandlerInteraction = createInteractionHandler(\n\t\thandleClick(dispatch, item, popupMenuContext)\n\t);\n\tconst commonProps = {\n\t\tid: item?.id,\n\t\trole: 'menuitem',\n\t\t'aria-haspopup': item?.items ? 'true' : 'false',\n\t\t'aria-expanded': showDropdown ? 'true' : 'false',\n\t\t...(isMegaMenuExpanded ? {tabIndex: '-1'} : {}),\n\t\t...tabIndexIfNotDesktop(isDesktop),\n\t\t...createHoverHandler(\n\t\t\thandleFocus(dispatch, item),\n\t\t\thandleBlur(dispatch, item)\n\t\t),\n\t\t...clickHandlerInteraction\n\t};\n\treturn (\n\t\t<li\n\t\t\tid={item?.sysID}\n\t\t\tclass={{\n\t\t\t\t'sn-cx-navigation__secondary-menu-item': true,\n\t\t\t\t'--expanded': showDropdown\n\t\t\t}}\n\t\t\trole=\"none\"\n\t\t\tkey={key}>\n\t\t\t{renderMenuItem({\n\t\t\t\titem,\n\t\t\t\tcommonProps,\n\t\t\t\tdispatch,\n\t\t\t\tisActive,\n\t\t\t\tshowDropdown,\n\t\t\t\tpopupMenuContext,\n\t\t\t\tisHover\n\t\t\t})}\n\t\t\t{/* 🏷️ Secondary Dropdown (if menu has sub-items) */}\n\t\t\t{!isEmpty(item?.items) && showDropdown && (\n\t\t\t\t<SecondaryMenuDropdown\n\t\t\t\t\titem={item}\n\t\t\t\t\tshowDropdown={showDropdown}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tsecondayDropdownSubItemContext={secondayDropdownSubItemContext}\n\t\t\t\t\tclickHandlerInteraction={clickHandlerInteraction}\n\t\t\t\t\tisDesktop={isDesktop}\n\t\t\t\t\tdir={dir}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</li>\n\t);\n};\n\nexport default SecondaryMenuItem;\n","import SecondaryMenuItem from './SecondaryMenuItem';\nimport {SECONDARY_MENU_INSERTED} from '../actions';\nimport includes from 'lodash/includes';\nimport {t} from 'sn-translate';\n\n/**\n *  Filters visible menu items\n * @param {Array} items - List of secondary menu items\n * @returns {Array} - Filtered list of items to be displayed\n */\nconst getVisibleMenuItems = (items) => items.filter((item) => item.show);\n\nconst handleMenuInserted = ({elm, dispatch, activeMenu, resizeObserver}) => {\n\tdispatch(SECONDARY_MENU_INSERTED, {\n\t\tmenuEl: elm,\n\t\tactiveMenu,\n\t\tresizeObserver: resizeObserver\n\t});\n};\n\nconst handleMenuDestroyed = (elm, resizeObserver) => {\n\tif (resizeObserver) resizeObserver?.unobserve(elm);\n\tresizeObserver = null;\n};\n\nconst getOverflowMenuItem = (items, overflownItems) => {\n\tif (!overflownItems?.length) return items;\n\t/*\n\t * The 'More' menuitem to be shown if there are\n\t * any overflown items\n\t */\n\tconst overflowMenuItem = {\n\t\tid: `cx-nav-secondary-overflow`,\n\t\tlabel: t('sn_cx_nav.more'),\n\t\thasPopup: true,\n\t\titems: [],\n\t\tshow: true,\n\t\tisButton: true\n\t};\n\n\tconst menuIWithOverflownItems = [];\n\t/**\n\t * move overflowing items into the overflowMenuItem's ('More') items list ,\n\t * and separate it from visible menu items\n\t */\n\titems.forEach((item) => {\n\t\tif (includes(overflownItems, item?.sysID)) {\n\t\t\toverflowMenuItem.items.push(item);\n\t\t} else {\n\t\t\tmenuIWithOverflownItems.push(item);\n\t\t}\n\t});\n\n\t/**\n\t * Finally include the overflow menu item as the last item into the\n\t * list of visible menu items\n\t */\n\tmenuIWithOverflownItems.push(overflowMenuItem);\n\n\treturn menuIWithOverflownItems;\n};\n\nconst SecondaryMenuList = ({\n\titems,\n\tdispatch,\n\tfocusedMenuItem,\n\tactiveMenu,\n\tpopupMenuContext,\n\toverflownItems,\n\tsecondayDropdownSubItemContext,\n\tisDesktop,\n\tdir\n}) => {\n\tlet resizeObserver;\n\n\tconst itemsWithOverflow = getOverflowMenuItem(items, overflownItems);\n\n\tconst visibleMenuItems = getVisibleMenuItems(itemsWithOverflow);\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"sn-cx-navigation__secondary-menu-list-wrapper\"\n\t\t\thook-insert={({elm}) => {\n\t\t\t\thandleMenuInserted({elm, dispatch, activeMenu, resizeObserver});\n\t\t\t}}\n\t\t\thook-destroy={({elm}) => {\n\t\t\t\thandleMenuDestroyed(elm, resizeObserver);\n\t\t\t}}>\n\t\t\t<ul\n\t\t\t\tclassName=\"sn-cx-navigation__secondary-menu-list\"\n\t\t\t\trole=\"menubar\"\n\t\t\t\taria-label=\"Secondary Navigation\">\n\t\t\t\t{visibleMenuItems?.map((item) => (\n\t\t\t\t\t<SecondaryMenuItem\n\t\t\t\t\t\tkey={item?.sysID}\n\t\t\t\t\t\titem={item}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tfocusedMenuItem={focusedMenuItem}\n\t\t\t\t\t\tactiveMenu={activeMenu}\n\t\t\t\t\t\tpopupMenuContext={popupMenuContext}\n\t\t\t\t\t\tsecondayDropdownSubItemContext={secondayDropdownSubItemContext}\n\t\t\t\t\t\tisDesktop={isDesktop}\n\t\t\t\t\t\tdir={dir}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t\t<li className=\"sn-cx-navigation__secondary-menu-divider\" />\n\t\t\t</ul>\n\t\t</div>\n\t);\n};\n\nexport default SecondaryMenuList;\n","import isEmpty from 'lodash/isEmpty';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {createInteractionHandler} from '../utils';\nimport {shouldShowMegaMenu, tabIndexIfNotDesktop} from './helpers';\nimport {\n\tTRACK_ANALYTICS_CLICKED,\n\tCLOSE_POPOVERS,\n\tANCHOR_TAG_CLICKED\n} from '../actions';\nimport {ANALYTICS_COMPONENTS_ID} from '../utils/analytics-tracking';\n/**\n *  Filters visible CTAs\n * @param {Array} secondaryCTAs - List of CTAs\n * @returns {Array} - Filtered list of CTAs to be displayed\n */\nconst getVisibleCTAs = (secondaryCTAs) =>\n\tsecondaryCTAs?.filter((cta) => cta.show) || [];\n\n/**\n *  Renders Secondary Menu Call-to-Actions (CTAs)\n */\nconst SecondaryCTAs = ({\n\tsecondaryCTAs,\n\tdispatch,\n\tpopupMenuContext,\n\tisDesktop\n}) => {\n\tconst visibleCTAs = getVisibleCTAs(secondaryCTAs);\n\tif (visibleCTAs.length === 0) return null;\n\n\treturn (\n\t\t<div className=\"sn-cx-navigation__secondary-menu-ctas\">\n\t\t\t{visibleCTAs.map((cta) => (\n\t\t\t\t<CTAButton\n\t\t\t\t\tkey={cta.sysID}\n\t\t\t\t\tcta={cta}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tpopupMenuContext={popupMenuContext}\n\t\t\t\t\tisDesktop={isDesktop}\n\t\t\t\t/>\n\t\t\t))}\n\t\t</div>\n\t);\n};\n\n/**\n *  Handles CTA button interactions\n * @param {Object} dispatch - Dispatch function for actions\n * @param {Object} cta - CTA button details\n */\nconst handleCTAInteraction = (dispatch, cta) => (e) => {\n\te.preventDefault();\n\te.stopPropagation();\n\tconst {routeConfig, eventConfig} = cta;\n\n\tdispatch(\n\t\tTRACK_ANALYTICS_CLICKED,\n\t\t{\n\t\t\telement: cta,\n\t\t\tsection: ANALYTICS_COMPONENTS_ID.SECONDARY_CTA\n\t\t},\n\t\t{event: e}\n\t);\n\n\tif (routeConfig) {\n\t\tdispatch('NAV_ITEM_SELECTED', {...routeConfig});\n\t} else if (eventConfig && !isEmpty(eventConfig)) {\n\t\tdispatch(eventConfig.name, eventConfig.payload);\n\t}\n\tdispatch(CLOSE_POPOVERS, e);\n};\n\n/**\n * Handles CTA button interactions of URL\n * @param {*} url\n * @param {*} urlTarget\n * @param {*} text\n * @returns\n */\n\nconst handleLinkClick = (url, urlTarget, text, dispatch) => (e) => {\n\tdispatch(\n\t\tTRACK_ANALYTICS_CLICKED,\n\t\t{\n\t\t\telement: {url, urlTarget, text},\n\t\t\tsection: ANALYTICS_COMPONENTS_ID.SECONDARY_MENUITEM\n\t\t},\n\t\t{event: e}\n\t);\n\tdispatch(ANCHOR_TAG_CLICKED, {url, urlTarget}, {mouseClickEvent: e});\n};\n\n/**\n *  Renders a single CTA Button or Link\n */\nconst CTAButton = ({cta, dispatch, popupMenuContext, isDesktop}) => {\n\tconst {\n\t\tid,\n\t\ttext,\n\t\ttype = 'primary',\n\t\tinteractionType,\n\t\trouteConfig,\n\t\turl,\n\t\turlTarget,\n\t\teventConfig,\n\t\tdisabled = false,\n\t\tstartIcon = '',\n\t\tendIcon = '',\n\t\ticonOnly = false\n\t} = cta;\n\n\tconst isMegaMenuExpanded = shouldShowMegaMenu(popupMenuContext);\n\tconst isIconOnly = startIcon && iconOnly;\n\tconst isInformational = interactionType === 'informational';\n\tconst classesConditions = {\n\t\t'--disabled': disabled,\n\t\t'--informational': isInformational,\n\t\t[`--${type}`]: !isInformational,\n\t\t'--icon-only': isIconOnly\n\t};\n\tconst ctaClass = Object.keys(classesConditions).filter(\n\t\t(key) => classesConditions[key]\n\t);\n\n\tfunction renderCTAIcon(icon) {\n\t\tif (icon) {\n\t\t\treturn (\n\t\t\t\t<img\n\t\t\t\t\tsrc={icon}\n\t\t\t\t\ton-error={(e) =>\n\t\t\t\t\t\ticonOnly ? e.target.replaceWith(text) : e.target.remove()\n\t\t\t\t\t}\n\t\t\t\t\talt={text}\n\t\t\t\t\tclassName=\"sn-cx-navigation__cta-icon\"\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\tfunction getCTAContent() {\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t{startIcon && renderCTAIcon(startIcon)}\n\t\t\t\t{!isIconOnly && text}\n\t\t\t\t{!isIconOnly && endIcon && renderCTAIcon(endIcon)}\n\t\t\t</Fragment>\n\t\t);\n\t}\n\n\tif (routeConfig || (interactionType === 'event' && !isEmpty(eventConfig))) {\n\t\treturn (\n\t\t\t<button\n\t\t\t\tid={'cta-' + id}\n\t\t\t\tclassName={[\n\t\t\t\t\t'sn-cx-navigation__secondary-menu-cta-button',\n\t\t\t\t\t...ctaClass\n\t\t\t\t].join(' ')}\n\t\t\t\tdisabled={disabled}\n\t\t\t\t{...createInteractionHandler(handleCTAInteraction(dispatch, cta))}\n\t\t\t\t{...(isMegaMenuExpanded ? {tabIndex: -1} : {})}\n\t\t\t\taria-label={text}\n\t\t\t\t{...tabIndexIfNotDesktop(isDesktop)}>\n\t\t\t\t{getCTAContent()}\n\t\t\t</button>\n\t\t);\n\t}\n\n\tif (url) {\n\t\treturn (\n\t\t\t<a\n\t\t\t\tid={id}\n\t\t\t\thref={url}\n\t\t\t\ttarget={urlTarget || '_self'}\n\t\t\t\t{...createInteractionHandler(\n\t\t\t\t\thandleLinkClick({\n\t\t\t\t\t\turl,\n\t\t\t\t\t\turlTarget,\n\t\t\t\t\t\ttext,\n\t\t\t\t\t\tdispatch\n\t\t\t\t\t})\n\t\t\t\t)}\n\t\t\t\t{...(isMegaMenuExpanded ? {tabIndex: -1} : {})}\n\t\t\t\tclassName={[\n\t\t\t\t\t'sn-cx-navigation__secondary-menu-cta-link',\n\t\t\t\t\t...ctaClass\n\t\t\t\t].join(' ')}\n\t\t\t\t{...tabIndexIfNotDesktop(isDesktop)}\n\t\t\t\taria-label={text}>\n\t\t\t\t{getCTAContent()}\n\t\t\t</a>\n\t\t);\n\t}\n\n\tif (interactionType === 'informational') {\n\t\treturn (\n\t\t\t<span\n\t\t\t\tid={id}\n\t\t\t\tclassName={[\n\t\t\t\t\t'sn-cx-navigation__secondary-menu-cta-informational',\n\t\t\t\t\t...ctaClass\n\t\t\t\t].join(' ')}\n\t\t\t\taria-label={text}>\n\t\t\t\t{getCTAContent()}\n\t\t\t</span>\n\t\t);\n\t}\n\n\treturn null;\n};\n\nexport default SecondaryCTAs;\n","import {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport Logo from './Logo';\nimport SecondaryMenuList from './SecondaryMenuList';\nimport SecondaryCTAs from './SecondaryCTAs';\nimport {MENU_TYPES, UTILITY_MENU} from './constants';\nimport isEmpty from 'lodash/isEmpty';\nimport {AngleDownSVG, AngleUpSVG} from './IconSVGComponents';\nimport {t} from 'sn-translate';\nimport {createInteractionHandler} from '../utils';\nimport {tabIndexIfNotDesktop} from './helpers';\nimport {CLOSE_POPOVERS, SECONDARY_MENU_TOGGLED} from '../actions';\nimport UtilityItem from './UtilityItem';\n\n/**\n *  Renders the secondary menu logo\n * @returns {JSX.Element} - Logo component or placeholder\n */\nconst SecondaryLogo = ({\n\tlogo,\n\tpopupMenuContext,\n\tisDesktop,\n\tisMobile,\n\tdispatch\n}) => (\n\t<div className=\"sn-cx-navigation__secondary-logo-wrapper\">\n\t\t<Logo\n\t\t\tlogoSrc={logo.logoSrc}\n\t\t\taltText={logo.logoAlt || 'Secondary Logo'}\n\t\t\texternal={logo.external}\n\t\t\ttype={MENU_TYPES.SECONDARY}\n\t\t\tpopupMenuContext={popupMenuContext}\n\t\t\tisDesktop={isDesktop}\n\t\t\tisMobile={isMobile}\n\t\t\tdispatch={dispatch}\n\t\t\teventConfig={logo.eventConfig}\n\t\t\trouteConfig={logo.routeConfig}\n\t\t/>\n\t</div>\n);\n\nconst EmptyLogo = () => <div className=\"sn-cx-navigation__secondary-no-logo\" />;\n\n/**\n *  Renders the secondary menu navigation\n */\nconst SecondaryMenu = ({\n\titems,\n\tsecondaryCTAs,\n\tsecondaryUtility,\n\tdispatch,\n\tfocusedMenuItem,\n\tactiveMenu,\n\tpopupMenuContext,\n\tutilityConfig,\n\toverflownItems,\n\tlogo,\n\tsecondayDropdownSubItemContext,\n\tsecondaryMenuExpanded,\n\tisDesktop,\n\tisMobile,\n\tselectedContent,\n\tdir\n}) => {\n\tconst toggleExpandedSecondaryNavigation = () => () => {\n\t\tif (!secondaryMenuExpanded) {\n\t\t\tdispatch(CLOSE_POPOVERS);\n\t\t}\n\t\tdispatch(SECONDARY_MENU_TOGGLED);\n\t};\n\n\tconst hasDropdownExpanded =\n\t\tpopupMenuContext.opened && popupMenuContext.item?.menu === 'secondary';\n\n\t// Check if the currently open popup belongs to a secondary utility item\n\tconst hasSecondaryUtilityPopupOpen =\n\t\tpopupMenuContext.opened &&\n\t\tsecondaryUtility.some((u) => u.sysID === popupMenuContext.item?.sysID);\n\n\t// Determine when to show SecondaryUtilities:\n\t// 1. Mobile/Tablet: Show when secondary menu is expanded (hamburger menu open)\n\t// 2. Desktop: Show when secondary menu is collapsed (always visible in nav bar)\n\t// 3. Mobile/Tablet + Popup Open: Keep visible when a secondary utility popup/tray is open,\n\t//    even after the secondary menu collapses (prevents UtilityItemTray from unmounting)\n\tconst showSecondaryUtility =\n\t\t!isEmpty(secondaryUtility) &&\n\t\t((secondaryMenuExpanded && !isDesktop) ||\n\t\t\t(!secondaryMenuExpanded && isDesktop) ||\n\t\t\t(hasSecondaryUtilityPopupOpen && !isDesktop));\n\tconst navigationMenuContext = {\n\t\tisDesktop,\n\t\tnavigationType: MENU_TYPES.SECONDARY\n\t};\n\tconst SecondaryUtilities = ({\n\t\tsecondaryUtility,\n\t\tdispatch,\n\t\tpopupMenuContext,\n\t\tnavigationMenuContext,\n\t\tutilityConfig,\n\t\tselectedContent,\n\t\tdir\n\t}) => {\n\t\treturn (\n\t\t\t<ul\n\t\t\t\tclassName=\"sn-cx-navigation__secondary-menu-utilities\"\n\t\t\t\trole=\"menubar\"\n\t\t\t\taria-label={UTILITY_MENU}>\n\t\t\t\t{secondaryUtility.map((utility) => (\n\t\t\t\t\t<UtilityItem\n\t\t\t\t\t\tkey={utility?.sysID}\n\t\t\t\t\t\titem={utility}\n\t\t\t\t\t\tpopupMenuContext={popupMenuContext}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tutilityConfig={utilityConfig}\n\t\t\t\t\t\tnavigationMenuContext={navigationMenuContext}\n\t\t\t\t\t\tselectedContent={selectedContent}\n\t\t\t\t\t\tdir={dir}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</ul>\n\t\t);\n\t};\n\n\treturn (\n\t\t<nav\n\t\t\tclass={{\n\t\t\t\t'sn-cx-navigation__secondary-menu': true,\n\t\t\t\t'--expanded': secondaryMenuExpanded,\n\t\t\t\t'--dropdown-expanded': hasDropdownExpanded\n\t\t\t}}\n\t\t\trole=\"navigation\"\n\t\t\taria-label=\"Secondary Navigation\">\n\t\t\t{/* 🏷️ Secondary Navigation Logo & Menu List */}\n\t\t\t<div className=\"sn-cx-navigation__secondary-menu-logo-links\">\n\t\t\t\t<div className=\"sn-cx-navigation__secondary-menu-toggle-wrapper\">\n\t\t\t\t\t{!isEmpty(logo) && logo.show !== false ? (\n\t\t\t\t\t\t<SecondaryLogo\n\t\t\t\t\t\t\tlogo={logo}\n\t\t\t\t\t\t\tpopupMenuContext={popupMenuContext}\n\t\t\t\t\t\t\tisDesktop={isDesktop}\n\t\t\t\t\t\t\tisMobile={isMobile}\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<EmptyLogo />\n\t\t\t\t\t)}\n\t\t\t\t\t{!isEmpty(items) && (\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tclassName=\"sn-cx-navigation__secondary-menu-toggle\"\n\t\t\t\t\t\t\taria-label={t('Expand the secondary navigation menu')}\n\t\t\t\t\t\t\t{...tabIndexIfNotDesktop(isDesktop)}\n\t\t\t\t\t\t\t{...createInteractionHandler(\n\t\t\t\t\t\t\t\ttoggleExpandedSecondaryNavigation()\n\t\t\t\t\t\t\t)}>\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\tclassName=\"sn-cx-navigation__secondary-menu-expanded-icon\">\n\t\t\t\t\t\t\t\t{!secondaryMenuExpanded ? <AngleDownSVG /> : <AngleUpSVG />}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{!isEmpty(items) && (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<SecondaryMenuList\n\t\t\t\t\t\t\titems={items}\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\tfocusedMenuItem={focusedMenuItem}\n\t\t\t\t\t\t\tactiveMenu={activeMenu}\n\t\t\t\t\t\t\tpopupMenuContext={popupMenuContext}\n\t\t\t\t\t\t\toverflownItems={overflownItems}\n\t\t\t\t\t\t\tsecondayDropdownSubItemContext={secondayDropdownSubItemContext}\n\t\t\t\t\t\t\tisDesktop={isDesktop}\n\t\t\t\t\t\t\tdir={dir}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Fragment>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{/* 🏷️ Secondary Menu Call-to-Actions (CTAs) */}\n\t\t\t{showSecondaryUtility && (\n\t\t\t\t<SecondaryUtilities\n\t\t\t\t\tsecondaryUtility={secondaryUtility}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tpopupMenuContext={popupMenuContext}\n\t\t\t\t\tnavigationMenuContext={navigationMenuContext}\n\t\t\t\t\tutilityConfig={utilityConfig}\n\t\t\t\t\tselectedContent={selectedContent}\n\t\t\t\t\tdir={dir}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{!isEmpty(secondaryCTAs) && (\n\t\t\t\t<SecondaryCTAs\n\t\t\t\t\tsecondaryCTAs={secondaryCTAs}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tpopupMenuContext={popupMenuContext}\n\t\t\t\t\tisDesktop={isDesktop}\n\t\t\t\t\tutilityConfig={utilityConfig}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</nav>\n\t);\n};\n\nexport default SecondaryMenu;\n","import {t} from 'sn-translate';\nimport {createInteractionHandler} from '../utils';\nimport Divider from './Divider';\nimport {ChevronSVG, SidebarLinkArrowSVG} from './IconSVGComponents';\nimport {getDirectionProps} from './helpers';\nimport {\n\tANCHOR_TAG_CLICKED,\n\tMEGAMENU_GROUP_ITEM_CLICKED,\n\tTRACK_ANALYTICS_CLICKED\n} from '../actions';\nimport {ANALYTICS_COMPONENTS_ID} from '../utils/analytics-tracking';\n\nconst MegaMenuSidebar = ({selectedItem, navItem, dispatch, isDesktop, dir}) => {\n\tconst {\n\t\tlabel,\n\t\tcontent: {sidebar = [], sidebarLinks = []}\n\t} = navItem;\n\n\tconst {forwardDirection: chevronDirection} = getDirectionProps(dir);\n\n\tconst handleGroupItemClicked = (item) => (e) => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t\tdispatch(\n\t\t\tTRACK_ANALYTICS_CLICKED,\n\t\t\t{\n\t\t\t\telement: item,\n\t\t\t\tsection: ANALYTICS_COMPONENTS_ID.PRIMARY_SIDEBAR\n\t\t\t},\n\t\t\t{\n\t\t\t\tevent: e\n\t\t\t}\n\t\t);\n\t\tdispatch(\n\t\t\tMEGAMENU_GROUP_ITEM_CLICKED,\n\t\t\t{item, eventType: e?.type},\n\t\t\t{event: e}\n\t\t);\n\t};\n\n\t/* Function to Simulate Anchor Click */\n\tconst handleLinkClick = (url, urlTarget) => (e) => {\n\t\te.preventDefault();\n\t\tdispatch(\n\t\t\tANCHOR_TAG_CLICKED,\n\t\t\t{url, urlTarget},\n\t\t\t{\n\t\t\t\tmouseClickEvent: e\n\t\t\t}\n\t\t);\n\t};\n\n\tif (!sidebar.length) return null;\n\n\treturn (\n\t\t<nav\n\t\t\tclassName=\"sn-cx-navigation__megamenu-sidebar\"\n\t\t\taria-label={t('Sidebar Navigation')}>\n\t\t\t{/* Menu Title (h2) */}\n\t\t\t<header className=\"sn-cx-navigation__megamenu-sidebar-header\">\n\t\t\t\t<h2 className=\"sn-cx-navigation__megamenu-sidebar-title\">{label}</h2>\n\t\t\t</header>\n\t\t\t<section className=\"sn-cx-navigation__megamenu-sidebar-group-items\">\n\t\t\t\t<ul className=\"sn-cx-navigation__megamenu-sidebar-list\">\n\t\t\t\t\t{sidebar.map(({heading, items = [], includeHeading}, index) => (\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\tkey={heading || `section-${index}`}\n\t\t\t\t\t\t\tclassName=\"sn-cx-navigation__megamenu-sidebar-group\"\n\t\t\t\t\t\t\trole=\"presentation\">\n\t\t\t\t\t\t\t{includeHeading && heading && (\n\t\t\t\t\t\t\t\t<header className=\"sn-cx-navigation__megamenu-sidebar-group-header\">\n\t\t\t\t\t\t\t\t\t<h3 className=\"sn-cx-navigation__megamenu-sidebar-heading\">\n\t\t\t\t\t\t\t\t\t\t{heading}\n\t\t\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t\t</header>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\t\tclassName=\"sn-cx-navigation__megamenu-sidebar-items\"\n\t\t\t\t\t\t\t\trole=\"menu\">\n\t\t\t\t\t\t\t\t{items.map((item) => (\n\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\tkey={item?.sysID}\n\t\t\t\t\t\t\t\t\t\tclassName={`sn-cx-navigation__megamenu-sidebar-item ${\n\t\t\t\t\t\t\t\t\t\t\tselectedItem?.sysID === item?.sysID ? '--active' : ''\n\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\t\t\t\t\ttabIndex={isDesktop ? '0' : '-1'}\n\t\t\t\t\t\t\t\t\t\t{...createInteractionHandler(handleGroupItemClicked(item))}\n\t\t\t\t\t\t\t\t\t\tid={item?.sysID}>\n\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"sn-cx-navigation__megamenu-sidebar-button\"\n\t\t\t\t\t\t\t\t\t\t\ttabIndex=\"-1\" // Remove from tab order (prevents double tab)\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"sn-cx-navigation__megamenu-sidebar-grouplink\">\n\t\t\t\t\t\t\t\t\t\t\t\t{item.title}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"sn-cx-navigation__megamenu-sidebar-icon\"\n\t\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t<ChevronSVG direction={chevronDirection} />\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t{index < sidebar.length - 1 && <Divider />}\n\t\t\t\t\t\t</li>\n\t\t\t\t\t))}\n\t\t\t\t</ul>\n\n\t\t\t\t{sidebar.length > 1 && <Divider />}\n\n\t\t\t\t{/* Sidebar Links */}\n\t\t\t\t{sidebarLinks.length > 0 && (\n\t\t\t\t\t<ul className=\"sn-cx-navigation__megamenu-sidebar-links\">\n\t\t\t\t\t\t{sidebarLinks.map((link) => (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\tkey={link?.sysID}\n\t\t\t\t\t\t\t\tclassName=\"sn-cx-navigation__megamenu-sidebar-link-item\"\n\t\t\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\t\t\ttabIndex={isDesktop ? '0' : '-1'}>\n\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\thref={link.url}\n\t\t\t\t\t\t\t\t\ttarget={link.urlTarget}\n\t\t\t\t\t\t\t\t\tclassName=\"sn-cx-navigation__megamenu-sidebar-link\"\n\t\t\t\t\t\t\t\t\ttabIndex=\"-1\" // Prevents <a> from taking focus\n\t\t\t\t\t\t\t\t\t{...createInteractionHandler(\n\t\t\t\t\t\t\t\t\t\thandleLinkClick(link.url, link.urlTarget)\n\t\t\t\t\t\t\t\t\t)}>\n\t\t\t\t\t\t\t\t\t{link.title}\n\t\t\t\t\t\t\t\t\t<span className=\"megamenu-sidebar-icon-wrapper\">\n\t\t\t\t\t\t\t\t\t\t<SidebarLinkArrowSVG direction={chevronDirection} />\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</ul>\n\t\t\t\t)}\n\t\t\t</section>\n\t\t</nav>\n\t);\n};\n\nexport default MegaMenuSidebar;\n","import isEmpty from 'lodash/isEmpty';\nimport {\n\tcreateInteractionHandler,\n\tcreateHoverHandler,\n\tgetRouteConfig\n} from '../utils';\nimport {tabIndexIfNotDesktop} from './helpers';\n\nimport {\n\tTRACK_ANALYTICS_CLICKED,\n\tCTA_BUTTON_FOCUSED,\n\tCTA_BUTTON_BLURRED,\n\tCLOSE_POPOVERS,\n\tANCHOR_TAG_CLICKED\n} from '../actions';\nimport {ExternalLinkSVG} from './IconSVGComponents';\nimport {THEME_COLORS} from './constants';\nimport {ANALYTICS_COMPONENTS_ID} from '../utils/analytics-tracking';\n\nconst MegaMenuSection = ({\n\tsection,\n\tdispatch,\n\tfocusedMenuItem = {},\n\tisDesktop\n}) => {\n\tif (!section) return null;\n\n\tconst {title, description, ctas = []} = section;\n\n\t/* Function to Simulate Anchor Click */\n\tconst handleLinkClick = (url, urlTarget, text) => (e) => {\n\t\te.preventDefault();\n\n\t\tdispatch(\n\t\t\tTRACK_ANALYTICS_CLICKED,\n\t\t\t{\n\t\t\t\telement: {url, urlTarget, text},\n\t\t\t\tsection: ANALYTICS_COMPONENTS_ID.PRIMARY_CTA\n\t\t\t},\n\t\t\t{event: e}\n\t\t);\n\n\t\tvar routeConfig = getRouteConfig(url);\n\t\tif (routeConfig) {\n\t\t\tdispatch('NAV_ITEM_SELECTED', routeConfig);\n\t\t} else {\n\t\t\tdispatch(ANCHOR_TAG_CLICKED, {url, urlTarget}, {mouseClickEvent: e});\n\t\t}\n\t\tdispatch(CLOSE_POPOVERS, e);\n\t};\n\n\tconst handleFocus = (dispatch, item) => (e) => {\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\t\tdispatch(CTA_BUTTON_FOCUSED, {item}, {event: e});\n\t};\n\n\tconst handleBlur = (dispatch, item) => (e) => {\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\t\tdispatch(CTA_BUTTON_BLURRED, {item}, {event: e});\n\t};\n\n\tconst linkTypeCtas = ctas?.filter(\n\t\t(cta = {}) => cta?.show && cta?.interactionType === 'url'\n\t);\n\n\treturn (\n\t\t<section className=\"sn-cx-navigation__megamenu-section\">\n\t\t\t<header className=\"sn-cx-navigation__megamenu-header\">\n\t\t\t\t<h2 className=\"sn-cx-navigation__megamenu-title\">{title}</h2>\n\t\t\t\t<p className=\"sn-cx-navigation__megamenu-description\">{description}</p>\n\t\t\t</header>\n\t\t\t{linkTypeCtas?.length > 0 && (\n\t\t\t\t<div className=\"sn-cx-navigation__megamenu-ctas\">\n\t\t\t\t\t{linkTypeCtas.map((cta = {}) => {\n\t\t\t\t\t\tconst {text, url, urlTarget, sysID} = cta;\n\t\t\t\t\t\tconst isHover =\n\t\t\t\t\t\t\t!isEmpty(focusedMenuItem) &&\n\t\t\t\t\t\t\tfocusedMenuItem?.sysID === cta?.sysID;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tkey={sysID}\n\t\t\t\t\t\t\t\tclassName=\"sn-cx-navigation__megamenu-cta-wrapper\"\n\t\t\t\t\t\t\t\t{...createInteractionHandler(\n\t\t\t\t\t\t\t\t\thandleLinkClick(url, urlTarget, text)\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{...createHoverHandler(\n\t\t\t\t\t\t\t\t\thandleFocus(dispatch, cta),\n\t\t\t\t\t\t\t\t\thandleBlur(dispatch, cta)\n\t\t\t\t\t\t\t\t)}>\n\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\thref={url}\n\t\t\t\t\t\t\t\t\ttarget={urlTarget}\n\t\t\t\t\t\t\t\t\t{...tabIndexIfNotDesktop(isDesktop)}\n\t\t\t\t\t\t\t\t\tclassName=\"sn-cx-navigation__megamenu-cta -is-link\">\n\t\t\t\t\t\t\t\t\t{text}\n\t\t\t\t\t\t\t\t\t{urlTarget === '_blank' && (\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"sn-cx-navigation__megamenu-cta-external-icon\"\n\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t<ExternalLinkSVG\n\t\t\t\t\t\t\t\t\t\t\t\tfill={isHover ? THEME_COLORS.dark : THEME_COLORS.light}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</section>\n\t);\n};\n\nexport default MegaMenuSection;\n","import {ExternalLinkOpenSVG} from './IconSVGComponents';\nimport {createInteractionHandler, getRouteConfig} from '../utils';\nimport {tabIndexIfNotDesktop} from './helpers';\nimport {\n\tTRACK_ANALYTICS_CLICKED,\n\tCLOSE_POPOVERS,\n\tANCHOR_TAG_CLICKED\n} from '../actions';\nimport {ANALYTICS_COMPONENTS_ID} from '../utils/analytics-tracking';\n\nconst MegaMenuGroupLinks = ({\n\tgroupLinks,\n\tdispatch,\n\tgroupLinkHeading,\n\tisDesktop\n}) => {\n\tif (!groupLinks || groupLinks.length === 0) return null;\n\n\tconst hasIconLinks = groupLinks.some((link) => link.type === 'icon');\n\n\tconst renderExternalLinkIcon = () => (\n\t\t<span\n\t\t\tclassName=\"sn-cx-navigation__megamenu-link-external-icon\"\n\t\t\taria-hidden=\"true\">\n\t\t\t<ExternalLinkOpenSVG />\n\t\t</span>\n\t);\n\n\t/**\n\t * Simulates an anchor click when clicking on the <li>\n\t */\n\tconst handleLinkClick = (url, urlTarget, title) => (e) => {\n\t\te.preventDefault();\n\t\tdispatch(\n\t\t\tTRACK_ANALYTICS_CLICKED,\n\t\t\t{\n\t\t\t\telement: {url, urlTarget, title},\n\t\t\t\tsection: ANALYTICS_COMPONENTS_ID.PRIMARY_GROUPLINKS\n\t\t\t},\n\t\t\t{event: e}\n\t\t);\n\t\tvar routeConfig = getRouteConfig(url);\n\t\tif (routeConfig) {\n\t\t\tdispatch('NAV_ITEM_SELECTED', routeConfig);\n\t\t} else {\n\t\t\tdispatch(ANCHOR_TAG_CLICKED, {url, urlTarget}, {mouseClickEvent: e});\n\t\t}\n\t\tdispatch(CLOSE_POPOVERS, e);\n\t};\n\n\tconst renderLink = ({\n\t\tid,\n\t\ttitle,\n\t\tdescription,\n\t\turl,\n\t\turlTarget,\n\t\tclassName,\n\t\tcontent\n\t}) => {\n\t\tconst punchOut = urlTarget === '_blank';\n\t\treturn (\n\t\t\t<li\n\t\t\t\tkey={id}\n\t\t\t\tclassName={`sn-cx-navigation__megamenu-link-item ${className}`}\n\t\t\t\trole=\"presentation\" // Prevents a11y error\n\t\t\t\t{...createInteractionHandler(handleLinkClick(url, urlTarget, title))}>\n\t\t\t\t<a\n\t\t\t\t\thref={url}\n\t\t\t\t\ttarget={urlTarget}\n\t\t\t\t\t{...tabIndexIfNotDesktop(isDesktop)}\n\t\t\t\t\tclassName={`sn-cx-navigation__megamenu-link ${className}`}\n\t\t\t\t\taria-label={title}>\n\t\t\t\t\t{content}\n\t\t\t\t\t<header className=\"sn-cx-navigation__megamenu-link-header\">\n\t\t\t\t\t\t<h3 className=\"sn-cx-navigation__megamenu-link-title\">\n\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t{punchOut && renderExternalLinkIcon()}\n\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t{description && (\n\t\t\t\t\t\t\t<p className=\"sn-cx-navigation__megamenu-link-description\">\n\t\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</header>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t);\n\t};\n\n\tconst renderMediaLink = (link) =>\n\t\trenderLink({\n\t\t\t...link,\n\t\t\tclassName: link.type === 'icon' ? '--is-icon' : '--is-image',\n\t\t\tcontent: (\n\t\t\t\t<span className={`sn-cx-navigation__megamenu-link-${link.type}-wrap`}>\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc={link.imageUrl}\n\t\t\t\t\t\talt={link.title}\n\t\t\t\t\t\tclassName={`sn-cx-navigation__megamenu-${link.type}-img`}\n\t\t\t\t\t/>\n\t\t\t\t</span>\n\t\t\t)\n\t\t});\n\n\tconst renderTextLink = (link) =>\n\t\trenderLink({\n\t\t\t...link,\n\t\t\tclassName: '--is-text',\n\t\t\tcontent: null\n\t\t});\n\n\treturn (\n\t\t<section className=\"sn-cx-navigation__megamenu-links\">\n\t\t\t{/* Group Link Heading */}\n\t\t\t{groupLinkHeading && (\n\t\t\t\t<p className=\"sn-cx-navigation__megamenu-group-link-heading\">\n\t\t\t\t\t{groupLinkHeading}\n\t\t\t\t</p>\n\t\t\t)}\n\t\t\t<ul\n\t\t\t\tclassName={`sn-cx-navigation__megamenu-links-list ${\n\t\t\t\t\thasIconLinks ? '--has-icon' : ''\n\t\t\t\t}`}>\n\t\t\t\t{groupLinks.map((link) =>\n\t\t\t\t\tlink.type === 'text' ? renderTextLink(link) : renderMediaLink(link)\n\t\t\t\t)}\n\t\t\t</ul>\n\t\t</section>\n\t);\n};\n\nexport default MegaMenuGroupLinks;\n","import isEmpty from 'lodash/isEmpty';\nimport {createInteractionHandler, createHoverHandler} from '../utils';\nimport {tabIndexIfNotDesktop} from './helpers';\nimport {ExternalLinkSVG} from './IconSVGComponents';\nimport {\n\tTRACK_ANALYTICS_CLICKED,\n\tCTA_BUTTON_FOCUSED,\n\tCTA_BUTTON_BLURRED,\n\tANCHOR_TAG_CLICKED,\n\tCLOSE_POPOVERS\n} from '../actions';\nimport {THEME_COLORS} from './constants';\nimport {ANALYTICS_COMPONENTS_ID} from '../utils/analytics-tracking';\n\nconst MegaMenuBanner = ({banner, dispatch, focusedMenuItem, isDesktop}) => {\n\tif (!banner) return null;\n\n\tconst {title, description, imageUrl, imageAltText, ctas = [], type} = banner;\n\tconst isCard = type === 'card';\n\n\t/* Function to Simulate Anchor Click */\n\tconst handleLinkClick = (url, urlTarget, text) => (e) => {\n\t\te.preventDefault();\n\t\tdispatch(\n\t\t\tTRACK_ANALYTICS_CLICKED,\n\t\t\t{\n\t\t\t\telement: {url, urlTarget, text},\n\t\t\t\tsection: ANALYTICS_COMPONENTS_ID.PRIMARY_CTA\n\t\t\t},\n\t\t\t{event: e}\n\t\t);\n\t\tdispatch(ANCHOR_TAG_CLICKED, {url, urlTarget}, {mouseClickEvent: e});\n\t\tdispatch(CLOSE_POPOVERS, e);\n\t};\n\n\tconst handleFocus = (dispatch, item) => (e) => {\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\t\tdispatch(CTA_BUTTON_FOCUSED, {item}, {event: e});\n\t};\n\n\tconst handleBlur = (dispatch, item) => (e) => {\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\t\tdispatch(CTA_BUTTON_BLURRED, {item}, {event: e});\n\t};\n\n\tconst ctaLinks = ctas?.filter((cta = {}) => cta?.interactionType === 'url');\n\n\treturn (\n\t\t<aside\n\t\t\tclassName={`sn-cx-navigation__megamenu-banner ${\n\t\t\t\tisCard ? '--card' : '--image'\n\t\t\t}`}\n\t\t\taria-labelledby=\"megamenu-banner-title\">\n\t\t\t{imageUrl && (\n\t\t\t\t<div\n\t\t\t\t\tkey={imageUrl} // to avoid image flickering when switched between tabs\n\t\t\t\t\tclassName={`sn-cx-navigation__megamenu-banner-image-wrapper ${\n\t\t\t\t\t\tisCard ? '--card' : ''\n\t\t\t\t\t}`.trim()}>\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc={imageUrl}\n\t\t\t\t\t\talt={imageAltText}\n\t\t\t\t\t\tclassName=\"sn-cx-navigation__megamenu-banner-image\"\n\t\t\t\t\t\tloading=\"lazy\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t{isCard && (\n\t\t\t\t<div className=\"sn-cx-navigation__megamenu-banner-wrap\">\n\t\t\t\t\t<div className=\"sn-cx-navigation__megamenu-banner-content\">\n\t\t\t\t\t\t<header className=\"sn-cx-navigation__megamenu-banner-header\">\n\t\t\t\t\t\t\t<h3\n\t\t\t\t\t\t\t\tid=\"megamenu-banner-title\"\n\t\t\t\t\t\t\t\tclassName=\"sn-cx-navigation__megamenu-banner-title\">\n\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t<p className=\"sn-cx-navigation__megamenu-banner-description\">\n\t\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</header>\n\t\t\t\t\t\t{ctaLinks?.length > 0 && (\n\t\t\t\t\t\t\t<div className=\"sn-cx-navigation__megamenu-banner-ctas\">\n\t\t\t\t\t\t\t\t{ctas.map((cta = {}) => {\n\t\t\t\t\t\t\t\t\tconst {text, url, urlTarget, sysID} = cta;\n\t\t\t\t\t\t\t\t\tconst isHover =\n\t\t\t\t\t\t\t\t\t\t!isEmpty(focusedMenuItem) &&\n\t\t\t\t\t\t\t\t\t\tfocusedMenuItem?.sysID === cta?.sysID;\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tkey={sysID}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"sn-cx-navigation__megamenu-banner-cta-wrapper\"\n\t\t\t\t\t\t\t\t\t\t\t{...createInteractionHandler(\n\t\t\t\t\t\t\t\t\t\t\t\thandleLinkClick(url, urlTarget, text)\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t{...createHoverHandler(\n\t\t\t\t\t\t\t\t\t\t\t\thandleFocus(dispatch, cta),\n\t\t\t\t\t\t\t\t\t\t\t\thandleBlur(dispatch, cta)\n\t\t\t\t\t\t\t\t\t\t\t)}>\n\t\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\t\thref={url}\n\t\t\t\t\t\t\t\t\t\t\t\ttarget={urlTarget}\n\t\t\t\t\t\t\t\t\t\t\t\t{...tabIndexIfNotDesktop(isDesktop)}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"sn-cx-navigation__megamenu-banner-cta -is-link\">\n\t\t\t\t\t\t\t\t\t\t\t\t{text}\n\t\t\t\t\t\t\t\t\t\t\t\t{urlTarget === '_blank' && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"sn-cx-navigation__megamenu-cta-external-icon\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ExternalLinkSVG\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfill={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisHover ? THEME_COLORS.dark : THEME_COLORS.light\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</aside>\n\t);\n};\n\nexport default MegaMenuBanner;\n","import MegaMenuSection from './MegaMenuSection';\nimport MegaMenuGroupLinks from './MegaMenuGroupLinks';\nimport MegaMenuBanner from './MegaMenuBanner';\nimport Divider from './Divider';\nimport {\n\tChevronDownLightSVG,\n\tChevronUpLightSVG,\n\tSidebarLinkArrowSVG\n} from './IconSVGComponents';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {createInteractionHandler} from '../utils';\nimport {MEGAMENU_COLLAPSIBLE_ITEM_TOGGLED} from '../actions';\nimport {getDirectionProps} from './helpers';\n\nconst handleLinkClick = (url, urlTarget) => (e) => {\n\te.preventDefault();\n\tconst anchor = document.createElement('a');\n\tanchor.href = url;\n\tanchor.target = urlTarget || '_self';\n\tanchor.click();\n};\n\nconst handleCollapsibleItemClicked = (item, dispatch, expanded) => (e) => {\n\te.preventDefault();\n\te.stopPropagation();\n\tdispatch(MEGAMENU_COLLAPSIBLE_ITEM_TOGGLED, {item, expanded});\n};\n\nconst MegaMenuCollapsibleItem = ({item, dispatch, expanded, isDesktop}) => {\n\tconst {\n\t\tsection,\n\t\tgroupLinkHeading,\n\t\tgroupLinks,\n\t\tbanner = {type: ''},\n\t\ttitle\n\t} = item;\n\n\treturn (\n\t\t<li\n\t\t\tclassName={`sn-cx-navigation__megamenu-collapsible-item ${\n\t\t\t\texpanded ? '--active' : ''\n\t\t\t}`}\n\t\t\trole=\"menuitem\">\n\t\t\t<button\n\t\t\t\tclassName=\"sn-cx-navigation__megamenu-collapsible-item-button\"\n\t\t\t\ttabIndex=\"-1\"\n\t\t\t\taria-expanded={expanded ? 'true' : false}\n\t\t\t\taria-label={title}\n\t\t\t\t{...createInteractionHandler(\n\t\t\t\t\thandleCollapsibleItemClicked(item, dispatch, expanded)\n\t\t\t\t)}>\n\t\t\t\t<span className=\"sn-cx-navigation__megamenu-collapsible-item-title\">\n\t\t\t\t\t{title}\n\t\t\t\t</span>\n\t\t\t\t<span\n\t\t\t\t\tclassName=\"sn-cx-navigation__megamenu-collapsible-item-icon\"\n\t\t\t\t\taria-hidden=\"true\">\n\t\t\t\t\t{expanded ? <ChevronUpLightSVG /> : <ChevronDownLightSVG />}\n\t\t\t\t</span>\n\t\t\t</button>\n\t\t\t<div className=\"sn-cx-navigation__collapsible-item-content-wrapper\">\n\t\t\t\t<div className=\"sn-cx-navigation__collapsible-item-main-content\">\n\t\t\t\t\t<div className=\"sn-cx-navigation__collapsible-item-section-wrapper\">\n\t\t\t\t\t\t<MegaMenuSection\n\t\t\t\t\t\t\tsection={section}\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\tfocusedMenuItem={item}\n\t\t\t\t\t\t\tisDesktop={isDesktop}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"sn-cx-navigation__collapsible-item-group-links-wrapper\">\n\t\t\t\t\t\t<MegaMenuGroupLinks\n\t\t\t\t\t\t\tgroupLinkHeading={groupLinkHeading}\n\t\t\t\t\t\t\tgroupLinks={groupLinks}\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\tisDesktop={isDesktop}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t{banner.type == 'card' ? (\n\t\t\t\t\t<MegaMenuBanner isDesktop={isDesktop} banner={banner} />\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t</li>\n\t);\n};\n\nconst MegaMenuCollapsibleList = ({\n\tsidebarItem,\n\tdispatch,\n\tgroupItemContext = {},\n\tisDesktop\n}) => {\n\tconst {heading, includeHeading, items = []} = sidebarItem;\n\n\treturn (\n\t\t<div className=\"sn-cx-navigation__megamenu-collapsible-list-wrapper\">\n\t\t\t{includeHeading ? (\n\t\t\t\t<span className=\"sn-cx-navigation__megamenu-collapsible-list-title\">\n\t\t\t\t\t{heading}\n\t\t\t\t</span>\n\t\t\t) : null}\n\t\t\t<ul className=\"sn-cx-navigation__megamenu-collapsible-list\">\n\t\t\t\t{items.map((item) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<MegaMenuCollapsibleItem\n\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\texpanded={item.sysID == groupItemContext.sysID}\n\t\t\t\t\t\t\tisDesktop={isDesktop}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t</div>\n\t);\n};\n\nconst MegaMenuMobileLinks = ({links, dir}) => {\n\tconst {forwardDirection} = getDirectionProps(dir);\n\treturn (\n\t\t<ul className=\"sn-cx-navigation__megamenu-mobile-links\">\n\t\t\t{links.map((link) => (\n\t\t\t\t<li\n\t\t\t\t\tkey={link?.sysID}\n\t\t\t\t\tclassName=\"sn-cx-navigation__megamenu-mobile-link-item\"\n\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t{...createInteractionHandler(\n\t\t\t\t\t\thandleLinkClick(link.url, link.urlTarget)\n\t\t\t\t\t)}>\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={link.url}\n\t\t\t\t\t\ttarget={link.urlTarget}\n\t\t\t\t\t\tclassName=\"sn-cx-navigation__megamenu-mobile-link\"\n\t\t\t\t\t\ttabIndex=\"-1\" // Prevents <a> from taking focus\n\t\t\t\t\t>\n\t\t\t\t\t\t{link.title}\n\t\t\t\t\t</a>\n\t\t\t\t\t<SidebarLinkArrowSVG direction={forwardDirection} />\n\t\t\t\t</li>\n\t\t\t))}\n\t\t</ul>\n\t);\n};\n\nconst MegaMenuMobileContent = ({\n\tcontent,\n\tdispatch,\n\tgroupItemContext,\n\tisDesktop,\n\tdir\n}) => {\n\tconst {sidebar = [], sidebarLinks = []} = content;\n\treturn (\n\t\t<div className=\"sn-cx-navigation__megamenu-mobile-content\">\n\t\t\t{sidebar.map((item, index) => {\n\t\t\t\tconst isLastItem = index === sidebar.length - 1;\n\t\t\t\treturn (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<MegaMenuCollapsibleList\n\t\t\t\t\t\t\tsidebarItem={item}\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\tgroupItemContext={groupItemContext}\n\t\t\t\t\t\t\tisDesktop={isDesktop}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{!isLastItem || sidebarLinks.length > 0 ? <Divider /> : null}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t})}\n\t\t\t{sidebarLinks.length > 0 ? (\n\t\t\t\t<MegaMenuMobileLinks links={sidebarLinks} dir={dir} />\n\t\t\t) : null}\n\t\t</div>\n\t);\n};\n\nexport default MegaMenuMobileContent;\n","import MegaMenuSidebar from './MegaMenuSidebar';\nimport MegaMenuSection from './MegaMenuSection';\nimport MegaMenuGroupLinks from './MegaMenuGroupLinks';\nimport MegaMenuBanner from './MegaMenuBanner';\nimport MegaMenuFooter from './MegaMenuFooterActions';\nimport MegaMenuMobileContent from './MegaMenuMobileContent';\nimport Divider from './Divider';\nimport {\n\tMEGAMENU_ELEMENT_REF_UPDATED,\n\tMEGA_MENU_CLOSE_ICON_CLICKED\n} from '../actions';\nimport {MegaMenuCrossIconSVG} from './IconSVGComponents';\nimport {createInteractionHandler, createHoverHandler} from '../utils';\nimport {\n\tshouldShowMegaMenu,\n\tisImageIconTypeGroupLinks,\n\ttabIndexIfNotDesktop\n} from './helpers';\n\nconst MegaMenu = ({\n\tcontext,\n\tgroupItemContext,\n\tdispatch,\n\tmegamenuCTAs,\n\tfocusedMenuItem,\n\tisMobileMenuOpen,\n\tisDesktop,\n\tdir\n}) => {\n\tconst showMegaMenu = shouldShowMegaMenu(context);\n\n\tconst {item = {}} = context;\n\tconst {id: navItemId, content = {}} = item;\n\tconst {sidebar = []} = content;\n\n\tconst handleMegaMenuClose = () => (e) => {\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\t\tdispatch(MEGA_MENU_CLOSE_ICON_CLICKED, {}, {event: e});\n\t};\n\n\t// Determine selected item\n\tconst selectedItem =\n\t\tgroupItemContext && Object.keys(groupItemContext).length\n\t\t\t? groupItemContext\n\t\t\t: sidebar.length > 0 && sidebar[0].items.length > 0\n\t\t\t? sidebar[0].items[0] // Fallback to first sidebar item if no groupItemContext\n\t\t\t: {}; // If no sidebar exists, selectedItem remains empty\n\n\t// When selectedItem is empty, fallback to context.item.content\n\tconst {\n\t\tsection = {},\n\t\tgroupLinks = [],\n\t\tbanner = {},\n\t\tgroupLinkHeading = ''\n\t} = Object.keys(selectedItem).length ? selectedItem : content; // Use context.item.content if selectedItem is empty\n\n\tconst groupLinksCount = groupLinks?.length;\n\tconst isImageIconType = isImageIconTypeGroupLinks(groupLinks);\n\n\treturn (\n\t\t<section\n\t\t\tid={navItemId}\n\t\t\trole=\"dialog\"\n\t\t\taria-label={`${navItemId} menu dropdown`}\n\t\t\tclassName={`sn-cx-navigation__megamenu ${\n\t\t\t\tshowMegaMenu ? '--open' : '--close'\n\t\t\t}${sidebar.length === 0 ? ' --no-sidebar' : ''.trim()}`}\n\t\t\thook-insert={({elm}) => {\n\t\t\t\tdispatch(MEGAMENU_ELEMENT_REF_UPDATED, {megamenuRef: elm});\n\t\t\t}}>\n\t\t\t{/* Overlay to handle hover for closing */}\n\t\t\t<div\n\t\t\t\tclassName=\"sn-cx-navigation__megamenu-overlay\"\n\t\t\t\t{...(isMobileMenuOpen\n\t\t\t\t\t? createInteractionHandler(handleMegaMenuClose())\n\t\t\t\t\t: createHoverHandler(handleMegaMenuClose(), () => {}))}\n\t\t\t/>\n\t\t\t{/* Megamenu content */}\n\t\t\t<div\n\t\t\t\t{...tabIndexIfNotDesktop(isDesktop)}\n\t\t\t\tclassName=\"sn-cx-navigation__megamenu-content\">\n\t\t\t\t<div className=\"sn-cx-navigation__megamenu-content-wrap\">\n\t\t\t\t\t{/* Sidebar only when available */}\n\t\t\t\t\t{sidebar.length > 0 && (\n\t\t\t\t\t\t<MegaMenuSidebar\n\t\t\t\t\t\t\tselectedItem={selectedItem}\n\t\t\t\t\t\t\tnavItem={item}\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\tisDesktop={isDesktop}\n\t\t\t\t\t\t\tdir={dir}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{/* Mega Menu Middle Content Wrapper */}\n\t\t\t\t\t<div className=\"sn-cx-navigation__megamenu-main\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={`sn-cx-navigation__megamenu-main-content ${\n\t\t\t\t\t\t\t\tisImageIconType ? '--has-image-icon' : ''\n\t\t\t\t\t\t\t} ${sidebar.length === 0 ? '--no-sidebar' : ''}`.trim()}>\n\t\t\t\t\t\t\t{/* Section Title & Description */}\n\t\t\t\t\t\t\t{section?.title && (\n\t\t\t\t\t\t\t\t<MegaMenuSection\n\t\t\t\t\t\t\t\t\tsection={section}\n\t\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\t\tfocusedMenuItem={focusedMenuItem}\n\t\t\t\t\t\t\t\t\tisDesktop={isDesktop}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{/* Content separator */}\n\t\t\t\t\t\t\t{!isImageIconType &&\n\t\t\t\t\t\t\t\t(groupLinkHeading || groupLinksCount > 0) && <Divider />}\n\n\t\t\t\t\t\t\t{/* Group Links */}\n\t\t\t\t\t\t\t{groupLinksCount > 0 && (\n\t\t\t\t\t\t\t\t<MegaMenuGroupLinks\n\t\t\t\t\t\t\t\t\tgroupLinks={groupLinks}\n\t\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\t\tgroupLinkHeading={groupLinkHeading}\n\t\t\t\t\t\t\t\t\tisDesktop={isDesktop}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{/* Banner only when available */}\n\t\t\t\t\t\t{banner && Object.keys(banner).length > 0 && (\n\t\t\t\t\t\t\t<MegaMenuBanner\n\t\t\t\t\t\t\t\tbanner={banner}\n\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\tfocusedMenuItem={focusedMenuItem}\n\t\t\t\t\t\t\t\tisDesktop={isDesktop}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{/* Mega Menu Close */}\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tclassName=\"sn-cx-navigation__megamenu-close\"\n\t\t\t\t\t\t\t{...tabIndexIfNotDesktop(isDesktop)}\n\t\t\t\t\t\t\t{...createInteractionHandler(handleMegaMenuClose())}\n\t\t\t\t\t\t\taria-hidden=\"true\">\n\t\t\t\t\t\t\t<MegaMenuCrossIconSVG />\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<MegaMenuMobileContent\n\t\t\t\tgroupItemContext={groupItemContext}\n\t\t\t\tcontent={content}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tisDesktop={isDesktop}\n\t\t\t\tdir={dir}\n\t\t\t/>\n\t\t\t{/* Footer Actions only when available */}\n\t\t\t{megamenuCTAs?.length > 0 && (\n\t\t\t\t<MegaMenuFooter\n\t\t\t\t\titems={megamenuCTAs}\n\t\t\t\t\tisDesktop={isDesktop}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t/>\n\t\t\t)}{' '}\n\t\t</section>\n\t);\n};\n\nexport default MegaMenu;\n","import {ACTIVE_SECONDARY_MENUITEM_UPDATED} from './actions';\nimport Logger from '@devsnc/library-logger';\n\n/**\n *  Matches content with a given menu item based on route and parameters.\n * @param {Object} item - The menu item to match.\n * @param {Object} content - The selected content containing route information.\n * @returns {boolean} - Whether the content matches the menu item.\n */\nconst matchContentToMenuItem = (item, content) => {\n\tif (!item || !content) return false;\n\n\tconst {route, fields = {}, params = {}, context: {path} = {}} = content;\n\n\tif (item.routeConfig?.route !== route) return false;\n\n\tconst {\n\t\tpath: itemPath,\n\t\tfields: itemFields = {},\n\t\tparams: itemParams = {}\n\t} = item.routeConfig.context;\n\tif (itemPath !== path) return false;\n\n\treturn (\n\t\tObject.keys(itemFields).every((key) => itemFields[key] === fields[key]) &&\n\t\tObject.keys(itemParams).every((key) => itemParams[key] === params[key])\n\t);\n};\n\n/**\n *  Recursively searches for a matching menu item in a given list.\n * @param {Object} content - The selected content.\n * @param {Array} items - List of menu items to search through.\n * @returns {Object|null} - Matched menu item and its parent if found.\n */\nconst findMatchingMenuItem = (content, items) => {\n\tfor (const item of items) {\n\t\tif (matchContentToMenuItem(item, content)) {\n\t\t\treturn {parent: item, child: null};\n\t\t}\n\t\tconst foundInSubItems = item.items?.length\n\t\t\t? findMatchingMenuItem(content, item.items)\n\t\t\t: null;\n\t\tif (foundInSubItems) return {parent: item, child: foundInSubItems.parent};\n\n\t\tconst foundInPopovers = item.popoverItems?.length\n\t\t\t? findMatchingMenuItem(content, item.popoverItems)\n\t\t\t: null;\n\t\tif (foundInPopovers) return {parent: item, child: foundInPopovers.parent};\n\t}\n\treturn null;\n};\n\n/**\n *  Finds and updates the active menu item based on the selected content.\n * @param {Object} selectedContent - The currently selected content.\n * @param {Array} secondaryMenuItems - List of secondary menu items.\n * @param {Function} dispatch - Dispatch function to update active menu state.\n * @returns {Object} - The active secondary menu item and active sub-menu item.\n */\nconst findActiveMenu = (selectedContent, secondaryMenuItems, dispatch) => {\n\tif (!selectedContent || !Array.isArray(secondaryMenuItems)) {\n\t\treturn {activeSecondaryNavItem: null, activeSubNavItem: null};\n\t}\n\n\tconst matchedItem = findMatchingMenuItem(selectedContent, secondaryMenuItems);\n\n\tif (!matchedItem) {\n\t\ttry {\n\t\t\tLogger.warn(\n\t\t\t\t'No matching secondary menu item found for the provided content'\n\t\t\t);\n\t\t} catch (e) {\n\t\t\t// do nothing\n\t\t}\n\t\treturn {activeSecondaryNavItem: null, activeSubNavItem: null};\n\t}\n\n\tconst {parent, child} = matchedItem;\n\n\tdispatch(ACTIVE_SECONDARY_MENUITEM_UPDATED, {\n\t\tactiveSecondaryNavItem: parent,\n\t\tactiveSubNavItem: child,\n\t\tselectedContent\n\t});\n\n\treturn {activeSecondaryNavItem: parent, activeSubNavItem: child};\n};\n\nexport default findActiveMenu;\n","import PrimaryMenu from './PrimaryMenu';\nimport SecondaryMenu from './SecondaryMenu';\nimport MegaMenu from './MegaMenu';\nimport findActiveMenu from '../findActiveMenu';\nimport isEmpty from 'lodash/isEmpty';\n\n/**\n * Compute and update the active menu state only when necessary\n * @param {Object} selectedContent - The currently selected menu content\n * @param {Array} secondary - The list of secondary menu items\n * @param {Function} dispatch - Function to dispatch actions\n */\nconst computeActiveMenu = (\n\tselectedContent,\n\tsecondary,\n\tactiveMenuState,\n\tdispatch\n) => {\n\tif (!activeMenuState || activeMenuState.selectedContent !== selectedContent) {\n\t\tfindActiveMenu(selectedContent, secondary, dispatch);\n\t}\n};\n\n/**\n * Main Navigation View Component\n * Renders the primary, secondary, and mega menus\n */\nconst view = (state, {dispatch}) => {\n\tconst {\n\t\tproperties: {\n\t\t\tnavigation,\n\t\t\tselectedContent,\n\t\t\tisLoggedIn = false,\n\t\t\tnotificationConfig = {},\n\t\t\ttaskConfig = {},\n\t\t\tcurrentUser = {},\n\t\t\tdir\n\t\t},\n\t\tfocusedMenuItem,\n\t\tactiveMenuState,\n\t\tpopupMenuContext,\n\t\tgroupItemContext,\n\t\toverflownItems,\n\t\tsecondayDropdownSubItemContext,\n\t\tsecondaryMenuExpanded = false,\n\t\tresponsiveContext = {},\n\t\tisMobileMenuOpen,\n\t\tsecondaryCTAs = []\n\t} = state;\n\n\tconst {\n\t\tprimary,\n\t\tsecondary,\n\t\tmegamenuCTAs = [],\n\t\tprimaryCTAs = [],\n\t\tlogo = {},\n\t\tprimaryUtility = [],\n\t\tsecondaryUtility = []\n\t} = navigation || {};\n\n\t// activeSecondaryNavItem: parent, activeSubNavItem: child\n\tconst {activeSecondaryNavItem = null} = activeMenuState;\n\n\tconst {isDesktop = true, isMobile = false} = responsiveContext || {};\n\tconst showSecondaryMenu =\n\t\t!isEmpty(secondary) ||\n\t\t!isEmpty(secondaryCTAs) ||\n\t\t(logo?.secondary && logo.secondary.show !== false);\n\n\t// Ensure active menu is computed when necessary\n\tcomputeActiveMenu(selectedContent, secondary, activeMenuState, dispatch);\n\n\treturn (\n\t\t!isEmpty(selectedContent) && (\n\t\t\t<header className=\"sn-cx-navigation\" role=\"banner\">\n\t\t\t\t{/* 🏷️ Primary Navigation Menu */}\n\t\t\t\t<PrimaryMenu\n\t\t\t\t\titems={primary}\n\t\t\t\t\tprimaryCTAs={primaryCTAs}\n\t\t\t\t\tmegamenuCTAs={megamenuCTAs}\n\t\t\t\t\tstate={state}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tlogo={logo?.primary}\n\t\t\t\t\tprimaryUtility={primaryUtility}\n\t\t\t\t\tcurrentUser={currentUser}\n\t\t\t\t\t// Each menu level receives exactly one utility config: primary → notificationConfig,\n\t\t\t\t\t// secondary → taskConfig. UtilityItem discriminates usage via item.type.\n\t\t\t\t\t// If a utility type is ever moved between menu levels, this mapping must be updated.\n\t\t\t\t\tutilityConfig={notificationConfig}\n\t\t\t\t\tisLoggedIn={isLoggedIn}\n\t\t\t\t\tpopupMenuContext={popupMenuContext}\n\t\t\t\t\tisMobileMenuOpen={isMobileMenuOpen}\n\t\t\t\t\tisDesktop={isDesktop}\n\t\t\t\t\tisMobile={isMobile}\n\t\t\t\t\tselectedContent={selectedContent}\n\t\t\t\t/>\n\t\t\t\t{showSecondaryMenu && (\n\t\t\t\t\t<SecondaryMenu\n\t\t\t\t\t\tactiveMenu={activeSecondaryNavItem}\n\t\t\t\t\t\titems={secondary}\n\t\t\t\t\t\tsecondaryCTAs={secondaryCTAs}\n\t\t\t\t\t\tutilityConfig={taskConfig}\n\t\t\t\t\t\tsecondaryUtility={secondaryUtility}\n\t\t\t\t\t\tfocusedMenuItem={focusedMenuItem}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tpopupMenuContext={popupMenuContext}\n\t\t\t\t\t\tlogo={logo?.secondary}\n\t\t\t\t\t\toverflownItems={overflownItems}\n\t\t\t\t\t\tsecondayDropdownSubItemContext={secondayDropdownSubItemContext}\n\t\t\t\t\t\tsecondaryMenuExpanded={secondaryMenuExpanded}\n\t\t\t\t\t\tisDesktop={isDesktop}\n\t\t\t\t\t\tisMobile={isMobile}\n\t\t\t\t\t\tselectedContent={selectedContent}\n\t\t\t\t\t\tdir={dir}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t{/* 🏷️ Mega Menu (Displays when Primary Menu is opened) */}\n\t\t\t\t<MegaMenu\n\t\t\t\t\tcontext={popupMenuContext}\n\t\t\t\t\tgroupItemContext={groupItemContext}\n\t\t\t\t\tfocusedMenuItem={focusedMenuItem}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tmegamenuCTAs={megamenuCTAs}\n\t\t\t\t\tisMobileMenuOpen={isMobileMenuOpen}\n\t\t\t\t\tisDesktop={isDesktop}\n\t\t\t\t\tdir={dir}\n\t\t\t\t/>\n\t\t\t</header>\n\t\t)\n\t);\n};\n\nexport default view;\n","function normalizeSelector(sel) {\n\t// save unmatched text, if any\n\tfunction saveUnmatched() {\n\t\tif (unmatched) {\n\t\t\t// whitespace needed after combinator?\n\t\t\tif (tokens.length > 0 && /^[~+>]$/.test(tokens[tokens.length - 1])) {\n\t\t\t\ttokens.push(' ');\n\t\t\t}\n\n\t\t\t// save unmatched text\n\t\t\ttokens.push(unmatched);\n\t\t}\n\t}\n\n\tconst tokens = [],\n\t\tstate = [0],\n\t\tnot_escaped_pattern = /(?:[^\\\\]|(?:^|[^\\\\])(?:\\\\\\\\)+)$/,\n\t\twhitespace_pattern = /^\\s+$/,\n\t\tstate_patterns = [\n\t\t\t/\\s+|\\/\\*|[\"'>~+[(]/g, // general\n\t\t\t/\\s+|\\/\\*|[\"'[\\]()]/g, // [..] set\n\t\t\t/\\s+|\\/\\*|[\"'[\\]()]/g, // (..) set\n\t\t\tnull, // string literal (placeholder)\n\t\t\t/\\*\\//g // comment\n\t\t];\n\tlet match,\n\t\tunmatched,\n\t\tregex,\n\t\tnext_match_idx = 0,\n\t\tprev_match_idx;\n\n\tsel = sel.trim();\n\n\t// eslint-disable-next-line no-constant-condition\n\twhile (true) {\n\t\tunmatched = '';\n\n\t\tregex = state_patterns[state[state.length - 1]];\n\n\t\tregex.lastIndex = next_match_idx;\n\t\tmatch = regex.exec(sel);\n\n\t\t// matched text to process?\n\t\tif (match) {\n\t\t\tprev_match_idx = next_match_idx;\n\t\t\tnext_match_idx = regex.lastIndex;\n\n\t\t\t// collect the previous string chunk not matched before this token\n\t\t\tif (prev_match_idx < next_match_idx - match[0].length) {\n\t\t\t\tunmatched = sel.substring(\n\t\t\t\t\tprev_match_idx,\n\t\t\t\t\tnext_match_idx - match[0].length\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// general, [ ] pair, ( ) pair?\n\t\t\tif (state[state.length - 1] < 3) {\n\t\t\t\tsaveUnmatched();\n\n\t\t\t\t// starting a [ ] pair?\n\t\t\t\tif (match[0] === '[') {\n\t\t\t\t\tstate.push(1);\n\t\t\t\t}\n\t\t\t\t// starting a ( ) pair?\n\t\t\t\telse if (match[0] === '(') {\n\t\t\t\t\tstate.push(2);\n\t\t\t\t}\n\t\t\t\t// starting a string literal?\n\t\t\t\telse if (/^[\"']$/.test(match[0])) {\n\t\t\t\t\tstate.push(3);\n\t\t\t\t\tstate_patterns[3] = new RegExp(match[0], 'g');\n\t\t\t\t}\n\t\t\t\t// starting a comment?\n\t\t\t\telse if (match[0] === '/*') {\n\t\t\t\t\tstate.push(4);\n\t\t\t\t}\n\t\t\t\t// ending a [ ] or ( ) pair?\n\t\t\t\telse if (/^[\\])]$/.test(match[0]) && state.length > 0) {\n\t\t\t\t\tstate.pop();\n\t\t\t\t}\n\t\t\t\t// handling whitespace or a combinator?\n\t\t\t\telse if (/^(?:\\s+|[~+>])$/.test(match[0])) {\n\t\t\t\t\t// need to insert whitespace before?\n\t\t\t\t\tif (\n\t\t\t\t\t\ttokens.length > 0 &&\n\t\t\t\t\t\t!whitespace_pattern.test(tokens[tokens.length - 1]) &&\n\t\t\t\t\t\tstate[state.length - 1] === 0\n\t\t\t\t\t) {\n\t\t\t\t\t\t// add normalized whitespace\n\t\t\t\t\t\ttokens.push(' ');\n\t\t\t\t\t}\n\n\t\t\t\t\t// case-insensitive attribute selector CSS L4\n\t\t\t\t\tif (\n\t\t\t\t\t\tstate[state.length - 1] === 1 &&\n\t\t\t\t\t\ttokens.length === 5 &&\n\t\t\t\t\t\ttokens[2].charAt(tokens[2].length - 1) === '='\n\t\t\t\t\t) {\n\t\t\t\t\t\ttokens[4] = ' ' + tokens[4];\n\t\t\t\t\t}\n\n\t\t\t\t\t// whitespace token we can skip?\n\t\t\t\t\tif (whitespace_pattern.test(match[0])) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// save matched text\n\t\t\t\ttokens.push(match[0]);\n\t\t\t}\n\t\t\t// otherwise, string literal or comment\n\t\t\telse {\n\t\t\t\t// save unmatched text\n\t\t\t\ttokens[tokens.length - 1] += unmatched;\n\n\t\t\t\t// unescaped terminator to string literal or comment?\n\t\t\t\tif (not_escaped_pattern.test(tokens[tokens.length - 1])) {\n\t\t\t\t\t// comment terminator?\n\t\t\t\t\tif (state[state.length - 1] === 4) {\n\t\t\t\t\t\t// ok to drop comment?\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\ttokens.length < 2 ||\n\t\t\t\t\t\t\twhitespace_pattern.test(tokens[tokens.length - 2])\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\ttokens.pop();\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// otherwise, turn comment into whitespace\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\ttokens[tokens.length - 1] = ' ';\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// handled already\n\t\t\t\t\t\tmatch[0] = '';\n\t\t\t\t\t}\n\n\t\t\t\t\tstate.pop();\n\t\t\t\t}\n\n\t\t\t\t// append matched text to existing token\n\t\t\t\ttokens[tokens.length - 1] += match[0];\n\t\t\t}\n\t\t}\n\t\t// otherwise, end of processing (no more matches)\n\t\telse {\n\t\t\tunmatched = sel.substr(next_match_idx);\n\t\t\tsaveUnmatched();\n\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn tokens.join('').trim();\n}\n\n/**\n * Finds first matching elements on the page that may be in a shadow root using a complex selector of n-depth.\n * Don't have to specify all shadow roots to button, tree is traversed to find the correct element.\n *\n * Example querySelectorAllDeep('downloads-item:nth-child(4) #remove');\n *\n * Example should work on chrome://downloads outputting the remove button inside of a download card component\n *\n * Example find first active download link element querySelectorDeep('#downloads-list .is-active a[href^=\"https://\"]');\n *\n * Another example querySelectorAllDeep('#downloads-list div#title-area + a');\n *\n * @param selector\n * @param root\n * @param allElements\n * @returns {*}\n */\nexport function querySelectorAllDeep(\n\tselector,\n\troot = document,\n\tallElements = null\n) {\n\treturn _querySelectorDeep(selector, true, root, allElements);\n}\n\n/**\n * querySelectorDeep\n * @param selector\n * @param root\n * @param allElements\n * @returns {*}\n */\nexport function querySelectorDeep(\n\tselector,\n\troot = document,\n\tallElements = null\n) {\n\treturn _querySelectorDeep(selector, false, root, allElements);\n}\n\n/**\n * Finds all elements on the page, inclusive of those within shadow roots.\n *\n * @param {string=} selector Simple selector to filter the elements by. e.g. 'a', 'div.main'\n * @return {!Array<string>} List of anchor hrefs.\n */\nfunction collectAllElementsDeep(selector = null, root, cachedElements = null) {\n\tlet allElements = [];\n\n\tif (cachedElements) {\n\t\tallElements = cachedElements;\n\t} else {\n\t\tconst findAllElements = function(nodes) {\n\t\t\tfor (let i = 0; i < nodes.length; i++) {\n\t\t\t\tconst el = nodes[i];\n\t\t\t\tallElements.push(el);\n\t\t\t\t// If the element has a shadow root, dig deeper.\n\t\t\t\tif (el.shadowRoot) {\n\t\t\t\t\tfindAllElements(el.shadowRoot.querySelectorAll('*'));\n\t\t\t\t}\n\t\t\t\t// If the element is a slot, also dig into assigned elements.\n\t\t\t\tif (el instanceof HTMLSlotElement && el.assignedElements) {\n\t\t\t\t\tconst assigned = el.assignedElements({flatten: true}) || [];\n\t\t\t\t\tfindAllElements(assigned);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tif (root.shadowRoot) {\n\t\t\tfindAllElements(root.shadowRoot.querySelectorAll('*'));\n\t\t}\n\t\tfindAllElements(root.querySelectorAll('*'));\n\t}\n\n\treturn selector\n\t\t? allElements.filter((el) => el.matches(selector))\n\t\t: allElements;\n}\n\n/**\n * _querySelectorDeep\n * @param selector\n * @param findMany\n * @param root\n * @param allElements\n * @returns {*}\n * @private\n */\nfunction _querySelectorDeep(selector, findMany, root, allElements = null) {\n\tselector = normalizeSelector(selector);\n\tconst lightElement = root.querySelector(selector);\n\n\tif (document.head.createShadowRoot || document.head.attachShadow) {\n\t\t// no need to do any special if selector matches something specific in light-dom\n\t\tif (!findMany && lightElement) {\n\t\t\treturn lightElement;\n\t\t}\n\n\t\t// split on commas because those are a logical divide in the operation\n\t\tconst selectionsToMake = splitByCharacterUnlessQuoted(selector, ',');\n\n\t\treturn selectionsToMake.reduce(\n\t\t\t(acc, minimalSelector) => {\n\t\t\t\t// if not finding many just reduce the first match\n\t\t\t\tif (!findMany && acc) {\n\t\t\t\t\treturn acc;\n\t\t\t\t}\n\t\t\t\t// do best to support complex selectors and split the query\n\t\t\t\tconst splitSelector = splitByCharacterUnlessQuoted(\n\t\t\t\t\tminimalSelector\n\t\t\t\t\t\t//remove white space at start of selector\n\t\t\t\t\t\t.replace(/^\\s+/g, '')\n\t\t\t\t\t\t.replace(/\\s*([>+~]+)\\s*/g, '$1'),\n\t\t\t\t\t' '\n\t\t\t\t)\n\t\t\t\t\t// filter out entry white selectors\n\t\t\t\t\t.filter((entry) => !!entry)\n\t\t\t\t\t// convert \"a > b\" to [\"a\", \"b\"]\n\t\t\t\t\t.map((entry) => splitByCharacterUnlessQuoted(entry, '>'));\n\n\t\t\t\tconst possibleElementsIndex = splitSelector.length - 1;\n\t\t\t\tconst lastSplitPart =\n\t\t\t\t\tsplitSelector[possibleElementsIndex][\n\t\t\t\t\t\tsplitSelector[possibleElementsIndex].length - 1\n\t\t\t\t\t];\n\t\t\t\tconst possibleElements = collectAllElementsDeep(\n\t\t\t\t\tlastSplitPart,\n\t\t\t\t\troot,\n\t\t\t\t\tallElements\n\t\t\t\t);\n\t\t\t\tconst findElements = findMatchingElement(\n\t\t\t\t\tsplitSelector,\n\t\t\t\t\tpossibleElementsIndex,\n\t\t\t\t\troot\n\t\t\t\t);\n\t\t\t\tif (findMany) {\n\t\t\t\t\tacc = acc.concat(possibleElements.filter(findElements));\n\t\t\t\t\treturn acc;\n\t\t\t\t} else {\n\t\t\t\t\tacc = possibleElements.find(findElements);\n\t\t\t\t\treturn acc || null;\n\t\t\t\t}\n\t\t\t},\n\t\t\tfindMany ? [] : null\n\t\t);\n\t} else {\n\t\tif (!findMany) {\n\t\t\treturn lightElement;\n\t\t} else {\n\t\t\treturn root.querySelectorAll(selector);\n\t\t}\n\t}\n}\n\n/**\n * findMatchingElement\n * @param splitSelector\n * @param possibleElementsIndex\n * @param root\n * @returns {function(*): boolean}\n */\nfunction findMatchingElement(splitSelector, possibleElementsIndex, root) {\n\treturn (element) => {\n\t\tlet position = possibleElementsIndex;\n\t\tlet parent = element;\n\t\tlet foundElement = false;\n\t\twhile (parent && !isDocumentNode(parent)) {\n\t\t\tlet foundMatch = true;\n\t\t\tif (splitSelector[position].length === 1) {\n\t\t\t\tfoundMatch = parent.matches(splitSelector[position]);\n\t\t\t} else {\n\t\t\t\t// selector is in the format \"a > b\"\n\t\t\t\t// make sure a few parents match in order\n\t\t\t\tconst reversedParts = [].concat(splitSelector[position]).reverse();\n\t\t\t\tlet newParent = parent;\n\t\t\t\tfor (const part of reversedParts) {\n\t\t\t\t\tif (!newParent || !newParent.matches(part)) {\n\t\t\t\t\t\tfoundMatch = false;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tnewParent = findParentOrHost(newParent, root);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (foundMatch && position === 0) {\n\t\t\t\tfoundElement = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (foundMatch) {\n\t\t\t\tposition--;\n\t\t\t}\n\t\t\tparent = findParentOrHost(parent, root);\n\t\t}\n\t\treturn foundElement;\n\t};\n}\n\n/**\n * splitByCharacterUnlessQuoted\n * @param selector\n * @param character\n * @returns {*}\n */\nfunction splitByCharacterUnlessQuoted(selector, character) {\n\treturn selector.match(/\\\\?.|^$/g).reduce(\n\t\t(p, c) => {\n\t\t\tif (c === '\"' && !p.sQuote) {\n\t\t\t\tp.quote ^= 1;\n\t\t\t\tp.a[p.a.length - 1] += c;\n\t\t\t} else if (c === \"'\" && !p.quote) {\n\t\t\t\tp.sQuote ^= 1;\n\t\t\t\tp.a[p.a.length - 1] += c;\n\t\t\t} else if (!p.quote && !p.sQuote && c === character) {\n\t\t\t\tp.a.push('');\n\t\t\t} else {\n\t\t\t\tp.a[p.a.length - 1] += c;\n\t\t\t}\n\t\t\treturn p;\n\t\t},\n\t\t{a: ['']}\n\t).a;\n}\n\n/**\n * Checks if the node is a document node or not.\n * @param {Node} node\n * @returns {node is Document | DocumentFragment}\n */\nfunction isDocumentNode(node) {\n\treturn (\n\t\tnode.nodeType === Node.DOCUMENT_FRAGMENT_NODE ||\n\t\tnode.nodeType === Node.DOCUMENT_NODE\n\t);\n}\n\n/**\n * finds parent or host\n * @param element\n * @param root\n * @returns {*|null}\n */\nfunction findParentOrHost(element, root) {\n\tconst parentNode = element.parentNode;\n\treturn parentNode && parentNode.host && parentNode.nodeType === 11\n\t\t? parentNode.host\n\t\t: parentNode === root\n\t\t? null\n\t\t: parentNode;\n}\n\nexport function getFirstFocusableElementDeep(parentOrSelector) {\n\tconst focusableSelector = [\n\t\t'a[href]:not([tabindex=\"-1\"])',\n\t\t'area[href]:not([tabindex=\"-1\"])',\n\t\t'input:not([disabled]):not([type=\"hidden\"]):not([tabindex=\"-1\"])',\n\t\t'select:not([disabled]):not([tabindex=\"-1\"])',\n\t\t'textarea:not([disabled]):not([tabindex=\"-1\"])',\n\t\t'button:not([disabled]):not([tabindex=\"-1\"])',\n\t\t'iframe:not([tabindex=\"-1\"])',\n\t\t'[tabindex]:not([tabindex=\"-1\"])',\n\t\t'[contenteditable=\"true\"]'\n\t].join(',');\n\n\tconst parent =\n\t\ttypeof parentOrSelector === 'string'\n\t\t\t? querySelectorDeep(parentOrSelector)\n\t\t\t: parentOrSelector;\n\n\tif (!parent) return null;\n\n\tconst focusableElements = querySelectorAllDeep(\n\t\tfocusableSelector,\n\t\tparent\n\t).filter((el) => el.offsetParent !== null);\n\n\treturn focusableElements.length > 0 ? focusableElements[0] : null;\n}\n","import {querySelectorAllDeep} from '../qsDeep';\nimport {focusableElemSelectors} from '../../view/constants';\n\nexport function findShadowActiveElement(element) {\n\t// Start from the actual focused element first\n\tlet el = document.activeElement;\n\n\t// If focus is inside the passed host\n\tif (element?.shadowRoot?.activeElement) {\n\t\tel = element.shadowRoot.activeElement;\n\t}\n\n\t// Walk down through nested shadow roots to the deepest focused element\n\twhile (el?.shadowRoot?.activeElement) {\n\t\tel = el.shadowRoot.activeElement;\n\t}\n\n\treturn el;\n}\n\nexport const getPrimaryMenu = (host) => {\n\treturn host?.shadowRoot?.querySelector(\n\t\t'.sn-cx-navigation__primary-menu-list'\n\t);\n};\n\nexport const getSidebar = (megaMenuComponent) =>\n\tmegaMenuComponent?.querySelector('.sn-cx-navigation__megamenu-sidebar');\n\nexport const getFocusableMegaMenuContentElements = (megaMenuComponent) => {\n\tconst megamenuContentContainer = megaMenuComponent?.querySelector(\n\t\t'.sn-cx-navigation__megamenu-main'\n\t);\n\n\tconst megamenuContentElements = querySelectorAllDeep(\n\t\tfocusableElemSelectors,\n\t\tmegamenuContentContainer\n\t);\n\n\tconst footerElements = querySelectorAllDeep(\n\t\tfocusableElemSelectors,\n\t\tmegaMenuComponent?.querySelector('.sn-cx-navigation__contact')\n\t);\n\n\treturn [...megamenuContentElements, ...footerElements]?.filter(\n\t\t(element) => element.getAttribute('tabindex') >= 0\n\t);\n};\n\nexport const getFocusableSidebarElements = (megaMenuComponent) => {\n\tconst focusableSideBarElements = querySelectorAllDeep(\n\t\tfocusableElemSelectors,\n\t\tgetSidebar(megaMenuComponent)\n\t)?.filter((element) => element.getAttribute('tabindex') >= 0);\n\n\treturn focusableSideBarElements;\n};\n","import get from 'lodash/get';\nimport size from 'lodash/size';\nimport isEmpty from 'lodash/isEmpty';\nimport {\n\tgetPrimaryMenu,\n\tgetFocusableSidebarElements,\n\tgetFocusableMegaMenuContentElements\n} from './domUtils';\nimport {shouldShowMegaMenu} from '../../view/helpers';\nimport {querySelectorAllDeep} from '../qsDeep';\n\nexport const getMegaMenu = (state) => {\n\tconst {megamenuRef, popupMenuContext = {}} = state || {};\n\tconst showMegaMenu = shouldShowMegaMenu(popupMenuContext);\n\tif (showMegaMenu && megamenuRef instanceof HTMLElement) {\n\t\treturn megamenuRef;\n\t}\n};\n\nexport const getSecondaryDropdownMenu = (state) => {\n\tconst {secondaryMenuDropdownRef, popupMenuContext = {}} = state || {};\n\tconst {opened, item} = popupMenuContext;\n\tconst showSecondaryMenuDropdown = opened && item?.menu === 'secondary';\n\tif (\n\t\tshowSecondaryMenuDropdown &&\n\t\tsecondaryMenuDropdownRef instanceof HTMLElement\n\t) {\n\t\treturn secondaryMenuDropdownRef;\n\t}\n};\n\nexport const getFocusablePrimaryMenuElement = (state, host) => {\n\tconst focusablePrimaryMenuId = CSS.escape(\n\t\tget(state, 'menuItemContext.sysID')\n\t);\n\tconst primaryMenu = getPrimaryMenu(host);\n\tconst activePrimaryMenuElem = querySelectorAllDeep(\n\t\t'li.sn-cx-navigation__primary-menu-item.--active',\n\t\tprimaryMenu\n\t);\n\tif (\n\t\tsize(activePrimaryMenuElem) === 1 &&\n\t\tactivePrimaryMenuElem[0] instanceof HTMLElement\n\t) {\n\t\t// Get the active primary menu button\n\t\tconst activePrimaryMenuBtn = activePrimaryMenuElem[0].querySelectorAll(\n\t\t\t`button#${focusablePrimaryMenuId}`\n\t\t);\n\t\tif (\n\t\t\tsize(activePrimaryMenuBtn) === 1 &&\n\t\t\tactivePrimaryMenuBtn[0] instanceof HTMLElement\n\t\t) {\n\t\t\treturn activePrimaryMenuBtn[0];\n\t\t}\n\t}\n\treturn false;\n};\n\nexport const isSidebarPresent = (state) => {\n\tconst popupItem = get(state, ['popupMenuContext', 'item', 'content'], {});\n\tconst {sidebar, sidebarLinks} = popupItem;\n\tif (!isEmpty(sidebar) || !isEmpty(sidebarLinks)) {\n\t\treturn true;\n\t}\n\treturn false;\n};\n\nexport const getSidebarActiveElement = (\n\tfocusableSideBarElements,\n\tactiveElement\n) => {\n\tlet activeFocusedElemIdx = -1,\n\t\tcount = 0;\n\n\tfor (const element of focusableSideBarElements) {\n\t\tif (element === activeElement) {\n\t\t\tactiveFocusedElemIdx = count + 1;\n\t\t\treturn activeFocusedElemIdx;\n\t\t}\n\t\tif (element?.classList?.contains('--active')) {\n\t\t\tactiveFocusedElemIdx = count + 1;\n\t\t}\n\t\tcount += 1;\n\t}\n\treturn activeFocusedElemIdx;\n};\n\nexport const getSidebarFocusableElements = (state) => {\n\tconst megaMenuComponent = getMegaMenu(state);\n\tconst focusableSideBarElements = getFocusableSidebarElements(\n\t\tmegaMenuComponent\n\t);\n\treturn focusableSideBarElements;\n};\n\nexport const getSidebarActiveElementIndex = (state, activeElement) => {\n\tlet activeSidebarElementIdx;\n\tconst sidebarPresent = isSidebarPresent(state);\n\tconst focusableSideBarElements = sidebarPresent\n\t\t? getSidebarFocusableElements(state)\n\t\t: null;\n\tconst {groupItemContext} = state;\n\n\tif (sidebarPresent) {\n\t\tif (!isEmpty(focusableSideBarElements)) {\n\t\t\tactiveSidebarElementIdx =\n\t\t\t\tgroupItemContext?.eventType === 'click'\n\t\t\t\t\t? getSidebarActiveElement(focusableSideBarElements, activeElement)\n\t\t\t\t\t: focusableSideBarElements.findIndex(\n\t\t\t\t\t\t\t(element) => element === activeElement\n\t\t\t\t\t  );\n\t\t}\n\t}\n\treturn {\n\t\tsidebarPresent,\n\t\tactiveSidebarElementIdx,\n\t\tfocusableSideBarElements\n\t};\n};\n\nexport const getActiveMegamenuContentElementIdx = (state, activeElement) => {\n\tconst megaMenuComponent = getMegaMenu(state);\n\tconst focusableMegamenuContentElements = getFocusableMegaMenuContentElements(\n\t\tmegaMenuComponent\n\t);\n\tconst activeMegamenuContentElementIdx = focusableMegamenuContentElements.findIndex(\n\t\t(element) => element === activeElement\n\t);\n\treturn {\n\t\tactiveMegamenuContentElementIdx,\n\t\tfocusableMegamenuContentElements\n\t};\n};\n","import {getMegaMenu, isSidebarPresent} from './menuElementsGetterUtils';\nimport {\n\tfindShadowActiveElement,\n\tgetFocusableMegaMenuContentElements,\n\tgetSidebar\n} from './domUtils';\nimport {querySelectorAllDeep} from '../qsDeep';\nimport {focusableElemSelectors} from '../../view/constants';\n\nexport const selectNextMegamenuElement = (state, host, eventType) => {\n\tif (eventType !== 'keydown') {\n\t\treturn false;\n\t}\n\tconst megaMenuComponent = getMegaMenu(state);\n\tconst activeElement = findShadowActiveElement(host);\n\tconst sidebarPresent = isSidebarPresent(state);\n\tconst container = sidebarPresent\n\t\t? getSidebar(megaMenuComponent)\n\t\t: megaMenuComponent;\n\t/**\n\t * Get all focusable megamenu elements\n\t */\n\tconst focusableElements = querySelectorAllDeep(\n\t\tfocusableElemSelectors,\n\t\tcontainer\n\t).filter((element) => element.getAttribute('tabindex') >= 0);\n\t/**\n\t * check if the active element is one of the mega menu elements\n\t */\n\tconst activeElemIdx = focusableElements.findIndex(\n\t\t(element) => element === activeElement\n\t);\n\t/**\n\t * if current active element is not a focusable element inside the megamenu then,\n\t * if 'Tab' key is pressed: focus on the first focusbale element in the megamanu\n\t */\n\tif (activeElemIdx < 0) {\n\t\tfocusableElements[0].focus();\n\t\treturn true;\n\t}\n\treturn false;\n};\n\nexport const selectNextMegamenuContentElement = (state, host, eventType) => {\n\tif (eventType !== 'keydown') {\n\t\treturn false;\n\t}\n\tconst megaMenuComponent = getMegaMenu(state);\n\tconst activeElement = findShadowActiveElement(host);\n\t/*\n\t * Get all focusable elements within mega menu content\n\t */\n\tconst focusableElements = getFocusableMegaMenuContentElements(\n\t\tmegaMenuComponent\n\t);\n\t/*\n\t * Check if the active element is one of the mega menu content elements\n\t */\n\tconst activeMegamenuContentElemIndex = focusableElements.findIndex(\n\t\t(element) => element === activeElement\n\t);\n\t/**\n\t * if the active element is not a focusable element within mega menu content,\n\t * then focus the first element if 'Tab' key is pressed,\n\t *\n\t * Focus Trap: If the active element is the last focusable element, then focus\n\t * the first element. Trap focus within the mega menu content, until 'esc' key\n\t * is pressed.\n\t */\n\tif (\n\t\tactiveMegamenuContentElemIndex < 0 ||\n\t\tactiveMegamenuContentElemIndex === focusableElements.length - 1\n\t) {\n\t\tfocusableElements[0].focus();\n\t\treturn true;\n\t}\n\n\treturn false;\n};\n\nexport const sortElements = (elements) => {\n\tconst focusableElements = Array.from(elements);\n\tfocusableElements.sort((a, b) => {\n\t\tif (a === b) return 0;\n\t\tif (a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_PRECEDING)\n\t\t\treturn 1;\n\t\treturn -1;\n\t});\n\treturn focusableElements?.filter(\n\t\t(element) => element.getAttribute('tabindex') >= 0\n\t);\n};\n\nexport const selectSecondaryMenuDropdownElement = (\n\tsecondaryDropdown,\n\thost,\n\tshiftKey,\n\teventType\n) => {\n\tif (eventType !== 'keydown') {\n\t\treturn false;\n\t}\n\tconst secondaryDropdownFocusableElements = querySelectorAllDeep(\n\t\tfocusableElemSelectors,\n\t\tsecondaryDropdown\n\t);\n\n\tconst focusableElements = sortElements(secondaryDropdownFocusableElements);\n\n\tconst activeElement = findShadowActiveElement(host);\n\tconst activeElemIdx = focusableElements.findIndex(\n\t\t(element) => element === activeElement\n\t);\n\n\tif (activeElemIdx < 0 && !shiftKey) {\n\t\tfocusableElements[0].focus();\n\t\treturn true;\n\t}\n\tif (activeElemIdx === focusableElements.length - 1 && !shiftKey) {\n\t\tfocusableElements[0].focus();\n\t\treturn true;\n\t}\n\tif (activeElemIdx > 0 && shiftKey) {\n\t\tfocusableElements[activeElemIdx - 1].focus();\n\t\treturn true;\n\t}\n\tif (activeElemIdx === 0 && shiftKey) {\n\t\tfocusableElements[focusableElements.length - 1].focus();\n\t\treturn true;\n\t}\n\treturn false;\n};\n\nexport const handleSecondaryMenuItemFocus = (state = {}) => {\n\tconst {secondaryMenuEl: secondaryMenuListRef, popupMenuContext = {}} = state;\n\tconst secondaryMenuElemId = popupMenuContext?.item?.sysID;\n\tconst secondaryMenuElem = secondaryMenuListRef?.querySelector(\n\t\t`[id=\"${secondaryMenuElemId}\"]`\n\t);\n\tconst focusableElem = secondaryMenuElem?.querySelector(\n\t\t`[id=\"${popupMenuContext?.item?.id}\"]`\n\t);\n\tif (focusableElem instanceof HTMLElement) {\n\t\tfocusableElem.focus();\n\t}\n};\n","import {findShadowActiveElement} from './domUtils';\nimport {querySelectorAllDeep} from '../qsDeep';\n\nimport {LANGUAGE, PROFILE, NOTIFICATION, TASK} from '../../view/constants';\n\nconst utilityItemsMapping = {\n\t[LANGUAGE]: 'languageSelectorRef',\n\t[PROFILE]: 'profileDropdownRef',\n\t[NOTIFICATION]: 'notificationListRef',\n\t[TASK]: 'utilityDropdownRef'\n};\n\nconst getUtilityDropdown = (state, utilityType) => {\n\tconst {popupMenuContext = {}} = state || {};\n\tconst utilityDropdownRef = state?.[utilityItemsMapping[utilityType]];\n\tconst isValidCurrentUtilityDropdown =\n\t\tpopupMenuContext?.opened && popupMenuContext?.item?.type === utilityType;\n\tif (\n\t\tisValidCurrentUtilityDropdown &&\n\t\tutilityDropdownRef instanceof HTMLElement\n\t) {\n\t\treturn utilityDropdownRef;\n\t}\n};\n\nexport const getLanguageDropdown = (state) => {\n\tconst languageSelectorRef = getUtilityDropdown(state, LANGUAGE);\n\treturn languageSelectorRef;\n};\n\nexport const getProfileUtilityDropdown = (state) => {\n\tconst profileDropdownRef = getUtilityDropdown(state, PROFILE);\n\treturn profileDropdownRef;\n};\n\nexport const getNotificationDropdown = (state) => {\n\tconst notificationRef = getUtilityDropdown(state, NOTIFICATION);\n\treturn notificationRef;\n};\n\nexport const getTaskUtilityDropdown = (state) => {\n\tconst taskRef = getUtilityDropdown(state, TASK);\n\treturn taskRef;\n};\n\nexport const getSearchUtility = (host) => {\n\treturn host?.shadowRoot?.querySelector(\n\t\t'#utility-search > .sn-cx-navigation__utility-button'\n\t);\n};\n\nexport const handleUtilityFocus = ({\n\thost,\n\tdispatch,\n\tstate,\n\taction,\n\tutilityItemSelector,\n\tfocusableElemSelectors\n}) => {\n\tconst utilityListItem = host?.shadowRoot?.querySelector(utilityItemSelector);\n\tconst focusableUtilityElement =\n\t\tutilityListItem instanceof HTMLElement &&\n\t\tutilityListItem?.querySelector(focusableElemSelectors);\n\tif (focusableUtilityElement instanceof HTMLElement) {\n\t\tfocusableUtilityElement.focus();\n\t}\n\tconst {popupMenuContext = {}} = state;\n\tdispatch(action, {\n\t\topened: true,\n\t\titem: popupMenuContext?.item\n\t});\n};\n\nexport const selectNextUtilityDropdownElement = (\n\thost,\n\tshiftKey = false,\n\tutilityDropdown,\n\tutilityDropdownFocusableSelector\n) => {\n\tconst activeElement = findShadowActiveElement(host);\n\n\tconst focusableElements = querySelectorAllDeep(\n\t\tutilityDropdownFocusableSelector,\n\t\tutilityDropdown\n\t).filter((element) => element.getAttribute('tabindex') >= 0);\n\n\tif (focusableElements.length === 0) return false;\n\n\tconst activeElemIndex = focusableElements.findIndex(\n\t\t(element) => element === activeElement\n\t);\n\n\tif (activeElemIndex < 0) {\n\t\t/**\n\t\t * active element is not a focusable element within the dropdown menu\n\t\t */\n\t\tfocusableElements[0].focus();\n\t\treturn true;\n\t}\n\n\t/**\n\t * Focus Trap: trap focus within the profile dropdown, until 'esc' key is pressed.\n\t * If the active element is the last focusable element, then focus the first element.\n\t */\n\tif (\n\t\t!shiftKey &&\n\t\tactiveElement === focusableElements[focusableElements.length - 1]\n\t) {\n\t\tfocusableElements[0].focus();\n\t\treturn true;\n\t}\n\tif (!shiftKey && activeElemIndex >= 0) {\n\t\tconst next = activeElemIndex + 1;\n\t\tfocusableElements[next].focus();\n\t\treturn true;\n\t}\n\tif (shiftKey) {\n\t\tconst next =\n\t\t\tactiveElemIndex === 0\n\t\t\t\t? focusableElements.length - 1\n\t\t\t\t: activeElemIndex - 1;\n\t\tfocusableElements[next].focus();\n\t\treturn true;\n\t}\n};\n","/// Miscelanous utility functions\nimport {declarativeOperations} from '@servicenow/ui-core';\n\n/**\n * Update state declaratively\n * @param {function} updateState - updateState function\n * @param {object} args - object with path as key and value as value\n * @param {object} params - object with params to override the updateState operation\n * @returns {void}\n */\nexport const declarativeStateUpdate = (updateState, args, params = {}) => {\n\tconst keys = Object.keys(args);\n\n\tconst operations = keys.map((path) => ({\n\t\t...params,\n\t\tpath,\n\t\tvalue: args[path],\n\t\toperation: params.operation || declarativeOperations.SET,\n\t\tshouldRender: params.shouldRender || true\n\t}));\n\n\tupdateState(operations);\n};\n","import {declarativeOperations} from '@servicenow/ui-core';\nimport isEqual from 'lodash/isEqual';\nimport isEmpty from 'lodash/isEmpty';\nimport includes from 'lodash/includes';\nimport memoize from 'lodash/memoize';\nimport Logger from '@devsnc/library-logger';\nimport {\n\tCLOSE_POPOVERS,\n\tNAV_ITEM_SELECTED,\n\tSECONDARY_MENU_RESIZED,\n\tANALYTICS_EVENTS,\n\tDOCUMENT_FREEZE_REQUESTED,\n\tMEGAMENU_GROUP_ITEM_CLICKED,\n\tMEGA_MENU_TOGGLED,\n\tSCREEN_RESIZED,\n\tSECONDARY_CTA_UPDATE_REQUESTED,\n\tMEGAMENU_REF,\n\tSECONDARY_DROPDOWN_SELECTION,\n\tSECONDARY_DROPDOWN_LEVEL_UPDATED,\n\tTRACK_ANALYTICS_CLICKED,\n\tANCHOR_TAG_CLICKED\n} from './actions';\nimport {\n\tLANGUAGE,\n\tTEXT_DIRECTION,\n\tfocusableElemSelectors\n} from './view/constants';\nimport {\n\tselectNextMegamenuElement,\n\tselectNextMegamenuContentElement,\n\tselectNextUtilityDropdownElement,\n\tselectSecondaryMenuDropdownElement,\n\tgetSearchUtility\n} from './utils/focus-mgmt-utils';\nimport {declarativeStateUpdate} from '../../utils';\nimport {getClientBreakpoints, getRouteConfig} from './utils';\nimport {\n\tformatAdobeDigitalDataPayload,\n\tANALYTICS_COMPONENTS_ID\n} from './utils/analytics-tracking';\n\nconst menuItemWidth = {};\nconst overflowElementWidth = {\n\tsecondary: 54\n};\n\nfunction toggleMegaMenu(coeffects) {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {item, opened, eventType}\n\t\t},\n\t\tupdateState,\n\t\tdispatch\n\t} = coeffects;\n\tconst popupMenuContext = {opened: !opened, item, eventType};\n\tconst EMPTY_OBJ = {};\n\tupdateState([\n\t\t{\n\t\t\tpath: 'popupMenuContext',\n\t\t\tvalue: popupMenuContext,\n\t\t\toperation: declarativeOperations.SET\n\t\t},\n\t\t{\n\t\t\tpath: 'groupItemContext',\n\t\t\toperation: declarativeOperations.SET,\n\t\t\tvalue: EMPTY_OBJ\n\t\t}\n\t]);\n\tif (!isEmpty(item)) {\n\t\tsetTimeout(() => {\n\t\t\tdispatch(DOCUMENT_FREEZE_REQUESTED, {isMegaMenuExpanded: true});\n\t\t\tdispatch(MEGAMENU_REF, {eventType});\n\t\t}, 100);\n\t}\n}\n\nfunction handleMegamenuRef(coeffects) {\n\tconst {\n\t\thost,\n\t\tstate,\n\t\taction: {\n\t\t\tpayload: {eventType}\n\t\t}\n\t} = coeffects;\n\tselectNextMegamenuElement(state, host, eventType);\n}\n\nfunction handleMenuClicked(coeffects) {\n\tconst {\n\t\tstate: {menuItemContext = {}},\n\t\taction: {\n\t\t\tpayload: {item, isExpanded, eventType}\n\t\t},\n\t\tupdateState,\n\t\tdispatch\n\t} = coeffects;\n\tconst EMPTY_OBJ = {};\n\n\t// Toggles Primary menu items\n\tconst getMenuOpenState = (opened, sameMenuItemToggled) => {\n\t\tif (!opened) return false;\n\t\treturn sameMenuItemToggled || !opened;\n\t};\n\n\tupdateState([\n\t\t{\n\t\t\tpath: 'menuItemContext',\n\t\t\tvalue: item,\n\t\t\toperation: declarativeOperations.SET\n\t\t},\n\t\t{\n\t\t\tpath: 'groupItemContext',\n\t\t\toperation: declarativeOperations.SET,\n\t\t\tvalue: EMPTY_OBJ\n\t\t}\n\t]);\n\n\tconst sameMenuItemToggled = menuItemContext?.sysID === item?.sysID;\n\tdispatch(MEGA_MENU_TOGGLED, {\n\t\titem,\n\t\teventType,\n\t\topened: getMenuOpenState(isExpanded, sameMenuItemToggled)\n\t});\n\n\tdispatch(TRACK_ANALYTICS_CLICKED, {\n\t\telement: item,\n\t\tsection: ANALYTICS_COMPONENTS_ID.PRIMARY_MENUITEM\n\t});\n}\n\nfunction handleMenuItemFocus(coeffects) {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {item}\n\t\t},\n\t\tupdateState\n\t} = coeffects;\n\n\tupdateState({\n\t\tpath: 'focusedMenuItem',\n\t\toperation: declarativeOperations.SET,\n\t\tvalue: item\n\t});\n}\n\nfunction handleMenuItemBlur(coeffects) {\n\tconst {updateState} = coeffects;\n\tconst EMPTY_OBJ = {};\n\tupdateState({\n\t\tpath: 'focusedMenuItem',\n\t\toperation: declarativeOperations.SET,\n\t\tvalue: EMPTY_OBJ\n\t});\n}\n\nfunction menuClickNavigation(\n\tnavTarget,\n\tsecondaryMenuExpanded,\n\tpopupMenuContext,\n\tdispatch\n) {\n\tdispatch(NAV_ITEM_SELECTED, {...navTarget});\n\n\t// close the popovers, if any in open state\n\tif (secondaryMenuExpanded || popupMenuContext.opened)\n\t\tdispatch(CLOSE_POPOVERS);\n}\n\nfunction handleActiveSecondaryMenuItem(coeffects) {\n\tconst {\n\t\taction: {payload},\n\t\tupdateState\n\t} = coeffects;\n\n\tupdateState({\n\t\tpath: 'activeMenuState',\n\t\toperation: declarativeOperations.SET,\n\t\tvalue: payload\n\t});\n}\n\n// Called when Secondary menu item below main menu is clicked.\nfunction handleSecondaryMenuItemClicked(coeffects) {\n\t// when menu item is not inside More dropdown\n\tconst {\n\t\taction: {\n\t\t\tpayload: {item},\n\t\t\tmeta: {mouseClickEvent}\n\t\t},\n\t\tstate: {secondaryMenuExpanded, popupMenuContext},\n\t\tdispatch\n\t} = coeffects;\n\n\tconst {url = '', urlTarget = '', eventConfig = {}} = item;\n\tlet routeConfig;\n\n\ttry {\n\t\trouteConfig = getRouteConfig(url);\n\t} catch (error) {\n\t\trouteConfig = item?.routeConfig || {};\n\t}\n\n\tdispatch(TRACK_ANALYTICS_CLICKED, {\n\t\telement: item,\n\t\tsection: ANALYTICS_COMPONENTS_ID.SECONDARY_MENUITEM,\n\t\tmenuLevelDelta: 1\n\t});\n\n\tif (!isEmpty(routeConfig)) {\n\t\tmenuClickNavigation(\n\t\t\t{...routeConfig},\n\t\t\tsecondaryMenuExpanded,\n\t\t\tpopupMenuContext,\n\t\t\tdispatch\n\t\t);\n\t} else if (!isEmpty(eventConfig)) {\n\t\tdispatch(eventConfig?.name, eventConfig?.payload);\n\t} else if (!isEmpty(url)) {\n\t\tdispatch(\n\t\t\tANCHOR_TAG_CLICKED,\n\t\t\t{url, urlTarget},\n\t\t\t{\n\t\t\t\tmouseClickEvent\n\t\t\t}\n\t\t);\n\t}\n}\n\nfunction handleLinkNavigation(coeffects) {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {url, urlTarget},\n\t\t\tmeta: {mouseClickEvent}\n\t\t}\n\t} = coeffects;\n\tconst anchor = document.createElement('a');\n\tif (mouseClickEvent) {\n\t\tconst isCmdClick =\n\t\t\tmouseClickEvent.metaKey ||\n\t\t\tmouseClickEvent.ctrlKey ||\n\t\t\tmouseClickEvent.button === 1;\n\t\tanchor.href = url;\n\t\tanchor.target = isCmdClick ? '_blank' : urlTarget || '_self';\n\t\tconst clickEvent = new MouseEvent('click', {\n\t\t\tmetaKey: mouseClickEvent.metaKey || mouseClickEvent.ctrlKey\n\t\t});\n\t\tanchor.dispatchEvent(clickEvent);\n\t} else {\n\t\tanchor.click();\n\t}\n}\n\nfunction handleSecondaryPopupMenuItemClicked(coeffects) {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {opened, item, eventType}\n\t\t},\n\t\tdispatch,\n\t\tupdateState\n\t} = coeffects;\n\tconst {hasPopup} = item;\n\n\tconst popupMenuContext = {\n\t\topened: !opened,\n\t\titem,\n\t\teventType\n\t};\n\n\tif (hasPopup) {\n\t\tupdateState([\n\t\t\t{\n\t\t\t\tpath: 'popupMenuContext',\n\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\tvalue: popupMenuContext\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'secondayDropdownSubItemContext',\n\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\tvalue: {}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'currentSecondaryMenuLevel',\n\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\t// Initializes to 0 whenever secondaryMenuItem is clicked\n\t\t\t\tvalue: 0\n\t\t\t}\n\t\t]);\n\t\tdispatch(TRACK_ANALYTICS_CLICKED, {\n\t\t\telement: item,\n\t\t\tsection: ANALYTICS_COMPONENTS_ID.SECONDARY_MENUITEM,\n\t\t\tmenuLevelDelta: 1\n\t\t});\n\t}\n}\n\nfunction handlePopupTargetRef(coeffects) {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {targetref}\n\t\t},\n\t\tupdateState\n\t} = coeffects;\n\tconst key = Object.keys(targetref)[0];\n\tupdateState([\n\t\t{\n\t\t\tpath: key,\n\t\t\toperation: declarativeOperations.SET,\n\t\t\tvalue: targetref[key]\n\t\t}\n\t]);\n}\n\nfunction navigationPropertyChanged(dispatch, navigation, previous) {\n\tif (!isEqual(navigation?.secondaryCTAs, previous?.secondaryCTAs)) {\n\t\tdispatch(SECONDARY_CTA_UPDATE_REQUESTED, {\n\t\t\tsecondaryCTAs: navigation?.secondaryCTAs\n\t\t});\n\t}\n}\n\nfunction handleComponentPropertyChanged(coeffects) {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {name, value, previousValue}\n\t\t},\n\t\thost,\n\t\tdispatch\n\t} = coeffects;\n\tswitch (name) {\n\t\tcase 'navTopOverlayOffset':\n\t\t\tif (!isEqual(previousValue, value)) {\n\t\t\t\thost.style.setProperty(\n\t\t\t\t\t'--now-sn-cx-navigation--megamenu-overlay--top',\n\t\t\t\t\t`${value}px`\n\t\t\t\t);\n\t\t\t\thost.style.setProperty(\n\t\t\t\t\t'--now-sn-cx-navigation--full-screen-height',\n\t\t\t\t\t`${window.innerHeight}px`\n\t\t\t\t);\n\t\t\t\t/* firstElementChild doesn't work properly on Safari\n\t\t\t\tconst firstChild = host.shadowRoot?.firstElementChild;\n\t\t\t\tif (firstChild) {\n\t\t\t\t\tfirstChild.style.setProperty(\n\t\t\t\t\t\t'--now-sn-cx-navigation--megamenu-overlay--top',\n\t\t\t\t\t\t`${value}px`\n\t\t\t\t\t);\n\t\t\t\t\tfirstChild.style.setProperty(\n\t\t\t\t\t\t'--now-sn-cx-navigation--full-screen-height',\n\t\t\t\t\t\t`${window.innerHeight}px`\n\t\t\t\t\t);\n\t\t\t\t}*/\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'navigation':\n\t\t\tnavigationPropertyChanged(dispatch, value, previousValue);\n\t\t\tbreak;\n\t}\n}\n\nfunction handleClosePopovers({updateState, dispatch, state}) {\n\tconst {\n\t\tpopupMenuContext = {},\n\t\tmegaMenuContext = {},\n\t\tisMobileMenuOpen,\n\t\tsecondaryMenuExpanded\n\t} = state;\n\n\tconst shouldUpdate =\n\t\tsecondaryMenuExpanded || popupMenuContext.opened || megaMenuContext.opened;\n\n\tif (shouldUpdate) {\n\t\tconst EMPTY_OBJ = {};\n\t\tconst stateUpdates = [\n\t\t\t{path: 'secondaryMenuExpanded', value: false},\n\t\t\t{path: 'popupMenuContext.opened', value: false},\n\t\t\t{path: 'popupMenuContext.item', value: EMPTY_OBJ},\n\t\t\t{path: 'popupMenuContext.eventType', value: ''},\n\t\t\t{path: 'megaMenuContext.opened', value: false},\n\t\t\t{path: 'megaMenuContext.item', value: EMPTY_OBJ},\n\t\t\t{path: 'megaMenuContext.elementRef', value: null},\n\t\t\t{path: 'currentSecondaryMenuLevel', value: 0}\n\t\t];\n\n\t\tif (isMobileMenuOpen) {\n\t\t\tstateUpdates.push({\n\t\t\t\tpath: 'isMobileMenuOpen',\n\t\t\t\tvalue: false\n\t\t\t});\n\t\t}\n\t\tupdateState(\n\t\t\tstateUpdates.map((update) => ({\n\t\t\t\t...update,\n\t\t\t\toperation: declarativeOperations.SET\n\t\t\t}))\n\t\t);\n\t}\n\n\tdispatch(DOCUMENT_FREEZE_REQUESTED, {\n\t\tisMegaMenuExpanded: false,\n\t\tsecondaryMenuExpanded: false\n\t});\n}\n\nfunction handleUtilityItemClicked(coeffects) {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {item, opened = false, eventType, requestMobileMenuClose = true}\n\t\t},\n\t\tstate = {},\n\t\tdispatch,\n\t\tupdateState\n\t} = coeffects;\n\tconst {routeConfig = {}, url = '', urlTarget = '', eventConfig = {}} = item;\n\tconst {secondaryMenuExpanded, popupMenuContext} = state;\n\n\tif (!isEmpty(routeConfig)) {\n\t\treturn menuClickNavigation(\n\t\t\t{...routeConfig},\n\t\t\tsecondaryMenuExpanded,\n\t\t\tpopupMenuContext,\n\t\t\tdispatch\n\t\t);\n\t}\n\n\tif (!isEmpty(url)) {\n\t\treturn open(url, urlTarget);\n\t}\n\n\tconst {name, payload} = eventConfig;\n\tif (!isEmpty(name)) {\n\t\tdispatch(name, {...payload});\n\t\tconst newPopupMenuContext = {item, opened: !opened, eventType};\n\t\tconst stateUpdates = [\n\t\t\t{\n\t\t\t\tpath: 'popupMenuContext',\n\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\tvalue: newPopupMenuContext\n\t\t\t}\n\t\t];\n\t\t// Re-expand secondary menu when closing a utility popup via back button\n\t\t// (requestMobileMenuClose=false means back button, true means close button)\n\t\tif (opened && !secondaryMenuExpanded && !requestMobileMenuClose) {\n\t\t\tstateUpdates.push({\n\t\t\t\tpath: 'secondaryMenuExpanded',\n\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\tvalue: true\n\t\t\t});\n\t\t}\n\t\tupdateState(stateUpdates);\n\t}\n}\n\nfunction handleNotificationListRefUpdated(coeffects) {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {notificationListRef = null, popupMenuContext = {}}\n\t\t},\n\t\tupdateState,\n\t\thost\n\t} = coeffects;\n\tconst {eventType} = popupMenuContext;\n\tif (eventType === 'keydown') {\n\t\tselectNextUtilityDropdownElement(\n\t\t\thost,\n\t\t\tfalse,\n\t\t\tnotificationListRef,\n\t\t\tfocusableElemSelectors\n\t\t);\n\t}\n\tupdateState({\n\t\tpath: 'notificationListRef',\n\t\toperation: declarativeOperations.SET,\n\t\tvalue: notificationListRef\n\t});\n}\n\nfunction handleUtilityDropdownRefUpdated(coeffects) {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {utilityDropdownRef = null, popupMenuContext = {}}\n\t\t},\n\t\tupdateState,\n\t\thost\n\t} = coeffects;\n\n\tconst {eventType} = popupMenuContext;\n\n\tupdateState({\n\t\tpath: 'utilityDropdownRef',\n\t\toperation: declarativeOperations.SET,\n\t\tvalue: utilityDropdownRef\n\t});\n\n\tif (!utilityDropdownRef) {\n\t\treturn;\n\t}\n\n\tif (eventType === 'keydown') {\n\t\tselectNextUtilityDropdownElement(\n\t\t\thost,\n\t\t\tfalse,\n\t\t\tutilityDropdownRef,\n\t\t\tfocusableElemSelectors\n\t\t);\n\t}\n}\n\nfunction handleGroupLinkClicked(coeffects) {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\titem: {routeConfig}\n\t\t\t}\n\t\t},\n\t\tdispatch,\n\t\tstate: {secondaryMenuExpanded, popupMenuContext}\n\t} = coeffects;\n\tif (!isEmpty(routeConfig)) {\n\t\treturn menuClickNavigation(\n\t\t\t{...routeConfig},\n\t\t\tsecondaryMenuExpanded,\n\t\t\tpopupMenuContext,\n\t\t\tdispatch\n\t\t);\n\t}\n}\n\nfunction handleMegaMenuCloseClicked(coeffects) {\n\tconst {updateState, dispatch} = coeffects;\n\tconst popupMenuState = {opened: false, item: {}};\n\tupdateState([\n\t\t{\n\t\t\tpath: 'popupMenuContext',\n\t\t\toperation: declarativeOperations.SET,\n\t\t\tvalue: popupMenuState\n\t\t},\n\t\t{\n\t\t\tpath: 'isMobileMenuOpen',\n\t\t\tvalue: false,\n\t\t\toperation: declarativeOperations.SET\n\t\t}\n\t]);\n\tdispatch(DOCUMENT_FREEZE_REQUESTED, {isMegaMenuExpanded: false});\n}\n\nfunction toggleProfileDropdown(coeffects) {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {item, opened, eventType}\n\t\t},\n\t\tupdateState\n\t} = coeffects;\n\tconst popupMenuContext = {opened: !opened, item, eventType};\n\tupdateState({\n\t\tpath: 'popupMenuContext',\n\t\toperation: declarativeOperations.SET,\n\t\tvalue: popupMenuContext\n\t});\n}\n\nfunction handleProfileDropdownItemClicked(coeffects) {\n\tconst {\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: {item}\n\t\t},\n\t\tstate: {secondaryMenuExpanded, popupMenuContext}\n\t} = coeffects;\n\n\tconst {routeConfig = {}, url = '', urlTarget = '', eventConfig = {}} = item;\n\n\tif (!isEmpty(routeConfig)) {\n\t\tconst navTarget = {...routeConfig};\n\t\tmenuClickNavigation(\n\t\t\tnavTarget,\n\t\t\tsecondaryMenuExpanded,\n\t\t\tpopupMenuContext,\n\t\t\tdispatch\n\t\t);\n\t\tdispatch(CLOSE_POPOVERS);\n\t} else if (!isEmpty(url)) {\n\t\topen(url, urlTarget);\n\t} else if (!isEmpty(eventConfig)) {\n\t\tdispatch(eventConfig.name, eventConfig.payload);\n\t}\n}\n\nfunction toggleLanguageSelector(coeffects) {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {item, opened = false, eventType}\n\t\t},\n\t\tupdateState\n\t} = coeffects;\n\tconst {hasPopup = false, items = [], type = ''} = item;\n\n\tif (hasPopup && !isEmpty(items) && !isEmpty(type) && type === LANGUAGE) {\n\t\tconst popupMenuContext = {opened: !opened, item, eventType};\n\t\tupdateState({\n\t\t\tpath: 'popupMenuContext',\n\t\t\toperation: declarativeOperations.SET,\n\t\t\tvalue: popupMenuContext\n\t\t});\n\t}\n}\n\nfunction handleMegaMenuGroupItemClicked(coeffects) {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {item, eventType}\n\t\t},\n\t\tupdateState,\n\t\thost,\n\t\tstate\n\t} = coeffects;\n\tupdateState([\n\t\t{\n\t\t\tpath: 'groupItemContext',\n\t\t\toperation: declarativeOperations.SET,\n\t\t\tvalue: {...item, eventType}\n\t\t},\n\t\t{\n\t\t\tpath: 'groupItemContextEscaped',\n\t\t\toperation: declarativeOperations.SET,\n\t\t\tvalue: false\n\t\t}\n\t]);\n\tsetTimeout(() => {\n\t\tselectNextMegamenuContentElement(state, host, eventType);\n\t}, 100);\n}\n\nfunction handleMegaMenuCollapsibleItemToggled({\n\taction: {\n\t\tpayload: {item}\n\t},\n\tupdateState,\n\tstate: {groupItemContext},\n\tdispatch\n}) {\n\tconst isSameItem = groupItemContext.sysID === item.sysID;\n\n\tif (isSameItem) {\n\t\tupdateState({\n\t\t\tpath: 'groupItemContext',\n\t\t\toperation: declarativeOperations.SET,\n\t\t\tvalue: {}\n\t\t});\n\t} else {\n\t\tdispatch(MEGAMENU_GROUP_ITEM_CLICKED, {item});\n\t}\n}\n\nfunction handleGroupItemEscaped(coeffects) {\n\tconst {updateState} = coeffects;\n\tupdateState({\n\t\tpath: 'groupItemContextEscaped',\n\t\toperation: declarativeOperations.SET,\n\t\tvalue: true\n\t});\n}\n\nfunction handleMegamenuElementRef(coeffects) {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {megamenuRef = null}\n\t\t},\n\t\tupdateState\n\t} = coeffects;\n\n\tupdateState({\n\t\tpath: 'megamenuRef',\n\t\toperation: declarativeOperations.SET,\n\t\tvalue: megamenuRef\n\t});\n}\n\nfunction handleLanguageSelectorRefUpdated(coeffects) {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {langSelectorRef = null}\n\t\t},\n\t\tupdateState\n\t} = coeffects;\n\n\tupdateState({\n\t\tpath: 'languageSelectorRef',\n\t\toperation: declarativeOperations.SET,\n\t\tvalue: langSelectorRef\n\t});\n}\n\nfunction handleProfileDropdownRefUpdated(coeffects) {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {profileDropdownRef = null}\n\t\t},\n\t\tupdateState\n\t} = coeffects;\n\n\tupdateState({\n\t\tpath: 'profileDropdownRef',\n\t\toperation: declarativeOperations.SET,\n\t\tvalue: profileDropdownRef\n\t});\n}\n\nfunction handleSecondaryDropdownRef(coeffects) {\n\tconst {\n\t\tstate = {},\n\t\thost,\n\t\taction: {\n\t\t\tpayload: {secondaryMenuDropdownRef = null}\n\t\t},\n\t\tupdateState\n\t} = coeffects;\n\tconst {popupMenuContext = {}} = state;\n\tselectSecondaryMenuDropdownElement(\n\t\tsecondaryMenuDropdownRef,\n\t\thost,\n\t\tfalse,\n\t\tpopupMenuContext?.eventType\n\t);\n\tupdateState({\n\t\tpath: 'secondaryMenuDropdownRef',\n\t\toperation: declarativeOperations.SET,\n\t\tvalue: secondaryMenuDropdownRef\n\t});\n}\n\nfunction toggleSecondaryMenuDropdownItem(coeffects) {\n\tconst {\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\titem,\n\t\t\t\topened,\n\t\t\t\tparent,\n\t\t\t\tgrandParentItem,\n\t\t\t\teventType,\n\t\t\t\t// Delta value is passed with either -1 or 1 depending on the menu item toggled\n\t\t\t\tmenuLevelDelta\n\t\t\t}\n\t\t},\n\t\tupdateState\n\t} = coeffects;\n\tupdateState([\n\t\t{\n\t\t\tpath: 'secondayDropdownSubItemContext',\n\t\t\toperation: declarativeOperations.SET,\n\t\t\tvalue: {\n\t\t\t\titem,\n\t\t\t\topened: !opened,\n\t\t\t\tparent,\n\t\t\t\tgrandParentItem,\n\t\t\t\teventType\n\t\t\t}\n\t\t}\n\t]);\n\tdispatch(SECONDARY_DROPDOWN_SELECTION, {\n\t\teventType,\n\t\titem,\n\t\tmenuLevelDelta\n\t});\n}\nfunction handleSecondaryDropdownSelection(coeffects) {\n\tconst {\n\t\tstate = {},\n\t\thost,\n\t\taction: {\n\t\t\tpayload: {menuLevelDelta, item, eventType}\n\t\t},\n\t\tdispatch\n\t} = coeffects;\n\n\t// menuLevelDelta received from SECONDARY_MENU_DROPDOWN_ITEM_TOGGLED could be 1 or -1\n\tif (menuLevelDelta !== 0) {\n\t\tdispatch(SECONDARY_DROPDOWN_LEVEL_UPDATED, {\n\t\t\tmenuLevelDelta\n\t\t});\n\t}\n\t// Only dispatch tracking event if the button has a label\n\tif (!isEmpty(item.label)) {\n\t\t// dont need to pass in menuLevelDelta here as state is already been updated\n\t\tdispatch(TRACK_ANALYTICS_CLICKED, {\n\t\t\telement: item,\n\t\t\tsection: ANALYTICS_COMPONENTS_ID.SECONDARY_MENUITEM\n\t\t});\n\t}\n\n\tconst isShiftKey = false;\n\tconst focused = selectSecondaryMenuDropdownElement(\n\t\tstate?.secondaryMenuDropdownRef,\n\t\thost,\n\t\tisShiftKey,\n\t\teventType\n\t);\n\tif (!focused) {\n\t\tconst activeElement = host?.shadowRoot?.activeElement;\n\t\tif (activeElement instanceof HTMLElement && eventType !== 'keydown') {\n\t\t\tactiveElement.blur();\n\t\t}\n\t}\n}\n\nfunction handleSecondaryMenuLevelUpdate(coeffects) {\n\tconst {\n\t\tstate: {currentSecondaryMenuLevel},\n\t\taction: {\n\t\t\tpayload: {menuLevelDelta = 0}\n\t\t},\n\t\tupdateState\n\t} = coeffects;\n\n\tif (menuLevelDelta !== 0) {\n\t\tupdateState([\n\t\t\t{\n\t\t\t\tpath: 'currentSecondaryMenuLevel',\n\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\tvalue: currentSecondaryMenuLevel + menuLevelDelta\n\t\t\t}\n\t\t]);\n\t} else {\n\t\treturn;\n\t}\n}\n\n/**\n * L1 Resize Observer\n */\nconst attachObservers = ({menuEl, resizeObserver, dispatch}) => {\n\tlet prevWidth = menuEl.offsetWidth;\n\n\tconst handleResize = (entry) => {\n\t\tif (entry.contentRect?.width && entry.target) {\n\t\t\tconst currentWidth = entry.target.offsetWidth;\n\t\t\tif (Math.abs(currentWidth - prevWidth) > 5) {\n\t\t\t\tdispatch(SECONDARY_MENU_RESIZED);\n\t\t\t\tprevWidth = currentWidth;\n\t\t\t}\n\t\t}\n\t};\n\n\tresizeObserver = new ResizeObserver((entries) => {\n\t\tfor (const entry of entries) {\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\thandleResize(entry);\n\t\t\t});\n\t\t}\n\t});\n\n\tresizeObserver.observe(menuEl);\n};\n\nfunction handleSecondaryMenuToggled({\n\tstate: {secondaryMenuExpanded},\n\tupdateState,\n\tdispatch\n}) {\n\tupdateState({\n\t\tsecondaryMenuExpanded: !secondaryMenuExpanded\n\t});\n\tdispatch(DOCUMENT_FREEZE_REQUESTED, {\n\t\tsecondaryMenuExpanded: !secondaryMenuExpanded\n\t});\n}\n\nfunction onSecondaryMenuInserted(coeffects) {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {menuEl, resizeObserver}\n\t\t},\n\t\tdispatch,\n\t\thost,\n\t\tupdateState\n\t} = coeffects;\n\tupdateState({secondaryMenuEl: menuEl});\n\tattachObservers({menuEl, resizeObserver, dispatch, host});\n\tdispatch(SECONDARY_MENU_RESIZED);\n}\n\nfunction cacheOverflowElementWidth(host) {\n\tconst overflowElement = host.shadowRoot.querySelector(\n\t\t`#cx-nav-secondary-overflow`\n\t);\n\toverflowElementWidth.secondary = overflowElement\n\t\t? overflowElement.offsetWidth\n\t\t: 54;\n}\n\nconst getMenuItemsInfo = memoize((menuItems, secondaryMenuEl) => {\n\tconst wrapperOffsetLeft = secondaryMenuEl?.offsetLeft;\n\treturn menuItems.map((menuItem) => {\n\t\tconst navMenuElement = secondaryMenuEl.querySelector(\n\t\t\t`#${CSS.escape(menuItem.id)}`\n\t\t)?.parentNode;\n\t\treturn {\n\t\t\tsysID: menuItem.sysID,\n\t\t\telement: navMenuElement,\n\t\t\t/**\n\t\t\t *  width + (any) borders, padding, and vertical scrollbars (if any present)\n\t\t\t */\n\t\t\toffsetWidth: navMenuElement?.offsetWidth,\n\t\t\t/**\n\t\t\t * The offsetLeft property returns the left position (in pixels) relative to the parent.\n\t\t\t * The returned value includes: the left position, and margin of the element.\n\t\t\t * The left padding, scrollbar and border of the parent.\n\t\t\t */\n\t\t\toffsetLeft: navMenuElement?.offsetLeft - wrapperOffsetLeft\n\t\t};\n\t});\n});\n\nfunction markOverflowItems(\n\tmenuItems = [],\n\thasOverflowItems,\n\toverflownItems,\n\tcurrentWidth,\n\tsecondaryMenuEl,\n\tisRtl = false\n) {\n\tlet availableWidth = currentWidth;\n\tif (!menuItems?.length) return;\n\n\tconst navMenuElementInfo = getMenuItemsInfo(menuItems, secondaryMenuEl);\n\n\tfor (let i = menuItems.length - 1; i >= 0; i--) {\n\t\tif (\n\t\t\tmenuItems[i]?.id?.includes('overflow') ||\n\t\t\tincludes(overflownItems, menuItems[i]?.sysID)\n\t\t)\n\t\t\tcontinue;\n\n\t\tconst navMenuElementData = navMenuElementInfo[i];\n\t\tif (!navMenuElementData.element) continue;\n\n\t\tif (!menuItemWidth[(menuItems[i]?.sysID)]) {\n\t\t\tmenuItemWidth[(menuItems[i]?.sysID)] = navMenuElementData.offsetWidth;\n\t\t}\n\n\t\tif (hasOverflowItems || overflownItems.length) {\n\t\t\tavailableWidth = currentWidth - overflowElementWidth.secondary;\n\t\t}\n\n\t\tconst elementOffsetWidth = menuItemWidth[(menuItems[i]?.sysID)];\n\t\tconst elementOffsetLeft = navMenuElementData.offsetLeft;\n\n\t\tif (isRtl) {\n\t\t\t/**\n\t\t\t * In RTL, items[0] is rightmost and items[N-1] is leftmost (direction: rtl\n\t\t\t * reverses flex layout). Items overflow the LEFT boundary. The 'More' button\n\t\t\t * is the last DOM element, which renders leftmost in RTL. An item overflows\n\t\t\t * when its left edge is inside the 'More' button zone on the left.\n\t\t\t */\n\t\t\tconst leftBoundary =\n\t\t\t\thasOverflowItems || overflownItems.length\n\t\t\t\t\t? overflowElementWidth.secondary\n\t\t\t\t\t: 0;\n\t\t\tif (elementOffsetLeft >= leftBoundary) break;\n\t\t} else {\n\t\t\tif (elementOffsetWidth + elementOffsetLeft <= availableWidth) break;\n\t\t}\n\n\t\toverflownItems.push(menuItems[i]?.sysID);\n\t}\n}\n\nexport const processSecondaryMenuItems = ({\n\thost,\n\tstate,\n\tupdateState,\n\tdispatch\n}) => {\n\tconst {secondaryMenuEl} = state;\n\tconst currentWidth = secondaryMenuEl?.offsetWidth;\n\n\tif (currentWidth <= 0) {\n\t\treturn;\n\t}\n\n\t// overflow L1 items at lg and above\n\tconst shouldOverflow = ['xl', '2xl'].includes(\n\t\tstate.responsiveContext.media.breakpoint\n\t);\n\n\tLogger.log(\n\t\t'Secondary menu should overflow',\n\t\tshouldOverflow,\n\t\tstate.responsiveContext.media.breakpoint\n\t);\n\n\tconst hasOverflowItems = state.overflownItems?.length > 0 ? true : false;\n\tconst secondaryMenuItems = state.properties?.navigation?.secondary;\n\tconst overflownItems = [];\n\n\t// Cache overflowElementWidth early\n\tcacheOverflowElementWidth(host);\n\n\tif (shouldOverflow) {\n\t\tconst isRtl = state.properties.dir === TEXT_DIRECTION.RTL;\n\t\tmarkOverflowItems(\n\t\t\tsecondaryMenuItems,\n\t\t\thasOverflowItems,\n\t\t\toverflownItems,\n\t\t\tcurrentWidth,\n\t\t\tsecondaryMenuEl,\n\t\t\tisRtl\n\t\t);\n\t}\n\n\tupdateState([\n\t\t{\n\t\t\tpath: 'secondaryMenuItemsProcessed',\n\t\t\tvalue: true,\n\t\t\toperation: 'set'\n\t\t},\n\t\t{\n\t\t\tpath: 'overflownItems',\n\t\t\tvalue: overflownItems,\n\t\t\toperation: 'set'\n\t\t}\n\t]);\n\n\t// If items are returning from overflow back into the bar, the bar's width won't\n\t// change so the ResizeObserver won't fire. Schedule a follow-up measurement after\n\t// the DOM has updated with the restored items.\n\tif (hasOverflowItems && overflownItems.length === 0) {\n\t\trequestAnimationFrame(() => dispatch(SECONDARY_MENU_RESIZED));\n\t}\n};\n\n/**\n * Analytics\n */\n\nfunction handleAnalyticsClicked(coeffects) {\n\tconst {\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: {menuLevelDelta = 0}\n\t\t}\n\t} = coeffects;\n\n\t// Handles update state for secondary menu level increment/decrement\n\tif (menuLevelDelta !== 0) {\n\t\tdispatch(SECONDARY_DROPDOWN_LEVEL_UPDATED, {\n\t\t\tmenuLevelDelta\n\t\t});\n\t}\n\n\tconst aaDigitalData = formatAdobeDigitalDataPayload(coeffects);\n\tdispatch(ANALYTICS_EVENTS.CLICK, {\n\t\taaDigitalData\n\t});\n}\n\nfunction handleMobileMenuToggle(coeffects) {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {opened}\n\t\t},\n\t\tupdateState,\n\t\tdispatch\n\t} = coeffects;\n\tupdateState([\n\t\t{\n\t\t\tpath: 'isMobileMenuOpen',\n\t\t\tvalue: !opened,\n\t\t\toperation: declarativeOperations.SET\n\t\t}\n\t]);\n\tdispatch(DOCUMENT_FREEZE_REQUESTED, {isMobileMenuOpen: !opened});\n}\n\nfunction handleMobileMenuCloseRequest(coeffects) {\n\tconst {updateState} = coeffects;\n\tupdateState({\n\t\tpath: 'isMobileMenuOpen',\n\t\tvalue: false,\n\t\toperation: declarativeOperations.SET\n\t});\n}\n\nfunction handleComponentBootstrapEffect({\n\tproperties: {navigation},\n\tdispatch,\n\tupdateState\n}) {\n\tdeclarativeStateUpdate(updateState, {\n\t\tsecondaryCTAs: navigation?.secondaryCTAs || []\n\t});\n\n\twindow.addEventListener('client:responsiveChange', (payload) => {\n\t\tdispatch(SCREEN_RESIZED, payload.detail);\n\t});\n}\n\nfunction handleComponentDisconnectedEffect() {\n\twindow.removeEventListener('client:responsiveChange', () => {});\n}\n\nfunction handleScreenResizedEffect({\n\tstate: {responsiveContext},\n\tupdateState,\n\taction: {payload},\n\tdispatch\n}) {\n\tconst breakpoints = getClientBreakpoints(payload);\n\tconst newStates = [];\n\n\tif (responsiveContext?.media?.breakpoint !== breakpoints.media.breakpoint) {\n\t\t// close any dropdown may be opened\n\t\tdispatch(CLOSE_POPOVERS);\n\t\tsetTimeout(() => {\n\t\t\tdispatch(SECONDARY_MENU_RESIZED);\n\t\t}, 0);\n\t}\n\n\tupdateState([\n\t\t...newStates,\n\t\t{\n\t\t\toperation: declarativeOperations.SET,\n\t\t\tpath: 'responsiveContext',\n\t\t\tvalue: breakpoints\n\t\t}\n\t]);\n}\n\nexport const secondaryCTAsUpdateEffect = ({\n\taction: {\n\t\tpayload: {secondaryCTAs}\n\t},\n\tupdateState\n}) => {\n\tdeclarativeStateUpdate(updateState, {\n\t\tsecondaryCTAs: secondaryCTAs || []\n\t});\n};\n\nexport const handleSearchModalClosed = ({\n\taction: {\n\t\tpayload: {isEscaped}\n\t},\n\thost\n}) => {\n\tif (isEscaped) {\n\t\tconst searchUtility = getSearchUtility(host);\n\t\tif (searchUtility instanceof HTMLElement) {\n\t\t\tsearchUtility.focus();\n\t\t}\n\t}\n};\n\nconst effectHandlers = {\n\ttoggleMegaMenu,\n\thandleMenuItemFocus,\n\thandleMenuItemBlur,\n\thandleActiveSecondaryMenuItem,\n\thandleSecondaryMenuItemClicked,\n\thandleSecondaryPopupMenuItemClicked,\n\thandleSecondaryMenuToggled,\n\thandleClosePopovers,\n\thandleUtilityItemClicked,\n\ttoggleLanguageSelector,\n\thandleMegaMenuGroupItemClicked,\n\thandleMegamenuElementRef,\n\thandleMenuClicked,\n\thandleGroupLinkClicked,\n\thandleMegaMenuCloseClicked,\n\thandleProfileDropdownItemClicked,\n\ttoggleProfileDropdown,\n\thandleProfileDropdownRefUpdated,\n\thandleLanguageSelectorRefUpdated,\n\thandleNotificationListRefUpdated,\n\thandleUtilityDropdownRefUpdated,\n\tonSecondaryMenuInserted,\n\tprocessSecondaryMenuItems,\n\thandleAnalyticsClicked,\n\ttoggleSecondaryMenuDropdownItem,\n\thandlePopupTargetRef,\n\thandleMobileMenuToggle,\n\thandleMobileMenuCloseRequest,\n\thandleComponentPropertyChanged,\n\thandleMegaMenuCollapsibleItemToggled,\n\thandleComponentBootstrapEffect,\n\thandleComponentDisconnectedEffect,\n\thandleScreenResizedEffect,\n\tsecondaryCTAsUpdateEffect,\n\thandleMegamenuRef,\n\thandleSecondaryDropdownRef,\n\thandleSecondaryDropdownSelection,\n\thandleSecondaryMenuLevelUpdate,\n\thandleGroupItemEscaped,\n\thandleSearchModalClosed,\n\thandleLinkNavigation\n};\n\nexport default {\n\teffectHandlers\n};\n","import {createCustomElement, actionTypes} from '@servicenow/ui-core';\nimport get from 'lodash/get';\nimport {isEmpty} from 'lodash';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport styles from './styles.scss';\nimport view from './view';\nimport {\n\tMEGA_MENU_TOGGLED,\n\tPRIMARY_MENUITEM_FOCUS_REQUESTED,\n\tPRIMARY_MENUITEM_BLUR_REQUESTED,\n\tSECONDARY_MENUITEM_FOCUS_REQUESTED,\n\tSECONDARY_MENUITEM_BLUR_REQUESTED,\n\tACTIVE_SECONDARY_MENUITEM_UPDATED,\n\tSECONDARY_POPOVER_MENUITEM_CLICKED,\n\tSECONDARY_MENUITEM_CLICKED,\n\tCLOSE_POPOVERS,\n\tUTILITY_BUTTON_CLICKED,\n\tLANGUAGE_SELECTOR_TOGGLED,\n\tMEGAMENU_GROUP_ITEM_CLICKED,\n\tMEGAMENU_ELEMENT_REF_UPDATED,\n\tMENU_ITEM_CLICKED,\n\tMEGAMENU_GROUP_LINK_CLICKED,\n\tMEGA_MENU_CLOSE_ICON_CLICKED,\n\tPROFILE_DROPDOWN_TOGGLED,\n\tPROFILE_OPTIONS_CLICKED,\n\tPROFILE_DROPDOWN_ELEMENT_REF_UPDATED,\n\tLANGUAGE_SELECTOR_ELEMENT_REF_UPDATED,\n\tNOTIFICATION_DROPDOWN_ELEMENT_REF_UPDATED,\n\tUTILITY_DROPDOWN_ELEMENT_REF_UPDATED,\n\tSECONDARY_MENU_INSERTED,\n\tSECONDARY_MENU_RESIZED,\n\tTRACK_ANALYTICS_CLICKED,\n\tSECONDARY_MENU_DROPDOWN_ITEM_TOGGLED,\n\tTOOPTIP_TARGET_REF,\n\tCTA_BUTTON_FOCUSED,\n\tCTA_BUTTON_BLURRED,\n\tMENU_TOGGLE_BUTTON_CLICKED,\n\tMOBILE_MENU_CLOSE_REQUESTED,\n\tMEGAMENU_COLLAPSIBLE_ITEM_TOGGLED,\n\tSECONDARY_MENU_TOGGLED,\n\tSCREEN_RESIZED,\n\tSECONDARY_CTA_UPDATE_REQUESTED,\n\tMEGAMENU_REF,\n\tSECONDARY_DROPDOWN_ELEMENT_REF_UPDATED,\n\tSECONDARY_DROPDOWN_LEVEL_UPDATED,\n\tSECONDARY_DROPDOWN_SELECTION,\n\tMEGAMENU_CONTENT_ESCAPED,\n\tSEARCH_MODAL_CLOSED,\n\tANCHOR_TAG_CLICKED\n} from './actions';\nimport navigationEffects from './effects';\nimport {\n\tgetLanguageDropdown,\n\tgetProfileUtilityDropdown,\n\tgetNotificationDropdown,\n\tgetTaskUtilityDropdown,\n\tgetSecondaryDropdownMenu,\n\tselectNextMegamenuElement,\n\tselectNextMegamenuContentElement,\n\tselectNextUtilityDropdownElement,\n\tgetMegaMenu,\n\thandleUtilityFocus,\n\tfindShadowActiveElement,\n\tgetFocusablePrimaryMenuElement,\n\tselectSecondaryMenuDropdownElement,\n\thandleSecondaryMenuItemFocus,\n\tgetSidebarActiveElementIndex,\n\tgetActiveMegamenuContentElementIdx\n} from './utils/focus-mgmt-utils';\nimport {getClientBreakpoints} from './utils';\nimport {\n\tlanguageDropdownFocusableSelector,\n\tprofileUtilityDropdownFocusableSelector,\n\tfocusableElemSelectors\n} from './view/constants';\n\nconst {\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_PROPERTY_CHANGED\n} = actionTypes;\n\nconst {\n\ttoggleMegaMenu,\n\thandleMenuItemFocus,\n\thandleMenuItemBlur,\n\thandleActiveSecondaryMenuItem,\n\thandleSecondaryPopupMenuItemClicked,\n\thandleSecondaryMenuItemClicked,\n\thandleClosePopovers,\n\thandleUtilityItemClicked,\n\ttoggleLanguageSelector,\n\thandleMegaMenuGroupItemClicked,\n\thandleMegamenuElementRef,\n\thandleMenuClicked,\n\thandleGroupLinkClicked,\n\thandleMegaMenuCloseClicked,\n\thandleProfileDropdownItemClicked,\n\ttoggleProfileDropdown,\n\thandleProfileDropdownRefUpdated,\n\thandleLanguageSelectorRefUpdated,\n\thandleNotificationListRefUpdated,\n\thandleUtilityDropdownRefUpdated,\n\tonSecondaryMenuInserted,\n\tprocessSecondaryMenuItems,\n\thandleAnalyticsClicked,\n\ttoggleSecondaryMenuDropdownItem,\n\thandlePopupTargetRef,\n\thandleMobileMenuToggle,\n\thandleMobileMenuCloseRequest,\n\thandleComponentPropertyChanged,\n\thandleMegaMenuCollapsibleItemToggled,\n\thandleSecondaryMenuToggled,\n\thandleComponentBootstrapEffect,\n\thandleComponentDisconnectedEffect,\n\thandleScreenResizedEffect,\n\tsecondaryCTAsUpdateEffect,\n\thandleMegamenuRef,\n\thandleSecondaryDropdownRef,\n\thandleSecondaryDropdownSelection,\n\thandleSecondaryMenuLevelUpdate,\n\thandleGroupItemEscaped,\n\thandleSearchModalClosed,\n\thandleLinkNavigation\n} = navigationEffects.effectHandlers;\n\ncreateCustomElement('sn-cx-navigation', {\n\tproperties: {\n\t\tnavTopOverlayOffset: {\n\t\t\tdefault: 0,\n\t\t\tschema: {type: 'number'}\n\t\t},\n\t\tselectedContent: {\n\t\t\tdeepCompare: true\n\t\t},\n\t\tcurrentUser: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: {}\n\t\t},\n\t\tnavigation: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: {}\n\t\t},\n\t\tnotificationConfig: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: {}\n\t\t},\n\t\ttaskConfig: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: {}\n\t\t},\n\t\tisLoggedIn: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tinitialState: {\n\t\tmegamenuRef: null,\n\t\tlanguageSelectorRef: null,\n\t\tnotificationListRef: null,\n\t\tutilityDropdownRef: null,\n\t\tprofileDropdownRef: null,\n\t\tsecondaryMenuDropdownRef: null,\n\t\tgroupItemContextEscaped: true,\n\t\tgroupItemContext: {},\n\t\tmenuItemContext: {},\n\t\tfocusedMenuItem: {},\n\t\tactiveMenuState: {},\n\t\tpopupMenuContext: {\n\t\t\topened: false,\n\t\t\titem: {}\n\t\t},\n\t\tcurrentSecondaryMenuLevel: 0,\n\t\tisMobileMenuOpen: false,\n\t\toverflownItems: [],\n\t\tsecondayDropdownSubItemContext: {\n\t\t\titem: {},\n\t\t\topened: false\n\t\t},\n\t\tsecondaryMenuExpanded: false,\n\t\tresponsiveContext: getClientBreakpoints(),\n\t\tsecondaryCTAs: []\n\t},\n\tview,\n\tstyles,\n\tbehaviors: [{behavior: rtlBehavior}],\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: handleComponentBootstrapEffect\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: {\n\t\t\teffect: handleComponentDisconnectedEffect\n\t\t},\n\t\t[MEGAMENU_CONTENT_ESCAPED]: {\n\t\t\teffect: handleGroupItemEscaped,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SECONDARY_MENU_DROPDOWN_ITEM_TOGGLED]: {\n\t\t\teffect: toggleSecondaryMenuDropdownItem,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SECONDARY_DROPDOWN_SELECTION]: {\n\t\t\teffect: handleSecondaryDropdownSelection,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SECONDARY_DROPDOWN_LEVEL_UPDATED]: {\n\t\t\teffect: handleSecondaryMenuLevelUpdate,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[TRACK_ANALYTICS_CLICKED]: {\n\t\t\teffect: handleAnalyticsClicked,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[ANCHOR_TAG_CLICKED]: {\n\t\t\teffect: handleLinkNavigation,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SECONDARY_MENU_INSERTED]: {\n\t\t\teffect: onSecondaryMenuInserted,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SECONDARY_MENU_RESIZED]: {\n\t\t\teffect: processSecondaryMenuItems,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[LANGUAGE_SELECTOR_ELEMENT_REF_UPDATED]: {\n\t\t\teffect: handleLanguageSelectorRefUpdated,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOTIFICATION_DROPDOWN_ELEMENT_REF_UPDATED]: {\n\t\t\teffect: handleNotificationListRefUpdated,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[UTILITY_DROPDOWN_ELEMENT_REF_UPDATED]: {\n\t\t\teffect: handleUtilityDropdownRefUpdated,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[PROFILE_DROPDOWN_ELEMENT_REF_UPDATED]: {\n\t\t\teffect: handleProfileDropdownRefUpdated,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[PROFILE_OPTIONS_CLICKED]: {\n\t\t\teffect: handleProfileDropdownItemClicked,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[PROFILE_DROPDOWN_TOGGLED]: {\n\t\t\teffect: toggleProfileDropdown,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[MEGA_MENU_CLOSE_ICON_CLICKED]: {\n\t\t\teffect: handleMegaMenuCloseClicked,\n\t\t\tstopPropagation: true,\n\t\t\tmodifier: {\n\t\t\t\tname: 'debounce',\n\t\t\t\tdelay: 500\n\t\t\t}\n\t\t},\n\t\t[MENU_TOGGLE_BUTTON_CLICKED]: {\n\t\t\teffect: (coeffects) => {\n\t\t\t\thandleClosePopovers(coeffects);\n\t\t\t\thandleMobileMenuToggle(coeffects);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[MOBILE_MENU_CLOSE_REQUESTED]: {\n\t\t\teffect: handleMobileMenuCloseRequest,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[MEGAMENU_GROUP_LINK_CLICKED]: {\n\t\t\teffect: handleGroupLinkClicked,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[MEGAMENU_ELEMENT_REF_UPDATED]: {\n\t\t\teffect: handleMegamenuElementRef,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[UTILITY_BUTTON_CLICKED]: {\n\t\t\teffect: handleUtilityItemClicked,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[LANGUAGE_SELECTOR_TOGGLED]: {\n\t\t\teffect: toggleLanguageSelector,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[MEGA_MENU_TOGGLED]: {\n\t\t\teffect: toggleMegaMenu,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[MENU_ITEM_CLICKED]: {\n\t\t\teffect: handleMenuClicked,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[MEGAMENU_GROUP_ITEM_CLICKED]: {\n\t\t\teffect: handleMegaMenuGroupItemClicked,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[MEGAMENU_COLLAPSIBLE_ITEM_TOGGLED]: {\n\t\t\teffect: handleMegaMenuCollapsibleItemToggled,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[PRIMARY_MENUITEM_FOCUS_REQUESTED]: {\n\t\t\teffect: handleMenuItemFocus,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[PRIMARY_MENUITEM_BLUR_REQUESTED]: {\n\t\t\teffect: handleMenuItemBlur,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SECONDARY_MENUITEM_FOCUS_REQUESTED]: {\n\t\t\teffect: handleMenuItemFocus,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SECONDARY_MENUITEM_BLUR_REQUESTED]: {\n\t\t\teffect: handleMenuItemBlur,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SECONDARY_MENU_TOGGLED]: {\n\t\t\teffect: handleSecondaryMenuToggled,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[CTA_BUTTON_FOCUSED]: {\n\t\t\teffect: handleMenuItemFocus,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[CTA_BUTTON_BLURRED]: {\n\t\t\teffect: handleMenuItemBlur,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[ACTIVE_SECONDARY_MENUITEM_UPDATED]: {\n\t\t\teffect: handleActiveSecondaryMenuItem,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SECONDARY_POPOVER_MENUITEM_CLICKED]: {\n\t\t\teffect: handleSecondaryPopupMenuItemClicked,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SECONDARY_MENUITEM_CLICKED]: {\n\t\t\teffect: handleSecondaryMenuItemClicked,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[CLOSE_POPOVERS]: {\n\t\t\teffect: handleClosePopovers,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[TOOPTIP_TARGET_REF]: {\n\t\t\teffect: handlePopupTargetRef,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[MEGAMENU_REF]: {\n\t\t\teffect: handleMegamenuRef,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SECONDARY_DROPDOWN_ELEMENT_REF_UPDATED]: {\n\t\t\teffect: handleSecondaryDropdownRef,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: handleComponentPropertyChanged,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SCREEN_RESIZED]: {\n\t\t\teffect: handleScreenResizedEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SECONDARY_CTA_UPDATE_REQUESTED]: {\n\t\t\teffect: secondaryCTAsUpdateEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SEARCH_MODAL_CLOSED]: {\n\t\t\teffect: handleSearchModalClosed,\n\t\t\tstopPropagation: true\n\t\t}\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['click'],\n\t\t\teffect({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {event}\n\t\t\t\t},\n\t\t\t\tdispatch,\n\t\t\t\tstate\n\t\t\t}) {\n\t\t\t\tconst {popupMenuContext = {}} = state;\n\t\t\t\tconst {opened = false} = popupMenuContext;\n\n\t\t\t\tfunction isClickInsideAllowedElements(event) {\n\t\t\t\t\tconst composedPath = event.composedPath();\n\t\t\t\t\treturn composedPath.some((elem) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\telem instanceof HTMLElement &&\n\t\t\t\t\t\t\t(elem.classList.contains('sn-cx-navigation__megamenu-content') ||\n\t\t\t\t\t\t\t\telem.classList.contains(\n\t\t\t\t\t\t\t\t\t'sn-cx-navigation__megamenu-mobile-content'\n\t\t\t\t\t\t\t\t) ||\n\t\t\t\t\t\t\t\telem.classList.contains('--expanded') ||\n\t\t\t\t\t\t\t\telem.classList.contains('sn-cx-search-modal') ||\n\t\t\t\t\t\t\t\telem.classList.contains('sn-cx-navigation__contact') ||\n\t\t\t\t\t\t\t\telem.classList.contains('sn-cx-navigation__profile-menu') ||\n\t\t\t\t\t\t\t\telem.classList.contains(\n\t\t\t\t\t\t\t\t\t'sn-cx-navigation__secondary-menu-toggle'\n\t\t\t\t\t\t\t\t) ||\n\t\t\t\t\t\t\t\t(elem.classList.contains(\n\t\t\t\t\t\t\t\t\t'sn-cx-navigation__language-menu__container'\n\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\t\telem.classList.contains('-is-open')) ||\n\t\t\t\t\t\t\t\t(elem.classList.contains(\n\t\t\t\t\t\t\t\t\t'sn-cx-navigation__utility-dropdown-menu'\n\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\t\telem.classList.contains('-is-open')) ||\n\t\t\t\t\t\t\t\t(elem.classList.contains(\n\t\t\t\t\t\t\t\t\t'sn-cx-navigation__notification-menu'\n\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\t\telem.classList.contains('-is-open')) ||\n\t\t\t\t\t\t\t\t(elem.classList.contains(\n\t\t\t\t\t\t\t\t\t'sn-cx-navigation__primary-menu-wrapper'\n\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\t\telem.classList.contains('--hide-inactive-tabs')))\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (!isClickInsideAllowedElements(event) && opened)\n\t\t\t\t\tdispatch(CLOSE_POPOVERS, event);\n\t\t\t},\n\t\t\ttarget: document.body\n\t\t},\n\t\t{\n\t\t\tevents: ['keydown'],\n\t\t\t/**\n\t\t\t * Handle the tab key press event to focus the next focusable element\n\t\t\t * @param {Object} coeffects\n\t\t\t * @returns\n\t\t\t */\n\t\t\teffect({\n\t\t\t\tstate = {},\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {event, host}\n\t\t\t\t},\n\t\t\t\tdispatch\n\t\t\t}) {\n\t\t\t\tconst isDesktop = get(state, 'responsiveContext.isDesktop');\n\t\t\t\tif (!isDesktop) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst {groupItemContext, groupItemContextEscaped} = state;\n\n\t\t\t\t/** get the current focused element */\n\t\t\t\tconst activeElement = findShadowActiveElement(host);\n\n\t\t\t\t/* --------------------------------------------------------------------\n\t\t\t\t * handle focus shift when 'esc' key is pressed\n\t\t\t\t * --------------------------------------------------------------------\n\t\t\t\t */\n\t\t\t\tif (event.key === 'Esc' || event.key === 'Escape') {\n\t\t\t\t\tconst languageDropdown = getLanguageDropdown(state);\n\t\t\t\t\tif (languageDropdown instanceof HTMLElement) {\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * If the language dropdown is open, close it and return focus\n\t\t\t\t\t\t * to the language utility element.\n\t\t\t\t\t\t */\n\t\t\t\t\t\thandleUtilityFocus({\n\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\taction: LANGUAGE_SELECTOR_TOGGLED,\n\t\t\t\t\t\t\tutilityItemSelector: '#utility-language',\n\t\t\t\t\t\t\tfocusableElemSelectors:\n\t\t\t\t\t\t\t\t'.sn-cx-navigation__utility-button.--active'\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst profileDropdown = getProfileUtilityDropdown(state);\n\t\t\t\t\tif (profileDropdown instanceof HTMLElement) {\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * If the profile dropdown is open, close it and return focus\n\t\t\t\t\t\t * to the profile utility element.\n\t\t\t\t\t\t */\n\t\t\t\t\t\thandleUtilityFocus({\n\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\taction: PROFILE_DROPDOWN_TOGGLED,\n\t\t\t\t\t\t\tutilityItemSelector: '#utility-profile',\n\t\t\t\t\t\t\tfocusableElemSelectors:\n\t\t\t\t\t\t\t\t'.sn-cx-navigation__utility-button.--active'\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst notificationDropdown = getNotificationDropdown(state);\n\t\t\t\t\tif (notificationDropdown instanceof HTMLElement) {\n\t\t\t\t\t\thandleUtilityFocus({\n\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\taction: UTILITY_BUTTON_CLICKED,\n\t\t\t\t\t\t\tutilityItemSelector: '#utility-notification',\n\t\t\t\t\t\t\tfocusableElemSelectors\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst taskDropdown = getTaskUtilityDropdown(state);\n\t\t\t\t\tif (taskDropdown instanceof HTMLElement) {\n\t\t\t\t\t\thandleUtilityFocus({\n\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\taction: UTILITY_BUTTON_CLICKED,\n\t\t\t\t\t\t\tutilityItemSelector: '#utility-task',\n\t\t\t\t\t\t\tfocusableElemSelectors\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst secondaryDropdown = getSecondaryDropdownMenu(state);\n\t\t\t\t\tif (secondaryDropdown instanceof HTMLElement) {\n\t\t\t\t\t\thandleSecondaryMenuItemFocus(state);\n\t\t\t\t\t\tdispatch(CLOSE_POPOVERS, event);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t/* if the focus is on any of the side bar elements, then\n\t\t\t\t\t * close the popover and apply focus to it's corresponding\n\t\t\t\t\t * primary menu element.\n\t\t\t\t\t */\n\t\t\t\t\tconst {\n\t\t\t\t\t\tactiveSidebarElementIdx,\n\t\t\t\t\t\tfocusableSideBarElements\n\t\t\t\t\t} = getSidebarActiveElementIndex(state, activeElement);\n\t\t\t\t\tconst {\n\t\t\t\t\t\tactiveMegamenuContentElementIdx\n\t\t\t\t\t} = getActiveMegamenuContentElementIdx(state, activeElement);\n\t\t\t\t\tif (\n\t\t\t\t\t\tactiveSidebarElementIdx >= 0 &&\n\t\t\t\t\t\t!(activeMegamenuContentElementIdx >= 0)\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst activePrimaryMenuBtn = getFocusablePrimaryMenuElement(\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\thost\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (activePrimaryMenuBtn) {\n\t\t\t\t\t\t\tactivePrimaryMenuBtn.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdispatch(CLOSE_POPOVERS, event);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t/* when the focus is on any of the megamenu content elements */\n\t\t\t\t\tif (activeMegamenuContentElementIdx >= 0) {\n\t\t\t\t\t\tconst sideBarContextId = get(state, 'groupItemContext.sysID');\n\t\t\t\t\t\t/*\n\t\t\t\t\t\t * In case of megamenu with no sidebar, put the focus\n\t\t\t\t\t\t * back to the corresponding primary menu element and close\n\t\t\t\t\t\t * the megamenu.\n\t\t\t\t\t\t */\n\t\t\t\t\t\tif (!sideBarContextId) {\n\t\t\t\t\t\t\tconst activePrimaryMenuBtn = getFocusablePrimaryMenuElement(\n\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\thost\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif (activePrimaryMenuBtn) {\n\t\t\t\t\t\t\t\tactivePrimaryMenuBtn.focus();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdispatch(CLOSE_POPOVERS, event);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * else if sidebar is present, then find the corresponding sidebar element\n\t\t\t\t\t\t * and put the focus on it, else close the megamenu.\n\t\t\t\t\t\t */\n\t\t\t\t\t\tconst focusableSidebarElemIdx = focusableSideBarElements.findIndex(\n\t\t\t\t\t\t\t(element) => element?.getAttribute('id') === sideBarContextId\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (focusableSidebarElemIdx >= 0) {\n\t\t\t\t\t\t\tfocusableSideBarElements[focusableSidebarElemIdx].focus();\n\t\t\t\t\t\t\tdispatch(MEGAMENU_CONTENT_ESCAPED);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tdispatch(CLOSE_POPOVERS, event);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t/* --------------------------------------------------------------------\n\t\t\t\t * handle 'shift + tab' for reverse focus navigation\n\t\t\t\t * --------------------------------------------------------------------\n\t\t\t\t */\n\n\t\t\t\tconst megaMenuComponent = getMegaMenu(state);\n\n\t\t\t\tif (event.shiftKey && megaMenuComponent instanceof HTMLElement) {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tactiveMegamenuContentElementIdx,\n\t\t\t\t\t\tfocusableMegamenuContentElements\n\t\t\t\t\t} = getActiveMegamenuContentElementIdx(state, activeElement);\n\n\t\t\t\t\tconst isFocusInsideMegaMenuContent =\n\t\t\t\t\t\tactiveMegamenuContentElementIdx > -1;\n\n\t\t\t\t\tconst {\n\t\t\t\t\t\tactiveSidebarElementIdx,\n\t\t\t\t\t\tfocusableSideBarElements,\n\t\t\t\t\t\tsidebarPresent\n\t\t\t\t\t} = getSidebarActiveElementIndex(state, activeElement);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * trap the focus within megamenu sidebar elements\n\t\t\t\t\t */\n\t\t\t\t\tif (!isFocusInsideMegaMenuContent && sidebarPresent) {\n\t\t\t\t\t\tif (activeSidebarElementIdx === 0) {\n\t\t\t\t\t\t\tfocusableSideBarElements[\n\t\t\t\t\t\t\t\tfocusableSideBarElements.length - 1\n\t\t\t\t\t\t\t].focus();\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t} else if (activeSidebarElementIdx > 0) {\n\t\t\t\t\t\t\tfocusableSideBarElements[activeSidebarElementIdx - 1].focus();\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t/**\n\t\t\t\t\t * trap the focus within megamenu content elements\n\t\t\t\t\t */\n\t\t\t\t\tif (activeMegamenuContentElementIdx === 0) {\n\t\t\t\t\t\tfocusableMegamenuContentElements[\n\t\t\t\t\t\t\tfocusableMegamenuContentElements.length - 1\n\t\t\t\t\t\t].focus();\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t} else if (activeMegamenuContentElementIdx > 0) {\n\t\t\t\t\t\tfocusableMegamenuContentElements[\n\t\t\t\t\t\t\tactiveMegamenuContentElementIdx - 1\n\t\t\t\t\t\t].focus();\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (event.key !== 'Tab') return;\n\n\t\t\t\t/* --------------------------------------------------------------------\n\t\t\t\t * handle the 'Tab' key press for megamenu navigation\n\t\t\t\t * --------------------------------------------------------------------\n\t\t\t\t */\n\t\t\t\tif (event.key === 'Tab' && megaMenuComponent instanceof HTMLElement) {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tactiveMegamenuContentElementIdx\n\t\t\t\t\t} = getActiveMegamenuContentElementIdx(state, activeElement);\n\t\t\t\t\tconst isFocusInsideMegaMenuContent =\n\t\t\t\t\t\tactiveMegamenuContentElementIdx > -1;\n\t\t\t\t\tconst {activeSidebarElementIdx} = getSidebarActiveElementIndex(\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\tactiveElement\n\t\t\t\t\t);\n\t\t\t\t\tif (\n\t\t\t\t\t\t(isFocusInsideMegaMenuContent ||\n\t\t\t\t\t\t\t(activeSidebarElementIdx >= 0 && !isEmpty(groupItemContext))) &&\n\t\t\t\t\t\t!groupItemContextEscaped\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst trapped = selectNextMegamenuContentElement(\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\t'keydown'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (trapped) {\n\t\t\t\t\t\t\t/*\n\t\t\t\t\t\t\t * stop the default action of the 'Tab' key\n\t\t\t\t\t\t\t * to prevent the focus from moving to next element\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/* --------------------------------------------------------------------\n\t\t\t\t * handle the key press for secondary dropdown navigation\n\t\t\t\t * --------------------------------------------------------------------\n\t\t\t\t */\n\t\t\t\tconst secondaryDropdown = getSecondaryDropdownMenu(state);\n\n\t\t\t\tif (event.key === 'Tab' && secondaryDropdown) {\n\t\t\t\t\tconst focused = selectSecondaryMenuDropdownElement(\n\t\t\t\t\t\tsecondaryDropdown,\n\t\t\t\t\t\thost,\n\t\t\t\t\t\tevent.shiftKey,\n\t\t\t\t\t\t'keydown'\n\t\t\t\t\t);\n\t\t\t\t\tif (focused) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t/* --------------------------------------------------------------------\n\t\t\t\t * Focus trap for Language dropdown\n\t\t\t\t * --------------------------------------------------------------------\n\t\t\t\t */\n\t\t\t\tconst languageDropdown = getLanguageDropdown(state);\n\n\t\t\t\tif (languageDropdown instanceof HTMLElement) {\n\t\t\t\t\tconst trapped = selectNextUtilityDropdownElement(\n\t\t\t\t\t\thost,\n\t\t\t\t\t\tevent.shiftKey,\n\t\t\t\t\t\tlanguageDropdown,\n\t\t\t\t\t\tlanguageDropdownFocusableSelector\n\t\t\t\t\t);\n\t\t\t\t\tif (trapped) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t/* --------------------------------------------------------------------\n\t\t\t\t * Focus trap for Profile dropdown\n\t\t\t\t * --------------------------------------------------------------------\n\t\t\t\t */\n\t\t\t\tconst profileDropdown = getProfileUtilityDropdown(state);\n\n\t\t\t\tif (profileDropdown instanceof HTMLElement) {\n\t\t\t\t\tconst trapped = selectNextUtilityDropdownElement(\n\t\t\t\t\t\thost,\n\t\t\t\t\t\tevent.shiftKey,\n\t\t\t\t\t\tprofileDropdown,\n\t\t\t\t\t\tprofileUtilityDropdownFocusableSelector\n\t\t\t\t\t);\n\t\t\t\t\tif (trapped) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t/* --------------------------------------------------------------------\n\t\t\t\t * Focus trap for Notification dropdown\n\t\t\t\t * --------------------------------------------------------------------\n\t\t\t\t */\n\t\t\t\tconst notificationDropdown = getNotificationDropdown(state);\n\n\t\t\t\tif (notificationDropdown instanceof HTMLElement) {\n\t\t\t\t\tconst trapped = selectNextUtilityDropdownElement(\n\t\t\t\t\t\thost,\n\t\t\t\t\t\tevent.shiftKey,\n\t\t\t\t\t\tnotificationDropdown,\n\t\t\t\t\t\tfocusableElemSelectors\n\t\t\t\t\t);\n\t\t\t\t\tif (trapped) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t/**\n\t\t\t\t * Wait the next tick to check what element was focused.\n\t\t\t\t * The browser updates focus after the keydown event, so by\n\t\t\t\t * waiting until the next tick, you can check which element\n\t\t\t\t * was actually focused and then decide if you need to trap focus.\n\t\t\t\t */\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tconst trapped =\n\t\t\t\t\t\tmegaMenuComponent &&\n\t\t\t\t\t\tselectNextMegamenuElement(state, host, 'keydown');\n\t\t\t\t\tif (trapped) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t});\n\t\t\t},\n\t\t\ttarget: document.body\n\t\t}\n\t]\n});\n","/* eslint-disable object-shorthand */\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-tooltip';\nimport { APP_ACTIONS } from '../../connected-components/dps-app/actions';\nimport { generateInitials, isSmallViewport } from '../../utils/helpers';\nimport '../dps-button';\nimport * as Icons from '../../icons';\nimport styles from './dps-login.scss';\nimport { INSTANCE_ACTION_STATES, CONSTANTS } from '../../constants';\nimport { isInstanceBeingFulfilled, isRestartInProgress } from '../../utils/instanceHelpers';\n\nconst userAvatar = userInitials => (\n\t<div className=\"dps-login-avatar\">\n\t\t<span>{userInitials}</span>\n\t</div>\n);\n\nconst DPSLogin = (state, { dispatch, updateProperties }) => {\n\tconst {\n\t\tproperties: {\n\t\t\tcatItemInProgress,\n\t\t\ttargetRef,\n\t\t\tuserInfo,\n\t\t\tuserInitials,\n\t\t\tinstanceInfo,\n\t\t\tisInstanceRefreshing,\n\t\t\tsystemProperties,\n\t\t\tisTabOpen\n\t\t}\n\t} = state;\n\n\tconst { catItem } = instanceInfo;\n\tconst isLoggedIn = userInfo && userInfo.is_logged_in;\n\tconst setTargetRef = ref => updateProperties({ targetRef: ref });\n\tconst defaultLoginClick = () => {\n\t\tdispatch(APP_ACTIONS.LOGIN_CLICKED);\n\t\t//Tracking the click for Sign In\n\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\taction: 'click nav account',\n\t\t\tcategory: 'primary navigation',\n\t\t\tlabel: 'sign in',\n\t\t\tvalue: '',\n\t\t\tga: true,\n\t\t\tadobe: false\n\t\t});\n\t};\n\tconst buttonProps = {\n\t\tlabel: userAvatar(userInitials),\n\t\ticon: isTabOpen ? (\n\t\t\t<now-icon icon=\"chevron-up-fill\" size=\"sm\" />\n\t\t) : (\n\t\t\t<now-icon icon=\"chevron-down-fill\" size=\"sm\" />\n\t\t)\n\t};\n\tconst statusIcon = (instanceInfo.instanceStatus && \n\t\t\tIcons[instanceInfo.instanceStatus.additional_info.status_icon]) || null;\n\n\treturn (\n\t\t<div>\n\t\t\t{isLoggedIn ? (\n\t\t\t\t<button\n\t\t\t\t\tclassName=\"dps-login\"\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\tdispatch('handleUserAvatarClick');\n\t\t\t\t\t}}\n\t\t\t\t\thook-insert={({ elm }) => {\n\t\t\t\t\t\tsetTargetRef(elm);\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{buttonProps.label}\n\t\t\t\t\t{instanceInfo && statusIcon ? (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclassName=\"instance-status\"\n\t\t\t\t\t\t\tsrc={statusIcon}\n\t\t\t\t\t\t\theight=\"20\"\n\t\t\t\t\t\t\twidth=\"20\"\n\t\t\t\t\t\t></img>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{buttonProps.icon}\n\t\t\t\t\t{isSmallViewport() ? null : (\n\t\t\t\t\t\t<now-tooltip\n\t\t\t\t\t\t\tid=\"user-tooltip\"\n\t\t\t\t\t\t\ttarget-ref={targetRef}\n\t\t\t\t\t\t\tcontent={userInfo.display_name}\n\t\t\t\t\t\t\tdelay={CONSTANTS.DEFAULTS.DELAY_TOOLTIP_MS}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</button>\n\t\t\t) : (\n\t\t\t\t<dps-button label=\"Sign in\" linkStyle on-click={defaultLoginClick} />\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-login', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DPSLogin\n\t},\n\tproperties: {\n\t\tcatItemInProgress: {\n\t\t\tdefault: null\n\t\t},\n\t\tonClick: {\n\t\t\tdefault: () => {}\n\t\t},\n\t\ttargetRef: {\n\t\t\tdefault: null\n\t\t},\n\t\tuserInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tinstanceInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tisInstanceRefreshing: {\n\t\t\tdefault: false\n\t\t},\n\t\tuserInitials: {\n\t\t\tcomputed({ properties: { userInfo } }) {\n\t\t\t\treturn userInfo && userInfo.display_name\n\t\t\t\t\t? generateInitials(userInfo.display_name)\n\t\t\t\t\t: '';\n\t\t\t}\n\t\t},\n\t\tsystemProperties: {\n\t\t\tdefault: {}\n\t\t},\n\t\tisTabOpen: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tactionHandlers: {\n\t\thandleUserAvatarClick({ properties, updateProperties }) {\n\t\t\tconst { onClick } = properties;\n\t\t\tconst isTabOpen = !properties.isTabOpen;\n\t\t\tupdateProperties({ isTabOpen });\n\t\t\tonClick();\n\t\t}\n\t},\n\tstyles\n});\n","import { updateRoute } from '../../routes';\nimport { KEYWORD_LENGTH_FOR_AUTO_SUGGEST } from '../../constants';\n\nexport const getCategoryKey = (DPS_SEARCH_SECTION_NAMES, category) => {\n\tlet categoryKey;\n\tconst sectionNameKeys = Object.keys(DPS_SEARCH_SECTION_NAMES);\n\n\tfor (let i = 0; i < sectionNameKeys.length; i++) {\n\t\tconst key = sectionNameKeys[i];\n\t\tif (DPS_SEARCH_SECTION_NAMES[key].label === category) {\n\t\t\tcategoryKey = key;\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn categoryKey;\n};\n\nexport const getOrderedCategoryList = searchResults => {\n\tconst sortedResultsArray = Object.entries(searchResults).sort(\n\t\t(a, b) => a[1].rank - b[1].rank\n\t);\n\n\treturn sortedResultsArray.map(item => item[0]);\n};\n\nexport const encodeForSearch = string => string && string.replace('/', '%2f');\n\nexport const shouldFetchAutoSuggest = value => {\n\tconst shouldFetchAutoSuggestResults =\n\t\tvalue !== null && value !== undefined ? value.toString().trim().length > KEYWORD_LENGTH_FOR_AUTO_SUGGEST : false;\n\n\treturn shouldFetchAutoSuggestResults;\n};\n\nexport const shouldEmptySuggestionList = value => {\n\tconst shouldEmptySuggestionListArray =\n\t\tvalue !== null && value !== undefined ? value.toString().trim().length <= KEYWORD_LENGTH_FOR_AUTO_SUGGEST : true;\n\n\treturn shouldEmptySuggestionListArray;\n};\n\nexport const showAutoSuggestList = value => {\n\tconst showList =\n\t\tvalue !== null && value !== undefined ? value.toString().trim().length > 0 : false;\n\n\treturn showList;\n};\n\nexport const searchRedirect = (\n\tdispatch,\n\tsearchValue,\n\tversion,\n\tisUpdateClusterSearchEnabled,\n\tsearchOption,\n\tisSearchResultPage,\n\tqueryParams\n) => {\n\tconst value = searchValue && searchValue.searchTerm;\n\tconst suggestionPayload = searchValue && searchValue.suggestionPayload;\n\n\tif (isUpdateClusterSearchEnabled) {\n\t\tdispatch('APP_ACTIONS#UPDATE_SEARCH_ROUTE', {\n\t\t\tvalue,\n\t\t\tversion,\n\t\t\tsuggestionPayload\n\t\t});\n\t} else {\n\t\tupdateRoute(`/search/${version}/All/${encodeForSearch(value)}`);\n\t}\n};\n","export const DPS_SEARCH_ACTIONS = {\n\tGET_AUTO_SUGGESTIONS: 'DPS_SEARCH_ACTIONS#GET_AUTO_SUGGESTIONS',\n\tGET_AUTO_SUGGESTIONS_SUCCEEDED:\n\t\t'DPS_SEARCH_ACTIONS#GET_AUTO_SUGGESTIONS_SUCCEEDED',\n\tAUTOSUGGEST_LIST_ITEM_SELECTED:\n\t\t'DPS_SEARCH_ACTIONS#AUTOSUGGEST_LIST_ITEM_SELECTED',\n\tGET_AUTO_SUGGESTIONS_FAILED: 'DPS_SEARCH_ACTIONS#GET_AUTO_SUGGESTIONS_FAILED',\n\tKEYBOARD_KEY_CLICKED: 'DPS_SEARCH_ACTIONS#KEYBOARD_KEY_CLICKED',\n\tSEARCH: 'DPS_SEARCH_CARD#SEARCH',\n\tCLOSE: 'DPS_SEARCH_CARD#CLOSE',\n\tINPUT_VALUE_CLEAR: 'DPS_INPUT#VALUE_CLEAR',\n\tINPUT_VALUE_CHANGE: 'DPS_INPUT#VALUE_CHANGE',\n\tINPUT_CLOSE_BUTTON_CLICKED: 'DPS_INPUT#CLOSE_BUTTON_CLICKED',\n\tUPDATE_SOURCE_TYPE: 'DPS_INPUT#UPDATE_SOURCE_TYPE'\n};","export const SEARCH_BAR_CONSTANTS = {\n    SOURCE_TYPE: {\n        DEVELOPER_SITE: \"Developer Site\",\n        SERVICENOW: \"ServiceNow\"\n    }\n};","import '@servicenow/now-icon';\nimport {\n\tshowAutoSuggestList,\n\tsearchRedirect\n} from '../dps-search-results/dps-search-helpers';\nimport { DPS_SEARCH_ACTIONS } from '../../components/dps-search/actions';\nimport { SEARCH_BAR_CONSTANTS } from './constants';\n\n// Defining view.\nconst view = (state, { dispatch, updateState, updateProperties }) => {\n\tconst {\n\t\tvalue,\n\t\trelease,\n\t\tisVisible,\n\t\tsuggestionsList,\n\t\tactive,\n\t\tsystemProperties,\n\t\tisSolrEnabled,\n\t\tisAutoSuggestionEnabled,\n\t\thighlightTerm,\n\t\tisClusterSearchEnabled,\n\t\tsearchOption,\n\t\tdropdownSelection,\n\t\tisSearchResultPage,\n\t\tenableSourceOption,\n\t\tdropdownOpened,\n\t\tkeySelectEnabled,\n\t\tqueryParams,\n\t\tisDirtyTerm\n\t} = state.properties;\n\n\tconst { listRef } = state;\n\tconst close = () => {\n\t\tdispatch('DPS_SEARCH_CARD#CLOSE');\n\t};\n\n\tconst search = searchValueObject => {\n\t\tconst { searchTerm, suggestionPayload } = searchValueObject;\n\t\tconst searchValue = {\n\t\t\tsearchTerm: searchTerm || value,\n\t\t\tsuggestionPayload\n\t\t};\n\t\tif (isSolrEnabled && searchValue.searchTerm && /\\S/.test(searchValue.searchTerm)) {\n\t\t\tdispatch('DPS_SEARCH_BAR#TRIGGER_BASIC_SEARCH', {\n\t\t\t\tsearchTerm,\n\t\t\t\tsuggestionPayload,\n\t\t\t\tsearchOption: dropdownSelection\n\t\t\t});\n\t\t\tupdateProperties({ suggestionsList: [] });\n\t\t\tclose();\n\t\t} else {\n\t\t\tconst isUpdateClusterSearchEnabled =\n\t\t\tsystemProperties['dev.search.enable_solr_search'] == 'true' && isAutoSuggestionEnabled && isClusterSearchEnabled;\n\t\t\tif (value && /\\S/.test(value)) {\n\t\t\t\tsearchRedirect(\n\t\t\t\t\tdispatch,\n\t\t\t\t\tsearchValue,\n\t\t\t\t\trelease,\n\t\t\t\t\tisUpdateClusterSearchEnabled,\n\t\t\t\t\tdropdownSelection,\n\t\t\t\t\tisSearchResultPage,\n\t\t\t\t\tqueryParams\n\t\t\t\t);\n\n\t\t\t\t//Tracking the search\n\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\taction: 'click nav search',\n\t\t\t\t\tcategory: 'primary navigation',\n\t\t\t\t\tlabel: searchTerm || value,\n\t\t\t\t\tvalue: '',\n\t\t\t\t\tga: true,\n\t\t\t\t\tadobe: false\n\t\t\t\t});\n\t\t\t\tclose();\n\t\t\t}\n\t\t}\n\t\tdispatch('DPS_SEARCH_CARD#SEARCH', { searchValue });\n\t};\n\n\tif (!isVisible) {\n\t\tdispatch('DPS_INPUT#VALUE_CLEAR');\n\t\treturn null;\n\t}\n\n\tconst highlightValue = suggestion => {\n\t\tif (Array.isArray(suggestion.payload) && suggestion.payload.length > 0) {\n\t\t\tlet text = suggestion.term.replace('in', '');\n\t\t\treturn (\n\t\t\t\t<p>\n\t\t\t\t\t<i>{suggestion.term.indexOf('in') > -1 ? 'in' : ''}</i>\n\t\t\t\t\t{text}\n\t\t\t\t</p>\n\t\t\t);\n\t\t}\n\t\tif (suggestion.payload && !Array.isArray(suggestion.payload)) {\n\t\t\tlet text = suggestion.term.replace(highlightTerm && highlightTerm.toLowerCase().trim(), '');\n\t\t\treturn (\n\t\t\t\t<p>\n\t\t\t\t\t<b>\n\t\t\t\t\t\t{suggestion.term.indexOf(highlightTerm && highlightTerm.toLowerCase().trim()) > -1 ? highlightTerm : ''}\n\t\t\t\t\t</b>\n\t\t\t\t\t{text}\n\t\t\t\t</p>\n\t\t\t);\n\t\t}\n\n\t\treturn suggestion.term;\n\t};\n\tif (systemProperties && systemProperties['dev.search.source.options']) {\n\t\tvar sourceOptions = JSON.parse(\n\t\t\tsystemProperties['dev.search.source.options']\n\t\t);\n\t}\n\n\t// returns the below view.\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t['dps-search-result']: isSearchResultPage,\n\t\t\t\t['dps-search']: !isSearchResultPage\n\t\t\t}}\n\t\t\ton-keydown={event => {\n\t\t\t\tdispatch(DPS_SEARCH_ACTIONS.KEYBOARD_KEY_CLICKED, { event });\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t['dps-search-results-input']: isSearchResultPage,\n\t\t\t\t\t['dps-search-input']: !isSearchResultPage\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<img src=\"solr-search-icon.png\" className=\"search-option-img\" height=\"20\" width=\"20\" />\n\t\t\t\t{enableSourceOption ? (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"dropdown\"\n\t\t\t\t\t\ton-keydown={event => {\n\t\t\t\t\t\t\tdispatch('DROPDOWN_KEYBOARD_KEY_CLICKED', { event });\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tonclick={() => {\n\t\t\t\t\t\t\t\tupdateProperties({ dropdownOpened: !dropdownOpened });\n\t\t\t\t\t\t\t\tif (dropdownOpened == false) {\n\t\t\t\t\t\t\t\t\tupdateProperties({ keySelectEnabled: false });\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tclassName=\"dropbtn\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span>{searchOption}</span>\n\t\t\t\t\t\t\t<now-icon icon=\"caret-down-fill\" size=\"md\" />\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t{dropdownOpened ? (\n\t\t\t\t\t\t\t<ul className=\"dropdown-content\">\n\t\t\t\t\t\t\t\t{sourceOptions &&\n\t\t\t\t\t\t\t\t\tsourceOptions.map(item => (\n\t\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\t\t['dropdown-option']: true,\n\t\t\t\t\t\t\t\t\t\t\t\t'-selected':\n\t\t\t\t\t\t\t\t\t\t\t\t\tkeySelectEnabled && item.id === dropdownSelection\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tonclick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\t\t\t\t\t\t\tdropdownSelection: item.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\tsearchOption: item.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdropdownOpened: false\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\tdispatch('DPS_INPUT#UPDATE_SOURCE_TYPE', {\n\t\t\t\t\t\t\t\t\t\t\t\t\tdropdownSelection: item.id\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{searchOption === item.id ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<now-icon icon=\"check-fill\" size=\"md\" />\n\t\t\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t\t\t<span>{item.label}</span>\n\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t\t<dps-input\n\t\t\t\t\tvalue={value || ''}\n\t\t\t\t\tplaceholder={\n\t\t\t\t\t\tisSearchResultPage\n\t\t\t\t\t\t\t? ''\n\t\t\t\t\t\t\t: searchOption === SEARCH_BAR_CONSTANTS.SOURCE_TYPE.SERVICENOW\n\t\t\t\t\t\t\t? 'Search across ServiceNow'\n\t\t\t\t\t\t\t: 'Search within Developer Site'\n\t\t\t\t\t}\n\t\t\t\t\tdirty={\n\t\t\t\t\t\tisSearchResultPage && \n\t\t\t\t\t\tisDirtyTerm\n\t\t\t\t\t}\n\t\t\t\t\tvariant=\"bare\"\n\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\ttype=\"search\"\n\t\t\t\t\tgetFocusOnInsert={true}\n\t\t\t\t\tuseDebounce\n\t\t\t\t/>\n\t\t\t\t<dps-button\n\t\t\t\t\tclassName=\"button-text-only\"\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tlabel=\"Search\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tonclick={() => {\n\t\t\t\t\t\tsearch({ searchTerm: value });\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t<dps-button\n\t\t\t\t\tclassName=\"button-icon-only\"\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\ticon=\"arrow-right-outline\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tonclick={() => {\n\t\t\t\t\t\tsearch({ searchTerm: value });\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{!value && !isSearchResultPage ? (\n\t\t\t\t<div className=\"dps-search-text\">\n\t\t\t\t\tTry something like <i>Gliderecord</i> or <i>Service Catalog</i>\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t\t{showAutoSuggestList(value) &&\n\t\t\tsuggestionsList &&\n\t\t\tsuggestionsList.length > 0 ? (\n\t\t\t\t<ul\n\t\t\t\t\ttype=\"none\"\n\t\t\t\t\tref={listRef}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t['dps-search-autosuggest-list']: true,\n\t\t\t\t\t\t['-hide-list']: suggestionsList.length === 0\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{suggestionsList.map((suggestion, index) => (\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t['dps-search-autosuggest-list-item']: true,\n\t\t\t\t\t\t\t\t['-with-payload']:\n\t\t\t\t\t\t\t\t\tArray.isArray(suggestion.payload) &&\n\t\t\t\t\t\t\t\t\tsuggestion.payload.length > 0\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ttabindex={active === index ? 0 : -1}\n\t\t\t\t\t\t\tid={index}\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\tsearch(\n\t\t\t\t\t\t\t\t\tArray.isArray(suggestion.payload) &&\n\t\t\t\t\t\t\t\t\t\tsuggestion.payload.length > 0\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\tsearchTerm:\n\t\t\t\t\t\t\t\t\t\t\t\t\tsuggestionsList[0].term + suggestionsList[index].term,\n\t\t\t\t\t\t\t\t\t\t\t\tsuggestionPayload: suggestion.payload\n\t\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t\t: { searchTerm: suggestion.term }\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tupdateProperties({suggestionsList: []});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<img src=\"solr-search-icon.png\" height=\"14\" width=\"14\" />\n\t\t\t\t\t\t\t{highlightValue(suggestion)}\n\t\t\t\t\t\t</li>\n\t\t\t\t\t))}\n\t\t\t\t</ul>\n\t\t\t) : null}\n\t\t</div>\n\t);\n};\n\nexport default view;\n","export const DPS_SEARCH_ACTIONS = {\n\tGET_AUTO_SUGGESTIONS: 'DPS_SEARCH_ACTIONS#GET_AUTO_SUGGESTIONS',\n\tGET_AUTO_SUGGESTIONS_SUCCEEDED:\n\t\t'DPS_SEARCH_ACTIONS#GET_AUTO_SUGGESTIONS_SUCCEEDED',\n\tAUTOSUGGEST_LIST_ITEM_SELECTED:\n\t\t'DPS_SEARCH_ACTIONS#AUTOSUGGEST_LIST_ITEM_SELECTED',\n\tGET_AUTO_SUGGESTIONS_FAILED: 'DPS_SEARCH_ACTIONS#GET_AUTO_SUGGESTIONS_FAILED',\n\tKEYBOARD_KEY_CLICKED: 'DPS_SEARCH_ACTIONS#KEYBOARD_KEY_CLICKED',\n\tSEARCH: 'DPS_SEARCH_CARD#SEARCH',\n\tCLOSE: 'DPS_SEARCH_CARD#CLOSE',\n\tINPUT_VALUE_CLEAR: 'DPS_INPUT#VALUE_CLEAR',\n\tINPUT_VALUE_CHANGE: 'DPS_INPUT#VALUE_CHANGE',\n\tINPUT_CLOSE_BUTTON_CLICKED: 'DPS_INPUT#CLOSE_BUTTON_CLICKED',\n\tUPDATE_SOURCE_TYPE: 'DPS_INPUT#UPDATE_SOURCE_TYPE',\n\tDROPDOWN_KEY_CLICKED: 'DROPDOWN_KEYBOARD_KEY_CLICKED',\n\tVALUE_CHANGE_WITHOUT_DEBOUNCE: 'DPS_INPUT#VALUE_CHANGE_WITHOUT_DEBOUNCE',\n\tVALUE_CLEAR: 'DPS_INPUT#VALUE_CLEAR'\n};\n","export const DPS_SEARCH_PAGE = {\n\tTRIGGER_BASIC_SEARCH: 'DPS_SEARCH_BAR#TRIGGER_BASIC_SEARCH',\n\tFETCH_RELATED_SEARCH: 'DPS#FETCH_RELATED_SEARCH',\n\tFETCH_RELATED_SEARCH_FAILED: 'DPS#FETCH_RELATED_SEARCH_FAILED',\n\tFETCH_RELATED_SEARCH_SUCCEEDED: 'DPS#FETCH_RELATED_SEARCH_SUCCEEDED'\n};\n\nexport const SEARCH_PAGE_ACTIONS = {\n\tHANDLE_BASIC_SEARCH: 'SEARCH_PAGE_ACTIONS#HANDLE_BASIC_SEARCH',\n\tHANDLE_BASIC_SEARCH_SUCCEEDED:\n\t\t'SEARCH_PAGE_ACTIONS#HANDLE_BASIC_SEARCH_SUCCEEDED',\n\tHANDLE_BASIC_SEARCH_ERRORED:\n\t\t'SEARCH_PAGE_ACTIONS#HANDLE_BASIC_SEARCH_ERRORED',\n\tHANDLE_UPDATE_URL_ROUTES: 'SEARCH_PAGE_ACTIONS#HANDLE_UPDATE_URL_ROUTES',\n\tHANDLE_SEARCH_FILTER_SELECTED: 'SEARCH_FILTER_SELECTED',\n\tHANDLE_RELATED_TERM_CLICK: 'SEARCH_PAGE_ACTIONS#HANDLE_RELATED_TERM_CLICK',\n\tHANDLE_FILTER_PILL_DISMISS: 'SEARCH_PAGE_ACTION#HANDLE_FILTER_PILL_DISMISS',\n\tTRACK_SEARCH_RESULTS_CLICK: 'SEARCH_PAGE_ACTIONS#TRACK_SEARCH_RESULTS_CLICK',\n\tTRACK_SEARCH_RESULTS_CLICK_SUCCEEDED: 'SEARCH_PAGE_ACTIONS#TRACK_SEARCH_RESULTS_CLICK_SUCCEEDED',\n\tSEARCH_TEXT_CLEARED: 'SEARCH_PAGE_ACTIONS#SEARCH_TEXT_CLEARED'\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom, { createRef } from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-search-bar.scss';\nimport { actionTypes } from '@servicenow/ui-core';\nimport view from './view';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { CONSTANTS, KEYCODE } from '../../constants';\nimport { DPS_SEARCH_ACTIONS } from './actions';\nimport {\n\tshouldFetchAutoSuggest,\n\tshouldEmptySuggestionList,\n\tsearchRedirect\n} from '../dps-search-results/dps-search-helpers';\nimport { updateRoute } from '../../routes';\nimport { capitalizeWords } from '../../utils/helpers';\nimport { SEARCH_BAR_CONSTANTS } from './constants';\nimport { SEARCH_PAGE_ACTIONS } from '../dps-search-page/actions';\n\nconst {\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_BOOTSTRAPPED\n} = actionTypes;\n\nexport default createCustomElement('dps-search-bar', {\n\tactionHandlers: {\n\t\t// Handles source dropdown keyboard event.\n\t\t[DPS_SEARCH_ACTIONS.DROPDOWN_KEY_CLICKED]: ({\n\t\t\taction,\n\t\t\tproperties,\n\t\t\tdispatch,\n\t\t\tupdateProperties\n\t\t}) => {\n\t\t\tconst {\n\t\t\t\tsystemProperties,\n\t\t\t\tdropdownSelection,\n\t\t\t\tdropdownOpened\n\t\t\t} = properties;\n\t\t\tconst { event } = action.payload;\n\t\t\tvar sourceTypes = JSON.parse(\n\t\t\t\tsystemProperties['dev.search.source.options']\n\t\t\t);\n\t\t\tlet selectedIndex = sourceTypes.findIndex(\n\t\t\t\tsourceType => sourceType['id'] === dropdownSelection\n\t\t\t);\n\t\t\tswitch (event.keyCode) {\n\t\t\t\tcase KEYCODE.UP_ARROW:\n\t\t\t\t\tselectedIndex = selectedIndex - 1;\n\t\t\t\t\tif (selectedIndex < 0) {\n\t\t\t\t\t\tselectedIndex = sourceTypes.length - 1;\n\t\t\t\t\t}\n\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\tdropdownSelection: sourceTypes[selectedIndex]['id'],\n\t\t\t\t\t\tkeySelectEnabled: true\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase KEYCODE.DOWN_ARROW:\n\t\t\t\t\tselectedIndex = selectedIndex + 1;\n\t\t\t\t\tif (selectedIndex >= sourceTypes.length) {\n\t\t\t\t\t\tselectedIndex = 0;\n\t\t\t\t\t}\n\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\tdropdownSelection: sourceTypes[selectedIndex]['id'],\n\t\t\t\t\t\tkeySelectEnabled: true\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase KEYCODE.ENTER:\n\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\tdropdownOpened: false,\n\t\t\t\t\t\tkeySelectEnabled: false,\n\t\t\t\t\t\tsearchOption: dropdownSelection\n\t\t\t\t\t});\n\t\t\t\t\tdispatch('DPS_INPUT#UPDATE_SOURCE_TYPE', { dropdownSelection });\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_CONNECTED]: ({ updateState }) => {\n\t\t\tupdateState({\n\t\t\t\tlistRef: createRef()\n\t\t\t});\n\t\t},\n\t\t[COMPONENT_BOOTSTRAPPED]: ({ updateProperties, properties }) => {\n\t\t\tlet { release, releaseInfo } = properties;\n\t\t\tif(releaseInfo.activeVersionsFormatted && releaseInfo.activeVersionsFormatted[release]){\n\t\t\t\trelease = releaseInfo.activeVersionsFormatted[release];\n\t\t\t}\n\t\t\t\n\t\t\tupdateProperties({\n\t\t\t\tsuggestionsRelease: [capitalizeWords(release)]\n\t\t\t});\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\t\taction: { payload },\n\t\t\tproperties,\n\t\t\tupdateProperties\n\t\t}) => {\n\t\t\tconst { name, previousValue, value } = payload;\n\n\t\t\tif (name === 'value') {\n\t\t\t\tupdateProperties({\n\t\t\t\t\thighlightTerm: previousValue\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (name === 'isFetchingAutosuggestResults' && value === false) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\thighlightTerm: properties.value\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[DPS_SEARCH_ACTIONS.VALUE_CHANGE_WITHOUT_DEBOUNCE]: ({\n\t\t\tupdateProperties,\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\tproperties\n\t\t}) => {\n\t\t\tconst { value } = action.payload;\n\t\t\tupdateProperties({\n\t\t\t\tvalueWithoutDebounce: value.trim()\n\t\t\t});\n\t\t},\n\t\t[DPS_SEARCH_ACTIONS.INPUT_VALUE_CHANGE]: ({\n\t\t\tupdateProperties,\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\tproperties\n\t\t}) => {\n\t\t\tconst { value } = action.payload;\n\t\t\tconst {\n\t\t\t\tisSolrEnabled,\n\t\t\t\tisAutoSuggestionEnabled,\n\t\t\t\trelease,\n\t\t\t\tsearchOption,\n\t\t\t\tisSearchResultPage,\n\t\t\t\tqueryParams,\n\t\t\t\tisFetchtingSearchResults,\n\t\t\t\tsuggestionsSource,\n\t\t\t\tsuggestionsRelease,\n\t\t\t\tsystemProperties\n\t\t\t} = properties;\n\n\t\t\tif(isSearchResultPage && value == \"\") {\n\t\t\t\tupdateProperties({ active: -1 });\n\t\t\t\tdispatch(SEARCH_PAGE_ACTIONS.SEARCH_TEXT_CLEARED);\n\t\t\t} else {\n\t\t\t\tupdateProperties({ value, active: -1 });\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tisSolrEnabled &&\n\t\t\t\tisAutoSuggestionEnabled &&\n\t\t\t\tshouldEmptySuggestionList(value)\n\t\t\t) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tsuggestionsList: []\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst isSolrOldPhaseEnabled =  systemProperties['dev.search.enable_solr_search'] == 'true';\n\t\t\tif (\n\t\t\t\t(isSolrEnabled || isSolrOldPhaseEnabled)&&\n\t\t\t\tisAutoSuggestionEnabled &&\n\t\t\t\tshouldFetchAutoSuggest(value) &&\n\t\t\t\t!isFetchtingSearchResults\n\t\t\t) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tisFetchingAutosuggestResults: true\n\t\t\t\t});\n\t\t\t\tlet queryParam = '';\n\t\t\t\tif (!isSearchResultPage) {\n\t\t\t\t\tif (searchOption === SEARCH_BAR_CONSTANTS.SOURCE_TYPE.DEVELOPER_SITE) {\n\t\t\t\t\t\tqueryParam = value\n\t\t\t\t\t\t\t? '(source:\"Developer Program\" OR \"Now Community\") AND (\"' +\n\t\t\t\t\t\t\t  value.trim() +\n\t\t\t\t\t\t\t  '\" OR ' +\n\t\t\t\t\t\t\t  value.trim() +\n\t\t\t\t\t\t\t  ')'\n\t\t\t\t\t\t\t: '';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tqueryParam = value\n\t\t\t\t\t\t\t? '(\"' + value.trim() + '\" OR ' + value.trim() + ')'\n\t\t\t\t\t\t\t: '';\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tqueryParam +=\n\t\t\t\t\t\tqueryParam &&\n\t\t\t\t\t\tqueryParams.application &&\n\t\t\t\t\t\tqueryParams.application.length > 0\n\t\t\t\t\t\t\t? '(application:\"' +\n\t\t\t\t\t\t\t  queryParams.application.join('\" OR \"') +\n\t\t\t\t\t\t\t  '\") AND '\n\t\t\t\t\t\t\t: '';\n\t\t\t\t\tqueryParam +=\n\t\t\t\t\t\tqueryParams && queryParams.product && queryParams.product.length > 0\n\t\t\t\t\t\t\t? '(product:\"' + queryParams.product.join('\" OR \"') + '\") AND '\n\t\t\t\t\t\t\t: '';\n\t\t\t\t\tqueryParam +=\n\t\t\t\t\t\tqueryParams &&\n\t\t\t\t\t\tqueryParams.contentType &&\n\t\t\t\t\t\tqueryParams.contentType.length > 0\n\t\t\t\t\t\t\t? '(contentType:\"' +\n\t\t\t\t\t\t\t  queryParams.contentType.join('\" OR \"') +\n\t\t\t\t\t\t\t  '\") AND '\n\t\t\t\t\t\t\t: '';\n\t\t\t\t\tqueryParam +=\n\t\t\t\t\t\tqueryParams && queryParams.release && queryParams.release.length > 0\n\t\t\t\t\t\t\t? '(release:\"' + queryParams.release.join('\" OR \"') + '\") AND '\n\t\t\t\t\t\t\t: '';\n\t\t\t\t\tqueryParam +=\n\t\t\t\t\t\tqueryParams && queryParams.source && queryParams.source.length > 0\n\t\t\t\t\t\t\t? '(source:\"' + queryParams.source.join('\" OR \"') + '\") AND '\n\t\t\t\t\t\t\t: '';\n\t\t\t\t\tqueryParam += '(\"' + queryParams.q + '\" OR ' + queryParams.q + ')';\n\t\t\t\t}\n\t\t\t\tdispatch(DPS_SEARCH_ACTIONS.GET_AUTO_SUGGESTIONS, {\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tsearchClsfRelease: suggestionsRelease.join('|'),\n\t\t\t\t\t\tsearchSource: suggestionsSource.join('|'),\n\t\t\t\t\t\tqueryParam: value && value.toLowerCase().trim()\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[DPS_SEARCH_ACTIONS.VALUE_CLEAR]: ({ updateProperties }) => {\n\t\t\tupdateProperties({ value: null });\n\t\t},\n\t\t[DPS_SEARCH_ACTIONS.INPUT_CLOSE_BUTTON_CLICKED]: ({ \n\t\t\tproperties,\n\t\t\tupdateProperties \n\t\t}) => {\n\t\t\tconst { isSearchResultPage } = properties;\n\n\t\t\tif (!isSearchResultPage) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tsuggestionsList: [],\n\t\t\t\t\tvalue: null\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[DPS_SEARCH_ACTIONS.GET_AUTO_SUGGESTIONS]: createHttpEffect(\n\t\t\tCONSTANTS.ENDPOINTS.SOLR_SEARCH_AUTO_SUGGEST_ENDPOINT,\n\t\t\t{\n\t\t\t\tbatch: false,\n\t\t\t\tmethod: 'POST',\n\t\t\t\tdataParams: ['data'],\n\t\t\t\tsuccessActionType: DPS_SEARCH_ACTIONS.GET_AUTO_SUGGESTIONS_SUCCEEDED,\n\t\t\t\terrorActionType: DPS_SEARCH_ACTIONS.GET_AUTO_SUGGESTIONS_FAILED\n\t\t\t}\n\t\t),\n\t\t[DPS_SEARCH_ACTIONS.GET_AUTO_SUGGESTIONS_SUCCEEDED]: ({\n\t\t\tupdateProperties,\n\t\t\tproperties,\n\t\t\taction\n\t\t}) => {\n\t\t\tconst { value, isClusterSearchEnabled, isFetchtingSearchResults, systemProperties } = properties;\n\t\t\tconst { payload } = action;\n\t\t\tlet sanitize_keywords_map = (systemProperties['dev.solr_search.sanitize_keywords_map'] && JSON.parse(systemProperties['dev.solr_search.sanitize_keywords_map'])) || {};\n\t\t\tlet suggestions =\n\t\t\t\tpayload && payload.result && payload.result.data && payload.result.data.suggestions\n\t\t\t\t\t? payload.result.data.suggestions\n\t\t\t\t\t: [];\n\n\t\t\tif (suggestions.length > 0) {\n\t\t\t\tsuggestions.forEach((suggestion) => {\n\t\t\t\t\tObject.keys(sanitize_keywords_map).forEach(item => {\n\t\t\t\t\t\tsuggestion.term = suggestion.term.replaceAll(sanitize_keywords_map[item], item);\n\t\t\t\t\t});\n\t\t\t\t\tif (\n\t\t\t\t\t\tsuggestion &&\n\t\t\t\t\t\tsuggestion.payload &&\n\t\t\t\t\t\tArray.isArray(suggestion.payload) &&\n\t\t\t\t\t\tsuggestion.payload.length > 0\n\t\t\t\t\t) {\n\t\t\t\t\t\tsuggestion.term = suggestion.term.replace(suggestions[0].term, '');\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (isClusterSearchEnabled) {\n\t\t\t\tsuggestions.forEach(suggestion => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tsuggestion &&\n\t\t\t\t\t\tsuggestion.payload &&\n\t\t\t\t\t\tArray.isArray(suggestion.payload) &&\n\t\t\t\t\t\tsuggestion.payload.length > 0\n\t\t\t\t\t) {\n\t\t\t\t\t\tsuggestion.term = suggestion.term.replace(suggestions[0].term, '');\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} else if (!isClusterSearchEnabled && suggestions) {\n\t\t\t\tsuggestions = suggestions.filter(\n\t\t\t\t\tsuggestion => !Array.isArray(suggestion.payload)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (!isFetchtingSearchResults) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tsuggestionsList: suggestions\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tupdateProperties({\n\t\t\t\tisFetchingAutosuggestResults: false\n\t\t\t});\n\t\t},\n\t\t[DPS_SEARCH_ACTIONS.GET_AUTO_SUGGESTIONS_FAILED]: ({\n\t\t\tupdateProperties\n\t\t}) => {\n\t\t\tupdateProperties({\n\t\t\t\tsuggestionsList: []\n\t\t\t});\n\t\t},\n\t\t[DPS_SEARCH_ACTIONS.UPDATE_SOURCE_TYPE]: ({ updateProperties, action, properties, dispatch }) => {\n\t\t\tconst { value, suggestionsRelease, isAutoSuggestionEnabled, isSolrEnabled, systemProperties } = properties;\n\t\t\tconst { dropdownSelection: searchOption } = action.payload;\n\t\t\tlet source = searchOption === SEARCH_BAR_CONSTANTS.SOURCE_TYPE.DEVELOPER_SITE ? [\"Developer Program\", \"Now Community\"] : [];\n\n\t\t\tupdateProperties({\n\t\t\t\tsearchOption,\n\t\t\t\tsuggestionsSource: source\n\t\t\t});\n\t\t\tconst isSolrOldPhaseEnabled =  systemProperties['dev.search.enable_solr_search'] == 'true';\n\t\t\tif ((isSolrEnabled || isSolrOldPhaseEnabled) && isAutoSuggestionEnabled && value && /\\S/.test(value) && shouldFetchAutoSuggest(value)) {\n\t\t\t\tdispatch(DPS_SEARCH_ACTIONS.GET_AUTO_SUGGESTIONS, {\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tsearchClsfRelease: suggestionsRelease.join('|'),\n\t\t\t\t\t\tsearchSource: source.join('|'),\n\t\t\t\t\t\tqueryParam: value && value.toLowerCase().trim()\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t},\n\t\t[DPS_SEARCH_ACTIONS.KEYBOARD_KEY_CLICKED]: ({\n\t\t\taction,\n\t\t\tproperties,\n\t\t\tdispatch,\n\t\t\tupdateProperties\n\t\t}) => {\n\t\t\tconst { event } = action.payload;\n\t\t\tconst {\n\t\t\t\tactive,\n\t\t\t\tsuggestionsList,\n\t\t\t\trelease,\n\t\t\t\tvalueWithoutDebounce,\n\t\t\t\tisAutoSuggestionEnabled,\n\t\t\t\tisClusterSearchEnabled,\n\t\t\t\tisSolrEnabled,\n\t\t\t\tsearchOption,\n\t\t\t\tisSearchResultPage,\n\t\t\t\tqueryParams,\n\t\t\t\tsystemProperties\n\t\t\t} = properties;\n\t\t\tlet selectedIndex = active;\n\n\t\t\tswitch (event.keyCode) {\n\t\t\t\tcase KEYCODE.UP_ARROW:\n\t\t\t\t\tselectedIndex = selectedIndex - 1;\n\t\t\t\t\tif (selectedIndex < 0) {\n\t\t\t\t\t\tselectedIndex = suggestionsList.length - 1;\n\t\t\t\t\t}\n\t\t\t\t\tdispatch(DPS_SEARCH_ACTIONS.AUTOSUGGEST_LIST_ITEM_SELECTED, {\n\t\t\t\t\t\tactive: selectedIndex\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase KEYCODE.DOWN_ARROW:\n\t\t\t\t\tselectedIndex = selectedIndex + 1;\n\t\t\t\t\tif (selectedIndex >= suggestionsList.length) {\n\t\t\t\t\t\tselectedIndex = 0;\n\t\t\t\t\t}\n\t\t\t\t\tupdateProperties({ active: selectedIndex });\n\t\t\t\t\tdispatch(DPS_SEARCH_ACTIONS.AUTOSUGGEST_LIST_ITEM_SELECTED, {\n\t\t\t\t\t\tactive: selectedIndex\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase KEYCODE.ENTER:\n\t\t\t\t\tlet searchValue =\n\t\t\t\t\t\tsuggestionsList.length > 0 && active !== -1\n\t\t\t\t\t\t\t? Array.isArray(suggestionsList[active].payload) &&\n\t\t\t\t\t\t\t  suggestionsList[active].payload.length > 0\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\tsearchTerm:\n\t\t\t\t\t\t\t\t\t\t\tsuggestionsList[0].term + suggestionsList[active].term,\n\t\t\t\t\t\t\t\t\t\tsuggestionPayload: suggestionsList[active].payload\n\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t: { searchTerm: suggestionsList[active].term }\n\t\t\t\t\t\t\t: { searchTerm: valueWithoutDebounce };\n\t\t\t\t\tif (isSolrEnabled && searchValue.searchTerm && /\\S/.test(searchValue.searchTerm)) {\n\t\t\t\t\t\tdispatch('DPS_SEARCH_BAR#TRIGGER_BASIC_SEARCH', {\n\t\t\t\t\t\t\tsearchTerm: searchValue.searchTerm,\n\t\t\t\t\t\t\tsuggestionPayload: searchValue.suggestionPayload,\n\t\t\t\t\t\t\tsearchOption\n\t\t\t\t\t\t});\n\t\t\t\t\t\tupdateProperties({ suggestionsList: [] });\n\t\t\t\t\t\tdispatch('DPS_SEARCH_CARD#CLOSE', { value: false });\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst isUpdateClusterSearchEnabled =\n\t\t\t\t\t\tsystemProperties['dev.search.enable_solr_search'] == 'true' &&\n\t\t\t\t\t\t\tisAutoSuggestionEnabled &&\n\t\t\t\t\t\t\tisClusterSearchEnabled;\n\t\t\t\t\t\tif (searchValue.searchTerm && /\\S/.test(searchValue.searchTerm)) {\n\t\t\t\t\t\t\tsearchRedirect(\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tsearchValue,\n\t\t\t\t\t\t\t\trelease,\n\t\t\t\t\t\t\t\tisUpdateClusterSearchEnabled,\n\t\t\t\t\t\t\t\tsearchOption,\n\t\t\t\t\t\t\t\tisSearchResultPage,\n\t\t\t\t\t\t\t\tqueryParams\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tdispatch('DPS_SEARCH_CARD#CLOSE', { value: false });\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\t[DPS_SEARCH_ACTIONS.AUTOSUGGEST_LIST_ITEM_SELECTED]: ({\n\t\t\taction,\n\t\t\tupdateProperties,\n\t\t\tstate\n\t\t}) => {\n\t\t\tconst { active } = action.payload;\n\t\t\tupdateProperties({ active });\n\t\t\tstate &&\n\t\t\tstate.listRef &&\n\t\t\tstate.listRef.current &&\n\t\t\tstate.listRef.current.children\n\t\t\t\t? state.listRef.current.children[active].focus()\n\t\t\t\t: null;\n\t\t}\n\t},\n\tinitialState: {\n\t\tlistRef: null\n\t},\n\tproperties: {\n\t\tsystemProperties: {\n\t\t\tdefault: {}\n\t\t},\n\t\tvalue: {\n\t\t\tdefault: null\n\t\t},\n\t\tisVisible: {\n\t\t\tdefault: true\n\t\t},\n\t\trelease: {\n\t\t\tdefault: ''\n\t\t},\n\t\tisSolrEnabled: {\n\t\t\tcomputed({ properties }) {\n\t\t\t\tconst { systemProperties } = properties;\n\t\t\t\treturn (\n\t\t\t\t\tsystemProperties &&\n\t\t\t\t\tsystemProperties['dev.search.enable_solr_latest'] == 'true'\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\tisAutoSuggestionEnabled: {\n\t\t\tcomputed({ properties }) {\n\t\t\t\tconst { systemProperties } = properties;\n\t\t\t\treturn (\n\t\t\t\t\tsystemProperties &&\n\t\t\t\t\tsystemProperties['dev.search.enable_auto_suggest'] == 'true'\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\thighlightTerm: {\n\t\t\tdefault: ''\n\t\t},\n\t\tisClusterSearchEnabled: {\n\t\t\tcomputed({ properties }) {\n\t\t\t\tconst { systemProperties } = properties;\n\t\t\t\treturn (\n\t\t\t\t\tsystemProperties &&\n\t\t\t\t\tsystemProperties['dev.search.enable_cluster_search'] == 'true'\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\tsearchOption: {\n\t\t\tdefault: SEARCH_BAR_CONSTANTS.SOURCE_TYPE.DEVELOPER_SITE\n\t\t},\n\t\tdropdownSelection: {\n\t\t\tdefault: SEARCH_BAR_CONSTANTS.SOURCE_TYPE.DEVELOPER_SITE\n\t\t},\n\t\tdropdownOpened: {\n\t\t\tdefault: false\n\t\t},\n\t\tsuggestionsList: {\n\t\t\tdefault: []\n\t\t},\n\t\tlistRef: {\n\t\t\tdefault: null\n\t\t},\n\t\tisSearchResultPage: {\n\t\t\tdefault: false\n\t\t},\n\t\tenableSourceOption: {\n\t\t\tdefault: false\n\t\t},\n\t\tkeySelectEnabled: {\n\t\t\tdefault: false\n\t\t},\n\t\tvalueWithoutDebounce: {\n\t\t\tdefault: null\n\t\t},\n\t\tactive: {\n\t\t\tdefault: -1\n\t\t},\n\t\tisFetchingAutosuggestResults: {\n\t\t\tdefault: false\n\t\t},\n\t\tfilters: {\n\t\t\tdefault: []\n\t\t},\n\t\tqueryParams: {\n\t\t\tdefault: {}\n\t\t},\n\t\tisFetchtingSearchResults: {\n\t\t\tdefault: false\n\t\t},\n\t\tsuggestionsSource: {\n\t\t\tdefault: [\"Developer Program\", \"Now Community\"]\n\t\t},\n\t\tsuggestionsRelease: {\n\t\t\tdefault: []\n\t\t},\n\t\tisDirtyTerm: {\n\t\t\tdefault: true\n\t\t},\n\t\treleaseInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t},\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['click'],\n\t\t\teffect(coeffects) {\n\t\t\t\tconst { properties, updateProperties, dispatch } = coeffects;\n\t\t\t\tif (properties.isVisible && coeffects.action.meta.path.indexOf(coeffects.action.payload.host.getAttribute(\"component-id\")) < 0) \n\t\t\t\t\tdispatch('DPS_NAVIGATION#CLOSE');\n\n\t\t\t\tif (!properties.dropdownOpened) return;\n\n\t\t\t\tupdateProperties({ dropdownOpened: false });\n\t\t\t},\n\t\t\ttarget: document\n\t\t}\n\t],\n\tstyles,\n\tview\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-icon';\nimport styles from './dps-search.scss';\nimport '../../connected-components/dps-search-bar';\nimport { updateRoute } from '../../routes';\nimport { capitalizeWords, encryptSearchKeyword } from '../../utils/helpers';\nimport { APP_ACTIONS } from '../../connected-components/dps-app/actions';\n\nconst view = state => {\n\tconst { isSolrEnabled, releaseInfo } = state.properties;\n\treturn (\n\t\t<dps-search-bar\n\t\t\t{...state.properties}\n\t\t\tenableSourceOption={isSolrEnabled}\n\t\t\treleaseInfo={releaseInfo}\n\t\t></dps-search-bar>\n\t);\n};\n\nexport default createCustomElement('dps-search', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tinitialState: {\n\t\tlistRef: null\n\t},\n\tproperties: {\n\t\tvalueWithoutDebounce: {\n\t\t\tdefault: null\n\t\t},\n\t\tvalue: {\n\t\t\tdefault: null\n\t\t},\n\t\tisVisible: {\n\t\t\tdefault: true\n\t\t},\n\t\trelease: {\n\t\t\tdefault: ''\n\t\t},\n\t\treleaseInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tsuggestionsList: {\n\t\t\tdefault: []\n\t\t},\n\t\tactive: {\n\t\t\tdefault: -1\n\t\t},\n\t\tsystemProperties: {\n\t\t\tdefault: {}\n\t\t},\n\t\tisFetchingAutosuggestResults: {\n\t\t\tdefault: false\n\t\t},\n\t\thighlightTerm: {\n\t\t\tdefault: ''\n\t\t},\n\t\tisSolrEnabled: {\n\t\t\tcomputed({ properties }) {\n\t\t\t\tconst { systemProperties } = properties;\n\t\t\t\treturn (\n\t\t\t\t\tsystemProperties &&\n\t\t\t\t\tsystemProperties['dev.search.enable_solr_latest'] == 'true'\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\tisAutoSuggestionEnabled: {\n\t\t\tcomputed({ properties }) {\n\t\t\t\tconst { systemProperties } = properties;\n\t\t\t\treturn (\n\t\t\t\t\tsystemProperties &&\n\t\t\t\t\tsystemProperties['dev.search.enable_auto_suggest'] == 'true'\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\tisClusterSearchEnabled: {\n\t\t\tcomputed({ properties }) {\n\t\t\t\tconst { systemProperties } = properties;\n\t\t\t\treturn (\n\t\t\t\t\tsystemProperties &&\n\t\t\t\t\tsystemProperties['dev.search.enable_cluster_search'] == 'true'\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\tsearchOption: {\n\t\t\tdefault: 'Developer Site'\n\t\t}\n\t},\n\tview,\n\tstyles,\n\tactionHandlers: {\n\t\t['DPS_SEARCH_BAR#TRIGGER_BASIC_SEARCH']: ({\n\t\t\taction,\n\t\t\tproperties,\n\t\t\tdispatch\n\t\t}) => {\n\t\t\tconst {\n\t\t\t\tpayload: { searchTerm, suggestionPayload, searchOption }\n\t\t\t} = action;\n\t\t\tlet trimmedText = searchTerm.trim();\n\t\t\ttrimmedText = encryptSearchKeyword(trimmedText);\n\t\t\tif (suggestionPayload && suggestionPayload.length > 0) {\n\t\t\t\tdispatch(APP_ACTIONS.UPDATE_SUGGESTION_PAYLOAD, { suggestionPayload });\n\t\t\t} else {\n\t\t\t\tdispatch(APP_ACTIONS.UPDATE_SUGGESTION_PAYLOAD, { suggestionPayload: [] });\n\t\t\t}\n\t\t\tlet { release, releaseInfo } = properties;\n\t\t\tif(releaseInfo.activeVersionsFormatted && releaseInfo.activeVersionsFormatted[release]){\n\t\t\t\trelease = releaseInfo.activeVersionsFormatted[release];\n\t\t\t}\n\n\t\t\tlet url = `/search?q=${trimmedText}&page=${1}&release=${capitalizeWords(\n\t\t\t\trelease\n\t\t\t)}`;\n\t\t\tsearchOption === 'Developer Site'\n\t\t\t\t? (url += `&source=Developer Program|Now Community`)\n\t\t\t\t: null;\n\t\t\tupdateRoute(url);\n\t\t}\n\t}\n});\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-navigation-header-dropdown.scss';\n\nconst DPSNavigationHeaderDropdown = () => (\n\t<div className=\"dps-navigation-header-dropdown\">\n\t\t<slot />\n\t</div>\n);\n\nexport default createCustomElement('dps-navigation-header-dropdown', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DPSNavigationHeaderDropdown\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Determines if the nav dropdown should be open\n\t\t * @type {boolean}\n\t\t */\n\t\topen: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tstyles\n});\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-navigation-header-dropdown-content.scss';\nimport { onAnimationEnd } from '../../utils/helpers';\n\nconst DPSNavigationHeaderDropdown = (state, { dispatch }) => {\n\tconst { animationRequest, animationType }  = state.properties;\n\tconst animationClass = animationType && {\n\t\t[`${animationType}`]: animationType === 'fade-in',\n\t\t[`${animationRequest}-${animationType}`]: animationType !== 'fade-in' && animationRequest\n\t};\n\n\tconst setTargetRef = ref => setTimeout(() => {\n\t\tconst el = ref;\n\t\tel.addEventListener(\n\t\t\tonAnimationEnd(el),\n\t\t\t() => dispatch('DPS_NAVIGATION_HEADER_DROPDOWN_CONTENT#ANIMATION_END')\n\t\t);\n\t});\n\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'dps-navigation-header-dropdown-content': true,\n\t\t\t\t...animationClass\n\t\t\t}}\n\t\t\thook-insert={({elm}) => setTargetRef(elm)}\n\t\t>\n\t\t\t<slot />\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-navigation-header-dropdown-content', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DPSNavigationHeaderDropdown\n\t},\n\tstyles,\n\tproperties: {\n\t\t/**\n\t\t * Animation type\n\t\t * @type {('fade-in'|'ltr'|'rtl')}\n\t\t */\n\t\tanimationType: {\n\t\t\tdefault: null\n\t\t},\n\t\t/**\n\t\t * Animation request type\n\t\t * @type {('incoming'|'outgoing')}\n\t\t */\n\t\tanimationRequest: {\n\t\t\tdefault: null\n\t\t}\n\t}\n});\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-icon';\nimport * as Icons from '../../icons';\nimport '../dps-link';\nimport '../dps-content-stack';\n\nimport styles from './dps-navigation-card.scss';\n\nconst DPSNavigationCard = ({ properties }, { dispatch }) => {\n\tconst {\n\t\tcontent: {\n\t\t\tcta,\n\t\t\tdescription,\n\t\t\ticon,\n\t\t\tisLinkOpenNewWindow,\n\t\t\tlink,\n\t\t\tsubtitle,\n\t\t\ttitle,\n\t\t\tvariant: contentVariant\n\t\t},\n\t\tvariant\n\t} = properties;\n\n\treturn (\n\t\t<div class={{\n\t\t\t'dps-navigation-card-container': true,\n\t\t\t[`-${variant}`]: variant\n\t\t}}>\n\t\t\t{cta ? (\n\t\t\t\t<dps-content-stack\n\t\t\t\t\ttitle={title}\n\t\t\t\t\tsub-title={subtitle}\n\t\t\t\t>\n\t\t\t\t\t<dps-link\n\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\tbuttonStyle\n\t\t\t\t\t\tbuttonVariant=\"primary\"\n\t\t\t\t\t\tbuttonSize=\"sm\"\n\t\t\t\t\t\thref={link}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch('DPS_NAVIGATION_CARD#CLICKED',{title});\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tinternal-action>{cta}</dps-link>\n\t\t\t\t\t<p className=\"dps-navigation-card-desc\">{description}</p>\n\t\t\t\t</dps-content-stack>\n\t\t\t) :\n\t\t\t\t<a\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'dps-navigation-card': true,\n\t\t\t\t\t\t[`-${contentVariant}`]: contentVariant\n\t\t\t\t\t}}\n\t\t\t\t\thref={link}\n\t\t\t\t\ttarget={isLinkOpenNewWindow ? '_blank' : null}\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\tdispatch('DPS_NAVIGATION_CARD#CLICKED',{title});\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<dps-content-stack\n\t\t\t\t\t\ttitle={title}\n\t\t\t\t\t\tsub-title={subtitle}\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'-nav': true,\n\t\t\t\t\t\t\t'-compact': variant === 'grid' || variant === 'vertical'\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t{icon ? (\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tclassName=\"dps-navigation-card-icon\"\n\t\t\t\t\t\t\t\tsrc={icon}\n\t\t\t\t\t\t\t\tslot=\"icon-custom\" />\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<p className=\"dps-navigation-card-desc\">{description}</p>\n\t\t\t\t\t</dps-content-stack>\n\t\t\t\t\t{isLinkOpenNewWindow ? (\n\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\tclassName=\"dps-navigation-card-action -external\"\n\t\t\t\t\t\t\ticon=\"arrow-up-right-fill\"\n\t\t\t\t\t\t\tsize=\"md\" /> ) :\n\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\tclassName=\"dps-navigation-card-action\"\n\t\t\t\t\t\t\ticon=\"arrow-right-fill\"\n\t\t\t\t\t\t\tsize=\"md\" />\n\t\t\t\t\t}\n\t\t\t\t</a>\n\t\t\t}\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-navigation-card', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DPSNavigationCard\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Configuration object that contains title, description, and icon\n\t\t * @type {{}}\n\t\t */\n\t\tcontent: {\n\t\t\tdefault: {}\n\t\t},\n\t\t/**\n\t\t * Sets the style of card.\n\t\t * @type {('default'|'grid'|'vertical'|'list')}\n\t\t */\n\t\tvariant: {\n\t\t\tdefault: 'default'\n\t\t}\n\t},\n\tstyles\n});\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport styles from './dps-navigation-section.scss';\n\nconst DPSNavigationSection = state => {\n\tconst {\n\t\tsectionTitle,\n\t\tcolumns,\n\t\tvariant\n\t} = state.properties;\n\n\treturn (\n\t\t<div class={{\n\t\t\t'dps-navigation-section': true,\n\t\t\t[`-${variant}`]: variant\n\t\t}}>\n\t\t\t<h6 className=\"dps-navigation-section-header\">{sectionTitle}</h6>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'dps-navigation-section-content': true,\n\t\t\t\t\t[`-col-${columns}`]: columns\n\t\t\t\t}}>\n\t\t\t\t<slot />\n\t\t\t</div>\n\t\t</div>\n\n\t);\n};\n\nexport default createCustomElement('dps-navigation-section', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DPSNavigationSection\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Title of the section\n\t\t * @type {string}\n\t\t */\n\t\tsectionTitle: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Number of columns the section should take up on the nav. Total of 5 cols possible\n\t\t * @type {number}\n\t\t */\n\t\tcolumns: {\n\t\t\tdefault: 1\n\t\t},\n\t\t/**\n\t\t * Sets the style of section for grid or list.\n\t\t * @type {('content'|'default'|'grid'|'vertical')}\n\t\t */\n\t\tvariant: {\n\t\t\tdefault: 'default'\n\t\t},\n\t\tisBlockedUser: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tstyles\n});\n","import { DPS_NAVIGATION_INSTANCE_MANAGEMENT } from '../../actions';\nimport { DPS_NAV_INSTANCE_MANAGEMENT } from '../../../../constants';\nimport '@servicenow/now-tooltip';\nconst InstanceMenuView = props => {\n\tconst {\n\t\tdispatch,\n\t\tinstanceMenuItems,\n\t\tisInstanceRefreshing,\n\t\tdisableRefreshButton,\n\t\tinstanceInfo,\n\t\tsystemProperties\n\t} = props;\n\n\tconst { sys_id } = instanceInfo;\n\tconst baInProgressItem = instanceMenuItems && instanceMenuItems.find(item => item.name == 'Install Build Agent' && item.in_progress);\n\tconst baUpgradeInProgress = !!baInProgressItem;\n\tlet tooltipMessage = '';\n\tif (baUpgradeInProgress) {\n\t\ttry {\n\t\t\ttooltipMessage = JSON.parse(systemProperties['dev.instance.operation.message.actionsDisabledBAUpgrade'] || '{}').tooltip || '';\n\t\t} catch (e) {\n\t\t\ttooltipMessage = '';\n\t\t}\n\t}\n\treturn (\n\t\t<div className=\"dps-navigation-instance-management-content -instance-actions\">\n\t\t\t<dps-content-stack sub-title=\"Instance Action\">\n\t\t\t\t<ul>\n\t\t\t\t\t{instanceMenuItems.map(menuItem => (\n\t\t\t\t\t\tmenuItem.sys_id === systemProperties['dev.cat_item.refresh_status']?\n\t\t\t\t\t\t<li\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'is-disabled': menuItem.disabled\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<img src=\"Refresh_Instance_icon.png\"></img>\n\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\tlinkStyle\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\tmenuItem.disabled || isInstanceRefreshing\n\t\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t\t: (dispatch(\n\t\t\t\t\t\t\t\t\t\t\tDPS_NAVIGATION_INSTANCE_MANAGEMENT.REFRESH_STATUS,\n\t\t\t\t\t\t\t\t\t\t\t{ instanceSysID: sys_id }\n\t\t\t\t\t\t\t\t\t  ),\n\t\t\t\t\t\t\t\t\t  dispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\t\t\t\taction: 'click refresh instance - expanded nav header',\n\t\t\t\t\t\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\t\t\t\t\t\tlabel: 'Authenticated home page / Nav drop down',\n\t\t\t\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t\t\t\t  }));\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tdisabled={menuItem.disabled }\n\t\t\t\t\t\t\ttooltip-content={baUpgradeInProgress && menuItem.disabled ? tooltipMessage : ''}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{isInstanceRefreshing\n\t\t\t\t\t\t\t\t? DPS_NAV_INSTANCE_MANAGEMENT.REFRESH_STATUS_BUTTON_LABEL\n\t\t\t\t\t\t\t\t\t\t.REFRESHING\n\t\t\t\t\t\t\t\t: DPS_NAV_INSTANCE_MANAGEMENT.REFRESH_STATUS_BUTTON_LABEL\n\t\t\t\t\t\t\t\t\t\t.DEFAULT}\n\t\t\t\t\t\t</dps-button>\n\t\t\t\t\t</li>:<li\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'is-disabled': menuItem.disabled\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<img src={menuItem.display_image} />\n\t\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\t\tlinkStyle\n\t\t\t\t\t\t\t\tdata-sysId={menuItem.sys_id}\n\t\t\t\t\t\t\t\ton-click={e =>\n\t\t\t\t\t\t\t\t\tmenuItem.disabled\n\t\t\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t\t\t: dispatch(\n\t\t\t\t\t\t\t\t\t\t\t\tDPS_NAVIGATION_INSTANCE_MANAGEMENT.INSTANCE_ACTION_CLICKED,\n\t\t\t\t\t\t\t\t\t\t\t\t{ e, menuItem, called_from: 'expanded header nav' }\n\t\t\t\t\t\t\t\t\t\t\t\t//Adding called from to track whether the menu item is triggered\n\t\t\t\t\t\t\t\t\t\t\t\t//from instance sidebar or expanded header nav\n\t\t\t\t\t\t\t\t\t\t  )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdisabled={menuItem.disabled}\n\t\t\t\t\t\t\t\ttooltip-content={baUpgradeInProgress && menuItem.disabled ? tooltipMessage : ''}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{DPS_NAV_INSTANCE_MANAGEMENT.MENU_ITEMS[menuItem.name]}\n\t\t\t\t\t\t\t</dps-button>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t))}\n\t\t\t\t</ul>\n\t\t\t</dps-content-stack>\n\t\t</div>\n\t);\n};\n\nexport default InstanceMenuView;\n","import { DPS_NAVIGATION_INSTANCE_MANAGEMENT } from '../../actions';\n\nconst InstanceActivityView = props => {\n\tconst { instanceInfo } = props;\n\n\treturn instanceInfo && instanceInfo.ishibernating() ? (\n\t\tWakeInstanceView(props)\n\t) : (\n\t\t<div className=\"dps-navigation-instance-management-content\">\n\t\t\t<dps-content-stack sub-title=\"Activity\">\n\t\t\t\t<span className=\"dps-navigation-instance-mangament-content-activity\">\n\t\t\t\t\tInstances with no activity for over 10 days will be claimed back in to\n\t\t\t\t\tthe pool.\n\t\t\t\t</span>\n\t\t\t</dps-content-stack>\n\t\t</div>\n\t);\n};\n\nconst WakeInstanceView = props => {\n\tconst { dispatch } = props;\n\treturn (\n\t\t<div className=\"dps-navigation-instance-management-content\">\n\t\t\t<dps-content-stack sub-title=\"Activity\">\n\t\t\t\t<p className=\"dps-navigation-instance-management-content_info\">\n\t\t\t\t\tYour instance is hibernating due to inactivity.\n\t\t\t\t</p>\n\t\t\t\t<p>Wake it up to resume working.</p>\n\t\t\t\t<dps-button\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tlabel=\"Wake instance\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\ton-click={e => {\n\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\tDPS_NAVIGATION_INSTANCE_MANAGEMENT.WAKE_UP_INSTANCE_STARTED\n\t\t\t\t\t\t);\n\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\taction: 'click WakeUp instance - expanded nav header',\n\t\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\t\tlabel: 'Authenticated home page / Nav drop down',\n\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t></dps-button>\n\t\t\t</dps-content-stack>\n\t\t</div>\n\t);\n};\n\nexport default InstanceActivityView;\n","/* eslint-disable no-unused-vars */\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport * as Icons from '../../../../icons';\nimport InstanceMenuView from './instance-menu-view';\nimport InstanceActivityView from './instance-activity-view';\nimport { instanceRequestDiv } from '../../../../connected-components/dps-instance-assignment-modal/requestInstanceView';\nimport {\n\tCONSTANTS,\n\tDPS_NAV_INSTANCE_MANAGEMENT,\n\tAPP_INSTALL_TEXT_LOOKUP,\n\tAPP_NAME_LOOKUP\n} from '../../../../constants';\nimport { userHasInstance } from '../../../../utils/instanceHelpers';\nimport { DPS_NAVIGATION_INSTANCE_MANAGEMENT } from '../../actions';\nimport '@servicenow/now-icon';\nimport '../../../dps-link';\nimport '../../../dps-alert';\nimport '../../../dps-button';\nimport { getAESAlertMessageText } from '../../../../utils/helpers';\n\nconst InstanceManagementViewSelector = prop => {\n\tconst {\n\t\tdispatch,\n\t\tinstanceInfo,\n\t\tisBlockedUser,\n\t\treleaseInfo,\n\t\tsystemProperties,\n\t\tuserInfo,\n\t\tlastRequestedRelease,\n\t\tinstanceMenuItems\n\t} = prop;\n\n\tconst userPDIRole = userInfo.pdi_user_role;\n\n\tif (instanceInfo.instanceStatus && !userHasInstance(instanceInfo.state)) {\n\t\tconst {\n\t\t\tdisplay_state,\n\t\t\tadditional_info: { status_icon, start_building_disabled }\n\t\t} = instanceInfo.instanceStatus;\n\t\tconst installedApps = instanceInfo && instanceInfo.installedApps;\n\t\tconst isAESNotInstalled =\n\t\t\tinstalledApps && installedApps.AES === 'not installed';\n\t\tconst aesAlertMessage = getAESAlertMessageText(\n\t\t\treleaseInfo,\n\t\t\tsystemProperties,\n\t\t\tinstanceMenuItems,\n\t\t\tdispatch\n\t\t);\n\t\tconst triggerCancelRequest = () => {\n\n\t\t\tlet displayStateMap = {\n\t\t\t\t\"Restoring Instance\": \"restore\",\n\t\t\t\t\"Fulfilling request\": \"request\"\n\t\t\t}\n\n\t\t\tconst data = {\n\t\t\t\toperationType: displayStateMap[display_state]\n\t\t\t};\n\n\t\t\tdispatch('DPS_HOME_AUTH_QUEBEC#CANCEL_REQUEST', { data });\n\t\t};\n\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t{isAESNotInstalled && aesAlertMessage ? (\n\t\t\t\t\t<dps-alert\n\t\t\t\t\t\tbody={aesAlertMessage}\n\t\t\t\t\t\tclassName=\"aes-warning-alert\"\n\t\t\t\t\t\tvariant=\"warn\"\n\t\t\t\t\t\ticon=\"circle-exclamation-outline\"\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t<div className=\"dps-navigation-instance-management-content\">\n\t\t\t\t\t<dps-content-stack sub-title=\"Instance Status\">\n\t\t\t\t\t\t<p className=\"dps-navigation-instance-status\">\n\t\t\t\t\t\t\t{status_icon ? (\n\t\t\t\t\t\t\t\t<img className=\"instance-status\" src={Icons[status_icon]} />\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t<span className=\"instance-status-text\">\n\t\t\t\t\t\t\t\t<span>{display_state}</span>\n\t\t\t\t\t\t\t\t{['Restoring Instance', 'Fulfilling request'].indexOf(\n\t\t\t\t\t\t\t\t\tdisplay_state\n\t\t\t\t\t\t\t\t) > -1 ? (\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclassName=\"cancel-request\"\n\t\t\t\t\t\t\t\t\t\tonclick={() => {\n\t\t\t\t\t\t\t\t\t\t\ttriggerCancelRequest();\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tCancel\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</dps-content-stack>\n\n\t\t\t\t\t<dps-content-stack sub-title=\"Release\">\n\t\t\t\t\t\t<p className=\"dps-navigation-instance-status-value\">\n\t\t\t\t\t\t\t{releaseInfo &&\n\t\t\t\t\t\t\treleaseInfo.activeVersionsFormatted &&\n\t\t\t\t\t\t\tinstanceInfo &&\n\t\t\t\t\t\t\tinstanceInfo.release\n\t\t\t\t\t\t\t\t? releaseInfo.activeVersionsFormatted[\n\t\t\t\t\t\t\t\t\t\tinstanceInfo.release.toLowerCase()\n\t\t\t\t\t\t\t\t  ] || instanceInfo.release\n\t\t\t\t\t\t\t\t: lastRequestedRelease &&\n\t\t\t\t\t\t\t\t  releaseInfo.activeVersionsFormatted[lastRequestedRelease]}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</dps-content-stack>\n\n\t\t\t\t\t{((instanceInfo &&\n\t\t\t\t\t\tinstanceInfo.release ) ||\n\t\t\t\t\t\t(lastRequestedRelease)) &&\n\t\t\t\t\tuserPDIRole ? (\n\t\t\t\t\t\t<dps-content-stack sub-title=\"User Role\">\n\t\t\t\t\t\t\t<p>{CONSTANTS.DEFAULTS.DPS_PDI_USER_ROLES[userPDIRole]}</p>\n\t\t\t\t\t\t</dps-content-stack>\n\t\t\t\t\t) : null}\n\n\t\t\t\t\t{installedApps &&\n\t\t\t\t\t\tObject.keys(installedApps).map(app => (\n\t\t\t\t\t\t\t<dps-content-stack sub-title={APP_NAME_LOOKUP[app]}>\n\t\t\t\t\t\t\t\t{installedApps[app] === 'installed' ? (\n\t\t\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\t\t\tclassName=\"app-installed\"\n\t\t\t\t\t\t\t\t\t\ticon=\"circle-check-fill\"\n\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\t\t\tclassName=\"app-not-installed\"\n\t\t\t\t\t\t\t\t\t\ticon=\"circle-close-fill\"\n\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<span>{APP_INSTALL_TEXT_LOOKUP[installedApps[app]]}</span>\n\t\t\t\t\t\t\t</dps-content-stack>\n\t\t\t\t\t\t))}\n\n\t\t\t\t\t<dps-content-stack>\n\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\ticon=\"arrow-up-right-fill\"\n\t\t\t\t\t\t\tdisabled={start_building_disabled}\n\t\t\t\t\t\t\tlabel=\"Start building\"\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\tif (!start_building_disabled) {\n\t\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\t\tDPS_NAVIGATION_INSTANCE_MANAGEMENT.MAGIC_LINK_CLICKED\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t></dps-button>\n\t\t\t\t\t</dps-content-stack>\n\t\t\t\t</div>\n\t\t\t\t<InstanceMenuView {...prop} />\n\t\t\t\t<InstanceActivityView {...prop} />\n\t\t\t</Fragment>\n\t\t);\n\t}\n\n\treturn isBlockedUser ? null : (\n\t\t<div className=\"dps-navigation-instance-management-request-instance\">\n\t\t\t{instanceRequestDiv({\n\t\t\t\tdispatch,\n\t\t\t\tsystemProperties,\n\t\t\t\tuserInfo,\n\t\t\t\treleaseInfo\n\t\t\t})}\n\t\t</div>\n\t);\n};\n\nexport default InstanceManagementViewSelector;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nimport '../../dps-content-stack';\nimport '../../dps-link';\nimport '../../dps-button';\nimport styles from './dps-navigation-instance-management.scss';\nimport * as Icons from '../../../icons';\n// eslint-disable-next-line no-unused-vars\nimport InstanceManagementViewSelector from './templates/instance-management-view-selector';\n\nconst DPSNavigationInstanceManagement = (state, { dispatch }) => {\n\tconst {\n\t\tproperties: {\n\t\t\tcatItemInProgress,\n\t\t\tinstanceInfo,\n\t\t\tinstanceMenuItems,\n\t\t\tisBlockedUser,\n\t\t\tisInstanceRefreshing,\n\t\t\treleaseInfo,\n\t\t\tsystemProperties,\n\t\t\tuserInfo,\n\t\t\tlastRequestedRelease\n\t\t}\n\t} = state;\n\n\tif (instanceMenuItems && instanceMenuItems.length === 0) {\n\t\treturn;\n\t}\n\tconst props = {\n\t\tcatItemInProgress,\n\t\tdispatch,\n\t\tinstanceState: instanceInfo.state,\n\t\turl: instanceInfo.url,\n\t\treleaseInfo,\n\t\tuserInfo,\n\t\tsystemProperties,\n\t\tinstanceInfo,\n\t\tremainingInactivityDays: instanceInfo.remainingInactivityDays,\n\t\tinstanceMenuItems,\n\t\tisUnderMaintenance: instanceInfo.isUnderMaintenance,\n\t\tisInstanceRefreshing,\n\t\tisBlockedUser: isBlockedUser,\n\t\tlastRequestedRelease: lastRequestedRelease\n\t};\n\n\treturn (\n\t\t<div className=\"dps-navigation-instance-management\">\n\t\t\t<h3 className=\"dps-navigation-instance-management-header\">\n\t\t\t\t<img src={Icons.instance} />\n\t\t\t\t<span>My Instance</span>\n\t\t\t</h3>\n\t\t\t<InstanceManagementViewSelector {...props} />\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-navigation-instance-management', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DPSNavigationInstanceManagement\n\t},\n\tproperties: {\n\t\tcatItemInProgress: {\n\t\t\tdefault: null\n\t\t},\n\t\tnextMaintenance: {\n\t\t\tdefault: ''\n\t\t},\n\t\trecentActivity: {\n\t\t\tdefault: []\n\t\t},\n\t\treleaseInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tinstanceInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tinstanceMenuItems: {\n\t\t\tdefault: []\n\t\t},\n\t\tlatestDocLink: {\n\t\t\tdefault: ''\n\t\t},\n\t\tupgradeVersion: {\n\t\t\tdefault: ''\n\t\t},\n\t\tsystemProperties: {\n\t\t\tdefault: {}\n\t\t},\n\t\tisInstanceRefreshing: {\n\t\t\tdefault: false\n\t\t},\n\t\tuserInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tisBlockedUser: {\n\t\t\tdefault: false\n\t\t},\n\t\tlastRequestedRelease: {\n\t\t\tdefault: ''\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport properties from './dps-navigation-header-properties';\nimport { APP_ACTIONS } from '../../connected-components/dps-app/actions';\nimport { generateInitials } from '../../utils/helpers';\nimport { SessionService } from '../../utils/sessionService';\nimport '../dps-button';\nimport '../dps-link';\nimport './dps-navigation-header-dropdown-content';\nimport './dps-navigation-section';\nimport './dps-navigation-instance-management';\nimport { account } from '../../icons';\nimport { CONSTANTS } from '../../constants';\n\nimport styles from './dps-navigation-login-management.scss';\n\nconst DPSNavigationLoginManagement = (state, { dispatch }) => {\n\tconst {\n\t\tproperties: {\n\t\t\tcatItemInProgress,\n\t\t\tinstanceInfo,\n\t\t\tinstanceMenuItems,\n\t\t\treleaseInfo,\n\t\t\tsystemProperties,\n\t\t\tuserInfo,\n\t\t\tisInstanceRefreshing,\n\t\t\tanimationType,\n\t\t\tanimationRequest,\n\t\t\tisBlockedUser,\n\t\t\tlastRequestedRelease\n\t\t}\n\t} = state;\n\tconst isLoggedIn = userInfo && userInfo.is_logged_in;\n\tconst profileLink = '#!/profile';\n\n\treturn (\n\t\t<dps-navigation-header-dropdown-content\n\t\t\tclassName=\"-login\"\n\t\t>\n\t\t\t<dps-navigation-section style={{ gridColumn: '1 / 4' }} columns={1}>\n\t\t\t\t<dps-navigation-instance-management\n\t\t\t\t\tcatItemInProgress={catItemInProgress}\n\t\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\t\tinstanceMenuItems={instanceMenuItems}\n\t\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\t\tuserInfo={userInfo}\n\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\tisInstanceRefreshing = {isInstanceRefreshing}\n\t\t\t\t\tisBlockedUser={isBlockedUser}\n\t\t\t\t\tlastRequestedRelease={lastRequestedRelease}\n\t\t\t\t/>\n\t\t\t</dps-navigation-section>\n\t\t\t<dps-navigation-section style={{ gridColumn: '4 / 6' }} columns={1}>\n\t\t\t\t{isLoggedIn ? (\n\t\t\t\t\t<div className=\"dps-navigation-login-management\">\n\t\t\t\t\t\t<h3 className=\"dps-navigation-login-management-header\">\n\t\t\t\t\t\t\t<img src={account} />\n\t\t\t\t\t\t\t<span>My Account</span>\n\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t<div className=\"dps-navigation-login-management-content\">\n\t\t\t\t\t\t\t<div className=\"dps-navigation-login-management-avatar\">\n\t\t\t\t\t\t\t\t<span>{generateInitials(userInfo.display_name)}</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"dps-navigation-login-management-content-user\">\n\t\t\t\t\t\t\t\t<p className=\"dps-navigation-login-management-content-user-name\">{userInfo.display_name}</p>\n\t\t\t\t\t\t\t\t<p className=\"dps-navigation-login-management-content-user-email\">{userInfo.email}</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"dps-navigation-login-management-button-container\">\n\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\tclassName=\"dps-navigation-login-management-button-container-reset-link\"\n\t\t\t\t\t\t\t\thref={profileLink}\n\t\t\t\t\t\t\t\ticon=\"arrow-right-fill\"\n\t\t\t\t\t\t\t\ton-click={()=>{\n\t\t\t\t\t\t\t\t\tdispatch('DPS_NAVIGATION#CLOSE');\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tbutton-style bare>View Profile</dps-link>\n\t\t\t\t\t\t\t\t<br></br>\n\t\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\t\tbutton-style bare\n\t\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\t\tSessionService.logout();\n\t\t\t\t\t\t\t\t\t//Tracking the click for signout\n\t\t\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\t\t\taction: \"click nav account\",\n\t\t\t\t\t\t\t\t\t\tcategory: \"primary navigation\",\n\t\t\t\t\t\t\t\t\t\tlabel: \"sign out\",\n\t\t\t\t\t\t\t\t\t\tvalue: \"\",\n\t\t\t\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>Sign Out</dps-button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t</dps-navigation-section>\n\t\t</dps-navigation-header-dropdown-content>\n\t);\n};\n\nexport default createCustomElement('dps-navigation-login-management', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DPSNavigationLoginManagement\n\t},\n\tproperties,\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { APP_ACTIONS } from '../../connected-components/dps-app/actions';\nimport { transformReleaseName } from '../../utils/transformReleaseName';\nimport '@servicenow/now-icon';\nimport './dps-navigation-header-dropdown-content';\nimport './dps-navigation-section';\nimport '../dps-link';\nimport '../dps-alert';\n\nimport styles from './dps-navigation-version-selector.scss';\n\nconst handleOnReleaseCardClick = (e, { dispatch }, state) => {\n\tconst {\n\t\ttarget: {\n\t\t\tdataset: { release }\n\t\t}\n\t} = e;\n\tconst {releaseInfo} = state.properties;\n\n\tif(release === releaseInfo.latestRelease){\n\t\t//Tracking the click for latest release selection\n\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\taction: 'click nav release',\n\t\t\tcategory: 'primary navigation',\n\t\t\tlabel: `check out latest - ${release}`,\n\t\t\tga: true,\n\t\t\tadobe: false\n\t\t});\n\t} else {\n\t\t//Tracking the click for release selection\n\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\taction: 'click nav release',\n\t\t\tcategory: 'primary navigation',\n\t\t\tlabel: release,\n\t\t\tvalue: '',\n\t\t\tga: true,\n\t\t\tadobe: false\n\t\t});\n\t}\n\n\tdispatch(APP_ACTIONS.RELEASE_VERSION_SELECTED, release);\n};\n\nconst _renderWarning = (hasPreferredVersionMismatch, userInfo, release) => {\n\tconst { version_selected, user_instance_release } = userInfo;\n\tconst transformedVersionSelected = version_selected ? transformReleaseName(version_selected) : '';\n\tconst transformedPDIRelease = user_instance_release ? transformReleaseName(user_instance_release) : '';\n\tconst transformedRouteRelease = release ? transformReleaseName(release) : '';\n\n\tlet errorTitle = `Your default site release is set to ${transformedVersionSelected}.`;\n\tlet errorBody = `This is different from your PDI release, which is ${transformedPDIRelease}. Please note that ${transformedVersionSelected} content may not apply to your PDI.`;\n\n\tif (hasPreferredVersionMismatch) {\n\t\terrorTitle = `You're currently viewing content for ${transformedRouteRelease}.`;\n\t\terrorBody = `Your default site release is still set to ${transformedVersionSelected}.`;\n\t}\n\n\treturn (\n\t\t<dps-alert\n\t\t\ticon='circle-exclamation-outline'\n\t\t\theader={errorTitle}\n\t\t\tbody={errorBody}\n\t\t\tvariant=\"warn\"\n\t\t/>\n\t);\n};\n\nconst view = (state, {dispatch}) => {\n\tconst {\n\t\tproperties: {\n\t\t\tcomputedRelease,\n\t\t\treleaseInfo,\n\t\t\tuserInfo,\n\t\t\thasPreferredVersionMismatch,\n\t\t\thasInstanceVersionMismatch,\n\t\t\trelease,\n\t\t\tanimationRequest,\n\t\t\tanimationType\n\t\t},\n\t\tversionsArr\n\t} = state;\n\n\tconst selectedVersion = userInfo.version_selected;\n\tconst { releaseImages } = releaseInfo;\n\tconst latest_release = releaseInfo ? releaseInfo.latestRelease : null;\n\tlet textGridColumn = '1of3';\n\tlet versionsGridColumn = '3of6';\n\tconst isStacked = versionsArr.length > 3;\n\n\tconst latestReleaseNotes = releaseInfo && releaseInfo.latestRelease && releaseInfo.releaseNotes[releaseInfo.latestRelease];\n\n\tif (isStacked) {\n\t\ttextGridColumn = '1of6';\n\t\tversionsGridColumn = '1of6';\n\t} else if (versionsArr.length > 3) {\n\t\ttextGridColumn = '1of2';\n\t\tversionsGridColumn = '2of6';\n\t}\n\n\treturn (\n\t\t<dps-navigation-header-dropdown-content>\n\t\t\t<dps-navigation-section\n\t\t\t\tcolumns={1}\n\t\t\t\tvariant=\"content\"\n\t\t\t\tclass={{\n\t\t\t\t\t[`-col-${textGridColumn}`]: textGridColumn\n\t\t\t\t}}>\n\t\t\t\t{\n\t\t\t\t\thasInstanceVersionMismatch || hasPreferredVersionMismatch\n\t\t\t\t\t\t? _renderWarning(hasPreferredVersionMismatch, userInfo, release)\n\t\t\t\t\t\t: null\n\t\t\t\t}\n\t\t\t\t<div className=\"dps-navigation-site-version\">\n\t\t\t\t\t<h2 className=\"dps-navigation-site-version-header\">\n\t\t\t\t\t\t<now-icon icon=\"document-outline\" size=\"lg\" />\n\t\t\t\t\t\t<span>Site Release Selector</span>\n\t\t\t\t\t</h2>\n\t\t\t\t\t<p className=\"dps-navigation-site-version-body\">By default, the site displays content that matches your instance release (if available) or the latest publicly available release.<br/>However, the site may show content for a release different from the one selected here. To reset the site release selector, please select the release you want to view.</p>\n\t\t\t\t</div>\n\t\t\t</dps-navigation-section>\n\t\t\t<dps-navigation-section\n\t\t\t\tcolumns={1}\n\t\t\t\tvariant=\"content\"\n\t\t\t\tclass={{\n\t\t\t\t\t[`-col-${versionsGridColumn}`]: versionsGridColumn\n\t\t\t\t}}>\n\t\t\t\t<div class={{\n\t\t\t\t\t['dps-navigation-version-selector']: true,\n\t\t\t\t\t['-stacked']: isStacked\n\t\t\t\t}}>\n\t\t\t\t\t{versionsArr.slice(0, 5).map(version => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'dps-navigation-version-selector-card': true,\n\t\t\t\t\t\t\t\t[`-${version.value}`]: version.value,\n\t\t\t\t\t\t\t\t'is-selected': selectedVersion === version.value,\n\t\t\t\t\t\t\t\t'is-highlighted': computedRelease === version.value\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t{ userInfo.user_instance_release.toLowerCase() === version.value ? (\n\t\t\t\t\t\t\t\t<div className=\"dps-navigation-version-selector-card-current\">Your Instance Release</div>\n\t\t\t\t\t\t\t): null}\n\t\t\t\t\t\t\t<div className=\"dps-navigation-version-selector-card-img\" style={{ backgroundImage: `url(${releaseImages[version.value]})`}}/>\n\t\t\t\t\t\t\t<span className=\"dps-navigation-version-selector-card-label-container\" data-release={version.value}>\n\t\t\t\t\t\t\t\t<span className=\"dps-navigation-version-selector-card-label\">{version.label}</span>\n\t\t\t\t\t\t\t\t{ version.value === latest_release ? (\n\t\t\t\t\t\t\t\t\t<span className=\"dps-navigation-version-selector-card-latest\">Latest Release</span>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<div className=\"dps-navigation-version-selector-card-radio\">\n\t\t\t\t\t\t\t\t<now-icon icon=\"check-fill\" size=\"md\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tclassName=\"dps-navigation-version-selector-card-button\"\n\t\t\t\t\t\t\t\tdata-release={version.value}\n\t\t\t\t\t\t\t\ton-click={e => handleOnReleaseCardClick(e, { dispatch }, state)} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)).reverse()}\n\t\t\t\t</div>\n\t\t\t\t{latestReleaseNotes ?\n\t\t\t\t\t<dps-link href={latestReleaseNotes} externalAction target=\"_blank\">\n\t\t\t\t\t\tCheck out what’s new in our latest release, {releaseInfo  && releaseInfo.activeVersionsFormatted ? releaseInfo.activeVersionsFormatted[latest_release]:null}\n\t\t\t\t\t</dps-link>:\n\t\t\t\t\tnull}\n\t\t\t</dps-navigation-section>\n\t\t</dps-navigation-header-dropdown-content>\n\t);\n};\n\nexport default createCustomElement('dps-navigation-version-selector', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tproperties: {\n\t\tcomputedRelease: {\n\t\t\tdefault: ''\n\t\t},\n\t\tversions: {\n\t\t\tdefault: {}\n\t\t},\n\t\tdefaultVersionSelected: {\n\t\t\tdefault: ''\n\t\t},\n\t\tuserVersionSelected: {\n\t\t\tdefault: ''\n\t\t},\n\t\tuserInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\trelease: {\n\t\t\tdefault: ''\n\t\t},\n\t\treleaseInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\thasPreferredVersionMismatch: {\n\t\t\tdefault: false\n\t\t},\n\t\thasInstanceVersionMismatch: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tstyles,\n\t/**\n\t * Using transformState to null guard for blank versions\n\t * @param {Object} state\n\t */\n\ttransformState(state) {\n\t\tconst { versions } = state.properties;\n\t\tlet versionsArr = [];\n\t\tif (versions) {\n\t\t\tversionsArr = Object.keys(versions).map(k => ({\n\t\t\t\tlabel: versions[k],\n\t\t\t\tvalue: k\n\t\t\t}));\n\t\t}\n\t\treturn {\n\t\t\t...state,\n\t\t\tversionsArr\n\t\t};\n\t},\n\tview\n});\n","// Extracts inner svg to use in renderSVG()\nexport const instanceIcon = '<path d=\"M17.2727273,10.9090909 C18.7789584,10.9090909 20,12.1301325 20,13.6363636 L20,17.2727273 C20,18.7789584 18.7789584,20 17.2727273,20 L2.72727273,20 C1.22104159,20 0,18.7789584 0,17.2727273 L0,13.6363636 C0,12.1301325 1.22104159,10.9090909 2.72727273,10.9090909 L17.2727273,10.9090909 Z M17.2727273,12.7272727 L2.72727273,12.7272727 C2.22519568,12.7272727 1.81818182,13.1342866 1.81818182,13.6363636 L1.81818182,17.2727273 C1.81818182,17.7748043 2.22519568,18.1818182 2.72727273,18.1818182 L17.2727273,18.1818182 C17.7748043,18.1818182 18.1818182,17.7748043 18.1818182,17.2727273 L18.1818182,13.6363636 C18.1818182,13.1342866 17.7748043,12.7272727 17.2727273,12.7272727 Z M4.54545455,14.5454545 C4.58237198,14.5454545 4.61877544,14.5476551 4.65454092,14.5519322 L4.69461986,14.5577047 L4.69461986,14.5577047 C4.72013469,14.5618595 4.74479369,14.5670218 4.76906395,14.5731602 C4.77694718,14.5752232 4.78568573,14.5775613 4.79439464,14.5800318 C4.8238972,14.5883672 4.85210397,14.5979552 4.87965124,14.6088501 C4.88638747,14.6115209 4.8931023,14.6142642 4.89979016,14.6170912 C4.92624985,14.6283074 4.95204504,14.6407223 4.97713042,14.6542823 C4.98827662,14.6602222 4.99961367,14.6666568 5.01083744,14.6733544 C5.03214103,14.6861791 5.0525017,14.699491 5.07227463,14.7135746 L5.10455168,14.7375889 L5.10455168,14.7375889 L5.18827889,14.8117211 C5.22489421,14.8483364 5.25773319,14.887298 5.28679584,14.928122 C5.30050897,14.9474983 5.31382091,14.967859 5.32631721,14.9887634 C5.33334324,15.0003863 5.33977781,15.0117234 5.34594934,15.0231648 C5.35927768,15.047955 5.37169262,15.0737502 5.38289245,15.1001851 C5.38573583,15.1068977 5.38847915,15.1136125 5.39113879,15.1203527 C5.40204482,15.147896 5.41163275,15.1761028 5.41983719,15.2048926 C5.42243871,15.2143143 5.42477684,15.2230528 5.42698259,15.2318178 C5.43306069,15.2555323 5.43827904,15.2805278 5.44244884,15.3058765 C5.45857385,15.4044462 5.45857385,15.5046447 5.44246027,15.6027102 C5.43827904,15.6285631 5.43306069,15.6535586 5.42683981,15.6781549 C5.42477684,15.6860381 5.42243871,15.6947766 5.41996819,15.7034856 C5.41163275,15.7329881 5.40204482,15.7611949 5.39114986,15.7887421 C5.38847915,15.7954784 5.38573583,15.8021932 5.38290884,15.8088811 C5.37169262,15.8353408 5.35927768,15.8611359 5.34571767,15.8862213 C5.33977781,15.8973675 5.33334324,15.9087046 5.32664563,15.9199284 C5.31382091,15.9412319 5.30050897,15.9615926 5.28642535,15.9813655 L5.26241115,16.0136426 L5.26241115,16.0136426 L5.18827889,16.0973698 C5.15166358,16.1339851 5.11270195,16.1668241 5.07187799,16.1958867 C5.0525017,16.2095999 5.03214103,16.2229118 5.01123657,16.2354081 C4.99865026,16.243009 4.98632954,16.2499714 4.97388664,16.2566236 C4.95408361,16.2671605 4.93364283,16.2771438 4.91279021,16.2863659 C4.8980448,16.2928956 4.88296163,16.2990717 4.86775518,16.3048256 C4.85177843,16.3109011 4.83591208,16.3164131 4.8198529,16.3214913 C4.79972667,16.3277808 4.77957738,16.333375 4.75929264,16.338263 C4.74486422,16.3418349 4.72960306,16.3451135 4.71420501,16.3480039 C4.69400413,16.3517089 4.67430919,16.3547311 4.65455124,16.3571058 L4.600431,16.3619948 L4.600431,16.3619948 L4.54545455,16.3636364 L4.43943534,16.3575202 C4.4165999,16.3547311 4.39690497,16.3517089 4.37730742,16.348039 C4.36130603,16.3451135 4.34604487,16.3418349 4.33093115,16.3381787 C4.31133171,16.333375 4.29118242,16.3277808 4.27120774,16.3214803 C4.25499701,16.3164131 4.23913066,16.3109011 4.2234709,16.3049689 L4.1779225,16.2862973 L4.1779225,16.2862973 C4.15726626,16.2771438 4.13682548,16.2671605 4.11683176,16.2564514 C4.10457956,16.2499714 4.09225883,16.243009 4.08007165,16.2357365 C4.05876806,16.2229118 4.03840739,16.2095999 4.01863446,16.1955163 L3.98635741,16.1715021 L3.98635741,16.1715021 L3.9026302,16.0973698 C3.86601489,16.0607545 3.8331759,16.0217929 3.80411325,15.9809689 C3.79040012,15.9615926 3.77708819,15.9412319 3.76459188,15.9203275 C3.75699095,15.9077412 3.75002858,15.8954204 3.74337635,15.8829776 C3.73283947,15.8631745 3.72285622,15.8427337 3.71363409,15.8218811 C3.70724802,15.807461 3.70119739,15.7927092 3.69555079,15.7778391 C3.68933879,15.7615591 3.68369726,15.7453521 3.67850867,15.7289438 C3.67221922,15.7088176 3.66662498,15.6886683 3.66173698,15.6683836 C3.65816506,15.6539551 3.65488649,15.638694 3.65199614,15.6232959 C3.63116451,15.5116369 3.63116451,15.397454 3.65196101,15.2863983 C3.65488649,15.2703969 3.65816506,15.2551358 3.6618213,15.2400221 C3.66662498,15.2204226 3.67221922,15.2002733 3.67851969,15.1802986 C3.68358686,15.1640879 3.68909893,15.1482216 3.69503112,15.1325618 C3.70092829,15.1170384 3.70710438,15.1019552 3.71370268,15.0870134 L3.7435486,15.0259227 L3.7435486,15.0259227 C3.75002858,15.0136705 3.75699095,15.0013497 3.76426347,14.9891626 C3.77708819,14.967859 3.79040012,14.9474983 3.80448374,14.9277254 L3.82849794,14.8954483 L3.82849794,14.8954483 L3.9026302,14.8117211 C3.93924551,14.7751058 3.97820714,14.7422668 4.0190311,14.7132042 C4.03840739,14.699491 4.05876806,14.6861791 4.07967252,14.6736828 C4.09129543,14.6666568 4.10263247,14.6602222 4.1140739,14.6540507 C4.13886405,14.6407223 4.16465925,14.6283074 4.19109421,14.6171076 C4.1978068,14.6142642 4.20452163,14.6115209 4.21126182,14.6088612 C4.23880512,14.5979552 4.26701189,14.5883672 4.29580171,14.5801628 C4.30522336,14.5775613 4.31396191,14.5752232 4.32272693,14.5730174 C4.34644137,14.5669393 4.37143686,14.561721 4.3967856,14.5575512 L4.43635785,14.5519851 L4.43635785,14.5519851 C4.47213365,14.5476551 4.50853712,14.5454545 4.54545455,14.5454545 Z M17.2727273,0 C18.7789584,0 20,1.22104159 20,2.72727273 L20,6.36363636 C20,7.8698675 18.7789584,9.09090909 17.2727273,9.09090909 L2.72727273,9.09090909 C1.22104159,9.09090909 0,7.8698675 0,6.36363636 L0,2.72727273 C0,1.22104159 1.22104159,0 2.72727273,0 L17.2727273,0 Z M17.2727273,1.81818182 L2.72727273,1.81818182 C2.22519568,1.81818182 1.81818182,2.22519568 1.81818182,2.72727273 L1.81818182,6.36363636 C1.81818182,6.86571341 2.22519568,7.27272727 2.72727273,7.27272727 L17.2727273,7.27272727 C17.7748043,7.27272727 18.1818182,6.86571341 18.1818182,6.36363636 L18.1818182,2.72727273 C18.1818182,2.22519568 17.7748043,1.81818182 17.2727273,1.81818182 Z M4.43943534,5.44842934 C4.42296914,5.44640573 4.40960937,5.4444992 4.39628924,5.44229529 C4.3707744,5.43814055 4.3461154,5.43297825 4.32184514,5.42683981 C4.31396191,5.42477684 4.30522336,5.42243871 4.29651445,5.41996819 C4.26701189,5.41163275 4.23880512,5.40204482 4.21125785,5.39114986 C4.20452163,5.38847915 4.1978068,5.38573583 4.19111893,5.38290884 C4.16465925,5.37169262 4.13886405,5.35927768 4.11377867,5.34571767 C4.10263247,5.33977781 4.09129543,5.33334324 4.08007165,5.32664563 C4.05876806,5.31382091 4.03840739,5.30050897 4.01863446,5.28642535 C4.00800073,5.2789433 3.99710632,5.27081507 3.98635741,5.26241115 C3.92754646,5.21641965 3.87448944,5.16336263 3.82852364,5.10449884 L3.9026302,5.18827889 C3.86601489,5.15166358 3.8331759,5.11270195 3.80411325,5.07187799 C3.79040012,5.0525017 3.77708819,5.03214103 3.76459188,5.01123657 C3.75699095,4.99865026 3.75002858,4.98632954 3.74337635,4.97388664 C3.73283947,4.95408361 3.72285622,4.93364283 3.71363409,4.91279021 C3.70724802,4.89837008 3.70119739,4.88361829 3.69555079,4.86874814 C3.68933879,4.85246818 3.68369726,4.83626119 3.67850867,4.8198529 C3.67221922,4.79972667 3.66662498,4.77957738 3.66173698,4.75929264 C3.65816506,4.74486422 3.65488649,4.72960306 3.65199614,4.71420501 C3.63116451,4.60254603 3.63116451,4.48836306 3.65196101,4.37730742 C3.65488649,4.36130603 3.65816506,4.34604487 3.6618213,4.33093115 C3.66662498,4.31133171 3.67221922,4.29118242 3.67851969,4.27120774 C3.68369726,4.2546479 3.68933879,4.23844091 3.6954186,4.2224499 C3.70119739,4.2072908 3.70724802,4.19253901 3.71370268,4.1779225 C3.72285622,4.15726626 3.73283947,4.13682548 3.7435486,4.11683176 C3.75002858,4.10457956 3.75699095,4.09225883 3.76426347,4.08007165 C3.77708819,4.05876806 3.79040012,4.03840739 3.80448374,4.01863446 C3.81196579,4.00800073 3.82009402,3.99710632 3.82849794,3.98635741 C3.87448944,3.92754646 3.92754646,3.87448944 3.98641025,3.82852364 L3.9026302,3.9026302 C3.93924551,3.86601489 3.97820714,3.8331759 4.0190311,3.80411325 C4.03840739,3.79040012 4.05876806,3.77708819 4.07967252,3.76459188 C4.09225883,3.75699095 4.10457956,3.75002858 4.11702245,3.74337635 C4.13682548,3.73283947 4.15726626,3.72285622 4.17811888,3.71363409 C4.19286429,3.70710438 4.20794746,3.70092829 4.22315391,3.6951744 C4.23913066,3.68909893 4.25499701,3.68358686 4.27105619,3.67850867 C4.29118242,3.67221922 4.31133171,3.66662498 4.33161645,3.66173698 C4.34604487,3.65816506 4.36130603,3.65488649 4.37670408,3.65199614 C4.39690497,3.64829113 4.4165999,3.64526887 4.43635785,3.64289421 C4.47213365,3.63856419 4.50853712,3.63636364 4.54545455,3.63636364 C4.58237198,3.63636364 4.61877544,3.63856419 4.65454092,3.64284127 C4.67430919,3.64526887 4.69400413,3.64829113 4.71360167,3.65196101 C4.72960306,3.65488649 4.74486422,3.65816506 4.75997794,3.6618213 C4.77957738,3.66662498 4.79972667,3.67221922 4.81970136,3.67851969 C4.83591208,3.68358686 4.85177843,3.68909893 4.86743819,3.69503112 C4.88296163,3.70092829 4.8980448,3.70710438 4.91298659,3.71370268 C4.93364283,3.72285622 4.95408361,3.73283947 4.97407733,3.7435486 C4.98632954,3.75002858 4.99865026,3.75699095 5.01083744,3.76426347 C5.03214103,3.77708819 5.0525017,3.79040012 5.07227463,3.80448374 C5.08290836,3.81196579 5.09380277,3.82009402 5.10455168,3.82849794 C5.16336263,3.87448944 5.21641965,3.92754646 5.26238545,3.98641025 L5.18827889,3.9026302 C5.22489421,3.93924551 5.25773319,3.97820714 5.28679584,4.0190311 C5.30050897,4.03840739 5.31382091,4.05876806 5.32631721,4.07967252 C5.33334324,4.09129543 5.33977781,4.10263247 5.34594934,4.1140739 C5.35927768,4.13886405 5.37169262,4.16465925 5.38289245,4.19109421 C5.38573583,4.1978068 5.38847915,4.20452163 5.39113879,4.21126182 C5.40204482,4.23880512 5.41163275,4.26701189 5.41983719,4.29580171 C5.42243871,4.30522336 5.42477684,4.31396191 5.42698259,4.32272693 C5.43306069,4.34644137 5.43827904,4.37143686 5.44244884,4.3967856 C5.45857385,4.49535533 5.45857385,4.59555376 5.44246027,4.69361926 C5.43827904,4.71947223 5.43306069,4.74446772 5.42683981,4.76906395 C5.42477684,4.77694718 5.42243871,4.78568573 5.41996819,4.79439464 C5.41163275,4.8238972 5.40204482,4.85210397 5.39114986,4.87965124 C5.38847915,4.88638747 5.38573583,4.8931023 5.38290884,4.89979016 C5.37169262,4.92624985 5.35927768,4.95204504 5.34571767,4.97713042 C5.33977781,4.98827662 5.33334324,4.99961367 5.32664563,5.01083744 C5.31382091,5.03214103 5.30050897,5.0525017 5.28642535,5.07227463 C5.2789433,5.08290836 5.27081507,5.09380277 5.26241115,5.10455168 C5.21641965,5.16336263 5.16336263,5.21641965 5.10449884,5.26238545 L5.18827889,5.18827889 C5.15166358,5.22489421 5.11270195,5.25773319 5.07187799,5.28679584 C5.0525017,5.30050897 5.03214103,5.31382091 5.01123657,5.32631721 C4.99961367,5.33334324 4.98827662,5.33977781 4.97683519,5.34594934 C4.95204504,5.35927768 4.92624985,5.37169262 4.89981488,5.38289245 C4.8931023,5.38573583 4.88638747,5.38847915 4.87964727,5.39113879 C4.85210397,5.40204482 4.8238972,5.41163275 4.79510738,5.41983719 C4.78568573,5.42243871 4.77694718,5.42477684 4.76818216,5.42698259 C4.74479369,5.43297825 4.72013469,5.43814055 4.69513115,5.4422825 C4.68129972,5.4444992 4.66793995,5.44640573 4.65455124,5.44801488 C4.61877544,5.4523449 4.58237198,5.45454545 4.54545455,5.45454545 L4.54545455,5.45454545 L4.43943534,5.44842934 L4.43943534,5.44842934 Z\" id=\"path-1\"></path>';","import { actionTypes } from '@servicenow/ui-core';\nconst {\n\tCOMPONENT_DOM_READY,\n\tCOMPONENT_RENDERED,\n\tCOMPONENT_PROPERTY_CHANGED\n} = actionTypes;\n\nconst moveIndicatorToActiveItem = ({ target, activeItemSelector, indicatorSelector, hide }) => {\n\tlet width = 0, left = 0;\n\n\tif (!target || !target.current) {\n\t\treturn;\n\t}\n\n\tconst activeItem = target.current.querySelector(activeItemSelector);\n\tconst slider = target.current.querySelector(indicatorSelector);\n\n\n\tif (activeItem) {\n\t\tconst hideCondition = hide && hide();\n\t\t// active items are removed based on hide condition,\n\t\t// ie mobile view port\n\t\tif (hideCondition) {\n\t\t\tslider.style.display = 'none';\n\t\t} else {\n\t\t\tslider.style.display = 'block';\n\t\t\twidth = activeItem.offsetWidth;\n\t\t\tleft = activeItem.offsetLeft;\n\t\t}\n\t} else if (slider) {\n\t\t// if there are no active items, hide the indicator\n\t\tslider.style.display = 'none';\n\t}\n\tif (slider) {\n\t\tslider.style.width = `${width}px`;\n\t\tslider.style.left = `${left}px`;\n\t}\n\n};\n\nexport default {\n\tname: 'moveActiveIndicator',\n\tactionHandlers: {\n\t\t/* eslint-disable object-shorthand */\n\t\t// MIGRATION: COMPONENT_DOM_READY\n\t\t[COMPONENT_DOM_READY]: ({ action: { payload }, updateState }) => {\n\t\t\tconst { options } = payload;\n\t\t\tconst { target, activeItemSelector, indicatorSelector, hide, property } = options;\n\n\t\t\tupdateState({\n\t\t\t\ttarget,\n\t\t\t\tactiveItemSelector,\n\t\t\t\tindicatorSelector,\n\t\t\t\thide,\n\t\t\t\tproperty\n\t\t\t});\n\t\t\tmoveIndicatorToActiveItem(options);\n\t\t},\n\t\t[COMPONENT_RENDERED]: ({ state }) => {\n\t\t\tconst { target, activeItemSelector, indicatorSelector, hide } = state;\n\n\t\t\tmoveIndicatorToActiveItem({ target, activeItemSelector, indicatorSelector, hide });\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({ action: { payload }, state }) => {\n\t\t\tconst { name } = payload;\n\t\t\tconst { target, activeItemSelector, indicatorSelector, hide, property } = state;\n\n\t\t\tif (name === property) {\n\t\t\t\tmoveIndicatorToActiveItem({ target, activeItemSelector, indicatorSelector, hide });\n\t\t\t}\n\t\t},\n\t\t['RESIZE_OBSERVER#TARGET_RESIZED']: ({ state }) => {\n\t\t\tconst { target, activeItemSelector, indicatorSelector, hide } = state;\n\n\t\t\tmoveIndicatorToActiveItem({ target, activeItemSelector, indicatorSelector, hide });\n\t\t}\n\t}\n};\n","import { actionTypes } from '@servicenow/ui-core';\nconst {\n\tCOMPONENT_DOM_READY,\n\tCOMPONENT_DISCONNECTED\n} = actionTypes;\n\nexport const RESIZE_OBSERVER_ACTIONS = {\n\tTARGET_RESIZED: 'RESIZE_OBSERVER#TARGET_RESIZED'\n};\n\nexport default {\n\tname: 'resizeObserver',\n\tactionHandlers: {\n\t\t/* eslint-disable object-shorthand */\n\t\t// MIGRATION: COMPONENT_DOM_READY\n\t\t[COMPONENT_DOM_READY]: ({ action: { payload }, updateState, dispatch }) => {\n\t\t\tconst { options, host } = payload;\n\t\t\tconst { selectors } = options;\n\n\t\t\t// Initialize observer. Whenever the element resizes,\n\t\t\t// the callback will fire.\n\t\t\tconst observer = new ResizeObserver(event => {\n\t\t\t\tdispatch(RESIZE_OBSERVER_ACTIONS.TARGET_RESIZED, { event });\n\t\t\t});\n\n\t\t\t// Initialize element to be observed.\n\t\t\tselectors.forEach(selector => {\n\t\t\t\tconst element = host.shadowRoot.querySelector(selector);\n\t\t\t\tif (element)\n\t\t\t\t\tobserver.observe(element);\n\t\t\t});\n\n\t\t\t// Add the observer to state. This will allow us to\n\t\t\t// cleanup when the component is disconnected.\n\t\t\tupdateState({\n\t\t\t\tresizeObserver: observer\n\t\t\t});\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: ({ state: { resizeObserver } }) => {\n\t\t\tresizeObserver.disconnect();\n\t\t}\n\t}\n};\n","/**\n * Adds slide animation between L2 content\n * @param {integar} prevItemIndex\n * @param {integar} nextItemIndex\n * @param {string} type - used to construct animation class name\n * @param {string} request- used to construct animation class name\n */\nexport const moveBetweenContent = ({ prevItemIndex, nextItemIndex, type = 'fade-in', request = 'outgoing' }) => {\n\tlet animationType = type;\n\tlet pendingItemIndex = nextItemIndex; \n\n\tif (isNaN(prevItemIndex) || isNaN(nextItemIndex)) {\n\t\tthrow new TypeError('arguments must be numeric');\n\t}\n\n\tif (typeof request !== 'string' || typeof type !== 'string') {\n\t\tthrow new TypeError('arguments must be string');\n\t}\n\n\tif (prevItemIndex < -1 || nextItemIndex < -1) {\n\t\tthrow new Error('arguments must be greater than -1');\n\t}\n\n\t// nextItemIndex can be 0, instead check null and -1\n\tif (nextItemIndex !== null && nextItemIndex !== -1) {\n\t\tpendingItemIndex = nextItemIndex;\n\n\t\t// Set animation type (ltr|rtl|default) based on indices\n\t\tif (prevItemIndex !== null && prevItemIndex !== -1) {\n\t\t\tconst step = nextItemIndex - prevItemIndex;\n\t\t\tif (step > 0) {\n\t\t\t\tanimationType = 'ltr';\n\t\t\t} else if (step < 0) {\n\t\t\t\tanimationType = 'rtl';\n\t\t\t}\n\t\t}\n\t} else {\n\t\tpendingItemIndex = null;\n\t}\n\n\treturn {\n\t\ttype: animationType,\n\t\trequest,\n\t\tpendingItemIndex\n\t};\n};","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport snabbdom, {\n\tFragment,\n\tcreateRef\n} from '@servicenow/ui-renderer-snabbdom';\nimport { showRequestInstance } from '../../utils/instanceHelpers';\nimport { getPathArray } from '../../utils/url';\nimport { ROUTES, updateRoute } from '../../routes';\nimport properties from './dps-navigation-header-properties';\nimport animationProps from './animation/properties';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-tooltip';\nimport 'sn-cx-navigation';\nimport 'sn-cx-shell-addon';\nimport '../dps-button';\nimport '../dps-login';\nimport '../dps-search';\nimport '../dps-shade';\nimport './dps-navigation-header-dropdown';\nimport './dps-navigation-header-dropdown-content';\nimport './dps-navigation-card';\nimport './dps-navigation-section';\nimport './dps-navigation-login-management';\nimport './dps-navigation-version-selector';\n\n//import ServiceNowLogo from '../../images/servicenow-logo.svg';\nimport ServiceNowLogo from '../../images/k25-servicenow-logo.png';\n\nimport styles from './dps-navigation-header.scss';\nimport {\n\tminimumNowExperienceVersion,\n\tgetFormattedInstanceReleaseInfo\n} from '../../utils/releaseHelpers';\nimport { instanceIcon } from '../../images/instanceSVG';\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\nimport moveActiveIndicator from '../../behaviors/moveActiveIndicator';\nimport resizeObserver from '../../behaviors/resizeObserver';\nimport { moveBetweenContent } from '../../utils/animations/moveBetweenContent';\nimport {\n\tCAT_ITEM_ACTIONS_IDS,\n\tCONSTANTS,\n\tSEARCH_CONFIG\n} from '../../../src/constants.js';\nimport { formatFrameworkLabel } from '../../utils/formatFrameworkLabel';\nimport { requestInstanceButtonClicked } from '../../connected-components/dps-app/actionHelpers';\nimport APP_ACTIONS from '../../connected-components/dps-app/actions.js';\nimport { isNowOrLocal } from '../../utils/isNowOrLocal';\nimport { DPS_NAVIGATION_INSTANCE_MANAGEMENT } from './actions';\nimport { SessionService } from '../../utils/sessionService';\nimport { isEmpty } from '../../utils/helpers';\n\nconst ACTIVE_CATEGORY = {\n\tMAIN_MENU: 'menu',\n\tLOGIN_MANAGEMENT: 'login',\n\tVERSION_SELECTOR: 'version',\n\tSEARCH: 'search',\n\tREQUEST_INSTANCE: 'request_instance'\n};\n\nconst DEFAULT_TAB_STATES = {\n\tshowMainMenu: false,\n\tshowLoginManagement: false,\n\tshowVersionSelector: false,\n\tshowSearchBar: false\n};\n\nconst NAV_CTA_ID = {\n\tREQUEST_INSTANCE: 'developer-request-instance-cta',\n\tLEAVE_WAITLIST: 'developer-leave-waitlist-cta',\n\tSTART_BUILDING: 'developer-start-building-cta',\n\tPROGRESS_INSTANCE: 'developer-progress-instance-cta',\n\tMANAGE_INSTANCE: 'developer-manage-instance-cta'\n};\n\nlet lastColumn = 1;\nconst navRef = createRef(); // for animation\nconst navUnifiedRef = createRef(); // for animation\nconst searchModalRef = createRef(); // for animation\n\nconst checkReleaseMismatch = properties => {\n\tconst { release, userInfo } = properties;\n\n\tconst hasPreferredVersionMismatch =\n\t\tuserInfo.is_logged_in && release\n\t\t\t? userInfo.version_selected !== release\n\t\t\t: false;\n\tconst hasInstanceVersionMismatch =\n\t\tuserInfo.is_logged_in && release\n\t\t\t? userInfo.user_instance_release !== '' &&\n\t\t\tuserInfo.user_instance_release.toLowerCase() !== release\n\t\t\t: false;\n\n\treturn {\n\t\thasPreferredVersionMismatch,\n\t\thasInstanceVersionMismatch\n\t};\n};\n\nconst getEventData = (\n\tevent,\n\teventType,\n\taaDigitalData,\n\tadobeQualtricsUserData\n) => {\n\tlet eventData = {};\n\tif (!isEmpty(aaDigitalData)) {\n\t\t// Structure the event data for the page load event\n\t\teventData = {\n\t\t\tname: eventType,\n\t\t\tdigitalData: {\n\t\t\t\t...aaDigitalData\n\t\t\t},\n\t\t\tevent\n\t\t};\n\t\t// Add user information only if it is a page_load event\n\t\tif (eventType == 'page_load') {\n\t\t\tconst { companyName, email, oktaId } = adobeQualtricsUserData;\n\t\t\teventData.digitalData.user_information = {\n\t\t\t\tcompany: companyName,\n\t\t\t\toktaId: oktaId,\n\t\t\t\temail: email,\n\t\t\t\t...aaDigitalData.user_information\n\t\t\t};\n\t\t}\n\t}\n\n\treturn eventData;\n};\nconst findMenuByLabel = (menuLabel, items, navLevelIndex, parent) => {\n\tfor (const item of items) {\n\t\tif (item?.label?.trim().toLowerCase() === menuLabel) {\n\t\t\tlet accumulatedCTAText = menuLabel;\n\t\t\tif (navLevelIndex == 2) {\n\t\t\t\taccumulatedCTAText = `${parent.label\n\t\t\t\t\t.trim()\n\t\t\t\t\t.toLowerCase()}:l${navLevelIndex}:${accumulatedCTAText}`;\n\t\t\t} else if (navLevelIndex == 3) {\n\t\t\t\taccumulatedCTAText = `${parent.parent.label\n\t\t\t\t\t.trim()\n\t\t\t\t\t.toLowerCase()}:l${navLevelIndex -\n\t\t\t\t\t1}:${parent.label\n\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t.toLowerCase()}:l${navLevelIndex}:${accumulatedCTAText}`;\n\t\t\t}\n\t\t\treturn { ctaText: accumulatedCTAText, level: navLevelIndex };\n\t\t}\n\t\tif (item?.items?.length > 0) {\n\t\t\tif (parent) {\n\t\t\t\titem.parent = parent;\n\t\t\t}\n\t\t\tconst result = findMenuByLabel(\n\t\t\t\tmenuLabel,\n\t\t\t\titem.items,\n\t\t\t\tnavLevelIndex + 1,\n\t\t\t\titem\n\t\t\t);\n\t\t\tif (result) return result;\n\t\t}\n\t}\n\treturn null;\n};\n\nconst _renderNavElem = (navConfig, properties, currentRoute, dispatch) => {\n\tconst { activeCategory, navOpen } = properties;\n\n\tconst { title, children = [], link, isLinkOpenNewWindow } = navConfig;\n\n\tconst isCurrent = activeCategory === title;\n\tconst isNavOpen = !isCurrent || !navOpen;\n\tconst isActive =\n\t\t!navOpen && !isCurrent ? currentRoute === title.toLowerCase() : false;\n\n\tconst navElem =\n\t\tchildren.length <= 0 ? (\n\t\t\t<button\n\t\t\t\tclassName=\"dps-navigation-header-btn\"\n\t\t\t\ton-click={() => {\n\t\t\t\t\tif (isLinkOpenNewWindow) {\n\t\t\t\t\t\twindow.open(link);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tupdateRoute(link);\n\t\t\t\t\t\tdispatch('DPS_NAVIGATION#CLOSE', {\n\t\t\t\t\t\t\tactiveCategory: title,\n\t\t\t\t\t\t\tactiveNavSubMenu: navConfig.children\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<span>{title}</span>\n\t\t\t</button>\n\t\t) : (\n\t\t\t<button\n\t\t\t\tclass={{\n\t\t\t\t\t'dps-navigation-header-btn': true,\n\t\t\t\t\t'is-active': isCurrent\n\t\t\t\t}}\n\t\t\t\ton-click={() => {\n\t\t\t\t\t!isNavOpen\n\t\t\t\t\t\t? dispatch('DPS_NAVIGATION#CLOSE', {\n\t\t\t\t\t\t\tcategory: '',\n\t\t\t\t\t\t\tactiveNavSubMenu: navConfig.children\n\t\t\t\t\t\t})\n\t\t\t\t\t\t: dispatch('DPS_NAVIGATION#OPEN', {\n\t\t\t\t\t\t\tcategory: title,\n\t\t\t\t\t\t\tactiveNavSubMenu: navConfig.children\n\t\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<span>{title}</span>\n\t\t\t\t<now-icon\n\t\t\t\t\ticon={isCurrent ? 'chevron-up-fill' : 'chevron-down-fill'}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t/>\n\t\t\t</button>\n\t\t);\n\n\treturn (\n\t\t<li\n\t\t\tkey={title}\n\t\t\tclass={{\n\t\t\t\t'dps-navigation-header-list-item': true,\n\t\t\t\t['is-active']: isCurrent || isActive\n\t\t\t}}\n\t\t>\n\t\t\t{navElem}\n\t\t</li>\n\t);\n};\n\nconst _renderUtilityNavButton = (\n\t{ name, hasWarning, icon, tooltip, tooltipRefName, buttonConfig = {} },\n\tstate,\n\tdispatch,\n\tupdateState\n) => {\n\tconst { navOpen, activeCategory } = state.properties;\n\n\tconst { label } = buttonConfig;\n\n\tconst onClick =\n\t\tbuttonConfig['on-click'] ||\n\t\tfunction () {\n\t\t\tdispatch('DPS_NAVIGATION#CLOSE');\n\t\t};\n\n\tconst versionIsCurrent = activeCategory === 'version' && navOpen;\n\n\tconst setTargetRef = ref =>\n\t\tsetTimeout(() => updateState({ [tooltipRefName]: ref }));\n\n\treturn (\n\t\t<button\n\t\t\tclass={{\n\t\t\t\t'dps-navigation-header-btn': true,\n\t\t\t\t'-sm': true,\n\t\t\t\t'only-icon': name === 'search',\n\t\t\t\t'-feedback': name === 'feedback',\n\t\t\t\t'is-open': navOpen && activeCategory === name\n\t\t\t}}\n\t\t\ton-click={onClick}\n\t\t>\n\t\t\t{navOpen &&\n\t\t\t\tactiveCategory === 'search' &&\n\t\t\t\ticon === 'magnifying-glass-fill' ? (\n\t\t\t\t<now-icon icon=\"close-outline\" size=\"lg\" />\n\t\t\t) : icon ? (\n\t\t\t\tname === 'search' ? (\n\t\t\t\t\t<img\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t['-warning']: hasWarning\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tsrc=\"solr-search-icon.png\"\n\t\t\t\t\t\theight=\"20\"\n\t\t\t\t\t\twidth=\"20\"\n\t\t\t\t\t\thook-insert={({ elm }) => setTargetRef(elm)}\n\t\t\t\t\t\thook-destroy={() => setTargetRef(null)}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t['-warning']: hasWarning\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ticon={icon}\n\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\thook-insert={({ elm }) => setTargetRef(elm)}\n\t\t\t\t\t\thook-destroy={() => setTargetRef(null)}\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\t) : null}\n\t\t\t{label ? <span>{label}</span> : null}\n\t\t\t{name === 'version' ? (\n\t\t\t\t<now-icon\n\t\t\t\t\ticon={versionIsCurrent ? 'chevron-up-fill' : 'chevron-down-fill'}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t<now-tooltip\n\t\t\t\tid=\"nav-tooltip\"\n\t\t\t\ttarget-ref={state[tooltipRefName]}\n\t\t\t\tcontent={tooltip || ''}\n\t\t\t\tdelay={CONSTANTS.DEFAULTS.DELAY_TOOLTIP_MS}\n\t\t\t/>\n\t\t</button>\n\t);\n};\n\nconst _renderDropdownContent = (\n\tsection,\n\trelease,\n\tuserInfo,\n\tsystemProperties\n) => {\n\tconst { children = [], params = '' } = section;\n\n\tconst { columns } = params && params.length ? JSON.parse(params) : {};\n\tconst firstColumn = lastColumn;\n\tlastColumn = lastColumn + columns;\n\tconst { isBlockedUser } = userInfo;\n\treturn (\n\t\t<dps-navigation-section\n\t\t\tsection-title={section.category}\n\t\t\tcolumns={columns}\n\t\t\tvariant={section.variant}\n\t\t\tclass={{\n\t\t\t\t[`-col-${firstColumn}of${lastColumn}`]: columns\n\t\t\t}}\n\t\t\tisBlockedUser={isBlockedUser}\n\t\t>\n\t\t\t{children.map(childContent => {\n\t\t\t\tconst { link, title } = childContent;\n\t\t\t\tconst linkRelease = /next-experience/.test(link)\n\t\t\t\t\t? minimumNowExperienceVersion(release, systemProperties)\n\t\t\t\t\t: release;\n\n\t\t\t\tconst childLink = {\n\t\t\t\t\t...childContent,\n\t\t\t\t\ttitle: formatFrameworkLabel(title, userInfo),\n\t\t\t\t\tlink: link.includes('{release}')\n\t\t\t\t\t\t? link.replace(/{release}/g, linkRelease)\n\t\t\t\t\t\t: link\n\t\t\t\t};\n\n\t\t\t\treturn (\n\t\t\t\t\t<dps-navigation-card\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t[`-${section['component-name']}`]: section['component-name']\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvariant={section.variant}\n\t\t\t\t\t\tcontent={childLink}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t})}\n\t\t</dps-navigation-section>\n\t);\n};\n\nconst DPSNavigationHeader = (\n\tstate,\n\t{ dispatch, updateProperties, updateState }\n) => {\n\tconst {\n\t\tinfo,\n\t\tproperties: {\n\t\t\tactiveNavSubMenu,\n\t\t\tcatItemInProgress,\n\t\t\tcomputedRelease,\n\t\t\tinstanceMenuItems,\n\t\t\tnavigationConfig,\n\t\t\tnavOpen,\n\t\t\tshowLoginManagement,\n\t\t\tshowMainMenu,\n\t\t\tshowVersionSelector,\n\t\t\tshowSearchBar,\n\t\t\tuserInfo,\n\t\t\tinstanceInfo,\n\t\t\tisInstanceRefreshing,\n\t\t\tsystemProperties,\n\t\t\treleaseInfo,\n\t\t\trelease,\n\t\t\troute,\n\t\t\tanimationType,\n\t\t\tanimationRequest,\n\t\t\thasPreferredVersionMismatch,\n\t\t\thasInstanceVersionMismatch,\n\t\t\tisBlockedUser,\n\t\t\tlastRequestedRelease,\n\t\t\tonexMenu,\n\t\t\treleaseSwitched,\n\t\t\tbannersOpenedCount,\n\t\t\tisAutoAssignRunInBackground,\n\t\t\tisBuildAgentExperience,\n\t\t\tisInstanceAssignmentModalOpened,\n\t\t\tinstanceAssignmentModalScreenType,\n\t\t}\n\t} = state;\n\tlastColumn = 1;\n\tconst currentRoute = getPathArray(route)[0];\n\tconst isAutoAssignFlowActive =\n\t\t(isInstanceAssignmentModalOpened &&\n\t\t\tinstanceAssignmentModalScreenType === 'autoAssignBA') ||\n\t\tisAutoAssignRunInBackground;\n\tconst canRequestInstance = instanceInfo && showRequestInstance(instanceInfo);\n\tconst isInstanceRequestInProgress =\n\t\tinstanceInfo && instanceInfo.isRequestingInstance();\n\tconst hasInstance = !canRequestInstance && !isInstanceRequestInProgress;\n\tconst instanceRelease = getFormattedInstanceReleaseInfo(instanceInfo);\n\tconst latestRelease =\n\t\tsystemProperties && systemProperties['dev.latest_release.ui'];\n\tconst isSolrLatestEnabled =\n\t\tsystemProperties &&\n\t\tsystemProperties['dev.search.enable_solr_latest'] == 'true';\n\n\tconst subMenuLoginManagement = showLoginManagement ? (\n\t\t<dps-navigation-login-management\n\t\t\tcatItemInProgress={catItemInProgress}\n\t\t\tuserInfo={userInfo}\n\t\t\tinstanceInfo={instanceInfo}\n\t\t\tsystemProperties={systemProperties}\n\t\t\tinstanceMenuItems={instanceMenuItems}\n\t\t\treleaseInfo={releaseInfo}\n\t\t\tisInstanceRefreshing={isInstanceRefreshing}\n\t\t\tisBlockedUser={isBlockedUser}\n\t\t\tlastRequestedRelease={lastRequestedRelease}\n\t\t\t{...info.instance}\n\t\t/>\n\t) : null;\n\n\tconst subMenuVersionSelector = showVersionSelector ? (\n\t\t<dps-navigation-version-selector\n\t\t\tcomputedRelease={computedRelease}\n\t\t\trelease={release}\n\t\t\treleaseInfo={info.release}\n\t\t\tuserInfo={userInfo}\n\t\t\tversions={info.release ? info.release.activeVersionsFormatted : {}}\n\t\t\tdefaultVersionSelected={info.release.defaultVersionSelected}\n\t\t\thasPreferredVersionMismatch={hasPreferredVersionMismatch}\n\t\t\thasInstanceVersionMismatch={hasInstanceVersionMismatch}\n\t\t/>\n\t) : null;\n\n\t// new nav changes\n\tconst navHeaderInfo = {\n\t\tuserDisplay: {\n\t\t\tuserDisplayName: userInfo.display_name,\n\t\t\temail: userInfo.email,\n\t\t\tuserInitials: userInfo.title,\n\t\t\t...userInfo\n\t\t},\n\t\tloggedIn: userInfo.is_logged_in,\n\t\tisAuthenticated: userInfo.is_logged_in,\n\t\trelease: computedRelease,\n\t\tcomputedRelease: () => '/' + computedRelease + '/',\n\t\tisInstanceRefreshing\n\t};\n\n\tconst newNavEnabled =\n\t\tsystemProperties && systemProperties['dev.unifield.nav.enabled'] == 'true';\n\tconst start_building_disabled =\n\t\tinstanceInfo?.instanceStatus?.additional_info?.start_building_disabled ||\n\t\t(catItemInProgress && catItemInProgress.name == 'Reset instance password') ||\n\t\t(catItemInProgress && catItemInProgress.name == 'Install Build Agent');\n\tconst start_building_subtext =\n\t\t(catItemInProgress && catItemInProgress.name == 'Install Build Agent')\n\t\t\t? catItemInProgress.statusText\n\t\t\t: instanceInfo?.instanceStatus?.additional_info?.start_building_subtext;\n\tconst dashboard_show_spinner =\n\t\tinstanceInfo?.instanceStatus?.additional_info?.dashboard_show_spinner ||\n\t\t(catItemInProgress && catItemInProgress.name == 'Install Build Agent');\n\n\tconst blueSpinnerIcon = 'data:image/svg+xml,' + encodeURIComponent('<svg xmlns=\"http://www.w3.org/2000/svg\" class=\"rotate\" width=\"16\" height=\"16\" viewBox=\"0 0 12 12\" fill=\"none\"><style>@keyframes rotation{from{transform:rotate(0deg)}to{transform:rotate(359deg)}}.rotate{animation:rotation 2s infinite linear}</style><path d=\"M8.95784 4.45638C8.80791 4.60631 8.77287 4.83331 8.8411 5.03406C8.94412 5.33717 9 5.66206 9 6C9 7.65685 7.65685 9 6 9C4.34315 9 3 7.65685 3 6C3 4.34315 4.34315 3 6 3C6.33794 3 6.66283 3.05588 6.96594 3.1589C7.16669 3.22713 7.39369 3.1921 7.54362 3.04216L8.3248 2.26099C8.54834 2.03745 8.51089 1.66365 8.22796 1.52259C7.55712 1.18813 6.80053 1 6 1C3.23858 1 1 3.23858 1 6C1 8.76142 3.23858 11 6 11C8.76142 11 11 8.76142 11 6C11 5.19947 10.8119 4.44288 10.4774 3.77204C10.3364 3.48911 9.96255 3.45166 9.73901 3.6752L8.95784 4.45638Z\" fill=\"#035D99\"/></svg>');\n\n\tlet ctaItem = [];\n\tif (\n\t\tonexMenu?.navigationConfig?.secondaryCTAs?.length > 0 &&\n\t\tinstanceInfo &&\n\t\tuserInfo &&\n\t\tuserInfo.is_logged_in\n\t) {\n\t\tif (showRequestInstance(instanceInfo) && !isBlockedUser) {\n\t\t\tconst requestInstanceCta = onexMenu?.navigationConfig?.secondaryCTAs?.find(\n\t\t\t\titem => item.id == NAV_CTA_ID.REQUEST_INSTANCE\n\t\t\t);\n\t\t\tctaItem = [\n\t\t\t\trequestInstanceCta\n\t\t\t\t\t? { ...requestInstanceCta, disabled: isAutoAssignFlowActive }\n\t\t\t\t\t: requestInstanceCta\n\t\t\t];\n\t\t} else if (instanceInfo.state === 'waitlist') {\n\t\t\tctaItem = [\n\t\t\t\t{\n\t\t\t\t\tid: 'developer-waitlist-status',\n\t\t\t\t\ttext: 'Waitlisted for instance',\n\t\t\t\t\tshow: true,\n\t\t\t\t\tinteractionType: 'informational',\n\t\t\t\t\tstartIcon: 'data:image/svg+xml,' + encodeURIComponent('<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\"><circle cx=\"8\" cy=\"8\" r=\"6.5\" stroke=\"#007393\" stroke-width=\"1.5\"/><path d=\"M8 4.5V8L10.5 10\" stroke=\"#007393\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>'),\n\t\t\t\t\tendIcon: ''\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'developer-view-waitlist-details',\n\t\t\t\t\ttext: 'Leave waitlist',\n\t\t\t\t\tshow: true,\n\t\t\t\t\ttype: 'informational',\n\t\t\t\t\tinteractionType: 'event',\n\t\t\t\t\tstartIcon: '',\n\t\t\t\t\tendIcon: '',\n\t\t\t\t\teventConfig: {\n\t\t\t\t\t\tname: APP_ACTIONS.ONEXNAV.DPS_NAVIGATION_ONEX_NAV_CTA_CLICKED,\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tid: 'developer-view-waitlist-details'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t];\n\t\t} else if (\n\t\t\tinstanceInfo.state !== 'waitlist' &&\n\t\t\tinstanceInfo.state !== null\n\t\t) {\n\t\t\tif (isAutoAssignFlowActive) {\n\t\t\t\tconst requestInstanceCta = onexMenu?.navigationConfig?.secondaryCTAs?.find(\n\t\t\t\t\titem => item.id == NAV_CTA_ID.REQUEST_INSTANCE\n\t\t\t\t);\n\t\t\t\tctaItem = requestInstanceCta\n\t\t\t\t\t? [{ ...requestInstanceCta, disabled: true }]\n\t\t\t\t\t: [];\n\t\t\t} else {\n\t\t\t\tctaItem.push({\n\t\t\t\t\t...onexMenu?.navigationConfig?.secondaryCTAs?.find(\n\t\t\t\t\t\titem => item.id == NAV_CTA_ID.MANAGE_INSTANCE\n\t\t\t\t\t),\n\t\t\t\t\tdisabled:\n\t\t\t\t\t\tnavHeaderInfo.isInstanceRefreshing ||\n\t\t\t\t\t\twindow.location.href.indexOf('manage-instance') > -1,\n\t\t\t\t\teventConfig: {\n\t\t\t\t\t\tname: APP_ACTIONS.ONEXNAV.DPS_NAVIGATION_ONEX_NAV_CTA_CLICKED,\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\turl: '/dev.do#!/manage-instance',\n\t\t\t\t\t\t\turlTarget: '_self',\n\t\t\t\t\t\t\tdisabled:\n\t\t\t\t\t\t\t\tnavHeaderInfo.isInstanceRefreshing ||\n\t\t\t\t\t\t\t\twindow.location.href.indexOf('manage-instance') > -1,\n\t\t\t\t\t\t\tid: NAV_CTA_ID.START_BUILDING\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tconst progressMessageToDisplay =\n\t\t\t\t\t(catItemInProgress && catItemInProgress.name == 'Install Build Agent')\n\t\t\t\t\t\t? catItemInProgress.statusText\n\t\t\t\t\t\t: (instanceInfo?.catItem?.inProgressMessage || start_building_subtext);\n\t\t\t\tif (\n\t\t\t\t\tinstanceInfo?.catItem?.confirmViewName !=\n\t\t\t\t\tCAT_ITEM_ACTIONS_IDS.ACTIVATE_PLUGIN &&\n\t\t\t\t\t(instanceInfo?.catItem?.name != 'Refresh status' &&\n\t\t\t\t\t\tinstanceInfo?.catItem?.name != 'Remove demo data') &&\n\t\t\t\t\tdashboard_show_spinner &&\n\t\t\t\t\tprogressMessageToDisplay &&\n\t\t\t\t\t!instanceInfo?.isWakingInstance?.()\n\t\t\t\t) {\n\t\t\t\t\tctaItem.push({\n\t\t\t\t\t\t...onexMenu?.navigationConfig?.secondaryCTAs?.find(\n\t\t\t\t\t\t\titem => item.id == NAV_CTA_ID.PROGRESS_INSTANCE\n\t\t\t\t\t\t),\n\t\t\t\t\t\ttext: '\\t' + progressMessageToDisplay + '...'\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tctaItem.push({\n\t\t\t\t\t\t...onexMenu?.navigationConfig?.secondaryCTAs?.find(\n\t\t\t\t\t\t\titem => item.id == NAV_CTA_ID.START_BUILDING\n\t\t\t\t\t\t),\n\t\t\t\t\t\tdisabled: start_building_disabled,\n\t\t\t\t\t\teventConfig: {\n\t\t\t\t\t\t\tname: APP_ACTIONS.ONEXNAV.DPS_NAVIGATION_ONEX_NAV_CTA_CLICKED,\n\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\tdisabled: start_building_disabled,\n\t\t\t\t\t\t\t\tid: NAV_CTA_ID.START_BUILDING\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Wakeup in progress (cancel from wakeup modal, or sign-in triggered wakeup): show header CTA\n\tconst isInstanceWaking = instanceInfo?.isWakingInstance?.();\n\tif (isInstanceWaking) {\n\t\tctaItem = [\n\t\t\t{\n\t\t\t\t...onexMenu?.navigationConfig?.secondaryCTAs?.find(\n\t\t\t\t\titem => item.id == NAV_CTA_ID.MANAGE_INSTANCE\n\t\t\t\t),\n\t\t\t\ttype: 'tertiary',\n\t\t\t\tdisabled:\n\t\t\t\t\tnavHeaderInfo.isInstanceRefreshing ||\n\t\t\t\t\twindow.location.href.indexOf('manage-instance') > -1,\n\t\t\t\teventConfig: {\n\t\t\t\t\tname: APP_ACTIONS.ONEXNAV.DPS_NAVIGATION_ONEX_NAV_CTA_CLICKED,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\turl: '/dev.do#!/manage-instance',\n\t\t\t\t\t\turlTarget: '_self',\n\t\t\t\t\t\tdisabled:\n\t\t\t\t\t\t\tnavHeaderInfo.isInstanceRefreshing ||\n\t\t\t\t\t\t\twindow.location.href.indexOf('manage-instance') > -1,\n\t\t\t\t\t\tid: NAV_CTA_ID.START_BUILDING\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'developer-wakeup-status',\n\t\t\t\ttext: 'Waking-up instance',\n\t\t\t\tshow: true,\n\t\t\t\tinteractionType: 'informational',\n\t\t\t\tstartIcon: blueSpinnerIcon,\n\t\t\t\tendIcon: ''\n\t\t\t}\n\t\t];\n\t}\n\n\t// Non-BA auto-assign: override CTAs with \"Setting-up instance\" + \"View details\"\n\tif (isAutoAssignRunInBackground && !isBuildAgentExperience) {\n\t\tctaItem = [\n\t\t\t{\n\t\t\t\tid: 'developer-setup-status',\n\t\t\t\ttext: 'Setting-up instance',\n\t\t\t\tshow: true,\n\t\t\t\tinteractionType: 'informational',\n\t\t\t\tstartIcon: blueSpinnerIcon,\n\t\t\t\tendIcon: ''\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'developer-view-setup-details',\n\t\t\t\ttext: 'View details',\n\t\t\t\tshow: true,\n\t\t\t\ttype: 'informational',\n\t\t\t\tinteractionType: 'event',\n\t\t\t\tstartIcon: '',\n\t\t\t\tendIcon: '',\n\t\t\t\teventConfig: {\n\t\t\t\t\tname: APP_ACTIONS.ONEXNAV.DPS_NAVIGATION_ONEX_NAV_CTA_CLICKED,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tid: 'developer-view-setup-details'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t];\n\t}\n\n\tconst hashRoutes = window.location.hash.split('#!/')[1]?.split('/');\n\tlet loadedRoute = hashRoutes?.[0]?.split('#')[0] || 'home';\n\tif (loadedRoute) {\n\t\tif (\n\t\t\tloadedRoute === 'search' ||\n\t\t\tloadedRoute === 'ai-search' ||\n\t\t\tloadedRoute === 'profile' ||\n\t\t\tloadedRoute === 'manage-instance' ||\n\t\t\tloadedRoute === 'home'\n\t\t) {\n\t\t\tloadedRoute = 'home';\n\t\t}\n\t\tloadedRoute = '-' + loadedRoute;\n\t}\n\n\t// add routeConfig only to the current active menu item\n\tconst processNavItems = (items, IsSubmenu) => {\n\t\tif (items && items.length > 0) {\n\t\t\titems.forEach(item => {\n\t\t\t\tif ('developer' + loadedRoute == item.id) {\n\t\t\t\t\titem.routeConfig = {\n\t\t\t\t\t\troute: item.id,\n\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\tpath: item.id,\n\t\t\t\t\t\t\turl: item.url,\n\t\t\t\t\t\t\turlTarget: item.urlTarget\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tif (item.items) processNavItems(item.items, IsSubmenu === undefined);\n\t\t\t});\n\t\t}\n\t};\n\n\tprocessNavItems(onexMenu?.navigationConfig?.secondary);\n\n\tif (isNowOrLocal()) {\n\t\twindow.ux_globals.sysprops = { 'sn_cx_nav.experience_name': 'DEVELOPER' };\n\t\tctaItem = JSON.parse(\n\t\t\tJSON.stringify(ctaItem || []).replaceAll('dev.do', '')\n\t\t);\n\t}\n\n\tif (onexMenu?.navigationConfig?.secondaryCTAs !== undefined) {\n\t\tdispatch('SN_CX_NAVIGATION#SECONDARY_CTA_UPDATE_REQUESTED', {\n\t\t\tsecondaryCTAs: ctaItem\n\t\t});\n\t}\n\n\tconst userMeta = {\n\t\tfullName: navHeaderInfo.userDisplay.userDisplayName,\n\t\tuserName: navHeaderInfo.userDisplay.email,\n\t\tavatar: '',\n\t\tinitials: navHeaderInfo.userDisplay.userInitials,\n\t\tdomain: 'global',\n\t\tdisplayName: navHeaderInfo.userDisplay.userDisplayName,\n\t\tpresence: {\n\t\t\tuser_available: navHeaderInfo.loggedIn || false\n\t\t}\n\t};\n\tonexMenu.currentUser = {\n\t\t...onexMenu.currentUser,\n\t\tisLoggedIn: navHeaderInfo.loggedIn || false,\n\t\tuser: userMeta\n\t};\n\n\tconst selectedContent = {\n\t\troute: 'developer' + loadedRoute,\n\t\tfields: {},\n\t\tcontext: {\n\t\t\tpath: 'developer' + loadedRoute,\n\t\t\texperienceName: 'Unified Customer Experience'\n\t\t},\n\t\tqueryString: {}\n\t};\n\n\tlet navigationConf = onexMenu?.navigationConfig;\n\n\tlet navigatingConfStr = JSON.stringify(onexMenu?.navigationConfig || {});\n\n\tif (computedRelease)\n\t\tnavigatingConfStr = navigatingConfStr.replaceAll(\n\t\t\t'yokohama',\n\t\t\tcomputedRelease\n\t\t);\n\tif (navigatingConfStr) {\n\t\tnavigatingConfStr = navigatingConfStr.replaceAll(\n\t\t\t'devportaluat.service-now.com',\n\t\t\t'developeruat.servicenow.com'\n\t\t);\n\t\tnavigatingConfStr = navigatingConfStr.replaceAll(\n\t\t\t'devportalprod.service-now.com',\n\t\t\t'developer.servicenow.com'\n\t\t);\n\t}\n\tif (isNowOrLocal()) {\n\t\tnavigatingConfStr = navigatingConfStr.replaceAll('dev.do', '');\n\t\tnavigatingConfStr = navigatingConfStr.replaceAll(\n\t\t\t'https://developeruat.servicenow.com',\n\t\t\twindow.location.origin\n\t\t);\n\t}\n\tnavigationConf = JSON.parse(navigatingConfStr);\n\tlet navTopOverlayOffset = 0;\n\tlet navTopOverlayOffsetForSearch = 0;\n\n\tif (onexMenu?.navigationConfig) {\n\t\tnavTopOverlayOffset = 180 * bannersOpenedCount;\n\t\tnavTopOverlayOffsetForSearch = 64 * (bannersOpenedCount || 1);\n\t}\n\n\tconst searchConfig = {\n\t\tsearchRoute: 'developer-search',\n\t\tattachToPrimaryMenu: true,\n\t\tsearchContextConfigId: SEARCH_CONFIG.searchContextConfigId,\n\t\tsearchContextConfigId_public: SEARCH_CONFIG.searchContextConfigId_public,\n\t\t// emitNavItemSelected: true,\n\t\tcontentLinkColumns: [\n\t\t\t'u_navigation_url',\n\t\t\t'url',\n\t\t\t'u_url'\n\t\t],\n\t\tsearchInputRouteMap: [\n\t\t\t{\n\t\t\t\tselector: '#item-search_input_card_base_container',\n\t\t\t\tpath: {\n\t\t\t\t\troute: 'developer-search'\n\t\t\t\t},\n\t\t\t\tattachToElement: true\n\t\t\t}\n\t\t]\n\t};\n\n\t// Apply CTA style overrides for waitlist / non-BA setup via shadow DOM\n\tconst SETUP_STYLE_ID = 'dps-cta-status-overrides';\n\tconst TOOLTIP_STYLE_ID = 'dps-cta-tooltip-text';\n\tconst isWaitlistCta = instanceInfo?.state === 'waitlist';\n\tconst needsCtaStatusOverrides = isWaitlistCta || isInstanceWaking || (isAutoAssignRunInBackground && !isBuildAgentExperience);\n\tif (navUnifiedRef.current) {\n\t\tconst navEl = navUnifiedRef.current;\n\t\tconst shadowRoot = navEl.shadowRoot;\n\t\tif (needsCtaStatusOverrides) {\n\t\t\tif (isInstanceWaking) {\n\t\t\t\t// Wakeup shows Manage Instance (event CTA) alongside informational CTA —\n\t\t\t\t// don't override brand vars or the button loses its green fill\n\t\t\t\tnavEl.style.removeProperty('--Brand-Green-Tints-Brand-Green-300');\n\t\t\t\tnavEl.style.removeProperty('--Brand-Green-Tints-Brand-Green-400');\n\t\t\t\tnavEl.style.removeProperty('--arc-color-infiniteblue');\n\t\t\t} else {\n\t\t\t\tnavEl.style.setProperty('--Brand-Green-Tints-Brand-Green-300', 'transparent');\n\t\t\t\tnavEl.style.setProperty('--Brand-Green-Tints-Brand-Green-400', 'transparent');\n\t\t\t\tnavEl.style.setProperty('--arc-color-infiniteblue', '#333333');\n\t\t\t}\n\t\t\tif (shadowRoot) {\n\t\t\t\t// Upsert: always update content so stale injections from previous deploys are corrected\n\t\t\t\tlet styleEl = shadowRoot.getElementById(SETUP_STYLE_ID);\n\t\t\t\tif (!styleEl) {\n\t\t\t\t\tstyleEl = document.createElement('style');\n\t\t\t\t\tstyleEl.id = SETUP_STYLE_ID;\n\t\t\t\t\tshadowRoot.appendChild(styleEl);\n\t\t\t\t}\n\t\t\t\tstyleEl.textContent = `\n\t\t\t\t\t:host,\n\t\t\t\t\t.sn-cx-navigation,\n\t\t\t\t\t.sn-cx-navigation__secondary-menu,\n\t\t\t\t\t.sn-cx-navigation__secondary-menu-ctas {\n\t\t\t\t\t\toverflow: visible !important;\n\t\t\t\t\t}\n\t\t\t\t\t.sn-cx-navigation__secondary-menu-ctas {\n\t\t\t\t\t\tgap: 8px !important;\n\t\t\t\t\t}\n\t\t\t\t\t.sn-cx-navigation__secondary-menu-cta-button.--informational,\n\t\t\t\t\t.sn-cx-navigation__secondary-menu-cta-informational.--informational {\n\t\t\t\t\t\tfont-size: 1rem !important;\n\t\t\t\t\t\tpadding: 0 !important;\n\t\t\t\t\t}\n\t\t\t\t\t.sn-cx-navigation__secondary-menu-cta-button.--informational:focus,\n\t\t\t\t\t.sn-cx-navigation__secondary-menu-cta-button.--informational:active,\n\t\t\t\t\t.sn-cx-navigation__secondary-menu-cta-informational.--informational:focus,\n\t\t\t\t\t.sn-cx-navigation__secondary-menu-cta-informational.--informational:active {\n\t\t\t\t\t\tbox-shadow: none !important;\n\t\t\t\t\t\tbackground: transparent !important;\n\t\t\t\t\t\tborder-color: transparent !important;\n\t\t\t\t\t}\n\t\t\t\t\t/* Informational label (\"Waitlisted for instance\" / \"Setting-up instance\" / \"Waking-up instance\") */\n\t\t\t\t\t#developer-waitlist-status,\n\t\t\t\t\t#developer-setup-status,\n\t\t\t\t\t#developer-wakeup-status,\n\t\t\t\t\t.sn-cx-navigation__secondary-menu-cta-informational.--informational {\n\t\t\t\t\t\tcolor: #333333 !important;\n\t\t\t\t\t\tfont-family: 'ServiceNowSans-Regular' !important;\n\t\t\t\t\t\tfont-weight: 400 !important;\n\t\t\t\t\t\tposition: relative !important;\n\t\t\t\t\t}\n\t\t\t\t\t#developer-waitlist-status,\n\t\t\t\t\t#developer-setup-status,\n\t\t\t\t\t#developer-wakeup-status {\n\t\t\t\t\t\tfont-size: 16px !important;\n\t\t\t\t\t}\n\t\t\t\t\t/* \"View details\" / \"Leave waitlist\" event button */\n\t\t\t\t\t#cta-developer-view-waitlist-details,\n\t\t\t\t\t#cta-developer-view-setup-details,\n\t\t\t\t\t.sn-cx-navigation__secondary-menu-cta-button.--informational {\n\t\t\t\t\t\tcolor: #032D42 !important;\n\t\t\t\t\t\tfont-family: 'ServiceNowSans-Book' !important;\n\t\t\t\t\t\tfont-weight: 450 !important;\n\t\t\t\t\t}\n\t\t\t\t\t/* Tooltip shell */\n\t\t\t\t\t#developer-waitlist-status::after,\n\t\t\t\t\t#developer-setup-status::after,\n\t\t\t\t\t#developer-wakeup-status::after {\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t\tposition: absolute;\n\t\t\t\t\t\ttop: calc(100% + 8px);\n\t\t\t\t\t\tleft: 50%;\n\t\t\t\t\t\ttransform: translateX(-50%);\n\t\t\t\t\t\tbackground: #081114;\n\t\t\t\t\t\tcolor: #ffffff;\n\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\tline-height: 1.4;\n\t\t\t\t\t\tpadding: 4px 8px;\n\t\t\t\t\t\tborder-radius: 6px;\n\t\t\t\t\t\tmax-width: 320px;\n\t\t\t\t\t\twidth: max-content;\n\t\t\t\t\t\tword-break: break-word;\n\t\t\t\t\t\twhite-space: pre-wrap;\n\t\t\t\t\t\topacity: 0;\n\t\t\t\t\t\tpointer-events: none;\n\t\t\t\t\t\tz-index: 9999;\n\t\t\t\t\t\ttransition: opacity 0.15s;\n\t\t\t\t\t}\n\t\t\t\t\t#developer-waitlist-status:hover::after,\n\t\t\t\t\t#developer-setup-status:hover::after,\n\t\t\t\t\t#developer-wakeup-status:hover::after {\n\t\t\t\t\t\topacity: 1;\n\t\t\t\t\t}\n\t\t\t\t`;\n\n\t\t\t\t// Tooltip content is state-specific — always resync\n\t\t\t\tlet tooltipStyleEl = shadowRoot.getElementById(TOOLTIP_STYLE_ID);\n\t\t\t\tif (!tooltipStyleEl) {\n\t\t\t\t\ttooltipStyleEl = document.createElement('style');\n\t\t\t\t\ttooltipStyleEl.id = TOOLTIP_STYLE_ID;\n\t\t\t\t\tshadowRoot.appendChild(tooltipStyleEl);\n\t\t\t\t}\n\t\t\t\tconst tooltipText = isWaitlistCta\n\t\t\t\t\t? \"You're on the waitlist for an instance.\\\\AWe'll assign one as soon as it is available.\"\n\t\t\t\t\t: isInstanceWaking\n\t\t\t\t\t\t? 'Your instance is waking up. This may take a few minutes.'\n\t\t\t\t\t\t: 'We are configuring your instance. This may take a few minutes.';\n\t\t\t\ttooltipStyleEl.textContent = `\n\t\t\t\t\t#developer-waitlist-status::after,\n\t\t\t\t\t#developer-setup-status::after,\n\t\t\t\t\t#developer-wakeup-status::after {\n\t\t\t\t\t\tcontent: \"${tooltipText}\";\n\t\t\t\t\t}\n\t\t\t\t`;\n\t\t\t}\n\t\t} else {\n\t\t\tnavEl.style.removeProperty('--Brand-Green-Tints-Brand-Green-300');\n\t\t\tnavEl.style.removeProperty('--Brand-Green-Tints-Brand-Green-400');\n\t\t\tnavEl.style.removeProperty('--arc-color-infiniteblue');\n\t\t\tif (shadowRoot) {\n\t\t\t\tconst existing = shadowRoot.getElementById(SETUP_STYLE_ID);\n\t\t\t\tif (existing) existing.remove();\n\t\t\t\tconst existingTooltip = shadowRoot.getElementById(TOOLTIP_STYLE_ID);\n\t\t\t\tif (existingTooltip) existingTooltip.remove();\n\t\t\t}\n\t\t}\n\t}\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<dps-shade show={navOpen} noLayer={newNavEnabled} />\n\t\t\t{newNavEnabled && (\n\t\t\t\t<sn-cx-navigation\n\t\t\t\t\tid=\"layout-authenticated\"\n\t\t\t\t\tnavigation={{\n\t\t\t\t\t\t...navigationConf,\n\t\t\t\t\t\tsecondaryCTAs: ctaItem\n\t\t\t\t\t}}\n\t\t\t\t\tcurrentUser={onexMenu.currentUser}\n\t\t\t\t\tisLoggedIn={navHeaderInfo.loggedIn || false}\n\t\t\t\t\tselectedContent={selectedContent}\n\t\t\t\t\tnavTopOverlayOffset={navTopOverlayOffset}\n\t\t\t\t\tref={navUnifiedRef}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<header className=\"dps-navigation-header\">\n\t\t\t\t{!newNavEnabled && (\n\t\t\t\t\t<div className=\"dps-navigation-header-content\">\n\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\tclassName=\"dps-navigation-header-collapse-btn\"\n\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\tnavOpen &&\n\t\t\t\t\t\t\t\t\t!showMainMenu &&\n\t\t\t\t\t\t\t\t\t!showSearchBar &&\n\t\t\t\t\t\t\t\t\t!showLoginManagement\n\t\t\t\t\t\t\t\t\t? 'chevron-left-fill'\n\t\t\t\t\t\t\t\t\t: navOpen && !showSearchBar && !showLoginManagement\n\t\t\t\t\t\t\t\t\t\t? 'close-fill'\n\t\t\t\t\t\t\t\t\t\t: 'menu-fill'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ticonSize=\"lg\"\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\tnavOpen && !showMainMenu\n\t\t\t\t\t\t\t\t\t? dispatch('DPS_MOBILE_MENU#CLICKED')\n\t\t\t\t\t\t\t\t\t: navOpen\n\t\t\t\t\t\t\t\t\t\t? dispatch('DPS_NAVIGATION#CLOSE')\n\t\t\t\t\t\t\t\t\t\t: dispatch('DPS_MOBILE_MENU#CLICKED');\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'dps-navigation-header-category': true,\n\t\t\t\t\t\t\t\t'is-visible':\n\t\t\t\t\t\t\t\t\tnavOpen &&\n\t\t\t\t\t\t\t\t\t!showMainMenu &&\n\t\t\t\t\t\t\t\t\t!showSearchBar &&\n\t\t\t\t\t\t\t\t\t!showLoginManagement\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tMain Menu\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\tclassName=\"dps-navigation-header-logo\"\n\t\t\t\t\t\t\thref=\"/\"\n\t\t\t\t\t\t\ton-click={() => dispatch('DPS_NAVIGATION#CLOSE')}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<img src={ServiceNowLogo} alt=\"ServiceNow\" />\n\t\t\t\t\t\t\t<span>Developer</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t<nav\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'dps-navigation-header-nav': true,\n\t\t\t\t\t\t\t\t'is-open': showMainMenu\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ul className=\"dps-navigation-header-list\" ref={navRef}>\n\t\t\t\t\t\t\t\t{navigationConfig.map(parentNavItem =>\n\t\t\t\t\t\t\t\t\t_renderNavElem(\n\t\t\t\t\t\t\t\t\t\tparentNavItem,\n\t\t\t\t\t\t\t\t\t\tstate.properties,\n\t\t\t\t\t\t\t\t\t\tcurrentRoute,\n\t\t\t\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t'dps-navigation-header-list-item': true,\n\t\t\t\t\t\t\t\t\t\t'-version': true\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t></li>\n\t\t\t\t\t\t\t\t<li className=\"dps-navigation-header-list-item -request\">\n\t\t\t\t\t\t\t\t\t{userInfo &&\n\t\t\t\t\t\t\t\t\t\tuserInfo.is_logged_in &&\n\t\t\t\t\t\t\t\t\t\tinstanceInfo &&\n\t\t\t\t\t\t\t\t\t\tshowRequestInstance(instanceInfo) &&\n\t\t\t\t\t\t\t\t\t\t!isBlockedUser ? (\n\t\t\t\t\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\t\t\t\t\tlabel=\"Request instance\"\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\timgIcon={instanceIcon}\n\t\t\t\t\t\t\t\t\t\t\ticonSize=\"md\"\n\t\t\t\t\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\t\t\t\t\tif (isAutoAssignFlowActive) {\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tdispatch('DPS_INSTANCE_ASSIGNMENT#MENU_ITEM_CLICKED', {\n\t\t\t\t\t\t\t\t\t\t\t\t\tselected: 'request'\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t//Tracking request instance\n\t\t\t\t\t\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\t\t\t\t\t\taction: 'click nav instance management',\n\t\t\t\t\t\t\t\t\t\t\t\t\tcategory: 'primary navigation',\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'request instance',\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t<li className=\"dps-navigation-header-indicator\" />\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t</nav>\n\t\t\t\t\t\t<div className=\"dps-navigation-header-utility\">\n\t\t\t\t\t\t\t<ul className=\"dps-navigation-header-list\">\n\t\t\t\t\t\t\t\t<li className=\"dps-navigation-header-list-item -search\">\n\t\t\t\t\t\t\t\t\t{_renderUtilityNavButton(\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tname: 'search',\n\t\t\t\t\t\t\t\t\t\t\ticon: 'magnifying-glass-fill',\n\t\t\t\t\t\t\t\t\t\t\tbuttonConfig: {\n\t\t\t\t\t\t\t\t\t\t\t\t'on-click': () =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch('DPS_NAVIGATION#OPEN', {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttab: 'showSearchBar',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcategory: ACTIVE_CATEGORY.SEARCH\n\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\t\t\tupdateProperties,\n\t\t\t\t\t\t\t\t\t\tupdateState\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t{userInfo &&\n\t\t\t\t\t\t\t\t\tuserInfo.is_logged_in &&\n\t\t\t\t\t\t\t\t\tinstanceInfo &&\n\t\t\t\t\t\t\t\t\tshowRequestInstance(instanceInfo) &&\n\t\t\t\t\t\t\t\t\t!isBlockedUser ? (\n\t\t\t\t\t\t\t\t\t<li className=\"dps-navigation-header-list-item -request\">\n\t\t\t\t\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\t\t\t\t\tlabel=\"Request instance\"\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\timgIcon={instanceIcon}\n\t\t\t\t\t\t\t\t\t\t\ticonSize=\"md\"\n\t\t\t\t\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\t\t\t\t\tif (isAutoAssignFlowActive) {\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\trequestInstanceButtonClicked({\n\t\t\t\t\t\t\t\t\t\t\t\t\tuserInfo,\n\t\t\t\t\t\t\t\t\t\t\t\t\treleaseInfo,\n\t\t\t\t\t\t\t\t\t\t\t\t\tsystemProperties,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t//Tracking the click for Request Instance\n\t\t\t\t\t\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\t\t\t\t\t\taction: 'click nav instance management',\n\t\t\t\t\t\t\t\t\t\t\t\t\tcategory: 'primary navigation',\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'request instance',\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t{instanceInfo &&\n\t\t\t\t\t\t\t\t\tinstanceInfo.state === 'waitlist' &&\n\t\t\t\t\t\t\t\t\tuserInfo &&\n\t\t\t\t\t\t\t\t\tuserInfo.is_logged_in ? (\n\t\t\t\t\t\t\t\t\t<li className=\"dps-navigation-header-list-item -waitlist\">\n\t\t\t\t\t\t\t\t\t\t{_renderUtilityNavButton(\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tname: 'Manage waitlist Status',\n\t\t\t\t\t\t\t\t\t\t\t\ticon: 'document-outline',\n\t\t\t\t\t\t\t\t\t\t\t\tbuttonConfig: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'Leave Waitlist',\n\t\t\t\t\t\t\t\t\t\t\t\t\t'on-click': () =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'DPS_INSTANCE_ASSIGNMENT#MENU_ITEM_CLICKED',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ selected: 'request', screenType: 'leave' }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\t\t\t\tupdateProperties,\n\t\t\t\t\t\t\t\t\t\t\tupdateState\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t<li className=\"dps-navigation-header-list-item\">\n\t\t\t\t\t\t\t\t\t<dps-login\n\t\t\t\t\t\t\t\t\t\tcatItemInProgress={catItemInProgress}\n\t\t\t\t\t\t\t\t\t\tuserInfo={userInfo}\n\t\t\t\t\t\t\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\t\t\t\t\t\t\tisTabOpen={navOpen && !showMainMenu}\n\t\t\t\t\t\t\t\t\t\tisInstanceRefreshing={isInstanceRefreshing}\n\t\t\t\t\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\t\t\tdispatch('DPS_NAVIGATION#OPEN', {\n\t\t\t\t\t\t\t\t\t\t\t\ttab: 'showLoginManagement',\n\t\t\t\t\t\t\t\t\t\t\t\tcategory: ACTIVE_CATEGORY.LOGIN_MANAGEMENT\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t<dps-navigation-header-dropdown\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'is-open': navOpen && !showMainMenu\n\t\t\t\t\t}}\n\t\t\t\t\topen={navOpen}\n\t\t\t\t>\n\t\t\t\t\t{activeNavSubMenu && (\n\t\t\t\t\t\t<dps-navigation-header-dropdown-content\n\t\t\t\t\t\t\tanimation-type={animationType}\n\t\t\t\t\t\t\tanimation-request={animationRequest}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{activeNavSubMenu.map(section =>\n\t\t\t\t\t\t\t\t_renderDropdownContent(\n\t\t\t\t\t\t\t\t\tsection,\n\t\t\t\t\t\t\t\t\tcomputedRelease,\n\t\t\t\t\t\t\t\t\tuserInfo,\n\t\t\t\t\t\t\t\t\tsystemProperties\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</dps-navigation-header-dropdown-content>\n\t\t\t\t\t)}\n\t\t\t\t\t{subMenuLoginManagement}\n\t\t\t\t\t{subMenuVersionSelector}\n\t\t\t\t\t<slot name=\"search-modal\"></slot>\n\t\t\t\t</dps-navigation-header-dropdown>\n\t\t\t\t<sn-cx-search-modal\n\t\t\t\t\tslot=\"search-modal\"\n\t\t\t\t\tref={searchModalRef}\n\t\t\t\t\tsearchConfig={searchConfig}\n\t\t\t\t\tnavTopOverlayOffset={navTopOverlayOffsetForSearch}\n\t\t\t\t\tisLoggedIn={navHeaderInfo.loggedIn || false}\n\t\t\t\t\tselectedContent={{\n\t\t\t\t\t\tsearch: '',\n\t\t\t\t\t\troute: 'developer-search',\n\t\t\t\t\t\tfields: {},\n\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\tpath: 'dev.do#',\n\t\t\t\t\t\t\texperienceName: 'ServiceNow Developers'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tqueryString: {},\n\t\t\t\t\t\tupdateUrl: false\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</header>\n\t\t</Fragment>\n\t);\n};\n\nexport default createCustomElement('dps-navigation-header', {\n\t/* eslint-disable object-shorthand */\n\tactionHandlers: {\n\t\t['DPS_MOBILE_MENU#CLICKED']: ({ dispatch }) => {\n\t\t\tdispatch('DPS_NAVIGATION#OPEN', {\n\t\t\t\ttab: 'showMainMenu',\n\t\t\t\tcategory: ACTIVE_CATEGORY.MAIN_MENU\n\t\t\t});\n\t\t},\n\t\t['DPS_SHADE#CLICKED']: ({ dispatch }) => {\n\t\t\tdispatch('DPS_NAVIGATION#CLOSE');\n\t\t},\n\t\t['DPS_NAVIGATION_CARD#CLICKED']: ({ action, state, dispatch }) => {\n\t\t\tconst { title } = action.payload;\n\t\t\tconst { activeCategory } = state.properties;\n\n\t\t\t//Tracking the click for navigation card\n\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\taction: `click nav ${activeCategory}`,\n\t\t\t\tcategory: 'primary navigation',\n\t\t\t\tlabel: title,\n\t\t\t\tvalue: '',\n\t\t\t\tga: true,\n\t\t\t\tadobe: false\n\t\t\t});\n\n\t\t\tdispatch('DPS_NAVIGATION#CLOSE');\n\t\t},\n\t\t['DPS_SEARCH_CARD#CLOSE']: ({ dispatch }) => {\n\t\t\tdispatch('DPS_NAVIGATION#CLOSE');\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\tproperties,\n\t\t\tupdateProperties\n\t\t}) => {\n\t\t\tif (['release', 'userInfo'].includes(action.payload.name)) {\n\t\t\t\tupdateProperties(checkReleaseMismatch(properties));\n\t\t\t}\n\n\t\t\tif (action.payload.name === 'navOpen') {\n\t\t\t\tif (action.payload.value) {\n\t\t\t\t\twindow.document.body.style.overflow = 'hidden';\n\t\t\t\t\tdispatch('APP#OPEN_NAV_HEADER');\n\t\t\t\t} else {\n\t\t\t\t\twindow.document.body.style.overflow = null;\n\t\t\t\t\tdispatch('APP#CLOSE_NAV_HEADER');\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (action.payload.name === 'searchConfig') {\n\t\t\t\tif (action.payload.value) {\n\t\t\t\t\tvar payload = JSON.parse(action.payload.value);\n\t\t\t\t\tsearchModalRef?.current?.dispatch('SN_CX_SEARCH_MODAL#TOGGLED', {\n\t\t\t\t\t\t...payload\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t['SN_SEARCH_COMBOBOX#NAVIGATION_EXECUTED']: ({ action, dispatch }) => {\n\t\t\tdispatch(\"DPS_AI_SEARCH#NAVIGATION_EXECUTED_UTIL\", action.payload);\n\t\t},\n\t\t['DPS_NAVIGATION#CLOSE']: ({ state, dispatch, updateProperties }) => {\n\t\t\tconst { activeCategory } = state.properties;\n\t\t\t//Tracking the close action for primary navigation\n\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\taction: `close ${activeCategory}`,\n\t\t\t\tcategory: 'primary navigation',\n\t\t\t\tlabel: '',\n\t\t\t\tvalue: '',\n\t\t\t\tga: true,\n\t\t\t\tadobe: false\n\t\t\t});\n\n\t\t\tupdateProperties({\n\t\t\t\tnavOpen: false,\n\t\t\t\tactiveCategory: ''\n\t\t\t});\n\n\t\t\t// Prevents content from disappearing before slide-up animation\n\t\t\tsetTimeout(() => {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tactiveNavSubMenu: [],\n\t\t\t\t\t...DEFAULT_TAB_STATES\n\t\t\t\t});\n\t\t\t}, 150);\n\t\t},\n\t\t'SN_CX_SEARCH_MODAL#TOGGLED': ({ action }) => {\n\t\t\tconst container = document.body;\n\t\t\tif (container) {\n\t\t\t\t// If modal is opening, lock scroll\n\t\t\t\tif (action.payload.opened) { // or check your payload to detect open vs close\n\t\t\t\t\tcontainer.classList.add('no-scroll');\n\t\t\t\t} else {\n\t\t\t\t\t// Modal is closing, re-enable scroll\n\t\t\t\t\tcontainer.classList.remove('no-scroll');\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t['DPS_NAVIGATION#OPEN']: ({\n\t\t\taction,\n\t\t\tstate,\n\t\t\tdispatch,\n\t\t\tupdateProperties\n\t\t}) => {\n\t\t\tconst {\n\t\t\t\tcategory,\n\t\t\t\ttab = 'showBasicNav',\n\t\t\t\tactiveNavSubMenu = null\n\t\t\t} = action.payload;\n\t\t\tconst { activeCategory, navOpen, navigationConfig } = state.properties;\n\t\t\tconst isCurrent = activeCategory === category;\n\t\t\tconst isNavOpen = !isCurrent || !navOpen;\n\t\t\tconst newActiveCategory = isNavOpen ? category : '';\n\n\t\t\tif (!isNavOpen) {\n\t\t\t\treturn dispatch('DPS_NAVIGATION#CLOSE');\n\t\t\t}\n\n\t\t\t//Tracking the open action for primary navigation\n\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\taction: `open ${category}`,\n\t\t\t\tcategory: 'primary navigation',\n\t\t\t\tlabel: '',\n\t\t\t\tvalue: '',\n\t\t\t\tga: true,\n\t\t\t\tadobe: false\n\t\t\t});\n\n\t\t\tconst prevItemIndex = navigationConfig.findIndex(\n\t\t\t\tnavItem => navItem.title === activeCategory\n\t\t\t);\n\n\t\t\tconst nextItemIndex = activeNavSubMenu\n\t\t\t\t? navigationConfig.findIndex(\n\t\t\t\t\tnavItem => navItem.title === activeNavSubMenu[0].category\n\t\t\t\t)\n\t\t\t\t: null;\n\n\t\t\tconst animationObj = moveBetweenContent({ prevItemIndex, nextItemIndex });\n\n\t\t\tupdateProperties({\n\t\t\t\tnavOpen: isNavOpen,\n\t\t\t\tactiveCategory: newActiveCategory,\n\t\t\t\tanimationType: animationObj.type,\n\t\t\t\tpendingNavSubMenu: activeNavSubMenu\n\t\t\t\t\t? navigationConfig[animationObj.pendingItemIndex].children\n\t\t\t\t\t: [],\n\t\t\t\tactiveNavSubMenu: activeNavSubMenu\n\t\t\t\t\t? navigationConfig[animationObj.pendingItemIndex].children\n\t\t\t\t\t: [],\n\t\t\t\tanimationRequest: animationObj.request,\n\t\t\t\t...DEFAULT_TAB_STATES,\n\t\t\t\t[tab]: true\n\t\t\t});\n\t\t},\n\t\t['APP#RELEASE_VERSION_SELECTED']: action => {\n\t\t\tsetTimeout(() => {\n\t\t\t\taction.updateProperties({\n\t\t\t\t\tnavOpen: false\n\t\t\t\t});\n\t\t\t}, 500);\n\t\t},\n\t\t['DPS_NAVIGATION_HEADER_DROPDOWN_CONTENT#ANIMATION_END']: ({\n\t\t\tstate,\n\t\t\tupdateProperties\n\t\t}) => {\n\t\t\tconst { pendingNavSubMenu } = state.properties;\n\n\t\t\tif (pendingNavSubMenu) {\n\t\t\t\t// Animate in new submenu\n\t\t\t\tupdateProperties({\n\t\t\t\t\tpendingNavSubMenu: null,\n\t\t\t\t\tanimationRequest: 'incoming',\n\t\t\t\t\tanimationType: null\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[APP_ACTIONS.ONEXNAV.REQUEST_INSTANCE]: ({ action, state, dispatch }) => {\n\t\t\tconst {\n\t\t\t\tisAutoAssignRunInBackground,\n\t\t\t\tisInstanceAssignmentModalOpened,\n\t\t\t\tinstanceAssignmentModalScreenType\n\t\t\t} = state?.properties || {};\n\t\t\tif (\n\t\t\t\tisAutoAssignRunInBackground ||\n\t\t\t\t(isInstanceAssignmentModalOpened &&\n\t\t\t\t\tinstanceAssignmentModalScreenType === 'autoAssignBA')\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\trequestInstanceButtonClicked({ ...action.payload, dispatch });\n\t\t},\n\t\t[APP_ACTIONS.ONEXNAV.DPS_NAVIGATION_ONEX_NAV_CTA_CLICKED]: ({\n\t\t\taction,\n\t\t\tstate,\n\t\t\tdispatch\n\t\t}) => {\n\t\t\tif (action.payload && action.payload.url) {\n\t\t\t\twindow.open(action.payload.url, action.payload.urlTarget || '_self');\n\t\t\t} else if (action.payload.id === NAV_CTA_ID.START_BUILDING) {\n\t\t\t\tconst {\n\t\t\t\t\tproperties: { userInfo, instanceInfo, systemProperties, releaseInfo }\n\t\t\t\t} = state;\n\t\t\t\tconst start_building_disabled =\n\t\t\t\t\tinstanceInfo.instanceStatus.additional_info.start_building_disabled;\n\t\t\t\tconst isInstanceRequestInProgress =\n\t\t\t\t\tinstanceInfo && instanceInfo.isRequestingInstance();\n\t\t\t\tconst canRequestInstance =\n\t\t\t\t\tinstanceInfo && showRequestInstance(instanceInfo);\n\n\t\t\t\tconst hasInstance = !canRequestInstance && !isInstanceRequestInProgress;\n\n\t\t\t\tconst startBuildingClick = () => {\n\t\t\t\t\tif (!start_building_disabled) {\n\t\t\t\t\t\tif (hasInstance) {\n\t\t\t\t\t\t\tdispatch(DPS_NAVIGATION_INSTANCE_MANAGEMENT.MAGIC_LINK_CLICKED);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\trequestInstanceButtonClicked({\n\t\t\t\t\t\t\t\tuserInfo,\n\t\t\t\t\t\t\t\treleaseInfo,\n\t\t\t\t\t\t\t\tsystemProperties,\n\t\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tstartBuildingClick();\n\t\t\t} else if (action.payload.id === 'developer-view-waitlist-details') {\n\t\t\t\tdispatch('DPS_INSTANCE_ASSIGNMENT_MODAL#OPEN_BA_AUTO_ASSIGN_MODAL');\n\t\t\t} else if (action.payload.id === 'developer-view-setup-details') {\n\t\t\t\tconst isBaFlow = state?.properties?.isBuildAgentExperience;\n\t\t\t\tdispatch('DPS_INSTANCE_ASSIGNMENT_MODAL#OPEN_BA_AUTO_ASSIGN_MODAL', {\n\t\t\t\t\tshowTips: true,\n\t\t\t\t\tisBuildAgentExperience: !!isBaFlow\n\t\t\t\t});\n\t\t\t}\n\t\t\t// whacky way to close the mobile secondary nav menu must\n\t\t\t// navUnifiedRef.current?.dispatch(\"SN_CX_NAVIGATION#SECONDARY_MENU_TOGGLED\");\n\t\t},\n\t\t// [\"INPUT_CHANGED\"]: ({action, dispatch, updateProperties}) => {\n\t\t// \tdispatch(APP_ACTIONS.ONEXNAV.SEARCH_INPUT_CHANGED, { globalSearchTerm: action.payload.term });\n\t\t// \t// updateRoute(ROUTES.aiSearch.replace(\":query\", encodeURIComponent(action.payload.searchTerm)));\n\t\t// },\n\t\t[APP_ACTIONS.ONEXNAV.SEARCH_ICON_CLICKED]: ({ dispatch, updateProperties, action }) => {\n\t\t\t// updateProperties({ globalSearchTerm: action.payload.term });\n\t\t\tif (action.payload.term && action.payload.filters) {\n\t\t\t\tsearchModalRef?.current?.dispatch('SN_CX_SEARCH_MODAL#TOGGLED', {\n\t\t\t\t\t...action.payload\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tsearchModalRef?.current?.dispatch('SN_CX_SEARCH_MODAL#TOGGLED', {\n\t\t\t\t\topened: true,\n\t\t\t\t\tattachToNavigation: true,\n\t\t\t\t\ttimeStamp: new Date().getTime()\n\t\t\t\t});\n\t\t\t}\n\t\t\t// dispatch('DPS_NAVIGATION#OPEN', {\n\t\t\t// \ttab: 'showSearchBar',\n\t\t\t// \tcategory: 'search'\n\t\t\t// });\n\t\t},\n\t\t['SN_CX_NAVIGATION#SIGNIN_BUTTON_CLICKED']: ({ action, dispatch }) => {\n\t\t\tdispatch(APP_ACTIONS.LOGIN_CLICKED);\n\t\t},\n\t\t['SN_CX_SEARCH_MODAL#SEARCH_EXECUTED']: ({ action, dispatch }) => {\n\t\t\tif (action.payload.searchTerm.length > 0)\n\t\t\t\tupdateRoute(ROUTES.aiSearch.replace(\":query\", encodeURIComponent(action.payload.searchTerm)));\n\t\t\telse {\n\t\t\t\tupdateRoute(ROUTES.homepage);\n\t\t\t}\n\t\t},\n\t\t['SN_CX_NAVIGATION#TRACK_CTA_CLICKED']: ({ action, dispatch }) => {\n\t\t\tif (action.payload.cta && action.payload.url) {\n\t\t\t\twindow.open(action.payload.url, action.payload.urlTarget || '_self');\n\t\t\t}\n\t\t},\n\t\t['AA_TRACK#PAGE_ELEMENT_CLICKED']: coeffects => {\n\t\t\tconst {\n\t\t\t\taction: {\n\t\t\t\t\tmeta: { event = {} },\n\t\t\t\t\tpayload: { aaDigitalData = {} }\n\t\t\t\t},\n\t\t\t\tproperties: {\n\t\t\t\t\tonexMenu: { navigationConfig: { secondary = [] } = {} }\n\t\t\t\t},\n\t\t\t\tdispatch\n\t\t\t} = coeffects;\n\t\t\t// old way\n\t\t\tif (aaDigitalData?.event?.click) {\n\t\t\t\tlet eventData;\n\t\t\t\tif (aaDigitalData?.event?.click.pageArea === 'top nav') {\n\t\t\t\t\tconst menuLabel = aaDigitalData?.event?.click?.ctaText\n\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t.toLowerCase();\n\t\t\t\t\tconst menu = findMenuByLabel(\n\t\t\t\t\t\tmenuLabel,\n\t\t\t\t\t\tJSON.parse(JSON.stringify(secondary)),\n\t\t\t\t\t\t1\n\t\t\t\t\t);\n\t\t\t\t\t// handle adobe events\n\t\t\t\t\t// Push to Adobe Analytics data layer\n\t\t\t\t\teventData = {\n\t\t\t\t\t\tname: 'global_click',\n\t\t\t\t\t\tdigitalData: {\n\t\t\t\t\t\t\tevent: {\n\t\t\t\t\t\t\t\tclick: {\n\t\t\t\t\t\t\t\t\tcomponentName: 'developer nav',\n\t\t\t\t\t\t\t\t\tdestination: aaDigitalData?.event?.click?.destination,\n\t\t\t\t\t\t\t\t\tctaText:\n\t\t\t\t\t\t\t\t\t\tmenu?.ctaText ||\n\t\t\t\t\t\t\t\t\t\taaDigitalData?.event?.click?.ctaText.trim().toLowerCase(),\n\t\t\t\t\t\t\t\t\tpageArea: aaDigitalData?.event?.click.pageArea || 'top nav',\n\t\t\t\t\t\t\t\t\tsection: 'l1'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\teventData = {\n\t\t\t\t\t\tname: 'global_click',\n\t\t\t\t\t\tdigitalData: {\n\t\t\t\t\t\t\tevent: {\n\t\t\t\t\t\t\t\tclick: {\n\t\t\t\t\t\t\t\t\t...aaDigitalData?.event?.click,\n\t\t\t\t\t\t\t\t\tcomponentName: 'developer nav'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\taaDigitalData: eventData.digitalData,\n\t\t\t\t\tevent,\n\t\t\t\t\tadobe: true,\n\t\t\t\t\tlabel: eventData.name\n\t\t\t\t});\n\t\t\t\t// developer logo click should scroll to home page\n\t\t\t\tif (aaDigitalData?.event?.click?.ctaText?.indexOf('logo') > -1) {\n\t\t\t\t\twindow.scrollTo(0, 0);\n\t\t\t\t\tif (\n\t\t\t\t\t\tnavUnifiedRef?.current?.shadowRoot\n\t\t\t\t\t\t\t?.querySelector('.sn-cx-navigation__secondary-menu')\n\t\t\t\t\t\t\t?.classList?.contains('--expanded')\n\t\t\t\t\t) {\n\t\t\t\t\t\tnavUnifiedRef.current?.dispatch(\n\t\t\t\t\t\t\t'SN_CX_NAVIGATION#SECONDARY_MENU_TOGGLED'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// else if (aaDigitalData?.event?.eVar22) {\n\t\t\t// \tif (aaDigitalData?.page?.pageInfo) {\n\t\t\t// \t\taaDigitalData.page.pageInfo.siteName = \"developer\";\n\t\t\t// \t}\n\t\t\t// \taaDigitalData.event.eVar22 = aaDigitalData?.event?.eVar22.replaceAll(\"top nav\", \"top nav:developer nav\")\n\t\t\t// \tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t// \t\taaDigitalData: aaDigitalData,\n\t\t\t// \t\tevent,\n\t\t\t// \t\tadobe: true,\n\t\t\t// \t\tlabel: \"global_click\"\n\t\t\t// \t});\n\t\t\t// }\n\t\t\t// whacky way to close menu items\n\t\t\t// if (\n\t\t\t// \taaDigitalData?.event?.click?.ctaText !== \"Home\"\n\t\t\t// \t&& aaDigitalData?.event?.click?.ctaText !== \"Guides\"\n\t\t\t// \t&& aaDigitalData?.event?.click?.ctaText !== \"APIs\"\n\t\t\t// \t&& aaDigitalData?.event?.click?.ctaText !== \"Next Experience\"\n\t\t\t// ) {\n\t\t\t// \tnavUnifiedRef.current?.dispatch(\"SN_CX_NAVIGATION#SECONDARY_MENU_TOGGLED\");\n\t\t\t// }\n\t\t},\n\t\t[APP_ACTIONS.ONEXNAV.NAV_ITEM_SELECTED]: ({ action, state }) => {\n\t\t\tif (action.payload?.context?.url) {\n\t\t\t\tconst { url, urlTarget } = action.payload?.context;\n\t\t\t\twindow.open(\n\t\t\t\t\turl\n\t\t\t\t\t\t.replace('yokohama', state.properties?.computedRelease)\n\t\t\t\t\t\t.replace('xanadu', state.properties?.computedRelease),\n\t\t\t\t\turlTarget\n\t\t\t\t);\n\t\t\t} else if (action.payload?.external?.url) {\n\t\t\t\tconst { target, url } = action.payload?.external;\n\t\t\t\twindow.open(\n\t\t\t\t\turl\n\t\t\t\t\t\t.replace('yokohama', state.properties?.computedRelease)\n\t\t\t\t\t\t.replace('xanadu', state.properties?.computedRelease),\n\t\t\t\t\ttarget || '_blank'\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[APP_ACTIONS.ONEXNAV.LOGOUT]: ({ dispatch }) => {\n\t\t\tSessionService.logout();\n\t\t}\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DPSNavigationHeader\n\t},\n\tproperties: {\n\t\t...properties,\n\t\t...animationProps\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: moveActiveIndicator,\n\t\t\toptions: {\n\t\t\t\tactiveItemSelector: '.dps-navigation-header-list-item.is-active',\n\t\t\t\tindicatorSelector: '.dps-navigation-header-indicator',\n\t\t\t\ttarget: navRef,\n\t\t\t\tproperty: 'activeCategory',\n\t\t\t\thide: () => window.innerWidth < 992\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tbehavior: resizeObserver,\n\t\t\toptions: {\n\t\t\t\tselectors: ['.dps-navigation-header-list']\n\t\t\t}\n\t\t}\n\t],\n\tstyles,\n\t/**\n\t * Using transformState to null guard release info\n\t * @param {Object} state\n\t */\n\ttransformState(state) {\n\t\tconst {\n\t\t\tproperties: { releaseInfo }\n\t\t} = state;\n\t\tconst release = releaseInfo || {};\n\n\t\treturn {\n\t\t\t...state,\n\t\t\tinfo: {\n\t\t\t\trelease\n\t\t\t}\n\t\t};\n\t}\n});\n","export const instanceMenuItems = [\n\t{\n\t\tclientPollInterval: '',\n\t\tclientPollMaxNum: '',\n\t\tdisplay_image: '',\n\t\texceedMaxPollMessage: '',\n\t\tinProgressMessage: '',\n\t\tin_progress: false,\n\t\tis_active: false,\n\t\tmarkOffline: 'false',\n\t\tname: 'Extend instance',\n\t\tneedAlwaysOn: 'false',\n\t\tneedBlockOther: 'true',\n\t\tneedConfirmed: 'false',\n\t\tneedsPolling: 'true',\n\t\trequestSubmittedMessage: '',\n\t\tstatusText: '',\n\t\tsys_id: '31313b382bb89a40b9a5d1b3e4da15ab',\n\t\tto_display: 'yes',\n\t\ttooltip_text:\n\t\t\t'{\\r\\n    \"enabled\": \"Resets the inactivity timer on your personal developer instance so that you have another {$1} days with your instance.\",\\r\\n    \"disabled\": \"Your instance is recovering from the last time you extended your instance; please give it some time to rest before you extend it again.\"\\r\\n}'\n\t},\n\t{\n\t\tclientPollInterval: '',\n\t\tclientPollMaxNum: '',\n\t\tdisplay_image: '',\n\t\texceedMaxPollMessage: '',\n\t\tinProgressMessage: '',\n\t\tin_progress: false,\n\t\tis_active: false,\n\t\tmarkOffline: 'false',\n\t\tname: 'Refresh status',\n\t\tneedAlwaysOn: 'false',\n\t\tneedBlockOther: 'false',\n\t\tneedConfirmed: 'false',\n\t\tneedsPolling: 'false',\n\t\trequestSubmittedMessage: '',\n\t\tstatusText: '',\n\t\tsys_id: '44683bf90f684200844b6519b1050e6e'\n\t},\n\t{\n\t\tclientPollInterval: '',\n\t\tclientPollMaxNum: '',\n\t\tdisplay_image: '',\n\t\texceedMaxPollMessage: '',\n\t\tinProgressMessage: '',\n\t\tin_progress: false,\n\t\tis_active: false,\n\t\tmarkOffline: 'false',\n\t\tname: 'Backup Instance',\n\t\tneedAlwaysOn: 'false',\n\t\tneedBlockOther: 'false',\n\t\tneedConfirmed: 'false',\n\t\tneedsPolling: 'false',\n\t\trequestSubmittedMessage: '',\n\t\tstatusText: '',\n\t\tsys_id: '4e826ee3db18f300ff70d790cf9619cf'\n\t},\n\t{\n\t\tclientPollInterval: 2000,\n\t\tclientPollMaxNum: 20,\n\t\tconfirmMessage: '',\n\t\tconfirmViewName: 'activate_plugin',\n\t\tdisplay_image: 'icon-instance-plugin.png',\n\t\texceedMaxPollMessage:\n\t\t\t'Hmm, this is taking awhile.  We know you have better things to do than to wait.  We will email you when the plugin is activated on your instance.',\n\t\tinProgressMessage: '',\n\t\tin_progress: false,\n\t\tis_active: true,\n\t\tmarkOffline: 'false',\n\t\tname: 'Activate plugin',\n\t\tneedAlwaysOn: 'false',\n\t\tneedBlockOther: 'true',\n\t\tneedConfirmed: 'true',\n\t\tneedsPolling: 'true',\n\t\trequestSubmittedMessage: '',\n\t\tstatusText: 'Plugin activation is in progress',\n\t\tsys_id: 'e747a9310f4b35004cbece1be1050e81'\n\t},\n\t{\n\t\tclientPollInterval: '',\n\t\tclientPollMaxNum: '',\n\t\tconfirmMessage:\n\t\t\t'Releasing your instance back into the wild is bold and generous.  Might be tough taming a new one.  Are you up for the challenge?',\n\t\tconfirmViewName: 'op_confirmation',\n\t\tdisplay_image: 'icon-instance-release.png',\n\t\texceedMaxPollMessage: '',\n\t\tinProgressMessage:\n\t\t\t'We haven\\'t finished with releasing your previous instance back into the wild yet.  Please try your request again later.',\n\t\tin_progress: false,\n\t\tis_active: true,\n\t\tmarkOffline: 'true',\n\t\tname: 'Release instance',\n\t\tneedAlwaysOn: 'true',\n\t\tneedBlockOther: 'false',\n\t\tneedConfirmed: 'true',\n\t\tneedsPolling: 'false',\n\t\trequestSubmittedMessage: '',\n\t\tstatusText: '',\n\t\tsys_id: '0df800f26f2ab10015241035eb3ee4f2'\n\t},\n\t{\n\t\tclientPollInterval: '',\n\t\tclientPollMaxNum: 1,\n\t\tconfirmMessage:\n\t\t\t'This will remove demo data from your instance. Are you sure you want to continue?',\n\t\tconfirmViewName: 'op_confirmation',\n\t\tdisplay_image: 'icon-instance-remove-demo-data.png',\n\t\texceedMaxPollMessage: '',\n\t\tinProgressMessage: 'Removing demo data already in progress',\n\t\tin_progress: false,\n\t\tis_active: true,\n\t\tmarkOffline: 'false',\n\t\tname: 'Remove demo data',\n\t\tneedAlwaysOn: 'false',\n\t\tneedBlockOther: 'true',\n\t\tneedConfirmed: 'true',\n\t\tneedsPolling: 'false',\n\t\trequestSubmittedMessage:\n\t\t\t'We are removing demo data from your instance now. This operation is expected to take 20-30 minutes. You will receive an email once this is complete.',\n\t\tstatusText: 'Removing demo data in progress',\n\t\tsys_id: '2c2efbc4d0428a003f8e8b2fd73df303'\n\t},\n\t{\n\t\tclientPollInterval: '',\n\t\tclientPollMaxNum: '',\n\t\tconfirmMessage:\n\t\t\t'Preparing your instance for admin password amnesia, ready to proceed?',\n\t\tconfirmViewName: 'op_confirmation',\n\t\tdisplay_image: 'icon-instance-password.png',\n\t\texceedMaxPollMessage: '',\n\t\tinProgressMessage: '',\n\t\tin_progress: false,\n\t\tis_active: true,\n\t\tmarkOffline: 'false',\n\t\tname: 'Reset admin password',\n\t\tneedAlwaysOn: 'false',\n\t\tneedBlockOther: 'true',\n\t\tneedConfirmed: 'true',\n\t\tneedsPolling: 'true',\n\t\trequestSubmittedMessage: '',\n\t\tstatusText: '',\n\t\tsys_id: '0b7c81552fd971003f8ea31c91a18938'\n\t},\n\t{\n\t\tclientPollInterval: '',\n\t\tclientPollMaxNum: '',\n\t\tconfirmMessage:\n\t\t\t'This will reset your instance to its out-of-the-box settings, allowing you to start over fresh. Are you sure you want to reset your instance?',\n\t\tconfirmViewName: 'op_confirmation',\n\t\tdisplay_image: 'icon-instance-wipe.png',\n\t\texceedMaxPollMessage: '',\n\t\tinProgressMessage:\n\t\t\t'Action is not possible on your instance due to a reset and wipe is currently in progress',\n\t\tin_progress: false,\n\t\tis_active: true,\n\t\tmarkOffline: 'true',\n\t\tname: 'Reset and wipe instance',\n\t\tneedAlwaysOn: 'false',\n\t\tneedBlockOther: 'true',\n\t\tneedConfirmed: 'true',\n\t\tneedsPolling: 'false',\n\t\trequestSubmittedMessage:\n\t\t\t'An instance reset request has been submitted and the instance may not be available temporarily. You will receive an email when the instance is back up',\n\t\tstatusText: 'Instance reset is in progress',\n\t\tsys_id: '0f4b8d152fd971003f8ea31c91a18916'\n\t},\n\t{\n\t\tclientPollInterval: '',\n\t\tclientPollMaxNum: '',\n\t\tdisplay_image: '',\n\t\texceedMaxPollMessage: '',\n\t\tinProgressMessage: '',\n\t\tin_progress: false,\n\t\tis_active: false,\n\t\tmarkOffline: 'false',\n\t\tname: 'Restore Instance',\n\t\tneedAlwaysOn: 'false',\n\t\tneedBlockOther: 'false',\n\t\tneedConfirmed: 'false',\n\t\tneedsPolling: 'false',\n\t\trequestSubmittedMessage: '',\n\t\tstatusText: '',\n\t\tsys_id: 'fc5ada9ddbd0fb0088d7fbfcbf9619e3'\n\t},\n\t{\n\t\tclientPollInterval: '',\n\t\tclientPollMaxNum: '',\n\t\tconfirmMessage:\n\t\t\t'Being on the latest release is exciting, but not without risk.  Are you sure you want to upgrade to {version_name} now?',\n\t\tconfirmViewName: 'op_confirmation',\n\t\tdisabled: true,\n\t\tdisplay_image: 'icon-instance-upgrade.png',\n\t\texceedMaxPollMessage:\n\t\t\t'Your instance is in the process of being upgraded.  We will notify you through email when the upgrade is complete.',\n\t\tinProgressMessage: '',\n\t\tin_progress: false,\n\t\tis_active: true,\n\t\tmarkOffline: 'false',\n\t\tname: 'Upgrade instance',\n\t\tneedAlwaysOn: 'false',\n\t\tneedBlockOther: 'true',\n\t\tneedConfirmed: 'true',\n\t\tneedsPolling: 'true',\n\t\trequestSubmittedMessage: '',\n\t\tstatusText: 'Instance upgrade is in progress',\n\t\tsys_id: '277d4a600fc80a004cbece1be1050ec8',\n\t\ttooltip: 'You are already on the latest platform version.'\n\t},\n\t{\n\t\tclientPollInterval: '',\n\t\tclientPollMaxNum: '',\n\t\tconfirmMessage:\n\t\t\t'Being on the latest release is exciting, but not without risk.  Are you sure you want to upgrade to {version_name} now?',\n\t\tconfirmViewName: 'op_confirmation',\n\t\tdisplay_image: '',\n\t\texceedMaxPollMessage:\n\t\t\t'Your instance is in the process of being upgraded.  We will notify you through email when the upgrade is complete.',\n\t\tinProgressMessage: '',\n\t\tin_progress: false,\n\t\tis_active: false,\n\t\tmarkOffline: 'false',\n\t\tname: 'Upgrade to Madrid',\n\t\tneedAlwaysOn: 'false',\n\t\tneedBlockOther: 'true',\n\t\tneedConfirmed: 'true',\n\t\tneedsPolling: 'true',\n\t\trequestSubmittedMessage: '',\n\t\tstatusText: 'Instance upgrade is in progress',\n\t\tsys_id: '4c02c6d337d6e6007ca3549543990ef9'\n\t},\n\t{\n\t\tclientPollInterval: '',\n\t\tclientPollMaxNum: '',\n\t\tconfirmMessage:\n\t\t\t'Being on the latest release is exciting, but not without risk.  Are you sure you want to upgrade to {version_name} now?',\n\t\tconfirmViewName: 'op_confirmation',\n\t\tdisplay_image: 'icon-instance-upgrade.png',\n\t\texceedMaxPollMessage:\n\t\t\t'Your instance is in the process of being upgraded.  We will notify you through email when the upgrade is complete.',\n\t\tinProgressMessage: '',\n\t\tin_progress: false,\n\t\tis_active: false,\n\t\tmarkOffline: 'false',\n\t\tname: 'Upgrade to New York',\n\t\tneedAlwaysOn: 'false',\n\t\tneedBlockOther: 'true',\n\t\tneedConfirmed: 'true',\n\t\tneedsPolling: 'true',\n\t\trequestSubmittedMessage: '',\n\t\tstatusText: 'Instance upgrade is in progress',\n\t\tsys_id: '6bc665f96f1fde00f834fd8fde3ee447'\n\t},\n\t{\n\t\tclientPollInterval: '',\n\t\tclientPollMaxNum: '',\n\t\tconfirmMessage:\n\t\t\t'It is difficult to go back once you upgrade to Orlando.  More information on the Orlando optional upgrade can be found <a target=\"_blank\" class=\"sn-black-color\" href=\"https://developer.servicenow.com/app.do#!/program/faq?q=optional_access\"><u>here</u></a>​.  Are you prepared for this journey?',\n\t\tconfirmViewName: 'op_confirmation',\n\t\tdisplay_image: 'icon-instance-early-access-upgrade.png',\n\t\texceedMaxPollMessage:\n\t\t\t'Your instance is in the process of being upgraded.  We will notify you through email when the upgrade is complete.',\n\t\tinProgressMessage: '',\n\t\tin_progress: false,\n\t\tis_active: false,\n\t\tmarkOffline: 'false',\n\t\tname: 'Upgrade to Orlando',\n\t\tneedAlwaysOn: 'false',\n\t\tneedBlockOther: 'true',\n\t\tneedConfirmed: 'true',\n\t\tneedsPolling: 'true',\n\t\trequestSubmittedMessage: '',\n\t\tstatusText: 'Instance upgrade is in progress',\n\t\tsys_id: '37aa6a3c2b228200b9a5d1b3e4da1561'\n\t}\n];\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-navigation-header';\nimport data from './data.json'; // Define some navigation config for testing\nimport { instanceMenuItems } from './instanceMenuItems';\n\nconst filteredMenuItems =\n\t(instanceMenuItems &&\n\t\tinstanceMenuItems\n\t\t\t.filter(menuItem => menuItem.is_active)\n\t\t\t.map(menuItem => ({\n\t\t\t\t...menuItem,\n\t\t\t\tneedsPolling: menuItem.needsPolling === 'true'\n\t\t\t}))) ||\n\t[];\n\nexport default createCustomElement('dps-navigation-header-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-navigation-header\n\t\t\tnavigation-config={data}\n\t\t\tinstance-menu-items={filteredMenuItems}\n\t\t></dps-navigation-header>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport overviewPageData from './response_overview.json';\nimport detailsPageData from './response_details.json';\nimport '../../src/components/dps-navigation-sidebar';\n\nexport default createCustomElement('dps-navigation-sidebar-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<div>\n\t\t\t{/* When loading component we need to pass the `menuData`. Based on the structure of the data passed,\n\t\t\t\tthe navigation sidebar component decides which Themes needed to load. */}\n\t\t\t<dps-navigation-sidebar menuData={overviewPageData} ></dps-navigation-sidebar>\n\n\t\t\t{/* When loading component for the details page, we pass the `selectedItem`, which needs to be highlighted. */}\n\t\t\t<dps-navigation-sidebar menuData={detailsPageData} selectedItem=\"cd-app-completion\"></dps-navigation-sidebar>\n\t\t</div>\n\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../../src/components/dps-overview-feedback';\n\nexport default createCustomElement('dps-overview-feedback-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<Fragment>\n\t\t\t<dps-overview-feedback\n\t\t\t\tbutton-label=\"Provide Feedback\"\n\t\t\t\ttitle=\"Looking for a different learning plan?\"\n\t\t\t>\n\t\t\t\t<p>Let us know what you would like to learn.</p>\n\t\t\t\t<p>Learning plans are available for all supported releases of ServiceNow. If you’re not seeing your release, head to the navigation menu and choose a version of the site to make sure the content reflects your desired release.</p>\n\t\t\t</dps-overview-feedback>\n\n\t\t\t<dps-overview-feedback\n\t\t\t\ttitle=\"Need help?\"\n\t\t\t>\n\t\t\t\t<p>If you’re an existing customer, check out our Support hub for potential solutions related to the Now Platform. For insight and inspiration from fellow developers, browse our <dps-link href=\"https://community.servicenow.com/community?id=community_forum&sys_id=75291a2ddbd897c068c1fb651f9619f3\" target=\"_blank\" external-action>Now Community forums</dps-link>.</p>\n\n\t\t\t\t<dps-link\n\t\t\t\t\tslot=\"button\"\n\t\t\t\t\tbutton-style\n\t\t\t\t\tbutton-variant=\"primary\"\n\t\t\t\t\tbutton-size=\"sm\"\n\t\t\t\t\texternal-action\n\t\t\t\t\thref=\"https://www.servicenow.com/support/contact-support.html\"\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t>\n\t\t\t\t\tContact Support\n\t\t\t\t</dps-link>\n\t\t\t</dps-overview-feedback>\n\t\t</Fragment>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-page-header';\n\nexport default createCustomElement('dps-page-header-example', {\n\trenderer: { type: snabbdom },\n\tstyles: `\n\t\t.sibling-content {\n\t\t\toverflow: hidden;\n\t\t\tbackground-color: pink;\n\t\t\tmin-height: 100vh;\n\t\t\tmargin-top: -130px;\n\t\t\tpadding-top: 130px;\n\t\t}\n\t`,\n\tview: () => (\n\t\t<Fragment>\n\t\t\t<dps-page-header\n\t\t\t\tpage-title=\"Eu Reprehenderit\"\n\t\t\t\tsub-title=\"Qui qui fugiat aute aliqua do proident\"\n\t\t\t>\n\t\t\t</dps-page-header>\n\t\t\t<dps-page-header\n\t\t\t\tpage-title=\"Eu reprehenderit reprehenderit laborum\"\n\t\t\t\tsub-title=\"Qui qui fugiat aute aliqua do proident duis veniam dolor deserunt ullamco nisi cupidatat enim.\"\n\t\t\t\tbackground-color=\"#445e8e\"\n\t\t\t\tbackground-image=\"https://via.placeholder.com/1200x800/445e8e/555555.png\"\n\t\t\t\tbackground-size=\"fill\"\n\t\t\t\ttext-variant=\"light\"\n\t\t\t>\n\t\t\t\t<div slot=\"image\">\n\t\t\t\t\t<img src=\"https://via.placeholder.com/400x500.png\" />\n\t\t\t\t</div>\n\t\t\t</dps-page-header>\n\t\t\t<dps-page-header\n\t\t\t\tpage-title=\"Eu reprehenderit reprehenderit laborum\"\n\t\t\t\tsub-title=\"Qui qui fugiat aute aliqua do proident duis veniam dolor deserunt ullamco nisi cupidatat enim.\"\n\t\t\t>\n\t\t\t\t<div slot=\"image\">\n\t\t\t\t\t<img src=\"https://via.placeholder.com/300x300.png\" />\n\t\t\t\t</div>\n\t\t\t\t<div slot=\"carousel\">\n\t\t\t\t\t<img src=\"https://via.placeholder.com/500x250.png\" />\n\t\t\t\t</div>\n\t\t\t</dps-page-header>\n\t\t\t<div className=\"sibling-content\">\n\t\t\t\t<h2>Other Page Content</h2>\n\t\t\t\t<p>Officia ad laborum nostrud officia consectetur. Nulla laboris voluptate id aute labore veniam occaecat consectetur voluptate voluptate anim. Exercitation labore sint elit consequat reprehenderit id sunt cupidatat cupidatat. Voluptate excepteur et fugiat velit proident consectetur in quis dolore et amet adipisicing nostrud esse. Do veniam qui officia ad commodo sunt fugiat culpa ex ea commodo cupidatat enim duis.</p>\n\t\t\t\t<p>Tempor exercitation deserunt esse ut eiusmod incididunt magna eiusmod. Quis cillum proident elit commodo qui laboris eu. Consequat nulla sit id id ad.</p>\n\t\t\t\t<p>Voluptate proident do laborum reprehenderit nostrud aliqua. Excepteur reprehenderit consectetur tempor occaecat ad ad eiusmod amet sunt consectetur. Duis sit tempor voluptate ipsum exercitation deserunt amet. Anim adipisicing incididunt Lorem non incididunt adipisicing incididunt laboris consectetur et ipsum nostrud ullamco ut.</p>\n\t\t\t\t<p>Proident dolore laborum ipsum sunt ad anim ea officia duis voluptate sit in aute excepteur. Consectetur consequat ex consectetur incididunt eiusmod. Veniam esse ullamco ad adipisicing fugiat elit excepteur ea do magna officia nisi.</p>\n\t\t\t\t<p>Tempor in incididunt anim amet cupidatat pariatur aute. Nulla sint consequat reprehenderit aliquip id. Elit duis in consequat fugiat laborum veniam dolor tempor dolor ad. Consequat eu eu duis est ut ad anim velit officia anim aute nulla eu. Excepteur id cillum dolore irure consequat dolor dolor aute sunt magna pariatur fugiat occaecat consequat.</p>\n\t\t\t\t<p>Velit ea minim amet minim. Fugiat sunt id labore aute incididunt irure incididunt elit duis velit. Quis aute deserunt aliqua fugiat quis sit pariatur nisi ullamco deserunt. Aute nulla est duis excepteur mollit.</p>\n\t\t\t\t<p>Nulla tempor mollit adipisicing tempor pariatur duis. Consectetur non reprehenderit minim anim deserunt ipsum sint. Reprehenderit in mollit ea quis eiusmod tempor ullamco occaecat. Tempor dolore sunt occaecat ipsum id dolore minim magna. Consectetur cupidatat aliquip irure sint ea elit consequat ut id do consectetur fugiat. Labore velit enim ad esse veniam labore ex culpa officia est in. Deserunt qui excepteur ex culpa excepteur officia dolore veniam culpa amet irure laborum adipisicing ipsum.</p>\n\t\t\t</div>\n\t\t</Fragment>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-pagination';\n\nexport default createCustomElement('dps-pagination-example', {\n\trenderer: { type: snabbdom },\n\tstyles: `\n\t\tdps-pagination {\n\t\t\tmargin-bottom: 20px;\n\t\t}\n\t`,\n\tview: () => (\n\t\t<Fragment>\n\t\t\t<dps-pagination\n\t\t\t\tactive-item={1}\n\t\t\t\ttotal-items={1}\n\t\t\t></dps-pagination>\n\n\t\t\t{(new Array(4)).fill().map((item, index, arr) => (\n\t\t\t\t<dps-pagination\n\t\t\t\t\tactive-item={index + 1}\n\t\t\t\t\ttotal-items={arr.length}\n\t\t\t\t></dps-pagination>\n\t\t\t))}\n\n\t\t\t{(new Array(6)).fill().map((item, index, arr) => (\n\t\t\t\t<dps-pagination\n\t\t\t\t\tactive-item={index + 1}\n\t\t\t\t\ttotal-items={arr.length}\n\t\t\t\t></dps-pagination>\n\t\t\t))}\n\n\t\t\t{(new Array(10)).fill().map((item, index, arr) => (\n\t\t\t\t<dps-pagination\n\t\t\t\t\tactive-item={index + 1}\n\t\t\t\t\ttotal-items={arr.length}\n\t\t\t\t></dps-pagination>\n\t\t\t))}\n\n\t\t\t<dps-pagination\n\t\t\t\tactive-item={66}\n\t\t\t\ttotal-items={1000}\n\t\t\t></dps-pagination>\n\t\t</Fragment>\n\t)\n});\n","const uuid = () => (\n\t'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {\n\t\tvar r = Math.random() * 16 | 0, v = c === 'x' ? r : (r & 0x3 | 0x8);\n\t\treturn v.toString(16);\n\t})\n);\n\nexport default uuid;\n","import { actionTypes } from '@servicenow/ui-core';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport uuid from '../../utils/uuid';\nimport { removeQueryParams } from '../../behaviors/router/helpers';\nimport { CONSTANTS, DPS_TOAST_ALERT_TYPES } from '../../constants';\n\nconst { DEFAULTS: { AZURE_BASE_URL } } = CONSTANTS;\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst DPS_PLAYGROUND_API = '/api/snc/v1/component_playground_configurations_api';\n\nconst DPS_PLAYGROUND_FETCH = 'DPS_PLAYGROUND#API_FETCH';\nconst DPS_PLAYGROUND_FETCH_SUCCESS = 'DPS_PLAYGROUND#API_FETCH_SUCCESS';\nconst DPS_PLAYGROUND_FETCH_ERROR = 'DPS_PLAYGROUND#API_FETCH_ERROR';\n\nconst DPS_PLAYGROUND_DELETE = 'DPS_PLAYGROUND#DELETE';\nconst DPS_PLAYGROUND_DELETE_SUCCESS = 'DPS_PLAYGROUND#API_DELETE_SUCCESS';\nconst DPS_PLAYGROUND_DELETE_ERROR = 'DPS_PLAYGROUND#API_DELETE_ERROR';\n\nconst DPS_PLAYGROUND_CREATE_UPDATE = 'DPS_PLAYGROUND#API_CREATE_UPDATE';\nconst DPS_PLAYGROUND_CREATE_SUCCESS = 'DPS_PLAYGROUND#API_CREATE_SUCCESS';\nconst DPS_PLAYGROUND_CREATE_ERROR = 'DPS_PLAYGROUND#API_CREATE_ERROR';\n\nconst DPS_TOAST_ALERT = 'DPS_TOAST_ALERT';\n\nconst DPS_PLAYGROUND_PLAYGROUND_CHANGED = 'DPS_PLAYGROUND#PLAYGROUND_CHANGED';\nconst DPS_PLAYGROUND_PLAYGROUND_READY = 'DPS_PLAYGROUND#PLAYGROUND_READY';\n\nconst bootstrapPlayground = ({ dispatch, updateProperties, properties }) => {\n\tconst { componentName, release, queryParams } = properties;\n\tlet fetchConfig = { componentName, release };\n\n\tif (queryParams && queryParams.sharedId) {\n\t\tfetchConfig.sharedId = queryParams.sharedId\n\t}\n\n\tdispatch(DPS_PLAYGROUND_FETCH, fetchConfig);\n\t// Create a unique ID for the component since we are dealing with window\n\t// events. This will prevent 2 playgrounds on the page from updating each other\n\tconst generatedStageId = uuid();\n\n\t// Every 500ms we will attempt to send the iframe a component config until the iframe\n\t// responds that it received it. If after 2 minutes we don't get a response we'll just\n\t// kill the process.\n\tconst timeoutTickLength = 500;\n\tconst timeoutKillLength = 120000;\n\tlet loadConfigTimer = setTimeout(function tick() {\n\t\tloadConfigTimer = setTimeout(tick, timeoutTickLength);\n\t}, timeoutTickLength);\n\tconst killLoadTimer  = setTimeout(() => clearTimeout(loadConfigTimer), timeoutKillLength);\n\n\twindow.addEventListener('message', event => {\n\t\tconst { stageId, type } = event.data;\n\t\tif(typeof event.data === 'object' && stageId === generatedStageId) {\n\t\t\tif(type === 'config-received') {\n\t\t\t\t// The iframe has responded that it received component config\n\t\t\t\tclearTimeout(loadConfigTimer);\n\t\t\t\tclearTimeout(killLoadTimer);\n\t\t\t\tupdateProperties({\n\t\t\t\t\tplaygroundReady: true\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (type === 'playground-empty') {\n\t\t\t\t// The iframe could not find a prototype to show\n\t\t\t\tupdateProperties({\n\t\t\t\t\tisEmpty: true\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (type === 'playground-code-copy') {\n\t\t\t\t// The copy code button was clicked in the iframe\n\t\t\t\tnavigator.clipboard.writeText(event.data.copyText).then(\n\t\t\t\t\t() => {\n\t\t\t\t\t\t// Handle success\n\t\t\t\t\t\tdispatch(DPS_TOAST_ALERT, {\n\t\t\t\t\t\t\tmessage:\"Copied to the clipboard\",\n\t\t\t\t\t\t\ttype: DPS_TOAST_ALERT_TYPES.SUCCESS\n\t\t\t\t\t\t})\n\t\t\t\t\t},\n\t\t\t\t\t() => {\n\t\t\t\t\t\t// Handle failure\n\t\t\t\t\t\tdispatch(DPS_TOAST_ALERT, {\n\t\t\t\t\t\t\tmessage:\"There was a problem copying to the clipboard\",\n\t\t\t\t\t\t\ttype: DPS_TOAST_ALERT_TYPES.WARNING\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (type === 'SHARE_PROTOTYPE') {\n\t\t\t\t// The share prototype button was clicked in the iframe\n\t\t\t\tconst href = window.location.href;\n\t\t\t\tconst baseUrl = removeQueryParams(href);\n\t\t\t\tconst shareParam = `?sharedId=${event.data.prototypeId}`;\n\t\t\t\tconst shareUrl = baseUrl + shareParam;\n\n\t\t\t\tnavigator.clipboard.writeText(shareUrl).then(\n\t\t\t\t\t() => {\n\t\t\t\t\t\t// Handle success\n\t\t\t\t\t\tdispatch(DPS_TOAST_ALERT, {\n\t\t\t\t\t\t\tmessage:\"Share link copied to the clipboard\",\n\t\t\t\t\t\t\ttype: DPS_TOAST_ALERT_TYPES.SUCCESS\n\t\t\t\t\t\t})\n\t\t\t\t\t},\n\t\t\t\t\t() => {\n\t\t\t\t\t\t// Handle failure\n\t\t\t\t\t\tdispatch(DPS_TOAST_ALERT, {\n\t\t\t\t\t\t\tmessage:\"There was a problem copying to the clipboard\",\n\t\t\t\t\t\t\ttype: DPS_TOAST_ALERT_TYPES.WARNING\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (type === 'DELETE_SHARED') {\n\t\t\t\t// The delete button was clicked on a shared config in the iframe\n\t\t\t\tdispatch(DPS_TOAST_ALERT, {\n\t\t\t\t\tmessage:\"Removed configuration\",\n\t\t\t\t\ttype: DPS_TOAST_ALERT_TYPES.SUCCESS\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (type === 'DELETE_PROTOTYPE') {\n\t\t\t\t// The delete button was clicked on a users config in the iframe\n\t\t\t\tupdateProperties({\n\t\t\t\t\tfetching: true\n\t\t\t\t});\n\t\t\t\tdispatch(DPS_PLAYGROUND_DELETE, {data: { sys_id: event.data.prototypeId}});\n\t\t\t}\n\n\t\t\tif (type === 'SAVE_PROTOTYPE') {\n\t\t\t\t// The save button as clicked in the iframe\n\t\t\t\tconst operationType = event.data.saveType;\n\t\t\t\tlet saveConfig = {\n\t\t\t\t\tcomponentName,\n\t\t\t\t\trelease,\n\t\t\t\t\toperationType,\n\t\t\t\t\tconfigurationName: event.data.config.label,\n\t\t\t\t\tconfiguration: JSON.stringify({\n\t\t\t\t\t\t...event.data.config.config,\n\t\t\t\t\t\t...event.data.config.userConfig,\n\t\t\t\t\t\tplaygroundPrototypeElement: event.data.config.element\n\t\t\t\t\t})\n\t\t\t\t};\n\n\t\t\t\tif (operationType === 'update') {\n\t\t\t\t\tsaveConfig.sys_id = event.data.prototypeId;\n\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\tfetching: true,\n\t\t\t\t\t\tprototype: event.data.prototypeId\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\tfetching: true\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tdispatch(DPS_PLAYGROUND_CREATE_UPDATE, {data: saveConfig});\n\t\t\t}\n\t\t}\n\t});\n\n\tupdateProperties({\n\t\tstageId: generatedStageId\n\t});\n};\n\nconst handleUpdate = ({ properties, state }) => {\n\tconst { prototype, componentName, gallery, prototypeList, userPrototypes, sharedPrototype, isLoggedIn } = properties;\n\tconst { stageTarget } = state;\n\n\tif (stageTarget) {\n\t\tconst stage = stageTarget.contentWindow;\n\t\tconst allProtos = [sharedPrototype, ...prototypeList, ...userPrototypes];\n\t\tconst activePrototype = allProtos.find(proto => proto.id === prototype);\n\t\tconst activePrototypeId = (activePrototype && activePrototype.id)\n\t\t\t? activePrototype.id\n\t\t\t: prototypeList[0].id;\n\n\t\tstage.postMessage({\n\t\t\ttype: 'initialize-playground',\n\t\t\tcomponent: componentName,\n\t\t\tgallery,\n\t\t\tprototype: activePrototypeId,\n\t\t\tisLoggedIn,\n\t\t\tshared: sharedPrototype,\n\t\t\towned: userPrototypes,\n\t\t\tprototypeList\n\t\t}, AZURE_BASE_URL);\n\t}\n}\n\nexport const actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: bootstrapPlayground,\n\t[COMPONENT_PROPERTY_CHANGED]: coeffects => {\n\t\tconst { action } = coeffects;\n\n\t\tif (action.payload.name === 'source') {\n\t\t\tbootstrapPlayground(coeffects);\n\t\t}\n\n\t\tif (['userPrototypes', 'prototypeList', 'sharedPrototype'].includes(action.payload.name)) {\n\t\t\tcoeffects.dispatch(DPS_PLAYGROUND_PLAYGROUND_CHANGED);\n\t\t}\n\t},\n\t[DPS_PLAYGROUND_PLAYGROUND_READY]: handleUpdate,\n\t[DPS_PLAYGROUND_PLAYGROUND_CHANGED]: handleUpdate,\n\t[DPS_PLAYGROUND_FETCH]: createHttpEffect(`${DPS_PLAYGROUND_API}/fetch`, {\n\t\tbatch: false,\n\t\tmethod: 'GET',\n\t\tqueryParams: ['componentName', 'release', 'sharedId'],\n\t\tsuccessActionType: DPS_PLAYGROUND_FETCH_SUCCESS,\n\t\terrorActionType: DPS_PLAYGROUND_FETCH_ERROR\n\t}),\n\t[DPS_PLAYGROUND_FETCH_SUCCESS]: ({ action, updateProperties }) => {\n\t\tconst { result } = action.payload;\n\n\t\tif (result) {\n\t\t\tconst allPrototypes = result.map( item => {\n\t\t\t\tlet config;\n\n\t\t\t\ttry {\n\t\t\t\t\tconfig = JSON.parse(item.component_configuration);\n\t\t\t\t} catch (e) {\n\t\t\t\t\treturn {};\n\t\t\t\t}\n\n\t\t\t\treturn ({\n\t\t\t\t\tlabel: item.configuration_name,\n\t\t\t\t\telement: config.playgroundPrototypeElement,\n\t\t\t\t\tid: item.sys_id,\n\t\t\t\t\ttype: item.type,\n\t\t\t\t\tupdatedOn: item.updated_on,\n\t\t\t\t\tcreatedBy: item.created_by,\n\t\t\t\t\tconfig\n\t\t\t\t});\n\t\t\t}).filter(proto => proto);\n\n\t\t\tconst userPrototypes = allPrototypes\n\t\t\t\t.filter(proto => proto.type === 'owned')\n\t\t\t\t.sort((a,b) => new Date(a.updatedOn) - new Date(b.updatedOn));\n\n\t\t\tlet update = {\n\t\t\t\tfetching: false,\n\t\t\t\tuserPrototypes: userPrototypes || []\n\t\t\t};\n\n\t\t\tconst sharedPrototype = allPrototypes.find(proto => proto.type === 'shared');\n\t\t\tconst sharedDuplicate = (userPrototypes && sharedPrototype)\n\t\t\t\t? userPrototypes.find(proto => proto.id === sharedPrototype.id)\n\t\t\t\t: false;\n\n\t\t\tif (sharedPrototype && !sharedDuplicate) {\n\t\t\t\tupdate.sharedPrototype = sharedPrototype;\n\t\t\t}\n\n\t\t\tupdateProperties(update);\n\t\t} else {\n\t\t\tupdateProperties({\n\t\t\t\tfetching: false,\n\t\t\t\tuserPrototypes: []\n\t\t\t});\n\t\t}\n\t},\n\t[DPS_PLAYGROUND_FETCH_ERROR]: ({ updateProperties }) => {\n\t\tupdateProperties({\n\t\t\tfetching: false,\n\t\t\tuserPrototypes: []\n\t\t});\n\t},\n\t[DPS_PLAYGROUND_CREATE_UPDATE]: createHttpEffect(`${DPS_PLAYGROUND_API}/create_or_update`, {\n\t\tbatch: false,\n\t\tmethod: 'POST',\n\t\tdataParam: 'data',\n\t\tsuccessActionType: DPS_PLAYGROUND_CREATE_SUCCESS,\n\t\terrorActionType: DPS_PLAYGROUND_CREATE_ERROR\n\t}),\n\t[DPS_PLAYGROUND_CREATE_SUCCESS]: ({ action, properties, dispatch, updateProperties }) => {\n\t\tconst { componentName, release } = properties;\n\t\tconst {\n\t\t\tmeta: {request: {data: {operationType}}},\n\t\t\tpayload: {result: {sys_id}}\n\t\t} = action;\n\n\t\tif (operationType === 'create' && sys_id) {\n\t\t\tupdateProperties({\n\t\t\t\tprototype: sys_id\n\t\t\t});\n\t\t}\n\n\t\tdispatch(DPS_TOAST_ALERT, {\n\t\t\tmessage:\"Saved configuration\",\n\t\t\ttype: DPS_TOAST_ALERT_TYPES.SUCCESS\n\t\t});\n\n\t\tdispatch(DPS_PLAYGROUND_FETCH, {\n\t\t\tcomponentName,\n\t\t\trelease\n\t\t});\n\t},\n\t[DPS_PLAYGROUND_CREATE_ERROR]: ({ action, dispatch, updateProperties }) => {\n\t\tconst { payload } = action;\n\t\tlet errorMsg = 'Error saving configuration';\n\t\tif (payload && payload.data && payload.data.error && payload.data.error.detail) {\n\t\t\terrorMsg = payload.data.error.detail;\n\t\t}\n\n\t\tdispatch(DPS_TOAST_ALERT, {\n\t\t\tmessage: errorMsg,\n\t\t\ttype: DPS_TOAST_ALERT_TYPES.ERROR\n\t\t});\n\n\t\tupdateProperties({\n\t\t\tfetching: false\n\t\t});\n\t},\n\t[DPS_PLAYGROUND_DELETE]: createHttpEffect(`${DPS_PLAYGROUND_API}/delete`, {\n\t\tbatch: false,\n\t\tmethod: 'POST',\n\t\tdataParam: 'data',\n\t\tsuccessActionType: DPS_PLAYGROUND_DELETE_SUCCESS,\n\t\terrorActionType: DPS_PLAYGROUND_DELETE_ERROR\n\t}),\n\t[DPS_PLAYGROUND_DELETE_SUCCESS]: ({ properties, dispatch }) => {\n\t\tconst { componentName, release } = properties;\n\n\t\tdispatch(DPS_TOAST_ALERT, {\n\t\t\tmessage:\"Deleted configuration\",\n\t\t\ttype: DPS_TOAST_ALERT_TYPES.SUCCESS\n\t\t});\n\n\t\tdispatch(DPS_PLAYGROUND_FETCH, {\n\t\t\tcomponentName,\n\t\t\trelease\n\t\t});\n\t},\n\t[DPS_PLAYGROUND_DELETE_ERROR]: ({ dispatch, updateProperties }) => {\n\t\tdispatch(DPS_TOAST_ALERT, {\n\t\t\tmessage:\"Error deleting configuration\",\n\t\t\ttype: DPS_TOAST_ALERT_TYPES.ERROR\n\t\t});\n\n\t\tupdateProperties({\n\t\t\tfetching: false\n\t\t});\n\t},\n};\n","import { addHashBang } from '../behaviors/router/helpers';\n\n/**\n * Creates playground permalink with query params\n * @param {Object} config\n * @returns {string}\n */\nconst createPermalink = (pathname, config) => {\n\tconst newConfig = {...config};\n\tObject.keys(newConfig).forEach(item => {\n\t\tif (typeof newConfig[item] === 'object') {\n\t\t\tnewConfig[item] = JSON.stringify(newConfig[item]);\n\t\t}\n\t});\n\tconst params = new URLSearchParams(newConfig);\n\tconst hashParams = addHashBang(`${pathname}?${params.toString()}`);\n\treturn `${window.location.origin}${hashParams}`;\n};\n\nexport default createPermalink;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../../dps-button';\nimport styles from './dps-playground-permalink-button.scss';\nimport createPermalink from '../../../utils/createPermalink';\n\nconst view = (state, updateProperties) => {\n\tconst { label, successLabel, config, hasBeenCopied, pathname } = state.properties;\n\tif (!navigator.clipboard) {\n\t\t// if the browser doesn't support the\n\t\t// clipboard API we won't show the component\n\t\treturn null;\n\t}\n\n\tconst permalinkText = createPermalink(pathname, config);\n\n\treturn (\n\t\t<dps-button\n\t\t\tvariant=\"secondary\"\n\t\t\tsize=\"sm\"\n\t\t\tlabel={hasBeenCopied ? successLabel : label }\n\t\t\ticon='documentsOutline'\n\t\t\ton-click={() => {\n\t\t\t\tupdateProperties({ hasBeenCopied: true });\n\t\t\t\tnavigator.clipboard.writeText(permalinkText).then(\n\t\t\t\t\t() => console.log('Permalink copied:', permalinkText),\n\t\t\t\t\t() => console.warn('Could not copy permalink:', permalinkText)\n\t\t\t\t);\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nexport default createCustomElement('dps-playground-permalink-button', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tstyles,\n\tproperties: {\n\t\tlabel: {\n\t\t\tdefault: 'Copy'\n\t\t},\n\t\tsuccessLabel: {\n\t\t\tdefault: 'Copied'\n\t\t},\n\t\thasBeenCopied: {\n\t\t\tdefault: false\n\t\t},\n\t\tconfig: {\n\t\t\tdefault: {}\n\t\t},\n\t\tpathname: {\n\t\t\tdefault: ''\n\t\t}\n\t}\n});\n","import '@servicenow/now-toggle';\nimport '../dps-input';\nimport '../dps-dropdown';\nimport '../dps-input-autocomplete';\nimport './components/dps-playground-permalink-button';\n\nexport default (state, { updateState, dispatch }) => {\n\tconst { properties } = state;\n\tconst {\n\t\tfetching,\n\t\tsource,\n\t\tstageId,\n\t\tplaygroundReady,\n\t\tisEmpty,\n\t\tprototype,\n\t\tgallery\n\t} = properties;\n\n\tconst setStageRef = ref =>\n\t\tsetTimeout(() => {\n\t\t\tupdateState({ stageTarget: ref });\n\t\t});\n\n\tconst stageReady = source && stageId;\n\n\treturn (\n\t\t<div class={{\n\t\t\t['dps-playground']: true,\n\t\t\t['-playground-ready']: playgroundReady,\n\t\t\t['-playground-gallery-view']: gallery\n\t\t\t}}>\n\t\t\t<div className=\"dps-playground-view\">\n\t\t\t\t{stageReady ? (\n\t\t\t\t\t<iframe\n\t\t\t\t\tsrc={`${source}?stageId=${stageId}`}\n\t\t\t\t\thook-insert={({ elm }) => setStageRef(elm)}\n\t\t\t\t\thook-destroy={() => setStageRef(null)}\n\t\t\t\t\ton-load={() => {\n\t\t\t\t\t\tdispatch('DPS_PLAYGROUND#PLAYGROUND_READY', {\n\t\t\t\t\t\t\tprototype: prototype\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t{fetching ? (\n\t\t\t\t\t<div className=\"dps-playground-blocker\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<dps-spinner size=\"sm\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n","export default {\n\tcomponentName: {\n\t\tdefault: ''\n\t},\n\tfetching: {\n\t\tdefault: false\n\t},\n\tgallery: {\n\t\tdefault: false\n\t},\n\tisEmpty: {\n\t\tdefault: false\n\t},\n\tprototype: {\n\t\tdefault: ''\n\t},\n\tprototypeList: {\n\t\tdefault: []\n\t},\n\tplaygroundConfig: {\n\t\tdefault: {}\n\t},\n\trelease: {\n\t\tdefault: null\n\t},\n\tsharedPrototype: {\n\t\tdefault: {}\n\t},\n\tisLoggedIn: {\n\t\tdefault: false\n\t},\n\tuserPrototypes: {\n\t\tdefault: []\n\t},\n\tsource: {\n\t\tdefault: ''\n\t},\n\tstageId: {\n\t\tdefault: null\n\t},\n\tslottedContent: {\n\t\tdefault: null\n\t},\n\tpathname: {\n\t\tdefault: ''\n\t},\n\tqueryParams: {\n\t\tdefault: ''\n\t},\n\tplaygroundReady: {\n\t\tdefault: false\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-playground.scss';\nimport { actionHandlers } from './actions';\nimport view from './view';\nimport properties from './properties';\n\nexport default createCustomElement('dps-playground', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tinitialState: {\n\t\tstageTarget: null\n\t},\n\tproperties,\n\tactionHandlers,\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-playground';\n\nexport default createCustomElement('dps-playground-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-playground></dps-playground>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme.js'; // loads fonts/theme\nimport '../../src/components/dps-prev-next-doc';\n\nexport default createCustomElement('dps-prev-next-doc-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-prev-next-doc\n\t\t\tprev={{\n\t\t\t\tlabel: 'Previous Lesson',\n\t\t\t\tdescription: 'Introduction To Client-side Scripting',\n\t\t\t}}\n\t\t\tnext={{\n\t\t\t\tlabel: 'Next Lesson',\n\t\t\t\tdescription: 'The Script Field',\n\t\t\t}}\n\t\t></dps-prev-next-doc>\n\t)\n});\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme.js'; // loads fonts/theme\nimport '../../src/components/dps-progress-bar';\n\nconst { COMPONENT_BOOTSTRAPPED } = actionTypes;\nconst DPS_PROGRESS_BAR_EXAMPLE_SET_BAR_VALUE = 'DPS_PROGRESS_BAR_EXAMPLE_SET_BAR_VALUE';\n\nexport default createCustomElement('dps-progress-bar-example', {\n\trenderer: { type: snabbdom },\n\tstyles: `\n\t\tdps-progress-bar {\n\t\t\tdisplay: block;\n\t\t\tmargin-bottom: 10px;\n\t\t}\n\t`,\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]({ dispatch, state: { barValues: { bar1, bar2 }} }) {\n\t\t\tdispatch(DPS_PROGRESS_BAR_EXAMPLE_SET_BAR_VALUE, {\n\t\t\t\tbar: 'bar1',\n\t\t\t\tvalue: bar1 + 1\n\t\t\t});\n\n\t\t\tdispatch(DPS_PROGRESS_BAR_EXAMPLE_SET_BAR_VALUE, {\n\t\t\t\tbar: 'bar2',\n\t\t\t\tvalue: bar2 + 7\n\t\t\t});\n\t\t},\n\t\t[DPS_PROGRESS_BAR_EXAMPLE_SET_BAR_VALUE]({ dispatch, action: { payload: { bar, value } }, updateState }) {\n\t\t\tupdateState({\n\t\t\t\tpath: `barValues.${bar}`,\n\t\t\t\tvalue,\n\t\t\t\toperation: 'set'\n\t\t\t});\n\n\t\t\tswitch (bar) {\n\t\t\t\tcase 'bar1':\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tif (value < 100) {\n\t\t\t\t\t\t\tdispatch(DPS_PROGRESS_BAR_EXAMPLE_SET_BAR_VALUE, {\n\t\t\t\t\t\t\t\tbar: 'bar1',\n\t\t\t\t\t\t\t\tvalue: Math.min(100, value + 1)\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 250);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'bar2':\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tdispatch(DPS_PROGRESS_BAR_EXAMPLE_SET_BAR_VALUE, {\n\t\t\t\t\t\t\tbar,\n\t\t\t\t\t\t\tvalue: value === 50 ? 0 : Math.min(50, value + 7)\n\t\t\t\t\t\t});\n\t\t\t\t\t}, 1500);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t},\n\tinitialState: {\n\t\tbarValues: {\n\t\t\tbar1: 2,\n\t\t\tbar2: 65\n\t\t}\n\t},\n\tview: ({ barValues }) => (\n\t\t<Fragment>\n\t\t\t<dps-progress-bar\n\t\t\t\tvalue={barValues.bar1}\n\t\t\t\tlabel-width=\"7em\"\n\t\t\t></dps-progress-bar>\n\t\t\t<dps-progress-bar\n\t\t\t\tvalue={barValues.bar2}\n\t\t\t\tmax-value={50}\n\t\t\t\tunit=\"/50\"\n\t\t\t\tlabel=\"Deleted\"\n\t\t\t></dps-progress-bar>\n\t\t\t<dps-progress-bar\n\t\t\t\tvalue={65}\n\t\t\t></dps-progress-bar>\n\t\t</Fragment>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-progress-circle';\n\nexport default createCustomElement('dps-progress-circle-example', {\n\trenderer: { type: snabbdom },\n\tstyles: `\n\t\t:host {\n\t\t\tdisplay: block;\n\t\t\tpadding: 20px;\n\t\t}\n\n\t\tdps-progress-circle {\n\t\t\tmargin-bottom: 20px;\n\t\t}\n\t`,\n\tview: () => (\n\t\t<Fragment>\n\t\t\t<dps-progress-circle size=\"lg\" percent=\"0.056\" title=\"1/18\" subtitle=\"Modules Completed\"></dps-progress-circle>\n\t\t\t<dps-progress-circle size=\"lg\" no-progress title=\"0/18\" subtitle=\"Modules Completed\"></dps-progress-circle>\n\t\t\t<dps-progress-circle size=\"lg\" percent=\"1\" title=\"18/18\" subtitle=\"Modules Completed\"></dps-progress-circle>\n\t\t\t<dps-progress-circle size=\"md\" percent=\"0.5\" title=\"50%\"></dps-progress-circle>\n\t\t\t<dps-progress-circle size=\"md\" percent=\"1\" title=\"100%\"></dps-progress-circle>\n\t\t\t<dps-progress-circle size=\"sm\" percent=\"0.5\"></dps-progress-circle>\n\t\t\t<dps-progress-circle size=\"sm\" percent=\"1\"></dps-progress-circle>\n\t\t</Fragment>\n\t)\n});\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-question.scss';\nimport hljs from '../../utils/hljs-pack';\n\nconst DPSQuestion = (state, {updateProperties, dispatch}) => {\n\tvar {properties: {answerVisible, question, answer}} = state;\n\n\tfunction toggleAnswer() {\n\t\tdispatch('DPS_QUESTION#CLICKED', {answerVisible, question, answer});\n\t\tupdateProperties({\n\t\t\tanswerVisible: !answerVisible\n\t\t});\n\t}\n\n\tconst highlightCode = elm => elm.querySelectorAll('pre code').forEach(block => {\n\t\thljs.highlightBlock(block);\n\t});\n\n\tquestion = question && question.replace(/\\#singleQuote/g,'\\'');\n\tanswer = answer && answer.replace(/\\#singleQuote/g, '\\'');\n\treturn (\n\t\t<div className='dps-question-block'>\n\t\t\t<div onclick={toggleAnswer}>\n\t\t\t\t<span class={{\n\t\t\t\t\t'dps-question-triangle': true,\n\t\t\t\t\t'-rotated':answerVisible\n\t\t\t\t}}>&#9658;</span>\n\t\t\t\t<span\n\t\t\t\t\tinnerHTML={question}\n\t\t\t\t\thook-insert={({elm}) => highlightCode(elm)}\n\t\t\t\t\thook-update={({elm})=> highlightCode(elm)}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{\n\t\t\t\tanswerVisible ?\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName='dps-question-answer'\n\t\t\t\t\t\tinnerHTML={answer}\n\t\t\t\t\t\thook-insert={({elm}) => highlightCode(elm)}\n\t\t\t\t\t\thook-update={({elm})=> highlightCode(elm)}\n\t\t\t\t\t></div>\n\t\t\t\t\t: null\n\t\t\t}\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-question', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview: DPSQuestion,\n\tproperties: {\n\t\tanswerVisible: {\n\t\t\tdefault: false\n\t\t},\n\t\tquestion: {\n\t\t\tdefault: ''\n\t\t},\n\t\tanswer: {\n\t\t\tdefault: ''\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-question';\n\nexport default createCustomElement('dps-question-example', {\n\trenderer: { type: snabbdom },\n\tstyles: `\n\t\tmain {\n\t\t\tdisplay: grid;\n\t\t\tgrid-template-columns: 1fr 1fr 1fr 1fr;\n\t\t\tpadding: 30px;\n\t\t}\n\t`,\n\tview: () => (\n\t\t<main>\n\t\t\t<dps-question question={'Would you like to see the answer?'} answer={'no'}></dps-question>\n\t\t</main>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-scoped-equivalent';\n\nexport default createCustomElement('dps-scoped-equivalent-example', {\n\trenderer: { type: snabbdom },\n\tstyles: `\n\t\t:host {\n\t\t\tdisplay: block;\n\t\t\tpadding: 20px;\n\t\t}\n\t`,\n\tview: () => (\n\t\t\t<dps-scoped-equivalent scoped-equivalent-text=\"<p> This is a scoped equivalent text with an\n\t\t\t <span class='keyword apiname'>Api name </span> and an <a class='extRef' href='#'>anchor tag</a></p>\">\n\t\t\t</dps-scoped-equivalent>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-scr-notice.scss';\nimport '../dps-link';\nimport '../dps-alert';\n\nconst view = () => (\n\t<Fragment>\n\t\t<h3>Can't find a specific component?</h3>\n\t\t<p>\n\t\t\tUse the <strong>Seismic Component Registry (SCR)</strong> to find out if a component exists and where it is in production.\n\t\t</p>\n\t\t<dps-link\n\t\t\tbutton-size=\"sm\"\n\t\t\tbutton-style\n\t\t\tbutton-variant=\"secondary\"\n\t\t\texternal-action\n\t\t\thref=\"https://buildtools1.service-now.com/$pa_dashboard.do?sysparm_dashboard=8e3b7147dbde00103121e855ca9619c0\"\n\t\t\tslot=\"button\"\n\t\t\ttarget=\"_blank\"\n\t\t>\n\t\t\tVisit the SCR\n\t\t</dps-link>\n\t</Fragment>\n);\n\nexport default createCustomElement('dps-scr-notice', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-scr-notice';\n\nexport default createCustomElement('dps-scr-notice-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-scr-notice></dps-scr-notice>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-search';\n\nexport default createCustomElement('dps-search-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-search></dps-search>\n\t)\n});\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-search-result-item.scss';\nimport '../dps-star-rating';\nimport { createPath } from '../../utils/url';\n\nconst getCategoryLink = category => {\n\tconst categories = category.split(','),\n\t\treturnObj = [];\n\tcategories.map(categoryItem =>\n\t\treturnObj.push({\n\t\t\tcategory: categoryItem,\n\t\t\tcategoryLinkTag: `/blog.do?p=/categories/${categoryItem &&\n\t\t\t\tcategoryItem.toLowerCase().replace(/\\s/g, '-')}/`\n\t\t})\n\t);\n\treturn returnObj;\n};\n\nconst view = ({properties: {categoryKey, result, index, isSolrEnabled}}, dispatch) => {\n\tlet { title } = result;\n\tconst {\n\t\tcourse_link, \n\t\tcourse_name,\n\t\tpage,\n\t\ttype,\n\t\tkeywords,\n\t\tsysId,\n\t\trequestResponseSysID\n\t} = result;\n\tlet {category} = result;\n\tlet categoryLink;\n\tlet categoryTag, categoryTags = [];\n\tlet categoryTarget = null;\n\n\t// Specific overrides for different types of results\n\t// some results don't have a title, so we will use the name.\n\tswitch(categoryKey){\n\t\tcase 'blog_section':\n\t\t\tcategoryLink =  category && category.includes(',') ?\n\t\t\t\tgetCategoryLink(category)\n\t\t\t\t: `/blog.do?p=/categories/${category && category.toLowerCase().replace(/\\s/g, '-')}/`;\n\t\t\tcategoryTarget = '_blank';\n\t\t\tbreak;\n\t\tcase 'community_section':\n\t\t\tcategory = result.module_name;\n\t\t\tcategoryLink = result.module_link;\n\t\t\tcategoryTarget = '_blank';\n\t\t\tbreak;\n\t\tcase 'learn_section':\n\t\t\tcategory = result.module_name;\n\t\t\tcategoryLink = result.module_link && createPath(result.module_link);\n\t\t\tbreak;\n\t\tcase 'reference_section':\n\t\t\tif(isSolrEnabled) {\n\t\t\t\ttitle = `${result.name || result.title}`;\n\t\t\t} else if(result.type) {\n\t\t\t\ttitle = `${result.type} | ${result.name}`;\n\t\t\t} else {\n\t\t\t\ttitle = `${result.name}`;\n\t\t\t}\n\t\t\tif (result.link === result.class_link){\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcategory = result.class_name;\n\t\t\tcategoryLink = result.class_link && createPath(result.class_link);\n\t\t\tbreak;\n\t\tcase 'share_section':\n\t\t\tcategoryLink = `/connect.do#!/share/contents?category=${\n\t\t\t\tcategory ? category.replace(/\\s/g, '_') : ''\n\t\t\t}&page=1`;\n\t\t\tcategoryTarget = '_blank';\n\t\t\tbreak;\n\t}\n\n\tif (Array.isArray(categoryLink)) {\n\t\tcategoryLink.map(categoryItem =>\n\t\t\tcategoryTags.push(\n\t\t\t\t<Fragment>\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={categoryItem.categoryLinkTag}\n\t\t\t\t\t\ttarget={categoryTarget}\n\t\t\t\t\t\tclassName=\"dps-search-result-category-item\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{categoryItem.category}\n\t\t\t\t\t</a>\n\t\t\t\t&nbsp;&nbsp;&nbsp;\n\t\t\t\t</Fragment>\n\t\t\t)\n\t\t);\n\t}\n\n\tcategoryTag = categoryLink && categoryTags.length <= 0\n\t\t? (\n\t\t\t<a href={categoryLink} target={categoryTarget} className=\"dps-search-result-category-item\">\n\t\t\t\t{category}\n\t\t\t</a>\n\t\t) : null;\n\n\t// Reference Section needs two links\n\tif (course_name && categoryTag && course_link){\n\t\tcategoryTag = (\n\t\t\t<span>\n\t\t\t\t<a href={course_link && createPath(course_link)} className=\"dps-search-result-category-item\">\n\t\t\t\t\t{course_name}\n\t\t\t\t</a>\n\t\t\t\t&nbsp;>&nbsp;{categoryTag}\n\t\t\t</span>);\n\t}\n\n\t// Render a relatively standard output with conditional\n\t// rendering for optional bits of category.\n\treturn (\n\t\t<div className=\"dps-search-result-item\">\n\t\t\t<header>\n\t\t\t\t<h3>\n\t\t\t\t\t<dps-link \n\t\t\t\t\t\tbutton-style \n\t\t\t\t\t\tbare \n\t\t\t\t\t\tinherit \n\t\t\t\t\t\ttarget={categoryTarget} \n\t\t\t\t\t\thref={result.link || result.path} \n\t\t\t\t\t\tinnerHTML={title}\n\t\t\t\t\t\ton-mousedown={e => {\n\t\t\t\t\t\t\tisSolrEnabled ? \n\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\t'SEARCH_ACTIONS#TRACK_SEARCH_LINKS_CLICKS',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t\t\t\tkeywords: keywords,\n\t\t\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\t\t\t\t\tpage,\n\t\t\t\t\t\t\t\t\t\t\tsysId,\n\t\t\t\t\t\t\t\t\t\t\trequestResponseSysID,\n\t\t\t\t\t\t\t\t\t\t\tindex\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t: null;\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</h3>\n\t\t\t\t{category || result.rating ? (\n\t\t\t\t\t<div className=\"dps-search-result-category\">\n\t\t\t\t\t\t{categoryTag ? categoryTag : null}\n\t\t\t\t\t\t{categoryTags ?\n\t\t\t\t\t\t\tcategoryTags.map(categoryTagItem => categoryTagItem)\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{(result.rating && categoryKey === 'share_section')? (\n\t\t\t\t\t\t\t<span className=\"rating dps-search-result-category-item\">\n\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t<dps-star-rating rating={result.rating} />\n\t\t\t\t\t\t\t\t\t{result.total_ratings && result.total_ratings > 0 ? (\n\t\t\t\t\t\t\t\t\t\t<span className=\"total-ratings\">\n\t\t\t\t\t\t\t\t\t\t\t{result.total_ratings}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t</header>\n\t\t\t<p innerHTML={result.description} />\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-search-result-item', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\tresult: {\n\t\t\tdefault: {}\n\t\t},\n\t\tcategoryKey: {\n\t\t\tdefault: ''\n\t\t},\n\t\tindex: {\n\t\t\tdefault: 0\n\t\t},\n\t\tsystemProperties: {\n\t\t\tdefault: {}\n\t\t},\n\t\tisSolrEnabled: {\n\t\t\tcomputed({properties}) {\n\t\t\t\tconst {systemProperties} = properties;\n\t\t\t\treturn systemProperties && systemProperties['dev.search.enable_solr_search'] == \"true\";\n\t\t\t}\n\t\t}\n\t},\n\tstyles\n});\n","export const SEARCH_ACTIONS = {\n\tRESULTS_FETCH: 'SEARCH_ACTIONS#RESULTS_FETCH',\n\tRESULTS_FETCH_FAILED: 'SEARCH_ACTIONS#RESULTS_FETCH_FAILED',\n\tRESULTS_FETCH_SUCCEEDED: 'SEARCH_ACTIONS#RESULTS_FETCH_SUCCEEDED',\n\tSUBMIT_SEARCH: 'SEARCH_ACTIONS#SUBMIT_SEARCH',\n\tUPDATE_QUERY: 'SEARCH_ACTIONS#UPDATE_QUERY',\n\tUPDATE_DIRTY: 'SEARCH_ACTIONS#UPDATE_DIRTY',\n\tCHANGE_PAGE: 'DPS_PAGINATION#PAGE_SET',\n\tPREV_PAGE: 'DPS_PAGINATION#PREV_PAGE',\n\tNEXT_PAGE: 'DPS_PAGINATION#NEXT_PAGE',\n\tGET_AUTO_SUGGESTIONS: 'SEARCH_ACTIONS#GET_AUTO_SUGGESTIONS',\n\tGET_AUTO_SUGGESTIONS_SUCCEEDED:\n\t\t'SEARCH_ACTIONS#GET_AUTO_SUGGESTIONS_SUCCEEDED',\n\tGET_AUTO_SUGGESTIONS_FAILED: 'SEARCH_ACTIONS#GET_AUTO_SUGGESTIONS_FAILED',\n\tINPUT_VALUE_CHANGE: 'DPS_INPUT#VALUE_CHANGE',\n\tINPUT_VALUE_CLEAR: 'DPS_INPUT#VALUE_CLEAR',\n\tINPUT_CLOSE_BUTTON_CLICKED: 'DPS_INPUT#CLOSE_BUTTON_CLICKED',\n\tKEYBOARD_KEY_CLICKED: 'SEARCH_ACTIONS#KEYBOARD_KEY_CLICKED',\n\tAUTO_SUGGEST_LIST_ITEM_SELECTED:\n\t\t'SEARCH_ACTIONS#AUTO_SUGGEST_LIST_ITEM_SELECTED',\n\tPERFORM_SEARCH: 'SEARCH_ACTIONS#PERFORM_SEARCH',\n\tTRACK_SEARCH_LINKS_CLICKS: 'SEARCH_ACTIONS#TRACK_SEARCH_LINKS_CLICKS',\n\tTRACK_SEARCH_LINKS_CLICKS_SUCCEEDED:\n\t\t'SEARCH_ACTIONS#TRACK_SEARCH_LINKS_CLICKS_SUCCEEDED'\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../dps-search-result-item';\nimport '../../components/dps-link';\nimport { createPath } from '../../utils/url';\nimport renderSVG from '../../utils/render-svg';\nimport { SEARCH_ACTIONS } from '../../connected-components/dps-search-results/actions';\n\nimport styles from './dps-search-category.scss';\n\nimport { DPS_SEARCH_SECTION_NAMES } from '../../constants';\nimport { encodeForSearch } from '../../connected-components/dps-search-results/dps-search-helpers';\n\n// `selectedCategory` here refers to the selected category stored in state\nconst view = (\n\t{\n\t\tproperties: {\n\t\t\ticon,\n\t\t\tbackgroundColor,\n\t\t\tselectedCategory,\n\t\t\tcategoryKey,\n\t\t\tcategoryResults,\n\t\t\tpagination,\n\t\t\tactivePage,\n\t\t\tquery,\n\t\t\trelease,\n\t\t\tsystemProperties,\n\t\t\tisSolrEnabled\n\t\t}\n\t},\n\tdispatch\n) => {\n\tconst { label, description, fullTitle } = DPS_SEARCH_SECTION_NAMES[\n\t\tcategoryKey\n\t];\n\tconst viewingAll = selectedCategory === 'All';\n\tconst resultLimit = viewingAll ? pagination.allPerPage : pagination.perPage;\n\tconst { last_page: lastPage } = categoryResults;\n\tconst displayShowMoreLink = isSolrEnabled ? (categoryResults.results.length > 3) : true;\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'search-category': true,\n\t\t\t\t[`-${backgroundColor}`]: true\n\t\t\t}}\n\t\t>\n\t\t\t<header>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'search-category-icon': true,\n\t\t\t\t\t\t[`-${backgroundColor}`]: true\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{renderSVG({\n\t\t\t\t\t\tclassName: categoryKey,\n\t\t\t\t\t\twidth: '20',\n\t\t\t\t\t\theight: '20',\n\t\t\t\t\t\tinnerSVG: icon\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t\t<div className=\"search-category-meta\">\n\t\t\t\t\t<h4>{fullTitle}</h4>\n\t\t\t\t\t<p>{description}</p>\n\t\t\t\t</div>\n\t\t\t</header>\n\t\t\t<div className=\"results\">\n\t\t\t\t{categoryResults.results.slice(0, resultLimit).map((result, index) => (\n\t\t\t\t\t<dps-search-result-item\n\t\t\t\t\t\tcategoryKey={categoryKey}\n\t\t\t\t\t\tcategoryLabel={label}\n\t\t\t\t\t\tresult={result}\n\t\t\t\t\t\tindex={index + 1}\n\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t\t{viewingAll ? (\n\t\t\t\t\tdisplayShowMoreLink ? (\n\t\t\t\t\t\t<div className=\"view-all-wrapper\">\n\t\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\tbuttonStyle\n\t\t\t\t\t\t\t\tbuttonVariant=\"secondary\"\n\t\t\t\t\t\t\t\thref={createPath(\n\t\t\t\t\t\t\t\t\t`/search/${release}/${label}/${encodeForSearch(query)}`\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\tinternal-action\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tSee All Results for “{query}” in {label}\n\t\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : null\n\t\t\t\t) : (\n\t\t\t\t\t<dps-pagination\n\t\t\t\t\t\tactive-item={parseInt(activePage, 10)}\n\t\t\t\t\t\ttotal-items={lastPage}\n\t\t\t\t\t\thidePageNumbers={isSolrEnabled && true}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-search-category', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\tcategoryKey: {\n\t\t\tdefault: null\n\t\t},\n\t\tselectedCategory: {\n\t\t\tdefault: ''\n\t\t},\n\t\tcategoryResults: {\n\t\t\tdefault: {}\n\t\t},\n\t\tpagination: {\n\t\t\tdefault: {}\n\t\t},\n\t\tactivePage: {\n\t\t\tdefault: 1\n\t\t},\n\t\ticon: {\n\t\t\tdefault: null\n\t\t},\n\t\tquery: {\n\t\t\tdefault: ''\n\t\t},\n\t\trelease: {\n\t\t\tdefault: ''\n\t\t},\n\t\tbackgroundColor: {\n\t\t\tdefault: 'no-background-color'\n\t\t},\n\t\tisSolrEnabled: {\n\t\t\tdefault: false\n\t\t},\n\t\tsystemProperties: {\n\t\t\tdefault: {}\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-search-category';\n\nexport default createCustomElement('dps-search-category-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-search-category></dps-search-category>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-search-result-item';\n\nexport default createCustomElement('dps-search-result-item-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-search-result-item></dps-search-result-item>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-share-project-card';\n\nexport default createCustomElement('dps-share-project-card-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-share-project-card></dps-share-project-card>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-share-projects';\n\nexport default createCustomElement('dps-share-projects-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-share-projects></dps-share-projects>\n\t)\n});\n","const RawNav = {\n    'result': {\n        'components': [{\n            'name': 'now-alert',\n            'summary': 'Provides a message to the user as helpful information or warning.',\n            'title': 'Alert',\n            'has_usage': true\n        }, {\n            'name': 'now-alert-list',\n            'summary': 'A list of now-alert elements, which can optionally be dismissed.',\n            'title': 'Alert List',\n            'has_usage': true\n        }, {\n            'name': 'now-avatar',\n            'summary': 'Avatar that represents a user by their initials, a profile image,\\nor an anonymous icon.',\n            'title': 'Avatar',\n            'has_usage': true\n        }, {\n            'name': 'now-badge',\n            'summary': 'Numeric badge that indicates unread messages, notifications, and so on.',\n            'title': 'Badge',\n            'has_usage': true\n        }, {\n            'name': 'now-button',\n            'summary': 'Simple button. Contains a text label and an optional icon.',\n            'title': 'Button',\n            'has_usage': true\n        }, {\n            'name': 'now-button-bare',\n            'summary': 'Simple bare button. Can contain a text label, with or without icons\\n(before and/or after the label).',\n            'title': 'Button Bare',\n            'has_usage': true\n        }, {\n            'name': 'now-button-iconic',\n            'summary': 'Iconic button is a button used to display an actionable icon.\\nThe iconic button does not share all the properties of the standard button component.\\nThe iconic button only displays an icon and cannot display any other elements like labels.',\n            'title': 'Button Iconic',\n            'has_usage': true\n        }, {\n            'name': 'now-button-stateful',\n            'summary': 'The stateful button is a button used to display an actionable icon.\\nThe stateful button doesn\\'t share all the properties of the standard button component.\\nThe stateful button only displays an icon and cannot display any other elements, like labels.\\nThe button can be toggled between an on and off state.',\n            'title': 'Button Stateful',\n            'has_usage': true\n        }, {\n            'name': 'now-card',\n            'summary': 'A container for specific information in a simple, easily scannable format.',\n            'title': 'Card',\n            'has_usage': true\n        }, {\n            'name': 'now-card-actions',\n            'summary': 'Card subcomponent that enables the user to take action.',\n            'title': 'Card Actions',\n            'has_usage': true\n        }, {\n            'name': 'now-card-footer',\n            'summary': 'Footer subcomponent for custom cards',\n            'title': 'Card Footer',\n            'has_usage': true\n        }, {\n            'name': 'now-card-header',\n            'summary': 'Header subcomponent for custom cards.',\n            'title': 'Card Header',\n            'has_usage': true\n        }, {\n            'name': 'now-content-tree',\n            'summary': 'A hierarchical component that represents the relationship between parent and child nodes.',\n            'title': 'Content Tree',\n            'has_usage': true\n        }, {\n            'name': 'now-dropdown',\n            'summary': 'A dropdown menu that allows user to select one or more values.',\n            'title': 'Dropdown',\n            'has_usage': true\n        }, {\n            'name': 'now-heading',\n            'summary': 'Text that provides a short summary of content, styled to indicate the hierarchy of content on a page.',\n            'title': 'Heading',\n            'has_usage': true\n        }, {\n            'name': 'now-highlighted-value',\n            'summary': 'A styled label with an optional icon.',\n            'title': 'Highlighted Value',\n            'has_usage': true\n        }, {\n            'name': 'now-icon',\n            'summary': 'Custom icon set for the Now Design System.',\n            'title': 'Icon',\n            'has_usage': true\n        }, {\n            'name': 'now-icon-presence',\n            'summary': 'Presence indicator icon used to show availability of a user.',\n            'title': 'Icon Presence',\n            'has_usage': true\n        }, {\n            'name': 'now-image',\n            'summary': 'A simple, responsive image component.',\n            'title': 'Image',\n            'has_usage': false\n        }, {\n            'name': 'now-label-value-inline',\n            'summary': 'The `now-label-value-inline` component is an independent instance of the label-value pairs\\ncomponent that only displays horizontally. This component is placed in an existing layout unaware of\\nits surroundings. Pass settings into `now-label-value-inline` to format the label for your use case.',\n            'title': 'Label Value Inline',\n            'has_usage': true\n        }, {\n            'name': 'now-label-value-stacked',\n            'summary': 'The stacked label-value component provides the most flexibility with the following layout types:\\n- vertical: Best for layout label-value in a column or if horizontal space is limited.\\n- horizontal: Best for displaying label-value in columns or for associating label-values with a header or title.\\n- horizontal-equal: Best if you have the predefined size of the label-value\\'s parent container because it\\n                    equally fills the container based on its size.',\n            'title': 'Label Value Stacked',\n            'has_usage': true\n        }, {\n            'name': 'now-label-value-tabbed',\n            'summary': ' The label-value tabbed component provides a method to scan and read label-values\\nin a list form with a solution for displaying multiple label-values for cases in which\\nhorizontal space is limited.',\n            'title': 'Label Value Tabbed',\n            'has_usage': true\n        }, {\n            'name': 'now-loader',\n            'summary': 'An animated spinner to indicate a loading state',\n            'title': 'Loader',\n            'has_usage': true\n        }, {\n            'name': 'now-modal',\n            'summary': 'A modal dialog that overlays and temporarily disables underlying\\ncontent to provide information or ask for a decision from the user.',\n            'title': 'Modal',\n            'has_usage': true\n        }, {\n            'name': 'now-pill',\n            'summary': 'Indicates selected values in multi-select fields.',\n            'title': 'Pill',\n            'has_usage': true\n        }, {\n            'name': 'now-progress-bar',\n            'summary': 'A progress bar displays a path showing the completion or loading progress of an ongoing, user-initiated process.',\n            'title': 'Progress Bar',\n            'has_usage': true\n        }, {\n            'name': 'now-rich-text',\n            'summary': 'Renders HTML content.',\n            'title': 'Rich Text',\n            'has_usage': false\n        }, {\n            'name': 'now-split-button',\n            'summary': 'Button variation with a primary action and dropdown panel with related actions.',\n            'title': 'Split Button',\n            'has_usage': true\n        }, {\n            'name': 'now-tabs',\n            'summary': 'Horizontal tab menu for navigating between tabbed content.',\n            'title': 'Tabs',\n            'has_usage': true\n        }, {\n            'name': 'now-template-card-assist',\n            'summary': 'Assist template cards provide a method to display a summary of an assist record.',\n            'title': 'Template Card Assist',\n            'has_usage': false\n        }, {\n            'name': 'now-template-card-attachment',\n            'summary': 'Attachment template cards are best used to show a file has been or\\nwill be added to a record.',\n            'title': 'Template Card Attachment',\n            'has_usage': true\n        }, {\n            'name': 'now-template-card-omnichannel',\n            'summary': 'Omnichannel template cards provide a method for revealing content that\\nenables a user\\'s interaction.',\n            'title': 'Template Card Omnichannel',\n            'has_usage': false\n        }, {\n            'name': 'now-text-link',\n            'summary': 'A styled link displayed as a text label.',\n            'title': 'Text Link',\n            'has_usage': true\n        }, {\n            'name': 'now-toggle',\n            'summary': 'The toggle component changes the state of a single setting to on or off.',\n            'title': 'Toggle',\n            'has_usage': true\n        }, {\n            'name': 'now-tooltip',\n            'summary': 'Descriptive text that appears when the user hovers over or tabs to an element.',\n            'title': 'Tooltip',\n            'has_usage': true\n        }]\n    }\n}\n\nexport const ComponentNav = [\n\t{\n\t\tid: 'components-home',\n\t\tlabel: 'Components Home',\n\t\thref: '#!/reference/libraries/orlando/now-components'\n\t},\n\t{\n\t\tid: 'components',\n\t\tlabel: 'Now Components',\n\t\tchildren: RawNav.result.components.map( component => (\n\t\t\t{\n\t\t\t\tid: component.name,\n\t\t\t\tlabel: component.title,\n\t\t\t\thref: `#!/path/to/${component.name}/api`,\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: `${component.name}-api`,\n\t\t\t\t\t\tlabel: 'API',\n\t\t\t\t\t\thref: `#!/path/to/${component.name}/api`\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: `${component.name}-usage`,\n\t\t\t\t\t\tlabel: 'Usage',\n\t\t\t\t\t\thref: `#!/path/to/${component.name}/usage`\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t))\n\t}\n];\n","export const RawNav = {\n\t'rest': [{\n\t\t'dc_identifier': 'agent-api',\n\t\t'id': '6815ef6cdb618890db5e9015ca9619db',\n\t\t'is_selected': false,\n\t\t'items': [{\n\t\t\t'dc_identifier': 'agent-GET',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /now/awa/agents/{agent_sys_id}',\n\t\t\t'order': 10,\n\t\t\t'parentId': 'agent-api',\n\t\t\t'parent_permalink': 'class__rest_agent_api__orlando',\n\t\t\t'permalink': 'method_class__rest_agent_get_agent_presence_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'agent-PUT',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'PUT /now/awa/agents/{user_sys_id}',\n\t\t\t'order': 20,\n\t\t\t'parentId': 'agent-api',\n\t\t\t'parent_permalink': 'class__rest_agent_api__orlando',\n\t\t\t'permalink': 'method_class__rest_agent_put_agent_presence_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}],\n\t\t'name': 'Agent Presence API',\n\t\t'open_accordion': false,\n\t\t'order': '10',\n\t\t'permalink': 'class__rest_agent_api__orlando',\n\t\t'release': 'da520d8013c333003abb7d576144b05f',\n\t\t'type': 'Class',\n\t\t'variable': null\n\t}, {\n\t\t'dc_identifier': 'c_AggregateAPI',\n\t\t'id': 'c9156bacdb618890db5e9015ca96191e',\n\t\t'is_selected': false,\n\t\t'items': [{\n\t\t\t'dc_identifier': 'r_AggregateAPI-GET',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /now/stats/{tableName}',\n\t\t\t'order': 10,\n\t\t\t'parentId': 'c_AggregateAPI',\n\t\t\t'parent_permalink': 'class__rest_c_aggregateapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_aggregateapi_get_aggregate_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}],\n\t\t'name': 'Aggregate API',\n\t\t'open_accordion': false,\n\t\t'order': '20',\n\t\t'permalink': 'class__rest_c_aggregateapi__orlando',\n\t\t'release': 'da520d8013c333003abb7d576144b05f',\n\t\t'type': 'Class',\n\t\t'variable': null\n\t}, {\n\t\t'dc_identifier': 'application-service-API',\n\t\t'id': '25156bacdb618890db5e9015ca96197d',\n\t\t'is_selected': false,\n\t\t'items': [{\n\t\t\t'dc_identifier': 'createOrUpdateServicePOSTcreate',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /api/now/cmdb/app_service/create',\n\t\t\t'order': 10,\n\t\t\t'parentId': 'application-service-API',\n\t\t\t'parent_permalink': 'class__rest_application_service_api__orlando',\n\t\t\t'permalink': 'method_class__rest_createorupdateservicepostcreate_application_service_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'getContent-GET-cmdb-appService-sysId',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /api/now/cmdb/app_service/{sys_id}/getContent',\n\t\t\t'order': 20,\n\t\t\t'parentId': 'application-service-API',\n\t\t\t'parent_permalink': 'class__rest_application_service_api__orlando',\n\t\t\t'permalink': 'method_class__rest_getcontent_get_cmdb_appservice_sysid_application_service_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}],\n\t\t'name': 'Application Service API',\n\t\t'open_accordion': false,\n\t\t'order': '30',\n\t\t'permalink': 'class__rest_application_service_api__orlando',\n\t\t'release': 'da520d8013c333003abb7d576144b05f',\n\t\t'type': 'Class',\n\t\t'variable': null\n\t}, {\n\t\t'dc_identifier': 'c_AttachmentAPI',\n\t\t'id': 'bd156bacdb618890db5e9015ca961996',\n\t\t'is_selected': false,\n\t\t'items': [{\n\t\t\t'dc_identifier': 'r_AttachmentAPI-GET',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /now/attachment',\n\t\t\t'order': 10,\n\t\t\t'parentId': 'c_AttachmentAPI',\n\t\t\t'parent_permalink': 'class__rest_c_attachmentapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_attachmentapi_get_attachment_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'r_AttachmentAPI-GETid',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /now/attachment/{sys_id}',\n\t\t\t'order': 20,\n\t\t\t'parentId': 'c_AttachmentAPI',\n\t\t\t'parent_permalink': 'class__rest_c_attachmentapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_attachmentapi_getid_attachment_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'r_AttachmentAPI-GETidFile',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /now/attachment/{sys_id}/file',\n\t\t\t'order': 30,\n\t\t\t'parentId': 'c_AttachmentAPI',\n\t\t\t'parent_permalink': 'class__rest_c_attachmentapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_attachmentapi_getidfile_attachment_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'r_AttachmentAPI-POST',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /now/attachment/file',\n\t\t\t'order': 40,\n\t\t\t'parentId': 'c_AttachmentAPI',\n\t\t\t'parent_permalink': 'class__rest_c_attachmentapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_attachmentapi_post_attachment_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'r_AttachmentAPI-POSTmultipart',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /now/attachment/upload',\n\t\t\t'order': 50,\n\t\t\t'parentId': 'c_AttachmentAPI',\n\t\t\t'parent_permalink': 'class__rest_c_attachmentapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_attachmentapi_postmultipart_attachment_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'r_AttachmentAPI-DELETE',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'DELETE /now/attachment/{sys_id}',\n\t\t\t'order': 60,\n\t\t\t'parentId': 'c_AttachmentAPI',\n\t\t\t'parent_permalink': 'class__rest_c_attachmentapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_attachmentapi_delete_attachment_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}],\n\t\t'name': 'Attachment API',\n\t\t'open_accordion': false,\n\t\t'order': '40',\n\t\t'permalink': 'class__rest_c_attachmentapi__orlando',\n\t\t'release': 'da520d8013c333003abb7d576144b05f',\n\t\t'type': 'Class',\n\t\t'variable': null\n\t}, {\n\t\t'dc_identifier': 'change-management-api',\n\t\t'id': '92156bacdb618890db5e9015ca9619e6',\n\t\t'is_selected': false,\n\t\t'items': [{\n\t\t\t'dc_identifier': 'changemgmt-POST-std-create-chng-req',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /sn_chg_rest/change/standard/{standard_change_template_id}',\n\t\t\t'order': 10,\n\t\t\t'parentId': 'change-management-api',\n\t\t\t'parent_permalink': 'class__rest_change_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_changemgmt_post_std_create_chng_req_change_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'changemgmt-GET-std-chng-req-multi',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /sn_chg_rest/change/standard',\n\t\t\t'order': 20,\n\t\t\t'parentId': 'change-management-api',\n\t\t\t'parent_permalink': 'class__rest_change_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_changemgmt_get_std_chng_req_multi_change_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'changemgmt-GET-std-chng-req',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /sn_chg_rest/change/standard/{sys_id}',\n\t\t\t'order': 30,\n\t\t\t'parentId': 'change-management-api',\n\t\t\t'parent_permalink': 'class__rest_change_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_changemgmt_get_std_chng_req_change_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'changemgmt-PATCH-std-chng-req-body',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'PATCH /sn_chg_rest/change/standard/{sys_id}',\n\t\t\t'order': 40,\n\t\t\t'parentId': 'change-management-api',\n\t\t\t'parent_permalink': 'class__rest_change_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_changemgmt_patch_std_chng_req_body_change_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'changemgmt-PATCH-std-chng-risk',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'PATCH /sn_chg_rest/change/standard/{sys_id}/risk',\n\t\t\t'order': 50,\n\t\t\t'parentId': 'change-management-api',\n\t\t\t'parent_permalink': 'class__rest_change_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_changemgmt_patch_std_chng_risk_change_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'changemgmt-DELETE-std-chng-req',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'DELETE /sn_chg_rest/change/standard/{sys_id}',\n\t\t\t'order': 60,\n\t\t\t'parentId': 'change-management-api',\n\t\t\t'parent_permalink': 'class__rest_change_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_changemgmt_delete_std_chng_req_change_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'changemgmt-GET-std-chng-template-multi',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /sn_chg_rest/change/standard/template',\n\t\t\t'order': 70,\n\t\t\t'parentId': 'change-management-api',\n\t\t\t'parent_permalink': 'class__rest_change_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_changemgmt_get_std_chng_template_multi_change_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'changemgmt-GET-std-chng-template',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /sn_chg_rest/change/standard/template/{sys_id}',\n\t\t\t'order': 80,\n\t\t\t'parentId': 'change-management-api',\n\t\t\t'parent_permalink': 'class__rest_change_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_changemgmt_get_std_chng_template_change_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'changemgmt-POST-normal-create-chng-req',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /sn_chg_rest/change/normal',\n\t\t\t'order': 90,\n\t\t\t'parentId': 'change-management-api',\n\t\t\t'parent_permalink': 'class__rest_change_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_changemgmt_post_normal_create_chng_req_change_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'changemgmt-GET-norm-chng-req-multi',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /sn_chg_rest/change/normal',\n\t\t\t'order': 100,\n\t\t\t'parentId': 'change-management-api',\n\t\t\t'parent_permalink': 'class__rest_change_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_changemgmt_get_norm_chng_req_multi_change_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'changemgmt-GET-norm-chng-req',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /sn_chg_rest/change/normal/{sys_id}',\n\t\t\t'order': 110,\n\t\t\t'parentId': 'change-management-api',\n\t\t\t'parent_permalink': 'class__rest_change_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_changemgmt_get_norm_chng_req_change_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'changemgmt-PATCH-norm-chng-req-body',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'PATCH /sn_chg_rest/change/normal/{sys_id}',\n\t\t\t'order': 120,\n\t\t\t'parentId': 'change-management-api',\n\t\t\t'parent_permalink': 'class__rest_change_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_changemgmt_patch_norm_chng_req_body_change_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'changemgmt-DELETE-norm-chng-req',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'DELETE /sn_chg_rest/change/normal/{sys_id}',\n\t\t\t'order': 130,\n\t\t\t'parentId': 'change-management-api',\n\t\t\t'parent_permalink': 'class__rest_change_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_changemgmt_delete_norm_chng_req_change_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'changemgmt-POST-emerg-create-chng-req',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /sn_chg_rest/change/emergency',\n\t\t\t'order': 140,\n\t\t\t'parentId': 'change-management-api',\n\t\t\t'parent_permalink': 'class__rest_change_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_changemgmt_post_emerg_create_chng_req_change_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'changemgmt-GET-emerg-chng-req-multi',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /sn_chg_rest/change/emergency',\n\t\t\t'order': 150,\n\t\t\t'parentId': 'change-management-api',\n\t\t\t'parent_permalink': 'class__rest_change_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_changemgmt_get_emerg_chng_req_multi_change_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'changemgmt-GET-emerg-chng-req',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /sn_chg_rest/change/emergency/{sys_id}',\n\t\t\t'order': 160,\n\t\t\t'parentId': 'change-management-api',\n\t\t\t'parent_permalink': 'class__rest_change_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_changemgmt_get_emerg_chng_req_change_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'changemgmt-PATCH-emerg-chng-req-body',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'PATCH /sn_chg_rest/change/emergency/{sys_id}',\n\t\t\t'order': 170,\n\t\t\t'parentId': 'change-management-api',\n\t\t\t'parent_permalink': 'class__rest_change_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_changemgmt_patch_emerg_chng_req_body_change_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'changemgmt-DELETE-emerg-chng-req',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'DELETE /sn_chg_rest/change/emergency/{sys_id}',\n\t\t\t'order': 180,\n\t\t\t'parentId': 'change-management-api',\n\t\t\t'parent_permalink': 'class__rest_change_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_changemgmt_delete_emerg_chng_req_change_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'changemgmt-POST-task-create-chng-req',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /sn_chg_rest/change/{change_sys_id}/task',\n\t\t\t'order': 190,\n\t\t\t'parentId': 'change-management-api',\n\t\t\t'parent_permalink': 'class__rest_change_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_changemgmt_post_task_create_chng_req_change_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'changemgmt-GET-task-chng-req-multi',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /sn_chg_rest/change/{change_sys_id}/task',\n\t\t\t'order': 200,\n\t\t\t'parentId': 'change-management-api',\n\t\t\t'parent_permalink': 'class__rest_change_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_changemgmt_get_task_chng_req_multi_change_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'changemgmt-GET-task-chng-req',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /sn_chg_rest/change/{change_sys_id}/task/{task_sys_id}',\n\t\t\t'order': 210,\n\t\t\t'parentId': 'change-management-api',\n\t\t\t'parent_permalink': 'class__rest_change_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_changemgmt_get_task_chng_req_change_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'changemgmt-PATCH-task-chng-req-body',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'PATCH /sn_chg_rest/change/{change_sys_id}/task/{task_sys_id}',\n\t\t\t'order': 220,\n\t\t\t'parentId': 'change-management-api',\n\t\t\t'parent_permalink': 'class__rest_change_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_changemgmt_patch_task_chng_req_body_change_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'changemgmt-DELETE-task-chng-req',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'DELETE /sn_chg_rest/change/{change_sys_id}/task/{task_sys_id}',\n\t\t\t'order': 230,\n\t\t\t'parentId': 'change-management-api',\n\t\t\t'parent_permalink': 'class__rest_change_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_changemgmt_delete_task_chng_req_change_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'changemgmt-POST-conflict-strt-chng-req',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /sn_chg_rest/change/{sys_id}/conflict',\n\t\t\t'order': 240,\n\t\t\t'parentId': 'change-management-api',\n\t\t\t'parent_permalink': 'class__rest_change_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_changemgmt_post_conflict_strt_chng_req_change_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'changemgmt-GET-conflict-status-chng-req',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /sn_chg_rest/change/{sys_id}/conflict',\n\t\t\t'order': 250,\n\t\t\t'parentId': 'change-management-api',\n\t\t\t'parent_permalink': 'class__rest_change_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_changemgmt_get_conflict_status_chng_req_change_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'changemgmt-DELETE-conflict-chng-req',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'DELETE /sn_chg_rest/change/{sys_id}/conflict',\n\t\t\t'order': 260,\n\t\t\t'parentId': 'change-management-api',\n\t\t\t'parent_permalink': 'class__rest_change_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_changemgmt_delete_conflict_chng_req_change_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'changemgmt-PATCH-apr-rej-chng-req',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'PATCH /sn_chg_rest/change/{sys_id}/approvals',\n\t\t\t'order': 270,\n\t\t\t'parentId': 'change-management-api',\n\t\t\t'parent_permalink': 'class__rest_change_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_changemgmt_patch_apr_rej_chng_req_change_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'changemgmt-GET-ci-chng-req',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /sn_chg_rest/change/{sys_id}/ci',\n\t\t\t'order': 280,\n\t\t\t'parentId': 'change-management-api',\n\t\t\t'parent_permalink': 'class__rest_change_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_changemgmt_get_ci_chng_req_change_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'changemgmt-POST-ci-chng-req',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /sn_chg_rest/change/{sys_id}/ci',\n\t\t\t'order': 290,\n\t\t\t'parentId': 'change-management-api',\n\t\t\t'parent_permalink': 'class__rest_change_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_changemgmt_post_ci_chng_req_change_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'changemgmt-GET-ci-chng-worker',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /sn_chg_rest/change/worker/{sys_id}',\n\t\t\t'order': 300,\n\t\t\t'parentId': 'change-management-api',\n\t\t\t'parent_permalink': 'class__rest_change_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_changemgmt_get_ci_chng_worker_change_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'changemgmt-POST-ci-ref_impact_svc',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /sn_chg_rest/change/{sys_id}/refresh_impacted_services',\n\t\t\t'order': 310,\n\t\t\t'parentId': 'change-management-api',\n\t\t\t'parent_permalink': 'class__rest_change_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_changemgmt_post_ci_ref_impact_svc_change_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}],\n\t\t'name': 'Change Management API',\n\t\t'open_accordion': false,\n\t\t'order': '50',\n\t\t'permalink': 'class__rest_change_management_api__orlando',\n\t\t'release': 'da520d8013c333003abb7d576144b05f',\n\t\t'type': 'Class',\n\t\t'variable': null\n\t}, {\n\t\t'dc_identifier': 'cmdb-ingest-api',\n\t\t'id': '04117684db8b8014da87de06f49619d0',\n\t\t'is_selected': false,\n\t\t'items': [{\n\t\t\t'dc_identifier': 'cmdb-ingest-POST-data_source',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /cmdb/ingest/{data_source_sys_id}',\n\t\t\t'order': 10,\n\t\t\t'parentId': 'cmdb-ingest-api',\n\t\t\t'parent_permalink': 'class__rest_cmdb_ingest_api__orlando',\n\t\t\t'permalink': 'method_class__rest_cmdb_ingest_post_data_source_cmdb_data_ingestion_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}],\n\t\t'name': 'CMDB Data Ingestion API',\n\t\t'open_accordion': false,\n\t\t'order': '60',\n\t\t'permalink': 'class__rest_cmdb_ingest_api__orlando',\n\t\t'release': 'da520d8013c333003abb7d576144b05f',\n\t\t'type': 'Class',\n\t\t'variable': null\n\t}, {\n\t\t'dc_identifier': 'cicd-api',\n\t\t'id': '4c01f284db8b8014da87de06f4961964',\n\t\t'is_selected': false,\n\t\t'items': [{\n\t\t\t'dc_identifier': 'cicd-GET-progress',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /sn_cicd/progress/{progress_id}',\n\t\t\t'order': 10,\n\t\t\t'parentId': 'cicd-api',\n\t\t\t'parent_permalink': 'class__rest_cicd_api__orlando',\n\t\t\t'permalink': 'method_class__rest_cicd_get_progress_continuous_integration_continuous_delivery__ci_cd__api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'cicd-GET-testsuite-results',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /sn_cicd/testsuite/results/{result_id}',\n\t\t\t'order': 20,\n\t\t\t'parentId': 'cicd-api',\n\t\t\t'parent_permalink': 'class__rest_cicd_api__orlando',\n\t\t\t'permalink': 'method_class__rest_cicd_get_testsuite_results_continuous_integration_continuous_delivery__ci_cd__api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'cicd-POST-app_repo-install',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /sn_cicd/app_repo/install',\n\t\t\t'order': 30,\n\t\t\t'parentId': 'cicd-api',\n\t\t\t'parent_permalink': 'class__rest_cicd_api__orlando',\n\t\t\t'permalink': 'method_class__rest_cicd_post_app_repo_install_continuous_integration_continuous_delivery__ci_cd__api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'cicd-POST-app_repo-publish',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /sn_cicd/app_repo/publish',\n\t\t\t'order': 40,\n\t\t\t'parentId': 'cicd-api',\n\t\t\t'parent_permalink': 'class__rest_cicd_api__orlando',\n\t\t\t'permalink': 'method_class__rest_cicd_post_app_repo_publish_continuous_integration_continuous_delivery__ci_cd__api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'cicd-POST-app_repo-rollback',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /sn_cicd/app_repo/rollback',\n\t\t\t'order': 50,\n\t\t\t'parentId': 'cicd-api',\n\t\t\t'parent_permalink': 'class__rest_cicd_api__orlando',\n\t\t\t'permalink': 'method_class__rest_cicd_post_app_repo_rollback_continuous_integration_continuous_delivery__ci_cd__api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'cicd-POST-plugin-activate',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /sn_cicd/plugin/{plugin_id}/activate',\n\t\t\t'order': 60,\n\t\t\t'parentId': 'cicd-api',\n\t\t\t'parent_permalink': 'class__rest_cicd_api__orlando',\n\t\t\t'permalink': 'method_class__rest_cicd_post_plugin_activate_continuous_integration_continuous_delivery__ci_cd__api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'cicd-POST-plugin-rollbackdita',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /sn_cicd/plugin/{plugin_id}/rollback',\n\t\t\t'order': 70,\n\t\t\t'parentId': 'cicd-api',\n\t\t\t'parent_permalink': 'class__rest_cicd_api__orlando',\n\t\t\t'permalink': 'method_class__rest_cicd_post_plugin_rollbackdita_continuous_integration_continuous_delivery__ci_cd__api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'cicd-POST-sc-apply_changes',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /sn_cicd/sc/apply_changes',\n\t\t\t'order': 80,\n\t\t\t'parentId': 'cicd-api',\n\t\t\t'parent_permalink': 'class__rest_cicd_api__orlando',\n\t\t\t'permalink': 'method_class__rest_cicd_post_sc_apply_changes_continuous_integration_continuous_delivery__ci_cd__api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'cicd-POST-testsuite-run',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /sn_cicd/testsuite/run',\n\t\t\t'order': 90,\n\t\t\t'parentId': 'cicd-api',\n\t\t\t'parent_permalink': 'class__rest_cicd_api__orlando',\n\t\t\t'permalink': 'method_class__rest_cicd_post_testsuite_run_continuous_integration_continuous_delivery__ci_cd__api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}],\n\t\t'name': 'Continuous Integration/Continuous Delivery (CI/CD) API',\n\t\t'open_accordion': false,\n\t\t'order': '70',\n\t\t'permalink': 'class__rest_cicd_api__orlando',\n\t\t'release': 'da520d8013c333003abb7d576144b05f',\n\t\t'type': 'Class',\n\t\t'variable': null\n\t}, {\n\t\t'dc_identifier': 'csm-api',\n\t\t'id': '09252facdb618890db5e9015ca961992',\n\t\t'is_selected': false,\n\t\t'items': [{\n\t\t\t'dc_identifier': 'csm-get-account',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /now/account/{id}',\n\t\t\t'order': 10,\n\t\t\t'parentId': 'csm-api',\n\t\t\t'parent_permalink': 'class__rest_csm_api__orlando',\n\t\t\t'permalink': 'method_class__rest_csm_get_account_customer_service_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'csm-get-account-multiple',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /now/account',\n\t\t\t'order': 20,\n\t\t\t'parentId': 'csm-api',\n\t\t\t'parent_permalink': 'class__rest_csm_api__orlando',\n\t\t\t'permalink': 'method_class__rest_csm_get_account_multiple_customer_service_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'csm-get-case',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /sn_customerservice/case/{id}',\n\t\t\t'order': 30,\n\t\t\t'parentId': 'csm-api',\n\t\t\t'parent_permalink': 'class__rest_csm_api__orlando',\n\t\t\t'permalink': 'method_class__rest_csm_get_case_customer_service_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'csm-get-case-multiple',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /sn_customerservice/case',\n\t\t\t'order': 40,\n\t\t\t'parentId': 'csm-api',\n\t\t\t'parent_permalink': 'class__rest_csm_api__orlando',\n\t\t\t'permalink': 'method_class__rest_csm_get_case_multiple_customer_service_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'csm-get-consumer',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /now/consumer/{id}',\n\t\t\t'order': 50,\n\t\t\t'parentId': 'csm-api',\n\t\t\t'parent_permalink': 'class__rest_csm_api__orlando',\n\t\t\t'permalink': 'method_class__rest_csm_get_consumer_customer_service_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'csm-get-consumer-multiple',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /now/consumer',\n\t\t\t'order': 60,\n\t\t\t'parentId': 'csm-api',\n\t\t\t'parent_permalink': 'class__rest_csm_api__orlando',\n\t\t\t'permalink': 'method_class__rest_csm_get_consumer_multiple_customer_service_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'csm-get-contact',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /now/contact/{id}',\n\t\t\t'order': 70,\n\t\t\t'parentId': 'csm-api',\n\t\t\t'parent_permalink': 'class__rest_csm_api__orlando',\n\t\t\t'permalink': 'method_class__rest_csm_get_contact_customer_service_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'csm-get-contact-multiple',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /now/contact',\n\t\t\t'order': 80,\n\t\t\t'parentId': 'csm-api',\n\t\t\t'parent_permalink': 'class__rest_csm_api__orlando',\n\t\t\t'permalink': 'method_class__rest_csm_get_contact_multiple_customer_service_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'csm-post-case',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /sn_customerservice/case',\n\t\t\t'order': 90,\n\t\t\t'parentId': 'csm-api',\n\t\t\t'parent_permalink': 'class__rest_csm_api__orlando',\n\t\t\t'permalink': 'method_class__rest_csm_post_case_customer_service_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'csm-post-consumer',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /now/consumer',\n\t\t\t'order': 100,\n\t\t\t'parentId': 'csm-api',\n\t\t\t'parent_permalink': 'class__rest_csm_api__orlando',\n\t\t\t'permalink': 'method_class__rest_csm_post_consumer_customer_service_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'csm-post-contact',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /now/contact',\n\t\t\t'order': 110,\n\t\t\t'parentId': 'csm-api',\n\t\t\t'parent_permalink': 'class__rest_csm_api__orlando',\n\t\t\t'permalink': 'method_class__rest_csm_post_contact_customer_service_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'csm-put-case',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'PUT /sn_customerservice/case/{id}',\n\t\t\t'order': 120,\n\t\t\t'parentId': 'csm-api',\n\t\t\t'parent_permalink': 'class__rest_csm_api__orlando',\n\t\t\t'permalink': 'method_class__rest_csm_put_case_customer_service_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}],\n\t\t'name': 'Customer Service Management API',\n\t\t'open_accordion': false,\n\t\t'order': '80',\n\t\t'permalink': 'class__rest_csm_api__orlando',\n\t\t'release': 'da520d8013c333003abb7d576144b05f',\n\t\t'type': 'Class',\n\t\t'variable': null\n\t}, {\n\t\t'dc_identifier': 'devops-api',\n\t\t'id': '3650c500db1fcc14da87de06f4961928',\n\t\t'is_selected': false,\n\t\t'items': [{\n\t\t\t'dc_identifier': 'devops-DELETE-admin',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'DELETE /devops/admin',\n\t\t\t'order': 10,\n\t\t\t'parentId': 'devops-api',\n\t\t\t'parent_permalink': 'class__rest_devops_api__orlando',\n\t\t\t'permalink': 'method_class__rest_devops_delete_admin_devops_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'devops-GET-admin',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /devops/admin',\n\t\t\t'order': 20,\n\t\t\t'parentId': 'devops-api',\n\t\t\t'parent_permalink': 'class__rest_devops_api__orlando',\n\t\t\t'permalink': 'method_class__rest_devops_get_admin_devops_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'devops-GET-code-schema',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /devops/code/schema',\n\t\t\t'order': 30,\n\t\t\t'parentId': 'devops-api',\n\t\t\t'parent_permalink': 'class__rest_devops_api__orlando',\n\t\t\t'permalink': 'method_class__rest_devops_get_code_schema_devops_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'devops-GET-orch-stepMapping',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /devops/orchestration/stepMapping',\n\t\t\t'order': 40,\n\t\t\t'parentId': 'devops-api',\n\t\t\t'parent_permalink': 'class__rest_devops_api__orlando',\n\t\t\t'permalink': 'method_class__rest_devops_get_orch_stepmapping_devops_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'devops-GET-orchestration-change',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /devops/orchestration/changeControl',\n\t\t\t'order': 50,\n\t\t\t'parentId': 'devops-api',\n\t\t\t'parent_permalink': 'class__rest_devops_api__orlando',\n\t\t\t'permalink': 'method_class__rest_devops_get_orchestration_change_devops_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'devops-GET-orchestration-schema',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /devops/orchestration/schema',\n\t\t\t'order': 60,\n\t\t\t'parentId': 'devops-api',\n\t\t\t'parent_permalink': 'class__rest_devops_api__orlando',\n\t\t\t'permalink': 'method_class__rest_devops_get_orchestration_schema_devops_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'devops-GET-plan-schema',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /devops/plan/schema',\n\t\t\t'order': 70,\n\t\t\t'parentId': 'devops-api',\n\t\t\t'parent_permalink': 'class__rest_devops_api__orlando',\n\t\t\t'permalink': 'method_class__rest_devops_get_plan_schema_devops_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'devops-POST-admin',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /devops/admin',\n\t\t\t'order': 80,\n\t\t\t'parentId': 'devops-api',\n\t\t\t'parent_permalink': 'class__rest_devops_api__orlando',\n\t\t\t'permalink': 'method_class__rest_devops_post_admin_devops_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'devops-POST-artifact-registration',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /devops/artifact/registration',\n\t\t\t'order': 90,\n\t\t\t'parentId': 'devops-api',\n\t\t\t'parent_permalink': 'class__rest_devops_api__orlando',\n\t\t\t'permalink': 'method_class__rest_devops_post_artifact_registration_devops_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'devops-POST-code',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /devops/code',\n\t\t\t'order': 100,\n\t\t\t'parentId': 'devops-api',\n\t\t\t'parent_permalink': 'class__rest_devops_api__orlando',\n\t\t\t'permalink': 'method_class__rest_devops_post_code_devops_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'devops-POST-code-branch-search',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /devops/code/branch/search',\n\t\t\t'order': 110,\n\t\t\t'parentId': 'devops-api',\n\t\t\t'parent_permalink': 'class__rest_devops_api__orlando',\n\t\t\t'permalink': 'method_class__rest_devops_post_code_branch_search_devops_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'devops-POST-code-commit-search',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /devops/code/commit/search',\n\t\t\t'order': 120,\n\t\t\t'parentId': 'devops-api',\n\t\t\t'parent_permalink': 'class__rest_devops_api__orlando',\n\t\t\t'permalink': 'method_class__rest_devops_post_code_commit_search_devops_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'devops-POST-code-repository-search',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /devops/code/repository/search',\n\t\t\t'order': 130,\n\t\t\t'parentId': 'devops-api',\n\t\t\t'parent_permalink': 'class__rest_devops_api__orlando',\n\t\t\t'permalink': 'method_class__rest_devops_post_code_repository_search_devops_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'devops-POST-orchestration-change',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /devops/orchestration/changeControl',\n\t\t\t'order': 140,\n\t\t\t'parentId': 'devops-api',\n\t\t\t'parent_permalink': 'class__rest_devops_api__orlando',\n\t\t\t'permalink': 'method_class__rest_devops_post_orchestration_change_devops_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'devops-POST-orch-stepMapping',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /devops/orchestration/stepMapping',\n\t\t\t'order': 150,\n\t\t\t'parentId': 'devops-api',\n\t\t\t'parent_permalink': 'class__rest_devops_api__orlando',\n\t\t\t'permalink': 'method_class__rest_devops_post_orch_stepmapping_devops_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'devops-POST-package-registration',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /devops/package/registration',\n\t\t\t'order': 160,\n\t\t\t'parentId': 'devops-api',\n\t\t\t'parent_permalink': 'class__rest_devops_api__orlando',\n\t\t\t'permalink': 'method_class__rest_devops_post_package_registration_devops_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'devops-POST-plan',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /devops/plan',\n\t\t\t'order': 170,\n\t\t\t'parentId': 'devops-api',\n\t\t\t'parent_permalink': 'class__rest_devops_api__orlando',\n\t\t\t'permalink': 'method_class__rest_devops_post_plan_devops_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'devops-POST-tool-artifact',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /devops/tool/artifact',\n\t\t\t'order': 180,\n\t\t\t'parentId': 'devops-api',\n\t\t\t'parent_permalink': 'class__rest_devops_api__orlando',\n\t\t\t'permalink': 'method_class__rest_devops_post_tool_artifact_devops_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'devops-PUT-orchestration-change',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'PUT /devops/orchestration/changeControl/{changeControlId}',\n\t\t\t'order': 190,\n\t\t\t'parentId': 'devops-api',\n\t\t\t'parent_permalink': 'class__rest_devops_api__orlando',\n\t\t\t'permalink': 'method_class__rest_devops_put_orchestration_change_devops_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}],\n\t\t'name': 'DevOps API',\n\t\t'open_accordion': false,\n\t\t'order': '90',\n\t\t'permalink': 'class__rest_devops_api__orlando',\n\t\t'release': 'da520d8013c333003abb7d576144b05f',\n\t\t'type': 'Class',\n\t\t'variable': null\n\t}, {\n\t\t'dc_identifier': 'c_EmailAPI',\n\t\t'id': '854527ecdb618890db5e9015ca9619ac',\n\t\t'is_selected': false,\n\t\t'items': [{\n\t\t\t'dc_identifier': 'r_email-api-get',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /now/email/{sys_id}',\n\t\t\t'order': 10,\n\t\t\t'parentId': 'c_EmailAPI',\n\t\t\t'parent_permalink': 'class__rest_c_emailapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_email_api_get_email_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'r_email-api-post',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /now/email',\n\t\t\t'order': 20,\n\t\t\t'parentId': 'c_EmailAPI',\n\t\t\t'parent_permalink': 'class__rest_c_emailapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_email_api_post_email_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}],\n\t\t'name': 'Email API',\n\t\t'open_accordion': false,\n\t\t'order': '100',\n\t\t'permalink': 'class__rest_c_emailapi__orlando',\n\t\t'release': 'da520d8013c333003abb7d576144b05f',\n\t\t'type': 'Class',\n\t\t'variable': null\n\t}, {\n\t\t'dc_identifier': 'hr-core-api',\n\t\t'id': 'b7b932b9db2dc0d0db5e9015ca96198e',\n\t\t'is_selected': false,\n\t\t'items': [{\n\t\t\t'dc_identifier': 'hr-GET-get_usa_employee_profile',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /get_usa_employee_profile',\n\t\t\t'order': 10,\n\t\t\t'parentId': 'hr-core-api',\n\t\t\t'parent_permalink': 'class__rest_hr_core_api__orlando',\n\t\t\t'permalink': 'method_class__rest_hr_get_get_usa_employee_profile_hr_core_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}],\n\t\t'name': 'HR Core API',\n\t\t'open_accordion': false,\n\t\t'order': '110',\n\t\t'permalink': 'class__rest_hr_core_api__orlando',\n\t\t'release': 'da520d8013c333003abb7d576144b05f',\n\t\t'type': 'Class',\n\t\t'variable': null\n\t}, {\n\t\t'dc_identifier': 'c_ImportSetAPI',\n\t\t'id': 'dd4527ecdb618890db5e9015ca9619d8',\n\t\t'is_selected': false,\n\t\t'items': [{\n\t\t\t'dc_identifier': 'r_ImportSetAPI-POST',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /now/import/{tableName}',\n\t\t\t'order': 10,\n\t\t\t'parentId': 'c_ImportSetAPI',\n\t\t\t'parent_permalink': 'class__rest_c_importsetapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_importsetapi_post_import_set_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'r_ImportSetAPI-GET',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /now/import/{tableName}/{sys_id}',\n\t\t\t'order': 20,\n\t\t\t'parentId': 'c_ImportSetAPI',\n\t\t\t'parent_permalink': 'class__rest_c_importsetapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_importsetapi_get_import_set_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}],\n\t\t'name': 'Import Set API',\n\t\t'open_accordion': false,\n\t\t'order': '120',\n\t\t'permalink': 'class__rest_c_importsetapi__orlando',\n\t\t'release': 'da520d8013c333003abb7d576144b05f',\n\t\t'type': 'Class',\n\t\t'variable': null\n\t}, {\n\t\t'dc_identifier': 'major-incident-management-api',\n\t\t'id': '2d4567ecdb618890db5e9015ca961906',\n\t\t'is_selected': false,\n\t\t'items': [{\n\t\t\t'dc_identifier': 'mim-GET-status',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET sn_major_inc_mgmt/mim/status/{incidentSysId}',\n\t\t\t'order': 10,\n\t\t\t'parentId': 'major-incident-management-api',\n\t\t\t'parent_permalink': 'class__rest_major_incident_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_mim_get_status_major_incident_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'mim-POST-actions',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST sn_major_inc_mgmt/mim/state/{incidentSysId}',\n\t\t\t'order': 20,\n\t\t\t'parentId': 'major-incident-management-api',\n\t\t\t'parent_permalink': 'class__rest_major_incident_management_api__orlando',\n\t\t\t'permalink': 'method_class__rest_mim_post_actions_major_incident_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}],\n\t\t'name': 'Major Incident Management API',\n\t\t'open_accordion': false,\n\t\t'order': '130',\n\t\t'permalink': 'class__rest_major_incident_management_api__orlando',\n\t\t'release': 'da520d8013c333003abb7d576144b05f',\n\t\t'type': 'Class',\n\t\t'variable': null\n\t}, {\n\t\t'dc_identifier': 'ClothoTimeSeriesAPI',\n\t\t'id': '254567ecdb618890db5e9015ca96190b',\n\t\t'is_selected': false,\n\t\t'items': [{\n\t\t\t'dc_identifier': 'clotho-GET-tble-tble-subj-metric',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET now/v1/clotho/table/{table}/{subject}/{metric}',\n\t\t\t'order': 10,\n\t\t\t'parentId': 'ClothoTimeSeriesAPI',\n\t\t\t'parent_permalink': 'class__rest_clothotimeseriesapi__orlando',\n\t\t\t'permalink': 'method_class__rest_clotho_get_tble_tble_subj_metric_metricbase_time_series_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'clotho-GET-transform-table-metric',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET now/v1/clotho/transform/{table}/{metric}',\n\t\t\t'order': 20,\n\t\t\t'parentId': 'ClothoTimeSeriesAPI',\n\t\t\t'parent_permalink': 'class__rest_clothotimeseriesapi__orlando',\n\t\t\t'permalink': 'method_class__rest_clotho_get_transform_table_metric_metricbase_time_series_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'clotho-POST-put',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST now/v1/clotho/put',\n\t\t\t'order': 30,\n\t\t\t'parentId': 'ClothoTimeSeriesAPI',\n\t\t\t'parent_permalink': 'class__rest_clothotimeseriesapi__orlando',\n\t\t\t'permalink': 'method_class__rest_clotho_post_put_metricbase_time_series_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}],\n\t\t'name': 'MetricBase Time Series API',\n\t\t'open_accordion': false,\n\t\t'order': '140',\n\t\t'permalink': 'class__rest_clothotimeseriesapi__orlando',\n\t\t'release': 'da520d8013c333003abb7d576144b05f',\n\t\t'type': 'Class',\n\t\t'variable': null\n\t}, {\n\t\t'dc_identifier': 'open-NLU-resource-api',\n\t\t'id': 'b94567ecdb618890db5e9015ca961930',\n\t\t'is_selected': false,\n\t\t'items': [{\n\t\t\t'dc_identifier': 'openNLUrsc-GET-models',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /now/open-nlu/models',\n\t\t\t'order': 10,\n\t\t\t'parentId': 'open-NLU-resource-api',\n\t\t\t'parent_permalink': 'class__rest_open_nlu_resource_api__orlando',\n\t\t\t'permalink': 'method_class__rest_opennlursc_get_models_open_nlu_resource_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'openNLUrsc-GET-intents',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /now/open-nlu/models/{model_id}/intents',\n\t\t\t'order': 20,\n\t\t\t'parentId': 'open-NLU-resource-api',\n\t\t\t'parent_permalink': 'class__rest_open_nlu_resource_api__orlando',\n\t\t\t'permalink': 'method_class__rest_opennlursc_get_intents_open_nlu_resource_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'openNLUrsc-GET-entities',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /now/open-nlu/models/{model_id}/entities',\n\t\t\t'order': 30,\n\t\t\t'parentId': 'open-NLU-resource-api',\n\t\t\t'parent_permalink': 'class__rest_open_nlu_resource_api__orlando',\n\t\t\t'permalink': 'method_class__rest_opennlursc_get_entities_open_nlu_resource_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'openNLUrsc-POST',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /now/open-nlu/models/predict',\n\t\t\t'order': 40,\n\t\t\t'parentId': 'open-NLU-resource-api',\n\t\t\t'parent_permalink': 'class__rest_open_nlu_resource_api__orlando',\n\t\t\t'permalink': 'method_class__rest_opennlursc_post_open_nlu_resource_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}],\n\t\t'name': 'Open NLU Resource API',\n\t\t'open_accordion': false,\n\t\t'order': '150',\n\t\t'permalink': 'class__rest_open_nlu_resource_api__orlando',\n\t\t'release': 'da520d8013c333003abb7d576144b05f',\n\t\t'type': 'Class',\n\t\t'variable': null\n\t}, {\n\t\t'dc_identifier': 'c_PerformanceAnalyticsAPI',\n\t\t'id': '564567ecdb618890db5e9015ca9619ae',\n\t\t'is_selected': false,\n\t\t'items': [{\n\t\t\t'dc_identifier': 'r_PerformanceAnalyticsAPIMethodGET',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /now/pa/scorecards',\n\t\t\t'order': 10,\n\t\t\t'parentId': 'c_PerformanceAnalyticsAPI',\n\t\t\t'parent_permalink': 'class__rest_c_performanceanalyticsapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_performanceanalyticsapimethodget_performance_analytics_rest_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}],\n\t\t'name': 'Performance Analytics REST API',\n\t\t'open_accordion': false,\n\t\t'order': '160',\n\t\t'permalink': 'class__rest_c_performanceanalyticsapi__orlando',\n\t\t'release': 'da520d8013c333003abb7d576144b05f',\n\t\t'type': 'Class',\n\t\t'variable': null\n\t}, {\n\t\t'dc_identifier': 'agent-intelligence-api',\n\t\t'id': '423132c4db8b8014da87de06f49619a6',\n\t\t'is_selected': false,\n\t\t'items': [{\n\t\t\t'dc_identifier': 'prdctv-int-predict-multi-solutions',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET api/now/agent_intelligence/solution/prediction',\n\t\t\t'order': 10,\n\t\t\t'parentId': 'agent-intelligence-api',\n\t\t\t'parent_permalink': 'class__rest_agent_intelligence_api__orlando',\n\t\t\t'permalink': 'method_class__rest_prdctv_int_predict_multi_solutions_predictive_intelligence_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'agent-intelligence-GET-solName',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET now/agent_intelligence/solution/{solution_name}/prediction',\n\t\t\t'order': 20,\n\t\t\t'parentId': 'agent-intelligence-api',\n\t\t\t'parent_permalink': 'class__rest_agent_intelligence_api__orlando',\n\t\t\t'permalink': 'method_class__rest_agent_intelligence_get_solname_predictive_intelligence_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}],\n\t\t'name': 'Predictive Intelligence API',\n\t\t'open_accordion': false,\n\t\t'order': '170',\n\t\t'permalink': 'class__rest_agent_intelligence_api__orlando',\n\t\t'release': 'da520d8013c333003abb7d576144b05f',\n\t\t'type': 'Class',\n\t\t'variable': null\n\t}, {\n\t\t'dc_identifier': 'pushinstallation-api',\n\t\t'id': '7a4567ecdb618890db5e9015ca9619d6',\n\t\t'is_selected': false,\n\t\t'items': [{\n\t\t\t'dc_identifier': 'pushinstallation-post-installation',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /now/push/{pushApplicationName}/installation',\n\t\t\t'order': 10,\n\t\t\t'parentId': 'pushinstallation-api',\n\t\t\t'parent_permalink': 'class__rest_pushinstallation_api__orlando',\n\t\t\t'permalink': 'method_class__rest_pushinstallation_post_installation_push_installation_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'pushinstallation-post-removeInstallation',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /now/push/{pushApplicationName}/removeInstallation',\n\t\t\t'order': 20,\n\t\t\t'parentId': 'pushinstallation-api',\n\t\t\t'parent_permalink': 'class__rest_pushinstallation_api__orlando',\n\t\t\t'permalink': 'method_class__rest_pushinstallation_post_removeinstallation_push_installation_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}],\n\t\t'name': 'Push Installation API',\n\t\t'open_accordion': false,\n\t\t'order': '180',\n\t\t'permalink': 'class__rest_pushinstallation_api__orlando',\n\t\t'release': 'da520d8013c333003abb7d576144b05f',\n\t\t'type': 'Class',\n\t\t'variable': null\n\t}, {\n\t\t'dc_identifier': 'push-metrics-MID-server',\n\t\t'id': 'e23172c4db8b8014da87de06f4961946',\n\t\t'is_selected': false,\n\t\t'items': [{\n\t\t\t'dc_identifier': 'mid-POST-metrics',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /mid/sa/metrics',\n\t\t\t'order': 10,\n\t\t\t'parentId': 'push-metrics-MID-server',\n\t\t\t'parent_permalink': 'class__rest_push_metrics_mid_server__orlando',\n\t\t\t'permalink': 'method_class__rest_mid_post_metrics_push_metrics_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}],\n\t\t'name': 'Push Metrics API',\n\t\t'open_accordion': false,\n\t\t'order': '190',\n\t\t'permalink': 'class__rest_push_metrics_mid_server__orlando',\n\t\t'release': 'da520d8013c333003abb7d576144b05f',\n\t\t'type': 'Class',\n\t\t'variable': null\n\t}, {\n\t\t'dc_identifier': 'queue_api',\n\t\t'id': '8745a7ecdb618890db5e9015ca96193b',\n\t\t'is_selected': false,\n\t\t'items': [{\n\t\t\t'dc_identifier': 'queue-POST',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST api/now/awa/queues/{queue_sys_id}/work_item',\n\t\t\t'order': 10,\n\t\t\t'parentId': 'queue_api',\n\t\t\t'parent_permalink': 'class__rest_queue_api__orlando',\n\t\t\t'permalink': 'method_class__rest_queue_post_queue_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}],\n\t\t'name': 'Queue API',\n\t\t'open_accordion': false,\n\t\t'order': '200',\n\t\t'permalink': 'class__rest_queue_api__orlando',\n\t\t'release': 'da520d8013c333003abb7d576144b05f',\n\t\t'type': 'Class',\n\t\t'variable': null\n\t}, {\n\t\t'dc_identifier': 'c_ServiceCatalogAPI',\n\t\t'id': '1345a7ecdb618890db5e9015ca961944',\n\t\t'is_selected': false,\n\t\t'items': [{\n\t\t\t'dc_identifier': 'r_SCatAPIListOfCatalogsGET',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /sn_sc/servicecatalog/catalogs',\n\t\t\t'order': 10,\n\t\t\t'parentId': 'c_ServiceCatalogAPI',\n\t\t\t'parent_permalink': 'class__rest_c_servicecatalogapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_scatapilistofcatalogsget_service_catalog_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'r_SCatAPISpecificCatalogGET',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /sn_sc/servicecatalog/catalogs/{sys_id}',\n\t\t\t'order': 20,\n\t\t\t'parentId': 'c_ServiceCatalogAPI',\n\t\t\t'parent_permalink': 'class__rest_c_servicecatalogapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_scatapispecificcatalogget_service_catalog_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'r_SCatAPIListCategoryForCatlgGET',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /sn_sc/servicecatalog/catalogs/{sys_id}/categories',\n\t\t\t'order': 30,\n\t\t\t'parentId': 'c_ServiceCatalogAPI',\n\t\t\t'parent_permalink': 'class__rest_c_servicecatalogapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_scatapilistcategoryforcatlgget_service_catalog_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'r_SCatAPISpecificCategoyGET',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /sn_sc/servicecatalog/categories/{sys_id}',\n\t\t\t'order': 40,\n\t\t\t'parentId': 'c_ServiceCatalogAPI',\n\t\t\t'parent_permalink': 'class__rest_c_servicecatalogapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_scatapispecificcategoyget_service_catalog_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'r_SCatAPIListOfCatItemsGET',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /sn_sc/servicecatalog/items',\n\t\t\t'order': 50,\n\t\t\t'parentId': 'c_ServiceCatalogAPI',\n\t\t\t'parent_permalink': 'class__rest_c_servicecatalogapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_scatapilistofcatitemsget_service_catalog_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'r_SCatAPISpecificItemGET',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /sn_sc/servicecatalog/items/{sys_id}',\n\t\t\t'order': 60,\n\t\t\t'parentId': 'c_ServiceCatalogAPI',\n\t\t\t'parent_permalink': 'class__rest_c_servicecatalogapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_scatapispecificitemget_service_catalog_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'r_SCatAPIAddItemToCartPOST',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /sn_sc/servicecatalog/items/{sys_id}/add_to_cart',\n\t\t\t'order': 70,\n\t\t\t'parentId': 'c_ServiceCatalogAPI',\n\t\t\t'parent_permalink': 'class__rest_c_servicecatalogapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_scatapiadditemtocartpost_service_catalog_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'r_SCatAPIRecordProducerPOST',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /sn_sc/servicecatalog/items/{sys_id}/submit_producer',\n\t\t\t'order': 80,\n\t\t\t'parentId': 'c_ServiceCatalogAPI',\n\t\t\t'parent_permalink': 'class__rest_c_servicecatalogapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_scatapirecordproducerpost_service_catalog_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'r_SCatAPIDesNeedsOrderGuidePUT',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'PUT /sn_sc/servicecatalog/items/{sys_id}/submit_guide',\n\t\t\t'order': 90,\n\t\t\t'parentId': 'c_ServiceCatalogAPI',\n\t\t\t'parent_permalink': 'class__rest_c_servicecatalogapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_scatapidesneedsorderguideput_service_catalog_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'r_SCatAPICheckoutOrderGuide',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /sn_sc/servicecatalog/items/{sys_id}/checkout_guide',\n\t\t\t'order': 100,\n\t\t\t'parentId': 'c_ServiceCatalogAPI',\n\t\t\t'parent_permalink': 'class__rest_c_servicecatalogapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_scatapicheckoutorderguide_service_catalog_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'SCatAPIOrderNowPOST',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /sn_sc/servicecatalog/items/{sys_id}/order_now',\n\t\t\t'order': 110,\n\t\t\t'parentId': 'c_ServiceCatalogAPI',\n\t\t\t'parent_permalink': 'class__rest_c_servicecatalogapi__orlando',\n\t\t\t'permalink': 'method_class__rest_scatapiordernowpost_service_catalog_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'r_SCatAPIDefCartContentsGET',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /sn_sc/servicecatalog/cart',\n\t\t\t'order': 120,\n\t\t\t'parentId': 'c_ServiceCatalogAPI',\n\t\t\t'parent_permalink': 'class__rest_c_servicecatalogapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_scatapidefcartcontentsget_service_catalog_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'r_SCatAPIGetShipAddressGET',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /sn_sc/servicecatalog/cart/delivery_address/{user_id}',\n\t\t\t'order': 130,\n\t\t\t'parentId': 'c_ServiceCatalogAPI',\n\t\t\t'parent_permalink': 'class__rest_c_servicecatalogapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_scatapigetshipaddressget_service_catalog_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'r_SCatAPIUpdateCartItemPOST',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'PUT /sn_sc/servicecatalog/cart/{cart_item_id}',\n\t\t\t'order': 140,\n\t\t\t'parentId': 'c_ServiceCatalogAPI',\n\t\t\t'parent_permalink': 'class__rest_c_servicecatalogapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_scatapiupdatecartitempost_service_catalog_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'SCatAPIDisplayVariableValuePOST',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /sn/sc/servicecatalog/variables/{sys_id}/display_value',\n\t\t\t'order': 150,\n\t\t\t'parentId': 'c_ServiceCatalogAPI',\n\t\t\t'parent_permalink': 'class__rest_c_servicecatalogapi__orlando',\n\t\t\t'permalink': 'method_class__rest_scatapidisplayvariablevaluepost_service_catalog_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'r_SCatAPIDelItemCartDELETE',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'DELETE /sn_sc/servicecatalog/cart/{cart_item_id}',\n\t\t\t'order': 160,\n\t\t\t'parentId': 'c_ServiceCatalogAPI',\n\t\t\t'parent_permalink': 'class__rest_c_servicecatalogapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_scatapidelitemcartdelete_service_catalog_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'r_SCatAPIEmptyCartDELETE',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'DELETE /sn_sc/servicecatalog/cart/{sys_id}/empty',\n\t\t\t'order': 170,\n\t\t\t'parentId': 'c_ServiceCatalogAPI',\n\t\t\t'parent_permalink': 'class__rest_c_servicecatalogapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_scatapiemptycartdelete_service_catalog_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'r_SCatAPICheckoutCartPOST',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /sn_sc/servicecatalog/cart/checkout',\n\t\t\t'order': 180,\n\t\t\t'parentId': 'c_ServiceCatalogAPI',\n\t\t\t'parent_permalink': 'class__rest_c_servicecatalogapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_scatapicheckoutcartpost_service_catalog_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'r_SCatAPISubmitOrderPOST',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /sn_sc/servicecatalog/cart/submit_order',\n\t\t\t'order': 190,\n\t\t\t'parentId': 'c_ServiceCatalogAPI',\n\t\t\t'parent_permalink': 'class__rest_c_servicecatalogapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_scatapisubmitorderpost_service_catalog_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}],\n\t\t'name': 'Service Catalog API',\n\t\t'open_accordion': false,\n\t\t'order': '210',\n\t\t'permalink': 'class__rest_c_servicecatalogapi__orlando',\n\t\t'release': 'da520d8013c333003abb7d576144b05f',\n\t\t'type': 'Class',\n\t\t'variable': null\n\t}, {\n\t\t'dc_identifier': 'c_TableAPI',\n\t\t'id': 'ea552becdb618890db5e9015ca9619d9',\n\t\t'is_selected': false,\n\t\t'items': [{\n\t\t\t'dc_identifier': 'r_TableAPI-GET',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /now/table/{tableName}',\n\t\t\t'order': 10,\n\t\t\t'parentId': 'c_TableAPI',\n\t\t\t'parent_permalink': 'class__rest_c_tableapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_tableapi_get_table_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'r_TableAPI-POST',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /now/table/{tableName}',\n\t\t\t'order': 20,\n\t\t\t'parentId': 'c_TableAPI',\n\t\t\t'parent_permalink': 'class__rest_c_tableapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_tableapi_post_table_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'r_TableAPI-GETid',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /now/table/{tableName}/{sys_id}',\n\t\t\t'order': 30,\n\t\t\t'parentId': 'c_TableAPI',\n\t\t\t'parent_permalink': 'class__rest_c_tableapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_tableapi_getid_table_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'r_TableAPI-PUT',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'PUT /now/table/{tableName}/{sys_id}',\n\t\t\t'order': 40,\n\t\t\t'parentId': 'c_TableAPI',\n\t\t\t'parent_permalink': 'class__rest_c_tableapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_tableapi_put_table_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'r_TableAPI-PATCH',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'PATCH /now/table/{tableName}/{sys_id}',\n\t\t\t'order': 50,\n\t\t\t'parentId': 'c_TableAPI',\n\t\t\t'parent_permalink': 'class__rest_c_tableapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_tableapi_patch_table_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'r_TableAPI-DELETE',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'DELETE /now/table/{tableName}/{sys_id}',\n\t\t\t'order': 60,\n\t\t\t'parentId': 'c_TableAPI',\n\t\t\t'parent_permalink': 'class__rest_c_tableapi__orlando',\n\t\t\t'permalink': 'method_class__rest_r_tableapi_delete_table_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}],\n\t\t'name': 'Table API',\n\t\t'open_accordion': false,\n\t\t'order': '220',\n\t\t'permalink': 'class__rest_c_tableapi__orlando',\n\t\t'release': 'da520d8013c333003abb7d576144b05f',\n\t\t'type': 'Class',\n\t\t'variable': null\n\t}, {\n\t\t'dc_identifier': 'task-communication-mgmt-api',\n\t\t'id': '3065abecdb618890db5e9015ca961943',\n\t\t'is_selected': false,\n\t\t'items': [{\n\t\t\t'dc_identifier': 'taskcommunicationmgmt-GET-channels',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /sn_comm_management/task_communication_management/channels',\n\t\t\t'order': 10,\n\t\t\t'parentId': 'task-communication-mgmt-api',\n\t\t\t'parent_permalink': 'class__rest_task_communication_mgmt_api__orlando',\n\t\t\t'permalink': 'method_class__rest_taskcommunicationmgmt_get_channels_task_communication_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'taskcommunicationmgmt-GET-channelspertask',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /sn_comm_management/task_communication_management/channels_per_task/{commTaskSysId}/{table}',\n\t\t\t'order': 20,\n\t\t\t'parentId': 'task-communication-mgmt-api',\n\t\t\t'parent_permalink': 'class__rest_task_communication_mgmt_api__orlando',\n\t\t\t'permalink': 'method_class__rest_taskcommunicationmgmt_get_channelspertask_task_communication_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'taskcommunicationmgmt-GET-commdetails',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /sn_comm_management/task_communication_management/communication_detail/{taskSysId}',\n\t\t\t'order': 30,\n\t\t\t'parentId': 'task-communication-mgmt-api',\n\t\t\t'parent_permalink': 'class__rest_task_communication_mgmt_api__orlando',\n\t\t\t'permalink': 'method_class__rest_taskcommunicationmgmt_get_commdetails_task_communication_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'taskcommunicationmgmt-GET-groups',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /sn_comm_management/task_communication_management//groups/{taskSysId}',\n\t\t\t'order': 40,\n\t\t\t'parentId': 'task-communication-mgmt-api',\n\t\t\t'parent_permalink': 'class__rest_task_communication_mgmt_api__orlando',\n\t\t\t'permalink': 'method_class__rest_taskcommunicationmgmt_get_groups_task_communication_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'taskcommunicationmgmt-POST-addrecipients',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /sn_comm_management/task_communication_management/comm_plan/{commPlanSysId}/recipients',\n\t\t\t'order': 50,\n\t\t\t'parentId': 'task-communication-mgmt-api',\n\t\t\t'parent_permalink': 'class__rest_task_communication_mgmt_api__orlando',\n\t\t\t'permalink': 'method_class__rest_taskcommunicationmgmt_post_addrecipients_task_communication_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'taskcommunicationmgmt-POST-commplan',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /sn_comm_management/task_communication_management/adhoc/comm_plan',\n\t\t\t'order': 60,\n\t\t\t'parentId': 'task-communication-mgmt-api',\n\t\t\t'parent_permalink': 'class__rest_task_communication_mgmt_api__orlando',\n\t\t\t'permalink': 'method_class__rest_taskcommunicationmgmt_post_commplan_task_communication_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'taskcommunicationmgmt-POST-commtask',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /sn_comm_management/task_communication_management/adhoc/comm_task',\n\t\t\t'order': 70,\n\t\t\t'parentId': 'task-communication-mgmt-api',\n\t\t\t'parent_permalink': 'class__rest_task_communication_mgmt_api__orlando',\n\t\t\t'permalink': 'method_class__rest_taskcommunicationmgmt_post_commtask_task_communication_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'taskcommunicationmgmt-POST-sendupdates',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /sn_comm_management/task_communication_management/send_updates/{commTaskSysId}/{table}',\n\t\t\t'order': 80,\n\t\t\t'parentId': 'task-communication-mgmt-api',\n\t\t\t'parent_permalink': 'class__rest_task_communication_mgmt_api__orlando',\n\t\t\t'permalink': 'method_class__rest_taskcommunicationmgmt_post_sendupdates_task_communication_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}, {\n\t\t\t'dc_identifier': 'taskcommunicationmgmt-POST-updatestatewb',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'POST /sn_comm_management/task_communication_management/update_state_wb_actions/{commTaskSysId}/{table}',\n\t\t\t'order': 90,\n\t\t\t'parentId': 'task-communication-mgmt-api',\n\t\t\t'parent_permalink': 'class__rest_task_communication_mgmt_api__orlando',\n\t\t\t'permalink': 'method_class__rest_taskcommunicationmgmt_post_updatestatewb_task_communication_management_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}],\n\t\t'name': 'Task Communication Management API',\n\t\t'open_accordion': false,\n\t\t'order': '230',\n\t\t'permalink': 'class__rest_task_communication_mgmt_api__orlando',\n\t\t'release': 'da520d8013c333003abb7d576144b05f',\n\t\t'type': 'Class',\n\t\t'variable': null\n\t}, {\n\t\t'dc_identifier': 'c_user-role-inheritance-api',\n\t\t'id': '8d65abecdb618890db5e9015ca961986',\n\t\t'is_selected': false,\n\t\t'items': [{\n\t\t\t'dc_identifier': 'r_UserRoleInheritanceAPI-GET',\n\t\t\t'is_selected': false,\n\t\t\t'name': 'GET /global/user_role_inheritance',\n\t\t\t'order': 10,\n\t\t\t'parentId': 'c_user-role-inheritance-api',\n\t\t\t'parent_permalink': 'class__rest_c_user_role_inheritance_api__orlando',\n\t\t\t'permalink': 'method_class__rest_r_userroleinheritanceapi_get_user_role_inheritance_api__orlando',\n\t\t\t'release': 'orlando',\n\t\t\t'type': 'Method',\n\t\t\t'variable': null\n\t\t}],\n\t\t'name': 'User Role Inheritance API',\n\t\t'open_accordion': false,\n\t\t'order': '240',\n\t\t'permalink': 'class__rest_c_user_role_inheritance_api__orlando',\n\t\t'release': 'da520d8013c333003abb7d576144b05f',\n\t\t'type': 'Class',\n\t\t'variable': null\n\t}]\n}\n\nconst fixContent = (item) => {\n\treturn {\n\t\tid: item.permalink,\n\t\tlabel: item.name,\n\t\thref: `#!/path/to/${item.permalink}`,\n\t\tchildren: (item.items && item.items.length)\n\t\t\t? item.items.map( item => fixContent(item))\n\t\t\t: []\n\t};\n}\n\n\nexport const APINav = RawNav.rest.map( item => fixContent(item));\n","export const RawNav = {\n    'result': {\n        'status': 'success',\n        'content': [{\n            'name': 'cli',\n            'navTitle': 'cli',\n            'identifier': null,\n            'category': 'cli',\n            'subMenu': [{\n                'name': 'getting-started',\n                'navTitle': 'Getting Started',\n                'weight': '0',\n                'parent': '',\n                'identifier': 'getting-started_cli_17.0.0_orlando',\n                'category': 'cli',\n                'version': '17.0.0',\n                'subMenu': []\n            }, {\n                'name': 'now-cli',\n                'navTitle': 'CLI',\n                'weight': '1',\n                'parent': '',\n                'identifier': 'now-cli_cli_17.0.0_orlando',\n                'category': 'cli',\n                'version': '17.0.0',\n                'subMenu': []\n            }, {\n                'name': 'now-cli-config',\n                'navTitle': 'Now CLI Configuration',\n                'weight': '2',\n                'parent': '',\n                'identifier': 'now-cli-config_cli_17.0.0_orlando',\n                'category': 'cli',\n                'version': '17.0.0',\n                'subMenu': []\n            }, {\n                'name': 'now-ui-config',\n                'navTitle': 'Now UI Configuration',\n                'weight': '3',\n                'parent': '',\n                'identifier': 'now-ui-config_cli_17.0.0_orlando',\n                'category': 'cli',\n                'version': '17.0.0',\n                'subMenu': []\n            }, {\n                'name': 'development-flow',\n                'navTitle': 'Development Flow',\n                'weight': '4',\n                'parent': '',\n                'identifier': 'development-flow_cli_17.0.0_orlando',\n                'category': 'cli',\n                'version': '17.0.0',\n                'subMenu': []\n            }, {\n                'name': 'ui-builder',\n                'navTitle': 'UI Builder',\n                'weight': '5',\n                'parent': '',\n                'identifier': 'ui-builder_cli_17.0.0_orlando',\n                'category': 'cli',\n                'version': '17.0.0',\n                'subMenu': []\n            }, {\n                'name': 'faq',\n                'navTitle': 'FAQ',\n                'weight': '6',\n                'parent': '',\n                'identifier': 'faq_cli_17.0.0_orlando',\n                'category': 'cli',\n                'version': '17.0.0',\n                'subMenu': []\n            }],\n            'version': ''\n        }, {\n            'name': 'ui-framework',\n            'navTitle': 'ui framework',\n            'identifier': null,\n            'category': 'ui-framework',\n            'subMenu': [{\n                'name': 'getting-started',\n                'navTitle': 'Getting Started',\n                'weight': '0',\n                'parent': '',\n                'identifier': 'getting-started_ui-framework_17.0.0-rc.17_orlando',\n                'category': 'ui-framework',\n                'version': '17.0.0-rc.17',\n                'subMenu': [{\n                    'name': 'introduction',\n                    'navTitle': 'Introduction',\n                    'weight': '0',\n                    'parent': 'getting-started',\n                    'identifier': 'introduction_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }, {\n                    'name': 'security',\n                    'navTitle': 'Security',\n                    'weight': '0',\n                    'parent': 'getting-started',\n                    'identifier': 'security_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }]\n            }, {\n                'name': 'now-experience-ui-framework-101',\n                'navTitle': 'Now Experience UI Framework 101',\n                'weight': '2',\n                'parent': '',\n                'identifier': 'now-experience-ui-framework-101_ui-framework_17.0.0-rc.17_orlando',\n                'category': 'ui-framework',\n                'version': '17.0.0-rc.17',\n                'subMenu': [{\n                    'name': 'component',\n                    'navTitle': 'Component',\n                    'weight': '0',\n                    'parent': 'now-experience-ui-framework-101',\n                    'identifier': 'now-experience-ui-framework-101_component_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }, {\n                    'name': 'view',\n                    'navTitle': 'View',\n                    'weight': '1',\n                    'parent': 'now-experience-ui-framework-101',\n                    'identifier': 'now-experience-ui-framework-101_view_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }, {\n                    'name': 'requirements',\n                    'navTitle': 'Requirements',\n                    'weight': '1',\n                    'parent': 'now-experience-ui-framework-101',\n                    'identifier': 'now-experience-ui-framework-101_requirements_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }, {\n                    'name': 'properties',\n                    'navTitle': 'Properties',\n                    'weight': '2',\n                    'parent': 'now-experience-ui-framework-101',\n                    'identifier': 'now-experience-ui-framework-101_properties_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }, {\n                    'name': 'state',\n                    'navTitle': 'State',\n                    'weight': '3',\n                    'parent': 'now-experience-ui-framework-101',\n                    'identifier': 'now-experience-ui-framework-101_state_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }, {\n                    'name': 'dispatching-actions',\n                    'navTitle': 'Actions',\n                    'weight': '4',\n                    'parent': 'now-experience-ui-framework-101',\n                    'identifier': 'now-experience-ui-framework-101_dispatching-actions_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }, {\n                    'name': 'action-handlers',\n                    'navTitle': 'Action Handlers',\n                    'weight': '6',\n                    'parent': 'now-experience-ui-framework-101',\n                    'identifier': 'now-experience-ui-framework-101_action-handlers_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }, {\n                    'name': 'lifecycles',\n                    'navTitle': 'Lifecycle Action Handlers',\n                    'weight': '7',\n                    'parent': 'now-experience-ui-framework-101',\n                    'identifier': 'now-experience-ui-framework-101_lifecycles_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }, {\n                    'name': 'helpers',\n                    'navTitle': 'Helpers',\n                    'weight': '8',\n                    'parent': 'now-experience-ui-framework-101',\n                    'identifier': 'now-experience-ui-framework-101_helpers_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }, {\n                    'name': 'event-handlers',\n                    'navTitle': 'Event Handlers',\n                    'weight': '8',\n                    'parent': 'now-experience-ui-framework-101',\n                    'identifier': 'now-experience-ui-framework-101_event-handlers_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }, {\n                    'name': 'styles',\n                    'navTitle': 'Working with Styles',\n                    'weight': '9',\n                    'parent': 'now-experience-ui-framework-101',\n                    'identifier': 'now-experience-ui-framework-101_styles_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }]\n            }, {\n                'name': 'advanced',\n                'navTitle': 'Advanced',\n                'weight': '3',\n                'parent': '',\n                'identifier': 'advanced_ui-framework_17.0.0-rc.17_orlando',\n                'category': 'ui-framework',\n                'version': '17.0.0-rc.17',\n                'subMenu': [{\n                    'name': 'property-selectors',\n                    'navTitle': 'Property Selectors',\n                    'weight': '0',\n                    'parent': 'advanced',\n                    'identifier': 'advanced_property-selectors_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }, {\n                    'name': 'append-to-payload',\n                    'navTitle': 'Append to Payload',\n                    'weight': '1',\n                    'parent': 'advanced',\n                    'identifier': 'advanced_append-to-payload_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }, {\n                    'name': 'behaviors',\n                    'navTitle': 'Behaviors',\n                    'weight': '2',\n                    'parent': 'advanced',\n                    'identifier': 'advanced_behaviors_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }, {\n                    'name': 'renderer',\n                    'navTitle': 'Renderer',\n                    'weight': '3',\n                    'parent': 'advanced',\n                    'identifier': 'advanced_renderer_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }, {\n                    'name': 'interceptors',\n                    'navTitle': 'Interceptors',\n                    'weight': '4',\n                    'parent': 'advanced',\n                    'identifier': 'advanced_interceptors_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }, {\n                    'name': 'components-and-media',\n                    'navTitle': 'Components and Media',\n                    'weight': '5',\n                    'parent': 'advanced',\n                    'identifier': 'components-and-media_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }]\n            }, {\n                'name': 'best-practices',\n                'navTitle': 'Best Practices',\n                'weight': '4',\n                'parent': '',\n                'identifier': 'best-practices_ui-framework_17.0.0-rc.17_orlando',\n                'category': 'ui-framework',\n                'version': '17.0.0-rc.17',\n                'subMenu': [{\n                    'name': 'managing-component-state',\n                    'navTitle': 'Managing State',\n                    'weight': '0',\n                    'parent': 'best-practices',\n                    'identifier': 'best-practices_managing-component-state_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }, {\n                    'name': 'project-organization',\n                    'navTitle': 'Project Organization',\n                    'weight': '1',\n                    'parent': 'best-practices',\n                    'identifier': 'best-practices_project-organization_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }, {\n                    'name': 'performance',\n                    'navTitle': 'Performance',\n                    'weight': '2',\n                    'parent': 'best-practices',\n                    'identifier': 'best-practices_performance_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }, {\n                    'name': 'unit-testing-components',\n                    'navTitle': 'Unit Testing',\n                    'weight': '3',\n                    'parent': 'best-practices',\n                    'identifier': 'best-practices_unit-testing-components_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }]\n            }, {\n                'name': 'recipes',\n                'navTitle': 'Recipes',\n                'weight': '5',\n                'parent': '',\n                'identifier': 'recipes_ui-framework_17.0.0-rc.17_orlando',\n                'category': 'ui-framework',\n                'version': '17.0.0-rc.17',\n                'subMenu': [{\n                    'name': 'translations',\n                    'navTitle': 'Translations',\n                    'weight': '0',\n                    'parent': 'recipes',\n                    'identifier': 'recipes_translations_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }, {\n                    'name': 'interceptor-pipeline',\n                    'navTitle': 'Interceptor Pipeline',\n                    'weight': '1',\n                    'parent': 'recipes',\n                    'identifier': 'recipes_interceptor-pipeline_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }, {\n                    'name': 'shared-behavior',\n                    'navTitle': 'Shared Behaviors',\n                    'weight': '2',\n                    'parent': 'recipes',\n                    'identifier': 'recipes_shared-behavior_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }, {\n                    'name': 'slots',\n                    'navTitle': 'User Markup',\n                    'weight': '3',\n                    'parent': 'recipes',\n                    'identifier': 'recipes_slots_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }, {\n                    'name': 'data-providers',\n                    'navTitle': 'Data Providers',\n                    'weight': '4',\n                    'parent': 'recipes',\n                    'identifier': 'recipes_data-providers_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }, {\n                    'name': 'http-effect',\n                    'navTitle': 'HTTP Requests',\n                    'weight': '5',\n                    'parent': 'recipes',\n                    'identifier': 'recipes_http-effect_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }]\n            }, {\n                'name': 'examples',\n                'navTitle': 'Examples',\n                'weight': '6',\n                'parent': '',\n                'identifier': 'examples_ui-framework_17.0.0-rc.17_orlando',\n                'category': 'ui-framework',\n                'version': '17.0.0-rc.17',\n                'subMenu': [{\n                    'name': 'counter',\n                    'navTitle': 'Counter',\n                    'weight': '0',\n                    'parent': 'examples',\n                    'identifier': 'examples_counter_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }, {\n                    'name': 'checklist',\n                    'navTitle': 'Checklist',\n                    'weight': '1',\n                    'parent': 'examples',\n                    'identifier': 'examples_checklist_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }, {\n                    'name': 'task-board',\n                    'navTitle': 'Task Board',\n                    'weight': '2',\n                    'parent': 'examples',\n                    'identifier': 'examples_task-board_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }, {\n                    'name': 'flash-card',\n                    'navTitle': 'Flash Card',\n                    'weight': '3',\n                    'parent': 'examples',\n                    'identifier': 'examples_flash-card_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }]\n            }, {\n                'name': 'additional-resources',\n                'navTitle': 'Additional Resources',\n                'weight': '8',\n                'parent': '',\n                'identifier': 'additional-resources_ui-framework_17.0.0-rc.17_orlando',\n                'category': 'ui-framework',\n                'version': '17.0.0-rc.17',\n                'subMenu': [{\n                    'name': 'further-reading',\n                    'navTitle': 'Further Reading',\n                    'weight': '0',\n                    'parent': 'additional-resources',\n                    'identifier': 'additional-resources_further-reading_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }, {\n                    'name': 'snabbdom-renderer',\n                    'navTitle': 'Snabbdom Renderer',\n                    'weight': '2',\n                    'parent': 'additional-resources',\n                    'identifier': 'additional-resources_snabbdom-renderer_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }]\n            }, {\n                'name': 'api-reference',\n                'navTitle': 'API Reference',\n                'weight': '1000',\n                'parent': '',\n                'identifier': 'api-reference_ui-framework_17.0.0-rc.17_orlando',\n                'category': 'ui-framework',\n                'version': '17.0.0-rc.17',\n                'subMenu': [{\n                    'name': 'core',\n                    'navTitle': 'Core',\n                    'weight': '0',\n                    'parent': 'api-reference',\n                    'identifier': 'api-reference_core_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }, {\n                    'name': 'effect-http',\n                    'navTitle': 'HTTP Effect',\n                    'weight': '1',\n                    'parent': 'api-reference',\n                    'identifier': 'api-reference_effect-http_ui-framework_17.0.0-rc.17_orlando',\n                    'category': 'ui-framework',\n                    'version': '17.0.0-rc.17',\n                    'subMenu': []\n                }]\n            }],\n            'version': ''\n        }, {\n            'category': 'dev',\n            'identifier': null,\n            'name': 'devguides',\n            'navTitle': 'Developer Guides',\n            'version': '',\n            'subMenu': [{\n                'navTitle': 'Writing HTML',\n                'identifier': 'orlando_writing_html',\n                'subMenu': [],\n                'weight': 'undefined',\n                'category': 'dev',\n                'type': null,\n                'version': 'orlando',\n                'name': 'writing-html',\n                'parent': ''\n            }, {\n                'navTitle': 'CSS Guidance',\n                'identifier': 'orlando_css_guidance',\n                'subMenu': [],\n                'weight': 'undefined',\n                'category': 'dev',\n                'type': null,\n                'version': 'orlando',\n                'name': 'css-guidance',\n                'parent': ''\n            }]\n        }]\n    }\n}\n\nconst fixContent = (item) => {\n\treturn {\n\t\tid: item.identifier,\n\t\tlabel: item.navTitle,\n\t\thref: `#!/path/to/${item.identifier}`,\n\t\tchildren: (item.subMenu && item.subMenu.length)\n\t\t\t? item.subMenu.map( item => fixContent(item))\n\t\t\t: []\n\t};\n}\n\n\nexport const ExperienceNav = RawNav.result.content.map( item => fixContent(item));\n","export const RawNav = {\n    'result': {\n        'content': [{\n            'name': 'DevSiteGuides_PDI',\n            'navTitle': 'Personal Developer Instance (PDI) Guide',\n            'identifier': 'pdi-guide',\n            'weight': 10.0,\n            'parent': '',\n            'subMenu': [{\n                'name': 'personal-developer-instance-guide-introduction',\n                'navTitle': 'Personal Developer Instance (PDI) Guide Introduction',\n                'parent': 'pdi-guide',\n                'category': 'pdi-guide',\n                'identifier': 'now_platform_guides_pdi_introduction',\n                'weight': 0.0,\n                'subMenu': []\n            }, {\n                'name': 'understanding-pdis',\n                'navTitle': 'Understanding PDIs',\n                'parent': 'pdi-guide',\n                'category': 'pdi-guide',\n                'identifier': 'now_platform_guides_pdi_understanding',\n                'weight': 1.0,\n                'subMenu': []\n            }, {\n                'name': 'obtaining-a-pdi',\n                'navTitle': 'Obtaining a PDI',\n                'parent': 'pdi-guide',\n                'category': 'pdi-guide',\n                'identifier': 'now_platform_guides_pdi_obtaining',\n                'weight': 2.0,\n                'subMenu': []\n            }, {\n                'name': 'accessing-your-pdi',\n                'navTitle': 'Accessing Your PDI',\n                'parent': 'pdi-guide',\n                'category': 'pdi-guide',\n                'identifier': 'now_platform_guides_pdi_accessing',\n                'weight': 3.0,\n                'subMenu': []\n            }, {\n                'name': 'managing-your-pdi',\n                'navTitle': 'Managing Your PDI',\n                'parent': 'pdi-guide',\n                'category': 'pdi-guide',\n                'identifier': 'now_platform_guides_pdi_managing',\n                'weight': 4.0,\n                'subMenu': []\n            }, {\n                'name': 'getting-instance-assistance',\n                'navTitle': 'Getting Instance Assistance',\n                'parent': 'pdi-guide',\n                'category': 'pdi-guide',\n                'identifier': 'now_platform_guides_pdi_assistance',\n                'weight': 5.0,\n                'subMenu': []\n            }]\n        }, {\n            'name': 'DevSiteGuides_EA',\n            'navTitle': 'Early Availability Guide',\n            'identifier': 'ea-guide',\n            'weight': 20.0,\n            'parent': '',\n            'subMenu': [{\n                'name': 'early-availability-guide-introduction',\n                'navTitle': 'Early Availability Guide Introduction',\n                'parent': 'ea-guide',\n                'category': 'ea-guide',\n                'identifier': 'now_platform_guides_ea_introduction',\n                'weight': 3.0,\n                'subMenu': []\n            }, {\n                'name': 'personal-developer-instances-pdis',\n                'navTitle': 'Personal Developer Instances (PDIs)',\n                'parent': 'ea-guide',\n                'category': 'ea-guide',\n                'identifier': 'now_platform_guides_ea_pdis',\n                'weight': 4.0,\n                'subMenu': []\n            }, {\n                'name': 'learning-plans-and-training-courses',\n                'navTitle': 'Learning Plans and Training Courses',\n                'parent': 'ea-guide',\n                'category': 'ea-guide',\n                'identifier': 'now_platform_guides_ea_learn',\n                'weight': 5.0,\n                'subMenu': []\n            }, {\n                'name': 'api-documentation',\n                'navTitle': 'API Documentation',\n                'parent': 'ea-guide',\n                'category': 'ea-guide',\n                'identifier': 'now_platform_guides_ea_api',\n                'weight': 6.0,\n                'subMenu': []\n            }]\n        }, {\n            'name': 'DevSiteGuides_git',\n            'navTitle': 'GitHub and the Developer Site Training Guide',\n            'identifier': 'github-guide',\n            'weight': 30.0,\n            'parent': '',\n            'subMenu': [{\n                'name': 'github-and-the-developer-portal-training-guide-introduction',\n                'navTitle': 'GitHub and the Developer Portal Training Guide Introduction',\n                'parent': 'github-guide',\n                'category': 'github-guide',\n                'identifier': 'now_platform_guides_git_training',\n                'weight': 8.0,\n                'subMenu': []\n            }, {\n                'name': 'using-servicenow-provided-application-repositories',\n                'navTitle': 'Using ServiceNow-provided Application Repositories',\n                'parent': 'github-guide',\n                'category': 'github-guide',\n                'identifier': 'now_platform_guides_git_provided_application',\n                'weight': 9.0,\n                'subMenu': []\n            }, {\n                'name': 'save-your-work',\n                'navTitle': 'Saving Your Work',\n                'parent': 'github-guide',\n                'category': 'github-guide',\n                'identifier': 'now_platform_guides_git_save',\n                'weight': 10.0,\n                'subMenu': []\n            }, {\n                'name': 'load-your-saved-work',\n                'navTitle': 'Loading Your Work',\n                'parent': 'github-guide',\n                'category': 'github-guide',\n                'identifier': 'now_platform_guides_git_load',\n                'weight': 11.0,\n                'subMenu': []\n            }, {\n                'name': 'loading-exercise-solutions',\n                'navTitle': 'Loading Exercise Solutions',\n                'parent': 'github-guide',\n                'category': 'github-guide',\n                'identifier': 'now_platform_guides_git_loading',\n                'weight': 12.0,\n                'subMenu': []\n            }, {\n                'name': 'using-two-factor-authentication',\n                'navTitle': 'Using Two-Factor Authentication',\n                'parent': 'github-guide',\n                'category': 'github-guide',\n                'identifier': 'now_platform_guide_git_2fa',\n                'weight': 13.0,\n                'subMenu': []\n            }, {\n                'name': 'troubleshooting-github-issues',\n                'navTitle': 'Troubleshooting GitHub Issues',\n                'parent': 'github-guide',\n                'category': 'github-guide',\n                'identifier': 'now_platform_guides_git_troubleshooting',\n                'weight': 14.0,\n                'subMenu': []\n            }]\n        }, {\n            'name': 'DevSiteGuides_Share',\n            'navTitle': 'Share Guide',\n            'identifier': 'share-guide',\n            'weight': 40.0,\n            'parent': '',\n            'subMenu': [{\n                'name': 'share-guide-introduction',\n                'navTitle': 'Share Guide Introduction',\n                'parent': 'share-guide',\n                'category': 'share-guide',\n                'identifier': 'now_platform_guides_share_introduction',\n                'weight': 16.0,\n                'subMenu': []\n            }, {\n                'name': 'comparing-share-and-the-servicenow-store',\n                'navTitle': 'Comparing Share and the ServiceNow Store',\n                'parent': 'share-guide',\n                'category': 'share-guide',\n                'identifier': 'now_platform_guides_share_compare',\n                'weight': 17.0,\n                'subMenu': []\n            }, {\n                'name': 'using-share-projects',\n                'navTitle': 'Using Share Projects',\n                'parent': 'share-guide',\n                'category': 'share-guide',\n                'identifier': 'now_platform_guides_share_using_share',\n                'weight': 18.0,\n                'subMenu': []\n            }, {\n                'name': 'contributing-to-share',\n                'navTitle': 'Contributing to Share',\n                'parent': 'share-guide',\n                'category': 'share-guide',\n                'identifier': 'now_platform_guides_share_contributing',\n                'weight': 19.0,\n                'subMenu': []\n            }, {\n                'name': 'share-code-of-conduct',\n                'navTitle': 'Share Code of Conduct',\n                'parent': 'share-guide',\n                'category': 'share-guide',\n                'identifier': 'now_platform_guides_share_code_of_conduct',\n                'weight': 20.0,\n                'subMenu': []\n            }]\n        }, {\n            'name': 'ProfessionalDeveloperGuideForTheNowPage1',\n            'navTitle': 'Professional Developer Guide for the Now Platform',\n            'identifier': 'pro-dev-guide',\n            'weight': 50.0,\n            'parent': '',\n            'subMenu': [{\n                'name': 'pro-dev-guide-page-1',\n                'navTitle': 'Introduction',\n                'parent': 'pro-dev-guide',\n                'category': 'pro-dev-guide',\n                'identifier': 'app_store_doc_pro_dev_guide_page1_orlando',\n                'weight': 1.0,\n                'subMenu': []\n            }, {\n                'name': 'pro-dev-guide-page-2',\n                'navTitle': 'Plan',\n                'parent': 'pro-dev-guide',\n                'category': 'pro-dev-guide',\n                'identifier': 'app_store_doc_pro_dev_guide_page2_orlando',\n                'weight': 2.0,\n                'subMenu': []\n            }, {\n                'name': 'pro-dev-guide-page-3',\n                'navTitle': 'Build: Data',\n                'parent': 'pro-dev-guide',\n                'category': 'pro-dev-guide',\n                'identifier': 'app_store_doc_pro_dev_guide_page3_orlando',\n                'weight': 3.0,\n                'subMenu': []\n            }, {\n                'name': 'pro-dev-guide-page-4',\n                'navTitle': 'Build: Design',\n                'parent': 'pro-dev-guide',\n                'category': 'pro-dev-guide',\n                'identifier': 'app_store_doc_pro_dev_guide_page4_orlando',\n                'weight': 4.0,\n                'subMenu': []\n            }, {\n                'name': 'pro-dev-guide-page-5',\n                'navTitle': 'Build: Logic',\n                'parent': 'pro-dev-guide',\n                'category': 'pro-dev-guide',\n                'identifier': 'app_store_doc_pro_dev_guide_page5_orlando',\n                'weight': 5.0,\n                'subMenu': []\n            }, {\n                'name': 'pro-dev-guide-page-6',\n                'navTitle': 'Validate',\n                'parent': 'pro-dev-guide',\n                'category': 'pro-dev-guide',\n                'identifier': 'app_store_doc_pro_dev_guide_page6_orlando',\n                'weight': 6.0,\n                'subMenu': []\n            }, {\n                'name': 'pro-dev-guide-page-7',\n                'navTitle': 'Deploy',\n                'parent': 'pro-dev-guide',\n                'category': 'pro-dev-guide',\n                'identifier': 'app_store_doc_pro_dev_guide_page7_orlando',\n                'weight': 7.0,\n                'subMenu': []\n            }, {\n                'name': 'pro-dev-guide-page-8',\n                'navTitle': 'Conclusion',\n                'parent': 'pro-dev-guide',\n                'category': 'pro-dev-guide',\n                'identifier': 'app_store_doc_pro_dev_guide_page8_orlando',\n                'weight': 8.0,\n                'subMenu': []\n            }, {\n                'name': 'pro-dev-guide-page-9',\n                'navTitle': 'Appendix',\n                'parent': 'pro-dev-guide',\n                'category': 'pro-dev-guide',\n                'identifier': 'app_store_doc_pro_dev_guide_page9_orlando',\n                'weight': 9.0,\n                'subMenu': []\n            }]\n        }, {\n            'name': 'CitizenDevGuide',\n            'navTitle': 'No-Code (Citizen Developer) Guide for the Now Platform',\n            'identifier': 'citizen-dev-guide',\n            'weight': 60.0,\n            'parent': '',\n            'subMenu': [{\n                'name': 'cd-introduction',\n                'navTitle': 'Introduction',\n                'parent': 'citizen-dev-guide',\n                'category': 'citizen-dev-guide',\n                'identifier': 'app_store_doc_citizen_dev_orlando_cd_Introduction',\n                'weight': 2.0,\n                'subMenu': []\n            }, {\n                'name': 'cd-planning',\n                'navTitle': 'Planning',\n                'parent': 'citizen-dev-guide',\n                'category': 'citizen-dev-guide',\n                'identifier': 'app_store_doc_citizen_dev_orlando_cd_Planning',\n                'weight': 3.0,\n                'subMenu': []\n            }, {\n                'name': 'cd-data',\n                'navTitle': 'Data',\n                'parent': 'citizen-dev-guide',\n                'category': 'citizen-dev-guide',\n                'identifier': 'app_store_doc_citizen_dev_orlando_cd_Data',\n                'weight': 4.0,\n                'subMenu': []\n            }, {\n                'name': 'cd-design',\n                'navTitle': 'Design',\n                'parent': 'citizen-dev-guide',\n                'category': 'citizen-dev-guide',\n                'identifier': 'app_store_doc_citizen_dev_orlando_cd_Design',\n                'weight': 5.0,\n                'subMenu': []\n            }, {\n                'name': 'cd-logic',\n                'navTitle': 'Logic',\n                'parent': 'citizen-dev-guide',\n                'category': 'citizen-dev-guide',\n                'identifier': 'app_store_doc_citizen_dev_orlando_cd_Logic',\n                'weight': 50.0,\n                'subMenu': []\n            }, {\n                'name': 'cd-app-completion',\n                'navTitle': 'App Completion',\n                'parent': 'citizen-dev-guide',\n                'category': 'citizen-dev-guide',\n                'identifier': 'app_store_doc_citizen_dev_orlando_cd_AppCompletion',\n                'weight': 60.0,\n                'subMenu': []\n            }, {\n                'name': 'cd-appendix',\n                'navTitle': 'Appendix',\n                'parent': 'citizen-dev-guide',\n                'category': 'citizen-dev-guide',\n                'identifier': 'app_store_doc_citizen_dev_orlando_cd_Appendix',\n                'weight': 70.0,\n                'subMenu': []\n            }]\n        }, {\n            'name': 'DevelopingAsATeam',\n            'navTitle': 'Developing as a Team',\n            'identifier': 'developing-as-a-team',\n            'weight': 70.0,\n            'parent': '',\n            'subMenu': [{\n                'name': 'dt-introduction',\n                'navTitle': 'Introduction',\n                'parent': 'developing-as-a-team',\n                'category': 'developing-as-a-team',\n                'identifier': 'app_store_doc_citizen_dev_orlando_dt_Introduction',\n                'weight': 2.0,\n                'subMenu': []\n            }, {\n                'name': 'dt-planning',\n                'navTitle': 'Planning and preparation',\n                'parent': 'developing-as-a-team',\n                'category': 'developing-as-a-team',\n                'identifier': 'app_store_doc_citizen_dev_orlando_dt_Planning',\n                'weight': 3.0,\n                'subMenu': []\n            }, {\n                'name': 'dt-implementing',\n                'navTitle': 'Step by step: implementing development team collaboration for an app',\n                'parent': 'developing-as-a-team',\n                'category': 'developing-as-a-team',\n                'identifier': 'app_store_doc_citizen_dev_orlando_dt_Implementing',\n                'weight': 4.0,\n                'subMenu': []\n            }, {\n                'name': 'dt-conclusion',\n                'navTitle': 'Conclusion',\n                'parent': 'developing-as-a-team',\n                'category': 'developing-as-a-team',\n                'identifier': 'app_store_doc_citizen_dev_orlando_dt_Conclusion',\n                'weight': 5.0,\n                'subMenu': []\n            }, {\n                'name': 'dt-appendix-a',\n                'navTitle': 'Appendix A: Source Control vs Update Sets',\n                'parent': 'developing-as-a-team',\n                'category': 'developing-as-a-team',\n                'identifier': 'app_store_doc_citizen_dev_orlando_dt_AppendixA',\n                'weight': 6.0,\n                'subMenu': []\n            }, {\n                'name': 'dt-appendix-b',\n                'navTitle': 'Appendix B: Creating an application',\n                'parent': 'developing-as-a-team',\n                'category': 'developing-as-a-team',\n                'identifier': 'app_store_doc_citizen_dev_orlando_dt_AppendixB',\n                'weight': 7.0,\n                'subMenu': []\n            }, {\n                'name': 'dt-appendix-c',\n                'navTitle': 'Appendix C: Linking your app to source control',\n                'parent': 'developing-as-a-team',\n                'category': 'developing-as-a-team',\n                'identifier': 'app_store_doc_citizen_dev_orlando_dt_AppendixC',\n                'weight': 8.0,\n                'subMenu': []\n            }, {\n                'name': 'dt-appendix-d',\n                'navTitle': 'Appendix D: Adding team members and delegates',\n                'parent': 'developing-as-a-team',\n                'category': 'developing-as-a-team',\n                'identifier': 'app_store_doc_citizen_dev_orlando_dt_AppendixD',\n                'weight': 9.0,\n                'subMenu': []\n            }]\n        }, {\n            'name': 'glossary',\n            'navTitle': 'ServiceNow Glossary',\n            'identifier': 'glossary',\n            'weight': 900.0,\n            'parent': '',\n            'subMenu': [{\n                'name': 'developer-glossary',\n                'navTitle': 'ServiceNow Developer Glossary',\n                'parent': 'glossary',\n                'category': 'glossary',\n                'identifier': 'app_store_learnv2_glossary_orlando_servicenow_developer_glossary',\n                'weight': 3.0,\n                'subMenu': []\n            }]\n        }]\n    }\n}\n\nconst fixContent = (item) => {\n\treturn {\n\t\tid: item.identifier,\n\t\tlabel: item.navTitle,\n\t\thref: `#!/path/to/${item.identifier}`,\n\t\tchildren: (item.subMenu && item.subMenu.length)\n\t\t\t? item.subMenu.map( item => fixContent(item))\n\t\t\t: []\n\t};\n}\n\n\nexport const PlatformNav = RawNav.result.content.map( item => fixContent(item));\n\n","export const RawNav = {\n\t\"client\": [],\n\t\"client_next_experience\": [],\n\t\"client_mobile\": [],\n\t\"navbar_server__orlando\": \"navbar_server__orlando#59164677604b514e3e5e63061e881004\",\n\t\"rest\": [],\n\t\"server\": [{\n\t\t\"dc_identifier\": \"no-namespace\",\n\t\t\"is_current\": true,\n\t\t\"items\": [{\n\t\t\t\"dc_identifier\": \"c_CertificateEncryptionScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r-SCE-CE\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"CertificateEncryption()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SCE-generateMac_S_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"generateMac(String key, String algorithm, String data)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SCE-getThumbPrint_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getThumbPrint(String certificateID, String algorithm)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SCE-getThumbPrintFromKeyStore_S_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getThumbPrintFromKeystore(String certificateID, String alias, String algorithm)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SCE-sign_certificateID_S_S_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"sign(String certificateID, String alias, String aliaspassword, String algorithm, String datatosign)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"CertificateEncryption\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_GlideAggregateScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideAggregateGlideAggregate_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideAggregate(String tableName)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideAggregateAddAggregate_String_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addAggregate(String agg, String name)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideAggregateAddEncodedQuery_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addEncodedQuery(String query)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideAggregateAddNotNullQuery_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addNotNullQuery(String fieldName)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideAggregateAddNullQuery_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addNullQuery(String fieldName)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideAggregateAddQuery_String_String_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addQuery(String name, String operator, String value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideAggAddTrend_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addTrend(String fieldName, String timeInterval)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideAggregateGetAggregate_String_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getAggregate(String agg, String name)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideAggregateGetAggregateEncodedQuery\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getAggregateEncodedQuery()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideAggregateGetEncodedQuery\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getEncodedQuery()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideAggregateGetRowCount\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRowCount()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideAggregateGetTableName\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getTableName()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideAggregateGetValue_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getValue(String name)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideAggregateGroupBy_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"groupBy(String name)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideAggregateHasNext\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"hasNext()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideAggregateNext\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"next()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideAggregateOrderBy_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"orderBy(String name)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideAggregateOrderByAggregate_String_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"orderByAggregate(String agg, String fieldName)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideAggregateOrderByDesc_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"orderByDesc(String name)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideAggregateQuery\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"query()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideAggregateSetGroup_Boolean\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setGroup(Boolean b)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideAggregate\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"GlideCalendarDateTimeAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"GCDT-add_GT\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"add(GlideTime time)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-add_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"add(Number milliseconds)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-GlideCalendarDateTime\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideCalendarDateTime()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-GlideCalendarDateTime_GCDT\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideCalendarDateTime(GlideCalendarDateTime gcDT)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-GlideCalendarDateTime_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideCalendarDateTime(String dateTime)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-addDays_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addDays(Number days)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-addDaysLocalTime_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addDaysLocalTime(Number days)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-addDaysUTC_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addDaysUTC(Number days)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-addMonths_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addMonths(Number months)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-addMonthsLocalTime_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addMonthsLocalTime(Number months)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-addMonthsUTC_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addMonthsUTC(Number months)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-addSeconds_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addSeconds(Number seconds)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-addWeeks_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addWeeks(Number weeks)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-addWeeksLocalTime_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addWeeksLocalTime(Number weeks)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-addWeeksUTC_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addWeeksUTC(Number weeks)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-addYears_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addYears(Number years)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-addYearsLocalTime_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addYearsLocalTime(Number years)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-addYearsUTC_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addYearsUTC(Number years)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-compareTo_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"compareTo(Object dateTime)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT_equals_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"equals(Object GCDT)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getDate\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDate()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getDayOfMonth\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDayOfMonth()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getDayOfMonthLocalTime\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDayOfMonthLocalTime()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getDayOfMonthUTC\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDayOfMonthUTC()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getDayOfWeek\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDayOfWeek()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getDayOfWeekLocalTime\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDayOfWeekLocalTime()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getDayOfWeekUTC\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDayOfWeekUTC()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getDaysInMonth\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDaysInMonth()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getDaysInMonthLocalTime\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDaysInMonthLocalTime()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getDaysInMonthUTC\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDaysInMonthUTC()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getDisplayValue\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDisplayValue()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getDisplayValueInternal\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDisplayValueInternal()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getDSTOffset\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDSTOffset()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getErrorMsg\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getErrorMsg()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getFloatingValue\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getFloatingValue()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getInternalFormatedLocalTime\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getInternalFormattedLocalTime()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getInternalMidnight_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getInternalMidnight(Number dayOfTheWeek)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getLocalDate\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getLocalDate()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getLocalTime\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getLocalTime()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getMonth\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getMonth()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getMonthLocalTime\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getMonthLocalTime()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getMonthUTC\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getMonthUTC()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getNumericValue\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getNumericValue()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getSpanTime_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getSpanTime(Number dayOfWeek)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getTime\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getTime()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getTZOffset\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getTZOffset()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getUserFormattedLocalTime\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getUserFormattedLocalTime()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getUserTimeZone\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getUserTimeZone()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getUTCMidnight_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getUTCMidnight(Number dayOfTheWeek)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getValue\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getValue()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getWeekOfYearLocalTime\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getWeekOfYearLocalTime()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getWeekOfYearUTC\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getWeekOfYearUTC()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getYear\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getYear()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getYearLocalTime\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getYearLocalTime()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-getYearUTC\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getYearUTC()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-hasDate\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"hasDate()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-isDST\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isDST()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-isValid\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isValid()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-setDayOfMonth_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setDayOfMonth(Number day)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-setDayOfMonthLocalTime_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setDayOfMonthLocalTime(Number day)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-setDayOfMonthUTC_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setDayOfMonthUTC(Number day)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-setDisplayValue_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setDisplayValue(String asDisplayed)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-setDisplayValue_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setDisplayValue(String dateTime, String format)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-setDisplayValueInternal_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setDisplayValueInternal(String dateTime)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-setDispValInternalAlt_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setDisplayValueInternalWithAlternates(String dateTime)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-setGlideCalendarDateTime_GCDT\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setGlideCalendarDateTime(GlideCalendarDateTime gcDT)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-setInitialValue_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setInitialValue(String dateTime)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-setMonth_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setMonth(Number month)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-setMonthLocalTime_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setMonthLocalTime(Number month)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-setMonthUTC_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setMonthUTC(Number month)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-setNumericValue_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setNumericValue(Number milliseconds)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-setTZ_TZ\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setTZ(TimeZone timeZone)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-setValue_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setValue(Object dateTime)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-setValueUTC_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setValueUTC(String dateTime, String format)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-setYear_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setYear(Number year)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-setYearLocalTime_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setYearLocalTime(Number year)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-setYearUTC_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setYearUTC(Number year)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-subtract_GCDT_GCDT\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"subtract(GlideCalendarDateTime start, GlideCalendarDateTime end)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-subtract_GT\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"subtract(GlideTime time)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-subtract_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"subtract(Number milliseconds)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCDT-toString\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"toString()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideCalendarDateTime\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_GlideDateScopedAPI.dita\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateGlideDate\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideDate()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateGetByFormat_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getByFormat(String format)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGD_getDayOfMonthNoTZ\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDayOfMonthNoTZ()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateGetDisplayValue\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDisplayValue()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateGetDisplayValueInternal\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDisplayValueInternal()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGD-getMonthNoTZ\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getMonthNoTZ()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateGetValue\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getValue()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGD-getYearNoTZ\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getYearNoTZ()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateSetDisplayValue_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setDisplayValue(String asDisplayed)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateSetValue_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setValue(String o)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateSubtract_GlideDate_GlideDate\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"subtract(GlideDate start, GlideDate end)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideDate\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_APIRef\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeAdd_GlideTime_gd\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"add(GlideTime gd)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeAdd_Number\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"add(Number milliseconds)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeAddDaysLocalTime_Number\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addDaysLocalTime(Number days)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeAddDaysUTC_Number\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addDaysUTC(Number days)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeGlideDateTime\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideDateTime()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeGlideDateTime_GlideDateTime_g\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideDateTime(GlideDateTime g)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeGlideDateTime_String_value\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideDateTime(String value)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeAddMonthsLocalTime_Number\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addMonthsLocalTime(Number months)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeAddMonthsUTC_Number\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addMonthsUTC(Number months)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeAddSeconds_Number\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addSeconds(Number seconds)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeAddWeeksLocalTime_Number\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addWeeksLocalTime(Number weeks)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeAddWeeksUTC_Number\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addWeeksUTC(Number weeks)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeAddYearsLocalTime_Number\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addYearsLocalTime(Number years)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeAddYearsUTC_Number\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addYearsUTC(Number years)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGDT-after_GDT\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"after(GlideDateTime gdt)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGDT-before_GDT\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"before(GlideDateTime gdt)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeCompareTo_Object_o\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"compareTo(Object o)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeEquals_Object\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"equals(Object dateTime)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeGetDate\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDate()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeGetDayOfMonthLocalTime\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDayOfMonthLocalTime()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeGetDayOfMonthUTC\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDayOfMonthUTC()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeGetDayOfWeekLocalTime\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDayOfWeekLocalTime()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeGetDayOfWeekUTC\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDayOfWeekUTC()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeGetDaysInMonthLocalTime\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDaysInMonthLocalTime()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeGetDaysInMonthUTC\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDaysInMonthUTC()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeGetDisplayValue\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDisplayValue()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeGetDisplayValueInternal\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDisplayValueInternal()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeGetDSTOffset\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDSTOffset()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeGetErrorMsg\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getErrorMsg()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGDT-getInternalFormatedLocalTime\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getInternalFormattedLocalTime()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeGetLocalDate\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getLocalDate()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeGetLocalTime\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getLocalTime()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeGetMonthLocalTime\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getMonthLocalTime()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeGetMonthUTC\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getMonthUTC()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeGetNumericValue\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getNumericValue()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeGetTime\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getTime()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeGetTZOffset\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getTZOffset()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGDT-getUserFormattedLocalTime\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getUserFormattedLocalTime()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeGetValue\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getValue()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeGetWeekOfYearLocalTime\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getWeekOfYearLocalTime()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeGetWeekOfYearUTC\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getWeekOfYearUTC()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeGetYearLocalTime\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getYearLocalTime()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeGetYearUTC\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getYearUTC()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeHasDate\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"hasDate()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeIsDST\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isDST()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeIsValid\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isValid()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGDT-onOrAfter_GDT\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"onOrAfter(GlideDateTime gdt)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGDT-onOrBefore_GDT\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"onOrBefore(GlideDateTime gdt)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeSetDayOfMonthLocalTime_Number_day\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setDayOfMonthLocalTime(Number day)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeSetDayOfMonthUTC_Number_day\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setDayOfMonthUTC(Number day)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeSetDisplayValue_String_asDisplayed\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setDisplayValue(String asDisplayed)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeSetDisplayValue_String_value_String_format\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setDisplayValue(String value, String format)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeSetDisplayValueInternal_String_value\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setDisplayValueInternal(String value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTime_GlideDateTime_g\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setGlideDateTime(GlideDateTime g)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeSetMonthLocalTime_Number\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setMonthLocalTime(Number month)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeSetMonthUTC_Number\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setMonthUTC(Number month)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeHasDateMethod\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setValue(String o)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeSetValueUTC_String_dt_String_format\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setValueUTC(String dt, String format)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeSetYearLocalTime_Number\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setYearLocalTime(Number year)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeSetYearUTC_Number\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setYearUTC(Number year)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeSubtract_GlideDateTime_GlideDate_Time\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"subtract(GlideDateTime start, GlideDateTime end)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeSubtract_GlideTime\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"subtract(GlideTime time)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeSubtract_Number\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"subtract(Number milliseconds)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDateTimeToString\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"toString()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideDateTime\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"GlideDBFunctionBuilderScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"GlideDBFBScoped-add\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"add()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GlideDBFBScoped-GlideDBFB\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideDBFunctionBuilder()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GlideDBFBScoped-build\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"build()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GlideDBFBScoped-concat\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"concat()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GlideDBFBScoped-constant_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"constant(String constant)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GlideDBFBScoped-datediff\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"datediff()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GlideDBFBScoped-dayofweek\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"dayofweek()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GlideDBFBScoped-divide\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"divide()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GlideDBFBScoped-field_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"field(String field)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GlideDBFBScoped-length\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"length()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GlideDBFBScoped-multiply\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"multiply()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GlideDBFBScoped-subtract\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"subtract()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideDBFunctionBuilder - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_GlideDigestScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_SGDigest-GlideDigest\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideDigest()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGDigest-getMD5Base64_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getMD5Base64(String source)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGDigest-getMD5Base64FrStrm_GSIS\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getMD5Base64FromInputStream( GlideScriptableInputStream inputStream)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGDigest-getMD5Hex_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getMD5Hex(String source)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGDigest-getMD5HexStrm_GSIS\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getMD5HexFromInputStream( GlideScriptableInputStream inputStream)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGDigest-getSHA1Base64_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getSHA1Base64(String source)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGDigest-getSHA1Base64FrStrm_GSIS\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getSHA1Base64FromInputStream( GlideScriptableInputStream inputStream)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGDigest-getSHA1Hex_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getSHA1Hex(String source)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGDigest-getSHA1HexStrm-GSIS\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getSHA1HexFromInputStream( GlideScriptableInputStream inputStream)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGDigest-getSHA256Base64_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getSHA256Base64(String source)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGDigest-getSHA256B64S_GSIS\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getSHA256Base64FromInputStream( GlideScriptableInputStream inputStream)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGDigest-getSHA256Hex_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getSHA256Hex(String source)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGDigest-getSHA256HexStrm_GSIS\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getSHA256HexFromInputStream( GlideScriptableInputStream inputStream)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideDigest\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_GlideDurationScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDurationAdd_GlideDuration\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"add(GlideDuration duration)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDurationGlideDuration\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideDuration()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDurationGlideDuration_GlideDuration\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideDuration(GlideDuration another)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDurationGlideDuration_Number\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideDuration(Number milliseconds)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDurationGlideDuration_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideDuration(String displayValue)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDurationGetByFormat_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getByFormat(String format)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDurationGetDayPart\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDayPart()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDurationGetDisplayValue\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDisplayValue()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDurationGetDurationValue\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDurationValue()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDurationGetRoundedDayPart\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRoundedDayPart()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDurationGetValue\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getValue()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDurationSetDisplayValue_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setDisplayValue(String asDisplayed)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDurationSetValue_Object\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setValue(Object o)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideDurationSubtract_GlideDuration\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"subtract(GlideDuration duration)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideDuration\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_GlideElementScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"SGE-canCreate\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"canCreate()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGE-canRead\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"canRead()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGE-canWrite\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"canWrite()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideElementChanges\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"changes()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideElementChangesFrom_Object_o\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"changesFrom(Object o)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideElementChangesTo_Object_o\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"changesTo(Object o)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGE-dateNumericValue\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"dateNumericValue()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGE-getAttribute_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getAttribute(String attributeName)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGE-getBooleanAttribute_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getBooleanAttribute(String attributeName)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideElementGetChoices_String_dependent\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getChoices(String dependent)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideElementGetChoiceValue\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getChoiceValue()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGE-getDecryptedValue\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDecryptedValue()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideElementGetDisplayValue_Number_maxCharacters\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDisplayValue(Number maxCharacters)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideElementGetED\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getED()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGE-getGlobalDisplayValue\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getGlobalDisplayValue()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGE-getHTMLValue_Number\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getHTMLValue(Number maxChars)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGE-getJournalEntry_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getJournalEntry(Number mostRecent)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGE-getLabel\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getLabel()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGE-getName\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getName()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideElementGetReferenceTable\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getReferenceTable()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideElementGetRefRecord\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRefRecord()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGE-getTableName\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getTableName()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideElementNil\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"nil()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGE-setDateNumericValue_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setDateNumericValue(Number milliseconds)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideElementSetDisplayValue_Object_value\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setDisplayValue(Object value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideElementSetError_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setError(String errorMessage)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGE-setPhoneNumber_O_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setPhoneNumber(Object phoneNumber, Boolean strict)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideElementSetValue_Object_value\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setValue(Object value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideElementToString\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"toString()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideElement\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"GlideElementCurrency2API\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"Scoped-GEC-getAsEntDispVal\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getAsEnteredDisplayValue()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"Scoped-GEC-getDisplayVal\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDisplayValue()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"Scoped-GEC-getRefDispVal\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getReferenceDisplayValue()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"Scoped-GEC-getSesDispVal\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getSessionDisplayValue()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"Scoped-GEC-setDisplayVal_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setDisplayValue(String displayValue)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideElementCurrency2\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_GlideElementDescriptorScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideElementDescriptorGetAttachmentEncyrptionType\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getAttachmentEncryptionType()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideElementDescriptorGetEncryptionType\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getEncryptionType()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideElementDescriptorGetInternalType\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getInternalType()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideElementDescriptorGetLabel\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getLabel()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideElementDescriptorGetLength\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getLength()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideElementDescriptorGetName\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getName()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGED-getPlural\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getPlural()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideElementDescriptorHasAttachmentsEncrypted\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"hasAttachmentsEncrypted()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideElementDescriptorIsAutoOrSysID\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isAutoOrSysID()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideElementDescriptorIsChoiceTable\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isChoiceTable()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideElementDescriptorIsEdgeEncrypted\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isEdgeEncrypted()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGED-isMandatory\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isMandatory()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideElementDescriptorIsVirtual\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isVirtual()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideElementDescriptor\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_GlideEmailOutboundScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideEmailOutbound-addAddress_String_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addAddress( String type, String address)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideEmailOutbound-addAddress_String_String_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addAddress(String type, String address, String displayName)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideEmailOutbound-GlideEmailOutbound\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideEmailOutbound()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideEmailOutbound-getSubject\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getSubject()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGEO-getWatermark\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getWatermark()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideEmailOutbound-setBody_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setBody(String bodyText)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideEmailOutbound-setFrom_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setFrom(String address)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideEmailOutbound-setReplyTo_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setReplyTo(String address)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideEmailOutbound-setSubject_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setSubject(String subject)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideEmailOutbound\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_GlideFilterScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideFilterCheckRecord_GlideRecord_String_Object\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"checkRecord(GlideRecord gr, String filter, Boolean match)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideFilter\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_GlideFormScratchpadScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [],\n\t\t\t\"name\": \"GlideFormScratchpad - Scoped, Client\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"GlideImportLogAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"GImportLog-GlideImportLog\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideImportLog(GlideImportSetRun importSetRun, String source)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GImportLog-error_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"error(String message, String source)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GImportLog-getImportRunHistory\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getImportRunHistory()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GImportLog-info_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"info(String message, String source)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GImportLog-setImportRunHistory_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setImportRunHistory(String importRunHistory)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GImportLog-warn_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"warn(String message, String source)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideImportLog - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"GlideImportSetRunAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"GImpSetRun-GlideImportSetRun_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideImportSetRun(String importSetID)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GImpSetRun-getImportSetRunSysID\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getImportSetRunSysID()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideImportSetRun - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"GlideImportSetTransformerAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"GImpSetTrans-GlideImportSetTrans\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideImportSetTransformer()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GImpSetTrans-getImportSetRun\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getImportSetRun()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GImpSetTrans-isError\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isError()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GImpSetTrans-setImportSetID_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setImportSetID(String id)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GImpSetTrans-setImportSetRun_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setImportSetRun(GlideImportSetRun importSetRun)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GImpSetTrans-setLogger_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setLogger(GlideImportLog log)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GImpSetTrans-setMapID_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setMapID(String mapID)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideImportSetTransformer - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_GlideLocaleScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideLocaleGet\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"get()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideLocaleGetDecimalSeparator\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDecimalSeparator()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideLocaleGetGroupingSeparator\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getGroupingSeparator()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideLocale\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_GlidePluginManagerScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlidePluginManager-isActive_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isActive(String pluginID)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlidePluginManager\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_GlideQueryConditionScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideQueryConditionAddCondition_String_name_String_oper_Object_value\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addCondition(String name, String oper, Object value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideQueryConditionOrAddCondition_String_name_String_oper_Object_value\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addOrCondition(String name, String oper, Object value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideQueryCondition\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_GlideRecordScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"SGR-addActiveQuery\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addActiveQuery()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordAddEncodedQuery_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addEncodedQuery(String query)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordAddFunction_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addFunction(Object function)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordAddJoinQuery_String_Object_Object\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addJoinQuery(String joinTable, String primaryField, String joinTableField)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordAddNotNullQuery_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addNotNullQuery(String fieldName)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordGlideRecord_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideRecord(String tableName)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordAddNullQuery_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addNullQuery(String fieldName)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordAddQuery_String_Object\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addQuery(String name, Object value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordAddQuery_String_String_Object\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addQuery(String name, String operator, Object value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordAddQuery_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addQuery(String query)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordCanCreate\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"canCreate()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordCanDelete\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"canDelete()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordCanRead\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"canRead()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordCanWrite\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"canWrite()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordChooseWindow_Number_Number_Boolean\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"chooseWindow(Number firstRow, Number lastRow, Boolean forceCount)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordDeleteMultiple\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"deleteMultiple()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordDeleteRecord\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"deleteRecord()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordGet_Object_Object\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"get(Object name, Object value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGR-getAttribute_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getAttribute(String fieldName)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGR-getClassDisplayValue\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getClassDisplayValue()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordGetDisplayValue\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDisplayValue()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGR-getED\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getED()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordGetElement_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getElement(String columnName)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordGetEncodedQuery\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getEncodedQuery()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGR-getLabel\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getLabel()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordGetLastErrorMessage\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getLastErrorMessage()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordGetLink_Boolean\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getLink(Boolean noStack)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordGetRecordClassName\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRecordClassName()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordGetRowCount\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRowCount()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordGetTableName\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getTableName()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordGetUniqueValue\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getUniqueValue()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordGetValue_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getValue(String name)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordHasNext\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"hasNext()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordInitialize\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"initialize()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordInsert\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"insert()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordIsActionAborted\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isActionAborted()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGR-isEncodedQueryValid_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isEncodedQueryValid(String query)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordIsNewRecord\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isNewRecord()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordIsValid\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isValid()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordIsValidField\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isValidField(String columnName)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordIsValidRecord\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isValidRecord()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordNewRecord\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"newRecord()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordNext\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"next()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordOperation\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"operation()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordOrderBy_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"orderBy(String name)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordOrderByDesc_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"orderByDesc(String name)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordQuery_Object_Object\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"query(Object field, Object value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordSetAbortAction_Boolean\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setAbortAction(Boolean b)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordSetLimit_Number\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setLimit(Number maxNumRecords)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordSetNewGuidValue_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setNewGuidValue(String guid)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordSetValue_String_Object\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setValue(String name, Object value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordSetWorkflow_Boolean\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setWorkflow(Boolean enable)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordUpdate_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"update(String reason)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideRecordUpdateMultiple\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"updateMultiple()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGR-_next\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"_next()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGR-_query_O_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"_query(Object field, Object value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideRecord\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_GlideScheduleScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideScheduleAdd_GlideDateTime_GlideDuration\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"add(GlideDateTime startDate, GlideDuration offSet)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSchedule\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideSchedule()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideScheduleGlideSchedule_String_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideSchedule(String sysID, String timeZone)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideScheduleDuration_GlideDateTime_GlideDateTime\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"duration(GlideDateTime startDate, GlideDateTime endDate)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideScheduleGetName\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getName()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideScheduleIsInSchedule_GlideDateTime\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isInSchedule(GlideDateTime time)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideScheduleIsValid\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isValid()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideScheduleLoad_String_String_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"load(String sysID, String timeZone, String excludeSpanID)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideScheduleSetTimeZone_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setTimeZone(String timeZone)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideScheduleWhenNext_GlideDateTime_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"whenNext(GlideDateTime time, String timeZone)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideSchedule\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_GlideEvaluatorScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideEvaluatorGlideScopedEvaluator\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideScopedEvaluator()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideEvaluatorEvaluateScript_GlideRecord_String_Object\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"evaluateScript(GlideRecord grObj, String scriptField, Object variables)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideEvaluatorGetVariable_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getVariable(String name)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideEvaluatorPutVariable_String_Object\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"putVariable(String name, Object value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideScopedEvaluator\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_GlideScriptableInpStrmScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [],\n\t\t\t\"name\": \"GlideScriptableInputStream\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_GlideScriptedProcessorScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideScriptedProcessorRedirect_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"redirect(String url)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideScriptedProcessorWriteJSON_Object\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"writeJSON(Object o)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideScriptedProcessorWriteOutput_String_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"writeOutput(String contentType, String s)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideScriptedProcessorWriteOutput_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"writeOutput(String s)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideScriptedProcessor\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_GlideSecurityUtilsScopedAPIs\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_getSecureRandomInt\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getSecureRandomInt()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GlideSecureRandomUtilgetSecureRandomIntBound\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getSecureRandomIntBound(Number bound)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GlideSecureRandomUtilGetSecureRandomLong\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getSecureRandomLong()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GlideSecureRandomUtilGetSecureRandomString\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getSecureRandomString(Number length)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideSecureRandomUtil\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"GlideSecurityUtilsScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"GSU-cleanURL_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"cleanURL(String url)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GSU-enforceRelativeURL_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"enforceRelativeURL(String url)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GSU-escapeScript_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"escapeScript(String script)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GSU-isURLWhiteListed_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isURLWhiteListed(String url)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideSecurityUtils- Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_GlideServletRequestScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"ScopedGlideServletRequestGetContentType\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getContentType()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideServletRequestGetHeader_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getHeader(String name)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideServletRequestGetHeaderNames\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getHeaderNames()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideServletRequestGetHeaders_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getHeaders(String name)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideServletRequestGetParameter_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getParameter(String name)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideServletRequestGetParameterNames\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getParameterNames()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideServletRequestGetQueryString\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getQueryString()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideServletRequest\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_GlideServletResponseScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideServletResponseSendRedirect_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"sendRedirect(String location)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideServletResponseSetContentType_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setContentType(String type)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideServletResponseSetHeader_String_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setHeader(String key, String value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideServletResponseSetStatus_Number\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setStatus(Number status)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideServletResponse\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_GlideSessionScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSessionGetClientData_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getClientData(String paramName)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSessionGetClientIP\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getClientIP()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSessionGetCurrentApplicationId\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getCurrentApplicationId()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSessionGetLanguage\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getLanguage()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSessionGetSessionToken\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getSessionToken()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSessionGetTimeZoneName\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getTimeZoneName()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSessionGetUrlOnStack\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getUrlOnStack()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGSSN-isImpersonating\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isImpersonating()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSessionIsInteractive\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isInteractive()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSessionIsLoggedIn\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isLoggedIn()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSessionPutClientData_String_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"putClientData(String paramName, String paramValue)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideSession\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_GlideSPScriptableScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_GSPS-canReadRecord_GR\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"canReadRecord(GlideRecord gr)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GSPS-canReadRecord_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"canReadRecord(String table, String sysId)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GSPS-canSeePage_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"canSeePage(String pageID)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GSPS-getCatalogItem_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getCatalogItem(String sysId)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GSPS-getCatalogItem_S_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getCatalogItem(String sysId, Boolean isOrdering)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GSPS-getDisplayValue_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDisplayValue(String fieldName)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GSPS-getField_GR_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getField(GlideRecord gr, String fieldName)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GSPS-getFields_GR_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getFields(GlideRecord gr, String fieldNames)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GSPS-getFieldsObject_GR_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getFieldsObject(GlideRecord gr, String fieldNames)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GSPS-getForm_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getForm(String tableName, String sysId)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GSPS-getKBCategoryArticles_S_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getKBCategoryArticles(String sys_id, Number limit)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GSPS-getKBCategoryArticleSummaries_S_N_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getKBCategoryArticleSummaries(String sys_id, Number limit, Number maxChars)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GSPS-getKBCount_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getKBCount(String sys_id)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GSPS-getListColumns_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getListColumns(String tableName, String view)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GSPS-getMenuHREF_GR\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getMenuHREF(GlideRecord page)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GSPS-getMenuItems_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getMenuItems(String sysId)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GSPS-getParameter_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getParameter(String name)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GSPS-getPortalRecord\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getPortalRecord()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GSPS-getRecord\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRecord(String table, String sys_id)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GSPS-getRecordDispValues_O_GR_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRecordDisplayValues(Object data, GlideRecord from, String names)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GSPS-getRecordElements_O_GR_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRecordElements(Object data, GlideRecord from, String names)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GSPS-getRecordValues_O_GR_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRecordValues(Object data, GlideRecord from, String names)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GSPS-getRecordVars_GR_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRecordVariables(GlideRecord gr, Boolean includeNilResponses)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GSPS-getRecVarArray_GR\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRecordVariablesArray(GlideRecord gr, Boolean includeNilResponses)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GSPS-getStream_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getStream(String table, String sysId)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GSPS-getUserInitials\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getUserInitials()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GSPS-getValue_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getValue(String name)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GSPS-getValues_O_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getValues(Object data, String names)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GSPS-getVariablesArray_S_S_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getVariablesArray(Boolean includeNilResponses)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GSPS-getWidget_S__O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getWidget(String sysID, Object options)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GSPS-mapUrlToSPUrl_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"mapUrlToSPUrl(String url)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideSPScriptable\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"GlideSPSearchAnalyticsAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"GlideSPSearchAnalytics-publish_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"publish(String payload)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideSPSearchAnalytics - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"GlideStringUtilScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"GSUS-dotToUnderBar_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"dotToUnderBar(String sourceString)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GSUS-escapeAllQuotes_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"escapeAllQuotes(String sourceString)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GSUS-escapeForHomePage_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"escapeForHomePage(String sourceString)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GSUS-escapeHTML_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"escapeHTML(String htmlString)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GSUS-escapeNonPrintable_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"escapeNonPrintable(String sourceString)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GSUS-escapeQTermSeparator_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"escapeQueryTermSeparator(String sourceString)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GSUS-escapeTicks_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"escapeTicks(String sourceString)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GSUS-getHTMLValue_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getHTMLValue(String sourceString)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GSUS-getNumeric_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getNumeric(String sourceString)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GSUS-isBase64_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isBase64(String sourceString)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GSUS-isEligibleSysID_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isEligibleSysID(String sourceString)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GSUS-newLinesToBreaks_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"newLinesToBreaks(String sourceString)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GSUS-normalizeWhitespace_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"normalizeWhitespace(String sourceString)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GSUS-unescapeHTML_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"unEscapeHTML(String htmlString)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideStringUtil - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_GlideSysAttachmentScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_SGSA-GlideSysAttachment\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideSysAttachment()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGSA-copy_S_S_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"copy(String sourceTable, String sourceID, String targetTable, String targetID)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGSA-deleteAttachment_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"deleteAttachment(String attachmentID)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGSA-getAttachments_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getAttachments(String tableName, String sys_id)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGSA-getContent_GR\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getContent(GlideRecord sysAttachment)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGSA-getContentBase64_GR\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getContentBase64( GlideRecord sysAttachment)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGSA-getContentStream_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getContentStream( String sysID)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGSA-write_GR_S_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"write(GlideRecord record, String fileName, String contentType, String content)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGSA-writeBase64_GR_S_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"writeBase64( GlideRecord gr, String fileName, String contentType, String content_base64Encoded)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGS-writeContentStrm_GR_S_S_GSIS\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"writeContentStream(GlideRecord gr, String fileName, String contentType, GlideScriptableInputStream inputStream)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideSysAttachment\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_GlideSysListControlScoped\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSysListControl-GlideSysListControl_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideSysListControl(String tableName)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSysListControl-getControlID\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getControlID()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSysListControl-isOmitEditButton\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isOmitEditButton()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSysListControl-isOmitNewButton\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isOmitNewButton()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideSysListControl\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_GlideSystemScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemAddErrorMessage_Object\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addErrorMessage(String message)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemAddInfoMessage_Object\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addInfoMessage(String message)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGSYS-base64Decode_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"base64Decode(String source)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGSYS-base64Encode_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"base64Encode(String source)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGSYS-beginningOfLastMonth\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"beginningOfLastMonth()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGSYS-beginningOfLastWeek\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"beginningOfLastWeek()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGSYS-beginningOfNextMonth\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"beginningOfNextMonth()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemBeginNxtWk\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"beginningOfNextWeek()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGSYS-beginningOfNextYear\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"beginningOfNextYear()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGSYS-beginningOfThisMonth\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"beginningOfThisMonth()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGSYS-beginningOfThisQuarter\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"beginningOfThisQuarter()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGSYS-beginningOfThisWeek\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"beginningOfThisWeek()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGSYS-beginningOfThisYear\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"beginningOfThisYear()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGSYS-dateGenerate_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"dateGenerate(String date, String range)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGSYS-daysAgo_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"daysAgo(Number days)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGSYS-daysAgoEnd_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"daysAgoEnd(Number days)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGSYS-daysAgoStart_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"daysAgoStart(Number days)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemDebug_String_Object_Object_Object_Object_Object\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"debug(String message, Object parm1, Object parm2, Object parm3, Object parm4, Object parm5)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGSYS-endOfLastMonth\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"endOfLastMonth()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGSYS-endOfLastWeek\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"endOfLastWeek()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGSYS-endOfLastYear\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"endOfLastYear()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGSYS-endOfNextMonth\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"endOfNextMonth()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemEofNW\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"endOfNextWeek()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGSYS-endOfNextYear\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"endOfNextYear()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGSYS-endOfThisMonth\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"endOfThisMonth()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGSYS-endOfThisQuarter\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"endOfThisQuarter()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGSYS-endOfThisWeek\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"endOfThisWeek()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGSYS-endOfThisYear\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"endOfThisYear()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemError_String_Object_Object_Object_Object_Object\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"error(String message, Object parm1, Object parm2, Object parm3, Object parm4, Object parm5)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemEventQueue_String_Object_String_String_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"eventQueue(String name, Object instance, String parm1, String parm2, String queue)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGSYS-eventQSched_S_O_S_S_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"eventQueueScheduled(String name, Object instance, String parm1, String parm2, Object expiration)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGSYS-executeNow_GR\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"executeNow(GlideRecord job)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemGenerateGUID\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"generateGUID()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemGetCallerScopeName\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getCallerScopeName()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemGetCssCacheVersionString\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getCssCacheVersionString()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemGetCurrentApplicationId\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getCurrentApplicationId()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemGetCurrentScopeName\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getCurrentScopeName()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGSYS-getErrorMessages\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getErrorMessages()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGSYS-getEscapedMessage_S_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getEscapedMessage(String id, Array args)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemGetMessage_String_Object\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getMessage(String id, Array args)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemGetProperty_String_Object\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getProperty(String key, Object alt)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemGetSession\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getSession()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemGetSessionID\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getSessionID()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemGetSessionToken\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getSessionToken()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemGetTimeZoneName\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getTimeZoneName()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemGetUrlOnStack\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getUrlOnStack()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemGetUser\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getUser()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemGetUserDisplayName\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getUserDisplayName()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemGetUserID\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getUserID()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemGetUserName\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getUserName()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemHasRole_Object\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"hasRole(Object role)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGSYS-hoursAgo_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"hoursAgo(Number hours)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGSYS-hoursAgoEnd_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"hoursAgoEnd(Number hours)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGSYS-hoursAgoStart_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"hoursAgoStart(Number hours)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemInclude_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"include(String name)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemInf_String_Object_Object_Object_Object_Object\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"info(String message, Object parm1, Object parm2, Object parm3, Object parm4, Object parm5)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemIsDebugging\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isDebugging()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemIsInteractive\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isInteractive()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemIsLoggedIn\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isLoggedIn()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGS-isMobile\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isMobile()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGSYS-minutesAgoEnd_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"minutesAgoEnd(Number minutes)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGSYS-minutesAgoStart_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"minutesAgoStart(Number minutes)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGSYS-monthsAgo_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"monthsAgo(Number months)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGSYS-monthsAgoStart_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"monthsAgoStart(Number months)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemNil_Object\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"nil(Object o)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGSYS-quartersAgoEnd_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"quartersAgoEnd(Number quarters)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGSYS-quartersAgoStart_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"quartersAgoStart(Number quarters)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGSYS-setProperty_S_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setProperty(String key, String value, String description)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemSetRedirect_Object\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setRedirect(Object o)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemTableExists_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"tableExists(String name)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGSYS-urlDecode_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"urlDecode(String url)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGSYS-URLEncode_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"urlEncode(String url)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemWarn_String_Object_Object_Object_Object_Object\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"warn(String message, Object parm1, Object parm2, Object parm3, Object parm4, Object parm5)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGSYS-xmlToJSON_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"xmlToJSON(String xmlString)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideSystemYearsAgo_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"yearsAgo(Number years)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGSYS-yesterday\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"yesterday()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideSystem\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_GlideTableHierarchyScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideTableHierarchyGlideTableHierarchy_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideTableHierarchy(String tableName)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideTableHierarchyGetAllExtensions\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getAllExtensions()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideTableHierarchyGetBase\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getBase()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideTableHierarchyGetHierarchy\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getHierarchy()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideTableHierarchyGetName\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getName()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideTableHierarchyGetRoot\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRoot()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideTableHierarchyGetTableExtensions\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getTableExtensions()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideTableHierarchyGetTables\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getTables()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideTableHierarchyHasExtensions\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"hasExtensions()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideTableHierarchyIsBaseClass\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isBaseClass()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideTableHierarchyIsSoloClass\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isSoloClass()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideTableHierarchy\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_GlideTextReaderScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_GTRS-GlideTextReader_GSIS\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideTextReader( GlideScriptableInputStream inputStream)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GTRS-getEncoding\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getEncoding()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GTRS-readLine\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"readLine()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideTextReader\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_GlideTimeScoped\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideTimeGlideTime\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideTime()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideTimeGlideTime_Number\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideTime(Number milliseconds)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideTimeGetByFormat_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getByFormat(String format)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideTimeGetDisplayValue\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDisplayValue()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideTimeGetDisplayValueInternal\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDisplayValueInternal()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGT-getHourLocalTime\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getHourLocalTime()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGT-getHourOfDayLocalTime\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getHourOfDayLocalTime()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGT-getHourOfDayUTC\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getHourOfDayUTC()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_getHourUTC\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getHourUTC()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGT-getMinutesLocalTime\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getMinutesLocalTime()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGT-getMinutesUTC\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getMinutesUTC()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGT-getSeconds\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getSeconds()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideTimeGetValue\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getValue()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideTimeSetDisplayValue_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setDisplayValue(String asDisplayed)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideTimeSetValue_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setValue(String o)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideTimeSubtract_GlideTime_GlideTime\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"subtract(GlideTime startTime, GlideTime endTime)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideTime\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"GlideTransformLogAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"GTransLog-GlideTransformLog\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideTransformLog()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GTransLog-error_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"error(String message)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GTransLog-info_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"info(String message)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GTransLog-warn_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"warn(String message)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideTransformLog - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_GlideUICompatibilityScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_GUIC-GlideUICompatibility_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideUICompatibility(String scopeName)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GUIC-getCompatibility\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getCompatibility()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GUIC-isBlocked\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isBlocked()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideUICompatibility\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_GlideURIScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideURIScopedGlideURI\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideURI()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideURIGet_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"get(String name)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideURIGetFileFromPath\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getFileFromPath()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideURISet_String_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"set(String name, String value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideURIToString_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"toString(String path)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideURI - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_GlideUserScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideUserGetCompanyID\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getCompanyID()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideUserGetDisplayName\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDisplayName()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SGU-getDomainID\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDomainID()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGU-getEmail\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getEmail()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGU-getFirstName\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getFirstName()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideUserGetID\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getID()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGU-getLastName\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getLastName()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideUserGetName\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getName()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideUserGetPreference_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getPreference(String name)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGU-getRoles\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRoles()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SGU-getUserRoles\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getUserRoles()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideUserHasRole_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"hasRole(String role)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideUserIsMemberOf_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isMemberOf(String group)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedGlideUserSavePreference_String_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"savePreference(String name, String value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideUser\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"GlideXMLUtilAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"GXUS-removeInvalidChars_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"removeInvalidChars(String xmlString)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GXUS-validateXML_S_B_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"validateXML(String xmlString, Boolean nsAware, Boolean forgiveUnclosed)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideXMLUtil - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"JSONScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"JSONScoped-parse_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"parse(String str)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"JSONScoped-stringify_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"stringify(Object jsonObject)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"JSON\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"NotifyConferenceUtils\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"NUtil-addToConferenceByPhoneNumber_S_GR\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addToConferenceByPhoneNumber(String toNumber, GlideRecord confGR)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NUtil-addToConferenceByUserId_S_GR\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addToConferenceByUserId(String userId, GlideRecord confGR)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NUtil-NotifyConferenceUtils\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"NotifyConferenceUtils()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NUtil-doConferenceAction_S_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"doConferenceAction(String action, Object data)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NUtil-getConferenceInputDataTemplate\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getConferenceInputDataTemplate()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NUtil-getServiceProvidersCapabilities\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getServiceProvidersCapabilities()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NUtil-isActionSupported_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isActionSupported(Number action)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NUtil-kickByParticipantGR_GR\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"kickByParticipantGR(GlideRecord notifyParticipantGR)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NUtil-muteByParticipantGR_GR\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"muteByParticipantGR(GlideRecord notifyParticipantGR)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NUtil-unmuteByParticipantGR_GR\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"unmuteByParticipantGR(GlideRecord notifyParticipantGR)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"NotifyConferenceUtil - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"PAScorecard\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"PASc-addParam_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addParam(String parameter, String value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"PASc-query\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"query()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"PASc-result\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"result()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"PAScorecard\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"PASnapshot\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"PASn-getCompareIDs_S_n_n_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getCompareIDs(String sys_id, Number date1, Number date2, String type)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"PASn-getCompareQuery_S_n_n_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getCompareQuery(String sys_id, Number date1, Number date2, String type)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"PASn-getIDs_S_n\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getIDs(String sys_id, Number date)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"PASn-getQuery_S_n\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getQuery(String sys_id, Number date)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"PASnapshot\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"RenderProperties-Scoped-API\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"SRP-getEncodedQuery\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getEncodedQuery()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SRP-getListControl\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getListControl()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SRP-getParameterValue_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getParameterValue(String parameterName)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SRP-getReferringURL\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getReferringURL()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SRP-getViewName\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getViewName()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SRP-getWindowProperties\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getWindowProperties()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SRP-isInDevStudio\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isInDevStudio()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SRP-isInteractive\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isInteractive()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SRP-isManyToMany\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isManyToMany()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SRP-isRelatedList\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isRelatedList()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"RenderProperties\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"SPScriptedFacetScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"SPSFScoped-addFacetItem_S_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addFacetItem(String label, Object valueObj)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"SPScriptedFacet\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"SPScriptedFacetServiceScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"SPSFServiceScoped-createFacet_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"createFacet(String label, String id)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SPSFServiceScoped-createMultiSelectFacet_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"createMultiChoiceFacet(String label, String id)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"SPScriptedFacetService\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_TemplatePrinterScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_TPS-print_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"print(String string)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_TPS-space_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"space(Number spaces)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"TemplatePrinter\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_WorkflowScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"SWF-inputs\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"inputs\",\n\t\t\t\t\"type\": \"Property\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SWF-result\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"result\",\n\t\t\t\t\"type\": \"Property\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SWF-debug_S_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"debug(String message, Object args)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SWF-error_S_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"error(String message, Object args)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SWF-getVariable_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getVariable(String name)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SWF-info_S_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"info(String message, Object args)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SWF-name\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"name()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SWF-removeVariable_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"removeVariable(String name)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SWF-scratchpad\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"scratchpad()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SWF-setResult_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setResult(String result)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SWF-setVariable_S_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setVariable(String name, Object value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SWF-warn_S_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"warn(String message, Object args)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"Workflow\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_XMLDocument2ScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_SXMLDoc2-XMLDocument2_GSIS\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"XMLDocument2( GlideScriptableInputStream inputStream)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedXMLDocument2XMLDocument2\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"XMLDocument2()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedXMLDocument2CreateElement_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"createElement(String name)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedXMLDocument2CreateElementWithTextValue_String_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"createElementWithTextValue(String name, String value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedXMLDocument2GetDocumentElement\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDocumentElement()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedXMLDocument2GetFirstNode_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getFirstNode(String xPath)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedXMLDocument2GetNextNode_Object\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getNextNode(Object current)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedXMLDocument2GetNode_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getNode(String xPath)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedXMLDocument2GetNodeText_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getNodeText(String xPath)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedXMLDocument2ParseXML_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"parseXML(String xmlDoc)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedXMLDocument2SetCurrentElement_XMLNode\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setCurrentElement(XMLNode element)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SXML-setNamespaceAware_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setNamespaceAware(Boolean aware)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedXMLDocument2ToString\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"toString()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"XMLDocument2\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_XMLNodeScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_ScopedXMLNodeGetAttribute_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getAttribute(String attribute)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SXMLN_getAttributes\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getAttributes()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedXMLNodeGetChildNodeIterator\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getChildNodeIterator()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedXMLNodeGetFirstChild\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getFirstChild()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedXMLNodeGetLastChild\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getLastChild()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedXMLNodeGetNodeName\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getNodeName()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedXMLNodeGetNodeValue\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getNodeValue()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedXMLNodeGetTextContent\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getTextContent()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedXMLNodeHasAttribute_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"hasAttribute(String attribute)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedXMLNodeToString\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"toString()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"XMLNode\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_XMLNodeIteratorAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_ScopedXMLNodeIteratorHasNext\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"hasNext()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_ScopedXMLNodeIteratorNext\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"next()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"XMLNodeIterator\",\n\t\t\t\"type\": \"Class\"\n\t\t}],\n\t\t\"name\": \"No namespace qualifier\",\n\t\t\"type\": \"Namespace\"\n\t}, {\n\t\t\"dc_identifier\": \"sn_auth-namespace\",\n\t\t\"is_current\": false,\n\t\t\"items\": [{\n\t\t\t\"dc_identifier\": \"AuthCredentialAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"AuthCredential-AuthCredential_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"AuthCredential(Object authCredential)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"AuthCredential-getAttribute_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getAttribute(String key)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"AuthCredential-setAttribute_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setAttribute(String key, String value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"AuthCredential\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_OAuthGlideOAuthClient\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_GlideOAuthClientRequestgetToken\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getToken(String oauthEntityName, String requestor)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GlideOAuthClientRequestTokenJSON\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"requestToken(String clientName, String jsonString)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GlideOAuthClientRequestTokenClientRequest\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"requestTokenByRequest(String clientName, GlideOAuthClientRequest request)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GlideOAuthClientRevokeTokenClientRequest\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"revokeToken(String clientName, String accessToken, String refreshToken, GlideOAuthClientRequest request)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideOAuthClient - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_OAuthGlideOAuthClientRequest\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_GlideOAuthClientGetGrantType\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getGrantType()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GlideOAuthClientRequestGetHeader\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getHeader(String name)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GlideOAuthClientRequestGetHeaders\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getHeaders()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GlideOAuthClientRequestGetParameter\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getParameter(String name)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GlideOAuthClientGetPassword\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getPassword()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GlideOAuthClientGetRefreshToken\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRefreshToken()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GlideOAuthClientGetScope\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getScope()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GlideOAuthClientGetUserName\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getUserName()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GlideOAuthClientSetGrantType\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setGrantType(String grantType)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GlideOAuthClientRequestSetHead\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setHead(String name, String value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GlideOAuthClientRequestSetParametersNameValue\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setParameter(String name, String value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GlideOAuthClientSetPassword\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setPassword(String password)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GlideOAuthClientSetRefreshToken\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setRefreshToken(String refreshToken)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GlideOAuthClientSetScope\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setScope(String scope)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GlideOAuthClientSetUserName\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setUserName(String userName)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideOAuthClientRequest - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_OAuthGlideOAuthClientResponse\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_GlideOAuthClientResponseGetBody\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getBody()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GlideOAuthClientResponseGetContentType\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getContentType()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GlideOAuthClientResponseGetErrorMessage\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getErrorMessage()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GlideOAuthClientResponseGetResponseCode\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getResponseCode()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GlideOAuthClientResponseGetResponseParameters\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getResponseParameters()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GlideOAuthClientResponseGetToken\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getToken()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideOAuthClientResponse - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_OAuthGlideOAuthToken\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_GlideOAuthTokenGetAccessToken\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getAccessToken()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GlideOAuthTokenGetAccessTokenSysID\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getAccessTokenSysID()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GlideOAuthTokenGetExpiresIn\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getExpiresIn()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GlideOAuthTokenGetRefreshToken\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRefreshToken()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GlideOAuthTokenGetRefreshTokenSysID\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRefreshTokenSysID()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_GlideOAuthTokenGetScope\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getScope()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideOAuthToken - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"HttpRequestAuthedDataAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"HRAD-addHeader_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addHeader(String key, String value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HRAD-addQueryParam_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addQueryParam(String key, String value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HRAD-HttpRequestAuthedData\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"HttpRequestAuthedData()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HRAD-getDirective\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDirective()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HRAD-getHeaderMap\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getHeaderMap()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HRAD-getQueryMap\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getQueryMap()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HRAD-getStatus\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getStatus()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HRAD-getStatusMessage\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getStatusMessage()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HRAD-setDirective_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setDirective(String directive)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HRAD-setStatus_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setStatus(String status)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HRAD-setStatusMessage_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setStatusMessage(String statusMessage)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"HttpRequestAuthedData\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"HttpRequestDataAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"HttpRD-addHeader_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addHeader(String key String value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HttpRD-addQueryParam_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addQueryParam(String key, String value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HttpRD-HttpRD\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"HttpRequestData()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HttpRD-deleteHeader_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"deleteHeader(String key)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HttpRD-getConnectionAliasID\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getConnectionAliasID()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HttpRD-getConnectionExtendedAttribute_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getConnectionExtendedAttribute(String name)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HttpRD-getContent\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getContent()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HttpRD-getDate\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDate()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HttpRD-getDirective\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDirective()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HttpRD-getEndpoint\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getEndpoint()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HttpRD-getExpiry\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getExpiry()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HttpRD-getHeader_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getHeader(String key)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HttpRD-getHeaderMap\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getHeaderMap()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HttpRD-getHost\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getHost()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HttpRD-getHttpMethod\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getHttpMethod()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HttpRD-getQueryParam_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getQueryParam(String key)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HttpRD-getQueryParamMap\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getQueryParamMap()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HttpRD-getRegion\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRegion()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HttpRD-getService\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getService()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HttpRD-setContent_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setContent(String content)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HttpRD-setDate_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setDate(Number date)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HttpRD-setDirective_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setDirective(String directive)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HttpRD-setEndpoint_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setEndpoint(String endpoint)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HttpRD-setExpiry_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setExpiry(Number expiry)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HttpRD-setHost_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setHost(String host)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HttpRD-setHttpMethod_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setHttpMethod(String httpMethod)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HttpRD-setRegion_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setRegion(String region)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HttpRD-setService_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setService(String service)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"HttpRequestData\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"RequestAuthAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"RequestAuthAPI-RequestAuthAPI_O_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"RequestAuthAPI(Object data, Object credential)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"RequestAuthAPI-generateAuth\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"generateAuth()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"RequestAuthAPI-getAuthCredential\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getAuthCredential()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"RequestAuthAPI-getHttpRequestData\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getHttpRequestData()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"RequestAuthAPI-resetAuthCredential\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"resetAuthCredential()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"RequestAuthAPI\",\n\t\t\t\"type\": \"Class\"\n\t\t}],\n\t\t\"name\": \"sn_auth\",\n\t\t\"type\": \"Namespace\"\n\t}, {\n\t\t\"dc_identifier\": \"sn_cc-namespace\",\n\t\t\"is_current\": false,\n\t\t\"items\": [{\n\t\t\t\"dc_identifier\": \"connectioninfo-api\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"get-attribute\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getAttribute(String name)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"get-credential-attributes\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getCredentialAttribute(String name)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"get-data-map\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDataMap(String)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"get-extended-attributes\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getExtendedAttributes(String)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"ConnectionInfo - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"connectioninfoprovider-api\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"connection-info-provider\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"ConnectionInfoProvider()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"get-connection-info\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getConnectionInfo(String aliasID)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"get-connection-info-by-domain\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getConnectionInfoByDomain(String aliasID, String domainID)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"ConnectionInfoProvider - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"standardcredentialsprovider-api\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"standard-credentials-provider\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"StandardCredentialsProvider()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"scp-get-credentials-by-id\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getCredentialByID(String)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"get-credentials\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getCredentials(String)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"StandardCredentialsProvider - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}],\n\t\t\"name\": \"sn_cc\",\n\t\t\"type\": \"Namespace\"\n\t}, {\n\t\t\"dc_identifier\": \"sn_clotho-namespace\",\n\t\t\"is_current\": false,\n\t\t\"items\": [{\n\t\t\t\"dc_identifier\": \"ClientScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"ClientS-Client\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"Client()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"ClientS-deleteSeries_GR_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"deleteSeries( GlideRecord gr, String metric)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"ClientS-put_DB\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"put(Object metricData)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"Client - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"DataScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"DATAS-getEnd\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getEnd()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"DATAS-getLabel\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getLabel()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"DATAS-getMetricName\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getMetricName()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"DATAS-getPeriod\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getPeriod()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"DATAS-getStart\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getStart()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"DATAS-getSubject\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getSubject()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"DATAS-getTableName\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getTableName()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"DATAS-getValues\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getValues()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"DATAS-size\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"size()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"Data - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"DataBuilderScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"SDB-add_GDT_A\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"add(GlideDateTime start, Array value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SDB-add_GDT_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"add(GlideDateTime start, Number value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SDB-DataBuilder_S_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"DataBuilder(Object glideRecord, String subject, String metric)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}],\n\t\t\t\"name\": \"DataBuilder - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"TransformerScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"TFMR-transformer_GR\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"Transformer( GlideRecord sourceRecords)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TFRM-execute_GDT_GDT\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"execute(GlideDateTime start, GlideDateTime end)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TFMR-groupBy_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"groupBy(String field)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TFRM-metric_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"metric(String metricName)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"Transformer - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"TransformPartScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"TP-add_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"add(Number constant)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TP-avg\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"avg()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TP-bottom_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"bottom(Number count)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TP-ceil_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"ceil(Number ceiling)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TP-collect\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"collect()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TP-count\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"count()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TP-div_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"div(Number constant)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TP-filter_O_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"filter(Object aggregator, Object duration)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TP-floor_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"floor(Number floor)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TP-fractiles_A\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"fractiles(Array fractions)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TP-getResult\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getResult()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TP-groupBy_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"groupBy(String field)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TP-interpolate_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"interpolate(Object count)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TP-irq\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"iqr()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TP-label_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"label(String label)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TP-limit_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"limit(Object count)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TP-log_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"log(Number base)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TP-max\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"max()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TP-median\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"median()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TP-metric_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"metric(String metric)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TP-min\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"min()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TP-mul_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"mul(Number constant)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TP-partition_S_GDT_GDT\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"partition(String aggregator, GlideDateTime duration, GlideDateTime base)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TP-resample_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"resample(Number count)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TP-resample_N_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"resample(Number min, Number max)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TP-resample_S_GD\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"resample(String aggregator, GlideDuration duration)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TP-resample_S_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"resample(String aggregator, Number numValues)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TP-round_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"round(Number precision)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TP-stddev\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"stddev()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TP-sub_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"sub(Object constant)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TP-sum\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"sum()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TP-top_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"top(Number count)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"TransformPart - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"TransformResultScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"TR-byGroup\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"byGroup()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TR-getByLabel_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getByLabel(String label)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TR-getData\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getData()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TR-toArray\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"toArray()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"TransformResult - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}],\n\t\t\"name\": \"sn_clotho\",\n\t\t\"type\": \"Namespace\"\n\t}, {\n\t\t\"dc_identifier\": \"sn_cmdb-namespace\",\n\t\t\"is_current\": false,\n\t\t\"items\": [{\n\t\t\t\"dc_identifier\": \"IdentificationEngineScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"IESS-createorUpdateCI_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"createOrUpdateCI(String source, String input)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"IESS-createOrUpdateCIEnhanced_S_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"createOrUpdateCIEnhanced(String source, String input, Object options)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"IESS-identifyCI_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"identifyCI(String jsonString)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"IESS-runIdentificationAudit_GR\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"runIdentificationAudit(GlideRecord gr)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"IdentificationEngine\",\n\t\t\t\"type\": \"Class\"\n\t\t}],\n\t\t\"name\": \"sn_cmdb\",\n\t\t\"type\": \"Namespace\"\n\t}, {\n\t\t\"dc_identifier\": \"sn_cmdbgroup-namespace\",\n\t\t\"is_current\": false,\n\t\t\"items\": [{\n\t\t\t\"dc_identifier\": \"c_CMDBGroupAPIScoped\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_CMDBG-getAllCI_S_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getAllCI( String groupId, Boolean requireCompleteSet)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CMDBG-getAllCIFromQBuild_S_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getAllCIFromQueryBuilder( String groupId, Boolean requireCompleteSet)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CMDBG-getManualCIList_S_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getManualCIList(String groupId, Boolean requireCompleteSet)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CMDBG-getSavedQueryIdList_S_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getSavedQueryIdList(String groupId, Boolean requireCompleteSet)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CMDBG-setManualCIList_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setManualCIList(String groupId, String ciSysIds)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CMDBG-setSavedQueryIdList_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setSavedQueryIdList(String groupId, String queryIds)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"CMDBGroupAPI\",\n\t\t\t\"type\": \"Class\"\n\t\t}],\n\t\t\"name\": \"sn_cmdbgroup\",\n\t\t\"type\": \"Namespace\"\n\t}, {\n\t\t\"dc_identifier\": \"sn_connect-namespace\",\n\t\t\"is_current\": false,\n\t\t\"items\": [{\n\t\t\t\"dc_identifier\": \"c_ConversationScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"conversation-addMember_string\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addSubscriber(String sysID)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"conversation-create_String_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"create(String name)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"conversation-get-string\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"get(String sysID)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"conversation-removeMember_string\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"removeSubscriber(String sysID)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"conversation-sendMessage_String_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"sendMessage(String body, String field)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"Conversation\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"QueueScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"queue-get-string\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"get(String sysID)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"queue-join\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"join(String question)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"Queue\",\n\t\t\t\"type\": \"Class\"\n\t\t}],\n\t\t\"name\": \"sn_connect\",\n\t\t\"type\": \"Namespace\"\n\t}, {\n\t\t\"dc_identifier\": \"sn_currency-namespace\",\n\t\t\"is_current\": false,\n\t\t\"items\": [{\n\t\t\t\"dc_identifier\": \"GlideCurrencyConfigScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"S-GCConfig-GlideCurrencyConfig\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideCurrencyConfig()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"S-GCConfig-GlideCurrencyConfig_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideCurrencyConfig(Object ed)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"S-GCConfig-getAggregationSource\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getAggregationSource()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"S-GCConfig-getConversionDateSource\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getConversionDateSource()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"S-GCConfig-getDisplayDigits\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDisplayDigits()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"S-GCConfig-getDisplayValue\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDisplayValue()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"S-GCConfig-getRateFilterRateTableField\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRateFilterRateTableField()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"S-GCConfig-getRateFilterTargetTableField\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRateFilterTargetTableField()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"S-GCConfig-getRateTable\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRateTable()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"S-GCConfig-getReferenceCurrency\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getReferenceCurrency()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"S-GCConfig-getReferenceCurrencySource\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getReferenceCurrencySource()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideCurrencyConfig\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"GlideCurrConverterScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"Scoped-GCC-GlideCurrConv\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideCurrencyConverter()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"Scoped-GCC-GlideCurrConv_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideCurrencyConverter(String from, String to)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"Scoped-GCC-convert\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"convert()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"Scoped-GCC-setAmount_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setAmount(String amount)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"Scoped-GCC-setDateTime_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setDateTime(Object date)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"Scoped-GCC-setFromCurrency_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setFromCurrency(String from)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"Scoped-GCC-SetRateTable_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setRateTable(String rateTable)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"Scoped-GCC-SetToCurrency_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setToCurrency(String to)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideCurrencyConverter\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"GlideCurrencyExchangeValueScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"Scoped-GCEV-getAmount\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getAmount()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"Scoped-GCEV-getCurrency\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getCurrency()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"Scoped-GCEV-getOrigCurr\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getOriginalCurrency()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"Scoped-GCEV-GetOrigValue\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getOriginalValue()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"Scoped-GCEV-getRate\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRate()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"Scoped-GCEV-getRateSysId\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRateSysId()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideCurrencyExchangeValue\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"GlideCurrFormatScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"Scoped-GCF-GlideCurrForm_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideCurrencyFormatter(String formatString)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"Scoped-GCF-format_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"format(String value, String currencyCode)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"Scoped-GCF-setLocale_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setLocale(String language, String country)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"Scoped-GCF-setMaxFractDig_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setMaxFractionDigits(Number maxFractionDigits)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"Scoped-GCF-setMinFranctDig_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setMinFractionDigits(Number minFractionDigits)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideCurrencyFormatter\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"GlideCurrParserScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"GCPS-GlideCurrencyParser\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideCurrencyParser()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCPS-parse_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"parse(String value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCPS-setDefaultCurrencyCode_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setDefaultCurrencyCode(String currencyCode)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GCPS-setLocale_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setLocale(String language, String country)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideCurrencyParser\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"GlideCurrencyValueScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"Scoped-GCV-getAmount\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getAmount()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"Scoped-GCV-getCurrencyCode\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getCurrencyCode()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideCurrencyValue\",\n\t\t\t\"type\": \"Class\"\n\t\t}],\n\t\t\"name\": \"sn_currency\",\n\t\t\"type\": \"Namespace\"\n\t}, {\n\t\t\"dc_identifier\": \"sn_discovery-namespace\",\n\t\t\"is_current\": false,\n\t\t\"items\": [{\n\t\t\t\"dc_identifier\": \"c_DiscoveryAPIScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_DiscoAPIdiscoverIpAddress\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"discoverIpAddress()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_DiscoAPIreportCiIpAddressStatus1\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"reportCiIpAddressStatus(Object ipAddress, Object discoveryStatusSysId)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_DiscoAPIreportCiStatus\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"reportCiStatus(Object discoveryStatusSysId)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"DiscoveryAPI\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_ReportCiStatusOutputJSScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_RepCiStatOutgetCiOperationStatus\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getCiOperationStatus()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RepCiStatOutgetCmdbCI\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getCmdbCI()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RepCiStatOutgetDiscoveryState\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDiscoveryState()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RepCiStatOutgetIpAddress\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getIpAddress()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RepCiStatOutgetIssues\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getIssues()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RepCiStatOutgetIssuesLink\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getIssuesLink()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RepCiStatOuttoJson\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"toJson()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"ReportCiStatusOutputJS\",\n\t\t\t\"type\": \"Class\"\n\t\t}],\n\t\t\"name\": \"sn_discovery\",\n\t\t\"type\": \"Namespace\"\n\t}, {\n\t\t\"dc_identifier\": \"sn_dt-namespace\",\n\t\t\"is_current\": false,\n\t\t\"items\": [{\n\t\t\t\"dc_identifier\": \"DecisionTableAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"DecisionTableAPI-DecisionTableAPI\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"DecisionTableAPI()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"DecisionTableAPI-getAll\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getAll()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"DecisionTableAPI-getAnswers_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getAnswers(String decisionID)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"DecisionTableAPI-getDecision_S_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDecision(String decisionID, Map inputs)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"DecisionTableAPI-getDecisions_S_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDecisions(String decisionID, Map inputs)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"DecisionTableAPI-getDecisionTable_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDecisionTable(String decisionID)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"DecisionTableAPI-getInputs_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getInputs(String decisionID)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"DecisionTableAPI-getQuestions_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getQuestions(String decisionID)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"DecisionTableAPI - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}],\n\t\t\"name\": \"sn_dt\",\n\t\t\"type\": \"Namespace\"\n\t}, {\n\t\t\"dc_identifier\": \"sn_dt_api-namespace\",\n\t\t\"is_current\": false,\n\t\t\"items\": [{\n\t\t\t\"dc_identifier\": \"DynamicTranslation\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"DynTran-getDetectedLanguage_S_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDetectedLanguage(String text, Object parms)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"DynTran-getTranslation_S_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getTranslation(String textToTranslate, Object parms)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"DynTran-isEnabled_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isEnabled(String translator)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"DynamicTranslation\",\n\t\t\t\"type\": \"Class\"\n\t\t}],\n\t\t\"name\": \"sn_dt_api\",\n\t\t\"type\": \"Namespace\"\n\t}, {\n\t\t\"dc_identifier\": \"sn_fd-namespace\",\n\t\t\"is_current\": false,\n\t\t\"items\": [{\n\t\t\t\"dc_identifier\": \"FlowScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"FlowScoped-startAsync_S_GR\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"startAsync(String scopeName.flowName, Map flowInputs)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"Flow\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"ScriptableFlowAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"FlowAPI-cancel_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"cancel(String contextId, String reason)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"ScriptableFlow-executeAction\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"executeAction(String name, Map inputs, Number timeout)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"FlowAPI-executeActionQuick_S_O_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"executeActionQuick(String name, Map inputs, Number timeout)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"FlowAPI-executeDataStream_S_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"executeDataStreamAction(String name, Map inputs, Number timeout)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"ScriptableFlow-executeFlow\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"executeFlow(String name, Map inputs, Number timeout)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"FlowAPI-executeFlowQuick_S_O_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"executeFlowQuick(String name, Map inputs, Number timeout)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"ScriptableFlow-executeSubflow\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"executeSubflow(String name, Map inputs, Number timeout)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"FlowAPI-executeSubflowQuick_S_O_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"executeSubflowQuick(String name, Map inputs, Number timeout)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"ScriptableFlow-glideActionUtil-setEncryptedOutput\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setEncryptedOutput(String password)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"ScriptableFlow-startAction\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"startAction(String name, Map inputs)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"FlowAPI-startActionQuick_S_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"startActionQuick(String name, Map inputs)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"ScriptableFlow-startFlow\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"startFlow(String name, Map inputs)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"FlowAPI-startFlowQuick_S_O_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"startFlowQuick(String name, Map inputs)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"ScriptableFlow-startSubFlow\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"startSubflow(String name, Map input)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"FlowAPI-startSubflowQuick_S_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"startSubflowQuick(String name, Map inputs)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"FlowAPI - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"ScriptableDataStreamAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"ScriptableDS-close\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"close()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"ScriptableDS-getItemIndex\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getItemIndex()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"ScriptableDS-getItemInPageIndex\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getItemInPageIndex()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"ScriptableDS-getPageIndex\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getPageIndex()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"ScriptableDS-hasNext\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"hasNext()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"ScriptableDS-next\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"next()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"ScriptableDataStream - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"SubflowScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"SubflowScoped-startAsync_S_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"startAsync(String scopeName.subflowName, Map inputs)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"Subflow\",\n\t\t\t\"type\": \"Class\"\n\t\t}],\n\t\t\"name\": \"sn_fd\",\n\t\t\"type\": \"Namespace\"\n\t}, {\n\t\t\"dc_identifier\": \"sn_hr_core-namespace\",\n\t\t\"is_current\": false,\n\t\t\"items\": [{\n\t\t\t\"dc_identifier\": \"hr_UtilsAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"hrU-hr_Utils\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"hr_Utils()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"hrU-getPrimaryJob_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getPrimaryJob(String userId)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"hrU-switchPrimaryJob_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"switchPrimaryJob(String userId String jobId)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"hr_Utils\",\n\t\t\t\"type\": \"Class\"\n\t\t}],\n\t\t\"name\": \"sn_hr_core\",\n\t\t\"type\": \"Namespace\"\n\t}, {\n\t\t\"dc_identifier\": \"sn_hr_le-namespace\",\n\t\t\"is_current\": false,\n\t\t\"items\": [{\n\t\t\t\"dc_identifier\": \"hr_ActivitySetAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"hrAS-hr_ActivitySet\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"hr_ActivitySet()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"createLECaseByService_S_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"createLECaseByService(String hrService, Object caseValues)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"hrAS-hasActiveCaseByService_S_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"hasActiveCaseByService(String spUser, String hrService, String jobId)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"hr_ActivitySet\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"hr_ActivityUtilsAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"hrAU-createCaseFromProducer_GR_O_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"createCaseFromProducer(GlideRecord current, Object producer, String cat_item.sys_id)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"hr_ActivityUtils\",\n\t\t\t\"type\": \"Class\"\n\t\t}],\n\t\t\"name\": \"sn_hr_le\",\n\t\t\"type\": \"Namespace\"\n\t}, {\n\t\t\"dc_identifier\": \"sn_hw-namespace\",\n\t\t\"is_current\": false,\n\t\t\"items\": [{\n\t\t\t\"dc_identifier\": \"c_HistoryWalkerScopedGlobal\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_HW-HistoryWalker_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"HistoryWalker(String tableName, String sysId)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_HW-HistoryWalker_S_S_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"HistoryWalker(String tableName, String sysId, Boolean useAudit)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HW-getUpdateNumber\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getUpdateNumber()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HW-getWalkedRecord\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getWalkedRecord()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HW-getWalkedRecordCopy\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getWalkedRecordCopy()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HW-isFieldLevelSecurity\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isFieldLevelSecurity()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HW-isRecordLevelSecurity\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isRecordLevelSecurity()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HW-isWithChanges\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isWithChanges()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HW-isWithJournalFields\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isWithJournalFields()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HW-isWithVariables\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isWithVariables()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HW-setFieldLevelSecurity_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setFieldLevelSecurity(Boolean fieldLevelSecurity)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HW-setRecordLevelSecurity_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setRecordLevelSecurity(Boolean recordLevelSecurity)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_HW-setWithChanges_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setWithChanges(Boolean withChanges)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HW-setWithJournalFields_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setWithJournalFields(Boolean withJournalFields)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HW-setWithVariables_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setWithVariables(Boolean withVariables)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HW-walkBackward\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"walkBackward()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HW-walkForward\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"walkForward()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"HW-walkTo_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"walkTo(int updateCount)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"HistoryWalker - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}],\n\t\t\"name\": \"sn_hw\",\n\t\t\"type\": \"Namespace\"\n\t}, {\n\t\t\"dc_identifier\": \"sn_impex-namespace\",\n\t\t\"is_current\": false,\n\t\t\"items\": [{\n\t\t\t\"dc_identifier\": \"CSVParserScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"CSVParser-parseLineToArray_S_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"parseLineToArray(String cvsLine, String delimiter, String quoteCharacter)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"CSVParser-parseLineToObject_S_A_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"parseLineToObject(String cvsLine, Array headers, String delimiter, String quoteCharacter)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"CSVParser\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"GlideExcelParserScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"GEPS-GlideExcelParser\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideExcelParser()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GEPS-close\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"close()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GEPS-getColumnHeaders\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getColumnHeaders()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GEPS-getErrorMessage\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getErrorMessage()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GEPS-getRow\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRow()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GEPS-getTableInfo\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getTableInfo()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GEPS-next\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"next()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GEPS-parse_GSIS\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"parse(GlideScriptableInputStream inputStream)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GEPS-setHeaderRowNumber_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setHeaderRowNumber(Number headerRowNumber)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GEPS-setNullToEmpty_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setNullToEmpty(Boolean empty)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GEPS-setSheetName_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setSheetName(String sheetName)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GEPS-setSheetNumber_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setSheetNumber(Number sheetNumber)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideExcelParser - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"GlideImportSetTableAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"GImpSetTbl-addDateTimeColumn_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addDateTimeColumn(String columnLabel)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GImpSetTbl-GlideImportSetTable_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideImportSetTable(String tableLabel)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GImpSetTbl-addStringColumn_S_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addStringColumn(String columnLabel, Number length)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GImpSetTbl-create\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"create()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideImportSetTable - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"GlideImportSetTransformMapAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"GImpSetTMp-addGDTTrnsEntry_S_S_B_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addDateTimeTransformEntry(String sourceColumn, String targetColumn, Boolean coalesce, String dateTimeFormat)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GImpSetTMp-GlImportSetTransformMap\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"GlideImportSetTransformMap(String transformMapName, String importSetTableName, String targetTableName)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GImpSetTMp-addTransformEntry_S_S_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addTransformEntry(String sourceColumn, String targetColumn, Boolean coalesce)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"GImpSetTMp-create\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"create()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"GlideImportSetTransformMap - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}],\n\t\t\"name\": \"sn_impex\",\n\t\t\"type\": \"Namespace\"\n\t}, {\n\t\t\"dc_identifier\": \"sn_interaction-namespace\",\n\t\t\"is_current\": false,\n\t\t\"items\": [{\n\t\t\t\"dc_identifier\": \"InteractionScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"InteractionScoped-accept\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"accept()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"interaction-create_Object\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"create(Object options)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"InteractionScoped-getInteraction_GlideRecord\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getInteraction(GlideRecord interaction)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"InteractionScoped-transferToAgent-String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"transferToAgent(String sysID)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"InteractionScoped-transferToQueue_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"transferToQueue(String sysID)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"Interaction\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"InteractionQueueScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"ScopedInteractionQueue-acceptNext\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"acceptNext()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"InteractionQueueScoped-get_GlideRecord\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"get(GlideRecord sysID)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"InteractionQueueScoped-getAvailableAgents\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getAvailableAgents()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"InteractionQueueScoped-isAgentFor_GlideRecord\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isAgentFor(GlideRecord sysID)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"InteractionQueueScoped-isInSchedule\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isInSchedule()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"InteractionQueue\",\n\t\t\t\"type\": \"Class\"\n\t\t}],\n\t\t\"name\": \"sn_interaction\",\n\t\t\"type\": \"Namespace\"\n\t}, {\n\t\t\"dc_identifier\": \"sn_nlp_sentiment-namespace\",\n\t\t\"is_current\": false,\n\t\t\"items\": [{\n\t\t\t\"dc_identifier\": \"SentimentAnalyserScoped\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"SA-SentimentAnalyser\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"SentimentAnalyser()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SA-SentimentAnalyser_G\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"SentimentAnalyser(GlideRecord configGR)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SA-analyze_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"analyze(String inputText)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SA-analyzeMultiple_A\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"analyzeMultiple(Array inputTextArray)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SA-analyzeMultipleWithLanguage_A_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"analyzeMultipleWithLanguage(Array inputTextArray, String language)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SA-analyzeWithLanguag_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"analyzeWithLanguage(String inputText, String language)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SA-getConnectorByName_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getConnectorByName(String connectorName)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SA-getDefaultConnector\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDefaultConnector()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"SentimentAnalyser\",\n\t\t\t\"type\": \"Class\"\n\t\t}],\n\t\t\"name\": \"sn_nlp_sentiment\",\n\t\t\"type\": \"Namespace\"\n\t}, {\n\t\t\"dc_identifier\": \"sn_notification-namespace\",\n\t\t\"is_current\": false,\n\t\t\"items\": [{\n\t\t\t\"dc_identifier\": \"MessagingScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"MessagingScoped-send_O_S_O_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"send(GlideRecord messagingApplication, String recipient, GlideRecord messagingContent, GlideRecord target)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"Messaging\",\n\t\t\t\"type\": \"Class\"\n\t\t}],\n\t\t\"name\": \"sn_notification\",\n\t\t\"type\": \"Namespace\"\n\t}, {\n\t\t\"dc_identifier\": \"sn_notify-namespace\",\n\t\t\"is_current\": false,\n\t\t\"items\": [{\n\t\t\t\"dc_identifier\": \"notifyScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"NotifyScoped-call_S_S_GR_GR_S_S_GR\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"call(String notifyPhoneNumber, String toPhoneNumber, GlideRecord conferenceCall, GlideRecord conferenceCallRecord, String userSysId, String groupSysId, GlideRecord sourceRecord)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NotifyScoped-conferenceCall\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"conferenceCall(GlideRecord sourceRecord)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NotifyScoped-dequeueCall_GR\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"dequeueCall(GlideRecord callRecord)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NotifyScoped-forwardCall_GR_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"forwardCall(GlideRecord call, String destination, String dtmf)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NotifyScoped-getAvailableClients_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getAvailableClients(String notifyNumber)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NotifyScoped-getPhoneNumbers\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getPhoneNumbers()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NotifyScoped-getShortCodes\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getShortCodes()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NotifyScoped-getTokens_GR\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getTokens(GlideRecord, record)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NotifyScoped-getTokenTTL_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getTokenTTL(String owner)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NotifyScoped-hasCapabilitiy_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"hasCapability(String notifyPhoneNumber, String capability)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NotifyScoped-kick_GR\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"kick(GlideRecord participant)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NotifyScoped-modifyCall_GR_NA\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"modifyCall(GlideRecord callRecord, NotifyAction notifyAction)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NotifyScoped-mute_GR\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"mute(GlideRecord participantRecord)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NotifyScoped-queueCall_GR\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"queueCall(GlideRecord callRecord)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NotifyScoped-sendBulkSMS_NPN_S_S_GR\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"sendBulkSMS(NotifyPhoneNumber notifyPhoneNumber, String toPhoneNumbers, String messageBody, GlideRecord source)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NotifyScoped-sendSMS_NPN_S_S_GR\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"sendSMS(NotifyPhoneNumber notifyPhoneNumber, String toPhoneNumber, String messageBody, GlideRecord source)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NotifyScoped-unmute_GR\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"unmute(GlideRecord participantRecord)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"Notify\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"NPNScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"NPNScoped-getDialCode\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDialCode()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NPNScoped-getID\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getID()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NPNScoped-getNumber\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getNumber()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NPNScoped-getOwner\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getOwner()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NPNScoped-getTerritory\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getTerritory()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NPNScoped-supportsConferenceCall\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"supportsConferenceCall()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NPNScoped-supportsIncomingPhoneCall\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"supportsIncomingPhoneCall()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NPNScoped-supportsIncomingSMS\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"supportsIncomingSMS()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NPNScoped-supportsOutgoingPhoneCall\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"supportsOutgoingPhoneCall()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NPNScoped-supportsOutgoingSMS\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"supportsOutgoingSMS()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NPNScoped-supportsRecording\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"supportsRecording()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"NPNScoped-supportsWebRTC\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"supportsWebRTC()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"NotifyPhoneNumber\",\n\t\t\t\"type\": \"Class\"\n\t\t}],\n\t\t\"name\": \"sn_notify\",\n\t\t\"type\": \"Namespace\"\n\t}, {\n\t\t\"dc_identifier\": \"sn_sc-namespace\",\n\t\t\"is_current\": false,\n\t\t\"items\": [{\n\t\t\t\"dc_identifier\": \"c_CartJSScoped\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_CJSS-CartJS\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"CartJS()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CJSS-CartJS_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"CartJS(String cartName)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CJSS-addToCart_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addToCart(Map request)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"CJSS-canViewRF\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"canViewRF()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CJSS-checkoutCart\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"checkoutCart()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CJSS-empty\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"empty()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"CJSS-getCartDetails\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getCartDetails()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CJSS-getCartID\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getCartID()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CJSS-getCartItems\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getCartItems()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CJSS-getDeliveryAddress\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDeliveryAddress()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CJSS-getRequestedFor\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRequestedFor()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CJSS-getRequestedForDisplayName\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRequestedForDisplayName()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CJSS-getSpecialInstructions\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getSpecialInstructions()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CJSS-orderNow_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"orderNow(Map request)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CJSS-setDeliveryAddress_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setDeliveryAddress(String address)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"CJSS-setRequestedFor_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setRequestedFor(String user)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CJSS-setSpecialInstructions_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setSpecialInstructions(String specialInstructions)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CJSS-submitOrder-O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"submitOrder(Map request)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CJSS-updateItem_M_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"updateItem(Map request, String cart_item_id)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"CartJS\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_CatalogClientScriptScoped\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_CCSS-CatalogClientScript\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"CatalogClientScript()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CCSS-addScript_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addScript(String script)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CCSS-appliesToCatalogItem_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"appliesToCatalogItem(Boolean flag)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CCSS-appliesToCatalogTask_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"appliesToCatalogTask(Boolean flag)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CCSS-appliesToRequestedItem_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"appliesToRequestedItem(Boolean flag)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CCSS-appliesToTargetRecord_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"appliesToTargetRecord(Boolean flag)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CCSS-create_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"create(Boolean standardUpdate)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CCSS-deleteRecord_S_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"deleteRecord(String sys_id, Boolean standardUpdate)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CCSS-setAttributes_M\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setAttributes(Map attributes)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CCSS-setCatalogItem_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setCatalogItem(String sys_id)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CCSS-setOnChangeVariable_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setOnChangeVariable(String sys_id)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CCSS-setVariableSet_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setVariableSet(String sys_id)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"CatalogClientScript\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_CatalogItemVariable\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_CatalogItemVariable-create_Boolean\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"create(Boolean standardUpdate)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CatalogItemVariable-deleteRecord_Boolean\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"deleteRecord(Boolean standardUpdate)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CatalogItemVariable-read_Object_Boolean\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"read(Object columns, Boolean standardUpdate)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CatalogItemVariable-setAttributes_Map\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setAttributes(Object attributes)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CatalogItemVariable-update_Object_Boolean\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"update(Object columnValues, Boolean standardUpdate)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"CatalogItemVariable\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_CatalogItemVariableSet\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_CatalogItemVariableSet-create_Boolean\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"create(Boolean standardUpdate)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CatalogItemVariableSet-deleteRecord_Boolean\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"deleteRecord(Boolean standardUpdate)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CatalogItemVariableSet-read_Object_Boolean\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"read(Object columns, Boolean standardUpdate)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CatalogItemVariableSet-setAttributes_Object\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setAttributes(Object attributes)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CatalogItemVariableSet-update_Object_Boolean\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"update(Object columnValues, Boolean standardUpdate)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"CatalogItemVariableSet\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_CatalogItemVariableSetM2M\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_CatalogItemVariableSetM2M-create_Boolean\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"create(Boolean standardUpdate)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CatalogItemVariableSetM2M-deleteRecord_Boolean\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"deleteRecord(Boolean standardUpdate)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CatalogItemVariableSetM2M-read_Object_Boolean\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"read(Object columns, Boolean standardUpdate)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CatalogItemVariableSetM2M-setAttributes_Map\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setAttributes(Object attributes)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CatalogItemVariableSetM2M-update_Object_Boolean\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"update(Object columnValues, Boolean standardUpdate)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"CatalogItemVariableSetM2M\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"CatalogJSScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"CJS-Catalog_G\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"Catalog(GlideRecord gr)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"CJS-Catalog_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"Catalog(String sys_id)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"CJS-canView_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"canView(boolean mobile)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"CJS-getAvailableCatalog\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getAvailableCatalog()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"CJS-getBackgroundColor\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getBackgroundColor()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"CJS-getCatalogCount\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getCatalogCount()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"CJS-getCategories\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getCategories()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"CJS-getCategoryIds\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getCategoryIds()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"CJS-getDescription\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDescription()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"CJS-getDesktopImageSRC\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getDesktopImageSRC()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"CJS-getGr\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getGr()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"CJS-getHeaderIconSRC\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getHeaderIconSRC()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"CJS-getID\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getID()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"CJS-getTitle\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getTitle()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"CJS-hasCategories\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"hasCategories()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"CJS-hasItems\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"hasItems()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"CJS-isWishlistEnabled\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isWishlistEnabled()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"CatalogJS\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_CatalogSearchScoped\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_CSS-CatalogSearch\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"CatalogSearch()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CSS-search_S_S_S_B_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"search (String catalogID, String categoryID, String term, Boolean mobile, Boolean depthSearch)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"CatalogSearch\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_CatCategory\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_CCS-availableForUserCriteria_S_A\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"availableForUserCriteria(String action, Array[] criteriaIDs)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"CCS-canView_B_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"canView(Boolean isMobile, String userSysId)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CatCategory-create_Boolean\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"create(Boolean standardUpdate)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CatCategory-deleteRecord_Boolean\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"deleteRecord(Boolean standardUpdate)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"CCS-getID\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getID()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CCS-notAvailableForUserCriteria_S_A\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"notAvailableForUserCriteria(String action, Array[] criteriaIDs)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CatCategory-read_Object_Boolean\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"read(Object columns, Boolean standardUpdate)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CatCategory-setAttributes_Object\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setAttributes(Object attributes)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CatCategory-setTableName_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setTableName(String tableName)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CatCategory-update_Object_Boolean\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"update(Object columnValues, Boolean standardUpdate)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"CatCategory\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_CatItem\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_CIS-availableForUserCriteria_S_A\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"availableForUserCriteria(String action, Array[] criteriaIDs)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"CI-canViewInDomain\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"canViewInDomain()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"CI-canViewOnSearch_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"canViewOnSearch(boolean isMobile)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CatItem-create_Boolean\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"create(Boolean standardUpdate)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CatItem-delete_Boolean\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"deleteRecord(Boolean standardUpdate)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"CI-getFirstAccessibleCategoryForSearch_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getFirstAccessibleCategoryForSearch(String catalogId)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"CI-getRecordClass\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRecordClass()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"CI-isVisibleServicePortal\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isVisibleServicePortal()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CIS-notAvailableForUserCriteria_S_A\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"notAvailableForUserCriteria(String action, Array[] criteriaIDs)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CatItem-read_Object_Boolean\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"read(Object columns, Boolean standardUpdate)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CatItem-setAttributes_Object\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setAttributes(Object attributes)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CatItem-setCatalogs_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setCatalogs(String catalogs)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CatItem-setCategories_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setCategories(String categories)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CatItem-setImage_String_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setImage(String dbImageSysId, String type)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CatItem-setTableName_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setTableName(String tableName)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_CatItem-update_Object_Boolean\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"update(Object columnValues, Boolean standardUpdate)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"CatItem\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"OrderGuideScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"OG-OrderGuide_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"OrderGuide(String sys_id)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"OG-getID\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getID()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"OG-init_M\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"init(Map request)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"OG-isIncludeItems\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isIncludeItems()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"OG-isTwoStep\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isTwoStep()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"OG-isUseCustomCart\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"isUseCustomCart()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"OG-navigateFromMap_M\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"navigateFromMap(Map itemDetails)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"OrderGuide\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"VariablePoolQuestionSetJSScopedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"VPQS-VariablePoolQuestionSetJS\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"VariablePoolQuestionSetJS()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"VPQS-getFlatQuestions\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getFlatQuestions()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"VPQS-load\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"load()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"VPQS-setCartID_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setCartID(String id)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"VariablePoolQuestionSetJS\",\n\t\t\t\"type\": \"Class\"\n\t\t}],\n\t\t\"name\": \"sn_sc\",\n\t\t\"type\": \"Namespace\"\n\t}, {\n\t\t\"dc_identifier\": \"sn_skill_rule\",\n\t\t\"is_current\": false,\n\t\t\"items\": [{\n\t\t\t\"dc_identifier\": \"SkillDeterminationUtilsAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"SkillDeterminationUtilsConstructor\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"SkillDeterminationUtils()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"assignSkillsToWorkItem_A_GR\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"assignSkillsToWorkItem(Array skills, GlideRecord gr)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"determineWorkItemSkills_GR\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"determineWorkItemSkills(GlideRecord gr)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"SkillDeterminationUtils\",\n\t\t\t\"type\": \"Class\"\n\t\t}],\n\t\t\"name\": \"sn_skill_rule\",\n\t\t\"type\": \"Namespace\"\n\t}, {\n\t\t\"dc_identifier\": \"sn_sms_pref-namespace\",\n\t\t\"is_current\": false,\n\t\t\"items\": [{\n\t\t\t\"dc_identifier\": \"SMSPreferenceHandlerAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"SPH-SMSPreferenceHandler_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"SMSPreferenceHandler(String provider)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SPH-getConfig\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getConfig()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"SMSPreferenceHandler - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}],\n\t\t\"name\": \"sn_sms_pref\",\n\t\t\"type\": \"Namespace\"\n\t}, {\n\t\t\"dc_identifier\": \"sn_templated_snip-namespace\",\n\t\t\"is_current\": false,\n\t\t\"items\": [{\n\t\t\t\"dc_identifier\": \"ResponseTemplateAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"RT-ResponseTemplate\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"ResponseTemplate()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"RT-query_S_S_S_N_N_B_S_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"query(String tableName, String recordId, String searchTerm, Number limit, Number offset, Boolean includeEvaluatedBody, String errorFormat, Object opts)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"RT-render_S_S_S_S_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"render(String templateId, String tableName, String recordId, String errorFormat, Object opts)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"ResponseTemplate - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}],\n\t\t\"name\": \"sn_templated_snip\",\n\t\t\"type\": \"Namespace\"\n\t}, {\n\t\t\"dc_identifier\": \"sn_tfrm-namespace\",\n\t\t\"is_current\": false,\n\t\t\"items\": [{\n\t\t\t\"dc_identifier\": \"TransformerScriptedAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"Transformer-Transformer_O_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"Transformer(Object transformerDefinition, String document)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"Trans-getRow\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRow()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"Trans-transform\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"transform()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"Transformer - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"TransformerDefinitionAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"TRD-transformerDefinition_O_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"transformerDefinition(Object transformerRuleList, String recordPath)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TRD-recordPath\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"recordPath()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TRD-validate\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"validate()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"TransformerDefinition - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"TransformerRuleListAPI\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"TRL-addRule_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"addRule(String rule, String path)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TRL-setName_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setName(String name)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TRL-thenAdaptCurrency_S_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"thenAdaptCurrency(String currencyCode, Boolean outputNumericCurrencyValue)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TRL-thenAdaptDuration_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"thenAdaptDuration(String inputDuration, String outputDuration)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TRL-thenAdd_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"thenAdd(Number operand)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TRL-thenApplyMap_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"thenApplyMap(Object map)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TRL-thenApplyPattern_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"thenApplyPattern(String matchPattern, String outputPattern\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TRL-thenCeiling_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"thenCeiling(Number operand)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TRL-thenConcat_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"thenConcat(String value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TRL-thenConcatSymbol_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"thenConcatSymbol(String symbol)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TRL-thenDivideBy_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"thenDivideBy(Number operand)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TRL-thenDivideInto_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"thenDivideInto(Number operand)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TRL-thenFloor_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"thenFloor(Number operand)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TRL-thenFormat_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"thenFormat(String matchPattern, String outputPattern)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TRL-thenMax_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"thenMax(Number operand)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TRL-thenMin_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"thenMin(Number operand)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TRL-thenMultiply_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"thenMultiply(Number operand)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TRL-thenReplace_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"thenReplace(String matchString, String replaceString)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TRL-thenRoundUp_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"thenRound Up(Number operand)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TRL-thenRoundDown_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"thenRoundDown(Number operand)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TRL-thenSplit_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"thenSplit(String splitPattern, String replaceString)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"TRL-thenSubtract_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"thenSubtract(Number operand)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"TransformerRuleList - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}],\n\t\t\"name\": \"sn_tfrm\",\n\t\t\"type\": \"Namespace\"\n\t}, {\n\t\t\"dc_identifier\": \"sn_uc-namespace\",\n\t\t\"is_current\": false,\n\t\t\"items\": [{\n\t\t\t\"dc_identifier\": \"c_UserCriteriaScoped\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_UCS-UserCriteria\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"UserCriteria()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_UCS-UserCriteria_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"UserCriteria(String sys_id)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_UCS-create_O_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"create(Object columnValues, Boolean standardUpdate)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_UCS-deleteRecord\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"deleteRecord()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_UCS-read_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"read(String[] columns)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_UCS-setActive_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setActive(Boolean active)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_UCS-setAdvanced_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setAdvanced(boolean advanced)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_UCS-setCompanies_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setCompanies(String companies)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_UCS-setDepartments_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setDepartments(String departments)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_UCS-setGroups_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setGroups(String groups)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_UCS-setLocations_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setLocations(String locations)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_UCS-setMatchAll_B\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setMatchAll(Boolean match_all)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_UCS-setName_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setName(String name)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_UCS-setRoles_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setRoles(String roles)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_UCS-setScript_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setScript(String script)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_UCS-setUsers_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setUsers(String users)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_UCS-update_O_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"update(Object columnValues, String reason)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"UserCriteria\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"UserCriteriaLoaderScoped\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"UCLS-getAllUserCriteria\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getAllUserCriteria()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"UCLS-getAllUserCriteria_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getAllUserCriteria(String userId)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"UCLS-getUserCriteria_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getUserCriteria(String linkTable)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"UCLS-getUserCriteria_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getUserCriteria(String userId, String linkTable)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"UserCriteriaLoader\",\n\t\t\t\"type\": \"Class\"\n\t\t}],\n\t\t\"name\": \"sn_uc\",\n\t\t\"type\": \"Namespace\"\n\t}, {\n\t\t\"dc_identifier\": \"sn_ws-namespace\",\n\t\t\"is_current\": false,\n\t\t\"items\": [{\n\t\t\t\"dc_identifier\": \"c_RESTAPIRequest\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_RESTAPIRequest_body\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"body\",\n\t\t\t\t\"type\": \"Property\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RESTAPIRequest_headers\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"headers\",\n\t\t\t\t\"type\": \"Property\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RESTAPIRequest_pathParams\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"pathParams\",\n\t\t\t\t\"type\": \"Property\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RESTAPIRequest_queryParams\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"queryParams\",\n\t\t\t\t\"type\": \"Property\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RESTAPIRequest_queryString\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"queryString\",\n\t\t\t\t\"type\": \"Property\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RESTAPIRequest_uri\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"uri\",\n\t\t\t\t\"type\": \"Property\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RESTAPIRequest_url\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"url\",\n\t\t\t\t\"type\": \"Property\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RESTAPIRequest-geviceRequestHeader_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getHeader(String header)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SSR-getSupportedRespContentTypes\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getSupportedResponseContentTypes()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"RESTAPIRequest - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_RESTAPIRequestBody\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_RESTAPIRequestBody_data\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"data\",\n\t\t\t\t\"type\": \"Property\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RESTAPIRequestBody_dataStream\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"dataStream\",\n\t\t\t\t\"type\": \"Property\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RESTAPIRequestBody_dataString\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"dataString\",\n\t\t\t\t\"type\": \"Property\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RESTAPIRequestBody-hasNext\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"hasNext()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RESTAPIRequestBody-nextEntry\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"nextEntry()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"RESTAPIRequestBody - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_RESTAPIResponse\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_RESTAPIResponse-getStreamWriter\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getStreamWriter()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RESTAPIResponse-setBody_Object\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setBody(Object body)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RESTAPIResponse-setContentType_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setContentType(String contentType)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SSRB-setError_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setError(Object error)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RESTAPIResponse-setHeader_String_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setHeader(String header, String value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RESTAPIResponse-setHeaders_Object\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setHeaders(Object headers)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RESTAPIResponse-setLocation_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setLocation(String location)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RESTAPIResponse-setStatus_Number\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setStatus(Number status)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"RESTAPIResponse - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_RESTAPIResponseStream\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_RESTAPIResponseStream-writeStream_Object\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"writeStream(Object stream)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RESTAPIResponseStream-writeString_String\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"writeString(String data)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"RESTAPIResponseStream - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_RESTMessageV2API\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_RMV2-RESTMessageV2\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"RESTMessageV2()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RMV2-RESTMessageV2_S_S.dita\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"RESTMessageV2(String name, String methodName)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RMV2-execute\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"execute()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RMV2-executeAsync\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"executeAsync()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RMV2-getEndpoint\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getEndpoint()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RMV2-getRequestBody\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRequestBody()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RMV2-getRequestHeader_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRequestHeader(String headerName)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RMV2-getRequestHeaders\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRequestHeaders()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RMV2-saveRespBodyAsAttach_S_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"saveResponseBodyAsAttachment(String tableName, String recordSysId, String fileName)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RMV2-saveRespBodyAsAttach_S_S_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"saveResponseBodyAsAttachment(String tableName, String recordSysId, String fileName, String encryptContext)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RMV2-setAuthenticationProfile_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setAuthenticationProfile(String type, String profileId)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RMV2-setBasicAuth_String_userName_String_userPass\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setBasicAuth(String userName, String userPass)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RESTMessageV2_setEccCorrelator_String_correlator\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setEccCorrelator(String correlator)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RMV2-setEccParameter_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setEccParameter(String name, String value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RESTMessageV2_setEndpoint_String_endpoint\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setEndpoint(String endpoint)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RMV2-setHttpMethod_String_method\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setHttpMethod(String method)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RMV2-setHttpTimeout_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setHttpTimeout(Number timeoutMs)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"RMV2-setLogLevel_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setLogLevel(String level)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RMV2-setMIDServer_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setMIDServer(String midServer)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RMV2-setMutualAuth_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setMutualAuth(String profileName)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RMV2-setQueryParameter_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setQueryParameter(String name, String value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RMV2-setRequestBody_String_body\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setRequestBody(String body)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RMV2-setReqBodyFromAttachment_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setRequestBodyFromAttachment(String attachmentSysId)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RMV2-setRequestBodyFromStream_O\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setRequestBodyFromStream(Object stream)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RMV2-setRequestHeader_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setRequestHeader(String name, String value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RMv2-setRequestorProfile_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setRequestorProfile(String requestorContext, String requestorId)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RMV2-setStringParameter_String_name_String_value\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setStringParameter(String name, String value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RMV2-setStrParamNoEscape_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setStringParameterNoEscape(String name, String value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"RESTMessageV2 - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_RESTResponseV2API\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"RRV2-getAllHeaders\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getAllHeaders()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RESTResponseV2-getBody\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getBody()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RESTResponseV2-getCookies\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getCookies()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RESTResponseV2-getErrorCode\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getErrorCode()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RESTResponseV2-getErrorMessage\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getErrorMessage()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RESTResponseV2-getHeader_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getHeader(String name)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RESTResponseV2-getHeaders\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getHeaders()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RESTResponseV2-getQueryString\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getQueryString()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RRV2-getResponseAttachmentSysid\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getResponseAttachmentSysid()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RESTResponseV2-getStatusCode\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getStatusCode()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RESTResponseV2-haveError\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"haveError()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_RESTResponseV2-waitForResponse_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"waitForResponse(Number timeoutSecs)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"RESTResponseV2 - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_SOAPMessageV2API\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"r_SMV2-SOAPMessageV2\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"SOAPMessageV2()\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SMV2-SOAPMessageV2_String_soapMessage_String_soapFunction\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"SOAPMessageV2(String soapMessage, String soapFunction)\",\n\t\t\t\t\"type\": \"Constructor\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SMV2-execute\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"execute()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SMV2-executeAsync\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"executeAsync()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SMV2-getEndpoint\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getEndpoint()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SMV2-getRequestBody\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRequestBody()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SMV2-getRequestHeader_String_headerName\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRequestHeader(String headerName)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SMV2-getRequestHeaders\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getRequestHeaders()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SMV2-setBasicAuth_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setBasicAuth(String userName, String userPass)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SMV2-setEccCorrelator_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setEccCorrelator(String correlator)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SMV2-setEccParameter_String_name_String_value\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setEccParameter(String name, String value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SMV2-setEndpoint_String_endpoint\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setEndpoint(String endpoint)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SMV2-setHttpTimeout_Number_timeoutMs\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setHttpTimeout(Number timeoutMs)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"SMV2-setLogLevel_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setLogLevel(String level)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SMV2-setMIDServer_String_midServerName\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setMIDServer(String midServerName)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SMV2-setMutualAuth_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setMutualAuth(String profileName)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SMV2-setRequestBody_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setRequestBody(String requestBody)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SMV2-setRequestHeader_String_headerName_String_headerValue\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setRequestHeader(String headerName, String headerValue)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SMV2-setSOAPAction_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setSOAPAction(String soapAction)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SMV2-setStringParameter_String_name_String_value\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setStringParameter(String name, String value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SMV2-setStringParameterNoEscape_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setStringParameterNoEscape(String name, String value)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SMV2-setWSSecurity_S_S_S_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"setWSSecurity(String keystoreId, String keystoreAlias, String keystorePassword, String certificateId)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"SOAPMessageV2 - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}, {\n\t\t\t\"dc_identifier\": \"c_SOAPResponseV2API\",\n\t\t\t\"is_current\": false,\n\t\t\t\"is_highlighted\": false,\n\t\t\t\"items\": [{\n\t\t\t\t\"dc_identifier\": \"SRV2-getAllHeaders\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getAllHeaders()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SOAPResponseV2-getBody\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getBody()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SOAPResponseV2-getCookies\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getCookies()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SOAPResponseV2-getErrorCode\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getErrorCode()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SOAPResponseV2-getErrorMessage\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getErrorMessage()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SOAPResponseV2-getHeader_S\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getHeader(String name)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SOAPResponseV2-getHeaders\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getHeaders()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SOAPResponseV2-getStatusCode\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"getStatusCode()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SOAPResponseV2-haveError\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"haveError()\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}, {\n\t\t\t\t\"dc_identifier\": \"r_SOAPResponseV2-waitForResponse_N\",\n\t\t\t\t\"is_current\": false,\n\t\t\t\t\"name\": \"waitForResponse(Number timeoutSecs)\",\n\t\t\t\t\"type\": \"Method\"\n\t\t\t}],\n\t\t\t\"name\": \"SOAPResponseV2 - Scoped, Global\",\n\t\t\t\"type\": \"Class\"\n\t\t}],\n\t\t\"name\": \"sn_ws\",\n\t\t\"type\": \"Namespace\"\n\t}],\n\t\"server_legacy\": [],\n\t\"mobile_sdk\": []\n}\n\nconst fixContent = (item) => {\n\treturn {\n\t\tid: item.dc_identifier,\n\t\tlabel: item.name,\n\t\thref: `#!/path/to/${item.dc_identifier}`,\n\t\tchildren: (item.items && item.items.length) ?\n\t\t\titem.items.map(item => fixContent(item)) :\n\t\t\t[]\n\t};\n}\n\n\nexport const APIScopedNav = RawNav.server.map(item => fixContent(item));\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-sidebar-nav';\nimport { ComponentNav } from './component-nav';\nimport { APINav } from './api-nav';\nimport { ExperienceNav } from './experience-guide-nav';\nimport { PlatformNav } from './platform-guide-nav';\nimport { APIScopedNav } from './api-scoped-nav';\n\nexport default createCustomElement('dps-sidebar-nav-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<div style={{display: 'grid', gridTemplateColumns: 'repeat(6, 300px)', gridColumnGap: '40px', padding: '40px'}}>\n\t\t\t<dps-sidebar-nav\n\t\t\t\tnav-items={ComponentNav}\n\t\t\t\texpanded-items={['components', 'now-avatar']}\n\t\t\t\tselected-item={'now-avatar-usage'}\n\t\t\t/>\n\t\t\t<dps-sidebar-nav\n\t\t\t\tnav-items={ExperienceNav}\n\t\t\t/>\n\t\t\t<dps-sidebar-nav\n\t\t\t\tnav-items={PlatformNav}\n\t\t\t/>\n\t\t\t<dps-sidebar-nav\n\t\t\t\tnav-items={APINav}\n\t\t\t/>\n\t\t\t<dps-sidebar-nav\n\t\t\t\tnav-items={APIScopedNav}\n\t\t\t/>\n\t\t\t<dps-sidebar-nav show-filter={false} />\n\t\t</div>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-button';\nimport '../../src/components/dps-spinner';\n\nexport default createCustomElement('dps-spinner-example', {\n\trenderer: { type: snabbdom },\n\tview: ({properties: {fadeOut}}, {updateProperties}) => (\n\t\t<div>\n\t\t\t<dps-button label=\"Fade out\" on-click={() => updateProperties({fadeOut: true})}/>\n\t\t\t<dps-spinner fade-out={fadeOut}></dps-spinner>\n\t\t</div>\n\t),\n\tproperties: {\n\t\tfadeOut: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t['DPS_SPINNER#FADE_OUT_COMPLETE']: ({ updateProperties }) => {\n\t\t\tconsole.log('Animation is complete');\n\t\t\tupdateProperties({fadeOut: false});\n\t\t}\n\t}\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-star-rating';\n\nexport default createCustomElement('dps-star-rating-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-star-rating></dps-star-rating>\n\t)\n});\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport snabbdom, { createRef } from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-sticky-nav.scss';\nimport { createAnchor } from '../../utils/url';\nimport scrollSpyBehavior, { SCROLL_SPY_ACTIONS } from '../../behaviors/scrollSpy';\nimport moveActiveIndicator from '../../behaviors/moveActiveIndicator';\nimport resizeObserver from '../../behaviors/resizeObserver';\nconst navRef = createRef();\n\nconst view = state => {\n\tconst {\n\t\tsections,\n\t\tactiveIndex,\n\t\tisStuck\n\t} = state.properties;\n\n\treturn (\n\t\t<div\n\t\t\tid=\"sticky-nav\"\n\t\t\tclass={{\n\t\t\t\t'dps-sticky-nav': true,\n\t\t\t\t'is-stuck': isStuck\n\t\t\t}}\n\t\t>\n\t\t\t<ol ref={navRef}>\n\t\t\t\t<slot name=\"start\"></slot>\n\t\t\t\t{sections.map((section, index) => (\n\t\t\t\t\t<li key={`tab-${section.id}`}>\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\tdata-active={activeIndex === index}\n\t\t\t\t\t\t\thref={createAnchor(`#${section.id}`)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{section.label}\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</li>\n\t\t\t\t))}\n\t\t\t\t<slot name=\"end\"></slot>\n\t\t\t\t<li className=\"dps-sticky-nav-indicator\" />\n\t\t\t</ol>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-sticky-nav', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\t/**\n\t\t * Navigation content. Refers to sections in component detail page\n\t\t * @type {array}\n\t\t */\n\t\tsections: { default: [] },\n\t\t/**\n\t\t * Indicates active navigation\n\t\t * @type {integar}\n\t\t */\n\t\tactiveIndex: { default: 0 },\n\t\t/**\n\t\t * Indicates if navigation is sticky\n\t\t * @type {integar}\n\t\t */\n\t\tisStuck: { default: false }\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: scrollSpyBehavior,\n\t\t\toptions: {\n\t\t\t\t// eslint-disable-next-line object-shorthand\n\t\t\t\trootMargin: () => {\n\t\t\t\t\tconst winH = window.innerHeight;\n\t\t\t\t\tconst bottomOffset = winH - 100;\n\t\t\t\t\treturn `0px 0px -${bottomOffset}px`;\n\t\t\t\t},\n\t\t\t\ttargetSelector: '#sticky-nav',\n\t\t\t\tthreshold: 0.1\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tbehavior: moveActiveIndicator,\n\t\t\toptions: {\n\t\t\t\tactiveItemSelector: 'a[data-active=\"true\"]',\n\t\t\t\tindicatorSelector: '.dps-sticky-nav-indicator',\n\t\t\t\ttarget: navRef,\n\t\t\t\tproperty: 'activeIndex'\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tbehavior: resizeObserver,\n\t\t\toptions: {\n\t\t\t\tselectors: ['.dps-sticky-nav ol']\n\t\t\t}\n\t\t}\n\t],\n\tactionHandlers: {\n\t\t/* eslint-disable object-shorthand */\n\t\t[SCROLL_SPY_ACTIONS.TARGET_ACTIVATED]: ({action, updateProperties}) => {\n\t\t\taction.stopPropagation();\n\t\t\tupdateProperties({\n\t\t\t\tisStuck: true\n\t\t\t});\n\t\t},\n\t\t[SCROLL_SPY_ACTIONS.NO_TARGETS]: ({action, updateProperties}) => {\n\t\t\taction.stopPropagation();\n\t\t\tupdateProperties({\n\t\t\t\tisStuck: false\n\t\t\t});\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-sticky-nav';\n\nexport default createCustomElement('dps-sticky-nav-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-sticky-nav></dps-sticky-nav>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-tabs';\n\ncreateCustomElement('dps-tabs-example-with-panels', {\n\trenderer: { type: snabbdom },\n\tactionHandlers: {\n\t\t'DPS_TABS#TAB_SELECTED': ({ action, updateProperties }) => {\n\t\t\taction.stopPropagation();\n\t\t\tupdateProperties({ active: action.payload.active });\n\t\t}\n\t},\n\tproperties: {\n\t\tactive: {\n\t\t\tdefault: 0\n\t\t}\n\t},\n\tview: ({ properties: { active } }) => (\n\t\t<Fragment>\n\t\t\t<dps-tabs\n\t\t\t\titems={[\n\t\t\t\t\t{ label: 'Popular' },\n\t\t\t\t\t{ label: 'Highly Rated' }\n\t\t\t\t]}\n\t\t\t\tvariant=\"primary\"\n\t\t\t></dps-tabs>\n\t\t\t<div role=\"tabpanel\">\n\t\t\t\t{[\n\t\t\t\t\t{ content: 'Popular Content' },\n\t\t\t\t\t{ content: 'Highly Rated Content' }\n\t\t\t\t].map((panel, index) => {\n\t\t\t\t\tif (index === active) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<p>{panel.content}</p>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</Fragment>\n\t)\n});\n\nexport default createCustomElement('dps-tabs-example', {\n\trenderer: { type: snabbdom },\n\tstyles: `\n\t\tsection {\n\t\t\tpadding: 10px;\n\t\t\tmargin-bottom: 20px;\n\t\t}\n\n\t\tsection.pill {\n\t\t\tbackground-color: #9ddccf;\n\t\t}\n\t`,\n\tview: () => (\n\t\t<Fragment>\n\t\t\t<section className=\"primary\">\n\t\t\t\t<dps-tabs-example-with-panels></dps-tabs-example-with-panels>\n\t\t\t</section>\n\n\t\t\t<section className=\"pill\">\n\t\t\t\t<dps-tabs\n\t\t\t\t\titems={[\n\t\t\t\t\t\t{ label: 'Components' },\n\t\t\t\t\t\t{ label: 'APIs' },\n\t\t\t\t\t\t{ label: 'Learning' },\n\t\t\t\t\t\t{ label: 'Community' }\n\t\t\t\t\t]}\n\t\t\t\t\tvariant=\"pill\"\n\t\t\t\t></dps-tabs>\n\t\t\t</section>\n\t\t</Fragment>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-template-two-column';\n\nexport default createCustomElement('dps-template-two-column-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-template-two-column open>\n\t\t\t<div slot=\"sidebar\">\n\t\t\t\t<p>This is the sidebar</p>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<p>\n\t\t\t\t\tNisi ut tempor proident nisi consequat cillum mollit aliqua. Esse sit elit ipsum irure ea incididunt irure labore nostrud reprehenderit ullamco quis sit aliqua. In voluptate sunt nisi commodo minim commodo. Eu elit est ex ea est voluptate sint fugiat dolore sit. Voluptate anim fugiat nostrud aliquip reprehenderit qui Lorem sint. Tempor amet dolore adipisicing velit nisi excepteur.\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t</dps-template-two-column>\n\t)\n});\n","import {createCustomElement, actionTypes} from '@servicenow/ui-core';\nimport snabbdom, { createRef } from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-three-dot-menu.scss';\nimport '@servicenow/now-icon';\nimport '../dps-dropdown-panel';\n\nconst WIDTH = 200;\nconst DPS_THREE_DOT_MENU_OPENED_SET = 'DPS_THREE_DOT_MENU#OPENED_SET';\n\nconst view = ({ref, properties}, {dispatch, updateState}) => {\n\tconst {id, opened, menuItems,keyDownRef} = properties;\n\tconst setTargetRef = ref => setTimeout(() => {\n\t\tupdateState({ref});\n\t});\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"dps-three-dot-menu\"\n\t\t\thook-insert={({elm}) => setTargetRef(elm)}\n\t\t\thook-destroy={() => setTargetRef(null)}\n\t\t\tref={ keyDownRef }\n\t\t>\n\t\t\t<button\n\t\t\t\tclass={{\n\t\t\t\t\t['dps-three-dot-menu--button']: true,\n\t\t\t\t\t['active']: opened\n\t\t\t\t}}\n\t\t\t\ton-click={() => dispatch(DPS_THREE_DOT_MENU_OPENED_SET, {id, opened: !opened})}\n\t\t\t>\n\t\t\t\t<now-icon icon=\"ellipsis-v-fill\" />\n\t\t\t</button>\n\n\t\t\t<dps-dropdown-panel items={menuItems} opened={opened} target-ref={ref} fixed-width={WIDTH} parentRef = {keyDownRef}/>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-three-dot-menu', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tinitialState: {\n\t\t/**\n\t\t * Root elements position in the viewport.\n\t\t * This is used for positioning the menu.\n\t\t * @type {object}\n\t\t */\n\t\tref: {}\n\t},\n\tproperties: {\n\t\t/**\n\t\t * ID so you can monitor and close from the outside\n\t\t * @type {string}\n\t\t */\n\t\tid: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Array of menu item objects. An item should have\n\t\t * a href or a callback, but not both.\n\t\t * ```\n\t\t * {\n\t\t *   label: string,\n\t\t *   href: (optional) string,\n\t\t *   icon: (optional) string,\n\t\t *   callback: (optional) function\n\t\t * }\n\t\t * ```\n\t\t * @type {array}\n\t\t */\n\t\tmenuItems: {\n\t\t\tdefault: []\n\t\t},\n\t\t/**\n\t\t * Determines if the menu is open\n\t\t * @type {boolean}\n\t\t */\n\t\topened: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * The ref that would be passed to\n\t\t * the dropdown panel for adding\n\t\t * the key down event listener to it.\n\t\t */\n\t\tkeyDownRef: {\n\t\t\tdefault: null\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t[actionTypes.COMPONENT_CONNECTED] ({updateProperties}) {\n\t\t\tupdateProperties({\n\t\t\t\tkeyDownRef: createRef()\n\t\t\t});\n\t\t},\n\t\t[DPS_THREE_DOT_MENU_OPENED_SET]: {\n\t\t\teffect({action, updateProperties}) {\n\t\t\t\tupdateProperties({opened: action.payload.opened});\n\t\t\t}\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-three-dot-menu';\n\nexport default createCustomElement('dps-three-dot-menu-example', {\n\trenderer: { type: snabbdom },\n\tstyles: `\n\t\t:host {\n\t\t\tdisplay: grid;\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\t\t\tmin-height: 500px;\n\t\t\tgrid-template-columns: 1fr 1fr;\n\t\t\tgrid-template-rows: 1fr 1fr;\n\t\t\tpadding: 20px;\n\t\t}\n\n\t\tdps-three-dot-menu:nth-of-type(2) {\n\t\t\tjustify-self: end;\n\t\t}\n\t\tdps-three-dot-menu:nth-of-type(3) {\n\t\t\talign-self: end;\n\t\t}\n\t\tdps-three-dot-menu:nth-of-type(4) {\n\t\t\tjustify-self: end;\n\t\t\talign-self: end;\n\t\t}\n\t`,\n\tinitialState: {\n\t\tmenuItems: [\n\t\t\t{\n\t\t\t\tlabel: 'My dropdown item',\n\t\t\t\thref: '#clicked',\n\t\t\t\ticon: ''\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Not a link',\n\t\t\t\ticon: '',\n\t\t\t\tcallback: () => alert('You clicked \"Not a link\"')\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: 'Not a link, but a really really really long title',\n\t\t\t\ticon: '',\n\t\t\t\tcallback: () => alert('You clicked the long title')\n\t\t\t}\n\t\t]\n\t},\n\tview: ({ menuItems }) => (\n\t\t<Fragment>\n\t\t\t{(new Array(4)).fill().map(() => <dps-three-dot-menu menu-items={menuItems}></dps-three-dot-menu>)}\n\t\t</Fragment>\n\t)\n});\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-toast-alert.scss';\nimport { DPS_TOAST_ALERT_ACTIONS } from './actions';\nimport { DPS_TOAST_ALERT_VARIANTS } from '../../constants';\nimport debounce from '../../utils/debounce';\nimport { APP_ACTIONS } from '../../connected-components/dps-app/actions';\nimport '../dps-alert';\nimport '@servicenow/now-alert';\n\nconst {\n\tCOMPONENT_DOM_READY,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_PROPERTY_CHANGED\n} = actionTypes;\n\n// Maps the toast type to a now-alert `status` value.\nconst NOW_ALERT_STATUS = {\n\tSUCCESS: 'positive',\n\tERROR: 'critical',\n\tINFO: 'info',\n\tWARNING: 'warning'\n};\n\nconst view = (state, { dispatch }) => {\n\tconst {\n\t\tproperties: {\n\t\t\tactionLabel,\n\t\t\tautoDismiss,\n\t\t\tclosable,\n\t\t\tmessage,\n\t\t\topen,\n\t\t\tid,\n\t\t\ttruncateMessage,\n\t\t\ttype,\n\t\t\tuseNowAlert\n\t\t}\n\t} = state;\n\n\t// Exit if type or message are blank\n\tif (!type || !message) {\n\t\treturn;\n\t}\n\n\tconst debounceClicked = debounce(e => {\n\t\tdispatch(DPS_TOAST_ALERT_ACTIONS.ALERT_DISMISSED, { id });\n\t}, 300);\n\n\tconst body = truncateMessage\n\t\t? `${message.slice(0, 100)}${message.length > 100 ? '...' : ''}`\n\t\t: message;\n\n\tif (useNowAlert) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'dps-toast-alert': true,\n\t\t\t\t\t'dps-toast-alert--now': true,\n\t\t\t\t\t'-toast-is-opened': open\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<now-alert\n\t\t\t\t\tkey={id}\n\t\t\t\t\tstatus={NOW_ALERT_STATUS[type] || 'info'}\n\t\t\t\t\ticon={DPS_TOAST_ALERT_VARIANTS[type].icon}\n\t\t\t\t\theader=\"\"\n\t\t\t\t\tcontent={{ type: 'string', value: body }}\n\t\t\t\t\taction={{ type: 'acknowledge', alertId: id, label: actionLabel || 'OK' }}\n\t\t\t\t\tcomponentName={id}\n\t\t\t\t></now-alert>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'dps-toast-alert': true,\n\t\t\t\t'-toast-is-opened': open\n\t\t\t}}\n\t\t>\n\t\t\t<dps-alert\n\t\t\t\tbody={body}\n\t\t\t\tkey={id}\n\t\t\t\tvariant={DPS_TOAST_ALERT_VARIANTS[type].variant}\n\t\t\t\ticon={DPS_TOAST_ALERT_VARIANTS[type].icon}\n\t\t\t\tslot\n\t\t\t\ttoast\n\t\t\t\thook-insert={() => {\n\t\t\t\t\tif (autoDismiss) {\n\t\t\t\t\t\tdispatch(DPS_TOAST_ALERT_ACTIONS.START_TIMER, {\n\t\t\t\t\t\t\tid\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"toast-slot\" slot=\"action\">\n\t\t\t\t\t{closable ? (\n\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\ticon=\"close-fill\"\n\t\t\t\t\t\t\ticonSize=\"sm\"\n\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\ton-click={debounceClicked}\n\t\t\t\t\t\t></dps-button>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t</dps-alert>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-toast-alert', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\tactionLabel: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\tautoDismiss: {\n\t\t\tdefault: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tclosable: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tmessage: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\thideTime: {\n\t\t\tdefault: 5000,\n\t\t\tschema: {\n\t\t\t\ttype: 'number'\n\t\t\t}\n\t\t},\n\t\tid: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\topen: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\ttruncateMessage: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\ttype: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\tuseNowAlert: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t['NOW_ALERT#ACTION_CLICKED']: ({ properties, dispatch, action }) => {\n\t\t\tdispatch(DPS_TOAST_ALERT_ACTIONS.ALERT_DISMISSED, { id: properties.id });\n\t\t\taction.stopPropagation();\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\t\tproperties,\n\t\t\taction: {\n\t\t\t\tpayload: { name, value }\n\t\t\t},\n\t\t\tdispatch\n\t\t}) => {\n\t\t\tif (name === 'hideTime' && properties.autoDismiss && value !== null) {\n\t\t\t\tdispatch(DPS_TOAST_ALERT_ACTIONS.START_TIMER, {\n\t\t\t\t\tid\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t// MIGRATION: COMPONENT_DOM_READY\n\t\t[COMPONENT_DOM_READY]: coeffects => {\n\t\t\tconst {\n\t\t\t\taction: {\n\t\t\t\t\tpayload: { host }\n\t\t\t\t},\n\t\t\t\tdispatch,\n\t\t\t\tproperties,\n\t\t\t\tupdateProperties\n\t\t\t} = coeffects;\n\t\t\tconst { autoDismiss, id } = properties;\n\t\t\tupdateProperties({\n\t\t\t\topen: true\n\t\t\t});\n\t\t\tif (autoDismiss) {\n\t\t\t\thost.addEventListener('mouseenter', () => {\n\t\t\t\t\tdispatch(DPS_TOAST_ALERT_ACTIONS.CANCEL_TIMER, { id });\n\t\t\t\t});\n\t\t\t\thost.addEventListener('mouseleave', () => {\n\t\t\t\t\tdispatch(DPS_TOAST_ALERT_ACTIONS.START_TIMER, {\n\t\t\t\t\t\tid\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: ({\n\t\t\taction: {\n\t\t\t\tpayload: { host }\n\t\t\t},\n\t\t\tdispatch,\n\t\t\tproperties\n\t\t}) => {\n\t\t\tconst { autoDismiss, id } = properties;\n\t\t\tif (autoDismiss) {\n\t\t\t\thost.removeEventListener('mouseenter', () => {\n\t\t\t\t\tdispatch(DPS_TOAST_ALERT_ACTIONS.CANCEL_TIMER, { id });\n\t\t\t\t});\n\t\t\t\thost.removeEventListener('mouseleave', () => {\n\t\t\t\t\tdispatch(DPS_TOAST_ALERT_ACTIONS.START_TIMER, {\n\t\t\t\t\t\tid\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\tdispatch(DPS_TOAST_ALERT_ACTIONS.CANCEL_TIMER, { id });\n\t\t\t}\n\t\t},\n\t\t['DPS_ALERT_BUTTON#CLICKED']: ({ action, dispatch, properties }) => {\n\t\t\tconst { id: buttonId } = action.payload.currentTarget;\n\t\t\tconst { id: alertId } = properties;\n\n\t\t\tif (buttonId === 'alert_open_feedback') {\n\t\t\t\tdispatch(APP_ACTIONS.ALERT_OPEN_FEEDBACK, { alertId });\n\t\t\t}\n\t\t\telse if (buttonId === 'alert_open_instance_assignment_modal') {\n\t\t\t\tdispatch(APP_ACTIONS.ALERT_OPEN_INSTANCE_ASSIGNMENT_MODAL, { alertId });\n\t\t\t}\n\n\t\t\taction.stopPropagation();\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme';\nimport '../../src/components/dps-toast-alert';\n\nexport default createCustomElement('dps-toast-alert-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-toast-alert></dps-toast-alert>\n\t)\n});\n","import { actionTypes } from '@servicenow/ui-core';\nimport {\n\tdevPortalGetHttpEffect,\n\tformatSysParam\n} from '../../utils/helpers';\nimport { CONSTANTS } from '../../constants';\n\nconst { COMPONENT_CONNECTED } = actionTypes;\n\nconst DPS_TRENDING_DISCUSSIONS_ACTIONS = {\n\tGET_LATEST_DISCUSSIONS: 'TRENDING_DISCUSSIONS#GET_LATEST_DISCUSSIONS',\n\tGET_LATEST_DISCUSSIONS_SUCCEEDED: 'TRENDING_DISCUSSIONS#GET_LATEST_DISCUSSIONS_SUCCEEDED',\n\tGET_LATEST_DISCUSSIONS_FAILED: 'TRENDING_DISCUSSIONS#GET_LATEST_DISCUSSIONS_FAILED',\n};\n\nconst handleGetLatestDiscussions = devPortalGetHttpEffect({\n\tsuccessActionType: DPS_TRENDING_DISCUSSIONS_ACTIONS.GET_LATEST_DISCUSSIONS_SUCCEEDED,\n\terrorActionType: DPS_TRENDING_DISCUSSIONS_ACTIONS.GET_LATEST_DISCUSSIONS_FAILED\n});\n\nfunction handleComponentConnected({ properties, dispatch }) {\n\tconst sysparm_data = formatSysParam(\n\t\tCONSTANTS.DEV_PORTAL_ACTIONS.DASHBOARD_POPULAR_LATEST_CAROUSEL_DATA,\n\t\t{\n\t\t\trelease: properties.releaseInfo.userVersionSelected || properties.releaseInfo.defaultSelectedVersion\n\t\t}\n\t);\n\tdispatch(DPS_TRENDING_DISCUSSIONS_ACTIONS.GET_LATEST_DISCUSSIONS, { sysparm_data });\n}\n\nfunction handleGetLatestDiscussionsFailed({ state, action, updateState }) {\n\tconst trendingDiscussions = action.payload;\n\tconst timestamp = Date.now();\n\n\tupdateState({ value: { trendingDiscussions, timestamp }, operation: 'merge' });\n}\n\nfunction handleGetLatestDiscussionSucceeded({ state, action, updateState }) {\n\tconst { result } = action.payload,\n\t\ttrendingDiscussions = result.data.latest.communityWidget;\n\n\tupdateState({ value: { trendingDiscussions }, operation: 'merge' });\n}\n\nexport default {\n\t[COMPONENT_CONNECTED]: handleComponentConnected,\n\t[DPS_TRENDING_DISCUSSIONS_ACTIONS.GET_LATEST_DISCUSSIONS]: handleGetLatestDiscussions,\n\t[DPS_TRENDING_DISCUSSIONS_ACTIONS.GET_LATEST_DISCUSSIONS_FAILED]: handleGetLatestDiscussionsFailed,\n\t[DPS_TRENDING_DISCUSSIONS_ACTIONS.GET_LATEST_DISCUSSIONS_SUCCEEDED]: handleGetLatestDiscussionSucceeded\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-trending-discussions.scss';\nimport actionHandlers from './actionHandlers';\nimport '../dps-link';\n\nconst view = state => {\n\tconst {trendingDiscussions} = state,\n\t\t{systemProperties} = state.properties;\n\n\treturn (\n\t\t<div className=\"dps-trending-discussions\">\n\t\t\t<div className=\"heading\">Trending Discussions</div>\n\t\t\t<ul>\n\t\t\t\t{\n\t\t\t\t\ttrendingDiscussions.slice(0, 3).map(discussion =>\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t<div className=\"details\">\n\t\t\t\t\t\t\t\t<dps-link href={discussion.link}>{discussion.title}</dps-link>\n\t\t\t\t\t\t\t\t<div className=\"info\">\n\t\t\t\t\t\t\t\t\t<span className=\"timestamp\">{discussion.date}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t</ul>\n\t\t\t<dps-link button-style buttonVariant=\"secondary\" href={systemProperties['dev.community_link']}>See more on Developer Community</dps-link>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-trending-discussions', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t},\n\tview,\n\tinitialState: {\n\t\ttrendingDiscussions: []\n\t},\n\tproperties: {\n\t\tsystemProperties: {\n\t\t\tdefault: {}\n\t\t},\n\t\treleaseInfo: {\n\t\t\tdefault: {}\n\t\t}\n\t},\n\tactionHandlers,\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme.js'; // loads fonts/theme\nimport '../../src/components/dps-trending-discussions';\n\nexport default createCustomElement('dps-trending-discussions-example', {\n\trenderer: { type: snabbdom },\n\tview: () => (\n\t\t<dps-trending-discussions></dps-trending-discussions>\n\t)\n});\n","import clampValue from '../../utils/clamp-value';\n\n//This generates the bars on the bottom of the card which allow you to navigate from card to card\nexport const makeActiveCardArray = (\n\tcardLength,\n\tactiveCard,\n\tfn,\n\tstate,\n\tupdateState,\n\tdispatch,\n\tpause,\n\tupdateProperties\n) => {\n\tconst activeCards = [];\n\n\tconst { transitionTime, reset } = state.properties;\n\tlet { barValue, inTransition } = state;\n\n\tconst timeoutTime = 200;\n\tconst barMax = 100;\n\n\tif (!pause || reset || inTransition) {\n\t\tsetTimeout(() => {\n\t\t\tif (!pause) {\n\t\t\t\tbarValue = barValue + (timeoutTime * barMax) / transitionTime;\n\t\t\t\tif (barValue > barMax) {\n\t\t\t\t\tbarValue = 0;\n\t\t\t\t\tdispatch('DPS_VISUALS_CAROUSEL#ADVANCE_NEXT_SLIDE');\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (reset || inTransition) barValue = 0;\n\t\t\tupdateState({ barValue });\n\t\t}, timeoutTime);\n\t}\n\n\t// These are used for clamping the value/maxValue so the CSS can't go beyond the bar limits\n\tconst clampedValue = clampValue(0, barMax, barValue);\n\tconst cssPercent = (clampedValue / barMax) * barMax;\n\n\tfor (let i = 0; i < cardLength; i++) {\n\t\tconst clickFunction = () => fn(i, updateProperties);\n\t\tactiveCards.push(\n\t\t\t<div\n\t\t\t\tonclick={clickFunction}\n\t\t\t\tclassName=\"dps-visuals-carousel-activeCardSelector-block-container\"\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'dps-visuals-carousel-activeCardSelector-block': true\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{i === activeCard ? (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'-progress-bar-completion': true,\n\t\t\t\t\t\t\t\tpaused: pause\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tstyle={{ width: `${cssPercent}%` }}\n\t\t\t\t\t\t></div>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\treturn activeCards;\n};\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { makeActiveCardArray } from './makeCardActiveArray';\nimport '../dps-playground';\nimport '../dps-link';\nimport { CONSTANTS } from '../../constants';\n\nconst {\n\tDEFAULTS: { AZURE_BASE_URL }\n} = CONSTANTS;\n\nexport const renderCardArray = (\n\tstate,\n\tdispatch,\n\tupdateState,\n\tupdateProperties\n) => {\n\tconst { activeCard, targetCard, mouseOver, slideTranstionTime, prototypeReadyObj } = state;\n\tconst {\n\t\tcanInstallComponent,\n\t\tcomponentName,\n\t\tcomponentFriendlyName,\n\t\tplaygroundSource,\n\t\ttransitionTime,\n\t\tcardsData,\n\t\tcarouselReady,\n\t\tisImageReady,\n\t\treleaseName: release\n\t} = state.properties;\n\tlet leftCards, slidesToMove, containerStyles, cardStyle;\n\n\tleftCards = cardsData && cardsData.length - 1; //cardsData that we want to have to the left of the active card in case we need to slide back\n\tslidesToMove = -1 * ((targetCard - activeCard) % cardsData.length);\n\tcontainerStyles = {\n\t\twidth: `${(cardsData.length + leftCards) * 100}%`,\n\t\tleft: `${100 * (slidesToMove - leftCards)}%`,\n\t\ttransition: slidesToMove ? `left ${slideTranstionTime}ms ease-in-out` : null\n\t};\n\n\tcardStyle = {\n\t\twidth: `calc(${100/(cardsData.length + leftCards)}% - 30px)`\n\t}\n\n\tlet prototypeValue =\n\t\tcardsData &&\n\t\tcardsData[activeCard] &&\n\t\tcardsData[activeCard].playgroundConfig &&\n\t\tcardsData[activeCard].playgroundConfig.element;\n\tlet isPlaygroundReady =\n\t\tprototypeReadyObj &&\n\t\tprototypeValue &&\n\t\tprototypeReadyObj.find(\n\t\t\tprototypeName => prototypeName.indexOf(prototypeValue) > -1\n\t\t);\n\tlet ready =\n\t\tcardsData && cardsData[activeCard] && cardsData[activeCard].type === 'image'\n\t\t\t? isImageReady\n\t\t\t: isPlaygroundReady;\n\n\tfunction mouseEnter() {\n\t\tupdateState({ mouseOver: true });\n\t}\n\tfunction mouseLeave() {\n\t\tupdateState({ mouseOver: false });\n\t}\n\tfunction goToCard(targetCard) {\n\t\tif (!state.inTransition) {\n\t\t\tdispatch('DPS_VISUALS_CAROUSEL#ADVANCE_TO_SLIDE', {slide: targetCard});\n\t\t}\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"dps-visuals-carousel\"\n\t\t\ton-mouseenter={() => {\n\t\t\t\tmouseEnter();\n\t\t\t}}\n\t\t\ton-mouseleave={() => {\n\t\t\t\tmouseLeave();\n\t\t\t}}\n\t\t\ton-touchstart={() => {\n\t\t\t\tmouseEnter();\n\t\t\t}}\n\t\t\ton-touchmove={() => {\n\t\t\t\tmouseEnter();\n\t\t\t}}\n\t\t\ton-touchend={() => {\n\t\t\t\tmouseLeave();\n\t\t\t}}\n\t\t>\n\t\t\t<header>\n\t\t\t\t<div className=\"dps-visuals-carousel-prev-next-button\">\n\t\t\t\t\t<button\n\t\t\t\t\t\tonclick={() => {\n\t\t\t\t\t\t\tactiveCard === 0\n\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t: goToCard(activeCard - 1, updateProperties);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tclassName=\"dps-visuals-carousel-prev-next-button-left\"\n\t\t\t\t\t\tclass= {{['-disabled']: (activeCard === 0)}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<now-icon size=\"xl\" icon=\"chevron-left-outline\"></now-icon>\n\t\t\t\t\t</button>\n\t\t\t\t\t<button\n\t\t\t\t\t\tonclick={() => {\n\t\t\t\t\t\t\tactiveCard === cardsData.length - 1\n\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t: goToCard(activeCard + 1, updateProperties);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tclassName=\"dps-visuals-carousel-prev-next-button-right\"\n\t\t\t\t\t\tclass= {{['-disabled']: (activeCard === cardsData.length - 1)}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<now-icon size=\"xl\" icon=\"chevron-right-outline\"></now-icon>\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-visuals-carousel-playground-heading\">\n\t\t\t\t\t{cardsData[activeCard].playgroundConfig ? (\n\t\t\t\t\t\t<p>{`${cardsData[activeCard].playgroundConfig.label} ${componentFriendlyName}`}</p>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t\t{ cardsData[activeCard] && cardsData[activeCard].type == 'playground-preConfig' && canInstallComponent ?(\n\t\t\t\t\t<dps-button\n\t\t\t\t\t\ton-click= {()=>{window.location.href = cardsData[activeCard].href;}}\n\t\t\t\t\t\tinternal-action\n\t\t\t\t\t\tbuttonStyle\n\t\t\t\t\t\tvariant =\"secondary\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t>\n\t\t\t\t\t\tConfigure in Playground\n\t\t\t\t\t</dps-button>\n\t\t\t\t) : null }\n\t\t\t</header>\n\t\t\t<div\n\t\t\t\tclassName=\"dps-visuals-carousel-card-container\"\n\t\t\t\tstyle={containerStyles}\n\t\t\t>\n\t\t\t\t<div className=\"dps-visuals-carousel-card\">\n\t\t\t\t\t{cardsData &&\n\t\t\t\t\t\tcardsData.map((card, index) => (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t['dps-visuals-carousel-card-content']: true,\n\t\t\t\t\t\t\t\t\t['-dps-visuals-carousel-image']:\n\t\t\t\t\t\t\t\t\t\tcard && card.type == 'image',\n\t\t\t\t\t\t\t\t\t['-dps-visuals-carousel-card-playground']:\n\t\t\t\t\t\t\t\t\t\tcard && card.type == 'playground-preConfig',\n\t\t\t\t\t\t\t\t\t['-active']: index == activeCard\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tstyle={cardStyle}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{card && card.type === 'image' ? (\n\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\tclassName=\"dps-visuals-carousel-card-img\"\n\t\t\t\t\t\t\t\t\t\tsrc={card.imageLink}\n\t\t\t\t\t\t\t\t\t\ton-load={() => {updateProperties({isImageReady: true})}}\n\t\t\t\t\t\t\t\t\t></img>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t{card && card.type == 'playground-preConfig' ? (\n\t\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t\t<section className=\"dps-visuals-carousel-playground\">\n\t\t\t\t\t\t\t\t\t\t\t<dps-playground\n\t\t\t\t\t\t\t\t\t\t\t\trelease={release}\n\t\t\t\t\t\t\t\t\t\t\t\tprototypeList={[card.playgroundConfig]}\n\t\t\t\t\t\t\t\t\t\t\t\tslot=\"playground\"\n\t\t\t\t\t\t\t\t\t\t\t\tcomponent-name={componentName}\n\t\t\t\t\t\t\t\t\t\t\t\tsource={`${AZURE_BASE_URL}/${playgroundSource}`}\n\t\t\t\t\t\t\t\t\t\t\t\tprototype={card.playgroundConfig.id}\n\t\t\t\t\t\t\t\t\t\t\t\tgallery={true}\n\t\t\t\t\t\t\t\t\t\t\t></dps-playground>\n\t\t\t\t\t\t\t\t\t\t</section>\n\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<section className=\"dps-visuals-carousel-activeCardSelector-container\">\n\t\t\t\t<div className=\"dps-visuals-carousel-activeCardSelector\">\n\t\t\t\t\t{cardsData &&\n\t\t\t\t\t\tmakeActiveCardArray(\n\t\t\t\t\t\t\tcardsData.length,\n\t\t\t\t\t\t\tactiveCard,\n\t\t\t\t\t\t\tgoToCard,\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tslidesToMove || mouseOver || !carouselReady || !ready,\n\t\t\t\t\t\t\tupdateProperties\n\t\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</section>\n\t\t</div>\n\t);\n};\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../dps-playground';\nimport '../dps-link';\nimport { CONSTANTS } from '../../constants';\nimport { processReleaseName } from './actionHelpers';\n\nconst {\n\tDEFAULTS: { AZURE_BASE_URL }\n} = CONSTANTS;\n\nexport const renderSingleCard = state => {\n\tconst { activeCard } = state;\n\tconst {\n\t\tcanInstallComponent,\n\t\tcardsData,\n\t\tcomponentName,\n\t\tcomponentFriendlyName,\n\t\tplaygroundSource,\n\t\trelease\n\t} = state.properties;\n\tlet card = {};\n\tif (cardsData && cardsData.length == 1) {\n\t\tcard = cardsData[0];\n\t}\n\n\tconst cardStyle = {\n\t\twidth: `calc(100% - 30px)`\n\t};\n\tconst singleCardStyle = {\n\t\tmargin: `0 24px`\n\t}\n\n\treturn (\n\t\t<div className=\"dps-visuals-carousel\">\n\t\t\t<header>\n\t\t\t\t<div className=\"dps-visuals-carousel-playground-heading\">\n\t\t\t\t\t{card.playgroundConfig ? (\n\t\t\t\t\t\t<p>{`${card.playgroundConfig.label} ${componentFriendlyName}`}</p>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t\t{card && card.type == 'playground-preConfig' && canInstallComponent ?(\n\t\t\t\t\t<dps-button\n\t\t\t\t\t\ton-click= {()=>{window.location.href = card.href;}}\n\t\t\t\t\t\tinternal-action\n\t\t\t\t\t\tbuttonStyle\n\t\t\t\t\t\tvariant =\"secondary\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t>\n\t\t\t\t\t\tConfigure in Playground\n\t\t\t\t\t</dps-button>\n\t\t\t\t) : null }\n\t\t\t</header>\n\t\t\t<div\n\t\t\t\tclassName='dps-visuals-carousel-card-container'\n\t\t\t\tstyle = {singleCardStyle}\n\t\t\t>\n\t\t\t\t<div className=\"dps-visuals-carousel-card\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t['dps-visuals-carousel-card-content']: true,\n\t\t\t\t\t\t\t['-dps-visuals-carousel-image']:\n\t\t\t\t\t\t\t\tcard && card.type == 'image',\n\t\t\t\t\t\t\t['-dps-visuals-carousel-card-playground']:\n\t\t\t\t\t\t\t\tcard && card.type == 'playground-preConfig',\n\t\t\t\t\t\t\t['-active']: activeCard == 0\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tstyle={cardStyle}\n\t\t\t\t\t>\n\t\t\t\t\t\t{card && card.type === 'image' ? (\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tclassName=\"dps-visuals-carousel-card-img\"\n\t\t\t\t\t\t\t\tsrc={card.imageLink}\n\t\t\t\t\t\t\t></img>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t{card && card.type == 'playground-preConfig' ? (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t<section className=\"dps-visuals-carousel-playground\">\n\t\t\t\t\t\t\t\t\t<dps-playground\n\t\t\t\t\t\t\t\t\t\trelease={release}\n\t\t\t\t\t\t\t\t\t\tprototypeList={[card.playgroundConfig]}\n\t\t\t\t\t\t\t\t\t\tslot=\"playground\"\n\t\t\t\t\t\t\t\t\t\tcomponent-name={componentName}\n\t\t\t\t\t\t\t\t\t\tsource={`${AZURE_BASE_URL}/${playgroundSource}`}\n\t\t\t\t\t\t\t\t\t\tprototype={card.playgroundConfig.id}\n\t\t\t\t\t\t\t\t\t\tgallery={true}\n\t\t\t\t\t\t\t\t\t></dps-playground>\n\t\t\t\t\t\t\t\t</section>\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n","export const createCardsData = (\n\t{ image, playgroundConfig, componentName, releaseName, playgroundSource }\n) => {\n\tconst cardsData = [],\n\trelease = processReleaseName(releaseName);\n\n\tif (image) {\n\t\tcardsData.push({\n\t\t\ttype: 'image',\n\t\t\timageLink: image\n\t\t});\n\t}\n\n\tif (playgroundSource && playgroundConfig) {\n\t\tplaygroundConfig.forEach(config => {\n\t\t\tcardsData.push({\n\t\t\t\ttype: 'playground-preConfig',\n\t\t\t\tplaygroundConfig: config,\n\t\t\t\thref: `#!/reference/next-experience/${release}/now-components/${componentName}/playground?sharedId=${config.id}`\n\t\t\t});\n\t\t});\n\t}\n\n\treturn cardsData;\n};\n\nconst processReleaseName = releaseVar => {\n\tif(!releaseVar || releaseVar.length <= 0)\n\t\treturn;\n\n\tlet accentedCharsRegex = /[Á-Źá-ź]/gi;\n\tlet matched = releaseVar.match(accentedCharsRegex);\n\tlet returnReleaseVar =\n\t\tmatched && matched.indexOf('é') > -1\n\t\t\t? releaseVar.replace('é', 'e')\n\t\t\t: releaseVar;\n\treturnReleaseVar = returnReleaseVar && returnReleaseVar.toLowerCase();\n\n\treturn returnReleaseVar;\n};\n","import { actionTypes, createCustomElement } from '@servicenow/ui-core';\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-visuals-carousel.scss';\nimport { renderCardArray } from './renderCardArray';\nimport { renderSingleCard } from './renderSingleCard';\nimport { createCardsData } from './actionHelpers.js';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst DPS_VISUALS_CAROUSEL = {\n\tPLAYGROUND_READY: 'DPS_PLAYGROUND#PLAYGROUND_READY',\n\tADVANCE_NEXT_SLIDE: 'DPS_VISUALS_CAROUSEL#ADVANCE_NEXT_SLIDE',\n\tADVANCE_TO_SLIDE: 'DPS_VISUALS_CAROUSEL#ADVANCE_TO_SLIDE'\n};\n\nconst view = (state, { dispatch, updateState, updateProperties }) => {\n\tconst { cardsData } = state.properties;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{cardsData && cardsData.length > 1\n\t\t\t\t? renderCardArray(state, dispatch, updateState, updateProperties)\n\t\t\t\t: renderSingleCard(state)}\n\t\t</Fragment>\n\t);\n};\n\nexport default createCustomElement('dps-visuals-carousel', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tinitialState: {\n\t\tactiveCard: 0,\n\t\tinTransition: false,\n\t\ttargetCard: 0,\n\t\tmouseOver: false,\n\t\tslideTranstionTime: 200,\n\t\tbarValue: 0,\n\t\tprototypeReadyObj: []\n\t},\n\tview,\n\tproperties: {\n    canInstallComponent: {\n      default: false,\n      schema: {\n        type: 'boolean'\n      }\n    },\n    cardsData: {\n      default: [],\n      schema: {\n        type: 'array'\n      }\n    },\n    carouselReady: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n    },\n    componentFriendlyName: {\n      default: '',\n      schema: {\n        type: 'string'\n      }\n    },\n    componentName: {\n      default: '',\n      schema: {\n        type: 'string'\n      }\n    },\n    image: {\n      default: '',\n      schema: {\n        type: 'string'\n      }\n    },\n    isImageReady: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n    },\n    pause: {\n      default: false,\n      schema: {\n        type: 'boolean'\n      }\n\t\t},\n\t\tplaygroundConfig: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array'\n\t\t\t}\n\t\t},\n    playgroundSource: {\n      default: '',\n      schema: {\n        type: 'string'\n      }\n    },\n    releaseName: {\n      default: '',\n      schema: {\n        type: 'string'\n      }\n    },\n    reset: {\n      default: false,\n      schema: {\n        type: 'boolean'\n      }\n    },\n    /**\n     * Time between card changes in ms\n     * @type number\n     */\n    transitionTime: {\n\t\t\tdefault: 5000,\n\t\t\tschema: {\n\t\t\t\ttype: 'integer'\n\t\t\t}\n    }\n  },\n\tstyles,\n\tactionHandlers: {\n\t\t[DPS_VISUALS_CAROUSEL.ADVANCE_NEXT_SLIDE]({ dispatch, state }) {\n\t\t\tdispatch(DPS_VISUALS_CAROUSEL.ADVANCE_TO_SLIDE, {slide: state.activeCard + 1});\n\t\t},\n\t\t[DPS_VISUALS_CAROUSEL.ADVANCE_TO_SLIDE]({ state, action, updateState }) {\n\t\t\tupdateState({ targetCard: action.payload.slide, inTransition: true });\n\t\t\tsetTimeout(() => {\n\t\t\t\tupdateState({\n\t\t\t\t\tactiveCard: action.payload.slide % state.properties.cardsData.length,\n\t\t\t\t\tinTransition: false\n\t\t\t\t});\n\t\t\t}, state.slideTranstionTime);\n\t\t},\n\t\t[COMPONENT_BOOTSTRAPPED]: ({\n\t\t\tproperties,\n\t\t\tupdateProperties\n\t\t}) => {\n\t\t\tconst cardsData = createCardsData(properties);\n\t\t\tupdateProperties({ cardsData });\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\t\taction,\n\t\t\tupdateProperties,\n\t\t\tupdateState,\n\t\t\tdispatch,\n\t\t\tstate\n\t\t}) => {\n\t\t\tif(action.payload.name === 'cardsData') {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tcarouselReady: true\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif(action.payload.name === 'componentName') {\n\t\t\t\tconst { prototypeReadyObj } = state;\n\t\t\t\tconst cardsData = createCardsData(state.properties);\n\n\t\t\t\tdispatch('DPS_VISUALS_CAROUSEL#ADVANCE_TO_SLIDE', {slide: 0});\n\t\t\t\tupdateProperties({\n\t\t\t\t\tcarouselReady: false,\n\t\t\t\t\tisImageReady: false,\n\t\t\t\t\tcardsData\n\t\t\t\t});\n\n\t\t\t\tif (prototypeReadyObj && prototypeReadyObj.length > 0) {\n\t\t\t\t\tprototypeReadyObj.forEach(() => {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tpath: 'prototypeReadyObj',\n\t\t\t\t\t\t\toperation: 'pop'\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[DPS_VISUALS_CAROUSEL.PLAYGROUND_READY]: ({\n\t\t\tstate,\n\t\t\tupdateState,\n\t\t\taction\n\t\t}) => {\n\t\t\tconst { prototypeReadyObj } = state;\n\t\t\tconst { prototype } = action.payload;\n\n\t\t\tif (\n\t\t\t\tprototype &&\n\t\t\t\t!(\n\t\t\t\t\tprototypeReadyObj &&\n\t\t\t\t\tprototypeReadyObj.find(element => element === prototype)\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'prototypeReadyObj',\n\t\t\t\t\tvalue: prototype,\n\t\t\t\t\toperation: 'push'\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../theme.js';\nimport '../../src/components/dps-visuals-carousel';\n\nconst prototypeConfig = [\n\t{\n\t\tlabel: 'determinate',\n\t\telement: 'progress-bar-determinate-prototype'\n\t},\n\t{\n\t\tlabel: 'indeterminate',\n\t\telement: 'progress-bar-indeterminate-prototype'\n\t}\n];\n\nexport default createCustomElement('dps-visuals-carousel-example', {\n\trenderer: { type: snabbdom },\n\tstyles: `\n        dps-visuals-carousel {\n            width: 728px;\n            margin: 50px auto;\n        }\n    `,\n\tview: () => (\n\t\t<Fragment>\n\t\t\t<dps-visuals-carousel\n\t\t\t\timage={\n\t\t\t\t\t'https://sndevportal.azureedge.net/images/scr-orlando-now-Progress-Bar-1600905681696.png'\n\t\t\t\t}\n\t\t\t\tcomponentName={'now-progress-bar'}\n\t\t\t\tcomponentFriendlyName={'Progress bar'}\n\t\t\t\tplaygroundConfig={prototypeConfig}\n\t\t\t\tplaygroundSource={'playgrounds/prototypes-design-system-2.0.23.html'}\n\t\t\t\treleaseName={'orlando'}\n\t\t\t></dps-visuals-carousel>\n\t\t</Fragment>\n\t)\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../../../example';\nimport exampleManifest from '../../../example/manifest.json';\nimport styles from './styles.scss';\nimport '../../components/dps-template-two-column';\nimport '../../components/dps-filter-nav';\nimport { DPS_FILTER_NAV_ITEM } from '../../components/dps-filter-nav/actions';\nimport scrollToElement from '../../utils/scrollToElement';\nimport { updateRoute } from '../../routes';\n\nfunction view() {\n\tconst items = [\n\t\t{\n\t\t\tdc_identifier: 'components',\n\t\t\tis_current: true,\n\t\t\tname: 'Components',\n\t\t\tisMatched: true,\n\t\t\titems: exampleManifest.map(item => (\n\t\t\t\t{\n\t\t\t\t\tdc_identifier: item,\n\t\t\t\t\tis_current: false,\n\t\t\t\t\tname: item\n\t\t\t\t}\n\t\t\t))\n\t\t}\n\t];\n\n\treturn (\n\t\t<dps-template-two-column>\n\t\t\t<dps-filter-nav\n\t\t\t\titems={items}\n\t\t\t\tslot=\"sidebar\"\n\t\t\t\tdefault-option=\"components\"\n\t\t\t\tdefault-value=\"Components\"\n\t\t\t></dps-filter-nav>\n\n\t\t\t{exampleManifest.map(componentName => (\n\t\t\t\t<section id={componentName}>\n\t\t\t\t\t<h2>{`<${componentName}>`}</h2>\n\t\t\t\t\t<div innerHTML={`<${componentName} />`}></div>\n\t\t\t\t</section>\n\t\t\t))}\n\t\t</dps-template-two-column>\n\t);\n}\n\nexport const makeUrl = newId => {\n\tconst { origin, pathname } = location;\n\treturn `${origin}${pathname}#!/dps_examples/${newId}`;\n};\n\nexport default createCustomElement('dps-examples', {\n\trenderer: { type: snabbdom },\n\tstyles,\n\tview,\n\tactionHandlers: {\n\t\t[DPS_FILTER_NAV_ITEM.ITEM_CLICK]({ action: { payload }, state }) {\n\t\t\tconst { navItemId } = payload;\n\t\t\tupdateRoute(makeUrl(navItemId));\n\t\t\tscrollToElement({ selector: navItemId, useOffset: true });\n\t\t}\n\t}\n});\n","/* eslint-disable object-shorthand */\n/* eslint-disable no-param-reassign */\nimport { actionTypes } from '@servicenow/ui-core';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { isEqual } from 'lodash';\nimport { SCROLL_SPY_ACTIONS } from '../../behaviors/scrollSpy';\nimport { CONSTANTS, DPS_ERROR_ACTIONS } from '../../constants';\nimport { setMetaByPageType, setMetaByValues } from '../../utils/meta';\nimport scrollToElement from '../../utils/scrollToElement';\nimport { updateRoute } from '../../routes';\nimport { releaseInactive } from '../../utils/releaseHelpers';\nimport {\n\thasUserInfoUpdated,\n\tisInactiveRelease,\n\tredirectToAuth,\n\tisUserUnauthorizedToViewPage,\n\tmakeHttpEffectCreator\n} from '../../utils/helpers';\nimport { replacePathParam } from '../../utils/url';\nimport { dashCase } from '../../utils/case';\nimport { SessionService } from '../../utils/sessionService';\nimport { DPS_LEARNING_COURSES_ACTIONS } from './actions';\nimport { shouldTriggerSurvey, triggerLearningSurvey, handleLearningSurveySuccess } from '../../utils/qualtricsSurveyTrigger';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst getTrainingNav = createHttpEffect(CONSTANTS.ENDPOINTS.GET_TRAINING_NAV, {\n\tbatch: false,\n\tmethod: 'GET',\n\tpathParams: ['release'],\n\terrorActionType: DPS_LEARNING_COURSES_ACTIONS.GET_TRAINING_NAV_FAILED,\n\tsuccessActionType: DPS_LEARNING_COURSES_ACTIONS.GET_TRAINING_NAV_SUCCEEDED\n});\n\n// HTTP Effect creator for learning completion Qualtrics survey (hybrid approach - single POST API)\nconst saveLearningQualtricsSurveyStatusHttpEffect = makeHttpEffectCreator(\n\tDPS_LEARNING_COURSES_ACTIONS.SAVE_LEARNING_QUALTRICS_SURVEY_STATUS,\n\t'/api/snc/learn/qualtrics/survey-tag',\n\t{\n\t\tbatch: false,\n\t\tmethod: 'POST',\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json',\n\t\t\t'X-UserToken': SessionService.getHeaderUserToken()\n\t\t},\n\t\tdataParam: 'data',\n\t\tonSuccess({ action }) {\n\t\t\t// Use shared success handler\n\t\t\thandleLearningSurveySuccess(action);\n\t\t},\n\t\tonError({ action }) {\n\t\t\tconsole.error('❌ ERROR: Failed to save to backend, but localStorage saved, Backend error: ', action.payload);\n\t\t}\n\t}\n);\n\nfunction calculateArticlesReadAndCount(modules) {\n\tlet articles_count = 0,\n\t\tarticles_read = 0;\n\tmodules.forEach(module => {\n\t\tarticles_count += module.total_second_level_articles;\n\t\tarticles_read += module.second_level_articles_read;\n\t\tmodule.read_percent =\n\t\t\tmodule.second_level_articles_read / module.total_second_level_articles;\n\t});\n\treturn { articles_count, articles_read };\n}\n\nconst reactToHash = coeffects => {\n\tconst { dispatch, properties, updateProperties } = coeffects;\n\tconst { hash } = properties;\n\n\tif (hash) {\n\t\tdispatch(DPS_LEARNING_COURSES_ACTIONS.SCROLL_TO, {\n\t\t\tjumpTo: hash\n\t\t});\n\t\tupdateProperties({ activeItem: dashCase(hash) })\n\t}\n};\n\nexport default {\n\t[SCROLL_SPY_ACTIONS.TARGET_ACTIVATED]({ action, updateProperties }) {\n\t\tconst activeItem = action.payload.id.replace('-header', '');\n\t\tupdateProperties({ activeItem });\n\t},\n\t[COMPONENT_BOOTSTRAPPED](coeffects) {\n\t\tconst { dispatch, properties, updateProperties } = coeffects;\n\t\tconst navLevel = 'two';\n\t\tconst { release } = properties;\n\n\t\tconst inactiveResult = releaseInactive(properties);\n\t\tif (inactiveResult) {\n\t\t\tupdateProperties({\n\t\t\t\tredirectedFromInactiveRelease: true\n\t\t\t});\n\t\t\treturn updateRoute(inactiveResult);\n\t\t}\n\n\t\tsetMetaByPageType('course');\n\t\tdispatch(DPS_LEARNING_COURSES_ACTIONS.GET_TRAINING_NAV, {\n\t\t\tnavLevel,\n\t\t\trelease\n\t\t});\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: coeffects => {\n\t\tconst {\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\thost,\n\t\t\tproperties,\n\t\t\tstate,\n\t\t\tupdateProperties,\n\t\t\tupdateState\n\t\t} = coeffects;\n\t\tconst {\n\t\t\thash,\n\t\t\trelease,\n\t\t\tscrollOffset,\n\t\t\tsystemProperties,\n\t\t\ttrainingData\n\t\t} = properties;\n\t\tconst {\n\t\t\tpayload: { name, previousValue, value }\n\t\t} = action;\n\n\t\tconst userInfoUpdated = hasUserInfoUpdated({ name, value, previousValue });\n\n\t\tif (name === 'release' || userInfoUpdated) {\n\t\t\tconst inactiveResult = releaseInactive(properties);\n\t\t\tif (inactiveResult) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tredirectedFromInactiveRelease: true\n\t\t\t\t});\n\t\t\t\treturn updateRoute(inactiveResult);\n\t\t\t}\n\n\t\t\tupdateProperties({\n\t\t\t\ttrainingData: {\n\t\t\t\t\ttwoLevelNav: []\n\t\t\t\t}\n\t\t\t});\n\t\t\tdispatch(DPS_LEARNING_COURSES_ACTIONS.GET_TRAINING_NAV, {\n\t\t\t\tnavLevel: 'two',\n\t\t\t\trelease: name === 'release' ? value : release\n\t\t\t});\n\t\t}\n\n\t\tif (\n\t\t\tname === 'releaseInfo' &&\n\t\t\t!isInactiveRelease({ release: value.release, systemProperties }) &&\n\t\t\tvalue.releaseVersionToggled\n\t\t) {\n\t\t\tupdateProperties({\n\t\t\t\tredirectedFromInactiveRelease: false\n\t\t\t});\n\t\t}\n\n\t\tif (name === 'hash') {\n\t\t\treactToHash({ dispatch, properties, updateProperties });\n\t\t}\n\n\t\t// scroll to the initial hash only if scrollOffset and trainingData are populated\n\t\t// and this is the initial page load.\n\t\tif (\n\t\t\t!state.hasPageLoadedOnce &&\n\t\t\thash &&\n\t\t\tscrollOffset &&\n\t\t\ttrainingData.twoLevelNav &&\n\t\t\ttrainingData.twoLevelNav.length > 0\n\t\t) {\n\t\t\treactToHash({ dispatch, properties, updateProperties });\n\t\t\tupdateState({\n\t\t\t\tpath: 'hasPageLoadedOnce',\n\t\t\t\tvalue: true,\n\t\t\t\toperation: 'set'\n\t\t\t});\n\t\t}\n\t},\n\t[DPS_LEARNING_COURSES_ACTIONS.GET_TRAINING_NAV]: getTrainingNav,\n\t[DPS_LEARNING_COURSES_ACTIONS.GET_TRAINING_NAV_SUCCEEDED]({\n\t\taction,\n\t\tupdateProperties,\n\t\tproperties,\n\t\tdispatch\n\t}) {\n\t\tconst trainingData = action.payload.result;\n\n\t\tsetMetaByValues({\n\t\t\ttitle: 'Courses',\n\t\t\tdescription: (trainingData && trainingData.training_blurb) || ''\n\t\t});\n\n\t\t// Track if we've already triggered a survey on this page load\n\t\t// to prevent multiple surveys from triggering at once\n\t\tlet surveyTriggeredOnThisPage = false;\n\n\t\ttrainingData.twoLevelNav.forEach(course => {\n\t\t\tconst { articles_count, articles_read } = calculateArticlesReadAndCount(\n\t\t\t\tcourse.firstLevelChildren\n\t\t\t);\n\t\t\tcourse.read_percent = articles_read / articles_count;\n\t\t\t\n\t\t\tswitch (articles_read) {\n\t\t\t\tcase 0:\n\t\t\t\t\tcourse.status = 'Not Started';\n\t\t\t\t\tbreak;\n\t\t\t\tcase articles_count:\n\t\t\t\t\tcourse.status = 'Complete';\n\t\t\t\t\t\n\t\t\t\t\t// Check backend flag for survey trigger\n\t\t\t\t\t// Backend returns course_qualtrics_survey_on: true/false\n\t\t\t\t\t// Only trigger ONE survey per page load to avoid conflicts\n\t\t\t\t\ttry {\n\t\t\t\t\t\tif (course.course_qualtrics_survey_on === true && !surveyTriggeredOnThisPage) {\n\t\t\t\t\t\t\t// Extract userId for user-specific survey tracking\n\t\t\t\t\t\t\tconst userId = properties?.userInfo?.user_id;\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tconst shouldTrigger = shouldTriggerSurvey({\n\t\t\t\t\t\t\t\tsurveyFlag: course.course_qualtrics_survey_on,\n\t\t\t\t\t\t\t\tlearningId: course.courseContentId,\n\t\t\t\t\t\t\t\tlearningType: 'course',\n\t\t\t\t\t\t\t\tuserId\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif (shouldTrigger) {\n\t\t\t\t\t\t\t\tconsole.log('🎓 Course completed with survey flag enabled:', course.courseCategory);\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t// Mark that we've triggered a survey on this page\n\t\t\t\t\t\t\t\tsurveyTriggeredOnThisPage = true;\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t// Trigger Qualtrics survey\n\t\t\t\t\t\t\t\t// Note: markSurveyShown() will be called in the success handler after backend confirms\n\t\t\t\t\t\t\t\ttriggerLearningSurvey({\n\t\t\t\t\t\t\t\t\tlearningId: course.courseContentId,\n\t\t\t\t\t\t\t\t\tlearningType: 'course',\n\t\t\t\t\t\t\t\t\tlearningName: course.courseCategory,\n\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\tsaveAction: DPS_LEARNING_COURSES_ACTIONS.SAVE_LEARNING_QUALTRICS_SURVEY_STATUS,\n\t\t\t\t\t\t\t\t\trelease: properties.release,\n\t\t\t\t\t\t\t\t\treleaseSysId: properties.releaseInfo?.sys_id,\n\t\t\t\t\t\t\t\t\tuserId: userId\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('❌ Error triggering course completion survey:', error);\n\t\t\t\t\t\t// Don't break the page if survey fails\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tcourse.status = 'In Progress';\n\t\t\t}\n\t\t});\n\n\t\tupdateProperties({ trainingData });\n\t},\n\t[DPS_LEARNING_COURSES_ACTIONS.GET_TRAINING_NAV_FAILED]({\n\t\taction,\n\t\tupdateProperties,\n\t\tdispatch,\n\t\tproperties\n\t}) {\n\t\tconst timestamp = Date.now();\n\t\tconst {\n\t\t\thash,\n\t\t\tpathname,\n\t\t\treleaseInfo,\n\t\t\trouteString,\n\t\t\tuserInfo,\n\t\t\tisReleaseReplaced,\n\t\t\trelease\n\t\t} = properties;\n\t\tconst { message } =\n\t\t\taction.payload && action.payload.data && action.payload.data.result;\n\t\tconst userUnauthorizedToViewPage = isUserUnauthorizedToViewPage(\n\t\t\tuserInfo,\n\t\t\taction.payload\n\t\t);\n\t\tconst { latestRelease } = releaseInfo;\n\n\t\tupdateProperties({ trainingData: {}, timestamp });\n\n\t\tif (userUnauthorizedToViewPage) {\n\t\t\tredirectToAuth(location.href);\n\t\t} else if (\n\t\t\t!userUnauthorizedToViewPage &&\n\t\t\tmessage === CONSTANTS.DEFAULTS.NO_CONTENT_FOUND_MESSAGE &&\n\t\t\t!isReleaseReplaced &&\n\t\t\trelease !== latestRelease\n\t\t) {\n\t\t\tconst replacedRelease = replacePathParam({\n\t\t\t\tparam: ':release',\n\t\t\t\trouteString,\n\t\t\t\tpathname,\n\t\t\t\tparamValue: latestRelease,\n\t\t\t\thash\n\t\t\t});\n\t\t\tupdateRoute(replacedRelease);\n\t\t\tupdateProperties({\n\t\t\t\tisReleaseReplaced: true\n\t\t\t});\n\t\t} else {\n\t\t\tif (\n\t\t\t\taction.payload &&\n\t\t\t\taction.payload.data.result &&\n\t\t\t\taction.payload.data.result.data &&\n\t\t\t\taction.payload.data.result.statusCode === '404'\n\t\t\t) {\n\t\t\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND, {\n\t\t\t\t\totherReleases: action.payload.data.result.data.other_releases,\n\t\t\t\t\tcontentTitle: action.payload.data.result.data.content_title,\n\t\t\t\t\tisContentNotFoundForCurrentRelease: true\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND, { message: message });\n\t\t\t}\n\t\t}\n\t},\n\t['DPS_BUTTON#CLICKED']: ({ action, updateProperties }) => {\n\t\tconst { moduleModalData } = action.payload;\n\n\t\tupdateProperties({\n\t\t\tmoduleModalData,\n\t\t\tmoduleModalOpened: true\n\t\t});\n\t},\n\t['DPS_MODAL#OPENED_SET']: ({ updateProperties }) => {\n\t\tupdateProperties({\n\t\t\tmoduleModalOpened: false\n\t\t});\n\t},\n\t[DPS_LEARNING_COURSES_ACTIONS.SCROLL_TO]({\n\t\taction,\n\t\thost,\n\t\tproperties\n\t}) {\n\t\tconst {\n\t\t\tpayload: { jumpTo }\n\t\t} = action;\n\t\tconst selector = jumpTo.replace('#', '');\n\t\tconst { scrollOffset } = properties;\n\n\t\tif (!scrollOffset) {\n\t\t\treturn;\n\t\t}\n\n\t\tscrollToElement({\n\t\t\tadditionalOffset: scrollOffset,\n\t\t\tselector,\n\t\t\tuseOffset: true\n\t\t});\n\t},\n\t[DPS_LEARNING_COURSES_ACTIONS.TWO_COLUMN_LOADED]({ action, updateProperties }) {\n\t\tconst { top } = action.payload;\n\t\tupdateProperties({\n\t\t\tscrollOffset: Math.abs(top)\n\t\t});\n\t},\n\t...saveLearningQualtricsSurveyStatusHttpEffect\n};\n","const properties = {\n\tactiveItem: {\n\t\tdefault: ''\n\t},\n\thash: {\n\t\tdefault: ''\n\t},\n\tinstanceInfo: {\n\t\tdefault: {}\n\t},\n\tmoduleModalData: {\n\t\tdefault: {}\n\t},\n\tmoduleModalOpened: {\n\t\tdefault: false\n\t},\n\tpathname: {\n\t\tdefault: ''\n\t},\n\tredirectedFromInactiveRelease: {\n\t\tdefault: false\n\t},\n\trelease: {\n\t\tdefault: '',\n\t\trequired: true,\n\t\tschema: {\n\t\t\ttype: 'string'\n\t\t}\n\t},\n\treleaseInfo: {\n\t\tdefault: {}\n\t},\n\trouteString: {\n\t\tdefault: ''\n\t},\n\tscrollOffset: {\n\t\tdefault: null\n\t},\n\tsystemProperties: {\n\t\tdefault: {}\n\t},\n\ttimestamp: {\n\t\tdefault: ''\n\t},\n\ttrainingData: {\n\t\tdefault: {\n\t\t\ttwoLevelNav: []\n\t\t}\n\t},\n\tuserInfo: {\n\t\tdefault: {}\n\t},\n\tisReleaseReplaced: {\n\t\tdefault: false\n\t}\n};\n\nexport default properties;\n","/* eslint-disable no-mixed-spaces-and-tabs */\nimport {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-learning-plans.scss';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-button';\nimport '../dps-button';\nimport '../dps-content-stack';\nimport '../dps-link';\nimport LearningBookIcon from '../../images/dps-learning-book-icon.svg';\nimport LearningPlansIcon from '../../images/dps-learning-plans-icon.svg';\n\nconst DPSLearning = state => {\n\tconst {release} = state.properties;\n\n\treturn (\n\t\t<div className=\"dps-overview-section -inverse -centered -learning-plans\">\n\t\t\t<div className=\"dps-overview-section-content\">\n\t\t\t\t<h2 className=\"dps-overview-section-header\">\n\t\t\t\t\t<span>Learning Plans</span>\n\t\t\t\t</h2>\n\t\t\t\t<p>Looking to grow as a developer or transition into developing apps on the Now Platform?<br />Choose a learning plan to learn the skills you need to advance your career.</p>\n\t\t\t\t<now-button\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tlabel=\"Browse all learning plans\"\n\t\t\t\t\ttooltip-content={''}\n\t\t\t\t\ton-click={() => window.location.href = `#!/learn/learning-plans/${release}`}\n\t\t\t\t/>\n\t\t\t\t<div className=\"dps-learning-plans\">\n\t\t\t\t\t<dps-content-stack\n\t\t\t\t\t\ttitle=\"New to ServiceNow\"\n\t\t\t\t\t\tinverse>\n\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\tlabel=\"See learning plan\"\n\t\t\t\t\t\t\ttooltip-content={''}\n\t\t\t\t\t\t\ton-click={() => window.location.href = `#!/learn/learning-plans/${release}/new_to_servicenow`}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<p>I am a developer who has limited or no exposure to developing apps on the Now Platform.</p>\n\t\t\t\t\t</dps-content-stack>\n\t\t\t\t\t<dps-content-stack\n\t\t\t\t\t\ttitle=\"ServiceNow Administrator\"\n\t\t\t\t\t\tinverse>\n\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\tlabel=\"See learning plan\"\n\t\t\t\t\t\t\ttooltip-content={''}\n\t\t\t\t\t\t\ton-click={() => window.location.href = `#!/learn/learning-plans/${release}/servicenow_administrator`}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<p>I am a ServiceNow administrator who wants to begin developing apps on the Now Platform.</p>\n\t\t\t\t\t</dps-content-stack>\n\t\t\t\t\t<dps-content-stack\n\t\t\t\t\t\ttitle=\"ServiceNow Application Developer\"\n\t\t\t\t\t\tinverse>\n\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\tlabel=\"See learning plan\"\n\t\t\t\t\t\t\ttooltip-content={''}\n\t\t\t\t\t\t\ton-click={() => window.location.href = `#!/learn/learning-plans/${release}/servicenow_application_developer`}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<p>I am an experienced developer who wants to learn more about building apps on the Now Platform.</p>\n\t\t\t\t\t</dps-content-stack>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-learning-plans', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DPSLearning\n\t},\n\tstyles,\n\tproperties: {\n\t\trelease: {\n\t\t\tdefault: ''\n\t\t}\n\t}\n});\n","import '@servicenow/now-icon';\nimport '@servicenow/now-button';\nimport '../../components/dps-link';\nimport '../../components/dps-card-container';\nimport '../../components/dps-card';\nimport '../../components/dps-template-two-column';\nimport '../../components/dps-progress-circle';\nimport '../../components/dps-badge';\nimport '../../components/dps-page-header';\nimport '../../components/dps-learning-plans';\nimport '../../components/dps-spinner';\nimport '../../components/dps-module-modal';\nimport '../../components/dps-inline-version-selector';\nimport { course } from '../../icons';\nimport CourseHeader from '../../images/courses-header-bg.svg';\nimport backgroundImg from '../../images/reference-overview-background.png';\nimport { createPath, createAnchor } from '../../utils/url';\nimport { dashCase } from '../../utils/case';\nimport { getFormattedInstanceReleaseInfo } from '../../utils/releaseHelpers';\nimport {DPS_LEARNING_COURSES_ACTIONS} from './actions';\n\nconst courseIcon = course;\nconst delay = 50;\n\nconst view = ({ properties }, { dispatch }) => {\n\tconst {\n\t\tactiveItem,\n\t\tinstanceInfo,\n\t\trelease,\n\t\tpathname,\n\t\tmoduleModalData,\n\t\tmoduleModalOpened,\n\t\ttrainingData,\n\t\tsystemProperties\n\t} = properties;\n\tconst { other_releases, twoLevelNav: courses } = trainingData;\n\tconst instanceRelease = getFormattedInstanceReleaseInfo(instanceInfo);\n\n\treturn (\n\t\t<div className=\"dps-overview -learning-courses\">\n\t\t\t<section className=\"dps-lp-header\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"dps-lp-header__background\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tbackgroundImage: `url(${backgroundImg})`,\n\t\t\t\t\t\tbackgroundPosition: 'center center',\n\t\t\t\t\t\tbackgroundSize: 'cover',\n\t\t\t\t\t\tbackgroundRepeat: 'no-repeat'\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc={CourseHeader}\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tclassName=\"dps-lp-header__image\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-lp-header__content\">\n\t\t\t\t\t{other_releases && other_releases.length ? (\n\t\t\t\t\t\t<div className=\"dps-lp-header__version-selector\">\n\t\t\t\t\t\t\t<dps-inline-version-selector\n\t\t\t\t\t\t\t\tselected={release}\n\t\t\t\t\t\t\t\treleases={other_releases}\n\t\t\t\t\t\t\t\tinstanceRelease={instanceRelease}\n\t\t\t\t\t\t\t\tsourcePathname={pathname}\n\t\t\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : null}\n\t\t\t\t\t<h1 className=\"dps-lp-header__title\">Courses</h1>\n\t\t\t\t\t<p className=\"dps-lp-header__subtitle\">\n\t\t\t\t\t\tMaster a specific skill with our courses.\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t</section>\n\t\t\t<section className=\"dps-overview-section -overview -centered\">\n\t\t\t\t<div className=\"dps-overview-section-content\">\n\t\t\t\t\t<h2 className=\"dps-overview-section-header\">\n\t\t\t\t\t\t<span>Choose a course to grow a skill</span>\n\t\t\t\t\t</h2>\n\t\t\t\t\t<p>\n\t\t\t\t\t\tCourses offer topic-based learning to prepare for building, testing,\n\t\t\t\t\t\tand deploying your apps. Ranging from building automated workflows\n\t\t\t\t\t\tto securing applications, each of our courses feature a set of\n\t\t\t\t\t\tmodules that offer learning materials and exercises.\n\t\t\t\t\t</p>\n\t\t\t\t\t<p>\n\t\t\t\t\t\tPrefer to learn based on your skill set?{' '}\n\t\t\t\t\t\t<dps-link href={createPath(`/learn/learning-plans/${release}`)}>\n\t\t\t\t\t\t\tStart a learning plan\n\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t, instead.\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t</section>\n\t\t\t{courses && courses.length > 0 ? (\n\t\t\t\t<dps-template-two-column open={true} hook-insert={vNode => {\n\t\t\t\t\twindow.scrollTo(0, 0);\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tdispatch(DPS_LEARNING_COURSES_ACTIONS.TWO_COLUMN_LOADED, { \n\t\t\t\t\t\t\ttop: vNode.elm.getClientRects()[0].top \n\t\t\t\t\t\t});\n\t\t\t\t\t}, delay);\n\t\t\t\t}}>\n\t\t\t\t\t<div className=\"dps-learning-courses-sidebar\" slot=\"sidebar\">\n\t\t\t\t\t\t<h4>Courses</h4>\n\t\t\t\t\t\t<ul className=\"list-with-active-indicator\">\n\t\t\t\t\t\t\t{courses.map(course => (\n\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t['is-active']:\n\t\t\t\t\t\t\t\t\t\t\tactiveItem === dashCase(course.courseCategory)\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<dps-progress-circle size={'xs'} percent={course.read_percent} />\n\t\t\t\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\t\t\thref={createAnchor(`#${dashCase(course.courseCategory)}`)}\n\t\t\t\t\t\t\t\t\t\tbutton-style\n\t\t\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<span>{course.courseCategory}</span>\n\t\t\t\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"dps-learning-courses\">\n\t\t\t\t\t\t{courses.map(course => {\n\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\tcourseCategory,\n\t\t\t\t\t\t\t\tcourseDescription,\n\t\t\t\t\t\t\t\tfirstLevelChildren,\n\t\t\t\t\t\t\t\tcourseContentId\n\t\t\t\t\t\t\t} = course;\n\t\t\t\t\t\t\tconst moduleLabel =\n\t\t\t\t\t\t\t\tfirstLevelChildren.length === 1 ? 'Module' : 'Modules';\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<section\n\t\t\t\t\t\t\t\t\tclassName=\"dps-overview-section\"\n\t\t\t\t\t\t\t\t\tid={dashCase(course.courseCategory)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<header className=\"dps-learning-courses-header scrollspy\" id={`${dashCase(course.courseCategory)}-header`}>\n\t\t\t\t\t\t\t\t\t\t<h2 className=\"dps-overview-section-header\">\n\t\t\t\t\t\t\t\t\t\t\t<span>{courseCategory}</span>\n\t\t\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t\t\t({firstLevelChildren.length} {moduleLabel})\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</header>\n\t\t\t\t\t\t\t\t\t<dps-badge\n\t\t\t\t\t\t\t\t\t\tlabel={course.status}\n\t\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\t\tcourse.status === 'Not Started'\n\t\t\t\t\t\t\t\t\t\t\t\t? 'secondary'\n\t\t\t\t\t\t\t\t\t\t\t\t: course.status === 'Complete'\n\t\t\t\t\t\t\t\t\t\t\t\t? 'tertiary'\n\t\t\t\t\t\t\t\t\t\t\t\t: 'primary'\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<p innerHTML={courseDescription} />\n\t\t\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\t\tlabel=\"See course\"\n\t\t\t\t\t\t\t\t\t\ttooltip-content={''}\n\t\t\t\t\t\t\t\t\t\ton-click={() => window.location.href = createPath(`learn/courses/${release}/${courseContentId}`)}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<dps-card-container columns={3}>\n\t\t\t\t\t\t\t\t\t\t{firstLevelChildren.map(module => {\n\t\t\t\t\t\t\t\t\t\t\tlet ctaLabel = 'Resume module';\n\t\t\t\t\t\t\t\t\t\t\tif (module.read_percent === 0) {\n\t\t\t\t\t\t\t\t\t\t\t\tctaLabel = 'Start module';\n\t\t\t\t\t\t\t\t\t\t\t} else if (module.read_percent === 1) {\n\t\t\t\t\t\t\t\t\t\t\t\tctaLabel = 'Repeat module';\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t// Keeps track of user's progress\n\t\t\t\t\t\t\t\t\t\t\tlet lessonId = module.link.split('/').pop();\n\t\t\t\t\t\t\t\t\t\t\tif (lessonId === module.content_id) {\n\t\t\t\t\t\t\t\t\t\t\t\tlessonId = module.secondLevelChildren[0].content_id;\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<dps-card\n\t\t\t\t\t\t\t\t\t\t\t\t\ttitle={module.title}\n\t\t\t\t\t\t\t\t\t\t\t\t\tmeta-data={`${module.total_second_level_articles} Articles`}\n\t\t\t\t\t\t\t\t\t\t\t\t\tprogress\n\t\t\t\t\t\t\t\t\t\t\t\t\thas-border\n\t\t\t\t\t\t\t\t\t\t\t\t\tborder-variant=\"primary\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<dps-progress-circle\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tslot=\"progress\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpercent={module.read_percent}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle={`${module.percent_complete}%`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thref={createPath(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`/learn/courses/${release}/${courseContentId}/${module.content_id}/${lessonId}`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbutton-style\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbutton-variant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbutton-size=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinternal-action\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ctaLabel}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p innerHTML={module.short_description} />\n\t\t\t\t\t\t\t\t\t\t\t\t</dps-card>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t</dps-card-container>\n\t\t\t\t\t\t\t\t</section>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</div>\n\t\t\t\t</dps-template-two-column>\n\t\t\t) : (\n\t\t\t\t<div className=\"dps-learning-courses-loading\">\n\t\t\t\t\t<dps-spinner />\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t<dps-learning-plans release={release} />\n\t\t\t<dps-module-modal opened={moduleModalOpened} data={moduleModalData} />\n\t\t</div>\n\t);\n};\n\nexport default view;\n","/* eslint-disable no-param-reassign */\n/* eslint-disable object-shorthand */\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-learning-courses.scss';\nimport actionHandlers from './actionHandlers';\nimport scrollSpyBehavior from '../../behaviors/scrollSpy';\nimport properties from './properties';\nimport view from './view';\n\nexport default createCustomElement('dps-learning-courses', {\n\tactionHandlers,\n\tinitialState: {\n\t\thasPageLoadedOnce: false\n\t},\n\tproperties,\n\trenderer: { type: snabbdom },\n\tstyles,\n\tview,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: scrollSpyBehavior,\n\t\t\toptions: {\n\t\t\t\t// eslint-disable-next-line object-shorthand\n\t\t\t\trootMargin: () => {\n\t\t\t\t\tconst winH = window.innerHeight;\n\t\t\t\t\tconst topOffset = 100;\n\t\t\t\t\tconst bottomOffset = winH * 0.6 < 100 ? '150px' : '60%';\n\t\t\t\t\treturn `-${topOffset}px 0px -${bottomOffset}`;\n\t\t\t\t},\n\t\t\t\ttargetSelector: '.scrollspy',\n\t\t\t\tthreshold: 1.0\n\t\t\t}\n\t\t}\n\t],\n});\n","export const DPS_LEARNING_MODULE_ACTIONS = {\n\tLEARNING_MODULE_BOOTSTRAPPED: 'DPS_LEARNING_MODULE_ACTIONS#LEARNING_MODULE_BOOTSTRAPPED',\n\tLEARNING_MODULE_FETCH_FAILED: 'DPS_LEARNING_MODULE_ACTIONS#LEARNING_MODULE_FETCH_FAILED',\n\tLEARNING_MODULE_FETCH_SUCCEEDED: 'DPS_LEARNING_MODULE_ACTIONS#LEARNING_MODULE_FETCH_SUCCEEDED',\n\tLEARNING_MODULE_STICKY_OFF: 'DPS_LEARNING_MODULE#STICKY_OFF',\n\tLEARNING_MODULE_STICKY_ON: 'DPS_LEARNING_MODULE#STICKY_ON'\n};","/* eslint-disable object-shorthand */\nimport { DPS_LEARNING_MODULE_ACTIONS } from './actions';\nimport { actionTypes } from '@servicenow/ui-core';\nimport {\n\tcheckAndRedirectToAuth,\n\tdevPortalGetHttpEffect,\n\tformatSysParam,\n\thasUserInfoUpdated,\n\tisEmployee, isUserUnauthorizedToViewPage, makeHttpEffectCreator, redirectToAuth,\n\tuserInfoPopulated\n} from '../../utils/helpers';\nimport { updateRoute } from '../../routes';\nimport { SCROLL_SPY_ACTIONS } from '../../behaviors/scrollSpy';\nimport { DPS_PREV_NEXT_DOC_ACTIONS } from '../../components/dps-prev-next-doc/actions';\nimport { CONSTANTS, DPS_ERROR_ACTIONS, ERROR_CODES } from '../../constants';\nimport { setMetaByPageType, setMetaByValues } from '../../utils/meta';\nimport { isInternalRelease, releaseInactive, releaseInternal } from '../../utils/releaseHelpers';\nimport { replacePathParam } from '../../utils/url';\nimport { APP_ACTIONS } from '../dps-app/actions';\nimport { SessionService } from '../../utils/sessionService';\nimport { triggerLearningSurvey, shouldTriggerSurvey, handleLearningSurveySuccess } from '../../utils/qualtricsSurveyTrigger';\nimport { DPS_LEARNING_COURSES_ACTIONS } from '../dps-learning-courses/actions';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst getLpLessonData = makeHttpEffectCreator(\n\tAPP_ACTIONS.GET_LP_MODULE_DATA,\n\tCONSTANTS.ENDPOINTS.GET_LP_MODULE_DATA,\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tqueryParams: ['sysparm_data'],\n\t\tonError(coeffects) {\n\t\t\tconst { updateState, dispatch, action, properties, updateProperties } = coeffects;\n\t\t\tconst {\n\t\t\t\thash,\n\t\t\t\tinstanceInfo,\n\t\t\t\tpathname,\n\t\t\t\treleaseInfo,\n\t\t\t\trouteString,\n\t\t\t\tuserInfo,\n\t\t\t\tisReleaseReplaced,\n\t\t\t\trelease\n\t\t\t} = properties;\n\t\t\tconst userUnauthorizedToViewPage = isUserUnauthorizedToViewPage(\n\t\t\t\tuserInfo,\n\t\t\t\taction.payload\n\t\t\t);\n\t\t\tconst { latestRelease } = releaseInfo;\n\t\t\tconst instanceRelease = instanceInfo && instanceInfo.release;\n\t\t\tconst { message } = action.payload && action.payload.data && action.payload.data.result;\n\t\t\tupdateState({\n\t\t\t\tdataFetchFailed: true\n\t\t\t});\n\n\t\t\tif (userUnauthorizedToViewPage) {\n\t\t\t\tredirectToAuth(location.href);\n\t\t\t} else if (\n\t\t\t\t!userUnauthorizedToViewPage &&\n\t\t\t\tmessage === CONSTANTS.DEFAULTS.NO_CONTENT_FOUND_MESSAGE &&\n\t\t\t\t!isReleaseReplaced &&\n\t\t\t\trelease !== (instanceRelease || latestRelease)\n\t\t\t) {\n\t\t\t\tconst replacedRelease = replacePathParam({\n\t\t\t\t\tparam: ':release',\n\t\t\t\t\trouteString,\n\t\t\t\t\tpathname,\n\t\t\t\t\tparamValue: instanceRelease || latestRelease,\n\t\t\t\t\thash\n\t\t\t\t});\n\t\t\t\tupdateRoute(replacedRelease);\n\t\t\t\tupdateProperties({\n\t\t\t\t\tisReleaseReplaced: true\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tif (action.payload && action.payload.data.result && action.payload.data.result.data && action.payload.data.result.statusCode === \"404\") {\n\t\t\t\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND, { otherReleases: action.payload.data.result.data.other_releases, contentTitle: action.payload.data.result.data.content_title, isContentNotFoundForCurrentRelease: true });\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND, { message: message });\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonSuccess(coeffects) {\n\t\t\tconst { action, updateProperties, dispatch, properties } = coeffects;\n\t\t\tconst { status } = action.payload.result;\n\t\t\tconst { data: learningModule } = action.payload.result;\n\t\t\tlet currentLesson;\n\t\t\tif (!learningModule) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tdataFetchFailed: true\n\t\t\t\t});\n\t\t\t\treturn dispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND);\n\t\t\t}\n\t\t\tconst {\n\t\t\t\tcomponent: {\n\t\t\t\t\tnext: nextModule,\n\t\t\t\t\tcurrent: { lessons, title: currentModuleTitle, permalink: moduleId }\n\t\t\t\t},\n\t\t\t\tlearning_plan: { name: learningPlanName, status: lpStatus, percentage: lpPercentage, lp_qualtrics_survey_on },\n\t\t\t\tavailable_languages: availableLanguages\n\t\t\t} = learningModule;\n\t\t\tconst { learningPlanId, release, releaseInfo } = properties;\n\t\t\tcurrentLesson = lessons.filter(lesson => lesson.is_active)[0];\n\t\t\tif (!currentLesson) {\n\t\t\t\tcurrentLesson = lessons[0];\n\t\t\t}\n\n\t\t\tsetMetaByValues({\n\t\t\t\ttitle: currentLesson.title,\n\t\t\t\tdescription: currentLesson.description\n\t\t\t});\n\t\t\tif (status === 'success') {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tdataFetchFailed: false,\n\t\t\t\t\tlearningModule,\n\t\t\t\t\tnextModule,\n\t\t\t\t\tcurrentModuleTitle,\n\t\t\t\t\tlessons,\n\t\t\t\t\tlearningPlanName,\n\t\t\t\t\tcurrentLesson,\n\t\t\t\t\tprevious: currentLesson.previous,\n\t\t\t\t\tnext: currentLesson.next,\n\t\t\t\t\tisLoading: false,\n\t\t\t\t\tmoduleId,\n\t\t\t\t\tavailableLanguages\n\t\t\t\t});\n\n\t\t\t\t// Check for learning plan completion and trigger Qualtrics survey\n\t\t\t\tif (lpStatus === 'complete' && lpPercentage === 100) {\n\t\t\t\t\tconsole.log('📚 Learning plan completed on module page:', { learningPlanName, learningPlanId, lpStatus, lpPercentage });\n\t\t\t\t\tconsole.log('🔍 Backend survey flag:', { \n\t\t\t\t\t\tlp_qualtrics_survey_on, \n\t\t\t\t\t\ttype: typeof lp_qualtrics_survey_on,\n\t\t\t\t\t\t'=== true': lp_qualtrics_survey_on === true \n\t\t\t\t\t});\n\n\t\t\t\t\t// Check if survey should be triggered\n\t\t\t\t\tif (lp_qualtrics_survey_on === true) {\n\t\t\t\t\t\t// Extract userId for user-specific survey tracking\n\t\t\t\t\t\tconst userId = properties?.userInfo?.user_id;\n\t\t\t\t\t\t\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst shouldTrigger = shouldTriggerSurvey({\n\t\t\t\t\t\t\t\tsurveyFlag: lp_qualtrics_survey_on,\n\t\t\t\t\t\t\t\tlearningId: learningPlanId,\n\t\t\t\t\t\t\t\tlearningType: 'learning_path',\n\t\t\t\t\t\t\t\tuserId\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tif (shouldTrigger) {\n\t\t\t\t\t\t\t\tconsole.log('✅ Triggering learning plan completion survey from module page');\n\n\t\t\t\t\t\t\t\t// Trigger Qualtrics survey\n\t\t\t\t\t\t\t\t// Note: markSurveyShown() will be called in the success handler after backend confirms\n\t\t\t\t\t\t\t\ttriggerLearningSurvey({\n\t\t\t\t\t\t\t\t\tlearningId: learningPlanId,\n\t\t\t\t\t\t\t\t\tlearningType: 'learning_path',\n\t\t\t\t\t\t\t\t\tlearningName: learningPlanName,\n\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\tsaveAction: DPS_LEARNING_COURSES_ACTIONS.SAVE_LEARNING_QUALTRICS_SURVEY_STATUS,\n\t\t\t\t\t\t\t\t\trelease: release,\n\t\t\t\t\t\t\t\t\treleaseSysId: releaseInfo?.sys_id,\n\t\t\t\t\t\t\t\t\tuserId: userId\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tconsole.log('⚠️ Learning plan completion survey not triggered - already shown or conditions not met');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\tconsole.error('❌ Error triggering learning path module survey:', error);\n\t\t\t\t\t\t\t// Don't break the page if survey fails\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconsole.log('ℹ️ Learning plan completion survey disabled by backend flag');\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tconsole.log('ℹ️ Learning plan not yet completed:', { lpStatus, lpPercentage });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n);\n\n// HTTP Effect creator for learning completion Qualtrics survey\nconst saveLearningQualtricsSurveyStatusHttpEffect = makeHttpEffectCreator(\n\tDPS_LEARNING_COURSES_ACTIONS.SAVE_LEARNING_QUALTRICS_SURVEY_STATUS,\n\t'/api/snc/learn/qualtrics/survey-tag',\n\t{\n\t\tbatch: false,\n\t\tmethod: 'POST',\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json',\n\t\t\t'X-UserToken': SessionService.getHeaderUserToken()\n\t\t},\n\t\tdataParam: 'data',\n\t\tonSuccess({ action }) {\n\t\t\t// Use shared success handler\n\t\t\thandleLearningSurveySuccess(action);\n\t\t},\n\t\tonError({ action }) {\n\t\t\tconsole.error('❌ ERROR: Failed to save to backend, but localStorage saved, Backend error:', action.payload);\n\t\t}\n\t}\n);\n\nexport default {\n\t...getLpLessonData,\n\t...saveLearningQualtricsSurveyStatusHttpEffect,\n\t[SCROLL_SPY_ACTIONS.TARGET_ACTIVATED]: ({ action, dispatch }) => {\n\t\tdispatch(DPS_LEARNING_MODULE_ACTIONS.LEARNING_MODULE_STICKY_OFF, action.payload);\n\t},\n\t[SCROLL_SPY_ACTIONS.NO_TARGETS]: ({ action, dispatch }) => {\n\t\tdispatch(DPS_LEARNING_MODULE_ACTIONS.LEARNING_MODULE_STICKY_ON, action.payload);\n\t},\n\t[DPS_LEARNING_MODULE_ACTIONS.LEARNING_MODULE_STICKY_ON]: ({ action, updateProperties }) => {\n\t\tif (!action.payload) {\n\t\t\tupdateProperties({ stickyHeader: 'visible' });\n\t\t}\n\t},\n\t[DPS_LEARNING_MODULE_ACTIONS.LEARNING_MODULE_STICKY_OFF]: ({ action, updateProperties }) => {\n\t\tif (action.payload) {\n\t\t\tupdateProperties({ stickyHeader: '' });\n\t\t}\n\t},\n\t[COMPONENT_BOOTSTRAPPED]: ({ dispatch, properties, updateProperties }) => {\n\t\tconst {\n\t\t\tlearningPlanId,\n\t\t\tlessonId,\n\t\t\trelease,\n\t\t\tsystemProperties,\n\t\t\tuserInfo\n\t\t} = properties;\n\t\tconst activeReleases = systemProperties['dev.active_releases'].split(',') || [];\n\t\tconst inactiveResult = releaseInactive(properties);\n\t\tconst isInternal = isInternalRelease(release, systemProperties);\n\t\tcheckAndRedirectToAuth(isInternal, userInfo);\n\n\t\tif (inactiveResult) {\n\t\t\tupdateProperties({\n\t\t\t\tredirectedFromInactiveRelease: true\n\t\t\t});\n\t\t\treturn updateRoute(inactiveResult);\n\t\t}\n\n\t\tsetMetaByPageType('course');\n\n\t\tif (lessonId.indexOf(release) === -1) {\n\t\t\tactiveReleases.map(activeRelease => {\n\t\t\t\tif (lessonId.indexOf(activeRelease) > -1) {\n\t\t\t\t\tupdateRoute(`/learn/learning-plans/${release}/${learningPlanId}/${lessonId.replace(activeRelease, release)}`);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tconst sysparm_data = formatSysParam(\n\t\t\t\tCONSTANTS.DEV_PORTAL_ACTIONS.GET_LEARNING_MODULE_DATA,\n\t\t\t\t{\n\t\t\t\t\tlp_permalink: learningPlanId,\n\t\t\t\t\tlesson_permalink: lessonId,\n\t\t\t\t\tno_lesson_content: false,\n\t\t\t\t\trelease: release\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tdispatch(APP_ACTIONS.GET_LP_MODULE_DATA, {\n\t\t\t\tsysparm_data\n\t\t\t});\n\t\t}\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: coeffects => {\n\t\tconst { action, properties, dispatch, updateProperties } = coeffects;\n\t\tconst { payload: {\n\t\t\tname,\n\t\t\tvalue,\n\t\t\tpreviousValue\n\t\t} } = action;\n\n\t\tconst {\n\t\t\tlearningPlanId,\n\t\t\tlessonId,\n\t\t\trelease,\n\t\t\tuserInfo,\n\t\t\tsystemProperties\n\t\t} = properties;\n\n\t\tconst userInfoUpdated = hasUserInfoUpdated({ name, value, previousValue });\n\t\tconst isInternal = isInternalRelease(release, systemProperties);\n\n\t\tcheckAndRedirectToAuth(isInternal, userInfo);\n\n\t\tif (name === 'release') {\n\t\t\treturn updateRoute(`/learn/learning-plans/${value}/${learningPlanId}/${lessonId.replace(previousValue, value)}`);\n\t\t}\n\n\t\tif (name === 'lessonId' || userInfoUpdated) {\n\t\t\tupdateProperties({\n\t\t\t\tlearningModule: null,\n\t\t\t\tdataFetchFailed: false,\n\t\t\t\tisLoading: true\n\t\t\t});\n\n\t\t\tconst inactiveResult = releaseInactive(properties);\n\t\t\tconst internalResult = releaseInternal(properties);\n\n\t\t\tif (inactiveResult) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tredirectedFromInactiveRelease: true\n\t\t\t\t});\n\t\t\t\treturn updateRoute(inactiveResult);\n\t\t\t}\n\n\t\t\tif (internalResult && userInfoPopulated(userInfo) && !isEmployee(userInfo)) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tredirectedFromInactiveRelease: true\n\t\t\t\t});\n\t\t\t\treturn updateRoute(internalResult);\n\t\t\t}\n\n\t\t\tconst sysparm_data = formatSysParam(\n\t\t\t\tCONSTANTS.DEV_PORTAL_ACTIONS.GET_LEARNING_MODULE_DATA,\n\t\t\t\t{\n\t\t\t\t\tlp_permalink: learningPlanId,\n\t\t\t\t\tlesson_permalink: name === 'lessonId' ? value : lessonId,\n\t\t\t\t\tno_lesson_content: false,\n\t\t\t\t\trelease: name === 'release' ? value : release\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tdispatch(APP_ACTIONS.GET_LP_MODULE_DATA, {\n\t\t\t\tsysparm_data\n\t\t\t});\n\t\t}\n\t},\n\t[DPS_LEARNING_MODULE_ACTIONS.LEARNING_MODULE_BOOTSTRAPPED]: devPortalGetHttpEffect({\n\t\terrorActionType: DPS_LEARNING_MODULE_ACTIONS.LEARNING_MODULE_FETCH_FAILED,\n\t\tsuccessActionType: DPS_LEARNING_MODULE_ACTIONS.LEARNING_MODULE_FETCH_SUCCEEDED\n\t}),\n\t[DPS_LEARNING_MODULE_ACTIONS.LEARNING_MODULE_FETCH_SUCCEEDED]: coeffects => {\n\t\tconst { action, updateProperties, dispatch } = coeffects;\n\t\tconst { status } = action.payload.result;\n\t\tconst { data: learningModule } = action.payload.result;\n\n\t\tif (!learningModule) {\n\t\t\tupdateProperties({\n\t\t\t\tdataFetchFailed: true\n\t\t\t});\n\t\t\treturn dispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND);\n\t\t}\n\n\t\tconst {\n\t\t\tcomponent: {\n\t\t\t\tnext: nextModule,\n\t\t\t\tcurrent: { lessons, title: currentModuleTitle }\n\t\t\t},\n\t\t\tlearning_plan: { name: learningPlanName }\n\t\t} = learningModule;\n\n\t\tlet currentLesson = lessons.filter(lesson => lesson.is_active)[0];\n\t\tif (!currentLesson) {\n\t\t\tcurrentLesson = lessons[0];\n\t\t}\n\n\t\tsetMetaByValues({\n\t\t\ttitle: currentLesson.title,\n\t\t\tdescription: currentLesson.description\n\t\t});\n\n\t\tif (status === 'success') {\n\t\t\tupdateProperties({\n\t\t\t\tdataFetchFailed: false,\n\t\t\t\tlearningModule,\n\t\t\t\tnextModule,\n\t\t\t\tcurrentModuleTitle,\n\t\t\t\tlessons,\n\t\t\t\tlearningPlanName,\n\t\t\t\tcurrentLesson,\n\t\t\t\tprevious: currentLesson.previous,\n\t\t\t\tnext: currentLesson.next,\n\t\t\t\tisLoading: false\n\t\t\t});\n\t\t} else {\n\t\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND);\n\t\t}\n\t},\n\t[DPS_LEARNING_MODULE_ACTIONS.LEARNING_MODULE_FETCH_FAILED]: ({ updateProperties, dispatch, action }) => {\n\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND);\n\t\tupdateProperties({\n\t\t\tdataFetchFailed: true\n\t\t});\n\t},\n\t[DPS_PREV_NEXT_DOC_ACTIONS.PREV_CLICKED]: ({ action }) => {\n\t\tconst { prevLink } = action.payload;\n\n\t\tupdateRoute(prevLink);\n\t},\n\t[DPS_PREV_NEXT_DOC_ACTIONS.NEXT_CLICKED]: ({ action }) => {\n\t\tconst { nextLink } = action.payload;\n\n\t\tupdateRoute(nextLink);\n\t}\n};\n","const properties = {\n\tavailableLanguages: {\n\t\tdefault: []\n\t},\n\tcurrentLesson: {\n\t\tdefault: {}\n\t},\n\tcurrentModuleTitle: {\n\t\tdefault: ''\n\t},\n\tdataFetchFailed: {\n\t\tdefault: false\n\t},\n\tinstanceInfo: {\n\t\tdefault: {}\n\t},\n\tisLoading: {\n\t\tdefault: true\n\t},\n\tlearningModule: {\n\t\tdefault: {}\n\t},\n\tlearningPlanId: {\n\t\tdefault: ''\n\t},\n\tlessonId: {\n\t\tdefault: ''\n\t},\n\tlessons: {\n\t\tdefault: []\n\t},\n\tlearningPlanName: {\n\t\tdefault: ''\n\t},\n\tmoduleId: {\n\t\tdefault: ''\n\t},\n\tnext: {\n\t\tdefault: {}\n\t},\n\tnextModule: {\n\t\tdefault: {}\n\t},\n\tpathname: {\n\t\tdefault: ''\n\t},\n\tprevious: {\n\t\tdefault: {}\n\t},\n\trelease: {\n\t\tdefault: '',\n\t\trequired: true,\n\t\tschema: {\n\t\t\ttype: 'string'\n\t\t}\n\t},\n\treleaseInfo: {\n\t\tdefault: {}\n\t},\n\trouteString: {\n\t\tdefault: ''\n\t},\n\tstickyHeader: {},\n\tsystemProperties: {\n\t\tdefault: {}\n\t},\n\tuserInfo: {\n\t\tdefault: {}\n\t},\n\tisReleaseReplaced: {\n\t\tdefault: false\n\t}\n};\n\nexport default properties;\n","import '../dps-link';\nimport { MODULE_TRANSLATION } from '../../constants';\nimport { isTruthy } from '../../utils/helpers';\n\nconst getTranslatedModulePageUrl = (\n\tmoduleId,\n\tcategory,\n\tlanguageCode,\n\trelease\n) =>\n\t`/translate_module.do?identifier=${moduleId}&category=${category}&language=${languageCode}&release=${release}`;\n\nconst view = state => {\n\tconst {\n\t\tavailableLanguages,\n\t\tcategory,\n\t\tmoduleId,\n\t\tsystemProperties,\n\t\trelease\n\t} = state.properties;\n\n\t// If system property flag not set for the bar, just immediately return null\n\tconst translationBarEnabledStr =\n\t\tsystemProperties['dev.enable.module_translation_bar'];\n\tif (\n\t\t!translationBarEnabledStr ||\n\t\t!isTruthy(translationBarEnabledStr) ||\n\t\t!availableLanguages ||\n\t\t!availableLanguages.length\n\t) {\n\t\treturn null;\n\t}\n\n\t// Make sure all languages given are valid, are in the right order, and appear in our lookup table\n\tconst validAvailableLanguages = MODULE_TRANSLATION.VALID_LANG_CODES.filter(\n\t\tlanguageCode =>\n\t\t\tavailableLanguages.includes(languageCode) &&\n\t\t\tMODULE_TRANSLATION.LANG_DISPLAY_NAME_BY_CODE[languageCode]\n\t);\n\n\treturn validAvailableLanguages && validAvailableLanguages.length ? (\n\t\t<div className=\"module-translation-bar\">\n\t\t\t<div className=\"module-translation-bar-content\">\n\t\t\t\t<span className=\"module-translation-bar-text\">{'View in: '}</span>\n\t\t\t\t{validAvailableLanguages.map(languageCode => (\n\t\t\t\t\t<dps-link\n\t\t\t\t\t\tclassName=\"module-translation-bar-link\"\n\t\t\t\t\t\thref={getTranslatedModulePageUrl(\n\t\t\t\t\t\t\tmoduleId,\n\t\t\t\t\t\t\tcategory,\n\t\t\t\t\t\t\tlanguageCode,\n\t\t\t\t\t\t\trelease\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tbutton-style\n\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\trel=\"noopener\"\n\t\t\t\t\t\tbare\n\t\t\t\t\t\texternalAction={true}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"module-translation-bar-link-text\">\n\t\t\t\t\t\t\t{MODULE_TRANSLATION.LANG_DISPLAY_NAME_BY_CODE[languageCode]}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</dps-link>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t</div>\n\t) : null;\n};\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport view from './view';\nimport styles from './dps-module-translation-bar.scss';\n\nexport default createCustomElement('dps-module-translation-bar', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\tavailableLanguages: {\n\t\t\tdefault: [],\n\t\t\trequired: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'array'\n\t\t\t}\n\t\t},\n\t\tcategory: {\n            default: \"\",\n\t\t\trequired: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n        },\n        moduleId: {\n            default: \"\",\n\t\t\trequired: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n        },\n\t\tsystemProperties: {\n\t\t\tdefault: {},\n\t\t\trequired: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\trelease: {\n\t\t\tdefault: '',\n\t\t\trequired: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t}\n\t},\n\tstyles\n});\n","import '@servicenow/now-icon';\nimport '@servicenow/now-button';\nimport '../../components/dps-template-two-column';\nimport '../../components/dps-link';\nimport '../../components/dps-feedback';\nimport '../../components/dps-prev-next-doc';\nimport '../../components/dps-breadcrumb';\nimport '../../components/dps-error-page';\nimport '../../components/dps-spinner';\nimport '../../components/dps-inline-version-selector';\nimport '../../components/dps-module-translation-bar';\nimport '../dps-version-switcher';\nimport { CONSTANTS } from '../../constants';\nimport BookIcon from '../../images/icons/book.svg';\nimport CodeIcon from '../../images/icons/code-2.svg';\nimport CodeCompleteIcon from '../../images/icons/code-complete.svg';\nimport DocumentCompleteIcon from '../../images/icons/document-complete.svg';\nimport DocumentIcon from '../../images/icons/document.svg';\nimport hljs from '../../utils/hljs-pack';\nimport {\n\tprocessBlockQuoteTags,\n\tgetPrintablePageUrl,\n\tgetFeedbackDisplayConfigurations\n} from '../../utils/helpers';\nimport { getFormattedInstanceReleaseInfo } from '../../utils/releaseHelpers';\nimport { printer } from '../../icons';\nimport backgroundImg from '../../images/reference-overview-background.png';\n\nconst view = ({ properties }) => {\n\tconst {\n\t\tavailableLanguages,\n\t\tcurrentModuleTitle,\n\t\tcurrentLesson,\n\t\tprevious,\n\t\tinstanceInfo,\n\t\tisLoading,\n\t\tlessons,\n\t\tlearningPlanId,\n\t\tlearningPlanName,\n\t\tmoduleId,\n\t\tnext,\n\t\tnextModule,\n\t\trelease,\n\t\tpathname,\n\t\treleaseInfo,\n\t\tstickyHeader,\n\t\tsystemProperties,\n\t\tuserInfo,\n\t\tlessonId\n\t} = properties;\n\n\tconst { is_logged_in } = userInfo;\n\tconst instanceRelease = getFormattedInstanceReleaseInfo(instanceInfo);\n\n\tconst displayConfigurations = getFeedbackDisplayConfigurations(\n\t\tsystemProperties['dev.feedback.display_configurations']\n\t);\n\n\tconst showFeedbackSection =\n\t\t(displayConfigurations && displayConfigurations.showLearnFeedback) || false;\n\n\t// Current Lesson\n\tconst LESSON_LABEL = 'Article'; // Constant to identify lessons\n\n\t// Constant used to identify module type in the module translation bar\n\tconst MODULE_CATEGORY = 'learning-module';\n\n\tlet currentLessonText =\n\t\t(currentLesson.text && processBlockQuoteTags(currentLesson.text)) || '';\n\n\t// replace tabs with 2 spaces\n\tcurrentLessonText =\n\t\tcurrentLessonText && currentLessonText.replaceAll('\\t', '&nbsp;&nbsp;');\n\tconst highlightCode = elm =>\n\t\telm.querySelectorAll('pre code').forEach(block => {\n\t\t\thljs.highlightBlock(block);\n\t\t});\n\n\t// TODO - content coming in from server (currentLessonDescription) has self-closing \"pre\" tag\n\t// which cannot be rendered correctly. Need to edit content on server side!\n\n\treturn (\n\t\t<div className=\"dps-learn-module\">\n\t\t\t{learningPlanName && currentModuleTitle ? (\n\t\t\t\t<dps-breadcrumb\n\t\t\t\t\titems={[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdisplayName: 'Learning Plans',\n\t\t\t\t\t\t\tredirectURL: `/learn/learning-plans/${release}`\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdisplayName: learningPlanName,\n\t\t\t\t\t\t\tredirectURL: `/learn/learning-plans/${release}/${learningPlanId}`\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdisplayName: currentModuleTitle,\n\t\t\t\t\t\t\tredirectURL: ''\n\t\t\t\t\t\t}\n\t\t\t\t\t]}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t<div className=\"dps-learn-module-banner -main\" id=\"sticky\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"dps-learn-module-banner__background\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tbackgroundImage: `url(${backgroundImg})`,\n\t\t\t\t\t\tbackgroundPosition: 'center center',\n\t\t\t\t\t\tbackgroundSize: 'cover',\n\t\t\t\t\t\tbackgroundRepeat: 'no-repeat'\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-learn-module-banner-container\">\n\t\t\t\t\t{currentLesson.other_releases &&\n\t\t\t\t\tcurrentLesson.other_releases.length ? (\n\t\t\t\t\t\t<dps-inline-version-selector\n\t\t\t\t\t\t\tinstance-release={instanceRelease}\n\t\t\t\t\t\t\tselected={release}\n\t\t\t\t\t\t\treleases={currentLesson.other_releases}\n\t\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\t\tsourcePathname={pathname}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t\t<h6>\n\t\t\t\t\t\t{learningPlanName}\n\t\t\t\t\t</h6>\n\t\t\t\t\t<h1>{currentModuleTitle}</h1>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{!isLoading ? (\n\t\t\t\t<dps-module-translation-bar\n\t\t\t\t\tavailableLanguages={availableLanguages}\n\t\t\t\t\tcategory={MODULE_CATEGORY}\n\t\t\t\t\tmoduleId={moduleId}\n\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\trelease={release}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t<dps-template-two-column\n\t\t\t\tclassName=\"dps-learn-module-body\"\n\t\t\t\topen={true}\n\t\t\t\tgray\n\t\t\t>\n\t\t\t\t<div slot=\"sidebar\" className=\"dps-learn-module-panel -nav\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'dps-learn-module-content': true,\n\t\t\t\t\t\t\t'-sticky': true,\n\t\t\t\t\t\t\t'is-visible': stickyHeader === 'visible'\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"dps-learn-module-banner -sticky\">\n\t\t\t\t\t\t\t<div className=\"dps-learn-module-banner-container\">\n\t\t\t\t\t\t\t\t<h6>\n\t\t\t\t\t\t\t\t\t<img src={BookIcon} />\n\t\t\t\t\t\t\t\t\t{learningPlanName}\n\t\t\t\t\t\t\t\t</h6>\n\t\t\t\t\t\t\t\t<h1>{currentModuleTitle}</h1>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"dps-learn-module-content\">\n\t\t\t\t\t\t<ul className=\"dps-learn-module-steps\">\n\t\t\t\t\t\t\t{lessons.map(lesson => {\n\t\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\t\tstatus,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\tis_active: isActive,\n\t\t\t\t\t\t\t\t\tcontent_type: contentType,\n\t\t\t\t\t\t\t\t\tpermalink\n\t\t\t\t\t\t\t\t} = lesson;\n\t\t\t\t\t\t\t\tconst isComplete = status === 'complete';\n\n\t\t\t\t\t\t\t\tconst codeIcon = isComplete ? (\n\t\t\t\t\t\t\t\t\t<img src={CodeCompleteIcon} />\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<img src={CodeIcon} />\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tconst docIcon = isComplete ? (\n\t\t\t\t\t\t\t\t\t<img src={DocumentCompleteIcon} />\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<img src={DocumentIcon} />\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\tconst icon = (contentType === 'concept' && docIcon) || codeIcon;\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\t'dps-learn-module-step': true,\n\t\t\t\t\t\t\t\t\t\t\t'-viewed': isComplete,\n\t\t\t\t\t\t\t\t\t\t\t'-current': isActive\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div className=\"dps-learn-module-step-icon\">{icon}</div>\n\t\t\t\t\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\t\t\t\tinherit\n\t\t\t\t\t\t\t\t\t\t\tbutton-style\n\t\t\t\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\t\t\t\thref={`#!/learn/learning-plans/${release}/${learningPlanId}/${permalink}`}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t{nextModule ? (\n\t\t\t\t\t\t\t<dps-prev-next-doc\n\t\t\t\t\t\t\t\tprev={null}\n\t\t\t\t\t\t\t\tnext={{ label: 'Next Module', description: nextModule.title }}\n\t\t\t\t\t\t\t\ttruncated\n\t\t\t\t\t\t\t\tappend-to-payload={{ nextLink: nextModule.link }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t{isLoading ? (\n\t\t\t\t\t<dps-spinner />\n\t\t\t\t) : (\n\t\t\t\t\t<div className=\"dps-learn-module-panel\">\n\t\t\t\t\t\t<dps-version-switcher\n\t\t\t\t\t\t\tuserInfo={userInfo}\n\t\t\t\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\t\t\t\trouteParamsRelease={release}\n\t\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\t></dps-version-switcher>\n\t\t\t\t\t\t<div className=\"dps-learn-module-content-header\">\n\t\t\t\t\t\t\t<div className=\"dps-learn-module-header-wrapper\">\n\t\t\t\t\t\t\t\t<h6>\n\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\tsrc={\n\t\t\t\t\t\t\t\t\t\t\tcurrentLesson.content_type === 'concept'\n\t\t\t\t\t\t\t\t\t\t\t\t? DocumentIcon\n\t\t\t\t\t\t\t\t\t\t\t\t: CodeIcon\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t\t{currentLesson.content_type === 'concept'\n\t\t\t\t\t\t\t\t\t\t\t? LESSON_LABEL\n\t\t\t\t\t\t\t\t\t\t\t: 'Exercise'}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</h6>\n\t\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\tlabel=\"Print article\"\n\t\t\t\t\t\t\t\t\ticon=\"printer-outline\"\n\t\t\t\t\t\t\t\t\tappendIcon=\"true\"\n\t\t\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\t\t\tconst url = getPrintablePageUrl(\n\t\t\t\t\t\t\t\t\t\t\trelease,\n\t\t\t\t\t\t\t\t\t\t\tCONSTANTS.DEFAULTS.LP_MODULE_CATEGORY,\n\t\t\t\t\t\t\t\t\t\t\tlessonId + ',' + learningPlanId,\n\t\t\t\t\t\t\t\t\t\t\tCONSTANTS.DEFAULTS.LP_MODULE\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\twindow.open(url, '_blank', 'noopener');\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<h2>{currentLesson.title}</h2>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"dps-learn-module-content\"\n\t\t\t\t\t\t\tinnerHTML={currentLessonText}\n\t\t\t\t\t\t\thook-insert={({ elm }) => highlightCode(elm)}\n\t\t\t\t\t\t\thook-update={({ elm }) => highlightCode(elm)}\n\t\t\t\t\t\t></div>\n\t\t\t\t\t\t<div className=\"dps-learn-module-content-footer\">\n\t\t\t\t\t\t\t<dps-prev-next-doc\n\t\t\t\t\t\t\t\tprev={\n\t\t\t\t\t\t\t\t\tprevious && Object.keys(previous).length\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: `Previous ${previous.type ? previous.type : ''}`,\n\t\t\t\t\t\t\t\t\t\t\t\tdescription: previous.title\n\t\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tnext={\n\t\t\t\t\t\t\t\t\tnext && Object.keys(next).length\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: `Next ${next.type ? next.type : ''}`,\n\t\t\t\t\t\t\t\t\t\t\t\tdescription: next.title\n\t\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\t\tprevLink: previous\n\t\t\t\t\t\t\t\t\t\t? `/learn/learning-plans/${release}/${learningPlanId}/${previous.lesson_permalink}`\n\t\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t\t\tnextLink: next\n\t\t\t\t\t\t\t\t\t\t? `/learn/learning-plans/${release}/${learningPlanId}/${next.lesson_permalink}`\n\t\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{showFeedbackSection ? (\n\t\t\t\t\t\t\t\tcurrentLesson && is_logged_in ? (\n\t\t\t\t\t\t\t\t\t<dps-feedback\n\t\t\t\t\t\t\t\t\t\ttitle={currentLesson.title}\n\t\t\t\t\t\t\t\t\t\tcontentType={\n\t\t\t\t\t\t\t\t\t\t\tcurrentLesson.content_type === 'concept'\n\t\t\t\t\t\t\t\t\t\t\t\t? CONSTANTS.DEFAULTS.FEEDBACK_CONTENT_TYPE_ARTICLE\n\t\t\t\t\t\t\t\t\t\t\t\t: CONSTANTS.DEFAULTS.FEEDBACK_CONTENT_TYPE_EXERCISE\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<dps-feedback\n\t\t\t\t\t\t\t\t\t\ttitle={currentLesson.title}\n\t\t\t\t\t\t\t\t\t\tmessage={\n\t\t\t\t\t\t\t\t\t\t\tsystemProperties &&\n\t\t\t\t\t\t\t\t\t\t\tsystemProperties['dev.provide_feedback_text_guest_user']\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tcontentType={\n\t\t\t\t\t\t\t\t\t\t\tcurrentLesson.content_type === 'concept'\n\t\t\t\t\t\t\t\t\t\t\t\t? CONSTANTS.DEFAULTS.FEEDBACK_CONTENT_TYPE_ARTICLE\n\t\t\t\t\t\t\t\t\t\t\t\t: CONSTANTS.DEFAULTS.FEEDBACK_CONTENT_TYPE_EXERCISE\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tlabel={CONSTANTS.DEFAULTS.FEEDBACK_SIGN_IN_BUTTON}\n\t\t\t\t\t\t\t\t\t\tisLoginRequired={!is_logged_in}\n\t\t\t\t\t\t\t\t\t></dps-feedback>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</dps-template-two-column>\n\t\t</div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport scrollSpyBehavior from '../../behaviors/scrollSpy';\nimport styles from './dps-learning-module.scss';\nimport actionHandlers from './actionHandlers';\nimport properties from './properties';\nimport view from './view';\n\nexport default createCustomElement('dps-learning-module', {\n\tactionHandlers,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: scrollSpyBehavior,\n\t\t\toptions: {\n\t\t\t\ttargetSelector: '.dps-learn-module-banner.-main',\n\t\t\t\trootMargin: '88px 0px 0px 0px',\n\t\t\t\tthreshold: 1\n\t\t\t}\n\t\t}\n\t],\n\tproperties,\n\trenderer: { type: snabbdom },\n\tstyles,\n\tview\n});\n","import { DPS_INSTANCE_ASSIGNMENT_MODAL } from '../dps-instance-assignment-modal/actions';\nimport { getLaunchUrl } from '../../utils/instanceHelpers';\n\nexport const handleBuildAgentOpen = ({ properties, updateState, dispatch }) => {\n\tconst { instanceInfo, isAutoAssignRunInBackground, isBuildAgentExperience, autoAssignAlertType, systemProperties } = properties;\n\tconst instanceExists = !!instanceInfo?.sys_id;\n\n\tif (isAutoAssignRunInBackground) {\n\t\tconst reopenActionType = autoAssignAlertType === 'wakeup'\n\t\t\t? DPS_INSTANCE_ASSIGNMENT_MODAL.OPEN_BA_WAKEUP_MODAL\n\t\t\t: DPS_INSTANCE_ASSIGNMENT_MODAL.OPEN_BA_AUTO_ASSIGN_MODAL;\n\t\tdispatch(reopenActionType, { showTips: true, isBuildAgentExperience });\n\t\treturn;\n\t}\n\n\tif (instanceExists && instanceInfo?.isOnline?.() &&\n\t\tinstanceInfo?.installedApps?.BAF?.toLowerCase() === 'installed') {\n\t\tconst launchUrl = getLaunchUrl(systemProperties, instanceInfo);\n\t\tdispatch('DPS_NAVIGATION_INSTANCE_MANAGEMENT#MAGIC_LINK_CLICKED', {\n\t\t\tattachParams: `&sysparm_goto_url=${encodeURIComponent(launchUrl)}`\n\t\t});\n\t\treturn;\n\t}\n\n\tif (instanceExists && instanceInfo?.isWakingInstance?.()) {\n\t\tupdateState({ buildAgentModalOpened: true, buildAgentModalMode: 'wakeup' });\n\t\treturn;\n\t}\n\n\tif (instanceExists && instanceInfo?.isOnline?.()) {\n\t\tupdateState({ buildAgentModalOpened: true, buildAgentModalMode: 'upgrade' });\n\t\treturn;\n\t}\n\n\tif (!instanceExists) {\n\t\tupdateState({ buildAgentModalOpened: true, buildAgentModalMode: 'confirmRequest' });\n\t}\n};\n\nexport default {};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-modal';\nimport '@servicenow/now-button';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-loader';\nimport '../dps-pdi-summary/views/dps-upgrade-instance';\nimport styles from './dps-build-agent-modal.scss';\nimport actionHandlers from './actionHandlers';\nimport renderSVG from '../../utils/render-svg';\n\nconst infoCircleSvg = renderSVG({\n\tclassName: 'build-agent-modal__svg-icon',\n\twidth: 40,\n\theight: 40,\n\tinnerSVG:\n\t\t'<path d=\"M18.75 13.125C18.75 13.4702 19.0298 13.75 19.375 13.75H20.625C20.9702 13.75 21.25 13.4702 21.25 13.125V11.875C21.25 11.5298 20.9702 11.25 20.625 11.25H19.375C19.0298 11.25 18.75 11.5298 18.75 11.875V13.125Z\" fill=\"#0079CC\"/><path d=\"M19.375 30C19.0298 30 18.75 29.7202 18.75 29.375V16.875C18.75 16.5298 19.0298 16.25 19.375 16.25H20.625C20.9702 16.25 21.25 16.5298 21.25 16.875V29.375C21.25 29.7202 20.9702 30 20.625 30H19.375Z\" fill=\"#0079CC\"/><path d=\"M2.5 20C2.5 10.335 10.335 2.5 20 2.5C29.665 2.5 37.5 10.335 37.5 20C37.5 29.665 29.665 37.5 20 37.5C10.335 37.5 2.5 29.665 2.5 20ZM20 5C11.7157 5 5 11.7157 5 20C5 28.2843 11.7157 35 20 35C28.2843 35 35 28.2843 35 20C35 11.7157 28.2843 5 20 5Z\" fill=\"#0079CC\"/>'\n});\n\nconst MODE_MODAL_CONFIG = {\n\tupgrade: {\n\t\tmodalSize: 'sm',\n\t\theaderLabel: '',\n\t\tfooterActions: [],\n\t\tdisableClose: true,\n\t\tshowUpgradeInstance: true\n\t},\n\twakeup: {\n\t\tmodalSize: 'sm',\n\t\theaderLabel: '',\n\t\tfooterActions: [],\n\t\tdisableClose: true,\n\t\tshowUpgradeInstance: false\n\t},\n\tconfirmRequest: {\n\t\tmodalSize: 'sm',\n\t\theaderLabel: '',\n\t\tfooterActions: [],\n\t\tdisableClose: true,\n\t\tshowUpgradeInstance: false\n\t},\n};\n\nconst renderUpgradeBody = (dispatch) => (\n\t<div className=\"build-agent-modal__body\">\n\t\t<div className=\"build-agent-modal__icon\">\n\t\t\t<now-icon icon=\"circle-semi-check-outline\" size=\"lg\" />\n\t\t</div>\n\t\t<h2 className=\"build-agent-modal__title\">\n\t\t\tYou'll need to upgrade to a Build Agent compatible instance\n\t\t</h2>\n\t\t<p className=\"build-agent-modal__subtitle\">\n\t\t\tYou'll need to manually request an instance later\n\t\t</p>\n\t\t<div className=\"build-agent-modal__actions\">\n\t\t\t<now-button\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tsize=\"md\"\n\t\t\t\tlabel=\"Cancel\"\n\t\t\t\ttooltip-content=\"\"\n\t\t\t\ton-click={() => dispatch('BUILD_AGENT_MODAL#CLOSE')}\n\t\t\t/>\n\t\t\t<now-button\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tsize=\"md\"\n\t\t\t\tlabel=\"Upgrade instance\"\n\t\t\t\ttooltip-content=\"\"\n\t\t\t\ton-click={() => dispatch('BUILD_AGENT_MODAL#UPGRADE')}\n\t\t\t/>\n\t\t</div>\n\t</div>\n);\n\nconst renderConfirmRequestBody = (dispatch) => (\n\t<div className=\"build-agent-modal__body\">\n\t\t<div className=\"build-agent-modal__icon\">\n\t\t\t{infoCircleSvg}\n\t\t</div>\n\t\t<h2 className=\"build-agent-modal__title\">\n\t\t\tYou'll need an instance to try Build Agent\n\t\t</h2>\n\t\t<div className=\"build-agent-modal__actions\">\n\t\t\t<now-button\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tsize=\"md\"\n\t\t\t\tlabel=\"Cancel\"\n\t\t\t\ttooltip-content=\"\"\n\t\t\t\ton-click={() => dispatch('BUILD_AGENT_MODAL#CLOSE')}\n\t\t\t/>\n\t\t\t<now-button\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tsize=\"md\"\n\t\t\t\tlabel=\"Request instance\"\n\t\t\t\ttooltip-content=\"\"\n\t\t\t\ton-click={() => dispatch('BUILD_AGENT_MODAL#REQUEST_INSTANCE')}\n\t\t\t/>\n\t\t</div>\n\t</div>\n);\n\nconst renderWakeupBody = (dispatch) => (\n\t<div className=\"build-agent-modal__body\">\n\t\t<div className=\"build-agent-modal__loader\">\n\t\t\t<now-loader size=\"lg\" label=\"\" />\n\t\t</div>\n\t\t<h2 className=\"build-agent-modal__title\">\n\t\t\tYour instance is waking-up\n\t\t</h2>\n\t\t<p className=\"build-agent-modal__subtitle\">\n\t\t\tYou can try Build Agent after the instance is ready.\n\t\t</p>\n\t\t<div className=\"build-agent-modal__actions\">\n\t\t\t<now-button\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tsize=\"md\"\n\t\t\t\tlabel=\"Close\"\n\t\t\t\ttooltip-content=\"\"\n\t\t\t\ton-click={() => dispatch('BUILD_AGENT_MODAL#CLOSE')}\n\t\t\t/>\n\t\t</div>\n\t</div>\n);\n\nconst MODE_BODY_RENDERERS = {\n\tupgrade: renderUpgradeBody,\n\twakeup: renderWakeupBody,\n\tconfirmRequest: renderConfirmRequestBody\n};\n\nconst view = (state, { dispatch }) => {\n\tconst {\n\t\topened,\n\t\tmode,\n\t\topenedApp,\n\t\tinstanceInfo,\n\t\treleaseInfo,\n\t\tcatItemInProgress,\n\t\tinstanceMenuItems,\n\t\tupgradeableInstanceTargets,\n\t\tsystemProperties,\n\t\tupgradeInstanceRelease\n\t} = state.properties;\n\n\tconst config = MODE_MODAL_CONFIG[mode];\n\tconst renderBody = MODE_BODY_RENDERERS[mode];\n\n\tif (!config || !renderBody) {\n\t\treturn null;\n\t}\n\n\tconst body = renderBody(dispatch);\n\n\treturn (\n\t\t<div className=\"build-agent-modal\">\n\t\t\t<now-modal\n\t\t\t\tcomponent-name=\"BUILD_AGENT_MODAL\"\n\t\t\t\topened={opened}\n\t\t\t\tmanage-opened\n\t\t\t\tsize={config.modalSize}\n\t\t\t\theader-label={config.headerLabel}\n\t\t\t\tfooter-actions={config.footerActions}\n\t\t\t\tdisableClose={config.disableClose || false}\n\t\t\t>\n\t\t\t\t{body}\n\t\t\t</now-modal>\n\t\t\t{config.showUpgradeInstance && (\n\t\t\t\t<dps-upgrade-instance\n\t\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\t\tcatItemInProgress={catItemInProgress}\n\t\t\t\t\topenedApp={openedApp}\n\t\t\t\t\tinstanceMenuItems={instanceMenuItems}\n\t\t\t\t\tupgradeableInstanceTargets={upgradeableInstanceTargets}\n\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\tupgradeInstanceRelease={upgradeInstanceRelease}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-build-agent-modal', {\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles,\n\tactionHandlers,\n\tproperties: {\n\t\topened: {\n\t\t\tdefault: false,\n\t\t\treflect: true\n\t\t},\n\t\tmode: {\n\t\t\tdefault: null\n\t\t},\n\t\topenedApp: {\n\t\t\tdefault: null\n\t\t},\n\t\tinstanceInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\treleaseInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tsystemProperties: {\n\t\t\tdefault: {}\n\t\t},\n\t\tupgradeableInstanceTargets: {\n\t\t\tdefault: []\n\t\t},\n\t\tinstanceMenuItems: {\n\t\t\tdefault: []\n\t\t},\n\t\tcatItemInProgress: {\n\t\t\tdefault: null\n\t\t},\n\t\tupgradeInstanceRelease: {\n\t\t\tdefault: null\n\t\t}\n\t}\n});\n","export const BUILD_AGENT_MODAL = {\n\tOPEN: 'BUILD_AGENT_MODAL#OPEN',\n\tCLOSE: 'BUILD_AGENT_MODAL#CLOSE',\n\tUPGRADE: 'BUILD_AGENT_MODAL#UPGRADE'\n};\n","import { actionTypes, createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-learning-overview.scss';\nimport '../../components/dps-link';\nimport '@servicenow/now-button';\nimport '../../components/dps-page-header';\nimport '../../components/dps-learning-plans';\nimport '../../components/dps-header-carousel';\nimport '@servicenow/now-icon';\nimport '../dps-build-agent-modal';\nimport { FOOTER_ACTIONS } from '../../constants';\nimport { updateRoute } from '../../routes';\nimport { handleBuildAgentOpen } from '../dps-build-agent-modal/actionHandlers';\nimport { APP_ACTIONS } from '../dps-app/actions';\nimport url from '../../images/icons/url.svg';\nimport headerImage from '../../images/HeaderImage.png';\nimport backgroundImg from '../../images/reference-overview-background.png';\nimport Courses from '../../images/laptopImg.png';\nimport NowLearning from '../../images/RocketshipImage.svg';\nimport { course, nowLearning2, greenCircleCheck } from '../../icons';\nimport { setMetaByPageType } from '../../utils/meta';\nimport Colors from '../../styles/global/colors';\nimport { createAnchor } from '../../utils/url';\nimport reactToHash from '../../behaviors/reactToHash';\n\nconst { COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nconst view = (state, { dispatch, updateProperties }) => {\n\tconst { release, systemProperties, userInfo, openedApp, instanceInfo, releaseInfo, upgradeableInstanceTargets, instanceMenuItems, catItemInProgress } = state.properties;\n\tconst { buildAgentModalOpened, buildAgentModalMode } = state;\n\tconst {is_logged_in} = userInfo;\n\n\treturn (\n\t\t<div className=\"dps-overview -learning\">\n\t\t\t<section className=\"dps-learning-header\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"dps-learning-header__background\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tbackgroundImage: `url(${backgroundImg})`,\n\t\t\t\t\t\tbackgroundPosition: 'center center',\n\t\t\t\t\t\tbackgroundSize: 'cover',\n\t\t\t\t\t\tbackgroundRepeat: 'no-repeat'\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc={headerImage}\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tclassName=\"dps-learning-header__image\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-learning-header__content\">\n\t\t\t\t\t<h1 className=\"dps-learning-header__title\">\n\t\t\t\t\t\tLearn. Build. Solve.\n\t\t\t\t\t</h1>\n\t\t\t\t\t<p className=\"dps-learning-header__subtitle\">\n\t\t\t\t\t\tDiscover new ways to innovate with the Now\n\t\t\t\t\t\tPlatform<sup>®</sup>.\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t</section>\n\t\t\t<section className=\"dps-overview-section -overview -centered\">\n\t\t\t\t<div className=\"dps-overview-section-content\">\n\t\t\t\t\t<h2 className=\"dps-overview-section-header\">\n\t\t\t\t\t\t<span>Grow your skills</span>\n\t\t\t\t\t</h2>\n\t\t\t\t\t<p>Our <dps-link href={createAnchor('#learning-plans')}>learning plans</dps-link> and <dps-link href={createAnchor('#courses')}>courses</dps-link> teach you how to build apps that tackle your enterprise’s business needs.</p>\n\t\t\t\t\t<div className=\"build-agent-row\">\n\t\t\t\t\t\t<now-icon icon=\"ai-sparkle-fill\" style={{ color: '#62D84E' }} />\n\t\t\t\t\t\t<span className=\"build-agent-row__text\">Build Agent can build apps while you learn about the platform.</span>\n\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\tclassName=\"build-agent-row__link\"\n\t\t\t\t\t\t\ton-click={(e) => {\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\tif (!is_logged_in) {\n\t\t\t\t\t\t\t\t\tdispatch(APP_ACTIONS.LOGIN_CLICKED);\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (instanceInfo?.state === 'waitlist') {\n\t\t\t\t\t\t\t\t\tdispatch('DPS_INSTANCE_ASSIGNMENT#MENU_ITEM_CLICKED', { screenType: 'waitlisted' });\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tdispatch('BUILD_AGENT_MODAL#OPEN');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tAsk Build Agent\n\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t<img src={url} alt=\"url\" />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</section>\n\t\t\t<dps-learning-plans release={release} id=\"learning-plans\"/>\n\t\t\t<section className=\"dps-overview-section -feature -two-col\">\n\t\t\t\t<div className=\"dps-overview-section-content\" id=\"courses\">\n\t\t\t\t\t<img src={Courses} alt=\"Laptop\" />\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<h2 className=\"dps-overview-section-header\">\n\t\t\t\t\t\t\t<span>Courses</span>\n\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t<p>Interested in learning a specific platform capability or subject for building on the Now Platform? Each course features modules that are designed to grow your technical skills and explore the possibilities of the Now Platform. Choose a course to:</p>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<img src={greenCircleCheck} />\n\t\t\t\t\t\t\t\t<span>Learn specific application skills</span>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<img src={greenCircleCheck} />\n\t\t\t\t\t\t\t\t<span>Practice new skills with hands-on activities</span>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<img src={greenCircleCheck} />\n\t\t\t\t\t\t\t\t<span>Work at your own pace and on your schedule</span>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\tlabel=\"Browse courses\"\n\t\t\t\t\t\t\ttooltip-content={''}\n\t\t\t\t\t\t\ton-click={() => window.location.href = `#!/learn/courses/${release}`}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</section>\n\t\t\t<section className=\"dps-overview-section -feature -two-col -gray\">\n\t\t\t\t<div className=\"dps-overview-section-content\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<h2 className=\"dps-overview-section-header\">\n\t\t\t\t\t\t\t<span>ServiceNow University</span>\n\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t<p>Looking to advance your knowledge even more? Become a certified ServiceNow expert with ServiceNow University. ServiceNow University provides training to grow your career. Training includes:</p>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<img src={greenCircleCheck} />\n\t\t\t\t\t\t\t\t<span>On-demand courses</span>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<img src={greenCircleCheck} />\n\t\t\t\t\t\t\t\t<span>Live classes</span>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<img src={greenCircleCheck} />\n\t\t\t\t\t\t\t\t<span>Certification</span>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<img src={greenCircleCheck} />\n\t\t\t\t\t\t\t\t<span>Simulators</span>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\tlabel=\"Learn more\"\n\t\t\t\t\t\t\ttooltip-content={''}\n\t\t\t\t\t\t\ton-click={() => window.open(systemProperties['dev.learn_certifications_link'], '_blank')}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t<img src={NowLearning} alt=\"person on couch\" />\n\t\t\t\t</div>\n\t\t\t</section>\n\t\t\t{is_logged_in ? null :\n\t\t\t\t<section className=\"dps-overview-section -inverse -two-col -create-account\">\n\t\t\t\t\t<div className=\"dps-overview-section-content -narrow\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<h6 className=\"dps-overview-section-subheader\">Instance Management</h6>\n\t\t\t\t\t\t\t<h2 className=\"dps-overview-section-header\">\n\t\t\t\t\t\t\t\t<span>Expand your skills on a free developer instance</span>\n\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t<p>Take your training to the next level with a developer instance. With an instance, you’ll be able to build and test applications before putting them into production.</p>\n\t\t\t\t\t\t\t<p>Create a free account to start practicing your new skills. Every account comes with a free instance. </p>\n\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\t\tlabel=\"Create free account\"\n\t\t\t\t\t\t\t\ttooltip-content={''}\n\t\t\t\t\t\t\t\ton-click={() => window.location.href = systemProperties['dev.okta.wrapper.register_url']}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</section>\n\t\t\t}\n\t\t\t<dps-build-agent-modal\n\t\t\t\topened={buildAgentModalOpened}\n\t\t\t\tmode={buildAgentModalMode}\n\t\t\t\topenedApp={openedApp}\n\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\tcatItemInProgress={catItemInProgress}\n\t\t\t\tinstanceMenuItems={instanceMenuItems}\n\t\t\t\tupgradeableInstanceTargets={upgradeableInstanceTargets}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tupgradeInstanceRelease={val => {\n\t\t\t\t\tupdateProperties({ openedApp: null });\n\t\t\t\t\tif (val === 'upgraded') {\n\t\t\t\t\t\tupdateRoute('/manage-instance');\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-learning-overview', {\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: reactToHash,\n\t\t\toptions: {\n\t\t\t\tadditionalOffset: -120\n\t\t\t}\n\t\t}\n\t],\n\tproperties: {\n\t\thash: {\n\t\t\tdefault: ''\n\t\t},\n\t\trelease: {\n\t\t\tdefault: '',\n\t\t\trequired: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\tsystemProperties: {\n\t\t\tdefault: {}\n\t\t},\n\t\tuserInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\topenedApp: {\n\t\t\tdefault: null\n\t\t},\n\t\tinstanceInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\treleaseInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tupgradeableInstanceTargets: {\n\t\t\tdefault: []\n\t\t},\n\t\tinstanceMenuItems: {\n\t\t\tdefault: []\n\t\t},\n\t\tcatItemInProgress: {\n\t\t\tdefault: null\n\t\t},\n\t\tisAutoAssignRunInBackground: {\n\t\t\tdefault: false\n\t\t},\n\t\tisBuildAgentExperience: {\n\t\t\tdefault: false\n\t\t},\n\t\tautoAssignAlertType: {\n\t\t\tdefault: 'setup'\n\t\t}\n\t},\n\tinitialState: {\n\t\tbuildAgentModalOpened: false,\n\t\tbuildAgentModalMode: null\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]() {\n\t\t\tsetMetaByPageType('learn');\n\t\t},\n\t\t'BUILD_AGENT_MODAL#OPEN': handleBuildAgentOpen,\n\t\t'BUILD_AGENT_MODAL#CLOSE': ({ updateState }) => {\n\t\t\tupdateState({ buildAgentModalOpened: false, buildAgentModalMode: null });\n\t\t},\n\t\t'BUILD_AGENT_MODAL#REQUEST_INSTANCE': ({ updateState, dispatch }) => {\n\t\t\tupdateState({ buildAgentModalOpened: false, buildAgentModalMode: null });\n\t\t\tdispatch('DPS_INSTANCE_ASSIGNMENT#MENU_ITEM_CLICKED', {\n\t\t\t\tselected: 'request',\n\t\t\t\tisBuildAgentExperience: true\n\t\t\t});\n\t\t},\n\t\t'BUILD_AGENT_MODAL#UPGRADE': ({ updateState, updateProperties }) => {\n\t\t\tupdateState({\n\t\t\t\tbuildAgentModalOpened: false\n\t\t\t});\n\t\t\tupdateProperties({\n\t\t\t\topenedApp: FOOTER_ACTIONS.TWO_FOOTER_ACTIONS\n\t\t\t});\n\t\t},\n\t\t'NOW_MODAL#OPENED_SET': ({ updateState, updateProperties, action }) => {\n\t\t\tif (action.payload?.component === 'BUILD_AGENT_MODAL') {\n\t\t\t\tconst updates = { buildAgentModalOpened: action.payload.value };\n\t\t\t\tif (!action.payload.value) {\n\t\t\t\t\tupdates.buildAgentModalMode = null;\n\t\t\t\t}\n\t\t\t\tupdateState(updates);\n\t\t\t}\n\t\t\tif (action.payload?.component === 'upgrade-instance' && action.payload?.value === false) {\n\t\t\t\tupdateProperties({ openedApp: null });\n\t\t\t}\n\t\t}\n\t},\n});\n","/* eslint-disable no-unused-vars */\nimport '../../components/dps-overview-feedback';\nimport '../../components/dps-card';\nimport '../../components/dps-page-header';\nimport '../../components/dps-inline-version-selector';\nimport '../../components/dps-spinner';\nimport '../../components/dps-badge';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-button';\nimport HeaderImg from '../../images/header-image-learn-listing.svg';\nimport { greenCircleCheck } from '../../icons';\nimport Colors from '../../styles/global/colors';\nimport BookIcon from '../../images/icons/book.svg';\nimport { titleCase } from '../../utils/case';\nimport { getFormattedInstanceReleaseInfo } from '../../utils/releaseHelpers';\nimport { getFeedbackDisplayConfigurations } from '../../utils/helpers';\nimport backgroundImg from '../../images/reference-overview-background.png';\nimport learnPlanImg from '../../images/learn_p.svg';\n\nconst view = state => {\n\tconst {\n\t\trelease,\n\t\tinstanceInfo,\n\t\tsystemProperties,\n\t\tpathname\n\t} = state.properties;\n\tconst {\n\t\tlearning_plan: learningPlans,\n\t\tother_releases: otherReleases\n\t} = state.learningPlansData;\n\n\tconst instanceRelease = getFormattedInstanceReleaseInfo(instanceInfo);\n\tconst displayConfigurations = getFeedbackDisplayConfigurations(\n\t\tsystemProperties['dev.feedback.display_configurations']\n\t);\n\tconst showFeedbackSection =\n\t\t(displayConfigurations && displayConfigurations.showLearnFeedback) || false;\n\n\treturn (\n\t\t<div className=\"dps-overview -learning-list\">\n\t\t\t<section className=\"dps-lp-header\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"dps-lp-header__background\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tbackgroundImage: `url(${backgroundImg})`,\n\t\t\t\t\t\tbackgroundPosition: 'center center',\n\t\t\t\t\t\tbackgroundSize: 'cover',\n\t\t\t\t\t\tbackgroundRepeat: 'no-repeat'\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc={learnPlanImg}\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tclassName=\"dps-lp-header__image\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-lp-header__content\">\n\t\t\t\t\t{otherReleases && otherReleases.length ? (\n\t\t\t\t\t\t<div className=\"dps-lp-header__version-selector\">\n\t\t\t\t\t\t\t<dps-inline-version-selector\n\t\t\t\t\t\t\t\tselected={release}\n\t\t\t\t\t\t\t\treleases={otherReleases}\n\t\t\t\t\t\t\t\tinstanceRelease={instanceRelease}\n\t\t\t\t\t\t\t\tsourcePathname={pathname}\n\t\t\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\t\t\tshowLatestReleaseIcon={true}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : null}\n\t\t\t\t\t<h1 className=\"dps-lp-header__title\">Learning Plans</h1>\n\t\t\t\t\t<p className=\"dps-lp-header__subtitle\">\n\t\t\t\t\t\tRefine your ServiceNow skills with curated learning plans.\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t</section>\n\t\t\t<section className=\"dps-overview-section -overview -centered\">\n\t\t\t\t<div className=\"dps-overview-section-content\">\n\t\t\t\t\t<h2 className=\"dps-overview-section-header\">\n\t\t\t\t\t\t<span>Pick a plan that best fits your skill set</span>\n\t\t\t\t\t</h2>\n\t\t\t\t\t<p>\n\t\t\t\t\t\tOur learning plans combine modules by skill set. Whether you’re new\n\t\t\t\t\t\tto ServiceNow or are looking to extend your existing skills, our\n\t\t\t\t\t\tlearning plans are designed to take you where you want to be.\n\t\t\t\t\t</p>\n\t\t\t\t\t<p>\n\t\t\t\t\t\tPrefer to learn based on topic? Start a{' '}\n\t\t\t\t\t\t<dps-link href={`learn/courses/${release}`}>course</dps-link>,\n\t\t\t\t\t\tinstead.\n\t\t\t\t\t</p>\n\t\t\t\t\t<div className=\"dps-learning-list-container\">\n\t\t\t\t\t\t{learningPlans ? (\n\t\t\t\t\t\t\tlearningPlans.map(plan => (\n\t\t\t\t\t\t\t\t<dps-card\n\t\t\t\t\t\t\t\t\ttitle={plan.name}\n\t\t\t\t\t\t\t\t\tsub-title={`${plan.numberOfLessons} Modules`}\n\t\t\t\t\t\t\t\t\thas-border\n\t\t\t\t\t\t\t\t\tborder-variant=\"primary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{plan.status !== 'not_started' ? (\n\t\t\t\t\t\t\t\t\t\t<dps-badge\n\t\t\t\t\t\t\t\t\t\t\tslot=\"badge\"\n\t\t\t\t\t\t\t\t\t\t\tlabel={titleCase(plan.status)}\n\t\t\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\t\t\tplan.status === 'complete' ? 'secondary' : 'acapulco'\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t<p innerHTML={plan.short_description}></p>\n\t\t\t\t\t\t\t\t\t<p className=\"dps-lp-list-card-title\">\n\t\t\t\t\t\t\t\t\t\tIn this plan, you will learn how to:\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t\t\t{plan.data_points &&\n\t\t\t\t\t\t\t\t\t\t\tplan.data_points.slice(0, 3).map(point => (\n\t\t\t\t\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img src={greenCircleCheck} />\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span>{point}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\t\tlabel=\"See learning plan\"\n\t\t\t\t\t\t\t\t\t\ttooltip-content={''}\n\t\t\t\t\t\t\t\t\t\ton-click={() => window.location.href = plan.course_link}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</dps-card>\n\t\t\t\t\t\t\t))\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<dps-spinner />\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</section>\n\t\t\t{showFeedbackSection ? (\n\t\t\t\t<dps-overview-feedback\n\t\t\t\t\tbutton-label=\"Provide Feedback\"\n\t\t\t\t\ttitle=\"Looking for a different learning plan?\"\n\t\t\t\t>\n\t\t\t\t\t<p>\n\t\t\t\t\t\tLet us know what you would like to learn. Learning plans are\n\t\t\t\t\t\tavailable for all supported releases of ServiceNow.\n\t\t\t\t\t</p>\n\t\t\t\t</dps-overview-feedback>\n\t\t\t) : null}\n\t\t</div>\n\t);\n};\n\nexport default view;\n","/* eslint-disable no-param-reassign */\nimport { actionTypes } from '@servicenow/ui-core';\nimport {\n\tformatSysParam,\n\tredirectToAuth,\n\tisInactiveRelease,\n\thasUserInfoUpdated,\n\tmakeHttpEffectCreator,\n\tisUserUnauthorizedToViewPage\n} from '../../utils/helpers';\nimport { CONSTANTS, ERROR_CODES, DPS_ERROR_ACTIONS } from '../../constants';\nimport { setMetaByValues } from '../../utils/meta';\nimport { updateRoute } from '../../routes';\nimport { releaseInactive } from '../../utils/releaseHelpers';\nimport { replacePathParam } from '../../utils/url';\nimport { SessionService } from '../../utils/sessionService';\nimport { APP_ACTIONS } from '../dps-app/actions';\nimport { shouldTriggerSurvey, triggerLearningSurvey, handleLearningSurveySuccess } from '../../utils/qualtricsSurveyTrigger';\nimport { DPS_LEARNING_COURSES_ACTIONS } from '../dps-learning-courses/actions';\n\nconst {\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_PROPERTY_CHANGED\n} = actionTypes;\n\n// HTTP Effect creator for learning completion Qualtrics survey\nconst saveLearningQualtricsSurveyStatusHttpEffect = makeHttpEffectCreator(\n\tDPS_LEARNING_COURSES_ACTIONS.SAVE_LEARNING_QUALTRICS_SURVEY_STATUS,\n\t'/api/snc/learn/qualtrics/survey-tag',\n\t{\n\t\tbatch: false,\n\t\tmethod: 'POST',\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json',\n\t\t\t'X-UserToken': SessionService.getHeaderUserToken()\n\t\t},\n\t\tdataParam: 'data',\n\t\tonSuccess({ action }) {\n\t\t\t// Use shared success handler\n\t\t\thandleLearningSurveySuccess(action);\n\t\t},\n\t\tonError({ action }) {\n\t\t\tconsole.error('❌ ERROR: Failed to save to backend, but localStorage saved, Backend error:', action.payload);\n\t\t}\n\t}\n);\n\nexport const getLearningPlans = makeHttpEffectCreator(\n\tAPP_ACTIONS.GET_LP_LEARNING_PLANS,\n\tCONSTANTS.ENDPOINTS.GT_LP_LEARNING_PLANS,\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tqueryParams: ['sysparm_data'],\n\t\tonError(coeffects) {\n\t\t\tconst { updateState, dispatch, action, properties, updateProperties } = coeffects;\n\t\t\tconst { hash, pathname, releaseInfo, routeString, userInfo, isReleaseReplaced, release } = properties;\n\t\t\tconst userUnauthorizedToViewPage = isUserUnauthorizedToViewPage(\n\t\t\t\tuserInfo,\n\t\t\t\taction.payload\n\t\t\t);\n\t\t\tconst timestamp = Date.now();\n\t\t\tconst { latestRelease } = releaseInfo;\n\t\t\tconst { message } = action.payload && action.payload.data && action.payload.data.result;\n\t\t\tupdateState({ learningPlansData: {}, timestamp });\n\t\t\tif (userUnauthorizedToViewPage) {\n\t\t\t\tredirectToAuth(location.href);\n\t\t\t} else if (\n\t\t\t\t!userUnauthorizedToViewPage &&\n\t\t\t\tmessage === CONSTANTS.DEFAULTS.NO_CONTENT_FOUND_MESSAGE &&\n\t\t\t\t!isReleaseReplaced &&\n\t\t\t\trelease !== latestRelease\n\t\t\t) {\n\t\t\t\tconst replacedRelease = replacePathParam({\n\t\t\t\t\tparam: ':release',\n\t\t\t\t\trouteString,\n\t\t\t\t\tpathname,\n\t\t\t\t\tparamValue: latestRelease,\n\t\t\t\t\thash\n\t\t\t\t});\n\t\t\t\tupdateRoute(replacedRelease);\n\t\t\t\tupdateProperties({\n\t\t\t\t\tisReleaseReplaced: true\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tif (action.payload && action.payload.data.result && action.payload.data.result.data && action.payload.data.result.statusCode === \"404\") {\n\t\t\t\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND, { otherReleases: action.payload.data.result.data.other_releases, contentTitle: action.payload.data.result.data.content_title, isContentNotFoundForCurrentRelease: true });\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND, { message: message });\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonSuccess(coeffects) {\n\t\t\tconst { updateState, action, dispatch, properties } = coeffects;\n\t\t\tconst { result } = action.payload;\n\t\t\tconst learningPlansData = result.data;\n\t\t\tlearningPlansData &&\n\t\t\t\tsetMetaByValues({\n\t\t\t\t\ttitle: 'Learning Plans',\n\t\t\t\t\tdescription: learningPlansData.blurb_message\n\t\t\t\t});\n\t\t\tcalculatePlanDetails(learningPlansData);\n\t\t\tupdateState({ learningPlansData });\n\n\t\t\t// Check each learning plan for survey trigger flag\n\t\t\tif (learningPlansData && learningPlansData.learning_plan) {\n\t\t\t\t// Extract userId for user-specific survey tracking\n\t\t\t\tconst userId = properties?.userInfo?.user_id;\n\t\t\t\t\n\t\t\t\t// Track if we've already triggered a survey on this page load\n\t\t\t\t// to prevent multiple surveys from triggering at once\n\t\t\t\tlet surveyTriggeredOnThisPage = false;\n\t\t\t\t\n\t\t\t\tlearningPlansData.learning_plan.forEach(plan => {\n\t\t\t\t\t// Backend returns lp_qualtrics_survey_on: true/false for each plan\n\t\t\t\t\t// Only trigger ONE survey per page load to avoid conflicts\n\t\t\t\t\ttry {\n\t\t\t\t\t\tif (plan.lp_qualtrics_survey_on === true && plan.permalink && !surveyTriggeredOnThisPage) {\n\t\t\t\t\t\t\tconst shouldTrigger = shouldTriggerSurvey({\n\t\t\t\t\t\t\t\tsurveyFlag: plan.lp_qualtrics_survey_on,\n\t\t\t\t\t\t\t\tlearningId: plan.permalink,\n\t\t\t\t\t\t\t\tlearningType: 'learning_path',\n\t\t\t\t\t\t\t\tuserId\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif (shouldTrigger) {\n\t\t\t\t\t\t\t\tconsole.log('📚 Learning plan with survey flag enabled:', plan.name);\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t// Mark that we've triggered a survey on this page\n\t\t\t\t\t\t\t\tsurveyTriggeredOnThisPage = true;\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t// Trigger Qualtrics survey\n\t\t\t\t\t\t\t\t// Note: markSurveyShown() will be called in the success handler after backend confirms\n\t\t\t\t\t\t\t\ttriggerLearningSurvey({\n\t\t\t\t\t\t\t\t\tlearningId: plan.permalink,\n\t\t\t\t\t\t\t\t\tlearningType: 'learning_path',\n\t\t\t\t\t\t\t\t\tlearningName: plan.name,\n\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\tsaveAction: DPS_LEARNING_COURSES_ACTIONS.SAVE_LEARNING_QUALTRICS_SURVEY_STATUS,\n\t\t\t\t\t\t\t\t\trelease: properties.release,\n\t\t\t\t\t\t\t\t\treleaseSysId: properties.releaseInfo?.sys_id,\n\t\t\t\t\t\t\t\t\tuserId: userId\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('❌ Error triggering learning plan survey:', error);\n\t\t\t\t\t\t// Don't break the page if survey fails\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n);\n\nfunction calculatePlanDetails(lp_data) {\n\tlp_data.learning_plan.forEach(plan => {\n\t\tplan.course_link = `${window.location.hash}/${plan.permalink}`;\n\t\tswitch (plan.status) {\n\t\t\tcase 'in_progress':\n\t\t\t\tplan.statusMsg = 'IN PROGRESS';\n\t\t\t\tbreak;\n\t\t\tcase 'complete':\n\t\t\t\tplan.statusMsg = 'COMPLETE';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tplan.statusMsg = 'NOT STARTED';\n\t\t}\n\t});\n}\n\nexport const handleComponentBootstrapped = coeffects => {\n\tconst { properties, updateProperties } = coeffects;\n\n\tconst inactiveResult = releaseInactive(properties);\n\tif (inactiveResult) {\n\t\tupdateProperties({\n\t\t\tredirectedFromInactiveRelease: true\n\t\t});\n\t\treturn updateRoute(inactiveResult);\n\t}\n};\n\nexport const handleComponentPropertyChanged = coeffects => {\n\tconst {\n\t\taction,\n\t\tdispatch,\n\t\tproperties,\n\t\tupdateProperties,\n\t\tupdateState\n\t} = coeffects;\n\tconst { release, systemProperties } = properties;\n\tconst {\n\t\tpayload: { name, previousValue, value }\n\t} = action;\n\tconst userInfoUpdated = hasUserInfoUpdated({ name, value, previousValue });\n\n\tif (userInfoUpdated || name === 'release') {\n\t\tconst inactiveResult = releaseInactive(properties);\n\t\tif (inactiveResult) {\n\t\t\tupdateProperties({\n\t\t\t\tredirectedFromInactiveRelease: true\n\t\t\t});\n\t\t\treturn updateRoute(inactiveResult);\n\t\t}\n\n\t\tupdateState({ learningPlansData: {} });\n\t\tconst sysparm_data = formatSysParam(\n\t\t\tCONSTANTS.DEV_PORTAL_ACTIONS.LEARNING_PLANS_LIST,\n\t\t\t{\n\t\t\t\trelease: name === 'release' ? value : release,\n\t\t\t\tget_lessons_count: 'true'\n\t\t\t}\n\t\t);\n\n\t\tdispatch(APP_ACTIONS.GET_LP_LEARNING_PLANS, {\n\t\t\tsysparm_data\n\t\t});\n\t}\n\n\tif (\n\t\tname === 'releaseInfo' &&\n\t\t!isInactiveRelease({ release: value.release, systemProperties }) &&\n\t\tvalue.releaseVersionToggled\n\t) {\n\t\tupdateProperties({\n\t\t\tredirectedFromInactiveRelease: false\n\t\t});\n\t}\n};\n\nfunction handleComponentConnected({ properties, dispatch }) {\n\tconst { release } = properties;\n\n\tif (!release) {\n\t\treturn;\n\t}\n\tconst sysparm_data = formatSysParam(\n\t\tCONSTANTS.DEV_PORTAL_ACTIONS.LEARNING_PLANS_LIST,\n\t\t{\n\t\t\trelease,\n\t\t\tget_lessons_count: 'true'\n\t\t}\n\t);\n\n\tdispatch(APP_ACTIONS.GET_LP_LEARNING_PLANS, { sysparm_data });\n}\n\nexport default {\n\t...getLearningPlans,\n\t[COMPONENT_BOOTSTRAPPED]: handleComponentBootstrapped,\n\t[COMPONENT_CONNECTED]: handleComponentConnected,\n\t[COMPONENT_PROPERTY_CHANGED]: handleComponentPropertyChanged,\n\t...saveLearningQualtricsSurveyStatusHttpEffect\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport view from './view';\nimport styles from './styles.scss';\nimport actionHandlers from './actionHandlers';\n\nexport default createCustomElement('dps-lp-list', {\n\tactionHandlers,\n\tinitialState: {\n\t\tlearningPlansData: {}\n\t},\n\tproperties: {\n\t\tlearningPlan: {\n\t\t\tdefault: {}\n\t\t},\n\t\topenLearnMoreModal: {\n\t\t\tdefault: false\n\t\t},\n\t\tpathname: {\n\t\t\tdefault: ''\n\t\t},\n\t\tsystemProperties: {\n\t\t\tdefault: ''\n\t\t},\n\t\tredirectedFromInactiveRelease: {\n\t\t\tdefault: false\n\t\t},\n\t\trelease: {\n\t\t\tdefault: '',\n\t\t\trequired: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\treleaseInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\trouteString: {\n\t\t\tdefault: ''\n\t\t},\n\t\tuserInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tinstanceInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tisReleaseReplaced: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\trenderer: { type: snabbdom },\n\tstyles,\n\tview\n});\n","import styles from './_dps-collapsable-module-card.scss';\nimport { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport snabbdom, {createRef} from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-icon';\nimport '../dps-link';\nimport '../dps-progress-circle';\nimport CodeCompleteIcon from '../../images/icons/code-complete.svg';\nimport CodeIcon from '../../images/icons/code-2.svg';\nimport DocumentCompleteIcon from '../../images/icons/document-complete.svg';\nimport DocumentIcon from '../../images/icons/document.svg';\nimport { createPath } from '../../utils/url';\n\nconst {COMPONENT_CONNECTED, COMPONENT_BOOTSTRAPPED} = actionTypes;\n\nfunction calculateHeightFromState(state, properties, updateState) {\n\tlet newHeight = '0';\n\tconst resetToAutoDelay = 500;\n\n\tif(state.moduleContentRef && state.moduleContentRef.current) {\n\t\tconst calculatedHeight = state.moduleContentRef.current.offsetHeight;\n\n\t\t// Because we are about to toggle the prop, this refers to\n\t\t// the previous `isOpen` property, hence the inverted logic.\n\t\tif(!properties.isOpen) {\n\t\t\t// Apply new height and defer the switch to 'auto'\n\t\t\tnewHeight = `${calculatedHeight}px`;\n\t\t\tsetTimeout(() => {\n\t\t\t\tupdateState({\n\t\t\t\t\tcontentHeight: 'auto'\n\t\t\t\t});\n\t\t\t}, resetToAutoDelay); // enough time to allow transition to complete\n\t\t} else {\n\t\t\t// Switch back from 'auto' in anticipation of closing\n\t\t\t// CSS can't go from 'auto' to a px value.\n\t\t\tupdateState({\n\t\t\t\tcontentHeight: `${calculatedHeight}px`\n\t\t\t});\n\t\t}\n\n\t\t// This needs to be deferred, so we are using the timeout hack.\n\t\tsetTimeout(() => {\n\t\t\tupdateState({\n\t\t\t\tcontentHeight: newHeight\n\t\t\t});\n\t\t});\n\t}\n}\n\nfunction DpsCollapsableModuleCard(state, dispatch) {\n\tconst {\n\t\tisOpen,\n\t\ttitle,\n\t\tdescription,\n\t\tlessons,\n\t\tcollapseBarText,\n\t\tnumberOfLessons,\n\t\tprogressTitle,\n\t\tpercentageComplete,\n\t\tlink,\n\t\trelease,\n\t\tparentId,\n\t\tmoduleType\n\t} = state.properties;\n\n\tconst { moduleContentRef, contentHeight } = state;\n\n\tconst learnSection = moduleType === 'learning'\n\t\t? 'learning-plans'\n\t\t: 'courses';\n\n\tconst baseUrl = `/learn/${learnSection}/${release}/${parentId}`;\n\n\tconst startLink = moduleType === 'learning'\n\t\t? createPath(link)\n\t\t: createPath(`${baseUrl}/${lessons[0].permalink}`);\n\n\treturn (\n\t\t<div className=\"dps-module-card\">\n\t\t\t<div className=\"dps-module-card-content\">\n\t\t\t\t<div className=\"module-details\">\n\t\t\t\t\t<div className=\"module-detail-content\">\n\t\t\t\t\t\t<h2 className=\"module-heading\">{title}</h2>\n\t\t\t\t\t\t<div className=\"module-description\" innerHTML={description} />\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpercentageComplete === 0 ?\n\t\t\t\t\t\t\t\t<now-button variant=\"secondary\" size=\"md\" label=\"Start module\" on-click={() => window.location.href = startLink} />\n\t\t\t\t\t\t\t\t: (percentageComplete === 100 ?\n\t\t\t\t\t\t\t\t\t<now-button variant=\"secondary\" size=\"md\" label=\"Repeat module\" on-click={() => window.location.href = startLink} />\n\t\t\t\t\t\t\t\t\t: <now-button variant=\"secondary\" size=\"md\" label=\"Resume module\" on-click={() => window.location.href = createPath(link)} />\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class={{\n\t\t\t\t\t\t'progress-circle-wrapper': true,\n\t\t\t\t\t\t[`${percentageComplete === 0 ? 'hide' : 'show'}`+'-progress']: true\n\t\t\t\t\t}}>\n\t\t\t\t\t\t<dps-progress-circle size=\"md\" percent={percentageComplete/100} title={progressTitle}>\n\t\t\t\t\t\t</dps-progress-circle>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"lessons-list-wrap\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\theight: contentHeight,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"lessons-list-inner\" ref={moduleContentRef}>\n\t\t\t\t\t\t<div class={{\n\t\t\t\t\t\t\t'lessons-list': true,\n\t\t\t\t\t\t\t[`list-${isOpen? 'open' : 'close'}`]: true\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t<div className=\"horizontal-divider\">\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"list-wrap\">\n\t\t\t\t\t\t\t\t<div className=\"list-heading\">\n\t\t\t\t\t\t\t\t\tArticles in this module:\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<ul className=\"list-content\">\n\t\t\t\t\t\t\t\t\t{ lessons.map(lesson => {\n\t\t\t\t\t\t\t\t\t\tconst {title, isRead=false, type=false, permalink} = lesson;\n\t\t\t\t\t\t\t\t\t\tconst codeIcon = isRead ? <img src={CodeCompleteIcon} /> : <img src={CodeIcon} />;\n\t\t\t\t\t\t\t\t\t\tconst docIcon = isRead ?  <img src={DocumentCompleteIcon} /> : <img src={DocumentIcon} />;\n\t\t\t\t\t\t\t\t\t\tconst icon = (type === 'task' && codeIcon || docIcon);\n\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<li class={{\n\t\t\t\t\t\t\t\t\t\t\t\t'list-item-text': true,\n\t\t\t\t\t\t\t\t\t\t\t\t'is-read': isRead\n\t\t\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"list-icon-wrap\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{icon}\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t<dps-link inherit href={createPath(`${baseUrl}/${permalink}`)}\n\t\t\t\t\t\t\t\t\t\t\t\t>{title}</dps-link>\n\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div className=\"module-expand-collapser\" on-click={() => {\n\t\t\t\tdispatch('COLLAPSABLE_MODULE#TOGGLE');\n\t\t\t\t//Tracking the click for open and close of module\n\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\taction: isOpen ? 'close module' : 'open module',\n\t\t\t\t\tcategory: 'module details',\n\t\t\t\t\tlabel: title,\n\t\t\t\t\tvalue: '',\n\t\t\t\t\tga: true,\n\t\t\t\t\tadobe: false\n\t\t\t\t});\n\t\t\t}}>\n\t\t\t\t<div className=\"hide-show-text\">\n\t\t\t\t\t<span className=\"display-text\">\n\t\t\t\t\t\t{collapseBarText}\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"num-of-lessons\">\n\t\t\t\t\t\t({numberOfLessons})\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"arrow\">\n\t\t\t\t\t\t{isOpen ?\n\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\tclass=\"dps-sidebar-icon\"\n\t\t\t\t\t\t\t\ticon=\"chevron-up-outline\"\n\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t: <now-icon\n\t\t\t\t\t\t\t\tclass=\"dps-sidebar-icon\"\n\t\t\t\t\t\t\t\ticon=\"chevron-down-outline\"\n\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t}\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\n// The properties of this are made to match the server side and don't match our guidelines\nexport default createCustomElement('dps-collapsable-module-card', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DpsCollapsableModuleCard\n\t},\n\tinitialState: {\n\t\tmoduleContentRef: null,\n\t\tcontentHeight: 'auto'\n\t},\n\tproperties: {\n\t\ttitle: {\n\t\t\tdefault: ''\n\t\t},\n\t\tdescription: {\n\t\t\tdefault: '</br>'\n\t\t},\n\t\tlessons: {\n\t\t\tdefault: []\n\t\t},\n\t\tnumberOfLessons: {\n\t\t\tdefault: 0\n\t\t},\n\t\tisOpen: {\n\t\t\tdefault: false\n\t\t},\n\t\tcollapseBarText: {\n\t\t\tcomputed({properties: {isOpen}}) {\n\t\t\t\treturn (isOpen ? 'Hide' : 'Show All');\n\t\t\t}\n\t\t},\n\t\tpercentageComplete: {\n\t\t\tdefault: 0\n\t\t},\n\t\tprogressTitle: {\n\t\t\tcomputed({properties: {percentageComplete}}) {\n\t\t\t\treturn `${percentageComplete}%`;\n\t\t\t}\n\t\t},\n\t\tlink: {\n\t\t\tdefault: ''\n\t\t},\n\t\t// Learning Plan or Course Id\n\t\tparentId: {\n\t\t\tdefault: ''\n\t\t},\n\t\trelease: {\n\t\t\tdefault: ''\n\t\t},\n\t\tmoduleType: {}\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]({updateState, properties: {isOpen}}) {\n\t\t\tupdateState({\n\t\t\t\tcontentHeight: isOpen ? 'auto' : '0'\n\t\t\t});\n\t\t},\n\t\t[COMPONENT_CONNECTED]({updateState}) {\n\t\t\tupdateState({\n\t\t\t\tmoduleContentRef: createRef()\n\t\t\t});\n\t\t},\n\t\t'COLLAPSABLE_MODULE#TOGGLE': ({state, properties, updateProperties, updateState}) => {\n\t\t\tupdateProperties({\n\t\t\t\tisOpen: !properties.isOpen\n\t\t\t});\n\t\t\tcalculateHeightFromState(state, properties, updateState);\n\t\t}\n\t},\n\tstyles\n});\n","import '../../components/dps-inline-version-selector';\nimport '../../components/dps-progress-card';\nimport '../../components/dps-button';\nimport '../../components/dps-collapsable-module-card';\nimport '../../components/dps-error-page';\nimport '../../components/dps-template-two-column';\nimport '../../components/dps-breadcrumb';\nimport '@servicenow/now-button';\nimport Colors from '../../styles/global/colors';\nimport { createPath } from '../../utils/url';\nimport { getFormattedInstanceReleaseInfo } from '../../utils/releaseHelpers';\nimport { getPrintablePageUrl } from '../../utils/helpers';\nimport { CONSTANTS } from '../../constants';\nimport { printer } from '../../icons';\nimport learningPlansIcon from '../../images/dps-learning-plans-icon.svg';\nimport backgroundImg from '../../images/reference-overview-background.png';\n\nconst view = state => {\n\tconst pageDetails = state.page_details;\n\tconst {\n\t\tinstanceInfo,\n\t\trelease,\n\t\tpathname,\n\t\tlearningPlanId,\n\t\tsystemProperties\n\t} = state.properties;\n\n\tif (!pageDetails) {\n\t\treturn <dps-spinner />;\n\t}\n\n\t\n\tconst instanceRelease = getFormattedInstanceReleaseInfo(instanceInfo);\n\tconst {\n\t\tcomponents,\n\t\tlearning_plan: {\n\t\t\tname,\n\t\t\tshort_description,\n\t\t\tdetailed_description,\n\t\t\tnumber_of_components,\n\t\t\tcompleted_components,\n\t\t\tlink,\n\t\t\tcompleted_lessons,\n\t\t\tstatus\n\t\t},\n\t\tother_releases\n\t} = pageDetails.data;\n\n\tconst modules = components;\n\n\tconst modulesPlus = modules.map(m => ({\n\t\tnumberOfLessons: m.number_of_lessons,\n\t\tcompletedLessons: m.completed_lessons,\n\t\tpercentageComplete: m.percentage_complete,\n\t\ttitle: m.title,\n\t\tdescription: m.description,\n\t\tlessons: m.lessons,\n\t\tisOpen: m.isOpen,\n\t\tlink: m.link\n\t}));\n\n\tlet ctaButtonLabel = 'Resume learning plan';\n\n\tif (completed_components / number_of_components === 0) {\n\t\tctaButtonLabel = 'Start learning plan';\n\n\t\tif (completed_lessons > 0) {\n\t\t\tctaButtonLabel = 'Resume learning plan';\n\t\t}\n\t} else if (completed_components / number_of_components === 1) {\n\t\tctaButtonLabel = 'Repeat Learning Plan';\n\t}\n\n\treturn (\n\t\t<div className=\"dps-lp-details\">\n\t\t\t<dps-breadcrumb\n\t\t\t\titems={[\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Learning Plans',\n\t\t\t\t\t\tredirectURL: createPath(`/learn/learning-plans/${release}`)\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: name,\n\t\t\t\t\t\tredirectURL: createPath(\n\t\t\t\t\t\t\t`/learn/learning-plans/${release}/${learningPlanId}`\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t]}\n\t\t\t/>\n\t\t\t<section className=\"dps-lp-details-hero\" aria-labelledby=\"lp-details-hero-title\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"dps-lp-details-hero__background\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tbackgroundImage: `url(${backgroundImg})`,\n\t\t\t\t\t\tbackgroundPosition: 'center center',\n\t\t\t\t\t\tbackgroundSize: 'cover',\n\t\t\t\t\t\tbackgroundRepeat: 'no-repeat'\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-lp-details-hero__content\">\n\t\t\t\t\t{other_releases && other_releases.length > 0 && (\n\t\t\t\t\t\t<div className=\"dps-lp-details-hero__version-selector\">\n\t\t\t\t\t\t\t<dps-inline-version-selector\n\t\t\t\t\t\t\t\tselected={release}\n\t\t\t\t\t\t\t\treleases={other_releases}\n\t\t\t\t\t\t\t\tinstanceRelease={instanceRelease}\n\t\t\t\t\t\t\t\tsourcePathname={pathname}\n\t\t\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t<h1 id=\"lp-details-hero-title\" className=\"dps-lp-details-hero__title\">\n\t\t\t\t\t\t{name}\n\t\t\t\t\t</h1>\n\t\t\t\t\t<p className=\"dps-lp-details-hero__modules-count\">\n\t\t\t\t\t\t{number_of_components} Module{number_of_components > 1 ? 's' : ''}\n\t\t\t\t\t</p>\n\t\t\t\t\t<div className=\"dps-lp-details-hero__description\" innerHTML={short_description}>\n\t\t\t\t\t</div>\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tclassName=\"dps-lp-details-hero__cta\"\n\t\t\t\t\t\tlabel={ctaButtonLabel}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\twindow.location.href = createPath(link);\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-lp-details-hero__card\">\n\t\t\t\t\t<dps-progress-card\n\t\t\t\t\t\tnum-of-modules={number_of_components}\n\t\t\t\t\t\tnum-of-modules-completed={completed_components}\n\t\t\t\t\t\tstatus={status}\n\t\t\t\t\t\ttype=\"learning plan\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</section>\n\t\t\t<dps-template-two-column open={true}>\n\t\t\t\t<section className=\"sidenav\" slot=\"sidebar\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"side-nav-contents\"\n\t\t\t\t\t\tinnerHTML={detailed_description}\n\t\t\t\t\t></div>\n\t\t\t\t</section>\n\t\t\t\t<div className=\"right-content\">\n\t\t\t\t\t<div className=\"modules-header\">\n\t\t\t\t\t\t<h2>Modules</h2>\n\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tclassName=\"print-link\"\n\t\t\t\t\t\t\tlabel=\"Print learning plan\"\n\t\t\t\t\t\t\ticon=\"printer-outline\"\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\twindow.open(getPrintablePageUrl(\n\t\t\t\t\t\t\t\t\trelease,\n\t\t\t\t\t\t\t\t\tCONSTANTS.DEFAULTS.LP_CATEGORY,\n\t\t\t\t\t\t\t\t\tlearningPlanId,\n\t\t\t\t\t\t\t\t\tCONSTANTS.DEFAULTS.LP_MODULE\n\t\t\t\t\t\t\t\t), '_blank', 'noopener');\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t{modulesPlus.map(m => (\n\t\t\t\t\t\t<div className=\"module-card-wrapper\">\n\t\t\t\t\t\t\t<dps-collapsable-module-card\n\t\t\t\t\t\t\t\ttitle={m.title}\n\t\t\t\t\t\t\t\tdescription={m.description}\n\t\t\t\t\t\t\t\tlessons={m.lessons.map(lesson => ({\n\t\t\t\t\t\t\t\t\ttitle: lesson.title,\n\t\t\t\t\t\t\t\t\tpermalink: lesson.permalink,\n\t\t\t\t\t\t\t\t\tisRead: lesson.status === 'complete' ? true : false,\n\t\t\t\t\t\t\t\t\ttype: lesson.content_type\n\t\t\t\t\t\t\t\t}))}\n\t\t\t\t\t\t\t\tnumber-of-lessons={m.numberOfLessons}\n\t\t\t\t\t\t\t\tis-open={\n\t\t\t\t\t\t\t\t\tm.percentageComplete > 0 && m.percentageComplete !== 100\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tpercentage-complete={m.percentageComplete}\n\t\t\t\t\t\t\t\tlink={m.link}\n\t\t\t\t\t\t\t\tparentId={learningPlanId}\n\t\t\t\t\t\t\t\trelease={release}\n\t\t\t\t\t\t\t\tmoduleType=\"learning\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t</dps-template-two-column>\n\t\t</div>\n\t);\n};\n\nexport default view;\n","import { CONSTANTS, DPS_ERROR_ACTIONS, ERROR_CODES } from '../../constants';\nimport { APP_ACTIONS } from '../dps-app/actions';\nimport { setMetaByValues } from '../../utils/meta';\nimport { isUserUnauthorizedToViewPage, makeHttpEffectCreator, redirectToAuth } from '../../utils/helpers';\nimport { replacePathParam } from '../../utils/url';\nimport { SessionService } from '../../utils/sessionService';\nimport { updateRoute } from '../../routes';\nimport { shouldTriggerSurvey, triggerLearningSurvey, handleLearningSurveySuccess } from '../../utils/qualtricsSurveyTrigger';\nimport { DPS_LEARNING_COURSES_ACTIONS } from '../dps-learning-courses/actions';\n\n// HTTP Effect creator for learning completion Qualtrics survey\nexport const saveLearningQualtricsSurveyStatusHttpEffect = makeHttpEffectCreator(\n\tDPS_LEARNING_COURSES_ACTIONS.SAVE_LEARNING_QUALTRICS_SURVEY_STATUS,\n\t'/api/snc/learn/qualtrics/survey-tag',\n\t{\n\t\tbatch: false,\n\t\tmethod: 'POST',\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json',\n\t\t\t'X-UserToken': SessionService.getHeaderUserToken()\n\t\t},\n\t\tdataParam: 'data',\n\t\tonSuccess({ action }) {\n\t\t\t// Use shared success handler\n\t\t\thandleLearningSurveySuccess(action);\n\t\t},\n\t\tonError({ action }) {\n\t\t\tconsole.error('❌ ERROR: Failed to save to backend, but localStorage saved, Backend error:', action.payload);\n\t\t}\n\t}\n);\n\nexport const getLpContentData = makeHttpEffectCreator(\n\tAPP_ACTIONS.GET_LP_COMPONENT_DATA,\n\tCONSTANTS.ENDPOINTS.GET_LP_COMPONENT_DATA,\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tqueryParams: ['sysparm_data'],\n\t\tonError(coeffects) {\n\t\t\tconst { updateState, dispatch, action, properties, updateProperties } = coeffects;\n\t\t\tconst { hash, pathname, releaseInfo, routeString, userInfo, isReleaseReplaced, release } = properties;\n\t\t\tconst userUnauthorizedToViewPage = isUserUnauthorizedToViewPage(\n\t\t\t\tuserInfo,\n\t\t\t\taction.payload\n\t\t\t);\n\t\t\tconst { latestRelease } = releaseInfo;\n\t\t\tconst { message } = action.payload && action.payload.data && action.payload.data.result;\n\t\t\tupdateState({\n\t\t\t\tdataFetchFailed: true\n\t\t\t});\n\n\t\t\tif (userUnauthorizedToViewPage) {\n\t\t\t\tredirectToAuth(location.href);\n\t\t\t} else if (\n\t\t\t\t!userUnauthorizedToViewPage &&\n\t\t\t\tmessage === CONSTANTS.DEFAULTS.NO_CONTENT_FOUND_MESSAGE &&\n\t\t\t\t!isReleaseReplaced &&\n\t\t\t\trelease !== latestRelease\n\t\t\t) {\n\t\t\t\tconst replacedRelease = replacePathParam({\n\t\t\t\t\tparam: ':release',\n\t\t\t\t\trouteString,\n\t\t\t\t\tpathname,\n\t\t\t\t\tparamValue: latestRelease,\n\t\t\t\t\thash\n\t\t\t\t});\n\t\t\t\tupdateRoute(replacedRelease);\n\t\t\t\tupdateProperties({\n\t\t\t\t\tisReleaseReplaced: true\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tif (action.payload && action.payload.data.result && action.payload.data.result.data && action.payload.data.result.statusCode === \"404\") {\n\t\t\t\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND, { otherReleases: action.payload.data.result.data.other_releases, contentTitle: action.payload.data.result.data.content_title, isContentNotFoundForCurrentRelease: true });\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND, { message: message });\n\t\t\t\t}\n\t\t\t}\n\n\t\t},\n\t\tonSuccess(coeffects) {\n\t\t\tconst { action: { payload }, updateState, dispatch, properties } = coeffects;\n\t\t\tconsole.log('🔍 LP Details onSuccess called, Payload:', payload);\n\t\t\t\n\t\t\tconst { data, status } = payload.result;\n\t\t\t\n\t\t\tif (!data || !data.learning_plan) {\n\t\t\t\tconsole.error('❌ No learning_plan data in response');\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t\n\t\t\tconst { name, short_description, lp_qualtrics_survey_on } = data.learning_plan;\n\t\t\t// Use learningPlanId from component properties since permalink is not in API response\n\t\t\tconst learningPlanId = properties.learningPlanId;\n\t\t\t\n\t\t\tconsole.log('Learning Plan Details:', { name, lp_qualtrics_survey_on, learningPlanId });\n\n\t\t\tsetMetaByValues({\n\t\t\t\ttitle: name,\n\t\t\t\tdescription: short_description\n\t\t\t});\n\n\t\t\tif (status === 'success') {\n\t\t\t\tupdateState({\n\t\t\t\t\tdataFetchFailed: false,\n\t\t\t\t\tpage_details: payload.result\n\t\t\t\t});\n\n\t\t\t\t// Check backend flag for survey trigger (learning plan details page)\n\t\t\t\tconsole.log('🔍 Checking survey flag:', { lp_qualtrics_survey_on, learningPlanId });\n\t\t\t\t\n\t\t\t\tif (lp_qualtrics_survey_on === true && learningPlanId) {\n\t\t\t\t\t// Extract userId for user-specific survey tracking\n\t\t\t\t\tconst userId = properties?.userInfo?.user_id;\n\t\t\t\t\t\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst shouldTrigger = shouldTriggerSurvey({\n\t\t\t\t\t\t\tsurveyFlag: lp_qualtrics_survey_on,\n\t\t\t\t\t\t\tlearningId: learningPlanId,\n\t\t\t\t\t\t\tlearningType: 'learning_path',\n\t\t\t\t\t\t\tuserId\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tconsole.log('✓ Survey flag is true and learningPlanId exists, Should trigger?', shouldTrigger);\n\t\t\t\t\t\t\n\t\t\t\t\t\tif (shouldTrigger) {\n\t\t\t\t\t\t\tconsole.log('📚 Learning plan details loaded with survey flag enabled:', name);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t// Trigger Qualtrics survey\n\t\t\t\t\t\t\t// Note: markSurveyShown() will be called in the success handler after backend confirms\n\t\t\t\t\t\t\ttriggerLearningSurvey({\n\t\t\t\t\t\t\t\tlearningId: learningPlanId,\n\t\t\t\t\t\t\t\tlearningType: 'learning_path',\n\t\t\t\t\t\t\t\tlearningName: name,\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tsaveAction: DPS_LEARNING_COURSES_ACTIONS.SAVE_LEARNING_QUALTRICS_SURVEY_STATUS,\n\t\t\t\t\t\t\t\trelease: properties.release,\n\t\t\t\t\t\t\t\treleaseSysId: properties.releaseInfo?.sys_id,\n\t\t\t\t\t\t\t\tuserId: userId\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconsole.log('⚠️ shouldTrigger returned false - survey already shown or flag not set');\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('❌ Error triggering learning path details survey:', error);\n\t\t\t\t\t\t// Don't break the page if survey fails\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tconsole.log('⚠️ Survey not triggered:', {\n\t\t\t\t\t\t'lp_qualtrics_survey_on === true': lp_qualtrics_survey_on === true,\n\t\t\t\t\t\t'lp_qualtrics_survey_on value': lp_qualtrics_survey_on,\n\t\t\t\t\t\t'lp_qualtrics_survey_on type': typeof lp_qualtrics_survey_on,\n\t\t\t\t\t\t'learningPlanId exists': !!learningPlanId,\n\t\t\t\t\t\t'learningPlanId value': learningPlanId\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconsole.log('⚠️ Status is not success:', status);\n\t\t\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND);\n\t\t\t}\n\t\t}\n\t}\n);\n","/* eslint-disable no-undef, object-shorthand */\nimport { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport view from './view';\nimport styles from './styles.scss';\nimport { CONSTANTS } from '../../constants';\nimport { updateRoute } from '../../routes';\nimport {\n\tformatSysParam,\n\thasUserInfoUpdated,\n\tisInactiveRelease,\n\tisPdiMismatchAlertDismissed,\n\tshouldRemovePDIMismatchAlertFromSessionStorage\n} from '../../utils/helpers';\nimport { releaseInactive } from '../../utils/releaseHelpers';\nimport { APP_ACTIONS } from '../dps-app/actions';\nimport { getLpContentData, saveLearningQualtricsSurveyStatusHttpEffect } from './actionHandlers';\nimport { DevPlatformStorage } from \"../../utils/storage\";\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport default createCustomElement('dps-lp-details', {\n\trenderer: { type: snabbdom },\n\tstyles,\n\tview,\n\tinitialState: {\n\t\tdataFetchFailed: false\n\t},\n\tproperties: {\n\t\tlearningPlanId: {\n\t\t\tdefault: ''\n\t\t},\n\t\tinstanceInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tpathname: {\n\t\t\tdefault: ''\n\t\t},\n\t\tsystemProperties: {\n\t\t\tdefault: ''\n\t\t},\n\t\tredirectedFromInactiveRelease: {\n\t\t\tdefault: false\n\t\t},\n\t\trelease: {\n\t\t\tdefault: '',\n\t\t\trequired: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\treleaseInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\trouteString: {\n\t\t\tdefault: ''\n\t\t},\n\t\tuserInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tisPdiMismatchAlertDismissed: {\n\t\t\tcomputed({ properties: { release } }) {\n\t\t\t\treturn isPdiMismatchAlertDismissed(release);\n\t\t\t}\n\t\t},\n\t\tisReleaseReplaced: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t...getLpContentData,\n\t\t...saveLearningQualtricsSurveyStatusHttpEffect,\n\t\t[COMPONENT_BOOTSTRAPPED]: coeffects => {\n\t\t\tconst { dispatch, properties, updateProperties } = coeffects;\n\t\t\tconst { release } = properties;\n\t\t\tconst permalink = properties.learningPlanId;\n\n\t\t\tconst inactiveResult = releaseInactive(properties);\n\t\t\tif (inactiveResult) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tredirectedFromInactiveRelease: true\n\t\t\t\t});\n\t\t\t\treturn updateRoute(inactiveResult);\n\t\t\t}\n\n\t\t\tconst sysparm_data = formatSysParam(\n\t\t\t\tCONSTANTS.DEV_PORTAL_ACTIONS.GET_LP_COMPONENT_DATA,\n\t\t\t\t{\n\t\t\t\t\trelease,\n\t\t\t\t\tpermalink\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tdispatch(APP_ACTIONS.GET_LP_COMPONENT_DATA, { sysparm_data });\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: coeffects => {\n\t\t\tconst {\n\t\t\t\taction,\n\t\t\t\tdispatch,\n\t\t\t\tproperties,\n\t\t\t\tupdateProperties,\n\t\t\t\tupdateState\n\t\t\t} = coeffects;\n\t\t\tconst { learningPlanId, systemProperties } = properties;\n\t\t\tconst {\n\t\t\t\tpayload: { name, previousValue, value }\n\t\t\t} = action;\n\t\t\tconst userInfoUpdated = hasUserInfoUpdated({ name, value, previousValue });\n\n\t\t\tlet { release } = properties;\n\t\t\tlet permalink = learningPlanId;\n\n\t\t\tconst inactiveResult = releaseInactive(properties);\n\t\t\tif (inactiveResult) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tredirectedFromInactiveRelease: true\n\t\t\t\t});\n\t\t\t\treturn updateRoute(inactiveResult);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tname === 'releaseInfo' &&\n\t\t\t\t!isInactiveRelease({ release: value.release, systemProperties })\n\t\t\t) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tredirectedFromInactiveRelease: false\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (['learningPlanId', 'release'].includes(name) || userInfoUpdated) {\n\t\t\t\tpermalink = name === 'learningPlanId' ? value : permalink;\n\t\t\t\trelease = name === 'release' ? value : release;\n\n\t\t\t\tupdateState({ page_details: null });\n\t\t\t\tconst sysparm_data = formatSysParam(\n\t\t\t\t\tCONSTANTS.DEV_PORTAL_ACTIONS.GET_LP_COMPONENT_DATA,\n\t\t\t\t\t{\n\t\t\t\t\t\trelease,\n\t\t\t\t\t\tpermalink\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tdispatch(APP_ACTIONS.GET_LP_COMPONENT_DATA, { sysparm_data });\n\t\t\t}\n\n\t\t\tif (action.payload.name === 'release') {\n\t\t\t\tshouldRemovePDIMismatchAlertFromSessionStorage();\n\t\t\t}\n\t\t}\n\t}\n});\n","export const AVAILABILITY_FILTERS = [{\n\tlabel: 'Draft',\n\ttype: 'availability',\n\tvalue: 'Draft',\n\taccess: {\n\t\tinternal: true,\n\t\tauthenticated: true\n\t},\n\tinternalDefault: true\n}, {\n\tlabel: 'Discovered',\n\ttype: 'availability',\n\tvalue: 'Discovered',\n\taccess: {\n\t\tinternal: true,\n\t\tauthenticated: false\n\t}\n}, {\n\tlabel: 'In Progress',\n\ttype: 'availability',\n\tvalue: 'In Progress',\n\taccess: {\n\t\tinternal: true,\n\t\tauthenticated: false\n\t},\n\tinternalDefault: true\n}, {\n\tlabel: 'Available',\n\ttype: 'availability',\n\tvalue: 'Available',\n\taccess: {\n\t\tinternal: true,\n\t\tauthenticated: false\n\t},\n\tdefault: true,\n\tinternalDefault: true\n}, {\n\tlabel: 'Deprecated',\n\ttype: 'availability',\n\tvalue: 'Deprecated',\n\taccess: {\n\t\tinternal: true,\n\t\tauthenticated: false\n\t}\n}];\n\nexport const BOOKMARK_FILTER = {\n\tlabel: 'Only My Favorites',\n\ttype: 'boolean',\n\tvalue: 'bookmarks',\n\taccess: {\n\t\tinternal: true,\n\t\tauthenticated: true\n\t}\n};\n\nexport const NDS_FILTER = {\n\tlabel: 'Include all NDS Components',\n\ttype: 'boolean',\n\tvalue: 'Dev-Design System',\n\taccess: {\n\t\tinternal: true,\n\t\tauthenticated: false\n\t},\n\tinternalDefault: true\n};\n\nexport const INTERNAL_FILTER = {\n\tlabel: 'Internal Components',\n\ttype: 'boolean',\n\tvalue: 'internal_only',\n\taccess: {\n\t\tinternal: true,\n\t\tauthenticated: false\n\t}\n};\n\nexport const NPM_FILTER = {\n\tinternalLabel: 'Available In Public NPM',\n\tlabel: 'Available in NPM',\n\ttype: 'boolean',\n\tvalue: 'npm',\n\taccess: {\n\t\tinternal: true,\n\t\tauthenticated: true,\n\t\tunauthenticated: true\n\t}\n};\n\nexport const UIB_FILTER = {\n\tlabel: 'Available in UIB',\n\ttype: 'boolean',\n\tvalue: 'uib',\n\taccess: {\n\t\tinternal: false,\n\t\tauthenticated: true,\n\t\tunauthenticated: true\n\t}\n};\n\n// These params are sent based on element type, but are not displayed as selections\n// in the UI\nexport const HIDDEN_PARAMS = {\n\t'app-shells': 'categories[]=uib_app-shells',\n\t'modals': 'categories[]=uib_modal',\n\t'page-templates': 'categories[]=uib_page',\n\t'components': 'categories[]=uib_component&categories[]=uib_macroponent-component&categories[]=uib_facades'\n}\n\n// Filter categories that should be sent as array. `category[]=`\nexport const ARRAY_FILTER_TYPES = ['releases', 'categories', 'availability'];\n\n// Data for all the different element types and their filters.\n// Some of the filters get supplied in a computed property\nexport const TYPES = {\n\t'components': {\n\t\tdisplayName: 'Next Experience Components',\n\t\tdescription: 'Building blocks for creating user interfaces on the Now Platform<sup>®</sup>',\n\t\tsearchEnabled: true,\n\t\tenabledFilterGroups: {\n\t\t\treleases: {\n                label: 'Release Compatibility',\n\t\t\t\taccess: {\n\t\t\t\t\tinternal: true,\n\t\t\t\t\tauthenticated: true,\n\t\t\t\t\tunauthenticated: true\n\t\t\t\t},\n\t\t\t\tfilters: []\n\t\t\t},\n\t\t\tcategories: {\n                label: 'Category',\n\t\t\t\taccess: {\n\t\t\t\t\tinternal: true,\n\t\t\t\t\tauthenticated: true,\n\t\t\t\t\tunauthenticated: true\n\t\t\t\t},\n\t\t\t\tfilters: []\n\t\t\t},\n\t\t\tavailability: {\n                label: 'Availability',\n\t\t\t\taccess: {\n\t\t\t\t\tinternal: true,\n\t\t\t\t\tauthenticated: false\n\t\t\t\t},\n\t\t\t\tfilters: AVAILABILITY_FILTERS\n\t\t\t},\n\t\t\tadditional: {\n                label: 'Additional Filters',\n\t\t\t\taccess: {\n\t\t\t\t\tinternal: true,\n\t\t\t\t\tauthenticated: true,\n\t\t\t\t\tunauthenticated: true\n\t\t\t\t},\n\t\t\t\tfilters: [BOOKMARK_FILTER, NDS_FILTER, INTERNAL_FILTER, NPM_FILTER, UIB_FILTER]\n\t\t\t}\n\t\t}\n\t},\n\t'app-shells': {\n\t\tdisplayName: 'App Shells',\n\t\tdescription: 'Wrappers for Now Platform® experiences with consistent, system-level controls.',\n\t\tenabledFilterGroups: {\n\t\t\treleases: {\n\t\t\t\tlabel: 'Release Compatibility',\n\t\t\t\taccess: {\n\t\t\t\t\tinternal: true,\n\t\t\t\t\tauthenticated: true,\n\t\t\t\t\tunauthenticated: true\n\t\t\t\t},\n\t\t\t\tfilters: []\n\t\t\t},\n\t\t\tavailability: {\n\t\t\t\tlabel: 'Availability',\n\t\t\t\taccess: {\n\t\t\t\t\tinternal: true,\n\t\t\t\t\tauthenticated: false\n\t\t\t\t},\n\t\t\t\tfilters: AVAILABILITY_FILTERS\n\t\t\t},\n\t\t\tadditional: {\n\t\t\t\tlabel: 'Additional Filters',\n\t\t\t\taccess: {\n\t\t\t\t\tinternal: true,\n\t\t\t\t\tauthenticated: true\n\t\t\t\t},\n\t\t\t\tfilters: [BOOKMARK_FILTER]\n\t\t\t}\n\t\t}\n\t},\n\t'page-templates': {\n\t\tdisplayName: 'Page Templates',\n\t\tdescription: 'Reusable pages of components with predefined defaults for common use cases.',\n\t\tenabledFilterGroups: {\n\t\t\treleases: {\n\t\t\t\tlabel: 'Release Compatibility',\n\t\t\t\taccess: {\n\t\t\t\t\tinternal: true,\n\t\t\t\t\tauthenticated: true,\n\t\t\t\t\tunauthenticated: true\n\t\t\t\t},\n\t\t\t\tfilters: []\n\t\t\t},\n\t\t\tavailability: {\n\t\t\t\tlabel: 'Availability',\n\t\t\t\taccess: {\n\t\t\t\t\tinternal: true,\n\t\t\t\t\tauthenticated: false\n\t\t\t\t},\n\t\t\t\tfilters: AVAILABILITY_FILTERS\n\t\t\t},\n\t\t\tadditional: {\n\t\t\t\tlabel: 'Additional Filters',\n\t\t\t\taccess: {\n\t\t\t\t\tinternal: true,\n\t\t\t\t\tauthenticated: true\n\t\t\t\t},\n\t\t\t\tfilters: [BOOKMARK_FILTER]\n\t\t\t}\n\t\t}\n\t},\n\t'modals': {\n\t\tdisplayName: 'Modals',\n\t\tdescription: 'Interactive windows that open above a page and close when the user takes some action.',\n\t\tenabledFilterGroups: {\n\t\t\treleases: {\n\t\t\t\tlabel: 'Release Compatibility',\n\t\t\t\taccess: {\n\t\t\t\t\tinternal: true,\n\t\t\t\t\tauthenticated: true,\n\t\t\t\t\tunauthenticated: true\n\t\t\t\t},\n\t\t\t\tfilters: []\n\t\t\t},\n\t\t\tavailability: {\n\t\t\t\tlabel: 'Availability',\n\t\t\t\taccess: {\n\t\t\t\t\tinternal: true,\n\t\t\t\t\tauthenticated: false\n\t\t\t\t},\n\t\t\t\tfilters: AVAILABILITY_FILTERS\n\t\t\t},\n\t\t\tadditional: {\n\t\t\t\tlabel: 'Additional Filters',\n\t\t\t\taccess: {\n\t\t\t\t\tinternal: true,\n\t\t\t\t\tauthenticated: true\n\t\t\t\t},\n\t\t\t\tfilters: [BOOKMARK_FILTER]\n\t\t\t}\n\t\t}\n\t}\n};\n\n// List of all the sort options for search results\nexport const SORT_OPTIONS = ['score', 'nameAsc', 'nameDesc'];\n\nexport const ELEMENT_TYPE_IDENTIFIERS = ['uib_app-shells', 'uib_modal', 'uib_page', 'uib_component'];\n\nexport const COMPONENT_SEARCH_BATCH_TIMEOUT = 800; // time (in ms) to select multiple filters before the request is sent\n\n/**\n * UPDATE BELOW OBJECT ACCORDINGLY, WHILE ADDING/ UPDATING  ELEMENT TYPES / FILTER GROUPS\n * object has shortened values of elementTypes and filter groups\n * this object is stored in local storage to identify whether to open / close filter groups\n * refer to MAP_OBJECT below to know values of short names\n */\nexport const ZIP_UP_CONST = {\n\t//Now Experience Components\n\t'necs': {\n\t\t'rc': true, \n\t\t'ctg': true,\n\t\t'avbt': true,\n\t\t'afs': true\n\t},\n\t'aps': {\n\t\t'rc': true,\n\t\t'avbt': true,\n\t\t'afs': true\n\t},\n\t'pts': {\n\t\t'rc': true,\n\t\t'avbt': true,\n\t\t'afs': true\n\t},\n\t'mdls': {\n\t\t'rc': true,\n\t\t'avbt': true,\n\t\t'afs': true\n\t}\n};\n\n// UPDATE THIS OBJECT WHILE ADDING / UPDATING NEW ELEMENT TYPES OR FILTER GROUPS\nexport const MAP_OBJECT = {\n\t \"components\": \"necs\", \n\t \"app-shells\": \"aps\",\n\t \"page-templates\": \"pts\",\n\t \"modals\": \"mdls\",\n\t \"Release Compatibility\": \"rc\",\n\t \"Category\": \"ctg\",\n\t \"Availability\": \"avbt\",\n\t \"Additional Filters\": \"afs\"\n};\n\n// default URL for components page redirection from devSite, it's URL value after #\nexport const COMPONENTS_PAGE_URL_WITHOUT_PARAMS = '!/reference/next-experience/components';","import { ARRAY_FILTER_TYPES } from './constants';\nimport { DevPlatformStorage } from '../../utils/storage';\nimport { isEmployee } from '../../utils/helpers'\nimport { CONSTANTS } from '../../constants';\nimport { filter } from '../../icons';\n\n/**\n* Returns a list of default enabled filters for a pristine state\n* based on user type (internal/customer)\n*\n* @param {object} properties - seismic properties object\n* @return {array} - array of default filters\n*/\nexport const getDefaultFilters = (properties) => {\n\tconst { instanceInfo, elementType, elementTypesData, hasServiceNowRole } = properties;\n\tconst data = elementTypesData[elementType].enabledFilterGroups;\n\n\tif (!data) {\n\t\treturn [];\n\t}\n\n\tlet defaultFilters = [];\n\tif(data.releases.filters.length) {\n\t\tlet pdiReleaseName;\n\t\tlet pdiRelease;\n\t\tif(instanceInfo && instanceInfo.release) {\n\t\t\tpdiReleaseName = instanceInfo.release.toLowerCase();\n\t\t\tpdiRelease = data.releases.filters.find(release => release.value === pdiReleaseName);\n\t\t}\n\t\tif(hasServiceNowRole) {\n\t\t\tdefaultFilters = []; // empty for SN employee\n\t\t} else if(pdiRelease) {\n\t\t\tdefaultFilters = [pdiRelease]; // use PDI release for users that have one\n\t\t} else {\n\t\t\tdefaultFilters = [data.releases.filters[0]]; // latest available\n\t\t}\n\t}\n\n\tfor (const [key, value] of Object.entries(data)) {\n\t\tconst { filters } = value;\n\n\t\tdefaultFilters = [\n\t\t\t...defaultFilters,\n\t\t\t...filters.filter(item =>\n\t\t\t\thasServiceNowRole && item.internalDefault || !hasServiceNowRole && item.default\n\t\t\t\t)\n\t\t\t];\n\t\t}\n\n\t\treturn defaultFilters;\n\t}\n\n/**\n * If no releases are selected, then this sets all releases as selected\n * this helps validate that at least one release must be passed, even\n * though the UI allows no releases to be selected.\n * none selected === all selected\n *\n * @param {object} params - the query parameters to be sent to the API\n * @param {array} availableReleases - label, value object of releases available to user\n * @return {object} params with releases\n */\nexport const toggleReleasesIfUnset = (params, availableReleases) => {\n\tlet newParams = Object.assign({}, params);\n\tif(!newParams.releases || newParams.releases.length === 0) {\n\t\tnewParams.releases = availableReleases.map(release => release.value);\n\t}\n\treturn newParams;\n}\n\n/**\n * Takes a list of active filter objects and converts it\n * into a query string\n *\n * @param {array} filters - array of filter objects\n * @return {string}\n */\nexport const filtersToParamsString = (filters) => {\n\tconst queryArray = filters.map(filter => {\n\n\t\tlet key = `${filter.type}[]`;\n\t\tlet value = filter.value.replace(/ /g, '+');\n\n\t\tif (filter.type === 'boolean') {\n\t\t\tkey = filter.value;\n\t\t\tvalue = true\n\t\t}\n\n\t\tif (filter.value === 'Dev-Design System') {\n\t\t\tkey = `categories[]`;\n\t\t\tvalue = filter.value.replace(/ /g, '+');\n\t\t}\n\n\t\treturn `${key}=${value}`;\n\t});\n\n\treturn `?${queryArray.join('&')}`\n}\n\n/**\n * Takes a querystring and converts it into a Seismic friendly\n * httpEffect object\n *\n * @param {string} queryString\n * @return {object}\n */\nexport const filtersToParamsObject = (queryString) => {\n\tlet paramsObject = {};\n\n\tif(typeof(queryString) !== 'string') {\n\t\treturn paramsObject;\n\t}\n\n\tconst newParams = new URLSearchParams(queryString.replace(/\\[\\]=/g, '='));\n\n\tfor (const [key, value] of newParams.entries()) {\n\t\tconst isArray = ARRAY_FILTER_TYPES.includes(key);\n\n\t\tif (!paramsObject[key]) {\n\t\t\tparamsObject[key] = isArray ? [] : '';\n\t\t}\n\n\t\tif (isArray) {\n\t\t\tparamsObject[key] = [...paramsObject[key], value];\n\t\t} else {\n\t\t\tparamsObject[key] = value;\n\t\t}\n\t}\n\n\treturn paramsObject\n}\n\n/**\n * Takes 2 arrays and searches through the second one to add to the first.\n * Returns the first array with the found value at the end if found\n *\n * @param {array} currentFilters - main array to add matching item to\n * @param {array} activeFilters - second array to search through for value\n * @param {string} newFilterValue - value to find in filters array\n * @return {array} - array with the new item added if found\n */\nexport const findAndAddActiveFilter = (currentFilters, activeFilters, newFilterValue) => {\n\t// If the arguments lack the right types,\n\t// just return the current filters\n\tif(\n\t\t!Array.isArray(currentFilters) ||\n\t\t!Array.isArray(activeFilters) ||\n\t\ttypeof(newFilterValue) !== 'string'\n\t) {\n\t\treturn currentFilters;\n\t}\n\n\tconst activeFilter = activeFilters.find(filterItem => filterItem.value === newFilterValue);\n\n\tif (activeFilter) {\n\t\treturn [...currentFilters, activeFilter];\n\t}\n\n\treturn currentFilters;\n}\n\n/**\n * Takes a object representation of query params and\n * returns a list of active filters\n *\n * @param {object} queryParamsObject\n * @param {object} filterCategories\n * @return {array}\n */\nexport const paramsToFilters = (queryParamsObject, filterCategories) => {\n\tconst params = {...queryParamsObject};\n\tdelete params.query;\n\tdelete params.order_by;\n\n\tlet activeFilters = [];\n\n\tObject.keys(params).forEach(param => {\n\t\tconst paramNameWithoutBrackets = param.replace('[]', '');\n\n\t\tif (filterCategories[paramNameWithoutBrackets]) {\n\t\t\t// Is a category param\n\t\t\tconst filters = [...filterCategories[paramNameWithoutBrackets].filters, ...filterCategories.additional.filters];\n\t\t\tif (Array.isArray(params[param])) {\n\t\t\t\tparams[param].forEach(item => {\n\t\t\t\t\tactiveFilters = findAndAddActiveFilter(activeFilters, filters, item);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tactiveFilters = findAndAddActiveFilter(activeFilters, filters, params[param]);\n\t\t\t}\n\t\t} else {\n\t\t\t// Is a boolean param\n\t\t\tif(`${params[param]}`.toLowerCase() !== \"false\") {\n\t\t\t\tactiveFilters = findAndAddActiveFilter(activeFilters, filterCategories.additional.filters, param);\n\t\t\t}\n\t\t}\n\t});\n\n\treturn activeFilters;\n}\n\n/**\n * Takes an access object and users status and determines if the user should see\n * the content\n *\n * @param {object} access\n * @param {boolean} isLoggedIn\n * @param {boolean} hasServiceNowRole\n * @return {boolean}\n */\nexport const accessAllowed = (access, isLoggedIn, hasServiceNowRole) => {\n\tif(!(typeof(access) === 'object' && access !== null)) {\n\t\treturn undefined;\n\t}\n\n\t// SN only\n\tif(hasServiceNowRole) {\n\t\treturn access.internal;\n\t}\n\n\t// logged in only\n\tif(isLoggedIn) {\n\t\treturn access.authenticated;\n\t}\n\n\t// unauthenticated (either true, false, or undefined)\n\treturn access.unauthenticated;\n}\n\n/**\n * Takes a params object and removes any '[]' from the end of the keys\n *\n * @param {object} params\n * @return {object}\n */\nexport const cleanBracketsFromParamsObject = params => {\n\tlet cleanParams = {};\n\n\tif(typeof(params) === 'object' && params !== null) {\n\t\tfor ( const [key, value] of Object.entries(params)) {\n\t\t\tcleanParams[key.replace('[]', '')] = value;\n\t\t}\n\t}\n\n\treturn cleanParams;\n}\n\n/**\n * Takes a list of active filters and default filters and only returns the\n * active filters that exist in the default filter list\n *\n * @param {array} activeFilters\n * @param {array} defaultFilters\n * @return {array}\n */\nexport const mergeActiveFiltersWithDefaults = (activeFilters, defaultFilters=[]) => {\n\tconst merged = activeFilters.filter(({type, value}) => {\n\t\tconst typeFilters = defaultFilters[type]\n\t\t\t? defaultFilters[type].filters\n\t\t\t: [];\n\t\tconst combinedDefaults = [...typeFilters, ...defaultFilters['additional'].filters];\n\n\t\treturn combinedDefaults.find(item => item.value === value);\n\t});\n\n\treturn merged;\n}\n\nexport const storeFiltersInLocalStorage = (filters, userInfo) => {\n\tvar storageObj = {\n\t\treleases: [],\n\t\tcategories: [],\n\t\tavailability: [],\n\t\tadditional: []\n\t};\n\n\tconst isLoggedIn = userInfo && userInfo.is_logged_in;\n\tconst isInternal = isEmployee(userInfo);\n\tfilters = filters.filter((filter, index, object) => {\n\t\tif (!filter.access.authenticated && isLoggedIn && !isInternal) {\n\t\t\treturn false;\n\t\t} else if (!filter.access.unauthenticated && !isLoggedIn) {\n\t\t\treturn false;\n\t\t} else if (!filter.access.internal && isInternal) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t});\n\n\tfilters.forEach(filter => {\n\t\tconst { type, value } = filter;\n\t\tArray.isArray(storageObj[type])\n\t\t\t? storageObj[type].push(value)\n\t\t\t: storageObj.additional.push(value);\n\t});\n\n\tDevPlatformStorage.saveToLocalStorage(\n\t\tCONSTANTS.DEFAULTS.COMPONENT_GALLERY_FILTERS_LOCAL_STORAGE,\n\t\tstorageObj\n\t);\n};\n\nexport const updateFiltersFromStorage = (\n\tproperties,\n\tupdateProperties,\n\tdispatch\n) => {\n\tconst { elementType, elementTypesData } = properties;\n\tconst storageFilters = DevPlatformStorage.loadFromLocalStorage(\n\t\tCONSTANTS.DEFAULTS.COMPONENT_GALLERY_FILTERS_LOCAL_STORAGE\n\t);\n\n\tif (storageFilters) {\n\t\tvar newFilters = [];\n\n\t\tsetTimeout(function() {\n\t\t\tfor (const key in storageFilters) {\n\t\t\t\telementTypesData[elementType].enabledFilterGroups[key] &&\n\t\t\t\t\telementTypesData[elementType].enabledFilterGroups[\n\t\t\t\t\t\tkey\n\t\t\t\t\t].filters.forEach(filter => {\n\t\t\t\t\t\tif (storageFilters[key].includes(filter.value)) {\n\t\t\t\t\t\t\tnewFilters.push(filter);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t}\n\t\t\tupdateProperties({ activeFilters: newFilters });\n\n\t\t\tdispatch('DPS_COMPONENT_SEARCH#SUBMIT');\n\t\t}, 10);\n\t}\n};\n","import { makeHttpEffectCreator } from '../../../utils/helpers';\nimport { CONSTANTS } from '../../../constants';\nimport { APP_ACTIONS } from '../../dps-app/actions';\nimport { updateFiltersFromStorage } from '../helpers';\n\nconst fetchAvailableCategories = makeHttpEffectCreator(\n\tAPP_ACTIONS.GET_COMPONENT_AVAILABLE_CATEGORIES,\n\tCONSTANTS.ENDPOINTS.COMPONENT_ALL_CATEGORIES_V2,\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tonError(coeffects) {\n\t\t\tconst { updateState } = coeffects;\n\t\t\tupdateState({\n\t\t\t\tfailedFetchingAvailableCategories: false,\n\t\t\t\tfetchingAvailableCategories: false\n\t\t\t});\n\t\t},\n\t\tonSuccess(coeffects) {\n\t\t\tconst {\n\t\t\t\taction,\n\t\t\t\tdispatch,\n\t\t\t\tupdateProperties,\n\t\t\t\tupdateState,\n\t\t\t\tproperties\n\t\t\t} = coeffects;\n\t\t\tconst { componentsPageOpenedFromNav } = properties;\n\t\t\tconst { result } = action.payload;\n\n\t\t\tupdateProperties({ availableCategories: result.map(cat => ({...cat, label: cat.name, value: cat.name}))});\n\t\t\tupdateState({\n\t\t\t\tfailedFetchingAvailableCategories: false,\n\t\t\t\tfetchingAvailableCategories: false\n\t\t\t});\n\t\t\tdispatch('DPS_COMPONENT_GALLERY#UPDATE_ACTIVE_FILTERS', {\n\t\t\t\treplaceHash: true // don't update history when getting categories\n\t\t\t});\n\t\t\tif (componentsPageOpenedFromNav) {\n\t\t\t\tupdateFiltersFromStorage(properties, updateProperties, dispatch);\n\t\t\t}\n\t\t}\n\t}\n);\n\nexport default fetchAvailableCategories;\n","import { makeHttpEffectCreator } from '../../../utils/helpers';\nimport { CONSTANTS } from '../../../constants';\nimport { APP_ACTIONS } from '../../dps-app/actions';\n\nconst fetchBookmarkedComponents = makeHttpEffectCreator(\n\tAPP_ACTIONS.GET_BOOKMARKED_COMPONENTS,\n\tCONSTANTS.ENDPOINTS.BOOKMARKED_COMPONENTS_V1,\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tqueryParams: ['release'],\n\t\tonError(coeffects) {\n\t\t\tconst { updateState } = coeffects;\n\t\t\tupdateState({\n\t\t\t\tfailedFetchingBookmarkedComponents: true,\n\t\t\t\tfetchingBookmarkedComponents: false\n\t\t\t});\n\t\t},\n\t\tonSuccess(coeffects) {\n\t\t\tconst { action, updateProperties, updateState } = coeffects;\n\t\t\tconst { result } = action.payload;\n\t\t\tupdateProperties({ bookmarkedComponents: result });\n\t\t\tupdateState({\n\t\t\t\tfailedFetchingBookmarkedComponents: false,\n\t\t\t\tfetchingBookmarkedComponents: false\n\t\t\t});\n\t\t}\n\t}\n);\n\nexport default fetchBookmarkedComponents;\n","import { makeHttpEffectCreator } from '../../../utils/helpers';\nimport { CONSTANTS } from '../../../constants';\nimport { APP_ACTIONS } from '../../dps-app/actions';\nimport { INFINITE_SCROLL_ACTIONS } from '../../../behaviors/infiniteScroll/actions';\n\nconst fetchComponentSearchResults = makeHttpEffectCreator(\n\tAPP_ACTIONS.GET_COMPONENT_SEARCH,\n\tCONSTANTS.ENDPOINTS.COMPONENT_SEARCH_V3,\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tqueryParams: [\n\t\t\t'availability',\n\t\t\t'bookmarks',\n\t\t\t'categories',\n\t\t\t'internal_only',\n\t\t\t'limit',\n\t\t\t'npm',\n\t\t\t'offset',\n\t\t\t'order_by',\n\t\t\t'query',\n\t\t\t'releases',\n\t\t\t'uib'\n\t\t],\n\t\tonError(coeffects) {\n\t\t\tconst { updateState } = coeffects;\n\n\t\t\twindow.__CURRENT_SEARCH_COUNT--;\n\t\t\tupdateState({\n\t\t\t\tfailedFetchingSearchResults: true,\n\t\t\t\tfetchingSearchResults: window.__CURRENT_SEARCH_COUNT > 0 ? true : false\n\t\t\t});\n\t\t},\n\t\tonSuccess(coeffects) {\n\t\t\tconst {\n\t\t\t\taction,\n\t\t\t\tdispatch,\n\t\t\t\tstate,\n\t\t\t\tupdateProperties,\n\t\t\t\tupdateState\n\t\t\t} = coeffects;\n\t\t\tconst { result } = action.payload;\n\t\t\tconst nextOffset = parseInt(result.nextOffset, 10) || 0;\n\t\t\tconst totalCount = parseInt(result.totalCount, 10);\n\n\t\t\twindow.__CURRENT_SEARCH_COUNT--;\n\t\t\tupdateState({\n\t\t\t\tbehaviors: {\n\t\t\t\t\t...state.behaviors,\n\t\t\t\t\tinfiniteScroll: {\n\t\t\t\t\t\t...state.behaviors.infiniteScroll,\n\t\t\t\t\t\toffset: nextOffset\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tfailedFetchingSearchResults: false,\n\t\t\t\tfetchingSearchResults: window.__CURRENT_SEARCH_COUNT > 0 ? true : false,\n\t\t\t\tinitialSearchCompleted: true\n\t\t\t});\n\n\t\t\tif (state.loadingMoreEntries) {\n\t\t\t\tdispatch(INFINITE_SCROLL_ACTIONS.LOAD_MORE_ENTRIES, {\n\t\t\t\t\tdata: result.items\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tupdateProperties({\n\t\t\t\t\thasMoreSearchResults: nextOffset > 0,\n\t\t\t\t\tsearchResults: result.items,\n\t\t\t\t\ttotalNumberOfSearchResults: totalCount\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n);\n\nexport default fetchComponentSearchResults;\n","import { makeHttpEffectCreator } from '../../../utils/helpers';\nimport { CONSTANTS } from '../../../constants';\nimport { APP_ACTIONS } from '../../dps-app/actions';\nimport { DPS_COMPONENT_GALLERY_VIEW_MODE } from '../dps-component-gallery';\n\nconst toggleComponentBookmark = makeHttpEffectCreator(\n\tAPP_ACTIONS.TOGGLE_COMPONENT_BOOKMARK,\n\tCONSTANTS.ENDPOINTS.UPDATE_BOOKMARK_STATUS,\n\t{\n\t\tmethod: 'POST',\n\t\tdataParam: 'data',\n\t\tbatch: false,\n\t\tonError(coeffects) {\n\t\t\tconst { dispatch } = coeffects;\n\t\t\tdispatch(APP_ACTIONS.TOGGLE_COMPONENT_BOOKMARK_FAILED, { coeffects });\n\t\t},\n\t\tonSuccess(coeffects) {\n\t\t\tconst { dispatch, properties } = coeffects;\n\t\t\tconst { release, viewMode } = properties;\n\n\t\t\tif (viewMode === DPS_COMPONENT_GALLERY_VIEW_MODE.GALLERY) {\n\t\t\t\tdispatch(APP_ACTIONS.GET_BOOKMARKED_COMPONENTS, { release });\n\t\t\t\tdispatch(APP_ACTIONS.GET_COMPONENT_GALLERY, { release });\n\t\t\t}\n\t\t}\n\t}\n);\n\nexport default toggleComponentBookmark;\n","import { actionTypes } from '@servicenow/ui-core';\nimport { APP_ACTIONS } from '../../dps-app/actions';\nimport { INFINITE_SCROLL_BEHAVIOR } from '../../../behaviors/infiniteScroll/index';\nimport { INFINITE_SCROLL_ACTIONS } from '../../../behaviors/infiniteScroll/actions';\nimport fetchAvailableCategories from './fetchAvailableCategories';\nimport fetchBookmarkedComponents from './fetchBookmarkedComponents';\nimport fetchComponentSearchResults from './fetchComponentSearchResults';\nimport toggleComponentBookmark from './toggleComponentBookmark';\nimport { addHashBang, removeQueryParams } from '../../../behaviors/router/helpers';\nimport { HIDDEN_PARAMS, COMPONENT_SEARCH_BATCH_TIMEOUT, ELEMENT_TYPE_IDENTIFIERS, COMPONENTS_PAGE_URL_WITHOUT_PARAMS } from '../constants';\nimport {\n\tcleanBracketsFromParamsObject,\n\tgetDefaultFilters,\n\tfiltersToParamsString,\n\tmergeActiveFiltersWithDefaults,\n\tparamsToFilters,\n\ttoggleReleasesIfUnset,\n\tstoreFiltersInLocalStorage,\n\tupdateFiltersFromStorage\n} from '../helpers';\nimport isEqual from 'lodash/isEqual';\nimport {DevPlatformStorage} from '../../../utils/storage';\nimport { CONSTANTS } from '../../../constants';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\nconst DPS_COMPONENT_SEARCH_SUBMIT = 'DPS_COMPONENT_SEARCH#SUBMIT';\n\nexport default {\n\t...fetchAvailableCategories,\n\t...fetchBookmarkedComponents,\n\t...fetchComponentSearchResults,\n\t...toggleComponentBookmark,\n\t[COMPONENT_BOOTSTRAPPED]: ({ dispatch, properties, updateState, updateProperties }) => {\n\t\twindow.__CURRENT_SEARCH_COUNT = 0;\n\t\twindow.__COMPONENT_SEARCH_CARD_OBSERVER = new IntersectionObserver(entries => {\n\t\t\tentries.forEach(galleryCard => {\n\t\t\t\tif(galleryCard.isIntersecting === true) {\n\t\t\t\t\tgalleryCard.target.inViewport = true;\n\t\t\t\t}\n\t\t\t});\n\t\t}, {\n\t\t\troot: null,\n\t\t\trootMargin: '115% 0px 115% 0px',\n\t\t\tthreshold: 1.0\n\t\t});\n\n\t\tif (\n\t\t\tlocation.href.split('#')[1] === COMPONENTS_PAGE_URL_WITHOUT_PARAMS\n\t\t) {\n\t\t\tupdateProperties({\n\t\t\t\tcomponentsPageOpenedFromNav: true\n\t\t\t});\n\t\t}\n\n\t\t//To identify page reload\n\t\t//We are using the property 'isPageReloaded' to show expand/collapse values from local storage\n\t\t//If performance.navigation is deprecated (refer https://developer.mozilla.org/en-US/docs/Web/API/PerformanceNavigation/type), we keep default bahaviour(all filters are expanded).\n\t\tif(window && window.performance && window.performance.navigation && window.performance.navigation.type === 1) {\n\t\t\tupdateProperties({\n\t\t\t\tisPageReloaded: true\n\t\t\t});\n\t\t}\n\n\t\tconst { availableCategories, queryParams, availableReleases } = properties;\n\t\tif (availableCategories.length === 0) {\n\t\t\tdispatch(APP_ACTIONS.GET_COMPONENT_AVAILABLE_CATEGORIES);\n\t\t}\n\n\t\tlet cleanParams = cleanBracketsFromParamsObject(queryParams);\n\t\tcleanParams = toggleReleasesIfUnset(cleanParams, availableReleases);\n\t\tupdateState({\n\t\t\tfetchingSearchResults: true,\n\t\t\tloadingMoreEntries: false,\n\t\t});\n\n\t\twindow.__CURRENT_SEARCH_COUNT++;\n\t\tdispatch(APP_ACTIONS.GET_COMPONENT_SEARCH, { ...cleanParams, offset: 0 });\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: ({ action, dispatch, state, properties, updateProperties, updateState }) => {\n\t\tconst { name, value, previousValue } = action.payload;\n\t\tconst { activeFilters, elementTypesData, availableReleases, userInfo } = properties;\n\t\tconst { initialSearchCompleted } = state;\n\n\t\tswitch (name) {\n\t\t\tcase 'elementType':\n\t\t\t\tconst { enabledFilterGroups=[] } = elementTypesData[value];\n\t\t\t\tconst migratedFilters = mergeActiveFiltersWithDefaults(activeFilters, enabledFilterGroups);\n\n\t\t\t\tupdateProperties({\n\t\t\t\t\tactiveFilters: migratedFilters,\n\t\t\t\t\tquery: '',\n\t\t\t\t\tsort: 'nameAsc'\n\t\t\t\t});\n\n\t\t\t\tstoreFiltersInLocalStorage(activeFilters, userInfo);\n\n\t\t\t\tdispatch(DPS_COMPONENT_SEARCH_SUBMIT);\n\t\t\t\tbreak;\n\t\t\tcase 'queryParams':\n\n\t\t\t\tif (value.query !== previousValue.query) {\n\t\t\t\t\t// If the query param has changed we need to\n\t\t\t\t\t// make sure the UI's text input reflects it\n\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\tsearchInput: value.query,\n\t\t\t\t\t\tquery: value.query\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (!isEqual(value, previousValue)) {\n\t\t\t\t\tlet cleanParams = cleanBracketsFromParamsObject(action.payload.value);\n\n\t\t\t\t\t// if the queryParams have been changed to nothing, then we need to\n\t\t\t\t\t// repopulate the active filters/parameters with the defaults.\n\t\t\t\t\tif(Object.keys(action.payload.value).length === 0) {\n\t\t\t\t\t\tdispatch('DPS_COMPONENT_GALLERY#UPDATE_ACTIVE_FILTERS', {\n\t\t\t\t\t\t\treplaceHash: true\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tcleanParams = toggleReleasesIfUnset(cleanParams, availableReleases);\n\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tfetchingSearchResults: true,\n\t\t\t\t\t\tloadingMoreEntries: false,\n\t\t\t\t\t});\n\n\t\t\t\t\t// Are we switching element types while editing queryParams?\n\t\t\t\t\tlet switchingTypes = false;\n\t\t\t\t\tELEMENT_TYPE_IDENTIFIERS.forEach(elementType => {\n\t\t\t\t\t\tif(\n\t\t\t\t\t\t\tpreviousValue &&\n\t\t\t\t\t\t\tvalue &&\n\t\t\t\t\t\t\tpreviousValue['categories[]'] &&\n\t\t\t\t\t\t\tvalue['categories[]'] &&\n\t\t\t\t\t\t\t!previousValue['categories[]'].includes(elementType) &&\n\t\t\t\t\t\t\tvalue['categories[]'].includes(elementType)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tswitchingTypes = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\t// Ensures that the UI stays in sync with the URL modifications;\n\t\t\t\t\t// it's not necessary to perform a search here as the URL modification\n\t\t\t\t\t// would have already triggered that.\n\t\t\t\t\tdispatch('DPS_COMPONENT_GALLERY#UPDATE_ACTIVE_FILTERS', {\n\t\t\t\t\t\treplaceHash: true,\n\t\t\t\t\t\tperformSearch: false\n\t\t\t\t\t});\n\n\t\t\t\t\tif(switchingTypes || !initialSearchCompleted) {\n\t\t\t\t\t\t// switch instantly\n\t\t\t\t\t\twindow.__CURRENT_SEARCH_COUNT++;\n\t\t\t\t\t\tdispatch(APP_ACTIONS.GET_COMPONENT_SEARCH, { ...cleanParams });\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// throttle changes to avoid XHR races/queueing\n\t\t\t\t\t\tclearTimeout(window.__gallery_search_timeout);\n\t\t\t\t\t\twindow.__gallery_search_timeout = setTimeout(() => {\n\t\t\t\t\t\t\twindow.__CURRENT_SEARCH_COUNT++;\n\t\t\t\t\t\t\tdispatch(APP_ACTIONS.GET_COMPONENT_SEARCH, { ...cleanParams });\n\t\t\t\t\t\t}, COMPONENT_SEARCH_BATCH_TIMEOUT);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t},\n\t['DPS_COMPONENT_GALLERY#UPDATE_ACTIVE_FILTERS']: ({ action, dispatch, properties, updateProperties }) => {\n\t\tconst { elementType, elementTypesData, query, queryParams, searchInput, sort } = properties;\n\t\tconst sectionFilters = (elementTypesData[elementType] && elementTypesData[elementType].enabledFilterGroups)\n\t\t\t? elementTypesData[elementType].enabledFilterGroups\n\t\t\t: [];\n\t\tconst activeFilters = Object.keys(queryParams).length > 0\n\t\t\t? paramsToFilters(queryParams, sectionFilters)\n\t\t\t: getDefaultFilters(properties);\n\t\tconst performSearch = (action.payload && action.payload.performSearch === false) ? false : true;\n\t\tupdateProperties({\n\t\t\tactiveFilters,\n\t\t\tsearchInput: queryParams.query || searchInput,\n\t\t\tsort: queryParams.order_by || sort,\n\t\t\tquery: queryParams.query || query\n\t\t});\n\n\t\t// in _some_ cases we don't want to search after updating filters\n\t\tif(performSearch) {\n\t\t\tdispatch(DPS_COMPONENT_SEARCH_SUBMIT, action.payload); // payload is forwarded\n\t\t}\n\t},\n\t'DPS_INPUT#VALUE_CHANGE': ({ action, updateProperties }) => {\n\t\tupdateProperties({ searchInput: action.payload.value });\n\t},\n\t'DPS_INPUT#CLOSE_BUTTON_CLICKED': ({ dispatch, updateProperties }) => {\n\t\tupdateProperties({\n\t\t\tsearchInput: '',\n\t\t\tsort: 'nameAsc',\n\t\t\tquery: ''\n\t\t});\n\n\t\tdispatch(DPS_COMPONENT_SEARCH_SUBMIT);\n\t},\n\t'DPS_COMPONENT_GALLERY#SORT_UPDATE': ({ action, dispatch, updateProperties }) => {\n\t\tupdateProperties({ sort: action.payload.value });\n\t\tdispatch(DPS_COMPONENT_SEARCH_SUBMIT);\n\n\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\taction: 'Change sort order',\n\t\t\tcategory: 'Next Experience',\n\t\t\tlabel: action.payload.value,\n\t\t\tvalue: '',\n\t\t\tga: true,\n\t\t\tadobe: false\n\t\t});\n\t},\n\t'DPS_CARD#BOOKMARK_TOGGLE': ({ action, dispatch }) => {\n\t\tconst { identifier, release } = action.payload;\n\n\t\tdispatch(APP_ACTIONS.TOGGLE_COMPONENT_BOOKMARK, {\n\t\t\tdata: { bookmarkType: 'scr', identifier, release }\n\t\t});\n\n\t\tdispatch(DPS_COMPONENT_SEARCH_SUBMIT);\n\t},\n\t'DPS_COMPONENT_SEARCH#SEARCH_BUTTON': ({ dispatch, properties, updateProperties }) => {\n\t\tlet sort = properties.searchInput === '' ? 'nameAsc' : 'score';\n\t\tupdateProperties({ sort, query: properties.searchInput });\n\t\tdispatch(DPS_COMPONENT_SEARCH_SUBMIT);\n\n\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\taction: `${properties.elementType} search`,\n\t\t\tcategory: 'Next Experience',\n\t\t\tlabel: properties.searchInput,\n\t\t\tvalue: '',\n\t\t\tga: true,\n\t\t\tadobe: false\n\t\t});\n\t},\n\t[DPS_COMPONENT_SEARCH_SUBMIT]: ({ action, dispatch, properties, state, updateState }) => {\n\t\tconst { activeFilters, elementType, pathname, query, sort } = properties;\n\t\tconst nonFilterParams = `query=${query}&order_by=${sort}&limit=120&offset=0`;\n\t\tconst defaultTypeParams = HIDDEN_PARAMS[elementType];\n\t\tconst queryParamsString = `${filtersToParamsString(activeFilters)}&${nonFilterParams}&${defaultTypeParams}`;\n\t\tupdateState({\n\t\t\tloadingMoreEntries: false\n\t\t});\n\n\t\t// Because not all searches are \"forward\" actions, and some are corrections,\n\t\t// we want to preserve the ability to do something like `history.replaceState()`\n\t\t// when we don't want to cause weird navigation (when using the back button).\n\t\tlet newHash = addHashBang(removeQueryParams(pathname) + queryParamsString);\n\t\tif(action.payload && action.payload.replaceHash) {\n\t\t\tlocation.replace(location.href.split('#')[0] + newHash);\n\t\t} else {\n\t\t\tlocation.hash = newHash;\n\t\t}\n\n\t\tdispatch(INFINITE_SCROLL_ACTIONS.RESET_OBSERVER);\n\t},\n\t['DPS_CHECKBOX#CHECKED']: ({ action, dispatch, properties, updateProperties }) => {\n\t\tconst { activeFilters, elementType, userInfo } = properties;\n\t\tconst { value, data, filterGroup } = action.payload;\n\t\tconst { label: checkboxLabel } = data;\n\n\t\tlet newFilters = activeFilters.filter(item => item.value !== data.value);\n\n\t\tif (value) {\n\t\t\tnewFilters.push(data);\n\t\t}\n\n\t\tstoreFiltersInLocalStorage(newFilters, userInfo);\n\n\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\taction: `${value ? 'Select' : 'Un-select'} ${elementType} ${filterGroup}`,\n\t\t\tcategory: 'Next Experience',\n\t\t\tlabel: checkboxLabel,\n\t\t\tvalue: '',\n\t\t\tga: true,\n\t\t\tadobe: false\n\t\t});\n\n\t\tif(DevPlatformStorage.loadFromSessionStorage(CONSTANTS.DEFAULTS.IS_SIGNIN_CLICKED_SESSION_KEY)) {\n\t\t\tDevPlatformStorage.removeFromSessionStorage(CONSTANTS.DEFAULTS.IS_SIGNIN_CLICKED_SESSION_KEY);\n\t\t}\n\n\t\tupdateProperties({ activeFilters: newFilters });\n\t\tdispatch(DPS_COMPONENT_SEARCH_SUBMIT);\n\t},\n\t['DPS_COMPONENT_FILTER_SECTION#RESET']: ({ action, dispatch, properties, updateProperties }) => {\n\t\tconst { filters, label } = action.payload;\n\t\tconst { activeFilters, elementType, userInfo } = properties;\n\n\t\tconst newFilters = activeFilters.filter(activeItem => {\n\t\t\treturn !filters.find(filterItem => {\n\t\t\t\treturn activeItem.value === filterItem.value && activeItem.type === filterItem.type\n\t\t\t});\n\t\t});\n\t\tstoreFiltersInLocalStorage(newFilters, userInfo);\n\t\tupdateProperties({ activeFilters: newFilters });\n\t\tdispatch(DPS_COMPONENT_SEARCH_SUBMIT);\n\n\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\taction: `Reset ${elementType} ${label}`,\n\t\t\tcategory: 'Next Experience',\n\t\t\tlabel: '',\n\t\t\tvalue: '',\n\t\t\tga: true,\n\t\t\tadobe: false\n\t\t});\n\t},\n\t['DPS_COMPONENT_GALLERY#RESET_ALL']: ({ dispatch, updateProperties, properties }) => {\n\t\tconst { elementType, userInfo } = properties;\n\t\tupdateProperties({\n\t\t\tactiveFilters: [],\n\t\t\tsearchInput: '',\n\t\t\tquery: '',\n\t\t\tsort: 'nameAsc'\n\t\t});\n\t\tdispatch(DPS_COMPONENT_SEARCH_SUBMIT);\n\t\tstoreFiltersInLocalStorage([], userInfo);\n\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\taction: `Reset all ${elementType}`,\n\t\t\tcategory: 'Next Experience',\n\t\t\tlabel: '',\n\t\t\tvalue: '',\n\t\t\tga: true,\n\t\t\tadobe: false\n\t\t});\n\t},\n\t[INFINITE_SCROLL_ACTIONS.INTERSECTING_TARGET]: ({ dispatch, properties, state, updateState }) => {\n\t\tconst { queryParams, availableReleases } = properties;\n\t\tconst { offset=0 } = state.behaviors[INFINITE_SCROLL_BEHAVIOR];\n\n\t\t// Don't load any more entries. We've hit the end\n\t\tif (offset === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet cleanParams = cleanBracketsFromParamsObject(queryParams);\n\t\tcleanParams = toggleReleasesIfUnset(cleanParams, availableReleases);\n\n\t\t// Update state to indicate we'll be loading more items into the DOM\n\t\tupdateState({ loadingMoreEntries: true });\n\t\t// Trigger search for next payload\n\t\twindow.__CURRENT_SEARCH_COUNT++;\n\t\tdispatch(APP_ACTIONS.GET_COMPONENT_SEARCH, {\n\t\t\t...cleanParams,\n\t\t\toffset\n\t\t});\n\t},\n\t[INFINITE_SCROLL_ACTIONS.LOAD_MORE_ENTRIES]: ({ action, properties, updateProperties }) => {\n\t\tconst { searchResults } = properties;\n\t\tconst { data } = action.payload;\n\n\t\tupdateProperties({\n\t\t\tsearchResults: [...searchResults, ...data]\n\t\t});\n\t}\n};\n","import { CONSTANTS } from '../../constants';\n\nconst ttl = 84600 * 1000;\n\nexport const getCache = () => {\n\tlet newObject = {};\n\tconst data = localStorage.getItem(CONSTANTS.DEFAULTS.CACHE_KEY_CARD_IMAGES);\n\ttry {\n\t\tnewObject = JSON.parse(data);\n\t} catch (error) {\n\t\tconsole.log(error);\n\t}\n\n\t// clear the cache if it's too old\n\tif(!newObject || (newObject.expires && newObject.expires < new Date().getTime())) {\n\t\tnewObject = setCache({\n\t\t\texpires: new Date().getTime() + ttl\n\t\t});\n\t}\n\n\treturn newObject;\n}\n\nexport const setCache = (data) => {\n\tlet stringifiedData;\n\ttry {\n\t\tstringifiedData = JSON.stringify(data);\n\t} catch (error) {\n\t\tconsole.log(error);\n\t\treturn false;\n\t}\n\ttry {\n\t\tlocalStorage.setItem(CONSTANTS.DEFAULTS.CACHE_KEY_CARD_IMAGES, stringifiedData);\n\t} catch (error) {\n\t\tconsole.log(error);\n\t}\n\treturn data;\n}\n","import { actionTypes, createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-component-gallery-card.scss';\nimport placeholder from '../../images/thumbnail_placeholder.svg'\nimport stripTags from '../../utils/stripTags';\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\nimport { getCache, setCache } from './cache';\nimport { createPath } from '../../utils/url';\nimport { GALLERY_PAGE_LIST } from '../../connected-components/dps-reference-page/dps-reference-helper';\nimport '../dps-link';\nimport '../dps-badge';\nimport '../dps-bookmark';\n\n// Temporarily removes bookmarking from the card UI\nconst bookmarkingEnabled = false;\n\nconst highlightQuery = (str, query) => {\n\treturn str.replace(new RegExp(query, 'ig'), match => {\n\t\treturn `<span style=\"background: #F5EFCB\">${match}</span>`;\n\t});\n};\n\n// Stores the image sources that we've found in an object\n// This data is added whenever we do the work of fetching\n// and image and potentially get a 404 or 200.\nconst cacheImageSrc = (key, src, type) => {\n\t// read items, add key\n\tlet items = getCache();\n\titems[key] = {\n\t\tsrc,\n\t\ttype\n\t};\n\n\t// save items\n\tsetCache(items);\n}\n\nconst imageLoader = (updateProperties, component) => {\n\t// Use the component overview URL as a cache key,\n\t// but clean it up first.\n\tconst key = component && component.overview ? component.overview.replace(/^#!\\//, '') : '';\n\n\t// If a cached in memory image exists (based on the key above), use it, then return.\n\tconst items = getCache();\n\tif(\n\t\titems &&\n\t\titems[key]\n\t) {\n\t\tconst {src, type} = items[key];\n\n\t\tif(type === 'placeholder') {\n\t\t\t// If the cached image is the placeholder, we can use the\n\t\t\t// encoded, imported variable directly:\n\t\t\tupdateProperties({\n\t\t\t\timageSrc: placeholder,\n\t\t\t\timageUsed: type\n\t\t\t});\n\t\t} else if(src) {\n\t\t\t// If the cached image is a valid src, then we should just\n\t\t\t// use it as the work to fetch a \"good\" image was already done.\n\t\t\tupdateProperties({\n\t\t\t\timageSrc: src,\n\t\t\t\timageUsed: type\n\t\t\t});\n\t\t}\n\t\treturn false; // do nothing else! We should have a good image.\n\t}\n\n\t/**\n\t * Legacy image fetching and deciding code.\n\t *\n\t * This block below will try two different image sources. If the initial\n\t * `imageSrc` fails, it moves onto the secondary source: `previewImageSrc`.\n\t * If the secondary src fails or does not exist, we use the `placeholder`\n\t * skeleton image being imported above as the fallback.\n\t *\n\t * Each time we find (or fail to find) an image source, we will update the cache.\n\t */\n\tconst encodedComponentName = encodeURIComponent(component.component_name);\n\tconst imageSrc = `https://sndevstore.blob.core.windows.net/images/component-thumbnails/${encodedComponentName}.svg`;\n\tconst previewImageSrc = component.preview_image;\n\n\t// Load primary image and test...\n\tconst img = new Image();\n\timg.addEventListener('load', () => {\n\t\t// if loaded properly, set as imageSrc\n\t\tcacheImageSrc(key, imageSrc, 'component-name');\n\t\tupdateProperties({\n\t\t\timageSrc,\n\t\t\timageUsed: 'component-name'\n\t\t});\n\t});\n\timg.addEventListener('error', () => {\n\t\t// if there was a loading error, try the previewImg\n\t\tif(previewImageSrc) {\n\t\t\tconst previewImg = new Image();\n\t\t\tpreviewImg.addEventListener('load', () => {\n\t\t\t\tcacheImageSrc(key, previewImageSrc, 'preview-image');\n\t\t\t\t// if the previewImg loads, use it!\n\t\t\t\tupdateProperties({\n\t\t\t\t\timageSrc: previewImageSrc,\n\t\t\t\t\timageUsed: 'preview-image'\n\t\t\t\t});\n\t\t\t});\n\t\t\tpreviewImg.addEventListener('error', () => {\n\t\t\t\tcacheImageSrc(key, null, 'placeholder');\n\t\t\t\t// if the previewImg errors, fallback...\n\t\t\t\tupdateProperties({\n\t\t\t\t\timageSrc: placeholder,\n\t\t\t\t\timageUsed: 'placeholder'\n\t\t\t\t});\n\t\t\t});\n\t\t\tpreviewImg.src = previewImageSrc; // load the previewImg (in memory)\n\t\t} else {\n\t\t\tcacheImageSrc(key, null, 'placeholder');\n\t\t\t// if there's no previewImageSrc, fallback...\n\t\t\tupdateProperties({\n\t\t\t\timageSrc: placeholder,\n\t\t\t\timageUsed: 'placeholder'\n\t\t\t});\n\t\t}\n\t});\n\timg.src = imageSrc; // load the imageSrc (in memory)\n}\nconst DpsComponentGalleryCard = ({ properties }, { updateProperties }) => {\n\tconst { isHovering, userInfo, component, imageSrc, imageUsed, query, release } = properties;\n\n\tconst {\n\t\tapi,\n\t\tavailability,\n\t\tbookmarked,\n\t\tcomponent_name,\n\t\tdescription,\n\t\tdisplay_name,\n\t\tinternal,\n\t\tinternal_only,\n\t\toverview,\n\t\tplayground,\n\t\tusage,\n\t\tuibSetup,\n\t\tshow_badge\n\t} = component;\n\n\tconst isLoggedIn = userInfo && userInfo.is_logged_in;\n\tconst availabilityLowercase = `${availability}`.toLowerCase();\n\n\tconst links = [\n\t\t{\n\t\t\tlabel: 'UIB Setup',\n\t\t\thref: uibSetup\n\t\t},\n\t\t{\n\t\t\tlabel: 'API',\n\t\t\thref: api\n\t\t},\n\t\t{\n\t\t\tlabel: 'Usage',\n\t\t\thref: usage\n\t\t},\n\t\t{\n\t\t\tlabel: 'Gallery',\n\t\t\thref: GALLERY_PAGE_LIST.includes(component_name)\n\t\t\t\t? createPath(`/reference/next-experience/${release}/now-components/${component_name}/gallery`)\n\t\t\t\t: null\n\t\t},\n\t\t{\n\t\t\tlabel: 'Playground',\n\t\t\thref: playground\n\t\t}\n\t];\n\n\t// component description can be inconsistent. we want to restructure it so the string is more predictable\n\tconst cleanDescription = description\n\t\t? `<p>${stripTags(description, /<\\/div>|<div>|<\\/p>|<p>/g)}</p>`\n\t\t: '';\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"dps-component-gallery-card\"\n\t\t\ton-mouseenter={() => updateProperties({ isHovering: true })}\n\t\t\ton-mouseleave={() => updateProperties({ isHovering: false })}\n\t\t>\n\t\t\t<div className=\"dps-component-gallery-card-image-container\">\n\t\t\t\t{imageSrc ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'dps-component-gallery-card-image': true,\n\t\t\t\t\t\t\t'-primary-image': imageUsed === 'component-name',\n\t\t\t\t\t\t\t'-secondary-image': imageUsed === 'preview-image',\n\t\t\t\t\t\t\t'-fallback-image': imageUsed === 'default'\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t'background-image': `url(${imageSrc})`\n\t\t\t\t\t\t}}\n\t\t\t\t\t\thref={overview}\n\t\t\t\t\t\taria-label={`View ${display_name ? display_name : component_name} overview`}\n\t\t\t\t\t></a>\n\t\t\t\t) : null}\n\t\t\t\t{bookmarkingEnabled ? (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t['dps-component-gallery-card-bookmark']: true,\n\t\t\t\t\t\t\t['bookmarked']: bookmarked\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{isLoggedIn ? (\n\t\t\t\t\t\t\t<dps-bookmark\n\t\t\t\t\t\t\t\tidentifier={component_name}\n\t\t\t\t\t\t\t\tbookmarked={bookmarked}\n\t\t\t\t\t\t\t></dps-bookmark>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t\t<div className=\"dps-component-gallery-card-content\">\n\t\t\t\t<div className=\"dps-component-gallery-card-tags\">\n\t\t\t\t\t{show_badge ? (\n\t\t\t\t\t<dps-badge\n\t\t\t\t\t\tvariant=\"servicenow\"\n\t\t\t\t\t\ttooltip=\"ServiceNow Confidential\"\n\t\t\t\t\t\talwaysCollapsed\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\ticonColor=\"#63DF4E\"\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t{/* needs additional data from CGR; disabled with `false` */}\n\t\t\t\t{false ? (\n\t\t\t\t\t<dps-badge\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tcollapsible\n\t\t\t\t\t\tcollapsed={!isHovering}\n\t\t\t\t\t\ton-focus={() => updateProperties({ isHovering: true })}\n\t\t\t\t\t\ton-focusout={() => updateProperties({ isHovering: false })}\n\t\t\t\t\t\tlabel=\"Receiving Enhancements\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t>\n\t\t\t\t\t</dps-badge>\n\t\t\t\t) : null}\n\n\t\t\t\t{availabilityLowercase === 'draft' ? (\n\t\t\t\t\t<dps-badge\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tcollapsible\n\t\t\t\t\t\tcollapsed={!isHovering}\n\t\t\t\t\t\ton-focus={() => updateProperties({ isHovering: true })}\n\t\t\t\t\t\ton-focusout={() => updateProperties({ isHovering: false })}\n\t\t\t\t\t\tlabel=\"Proposed\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t>\n\t\t\t\t\t</dps-badge>\n\t\t\t\t) : null}\n\n\t\t\t\t{internal_only ? (\n\t\t\t\t\t<dps-badge\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tcollapsible\n\t\t\t\t\t\tcollapsed={!isHovering}\n\t\t\t\t\t\ton-focus={() => updateProperties({ isHovering: true })}\n\t\t\t\t\t\ton-focusout={() => updateProperties({ isHovering: false })}\n\t\t\t\t\t\tlabel=\"Internal\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t>\n\t\t\t\t\t</dps-badge>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t\t<h3 className=\"dps-component-gallery-card-title\">\n\t\t\t\t<a\n\t\t\t\t\thref={overview}\n\t\t\t\t\ttitle={display_name}\n\t\t\t\t\tinnerHTML={\n\t\t\t\t\t\tquery ? highlightQuery(display_name, query) : display_name\n\t\t\t\t\t}\n\t\t\t\t></a>\n\t\t\t</h3>\n\t\t\t<div\n\t\t\t\tclassName=\"dps-component-gallery-card-description\"\n\t\t\t\tinnerHTML={\n\t\t\t\t\tquery ? highlightQuery(cleanDescription, query) : cleanDescription\n\t\t\t\t}\n\t\t\t></div>\n\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-component-gallery-card-v3', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DpsComponentGalleryCard\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]({ action, updateProperties, properties: { component } }) {\n\t\t\twindow.__COMPONENT_SEARCH_CARD_OBSERVER.observe(action.payload.host);\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]({ action: {payload: {name, value, previousValue}}, updateProperties, properties: { component } }) {\n\t\t\t// The placeholder is the default image, but if the `inViewport` property changes from\n\t\t\t// false to true, we know it's time to load the image from the cache or one of the sources.\n\t\t\tif(name === 'inViewport' && value === true && previousValue === false) {\n\t\t\t\timageLoader(updateProperties, component);\n\t\t\t}\n\t\t},\n\t\t['DPS_BOOKMARK#TOGGLE_STATUS']: coeffects => {\n\t\t\tconst { action, dispatch, properties } = coeffects;\n\t\t\tconst { identifier } = action.payload;\n\t\t\tconst { release } = properties;\n\n\t\t\tdispatch('DPS_CARD#BOOKMARK_TOGGLE', { identifier, release })\n\t\t}\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Component thumbnail\n\t\t * @type {string}\n\t\t */\n\t\timageSrc: {\n\t\t\tdefault: placeholder\n\t\t},\n\t\t/**\n\t\t * Component thumbnail\n\t\t * @type {string}\n\t\t */\n\t\timageUsed: {\n\t\t\tdefault: 'placeholder'\n\t\t},\n\t\t/**\n\t\t * Determines when to open internal badge\n\t\t * @type {boolean}\n\t\t */\n\t\tisHovering: {\n\t\t\tdefault: false\n\t\t},\n\t\tinViewport: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * User info\n\t\t * @type {{}}\n\t\t */\n\t\tuserInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\t/**\n\t\t * Component object\n\t\t * @type {{}}\n\t\t */\n\t\tcomponent: {\n\t\t\tdefault: {}\n\t\t},\n\t\t/**\n\t\t * Search term\n\t\t * @type {string}\n\t\t */\n\t\tquery: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Release\n\t\t * @type {string}\n\t\t */\n\t\trelease: {\n\t\t\tdefault: ''\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-component-gallery.scss';\nimport { accessAllowed } from './helpers';\nimport { dashCase } from '../../utils/case/dashCase';\nimport '../../components/dps-checkbox';\nimport '@servicenow/now-icon';\nimport { DevPlatformStorage } from '../../utils/storage';\nimport { CONSTANTS } from '../../constants';\nimport {ZIP_UP_CONST, MAP_OBJECT} from './constants';\nimport { actionTypes } from '@servicenow/ui-core';\nconst { COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nconst _renderFilterList = (properties) => {\n\tconst {\n\t\tactiveFilters,\n\t\tfilters,\n\t\thasServiceNowRole,\n\t\tisLoggedIn,\n\t\tlabel: groupLabel\n\t} = properties;\n\n\treturn (\n\t\t<ul className=\"filter-list\">\n\t\t\t{\n\t\t\t\tfilters.map(filterItem => {\n\t\t\t\t\tconst { access, internalLabel, label, type, value, comingSoon } = filterItem;\n\t\t\t\t\tconst uniqueId = dashCase(`checkbox-${type}-${value}`);\n\t\t\t\t\tconst shouldShow = accessAllowed(access, isLoggedIn, hasServiceNowRole);\n\n\t\t\t\t\tif (!shouldShow) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\t// formatted label for special checkbox label accommodations\n\t\t\t\t\tlet formattedLabel = label; // base label\n\n\t\t\t\t\t// if is an employee and an alternate `internalLabel` exists\n\t\t\t\t\tif(hasServiceNowRole && internalLabel) {\n\t\t\t\t\t\t// use the SN only, internal label instead\n\t\t\t\t\t\tformattedLabel = internalLabel;\n\t\t\t\t\t}\n\n\t\t\t\t\t// if release is marked as \"coming soon\"\n\t\t\t\t\tif(comingSoon && hasServiceNowRole) {\n\t\t\t\t\t\t// append the coming soon text to the `.secondary-text` span in the label\n\t\t\t\t\t\tformattedLabel = [formattedLabel, \" \", <span className=\"secondary-text\">(coming soon)</span>];\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<dps-checkbox\n\t\t\t\t\t\t\t\tid={uniqueId}\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\tlabel={formattedLabel}\n\t\t\t\t\t\t\t\tname={`${type}-${value}`}\n\t\t\t\t\t\t\t\tappend-to-payload={{data: filterItem, filterGroup: groupLabel}}\n\t\t\t\t\t\t\t\tchecked={activeFilters.filter(item => item.value === filterItem.value && item.type === filterItem.type).length > 0}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t)\n\t\t\t\t})\n\t\t\t}\n\t\t</ul>\n\t)\n}\n\nconst view = ({ properties }, { dispatch }) => {\n\tconst { activeFilters, filters, label, open, elementType, componentsPageOpenedFromNav, isPageReloaded, signInClicked } = properties;\n\tconst numActiveFilters = activeFilters.filter(activeItem => {\n\t\treturn filters.find(filterItem => {\n\t\t\treturn activeItem.value === filterItem.value && activeItem.type === filterItem.type\n\t\t});\n\t}).length;\n\n\tlet storageValue = DevPlatformStorage.loadFromLocalStorage(\n\t\tCONSTANTS.DEFAULTS.COMPONENT_PAGE_ZIP_UP_LOCALSTORAGE_KEY\n\t);\n\n\tlet isOpen = (storageValue && (componentsPageOpenedFromNav || isPageReloaded || signInClicked)) ? storageValue[MAP_OBJECT[elementType]][MAP_OBJECT[label]] : open;\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'filter-list-section': true,\n\t\t\t\t'-is-open': isOpen\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'filter-list-header': true,\n\t\t\t\t\t'-is-open': isOpen\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<h4>{label}</h4>\n\t\t\t\t<div>\n\t\t\t\t\t{numActiveFilters > 0\n\t\t\t\t\t\t? (\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tclassName=\"reset\"\n\t\t\t\t\t\t\t\ton-click={e => dispatch('DPS_COMPONENT_FILTER_SECTION#RESET', {label, filters})}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\treset\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t) : null\n\t\t\t\t\t}\n\t\t\t\t\t<button\n\t\t\t\t\t\tclassName=\"toggle\"\n\t\t\t\t\t\ton-click={e => {\n\t\t\t\t\t\t\tdispatch('DPS_COMPONENT_FILTER_SECTION#TOGGLE')\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<now-icon icon={isOpen ? 'chevron-down-fill' : 'chevron-up-fill'} size=\"md\" />\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{\n\t\t\t\tisOpen ? _renderFilterList(properties) : null\n\t\t\t}\n\t\t</div>\n\t);\n}\n\nexport default createCustomElement('dps-component-filter-section', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tstyles,\n\tproperties: {\n\t\tactiveFilters: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\tdescription: 'List of active filter objects'\n\t\t\t}\n\t\t},\n\t\telementType: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['components', 'app-shells', 'page-templates', 'modals']\n\t\t\t}\n\t\t},\n\t\tfilters: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\tdescription: 'List of filter objects to generate checkboxes for'\n\t\t\t}\n\t\t},\n\t\thasServiceNowRole: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdescription: 'If true the user is a SN employee'\n\t\t\t}\n\t\t},\n\t\tisLoggedIn: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdescription: 'If true the user is authenticated'\n\t\t\t}\n\t\t},\n\t\tlabel: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdescription: 'Label for the section group'\n\t\t\t}\n\t\t},\n\t\topen: {\n\t\t\tdefault: true,\n\t\t\treflect: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdescription: 'Toggle open or close'\n\t\t\t}\n\t\t},\n\t\tcomponentsPageOpenedFromNav: {\n\t\t\tdefault: false\n\t\t},\n\t\tisPageReloaded: {\n\t\t\tdefault: false\n\t\t},\n\t\tsignInClicked: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t['DPS_COMPONENT_FILTER_SECTION#TOGGLE']: ({ dispatch, updateProperties, properties:{ elementType, label, open, componentsPageOpenedFromNav, isPageReloaded, signInClicked } }) => {\n\t\t\tlet storageValue = DevPlatformStorage.loadFromLocalStorage(\n\t\t\t\tCONSTANTS.DEFAULTS.COMPONENT_PAGE_ZIP_UP_LOCALSTORAGE_KEY\n\t\t\t);\n\t\t\tif (storageValue && (componentsPageOpenedFromNav || isPageReloaded || signInClicked)) {\n\t\t\t\tstorageValue[MAP_OBJECT[elementType]][MAP_OBJECT[label]] = !storageValue[MAP_OBJECT[elementType]][MAP_OBJECT[label]];\n\t\t\t} else {\n\t\t\t\tstorageValue = ZIP_UP_CONST;\n\t\t\t\tstorageValue[MAP_OBJECT[elementType]][MAP_OBJECT[label]] = !storageValue[MAP_OBJECT[elementType]][MAP_OBJECT[label]];\n\t\t\t}\n\t\t\t\n\t\t\tDevPlatformStorage.saveToLocalStorage(\n\t\t\t\tCONSTANTS.DEFAULTS.COMPONENT_PAGE_ZIP_UP_LOCALSTORAGE_KEY,\n\t\t\t\tstorageValue\n\t\t\t);\n\t\t\t\n\t\t\tif(DevPlatformStorage.loadFromSessionStorage(CONSTANTS.DEFAULTS.IS_SIGNIN_CLICKED_SESSION_KEY)) {\n\t\t\t\tDevPlatformStorage.removeFromSessionStorage(CONSTANTS.DEFAULTS.IS_SIGNIN_CLICKED_SESSION_KEY);\n\t\t\t}\n\t\t\tupdateProperties({\n\t\t\t\topen: !open\n\t\t\t});\n\n\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\taction: `filter group ${ open ? 'collapse' : 'expand' }`,\n\t\t\t\tcategory: 'Next Experience',\n\t\t\t\tlabel: `${elementType} ${label}`,\n\t\t\t\tvalue: '',\n\t\t\t\tga: true,\n\t\t\t\tadobe: false\n\t\t\t});\n\t\t},\n\t\t[COMPONENT_BOOTSTRAPPED]: ({updateProperties}) => {\n\t\t\tif(DevPlatformStorage.loadFromSessionStorage(CONSTANTS.DEFAULTS.IS_SIGNIN_CLICKED_SESSION_KEY)) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tsignInClicked: true\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n});\n","import { createPath } from '../../utils/url';\nimport '../../components/dps-breadcrumb';\nimport '../../components/dps-input';\nimport '../../components/dps-template-two-column';\nimport '../../components/dps-component-gallery-card-v3';\nimport '../../components/dps-checkbox';\nimport BrandFilterIcon from '../../images/icons/brand-filter.svg';\nimport './dps-component-gallery-filter-section';\nimport { accessAllowed } from './helpers';\nimport { KEYCODE } from '../../constants';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-button';\nimport NoResultsSvg from '../../images/no-results.svg';\n\nconst _renderSearch = (type, state, dispatch) => {\n\tif (!type.searchEnabled) { return null }\n\n\treturn (\n\t\t<div>\n\t\t\t<div className=\"search-wrapper\">\n\t\t\t\t<dps-input\n\t\t\t\t\ttype=\"search\"\n\t\t\t\t\tplaceholder=\"Find a component\"\n\t\t\t\t\tvalue={state.properties.searchInput}\n\t\t\t\t\ton-keyup={event => {\n\t\t\t\t\t\tif (event.keyCode === KEYCODE.ENTER) {\n\t\t\t\t\t\t\tdispatch('DPS_COMPONENT_SEARCH#SEARCH_BUTTON');\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t<now-button\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\tlabel=\"Search\"\n\t\t\t\t\ttooltip-content={''}\n\t\t\t\t\ton-click={() => dispatch('DPS_COMPONENT_SEARCH#SEARCH_BUTTON')}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nconst _renderFilters = (type, state, dispatch) => {\n\tconst { activeFilters, hasServiceNowRole, isLoggedIn, query, elementType, componentsPageOpenedFromNav, isPageReloaded } = state.properties;\n\tconst listOfFilters = Object.keys(type.enabledFilterGroups);\n\tconst { enabledFilterGroups } = type;\n\n\tconst filtersToShow = activeFilters.filter(filter => accessAllowed(filter.access, isLoggedIn, hasServiceNowRole));\n\tconst numFilters = filtersToShow.length + (query.length ? 1 : 0);\n\n\treturn (\n\t\t<div className=\"filter-group\">\n\t\t\t{_renderSearch(type, state, dispatch)}\n\t\t\t<div className=\"filter-count\">\n\t\t\t\t<img src={BrandFilterIcon} />\n\t\t\t\t<span>{numFilters === 0 ? 'No Filters Applied' : `${numFilters} Filters Applied`}</span>\n\t\t\t\t{numFilters > 0\n\t\t\t\t\t? (\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tclassName=\"reset\"\n\t\t\t\t\t\t\ton-click={e => {\n\t\t\t\t\t\t\t\tdispatch('DPS_COMPONENT_GALLERY#RESET_ALL')\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tReset all\n\t\t\t\t\t\t</button>\n\t\t\t\t\t) : null\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t<div className=\"filter-sections\">\n\t\t\t\t{\n\t\t\t\t\tlistOfFilters.map(filterGroup => {\n\t\t\t\t\t\tconst currentGroup = enabledFilterGroups[filterGroup];\n\t\t\t\t\t\tconst { access, label, filters } = currentGroup;\n\n\t\t\t\t\t\tconst shouldShow = accessAllowed(access, isLoggedIn, hasServiceNowRole);\n\n\t\t\t\t\t\tif (!shouldShow) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<dps-component-filter-section\n\t\t\t\t\t\t\t\tlabel={label}\n\t\t\t\t\t\t\t\tfilters={filters}\n\t\t\t\t\t\t\t\telementType={elementType}\n\t\t\t\t\t\t\t\thasServiceNowRole={hasServiceNowRole}\n\t\t\t\t\t\t\t\tactiveFilters={activeFilters}\n\t\t\t\t\t\t\t\tisLoggedIn={isLoggedIn}\n\t\t\t\t\t\t\t\tcomponentsPageOpenedFromNav={componentsPageOpenedFromNav}\n\t\t\t\t\t\t\t\tisPageReloaded={isPageReloaded}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nconst _renderSideBar = (state, dispatch) => {\n\tconst { elementType, elementTypesData } = state.properties;\n\tconst types = Object.keys(elementTypesData);\n\n\treturn (\n\t\t<div className=\"sidebar-content\">\n\t\t\t{\n\t\t\t\ttypes.map(type => {\n\t\t\t\t\t// adding the current query string prevents navigation\n\t\t\t\t\t// (and a glitch) when clicking on the current nav item.\n\t\t\t\t\tlet currentQueryString = `?${location.hash.replace(/^.*\\?/, '')}`;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div className=\"sidebar-group\">\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t'sidebar-nav-item': true,\n\t\t\t\t\t\t\t\t\t'active': type === elementType\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<a href={createPath(`/reference/now-experience/${type}${currentQueryString}`)}>\n\t\t\t\t\t\t\t\t\t<span>{elementTypesData[type].displayName}</span>\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype === elementType\n\t\t\t\t\t\t\t\t\t? _renderFilters(elementTypesData[type], state, dispatch)\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t}\n\t\t</div>\n\t)\n}\n\nconst view = (state, { dispatch }) => {\n\tconst {\n\t\telementType,\n\t\telementTypesData,\n\t\thasMoreSearchResults,\n\t\tpathname,\n\t\tquery,\n\t\tsearchResults,\n\t\tsort,\n\t\ttotalNumberOfSearchResults,\n\t\tuserInfo,\n\t} = state.properties;\n\n\tconst { fetchingSearchResults, initialSearchCompleted } = state;\n\n\tconst currentType = elementTypesData[elementType];\n\tconst { description, displayName } = currentType;\n\tconst nbspDiv = [<div>&nbsp;</div>];\n\tconst multipleSearchesRunning = window.__CURRENT_SEARCH_COUNT > 0;\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'dps-component-gallery': true\n\t\t\t}}\n\t\t>\n\t\t\t<dps-breadcrumb\n\t\t\t\titems={[\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Reference',\n\t\t\t\t\t\tredirectURL: createPath('/reference')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: displayName,\n\t\t\t\t\t\tredirectURL: createPath(pathname)\n\t\t\t\t\t}\n\t\t\t\t]}\n\t\t\t/>\n\t\t\t<dps-template-two-column open={true} fullWidthContent fullWidthSidebar>\n\t\t\t\t<div slot=\"sidebar\" className=\"dps-component-gallery-sidebar\">\n\t\t\t\t\t{_renderSideBar(state, dispatch)}\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-component-gallery-content\">\n\n\t\t\t\t\t{/*\n\t\t\t\t\t/// Header\n\t\t\t\t\t*/}\n\n\t\t\t\t\t<header className=\"dps-component-gallery-header\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<h1 className=\"title\">{displayName}</h1>\n\t\t\t\t\t\t\t<div className=\"sub-title\" innerHTML={description}></div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</header>\n\n\t\t\t\t\t{/*\n\t\t\t\t\t/// Filter bar\n\t\t\t\t\t*/}\n\n\t\t\t\t\t<div className=\"search-view-controls\">\n\t\t\t\t\t\t{fetchingSearchResults || !initialSearchCompleted || multipleSearchesRunning ? (\n\t\t\t\t\t\t\t// It seems better to not show totals as they are about to be replaced\n\t\t\t\t\t\t\tnbspDiv\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div>Showing {totalNumberOfSearchResults || 0} {displayName} {query.length ? `matching '${query}'` : ''}</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t['inactive']: sort === 'score'\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\ton-click={() => dispatch('DPS_COMPONENT_GALLERY#SORT_UPDATE', { value: ['score', 'nameDesc'].includes(sort) ? 'nameAsc' : 'nameDesc' })}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span className=\"text\">Name</span> {sort !== 'score' ? <now-icon icon={sort === 'nameAsc' ? 'chevron-down-fill' : 'chevron-up-fill'} size=\"sm\" /> : null}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t<span className=\"divider\" />\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t['inactive']: sort !== 'score'\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tdisabled={!query.length}\n\t\t\t\t\t\t\t\ton-click={() => dispatch('DPS_COMPONENT_GALLERY#SORT_UPDATE', { value: 'score' })}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span className=\"text\">Relevance</span>\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{/*\n\t\t\t\t\t/// Result List\n\t\t\t\t\t */}\n\t\t\t\t\t{\n\t\t\t\t\t\tsearchResults.length === 0 && !fetchingSearchResults && initialSearchCompleted && !multipleSearchesRunning\n\t\t\t\t\t\t? (\n\t\t\t\t\t\t\t<div className=\"no-results\">\n\t\t\t\t\t\t\t\t<img src={NoResultsSvg} />\n\t\t\t\t\t\t\t\t<h3>No Matching Results</h3>\n\t\t\t\t\t\t\t\t<p>Try removing some filters.</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)\n\t\t\t\t\t\t: (\n\t\t\t\t\t\t\t<ul className=\"dps-component-gallery-results-list\">\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tfetchingSearchResults || multipleSearchesRunning ? (\n\t\t\t\t\t\t\t\t\t\t<li className=\"loading\"><dps-spinner></dps-spinner></li>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\tsearchResults.map(result => {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<li key={`${result.sys_id}`}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<dps-component-gallery-card-v3\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcomponent={result}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tuser-info={userInfo}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tquery={query}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trelease={result.release}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tsearchResults.length > 0 && hasMoreSearchResults\n\t\t\t\t\t\t\t\t\t\t? <li className=\"dps-component-gallery-results-footer\">&nbsp;</li>\n\t\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\n\t\t\t\t</div>\n\t\t\t</dps-template-two-column>\n\t\t</div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport actionHandlers from './actionHandlers/index';\nimport styles from './dps-component-gallery.scss';\nimport infiniteScrollBehavior from '../../behaviors/infiniteScroll';\nimport { isEmployee, userInfoPopulated } from '../../utils/helpers';\nimport view from './view';\nimport { SORT_OPTIONS, TYPES } from './constants';\nimport { CONSTANTS } from '../../constants';\nexport const DPS_COMPONENT_GALLERY_VIEW_MODE = {\n\tGALLERY: 'DPS_COMPONENT_GALLERY_VIEW_MODE.GALLERY',\n\tSEARCH_RESULTS: 'DPS_COMPONENT_GALLERY_VIEW_MODE.SEARCH_RESULTS'\n};\n\nexport default createCustomElement('dps-component-gallery-v3', {\n\tactionHandlers,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: infiniteScrollBehavior,\n\t\t\toptions: {\n\t\t\t\tcontainerSelector: '.dps-component-gallery-results-list',\n\t\t\t\tlimit: 80,\n\t\t\t\trootMargin: '0px',\n\t\t\t\ttargetSelector: '.dps-component-gallery-results-footer',\n\t\t\t\tthreshold: 0.1\n\t\t\t}\n\t\t}\n\t],\n\tinitialState: {\n\t\tinitialSearchCompleted: false,\n\t\tloadingMoreEntries: false,\n\t\tfailedFetchingAvailableCategories: false,\n\t\tfailedFetchingBookmarkedComponents: false,\n\t\tfailedFetchingComponentGallery: false,\n\t\tfailedFetchingSearchResults: false,\n\t\tfetchingAvailableCategories: false,\n\t\tfetchingBookmarkedComponents: false,\n\t\tfetchingComponentGallery: false,\n\t\tfetchingSearchResults: false,\n\t\tsortOptions: SORT_OPTIONS\n\t},\n\tproperties: {\n\t\tactiveFilters: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\tdescription: 'Flat array of currently active filters'\n\t\t\t}\n\t\t},\n\t\tavailableCategories: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\tdescription: 'List of categories available, fetched from the instance'\n\t\t\t}\n\t\t},\n\t\tbookmarkedComponents: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\telementType: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['components', 'app-shells', 'page-templates', 'modals']\n\t\t\t}\n\t\t},\n\t\telementTypesData: {\n\t\t\tcomputed({ properties }) {\n\t\t\t\tconst { availableCategories, releaseInfo, systemProperties } = properties;\n\t\t\t\tconst comingSoon = !Object.keys(releaseInfo.activeVersionsFormatted).includes(releaseInfo.latestRelease);\n\t\t\t\tconst activeReleases = (systemProperties && systemProperties['dev.active_releases'])\n\t\t\t\t\t? systemProperties['dev.active_releases'].split(',')\n\t\t\t\t\t: [];\n\t\t\t\tconst availableVersions = releaseInfo && releaseInfo.activeVersionsFormatted\n\t\t\t\t\t? Object.keys(releaseInfo.activeVersionsFormatted)\n\t\t\t\t\t\t.sort((a, b) => {\n\t\t\t\t\t\t\tconst aIndex = activeReleases.indexOf(a);\n\t\t\t\t\t\t\tconst bIndex = activeReleases.indexOf(b);\n\t\t\t\t\t\t\treturn bIndex - aIndex;\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.map(release => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tlabel: releaseInfo.activeVersionsFormatted[release],\n\t\t\t\t\t\t\t\tcomingSoon: comingSoon,\n\t\t\t\t\t\t\t\ttype: 'releases',\n\t\t\t\t\t\t\t\tvalue: release,\n\t\t\t\t\t\t\t\taccess: {\n\t\t\t\t\t\t\t\t\tinternal: true,\n\t\t\t\t\t\t\t\t\tauthenticated: true,\n\t\t\t\t\t\t\t\t\tunauthenticated: true\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t})\n\t\t\t\t\t: [];\n\n\t\t\t\tconst availableCategoriesWithType = availableCategories.map(cat => ({\n\t\t\t\t\t...cat,\n\t\t\t\t\ttype: 'categories',\n\t\t\t\t\taccess: {\n\t\t\t\t\t\tinternal: true,\n\t\t\t\t\t\tauthenticated: true,\n\t\t\t\t\t\tunauthenticated: true\n\t\t\t\t\t}\n\t\t\t\t}));\n\n\t\t\t\tfor (const type in TYPES) {\n\t\t\t\t\tif (TYPES[type].enabledFilterGroups.releases) {\n\t\t\t\t\t\tTYPES[type].enabledFilterGroups.releases.filters = availableVersions;\n\t\t\t\t\t}\n\t\t\t\t\tif (TYPES[type].enabledFilterGroups.categories) {\n\t\t\t\t\t\tTYPES[type].enabledFilterGroups.categories.filters = availableCategoriesWithType;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn TYPES\n\t\t\t}\n\t\t},\n\t\thasMoreSearchResults: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\thasServiceNowRole: {\n\t\t\tcomputed({ properties }) {\n\t\t\t\treturn (\n\t\t\t\t\tuserInfoPopulated(properties.userInfo) &&\n\t\t\t\t\tisEmployee(properties.userInfo)\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\tinstanceInfo: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\tisLoggedIn: {\n\t\t\tcomputed({ properties }) {\n\t\t\t\treturn (\n\t\t\t\t\tproperties.userInfo && properties.userInfo.is_logged_in\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\tpathname: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\tquery: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdescription: 'Search string entered in the search box. Only set after the search button is pressed.'\n\t\t\t}\n\t\t},\n\t\tqueryParams: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\trelease: {\n\t\t\tdefault: '',\n\t\t\trequired: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\treleaseInfo: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\tavailableReleases: {\n\t\t\tcomputed({ properties }) {\n\t\t\t\tconst { releaseInfo, systemProperties } = properties;\n\n\t\t\t\tconst activeReleases = (systemProperties && systemProperties['dev.active_releases'])\n\t\t\t\t\t? systemProperties['dev.active_releases'].split(',')\n\t\t\t\t\t: [];\n\n\t\t\t\tconst availableReleases = releaseInfo && releaseInfo.activeVersionsFormatted\n\t\t\t\t\t? Object.keys(releaseInfo.activeVersionsFormatted)\n\t\t\t\t\t\t.sort((a, b) => {\n\n\t\t\t\t\t\t\tconst aIndex = activeReleases.indexOf(a);\n\t\t\t\t\t\t\tconst bIndex = activeReleases.indexOf(b);\n\t\t\t\t\t\t\treturn bIndex - aIndex; \n\t\t\t\t\t\t})\n\t\t\t\t\t\t.map(release => ({\n\t\t\t\t\t\t\tlabel: releaseInfo.activeVersionsFormatted[release],\n\t\t\t\t\t\t\tvalue: release\n\t\t\t\t\t\t}))\n\t\t\t\t\t: [];\n\n\t\t\t\treturn availableReleases;\n\t\t\t}\n\t\t},\n\t\trouteString: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\tsearchInput: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdescription: 'Value of the search input. On search it will populate the `query` property'\n\t\t\t}\n\t\t},\n\t\tsearchResults: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\tdescription: 'Flat array of component objects that populates viewMode: search'\n\t\t\t}\n\t\t},\n\t\tsort: {\n\t\t\tdefault: 'nameAsc',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: SORT_OPTIONS\n\t\t\t}\n\t\t},\n\t\tsystemProperties: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\ttotalNumberOfSearchResults: {\n\t\t\tdefault: 0,\n\t\t\tschema: {\n\t\t\t\ttype: 'number'\n\t\t\t}\n\t\t},\n\t\tuserInfo: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\tcomponentsPageOpenedFromNav: {\n\t\t\tdefault: false\n\t\t},\n\t\tisPageReloaded: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tstyles,\n\tview\n});","export const DPS_COURSE_MODULE_ACTIONS = {\n\tCOURSE_MODULE_BOOTSTRAPPED: 'DPS_COURSE_MODULE_ACTIONS#COURSE_MODULE_BOOTSTRAPPED',\n\tCOURSE_MODULE_FETCH_FAILED: 'DPS_COURSE_MODULE_ACTIONS#COURSE_MODULE_FETCH_FAILED',\n\tCOURSE_MODULE_FETCH_SUCCEEDED: 'DPS_COURSE_MODULE_ACTIONS#COURSE_MODULE_FETCH_SUCCEEDED',\n\tCOURSE_MODULE_STICKY_OFF: 'DPS_COURSE_MODULE#STICKY_OFF',\n\tCOURSE_MODULE_STICKY_ON: 'DPS_COURSE_MODULE#STICKY_ON'\n};","/* eslint-disable object-shorthand */\nimport { DPS_COURSE_MODULE_ACTIONS } from '../actions';\nimport {\n\tisUserUnauthorizedToViewPage,\n\tmakeHttpEffectCreator,\n\tredirectToAuth\n} from '../../../utils/helpers';\nimport { updateRoute } from '../../../routes';\nimport { CONSTANTS, DPS_ERROR_ACTIONS, ERROR_CODES } from '../../../constants';\nimport { setMetaByValues } from '../../../utils/meta';\nimport { replacePathParam } from '../../../utils/url';\nimport { triggerLearningSurvey, shouldTriggerSurvey } from '../../../utils/qualtricsSurveyTrigger';\nimport { DPS_LEARNING_COURSES_ACTIONS } from '../../dps-learning-courses/actions';\n\nconst getCourseModule = makeHttpEffectCreator(\n\tDPS_COURSE_MODULE_ACTIONS.COURSE_MODULE_BOOTSTRAPPED,\n\tCONSTANTS.ENDPOINTS.GET_COURSE_MODULE_DATA,\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tqueryParams: ['sysparm_data'],\n\t\tonError(coeffects) {\n\t\t\tconst { updateState, dispatch, action, properties, updateProperties } = coeffects;\n\t\t\tconst {\n\t\t\t\thash,\n\t\t\t\tinstanceInfo,\n\t\t\t\tpathname,\n\t\t\t\treleaseInfo,\n\t\t\t\trouteString,\n\t\t\t\tuserInfo,\n\t\t\t\tisReleaseReplaced,\n\t\t\t\trelease\n\t\t\t} = properties;\n\t\t\tconst { message } = action.payload && action.payload.data && action.payload.data.result;\n\t\t\tconst userUnauthorizedToViewPage = isUserUnauthorizedToViewPage(\n\t\t\t\tuserInfo,\n\t\t\t\taction.payload\n\t\t\t);\n\t\t\tconst { latestRelease } = releaseInfo;\n\t\t\tconst instanceRelease = instanceInfo && instanceInfo.release;\n\n\t\t\tupdateState({\n\t\t\t\tdataFetchFailed: true,\n\t\t\t\tfetchingCourseModule: false\n\t\t\t});\n\n\t\t\tif (userUnauthorizedToViewPage) {\n\t\t\t\tredirectToAuth(location.href);\n\t\t\t} else if (\n\t\t\t\t!userUnauthorizedToViewPage &&\n\t\t\t\tmessage === CONSTANTS.DEFAULTS.NO_CONTENT_FOUND_MESSAGE &&\n\t\t\t\t!isReleaseReplaced && \n\t\t\t\trelease !== (instanceRelease || latestRelease)\n\t\t\t) {\n\t\t\t\tconst replacedRelease = replacePathParam({\n\t\t\t\t\tparam: ':release',\n\t\t\t\t\trouteString,\n\t\t\t\t\tpathname,\n\t\t\t\t\tparamValue: instanceRelease || latestRelease,\n\t\t\t\t\thash\n\t\t\t\t});\n\t\t\t\tupdateRoute(replacedRelease);\n\t\t\t\tupdateProperties({\n\t\t\t\t\tisReleaseReplaced: true\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tif (action.payload && action.payload.data.result && action.payload.data.result.data && action.payload.data.result.statusCode === \"404\") {\n\t\t\t\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND, { otherReleases: action.payload.data.result.data.other_releases, contentTitle: action.payload.data.result.data.content_title, isContentNotFoundForCurrentRelease: true });\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND, { message: message });\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonSuccess(coeffects) {\n\t\t\tconst {\n\t\t\t\taction,\n\t\t\t\tproperties: { lessonId, courseId, release, releaseInfo },\n\t\t\t\tupdateProperties,\n\t\t\t\tupdateState,\n\t\t\t\tdispatch\n\t\t\t} = coeffects;\n\t\t\tconst { status } = action.payload.result;\n\n\t\t\tconst {\n\t\t\t\ttitle: courseTitle,\n\t\t\t\tcurrent_module: { title: currentModuleTitle, articles },\n\t\t\t\tnext_module,\n\t\t\t\tcourse_completion,\n\t\t\t\tcourse_qualtrics_survey_on\n\t\t\t} = action.payload.result.data.course;\n\n\t\t\tconst availableLanguages = action.payload.result.data.available_languages || [];\n\n\t\t\tlet currentLesson = articles.filter(\n\t\t\t\tlesson => lesson.content_id === lessonId\n\t\t\t)[0];\n\t\t\tif (!currentLesson) {\n\t\t\t\tcurrentLesson = articles[0];\n\t\t\t}\n\n\t\t\tsetMetaByValues({\n\t\t\t\ttitle: `${currentLesson.title} | ServiceNow Developer`,\n\t\t\t\tdescription: currentLesson.short_description\n\t\t\t});\n\n\t\t\tconst { next: nextLesson, prev: prevLesson } = currentLesson;\n\n\t\t\tconst nextModule = {\n\t\t\t\tnextModuleTitle:\n\t\t\t\t\tnext_module && next_module.title ? next_module.title : '',\n\t\t\t\tnextModuleLink:\n\t\t\t\t\tnext_module && next_module.topic_id\n\t\t\t\t\t\t? `${next_module.topic_id}/${next_module.content_id}`\n\t\t\t\t\t\t: ''\n\t\t\t};\n\n\t\t\tupdateState({\n\t\t\t\tfetchingCourseModule: false\n\t\t\t});\n\n\t\t\tif (status === 'success') {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tdataFetchFailed: false,\n\t\t\t\t\tisLoading: false,\n\t\t\t\t\tcourseModuleData: action.payload.result.data.course,\n\t\t\t\t\tcourseTitle,\n\t\t\t\t\tcurrentModuleTitle,\n\t\t\t\t\tarticles,\n\t\t\t\t\t...nextModule,\n\t\t\t\t\tnextLesson,\n\t\t\t\t\tprevLesson,\n\t\t\t\t\tcurrentLesson,\n\t\t\t\t\totherReleases: currentLesson.other_releases,\n\t\t\t\t\tavailableLanguages\n\t\t\t\t});\n\n\t\t\t\t// Check for course completion and trigger Qualtrics survey\n\t\t\t\tif (course_completion && course_completion.status === 'complete' && course_completion.percentage === 100) {\n\t\t\t\t\tconsole.log('🎓 Course completed on module page:', { courseTitle, courseId, course_completion });\n\t\t\t\t\tconsole.log('🔍 Backend survey flag:', { \n\t\t\t\t\t\tcourse_qualtrics_survey_on, \n\t\t\t\t\t\ttype: typeof course_qualtrics_survey_on,\n\t\t\t\t\t\t'=== true': course_qualtrics_survey_on === true \n\t\t\t\t\t});\n\n\t\t\t\t\t// Check if survey should be triggered\n\t\t\t\t\tif (course_qualtrics_survey_on === true) {\n\t\t\t\t\t\t// Extract userId for user-specific survey tracking\n\t\t\t\t\t\tconst userId = properties?.userInfo?.user_id;\n\t\t\t\t\t\t\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst shouldTrigger = shouldTriggerSurvey({\n\t\t\t\t\t\t\t\tsurveyFlag: course_qualtrics_survey_on,\n\t\t\t\t\t\t\t\tlearningId: courseId,\n\t\t\t\t\t\t\t\tlearningType: 'course',\n\t\t\t\t\t\t\t\tuserId\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tif (shouldTrigger) {\n\t\t\t\t\t\t\t\tconsole.log('✅ Triggering course completion survey from module page');\n\n\t\t\t\t\t\t\t\t// Trigger Qualtrics survey\n\t\t\t\t\t\t\t\t// Note: markSurveyShown() will be called in the success handler after backend confirms\n\t\t\t\t\t\t\t\ttriggerLearningSurvey({\n\t\t\t\t\t\t\t\t\tlearningId: courseId,\n\t\t\t\t\t\t\t\t\tlearningType: 'course',\n\t\t\t\t\t\t\t\t\tlearningName: courseTitle,\n\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\tsaveAction: DPS_LEARNING_COURSES_ACTIONS.SAVE_LEARNING_QUALTRICS_SURVEY_STATUS,\n\t\t\t\t\t\t\t\t\trelease: release,\n\t\t\t\t\t\t\t\t\treleaseSysId: releaseInfo?.sys_id,\n\t\t\t\t\t\t\t\t\tuserId: userId\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tconsole.log('⚠️ Course completion survey not triggered - already shown or conditions not met');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\tconsole.error('❌ Error triggering course module survey:', error);\n\t\t\t\t\t\t\t// Don't break the page if survey fails\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconsole.log('ℹ️ Course completion survey disabled by backend flag');\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tconsole.log('ℹ️ Course not yet completed:', course_completion);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tupdateRoute(CONSTANTS.DEFAULTS.ERROR_PATH);\n\t\t\t}\n\t\t}\n\t}\n);\n\nexport default getCourseModule;\n","/* eslint-disable object-shorthand */\nimport { DPS_COURSE_MODULE_ACTIONS } from '../actions';\nimport { handleLearningSurveySuccess } from '../../../utils/qualtricsSurveyTrigger';\nimport { actionTypes } from '@servicenow/ui-core';\nimport {\n\tcheckAndRedirectToAuth,\n\tformatSysParam,\n\thasUserInfoUpdated,\n\tisEmployee,\n\tisUserUnauthorizedToViewPage,\n\tmakeHttpEffectCreator,\n\tredirectToAuth,\n\tuserInfoPopulated\n} from '../../../utils/helpers';\nimport { updateRoute } from '../../../routes';\nimport { SCROLL_SPY_ACTIONS } from '../../../behaviors/scrollSpy';\nimport { DPS_PREV_NEXT_DOC_ACTIONS } from '../../../components/dps-prev-next-doc/actions';\nimport { CONSTANTS, DPS_ERROR_ACTIONS, ERROR_CODES } from '../../../constants';\nimport { setMetaByPageType, setMetaByValues } from '../../../utils/meta';\nimport {\n\treleaseInactive,\n\treleaseInternal,\n\tisInternalRelease\n} from '../../../utils/releaseHelpers';\nimport getCourseModule from './getCourseModule';\nimport { DPS_LEARNING_COURSES_ACTIONS } from '../../dps-learning-courses/actions';\nimport { SessionService } from '../../../utils/sessionService';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\n// HTTP Effect creator for learning completion Qualtrics survey\nconst saveLearningQualtricsSurveyStatusHttpEffect = makeHttpEffectCreator(\n\tDPS_LEARNING_COURSES_ACTIONS.SAVE_LEARNING_QUALTRICS_SURVEY_STATUS,\n\t'/api/snc/learn/qualtrics/survey-tag',\n\t{\n\t\tbatch: false,\n\t\tmethod: 'POST',\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json',\n\t\t\t'X-UserToken': SessionService.getHeaderUserToken()\n\t\t},\n\t\tdataParam: 'data',\n\t\tonSuccess({ action }) {\n\t\t\t// Use shared success handler\n\t\t\thandleLearningSurveySuccess(action);\n\t\t},\n\n\t\tonError({ action }) {\n\t\t\tconsole.error('❌ ERROR: Failed to save to backend, but localStorage saved, Backend error:', action.payload);\n\t\t}\n\t}\n);\n\nconst callGetCourseModule = ({\n\tdispatch,\n\tstate,\n\tsysparm_data,\n\tupdateState,\n\tupdateProperties\n}) => {\n\tif (!state.fetchingCourseModule) {\n\t\tupdateState(() => ({\n\t\t\tpath: 'fetchingCourseModule',\n\t\t\toperation: 'set',\n\t\t\tvalue: true,\n\t\t\tshouldUpdate: true\n\t\t}));\n\n\t\t// Until new course module content is fetched, don't display any available translations\n\t\tupdateProperties({\n\t\t\tavailableLanguages: []\n\t\t});\n\n\t\tdispatch(DPS_COURSE_MODULE_ACTIONS.COURSE_MODULE_BOOTSTRAPPED, {\n\t\t\tsysparm_data\n\t\t});\n\t}\n};\n\nexport default {\n\t...getCourseModule,\n\t...saveLearningQualtricsSurveyStatusHttpEffect,\n\t[SCROLL_SPY_ACTIONS.TARGET_ACTIVATED]: ({ action, dispatch }) => {\n\t\tdispatch(\n\t\t\tDPS_COURSE_MODULE_ACTIONS.COURSE_MODULE_STICKY_OFF,\n\t\t\taction.payload\n\t\t);\n\t},\n\t[SCROLL_SPY_ACTIONS.NO_TARGETS]: ({ action, dispatch }) => {\n\t\tdispatch(DPS_COURSE_MODULE_ACTIONS.COURSE_MODULE_STICKY_ON, action.payload);\n\t},\n\t[DPS_COURSE_MODULE_ACTIONS.COURSE_MODULE_STICKY_ON]: ({\n\t\taction,\n\t\tupdateProperties\n\t}) => {\n\t\tif (!action.payload) {\n\t\t\tupdateProperties({ stickyHeader: 'visible' });\n\t\t}\n\t},\n\t[DPS_COURSE_MODULE_ACTIONS.COURSE_MODULE_STICKY_OFF]: ({\n\t\taction,\n\t\tupdateProperties\n\t}) => {\n\t\tif (action.payload) {\n\t\t\tupdateProperties({ stickyHeader: '' });\n\t\t}\n\t},\n\t[COMPONENT_BOOTSTRAPPED]: coeffects => {\n\t\tconst {\n\t\t\tdispatch,\n\t\t\tproperties,\n\t\t\tstate,\n\t\t\tupdateProperties,\n\t\t\tupdateState\n\t\t} = coeffects;\n\t\tconst {\n\t\t\tmoduleId,\n\t\t\tlessonId,\n\t\t\trelease,\n\t\t\tuserInfo,\n\t\t\tsystemProperties,\n\t\t\tcourseId\n\t\t} = properties;\n\t\tconst inactiveResult = releaseInactive(properties);\n\t\tconst isInternal = isInternalRelease(release, systemProperties);\n\t\tcheckAndRedirectToAuth(isInternal, userInfo);\n\t\tif (inactiveResult) {\n\t\t\tupdateProperties({\n\t\t\t\tredirectedFromInactiveRelease: true\n\t\t\t});\n\t\t\treturn updateRoute(inactiveResult);\n\t\t}\n\t\tsetMetaByPageType('course');\n\t\tconst sysparm_data = formatSysParam(\n\t\t\tCONSTANTS.DEV_PORTAL_ACTIONS.GET_COURSE_MODULE_DATA,\n\t\t\t{\n\t\t\t\ttopicId: moduleId,\n\t\t\t\tlessonId,\n\t\t\t\trelease,\n\t\t\t\tcourseId\n\t\t\t}\n\t\t);\n\t\tcallGetCourseModule({ dispatch, state, sysparm_data, updateState, updateProperties });\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: coeffects => {\n    const {\n      action,\n\t\t\tdispatch,\n\t\t\tproperties,\n\t\t\tstate,\n\t\t\tupdateProperties,\n\t\t\tupdateState\n\t\t} = coeffects;\n\t\tconst {\n\t\t\tpayload: { name, value, previousValue }\n\t\t} = action;\n\t\tconst {\n\t\t\tmoduleId,\n\t\t\tlessonId,\n\t\t\trelease,\n\t\t\tcourseId,\n\t\t\tuserInfo,\n\t\t\tsystemProperties\n\t\t} = properties;\n\t\tconst userInfoUpdated = hasUserInfoUpdated({ name, value, previousValue });\n\t\tconst isInternal = isInternalRelease(release, systemProperties);\n\t\tcheckAndRedirectToAuth(isInternal, userInfo);\n\n\t\tif (\n\t\t\t['courseId', 'moduleId', 'lessonId'].includes(name) ||\n\t\t\tuserInfoUpdated\n\t\t) {\n\t\t\tupdateProperties({\n\t\t\t\tcourseModuleData: null,\n\t\t\t\tisLoading: true\n\t\t\t});\n\n\t\t\tconst inactiveResult = releaseInactive(properties);\n\t\t\tconst internalResult = releaseInternal(properties);\n\n\t\t\tif (inactiveResult) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tredirectedFromInactiveRelease: true\n\t\t\t\t});\n\t\t\t\treturn updateRoute(inactiveResult);\n\t\t\t}\n\t\t\tif (\n\t\t\t\tinternalResult &&\n\t\t\t\tuserInfoPopulated(userInfo) &&\n\t\t\t\t!isEmployee(userInfo)\n\t\t\t) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tredirectedFromInactiveRelease: true\n\t\t\t\t});\n\t\t\t\treturn updateRoute(internalResult);\n\t\t\t}\n\n\t\t\tconst sysparm_data = formatSysParam(\n\t\t\t\tCONSTANTS.DEV_PORTAL_ACTIONS.GET_COURSE_MODULE_DATA,\n\t\t\t\t{\n\t\t\t\t\ttopicId: name === 'moduleId' ? value : moduleId,\n\t\t\t\t\tlessonId: name === 'lessonId' ? value : lessonId,\n\t\t\t\t\trelease: name === 'release' ? value : release,\n\t\t\t\t\tcourseId\n\t\t\t\t}\n\t\t\t);\n\t\t\tcallGetCourseModule({ dispatch, state, sysparm_data, updateState, updateProperties });\n\t\t}\n\n\t\tif(name === 'release') {\n\t\t\treturn updateRoute(`/learn/courses/${value}/${courseId.replace(previousValue, value)}/${moduleId.replace(previousValue, value)}/${lessonId.replace(previousValue, value)}`);\n\t\t}\n\t},\n\t[DPS_PREV_NEXT_DOC_ACTIONS.PREV_CLICKED]: ({ action, properties }) => {\n\t\tconst { prevLink } = action.payload;\n\t\tconst { courseId, release } = properties;\n\n\t\tupdateRoute(`/learn/courses/${release}/${courseId}/${prevLink}`);\n\t},\n\t[DPS_PREV_NEXT_DOC_ACTIONS.NEXT_CLICKED]: ({ action, properties }) => {\n\t\tconst { nextLink } = action.payload;\n\t\tconst { courseId, release } = properties;\n\n\t\tupdateRoute(`/learn/courses/${release}/${courseId}/${nextLink}`);\n\t}\n};\n","const properties = {\n\tarticles: {\n\t\tdefault: []\n\t},\n\tavailableLanguages: {\n\t\tdefault: []\n\t},\n\tcourseId: {\n\t\tdefault: ''\n\t},\n\tcourseModuleData: {\n\t\tdefault: {}\n\t},\n\tcourseTitle: {\n\t\tdefault: ''\n\t},\n\tcurrentLesson: {\n\t\tdefault: {}\n\t},\n\tcurrentModuleTitle: {\n\t\tdefault: ''\n\t},\n\tdataFetchFailed: {\n\t\tdefault: false\n\t},\n\thash: {\n\t\tdefault: ''\n\t},\n\tinstanceInfo: {\n\t\tdefault: {}\n\t},\n\tisLoading: {\n\t\tdefault: true\n\t},\n\tlessonId: {\n\t\tdefault: ''\n\t},\n\tmoduleId: {\n\t\tdefault: ''\n\t},\n\tnextLesson: {\n\t\tdefault: {}\n\t},\n\tnextModuleLink: {\n\t\tdefault: ''\n\t},\n\tnextModuleTitle: {\n\t\tdefault: ''\n\t},\n\totherReleases: {\n\t\tdefault: []\n\t},\n\tpathname: {\n\t\tdefault: ''\n\t},\n\tprevLesson: {\n\t\tdefault: {}\n\t},\n\trelease: {\n\t\tdefault: '',\n\t\trequired: true,\n\t\tschema: {\n\t\t\ttype: 'string'\n\t\t}\n\t},\n\treleaseInfo: {\n\t\tdefault: {}\n\t},\n\trouteString: {\n\t\tdefault: ''\n\t},\n\tstickyHeader: {},\n\tsystemProperties: {\n\t\tdefault: {}\n\t},\n\tuserInfo: {},\n\tisReleaseReplaced: {\n\t\tdefault: false\n\t}\n};\nexport default properties;\n","import '@servicenow/now-icon';\nimport '@servicenow/now-button';\nimport { CONSTANTS } from '../../constants';\nimport '../../components/dps-template-two-column';\nimport '../../components/dps-link';\nimport '../../components/dps-feedback';\nimport '../../components/dps-prev-next-doc';\nimport '../../components/dps-breadcrumb';\nimport '../../components/dps-error-page';\nimport '../../components/dps-spinner';\nimport '../../components/dps-module-translation-bar';\nimport '../dps-version-switcher';\nimport BookIcon from '../../images/icons/book.svg';\nimport backgroundImg from '../../images/reference-overview-background.png';\nimport CodeIcon from '../../images/icons/code-2.svg';\nimport CodeCompleteIcon from '../../images/icons/code-complete.svg';\nimport DocumentCompleteIcon from '../../images/icons/document-complete.svg';\nimport DocumentIcon from '../../images/icons/document.svg';\nimport hljs from '../../utils/hljs-pack';\nimport { getFormattedInstanceReleaseInfo } from '../../utils/releaseHelpers';\nimport {\n\tprocessBlockQuoteTags,\n\tgetPrintablePageUrl,\n\tgetFeedbackDisplayConfigurations\n} from '../../utils/helpers';\nimport { printer } from '../../icons';\n\nconst view = (state, dispatch) => {\n\tconst {\n\t\tcourseId,\n\t\tmoduleId,\n\t\tlessonId,\n\t\trelease,\n\t\tuserInfo,\n\t\tcourseTitle,\n\t\tcurrentModuleTitle,\n\t\tarticles,\n\t\tnextModuleTitle,\n\t\tnextModuleLink,\n\t\tnextLesson,\n\t\tprevLesson,\n\t\treleaseInfo,\n\t\tpathname,\n\t\tsystemProperties,\n\t\tcurrentLesson,\n\t\tisLoading,\n\t\totherReleases,\n\t\tinstanceInfo,\n\t\tavailableLanguages\n\t} = state.properties;\n\tconst { is_logged_in } = userInfo;\n\n\tconst instanceRelease = getFormattedInstanceReleaseInfo(instanceInfo);\n\tconst displayConfigurations = getFeedbackDisplayConfigurations(\n\t\tsystemProperties['dev.feedback.display_configurations']\n\t);\n\tconst showFeedbackSection =\n\t\t(displayConfigurations && displayConfigurations.showLearnFeedback) || false;\n\n\t// Current Lesson\n\tconst LESSON_LABEL = 'Article'; // Constant to identify lessons\n\tconst EXERCISE_LABEL = 'Exercise'; // Constant to identify exercises\n\tlet currentLessonText =\n\t\t(currentLesson.text && processBlockQuoteTags(currentLesson.text)) || '';\n\n\t// Constant used to identify module type in the module translation bar\n\tconst MODULE_CATEGORY = 'course-module';\n\n\t// replace tabs with 2 spaces\n\tcurrentLessonText =\n\t\tcurrentLessonText && currentLessonText.replaceAll('\\t', '&nbsp;&nbsp;');\n\tconst highlightCode = elm =>\n\t\telm.querySelectorAll('pre code').forEach(block => {\n\t\t\thljs.highlightBlock(block);\n\t\t});\n\n\treturn (\n\t\t<div className=\"dps-learn-module\">\n\t\t\t{courseTitle && currentModuleTitle ? (\n\t\t\t\t<dps-breadcrumb\n\t\t\t\t\titems={[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdisplayName: 'Courses',\n\t\t\t\t\t\t\tredirectURL: `/learn/courses/${release}`\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdisplayName: courseTitle,\n\t\t\t\t\t\t\tredirectURL: `/learn/courses/${release}/${courseId}`\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdisplayName: currentModuleTitle,\n\t\t\t\t\t\t\tredirectURL: ''\n\t\t\t\t\t\t}\n\t\t\t\t\t]}\n\t\t\t\t/>\n\t\t\t) : null}\n\n\t\t\t<div className=\"dps-learn-module-banner -main\" id=\"sticky\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"dps-learn-module-banner__background\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tbackgroundImage: `url(${backgroundImg})`,\n\t\t\t\t\t\tbackgroundPosition: 'center center',\n\t\t\t\t\t\tbackgroundSize: 'cover',\n\t\t\t\t\t\tbackgroundRepeat: 'no-repeat'\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-learn-module-banner-container\">\n\t\t\t\t\t{otherReleases && otherReleases.length ? (\n\t\t\t\t\t\t<dps-inline-version-selector\n\t\t\t\t\t\t\tselected={release}\n\t\t\t\t\t\t\treleases={otherReleases}\n\t\t\t\t\t\t\tinstanceRelease={instanceRelease}\n\t\t\t\t\t\t\tsourcePathname={pathname}\n\t\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t\t<h6>\n\t\t\t\t\t\t{courseTitle}\n\t\t\t\t\t</h6>\n\t\t\t\t\t<h1>{currentModuleTitle}</h1>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{!isLoading ? (\n\t\t\t\t<dps-module-translation-bar\n\t\t\t\t\tavailableLanguages={availableLanguages}\n\t\t\t\t\tcategory={MODULE_CATEGORY}\n\t\t\t\t\tmoduleId={moduleId}\n\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\trelease={release}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t<dps-template-two-column\n\t\t\t\tclassName=\"dps-learn-module-body\"\n\t\t\t\topen={true}\n\t\t\t\tgray\n\t\t\t>\n\t\t\t\t<div slot=\"sidebar\" className=\"dps-learn-module-panel -nav\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'dps-learn-module-content': true,\n\t\t\t\t\t\t\t'-sticky': true,\n\t\t\t\t\t\t\t'is-visible': state.properties.stickyHeader === 'visible'\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"dps-learn-module-banner -sticky\">\n\t\t\t\t\t\t\t<h6>\n\t\t\t\t\t\t\t\t<img src={BookIcon} />\n\t\t\t\t\t\t\t\t{courseTitle}\n\t\t\t\t\t\t\t</h6>\n\t\t\t\t\t\t\t<h1>{currentModuleTitle}</h1>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"dps-learn-module-content\">\n\t\t\t\t\t\t<ul className=\"dps-learn-module-steps\">\n\t\t\t\t\t\t\t{articles.map((article, i) => {\n\t\t\t\t\t\t\t\tconst { is_read, title, dita_type, content_id } = article;\n\t\t\t\t\t\t\t\t// Note: is_read is only set when user is logged in\n\t\t\t\t\t\t\t\tconst codeIcon = is_read ? (\n\t\t\t\t\t\t\t\t\t<img src={CodeCompleteIcon} />\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<img src={CodeIcon} />\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tconst docIcon = is_read ? (\n\t\t\t\t\t\t\t\t\t<img src={DocumentCompleteIcon} />\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<img src={DocumentIcon} />\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tconst icon = (dita_type === 'concept' && docIcon) || codeIcon;\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\t'dps-learn-module-step': true,\n\t\t\t\t\t\t\t\t\t\t\t'-viewed': is_read,\n\t\t\t\t\t\t\t\t\t\t\t'-current': lessonId ? content_id === lessonId : i === 0\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div className=\"dps-learn-module-step-icon\">{icon}</div>\n\t\t\t\t\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\t\t\t\tinherit\n\t\t\t\t\t\t\t\t\t\t\tbutton-style\n\t\t\t\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t//Tracking the article link click\n\t\t\t\t\t\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\t\t\t\t\t\taction: 'Article clicked from sidenav',\n\t\t\t\t\t\t\t\t\t\t\t\t\tcategory: 'Courses',\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: title,\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\thref={`#!/learn/courses/${release}/${courseId}/${moduleId}/${content_id}`}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t{nextModuleTitle && nextModuleLink ? (\n\t\t\t\t\t\t\t<dps-prev-next-doc\n\t\t\t\t\t\t\t\tprev={null}\n\t\t\t\t\t\t\t\tnext={{ label: 'Next Module', description: nextModuleTitle }}\n\t\t\t\t\t\t\t\ttruncated\n\t\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\t\tnextLink: nextModuleLink\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t{isLoading ? (\n\t\t\t\t\t<dps-spinner />\n\t\t\t\t) : (\n\t\t\t\t\t<div className=\"dps-learn-module-panel\">\n\t\t\t\t\t\t<dps-version-switcher\n\t\t\t\t\t\t\tuserInfo={userInfo}\n\t\t\t\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\t\t\t\trouteParamsRelease={release}\n\t\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\t></dps-version-switcher>\n\t\t\t\t\t\t<div className=\"dps-learn-module-content-header\">\n\t\t\t\t\t\t\t<div className=\"dps-learn-module-header-wrapper\">\n\t\t\t\t\t\t\t\t<h6>\n\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\tsrc={\n\t\t\t\t\t\t\t\t\t\t\tcurrentLesson.dita_type === 'concept'\n\t\t\t\t\t\t\t\t\t\t\t\t? DocumentIcon\n\t\t\t\t\t\t\t\t\t\t\t\t: CodeIcon\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t\t{currentLesson.dita_type === 'concept'\n\t\t\t\t\t\t\t\t\t\t\t? LESSON_LABEL\n\t\t\t\t\t\t\t\t\t\t\t: EXERCISE_LABEL}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</h6>\n\t\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\tlabel=\"Print article\"\n\t\t\t\t\t\t\t\t\ticon=\"printer-outline\"\n\t\t\t\t\t\t\t\t\tappendIcon=\"true\"\n\t\t\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\t\t\tconst url = getPrintablePageUrl(\n\t\t\t\t\t\t\t\t\t\t\trelease,\n\t\t\t\t\t\t\t\t\t\t\tCONSTANTS.DEFAULTS.COURSE_MODULE_CATEGORY,\n\t\t\t\t\t\t\t\t\t\t\tmoduleId + ',' + lessonId,\n\t\t\t\t\t\t\t\t\t\t\tCONSTANTS.DEFAULTS.COURSE_MODULE\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\twindow.open(url, '_blank', 'noopener');\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<h2>{currentLesson ? currentLesson.title : ''}</h2>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"dps-learn-module-content\"\n\t\t\t\t\t\t\tinnerHTML={currentLessonText}\n\t\t\t\t\t\t\thook-insert={({ elm }) => highlightCode(elm)}\n\t\t\t\t\t\t\thook-update={({ elm }) => highlightCode(elm)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div className=\"dps-learn-module-content-footer\">\n\t\t\t\t\t\t\t<dps-prev-next-doc\n\t\t\t\t\t\t\t\tprev={\n\t\t\t\t\t\t\t\t\tObject.keys(prevLesson).length\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: `Previous ${\n\t\t\t\t\t\t\t\t\t\t\t\t\tprevLesson.type ? prevLesson.type : ''\n\t\t\t\t\t\t\t\t\t\t\t\t}`,\n\t\t\t\t\t\t\t\t\t\t\t\tdescription: prevLesson.title\n\t\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tnext={\n\t\t\t\t\t\t\t\t\tObject.keys(nextLesson).length\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: `Next ${nextLesson.type ? nextLesson.type : ''}`,\n\t\t\t\t\t\t\t\t\t\t\t\tdescription: nextLesson.title\n\t\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\t\tprevLink:\n\t\t\t\t\t\t\t\t\t\tprevLesson && prevLesson.link\n\t\t\t\t\t\t\t\t\t\t\t? prevLesson.link.split('/article/')[1].split('?')[0]\n\t\t\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t\t\tnextLink:\n\t\t\t\t\t\t\t\t\t\tnextLesson && nextLesson.link\n\t\t\t\t\t\t\t\t\t\t\t? nextLesson.link.split('/article/')[1].split('?')[0]\n\t\t\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{showFeedbackSection ? (\n\t\t\t\t\t\t\t\tis_logged_in ? (\n\t\t\t\t\t\t\t\t\t<dps-feedback\n\t\t\t\t\t\t\t\t\t\ttitle={\n\t\t\t\t\t\t\t\t\t\t\t(currentLesson && currentLesson.title) || courseTitle\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tcontentType={\n\t\t\t\t\t\t\t\t\t\t\tcurrentLesson.dita_type === 'concept'\n\t\t\t\t\t\t\t\t\t\t\t\t? CONSTANTS.DEFAULTS.FEEDBACK_CONTENT_TYPE_ARTICLE\n\t\t\t\t\t\t\t\t\t\t\t\t: CONSTANTS.DEFAULTS.FEEDBACK_CONTENT_TYPE_EXERCISE\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<dps-feedback\n\t\t\t\t\t\t\t\t\t\ttitle={\n\t\t\t\t\t\t\t\t\t\t\t(currentLesson && currentLesson.title) || courseTitle\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tmessage={\n\t\t\t\t\t\t\t\t\t\t\tsystemProperties &&\n\t\t\t\t\t\t\t\t\t\t\tsystemProperties['dev.provide_feedback_text_guest_user']\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tcontentType={\n\t\t\t\t\t\t\t\t\t\t\tcurrentLesson.dita_type === 'concept'\n\t\t\t\t\t\t\t\t\t\t\t\t? CONSTANTS.DEFAULTS.FEEDBACK_CONTENT_TYPE_ARTICLE\n\t\t\t\t\t\t\t\t\t\t\t\t: CONSTANTS.DEFAULTS.FEEDBACK_CONTENT_TYPE_EXERCISE\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tlabel={CONSTANTS.DEFAULTS.FEEDBACK_SIGN_IN_BUTTON}\n\t\t\t\t\t\t\t\t\t\tisLoginRequired={!is_logged_in}\n\t\t\t\t\t\t\t\t\t></dps-feedback>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</dps-template-two-column>\n\t\t</div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport scrollSpyBehavior from '../../behaviors/scrollSpy';\nimport styles from './dps-course-module.scss';\nimport '../dps-version-switcher';\nimport '@servicenow/now-icon';\nimport actionHandlers from './actionHandlers/index';\nimport properties from './properties';\nimport view from './view';\n\nexport default createCustomElement('dps-course-module', {\n\tactionHandlers,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: scrollSpyBehavior,\n\t\t\toptions: {\n\t\t\t\trootMargin: '88px 0px 0px 0px',\n\t\t\t\ttargetSelector: '.dps-learn-module-banner.-main',\n\t\t\t\tthreshold: 1\n\t\t\t}\n\t\t}\n\t],\n\tinitialState: {\n\t\tdataFetchFailed: false,\n\t\tfetchingCourseModule: false\n\t},\n\tproperties,\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tstyles,\n\tview\n});\n","import { createPath } from '../../utils/url';\nimport downloadIconImage from '../../images/icons/download.svg';\nimport '../../components/dps-breadcrumb';\nimport '../../components/dps-link';\nimport '../../components/dps-page-header';\nimport '../../components/dps-progress-card';\nimport '../../components/dps-button';\nimport '../../components/dps-template-two-column';\nimport '../../components/dps-prev-next-doc';\nimport Colors from '../../styles/global/colors';\nimport CodeCompleteIcon from '../../images/icons/code-complete.svg';\nimport CodeIcon from '../../images/icons/code-2.svg';\nimport { CONSTANTS } from '../../constants';\nimport { getFormattedInstanceReleaseInfo } from '../../utils/releaseHelpers';\nimport { getPathArray } from '../../utils/url';\n\nconst view = state => {\n\tconst {\n\t\trelease,\n\t\ttutorialId,\n\t\tpathname,\n\t\tinstanceInfo,\n\t\tsystemProperties\n\t} = state.properties;\n\n\tconst pageDetails = state.page_details;\n\n\tif (!pageDetails) {\n\t\treturn <dps-spinner />;\n\t}\n\n\tconst instanceRelease = getFormattedInstanceReleaseInfo(instanceInfo);\n\n\tconst {\n\t\texercises,\n\t\ttutorial: {\n\t\t\tname,\n\t\t\tshort_description,\n\t\t\tdescription,\n\t\t\tnumber_of_exercises,\n\t\t\tcompleted_exercises,\n\t\t\tlast_visited_exercise_permalink,\n\t\t\tcontent,\n\t\t\tgithub_link\n\t\t},\n\t\tother_releases\n\t} = pageDetails.data;\n\n\tlet tutorial_link = `<img src=${downloadIconImage} alt=\"download-icon\"/>&emsp;<p>You can find a completed version of this app on <dps-link target=\"_blank\" external-action href=${github_link}>GitHub</dps-link><p/>`;\n\tlet ctaButtonLabel = 'Resume tutorial';\n\tlet headerButtonLink = `/learn/tutorials/${release}/${tutorialId}/${exercises[0].permalink}`;\n\tlet tutorialStatus = 'not_started';\n\tlet github_path_array = getPathArray(github_link);\n\tlet pagination = {\n\t\tdescription: exercises[0].title,\n\t\tlink: `/learn/tutorials/${release}/${tutorialId}/${exercises[0].permalink}`\n\t};\n\tif (completed_exercises === 0) {\n\t\tctaButtonLabel = 'Start tutorial';\n\t} else if (\n\t\tcompleted_exercises > 0 &&\n\t\tcompleted_exercises < number_of_exercises\n\t) {\n\t\theaderButtonLink = `/learn/tutorials/${release}/${tutorialId}/${last_visited_exercise_permalink}`;\n\t\tctaButtonLabel = 'Resume tutorial';\n\t\ttutorialStatus = 'in_progress';\n\t\tpagination.description = exercises.filter(\n\t\t\texercise => exercise.permalink === last_visited_exercise_permalink\n\t\t)[0].title;\n\t\tpagination.link = headerButtonLink;\n\t} else if (completed_exercises === number_of_exercises) {\n\t\tctaButtonLabel = 'Repeat tutorial';\n\t\ttutorialStatus = 'complete';\n\t}\n\n\treturn (\n\t\t<div className=\"dps-tutorial-details\">\n\t\t\t<dps-breadcrumb\n\t\t\t\titems={[\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Tutorials',\n\t\t\t\t\t\tredirectURL: createPath(`/learn/tutorials/${release}`)\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: name,\n\t\t\t\t\t\tredirectURL: createPath(`/learn/tutorials/${release}/${tutorialId}`)\n\t\t\t\t\t}\n\t\t\t\t]}\n\t\t\t/>\n\t\t\t<dps-page-header\n\t\t\t\tpage-title={name}\n\t\t\t\tsub-title={short_description}\n\t\t\t\tmodulesTitle={number_of_exercises}\n\t\t\t\tcontentType={'exercise'}\n\t\t\t\tbackground-color={Colors.learningBackgroundColor}\n\t\t\t\tshow-version-selector\n\t\t\t\tpathname={pathname}\n\t\t\t\tother-releases={other_releases}\n\t\t\t\tselected-release={release}\n\t\t\t\tinstance-release={instanceRelease}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tshowVersionSelectorFullWidth\n\t\t\t>\n\t\t\t\t<dps-link\n\t\t\t\t\tbutton-style\n\t\t\t\t\tbutton-variant=\"primary\"\n\t\t\t\t\tbutton-size=\"md\"\n\t\t\t\t\tslot=\"cta-button\"\n\t\t\t\t\tinternal-action\n\t\t\t\t\thref={createPath(headerButtonLink)}\n\t\t\t\t>\n\t\t\t\t\t{ctaButtonLabel}\n\t\t\t\t</dps-link>\n\t\t\t\t<div slot=\"card\" className=\"dps-progress-card-slot\">\n\t\t\t\t\t<dps-progress-card\n\t\t\t\t\t\tnum-of-modules={number_of_exercises}\n\t\t\t\t\t\tnum-of-modules-completed={completed_exercises}\n\t\t\t\t\t\tstatus={tutorialStatus}\n\t\t\t\t\t\ttype={CONSTANTS.DEFAULTS.TUTORIAL_MODULE}\n\t\t\t\t\t\tgitHubLink={github_link}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</dps-page-header>\n\t\t\t{github_link ? (\n\t\t\t\t<div className=\"tutorial-link\" innerHTML={tutorial_link}></div>\n\t\t\t) : null}\n\t\t\t<dps-template-two-column open={true} showSidebarToggle={false} gray>\n\t\t\t\t<section className=\"sidenav\" slot=\"sidebar\">\n\t\t\t\t\t<div className=\"side-nav-contents\">\n\t\t\t\t\t\t{github_link ? (\n\t\t\t\t\t\t\t<div className=\"side-nav-contents_repo-info\">\n\t\t\t\t\t\t\t\t<div className=\"side-nav-contents_repo-info_header\">\n\t\t\t\t\t\t\t\t\t<img src={downloadIconImage} alt=\"download-icon\" />\n\t\t\t\t\t\t\t\t\tAssets\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className=\"side-nav-contents_repo-info_info\">\n\t\t\t\t\t\t\t\t\tYou can find a completed version of this app on &nbsp;\n\t\t\t\t\t\t\t\t\t<a href={github_link} target=\"_blank\">\n\t\t\t\t\t\t\t\t\t\tGitHub: {github_path_array[github_path_array.length - 1]}\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t<now-icon icon=\"arrow-up-right-fill\" size=\"md\" />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</div>\n\t\t\t\t</section>\n\t\t\t\t<div className=\"right-content\">\n\t\t\t\t\t<h2>Introduction</h2>\n\t\t\t\t\t<div className=\"grey-line\"></div>\n\t\t\t\t\t<div className=\"description-text\" innerHTML={description}></div>\n\t\t\t\t\t<div className=\"grey-line\"></div>\n\t\t\t\t\t<div className=\"list-wrap\">\n\t\t\t\t\t\t<div className=\"list-heading\">Exercises in this Tutorial:</div>\n\t\t\t\t\t\t<ul className=\"list-content\">\n\t\t\t\t\t\t\t{exercises.map(exercise => {\n\t\t\t\t\t\t\t\tconst { title, isRead = false, permalink } = exercise;\n\n\t\t\t\t\t\t\t\tconst icon = isRead ? (\n\t\t\t\t\t\t\t\t\t<img src={CodeCompleteIcon} />\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<img src={CodeIcon} />\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\t'list-item-text': true,\n\t\t\t\t\t\t\t\t\t\t\t'is-read': isRead\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<span className=\"list-icon-wrap\">{icon}</span>\n\t\t\t\t\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\t\t\t\tinherit\n\t\t\t\t\t\t\t\t\t\t\tbutton-style\n\t\t\t\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\t\t\t\thref={`/learn/tutorials/${release}/${tutorialId}/${permalink}`}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"introduction-content\" innerHTML={content}></div>\n\t\t\t\t\t<dps-prev-next-doc\n\t\t\t\t\t\tprev={null}\n\t\t\t\t\t\tnext={\n\t\t\t\t\t\t\texercises && exercises.length > 0\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\tlabel: `Proceed To`,\n\t\t\t\t\t\t\t\t\t\tdescription: pagination.description\n\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t}\n\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\tprevious: null,\n\t\t\t\t\t\t\tnext:\n\t\t\t\t\t\t\t\texercises && exercises.length > 0\n\t\t\t\t\t\t\t\t\t? createPath(pagination.link)\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</dps-template-two-column>\n\t\t</div>\n\t);\n};\n\nexport default view;\n","export const TUTORIAL_DETAIL_ACTIONS = {\n    FETCH_DETAILS: 'TUTORIAL_DETAIL_ACTIONS#FETCH_DETAILS',\n    FETCH_DETAILS_SUCCEEDED: 'TUTORIAL_DETAIL_ACTIONS#FETCH_DETAILS_SUCCEEDED',\n    FETCH_DETAILS_FAILED: 'TUTORIAL_DETAIL_ACTIONS#FETCH_DETAILS_FAILED'\n};","import { CONSTANTS, DPS_ERROR_ACTIONS, ERROR_CODES } from '../../constants';\nimport { APP_ACTIONS } from '../../connected-components/dps-app/actions';\nimport { TUTORIAL_DETAIL_ACTIONS } from './actions';\nimport { setMetaByValues } from '../../utils/meta';\nimport { DPS_PREV_NEXT_DOC_ACTIONS } from '../../components/dps-prev-next-doc/actions';\nimport {\n\tisUserUnauthorizedToViewPage,\n\tredirectToAuth\n} from '../../utils/helpers';\nimport { replacePathParam } from '../../utils/url';\nimport { updateRoute } from '../../routes';\nimport {\n\thasUserInfoUpdated,\n\tisInactiveRelease,\n\tshouldRemovePDIMismatchAlertFromSessionStorage\n} from '../../utils/helpers';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { releaseInactive } from '../../utils/releaseHelpers';\nimport { actionTypes } from '@servicenow/ui-core';\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport default {\n\t[COMPONENT_BOOTSTRAPPED]: coeffects => {\n\t\tconst { dispatch, properties, updateProperties } = coeffects;\n\t\tconst { release, tutorialId } = properties;\n\t\tconst permalink = tutorialId;\n\n\t\tconst inactiveResult = releaseInactive(properties);\n\t\tif (inactiveResult) {\n\t\t\tupdateProperties({\n\t\t\t\tredirectedFromInactiveRelease: true\n\t\t\t});\n\t\t\treturn updateRoute(inactiveResult);\n\t\t}\n\n\t\tdispatch(TUTORIAL_DETAIL_ACTIONS.FETCH_DETAILS, { release, permalink });\n\t},\n\t[TUTORIAL_DETAIL_ACTIONS.FETCH_DETAILS]: createHttpEffect(\n\t\tCONSTANTS.ENDPOINTS.GET_TUTORIAL_DATA,\n\t\t{\n\t\t\tbatch: false,\n\t\t\tmethod: 'GET',\n\t\t\tqueryParams: ['release', 'permalink'],\n\t\t\tsuccessActionType: TUTORIAL_DETAIL_ACTIONS.FETCH_DETAILS_SUCCEEDED,\n\t\t\terrorActionType: TUTORIAL_DETAIL_ACTIONS.FETCH_DETAILS_FAILED\n\t\t}\n\t),\n\t[TUTORIAL_DETAIL_ACTIONS.FETCH_DETAILS_SUCCEEDED]: coeffects => {\n\t\tconst {\n\t\t\taction: { payload },\n\t\t\tupdateState,\n\t\t\tdispatch\n\t\t} = coeffects;\n\t\tconst { data, status } = payload.result;\n\t\tconst { name, short_description } = data.tutorial;\n\n\t\tsetMetaByValues({\n\t\t\ttitle: name,\n\t\t\tshort_description: short_description\n\t\t});\n\n\t\tif (status === 'success') {\n\t\t\tupdateState({\n\t\t\t\tdataFetchFailed: false,\n\t\t\t\tpage_details: payload.result\n\t\t\t});\n\t\t} else {\n\t\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND);\n\t\t}\n\t},\n\t[TUTORIAL_DETAIL_ACTIONS.FETCH_DETAILS_FAILED]: coeffects => {\n\t\tconst {\n\t\t\tupdateState,\n\t\t\tdispatch,\n\t\t\taction,\n\t\t\tproperties,\n\t\t\tupdateProperties\n\t\t} = coeffects;\n\t\tconst {\n\t\t\thash,\n\t\t\tpathname,\n\t\t\treleaseInfo,\n\t\t\trouteString,\n\t\t\tuserInfo,\n\t\t\tisReleaseReplaced,\n\t\t\trelease\n\t\t} = properties;\n\t\tconst userUnauthorizedToViewPage = isUserUnauthorizedToViewPage(\n\t\t\tuserInfo,\n\t\t\taction.payload\n\t\t);\n\t\tconst { latestRelease } = releaseInfo;\n\t\tconst { message } =\n\t\t\taction.payload && action.payload.data && action.payload.data.result;\n\n\t\tupdateState({\n\t\t\tdataFetchFailed: true\n\t\t});\n\n\t\tif (userUnauthorizedToViewPage) {\n\t\t\tredirectToAuth(location.href);\n\t\t} else if (\n\t\t\t!userUnauthorizedToViewPage &&\n\t\t\tmessage === CONSTANTS.DEFAULTS.NO_CONTENT_FOUND_MESSAGE &&\n\t\t\t!isReleaseReplaced &&\n\t\t\trelease !== latestRelease\n\t\t) {\n\t\t\tconst replacedRelease = replacePathParam({\n\t\t\t\tparam: ':release',\n\t\t\t\trouteString,\n\t\t\t\tpathname,\n\t\t\t\tparamValue: latestRelease,\n\t\t\t\thash\n\t\t\t});\n\t\t\tupdateRoute(replacedRelease);\n\t\t\tupdateProperties({\n\t\t\t\tisReleaseReplaced: true\n\t\t\t});\n\t\t} else {\n\t\t\tif (\n\t\t\t\taction.payload &&\n\t\t\t\taction.payload.data.result &&\n\t\t\t\taction.payload.data.result.data &&\n\t\t\t\taction.payload.data.result.statusCode === '404'\n\t\t\t) {\n\t\t\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND, {\n\t\t\t\t\totherReleases: action.payload.data.result.data.other_releases,\n\t\t\t\t\tcontentTitle: action.payload.data.result.data.content_title,\n\t\t\t\t\tisContentNotFoundForCurrentRelease: true\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND, { message: message });\n\t\t\t}\n\t\t}\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: coeffects => {\n\t\tconst {\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\tproperties,\n\t\t\tupdateProperties,\n\t\t\tupdateState\n\t\t} = coeffects;\n\t\tconst { tutorialId, systemProperties } = properties;\n\t\tconst {\n\t\t\tpayload: { name, previousValue, value }\n\t\t} = action;\n\t\tconst userInfoUpdated = hasUserInfoUpdated({ name, value, previousValue });\n\n\t\tlet { release } = properties;\n\t\tlet permalink = tutorialId;\n\n\t\tconst inactiveResult = releaseInactive(properties);\n\t\tif (inactiveResult) {\n\t\t\tupdateProperties({\n\t\t\t\tredirectedFromInactiveRelease: true\n\t\t\t});\n\t\t\treturn updateRoute(inactiveResult);\n\t\t}\n\n\t\tif (\n\t\t\tname === 'releaseInfo' &&\n\t\t\t!isInactiveRelease({ release: value.release, systemProperties })\n\t\t) {\n\t\t\tupdateProperties({\n\t\t\t\tredirectedFromInactiveRelease: false\n\t\t\t});\n\t\t}\n\n\t\tif (['tutorialId', 'release'].includes(name) || userInfoUpdated) {\n\t\t\tpermalink = name === 'tutorialId' ? value : permalink;\n\t\t\trelease = name === 'release' ? value : release;\n\n\t\t\tupdateState({ page_details: null });\n\n\t\t\tdispatch(TUTORIAL_DETAIL_ACTIONS.FETCH_DETAILS, { release, permalink });\n\t\t}\n\n\t\tif (action.payload.name === 'release') {\n\t\t\tshouldRemovePDIMismatchAlertFromSessionStorage();\n\t\t}\n\t},\n\t[DPS_PREV_NEXT_DOC_ACTIONS.NEXT_CLICKED]: ({ action }) => {\n\t\tconst { next } = action.payload;\n\t\tupdateRoute(next);\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport view from './view.js';\nimport styles from './dps-tutorial-details.scss';\nimport actionHandlers from './actionHandlers';\nimport {isPdiMismatchAlertDismissed} from '../../utils/helpers';\n\nexport default createCustomElement('dps-tutorial-details', {\n\trenderer: { type: snabbdom },\n\tstyles,\n\tview,\n\tinitialState: {\n\t\tpage_details: null,\n\t\tdataFetchFailed: false\n\t},\n\tproperties: {\n\t\thash: {\n\t\t\tdefault: ''\n\t\t},\n\t\tisReleaseReplaced: {\n\t\t\tdefault: false\n\t\t},\n\t\tredirectedFromInactiveRelease: {\n\t\t\tdefault: false\n\t\t},\n\t\ttutorialId: {\n\t\t\tdefault: ''\n\t\t},\n\t\tinstanceInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tpathname: {\n\t\t\tdefault: ''\n\t\t},\n\t\trelease: {\n\t\t\tdefault: '',\n\t\t\trequired: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\treleaseInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\trouteString: {\n\t\t\tdefault: ''\n\t\t},\n\t\tsystemProperties: {\n\t\t\tdefault: {}\n\t\t},\n\t\tuserInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tisPdiMismatchAlertDismissed: {\n\t\t\tcomputed({ properties: { release } }) {\n\t\t\t\treturn isPdiMismatchAlertDismissed(release);\n\t\t\t}\n\t\t}\n\t},\n\tactionHandlers: actionHandlers\n});","import { actionTypes } from '@servicenow/ui-core';\nimport {\n\tdevPortalGetHttpEffect,\n\tformatSysParam,\n\tisInactiveRelease,\n\tmakeHttpEffectCreator\n} from '../../utils/helpers';\nimport { CONSTANTS, DPS_SEARCH_SECTION_NAMES, KEYCODE } from '../../constants';\nimport { replaceRoute } from '../../routes';\nimport { releaseInactive } from '../../utils/releaseHelpers';\nimport { SEARCH_ACTIONS } from './actions';\nimport {\n\tgetCategoryKey,\n\tgetOrderedCategoryList,\n\tencodeForSearch,\n\tshouldFetchAutoSuggest,\n\tshouldEmptySuggestionList\n} from './dps-search-helpers';\nimport scrollToElement from '../../utils/scrollToElement';\nimport { decodeParam } from '../../behaviors/router/helpers';\nimport { capitalizeWords } from '../../utils/helpers';\nconst {\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_CONNECTED\n} = actionTypes;\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { createRef } from '@servicenow/ui-renderer-snabbdom';\n\nconst handleFetchResults = createHttpEffect(\n\tCONSTANTS.ENDPOINTS.ZING_SEARCH_ENDPOINT,\n\t{\n\t\tbatch: false,\n\t\tmethod: 'GET',\n\t\tqueryParams: [\n\t\t\t'keywords',\n\t\t\t'page',\n\t\t\t'version',\n\t\t\t'category',\n\t\t\t'clusterQuery',\n\t\t\t'isClusterSearch'\n\t\t],\n\t\tsuccessActionType: SEARCH_ACTIONS.RESULTS_FETCH_SUCCEEDED,\n\t\tfailActionType: SEARCH_ACTIONS.RESULTS_FETCH_FAILED\n\t}\n);\n\nconst handleTrackSearchLinksClicks = makeHttpEffectCreator(\n\tSEARCH_ACTIONS.TRACK_SEARCH_LINKS_CLICKS,\n\tCONSTANTS.ENDPOINTS.SOLR_SEARCH_TRACK_SEARCH_CLICKS,\n\t{\n\t\tbatch: false,\n\t\tmethod: 'POST',\n\t\tdataParam: ['data']\n\t}\n);\n\nconst performSearch = ({\n\tstate,\n\tdispatch,\n\tupdateState,\n\tupdateProperties,\n\taction,\n\tproperties\n}) => {\n\tconst {\n\t\trelease,\n\t\tpage,\n\t\tquery,\n\t\tcategory,\n\t\tshouldFetchClusterSearch,\n\t\tsuggestionPayload,\n\t\tisClusterSearchEnabled\n\t} = properties;\n\tconst { payload } = action;\n\tconst all = payload && payload.all ? true : false;\n\tconst searchData = {\n\t\tversion: capitalizeWords(release),\n\t\tcategory,\n\t\tkeywords: query,\n\t\tpage\n\t};\n\n\tconst categoryQueryMap = {\n\t\tLearn: 'type:\"DEVKBTRAINING\"',\n\t\tGuides: 'type:\"DEVKBGUIDE\"',\n\t\tReference:\n\t\t\t'type:\"DEVAPI\" OR type:\"DEVSEISMIC\" OR type:\"DEVDATAMOD\" OR type:\"DEVTECTDOCS\" OR type:\"DEVUSEMOD\" OR type:\"DEVKBREFERENCE\"',\n\t\tShare: 'type:\"DEVPROJ\"',\n\t\tCommunity: 'source:\"Now Community\"',\n\t\tBlog: 'type:\"DEVBLOG\"'\n\t};\n\tlet searchQuery = query;\n\n\tif (all) {\n\t\tsearchData.category = 'All';\n\t\tsearchData.page = 1;\n\t}\n\n\tif (isClusterSearchEnabled && shouldFetchClusterSearch) {\n\t\tsearchQuery =\n\t\t\tall || category == 'All'\n\t\t\t\t? '(sysId:\"' +\n\t\t\t\t  suggestionPayload.join('\" OR sysId:\"') +\n\t\t\t\t  '\") AND (document_release:\"' +\n\t\t\t\t  capitalizeWords(release) +\n\t\t\t\t  '\") AND \"' +\n\t\t\t\t  query +\n\t\t\t\t  '\" OR ' +\n\t\t\t\t  query\n\t\t\t\t: '(sysId:\"' +\n\t\t\t\t  suggestionPayload.join('\" OR sysId:\"') +\n\t\t\t\t  '\") AND (document_release:\"' +\n\t\t\t\t  capitalizeWords(release) +\n\t\t\t\t  '\") AND (' +\n\t\t\t\t  categoryQueryMap[category] +\n\t\t\t\t  ') AND \"' +\n\t\t\t\t  query +\n\t\t\t\t  '\" OR ' +\n\t\t\t\t  query;\n\t\tsearchData.clusterQuery = searchQuery;\n\t\tsearchData.isClusterSearch = shouldFetchClusterSearch;\n\t}\n\n\tupdateProperties({\n\t\tsuggestionsList: [],\n\t\tisFetchingSearchResults: true\n\t});\n\n\tdispatch(SEARCH_ACTIONS.RESULTS_FETCH, searchData);\n\tupdateState({\n\t\tloadingResults: true,\n\t\tsearchResults: {},\n\t\tcategorySearchResults: {}\n\t});\n};\n\nconst handleChangePage = ({\n\tstate: {\n\t\tquery,\n\t\tproperties: { release, category }\n\t},\n\taction: {\n\t\tpayload: { value }\n\t}\n}) => {\n\tlocation.hash = `#!/search/${release}/${category}/${encodeForSearch(\n\t\tquery\n\t)}/${value}`;\n\tscrollToElement({\n\t\tselector: 'dps-search-results'\n\t});\n};\n\nconst handleUpdateQuery = ({\n\tupdateState,\n\taction: {\n\t\tpayload: { query }\n\t}\n}) => {\n\tupdateState({\n\t\tquery,\n\t\tdirty: !!query\n\t});\n};\n\nconst handleUpdateDirty = ({\n\tupdateState,\n\taction: {\n\t\tpayload: { dirty }\n\t}\n}) => {\n\tupdateState({\n\t\tdirty\n\t});\n};\n\n// Replaces the search term in the URL\nconst handleChangeQuery = ({\n\tstate,\n\taction,\n\tupdateProperties,\n\tdispatch,\n\tproperties\n}) => {\n\tconst { query } = state;\n\tconst {\n\t\trelease,\n\t\tcategory,\n\t\tisSolrEnabled,\n\t\tisAutoSuggestionEnabled,\n\t\tisClusterSearchEnabled\n\t} = properties;\n\n\tconst searchTerm = (action.payload && action.payload.searchTerm) || query;\n\n\tif (searchTerm !== query) {\n\t\tupdateProperties({\n\t\t\tquery: searchTerm\n\t\t});\n\t}\n\tconst suggestionPayload = action.payload && action.payload.suggestionPayload;\n\tconst isUpdateClusterSearchEnabled =\n\t\tisSolrEnabled && isAutoSuggestionEnabled && isClusterSearchEnabled;\n\n\tif (searchTerm && /\\S/.test(searchTerm)) {\n\t\tif (isUpdateClusterSearchEnabled) {\n\t\t\tdispatch('APP_ACTIONS#UPDATE_SEARCH_ROUTE', {\n\t\t\t\tvalue: searchTerm,\n\t\t\t\tversion: release,\n\t\t\t\tsuggestionPayload,\n\t\t\t\tcategory: 'All'\n\t\t\t});\n\t\t} else {\n\t\t\tlocation.hash = isSolrEnabled\n\t\t\t\t? `#!/search/${release}/All/${encodeForSearch(searchTerm)}`\n\t\t\t\t: `#!/search/${release}/${category}/${encodeForSearch(searchTerm)}`;\n\t\t}\n\n\t\tscrollToElement({\n\t\t\tselector: 'dps-search-results'\n\t\t});\n\t}\n\tupdateProperties({\n\t\tsuggestionsList: []\n\t});\n};\n\n// Updates the page number in the URL (decrements)\nconst handlePrevPage = ({\n\tstate: {\n\t\tproperties: { release, category, page, query }\n\t}\n}) => {\n\tlocation.hash = `#!/search/${release}/${category}/${encodeForSearch(\n\t\tquery\n\t)}/${page - 1}`;\n\tscrollToElement({\n\t\tselector: 'dps-search-results'\n\t});\n};\n\n// Updates the page number in the URL (increments)\nconst handleNextPage = ({\n\tstate: {\n\t\tproperties: { release, category, page, query }\n\t}\n}) => {\n\tlocation.hash = `#!/search/${release}/${category}/${encodeForSearch(\n\t\tquery\n\t)}/${parseInt(page) + 1}`;\n\tscrollToElement({\n\t\tselector: 'dps-search-results'\n\t});\n};\n\nconst handleResultsFetchSucceeded = coeffects => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tresult: { result }\n\t\t\t}\n\t\t},\n\t\tupdateState,\n\t\tupdateProperties,\n\t\tstate: {\n\t\t\tproperties: { category }\n\t\t}\n\t} = coeffects;\n\tif (result.status === 'success' && result.data.search_results != {}) {\n\t\t//Updating the section order by rank\n\t\tconst orderedSectionKeys = getOrderedCategoryList(\n\t\t\tresult.data.search_results\n\t\t);\n\n\t\t// Update section titles\n\t\tconst sectionKeys = orderedSectionKeys\n\t\t\t.map(section =>\n\t\t\t\tresult.data.search_results[section].count > 0 ? section : null\n\t\t\t)\n\t\t\t.filter(section => section !== null);\n\n\t\t// Get the first category name (All) and prepend it to the list\n\t\tconst sectionTitles = [Object.keys(DPS_SEARCH_SECTION_NAMES)[0]]\n\t\t\t.concat(sectionKeys)\n\t\t\t.map(key => ({\n\t\t\t\tid: key,\n\t\t\t\tname: DPS_SEARCH_SECTION_NAMES[key].label\n\t\t\t}));\n\n\t\tconst categoryKey = getCategoryKey(DPS_SEARCH_SECTION_NAMES, category);\n\n\t\t// This is true if the search was `All`\n\t\t// `All` results has category keys which in turn contain a count key\n\t\tif (\n\t\t\t!Object.prototype.hasOwnProperty.call(result.data.search_results, 'count')\n\t\t) {\n\t\t\tupdateState({\n\t\t\t\tloadingResults: false,\n\t\t\t\tsectionTitles,\n\t\t\t\tsearchParams: result.data.search_params,\n\t\t\t\tsearchResults: result.data.search_results,\n\t\t\t\tsortedSectionKeys: orderedSectionKeys\n\t\t\t});\n\t\t} else {\n\t\t\tupdateState({\n\t\t\t\tloadingResults: false,\n\t\t\t\tsearchParams: result.data.search_params,\n\t\t\t\tcategorySearchResults: {\n\t\t\t\t\t[categoryKey]: result.data.search_results\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tupdateProperties({\n\t\tsuggestionsList: [],\n\t\tisFetchingSearchResults: false\n\t});\n\n\tif (\n\t\tresult.status === 'success' &&\n\t\tresult.data.related_search &&\n\t\tresult.data.related_search.data &&\n\t\tresult.data.related_search.data.related_search_terms\n\t) {\n\t\tupdateState({\n\t\t\trelatedSearch: result.data.related_search.data.related_search_terms\n\t\t});\n\t}\n};\n\nconst handleResultsFetchFailed = ({ action: { payload } }) => {\n\t// console.error(payload);\n\t// Handle network/auth failure\n};\n\nconst handlePropertyChanged = coeffects => {\n\tconst {\n\t\taction,\n\t\tstate,\n\t\tdispatch,\n\t\tproperties,\n\t\tupdateProperties,\n\t\tupdateState\n\t} = coeffects;\n\tconst {\n\t\tsystemProperties,\n\t\tisSolrEnabled,\n\t\tisAutoSuggestionEnabled,\n\t\tquery\n\t} = properties;\n\tconst { value, previousValue } = action.payload;\n\n\tconst changedProperty = action.payload.name;\n\n\tif (changedProperty === 'release') {\n\t\tconst inactiveResult = releaseInactive(properties);\n\t\tif (inactiveResult) {\n\t\t\tupdateProperties({\n\t\t\t\tredirectedFromInactiveRelease: true\n\t\t\t});\n\t\t\treturn replaceRoute(inactiveResult);\n\t\t}\n\t}\n\n\tif (\n\t\tchangedProperty === 'releaseInfo' &&\n\t\t!isInactiveRelease({ release: value.release, systemProperties })\n\t) {\n\t\tupdateProperties({\n\t\t\tredirectedFromInactiveRelease: false\n\t\t});\n\t}\n\n\t// Perform search again if the query has changed\n\tlet changedPropertyList = ['category', 'page', 'release'];\n\tif (!(isSolrEnabled && isAutoSuggestionEnabled)) {\n\t\tchangedPropertyList.push('query');\n\t} else if (\n\t\tisSolrEnabled &&\n\t\tisAutoSuggestionEnabled &&\n\t\tchangedProperty === 'pathname'\n\t) {\n\t\tlet lastIndex = previousValue.lastIndexOf('/');\n\t\tlet queryInURL = previousValue.substring(\n\t\t\tlastIndex + 1,\n\t\t\tpreviousValue.length\n\t\t);\n\n\t\tif (!isNaN(queryInURL)) {\n\t\t\tqueryInURL = previousValue.substring(\n\t\t\t\tpreviousValue.lastIndexOf('/', lastIndex - 1) + 1,\n\t\t\t\tlastIndex\n\t\t\t);\n\t\t}\n\t\tif (queryInURL !== query) {\n\t\t\tdispatch(SEARCH_ACTIONS.PERFORM_SEARCH);\n\t\t}\n\t}\n\n\tif (changedPropertyList.includes(changedProperty)) {\n\t\tdispatch(SEARCH_ACTIONS.PERFORM_SEARCH);\n\n\t\t// If the changed property is the query, and we are not looking at `All`,\n\t\t// then we should search for the main page results again\n\t\tif (changedProperty === 'query' && state.properties.category !== 'All') {\n\t\t\tdispatch(SEARCH_ACTIONS.PERFORM_SEARCH, { all: true });\n\t\t}\n\t}\n\n\tif (changedProperty === 'query') {\n\t\tupdateProperties({\n\t\t\thighlightTerm: previousValue\n\t\t});\n\t}\n\n\tif (changedProperty === 'isFetchingAutosuggestResults' && value === false) {\n\t\tupdateProperties({\n\t\t\thighlightTerm: properties.query\n\t\t});\n\t}\n};\n\nconst handleComponentBootstrapped = coeffects => {\n\tconst {\n\t\tstate,\n\t\tdispatch,\n\t\tproperties,\n\t\tupdateProperties,\n\t\tupdateState\n\t} = coeffects;\n\n\tconst inactiveResult = releaseInactive(properties);\n\tif (inactiveResult) {\n\t\tupdateProperties({\n\t\t\tredirectedFromInactiveRelease: true\n\t\t});\n\t\treturn replaceRoute(inactiveResult);\n\t}\n\n\tupdateState({\n\t\tquery: decodeParam(state.properties.query),\n\t\tdirty: !!state.properties.query\n\t});\n\n\t// Search for whatever category is in the URL\n\tdispatch(SEARCH_ACTIONS.PERFORM_SEARCH);\n\n\t// If we are starting out on a category, we should also search for the main results, after.\n\tif (state.properties.category !== 'All') {\n\t\tdispatch(SEARCH_ACTIONS.PERFORM_SEARCH, { all: true });\n\t}\n};\n\nexport default {\n\t[SEARCH_ACTIONS.SUBMIT_SEARCH]: handleChangeQuery,\n\t[SEARCH_ACTIONS.UPDATE_QUERY]: handleUpdateQuery,\n\t[SEARCH_ACTIONS.UPDATE_DIRTY]: handleUpdateDirty,\n\t[SEARCH_ACTIONS.CHANGE_PAGE]: handleChangePage,\n\t[SEARCH_ACTIONS.PREV_PAGE]: handlePrevPage,\n\t[SEARCH_ACTIONS.NEXT_PAGE]: handleNextPage,\n\t[SEARCH_ACTIONS.RESULTS_FETCH]: handleFetchResults,\n\t[SEARCH_ACTIONS.RESULTS_FETCH_SUCCEEDED]: handleResultsFetchSucceeded,\n\t[SEARCH_ACTIONS.RESULTS_FETCH_FAILED]: handleResultsFetchFailed,\n\t[COMPONENT_PROPERTY_CHANGED]: handlePropertyChanged,\n\t[COMPONENT_BOOTSTRAPPED]: handleComponentBootstrapped,\n\t[SEARCH_ACTIONS.PERFORM_SEARCH]: performSearch,\n\t[COMPONENT_CONNECTED]({ updateState }) {\n\t\tupdateState({\n\t\t\tlistRef: createRef()\n\t\t});\n\t},\n\t[SEARCH_ACTIONS.GET_AUTO_SUGGESTIONS]: createHttpEffect(\n\t\tCONSTANTS.ENDPOINTS.SOLR_SEARCH_AUTO_SUGGEST_ENDPOINT_V1,\n\t\t{\n\t\t\tbatch: false,\n\t\t\tmethod: 'GET',\n\t\t\tqueryParams: ['searchTerm'],\n\t\t\tsuccessActionType: SEARCH_ACTIONS.GET_AUTO_SUGGESTIONS_SUCCEEDED,\n\t\t\terrorActionType: SEARCH_ACTIONS.GET_AUTO_SUGGESTIONS_FAILED\n\t\t}\n\t),\n\t[SEARCH_ACTIONS.GET_AUTO_SUGGESTIONS_SUCCEEDED]: ({\n\t\tupdateProperties,\n\t\taction,\n\t\tproperties\n\t}) => {\n\t\tconst { payload } = action;\n\t\tconst { isFetchingSearchResults, isClusterSearchEnabled } = properties;\n\t\tlet suggestions =\n\t\t\tpayload && payload.result && payload.result.suggestions\n\t\t\t\t? payload.result.suggestions\n\t\t\t\t: [];\n\n\t\tif (suggestions.length > 0) {\n\t\t\tsuggestions.forEach(suggestion => {\n\t\t\t\tif (\n\t\t\t\t\tsuggestion &&\n\t\t\t\t\tsuggestion.payload &&\n\t\t\t\t\tArray.isArray(suggestion.payload) &&\n\t\t\t\t\tsuggestion.payload.length > 0\n\t\t\t\t) {\n\t\t\t\t\tsuggestion.term = suggestion.term.replace(suggestions[0].term, '');\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tif (isClusterSearchEnabled) {\n\t\t\tsuggestions.forEach(suggestion => {\n\t\t\t\tif (\n\t\t\t\t\tsuggestion &&\n\t\t\t\t\tsuggestion.payload &&\n\t\t\t\t\tArray.isArray(suggestion.payload) &&\n\t\t\t\t\tsuggestion.payload.length > 0\n\t\t\t\t) {\n\t\t\t\t\tsuggestion.term = suggestion.term.replace(suggestions[0].term, '');\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (!isClusterSearchEnabled && suggestions) {\n\t\t\tsuggestions = suggestions.filter(\n\t\t\t\tsuggestion => !Array.isArray(suggestion.payload)\n\t\t\t);\n\t\t}\n\n\t\tif (isFetchingSearchResults) {\n\t\t\tupdateProperties({\n\t\t\t\tsuggestionsList: []\n\t\t\t});\n\t\t} else {\n\t\t\tupdateProperties({\n\t\t\t\tsuggestionsList: suggestions,\n\t\t\t\tisFetchingAutosuggestResults: false\n\t\t\t});\n\t\t}\n\t},\n\t[SEARCH_ACTIONS.GET_AUTO_SUGGESTIONS_FAILED]: ({ updateProperties }) => {\n\t\tupdateProperties({\n\t\t\tsuggestionsList: []\n\t\t});\n\t},\n\t[SEARCH_ACTIONS.INPUT_VALUE_CHANGE]: ({\n\t\tupdateProperties,\n\t\taction,\n\t\tdispatch,\n\t\tproperties\n\t}) => {\n\t\tconst { value } = action.payload;\n\t\tconst {\n\t\t\tisSolrEnabled,\n\t\t\tisAutoSuggestionEnabled,\n\t\t\tisFetchingSearchResults\n\t\t} = properties;\n\t\tupdateProperties({ query: value, active: -1 });\n\n\t\tdispatch(SEARCH_ACTIONS.UPDATE_QUERY, {\n\t\t\tquery: value\n\t\t});\n\n\t\tif (\n\t\t\tisSolrEnabled &&\n\t\t\tisAutoSuggestionEnabled &&\n\t\t\tshouldEmptySuggestionList(value)\n\t\t) {\n\t\t\tupdateProperties({\n\t\t\t\tsuggestionsList: []\n\t\t\t});\n\t\t}\n\t\tif (\n\t\t\tisSolrEnabled &&\n\t\t\tisAutoSuggestionEnabled &&\n\t\t\tshouldFetchAutoSuggest(value) &&\n\t\t\t!isFetchingSearchResults\n\t\t) {\n\t\t\tupdateProperties({ isFetchingAutosuggestResults: true });\n\t\t\tdispatch(SEARCH_ACTIONS.GET_AUTO_SUGGESTIONS, {\n\t\t\t\tsearchTerm: value.trim()\n\t\t\t});\n\t\t}\n\t},\n\t[SEARCH_ACTIONS.INPUT_VALUE_CLEAR]: ({ updateProperties, dispatch }) => {\n\t\tupdateProperties({ query: null });\n\t\tdispatch(SEARCH_ACTIONS.UPDATE_DIRTY, { dirty: false });\n\t},\n\t[SEARCH_ACTIONS.INPUT_CLOSE_BUTTON_CLICKED]: ({ updateProperties }) => {\n\t\tupdateProperties({\n\t\t\tsuggestionsList: []\n\t\t});\n\t},\n\t[SEARCH_ACTIONS.KEYBOARD_KEY_CLICKED]: ({ action, properties, dispatch }) => {\n\t\tconst { event } = action.payload;\n\n\t\tconst { active, suggestionsList, query, queryWithoutDebounce } = properties;\n\t\tlet selectedIndex = active;\n\n\t\tswitch (event.keyCode) {\n\t\t\tcase KEYCODE.UP_ARROW:\n\t\t\t\tselectedIndex = selectedIndex - 1;\n\t\t\t\tif (selectedIndex < 0) {\n\t\t\t\t\tselectedIndex = suggestionsList.length - 1;\n\t\t\t\t}\n\t\t\t\tdispatch(SEARCH_ACTIONS.AUTO_SUGGEST_LIST_ITEM_SELECTED, {\n\t\t\t\t\tactive: selectedIndex\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase KEYCODE.DOWN_ARROW:\n\t\t\t\tselectedIndex = selectedIndex + 1;\n\t\t\t\tif (selectedIndex >= suggestionsList.length) {\n\t\t\t\t\tselectedIndex = 0;\n\t\t\t\t}\n\t\t\t\tdispatch(SEARCH_ACTIONS.AUTO_SUGGEST_LIST_ITEM_SELECTED, {\n\t\t\t\t\tactive: selectedIndex\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase KEYCODE.ENTER:\n\t\t\t\tevent.target.blur();\n\t\t\t\tdispatch(\n\t\t\t\t\tSEARCH_ACTIONS.SUBMIT_SEARCH,\n\t\t\t\t\tsuggestionsList.length > 0 && active !== -1\n\t\t\t\t\t\t? Array.isArray(suggestionsList[selectedIndex].payload) &&\n\t\t\t\t\t\t  suggestionsList[selectedIndex].payload.length > 0\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\tsearchTerm:\n\t\t\t\t\t\t\t\t\t\tsuggestionsList[0].term +\n\t\t\t\t\t\t\t\t\t\tsuggestionsList[selectedIndex].term,\n\t\t\t\t\t\t\t\t\tsuggestionPayload: suggestionsList[selectedIndex].payload\n\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t: { searchTerm: suggestionsList[selectedIndex].term }\n\t\t\t\t\t\t: { searchTerm: queryWithoutDebounce }\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t}\n\t},\n\t[SEARCH_ACTIONS.AUTO_SUGGEST_LIST_ITEM_SELECTED]: ({\n\t\taction,\n\t\tupdateProperties,\n\t\tstate\n\t}) => {\n\t\tconst { active } = action.payload;\n\t\tupdateProperties({ active });\n\t\tstate.listRef.current.children[active].focus();\n\t},\n\t['DPS_INPUT#VALUE_CHANGE_WITHOUT_DEBOUNCE']: ({\n\t\tupdateProperties,\n\t\taction\n\t}) => {\n\t\tconst { value } = action.payload;\n\t\tupdateProperties({ queryWithoutDebounce: value.trim() });\n\t},\n\t...handleTrackSearchLinksClicks\n};\n","import '../../components/dps-search-category';\nimport '../../components/dps-button';\nimport '../../components/dps-link';\nimport '../../components/dps-spinner';\nimport '../../components/dps-inline-version-selector';\nimport '@servicenow/now-icon';\nimport { createRef } from '@servicenow/ui-renderer-snabbdom';\nimport noResultsCat from '../../images/search-no-results-cat.svg';\nimport { SEARCH_ACTIONS } from './actions';\nimport { CONSTANTS, DPS_SEARCH_SECTION_NAMES, KEYCODE } from '../../constants';\nimport {\n\tgetCategoryKey,\n\tgetOrderedCategoryList,\n\tencodeForSearch\n} from './dps-search-helpers';\nimport { createPath } from '../../utils/url';\nimport { getFormattedInstanceReleaseInfo } from '../../utils/releaseHelpers';\nimport { showAutoSuggestList } from './dps-search-helpers';\n\nconst getOtherReleases = ({\n\tcategory,\n\tpage,\n\tquery,\n\treleaseInfo,\n\trouteString,\n\tsystemProperties\n}) => {\n\tconst { activeVersionsFormatted } = releaseInfo;\n\tconst internalReleases = (systemProperties && systemProperties['dev.internal_releases']) || '';\n\tconst activeReleases = (systemProperties && systemProperties['dev.active_releases'])\n\t\t? systemProperties['dev.active_releases'].split(',')\n\t\t: [];\n\n\treturn Object.keys(activeVersionsFormatted)\n\t\t.sort((a, b) => {\n\t\t\tconst aIndex = activeReleases.indexOf(a);\n\t\t\tconst bIndex = activeReleases.indexOf(b);\n\t\t\treturn bIndex - aIndex; \n\t\t})\n\t\t.map(release => ({\n\t\t\tactive: true,\n\t\t\tid: release,\n\t\t\tinternal: ~internalReleases.indexOf(release),\n\t\t\tlabel: activeVersionsFormatted[release],\n\t\t\turl: routeString\n\t\t\t\t.replace(':release', release)\n\t\t\t\t.replace(':category', category)\n\t\t\t\t.replace(':query', encodeForSearch(query))\n\t\t\t\t.replace(':page?', '')\n\t\t}));\n};\n\nconst renderResultCategories = (\n\tcategorySearchResults,\n\tsearchResults,\n\tcategory,\n\tpagination,\n\tpage,\n\tquery,\n\trelease,\n\tsortedSectionKeys,\n\tsystemProperties,\n\tisSolrEnabled\n) => {\n\t// Find the category Key eg: learn from the label eg: Learn\n\tconst categoryKey = getCategoryKey(DPS_SEARCH_SECTION_NAMES, category);\n\n\t// Map all of the categories if we want all results.\n\tif (category === 'All') {\n\t\t//Getting the ordered list of searched results (Ordered based on the category ranks)\n\t\tconst orderedCategoryList = getOrderedCategoryList(searchResults);\n\n\t\treturn sortedSectionKeys.map(key => {\n\t\t\tconst allCategoryResults = searchResults[key];\n\t\t\tif (allCategoryResults.count > 0) {\n\t\t\t\treturn (\n\t\t\t\t\t<dps-search-category\n\t\t\t\t\t\ticon={DPS_SEARCH_SECTION_NAMES[key].icon}\n\t\t\t\t\t\tbackgroundColor={DPS_SEARCH_SECTION_NAMES[key].backgroundColor}\n\t\t\t\t\t\tcategoryKey={key}\n\t\t\t\t\t\tcategoryResults={allCategoryResults}\n\t\t\t\t\t\tselectedCategory={category}\n\t\t\t\t\t\tpagination={pagination}\n\t\t\t\t\t\tactivePage={page}\n\t\t\t\t\t\tquery={query}\n\t\t\t\t\t\trelease={release}\n\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\tisSolrEnabled={isSolrEnabled}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t}\n\n\t// Pick the specific category and return it otherwise.\n\tconst categoryResults =\n\t\tcategorySearchResults[categoryKey] || searchResults[categoryKey];\n\n\tif (categoryResults && categoryResults.count > 0) {\n\t\treturn (\n\t\t\t<dps-search-category\n\t\t\t\ticon={DPS_SEARCH_SECTION_NAMES[categoryKey].icon}\n\t\t\t\tbackgroundColor={DPS_SEARCH_SECTION_NAMES[categoryKey].backgroundColor}\n\t\t\t\tcategoryKey={categoryKey}\n\t\t\t\tcategoryResults={categoryResults}\n\t\t\t\tselectedCategory={category}\n\t\t\t\tpagination={pagination}\n\t\t\t\tactivePage={page}\n\t\t\t\tquery={query}\n\t\t\t\trelease={release}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tisSolrEnabled={isSolrEnabled}\n\t\t\t/>\n\t\t);\n\t}\n};\n\nconst view = (state, dispatch, updateState, updateProperties) => {\n\tconst {\n\t\tsectionTitles,\n\t\tsearchResults,\n\t\tcategorySearchResults,\n\t\tdirty,\n\t\tpagination,\n\t\tsortedSectionKeys,\n\t\trelatedSearch,\n\t\tlistRef,\n\t\tproperties: {\n\t\t\tcategory,\n\t\t\tinstanceInfo,\n\t\t\tpage,\n\t\t\tquery,\n\t\t\trelease,\n\t\t\treleaseInfo,\n\t\t\tpathname,\n\t\t\trouteString,\n\t\t\tsystemProperties,\n\t\t\tsuggestionsList,\n\t\t\tactive,\n\t\t\thighlightTerm,\n\t\t\tisSolrEnabled,\n\t\t\tisAutoSuggestionEnabled\n\t\t}\n\t} = state;\n\n\tconst searchInputRef = createRef();\n\tconst instanceRelease = getFormattedInstanceReleaseInfo(instanceInfo);\n\tconst otherReleases = getOtherReleases({\n\t\tcategory,\n\t\tpage,\n\t\tquery,\n\t\treleaseInfo,\n\t\trouteString,\n\t\tsystemProperties\n\t});\n\n\t// calculate the total results of the whole set\n\tlet totalResults = 0;\n\tif (category === 'All') {\n\t\tfor (const key in searchResults) {\n\t\t\ttotalResults += searchResults[key].count;\n\t\t}\n\t} else {\n\t\tconst categoryKey = getCategoryKey(DPS_SEARCH_SECTION_NAMES, category);\n\t\tconst categoryResults = categorySearchResults[categoryKey];\n\t\tif (categoryResults) {\n\t\t\t// count results from the category specific search\n\t\t\ttotalResults += categoryResults.count;\n\t\t} else if (searchResults[categoryKey]) {\n\t\t\t// we are likely still searching the main `All` query\n\t\t\ttotalResults += searchResults[categoryKey].count;\n\t\t}\n\t}\n\n\tconst highlightValue = suggestion => {\n\t\tif (suggestion.payload && !Array.isArray(suggestion.payload)) {\n\t\t\tlet text = suggestion.term.replace(highlightTerm, '');\n\t\t\treturn (\n\t\t\t\t<p>\n\t\t\t\t\t<b>\n\t\t\t\t\t\t{suggestion.term.indexOf(highlightTerm) > -1 ? highlightTerm : ''}\n\t\t\t\t\t</b>\n\t\t\t\t\t{text}\n\t\t\t\t</p>\n\t\t\t);\n\t\t}\n\n\t\treturn suggestion.term;\n\t};\n\n\tconst renderInputField = () => {\n\t\tif (isSolrEnabled && isAutoSuggestionEnabled) {\n\t\t\treturn (\n\t\t\t\t<div className=\"dps-search-results-bar-inner\">\n\t\t\t\t\t<now-icon icon={'magnifying-glass-fill'} size={'lg'} />\n\t\t\t\t\t<dps-input\n\t\t\t\t\t\tvalue={query || ''}\n\t\t\t\t\t\tvariant=\"bare\"\n\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\tdirty={query ? true : false}\n\t\t\t\t\t\tgetFocusOnInsert={true}\n\t\t\t\t\t\tuseDebounce\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t} else {\n\t\t\treturn (\n\t\t\t\t<div className=\"dps-search-results-bar-inner\">\n\t\t\t\t\t<now-icon icon={'magnifying-glass-fill'} size={'lg'} />\n\t\t\t\t\t<input\n\t\t\t\t\t\tvalue={query}\n\t\t\t\t\t\tref={searchInputRef}\n\t\t\t\t\t\tclassName=\"dps-search-results-input\"\n\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\ton-input={event => {\n\t\t\t\t\t\t\tdispatch(SEARCH_ACTIONS.UPDATE_QUERY, {\n\t\t\t\t\t\t\t\tquery: event.target.value\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ton-keyup={event => {\n\t\t\t\t\t\t\tif (event.keyCode === KEYCODE.ENTER) {\n\t\t\t\t\t\t\t\tdispatch(SEARCH_ACTIONS.SUBMIT_SEARCH);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t{dirty ? (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"dps-input-clear-search\"\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\tsearchInputRef.current.value = '';\n\t\t\t\t\t\t\t\tdispatch(SEARCH_ACTIONS.UPDATE_DIRTY, { dirty: false });\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tinnerHTML=\"×\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"dps-search-results\"\n\t\t\tid=\"dps-search-results\"\n\t\t\ton-keydown={event => {\n\t\t\t\tif (isSolrEnabled && isAutoSuggestionEnabled) {\n\t\t\t\t\tdispatch(SEARCH_ACTIONS.KEYBOARD_KEY_CLICKED, { event });\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t<dps-template-two-column open={true}>\n\t\t\t\t<div className=\"search-results-sidebar\" slot=\"sidebar\">\n\t\t\t\t\t<h2>Search Results</h2>\n\t\t\t\t\t<h4>Filter</h4>\n\t\t\t\t\t<ul className=\"list-with-active-indicator\">\n\t\t\t\t\t\t{sectionTitles.map(section => (\n\t\t\t\t\t\t\t<li class={{ ['active']: section.name === category }}>\n\t\t\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\t\tbutton-style\n\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\thref={createPath(\n\t\t\t\t\t\t\t\t\t\t`/search/${release}/${section.name}/${encodeForSearch(\n\t\t\t\t\t\t\t\t\t\t\tquery\n\t\t\t\t\t\t\t\t\t\t)}`\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{section.name}\n\t\t\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-search-results-version-selector\">\n\t\t\t\t\t<dps-inline-version-selector\n\t\t\t\t\t\tselected={release.toLowerCase()}\n\t\t\t\t\t\treleases={otherReleases}\n\t\t\t\t\t\tinstanceRelease={instanceRelease}\n\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\tsourcePathname={pathname}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-search-results-bar\">\n\t\t\t\t\t{renderInputField()}\n\t\t\t\t\t<dps-button\n\t\t\t\t\t\tclassName=\"button-text-only\"\n\t\t\t\t\t\tlabel=\"Search\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(SEARCH_ACTIONS.SUBMIT_SEARCH);\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t<dps-button\n\t\t\t\t\t\tclassName=\"button-icon-only\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\ticon=\"arrow-right-outline\"\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(SEARCH_ACTIONS.SUBMIT_SEARCH);\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{showAutoSuggestList(query) &&\n\t\t\t\tsuggestionsList &&\n\t\t\t\tsuggestionsList.length > 0 ? (\n\t\t\t\t\t<ul\n\t\t\t\t\t\ttype=\"none\"\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t['dps-search-results-autosuggest-list']: true,\n\t\t\t\t\t\t\t['-hide-list']: suggestionsList.length === 0\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tref={listRef}\n\t\t\t\t\t>\n\t\t\t\t\t\t{suggestionsList.map((suggestion, index) => (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t['dps-search-results-autosuggest-list-item']: true,\n\t\t\t\t\t\t\t\t\t['-with-payload']:\n\t\t\t\t\t\t\t\t\t\tArray.isArray(suggestion.payload) &&\n\t\t\t\t\t\t\t\t\t\tsuggestion.payload.length > 0\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\ttabindex={active === index ? 0 : -1}\n\t\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\t\tSEARCH_ACTIONS.SUBMIT_SEARCH,\n\t\t\t\t\t\t\t\t\t\tArray.isArray(suggestion.payload) &&\n\t\t\t\t\t\t\t\t\t\t\tsuggestion.payload.length > 0\n\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\tsearchTerm:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsuggestionsList[0].term +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsuggestionsList[index].term,\n\t\t\t\t\t\t\t\t\t\t\t\t\tsuggestionPayload: suggestion.payload\n\t\t\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t\t\t: { searchTerm: suggestion.term }\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<now-icon icon=\"magnifying-glass-fill\" size=\"md\"></now-icon>\n\t\t\t\t\t\t\t\t{highlightValue(suggestion)}\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</ul>\n\t\t\t\t) : null}\n\t\t\t\t{state.loadingResults ? <dps-spinner /> : null}\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"dps-search-results-results\"\n\t\t\t\t\tstyle={{ opacity: `${state.loadingResults ? '0' : '1'}` }}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"dps-search-results-info\">\n\t\t\t\t\t\t{/* Your search for “{state.searchParams.query}” returned {totalResults} results */}\n\t\t\t\t\t</div>\n\t\t\t\t\t{totalResults > 0 ? (\n\t\t\t\t\t\trenderResultCategories(\n\t\t\t\t\t\t\tcategorySearchResults,\n\t\t\t\t\t\t\tsearchResults,\n\t\t\t\t\t\t\tcategory,\n\t\t\t\t\t\t\tpagination,\n\t\t\t\t\t\t\tpage,\n\t\t\t\t\t\t\tquery,\n\t\t\t\t\t\t\trelease,\n\t\t\t\t\t\t\tsortedSectionKeys,\n\t\t\t\t\t\t\tsystemProperties,\n\t\t\t\t\t\t\tisSolrEnabled\n\t\t\t\t\t\t)\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className=\"dps-search-results-no-results\">\n\t\t\t\t\t\t\t<img src={noResultsCat} alt=\"Cat Illustration\" />\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t{systemProperties &&\n\t\t\t\t\t\t\t\t\tsystemProperties['dev.search.no_search_results_text']}\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{isSolrEnabled &&\n\t\t\t\tisAutoSuggestionEnabled &&\n\t\t\t\trelatedSearch.length > 0 ? (\n\t\t\t\t\t<div className=\"dps-search-results_related-search\">\n\t\t\t\t\t\t<div className=\"dps-search-results_related-search_header\">\n\t\t\t\t\t\t\t<h4>Related Searches</h4>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"dps-search-results_related-search_list-container\">\n\t\t\t\t\t\t\t{relatedSearch.map(item => (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName=\"dps-search-results_related-search_list\"\n\t\t\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\t\t\tdispatch(SEARCH_ACTIONS.SUBMIT_SEARCH, {\n\t\t\t\t\t\t\t\t\t\t\tsearchTerm: item\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{item}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t</dps-template-two-column>\n\t\t</div>\n\t);\n};\n\nexport default view;","const properties = {\n\tcategory: {\n\t\tdefault: 'All'\n\t},\n\tcontent: {\n\t\tdefault: ''\n\t},\n\thash: {\n\t\tdefault: ''\n\t},\n\tinstanceInfo: {\n\t\tdefault: {}\n\t},\n\tpage: {\n\t\tdefault: 1\n\t},\n\tpathname: {\n\t\tdefault: ''\n\t},\n\tquery: {\n\t\tdefault: ''\n\t},\n\tqueryWithoutDebounce: {\n\t\tdefault: ''\n\t},\n\tredirectedFromInactiveRelease: {\n\t\tdefault: false\n\t},\n\trelease: {\n\t\tdefault: '',\n\t\trequired: true,\n\t\tschema: {\n\t\t\ttype: 'string'\n\t\t}\n\t},\n\treleaseInfo: {\n\t\tdefault: {}\n\t},\n\trouteString: {\n\t\tdefault: ''\n\t},\n\tsectionId: {\n\t\tdefault: 0\n\t},\n\tsystemProperties: {\n\t\tdefault: {}\n\t},\n\tuserInfo: {\n\t\tdefault: {}\n\t},\n\tsuggestionsList: {\n\t\tdefault: []\n\t},\n\tcompleteTerm: {\n\t\tdefault: ''\n\t},\n\tactive: {\n\t\tdefault: -1\n\t},\n\thighlightTerm: {\n\t\tdefault: ''\n\t},\n\tisFetchingAutosuggestResults: {\n\t\tdefault: false\n\t},\n\tisSolrEnabled: {\n\t\tcomputed({ properties }) {\n\t\t\tconst { systemProperties } = properties;\n\t\t\treturn (\n\t\t\t\tsystemProperties &&\n\t\t\t\tsystemProperties['dev.search.enable_solr_search'] == 'true'\n\t\t\t);\n\t\t}\n\t},\n\tisAutoSuggestionEnabled: {\n\t\tcomputed({ properties }) {\n\t\t\tconst { systemProperties } = properties;\n\t\t\treturn (\n\t\t\t\tsystemProperties &&\n\t\t\t\tsystemProperties['dev.search.enable_auto_suggest'] == 'true'\n\t\t\t);\n\t\t}\n\t},\n\tisFetchingSearchResults: {\n\t\tdefault: false\n\t},\n\tisClusterSearchEnabled: {\n\t\tcomputed({ properties }) {\n\t\t\tconst { systemProperties } = properties;\n\t\t\treturn (\n\t\t\t\tsystemProperties &&\n\t\t\t\tsystemProperties['dev.search.enable_cluster_search'] == 'true'\n\t\t\t);\n\t\t}\n\t},\n\tshouldFetchClusterSearch: {\n\t\tcomputed({ properties }) {\n\t\t\tconst { suggestionPayload } = properties;\n\t\t\treturn (suggestionPayload && suggestionPayload.length > 0) || false;\n\t\t}\n\t},\n\tsuggestionPayload: {\n\t\tdefault: []\n\t}\n};\n\nexport default properties;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport actionHandlers from './actionHandlers';\nimport styles from './dps-search-results.scss';\nimport view from './view';\nimport '../../components/dps-template-two-column';\nimport '../../components/dps-filter-nav';\nimport properties from './properties';\n\nexport default createCustomElement('dps-search-results', {\n\tactionHandlers,\n\tinitialState: {\n\t\tcategorySearchResults: {},\n\t\tdirty: false,\n\t\tloadingResults: true,\n\t\tpagination: {\n\t\t\tallPerPage: 3,\n\t\t\tperPage: 20\n\t\t},\n\t\tquery: '',\n\t\tsearchParams: {},\n\t\tsearchResults: {},\n\t\tsectionTitles: [],\n\t\tsortedSectionKeys: [],\n\t\trelatedSearch: [],\n\t\tlistRef: null\n\t},\n\tproperties,\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tstyles,\n\tview\n});\n","import blog from '../../images/icons/solr-icon-blog.svg';\nimport download from '../../images/icons/solr-icon-download.svg';\nimport event from '../../images/icons/solr-icon-event.svg';\nimport instance from '../../images/icons/solr-icon-instance.svg';\nimport learning from '../../images/icons/solr-icon-learning.svg';\nimport link from '../../images/icons/solr-icon-link.svg';\nimport tool from '../../images/icons/solr-icon-tool.svg';\nimport training from '../../images/icons/solr-icon-training.svg';\nimport unknown from '../../images/icons/solr-icon-unknown.svg';\nimport video from '../../images/icons/solr-icon-video.svg';\n\nexport const RELEASE_MAP = {\n\to: 'Orlando',\n\tp: 'Paris',\n\tq: 'Quebec',\n\tr: 'Rome'\n};\n\nexport const SOURCE_MAP = {\n\tdev: 'Developer Program',\n\tcom: 'Now Community',\n\tdoc: 'Product Documentation',\n\tkb: 'Knowledge Base & Support',\n\tlrn: 'Now Learning'\n};\n\nexport const CONTENT_TYPE_MAP = {\n\tBlogs: 'Blog'\n};\n\nexport const FACET_MAP = {\n\tsource: 'source',\n\tclsf_contenttypes: 'contentType',\n\tclsf_release: 'release',\n\tclsf_products: 'product',\n\tclsf_applications: 'application'\n};\n\nexport const ICON_MAP = {\n\t'API Reference': link,\n\tGuides: link,\n\tBlogs: blog,\n\t'Shared Projects': download,\n\tInstance: tool,\n\tTraining: learning,\n\t'Now Experience': link,\n\t'Live Classes': learning,\n\tCourses: learning,\n\tCertification: learning,\n\tSimulator: tool,\n\t'Question Answer': blog,\n\tBlogs: blog,\n\tArticles: blog,\n\tTemplates: download,\n\tVideos: video\n};\n\nexport const ENCODED_FILTER_NAME = {\n\t'API Reference': 'api',\n\t'Advanced Work Assignment': 'Adv',\n\t'Agile Development': 'Agi',\n\t'Alumni Service Center': 'Alu',\n\t'Analytics Intelligence and Reporting': 'Ana',\n\t'Application Portfolio Management': 'App',\n\tApplications: 'Apps',\n\tArticles: 'Art',\n\t'Asset Management': 'Ast',\n\t'Best Practices': 'Bst',\n\tBlogs: 'Blg',\n\t'Business Continuity Management': 'Bcm',\n\t'Case Management': 'CasM',\n\t'Case Studies': 'CasS',\n\tCertification: 'Cert',\n\t'Change Management': 'ChgM',\n\tChecklists: 'Chk',\n\t'Cloud Insights': 'CldI',\n\t'Cloud Provisioning and Governance': 'CldP',\n\t'Connected Operations': 'ConOp',\n\t'Content Type': 'ConTp',\n\t'Continual Improvement Management': 'CIM',\n\t'Core Platform Functionalities': 'CPF',\n\t'Cost Management': 'CstM',\n\tCourses: 'Crs',\n\t'Customer Central': 'CustC',\n\t'Customer Service Management': 'CSM',\n\tDeck: 'Deck',\n\t'Demand Management': 'DmdM',\n\tDemo: 'Demo',\n\tDevOps: 'DevOps',\n\t'Developer Program': 'DevP',\n\tDiscovery: 'Disc',\n\tDocumentation: 'Docu',\n\t'Employee Document Management': 'EDM',\n\t'Employee Service Center': 'ESC',\n\t'Engagement Messenger': 'EngM',\n\t'Event Management': 'EvtM',\n\tEvents: 'Evts',\n\t'Field Service Management': 'FSM',\n\t'Field Service Mobile App': 'FSMA',\n\t'Finance Service Management': 'FnSM',\n\t'Financial Management': 'FnM',\n\t'Governance Risk and Compliance': 'GRC',\n\t'Guided Application Creator': 'GAC',\n\tGuides: 'Gds',\n\t'Hardware Asset Management': 'HAM',\n\tHealthScan: 'HS',\n\t'Human Resources Service Delivery': 'HRSD',\n\t'IT Asset Management': 'ITAM',\n\t'IT Business Management': 'ITBM',\n\t'IT Operations Management': 'ITOM',\n\t'IT Service Management': 'ITSM',\n\t'ITSM Virtual Agent': 'ITSMVA',\n\t'Incident Management': 'IM',\n\tInsights: 'Ins',\n\t'Instance Data Replication': 'IDR',\n\t'Instance Usage': 'IU',\n\t'Investment Funding': 'IF',\n\t'Knowledge Base & Support': 'KbS',\n\t'Knowledge Management': 'KM',\n\t'Mobile Applications': 'MobA',\n\t'NOW Experience': 'NOWEx',\n\t'Natural Language Understanding': 'NLU',\n\t'Now Community': 'NCom',\n\t'Now Create': 'NCre',\n\t'Now Experience UI Framework': 'NEUIF',\n\t'Now Learning': 'NL',\n\t'Now Platform': 'NP',\n\t'Now Platform App Engine': 'NPAE',\n\t'Now Platform User Interface': 'NPUI',\n\t'On-Call Scheduling': 'OCS',\n\t'Operational Intelligence': 'OpI',\n\tOrchestration: 'Orch',\n\tOrlando: 'Orl',\n\tParis: 'Par',\n\t'Performance Analytics': 'PA',\n\tPlaybook: 'PlaB',\n\tPodcast: 'Pod',\n\t'Policy and Compliance Management': 'PnCM',\n\t'Predictive Intelligence': 'PI',\n\t'Proactive Customer Service Operations': 'PCSO',\n\t'Problem Management': 'PrbM',\n\t'Process Automation Designer': 'PAD',\n\t'Process Optimization': 'PO',\n\t'Product Catalog': 'PCat',\n\t'Product Documentation': 'ProdD',\n\tProducts: 'Prod',\n\t'Project Portfolio Suite with Financials': 'PPSF',\n\tQuebec: 'Que',\n\tQuestion: 'Ques',\n\t'Question Answers': 'QnA',\n\t'Quick Answers': 'QAns',\n\tRecap: 'Recap',\n\t'Release Management': 'RelM',\n\t'Request Management': 'ReqM',\n\t'Resource Management': 'ResM',\n\t'Risk Management': 'RskM',\n\tRome: 'Rom',\n\t'SaaS License Management': 'SaLM',\n\t'Safe Workplace': 'SW',\n\t'San Diego': 'SanD',\n\t'Service Catalog': 'SC',\n\t'Service Desk Call': 'SDC',\n\t'Service Graph Connectors': 'SGC',\n\t'Service Level Management': 'SrLM',\n\t'Service Mapping': 'SrM',\n\t'Service Portfolio Management': 'SPM',\n\t'Shared Projects': 'Shr',\n\tSimulator: 'Simu',\n\t'Skills Management': 'SklM',\n\tSocial: 'Social',\n\t'Software Asset Management': 'SftAM',\n\tStandards: 'std',\n\t'Success Maps': 'ScM',\n\t'Success Packs': 'SP',\n\t'Success Stories': 'SS',\n\tTemplates: 'Temp',\n\t'Test Management': 'TestM',\n\tTools: 'Tools',\n\tTraining: 'Trng',\n\t'User Experience Analytics': 'UxA',\n\t'Vaccine Administration Management': 'VAM',\n\t'Vendor Manager Workspace': 'VMW',\n\t'Vendor Risk Management': 'VRM',\n\tVideos: 'Vds',\n\t'Walk-Up Experience': 'WUx',\n\tWebinar: 'Webi',\n\tWorkbooks: 'Workb',\n\t'Workplace Case Management': 'WCM',\n\t'Workplace Reservation Management': 'WRM',\n\t'Workplace Safety Management': 'WSM',\n\t'Workplace Service Delivery': 'WSD'\n};\n\nexport const DECODE_FILTER_NAME = {\n\tAdv: 'Advanced Work Assignment',\n\tAgi: 'Agile Development',\n\tAlu: 'Alumni Service Center',\n\tAna: 'Analytics Intelligence and Reporting',\n\tApp: 'Application Portfolio Management',\n\tApps: 'Applications',\n\tArt: 'Articles',\n\tAst: 'Asset Management',\n\tBcm: 'Business Continuity Management',\n\tBlg: 'Blogs',\n\tBst: 'Best Practices',\n\tCIM: 'Continual Improvement Management',\n\tCPF: 'Core Platform Functionalities',\n\tCSM: 'Customer Service Management',\n\tCasM: 'Case Management',\n\tCasS: 'Case Studies',\n\tCert: 'Certification',\n\tChgM: 'Change Management',\n\tChk: 'Checklists',\n\tCldI: 'Cloud Insights',\n\tCldP: 'Cloud Provisioning and Governance',\n\tConOp: 'Connected Operations',\n\tConTp: 'Content Type',\n\tCrs: 'Courses',\n\tCstM: 'Cost Management',\n\tCustC: 'Customer Central',\n\tDeck: 'Deck',\n\tDemo: 'Demo',\n\tDevOps: 'DevOps',\n\tDevP: 'Developer Program',\n\tDisc: 'Discovery',\n\tDmdM: 'Demand Management',\n\tDocu: 'Documentation',\n\tEDM: 'Employee Document Management',\n\tESC: 'Employee Service Center',\n\tEngM: 'Engagement Messenger',\n\tEvtM: 'Event Management',\n\tEvts: 'Events',\n\tFSM: 'Field Service Management',\n\tFSMA: 'Field Service Mobile App',\n\tFnM: 'Financial Management',\n\tFnSM: 'Finance Service Management',\n\tGAC: 'Guided Application Creator',\n\tGRC: 'Governance Risk and Compliance',\n\tGds: 'Guides',\n\tHAM: 'Hardware Asset Management',\n\tHRSD: 'Human Resources Service Delivery',\n\tHS: 'HealthScan',\n\tIDR: 'Instance Data Replication',\n\tIF: 'Investment Funding',\n\tIM: 'Incident Management',\n\tITAM: 'IT Asset Management',\n\tITBM: 'IT Business Management',\n\tITOM: 'IT Operations Management',\n\tITSM: 'IT Service Management',\n\tITSMVA: 'ITSM Virtual Agent',\n\tIU: 'Instance Usage',\n\tIns: 'Insights',\n\tKM: 'Knowledge Management',\n\tKbS: 'Knowledge Base & Support',\n\tMobA: 'Mobile Applications',\n\tNCom: 'Now Community',\n\tNCre: 'Now Create',\n\tNC: 'Now Create',\n\tNEUIF: 'Now Experience UI Framework',\n\tNL: 'Now Learning',\n\tNLU: 'Natural Language Understanding',\n\tNOWEx: 'NOW Experience',\n\tNP: 'Now Platform',\n\tNPAE: 'Now Platform App Engine',\n\tNPUI: 'Now Platform User Interface',\n\tOCS: 'On-Call Scheduling',\n\tOpI: 'Operational Intelligence',\n\tOrch: 'Orchestration',\n\tOrl: 'Orlando',\n\tPA: 'Performance Analytics',\n\tPAD: 'Process Automation Designer',\n\tPCSO: 'Proactive Customer Service Operations',\n\tPCat: 'Product Catalog',\n\tPI: 'Predictive Intelligence',\n\tPO: 'Process Optimization',\n\tPPSF: 'Project Portfolio Suite with Financials',\n\tPar: 'Paris',\n\tPlaB: 'Playbook',\n\tPnCM: 'Policy and Compliance Management',\n\tPod: 'Podcast',\n\tPrbM: 'Problem Management',\n\tProd: 'Products',\n\tProdD: 'Product Documentation',\n\tQAns: 'Quick Answers',\n\tQnA: 'Question Answers',\n\tQue: 'Quebec',\n\tQues: 'Question',\n\tRecap: 'Recap',\n\tRelM: 'Release Management',\n\tReqM: 'Request Management',\n\tResM: 'Resource Management',\n\tRom: 'Rome',\n\tRskM: 'Risk Management',\n\tSC: 'Service Catalog',\n\tSDC: 'Service Desk Call',\n\tSGC: 'Service Graph Connectors',\n\tSaLM: 'SaaS License Management',\n\tSrLM: 'Service Level Management',\n\tScM: 'Success Maps',\n\tSrM: 'Service Mapping',\n\tSP: 'Success Packs',\n\tShr: 'Shared Projects',\n\tSPM: 'Service Portfolio Management',\n\tSS: 'Success Stories',\n\tSW: 'Safe Workplace',\n\tSanD: 'San Diego',\n\tSftAM: 'Software Asset Management',\n\tSimu: 'Simulator',\n\tSklM: 'Skills Management',\n\tSocial: 'Social',\n\tTemp: 'Templates',\n\tTestM: 'Test Management',\n\tTools: 'Tools',\n\tTrng: 'Training',\n\tUxA: 'User Experience Analytics',\n\tVAM: 'Vaccine Administration Management',\n\tVMW: 'Vendor Manager Workspace',\n\tVRM: 'Vendor Risk Management',\n\tVds: 'Videos',\n\tWCM: 'Workplace Case Management',\n\tWRM: 'Workplace Reservation Management',\n\tWSD: 'Workplace Service Delivery',\n\tWSM: 'Workplace Safety Management',\n\tWUx: 'Walk-Up Experience',\n\tWebi: 'Webinar',\n\tWorkb: 'Workbooks',\n\tapi: 'API Reference',\n\tstd: 'Standards'\n};\n","import { ENCODED_FILTER_NAME, DECODE_FILTER_NAME } from './constant';\nimport { encryptSearchKeyword } from '../../utils/helpers';\nimport { unTransformReleaseName } from '../../utils/transformReleaseName';\n\nexport const extractFacets = (facet_fields, facetConfig, state) => {\n\tconst facetMap = facetMaps;\n\tlet filters = [];\n\tlet selectedFilters = [];\n\tlet showFacet;\n\n\tfor (let key in facetMap) {\n\t\tshowFacet = facetConfig && facetConfig[key] && facetConfig[key].showFacet;\n\t\tif(showFacet) {\n\t\t\tlet obj = {\n\t\t\t\tname: facetMap[key],\n\t\t\t\topenSubSection: false,\n\t\t\t\tfilters: []\n\t\t\t};\n\t\t\tlet facets = facet_fields[key];\n\t\t\tlet facetFieldKeys = isSkipFacetSort(key) ? \n\t\t\t\tObject.keys(facets)\n\t\t\t\t: Object.keys(facets).sort();\n\n\t\t\tfacetFieldKeys && facetFieldKeys.forEach(facetName => {\n\t\t\t\tlet subObj = {\n\t\t\t\t\tname: facetName,\n\t\t\t\t\tisSelected: isFilterSelected(facetName, facetMap[key], state),\n\t\t\t\t\tfacetType: key\n\t\t\t\t};\n\t\t\t\tfacetConfig[key].showFacetCount ? subObj.count= facets[facetName] : null;\n\t\t\t\tif (subObj.isSelected) {\n\t\t\t\t\tselectedFilters.push(subObj.name);\n\t\t\t\t\tobj.openSubSection = true;\n\t\t\t\t}\n\t\t\t\tobj.filters.push(subObj);\n\t\t\t});\n\t\t\tfilters.push(obj);\n\t\t}\n\t}\n\treturn filters;\n};\n\nexport const isFilterSelected = (filter, facet, state) => {\n\tlet filterList = getFilterListBasedOnFacet(facet, state);\n\treturn filterList.indexOf(filter) == -1 ? false : true;\n};\n\nexport const getFilterListBasedOnFacet = (facet, state) => {\n\tconst {\n\t\tselectedRelease,\n\t\tselectedContentTypes,\n\t\tselectedSource,\n\t\tselectedProduct,\n\t\tselectedApplication\n\t} = state;\n\n\tswitch (facet) {\n\t\tcase 'Source':\n\t\t\treturn selectedSource || [];\n\t\tcase 'Release':\n\t\t\treturn selectedRelease || [];\n\t\tcase 'Content Type':\n\t\t\treturn selectedContentTypes || [];\n\t\tcase 'Products':\n\t\t\treturn selectedProduct || [];\n\t\tcase 'Applications':\n\t\t\treturn selectedApplication || [];\n\t}\n};\n\nexport const updateFilterListBasedOnFacet = (facet, newValue, updateState) => {\n\tlet filterList = '';\n\n\tswitch (facet) {\n\t\tcase 'Source':\n\t\t\tfilterList = 'selectedSource';\n\t\t\tbreak;\n\t\tcase 'Release':\n\t\t\tfilterList = 'selectedRelease';\n\t\t\tbreak;\n\t\tcase 'Content Type':\n\t\t\tfilterList = 'selectedContentTypes';\n\t\t\tbreak;\n\t\tcase 'Products':\n\t\t\tfilterList = 'selectedProduct';\n\t\t\tbreak;\n\t\tcase 'Applications':\n\t\t\tfilterList = 'selectedApplication';\n\t\t\tbreak;\n\t}\n\n\tif (filterList) {\n\t\tupdateState({\n\t\t\tpath: filterList,\n\t\t\tvalue: newValue,\n\t\t\toperation: 'set'\n\t\t});\n\t}\n};\n\nexport const facetMaps = {\n\tsource: 'Source',\n\tclsf_release: 'Release',\n\tclsf_contenttypes: 'Content Type',\n\tclsf_products: 'Products',\n\tclsf_applications: 'Applications'\n};\n\nexport const encodeFilter = arr => {\n\tlet responseArr = [];\n\tfor (let i = 0; i < arr.length; i++) {\n\t\tresponseArr[i] = ENCODED_FILTER_NAME[arr[i]] || arr[i];\n\t}\n\treturn responseArr;\n};\n\nexport const decodeFilter = arr => {\n\tlet responseArr = [];\n\tfor (let i = 0; i < arr.length; i++) {\n\t\tresponseArr[i] = DECODE_FILTER_NAME[arr[i]] || arr[i];\n\t}\n\treturn responseArr;\n};\n\nconst isSkipFacetSort = filterName => {\n\treturn (\n\t\tfilterName.indexOf('source') > -1 ||\n\t\tfilterName.indexOf('clsf_release') > -1\n\t)\n};\n\nexport const formRouteString = (\n\tsearchKeyword,\n\tpageNumber,\n\tencodedSelectedRelease,\n\tencodedSelectedSource,\n\tencodedSelectedContentTypes,\n\tencodedSelectedProduct,\n\tencodedSelectedApplication,\n\tfacetConfig\n) => {\n\tsearchKeyword = encryptSearchKeyword(searchKeyword);\n\tlet routeString = `/search?q=${searchKeyword}&page=${pageNumber}`;\n\tif(facetConfig && facetConfig.clsf_release && facetConfig.clsf_release.showFacet) {\n\t\trouteString += `&release=${encodedSelectedRelease.join('|')}`;\n\t}\n\tif(facetConfig && facetConfig.source && facetConfig.source.showFacet) {\n\t\trouteString += `&source=${encodedSelectedSource.join('|')}`;\n\t}\n\tif(facetConfig && facetConfig.clsf_contenttypes && facetConfig.clsf_contenttypes.showFacet) {\n\t\trouteString += `&contentType=${encodedSelectedContentTypes.join('|')}`;\n\t}\n\tif(facetConfig && facetConfig.clsf_products && facetConfig.clsf_products.showFacet) {\n\t\trouteString += `&product=${encodedSelectedProduct.join('|')}`;\n\t}\n\tif(facetConfig && facetConfig.clsf_applications && facetConfig.clsf_applications.showFacet) {\n\t\trouteString += `&application=${encodedSelectedApplication.join('|')}`;\n\t}\n\n\treturn routeString;\n}\n\nexport const formReleaseTag = (\n\tselectedRelease,\n\tclsf_release,\n\tsystemProperties,\n\treleaseInfo\n) => {\n\tconst activeReleases =\n\t\tsystemProperties &&\n\t\tsystemProperties['dev.active_releases'] &&\n\t\tsystemProperties['dev.active_releases'].split(',');\n\n\tlet transformedReleaseName;\n\n\tconst returnRelease =\n\t\tselectedRelease && selectedRelease.length > 0\n\t\t\t? selectedRelease.filter(release => clsf_release.indexOf(release) != -1)\n\t\t\t: activeReleases &&\n\t\t\t  clsf_release &&\n\t\t\t  clsf_release.filter(release => {\n\t\t\t\t\ttransformedReleaseName = unTransformReleaseName(release, releaseInfo);\n\t\t\t\t\treturn activeReleases.indexOf(transformedReleaseName) > -1;\n\t\t\t  });\n\n\treturn returnRelease;\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport properties from '../../components/dps-navigation-header/animation/properties';\nimport { updateRoute } from '../../routes';\nimport { DPS_SEARCH_PAGE, SEARCH_PAGE_ACTIONS } from './actions';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { encryptSearchKeyword, decryptSearchKeyword } from '../../utils/helpers';\nimport { CONSTANTS } from '../../constants';\nimport {\n\textractFacets,\n\tgetFilterListBasedOnFacet,\n\tfacetMaps,\n\tupdateFilterListBasedOnFacet,\n\tencodeFilter,\n\tdecodeFilter,\n\tformRouteString,\n\tformReleaseTag\n} from './helper';\nimport { makeHttpEffectCreator } from '../../utils/helpers';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst handlePageBootstrapped = ({ dispatch, properties, updateState }) => {\n\tconst { queryParams, suggestionPayload } = properties;\n\tconst {\n\t\tq,\n\t\trelease,\n\t\tcontentType,\n\t\tsource,\n\t\tproduct,\n\t\tapplication,\n\t\tpage\n\t} = queryParams;\n\tlet searchKeyword = decryptSearchKeyword(q);\n\tlet selectedRelease = (release && release.split('|')) || [];\n\tlet selectedContentTypes = (contentType && contentType.split('|')) || [];\n\tlet selectedSource = (source && source.split('|')) || [];\n\tlet selectedProduct = (product && product.split('|')) || [];\n\tlet selectedApplication = (application && application.split('|')) || [];\n\tlet pageNumber = page || '1';\n\n\tselectedRelease = decodeFilter(selectedRelease);\n\tselectedContentTypes = decodeFilter(selectedContentTypes);\n\tselectedSource = decodeFilter(selectedSource);\n\tselectedProduct = decodeFilter(selectedProduct);\n\tselectedApplication = decodeFilter(selectedApplication);\n\n\tupdateState({\n\t\tsearchKeyword,\n\t\tselectedRelease,\n\t\tselectedContentTypes,\n\t\tselectedSource,\n\t\tselectedProduct,\n\t\tselectedApplication,\n\t\tpageNumber,\n\t\tsuggestionPayload\n\t});\n\tdispatch(SEARCH_PAGE_ACTIONS.HANDLE_UPDATE_URL_ROUTES);\n};\n\nconst handleComponentPropertyChanged = ({\n\tstate,\n\tproperties,\n\taction,\n\tupdateState,\n\tdispatch,\n\tupdateProperties\n}) => {\n\tconst {\n\t\tpayload: { name, previousValue, value }\n\t} = action;\n\n\tif (name === 'queryParams') {\n\t\tconst { queryParams, suggestionPayload } = properties;\n\t\tlet {\n\t\t\tsearchKeyword,\n\t\t\tselectedRelease,\n\t\t\tselectedContentTypes,\n\t\t\tselectedSource,\n\t\t\tselectedProduct,\n\t\t\tselectedApplication,\n\t\t\tpageNumber\n\t\t} = state;\n\n\t\tselectedRelease = encodeFilter(selectedRelease);\n\t\tselectedContentTypes = encodeFilter(selectedContentTypes);\n\t\tselectedSource = encodeFilter(selectedSource);\n\t\tselectedProduct = encodeFilter(selectedProduct);\n\t\tselectedApplication = encodeFilter(selectedApplication);\n\n\t\tlet {\n\t\t\tq,\n\t\t\trelease,\n\t\t\tcontentType,\n\t\t\tsource,\n\t\t\tproduct,\n\t\t\tapplication,\n\t\t\tpage\n\t\t} = queryParams;\n\t\tq = decryptSearchKeyword(q);\n\t\tif (\n\t\t\tq !== searchKeyword ||\n\t\t\trelease && release !== selectedRelease.join('|') ||\n\t\t\tcontentType && contentType !== selectedContentTypes.join('|') ||\n\t\t\tsource && source !== selectedSource.join('|') ||\n\t\t\tproduct && product !== selectedProduct.join('|') ||\n\t\t\tapplication && application !== selectedApplication.join('|') ||\n\t\t\tpage !== pageNumber\n\t\t) {\n\t\t\tsearchKeyword = q;\n\t\t\tselectedRelease = (release && release.split('|')) || [];\n\t\t\tselectedContentTypes = (contentType && contentType.split('|')) || [];\n\t\t\tselectedSource = (source && source.split('|')) || [];\n\t\t\tselectedProduct = (product && product.split('|')) || [];\n\t\t\tselectedApplication = (application && application.split('|')) || [];\n\t\t\tpageNumber = page || '1';\n\n\t\t\tselectedRelease = decodeFilter(selectedRelease);\n\t\t\tselectedContentTypes = decodeFilter(selectedContentTypes);\n\t\t\tselectedSource = decodeFilter(selectedSource);\n\t\t\tselectedProduct = decodeFilter(selectedProduct);\n\t\t\tselectedApplication = decodeFilter(selectedApplication);\n\n\t\t\tlet obj = {\n\t\t\t\tsearchKeyword,\n\t\t\t\tselectedRelease,\n\t\t\t\tselectedContentTypes,\n\t\t\t\tselectedSource,\n\t\t\t\tselectedProduct,\n\t\t\t\tselectedApplication,\n\t\t\t\tpageNumber,\n\t\t\t\tsuggestionPayload\n\t\t\t};\n\n\t\t\tupdateState(obj);\n\n\t\t\t// Creating queryParams for TRIGGER_BASIC_SEARCH\n\t\t\tconst queryParam = formQueryParamsForBasicSearch(obj);\n\t\t\t//passing selected filters to backend\n\t\t\tconst selectedFilters = {\n\t\t\t\tclsf_contenttypes: selectedContentTypes,\n\t\t\t\tclsf_products: selectedProduct,\n\t\t\t\tclsf_applications: selectedApplication\n\t\t\t}\n\n\t\t\t// creating Request body\n\t\t\tlet data = {\n\t\t\t\tqueryParam,\n\t\t\t\tkeywords: searchKeyword,\n\t\t\t\tpage: pageNumber,\n\t\t\t\tselectedFilters\n\t\t\t};\n\n\t\t\tupdateProperties({\n\t\t\t\tshowPageLoader: true,\n\t\t\t\tisFetchtingSearchResults: true,\n\t\t\t\tsearchTerm: searchKeyword,\n\t\t\t\tisDirtyTerm: true\n\t\t\t});\n\n\t\t\tdispatch(SEARCH_PAGE_ACTIONS.HANDLE_BASIC_SEARCH, { data });\n\t\t}\n\t}\n};\n\n/**\n * Trigger basic search api.\n */\nconst handleBasicSearch = createHttpEffect(\n\tCONSTANTS.ENDPOINTS.SOLR_SEARCH_ENDPOINT,\n\t{\n\t\tbatch: false,\n\t\tmethod: 'POST',\n\t\tdataParams: ['data'],\n\t\tsuccessActionType: SEARCH_PAGE_ACTIONS.HANDLE_BASIC_SEARCH_SUCCEEDED,\n\t\terrorActionType: SEARCH_PAGE_ACTIONS.HANDLE_BASIC_SEARCH_ERRORED\n\t}\n);\n\n/**\n * basic search api success.\n * @param {object} { state, action, updateProperties }\n */\nconst handleBasicSearchSucceeded = ({ state, action, updateProperties }) => {\n\tconst {\n\t\tpayload: { result }\n\t} = action;\n\tconst { selectedApplication, selectedProduct, selectedContentTypes, selectedRelease } = state;\n\tlet { facets, systemProperties, releaseInfo } = state.properties;\n\tconst data = result && result.data;\n\tconst facetConfig =\n\t\tsystemProperties &&\n\t\tsystemProperties['dev.solr_search.facet_configuration_object'] &&\n\t\tJSON.parse(systemProperties['dev.solr_search.facet_configuration_object']);\n\n\tif (data && Object.keys(data.facet_fields).length > 0) {\n\t\tfacets = extractFacets(data.facet_fields, facetConfig, state);\n\t}\n\n\tlet searchData = data && data.search_results && data.search_results.data;\n\tlet lastPage = data && data.search_results && data.search_results.last_page;\n\tlet searchSuggestions =\n\t\t(data && data.search_results && data.search_results.suggestions) || [];\n\tlet i = 0;\n\tfor (i = 0; i < searchData.length; i++) {\n\t\tvar sp =\n\t\t\tfacetConfig && facetConfig.clsf_products && facetConfig.clsf_products.showFacet\n\t\t\t\t? selectedProduct.length > 0\n\t\t\t\t\t? selectedProduct.filter(\n\t\t\t\t\t\t\tproduct => searchData[i].clsf_products.indexOf(product) != -1\n\t\t\t\t\t)\n\t\t\t\t\t: searchData[i].clsf_products\n\t\t\t\t: [];\n\t\tvar sa =\n\t\t\tfacetConfig && facetConfig.clsf_applications && facetConfig.clsf_applications.showFacet\n\t\t\t\t? selectedApplication.length > 0\n\t\t\t\t\t? selectedApplication.filter(\n\t\t\t\t\t\t\tapplication =>\n\t\t\t\t\t\t\t\tsearchData[i].clsf_applications.indexOf(application) != -1\n\t\t\t\t\t)\n\t\t\t\t\t: searchData[i].clsf_applications\n\t\t\t\t: [];\n\t\tvar sr =\n\t\t\tfacetConfig &&\n\t\t\tfacetConfig.clsf_release &&\n\t\t\tfacetConfig.clsf_release.showFacet\n\t\t\t\t? formReleaseTag(\n\t\t\t\t\t\tselectedRelease,\n\t\t\t\t\t\tsearchData[i].clsf_release,\n\t\t\t\t\t\tsystemProperties,\n\t\t\t\t\t\treleaseInfo\n\t\t\t\t  )\n\t\t\t\t: [];\n\t\t\t\t\n\t\tlet tags = [\n\t\t\tsp && sp.length > 0 ? sp[0] : null,\n\t\t\tsa && sa.length > 0 ? sa[0] : null,\n\t\t\tsr && sr.length > 0 ? sr[0] : null\n\t\t];\n\t\tsearchData[i].selectedContentType = (searchData[i].clsf_contenttypes && searchData[i].clsf_contenttypes[0]) || \"\";\n\t\tsearchData[i].tags = tags;\n\t}\n\n\tconst showNoSearchResultsPage =\n\t\tsearchData.length == 0 && searchSuggestions.length == 0;\n\tupdateProperties({\n\t\tfacets,\n\t\tsearchData,\n\t\tlastPage,\n\t\tsearchSuggestions,\n\t\tshowNoSearchResultsPage,\n\t\tshowPageLoader: false,\n\t\tsuggestionsList: [],\n\t\tisFetchtingSearchResults: false\n\t});\n};\n\n/**\n * basic search api error\n * @param {object} { action }\n */\nconst handleBasicSearchErrored = ({ action, updateProperties }) => {\n\tupdateProperties({\n\t\tshowPageLoader: false,\n\t\tshowNoSearchResultsPage: true,\n\t\tisFetchtingSearchResults: false\n\t});\n};\n\n/**\n * Handles url param updation.\n * @param {object} state\n */\nconst handleUpdateUrlParam = ({ state, dispatch, updateProperties }) => {\n\tconst {\n\t\tsearchKeyword,\n\t\tselectedRelease,\n\t\tselectedContentTypes,\n\t\tselectedSource,\n\t\tselectedProduct,\n\t\tselectedApplication,\n\t\tpageNumber,\n\t\tproperties: {\n\t\t\tsystemProperties\n\t\t}\n\t} = state;\n\tlet encodedSelectedRelease = encodeFilter(selectedRelease);\n\tlet encodedSelectedContentTypes = encodeFilter(selectedContentTypes);\n\tlet encodedSelectedSource = encodeFilter(selectedSource);\n\tlet encodedSelectedProduct = encodeFilter(selectedProduct);\n\tlet encodedSelectedApplication = encodeFilter(selectedApplication);\n\tconst facetConfig = \n\t\tsystemProperties && \n\t\tsystemProperties[\"dev.solr_search.facet_configuration_object\"] && \n\t\tJSON.parse(systemProperties[\"dev.solr_search.facet_configuration_object\"]);\n\t\t\n\t// Updating the routes.\n\tconst routeString = formRouteString(\n\t\tsearchKeyword,\n\t\tpageNumber,\n\t\tencodedSelectedRelease,\n\t\tencodedSelectedSource,\n\t\tencodedSelectedContentTypes,\n\t\tencodedSelectedProduct,\n\t\tencodedSelectedApplication,\n\t\tfacetConfig\n\t);\n\tupdateRoute(routeString);\n\n\t// Creating queryParams for TRIGGER_BASIC_SEARCH\n\tconst queryParam = formQueryParamsForBasicSearch(state);\n\t//passing selected filters to backend\n\tconst selectedFilters = {\n\t\tclsf_contenttypes: selectedContentTypes,\n\t\tclsf_products: selectedProduct,\n\t\tclsf_applications: selectedApplication\n\t}\n\n\t// creating Request body\n\tlet data = {\n\t\tqueryParam,\n\t\tkeywords: searchKeyword,\n\t\tpage: pageNumber,\n\t\tselectedFilters\n\t};\n\n\tupdateProperties({ \n\t\tshowPageLoader: true, \n\t\tisFetchtingSearchResults: true,\n\t\tsearchTerm: searchKeyword,\n\t\tisDirtyTerm: true\n\t});\n\n\tdispatch(SEARCH_PAGE_ACTIONS.HANDLE_BASIC_SEARCH, { data });\n};\n\n/**\n * Forms the queryParam which gets passed as request body for baisc search.\n * @param {object} state\n * @returns string\n */\nconst formQueryParamsForBasicSearch = state => {\n\tconst {\n\t\tsearchKeyword,\n\t\tselectedRelease,\n\t\tselectedContentTypes,\n\t\tselectedSource,\n\t\tselectedProduct,\n\t\tselectedApplication,\n\t\tsuggestionPayload\n\t} = state;\n\n\tlet queryParam =\n\t\tselectedApplication && selectedApplication.length > 0\n\t\t\t? '(clsf_applications:\"' +\n\t\t\t  selectedApplication.join('\" OR clsf_applications:\"') +\n\t\t\t  '\") AND '\n\t\t\t: '';\n\tqueryParam +=\n\t\tselectedProduct && selectedProduct.length > 0\n\t\t\t? '(clsf_products:\"' +\n\t\t\t  selectedProduct.join('\" OR clsf_products:\"') +\n\t\t\t  '\") AND '\n\t\t\t: '';\n\tqueryParam +=\n\t\tselectedContentTypes && selectedContentTypes.length > 0\n\t\t\t? '(clsf_contenttypes:\"' +\n\t\t\t  selectedContentTypes.join('\" OR clsf_contenttypes:\"') +\n\t\t\t  '\") AND '\n\t\t\t: '';\n\tqueryParam +=\n\t\tselectedRelease && selectedRelease.length > 0\n\t\t\t? '(clsf_release:\"' +\n\t\t\t  selectedRelease.join('\" OR clsf_release:\"') +\n\t\t\t  '\") AND '\n\t\t\t: '';\n\tqueryParam +=\n\t\tselectedSource && selectedSource.length > 0\n\t\t\t? '(source:\"' + selectedSource.join('\" OR source:\"') + '\") AND '\n\t\t\t: '';\n\tqueryParam +=\n\t\tsuggestionPayload && suggestionPayload.length > 0\n\t\t\t? '(sysId:\"' + suggestionPayload.join('\" OR sysId:\"') + '\") AND '\n\t\t\t: '';\n\tqueryParam += '\"' + searchKeyword + '\" OR ' + searchKeyword;\n\n\treturn queryParam;\n};\n\n/**\n * Handles on click event on Related Terms.\n * @param object { action, dispatch, updateState }\n */\nconst handleReleatedTermClick = ({ action, dispatch, updateState }) => {\n\tconst {\n\t\tpayload: { searchTerm }\n\t} = action;\n\t// Update the state\n\tupdateState({\n\t\tsearchKeyword: searchTerm,\n\t\tpageNumber: '1',\n\t\tsuggestionPayload: []\n\t});\n\t// Update url routes\n\tdispatch(SEARCH_PAGE_ACTIONS.HANDLE_UPDATE_URL_ROUTES);\n};\n\n/**\n * Handles tracking clicks on search results page\n */\n\nconst handleTrackSearchResultsClick = makeHttpEffectCreator(\n\tSEARCH_PAGE_ACTIONS.TRACK_SEARCH_RESULTS_CLICK,\n\tCONSTANTS.ENDPOINTS.SOLR_SEARCH_TRACK_SEARCH_CLICKS,\n\t{\n\t\tbatch: false,\n\t\tmethod: 'POST',\n\t\tdataParam: ['data']\n\t}\n);\n\nexport const actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: handlePageBootstrapped,\n\t[COMPONENT_PROPERTY_CHANGED]: handleComponentPropertyChanged,\n\t[SEARCH_PAGE_ACTIONS.HANDLE_BASIC_SEARCH]: handleBasicSearch,\n\t[SEARCH_PAGE_ACTIONS.HANDLE_BASIC_SEARCH_SUCCEEDED]: handleBasicSearchSucceeded,\n\t[SEARCH_PAGE_ACTIONS.HANDLE_BASIC_SEARCH_ERRORED]: handleBasicSearchErrored,\n\t[SEARCH_PAGE_ACTIONS.HANDLE_UPDATE_URL_ROUTES]: handleUpdateUrlParam,\n\t[SEARCH_PAGE_ACTIONS.HANDLE_RELATED_TERM_CLICK]: handleReleatedTermClick,\n\t['DPS_PAGINATION#NEXT_PAGE']: ({ state, updateState, dispatch }) => {\n\t\tlet { pageNumber } = state;\n\t\tpageNumber = String(parseInt(pageNumber) + 1);\n\t\tupdateState({ pageNumber });\n\t\tdispatch(SEARCH_PAGE_ACTIONS.HANDLE_UPDATE_URL_ROUTES);\n\t},\n\t['DPS_PAGINATION#PREV_PAGE']: ({ state, updateState, dispatch }) => {\n\t\tlet { pageNumber } = state;\n\t\tpageNumber = String(parseInt(pageNumber) - 1);\n\t\tupdateState({ pageNumber });\n\t\tdispatch(SEARCH_PAGE_ACTIONS.HANDLE_UPDATE_URL_ROUTES);\n\t},\n\t[SEARCH_PAGE_ACTIONS.HANDLE_FILTER_PILL_DISMISS]: ({ action, dispatch }) => {\n\t\tconst { payload } = action;\n\t\tdispatch(SEARCH_PAGE_ACTIONS.HANDLE_SEARCH_FILTER_SELECTED, {\n\t\t\titem: payload\n\t\t});\n\t},\n\t['DPS#CLEAR_FILTER']: ({ dispatch, updateState }) => {\n\t\tupdateState({\n\t\t\tselectedRelease: [],\n\t\t\tselectedContentTypes: [],\n\t\t\tselectedSource: [],\n\t\t\tselectedProduct: [],\n\t\t\tselectedApplication: [],\n\t\t\tpageNumber: '1'\n\t\t});\n\t\tdispatch(SEARCH_PAGE_ACTIONS.HANDLE_UPDATE_URL_ROUTES);\n\t},\n\t[DPS_SEARCH_PAGE.TRIGGER_BASIC_SEARCH]: ({\n\t\taction,\n\t\tdispatch,\n\t\tupdateState,\n\t\tstate\n\t}) => {\n\t\tconst {\n\t\t\tpayload: { searchTerm, suggestionPayload }\n\t\t} = action;\n\n\t\tlet { searchKeyword } = state;\n\t\tsearchKeyword = encryptSearchKeyword(searchKeyword);\n\n\t\tif (searchKeyword !== searchTerm) {\n\t\t\tupdateState({\n\t\t\t\tsearchKeyword: searchTerm,\n\t\t\t\tpageNumber: '1',\n\t\t\t\tsuggestionPayload\n\t\t\t});\n\t\t\tdispatch(SEARCH_PAGE_ACTIONS.HANDLE_UPDATE_URL_ROUTES);\n\t\t}\n\t},\n\t[SEARCH_PAGE_ACTIONS.HANDLE_SEARCH_FILTER_SELECTED]: ({\n\t\taction,\n\t\tproperties,\n\t\tupdateProperties,\n\t\tdispatch,\n\t\tstate,\n\t\tupdateState\n\t}) => {\n\t\tlet { facets } = properties;\n\n\t\t// extracting the filter that got selected.\n\t\tconst {\n\t\t\tpayload: { item }\n\t\t} = action;\n\n\t\t// Updates the facets properties whenever the filter is changed.\n\t\tfacets.forEach(facet => {\n\t\t\tif (facet.name === facetMaps[item.facetType]) {\n\t\t\t\tfacet.filters.forEach(filter => {\n\t\t\t\t\tif (filter.name === item.name) {\n\t\t\t\t\t\tfilter.isSelected = !filter.isSelected;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tupdateProperties({ facets: [...facets] });\n\t\tupdateState({pageNumber: '1'});\n\n\t\t// Updating the selected facet arrays in the state\n\t\tlet filterList = getFilterListBasedOnFacet(\n\t\t\tfacetMaps[item.facetType],\n\t\t\tstate\n\t\t);\n\n\t\tlet itemIndex = filterList.indexOf(item.name);\n\t\tif (itemIndex == -1) {\n\t\t\tfilterList.push(item.name);\n\t\t} else {\n\t\t\tfilterList.splice(itemIndex, 1);\n\t\t}\n\n\t\t// updating state with new value\n\t\tupdateFilterListBasedOnFacet(\n\t\t\tfacetMaps[item.facetType],\n\t\t\tfilterList,\n\t\t\tupdateState\n\t\t);\n\n\t\tdispatch(SEARCH_PAGE_ACTIONS.HANDLE_UPDATE_URL_ROUTES);\n\t},\n\t...handleTrackSearchResultsClick,\n\t['DPS_INPUT#CLOSE_BUTTON_CLICKED']: ({ updateProperties }) => {\n\t\tupdateProperties({\n\t\t\tsuggestionsList: [],\n\t\t\tsearchTerm: null,\n\t\t\tisDirtyTerm: false\n\t\t});\n\t},\n\t[SEARCH_PAGE_ACTIONS.SEARCH_TEXT_CLEARED]: ({ updateProperties }) => {\n\t\tupdateProperties({\n\t\t\tsuggestionsList: [],\n\t\t\tsearchTerm: \"\",\n\t\t\tisDirtyTerm: false\n\t\t});\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-search-filter.scss';\nimport '@servicenow/now-icon';\n\nconst generateFilter = (item, level, dispatch) => {\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t['dps-search-filter-group']: true,\n\t\t\t\t[`-level-${level}`]: true\n\t\t\t}}\n\t\t>\n\t\t\t<a\n\t\t\t\thref=\"javascript:void(0)\" // to enable highlighting on tab control\n\t\t\t\tclass={{\n\t\t\t\t\t['dps-search-filter']: true,\n\t\t\t\t\t[`-level-${level}`]: true\n\t\t\t\t}}\n\t\t\t\tonclick={() => {\n\t\t\t\t\tlevel === 0 ? dispatch('TOGGLE_SUB_SECTION_DISPLAY', { item }) : dispatch('SEARCH_FILTER_SELECTED', { item })\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{level > 0 ? (\n\t\t\t\t\t<div className=\"dps-search-filter_checkbox\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tid={item.name}\n\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\tname={item.name}\n\t\t\t\t\t\t\tchecked={item.isSelected}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<label></label>\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t\t<span>\n\t\t\t\t\t{item.name}\n\t\t\t\t\t{item.count ?  <label className=\"\">&nbsp;({item.count})</label> : null}\n\t\t\t\t</span>\n\n\t\t\t\t{level === 0 ? (\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\tclassName=\"icon\"\n\t\t\t\t\t\ticon={item.openSubSection ? 'chevron-up-fill' : 'chevron-down-fill'}\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t</a>\n\n\t\t\t{item.filters && item.filters.length > 0 && item.openSubSection\n\t\t\t\t? item.filters.map(subItem =>\n\t\t\t\t\t\tgenerateFilter(subItem, level + 1, dispatch)\n\t\t\t\t  )\n\t\t\t\t: null}\n\t\t</div>\n\t);\n};\n\nconst view = (state, { dispatch }) => {\n\tconst {\n\t\tproperties: { sectionHeader, filters, level }\n\t} = state;\n\treturn (\n\t\t// Displays all the list of\n\t\t<div className=\"dps-search-filter\">\n\t\t\t<div className=\"dps-search-filter_section-header\">{sectionHeader}</div>\n\t\t\t<div className=\"dps-search-filter_info-text\">FILTER BY</div>\n\t\t\t{filters.map(item => generateFilter(item, level, dispatch))}\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-search-filter', {\n\tview,\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tstyles,\n\tinitialState: {},\n\tproperties: {\n\t\tsectionHeader: {\n\t\t\tdefault: ''\n\t\t},\n\t\tfilters: {\n\t\t\tdefault: []\n\t\t},\n\t\tlevel: {\n\t\t\tdefault: 0\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t['TOGGLE_SUB_SECTION_DISPLAY']: ({\n\t\t\taction,\n\t\t\tproperties,\n\t\t\tupdateProperties\n\t\t}) => {\n\t\t\tconst {\n\t\t\t\tpayload: { item }\n\t\t\t} = action;\n\t\t\tlet { filters } = properties;\n\t\t\tlet newFilters = [];\n\t\t\tfor (let i = 0; i < filters.length; i++) {\n\t\t\t\tif (filters[i].name === item.name) {\n\t\t\t\t\tif (filters[i].openSubSection) {\n\t\t\t\t\t\tfilters[i].openSubSection = !filters[i].openSubSection;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfilters[i].openSubSection = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tnewFilters.push(filters[i]);\n\t\t\t}\n\t\t\tupdateProperties({ filters: newFilters });\n\t\t}\n\t}\n});\n","import didYouMeanImg from '../../../images/search-did-you-mean-image.svg';\nimport { SEARCH_PAGE_ACTIONS } from '../actions';\n\nexport const DidYouMeanPage = properties => {\n\tconst { searchSuggestions, dispatch } = properties;\n\treturn (\n\t\t<div className=\"dps-search-page_did-you-mean\">\n\t\t\t<div className=\"dps-search-page_did-you-mean_header\">\n\t\t\t\tYour search did not return any results.\n\t\t\t</div>\n\t\t\t<div className=\"dps-search-page_did-you-mean_title\">Did you mean</div>\n\t\t\t{searchSuggestions.map(suggestion => {\n\t\t\t\treturn (\n\t\t\t\t\t<label\n\t\t\t\t\t\tclassName=\"dps-search-suggestion\"\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(SEARCH_PAGE_ACTIONS.HANDLE_RELATED_TERM_CLICK, {\n\t\t\t\t\t\t\t\tsearchTerm: suggestion\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{suggestion}\n\t\t\t\t\t</label>\n\t\t\t\t);\n\t\t\t})}\n\n\t\t\t<div className=\"dps-search-page_did-you-mean_suggestions\">\n\t\t\t\tSuggestions\n\t\t\t</div>\n\t\t\t<ul>\n\t\t\t\t<li>Make sure all words are spelled correctly</li>\n\t\t\t\t<li>Try different, more general or fewer keywords</li>\n\t\t\t</ul>\n\t\t\t<div className=\"dps-search-page_did-you-mean_img-container\">\n\t\t\t\t<img src={didYouMeanImg} alt=\"Did you mean?\" />\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n","import noResultsCat from '../../../images/search-no-results-cat.svg';\n\nexport const NoSearchResults = properties => {\n\tconst { systemProperties } = properties;\n\treturn (\n\t\t<div className=\"dps-search-results-no-results\">\n\t\t\t<img src={noResultsCat} alt=\"Cat Illustration\" />\n\t\t\t<p>\n\t\t\t<b>Your search did not return any results.</b>\n\t\t\t<br></br>\n\t\t\tConsider misspellings, use fewer keywords, or search for something else.\n\t\t\t\t{/* {systemProperties &&\n\t\t\t\t\tsystemProperties['dev.search.no_search_results_text']} */}\n\t\t\t</p>\n\t\t</div>\n\t);\n};\n","import '../../../components/dps-button';\nimport { SOURCE_MAP, ICON_MAP } from '../constant';\nimport { DidYouMeanPage } from '../views/did-you-mean-page';\nimport { NoSearchResults } from '../views/no-search-results';\nimport link from '../../../images/icons/solr-icon-link.svg';\nimport unknown from '../../../images/icons/solr-icon-unknown.svg';\nimport '../../../components/dps-spinner';\n\nconst SearchResult = props => {\n\tconst {\n\t\tsearchData,\n\t\tsearchSuggestions,\n\t\tdispatch,\n\t\tshowNoSearchResultsPage,\n\t\tshowPageLoader,\n\t\tpageNumber,\n\t\tsearchKeyword\n\t} = props;\n\treturn (\n\t\t<div>\n\t\t\t{showPageLoader ? (\n\t\t\t\t<div className=\"dps-search-page_spinner\">\n\t\t\t\t\t{/* <div className=\"dps-search-page_spinner_overlay\"></div> */}\n\t\t\t\t\t<dps-spinner></dps-spinner>\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t\t{searchData.length > 0 ? (\n\t\t\t\t<div className=\"dps-search-results\">\n\t\t\t\t\t{searchData &&\n\t\t\t\t\t\tsearchData.map((search_result, index) => {\n\t\t\t\t\t\t\tlet icon =\n\t\t\t\t\t\t\t\tsearch_result.selectedContentType\n\t\t\t\t\t\t\t\t\t? ICON_MAP[\n\t\t\t\t\t\t\t\t\t\t\tsearch_result.selectedContentType\n\t\t\t\t\t\t\t\t\t  ]\n\t\t\t\t\t\t\t\t\t: null;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<div className=\"dps-search-result\">\n\t\t\t\t\t\t\t\t\t<div className=\"dps-search-result-icon\">\n\t\t\t\t\t\t\t\t\t\t<img src={icon ? icon : link} alt=\"link\" />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"dps-search-result-text\">\n\t\t\t\t\t\t\t\t\t\t<div className=\"dps-search-result-source\">\n\t\t\t\t\t\t\t\t\t\t\t{search_result.source}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\thref={search_result.link}\n\t\t\t\t\t\t\t\t\t\t\ttarget={\n\t\t\t\t\t\t\t\t\t\t\t\tsearch_result.source != SOURCE_MAP.dev ? '_blank' : null\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"dps-search-result-title\"\n\t\t\t\t\t\t\t\t\t\t\ton-mousedown={e => {\n\t\t\t\t\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'SEARCH_PAGE_ACTIONS#TRACK_SEARCH_RESULTS_CLICK',\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkeywords: searchKeyword,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle: search_result.title,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: search_result.type,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpage: pageNumber,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsysId: search_result.sys_id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trequestResponseSysID: search_result.solrRequestResponseSysID,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex: index + 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{search_result.title}\n\t\t\t\t\t\t\t\t\t\t\t{search_result.source != SOURCE_MAP.dev ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<img src=\"solr-arrow-up.svg\"></img>\n\t\t\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t\t<div className=\"dps-search-result-description\">\n\t\t\t\t\t\t\t\t\t\t\t{search_result.description}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t{search_result &&\n\t\t\t\t\t\t\t\t\t\t\tsearch_result.tags &&\n\t\t\t\t\t\t\t\t\t\t\tsearch_result.tags.map(badge => {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{badge ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<dps-badge\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel={badge}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcategory\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont=\"Lato\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t></dps-badge>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t) : searchData.length === 0 && searchSuggestions.length > 0 ? (\n\t\t\t\t<DidYouMeanPage\n\t\t\t\t\tsearchSuggestions={searchSuggestions}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t></DidYouMeanPage>\n\t\t\t) : null}\n\n\t\t\t{showNoSearchResultsPage ? <NoSearchResults></NoSearchResults> : null}\n\t\t</div>\n\t);\n};\n\nexport default SearchResult;\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {filterAriaAttributes} from '@servicenow/library-enhanced-utils';\nimport styles from './_now-pill.scss';\nimport '@servicenow/now-avatar';\nimport '@servicenow/now-button';\nimport '@servicenow/now-icon';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport tooltipBehavior, {\n\tTOOLTIP_SHOW,\n\tTOOLTIP_HIDE,\n} from '@servicenow/behavior-tooltip';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport {t} from 'sn-translate';\nimport {\n\tconfigAriaLabelRoleSchema,\n\tconfigAriaLabelSchema,\n} from '@servicenow/library-schemas';\n\nimport packageInfo from '../package.json';\nconst {name, version} = packageInfo;\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n\nconst renderIdentifier = (icon, avatarProps, size, selected, configAria) => {\n\tconst avatarSize = {xs: 'xxs', sm: 'xs', md: 'sm'};\n\n\tif (\n\t\ticon ||\n\t\tavatarProps.imageSrc ||\n\t\tavatarProps.icon ||\n\t\tavatarProps.presence\n\t) {\n\t\treturn (\n\t\t\t<span className=\"now-pill-identifier\">\n\t\t\t\t{avatarProps.imageSrc || avatarProps.icon || avatarProps.presence ? (\n\t\t\t\t\t<now-avatar\n\t\t\t\t\t\tuser-name={avatarProps.userName}\n\t\t\t\t\t\ticon={avatarProps.icon}\n\t\t\t\t\t\timageSrc={avatarProps.imageSrc}\n\t\t\t\t\t\tpresence={avatarProps.presence}\n\t\t\t\t\t\tsize={avatarSize[size]}\n\t\t\t\t\t\thide-tooltip\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\tclassName=\"now-pill-icon\"\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\tselected\n\t\t\t\t\t\t\t\t? icon.replace('-outline', '-fill')\n\t\t\t\t\t\t\t\t: icon.replace('-fill', '-outline')\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsize={size === 'xs' ? 'sm' : size}\n\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\ticon: {\n\t\t\t\t\t\t\t\t...filterAriaAttributes(configAria, 'icon'),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</span>\n\t\t);\n\t}\n};\n\nconst renderLabel = (label, avatarProps, interaction, selected) => {\n\tconst a11yLabel = t(\n\t\t{\n\t\t\tcode: 'now-pills-a11y-label',\n\t\t\tmessage: '{pillLabel} is selected',\n\t\t\tcomment:\n\t\t\t\t'The pillLabel can be any string accompanied by the text \"is selected\", indicating that the pill with that label is also in a selected state.',\n\t\t},\n\t\t{pillLabel: label},\n\t);\n\tconst ariaHidden =\n\t\t(interaction === 'none' && selected) ||\n\t\tavatarProps.userName?.toLowerCase() === label?.toLowerCase()\n\t\t\t? 'true'\n\t\t\t: undefined;\n\treturn (\n\t\t<span className=\"now-line-height-crop\">\n\t\t\t<span\n\t\t\t\tclassName=\"now-pill-label\"\n\t\t\t\taria-hidden={ariaHidden}\n\t\t\t\tdata-truncation={interaction === 'none' ? true : undefined}\n\t\t\t>\n\t\t\t\t{label}\n\t\t\t</span>\n\t\t\t{interaction === 'none' && selected ? (\n\t\t\t\t<span className=\"now-a11y-label\">{a11yLabel}</span>\n\t\t\t) : null}\n\t\t</span>\n\t);\n};\n\nconst renderDismissButton = ({\n\tsize,\n\tlabel,\n\tcanDismiss,\n\ttooltipContent,\n\tdispatch,\n\tupdateState,\n\tdisabled,\n\tinteraction,\n}) => {\n\tif (canDismiss) {\n\t\tconst defaultTooltipText = t({\n\t\t\tcode: 'now-pill-remove-button-tooltip-label',\n\t\t\tmessage: 'Remove',\n\t\t\tcomment:\n\t\t\t\t'Verb. Describes an action button for removing or dismissing the pill.',\n\t\t});\n\t\tconst tooltipText = tooltipContent ? tooltipContent : defaultTooltipText;\n\t\tconst ariaLabel = tooltipContent\n\t\t\t? `${tooltipContent} ${label}`\n\t\t\t: `${defaultTooltipText} ${label}`;\n\n\t\treturn (\n\t\t\t<now-button-iconic\n\t\t\t\tclassName=\"now-pill-button-iconic\"\n\t\t\t\tsize={size === 'xs' ? 'sm' : size}\n\t\t\t\thide-padding\n\t\t\t\tbare\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\ticon=\"close-fill\"\n\t\t\t\tid=\"dismiss\"\n\t\t\t\tdisabled={disabled && interaction === 'select' ? true : undefined}\n\t\t\t\tconfig-aria={{button: {'aria-label': ariaLabel}}}\n\t\t\t\ttooltip-content={disabled ? undefined : tooltipText}\n\t\t\t\ton-click={() => {\n\t\t\t\t\tdispatch(() => ({\n\t\t\t\t\t\ttype: 'NOW_PILL#DISMISSED',\n\t\t\t\t\t\tpayload: {},\n\t\t\t\t\t\tshouldDispatch: interaction === 'none' || !disabled,\n\t\t\t\t\t}));\n\t\t\t\t}}\n\t\t\t\ton-mouseenter={() => {\n\t\t\t\t\tupdateState({hasHover: true});\n\t\t\t\t}}\n\t\t\t\ton-mouseleave={() => {\n\t\t\t\t\tupdateState({hasHover: false});\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t}\n};\n\nconst handleTooltipShow = (e, dispatch) => {\n\tconst labelSpan = e.target.querySelector('.now-pill-label');\n\tconst isOverset = labelSpan && labelSpan.scrollWidth > labelSpan.clientWidth;\n\tif (isOverset) {\n\t\treturn dispatch(TOOLTIP_SHOW, {target: e.target});\n\t}\n};\n\nconst handleTooltipHide = (e, dispatch) => {\n\tconst labelSpan = e.target.querySelector('.now-pill-label');\n\tconst isOverset = labelSpan && labelSpan.scrollWidth > labelSpan.clientWidth;\n\tif (isOverset) {\n\t\treturn dispatch(TOOLTIP_HIDE, {target: e.target});\n\t}\n};\n\nconst view = (state, {dispatch, updateState}) => {\n\tconst {\n\t\tsize,\n\t\tlabel,\n\t\ticon = state.properties.iconName,\n\t\tdisabled,\n\t\tselected,\n\t\timageSrc,\n\t\tavatarProps,\n\t\tcanDismiss,\n\t\ttooltipContent,\n\t\tconfigAria,\n\t\tnowId,\n\t\tinteraction,\n\t} = state.properties;\n\tconst {hasHover} = state;\n\n\tlet updatedAvatarProps = avatarProps ? avatarProps : {};\n\tif (imageSrc) {\n\t\tupdatedAvatarProps.imageSrc = imageSrc;\n\t}\n\n\treturn (\n\t\t<span\n\t\t\tclass={{\n\t\t\t\t'now-pill': true,\n\t\t\t\t['-' + size]: size,\n\t\t\t\t'is-selected': selected,\n\t\t\t}}\n\t\t>\n\t\t\t{interaction === 'select' ? (\n\t\t\t\t<button\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'now-pill-label-wrapper': true,\n\t\t\t\t\t\t'-button': true,\n\t\t\t\t\t\t'show-identifier':\n\t\t\t\t\t\t\ticon ||\n\t\t\t\t\t\t\tupdatedAvatarProps.imageSrc ||\n\t\t\t\t\t\t\tupdatedAvatarProps.icon ||\n\t\t\t\t\t\t\tupdatedAvatarProps.presence,\n\t\t\t\t\t\t'show-dismiss': canDismiss,\n\t\t\t\t\t\t'has-hover': hasHover,\n\t\t\t\t\t\t'is-disabled': disabled,\n\t\t\t\t\t}}\n\t\t\t\t\tid=\"label\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tdata-tooltip={label}\n\t\t\t\t\ton-mousedown={disabled ? (e) => e.preventDefault() : undefined}\n\t\t\t\t\ton-mouseenter={(e) => {\n\t\t\t\t\t\tupdateState({hasHover: true});\n\t\t\t\t\t\thandleTooltipShow(e, dispatch);\n\t\t\t\t\t}}\n\t\t\t\t\ton-mouseleave={(e) => {\n\t\t\t\t\t\tupdateState({hasHover: false});\n\t\t\t\t\t\thandleTooltipHide(e, dispatch);\n\t\t\t\t\t}}\n\t\t\t\t\ton-focusin={(e) => handleTooltipShow(e, dispatch)}\n\t\t\t\t\ton-focusout={(e) => handleTooltipHide(e, dispatch)}\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\tdispatch(({properties}) => ({\n\t\t\t\t\t\t\ttype: 'NOW_PILL#SELECTED_SET',\n\t\t\t\t\t\t\tpayload: {value: !properties.selected},\n\t\t\t\t\t\t\tshouldDispatch: !properties.disabled,\n\t\t\t\t\t\t}));\n\t\t\t\t\t}}\n\t\t\t\t\t{...filterAriaAttributes(configAria, 'button')}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\taria-pressed={selected ? 'true' : 'false'}\n\t\t\t\t>\n\t\t\t\t\t{renderIdentifier(\n\t\t\t\t\t\ticon,\n\t\t\t\t\t\tupdatedAvatarProps,\n\t\t\t\t\t\tsize,\n\t\t\t\t\t\tselected,\n\t\t\t\t\t\tconfigAria,\n\t\t\t\t\t)}\n\t\t\t\t\t{renderLabel(label, updatedAvatarProps, interaction, selected)}\n\t\t\t\t</button>\n\t\t\t) : (\n\t\t\t\t<span\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'now-pill-label-wrapper': true,\n\t\t\t\t\t\t'-label': true,\n\t\t\t\t\t\t'show-identifier':\n\t\t\t\t\t\t\ticon ||\n\t\t\t\t\t\t\tupdatedAvatarProps.imageSrc ||\n\t\t\t\t\t\t\tupdatedAvatarProps.icon ||\n\t\t\t\t\t\t\tupdatedAvatarProps.presence,\n\t\t\t\t\t\t'show-dismiss': canDismiss,\n\t\t\t\t\t}}\n\t\t\t\t\tid=\"label\"\n\t\t\t\t>\n\t\t\t\t\t{renderIdentifier(\n\t\t\t\t\t\ticon,\n\t\t\t\t\t\tupdatedAvatarProps,\n\t\t\t\t\t\tsize,\n\t\t\t\t\t\tselected,\n\t\t\t\t\t\tconfigAria,\n\t\t\t\t\t)}\n\t\t\t\t\t{renderLabel(label, updatedAvatarProps, interaction, selected)}\n\t\t\t\t</span>\n\t\t\t)}\n\t\t\t{renderDismissButton({\n\t\t\t\tsize,\n\t\t\t\tlabel,\n\t\t\t\tcanDismiss,\n\t\t\t\ttooltipContent,\n\t\t\t\tdispatch,\n\t\t\t\tnowId,\n\t\t\t\tupdateState,\n\t\t\t\tdisabled,\n\t\t\t\tinteraction,\n\t\t\t})}\n\t\t</span>\n\t);\n};\n\n/**\n * Pills are UI elements you can use to sort, filter, or tag content. Pills contain\n * information such as an input, action, or attribute. Depending on the use case,\n * pills can be dynamic or predefined.\n *\n * Example use cases:\n * - Indicate selected filters in a list of filters.\n * - Display an avatar to represent a selected user.\n * - Enable selection, deselection, or dismissal.\n *\n *\n * ```jsx\n * <now-pill icon=\"envelope-fill\" can-dismiss />\n * <now-pill avatar-props={{userName: \"Foo\", imageSrc: \"http://foo.png\", presence: \"available\"}} selected />\n * ```\n *\n * @seismicElement now-pill\n * @summary Indicates selected values in multi-select fields.\n * @uib.label Pill\n * @uib.icon pill\n * @uib.description Indicates selected values in multi-select fields.\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties label, size, interaction, canDismiss, disabled, icon, avatarProps, selected, manageSelected, tooltipContent, configAria\n * @uib.layout.accessibility.children tooltipContent, configAria\n * @uib.layout.accessibility.icon accessibility-outline\n * @uib.actions NOW_PILL#SELECTED_SET, NOW_PILL#DISMISSED\n */\ncreateEnhancedElement('now-pill', {\n\tproperties: {\n\t\t/**\n\t\t * Size of the pill.\n\t\t * @type {('xs'|'sm'|'md')}\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\treflect: true,\n\t\t\tschema: {type: 'string', enum: ['xs', 'sm', 'md']},\n\t\t},\n\t\t/**\n\t\t * Text displayed inside the pill.\n\t\t * @type {string}\n\t\t * @uib.description Text displayed inside the pill.\n\t\t * @uib.defaultValue Issue 42\n\t\t * @uib.translatable true\n\t\t */\n\t\tlabel: {required: true, schema: {type: 'string'}},\n\t\t/** @private */\n\t\ticonName: {},\n\t\t/**\n\t\t * Optional icon displayed at the start of the pill.\n\t\t * See the `now-icon` component documentation for valid inputs.\n\t\t * The `-outline` version of this icon displays by default,\n\t\t * even if the `-fill` version is assigned.\n\t\t * The `-fill` version shows if a user selects the pill.\n\t\t * @type {string}\n\t\t * @uib.description Optional icon displayed at the start of the pill.\n\t\t * @uib.defaultValue circle-exclamation-outline\n\t\t * @uib.fieldType icon\n\t\t */\n\t\ticon: {schema: {type: 'string'}},\n\t\t/** @private */\n\t\tshowIdentifier: {\n\t\t\treflect: true,\n\t\t\tcomputed({properties}) {\n\t\t\t\treturn properties.icon || properties.imageSrc ? true : false;\n\t\t\t},\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * Color fill indicating that the pill is selected.\n\t\t * Use `manage-selected` to override the default behavior and handle the\n\t\t * `NOW_PILL#SELECTED_SET` action manually.\n\t\t * @type {boolean}\n\t\t * @uib.description Color fill indicating that the pill is selected.\n\t\t */\n\t\tselected: {default: false, manageable: true, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `selected` property.\n\t\t * An action with type `NOW_PILL#SELECTED_SET` will be dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the selected property. Use the selected set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageSelected: {default: false, schema: {type: 'boolean'}},\n\t\t/** @private */\n\t\timageSrc: {schema: {type: 'string'}},\n\t\t/**\n\t\t * When true, displays a button at the end of the pill.\n\t\t * When the user clicks the button, the pill dispatches an action.\n\t\t * For example, clicking an (X) button removes the pill.\n\t\t * @type {boolean}\n\t\t * @uib.label Dismissible\n\t\t * @uib.description Displays a button at the end of the pill. When the user clicks the button, the pill dispatches an action.\n\t\t */\n\t\tcanDismiss: {default: false, reflect: true, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Text content shown inside the tooltip for the dismiss button.\n\t\t * If no content is provided, defaults to \"Remove\".\n\t\t * @type {string}\n\t\t * @uib.label Tooltip label for dismiss button\n\t\t * @uib.description Text to display in a tooltip that describes the pill's dismiss button.\n\t\t * @uib.translatable true\n\t\t */\n\t\ttooltipContent: {schema: {type: 'string'}},\n\t\t/**\n\t\t * When true, mutes the interactive pill color and prevents user click interactions.\n\t\t * @type {boolean}\n\t\t * @uib.label Disabled\n\t\t * @uib.description When true, mutes the pill color and disables user click interactions.\n\t\t */\n\t\tdisabled: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * An object that holds all the information that is needed to render the pill's avatar or image.\n\t\t * The imageSrc property is the location of an image file to display as the avatar inside of the pill.\n\t\t * Presence is the user's presence status, displayed with an indicator icon in the corner.\n\t\t * @type {{ userName: string, imageSrc: string, icon: string, presence: ('available'|'away'|'busy'|'offline') }}\n\t\t * @uib.label Avatar properties\n\t\t * @uib.description Display username, image source or presence for pill's avatar.\n\t\t */\n\t\tavatarProps: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tuserName: {type: 'string'},\n\t\t\t\t\timageSrc: {type: 'string'},\n\t\t\t\t\ticon: {type: 'string'},\n\t\t\t\t\tpresence: {\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tenum: ['available', 'away', 'busy', 'offline'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * now-pill. The value of each key is an object that contains an ARIA\n\t\t * property (or properties) and one or more corresponding values. These ARIA\n\t\t * properties are set on the specified element.\n\t\t * The 'button' key corresponds to the inner html `<button>` in\n\t\t * now-pill. See https://www.w3.org/TR/wai-aria-1.2/#button for\n\t\t * properties and accepted values.\n\t\t * @type {{ button: {'aria-*': string, role: string} }}\n\t\t * @uib.label ARIA properties\n\t\t * @uib.description Configures ARIA properties.\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tbutton: configAriaLabelRoleSchema,\n\t\t\t\t\ticon: configAriaLabelSchema,\n\t\t\t\t},\n\t\t\t\tadditionalProperties: false,\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * `none`: Pill can not be selected.\n\t\t * `select`: Pill can be selected.\n\t\t * @type {('none'|'select')}\n\t\t * @uib.description Sets whether the pill can be selected or not.\n\t\t * @uib.defaultValue select\n\t\t */\n\t\tinteraction: {\n\t\t\tdefault: 'select',\n\t\t\tschema: {type: 'string', enum: ['none', 'select']},\n\t\t},\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the user selects the pill dismiss button, or if the\n\t\t * pill is selected and the user selects the backspace or delete key.\n\t\t * The pill does not handle this action, its parent must handle\n\t\t * and remove the pill from its state so it is no longer rendered.\n\t\t * @type {{}}\n\t\t * @uib.description Dispatched when the user selects the pill dismiss button, or if the pill is selected and the user selects the backspace or delete key.\n\t\t */\n\t\t'NOW_PILL#DISMISSED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user toggles the selected status of the pill.\n\t\t * Set the `manage-selected` property to override the default behavior and\n\t\t * handle this action manually.\n\t\t * @type {{value: boolean}}\n\t\t * @uib.description Dispatched when the user toggles the selected status of the pill.\n\t\t */\n\t\t'NOW_PILL#SELECTED_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tvalue: {type: 'boolean'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['keydown'],\n\t\t\teffect: ({action, host, dispatch}) => {\n\t\t\t\tconst {event} = action.payload;\n\n\t\t\t\tif ([' ', 'Spacebar', 'Enter'].includes(event.key)) {\n\t\t\t\t\taction.preventDefault();\n\t\t\t\t\taction.stopPropagation();\n\n\t\t\t\t\tif (host.shadowRoot.activeElement.id === 'label') {\n\t\t\t\t\t\tdispatch(() => ({\n\t\t\t\t\t\t\ttype: 'NOW_PILL#SELECTED_SET',\n\t\t\t\t\t\t\tpayload: {value: !host.selected},\n\t\t\t\t\t\t}));\n\t\t\t\t\t} else if (host.shadowRoot.activeElement.id === 'dismiss') {\n\t\t\t\t\t\tdispatch(() => ({\n\t\t\t\t\t\t\ttype: 'NOW_PILL#DISMISSED',\n\t\t\t\t\t\t\tpayload: {},\n\t\t\t\t\t\t}));\n\t\t\t\t\t}\n\t\t\t\t} else if (['Backspace', 'Delete'].includes(event.key)) {\n\t\t\t\t\tdispatch(({properties}) => ({\n\t\t\t\t\t\ttype: 'NOW_PILL#DISMISSED',\n\t\t\t\t\t\tpayload: {},\n\t\t\t\t\t\tshouldDispatch: properties.canDismiss,\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t],\n\tbehaviors: [focusBehavior, tooltipBehavior, truncationBehavior],\n\tstyles,\n\tinitialState: {\n\t\tcurrentTooltip: {ref: null, content: '', opened: false},\n\t},\n\tview,\n});\n","import '@servicenow/now-pill';\nimport filterClose from '../../../images/icons/pill_close_icon.svg';\nimport { SEARCH_PAGE_ACTIONS } from '../actions';\nimport {KEYCODE} from '../../../constants';\n\nconst SearchFilterPills = props => {\n\tconst { facets, dispatch } = props;\n\tlet showClearFilter = false;\n\treturn (\n\t\t<div className=\"dps-search-page_filter-pills\">\n\t\t\t{facets.map(item => {\n\t\t\t\treturn item.filters.map(filter => {\n\t\t\t\t\tif (filter.isSelected) {\n\t\t\t\t\t\tshowClearFilter = true;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<div className=\"dps-search-page_filter-pills_items\">\n\t\t\t\t\t\t\t\t\t<label>{filter.name}</label>\n\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t\t\t\t\t\ton-keydown={(event)=>{\n\t\t\t\t\t\t\t\t\t\t\tif(event.keyCode === KEYCODE.ENTER) {\n\t\t\t\t\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\t\t\t\t\tSEARCH_PAGE_ACTIONS.HANDLE_FILTER_PILL_DISMISS,\n\t\t\t\t\t\t\t\t\t\t\t\t\tfilter\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonclick={() => {\n\t\t\t\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\t\t\t\tSEARCH_PAGE_ACTIONS.HANDLE_FILTER_PILL_DISMISS,\n\t\t\t\t\t\t\t\t\t\t\t\tfilter\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tsrc={filterClose}\n\t\t\t\t\t\t\t\t\t\talt=\"close\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t})}\n\n\t\t\t{showClearFilter ? (\n\t\t\t\t<button\n\t\t\t\t\tclassName=\"dps-search-page-clear-filter-btn\"\n\t\t\t\t\tonclick={() => {\n\t\t\t\t\t\tdispatch('DPS#CLEAR_FILTER');\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\tClear Filters\n\t\t\t\t</button>\n\t\t\t) : null}\n\t\t</div>\n\t);\n};\n\nexport default SearchFilterPills;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-related-search.scss';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { actionTypes } from '@servicenow/ui-core';\nconst { COMPONENT_PROPERTY_CHANGED, COMPONENT_BOOTSTRAPPED } = actionTypes;\nimport { CONSTANTS } from '../../../../../src/constants';\nimport { DPS_SEARCH_PAGE, SEARCH_PAGE_ACTIONS } from '../../actions';\nimport { decodeFilter } from '../../helper';\n\nconst handleFetchRelatedSearchResults = createHttpEffect(\n\tCONSTANTS.ENDPOINTS.RELATED_SEARCH_ENDPOINT,\n\t{\n\t\tbatch: false,\n\t\tmethod: 'POST',\n\t\tdataParams: ['data'],\n\t\tsuccessActionType: DPS_SEARCH_PAGE.FETCH_RELATED_SEARCH_SUCCEEDED,\n\t\tfailActionType: DPS_SEARCH_PAGE.FETCH_RELATED_SEARCH_FAILED\n\t}\n);\n\nconst handleFetchRelatedSearchResultsSucceeded = ({\n\taction,\n\tupdateProperties\n}) => {\n\tconst {\n\t\tpayload: {\n\t\t\tresult: {\n\t\t\t\tdata: { related_search_terms }\n\t\t\t}\n\t\t}\n\t} = action;\n\tupdateProperties({ relatedSearchTerms: related_search_terms });\n};\n\nconst view = ({ properties }, dispatch) => {\n\tconst { keyword, relatedSearchTerms } = properties;\n\treturn (\n\t\t<div>\n\t\t\t{relatedSearchTerms && relatedSearchTerms.length > 0 ? (\n\t\t\t\t<div className=\"dps-search-related\">\n\t\t\t\t\t<h3>Related searches</h3>\n\t\t\t\t\t<div className=\"dps-search-related-results\">\n\t\t\t\t\t\t{relatedSearchTerms &&\n\t\t\t\t\t\t\trelatedSearchTerms.map(label => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName=\"dps-search-related-result\"\n\t\t\t\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\t\t\t\tdispatch(SEARCH_PAGE_ACTIONS.HANDLE_RELATED_TERM_CLICK, {\n\t\t\t\t\t\t\t\t\t\t\t\tsearchTerm: label\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<b>{label}</b>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t</div>\n\t);\n};\n\nconst extractFiltersFromQueryParam = param => {\n\tlet decodedParam = param && decodeFilter(param.split('|'));\n\tdecodedParam = (decodedParam && decodedParam.join('|')) || '';\n\treturn decodedParam;\n};\n\nexport default createCustomElement('dps-related-search', {\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: ({ properties, dispatch }) => {\n\t\t\tconst { queryParam } = properties;\n\t\t\tconst { release, source } = queryParam;\n\t\t\tconst searchClsfRelease = extractFiltersFromQueryParam(release);\n\t\t\tconst searchSource = extractFiltersFromQueryParam(source);\n\n\t\t\tdispatch(DPS_SEARCH_PAGE.FETCH_RELATED_SEARCH, {\n\t\t\t\tdata: {\n\t\t\t\t\tqueryParam: queryParam.q,\n\t\t\t\t\tsearchClsfRelease: searchClsfRelease,\n\t\t\t\t\tsearchSource: searchSource\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\tproperties,\n\t\t\tupdateProperties\n\t\t}) => {\n\t\t\tconst { queryParam } = properties;\n\t\t\tconst { release, source } = queryParam;\n\t\t\tconst { payload } = action;\n\t\t\tconst { name } = payload;\n\n\t\t\tif (name === 'queryParam') {\n\t\t\t\tconst searchClsfRelease = extractFiltersFromQueryParam(release);\n\t\t\t\tconst searchSource = extractFiltersFromQueryParam(source);\n\n\t\t\t\tdispatch(DPS_SEARCH_PAGE.FETCH_RELATED_SEARCH, {\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tqueryParam: queryParam.q,\n\t\t\t\t\t\tsearchClsfRelease: searchClsfRelease,\n\t\t\t\t\t\tsearchSource: searchSource\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[DPS_SEARCH_PAGE.FETCH_RELATED_SEARCH]: handleFetchRelatedSearchResults,\n\t\t[DPS_SEARCH_PAGE.FETCH_RELATED_SEARCH_FAILED]: () => {\n\t\t\tupdateProperties({ relatedSearchTerms: [] });\n\t\t},\n\t\t[DPS_SEARCH_PAGE.FETCH_RELATED_SEARCH_SUCCEEDED]: handleFetchRelatedSearchResultsSucceeded\n\t},\n\tproperties: {\n\t\trelatedSearchTerms: {\n\t\t\tdefault: []\n\t\t},\n\t\tqueryParam: {\n\t\t\tdefault: {}\n\t\t}\n\t},\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tstyles,\n\tview\n});\n","import '../../components/dps-search-filter';\nimport '../../components/dps-pagination';\nimport '../../components/dps-template-two-column';\nimport SearchResult from './views/search-result';\nimport SearchFilterPills from './views/search-filter-pills';\nimport './components/dps-related-search';\nimport '../../components/dps-badge';\nimport { isTruthy } from '../../utils/helpers';\n\nconst SECTION_HEADER = 'Search results';\n\nconst view = (state, { dispatch }) => {\n\tconst {\n\t\tsearchKeyword,\n\t\tqueryObject,\n\t\tpageNumber,\n\t\tselectedSource,\n\t\tselectedRelease,\n\t\tproperties: {\n\t\t\tsystemProperties,\n\t\t\tsearchData,\n\t\t\tfacets,\n\t\t\tlastPage,\n\t\t\tsearchSuggestions,\n\t\t\tshowNoSearchResultsPage,\n\t\t\tshowPageLoader,\n\t\t\tsuggestionsList,\n\t\t\tisFetchtingSearchResults,\n\t\t\tqueryParams,\n\t\t\tsearchTerm,\n\t\t\tisDirtyTerm\n\t\t}\n\t} = state;\n\n\treturn (\n\t\t<div>\n\t\t\t<div>\n\t\t\t\t<dps-template-two-column open={true}>\n\t\t\t\t\t<div slot=\"sidebar\">\n\t\t\t\t\t\t<dps-search-filter\n\t\t\t\t\t\t\tfilters={facets}\n\t\t\t\t\t\t\tsectionHeader={SECTION_HEADER}\n\t\t\t\t\t\t></dps-search-filter>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"dps-search-tag\">Search results for:</div>\n\t\t\t\t\t<dps-search-bar\n\t\t\t\t\t\tisSearchResultPage={true}\n\t\t\t\t\t\tvalue={searchTerm}\n\t\t\t\t\t\tsuggestionsList={suggestionsList}\n\t\t\t\t\t\tisFetchtingSearchResults={isFetchtingSearchResults}\n\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\tqueryParams={queryObject}\n\t\t\t\t\t\tsuggestionsSource={selectedSource}\n\t\t\t\t\t\tsuggestionsRelease={selectedRelease}\n\t\t\t\t\t\tisDirtyTerm={isDirtyTerm}\n\t\t\t\t\t></dps-search-bar>\n\t\t\t\t\t<SearchFilterPills\n\t\t\t\t\t\tfacets={facets}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t></SearchFilterPills>\n\t\t\t\t\t<SearchResult\n\t\t\t\t\t\tsearchData={searchData}\n\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\tsearchSuggestions={searchSuggestions}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tshowNoSearchResultsPage={showNoSearchResultsPage}\n\t\t\t\t\t\tshowPageLoader={showPageLoader}\n\t\t\t\t\t\tpageNumber={pageNumber}\n\t\t\t\t\t\tsearchKeyword={searchKeyword}\n\t\t\t\t\t></SearchResult>\n\t\t\t\t\t{searchData.length > 0 ? (\n\t\t\t\t\t\t<dps-pagination\n\t\t\t\t\t\t\tactive-item={parseInt(pageNumber)}\n\t\t\t\t\t\t\ttotal-items={lastPage}\n\t\t\t\t\t\t\thidePageNumbers={true}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t\t<dps-related-search queryParam={queryParams}></dps-related-search>\n\t\t\t\t</dps-template-two-column>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default view;\n","const properties = {\n\tqueryParams: {\n\t\tdefault: {}\n\t},\n\tfilters: {\n\t\tdefault: []\n\t},\n\tsystemProperties: {\n\t\tdefault: {}\n\t},\n\tfacets: {\n\t\tdefault: [\n\t\t\t{\n\t\t\t\tname: 'Source',\n\t\t\t\tfilters: [],\n\t\t\t\topenSubSection: false\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Release',\n\t\t\t\tfilters: [],\n\t\t\t\topenSubSection: false\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Content Type',\n\t\t\t\tfilters: [],\n\t\t\t\topenSubSection: false\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Products',\n\t\t\t\tfilters: [],\n\t\t\t\topenSubSection: false\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Applications',\n\t\t\t\tfilters: [],\n\t\t\t\topenSubSection: false\n\t\t\t}\n\t\t]\n\t},\n\tsearchData: {\n\t\tdefault: []\n\t},\n\tsuggestionPayload: {\n\t\tdefault: []\n\t},\n\tlastPage: {\n\t\tdefault: 1\n\t},\n\tsearchSuggestions: {\n\t\tdefault: []\n\t},\n\tshowNoSearchResultsPage: {\n\t\tdefault: false\n\t},\n\tshowPageLoader: {\n\t\tdefault: false\n\t},\n\tsuggestionsList: {\n\t\tdefault: []\n\t},\n\tisFetchtingSearchResults: {\n\t\tdefault: false\n\t},\n\tsearchTerm: {\n\t\tdefault: \"\"\n\t},\n\tisDirtyTerm: {\n\t\tdefault: true\n\t},\n\treleaseInfo: {\n\t\tdefault: {}\n\t}\n};\n\nexport default properties;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { actionHandlers } from './actionHandlers';\nimport styles from './dps-search-page.scss';\nimport view from './view';\nimport '../../components/dps-template-two-column';\nimport properties from './properties.js';\n\nexport default createCustomElement('dps-search-page', {\n\tactionHandlers,\n\tinitialState: {\n\t\tsearchKeyword: '',\n\t\tselectedRelease: [],\n\t\tselectedContentTypes: [],\n\t\tselectedSource: [],\n\t\tselectedProduct: [],\n\t\tselectedApplication: [],\n\t\tpageNumber: 1,\n\t\tsuggestionPayload: []\n\t},\n\tproperties,\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tstyles,\n\tview\n});\n","import { actionTypes, createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-reference-overview.scss';\nimport '../../components/dps-content-stack';\nimport '../../components/dps-link';\nimport '@servicenow/now-button';\nimport '../../components/dps-page-header';\nimport '../dps-build-agent-modal';\nimport { FOOTER_ACTIONS } from '../../constants';\nimport { updateRoute } from '../../routes';\nimport { handleBuildAgentOpen } from '../dps-build-agent-modal/actionHandlers';\nimport { APP_ACTIONS } from '../dps-app/actions';\nimport url from '../../images/icons/url.svg';\nimport '@servicenow/now-icon';\nimport HeaderImg from '../../images/reference-overview-image.png';\nimport backgroundImg from '../../images/reference-overview-background.png';\n\nimport BuildingHead from '../../images/reference-people-building-head.png';\nimport Crane from '../../images/crane.svg';\nimport { setMetaByPageType } from '../../utils/meta';\nimport Colors from '../../styles/global/colors';\nimport { createPath, createAnchor } from '../../utils/url';\nimport reactToHash from '../../behaviors/reactToHash';\nimport { minimumNowExperienceVersion } from '../../utils/releaseHelpers';\nimport { isEmployee } from '../../utils/helpers';\nimport { formatFrameworkLabel } from '../../utils/formatFrameworkLabel';\nimport { DpsCardApixsAndLibraries } from '../dps-card-apis-and-libraries/dps-card-apis-and-libraries';\n\nconst { COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nconst _renderAPIsAndLibrariesCard = ({ tag, title, description, href }, ind, release) => (\n\t<dps-card-apis-and-libraries-card\n\t\ttag={tag}\n\t\ttitle={title}\n\t\tdescription={description}\n\t\thref={href.replace('/{release}/', `/${release}/`)}\n\t\tindex={ind}\n\t></dps-card-apis-and-libraries-card>\n);\n\nconst filterAPICards = release => card => card.includedVersin === 'all' || card.includedVersin.split(',').includes(release.toLowerCase());\n\nconst view = (state, { dispatch, updateProperties }) => {\n\tconst { release, systemProperties, userInfo, openedApp, instanceInfo, releaseInfo, upgradeableInstanceTargets, instanceMenuItems, catItemInProgress } = state.properties;\n\tconst { buildAgentModalOpened, buildAgentModalMode } = state;\n\n\t// Note - Now Experience Libraries should redirect to Component Library\n\treturn (\n\t\t<div className=\"dps-overview -reference\">\n\t\t\t<section className=\"dps-reference-header\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"dps-reference-header__background\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tbackgroundImage: `url(${backgroundImg})`,\n\t\t\t\t\t\tbackgroundPosition: 'center center',\n\t\t\t\t\t\tbackgroundSize: 'cover',\n\t\t\t\t\t\tbackgroundRepeat: 'no-repeat'\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc={HeaderImg}\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tclassName=\"dps-reference-header__image\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-reference-header__content\">\n\t\t\t\t\t<h1 className=\"dps-reference-header__title\">Reference</h1>\n\t\t\t\t\t<p className=\"dps-reference-header__subtitle\">\n\t\t\t\t\t\tAPIs, libraries, and supplemental materials for working with\n\t\t\t\t\t\tthe Now Platform<sup>®</sup> and Next<sup>®</sup> Experience.\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t</section>\n\t\t\t<section className=\"dps-overview-section -overview -centered\">\n\t\t\t\t<div className=\"dps-overview-section-content resources-for-every-developer\">\n\t\t\t\t\t<h2 className=\"dps-overview-section-header\">\n\t\t\t\t\t\t<span>Resources for every developer</span>\n\t\t\t\t\t</h2>\n\t\t\t\t\t<p>Develop and style your applications with confidence. Refer to the <dps-link href={createAnchor('#now-platform-apis')}>Now Platform APIs</dps-link> for information on how to add attributes and properties. Or browse the gallery of <dps-link href={createAnchor('#next-experience-components')}>Next Experience Components</dps-link> and see how you can customize your UI.</p>\n\t\t\t\t\t<div className=\"build-agent-row\">\n\t\t\t\t\t<now-icon icon=\"ai-sparkle-fill\" style={{ color: '#62D84E' }} />\n\t\t\t\t\t<span className=\"build-agent-row__text\">Build Agent can guide you to the required APIs.</span>\n\t\t\t\t\t<dps-link\n\t\t\t\t\t\tclassName=\"build-agent-row__link\"\n\t\t\t\t\t\ton-click={(e) => {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\tif (!userInfo?.is_logged_in) {\n\t\t\t\t\t\t\t\tdispatch(APP_ACTIONS.LOGIN_CLICKED);\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (instanceInfo?.state === 'waitlist') {\n\t\t\t\t\t\t\t\tdispatch('DPS_INSTANCE_ASSIGNMENT#MENU_ITEM_CLICKED', { screenType: 'waitlisted' });\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdispatch('BUILD_AGENT_MODAL#OPEN');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tAsk Build Agent\n\t\t\t\t\t</dps-link>\n\t\t\t\t\t<img src={url} alt=\"url\" />\n\t\t\t\t</div>\n\n\t\t\t\t</div>\n\t\t\t</section>\n\t\t\t<section className=\"dps-overview-section -gray\">\n\t\t\t\t<div className=\"dps-overview-section-content\">\n\t\t\t\t\t<div className=\"now-platform-apis-section\" id=\"now-platform-apis\">\n\t\t\t\t\t\t<h2 className=\"dps-overview-section-header\">\n\t\t\t\t\t\t\t<span>Now Platform APIs</span>\n\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t<p>Building blocks for changing functionalities and adding features on the Now Platform.</p>\n\t\t\t\t\t\t<p>For more information on the Now Platform, read the \"Getting Started with the Now Platform\" guide before using these APIs.</p>\n\t\t\t\t\t</div>\n\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\tlabel=\"Read guide\"\n\t\t\t\t\t\t\ttooltip-content={''}\n\t\t\t\t\t\t\ton-click={() => window.location.href = createPath(`/guides/${minimumNowExperienceVersion(release, systemProperties)}/now-platform/now-platform-guide/now-platform-guide-intro`)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className='dps-reference-list'>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tJSON.parse(systemProperties['dev.home.apis.list'] || '[]')\n\t\t\t\t\t\t\t\t.filter(filterAPICards(release))\n\t\t\t\t\t\t\t\t.map((card, ind) => _renderAPIsAndLibrariesCard(card, ind, release))\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</section>\n\t\t\t<section className=\"dps-overview-section\">\n\t\t\t\t<div className=\"dps-overview-section-content now-experience-ui-framework\">\n\t\t\t\t\t<div id=\"now-experience-ui-framework\">\n\t\t\t\t\t\t<img src={BuildingHead} alt=\"People assembling head\"/>\n\t\t\t\t\t\t<div className=\"content\">\n\t\t\t\t\t\t\t<h2 className=\"dps-overview-section-header\">\n\t\t\t\t\t\t\t\t{ isEmployee(userInfo)\n\t\t\t\t\t\t\t\t\t? <span>Working with the Next&nbsp;Experience&nbsp;UI&nbsp;Framework&nbsp;(Seismic)</span>\n\t\t\t\t\t\t\t\t\t: <span>Working with the Next&nbsp;Experience&nbsp;UI&nbsp;Framework</span>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t<p>This ServiceNow JavaScript framework was created based on a user need to create, design, and build web components.</p>\n\t\t\t\t\t\t\t<p>Web components are now a web standard for anyone that wants to extend and encapsulate their applications. Now with the UI framework, developers are empowered to build custom web components and create a modern UI.</p>\n\t\t\t\t\t\t\t<p>All of this is possible because the framework follows these core concepts:</p>\n\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t<li>Data is immutable</li>\n\t\t\t\t\t\t\t\t<li>Dataflow is unidirectional</li>\n\t\t\t\t\t\t\t\t<li>Effectful code stays isolated</li>\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t<p>Find out more about the motivations and core concepts behind the UI framework.</p>\n\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\t\tlabel=\"Learn more\"\n\t\t\t\t\t\t\t\ttooltip-content={''}\n\t\t\t\t\t\t\t\ton-click={() => window.location.href = createPath(`/reference/next-experience/${minimumNowExperienceVersion(release, systemProperties)}/ui-framework/getting-started/introduction`)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</section>\n\t\t\t<section className=\"dps-overview-section -gray\">\n\t\t\t\t<div className=\"dps-overview-section-content\">\n\t\t\t\t\t<div className=\"now-experience-components-grid\">\n\t\t\t\t\t\t<div id=\"next-experience-components\">\n\t\t\t\t\t\t\t<h2 className=\"dps-overview-section-header\">\n\t\t\t\t\t\t\t\tNext Experience Components\n\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t<p>Components are the core elements for creating user interfaces. Each component includes API properties for customizing the component and usage guidance for recommendations on how to use the component.</p>\n\n\t\t\t\t\t\t\t<p>All components have accessibility and internationalization baked in out-of-the-box—ensuring usability for all your users.</p>\n\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\t\tlabel=\"Learn more\"\n\t\t\t\t\t\t\t\ttooltip-content={''}\n\t\t\t\t\t\t\t\ton-click={() => window.location.href = createPath(`/reference/next-experience/${minimumNowExperienceVersion(release, systemProperties)}/components`)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<img src={Crane} alt=\"Construction crane lifting box\" />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</section>\n\t\t\t<section className=\"dps-overview-section\">\n\t\t\t\t<div className=\"dps-overview-section-content using-now-cli\">\n\t\t\t\t\t<div id=\"using-now-cli\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<h2 className=\"dps-overview-section-header\">\n\t\t\t\t\t\t\t\t<span>Using Now {formatFrameworkLabel(\"CLI\", userInfo)}</span>\n\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t<p>The Now CLI is a toolkit that allows you to create, test, and upload components to a platform instance.</p>\n\t\t\t\t\t\t\t<p>Before you start working with it on your instance, find out how to set up and install the Now CLI on your system.</p>\n\t\t\t\t\t\t\t{userInfo.roles ? (\n\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\t\t\t\tlabel=\"How to setup your environment\"\n\t\t\t\t\t\t\t\t\t\ttooltip-content={''}\n\t\t\t\t\t\t\t\t\t\ton-click={() => window.location.href = isEmployee(userInfo)\n\t\t\t\t\t\t\t\t\t\t\t? createPath(`/reference/next-experience/${minimumNowExperienceVersion(release, systemProperties)}/cli/cli`)\n\t\t\t\t\t\t\t\t\t\t\t: createPath(`/reference/next-experience/${minimumNowExperienceVersion(release, systemProperties)}/cli/getting-started`)}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t<p>If you’re already set up, view additional configurations requirements and recommendations for your development flows.</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t{userInfo.roles ? (\n\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t<dps-content-stack\n\t\t\t\t\t\t\t\t\t\ttitle=\"Now CLI Configuration\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"-compact\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<p>Customizing Now CLI to meet your development needs.</p>\n\t\t\t\t\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\t\t\t\tbuttonStyle\n\t\t\t\t\t\t\t\t\t\t\tbuttonVariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\t\t\t\thref={\n\t\t\t\t\t\t\t\t\t\t\t\tisEmployee(userInfo)\n\t\t\t\t\t\t\t\t\t\t\t\t? createPath(`/reference/next-experience/${minimumNowExperienceVersion(release, systemProperties)}/cli/config`)\n\t\t\t\t\t\t\t\t\t\t\t\t: createPath(`/reference/next-experience/${minimumNowExperienceVersion(release, systemProperties)}/cli/now-cli-config`)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tinternal-action\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\tLearn more\n\t\t\t\t\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t\t\t\t</dps-content-stack>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t{userInfo.roles ? (\n\t\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t\t<dps-content-stack\n\t\t\t\t\t\t\t\t\t\t\ttitle=\"Development Flow\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"-compact\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<p>Creating a component on your development environment and deploying it on your connected instance.</p>\n\t\t\t\t\t\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\t\t\t\t\tbuttonStyle\n\t\t\t\t\t\t\t\t\t\t\t\tbuttonVariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\t\t\t\t\thref={\n\t\t\t\t\t\t\t\t\t\t\t\t\tisEmployee(userInfo)\n\t\t\t\t\t\t\t\t\t\t\t\t\t? createPath(`/reference/next-experience/${minimumNowExperienceVersion(release, systemProperties)}/ui-framework/getting-started/development-flow`)\n\t\t\t\t\t\t\t\t\t\t\t\t\t: createPath(`/reference/next-experience/${minimumNowExperienceVersion(release, systemProperties)}/cli/development-flow`)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tinternal-action\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\tRead the guide\n\t\t\t\t\t\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t\t\t\t\t</dps-content-stack>\n\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</section>\n\t\t\t<dps-build-agent-modal\n\t\t\t\topened={buildAgentModalOpened}\n\t\t\t\tmode={buildAgentModalMode}\n\t\t\t\topenedApp={openedApp}\n\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\tcatItemInProgress={catItemInProgress}\n\t\t\t\tinstanceMenuItems={instanceMenuItems}\n\t\t\t\tupgradeableInstanceTargets={upgradeableInstanceTargets}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tupgradeInstanceRelease={val => {\n\t\t\t\t\tupdateProperties({ openedApp: null });\n\t\t\t\t\tif (val === 'upgraded') {\n\t\t\t\t\t\tupdateRoute('/manage-instance');\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-reference-overview', {\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles,\n\tproperties: {\n    hash: {\n      default: ''\n    },\n    release: {\n      default: '',\n      required: true,\n      schema: {\n        type: 'string'\n      }\n    },\n    systemProperties: {\n      default: {}\n    },\n    userInfo: {\n      default: ''\n    },\n    openedApp: {\n      default: null\n    },\n    instanceInfo: {\n      default: {}\n    },\n    releaseInfo: {\n      default: {}\n    },\n    upgradeableInstanceTargets: {\n      default: []\n    },\n    instanceMenuItems: {\n      default: []\n    },\n    catItemInProgress: {\n      default: null\n    },\n    isAutoAssignRunInBackground: {\n      default: false\n    },\n    isBuildAgentExperience: {\n      default: false\n    },\n    autoAssignAlertType: {\n      default: 'setup'\n    }\n  },\n\tinitialState: {\n\t\tbuildAgentModalOpened: false,\n\t\tbuildAgentModalMode: null\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]() {\n\t\t\tsetMetaByPageType('reference');\n\t\t},\n\t\t'BUILD_AGENT_MODAL#OPEN': handleBuildAgentOpen,\n\t\t'BUILD_AGENT_MODAL#CLOSE': ({ updateState }) => {\n\t\t\tupdateState({ buildAgentModalOpened: false, buildAgentModalMode: null });\n\t\t},\n\t\t'BUILD_AGENT_MODAL#REQUEST_INSTANCE': ({ updateState, dispatch }) => {\n\t\t\tupdateState({ buildAgentModalOpened: false, buildAgentModalMode: null });\n\t\t\tdispatch('DPS_INSTANCE_ASSIGNMENT#MENU_ITEM_CLICKED', {\n\t\t\t\tselected: 'request',\n\t\t\t\tisBuildAgentExperience: true\n\t\t\t});\n\t\t},\n\t\t'BUILD_AGENT_MODAL#UPGRADE': ({ updateState, updateProperties }) => {\n\t\t\tupdateState({\n\t\t\t\tbuildAgentModalOpened: false\n\t\t\t});\n\n\t\t\tupdateProperties({\n\t\t\t\topenedApp: FOOTER_ACTIONS.TWO_FOOTER_ACTIONS\n\t\t\t});\n\t\t},\n\t\t'NOW_MODAL#OPENED_SET': ({ updateState, updateProperties, action }) => {\n\t\t\tif (action.payload?.component === 'BUILD_AGENT_MODAL') {\n\t\t\t\tconst updates = { buildAgentModalOpened: action.payload.value };\n\t\t\t\tif (!action.payload.value) {\n\t\t\t\t\tupdates.buildAgentModalMode = null;\n\t\t\t\t}\n\t\t\t\tupdateState(updates);\n\t\t\t}\n\t\t\tif (action.payload?.component === 'upgrade-instance' && action.payload?.value === false) {\n\t\t\t\tupdateProperties({ openedApp: null });\n\t\t\t}\n\t\t}\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: reactToHash,\n\t\t\toptions: {\n\t\t\t\tadditionalOffset: -120\n\t\t\t}\n\t\t}\n\t]\n});\n","export const removeHashFromName = name => (name || '').replace(/#/g, '_');\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { dashCase } from '../../utils/case';\nimport { createAnchor } from '../../utils/url';\nimport { removeHashFromName } from './utils';\n\nexport default function listReferences(label = 'Reference Name', reference = [], updateProperties) {\n\tif (!reference || reference.length === 0) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className=\"dps-component-detail-list-reference\">\n\t\t\t<h3>{label}</h3>\n\t\t\t<div>\n\t\t\t\t{reference.map((item, index) => (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{(index ? ', ' : '')}\n\t\t\t\t\t\t<dps-link on-click={() => updateProperties({scrollSection: label.toLowerCase()})} href={createAnchor(`#${dashCase(label)}-${removeHashFromName(item.name)}`)} title={item.name}>{item.name}</dps-link>\n\t\t\t\t\t</Fragment>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n","// eslint-disable-next-line no-unused-vars\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { dashCase, titleCase } from '../../utils/case';\nimport { createAnchor } from '../../utils/url';\nimport marked from '../../utils/marked-with-hljs';\nimport { removeHashFromName } from './utils';\n\nexport default function apiTable({\n\t\tlabel = '', // used when identifying the table in `id` attributes; not displayed\n\t\tdata = [], // the data that will be rendered as an `apiTable`\n\t\tcolumns = [], // keys (column names) that should be output\n\t\tcolumnNames = [], // custom labels for the above column names (must provide all)\n\t\ttypedefs = [], // which typedefs are we looking for?\n\t\tdescription = true, // should a description be shown below each row?\n\t\tdetectColorTriplet = false // look for values like `255, 255, 127` in text to make a `.color-swatch`\n\t}) {\n\n\t// Abort if the data, or columns are missing or empty.\n\t// We can't recover from this with defaults.\n\tif (!data || data.length === 0 || !columns || columns.length === 0) {\n\t\treturn null;\n\t}\n\n\t// Looks for values that are similar to: 255, 52, 66\n\t// It accounts for leading whitespace, as well as white space on either\n\t// side of the commas. For this detection, we want the color triplet to\n\t// be the first thing in the string (allowing for leading whitespace)\n\t// Examples:\n\t// `255, 255, 0` ✔\n\t// ` 255 , 255 , 0` ✔\n\t// `255,255,0 and some other text` ✔\n\t// `A color: 255, 255, 0` ✗\n\tconst colorTripletRegex = new RegExp(\"^\\s*[0-9]{1,3}\\s*,\\s*[0-9]{1,3}\\s*,\\s*[0-9]{1,3}\");\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'dps-component-detail-table-header': true,\n\t\t\t\t\t[`-col-count-${columns.length}`]: true,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{columns.map((column, i) => {\n\t\t\t\t\t// If `columnNames` exists and is the same length as the\n\t\t\t\t\t// columns, we can use these user provided column headers.\n\t\t\t\t\t// Otherwise, format the column name keys with `titleCase()`.\n\t\t\t\t\tconst columnLabel = (columns.length === columnNames.length) ? columnNames[i] : titleCase(column);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div className={`dps-component-detail-table-${column}`}>\n\t\t\t\t\t\t\t{columnLabel}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t\t{data.map(row =>\n\t\t\t\t<Fragment>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'dps-component-detail-table-row': true,\n\t\t\t\t\t\t\t[`-col-count-${columns.length}`]: true,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{columns.map((column, index) => {\n\t\t\t\t\t\t\tconst id = index === 0 ? `${dashCase(label)}-${removeHashFromName(row[column] || 'not-defined')}` : null;\n\t\t\t\t\t\t\tlet typeDesc = `${row[column]}`;\n\n\t\t\t\t\t\t\t// Some of these tables have descriptions that output typedefs\n\t\t\t\t\t\t\t// These are linkable within the page, and that's what we are\n\t\t\t\t\t\t\t// detecting here. The column data is tested for the typedef\n\t\t\t\t\t\t\t// format and if it matches, we will attempt to add an anchor\n\t\t\t\t\t\t\t// that would link to the other \"Typedefs\" table on the page\n\t\t\t\t\t\t\t// if that exists/is appropriate.\n\t\t\t\t\t\t\ttypedefs.forEach(typedef => {\n\t\t\t\t\t\t\t\tconst typedefRegExp = new RegExp(`(.*)(${typedef.name})(.*)`);\n\t\t\t\t\t\t\t\tif(column === 'type' && row.type && row.type.match(typedefRegExp)) {\n\t\t\t\t\t\t\t\t\ttypeof typeDesc === 'string'\n\t\t\t\t\t\t\t\t\t\t? typeDesc.replace(typedefRegExp, (match, p1, p2, p3) => {\n\t\t\t\t\t\t\t\t\t\t\ttypeDesc = (\n\t\t\t\t\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{p1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t<a href={createAnchor(`#typedefs-${p2}`)}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{p2}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{p3}\n\t\t\t\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t: null;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t// Some data being displayed may need to be shown in a rich format.\n\t\t\t\t\t\t\t// here we check to see if the table has the `detectColorTriplet`\n\t\t\t\t\t\t\t// option. If so, we test column data for whether or not it looks\n\t\t\t\t\t\t\t// like a RGB triplet, and if so we render it as a `.color-swatch`\n\t\t\t\t\t\t\tlet colorSwatch = null;\n\t\t\t\t\t\t\tif(typeof(typeDesc) === 'string') {\n\t\t\t\t\t\t\t\tlet looksLikeColor = typeDesc.match(colorTripletRegex);\n\t\t\t\t\t\t\t\tif(detectColorTriplet && looksLikeColor) {\n\t\t\t\t\t\t\t\t\tcolorSwatch = <div className=\"color-swatch\" style={{backgroundColor: `rgb(${typeDesc})`}} />\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tid={id}\n\t\t\t\t\t\t\t\t\tclassName={`dps-component-detail-table-${column}`}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{colorSwatch} {/* only outputs if populated */}\n\t\t\t\t\t\t\t\t\t{typeDesc !== '' ?\n\t\t\t\t\t\t\t\t\t\t(<code>{typeDesc}</code>)\n\t\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</div>\n\t\t\t\t\t{description ? (\n\t\t\t\t\t\t<div className=\"dps-component-detail-table-description\" innerHTML={marked(row.description || '_No description provided_')}></div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className=\"dps-component-detail-table-row-separator\"></div>\n\t\t\t\t\t)}\n\t\t\t\t</Fragment>\n\t\t\t)}\n\t\t</Fragment>\n\t);\n}\n","import { createAnchor } from '../../utils/url';\n\nexport const wayfinder = (wayfinderItems, activeId) => {\n\tconst moveActiveIndicator = elm => {\n\t\tconst marker = elm.querySelector('.dps-wayfinder-active-marker');\n\t\tconst active = elm.querySelector('li[data-active=\"true\"]');\n\t\tconst height = active ? `${active.offsetHeight}px` : '0px';\n\t\tconst top = active ? `${active.offsetTop}px` : '0px';\n\n\t\tmarker.style.height = height;\n\t\tmarker.style.top = top;\n\t};\n\n\treturn (\n\t\t<ul\n\t\t\tclassName=\"dps-wayfinder\"\n\t\t\thook-insert={({ elm }) => moveActiveIndicator(elm)}\n\t\t\thook-postpatch={({ elm }) => moveActiveIndicator(elm)}>\n\t\t\t<li className=\"dps-wayfinder-active-marker\"/>\n\t\t\t{\n\t\t\t\twayfinderItems.map(({ label, id }) => {\n\t\t\t\t\tconst cleanAnchorId = id.replace('#', '');\n\t\t\t\t\treturn (\n\t\t\t\t\t<li\n\t\t\t\t\t\tkey={id}\n\t\t\t\t\t\tclassName=\"dps-wayfinder-item\"\n\t\t\t\t\t\tdata-active={id === activeId}>\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\tclassName=\"dps-wayfinder-link\"\n\t\t\t\t\t\t\thref={createAnchor(`#${cleanAnchorId}`)}>\n\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t}\n\t\t</ul>\n\t);\n};\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\n// eslint-disable-next-line no-unused-vars\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport marked from '../../utils/marked-with-hljs';\nimport listReferences from './listReferences';\nimport apiTable from './apiTable';\nimport '../dps-code-block';\nimport '../dps-callout';\nimport '../dps-prev-next-doc';\nimport '../dps-feedback';\nimport '../dps-component-detail-toc';\nimport '../dps-component-detail-meta';\nimport '../dps-sticky-nav';\nimport '../dps-alert';\nimport '../dps-alert-container';\nimport '../dps-banner-container';\nimport styles from './_dps-component-detail.scss';\nimport { CONSTANTS } from '../../constants';\nimport scrollSpyBehavior, {\n\tSCROLL_SPY_ACTIONS\n} from '../../behaviors/scrollSpy';\nimport { filterThemeVariables } from '../../utils/helpers';\nimport { wayfinder } from '../dps-wayfinder';\n\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nfunction DpsComponentDetail(state, { updateProperties }) {\n\tconst {\n\t\tcomponent,\n\t\tcomponentProperties,\n\t\tcomponentActions,\n\t\tprev,\n\t\tnext,\n\t\tsections,\n\t\tdetailType,\n\t\thash,\n\t\tcarouselVisible,\n\t\tscrollSection,\n\t\tuserInfo,\n\t\tsystemProperties\n\t} = state.properties;\n\n\tconst cleanHash = hash ? hash.replace('#', '') : '';\n\tconst hashSectionParent = cleanHash.split('-')[0];\n\n\tconst { is_logged_in } = userInfo;\n\tconst { name } = component;\n\tconst titleName = name || CONSTANTS.DEFAULTS.FEEDBACK_CONTENT_TYPE_ARTICLE;\n\n\tlet apiDescription = '';\n\n\tconst isAPIOrUIBConfig = detailType === 'api' || detailType === 'uib-config';\n\n\tif (\n\t\tcomponent &&\n\t\tcomponent.scr &&\n\t\tcomponent.scr.api &&\n\t\tcomponent.scr.api.isContentFound &&\n\t\tcomponent.scr.api.payload\n\t) {\n\t\tapiDescription = component.scr.api.payload.description;\n\t}\n\n\tlet themeVariables = [];\n\tif (component.package.theme) {\n\t\tthemeVariables = filterThemeVariables(component.package.theme);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'dps-component-detail': true\n\t\t\t}}\n\t\t>\n\t\t\t<Fragment>\n\t\t\t\t{component ? (\n\t\t\t\t\t<div className=\"dps-component-detail-data\">\n\t\t\t\t\t\t<slot name=\"playground\"></slot>\n\t\t\t\t\t\t<div className=\"dps-component-main-container\">\n\t\t\t\t\t\t\t<div className=\"dps-component-reference-content\">\n\t\t\t\t\t\t\t\t{detailType === 'api' && apiDescription ? (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tinnerHTML={marked(\n\t\t\t\t\t\t\t\t\t\t\tapiDescription || '_No description provided_'\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t{isAPIOrUIBConfig ? (\n\t\t\t\t\t\t\t\t\t<div className=\"dps-component-container\">\n\t\t\t\t\t\t\t\t\t\t<h2 id=\"api-reference\">\n\t\t\t\t\t\t\t\t\t\t\t{detailType === 'uib-config'\n\t\t\t\t\t\t\t\t\t\t\t\t? 'UIB Config Reference'\n\t\t\t\t\t\t\t\t\t\t\t\t: 'API Reference'}\n\t\t\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t\t\t{listReferences(\n\t\t\t\t\t\t\t\t\t\t\t'Properties',\n\t\t\t\t\t\t\t\t\t\t\tcomponentProperties,\n\t\t\t\t\t\t\t\t\t\t\tupdateProperties\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{listReferences(\n\t\t\t\t\t\t\t\t\t\t\tdetailType === 'uib-config' ? 'Events' : 'Actions',\n\t\t\t\t\t\t\t\t\t\t\tcomponentActions,\n\t\t\t\t\t\t\t\t\t\t\tupdateProperties\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{detailType === 'api'\n\t\t\t\t\t\t\t\t\t\t\t? listReferences(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Slots',\n\t\t\t\t\t\t\t\t\t\t\t\t\tcomponent.slots,\n\t\t\t\t\t\t\t\t\t\t\t\t\tupdateProperties\n\t\t\t\t\t\t\t\t\t\t\t  )\n\t\t\t\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t\t\t\t\t{listReferences(\n\t\t\t\t\t\t\t\t\t\t\t'Typedefs',\n\t\t\t\t\t\t\t\t\t\t\tcomponent.typedefs,\n\t\t\t\t\t\t\t\t\t\t\tupdateProperties\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t<div className=\"dps-component-container\">\n\t\t\t\t\t\t\t\t\t{isAPIOrUIBConfig && componentProperties.length ? (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tid=\"properties\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"dps-component-detail-table-group -properties scroll-spy\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<h2 className=\"dps-component-table-title\">Properties</h2>\n\t\t\t\t\t\t\t\t\t\t\t{apiTable({\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'Properties',\n\t\t\t\t\t\t\t\t\t\t\t\tdata: componentProperties,\n\t\t\t\t\t\t\t\t\t\t\t\tcolumns: ['name', 'type', 'defaultValue'],\n\t\t\t\t\t\t\t\t\t\t\t\ttypedefs: component.typedefs\n\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t{isAPIOrUIBConfig && componentActions.length ? (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tid=\"actions\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"dps-component-detail-table-group -actions scroll-spy\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<hr className=\"dps-component-detail-section-padding\" />\n\t\t\t\t\t\t\t\t\t\t\t<h2 className=\"dps-component-table-title\">\n\t\t\t\t\t\t\t\t\t\t\t\t{detailType === 'uib-config' ? 'Events' : 'Actions'}\n\t\t\t\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t\t\t\t{apiTable({\n\t\t\t\t\t\t\t\t\t\t\t\tlabel:\n\t\t\t\t\t\t\t\t\t\t\t\t\tdetailType === 'uib-config' ? 'Events' : 'Actions',\n\t\t\t\t\t\t\t\t\t\t\t\tdata: componentActions,\n\t\t\t\t\t\t\t\t\t\t\t\tcolumns: ['name', 'type'],\n\t\t\t\t\t\t\t\t\t\t\t\tcolumnNames: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Name',\n\t\t\t\t\t\t\t\t\t\t\t\t\tdetailType === 'uib-config' ? 'Payload' : 'Type'\n\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t\ttypedefs: component.typedefs\n\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t{detailType === 'api' && component.slots.length ? (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tid=\"slots\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"dps-component-detail-table-group -slots scroll-spy\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<hr className=\"dps-component-detail-section-padding\" />\n\t\t\t\t\t\t\t\t\t\t\t<h2 className=\"dps-component-table-title\">Slots</h2>\n\t\t\t\t\t\t\t\t\t\t\t{apiTable({\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'Slots',\n\t\t\t\t\t\t\t\t\t\t\t\tdata: component.slots,\n\t\t\t\t\t\t\t\t\t\t\t\tcolumns: ['name', 'defaultSlot'],\n\t\t\t\t\t\t\t\t\t\t\t\ttypedefs: component.typedefs\n\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t{isAPIOrUIBConfig && component.typedefs.length ? (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tid=\"typedefs\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"dps-component-detail-table-group -typedefs scroll-spy\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<hr className=\"dps-component-detail-section-padding\" />\n\t\t\t\t\t\t\t\t\t\t\t<h2 className=\"dps-component-table-title\">Typedefs</h2>\n\t\t\t\t\t\t\t\t\t\t\t{component.typedefs.map(tdef => (\n\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={`${component.name}-typedef`}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"dps-component-detail-list-reference\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<h3 id={`typedefs-${tdef.name}`}>{tdef.name}</h3>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={`${component.name}-typedef-desc`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"dps-component-detail-typedef-description\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinnerHTML={marked(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttdef.description || '_No description provided_'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t></div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{apiTable({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'Typedefs',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata: tdef.properties,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumns: ['name', 'type'],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttypedefs: component.typedefs\n\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t{detailType === 'api' &&\n\t\t\t\t\t\t\t\t\tthemeVariables &&\n\t\t\t\t\t\t\t\t\tthemeVariables.length ? (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tid=\"theme-variables\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"dps-component-detail-table-group -theme-variables scroll-spy\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<hr className=\"dps-component-detail-section-padding\" />\n\t\t\t\t\t\t\t\t\t\t\t<h2 className=\"dps-component-table-title\">\n\t\t\t\t\t\t\t\t\t\t\t\tTheme Variables\n\t\t\t\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t\t\t\t<dps-callout>\n\t\t\t\t\t\t\t\t\t\t\t\t<span slot=\"description\">\n\t\t\t\t\t\t\t\t\t\t\t\t\tOverriding default values for individual component\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles is generally not recommended, as this can cause\n\t\t\t\t\t\t\t\t\t\t\t\t\ttheming issues. To apply system-wide styling changes\n\t\t\t\t\t\t\t\t\t\t\t\t\tor changes to a category of components, see \n\t\t\t\t\t\t\t\t\t\t\t\t\t<dps-link href=\"https://docs.servicenow.com/bundle/quebec-application-development/page/administer/ui-builder/concept/work-themes.html\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tWork with themes\n\t\t\t\t\t\t\t\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t\t\t\t\t\t\t\t.\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t</dps-callout>\n\t\t\t\t\t\t\t\t\t\t\t{apiTable({\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'Theme Variables',\n\t\t\t\t\t\t\t\t\t\t\t\tdata: themeVariables,\n\t\t\t\t\t\t\t\t\t\t\t\tcolumns: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t'customProperty',\n\t\t\t\t\t\t\t\t\t\t\t\t\t'fallbacks',\n\t\t\t\t\t\t\t\t\t\t\t\t\t'defaultValue'\n\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t\tcolumnNames: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t'CSS Custom Property',\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Inherits by Default',\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Default Value'\n\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t\tdescription: false,\n\t\t\t\t\t\t\t\t\t\t\t\tdetectColorTriplet: true\n\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className=\"dps-component-container\">\n\t\t\t\t\t\t\t\t\t{is_logged_in ? (\n\t\t\t\t\t\t\t\t\t\t<dps-feedback\n\t\t\t\t\t\t\t\t\t\t\tcontentType={\n\t\t\t\t\t\t\t\t\t\t\t\tCONSTANTS.DEFAULTS.FEEDBACK_CONTENT_TYPE_ARTICLE\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\ttitle={titleName}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<dps-feedback\n\t\t\t\t\t\t\t\t\t\t\tmessage={\n\t\t\t\t\t\t\t\t\t\t\t\tsystemProperties &&\n\t\t\t\t\t\t\t\t\t\t\t\tsystemProperties['dev.provide_feedback_text_guest_user']\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tcontentType={\n\t\t\t\t\t\t\t\t\t\t\t\tCONSTANTS.DEFAULTS.FEEDBACK_CONTENT_TYPE_ARTICLE\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\ttitle={titleName}\n\t\t\t\t\t\t\t\t\t\t\tlabel={CONSTANTS.DEFAULTS.FEEDBACK_SIGN_IN_BUTTON}\n\t\t\t\t\t\t\t\t\t\t\tisLoginRequired={!is_logged_in}\n\t\t\t\t\t\t\t\t\t\t></dps-feedback>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<aside\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t'-has-carousel': carouselVisible\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div className=\"dps-component-sidebar\">\n\t\t\t\t\t\t\t\t\t{wayfinder(sections, scrollSection || hashSectionParent)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</aside>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t</Fragment>\n\t\t</div>\n\t);\n}\n\nexport default createCustomElement('dps-component-detail', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DpsComponentDetail\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Component\n\t\t * @type {JSON}\n\t\t */\n\t\tcomponent: {},\n\t\t/**\n\t\t * Array of the component's parameters\n\t\t * @type {array}\n\t\t */\n\t\tcomponentProperties: [],\n\t\t/**\n\t\t * Array of the component's actions\n\t\t * @type {array}\n\t\t */\n\t\tcomponentActions: [],\n\t\t/**\n\t\t * Previous Component\n\t\t * @type {Object}\n\t\t */\n\t\tprev: {},\n\t\t/**\n\t\t * Next Component\n\t\t * @type {Object}\n\t\t */\n\t\tnext: {},\n\t\t/**\n\t\t * Indicates if user is external\n\t\t * @type {boolean}\n\t\t */\n\t\texternalUser: {\n\t\t\tdefault: true\n\t\t},\n\t\t/**\n\t\t * Array of sections\n\t\t * @type {array}\n\t\t */\n\t\tsections: {},\n\t\t/**\n\t\t * Indicates component detail type\n\t\t * @type {('usage'|'api')}\n\t\t */\n\t\tdetailType: {\n\t\t\tdefault: 'api'\n\t\t},\n\t\t/**\n\t\t * Indicates component metadata\n\t\t * @type {array}\n\t\t */\n\t\tmetadata: {},\n\t\t/**\n\t\t * Indicates release version\n\t\t * @type {string}\n\t\t */\n\t\tcarouselVisible: {\n\t\t\tdefault: true\n\t\t},\n\t\trelease: {\n\t\t\tdefault: ''\n\t\t},\n\t\thash: {\n\t\t\tdefault: ''\n\t\t},\n\t\tscrollSection: {\n\t\t\tdefault: ''\n\t\t},\n\t\tuserInfo: {},\n\t\tsystemProperties: {}\n\t},\n\tstyles,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: scrollSpyBehavior,\n\t\t\toptions: {\n\t\t\t\t// eslint-disable-next-line object-shorthand\n\t\t\t\trootMargin: () => {\n\t\t\t\t\tconst winH = window.innerHeight;\n\t\t\t\t\tconst topOffset = 250;\n\t\t\t\t\tconst bottomOffset = winH - (topOffset + 10);\n\n\t\t\t\t\treturn `-${topOffset}px 0px -${bottomOffset}px`;\n\t\t\t\t},\n\t\t\t\ttargetSelector: '.scroll-spy',\n\t\t\t\tthreshold: 0,\n\t\t\t\thandlesWindowResize: true\n\t\t\t}\n\t\t}\n\t],\n\t/* eslint-disable object-shorthand */\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({ action, updateProperties }) => {\n\t\t\tif (action.payload.name === 'component') {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tscrollSection: ''\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[SCROLL_SPY_ACTIONS.TARGET_ACTIVATED]: ({ action, updateProperties }) => {\n\t\t\tupdateProperties({\n\t\t\t\tscrollSection: action.payload.id\n\t\t\t});\n\t\t}\n\t}\n});\n","export const DPS_REFERENCE_PAGE_ACTIONS = {\n\tGET_DSE_ICONS: 'DPS_REFERENCE_PAGE#GET_DSE_ICONS',\n\tFETCH_DSE_ICONS: 'DPS_REFERENCE_PAGE#FETCH_DSE_ICONS',\n\tFETCH_DSE_ICONS_SUCCEEDED: 'DPS_REFERENCE_PAGE#FETCH_DSE_ICONS_SUCCEEDED',\n\tFETCH_DSE_ICONS_FAILED: 'DPS_REFERENCE_PAGE#FETCH_DSE_ICONS_FAILED',\n\tFETCH_SIDEBAR: 'DPS_REFERENCE_PAGE#FETCH_SIDEBAR',\n\tFETCH_SIDEBAR_SUCCESS: 'DPS_REFERENCE_PAGE#FETCH_SIDEBAR_SUCCESS',\n\tFETCH_SIDEBAR_ERROR: 'DPS_REFERENCE_PAGE#FETCH_SIDEBAR_ERROR',\n\tFETCH_COMPONENT_DETAIL: 'DPS_REFERENCE_PAGE#FETCH_COMPONENT_DETAIL',\n\tFETCH_COMPONENT_DETAIL_SUCCEEDED: 'DPS_REFERENCE_PAGE#FETCH_COMPONENT_DETAIL_SUCCEEDED',\n\tFETCH_COMPONENT_DETAIL_FAILED: 'DPS_REFERENCE_PAGE#FETCH_COMPONENT_DETAIL_FAILED',\n\tFETCH_BOOKMARKED_COMPONENT:'DPS_REFERENCE_PAGE#FETCH_BOOKMARKED_COMPONENT',\n\tERROR: 'DPS_REFERENCE_PAGE#ERROR',\n\tREDIRECT_TO_SIGN_IN_PAGE: 'DPS_REFERENCE_PAGE#REDIRECT_TO_SIGN_IN_PAGE'\n};\nexport default DPS_REFERENCE_PAGE_ACTIONS;","export const DPS_COMPONENT_DETAIL_TOC_ACTIONS = {\n\tLINK_CLICKED: 'DPS_COMPONENT_DETAIL_TOC#LINK_CLICKED'\n};","/* eslint-disable object-shorthand */\nimport scrollToElement from '../../../utils/scrollToElement';\nimport { DPS_REFERENCE_PAGE_ACTIONS } from '../actions';\nimport {DPS_COMPONENT_DETAIL_TOC_ACTIONS} from '../../../components/dps-component-detail-toc/actions';\nimport { DevPlatformStorage } from '../../../utils/storage';\nimport { updateRoute } from '../../../routes';\n\nexport default {\n\t/**\n\t * Listens for dps-component-detail-toc action - Scrolls to appropriate header\n\t * @type {{action: Object}}\n\t */\n\t[DPS_COMPONENT_DETAIL_TOC_ACTIONS.LINK_CLICKED]: ({action}) => {\n\t\tconst {event, jumpTo} = action.payload;\n\t\tevent.preventDefault();\n\t\tscrollToElement({\n\t\t\thostElement: window,\n\t\t\tselector: jumpTo,\n\t\t\tuseOffset: true,\n\t\t\tadditionalOffset: -100\n\t\t});\n\t},\n\t/**\n\t * Listens for dps-alert action - Update session storage\n\t * @type {{action: Object}}\n\t */\n\t['DPS_ALERT#DISMISS']: ({updateProperties}) => {\n\t\tDevPlatformStorage.saveToSessionStorage('DPS_ALERT_COMPONENT_DISMISSED', true);\n\t\tupdateProperties({ isAlertOpen: false });\n\t},\n\t/**\n\t * Listens for dps-alert action - Update session storage\n\t * @type {{action: Object}}\n\t */\n\t['DPS_ALERT#BOOTSTRAPPED']: ({updateProperties, properties}) => {\n\t\tconst {pdiVersion, release} = properties;\n\t\tconst isAlertDismissed = DevPlatformStorage.loadFromSessionStorage('DPS_ALERT_COMPONENT_DISMISSED');\n\t\tconst isPDIVersionReleaseMatched = pdiVersion.replace(' ', '') === release.replace(' ', '');\n\n\t\tif (isAlertDismissed) {\n\t\t\tupdateProperties({ isAlertOpen: false });\n\t\t} else {\n\t\t\tDevPlatformStorage.saveToSessionStorage('DPS_ALERT_COMPONENT_DISMISSED', false);\n\t\t\tupdateProperties({ isAlertOpen: true });\n\n\t\t\tif (isPDIVersionReleaseMatched) {\n\t\t\t\tDevPlatformStorage.saveToSessionStorage('DPS_ALERT_COMPONENT_DISMISSED', true);\n\t\t\t\tupdateProperties({ isAlertOpen: false });\n\t\t\t}\n\t\t}\n\t},\n\t/**\n\t * Listens for dps-button action - Redirects to documentation that matches\n\t * PDI Version\n\t * @type {{action: Object}}\n\t */\n\t['DPS_BUTTON#CLICKED']: ({action, dispatch, properties, updateProperties}) => {\n\t\t// Do not run if action is called from dps-alert action DPS_ALERT#DISMISS\n\t\tif (Object.keys(action.payload).length !== 0 && (action.payload).constructor === Object) {\n\t\t\tconst {pdiVersion} = action.payload;\n\t\t\tconst {component} = properties;\n\n\t\t\tupdateProperties({\n\t\t\t\trelease: pdiVersion\n\t\t\t});\n\n\t\t\tdispatch(DPS_REFERENCE_PAGE_ACTIONS.FETCH_COMPONENT_DETAIL, {\n\t\t\t\tcomponent,\n\t\t\t\trelease: pdiVersion\n\t\t\t});\n\n\t\t\t// Alert also changes site release\n\t\t\tdispatch('APP#RELEASE_VERSION_SELECTED', pdiVersion);\n\n\t\t\tupdateRoute(`/reference/next-experience/${pdiVersion}/now-components/${component}/api`);\n\n\t\t}\n\t}\n};\n","/* eslint-disable object-shorthand */\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-reference-page-api.scss';\nimport '../../../components/dps-template-two-column';\nimport '../../../components/dps-component-detail';\nimport '../../../components/dps-filter-nav';\nimport '../../../components/dps-error-page';\nimport '../../../components/dps-playground';\nimport { titleCase } from '../../../utils/case';\nimport { filterThemeVariables } from '../../../utils/helpers';\nimport actionHandlers from './actionHandlers';\nimport { CONSTANTS } from '../../../constants';\n\nconst {\n\tDEFAULTS: { AZURE_BASE_URL }\n} = CONSTANTS;\n\nconst view = state => {\n\t// TODO - Update with PDI Version, and toggle PDIAlert with session storage\n\tconst {\n\t\tproperties: {\n\t\t\tcomponentData: componentDetails,\n\t\t\trelease,\n\t\t\thash,\n\t\t\tuserInfo,\n\t\t\tcarouselVisible,\n\t\t\tsystemProperties,\n\t\t\tqueryParams\n\t\t}\n\t} = state;\n\n\tconst pdiVersion = userInfo.user_instance_release || '';\n\tconst isAlertOpen = pdiVersion.replace(' ', '') !== release.replace(' ', '');\n\n\tif (!componentDetails) {\n\t\t// Loading state\n\t\treturn null;\n\t}\n\n\tlet sections = Object.keys(componentDetails)\n\t\t.filter(\n\t\t\tkey =>\n\t\t\t\t![\n\t\t\t\t\t'name',\n\t\t\t\t\t'description',\n\t\t\t\t\t'summary',\n\t\t\t\t\t'anatomy',\n\t\t\t\t\t'types-and-usages',\n\t\t\t\t\t'behaviors',\n\t\t\t\t\t'usability',\n\t\t\t\t\t'usageToc',\n\t\t\t\t\t'contentReleases',\n\t\t\t\t\t'categories',\n\t\t\t\t\t'other_releases',\n\t\t\t\t\t'prototypeList',\n\t\t\t\t\t'other_releases_playground',\n\t\t\t\t\t'relatedComponents'\n\t\t\t\t].includes(key) &&\n\t\t\t\t// Filter out non-array keys\n\t\t\t\tArray.isArray(componentDetails[key]) &&\n\t\t\t\t// Filter out empty keys\n\t\t\t\tcomponentDetails[key].length > 0\n\t\t)\n\t\t.map(key => ({ label: titleCase(key), id: key }));\n\n\t// these need to be custom as they don't fit the above pattern;\n\t// the `componentDetails.package.theme` array is nested and not top-level.\n\tif (\n\t\tcomponentDetails.package.theme &&\n\t\tfilterThemeVariables(componentDetails.package.theme).length\n\t) {\n\t\tsections = sections.concat({\n\t\t\tlabel: 'Theme Variables',\n\t\t\tid: 'theme-variables'\n\t\t});\n\t}\n\n\tif (\n\t\tqueryParams.iconName &&\n\t\t['now-icon', 'now-legacy-icon'].includes(componentDetails.name)\n\t) {\n\t\t// send icon to playground\n\t}\n\n\treturn (\n\t\t<div>\n\t\t\t<dps-component-detail\n\t\t\t\tcomponent={componentDetails}\n\t\t\t\tcomponentProperties={componentDetails.properties}\n\t\t\t\tcomponentActions={componentDetails.actions}\n\t\t\t\tsections={sections}\n\t\t\t\tdetail-type={'api'}\n\t\t\t\texternal-user\n\t\t\t\tisAlertOpen={isAlertOpen}\n\t\t\t\trelease={release}\n\t\t\t\thash={hash}\n\t\t\t\tuserInfo={userInfo}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tcarouselVisible={carouselVisible}\n\t\t\t></dps-component-detail>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-reference-page-api', {\n\tactionHandlers,\n\tproperties: {\n\t\t/**\n\t\t * Component name from url\n\t\t * @type {string}\n\t\t */\n\t\tcomponentName: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Component data\n\t\t */\n\t\tcomponentData: {\n\t\t\tdefault: null\n\t\t},\n\t\tnextComponent: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Indicates personal developer instance (PDI) version\n\t\t * @type {string}\n\t\t */\n\t\tpdiVersion: {\n\t\t\tdefault: ''\n\t\t},\n\t\tpreviousComponent: {\n\t\t\tdefault: ''\n\t\t},\n\t\tcarouselVisible: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Release version from url\n\t\t * @type {string}\n\t\t */\n\t\trelease: {\n\t\t\tdefault: ''\n\t\t},\n\t\thash: {\n\t\t\tdefault: ''\n\t\t},\n\t\tuserInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tsystemProperties: {},\n\t\tqueryParams: {\n\t\t\tdefault: {}\n\t\t}\n\t},\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tstyles,\n\tview\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-reference-page-uibSetup.scss';\nimport { titleCase, dashCase } from '../../../utils/case';\nimport { wayfinder } from '../../../components/dps-wayfinder';\nimport { CONSTANTS } from '../../../constants';\nimport hljs from '../../../utils/hljs-pack';\nimport scrollSpyBehavior, {\n\tSCROLL_SPY_ACTIONS\n} from '../../../behaviors/scrollSpy';\n\nconst view = state => {\n\tconst { properties } = state;\n\tconst {\n\t\tcomponentData: {\n\t\t\tscr: { uibSetup },\n\t\t\tname\n\t\t},\n\t\tsystemProperties,\n\t\tuserInfo,\n\t\thash,\n\t\tscrollSection\n\t} = properties;\n\n\tconst { articleBody, sections: sectionList } = uibSetup;\n\n\tconst sections = sectionList\n\t\t? JSON.parse(sectionList).map(key => ({\n\t\t\t\tlabel: titleCase(key),\n\t\t\t\tid: dashCase(key)\n\t\t  }))\n\t\t: [];\n\tconst cleanHash = hash ? hash.replace('#', '') : '';\n\tconst titleName = name || CONSTANTS.DEFAULTS.FEEDBACK_CONTENT_TYPE_ARTICLE;\n\tconst { is_logged_in } = userInfo;\n\tlet currentSectionIndex = 0;\n\tsections.forEach(({ id }, index) => {\n\t\tif (id === cleanHash || id === scrollSection) {\n\t\t\tcurrentSectionIndex = index;\n\t\t}\n\t});\n\tconst highlightCode = elm =>\n\t\telm.querySelectorAll('pre code').forEach(block => {\n\t\t\thljs.highlightBlock(block);\n\t\t});\n\n\treturn (\n\t\t<div className=\"dps-component-uib-setup\">\n\t\t\t<aside>\n\t\t\t\t<div className=\"dps-component-sidebar\">\n\t\t\t\t\t{wayfinder(sections,  scrollSection || cleanHash)}\n\t\t\t\t</div>\n\t\t\t</aside>\n\t\t\t<article>\n\t\t\t\t<p className=\"dps-reference-page-uib-setup\"\n\t\t\t\t   innerHTML={articleBody}\n\t\t\t\t   hook-insert={({ elm }) => highlightCode(elm)}\n\t\t\t\t   hook-update={({ elm }) => highlightCode(elm)}></p>\n\t\t\t\t<div className=\"dps-component-container\">\n\t\t\t\t\t{is_logged_in ? (\n\t\t\t\t\t\t<dps-feedback\n\t\t\t\t\t\t\tcontentType={CONSTANTS.DEFAULTS.FEEDBACK_CONTENT_TYPE_ARTICLE}\n\t\t\t\t\t\t\ttitle={titleName}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<dps-feedback\n\t\t\t\t\t\t\tmessage={\n\t\t\t\t\t\t\t\tsystemProperties &&\n\t\t\t\t\t\t\t\tsystemProperties['dev.provide_feedback_text_guest_user']\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcontentType={CONSTANTS.DEFAULTS.FEEDBACK_CONTENT_TYPE_ARTICLE}\n\t\t\t\t\t\t\tlabel={CONSTANTS.DEFAULTS.FEEDBACK_SIGN_IN_BUTTON}\n\t\t\t\t\t\t\ttitle={titleName}\n\t\t\t\t\t\t\tisLoginRequired={!is_logged_in}\n\t\t\t\t\t\t></dps-feedback>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</article>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-reference-page-uib-setup', {\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: scrollSpyBehavior,\n\t\t\toptions: {\n\t\t\t\t// eslint-disable-next-line object-shorthand\n\t\t\t\trootMargin: () => {\n\t\t\t\t\tconst winH = window.innerHeight;\n\t\t\t\t\tconst bottomOffset = winH * 0.6 < 100 ? '150px' : '60%';\n\t\t\t\t\tconst topOffset = 0;\n\t\t\t\t\treturn `${topOffset}px 0px -${bottomOffset}`;\n\t\t\t\t},\n\t\t\t\ttargetSelector: 'h2',\n\t\t\t\tthreshold: 1\n\t\t\t}\n\t\t}\n\t],\n\tactionHandlers: {\n\t\t[SCROLL_SPY_ACTIONS.TARGET_ACTIVATED]: ({\n\t\t\taction,\n\t\t\tproperties,\n\t\t\tupdateProperties\n\t\t}) => {\n\t\t\tupdateProperties({\n\t\t\t\tscrollSection:\n\t\t\t\t\taction.payload.id !== 'component-title-h1'\n\t\t\t\t\t\t? action.payload.id\n\t\t\t\t\t\t: properties.scrollSection\n\t\t\t});\n\t\t}\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Component name from url\n\t\t * @type {string}\n\t\t */\n\t\tcomponentName: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Component data\n\t\t */\n\t\tcomponentData: {\n\t\t\tdefault: null\n\t\t},\n\t\tuserInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tsystemProperties: {\n\t\t\tdefault: {}\n\t\t},\n\t\thash: {\n\t\t\tdefault: ''\n\t\t},\n\t\tscrollSection: {\n\t\t\tdefault: ''\n\t\t}\n\t},\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tstyles,\n\tview\n});\n","/* eslint-disable object-shorthand */\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-reference-page-uibConfig.scss';\nimport '../../../components/dps-template-two-column';\nimport '../../../components/dps-component-detail';\nimport '../../../components/dps-filter-nav';\nimport '../../../components/dps-error-page';\nimport '../../../components/dps-playground';\nimport actionHandlers from '../dps-reference-page-api/actionHandlers';\n\nconst view = state => {\n\t// TODO - Update with PDI Version, and toggle PDIAlert with session storage\n\tconst {\n\t\tproperties: {\n\t\t\tcomponentData: componentDetails,\n\t\t\trelease,\n\t\t\thash,\n\t\t\tuserInfo,\n\t\t\tsystemProperties\n\t\t}\n\t} = state;\n\n\tconst pdiVersion = userInfo.user_instance_release || '';\n\tconst isAlertOpen = pdiVersion.replace(' ', '') !== release.replace(' ', '');\n\n\tif (!componentDetails) {\n\t\t// Loading state\n\t\treturn null;\n\t}\n\n\tconst uibConfigData = componentDetails.scr && componentDetails.scr.uibConfig;\n\n\tconst componentProperties = uibConfigData.uibConfigProperties || [];\n\tconst componentActions = uibConfigData.uibConfigActions || [];\n\n\t// Only sections that appear in UIB Config are Properties, Events (Actions), and Typedefs\n\tlet sections = [];\n\n\tif (componentProperties.length > 0) {\n\t\tsections.push({ label: 'Properties', id: 'properties' });\n\t}\n\t// Change the label to 'Events' for UIB Config page, but keep the id for the 'actions' section\n\tif (componentActions.length > 0) {\n\t\tsections.push({ label: 'Events', id: 'actions' });\n\t}\n\tif (componentDetails.typedefs && componentDetails.typedefs.length > 0) {\n\t\tsections.push({ label: 'Typedefs', id: 'typedefs' });\n\t}\n\n\treturn (\n\t\t<div className=\"dps-component-uib-config\">\n\t\t\t<dps-component-detail\n\t\t\t\tcomponent={componentDetails}\n\t\t\t\tcomponentProperties={componentProperties}\n\t\t\t\tcomponentActions={componentActions}\n\t\t\t\tsections={sections}\n\t\t\t\tdetail-type=\"uib-config\"\n\t\t\t\texternal-user\n\t\t\t\tisAlertOpen={isAlertOpen}\n\t\t\t\trelease={release}\n\t\t\t\thash={hash}\n\t\t\t\tuserInfo={userInfo}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tcarouselVisible={false}\n\t\t\t></dps-component-detail>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-reference-page-uib-config', {\n\tactionHandlers,\n\tproperties: {\n\t\t/**\n\t\t * Component name from url\n\t\t * @type {string}\n\t\t */\n\t\tcomponentName: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Component data\n\t\t */\n\t\tcomponentData: {\n\t\t\tdefault: null\n\t\t},\n\t\tnextComponent: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Indicates personal developer instance (PDI) version\n\t\t * @type {string}\n\t\t */\n\t\tpdiVersion: {\n\t\t\tdefault: ''\n\t\t},\n\t\tpreviousComponent: {\n\t\t\tdefault: ''\n\t\t},\n\t\tcarouselVisible: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Release version from url\n\t\t * @type {string}\n\t\t */\n\t\trelease: {\n\t\t\tdefault: ''\n\t\t},\n\t\thash: {\n\t\t\tdefault: ''\n\t\t},\n\t\tuserInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tsystemProperties: {},\n\t\tqueryParams: {\n\t\t\tdefault: {}\n\t\t}\n\t},\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tstyles,\n\tview\n});\n","export const DPS_COMPONENT_LIST_ACTIONS = {\n\tFETCH_COMPONENTS: 'DPS_COMPONENT_LIST#FETCH_COMPONENTS',\n\tFETCH_COMPONENTS_FAILED: 'DPS_COMPONENT_LIST#FETCH_COMPONENTS_FAILED',\n\tFETCH_COMPONENTS_SUCCEEDED: 'DPS_COMPONENT_LIST#FETCH_COMPONENTS_SUCCEEDED',\n\tFETCH_NAV: 'DPS_COMPONENT_LIST#FETCH_NAV',\n\tFETCH_NAV_FAILED: 'DPS_COMPONENT_LIST#FETCH_NAV_FAILED',\n\tFETCH_NAV_SUCCEEDED: 'DPS_COMPONENT_LIST#FETCH_NAV_SUCCEEDED',\n\tERROR: 'DPS_COMPONENT_LIST#ERROR'\n};\n","import { makeHttpEffectCreator } from '../../../../utils/helpers';\nimport { DPS_COMPONENT_LIST_ACTIONS } from '../actions';\nimport { replaceLatest } from '../../../../utils/url';\n\n// Using makeHttpEffectCreator to deal with boilerplate actions\n// for fetching navList\nconst fetchComponentsActions = makeHttpEffectCreator(\n\tDPS_COMPONENT_LIST_ACTIONS.FETCH_COMPONENTS,\n\t'/api/snc/components_library/components/:release',\n\t{\n\t\tpathParams: ['release'],\n\t\tqueryParams: ['filter', 'orderBy', 'pageRequested', 'pageSize', 'filterValues', 'sortDef'],\n\t\tonError(coeffects) {\n\t\t\tconst { dispatch, updateProperties, action } = coeffects;\n\t\t\tconst { data, status } = action.payload;\n\n\t\t\tupdateProperties({\n\t\t\t\tcurrentItems: [],\n\t\t\t\tdataFetched: true\n\t\t\t});\n\t\t\t// send error to dps-reference-page to handle\n\t\t\tdispatch(DPS_COMPONENT_LIST_ACTIONS.ERROR, {\n\t\t\t\terror: {\n\t\t\t\t\tlabel: 'library',\n\t\t\t\t\terrorMessage: data.error && data.error.message,\n\t\t\t\t\tstatus\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tonSuccess(coeffects) {\n\t\t\tconst { action, properties: { release }, updateProperties } = coeffects;\n\t\t\tconst {\n\t\t\t\tresult: { components, other_releases, release: newRelease, totalComponents }\n\t\t\t} = action.payload;\n\n\t\t\tif (release === 'latest') {\n\t\t\t\treplaceLatest(newRelease);\n\t\t\t}\n\n\t\t\tupdateProperties({\n\t\t\t\tcurrentItems: components,\n\t\t\t\ttotalComponents: totalComponents || components.length,\n\t\t\t\tdataFetched: true,\n\t\t\t\totherReleases: other_releases\n\t\t\t});\n\t\t}\n\t}\n);\n\nexport default fetchComponentsActions;\n","import { actionTypes } from '@servicenow/ui-core';\nimport { orderBy } from 'lodash';\nimport { DPS_LIBRARY_TABLE_ACTION } from '../../../../components/dps-library-table/dps-library-table';\nimport {\n\tDPS_FILTER_BAR_CHANGE_PER_PAGE,\n\tDPS_FILTER_BAR_UPDATE_FILTER,\n\tDPS_FILTER_BAR_VIEW\n} from '../../../../components/dps-filter-bar/actions';\nimport { hasUserInfoUpdated, searchArray } from '../../../../utils/helpers';\nimport { componentLibInactive } from '../../../../utils/releaseHelpers';\nimport {\n\tgenerateUpdatedQueryParams,\n\tgetLocationHash,\n\tgetQueryParamsfromHash\n} from '../../../../utils/url';\nimport { DPS_COMPONENT_LIST_ACTIONS } from '../actions';\nimport { CONSTANTS } from '../../../../constants';\nimport fetchComponentsActions from './fetchComponentsActions';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst filterItems = ({ filterList, sortDef, itemList }) => {\n\tlet filteredComponentList = itemList;\n\n\t// Filter out components if necessary\n\tif (filterList.length) {\n\t\tconst filterValues = filterList.map(filter => filter.value);\n\t\tfilteredComponentList = searchArray(itemList, filterValues, {\n\t\t\tkeys: ['name', 'summary']\n\t\t});\n\t}\n\n\t// sort component list\n\tconst iteratees = Object.keys(sortDef);\n\tconst orders = iteratees.map(iteratee => sortDef[iteratee]);\n\tfilteredComponentList = orderBy(\n\t\t[...filteredComponentList],\n\t\titeratees,\n\t\torders\n\t);\n\n\treturn filteredComponentList;\n};\n\nconst getfilterValues = filterList => filterList.map(filter=>filter.value).join(' ');\n\nexport default {\n\t...fetchComponentsActions,\n\t[COMPONENT_BOOTSTRAPPED](coeffects) {\n\t\tconst { updateProperties, properties } = coeffects;\n\t\t// check if we have any sorting or filtering on\n\t\tconst {\n\t\t\tfilter,\n\t\t\tperPage: perPageFromUrl,\n\t\t\tsortDef,\n\t\t\tgrid\n\t\t} = properties.queryParams;\n\n\t\tlet filterList = [];\n\t\tif (filter) {\n\t\t\tconst parsedFilterList = decodeURI(filter);\n\t\t\tfilterList =\n\t\t\t\t(parsedFilterList.length &&\n\t\t\t\t\tparsedFilterList.split(',').map(value => ({\n\t\t\t\t\t\tid: `matches-${value}`,\n\t\t\t\t\t\ttype: 'Matches',\n\t\t\t\t\t\tvalue\n\t\t\t\t\t}))) ||\n\t\t\t\t[];\n\t\t}\n\n\t\tconst initialSortDef = sortDef\n\t\t\t? JSON.parse(decodeURI(sortDef))\n\t\t\t: { name: 'asc' };\n\n\t\tlet initialProperties = {\n\t\t\tfilterList,\n\t\t\tperPage:\n\t\t\t\tparseInt(perPageFromUrl) || CONSTANTS.DEFAULTS.PER_PAGE_OPTIONS[0],\n\t\t\tsortDef: initialSortDef,\n\t\t\tdataFetched: false,\n\t\t};\n\n\t\tinitialProperties = {\n\t\t\t...initialProperties,\n\t\t\tshowGrid: grid !== 'list',\n\t\t\tshowList: grid === 'list'\n\t\t};\n\t\tupdateProperties(initialProperties);\n\t},\n\t[COMPONENT_PROPERTY_CHANGED](coeffects) {\n\t\tconst { action, dispatch, updateProperties } = coeffects;\n\t\tconst {\n\t\t\tpayload: { name, previousValue, value }\n\t\t} = action;\n\t\tconst userInfoUpdated = hasUserInfoUpdated({ name, value, previousValue });\n\t\tconst valuesToObserve = ['filterList', 'perPage'];\n\t\tconst isPrevSameAsNew = value === previousValue;\n\n\t\tif ((valuesToObserve.includes(name) && !isPrevSameAsNew) || userInfoUpdated) {\n\t\t\tdispatch('DPS_PAGINATION#PAGE_SET', {value: 1});\n\t\t}\n\n\t\tif (name === 'queryParams') {\n\t\t\tconst parsedFilterList = action.payload.value.filter && decodeURI(value.filter);\n\t\t\tconst filterList =\n\t\t\t\t(parsedFilterList && parsedFilterList.length &&\n\t\t\t\t\tparsedFilterList.split(',').map(value => ({\n\t\t\t\t\t\tid: `matches-${value}`,\n\t\t\t\t\t\ttype: 'Matches',\n\t\t\t\t\t\tvalue\n\t\t\t\t\t}))) ||\n\t\t\t\t[];\n\t\t\tupdateProperties({\n\t\t\t\tfilterList\n\t\t\t});\n\t\t}\n\t},\n\t// Handles change for the perPage options dropdown\n\t[DPS_FILTER_BAR_CHANGE_PER_PAGE](coeffects) {\n\t\tconst { action, dispatch, updateProperties } = coeffects;\n\t\tconst perPage = parseInt(action.payload.value);\n\n\t\tif (perPage) {\n\t\t\tdispatch('ROUTER_BEHAVIOR#ADD_QUERY_PARAMS', { perPage });\n\t\t} else {\n\t\t\tdispatch('ROUTER_BEHAVIOR#REMOVE_QUERY_PARAMS', ['perPage']);\n\t\t}\n\n\t\tupdateProperties({ perPage });\n\t},\n\t// Handles change to the filter\n\t[DPS_FILTER_BAR_UPDATE_FILTER](coeffects) {\n\t\tconst { action, dispatch, updateProperties } = coeffects;\n\t\tconst filterList = action.payload.value;\n\n\t\tconst filterValues = filterList\n\t\t\t.map(filter => filter.value)\n\t\t\t.filter(filterVal => filterVal !== '');\n\n\t\tif (filterValues.length) {\n\t\t\tdispatch('ROUTER_BEHAVIOR#ADD_QUERY_PARAMS', { filter: filterValues.join(',') });\n\t\t} else {\n\t\t\tdispatch('ROUTER_BEHAVIOR#REMOVE_QUERY_PARAMS', ['filter']);\n\t\t}\n\t},\n\t[DPS_FILTER_BAR_VIEW](coeffects) {\n\t\tconst {\n\t\t\taction: { payload },\n\t\t\tdispatch,\n\t\t\tupdateProperties\n\t\t} = coeffects;\n\n\t\tif (payload.value !== 'grid') {\n\t\t\tdispatch('ROUTER_BEHAVIOR#ADD_QUERY_PARAMS', { grid: payload.value });\n\t\t} else {\n\t\t\tdispatch('ROUTER_BEHAVIOR#REMOVE_QUERY_PARAMS', ['grid']);\n\t\t}\n\n\t\tif (payload.value === 'grid') {\n\t\t\tupdateProperties({ showGrid: true, showList: false });\n\t\t} else {\n\t\t\tupdateProperties({ showList: true, showGrid: false });\n\t\t}\n\t},\n\t['DPS_PAGINATION#PAGE_SET']: ({dispatch, properties, action, updateProperties }) => {\n\t\tconst { release, perPage: pageSize, filterList, sortDef } = properties;\n\t\tconst pageRequested = action.payload.value;\n\t\twindow.scrollTo({ left: 0, top: 0, behavior: 'smooth' });\n\t\tconst filterValues = getfilterValues(filterList);\n\n\t\tdispatch(DPS_COMPONENT_LIST_ACTIONS.FETCH_COMPONENTS, { release, pageRequested, pageSize, filterValues, sortDef });\n\t\tupdateProperties({\n\t\t\tpage: pageRequested,\n\t\t\tdataFetched: false,\n\t\t});\n\t},\n\t['DPS_PAGINATION#PREV_PAGE']: ({ dispatch, properties }) => {\n\t\tdispatch('DPS_PAGINATION#PAGE_SET', {value: properties.page - 1});\n\t},\n\t['DPS_PAGINATION#NEXT_PAGE']: ({ dispatch, properties }) => {\n\t\tdispatch('DPS_PAGINATION#PAGE_SET', {value: properties.page + 1});\n\t},\n\t[DPS_LIBRARY_TABLE_ACTION.SORT](coeffects) {\n\t\tconst { action, dispatch, state, updateProperties } = coeffects;\n\t\tconst {\n\t\t\tproperties: { sortDef }\n\t\t} = state;\n\t\tconst {\n\t\t\tpayload: { sortBy, sortOrder }\n\t\t} = action;\n\t\tconst newSortDef = {\n\t\t\t...sortDef,\n\t\t\t[sortBy]: sortOrder\n\t\t};\n\n\t\tif (newSortDef !== { name: 'asc' }) {\n\t\t\tdispatch('ROUTER_BEHAVIOR#ADD_QUERY_PARAMS', { sortDef: JSON.stringify(newSortDef) });\n\t\t} else {\n\t\t\tdispatch('ROUTER_BEHAVIOR#REMOVE_QUERY_PARAMS', ['sortDef']);\n\t\t}\n\t\tupdateProperties({\n\t\t\tsortDef: { ...newSortDef }\n\t\t});\n\t}\n};\n","import '../../../components/dps-card-container';\nimport '../../../components/dps-template-two-column';\nimport '../../../components/dps-filter-bar';\nimport '../../../components/dps-library-table';\nimport '../../../components/dps-link';\nimport '../../../components/dps-page-header';\nimport '../../../components/dps-pagination';\nimport '../../../components/dps-spinner';\nimport '../../../components/dps-overview-feedback';\nimport '../../../components/dps-scr-notice';\n\nimport { CONSTANTS } from '../../../constants';\nimport Colors from '../../../styles/global/colors';\nimport { grid, list } from '../../../icons';\nimport HeaderBg from '../../../images/background-components.svg';\nimport { titleCase } from '../../../utils/case/titleCase';\nimport { isEmployee, userInfoPopulated } from '../../../utils/helpers';\nimport { createPath, queryParamsToStr } from '../../../utils/url';\nimport { getFormattedInstanceReleaseInfo } from '../../../utils/releaseHelpers';\n\nconst _renderGrid = ({ data, release, userInfo }) => (\n\t<dps-card-container columns=\"4\">\n\t\t{data.map(d => {\n\t\t\tconst { name, summary, has_usage, type, library } = d;\n\n\t\t\treturn (\n\t\t\t\t<dps-component-gallery-card\n\t\t\t\t\tcomponent={\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfriendly_name: name,\n\t\t\t\t\t\t\tcomponent_name: name,\n\t\t\t\t\t\t\tinternal: type && type.toLowerCase() === 'internal',\n\t\t\t\t\t\t\tdescription: summary,\n\t\t\t\t\t\t\tapi: createPath(\n\t\t\t\t\t\t\t\t`/reference/next-experience/${release}/${library}/${name}/api`\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tusage: has_usage && createPath(\n\t\t\t\t\t\t\t\t`/reference/next-experience/${release}/${library}/${name}/usage`\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\trelease={release}\n\t\t\t\t\tuser-info={userInfo}\n\t\t\t\t\tkey={`${name}--${release}`}\n\t\t\t\t></dps-component-gallery-card>\n\t\t\t);\n\t\t})}\n\t</dps-card-container>\n);\n\nconst _renderList = ({ data, release, sortDef }) => {\n\t// Remove meta info and columns we manually create\n\tconst columnBlackList = ['title', 'has_usage', 'name', 'summary', 'type'];\n\tconst columns = Object.keys(data[0]).filter(\n\t\tcolumn => !columnBlackList.includes(column)\n\t);\n\n\tconst dynamicColumnDefs = columns.map(column => ({\n\t\tlabel: titleCase(column),\n\t\tslug: column,\n\t\tsize: '200px'\n\t}));\n\n\tconst rowData = data.map(d => [\n\t\t<span>\n\t\t\t{d.type && d.type.toLowerCase() === 'internal' ? (\n\t\t\t\t<dps-badge\n\t\t\t\t\tclassName=\"offset-badge\"\n\t\t\t\t\tvariant=\"servicenow\"\n\t\t\t\t\tcollapsed={true}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t</span>,\n\t\t<dps-link\n\t\t\thref={`/reference/next-experience/${release}/${d.library}/${d.name}/api`}\n\t\t>\n\t\t\t{d.name}\n\t\t</dps-link>,\n\t\t...columns.map(column => d[column]),\n\t\td.summary\n\t]);\n\n\treturn (\n\t\t<dps-library-table\n\t\t\tcolumnDef={[\n\t\t\t\t{\n\t\t\t\t\tlabel: '',\n\t\t\t\t\tslug: 'blank',\n\t\t\t\t\tsize: '32px'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Component',\n\t\t\t\t\tslug: 'name',\n\t\t\t\t\tsize: '200px'\n\t\t\t\t},\n\t\t\t\t...dynamicColumnDefs,\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Description',\n\t\t\t\t\tslug: 'summary',\n\t\t\t\t\tsize: '1fr'\n\t\t\t\t}\n\t\t\t]}\n\t\t\tsortDef={sortDef}\n\t\t\trowData={rowData}\n\t\t></dps-library-table>\n\t);\n};\n\nconst view = state => {\n\tconst {\n\t\tproperties: {\n\t\t\tcurrentItems,\n\t\t\tdataFetched,\n\t\t\tfilterList,\n\t\t\tinstanceInfo,\n\t\t\totherReleases: other_releases,\n\t\t\tpage,\n\t\t\tperPage,\n\t\t\tqueryParams,\n\t\t\tpathname,\n\t\t\tredirectedFromNonComponentRelease,\n\t\t\trelease,\n\t\t\treleaseInfo,\n\t\t\tshowGrid,\n\t\t\tshowList,\n\t\t\tsortDef,\n\t\t\tsystemProperties,\n\t\t\tuserInfo,\n\t\t\tversionMismatch,\n\t\t\ttotalComponents\n\t\t}\n\t} = state;\n\n\tconst filterBarProps = {\n\t\tperPageOptions: CONSTANTS.DEFAULTS.PER_PAGE_OPTIONS,\n\t\tviewItems: [\n\t\t\t{\n\t\t\t\tid: 'grid',\n\t\t\t\tlabel: 'Grid',\n\t\t\t\ticon: grid,\n\t\t\t\tactive: showGrid\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'list',\n\t\t\t\tlabel: 'List',\n\t\t\t\ticon: list,\n\t\t\t\tactive: showList\n\t\t\t}\n\t\t]\n\t};\n\n\tconst totalPages = Math.ceil(totalComponents / parseInt(perPage));\n\tconst instanceRelease = getFormattedInstanceReleaseInfo(instanceInfo);\n\tconst isSNEmployee = userInfoPopulated(userInfo) && isEmployee(userInfo);\n\tconst queryParamsStr = queryParamsToStr(queryParams);\n\tconst otherReleases = other_releases\n\t\t.filter(otherRelease =>\n\t\t\totherRelease.internal || otherRelease.early_access ? isSNEmployee : true\n\t\t)\n\t\t.map(otherRelease => ({\n\t\t\t...otherRelease,\n\t\t\turl: `${otherRelease.url}${queryParamsStr}`\n\t\t}));\n\n\tlet renderedItems = <p>No components found.</p>;\n\n\tif (currentItems.length) {\n\t\tif (showGrid) {\n\t\t\trenderedItems = _renderGrid({\n\t\t\t\tdata: currentItems,\n\t\t\t\trelease,\n\t\t\t\tuserInfo\n\t\t\t});\n\t\t} else if (showList) {\n\t\t\trenderedItems = _renderList({\n\t\t\t\tdata: currentItems,\n\t\t\t\trelease,\n\t\t\t\tshowList,\n\t\t\t\tsortDef\n\t\t\t});\n\t\t}\n\t}\n\n\treturn (\n\t\t<div className=\"dps-reference-page-list\">\n\t\t\t<dps-page-header\n\t\t\t\tpage-title=\"Now<sup>&reg;</sup> Experience Components\"\n\t\t\t\tsub-title=\"Building blocks for creating a user interface on Now Platform<sup>&reg;</sup>. New components are being added with every release.\"\n\t\t\t\tbackground-image={HeaderBg}\n\t\t\t\tbackground-color={Colors.componentBackgroundColor}\n\t\t\t\tbackground-size=\"auto 90%\"\n\t\t\t\tbackground-position=\"right 10px bottom -10px\"\n\t\t\t\tvariant=\"two-column\"\n\t\t\t\tshow-version-selector\n\t\t\t\tpathname={pathname}\n\t\t\t\tother-releases={otherReleases}\n\t\t\t\tselected-release={release}\n\t\t\t\tinstance-release={instanceRelease}\n\t\t\t/>\n\t\t\t<dps-version-switcher\n\t\t\t\tredirectedFromNonComponentRelease={redirectedFromNonComponentRelease}\n\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\trouteParamsRelease={release}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tuserInfo={userInfo}\n\t\t\t\tversionMismatch={versionMismatch}\n\t\t\t></dps-version-switcher>\n\n\t\t\t<div className=\"dps-reference-page-list-content\">\n\t\t\t\t<dps-filter-bar\n\t\t\t\t\tview-items={filterBarProps.viewItems}\n\t\t\t\t\tfilter-list={filterList}\n\t\t\t\t\ttype=\"Components\"\n\t\t\t\t\tper-page={perPage}\n\t\t\t\t\tper-page-options={filterBarProps.perPageOptions}\n\t\t\t\t></dps-filter-bar>\n\n\t\t\t\t{dataFetched ? renderedItems : <dps-spinner />}\n\n\t\t\t\t<dps-pagination\n\t\t\t\t\tactive-item={page > totalPages ? 1 : page}\n\t\t\t\t\ttotal-items={totalPages}\n\t\t\t\t></dps-pagination>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { CONSTANTS } from '../../../constants';\n\nimport actionHandlers from './actionHandlers/index';\nimport styles from './styles.scss';\nimport view from './view';\n\nconst properties = {\n\tcurrentItems: {\n\t\tdefault: []\n\t},\n\tdataFetched: {\n\t\tdefault: false\n\t},\n\tfilterList: {\n\t\tdefault: []\n\t},\n\tinstanceInfo: {\n\t\tdefault: {}\n\t},\n\titemList: {\n\t\tdefault: []\n\t},\n\tnavList: {\n\t\tdefault: {}\n\t},\n\totherReleases: {\n\t\tdefault: []\n\t},\n\tpage: {\n\t\tdefault: 1\n\t},\n\tpathname: {\n\t\tdefault: ''\n\t},\n\tperPage: {\n\t\tdefault: CONSTANTS.DEFAULTS.PER_PAGE_OPTIONS[0]\n\t},\n\tqueryParams: {\n\t\tdefault: {\n\t\t}\n\t},\n\tredirectedFromNonComponentRelease: {\n\t\tdefault: false\n\t},\n\treferenceType: {\n\t\tdefault: ''\n\t},\n\trelease: {\n\t\tdefault: ''\n\t},\n\treleaseInfo: {\n\t\tdefault: {}\n\t},\n\trouteString: {\n\t\tdefault: ''\n\t},\n\tshowGrid: {\n\t\tdefault: true\n\t},\n\tshowList: {\n\t\tdefault: false\n\t},\n\tsortDef: {\n\t\tdefault: {\n\t\t\tname: 'asc'\n\t\t}\n\t},\n\tsystemProperties: {\n\t\tdefault: {}\n\t},\n\ttotalComponents: {\n\t\tdefault: 0\n\t},\n\tuserInfo: {\n\t\tdefault: {}\n\t},\n\tversionMismatch: {\n\t\tdefault: true\n\t},\n\terrors: {\n\t\tdefault: null\n\t}\n};\n\nexport default createCustomElement('dps-reference-page-list', {\n\tactionHandlers,\n\tproperties,\n\trenderer: { type: snabbdom },\n\tstyles,\n\tview\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-reference-page-usage.scss';\nimport '../../../components/dps-template-two-column';\nimport '../../../components/dps-component-detail';\nimport '../../../components/dps-filter-nav';\nimport '../../../components/dps-sticky-nav';\nimport '../../../components/dps-image';\nimport { CONSTANTS } from '../../../constants';\nimport marked from '../../../utils/marked-with-hljs';\nimport { titleCase, dashCase } from '../../../utils/case';\nimport scrollSpyBehavior, { SCROLL_SPY_ACTIONS } from '../../../behaviors/scrollSpy';\nimport { createPath } from '../../../utils/url';\nimport { wayfinder } from '../../../components/dps-wayfinder';\n\nconst view = ({ properties }) => {\n\tconst {\n\t\tcomponent,\n\t\tcontent,\n\t\trelease,\n\t\thash,\n\t\tprev,\n\t\tnext,\n\t\tscrollSection,\n\t\tuserInfo,\n\t\tsystemProperties\n\t} = properties;\n\n\tconst cleanHash = hash ? hash.replace('#', '') : '';\n\tconst { name } = component;\n\tconst titleName = name || CONSTANTS.DEFAULTS.FEEDBACK_CONTENT_TYPE_ARTICLE;\n\n\tconst sections = component.usageToc.map(key => ({ label: titleCase(key), id: dashCase(key) }));\n\n\tconst {is_logged_in} = userInfo;\n\n\tlet currentSectionIndex = 0;\n\tsections.forEach(({id}, index) => {\n\t\tif (id === cleanHash || id === scrollSection) {\n\t\t\tcurrentSectionIndex = index;\n\t\t}\n\t});\n\n\treturn (\n\t\t<div className=\"dps-component-usage\">\n\t\t\t<aside>\n\t\t\t\t<div className=\"dps-component-sidebar\">\n\t\t\t\t\t{wayfinder(sections, scrollSection || cleanHash)}\n\t\t\t\t</div>\n\t\t\t</aside>\n\t\t\t<article className=\"dps-component-container\">\n\t\t\t\t<div className=\"dps-reference-page-usage\" innerHTML={marked(content)} />\n\t\t\t\t<div className=\"dps-component-container\">\n\t\t\t\t\t{\n\t\t\t\t\t\tis_logged_in ? (\n\t\t\t\t\t\t\t<dps-feedback contentType={CONSTANTS.DEFAULTS.FEEDBACK_CONTENT_TYPE_ARTICLE} title = {titleName}/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<dps-feedback\n\t\t\t\t\t\t\t\tmessage={\n\t\t\t\t\t\t\t\t\tsystemProperties &&\n\t\t\t\t\t\t\t\t\tsystemProperties['dev.provide_feedback_text_guest_user']\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcontentType={CONSTANTS.DEFAULTS.FEEDBACK_CONTENT_TYPE_ARTICLE}\n\t\t\t\t\t\t\t\tlabel={CONSTANTS.DEFAULTS.FEEDBACK_SIGN_IN_BUTTON}\n\t\t\t\t\t\t\t\ttitle = {titleName}\n\t\t\t\t\t\t\t\tisLoginRequired={!is_logged_in}\n\t\t\t\t\t\t\t></dps-feedback>\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t</article>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-reference-page-usage', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\t/**\n\t\t * Markdown content\n\t\t * @type {string}\n\t\t */\n\t\tcontent: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Component\n\t\t * @type {JSON}\n\t\t */\n\t\tcomponent: {},\n\t\t/**\n\t\t * Indicates if user is external\n\t\t * @type {boolean}\n\t\t */\n\t\texternalUser: {\n\t\t\tdefault: true\n\t\t},\n\t\t/**\n\t\t * Array of sections\n\t\t * @type {array}\n\t\t */\n\t\tsections: {},\n\t\t/**\n\t\t * Indicates component metadata\n\t\t * @type {array}\n\t\t */\n\t\tmetadata: {},\n\t\t/**\n\t\t * Indicates release version\n\t\t * @type {string}\n\t\t */\n\t\trelease: {\n\t\t\tdefault: ''\n\t\t},\n\t\thash: {\n\t\t\tdefault: ''\n\t\t},\n\t\tpreviousComponent: {},\n\t\tnextComponent: {},\n\t\tprev: {\n\t\t\tcomputed({properties: {previousComponent}}) {\n\t\t\t\treturn previousComponent\n\t\t\t\t\t? {\n\t\t\t\t\t\tlabel: 'Previous Component',\n\t\t\t\t\t\tnavItemId: `${previousComponent}/api`,\n\t\t\t\t\t\tdescription: titleCase(previousComponent.replace(/^now-/, ''))\n\t\t\t\t\t}\n\t\t\t\t\t: null;\n\t\t\t}\n\t\t},\n\t\tnext: {\n\t\t\tcomputed({properties: {nextComponent}}) {\n\t\t\t\treturn nextComponent\n\t\t\t\t\t? {\n\t\t\t\t\t\tlabel: 'next Component',\n\t\t\t\t\t\tnavItemId: `${nextComponent}/api`,\n\t\t\t\t\t\tdescription: titleCase(nextComponent.replace(/^now-/, ''))\n\t\t\t\t\t}\n\t\t\t\t\t: null;\n\t\t\t}\n\t\t},\n\t\tscrollSection: {\n\t\t\tdefault: ''\n\t\t},\n\t\tuserInfo: {},\n\t\tsystemProperties: {}\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: scrollSpyBehavior,\n\t\t\toptions: {\n\t\t\t\t// eslint-disable-next-line object-shorthand\n\t\t\t\trootMargin: () => {\n\t\t\t\t\tconst winH = window.innerHeight;\n\t\t\t\t\tconst bottomOffset = winH * 0.6 < 100 ? '150px' : '60%';\n\t\t\t\t\tconst topOffset = 0;\n\t\t\t\t\treturn `${topOffset}px 0px -${bottomOffset}`;\n\t\t\t\t},\n\t\t\t\ttargetSelector: 'h2',\n\t\t\t\tthreshold: 1\n\t\t\t}\n\t\t}\n\t],\n\t/* eslint-disable object-shorthand */\n\tactionHandlers: {\n\t\t[SCROLL_SPY_ACTIONS.TARGET_ACTIVATED]: ({action, properties, updateProperties}) => {\n\t\t\tupdateProperties({\n\t\t\t\tscrollSection: action.payload.id !== 'component-title-h1' ? action.payload.id : properties.scrollSection\n\t\t\t});\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-component-details-block.scss';\nimport { getComponentGithubUrl, getDevAssignmentGroupUrl } from '../../utils/url';\nimport { makeElementTypeLabelDistinct } from '../../utils/helpers';\n\nconst view = (state) => {\n\tconst { componentDetails } = state.properties;\n\tconst {package: componentPackage, scr} = componentDetails;\n\tconst releaseSlug = componentPackage && componentPackage.meta ? componentPackage.meta.releaseSlug : null;\n\tconst gheUrlRegexp = new RegExp(/http?s\\:\\/\\/code\\.devsnc\\.com\\//); // root of the GitHub Enterprise URL\n\n\tconst detailsData = scr && [\n\t\t{\n\t\t\ttitle: \"GitHub\",\n\t\t\turl: getComponentGithubUrl(scr.github_repo, scr.github_branch, releaseSlug),\n\t\t\ttext: scr.github_repo\n\t\t},\n\t\t{\n\t\t\ttitle: \"Dev Assignment Group\",\n\t\t\turl: getDevAssignmentGroupUrl(scr.owning_team_sys_id),\n\t\t\ttext: scr.owning_team_name\n\t\t},\n\t\t{\n\t\t\ttitle: \"Version\",\n\t\t\ttext: scr.version\n\t\t},\n\t\t{\n\t\t\ttitle: \"Component Purpose\",\n\t\t\ttext: scr.component_purpose\n\t\t},\n\t\t{\n\t\t\ttitle: \"Availablility\",\n\t\t\ttext: scr.availability\n\t\t},\n\t\t{\n\t\t\ttitle: \"Element Type\",\n\t\t\ttext: makeElementTypeLabelDistinct(scr.element_type || '')\n\t\t},\n\t];\n\n\treturn (\n\t\t<div className=\"dps-component-details-block\">\n\t\t\t<h2>Component Details <dps-badge size=\"sm\" variant=\"servicenow\" alwaysCollapsed tooltip=\"ServiceNow Confidential\" bare={true} iconColor=\"#63DF4E\" /></h2>\n\t\t\t<div className=\"component-details-grid\">\n\t\t\t\t{detailsData.map(({ text, url, title }) =>\n\t\t\t\t\ttext ? (<div className=\"component-detail\">\n\t\t\t\t\t\t<h4>{title}</h4>\n\t\t\t\t\t\t{url ? (\n\t\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\texternalAction\n\t\t\t\t\t\t\t\thref={url}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{/* removes `https://code.devsnc.com/` from beginning of display value if present */}\n\t\t\t\t\t\t\t\t{text.replace(gheUrlRegexp, '')}\n\t\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<span>{text}</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>):\n\t\t\t\t\tnull\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nexport default createCustomElement('dps-component-details-block', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\tcomponentDetails: {\n\t\t\tdefault: {}\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-related-components.scss';\nimport { actionTypes } from '@servicenow/ui-core';\nconst { COMPONENT_BOOTSTRAPPED } = actionTypes;\n\n\nconst view = (state) => {\n\tconst { relatedComponents, componentName, userInfo, release } = state.properties;\n\n\treturn (\n\t\trelatedComponents.length ? (\n\t\t\t<div className=\"related-components\">\n\t\t\t\t<h2 className=\"related-components-header\">Related Components</h2>\n\t\t\t\t<div>Explore other components related to {componentName}:</div>\n\t\t\t\t<div className=\"related-components-grid\">\n\t\t\t\t\t{relatedComponents.map((component) => {\n\n\t\t\t\t\t\t// The gallery card expects that the component object\n\t\t\t\t\t\t// has a `display_name` property. Related components don't have it.\n\t\t\t\t\t\tcomponent.display_name = component.friendly_name || component.name;\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<dps-component-gallery-card-v3\n\t\t\t\t\t\t\t\t\tcomponent={component}\n\t\t\t\t\t\t\t\t\tuser-info={userInfo}\n\t\t\t\t\t\t\t\t\tquery=''\n\t\t\t\t\t\t\t\t\trelease={release}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t) : null\n\t);\n}\n\nexport default createCustomElement('dps-related-components', {\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]() {\n\n\t\t\t// This observer needs to be registered in whatever\n\t\t\t// component is the parent of the gallery cards.\n\t\t\t// It needs to be the topmost parent if gallery cards\n\t\t\t// are used in multiple places on the same page.\n\t\t\twindow.__COMPONENT_SEARCH_CARD_OBSERVER = new IntersectionObserver(entries => {\n\t\t\t\tentries.forEach(galleryCard => {\n\t\t\t\t\tif(galleryCard.isIntersecting === true) {\n\t\t\t\t\t\tgalleryCard.target.inViewport = true;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}, {\n\t\t\t\troot: null,\n\t\t\t\trootMargin: '115% 0px 115% 0px',\n\t\t\t\tthreshold: 1.0\n\t\t\t});\n\t\t}\n\t},\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\trelatedComponents: {\n\t\t\tdefault: []\n\t\t},\n\t\tcomponentName: {\n\t\t\tdefault: ''\n\t\t},\n\t\tuserInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\trelease: {\n\t\t\tdefault: ''\n\t\t}\n\t},\n\tstyles\n});\n","import { SCROLL_SPY_ACTIONS } from '../../../behaviors/scrollSpy';\nimport { actionTypes } from '@servicenow/ui-core';\n\nconst { COMPONENT_PROPERTY_CHANGED, COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nexport default {\n\t[COMPONENT_PROPERTY_CHANGED]: ({ action, updateProperties }) => {\n\t\tif (action.payload.name === 'component') {\n\t\t\tupdateProperties({\n\t\t\t\tscrollSection: 'overviewAnchor'\n\t\t\t});\n\t\t}\n\t},\n\t[SCROLL_SPY_ACTIONS.TARGET_ACTIVATED]: ({ action, updateProperties }) => {\n\t\tupdateProperties({\n\t\t\tscrollSection: action.payload.id\n\t\t});\n\t}\n};\n","import CopyIcon from '../../../images/icons/copy-2.svg';\n\nexport const copyPackage = ({copyCommand, packageName}) => {\n\tconst copyText = `${copyCommand} ${packageName}`;\n\n\treturn (\n\t\t<div className=\"install-box\">\n\t\t\t<div className=\"install-box-command\">\n\t\t\t\t<h4>Available in NPM</h4>\n\t\t\t\t<span>{copyText}</span>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n","/* eslint-disable object-shorthand */\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-reference-page-overview.scss';\nimport '../../../components/dps-image';\nimport '../../../components/dps-link';\nimport '../../../components/dps-badge';\nimport '../../../components/dps-component-gallery-card-v3';\nimport '../../../components/dps-component-details-block';\nimport '../../../components/dps-related-components';\nimport actionHandlers from './actionHandlers';\nimport { copyPackage } from './copyPackage';\nimport scrollSpyBehavior from '../../../behaviors/scrollSpy';\nimport { isEmployee } from '../../../utils/helpers';\nimport { transformReleaseName } from '../../../utils/transformReleaseName';\nimport '../../../components/dps-visuals-carousel';\nimport { titleCase } from '../../../utils/case/titleCase';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../../../components/dps-component-detail-header';\nimport '../../dps-version-switcher';\n\nconst createDesignTable = designData => {\n\tlet designRows = [],\n\t\trow,\n\t\tbt1Link;\n\n\tfor (let i = 0; i < designData.length; i++) {\n\t\trow = designData[i];\n\t\tbt1Link = `https://buildtools1.service-now.com/nav_to.do?uri=x_snc_design_design_artifacts.do?sys_id=${row.sys_id}%26sysparm_view=design`;\n\t\tlet lastGroup = i === designData.length - 1;\n\t\tdesignRows.push(\n\t\t\t<div class={{\n\t\t\t\t\t'artifact-table-body': true,\n\t\t\t\t\t'-last-row': lastGroup\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"artifact-table-internalHeaders\">Type</div>\n\t\t\t\t{row.url ? (\n\t\t\t\t\t<dps-link target=\"_blank\" href={row.url} externalAction>\n\t\t\t\t\t\t{row.type}\n\t\t\t\t\t</dps-link>\n\t\t\t\t) : (\n\t\t\t\t\t<div>{row.type}</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t\tdesignRows.push(\n\t\t\t<div class={{\n\t\t\t\t\t'artifact-table-body': true,\n\t\t\t\t\t'-last-row': lastGroup\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"artifact-table-internalHeaders\">Short Description</div>\n\t\t\t\t<div>{row.short_description || \"No description provided\"}</div>\n\t\t\t</div>\n\t\t);\n\t\tdesignRows.push(\n\t\t\t<div class={{\n\t\t\t\t\t'artifact-table-body': true,\n\t\t\t\t\t'-last-column': true,\n\t\t\t\t\t'-last-row': lastGroup\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"artifact-table-internalHeaders\">Artifact Record</div>\n\t\t\t\t<dps-link target=\"_blank\" href={bt1Link} externalAction>\n\t\t\t\t\t{row.number}\n\t\t\t\t</dps-link>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className=\"artifact-table -three-col\">\n\t\t\t<div className=\"artifact-table-header left\">Type</div>\n\t\t\t<div className=\"artifact-table-header\">Short Description</div>\n\t\t\t<div className=\"artifact-table-header -last-column right\">Artifact Record</div>\n\t\t\t{designRows}\n\t\t</div>\n\t);\n};\n\nconst createEpicsTable = epics => {\n\tlet outputRows = [], row, epicURL;\n\tlet allowedStates = [\"draft\", \"ready\", \"work in progress\", \"ready for acceptance\"];\n\n\tconst filteredEpics = epics.filter(epic => allowedStates.includes(epic.state.toLowerCase()));\n\n\tfor(let i=0;i<filteredEpics.length;i++) {\n\t\trow = filteredEpics[i];\n\t\tlet lastGroup = i === filteredEpics.length - 1;\n\n\t\tepicURL = `https://buildtools1.service-now.com/rm_epic.do?sys_id=${row.sys_id}`;\n\t\toutputRows.push(\n\t\t\t<div class={{\n\t\t\t\t\t'artifact-table-body': true,\n\t\t\t\t\t'-last-row': lastGroup\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"artifact-table-internalHeaders\">Epic #</div>\n\t\t\t\t<dps-link target=\"_blank\" href={epicURL} externalAction>{row.number}</dps-link>\n\t\t\t</div>)\n\t\toutputRows.push(\n\t\t\t<div class={{\n\t\t\t\t\t'artifact-table-body': true,\n\t\t\t\t\t'-last-row': lastGroup\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"artifact-table-internalHeaders\">Short Description</div>\n\t\t\t\t<div>{row.short_description || \"No description provided\"}</div>\n\t\t\t</div>)\n\t\toutputRows.push(\n\t\t\t<div class={{\n\t\t\t\t\t'artifact-table-body': true,\n\t\t\t\t\t'-last-row': lastGroup\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"artifact-table-internalHeaders\">Theme</div>\n\t\t\t\t<div>{row.theme_name || \"-\"}</div>\n\t\t\t</div>)\n\t\toutputRows.push(\n\t\t\t<div class={{\n\t\t\t\t\t'artifact-table-body': true,\n\t\t\t\t\t'-last-column': true,\n\t\t\t\t\t'-last-row': lastGroup\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"artifact-table-internalHeaders\">State</div>\n\t\t\t\t<div>{row.state || \"-\"}</div>\n\t\t\t</div>)\n\t}\n\n\treturn (\n\t<div className=\"artifact-table -four-col\">\n\t\t<div className=\"artifact-table-header left\">Epic #</div>\n\t\t<div className=\"artifact-table-header\">Short Description</div>\n\t\t<div className=\"artifact-table-header\">Theme</div>\n\t\t<div className=\"artifact-table-header -last-column right\">State</div>\n\t\t{outputRows}\n\t</div>\n\t)\n};\n\nconst view = state => {\n\tconst {\n\t\tproperties: {\n\t\t\tcomponentData: componentDetails,\n\t\t\tcomponentName,\n\t\t\thash,\n\t\t\trelease,\n\t\t\tscrollSection,\n\t\t\tuserInfo,\n\t\t\tredirectedFromNonComponentRelease,\n\t\t\treleaseInfo,\n\t\t\tversionMismatch,\n\t\t\tbookmarkedComponents,\n\t\t\tisUpdatingBookmark,\n\t\t\tsystemProperties,\n\t\t\tdocType,\n\t\t\tinstanceInfo,\n\t\t\tqueryParams,\n\t\t\tpathname,\n\t\t\tdseIcons,\n\t\t\tapiExists\n\t\t}\n\t} = state;\n\tconst {\n\t\tpackage: componentPackage,\n\t\trelatedComponents,\n\t\tscr,\n\t\tpackageName,\n\t\tcanInstallComponent\n\t} = componentDetails;\n\n\tlet seismicVersion = null;\n\tif (\n\t\tcomponentPackage &&\n\t\tcomponentPackage.meta &&\n\t\tcomponentPackage.meta.seismic\n\t) {\n\t\tseismicVersion = componentPackage.meta.seismic;\n\t}\n\tconst isUserEmployee = isEmployee(userInfo);\n\tconst copyCommand = 'npm install';\n\tconst designData =\n\t\t(scr && scr.design_artifacts && JSON.parse(scr.design_artifacts)) || [];\n\tconst epics =\n\t\t(scr &&  scr.epics && JSON.parse( scr.epics )) || [];\n\tlet releaseNotesBlock;\n\n\t// These are the sections for the wayfinder we only want to populate it if we have related components\n\tlet sections = [\n\t\t{\n\t\t\tlabel: 'Overview',\n\t\t\tid: 'overviewAnchor'\n\t\t}\n\t];\n\tif (isUserEmployee) {\n\t\tsections.push({\n\t\t\tlabel: 'Component Details',\n\t\t\tid: 'componentDetails'\n\t\t});\n\t}\n\tif (scr && scr.release_notes) {\n\t\tsections.push({\n\t\t\tlabel: 'Release Notes',\n\t\t\tid: 'releaseNotes'\n\t\t});\n\t}\n\tif (designData.length && isUserEmployee) {\n\t\tsections.push({\n\t\t\tlabel: 'Design Artifacts',\n\t\t\tid: 'designDetails'\n\t\t});\n\t}\n\tif (relatedComponents.length) {\n\t\tsections.push({\n\t\t\tlabel: 'Related Components',\n\t\t\tid: 'relatedComponents'\n\t\t});\n\t}\n\n\tconst hasWayfinder = sections.length >= 1;\n\n\tconst cleanHash = hash ? hash.replace('#', '') : '';\n\tconst hashSectionParent = cleanHash.split('-')[0];\n\tconst showVisualsCarousel =\n\t\tscr &&\n\t\t(scr.preview_image ||\n\t\t\t(scr.api &&\n\t\t\t\tscr.api.isContentFound &&\n\t\t\t\tscr.api.payload.prototypeList &&\n\t\t\t\tscr.api.payload.playgroundSource));\n\n\tif (!componentDetails) {\n\t\t// Loading state\n\t\treturn null;\n\t}\n\n\t// Generate the release notes block\n\tif (scr.release_notes) {\n\t\treleaseNotesBlock = (\n\t\t\t<div className=\"release-notes\">\n\t\t\t\t<h2 id=\"releaseNotes\" className=\"release-notes-header scroll-spy\">\n\t\t\t\t\tRelease Notes\n\t\t\t\t</h2>\n\t\t\t\t<div className=\"release-notes-body\">\n\t\t\t\t\t{isUserEmployee ? <dps-badge variant=\"servicenow\" /> : null}\n\t\t\t\t\t<h3 className=\"release-notes-release\">\n\t\t\t\t\t\t{transformReleaseName(release) +\n\t\t\t\t\t\t\t' ' +\n\t\t\t\t\t\t\t(scr.version && isUserEmployee ? scr.version : '')}\n\t\t\t\t\t</h3>\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t{scr &&\n\t\t\t\t\t\t\tscr.release_notes &&\n\t\t\t\t\t\t\tscr.release_notes.split('*').map(note => {\n\t\t\t\t\t\t\t\treturn note ? <li>{note}</li> : null;\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t</ul>\n\t\t\t\t\t{isUserEmployee ? (\n\t\t\t\t\t\t<div className=\"release-notes-githubLink\">\n\t\t\t\t\t\t\t<hr></hr>\n\t\t\t\t\t\t\t<h4>All Release Notes</h4>\n\t\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\thref={`${scr.github_repo}/releases`}\n\t\t\t\t\t\t\t\texternalAction\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{scr.component_name + ' Github'}\n\t\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'dps-reference-page-overview-container': true,\n\t\t\t\t\tnoWayfinder: !hasWayfinder\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"dps-reference-page-overview\">\n\t\t\t\t\t<div id=\"overviewAnchor\" className=\"scroll-spy\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'carousel-grid': true,\n\t\t\t\t\t\t\t\t'-has-carousel': showVisualsCarousel\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{canInstallComponent\n\t\t\t\t\t\t\t\t? copyPackage({ copyCommand, packageName })\n\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t\t{showVisualsCarousel ? (\n\t\t\t\t\t\t\t\t<dps-visuals-carousel\n\t\t\t\t\t\t\t\t\timage={scr.preview_image || ''}\n\t\t\t\t\t\t\t\t\tcanInstallComponent={canInstallComponent}\n\t\t\t\t\t\t\t\t\tcomponentName={scr.component_name}\n\t\t\t\t\t\t\t\t\tcomponentFriendlyName={\n\t\t\t\t\t\t\t\t\t\tscr.friendly_name ||\n\t\t\t\t\t\t\t\t\t\ttitleCase(scr.component_name.replace(/^now-/, ''))\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tplaygroundConfig={\n\t\t\t\t\t\t\t\t\t\tscr.api &&\n\t\t\t\t\t\t\t\t\t\tscr.api.isContentFound &&\n\t\t\t\t\t\t\t\t\t\tscr.api.payload.prototypeList\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tplaygroundSource={\n\t\t\t\t\t\t\t\t\t\tscr.api &&\n\t\t\t\t\t\t\t\t\t\tscr.api.isContentFound &&\n\t\t\t\t\t\t\t\t\t\tscr.api.payload.playgroundSource\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treleaseName={scr.release}\n\t\t\t\t\t\t\t\t></dps-visuals-carousel>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t{releaseNotesBlock ? releaseNotesBlock : null}\n\t\t\t\t\t{designData.length && isUserEmployee ? (\n\t\t\t\t\t\t<div className=\"design-artifacts\">\n\t\t\t\t\t\t\t<h2\n\t\t\t\t\t\t\t\tid=\"designDetails\"\n\t\t\t\t\t\t\t\tclassName=\"design-details-header scroll-spy\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tDesign Artifacts\n\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t<dps-badge variant=\"servicenow\" />\n\n\t\t\t\t\t\t\t{createDesignTable(designData)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{epics.length && isUserEmployee ? (\n\t\t\t\t\t\t<div className=\"epics-data -dark-stripe\">\n\t\t\t\t\t\t\t<h2 id=\"epics\" className=\"epics-data-header scroll-spy\">\n\t\t\t\t\t\t\t\tEpics\n\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t<dps-badge variant=\"servicenow\" />\n\n\t\t\t\t\t\t\t{createEpicsTable(epics)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{apiExists ? <h2>API Details</h2> : null}\n\t\t\t{apiExists ? (\n\t\t\t\t<dps-reference-page-api\n\t\t\t\t\tcomponentData={componentDetails}\n\t\t\t\t\tcomponentName={componentName}\n\t\t\t\t\tdseIcons={dseIcons}\n\t\t\t\t\trelease={release}\n\t\t\t\t\thash={hash}\n\t\t\t\t\tuserInfo={userInfo}\n\t\t\t\t\tpathname={pathname}\n\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\tqueryParams={queryParams}\n\t\t\t\t\tcarouselVisible={showVisualsCarousel}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-reference-page-overview', {\n\tactionHandlers,\n\tproperties: {\n\t\t/**\n\t\t * Component name from url\n\t\t * @type {string}\n\t\t */\n\t\tcomponentName: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Component data\n\t\t */\n\t\tcomponentData: {\n\t\t\tdefault: null\n\t\t},\n\t\t/**\n\t\t * Release version from url\n\t\t * @type {string}\n\t\t */\n\t\trelease: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Hash from the url\n\t\t * @type {string}\n\t\t */\n\t\thash: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Where the wayfinder is currently scrolled to\n\t\t * @type {string}\n\t\t */\n\t\tscrollSection: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * User Info is used for isEmployee only\n\t\t */\n\t\tuserInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tredirectedFromNonComponentRelease: {\n\t\t\tdefault: false\n\t\t},\n\t\treleaseInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tversionMismatch: {\n\t\t\tdefault: true\n\t\t},\n\t\tbookmarkedComponents: {\n\t\t\tdefault: {}\n\t\t},\n\t\tisUpdatingBookmark: {\n\t\t\tdefault: false\n\t\t},\n\t\tdocType: {\n\t\t\tdefault: ''\n\t\t},\n\t\tinstanceInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tqueryParams: {\n\t\t\tdefault: {}\n\t\t},\n\t\tpathname: {\n\t\t\tdefault: ''\n\t\t},\n\t\tdseIcons: {\n\t\t\tdefault: ''\n\t\t},\n\t\tapiExists: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: scrollSpyBehavior,\n\t\t\toptions: {\n\t\t\t\t// eslint-disable-next-line object-shorthand\n\t\t\t\trootMargin: () => {\n\t\t\t\t\tconst winH = window.innerHeight;\n\t\t\t\t\tconst topOffset = 250;\n\t\t\t\t\tconst bottomOffset = winH - (topOffset + 10);\n\n\t\t\t\t\treturn `-${topOffset}px 0px -${bottomOffset}px`;\n\t\t\t\t},\n\t\t\t\ttargetSelector: '.scroll-spy',\n\t\t\t\tthreshold: 0,\n\t\t\t\thandlesWindowResize: true\n\t\t\t}\n\t\t}\n\t],\n\tstyles,\n\tview\n});\n","import '../../components/dps-icon-gallery';\nimport '../../components/dps-spinner';\n\nconst view = ({ properties }) => {\n\n\tconst {\n\t\ticonStyles,\n\t\tsizeOptions,\n\t\ticons,\n\t\tcomponentName,\n\t\tloaded,\n\t\tqueryParams\n\t} = properties;\n\n\tif (!loaded) {\n\t\treturn (\n\t\t\t<dps-spinner />\n\t\t);\n\t}\n\n\treturn (\n\t\t<dps-icon-gallery\n\t\t\ticons={icons}\n\t\t\tdefault-icon-size={sizeOptions.find(sizeOption => sizeOption.default).id}\n\t\t\ticon-styles={iconStyles}\n\t\t\tsize-options={sizeOptions}\n\t\t\tcomponent-name={componentName}\n\t\t\tquery-params={queryParams}\n\t\t/>\n\t);\n};\n\nexport default view;\n","const initialState = {};\n\nexport default initialState;","export const LOAD_ICONS = 'DPS_ICON_GALLERY#LOAD_ICONS';\nexport const LOAD_SUCCESS = 'DPS_ICON_GALLERY#LOAD_SUCCESS';\nexport const LOAD_ERROR = 'DPS_ICON_GALLERY#LOAD_ERROR';\nexport const GET_DATA = 'DPS_ICON_GALLERY#GET_DATA';\n\nexport const LEGACY_ICON_SIZES = [\n\t{\n\t\tlabel: 'xs',\n\t\tid: 'xs'\n\t},\n\t{\n\t\tlabel: 'sm',\n\t\tid: 'sm'\n\t},\n\t{\n\t\tlabel: 'lg',\n\t\tid: 'lg',\n\t\tdefault: true\n\t},\n\t{\n\t\tlabel: 'xl',\n\t\tid: 'xl'\n\t},\n\t{\n\t\tlabel: 'xxl',\n\t\tid: 'xxl'\n\t},\n\t{\n\t\tlabel: 'xxxl',\n\t\tid: 'xxxl'\n\t}\n];\n\nexport const LEGACY_ICON_STYLES = [\n\t{\n\t\tlabel: 'all',\n\t\tid: 'all'\n\t},\n\t{\n\t\tlabel: 'regular',\n\t\tid: 'regular'\n\t},\n\t{\n\t\tlabel: 'strong',\n\t\tid: 'strong'\n\t},\n\t{\n\t\tlabel: 'bold',\n\t\tid: 'bold'\n\t},\n\t{\n\t\tlabel: 'custom',\n\t\tid: 'custom'\n\t}\n];\n\nexport const NOW_ICON_SIZES = [\n\t{\n\t\tlabel: 'sm',\n\t\tid: 'sm',\n\t\tpoint: 12\n\t},\n\t{\n\t\tlabel: 'md',\n\t\tid: 'md',\n\t\tpoint: 16\n\t},\n\t{\n\t\tlabel: 'lg',\n\t\tid: 'lg',\n\t\tpoint: 24,\n\t\tdefault: true\n\t},\n\t{\n\t\tlabel: 'xl',\n\t\tid: 'xl',\n\t\tpoint: 32\n\t}\n];\n\nexport const NOW_ICON_STYLES = [\n\t{\n\t\tlabel: 'all',\n\t\tid: 'all'\n\t},\n\t{\n\t\tlabel: 'fill',\n\t\tid: 'fill'\n\t},\n\t{\n\t\tlabel: 'outline',\n\t\tid: 'outline'\n\t}\n];\n","import {\n\tLEGACY_ICON_SIZES,\n\tLEGACY_ICON_STYLES,\n\tNOW_ICON_SIZES,\n\tNOW_ICON_STYLES\n} from './constants';\n\nconst isNowIcon = componentName => componentName === 'now-icon';\n\nconst properties = {\n\tfileName: {\n\t\tdefault: null\n\t},\n\ticonStyles: {\n\t\tcomputed: ({ properties: { componentName } }) => isNowIcon(componentName) ? NOW_ICON_STYLES : LEGACY_ICON_STYLES\n\t},\n\ticons: {\n\t\tdefault: []\n\t},\n\tsizeOptions: {\n\t\tcomputed: ({ properties: { componentName } }) => isNowIcon(componentName) ? NOW_ICON_SIZES : LEGACY_ICON_SIZES\n\t},\n\tcomponentName: {\n\t\tdefault: ''\n\t},\n\tcomponentVersion: {\n\t\tdefault: '18.0.1'\n\t},\n\tloaded: {\n\t\tdefault: false\n\t},\n\tqueryParams: {\n\t\tdefault: {}\n\t}\n};\n\nexport default properties;\n","export const DPS_ICON_GALLERY_CONNECTED_ACTIONS = {};\nexport default DPS_ICON_GALLERY_CONNECTED_ACTIONS;","import { actionTypes } from '@servicenow/ui-core';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { LOAD_ICONS, LOAD_SUCCESS, LOAD_ERROR, GET_DATA } from '../constants';\nimport { CONSTANTS } from '../../../constants';\n\nconst { DEFAULTS: { AZURE_BASE_URL } } = CONSTANTS;\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst effectConfig = {\n\tbatch: false,\n\tmethod: 'GET',\n\tpathParams: ['fileName'],\n\tsuccessActionType: LOAD_SUCCESS,\n\terrorActionType: LOAD_ERROR\n};\n\nexport default {\n\t[COMPONENT_BOOTSTRAPPED]({ dispatch }) {\n\t\tdispatch(GET_DATA);\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]({ action, dispatch, updateProperties }) {\n\n\t\tif(['componentName', 'fileName', 'version'].includes(action.payload.name)) {\n\t\t\tupdateProperties( { icons: [] });\n\t\t\tdispatch(GET_DATA);\n\t\t}\n\t},\n\t[GET_DATA]({ properties, dispatch }) {\n\t\tdispatch(LOAD_ICONS, {fileName: properties.fileName});\n\t},\n\t[LOAD_ICONS]: createHttpEffect('https://sndevstore.blob.core.windows.net/design-system-icons/:fileName', effectConfig),\n\t[LOAD_SUCCESS]({action, updateProperties}) {\n\t\tupdateProperties({\n\t\t\ticons: action.payload,\n\t\t\tloaded: true\n\t\t});\n\t},\n\t[LOAD_ERROR]({ updateProperties }) {\n\t\tupdateProperties({\n\t\t\tloaded: true\n\t\t});\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport view from './view';\nimport initialState from './initialState';\nimport properties from './properties';\nimport actions from './actions';\nimport actionHandlers from './actionHandlers/index';\nimport styles from './dps-icon-gallery-connected.scss';\n\nexport default createCustomElement('dps-icon-gallery-connected', {\n\trenderer: { type: snabbdom },\n\tview,\n\tinitialState,\n\tproperties,\n\tactions,\n\tactionHandlers,\n\tstyles\n});\n","import '../../components/dps-input';\nimport { CONSTANTS } from '../../constants';\nconst { DEFAULTS: { AZURE_BASE_URL } } = CONSTANTS;\n\nconst pixelSizeMap = {\n\tsm: 56,\n\tmd: 216,\n\tlg: 352\n};\n\nconst _renderIllustrationItem = (path, size) => {\n\treturn (\n\t\t<li className=\"illustration-item\" key={path}>\n\t\t\t<img src={`${AZURE_BASE_URL}/${path}`} width={pixelSizeMap[size]}/>\n\t\t\t<span>{size}</span>\n\t\t</li>\n\t);\n};\n\nconst _renderIllustrationGroup = (name, illustrations) => {\n\treturn (\n\t\t<li className=\"illustration-group\" key={name}>\n\t\t\t<h4>{name}</h4>\n\t\t\t<ul>\n\t\t\t\t{Object.keys(illustrations).map(size =>\n\t\t\t\t\t_renderIllustrationItem(illustrations[size], size)\n\t\t\t\t)}\n\t\t\t</ul>\n\t\t</li>\n\t);\n};\n\nconst view = ({ properties }) => {\n\tconst { illustrations, filterQuery } = properties;\n\n\tlet illustrationNames = Object.keys(illustrations);\n\n\tif (filterQuery) {\n\t\tillustrationNames = illustrationNames.filter(illustration =>\n\t\t\tillustration.includes(filterQuery) || illustration.includes(filterQuery.replace(/\\s/g, '-')));\n\t}\n\n\treturn (\n\t\t<div className=\"dps-illustration-gallery\" id=\"dps-illustration-gallery\">\n\t\t\t<ul className=\"gallery\">\n\t\t\t\t{illustrationNames.map(illustration =>\n\t\t\t\t\t_renderIllustrationGroup(illustration, illustrations[illustration])\n\t\t\t\t)}\n\t\t\t</ul>\n\t\t\t<aside>\n\t\t\t\t<div>\n\t\t\t\t\t<dps-input\n\t\t\t\t\t\tvalue={filterQuery}\n\t\t\t\t\t\tname=\"filter\"\n\t\t\t\t\t\tlabel=\"Filter\"\n\t\t\t\t\t\tplaceholder=\"Type to filter\"\n\t\t\t\t\t\tis-filter\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</aside>\n\t\t</div>\n\t);\n};\n\nexport default view;\n","const initialState = {};\n\nexport default initialState;","const properties = {\n\tfilterQuery: {\n\t\tcomputed: ({ properties: { queryParams }}) => queryParams.filter || null\n\t},\n\thash: {\n\t\tdefault: ''\n\t},\n\tillustrations: {\n\t\tdefault: {}\n\t},\n\tqueryParams: {\n\t\tdefault: {}\n\t}\n};\n\nexport default properties;\n","export const DPS_ILLUSTRATION_GALLERY_CONNECTED_ACTIONS = {};\nexport default DPS_ILLUSTRATION_GALLERY_CONNECTED_ACTIONS;","export default {\n\t['DPS_INPUT#VALUE_CHANGE']({ action, dispatch }) {\n\t\tdispatch('ROUTER_BEHAVIOR#ADD_QUERY_PARAMS', {\n\t\t\tfilter: action.payload.value\n\t\t});\n\t},\n\t['DPS_INPUT#VALUE_CLEAR']({ dispatch }) {\n\t\tdispatch('ROUTER_BEHAVIOR#REMOVE_QUERY_PARAMS', ['filter']);\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport view from './view';\nimport initialState from './initialState';\nimport properties from './properties';\nimport actions from './actions';\nimport actionHandlers from './actionHandlers/index';\nimport styles from './dps-illustration-gallery-connected.scss';\n\nexport default createCustomElement('dps-illustration-gallery-connected', {\n\trenderer: { type: snabbdom },\n\tview,\n\tinitialState,\n\tproperties,\n\tactions,\n\tactionHandlers,\n\tstyles\n});\n","/* eslint-disable object-shorthand */\nimport '../../components/dps-template-two-column';\nimport '../../components/dps-component-detail';\nimport '../../components/dps-sidebar-nav';\nimport '../../components/dps-error-page';\nimport '../../components/dps-playground';\nimport './dps-reference-page-api';\nimport './dps-reference-page-uibSetup';\nimport './dps-reference-page-uibConfig';\nimport './dps-reference-page-list';\nimport './dps-reference-page-usage';\nimport './dps-reference-page-overview';\nimport '../dps-icon-gallery-connected';\nimport '../dps-illustration-gallery-connected';\nimport '../../components/dps-component-detail-header';\nimport '../../components/dps-spinner';\nimport '../../components/dps-breadcrumb';\nimport '../../components/dps-playground';\nimport '../dps-version-switcher';\nimport { isEmployee } from '../../utils/helpers';\n// eslint-disable-next-line no-unused-vars\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../../components/dps-navigation-sidebar';\nimport {\n\tgenerateLeftNavMenu,\n\tgetBreadCrumbItems,\n\tCOMPONENT_LIST,\n\tGALLERY_PAGE_LIST\n} from './dps-reference-helper';\nimport { CONSTANTS, DPS_ERROR_ACTIONS } from '../../constants';\nimport { createPath } from '../../utils/url';\nimport { transformReleaseName } from '../../utils/transformReleaseName';\nimport { capitalizeWords } from '../../utils/helpers';\n\nconst {\n\tDEFAULTS: { AZURE_BASE_URL }\n} = CONSTANTS;\n\nconst renderContent = ({\n\tcomponentData,\n\tdocType,\n\tdseIcons,\n\thash,\n\tinstanceInfo,\n\tnextComponent,\n\tpathname,\n\tpreviousComponent,\n\tqueryParams,\n\tredirectedFromNonComponentRelease,\n\treferenceItem,\n\treferenceType,\n\trelease,\n\treleaseInfo,\n\trouteString,\n\tshowSpinner,\n\tsystemProperties,\n\tuserInfo,\n\tversionMismatch,\n\tbookmarkedComponents,\n\tisUpdatingBookmark,\n\tdispatch,\n\tsetAPIvisible\n}) => {\n\tif (showSpinner) {\n\t\treturn <dps-spinner />;\n\t}\n\n\tconst {\n\t\tname,\n\t\tplaygroundSource,\n\t\tscr,\n\t\trelatedComponents,\n\t\tpackage: componentPackage,\n\t\tcanInstallComponent\n\t} = componentData || {};\n\tconst {\n\t\tscr: { component_name }\n\t} = componentData || {};\n\tlet version = null,\n\t\ticonListPath = '';\n\n\tconst isAPIAvailable =\n\t\tscr && scr.api && scr.api.isContentFound && canInstallComponent;\n\n\tconst isUserEmployee = isEmployee(userInfo);\n\n\tif (COMPONENT_LIST.includes(docType) && componentData) {\n\t\tconst isNotGallery =\n\t\t\t(docType === 'gallery' && GALLERY_PAGE_LIST.indexOf(name) === -1) ||\n\t\t\tfalse;\n\t\tconst isUsageNotExist =\n\t\t\t(docType === 'usage' &&\n\t\t\t\t!(\n\t\t\t\t\tcomponentData &&\n\t\t\t\t\tcomponentData.scr &&\n\t\t\t\t\tcomponentData.scr.usage &&\n\t\t\t\t\tcomponentData.scr.usage.isContentFound\n\t\t\t\t)) ||\n\t\t\tfalse;\n\t\tconst isApiNotExist =\n\t\t\t(['api', 'playground'].indexOf(docType) > -1 &&\n\t\t\t\t!(\n\t\t\t\t\tcomponentData &&\n\t\t\t\t\tcomponentData.scr &&\n\t\t\t\t\tcomponentData.scr.api &&\n\t\t\t\t\tcomponentData.scr.api.isContentFound\n\t\t\t\t)) ||\n\t\t\tfalse;\n\t\tconst isUibSetupNotExist =\n\t\t\t(docType === 'uib-setup' &&\n\t\t\t\t!(\n\t\t\t\t\tcomponentData &&\n\t\t\t\t\tcomponentData.scr &&\n\t\t\t\t\tcomponentData.scr.uibSetup &&\n\t\t\t\t\tcomponentData.scr.uibSetup.isContentFound\n\t\t\t\t)) ||\n\t\t\tfalse;\n\t\tconst isPlaygroundNotExist =\n\t\t\t(docType === 'playground' &&\n\t\t\t\t!(componentData && componentData.playgroundSource)) ||\n\t\t\tfalse;\n\n\t\tif (\n\t\t\tisApiNotExist ||\n\t\t\tisNotGallery ||\n\t\t\tisUsageNotExist ||\n\t\t\tisUibSetupNotExist ||\n\t\t\tisPlaygroundNotExist\n\t\t) {\n\t\t\tif (componentData && docType !== 'overview' && docType !== 'gallery') {\n\t\t\t\tlet documentType = docType === 'uib-setup' ? 'uibSetup' : docType;\n\t\t\t\tif (\n\t\t\t\t\tdocType !== 'playground' &&\n\t\t\t\t\tcomponentData.scr[documentType].other_releases &&\n\t\t\t\t\tcomponentData.scr[documentType].other_releases.length > 0\n\t\t\t\t) {\n\t\t\t\t\tlet otherReleases = componentData.scr[documentType].other_releases;\n\t\t\t\t\tfor (let i = 0; i < otherReleases.length; i++) {\n\t\t\t\t\t\totherReleases[i].url = otherReleases[i].url + '/' + docType;\n\t\t\t\t\t}\n\t\t\t\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND, {\n\t\t\t\t\t\totherReleases: otherReleases,\n\t\t\t\t\t\tcontentTitle:\n\t\t\t\t\t\t\tcomponentData.scr[documentType].content_title +\n\t\t\t\t\t\t\t' ' +\n\t\t\t\t\t\t\tcapitalizeWords(documentType),\n\t\t\t\t\t\tisContentNotFoundForCurrentRelease: true\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tif (docType === 'playground') {\n\t\t\t\t\t\tlet otherReleases =\n\t\t\t\t\t\t\tcomponentData &&\n\t\t\t\t\t\t\tcomponentData.scr &&\n\t\t\t\t\t\t\tcomponentData.scr['api'] &&\n\t\t\t\t\t\t\tcomponentData.scr['api'].playground_other_releases\n\t\t\t\t\t\t\t\t? componentData.scr['api'].playground_other_releases\n\t\t\t\t\t\t\t\t: [];\n\t\t\t\t\t\tfor (let i = 0; i < otherReleases.length; i++) {\n\t\t\t\t\t\t\totherReleases[i].url = otherReleases[i].url + '/' + docType;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND, {\n\t\t\t\t\t\t\totherReleases: otherReleases,\n\t\t\t\t\t\t\tcontentTitle:\n\t\t\t\t\t\t\t\tcomponentData.scr['api'].content_title +\n\t\t\t\t\t\t\t\t' ' +\n\t\t\t\t\t\t\t\tcapitalizeWords(documentType),\n\t\t\t\t\t\t\tisContentNotFoundForCurrentRelease: true\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND, {\n\t\t\t\t\t\t\tmessage: `This component ${docType.toUpperCase()} is not available. Please click <dps-link href=\"${createPath(\n\t\t\t\t\t\t\t\t`/reference/next-experience/${release}/now-components/${referenceItem}/overview`\n\t\t\t\t\t\t\t)}\"> here </dps-link> check overview page..`\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t} else if (\n\t\t\t\tcomponentData &&\n\t\t\t\t(docType === 'overview' || docType === 'gallery')\n\t\t\t) {\n\t\t\t\tif (\n\t\t\t\t\tcomponentData.scr &&\n\t\t\t\t\tcomponentData.scr.other_releases &&\n\t\t\t\t\tcomponentData.scr.other_releases.length > 0\n\t\t\t\t) {\n\t\t\t\t\tlet otherReleases = componentData.scr.other_releases;\n\t\t\t\t\tfor (let i = 0; i < otherReleases.length; i++)\n\t\t\t\t\t\totherReleases[i].url = otherReleases[i].url + '/' + docType;\n\t\t\t\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND, {\n\t\t\t\t\t\totherReleases: otherReleases,\n\t\t\t\t\t\tcontentTitle:\n\t\t\t\t\t\t\t(componentData.scr.component_name ||\n\t\t\t\t\t\t\t\tcomponentData.scr.friendly_name) +\n\t\t\t\t\t\t\t' ' +\n\t\t\t\t\t\t\tcapitalizeWords(docType),\n\t\t\t\t\t\tisContentNotFoundForCurrentRelease: true\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND, {\n\t\t\t\t\t\tmessage: `This component ${docType.toUpperCase()} is not available. Please click <dps-link href=\"${createPath(\n\t\t\t\t\t\t\t`/reference/next-experience/${release}/now-components/${referenceItem}/overview`\n\t\t\t\t\t\t)}\"> here </dps-link> check overview page..`\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (componentData && componentData.package) {\n\t\t\tversion = componentData.package.version;\n\t\t\ticonListPath = componentData.package.meta\n\t\t\t\t? componentData.package.meta.iconListPath\n\t\t\t\t: '';\n\t\t}\n\n\t\tconst pageComponents = {\n\t\t\tusage: (\n\t\t\t\t<dps-reference-page-usage\n\t\t\t\t\tcontent={componentData.usage}\n\t\t\t\t\thash={hash}\n\t\t\t\t\tcomponent={componentData}\n\t\t\t\t\tcomponent-name={referenceItem}\n\t\t\t\t\trelease={release}\n\t\t\t\t\tuserInfo={userInfo}\n\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\tquery-params={queryParams}\n\t\t\t\t\tcomponentDetails={componentData}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tgallery:\n\t\t\t\treferenceItem === 'now-illustration' ? (\n\t\t\t\t\t<dps-illustration-gallery-connected\n\t\t\t\t\t\tillustrations={componentData.package.meta.illustrationPaths}\n\t\t\t\t\t\thash={hash}\n\t\t\t\t\t\tquery-params={queryParams}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<dps-icon-gallery-connected\n\t\t\t\t\t\tcomponent-version={version}\n\t\t\t\t\t\tcomponent-name={referenceItem}\n\t\t\t\t\t\thash={hash}\n\t\t\t\t\t\t// This replace will eventually be removed after the content\n\t\t\t\t\t\t// from the doc-worker is fully updated to not include the\n\t\t\t\t\t\t// folder name in the path.\n\t\t\t\t\t\tfile-name={\n\t\t\t\t\t\t\ticonListPath\n\t\t\t\t\t\t\t\t? iconListPath.replace('design-system-icons/', '')\n\t\t\t\t\t\t\t\t: iconListPath\n\t\t\t\t\t\t}\n\t\t\t\t\t\tquery-params={queryParams}\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\tplayground: playgroundSource ? (\n\t\t\t\t<div className=\"dps-playground-component\">\n\t\t\t\t\t<dps-playground\n\t\t\t\t\t\tkey={pathname}\n\t\t\t\t\t\tslot=\"playground\"\n\t\t\t\t\t\tcomponent-name={name}\n\t\t\t\t\t\tsource={`${AZURE_BASE_URL}/${playgroundSource}`}\n\t\t\t\t\t\tpathname={pathname}\n\t\t\t\t\t\trelease={release}\n\t\t\t\t\t\tqueryParams={queryParams}\n\t\t\t\t\t\tprototypeList={componentData.prototypeList}\n\t\t\t\t\t\tprototype={queryParams.sharedId}\n\t\t\t\t\t\tisLoggedIn={userInfo && userInfo.is_logged_in}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) : null\n\t\t};\n\n\t\tpageComponents['uib-setup'] = (\n\t\t\t<dps-reference-page-uib-setup\n\t\t\t\tcomponent-data={componentData}\n\t\t\t\tcomponent-name={referenceItem}\n\t\t\t\tdse-icons={dseIcons}\n\t\t\t\trelease={release}\n\t\t\t\thash={hash}\n\t\t\t\tuserInfo={userInfo}\n\t\t\t\tpathname={pathname}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tquery-params={queryParams}\n\t\t\t/>\n\t\t);\n\n\t\tpageComponents['uib-config'] = (\n\t\t\t<dps-reference-page-uib-config\n\t\t\t\tcomponentData={componentData}\n\t\t\t\tcomponentName={referenceItem}\n\t\t\t\tdseIcons={dseIcons}\n\t\t\t\trelease={release}\n\t\t\t\thash={hash}\n\t\t\t\tuserInfo={userInfo}\n\t\t\t\tpathname={pathname}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tqueryParams={queryParams}\n\t\t\t/>\n\t\t);\n\n\t\tlet seismicVersion = null;\n\t\tif (\n\t\t\tcomponentPackage &&\n\t\t\tcomponentPackage.meta &&\n\t\t\tcomponentPackage.meta.seismic\n\t\t) {\n\t\t\tseismicVersion = componentPackage.meta.seismic;\n\t\t}\n\n\t\tconst isDeprecated =\n\t\t\tcomponentData &&\n\t\t\tcomponentData.scr &&\n\t\t\tcomponentData.scr.availability === 'Deprecated';\n\t\tconst deprecationBanners = (component_name, release, isDeprecated) => {\n\t\t\tlet banners = [];\n\n\t\t\tif (component_name === 'now-legacy-icon') {\n\t\t\t\tbanners.push(\n\t\t\t\t\t<dps-banner-container icon=\"circle-info-outline\">\n\t\t\t\t\t\t<p slot=\"banner-description\">\n\t\t\t\t\t\t\tUse now-legacy-icon component sparingly. The Legacy Icon will be\n\t\t\t\t\t\t\tdeprecated in favor of now-icon.{' '}\n\t\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\thref={createPath(\n\t\t\t\t\t\t\t\t\t`/reference/next-experience/${release}/now-components/${component_name}/usage#types-and-usage`\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tLearn More\n\t\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</dps-banner-container>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (isDeprecated && component_name !== 'now-legacy-icon') {\n\t\t\t\tbanners.push(\n\t\t\t\t\t<dps-banner-container icon=\"circle-info-outline\">\n\t\t\t\t\t\t<p slot=\"banner-description\">\n\t\t\t\t\t\t\t{component_name} has been deprecated in the{' '}\n\t\t\t\t\t\t\t{transformReleaseName(release)} release. Avoid using this\n\t\t\t\t\t\t\tcomponent in {transformReleaseName(release)} and newer releases.\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</dps-banner-container>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn banners;\n\t\t};\n\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t{deprecationBanners(component_name, release, isDeprecated)}\n\n\t\t\t\t{componentData ? (\n\t\t\t\t\t<div className=\"dps-reference-page-header\">\n\t\t\t\t\t\t<dps-version-switcher\n\t\t\t\t\t\t\tredirectedFromNonComponentRelease={\n\t\t\t\t\t\t\t\tredirectedFromNonComponentRelease\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\t\t\t\trouteParamsRelease={release}\n\t\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\t\tuserInfo={userInfo}\n\t\t\t\t\t\t\tversionMismatch={versionMismatch}\n\t\t\t\t\t\t></dps-version-switcher>\n\t\t\t\t\t\t<dps-component-detail-header\n\t\t\t\t\t\t\tcomponent-data={componentData}\n\t\t\t\t\t\t\tdetail-type={docType}\n\t\t\t\t\t\t\tinstance-info={instanceInfo}\n\t\t\t\t\t\t\trelease={release}\n\t\t\t\t\t\t\tqueryParams={queryParams}\n\t\t\t\t\t\t\tpathname={pathname}\n\t\t\t\t\t\t\tuserInfo={userInfo}\n\t\t\t\t\t\t\tbookmarkedComponents={bookmarkedComponents}\n\t\t\t\t\t\t\tisUpdatingBookmark={isUpdatingBookmark}\n\t\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\t\tapiExists={isAPIAvailable}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{isUserEmployee ? (\n\t\t\t\t\t\t\t<dps-component-details-block component-details={componentData} />\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\n\t\t\t\t{componentData && docType === 'overview' ? (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<dps-reference-page-overview\n\t\t\t\t\t\t\tcomponent-data={componentData}\n\t\t\t\t\t\t\tcomponent-name={referenceItem}\n\t\t\t\t\t\t\tdse-icons={dseIcons}\n\t\t\t\t\t\t\tprevious-component={previousComponent}\n\t\t\t\t\t\t\tnext-component={nextComponent}\n\t\t\t\t\t\t\trelease={release}\n\t\t\t\t\t\t\thash={hash}\n\t\t\t\t\t\t\tuserInfo={userInfo}\n\t\t\t\t\t\t\tpathname={pathname}\n\t\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\t\tqueryParams={queryParams}\n\t\t\t\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\t\t\t\tredirectedFromNonComponentRelease={\n\t\t\t\t\t\t\t\tredirectedFromNonComponentRelease\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trouteParamsRelease={release}\n\t\t\t\t\t\t\tuserInfo={userInfo}\n\t\t\t\t\t\t\tversionMismatch={versionMismatch}\n\t\t\t\t\t\t\tbookmarkedComponents={bookmarkedComponents}\n\t\t\t\t\t\t\tisUpdatingBookmark={isUpdatingBookmark}\n\t\t\t\t\t\t\tdocType={docType}\n\t\t\t\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\t\t\t\tdseIcons={dseIcons}\n\t\t\t\t\t\t\tapiExists={isAPIAvailable}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{(docType !== 'api' && docType !== 'playground') ||\n\t\t\t\t\t\t((docType === 'api' || docType === 'playground') && setAPIvisible)\n\t\t\t\t\t\t\t? pageComponents[docType]\n\t\t\t\t\t\t\t: null}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{componentData ? (\n\t\t\t\t\t<dps-related-components\n\t\t\t\t\t\trelatedComponents={relatedComponents}\n\t\t\t\t\t\tuserInfo={userInfo}\n\t\t\t\t\t\trelease={release}\n\t\t\t\t\t\tcomponentName={scr.friendly_name || scr.component_name}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// TODO Need to check where to redirect for invalid urls\n\t/*\treturn (\n\t\t<dps-reference-page-list\n\t\t\tpathname={pathname}\n\t\t\tredirectedFromNonComponentRelease={redirectedFromNonComponentRelease}\n\t\t\treferenceType={referenceType}\n\t\t\trelease={release}\n\t\t\treleaseInfo={releaseInfo}\n\t\t\trouteString={routeString}\n\t\t\tsystemProperties={systemProperties}\n\t\t\tuserInfo={userInfo}\n\t\t\tqueryParams={queryParams}\n\t\t\tinstanceInfo={instanceInfo}\n\t\t/>\n\t);*/\n};\n\nconst view = (state, dispatch) => {\n\tconst {\n\t\tproperties: {\n\t\t\tdocType,\n\t\t\tpathname,\n\t\t\tredirectedFromNonComponentRelease,\n\t\t\trelease,\n\t\t\treferenceItem,\n\t\t\treferenceType,\n\t\t\treleaseInfo,\n\t\t\trouteString,\n\t\t\tsystemProperties,\n\t\t\tuserInfo,\n\t\t\tversionMismatch,\n\t\t\thash,\n\t\t\tqueryParams,\n\t\t\totherReleases,\n\t\t\tinstanceInfo,\n\t\t\tbookmarkedComponents,\n\t\t\tisUpdatingBookmark,\n\t\t\tsetAPIvisible\n\t\t},\n\t\tcomponents,\n\t\tdseIcons,\n\t\tsidebar_content = [],\n\t\tsidebarFetchFailed\n\t} = state;\n\n\tconst componentData = components[referenceItem] || null;\n\n\tconst breadCrumbName =\n\t\tcomponentData &&\n\t\tcomponentData.scr &&\n\t\t(componentData.scr.friendly_name || componentData.scr.component_name);\n\n\tconst previousComponent =\n\t\t(componentData && componentData.previousComponent) || '';\n\tconst nextComponent = (componentData && componentData.nextComponent) || '';\n\tconst activeItem =\n\t\treferenceItem && docType ? `${referenceItem}-${docType}` : referenceType;\n\n\tconst showSpinner = COMPONENT_LIST.includes(docType) && !componentData;\n\n\tconst breadCrumbItems = getBreadCrumbItems(release, breadCrumbName);\n\tconst leftNavMenu = componentData\n\t\t? generateLeftNavMenu(componentData, referenceItem, release)\n\t\t: {};\n\tif (\n\t\tcomponentData &&\n\t\tObject.keys(componentData).length > 0 &&\n\t\tuserInfo &&\n\t\tCOMPONENT_LIST.indexOf(docType) === -1\n\t) {\n\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND, {\n\t\t\tmessage: componentData\n\t\t\t\t? `This component ${docType.toUpperCase()} page is not available. Please click <dps-link href=\"${createPath(\n\t\t\t\t\t\t`/reference/next-experience/${release}/now-components/${referenceItem}/overview`\n\t\t\t\t  )}\">here</dps-link> to check overview page.`\n\t\t\t\t: null\n\t\t});\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t['dps-reference-page']: true,\n\t\t\t\t['list-page']: !docType\n\t\t\t}}\n\t\t>\n\t\t\t{referenceItem ? <dps-breadcrumb items={breadCrumbItems} /> : null}\n\t\t\t<dps-template-two-column open={true} guide-side-nav>\n\t\t\t\t<div slot=\"sidebar\" className=\"dps-navigation-sidebar-component\">\n\t\t\t\t\t<dps-navigation-sidebar\n\t\t\t\t\t\tmenuData={leftNavMenu}\n\t\t\t\t\t\tshow-spinner={leftNavMenu.subMenu && !leftNavMenu.subMenu.length}\n\t\t\t\t\t\tselectedItem={referenceItem + '_' + docType}\n\t\t\t\t\t></dps-navigation-sidebar>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-reference-page-content\">\n\t\t\t\t\t{renderContent({\n\t\t\t\t\t\tcomponentData,\n\t\t\t\t\t\tdseIcons,\n\t\t\t\t\t\tdocType,\n\t\t\t\t\t\tpreviousComponent,\n\t\t\t\t\t\tnextComponent,\n\t\t\t\t\t\tpathname,\n\t\t\t\t\t\tredirectedFromNonComponentRelease,\n\t\t\t\t\t\treferenceItem,\n\t\t\t\t\t\treferenceType,\n\t\t\t\t\t\trelease,\n\t\t\t\t\t\treleaseInfo,\n\t\t\t\t\t\trouteString,\n\t\t\t\t\t\tshowSpinner,\n\t\t\t\t\t\tsystemProperties,\n\t\t\t\t\t\tuserInfo,\n\t\t\t\t\t\tversionMismatch,\n\t\t\t\t\t\thash,\n\t\t\t\t\t\tqueryParams,\n\t\t\t\t\t\totherReleases,\n\t\t\t\t\t\tinstanceInfo,\n\t\t\t\t\t\tbookmarkedComponents,\n\t\t\t\t\t\tisUpdatingBookmark,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tsetAPIvisible\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t</dps-template-two-column>\n\t\t</div>\n\t);\n};\n\nexport default view;\n","const componentsState = {\n\tcomponents: {},\n\tfetchComponentFailed: false,\n\tisFetchingComponent: false,\n\tnextComponent: null,\n\tpreviousComponent: null\n};\n\nconst initialState = {\n\t...componentsState,\n\tdataFetchFailed: false,\n\tdseIcons: [],\n\tdseIconsLoaded: false,\n\tsidebarFetchFailed: false\n};\n\nexport default initialState;\n","import { isPdiMismatchAlertDismissed } from '../../utils/helpers';\n\nconst properties = {\n\t/**\n\t * DocType: either api or usage\n\t * @type {string}\n\t */\n\tdocType: {\n\t\tdefault: ''\n\t},\n\tpathname: {\n\t\tdefault: ''\n\t},\n\tredirectedFromNonComponentRelease: {\n\t\tdefault: false\n\t},\n\t/**\n\t * referenceItem from url\n\t * @type {string}\n\t */\n\treferenceItem: {\n\t\tdefault: ''\n\t},\n\t/**\n\t * Type of reference page we are rendering\n\t * e.g. now_components, seismic, etc.\n\t */\n\treferenceType: {\n\t\tdefault: 'now-components'\n\t},\n\t/**\n\t * Release version from url\n\t * @type {string}\n\t */\n\trelease: {\n\t\tdefault: '',\n\t\trequired: true,\n\t\tschema: {\n\t\t\ttype: 'string'\n\t\t}\n\t},\n\treleaseInfo: {\n\t\tdefault: {}\n\t},\n\trouteString: {\n\t\tdefault: ''\n\t},\n\tsystemProperties: {\n\t\tdefault: {}\n\t},\n\tuserInfo: {\n\t\tdefault: {}\n\t},\n\tversionMismatch: {\n\t\tdefault: true\n\t},\n\thash: {\n\t\tdefault: ''\n\t},\n\terrors: {\n\t\tdefault: null\n\t},\n\tqueryParams: {\n\t\tdefault: {}\n\t},\n\totherReleases: {\n\t\tdefault: {}\n\t},\n\tinstanceInfo: {\n\t\tdefault: {}\n\t},\n\tbookmarkedComponents: {\n\t\tdefault: {}\n\t},\n\tisUpdatingBookmark: {\n\t\tdefault: false\n\t},\n\tisPdiMismatchAlertDismissed: {\n\t\tcomputed({properties:{release}}) {\n\t\t\treturn isPdiMismatchAlertDismissed(release);\n\t\t}\n\t},\n\tsetAPIvisible: {\n\t\tdefault: false\n\t}\n};\n\nexport default properties;\n","import { DPS_REFERENCE_PAGE_ACTIONS } from '../actions';\nimport { makeHttpEffectCreator } from '../../../utils/helpers';\nimport { replaceLatest } from '../../../utils/url';\nimport { isEmployee } from '../../../utils/helpers';\n\nconst fetchComponentDetail = makeHttpEffectCreator(\n\tDPS_REFERENCE_PAGE_ACTIONS.FETCH_COMPONENT_DETAIL,\n\t'api/snc/v2/components_library/components/:release/:component',\n\t{\n\t\tbatch: false,\n\t\tmethod: 'GET',\n\t\tpathParams: ['release', 'component'],\n\t\tonError(coeffects) {\n\t\t\tconst { updateState, dispatch, action } = coeffects;\n\t\t\tconst { data, status } = action.payload;\n\n\t\t\tupdateState({\n\t\t\t\tfetchComponentFailed: true,\n\t\t\t\tisFetchingComponent: false\n\t\t\t});\n\t\t\t// send error to dps-reference-page to handle\n\t\t\tdispatch(DPS_REFERENCE_PAGE_ACTIONS.ERROR, {\n\t\t\t\terror: {\n\t\t\t\t\tlabel: 'detail',\n\t\t\t\t\tmessage: data.error && data.error.message,\n\t\t\t\t\tdata: data && data.result,\n\t\t\t\t\tstatus\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tonSuccess(coeffects) {\n\t\t\tconst {\n\t\t\t\taction,\n\t\t\t\tdispatch,\n\t\t\t\tstate,\n\t\t\t\tupdateState,\n\t\t\t\tupdateProperties\n\t\t\t} = coeffects;\n\t\t\tconst {\n\t\t\t\tproperties: { referenceItem, hash, release, userInfo, docType }\n\t\t\t} = state;\n\t\t\tconst {\n\t\t\t\tpayload: { result }\n\t\t\t} = action;\n\n\t\t\tconst {\n\t\t\t\tapi,\n\t\t\t\tcategory,\n\t\t\t\tinternal,\n\t\t\t\tother_releases,\n\t\t\t\trelated_components,\n\t\t\t\tproject_name,\n\t\t\t\tusage,\n\t\t\t\tcomponent_name,\n\t\t\t\tdescription\n\t\t\t} = result;\n\t\t\tconst apiPayload = (api && api.payload) || {};\n\n\t\t\tif (release === 'latest') {\n\t\t\t\treplaceLatest(api.release);\n\t\t\t}\n\n\t\t\tconst newRelatedComponents =\n\t\t\t\trelated_components &&\n\t\t\t\trelated_components.map(component => {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tbookmarked,\n\t\t\t\t\t\thas_api,\n\t\t\t\t\t\thas_playground,\n\t\t\t\t\t\thas_usage,\n\t\t\t\t\t\tinternal,\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tpreview_image,\n\t\t\t\t\t\tscr_description,\n\t\t\t\t\t\thas_uib_docs\n\t\t\t\t\t} = component;\n\n\t\t\t\t\t//internal needed, icon needed, bookmarked needed, playground link needed\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...component,\n\t\t\t\t\t\tcomponent_name: name,\n\t\t\t\t\t\tdescription: scr_description,\n\t\t\t\t\t\tapi: has_api\n\t\t\t\t\t\t\t? `#!/reference/next-experience/${release}/now-components/${name}/api`\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\tusage: has_usage\n\t\t\t\t\t\t\t? `#!/reference/next-experience/${release}/now-components/${name}/usage`\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\tuibSetup: has_uib_docs\n\t\t\t\t\t\t\t? `#!/reference/next-experience/${release}/now-components/${name}/uib-setup`\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\tplayground: has_playground\n\t\t\t\t\t\t\t? `#!/reference/next-experience/${release}/now-components/${name}/playground`\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\toverview: `#!/reference/next-experience/${release}/now-components/${name}/overview`,\n\t\t\t\t\t\tinternal,\n\t\t\t\t\t\tbookmarked,\n\t\t\t\t\t\timageSrc: preview_image\n\t\t\t\t\t};\n\t\t\t\t});\n\n\t\t\t//Finding can install link value\n\t\t\tconst releasedToPublicNpm =\n\t\t\t\tresult && result.released_to_public_npm === 'true';\n\t\t\tconst uibElementTypes = [\n\t\t\t\t'facades',\n\t\t\t\t'macroponent-component',\n\t\t\t\t'modal',\n\t\t\t\t'page',\n\t\t\t\t'app-shells'\n\t\t\t];\n\t\t\tconst isInstallLinkAvailable =\n\t\t\t\tproject_name &&\n\t\t\t\t!['Draft', 'Deprecated', 'Cancelled'].includes(result.availability) &&\n\t\t\t\t!uibElementTypes.includes(result.element_type);\n\t\t\tconst isUserEmployee = isEmployee(userInfo);\n\t\t\tlet canInstallComponent = false;\n\n\t\t\tif (isInstallLinkAvailable && (isUserEmployee || releasedToPublicNpm)) {\n\t\t\t\tcanInstallComponent = true;\n\t\t\t}\n\n\t\t\tconst isAPIDataAvailable =\n\t\t\t\tresult && result.api && result.api.isContentFound;\n\n\t\t\tif (\n\t\t\t\t(docType === 'api' || docType === 'playground') &&\n\t\t\t\tisAPIDataAvailable &&\n\t\t\t\t!canInstallComponent\n\t\t\t) {\n\t\t\t\tupdateProperties({ setAPIvisible: false });\n\t\t\t\tdispatch('DPS_REFERENCE_PAGE#REDIRECT_TO_SIGN_IN_PAGE');\n\t\t\t} else if (\n\t\t\t\t(docType === 'api' || docType === 'playground') &&\n\t\t\t\tisAPIDataAvailable &&\n\t\t\t\tcanInstallComponent\n\t\t\t) {\n\t\t\t\tupdateProperties({ setAPIvisible: true });\n\t\t\t}\n\n\t\t\tupdateState({\n\t\t\t\tvalue: {\n\t\t\t\t\tcomponents: {\n\t\t\t\t\t\t[referenceItem]: {\n\t\t\t\t\t\t\t...apiPayload,\n\t\t\t\t\t\t\tcategory: category,\n\t\t\t\t\t\t\tname: component_name,\n\t\t\t\t\t\t\tpackageName: project_name,\n\t\t\t\t\t\t\tother_releases: other_releases,\n\t\t\t\t\t\t\tinternal: internal,\n\t\t\t\t\t\t\tusage: usage ? usage.content : '',\n\t\t\t\t\t\t\tusageToc: usage ? usage.tabs : [],\n\t\t\t\t\t\t\trelatedComponents: newRelatedComponents,\n\t\t\t\t\t\t\tdescription: description,\n\t\t\t\t\t\t\tcanInstallComponent: canInstallComponent,\n\t\t\t\t\t\t\tscr: { ...result }\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tfetchComponentFailed: false,\n\t\t\t\t\tisFetchingComponent: false\n\t\t\t\t},\n\t\t\t\toperation: 'merge'\n\t\t\t});\n\t\t\tsetTimeout(() => {\n\t\t\t\tdispatch('DPS_REFERENCE#SCROLL_TO', { jumpTo: hash });\n\t\t\t}, 500);\n\t\t}\n\t}\n);\n\nexport default fetchComponentDetail;\n","/* eslint-disable object-shorthand */\nimport { DPS_REFERENCE_PAGE_ACTIONS } from '../actions';\nimport { CONSTANTS } from '../../../constants';\nimport { makeHttpEffectCreator } from '../../../utils/helpers';\n\nconst fetchDseIcons = makeHttpEffectCreator(\n\tDPS_REFERENCE_PAGE_ACTIONS.FETCH_DSE_ICONS,\n\tCONSTANTS.ENDPOINTS.DSE_ICONS_URL,\n\t{\n\t\tbatch: false,\n\t\tmethod: 'GET',\n\t\tpathParams: ['fileName'],\n\t\tonError({ updateState }) {\n\t\t\tupdateState({\n\t\t\t\tpath: 'dseIcons',\n\t\t\t\tvalue: [],\n\t\t\t\toperation: 'set'\n\t\t\t});\n\n\t\t\tupdateState({\n\t\t\t\tpath: 'dseIconsLoaded',\n\t\t\t\tvalue: false,\n\t\t\t\toperation: 'set'\n\t\t\t});\n\t\t},\n\t\tonSuccess({ action, updateState }) {\n\t\t\tupdateState({\n\t\t\t\tpath: 'dseIcons',\n\t\t\t\tvalue: [...action.payload],\n\t\t\t\toperation: 'set'\n\t\t\t});\n\n\t\t\tupdateState({\n\t\t\t\tpath: 'dseIconsLoaded',\n\t\t\t\tvalue: true,\n\t\t\t\toperation: 'set'\n\t\t\t});\n\t\t}\n\t}\n);\n\nexport default {\n\t...fetchDseIcons,\n\t[DPS_REFERENCE_PAGE_ACTIONS.GET_DSE_ICONS]: coeffects => {\n\t\tconst { dispatch, state } = coeffects;\n\t\tif (!state.dseIconsLoaded) {\n\t\t\tdispatch(DPS_REFERENCE_PAGE_ACTIONS.FETCH_DSE_ICONS, {\n\t\t\t\tfileName: 'now-icon-list-2.0.23.json'\n\t\t\t});\n\t\t}\n\t}\n};\n","import { DPS_REFERENCE_PAGE_ACTIONS } from '../actions';\nimport { CONSTANTS } from '../../../constants';\nimport { makeHttpEffectCreator } from '../../../utils/helpers';\nimport { createPath } from '../../../utils/url';\n\nconst createSidebar = ({libraries, release}) => {\n\tlet sidebar = [\n\t\t{\n\t\t\tid: 'now-components',\n\t\t\tlabel: 'Components Home',\n\t\t\thref: createPath(`/reference/next-experience/${release}/components`)\n\t\t}\n\t];\n\n\tfor (const key in libraries) {\n\t\tconst library = {\n\t\t\tid: libraries[key].id,\n\t\t\tlabel: libraries[key].title,\n\t\t\tchildren: libraries[key].components.map( component => {\n\t\t\t\tconst children = [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: `${component.name}-overview`,\n\t\t\t\t\t\tlabel: 'Overview',\n\t\t\t\t\t\thref: createPath(`/reference/next-experience/${release}/${libraries[key].id}/${component.name}/overview`),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: `${component.name}-api`,\n\t\t\t\t\t\tlabel: 'API',\n\t\t\t\t\t\thref: createPath(`/reference/next-experience/${release}/${libraries[key].id}/${component.name}/api`),\n\t\t\t\t\t}\n\t\t\t\t];\n\n\t\t\t\tif(component.has_usage) {\n\t\t\t\t\tchildren.push({\n\t\t\t\t\t\tid: `${component.name}-usage`,\n\t\t\t\t\t\tlabel: 'Usage',\n\t\t\t\t\t\thref: createPath(`/reference/next-experience/${release}/${libraries[key].id}/${component.name}/usage`),\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// If the component is now-icon or now-legacy-icon we want to show a gallery\n\t\t\t\tconst hasGalleryPage = ['now-icon', 'now-legacy-icon'].includes(component.name);\n\n\t\t\t\tif (hasGalleryPage) {\n\t\t\t\t\tchildren.push({\n\t\t\t\t\t\tid: `${component.name}-gallery`,\n\t\t\t\t\t\tlabel: 'Gallery',\n\t\t\t\t\t\thref: createPath(`/reference/next-experience/${release}/${libraries[key].id}/${component.name}/gallery`),\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn ({\n\t\t\t\t\tid: component.name,\n\t\t\t\t\tlabel: component.title,\n\t\t\t\t\thref: createPath(`/reference/next-experience/${release}/${libraries[key].id}/${component.name}/api`),\n\t\t\t\t\tchildren\n\t\t\t\t});\n\t\t\t})\n\t\t};\n\n\t\tsidebar = [\n\t\t\t...sidebar,\n\t\t\tlibrary\n\t\t];\n\t}\n\n\treturn sidebar;\n};\n\nconst fetchSidebar = makeHttpEffectCreator(\n\tDPS_REFERENCE_PAGE_ACTIONS.FETCH_SIDEBAR,\n\tCONSTANTS.ENDPOINTS.GET_COMPONENTS_NAV,\n\t{\n\t\tbatch: false,\n\t\tmethod: 'GET',\n\t\tpathParams: ['release'],\n\t\tonError(coeffects) {\n\t\t\tconst { updateState, dispatch, action } = coeffects;\n\t\t\tconst { data, status } = action.payload;\n\n\t\t\tupdateState({\n\t\t\t\tsidebarFetchFailed: true\n\t\t\t});\n\t\t\t// send error to dps-reference-page to handle\n\t\t\tdispatch(DPS_REFERENCE_PAGE_ACTIONS.ERROR, {\n\t\t\t\terror: {\n\t\t\t\t\tlabel: 'sidebar',\n\t\t\t\t\tmessage: data.error && data.error.message,\n\t\t\t\t\tstatus\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tonSuccess(coeffects) {\n\t\t\tconst { action, updateState, properties: { release } } = coeffects;\n\n\t\t\tupdateState({\n\t\t\t\tsidebar_content: createSidebar({libraries: action.payload.result, release})\n\t\t\t});\n\t\t}\n\t}\n);\n\nexport default fetchSidebar;\n","import { actionTypes } from '@servicenow/ui-core';\nimport { isEmpty, get } from 'lodash';\nimport { DPS_FILTER_NAV_ITEM } from '../../../components/dps-filter-nav/actions';\nimport { DPS_PREV_NEXT_DOC_ACTIONS } from '../../../components/dps-prev-next-doc/actions';\nimport scrollToElement from '../../../utils/scrollToElement';\nimport { DPS_REFERENCE_PAGE_ACTIONS } from '../actions';\nimport fetchComponentDetail from './fetchComponentDetail';\nimport fetchDseIcons from './fetchDseIcons';\nimport fetchSidebar from './fetchSidebar';\nimport { updateRoute } from '../../../routes';\nimport { setMetaByPageType } from '../../../utils/meta';\nimport { componentLibInactive } from '../../../utils/releaseHelpers';\nimport {\n\thasComponentLibrary,\n\tredirectToAuth,\n\thasUserInfoUpdated,\n\tshouldRemovePDIMismatchAlertFromSessionStorage,\n\tcapitalizeWords\n} from '../../../utils/helpers';\nimport { CONSTANTS, DPS_ERROR_ACTIONS, ERROR_CODES } from '../../../constants';\nimport { createPath } from '../../../utils/url';\nimport fetchBookmarkedComponents from '../../dps-component-gallery/actionHandlers/fetchBookmarkedComponents';\nimport toggleComponentBookmark from '../../dps-component-gallery/actionHandlers/toggleComponentBookmark';\nimport { COMPONENT_LIST } from '../dps-reference-helper';\n\nimport { APP_ACTIONS } from '../../dps-app/actions';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst dispatchFetchComponentDetail = ({\n\tcomponents,\n\tdispatch,\n\treferenceItem,\n\trelease,\n\tstate,\n\tupdateState\n}) => {\n\tif (!isEmpty(referenceItem) && isEmpty(components[referenceItem]) && !state.isFetchingComponent) {\n\t\tupdateState({ isFetchingComponent: true });\n\t\tdispatch(DPS_REFERENCE_PAGE_ACTIONS.FETCH_COMPONENT_DETAIL, {\n\t\t\tcomponent: referenceItem,\n\t\t\trelease\n\t\t});\n\t}\n};\n\nconst reactToHash = coeffects => {\n\tconst { dispatch, properties, action } = coeffects;\n\n\tif (action.payload.name === 'hash') {\n\t\tdispatch('DPS_REFERENCE#SCROLL_TO', { jumpTo: properties.hash });\n\t}\n};\n\nexport default {\n\t...fetchComponentDetail,\n\t...fetchDseIcons,\n\t...fetchBookmarkedComponents,\n\t...toggleComponentBookmark,\n\t...fetchSidebar,\n\t[COMPONENT_BOOTSTRAPPED](coeffects) {\n\t\tconst {\n\t\t\tdispatch,\n\t\t\tproperties,\n\t\t\tstate,\n\t\t\tupdateProperties,\n\t\t\tupdateState\n\t\t} = coeffects;\n\t\tconst { pdiVersion, referenceItem, release } = properties;\n\t\tconst { components } = state;\n\t\tconst componentLibResult = componentLibInactive(properties);\n\t\tconst userInfo = properties.userInfo;\n\n\t\tif (componentLibResult) {\n\t\t\tupdateProperties({\n\t\t\t\tredirectedFromNonComponentRelease: true\n\t\t\t});\n\t\t\treturn updateRoute(componentLibResult);\n\t\t}\n\n\t\treactToHash(coeffects);\n\t\tsetMetaByPageType('nowComponentLibrary');\n\t\tdispatch(DPS_REFERENCE_PAGE_ACTIONS.GET_DSE_ICONS);\n\t\tdispatch(DPS_REFERENCE_PAGE_ACTIONS.FETCH_SIDEBAR, {\n\t\t\trelease\n\t\t});\n\n\t\t// if rendering a component api page and component detail doesn't exist,\n\t\t// then dispatch action to retrieve component detail\n\t\tdispatchFetchComponentDetail({\n\t\t\tcomponents,\n\t\t\tdispatch,\n\t\t\treferenceItem,\n\t\t\trelease,\n\t\t\tstate,\n\t\t\tupdateState\n\t\t});\n\n\t\tupdateState({\n\t\t\tisAlertOpen: pdiVersion !== release\n\t\t});\n\n\t\tif (userInfo && Object.keys(userInfo).length > 0 && userInfo.is_logged_in) {\n\t\t\tdispatch(APP_ACTIONS.GET_BOOKMARKED_COMPONENTS, { release });\n\t\t}\n\t},\n\t[COMPONENT_PROPERTY_CHANGED](coeffects) {\n\t\tconst {\n\t\t\tdispatch,\n\t\t\tproperties,\n\t\t\tstate,\n\t\t\taction,\n\t\t\tupdateProperties,\n\t\t\tupdateState\n\t\t} = coeffects;\n\t\tconst {\n\t\t\tpayload: { name, value, previousValue }\n\t\t} = action;\n\t\tconst {\n\t\t\tdocType,\n\t\t\tredirectedFromNonComponentRelease,\n\t\t\treferenceItem,\n\t\t\trelease,\n\t\t\terrors,\n\t\t\tsystemProperties\n\t\t} = properties;\n\t\tconst { components } = state;\n\t\tconst componentLibResult = componentLibInactive(properties);\n\t\tconst userInfoUpdated = hasUserInfoUpdated({ name, value, previousValue });\n\t\tconst componentData = components[referenceItem] || null;\n\t\tconst { canInstallComponent, scr } = componentData || {};\n\t\tconst isAPIDataAvailable = scr && scr.api && scr.api.isContentFound;\n\n\t\tif (componentLibResult) {\n\t\t\tupdateProperties({\n\t\t\t\tredirectedFromNonComponentRelease: true\n\t\t\t});\n\t\t\treturn updateRoute(componentLibResult);\n\t\t}\n\n\t\tif (name === 'hash') {\n\t\t\treactToHash(coeffects);\n\t\t}\n\n\t\tif (name === 'release' || userInfoUpdated) {\n\t\t\tupdateState({\n\t\t\t\tsidebar_content: [],\n\t\t\t\tcomponents: {}\n\t\t\t});\n\t\t\tdispatch(DPS_REFERENCE_PAGE_ACTIONS.FETCH_SIDEBAR, {\n\t\t\t\trelease\n\t\t\t});\n\n\t\t\tif (COMPONENT_LIST.includes(docType) || userInfoUpdated) {\n\t\t\t\tdispatch(DPS_REFERENCE_PAGE_ACTIONS.FETCH_COMPONENT_DETAIL, {\n\t\t\t\t\tcomponent: referenceItem,\n\t\t\t\t\trelease\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tshouldRemovePDIMismatchAlertFromSessionStorage();\n\t\t}\n\n\t\tif (name === 'referenceItem') {\n\t\t\tdispatchFetchComponentDetail({\n\t\t\t\tcomponents,\n\t\t\t\tdispatch,\n\t\t\t\treferenceItem,\n\t\t\t\trelease,\n\t\t\t\tstate,\n\t\t\t\tupdateState\n\t\t\t});\n\t\t}\n\n\t\tif (\n\t\t\tname === 'docType' &&\n\t\t\t(value === 'api' || value === 'playground') &&\n\t\t\tisAPIDataAvailable &&\n\t\t\t!canInstallComponent\n\t\t) {\n\t\t\tredirectToAuth(location.href);\n\t\t}\n\n\t\tif (\n\t\t\tname === 'docType' &&\n\t\t\t(value === 'api' || value === 'playground') &&\n\t\t\tisAPIDataAvailable &&\n\t\t\tcanInstallComponent\n\t\t) {\n\t\t\tupdateProperties({ setAPIvisible: true });\n\t\t}\n\n\t\tif (name === 'docType' && value !== 'api' && value !== 'playground') {\n\t\t\tupdateProperties({ setAPIvisible: false });\n\t\t}\n\t\t// Checks for errors and handles them accordingly\n\t\t// The reason we are doing this is to prevent 404 from\n\t\t// overwriting 401. We always want to prompt the user to sign\n\t\t// in at 401 before displaying a 404 page.\n\t\tif (action.payload.name === 'errors') {\n\t\t\tconst detailStatus = get(errors, 'detail.status', {});\n\t\t\tconst libraryStatus = get(errors, 'library.status', {});\n\t\t\tconst sidebarStatus = get(errors, 'sidebar.status', {});\n\t\t\tif (\n\t\t\t\t[detailStatus, libraryStatus, sidebarStatus].includes(\n\t\t\t\t\tERROR_CODES.UNAUTHORIZED\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tredirectToAuth(location.href);\n\t\t\t}\n\n\t\t\tif (detailStatus && detailStatus === ERROR_CODES.NOT_FOUND) {\n\t\t\t\tif (\n\t\t\t\t\terrors &&\n\t\t\t\t\terrors.detail &&\n\t\t\t\t\terrors.detail.data &&\n\t\t\t\t\terrors.detail.data.other_releases &&\n\t\t\t\t\terrors.detail.data.other_releases.length > 0\n\t\t\t\t) {\n\t\t\t\t\tlet otherReleases = errors.detail.data.other_releases;\n\t\t\t\t\tfor (let i = 0; i < otherReleases.length; i++)\n\t\t\t\t\t\totherReleases[i].url = otherReleases[i].url + '/' + docType;\n\n\t\t\t\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND, {\n\t\t\t\t\t\totherReleases: otherReleases,\n\t\t\t\t\t\tcontentTitle: errors.detail.data.content_title\n\t\t\t\t\t\t\t? errors.detail.data.content_title +\n\t\t\t\t\t\t\t  ' ' +\n\t\t\t\t\t\t\t  capitalizeWords(docType)\n\t\t\t\t\t\t\t: '',\n\t\t\t\t\t\tisContentNotFoundForCurrentRelease: true\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND, {\n\t\t\t\t\t\tmessage: `This component is not available. You may select a newer release (Orlando or newer for components) or search for the component in the <dps-link href=\"${createPath(\n\t\t\t\t\t\t\t`/reference/next-experience/${\n\t\t\t\t\t\t\t\tsystemProperties['dev.defaults.now_experience_release']\n\t\t\t\t\t\t\t}/components`\n\t\t\t\t\t\t)}\">gallery</dps-link>.`\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Checks if the userInfo.version_selected property changed since this would be caused by a version switch\n\t\t// and if the `redirectedFromNonComponentRelease` is true. We then set\n\t\t// the `redirectedFromNonComponentRelease` flag based on whether the selected release has components\n\t\tif (name === 'userInfo' && redirectedFromNonComponentRelease) {\n\t\t\tconst { version_selected } = value;\n\t\t\tupdateProperties({\n\t\t\t\tredirectedFromNonComponentRelease: !hasComponentLibrary(\n\t\t\t\t\tversion_selected,\n\t\t\t\t\tsystemProperties\n\t\t\t\t)\n\t\t\t});\n\t\t}\n\t},\n\t['DPS_REFERENCE#SCROLL_TO']: ({ action }) => {\n\t\tconst {\n\t\t\tpayload: { jumpTo }\n\t\t} = action;\n\t\tconst selector = jumpTo ? jumpTo.replace('#', '') : '';\n\n\t\tscrollToElement({\n\t\t\thostElement: window,\n\t\t\tselector,\n\t\t\tuseOffset: true,\n\t\t\tadditionalOffset: -100\n\t\t});\n\t},\n\t'DPS_VERSION_SWITCHER#ALERT_DISMISSED': coeffects => {\n\t\tconst { action, updateProperties } = coeffects;\n\t\tconst { payload } = action;\n\t\tupdateProperties({ ...payload });\n\t},\n\t[DPS_FILTER_NAV_ITEM.ITEM_CLICK](coeffects) {\n\t\tconst { action, properties } = coeffects;\n\t\tconst { navItemId } = action.payload;\n\t\tconst { referenceType, release } = properties;\n\t\tupdateRoute(\n\t\t\t`/reference/next-experience/${release}/${referenceType}/${navItemId}`\n\t\t);\n\t},\n\t[DPS_PREV_NEXT_DOC_ACTIONS.NEXT_CLICKED](coeffects) {\n\t\tconst { action, properties } = coeffects;\n\t\tconst { navItemId } = action.payload.next;\n\t\tconst { referenceType, release } = properties;\n\t\tupdateRoute(\n\t\t\t`/reference/next-experience/${release}/${referenceType}/${navItemId}`\n\t\t);\n\t},\n\t[DPS_PREV_NEXT_DOC_ACTIONS.PREV_CLICKED](coeffects) {\n\t\tconst { action, properties } = coeffects;\n\t\tconst { navItemId } = action.payload.prev;\n\t\tconst { referenceType, release } = properties;\n\t\tupdateRoute(\n\t\t\t`/reference/next-experience/${release}/${referenceType}/${navItemId}`\n\t\t);\n\t},\n\t// Listen for request errors\n\t['DPS_REFERENCE_PAGE#ERROR']: ({ action, properties, updateProperties }) => {\n\t\tconst {\n\t\t\tpayload: { error }\n\t\t} = action;\n\t\tconst { errors } = properties;\n\n\t\tupdateProperties({\n\t\t\terrors: {\n\t\t\t\t...errors,\n\t\t\t\t[error.label]: error\n\t\t\t}\n\t\t});\n\t},\n\t['DPS_COMPONENT_LIST#ERROR']: ({ action, properties, updateProperties }) => {\n\t\tconst {\n\t\t\tpayload: { error }\n\t\t} = action;\n\t\tconst { errors } = properties;\n\n\t\tupdateProperties({\n\t\t\terrors: {\n\t\t\t\t...errors,\n\t\t\t\t[error.label]: error\n\t\t\t}\n\t\t});\n\t},\n\t[APP_ACTIONS.TOGGLE_COMPONENT_BOOKMARK_SUCCEEDED]: coeffects => {\n\t\tconst { updateProperties } = coeffects;\n\t\tupdateProperties({ isUpdatingBookmark: false });\n\t},\n\n\t[APP_ACTIONS.TOGGLE_COMPONENT_BOOKMARK_FAILED]: coeffects => {\n\t\tconst { dispatch, properties, updateProperties } = coeffects;\n\t\tconst { release } = properties;\n\t\tupdateProperties({ isUpdatingBookmark: false });\n\t\tdispatch(APP_ACTIONS.GET_BOOKMARKED_COMPONENTS, { release });\n\t},\n\t['DPS_BOOKMARK#TOGGLE_STATUS']: coeffects => {\n\t\tconst { action, dispatch, properties, updateProperties } = coeffects;\n\t\tconst {\n\t\t\tpayload: { identifier }\n\t\t} = action;\n\t\tconst { release } = properties;\n\n\t\tdispatch(APP_ACTIONS.TOGGLE_COMPONENT_BOOKMARK, {\n\t\t\tdata: { bookmarkType: 'scr', identifier, release }\n\t\t});\n\t\tupdateProperties({ isUpdatingBookmark: true });\n\t},\n\t[DPS_REFERENCE_PAGE_ACTIONS.REDIRECT_TO_SIGN_IN_PAGE]: () => {\n\t\tredirectToAuth(location.href);\n\t}\n};","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport view from './view';\nimport initialState from './initialState';\nimport properties from './properties';\nimport actions from './actions';\nimport actionHandlers from './actionHandlers/index';\nimport styles from './dps-reference-page.scss';\n\nexport default createCustomElement('dps-reference-page', {\n\trenderer: { type: snabbdom },\n\tview,\n\tinitialState,\n\tproperties,\n\tactions,\n\tactionHandlers,\n\tstyles\n});\n","import '../../components/dps-page-header';\nimport '../../components/dps-link';\nimport '../../components/dps-overview-feedback';\nimport '@servicenow/now-icon';\n\nimport HeaderImage from '../../images/guide-platform-overview-header.svg';\nimport NoCode from '../../images/guide-platform-no-code.svg';\nimport ProDev from '../../images/guide-platform-pro-dev.svg';\nimport DevTeam from '../../images/guide-platform-dev-team.svg';\nimport Modules from '../../images/guide-platform-modules.svg';\nimport Colors from '../../styles/global/colors';\nimport {createAnchor, createPath} from '../../utils/url';\n\nconst view = ({ properties: { release, systemProperties } }) => {\n\tconst COMMUNITY_LINK = systemProperties['dev.community_link'];\n\treturn(\n\t<div className=\"dps-overview -guides-platform-overview\">\n\t\t<dps-page-header\n\t\t\tpage-title=\"Now Platform<sup>®</sup>\"\n\t\t\tsub-title=\"Rapidly develop applications that deliver seamless experiences.\"\n\t\t\tbackground-color={Colors.guidesBackgroundColor}\n\t\t\tbackground-image={HeaderImage}\n\t\t\tbackground-size={'auto 105%'}\n\t\t/>\n\t\t<section className=\"dps-overview-section -overview -centered\">\n\t\t\t<div className=\"dps-overview-section-content\">\n\t\t\t\t<h2 className=\"dps-overview-section-header\">\n\t\t\t\t\t<span>Leverage world-class tooling</span>\n\t\t\t\t</h2>\n\t\t\t\t<p>The Now Platform empowers developers to deliver enterprise applications to rapidly address business needs. Applications are interconnected through a single data model and are designed to seamlessly integrate with any apps already found in your existing enterprise system.</p>\n\t\t\t\t<p>With its <dps-link href={createAnchor('#features')}>powerful features</dps-link>, the Now Platform not only boosts the productivity of your team, but also the productivity of your entire enterprise.</p>\n\t\t\t</div>\n\t\t</section>\n\t\t<section className=\"dps-overview-section -related-parent\">\n\t\t\t<div className=\"dps-overview-section-content\">\n\t\t\t\t<h2>Deliver the workflow apps your business needs, fast</h2>\n\t\t\t\t<p>Our development tools are suitable for every skill level&mdash;saving your business time and money as you and your development team builds workflow solutions.</p>\n\t\t\t\t<hr />\n\t\t\t</div>\n\t\t</section>\n\t\t<section className=\"dps-overview-section -three-col -related-child\">\n\t\t\t<div className=\"dps-overview-section-content\">\n\t\t\t\t<div>\n\t\t\t\t\t<h3>Automate departmental and cross-enterprise workflows</h3>\n\t\t\t\t\t<p>Transform your outdated business processes into digital workflows that connect systems, apps, and data&mdash;providing visibility into the end-to-end process.</p>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<h3>Seamlessly embed analytics and AI in every app</h3>\n\t\t\t\t\t<p>No-code utilities help build and train machine learning models, design NLU-powered conversations, and visualize KPI dependencies.</p>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<h3>Empower anyone to build workflow apps</h3>\n\t\t\t\t\t<p>Our no-code environment features drag-and-drop tools and libraries of reusable components, pre-built templates, and automated testing.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\t\t<section className=\"dps-overview-section -two-col -related-child\">\n\t\t\t<div className=\"dps-overview-section-content\">\n\t\t\t\t<div id=\"pdi\">\n\t\t\t\t\t<h2>Your instance is supported by a ServiceNow Advanced High Availability architecture</h2>\n\t\t\t\t\t<p>This unique, multi-instance architecture meets and exceeds stringent requirements surrounding data sovereignty, availability, and performance. Our advanced infrastructure provides instance redundancy between data center clusters in your chosen geography.</p>\n\t\t\t\t\t<p>For more information on how ServiceNow delivers secure, scalable, and compliant cloud services, visit <dps-link href=\"https://www.servicenow.com/trust\" target=\"_blank\">www.servicenow.com/trust</dps-link>.</p>\n\t\t\t\t</div>\n\t\t\t\t<img src={Modules} alt=\"Illustration of modules\" />\n\t\t\t</div>\n\t\t</section>\n\t\t<section className=\"dps-overview-section -related-child\">\n\t\t\t<div className=\"dps-overview-section-content\">\n\t\t\t\t<div id=\"features\">\n\t\t\t\t\t<h2>Capabilities of the Now Platform App&nbsp;Engine</h2>\n\t\t\t\t\t<p>The tools you need to deliver powerful enterprise solutions&mdash;all in one platform.</p>\n\t\t\t\t\t<hr />\n\n\t\t\t\t\t<div className=\"dps-guides-features-group\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<h3>Flow Designer</h3>\n\t\t\t\t\t\t\t<p>Automate business processes as digital workflows across departments, apps, and systems.</p>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<h3>IntegrationHub</h3>\n\t\t\t\t\t\t\t<p>Natively integrate ServiceNow with any system to easily create end-to-end digital workflows.</p>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<h3>Mobile Studio</h3>\n\t\t\t\t\t\t\t<p>Build and deploy native mobile experiences with an intuitive designer.</p>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<h3>Performance Analytics</h3>\n\t\t\t\t\t\t\t<p>Unlock insights to anticipate trends, prioritize resources, and drive service improvements.</p>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<h3>Studio IDE</h3>\n\t\t\t\t\t\t\t<p>Use a web-based integrated development environment to build, deploy, and manage your apps.</p>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<h3>Guided App Creator</h3>\n\t\t\t\t\t\t\t<p>Get guidance to rapidly create applications, define data, and configure user experiences.</p>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<h3>Delegated Development</h3>\n\t\t\t\t\t\t\t<p>Help IT extend app development to other employees while maintaining control and governance over your instances.</p>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<h3>Next Experience Components</h3>\n\t\t\t\t\t\t\t<p>Utilize out-of-the-box components to extend your apps and feature a modern UI to your users.</p>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<h3>Predictive Intelligence</h3>\n\t\t\t\t\t\t\t<p>Automate mundane tasks with machine learning and focus on the work that matters most.</p>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<h3>Virtual Agent</h3>\n\t\t\t\t\t\t\t<p>Resolve issues faster and scale your organization with intelligent chatbots.</p>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<h3>Approval Engine</h3>\n\t\t\t\t\t\t\t<p>Set up approvals within applications to manage how tasks and requests are approved. This capability is embedded within the workflow engine.</p>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<h3>Notifications</h3>\n\t\t\t\t\t\t\t<p>Manage communication between you, your users, and your application.</p>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<h3>Enterprise Availability</h3>\n\t\t\t\t\t\t\t<p>Have near-perfect availability with redundancy built into every layer of our cloud.</p>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<h3>Multi-level Architecture</h3>\n\t\t\t\t\t\t\t<p>Leverage our scalable architecture to perform tens of thousands to tens of billions of full-page transactions every month.</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\t\t<section className=\"dps-overview-section -centered -getting-started\">\n\t\t\t<div className=\"dps-overview-section-content\">\n\t\t\t\t<h2>Get started with a guide</h2>\n\t\t\t\t<div className=\"dps-guides-card-group\">\n\t\t\t\t\t<div className=\"dps-guides-column\">\n\t\t\t\t\t\t<dps-content-stack>\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc={NoCode}\n\t\t\t\t\t\t\t\talt=\"man holding tablet\"\n\t\t\t\t\t\t\t\tslot=\"icon-custom\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<h2>No-Code (Citizen Developer) Guide</h2>\n\t\t\t\t\t\t\t<p>Guidance on building apps to those with limited to no coding experience.</p>\n\t\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\t\thref={createPath(`/guides/${release}/now-platform/citizen-dev-guide/cd-introduction`)}\n\t\t\t\t\t\t\t\tbutton-style\n\t\t\t\t\t\t\t\tbutton-variant=\"secondary\"\n\t\t\t\t\t\t\t\tinternal-action\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tRead Guide\n\t\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t</dps-content-stack>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"dps-guides-column\">\n\t\t\t\t\t\t<dps-content-stack>\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc={ProDev}\n\t\t\t\t\t\t\t\talt=\"woman on computer\"\n\t\t\t\t\t\t\t\tslot=\"icon-custom\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<h2>Professional Developer Guide</h2>\n\t\t\t\t\t\t\t<p>Guidance on automating, extending, and building digital workflow apps across the enterprise.</p>\n\t\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\t\thref={createPath(`/guides/${release}/now-platform/pro-dev-guide/pro-dev-guide-page-1`)}\n\t\t\t\t\t\t\t\tbutton-style\n\t\t\t\t\t\t\t\tbutton-variant=\"secondary\"\n\t\t\t\t\t\t\t\tinternal-action\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tRead Guide\n\t\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t</dps-content-stack>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"dps-guides-column\">\n\t\t\t\t\t\t<dps-content-stack>\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc={DevTeam}\n\t\t\t\t\t\t\t\talt=\"two people working together\"\n\t\t\t\t\t\t\t\tslot=\"icon-custom\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<h2>Developing as a Team Guide</h2>\n\t\t\t\t\t\t\t<p>Guidance for developers and teams in adopting forward-looking, future-proof practices for team management, instance and application configuration, and source control usage.</p>\n\t\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\t\thref={createPath(`/guides/${release}/now-platform/developing-as-a-team/dt-introduction`)}\n\t\t\t\t\t\t\t\tbutton-style\n\t\t\t\t\t\t\t\tbutton-variant=\"secondary\"\n\t\t\t\t\t\t\t\tinternal-action\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tRead Guide\n\t\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t</dps-content-stack>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\t\t<section className=\"dps-overview-section -two-col -inverse -callout\">\n\t\t\t<div className=\"dps-overview-section-content -tall -narrow\">\n\t\t\t\t<div>\n\t\t\t\t\t<h2 className=\"dps-overview-section-header\">Transform the front-end with Now<sup>&reg;</sup>&nbsp;Experience</h2>\n\t\t\t\t\t<p>Now Experience gives your apps a modern look and feel.</p>\n\t\t\t\t\t<dps-link\n\t\t\t\t\t\tbutton-style\n\t\t\t\t\t\tbutton-variant=\"primary-inverse\"\n\t\t\t\t\t\tbutton-size=\"lg\"\n\t\t\t\t\t\thref=\"/guides/now-experience\"\n\t\t\t\t\t\tinternal-action\n\t\t\t\t\t>\n\t\t\t\t\t\tLearn more\n\t\t\t\t\t</dps-link>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\n\t\t<dps-overview-feedback\n\t\t\ttitle=\"Need help?\"\n\t\t>\n\t\t\t<p>If you’re an existing customer, check out our Support hub for potential solutions related to the Now Platform. For insight and inspiration from fellow developers, browse our <dps-link href={ COMMUNITY_LINK } target=\"_blank\" external-action>Now Community forums</dps-link>.</p>\n\n\t\t\t<dps-link\n\t\t\t\tslot=\"button\"\n\t\t\t\tbutton-style\n\t\t\t\tbutton-variant=\"primary\"\n\t\t\t\tbutton-size=\"sm\"\n\t\t\t\texternal-action\n\t\t\t\thref=\"https://www.servicenow.com/support/contact-support.html\"\n\t\t\t\ttarget=\"_blank\"\n\t\t\t>\n\t\t\t\tContact Support\n\t\t\t</dps-link>\n\t\t</dps-overview-feedback>\n\t</div>\n);\n\t}\n\nexport default view;\n","const initialState = {};\n\nexport default initialState;","const properties = {\n\thash: {\n\t\tdefault: ''\n\t},\n\trelease: {\n\t\tdefault: '',\n\t\trequired: true,\n\t\tschema: {\n\t\t\ttype: 'string'\n\t\t}\n\t},\n\tsystemProperties: {\n\t\tdefault: []\n\t}\n};\n\nexport default properties;\n","export const DPS_PLATFORM_OVERVIEW_ACTIONS = {};\nexport default DPS_PLATFORM_OVERVIEW_ACTIONS;","import { actionTypes } from '@servicenow/ui-core';\nimport { setMetaByPageType } from '../../../utils/meta';\n\nconst { COMPONENT_BOOTSTRAPPED }  = actionTypes;\n\nexport default {\n\t[COMPONENT_BOOTSTRAPPED]: () => {\n\t\tsetMetaByPageType('nowPlatform');\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport view from './view';\nimport initialState from './initialState';\nimport properties from './properties';\nimport actions from './actions';\nimport actionHandlers from './actionHandlers/index';\nimport styles from './dps-guides-platform-overview.scss';\nimport reactToHash from '../../behaviors/reactToHash';\n\nexport default createCustomElement('dps-guides-platform-overview', {\n\trenderer: { type: snabbdom },\n\tview,\n\tinitialState,\n\tproperties,\n\tactions,\n\tactionHandlers,\n\tstyles,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: reactToHash,\n\t\t\toptions: {\n\t\t\t\tadditionalOffset: -120\n\t\t\t}\n\t\t}\n\t]\n});\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '../../components/dps-page-header';\nimport '../../components/dps-link';\nimport '@servicenow/now-icon';\n\nimport HeaderImage from '../../images/guide-experience-overview-header.svg';\nimport Desk from '../../images/guide-experience-overview-desk.svg';\nimport Extend from '../../images/guide-experience-overview-extend.svg';\nimport Phone from '../../images/guide-experience-overview-phone.svg';\nimport Colors from '../../styles/global/colors';\nimport { createAnchor, createPath } from '../../utils/url';\nimport { minimumNowExperienceVersion } from '../../utils/releaseHelpers';\n\nconst view = state => {\n\tconst { release, isEmployee, systemProperties } = state.properties;\n\n\treturn (\n\t\t<div className=\"dps-guides-experience-overview\" >\n\t\t\t<dps-page-header\n\t\t\t\tpage-title=\"Next<sup>®</sup> Experience\"\n\t\t\t\tsub-title=\"Rapidly build consumer-grade experiences within Workspace.\"\n\t\t\t\tbackground-color={Colors.guidesBackgroundColor}\n\t\t\t\tbackground-image={HeaderImage}\n\t\t\t\tbackground-size={'auto 105%'}\n\t\t\t/>\n\t\t\t<section className=\"dps-overview-section -overview -centered\">\n\t\t\t\t<div className=\"dps-overview-section-content\">\n\t\t\t\t\t<h2 className=\"dps-overview-section-header\">\n\t\t\t\t\t\t<span>A modern UI for modern solutions</span>\n\t\t\t\t\t</h2>\n\t\t\t\t\t<p>Harness the power of Now Experience to build and design amazing experiences your users will love.</p>\n\t\t\t\t\t<p>Inside the Now Experience, you’ll be able to tinker with the <dps-link href={createAnchor('#now-experience-ui-framework')}>Now Experience UI Framework</dps-link> to build your own web components or extend your apps with out-of-the-box <dps-link href={createAnchor('#now-experience-components')}>Next Experience Components</dps-link>.</p>\n\t\t\t\t</div>\n\t\t\t</section>\n\n\t\t\t<section className=\"dps-overview-section -two-col\">\n\t\t\t\t<div className=\"dps-overview-section-content -narrow\" id=\"now-experience-ui-framework\">\n\t\t\t\t\t<img src={Extend} alt=\"Woman building a site\" />\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<h2 className=\"dps-overview-section-header\">Extend your Workspace experiences with our UI framework</h2>\n\t\t\t\t\t\t<h3>How to Build</h3>\n\t\t\t\t\t\t<p>Want to learn how to build a custom component? Head to docs.servicenow.com to find step-by-step instructions on how to use the UI Framework and CLI to build and add components to your Workspace.</p>\n\t\t\t\t\t\t<p><dps-link href=\"https://docs.servicenow.com/bundle/orlando-servicenow-platform/page/build/components/concept/custom-components.html\" target=\"_blank\" external-action><strong>Learn how</strong></dps-link></p>\n\t\t\t\t\t\t<h3>What You're Building With</h3>\n\t\t\t\t\t\t<p>Created with your front-end development workflow in mind, our UI framework is a JavaScript library that enables you to extend your apps and encapsulate behaviors with web components.</p>\n\t\t\t\t\t\t<p><dps-link href={createPath(`/reference/next-experience/${minimumNowExperienceVersion(release, systemProperties)}/ui-framework/getting-started`)} internal-action><strong>Learn more about our UI framework</strong></dps-link></p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</section>\n\n\t\t\t<section className=\"dps-overview-section -two-col\">\n\t\t\t\t<div className=\"dps-overview-section-content -narrow\" id=\"now-experience-components\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<h2 className=\"dps-overview-section-header\">Ready to start building?</h2>\n\t\t\t\t\t\t<p>Head to our reference section to get to know the building blocks of ServiceNow products and the Now Experience.</p>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<dps-link href={createPath(`/reference/next-experience/${minimumNowExperienceVersion(release, systemProperties)}/components`)} internal-action><strong>Next Experience Components</strong></dps-link>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<dps-link href={createPath(`/reference/next-experience/${minimumNowExperienceVersion(release, systemProperties)}/ui-framework/api-reference/core`)} internal-action><strong>Now Experience UI Framework API</strong></dps-link>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t<p>Fun fact: Our out-of-the-box components have accessibility and internationalization baked right in—ensuring usability for all your users.</p>\n\t\t\t\t\t</div>\n\t\t\t\t\t<img src={Phone} alt=\"Woman using a phone\" />\n\t\t\t\t</div>\n\t\t\t</section>\n\n\t\t\t<section className=\"dps-overview-section -two-col -additional-reading\">\n\t\t\t\t<div className=\"dps-overview-section-content -narrow\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<h2 className=\"dps-overview-section-header\">Additional Reading</h2>\n\t\t\t\t\t\t<p>Read our recommendations on how to best work with our UI framework.</p>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<dps-link href={createPath(`/reference/next-experience/${minimumNowExperienceVersion(release, systemProperties)}/dev/css-guidance/`)} internal-action><strong>Writing CSS</strong></dps-link>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<dps-link href={createPath(`/reference/next-experience/${minimumNowExperienceVersion(release, systemProperties)}/dev/writing-html/`)} internal-action><strong>Writing HTML</strong></dps-link>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t{isEmployee ? (\n\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t\t<dps-link href={createPath(`/reference/next-experience/${minimumNowExperienceVersion(release, systemProperties)}/dev/accessibility-101/`)} internal-action><strong>Developing for Accessibility</strong></dps-link>\n\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t\t<dps-link href={createPath(`/reference/next-experience/${minimumNowExperienceVersion(release, systemProperties)}/dev/internationalization-guidelines/`)} internal-action><strong>Developing for Internationalization</strong></dps-link>\n\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</div>\n\t\t\t\t\t<img src={Desk} alt=\"Woman holding books\" />\n\t\t\t\t</div>\n\t\t\t</section>\n\t\t\t<section className=\"dps-overview-section -two-col  -inverse -callout\">\n\t\t\t\t<div className=\"dps-overview-section-content -tall -narrow\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<h2 className=\"dps-overview-section-header\">Build apps that transform your business</h2>\n\t\t\t\t\t\t<p>The Now Platform<sup>&reg;</sup> empowers developers to deliver enterprise applications.</p>\n\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\tbutton-style\n\t\t\t\t\t\t\tbutton-variant=\"primary-inverse\"\n\t\t\t\t\t\t\thref=\"#!/guides#now-platform\"\n\t\t\t\t\t\t\ticon-action\n\t\t\t\t\t\t>Learn more</dps-link>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</section>\n\t\t</div>\n\t);\n};\n\nexport default view;\n","const initialState = {};\n\nexport default initialState;","const properties = {\n\trelease: {\n\t\tdefault: '',\n\t\trequired: true,\n\t\tschema: {\n\t\t\ttype: 'string'\n\t\t}\n\t},\n\thash: {\n\t\tdefault: ''\n\t},\n\tuserInfo: {\n\t\tdefault: {}\n\t},\n\tisEmployee: {\n\t\tcomputed({ properties: { userInfo }}) {\n\t\t\tconst { roles } = userInfo;\n\n\t\t\tif (roles && roles.indexOf('developer_company_servicenow') > -1) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t}\n\t},\n\tsystemProperties: {\n\t\tdefault: {}\n\t}\n};\n\nexport default properties;\n","export const DPS_GUIDES_NOW_EXPERIENCE_OVERVIEW_ACTIONS = {};\nexport default DPS_GUIDES_NOW_EXPERIENCE_OVERVIEW_ACTIONS;","import { actionTypes } from '@servicenow/ui-core';\nimport { setMetaByPageType } from '../../../utils/meta';\n\nconst { COMPONENT_BOOTSTRAPPED }  = actionTypes;\n\nexport default {\n\t/* eslint-disable object-shorthand */\n\t[COMPONENT_BOOTSTRAPPED]: () => {\n\t\tsetMetaByPageType('nowExperience');\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport view from './view';\nimport initialState from './initialState';\nimport properties from './properties';\nimport actions from './actions';\nimport actionHandlers from './actionHandlers/index';\nimport styles from './dps-guides-experience-overview.scss';\nimport reactToHash from '../../behaviors/reactToHash';\n\nexport default createCustomElement('dps-guides-experience-overview', {\n\trenderer: { type: snabbdom },\n\tview,\n\tinitialState,\n\tproperties,\n\tactions,\n\tactionHandlers,\n\tstyles,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: reactToHash,\n\t\t\toptions: {\n\t\t\t\tadditionalOffset: -120\n\t\t\t}\n\t\t}\n\t]\n});\n","import GlideSignals from \"sn-signals\";\n\nconst AI_SEARCH_APPLICATION_TYPE = \"SeismicOrMobileApplication\"; //\"dps_ai_search\";\n\n/**\n * Signal Tracker for DPS AI Search Component\n * Implements Glide Signals tracking for search analytics\n */\nconst signalTracker = {\n\t/**\n\t * Initialize GlideSignals (should be called when component loads)\n\t */\n\tinit() {\n\t\tGlideSignals?.init();\n\t},\n\n\t/**\n\t * Track a generic event with application type\n\t * @param {string} eventAction - Event action type (e.g., 'SEARCH_EVENT')\n\t * @param {string} eventPriority - Event priority (GlideSignals.priority.INFO)\n\t * @param {object} eventModel - Event data payload\n\t */\n\ttrackEvent(eventAction, eventPriority, eventModel) {\n\t\tconst enrichedModel = {\n\t\t\t...eventModel,\n\t\t\tapplicationType: AI_SEARCH_APPLICATION_TYPE\n\t\t};\n\n\t\tGlideSignals.trackEvent(eventAction, eventPriority, enrichedModel, {\n\t\t\tdelay: 3000\n\t\t});\n\t},\n\n\t/**\n\t * Track search event (query execution)\n\t * @param {object} searchAnalyticsPayload - Analytics payload from search response\n\t */\n\ttrackSearchEvent(searchAnalyticsPayload) {\n\t\tif (!searchAnalyticsPayload) {\n\t\t\treturn;\n\t\t}\n\t\tthis.trackEvent(\n\t\t\t\"SEARCH_EVENT\",\n\t\t\tGlideSignals.priority.INFO,\n\t\t\tsearchAnalyticsPayload\n\t\t);\n\t},\n\n\t/**\n\t * Track search sort event (query execution)\n\t * @param {object} searchAnalyticsPayload - Analytics payload from search response\n\t */\n\ttrackSearchSortEvent(searchAnalyticsPayload) {\n\t\tif (!searchAnalyticsPayload) {\n\t\t\treturn;\n\t\t}\n\t\tthis.trackEvent(\n\t\t\t\"SEARCH_SORT_EVENT\",\n\t\t\tGlideSignals.priority.INFO,\n\t\t\tsearchAnalyticsPayload\n\t\t);\n\t},\n\n\t/**\n\t * Track search pagination event (query execution)\n\t * @param {object} searchAnalyticsPayload - Analytics payload from search response\n\t */\n\ttrackSearchPaginationEvent(searchAnalyticsPayload) {\n\t\tif (!searchAnalyticsPayload) {\n\t\t\treturn;\n\t\t}\n\t\tthis.trackEvent(\n\t\t\t\"SEARCH_PAGINATION_EVENT\",\n\t\t\tGlideSignals.priority.INFO,\n\t\t\tsearchAnalyticsPayload\n\t\t);\n\t},\n\n\t/**\n\t * Track search result click\n\t * @param {object} params - Result click parameters\n\t */\n\ttrackSearchResultClick({\n\t\tsearchContextConfigId,\n\t\tsearchTerm,\n\t\tsearchItem,\n\t\tclickIndex,\n\t\tsearchResults\n\t}) {\n\t\tthis.trackEvent(\n\t\t\t\"SEARCH_RESULT_EVENT\",\n\t\t\tGlideSignals.priority.INFO,\n\t\t\t{\n\t\t\t\tsearchContextConfigId,\n\t\t\t\tqueryTerm: searchTerm,\n\t\t\t\tresultSysId: searchItem.sysId || \"\",\n\t\t\t\tlabelDescription: searchItem.title || \"\",\n\t\t\t\tsourceTable: searchItem.table || \"\",\n\t\t\t\tsignalType: \"CLICK\",\n\t\t\t\tsignalValue: clickIndex + 1, // 1-based index: first result = 1, second = 2, etc.\n\t\t\t\tsourceUrl: searchItem.link || searchItem.url || \"\",\n\t\t\t\taisDocId: searchItem.table && searchItem.sysId\n\t\t\t\t\t? `${searchItem.table}_${searchItem.sysId}`\n\t\t\t\t\t: \"\"\n\t\t\t}\n\t\t);\n\t},\n\n\t/**\n\t * Track search refinement (filter changes)\n\t * @param {object} params - Refinement parameters\n\t */\n\ttrackSearchRefined({ searchTerm, searchContextConfigId }) {\n\t\tthis.trackEvent(\n\t\t\t\"SEARCH_REFINED\",\n\t\t\tGlideSignals.priority.INFO,\n\t\t\t{\n\t\t\t\tqueryTerm: searchTerm,\n\t\t\t\tsearchContextConfigId\n\t\t\t}\n\t\t);\n\t},\n\n\t/**\n\t * Track facet/filter application\n\t * @param {object} searchAnalyticsPayload - Analytics payload with facet information\n\t */\n\ttrackSearchFacetEvent(searchAnalyticsPayload) {\n\t\tif (!searchAnalyticsPayload) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.trackEvent(\n\t\t\t\"SEARCH_FACET_EVENT\",\n\t\t\tGlideSignals.priority.INFO,\n\t\t\tsearchAnalyticsPayload\n\t\t);\n\t},\n\n\t/**\n\t * Track genius result interactions\n\t * @param {object} params - Genius result interaction parameters\n\t */\n\ttrackGeniusResultEvent({\n\t\tsearchContextConfigId,\n\t\tsearchTerm,\n\t\tgeniusResultModel,\n\t\tactionType = null,\n\t\tactionId,\n\t\tactionValue = null,\n\t\tmatchedIntentsPerSource = []\n\t}) {\n\t\tconst eventPayload = {\n\t\t\tsearchContextConfigId,\n\t\t\tqueryTerm: searchTerm,\n\t\t\tresultSysId: geniusResultModel?.sys_id || \"\",\n\t\t\tlabelDescription: geniusResultModel?.['columns.title'] || geniusResultModel?.title || \"\",\n\t\t\tsourceTable: geniusResultModel?.table || \"\",\n\t\t\tcardType: geniusResultModel?.model || \"\",\n\t\t\tactionType,\n\t\t\tactionId,\n\t\t\taisDocId: geniusResultModel?.table && geniusResultModel?.sys_id\n\t\t\t\t? `${geniusResultModel.table}_${geniusResultModel.sys_id}`\n\t\t\t\t: \"\",\n\t\t\tactionValue,\n\t\t\tmatchedIntentsPerSource\n\t\t};\n\n\t\tthis.trackEvent(\n\t\t\t\"GENIUS_RESULT_EVENT\",\n\t\t\tGlideSignals.priority.INFO,\n\t\t\teventPayload\n\t\t);\n\t},\n\n\t/**\n\t * Track genius result feedback\n\t * @param {object} params - Feedback parameters\n\t */\n\ttrackGeniusResultFeedback({\n\t\tsearchContextConfigId,\n\t\tsearchTerm,\n\t\tgeniusResultModel,\n\t\tisPositive,\n\t\tmatchedIntentsPerSource,\n\t}) {\n\t\tconst actionId = isPositive\n\t\t\t? 'sp_genius_rag_positive_feedback'\n\t\t\t: 'sp_genius_rag_negative_feedback';\n\n\t\tthis.trackGeniusResultEvent({\n\t\t\tsearchContextConfigId,\n\t\t\tsearchTerm,\n\t\t\tgeniusResultModel,\n\t\t\tactionType: \"Feedback\",\n\t\t\tactionId,\n\t\t\tactionValue: isPositive ? \"Helpful\" : \"Not Helpful\",\n\t\t\tmatchedIntentsPerSource\n\t\t});\n\t},\n\n\t/**\n\t * Track genius result citation click\n\t * @param {object} params - Citation parameters\n\t */\n\ttrackGeniusResultCitation({\n\t\tsearchContextConfigId,\n\t\tsearchTerm,\n\t\tgeniusResultModel,\n\t\tcitationLabel,\n\t\tcitationUrl,\n\t\tmatchedIntentsPerSource\n\t}) {\n\n\t\tthis.trackGeniusResultEvent({\n\t\t\tsearchContextConfigId,\n\t\t\tsearchTerm,\n\t\t\tgeniusResultModel,\n\t\t\tactionType: null,\n\t\t\tactionId: 'rag_sp_view_article',\n\t\t\tactionValue: `${citationLabel} || ${citationUrl}`,\n\t\t\tmatchedIntentsPerSource\n\t\t});\n\t},\n\n\t/**\n\t * Track genius result expansion (show full answer)\n\t * @param {object} params - Expansion parameters\n\t */\n\ttrackGeniusResultExpanded({\n\t\tsearchContextConfigId,\n\t\tsearchTerm,\n\t\tgeniusResultModel,\n\t\tmatchedIntentsPerSource\n\t}) {\n\t\tthis.trackGeniusResultEvent({\n\t\t\tsearchContextConfigId,\n\t\t\tsearchTerm,\n\t\t\tgeniusResultModel,\n\t\t\tactionType: 'GenAI Expanded',\n\t\t\tactionId: 'rag_sp_expand_article',\n\t\t\tactionValue: geniusResultModel?.['columns.title'] || geniusResultModel?.title || \"\",\n\t\t\tmatchedIntentsPerSource\n\t\t});\n\t},\n\n\t/**\n\t * Track genius result engagement (user stayed for 15+ seconds)\n\t * @param {object} params - Engagement parameters\n\t */\n\ttrackGeniusResultEngagement({\n\t\tsearchContextConfigId,\n\t\tsearchTerm,\n\t\tgeniusResultModel,\n\t\tstayedTime = '15 seconds',\n\t\tmatchedIntentsPerSource\n\t}) {\n\t\tthis.trackGeniusResultEvent({\n\t\t\tsearchContextConfigId,\n\t\t\tsearchTerm,\n\t\t\tgeniusResultModel,\n\t\t\tactionType: 'GenAI Engaged',\n\t\t\tactionId: 'rag_sp_engagement',\n\t\t\tactionValue: { 'stayed time': stayedTime },\n\t\t\tmatchedIntentsPerSource\n\t\t});\n\t},\n\n\t/**\n\t * Track autocomplete query selection\n\t * @param {object} params - Autocomplete parameters\n\t */\n\ttrackAutocompleteQuery({\n\t\tsearchContextConfigId,\n\t\tsearchTerm,\n\t\tselectedQuery,\n\t\tqueryType,\n\t\tclickIndex\n\t}) {\n\t\tthis.trackEvent(\n\t\t\t\"AUTOCOMPLETE_QUERY_EVENT\",\n\t\t\tGlideSignals.priority.INFO,\n\t\t\t{\n\t\t\t\tsearchContextConfigId,\n\t\t\t\tqueryTerm: searchTerm,\n\t\t\t\tselectedQuery,\n\t\t\t\tqueryType,\n\t\t\t\tclickIndex\n\t\t\t}\n\t\t);\n\t}\n};\n\nexport default signalTracker;\n","import { t } from \"sn-translate\";\n\nexport const MOBILE_MEDIA_WIDTH = \"576px\";\n\nexport const RESULT_DISCLAIMER_TEXT = t(\n\t\"Genius Results are highly relevant, dynamic cards that appear above the standard search results\"\n);\n\nexport const RESULT_DISCLAIMER = t(\"Result Disclaimer\");\n\nexport const NOW_ASSIST = \"Now Assist\";\nexport const TOP_RESULTS_GENERATED_BY = t(`Results generated by`);\nexport const PUTTING_TOGETHER_BEST_ANSWERS = t(\n\t`${NOW_ASSIST} is putting together the best answers`\n);\nexport const EMPTY_STATE_MESSAGE_HEADING = t(`No results generated`);\nexport const EMPTY_STATE_MESSAGE = t(\n\t`Try rephrasing your search. Make sure your question is clear and detailed.`\n);\n\nexport const DELEGATED_ACTION_TYPES = {\n\tFEEDBACK: \"feedback\",\n\tDECLARATIVE_ACTION: \"declarative_action\",\n\tNLQ_TABLE_SWITCHED: \"nlq_table_switched\",\n\tNLQ_TABLE_CLICKED: \"nlq_table_clicked\",\n\tASK_A_FOLLOW_UP: \"ask_a_follow_up\",\n\tSHOW_FULL_ANSWER: \"show_full_answer\"\n};\n\nexport const SYNTHESIZED_GENIUS_RESULT_LOADING_STEPS = {\n\tSTEP_1: t(\"Looking into next steps\"),\n\tSTEP_2: t(\"Analyzing your request\"),\n\tSTEP_3: t(\"Analyzed your request\"),\n\tSTEP_4: t(\"Finding relevant sources\"),\n\tSTEP_5: t(\"Generating the response\"),\n\tSTEP_6: t(\"Generated the response\")\n};\n\nexport const SR_ONLY_MESSAGES = {\n\tGENIUS_RESULTS_LOADING: t(`loading genius results`)\n};\n\nexport const EXTERNAL_CONTENT_TYPE = \"external\";\n\nexport const GENIUS_RESULT_CLICK_RANK = \"geniusResultClickRank\";\n\nexport const CITATION_TYPES = {\n\tKB: \"kb\",\n\tCATALOG: \"catalog\",\n\tPEOPLE: \"people\",\n\tSKILL: \"skill\",\n\tKG: \"kg\",\n\tAGENT: \"ai_agent\"\n};\n\nconst WRONG_GR_TYPE = \"Wrong Intent\";\nconst WRONG_RESULT = \"Wrong Result\";\nconst MISSING_INFORMATION = \"Insufficient Information\";\n\nexport const POSITIVE_FEEDBACK_TYPE = \"positive\";\nexport const NEGATIVE_FEEDBACK_TYPE = \"negative\";\nexport const FEEDBACK_ACTION_TYPE = \"Feedback\";\n\nexport const DEFAULT_QA_FEEDBACK_OPTIONS = [\n\t{ id: WRONG_GR_TYPE, label: t(\"I am not looking for an article\") },\n\t{ id: WRONG_RESULT, label: t(\"It doesn't answer my question\") },\n\t{ id: MISSING_INFORMATION, label: t(\"It's missing information I want\") }\n];\n\nexport const ICON_TYPE = \"circle-info-outline\";\nexport const ALERT_CONTENT = t(\n\t\"Now Assist detected and hid some content that might be harmful or offensive. If you do not see what you are looking for, you can rephrase or search for something new.\"\n);\nexport const ALERT_TYPE = \"info\";\nexport const ACTION_TYPE = \"dismiss\";\n","import \"@servicenow/now-icon\";\nimport \"@servicenow/now-tooltip\";\nimport \"@servicenow/now-button\";\n\nimport {\n\tRESULT_DISCLAIMER_TEXT,\n\tTOP_RESULTS_GENERATED_BY,\n\tPUTTING_TOGETHER_BEST_ANSWERS,\n\tRESULT_DISCLAIMER,\n\tNOW_ASSIST\n} from \"../constants\";\nimport { t } from \"sn-translate\";\n\nconst resultInfo = ({ isLoading = false }) => {\n\treturn (\n\t\t<div className=\"result-info-container\">\n\t\t\t<now-icon icon=\"ai-sparkle-outline\" size=\"md\" ariaHidden=\"true\" />\n\t\t\t&nbsp;\n\t\t\t{isLoading ? (\n\t\t\t\t<span>\n\t\t\t\t\t<strong>{t(NOW_ASSIST)}&nbsp;</strong>\n\t\t\t\t\t{PUTTING_TOGETHER_BEST_ANSWERS}\n\t\t\t\t</span>\n\t\t\t) : (\n\t\t\t\t<span>\n\t\t\t\t\t{TOP_RESULTS_GENERATED_BY}&nbsp;<strong>{t(NOW_ASSIST)}</strong>\n\t\t\t\t</span>\n\t\t\t)}\n\t\t\t&nbsp;\n\t\t\t<now-button-iconic\n\t\t\t\ticon=\"circle-info-outline\"\n\t\t\t\ttooltipContent={RESULT_DISCLAIMER_TEXT}\n\t\t\t\tbare\n\t\t\t\tsize=\"sm\"\n\t\t\t\thidePadding\n\t\t\t\tconfigAria={{\n\t\t\t\t\tbutton: { \"aria-label\": RESULT_DISCLAIMER }\n\t\t\t\t}}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nexport default resultInfo;\n","const skeletonLoader = () => {\n\treturn (\n\t\t<div className=\"loading-container\">\n\t\t\t<div className=\"skeleton-loading-container\">\n\t\t\t\t<div className=\"animated-background\">\n\t\t\t\t\t<div className=\"background-masker\"></div>\n\t\t\t\t</div>\n\t\t\t\t<br />\n\t\t\t\t<div className=\"animated-background\">\n\t\t\t\t\t<div className=\"background-masker\"></div>\n\t\t\t\t</div>\n\t\t\t\t<br />\n\t\t\t\t<div className=\"animated-background\">\n\t\t\t\t\t<div className=\"background-masker\"></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default skeletonLoader;\n","import { t } from \"sn-translate\";\n\nexport const NOW_ASSIST = \"Now Assist\";\nexport const TOPICS_CARD_HEADER = t(\"Start a chat\");\nexport const CHAT_TOIPCS_MESSAGE = t(`Chat with ${NOW_ASSIST} about...`);\n","import \"@servicenow/now-button\";\nimport \"@servicenow/now-icon\";\nimport SkeletonLoader from \"../../contents/loading-state/skeleton-loader/skeletonLoader\";\n\nimport { TOPICS_CARD_HEADER, CHAT_TOIPCS_MESSAGE } from \"./constants\";\n\nconst renderTopicButton = ({\n\tskill_name: name,\n\tsysId,\n\tskill_table: skillTable,\n\tskill_description: description,\n\tskill_document: documentId,\n\tenable_followup: followUp\n}) => (\n\t<now-button\n\t\tclassName=\"topic-button\"\n\t\tlabel={name}\n\t\tvariant=\"secondary\"\n\t\tsize=\"sm\"\n\t\ttooltipContent={description}\n\t\tappend-to-payload={{\n\t\t\tname,\n\t\t\tsysId,\n\t\t\ttable: skillTable,\n\t\t\tdocumentId,\n\t\t\tfollowUp: followUp === \"true\"\n\t\t}}\n\t/>\n);\n\nconst view = state => {\n\tconst {\n\t\tproperties: { topics, showAsCard, isLoading }\n\t} = state;\n\n\tconst topicsContainer = (\n\t\t<div class={{ \"topics-container\": true, \"no-card\": !showAsCard }}>\n\t\t\t{showAsCard ? (\n\t\t\t\t<span className=\"topics-header-text\">{TOPICS_CARD_HEADER}</span>\n\t\t\t) : (\n\t\t\t\t<span>\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\ticon=\"chat-ai-sparkle-outline\"\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tariaHidden=\"true\"\n\t\t\t\t\t/>\n\t\t\t\t\t&nbsp;{CHAT_TOIPCS_MESSAGE}\n\t\t\t\t</span>\n\t\t\t)}\n\t\t\t<div className=\"topics-content\">{topics.map(renderTopicButton)}</div>\n\t\t</div>\n\t);\n\n\treturn isLoading ? (\n\t\t<div class={{ \"topics-card\": true, \"-loading\": isLoading }}>\n\t\t\t<SkeletonLoader />\n\t\t</div>\n\t) : showAsCard ? (\n\t\t<div class={{ \"topics-card\": true }}>{topicsContainer}</div>\n\t) : (\n\t\ttopicsContainer\n\t);\n};\n\nexport default view;\n","export const NOW_BUTTON_CLICKED = \"NOW_BUTTON#CLICKED\";\nexport const TOPIC_CLICKED = \"SN_SEARCH_TOP_RESULTS#CHAT_TRIGGERED\";\n","import { NOW_BUTTON_CLICKED, TOPIC_CLICKED } from \"./actions\";\n\nexport default {\n\t[NOW_BUTTON_CLICKED]: {\n\t\teffect: ({ action, dispatch }) => {\n\t\t\tconst { payload } = action;\n\t\t\tdispatch(TOPIC_CLICKED, payload);\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","import { createCustomElement } from \"@servicenow/ui-core\";\nimport styles from \"./sn-search-topics.scss\";\nimport view from \"./view\";\nimport actionHandlers from \"./actionHandlers\";\n\ncreateCustomElement(\"sn-search-topics\", {\n\tview,\n\tproperties: {\n\t\t/**\n\t\t * This property specifies the topics to be displayed\n\t\t * @type {array}\n\t\t */\n\t\ttopics: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: \"array\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Property to indicate if genius results are still loading so we can show loading state\n\t\t * @type {boolean}\n\t\t */\n\t\tisLoading: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This property specifies the topics to render in now-card\n\t\t * true when GRs are present\n\t\t * @type {array}\n\t\t */\n\t\tshowAsCard: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tactionHandlers,\n\tstyles,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when a topic is clicked to trigger virtual agent.\n\t\t * @type {{name: string, sysId: string, table: string, documentId: string, followUp: boolean}}\n\t\t */\n\t\t\"SN_SEARCH_TOP_RESULTS#CHAT_TRIGGERED\": {\n\t\t\tschema: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tproperties: {\n\t\t\t\t\tname: { type: \"string\" },\n\t\t\t\t\tsysId: { type: \"string\" },\n\t\t\t\t\ttable: { type: \"string\" },\n\t\t\t\t\tdocumentId: { type: \"string\" },\n\t\t\t\t\tfollowUp: { type: \"boolean\" }\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n});\n","import { t } from \"sn-translate\";\n\nexport const MOBILE_MEDIA_WIDTH = \"576px\";\nexport const HORIZONTAL = \"horizontal\";\nexport const VERTICAL = \"vertical\";\nexport const VIEW_ALL = t(\"View All\");\nexport const CARD_GAP = 12;\nexport const BORDER_WIDTH_TWICE = 4;\nexport const ACTION_TYPE_SERVER_SCRIPT = \"server_script\";\nexport const DEFAULT_ARIA_LABEL = t(\"Data Row\");\n\nexport const DEF_EMPTY_MSG = t(\"No content to display.\");\nexport const LOADING_STATE_LABEL = t(\"Loading\");\nexport const DEF_MAX_VISIBLE_CARDS = 4;\nexport const DEF_MIN_CARD_WIDTH = 254;\nexport const DEF_CARD_HEIGHT = \"sm\";\nexport const DEF_CARD_WIDTH = 150;\nexport const DEF_TITLE_HEADING_LEVEL = \"1\";\nexport const DEF_TITLE_STYLE_VARIANT = \"header-secondary\";\n\n//actions\nexport const NOW_BUTTON_BARE_CLICKED = \"NOW_BUTTON_BARE#CLICKED\";\nexport const NOW_DATA_ROW_VIEW_ALL_CLICKED = \"NOW_DATA_ROW#VIEW_ALL_CLICKED\";\n\nexport const DA_WRAPPED_CLICKED = \"DA_WRAPPED_CLICKED\";\n\nexport const DECLARATIVE_ACTION_SCRIPT_SUCCESS =\n\t\"DECLARATIVE_ACTION#SCRIPT_SUCCESS\";\nexport const DECLARATIVE_ACTION_SCRIPT_FAILED =\n\t\"DECLARATIVE_ACTION#SCRIPT_FAILED\";\nexport const NOW_DATA_ROW_ACTION_SUCCEEDED = \"NOW_DATA_ROW#ACTION_SUCCEEDED\";\nexport const NOW_DATA_ROW_ACTION_FAILED = \"NOW_DATA_ROW#ACTION_FAILED\";\n","export const DA_WRAPPED_CLICKED = 'DA_WRAPPED_CLICKED';\nexport const UXF_INTERNAL_EVENT_META = '__uxfMetaInternalOnlyDoNotUse';\n","import {createGraphQLEffect} from '@servicenow/ui-effect-graphql';\nimport {difference, find, get, has, isEmpty, isEqual, merge} from 'lodash';\n\nconst DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS =\n\t'DECLARATIVE_ACTION_INTERNAL#RUN_DYNAMIC_CONDITIONS';\nconst DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS_COMPLETED =\n\t'DECLARATIVE_ACTION#RUN_DYNAMIC_CONDITION_COMPLETED';\nconst DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS_FAILED =\n\t'DECLARATIVE_ACTION#RUN_DYNAMIC_CONDITION_FAILED';\n\n/**\n * Method to pass down Dynamically Evaluated Declarative Actions to slotted children\n * using a property name [daRelayPropName] configured\n *\n * @param {string} host Reference to the DOM element the ShadowRoot is attached\n * @param {string} daRelayPropName prop name of the slotted child component\n * @param {Object} actions Updated Dynamically Evaluated Declarative Actions\n */\nexport const relayDAUpdates = (host, daRelayPropName, actions) => {\n\tif (daRelayPropName) {\n\t\tconst items = host.shadowRoot.querySelector('slot')?.assignedNodes() || [];\n\t\t// eslint-disable-next-line no-unused-vars\n\t\tfor (const item of items) {\n\t\t\titem[daRelayPropName] = actions;\n\t\t}\n\t}\n};\n\n/**\n * Returns a list of DA sysIds where dynamicEvaluationEnabled is true\n * @param {Array} declarativeActions\n * @returns Array\n */\nexport const getDynamicEvaluatedDAs = declarativeActions => {\n\treturn declarativeActions\n\t\t.reduce((acc, currentValue) => {\n\t\t\treturn acc.concat(currentValue.children);\n\t\t}, [])\n\t\t.map(da => da.action)\n\t\t.filter(da => da.dynamicEvaluationEnabled)\n\t\t.map(da => da.assignmentId);\n};\n\nexport const handlePropertyChanged = context => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {name, value, previousValue}\n\t\t},\n\t\tproperties,\n\t\thost\n\t} = context;\n\n\tif (\n\t\t(name === 'modelData' || name === 'declarativeActions') &&\n\t\tvalue &&\n\t\t!isEqual(value, previousValue)\n\t) {\n\t\tconst {\n\t\t\tdeclarativeActions,\n\t\t\tmodelData: {daRelayPropName}\n\t\t} = properties;\n\n\t\tconst dynamicConditionsState = getDynamicConditionsState(context);\n\t\tif (isEmpty(dynamicConditionsState)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (name === 'declarativeActions' && isEmpty(declarativeActions)) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Get All dynamicEvaluation Enabled DA\n\t\tconst daSysIds = getDynamicEvaluatedDAs(declarativeActions);\n\n\t\t// Evaluate only dynamicEvaluation Enabled DA\n\t\tif (!daSysIds.length) {\n\t\t\t//handle list table change with no dynamicEval DA\n\t\t\t//update the child of mediator with new DA info\n\t\t\trelayDAUpdates(host, daRelayPropName, declarativeActions);\n\t\t\treturn;\n\t\t}\n\n\t\tevaluateDynamicConditions(context, daSysIds, dynamicConditionsState);\n\t}\n};\n\nconst evaluateDynamicConditions = (context, daSysIds, values) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {value, previousValue}\n\t\t},\n\t\tdispatch,\n\t\tstate: {dynamicConditionResults = {}},\n\t\tproperties: {\n\t\t\tdeclarativeActions,\n\t\t\tmodelData: {parentTable, parentRecordSysId, conditions, table, daRelayPropName}\n\t\t},\n\t\thost\n\t} = context;\n\n\tconst {recordSysIdsToReEvaluate, runDynamicCondition} = values;\n\tif (runDynamicCondition) {\n\t\t// Re-Evaluate the conditions again for the DA's against the new Records\n\t\tdispatch(DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS, {\n\t\t\tdaSysIds, // we send all da's that have dynamicEvaluationEnabled for evaluation\n\t\t\trecordSysIds: recordSysIdsToReEvaluate,\n\t\t\ttable,\n\t\t\tparentTable,\n\t\t\tparentRecordSysId,\n\t\t\tconditions // use conditions only for \"Select All\" case\n\t\t});\n\t\treturn;\n\t}\n\tif (isEmpty(dynamicConditionResults) && isEmpty(previousValue)) {\n\t\t//handle list table change with dynamicEval DA when No record selected (no gql fired)\n\t\t//update the child of mediator with new DA info\n\t\trelayDAUpdates(host, daRelayPropName, declarativeActions);\n\t\treturn;\n\t}\n\t//handle pagination & count updates on list\n\tlet {affectedRecordSysIds} = values;\n\tif (!affectedRecordSysIds.length) affectedRecordSysIds = value.selectedRecords || [];\n\t// No need for Re-Evaluation, use the cached data in state to calculate DA state\n\tupdateDeclarativeActions(\n\t\tdaSysIds,\n\t\taffectedRecordSysIds,\n\t\tdynamicConditionResults,\n\t\t[...declarativeActions],\n\t\thost,\n\t\tdaRelayPropName\n\t);\n};\n\nconst getDynamicConditionsState = context => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {value, previousValue}\n\t\t},\n\t\tproperties: {\n\t\t\tmodelData: {recordSysIds = []}\n\t\t},\n\t\tstate: {dynamicConditionResults = {}},\n\t\tupdateState\n\t} = context;\n\n\tlet recordSysIdsToReEvaluate = [];\n\tlet affectedRecordSysIds = [];\n\tlet runDynamicCondition = false;\n\n\tif (\n\t\t!isEmpty(previousValue) &&\n\t\t(!isEqual(value.parentTable, previousValue.parentTable) ||\n\t\t\t!isEqual(value.parentRecordSysId, previousValue.parentRecordSysId) ||\n\t\t\t!isEqual(value.table, previousValue.table) ||\n\t\t\t!isEqual(value.recordSysIds, previousValue.recordSysIds))\n\t) {\n\t\t//ignore unwanted props\n\t\treturn {};\n\t} else if (!isEqual(value.listRefresh, previousValue.listRefresh)) {\n\t\t// Clear dynamic condition result cache when list is refreshed\n\t\tupdateState({dynamicConditionResults: {}});\n\t\treturn {};\n\t} else if (!isEqual(value.conditions, previousValue.conditions)) {\n\t\trunDynamicCondition = true;\n\t} else if (\n\t\tvalue.cellUpdatedOn &&\n\t\tvalue.editedRecords &&\n\t\t!isEqual(value.cellUpdatedOn, previousValue.cellUpdatedOn) &&\n\t\tvalue.editedRecords.length\n\t) {\n\t\t//handle inline edit\n\t\t//note if the same record is being updated again we get the same sysIds in editedRecords\n\t\t//so we use cellUpdatedOn in combination\n\t\taffectedRecordSysIds = value.editedRecords || [];\n\t\trecordSysIdsToReEvaluate = affectedRecordSysIds;\n\t\trunDynamicCondition = recordSysIdsToReEvaluate.length;\n\t} else if (!isEqual(value.selectedRecords, previousValue.selectedRecords)) {\n\t\t// NoInlineEdit - get all records not in state\n\n\t\taffectedRecordSysIds = value.selectedRecords || [];\n\t\t//dynamicConditionResults is Object of objects\n\t\t//Object<{[dasysID]:{[recordSysId]:boolean}}>\n\t\t//each of the objects [one per DA] will contain the same set of recordSysIds\n\t\t//we need only one object from that to get a list of recordSysIds\n\t\t//so we use Object.keys to get one object and then find the difference\n\t\trecordSysIdsToReEvaluate = getRecordsToEvaluate(recordSysIds, dynamicConditionResults);\n\t\trunDynamicCondition = affectedRecordSysIds.length && recordSysIdsToReEvaluate.length;\n\t}\n\n\treturn {recordSysIdsToReEvaluate, affectedRecordSysIds, runDynamicCondition};\n};\n\nexport const getRecordsToEvaluate = (recordSysIds, dynamicConditionResults) => {\n\treturn Object.keys(dynamicConditionResults).length\n\t\t? difference(recordSysIds, Object.keys(find(dynamicConditionResults)))\n\t\t: recordSysIds;\n};\n\n/**\n * Function to add/update the \"enable\" property\n * for all the Dynamic Evaluation Enabled DAs based on its defined Conditions\n * and update the slotted child with the Updated Declarative Actions if any\n *\n * @param {Array.<string>} daSysIds  DynamicEvaluation Enabled Declarative Action SysIds\n * @param {Array.<string>} selectedRecords Selected Record SysIds to run conditions on\n * @param {Object} dynamicConditionResults Dynamically Evaluated DA Results from server\n * @param {Object} declarativeActions Declarative Actions\n * @param {string} host Reference to the DOM element the ShadowRoot is attached\n * @param {string} daRelayPropName prop name of the slotted child component\n */\nconst updateDeclarativeActions = (\n\tdaSysIds = [],\n\tselectedRecords = [],\n\tdynamicConditionResults,\n\tdeclarativeActions,\n\thost,\n\tdaRelayPropName\n) => {\n\tlet isDirty = false;\n\n\t//Run for each of the Dynamic Evaluation Enabled DA's\n\tdaSysIds.forEach(daSysId => {\n\t\t//check DA - enable or disable\n\t\t//DA has to be disabled if no selected records\n\t\t//fail fast - get out of the loop as soon as we find first false\n\t\tconst isDAEnabled = selectedRecords.length\n\t\t\t? selectedRecords.every(recSysId =>\n\t\t\t\t\tget(dynamicConditionResults, `${daSysId}.${recSysId}`, false)\n\t\t\t  )\n\t\t\t: false;\n\n\t\t//find the DAs to update\n\t\tdeclarativeActions = declarativeActions.map(da => {\n\t\t\treturn {\n\t\t\t\t...da,\n\t\t\t\tchildren: da.children.map(daToUpdate => {\n\t\t\t\t\tif (daToUpdate.id === daSysId) {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tdaToUpdate.action &&\n\t\t\t\t\t\t\t(!has(daToUpdate.action, 'enabled') ||\n\t\t\t\t\t\t\t\tdaToUpdate.action.enabled !== isDAEnabled)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tisDirty = true;\n\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...daToUpdate,\n\t\t\t\t\t\t\t\taction: {...daToUpdate.action, enabled: isDAEnabled}\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn daToUpdate;\n\t\t\t\t})\n\t\t\t};\n\t\t});\n\t});\n\n\tif (isDirty) {\n\t\t//update the child of mediator with new DA info\n\t\trelayDAUpdates(host, daRelayPropName, declarativeActions);\n\t}\n};\n\n/**\n * Function to convert the structure of DA Condition results from GQL to\n * the structure used in the UI\n *\n * @param {Array<{daSysId:string,recordResults:Array<recordSysId:string,result:boolean>}>} results\n * @returns {Array<{[dasysID]:{[recordSysId]:boolean}}>}\n *\n * input daResults\n * [\n *     {\n *         \"daSysId\": \"e217890121fe1910f877aaad21d648c7\",\n *         \"recordResults\": [\n *             {\n *                 \"recordSysId\": \"57af7aec73d423002728660c4cf6a71c\",\n *                 \"result\": false\n *             },\n *             ...more\n *         ]\n *     }\n *     ...more\n * ]\n *\n * output mappedResults\n * [\n *     {\n *         \"e217890121fe1910f877aaad21d648c7\": {\n *             \"57af7aec73d423002728660c4cf6a71c\": false,\n *             \"ed92e8d173d023002728660c4cf6a7bc\": false,\n *             ...more\n *         }\n *     },\n *     ...more\n * ]\n */\nconst mapDynamicConditionResults = results =>\n\tresults.map(conditionResult => {\n\t\tconst recData = conditionResult.recordResults.map(rec => ({\n\t\t\t[rec.recordSysId]: rec.result\n\t\t}));\n\t\t//convert Array<{[recordSysId]: boolean}> to Object<{[recordSysId]: boolean}>\n\t\t//and assign that to a daSysID\n\t\treturn {[conditionResult.daSysId]: Object.assign({}, ...recData)};\n\t});\n\nexport const dynamicConditionCompletedEffect = ({\n\taction,\n\tproperties: {\n\t\tdeclarativeActions,\n\t\tmodelData: {selectedRecords, conditions, daRelayPropName}\n\t},\n\tupdateState,\n\tstate: {dynamicConditionResults},\n\thost\n}) => {\n\tconst newConditionResults = get(\n\t\taction,\n\t\t'payload.data.GlideListDeclarativeActionUtil_Query.getEvaluatedDynamicConditions',\n\t\t[]\n\t);\n\n\t// convert the structure\n\tconst stateConditionResultsArr = mapDynamicConditionResults(newConditionResults);\n\n\t// merge new record data with existing record data in state\n\tconst stateConditionResults = merge(\n\t\tdynamicConditionResults,\n\t\tObject.assign({}, ...stateConditionResultsArr)\n\t);\n\n\tupdateState({dynamicConditionResults: stateConditionResults});\n\n\tconst daSysIds = getDynamicEvaluatedDAs(declarativeActions);\n\n\t//if conditions is in place, its a List Select All Case\n\t//we get all recordSysIds from the result\n\tconst selectAllRecords = Object.assign({}, ...stateConditionResultsArr);\n\tconst selectedRecordsToEffect =\n\t\tconditions && !selectedRecords.length\n\t\t\t? Object.keys(selectAllRecords).length\n\t\t\t\t? Object.keys(find(selectAllRecords))\n\t\t\t\t: []\n\t\t\t: selectedRecords;\n\n\tupdateDeclarativeActions(\n\t\tdaSysIds,\n\t\tselectedRecordsToEffect,\n\t\tstateConditionResults,\n\t\t[...declarativeActions],\n\t\thost,\n\t\tdaRelayPropName\n\t);\n};\n\nconst dynamicConditionQuery = `\nquery snDeclarativeMediator($daSysIds: [String!], $recordSysIds: [String!], $table: String!, $parentTable: String, $parentRecordSysId: String, $conditions: String){\n\tGlideListDeclarativeActionUtil_Query{\n\t\tgetEvaluatedDynamicConditions(daSysIds: $daSysIds, recordSysIds: $recordSysIds, table: $table, \\\nparentTable: $parentTable, parentRecordSysId: $parentRecordSysId, conditions: $conditions) {\n\t\t\tdaSysId,\n\t\t\trecordResults {\n\t\t\t\trecordSysId,\n\t\t\t\tresult\n\t\t\t}\n\t\t}\n\t}\n}\n`;\n\nexport const runDynamicConditionsEffect = createGraphQLEffect(dynamicConditionQuery, {\n\tvariableList: [\n\t\t'daSysIds',\n\t\t'recordSysIds',\n\t\t'table',\n\t\t'parentTable',\n\t\t'parentRecordSysId',\n\t\t'conditions'\n\t],\n\tsuccessActionType: DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS_COMPLETED,\n\terrorActionType: DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS_FAILED\n});\n","import {getComponentsByTagNames} from '@devsnc/library-uxf';\n\n/*\n * Downloads a single component tag\n */\nexport const loadComponent = async componentTag => {\n\tif (!componentTag) return undefined;\n\treturn getComponentsByTagNames([componentTag]).then(names => {\n\t\treturn names;\n\t});\n};\n","import {get} from 'lodash';\nimport track, {markTypes} from '@devsnc/ux-metrics';\n\n// Mark level goes from 0 to 5, where higher number the more important.\nexport const DEFAULT_MARK_LEVEL = 4;\n\n// Mark type of the event. Available options: 'all', 'usage', 'performance'\nexport const DEFAULT_MARK_TYPE = markTypes.usage;\n\nconst TYPE = 'Declarative Action';\n\nconst EVENT_NAME = {\n\tFORM: 'Click Form Action',\n\tFIELD: 'Click Field Action',\n\tLIST: 'Click List Action',\n\tRELATED_LIST: 'Click Related List Action',\n\tUNKNOWN: 'Click Declarative Action'\n};\n\nconst EVENT_ORIGIN_EVENT_NAME_MAP = {\n\t'SN-FORM-INTERNAL-UIACTIONBAR': EVENT_NAME.FORM,\n\t'SN-DECLARATIVE-FIELD-ACTION-RENDERER': EVENT_NAME.FIELD\n};\n\n/**\n * Track component's events for UX usage analytics\n * @param {Object} coeffects - Coeffects object containing props such as host, action payload, and action type.\n * @param {Number} [markLevel=4] - Mark level goes from 0 to 5, where higher number the more important.\n * @param {String} [markType=usage] - Mark type of the event. Available options: 'all', 'usage', 'performance'\n */\nconst trackUxMetrics = (\n\tcoeffects,\n\tmarkLevel = DEFAULT_MARK_LEVEL,\n\tmarkType = DEFAULT_MARK_TYPE\n) => {\n\ttry {\n\t\tlet eventName, details;\n\n\t\tif (get(coeffects, 'action.payload.model')) {\n\t\t\tconst {\n\t\t\t\tpayload: {\n\t\t\t\t\taction: {actionDispatch, assignmentId, id, name, label},\n\t\t\t\t\tmodel: {fieldName, referenceTable, table, tableName}\n\t\t\t\t}\n\t\t\t} = coeffects.action;\n\n\t\t\teventName = getEventName(coeffects.action);\n\n\t\t\tdetails = {\n\t\t\t\tdispatchedAction: actionDispatch ? actionDispatch : '',\n\t\t\t\tfieldName: fieldName ? fieldName : '',\n\t\t\t\tfieldTable: referenceTable ? referenceTable : '',\n\t\t\t\tlabel,\n\t\t\t\tname,\n\t\t\t\tsysId: id ? id : assignmentId,\n\t\t\t\ttable: table ? table : tableName,\n\t\t\t\ttype: TYPE\n\t\t\t};\n\t\t} else {\n\t\t\tconst {\n\t\t\t\tpayload: {\n\t\t\t\t\taction: {actionDispatch}\n\t\t\t\t}\n\t\t\t} = coeffects.action;\n\n\t\t\teventName = actionDispatch;\n\n\t\t\tdetails = {\n\t\t\t\ttype: TYPE\n\t\t\t};\n\t\t}\n\n\t\ttrack(\n\t\t\tcoeffects,\n\t\t\teventName,\n\t\t\t{\n\t\t\t\t...details\n\t\t\t},\n\t\t\t{\n\t\t\t\tlevel: markLevel,\n\t\t\t\ttype: markType\n\t\t\t}\n\t\t);\n\t} catch (ex) {\n\t\t// not logging the exception to avoid confusing the customers with internal issues.\n\t}\n};\n\nconst getEventName = action => {\n\tconst {\n\t\tpayload: {\n\t\t\tmodel: {listType}\n\t\t}\n\t} = action;\n\n\tif (listType) {\n\t\tif (listType === 'DEFAULT') {\n\t\t\treturn EVENT_NAME.LIST;\n\t\t} else {\n\t\t\treturn EVENT_NAME.RELATED_LIST;\n\t\t}\n\t} else {\n\t\tlet eventOriginNode;\n\t\ttry {\n\t\t\teventOriginNode = action.meta.event.composedPath()[0].nodeName;\n\t\t} catch (ex) {\n\t\t\tconsole.warn(\"Unable to retrieve the event's origin\");\n\t\t}\n\t\treturn get(EVENT_ORIGIN_EVENT_NAME_MAP, eventOriginNode, EVENT_NAME.UNKNOWN);\n\t}\n};\n\nexport default trackUxMetrics;\n","import {DA_WRAPPED_CLICKED, UXF_INTERNAL_EVENT_META} from '../common/constants';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {createHttpEffect} from '@servicenow/ui-effect-http';\nimport {\n\tdynamicConditionCompletedEffect,\n\thandlePropertyChanged,\n\trelayDAUpdates,\n\trunDynamicConditionsEffect\n} from './dynamicConditionsUtil';\nimport {get, isArray, isFunction, pick} from 'lodash';\nimport {loadComponent} from '../utils/dynamicLoad';\nimport trackUxMetrics from '../utils/uxMetricsUtils';\nconst {COMPONENT_PROPERTY_CHANGED, COMPONENT_DOM_TREE_READY} = actionTypes;\nexport const DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS =\n\t'DECLARATIVE_ACTION_INTERNAL#RUN_DYNAMIC_CONDITIONS';\nexport const DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS_COMPLETED =\n\t'DECLARATIVE_ACTION#RUN_DYNAMIC_CONDITION_COMPLETED';\nexport const DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS_FAILED =\n\t'DECLARATIVE_ACTION#RUN_DYNAMIC_CONDITION_FAILED';\n\nexport const DECLARATIVE_ACTION = 'DECLARATIVE_ACTION';\nexport const DECLARATIVE_ACTION_UPDATE_RENDER = 'DECLARATIVE_ACTION_INTERNAL#UPDATE_RENDER';\nexport const DECLARATIVE_ACTION_EXECUTE_ACTION = 'DECLARATIVE_ACTION_INTERNAL#EXECUTE_ACTION';\nexport const DECLARATIVE_ACTION_CANCEL_ACTION = 'DECLARATIVE_ACTION_INTERNAL#CANCEL_ACTION';\nexport const DECLARATIVE_ACTION_CLOSE_MODAL = 'DECLARATIVE_ACTION_INTERNAL#CLOSE_MODAL';\nexport const DECLARATIVE_ACTION_SCRIPT_START = 'DECLARATIVE_ACTION_INTERNAL#SCRIPT_START';\nexport const DECLARATIVE_ACTION_SCRIPT_SUCCESS = 'DECLARATIVE_ACTION_INTERNAL#SCRIPT_SUCCESS';\nexport const DECLARATIVE_ACTION_SCRIPT_FAILED = 'DECLARATIVE_ACTION_INTERNAL#SCRIPT_FAILED';\n\nexport const PUBLIC_DECLARATIVE_ACTION_SCRIPT_SUCCESS = 'DECLARATIVE_ACTION#SCRIPT_SUCCESS';\nexport const PUBLIC_DECLARATIVE_ACTION_SCRIPT_FAILED = 'DECLARATIVE_ACTION#SCRIPT_FAILED';\nexport const PUBLIC_DECLARATIVE_ACTION_UPDATE_RENDER = 'DECLARATIVE_ACTION#UPDATE_RENDER';\nexport const PUBLIC_DECLARATIVE_ACTION_REDIRECT_REQUESTED = 'DECLARATIVE_ACTION#REDIRECT_REQUESTED';\n\nexport const DECLARATIVE_ACTION_OPEN_LINK = 'DECLARATIVE_ACTION#OPEN_LINK';\nexport const DECLARATIVE_ACTION_CLIENT_SCRIPT_EXECUTION_REQUESTED =\n\t'DECLARATIVE_ACTION#CLIENT_SCRIPT_EXECUTION_REQUESTED';\nconst HTTP_ERROR_OCCURRED = 'HTTP_ERROR_OCCURRED';\n\nexport const VALUE_CHANGED = 'VALUE_CHANGED';\nexport const ACTION_COMPONENT = 'action_component';\nexport const DISPATCH_ACTION = 'dispatch_action';\nexport const CLIENT_SCRIPT = 'client_script';\nexport const SERVER_SCRIPT = 'server_script';\nexport const UXF_CLIENT_ACTION = 'uxf_client_action';\nconst SERVER_SCRIPT_API = '/api/now/ui/declarative_action/:assignmentId';\nconst SERVER_SCRIPT_API_PATH_PARAMS = ['assignmentId'];\nconst SERVER_SCRIPT_API_QUERY_PARAMS = ['sysparm_table'];\nconst SERVER_SCRIPT_API_BODY_PARAMS = [\n\t'sysId',\n\t'sysIds',\n\t'fields',\n\t'encodedRecord',\n\t'query',\n\t'selectionQuery',\n\t'parentTable',\n\t'parentRecordSysId'\n];\n\n// Field model doesn't have sysId field\nconst consolidateModel = model => {\n\tlet fieldsParams = {};\n\tlet fields = get(model, 'fields');\n\tif (fields) {\n\t\tif (!isArray(fields)) fields = Object.values(fields); //DA action executor needs fields in array different than our related items and side panel\n\t\tfieldsParams = {fields};\n\t}\n\n\treturn {\n\t\t...model,\n\t\tsysId: model.isNewRecord ? '-1' : model.sysId || model.recordSysId,\n\t\t...fieldsParams\n\t};\n};\n\nconst createHttpData = (action, model) => ({\n\tassignmentId: action.assignmentId,\n\tsysparm_table: model.table || model.tableName,\n\tdata: pick(consolidateModel(model), SERVER_SCRIPT_API_BODY_PARAMS)\n});\n\n// dispatches an action with the necessary payload to execute the action\n// This function assumes the user has already confirmed the action if confirmation\n// is required. TODO: Refactor to handle ACTION_COMPONENT without needing to do a double render\nconst dispatchActionByType = (dispatch, action, model, properties) => {\n\tconst {actionType, actionDispatch, actionPayload, assignmentId} = action;\n\tconst {shouldWrapAction = false} = properties;\n\n\tif (actionType === DISPATCH_ACTION || actionType === UXF_CLIENT_ACTION) {\n\t\tif (!shouldWrapAction) {\n\t\t\tdispatch(actionDispatch, actionPayload);\n\t\t} else {\n\t\t\tdispatch(\n\t\t\t\tDA_WRAPPED_CLICKED,\n\t\t\t\t{\n\t\t\t\t\twrapped_action_name: actionDispatch,\n\t\t\t\t\twrapped_payload: actionPayload,\n\t\t\t\t\twrapped_action_type: actionType\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t[UXF_INTERNAL_EVENT_META]: {\n\t\t\t\t\t\tsourceCorrelationId: assignmentId\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t} else if (actionType === SERVER_SCRIPT) {\n\t\tdispatch(DECLARATIVE_ACTION_SCRIPT_START, createHttpData(action, model));\n\t} else if (actionType === CLIENT_SCRIPT) {\n\t\tconst {actionName, assignmentId, clientScript} = action;\n\t\tdispatch(DECLARATIVE_ACTION_CLIENT_SCRIPT_EXECUTION_REQUESTED, {\n\t\t\tactionName,\n\t\t\tassignmentId,\n\t\t\tclientScript,\n\t\t\tmodel\n\t\t});\n\t}\n};\n\nconst getDispatcher = ({action, properties, dispatch}) => {\n\tconst {shouldAppendActionEvent} = properties;\n\tif (!shouldAppendActionEvent) return dispatch;\n\tconst createActionEvent = ({type, target, metaKey}) => {\n\t\treturn {type, target, metaKey};\n\t};\n\tconst {\n\t\tmeta: {actionEvent = createActionEvent(action.meta.event)}\n\t} = action;\n\tconst addToPayload = (name, payload) =>\n\t\tname === DA_WRAPPED_CLICKED\n\t\t\t? {\n\t\t\t\t\t...payload,\n\t\t\t\t\twrapped_payload: {\n\t\t\t\t\t\t...payload.wrapped_payload,\n\t\t\t\t\t\tactionEvent\n\t\t\t\t\t}\n\t\t\t  }\n\t\t\t: {...payload, actionEvent};\n\treturn (name, payload, meta) => dispatch(name, addToPayload(name, payload), meta);\n};\n\nexport const mediator = coeffects => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {model, action}\n\t\t},\n\t\tproperties\n\t} = coeffects;\n\tconst {confirmationRequired} = action;\n\n\ttrackUxMetrics(coeffects);\n\tconst dispatch = getDispatcher(coeffects);\n\n\tif (!confirmationRequired) dispatchActionByType(dispatch, action, model, properties);\n\n\tdispatch(DECLARATIVE_ACTION_UPDATE_RENDER, {\n\t\tmodel,\n\t\taction,\n\t\tdisplayConfirmation: confirmationRequired\n\t});\n};\n\nconst dispatchNotifications = (dispatch, sessionNotifications = []) => {\n\tif (!sessionNotifications.length) return;\n\n\tconst notifications = sessionNotifications.reduce((allNotifications, {type, text}) => {\n\t\tif (!text) return allNotifications;\n\n\t\treturn [\n\t\t\t...allNotifications,\n\t\t\t{\n\t\t\t\ttype,\n\t\t\t\tmessage: text\n\t\t\t}\n\t\t];\n\t}, []);\n\tif (notifications.length)\n\t\tdispatch('ADD_NOTIFICATIONS', {\n\t\t\tnotifications\n\t\t});\n};\n\n// Handler for DAs that may update the field value.\n// The component author would dispatch `VALUE_CHANGED`.\n// Uses the onValueChange passed by form (Section.js)\n// Ultimately it will invoke formData.setValue(...)\n// Payload must include: name, value, displayValue\n// This is specific to field declarative actions\nexport const updateFormFieldValue = ({action: {payload}, state}) => {\n\tconst {model} = state;\n\tconst {onValueChange} = model;\n\n\tif (!isFunction(onValueChange)) return;\n\n\tonValueChange({\n\t\t...payload,\n\t\tname: payload.name || model.name\n\t});\n};\n\nexport default {\n\t[DECLARATIVE_ACTION]: {\n\t\teffect: mediator,\n\t\tstopPropagation: true\n\t},\n\t[DECLARATIVE_ACTION_UPDATE_RENDER]: {\n\t\teffect: ({updateState, action, dispatch}) => {\n\t\t\tconst {action: payloadAction, model, displayConfirmation} = action.payload;\n\t\t\tconst isDefined =\n\t\t\t\t!payloadAction.actionComponent ||\n\t\t\t\tpayloadAction.actionComponent === 'sn-declarative-reference-search' ||\n\t\t\t\tcustomElements.get(payloadAction.actionComponent);\n\t\t\tconst updatingState = {\n\t\t\t\taction: payloadAction,\n\t\t\t\tmodel,\n\t\t\t\tdisplayConfirmation,\n\t\t\t\tkey: Date.now() // key is Date.now() because we need to the author's component to re-render always\n\t\t\t};\n\t\t\tif (isDefined) {\n\t\t\t\tupdateState(updatingState);\n\t\t\t} else {\n\t\t\t\tloadComponent(payloadAction.actionComponent).then(loadedComponents => {\n\t\t\t\t\tupdateState(updatingState);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tdispatch(PUBLIC_DECLARATIVE_ACTION_UPDATE_RENDER, action.payload);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[DECLARATIVE_ACTION_EXECUTE_ACTION]: {\n\t\teffect: ({state: {action, model}, dispatch, properties}) =>\n\t\t\tdispatchActionByType(dispatch, action, model, properties),\n\t\tstopPropagation: true\n\t},\n\t[DECLARATIVE_ACTION_CANCEL_ACTION]: {\n\t\teffect: ({updateState}) => {\n\t\t\tupdateState({\n\t\t\t\taction: null,\n\t\t\t\tmodel: null\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[DECLARATIVE_ACTION_SCRIPT_START]: {\n\t\t...createHttpEffect(SERVER_SCRIPT_API, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: {'X-WantSessionNotificationMessages': true},\n\t\t\tqueryParams: SERVER_SCRIPT_API_QUERY_PARAMS,\n\t\t\tpathParams: SERVER_SCRIPT_API_PATH_PARAMS,\n\t\t\tdataParam: 'data',\n\t\t\tsuccessActionType: DECLARATIVE_ACTION_SCRIPT_SUCCESS,\n\t\t\terrorActionType: DECLARATIVE_ACTION_SCRIPT_FAILED\n\t\t}),\n\t\tstopPropagation: true\n\t},\n\t[DECLARATIVE_ACTION_SCRIPT_SUCCESS]: {\n\t\teffect: ({state: {action: stateAction, model}, dispatch, action}) => {\n\t\t\tconst {redirect, record} = get(action, 'payload.result', {});\n\t\t\tif (redirect) {\n\t\t\t\tif (redirect.type !== 'TABLE') {\n\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\tconsole.warn('Unhandled redirect type', redirect);\n\t\t\t\t}\n\n\t\t\t\tconst {table, sys_id, query} = redirect.type_metadata;\n\t\t\t\tconst {table: parent_table, sys_id: parent_sys_id} = record || {};\n\n\t\t\t\tdispatch(PUBLIC_DECLARATIVE_ACTION_REDIRECT_REQUESTED, {\n\t\t\t\t\ttable,\n\t\t\t\t\tsys_id,\n\t\t\t\t\t...(query\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tquery\n\t\t\t\t\t\t  }\n\t\t\t\t\t\t: {}),\n\t\t\t\t\t...(parent_table\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tparent_table\n\t\t\t\t\t\t  }\n\t\t\t\t\t\t: {}),\n\t\t\t\t\t...(parent_sys_id\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tparent_sys_id\n\t\t\t\t\t\t  }\n\t\t\t\t\t\t: {})\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tdispatch('REFRESH_REQUESTED');\n\n\t\t\tconst sessionNotifications = get(action, 'payload.session.notifications', []);\n\t\t\tdispatchNotifications(dispatch, sessionNotifications);\n\n\t\t\tdispatch(PUBLIC_DECLARATIVE_ACTION_SCRIPT_SUCCESS, {\n\t\t\t\t...action.payload,\n\t\t\t\taction: stateAction,\n\t\t\t\tmodel\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[DECLARATIVE_ACTION_SCRIPT_FAILED]: {\n\t\teffect: ({state: {action: stateAction, model}, dispatch, action}) => {\n\t\t\tlet message = get(action, 'payload.data.error.message', '');\n\t\t\tif (!message) {\n\t\t\t\tconst result = get(action, 'payload.data.result', {});\n\t\t\t\tconst sysId = Object.keys(result)[0];\n\t\t\t\tmessage = get(result, `${sysId}.resultBody.error.message`, '');\n\t\t\t}\n\n\t\t\tif (message)\n\t\t\t\tdispatch('ADD_NOTIFICATIONS', {\n\t\t\t\t\tnotifications: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\t\tmessage\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t});\n\n\t\t\tconst sessionNotifications = get(action, 'payload.data.session.notifications', []);\n\t\t\tdispatchNotifications(dispatch, sessionNotifications);\n\n\t\t\tdispatch(PUBLIC_DECLARATIVE_ACTION_SCRIPT_FAILED, {\n\t\t\t\t...action.payload,\n\t\t\t\taction: stateAction,\n\t\t\t\tmodel\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[DECLARATIVE_ACTION_CLOSE_MODAL]: {\n\t\teffect: ({updateState}) => {\n\t\t\tupdateState({\n\t\t\t\tdisplayConfirmation: false\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[DECLARATIVE_ACTION_OPEN_LINK]: {\n\t\teffect: ({action}) => {\n\t\t\tconst {\n\t\t\t\tpayload: {url}\n\t\t\t} = action;\n\n\t\t\tif (url) window.open(url, '_blank');\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[VALUE_CHANGED]: {\n\t\teffect: updateFormFieldValue,\n\t\tstopPropagation: true\n\t},\n\t// seismic dispatch Standard action dispatched on HTTP errors from the server, and canvas will handle it and display a standard error modal.\n\t// We don't want that since our call should be handled in component and we already show session message\n\t[HTTP_ERROR_OCCURRED]: {\n\t\teffect: () => {},\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: context => {\n\t\tconst {\n\t\t\tproperties: {shouldEvaluateDynamicConditions = false}\n\t\t} = context;\n\t\tif (shouldEvaluateDynamicConditions) {\n\t\t\thandlePropertyChanged(context);\n\t\t}\n\t},\n\t[DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS]: {\n\t\t...runDynamicConditionsEffect,\n\t\tstopPropagation: true\n\t},\n\t[DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS_COMPLETED]: ({\n\t\taction,\n\t\tdispatch,\n\t\tproperties,\n\t\tupdateState,\n\t\tstate,\n\t\thost\n\t}) => {\n\t\tdynamicConditionCompletedEffect({action, dispatch, properties, updateState, state, host});\n\t},\n\t[DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS_FAILED]: ({action}) => {\n\t\tconsole.error('Running Dynamic Conditions Failed', action.payload.errors);\n\t},\n\t[COMPONENT_DOM_TREE_READY]: ({\n\t\thost,\n\t\tproperties: {\n\t\t\tmodelData = {},\n\t\t\tdeclarativeActions = [],\n\t\t\tshouldEvaluateDynamicConditions = false\n\t\t}\n\t}) => {\n\t\tif (shouldEvaluateDynamicConditions) {\n\t\t\t//update the child of mediator with new DA info\n\t\t\tconst {daRelayPropName = ''} = modelData;\n\t\t\trelayDAUpdates(host, daRelayPropName, declarativeActions);\n\t\t}\n\t}\n};\n","import {VALUE_CHANGED} from '../mediator/actions';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {createGraphQLEffect} from '@servicenow/ui-effect-graphql';\nimport createComponentLoaderEffect from '@devsnc/uxf-effect-component-loader';\nimport find from 'lodash/find';\nimport get from 'lodash/get';\n\nconst {COMPONENT_BOOTSTRAPPED} = actionTypes;\n\nconst itemSelectedAction = 'NOW_RECORD_LIST_CONNECTED#ROW_CLICKED';\nconst treePickerItemSelectedAction = 'SN_RECORD_CONTENT_TREE_CONNECTED#ITEM_CLICKED';\nconst treePickerModalCloseAction = 'SN_RECORD_CONTENT_TREE_CONNECTED#MODAL_CLOSE_CLICKED_ACTION';\nconst treePickerModalAddAction = 'SN_RECORD_CONTENT_TREE_CONNECTED#MODAL_ADD_CLICKED_ACTION';\nconst FETCH_TREE_PICKER = 'FETCH_TREE_PICKER';\nconst FETCH_TREE_PICKER_SUCCESS = 'FETCH_TREE_PICKER_SUCCESS';\nconst FETCH_TREE_PICKER_FAILURE = 'FETCH_TREE_PICKER_FAILURE';\nconst TREE_PICKER_CONFIG_DATA_PATH = 'data.GlideLayout_Query.treePickerConfigQuery.treePicker';\nconst DOMAIN_SEPARATION_DATA_PATH = 'data.GlideLayout_Query.formLayout.domainSeparation';\n\nconst COMPONENT_LOAD_REQUESTED = 'SN_DECLARATIVE_REFERENCE_SEARCH#COMPONENT_LOAD_REQUESTED';\nconst COMPONENT_LOAD_SUCCEEDED = 'SN_DECLARATIVE_REFERENCE_SEARCH#COMPONENT_LOAD_SUCCEEDED';\nconst COMPONENT_LOAD_FAILED = 'SN_DECLARATIVE_REFERENCE_SEARCH#COMPONENT_LOAD_FAILED';\n\nexport const itemSelectedTransform = ({action, dispatch, state}) => {\n\tconst {referenceKey} = state.properties;\n\tconst value = referenceKey\n\t\t? get(action, 'payload.row.referenceKeyValue.value')\n\t\t: get(action, 'payload.row.sys_id.value');\n\tconst newPayload = {\n\t\tname: get(state, 'properties.name', ''),\n\t\tvalue,\n\t\tdisplayValue: get(action, 'payload.row.displayValue.value', ''),\n\t\tadditionalInfo: {referenceSysId: get(action, 'payload.row.sys_id.value')}\n\t};\n\tdispatch(VALUE_CHANGED, newPayload);\n};\n\nexport const treePickerItemSelectedTransform = ({action, dispatch, state, updateState}) => {\n\tconst newPayload = {\n\t\tname: get(state, 'properties.name', ''),\n\t\tvalue: get(action, 'payload.value', ''),\n\t\tdisplayValue: get(action, 'payload.displayValue', '')\n\t};\n\tif (state.properties.fieldType !== 'glide_list') {\n\t\tdispatch(VALUE_CHANGED, newPayload);\n\t\tdispatch(treePickerModalCloseAction);\n\t} else {\n\t\tconst operation = {\n\t\t\toperation: 'push'\n\t\t};\n\t\tconst isSelected = get(action, 'payload.isSelected', true);\n\t\tif (!isSelected) {\n\t\t\tconst index = state.selectedItems.value.indexOf(newPayload.value);\n\t\t\tif (index === -1) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tObject.assign(operation, {operation: 'splice', start: index, deleteCount: 1});\n\t\t}\n\t\tupdateState([\n\t\t\t{\n\t\t\t\tpath: 'selectedItems.value',\n\t\t\t\tvalue: get(action, 'payload.value', ''),\n\t\t\t\t...operation\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'selectedItems.display_value_list',\n\t\t\t\tvalue: get(action, 'payload.displayValue', ''),\n\t\t\t\t...operation\n\t\t\t}\n\t\t]);\n\t}\n};\n\nexport const addSelectedItemsEffect = ({dispatch, state}) => {\n\tconst {selectedItems} = state;\n\tif (selectedItems.value.length === 0) {\n\t\tdispatch(treePickerModalCloseAction);\n\t\treturn;\n\t}\n\tconst newPayload = {\n\t\tname: get(state, 'properties.name', ''),\n\t\tvalue: selectedItems.value.join(','),\n\t\tdisplayValue: selectedItems.display_value_list\n\t};\n\n\tdispatch(VALUE_CHANGED, newPayload);\n\tdispatch(treePickerModalCloseAction);\n};\n\nconst closeModalEffect = ({updateState}) => {\n\tupdateState({\n\t\tactive: false,\n\t\tselectedItems: {value: [], display_value_list: []}\n\t});\n};\n\nconst treePickerQuery = `\nquery ($table: String!, $field: String!, $sys_id: String, $serialized_changes: String, $encoded_record: String) {\n  \tGlideLayout_Query {\n\t\ttreePickerConfigQuery(tableName: $table, fieldName: $field, sysId: $sys_id, serializedChanges: $serialized_changes, encodedRecord: $encoded_record) {\n\t\t\ttreePicker {\n\t\t\t\tisSupported\n\t\t\t\tprocessor\n\t\t\t\ttable\n\t\t\t\ttargetField\n\t\t\t\ttargetValue\n\t\t\t\ttargetPath\n\t\t\t\tqueryString\n\t\t\t}\n\t\t}\n\t\tformLayout(table: $table, sysId: $sys_id) {\n\t\t\tdomainSeparation {\n\t\t\t\tdomainId\n\t\t\t}\n\t\t}\n  \t}\n}\n`;\n\nexport const handleComponentBootstrapped = ({\n\tproperties: {fieldName, tableName, recordSysId, serializedChanges, encodedRecord, dictionary},\n\tdispatch,\n\tupdateState\n}) => {\n\tconst attributes = get(dictionary, 'attributes', []);\n\tconst attributeValue = find(attributes, a => a.name === 'tree_picker');\n\tconst isTreePicker = attributeValue === undefined ? false : attributeValue.value === 'true';\n\n\t// if tree_picker attribute is configured to true, determine tree picker is supported or not.\n\tif (isTreePicker) {\n\t\tconst payload = {\n\t\t\tfield: fieldName,\n\t\t\ttable: tableName,\n\t\t\tsys_id: recordSysId,\n\t\t\tserialized_changes: serializedChanges,\n\t\t\tencoded_record: encodedRecord\n\t\t};\n\t\tdispatch(FETCH_TREE_PICKER, payload, {stopPropagation: true});\n\t\tdispatch(COMPONENT_LOAD_REQUESTED, {tagName: 'sn-record-content-tree-connected'});\n\t} else {\n\t\tupdateState({\n\t\t\tfetchingTreePicker: false,\n\t\t\tisTreePicker: false\n\t\t});\n\t\tdispatch(COMPONENT_LOAD_REQUESTED, {tagName: 'now-record-list-connected-reference'});\n\t}\n};\n\nexport default {\n\t[itemSelectedAction]: {\n\t\teffect: coeffects => {\n\t\t\titemSelectedTransform(coeffects);\n\t\t\tcloseModalEffect(coeffects);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[treePickerItemSelectedAction]: {\n\t\teffect: treePickerItemSelectedTransform,\n\t\tstopPropagation: true\n\t},\n\t[treePickerModalCloseAction]: {\n\t\teffect: closeModalEffect,\n\t\tstopPropagation: true\n\t},\n\t[treePickerModalAddAction]: {\n\t\teffect: addSelectedItemsEffect,\n\t\tstopPropagation: true\n\t},\n\t'NOW_MODAL#OPENED_SET': closeModalEffect,\n\t[COMPONENT_BOOTSTRAPPED]: handleComponentBootstrapped,\n\t[FETCH_TREE_PICKER]: createGraphQLEffect(treePickerQuery, {\n\t\tvariableList: ['table', 'field', 'sys_id', 'serialized_changes', 'encoded_record'],\n\t\tsuccessActionType: FETCH_TREE_PICKER_SUCCESS,\n\t\terrorActionType: FETCH_TREE_PICKER_FAILURE\n\t}),\n\t[FETCH_TREE_PICKER_SUCCESS]: ({updateState, action}) => {\n\t\tconst {payload} = action;\n\t\tif (payload.errors.length < 1) {\n\t\t\tconst config = get(payload, TREE_PICKER_CONFIG_DATA_PATH);\n\t\t\tconst domainSeparation = get(payload, DOMAIN_SEPARATION_DATA_PATH);\n\t\t\tupdateState({\n\t\t\t\tfetchingTreePicker: false,\n\t\t\t\ttreePickerConfig: config,\n\t\t\t\tdomainId: domainSeparation ? domainSeparation.domainId : null\n\t\t\t});\n\t\t} else {\n\t\t\tupdateState({\n\t\t\t\tfetchingTreePicker: false,\n\t\t\t\ttreePickerConfig: {}\n\t\t\t});\n\t\t}\n\t},\n\t[FETCH_TREE_PICKER_FAILURE]: ({updateState}) => {\n\t\tupdateState({\n\t\t\tfetchingTreePicker: false,\n\t\t\ttreePickerConfig: {}\n\t\t});\n\t},\n\t[COMPONENT_LOAD_REQUESTED]: createComponentLoaderEffect({\n\t\tsuccessActionType: COMPONENT_LOAD_SUCCEEDED,\n\t\terrorActionType: COMPONENT_LOAD_FAILED\n\t}),\n\t[COMPONENT_LOAD_SUCCEEDED]: {\n\t\teffect: ({updateState}) => {\n\t\t\tupdateState({\n\t\t\t\tcomponentLoading: false\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_LOAD_FAILED]: {\n\t\teffect: ({updateState}) => {\n\t\t\tconsole.error('Failed to load component');\n\t\t\tupdateState({\n\t\t\t\tcomponentLoading: false\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t}\n};\n","import '@servicenow/now-modal';\n\nconst getScrollOffset = function() {\n\tif (window.pageXOffset !== undefined) return window.pageYOffset;\n\tconst isCSS1Compat = (document.compatMode || '') === 'CSS1Compat';\n\treturn isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop;\n};\n\nconst freezeBody = function(offset = 0) {\n\tconst freezeStyle = {\n\t\toverflowY: 'hidden',\n\t\tposition: 'fixed',\n\t\ttop: `-${offset}px`,\n\t\tleft: '0px',\n\t\twidth: '100%'\n\t};\n\tObject.assign(document.body.style, freezeStyle);\n};\n\nconst unfreezeBody = function(offset = 0) {\n\tsetTimeout(() => {\n\t\tdocument.body.removeAttribute('style');\n\t\twindow.scrollTo(0, offset);\n\t}, 10);\n};\n\nconst handleEscape = e => {\n\tif (e.key === 'Escape') {\n\t\te.stopPropagation();\n\t}\n};\n\nexport default (properties, children) => {\n\tif (!properties.opened) {\n\t\tunfreezeBody(getScrollOffset());\n\t}\n\n\tfreezeBody(getScrollOffset());\n\n\treturn (\n\t\t<now-modal {...properties} on-keydown={handleEscape} manage-opened>\n\t\t\t{children}\n\t\t</now-modal>\n\t);\n};\n","import '@servicenow/now-loader';\nimport {t} from 'sn-translate';\nimport Modal from '../modal-wrapper';\n\nconst SN_RECORD_CONTENT_TREE_CONNECTED_MODAL_CLOSE_CLICKED_ACTION =\n\t'SN_RECORD_CONTENT_TREE_CONNECTED#MODAL_CLOSE_CLICKED_ACTION';\nconst SN_RECORD_CONTENT_TREE_CONNECTED_MODAL_ADD_CLICKED_ACTION =\n\t'SN_RECORD_CONTENT_TREE_CONNECTED#MODAL_ADD_CLICKED_ACTION';\n\nconst actions = [\n\t{\n\t\tlabel: t('Close'),\n\t\tvariant: 'primary',\n\t\ttooltipContent: t('Close'),\n\t\tbare: true,\n\t\tclickActionType: SN_RECORD_CONTENT_TREE_CONNECTED_MODAL_CLOSE_CLICKED_ACTION\n\t},\n\t{\n\t\tlabel: t('Add'),\n\t\tvariant: 'primary',\n\t\ttooltipContent: t('Add'),\n\t\tclickActionType: SN_RECORD_CONTENT_TREE_CONNECTED_MODAL_ADD_CLICKED_ACTION\n\t}\n];\n\nconst renderModalContent = props => {\n\tconst {\n\t\tfieldName,\n\t\treferenceTable,\n\t\ttableName,\n\t\ttreePickerConfig,\n\t\tcontainerClass,\n\t\tdependentField,\n\t\tdomainId,\n\t\tisGlideList,\n\t\tcomponentId,\n\t\tlabel,\n\t\trecordSysId,\n\t\tserializedChanges,\n\t\tencodedRecord,\n\t\tignoreReferenceQualifier,\n\t\tignoreDepAsRefQual,\n\t\treferenceKey,\n\t\tchars\n\t} = props;\n\tconst select = isGlideList ? 'multi' : 'single';\n\treturn (\n\t\t<div className={containerClass}>\n\t\t\t{treePickerConfig.isSupported ? (\n\t\t\t\t<sn-record-content-tree-connected\n\t\t\t\t\ttableName={tableName}\n\t\t\t\t\tfieldName={fieldName}\n\t\t\t\t\treferenceTable={referenceTable}\n\t\t\t\t\tdependentField={dependentField}\n\t\t\t\t\tdependentValue={treePickerConfig.targetValue}\n\t\t\t\t\ttreePickerConfig={treePickerConfig}\n\t\t\t\t\tdomainId={domainId}\n\t\t\t\t\tquery={treePickerConfig.queryString}\n\t\t\t\t\tselect={select}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<now-record-list-connected-reference\n\t\t\t\t\tcomponent-id={`${componentId}_modal_refList`}\n\t\t\t\t\tchars={chars || '**'}\n\t\t\t\t\tignore-ref-qual={ignoreReferenceQualifier}\n\t\t\t\t\tlist-title={label}\n\t\t\t\t\trecord-sys-id={recordSysId}\n\t\t\t\t\tfield={fieldName}\n\t\t\t\t\ttable={tableName}\n\t\t\t\t\tserializedChanges={serializedChanges}\n\t\t\t\t\tencodedRecord={encodedRecord}\n\t\t\t\t\tignoreDepAsRefQual={ignoreDepAsRefQual}\n\t\t\t\t\trefTableName={referenceTable}\n\t\t\t\t\treferenceKey={referenceKey}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport default ({\n\tproperties: {\n\t\tfieldName,\n\t\ttableName,\n\t\trecordSysId,\n\t\tlabel,\n\t\tserializedChanges,\n\t\tencodedRecord,\n\t\tcomponentId,\n\t\treferenceTable,\n\t\tignoreDepAsRefQual = false,\n\t\tignoreReferenceQualifier = false,\n\t\tdependentField,\n\t\tfieldType,\n\t\treferenceKey,\n\t\tchars\n\t},\n\tactive,\n\tcomponentLoading,\n\tfetchingTreePicker,\n\ttreePickerConfig,\n\tdomainId\n}) => {\n\tconst {isSupported: isTreePicker} = treePickerConfig;\n\tconst isGlideList = fieldType === 'glide_list';\n\tconst displayFooter = isTreePicker && isGlideList;\n\tconst footerActions = displayFooter ? actions : undefined;\n\tconst isLoading = fetchingTreePicker || componentLoading;\n\n\tconst getContainerClass = prefix => {\n\t\tconst baseClass = `${prefix}-container`;\n\t\tif (displayFooter) return `${baseClass} with-footer`;\n\t\tif (isGlideList) return `${baseClass} multi`;\n\t\treturn baseClass;\n\t};\n\n\tconst props = {\n\t\tfieldName,\n\t\ttableName,\n\t\treferenceTable,\n\t\tdependentField,\n\t\tcomponentId,\n\t\tlabel,\n\t\trecordSysId,\n\t\tserializedChanges,\n\t\tencodedRecord,\n\t\tignoreDepAsRefQual,\n\t\tignoreReferenceQualifier,\n\t\treferenceKey,\n\t\tchars,\n\t\ttreePickerConfig,\n\t\tdomainId,\n\t\tisGlideList,\n\t\tcontainerClass: isTreePicker ? getContainerClass('tree') : 'list-container'\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\topened={active}\n\t\t\tsize=\"lg\"\n\t\t\theader-label={label}\n\t\t\tcomponent-id={`${componentId}_modal`}\n\t\t\tfooterActions={footerActions}>\n\t\t\t{isLoading ? (\n\t\t\t\t<div className={getContainerClass('loader')}>\n\t\t\t\t\t<now-loader />\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\trenderModalContent(props)\n\t\t\t)}\n\t\t</Modal>\n\t);\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport actionHandlers from './actions';\nimport style from './view.scss';\nimport view from './view';\n\nexport const SNDeclarativeReferenceSearchElement = 'sn-declarative-reference-search';\n\ncreateCustomElement(SNDeclarativeReferenceSearchElement, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tinitialState: {\n\t\tactive: true,\n\t\tfetchingTreePicker: true,\n\t\tcomponentLoading: true,\n\t\ttreePickerConfig: {},\n\t\tselectedItems: {value: [], display_value_list: []}\n\t},\n\tproperties: {\n\t\tfieldName: '',\n\t\ttableName: '',\n\t\trecordSysId: '',\n\t\tlabel: '',\n\t\tserializedChanges: '',\n\t\tencodedRecord: '',\n\t\tcontext: '',\n\t\tchars: '',\n\t\tcomponentId: '',\n\t\treferenceTable: '',\n\t\tignoreReferenceQualifier: '',\n\t\tignoreDepAsRefQual: '',\n\t\tdictionary: {},\n\t\tdependentField: '',\n\t\tdependentValue: '',\n\t\treferenceQualifier: '',\n\t\treferenceKey: '',\n\t\tfieldType: ''\n\t},\n\tstyles: style,\n\tactionHandlers\n});\n","import {DA_WRAPPED_CLICKED, UXF_INTERNAL_EVENT_META} from '../../common/constants';\nimport isFunction from 'lodash/isFunction';\nconst BEHAVIOR_NAME = 'daWrappedClickedBehavior';\n\nconst actionHandlers = {\n\t[DA_WRAPPED_CLICKED]: ({action, dispatch}) => {\n\t\tconst {\n\t\t\tpayload: {\n\t\t\t\twrapped_action_name: actionName = '',\n\t\t\t\twrapped_payload: actionPayload = {},\n\t\t\t\toptions: {predicate, aliases = []} = {}\n\t\t\t} = {},\n\t\t\tmeta: {[UXF_INTERNAL_EVENT_META]: uxfMeta = {}} = {}\n\t\t} = action;\n\n\t\tif (actionName && (!isFunction(predicate) || predicate(action))) {\n\t\t\tdispatch(actionName, actionPayload, {\n\t\t\t\t[UXF_INTERNAL_EVENT_META]: {...uxfMeta, permitCorrelationIdMismatch: true}\n\t\t\t});\n\n\t\t\taliases.forEach(alias => {\n\t\t\t\tdispatch(alias, actionPayload, {\n\t\t\t\t\t[UXF_INTERNAL_EVENT_META]: {...uxfMeta, permitCorrelationIdMismatch: true}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t}\n};\n\nexport const daWrappedClickedBehavior = {\n\tname: BEHAVIOR_NAME,\n\tactionHandlers\n};\n","import {isEmpty} from 'lodash';\n\nconst opers = {\n\tANYTHING: () => true,\n\tBETWEEN: evalBetween,\n\tISEMPTY: evalIsEmpty,\n\tEMPTYSTRING: evalEmptyString,\n\tENDSWITH: evalEndsWith,\n\t'=': evalEquals,\n\t'>': evalGreaterThan,\n\t'>=': evalGreaterThanOrEquals,\n\tIN: evalIn,\n\t'NOT IN': evalNotIn,\n\tLIKE: evalLike,\n\t'<': evalLessThan,\n\t'<=': evalLessThanOrEquals,\n\tISNOTEMPTY: evalIsNotEmpty,\n\t'!=': evalNotEquals,\n\t'NOT LIKE': evalNotLike,\n\tSAMEAS: evalSameAs,\n\tNSAMEAS: evalNotSameAs,\n\tSTARTSWITH: evalStartsWith,\n\tGT_FIELD: evalGreaterThanField,\n\tLT_FIELD: evalLessThanField,\n\tGT_OR_EQUALS_FIELD: evalGreaterThanOrEqualsField,\n\tLT_OR_EQUALS_FIELD: evalLessThanOrEqualsField\n};\n\n/**\n * Given an `action` and a `model`, the `evaluateConditions`\n * function will return `true` if the conditions on the action\n * evaluate to `true`, and `false` otherwise. Currently only\n * the operators for the `boolean`, `string`, and `integer` types\n * are supported.\n *\n * Queries have the structure:\n *\n * [ (A OR B) AND (B OR C) ]\n *\n * OR (newQuery)\n *\n * [ (D OR E) AND (F OR G) ]\n *\n * The terms are evaluated as follows:\n * * The terms are grouped according to the `newQuery` flag.\n * * The terms within each of these groups are grouped according to the `or` flag.\n * * The `some` - `every` - `some` logic evaluates the OR (newQuery) - AND - OR boolean structure of the query\n *\n * @param {object} action\n * @param {object} model\n *\n * */\nexport const evaluateConditions = (modelConditions, model) => {\n\tif (!modelConditions || modelConditions.length === 0) return true;\n\n\treturn modelConditions\n\t\t.reduce(groupByNewQuery, [])\n\t\t.map(term => term.reduce(groupByAnd, []))\n\t\t.some(terms =>\n\t\t\tterms.every(terms =>\n\t\t\t\tterms.some(({field, operator, value}) => {\n\t\t\t\t\tif (field == null && value == null) return true;\n\t\t\t\t\treturn opers[operator](field, value, model);\n\t\t\t\t})\n\t\t\t)\n\t\t);\n};\n\nexport const evalScriptedClientConditions = (scriptedClientCond, model = {}) => {\n\tif (isEmpty(scriptedClientCond) || isEmpty(model)) return true;\n\n\tconst scopeVariableNames = Object.keys(model) || [];\n\tconst scopeVariableValues = scopeVariableNames.map(key => model[key]);\n\tlet result = true;\n\n\ttry {\n\t\tconst scopingFunction = new Function(scopeVariableNames, `return (${scriptedClientCond});`);\n\t\tresult = scopingFunction.apply(scopingFunction, scopeVariableValues);\n\t} catch (e) {\n\t\tconsole.error('Declarative Action scripted client condition expression evaluation failed');\n\t\tconsole.error(e);\n\t}\n\treturn result;\n};\n\n/**\n * The `groupBy*` functions operate over a list of query terms\n * and transform it into a list of arrays, with each array being\n * a group of terms separated by the operator specified.\n *\n * @param {array} conditions\n * @param {object} model\n *\n * @example\n *\n * const conditions =\n * [\n *  { newQuery: false, or: false },\n *  { newQuery: false, or: true  },\n *  { newQuery: true,  or: false ),\n *  { newQuery: false, or: false }\n * ];\n *\n * console.log(conditions.reduce(groupByNewQuery, []));\n * output:\n * [\n *  [\n *    { newQuery: false, or: false },\n *    { newQuery: false, or: true  }\n *  ],\n *  [\n *    { newQuery: true,  or: false },\n *    { newQuery: false, or: false }\n *  ]\n * ]\n * */\nfunction groupByNewQuery(conditions, term, i) {\n\tconst {newQuery} = term;\n\tif (newQuery || i === 0) conditions.push([term]);\n\telse conditions[conditions.length - 1].push(term);\n\treturn conditions;\n}\n\nfunction groupByAnd(conditions, term, i) {\n\tconst {or} = term;\n\tif (!or || i === 0) conditions.push([term]);\n\telse conditions[conditions.length - 1].push(term);\n\treturn conditions;\n}\n\n/* General operators */\nfunction evalEquals(field, value, model) {\n\treturn String(model[field]) === String(value);\n}\n\nfunction evalNotEquals(field, value, model) {\n\treturn !evalEquals(field, value, model);\n}\n\nfunction evalSameAs(field, value, model) {\n\treturn model[field] === model[value];\n}\n\nfunction evalNotSameAs(field, value, model) {\n\treturn !evalSameAs(field, value, model);\n}\n\nfunction evalIsEmpty(field, value, model) {\n\treturn evalEmptyString(field, value, model);\n}\n\nfunction evalIsNotEmpty(field, value, model) {\n\treturn !evalIsEmpty(field, value, model);\n}\n\n/* String operators */\nfunction evalStartsWith(field, value, model) {\n\treturn String(model[field]).startsWith(String(value));\n}\n\nfunction evalEndsWith(field, value, model) {\n\treturn String(model[field]).endsWith(String(value));\n}\n\nfunction evalLike(field, value, model) {\n\treturn String(model[field]).includes(String(value));\n}\n\nfunction evalNotLike(field, value, model) {\n\treturn !evalLike(field, value, model);\n}\n\nfunction evalEmptyString(field, value, model) {\n\treturn model[field] === '' || model[field] === null;\n}\n\nfunction evalIn(field, value, model) {\n\treturn String(value)\n\t\t.split(',')\n\t\t.some(val => evalEquals(field, val, model));\n}\n\nfunction evalNotIn(field, value, model) {\n\treturn !evalIn(field, value, model);\n}\n\n/* Integer/String operators */\nfunction evalGreaterThan(field, value, model) {\n\treturn model[field] > value;\n}\n\nfunction evalGreaterThanOrEquals(field, value, model) {\n\treturn model[field] >= value;\n}\n\nfunction evalLessThan(field, value, model) {\n\treturn model[field] < value;\n}\n\nfunction evalLessThanOrEquals(field, value, model) {\n\treturn model[field] <= value;\n}\n\nfunction evalBetween(field, value, model) {\n\tconst vals = value.split('@');\n\treturn (\n\t\tevalGreaterThanOrEquals(field, vals[0], model) &&\n\t\tevalLessThanOrEquals(field, vals[1], model)\n\t);\n}\n\n/* Integer operators */\nfunction evalGreaterThanField(field, value, model) {\n\treturn model[field] > model[value];\n}\n\nfunction evalLessThanField(field, value, model) {\n\treturn model[field] < model[value];\n}\n\nfunction evalGreaterThanOrEqualsField(field, value, model) {\n\treturn model[field] >= model[value];\n}\n\nfunction evalLessThanOrEqualsField(field, value, model) {\n\treturn model[field] <= model[value];\n}\n","import {getInteractionId, mark} from '@servicenow/ui-metrics';\n\nexport default function track(coeffects, eventName, metadata = {}) {\n\tconst {\n\t\thost,\n\t\taction: {meta = {}},\n\t\tproperties: {nowId = ''}\n\t} = coeffects;\n\tconst interactionId = getInteractionId(meta) || nowId;\n\tmark(host, interactionId, eventName, metadata, 'performance');\n}\n","import {\n\tcurry,\n\tforEach,\n\tget,\n\tisArray,\n\tisEmpty,\n\tisFunction,\n\tisObject,\n\tisString,\n\tmap,\n\tmapValues,\n\treplace,\n\tset\n} from 'lodash';\nimport {evalScriptedClientConditions, evaluateConditions} from './conditionEvaluator';\nimport track from '../utils/uiMetricsUtils';\n\n/**\n * For the interpolation regex, we have logic to check for \\u200B\n * The platform sanitizes {{}} with a \\u200B character to prevent angular code from\n * executing on platform form. Ideally this unicode should only be applied\n * for presentational purposes and the value should remain unchanged in the db\n * but that is not the case.\n */\n\nconst interpolationRegex = /{\\u200B?{([\\s\\S]+?)}}/g;\nconst arrayIndexRegex = /@(\\d)@?/g;\nconst ZERO_COUNT_REGEX = /\\(0\\)/;\n\nconst evaluate = model => {\n\tconst modelEvaluator = curry(substitute)(model);\n\n\treturn string => {\n\t\tif (!isString(string) || !isObject(model)) return string;\n\n\t\t// check if string matches interpolation pattern\n\t\tconst parsedString = interpolationRegex.exec(string);\n\t\tconst matchedString = parsedString ? parsedString[0] : null;\n\t\tconst modelField = parsedString ? parsedString[1] : null;\n\n\t\t// reset state of regex for next string\n\t\tinterpolationRegex.lastIndex = 0;\n\n\t\t// if whole string is matched to the regex, return actual value\n\t\t// e.g \"{{displayValueList}}\" => [ \"Abel Tuter\", \"Beth Anglin\" ]\n\t\tif (parsedString && matchedString.length === string.length) {\n\t\t\treturn modelEvaluator(string, modelField, false);\n\t\t}\n\n\t\t// else, return string interpolated value\n\t\t// e.g \"Edit ({{count}})\" => \"Edit (2)\"\n\t\treturn replace(string, interpolationRegex, modelEvaluator);\n\t};\n};\n\nfunction substitute(model, str, field, isInterpolation = true) {\n\tconst key = field.trim();\n\tconst replacement = get(model, key);\n\n\tif (isInterpolation && isObject(replacement) && !isArray(replacement)) return key;\n\tif (replacement !== undefined) return replacement;\n\n\tconst keys = key.split('.');\n\t//if the key is not in model, return original string, otherwise return empty string.\n\treturn keys[0] in model ? '' : str;\n}\n\nconst recursiveEvaluation = (value, evaluator) => {\n\tif (!isFunction(evaluator)) return null;\n\tif (Array.isArray(value)) return map(value, item => recursiveEvaluation(item, evaluator));\n\tif (isObject(value))\n\t\treturn mapValues(value, objectValue => recursiveEvaluation(objectValue, evaluator));\n\n\treturn evaluator(value);\n};\n\n/**\n * For payload mapping we construct a path for nested objects using\n * the `@` character to separate fields\n *\n * Ex: `{ a: { b: { c: 1 }} }` => The path to `c` is `a@b@c`\n * Ex: `{a: [ { b: { c: 1 } }  ] }` => The path to `c` is `a@0@b@c`\n *\n * These paths must be corrected\n * `a@b@c` => `a.b.c`\n * `a@0@b@c` => `a[0].b.c`\n */\nconst resolvePayloadPath = path => {\n\tif (!path) return '';\n\n\tconst arrayIndexReplaced = replace(path, arrayIndexRegex, (_, index) => {\n\t\treturn `[${index}]`;\n\t});\n\n\treturn arrayIndexReplaced.replace(/@/g, '.');\n};\n\nconst evaluateAction = (action, evaluator) => {\n\tif (!isObject(action) || !isFunction(evaluator)) return null;\n\n\t// These are the only fields that support evaluation\n\tconst {\n\t\tlabel,\n\t\ttooltip,\n\t\tactionAttributes,\n\t\tactionPayload,\n\t\tmodelConditions,\n\t\tpayloadMap,\n\t\tscriptedClientCondition,\n\t\tariaLabel = ''\n\t} = action;\n\n\tconst evaluatedVariables = map(payloadMap, variable =>\n\t\trecursiveEvaluation(variable, evaluator)\n\t);\n\n\tconst constructPayload = (payloadTemplate, fields) => {\n\t\tconst payload = {\n\t\t\t...payloadTemplate\n\t\t};\n\n\t\tforEach(fields, ({name, value}) => {\n\t\t\tconst path = resolvePayloadPath(name);\n\t\t\tset(payload, path, value);\n\t\t});\n\n\t\treturn payload;\n\t};\n\n\tconst mergedPayload = constructPayload(actionPayload, evaluatedVariables);\n\n\treturn {\n\t\t...action,\n\t\tlabel: evaluator(label),\n\t\ttooltip: evaluator(tooltip),\n\t\tariaLabel: evaluator(ariaLabel),\n\t\tactionAttributes: recursiveEvaluation(actionAttributes, evaluator),\n\t\tactionPayload: recursiveEvaluation(mergedPayload, evaluator),\n\t\tmodelConditions: map(modelConditions, condition =>\n\t\t\trecursiveEvaluation(condition, evaluator)\n\t\t),\n\t\tscriptedClientCondition: evaluator(scriptedClientCondition)\n\t};\n};\n\n/**\n * Possible performance improvement here is to store the parsed\n * JSON string to stop future calls to JSON.parse()\n */\nconst jsonParse = jsonString => {\n\tif (isObject(jsonString)) return jsonString;\n\tif (!isString(jsonString)) return {};\n\n\ttry {\n\t\treturn JSON.parse(jsonString || '{}');\n\t} catch (e) {\n\t\treturn {\n\t\t\te: `Error parsing: ${jsonString}`\n\t\t};\n\t}\n};\n\nconst parseStringProperties = action => {\n\tconst unparsedPayload = get(action, 'actionPayload', {});\n\tconst unparsedAttributes = get(action, 'actionAttributes', {});\n\n\tconst parsedPayload = jsonParse(unparsedPayload);\n\tconst parsedAttributes = jsonParse(unparsedAttributes);\n\n\treturn {\n\t\t...action,\n\t\tactionPayload: parsedPayload,\n\t\tactionAttributes: parsedAttributes\n\t};\n};\n\nconst formatZeroCountString = str => {\n\tconst hasMatch = ZERO_COUNT_REGEX.test(str);\n\tif (hasMatch) {\n\t\treturn str.replace(ZERO_COUNT_REGEX, '').trim();\n\t} else {\n\t\treturn str;\n\t}\n};\n\nconst transformActions = (actions, model, metricsData) => {\n\tconst evaluator = evaluate(model);\n\treturn actions\n\t\t.reduce((accumulator, action) => {\n\t\t\tconst {label, tooltip, recordSelectionRequired} = action;\n\t\t\tconst newAction = {\n\t\t\t\t...action,\n\t\t\t\ttooltip: tooltip || label\n\t\t\t};\n\n\t\t\tconst parsedAction = parseStringProperties(newAction);\n\t\t\tconst evaluatedAction = evaluateAction(parsedAction, evaluator);\n\n\t\t\tif (recordSelectionRequired && model.count === 0) {\n\t\t\t\t// Handle case of Edit (0) to Edit\n\t\t\t\tevaluatedAction.label = formatZeroCountString(evaluatedAction.label);\n\t\t\t\tevaluatedAction.tooltip = formatZeroCountString(evaluatedAction.tooltip);\n\t\t\t\tevaluatedAction.ariaLabel = formatZeroCountString(evaluatedAction.ariaLabel);\n\t\t\t}\n\n\t\t\tif (metricsData) {\n\t\t\t\tconst {coeffects = {}, eventName = 'transformActions', meta = {}} = metricsData;\n\t\t\t\tmeta.evaluatedAction = evaluatedAction;\n\t\t\t\tmeta.parsedAction = parsedAction;\n\t\t\t\ttrack(coeffects, eventName, meta);\n\t\t\t}\n\t\t\tconst passed =\n\t\t\t\tevaluateConditions(evaluatedAction.modelConditions, model) &&\n\t\t\t\tevalScriptedClientConditions(evaluatedAction.scriptedClientCondition, model);\n\n\t\t\tif (passed) accumulator.push(evaluatedAction);\n\n\t\t\treturn accumulator;\n\t\t}, [])\n\t\t.sort((action1, action2) => action1.order - action2.order);\n};\n\nconst evaluateAndKeep = (actions, model) => {\n\tconst evaluator = evaluate(model);\n\treturn actions\n\t\t.reduce((accumulator, action) => {\n\t\t\taction.tooltip = action.tooltip || action.label;\n\n\t\t\tconst parsedAction = parseStringProperties(action);\n\t\t\tconst evaluatedAction = evaluateAction(parsedAction, evaluator);\n\n\t\t\taccumulator.push(evaluatedAction);\n\n\t\t\treturn accumulator;\n\t\t}, [])\n\t\t.sort((action1, action2) => action1.order - action2.order);\n};\n\n/**\n * Given a list of `actions`, `transformer` will return\n * a filtered list of `actions` with `{{}}` syntax evaluated\n * and client conditions applied\n *\n * @param {array} actions\n * @param {object} model\n *\n * @example\n *\n * const model = { value: 'World' };\n * const actions = [\n * {\n * \tname: 'action1',\n * \tlabel: 'Hello {{ value }}!'\n * },\n * {\n * \tname: 'action2',\n * \tlabel: 'Foo {{ value }}',\n * \tconditions: {\n * \t\tvalue: 'bar'\n * \t}\n * }\n * ];\n *\n * const evaluateActions = transformer(action2, model);\n * console.log(evaluatedActions); // => [{ name: 'action1 , label: 'Hello World'}]\n */\nexport const transformer = (actions, model, metricsData) => {\n\tif (isEmpty(actions)) return actions;\n\n\treturn transformActions(actions, model, metricsData);\n};\n\nexport const evaluateOnly = (actions, model) => {\n\tif (isEmpty(actions)) return actions;\n\n\treturn evaluateAndKeep(actions, model);\n};\n","import {forOwn, get, isArray, isEmpty, isObject, startCase} from 'lodash';\nimport {t} from 'sn-translate';\n\nexport const ACTION_CONFIG = 'actionConfig';\nexport const ACTION_CONFIG_ID = 'actionConfigId';\nexport const ASSIGNMENT_ID = 'assignmentId';\nexport const ACTION_DISPATCH = 'actionDispatch';\nexport const ARRAY = 'array';\nexport const BOOLEAN = 'boolean';\nexport const CONTEXT_VARS = 'contextVars';\nexport const UXF_CLIENT_ACTION = 'uxf_client_action';\nexport const ERROR_PREFIX = 'DA contractGenerator error: ';\nexport const ERROR_ACTION_PAYLOAD =\n\t'actions have not been passed through transformer to evaluate `{{}}` syntax.';\nexport const ERROR_TYPE_INVALID = 'modelType is invalid or not supported.';\nexport const EVAM = 'EVAM';\nexport const BOARD = 'BOARD';\nexport const EVENT_NAME = 'eventName';\nexport const EVENT = 'event';\nexport const FIELD = 'FIELD';\nexport const FIELD_TYPE = 'fieldType';\nexport const FORM = 'FORM';\nexport const ID = 'id';\nexport const LABEL = 'label';\nexport const LIST = 'LIST';\nexport const MODEL = 'model';\nexport const META_DATA = 'typeMetadata';\nexport const NAME = 'name';\nexport const NUMBER = 'number';\nexport const OBJECT = 'object';\nexport const PAYLOAD = 'payload';\nexport const PROPERTIES = 'properties';\nexport const RELATED_LIST = 'RELATED_LIST';\nexport const SCHEMA = 'schema';\nexport const STRING = 'string';\nexport const TYPE = 'type';\nexport const VALUE = 'value';\nexport const CATALOG_WIZARD = 'CATALOG_WIZARD';\n\nexport const SUPPORTED_MODELS_TYPES = [\n\tBOARD,\n\tEVAM,\n\tFIELD,\n\tFORM,\n\tLIST,\n\tRELATED_LIST,\n\tCATALOG_WIZARD\n];\nexport const MODELS = {\n\t[BOARD]: {\n\t\t[ID]: '45757de50fa52010ad4437a98b767e33',\n\t\t[LABEL]: t('Board Model')\n\t},\n\t[EVAM]: {\n\t\t[ID]: '035d270073151010c342d5fdbdf6a715',\n\t\t[LABEL]: t('EVAM Model')\n\t},\n\t[FIELD]: {\n\t\t[ID]: '15920e6d534723003eddddeeff7b1244',\n\t\t[LABEL]: t('Field Model')\n\t},\n\t[FORM]: {\n\t\t[ID]: '360935e9534723003eddddeeff7b127d',\n\t\t[LABEL]: t('Form Model')\n\t},\n\t[LIST]: {\n\t\t[ID]: 'c3547169534723003eddddeeff7b126c',\n\t\t[LABEL]: t('List Model')\n\t},\n\t[RELATED_LIST]: {\n\t\t[ID]: 'd91731a9534723003eddddeeff7b121c',\n\t\t[LABEL]: t('Related List Model')\n\t},\n\t[CATALOG_WIZARD]: {\n\t\t[ID]: 'e48b12c02d559110f8778479e97d46f0',\n\t\t[LABEL]: t('Catalog Wizard Model')\n\t}\n};\n\nconst getTypeFromValue = value => (isArray(value) ? ARRAY : typeof value);\n\nconst evaluateRequired = (actions = [], model = {}) =>\n\tisEmpty(actions) || isEmpty(actions[0]) || isEmpty(model);\n\nconst evaluateModelType = model =>\n\tisEmpty(model.modelType) || SUPPORTED_MODELS_TYPES.indexOf(model.modelType) === -1\n\t\t? ERROR_TYPE_INVALID\n\t\t: null;\n\nconst getNameAndLabel = key => ({[NAME]: key, [LABEL]: startCase(key)});\n\nconst getEventStructure = (value, key, isObject = false) => ({\n\t...getNameAndLabel(key),\n\t[FIELD_TYPE]: isObject ? 'json' : getTypeFromValue(value),\n\t[META_DATA]: {\n\t\t[SCHEMA]: {\n\t\t\t[TYPE]: getTypeFromValue(value),\n\t\t\t...(isObject && {[PROPERTIES]: {}})\n\t\t}\n\t}\n});\n\nconst getPropMetadata = (value, key) => ({\n\t...getNameAndLabel(key),\n\t[VALUE]: value\n});\n\nconst buildObject = (value, key, isEventProps) => {\n\tif (isEventProps && isObject(value)) {\n\t\tconst event = getEventStructure(value, key, true);\n\t\tconst {\n\t\t\ttypeMetadata: {\n\t\t\t\tschema: {properties}\n\t\t\t}\n\t\t} = event;\n\n\t\tforOwn(value, (v, k) => {\n\t\t\tproperties[k] = buildObject(v, k, isEventProps);\n\t\t});\n\t\treturn event;\n\t}\n\treturn isEventProps ? getEventStructure(value, key) : getPropMetadata(value, key);\n};\n\n/**\n *\n * @return {array}\n * @example\n *\n *  [\n *    {\n *      \"name\": \"table\",\n *      \"label\": \"Table\",\n *      \"value\": \"incidnet\"\n *    }\n *  ]\n */\nexport const buildList = (obj, isEventProps = false) => {\n\tconst arr = [];\n\tif (isEmpty(obj)) return arr;\n\n\tforOwn(obj, (value, key) => {\n\t\tarr.push(buildObject(value, key, isEventProps));\n\t});\n\treturn arr;\n};\n\n/**\n *\n * @throws {string}\n * @example 'DA contractGenerator error: actions have not\n * been passed through transformer to evaluate `{{}}` syntax.'\n *\n * @return {array}\n * @example\n *\n *  [\n *    {\n *      \"id\": \"789\",\n *      \"label\": \"Baz Clicked\",\n *      \"eventName\": \"BAZZZZZ_CLICKED\",\n *      \"properties\": [\n *        {\n *          \"name\": \"message\",\n *          \"label\": \"Message\",\n *          \"fieldType\": \"json\",\n *          \"typeMetadata\": {\n *            \"schema\": {}\n *          }\n *        }\n *      ]\n *    }\n *  ]\n *\n */\nexport const buildEventDefinitions = actions => {\n\tconst arr = [];\n\tfor (var action of actions) {\n\t\tconst {actionType, actionPayload} = action;\n\n\t\tif (actionType !== UXF_CLIENT_ACTION) continue;\n\t\tif (getTypeFromValue(actionPayload) === STRING)\n\t\t\tthrow new Error(ERROR_PREFIX + ERROR_ACTION_PAYLOAD);\n\n\t\tarr.push({\n\t\t\t[ID]: get(action, ASSIGNMENT_ID, ''),\n\t\t\t[EVENT_NAME]: get(action, ACTION_DISPATCH, ''),\n\t\t\t[LABEL]: get(action, LABEL, ''),\n\t\t\t[PROPERTIES]: buildList(actionPayload, true)\n\t\t});\n\t}\n\treturn arr;\n};\n\n/**\n *\n * @param {object} model\n *\n * @return {object}\n * @example\n *\n *  {\n *    \"model\": {}\n *    \"actionConfig\": {},\n *    \"contextVars\": []\n *  }\n *\n */\nexport const buildApplicability = model => {\n\treturn {\n\t\t[MODEL]: MODELS[model.modelType],\n\t\t[ACTION_CONFIG]: {[ID]: get(model, ACTION_CONFIG_ID, '')},\n\t\t[CONTEXT_VARS]: buildList(model)\n\t};\n};\n\n/**\n *\n * This generator is necessary for use\n * in providing UIB with the available client actions supported\n * by an action container component.\n *\n * Given a list of transformed `actions`, `contractGenerator`\n * will return an object containing a list of dispatched\n * client event defintions.\n *\n * @param {array} actions\n * @param {object} model (i.e. Fields that exist in container component.)\n *\n * @example\n *\n *  {\n *    \"actionConfigId\": \"\",\n *    \"columns\": \"\",\n *    \"modelType\": \"LIST\",\n *    \"parentRecordSysId\": \"\",\n *    \"parentTable\": \"\",\n *    \"relatedListName\": \"\",\n *    \"table\": \"\",\n *  }\n *\n *\n * @throws {string}\n * @example 'DA contractGenerator error: modelType has not\n * been defined.'\n *\n *\n * @return {object}\n * @example\n *\n *  {\n *    \"daApplicability\": {},\n *    \"dispatchedEventDefs\": []\n *  }\n *\n */\nexport const contractGenerator = (actions, model) => {\n\tif (evaluateRequired(actions, model)) return null;\n\n\tif (!isEmpty(evaluateModelType(model))) throw new Error(ERROR_PREFIX + ERROR_TYPE_INVALID);\n\n\treturn {\n\t\tdaApplicability: buildApplicability(model),\n\t\tdispatchedEventDefs: buildEventDefinitions(actions)\n\t};\n};\n","import {\n\tDECLARATIVE_ACTION_CANCEL_ACTION,\n\tDECLARATIVE_ACTION_CLOSE_MODAL,\n\tDECLARATIVE_ACTION_EXECUTE_ACTION\n} from '../actions';\nimport {get} from 'lodash';\n\nexport default {\n\t'NOW_MODAL#FOOTER_ACTION_CLICKED': ({state, dispatch, action}) => {\n\t\tconst scriptTitle = get(state, 'properties.action.label', '');\n\t\tconst buttonTitle = get(action, 'payload.action.label', 'NOT_A_MATCH');\n\t\tif (scriptTitle === buttonTitle) dispatch(DECLARATIVE_ACTION_EXECUTE_ACTION);\n\t\telse dispatch(DECLARATIVE_ACTION_CANCEL_ACTION);\n\n\t\tdispatch(DECLARATIVE_ACTION_CLOSE_MODAL);\n\t},\n\t'NOW_MODAL#OPENED_SET': ({dispatch}) => {\n\t\tdispatch(DECLARATIVE_ACTION_CANCEL_ACTION);\n\t\tdispatch(DECLARATIVE_ACTION_CLOSE_MODAL);\n\t}\n};\n","import {t} from 'sn-translate';\nimport Modal from '../../modal-wrapper';\n\nconst createButtons = action => [\n\t{\n\t\tvariant: 'primary-negative',\n\t\tlabel: action.label || t('Confirm')\n\t},\n\t{\n\t\tvariant: 'secondary',\n\t\tlabel: t('Cancel')\n\t}\n];\n\nexport default ({properties: {show, action, componentId}}) => {\n\tif (!action) return null;\n\n\tconst buttons = createButtons(action);\n\tconst message = action.confirmationMessage ? action.confirmationMessage : t('Execute action');\n\n\treturn (\n\t\t<Modal\n\t\t\tcomponent-id={`${componentId}_confirmation_modal`}\n\t\t\topened={show}\n\t\t\theader-label={t('Confirmation')}\n\t\t\tfooter-actions={buttons}>\n\t\t\t<p>{message}</p>\n\t\t</Modal>\n\t);\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport actionHandlers from './actions';\nimport view from './view';\n\nexport const SNDeclarativeConfirmationModal = 'sn-declarative-confirmation-modal';\n\ncreateCustomElement(SNDeclarativeConfirmationModal, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tproperties: {\n\t\taction: {},\n\t\tshow: false,\n\t\tcomponentId: ''\n\t},\n\tactionHandlers\n});\n","import {ACTION_COMPONENT} from './actions';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\n\nimport './confirmation-modal';\n\nexport default ({model, action, key, displayConfirmation}) => {\n\tconst {actionType, actionComponent, actionAttributes} = action || {};\n\n\tconst isUIComponent = actionType === ACTION_COMPONENT;\n\tconst ActionComponent = actionComponent;\n\tconst props = {\n\t\t...model,\n\t\t...actionAttributes\n\t};\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<slot />\n\t\t\t{!displayConfirmation && isUIComponent && ActionComponent ? (\n\t\t\t\t<ActionComponent hoist key={key} {...props} model={model} />\n\t\t\t) : null}\n\t\t\t{displayConfirmation ? (\n\t\t\t\t<sn-declarative-confirmation-modal\n\t\t\t\t\taction={action}\n\t\t\t\t\tshow={displayConfirmation}\n\t\t\t\t\thoist\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t</Fragment>\n\t);\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport actionHandlers from './actions';\nimport view from './view';\n\nexport const SNDeclarativeMediator = 'sn-declarative-mediator';\n\n/**\n * Helper component which wraps other components which rely on declarative actions\n * The component handles everything related to executing and evaluating conditions of the declarative action\n * dispatched by the slotted component and sending the results back down to the child through props\n *\n * ```jsx\n * <sn-declarative-mediator>\n *\t\t<other-component-which-renders-declarative-action\n *\t\t\t{...properties}\n *\t\t/>\n * </sn-declarative-mediator>\n * ```\n *\n * @seismicElement sn-declarative-mediator\n * @summary Helper component which wraps other components which rely on declarative actions\n * and handles execution of the action for the wrapped component\n */\ncreateCustomElement(SNDeclarativeMediator, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tinitialState: {\n\t\taction: {},\n\t\tmodel: {},\n\t\tkey: null,\n\t\tdisplayConfirmation: false,\n\t\tdynamicConditionResults: {}\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Whether or not it should dispatch a wrapped action with an actual action in a payload for DISPATCH_ACTION and UXF_CLIENT_ACTION type\n\t\t * @type {boolean}\n\t\t */\n\t\tshouldWrapAction: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t},\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Whether or not it should work on Dynamic Evaluation for DAs\n\t\t */\n\t\tshouldEvaluateDynamicConditions: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t},\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Whether or not it should append actionEvent to payload to describe the event triggerring the action\n\t\t * The value of actionEvent comes from either\n\t\t *  1. action.meta.actionEvent\n\t\t *  2. action.meta.event (default)\n\t\t *\n\t\t * actionEvent schema:\n\t\t * \tactionEvent: {\n\t\t * \t\tschema: {\n\t\t * \t\t\ttype: 'object',\n\t\t * \t\t\tproperties: {\n\t\t * \t\t\t\ttarget: {\n\t\t * \t\t\t\t\ttype: 'object',\n\t\t * \t\t\t\t\tdescription: 'a reference to action event's target element'\n\t\t * \t\t\t\t},\n\t\t * \t\t\t\ttype: {\n\t\t * \t\t\t\t\ttype: 'string',\n\t\t * \t\t\t\t\tdescription: 'event type'\n\t\t * \t\t\t\t},\n\t\t * \t\t\t\tmetaKey: {\n\t\t * \t\t\t\t\ttype: 'boolean',\n\t\t * \t\t\t\t\tdescription: 'indicates whether the meta key was pressed or not when the event occurs'\n\t\t * \t\t\t\t}\n\t\t * \t\t\t}\n\t\t * \t\t}\n\t\t * \t}\n\t\t * @type {boolean}\n\t\t */\n\t\tshouldAppendActionEvent: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t},\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Prop for Dynamically Evaluated DA's\n\t\t * All the Declarative Action SysIds needed to be evaluated\n\t\t * @type {Array.<Object>}\n\t\t */\n\t\tdeclarativeActions: {\n\t\t\tschema: {\n\t\t\t\ttype: 'array'\n\t\t\t},\n\t\t\tdefault: [],\n\t\t\tdeepCompare: true\n\t\t},\n\t\t/**\n\t\t * List info needed when used in Lists/Related Lists\n\t\t * Prop for Dynamically Evaluated DA's\n\t\t * @type {{\n\t\t * model: string,\n\t\t * recordSysIds: Array.<string>,\n\t\t * conditions: string,\n\t\t * selectedRecords: Array.<string>,\n\t\t * editedRecords: Array.<string>,\n\t\t * listRefresh: Object,\n\t\t * daRelayPropName: string,\n\t\t * table: string,\n\t\t * parentTable: string,\n\t\t * parentRecordSysId: string\n\t\t * }}\n\t\t */\n\t\tmodelData: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\t/**\n\t\t\t\t\t * Prop for Dynamically Evaluated DA's [Lists].\n\t\t\t\t\t * Model type list / form\n\t\t\t\t\t * For Future use\n\t\t\t\t\t * @type {string}\n\t\t\t\t\t */\n\t\t\t\t\tmodel: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: ''\n\t\t\t\t\t},\n\t\t\t\t\t/**\n\t\t\t\t\t * Prop for Dynamically Evaluated DA's [Lists]\n\t\t\t\t\t * All the Record SysIds needed to be evaluated\n\t\t\t\t\t * @type {Array.<string>}\n\t\t\t\t\t */\n\t\t\t\t\trecordSysIds: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'array'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: []\n\t\t\t\t\t},\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Filter conditions for the current list.\n\t\t\t\t\t * Used for \"Select All\" use case\n\t\t\t\t\t * @type {string}\n\t\t\t\t\t */\n\t\t\t\t\tconditions: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: ''\n\t\t\t\t\t},\n\t\t\t\t\t/**\n\t\t\t\t\t * Prop for Dynamically Evaluated DA's [Lists]\n\t\t\t\t\t * All the selected/checked Record SysIds needed to be evaluated\n\t\t\t\t\t * @type {Array.<string>}\n\t\t\t\t\t */\n\t\t\t\t\tselectedRecords: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'array'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: []\n\t\t\t\t\t},\n\t\t\t\t\t/**\n\t\t\t\t\t * Prop for Dynamically Evaluated DA's [Lists]\n\t\t\t\t\t * All the inline Edited Record SysIds needed to be evaluated\n\t\t\t\t\t * @type {Array.<string>}\n\t\t\t\t\t */\n\t\t\t\t\teditedRecords: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'array'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: []\n\t\t\t\t\t},\n\t\t\t\t\t/**\n\t\t\t\t\t * Prop for Dynamically Evaluated DA's [Lists]\n\t\t\t\t\t * Flag for inline Edited Records to be evaluated - Timestamp\n\t\t\t\t\t * @type {string}\n\t\t\t\t\t */\n\t\t\t\t\tcellUpdatedOn: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: ''\n\t\t\t\t\t},\n\t\t\t\t\t/**\n\t\t\t\t\t * Prop for Dynamically Evaluated DA's [Lists].\n\t\t\t\t\t * Last time the record list was refreshed\n\t\t\t\t\t * @type {{}}\n\t\t\t\t\t */\n\t\t\t\t\tlistRefresh: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'object'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: {}\n\t\t\t\t\t},\n\t\t\t\t\t/**\n\t\t\t\t\t * Child component property name to which the dynamically evaluated Declarative Actions will be passed down.\n\t\t\t\t\t * ex. Used for Enable/Disable DA's based on Record Selection on Lists\n\t\t\t\t\t * @type {string}\n\t\t\t\t\t */\n\t\t\t\t\tdaRelayPropName: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: ''\n\t\t\t\t\t},\n\t\t\t\t\t/**\n\t\t\t\t\t * Prop for Dynamically Evaluated DA's\n\t\t\t\t\t * Table Name for the Dynamic evaluation\n\t\t\t\t\t * @type {string}\n\t\t\t\t\t */\n\t\t\t\t\ttable: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: ''\n\t\t\t\t\t},\n\t\t\t\t\t/**\n\t\t\t\t\t * Prop for Dynamically Evaluated DA's\n\t\t\t\t\t * Parent Table Name for the Dynamic evaluation\n\t\t\t\t\t * @type {string}\n\t\t\t\t\t */\n\t\t\t\t\tparentTable: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: ''\n\t\t\t\t\t},\n\t\t\t\t\t/**\n\t\t\t\t\t * Prop for Dynamically Evaluated DA's\n\t\t\t\t\t * Parent Record SysId for the Dynamic evaluation\n\t\t\t\t\t * @type {string}\n\t\t\t\t\t */\n\t\t\t\t\tparentRecordSysId: {\n\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\ttype: 'string'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: ''\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefault: {},\n\t\t\tdeepCompare: true\n\t\t}\n\t},\n\tactionHandlers,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched once the declarative action execution has completed indicating success or failure\n\t\t * @type {AddNotificationsPayload[]}\n\t\t */\n\t\tADD_NOTIFICATIONS: {},\n\t\t/**\n\t\t * Dispatched on successful action execution\n\t\t * @type {object}\n\t\t */\n\t\tREFRESH_REQUESTED: {}\n\t}\n});\n","import {createPreSourceBehavior} from 'sn-uxpage-presource';\nimport {get} from 'lodash';\n\nconst OPEN_FRAME = 'sn-component-openframe';\nconst openFrameDataPath = 'data.AppOpenframe_Query';\n\nexport const OPEN_FRAME_KEY = 'openFrameConfig';\nexport const openFrameBehavior = createPreSourceBehavior(OPEN_FRAME, {\n\tname: OPEN_FRAME_KEY,\n\ttransform: data => get(data, openFrameDataPath, null)\n});\n","import {OPEN_FRAME_KEY} from './behaviors';\nimport {chain, get, isEmpty, isFunction, isObject} from 'lodash';\nimport {getBehaviorProp} from 'sn-uxpage-presource';\n\nfunction isAttrTrue(val) {\n\treturn val === true || val === 'true';\n}\n\nexport const getActionsByKey = (actions, fieldType) => {\n\treturn chain(actions)\n\t\t.filter(action => action.field === fieldType)\n\t\t.nth(0)\n\t\t.get('actions', [])\n\t\t.value();\n};\n\n/**\n * Some configuration data (e.g., CTI and current user info) is currently\n * stored globally and not provided as props/in a central Seismic store.\n *\n * This maps known action dependencies (specified in sys_declarative_action\n * table) to a predicate that determines whether or not the action can be\n * rendered.\n */\nconst HACKY_GLOBAL_DEPENDENCY_MAP = {\n\tCTI: behaviors => {\n\t\tconst openFrameConfig = getBehaviorProp({behaviors}, OPEN_FRAME_KEY, {});\n\t\treturn (\n\t\t\tget(openFrameConfig, 'showFrame', 'false') === 'true' &&\n\t\t\tget(openFrameConfig, 'config', null)\n\t\t);\n\t}\n};\n\nexport default function canRenderAction({model, action, formData, behaviors} = {}) {\n\tif (!isObject(action)) {\n\t\treturn false;\n\t}\n\n\tif (action.requiresValue && isEmpty(model.value)) {\n\t\treturn false;\n\t}\n\n\tif (action.requiresExistingRecord && isObject(formData) && formData.isNewRecord) {\n\t\treturn false;\n\t}\n\n\tif (action.requiresWritable && isAttrTrue(model.readonly)) {\n\t\treturn false;\n\t}\n\n\tif (\n\t\taction.dependency &&\n\t\tisFunction(HACKY_GLOBAL_DEPENDENCY_MAP[action.dependency]) &&\n\t\t!HACKY_GLOBAL_DEPENDENCY_MAP[action.dependency](behaviors)\n\t) {\n\t\treturn false;\n\t}\n\n\treturn true;\n}\n","import {createGraphQLEffect} from '@servicenow/ui-effect-graphql';\nimport {get} from 'lodash';\n\nimport {getActionsByKey} from './utils';\n\nexport const DECLARATIVE_ACTION_FETCH_FIELD_GRAPHQL = 'DECLARATIVE_ACTION_FETCH_FIELD#GRAPHQL';\nexport const DECLARATIVE_ACTION_FETCH_FIELD_SUCCESS = 'DECLARATIVE_ACTION_FETCH_FIELD#SUCCESS';\nexport const DECLARATIVE_ACTION_FETCH_FIELD_ERROR = 'DECLARATIVE_ACTION_FETCH_FIELD#ERROR';\nexport const DECLARATIVE_ACTION_FETCH_FIELD_PRESOURCE = 'DECLARATIVE_ACTION_FETCH#PRESOURCE';\n\nconst globalActionsDataPath =\n\t'data.GlideDeclarativeActions_Query.GlideDeclarativeActions_fieldQuery.fieldDeclarativeActions.fieldActions';\nconst declarativeFieldActionQuery = `query($tableName: String!, $sysId: String!, $workspaceConfigId: String!) {\n\tGlideDeclarativeActions_Query {\n\t\tGlideDeclarativeActions_fieldQuery {\n\t\t\tfieldDeclarativeActions(table: $tableName, view: \"\", sysId: $sysId, source: \"field\", workspaceConfigId: $workspaceConfigId) {\n\t\t\t\tfieldActions {\n\t\t\t\t\tfield\n\t\t\t\t\tactions {\n\t\t\t\t\t\tname\n\t\t\t\t\t\ticon\n\t\t\t\t\t\tlabel\n\t\t\t\t\t\tdependency\n\t\t\t\t\t\trequiresValue\n\t\t\t\t\t\torder\n\t\t\t\t\t\tactionType\n\t\t\t\t\t\tactionComponent\n\t\t\t\t\t\tactionDispatch\n\t\t\t\t\t\tactionPayload\n\t\t\t\t\t\tactionAttributes\n\t\t\t\t\t\tgroupBy\n\t\t\t\t\t\tgroup\n\t\t\t\t\t\tassignmentId\n\t\t\t\t\t\tconfirmationRequired\n\t\t\t\t\t\tconfirmationMessage\n\t\t\t\t\t\ttooltip\n\t\t\t\t\t\tclientScript\n\t\t\t\t\t\tscriptedClientCondition\n\t\t\t\t\t\tmodelConditions {\n\t\t\t\t\t\t\tfield\n\t\t\t\t\t\t\toperator\n\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t\tnewQuery\n\t\t\t\t\t\t\tor\n\t\t\t\t\t\t}\n\t\t\t\t\t\tpayloadMap {\n\t\t\t\t\t\t\tname\n\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}`;\n\nconst fetchActionsEffect = createGraphQLEffect(declarativeFieldActionQuery, {\n\tvariableList: ['tableName', 'sysId', 'workspaceConfigId'],\n\tsuccessActionType: DECLARATIVE_ACTION_FETCH_FIELD_SUCCESS,\n\terrorActionType: DECLARATIVE_ACTION_FETCH_FIELD_ERROR\n});\n\nexport default {\n\t[DECLARATIVE_ACTION_FETCH_FIELD_GRAPHQL]: fetchActionsEffect,\n\n\t[DECLARATIVE_ACTION_FETCH_FIELD_SUCCESS]: ({updateProperties, state, action}) => {\n\t\tconst {payload, meta} = action;\n\t\tconst {\n\t\t\tproperties: {model}\n\t\t} = state;\n\t\tconst requestTableName = get(meta, 'options.variables.tableName');\n\t\tconst globalResponse = requestTableName === 'global';\n\n\t\tconst key = globalResponse ? model.fieldType : model.fieldName;\n\t\tconst actionsFromDatasource = get(payload, globalActionsDataPath);\n\n\t\tupdateProperties({\n\t\t\tactionsFromDatasource: getActionsByKey(actionsFromDatasource, key)\n\t\t});\n\t},\n\n\t[DECLARATIVE_ACTION_FETCH_FIELD_ERROR]: ({updateProperties}) => {\n\t\tupdateProperties({\n\t\t\tactionsFromDatasource: []\n\t\t});\n\t}\n};\n","import '@servicenow/now-button';\nimport {isEmpty, isNull, map, take} from 'lodash';\nimport {t} from 'sn-translate';\n\nimport canRenderAction from './utils';\n\nimport {transformer} from '../../common/transformActions';\n\nexport const Action = ({action, dispatch, model, key}) => {\n\tconst onClick = (e = {}) => {\n\t\te.preventDefault();\n\t\tconst target = e.target;\n\t\tconst {metaKey, type} = e;\n\t\tconst meta = target ? {actionEvent: {metaKey, type, target}} : {};\n\t\tdispatch('DECLARATIVE_ACTION', {action, model}, meta);\n\t};\n\n\tconst oldIconToNDSIcon = {\n\t\tsearch: 'magnifying-glass-outline',\n\t\tphone: 'phone-outline',\n\t\t'info-circle': 'info-circle-outline'\n\t};\n\n\tconst getIcon = icon => oldIconToNDSIcon[icon] || icon;\n\n\tconst {label, tooltip} = action;\n\n\tconst icon = getIcon(action.icon);\n\n\treturn (\n\t\t<now-button-iconic\n\t\t\t{...(key ? {key} : {})}\n\t\t\tbare\n\t\t\tconfig-aria={{\n\t\t\t\t'aria-label': tooltip || label,\n\t\t\t\t'aria-description': model.displayValue\n\t\t\t\t\t? t('{0} field : {1}', model.label, model.displayValue)\n\t\t\t\t\t: t('{0} field', model.label)\n\t\t\t}}\n\t\t\ticon={icon}\n\t\t\ton-click={onClick}\n\t\t\tsize=\"sm\"\n\t\t\ttooltip-content={tooltip}\n\t\t\tvariant=\"tertiary\"\n\t\t/>\n\t);\n};\n\nconst view = (state, {dispatch}) => {\n\tconst {behaviors, componentId, properties} = state;\n\tconst {model, actions, actionsFromDatasource, formData} = properties;\n\n\tconst resolvedActions =\n\t\tisNull(actions) && !isEmpty(actionsFromDatasource) ? actionsFromDatasource : actions;\n\n\tconst cappedActions = take(resolvedActions, 3);\n\tconst metricsData = {\n\t\tcoeffects: {\n\t\t\thost: {\n\t\t\t\tcomponentId,\n\t\t\t\tcomponentName: 'sn-declarative-field-action-renderer'\n\t\t\t},\n\t\t\taction: {},\n\t\t\tproperties\n\t\t},\n\t\teventName: 'FIELD-RENDERER#VIEW_RENDER',\n\t\tmeta: {\n\t\t\tmodel\n\t\t}\n\t};\n\tconst evaluatedActions = transformer(cappedActions, model, metricsData);\n\treturn map(evaluatedActions, action => {\n\t\tif (!canRenderAction({model, action, formData, behaviors})) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <Action key={action.name} model={model} action={action} dispatch={dispatch} />;\n\t});\n};\n\nexport default view;\n","import {actionTypes, createCustomElement} from '@servicenow/ui-core';\nimport {isNull, isString} from 'lodash';\nimport {preWsConfigSysId} from 'sn-uxpage-presource';\n\nimport {openFrameBehavior} from './behaviors';\nimport actionHandlers, {DECLARATIVE_ACTION_FETCH_FIELD_GRAPHQL} from './actions';\nimport styles from './view.scss';\nimport view from './view';\n\nconst {COMPONENT_BOOTSTRAPPED} = actionTypes;\n\nconst createData = (model, wsConfigSysId) => {\n\tconst {tableName = 'global', recordSysId: sysId = '-1'} = model;\n\tconst workspaceConfigId = isString(wsConfigSysId) ? wsConfigSysId : '-1';\n\n\treturn {\n\t\ttableName,\n\t\tsysId,\n\t\tworkspaceConfigId\n\t};\n};\n\nexport {default as canRenderFieldAction} from './utils';\nexport const SNDeclarativeFieldActionRenderer = 'sn-declarative-field-action-renderer';\n\ncreateCustomElement(SNDeclarativeFieldActionRenderer, {\n\tview,\n\tstyles,\n\tproperties: {\n\t\tmodel: {\n\t\t\tdefault: {}\n\t\t},\n\t\tactions: {\n\t\t\tdefault: null\n\t\t},\n\t\tformData: {\n\t\t\tdefault: {}\n\t\t},\n\t\tactionsFromDatasource: {\n\t\t\tdefault: null\n\t\t},\n\t\tfetchDeclarativeActions: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tbehaviors: [openFrameBehavior, preWsConfigSysId],\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: ({dispatch, properties, state}) => {\n\t\t\t\tconst {actions, model, fetchDeclarativeActions} = properties;\n\t\t\t\tconst {wsConfigSysId} = state.behaviors;\n\n\t\t\t\t// we can possibly move this type of logic into a behavior\n\t\t\t\tif (isNull(actions) && fetchDeclarativeActions)\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tDECLARATIVE_ACTION_FETCH_FIELD_GRAPHQL,\n\t\t\t\t\t\tcreateData(model, wsConfigSysId)\n\t\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t...actionHandlers\n\t}\n});\n","import '../mediator';\nimport './field-renderer';\n\nexport function isClassicForm(formData = {}) {\n\t// Just doing this for now to unblock us. Will clean up later\n\t// eslint-disable-next-line no-prototype-builtins\n\tif (!formData.hasOwnProperty('classicForm')) return true;\n\treturn formData.classicForm || false;\n}\n\nconst view = ({properties}) => {\n\tconst {formData} = properties;\n\tconst classicForm = isClassicForm(formData);\n\n\treturn (\n\t\t<sn-declarative-mediator\n\t\t\tshould-wrap-action={!classicForm}\n\t\t\tshould-append-action-event={!classicForm}>\n\t\t\t<sn-declarative-field-action-renderer {...properties} />\n\t\t</sn-declarative-mediator>\n\t);\n};\n\nexport default view;\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport view from './view';\n\nexport {default as canRenderFieldAction} from './field-renderer/utils';\nexport const SNDeclarativeFieldAction = 'sn-declarative-field-action';\n\ncreateCustomElement(SNDeclarativeFieldAction, {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview\n\t},\n\tproperties: {\n\t\tmodel: {\n\t\t\tdefault: {}\n\t\t},\n\t\tactions: {\n\t\t\tdefault: null\n\t\t},\n\t\tformData: {\n\t\t\tdefault: {}\n\t\t},\n\t\tfetchDeclarativeActions: {\n\t\t\tdefault: false\n\t\t}\n\t}\n});\n","import { getComponentsByTagNames } from '@devsnc/library-uxf';\n\nexport const loadComponents = componentTags => {\n\tif (!componentTags || !Array.isArray(componentTags)) return;\n\tgetComponentsByTagNames(componentTags).then(names => {\n\t\tconsole.log('Loaded components: ' + names.join(',')); // eslint-disable-line no-console\n\t});\n};\n","import { loadComponents } from \"./dynamicLoad\";\nimport map from \"lodash/map\";\nimport uniq from \"lodash/uniq\";\n\nexport const resolve = (data) => {\n\tconst uniqComponentTags = uniq(map(data, (item) => item.template));\n\tloadComponents(uniqComponentTags);\n\treturn map(data, (item) => {\n\t\treturn <item.template {...item.propValues} />;\n\t});\n};\n","import map from 'lodash/map';\n\nexport const resolveStatic = data => {\n\treturn map(data, (item) => {\n\t\treturn <item.template {...item.propValues} />;\n\t});\n};","import { t } from \"sn-translate\";\nimport { resolve } from \"@devsnc/sn-evam-resolver\";\nimport truncate from \"lodash/truncate\";\nimport isEmpty from \"lodash/isEmpty\";\nimport get from \"lodash/get\";\nimport lowerCase from \"lodash/lowerCase\";\nimport { DEF_MIN_CARD_WIDTH, DEF_MAX_VISIBLE_CARDS } from \"./constants\";\nimport {\n\tcontractGenerator,\n\ttransformer,\n\tEVAM\n} from \"@devsnc/sn-declarative-actions\";\n\nexport const transformState = state => {\n\tconst {\n\t\tlayout,\n\t\ttitle,\n\t\tnoDataMessage,\n\t\tdata,\n\t\tminCardPixelWidth\n\t} = state.properties;\n\n\tconst items = !isEmpty(data) && Array.isArray(data.items) ? data.items : [];\n\tconst properties = {\n\t\t...state.properties,\n\t\tlayout: lowerCase(layout),\n\t\ttitle: t(truncate(title, { length: 63 })),\n\t\tnoDataMessage: truncate(noDataMessage, { length: 203 }),\n\t\thtmlFragments: !isEmpty(items) ? resolve(items) : [],\n\t\tminCardPixelWidth: Math.max(minCardPixelWidth, DEF_MIN_CARD_WIDTH)\n\t};\n\treturn { ...state, properties };\n};\n\nexport const transformDAClientActionToUXEvents = declarativeActions => {\n\tif (isEmpty(declarativeActions)) return {};\n\n\tconst daAction = transformer(declarativeActions);\n\treturn contractGenerator(daAction, { modelType: EVAM }) || {};\n};\n\n/**\n * Determines if the number of fragments (data items) is less than\n * then max number of visible cards in a horizontal data row\n *\n * @param {object} properties state.properties object\n * @returns {boolean}\n */\nexport const getShouldHideOverflow = (properties = {}) => {\n\tconst maxVisibleCardsHorizontal = parseFloat(\n\t\tget(properties, \"maxVisibleCardsHorizontal\", DEF_MAX_VISIBLE_CARDS)\n\t);\n\tconst htmlFragments = get(properties, \"htmlFragments\", []);\n\tconst htmlFragmentsLength = htmlFragments && htmlFragments.length;\n\tconst isCarousel = !isEmpty(get(properties, \"carouselProps\", {}));\n\treturn htmlFragmentsLength <= maxVisibleCardsHorizontal || isCarousel;\n};\n","import { t } from \"sn-translate\";\n\nexport const HORIZONTAL = \"horizontal\";\nexport const VERTICAL = \"vertical\";\nexport const HORIZONTAL_EQUAL = \"horizontal-equal\";\n\nexport const MOBILE_MEDIA_WIDTH = \"576px\";\n\nexport const MAX_DESKTOP_ACTIONS = {\n\tDEFAULT: 3,\n\tGLOBAL: 3\n};\n\nexport const FOOTER_MORE_ACTION_LABEL = t(\"More_menu\");\n\nexport const BUTTON_SLOT_STYLE = {\n\tdisplay: \"-webkit-box\",\n\t\"-webkit-line-clamp\": \"1\",\n\t\"-webkit-box-orient\": \"vertical\",\n\toverflow: \"hidden\",\n\t\"text-overflow\": \"ellipsis\",\n\t\"white-space\": \"normal\"\n};\n\n/** Feedback related labels and messages */\nexport const FEEDBACK_PROMPT_LABEL = t(\"Was this suggestion helpful?\");\nexport const HELPFUL_FEEDBACK_LABEL = t(\"Yes\");\nexport const UNHELPFUL_FEEDBACK_LABEL = t(\"No\");\nexport const POST_FEEDBACK_LABEL = t(\"Thanks for the feedback.\");\nexport const FEEDBACK_DIALOG_HEADER = t(\"Thanks for letting us know!\");\nexport const FEEDBACK_DIALOG_INSTRUCTIONS = t(\n\t\"To help us improve, please let us know why this isn't helpful\"\n);\nexport const FEEDBACK_DIALOG_SEND_BUTTON_LABEL = t(\"Send feedback\");\nexport const FEEDBACK_DIALOG_SEND_BUTTON_TOOLTIP = t(\n\t\"Close dialog box and send feedback with selected reason\"\n);\nexport const CLOSE_FEEDBACK_FORM = t(\"close feedback form\");\n\n// The values that will be used for the feedback \"reason\" if no reason is explicitly specified\nexport const POSITIVE_FEEDBACK_VALUE = \"Helpful\";\nexport const NEGATIVE_FEEDBACK_VALUE = \"Not Helpful\";\n\n//Feedback options for labeling tool\nexport const FEEDBACK_DROPDOWN_PLACEHOLDER = t(\"Relevance\");\nexport const FEEDBACK_DROPDOWN_TOOLTIP = t(\n\t\"Select Relevance for Genius Result\"\n);\nexport const FEEDBACK_DROPDOWN_OPTIONS = [\n\t{ id: \"1\", label: t(\"1\") },\n\t{ id: \"2\", label: t(\"2\") },\n\t{ id: \"3\", label: t(\"3\") },\n\t{ id: \"4\", label: t(\"4\") }\n];\nexport const FEEDBACK_INTENT_LABEL = t(\"Was the Intent correct?\");\nexport const FEEDBACK_INTENT_OPTIONS = [\n\t{ id: true, label: t(\"Yes\") },\n\t{ id: false, label: t(\"No\") }\n];\n\nexport const OTHER_FEEDBACK = \"Other\";\n\n// Options for highlighted value heading\nexport const HEADING = t(\"Suggested result\");\n\n// Marker image sizes (from design specs)\nexport const MARKER_IMAGE = {\n\tHEIGHT_GLOBAL: 32,\n\tWIDTH_GLOBAL: 32,\n\tWIDTH_DEFAULT: 74,\n\tWIDTH_THUMBNAIL: 40\n};\n\nexport const HEADER_TOOLTIP_TEXT = t(\n\t\"This answer was AI generated from search results.\"\n);\nexport const HEADER_TOOLTIP_TEXT_NLQ = t(\n\t\"Use Natural Language Query (NLQ) to find data in your instance by entering plain language requests.\"\n);\n\nexport const ABOUT = t(\"About\");\nexport const ABOUT_POPOVER = \"ABOUT_POPOVER_CLICKED\";\nexport const LEARN_MORE = t(\"Learn more\");\n\nexport const DESCRIPTION_COLLAPSED_STATE_TOGGLED =\n\t\"DESCRIPTION_COLLAPSED_STATE_TOGGLED\";\n\nexport const SYNTHESIZED_GENIUS_RESULT_EXPANDED =\n\t\"SYNTHESIZED_GENIUS_RESULT_EXPANDED\";\n\nexport const VIEW_RECORDS_CLICKED = \"VIEW_RECORDS_CLICKED\";\n\nexport const DESCRIPTION_STATES = {\n\tEXPAND: \"EXPAND\",\n\tCOLLAPSE: \"COLLAPSE\"\n};\n\nexport const TRUNCATION_LIMIT = 80;\n\nexport const CHOOSE_A_TABLE = t(\n\t\"Multiple table sources matched this search. Choose a table:\"\n);\nexport const PREVIEW_TABLE_LABEL = t(\n\t\"Here's a preview of the table that matches your search:\"\n);\n\nexport const GR_TYPES = {\n\tAI_SEARCH: \"AI_SEARCH\",\n\tNLQ: \"NLQ\",\n\tSYNTHESIZED: \"SYNTHESIZED\"\n};\n\nexport const SOURCE_LABEL = t(\"Source:\");\nexport const VIEW_ARTICLE = {\n\tGLOBAL: \"viewArticle\",\n\tPORTAL: \"view_article\"\n};\nexport const ABOUT_BUTTON_LABEL = t(\"About search result\");\n\nexport const NLQ_MULTITABLE_DROPDOWN = \"NLQ_MULTITABLE_DROPDOWN\";\n\nexport const VIEW_TABLE_TRANSLATION = t(\"View full table\");\n\nexport const NLQ_MULTITABLE_HEADER = t(\"Refine and preview\");\n\nexport const NLQ_MULTITABLE_DESCRIPTION = t(\n\t\"Choose tables that match your search terms to quickly preview them.\"\n);\nexport const FOLLOW_UP = \"FOLLOW_UP\";\nexport const FOLLOW_UP_LABEL = t(\"Follow up\");\n\nexport const ASK_A_FOLLOW_UP = \"ASK_A_FOLLOW_UP\";\nexport const ASK_A_FOLLOW_UP_LABEL = t(\"Ask a follow-up\");\n\nexport const FONT_SIZES = {\n\tSM: \"sm\",\n\tMD: \"md\",\n\tLG: \"lg\",\n\tXL: \"xl\"\n};\nexport const ATTACHMENT_ICON = {\n\tDEFAULT_DOC: \"document-template-outline\",\n\tDOWNLOAD: \"download-outline\",\n\tLIST: \"ellipsis-v-fill\"\n};\n\nexport const ICON_SIZE = {\n\tXL: \"xl\",\n\tMD: \"md\",\n\tLG: \"lg\",\n\tSM: \"sm\"\n};\nexport const ATTACHMENT_LABEL = t(\"Attachment\");\nexport const CITATION_ACTION = \"citation_action\";\n\nexport const KEYCODE = {\n\tENTER: \"Enter\",\n\tSPACE: \"Space\"\n};\n\nexport const NLQ_HIGHLIGHTED_TEXT = t(\"NLQ supported by AI\");\nexport const NLQ_ERROR_TITLE = t(\n\t\"No tables were found that match these terms.\"\n);\nexport const NLQ_ERROR_DETAIL = t(\"Try changing your selections.\");\nexport const NLQ_MULTI_TABLE_MINI_TITLE = t(\"Multi-Table\");\nexport const SYNTHESIZED = \"SYNTHESIZED\";\nexport const CLICK = \"click\";\nexport const KG_GENERIC_VIEW_RECORD_ACTION_CLICK =\n\t\"kg_generic_view_record_action_click\";\nexport const CATALOG_CLICK = \"catalog_click\";\nexport const CATALOG_OPEN = \"open_catalog\";\nexport const REQUEST_IN_CHAT_LABEL = t(\"Request in chat\");\nexport const REQUEST_WITH_FORM = t(\"Request with form\");\nexport const CITATION_CLICK = \"citationsClicked\";\nexport const CITATION_TYPES = {\n\tKB: \"kb\",\n\tEXTERNAL_DOCUMENT: \"external_document\",\n\tATTACHMENT: \"attachment\",\n\tCATALOG: \"catalog\",\n\tPEOPLE: \"people\",\n\tKG: \"kg\",\n\tSKILL: \"skill\",\n\tAGENT: \"ai_agent\"\n};\nexport const CITATION_POPOVER_CLICKED = \"CITATION_POPOVER_CLICKED\";\nexport const SHARED_FILES_LOGIN_MESSAGE = t(\n\t`Log in to SharePoint, then ask Now Assist about this person when you're done.`\n);\n\nexport const AI_SPARKLE_ICON_PATHS = [\n\t\"M7.17 2.995a1.63 1.63 0 0 1-1.174 1.173l-.344.089c-.25.064-.25.42 0 .484l.344.089A1.63 1.63 0 0 1 7.17 6.003l.088.345c.064.25.42.25.484 0l.089-.345A1.63 1.63 0 0 1 9.004 4.83l.345-.089c.25-.064.25-.42 0-.484l-.344-.089A1.63 1.63 0 0 1 7.83 2.995l-.089-.345c-.064-.25-.42-.25-.484 0l-.088.345ZM4.18 5.286a2.23 2.23 0 0 1-1.894 1.895c-.37.053-.37.586 0 .639.982.14 1.754.912 1.895 1.894.052.37.585.37.638 0A2.23 2.23 0 0 1 6.714 7.82c.37-.053.37-.586 0-.639A2.23 2.23 0 0 1 4.82 5.286c-.053-.369-.586-.369-.638 0Z\",\n\t\"M11.23 2.89a1.63 1.63 0 0 1-1.338 1.338l-.145.024c-.278.047-.278.446 0 .493l.145.024a1.63 1.63 0 0 1 1.338 1.338l.024.143c.046.278.446.278.493 0l.024-.143a1.63 1.63 0 0 1 1.338-1.338l.175-.03c.277-.046.278-.444.002-.492l-.179-.032a1.63 1.63 0 0 1-1.323-1.323l-.032-.18c-.049-.277-.446-.276-.493.001l-.03.177ZM6.797 5.17A3.46 3.46 0 0 1 4.17 7.799l-1.404.312c-.417.092-.417.688 0 .78l1.404.313a3.46 3.46 0 0 1 2.627 2.627l.313 1.404c.092.418.688.418.78 0l.313-1.404a3.46 3.46 0 0 1 2.627-2.627l1.404-.312c.417-.093.417-.689 0-.781l-1.404-.312A3.46 3.46 0 0 1 8.203 5.17L7.89 3.766c-.092-.417-.688-.417-.78 0l-.313 1.405Z\",\n\t\"M17.796 2.663a3 3 0 0 1-2.134 2.134l-1.382.365c-.347.092-.347.585 0 .677l1.383.365a3 3 0 0 1 2.133 2.134l.366 1.382c.091.347.585.347.676 0l.366-1.382a3 3 0 0 1 2.133-2.134l1.383-.365c.347-.092.347-.585 0-.677l-1.382-.365a3 3 0 0 1-2.134-2.134l-.366-1.382c-.091-.348-.585-.348-.676 0zm-8.38 4.924a6.5 6.5 0 0 1-4.83 4.83l-2.114.5c-.616.145-.616 1.021 0 1.167l2.117.502a6.5 6.5 0 0 1 4.827 4.829l.5 2.114c.146.616 1.022.616 1.168 0l.502-2.117a6.5 6.5 0 0 1 4.826-4.826l2.117-.502c.616-.146.616-1.022 0-1.168l-2.114-.5a6.5 6.5 0 0 1-4.83-4.827l-.5-2.117c-.147-.616-1.023-.616-1.168 0z\",\n\t\"M23.464 4.453a3 3 0 0 1-2.011 2.011l-2.208.663a.39.39 0 0 0 0 .747l2.208.662a3 3 0 0 1 2.011 2.011l.663 2.209a.39.39 0 0 0 .747 0l.664-2.21a3 3 0 0 1 2.01-2.01l2.207-.662a.39.39 0 0 0 0-.747l-2.208-.663a3 3 0 0 1-2.011-2.011l-.662-2.208a.39.39 0 0 0-.747 0zm-12.03 7.417a7 7 0 0 1-4.565 4.564l-4.365 1.38c-.67.212-.67 1.16 0 1.373l4.368 1.382a7 7 0 0 1 4.562 4.564l1.38 4.364c.212.67 1.16.67 1.373 0l1.383-4.367a7 7 0 0 1 4.56-4.56l4.367-1.383c.67-.212.67-1.161 0-1.373l-4.364-1.38a7 7 0 0 1-4.563-4.562l-1.383-4.368c-.212-.67-1.161-.67-1.373 0z\"\n];\n\nexport const CAT_REGEX = /\\(cat_(\\d+)\\)/g;\nexport const CAT_PREFIX = \"cat_\";\nexport const ACTION_REGEX = /\\(action_(\\d+)\\)/g;\nexport const ACTION_PREFIX = \"action_\";\n","import { isEmpty, isEqual } from \"lodash\";\nimport {\n\tSYNTHESIZED,\n\tCITATION_TYPES,\n\tCAT_REGEX,\n\tCAT_PREFIX,\n\tACTION_REGEX,\n\tACTION_PREFIX\n} from \"../../constants\";\nimport { t } from \"sn-translate\";\n\nfunction replaceKBReferences(text, citations) {\n\tconst DOC_REGEX = /\\(doc_(\\d+)\\)/g;\n\treturn text.replace(DOC_REGEX, (match, docId) => {\n\t\tconst citationKey = `doc_${docId}`;\n\t\tconst citationData = citations[citationKey];\n\t\tif (!citationData) {\n\t\t\treturn match;\n\t\t}\n\t\tif (\n\t\t\tcitationData.source_type === CITATION_TYPES.KB ||\n\t\t\tcitationData.source_type === CITATION_TYPES.EXTERNAL_DOCUMENT ||\n\t\t\tcitationData.source_type === CITATION_TYPES.ATTACHMENT\n\t\t) {\n\t\t\tconst citationNumber = citationData.number || \"?\";\n\t\t\treturn `<now-badge class=\"replaced-text-kb ${citationData.sys_id}\" color=\"gray\" variant=\"secondary\" size=\"sm\" round value=\"${citationNumber}\">${citationNumber}</now-badge>`;\n\t\t}\n\t\treturn match;\n\t});\n}\n\nfunction replaceCatalogReferences(text, citations) {\n\tlet regexToUse = CAT_REGEX;\n\tlet citationPrefix = CAT_PREFIX;\n\tif (ACTION_REGEX.test(text)) {\n\t\tregexToUse = ACTION_REGEX;\n\t\tcitationPrefix = ACTION_PREFIX;\n\t}\n\n\treturn text.replace(regexToUse, (match, catId) => {\n\t\tconst citationKey = `${citationPrefix}${catId}`;\n\t\tconst citationData = citations[citationKey];\n\t\tif (!citationData) return match;\n\n\t\tif (citationData.source_type === CITATION_TYPES.CATALOG) {\n\t\t\tconst catName = (citationData.title || t(\"Unknown Catalog Item\"))\n\t\t\t\t.replace(/\\r?\\n/g, \"\")\n\t\t\t\t.replace(/\"/g, \"&quot;\")\n\t\t\t\t.trim();\n\t\t\treturn `<now-text-link class=\"replaced-text-catalog ${citationData.sys_id}\" variant=\"primary\" size=\"md\" slot=\"trigger\" icon-start=\"pencil-page-outline\" label=\"${catName}\" href=\"javascript:void(0);\"></now-text-link>`;\n\t\t}\n\n\t\treturn match;\n\t});\n}\n\nfunction replaceSkillReferences(text, citations) {\n\tlet regexToUse = CAT_REGEX;\n\tlet citationPrefix = CAT_PREFIX;\n\tif (ACTION_REGEX.test(text)) {\n\t\tregexToUse = ACTION_REGEX;\n\t\tcitationPrefix = ACTION_PREFIX;\n\t}\n\n\treturn text.replace(regexToUse, (match, catId) => {\n\t\tconst citationKey = `${citationPrefix}${catId}`;\n\t\tconst citationData = citations[citationKey];\n\t\tif (!citationData) return match;\n\n\t\tif (\n\t\t\tcitationData.source_type === CITATION_TYPES.SKILL ||\n\t\t\tcitationData.source_type === CITATION_TYPES.AGENT\n\t\t) {\n\t\t\tconst skillName = (citationData.title || t(\"Unknown skill\"))\n\t\t\t\t.replace(/\\r?\\n/g, \"\")\n\t\t\t\t.replace(/\"/g, \"&quot;\")\n\t\t\t\t.trim();\n\t\t\treturn `<now-text-link class=\"replaced-text-skill ${citationData.sys_id}\" variant=\"primary\" size=\"md\" slot=\"trigger\" icon-end=\"chat-outline\" label=\"${skillName}\" href=\"javascript:void(0);\"></now-text-link>`;\n\t\t}\n\n\t\treturn match;\n\t});\n}\n\nfunction replaceKgReferences(text, citations) {\n\tconst REGEX = /\\(kg_id_(\\d+)\\)/g;\n\treturn text.replace(REGEX, (match, id) => {\n\t\tconst citationKey = `kg_id_${id}`;\n\t\tconst citationData = citations[citationKey];\n\t\tif (!citationData) return match;\n\n\t\tif (citationData.source_type === CITATION_TYPES.PEOPLE) {\n\t\t\tconst userName = (citationData.name || t(\"Unknown user\"))\n\t\t\t\t.replace(/\\r?\\n/g, \"\")\n\t\t\t\t.replace(/\"/g, \"&quot;\")\n\t\t\t\t.trim();\n\t\t\treturn `<now-text-link class=\"replaced-text-people ${citationData?.sys_id ||\n\t\t\t\tcitationData?.source_sys_id}\" variant=\"primary\" size=\"md\" slot=\"trigger\" icon-start=\"user-outline\" label=\"${userName}\" href=\"javascript:void(0);\"></now-text-link>`;\n\t\t}\n\n\t\tif (citationData.source_type === CITATION_TYPES.KG) {\n\t\t\tconst displayValue = (citationData.display_value || t(\"Unknown record\"))\n\t\t\t\t.replace(/\\r?\\n/g, \"\")\n\t\t\t\t.replace(/\"/g, \"&quot;\")\n\t\t\t\t.trim();\n\t\t\treturn `<now-text-link class=\"replaced-text-kg ${citationData?.sys_id ||\n\t\t\t\tcitationData?.source_sys_id}\" variant=\"primary\" size=\"md\" slot=\"trigger\" icon-start=\"table-outline\" label=\"${displayValue}\" href=\"javascript:void(0);\"></now-text-link>`;\n\t\t}\n\n\t\treturn match;\n\t});\n}\n\nexport function replaceCitationsWithTemporaryPlaceHolders(\n\ttextToUpdate,\n\tcitations = {}\n) {\n\tlet updatedText = textToUpdate;\n\tif (!isEmpty(citations)) {\n\t\tupdatedText = replaceKBReferences(updatedText, citations);\n\t\tupdatedText = replaceCatalogReferences(updatedText, citations);\n\t\tupdatedText = replaceSkillReferences(updatedText, citations);\n\t\tupdatedText = replaceKgReferences(updatedText, citations);\n\t}\n\treturn updatedText;\n}\n\nexport function isSynthesized(grType) {\n\treturn isEqual(grType, SYNTHESIZED);\n}\n\n/**\n * looksLikeListStart\n * ------------------\n * Checks if a line *begins* with a Markdown list marker.\n * Accepts up to 8 leading whitespace chars, then:\n *   - unordered list: '-', '*', or '+', followed by a space\n *   - ordered list:   digits followed by '.' and a space\n * Returns true if it looks like the start of a list item.\n */\nexport function looksLikeListStart(line) {\n\treturn /^\\s{0,8}([-*+]\\s|\\d+\\.\\s)/.test(line);\n}\n\n/**\n * stripListMarker\n * ---------------\n * Removes the list marker (and any leading spaces) from a line.\n * Example: \"  - Apple\" -> \"Apple\"\n */\nexport function stripListMarker(line) {\n\treturn line.replace(/^\\s{0,8}(?:[-*+]\\s|\\d+\\.\\s)/, \"\");\n}\n\n/**\n * countLeadingSpaces\n * ------------------\n * Counts how many consecutive leading spaces (up to 8) a line starts with.\n * Used to determine nesting level for ghost lists.\n * Example: \"    - Apple\" -> 4\n */\nexport function countLeadingSpaces(line) {\n\tconst m = line.match(/^(\\s{1,8})/);\n\treturn m ? m[1].length : 0;\n}\n\n/**\n * escapeHtml\n * ----------\n * Escapes special HTML characters so they render safely as text\n * instead of being interpreted as HTML tags.\n *\n * - Converts &, <, >, \" and ' into their HTML entities.\n * - Skips over existing entities (e.g., &lt;, &quot;, &#39;), so it will not double-escape.\n * - Safe to call multiple times: running escapeHtml on already-escaped text\n *   will return the same string unchanged.\n *\n * Example:\n *   \"<b class=\\\"x\\\">& y</b>\"\n *   -> \"&lt;b class=&quot;x&quot;&gt;&amp; y&lt;/b&gt;\"\n */\nexport function escapeHtml(s = \"\") {\n\treturn s\n\t\t.replace(/&(?!([a-zA-Z]+|#\\d+|#x[0-9a-fA-F]+);)/g, \"&amp;\")\n\t\t.replace(/</g, \"&lt;\")\n\t\t.replace(/>/g, \"&gt;\")\n\t\t.replace(/\"/g, \"&quot;\")\n\t\t.replace(/'/g, \"&#39;\");\n}\n\n/**\n * parseInlineReferences\n *\n * Scans the input text for special inline JSON references of the form:\n * \\u200b[{...}]\\u200b\n * and transforms them. For example:\n *   - If source_type is 'sys_user', we convert it into a Markdown image,\n *     embedding the sys_id in the image title so the Marked extension can detect it in view.\n *   - Otherwise, we replace it with a simple (placeholder) which then are replaced by corresponding elements in utils file.\n */\nexport const parseInlineReferences = rawText => {\n\tconst refRegex = /\\u200b\\[\\{([\\s\\S]*?)\\}\\]\\u200b/g;\n\tlet match;\n\tlet updatedText = rawText;\n\tconst foundCitations = {};\n\n\twhile ((match = refRegex.exec(rawText)) !== null) {\n\t\tconst fullMatch = match[0];\n\t\tconst jsonInside = match[1];\n\t\ttry {\n\t\t\tconst parsed = JSON.parse(`{${jsonInside}}`);\n\t\t\tconst placeholder = parsed.placeholder || \"unknown\";\n\t\t\tfoundCitations[placeholder] = parsed;\n\n\t\t\tupdatedText = updatedText.replace(fullMatch, `(${placeholder})`);\n\t\t} catch (e) {\n\t\t\t// Don't do anything if parse fails\n\t\t}\n\t}\n\n\treturn { updatedText, foundCitations };\n};\n","const view = ({ iconPath, topColor, bottomColor, className }) => {\n\treturn (\n\t\t<svg attr-class={className}>\n\t\t\t<defs>\n\t\t\t\t<linearGradient\n\t\t\t\t\tattr-id=\"icon-gradient\"\n\t\t\t\t\tattr-x1=\"0%\"\n\t\t\t\t\tattr-y1=\"0%\"\n\t\t\t\t\tattr-x2=\"0%\"\n\t\t\t\t\tattr-y2=\"100%\"\n\t\t\t\t>\n\t\t\t\t\t<stop attr-offset=\"0%\" attr-style={`stop-color:${topColor}`} />\n\t\t\t\t\t<stop attr-offset=\"100%\" attr-style={`stop-color:${bottomColor}`} />\n\t\t\t\t</linearGradient>\n\t\t\t</defs>\n\t\t\t<path attr-d={iconPath} attr-fill=\"url(#icon-gradient)\" />\n\t\t</svg>\n\t);\n};\nexport default view;\n","import \"@servicenow/now-highlighted-value\";\nimport \"@servicenow/now-tooltip\";\nimport isEmpty from \"lodash/isEmpty\";\nimport {\n\tHEADING,\n\tHEADER_TOOLTIP_TEXT,\n\tABOUT_POPOVER,\n\tABOUT_BUTTON_LABEL,\n\tAI_SPARKLE_ICON_PATHS\n} from \"../constants\";\nimport { t } from \"sn-translate\";\nimport { isSynthesized } from \"../common/streaming/utils\";\nimport GradientIcon from \"../contents/gradientIcon\";\n\nconst view = ({\n\thighlightedText,\n\thighlightedTextIcon,\n\tshowHeaderTooltip,\n\tupdateState,\n\ttoolTipRef,\n\tshowAboutInfo,\n\tdocumentationUrl,\n\tgrType\n}) => {\n\tconst tooltipProps = {\n\t\t\"hook-insert\": ({ elm }) => updateState({ toolTipRef: elm }),\n\t\t\"hook-destroy\": () => updateState({ toolTipRef: null })\n\t};\n\tconst isSynthesizedGR = isSynthesized(grType);\n\n\tconst label = !isEmpty(highlightedText) ? highlightedText : HEADING;\n\tconst color = !isEmpty(highlightedTextIcon) ? \"moderate\" : \"gray\";\n\n\tconst aboutSection = showAboutInfo ? (\n\t\t<span className=\"genius-card-about-container\">\n\t\t\t<now-popover\n\t\t\t\tinteractionType=\"dialog\"\n\t\t\t\tfocusPanel\n\t\t\t\thideTail\n\t\t\t\tpositions={[{ target: \"bottom-start\", content: \"top-start\" }]}\n\t\t\t\tappend-to-payload={{ actionId: ABOUT_POPOVER }}\n\t\t\t>\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\ticon=\"circle-info-outline\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\tbutton: { \"aria-label\": ABOUT_BUTTON_LABEL }\n\t\t\t\t\t}}\n\t\t\t\t\tbare\n\t\t\t\t\thidePadding\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tappend-to-payload={{ actionId: ABOUT_POPOVER }}\n\t\t\t\t/>\n\t\t\t\t<now-card slot=\"content\" size=\"sm\" interaction=\"none\" hideShadow>\n\t\t\t\t\t<sn-search-genius-about-popover\n\t\t\t\t\t\turl={documentationUrl}\n\t\t\t\t\t\tgrType={grType}\n\t\t\t\t\t/>\n\t\t\t\t</now-card>\n\t\t\t</now-popover>\n\t\t</span>\n\t) : null;\n\n\treturn (\n\t\t<div className=\"genius-card-header\">\n\t\t\t<div className=\"genius-card-header__element\">\n\t\t\t\t{isSynthesizedGR ? (\n\t\t\t\t\t<div className=\"synthesized-gr-highlighted-text-container\">\n\t\t\t\t\t\t<GradientIcon\n\t\t\t\t\t\t\tclassName=\"input-container-sparkle-icon\"\n\t\t\t\t\t\t\ticonPath={AI_SPARKLE_ICON_PATHS[1]}\n\t\t\t\t\t\t\ttopColor=\"var(--synthesized-gr-sparkle-gradient_color--top, RGB(var(--now-color_grouped--green-1))\"\n\t\t\t\t\t\t\tbottomColor=\"var(--synthesized-gr-sparkle-gradient_color--bottom, RGB(var(--now-color_grouped--teal-3))\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span className=\"synthesized-gr-highlighted-text\">{label}</span>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<now-highlighted-value\n\t\t\t\t\t\t{...(showHeaderTooltip ? tooltipProps : {})}\n\t\t\t\t\t\tlabel={label}\n\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\ticon={highlightedTextIcon}\n\t\t\t\t\t\taria-describedby=\"headerTooltip\"\n\t\t\t\t\t\tclassName={t(\"header-highlighted-value\")}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{aboutSection}\n\t\t\t\t{showHeaderTooltip ? (\n\t\t\t\t\t<now-tooltip\n\t\t\t\t\t\tid=\"headerTooltip\"\n\t\t\t\t\t\taria-label={HEADER_TOOLTIP_TEXT}\n\t\t\t\t\t\trole=\"tooltip\"\n\t\t\t\t\t\ttarget-ref={toolTipRef}\n\t\t\t\t\t\tcontent={HEADER_TOOLTIP_TEXT}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from \"@servicenow/ui-core\";\nimport snabbdom from \"@servicenow/ui-renderer-snabbdom\";\nimport \"@servicenow/now-popover\";\nimport \"@servicenow/now-button\";\nimport \"@servicenow/now-card\";\nimport \"@servicenow/now-icon\";\nimport { t } from \"sn-translate\";\nimport styles from \"../../scss/index.scss\";\nimport {\n\tCITATION_POPOVER_CLICKED,\n\tVIEW_RECORDS_CLICKED,\n\tKG_GENERIC_VIEW_RECORD_ACTION_CLICK\n} from \"../../constants\";\n\nconst renderItems = items =>\n\titems.map(item => {\n\t\tconst label = (item && item.table_display_value) || t(\"Unknown\");\n\t\tconst action = {\n\t\t\tactionPayload: {\n\t\t\t\ttable: item && item.table_name ? item.table_name : \"\",\n\t\t\t\tencoded_query: item && item.encoded_query ? item.encoded_query : \"\"\n\t\t\t}\n\t\t};\n\n\t\treturn (\n\t\t\t<li key={item && item.table_name ? item.table_name : label}>\n\t\t\t\t<now-text-link\n\t\t\t\t\tlabel={label}\n\t\t\t\t\thref=\"javascript:void(0)\"\n\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\ttype: KG_GENERIC_VIEW_RECORD_ACTION_CLICK,\n\t\t\t\t\t\tactionPayload: action\n\t\t\t\t\t}}\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t/>\n\t\t\t</li>\n\t\t);\n\t});\n\nconst viewRecordsPopoverContentConfig = {\n\tproperties: {\n\t\tkgListCitations: { default: [] },\n\t\tactions: { default: [] }\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: ({ properties: { kgListCitations } }) => (\n\t\t\t<now-card\n\t\t\t\tclassName=\"view-records-content\"\n\t\t\t\tsize=\"lg\"\n\t\t\t\tinteraction=\"none\"\n\t\t\t\thideShadow\n\t\t\t>\n\t\t\t\t<div className=\"view-records-popover\">\n\t\t\t\t\t<div className=\"header\">\n\t\t\t\t\t\t<now-icon icon=\"table-outline\" size=\"sm\" ariaHidden=\"true\" />\n\t\t\t\t\t\t<span>{t(\"Records\")}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"popover-content\">\n\t\t\t\t\t\t<ul>{renderItems(kgListCitations)}</ul>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</now-card>\n\t\t)\n\t},\n\tstyles\n};\n\nconst viewRecordsPopoverConfig = {\n\tproperties: {\n\t\tkgListCitations: { default: [] },\n\t\tactions: { default: [] }\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: ({ properties: { kgListCitations, actions } }) => (\n\t\t\t<now-popover\n\t\t\t\tinteractionType=\"dialog\"\n\t\t\t\tfocusPanel\n\t\t\t\tappend-to-payload={{ actionId: CITATION_POPOVER_CLICKED }}\n\t\t\t>\n\t\t\t\t<now-button-bare\n\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\tlabel={t(\"View Records\")}\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tappend-to-payload={{ actionId: VIEW_RECORDS_CLICKED }}\n\t\t\t\t/>\n\t\t\t\t<view-records-popover-content\n\t\t\t\t\tslot=\"content\"\n\t\t\t\t\tkg-list-citations={kgListCitations}\n\t\t\t\t\tactions={actions}\n\t\t\t\t/>\n\t\t\t</now-popover>\n\t\t)\n\t},\n\tstyles\n};\n\ncreateCustomElement(\"view-records-popover\", viewRecordsPopoverConfig);\ncreateCustomElement(\n\t\"view-records-popover-content\",\n\tviewRecordsPopoverContentConfig\n);\n\nexport { viewRecordsPopoverConfig, viewRecordsPopoverContentConfig };\n","import has from \"lodash/has\";\nimport isEmpty from \"lodash/isEmpty\";\nimport isString from \"lodash/isString\";\nimport unescape from \"lodash/unescape\";\nimport DOMPurify from \"dompurify\";\nimport { marked } from \"marked\";\nimport { dangerouslyCreateElementFromString } from \"@servicenow/ui-renderer-snabbdom\";\nimport {\n\tDESCRIPTION_COLLAPSED_STATE_TOGGLED,\n\tSYNTHESIZED_GENIUS_RESULT_EXPANDED,\n\tDESCRIPTION_STATES,\n\tASK_A_FOLLOW_UP,\n\tASK_A_FOLLOW_UP_LABEL\n} from \"../constants\";\nimport { t } from \"sn-translate\";\nimport \"@servicenow/now-button\";\nimport \"@servicenow/now-icon\";\nimport \"@servicenow/now-text-link\";\nimport \"../common/popover/view-records-popover\";\nimport { replaceCitationsWithTemporaryPlaceHolders } from \"../common/streaming/utils\";\n\nconst DESCRIPTION_MULTI_TYPES = {\n\tSTACKED: \"stacked\",\n\tHTML: \"html\"\n};\n\nconst getDescriptionStringElem = (description, isGlobal, isMini) => (\n\t<span\n\t\tclass={{\n\t\t\t\"genius-card__description-text\": true,\n\t\t\t\"genius-card__description-text-mini\": isMini,\n\t\t\t\"-global\": isGlobal\n\t\t}}\n\t\t{...(!isMini &&\n\t\t\tisGlobal && {\n\t\t\t\t\"data-truncation\": true,\n\t\t\t\t\"data-truncationmouseover\": false\n\t\t\t})}\n\t>\n\t\t{description}\n\t</span>\n);\n\nconst getDescriptionStackedElem = ({ values }, isGlobal, isMini) => (\n\t<div\n\t\tclassName=\"genius-card__description--stacked\"\n\t\t{...(!isMini &&\n\t\t\tisGlobal && {\n\t\t\t\t\"data-truncation\": true,\n\t\t\t\t\"data-truncationmouseover\": false\n\t\t\t})}\n\t>\n\t\t{isMini\n\t\t\t? getDescriptionStringElem(values[0], isGlobal, isMini)\n\t\t\t: values.map(description =>\n\t\t\t\t\tgetDescriptionStringElem(description, isGlobal, isMini)\n\t\t\t  )}\n\t</div>\n);\n\nconst toggleButton = (\n\t<now-button-bare\n\t\tclassName=\"show-more\"\n\t\tappend-to-payload={{\n\t\t\tactionId: SYNTHESIZED_GENIUS_RESULT_EXPANDED,\n\t\t\ttype: DESCRIPTION_STATES.EXPAND\n\t\t}}\n\t\tlabel={t(\"Show full answer\")}\n\t\ticon-end=\"chevron-down-fill\"\n\t\tvariant=\"tertiary\"\n\t\tsize=\"sm\"\n\t/>\n);\n\nconst getDescriptionHtmlElem = (\n\t{ values },\n\tisGlobal,\n\tisMini,\n\tshouldTruncate,\n\tdescriptionCollapsed,\n\tisSynthesizedAndNotStreaming,\n\tupdateState\n) => {\n\tif (isEmpty(values)) return null;\n\n\tconst [snippet] = values;\n\n\tif (isEmpty(snippet)) return null;\n\tlet sanitizedSnippet = \"\";\n\tif (isSynthesizedAndNotStreaming) {\n\t\tsanitizedSnippet = replaceCitationsWithTemporaryPlaceHolders(\n\t\t\tDOMPurify.sanitize(snippet)\n\t\t);\n\t} else {\n\t\tsanitizedSnippet = DOMPurify.sanitize(snippet);\n\t}\n\n\treturn (\n\t\t<div className=\"genius-card__description-container\">\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t\"description-wrapper\": true,\n\t\t\t\t\t\"-collapsed\": descriptionCollapsed,\n\t\t\t\t\t\"-global\": isGlobal,\n\t\t\t\t\t\"-mini\": isMini\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\thook-insert={({ elm }) => updateState({ textRef: elm })}\n\t\t\t\t\thook-update={({ elm }) => updateState({ textRef: elm })}\n\t\t\t\t>\n\t\t\t\t\t{dangerouslyCreateElementFromString(\n\t\t\t\t\t\tunescape(\n\t\t\t\t\t\t\t`<div class=\"collapsible__description-text\">${sanitizedSnippet}</div>`\n\t\t\t\t\t\t)\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{shouldTruncate && !isMini && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\"-collapsed\": descriptionCollapsed,\n\t\t\t\t\t\t\t\"show-more-container\": true\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\t\tclassName=\"show-more\"\n\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\tactionId: DESCRIPTION_COLLAPSED_STATE_TOGGLED,\n\t\t\t\t\t\t\t\ttype: descriptionCollapsed\n\t\t\t\t\t\t\t\t\t? DESCRIPTION_STATES.EXPAND\n\t\t\t\t\t\t\t\t\t: DESCRIPTION_STATES.COLLAPSE\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={descriptionCollapsed ? t(\"Show more\") : t(\"Show less\")}\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t></now-button-bare>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nconst getDescriptionElem = (\n\tdescription,\n\tisGlobal,\n\tshouldTruncate,\n\tdescriptionCollapsed,\n\tisMini,\n\tisSynthesizedAndNotStreaming,\n\tupdateState,\n\ttextRef\n) => {\n\tif (isString(description)) {\n\t\treturn getDescriptionStringElem(description, isGlobal, isMini);\n\t}\n\n\tconst { type } = description;\n\n\tconst elementsDict = {\n\t\t[DESCRIPTION_MULTI_TYPES.HTML]: getDescriptionHtmlElem,\n\t\t[DESCRIPTION_MULTI_TYPES.STACKED]: getDescriptionStackedElem\n\t};\n\n\tconst resolvedType = has(elementsDict, type)\n\t\t? type\n\t\t: DESCRIPTION_MULTI_TYPES.STACKED;\n\n\tif (resolvedType === DESCRIPTION_MULTI_TYPES.HTML) {\n\t\treturn elementsDict[resolvedType](\n\t\t\t{ ...description },\n\t\t\tisGlobal,\n\t\t\tisMini,\n\t\t\tshouldTruncate,\n\t\t\tdescriptionCollapsed,\n\t\t\tisSynthesizedAndNotStreaming,\n\t\t\tupdateState,\n\t\t\ttextRef\n\t\t);\n\t}\n\n\treturn elementsDict[resolvedType]({ ...description }, isGlobal, isMini);\n};\n\nconst view = ({\n\tdescription,\n\tisGlobal,\n\tshouldTruncate,\n\tdescriptionCollapsed,\n\tisMini = false,\n\tisSynthesizedAndNotStreaming,\n\tupdateState,\n\ttextRef,\n\tcitationsFromSynthesizedResponse,\n\tkgListCitations = [],\n\tactions = [],\n\tsynthesizedMarkdownText,\n\tsynthesizedGeniusResultCanExpand,\n\tsynthesizedGeniusResultExpanded,\n\tcanAskFollowUp\n}) => {\n\tif (isEmpty(description)) return null;\n\tvar descriptionElem;\n\n\tif (isSynthesizedAndNotStreaming) {\n\t\tlet basicHtml = marked.parse(synthesizedMarkdownText, {\n\t\t\tgfm: true,\n\t\t\tpedantic: false,\n\t\t\theaderIds: false\n\t\t});\n\t\tconst purifyConfig = {\n\t\t\tADD_TAGS: [\"now-badge\", \"now-avatar\"],\n\t\t\tADD_ATTR: [\n\t\t\t\t\"image-src\",\n\t\t\t\t\"user-name\",\n\t\t\t\t\"value\",\n\t\t\t\t\"color\",\n\t\t\t\t\"variant\",\n\t\t\t\t\"size\",\n\t\t\t\t\"round\",\n\t\t\t\t\"tabindex\"\n\t\t\t]\n\t\t};\n\t\tlet sanitizedHtml = DOMPurify.sanitize(basicHtml, purifyConfig);\n\t\tlet parsedHtml = replaceCitationsWithTemporaryPlaceHolders(\n\t\t\tsanitizedHtml,\n\t\t\tcitationsFromSynthesizedResponse\n\t\t);\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<div className=\"sythesized-text-wrapper\" style={{ margin: \"0 auto\" }}>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\"sythesized-text-container\": true,\n\t\t\t\t\t\t\t\"-collapsed\": descriptionCollapsed\n\t\t\t\t\t\t}}\n\t\t\t\t\t\thook-insert={({ elm }) => updateState({ textRef: elm })}\n\t\t\t\t\t\thook-update={({ elm }) => updateState({ textRef: elm })}\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tfontSize: \"15px\",\n\t\t\t\t\t\t\t...(synthesizedGeniusResultExpanded\n\t\t\t\t\t\t\t\t? {}\n\t\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\t\tdisplay: \"-webkit-box\",\n\t\t\t\t\t\t\t\t\t\tWebkitBoxOrient: \"vertical\",\n\t\t\t\t\t\t\t\t\t\tWebkitBoxPack: \"start\",\n\t\t\t\t\t\t\t\t\t\tWebkitBoxAlign: \"stretch\",\n\t\t\t\t\t\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\t\t\t\t\t\ttextOverflow: \"ellipsis\",\n\t\t\t\t\t\t\t\t\t\tWebkitLineClamp: 6,\n\t\t\t\t\t\t\t\t\t\tlineClamp: 6\n\t\t\t\t\t\t\t\t  })\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{dangerouslyCreateElementFromString(\n\t\t\t\t\t\t\t`<div class=\"streaming-text\">${parsedHtml}</div>`\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\"buttons-container\": true,\n\t\t\t\t\t\t\t\"-global\": isGlobal\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{synthesizedGeniusResultCanExpand &&\n\t\t\t\t\t\t\t!synthesizedGeniusResultExpanded &&\n\t\t\t\t\t\t\ttoggleButton}\n\t\t\t\t\t\t{canAskFollowUp && isGlobal && (\n\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\tclassName=\"hand_over_to_va\"\n\t\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\t\ttype: ASK_A_FOLLOW_UP\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\ttooltipContent={ASK_A_FOLLOW_UP_LABEL}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div className=\"follow-up-btn-content\">\n\t\t\t\t\t\t\t\t\t<now-icon icon=\"ai-sparkle-outline\" size=\"md\" />\n\t\t\t\t\t\t\t\t\t<span>{ASK_A_FOLLOW_UP_LABEL}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</now-button>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{kgListCitations?.length > 0 && actions?.length > 0 && (\n\t\t\t\t\t\t\t<view-records-popover\n\t\t\t\t\t\t\t\tkgListCitations={kgListCitations}\n\t\t\t\t\t\t\t\tactions={actions}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t{canAskFollowUp && !isGlobal && (\n\t\t\t\t\t\t<now-text-link\n\t\t\t\t\t\t\tclassName=\"hand_over_to_va\"\n\t\t\t\t\t\t\tlabel={ASK_A_FOLLOW_UP_LABEL}\n\t\t\t\t\t\t\thref=\"javascript:void(0)\"\n\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\ttype: ASK_A_FOLLOW_UP\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\ticon-start=\"chat-outline\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t} else {\n\t\tdescriptionElem = getDescriptionElem(\n\t\t\tdescription,\n\t\t\tisGlobal,\n\t\t\tshouldTruncate,\n\t\t\tdescriptionCollapsed,\n\t\t\tisMini,\n\t\t\tisSynthesizedAndNotStreaming,\n\t\t\tupdateState,\n\t\t\ttextRef\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName={`genius-card__text genius-card__description genius-card__description-font-size-md`}\n\t\t\tclass={{\n\t\t\t\t\"-mini\": isMini\n\t\t\t}}\n\t\t>\n\t\t\t{descriptionElem}\n\t\t</div>\n\t);\n};\n\nexport default view;\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport styles from './_now-image.scss';\nimport {toNumber, isString, isNumber} from 'lodash';\nimport {toEmbeddableUrl} from '@servicenow/library-enhanced-utils';\nimport {configAriaSchema} from '@servicenow/library-schemas';\nimport {\n\tfilterAriaAttributes,\n\tsanitizeHref,\n} from '@servicenow/library-enhanced-utils';\nimport focusBehavior from '@servicenow/behavior-focus';\n\nimport packageInfo from '../package.json';\nconst {name, version} = packageInfo;\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n\nconst toValidPixelsOrUndefined = (v) => {\n\t// isString or isNumber protects again toNumber(false) or toNumber(null)\n\t// v !== '' protects against toNumber('')\n\t// isFinite(toNumber(v)) protects against `Infinity` etc.\n\tif ((isString(v) || isNumber(v)) && v !== '' && isFinite(toNumber(v))) {\n\t\treturn toNumber(v) + 'px';\n\t}\n\treturn undefined;\n};\n\nconst renderImageTag = (state, dispatch) => {\n\tconst {\n\t\tsrc,\n\t\talt,\n\t\twidth,\n\t\theight,\n\t\tfit,\n\t\tposition,\n\t\thref = '',\n\t\tconfigAria,\n\t\tsupportRtl,\n\t\tdir,\n\t} = state.properties;\n\tconst imageTag = () => {\n\t\treturn (\n\t\t\t<img\n\t\t\t\tclass={{'-flip': supportRtl && dir === 'rtl'}}\n\t\t\t\tsrc={toEmbeddableUrl(src)}\n\t\t\t\talt={alt}\n\t\t\t\tstyle={{\n\t\t\t\t\tobjectFit: fit,\n\t\t\t\t\tobjectPosition: position,\n\t\t\t\t\tinlineSize: toValidPixelsOrUndefined(width),\n\t\t\t\t\tblockSize: toValidPixelsOrUndefined(height),\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t};\n\n\tif (href) {\n\t\treturn (\n\t\t\t<a\n\t\t\t\tclassName=\"now-image-link\"\n\t\t\t\ton-click={() => {\n\t\t\t\t\tdispatch(() => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttype: 'NOW_IMAGE#CLICKED',\n\t\t\t\t\t\t\tpayload: {},\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t\thref={sanitizeHref(href)}\n\t\t\t\t{...filterAriaAttributes(configAria, 'link')}\n\t\t\t\tstyle={{\n\t\t\t\t\tinlineSize: toValidPixelsOrUndefined(width),\n\t\t\t\t\tblockSize: toValidPixelsOrUndefined(height),\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{imageTag()}\n\t\t\t</a>\n\t\t);\n\t} else {\n\t\treturn imageTag();\n\t}\n};\n\nconst view = (state, {dispatch}) => {\n\tconst {sources} = state.properties;\n\treturn (\n\t\t<picture>\n\t\t\t{sources.map((source) => {\n\t\t\t\treturn (\n\t\t\t\t\t<source\n\t\t\t\t\t\ttype={source.type}\n\t\t\t\t\t\tmedia={source.media}\n\t\t\t\t\t\t// note: srcset can also be a comma-separated list of image URLs with optional width descriptors\n\t\t\t\t\t\t// so in the future if a customer raises a DEF around this, we may need to add support for that\n\t\t\t\t\t\t// see https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images\n\t\t\t\t\t\tsrcset={toEmbeddableUrl(source.srcset)}\n\t\t\t\t\t\tsizes={source.sizes}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t})}\n\t\t\t{renderImageTag(state, dispatch)}\n\t\t</picture>\n\t);\n};\n\n/**\n * A simple, responsive image component.\n * Recommended for use in UI Builder. If using a different interface,\n * use a native `img` or `picture` tag instead.\n *\n * ```jsx\n * <now-image src=\"./image.png\" alt=\"description\" />\n *\n * <now-image src=\"./image.png\" alt=\"description\" height=\"50\" width=\"50\" fit=\"cover\" position=\"left\" />\n *\n * const sources = [\n *   {srcset: './image.webp', type: 'image/webp', media: '(min-width: 800px)'}\n *   {srcset: './image.png', type: 'image/png', media: '(max-width: 800px)'}\n * ];\n * <now-image src=\"./image.jpg\" sources={sources}  alt=\"description\" />\n * ```\n *\n * @seismicElement now-image\n * @summary A simple, responsive image component.\n * @uib.label Image\n * @uib.icon image\n * @uib.description Displays a static image\n * @uib.category primitives\n * @uib.associatedTypes global.core, global.dashboard, global.landing-page\n * @uib.properties src, sources, fit, position, width, height, alt, href, configAria, landmark, supportRtl\n * @uib.layout.layout.children fit, position, width, height\n * @uib.layout.layout.icon grid-three-outline\n * @uib.layout.accessibility.children alt, configAria, landmark\n * @uib.layout.accessibility.icon accessibility-outline\n * @uib.layout.internationalization.children supportRtl\n * @uib.layout.internationalization.icon translated-text-outline\n * @uib.actions NOW_IMAGE#CLICKED\n * @uib.parMetadata {\"useDashboardHeader\": true}\n */\ncreateEnhancedElement('now-image', {\n\tproperties: {\n\t\t/**\n\t\t * The image URL.\n\t\t * @type {string}\n\t\t *\n\t\t * @uib.required\n\t\t * @uib.label Image source\n\t\t * @uib.description URL of the image to show\n\t\t * @uib.defaultValue /now-image-placeholder.jpg\n\t\t */\n\t\tsrc: {required: true, schema: {type: 'string'}},\n\t\t/**\n\t\t * An array of source objects to use in responsive images,\n\t\t * where each source object can contain:\n\t\t * - `srcset`: Image URL (required) or comma-separated list of image\n\t\t * URLs with optional width and/or pixel density descriptors.\n\t\t * - `type`: MIME type of the image source.\n\t\t * - `media`: Valid media query for the image source.\n\t\t * - `sizes`: Comma-separated list of source sizes that describes the\n\t\t * rendered width of the image represented by the source.\n\t\t * @type {{srcset: string, type: string, media: string, sizes: string}[]}\n\t\t *\n\t\t * @uib.label Image sources\n\t\t * @uib.description An array of source objects to use in responsive images\n\t\t * @uib.fieldType collection\n\t\t * @uib.typeMetadata.collection.cardProperties.heading { \"heading\": \"srcset\" }\n\t\t */\n\t\tsources: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tsrcset: {type: 'string'},\n\t\t\t\t\t\ttype: {type: 'string'},\n\t\t\t\t\t\tmedia: {type: 'string'},\n\t\t\t\t\t\tsizes: {type: 'string'},\n\t\t\t\t\t},\n\t\t\t\t\trequired: ['srcset'],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Alternative text description of the image.\n\t\t * @type {string}\n\t\t *\n\t\t * @uib.required\n\t\t * @uib.label Alt text\n\t\t * @uib.description Description of the image\n\t\t * @uib.defaultValue\n\t\t * @uib.translatable true\n\t\t */\n\t\talt: {required: true, schema: {type: 'string'}},\n\t\t/**\n\t\t * Intrinsic width of the image in pixels.\n\t\t * @type {number}\n\t\t *\n\t\t * @uib.description Static width for the image (uses image width by default)\n\t\t */\n\t\twidth: {schema: {type: 'number'}},\n\t\t/**\n\t\t * Intrinsic height of the image in pixels.\n\t\t * @type {number}\n\t\t *\n\t\t * @uib.description Static height for the image (uses image height by default)\n\t\t */\n\t\theight: {schema: {type: 'number'}},\n\t\t/**\n\t\t * Value passed to the `object-fit` CSS property on the image. This\n\t\t * value dictates how the image fits into its container when the\n\t\t * `height` and `width` properties differ from the image dimensions.\n\t\t * @type {('fill'|'contain'|'cover'|'none'|'scale-down')}\n\t\t *\n\t\t * @uib.required\n\t\t * @uib.description How the image fits in its container\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Fill\", \"value\": \"fill\"},{\"label\": \"Contain\", \"value\": \"contain\"},{\"label\": \"Cover\", \"value\": \"cover\"},{\"label\": \"Scale down\", \"value\": \"scale-down\"},{\"label\": \"None\", \"value\": \"none\"}]\n\t\t * @uib.defaultValue fill\n\t\t */\n\t\tfit: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['fill', 'contain', 'cover', 'none', 'scale-down'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Value passed to the `object-position` CSS property on the image.\n\t\t * This value dictates how the image is positioned relative to its\n\t\t * container when the `height` and `width` properties differ from the\n\t\t * image dimensions.\n\t\t * @type {string}\n\t\t *\n\t\t * @uib.required\n\t\t * @uib.description Anchors the image if it is larger than its container\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Center\", \"value\": \"center center\"}, {\"label\": \"Top-Left\", \"value\": \"top left\"}, {\"label\": \"Top-Right\", \"value\": \"top right\"}, {\"label\": \"Bottom-Left\", \"value\": \"bottom left\"}, {\"label\": \"Bottom-Right\", \"value\": \"bottom right\"}]\n\t\t * @uib.defaultValue center center\n\t\t */\n\t\tposition: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Link URL opened when the user clicks on the image.\n\t\t * @type {string}\n\t\t * @uib.label Link\n\t\t * @uib.description URL opened when the user clicks on the image\n\t\t */\n\t\thref: {required: false, schema: {type: 'string'}},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * now-image. The value of each key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s. These ARIA\n\t\t * properties are set on the specified element.\n\t\t * The 'link' key corresponds to the inner html `<img>` element in\n\t\t * now-image.\n\t\t * @type {{ link: {'aria-*': string, role: string} }}\n\t\t * @uib.label ARIA properties\n\t\t * @uib.defaultValue {\"link\": {}}\n\t\t * @uib.description Configure ARIA properties\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\toneOf: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tlink: configAriaSchema,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tadditionalProperties: false,\n\t\t\t\t\t},\n\t\t\t\t\tconfigAriaSchema,\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Includes this component as a target for the Now-Trigger-Library's\n\t\t * Landmark Focus feature.\n\t\t * @type {boolean}\n\t\t * @uib.label Landmark\n\t\t * @uib.description Allow the Landmark Focus keyboard shortcut to focus this link\n\t\t */\n\t\tlandmark: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, the image flips along the inline axis if the document dir=\"rtl\".\n\t\t * Set this property for images that are tied to writing direction\n\t\t * @type {boolean}\n\t\t * @uib.label Flip image direction\n\t\t * @uib.description When true, the image flips along the inline axis if the document dir=\"rtl\". Set this property for images that are tied to writing direction\n\t\t */\n\t\tsupportRtl: {default: false, schema: {type: 'boolean'}},\n\t},\n\tview,\n\tstyles,\n\tbehaviors: [{behavior: focusBehavior}],\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when an image with a link is clicked.\n\t\t * @type {{}}\n\t\t * @uib.description Dispatched when the image is clicked\n\t\t */\n\t\t'NOW_IMAGE#CLICKED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t},\n});\n","import \"@servicenow/now-avatar\";\nimport \"@servicenow/now-image\";\nimport \"@servicenow/now-icon\";\nimport isEmpty from \"lodash/isEmpty\";\nimport { MARKER_IMAGE } from \"../constants\";\n\nconst MARKER_TYPES = {\n\tICON: \"icon\",\n\tIMAGE: \"image\",\n\tAVATAR: \"avatar\"\n};\n\nconst getMarkerElem = ({ type, value, alt }, isMini) => {\n\tif (type === MARKER_TYPES.AVATAR) {\n\t\treturn (\n\t\t\t<now-avatar\n\t\t\t\timageSrc={value}\n\t\t\t\tsize=\"lg\"\n\t\t\t\tuserName={alt}\n\t\t\t\tariaHidden=\"false\"\n\t\t\t/>\n\t\t);\n\t}\n\n\tif (\n\t\ttype === MARKER_TYPES.ICON ||\n\t\t(type === MARKER_TYPES.IMAGE && !isEmpty(value) && !value.includes(\".\"))\n\t) {\n\t\treturn <now-icon icon={value} size=\"xl\" ariaHidden=\"true\" />;\n\t}\n\n\tif (type === MARKER_TYPES.IMAGE) {\n\t\tif (type === MARKER_TYPES.IMAGE) {\n\t\t\tif (isEmpty(value)) {\n\t\t\t\treturn <now-icon icon=\"book-outline\" size=\"xl\" ariaHidden=\"true\" />;\n\t\t\t} else {\n\t\t\t\treturn (\n\t\t\t\t\t<now-image\n\t\t\t\t\t\tsrc={value}\n\t\t\t\t\t\twidth={\n\t\t\t\t\t\t\tisMini ? MARKER_IMAGE.WIDTH_THUMBNAIL : MARKER_IMAGE.WIDTH_DEFAULT\n\t\t\t\t\t\t}\n\t\t\t\t\t\talt={alt}\n\t\t\t\t\t\tfit=\"cover\"\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn null;\n};\n\nconst isValid = type => Object.values(MARKER_TYPES).indexOf(type) !== -1;\n\nconst view = ({ marker, isGlobal, isMini }) => {\n\tif (isEmpty(marker)) {\n\t\treturn null;\n\t}\n\n\tconst { type } = marker;\n\tconst validType = isValid(type);\n\n\tif (!validType) {\n\t\treturn null;\n\t}\n\n\tconst markerElem = getMarkerElem(marker, isMini);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={`genius-card__marker genius-card__marker--${type}`}\n\t\t\tclass={{\n\t\t\t\t\"-global\": isGlobal,\n\t\t\t\t\"-mini\": isMini\n\t\t\t}}\n\t\t>\n\t\t\t{markerElem}\n\t\t</div>\n\t);\n};\n\nexport default view;\n","import isEmpty from \"lodash/isEmpty\";\n\nconst view = ({ heading, headingFontSize, isMini, isOneBox, isMobile }) =>\n\t!isEmpty(heading) ? (\n\t\t<div className=\"genius-card__text\">\n\t\t\t<h2\n\t\t\t\taria-level=\"3\"\n\t\t\t\tdata-truncation\n\t\t\t\tclassName={`genius-card__heading-text genius-card__heading-font-size-${headingFontSize}`}\n\t\t\t\tclass={{\n\t\t\t\t\t\"genius-card__heading-text-mini\": isMini,\n\t\t\t\t\t\"genius-card__heading-text-onebox-mobile\": isOneBox && isMobile\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{heading}\n\t\t\t</h2>\n\t\t</div>\n\t) : null;\n\nexport default view;\n","import isEmpty from \"lodash/isEmpty\";\n\nconst view = ({\n\tidentifier,\n\tidentifierCriticalText,\n\tidentifierFontSize,\n\tisGlobal,\n\tidentifierAtBottom\n}) => {\n\tif (isEmpty(identifier) && isEmpty(identifierCriticalText)) return null;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={`genius-card__text genius-card__identifier genius-card__identifier-font-size-${identifierFontSize}`}\n\t\t>\n\t\t\t<span\n\t\t\t\tdata-truncation\n\t\t\t\tclass={{\n\t\t\t\t\t\"genius-card__identifier-text\": true,\n\t\t\t\t\t\"-global\": isGlobal,\n\t\t\t\t\t\"-bottom-margin\": identifierAtBottom\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{identifier}\n\t\t\t</span>\n\t\t\t{identifierCriticalText ? (\n\t\t\t\t<span\n\t\t\t\t\tclassName=\"genius-card__identifier-text genius-card__identifier-text--critical\"\n\t\t\t\t\tdata-truncation\n\t\t\t\t>\n\t\t\t\t\t{identifierCriticalText}\n\t\t\t\t</span>\n\t\t\t) : null}\n\t\t</div>\n\t);\n};\n\nexport default view;\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport styles from './_now-label-value-inline.scss';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\n\nconst view = (state) => {\n\tconst {label, value, reversed, truncated} = state.properties;\n\n\tif (!reversed) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'now-label-value-inline': true,\n\t\t\t\t\t'will-truncate': truncated,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"now-label-value-pair\" data-truncation>\n\t\t\t\t\t<span className=\"now-label-value-inline-label\">{label}</span>\n\t\t\t\t\t&nbsp;\n\t\t\t\t\t<span className=\"now-label-value-inline-value\">{value}</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'now-label-value-inline': true,\n\t\t\t\t\t'will-truncate': truncated,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"now-label-value-pair\" data-truncation>\n\t\t\t\t\t<span className=\"now-label-value-inline-value\">{value}</span>\n\t\t\t\t\t&nbsp;\n\t\t\t\t\t<span className=\"now-label-value-inline-label\">{label}</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n};\n\n/**\n * The `now-label-value-inline` component is an independent instance of the label-value pairs\n * component that only displays horizontally. Pass settings into `now-label-value-inline` to format the label for your use case.\n *\n * ```jsx\n * <now-label-value-inline label=\"Assigned to\" value=\"Fred Luddy\" />\n * ```\n *\n * @seismicElement now-label-value-inline\n * @summary Single label-value pair shown inline with minimal formatting.\n * @uib.label Label value\n * @uib.icon label-value-inline\n * @uib.description Single label-value pair that displays inline horizontally with minimal formatting.\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties label, value, reversed, truncated\n */\ncreateEnhancedElement('now-label-value-inline', {\n\tproperties: {\n\t\t/**\n\t\t * Label text displaying inline with the value. Content is associated with the value, for example, \"Assigned to\".\n\t\t * @type {string}\n\t\t * @uib.description Label text displaying inline with the value\n\t\t * @uib.defaultValue Label\n\t\t * @uib.translatable true\n\t\t */\n\t\tlabel: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Value text displayed inline with the label. Content is a unique value, for example, \"Fred Luddy\".\n\t\t * @type {string}\n\t\t * @uib.description Value text displayed inline with the label\n\t\t * @uib.defaultValue This is the value\n\t\t * @uib.translatable true\n\t\t */\n\t\tvalue: {schema: {type: 'string'}},\n\t\t/**\n\t\t * When true, reverses the label and value order.\n\t\t * @type {boolean}\n\t\t * @uib.description Set to reverse the label and value order\n\t\t */\n\t\treversed: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, truncates output to a single line within the width of the provided layout.\n\t\t * @type {boolean}\n\t\t * @uib.description Set to truncate output to a single line within the width of the provided layout\n\t\t */\n\t\ttruncated: {default: false, reflect: true, schema: {type: 'boolean'}},\n\t},\n\tview,\n\tstyles,\n\tbehaviors: [{behavior: truncationBehavior}, {behavior: tooltipBehavior}],\n});\n","import {extensionSplit} from '@servicenow/library-enhanced-utils';\n\nexport default function toExtension(value, whitelist) {\n\tif (!whitelist.includes(value)) {\n\t\treturn {};\n\t}\n\n\treturn extensionSplit(value);\n}\n","import isPlainObject from 'lodash/isPlainObject';\n\nexport default function normalizeValues(value) {\n\tif (typeof value === 'string') {\n\t\treturn [{type: 'string', value}];\n\t}\n\tif (isPlainObject(value)) {\n\t\treturn [value];\n\t}\n\treturn value;\n}\n","import '@servicenow/now-highlighted-value';\nimport '@servicenow/now-text-link';\nimport {t} from 'sn-translate';\nimport DOMPurify from 'dompurify';\nimport {domPurifyConfig} from '@servicenow/library-enhanced-utils';\n\nconst _renderValueDelimiter = (i, delimiter, valueCount) => {\n\tif (i < valueCount - 1) {\n\t\treturn (\n\t\t\t<span data-test=\"value-delimiter\" aria-hidden=\"true\">\n\t\t\t\t{delimiter}\n\t\t\t</span>\n\t\t);\n\t} else {\n\t\treturn '';\n\t}\n};\n\nconst _renderValueWithPrevious = (value, previous) => {\n\treturn t(\n\t\t{\n\t\t\tcode: 'now-label-value-value-previous',\n\t\t\tmessage: '{newValue} was {oldValue}',\n\t\t\tcomment: 'Describes the change in the value of the field.',\n\t\t},\n\t\t{newValue: value, oldValue: previous},\n\t);\n};\n\nconst _renderJSXValueWithPrevious = (value, previous) => {\n\tconst VALUE_TOKEN = '__VALUE__';\n\tconst PREVIOUS_TOKEN = '__PREVIOUS__';\n\tconst TRANSLATION_TEMPLATE = _renderValueWithPrevious(\n\t\tVALUE_TOKEN,\n\t\tPREVIOUS_TOKEN,\n\t);\n\n\tconst indexOfValueToken = TRANSLATION_TEMPLATE.indexOf(VALUE_TOKEN);\n\tconst indexOfPreviousToken = TRANSLATION_TEMPLATE.indexOf(PREVIOUS_TOKEN);\n\tconst firstIndex = Math.min(indexOfValueToken, indexOfPreviousToken);\n\tconst secondIndex = Math.max(indexOfValueToken, indexOfPreviousToken);\n\tconst firstToken =\n\t\tindexOfValueToken < indexOfPreviousToken ? VALUE_TOKEN : PREVIOUS_TOKEN;\n\tconst secondToken =\n\t\tindexOfValueToken < indexOfPreviousToken ? PREVIOUS_TOKEN : VALUE_TOKEN;\n\n\treturn [\n\t\tTRANSLATION_TEMPLATE.slice(0, firstIndex),\n\t\tfirstToken === VALUE_TOKEN ? value : previous,\n\t\tTRANSLATION_TEMPLATE.slice(firstIndex + firstToken.length, secondIndex),\n\t\tsecondToken === VALUE_TOKEN ? value : previous,\n\t\tTRANSLATION_TEMPLATE.slice(secondIndex + secondToken.length),\n\t].filter(Boolean);\n};\n\nconst renderString = ({value, previous}, i, delimiter, valueCount) => {\n\t// NOTE: array index is not a great way to key an element.  They key will ensure that\n\t// snabbdom replaces the node instead of patches, but the lookup could still break\n\t// in scenarios where the array is modified in place.  This isn't likely to happen currently, but\n\t// if in the future we run into element update issues, then we'll need to add `id` to the items schema\n\t// and make the consumers responsible for ensure array items have a unique id.\n\treturn previous ? (\n\t\t<div className=\"now-align -block-end\" key={i}>\n\t\t\t<div className=\"now-label-value-value\" data-truncation>\n\t\t\t\t{_renderValueWithPrevious(value, previous)}\n\t\t\t</div>\n\t\t\t{_renderValueDelimiter(i, delimiter, valueCount)}\n\t\t</div>\n\t) : (\n\t\t<div className=\"now-align -block-end\" key={i}>\n\t\t\t<div className=\"now-label-value-value\" data-truncation>\n\t\t\t\t{value}\n\t\t\t</div>\n\t\t\t{_renderValueDelimiter(i, delimiter, valueCount)}\n\t\t</div>\n\t);\n};\n\nconst renderTextLink = (value, i, truncated, delimiter, valueCount) => (\n\t// NOTE: array index is not a great way to key an element.  They key will ensure that\n\t// snabbdom replaces the node instead of patches, but the lookup could still break\n\t// in scenarios where the array is modified in place.  This isn't likely to happen currently, but\n\t// if in the future we run into element update issues, then we'll need to add `id` to the items schema\n\t// and make the consumers responsible for ensure array items have a unique id.\n\t<div className=\"now-align -block-end\" key={i}>\n\t\t<now-text-link\n\t\t\tclassName=\"now-label-value-value\"\n\t\t\tshow-tooltip={truncated}\n\t\t\tlabel={value.label}\n\t\t\thref={value.href}\n\t\t\tvariant={value.variant}\n\t\t\tunderlined={value.underlined}\n\t\t\topens-window={value.opensWindow}\n\t\t\tappend-to-payload={{item: value}}\n\t\t\ticon-start={value.iconStart}\n\t\t\ticon-end={value.iconEnd}\n\t\t\tconfig-aria={value.configAria}\n\t\t/>\n\t\t{_renderValueDelimiter(i, delimiter, valueCount)}\n\t</div>\n);\n\nconst renderHighlightedValue = (value, i, delimiter, valueCount) => (\n\t// NOTE: array index is not a great way to key an element.  They key will ensure that\n\t// snabbdom replaces the node instead of patches, but the lookup could still break\n\t// in scenarios where the array is modified in place.  This isn't likely to happen currently, but\n\t// if in the future we run into element update issues, then we'll need to add `id` to the items schema\n\t// and make the consumers responsible for ensure array items have a unique id.\n\t<div className=\"now-label-value-highlighted-value-parent\" key={i}>\n\t\t<now-highlighted-value\n\t\t\tclassName=\"now-label-value-highlighted-value\"\n\t\t\tlabel={value.label}\n\t\t\tcolor={value.color || value.status}\n\t\t\tvariant={value.variant}\n\t\t\tshow-icon={value.showIcon}\n\t\t\ticon={value.icon}\n\t\t/>\n\t\t{_renderValueDelimiter(i, delimiter, valueCount)}\n\t</div>\n);\n\nconst renderJSX = ({value, previous}) => {\n\tconst content = previous\n\t\t? _renderJSXValueWithPrevious(\n\t\t\t\tvalue,\n\t\t\t\t<span className=\"now-label-value-previous\">{previous}</span>,\n\t\t\t)\n\t\t: value;\n\treturn (\n\t\t<div className=\"now-label-value-value\" data-truncation>\n\t\t\t{content}\n\t\t</div>\n\t);\n};\n\nconst renderHTML = ({value, previous}) => {\n\tconst content = previous\n\t\t? _renderValueWithPrevious(\n\t\t\t\tvalue,\n\t\t\t\t`<span class=\"now-label-value-previous\">${previous}</span>`,\n\t\t\t)\n\t\t: value;\n\treturn (\n\t\t<div\n\t\t\tclassName=\"now-label-value-value\"\n\t\t\tdata-truncation\n\t\t\tinnerHTML={DOMPurify.sanitize(content, domPurifyConfig)}\n\t\t/>\n\t);\n};\n\nexport default function renderValue(\n\tvalue,\n\ti,\n\ttruncated,\n\tdelimiter,\n\tvalueCount,\n) {\n\tif (value.type === 'string') {\n\t\treturn renderString(value, i, delimiter, valueCount);\n\t}\n\tif (value.type === 'text-link') {\n\t\treturn renderTextLink(value, i, truncated, delimiter, valueCount);\n\t}\n\tif (value.type === 'highlighted-value') {\n\t\treturn renderHighlightedValue(value, i, delimiter, valueCount);\n\t}\n\tif (value.type === 'jsx') {\n\t\treturn renderJSX(value);\n\t}\n\tif (value.type === 'html') {\n\t\treturn renderHTML(value);\n\t}\n}\n","const valueSchema = {\n\ttype: 'object',\n\tproperties: {\n\t\ttype: {\n\t\t\ttype: 'string',\n\t\t\tenum: ['string', 'text-link', 'highlighted-value', 'jsx', 'html'],\n\t\t},\n\t\tvalue: {\n\t\t\toneOf: [{type: 'string', translatable: true}, {type: 'object'}],\n\t\t},\n\t\tprevious: {type: ['string', 'object']},\n\t\tlabel: {type: 'string', translatable: true},\n\t\tcolor: {type: 'string'},\n\t\tvariant: {type: 'string'},\n\t\tshowIcon: {type: 'boolean'},\n\t\ticon: {type: 'string'},\n\t\thref: {type: 'string'},\n\t\tunderlined: {type: 'boolean'},\n\t\topensWindow: {type: 'boolean'},\n\t\ticonStart: {type: 'string'},\n\t\ticonEnd: {type: 'string'},\n\t},\n};\n\nexport const itemsSchema = {\n\ttype: 'array',\n\titems: {\n\t\ttype: 'object',\n\t\tproperties: {\n\t\t\tlabel: {type: 'string', translatable: true},\n\t\t\tvalue: {\n\t\t\t\toneOf: [\n\t\t\t\t\t{type: 'string', translatable: true},\n\t\t\t\t\tvalueSchema,\n\t\t\t\t\t{type: 'array', items: valueSchema},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n};\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {makeRedispatchEffect} from '@servicenow/library-enhanced-utils';\nimport styles from './_now-label-value-stacked.scss';\nimport toExtension from './utils/to-extension';\nimport normalizeValues from './utils/normalize-values';\nimport renderValue from './utils/render-value';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport {itemsSchema} from './schemas/label-value-schema';\n\nconst renderItem = (\n\t{label, value},\n\tindex,\n\ttruncated,\n\titemMinWidth,\n\tdelimiter,\n) => {\n\tconst valueCount =\n\t\tArray.isArray(value) && value.length > 1 ? value.length : undefined;\n\n\t// NOTE: array index is not a great way to key an element.  They key will ensure that\n\t// snabbdom replaces the node instead of patches, but the lookup could still break\n\t// in scenarios where the array is modified in place.  This isn't likely to happen currently, but\n\t// if in the future we run into element update issues, then we'll need to add `id` to the items schema\n\t// and make the consumers responsible for ensure array items have a unique id.\n\treturn (\n\t\t<div\n\t\t\tkey={index}\n\t\t\tclassName=\"now-label-value-pair\"\n\t\t\tstyle={itemMinWidth ? {'min-inline-size': itemMinWidth} : undefined}\n\t\t>\n\t\t\t<dt>\n\t\t\t\t<div className=\"now-label-value-label\" data-truncation>\n\t\t\t\t\t{label}\n\t\t\t\t</div>\n\t\t\t</dt>\n\t\t\t<dd>\n\t\t\t\t{normalizeValues(value).map((v, i) =>\n\t\t\t\t\trenderValue(v, i, truncated, delimiter, valueCount),\n\t\t\t\t)}\n\t\t\t</dd>\n\t\t</div>\n\t);\n};\n\nconst view = (state) => {\n\tconst {items, align, size, truncated, itemMinWidth, delimiter} =\n\t\tstate.properties;\n\tconst alignClasses = toExtension(align, [\n\t\t'vertical',\n\t\t'horizontal',\n\t\t'horizontal-equal',\n\t]);\n\tconst sizeClasses = toExtension(size, ['sm', 'md']);\n\tconst customColumnRepeat = `repeat(auto-fit, minmax(${itemMinWidth}, 1fr))`;\n\treturn (\n\t\t<dl\n\t\t\tstyle={\n\t\t\t\titemMinWidth ? {'grid-template-columns': customColumnRepeat} : undefined\n\t\t\t}\n\t\t\tclass={{\n\t\t\t\t['now-label-value']: true,\n\t\t\t\t['-stacked']: true,\n\t\t\t\t['will-truncate']: truncated,\n\t\t\t\t...alignClasses,\n\t\t\t\t...sizeClasses,\n\t\t\t}}\n\t\t>\n\t\t\t{items.map((item, index) =>\n\t\t\t\trenderItem(item, index, truncated, itemMinWidth, delimiter),\n\t\t\t)}\n\t\t</dl>\n\t);\n};\n\n/**\n * The stacked label-value component provides the following layout types:\n * - Vertical: Best for layout label-value in a column or if horizontal space is limited.\n * - Horizontal: Best for displaying label-value in columns or for associating label-values with a header or title.\n * - Horizontal-equal: Best if you have the predefined size of the label-value's parent container because it equally fills the container based on its size.\n *\n * ```jsx\n * <now-label-value-stacked\n * \titems={[\n * \t\t{\n * \t\t\tlabel: 'State',\n * \t\t\tvalue: {type: 'string', value: 'Closed', previous: 'Opened'}\n * \t\t},\n * \t\t{\n * \t\t\tlabel: 'Incident',\n * \t\t\tvalue: {\n * \t\t\t\ttype: 'text-link',\n * \t\t\t\tlabel: 'INC0645648',\n * \t\t\t\thref: '#',\n * \t\t\t\tunderlined: true\n * \t\t\t}\n * \t\t},\n * \t\t{\n * \t\t\tlabel: 'State',\n * \t\t\tvalue: {\n * \t\t\t\ttype: 'highlighted-value',\n * \t\t\t\tlabel: 'In Progress',\n * \t\t\t\tcolor: 'positive',\n * \t\t\t\tshowIcon: true\n * \t\t\t}\n * \t\t}\n * \t]}\n * />\n * ```\n *\n * @seismicElement now-label-value-stacked\n * @summary Label-value set showing the labels vertically above values or horizontally side-by-side.\n * @uib.label Label value stacked\n * @uib.icon label-value-stacked\n * @uib.description Label-value set showing the labels vertically above values or horizontally side-by-side.\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties size, align, items, itemMinWidth, truncated, delimiter\n * @uib.actions NOW_LABEL_VALUE_STACKED#TEXT_LINK_CLICKED\n */\ncreateEnhancedElement('now-label-value-stacked', {\n\tproperties: {\n\t\t/**\n\t\t * Array of label-value items. Labels can have one or more values. Values\n\t\t * can be rendered as a string, text link, highlighted value, or from raw\n\t\t * HTML/JSX.\n\t\t *\n\t\t * Label/value items are configured with the following keys:\n\t\t * - `label`: String. Text displayed as the label. Required.\n\t\t * - `value`: String, Object, or Object[]. Single value or array of values. Required.\n\t\t *\n\t\t * Each `value` can be a string for a simple value or an object for more\n\t\t * complex values. Object values are configured using the following keys:\n\t\t *\n\t\t * string type:\n\t\t * - `type`: String. Renders value as a string.\n\t\t * - `value`: String. Current value.\n\t\t * - `previous`: String. Previous value (crossed out).\n\t\t *\n\t\t * highlighted-value type (see now-highlighted-value documentation for details):\n\t\t * - `type`: String. Enter \"highlighted-value\" to render the value with now-highlighted-value.\n\t\t * - `label`: String. Current value. Required.\n\t\t * - `color`: String. Sets the background/icon color. Default value: \"low\".\n\t\t * - `variant`: String. Sets the shade of background/icon. Default value: \"tertiary\".\n\t\t * - `showIcon`: Boolean. When true, shows a solid circle icon next to the label. Default value: false.\n\t\t * - `icon`: String. Which custom icon to display in the highlighted value instead of the solid circle icon.\n\t\t *\n\t\t * text-link type (see now-text-link documentation for details):\n\t\t * - `type`: String. Enter \"text-link\" to render the value with now-text-link component.\n\t\t * - `label`: String. Current value. Required.\n\t\t * - `href`: String. URL opened when user clicks the link. Required.\n\t\t * - `variant`: String. Sets the link color. Default value: \"primary\".\n\t\t * - `underlined`: Boolean. When true, underlines the link. Default value: false.\n\t\t * - `opensWindow`: Boolean. When true, opens the link in a new window or tab. Default value: false.\n\t\t * - `iconStart`: String. Sets the icon at the start of the link\n\t\t * - `iconEnd`: String. Sets the icon at the end of the link\n\t\t * - `configAria`: Object. Sets the configAria\n\t\t *\n\t\t * jsx type:\n\t\t * - `type`: String. Enter \"jsx\" to render the value as raw JSX.\n\t\t * - `value`: JSX. JSX content. Required.\n\t\t * - `previous`: JSX. Previous JSX content to track changes (crossed out).\n\t\t *\n\t\t * html type:\n\t\t * - `type`: String. Enter \"html\" to render the value as raw HTML.\n\t\t * - `value`: String. HTML content. Required.\n\t\t * - `previous`: String. Previous HTML content to track changes (crossed out). Required.\n\t\t *\n\t\t * Note: `<script>` tags, inline JavaScript, and other possible security exploits will be removed.\n\t\t *\n\t\t * @type {{label: string, values: (string|Object|Object[])}[]}\n\t\t * @uib.description Array of label-value items. Labels can have one or more values. Values can be rendered as a string, text link, highlighted value, or from raw HTML. Avoid using HTML as the values won't be able to be localized\n\t\t * @uib.fieldType json\n\t\t * @uib.defaultValue [{\"label\": \"State\", \"value\": {\"type\": \"string\", \"value\": \"Closed\", \"previous\": \"Opened\"}}, {\"label\": \"Impact\", \"value\": {\"type\": \"string\", \"value\": \"1 - High\"}}, {\"label\": \"Category\", \"value\": {\"type\": \"string\", \"value\": \"Software\"}}, {\"label\": \"Assignment group\", \"value\": [{\"type\": \"string\", \"value\": \"Software\"}, {\"type\": \"text-link\", \"label\": \"Hardware\", \"href\": \"#\", \"underlined\": true}, {\"type\": \"string\", \"value\": \"Telephony\"}, {\"type\": \"highlighted-value\", \"label\": \"Routers\"}, {\"type\": \"string\", \"value\": \"Monitors\"}]}, {\"label\": \"Assigned to\", \"value\": {\"type\": \"string\", \"value\": \"Fred Luddy\"}}]\n\t\t * @uib.typeMetadata.emptyStateBehavior EMPTY_ARRAY\n\t\t */\n\t\titems: {\n\t\t\tdefault: [],\n\t\t\tschema: itemsSchema,\n\t\t},\n\t\t/**\n\t\t * Positions label/value items in relation to each other:\n\t\t * - \"vertical\": Displays label-value pairs on top of each other.\n\t\t * - \"horizontal\": Displays label-value pairs side-by-side.\n\t\t * - \"horizontal-equal\": Displays label-value pairs side-by-side, expanding to equally fill its parent container.\n\t\t * @type {(\"vertical\"|\"horizontal\"|\"horizontal-equal\")}\n\t\t * @uib.label Alignment\n\t\t * @uib.description Positions label/value items in relation to each other: [vertical] - Displays label-value pairs on top of each other. [horizontal] - Displays label-value pairs side-by-side. [horizontal-equal] - Displays label-value pairs side-by-side, expanding to equally fill the parent container.\n\t\t */\n\t\talign: {\n\t\t\tdefault: 'vertical',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['vertical', 'horizontal', 'horizontal-equal'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Sets the label size and value text.\n\t\t * @type {(\"sm\"|\"md\")}\n\t\t */\n\t\tsize: {default: 'md', schema: {type: 'string', enum: ['sm', 'md']}},\n\t\t/**\n\t\t * When true, truncates labels and values that do not fit on a single\n\t\t * line within the parent container. Has no effect on `html` or `jsx` items.\n\t\t * @type {boolean}\n\t\t * @uib.description Select to truncate labels and values that do not fit on a single line within the parent container\n\t\t */\n\t\ttruncated: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * The default min-width of an individual label-value pair is 50px. Set this property\n\t\t * to override the min-width of each item. Value must have units.\n\t\t * @type {string}\n\t\t * @uib.label Item min. width\n\t\t * @uib.description Set this property to override the min-width of each item. Value must have units\n\t\t */\n\t\titemMinWidth: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Character displayed as a delimiter between multiple values associated with\n\t\t * a label.\n\t\t * @type {string}\n\t\t * @uib.description Character displayed as a delimiter between multiple values associated with a label\n\t\t */\n\t\tdelimiter: {default: ',', schema: {type: 'string'}},\n\t},\n\tactionHandlers: {\n\t\t'NOW_TEXT_LINK#CLICKED': makeRedispatchEffect(\n\t\t\t'NOW_LABEL_VALUE_STACKED#TEXT_LINK_CLICKED',\n\t\t),\n\t},\n\tview,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t},\n\t\t{\n\t\t\tbehavior: truncationBehavior,\n\t\t},\n\t\t{\n\t\t\tbehavior: tooltipBehavior,\n\t\t},\n\t],\n\tstyles,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when a label-value of type `text-link` is clicked.\n\t\t * Payload contains the configuration object from the `items` array\n\t\t * that corresponds to the clicked link. You can add keys to uniquely\n\t\t * identify the link.\n\t\t * @type {{item: Object}}\n\t\t * @uib.description Dispatched when a label-value of type `text-link` is clicked. Payload contains the configuration object from the `items` array that corresponds to the clicked link. You can add keys to uniquely identify the link.\n\t\t */\n\t\t'NOW_LABEL_VALUE_STACKED#TEXT_LINK_CLICKED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\titem: {type: 'object'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n});\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {makeRedispatchEffect} from '@servicenow/library-enhanced-utils';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_now-label-value-tabbed.scss';\nimport toExtension from './utils/to-extension';\nimport normalizeValues from './utils/normalize-values';\nimport renderValue from './utils/render-value';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport {itemsSchema} from './schemas/label-value-schema';\nimport themeBehavior from '@servicenow/behavior-theme';\n\nconst renderItem = ({label, value}, index, delimiter, wrapLabel) => {\n\tconst valueCount =\n\t\tArray.isArray(value) && value.length > 1 ? value.length : undefined;\n\n\t// NOTE: array index is not a great way to key an element.  They key will ensure that\n\t// snabbdom replaces the node instead of patches, but the lookup could still break\n\t// in scenarios where the array is modified in place.  This isn't likely to happen currently, but\n\t// if in the future we run into element update issues, then we'll need to add `id` to the items schema\n\t// and make the consumers responsible for ensure array items have a unique id.\n\treturn (\n\t\t<Fragment key={index}>\n\t\t\t<dt>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t['now-label-value-label']: true,\n\t\t\t\t\t\t['will-wrap']: wrapLabel,\n\t\t\t\t\t}}\n\t\t\t\t\tdata-truncation={!wrapLabel ? true : undefined}\n\t\t\t\t>\n\t\t\t\t\t{label}\n\t\t\t\t</div>\n\t\t\t</dt>\n\t\t\t<dd>\n\t\t\t\t{normalizeValues(value).map((v, i) =>\n\t\t\t\t\trenderValue(v, i, false, delimiter, valueCount),\n\t\t\t\t)}\n\t\t\t</dd>\n\t\t</Fragment>\n\t);\n};\n\nconst view = (state) => {\n\tconst {items, size, delimiter, labelWidth, wrapLabel} = state.properties;\n\tconst sizeClasses = toExtension(size, ['sm', 'md']);\n\tlet style = undefined;\n\n\tif (labelWidth) {\n\t\tconst px = state.behaviors.theme[`$now-global-space--sm`].px / 2 + 'px';\n\t\tstyle = {\n\t\t\t'grid-template-columns': `calc(${labelWidth} -  ${px}) minmax(0, auto)`,\n\t\t};\n\t}\n\n\treturn (\n\t\t<dl\n\t\t\tclass={{\n\t\t\t\t['now-label-value']: true,\n\t\t\t\t['-tabbed']: true,\n\t\t\t\t['has-multiple']: items.length > 1,\n\t\t\t\t...sizeClasses,\n\t\t\t}}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{items.map((item, index) =>\n\t\t\t\trenderItem(item, index, delimiter, wrapLabel),\n\t\t\t)}\n\t\t</dl>\n\t);\n};\n\n/**\n * Label-value set showing the labels and values horizontally side-by-side.\n *\n * ```jsx\n * <now-label-value-tabbed\n * \titems={[\n * \t\t{\n * \t\t\tlabel: 'State',\n * \t\t\tvalue: {type: 'string', value: 'Closed', previous: 'Opened'}\n * \t\t},\n * \t\t{\n * \t\t\tlabel: 'Incident',\n * \t\t\tvalue: {\n * \t\t\t\ttype: 'text-link',\n * \t\t\t\tlabel: 'INC0645648',\n * \t\t\t\thref: '#',\n * \t\t\t\tunderlined: true\n * \t\t\t}\n * \t\t},\n * \t\t{\n * \t\t\tlabel: 'State',\n * \t\t\tvalue: {\n * \t\t\t\ttype: 'highlighted-value',\n * \t\t\t\tlabel: 'In Progress',\n * \t\t\t\tcolor: 'positive',\n * \t\t\t\tshowIcon: true\n * \t\t\t}\n * \t\t}\n * \t]}\n * />\n * ```\n *\n * @seismicElement now-label-value-tabbed\n * @summary  Method to scan and read label-values\n * in a list form with a solution for displaying multiple label-values for cases in which\n * horizontal space is limited.\n * @uib.label Label value tabbed\n * @uib.icon label-value-tabbed\n * @uib.description Method to scan and read label-values in a list form with a solution for displaying multiple label-values for cases in which horizontal space is limited.\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties size, items, delimiter, labelWidth, wrapLabel\n * @uib.actions NOW_LABEL_VALUE_TABBED#TEXT_LINK_CLICKED\n */\ncreateEnhancedElement('now-label-value-tabbed', {\n\tproperties: {\n\t\t/**\n\t\t * Array of label-value items. Labels can have one or more values. Values\n\t\t * can be rendered as a string, text link, highlighted value, or from raw\n\t\t * HTML/JSX.\n\t\t *\n\t\t * Label/value items are configured with the following keys:\n\t\t * - `label`: String. Text displayed as the label. Required.\n\t\t * - `value`: String, Object, or Object[]. Single value or array of values. Required.\n\t\t *\n\t\t * Each `value` can be a string for a simple value or an object for more\n\t\t * complex values. Object values are configured using the following keys:\n\t\t *\n\t\t * String type:\n\t\t * - `type`: String. Renders value as a string.\n\t\t * - `value`: String. Current value.\n\t\t * - `previous`: String. Previous value (crossed out).\n\t\t *\n\t\t * highlighted-value type (see now-highlighted-value documentation for details):\n\t\t * - `type`: String. Enter \"highlighted-value\" to render the value with now-highlighted-value.\n\t\t * - `label`: String. Current value. Required.\n\t\t * - `color`: String. Sets the background/icon color. Default value: \"low\".\n\t\t * - `variant`: String. Sets the shade of background/icon. Default value: \"tertiary\".\n\t\t * - `showIcon`: Boolean. When true, shows a solid circle icon next to the label. Default value: false.\n\t\t * - `icon`: String. Which custom icon to display in the highlighted value instead of the solid circle icon.\n\t\t *\n\t\t * text-link type (see now-text-link documentation for details):\n\t\t * - `type`: String. Enter \"text-link\" to render the value with now-text-link component.\n\t\t * - `label`: String. Current value. Required.\n\t\t * - `href`: String. URL opened when user clicks the link. Required.\n\t\t * - `variant`: String. Sets the link color. Default value: \"primary\".\n\t\t * - `underlined`: Boolean. When true, underlines the link. Default value: false.\n\t\t * - `opensWindow`: Boolean. When true, opens the link in a new window or tab. Default value: false.\n\t\t * - `configAria`: Object. Sets the configAria.\n\t\t *\n\t\t * jsx type:\n\t\t * - `type`: String. Enter \"jsx\" to render the value as raw JSX.\n\t\t * - `value`: JSX. JSX content. Required.\n\t\t * - `previous`: JSX. Previous JSX content to track changes (crossed out).\n\t\t *\n\t\t * html type:\n\t\t * - `type`: String. Enter \"html\" to render the value as raw HTML.\n\t\t * - `value`: String. HTML content. Required.\n\t\t * - `previous`: String. Previous HTML content to track changes (crossed out). Required.\n\t\t *\n\t\t * Note: `<script>` tags, inline JavaScript, and other possible security exploits will be removed.\n\t\t *\n\t\t * @type {{label: string, values: (string|Object|Object[])}[]}\n\t\t * @uib.description Array of label-value items. Labels can have one or more values. Values can be rendered as a string, text link, highlighted value, or from raw HTML. Avoid using HTML as values won't be able to be localized\n\t\t * @uib.fieldType json\n\t\t * @uib.defaultValue [{\"label\": \"State\", \"value\": {\"type\": \"string\", \"value\": \"Closed\", \"previous\": \"Opened\"}}, {\"label\": \"Impact\", \"value\": {\"type\": \"string\", \"value\": \"1 - High\"}}, {\"label\": \"Category\", \"value\": {\"type\": \"string\", \"value\": \"Software\"}}, {\"label\": \"Assignment group\", \"value\": [{\"type\": \"string\", \"value\": \"Software\"}, {\"type\": \"text-link\", \"label\": \"Hardware\", \"href\": \"#\", \"underlined\": true}, {\"type\": \"string\", \"value\": \"Telephony\"}, {\"type\": \"highlighted-value\", \"label\": \"Routers\"}, {\"type\": \"string\", \"value\": \"Monitors\"}]}, {\"label\": \"Assigned to\", \"value\": {\"type\": \"string\", \"value\": \"Fred Luddy\"}}]\n\t\t */\n\t\titems: {\n\t\t\tdefault: [],\n\t\t\tschema: itemsSchema,\n\t\t},\n\t\t/**\n\t\t * Sets the label size and value text.\n\t\t * @type {(\"sm\"|\"md\")}\n\t\t */\n\t\tsize: {default: 'md', schema: {type: 'string', enum: ['sm', 'md']}},\n\t\t/**\n\t\t * Character displayed as delimiter between multiple values associated with\n\t\t * a label.\n\t\t * @type {string}\n\t\t * @uib.description Character displayed as delimiter between multiple values associated with a label.\n\t\t */\n\t\tdelimiter: {default: ',', schema: {type: 'string'}},\n\t\t/**\n\t\t * Set this property to specify the width of the item label. Value must have units.\n\t\t * @type {string}\n\t\t * @uib.label Label width\n\t\t * @uib.description Set this property to specify the width of the item label. Value must have units\n\t\t */\n\t\tlabelWidth: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Set to true to wrap the label if it does not fit on one line.\n\t\t * @type {boolean}\n\t\t * @uib.description Wraps the label if it does not fit on one line.\n\t\t */\n\t\twrapLabel: {default: false, schema: {type: 'boolean'}},\n\t},\n\tactionHandlers: {\n\t\t'NOW_TEXT_LINK#CLICKED': makeRedispatchEffect(\n\t\t\t'NOW_LABEL_VALUE_TABBED#TEXT_LINK_CLICKED',\n\t\t),\n\t},\n\tview,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t},\n\t\t{\n\t\t\tbehavior: truncationBehavior,\n\t\t},\n\t\t{\n\t\t\tbehavior: tooltipBehavior,\n\t\t},\n\t\t{\n\t\t\tbehavior: themeBehavior,\n\t\t\toptions: {\n\t\t\t\titems: ['global.space*'],\n\t\t\t},\n\t\t},\n\t],\n\tstyles,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when a label-value of type `text-link` is clicked.\n\t\t * Payload contains the configuration object from the `items` array\n\t\t * that corresponds to the clicked link. You can add keys to uniquely\n\t\t * identify the link.\n\t\t * @type {{item: Object}}\n\t\t * @uib.description Dispatched when a label-value of type `text-link` is clicked. Payload contains the configuration object from the `items` array that corresponds to the clicked link. You can add keys to uniquely identify the link.\n\t\t */\n\t\t'NOW_LABEL_VALUE_TABBED#TEXT_LINK_CLICKED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\titem: {type: 'object'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n});\n","import './now-label-value-inline';\nimport './now-label-value-stacked';\nimport './now-label-value-tabbed';\n\nimport * as info from '../package.json';\n\nconst {name, version} = info;\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n\nexport {itemsSchema} from './schemas/label-value-schema';\n","import \"@servicenow/now-label-value\";\nimport isEmpty from \"lodash/isEmpty\";\nimport { HORIZONTAL } from \"../constants\";\n\nconst view = ({ labelValuesInfo }) => {\n\tconst { labelValues = [], align = HORIZONTAL } = labelValuesInfo;\n\tif (isEmpty(labelValues)) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className=\"genius-card__label-values\">\n\t\t\t<now-label-value-stacked\n\t\t\t\titems={labelValues}\n\t\t\t\tsize=\"md\"\n\t\t\t\talign={align}\n\t\t\t\ttruncated\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nexport default view;\n","import isEmpty from \"lodash/isEmpty\";\n\nimport Description from \"../contents/description\";\nimport Marker from \"../contents/marker\";\nimport Header from \"../contents/heading\";\nimport Identifier from \"../contents/identifier\";\nimport LabelValues from \"../contents/labelValues\";\n\nconst view = ({\n\tidentifier,\n\tidentifierCriticalText,\n\theading,\n\tmarker,\n\tlabelValuesInfo,\n\tdescription,\n\tidentifierFontSize,\n\theadingFontSize,\n\tisGlobal,\n\tidentifierAtBottom,\n\tshouldTruncate,\n\tdescriptionCollapsed,\n\tupdateState,\n\tshowActionAsLink,\n\tisOneBox,\n\tisExternalSourceType,\n\tisSynthesizedAndNotStreaming,\n\tcitationsFromSynthesizedResponse,\n\tkgListCitations,\n\tactions,\n\tsynthesizedMarkdownText,\n\tsynthesizedGeniusResultCanExpand,\n\tsynthesizedGeniusResultExpanded,\n\ttextRef,\n\tcanAskFollowUp\n}) => (\n\t<div\n\t\tclass={{\n\t\t\t\"genius-card-body\": true,\n\t\t\t\"-min-height\": !isExternalSourceType && !isSynthesizedAndNotStreaming,\n\t\t\t\"-global\": isGlobal\n\t\t}}\n\t>\n\t\t{isEmpty(marker) ? null : (\n\t\t\t<div className=\"genius-card-body__column\">\n\t\t\t\t<Marker marker={marker} isGlobal={isGlobal} />\n\t\t\t</div>\n\t\t)}\n\t\t<div className=\"genius-card-body__column -truncate\">\n\t\t\t{identifierAtBottom || showActionAsLink ? null : (\n\t\t\t\t<Identifier\n\t\t\t\t\tidentifier={identifier}\n\t\t\t\t\tidentifierCriticalText={identifierCriticalText}\n\t\t\t\t\tidentifierFontSize={identifierFontSize}\n\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\tidentifierAtBottom={identifierAtBottom}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<Header heading={heading} headingFontSize={headingFontSize} />\n\t\t\t<Description\n\t\t\t\tdescription={description}\n\t\t\t\tisGlobal={isGlobal}\n\t\t\t\tshouldTruncate={shouldTruncate}\n\t\t\t\tdescriptionCollapsed={descriptionCollapsed}\n\t\t\t\tupdateState={updateState}\n\t\t\t\tisOneBox={isOneBox}\n\t\t\t\tisSynthesizedAndNotStreaming={isSynthesizedAndNotStreaming}\n\t\t\t\tcitationsFromSynthesizedResponse={citationsFromSynthesizedResponse}\n\t\t\t\tkgListCitations={kgListCitations}\n\t\t\t\tactions={actions}\n\t\t\t\tsynthesizedGeniusResultCanExpand={synthesizedGeniusResultCanExpand}\n\t\t\t\tsynthesizedGeniusResultExpanded={synthesizedGeniusResultExpanded}\n\t\t\t\tsynthesizedMarkdownText={synthesizedMarkdownText}\n\t\t\t\ttextRef={textRef}\n\t\t\t\tcanAskFollowUp={canAskFollowUp}\n\t\t\t/>\n\t\t\t<LabelValues labelValuesInfo={labelValuesInfo} />\n\t\t</div>\n\t</div>\n);\n\nexport default view;\n","import {t} from 'sn-translate';\nimport isNumber from 'lodash/isNumber';\n\nconst MINUTES = 60 * 1000;\n\nclass SnDateTimeWordService {\n\tparse(timestamp, timeZoneOffset, isSystemTime, timestampLong) {\n\t\tconst dateParsed = this._parse(timestamp);\n\t\tif (!dateParsed) {\n\t\t\treturn;\n\t\t}\n\t\t//if timestampLong is available no need to add offset\n\t\tif (timestampLong) {\n\t\t\treturn new Date(dateParsed.getTime());\n\t\t}\n\t\tconst currentOffset = -dateParsed.getTimezoneOffset() * MINUTES;\n\t\tlet offset = 0;\n\t\tif (isNumber(timeZoneOffset)) {\n\t\t\toffset += currentOffset - timeZoneOffset;\n\t\t}\n\t\tif (isSystemTime) {\n\t\t\toffset += currentOffset;\n\t\t}\n\t\treturn new Date(dateParsed.getTime() + offset);\n\t}\n\n\t_parse (timestamp) {\n\t\tif (!timestamp) {\n\t\t\treturn;\n\t\t}\n\n\t\t// typical from GraphQL\n\t\tconst dateParsed = new Date(timestamp);\n\t\tif (SnDateTimeWordService.isValidDate(dateParsed)) {\n\t\t\treturn dateParsed;\n\t\t}\n\n\t\t// safari is much more restrictive of the acceptable format\n\t\tconst safariTimestamp = timestamp\n\t\t\t.replace(/\\.\\d+/,'') // remove milliseconds\n\t\t\t.replace(/-/g,'/') // - to /\n\t\t\t.replace(/T/,' ') // remove T\n\t\t\t.replace(/Z/,' UTC') // Z to UTC\n\t\t\t.replace(/([+-]\\d\\d):(\\d\\d)/,' $1$2') // -04:00 -> -0400\n\t\t\t.replace(/\\..*|\\+.*/,'');\n\n\t\tconst safariParsed = new Date(safariTimestamp);\n\t\tif (SnDateTimeWordService.isValidDate(safariParsed)) {\n\t\t\treturn safariParsed;\n\t\t}\n\n\t\t// possible\n\t\tconst numericDate = new Date(parseInt(timestamp, 10));\n\t\tif (SnDateTimeWordService.isValidDate(numericDate)) {\n\t\t\treturn numericDate;\n\t\t}\n\t}\n\n\tstatic isValidDate(date) {\n\t\treturn !isNaN(date.getTime());\n\t}\n\n\tgetWords(date, verbose) {\n\t\tconst baseDate = new Date(Date.now());\n\t\tconst diff = baseDate - date;\n\n\t\treturn SnDateTimeWordService._toWords(diff, verbose);\n\t}\n\n\tstatic _toWords(diffMills, verbose) {\n\t\tconst WORDS = getWordLiterals(verbose);\n\n\t\tconst isPast = diffMills >= 0;\n\t\tconst AGO = isPast ? WORDS.ago : WORDS.fromNow;\n\n\t\tdiffMills = Math.abs(diffMills);\n\t\tconst seconds = diffMills / 1000;\n\t\tconst minutes = seconds / 60;\n\t\tconst hours = minutes / 60;\n\t\tconst days = hours / 24;\n\t\tconst years = days / 365;\n\n\t\tconst words =\n\t\t\tseconds < 45   && !isPast && substitute(WORDS.seconds, 1, AGO)            ||\n\t\t\tseconds < 45   && substitute(WORDS.justNow)                               ||\n\t\t\tseconds < 90   && substitute(WORDS.minute,    1, AGO)                     ||\n\t\t\tminutes < 45   && substitute(WORDS.minutes,   Math.round(minutes), AGO)   ||\n\t\t\tminutes < 90   && substitute(WORDS.hour,      1, AGO)                     ||\n\t\t\thours < 24     && substitute(WORDS.hours,     Math.round(hours), AGO)\t  ||\n\t\t\thours < 42     && substitute(WORDS.day,       1, AGO)                     ||\n\t\t\tdays < 30      && substitute(WORDS.days,      Math.ceil(days), AGO)       ||\n\t\t\tdays < 45      && substitute(WORDS.month,     1, AGO)                     ||\n\t\t\tdays < 365     && substitute(WORDS.months,    Math.round(days / 30), AGO) ||\n\t\t\tyears < 1.5    && substitute(WORDS.year,      1, AGO)                     ||\n\n\t\t\tsubstitute(WORDS.years, Math.round(years), AGO);\n\n\t\treturn words;\n\t}\n\n}\n\nconst snDateTimeWordService = new SnDateTimeWordService();\nexport default snDateTimeWordService;\nexport const toWords = SnDateTimeWordService._toWords;\n\n\nconst DAY = 24 * 60 * 60 * 1000;\nfunction daysBetween(baseDate, actualDate) {\n\tconst normalizedBaseDate = new Date(baseDate.getTime());\n\tnormalizedBaseDate.setHours(0, 0, 0);\n\tconst normalizedActualDate = new Date(actualDate.getTime());\n\tnormalizedActualDate.setHours(0, 0, 0);\n\n\tconst diff = normalizedBaseDate.getTime() - normalizedActualDate.getTime();\n\treturn (diff >= 0 || -1) * Math.round(Math.abs(diff / DAY));\n}\n\nfunction substitute(string, number, ago) {\n\treturn(number === undefined)\n\t\t? string\n\t\t: replace(ago, replace(string, number));\n}\n\nfunction replace(format, string) {\n\treturn format.replace(/%d/i, string);\n}\n\nconst getWordLiterals = (verbose) => {\n\treturn {\n\t\tago: t('%d ago'),\n\t\tfromNow: t('%d from now'),\n\t\tnext: t('this %d'),\n\t\tlast: t('last %d'),\n\t\tjustNow: t('just now'),\n\t\talmostNow: t('almost now'),\n\t\tseconds: t('less than a minute'),\n\t\tminute: verbose ? t('minute_verbose') : t('about a minute'),\n\t\tminutes: verbose ?  t('%d minutes_verbose') : t('%d minutes'),\n\t\thour: t('about an hour'),\n\t\thours: verbose ? t('about %d hours_verbose') : t('about %d hours'),\n\t\tday: t('about a day'),\n\t\tdays: verbose ? t('%d days_verbose') : t('%d days'),\n\t\tmonth: t('about a month'),\n\t\tmonths: verbose ? t('%d months_verbose') : t('%d months'),\n\t\tyear: t('about a year'),\n\t\tyears: verbose ? t('%d years_verbose') : t('%d years'),\n\t\ttoday: t('today'),\n\t\tyesterday: t('yesterday'),\n\t\ttomorrow: t('tomorrow'),\n\t\tnumbers: []\n\t}\n};","const INTERVAL = 30 * 1000;\n\nclass SnTimerService {\n\tconstructor() {\n\t\tthis._fnArray = [];\n\t}\n\n\tadd(fn) {\n\t\tif (!this._interval) {\n\t\t\tthis._interval = setInterval(() => this._fireEvents(), INTERVAL);\n\t\t}\n\n\t\tthis._fnArray.push(fn);\n\t\treturn this._remove.bind(this, fn);\n\t}\n\n\t_remove(fn) {\n\t\tconst index = this._fnArray.indexOf(fn);\n\t\tif (index >= 0) {\n\t\t\tthis._fnArray.splice(index, 1);\n\t\t}\n\t}\n\n\t_fireEvents() {\n\t\tthis._fnArray.forEach(fn => fn());\n\t}\n}\n\nconst snTimerService = new SnTimerService();\nexport default snTimerService;","import snDateTimeWordService from './SnDateTimeWordService';\nimport snTimerService from './SnTimerService';\nimport {t} from 'sn-translate';\nimport {preUserData, preUserPrefs} from 'sn-uxpage-presource';\n\nconst UNKNOWN = t('Unknown');\nconst NOP = () => {};\nconst isFunction = (v) => typeof v === 'function';\n\nconst DATE_FORMAT_KEY = 'glide.ui.date_format';\n\nexport default class SnTimeAgo {\n\tstatic getBehaviors() {\n\t\treturn [preUserData, preUserPrefs];\n\t}\n\n\tstatic _DEFAULT_OPTIONS = {\n\t\tsystemTime: false,\n\t\tdateOnly: false,\n\t\ttimeAgo: false,\n\t\tdateBoth: false\n\t};\n\n\t_incoming;\n\t_removeFn = NOP;\n\t_options = {};\n\n\n\t/**\n\t * Constructor\n\t *\n\t * @param props setup props, props.timestampLong holds the unix timestamp in milliseconds\n\t * (number of milliseconds between timestamp and the Unix Epoch )\n\t * @param timestamp the original timestamp (string)\n\t * @param options enforced options that will override the user preference\n\t */\n\tconstructor(props, timestamp, options) {\n\t\tthis._incoming = {\n\t\t\toptions: options,\n\t\t    timestamp: timestamp || UNKNOWN,\n\t\t    timestampLong: props.timestampLong,\n\t\t    timeAvailable: props.timestampLong || timestamp\n\t\t};\n\n\t\tthis.update();\n\t}\n\n\n\t/**\n\t * Used when the props for the behaviors have changed\n\t */\n\tupdate() {\n\t\tconst dateFormatObj = this.getDateFormat();\n\n\t\tthis._options = {...SnTimeAgo._DEFAULT_OPTIONS, ...dateFormatObj, ...this._incoming.options};\n\t\tthis._options.timeZoneOffset = preUserData && preUserData.initialState ? preUserData.initialState.timeZoneOffset || null : null;\n\t}\n\n\tgetDateFormat() {\t\n\t\tconst uxGlobalsDateFormat = window.ux_globals?.userPrefs?.[\"glide.ui.date_format\"];\n\t\tconst presourceDateFormat = preUserPrefs && preUserPrefs.initialState ? preUserPrefs.initialState.find(p => p.name === DATE_FORMAT_KEY) || {} : {};\n\n\t\tconst dateFormatString = uxGlobalsDateFormat || presourceDateFormat.value;\n\t\tconst dateFormatObj = SnTimeAgo._parseDateFormatPref(dateFormatString);\n\n\t\treturn dateFormatObj;\n\t}\n\n\t/** private */\n\tstatic _parseDateFormatPref(prefValue) {\n\t\tif (!prefValue) {\n\t\t\treturn {};\n\t\t}\n\n\t\tconst value = prefValue.replace(/([\\w]+)\\s*:/g, '\"$1\":');\n\t\ttry {\n\t\t\treturn JSON.parse(value);\n\t\t}\n\t\tcatch (unused) {\n\t\t\tconsole.warn('The format for \"glide.ui.date_format\" is not recognizable');\t// eslint-disable-line no-console\n\t\t\treturn {};\n\t\t}\n\t}\n\n\t/**\n\t * Sets the callback function for when the time ago has \"ticked\" or the props have changed\n\t *\n\t * @param updateFn the callback function\n\t * @returns the function to call when to remove the callback function\n\t */\n\tsetUpdateFn(updateFn) {\n\t\tthis.remove();\n\t\treturn this._removeFn = isFunction(updateFn)\n\t\t\t? snTimerService.add(() => updateFn(this.getTickTime()))\n\t\t\t: NOP;\n\t}\n\n\t/**\n\t * Removes the callback function\n\t */\n\tremove() {\n\t\tthis._removeFn();\n\t}\n\n\t/**\n\t * Gets the current \"tick\" information for the time ago\n\t *\n\t * - time: the value that should be displayed\n\t * - alternate: the alternate display, usually in a tooltip\n\t * - timestamp: the original timestamp(string)\n\t * - words: the elapsed time from the timestamp\n\t * - timestampLong: the unix timestamp in milliseconds\n\t * - timeAvailable: holds timestampLong if it is available else holds timestamp\n\t *\n\t * * @returns {{time: string, alternate: string, timestamp: string, words: string}}\n\t */\n\tgetTickTime() {\n\t\tconst {timestamp, timestampLong, timeAvailable}= this._incoming;\n\t\tconst {systemTime, timeZoneOffset, timeAgo, dateBoth, verbose = true} = this._options;\n\t\tconst date = snDateTimeWordService.parse(timeAvailable, timeZoneOffset, systemTime, timestampLong);\n\t\tconst words = date\n\t\t\t? snDateTimeWordService.getWords(date, verbose)\n\t\t\t: UNKNOWN;\n\n\t\tlet time;\n\t\tlet alternate;\n\n\t\tif (dateBoth) {\n\t\t\ttime = `${timestamp} (${words})`;\n\t\t} else if (timeAgo) {\n\t\t\talternate = timestamp;\n\t\t\ttime = words;\n\t\t} else {\n\t\t\talternate = words;\n\t\t\ttime = timestamp;\n\t\t}\n\n\t\treturn {\n\t\t\ttime,\n\t\t\talternate,\n\n\t\t\twords,\n\t\t\ttimestamp,\n\t\t};\n\t}\n}\n","import isEmpty from 'lodash/isEmpty';\n\n// Copied from condition builder commons. Did not want to pull in a new dependency since\n// condition builder commons also has other dependencies\n\n/**\n * Enum error levels\n * @readonly\n * @enum {string}\n */\nexport const errorLevelEnum = Object.freeze({\n\tFATAL: 'fatal',\n\tERROR: 'error',\n\tWARNING: 'warning',\n\tINFO: 'info',\n});\n\nclass LoggerBase {\n\tsink = console;\n\n\t/**\n\t * Logs fatal errors\n\t * @param {String} msg\n\t * @param  {...any} optionalParams\n\t */\n\tfatal = (msg, ...optionalParams) => {\n\t\tconst fatalMsg = `FATAL Error: ${msg}`;\n\t\tisEmpty(optionalParams)\n\t\t\t? this.sink.error(fatalMsg)\n\t\t\t: this.sink.error(fatalMsg, ...optionalParams);\n\t};\n\n\t/**\n\t * Logs Errors\n\t * @param {String} err\n\t * @param  {...any} optionalParams\n\t */\n\terror = (err, ...optionalParams) => {\n\t\tisEmpty(optionalParams)\n\t\t\t? this.sink.error(err)\n\t\t\t: this.sink.error(err, ...optionalParams);\n\t};\n\n\t/**\n\t * Logs warnings\n\t * @param {String} msg\n\t * @param  {...any} optionalParams\n\t */\n\twarning = (msg, ...optionalParams) => {\n\t\tisEmpty(optionalParams)\n\t\t\t? this.sink.warn(msg)\n\t\t\t: this.sink.warn(msg, ...optionalParams);\n\t};\n\n\t/**\n\t * Logs info messeges\n\t * @param {String} msg\n\t * @param  {...any} optionalParams\n\t */\n\tinfo = (msg, ...optionalParams) => {\n\t\tisEmpty(optionalParams)\n\t\t\t? this.sink.info(msg)\n\t\t\t: this.sink.info(msg, ...optionalParams);\n\t};\n\n\t/**\n\t * Logs according to severity\n\t * @param {String} msg\n\t * @param {errorLevelEnum} severity\n\t * @param  {...any} optionalParams\n\t */\n\tlog = (msg, severity, ...optionalParams) => {\n\t\tswitch (severity) {\n\t\t\tcase errorLevelEnum.FATAL:\n\t\t\t\tthis.fatal(msg, ...optionalParams);\n\t\t\t\tbreak;\n\t\t\tcase errorLevelEnum.ERROR:\n\t\t\t\tthis.error(msg, ...optionalParams);\n\t\t\t\tbreak;\n\t\t\tcase errorLevelEnum.WARNING:\n\t\t\t\tthis.warning(msg, ...optionalParams);\n\t\t\t\tbreak;\n\t\t\tcase errorLevelEnum.INFO:\n\t\t\tdefault:\n\t\t\t\tthis.info(msg, ...optionalParams);\n\t\t}\n\t};\n}\n\nconst logger = new LoggerBase();\n\nexport default logger;\n","export const NOW_BUTTON_BARE_CLICKED = 'NOW_BUTTON_BARE#CLICKED';\nexport const NOW_LIST_ACTIONABLE_MESSAGE_ACTION_CLICKED =\n\t'NOW_LIST#ACTIONABLE_MESSAGE_ACTION_CLICKED';\n\nexport const actionableMessageKey = 'actionableMessage';\n","import isEmpty from 'lodash/isEmpty';\n\nimport logger from '../../shared/utils/logger';\n\nimport {\n\tNOW_BUTTON_BARE_CLICKED,\n\tNOW_LIST_ACTIONABLE_MESSAGE_ACTION_CLICKED,\n\tactionableMessageKey,\n} from './constants';\n\n/* EFFECTS */\n/**\n * dispatched when a button in an actionable message is clicked.\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nconst actionableMessageLinkClickedHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload,\n\t\t\tpayload: { action, location, key },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (key === actionableMessageKey) {\n\t\tif (isEmpty(action)) {\n\t\t\tlogger.error(\n\t\t\t\t`No action to dispatch in the ${location} actionable message configuration.`\n\t\t\t);\n\t\t} else {\n\t\t\tdispatch(action, payload);\n\t\t\tdispatch(NOW_LIST_ACTIONABLE_MESSAGE_ACTION_CLICKED, payload);\n\t\t}\n\t}\n};\n\nconst actionableMessageBehavior = {\n\tname: 'actionableMessageBehavior',\n\n\t/**@type {ActionHandlers<Props,State>} */\n\tactionHandlers: {\n\t\t[NOW_BUTTON_BARE_CLICKED]: {\n\t\t\teffect: actionableMessageLinkClickedHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n\nexport default actionableMessageBehavior;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport styles from './ariaLiveRegion.scss';\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: { messages, politenessSetting, relevant },\n\t} = state;\n\tconst classes = 'sr-only';\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classes}\n\t\t\taria-live={politenessSetting}\n\t\t\taria-relevant={relevant}\n\t\t>\n\t\t\t{messages.map((message) => {\n\t\t\t\treturn <span>{message}</span>;\n\t\t\t})}\n\t\t</div>\n\t);\n};\n\ncreateCustomElement('sn-aria-live-region', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview,\n\t},\n\tproperties: {\n\t\tmessages: {\n\t\t\tdefault: [],\n\t\t},\n\t\tpolitenessSetting: {\n\t\t\tdefault: 'polite',\n\t\t},\n\t\trelevant: {\n\t\t\tdefault: 'additions',\n\t\t},\n\t},\n\tstyles,\n});\n","export const ARIA_LIVE_BEHAVIOR_NAME = 'ariaLive';\nexport const ARIA_MESSAGE_MAX = 5;\nexport const ARIA_LIVE_MESSAGE = 'ARIA_LIVE#MESSAGE';\nexport const ARIA_LIVE_CLEAR_MESSAGES = 'ARIA_LIVE#CLEAR_MESSAGES';\n","import '../../components/ariaLiveRegion/ariaLiveRegion';\nimport { actionTypes } from '@servicenow/ui-core';\n\nimport {\n\tARIA_LIVE_CLEAR_MESSAGES,\n\tARIA_LIVE_MESSAGE,\n\tARIA_MESSAGE_MAX,\n} from './constants';\n\nconst { COMPONENT_CONNECTED, COMPONENT_DISCONNECTED } = actionTypes;\n\nconst STATIC_ARIA_REGISTRY = new Map(); // Need access to size, behavior is setup to remove any lingering refs\n\nconst onConnect = ({\n\thost,\n\taction: {\n\t\tpayload: { options },\n\t},\n}) => {\n\tconst compId = host.getComponentId();\n\tconst el = document.createElement('sn-aria-live-region');\n\tlet maxMessages;\n\tif (options) {\n\t\tif (options.politenessSetting)\n\t\t\tel.politenessSetting = options.politenessSetting;\n\t\tif (options.relevant) el.relevant = options.relevant;\n\t\tif (options.maxMessages) maxMessages = options.maxMessages;\n\t}\n\n\tif (!maxMessages) maxMessages = ARIA_MESSAGE_MAX;\n\tdocument.body.appendChild(el);\n\tSTATIC_ARIA_REGISTRY.set(compId, {\n\t\thost,\n\t\tariaLiveReference: el,\n\t\tmaxMessages,\n\t});\n};\n\nconst onDisconnect = ({ host }) => {\n\tconst compId = host.getComponentId();\n\tconst compDetails = STATIC_ARIA_REGISTRY.get(compId);\n\tconst ariaLiveReference = compDetails.ariaLiveReference;\n\tariaLiveReference.remove();\n\tSTATIC_ARIA_REGISTRY.delete(compId);\n};\n\nconst liveMessageEffect = ({ host, action: { payload } }) => {\n\tconst compDetails = STATIC_ARIA_REGISTRY.get(host.getComponentId());\n\tif (!compDetails) return;\n\tconst { ariaLiveReference, maxMessages } = compDetails;\n\tif (!ariaLiveReference) return;\n\n\tconst { message } = payload;\n\tconst currentMessages = ariaLiveReference.getProperty('messages');\n\t// Ensure messages only contains latest ARIA_MESSAGE_MAX or maxMessages messages to save us from node spam\n\tariaLiveReference.messages.push(message);\n\tif (currentMessages.length > maxMessages)\n\t\tariaLiveReference.messages.shift();\n\tariaLiveReference.messages = [...ariaLiveReference.messages];\n};\n\nconst clearMessagesEffect = ({ host }) => {\n\tconst compDetails = STATIC_ARIA_REGISTRY.get(host.getComponentId());\n\tif (!compDetails) return;\n\tconst ariaLiveReference = compDetails.ariaLiveReference;\n\tariaLiveReference.messages = [];\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_CONNECTED]: onConnect,\n\t[COMPONENT_DISCONNECTED]: onDisconnect,\n\t[ARIA_LIVE_MESSAGE]: {\n\t\teffect: liveMessageEffect,\n\t\tstopPropagation: true,\n\t},\n\t[ARIA_LIVE_CLEAR_MESSAGES]: {\n\t\teffect: clearMessagesEffect,\n\t\tstopPropagation: true,\n\t},\n};\n","import { actionHandlers } from './actionHandlers';\nimport { ARIA_LIVE_BEHAVIOR_NAME } from './constants';\n\nexport const ariaLiveBehavior = {\n\tname: ARIA_LIVE_BEHAVIOR_NAME,\n\tactionHandlers,\n};\n\n/**\n * dispatch(\"ARIA_LIVE_MESSAGE\", {message: t('Your Live Message Here')});\n */\n","import { actionTypes } from '@servicenow/ui-core';\nimport get from 'lodash/get';\nimport isString from 'lodash/isString';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst hasInvalidUibProps = (uibProps, properties) =>\n\tuibProps.some((propName) => {\n\t\tconst prop = get(properties, propName, '');\n\t\treturn isString(prop) && prop.includes('@');\n\t});\n\nconst checkForInvalidUibProps = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\toptions: { configurableUibProps },\n\t\t\t},\n\t\t},\n\t\tupdateState,\n\t\tproperties,\n\t} = coeffects;\n\n\tupdateState({\n\t\thasUibConfigError: hasInvalidUibProps(configurableUibProps, properties),\n\t});\n};\n\nconst onBootstrap = (coeffects) => {\n\tconst {\n\t\tproperties: { workspaceConfigId },\n\t} = coeffects;\n\n\tif (!workspaceConfigId) checkForInvalidUibProps(coeffects);\n};\n\nconst onPropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tname,\n\t\t\t\toptions: { configurableUibProps },\n\t\t\t},\n\t\t},\n\t\tproperties: { workspaceConfigId },\n\t} = coeffects;\n\n\tif (!workspaceConfigId && configurableUibProps.includes(name))\n\t\tcheckForInvalidUibProps(coeffects);\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: onBootstrap,\n\t[COMPONENT_PROPERTY_CHANGED]: onPropertyChanged,\n};\n","export const UIB_BEHAVIOR_NAME = 'uiBuilder';\n","import { actionHandlers } from './actionHandlers';\nimport { UIB_BEHAVIOR_NAME } from './constants';\n\nexport const uibBehavior = {\n\tname: UIB_BEHAVIOR_NAME,\n\tinitialState: {\n\t\thasUibConfigError: false,\n\t},\n\tactionHandlers,\n};\n","import get from 'lodash/get';\n\nexport const getConfigurableUibProps = (json, path) =>\n\tget(json, path, [])\n\t\t.filter((prop) => !prop.readOnly)\n\t\t.map((prop) => prop.name);\n","import { actionTypes } from '@servicenow/ui-core';\nimport { isEmpty, isEqual } from 'lodash';\nconst { COMPONENT_CONNECTED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\nconst USER_PREF_APP_SHELL_STATE_CHANGE =\n\t'LIST_COMMONS#USER_PREF_APP_SHELL_STATE_CHANGED';\n\nconst transformUserPreferencesArray = (userPrefs = {}) => {\n\tconst userPrefsArray = Object.keys(userPrefs).map(function (key) {\n\t\treturn {\n\t\t\tname: key,\n\t\t\tvalue: userPrefs[key],\n\t\t};\n\t});\n\treturn userPrefsArray;\n};\n\nconst deepSearchElement = (selector, root = document.body) => {\n\tlet queue = [root];\n\twhile (queue.length > 0) {\n\t\tconst top = queue.shift();\n\t\tconst ele = top.querySelector(selector);\n\t\tif (ele) return ele;\n\n\t\tconst topShadow = top.shadowRoot;\n\t\tif (topShadow) queue.push(topShadow);\n\t\tconst allSearched = top.querySelectorAll('*');\n\t\tfor (let i = 0; i < allSearched.length; i++) {\n\t\t\tif (allSearched[i].shadowRoot)\n\t\t\t\tqueue.push(allSearched[i].shadowRoot);\n\t\t}\n\t}\n};\n\nconst getSelectableProp = (componentName, propName) => {\n\tconst snCanvasAppshellRoot = deepSearchElement(componentName);\n\tif (!snCanvasAppshellRoot) return {};\n\tconst componentId = snCanvasAppshellRoot.getAttribute('component-id');\n\n\treturn `@${componentId}/${propName}`;\n};\n\nconst onComponentConnected = (coeffects) => {\n\tconst { updateProperties } = coeffects;\n\n\tconst appShellRoute = getSelectableProp(\n\t\t'sn-canvas-appshell-root',\n\t\t'canvasSession'\n\t);\n\n\tupdateProperties({\n\t\tcanvasSession: appShellRoute,\n\t});\n};\n\nconst onPropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name },\n\t\t},\n\t} = coeffects;\n\n\tif (name === 'canvasSession') {\n\t\tconst {\n\t\t\tupdateState,\n\t\t\tstate: { userPreferencesAppShell, userRolesAppShell },\n\t\t\tproperties: {\n\t\t\t\tcanvasSession: { userPrefs, user = {} },\n\t\t\t},\n\t\t\tdispatch,\n\t\t} = coeffects;\n\n\t\tconst userRoles = user.roles;\n\t\tconst userPreferencesArray = transformUserPreferencesArray(userPrefs);\n\t\tlet stateUpdates = [];\n\t\tif (!isEqual(userPreferencesAppShell, userPreferencesArray)) {\n\t\t\tdispatch(USER_PREF_APP_SHELL_STATE_CHANGE);\n\t\t\tstateUpdates.push({\n\t\t\t\toperation: 'set',\n\t\t\t\tpath: 'userPreferencesAppShell',\n\t\t\t\tvalue: userPreferencesArray,\n\t\t\t});\n\t\t}\n\t\tif (!isEqual(userRolesAppShell, userRoles)) {\n\t\t\tstateUpdates.push({\n\t\t\t\toperation: 'set',\n\t\t\t\tpath: 'userRolesAppShell',\n\t\t\t\tvalue: userRoles,\n\t\t\t});\n\t\t}\n\t\tif (!isEmpty(stateUpdates)) {\n\t\t\tupdateState(stateUpdates);\n\t\t}\n\t}\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_CONNECTED]: onComponentConnected,\n\t[COMPONENT_PROPERTY_CHANGED]: onPropertyChanged,\n};\n","import { actionHandlers } from './actionHandlers';\n\nexport const sessionUserPreferencesBehavior = {\n\tname: 'SESSION_USER_PREF_BEHAVIOR',\n\tstate: {\n\t\tuserPreferencesAppShell: { default: [] },\n\t\tuserRolesAppShell: { default: [] },\n\t},\n\tproperties: {\n\t\tcanvasSession: { default: {} },\n\t},\n\tactionHandlers: actionHandlers,\n};\n","/**\n * Factory function for logging.\n */\nconst LOG_STATUS_KEY = '__RECORD_LIST_LOG_LEVEL';\n\nconst LOG_LEVEL = {\n\tLOG_LEVEL_ALL: 0,\n\tLOG_LEVEL_DEBUG: 1,\n\tLOG_LEVEL_LOG: 2,\n\tLOG_LEVEL_INFO: 2,\n\tLOG_LEVEL_WARN: 3,\n\tLOG_LEVEL_ERROR: 4,\n};\nconst {\n\tLOG_LEVEL_ALL,\n\tLOG_LEVEL_DEBUG,\n\tLOG_LEVEL_LOG,\n\tLOG_LEVEL_INFO,\n\tLOG_LEVEL_WARN,\n\tLOG_LEVEL_ERROR,\n} = LOG_LEVEL;\n\nexport const Logger = () => {\n\t// set default logging level\n\tif (typeof window[LOG_STATUS_KEY] === 'undefined') {\n\t\twindow[LOG_STATUS_KEY] = LOG_LEVEL_ERROR;\n\t}\n\n\t/**\n\t * Simple logging utilty to include context\n\t * @usage Logger().enable();\n\t *\n\t * @param logLevel\n\t */\n\tconst enable = (logLevel = LOG_LEVEL_ALL) => {\n\t\tswitch (logLevel) {\n\t\t\tdefault:\n\t\t\t\tlogLevel = LOG_LEVEL_ERROR;\n\t\t\t// falls through\n\t\t\tcase LOG_LEVEL_ALL:\n\t\t\tcase LOG_LEVEL_DEBUG:\n\t\t\tcase LOG_LEVEL_LOG:\n\t\t\tcase LOG_LEVEL_INFO:\n\t\t\tcase LOG_LEVEL_WARN:\n\t\t\tcase LOG_LEVEL_ERROR:\n\t\t\t\twindow[LOG_STATUS_KEY] = logLevel;\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\t/**\n\t * @usage Logger().disable();\n\t */\n\tconst disable = () => {\n\t\twindow[LOG_STATUS_KEY] = LOG_LEVEL_ERROR;\n\t};\n\n\t/**\n\t * @usage const LOG = Logger().createLog('ComponentName');\n\t *\n\t * @param name\n\t * @return {{log, debug, warn, error}}\n\t */\n\tconst createLog = (name) => {\n\t\tconst _log = (type, level, args) => {\n\t\t\tif (level < window[LOG_STATUS_KEY]) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\targs = Array.prototype.splice.call(args, 0);\n\t\t\targs.unshift(`(${name})`);\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole[type].apply(console, args);\n\t\t};\n\n\t\treturn {\n\t\t\tdebug: function () {\n\t\t\t\t_log('debug', LOG_LEVEL_DEBUG, arguments);\n\t\t\t},\n\t\t\tlog: function () {\n\t\t\t\t_log('log', LOG_LEVEL_LOG, arguments);\n\t\t\t},\n\t\t\tinfo: function () {\n\t\t\t\t_log('info', LOG_LEVEL_INFO, arguments);\n\t\t\t},\n\t\t\twarn: function () {\n\t\t\t\t_log('warn', LOG_LEVEL_WARN, arguments);\n\t\t\t},\n\t\t\terror: function () {\n\t\t\t\t_log('error', LOG_LEVEL_ERROR, arguments);\n\t\t\t},\n\t\t};\n\t};\n\n\treturn { enable, disable, createLog };\n};\n","export const INTERSECTION_OBSERVER_NAME = 'intersectionObserverBehavior';\n\nexport const OBSERVE_ELEMENT = 'INTERSECTION_BEHAVIOR#OBSERVE_ELEMENT';\nexport const UNOBSERVE_ELEMENT = 'INTERSECTION_BEHAVIOR#UNOBSERVE_ELEMENT';\nexport const REGISTER_INTERSECTION_OBSERVER = 'INTERSECTION_BEHAVIOR#REGISTER';\nexport const UNREGISTER_INTERSECTION_OBSERVER =\n\t'INTERSECTION_OBSERVER#UNREGISTER';\n\n/**\n * HOOK NAMES\n */\nexport const HOOK_INSERT = 'hook-insert';\nexport const HOOK_DESTROY = 'hook-destroy';\nexport const HOOK_INIT = 'hook-init';\n/**\n * PATHS\n */\n\n/**\n * Path of options in action payload\n */\nexport const PAYLOAD_OPTIONS_PATH = 'payload.options';\n\n/**\n * Path of intersectionObserver object in state\n */\nexport const INTERSECTION_OBSERVER_STATE_PATH = `behaviors.${INTERSECTION_OBSERVER_NAME}.intersectionObserver`;\n\n/**\n * NOW MODES\n */\nexport const NOW_MODE_ACTIVE = 'active';\nexport const NOW_MODE_SUSPEND = 'suspend';\nexport const NOW_MODE_DETACH = 'detach';\n\n/**\n * DEFAULTS\n */\nexport const DEFAULT_ROOT_SELECTOR = '[data-id=scrollContainer]';\nexport const DEFAULT_ROOT_MARGIN = '100px 100px 100px 100px';\nexport const DEFAULT_THRESHOLD = 1.0;\nexport const DEFAULT_DEBOUNCE_DELAY = 50;\n","import { get as fpGet, getOr } from 'lodash/fp';\n\nimport {\n\tDEFAULT_DEBOUNCE_DELAY,\n\tDEFAULT_ROOT_MARGIN,\n\tDEFAULT_ROOT_SELECTOR,\n\tDEFAULT_THRESHOLD,\n\tINTERSECTION_OBSERVER_STATE_PATH,\n\tPAYLOAD_OPTIONS_PATH,\n} from './constants';\n/**\n * Selectors\n */\n\n/**\n * This selector function returns the intersection observer object stored in state\n * @param {object} state\n * @returns {object} IntersectionObserver that was initialized\n */\nexport const getIntersectionObserver = fpGet(INTERSECTION_OBSERVER_STATE_PATH);\n\n/**\n * This selector function returns the options object that were passed in on behavior initialization\n * @param {object} action\n * @returns {object}\n */\nexport const getOptions = fpGet(PAYLOAD_OPTIONS_PATH);\n\n/**\n * This selector function returns the selector string to use to get the root element that the\n * intersection observer should be applied to. For more info on intersection observer options,\n * please visit https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n * @param {object} action\n * @returns {string}\n */\nexport const getRootElementSelector = getOr(\n\tDEFAULT_ROOT_SELECTOR,\n\t`${PAYLOAD_OPTIONS_PATH}.rootElementSelector`\n);\n/**\n * This selector function returns the root margin that the\n * intersection observer should be applied to. For more info on intersectionObserver options\n * please visit https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n * @param {object} action\n * @returns {string}\n */\nexport const getRootMargin = getOr(\n\tDEFAULT_ROOT_MARGIN,\n\t`${PAYLOAD_OPTIONS_PATH}.rootMargin`\n);\n\n/**\n * This selector function returns the threshold to use for the intersection observer. For more info\n * on intersection observer options, please visit https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n * @param {object} action\n * @returns {number}\n */\nexport const getThreshold = getOr(\n\tDEFAULT_THRESHOLD,\n\t`${PAYLOAD_OPTIONS_PATH}.threshold`\n);\n\n/**\n * This selector function returns the debounce value in milliseconds to use when collating observe and unobserve actions\n * @param {object} action\n * @returns {string}\n */\nexport const getDebounceDelay = getOr(DEFAULT_DEBOUNCE_DELAY, `debounceDelay`);\n\n/**\n * This selector function returns a boolean whether to toggle defer attribute on to the component, or toggle component modes.\n * @param {object} action\n * @returns {string}\n */\nexport const getUseDefer = getOr(false, `${PAYLOAD_OPTIONS_PATH}.useDefer`);\n\n/**\n * This selector function returns the element configuration in options.elementIdentifier. The id is associated with the OBSERVE_ELEMENT\n * action dispatch and is used to retrieve element configuration which includes intersect and initial styles.\n * @param {string} id\n * @param {object} action\n * @returns {object} element configuration\n */\nexport const getElementConfig = (id) =>\n\tfpGet(`${PAYLOAD_OPTIONS_PATH}.elementIdentifier[${id}]`);\n\n/**\n * This selector function returns a boolean that determines if the component mode should be set to suspend\n * when the element is no longer intersecting and the component mode is active. Will return true by default if should\n * suspend is not found\n * @param {object} action\n * @returns {boolean}\n */\nexport const getShouldSuspend = getOr(\n\ttrue,\n\t`${PAYLOAD_OPTIONS_PATH}.shouldSuspend`\n);\n\n/**\n * This selector function returns a boolean that determines if the element should no longer be observed once intersected for the first time\n * @param {object} action\n * @returns {boolean}\n */\nexport const getShouldUnobserveElement = getOr(\n\tfalse,\n\t`${PAYLOAD_OPTIONS_PATH}.unobserveOnIntersect`\n);\n","import { actionTypes } from '@servicenow/ui-core';\n\nimport { Logger } from '../../utils/logger';\n\nimport {\n\tHOOK_DESTROY,\n\tHOOK_INIT,\n\tHOOK_INSERT,\n\tINTERSECTION_OBSERVER_NAME,\n\tINTERSECTION_OBSERVER_STATE_PATH,\n\tNOW_MODE_ACTIVE,\n\tNOW_MODE_DETACH,\n\tNOW_MODE_SUSPEND,\n\tOBSERVE_ELEMENT,\n\tREGISTER_INTERSECTION_OBSERVER,\n\tUNOBSERVE_ELEMENT,\n\tUNREGISTER_INTERSECTION_OBSERVER,\n} from './constants';\nimport {\n\tgetDebounceDelay,\n\tgetElementConfig,\n\tgetIntersectionObserver,\n\tgetRootElementSelector,\n\tgetRootMargin,\n\tgetShouldSuspend,\n\tgetShouldUnobserveElement,\n\tgetThreshold,\n\tgetUseDefer,\n} from './selectors';\n\nconst { COMPONENT_DOM_READY, COMPONENT_DISCONNECTED } = actionTypes;\n\nconst LOG = Logger().createLog(INTERSECTION_OBSERVER_NAME);\n\n/**\n * Helper function to create element hooks that will be used to observe/unobserve elements\n * @param {*} dispatch\n * @param {string} id Id that corresponds to elementIdentifier config in options\n * @param {boolean} useDefer boolean to determine if component mode should be set or defer tag should be used\n * @returns\n */\nexport const createElementObservationProps = (\n\tdispatch,\n\tid,\n\tuseDefer = false\n) => ({\n\t...(useDefer && { defer: true }),\n\t...(!useDefer && { nowMode: NOW_MODE_DETACH }),\n\t/**\n\t * Hook that is used to observe element. Should only be used on component elements.\n\t * Will set component mode to detach and dispatch to observe element in intersection observer\n\t * @param {*} vnode\n\t */\n\t[HOOK_INSERT]: (vnode) => {\n\t\tif (!vnode.elm) return;\n\n\t\tif (useDefer) {\n\t\t\tvnode.elm.observe = () => {\n\t\t\t\tvnode.elm.defer = false;\n\t\t\t};\n\t\t} else {\n\t\t\tvnode.elm.observe = () => {\n\t\t\t\tvnode.elm.nowMode = NOW_MODE_ACTIVE;\n\t\t\t};\n\t\t}\n\n\t\tdispatch(OBSERVE_ELEMENT, { vnode, id });\n\t},\n\n\t/**\n\t * Hook that is used to unobserve element. Will dispatch to behavior when element is removed.\n\t * @param {*} vnode\n\t */\n\t[HOOK_DESTROY]: (vnode) => {\n\t\tif (!vnode.elm) return;\n\n\t\tdispatch(UNOBSERVE_ELEMENT, { vnode });\n\t},\n});\n\n/**\n * Helper function to create element hooks that will be used to register root element and set up and tear down intersection observer\n * @param {*} dispatch\n * @returns {object}\n */\nexport const createRootElementHooks = (dispatch) => ({\n\t/**\n\t * Init hook that will dispatch register action for root element and setup intersection observer\n\t * @param {*} vnode\n\t */\n\t[HOOK_INIT]: (vnode) => {\n\t\tdispatch(REGISTER_INTERSECTION_OBSERVER, { vnode });\n\t},\n\n\t/**\n\t * Remove hook that will dispatch action to tear down intersection observer and remove from state\n\t */\n\t[HOOK_DESTROY]: () => {\n\t\tdispatch(UNREGISTER_INTERSECTION_OBSERVER);\n\t},\n});\n\n/**\n * This wrapper will return the callback to be used in the intersection observer\n * @param {boolean} shouldSuspend\n * @param {boolean} shouldUnobserveElement\n * @param {boolean} useDefer\n * @returns {*} callback function\n */\nexport const intersectionCallBack = (\n\tshouldSuspend,\n\tshouldUnobserveElement,\n\tuseDefer\n) =>\n\t/**\n\t * This callback function will get called when observed elements intersect the root element defined in the IntersectionObserver\n\t * setup. Using options that are passed into the component, this function will set the appropriate styles and component modes\n\t * @param {Array<object>} entry\n\t * @param {*} observer\n\t */\n\t(entries, observer) =>\n\t\tentries.forEach((entry) => {\n\t\t\tconst { isIntersecting, target: element } = entry;\n\t\t\tconst unDefer = useDefer && element.defer;\n\n\t\t\tif (\n\t\t\t\tisIntersecting &&\n\t\t\t\t(element.nowMode !== NOW_MODE_ACTIVE || unDefer)\n\t\t\t) {\n\t\t\t\tconst intersectClass = element.dataset.intersectClass;\n\t\t\t\tconst initialClass = element.dataset.initialClass;\n\n\t\t\t\tif (initialClass && element.classList.contains(initialClass))\n\t\t\t\t\telement.classList.remove(initialClass);\n\n\t\t\t\tif (\n\t\t\t\t\tintersectClass &&\n\t\t\t\t\t!element.classList.contains(intersectClass)\n\t\t\t\t)\n\t\t\t\t\telement.classList.add(intersectClass);\n\n\t\t\t\tif (unDefer) {\n\t\t\t\t\telement.defer = false;\n\t\t\t\t} else {\n\t\t\t\t\telement.nowMode = NOW_MODE_ACTIVE;\n\t\t\t\t}\n\n\t\t\t\tif (shouldUnobserveElement) observer.unobserve(element);\n\t\t\t} else if (\n\t\t\t\telement.nowMode == NOW_MODE_ACTIVE &&\n\t\t\t\tshouldSuspend &&\n\t\t\t\t!useDefer\n\t\t\t) {\n\t\t\t\telement.nowMode = NOW_MODE_SUSPEND;\n\t\t\t}\n\t\t});\n\n/**\n * This effect is used to set up the IntersectionObserver with the defined options. This can be set up either on component dom ready\n * or opt in via dispatching of REGISTER_INTERSECTION_OBSERVER action with element. If rootElement is found either via selector or\n * payload, an IntersectionObserver instance will be created and stored in state.\n * @param {*} coeffects\n * @returns\n */\nexport const setupIntersectionObserverEffect = (coeffects) => {\n\tconst { updateState, host, action } = coeffects;\n\tconst {\n\t\tpayload: { vnode },\n\t} = action;\n\n\tconst rootElementSelector = getRootElementSelector(action);\n\tconst rootElementWithSelector = host.shadowRoot.querySelector(\n\t\trootElementSelector\n\t);\n\tconst rootElement = rootElementWithSelector || vnode?.elm;\n\n\tif (!rootElement) {\n\t\tLOG.warn(\n\t\t\t'Could not find root element. Skipping intersection observer setup'\n\t\t);\n\t\treturn;\n\t}\n\n\tconst shouldSuspend = getShouldSuspend(action);\n\tconst shouldUnobserveElement = getShouldUnobserveElement(action);\n\tconst useDefer = getUseDefer(action);\n\n\tconst intersectionObserver = new IntersectionObserver(\n\t\tintersectionCallBack(shouldSuspend, shouldUnobserveElement, useDefer),\n\t\t{\n\t\t\troot: rootElement,\n\t\t\trootMargin: getRootMargin(action),\n\t\t\tthreshold: getThreshold(action),\n\t\t}\n\t);\n\n\tLOG.log('Intersection Observer successfully created');\n\n\tupdateState({\n\t\tpath: INTERSECTION_OBSERVER_STATE_PATH,\n\t\toperation: 'set',\n\t\tvalue: intersectionObserver,\n\t\tshouldRender: false,\n\t});\n};\n\n/**\n * This effect is used to disconnect the intersection observer (stop observing all elements) and remove the instnace from state.\n * This will be called on disconnect or opt in if the element is removed. Use hooks defined above on root element to handle element removal\n * @param {*} coeffects\n */\nexport const unregisterIntersectionObserverEffect = (coeffects) => {\n\tconst { state, updateState } = coeffects;\n\n\tconst intersectionObserver = getIntersectionObserver(state);\n\n\tif (intersectionObserver) {\n\t\tintersectionObserver.disconnect();\n\t}\n\n\tupdateState({\n\t\tpath: INTERSECTION_OBSERVER_STATE_PATH,\n\t\tvalue: undefined,\n\t\toperation: 'set',\n\t\tshouldRender: false,\n\t});\n};\n\n/**\n * This effect handles observing of elements. By default this effect will be collated and debounced so as to handle all\n * observation requests at the same time vs n number of actions. If the IntersectionObserver exists, this effect will\n * add the element to be observed and apply the initial styles defined in the elementIdentifier options passed in. If no styles\n * are found, element will still be observed with no changes to styles.\n * @param {*} coeffects\n * @returns\n */\nexport const observeElementEffect = (coeffects) => {\n\tconst { collated, state } = coeffects;\n\n\tconst intersectionObserver = getIntersectionObserver(state);\n\tif (!intersectionObserver) {\n\t\tLOG.warn(\n\t\t\t'No intersection observer in state, ignoring element observe requests'\n\t\t);\n\t\treturn;\n\t}\n\n\tcollated.forEach((collatedItem) => {\n\t\tconst {\n\t\t\taction: {\n\t\t\t\tpayload: { vnode, id },\n\t\t\t},\n\t\t\taction,\n\t\t} = collatedItem;\n\n\t\tif (!vnode || !vnode?.elm) {\n\t\t\tLOG.warn('Skipping node for observation');\n\t\t\treturn;\n\t\t}\n\n\t\tconst { elm: element } = vnode;\n\n\t\tconst elementConfig = getElementConfig(id)(action);\n\n\t\tif (elementConfig) {\n\t\t\tconst { initialClass, intersectClass } = elementConfig;\n\t\t\telement.dataset.initialClass = initialClass || '';\n\t\t\telement.dataset.intersectClass = intersectClass || '';\n\n\t\t\tif (initialClass && !element.classList.contains(initialClass)) {\n\t\t\t\telement.classList.add(initialClass);\n\t\t\t}\n\t\t}\n\n\t\tintersectionObserver.observe(vnode.elm);\n\t});\n};\n\n/**\n * This effect handles unobserving of elements. By default this effect will be collated and debounced so as to handle all\n * unobservation requests at the same time vs n number of actions. If the IntersectionObserver exists, this effect will\n * call unobserve on the element. This is used in cases where the element is removed from the dom and we no longer want to observe\n * the element\n * @param {*} coeffects\n */\nexport const unobserveElementEffect = (coeffects) => {\n\tconst { state, collated } = coeffects;\n\n\tconst intersectionObserver = getIntersectionObserver(state);\n\n\tcollated.forEach((collatedItem) => {\n\t\tconst {\n\t\t\taction: {\n\t\t\t\tpayload: { vnode },\n\t\t\t},\n\t\t} = collatedItem;\n\n\t\tif (!vnode || !vnode?.elm) {\n\t\t\tLOG.warn('Skipping node for unobservation');\n\t\t\treturn;\n\t\t}\n\n\t\tintersectionObserver.unobserve(vnode.elm);\n\t});\n};\n\n/**\n * This helper function creates the action handlers for the component with the specified delay in options (for observation effects)\n * @param {number} delay\n * @returns\n */\nexport const createIntersectionObserverBehaviorActionHandlers = (delay) => ({\n\t[COMPONENT_DOM_READY]: {\n\t\teffect: setupIntersectionObserverEffect,\n\t},\n\t[REGISTER_INTERSECTION_OBSERVER]: {\n\t\teffect: setupIntersectionObserverEffect,\n\t\tstopPropagation: true,\n\t},\n\t[COMPONENT_DISCONNECTED]: {\n\t\teffect: unregisterIntersectionObserverEffect,\n\t},\n\t[UNREGISTER_INTERSECTION_OBSERVER]: {\n\t\teffect: unregisterIntersectionObserverEffect,\n\t\tstopPropagation: true,\n\t},\n\t[OBSERVE_ELEMENT]: {\n\t\teffect: observeElementEffect,\n\t\tmodifier: { name: 'debounce', collate: true, delay },\n\t\tstopPropagation: true,\n\t},\n\t[UNOBSERVE_ELEMENT]: {\n\t\teffect: unobserveElementEffect,\n\t\tmodifier: { name: 'debounce', collate: true, delay },\n\t\tstopPropagation: true,\n\t},\n});\n\n/**\n * Helper function used to create behavior object with options passed in.\n * @param {object} options\n * @returns {object} behavior definition\n */\nexport const createIntersectionObserver = (options) => {\n\treturn {\n\t\tbehavior: {\n\t\t\tname: INTERSECTION_OBSERVER_NAME,\n\t\t\tactionHandlers: createIntersectionObserverBehaviorActionHandlers(\n\t\t\t\tgetDebounceDelay(options)\n\t\t\t),\n\t\t},\n\t\toptions,\n\t};\n};\n","import flatten from 'lodash/flatten';\nimport isBoolean from 'lodash/isBoolean';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { Logger } from './logger';\n\n// -----------------------------------------------------------------------------\n// Constants\n// -----------------------------------------------------------------------------\n\n// Selectors to get common tabbable elements.\nexport const selector = [\n\t'input',\n\t'select',\n\t'textarea',\n\t'a[href]',\n\t'a[target=\"_blank\"]',\n\t'button',\n\t'[tabindex]',\n\t'audio[controls]',\n\t'video[controls]',\n\t'[component-id]',\n\t'[contenteditable]:not([contenteditable=\"false\"])',\n\t'now-table-checkbox',\n].join();\n\n// -----------------------------------------------------------------------------\n// Shadow Dom Focus Utilities\n// -----------------------------------------------------------------------------\n\n/**\n * Finds the first tabbable element in an element or component.\n * @param  {Node} root root node\n * @return {Node} first tabbable element inside a root\n */\nexport const findFirstTabbableElement = (root = document) => {\n\treturn findTabbableElement(true, root);\n};\n\n/**\n * Finds the last tabbable element in an element or component.\n * @param  {Node} root root node\n * @return {Node} last tabbable element inside a root\n */\nexport const findLastTabbableElement = (root = document) => {\n\treturn findTabbableElement(false, root);\n};\n\n/**\n * Finds the first or last tabbable element in an element or component.\n * @param  {Boolean} findFirst flag to return first or last tabbable element\n * @param  {Node} root root node\n * @return {Node} first or last tabbable element inside a root\n */\nexport const findTabbableElement = (findFirst = true, root = document) => {\n\tif (!root) return false;\n\n\tif (root.shadowRoot) root = root.shadowRoot;\n\n\tlet tabbies = [...root.querySelectorAll(selector)];\n\tif (!findFirst) tabbies = tabbies.reverse();\n\n\tlet index = 0;\n\tlet result = undefined;\n\n\t// TODO: Maybe change code style here\n\twhile (!result && index < tabbies.length) {\n\t\tconst tabby = tabbies[index++];\n\t\tconst possibleResult = tabby.shadowRoot\n\t\t\t? findTabbableElement(findFirst, tabby.shadowRoot)\n\t\t\t: tabby;\n\t\tif (possibleResult && isTabbable(possibleResult))\n\t\t\tresult = possibleResult;\n\t}\n\treturn result;\n};\n\n/**\n * Determines if an element is tabbable based on criteria that can't be done\n * @param  {Node} node node\n * @return {Boolean} returns true if input node is tabbable\n */\nexport const isTabbable = (node) => {\n\tif (\n\t\t!node ||\n\t\tnode.disabled ||\n\t\tnode.offsetParent === null ||\n\t\tgetComputedStyle(node).visibility === 'hidden' ||\n\t\t(node.tagName === 'INPUT' && node.type === 'hidden') ||\n\t\tgetTabIndex(node) === -1\n\t)\n\t\treturn false;\n\n\treturn true;\n};\n\n/**\n * Gets the numeric tab index of an element.\n * @param  {Node} node node\n * @return {Number} returns the numeric tab index of an element.\n */\nexport const getTabIndex = (node) => {\n\tconst tabIndex = parseInt(node.getAttribute('tabindex'), 10);\n\tif (!isNaN(tabIndex)) return tabIndex;\n\treturn node.contentEditable === 'true' ? 0 : node.tabIndex;\n};\n\n/**\n * Finds all the tabbable elements in an element or component.\n * @param  {Node} root root node\n * @return {Array<Node>} returns the array of all tabbable elements\n */\nexport const findAllTabbableElements = (root = document) => {\n\tif (!root) return [];\n\n\tif (root.shadowRoot) root = root.shadowRoot;\n\tconst tabbies = root.querySelectorAll(selector);\n\tlet expandedTabbies = [];\n\ttabbies.forEach((tabby) => {\n\t\tif (!tabby.shadowRoot && isTabbable(tabby)) {\n\t\t\texpandedTabbies.push(tabby);\n\t\t} else {\n\t\t\texpandedTabbies.push(findAllTabbableElements(tabby));\n\t\t}\n\t});\n\treturn flatten(expandedTabbies);\n};\n\n/**\n *  Finds all elements across shadow roots\n * @param  {Node} root root node\n * @param  {String} selector selector\n * @return {Array<Node>} returns the array of all elements across shadow roots\n */\nexport const shadowQuerySelectorAll = (root = document, selector) => {\n\tif (!selector) return [];\n\n\tif (root.shadowRoot) root = root.shadowRoot;\n\tconst nodes = root.querySelectorAll(selector);\n\tlet expandedNodes = [];\n\tnodes.forEach((node) => {\n\t\tif (!node.shadowRoot) {\n\t\t\texpandedNodes.push(node);\n\t\t} else {\n\t\t\texpandedNodes.push(shadowQuerySelectorAll(node, selector));\n\t\t}\n\t});\n\treturn flatten(expandedNodes);\n};\n\n/**\n * Finds the active element of the page.\n * @param  {Node} root root node\n * @return {Node} returns the active element on the page\n */\nexport const findActiveElement = (root = document) => {\n\tconst activeElement = root.activeElement;\n\tif (activeElement && activeElement.shadowRoot) {\n\t\treturn findActiveElement(activeElement.shadowRoot) || activeElement;\n\t}\n\treturn activeElement;\n};\n\n/**\n * Determines if an element is or contains the active element.\n * @param  {Node} node node\n * @param  {Node} root root node\n * @return {Boolean} returns true if element contains active element\n */\nexport const elementHasActiveElement = (node, root = document) => {\n\t/* WARNING: Possible issue in IE11, appears to give false positives at times.\n\t * As of now-record-list@8.0.21 this function is not in active use, and the\n\t * only function that might call it (focusWithinClassManager) will not get to\n\t * call it as currently used (see GridHeaderRowCell and GridRowCell).\n\t */\n\n\tconst activeElement = root.activeElement;\n\tif (!activeElement) return false;\n\n\tif (node == activeElement || node.contains(activeElement)) return true;\n\n\tif (activeElement.shadowRoot)\n\t\treturn elementHasActiveElement(node, activeElement.shadowRoot);\n\n\treturn false;\n};\n\n/**\n * Adds a CSS class to the container element if either focusIsWithin is true\n * or focusIsWithin is undefined and elementHasActiveElement returns true.\n * Removes that CSS class if focusIsWithin is false or focusIsWithin is\n * undefined and elementHasActiveElement returns false.\n * @param  {Node} container node\n * @param  {String} className class name\n * @param  {Boolean} focusIsWithin\n * @return {Boolean}\n */\nexport const focusWithinClassManager = (\n\tcontainer,\n\tclassName,\n\tfocusIsWithin\n) => {\n\tif (!container || !className) return false;\n\n\tconst addClass = isBoolean(focusIsWithin)\n\t\t? focusIsWithin\n\t\t: elementHasActiveElement(container);\n\n\tif (addClass) container.classList.add(className);\n\telse container.classList.remove(className);\n\n\treturn true;\n};\n\n// -----------------------------------------------------------------------------\n// Element Retainer: Remembers elements for manipulation\n// -----------------------------------------------------------------------------\n\nconst elementRetainer = new Map();\n\n/**\n * Sets an element to later return focus to. Returns true on successfully\n * setting the element. Returns false if no active element is given/found,\n * or if the attempt to set fails.\n * @param  {String} key\n * @param  {Node} node node\n * @return {Boolean} Returns true on successfully setting the element.\n */\nexport const addRetainedElement = (key, node = findActiveElement()) => {\n\tif (!node) return false;\n\treturn elementRetainer.set(key, node);\n};\n\n/**\n *  Focuses on a previously stored element and removes it from storage.\n *  Returns true on successfully focusing on the element and deleting the\n *  entry. Returns false if no element was found or deletion failed.\n * @param  {String} key\n * @return {Boolean} Returns true on successfully focusing on the element and deleting the entry.\n */\nexport const removeRetainedElement = (key) => {\n\treturn elementRetainer.delete(key);\n};\n\n/**\n * Removes the previously stored element without focusing on it.\n * Sets the current active element as the new stored element. Returns the\n * result of addRetainedElement.\n * @param  {String} key\n * @param  {Node} node\n * @return {Boolean} Returns the result of addRetainedElement.\n */\nexport const updateRetainedElement = (key, node = findActiveElement()) => {\n\tremoveRetainedElement(key);\n\treturn addRetainedElement(key, node);\n};\n\n/**\n * Focuses on a previously stored element and removes it from storage.\n * Returns true on successfully focusing on the element and deleting the\n * entry. Returns false if no element was found or deletion failed.\n * @param  {String} key\n * @return {Boolean} Returns true on successfully focusing on the element and deleting the entry\n */\nexport const getAndClearRetainedFocus = (key) => {\n\tconst focusThis = elementRetainer.get(key);\n\tif (!focusThis) return false;\n\tfocusThis.focus();\n\treturn elementRetainer.delete(key);\n};\n\n/**\n * Resets scroll on a previously stored element.\n * Can scroll to top or to the bottom, based on scrollToBottom\n * Returns true on successfully finding scroll on the element\n * Returns false if no element was found.\n * @param {String} key\n * @param {Boolean} scrollToBottom Scrolls to bottom if truthy, scrolls to top otherwise\n * @return {Boolean} Returns true on successfully finding scroll on the element\n */\nexport const getAndResetRetainedScroll = (key, scrollToBottom) => {\n\tconst element = elementRetainer.get(key);\n\treturn resetScroll(element, scrollToBottom);\n};\n\nexport const resetScroll = (element, scrollToBottom) => {\n\tif (!element) return false;\n\n\tif (scrollToBottom) {\n\t\telement.scrollTop = element.firstChild.scrollHeight;\n\t\telement.scrollLeft = 0;\n\t\treturn true;\n\t} else {\n\t\telement.scrollTop = 0;\n\t\telement.scrollLeft = 0;\n\t\treturn true;\n\t}\n};\n\n// -----------------------------------------------------------------------------\n// Focus Trap: Keeps the user from tabbing out of an element.\n// -----------------------------------------------------------------------------\n\nconst focusTrap = new Map();\n\nconst defaultConfig = {\n\tclickOutsideDeactivates: false, // for future\n\tmoveFocusInsideTrap: true,\n\tfirstElement: null,\n\tlastElement: null,\n};\n\n/**\n * Initalizes a simple focus trap. Returns true on successful initialization\n * of the trap. Returns false if no tabbable elements are found in node or\n * storing the entry fails. Deactivates an existing focus trap if one already\n * exists for the given id. Moves focus to the first tabby by default. Sets\n * keydown event listeners on the first and last tabbies. When tab is pressed\n * on the first Tabby element, it moves focus to the last Tabby element. When\n * shift tab is pressed on the last it focuses the first.\n * The config object can be given the elements to set as the first and last\n * tabbies.\n * @param {String} id\n * @param {Node} node\n * @param {Object} config\n * @return {Boolean} Returns true on successful initialization of the trap\n */\nexport const activateFocusTrap = (id, node, config = {}) => {\n\tdeactivateFocusTrap(id);\n\tconfig = { ...defaultConfig, ...config };\n\tconst { moveFocusInsideTrap, firstElement, lastElement } = config;\n\tconst LOG = Logger().createLog('focusUtility');\n\tconst firstTabby = firstElement || findFirstTabbableElement(node);\n\tconst lastTabby = lastElement || findLastTabbableElement(node);\n\n\tif (!firstTabby) {\n\t\tLOG.warn(\n\t\t\t'activateFocusTrap canceled: No tabbable elements found within the element.'\n\t\t);\n\t\treturn false;\n\t}\n\n\tif (moveFocusInsideTrap && !elementHasActiveElement(node))\n\t\tfirstTabby.focus();\n\n\tconst firstKeydown = (evt) => {\n\t\tconst { key, shiftKey } = evt;\n\t\tif (key === 'Tab' && shiftKey) {\n\t\t\tevt.preventDefault();\n\t\t\tlastTabby.focus();\n\t\t}\n\t};\n\n\tconst lastKeydown = (evt) => {\n\t\tconst { key, shiftKey } = evt;\n\t\tif (key === 'Tab' && !shiftKey) {\n\t\t\tevt.preventDefault();\n\t\t\tfirstTabby.focus();\n\t\t}\n\t};\n\n\tfirstTabby.addEventListener('keydown', firstKeydown);\n\tlastTabby.addEventListener('keydown', lastKeydown);\n\n\tconst tabbyTrapEntry = {\n\t\tconfig,\n\t\tnode,\n\t\tfirstTabby,\n\t\tlastTabby,\n\t\tfirstKeydown,\n\t\tlastKeydown,\n\t};\n\n\treturn focusTrap.set(id, tabbyTrapEntry);\n};\n\n/**\n * Removes event listeners from the tabbies and removes the entry from the\n * focus trap storage. Returns true on successful removal from storage.\n * Returns false if retrievall or removal from storage fails.\n * @param {String} id\n * @return {Boolean} Returns true on successful removal from storage.\n */\nexport const deactivateFocusTrap = (id) => {\n\tconst tabbyTrapEntry = focusTrap.get(id);\n\n\tif (isEmpty(tabbyTrapEntry)) return false;\n\n\tconst { lastKeydown, firstKeydown, firstTabby, lastTabby } = tabbyTrapEntry;\n\tfirstTabby.removeEventListener('keydown', firstKeydown);\n\tlastTabby.removeEventListener('keydown', lastKeydown);\n\n\treturn focusTrap.delete(id);\n};\n\n/**\n * If a focus trap exists for the given id, it reactivates it to update the\n * tabbies without moving focus. Returns true if activateFocusTrap succeeds.\n * Returns false if no entry is found for the given id or if\n * activateFocusTrap fails.\n * @param {String} id\n * @return {Boolean} Returns true if activateFocusTrap succeeds.\n */\nexport const updateFocusTrap = (id) => {\n\tconst tabbyTrapEntry = focusTrap.get(id);\n\tif (isEmpty(tabbyTrapEntry)) return false;\n\n\tconst { node, config = {} } = tabbyTrapEntry;\n\tif (isEmpty(node)) return false;\n\n\treturn activateFocusTrap(id, node, {\n\t\t...defaultConfig,\n\t\t...config,\n\t});\n};\n","export const NOW_BUTTON_ICONIC_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\nexport const GROUP_ACTION_CLICKED = 'GROUP_ACTION_CLICKED';\n","export const NOW_LIST_ALL_GROUPS_TOGGLED = 'NOW_LIST#ALL_GROUPS_TOGGLED';\nexport const NOW_LIST_GROUP_TOGGLED = 'NOW_LIST#GROUP_TOGGLED';\nexport const EXPAND_GROUP = 'isGroupExpanded';\nexport const EXPAND_ALL_GROUPS = 'expandAllGroups';\nexport const GROUP_ACTION_CLICKED = 'GROUP_ACTION_CLICKED';\n","/**\n * Contains exported string and object constants.\n */\n\nexport const KEYBOARD_NAV_BEHAVIOR_NAME = 'keyboardNav';\n\n// Behavior Actions\nexport const ALLOW_TABLE_FOCUS = 'ALLOW_TABLE_FOCUS';\nexport const ENTER_CELL_TRAP = 'ENTER_CELL_TRAP';\nexport const EXIT_CELL_TRAP = 'EXIT_CELL_TRAP';\nexport const REFRESH_CELL_TRAP = 'REFRESH_CELL_TRAP';\nexport const MOVE_FOCUS = 'MOVE_FOCUS';\nexport const POPOVER_CLOSED = 'POPOVER_CLOSED';\nexport const RESET_BEHAVIOR = 'RESET_BEHAVIOR';\nexport const UPDATE_KEYBOARD_NAV = 'UPDATE_KEYBOARD_NAV';\nexport const UPDATE_TABLE_REF = 'UPDATE_TABLE_REF';\nexport const FOCUS_LIST = 'FOCUS_LIST';\n\n// Seismic\nexport const SEISMIC_HOIST = 'SEISMIC-HOIST';\n\n// Misc\nexport const KEY = {\n\tKEY_ENTER: 'Enter',\n\tARROW_UP: 'ArrowUp',\n\tARROW_RIGHT: 'ArrowRight',\n\tARROW_DOWN: 'ArrowDown',\n\tARROW_LEFT: 'ArrowLeft',\n\tUP: 'Up',\n\tRIGHT: 'Right',\n\tDOWN: 'Down',\n\tLEFT: 'Left',\n\tSPACE: ' ',\n\tSPACEBAR: 'Spacebar',\n\tENTER: 'Enter',\n\tESC: 'Esc',\n\tESCAPE: 'Escape',\n\tPAGE_UP: 'PageUp',\n\tPAGE_DOWN: 'PageDown',\n\tHOME: 'Home',\n\tEND: 'End',\n\tTAB: 'Tab',\n\tKEY_CODE_ENTER: 32,\n};\n\n/**\n * Some browsers return arrow key press values in different ways, such as the\n * right arrow being \"Right\" in some browsers, but \"ArrowRight\" in others. This\n * map is used to ensure that arrow key press values are standardized, such that\n * \"ArrowRight\" and \"Right\" will both map to the value \"Right\".\n */\nexport const KEY_MAP = {\n\t[KEY.ENTER]: KEY.ENTER,\n\t[KEY.UP]: KEY.UP,\n\t[KEY.ARROW_UP]: KEY.UP,\n\t[KEY.DOWN]: KEY.DOWN,\n\t[KEY.ARROW_DOWN]: KEY.DOWN,\n\t[KEY.LEFT]: KEY.LEFT,\n\t[KEY.ARROW_LEFT]: KEY.LEFT,\n\t[KEY.RIGHT]: KEY.RIGHT,\n\t[KEY.ARROW_RIGHT]: KEY.RIGHT,\n\t[KEY.HOME]: KEY.HOME,\n\t[KEY.END]: KEY.END,\n\t[KEY.PAGE_UP]: KEY.PAGE_UP,\n\t[KEY.PAGE_DOWN]: KEY.PAGE_DOWN,\n};\n\n// properties\nexport const ROW_DEFINITIONS = 'rowDefinitions';\nexport const COLUMN_DEFINITIONS = 'columnDefinitions';\n\nexport const GROUPED_SUFFIX = '-grouped';\nexport const NOW_GRID_BULK_FOCUSED_IDS = 'data-quick-edit-ids';\nexport const BULK_FOCUS_STATE_PATH = 'bulkFocus';\n\nexport const EMPTY_BULK_FOCUS = {\n\tcolIndex: 0,\n\tfocusedIndicies: [],\n\tfocusedKeys: [],\n\tpreviousKeys: '',\n\tinitialIndex: 0,\n};\n","/**\n * Contains helper functions that are more generic in nature and have no direct\n * effects on the component\n */\n\nimport get from 'lodash/get';\n\nimport { SPECIAL_COLUMN_CELL } from '../../shared/views/table/tableBody/tableRow/rowCell/rowCellConstants';\nimport { setBehaviorState } from '../keyboardNavBehavior/keyboardNavHelpers';\n\nimport {\n\tSEISMIC_HOIST,\n\tGROUPED_SUFFIX,\n\tNOW_GRID_BULK_FOCUSED_IDS,\n\tEMPTY_BULK_FOCUS,\n} from './constants';\n\n/**\n * Indicates that a selector matches the pattern for a deep selector\n * @param {string} selector\n */\nconst isDeepSelector = (selector) => {\n\treturn ~selector.indexOf('>>>');\n};\n\n/**\n * Returns the first element within el that matches the given selector string\n * @param {string} selector\n * @param {any} el Type any silences warnings related to how the method operates\n */\nexport const querySelector = (selector, el) => {\n\tif (!isDeepSelector(selector)) return el.querySelector(selector);\n\n\tconst selectors = selector.split('>>>').map((selector) => selector.trim());\n\tconst { length } = selectors;\n\tlet selected = el;\n\n\tfor (let i = 0; i < length; i++) {\n\t\tif (selectors[i]) selected = selected.querySelector(selectors[i]);\n\n\t\tif (!selected) return selected;\n\n\t\tselected = i !== length - 1 ? selected.shadowRoot : selected;\n\t\tif (!selected) return selected;\n\t}\n\n\treturn selected;\n};\n\n/**\n * Gets the component path and accounts for potentially clicking on hoisted elements\n * @param {Array<HTMLElement>} path\n * @returns {Array<HTMLElement>}\n */\nexport const getComponentPath = (path) => {\n\tconst componentPath = [];\n\tlet hasSeismicHoist = false;\n\t/** @type {HTMLElement & {sourceElement?: HTMLElement} | null | undefined} */\n\tlet currentNode;\n\n\tfor (let index = 0; index < path.length && !hasSeismicHoist; index++) {\n\t\tcurrentNode = path[index];\n\t\thasSeismicHoist = get(currentNode, 'nodeName') === SEISMIC_HOIST;\n\n\t\tcomponentPath.push(currentNode);\n\t}\n\n\tif (!hasSeismicHoist) return componentPath;\n\n\twhile (currentNode) {\n\t\tif (currentNode.nodeName === SEISMIC_HOIST) {\n\t\t\tcurrentNode = currentNode.sourceElement;\n\t\t} else if (currentNode.assignedSlot) {\n\t\t\tcurrentNode = currentNode.parentElement;\n\t\t} else {\n\t\t\t// @ts-ignore .host isn't a property on Node\n\t\t\tcurrentNode = currentNode.getRootNode().host;\n\t\t}\n\n\t\tif (currentNode) componentPath.push(currentNode);\n\t}\n\n\treturn componentPath;\n};\n\n/**\n * Determine the relative direction from coordinate (xA,yA) towards (xB,yB),\n * given that (0,0) is the located in the top left corner (top right for RTL)\n * @param {number} xA\n * @param {number} yA\n * @param {number} xB\n * @param {number} yB\n * @param {boolean?} isRTL\n * @returns {\"Up\" | \"Down\" | \"Left\" | \"Right\" | null}\n */\nexport const getRelativeDirection = (xA, yA, xB, yB, isRTL = false) => {\n\tconst yDiff = yB - yA;\n\tconst xDiff = xB - xA;\n\n\t// The cells are at the same location\n\tif (!xDiff && !yDiff) return null;\n\n\t// The cells are located diagonally from each other\n\tif (xDiff && yDiff) return null;\n\n\tif (yDiff < 0) {\n\t\treturn 'Up';\n\t} else if (yDiff > 0) {\n\t\treturn 'Down';\n\t} else if (xDiff < 0) {\n\t\treturn isRTL ? 'Right' : 'Left';\n\t} else {\n\t\treturn isRTL ? 'Left' : 'Right';\n\t}\n};\n\n/**\n *\tFunction used to return valid information used for bulk inline editing\n *\n * @param {object} grid Object containing array of rows and cells within each row used for keyboard navigation\n * @param {number} rowIndex row index of newly focused cell\n * @param {number} cellIndex cell index of newly focused cell\n *\n * @returns {object} Returns newly focused row node, cell node, and whether it is a valid cell or not\n */\nexport const getBulkFocusInfo = (grid, rowIndex, cellIndex) => {\n\tconst focusedRow = get(grid, `rows[${rowIndex}]`);\n\tconst focusedCell = get(focusedRow, `cells[${cellIndex}]`);\n\tconst rowClassList = get(focusedRow, 'node.classList');\n\tconst cellClassList = get(focusedCell, 'node.classList');\n\n\tconst isHeaderCell = get(focusedCell, 'node.nodeName') === 'TH';\n\n\tconst isRowGroupedHeader =\n\t\trowClassList && rowClassList.contains('grouped-row');\n\n\tconst isGroupToggleCell =\n\t\tcellClassList && cellClassList.contains(GROUPED_SUFFIX);\n\n\tconst isSpecialColumn =\n\t\tcellClassList && cellClassList.contains(SPECIAL_COLUMN_CELL);\n\n\tconst isValidCell =\n\t\t!isHeaderCell &&\n\t\t!isRowGroupedHeader &&\n\t\t!isGroupToggleCell &&\n\t\t!isSpecialColumn;\n\n\treturn {\n\t\tfocusedRow,\n\t\tfocusedCell,\n\t\tisValidCell,\n\t};\n};\n\n// @ts-ignore\n/**\n * Function used to clear and update bulk editing styles.\n * @param {Array<number>} newIndices array of new indicies to select\n * @param {object} grid Object containing array of rows and cells within each row used for keyboard navigation\n * @param {number} newCellIndex newly focused cell index\n * @returns {void}\n */\nexport const updateBulkStyles = (newIndices, grid, newCellIndex) => {\n\t// Clear styles on previous focused cells\n\n\tconst firstNode = get(grid, 'rows[0].cells[0].node');\n\tif (firstNode) {\n\t\tconst nearestTable = firstNode.closest('TABLE');\n\t\t// @ts-ignore\n\t\tremoveBulkStyles(nearestTable);\n\t}\n\t// @ts-ignore\n\tconst partitionedRows = groupNumsSequentially(newIndices);\n\n\t// Set new styles based on new focused array\n\t// @ts-ignore\n\tpartitionedRows.forEach((group) => {\n\t\t// @ts-ignore\n\t\tgroup.forEach((gridIndex, index, group) => {\n\t\t\tconst gridRow = get(\n\t\t\t\tgrid,\n\t\t\t\t`rows[${gridIndex}].cells[${newCellIndex}].node`\n\t\t\t);\n\t\t\tif (group.length === 1) {\n\t\t\t\tgridRow.classList.add('top-bottom-side-border');\n\t\t\t} else if (index === 0) {\n\t\t\t\tgridRow.classList.add('top-side-border');\n\t\t\t} else if (index === group.length - 1) {\n\t\t\t\tgridRow.classList.add('bottom-side-border');\n\t\t\t} else {\n\t\t\t\tgridRow.classList.add('side-border');\n\t\t\t}\n\n\t\t\tgridRow.classList.add('cell-selected');\n\t\t});\n\t});\n};\n/**\n *\tFunction used to clear bulk editing styles.\n *\n * @param {object} nearestTable html node of nearest table\n *\n * @returns {void}\n */\nexport const removeBulkStyles = (nearestTable) => {\n\tnearestTable\n\t\t// @ts-ignore\n\t\t.querySelectorAll(\n\t\t\t'.side-border, .top-side-border, .bottom-side-border, .top-bottom-side-border'\n\t\t\t// @ts-ignore\n\t\t)\n\t\t.forEach((/** @type {HTMLElement}*/ node) => {\n\t\t\tnode.classList.remove('side-border');\n\t\t\tnode.classList.remove('top-side-border');\n\t\t\tnode.classList.remove('bottom-side-border');\n\t\t\tnode.classList.remove('top-bottom-side-border');\n\t\t\tnode.classList.remove('cell-selected');\n\t\t});\n};\n\n/**\n * Group sequential numbers, i.e. [1,3,4,5,9,10] => [[1], [3,4,5], [9,10]]\n * @param {*} rows\n */\nexport const groupNumsSequentially = (rows) =>\n\trows\n\t\t// @ts-ignore\n\t\t.sort((a, b) => a - b)\n\t\t// @ts-ignore\n\t\t.reduce((r, n) => {\n\t\t\tconst lastSubArray = r[r.length - 1];\n\n\t\t\tif (\n\t\t\t\t!lastSubArray ||\n\t\t\t\tlastSubArray[lastSubArray.length - 1] !== n - 1\n\t\t\t) {\n\t\t\t\tr.push([]);\n\t\t\t}\n\n\t\t\tr[r.length - 1].push(n);\n\n\t\t\treturn r;\n\t\t}, []);\n\n/**\n *\n * @param {Coeffects<Props, State>} coeffects\n * @param {HTMLElement} focusedNode\n * @returns\n */\nexport const resetBulkFocus = (coeffects, focusedNode) => {\n\tconst { updateState, action } = coeffects;\n\tconst keepLastFocus = get(action, 'payload.keepLastFocus', false);\n\tlet nearestTable;\n\n\tif (focusedNode) {\n\t\tnearestTable = focusedNode.closest('TABLE');\n\t}\n\n\t/** @type {BulkFocus} */\n\tlet bulkFocusValue = { ...EMPTY_BULK_FOCUS };\n\tif (focusedNode && nearestTable) {\n\t\t// remove data-* attributes for bulk focus\n\n\t\tnearestTable.removeAttribute(NOW_GRID_BULK_FOCUSED_IDS);\n\n\t\tremoveBulkStyles(nearestTable);\n\t\tif (keepLastFocus) {\n\t\t\tconst row = focusedNode.closest('tr');\n\t\t\tconst rowKey = get(row, 'dataset.key');\n\t\t\tconst { navRow, navCol } = focusedNode.dataset;\n\t\t\tconst rowIndex = Number(navRow);\n\t\t\tconst colIndex = Number(navCol);\n\t\t\tif (rowKey) {\n\t\t\t\t// @ts-ignore\n\t\t\t\tnearestTable.setAttribute(NOW_GRID_BULK_FOCUSED_IDS, [rowKey]);\n\t\t\t\tbulkFocusValue = {\n\t\t\t\t\tcolIndex: colIndex,\n\t\t\t\t\tfocusedIndicies: [rowIndex],\n\t\t\t\t\tfocusedKeys: [rowKey],\n\t\t\t\t\tpreviousKeys: rowKey,\n\t\t\t\t\tinitialIndex: rowIndex,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n\n\t// @ts-ignore\n\tsetBehaviorState(updateState, { bulkFocus: bulkFocusValue });\n};\n","/**\n * Contains helpers for the effects that are either reused in multiple effects,\n * or code sections that were large enough to warrant being split off from the\n * original effect\n */\nimport {\n\tfindActiveElement,\n\tshadowQuerySelectorAll,\n\tselector as tabbableSelectors,\n} from '@devsnc/sn-list-commons';\nimport get from 'lodash/get';\nimport includes from 'lodash/includes';\nimport isArray from 'lodash/isArray';\nimport isEmpty from 'lodash/isEmpty';\nimport isEqual from 'lodash/isEqual';\nimport range from 'lodash/range';\nimport xor from 'lodash/xor';\n\nimport { NOW_BUTTON_ICONIC_CLICKED } from '../../resources/constants';\nimport { EXPAND_GROUP } from '../rowGroupingBehavior/constants';\n\nimport {\n\tEXIT_CELL_TRAP,\n\tKEY,\n\tKEYBOARD_NAV_BEHAVIOR_NAME,\n\tROW_DEFINITIONS,\n\tCOLUMN_DEFINITIONS,\n\tNOW_GRID_BULK_FOCUSED_IDS,\n\tFOCUS_LIST,\n\tENTER_CELL_TRAP,\n} from './constants';\nimport {\n\tgetRelativeDirection,\n\tquerySelector,\n\tgetBulkFocusInfo,\n\tupdateBulkStyles,\n\tresetBulkFocus,\n} from './utils';\n\n/**\n * Gets the keyboard nav behavior state from the larger component state object\n * @param  {StateWithProps<Props, State>} state\n * @return {KeyboardNavBehaviorState}\n */\nexport const getBehaviorState = (state) =>\n\tget(state, `behaviors.${KEYBOARD_NAV_BEHAVIOR_NAME}`, {});\n\n/**\n * Sets the keyboard nav behavior state\n * @param {Function} updateState\n * @param {Partial<KeyboardNavBehaviorState>} newState\n */\nexport const setBehaviorState = (updateState, newState) => {\n\tfor (const [key, value] of Object.entries(newState)) {\n\t\tupdateState({\n\t\t\toperation: 'set',\n\t\t\tpath: `behaviors.${KEYBOARD_NAV_BEHAVIOR_NAME}.${key}`,\n\t\t\tvalue: value,\n\t\t\tshouldRender: false,\n\t\t});\n\t}\n};\n\n/**\n * Gets the behavior options that were passed when the behavior was created\n * @param {Action<any>} action\n * @return {KeyboardNavBehaviorOptions}\n */\nexport const getBehaviorOptions = (action) => {\n\treturn get(action, 'payload.options', {});\n};\n\n/**\n * Loads the row entry from tableRef at the given index\n * @param {TableRef} tableRef\n * @param {number} rowIndex\n * @returns {TableRow | undefined}\n */\nexport const getRowFromTableRef = (tableRef, rowIndex) =>\n\tget(tableRef, `rows[${rowIndex}]`);\n\n/**\n * Loads the cell entry from tableRef at the given indices\n * @param {TableRef} tableRef\n * @param {number} rowIndex\n * @param {number} cellIndex\n * @returns {TableCell | undefined}\n */\nexport const getCellFromTableRef = (tableRef, rowIndex, cellIndex) =>\n\tget(tableRef, `rows[${rowIndex}].cells[${cellIndex}]`);\n\n/**\n * Transfer the ability to focus from the previous cell to the new one\n * @param {Object} props\n * @param {Dispatch=} props.dispatch\n * @param {HTMLElement=} props.selectedActiveElement\n * @param {FocusedCell=} props.prevFocus\n * @param {FocusedCell=} props.newFocus\n * @param {Function} props.updateState\n * @param {Array<string>=} props.directFocusSelectors\n * @param {boolean=} props.shouldFocus\n * @param {boolean=} props.virtualizedScrollEnabled\n */\nexport const setNewCellFocus = ({\n\tdispatch,\n\tselectedActiveElement,\n\tprevFocus,\n\tnewFocus,\n\tupdateState,\n\tdirectFocusSelectors,\n\tshouldFocus,\n\tvirtualizedScrollEnabled = false,\n}) => {\n\t// If newFocus is undefined, that means the behavior is switching to row focus\n\tif (!newFocus) return;\n\n\t// If the cell changed, remove the previous cell's ability to focus\n\tif (prevFocus && !prevFocus.node.isSameNode(newFocus.node)) {\n\t\tprevFocus.node.removeAttribute('tabindex');\n\t}\n\t// make it so that if there are multiple tabbable elements in the cell, don't have a single focus\n\tconst tabbables = newFocus.node?.children\n\t\t? shadowQuerySelectorAll(newFocus.node, tabbableSelectors)\n\t\t: [];\n\n\tlet newFocusNode;\n\tlet isFocusSelector = false;\n\n\tif (directFocusSelectors) {\n\t\tdirectFocusSelectors.forEach((selector) => {\n\t\t\tconst node = querySelector(selector, newFocus.node);\n\t\t\tif (node) {\n\t\t\t\tnewFocusNode = node;\n\t\t\t\tisFocusSelector = true;\n\t\t\t}\n\t\t});\n\t}\n\tif (selectedActiveElement) {\n\t\tnewFocusNode = selectedActiveElement;\n\t}\n\n\t// Only focus on the direct focus selector if there is only 1 present in the cell\n\tif (tabbables.length === 1 && isFocusSelector && newFocusNode) {\n\t\tnewFocus.node = newFocusNode;\n\t} else if (selectedActiveElement && dispatch) {\n\t\t// Only enter the cell trap if an element inside of a cell is clicked on,\n\t\t// which is stored in selectedActiveElement\n\t\tdispatch(ENTER_CELL_TRAP, { targetNode: selectedActiveElement });\n\t}\n\n\tsetBehaviorState(updateState, { focusedCell: newFocus });\n\n\t// Td cells aren't tabbable by default, so setting a tab index here allows for that\n\tnewFocus.node.tabIndex = 0;\n\n\tif (shouldFocus) {\n\t\tif (virtualizedScrollEnabled) {\n\t\t\tnewFocus.node.focus({ preventScroll: true });\n\t\t} else {\n\t\t\tnewFocus.node.focus();\n\t\t}\n\n\t\t/**\n\t\t * Because the group row container spans across the entire table, trying\n\t\t * to scroll this element into view will cause an unnecessary horizontal\n\t\t * scroll, and will also cause the group row actions popover to close\n\t\t * because a scroll event has occurred.\n\t\t */\n\t\tif (\n\t\t\t!newFocus.node.classList.contains('group-row-container') &&\n\t\t\t!virtualizedScrollEnabled\n\t\t) {\n\t\t\tnewFocus.node.scrollIntoView({ block: 'nearest' });\n\t\t}\n\t}\n};\n\n/**\n * Transfer the ability to focus from the previous cell to the new one\n * @param {Object} props\n * @param {FocusedRow=} props.prevFocus\n * @param {FocusedRow=} props.newFocus\n * @param {Function} props.updateState\n * @param {boolean=} props.shouldFocus\n */\nexport const setNewRowFocus = ({\n\tprevFocus,\n\tnewFocus,\n\tupdateState,\n\tshouldFocus,\n}) => {\n\t// If newFocus is undefined, that means the behavior is switching to cell focus\n\tif (!newFocus) return;\n\n\t// If the cell changed, remove the previous cell's ability to focus\n\tif (prevFocus && !prevFocus.node.isSameNode(newFocus.node)) {\n\t\tprevFocus.node.removeAttribute('tabindex');\n\t}\n\n\tsetBehaviorState(updateState, { focusedRow: newFocus });\n\n\tnewFocus.node.tabIndex = 0;\n\n\tif (shouldFocus) {\n\t\tnewFocus.node.focus();\n\t\tnewFocus.node.scrollIntoView({ block: 'nearest' });\n\t}\n};\n\n/**\n * Determine the correct indices if a pointer cell is about to be focused\n * @param {TableRef} tableRef\n * @param {number} rowIndex\n * @param {number} cellIndex\n * @param {string} key\n * @returns {{rowIndex: number, cellIndex: number, pointerCellHandled: boolean}}\n */\nexport const handlePointerCell = (tableRef, rowIndex, cellIndex, key) => {\n\tconst cell = getCellFromTableRef(tableRef, rowIndex, cellIndex);\n\tif (!cell || !cell.pointer)\n\t\treturn { rowIndex, cellIndex, pointerCellHandled: false };\n\n\t/**\n\t * Actionable messages and group header rows can be reached from any column.\n\t * When the user moves through from these rows, the user should return to\n\t * the same column that they originated from, so the pointer logic should be\n\t * ignored.\n\t */\n\tconst { classList } = cell.node;\n\tif (\n\t\t(classList.contains('group-row-container') ||\n\t\t\tclassList.contains('actionable-message')) &&\n\t\t(key === KEY.UP || key === KEY.DOWN)\n\t) {\n\t\treturn { rowIndex, cellIndex, pointerCellHandled: false };\n\t}\n\n\tconst isRTL = document.dir === 'rtl';\n\n\tconst pointerDir = getRelativeDirection(\n\t\tcellIndex,\n\t\trowIndex,\n\t\tcell.pointer.cellIndex,\n\t\tcell.pointer.rowIndex,\n\t\tisRTL\n\t);\n\tif (!pointerDir) return { rowIndex, cellIndex, pointerCellHandled: false };\n\n\tconst { pointer } = cell;\n\tconst maxRowIndex = tableRef.rows.length - 1;\n\tconst maxCellIndex = tableRef.rows[rowIndex].cells.length - 1;\n\tconst rtlData = isRTL\n\t\t? {\n\t\t\t\tdir: 'Right',\n\t\t\t\tmoveOne: KEY.LEFT,\n\t\t\t\tmoveAll: KEY.HOME,\n\t\t  }\n\t\t: {\n\t\t\t\tdir: 'Left',\n\t\t\t\tmoveOne: KEY.RIGHT,\n\t\t\t\tmoveAll: KEY.END,\n\t\t  };\n\n\t/**\n\t * If the direction of the source cell is in the opposite direction of\n\t * movement, then we need to move to the cell in the direction of movement.\n\t * Otherwise, we just need to move to the source cell's location. To account\n\t * for RTL being enabled, the horizontal movement direction needs to be\n\t * handled dynamically, with the properties listed in the rtlData object\n\t */\n\n\tswitch (pointerDir) {\n\t\tcase 'Up':\n\t\t\tif (key === KEY.DOWN || key === KEY.PAGE_DOWN) {\n\t\t\t\tconst newRowFocus = pointer.rowIndex + pointer.rowSpan;\n\t\t\t\tif (newRowFocus > maxRowIndex)\n\t\t\t\t\treturn { ...pointer, pointerCellHandled: true };\n\n\t\t\t\treturn {\n\t\t\t\t\trowIndex: newRowFocus,\n\t\t\t\t\tcellIndex,\n\t\t\t\t\tpointerCellHandled: true,\n\t\t\t\t};\n\t\t\t} else return { ...pointer, pointerCellHandled: true };\n\n\t\tcase rtlData.dir:\n\t\t\tif (key === rtlData.moveOne || key === rtlData.moveAll) {\n\t\t\t\tconst newCellFocus = pointer.cellIndex + pointer.colSpan;\n\n\t\t\t\tif (newCellFocus > maxCellIndex)\n\t\t\t\t\treturn { ...pointer, pointerCellHandled: true };\n\n\t\t\t\treturn {\n\t\t\t\t\trowIndex,\n\t\t\t\t\tcellIndex: newCellFocus,\n\t\t\t\t\tpointerCellHandled: true,\n\t\t\t\t};\n\t\t\t} else return { ...pointer, pointerCellHandled: true };\n\t}\n\treturn { rowIndex, cellIndex, pointerCellHandled: true };\n};\n\n/**\n * get next row\n * @param {TableRef} tableRef - The table reference element\n * @param {FocusedRow} focusedRow - The currently focused row\n * @param {FocusedCell} focusedCell - The currently focused cell\n * @returns {TableRow | undefined}\n */\nexport const getNextRowFromTableRef = (tableRef, focusedRow, focusedCell) => {\n\treturn (\n\t\t(focusedRow || focusedCell) &&\n\t\tgetRowFromTableRef(\n\t\t\ttableRef,\n\t\t\t(focusedRow?.rowIndex ?? focusedCell?.rowIndex) + 1\n\t\t)\n\t);\n};\n\n/**\n * Focus the given node element, and ensure that the behavior state is properly updated\n * @param {*} node\n * @param {Coeffects<Props, State>} coeffects\n * @param {HTMLElement=} selectedActiveElement -\n */\nexport const focusCellNode = (node, coeffects, selectedActiveElement) => {\n\tconst { action, dispatch, state, updateState } = coeffects;\n\tconst { focusedCell, focusedRow, trappedCell } = getBehaviorState(state);\n\tconst { directFocusSelectors } = getBehaviorOptions(action);\n\n\tif (trappedCell) dispatch(EXIT_CELL_TRAP, { shouldFocus: false });\n\n\tif (focusedRow) {\n\t\tsetNewRowFocus({ prevFocus: focusedRow, updateState });\n\t\tsetBehaviorState(updateState, { focusedRow: undefined });\n\t}\n\n\t// Retrieve the cell's location in tableRef based on the stored values\n\tconst { navRow, navCol } = node.dataset;\n\tif (isNaN(parseInt(navRow)) || isNaN(parseInt(navCol))) return;\n\n\tconst newFocus = {\n\t\trowIndex: parseInt(navRow),\n\t\tcellIndex: parseInt(navCol),\n\t\tnode,\n\t};\n\n\tconst shouldFocus = !node.contains(findActiveElement());\n\n\t/**\n\t * Pass in dispatch only if we select an element in the cell\n\t * and we want to enter the cell trap as a result.\n\t * Pass selectedActiveElement as the element to focus in the new cell.\n\t */\n\tsetNewCellFocus({\n\t\tdispatch,\n\t\tselectedActiveElement,\n\t\tprevFocus: focusedCell,\n\t\tnewFocus,\n\t\tupdateState,\n\t\tdirectFocusSelectors,\n\t\tshouldFocus,\n\t});\n};\n\n/**\n * Focus the given popoverTarget by entering the cell trap of the focused cell\n * after closing the popover\n * @param {Coeffects<Props, State>} coeffects\n * @param {HTMLElement=} popoverTargetNode\n */\nexport const focusPopoverTarget = (coeffects, popoverTargetNode) => {\n\tconst { dispatch, state } = coeffects;\n\tconst { focusedCell } = getBehaviorState(state);\n\n\tif (!popoverTargetNode) {\n\t\tfocusCellNode(focusedCell.node, coeffects);\n\t\treturn;\n\t}\n\n\tif (!shadowQuerySelectorAll(focusedCell.node, popoverTargetNode.className))\n\t\treturn;\n\n\tdispatch(ENTER_CELL_TRAP, {\n\t\ttargetNode: popoverTargetNode,\n\t});\n};\n\n/**\n * Handles directional navigation when a cell is focused\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleCellMove = (coeffects) => {\n\tconst {\n\t\taction,\n\t\tstate,\n\t\tupdateState,\n\t\tproperties: { cellEditingEnabled },\n\t} = coeffects;\n\n\tconst {\n\t\tfocusedCell,\n\t\ttableRef,\n\t\thasGroupedRows,\n\t\tbulkFocus: { focusedKeys = [], focusedIndicies = [], previousKeys },\n\t} = getBehaviorState(state);\n\tconst { focusedRowKey } = state;\n\tlet bulkRows = focusedKeys;\n\tlet bulkRowIndices = focusedIndicies;\n\n\tconst {\n\t\tdirectFocusSelectors,\n\t\tscrollContainerSelector,\n\t} = getBehaviorOptions(action);\n\n\tconst {\n\t\tpayload: { key, shiftKey },\n\t} = action;\n\n\tconst newFocusedCell = { ...focusedCell };\n\n\t/**\n\t * For every directional movement, we adjust the coordinate of the focus and\n\t * handle the possibility of landing on a pointer cell\n\t */\n\tswitch (key) {\n\t\tcase KEY.UP:\n\t\tcase KEY.DOWN: {\n\t\t\tconst focusIncrement = key === KEY.DOWN ? 1 : -1;\n\t\t\tlet newRowFocus = focusedCell.rowIndex + focusIncrement;\n\t\t\tfocusedCell.node.tabIndex = 0;\n\n\t\t\tif (newRowFocus < 0 || newRowFocus > tableRef.rows.length - 1)\n\t\t\t\treturn;\n\t\t\tif (cellEditingEnabled) {\n\t\t\t\tlet isValidCell;\n\t\t\t\tlet focusedRow = get(tableRef, `rows[${newRowFocus}]`);\n\t\t\t\tlet rowKey = get(focusedRow, 'node.dataset.key');\n\t\t\t\tif (shiftKey) {\n\t\t\t\t\tdo {\n\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t({ focusedRow, isValidCell } = getBulkFocusInfo(\n\t\t\t\t\t\t\ttableRef,\n\t\t\t\t\t\t\tnewRowFocus,\n\t\t\t\t\t\t\tfocusedCell.cellIndex\n\t\t\t\t\t\t));\n\n\t\t\t\t\t\tif (!isValidCell) {\n\t\t\t\t\t\t\tnewRowFocus += focusIncrement;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\trowKey = get(focusedRow, 'node.dataset.key');\n\t\t\t\t\t\t}\n\t\t\t\t\t} while (!isValidCell);\n\n\t\t\t\t\tif (includes(bulkRows, rowKey)) {\n\t\t\t\t\t\tbulkRows = xor(bulkRows, [previousKeys]);\n\t\t\t\t\t\tbulkRowIndices = xor(bulkRowIndices, [\n\t\t\t\t\t\t\tfocusedCell.rowIndex,\n\t\t\t\t\t\t]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbulkRows = xor(bulkRows, [rowKey]);\n\t\t\t\t\t\tbulkRowIndices = xor(bulkRowIndices, [newRowFocus]);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!focusedRow) return;\n\n\t\t\t\t\tconst nearestTable = focusedRow.node.closest('TABLE');\n\t\t\t\t\tif (!nearestTable) return;\n\n\t\t\t\t\tnearestTable.setAttribute(\n\t\t\t\t\t\tNOW_GRID_BULK_FOCUSED_IDS,\n\t\t\t\t\t\tbulkRows.join(',')\n\t\t\t\t\t);\n\n\t\t\t\t\tupdateBulkStyles(\n\t\t\t\t\t\tbulkRowIndices,\n\t\t\t\t\t\ttableRef,\n\t\t\t\t\t\tfocusedCell.cellIndex\n\t\t\t\t\t);\n\t\t\t\t\tsetBehaviorState(updateState, {\n\t\t\t\t\t\tbulkFocus: {\n\t\t\t\t\t\t\tfocusedKeys: bulkRows,\n\t\t\t\t\t\t\tfocusedIndicies: bulkRowIndices,\n\t\t\t\t\t\t\tpreviousKeys: rowKey,\n\t\t\t\t\t\t\tcolIndex: newFocusedCell.cellIndex,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tupdateBulkStyles(\n\t\t\t\t\t\t[newRowFocus],\n\t\t\t\t\t\ttableRef,\n\t\t\t\t\t\tfocusedCell.cellIndex\n\t\t\t\t\t);\n\t\t\t\t\tsetBehaviorState(updateState, {\n\t\t\t\t\t\tbulkFocus: {\n\t\t\t\t\t\t\tfocusedKeys: [rowKey],\n\t\t\t\t\t\t\tfocusedIndicies: [newRowFocus],\n\t\t\t\t\t\t\tpreviousKeys: rowKey,\n\t\t\t\t\t\t\tcolIndex: newFocusedCell.cellIndex,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst { rowIndex, cellIndex } = handlePointerCell(\n\t\t\t\ttableRef,\n\t\t\t\tnewRowFocus,\n\t\t\t\tnewFocusedCell.cellIndex,\n\t\t\t\tkey\n\t\t\t);\n\n\t\t\tnewFocusedCell.rowIndex = rowIndex;\n\t\t\tnewFocusedCell.cellIndex = cellIndex;\n\n\t\t\tbreak;\n\t\t}\n\t\tcase KEY.LEFT:\n\t\tcase KEY.RIGHT: {\n\t\t\t/**\n\t\t\t * If the user is currently on a group header row, the previously\n\t\t\t * ignored pointer needs to now be handled so that navigation works\n\t\t\t * as expected.\n\t\t\t */\n\t\t\tconst {\n\t\t\t\trowIndex: ptrRowIndex,\n\t\t\t\tcellIndex: ptrCellIndex,\n\t\t\t\tpointerCellHandled: pointerCellHandled,\n\t\t\t} = handlePointerCell(\n\t\t\t\ttableRef,\n\t\t\t\tfocusedCell.rowIndex,\n\t\t\t\tfocusedCell.cellIndex,\n\t\t\t\tkey\n\t\t\t);\n\t\t\tfocusedCell.rowIndex = ptrRowIndex;\n\t\t\tfocusedCell.cellIndex = ptrCellIndex;\n\n\t\t\t/**\n\t\t\t * For RTL languages, the index increases as you go from right to\n\t\t\t * left, so the key behavior needs to be flipped\n\t\t\t */\n\t\t\tconst indexIncDir = document.dir === 'rtl' ? KEY.LEFT : KEY.RIGHT;\n\t\t\tlet newCellFocus;\n\t\t\tif (key === indexIncDir) {\n\t\t\t\tnewCellFocus =\n\t\t\t\t\tfocusedCell.cellIndex + (pointerCellHandled ? 0 : 1);\n\n\t\t\t\tif (\n\t\t\t\t\tnewCellFocus >\n\t\t\t\t\ttableRef.rows[focusedCell.rowIndex].cells.length - 1\n\t\t\t\t)\n\t\t\t\t\treturn;\n\t\t\t} else {\n\t\t\t\tnewCellFocus =\n\t\t\t\t\tfocusedCell.cellIndex - (pointerCellHandled ? 0 : 1);\n\n\t\t\t\t/**\n\t\t\t\t * Refetch the cell node to handle the case where focus is\n\t\t\t\t * currently on a direct focus selector element (such as a\n\t\t\t\t * grouped row button).\n\t\t\t\t */\n\t\t\t\tconst cell = getCellFromTableRef(\n\t\t\t\t\ttableRef,\n\t\t\t\t\tfocusedCell.rowIndex,\n\t\t\t\t\tfocusedCell.cellIndex\n\t\t\t\t);\n\n\t\t\t\t/**\n\t\t\t\t * If the user attempts to go passed the first cell, the focus\n\t\t\t\t * should switch from cell-based to row-based, which is used\n\t\t\t\t * for navigating grouped rows. This should only happen on td\n\t\t\t\t * elements and not on th elements.\n\t\t\t\t */\n\t\t\t\tif (\n\t\t\t\t\tnewCellFocus < 0 &&\n\t\t\t\t\thasGroupedRows &&\n\t\t\t\t\tcell?.node.tagName === 'TD'\n\t\t\t\t) {\n\t\t\t\t\tsetNewCellFocus({\n\t\t\t\t\t\tprevFocus: focusedCell,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t});\n\t\t\t\t\tsetBehaviorState(updateState, { focusedCell: undefined });\n\n\t\t\t\t\tconst newRowFocus =\n\t\t\t\t\t\ttableRef.rows[focusedCell.rowIndex].node;\n\t\t\t\t\tsetNewRowFocus({\n\t\t\t\t\t\tnewFocus: {\n\t\t\t\t\t\t\trowIndex: focusedCell.rowIndex,\n\t\t\t\t\t\t\tnode: newRowFocus,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tshouldFocus: true,\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst { rowIndex, cellIndex } = handlePointerCell(\n\t\t\t\ttableRef,\n\t\t\t\tnewFocusedCell.rowIndex,\n\t\t\t\tnewCellFocus,\n\t\t\t\tkey\n\t\t\t);\n\n\t\t\tupdateBulkStyles([], tableRef, 0);\n\t\t\tsetBehaviorState(updateState, {\n\t\t\t\tbulkFocus: {\n\t\t\t\t\tfocusedKeys: [focusedRowKey],\n\t\t\t\t\tfocusedIndicies: [focusedCell.rowIndex],\n\t\t\t\t\tpreviousKeys: focusedRowKey,\n\t\t\t\t\tcolIndex: newFocusedCell.cellIndex,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tnewFocusedCell.rowIndex = rowIndex;\n\t\t\tnewFocusedCell.cellIndex = cellIndex;\n\n\t\t\tbreak;\n\t\t}\n\t\tcase KEY.PAGE_UP:\n\t\tcase KEY.PAGE_DOWN: {\n\t\t\tnewFocusedCell.rowIndex =\n\t\t\t\tkey === KEY.PAGE_DOWN ? tableRef.rows.length - 1 : 0;\n\n\t\t\tconst { rowIndex, cellIndex } = handlePointerCell(\n\t\t\t\ttableRef,\n\t\t\t\tnewFocusedCell.rowIndex,\n\t\t\t\tnewFocusedCell.cellIndex,\n\t\t\t\tkey\n\t\t\t);\n\n\t\t\tsetBehaviorState(updateState, {\n\t\t\t\tbulkFocus: {\n\t\t\t\t\tfocusedKeys: [focusedRowKey],\n\t\t\t\t\tfocusedIndicies: [focusedCell.rowIndex],\n\t\t\t\t\tpreviousKeys: focusedRowKey,\n\t\t\t\t\tcolIndex: newFocusedCell.cellIndex,\n\t\t\t\t},\n\t\t\t});\n\t\t\tupdateBulkStyles([], tableRef, 0);\n\n\t\t\tnewFocusedCell.rowIndex = rowIndex;\n\t\t\tnewFocusedCell.cellIndex = cellIndex;\n\n\t\t\tbreak;\n\t\t}\n\t\tcase KEY.HOME:\n\t\tcase KEY.END: {\n\t\t\t// For RTL languages, the index increases RTL, so the key behavior needs to be flipped\n\t\t\tconst indexIncDir = document.dir === 'rtl' ? KEY.HOME : KEY.END;\n\t\t\tif (key === indexIncDir) {\n\t\t\t\tnewFocusedCell.cellIndex =\n\t\t\t\t\ttableRef.rows[focusedCell.rowIndex].cells.length - 1;\n\t\t\t} else {\n\t\t\t\tnewFocusedCell.cellIndex = 0;\n\t\t\t}\n\n\t\t\tconst { rowIndex, cellIndex } = handlePointerCell(\n\t\t\t\ttableRef,\n\t\t\t\tnewFocusedCell.rowIndex,\n\t\t\t\tnewFocusedCell.cellIndex,\n\t\t\t\tkey\n\t\t\t);\n\n\t\t\tsetBehaviorState(updateState, {\n\t\t\t\tbulkFocus: {\n\t\t\t\t\tfocusedKeys: [focusedRowKey],\n\t\t\t\t\tfocusedIndicies: [focusedCell.rowIndex],\n\t\t\t\t\tpreviousKeys: focusedRowKey,\n\t\t\t\t\tcolIndex: newFocusedCell.cellIndex,\n\t\t\t\t},\n\t\t\t});\n\t\t\tupdateBulkStyles([], tableRef, 0);\n\n\t\t\tnewFocusedCell.rowIndex = rowIndex;\n\t\t\tnewFocusedCell.cellIndex = cellIndex;\n\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tconst cell = getCellFromTableRef(\n\t\ttableRef,\n\t\tnewFocusedCell.rowIndex,\n\t\tnewFocusedCell.cellIndex\n\t);\n\tif (!cell) return;\n\n\tnewFocusedCell.node = cell.node;\n\n\tif (key === KEY.UP) {\n\t\tensureCellIntersection(\n\t\t\tnewFocusedCell.node,\n\t\t\ttableRef,\n\t\t\tscrollContainerSelector\n\t\t);\n\t}\n\n\tsetNewCellFocus({\n\t\tprevFocus: focusedCell,\n\t\tnewFocus: newFocusedCell,\n\t\tupdateState,\n\t\tdirectFocusSelectors,\n\t\tshouldFocus: true,\n\t});\n};\n\n/**\n * Toggle a grouped row by emitting the same event that would come from clicking\n * on a grouped row toggle button\n * @param {Dispatch} dispatch\n * @param {string | undefined} key\n */\nconst toggleGroupedRow = (dispatch, key) => {\n\tdispatch(NOW_BUTTON_ICONIC_CLICKED, {\n\t\trow: { key },\n\t\ttype: EXPAND_GROUP,\n\t});\n};\n\n/**\n * Handles directional navigation when a row is focused\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleRowMove = ({ action, dispatch, state, updateState }) => {\n\tconst { tableRef, focusedRow } = getBehaviorState(state);\n\tconst {\n\t\tdirectFocusSelectors,\n\t\tscrollContainerSelector,\n\t} = getBehaviorOptions(action);\n\n\tconst {\n\t\tpayload: { key },\n\t} = action;\n\n\tconst newFocusedRow = { ...focusedRow };\n\n\tswitch (key) {\n\t\tcase KEY.UP:\n\t\tcase KEY.DOWN: {\n\t\t\tconst focusIncrement = key === KEY.DOWN ? 1 : -1;\n\t\t\tconst newRowIndex = focusedRow.rowIndex + focusIncrement;\n\t\t\tif (newRowIndex < 0 || newRowIndex > tableRef.rows.length - 1)\n\t\t\t\treturn;\n\n\t\t\tnewFocusedRow.rowIndex = newRowIndex;\n\n\t\t\tbreak;\n\t\t}\n\t\tcase KEY.LEFT:\n\t\tcase KEY.RIGHT: {\n\t\t\t/**\n\t\t\t * For RTL languages, the index increases as you go from right to\n\t\t\t * left, so the key behavior needs to be flipped\n\t\t\t */\n\t\t\tconst indexIncDir = document.dir === 'rtl' ? KEY.LEFT : KEY.RIGHT;\n\t\t\tif (key === indexIncDir) {\n\t\t\t\tif (\n\t\t\t\t\t!focusedRow.node.hasAttribute('aria-expanded') ||\n\t\t\t\t\tfocusedRow.node.getAttribute('aria-expanded') === 'true'\n\t\t\t\t) {\n\t\t\t\t\tconst cell = getCellFromTableRef(\n\t\t\t\t\t\ttableRef,\n\t\t\t\t\t\tfocusedRow.rowIndex,\n\t\t\t\t\t\t0\n\t\t\t\t\t);\n\t\t\t\t\tif (!cell) return;\n\n\t\t\t\t\tconst newFocusedCell = {\n\t\t\t\t\t\tcellIndex: 0,\n\t\t\t\t\t\trowIndex: focusedRow.rowIndex,\n\t\t\t\t\t\tnode: cell.node,\n\t\t\t\t\t};\n\n\t\t\t\t\t// Unfocus the row\n\t\t\t\t\tsetNewRowFocus({ prevFocus: focusedRow, updateState });\n\t\t\t\t\tsetBehaviorState(updateState, { focusedRow: undefined });\n\n\t\t\t\t\t// Focus the cell\n\t\t\t\t\tsetNewCellFocus({\n\t\t\t\t\t\tnewFocus: newFocusedCell,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tdirectFocusSelectors,\n\t\t\t\t\t\tshouldFocus: true,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\ttoggleGroupedRow(dispatch, focusedRow.node.dataset.key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t/**\n\t\t\t\t * If the row is expanded and the user presses left, then the\n\t\t\t\t * row should be collapsed.\n\t\t\t\t */\n\t\t\t\tif (focusedRow.node.getAttribute('aria-expanded') === 'true') {\n\t\t\t\t\ttoggleGroupedRow(dispatch, focusedRow.node.dataset.key);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\t\tcase KEY.PAGE_UP:\n\t\tcase KEY.HOME:\n\t\tcase KEY.PAGE_DOWN:\n\t\tcase KEY.END: {\n\t\t\tif (key === KEY.PAGE_DOWN || key === KEY.END) {\n\t\t\t\tnewFocusedRow.rowIndex =\n\t\t\t\t\ttableRef.rows.length -\n\t\t\t\t\t1 -\n\t\t\t\t\ttableRef.rows.filter((row) => row.type === 'TFOOT').length;\n\t\t\t} else {\n\t\t\t\tnewFocusedRow.rowIndex = tableRef.rows.filter(\n\t\t\t\t\t(row) => row.type === 'THEAD'\n\t\t\t\t).length;\n\t\t\t}\n\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tconst row = getRowFromTableRef(tableRef, newFocusedRow.rowIndex);\n\tif (!row) return;\n\n\tif (row.node.parentElement?.tagName !== 'TBODY') return;\n\n\tnewFocusedRow.node = row.node;\n\n\tif (key === KEY.UP) {\n\t\tensureCellIntersection(\n\t\t\tnewFocusedRow.node,\n\t\t\ttableRef,\n\t\t\tscrollContainerSelector\n\t\t);\n\t}\n\n\tsetNewRowFocus({\n\t\tprevFocus: focusedRow,\n\t\tnewFocus: newFocusedRow,\n\t\tupdateState,\n\t\tshouldFocus: true,\n\t});\n};\n\n/**\n * This function handles the case where a user is navigating up via keyboard and the row is hidden behind the\n * sticky column headers. The cell is technically visible, so the browser doesn't move the page to scroll to it,\n * but the cell is obstructed. This function checks if the cell being focused is hidden behind the column header.\n * If so, it calculate show much to scroll the container down so that the cell is fully visible. This logic isn't\n * neded if the cell is obstructed by the list's viewport, since the browser will handle movement for that case.\n * @param {HTMLElement} node\n * @param {TableRef} tableRef\n * @param {string | undefined} scrollContainerSelector\n */\nexport const ensureCellIntersection = (\n\tnode,\n\ttableRef,\n\tscrollContainerSelector\n) => {\n\tif (!scrollContainerSelector) return;\n\n\tconst cellRect = node.getBoundingClientRect();\n\tconst colHeaderNode = tableRef.node.querySelector('thead');\n\tif (!colHeaderNode) return;\n\n\tconst colHeaderRect = colHeaderNode.getBoundingClientRect();\n\n\tconst isCellNodeHidden = colHeaderRect.bottom > cellRect.top;\n\n\tif (isCellNodeHidden) {\n\t\tconst scrollContainer = node.closest(scrollContainerSelector);\n\t\tif (!scrollContainer) return;\n\n\t\t// the amount of pixels that the cell is hidden by the column header\n\t\tconst scrollAmount = colHeaderRect.bottom - cellRect.top;\n\n\t\tscrollContainer.scrollTop -= scrollAmount;\n\t}\n};\n\n/**\n * Default function to determine whether to rerender based on if the property that changed was incldued in the rerenderProperties list\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const shouldTriggerRerenderDefaultFn = (coeffects) => {\n\tconst { action } = coeffects;\n\tconst { rerenderProperties } = getBehaviorOptions(action);\n\tif (!rerenderProperties || isEmpty(rerenderProperties)) return false;\n\n\tif (!rerenderProperties.includes(action?.payload?.name)) return false;\n\n\treturn true;\n};\n\n/**\n * Determines whether to rerender based on if the rows/column keys have changed\n * @param {Coeffects<Props, State>} coeffects\n * @returns {boolean}\n */\nexport const shouldTriggerRerender = (coeffects) => {\n\tconst {\n\t\taction,\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue },\n\t\t},\n\t\tproperties,\n\t} = coeffects;\n\tconst { virtualizedScrollEnabled } = properties;\n\tconst { rerenderProperties } = getBehaviorOptions(action);\n\tif (!rerenderProperties || isEmpty(rerenderProperties)) return false;\n\tconst currentPage = get(value, 'metadata.currentPage', null);\n\t// if the row/col keys don't change then we don't want to reset the focus state\n\tif ([ROW_DEFINITIONS, COLUMN_DEFINITIONS].includes(name)) {\n\t\tif (virtualizedScrollEnabled && currentPage !== 0) return false;\n\t\tconst objKey = name === ROW_DEFINITIONS ? 'rows' : 'columns';\n\t\tconst originalKeys = getKeys(previousValue, objKey);\n\t\tconst newKeys = getKeys(value, objKey);\n\t\t// update table ref when there is change in children in rowDefintions\n\t\tconst hasChildrenOriginal = hasChildren(previousValue, objKey);\n\t\tconst hasChildrenNew = hasChildren(value, objKey);\n\t\treturn (\n\t\t\t!isEqual(originalKeys, newKeys) ||\n\t\t\t!isEqual(hasChildrenOriginal, hasChildrenNew)\n\t\t);\n\t}\n\n\tif (!rerenderProperties.includes(name)) return false;\n\n\treturn true;\n};\n\n/**\n * @param {Row | ColumnBase} obj either a row or a column\n * @param {string} propertyName the field in the object where the keys live\n * @returns {Array<string>}\n */\nconst getKeys = (obj, propertyName) => {\n\tconst items = get(obj, `${propertyName}`, []);\n\tconst keys = [];\n\tconst stack = [...items];\n\n\twhile (stack.length > 0) {\n\t\tconst item = stack.pop();\n\n\t\tif (item.key) {\n\t\t\tkeys.push(item.key);\n\t\t}\n\n\t\tif (item.children && isArray(item.children)) {\n\t\t\tstack.push(...item.children);\n\t\t}\n\t}\n\n\treturn keys;\n};\n\n/**\n * Returns if any rows in rowDefinitions has children\n * @param {Row | ColumnBase} obj either a row or a column\n * @param {string} propertyName the field in the object where the keys live\n * @returns {boolean}\n */\nconst hasChildren = (obj, propertyName) => {\n\tif (propertyName !== 'rows') return true;\n\tconst items = get(obj, `${propertyName}`, []);\n\treturn items.some((/** @type {Row} */ obj) => obj.children !== undefined);\n};\n\n/**\n *\n * @param {Coeffects<Props, State>} coeffects\n * @param {HTMLElement} focusedNode\n * @returns\n */\nexport const handleBulkFocusClick = (coeffects, focusedNode) => {\n\tconst { action, state, updateState } = coeffects;\n\tconst {\n\t\tbulkFocus,\n\t\tbulkFocus: {\n\t\t\tinitialIndex,\n\t\t\tfocusedIndicies: prevFocusedIndicies = [],\n\t\t\tcolIndex: prevColIndex,\n\t\t},\n\t\ttableRef: grid,\n\t} = getBehaviorState(state);\n\n\tconst {\n\t\tpayload: {\n\t\t\tevent: { metaKey, shiftKey },\n\t\t},\n\t} = action;\n\n\tconst { navRow, navCol } = focusedNode.dataset;\n\n\t/** @type {number} */\n\tconst rowIndex = Number(navRow);\n\tconst colIndex = Number(navCol);\n\n\t// @ts-ignore\n\tconst { isValidCell, focusedRow } = getBulkFocusInfo(\n\t\tgrid,\n\t\trowIndex,\n\t\tcolIndex\n\t);\n\n\tif (!isValidCell) {\n\t\tresetBulkFocus(coeffects, focusedNode);\n\t}\n\n\tlet focusedIndicies = [...prevFocusedIndicies];\n\tconst isSameColumn = colIndex === prevColIndex;\n\tconst visited = focusedIndicies.includes(rowIndex) && isSameColumn;\n\n\tif (!metaKey && visited) return;\n\n\tconst stateUpdate = {\n\t\t...bulkFocus,\n\t\tpreviousKeys: get(focusedRow, 'node.dataset.key'),\n\t};\n\n\t// cmd click\n\tif (metaKey && isSameColumn) {\n\t\tstateUpdate.initialIndex = rowIndex;\n\n\t\t// deselect if selected\n\t\tif (visited) {\n\t\t\tfocusedIndicies.splice(focusedIndicies.indexOf(rowIndex), 1);\n\t\t}\n\t\t// otherwise select\n\t\telse {\n\t\t\tfocusedIndicies.push(rowIndex);\n\t\t}\n\t}\n\t// shift click\n\telse if (shiftKey && isSameColumn) {\n\t\tconst minIndex = initialIndex\n\t\t\t? Math.min(initialIndex, rowIndex)\n\t\t\t: rowIndex;\n\t\tconst maxIndex = initialIndex\n\t\t\t? Math.max(initialIndex, rowIndex)\n\t\t\t: rowIndex;\n\n\t\tfocusedIndicies = focusedIndicies.concat(range(minIndex, maxIndex + 1));\n\t}\n\t// regular click\n\telse {\n\t\tstateUpdate.initialIndex = rowIndex;\n\t\tstateUpdate.colIndex = colIndex;\n\t\tfocusedIndicies = [rowIndex];\n\t}\n\n\tfocusedIndicies = [...new Set(focusedIndicies)];\n\n\t/** @type  { Array<String> } */\n\tconst focusedKeys = [];\n\n\t// use set to remove duplicates, then loop to find valid cells to get Keys\n\t[...focusedIndicies].forEach((index) => {\n\t\t// @ts-ignore\n\t\tconst { focusedRow, isValidCell } = getBulkFocusInfo(\n\t\t\tgrid,\n\t\t\tindex,\n\t\t\tcolIndex\n\t\t);\n\t\tif (isValidCell) {\n\t\t\tfocusedKeys.push(get(focusedRow, 'node.dataset.key'));\n\t\t} else {\n\t\t\tfocusedIndicies.splice(focusedIndicies.indexOf(index), 1);\n\t\t}\n\t});\n\n\tstateUpdate.focusedIndicies = focusedIndicies;\n\n\tstateUpdate.focusedKeys = focusedKeys;\n\n\tif (!focusedRow) return;\n\n\tconst nearestTable = focusedRow.node.closest('TABLE');\n\tif (!nearestTable) return;\n\n\t// @ts-ignore\n\tnearestTable.setAttribute(NOW_GRID_BULK_FOCUSED_IDS, focusedKeys.join(','));\n\n\t// @ts-ignore\n\tupdateBulkStyles(focusedIndicies, grid, colIndex);\n\t// @ts-ignore\n\tsetBehaviorState(updateState, { bulkFocus: stateUpdate });\n};\n\n/**\n * Dispatches the focus list action that refocuses current focused cell.\n * Overrides the default focus function for now-list.\n * @param {Now.HostHTMLElement} host\n * @param {Now.Dispatch} dispatch\n */\nexport const focus = (host, dispatch) => {\n\tdispatch(FOCUS_LIST);\n};\n","export const NOW_LIST_OPEN_POPOVER_INTERNAL = 'NOW_LIST#OPEN_POPOVER_INTERNAL';\nexport const NOW_LIST_CLOSE_POPOVER_INTERNAL =\n\t'NOW_LIST#CLOSE_POPOVER_INTERNAL';\n\nexport const NOW_LIST_POPOVER_OPENED = 'NOW_LIST#POPOVER_OPENED';\nexport const NOW_LIST_POPOVER_CLOSED = 'NOW_LIST#POPOVER_CLOSED';\n\nexport const NOW_POPOVER_OPENED_SET = 'NOW_POPOVER#OPENED_SET';\n\nexport const BEHAVIOR_STATE_PATH = 'behaviors.popoverDefinitionBehavior';\n\nexport const CHOICE_COLUMN_FILTER = 'choiceColumnFilter';\n","export const ROW_DEFINITIONS_PATH = 'rowDefinitions';\nexport const CELL_EDIT_POPOVER_TYPE = 'cellEdit';\nexport const CELL_EDIT_APPLY_BUTTON_ID = 'cellEditApplyButton';\nexport const CELL_EDIT_CANCEL_BUTTON_ID = 'cellEditCancelButton';\nexport const CELL_EDIT_RETRY_BUTTON_ID = 'cellEditRetryButton';\n\n// component tags\nexport const CELL_EDIT_POPOVER_STRING = 'now-list-string-cell-editor-content';\nexport const CELL_EDIT_POPOVER_BOOLEAN = 'now-list-boolean-cell-editor-content';\nexport const CELL_EDIT_POPOVER_NUMBER = 'now-list-number-cell-editor-content';\nexport const CELL_EDIT_POPOVER_CURRENCY =\n\t'now-list-currency-cell-editor-content';\nexport const CELL_EDIT_POPOVER_DATE_TIME =\n\t'now-list-date-time-cell-editor-content';\nexport const CELL_EDIT_POPOVER_PILLS = 'now-list-pills-cell-editor-content';\nexport const CELL_EDIT_POPOVER_CHOICE = 'now-list-choice-cell-editor-content';\nexport const CELL_EDIT_POPOVER_URL = 'now-list-url-cell-editor-content';\nexport const CELL_EDIT_POPOVER_LINK = 'now-list-link-cell-editor-content';\nexport const CELL_EDIT_POPOVER_ICON = 'now-list-icon-cell-editor-content';\nexport const CELL_EDIT_POPOVER_PERSON = 'now-list-person-cell-editor-content';\nexport const CELL_EDIT_POPOVER_HTML = 'now-list-html-cell-editor-content';\n\n//component events\nexport const NOW_INPUT_VALUE_SET = 'NOW_INPUT#VALUE_SET';\nexport const NOW_BUTTON_CLICKED = 'NOW_BUTTON#CLICKED';\nexport const NOW_RADIO_BUTTONS_VALUE_SET = 'NOW_RADIO_BUTTONS#VALUE_SET';\nexport const NOW_DATE_TIME_VALUE_SET = 'NOW_DATE_TIME#VALUE_SET';\nexport const NOW_TYPEAHEAD_MULTI_SELECTED_ITEMS_SET =\n\t'NOW_TYPEAHEAD_MULTI#SELECTED_ITEMS_SET';\nexport const NOW_SELECT_SELECTED_ITEM_SET = 'NOW_SELECT#SELECTED_ITEM_SET';\nexport const NOW_INPUT_URL_VALUE_SET = 'NOW_INPUT_URL#VALUE_SET';\nexport const NOW_HTML_VALUE_SET = 'NOW_RECORD_HTML_EDITOR#VALUE_CHANGED';\n\n//internal events\nexport const CELL_EDIT_INTERNAL = 'CELL_EDIT_INTERNAL';\n\n//internally dispatched events\nexport const NOW_LIST_CELL_EDITOR_CONTENT_VALUE_UPDATED =\n\t'NOW_LIST_CELL_EDITOR_CONTENT#VALUE_UPDATED';\n\n//dispatched events\nexport const NOW_LIST_POPOVER_BUTTON_CLICKED =\n\t'NOW_LIST#POPOVER_BUTTON_CLICKED';\nexport const NOW_LIST_CELL_EDIT_REQUESTED = 'NOW_LIST#CELL_EDIT_REQUESTED';\nexport const NOW_LIST_CELL_EDIT_SUBMITTED = 'NOW_LIST#CELL_EDIT_SUBMITTED';\n","import cloneDeep from 'lodash/cloneDeep';\nimport get from 'lodash/get';\nimport { t } from 'sn-translate';\n\nimport {\n\tTYPE_BOOLEAN,\n\tTYPE_NUMBER,\n\tTYPE_CURRENCY,\n\tTYPE_DATE_TIME,\n\tTYPE_PILLS,\n\tTYPE_CHOICE,\n\tTYPE_URL,\n\tTYPE_LINK,\n\tTYPE_ICON,\n\tTYPE_PERSON,\n\tTYPE_PERCENT_COMPLETE,\n\tTYPE_HTML,\n} from '../../typeSchemas/columnDefinitions/columnTypes/columnTypes';\nimport {\n\tgetBehaviorState,\n\tsetBehaviorState,\n} from '../keyboardNavBehavior/keyboardNavHelpers';\nimport { updateBulkStyles } from '../keyboardNavBehavior/utils';\nimport {\n\tNOW_LIST_CLOSE_POPOVER_INTERNAL,\n\tNOW_LIST_OPEN_POPOVER_INTERNAL,\n} from '../popoverBehavior/constants';\n\nimport {\n\tCELL_EDIT_INTERNAL,\n\tCELL_EDIT_APPLY_BUTTON_ID,\n\tCELL_EDIT_CANCEL_BUTTON_ID,\n\tNOW_LIST_CELL_EDIT_REQUESTED,\n\tNOW_LIST_CELL_EDIT_SUBMITTED,\n\tNOW_LIST_POPOVER_BUTTON_CLICKED,\n\tCELL_EDIT_POPOVER_STRING,\n\tROW_DEFINITIONS_PATH,\n\tCELL_EDIT_POPOVER_BOOLEAN,\n\tCELL_EDIT_POPOVER_NUMBER,\n\tCELL_EDIT_POPOVER_CURRENCY,\n\tCELL_EDIT_POPOVER_DATE_TIME,\n\tCELL_EDIT_POPOVER_TYPE,\n\tCELL_EDIT_RETRY_BUTTON_ID,\n\tCELL_EDIT_POPOVER_PILLS,\n\tCELL_EDIT_POPOVER_CHOICE,\n\tCELL_EDIT_POPOVER_URL,\n\tCELL_EDIT_POPOVER_LINK,\n\tCELL_EDIT_POPOVER_ICON,\n\tCELL_EDIT_POPOVER_PERSON,\n\tCELL_EDIT_POPOVER_HTML,\n} from './constants';\n\nconst popoverConfig = {\n\tariaLabel: t('Cell Edit Popover'),\n\tdismissOnScroll: false,\n\thideTail: true,\n\tdismissable: false,\n};\n\n/**\n * @param {Dispatch} dispatch\n * @param {HTMLElement} cellRef\n * @param {Context} context\n * @param {String} message\n */\nexport const openCellEditPopoverWithMessage = (\n\tdispatch,\n\tcellRef,\n\tcontext,\n\tmessage\n) => {\n\tdispatch(NOW_LIST_OPEN_POPOVER_INTERNAL, {\n\t\tpopoverTarget: cellRef,\n\t\tpopoverDefinition: {\n\t\t\tconfig: popoverConfig,\n\t\t\tcontent: {\n\t\t\t\tpopoverType: CELL_EDIT_POPOVER_TYPE,\n\t\t\t\tbuttonsConfig: {\n\t\t\t\t\tdisableApply: true,\n\t\t\t\t},\n\t\t\t\thighlightedMessage: {\n\t\t\t\t\tshowIcon: true,\n\t\t\t\t\ticon: 'triangle-exclamation-outline',\n\t\t\t\t\tcolor: 'warning',\n\t\t\t\t\tlabel: message,\n\t\t\t\t\tvariant: 'tertiary',\n\t\t\t\t},\n\t\t\t\tdefaultComponentProps: {\n\t\t\t\t\tactionsContext: context,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tcontext,\n\t});\n};\n\n/**\n *\n * @param {Now.SeismicState<Props, State>} state\n * @returns list of rows\n */\nexport const getClonedRows = (state) =>\n\tcloneDeep(get(state, ROW_DEFINITIONS_PATH, []));\n\n/**\n *\n * @param {Now.SeismicState<Props, State>} state\n * @returns processed selected Rows, and table ref\n */\nexport const getRowsToUpdate = (state) => {\n\tconst { bulkFocus, tableRef } = getBehaviorState(state);\n\tconst clonedRows = getClonedRows(state);\n\n\tconst rowsToUpdate = clonedRows.rows\n\t\t? clonedRows.rows.filter((/** @type {{ key: string; }} */ row) =>\n\t\t\t\tbulkFocus.focusedKeys.includes(row.key)\n\t\t  )\n\t\t: [];\n\n\treturn {\n\t\trowsToUpdate,\n\t\tclonedRows,\n\t\ttableRef,\n\t\tbulkFocus,\n\t};\n};\n\n/**\n * @param {String} cellType\n * @returns\n */\nexport const getComponentTag = (cellType) =>\n\t({\n\t\t[TYPE_BOOLEAN]: CELL_EDIT_POPOVER_BOOLEAN,\n\t\t[TYPE_NUMBER]: CELL_EDIT_POPOVER_NUMBER,\n\t\t[TYPE_PERCENT_COMPLETE]: CELL_EDIT_POPOVER_NUMBER,\n\t\t[TYPE_CURRENCY]: CELL_EDIT_POPOVER_CURRENCY,\n\t\t[TYPE_DATE_TIME]: CELL_EDIT_POPOVER_DATE_TIME,\n\t\t[TYPE_PILLS]: CELL_EDIT_POPOVER_PILLS,\n\t\t[TYPE_CHOICE]: CELL_EDIT_POPOVER_CHOICE,\n\t\t[TYPE_URL]: CELL_EDIT_POPOVER_URL,\n\t\t[TYPE_LINK]: CELL_EDIT_POPOVER_LINK,\n\t\t[TYPE_ICON]: CELL_EDIT_POPOVER_ICON,\n\t\t[TYPE_PERSON]: CELL_EDIT_POPOVER_PERSON,\n\t\t[TYPE_HTML]: CELL_EDIT_POPOVER_HTML,\n\t}[cellType] || CELL_EDIT_POPOVER_STRING);\n\n/**\n * dispatched when a cell is double-clicked and the cell editing popover is requested.\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const cellEditRequestedEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { cellRef, context },\n\t\t},\n\t\tproperties: { cellEditingEnabled, cellEditingManaged },\n\t\tdispatch,\n\t\tstate,\n\t} = coeffects;\n\n\tconst {\n\t\tcell: { type },\n\t} = context;\n\n\tif (!cellEditingEnabled) {\n\t\treturn;\n\t}\n\n\tif (context.column.cellEditingDisabled) {\n\t\topenCellEditPopoverWithMessage(\n\t\t\tdispatch,\n\t\t\tcellRef,\n\t\t\tcontext,\n\t\t\tt(\n\t\t\t\t'This column can’t be edited due to its settings. Contact your admin to request permissions.'\n\t\t\t)\n\t\t);\n\t\treturn;\n\t}\n\n\tif (context.cell.editingDisabled) {\n\t\topenCellEditPopoverWithMessage(\n\t\t\tdispatch,\n\t\t\tcellRef,\n\t\t\tcontext,\n\t\t\tt(\n\t\t\t\t'This cell can’t be edited due to its settings. Contact your admin to request permissions.'\n\t\t\t)\n\t\t);\n\t\treturn;\n\t}\n\tconst { rowsToUpdate, bulkFocus } = getRowsToUpdate(state);\n\n\t/** @type {boolean} */\n\tconst selectedCellsEditingEnabled = rowsToUpdate.some(\n\t\t(/** @type {{ key: Object; }} */ row) =>\n\t\t\t// @ts-ignore\n\t\t\trow.cells[context.column.key]?.editingDisabled\n\t);\n\n\tif (selectedCellsEditingEnabled) {\n\t\topenCellEditPopoverWithMessage(\n\t\t\tdispatch,\n\t\t\tcellRef,\n\t\t\tcontext,\n\t\t\tt(\n\t\t\t\t`Some of these cells can't be edited due to their settings. Only select cells that allow editing.`\n\t\t\t)\n\t\t);\n\t\treturn;\n\t}\n\n\tcontext.selectedKeys = bulkFocus.focusedKeys;\n\tconst componentTag = getComponentTag(type);\n\n\t/**\n\t * When cellEditingManaged (now-list component level property) is true, we dispatch the event NOW_LIST#CELL_EDIT_REQUESTED.\n\t * An external source (eg. list controller) listens and defines the content of the popover and updates the popoverDefinition.\n\t */\n\tif (cellEditingManaged) {\n\t\tdispatch(NOW_LIST_CELL_EDIT_REQUESTED, {\n\t\t\tcontext,\n\t\t});\n\t} else {\n\t\tdispatch(NOW_LIST_OPEN_POPOVER_INTERNAL, {\n\t\t\tpopoverTarget: cellRef,\n\t\t\tpopoverDefinition: {\n\t\t\t\tconfig: popoverConfig,\n\t\t\t\tcontent: {\n\t\t\t\t\tpopoverType: CELL_EDIT_POPOVER_TYPE,\n\t\t\t\t\tcomponentTag: componentTag,\n\t\t\t\t\tdefaultComponentProps: {\n\t\t\t\t\t\tactionsContext: context,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tcontext,\n\t\t});\n\t}\n};\n\n/**\n * dispatched when a button on the cell edit popover is clicked.\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const cellEditingPopoverButtonClickedEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { id, context, payload },\n\t\t},\n\t\tproperties: { cellEditingManaged },\n\t\tupdateState,\n\t\tstate,\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (id === CELL_EDIT_APPLY_BUTTON_ID) {\n\t\tconst oldValue = {\n\t\t\tvalue: context.cell.value,\n\t\t\tlabel: context.cell.label,\n\t\t\tcolor: context.cell.color,\n\t\t\tpersonKey: context.cell.personKey,\n\t\t\timageSrc: context.cell.imageSrc,\n\t\t};\n\n\t\tconst { value, label, color, personKey, imageSrc } = payload;\n\t\tconst newValue = { value, label, color, personKey, imageSrc };\n\n\t\tconst { rowsToUpdate, clonedRows, tableRef } = getRowsToUpdate(state);\n\t\tif (!cellEditingManaged) {\n\t\t\trowsToUpdate.forEach((\n\t\t\t\t/** @type {{ cells: { [x: string]: cellEditingPayload };}} */ row\n\t\t\t) => {\n\t\t\t\trow.cells[context.column.key].value = newValue.value;\n\t\t\t\tif (newValue.label !== undefined) {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\trow.cells[context.column.key].label = newValue.label;\n\t\t\t\t}\n\t\t\t\tif (newValue.color !== undefined) {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\trow.cells[context.column.key].color = newValue.color;\n\t\t\t\t}\n\t\t\t\tif (newValue.personKey !== undefined) {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\trow.cells[context.column.key].personKey =\n\t\t\t\t\t\tnewValue.personKey;\n\t\t\t\t}\n\t\t\t\tif (newValue.imageSrc !== undefined) {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\trow.cells[context.column.key].imageSrc = newValue.imageSrc;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tupdateState({\n\t\t\t\tpath: ROW_DEFINITIONS_PATH,\n\t\t\t\tvalue: clonedRows,\n\t\t\t\toperation: 'set',\n\t\t\t});\n\t\t}\n\n\t\t/**\n\t\t * Passing managed to put a check on the controller/external source not to save the changes on the table\n\t\t * if cellEditingManaged property is false\n\t\t */\n\t\tdispatch(NOW_LIST_CELL_EDIT_SUBMITTED, {\n\t\t\tmanaged: cellEditingManaged,\n\t\t\tcontext: context,\n\t\t\toldValue: oldValue,\n\t\t\tnewValue: newValue,\n\t\t});\n\n\t\tupdateBulkStyles([], tableRef, 0);\n\t\tsetBehaviorState(updateState, {\n\t\t\tbulkFocus: {\n\t\t\t\tfocusedKeys: [context.row.key],\n\t\t\t\tfocusedIndicies: [context.rowIndex + 1],\n\t\t\t\tpreviousKeys: context.row.key,\n\t\t\t\tcolIndex: context.columnIndex,\n\t\t\t\tinitialIndex: context.rowIndex + 1,\n\t\t\t},\n\t\t});\n\n\t\tif (!cellEditingManaged) {\n\t\t\tdispatch(NOW_LIST_CLOSE_POPOVER_INTERNAL);\n\t\t}\n\t} else if (id === CELL_EDIT_RETRY_BUTTON_ID) {\n\t\tdispatch(CELL_EDIT_INTERNAL, {\n\t\t\tcontext: context,\n\t\t});\n\t\tdispatch(NOW_LIST_CLOSE_POPOVER_INTERNAL);\n\t} else if (id === CELL_EDIT_CANCEL_BUTTON_ID) {\n\t\tdispatch(NOW_LIST_CLOSE_POPOVER_INTERNAL);\n\t}\n};\n\nconst cellEditingBehavior = {\n\tname: 'cellEditingBehavior',\n\n\t/**@type {ActionHandlers<Props,State>} */\n\tactionHandlers: {\n\t\t[CELL_EDIT_INTERNAL]: {\n\t\t\teffect: cellEditRequestedEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_LIST_POPOVER_BUTTON_CLICKED]: {\n\t\t\teffect: cellEditingPopoverButtonClickedEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\nexport default cellEditingBehavior;\n","import { t } from 'sn-translate';\n\n// CLASSNAMES\nexport const COLUMN_FILTERING_ROW_CLASS = 'column-filtering-row';\nexport const COLUMN_FILTERING_ROW_ID = 'columnFilteringRow';\nexport const COLUMN_FILTERING_VALUE_INPUT_CLASS =\n\t'column-filtering-value-input';\n\n// UI CONSTS\nexport const COLUMN_FILTERING_VALUE_PLACEHOLDER = t('Value');\nexport const COLUMN_FILTERING_VALUE_ARIA_LABEL = t('Value');\nexport const COLUMN_FILTERING_VALUE_INPUT_NAME = 'valueInput';\nexport const COLUMN_FILTERING_CHOICE_TYPE_TRIGGER_BUTTON_NAME =\n\t'columnFilteringChoiceTypeTriggerButton';\nexport const COLUMN_FILTERING_SELECT_ALL_BUTTON_NAME =\n\t'column-filter-select-all';\nexport const COLUMN_FILTERING_SELECT_NONE_BUTTON_NAME =\n\t'column-filter-select-none';\nexport const SHOW_HIDE_COLUMN_FILTERING_ROW_ACTION =\n\t'showHideColumnFilteringRowAction';\nexport const REMOVE_COLUMN_FILTER_BUTTON = 'removeColumnFilterButton';\nexport const REMOVE_COLUMN_FILTER_ARIA_LABEL = t('Remove Column Filter');\nexport const SHOW_HIDE_COLUMN_FILTERING_ROW_ICON =\n\t'magnifying-glass-filter-outline';\nexport const DATE_TIME_APPLY_LABEL = t('Apply');\nexport const DATE_TIME_APPLY_BUTTON_NAME = 'dateTimeApplyButton';\nexport const DATE_TIME_CANCEL_LABEL = t('Cancel');\nexport const DATE_TIME_CANCEL_BUTTON_NAME = 'dateTimeCancelButton';\n\n// OPERATORS\nexport const IS_OPERATOR_ID = '=';\nexport const IS_OPERATOR_LABEL = 'is';\nexport const IS_OPERATOR_ITEM = {\n\tid: IS_OPERATOR_ID,\n\tlabel: IS_OPERATOR_LABEL,\n};\n\nexport const IS_NOT_OPERATOR_ID = '!=';\nexport const IS_NOT_OPERATOR_LABEL = 'is not';\nexport const IS_NOT_OPERATOR_ITEM = {\n\tid: IS_NOT_OPERATOR_ID,\n\tlabel: IS_NOT_OPERATOR_LABEL,\n};\n\nexport const STARTS_WITH_OPERATOR_ID = 'STARTSWITH';\nexport const STARTS_WITH_OPERATOR_LABEL = 'starts with';\nexport const STARTS_WITH_OPERATOR_ITEM = {\n\tid: STARTS_WITH_OPERATOR_ID,\n\tlabel: STARTS_WITH_OPERATOR_LABEL,\n};\n\nexport const ENDS_WITH_OPERATOR_ID = 'ENDSWITH';\nexport const ENDS_WITH_OPERATOR_LABEL = 'ends with';\nexport const ENDS_WITH_OPERATOR_ITEM = {\n\tid: ENDS_WITH_OPERATOR_ID,\n\tlabel: ENDS_WITH_OPERATOR_LABEL,\n};\n\nexport const CONTAINS_OPERATOR_ID = 'LIKE';\nexport const CONTAINS_OPERATOR_LABEL = 'contains';\nexport const CONTAINS_OPERATOR_ITEM = {\n\tid: CONTAINS_OPERATOR_ID,\n\tlabel: CONTAINS_OPERATOR_LABEL,\n};\n\nexport const DOES_NOT_CONTAIN_OPERATOR_ID = 'NOTLIKE';\nexport const DOES_NOT_CONTAIN_OPERATOR_LABEL = 'does not contain';\nexport const DOES_NOT_CONTAIN_OPERATOR_ITEM = {\n\tid: DOES_NOT_CONTAIN_OPERATOR_ID,\n\tlabel: DOES_NOT_CONTAIN_OPERATOR_LABEL,\n};\n\nexport const IS_EMPTY_OPERATOR_ID = 'ISEMPTY';\nexport const IS_EMPTY_OPERATOR_LABEL = 'is empty';\nexport const IS_EMPTY_OPERATOR_ITEM = {\n\tid: IS_EMPTY_OPERATOR_ID,\n\tlabel: IS_EMPTY_OPERATOR_LABEL,\n\trequiresValue: false,\n};\n\nexport const IS_NOT_EMPTY_OPERATOR_ID = 'ISNOTEMPTY';\nexport const IS_NOT_EMPTY_OPERATOR_LABEL = 'is not empty';\nexport const IS_NOT_EMPTY_OPERATOR_ITEM = {\n\tid: IS_NOT_EMPTY_OPERATOR_ID,\n\tlabel: IS_NOT_EMPTY_OPERATOR_LABEL,\n\trequiresValue: false,\n};\n\nexport const IS_ANYTHING_OPERATOR_ID = 'ANYTHING';\nexport const IS_ANYTHING_OPERATOR_LABEL = 'is anything';\nexport const IS_ANYTHING_OPERATOR_ITEM = {\n\tid: IS_ANYTHING_OPERATOR_ID,\n\tlabel: IS_ANYTHING_OPERATOR_LABEL,\n\trequiresValue: false,\n};\n\nexport const LESS_THAN_OPERATOR_ID = '<';\nexport const LESS_THAN_OPERATOR_LABEL = 'is less than';\nexport const LESS_THAN_OPERATOR_ITEM = {\n\tid: LESS_THAN_OPERATOR_ID,\n\tlabel: LESS_THAN_OPERATOR_LABEL,\n};\n\nexport const GREATER_THAN_OPERATOR_ID = '>';\nexport const GREATER_THAN_OPERATOR_LABEL = 'is greater than';\nexport const GREATER_THAN_OPERATOR_ITEM = {\n\tid: GREATER_THAN_OPERATOR_ID,\n\tlabel: GREATER_THAN_OPERATOR_LABEL,\n};\n\nexport const LESS_THAN_OR_EQUAL_OPERATOR_ID = '<=';\nexport const LESS_THAN_OR_EQUAL_OPERATOR_LABEL = 'is less than or is';\nexport const LESS_THAN_OR_EQUAL_OPERATOR_ITEM = {\n\tid: LESS_THAN_OR_EQUAL_OPERATOR_ID,\n\tlabel: LESS_THAN_OR_EQUAL_OPERATOR_LABEL,\n};\n\nexport const GREATER_THAN_OR_EQUAL_OPERATOR_ID = '>=';\nexport const GREATER_THAN_OR_EQUAL_OPERATOR_LABEL = 'is greater than or is';\nexport const GREATER_THAN_OR_EQUAL_OPERATOR_ITEM = {\n\tid: GREATER_THAN_OR_EQUAL_OPERATOR_ID,\n\tlabel: GREATER_THAN_OR_EQUAL_OPERATOR_LABEL,\n};\n\nexport const DATE_TIME_LESS_THAN_OPERATOR_ID = '<';\nexport const DATE_TIME_LESS_THAN_OPERATOR_LABEL = 'before';\nexport const DATE_TIME_LESS_THAN_OPERATOR_ITEM = {\n\tid: DATE_TIME_LESS_THAN_OPERATOR_ID,\n\tlabel: DATE_TIME_LESS_THAN_OPERATOR_LABEL,\n};\n\nexport const DATE_TIME_GREATER_THAN_OPERATOR_ID = '>';\nexport const DATE_TIME_GREATER_THAN_OPERATOR_LABEL = 'after';\nexport const DATE_TIME_GREATER_THAN_OPERATOR_ITEM = {\n\tid: DATE_TIME_GREATER_THAN_OPERATOR_ID,\n\tlabel: DATE_TIME_GREATER_THAN_OPERATOR_LABEL,\n};\n\nexport const DATE_TIME_LESS_THAN_OR_EQUAL_OPERATOR_ID = '<=';\nexport const DATE_TIME_LESS_THAN_OR_EQUAL_OPERATOR_LABEL = 'at or before';\nexport const DATE_TIME_LESS_THAN_OR_EQUAL_OPERATOR_ITEM = {\n\tid: DATE_TIME_LESS_THAN_OR_EQUAL_OPERATOR_ID,\n\tlabel: DATE_TIME_LESS_THAN_OR_EQUAL_OPERATOR_LABEL,\n};\n\nexport const DATE_TIME_GREATER_THAN_OR_EQUAL_OPERATOR_ID = '>=';\nexport const DATE_TIME_GREATER_THAN_OR_EQUAL_OPERATOR_LABEL = 'at or after';\nexport const DATE_TIME_GREATER_THAN_OR_EQUAL_OPERATOR_ITEM = {\n\tid: DATE_TIME_GREATER_THAN_OR_EQUAL_OPERATOR_ID,\n\tlabel: DATE_TIME_GREATER_THAN_OR_EQUAL_OPERATOR_LABEL,\n};\n\nexport const IS_ONE_OF_OPERATOR_ID = 'IN';\nexport const IS_ONE_OF_OPERATOR_LABEL = 'is one of';\nexport const IS_ONE_OF_OPERATOR_ITEM = {\n\tid: IS_ONE_OF_OPERATOR_ID,\n\tlabel: IS_ONE_OF_OPERATOR_LABEL,\n};\n\nexport const IS_NOT_ONE_OF_OPERATOR_ID = 'NOT IN';\nexport const IS_NOT_ONE_OF_OPERATOR_LABEL = 'is one of';\nexport const IS_NOT_ONE_OF_OPERATOR_ITEM = {\n\tid: IS_NOT_ONE_OF_OPERATOR_ID,\n\tlabel: IS_NOT_ONE_OF_OPERATOR_LABEL,\n};\n\nexport const ON_OPERATOR_ID = 'ON';\nexport const ON_OPERATOR_LABEL = 'on';\nexport const ON_OPERATOR_ITEM = {\n\tid: ON_OPERATOR_ID,\n\tlabel: ON_OPERATOR_LABEL,\n};\n\nexport const NOT_ON_OPERATOR_ID = 'NOTON';\nexport const NOT_ON_OPERATOR_LABEL = 'not on';\nexport const NOT_ON_OPERATOR_ITEM = {\n\tid: NOT_ON_OPERATOR_ID,\n\tlabel: NOT_ON_OPERATOR_LABEL,\n};\n\nexport const GENERIC_FILTER_OPERATORS = [\n\tIS_OPERATOR_ITEM,\n\tIS_NOT_OPERATOR_ITEM,\n\tSTARTS_WITH_OPERATOR_ITEM,\n\tENDS_WITH_OPERATOR_ITEM,\n\tCONTAINS_OPERATOR_ITEM,\n\tDOES_NOT_CONTAIN_OPERATOR_ITEM,\n\tIS_EMPTY_OPERATOR_ITEM,\n\tIS_NOT_EMPTY_OPERATOR_ITEM,\n];\n\nexport const GENERIC_FILTER_DEFAULT_OPERATOR = CONTAINS_OPERATOR_ID;\n\nexport const NUMBER_FILTER_OPERATORS = [\n\tIS_OPERATOR_ITEM,\n\tIS_NOT_ONE_OF_OPERATOR_ITEM,\n\tIS_EMPTY_OPERATOR_ITEM,\n\tIS_NOT_EMPTY_OPERATOR_ITEM,\n\tLESS_THAN_OPERATOR_ITEM,\n\tGREATER_THAN_OPERATOR_ITEM,\n\tLESS_THAN_OR_EQUAL_OPERATOR_ITEM,\n\tGREATER_THAN_OR_EQUAL_OPERATOR_ITEM,\n];\n\nexport const NUMBER_FILTER_DEFAULT_OPERATOR = IS_OPERATOR_ID;\n\nexport const BOOLEAN_FILTER_OPERATORS = [\n\tIS_OPERATOR_ITEM,\n\tIS_NOT_OPERATOR_ITEM,\n\tIS_EMPTY_OPERATOR_ITEM,\n\tIS_NOT_EMPTY_OPERATOR_ITEM,\n];\n\nexport const BOOLEAN_FILTER_DEFAULT_OPERATOR = IS_OPERATOR_ID;\n\n// BETWEEN intentionally excluded to simplify UI\nexport const DATE_TIME_FILTER_OPERATORS = [\n\tON_OPERATOR_ITEM,\n\tNOT_ON_OPERATOR_ITEM,\n\tDATE_TIME_LESS_THAN_OPERATOR_ITEM,\n\tDATE_TIME_GREATER_THAN_OPERATOR_ITEM,\n\tDATE_TIME_LESS_THAN_OR_EQUAL_OPERATOR_ITEM,\n\tDATE_TIME_GREATER_THAN_OR_EQUAL_OPERATOR_ITEM,\n\tIS_EMPTY_OPERATOR_ITEM,\n\tIS_NOT_EMPTY_OPERATOR_ITEM,\n];\n\nexport const DATE_TIME_FILTER_DEFAULT_OPERATOR = ON_OPERATOR_ID;\n","import get from 'lodash/get';\n\nconst featureFlagSelectors = {\n\t/**\n\t * @param {object} featureFlags\n\t *\n\t * @returns {boolean}\n\t */\n\tgetColumnResizingEnabled: (featureFlags) => {\n\t\treturn get(featureFlags, 'columnResizingEnabled');\n\t},\n\n\t/**\n\t * @param {object} featureFlags\n\t *\n\t * @returns {boolean}\n\t */\n\tgetColumnDragDropEnabled: (featureFlags) => {\n\t\treturn get(featureFlags, 'columnDragDropEnabled');\n\t},\n\n\t/**\n\t * @param {object} featureFlags\n\t *\n\t * @returns {boolean}\n\t */\n\tgetColumnFilteringEnabled: (featureFlags) => {\n\t\treturn get(featureFlags, 'columnFilteringEnabled');\n\t},\n\n\t/**\n\t * @param {object} featureFlags\n\t * @param {boolean | undefined} featureFlags.virtualizedScrollEnabled\n\t * @returns {boolean}\n\t */\n\tgetRowDragDropEnabled: (featureFlags) => {\n\t\tconst { virtualizedScrollEnabled } = featureFlags;\n\t\treturn virtualizedScrollEnabled\n\t\t\t? false\n\t\t\t: get(featureFlags, 'rowDragDropEnabled');\n\t},\n\n\t/**\n\t * @param {object} featureFlags\n\t *\n\t * @returns {boolean}\n\t */\n\tgetSelectionEnabled: (featureFlags) => {\n\t\treturn get(featureFlags, 'selectionEnabled');\n\t},\n\n\t/**\n\t * @param {object} featureFlags\n\t *\n\t * @returns {boolean}\n\t */\n\tgetExpandAllGroups: (featureFlags) => {\n\t\treturn get(featureFlags, 'expandAllGroups');\n\t},\n\n\t/**\n\t * @param {object} featureFlags\n\t *\n\t * @returns {number}\n\t */\n\tgetMaxCharacters: (featureFlags) => {\n\t\treturn get(featureFlags, 'maxCharacters');\n\t},\n};\n\nexport default featureFlagSelectors;\n","import {\n\tget,\n\tisEmpty,\n\tisArray,\n\tincludes,\n\thas,\n\tsome,\n\tfilter,\n\tset,\n\treduce,\n\tunion,\n\tmap,\n} from 'lodash';\nimport { get as fpGet, getOr } from 'lodash/fp';\n\nimport {\n\tDEFAULT_ROW_ACTION_NUM_ICONS,\n\tPOSITION_TABLE_START,\n} from '../../../typeSchemas/rowDefinitions/rowConfigConsts.js';\nimport {\n\tROW_TYPE_DEFAULT,\n\tROW_TYPE_GROUPED,\n\tROW_TYPE_CUSTOM,\n} from '../../../typeSchemas/rowDefinitions/rowTypes/rowTypes.js';\n\nconst {\n\tACTIONABLE_MESSAGE_STATUS_DEFAULT,\n\tACTIONABLE_MESSAGE_ICONS_DICT,\n} = require('../../views/actionableMessage/constants.js');\n\nconst rowSelectors = {\n\t/* MULTIPLE ROWS SELECTORS */\n\n\t/**\n\t * Selector for getting rows from rowDefinitions object\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {Array<Row>} rows field of row definitions object\n\t */\n\tgetRows: function (rowDefinitions) {\n\t\treturn get(rowDefinitions, 'rows');\n\t},\n\n\t/**\n\t * Selector for getting specific row from rowDefinitions object based on row key\n\t * @param {Row[]} rows\n\t * @param {string} rowKey\n\t *\n\t * @returns {Row | null} return individual row from rowDefinitions object based on row key\n\t */\n\tgetRow: function (rows, rowKey) {\n\t\tfor (const row of rows) {\n\t\t\tif (row.key === rowKey) {\n\t\t\t\treturn row;\n\t\t\t}\n\t\t\tif (row.children && row.children.length > 0) {\n\t\t\t\t// @ts-ignore\n\t\t\t\tconst result = this.getRow(row.children, rowKey);\n\t\t\t\tif (result) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t},\n\n\t/**\n\t * Selector for getting all row keys from rows array\n\t * @param {Array<Row>} rows\n\t *\n\t * @returns {Array<string>} array of row keys from rows array\n\t */\n\tgetAllRowKeys: function (rows = []) {\n\t\treturn rows.reduce((\n\t\t\t/** @type {string[]} */ allRowKeys,\n\t\t\t/** @type {Row} */ row\n\t\t) => {\n\t\t\tconst rowType = get(row, 'type');\n\t\t\tif (rowType === ROW_TYPE_DEFAULT || !rowType)\n\t\t\t\tallRowKeys = allRowKeys.concat(row.key);\n\t\t\tconst childRowKeys = row.children?.map((childRow) => childRow.key);\n\t\t\tif (!isEmpty(childRowKeys))\n\t\t\t\t// @ts-ignore\n\t\t\t\tallRowKeys = allRowKeys.concat(childRowKeys);\n\t\t\treturn allRowKeys;\n\t\t}, []);\n\t},\n\n\t/**\n\t * Selector for getting all highlighted row keys from rows array\n\t * @param {Array<Row>} rows\n\t *\n\t * @returns {Array<string>} array of highlighted row keys from rows array\n\t */\n\tgetAllHighlightedRowKeys: function (rows = []) {\n\t\treturn rows.reduce((\n\t\t\t/** @type {string[]} */ allHighlightedRowKeys,\n\t\t\t/** @type {Row} */ row\n\t\t) => {\n\t\t\tconst rowType = get(row, 'type');\n\t\t\tif (\n\t\t\t\t(rowType === ROW_TYPE_DEFAULT || !rowType) &&\n\t\t\t\tthis.isRowHighlighted(row)\n\t\t\t)\n\t\t\t\tallHighlightedRowKeys = allHighlightedRowKeys.concat(row.key);\n\n\t\t\tconst childHighlightedKeys =\n\t\t\t\trow.children?.flatMap(\n\t\t\t\t\t/** @type {Row[]} */ (childRow) =>\n\t\t\t\t\t\tthis.isRowHighlighted(childRow) ? [childRow.key] : []\n\t\t\t\t) || [];\n\n\t\t\tallHighlightedRowKeys = allHighlightedRowKeys.concat(\n\t\t\t\tchildHighlightedKeys\n\t\t\t);\n\t\t\treturn allHighlightedRowKeys;\n\t\t}, []);\n\t},\n\n\t/**\n\t * Check to see if rowDefinitions has at least one row\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {boolean}\n\t */\n\thasRows: (rowDefinitions) => {\n\t\treturn !isEmpty(get(rowDefinitions, 'rows'));\n\t},\n\n\t/**\n\t * Selector for getting actionableMessage config for top actionable message\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {ActionableMessage}\n\t */\n\tgetTopActionableMessage: function (rowDefinitions) {\n\t\treturn get(rowDefinitions, 'topActionableMessage');\n\t},\n\n\t/**\n\t * Selector for getting actionableMessage config for bottom actionable message\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {ActionableMessage}\n\t */\n\tgetBottomActionableMessage: function (rowDefinitions) {\n\t\treturn get(rowDefinitions, 'bottomActionableMessage');\n\t},\n\n\t/**\n\t * Selector for checking existence of actionableMessage config for top actionable message\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {boolean}\n\t */\n\thasTopActionableMessage: function (rowDefinitions) {\n\t\treturn (\n\t\t\thas(rowDefinitions, 'topActionableMessage') &&\n\t\t\t!isEmpty(rowDefinitions?.topActionableMessage)\n\t\t);\n\t},\n\n\t/**\n\t * Selector for checking existence of actionableMessage config for bottom actionable message\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {boolean}\n\t */\n\thasBottomActionableMessage: function (rowDefinitions) {\n\t\treturn (\n\t\t\thas(rowDefinitions, 'bottomActionableMessage') &&\n\t\t\t!isEmpty(rowDefinitions?.bottomActionableMessage)\n\t\t);\n\t},\n\n\t/**\n\t * Selector for getting an actionable message's status variant\n\t * @param {ActionableMessage} actionableMessage\n\t *\n\t * @returns {string}\n\t */\n\tgetActionableMessageStatus: function (actionableMessage) {\n\t\treturn get(\n\t\t\tactionableMessage,\n\t\t\t'status',\n\t\t\tACTIONABLE_MESSAGE_STATUS_DEFAULT\n\t\t);\n\t},\n\n\t/**\n\t * Selector for getting an actionable message's status variant\n\t * @param {ActionableMessage} actionableMessage\n\t *\n\t * @returns {string}\n\t */\n\tgetActionableMessageIcon: function (actionableMessage) {\n\t\tconst status = get(\n\t\t\tactionableMessage,\n\t\t\t'status',\n\t\t\tACTIONABLE_MESSAGE_STATUS_DEFAULT\n\t\t);\n\t\t// @ts-ignore\n\t\treturn ACTIONABLE_MESSAGE_ICONS_DICT[status];\n\t},\n\n\t/**\n\t * Selector for getting selectionDisabled config for individual row from row object\n\t * @param {Row | null} row\n\t *\n\t * @returns {boolean}\n\t */\n\tgetSelectionDisabledForParticularRow: function (row) {\n\t\treturn get(row, 'selectionDisabled', false);\n\t},\n\n\t/**\n\t * Selector for getting highlightedContent config\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {Array<string>} array of string patterns to be higlighted\n\t */\n\tgetHighlightedContentPatterns: function (rowDefinitions) {\n\t\treturn get(rowDefinitions, 'highlightedContent', []);\n\t},\n\n\t/**\n\t * Check if row actions exist and are valid\n\t * (if the actions object exists but its child array actionsItems is empty, it is invalid)\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {boolean}\n\t */\n\thasRowActionsWithItems: (rowDefinitions) => {\n\t\treturn !isEmpty(get(rowDefinitions, 'actions.actionsItems'));\n\t},\n\n\t/**\n\t * Selector for getting row actions from rowDefinitions object\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {Array<RowActions>} row actions field of row definitions object\n\t */\n\tgetRowActions: fpGet('actions'),\n\n\t/**\n\t * Selector for getting disableActions config for individual row from row object\n\t * @param {Row} row\n\t *\n\t * @returns {boolean}\n\t */\n\tgetAreActionsDisabled: function (row) {\n\t\t// if disableActions is true, then we want to display a console message about this prop being deprecated\n\t\trow.disableActions === true &&\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(\n\t\t\t\t'disableActions is deprecated. Use excludedActions instead.'\n\t\t\t);\n\t\treturn get(row, 'disableActions', false);\n\t},\n\n\t/**\n\t * Selector for getting row actions items from rowDefinitions object\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {Array<RowActionItem>} row actions items field of row actions object\n\t */\n\tgetRowActionsItems: function (rowDefinitions) {\n\t\tconst actions = this.getRowActions(rowDefinitions);\n\t\treturn this.getRowActionsItemsFromActions(actions);\n\t},\n\n\t/**\n\t * Selector for getting the actions items from rowActions\n\t * @param {RowActions} rowActions\n\t *\n\t * @returns {Array<RowActionItem>} row actions items field of row actions object\n\t */\n\tgetRowActionsItemsFromActions: (rowActions) => {\n\t\treturn get(rowActions, 'actionsItems');\n\t},\n\n\t/**\n\t * Selector for getting the number of actions to render as icons from rowDefinitions\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {number} The number of actions to render as icons\n\t */\n\tgetRowActionsNumIcons: function (rowDefinitions) {\n\t\tconst actions = this.getRowActions(rowDefinitions);\n\t\treturn this.getRowActionsNumIconsFromActions(actions);\n\t},\n\n\t/**\n\t * Selector for getting the number of actions to render as icons from rowActions\n\t * @param {RowActions} rowActions\n\t *\n\t * @returns {number} The number of actions to render as icons\n\t */\n\tgetRowActionsNumIconsFromActions: (rowActions) => {\n\t\treturn (\n\t\t\tget(rowActions, 'numActionIcons') ?? DEFAULT_ROW_ACTION_NUM_ICONS\n\t\t);\n\t},\n\n\t/**\n\t * Selector for getting custom cell emitted actions\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {Array<string>} returns list of actions in an array\n\t */\n\tgetCustomCellEmittedActions: (rowDefinitions) => {\n\t\treturn get(rowDefinitions, 'customCellEmittedActions');\n\t},\n\n\t/**\n\t * This function checks if row definition has custom Cell Emitted Actions\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {boolean}\n\t */\n\thasCustomCellEmittedActions: (rowDefinitions) => {\n\t\treturn has(rowDefinitions, 'customCellEmittedActions');\n\t},\n\n\t/**\n\t * Selector for getting row actions position (start or end of list) from rowDefinitions object\n\t * Configured value is ignored when column filtering is on in order for the toggle button to be in view on initial render.\n\t * @param {RowActions} rowActions\n\t * @param {boolean} columnFilteringEnabled\n\t *\n\t * @returns {string} string representing whether actions should be at the start or the end of the list.\n\t */\n\tgetRowActionsPosition: function (rowActions, columnFilteringEnabled) {\n\t\tif (columnFilteringEnabled) return POSITION_TABLE_START;\n\t\telse return get(rowActions, 'position', POSITION_TABLE_START);\n\t},\n\n\t/**\n\t * Helper reducer that gets all the selected rows currently in the list. Will return\n\t * the accumulation of an object containing all the initial selected keys\n\t * @param {object} selectedRows\n\t * @param {Row} currentRow\n\t * @returns\n\t */\n\t_getInitialSelectedRowsReducer: function (selectedRows, currentRow) {\n\t\tif (\n\t\t\tcurrentRow.type == 'grouped' &&\n\t\t\t// @ts-ignore\n\t\t\tcurrentRow?.children?.length > 0\n\t\t) {\n\t\t\tcurrentRow.children?.reduce(\n\t\t\t\tthis._getInitialSelectedRowsReducer.bind(this),\n\t\t\t\tselectedRows\n\t\t\t);\n\t\t} else {\n\t\t\tconst isSelectionDisabled = this.getSelectionDisabledForParticularRow(\n\t\t\t\tcurrentRow\n\t\t\t);\n\t\t\tconst isSelected = get(currentRow, 'isSelected', false);\n\n\t\t\tif (!isSelectionDisabled && isSelected)\n\t\t\t\tset(selectedRows, [get(currentRow, 'key')], currentRow);\n\n\t\t\tif (\n\t\t\t\tcurrentRow.type == 'default' &&\n\t\t\t\t// @ts-ignore\n\t\t\t\tcurrentRow?.children?.length > 0\n\t\t\t) {\n\t\t\t\tcurrentRow?.children?.reduce(\n\t\t\t\t\tthis._getInitialSelectedRowsReducer.bind(this),\n\t\t\t\t\tselectedRows\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn selectedRows;\n\t},\n\n\t/**\n\t * Selector to get all selected rows on initial render\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {object} keys of all selected rows on initial render\n\t */\n\tgetInitialSelectedRows: function (rowDefinitions) {\n\t\tconst rows = this.getRows(rowDefinitions);\n\n\t\treturn reduce(rows, this._getInitialSelectedRowsReducer.bind(this), {});\n\t},\n\n\t/* INDIVIDUAL ROW SELECTORS */\n\n\t/**\n\t * Selector for getting key from row object\n\t * @param {Object} row\n\t *\n\t * @returns {string} key representing the unique id of the row. Used to reference row information on the row level\n\t */\n\tgetRowKey: fpGet('key'),\n\n\t/**\n\t * Selector for getting type from row object\n\t * @param {Row} row\n\t *\n\t * @returns {string} name of row type\n\t */\n\tgetRowType: (row) => {\n\t\tconst type = get(row, 'type');\n\t\tif (type) {\n\t\t\treturn type;\n\t\t} else {\n\t\t\treturn ROW_TYPE_DEFAULT;\n\t\t}\n\t},\n\n\t/**\n\t * Selector for checking if row is toggled\n\t * @param {object} rows\n\t * @param {string} rowKey\n\t *\n\t * @returns {boolean} return true if row is toggled\n\t */\n\tisRowChecked: (rows, rowKey) => {\n\t\treturn has(rows, rowKey);\n\t},\n\n\t/**\n\t * Selector for checking if row is highlighted\n\t * @param {Row} row\n\t *\n\t * @returns {boolean} returns true if row is highlighted\n\t */\n\tisRowHighlighted: (row) => get(row, 'visualTreatment.isHighlighted', false),\n\n\t/**\n\t * Selector for checking if row is recently added or updated based on its visual treatment property 'showUpdatedIcon\n\t * @param {Row} row\n\t *\n\t * @returns {boolean} returns true if row was recently added via live list\n\t */\n\tisRecentlyAddedOrUpdatedRow: (row) =>\n\t\tget(row, 'visualTreatment.showUpdatedIcon', false),\n\n\t/**\n\t * Selector for checking if row is grayed out\n\t * @param {Row} row\n\t *\n\t * @returns {boolean} returns true if row was grayed out\n\t */\n\tisRowGrayedOut: (row) => get(row, 'visualTreatment.isGrayedOut', false),\n\n\t/**\n\t * Selector for getting cells object from row object\n\t * @param {Row} row\n\t *\n\t * @returns {object} cells\n\t */\n\tgetCells: fpGet('cells'),\n\n\t/**\n\t * Selector for getting excluded actions from either single unselected row, or\n\t * if row is selected, from all selected rows\n\t * @param {Array<Row>} rows\n\t *\n\t * @returns {Array<string>} array of unique action ids extracted from excludedActions of each row\n\t */\n\tgetExcludedActions: (rows = []) => {\n\t\treturn rows.reduce((actions, row) => {\n\t\t\tconst rowExcludedActions = getOr([], 'excludedActions')(row);\n\t\t\treturn union(actions, rowExcludedActions);\n\t\t}, []);\n\t},\n\n\t/**\n\t * Selector for getting excluded actions from a single row\n\t * @param {Row} row\n\t *\n\t * @returns {Array<string>} array of unique action ids extracted from excludedActions of the row\n\t */\n\tgetExcludedActionsForRow: (\n\t\trow = {\n\t\t\tkey: '',\n\t\t}\n\t) => {\n\t\treturn getOr([], 'excludedActions')(row);\n\t},\n\n\t/**\n\t * Selector for getting one cell from a row based on a column key\n\t * @param {Row} row - object for a single row\n\t * @param {string} colKey - string key that corresponds to a specific column\n\t *\n\t * @returns {CellType} cell\n\t */\n\tfindCell: (row, colKey) => {\n\t\treturn get(row, ['cells', colKey]);\n\t},\n\n\t/**\n\t * Selector for checking if rowDefinitions object has rows of type grouped or rows of type default with children\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {boolean} returns true if grouped rows are present\n\t */\n\thasGroupedOrDefaultRowsWithChildren: (rowDefinitions) => {\n\t\treturn (\n\t\t\trowSelectors.hasGroupedRows(rowDefinitions) ||\n\t\t\trowSelectors.hasDefaultRowsWithChildren(rowDefinitions)\n\t\t);\n\t},\n\n\t/**\n\t * Selector for checking if rowDefinitions object has rows containing groupedRowCount property\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t *\n\t * @returns {boolean} returns true if at least one row has groupedRowCount property\n\t */\n\thasGroupedRowCount: (rowDefinitions) => {\n\t\tconst rows = get(rowDefinitions, 'rows');\n\t\treturn some(rows, 'groupedRowCount');\n\t},\n\n\t/**\n\t * Selector for getting rows of type grouped or rows of type default with children from rowDefinitions object\n\t * @param {Array<Row> | undefined} rows\n\t * @param {Array<Row>} grouped - Optional -stores keys for all children\n\t *\n\t * @returns {Array<Row>} returns rows of type grouped or rows of type default with children from rowDefinitions object\n\t */\n\tgetGroupedOrDefaultRowsWithChildren: (rows, grouped = []) => {\n\t\tif (!rows) {\n\t\t\treturn grouped;\n\t\t}\n\n\t\tmap(rows, (\n\t\t\t/** @type {{ key: string; children: Row[] | undefined; }} */ row\n\t\t) => {\n\t\t\tif (rowSelectors.isGroupedRowOrDefaultRowWithChildren(row)) {\n\t\t\t\tgrouped.push(row);\n\t\t\t\treturn rowSelectors.getGroupedOrDefaultRowsWithChildren(\n\t\t\t\t\trow.children,\n\t\t\t\t\tgrouped\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\n\t\treturn grouped;\n\t},\n\n\t/**\n\t * Selector for getting keys for all groups from rowDefinitions object\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {boolean} returns array of group keys from rowDefinitions object\n\t */\n\tgetAllGroupKeys: (rowDefinitions) => {\n\t\tconst rows = rowSelectors.getRows(rowDefinitions);\n\t\treturn filter(rows, 'children').map(\n\t\t\t(/** @type {{ key: string; }} */ row) => row.key\n\t\t);\n\t},\n\n\t/**\n\t * Selector for getting keys for all rows of type default from rowDefinitions object\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {Array<string>} returns array of group keys from rowDefinitions object\n\t */\n\tgetDefaultRowKeysRecursively: (rowDefinitions) => {\n\t\tconst rows = rowSelectors.getRows(rowDefinitions);\n\t\tif (!rows) return [];\n\t\tconst stack = [...rows]; // Use a stack initialized with the root array\n\t\tconst keys = [];\n\n\t\twhile (stack.length > 0) {\n\t\t\tconst current = stack.pop(); // Pop the top item from the stack\n\t\t\tif (current?.type === 'default') keys.push(current?.key); // Add the key to the result array\n\n\t\t\t// If the current item has children, push them onto the stack\n\t\t\tif (current?.children && current?.children.length > 0) {\n\t\t\t\tstack.push(...current.children);\n\t\t\t}\n\t\t}\n\n\t\t// @ts-ignore\n\t\treturn keys;\n\t},\n\n\t/**\n\t * Selector for getting keys for all groups from rowDefinitions object\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {Array<string>} returns array of group keys from rowDefinitions object\n\t */\n\tgetAllGroupKeysRecursively: (rowDefinitions) => {\n\t\tconst rows = rowSelectors.getRows(rowDefinitions);\n\t\treturn rowSelectors.getKeysOfChildren(rows);\n\t},\n\n\t/**\n\t * Gets keys of all children recursively for any row array\n\t * @param {Array<Row>} rows - row children array\n\t *\n\t * @returns {Array<string>} keys - return array of strings comprising of children keys.\n\t */\n\tgetKeysOfChildren: (rows) => {\n\t\tif (!rows) return [];\n\t\tconst stack = [...rows]; // Use a stack initialized with the root array\n\t\tconst keys = [];\n\n\t\twhile (stack.length > 0) {\n\t\t\tconst current = stack.pop(); // Pop the top item from the stack\n\t\t\tkeys.push(current?.key); // Add the key to the result array\n\n\t\t\t// If the current item has children, push them onto the stack\n\t\t\tif (current?.children && current.children.length > 0) {\n\t\t\t\tstack.push(...current.children);\n\t\t\t}\n\t\t}\n\n\t\t// @ts-ignore\n\t\treturn keys;\n\t},\n\n\t/**\n\t * Gets keys of all rows in the original order\n\t * @param {Array<Row>} rows\n\t * @returns {Array<string>} keys - return array of strings comprising of row keys.\n\t */\n\n\tgetAllKeysInOrder(rows) {\n\t\t/**\n\t\t * @type {Array<string>}\n\t\t */\n\t\tlet result = [];\n\t\trows.forEach((row) => {\n\t\t\tresult.push(row.key);\n\t\t\tif (row?.children && row?.children.length > 0) {\n\t\t\t\tresult = result.concat(this.getAllKeysInOrder(row.children)); // Recursively collect children\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t},\n\n\t/**\n\t * Selector for getting children for a row\n\t * @param {Row} row\n\t *\n\t * @returns {Array<Row>} returns array of rows under a row\n\t */\n\tgetChildren: getOr([], 'children'),\n\n\t/**\n\t * Selector for checking if a row has children\n\t * @param {Row} row\n\t *\n\t * @returns {boolean} returns true if row has children\n\t */\n\thasChildren: (row) => has(row, 'children'),\n\n\t/**\n\t * Selector for checking if a row is grouped or if it has children, to determine whether a toggle should be rendered\n\t * @param {Row} row\n\t *\n\t * @returns {boolean} returns true if row is grouped\n\t */\n\tisGroupedRowOrDefaultRowWithChildren: (row) => {\n\t\tconst rowType = get(row, 'type', ROW_TYPE_DEFAULT);\n\t\treturn (\n\t\t\trowType === ROW_TYPE_GROUPED ||\n\t\t\t(rowType === ROW_TYPE_DEFAULT && rowSelectors.hasChildren(row))\n\t\t);\n\t},\n\n\t/**\n\t * Selector for checking if a row is of type parent child group\n\t * @param {Row} row\n\t *\n\t * @returns {boolean} returns true if row is of type parent child group\n\t */\n\tisDefaultRowWithChildren: (row) =>\n\t\tget(row, 'type', ROW_TYPE_DEFAULT) === 'default' &&\n\t\trowSelectors.hasChildren(row),\n\n\t/**\n\t * Selector for checking if rowDefinitions object has rows of type default and has children\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {boolean} returns true if parent child grouped rows are present\n\t */\n\thasDefaultRowsWithChildren: function (rowDefinitions) {\n\t\tconst rows = this.getRows(rowDefinitions);\n\t\treturn some(\n\t\t\trows,\n\t\t\t(/** @type {Row} */ row) =>\n\t\t\t\tget(row, 'type', ROW_TYPE_DEFAULT) === 'default' &&\n\t\t\t\thas(row, 'children')\n\t\t);\n\t},\n\n\t/**\n\t * Selector for checking if rowDefinitions object has rows of type grouped\n\t * @param {RowDefinitions} rowDefinitions\n\t *\n\t * @returns {boolean} returns true if grouped rows are present\n\t */\n\thasGroupedRows: (rowDefinitions) => {\n\t\tconst rows = get(rowDefinitions, 'rows');\n\t\treturn some(rows, { type: ROW_TYPE_GROUPED });\n\t},\n\n\t/**\n\t * Selector for checking if a row is of type grouped\n\t * @param {Row} row\n\t *\n\t * @returns {boolean} returns true if row is of type grouped\n\t */\n\tisGroupedRow: (row) => row.type === ROW_TYPE_GROUPED,\n\n\t/**\n\t * Selector for checking if a row is of type custom\n\t * @param {Row} row\n\t *\n\t * @returns {boolean} returns true if row is of type custom\n\t */\n\tisCustomRow: (row) => row.type === ROW_TYPE_CUSTOM,\n\n\t/**\n\t * Selector for getting label for a row of type grouped\n\t * @param {Row} row\n\t *\n\t * @returns {string} returns group category label\n\t */\n\tgetGroupedRowLabel: fpGet('groupedRowLabel'),\n\n\t/**\n\t * Selector for getting count for a grouped row\n\t * @param {Row} row\n\t *\n\t * @returns {number} returns group category count\n\t */\n\tgetGroupedRowCount: fpGet('groupedRowCount'),\n\n\t/**\n\t * Selector for getting actions for a row of type grouped\n\t * @param {Row} row\n\t *\n\t * @returns {Array<GroupActionItem>} returns array of row group actions\n\t */\n\tgetGroupActions: getOr([], 'groupActions'),\n\n\t/**\n\t * Selector for getting actions for a row of type grouped\n\t * @param {Array<GroupActionItem>} groupActions\n\t *\n\t * @returns {String | undefined} returns group link\n\t */\n\tgetGroupRowHref: (groupActions = []) => groupActions?.[0]?.groupRowHref,\n\n\t/**\n\t * Selector for getting a custom row's component tag\n\t * @param {object} row\n\t *\n\t * @returns {string}\n\t */\n\tgetCustomRowComponentTag: fpGet('componentTag'),\n\n\t/**\n\t * Selector for getting a custom row's component properties\n\t * @param {object} row\n\t *\n\t * @returns {string}\n\t */\n\tgetCustomRowComponentProps: fpGet('componentProps'),\n\n\t/**\n\t * Selector for getting a custom row's content dimensions\n\t * @param {object} row\n\t *\n\t * @returns {string}\n\t */\n\tgetCustomRowContentDimensions: fpGet('rowContentDimensions'),\n\t/**\n\t * Selector for getting a custom row's content alignment\n\t * @param {object} row\n\t *\n\t * @returns {string}\n\t */\n\tgetCustomRowContentAlignment: fpGet('contentAlignment'),\n\n\t/**\n\t * Selector for getting a custom row's placeholder dimensions\n\t * @param {object} row\n\t *\n\t * @returns {string}\n\t */\n\tgetCustomRowPlaceholderDimensions: fpGet('placeholderDimensions'),\n\n\t/**\n\t * Selector for getting a custom row's show row-controls property\n\t * @param {object} row\n\t *\n\t * @returns {boolean}\n\t */\n\tgetShowRowControlsForCustomRow: (row) => get(row, 'showRowControls', false),\n\n\t/**\n\t * Return all rows of type custom\n\t * @param {Array<Row>} rows\n\t *\n\t * @return {Array<Row>} customRows\n\t */\n\tgetRowsOfCustomType: (rows) => {\n\t\tif (isEmpty(rows)) return [];\n\t\tconst customRows = [];\n\t\tconst stack = [...rows];\n\n\t\twhile (stack.length > 0) {\n\t\t\tconst row = stack.pop(); // Get the last item from the stack\n\n\t\t\t// Check if the current item is of type 'custom'\n\t\t\tif (row?.type === 'custom') {\n\t\t\t\tcustomRows.push(row);\n\t\t\t}\n\n\t\t\t// Add children to stack if they exist\n\t\t\tif (row?.children && row.children.length > 0) {\n\t\t\t\tstack.push(...row.children);\n\t\t\t}\n\t\t}\n\n\t\treturn customRows;\n\t},\n\n\t/**\n\t * Change isGroupExpanded of all children to be same as parent when parent isGroupExpanded is set to false\n\t * @param {Array<Row> | undefined} rows\n\t * @param {object} rowGroupingState\n\t * @param {Row | undefined} parent\n\t */\n\tcreateStateOnBootstrapForExpandedChildren: (\n\t\trows,\n\t\trowGroupingState,\n\t\tparent\n\t) => {\n\t\tif (!rows || isEmpty(rows)) {\n\t\t\treturn;\n\t\t}\n\t\tlet parentKey = '';\n\t\tlet isGroupExpandedForParent = true;\n\t\tif (parent) {\n\t\t\tparentKey = parent.key ? parent.key : '';\n\t\t\tisGroupExpandedForParent = !!parent.isGroupExpanded;\n\t\t}\n\n\t\tconst expandedChildrenObject = get(\n\t\t\trowGroupingState,\n\t\t\t'expandedChildrenObject',\n\t\t\t{}\n\t\t);\n\t\trows.forEach((element) => {\n\t\t\tif (\n\t\t\t\telement.isGroupExpanded &&\n\t\t\t\t!isGroupExpandedForParent &&\n\t\t\t\tparentKey\n\t\t\t) {\n\t\t\t\tif (\n\t\t\t\t\texpandedChildrenObject &&\n\t\t\t\t\t!has(expandedChildrenObject, parentKey)\n\t\t\t\t) {\n\t\t\t\t\texpandedChildrenObject[parentKey] = [];\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\tisArray(expandedChildrenObject[parentKey]) &&\n\t\t\t\t\t!includes(expandedChildrenObject[parentKey], element.key)\n\t\t\t\t) {\n\t\t\t\t\texpandedChildrenObject[parentKey].push(element.key);\n\t\t\t\t}\n\t\t\t\telement.isGroupExpanded = false;\n\t\t\t}\n\n\t\t\tif (rowSelectors.hasChildren(element)) {\n\t\t\t\trowSelectors.createStateOnBootstrapForExpandedChildren(\n\t\t\t\t\telement.children,\n\t\t\t\t\trowGroupingState,\n\t\t\t\t\telement\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t},\n};\n\nexport default rowSelectors;\n","import { endsWith, filter, find, get, has, isEmpty } from 'lodash';\nimport {\n\tget as fpGet,\n\thas as fpHas,\n\tgetOr as fpGetOr,\n\tmemoize,\n} from 'lodash/fp';\nimport { t } from 'sn-translate';\nimport { getUserPrefContext } from 'sn-ux-core';\n\nimport { NUMBER_DEFAULT_LOCALE } from '../../views/fields/number/constants';\nimport {\n\tBOOLEAN_FILTER_OPERATORS,\n\tDATE_TIME_FILTER_OPERATORS,\n\tGENERIC_FILTER_OPERATORS,\n\tNUMBER_FILTER_OPERATORS,\n} from '../../views/table/tableHeaders/columnFilteringCell/columnFilteringConsts';\nimport logger from '../logger';\n\nimport featureFlagSelectors from './featureFlagSelectors';\nimport rowSelectors from './rowSelectors';\n\nconst {\n\tTEXT_ALIGNMENT_DEFAULT,\n} = require('../../../typeSchemas/columnDefinitions/alignmentTypes/alignmentTypes');\nconst {\n\tTYPE_CURRENCY,\n\tTYPE_DATE_TIME,\n\tTYPE_NUMBER,\n\tTYPE_PERSON,\n\tTYPE_STRING,\n\tTYPE_URL,\n\tSPECIAL_TYPE_GROUP_BADGE,\n\tSPECIAL_TYPE_GROUP_TOGGLE,\n\tSPECIAL_TYPE_PARENT_BADGE,\n\tSPECIAL_TYPE_PARENT_TOGGLE,\n\tSPECIAL_TYPE_ACTIONS,\n\tSPECIAL_TYPE_SELECTION,\n\tSPECIAL_TYPE_ROW_DRAG_HANDLE,\n\tTYPE_CHOICE,\n\tTYPE_BOOLEAN,\n\tTYPE_PILLS,\n\tTYPE_PERCENT_COMPLETE,\n\tTYPE_LINK,\n} = require('../../../typeSchemas/columnDefinitions/columnTypes/columnTypes');\nconst {\n\tSORT_NONE,\n} = require('../../../typeSchemas/columnDefinitions/sortTypes/sortTypes');\nconst {\n\tCURRENCY_DEFAULT,\n\tCURRENCY_LOCALE_DEFAULT,\n} = require('../../views/fields/currency/currencyConstants');\nconst {\n\tDATE_TIME_FORMAT_DEFAULT,\n\tDATE_TIME_AGO_FORMAT,\n\tTIME_AGO_DISPLAY_NONE,\n\tTIME_AGO_DISPLAY_UNDER_MAIN_VALUE,\n\tTIME_AGO_DISPLAY_AS_MAIN_VALUE,\n\tSECONDS_FORMAT,\n\tSECONDS_FORMAT_WITH_DOTS,\n} = require('../../views/fields/dateTime/constants');\nconst {\n\tNUMBER_FORMAT_INTEGER,\n\tDECIMAL_PLACES_DEFAULT,\n} = require('../../views/fields/number/constants');\nconst { OPENS_IN_NEW_DEFAULT } = require('../../views/fields/url/urlConstants');\nconst {\n\tPERSON_DISPLAY_TYPE_DEFAULT,\n} = require('../../views/table/tableBody/tableRow/rowCell/personCellType/personCellConstants');\nconst {\n\tMAX_PILL_LIMIT_DEFAULT,\n} = require('../../views/table/tableBody/tableRow/rowCell/pillsCellType/pillsCellConstants');\nconst {\n\tMAX_CHARACTERS_DEFAULT,\n} = require('../../views/table/tableBody/tableRow/rowCell/rowCellConstants');\n\nconst dateTimeFormatPrefKey = getUserPrefContext(DATE_TIME_AGO_FORMAT);\n\nconst columnSelectors = {\n\t/* MULTIPLE COLUMNS SELECTORS */\n\n\t/**\n\t * Selector for getting columns from columnDefinitions object\n\t * @param {object} columnDefinitions\n\t *\n\t * @returns {array} columns field of column definitions object\n\t */\n\tgetColumns: fpGet('columns'),\n\n\t/**\n\t * Check to see if columnDefinitions has at least one column\n\t * @param {ColumnDefinitions} columnDefinitions\n\t *\n\t * @returns {boolean}\n\t */\n\thasColumns: (columnDefinitions) => {\n\t\treturn !isEmpty(get(columnDefinitions, 'columns'));\n\t},\n\n\t/**\n\t * Some properties in rowDefinitions and options determine whether certain columns should be rendered.\n\t * This selector returns whether any of those properties are configured to render those columns\n\t * @param {RowDefinitions} rowDefinitions\n\t * @param {object} featureFlags\n\t * @param {boolean | undefined} featureFlags.virtualizedScrollEnabled\n\t *\n\t * @returns {boolean} rows field of row definitions object\n\t */\n\twillHaveSpecialColumns: function (rowDefinitions, featureFlags) {\n\t\treturn (\n\t\t\trowSelectors.hasRowActionsWithItems(rowDefinitions) ||\n\t\t\trowSelectors.hasGroupedOrDefaultRowsWithChildren(rowDefinitions) ||\n\t\t\tfeatureFlagSelectors.getSelectionEnabled(featureFlags) ||\n\t\t\tfeatureFlagSelectors.getRowDragDropEnabled(featureFlags) ||\n\t\t\tfeatureFlagSelectors.getColumnFilteringEnabled(featureFlags)\n\t\t);\n\t},\n\n\t/**\n\t * Util to count how many special columns are present on the list\n\t * @param {ProcessedColumnDefinitions} processedColumnDefinitions\n\t * @returns\n\t */\n\tgetSpecialColumnsCount: function (processedColumnDefinitions) {\n\t\tconst {\n\t\t\tprocessedColumnDefinitions: { columns },\n\t\t} = processedColumnDefinitions;\n\n\t\tconst specialColumns = filter(columns, (\n\t\t\t/** @type {ProcessedColumn} */ column\n\t\t) => columnSelectors.isSpecialColumn(column));\n\n\t\treturn specialColumns.length;\n\t},\n\n\t/**\n\t * Selector for finding a column given its key\n\t * @param {ProcessedColumnDefinitions} columnDefinitions - parsed columnDefinitions object\n\t * @param {string} columnKey - string identifier for column\n\t *\n\t * @returns {ProcessedColumn} column\n\t */\n\tgetColumnFromProcessedCols: (columnDefinitions, columnKey) => {\n\t\tconst { columnMap, processedColumnDefinitions } = columnDefinitions;\n\t\tconst path = columnMap[columnKey] || '';\n\t\treturn get(processedColumnDefinitions, path);\n\t},\n\n\t/**\n\t * Selector for getting the column filtering information\n\t * @param {ProcessedColumnDefinitions} columnDefinitions - parsed columnDefinitions object\n\t *\n\t * @returns {string} value of columnFilteringInfo property\n\t */\n\tgetColumnFilteringInfo: (columnDefinitions) => {\n\t\tconst { processedColumnDefinitions } = columnDefinitions;\n\t\treturn get(processedColumnDefinitions, 'columnFilteringInfo');\n\t},\n\n\t/**\n\t * Selector for getting the column header text tooltip\n\t * @param {ProcessedColumnDefinitions} columnDefinitions - parsed columnDefinitions object\n\t *\n\t * @returns {string} value of columnHeaderTextTooltip property\n\t */\n\tgetHeaderTextTooltip: (columnDefinitions) => {\n\t\tconst { processedColumnDefinitions } = columnDefinitions;\n\t\treturn get(processedColumnDefinitions, 'columnHeaderTextTooltip');\n\t},\n\n\t/**\n\t * Selector for whether this col has emitted actions of the provided custom component\n\t * @param {ColumnDefinitions} columnDefinitions\n\t *\n\t * @returns {boolean}\n\t */\n\thasColumnFilterCustomValueEditorEmittedActions: (columnDefinitions) =>\n\t\thas(columnDefinitions, 'columnFilterCustomValueEditorEmittedActions'),\n\n\t/**\n\t * Selector for emitted actions of the provided custom component\n\t * @param {object} columnDefinitions\n\t *\n\t * @returns {Array<string> | undefined}\n\t */\n\tgetColumnFilterCustomValueEditorEmittedActions: (columnDefinitions) =>\n\t\tget(columnDefinitions, 'columnFilterCustomValueEditorEmittedActions'),\n\n\t/* INDIVIDUAL COLUMN SELECTORS */\n\n\t/**\n\t * Selector for finding a column header actions given its column key\n\t * @param {ProcessedColumnDefinitions} columnDefinitions - parsed columnDefinitions object\n\t * @param {ProcessedColumn} column - processed column\n\t *\n\t * @returns {Array<ColumnHeaderActionItem>} column header actions\n\t */\n\tgetColumnHeaderActionsFromProcessedCols: (columnDefinitions, column) => {\n\t\tconst columnKey = columnSelectors.getColumnKey(column);\n\t\tconst processedColumn = columnSelectors.getColumnFromProcessedCols(\n\t\t\tcolumnDefinitions,\n\t\t\tcolumnKey\n\t\t);\n\n\t\tif (has(processedColumn, 'children')) return []; // parent columns cannot have actions\n\n\t\treturn get(processedColumn, 'columnHeaderActions', []);\n\t},\n\n\t/**\n\t * Util to check if reordering enabled\n\t * @param {object} featureFlags\n\t * @param {ProcessedColumn} column\n\t * @returns boolean\n\t */\n\tisReorderingPossibleOnColumn: function (featureFlags, column) {\n\t\treturn (\n\t\t\t// getColumnDragDropEnabled returns undefined if the feature flag is not present, which will cause this to return undefined\n\t\t\tfeatureFlagSelectors.getColumnDragDropEnabled(featureFlags) ===\n\t\t\t\ttrue &&\n\t\t\t!columnSelectors.isSpecialColumn(column) &&\n\t\t\tcolumnSelectors.getColumnLevel(column) === 1 // only top level columns can be re-ordered for now\n\t\t);\n\t},\n\n\t/**\n\t * Util to check if column is a special type column\n\t * @param {ColumnBase} column\n\t * @returns\n\t */\n\tisSpecialColumn: function (column) {\n\t\treturn get(column, 'isSpecialColumn', false);\n\t},\n\n\t/**\n\t * Util to check if columnKey is of special type\n\t * @param {string} columnKey\n\t * @returns\n\t */\n\tisSpecialColumnKey: function (columnKey) {\n\t\treturn (\n\t\t\tcolumnKey === SPECIAL_TYPE_ACTIONS ||\n\t\t\tcolumnKey === SPECIAL_TYPE_SELECTION ||\n\t\t\tcolumnKey === SPECIAL_TYPE_GROUP_BADGE ||\n\t\t\tcolumnKey === SPECIAL_TYPE_GROUP_TOGGLE ||\n\t\t\tcolumnKey === SPECIAL_TYPE_ROW_DRAG_HANDLE ||\n\t\t\tcolumnKey === SPECIAL_TYPE_PARENT_BADGE ||\n\t\t\tcolumnKey === SPECIAL_TYPE_PARENT_TOGGLE\n\t\t);\n\t},\n\n\t/**\n\t * Selector for getting children from a column object\n\t * @param {ProcessedColumn} column\n\t *\n\t * @returns {ProcessedColumn[]} children columns\n\t */\n\tgetChildren: fpGetOr([], 'children'),\n\n\t/**\n\t * Selector for getting column count at a given level\n\t * @param {ProcessedColumnDefinitions} columnDefinitions\n\t * @param {number} level\n\t * @returns {number} count of columns at the given level\n\t */\n\tgetTotalColumnsAtLevel: (columnDefinitions, level = 1) => {\n\t\treturn columnSelectors\n\t\t\t.getColumns(columnDefinitions.processedColumnDefinitions)\n\t\t\t.filter(\n\t\t\t\t(/** @type {ProcessedColumn} */ col) =>\n\t\t\t\t\tcol._level === level &&\n\t\t\t\t\t!columnSelectors.isSpecialColumn(col)\n\t\t\t).length;\n\t},\n\n\t/**\n\t * Selector for finding the offset position for the starting of actual data columns.\n\t * i.e excluding the indices of the special columns at the begining\n\t * E.g:\n\t * - If we have only Row selection on left, offset position will be 1\n\t * - If we have row selection and groupby columns on the left, position will be 2\n\t *\n\t * @param {ProcessedColumnDefinitions} columnDefinitions - parsed columnDefinitions object\n\t *\n\t * @returns {number} index position where the actual columns started\n\t */\n\tgetDataColumnsOffsetPosition: (columnDefinitions) => {\n\t\tconst allColumns = columnSelectors.getColumns(\n\t\t\tcolumnDefinitions.processedColumnDefinitions\n\t\t);\n\t\tfor (let i = 0; i < allColumns.length; i++) {\n\t\t\t// return the index of first found data column\n\t\t\tif (!columnSelectors.isSpecialColumn(allColumns[i])) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\treturn 0;\n\t},\n\n\t/**\n\t * Selector for finding a cell actions given its column key\n\t * @param {ProcessedColumnDefinitions} columnDefinitions - parsed columnDefinitions object\n\t *  @param {ProcessedColumn} column - processed column\n\t *\n\t * @returns {Array<CellActionItem>} column\n\t */\n\tgetCellActionsFromProcessedCols: (columnDefinitions, column) => {\n\t\tconst columnKey = columnSelectors.getColumnKey(column);\n\t\tconst processedColumn = columnSelectors.getColumnFromProcessedCols(\n\t\t\tcolumnDefinitions,\n\t\t\tcolumnKey\n\t\t);\n\n\t\tif (has(processedColumn, 'children')) return []; // parent columns cannot have actions\n\n\t\treturn get(processedColumn, 'cellActions', []);\n\t},\n\n\t/**\n\t * Selector for getting column header icons. Maximum of 3 icons\n\t * @param {object} column\n\t */\n\tgetIcons: (column) => {\n\t\tconst icons = get(column, 'icons', {});\n\t\treturn {\n\t\t\tstartIcons: get(icons, 'startIcons', []).slice(0, 3),\n\t\t\tendIcons: get(icons, 'endIcons', []).slice(0, 3),\n\t\t};\n\t},\n\n\t/**\n\t * Selector for getting a column's sort direction to be used for aria-sort\n\t * @param {object} column\n\t *\n\t * @returns {string}\n\t */\n\tgetColumnSortDirection: fpGetOr(SORT_NONE, 'sortDirection'),\n\n\t/**\n\t * Selector for getting key from column object\n\t * @param {object} column\n\t *\n\t * @returns {string} key representing the unique id of the column. Used to reference column information on the row level\n\t */\n\tgetColumnKey: fpGet('key'),\n\n\t/**\n\t * updateState does not work as expected when we have dot walked columns, as the path also contains dots\n\t * @param {object} column\n\t * @returns {string} key representing the unique id of the column. used for storing in state\n\t */\n\tgetFormattedColumnKey: (column) => {\n\t\tconst key = get(column, 'key');\n\t\treturn key?.replaceAll('.', '_##_');\n\t},\n\t/**\n\t * Selector for getting the label of a column\n\t * @param {object} column\n\t * @returns {string}\n\t */\n\tgetColumnLabel: (column) => {\n\t\tconst columnLabel = fpGet('label', column) || '';\n\t\tconst UPDATED = 'Updated';\n\t\treturn columnLabel !== UPDATED\n\t\t\t? t(columnLabel)\n\t\t\t: t({ code: 'now_list', message: 'Updated' }, 't');\n\t},\n\n\t/**\n\t * Selector for getting column type\n\t * @param {object} column\n\t *\n\t * @returns {string} name of type\n\t */\n\tgetColumnType: (column) => {\n\t\tconst type = get(column, 'type');\n\t\treturn type ? type : TYPE_STRING;\n\t},\n\n\t/**\n\t * Selector for getting column alignment\n\t * @param {object} column\n\t *\n\t * @returns {string} alignment type\n\t */\n\tgetColumnAlignment: function (column) {\n\t\treturn get(column, 'alignment', TEXT_ALIGNMENT_DEFAULT);\n\t},\n\n\t/**\n\t * Selector for getting max characters for truncation\n\t * @param {object} column\n\t *\n\t * @returns {Number} max characters\n\t */\n\tgetMaxCharacters: function (column) {\n\t\t// adding 3 to account for the ellipsis, so the ellipsis starts after maxCharacters\n\t\treturn get(column, 'maxCharacters', MAX_CHARACTERS_DEFAULT) + 3;\n\t},\n\n\t/**\n\t * Selector for checking if maxCharacters are defined in a column\n\t * @param {object} column\n\t *\n\t * @returns {boolean} true if maxCharacters are defined\n\t */\n\thasMaxCharacters: (column) => {\n\t\tconst maxCharacters = get(column, 'maxCharacters');\n\t\treturn (\n\t\t\tmaxCharacters !== undefined &&\n\t\t\tmaxCharacters !== null &&\n\t\t\tmaxCharacters !== ''\n\t\t);\n\t},\n\n\t/**\n\t * Selector for getting width in px\n\t * @param {object} column\n\t *\n\t * @returns {String} width\n\t */\n\tgetWidth: function (column) {\n\t\treturn get(column, 'width', undefined);\n\t},\n\n\t/**\n\t * Selector for getting column header cell alignment. Will use column alignment as default\n\t * @param {object} column\n\t *\n\t * @returns {string} alignment type\n\t */\n\tgetHeaderCellAlignment: function (column) {\n\t\tconst alignment = this.getColumnAlignment(column);\n\t\treturn get(column, 'headerCellAlignment', alignment);\n\t},\n\n\t/**\n\t * Checks for nested columns\n\t * @param {object} column\n\t *\n\t * @returns {boolean}\n\t */\n\thasChildren: fpHas('children'),\n\n\t/**\n\t * Checks for column header actions\n\t * @param {object} column\n\t *\n\t * @returns {boolean}\n\t */\n\thasColumnHeaderActions: (column) => {\n\t\tif (has(column, 'children')) return false; // parent columns cannot have actions\n\n\t\treturn !isEmpty(get(column, 'columnHeaderActions'));\n\t},\n\n\t/**\n\t * Checks for cell actions\n\t * @param {object} column\n\t *\n\t * @returns {boolean}\n\t */\n\thasCellActions: (column) => {\n\t\tif (has(column, 'children')) return false; // parent columns cannot have actions\n\n\t\treturn !isEmpty(get(column, 'cellActions'));\n\t},\n\n\t/**\n\t * Selector for headerTextDisabled property\n\t * @param {object} column\n\t *\n\t * @returns {boolean} value of headerTextDisabled property\n\t */\n\tgetHeaderTextDisabled: (column) => get(column, 'headerTextDisabled', false),\n\n\t/**\n\t * Selector for cellEditingDisabled property\n\t * @param {object} column\n\t *\n\t * @returns {boolean} value of cellEditingDisabled property\n\t */\n\tgetCellEditingDisabled: (column) =>\n\t\tget(column, 'cellEditingDisabled', false),\n\n\t/**\n\t * Selector for columnFilterConfig customTopText property\n\t * @param {object} column\n\t *\n\t * @returns {string} String message to display\n\t */\n\tgetColumnFilterCustomTopText: (column) =>\n\t\tget(column, 'columnFilterConfig.customTopText'),\n\n\t/**\n\t * Getter that gets the column filter operators for a given column if provided, and gets the proper typed default operators if not\n\t * @param {object} column\n\t *\n\t * @returns {ColumnFilterConfig[\"operators\"]} Object representing the operators to be rendered in a dropdown\n\t */\n\tgetOperators: (column) => {\n\t\tconst type = get(column, 'type');\n\t\tconst operatorsFromProps = get(column, 'columnFilterConfig.operators');\n\n\t\tif (operatorsFromProps !== undefined && isEmpty(operatorsFromProps)) {\n\t\t\t// override to hide operators\n\t\t\treturn null;\n\t\t} else if (!isEmpty(operatorsFromProps)) {\n\t\t\treturn operatorsFromProps;\n\t\t} else {\n\t\t\t// no operators specified in props\n\t\t\tswitch (type) {\n\t\t\t\tcase TYPE_NUMBER:\n\t\t\t\t\treturn NUMBER_FILTER_OPERATORS;\n\t\t\t\tcase TYPE_BOOLEAN:\n\t\t\t\t\treturn BOOLEAN_FILTER_OPERATORS;\n\t\t\t\tcase TYPE_DATE_TIME:\n\t\t\t\t\treturn DATE_TIME_FILTER_OPERATORS;\n\t\t\t\tcase TYPE_PILLS:\n\t\t\t\t\treturn null;\n\t\t\t\tcase TYPE_CHOICE:\n\t\t\t\t\treturn null;\n\t\t\t\tdefault:\n\t\t\t\t\treturn GENERIC_FILTER_OPERATORS;\n\t\t\t}\n\t\t}\n\t},\n\n\t/**\n\t * Getter for the selected operator that handles typed defaults and ensures the provided selectedOperator is present in the operators array\n\t *\n\t * @param {object} column\n\t *\n\t * @returns {string | null} id of an operator, or undefined representing nothing is selected when operators are hidden\n\t */\n\tgetSelectedOperator: (column) =>\n\t\tget(column, 'columnFilterConfig.selectedOperator', null),\n\n\t/**\n\t * Returns the label for the operator id\n\t * @param {string | null} selectedOperator\n\t * @param {*} operators\n\t * @returns {string | null}\n\t */\n\tgetSelectedOperatorValue: (selectedOperator, operators) => {\n\t\tconst operatorValue = operators?.find((\n\t\t\t/** @type {{ id: string; label: string; }} */ item\n\t\t) => {\n\t\t\treturn item.id === selectedOperator;\n\t\t});\n\t\treturn operatorValue?.label;\n\t},\n\t/**\n\t * Selector for columnFilterConfig value property\n\t * @param {object} column\n\t *\n\t * @returns {SingleColumnFilteringState[\"value\"]}\n\t */\n\tgetColumnFilterValue: (column) =>\n\t\tget(column, 'columnFilterConfig.value', null),\n\n\t/**\n\t * Selector for columnFilterConfig custom component tag property\n\t * @param {object} column\n\t */\n\tgetColumnFilterValueEditorCustomComponentTag: (column) =>\n\t\tget(column, 'columnFilterConfig.valueEditorCustomComponentTag'),\n\n\t/**\n\t * Selector for props of the provided custom component\n\t * @param {object} column\n\t */\n\tgetColumnFilterValueEditorCustomComponentDefaultProps: (column) =>\n\t\tget(\n\t\t\tcolumn,\n\t\t\t'columnFilterConfig.valueEditorCustomComponentDefaultProps'\n\t\t),\n\n\t/* TYPE-SPECIFIC COLUMN SELECTORS */\n\n\t/* NUMBER COLUMN SELECTORS */\n\n\t/**\n\t * Gets the format of numbers in this column\n\t * @param {object} column\n\t *\n\t * @returns {(string | undefined)}\n\t */\n\tgetNumberFormat: (column) => {\n\t\tconst type = get(column, 'type');\n\n\t\tif (type !== TYPE_NUMBER && type !== TYPE_PERCENT_COMPLETE) {\n\t\t\tlogger.warning(\n\t\t\t\t'getNumberFormat(), a method specific to number typed columns, was called on a non-number type'\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\treturn get(column, 'numberFormat') || NUMBER_FORMAT_INTEGER;\n\t},\n\n\t/**\n\t * Gets the number of post-decimal-point digits that will be displayed in this column\n\t * @param {object} column\n\t *\n\t * @returns {(number | undefined)}\n\t */\n\tgetDecimalPlaces: (column) => {\n\t\tconst type = get(column, 'type');\n\t\tconst numberFormat = get(column, 'numberFormat');\n\t\tlet decimalPlaces = get(column, 'decimalPlaces');\n\n\t\tif (type !== TYPE_NUMBER && type !== TYPE_PERCENT_COMPLETE) {\n\t\t\tlogger.warning(\n\t\t\t\t'getDecimalPlaces(), a method specific to number typed columns, was called on a non-number type'\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tif (!numberFormat || numberFormat === NUMBER_FORMAT_INTEGER) {\n\t\t\tdecimalPlaces = 0; // ints always have 0 decimal places\n\t\t} else if (!decimalPlaces) {\n\t\t\tdecimalPlaces = DECIMAL_PLACES_DEFAULT;\n\t\t}\n\n\t\treturn decimalPlaces;\n\t},\n\n\t/**\n\t * Selector for getting locale\n\t * @param {object} column\n\t *\n\t * @returns {string}\n\t */\n\tgetNumberLocale: (column) => {\n\t\treturn get(column, 'locale') || window?.navigator?.language || 'en-US';\n\t},\n\n\t/**\n\t * Util to validate the locale string\n\t * @param {string} locale\n\t * @returns {boolean}\n\t */\n\tisValidLocale: (locale) => {\n\t\tlet length;\n\t\ttry {\n\t\t\tlength = Intl.NumberFormat.supportedLocalesOf([locale]).length;\n\t\t} catch (err) {\n\t\t\treturn false;\n\t\t}\n\t\treturn length > 0;\n\t},\n\n\t/**\n\t * util to check if cell content label is hyperlink\n\t * @param {ProcessedColumn} column\n\t * @returns {boolean}\n\t */\n\trenderAsLink: (column) => {\n\t\treturn column?.renderAsLink || false;\n\t},\n\n\t/**\n\t * Gets the NumberFormat object for formatting NumberCell value\n\t */\n\tgetNumberFormatter: memoize((/** @type {string} */ locale) => {\n\t\treturn new Intl.NumberFormat(\n\t\t\tcolumnSelectors.isValidLocale(locale)\n\t\t\t\t? locale\n\t\t\t\t: NUMBER_DEFAULT_LOCALE,\n\t\t\t{\n\t\t\t\tmaximumFractionDigits: 20,\n\t\t\t}\n\t\t);\n\t}),\n\n\t/* DATE/TIME COLUMN SELECTORS */\n\n\t/**\n\t * Gets operator object from columnFilterConfig\n\t * @param {object} column\n\t * @param {string | null} operator operator to be found\n\t *\n\t * @returns {any} returns requested operator object\n\t */\n\tgetOperatorFromColumnFilterConfig: (column, operator) => {\n\t\tconst type = get(column, 'type');\n\t\tif (type !== TYPE_DATE_TIME) {\n\t\t\tlogger.warning(\n\t\t\t\t'getOperatorFromColumnFilterConfig(), a method specific to date/time typed columns, was called on a non-date/time type'\n\t\t\t);\n\t\t}\n\t\tconst operators = get(column, 'columnFilterConfig.operators', []);\n\t\tconst operatorObj = find(operators, { id: operator });\n\t\treturn operatorObj;\n\t},\n\n\t/**\n\t * Gets the format of datetimes in this column\n\t * @param {object} column\n\t *\n\t * @returns {string}\n\t */\n\tgetDateTimeFormat: (column) => {\n\t\tconst type = get(column, 'type');\n\n\t\tif (type !== TYPE_DATE_TIME) {\n\t\t\tlogger.warning(\n\t\t\t\t'getDateTimeFormat(), a method specific to date/time typed columns, was called on a non-date/time type'\n\t\t\t);\n\t\t}\n\n\t\treturn get(column, 'dateTimeFormat') || DATE_TIME_FORMAT_DEFAULT;\n\t},\n\n\t/**\n\t * Gets the time zone of datetimes in this column\n\t * @param {object} column\n\t *\n\t * @returns {string}\n\t */\n\tgetTimeZone: (column) => {\n\t\tconst type = get(column, 'type');\n\n\t\tif (type !== TYPE_DATE_TIME) {\n\t\t\tlogger.warning(\n\t\t\t\t'getTimeZone(), a method specific to date/time typed columns, was called on a non-date/time type'\n\t\t\t);\n\t\t}\n\n\t\tconst timeZone = get(column, 'timeZone');\n\n\t\tif (timeZone) {\n\t\t\ttry {\n\t\t\t\tIntl.DateTimeFormat(undefined, { timeZone: timeZone });\n\t\t\t\treturn timeZone;\n\t\t\t} catch (error) {\n\t\t\t\tlogger.warning(\n\t\t\t\t\t'Invalid timezone format detected. Please input a correct IANA timezone format.'\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn Intl.DateTimeFormat().resolvedOptions().timeZone; // default to local timezone\n\t},\n\n\t/**\n\t * Gets the time ago display in this column\n\t * @param {object} column\n\t * @param {object} contextApi\n\t * @returns {string}\n\t */\n\tgetTimeAgoDisplay: (column, contextApi) => {\n\t\tconst type = get(column, 'type');\n\n\t\tif (type !== TYPE_DATE_TIME) {\n\t\t\tlogger.warning(\n\t\t\t\t'getTimeAgoDisplay(), a method specific to date/time typed columns, was called on a non-date/time type'\n\t\t\t);\n\t\t}\n\n\t\tlet timeAgoDisplay = get(\n\t\t\tcolumn,\n\t\t\t'timeAgoDisplay',\n\t\t\tTIME_AGO_DISPLAY_NONE\n\t\t);\n\t\t// First we check if timeAgoDisplay is set as a prop on now-list, if yes we take it.\n\t\t// If not, we check for user preference and set value based on it. If user preference doesn't exist we default to none.\n\t\tif (timeAgoDisplay == TIME_AGO_DISPLAY_NONE) {\n\t\t\tconst dateTimeFormatPrefValue = get(\n\t\t\t\tcontextApi,\n\t\t\t\tdateTimeFormatPrefKey\n\t\t\t);\n\t\t\tif (dateTimeFormatPrefValue) {\n\t\t\t\tlet dateFormatUserPrefValues;\n\n\t\t\t\ttry {\n\t\t\t\t\tdateFormatUserPrefValues = JSON.parse(\n\t\t\t\t\t\tdateTimeFormatPrefValue\n\t\t\t\t\t);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tlogger.error(\n\t\t\t\t\t\t'Error parsing user preference for date time format'\n\t\t\t\t\t);\n\t\t\t\t\tdateFormatUserPrefValues = TIME_AGO_DISPLAY_NONE;\n\t\t\t\t}\n\t\t\t\tconst showTimeAgo = dateFormatUserPrefValues['timeAgo'];\n\t\t\t\tconst showDateAndTimeAgo = dateFormatUserPrefValues['dateBoth'];\n\n\t\t\t\t// show only time ago\n\t\t\t\tif (showTimeAgo)\n\t\t\t\t\ttimeAgoDisplay = TIME_AGO_DISPLAY_AS_MAIN_VALUE;\n\t\t\t\t// show date and time ago\n\t\t\t\telse if (showDateAndTimeAgo)\n\t\t\t\t\ttimeAgoDisplay = TIME_AGO_DISPLAY_UNDER_MAIN_VALUE;\n\t\t\t\t// show none if above conditions fails\n\t\t\t\telse timeAgoDisplay = TIME_AGO_DISPLAY_NONE;\n\t\t\t}\n\t\t}\n\t\treturn timeAgoDisplay;\n\t},\n\n\t/**\n\t * Sets the short date format and returns format\n\t * @param {Date} dateObject\n\t * @param {string} dateTimeFormat\n\t * @returns {string}\n\t */\n\tsetShortDateFormat: (dateObject, dateTimeFormat) => {\n\t\t// if format ends with :ss or .ss, strip off :ss or .ss from date time format\n\t\tif (\n\t\t\tendsWith(dateTimeFormat, SECONDS_FORMAT) ||\n\t\t\tendsWith(dateTimeFormat, SECONDS_FORMAT_WITH_DOTS)\n\t\t) {\n\t\t\tdateTimeFormat = dateTimeFormat.substring(\n\t\t\t\t0,\n\t\t\t\tdateTimeFormat.length - SECONDS_FORMAT.length\n\t\t\t);\n\t\t}\n\t\tconst date = new Date();\n\t\tconst presentYear = date.getFullYear().toString();\n\t\tconst dateObjectYear = dateObject.getFullYear().toString();\n\n\t\t//check if current year is same as from year on date value, if yes we strip it off\n\t\tif (dateObjectYear == presentYear) {\n\t\t\tdateTimeFormat = dateTimeFormat.replace('yyyy-', '');\n\t\t\tdateTimeFormat = dateTimeFormat.replace('/yyyy', '');\n\t\t\tdateTimeFormat = dateTimeFormat.replace('yyyy/', '');\n\t\t\tdateTimeFormat = dateTimeFormat.replace('-yyyy', '');\n\t\t\tdateTimeFormat = dateTimeFormat.replace('.yyyy', '');\n\t\t\tdateTimeFormat = dateTimeFormat.replace('yyyy.', '');\n\t\t}\n\t\treturn dateTimeFormat;\n\t},\n\n\t/**\n\t * Gets first day of the week from the system property\n\t * @param {ColumnBase} column\n\t * @returns {number}\n\t */\n\tgetFirstDayOfWeek: function (column) {\n\t\treturn get(column, 'firstDayOfWeek', 1);\n\t},\n\t/* ACTIONABLE LINKS AND URL COLUMN SELECTORS */\n\n\t/**\n\t * Gets whether links in this column should open in the current tab or in a new tab/window\n\t * @param {object} column\n\t *\n\t * @returns {boolean}\n\t */\n\tgetOpensInNew: (column) => {\n\t\tconst type = get(column, 'type');\n\n\t\tif (type !== TYPE_URL) {\n\t\t\tlogger.warning(\n\t\t\t\t'getOpensInNew(), a method specific to URL typed columns, was called on a non-URL type. Be aware that the link type is different from the URL type.'\n\t\t\t);\n\t\t}\n\n\t\treturn get(column, 'opensInNew', OPENS_IN_NEW_DEFAULT);\n\t},\n\n\t/**\n\t * Gets whether links in this column should be disabled and render as text\n\t * @param {ProcessedColumn} column\n\t *\n\t * @returns {boolean}\n\t */\n\tgetDisabled: (column) => {\n\t\tconst type = get(column, 'type');\n\n\t\tif (\n\t\t\t![TYPE_URL, TYPE_LINK, TYPE_PERSON].includes(type) &&\n\t\t\t!column?.renderAsLink\n\t\t) {\n\t\t\tlogger.warning(\n\t\t\t\t'getDisabled(), a method specific to URL, actionable link typed columns, or person columns was called on an inapplicable type.'\n\t\t\t);\n\t\t}\n\n\t\treturn get(column, 'disabled', false);\n\t},\n\n\t/* PERSON COLUMN SELECTORS */\n\n\t/**\n\t * Selector for getting label of person column\n\t * @param {object} column\n\t *\n\t * @returns {string | null}\n\t */\n\tgetDisplay: (column) => {\n\t\tconst type = get(column, 'type');\n\n\t\tif (type !== TYPE_PERSON) {\n\t\t\tlogger.warning(\n\t\t\t\t'getDisplay(), a method specific to person typed columns, was called on a non-person type'\n\t\t\t);\n\t\t\treturn null;\n\t\t}\n\n\t\tconst personDisplay =\n\t\t\tget(column, 'display') ?? PERSON_DISPLAY_TYPE_DEFAULT;\n\n\t\tif (!['name', 'avatar', 'both'].includes(personDisplay)) {\n\t\t\treturn PERSON_DISPLAY_TYPE_DEFAULT;\n\t\t}\n\n\t\treturn personDisplay;\n\t},\n\n\t/* PILLS COLUMN SELECTORS */\n\n\t/**\n\t * Gets the maximum number of pills that can be rendered in each cell of this column\n\t * @param {object} column\n\t *\n\t * @returns {number}\n\t */\n\tgetMaxPillLimit: (column) => {\n\t\treturn get(column, 'maxPillLimit', MAX_PILL_LIMIT_DEFAULT);\n\t},\n\n\t/**\n\t * Gets the pills choices that can be rendered in the list to add/remove the pills in the cell\n\t * @param {ColumnType | ProcessedColumn} column\n\t *\n\t * @returns {Array<ChoiceType>}\n\t */\n\tgetPillsChoices: (column) => {\n\t\treturn get(column, 'pillsChoices', []);\n\t},\n\n\t/* CHOICE COLUMN SELECTORS */\n\n\t/**\n\t * Selector for getting the choices of the column\n\t * @param {ColumnType | ProcessedColumn} column - processed column\n\t * @returns {Array<ChoiceType> | null} column or null\n\t */\n\tgetChoices: (column) => {\n\t\tconst type = get(column, 'type');\n\n\t\tif (type !== TYPE_CHOICE) {\n\t\t\tlogger.warning(\n\t\t\t\t'getChoices(), a method specific to choice typed columns, was called on a non-choice type'\n\t\t\t);\n\t\t\treturn null;\n\t\t}\n\t\tconst choiceList = get(column, 'choices');\n\n\t\tif (isEmpty(choiceList)) {\n\t\t\tlogger.warning('Choices is required and must be defined.');\n\t\t\treturn null;\n\t\t}\n\n\t\treturn choiceList;\n\t},\n\n\t/**\n\t * Selector for getting the default choice of the column\n\t * @param {ProcessedColumn} column - processed column\n\t * @returns {String} value to be displayed\n\t */\n\tgetDefaultChoiceKey: function (column) {\n\t\tconst choiceList = get(column, 'choices');\n\t\tconst defaultFallBackKey = choiceList[0].key;\n\t\tconst defaultChoiceKey = get(column, 'defaultChoiceKey');\n\n\t\treturn defaultChoiceKey || defaultFallBackKey;\n\t},\n\n\t/**\n\t * Selector for getting the choices of the column based on the given key\n\t * @param {ProcessedColumnDefinitions} key - get choices of column based on this key\n\t * @param {ProcessedColumn} column - processed column\n\t * @returns {String | null} value to be displayed\n\t */\n\tgetChoiceLabelFromKey: function (key, column) {\n\t\tconst type = get(column, 'type');\n\n\t\tif (type !== TYPE_CHOICE) {\n\t\t\tlogger.warning(\n\t\t\t\t'getChoicesLabelFromKey(), a method specific to choice typed columns, was called on a non-choice type'\n\t\t\t);\n\t\t\treturn null;\n\t\t}\n\n\t\tconst choiceList = get(column, 'choices');\n\n\t\tif (isEmpty(choiceList)) {\n\t\t\tlogger.warning('Choices is required and must be defined.');\n\t\t\treturn null;\n\t\t}\n\n\t\tconst defaultChoiceKey = this.getDefaultChoiceKey(column);\n\t\tlet defaultValue;\n\n\t\tfor (const choice of choiceList) {\n\t\t\tif (choice.key === key) {\n\t\t\t\treturn choice.label;\n\t\t\t}\n\t\t\tif (choice.key === defaultChoiceKey) {\n\t\t\t\tdefaultValue = choice.label;\n\t\t\t}\n\t\t}\n\t\treturn defaultValue;\n\t},\n\n\t/* CURRENCY COLUMN SELECTORS */\n\n\t/**\n\t * Gets the currency in this column\n\t * @param {object} column\n\t *\n\t * @returns {string}\n\t */\n\tgetCurrency: (column) => {\n\t\tconst type = get(column, 'type');\n\n\t\tif (type !== TYPE_CURRENCY) {\n\t\t\tlogger.warning(\n\t\t\t\t'getCurrency(), a method specific to currency typed columns, was called on a non-currency type'\n\t\t\t);\n\t\t}\n\n\t\treturn get(column, 'currency') || CURRENCY_DEFAULT;\n\t},\n\n\t/**\n\t * Gets the locale to determine the delimiter for currency in this column\n\t * @param {object} column\n\t *\n\t * @returns {string}\n\t */\n\tgetCurrencyLocale: (column) => {\n\t\tconst type = get(column, 'type');\n\n\t\tif (type !== TYPE_CURRENCY) {\n\t\t\tlogger.warning(\n\t\t\t\t'getCurrencyLocale(), a method specific to currency typed columns, was called on a non-currency type'\n\t\t\t);\n\t\t}\n\t\tconst defaultLocale =\n\t\t\twindow?.navigator?.language || CURRENCY_LOCALE_DEFAULT;\n\t\treturn get(column, 'locale') || defaultLocale;\n\t},\n\n\t/* PERCENT COMPLETE COLUMN SELECTORS */\n\n\t/**\n\t * Selector for thresholdColors for percent complete type\n\t * @param {object} column\n\t *\n\t * @returns {string} string representing the colors that should be shown at certain percentage thresholds\n\t */\n\tgetThresholdColors: (column) => {\n\t\treturn get(column, 'thresholdColors', '');\n\t},\n\n\t/* PRIVATE COLUMN FIELDS */\n\n\t/**\n\t * Selector for getting colspan from column object\n\t * @param {object} column\n\t *\n\t * @returns {number} colspam\n\t */\n\tgetColumnColSpan: fpGet('_colspan'),\n\n\t/**\n\t * Selector for getting rowspan from column object\n\t * @param {object} column\n\t *\n\t * @returns {number} rowspan\n\t */\n\tgetColumnRowSpan: fpGet('_rowspan'),\n\n\t/**\n\t * Selector for getting parent key from column object\n\t * @param {object} column\n\t *\n\t * @returns {string|undefined} colspam\n\t */\n\tgetColumnParentKey: fpGet('_parentKey'),\n\n\t/**\n\t * Selector for checking if a column is active\n\t * @param {object} column\n\t *\n\t * @returns {boolean} active\n\t */\n\tisColumnActive: fpGet('_active'),\n\n\t/**\n\t * Selector for getting the column level in the tree\n\t * @param {object} column\n\t *\n\t * @returns {number} level\n\t */\n\tgetColumnLevel: fpGet('_level'),\n\n\t/**\n\t * Selector for getting a specific column's edges\n\t * @param {object} column\n\t *\n\t * @returns {Array<String>} array of strings. Each index in the array corresponds to an edge on a nested column structure\n\t */\n\tgetColumnEdges: fpGet('columnEdges'),\n\n\t/**\n\t * Selector for getting a first column edge which is not a special column\n\t * @param {Array<String>} columnEdges\n\t *\n\t * @returns {string} returns first column edge\n\t */\n\tgetFirstColumnEdge: (columnEdges) => {\n\t\treturn find(columnEdges, (/** @type {string} */ columnEdge) => {\n\t\t\tconst isSpecial = columnSelectors.isSpecialColumnKey(columnEdge);\n\t\t\treturn !isSpecial;\n\t\t});\n\t},\n\n\t/**\n\t * Selector for getting a custom column's component tag\n\t * @param {object} column\n\t *\n\t * @returns {string}\n\t */\n\tgetColumnComponentTag: fpGet('componentTag'),\n\n\t/**\n\t * Selector for checking if a custom column has a component tag\n\t * @param {object} column\n\t *\n\t * @returns {boolean}\n\t */\n\thasColumnComponentTag: fpHas('componentTag'),\n\n\t/**\n\t * Selector for getting a custom column's cell place holder dimensions\n\t * @param {object} column\n\t *\n\t * @returns {CellContentDimensions}\n\t */\n\tgetColumnPlaceholderDimensions: fpGetOr({}, 'placeholderDimensions'),\n\n\t/**\n\t * Selector for getting a custom column's cell content dimensions\n\t * @param {object} column\n\t *\n\t * @returns {CellContentDimensions}\n\t */\n\tgetCellContentDimensions: fpGetOr({}, 'cellContentDimensions'),\n\n\t/**\n\t * Selector for getting a custom column's component properties\n\t * @param {object} column\n\t *\n\t * @returns {object}\n\t */\n\tgetColumnDefaultComponentProperties: fpGetOr({}, 'defaultComponentProps'),\n};\n\nexport default columnSelectors;\n","import { actionTypes } from '@servicenow/ui-core';\nimport cloneDeep from 'lodash/cloneDeep';\nimport isEmpty from 'lodash/isEmpty';\nimport isEqual from 'lodash/isEqual';\nimport remove from 'lodash/remove';\n\nimport logger from '../../shared/utils/logger';\nimport columnSelectors from '../../shared/utils/selectors/columnSelectors';\nimport featureFlagSelectors from '../../shared/utils/selectors/featureFlagSelectors';\nimport rowSelectors from '../../shared/utils/selectors/rowSelectors';\n\nconst {\n\tSPECIAL_TYPE_ACTIONS,\n\tSPECIAL_TYPE_SELECTION,\n\tSPECIAL_TYPE_GROUP_BADGE,\n\tSPECIAL_TYPE_GROUP_TOGGLE,\n\tSPECIAL_TYPE_ROW_DRAG_HANDLE,\n\tSPECIAL_TYPE_PARENT_TOGGLE,\n\tSPECIAL_TYPE_PARENT_BADGE,\n} = require('../../typeSchemas/columnDefinitions/columnTypes/columnTypes');\nconst {\n\tPOSITION_TABLE_END,\n} = require('../../typeSchemas/rowDefinitions/rowConfigConsts');\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_RENDER_REQUESTED,\n} = actionTypes;\n\n/* STRING CONSTANTS */\nconst pathConstants = {\n\tprocessedColumnDefinitionsPath: 'processedColumnDefinitions',\n\tcolumnsPath: 'columns',\n};\n\n/* SELECTORS */\n\nconst {\n\tgetColumnFilteringEnabled,\n\tgetMaxCharacters,\n\tgetRowDragDropEnabled,\n\tgetSelectionEnabled,\n} = featureFlagSelectors;\n\n/**\n * Selector for getting new path from existing path and column index\n * @param {string} path Existing path of columns\n * @param {number} index column index\n */\nexport const getNewChildPath = (path, index) => `${path}[${index}].children`;\n\n/* HELPERS */\n\n/**\n *  Recursively Iterates through column definitions and returns max depth across all columns\n *\n * @param {Array<ColumnType>} columnDefinitions Array of column definitions\n * @param {number} currentDepth Used for recursive calls. Describes the current layer of the tree structure.\n *\n * @returns {number} Max depth of columns\n */\nexport const getColumnDepth = (columnDefinitions, currentDepth = 1) => {\n\tlet depth = currentDepth;\n\tcolumnDefinitions.forEach((column) => {\n\t\tconst { children = [] } = column;\n\n\t\tif (children.length) {\n\t\t\tconst newDepth = currentDepth + 1;\n\t\t\tconst childrenDepth = getColumnDepth(children, newDepth);\n\n\t\t\tif (childrenDepth > depth) depth = childrenDepth;\n\t\t}\n\t});\n\treturn depth;\n};\n\n/**\n * Helper for getting correct row and column header index\n * @param {*} payload\n */\nexport const getColumnHeaderIndexes = (payload) => {\n\tconst {\n\t\tcontext: {\n\t\t\tcolumn: { key, _level },\n\t\t},\n\t\tprocessedColumnDefinitions: { columnMap },\n\t} = payload;\n\n\t/**\n\t * Getting column index from `columnMap` using the column key we are getting from the context action payload.\n\t * columnMap has all the columns keys (like 'assigned_to') and their structured indexes as values (like 'columns[9]'),\n\t * Split logic will get us the value `9` for an example here which is the column index.\n\t * _level can be used to get row index.\n\t * This will also cover grouped columns.\n\t * */\n\n\t// eslint-disable-next-line no-prototype-builtins\n\tif (columnMap.hasOwnProperty(key)) {\n\t\tconst columnPath = columnMap[key];\n\t\tconst columnIdxRegex = /\\[|\\]/;\n\t\tconst [, columnIndex] = columnPath.split(columnIdxRegex);\n\n\t\treturn {\n\t\t\theaderRowIndex: _level,\n\t\t\theaderColumnIndex: Number(columnIndex) + 1,\n\t\t};\n\t}\n};\n\n/**\n * This function prunes duplicate keyed column definitions. Column keys must be unique to prevent any issues\n * in rendering the cells as rendering is key based. Only the first instance of a duplicate column key should be valid.\n * This function will process each column level sequentially and will mutate original object\n *\n * @param {ClonedColumnDefinitions} columnDefinitions\n *\n */\nexport const pruneColumnDefinitions = (columnDefinitions) => {\n\tconst columnKeys = new Set();\n\n\tconst pruneColumnDefinitionsHelper = (\n\t\t/** @type {Array<Array<ProcessedColumn>>}*/ columnsInCurrentLevel\n\t) => {\n\t\t/** @type {Array<*>} */\n\t\tconst nextLevelChildren = [];\n\n\t\tcolumnsInCurrentLevel.forEach((entry) => {\n\t\t\tremove(entry, (/**@type {ProcessedColumn}*/ column) => {\n\t\t\t\tif (columnKeys.has(column.key)) {\n\t\t\t\t\tlogger.error(\n\t\t\t\t\t\t'Duplicate column encountered. Removing from column definitions',\n\t\t\t\t\t\tcolumn\n\t\t\t\t\t);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tcolumnKeys.add(column.key);\n\n\t\t\t\tif (column.children) {\n\t\t\t\t\tnextLevelChildren.push(column.children);\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t});\n\t\t});\n\n\t\tif (nextLevelChildren.length) {\n\t\t\tpruneColumnDefinitionsHelper(nextLevelChildren);\n\t\t}\n\n\t\tcolumnKeys.clear();\n\t};\n\n\tpruneColumnDefinitionsHelper([columnDefinitions.columns]);\n};\n\n/**\n * This function will mutate the columns for any additional processing that has to happen\n * @param {Array<ProcessedColumn>} columns\n * @param {object} props\n *\n * @returns {Array<ProcessedColumn>} columns\n */\nexport const updateColumns = (columns, props) => {\n\tconst maxCharacters = getMaxCharacters(props);\n\n\tif (maxCharacters !== undefined && maxCharacters !== null) {\n\t\tcolumns.forEach((/** @type {ColumnType } */ column) => {\n\t\t\tif (!columnSelectors.hasMaxCharacters(column)) {\n\t\t\t\tcolumn.maxCharacters = maxCharacters;\n\t\t\t}\n\t\t});\n\t}\n\n\treturn columns;\n};\n\n/**\n * This function checks whether there is any row that has children\n * @param {Row[]} rows\n *\n * @returns {boolean} hasChildren\n */\nexport const isNestedRows = (rows) =>\n\trows?.some((row) => rowSelectors.hasChildren(row)) || false;\n\n/**\n * Some kinds of special columns (row actions, selection) are not configured through the columnDefinitions prop.\n * This function adds those special columns based on their config in other props.\n *\n * @param {ClonedColumnDefinitions} clonedColumnDefinitions\n * @param {RowDefinitions} rowDefinitions\n * @param {object} props\n * @param {boolean | undefined} props.virtualizedScrollEnabled\n *\n * @returns {ClonedColumnDefinitions}\n */\nexport const addOrUpdateSpecialColumns = (\n\tclonedColumnDefinitions,\n\trowDefinitions,\n\tprops\n) => {\n\tconst { getColumns, isSpecialColumn } = columnSelectors;\n\tconst {\n\t\thasRowActionsWithItems,\n\t\tgetRowActions,\n\t\tgetRowActionsPosition,\n\t\thasGroupedOrDefaultRowsWithChildren,\n\t\thasGroupedRowCount,\n\t} = rowSelectors;\n\n\tlet columns = getColumns(clonedColumnDefinitions);\n\n\t// prune any existing special columns\n\tcolumns = remove(columns, (/** @type {ColumnBase} */ column) => {\n\t\treturn !isSpecialColumn(column);\n\t});\n\n\tif (rowDefinitions.rows && isNestedRows(rowDefinitions.rows)) {\n\t\t// GROUPED ROW CHEVRON TOGGLES COLUMN\n\t\tif (hasGroupedOrDefaultRowsWithChildren(rowDefinitions)) {\n\t\t\t/** @constant\n\t\t\t\t@type {ColumnBase}\n\t\t\t*/\n\t\t\tconst parentToggleColumn = {\n\t\t\t\ttype: SPECIAL_TYPE_PARENT_TOGGLE,\n\t\t\t\tkey: SPECIAL_TYPE_PARENT_TOGGLE,\n\t\t\t\tisSpecialColumn: true,\n\t\t\t};\n\n\t\t\tcolumns.unshift(parentToggleColumn);\n\t\t}\n\n\t\t// GROUPED ROW BADGE COLUMN\n\t\tif (hasGroupedRowCount(rowDefinitions)) {\n\t\t\tconst parentBadgeColumn = {\n\t\t\t\ttype: SPECIAL_TYPE_PARENT_BADGE,\n\t\t\t\tkey: SPECIAL_TYPE_PARENT_BADGE,\n\t\t\t\tisSpecialColumn: true,\n\t\t\t};\n\t\t\tcolumns.unshift(parentBadgeColumn);\n\t\t}\n\t}\n\n\t// SELECTION COLUMN\n\tif (getSelectionEnabled(props)) {\n\t\t/** @constant\n\t\t\t@type {ColumnBase}\n\t\t*/\n\t\tconst selectionColumn = {\n\t\t\ttype: SPECIAL_TYPE_SELECTION,\n\t\t\tkey: SPECIAL_TYPE_SELECTION,\n\t\t\tisSpecialColumn: true,\n\t\t};\n\n\t\tcolumns.unshift(selectionColumn);\n\t}\n\n\t// ROW ACTIONS COLUMN\n\t// in the case that column filtering is on, the row actions column is used to display the toggle button for the header row even if there are no actual row actions\n\t// in that case, the row actions column is always at the start of the column so that the button to open the filter is visible on initial render, so we ignore row actions position if it is at the end.\n\tif (\n\t\thasRowActionsWithItems(rowDefinitions) ||\n\t\tgetColumnFilteringEnabled(props)\n\t) {\n\t\tconst rowActions = getRowActions(rowDefinitions);\n\t\t/** @constant\n\t\t\t@type {ColumnBase}\n\t\t*/\n\t\tconst rowActionsColumn = {\n\t\t\ttype: SPECIAL_TYPE_ACTIONS,\n\t\t\tkey: SPECIAL_TYPE_ACTIONS,\n\t\t\tisSpecialColumn: true,\n\t\t};\n\n\t\tconst actionsPosition = getRowActionsPosition(\n\t\t\trowActions,\n\t\t\tgetColumnFilteringEnabled(props)\n\t\t);\n\n\t\tif (actionsPosition === POSITION_TABLE_END) {\n\t\t\tcolumns.push(rowActionsColumn);\n\t\t} else {\n\t\t\tcolumns.unshift(rowActionsColumn);\n\t\t}\n\t}\n\n\t// GROUPED ROW BADGE COLUMN\n\tif (hasGroupedRowCount(rowDefinitions)) {\n\t\tconst rowGroupBadgeColumn = {\n\t\t\ttype: SPECIAL_TYPE_GROUP_BADGE,\n\t\t\tkey: SPECIAL_TYPE_GROUP_BADGE,\n\t\t\tisSpecialColumn: true,\n\t\t};\n\t\tcolumns.unshift(rowGroupBadgeColumn);\n\t}\n\n\t// GROUPED ROW CHEVRON TOGGLES COLUMN\n\tif (hasGroupedOrDefaultRowsWithChildren(rowDefinitions)) {\n\t\t/** @constant\n\t\t\t@type {ColumnBase}\n\t\t*/\n\t\tconst groupedToggleColumn = {\n\t\t\ttype: SPECIAL_TYPE_GROUP_TOGGLE,\n\t\t\tkey: SPECIAL_TYPE_GROUP_TOGGLE,\n\t\t\tisSpecialColumn: true,\n\t\t};\n\n\t\tcolumns.unshift(groupedToggleColumn);\n\t}\n\n\t// ROW DRAG HANDLE COLUMN\n\tif (getRowDragDropEnabled(props)) {\n\t\t/** @constant\n\t\t\t@type {ColumnBase}\n\t\t*/\n\t\tconst rowDragDropColumn = {\n\t\t\ttype: SPECIAL_TYPE_ROW_DRAG_HANDLE,\n\t\t\tkey: SPECIAL_TYPE_ROW_DRAG_HANDLE,\n\t\t\tisSpecialColumn: true,\n\t\t};\n\n\t\tcolumns.unshift(rowDragDropColumn);\n\t}\n\n\tclonedColumnDefinitions.columns = columns;\n\treturn clonedColumnDefinitions;\n};\n\n/**\n * Helper function to create an empty array of arrays.\n *\n * @param {number} depth Number of levels to create empty array\n *\n * @returns {Array<Array<*>>} Returns Array of empty arrays at length of depth\n */\nconst createEmptyColumnLeafArray = (depth) =>\n\tArray.from(Array(depth), () => []);\n\n/**\n *\n * @typedef {Object} ColumnInfo\n * @property {Array<Array<string>>} columnLeafs\n * @property {Array<string>} columnEdges\n * @property {Record<string, string>} columnMap\n *\n * This function recursively iterates through the column structure and returns three pieces of state.\n * Column Edges: Lowest level columns to render per row\n * Column Leafs: Array structure comtaining header rows and the keys within each\n * Column Map: Dictionary with column key as the key and value as the path to access the column via getter so we dont have to search everytime we access a column\n * @param {Array<ProcessedColumn>} columns\n * @returns {ColumnInfo} Column state information\n */\nexport const getColumnInfo = (columns) => {\n\tconst maxDepth = getColumnDepth(columns);\n\n\t/** @type {Array<*>} */\n\tconst columnLeafs = createEmptyColumnLeafArray(maxDepth);\n\n\t/** @type {Array<string>} */\n\tconst columnEdges = [];\n\n\t/** @type {Object<String,String>} */\n\tconst columnMap = {};\n\n\tconst getColumnInfoHelper = (\n\t\t/** @type {Array<ProcessedColumn>}*/ columns,\n\t\tlevel = 1,\n\t\tpath = pathConstants.columnsPath\n\t) => {\n\t\tcolumns.forEach((column, index) => {\n\t\t\tconst key = columnSelectors.getColumnKey(column);\n\n\t\t\tcolumnMap[key] = `${path}[${index}]`;\n\t\t\tcolumnLeafs[level - 1].push(key);\n\n\t\t\tif (columnSelectors.hasChildren(column)) {\n\t\t\t\tgetColumnInfoHelper(\n\t\t\t\t\tcolumn.children,\n\t\t\t\t\tlevel + 1,\n\t\t\t\t\tgetNewChildPath(path, index)\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tcolumnEdges.push(key);\n\t\t\t}\n\t\t});\n\t};\n\n\tgetColumnInfoHelper(columns);\n\n\treturn {\n\t\tcolumnLeafs,\n\t\tcolumnEdges,\n\t\tcolumnMap,\n\t};\n};\n\n/**\n * This function recursively iterates through processed column definitions and adds rowspan, colspan and level\n * depending on the column structure. Will mutate columns argument.\n * @param {Array<ProcessedColumn>} columns\n * @param {number} level\n * @param {number} maxDepth\n * @param {string|undefined} parentKey\n */\nexport const addSpanFields = (\n\tcolumns,\n\tlevel = 1,\n\tmaxDepth = getColumnDepth(columns),\n\tparentKey = undefined\n) => {\n\tlet colSpan = 0;\n\tcolumns.forEach((column) => {\n\t\tif (columnSelectors.hasChildren(column)) {\n\t\t\tconst childrenColSpan = addSpanFields(\n\t\t\t\tcolumn.children,\n\t\t\t\tlevel + 1,\n\t\t\t\tmaxDepth,\n\t\t\t\tcolumn.key\n\t\t\t);\n\n\t\t\tcolSpan += childrenColSpan;\n\t\t\tcolumn._rowspan = 1;\n\t\t\tcolumn._colspan = childrenColSpan;\n\t\t} else {\n\t\t\tcolumn._rowspan = maxDepth - level + 1;\n\t\t\tcolumn._colspan = 1;\n\t\t\tcolSpan += 1;\n\t\t}\n\t\tcolumn._level = level;\n\t\tcolumn._parentKey = parentKey;\n\t});\n\n\treturn colSpan;\n};\n\n/**\n * Function to process column definitions. Will clone original property passed in to modify and add additional private parameters (such as col and rowspan)\n * and computed properties based on other things that are passed in. Will act as the source of truth in the component instead of referencing different parts\n * of state and properties throughout the code.\n *\n * @param {ColumnDefinitions} columnDefinitions\n * @param {RowDefinitions} rowDefinitions\n * @param {object} featureFlags\n * @param {boolean | undefined} featureFlags.columnFilteringEnabled\n * @param {boolean | undefined} featureFlags.expandAllGroups\n * @param {boolean | undefined} featureFlags.rowDragDropEnabled\n * @param {boolean | undefined} featureFlags.selectionEnabled\n * @param {number  | undefined} featureFlags.maxCharacters\n * @param {boolean | undefined} featureFlags.virtualizedScrollEnabled\n * @returns {ProcessedColumnDefinitions}\n */\nexport const processColumnDefinitions = (\n\tcolumnDefinitions,\n\trowDefinitions,\n\tfeatureFlags\n) => {\n\t/** @type {ClonedColumnDefinitions} */\n\tconst clonedColumnDefinitions = cloneDeep(columnDefinitions);\n\n\tpruneColumnDefinitions(clonedColumnDefinitions);\n\n\tif (columnSelectors.willHaveSpecialColumns(rowDefinitions, featureFlags)) {\n\t\taddOrUpdateSpecialColumns(\n\t\t\tclonedColumnDefinitions,\n\t\t\trowDefinitions,\n\t\t\tfeatureFlags\n\t\t);\n\t}\n\n\tconst clonedColumns = columnSelectors.getColumns(clonedColumnDefinitions);\n\n\tupdateColumns(clonedColumns, featureFlags);\n\n\taddSpanFields(clonedColumns);\n\n\treturn {\n\t\tprocessedColumnDefinitions: clonedColumnDefinitions,\n\t\t...getColumnInfo(clonedColumns),\n\t};\n};\n\n/* EFFECTS */\n\n/**\n * Property Changed Effect Handler. Will check for columnDefinitions changes and process the columnDefinitions accordingly\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const propertyChangedActionHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue },\n\t\t},\n\t\tproperties: {\n\t\t\tcolumnDefinitions,\n\t\t\tcolumnFilteringEnabled,\n\t\t\texpandAllGroups,\n\t\t\tmaxCharacters,\n\t\t\trowDefinitions,\n\t\t\trowDragDropEnabled,\n\t\t\tselectionEnabled,\n\t\t\tvirtualizedScrollEnabled,\n\t\t},\n\t\tstate: { processedColumnDefinitions },\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (\n\t\tisEqual(value, previousValue) ||\n\t\t!(\n\t\t\tname === 'columnDefinitions' ||\n\t\t\tname === 'rowDefinitions' ||\n\t\t\tname === 'columnFilteringEnabled' ||\n\t\t\tname === 'selectionEnabled' ||\n\t\t\tname === 'rowDragDropEnabled' ||\n\t\t\tname === 'expandAllGroups' ||\n\t\t\tname === 'maxCharacters'\n\t\t)\n\t) {\n\t\treturn;\n\t}\n\n\tif (isEmpty(columnDefinitions) || isEmpty(columnDefinitions.columns)) {\n\t\tif (!isEmpty(processedColumnDefinitions)) {\n\t\t\tupdateState({\n\t\t\t\tpath: pathConstants.processedColumnDefinitionsPath,\n\t\t\t\tvalue: {},\n\t\t\t\toperation: 'set',\n\t\t\t});\n\t\t}\n\t\treturn;\n\t}\n\n\tlet processedColumns = {};\n\tconst columnFeatureFlags = {\n\t\tcolumnFilteringEnabled,\n\t\texpandAllGroups,\n\t\tmaxCharacters,\n\t\trowDragDropEnabled,\n\t\tselectionEnabled,\n\t\tvirtualizedScrollEnabled,\n\t};\n\n\tif (name === 'columnDefinitions' && !isEmpty(value)) {\n\t\tprocessedColumns = processColumnDefinitions(\n\t\t\tvalue,\n\t\t\trowDefinitions,\n\t\t\tcolumnFeatureFlags\n\t\t);\n\t} else if (name === 'rowDefinitions') {\n\t\tprocessedColumns = processColumnDefinitions(\n\t\t\tcolumnDefinitions,\n\t\t\tvalue,\n\t\t\tcolumnFeatureFlags\n\t\t);\n\t} else {\n\t\t// must pass all featureFlags in else some special columns might not be rendered,\n\t\t// can't assume the other flags have already been processed\n\t\tprocessedColumns = processColumnDefinitions(\n\t\t\tcolumnDefinitions,\n\t\t\trowDefinitions,\n\t\t\t// @ts-ignore\n\t\t\t{\n\t\t\t\t...columnFeatureFlags,\n\t\t\t\t[name]: value,\n\t\t\t}\n\t\t);\n\t}\n\tupdateState({\n\t\tpath: pathConstants.processedColumnDefinitionsPath,\n\t\tvalue: processedColumns,\n\t\toperation: 'set',\n\t});\n};\n\n/**\n * Similar to property changed handler, processes columnDefinitions prop and stores in state\n * @param {Coeffects<Props,State>} coeffects\n */\nconst componentBootstrappedEffect = (coeffects) => {\n\tconst {\n\t\tproperties: {\n\t\t\tcolumnDefinitions,\n\t\t\tcolumnFilteringEnabled,\n\t\t\texpandAllGroups,\n\t\t\tmaxCharacters,\n\t\t\trowDefinitions,\n\t\t\trowDragDropEnabled,\n\t\t\tselectionEnabled,\n\t\t\tvirtualizedScrollEnabled,\n\t\t},\n\t} = coeffects;\n\n\tif (isEmpty(columnDefinitions) || isEmpty(columnDefinitions.columns))\n\t\treturn;\n\n\tconst processedColumns = processColumnDefinitions(\n\t\tcolumnDefinitions,\n\t\trowDefinitions,\n\t\t{\n\t\t\tcolumnFilteringEnabled,\n\t\t\texpandAllGroups,\n\t\t\tselectionEnabled,\n\t\t\trowDragDropEnabled,\n\t\t\tmaxCharacters,\n\t\t\tvirtualizedScrollEnabled,\n\t\t}\n\t);\n\n\tcoeffects.updateState({\n\t\tpath: pathConstants.processedColumnDefinitionsPath,\n\t\tvalue: processedColumns,\n\t\toperation: 'set',\n\t});\n};\n\n/**\n * This effect prevents rendering of list if we have column definitions but have not processed them yet\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const handleRenderRequested = (coeffects) => {\n\tconst {\n\t\taction,\n\t\tproperties: { columnDefinitions },\n\t\tstate: { processedColumnDefinitions },\n\t} = coeffects;\n\n\tif (\n\t\t!isEmpty(columnDefinitions?.columns) &&\n\t\tisEmpty(processedColumnDefinitions)\n\t) {\n\t\taction.preventDefault();\n\t}\n};\n\n/**\n *  ColumnBehavior will take incoming prop columndefinitions and process it. It will add any additional computed values as fields to a clone of the object\n *  Primary example is row and col spans in multi level column structures.\n */\nconst columnDefinitionsBehavior = {\n\tname: 'columnDefinitionsBehavior',\n\n\t/**@type {ActionHandlers<Props,State>} */\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: { effect: propertyChangedActionHandler },\n\t\t[COMPONENT_BOOTSTRAPPED]: { effect: componentBootstrappedEffect },\n\t\t[COMPONENT_RENDER_REQUESTED]: { effect: handleRenderRequested },\n\t},\n};\n\nexport default columnDefinitionsBehavior;\n","// Actions\nexport const ACTION_PREFIX = 'NOW_SORTABLE#';\nexport const SORT_START = 'SORT_START';\nexport const SORT_END = 'SORT_END';\nexport const SORT_CANCELLED = 'SORT_CANCELLED';\nexport const DROP_AREA_CHANGE = 'DROP_AREA_CHANGE';\nexport const UPDATE_BEHAVIOR = 'UPDATE_BEHAVIOR';\n\n// Classes\nexport const NS_DEST_PLACEHOLDER = 'ns-dest-placeholder';\nexport const NS_DEST_PLACEHOLDER_WRAPPER = 'ns-dest-placeholder-wrapper';\nexport const NS_ACTIVE_SORT_ITEM = 'ns-active-dragging-item';\nexport const NS_SOURCE_PLACEHOLDER = 'ns-source-placeholder';\nexport const NS_DRAGGING_SOURCE = 'ns-dragging-source';\nexport const NS_DRAGGING_SOURCE_OVERLAY = 'dragging-source-overlay';\nexport const NS_SORT_TRANSITIONED = 'ns-drag-transitioned';\nexport const NS_SORT_CLONE = 'ns-drag-clone';\n\nexport const NS_DATA_TRANSFER_KEY = 'ns_data_transfer';\nexport const NS_DEFAULT_PLACEHOLDER = 'div';\n","// @ts-nocheck\nimport { v4 as uuidv4 } from 'uuid';\n\n/**\n * Some utility methods to work with Seismic / Shadow DOM\n *\n * @author mohammed.furqan\n * */\n\nconst COMPONENT_ID = 'component-id';\nconst SET_ATTRIBUTE = 'setAttribute';\nconst GET_ATTRIBUTE = 'getAttribute';\nconst REMOVE_ATTRIBUTE = 'removeAttribute';\nconst GET_RESOLVED_PROPERTIES = 'getResolvedProperties';\n\nconst _cloneShadow = (shadowRoot) => {\n\tconst fragment = document.createDocumentFragment();\n\tconst childNodes = [...shadowRoot.childNodes];\n\tchildNodes.forEach((cNode) => {\n\t\tfragment.appendChild(deepClone(cNode));\n\t});\n\treturn fragment;\n};\n\n/**\n * Clones and returns the entire DOM tree. Digs into shadowRoot when needed to clone its sub-tree\n *\n * @param {Node} node\n * @return {Node}\n */\nconst deepClone = (node) => {\n\tconst clone = node.cloneNode(true);\n\tif (node.shadowRoot)\n\t\t// clone will also have a shadow root\n\t\tclone.shadowRoot.appendChild(_cloneShadow(node.shadowRoot));\n\treturn clone;\n};\n\n/**\n * Similar to document.querySelector, but searches inside shadow roots as well\n * *This is orders of magnitude slower than document.querySelector\n *\n * @param {String} selector - a valid CSS selector\n * @param {Node} [rootEl=window.document.body] - Root element to start traversing down from\n * @return {HTMLElement} - a matched element\n * */\nconst querySelectorDeep = (selector, rootEl = window.document.body) => {\n\tif (rootEl.matches && rootEl.matches(selector)) return rootEl;\n\n\tconst children = rootEl.children;\n\n\tif (children) {\n\t\tfor (let i = 0; i < children.length; i++) {\n\t\t\tif (children[i].matches && children[i].matches(selector))\n\t\t\t\treturn children[i];\n\n\t\t\tconst child = querySelectorDeep(selector, children[i]);\n\t\t\tif (child) return child;\n\t\t}\n\t}\n\n\tif (rootEl.shadowRoot)\n\t\treturn querySelectorDeep(selector, rootEl.shadowRoot);\n\n\treturn null;\n};\n\n/**\n * Similar to document.querySelectorAll, but searches inside shadow roots as well\n * *This is orders of magnitude slower than document.querySelectorAll\n *\n * Examples:\n * - querySelectorAllDeep('.vtb-card')\n * - querySelectorAllDeep('[draggable=\"true\"]')\n *\n * @param {String} selector - a valid CSS selector\n * @param {Node} [rootEl=window.document.body] - Root element to start traversing down from\n * @param {Boolean} nestedMatches - a boolean indicating whether children of a node should be matched, if the\n * \t\tnode matches the selector. Useful for early exits in some cases when an element cannot be nested inside the\n * \t\tsame element\n * @param {Boolean} rootEleMatches - a boolean indicating whether to match the root\n * @return {HTMLElement[]} - an array of nodes that match the given selector\n * */\nconst querySelectorAllDeep = (\n\tselector,\n\trootEl,\n\tnestedMatches = true,\n\trootEleMatches = true\n) => {\n\tconst matches = [];\n\tif (!selector) return matches;\n\tif (!rootEl) rootEl = window.document.body;\n\n\tif (rootEleMatches && rootEl.matches && rootEl.matches(selector))\n\t\tmatches.push(rootEl);\n\n\tconst children = rootEl.children;\n\n\tif (children) {\n\t\tfor (let i = 0; i < children.length; i++) {\n\t\t\tif (children[i].matches && children[i].matches(selector)) {\n\t\t\t\tmatches.push(children[i]);\n\t\t\t\tif (nestedMatches === false) continue;\n\t\t\t}\n\n\t\t\tconst childMatches = querySelectorAllDeep(\n\t\t\t\tselector,\n\t\t\t\tchildren[i],\n\t\t\t\trootEleMatches,\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tmatches.push(...childMatches);\n\t\t}\n\t}\n\n\tif (rootEl.shadowRoot) {\n\t\tconst shadowChildren = querySelectorAllDeep(\n\t\t\tselector,\n\t\t\trootEl.shadowRoot,\n\t\t\tnestedMatches\n\t\t);\n\t\tmatches.push(...shadowChildren);\n\t}\n\n\treturn matches;\n};\n\n/**\n * Similar to Element.closest() but by-passes the shadow roots while traversing up\n *\n * @param {HTMLElement} el - The element whose closest parent needs to be found\n * @param {String} selector - The selector to match the ancestors with\n * @return {HTMLElement|null} The closest parent that matches the selector\n * */\nconst closestDeep = (el, selector) => {\n\tif (!el) return null;\n\n\tif (el.matches(selector)) return el;\n\n\tif (el.parentElement !== null)\n\t\treturn closestDeep(el.parentElement, selector);\n\n\t// escape the shadow root\n\tif (el.getRootNode() !== null)\n\t\treturn closestDeep(el.getRootNode().host, selector);\n};\n\n/**\n * For a special use-case (might get removed)\n *\n * Clones the  entire component tree, replaces component-id attributes with new guids,\n * passes the same properties to the cloned Seismic elements that its original element accepted\n *\n * @param {Node} elem\n * @return {Node}\n *\n * */\nconst seismicClone = (elem) => {\n\tconst elClone = deepClone(elem);\n\tconst seismicElems = querySelectorAllDeep(\n\t\t`[${COMPONENT_ID}]`,\n\t\telClone\n\t).slice();\n\n\tif (isSeismicComponent(elem)) seismicElems.push(elClone);\n\n\t// Get properties from old components, and assign to new\n\tseismicElems.forEach((sElem) => {\n\t\tconst originalElem = querySelectorAllDeep(\n\t\t\t`[${COMPONENT_ID}=\"${sElem[GET_ATTRIBUTE](COMPONENT_ID)}\"]`\n\t\t)[0];\n\n\t\tif (sElem[GET_RESOLVED_PROPERTIES]) {\n\t\t\tconst elProperties = originalElem[GET_RESOLVED_PROPERTIES]();\n\t\t\t// Loop through all enumerable properties from source node, and copy them to clone\n\t\t\tfor (const prop in elProperties) {\n\t\t\t\tsElem[REMOVE_ATTRIBUTE](prop);\n\t\t\t\tsElem[prop] = elProperties[prop];\n\t\t\t}\n\t\t}\n\t});\n\n\t// Change all Seismic component IDs\n\tseismicElems.forEach((sElem) => {\n\t\tsElem[SET_ATTRIBUTE](COMPONENT_ID, uuidv4());\n\t});\n\n\treturn elClone;\n};\n\n/**\n * Inserts a node before a reference node\n * @param {Node} newNode\n * @param {Node} referenceNode\n * */\nconst insertBefore = (newNode, referenceNode) => {\n\treturn referenceNode.parentElement.insertBefore(newNode, referenceNode);\n};\n\n/**\n * Inserts a node after a reference node\n * @param {Node} newNode\n * @param {Node} referenceNode\n * */\nconst insertAfter = (newNode, referenceNode) => {\n\tif (referenceNode.nextSibling) {\n\t\treferenceNode.parentElement.insertBefore(\n\t\t\tnewNode,\n\t\t\treferenceNode.nextSibling\n\t\t);\n\t} else {\n\t\treferenceNode.parentElement.appendChild(newNode);\n\t}\n};\n\n/**\n * Delete a node from DOM\n * @param {Node} elem\n * */\nconst removeNode = (elem) => {\n\tconst parent = elem.parentElement;\n\tif (parent) parent.removeChild(elem);\n};\n\n/**\n * Return the position (index) of the element in its parent\n * @param {Node} elem\n * @return {Integer}\n * */\nconst elemIndex = (elem) => {\n\tconst parentElement = elem.parentElement;\n\tif (parentElement)\n\t\treturn Array.prototype.slice.call(parentElement.children).indexOf(elem);\n\treturn -1;\n};\n\n/**\n * @param {Node} elem\n * @returns {boolean}\n * */\n// FIXME: This logic could be wrong\nconst isSeismicComponent = (elem) => elem && elem.hasAttribute(COMPONENT_ID);\n\n/**\n * Returns the DOMRect (or ClientRect) for the element\n *\n * @param {Element} elem Element to get the rectangle of\n * @return {ClientRect|DOMRect} Rectangle object\n *\n * */\nconst getDOMRect = (elem) => {\n\t// TODO: Try some caching stuff here\n\treturn elem ? elem.getBoundingClientRect() : null;\n};\n\n/**\n * Returns the relative position (top, left) of an element relative to another element.\n * Normally, the DOM rects are relative to the screen, so in cases where scrolling is involved,\n * you'd want to get a position of an element relative to its parent, rather than relative to the\n * screen.\n *\n * @param {HTMLElement} elem - element whose relative position needs to be determined\n * @param {HTMLElement} relativeToElem - a parent of this element that should be used as the\n * \t\treference instead of the screen reference\n *\n * @return {Object} - an object containing 'left' and 'right' property, both numbers\n * */\nconst getRelativePosition = (elem, relativeToElem) => {\n\t// TODO: Try some caching stuff here\n\tconst elemRect = getDOMRect(elem);\n\tconst relativeRect = getDOMRect(relativeToElem);\n\treturn {\n\t\tleft: elemRect.left - relativeRect.left,\n\t\ttop: elemRect.top - relativeRect.top,\n\t};\n};\n\n/**\n * Returns the DOMRect (or ClientRect) for a bunch of elements\n *\n * @param {NodeList|Array} els List of elements either in NodeList or Array form\n * @return {Array<ClientRect|DOMRect>} rectangle objects\n * */\nconst getDOMRects = (els) => {\n\tvar rects = []; // .map() doesn't work on NodeList\n\tels.forEach((el) => {\n\t\trects.push(getDOMRect(el));\n\t});\n\treturn rects;\n};\n\n/**\n * Checks whether the element is connected in the DOM\n * @param {HTMLElement} el - element to check if it is connected in DOM\n * @return {Boolean}\n * */\nconst isConnected = (el) => {\n\t// return document.body.contains(el);\n\t// The above logic ^^ doesn't work, may be because of Shadow DOM\n\treturn !!el.parentElement;\n};\n\nexport {\n\tclosestDeep,\n\tdeepClone,\n\telemIndex,\n\tgetDOMRect,\n\tgetDOMRects,\n\tgetRelativePosition,\n\tinsertAfter,\n\tinsertBefore,\n\tisConnected,\n\tisSeismicComponent,\n\tquerySelectorAllDeep,\n\tquerySelectorDeep,\n\tremoveNode,\n\tseismicClone,\n};\n","const directions = {\n\tLEFT: Symbol('left'),\n\tRIGHT: Symbol('right'),\n\tUP: Symbol('up'),\n\tDOWN: Symbol('down'),\n\tRIGHT_UP: Symbol('right up'),\n\tRIGHT_DOWN: Symbol('right down'),\n\tLEFT_DOWN: Symbol('left down'),\n\tLEFT_UP: Symbol('left up'),\n};\n\nexport default directions;\n","// @ts-nocheck\nimport findIndex from 'lodash/findIndex';\nimport isFunction from 'lodash/isFunction';\n\nimport { querySelectorDeep } from '../../dom-utils';\nimport { NS_SOURCE_PLACEHOLDER, NS_DRAGGING_SOURCE } from '../constants';\n\nconst isDraggable = (element, config) => {\n\tif (isFunction(config.itemsFilter))\n\t\treturn config.itemsFilter.call(null, element);\n\treturn true;\n};\n\n// @ts-ignore\nexport const getDropPosition = (elem) => {\n\tconst parentElement = elem.parentElement;\n\tif (parentElement) {\n\t\t// @ts-ignore\n\t\tconst siblings = [].slice\n\t\t\t.apply(parentElement.children)\n\t\t\t.filter((elem) => {\n\t\t\t\treturn (\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t!elem.matches(`.${NS_SOURCE_PLACEHOLDER}`) &&\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t!elem.matches(`.${NS_DRAGGING_SOURCE}`)\n\t\t\t\t);\n\t\t\t});\n\t\t// @ts-ignore\n\t\treturn findIndex(siblings, (s) => s === elem);\n\t}\n\treturn -1;\n};\n\n// @ts-ignore\nexport const getSourcePosition = (elem) => {\n\tconst parentElement = elem.parentElement;\n\tif (parentElement) {\n\t\t// @ts-ignore\n\t\tconst siblings = [].slice\n\t\t\t.apply(parentElement.children)\n\t\t\t// @ts-ignore\n\t\t\t.filter((elem) => !elem.matches(`.${NS_DRAGGING_SOURCE}`));\n\t\t// @ts-ignore\n\t\treturn findIndex(siblings, (s) => s === elem);\n\t}\n\treturn -1;\n};\n\n// @ts-ignore\nexport const getElement = (param) => {\n\tif (typeof param === 'string') return querySelectorDeep(param);\n\telse if (param instanceof Element) return param;\n\treturn null;\n};\n\nexport const getValidRange = (elem, config) => {\n\tconst parentElement = elem.parentElement;\n\tlet siblings = [];\n\tif (parentElement) {\n\t\tsiblings = parentElement.children;\n\t}\n\tlet minIndex = 0;\n\tlet maxIndex = siblings.length - 1;\n\twhile (minIndex < siblings.length) {\n\t\tconst element = siblings[minIndex];\n\t\tif (isDraggable(element, config)) {\n\t\t\tbreak;\n\t\t}\n\t\tminIndex += 1;\n\t}\n\twhile (maxIndex > -1) {\n\t\tconst element = siblings[maxIndex];\n\t\tif (isDraggable(element, config)) {\n\t\t\tbreak;\n\t\t}\n\t\tmaxIndex -= 1;\n\t}\n\tmaxIndex += 1;\n\n\treturn { minIndex, maxIndex };\n};\n\nexport const setValidYPosition = (sortable, position) => {\n\tconst targetYPos = Math.abs(\n\t\tsortable.dropzone.getBoundingClientRect().y -\n\t\t\tsortable.targetElement.getBoundingClientRect().y\n\t);\n\n\tconst maxYPosition = sortable.maxYScroll - targetYPos;\n\tif (position.y > maxYPosition)\n\t\tposition.y = maxYPosition + sortable.targetElement.clientHeight;\n};\n","// @ts-nocheck\nimport { getElement } from './helpers';\n\n// Stay away from the edges by these many pixels\nconst OFFSET_X = 30;\nconst OFFSET_Y = 30;\n\nconst SCROLL_ROUNDING = 3; // Ignore scrolls lesser than this\nconst MIN_SCROLL_CHANGE = 10; // at minimum, scroll by this many pixels\n// TODO: Make the above \"scroll speed\" configurable\n\n// @ts-ignore\nconst hasHorizontalScroll = (el) => {\n\treturn el && el.scrollWidth - el.clientWidth > SCROLL_ROUNDING;\n};\n\n// @ts-ignore\nconst hasVerticalScroll = (el) => {\n\treturn el && el.scrollHeight - el.clientHeight > SCROLL_ROUNDING;\n};\n\n/**\n * \"Scroll bounds\" is a special case consideration for VTB, where scrolling needs to be restricted\n * within some bounds.\n * Usage is to add a property on the element, __auto_scroll_x_bounds__ (or) __auto_scroll_y_bounds__\n * Expected format: Array<Number>[minScroll, maxScroll]\n * */\n// @ts-ignore\nconst scrollWithinXBounds = (el, dScroll) => {\n\tif (el.__auto_scroll_x_bounds__) {\n\t\tconst scrollBounds = el.__auto_scroll_x_bounds__;\n\t\tconst newScroll = el.scrollLeft + dScroll;\n\t\treturn newScroll >= scrollBounds[0] && newScroll <= scrollBounds[1];\n\t}\n\treturn true;\n};\n\n// @ts-ignore\nconst scrollWithinYBounds = (el, dScroll) => {\n\tif (el.__auto_scroll_y_bounds__) {\n\t\tconst scrollBounds = el.__auto_scroll_y_bounds__; // [300, 1200]\n\t\tconst newScroll = el.scrollTop + dScroll; // 627\n\t\treturn newScroll >= scrollBounds[0] && newScroll <= scrollBounds[1];\n\t}\n\treturn true;\n};\n\n// @ts-ignore\nconst canScrollLeft = (el, dScrollLeft) => {\n\tif (dScrollLeft > 0) {\n\t\t// Scrolling right in the scrollable content (content moves left)\n\t\tconst remainingScroll = Math.round(\n\t\t\tel.scrollWidth - el.scrollLeft - el.clientWidth\n\t\t);\n\t\treturn remainingScroll > 0;\n\t}\n\n\treturn Math.round(el.scrollLeft) > 0;\n};\n\n// @ts-ignore\nconst canScrollTop = (el, dScrollTop) => {\n\tif (dScrollTop > 0) {\n\t\t// Scrolling down in the scrollable content (content moves up)\n\t\tconst remainingScroll = Math.round(\n\t\t\tel.scrollHeight - el.scrollTop - el.clientHeight\n\t\t);\n\t\treturn remainingScroll > 0;\n\t}\n\n\treturn Math.round(el.scrollTop) > 0;\n};\n\nexport const handleAutoScroll = (\n\t// @ts-ignore\n\tconfig,\n\t// @ts-ignore\n\tmovingElem,\n\t// @ts-ignore\n\txScrollParent,\n\t// @ts-ignore\n\tyScrollParent,\n\t// @ts-ignore\n\tdx,\n\t// @ts-ignore\n\tdy,\n\t// @ts-ignore\n\tevent\n) => {\n\tconst elemRect =\n\t\tevent && config.followMouseForAutoScroll\n\t\t\t? event.rect\n\t\t\t: movingElem.getBoundingClientRect();\n\tconst lockAxis = config.lockAxis || null;\n\n\txScrollParent = getElement(xScrollParent);\n\tyScrollParent = getElement(yScrollParent);\n\n\tconst xScrollParentRect = xScrollParent.getBoundingClientRect();\n\tconst yScrollParentRect = yScrollParent.getBoundingClientRect();\n\n\t// compute possible distances to all edges (of parent container) if this dx is applied\n\tconst distanceRight = Math.floor(\n\t\txScrollParentRect.right - (elemRect.right + dx)\n\t);\n\tconst distanceLeft = Math.floor(\n\t\telemRect.left + dx - xScrollParentRect.left\n\t);\n\n\t// compute possible distances to all edges (of parent container) if this dy is applied\n\tconst distanceBottom = Math.floor(\n\t\tyScrollParentRect.bottom - (elemRect.bottom + dy)\n\t);\n\tconst distanceTop = Math.floor(elemRect.top + dy - yScrollParentRect.top);\n\t// The above distances should be within the allowed limit, otherwise scrolling will be required\n\tlet horizontalScroll = 0;\n\tlet verticalScroll = 0;\n\n\tif (lockAxis !== 'y' && hasHorizontalScroll(xScrollParent)) {\n\t\tif (distanceRight <= OFFSET_X) {\n\t\t\tconst scrollRequired = Math.max(\n\t\t\t\tOFFSET_X - distanceRight,\n\t\t\t\tMIN_SCROLL_CHANGE\n\t\t\t);\n\t\t\tif (canScrollLeft(xScrollParent, scrollRequired))\n\t\t\t\thorizontalScroll = scrollRequired;\n\t\t} else if (distanceLeft <= OFFSET_X) {\n\t\t\tconst scrollRequired =\n\t\t\t\t-1 * Math.max(OFFSET_X - distanceLeft, MIN_SCROLL_CHANGE);\n\t\t\tif (canScrollLeft(xScrollParent, scrollRequired))\n\t\t\t\thorizontalScroll = scrollRequired;\n\t\t}\n\t}\n\n\tif (lockAxis !== 'x' && hasVerticalScroll(yScrollParent)) {\n\t\tif (distanceBottom < OFFSET_Y) {\n\t\t\tconst scrollRequired = Math.max(\n\t\t\t\tOFFSET_Y - distanceBottom,\n\t\t\t\tMIN_SCROLL_CHANGE\n\t\t\t);\n\t\t\tif (canScrollTop(yScrollParent, scrollRequired))\n\t\t\t\tverticalScroll = scrollRequired;\n\t\t} else if (distanceTop < OFFSET_Y) {\n\t\t\tconst scrollRequired =\n\t\t\t\t-1 * Math.max(OFFSET_Y - distanceTop, MIN_SCROLL_CHANGE);\n\t\t\tif (canScrollTop(yScrollParent, scrollRequired))\n\t\t\t\tverticalScroll = scrollRequired;\n\t\t}\n\t}\n\n\tif (horizontalScroll !== 0) {\n\t\tif (scrollWithinXBounds(xScrollParent, horizontalScroll))\n\t\t\txScrollParent.scrollLeft += horizontalScroll;\n\t}\n\n\tif (verticalScroll !== 0) {\n\t\tif (scrollWithinYBounds(yScrollParent, verticalScroll)) {\n\t\t\tyScrollParent.scrollTop += verticalScroll;\n\t\t}\n\t}\n\n\t// if no auto-scrolling, dx and dy remains same\n\treturn {\n\t\tscrollX: horizontalScroll,\n\t\tscrollY: verticalScroll,\n\t};\n};\n","// @ts-nocheck\nimport { v4 as uuidv4 } from 'uuid';\n\nclass Sortable {\n\t// @ts-ignore\n\tconstructor(config) {\n\t\t// TODO: Document each of the property used here\n\n\t\tthis.uuid = uuidv4();\n\n\t\tthis.active = false;\n\n\t\tthis.dataTransfer = {\n\t\t\tsourceIndex: -1,\n\t\t\tdestinationIndex: -1,\n\t\t\tsourceParent: null,\n\t\t\tdestinationParent: null,\n\t\t};\n\n\t\tthis.transition = !!config.transitions;\n\n\t\tthis.listOrder = config.listOrder || null;\n\n\t\t// @ts-ignore\n\t\tthis.targetElement = null;\n\n\t\tthis.placeholders = {\n\t\t\tsrc: null,\n\t\t\tdest: null,\n\t\t};\n\n\t\tthis.clone = {\n\t\t\telement: null,\n\t\t\tposition: {\n\t\t\t\tx: null,\n\t\t\t\ty: null,\n\t\t\t\tdx: null,\n\t\t\t\tdy: null,\n\t\t\t},\n\t\t};\n\n\t\tthis.direction = {\n\t\t\tMIN_CHANGE: 1, // ignore moves smaller than this to avoid flickering\n\t\t\thorizontal: null,\n\t\t\tvertical: null,\n\t\t};\n\n\t\tthis.scroll = {\n\t\t\txElem: null,\n\t\t\tyElem: null,\n\t\t};\n\n\t\tthis.dropIndex = -1;\n\n\t\t// @ts-ignore\n\t\tthis.dropPosition = null;\n\n\t\t// @ts-ignore\n\t\tthis.dropzone = null;\n\n\t\t// @ts-ignore\n\t\tthis.extendedDropzone = null;\n\n\t\t// @ts-ignore\n\t\tthis.newIndex = null;\n\n\t\tthis.maxPositionableIndex = -1;\n\n\t\tthis.minPostionableIndex = -1;\n\t}\n}\n\nexport default Sortable;\n","// @ts-nocheck\nimport {\n\tclosestDeep,\n\tgetDOMRect,\n\tgetRelativePosition,\n\tquerySelectorAllDeep,\n\tremoveNode,\n\tseismicClone,\n} from '../../dom-utils';\nimport { NS_ACTIVE_SORT_ITEM, NS_SORT_CLONE } from '../constants';\n\n// @ts-ignore\nexport const css = (el, styles) => {\n\tfor (const [key, value] of styles) el.style[key] = value;\n};\n\n// @ts-ignore\nexport const cssFromStr = (el, cssStr) => {\n\tconst styles = cssStr.split(';');\n\t// @ts-ignore\n\tstyles.forEach((style) => {\n\t\t// @ts-ignore\n\t\tconst [key, value] = style.split(':').map((s) => s.trim());\n\t\tel.style[key] = value;\n\t});\n};\n\n// @ts-ignore\nexport const createAndInsertClone = (el, config) => {\n\tlet clone = null;\n\tlet customClone = false;\n\t// Check if a custom clone is provided, else try cloning it ourselves\n\tif (config.clone && typeof config.clone === 'function') {\n\t\tclone = config.clone.call(null, el);\n\t\tcustomClone = true;\n\t} else {\n\t\tclone = seismicClone(el);\n\t}\n\tclone.classList.add(NS_SORT_CLONE, NS_ACTIVE_SORT_ITEM);\n\n\tconst cloneParent = config.cloneAppendTo\n\t\t? closestDeep(el, config.cloneAppendTo)\n\t\t: document.body;\n\n\tif (!cloneParent) throw 'Incorrect parent for append clone'; // Handle this and append to body?\n\n\tconst cloningElemRect = getDOMRect(el);\n\t// @ts-ignore\n\tconst { left, top } = getRelativePosition(el, cloneParent);\n\n\tlet cloneStyles = `position: absolute;\n\t\ttop: ${top}px;\n\t\tleft: ${left}px;\n\t\tcursor: grabbing;\n\t\tuser-select: none;\n\t\ttouch-action: none;\n\t\ttransform-origin: 50% 50%;\n\t\tz-index: 9999;\n\t`;\n\n\tif (!customClone) {\n\t\t// If it is a custom clone, allow different dimensions\n\t\tcloneStyles = `\n\t\t\t${cloneStyles}\n\t\t\twidth: ${cloningElemRect.width}px;\n\t\t\theight: ${cloningElemRect.height}px;\n\t\t`;\n\t}\n\n\tcssFromStr(clone, cloneStyles);\n\n\t// Append the clone to the DOM\n\tcloneParent.appendChild(clone);\n\n\treturn clone;\n};\n\n// @ts-ignore\nexport const setClonePosition = (cloneEl, top = null, left = null) => {\n\tif (top) cssFromStr(cloneEl, `top: ${top}px;`);\n\n\tif (left) cssFromStr(cloneEl, `left: ${left}px;`);\n};\n\n// More performant way to move the clone around\n// If multiple transforms have to be applied, this is not useful\n// @ts-ignore\nexport const transformClonePosition = (cloneEl, x, y) => {\n\tcssFromStr(\n\t\tcloneEl,\n\t\t`\n\t\ttransform: translate(${x}px, ${y}px);\n\t`\n\t);\n};\n\nexport const removeClone = () => {\n\t// @ts-ignore\n\tquerySelectorAllDeep(`.${NS_SORT_CLONE}`, null, false).forEach(removeNode);\n};\n","// @ts-nocheck\n/**\n * An object with four coordinates\n * @typedef {{x1: Number, y1: Number, x2: Number, y2: Number}} RectangleObject\n */\n\n/**\n * Checks if two rectangles are intersecting/overlapping\n * @param  {RectangleObject}  rectA\n * @param  {RectangleObject}  rectB\n * @return {boolean}\n */\nconst isIntersecting = (rectA, rectB) =>\n\trectA.x1 < rectB.x2 &&\n\trectB.x1 < rectA.x2 &&\n\trectA.y1 < rectB.y2 &&\n\trectB.y1 < rectA.y2;\n\n/**\n * Returns intersecting part of two rectangles\n * @param  {RectangleObject}  rect1\n * @param  {RectangleObject}  rect2\n * @return {RectangleObject|null}\n */\nconst getOverlapRect = (rect1, rect2) => {\n\t// TODO: Need to revisit this logic again for corner/special cases\n\tconst [r1, r2] = [rect1, rect2].map((r) => {\n\t\treturn {\n\t\t\tx: [r.x1, r.x2].sort(),\n\t\t\ty: [r.y1, r.y2].sort(),\n\t\t};\n\t});\n\tconst noIntersect = !isIntersecting(rect1, rect2);\n\treturn noIntersect\n\t\t? null\n\t\t: {\n\t\t\t\tx1: Math.max(r1.x[0], r2.x[0]),\n\t\t\t\ty1: Math.max(r1.y[0], r2.y[0]),\n\t\t\t\tx2: Math.min(r1.x[1], r2.x[1]),\n\t\t\t\ty2: Math.min(r1.y[1], r2.y[1]),\n\t\t  };\n};\n\n/**\n * Transforms a {ClientRect|DOMRect} into a {RectangleObject}\n * @param {ClientRect|DOMRect|Object} domRect\n * @return {RectangleObject}\n */\nconst toRectangle = (domRect) => ({\n\tx1: domRect.left,\n\ty1: domRect.top,\n\tx2: domRect.left + domRect.width,\n\ty2: domRect.top + domRect.height,\n});\n\n/**\n * Return the center point of a {RectangleObject}\n * @param {RectangleObject} rect\n * @return {Point} center\n */\nconst rectCenter = (rect) => ({\n\tx: (rect.x1 + rect.x2) / 2,\n\ty: (rect.y1 + rect.y2) / 2,\n});\n\nconst edgeDistance = (rect1, rect2) => {\n\tif (isIntersecting(rect1, rect2)) return 0;\n\n\tconst minXRect1 = Math.min(rect1.x1, rect1.x2);\n\tconst minYRect1 = Math.min(rect1.y1, rect1.y2);\n\n\tconst minXRect2 = Math.min(rect2.x1, rect2.x2);\n\tconst minYRect2 = Math.min(rect2.y1, rect2.y2);\n\n\tconst maxXRect1 = Math.max(rect1.x1, rect1.x2);\n\tconst maxYRect1 = Math.max(rect1.y1, rect1.y2);\n\n\tconst maxXRect2 = Math.max(rect2.x1, rect2.x2);\n\tconst maxYRect2 = Math.max(rect2.y1, rect2.y2);\n\n\tlet xDistance = 0,\n\t\tyDistance = 0;\n\n\tif (minXRect1 >= maxXRect2) {\n\t\txDistance = Math.max(minXRect1 - maxXRect2, 0);\n\t} else {\n\t\txDistance = Math.max(minXRect2 - maxXRect1, 0);\n\t}\n\n\tif (minYRect1 >= maxYRect2) {\n\t\tyDistance = Math.abs(maxYRect2 - minYRect1);\n\t} else {\n\t\tyDistance = Math.abs(maxYRect1 - minYRect2);\n\t}\n\n\tif (\n\t\t(rect1.x1 <= rect2.x1 && rect1.x2 >= rect2.x1) ||\n\t\t(rect1.x1 <= rect2.x2 && rect1.x2 >= rect2.x2)\n\t) {\n\t\t// There is an X-overlap\n\t\txDistance = 0;\n\t}\n\n\tif (\n\t\t(rect1.y1 <= rect2.y1 && rect1.y2 >= rect2.y1) ||\n\t\t(rect1.y1 <= rect2.y2 && rect1.y2 >= rect2.y2)\n\t) {\n\t\t// There is a Y-overlap\n\t\tyDistance = 0;\n\t}\n\n\treturn Math.sqrt(Math.pow(xDistance, 2) + Math.pow(yDistance, 2));\n};\n\n/**\n * @param {ClientRect|DOMRect} domRectA\n * @param {ClientRect|DOMRect} domRectB\n * @return {Number} overlapping area of the two DOM rectangles\n */\nconst getOverlapArea = (domRectA, domRectB) => {\n\tconst [r1, r2] = [domRectA, domRectB].map(toRectangle);\n\treturn getRectOverlapArea(r1, r2);\n};\n\n/**\n * @param {RectangleObject} rectA\n * @param {RectangleObject} rectB\n * @return {Number} overlapping area of the two rectangles\n */\nconst getRectOverlapArea = (rectA, rectB) => {\n\tconst overlapRect = getOverlapRect(rectA, rectB);\n\tif (overlapRect) return rectArea(overlapRect);\n\n\treturn 0;\n};\n\n/**\n * Calculate the area of a rectangle\n * @param {RectangleObject} rect\n * @return {Number} area\n * */\nconst rectArea = (rect) => {\n\tconst length = Math.abs(rect.x1 - rect.x2);\n\tconst breadth = Math.abs(rect.y1 - rect.y2);\n\treturn length * breadth;\n};\n\n/**\n * Checks if two {ClientRect|DOMRect} rectangles are overlapping\n * @param  {ClientRect|DOMRect}  rectA\n * @param  {ClientRect|DOMRect}  rectB\n * @return {boolean}\n */\nconst isClientRectIntersecting = (rectA, rectB) => {\n\treturn isIntersecting(toRectangle(rectA), toRectangle(rectB));\n};\n\nconst QUADRANTS = {\n\tTL: 'Top Left',\n\tTR: 'Top Right',\n\tBR: 'Bottom Right',\n\tBL: 'Bottom Left',\n};\n\n/**\n * @param {String} quadrant\n * @param {ClientRect|DOMRect } rect\n * @return {ClientRect} new client rect object for the quadrant\n */\nconst getQuadrantRect = (quadrant, rect) => {\n\tconst newRect = {\n\t\t...cloneDOMRect(rect),\n\t\twidth: rect.width / 2,\n\t\theight: rect.height / 2, // Each quadrant can only be 1/4th of the rectangle area\n\t};\n\tswitch (quadrant) {\n\t\tcase QUADRANTS.TL:\n\t\t\tnewRect.bottom = newRect.top + newRect.height;\n\t\t\tnewRect.right = newRect.left + newRect.width;\n\t\t\tbreak;\n\t\tcase QUADRANTS.TR:\n\t\t\tnewRect.left = newRect.x = newRect.left + newRect.width;\n\t\t\tnewRect.bottom = newRect.top + newRect.height;\n\t\t\tbreak;\n\t\tcase QUADRANTS.BR:\n\t\t\tnewRect.left = newRect.x = newRect.left + newRect.width;\n\t\t\tnewRect.top = newRect.y = newRect.top + newRect.height;\n\t\t\tbreak;\n\t\tcase QUADRANTS.BL:\n\t\t\tnewRect.top = newRect.y = newRect.top + newRect.height;\n\t\t\tnewRect.right = newRect.left + newRect.width;\n\t\t\tbreak;\n\t}\n\treturn newRect;\n};\n\n/**\n * Clone a {ClientRect|DOMRect} into a similar plain object\n * @param {ClientRect|DOMRect} domRect\n * @return {Object} object with all the values of domRect\n * */\nconst cloneDOMRect = (domRect) => ({\n\tleft: domRect.left,\n\tright: domRect.right,\n\ttop: domRect.top,\n\tbottom: domRect.bottom,\n\twidth: domRect.width,\n\theight: domRect.height,\n\tx: domRect.x,\n\ty: domRect.y,\n});\n\n/**\n * Checks intersection of the items matching with {String} selector with the {Node} elem\n *\n * @param {HTMLElement} draggingEl\n * @param {HTMLElement[]} sortableEls\n * @return {Object[]} Array with the details of overlapping items\n * details include the element itself, its rectangle, overlapping area (overall and for each quadrant)\n * */\nconst getIntersectingItems = (draggingEl, sortableEls) => {\n\t// TODO: Optimize!\n\t// This method is called on every dragmove, hence it is expensive to query all items and then calculate their rects\n\tconst dragElRect = draggingEl.getBoundingClientRect();\n\tconst items = sortableEls.map((item) => ({\n\t\titem,\n\t\trect: item.getBoundingClientRect(), // TODO: Optimize! See if caching of some rects can help here\n\t\tintersectingArea: 0,\n\t\tquadrants: [],\n\t}));\n\n\t// Find how many elements (rects) intersect with dragging elem (dragElRect)\n\tconst intersectingItems = items.filter((item) =>\n\t\tisClientRectIntersecting(item.rect, dragElRect)\n\t);\n\tintersectingItems.forEach((item) => {\n\t\titem.intersectingArea = Math.floor(\n\t\t\tgetOverlapArea(item.rect, dragElRect)\n\t\t);\n\t\t// Calculate the overlap of each quadrant\n\t\titem.quadrants = Object.values(QUADRANTS).reduce((acc, quad) => {\n\t\t\tconst overlapArea = Math.floor(\n\t\t\t\tgetOverlapArea(getQuadrantRect(quad, item.rect), dragElRect)\n\t\t\t);\n\t\t\treturn {\n\t\t\t\t...acc,\n\t\t\t\t[quad]: {\n\t\t\t\t\toverlapArea: overlapArea,\n\t\t\t\t\toverlapping: overlapArea > 0,\n\t\t\t\t},\n\t\t\t};\n\t\t}, {});\n\t});\n\n\treturn intersectingItems;\n};\n\nexport {\n\tisIntersecting,\n\tgetOverlapArea,\n\tgetRectOverlapArea,\n\tisClientRectIntersecting,\n\tQUADRANTS,\n\tgetQuadrantRect,\n\tgetIntersectingItems,\n\ttoRectangle,\n\trectCenter,\n\tedgeDistance,\n\tcloneDOMRect,\n\trectArea,\n\tgetOverlapRect,\n};\n","// @ts-nocheck\nimport {\n\tgetDOMRect,\n\tisConnected,\n\tquerySelectorAllDeep,\n\tremoveNode,\n\tinsertBefore,\n} from '../../dom-utils';\nimport { getIntersectingItems, QUADRANTS } from '../../utils/rectangle';\nimport {\n\tNS_DEST_PLACEHOLDER,\n\tNS_ACTIVE_SORT_ITEM,\n\tNS_DRAGGING_SOURCE,\n\tNS_SORT_TRANSITIONED,\n\tNS_SOURCE_PLACEHOLDER,\n\tNS_DEFAULT_PLACEHOLDER,\n} from '../constants';\n\nconst removeSrcPlaceholders = () => {\n\tquerySelectorAllDeep(`.${NS_SOURCE_PLACEHOLDER}`, null, false).forEach(\n\t\tremoveNode\n\t);\n};\n\nconst removeDestPlaceholders = () => {\n\tquerySelectorAllDeep(`.${NS_DEST_PLACEHOLDER}`, null, false).forEach(\n\t\tremoveNode\n\t);\n};\n\nconst removeTransitions = () => {\n\tquerySelectorAllDeep(\n\t\t`.${NS_SORT_TRANSITIONED}, .${NS_ACTIVE_SORT_ITEM}`,\n\t\tnull,\n\t\tfalse\n\t).forEach((node) => {\n\t\tnode.classList.remove(NS_SORT_TRANSITIONED, NS_ACTIVE_SORT_ITEM);\n\t\tnode.style.transition = '';\n\t\tnode.style.transform = '';\n\t});\n};\n\nconst createPlaceholder = (tagName, el, message = '') => {\n\tconst placeholder = document.createElement(tagName);\n\tconst { width, height } = el.getBoundingClientRect();\n\tplaceholder.width = width;\n\tplaceholder.height = height;\n\tplaceholder.label = message;\n\n\t// Default placeholder element doesn't have content, so requires minimum size\n\tif (tagName === NS_DEFAULT_PLACEHOLDER) {\n\t\tplaceholder.style.minWidth = `${width}px`;\n\t\tplaceholder.style.minHeight = `${height}px`;\n\t}\n\n\treturn placeholder;\n};\n\nconst addSortableDestPlaceholderClass = (el) =>\n\tel && el.classList.add(NS_DEST_PLACEHOLDER);\n\nconst addSortableSrcPlaceholderClass = (el) =>\n\tel && el.classList.add(NS_SOURCE_PLACEHOLDER);\n\nconst insertPlaceholder = (position = 'next', item, placeholder) => {\n\tswitch (position) {\n\t\tcase 'prev':\n\t\t\titem.parentNode.insertBefore(placeholder, item);\n\t\t\treturn true;\n\t\tcase 'next':\n\t\t\tif (!item.nextSibling) {\n\t\t\t\titem.parentNode.appendChild(placeholder);\n\t\t\t} else {\n\t\t\t\titem.parentNode.insertBefore(placeholder, item.nextSibling);\n\t\t\t}\n\t\t\treturn true;\n\t\tdefault:\n\t\t\treturn false;\n\t}\n};\n\n// \"itemsContainer\" parameter here can be confusing. It is not referring to the large droppable (empty) that can be\n// present in some cases, but instead the container where the sortable items go in. So all children of \"dropzone\"\n// should be sortable items\nconst insertPlaceholderAtIndex = (\n\titemsContainer,\n\tindex,\n\titemsSelector,\n\tplaceholder\n) => {\n\tconst elems = Array.prototype.slice.call(itemsContainer.children);\n\tconst sortableItems = elems.filter((el) => el.matches(itemsSelector));\n\n\tremoveNode(placeholder);\n\n\tif (sortableItems[index]) {\n\t\t// Put the placeholder before sortableItems[index]\n\t\t// Cannot insert the destination placeholder here if it is source position\n\t\tif (canPutPlaceholder(sortableItems[index], 'prev')) {\n\t\t\titemsContainer.insertBefore(placeholder, sortableItems[index]);\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t} else {\n\t\t// index is the going to be last element, just append it to 'itemsContainer'\n\t\tconst lastItem =\n\t\t\titemsContainer.children[itemsContainer.children.length - 1];\n\t\tif (canPutPlaceholder(lastItem, 'next')) {\n\t\t\titemsContainer.appendChild(placeholder);\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n};\n\nconst canPutPlaceholder = (item, position) => {\n\tif (!item) return true;\n\n\tswitch (position) {\n\t\tcase 'prev':\n\t\t\treturn item.previousSibling\n\t\t\t\t? !item.previousSibling.matches(`.${NS_SOURCE_PLACEHOLDER}`) &&\n\t\t\t\t\t\t!item.previousSibling.matches(`.${NS_DRAGGING_SOURCE}`)\n\t\t\t\t: !item.matches(`.${NS_SOURCE_PLACEHOLDER}`) &&\n\t\t\t\t\t\t!item.matches(`.${NS_DRAGGING_SOURCE}`);\n\t\tcase 'next':\n\t\t\treturn item.nextSibling\n\t\t\t\t? !item.nextSibling.matches(`.${NS_SOURCE_PLACEHOLDER}`) &&\n\t\t\t\t\t\t!item.nextSibling.matches(`.${NS_DRAGGING_SOURCE}`)\n\t\t\t\t: !item.matches(`.${NS_SOURCE_PLACEHOLDER}`) &&\n\t\t\t\t\t\t!item.matches(`.${NS_DRAGGING_SOURCE}`);\n\t\tdefault:\n\t\t\treturn true;\n\t}\n};\n\nfunction isPositionBefore(element, referenceElement, order) {\n\tconst elRect = getDOMRect(element);\n\tconst refElRect = getDOMRect(referenceElement);\n\tswitch (order) {\n\t\tcase 'horizontal':\n\t\t\treturn elRect.left + elRect.width < refElRect.left;\n\t\tcase 'vertical':\n\t\t\treturn elRect.top + elRect.height < refElRect.top;\n\t}\n\treturn false;\n}\n\n/**\n * This function is responsible for updating the DOM position of the destination placeholder.\n * When dragging an element, the placeholder element will change positions to highlight\n * where the item will be dropped.\n *\n * There are calculations here to check the overlap of the dragging element with other elements, and\n * then to decide where the placeholder should appear to indicate a possible drop location.\n *\n * @param {HTMLElement} cloneEl - the element that is being dragged (may be a clone)\n * @param {HTMLElement[]} sortableEls - an array of elements among which the item can be possibly placed\n * @param {HTMLElement} dropzone - the parent element of the items.\n * \t\t\t\t\t\tUseful if there are no items, to put drop area here\n * @param {HTMLElement[]} extDropzone - An extended dropzone element, where the clone can be moved and\n * \t\t\t\t\t\tstill qualify for a proper drop in the dropzone\n * @param {HTMLElement} srcPlaceholder - the source placeholder to test the clone's overlap against\n * @param {HTMLElement} destPlaceholder - the destination placeholder to test the clone's overlap against\n * @param {String} listOrder - a string indicating whether the sortable list is horizontal or vertical\n * */\nconst predictDestPlaceholder = (\n\tcloneEl,\n\tsortableEls,\n\tdropzone,\n\textDropzone,\n\tsrcPlaceholder,\n\tdestPlaceholder,\n\tlistOrder\n) => {\n\t// itemSelector = `${itemSelector}:not(.${NS_ACTIVE_SORT_ITEM}):not(.${NS_DRAGGING_SOURCE})`;\n\n\t// An item can have a placeholder adjacent to it, only if the dragging element is intersecting\n\t// with all four of it's quadrants (at least by some amount)\n\tconst intersectingItems = getIntersectingItems(cloneEl, sortableEls).filter(\n\t\t(item) => !Object.values(item.quadrants).some((q) => !q.overlapping)\n\t);\n\n\t// console.log('intersecting items', intersectingItems);\n\n\t// At this point, if there are intersecting items, then the \"drop-area\" (placeholder) will go either above or\n\t// below the most intersecting item..\n\t// And if there are no intersecting items, then we just check if we are hovering over a possible dropzone, and\n\t// if so, then we show a \"drop-area\" (placeholder) somewhere in that dropzone\n\n\tif (!intersectingItems.length) {\n\t\t// None of the item is intersecting, so few cases to consider now\n\t\t// 1. The dragged item could be intersecting the most with the drag-source placeholder\n\t\t// 2. The dragged item could be intersecting the most with the drop placeholder\n\t\t// 3. The dragged item could be hovering over a possible drop zone, not intersecting with anything\n\n\t\tif (isConnected(srcPlaceholder)) {\n\t\t\tconst srcElIntersect = getIntersectingItems(cloneEl, [\n\t\t\t\tsrcPlaceholder,\n\t\t\t]).filter(\n\t\t\t\t(item) =>\n\t\t\t\t\t!Object.values(item.quadrants).some((q) => !q.overlapping)\n\t\t\t);\n\t\t\tif (srcElIntersect.length && srcElIntersect[0].item) {\n\t\t\t\tremoveNode(destPlaceholder);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\tif (isConnected(destPlaceholder)) {\n\t\t\tconst destElIntersect = getIntersectingItems(cloneEl, [\n\t\t\t\tdestPlaceholder,\n\t\t\t]).filter(\n\t\t\t\t(item) =>\n\t\t\t\t\t!Object.values(item.quadrants).some((q) => !q.overlapping)\n\t\t\t);\n\t\t\tif (destElIntersect.length && destElIntersect[0].item) return false;\n\t\t}\n\n\t\t// Clone is NOT intersecting with any 'items'\n\t\t// Clone is NOT intersecting with the source placeholder\n\t\t// Clone is NOT intersecting with the destination placeholder\n\t\t// Only possible case now, is to just append the placeholder last in the 'dropzone'\n\n\t\tconst hoveringDropzone = extDropzone || dropzone;\n\t\tconst dzIntersect = getIntersectingItems(cloneEl, [\n\t\t\thoveringDropzone,\n\t\t]).filter(\n\t\t\t(item) => !Object.values(item.quadrants).some((q) => !q.overlapping)\n\t\t);\n\t\tif (dzIntersect.length && dzIntersect[0].item) return false;\n\n\t\t// Clone is being hovered over a valid dropzone, so drop placeholder is needed inside the 'dropzone' element\n\t\tlet firstItemInDropzone = null,\n\t\t\tlastItemInDropzone = null;\n\n\t\tif (dropzone.children && dropzone.children.length) {\n\t\t\tfirstItemInDropzone = dropzone.children[0];\n\t\t\tlastItemInDropzone =\n\t\t\t\tdropzone.children[dropzone.children.length - 1];\n\t\t}\n\n\t\t// Hovering over an empty dropzone (no items)\n\t\tif (dropzone.children.length === 0) {\n\t\t\tif (!canPutPlaceholder(firstItemInDropzone, 'prev')) {\n\t\t\t\tremoveNode(destPlaceholder);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tdropzone.appendChild(destPlaceholder);\n\t\t\treturn true;\n\t\t}\n\n\t\t// Hovering over a dropzone that has items in it\n\t\t// Check if the dragged clone is hovering above the first item, or below the last item\n\t\tif (isPositionBefore(cloneEl, firstItemInDropzone, listOrder)) {\n\t\t\t// placeholder should go above the first item\n\t\t\tif (!canPutPlaceholder(firstItemInDropzone, 'prev')) {\n\t\t\t\tremoveNode(destPlaceholder);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tinsertBefore(destPlaceholder, firstItemInDropzone);\n\t\t} else if (isPositionBefore(lastItemInDropzone, cloneEl, listOrder)) {\n\t\t\t// placeholder should go below the last item\n\t\t\tif (!canPutPlaceholder(lastItemInDropzone, 'next')) {\n\t\t\t\tremoveNode(destPlaceholder);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tdropzone.appendChild(destPlaceholder);\n\t\t}\n\t\treturn true;\n\t}\n\n\t// Among these eligible items, break the ties by considering the one with most overlapping area\n\tconst mostOverlappingItem = intersectingItems\n\t\t.slice()\n\t\t.sort((a, b) => a.intersectingArea - b.intersectingArea)\n\t\t.pop();\n\n\t// console.log('most overlapping item', mostOverlappingItem);\n\n\tremoveNode(destPlaceholder);\n\n\tconst { item, quadrants } = mostOverlappingItem;\n\n\t// Decide whether or not to show the placeholder\n\t// Placeholder will NOT be shown if:\n\t// 1. It appears above or below (OR left or right) to the dragging source\n\t// 2. The most eligible item is the drag source itself\n\n\t// The placeholder can now go \"above\" or \"below\" this eligible item\n\t// Break this tie considering the overlapping area in the top-half vs the bottom-half\n\tconst totalArea = (total, q) => total + quadrants[q].overlapArea;\n\tconst [topOverlap, bottomOverlap, leftOverlap, rightOverlap] = [\n\t\t[QUADRANTS.TL, QUADRANTS.TR].reduce(totalArea, 0),\n\t\t[QUADRANTS.BL, QUADRANTS.BR].reduce(totalArea, 0),\n\t\t[QUADRANTS.TL, QUADRANTS.BL].reduce(totalArea, 0),\n\t\t[QUADRANTS.TR, QUADRANTS.BR].reduce(totalArea, 0),\n\t];\n\n\t// TODO: Consider that previousSibling/nextSibling could be visually 'hidden'\n\n\tif (\n\t\ttopOverlap > bottomOverlap ||\n\t\t(topOverlap === bottomOverlap && leftOverlap > rightOverlap)\n\t) {\n\t\tif (canPutPlaceholder(item, 'prev')) {\n\t\t\tinsertPlaceholder('prev', item, destPlaceholder);\n\t\t\treturn true;\n\t\t}\n\t} else {\n\t\tif (canPutPlaceholder(item, 'next')) {\n\t\t\tinsertPlaceholder('next', item, destPlaceholder);\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n};\n\nexport {\n\tremoveDestPlaceholders,\n\tremoveSrcPlaceholders,\n\tremoveTransitions,\n\tinsertPlaceholder,\n\tcreatePlaceholder,\n\taddSortableDestPlaceholderClass,\n\taddSortableSrcPlaceholderClass,\n\tpredictDestPlaceholder,\n\tinsertPlaceholderAtIndex,\n\tisPositionBefore,\n};\n","// @ts-nocheck\nimport isFunction from 'lodash/isFunction';\n\nimport {\n\tclosestDeep,\n\telemIndex,\n\tgetRelativePosition,\n\tinsertAfter,\n\tquerySelectorAllDeep,\n} from '../../dom-utils';\nimport {\n\tSORT_END,\n\tSORT_START,\n\tDROP_AREA_CHANGE,\n\tNS_ACTIVE_SORT_ITEM,\n\tNS_SOURCE_PLACEHOLDER,\n\tNS_DEST_PLACEHOLDER,\n\tNS_DRAGGING_SOURCE,\n\tSORT_CANCELLED,\n} from '../constants';\n\nimport { handleAutoScroll } from './auto-scroll';\nimport Sortable from './class';\nimport {\n\tcreateAndInsertClone,\n\tremoveClone,\n\tsetClonePosition,\n\ttransformClonePosition,\n} from './clone';\nimport {\n\tgetDropPosition,\n\tgetElement,\n\tgetSourcePosition,\n\tgetValidRange,\n\tsetValidYPosition,\n} from './helpers';\nimport {\n\tcreatePlaceholder,\n\tinsertPlaceholderAtIndex,\n\tremoveDestPlaceholders,\n\tremoveSrcPlaceholders,\n\taddSortableDestPlaceholderClass,\n\taddSortableSrcPlaceholderClass,\n\tpredictDestPlaceholder,\n} from './placeholder';\n\nexport const LIST_ORDER = { VERTICAL: 'vertical', HORIZONTAL: 'horizontal' };\n\nconst DIRECTIONS = {\n\tLEFT: 'left',\n\tRIGHT: 'right',\n\tUP: 'up',\n\tDOWN: 'down',\n};\n\nexport const sortInteraction = (config, dispatch) => {\n\t// TODO: Document each property of the below 'sortable' object\n\tconst sortable = new Sortable(config);\n\n\tfunction getTargetElem(event, config) {\n\t\tif (config && config.handle) {\n\t\t\t// Event initiated at the handle element, so dragged element is some ancestor of this\n\t\t\t// the closest parent that matches 'config.items'\n\t\t\treturn closestDeep(event.target, config.items);\n\t\t}\n\t\t// If 'handle' is not used, event can only be triggered by the sortable element only\n\t\treturn event.target;\n\t}\n\n\tfunction setMoveDirection(dx, dy) {\n\t\tif (dx !== 0) {\n\t\t\tif (dx < -sortable.direction.MIN_CHANGE) {\n\t\t\t\tsortable.direction.horizontal = DIRECTIONS.LEFT;\n\t\t\t} else if (dx > sortable.direction.MIN_CHANGE) {\n\t\t\t\tsortable.direction.horizontal = DIRECTIONS.RIGHT;\n\t\t\t}\n\t\t}\n\t\tif (dy !== 0) {\n\t\t\tif (dy < -sortable.direction.MIN_CHANGE) {\n\t\t\t\tsortable.direction.vertical = DIRECTIONS.UP;\n\t\t\t} else if (dy > sortable.direction.MIN_CHANGE) {\n\t\t\t\tsortable.direction.vertical = DIRECTIONS.DOWN;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction setDirectionStylesOnClone() {\n\t\tconst classes = [\n\t\t\t`horizontal-dir-${DIRECTIONS.LEFT}`,\n\t\t\t`horizontal-dir-${DIRECTIONS.RIGHT}`,\n\t\t\t`vertical-dir-${DIRECTIONS.UP}`,\n\t\t\t`vertical-dir-${DIRECTIONS.DOWN}`,\n\t\t];\n\t\tconst horizontalCls = sortable.direction.horizontal\n\t\t\t? `horizontal-dir-${sortable.direction.horizontal}`\n\t\t\t: '';\n\t\tconst verticalCls = sortable.direction.vertical\n\t\t\t? `vertical-dir-${sortable.direction.vertical}`\n\t\t\t: '';\n\t\tconst clone = sortable.clone.element;\n\n\t\tclasses.forEach((cls) => {\n\t\t\tif (cls !== horizontalCls && cls !== verticalCls)\n\t\t\t\tclone.classList.remove(cls);\n\t\t});\n\n\t\tif (horizontalCls && !clone.classList.contains(horizontalCls)) {\n\t\t\tclone.classList.add(horizontalCls);\n\t\t\tclone.horizontalDragDirection = horizontalCls; // to trigger prop change\n\t\t}\n\t\tif (verticalCls && !clone.classList.contains(verticalCls)) {\n\t\t\tclone.classList.add(verticalCls);\n\t\t\tclone.verticalDragDirection = verticalCls; // to trigger prop change\n\t\t}\n\t}\n\n\tfunction getSortableItemsSelector() {\n\t\t// The items that are sortable in the list, except for the placeholders and the clone\n\t\treturn (\n\t\t\t`${config.items}` +\n\t\t\t`:not(.${NS_SOURCE_PLACEHOLDER})` +\n\t\t\t`:not(.${NS_DRAGGING_SOURCE})` +\n\t\t\t`:not(.${NS_DEST_PLACEHOLDER})` +\n\t\t\t`:not(.${NS_ACTIVE_SORT_ITEM})`\n\t\t);\n\t}\n\n\tfunction getSortableElements(dropzone) {\n\t\treturn querySelectorAllDeep(\n\t\t\tgetSortableItemsSelector(),\n\t\t\tdropzone,\n\t\t\tfalse\n\t\t);\n\t}\n\n\tfunction resetTargetElemStyles() {\n\t\tconst elem = sortable.targetElement;\n\t\telem.style.display = elem._oldDisplay;\n\t\telem.classList.remove(NS_DRAGGING_SOURCE);\n\t}\n\n\tfunction hideTargetElem() {\n\t\tsortable.targetElement._oldDisplay =\n\t\t\tsortable.targetElement.style.display;\n\t\tsortable.targetElement.style.display = 'none'; // Hide the element that is being dragged\n\t\tsortable.targetElement.classList.add(NS_DRAGGING_SOURCE);\n\t}\n\n\tfunction resetSortableData() {\n\t\tsortable.dropIndex = -1;\n\t\tsortable.dropPosition = null;\n\t\tsortable.dropzone = null;\n\t\tsortable.clone.element = null;\n\t\tsortable.clone.position.x = null;\n\t\tsortable.clone.position.y = null;\n\t\tsortable.dataTransfer = {};\n\t\tsortable.active = false;\n\t}\n\n\tfunction updateScrollParents() {\n\t\tconst dropzone = sortable.dropzone;\n\t\tsortable.scroll.xElem = dropzone.matches(config.xScrollParent)\n\t\t\t? dropzone\n\t\t\t: closestDeep(dropzone, config.xScrollParent);\n\n\t\tsortable.scroll.yElem = dropzone.matches(config.yScrollParent)\n\t\t\t? dropzone\n\t\t\t: closestDeep(dropzone, config.yScrollParent);\n\n\t\tif (sortable.scroll.yElem) {\n\t\t\tsortable.maxYScroll = sortable.scroll.yElem.scrollHeight;\n\t\t}\n\t}\n\n\tfunction getItemRect(item) {\n\t\t// left and top position should be with respect to the parent where the clone appends\n\t\tconst relativeParent = config.cloneAppendTo\n\t\t\t? getElement(config.cloneAppendTo)\n\t\t\t: document.body;\n\t\treturn getRelativePosition(item, relativeParent);\n\t}\n\n\t/**\n\t * RULES:\n\t * (just going to write things as I decide them and want to stick to them\n\t *\n\t * 1. There is a mandatory 'dropzone' and there is an optional 'extendedDropzone'.\n\t * 2. 'dropzone' is always the container whose children are sortable elements\n\t * 3. 'extendedDropzone' can be a super parent to `dropzone`, only intended to allow\n\t * \t   flexible drop locations.\n\t * 4. Responsibility of the adapters to decide the current active 'dropzone'\n\t * 5. 'extendedDropzone' doesn't seem useful in Keyboard sortable interaction\n\t * 6. Only one \"sort\" action is allowed per window i.e. you cannot leave a sort (say by\n\t * \t\tkeyboard) in progress and then start sorting another list by mouse/touch. The first\n\t * \t\tone will be cancelled.\n\t * */\n\n\t// DOM Manipulations here\n\tfunction render_PixelChange(event, config) {\n\t\t// Step 1: Check if dx and dy will require scroll, if yes, perform it and get adjusted dx, dy\n\t\tlet { dx, dy } = sortable.clone.position;\n\t\tconst { scrollX, scrollY } = handleAutoScroll(\n\t\t\tconfig,\n\t\t\tsortable.clone.element,\n\t\t\tsortable.scroll.xElem,\n\t\t\tsortable.scroll.yElem,\n\t\t\tdx,\n\t\t\tdy,\n\t\t\tevent\n\t\t);\n\n\t\t// Step 2: Move the dragging clone element there\n\t\tconst { position } = sortable.clone;\n\n\t\tif (config.followMouseForAutoScroll) {\n\t\t\tdx = dx + scrollX;\n\t\t\tdy = dy + scrollY;\n\t\t}\n\n\t\tposition.x += dx;\n\t\tposition.y += dy;\n\n\t\tsetValidYPosition(sortable, position);\n\n\t\ttransformClonePosition(sortable.clone.element, position.x, position.y);\n\n\t\t// Step 3: Set the direction of the move\n\t\tsetMoveDirection(dx, dy);\n\n\t\tsetDirectionStylesOnClone();\n\n\t\t// Step 4: Predict the position of the placeholder and update placeholder\n\t\tconst elemsInCurrentDropzone = getSortableElements(sortable.dropzone);\n\n\t\tpredictDestPlaceholder(\n\t\t\tsortable.clone.element,\n\t\t\telemsInCurrentDropzone,\n\t\t\tsortable.dropzone,\n\t\t\tsortable.extendedDropzone,\n\t\t\tsortable.placeholders.src,\n\t\t\tsortable.placeholders.dest,\n\t\t\tsortable.listOrder\n\t\t);\n\n\t\t// Placeholders are in place, the clone has been moved to its position, content has been scrolled\n\t\t// We are done with the changes to the DOM\n\t}\n\n\t// DOM Manipulations here\n\tfunction render_PositionChange(event) {\n\t\tconst { newIndex } = sortable;\n\t\tconst isSourcePosition = () =>\n\t\t\tnewIndex === sortable.dataTransfer.sourceIndex &&\n\t\t\tsortable.dropzone === sortable.dataTransfer.sourceParent;\n\n\t\t// Step 1: Based on the index, put the destination placeholder somewhere\n\t\tlet destRect = null;\n\t\tif (isSourcePosition()) {\n\t\t\t// No placeholder since the location is same as the starting index\n\t\t\tremoveDestPlaceholders();\n\t\t\tdestRect = getItemRect(sortable.placeholders.src);\n\t\t} else {\n\t\t\t// When 'position' updates happen, both \"placeholder\" and \"clone\" will be moved together\n\t\t\tconst inserted = insertPlaceholderAtIndex(\n\t\t\t\tsortable.dropzone,\n\t\t\t\tnewIndex,\n\t\t\t\tgetSortableItemsSelector(),\n\t\t\t\tsortable.placeholders.dest\n\t\t\t);\n\t\t\tdestRect = getItemRect(\n\t\t\t\tinserted\n\t\t\t\t\t? sortable.placeholders.dest\n\t\t\t\t\t: sortable.placeholders.src\n\t\t\t);\n\t\t}\n\n\t\t// Step 2: Use the destination placeholder's position and current clone positon to get dx, dy\n\t\tconst clonePosition = getItemRect(sortable.clone.element);\n\t\tconst dx = destRect.left - clonePosition.left;\n\t\tconst dy = destRect.top - clonePosition.top;\n\n\t\t// Step 3: Run the dx and dy through auto-scroll handler to get adjusted dx and dy.\n\t\t// Also the scrolling will be done if needed\n\t\tconst { scrollX, scrollY } = handleAutoScroll(\n\t\t\tconfig,\n\t\t\tsortable.clone.element,\n\t\t\tsortable.scroll.xElem,\n\t\t\tsortable.scroll.yElem,\n\t\t\tdx,\n\t\t\tdy,\n\t\t\tevent\n\t\t);\n\n\t\t// Step 4: Update the position of the clone on UI\n\t\tconst { position } = sortable.clone;\n\t\tposition.x = scrollX !== 0 ? null : destRect.left + 5;\n\t\tposition.y = scrollY !== 0 ? null : destRect.top + 5;\n\t\tsetClonePosition(sortable.clone.element, position.y, position.x);\n\n\t\t// Step 5: Set the direction of the move\n\t\tsetMoveDirection(dx, dy);\n\n\t\tsetDirectionStylesOnClone();\n\t}\n\n\tfunction isValidIndex(index) {\n\t\treturn (\n\t\t\tindex >= sortable.minPostionableIndex &&\n\t\t\tindex <= sortable.maxPositionableIndex\n\t\t);\n\t}\n\n\treturn {\n\t\tconfig,\n\t\tonStart(event) {\n\t\t\t// TODO: If there is already an active draggable in this session, complete it or cancel it!\n\t\t\tsortable.targetElement = getTargetElem(event, config);\n\t\t\tconst { minIndex, maxIndex } = getValidRange(\n\t\t\t\tsortable.targetElement,\n\t\t\t\tconfig\n\t\t\t);\n\t\t\tsortable.minPostionableIndex = minIndex;\n\t\t\tsortable.maxPositionableIndex = maxIndex;\n\n\t\t\tsortable.clone.element = createAndInsertClone(\n\t\t\t\tsortable.targetElement,\n\t\t\t\tconfig\n\t\t\t);\n\t\t\tif (!sortable.clone.element) throw new Error('Invalid drag clone');\n\n\t\t\t// Create source placeholder\n\t\t\tif (isFunction(config.customSourcePlaceholder))\n\t\t\t\tsortable.placeholders.src = config.customSourcePlaceholder.call(\n\t\t\t\t\tnull,\n\t\t\t\t\tsortable.targetElement\n\t\t\t\t);\n\t\t\telse\n\t\t\t\tsortable.placeholders.src = createPlaceholder(\n\t\t\t\t\tconfig.tagSourcePlaceholder,\n\t\t\t\t\tsortable.targetElement\n\t\t\t\t);\n\n\t\t\taddSortableSrcPlaceholderClass(sortable.placeholders.src);\n\n\t\t\t// Create destination placeholder\n\t\t\tif (isFunction(config.customDestPlaceholder))\n\t\t\t\tsortable.placeholders.dest = config.customDestPlaceholder.call(\n\t\t\t\t\tnull,\n\t\t\t\t\tsortable.targetElement\n\t\t\t\t);\n\t\t\telse\n\t\t\t\tsortable.placeholders.dest = createPlaceholder(\n\t\t\t\t\tconfig.tagDestPlaceholder,\n\t\t\t\t\tsortable.targetElement,\n\t\t\t\t\tconfig.destPlaceholderText\n\t\t\t\t);\n\n\t\t\taddSortableDestPlaceholderClass(sortable.placeholders.dest);\n\n\t\t\t// Hide the original element, and show placeholder instead\n\t\t\tif (!config.shouldNotHideTargetElement) {\n\t\t\t\thideTargetElem();\n\t\t\t\tinsertAfter(sortable.placeholders.src, sortable.targetElement);\n\t\t\t}\n\t\t\tif (isFunction(config.onSrcPlaceholderInsert))\n\t\t\t\tconfig.onSrcPlaceholderInsert.call(\n\t\t\t\t\tnull,\n\t\t\t\t\tsortable.targetElement,\n\t\t\t\t\tsortable.placeholders.src\n\t\t\t\t);\n\n\t\t\t// Update the dataTransfer info\n\t\t\tconst { dataTransfer } = sortable;\n\t\t\tdataTransfer.sourceIndex = elemIndex(sortable.targetElement);\n\t\t\tdataTransfer.sourceParent = config.dropzone\n\t\t\t\t? closestDeep(sortable.targetElement, config.dropzone)\n\t\t\t\t: sortable.targetElement.parentElement;\n\n\t\t\tdataTransfer.destinationIndex = dataTransfer.sourceIndex; // when it starts, dest is same as source\n\t\t\tdataTransfer.destinationParent = dataTransfer.sourceParent;\n\t\t\tdataTransfer.element = sortable.targetElement;\n\n\t\t\t// Set initial dropzones and scrolling parents (these can change later)\n\t\t\tsortable.dropzone = dataTransfer.sourceParent; // the parent of items\n\t\t\tif (config.extendedDropzone) {\n\t\t\t\t// TODO: why should sortable care about \"extendedDropzone\"?\n\t\t\t\tsortable.extendedDropzone = closestDeep(\n\t\t\t\t\tsortable.dropzone,\n\t\t\t\t\tconfig.extendedDropzone\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tupdateScrollParents();\n\n\t\t\tsortable.active = true;\n\t\t\tdispatch(config.actionPrefix + SORT_START, sortable.dataTransfer);\n\t\t},\n\t\tonMove(dx, dy, event) {\n\t\t\tconst { position } = sortable.clone;\n\t\t\tposition.dx = dx;\n\t\t\tposition.dy = dy;\n\t\t\tthis.render(event);\n\t\t},\n\t\tonPositionChange(newIndex) {\n\t\t\t// param can instead be a new location (index)\n\t\t\tif (!isValidIndex(newIndex)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsortable.newIndex = newIndex; // this is the new position in the current 'dropzone'\n\t\t\tthis.render();\n\t\t},\n\t\tonEnd(success = true) {\n\t\t\tremoveClone();\n\t\t\t// TODO: Instead of removing the placeholder immediately, try to\n\t\t\t// animate it to the destination position to avoid a flicker of sudden removal\n\t\t\tremoveDestPlaceholders();\n\t\t\tremoveSrcPlaceholders();\n\t\t\t// removeTransitions();\n\t\t\tresetTargetElemStyles();\n\n\t\t\tdispatch(\n\t\t\t\tconfig.actionPrefix + (success ? SORT_END : SORT_CANCELLED),\n\t\t\t\tsortable.dataTransfer\n\t\t\t);\n\n\t\t\tresetSortableData();\n\t\t},\n\t\trender(event) {\n\t\t\tconst { dx, dy } = sortable.clone.position;\n\n\t\t\tif (dx !== null || dy !== null) {\n\t\t\t\trender_PixelChange(event, config);\n\t\t\t\tsortable.clone.position.dx = null;\n\t\t\t\tsortable.clone.position.dy = null;\n\t\t\t} else if (sortable.newIndex != null) {\n\t\t\t\trender_PositionChange(event);\n\t\t\t\tsortable.newIndex = null;\n\t\t\t}\n\n\t\t\tlet parent = sortable.placeholders.dest.parentElement;\n\t\t\tlet newDropIndex = getDropPosition(sortable.placeholders.dest);\n\t\t\tif (newDropIndex === -1) {\n\t\t\t\tnewDropIndex = getSourcePosition(sortable.placeholders.src);\n\t\t\t\tparent = sortable.placeholders.src.parentElement;\n\t\t\t}\n\n\t\t\tlet newDropPosition;\n\t\t\tif (parent)\n\t\t\t\tnewDropPosition = parent\n\t\t\t\t\t.getRootNode()\n\t\t\t\t\t.host.getAttribute('component-id');\n\n\t\t\tnewDropPosition += `_${newDropIndex}`;\n\n\t\t\tif (newDropPosition !== sortable.dropPosition) {\n\t\t\t\tdispatch(config.actionPrefix + DROP_AREA_CHANGE, {\n\t\t\t\t\toldPosition: sortable.dropIndex,\n\t\t\t\t\tnewPosition: newDropIndex,\n\t\t\t\t\tdropzone: sortable.dropzone,\n\t\t\t\t\ttargetElement: sortable.targetElement,\n\t\t\t\t});\n\n\t\t\t\tif (isFunction(config.onDestPlaceholderInsert))\n\t\t\t\t\tconfig.onDestPlaceholderInsert.call(\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\tsortable.targetElement,\n\t\t\t\t\t\tsortable.placeholders.src,\n\t\t\t\t\t\tsortable.placeholders.dest,\n\t\t\t\t\t\tnewDropIndex\n\t\t\t\t\t);\n\n\t\t\t\tsortable.dropIndex = newDropIndex;\n\t\t\t\tsortable.dropPosition = newDropPosition;\n\t\t\t}\n\n\t\t\t// Update the dragData in the event\n\t\t\tconst updatedDragData = sortable.dataTransfer;\n\t\t\t// TODO: 'placeholderParent' below is same as 'sortable.dropzone', confirm and remove this check\n\t\t\tconst placeholderParent = config.dropzone\n\t\t\t\t? closestDeep(sortable.placeholders.dest, config.dropzone)\n\t\t\t\t: sortable.placeholders.dest.parentElement;\n\n\t\t\tif (placeholderParent) {\n\t\t\t\tupdatedDragData.destinationParent = placeholderParent;\n\t\t\t\tif (sortable.dropIndex !== -1)\n\t\t\t\t\tupdatedDragData.destinationIndex = sortable.dropIndex;\n\t\t\t} else {\n\t\t\t\t// Placeholder is not shown anywhere, so the droppable area will be the source parent\n\t\t\t\tupdatedDragData.destinationParent =\n\t\t\t\t\tupdatedDragData.sourceParent;\n\t\t\t\tupdatedDragData.destinationIndex = updatedDragData.sourceIndex;\n\t\t\t}\n\t\t\tsortable.dataTransfer = updatedDragData;\n\t\t},\n\t\tupdateConfig(newConfig) {\n\t\t\tconfig = {\n\t\t\t\t...config,\n\t\t\t\t...newConfig,\n\t\t\t};\n\t\t},\n\t\tsetActiveDropzone(activeDropzone) {\n\t\t\tsortable.dropzone = activeDropzone;\n\t\t\tupdateScrollParents();\n\t\t\tthis.render();\n\t\t},\n\t\tsetActiveIndex(index) {\n\t\t\tsortable.newIndex = index;\n\t\t},\n\t\tgetDataTransfer() {\n\t\t\treturn sortable.dataTransfer;\n\t\t},\n\t\tsetDataTransfer(data) {\n\t\t\tif (isValidIndex(data.tempMoveIndex)) {\n\t\t\t\tsortable.dataTransfer = {\n\t\t\t\t\t...sortable.dataTransfer,\n\t\t\t\t\t...data,\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\t\tuuid() {\n\t\t\treturn sortable.uuid;\n\t\t},\n\t\tisActive() {\n\t\t\treturn sortable.active;\n\t\t},\n\t};\n};\n","import find from 'lodash/find';\n\nimport { querySelectorAllDeep } from '../../../dom-utils';\nimport DIRECTIONS from '../../../utils/directions';\n\nconst distance = (\n\t/** @type {DOMRect} */ rectA,\n\t/** @type {DOMRect} */ rectB\n) => {\n\treturn Math.abs(\n\t\tMath.sqrt(\n\t\t\tMath.pow(rectA.left - rectB.left, 2) +\n\t\t\t\tMath.pow(rectA.top - rectB.top, 2)\n\t\t)\n\t);\n};\n\n/**\n * This is similar to the visual navigation approach. Based on a direction, this returns a sortable dropzone to\n * jump to when navigating across sortable lists using keyboard.\n *\n * */\nexport const nextVisualDropzone = (\n\t/** @type {HTMLElement} */ el,\n\t/** @type {{ connectedLists: string; }} */ config,\n\t/** @type {{ getDataTransfer: () => any; setDataTransfer: (arg0: { activeConnectedList: HTMLElement; }) => void; }} */ sortable,\n\t/** @type {symbol} */ direction\n) => {\n\tconst dataTransfer = sortable.getDataTransfer();\n\tconst { activeConnectedList } = dataTransfer;\n\tlet relativeElement = null;\n\n\tif (!activeConnectedList) {\n\t\t// We are currently on the 'el' (main) list\n\t\trelativeElement = el;\n\t} else {\n\t\t// We have already moved to a different connected list\n\t\trelativeElement = activeConnectedList;\n\t}\n\n\tconst relativeElRect = relativeElement.getBoundingClientRect();\n\n\tconst connectedLists = querySelectorAllDeep(\n\t\tconfig.connectedLists,\n\t\t// @ts-ignore\n\t\tnull,\n\t\tfalse\n\t);\n\t// @ts-ignore\n\tconst elInConnectedLists = find(connectedLists, (cl) => cl === el);\n\tif (!elInConnectedLists) connectedLists.push(el);\n\n\tconst cListWithRects = connectedLists.map((cl) => ({\n\t\telement: cl,\n\t\trect: cl.getBoundingClientRect(),\n\t}));\n\tlet nextList = null;\n\tswitch (direction) {\n\t\tcase DIRECTIONS.DOWN: {\n\t\t\t// Get elements that are strictly below this current list\n\t\t\tconst lowerElements = cListWithRects.filter((cl) => {\n\t\t\t\treturn (\n\t\t\t\t\tMath.round(cl.rect.top) >= Math.round(relativeElRect.bottom)\n\t\t\t\t);\n\t\t\t});\n\t\t\t// Return element that is closest to the relative element's left\n\t\t\tnextList = lowerElements\n\t\t\t\t.map((cl) => ({\n\t\t\t\t\t...cl,\n\t\t\t\t\tdistance: distance(cl.rect, relativeElRect),\n\t\t\t\t}))\n\t\t\t\t.sort((a, b) => a.distance - b.distance)[0];\n\t\t\tbreak;\n\t\t}\n\n\t\tcase DIRECTIONS.UP: {\n\t\t\tconst upperElements = cListWithRects.filter((cl) => {\n\t\t\t\treturn (\n\t\t\t\t\tMath.round(cl.rect.bottom) <= Math.round(relativeElRect.top)\n\t\t\t\t);\n\t\t\t});\n\t\t\t// Return element that is closest to the relative element's left\n\t\t\tnextList = upperElements\n\t\t\t\t.map((cl) => ({\n\t\t\t\t\t...cl,\n\t\t\t\t\tdistance: distance(cl.rect, relativeElRect),\n\t\t\t\t}))\n\t\t\t\t.sort((a, b) => a.distance - b.distance)[0];\n\t\t\tbreak;\n\t\t}\n\t\tcase DIRECTIONS.RIGHT: {\n\t\t\tconst rightElements = cListWithRects.filter((cl) => {\n\t\t\t\treturn (\n\t\t\t\t\tMath.round(cl.rect.left) >= Math.round(relativeElRect.right)\n\t\t\t\t);\n\t\t\t});\n\t\t\t// Return element that is closest to the relative element's top\n\t\t\tnextList = rightElements\n\t\t\t\t.map((cl) => ({\n\t\t\t\t\t...cl,\n\t\t\t\t\tdistance: distance(cl.rect, relativeElRect),\n\t\t\t\t}))\n\t\t\t\t.sort((a, b) => a.distance - b.distance)[0];\n\t\t\tbreak;\n\t\t}\n\n\t\tcase DIRECTIONS.LEFT: {\n\t\t\tconst leftElements = cListWithRects.filter((cl) => {\n\t\t\t\treturn (\n\t\t\t\t\tMath.round(cl.rect.right) <= Math.round(relativeElRect.left)\n\t\t\t\t);\n\t\t\t});\n\t\t\t// Return element that is closest to the relative element's top\n\t\t\tnextList = leftElements\n\t\t\t\t.map((cl) => ({\n\t\t\t\t\t...cl,\n\t\t\t\t\tdistance: distance(cl.rect, relativeElRect),\n\t\t\t\t}))\n\t\t\t\t.sort((a, b) => a.distance - b.distance)[0];\n\t\t\tbreak;\n\t\t}\n\n\t\tdefault:\n\t\t\treturn;\n\t}\n\n\tif (nextList) {\n\t\tsortable.setDataTransfer({\n\t\t\tactiveConnectedList: nextList.element,\n\t\t});\n\t\treturn nextList.element;\n\t}\n\n\treturn nextList;\n};\n","// @ts-nocheck\nimport get from 'lodash/get';\nimport isFunction from 'lodash/isFunction';\n\nimport { querySelectorDeep } from '../../../dom-utils';\nimport DIRECTIONS from '../../../utils/directions';\nimport { LIST_ORDER, sortInteraction } from '../../core';\n\nimport { nextVisualDropzone } from './visual-next';\n\nconst DEFAULT_KEYBOARD_CONFIG = {};\n\nconst KEYS = {\n\tESCAPE: 'Escape',\n\tARROW_UP: 'ArrowUp',\n\tARROW_DOWN: 'ArrowDown',\n\tARROW_RIGHT: 'ArrowRight',\n\tARROW_LEFT: 'ArrowLeft',\n\tENTER: 'Enter',\n\tSPACE_CODE: 32,\n};\n\nexport const isSortStartTrigger = (event, config) => {\n\tconst customTrigger = get(config, 'keyboardTriggers.start', null);\n\tif (customTrigger && isFunction(customTrigger))\n\t\treturn customTrigger.call(null, event);\n\treturn event.altKey && event.which === KEYS.SPACE_CODE;\n};\n\nexport const isSortCompleteTrigger = (event, config) => {\n\tconst customTrigger = get(config, 'keyboardTriggers.end', null);\n\tif (customTrigger && isFunction(customTrigger))\n\t\treturn customTrigger.call(null, event);\n\treturn event.key === KEYS.ENTER;\n};\n\nexport const isSortCancelTrigger = (event, config) => {\n\tconst customTrigger = get(config, 'keyboardTriggers.cancel', null);\n\tif (customTrigger && isFunction(customTrigger))\n\t\treturn customTrigger.call(null, event);\n\treturn event.key === KEYS.ESCAPE;\n};\n\nexport const isSortableUpdateKey = (event) => {\n\treturn (\n\t\tevent.key === KEYS.ARROW_RIGHT ||\n\t\tevent.key === KEYS.ARROW_LEFT ||\n\t\tevent.key === KEYS.ARROW_UP ||\n\t\tevent.key === KEYS.ARROW_DOWN\n\t);\n};\n\nexport const isDraggable = (element, config) => {\n\tif (isFunction(config.itemsFilter))\n\t\treturn config.itemsFilter.call(null, element);\n\treturn true;\n};\n\nexport const keyboardSortHandler = (\n\tevent,\n\tconfig,\n\tel,\n\tsortable,\n\tinProgress,\n\taddGlobalKeyHandlers,\n\tremoveGlobalKeyHandlers\n) => {\n\tif (isSortStartTrigger(event, config) && !sortable.isActive()) {\n\t\t// space\n\t\tsortable.onStart(event);\n\t\tinProgress.value = true;\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\t// Add listeners on the board level for continuing the sort interaction\n\t\taddGlobalKeyHandlers();\n\t} else if (isSortCancelTrigger(event, config) && sortable.isActive()) {\n\t\t// Complete sorting\n\t\tsortable.onEnd(false);\n\t\tinProgress.value = false;\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\tremoveGlobalKeyHandlers();\n\t} else if (isSortCompleteTrigger(event, config) && sortable.isActive()) {\n\t\t// Cancel sorting\n\t\tsortable.onEnd(true);\n\t\tinProgress.value = false;\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\tremoveGlobalKeyHandlers();\n\t} else if (\n\t\tinProgress.value &&\n\t\tsortable.isActive() &&\n\t\tisSortableUpdateKey(event)\n\t) {\n\t\tconst { sourceIndex, tempMoveIndex } = sortable.getDataTransfer();\n\t\tconst currentIndex =\n\t\t\ttempMoveIndex == null ? sourceIndex : tempMoveIndex;\n\n\t\t// Skip all other keys\n\t\tif (config.listOrder === LIST_ORDER.VERTICAL) {\n\t\t\thandleVerticalSort(event, sortable, currentIndex, el, config);\n\t\t} else if (config.listOrder === LIST_ORDER.HORIZONTAL) {\n\t\t\thandleHorizontalSort(event, sortable, currentIndex, el, config);\n\t\t}\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t} else {\n\t\t// Unhandled key event\n\t}\n};\n\nexport const handleVerticalSort = (\n\tevent,\n\tsortable,\n\tcurrentIndex,\n\tel,\n\tconfig\n) => {\n\tswitch (event.key) {\n\t\tcase KEYS.ARROW_DOWN:\n\t\t\tsortable.onPositionChange(currentIndex + 1);\n\t\t\tsortable.setDataTransfer({ tempMoveIndex: currentIndex + 1 });\n\t\t\tbreak;\n\t\tcase KEYS.ARROW_UP:\n\t\t\tsortable.onPositionChange(currentIndex - 1);\n\t\t\tsortable.setDataTransfer({ tempMoveIndex: currentIndex - 1 });\n\t\t\tbreak;\n\t\tcase KEYS.ARROW_RIGHT:\n\t\t\tmoveToNextSortableList(el, config, sortable, DIRECTIONS.RIGHT);\n\t\t\tbreak;\n\t\tcase KEYS.ARROW_LEFT:\n\t\t\tmoveToNextSortableList(el, config, sortable, DIRECTIONS.LEFT);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n\nexport const handleHorizontalSort = (\n\tevent,\n\tsortable,\n\tcurrentIndex,\n\tel,\n\tconfig\n) => {\n\tswitch (event.key) {\n\t\tcase KEYS.ARROW_RIGHT:\n\t\t\tsortable.onPositionChange(currentIndex + 1);\n\t\t\tsortable.setDataTransfer({ tempMoveIndex: currentIndex + 1 });\n\t\t\tbreak;\n\t\tcase KEYS.ARROW_LEFT:\n\t\t\tsortable.onPositionChange(currentIndex - 1);\n\t\t\tsortable.setDataTransfer({ tempMoveIndex: currentIndex - 1 });\n\t\t\tbreak;\n\t\tcase KEYS.ARROW_DOWN:\n\t\t\tmoveToNextSortableList(el, config, sortable, DIRECTIONS.DOWN);\n\t\t\tbreak;\n\t\tcase KEYS.ARROW_UP:\n\t\t\tmoveToNextSortableList(el, config, sortable, DIRECTIONS.UP);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n\nexport const moveToNextSortableList = (el, config, sortable, direction) => {\n\tconst nextSortableList = nextVisualDropzone(\n\t\tel,\n\t\tconfig,\n\t\tsortable,\n\t\tdirection\n\t);\n\tif (nextSortableList) {\n\t\tconst nextDropzone = querySelectorDeep(\n\t\t\tconfig.dropzone,\n\t\t\tnextSortableList\n\t\t);\n\t\tsortable.setActiveIndex(0);\n\t\tsortable.setActiveDropzone(nextDropzone);\n\t\tsortable.setDataTransfer({ tempMoveIndex: 0 });\n\t}\n};\n\nexport const initAdapter = (config, el, sortable) => {\n\tconst inProgress = { value: false }; // Use an object to ensure mutability in closure\n\n\tconst addGlobalKeyHandlers = () => {\n\t\tdocument.body.addEventListener('keydown', (event) =>\n\t\t\tkeyboardSortHandler(\n\t\t\t\tevent,\n\t\t\t\tconfig,\n\t\t\t\tel,\n\t\t\t\tsortable,\n\t\t\t\tinProgress,\n\t\t\t\taddGlobalKeyHandlers,\n\t\t\t\tremoveGlobalKeyHandlers\n\t\t\t)\n\t\t);\n\t};\n\n\tconst removeGlobalKeyHandlers = () => {\n\t\tdocument.body.removeEventListener('keydown', (event) =>\n\t\t\tkeyboardSortHandler(\n\t\t\t\tevent,\n\t\t\t\tconfig,\n\t\t\t\tel,\n\t\t\t\tsortable,\n\t\t\t\tinProgress,\n\t\t\t\taddGlobalKeyHandlers,\n\t\t\t\tremoveGlobalKeyHandlers\n\t\t\t)\n\t\t);\n\t};\n\n\tconst initSortable = (options) => {\n\t\tconst { items = null, elems = [] } = options;\n\t\tif (!items)\n\t\t\tthrow 'Cannot initialize keyboard adapter for sorting without items';\n\n\t\telems.forEach((elem) => {\n\t\t\tif (!isDraggable(elem, options)) return;\n\n\t\t\tif (options.handle) {\n\t\t\t\tconst handleElem = querySelectorDeep(options.handle, elem);\n\t\t\t\tif (handleElem) {\n\t\t\t\t\thandleElem.addEventListener('keydown', (event) =>\n\t\t\t\t\t\tkeyboardSortHandler(\n\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\tconfig,\n\t\t\t\t\t\t\tel,\n\t\t\t\t\t\t\tsortable,\n\t\t\t\t\t\t\tinProgress,\n\t\t\t\t\t\t\taddGlobalKeyHandlers,\n\t\t\t\t\t\t\tremoveGlobalKeyHandlers\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\telem.addEventListener('keydown', (event) =>\n\t\t\t\t\tkeyboardSortHandler(\n\t\t\t\t\t\tevent,\n\t\t\t\t\t\tconfig,\n\t\t\t\t\t\tel,\n\t\t\t\t\t\tsortable,\n\t\t\t\t\t\tinProgress,\n\t\t\t\t\t\taddGlobalKeyHandlers,\n\t\t\t\t\t\tremoveGlobalKeyHandlers\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t};\n\tinitSortable(config);\n};\n\nexport default (el, dispatch) => {\n\tlet sortable = null;\n\treturn {\n\t\tinit(config) {\n\t\t\tsortable = sortInteraction(config, dispatch);\n\t\t\tinitAdapter(\n\t\t\t\t{\n\t\t\t\t\t...DEFAULT_KEYBOARD_CONFIG,\n\t\t\t\t\t...config,\n\t\t\t\t},\n\t\t\t\tel,\n\t\t\t\tsortable\n\t\t\t);\n\t\t},\n\t\tupdate(newConfig) {\n\t\t\tsortable.updateConfig(newConfig);\n\t\t\tinitAdapter(\n\t\t\t\t{\n\t\t\t\t\t...DEFAULT_KEYBOARD_CONFIG,\n\t\t\t\t\t...newConfig,\n\t\t\t\t},\n\t\t\t\tel,\n\t\t\t\tsortable\n\t\t\t);\n\t\t},\n\t\treset() {\n\t\t\t// TODO\n\t\t},\n\t};\n};\n","// @ts-nocheck\nexport const withCancellation = (listeners) => {\n\tlet escapeKeyListener = null,\n\t\tcancelled = false;\n\n\treturn {\n\t\t...listeners,\n\t\tstart: (event) => {\n\t\t\tlisteners.start.call(this, event);\n\t\t\t// Register an escape key listener\n\t\t\tescapeKeyListener = (e) => {\n\t\t\t\tif (e.code === 'Escape') {\n\t\t\t\t\tcancelled = true;\n\t\t\t\t\t// cancel the \"interaction\" of interactjs, which will lead to the \"end\" method below getting called\n\t\t\t\t\tevent.interaction && event.interaction.end();\n\t\t\t\t}\n\t\t\t};\n\t\t\tdocument.body.addEventListener('keydown', escapeKeyListener);\n\t\t},\n\t\tend: (event) => {\n\t\t\tlisteners.end.call(this, cancelled ? null : event);\n\t\t\t// Remove the escape key listener\n\t\t\tdocument.body.removeEventListener('keydown', escapeKeyListener);\n\t\t\tescapeKeyListener = null;\n\t\t\tcancelled = false;\n\t\t},\n\t};\n};\n","// @ts-nocheck\nimport interact from 'interactjs';\nimport findIndex from 'lodash/findIndex';\nimport { v4 as uuidv4 } from 'uuid';\n\n/**\n * A publish-subscribe approach to handling multiple dropzone listeners on same element.\n *\n * A given element (like a lane) can be a dropzone for multiple sortable lists. In this case, if each\n * sortable lists registers the 'drop' event listeners on the lane, then there will be many duplicate listeners.\n * So, this will register the 'drop' events once on an element, and then publish the messages to\n * all the subscribers.\n *\n * */\nconst handlers = {};\n\nexport const registerDropzone = (el, allowFrom, callbacks) => {\n\tif (el.__dropzone_subscribers__) {\n\t\t// already registered\n\t\thandlers[el.__dropzone_subscribers__].push(callbacks);\n\t} else {\n\t\tconst id = el.id || el.componentId || uuidv4();\n\t\thandlers[id] = handlers[id] || [];\n\t\thandlers[id].push(callbacks);\n\t\tel.__dropzone_subscribers__ = id;\n\n\t\t// actually add listener on element using interactjs\n\t\tcreateDropzone(el, allowFrom);\n\t}\n\treturn {\n\t\telement: el,\n\t\tcallbacks,\n\t};\n};\n\nexport const unregisterDropzone = (el, callbacks) => {\n\tif (el.__dropzone_subscribers__) {\n\t\t// already registered\n\t\tconst subscribers = handlers[el.__dropzone_subscribers__];\n\t\tconst idx = findIndex(subscribers, (cb) => cb === callbacks);\n\t\tif (idx !== -1) subscribers.splice(idx, 1);\n\n\t\tif (subscribers.length === 0) removeDropzone(el);\n\t}\n};\n\nconst createDropzone = (el, allowFrom) => {\n\tconst key = el.__dropzone_subscribers__;\n\tinteract(el).dropzone({\n\t\taccept: allowFrom,\n\t\tondragenter(event) {\n\t\t\tconst subscribers = handlers[key];\n\t\t\tsubscribers.forEach((subs) => {\n\t\t\t\tconst dragEnterFn = subs['onDragEnter'];\n\t\t\t\tif (!dragEnterFn) return;\n\t\t\t\tdragEnterFn.call(null, event);\n\t\t\t});\n\t\t},\n\t});\n};\n\nconst removeDropzone = (el) => {\n\tconst key = el.__dropzone_subscribers__;\n\thandlers[key] = [];\n\n\tinteract(el).dropzone(false);\n};\n","// @ts-nocheck\nimport interact from 'interactjs';\nimport find from 'lodash/find';\nimport get from 'lodash/get';\nimport isFunction from 'lodash/isFunction';\n\nimport { querySelectorAllDeep, querySelectorDeep } from '../../../dom-utils';\nimport { sortInteraction } from '../../core';\n\nimport { withCancellation } from './cancel-sort';\nimport { registerDropzone, unregisterDropzone } from './dropzone-notifier';\n\ninteract.dynamicDrop(true);\n\nconst DEFAULT_IJS_CONFIG = {\n\tcursorChecker: () => 'grab',\n};\n\nconst DROPZONE_INIT_DELAY = 200; // ms\n\nexport function toggleUserSelector(enable, element = document.body) {\n\telement.style.userSelect = enable ? 'auto' : 'none';\n}\n\nexport function clearUserSelection() {\n\tif (document.selection) {\n\t\tdocument.selection.empty();\n\t} else {\n\t\twindow.getSelection().removeAllRanges();\n\t}\n}\n\nexport function isDraggableInitialized(elem, draggables) {\n\tconst elInteractable = find(draggables, (i) => i.target === elem);\n\tif (!elInteractable) return false;\n\n\treturn get(elInteractable, 'options.drag.enabled', false);\n}\n\nexport function isDroppableInitialized(elem, droppables) {\n\tconst elInteractable = find(droppables, (i) => i.element === elem);\n\treturn !!elInteractable;\n}\n\nconst events = {\n\tdrag: {\n\t\tadd(el, config) {\n\t\t\treturn interact(el).draggable(config);\n\t\t},\n\t\tremove(el) {\n\t\t\treturn interact(el).draggable(false);\n\t\t},\n\t},\n\tdrop: {\n\t\tadd(el, allowFrom, handlers) {\n\t\t\treturn registerDropzone(el, allowFrom, handlers);\n\t\t},\n\t\tremove(el, handlers) {\n\t\t\treturn unregisterDropzone(el, handlers);\n\t\t},\n\t},\n};\n\nexport const isDraggable = (element, config) => {\n\tif (isFunction(config.itemsFilter))\n\t\treturn config.itemsFilter.call(null, element);\n\treturn true;\n};\n\nexport const initAdapter = (options, el, sortable, draggables, droppables) => {\n\tconst { elems = [], dropzone = null, extendedDropzone = null } = options;\n\t// Make 'items' draggable\n\n\t// TODO - Perf : This gets called so many times, and is slow. Need to optimize this\n\telems.forEach((elem) => {\n\t\t// TODO: Only make draggable based on \"condition\". Temporarily removing it\n\t\tif (!isDraggable(elem, options)) return;\n\n\t\tif (isDraggableInitialized(elem, draggables)) {\n\t\t\tconst elInteractable = find(draggables, (i) => i.target === elem);\n\t\t\telInteractable.__seen__ = true; // mark and sweep\n\t\t} else {\n\t\t\t// initializing sortable first time\n\t\t\telem.__sortable__ = sortable;\n\t\t\tconst interactable = events.drag.add(elem, options);\n\t\t\tinteractable.__seen__ = true;\n\t\t\tdraggables.push(interactable);\n\t\t}\n\t});\n\n\t// Make dropzones droppable\n\tconst sortableLists = [el];\n\tif (options.connectedLists) {\n\t\tconst connectedLists = querySelectorAllDeep(\n\t\t\toptions.connectedLists,\n\t\t\tnull,\n\t\t\tfalse\n\t\t);\n\t\tconnectedLists.forEach((cl) => {\n\t\t\tif (cl !== el) {\n\t\t\t\tsortableLists.push(cl);\n\t\t\t}\n\t\t});\n\t}\n\n\tif (extendedDropzone && !dropzone) {\n\t\tthrow new Error(\n\t\t\t'Extended dropzone cannot be used without a primary dropzone'\n\t\t);\n\t}\n\n\tif (!extendedDropzone && !dropzone) {\n\t\tthrow new Error('No dropzone specified for the sortable list');\n\t}\n\n\tconst dzSelector = extendedDropzone || dropzone;\n\n\tsortableLists.forEach((sortableListEl) => {\n\t\tconst droppableElem = sortableListEl.matches(dzSelector)\n\t\t\t? sortableListEl\n\t\t\t: querySelectorDeep(dzSelector, sortableListEl);\n\n\t\tif (!droppableElem) {\n\t\t\t// Suppress error message for now. Need to fix this as part UXF initialization issue,\n\t\t\t// where if condition is false initially, DnD is not initialised again\n\t\t\t// console.error(`Dropzone element matching ${dzSelector} not found`);\n\t\t\treturn;\n\t\t}\n\n\t\tif (isDroppableInitialized(droppableElem, droppables)) {\n\t\t\tconst dropInteractable = find(\n\t\t\t\tdroppables,\n\t\t\t\t(i) => i.element === droppableElem\n\t\t\t);\n\t\t\tdropInteractable.__seen__ = true;\n\t\t} else {\n\t\t\tsetTimeout(() => {\n\t\t\t\tconst droppable = events.drop.add(\n\t\t\t\t\tdroppableElem,\n\t\t\t\t\toptions.items,\n\t\t\t\t\t{\n\t\t\t\t\t\tonDragEnter(event) {\n\t\t\t\t\t\t\tconst draggedSortable = get(\n\t\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\t\t'draggable.target.__sortable__'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t!draggedSortable ||\n\t\t\t\t\t\t\t\tdraggedSortable.uuid() !== sortable.uuid()\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\treturn;\n\n\t\t\t\t\t\t\tconst dropzone = options.extendedDropzone\n\t\t\t\t\t\t\t\t? querySelectorDeep(\n\t\t\t\t\t\t\t\t\t\toptions.dropzone,\n\t\t\t\t\t\t\t\t\t\tdroppableElem\n\t\t\t\t\t\t\t\t  )\n\t\t\t\t\t\t\t\t: droppableElem;\n\n\t\t\t\t\t\t\t// set activeDropzone to the area where card entered\n\t\t\t\t\t\t\tdraggedSortable.setActiveDropzone(dropzone);\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tdroppable.__seen__ = true;\n\t\t\t\tdroppables.push(droppable);\n\t\t\t}, DROPZONE_INIT_DELAY);\n\t\t}\n\t});\n\n\t// Remove unused draggables\n\tconst unseenDraggables = draggables.filter((d) => d.__seen__ == null);\n\tunseenDraggables.forEach((ud) => {\n\t\tevents.drag.remove(ud.target); // each 'ud' is an interaction object\n\t});\n\tdraggables.forEach((d) => {\n\t\tdelete d.__seen__;\n\t});\n\n\t// Remove unused droppables\n\tconst unseenDroppables = droppables.filter((d) => d.__seen__ == null);\n\tunseenDroppables.forEach((ud) => {\n\t\tevents.drop.remove(ud.element, ud.callbacks); // each 'ud' is a custom object with 'element' and 'handler' props\n\t});\n\tdroppables.forEach((d) => {\n\t\tdelete d.__seen__;\n\t});\n};\n\nexport default (el, dispatch) => {\n\tlet ijsSortable = null;\n\tconst draggables = []; // the items\n\tconst droppables = []; // the dropzones\n\n\t// mouse and touch responders\n\tconst listeners = withCancellation({\n\t\tstart: (event) => {\n\t\t\ttoggleUserSelector(false);\n\t\t\tijsSortable.onStart(event);\n\t\t},\n\t\tmove: (event) => {\n\t\t\tif (event.type !== 'dragmove') return;\n\n\t\t\tconst { dx, dy } = event;\n\t\t\tijsSortable.onMove(dx, dy, event);\n\t\t},\n\t\tend: (event) => {\n\t\t\ttoggleUserSelector(true);\n\t\t\tclearUserSelection();\n\t\t\tijsSortable.onEnd(!!event);\n\t\t},\n\t});\n\n\treturn {\n\t\tinit(config, isUpdate = false) {\n\t\t\tconfig.adapter = 'interactjs'; // for debugging\n\t\t\tijsSortable = sortInteraction(config, dispatch, isUpdate);\n\t\t\t// el.setAttribute('sortable-id', ijsSortable.uuid()); // for testing\n\n\t\t\t// Update the config here as needed for InteractJS\n\t\t\tif (config.restrict || config.restrictTo) {\n\t\t\t\tconfig.modifiers = [\n\t\t\t\t\tinteract.modifiers.restrict({\n\t\t\t\t\t\trestriction: querySelectorDeep(config.restrictTo) || el,\n\t\t\t\t\t}),\n\t\t\t\t];\n\t\t\t}\n\n\t\t\tif (config.handle) {\n\t\t\t\tconfig.allowFrom = config.handle;\n\t\t\t}\n\n\t\t\tinitAdapter(\n\t\t\t\t{\n\t\t\t\t\t...DEFAULT_IJS_CONFIG,\n\t\t\t\t\t...config,\n\t\t\t\t\tlisteners,\n\t\t\t\t},\n\t\t\t\tel,\n\t\t\t\tijsSortable,\n\t\t\t\tdraggables,\n\t\t\t\tdroppables\n\t\t\t);\n\t\t},\n\t\tupdate(newConfig) {\n\t\t\tijsSortable.updateConfig(newConfig);\n\t\t\tinitAdapter(\n\t\t\t\t{\n\t\t\t\t\t...DEFAULT_IJS_CONFIG,\n\t\t\t\t\tlisteners,\n\t\t\t\t\t...newConfig,\n\t\t\t\t},\n\t\t\t\tel,\n\t\t\t\tijsSortable,\n\t\t\t\tdraggables,\n\t\t\t\tdroppables\n\t\t\t);\n\t\t},\n\t\treset() {\n\t\t\tdraggables.forEach((ud) => {\n\t\t\t\tevents.drag.remove(ud.target); // each 'ud' is an 'interaction' object\n\t\t\t});\n\n\t\t\tdroppables.forEach((ud) => {\n\t\t\t\tevents.drop.remove(ud.element, ud.callbacks); // each 'ud' is a custom object with 'element' and 'callbacks' props\n\t\t\t});\n\t\t},\n\t};\n};\n","// @ts-nocheck\nimport { querySelectorAllDeep } from '../dom-utils';\n\nimport keyboardAdapter from './adapters/keyboard/keyboard-adapter';\nimport interactJsAdapter from './adapters/mouse-and-touch/interactjs-adapter';\nimport { ACTION_PREFIX, NS_DEFAULT_PLACEHOLDER } from './constants';\n\nconst DEFAULT_SORTABLE_CONFIG = {\n\tstartAxis: 'xy', // IJS?\n\tactionPrefix: ACTION_PREFIX,\n\txScrollParent: 'body',\n\tyScrollParent: 'body',\n\ttagSourcePlaceholder: NS_DEFAULT_PLACEHOLDER,\n\ttagDestPlaceholder: NS_DEFAULT_PLACEHOLDER,\n\t// interfaces choice\n\tdragSupport: true,\n\tkeyboardSupport: true,\n};\n\n/**\n * This is the intercept point that checks the config, and initializes the interfaces, like keyboard, touch, etc.\n * Also, will be responsible for handling the updates on 'props' and updating the behaviours accordingly.\n * TODO: Check if the prop updates are correctly being considered\n *\n * */\n// @ts-ignore\nexport default (el, dispatch, options) => {\n\tlet config = {\n\t\t...DEFAULT_SORTABLE_CONFIG,\n\t\t...options,\n\t};\n\n\t// Initialize adapters\n\t// @ts-ignore\n\tlet ijsAdapter = null,\n\t\t// @ts-ignore\n\t\tkeyAdapter = null;\n\n\tconst updateElements = (options) => {\n\t\tconst { items = null } = options;\n\t\t//Get the elements to be added to get drag and keyboard support\n\t\tconst elems = querySelectorAllDeep(items, el, false);\n\t\tconfig = {\n\t\t\t...config,\n\t\t\telems,\n\t\t};\n\t};\n\n\tupdateElements(options);\n\n\tif (config.dragSupport) {\n\t\t// Initialize InteractJS adapter\n\t\tijsAdapter = interactJsAdapter(el, dispatch);\n\t\tijsAdapter.init(config);\n\t}\n\n\tif (config.keyboardSupport) {\n\t\tkeyAdapter = keyboardAdapter(el, dispatch);\n\t\tkeyAdapter.init(config);\n\t}\n\n\treturn {\n\t\t// These are the controls over the sortable behaviour\n\t\t// @ts-ignore\n\t\tsetConfig(newConfig) {\n\t\t\tconfig = {\n\t\t\t\t...DEFAULT_SORTABLE_CONFIG,\n\t\t\t\t...options,\n\t\t\t\t...newConfig,\n\t\t\t};\n\t\t\tupdateElements(options);\n\t\t\treturn config;\n\t\t},\n\t\tupdate() {\n\t\t\t// @ts-ignore\n\t\t\tijsAdapter && ijsAdapter.update(config);\n\t\t\t// @ts-ignore\n\t\t\tkeyAdapter && keyAdapter.update(config);\n\t\t},\n\t\treset() {\n\t\t\t// Reset each adapter\n\t\t\t// @ts-ignore\n\t\t\tif (ijsAdapter && ijsAdapter.reset) ijsAdapter.reset();\n\n\t\t\t// @ts-ignore\n\t\t\tif (keyAdapter && keyAdapter.reset) keyAdapter.reset();\n\t\t},\n\t};\n};\n","// @ts-nocheck\nimport { actionTypes } from '@servicenow/ui-core';\nimport isFunction from 'lodash/isFunction';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { ACTION_PREFIX, UPDATE_BEHAVIOR } from './constants';\nimport sortable from './sortable';\n\nexport default {\n\tname: 'now-sortable',\n\tactionHandlers: {\n\t\t[actionTypes.COMPONENT_DOM_READY]: ({\n\t\t\t// @ts-ignore\n\t\t\taction,\n\t\t\t// @ts-ignore\n\t\t\thost,\n\t\t\t// @ts-ignore\n\t\t\tdispatch,\n\t\t\t// @ts-ignore\n\t\t\tupdateState,\n\t\t}) => {\n\t\t\tconst { options } = action.payload;\n\t\t\tlet config = options;\n\t\t\tconst { condition, dynamicConfig } = config;\n\n\t\t\t/**\n\t\t\t * This condition is evaluated only once during DOM load.\n\t\t\t * So if the condition returns false and sortable library doesn't initialize\n\t\t\t * because of that, it won't trigger again.\n\t\t\t */\n\t\t\tif (isFunction(condition)) {\n\t\t\t\tconst shouldInitialize = condition.call(null, host);\n\t\t\t\tif (!shouldInitialize) return;\n\t\t\t}\n\n\t\t\t// Some config might be dependent on props\n\t\t\tif (isFunction(dynamicConfig)) {\n\t\t\t\tconfig = {\n\t\t\t\t\t...config,\n\t\t\t\t\t...dynamicConfig.call(null, host),\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst _sortable = sortable(host, dispatch, config);\n\t\t\tupdateState({\n\t\t\t\tpath: `sortableInstance_${uuidv4()}`, // to keep multiple instances of sortable in same state\n\t\t\t\tvalue: {\n\t\t\t\t\tconfig,\n\t\t\t\t\tsortable: _sortable,\n\t\t\t\t},\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false,\n\t\t\t});\n\t\t},\n\t\t// @ts-ignore\n\t\t[actionTypes.COMPONENT_PROPERTY_CHANGED]: ({ state, action, host }) => {\n\t\t\tconst { previousValue, value, name } = action.payload;\n\t\t\t// There could be multiple instances of \"sortable\" behavior on a single component. Each will have its\n\t\t\t// share of data in the component's state with different keys.\n\t\t\tconst sortableInstances = Object.keys(state).filter((key) =>\n\t\t\t\tkey.startsWith('sortableInstance_')\n\t\t\t);\n\n\t\t\tsortableInstances.forEach((instance) => {\n\t\t\t\tconst { config, sortable } = state[instance];\n\t\t\t\tif (!config) return;\n\n\t\t\t\tlet newConfig = { ...config };\n\t\t\t\tif (\n\t\t\t\t\tconfig.dynamicConfig &&\n\t\t\t\t\ttypeof config.dynamicConfig === 'function'\n\t\t\t\t) {\n\t\t\t\t\tnewConfig = {\n\t\t\t\t\t\t...config,\n\t\t\t\t\t\t...config.dynamicConfig.call(null, host),\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tif (isFunction(newConfig.condition)) {\n\t\t\t\t\tconst answer = newConfig.condition.call(\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\thost,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tpreviousValue\n\t\t\t\t\t);\n\t\t\t\t\tif (!answer) {\n\t\t\t\t\t\t// condition has changed to 'false', so reset the sortable state\n\t\t\t\t\t\tsortable && sortable.reset();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// TODO: If sortable is currently 'reset' and then the condition evaluates to true, re-initialise\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (isFunction(config.shouldUpdate)) {\n\t\t\t\t\tconst shouldUpdate = config.shouldUpdate.call(\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tpreviousValue,\n\t\t\t\t\t\tname\n\t\t\t\t\t);\n\t\t\t\t\tif (shouldUpdate === false) return false;\n\t\t\t\t}\n\n\t\t\t\tif (sortable) {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tsortable.setConfig(newConfig);\n\t\t\t\t\t\tsortable.update();\n\t\t\t\t\t}, 0);\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\t/**\n\t\t * Dispatch 'NOW_SORTABLE#UPDATE_BEHAVIOR' action to update the sortable instance again.\n\t\t */\n\t\t// @ts-ignore\n\t\t[ACTION_PREFIX + UPDATE_BEHAVIOR]: ({ state, host, action }) => {\n\t\t\taction.stopPropagation();\n\t\t\tconst sortableInstances = Object.keys(state).filter((key) =>\n\t\t\t\tkey.startsWith('sortableInstance_')\n\t\t\t);\n\n\t\t\tsortableInstances.forEach((instance) => {\n\t\t\t\tconst { config, sortable } = state[instance];\n\t\t\t\tif (!config) return;\n\n\t\t\t\tlet newConfig = {};\n\t\t\t\tif (isFunction(config.dynamicConfig)) {\n\t\t\t\t\tnewConfig = {\n\t\t\t\t\t\t...config,\n\t\t\t\t\t\t...config.dynamicConfig.call(null, host),\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\t// @ts-ignore\n\t\t\t\tif (isFunction(newConfig.condition)) {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tconst answer = newConfig.condition.call(null, host);\n\t\t\t\t\tif (!answer) {\n\t\t\t\t\t\t// condition has changed to 'false', so reset the sortable state\n\t\t\t\t\t\tsortable && sortable.reset();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (sortable) {\n\t\t\t\t\tsortable.setConfig(newConfig);\n\t\t\t\t\tsortable.update();\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t},\n};\n","import sortableBehavior from './behavior';\nexport default sortableBehavior;\n","// Actions\nexport const ACTION_PREFIX = 'NOW_RESIZE#';\nexport const RESIZE_STARTED = 'RESIZE_STARTED';\nexport const RESIZE_COMPLETED = 'RESIZE_COMPLETED';\nexport const SIZE_UPDATED = 'SIZE_UPDATED';\n\nexport const DATA_HAS_RESIZE_INTERACTION = 'data-has-resize-interaction';\nexport const KEYBOARD_RESIZE_DELTA = 5;\nexport const ACTIVE_CLASS = 'resize_active';\n\nexport const DEFAULT_MIN_WIDTH = 0;\nexport const DEFAULT_MAX_WIDTH = Number.MAX_SAFE_INTEGER;\nexport const DEFAULT_MIN_HEIGHT = 0;\nexport const DEFAULT_MAX_HEIGHT = Number.MAX_SAFE_INTEGER;\n","import {\n\tDEFAULT_MAX_HEIGHT,\n\tDEFAULT_MAX_WIDTH,\n\tDEFAULT_MIN_HEIGHT,\n\tDEFAULT_MIN_WIDTH,\n\tRESIZE_COMPLETED,\n\tRESIZE_STARTED,\n\tSIZE_UPDATED,\n} from './constants';\n\nexport const onStart = (\n\t/** @type {{ composedPath: () => any; path: any; key: string; }} */ event,\n\t/** @type {{ (actionName: string, payload?: any, metadata?: any): any; (arg0: string, arg1: { domEvent: any; }): void; }} */ dispatch,\n\t/** @type {{ keyboardOptions?: { keyboardResizeDelta: any; activeClass: any; }; actionPrefix?: any; }} */ options\n) => {\n\tconst { actionPrefix } = options;\n\tdispatch(actionPrefix + RESIZE_STARTED, { domEvent: event });\n};\nexport const updateSize = (\n\t/** @type {HTMLElement} */ element,\n\t/** @type {{ composedPath: () => any; path: any; key: string; }} */ event,\n\t/** @type {{ width: any; height: any; }} */ size,\n\t/** @type {{ (actionName: string, payload?: any, metadata?: any): any; (arg0: string, arg1: { domEvent: any; size: any; }): void; }} */ dispatch,\n\t/**\n\t * @type {{\n\t * \tkeyboardOptions?: { keyboardResizeDelta: any; activeClass: any; };\n\t * \tactionPrefix?: any;\n\t * \tonbeforeupdate?: any;\n\t * \tminWidth?: any;\n\t * \tmaxWidth?: any;\n\t * \tminHeight?: any;\n\t * \tmaxHeight?: any;\n\t * }}\n\t */ options\n) => {\n\tlet { minWidth, maxWidth, minHeight, maxHeight } = options;\n\tconst { actionPrefix, onbeforeupdate } = options;\n\n\tminWidth = minWidth || DEFAULT_MIN_WIDTH;\n\tmaxWidth = maxWidth || DEFAULT_MAX_WIDTH;\n\tminHeight = minHeight || DEFAULT_MIN_HEIGHT;\n\tmaxHeight = maxHeight || DEFAULT_MAX_HEIGHT;\n\t// any asynchrnous work that needs to be done before the update can be done here\n\tonbeforeupdate && onbeforeupdate(event);\n\tif (size.width) {\n\t\tif (size.width < minWidth) {\n\t\t\telement.style.width = `${minWidth}px`;\n\t\t} else if (size.width > maxWidth) {\n\t\t\telement.style.width = `${maxWidth}px`;\n\t\t} else {\n\t\t\telement.style.width = `${size.width}px`;\n\t\t}\n\t}\n\tif (size.height) {\n\t\tif (size.height < minHeight) {\n\t\t\telement.style.height = `${minHeight}px`;\n\t\t} else if (size.height > maxHeight) {\n\t\t\telement.style.height = `${maxHeight}px`;\n\t\t} else {\n\t\t\telement.style.height = `${size.height}px`;\n\t\t}\n\t}\n\t/**\n\t *if we send event in payload and call preventDefault before\n\t *seismic is not executing the action handlers so changed the name to domEvent instead of event\n\t */\n\tdispatch(actionPrefix + SIZE_UPDATED, { domEvent: event, size });\n};\nexport const onResizeComplete = (\n\t/** @type {{ composedPath: () => any; path: any; key: string; }} */ event,\n\t/** @type {{ (actionName: string, payload?: any, metadata?: any): any; (arg0: string, arg1: { domEvent: any; }): void; }} */ dispatch,\n\t/** @type {{ keyboardOptions?: { keyboardResizeDelta: any; activeClass: any; }; actionPrefix?: any; }} */ options\n) => {\n\tconst { actionPrefix } = options;\n\n\tdispatch(actionPrefix + RESIZE_COMPLETED, { domEvent: event });\n};\n","import interact from 'interactjs';\nimport throttle from 'lodash/throttle';\n\nimport { onResizeComplete, onStart, updateSize } from './shared';\n\n/**\n * @param {HTMLElement} element\n * @param {*} options\n * @param {Coeffects<Props,State>} coeffects\n */\nexport const addMouseSupport = (element, options, coeffects) => {\n\tconst { dispatch } = coeffects;\n\tconst { edges, ...rest } = options;\n\n\t// Throttle the onmove event handler\n\t// On Column resize, the onmove event is triggered multiple times\n\t// @ts-ignore\n\tconst throttledOnMove = throttle((event) => {\n\t\tconst size = {};\n\t\tif (edges.left || edges.right) size.width = event.rect.width;\n\t\tif (edges.top || edges.bottom) size.height = event.rect.height;\n\n\t\tupdateSize(element, event, size, dispatch, options);\n\t}, 200);\n\n\tinteract(element).resizable({\n\t\tedges: edges,\n\t\tonstart(event) {\n\t\t\tonStart(event, dispatch, options);\n\t\t},\n\t\tonmove: throttledOnMove,\n\t\tonend(event) {\n\t\t\tonResizeComplete(event, dispatch, options);\n\t\t},\n\t\t// check the documentation for additional configuration : https://interactjs.io/docs/api/Interactable.html#resizable\n\t\t...rest,\n\t});\n};\n","import { onResizeComplete, onStart, updateSize } from './shared';\n\n// Keys\nconst KEY = {\n\tARROW_UP: 'ArrowUp',\n\tARROW_RIGHT: 'ArrowRight',\n\tARROW_DOWN: 'ArrowDown',\n\tARROW_LEFT: 'ArrowLeft',\n\tUP: 'Up',\n\tRIGHT: 'Right',\n\tDOWN: 'Down',\n\tLEFT: 'Left',\n\tENTER: 'Enter',\n\tESC: 'Esc',\n\tESCAPE: 'Escape',\n\tTAB: 'Tab',\n};\n\nconst HANDLE_DIRECTIONS = {\n\tLEFT: 'left',\n\tRIGHT: 'right',\n\tTOP: 'top',\n\tDOWN: 'down',\n};\n\nexport const keyboardResizeHandler = (\n\t/** @type {{ composedPath: () => any; path: any; key: string; }} */ event,\n\t/** @type {HTMLElement} */ element,\n\t/** @type {string} */ direction,\n\t/** @type {{ keyboardOptions: { keyboardResizeDelta: any; activeClass: any; }; }} */ options,\n\t/** @type {any} */ dispatch\n) => {\n\tconst { keyboardResizeDelta, activeClass } = options.keyboardOptions;\n\tconst path = event.composedPath ? event.composedPath() : event.path;\n\tconst resizeHandleElement = path[0];\n\tif (event.key === KEY.ENTER) {\n\t\tif (!resizeHandleElement.classList.contains(activeClass)) {\n\t\t\tresizeHandleElement.classList.add(activeClass);\n\t\t\tonStart(event, dispatch, options);\n\t\t}\n\t\treturn;\n\t} else if (\n\t\tevent.key === KEY.TAB ||\n\t\tevent.key === KEY.ESC ||\n\t\tevent.key === KEY.ESCAPE\n\t) {\n\t\tresizeHandleElement.classList.remove(activeClass);\n\t\tonResizeComplete(event, dispatch, options);\n\t\treturn;\n\t}\n\n\tif (!resizeHandleElement.classList.contains(activeClass)) return;\n\tlet currentWidth = null;\n\tlet currentHeight = null;\n\tconst size = {};\n\n\tswitch (event.key) {\n\t\tcase KEY.ARROW_LEFT:\n\t\tcase KEY.LEFT:\n\t\t\tcurrentWidth = parseFloat(window.getComputedStyle(element).width);\n\t\t\tif (direction === HANDLE_DIRECTIONS.RIGHT) {\n\t\t\t\tsize.width = currentWidth - keyboardResizeDelta;\n\t\t\t} else if (direction === HANDLE_DIRECTIONS.LEFT) {\n\t\t\t\tsize.width = currentWidth + keyboardResizeDelta;\n\t\t\t} else {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase KEY.ARROW_RIGHT:\n\t\tcase KEY.RIGHT:\n\t\t\tcurrentWidth = parseFloat(window.getComputedStyle(element).width);\n\t\t\tif (direction === HANDLE_DIRECTIONS.RIGHT) {\n\t\t\t\tsize.width = currentWidth + keyboardResizeDelta;\n\t\t\t} else if (direction === HANDLE_DIRECTIONS.LEFT) {\n\t\t\t\tsize.width = currentWidth - keyboardResizeDelta;\n\t\t\t} else {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase KEY.ARROW_DOWN:\n\t\tcase KEY.DOWN:\n\t\t\tcurrentHeight = parseFloat(window.getComputedStyle(element).height);\n\t\t\tif (direction === HANDLE_DIRECTIONS.TOP) {\n\t\t\t\tsize.height = currentHeight - keyboardResizeDelta;\n\t\t\t} else if (direction === HANDLE_DIRECTIONS.DOWN) {\n\t\t\t\tsize.height = currentHeight + keyboardResizeDelta;\n\t\t\t} else {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase KEY.ARROW_UP:\n\t\tcase KEY.UP:\n\t\t\tcurrentHeight = parseFloat(window.getComputedStyle(element).height);\n\t\t\tif (direction === HANDLE_DIRECTIONS.TOP) {\n\t\t\t\tsize.height = currentHeight + keyboardResizeDelta;\n\t\t\t} else if (direction === HANDLE_DIRECTIONS.DOWN) {\n\t\t\t\tsize.height = currentHeight - keyboardResizeDelta;\n\t\t\t} else {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tbreak;\n\t}\n\tupdateSize(element, event, size, dispatch, options);\n};\n\nexport const addKeyboardSupport = (\n\t/** @type {HTMLElement} */ element,\n\t/** @type {{ keyboardOptions: any; }} */ options,\n\t/**\n\t * @type {{\n\t * \tdispatch: any;\n\t * \tupdateState?: Now.UpdateStateFunction<State>;\n\t * \tupdateProperties?: (propUpdate: Partial<Props>) => any;\n\t * \taction?: Now.Action<any, any>;\n\t * \tproperties?: Now.SeismicProps<Props>;\n\t * \tstate?: Now.SeismicState<Props, State>;\n\t * \thost?: Now.HostHTMLElement;\n\t * \tcollated?: { action: Now.Action<any, any>;\n\t * }[]; }}\n\t */ coeffects\n) => {\n\tconst { keyboardOptions } = options;\n\tconst { handles } = keyboardOptions;\n\tconst { dispatch } = coeffects;\n\n\tObject.values(HANDLE_DIRECTIONS).forEach((direction) => {\n\t\tconst handleSelector = handles[direction];\n\t\tconst resizeHandleElement =\n\t\t\thandleSelector && element.querySelector(handleSelector);\n\t\tif (resizeHandleElement) {\n\t\t\tresizeHandleElement.addEventListener('keydown', (\n\t\t\t\t/** @type {{ composedPath: () => any; path: any; key: string; }} */ event\n\t\t\t) => {\n\t\t\t\tkeyboardResizeHandler(\n\t\t\t\t\tevent,\n\t\t\t\t\telement,\n\t\t\t\t\tdirection,\n\t\t\t\t\toptions,\n\t\t\t\t\tdispatch\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\t});\n};\n","import { actionTypes } from '@servicenow/ui-core';\n\nimport {\n\tACTION_PREFIX,\n\tACTIVE_CLASS,\n\tDATA_HAS_RESIZE_INTERACTION,\n\tKEYBOARD_RESIZE_DELTA,\n} from './constants';\nimport { addMouseSupport } from './interactjs';\nimport { addKeyboardSupport } from './keyboard';\n\nconst DEFAULT_EDGES = { left: false, top: false, right: true, bottom: true };\n\nconst DEFAULT_OPTIONS = {\n\tedges: DEFAULT_EDGES,\n\tmouseSupport: true,\n\tkeyboardSupport: false,\n\tkeyboardOptions: {\n\t\t// rate at which the width or height changes on each key stroke\n\t\tkeyboardResizeDelta: KEYBOARD_RESIZE_DELTA,\n\t\t// selector for each side eg: {left: 'slider-left', right: 'slider-right', top: 'slider-top'}\n\t\thandles: {},\n\t\t// class that will be added when enter is pressed on handle\n\t\tactiveClass: ACTIVE_CLASS,\n\t},\n};\n\n/**\n * @param {HTMLElement} element\n * @param {*} options\n * @param {Coeffects<Props,State>} coeffects\n */\nconst addResizeSupport = (element, options, coeffects) => {\n\tif (options.mouseSupport) {\n\t\taddMouseSupport(element, options, coeffects);\n\t}\n\tif (options.keyboardSupport) {\n\t\taddKeyboardSupport(element, options, coeffects);\n\t}\n};\n/**\n * @param {Coeffects<Props,State>} coeffects\n */\nexport const initialize = (coeffects) => {\n\tconst { host, action } = coeffects;\n\tconst { options } = action.payload;\n\tconst { selector, actionPrefix, keyboardOptions } = options;\n\tconst config = { ...DEFAULT_OPTIONS, ...options };\n\tconfig.actionPrefix = actionPrefix ?? ACTION_PREFIX;\n\tif (keyboardOptions)\n\t\tconfig.keyboardOptions = {\n\t\t\t...DEFAULT_OPTIONS.keyboardOptions,\n\t\t\t...keyboardOptions,\n\t\t};\n\tif (!selector) return;\n\tconst elements = host.shadowRoot?.querySelectorAll(selector);\n\tif (!elements) return;\n\tfor (let index = 0; index < elements.length; index++) {\n\t\tconst element = elements[index];\n\t\t// If we already added the interaction no need to add it again\n\t\tif (!element.getAttribute(DATA_HAS_RESIZE_INTERACTION)) {\n\t\t\t// Add resize support without blocking the main thread\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\taddResizeSupport(element, config, coeffects);\n\t\t\t\t// flag to stop adding the interaction multiple times\n\t\t\t\telement.setAttribute(DATA_HAS_RESIZE_INTERACTION, 'true');\n\t\t\t});\n\t\t}\n\t}\n};\n\nexport default {\n\tname: 'now-resize',\n\tactionHandlers: {\n\t\t[actionTypes.COMPONENT_TREE_RENDERED]: initialize,\n\t},\n};\n","import nowResizeBehavior from './resizingBehavior';\nexport default nowResizeBehavior;\n","export const COLUMN_DRAG_HANDLE_CLASS = 'column-drag-handle';\n\nexport const NOW_LIST_COLUMN_REORDER_ACTION_PREFIX = 'NOW_LIST#COLUMN_REORDER#';\n\n/**\n * Actions dispatched from nowSortable\n */\nexport const NOW_LIST_COLUMN_REORDER_START = `${NOW_LIST_COLUMN_REORDER_ACTION_PREFIX}SORT_START`;\nexport const NOW_LIST_COLUMN_REORDER_END = `${NOW_LIST_COLUMN_REORDER_ACTION_PREFIX}SORT_END`;\nexport const NOW_LIST_COLUMN_REORDER_CANCELLED = `${NOW_LIST_COLUMN_REORDER_ACTION_PREFIX}SORT_CANCELLED`;\nexport const NOW_LIST_COLUMN_REORDER_DROP_AREA_CHANGED = `${NOW_LIST_COLUMN_REORDER_ACTION_PREFIX}DROP_AREA_CHANGE`;\n\nexport const NOW_LIST_COLUMNS_REORDERED = 'NOW_LIST#COLUMNS_REORDERED';\n\nexport const NOW_SORTABLE_UPDATE_BEHAVIOR = 'NOW_SORTABLE#UPDATE_BEHAVIOR';\n\nexport const COLUMN_ACTIVE_CLASS = 'column-active';\nexport const SOURCE_PLACEHOLDER_CLASS = 'column-source-placeholder';\nexport const DROP_AREA_DIVIDER_CLASS = 'column-drop-area-divider';\nexport const ACTIVE_DRAGGING_ITEM_CLASS = 'column-active-dragging-item';\n","export const ELLIPSIS_ICON = 'ellipsis-v-fill';\nexport const GROUP_TOGGLE_ICON = 'chevron-end-fill';\nexport const ROW_HIGHLIGHTED_CLASS = 'is-highlighted';\nexport const ROW_GRAYED_OUT_CLASS = 'is-grayed-out';\nexport const ROW_RECENT_UPDATED_CLASS = 'is-recently-updated';\nexport const DRAG_HANDLE_ICON = 'drag-dots-fill';\nexport const WHITESPACE_STRING_CLASS = 'preserve-whitespace';\n\n// indentation classes for first cell of each row\n// should be large for special columns when row drag is not present and padding is on,\n// should be small for data columns when padding is on\n// neither when padding is off\nexport const INCLUDE_LARGE_PADDING_CLASS = 'include-large-padding';\nexport const INCLUDE_SMALL_PADDING_CLASS = 'include-small-padding';\n\nexport const COL_SPAN_MAX = 100;\n","// @ts-ignore\nimport { dangerouslyCreateElementFromString } from '@servicenow/ui-renderer-snabbdom';\nimport camelCase from 'lodash/camelCase';\n\nimport { LIST_ICON_CACHE } from '../../../constants';\n\nconst ICON_SIZES = {\n\tsm: { pixelSize: 12, indexInSet: 0 },\n\tmd: { pixelSize: 16, indexInSet: 1 },\n\tlg: { pixelSize: 24, indexInSet: 2 },\n\txl: { pixelSize: 32, indexInSet: 3 },\n};\n\n// @ts-ignore\n/**\n * Async method to cache icons to localStorage.\n * @param {string} icon\n * @param {\"sm\" | \"md\" | \"lg\"} size\n */\nconst cacheIcon = async (icon, size) => {\n\tconst camelIconName = camelCase(icon);\n\t// @ts-ignore\n\tconst iconKey = `${camelIconName}${getIconPixelSize(size)}`;\n\t// @ts-ignore\n\tconst iconService = window?.__TECTONIC__$servicenow_now_icon;\n\tif (iconService) {\n\t\tconst data = await iconService.getIcon(iconKey);\n\t\tif (data) {\n\t\t\tconst cacheString = localStorage.getItem(LIST_ICON_CACHE) || '{}';\n\t\t\tconst parsedCache = JSON.parse(cacheString);\n\t\t\tparsedCache[iconKey] = data;\n\n\t\t\tlocalStorage.setItem(LIST_ICON_CACHE, JSON.stringify(parsedCache));\n\t\t\treturn data;\n\t\t}\n\t}\n\treturn null;\n};\n\n// @ts-ignore\n/**\n * Returns the HTML for the HTML icon alternative to now-icon\n * @param {string} icon\n * @param {\"sm\" | \"md\" | \"lg\"} size\n */\nexport const getFakeNowIcon = (icon, size) => {\n\tconst camelIconName = camelCase(icon);\n\tconst pixelSize = getIconPixelSize(size);\n\tconst iconKey = `${camelIconName}${pixelSize}`;\n\tconst iconCacheString = localStorage.getItem(LIST_ICON_CACHE) || '{}';\n\tconst iconCacheParsed = JSON.parse(iconCacheString);\n\tconst result = iconCacheParsed[iconKey];\n\tif (!result) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<div className=\"html-icon\" data-iconName={icon} data-iconSize={size}>\n\t\t\t<svg\n\t\t\t\tclass={{\n\t\t\t\t\t'now-icon': true,\n\t\t\t\t\t[`-${size}`]: size,\n\t\t\t\t}}\n\t\t\t\tkey={iconKey}\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tattr-viewBox={`0 0 ${ICON_SIZES[size].pixelSize} ${ICON_SIZES[size].pixelSize}`}\n\t\t\t>\n\t\t\t\t{result\n\t\t\t\t\t? dangerouslyCreateElementFromString(`<g>${result}</g>`)\n\t\t\t\t\t: null}\n\t\t\t</svg>\n\t\t</div>\n\t);\n};\n\n/**\n * Checks if a particular icon is in our list-icon-cache\n * @param {string} icon\n * @param {\"sm\" | \"md\" | \"lg\"} size\n */\nexport const iconIsCached = (icon, size) => {\n\tconst camelIconName = camelCase(icon);\n\tconst pixelSize = getIconPixelSize(size);\n\tconst iconKey = `${camelIconName}${pixelSize}`;\n\tconst iconCacheString = localStorage.getItem(LIST_ICON_CACHE) || '{}';\n\tconst iconCacheParsed = JSON.parse(iconCacheString);\n\tconst isCached = !!(iconCacheParsed && iconCacheParsed[iconKey]);\n\n\tif (isCached) return true;\n\n\tcacheIcon(icon, size);\n\treturn false;\n};\n\n/**\n * Returns the number of pixels for a given size\n * @param {\"sm\" | \"md\" | \"lg\"} size\n */\nexport const getIconPixelSize = (size) => {\n\t// @ts-ignore\n\tconst sizeObj = ICON_SIZES[size];\n\tif (!sizeObj) {\n\t\treturn undefined;\n\t}\n\tconst pixelSize = sizeObj['pixelSize'];\n\treturn pixelSize;\n};\n\n/**\n * Returns an object with the height and width in pixels for a given size to use\n * as the value for a style attribute.\n * @param {\"sm\" | \"md\" | \"lg\"} size\n */\nexport const getIconHeightWidth = (size) => {\n\tconst pixelSize = `${getIconPixelSize(size)}px`;\n\treturn { width: pixelSize, height: pixelSize };\n};\n","import { ICON_SIZES } from '../../../constants';\nimport { DRAG_HANDLE_ICON } from '../table/tableConstants';\nimport '@servicenow/now-button';\n\nimport { getFakeNowIcon, iconIsCached } from './fakeNowIcon';\n\n/**\n * @param {{className: string, ariaLabel?: string, ariaDescribedBy?: string, tooltip?: string}} props\n * @returns\n */\nexport const dragHandle = (props) => {\n\tconst { ariaLabel, className, ariaDescribedBy, tooltip } = props;\n\tconst { SMALL } = ICON_SIZES;\n\tconst testId = 'dragHandle';\n\n\treturn (\n\t\t<div className={className}>\n\t\t\t{iconIsCached(DRAG_HANDLE_ICON, SMALL) ? (\n\t\t\t\t<button\n\t\t\t\t\tclassName=\"drag-handle\"\n\t\t\t\t\taria-label={ariaLabel}\n\t\t\t\t\tdata-tooltip={tooltip}\n\t\t\t\t\taria-describedby={ariaDescribedBy}\n\t\t\t\t\tdata-testId={testId}\n\t\t\t\t>\n\t\t\t\t\t{getFakeNowIcon(DRAG_HANDLE_ICON, SMALL)}\n\t\t\t\t</button>\n\t\t\t) : (\n\t\t\t\t<now-button-iconic\n\t\t\t\t\ticon={DRAG_HANDLE_ICON}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tbare=\"true\"\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\thide-padding=\"true\"\n\t\t\t\t\tdata-tooltip={tooltip}\n\t\t\t\t\tdata-testId={testId}\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t'aria-label': ariaLabel,\n\t\t\t\t\t\t\trole: 'button',\n\t\t\t\t\t\t\t'aria-describedby': ariaDescribedBy,\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport '@servicenow/now-button';\n\nimport {\n\tACTIVE_DRAGGING_ITEM_CLASS,\n\tCOLUMN_DRAG_HANDLE_CLASS,\n} from '../../../../../behaviors/columnDragDropBehavior/constants';\nimport { dragHandle } from '../../../shared/dragHandle';\n\nimport styles from './columnHeaderClone.scss';\n\nexport const COLUMN_HEADER_CLONE_TAG_NAME = 'now-list-column-header-clone';\n\n/**\n * Element used to display the column header being dragged during\n * the column reordering.\n */\n/** @type {View<{label: string, width: number; height: number}, {}>} */\nexport const view = (props) => {\n\tconst {\n\t\tproperties: { label, width, height },\n\t} = props;\n\n\treturn (\n\t\t<th\n\t\t\tclassName={`${ACTIVE_DRAGGING_ITEM_CLASS} header-cell`}\n\t\t\tstyle={{ width, height }}\n\t\t>\n\t\t\t{dragHandle({ className: COLUMN_DRAG_HANDLE_CLASS })}\n\t\t\t{label}\n\t\t</th>\n\t);\n};\n\ncreateCustomElement('now-list-column-header-clone', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\tlabel: { default: '' },\n\t\twidth: { default: 0 },\n\t\theight: { default: 0 },\n\t},\n});\n","import { closestDeep, removeNode, querySelectorDeep } from '../../commons';\nimport { SCROLL_CONTAINER_CLASS } from '../../constants';\nimport columnSelectors from '../../shared/utils/selectors/columnSelectors';\nimport { COLUMN_HEADER_CLONE_TAG_NAME } from '../../shared/views/table/tableHeaders/tableHeaderCell/columnHeaderClone';\n\nimport { DROP_AREA_DIVIDER_CLASS } from './constants';\n/**\n * @type {HTMLDivElement} Drop Area Divider element\n */\nlet dropAreaDivider;\n\n/**\n * Creates the dropAreaDivider element with height of scrollContainer on drag start\n * @param {HTMLTableCellElement} srcEl element being dragged\n * @returns\n */\nexport const createDropAreaDivider = (srcEl) => {\n\tdropAreaDivider = document.createElement('div');\n\tdropAreaDivider.classList.add(DROP_AREA_DIVIDER_CLASS);\n\tconst scrollContainer = closestDeep(srcEl, `.${SCROLL_CONTAINER_CLASS}`);\n\tif (scrollContainer) {\n\t\tdropAreaDivider.style.height = `${scrollContainer.clientHeight}px`;\n\t}\n\n\treturn dropAreaDivider;\n};\n\n/**\n * Checks if given element is a special column\n * @param {ChildNode | null} colEl\n * @returns\n */\nconst isSpecialColumnElement = (colEl) =>\n\tcolEl instanceof HTMLElement &&\n\tcolEl.dataset.columnKey &&\n\tcolumnSelectors.isSpecialColumnKey(colEl.dataset.columnKey);\n\n/**\n * Checks if destination placeholder is in the non droppable positions like\n * 1. Between the special columns, eg. Row actions and Row selection\n * 2. Before the special columns at the beginning\n * 3. After the special columns at the end\n * @param {HTMLElement} destEl\n * @returns {Boolean}\n */\nexport const isInDroppableZone = (destEl) => {\n\tconst nextColumn = destEl.nextSibling;\n\tconst isNextSpecialColumn = isSpecialColumnElement(nextColumn);\n\n\tconst previousColumn = destEl.previousSibling;\n\tconst isPreviousSpecialColumn = isSpecialColumnElement(previousColumn);\n\n\tif (isNextSpecialColumn && isPreviousSpecialColumn) {\n\t\t/**\n\t\t * 1. Between the special columns\n\t\t * [X]#[X]\n\t\t */\n\t\treturn false;\n\t} else if (isNextSpecialColumn && previousColumn == null) {\n\t\t/**\n\t\t * 2. Before the special columns at the beginning\n\t\t * #[X]\n\t\t */\n\t\treturn false;\n\t} else if (isPreviousSpecialColumn && nextColumn == null) {\n\t\t/**\n\t\t * 3. After the special columns at the end\n\t\t * [X]#\n\t\t */\n\t\treturn false;\n\t}\n\t// Droppable by default\n\treturn true;\n};\n\n/**\n * Element representing the drop area divider, a placeholder line where column can be dropped\n * always stays inside the nearest column header.\n * @param {HTMLElement} destEl\n */\nexport const attachDropAreaDivider = (destEl) => {\n\t// remove existing dividers if any\n\tremoveDropAreaDivider();\n\n\tif (!isInDroppableZone(destEl)) {\n\t\treturn;\n\t}\n\n\t/**\n\t * Header cells / Columns\n\t * [X][__][__][__][__][X]\n\t * '#' = Destination Placeholder\n\t * '|' = Divider\n\t * 'X' = Special Columns\n\t */\n\tif (destEl.nextSibling) {\n\t\t/**\n\t\t * Placeholder before the columns\n\t\t *  [X][__]#[__][__][__][X]\n\t\t *  #[__][__][__][__][X]\n\t\t *  [__][__][__][__]#[X]\n\t\t * place divider at the beginning of the next column\n\t\t *  [X][__]#[|__][__][__][X]\n\t\t *  #[|__][__][__][__][X]\n\t\t *  [__][__][__][__][|X]\n\t\t */\n\t\tdestEl.nextSibling.insertBefore(\n\t\t\tdropAreaDivider,\n\t\t\tdestEl.nextSibling.firstChild\n\t\t);\n\t} else if (destEl.previousSibling && destEl.parentElement) {\n\t\t/**\n\t\t * Placeholder at the end (no special type column)\n\t\t *  [X][__][__][__][__]#\n\t\t *  [__][__][__][__]#\n\t\t * append at the end of the header row\n\t\t *  [X][__][__][__][__]|#\n\t\t *  [__][__][__][__]|#\n\t\t */\n\t\tdestEl.parentElement.insertBefore(dropAreaDivider, destEl);\n\t}\n};\n\n/**\n * Removes any drop area divider if attached to the table\n */\nexport const removeDropAreaDivider = () => {\n\tif (dropAreaDivider) {\n\t\tremoveNode(dropAreaDivider);\n\t}\n};\n\n/**\n * While drag & drop using the keyboard, adjusts the position of dragging item\n * to be in between (about to drop) the columns where divider is shown.\n * i.e centers the headerClone above the dropAreaDivider.\n */\nexport const adjustClonePosition = () => {\n\tif (!dropAreaDivider) {\n\t\treturn;\n\t}\n\n\tconst dividerRect = dropAreaDivider.getBoundingClientRect();\n\t// check if divider visible in the DOM\n\tif (dividerRect.width === 0) {\n\t\treturn;\n\t}\n\n\tconst headerClone = querySelectorDeep(COLUMN_HEADER_CLONE_TAG_NAME);\n\tif (!headerClone) {\n\t\treturn;\n\t}\n\n\t/**\n\t * The headerClone's first half should be on left side and\n\t * second half on the right side of the divider.\n\t * [HEADER-|DIVIDER|-CLONE]\n\t */\n\theaderClone.style.left = `${\n\t\tdividerRect.left - headerClone.clientWidth / 2\n\t}px`;\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport cloneDeep from 'lodash/cloneDeep';\nimport get from 'lodash/get';\nimport set from 'lodash/set';\nimport { t } from 'sn-translate';\n\nimport columnSelectors from '../../shared/utils/selectors/columnSelectors';\nimport { getColumnInfo } from '../columnBehavior/columnBehavior';\nimport { setBehaviorState } from '../keyboardNavBehavior/keyboardNavHelpers';\n\nimport {\n\tremoveDropAreaDivider,\n\tcreateDropAreaDivider,\n} from './columnDragDropUtils';\nimport { NOW_LIST_COLUMNS_REORDERED } from './constants';\n\n/* STRING CONSTANTS */\nconst COLUMN_DEFINITIONS_PATH = 'processedColumnDefinitions';\nconst COLUMNS_PATH = 'columns';\n\nconst columnsDataPath = [\n\tCOLUMN_DEFINITIONS_PATH,\n\tCOLUMN_DEFINITIONS_PATH,\n\tCOLUMNS_PATH,\n];\n\nconst ARIA_LIVE_REGION_TYPE = 'assertive';\n/**\n * Updates aria-live region with given message\n * @param {Now.Dispatch} dispatch\n * @param {string} message message to be announced by the live region\n * @param {string} type message type, could be assertive, polite, etc.\n */\nexport function updateAriaLiveRegion(\n\tdispatch,\n\tmessage,\n\ttype = ARIA_LIVE_REGION_TYPE\n) {\n\tdispatch(actionTypes.ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\tmessage,\n\t\ttype,\n\t});\n}\n\n/**\n *\n * @param {Now.SeismicState<Props, State>} state\n * @returns list of columns\n */\nconst getClonedColumns = (state) => cloneDeep(get(state, columnsDataPath, []));\n\n/**\n *\n * @param {Now.SeismicState<Props, State>} state\n * @returns processed column definitions\n */\nconst getClonedColumnDefs = (state) =>\n\tcloneDeep(get(state, COLUMN_DEFINITIONS_PATH));\n\n/**\n * set active flag on the column and it's children if any\n * @param {ProcessedColumn} column\n */\nexport const setColumnActive = (column) => {\n\tset(column, '_active', true);\n\tcolumnSelectors.getChildren(column).forEach(setColumnActive);\n};\n\n/**\n * resets active flag for each column\n * @param {ProcessedColumn[]} columns\n */\nexport const resetActiveColumns = (columns) => {\n\tcolumns.forEach((column) => {\n\t\tcolumn._active = false;\n\t\tresetActiveColumns(columnSelectors.getChildren(column));\n\t});\n};\n\n/**\n * Selects the droppable column keys filtering the special columns\n * @param {ProcessedColumn[]} columns\n * @returns column keys without special type columns\n */\nexport const getValidColumnKeys = (columns = []) =>\n\tcolumns\n\t\t.map(columnSelectors.getColumnKey)\n\t\t.filter((col) => !columnSelectors.isSpecialColumnKey(col));\n\n/**\n * Updates new columns to the given processed columnDefinitions\n * @param {ProcessedColumnDefinitions} colDefs\n * @param {ProcessedColumn[]} columns\n */\nconst updateColumns = (colDefs, columns) => {\n\tset(colDefs, [COLUMN_DEFINITIONS_PATH, COLUMNS_PATH], columns);\n};\n\n/**\n * Resets the column active flag\n * Set _active to false in all the columns\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const resetActiveColumnsEffect = (coeffects) => {\n\tconst { updateState, state } = coeffects;\n\n\tconst clonedColumnDefs = getClonedColumnDefs(state);\n\tconst clonedColumns = getClonedColumns(state);\n\tresetActiveColumns(clonedColumns);\n\tupdateColumns(clonedColumnDefs, clonedColumns);\n\n\tupdateState({\n\t\tpath: COLUMN_DEFINITIONS_PATH,\n\t\tvalue: clonedColumnDefs,\n\t\toperation: 'set',\n\t});\n};\n\n/**\n * Gives the readable position of column for Screen readers\n * Eg: column with index 0, should have position 1\n * @param {number} index position of the column in the DOM\n * @param {Now.SeismicState<Props, State>} state component state\n * @returns\n */\nexport const getColumnReadablePosition = (index, state) => {\n\tconst offsetPosition = columnSelectors.getDataColumnsOffsetPosition(\n\t\tgetClonedColumnDefs(state)\n\t);\n\treturn index - offsetPosition + 1;\n};\n\n/**\n * Gives total number columns on the top/root level\n * @param {ColumnDefinitions} colDefs\n * @returns\n */\nexport const getTotalTopLevelColumns = (colDefs) => {\n\tconst columns = columnSelectors.getColumns(colDefs);\n\treturn columns.length;\n};\n\n/**\n * On column drop, prepares the new order of columns and dispatches the\n * action {@link NOW_LIST_COLUMNS_REORDERED}\n * Resets the active columns\n * @param {Now.Coeffects<Props, State>} coeffects\n * @returns\n */\nexport const columnDropEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { sourceIndex, destinationIndex: domDestinationIndex },\n\t\t},\n\t\tstate,\n\t\tdispatch,\n\t\tupdateState,\n\t\tproperties,\n\t} = coeffects;\n\tremoveDropAreaDivider();\n\n\t/**\n\t * In ascending direction (sourceIndex < destinationIndex)\n\t * index includes the source column\n\t */\n\tconst destinationIndex =\n\t\tdomDestinationIndex - (sourceIndex < domDestinationIndex ? 1 : 0);\n\n\t/**\n\t * Omit if source column is same as destination column\n\t */\n\tif (sourceIndex === destinationIndex) {\n\t\tresetActiveColumnsEffect(coeffects);\n\t\treturn;\n\t}\n\n\tconst clonedColumns = getClonedColumns(state);\n\tconst isSpecialColumn = columnSelectors.isSpecialColumn(\n\t\tclonedColumns[destinationIndex]\n\t);\n\n\t/**\n\t * Omit if destination is of special type column\n\t */\n\tif (isSpecialColumn) {\n\t\tresetActiveColumnsEffect(coeffects);\n\t\treturn;\n\t}\n\n\t/**\n\t * @type {string[]} list of columnKeys before re-order\n\t */\n\tconst oldColumns = getValidColumnKeys(clonedColumns);\n\n\t// Position columns based on source and destination indices\n\tconst sourceColumn = clonedColumns[sourceIndex];\n\tclonedColumns.splice(\n\t\tdestinationIndex,\n\t\t0,\n\t\tclonedColumns.splice(sourceIndex, 1)[0]\n\t);\n\n\t/**\n\t * @type {string[]} list of columnKeys after re-order\n\t */\n\tconst newColumns = getValidColumnKeys(clonedColumns);\n\n\t/**\n\t * @type {string[]} list of columnKeys re-ordererd\n\t */\n\tconst reorderedColumns = [columnSelectors.getColumnKey(sourceColumn)];\n\n\tconst clonedColumnDefs = getClonedColumnDefs(state);\n\tresetActiveColumns(clonedColumns);\n\tupdateColumns(clonedColumnDefs, clonedColumns);\n\n\t// reconstruct columnInfo based on the new column order\n\tconst updatedColumnInfo = getColumnInfo(clonedColumns);\n\n\tupdateState({\n\t\tpath: COLUMN_DEFINITIONS_PATH,\n\t\tvalue: {\n\t\t\t...clonedColumnDefs,\n\t\t\t...updatedColumnInfo,\n\t\t},\n\t\toperation: 'set',\n\t});\n\n\tsetBehaviorState(updateState, {\n\t\tisRendered: false,\n\t\tcellToFocus: {\n\t\t\trowIndex: 0, // always for the top level header row\n\t\t\tcolumnKey: columnSelectors.getColumnKey(sourceColumn),\n\t\t\tenterCellTrap: true, // on drop, focus on the grab icon\n\t\t},\n\t});\n\n\tdispatch(NOW_LIST_COLUMNS_REORDERED, {\n\t\toldColumns,\n\t\tnewColumns,\n\t\treorderedColumns,\n\t});\n\n\tconst message = t(\n\t\t'Column {0} dropped. Final position {1} of {2}.',\n\t\tcolumnSelectors.getColumnLabel(sourceColumn),\n\t\tgetColumnReadablePosition(destinationIndex, state),\n\t\tgetTotalTopLevelColumns(properties.columnDefinitions)\n\t);\n\tupdateAriaLiveRegion(dispatch, message);\n};\n\n/**\n * On column drag start, updates the active column\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const columnDragStartEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { element, sourceIndex },\n\t\t},\n\t\tupdateState,\n\t\tstate,\n\t\tdispatch,\n\t\tproperties,\n\t} = coeffects;\n\n\tcreateDropAreaDivider(element);\n\n\tconst columnKey = element.dataset.columnKey;\n\n\tconst clonedColumnDefs = getClonedColumnDefs(state);\n\tconst column = columnSelectors.getColumnFromProcessedCols(\n\t\tclonedColumnDefs,\n\t\tcolumnKey\n\t);\n\n\t// marking target column as selected\n\tsetColumnActive(column);\n\n\tupdateState({\n\t\tpath: COLUMN_DEFINITIONS_PATH,\n\t\tvalue: clonedColumnDefs,\n\t\toperation: 'set',\n\t});\n\n\tconst message = t(\n\t\t'Column {0} grabbed. Current position {1} of {2}. Press left and right to change the position of the column, enter to drop, and escape to cancel.',\n\t\tcolumnSelectors.getColumnLabel(column),\n\t\tgetColumnReadablePosition(sourceIndex, state),\n\t\tgetTotalTopLevelColumns(properties.columnDefinitions)\n\t);\n\tupdateAriaLiveRegion(dispatch, message);\n};\n\n/**\n * On drag cancel, resets the active column\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const columnDropCancelledEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { element, sourceIndex },\n\t\t},\n\t\tstate,\n\t\tdispatch,\n\t\tproperties,\n\t\tupdateState,\n\t} = coeffects;\n\tremoveDropAreaDivider();\n\tresetActiveColumnsEffect(coeffects);\n\n\tconst columnKey = element.dataset.columnKey;\n\n\tconst clonedColumnDefs = getClonedColumnDefs(state);\n\tconst column = columnSelectors.getColumnFromProcessedCols(\n\t\tclonedColumnDefs,\n\t\tcolumnKey\n\t);\n\n\tsetBehaviorState(updateState, {\n\t\tisRendered: false,\n\t\tcellToFocus: {\n\t\t\trowIndex: 0, // always for the top level header row\n\t\t\tcolumnKey: columnSelectors.getColumnKey(column),\n\t\t\tenterCellTrap: true, // on drop, focus on the grab icon\n\t\t},\n\t});\n\n\tconst message = t(\n\t\t'Drag and drop cancelled. Column {0} in position {1} of {2}.',\n\t\tcolumnSelectors.getColumnLabel(column),\n\t\tgetColumnReadablePosition(sourceIndex, state),\n\t\tgetTotalTopLevelColumns(properties.columnDefinitions)\n\t);\n\tupdateAriaLiveRegion(dispatch, message);\n};\n\n/**\n * @param {Now.Coeffects<Props,State>} coeffects\n */\nexport const columnDropAreaChangeEffect = ({\n\taction,\n\tstate,\n\tproperties,\n\tdispatch,\n}) => {\n\tconst {\n\t\tpayload: { newPosition },\n\t} = action;\n\t/**\n\t * Don't announce if in case trying to drop on special columns or beyond the table\n\t * Valid positions always start with 1 and ends with data columns length + 1\n\t */\n\tconst columnPosition = getColumnReadablePosition(newPosition, state);\n\tif (columnPosition < 1) return;\n\tconst maxPosition =\n\t\tgetTotalTopLevelColumns(properties.columnDefinitions) + 1;\n\tif (columnPosition > maxPosition) return;\n\n\tconst message = t('Position {0}', columnPosition);\n\tupdateAriaLiveRegion(dispatch, message);\n};\n","import { querySelectorDeep, seismicClone } from '../../commons';\nimport { SCROLL_CONTAINER_CLASS } from '../../constants';\nimport { COLUMN_HEADER_CLONE_TAG_NAME } from '../../shared/views/table/tableHeaders/tableHeaderCell/columnHeaderClone';\nimport { KEY } from '../keyboardNavBehavior/constants';\n\nimport {\n\tadjustClonePosition,\n\tattachDropAreaDivider,\n} from './columnDragDropUtils';\nimport {\n\tACTIVE_DRAGGING_ITEM_CLASS,\n\tCOLUMN_DRAG_HANDLE_CLASS,\n\tCOLUMN_ACTIVE_CLASS,\n\tNOW_LIST_COLUMN_REORDER_ACTION_PREFIX,\n\tSOURCE_PLACEHOLDER_CLASS,\n} from './constants';\n\nexport const DRAGGABLE_ITEMS = 'th.header-cell';\nexport const DROPZONE = 'table.now-list-table > thead > tr';\n\n/**\n * An element markup to indicate the source placeholder.\n *\n * nowSortable hides the source element (header cell) by default.\n * But we need the header cell to be visible, so cloning the original header cell and\n * using it as a source placeholder which will replace the source header cell visually.\n * @param {HTMLTableCellElement} srcEl source header cell\n * @returns\n */\nexport const customSourcePlaceholder = (srcEl) => {\n\tconst th = seismicClone(srcEl);\n\t// @ts-ignore No classList property on Node\n\tth.classList.add(COLUMN_ACTIVE_CLASS, SOURCE_PLACEHOLDER_CLASS);\n\treturn th;\n};\n\n/**\n * An element markup to indicate an area where the item can be dropped\n * @returns {HTMLTableCellElement} th - Header cell element indicates an area where the item can be dropped\n */\nexport const customDestPlaceholder = () => {\n\tconst th = document.createElement('th');\n\t/**\n\t * Hide this by default, otherwise it acts as another column; distoring the table view\n\t * with empty space in between.\n\t */\n\tth.style.display = 'none';\n\n\t/**\n\t * Stores the original method as a backup to use it in the override\n\t */\n\tconst getBoundingClientRectActual = th.getBoundingClientRect;\n\t/**\n\t * getBoundingClientRect method is used the by nowSortable to calculate the destination position.\n\t * It doesn't work for the element (destPlaceholder) which is hidden in our <table> use case.\n\t * So overriding it to calculate the real position and hide the destPlaceholder again.\n\t *\n\t * FIXME: Remove this if we found a better solution since this is a hack to get the default keyboard support from the nowSortable.\n\t */\n\tth.getBoundingClientRect = () => {\n\t\t// Make it visible\n\t\tth.style.display = 'block';\n\n\t\t// Calculate actual positions\n\t\tconst rect = getBoundingClientRectActual.call(th);\n\n\t\t// Hide it again\n\t\tth.style.display = 'none';\n\n\t\treturn rect;\n\t};\n\n\treturn th;\n};\n\n/**\n * Representational markup for the header cell being dragged\n * @param {HTMLTableCellElement} srcEl Source Header cell\n * @returns {HTMLElement}\n */\nexport const headerClone = (srcEl) => {\n\tconst el = document.createElement(COLUMN_HEADER_CLONE_TAG_NAME);\n\tel.classList.add(ACTIVE_DRAGGING_ITEM_CLASS, 'header-cell');\n\tconst headerLabel = querySelectorDeep('.header-cell-text', srcEl).innerText;\n\tel.setAttribute('label', headerLabel);\n\tel.setAttribute('width', `${srcEl.offsetWidth}px`);\n\n\t// @ts-ignore\n\tconst headerContentEl = querySelectorDeep('.header-cell-content', srcEl);\n\tconst headerHeight = headerContentEl?.offsetHeight || 0;\n\tel.setAttribute('height', `${headerHeight}px`);\n\treturn el;\n};\n\nconst sortableRef = {\n\tcurrent: {\n\t\tisKeyboardActive: false,\n\t},\n};\n\n/**\n * Callback fired on inserting the destination placeholder\n * @param {HTMLElement} targetElement\n * @param {HTMLElement} srcPlaceholder\n * @param {HTMLElement} destPlaceholder\n */\nconst onDestPlaceholderInsert = (\n\ttargetElement,\n\tsrcPlaceholder,\n\tdestPlaceholder\n) => {\n\tattachDropAreaDivider(destPlaceholder);\n\t// Only for keyboard drag drop\n\tif (sortableRef.current.isKeyboardActive) {\n\t\tadjustClonePosition();\n\t}\n};\n\n/**\n * Initializes InteractJs adaptor based on this this condition.\n * We're checking the property columnDragDropEnabled\n * @param {Now.HostHTMLElement} host now-list component\n * @returns\n */\nconst isDragEnabled = (host) => {\n\tconst { columnDragDropEnabled } = host.getProperties();\n\treturn columnDragDropEnabled;\n};\n\n/**\n * Filters the items (Header cells) that can be draggable\n * using the data attribute\n * @param {*} item\n * @returns\n */\nconst filterDraggableHeaderCells = (item) => {\n\treturn item.dataset.draggable === 'true';\n};\n\nconst SCROLL_CONTAINER = `.${SCROLL_CONTAINER_CLASS}`;\n\nconst keyboardCustomTriggers = {\n\t/**\n\t * [Space] click on the focussed drag handle tirggers the drag start\n\t * @param {KeyboardEvent} event\n\t * @returns\n\t */\n\tstart: (event) => {\n\t\tconst trigger = event.key === KEY.SPACE;\n\t\tif (trigger) {\n\t\t\tsortableRef.current.isKeyboardActive = true;\n\t\t}\n\t\treturn trigger;\n\t},\n\t/**\n\t * [Enter] click ends the dragging\n\t * @param {KeyboardEvent} event\n\t * @returns\n\t */\n\tend: (event) => {\n\t\tconst trigger = event.key === KEY.ENTER;\n\t\tif (trigger) {\n\t\t\tsortableRef.current.isKeyboardActive = false;\n\t\t}\n\t\treturn trigger;\n\t},\n};\n\nexport default {\n\thandle: `.${COLUMN_DRAG_HANDLE_CLASS}`,\n\tallowFrom: `.${COLUMN_DRAG_HANDLE_CLASS}`,\n\titems: DRAGGABLE_ITEMS,\n\tdropzone: DROPZONE,\n\tactionPrefix: NOW_LIST_COLUMN_REORDER_ACTION_PREFIX,\n\txScrollParent: SCROLL_CONTAINER,\n\tyScrollParent: SCROLL_CONTAINER,\n\tcloneAppendTo: 'body',\n\tlistOrder: 'horizontal',\n\trestrictTo: SCROLL_CONTAINER,\n\ttransitions: true,\n\tdragSupport: true,\n\tlockAxis: 'x',\n\titemsFilter: filterDraggableHeaderCells,\n\tcustomSourcePlaceholder,\n\tcustomDestPlaceholder,\n\tclone: headerClone,\n\tcondition: isDragEnabled,\n\tcursorChecker: () => '',\n\tonDestPlaceholderInsert,\n\tkeyboardSupport: true,\n\tkeyboardTriggers: keyboardCustomTriggers,\n};\n","import { actionTypes } from '@servicenow/ui-core';\n\nimport { nowSortable } from '../../commons';\n\nimport {\n\tcolumnDragStartEffect,\n\tcolumnDropAreaChangeEffect,\n\tcolumnDropCancelledEffect,\n\tcolumnDropEffect,\n} from './columnDragDropEffects';\nimport {\n\tNOW_LIST_COLUMN_REORDER_CANCELLED,\n\tNOW_LIST_COLUMN_REORDER_END,\n\tNOW_LIST_COLUMN_REORDER_START,\n\tNOW_LIST_COLUMN_REORDER_DROP_AREA_CHANGED,\n\tNOW_SORTABLE_UPDATE_BEHAVIOR,\n} from './constants';\nimport nowSortableOptions from './nowSortableOptions';\n\n/**\n * Re-initalizes the interactJs adaptor of nowSortable on {@link actionTypes.COMPONENT_DOM_TREE_READY},\n * to make sure DOM content is ready\n * @param {Now.Coeffects<Props>} coeffects\n */\nexport const refreshSortableHandler = ({ dispatch }) => {\n\tdispatch(NOW_SORTABLE_UPDATE_BEHAVIOR);\n};\n\nconst columnDragDropBehavior = {\n\tname: 'columnDragDropBehavior',\n\tactionHandlers: {\n\t\t...nowSortable.actionHandlers,\n\t\t[NOW_LIST_COLUMN_REORDER_START]: {\n\t\t\teffect: columnDragStartEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_LIST_COLUMN_REORDER_CANCELLED]: {\n\t\t\teffect: columnDropCancelledEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_LIST_COLUMN_REORDER_END]: {\n\t\t\teffect: columnDropEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_LIST_COLUMN_REORDER_DROP_AREA_CHANGED]: {\n\t\t\teffect: columnDropAreaChangeEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[actionTypes.COMPONENT_TREE_RENDERED]: refreshSortableHandler,\n\t},\n};\n\nexport default {\n\tbehavior: columnDragDropBehavior,\n\toptions: nowSortableOptions,\n};\n","function _typeof(o) {\n  \"@babel/helpers - typeof\";\n\n  return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n    return typeof o;\n  } : function (o) {\n    return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n  }, _typeof(o);\n}\nexport { _typeof as default };","export default function requiredArgs(required, args) {\n  if (args.length < required) {\n    throw new TypeError(required + ' argument' + (required > 1 ? 's' : '') + ' required, but only ' + args.length + ' present');\n  }\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @param {Date|Number} argument - the value to convert\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport default function toDate(argument) {\n  requiredArgs(1, arguments);\n  var argStr = Object.prototype.toString.call(argument);\n\n  // Clone the date\n  if (argument instanceof Date || _typeof(argument) === 'object' && argStr === '[object Date]') {\n    // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n    return new Date(argument.getTime());\n  } else if (typeof argument === 'number' || argStr === '[object Number]') {\n    return new Date(argument);\n  } else {\n    if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') {\n      // eslint-disable-next-line no-console\n      console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments\");\n      // eslint-disable-next-line no-console\n      console.warn(new Error().stack);\n    }\n    return new Date(NaN);\n  }\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getTime\n * @category Timestamp Helpers\n * @summary Get the milliseconds timestamp of the given date.\n *\n * @description\n * Get the milliseconds timestamp of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the timestamp\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Get the timestamp of 29 February 2012 11:45:05.123:\n * const result = getTime(new Date(2012, 1, 29, 11, 45, 5, 123))\n * //=> 1330515905123\n */\nexport default function getTime(dirtyDate) {\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  var timestamp = date.getTime();\n  return timestamp;\n}","import getTime from \"../getTime/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getUnixTime\n * @category Timestamp Helpers\n * @summary Get the seconds timestamp of the given date.\n *\n * @description\n * Get the seconds timestamp of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the timestamp\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Get the timestamp of 29 February 2012 11:45:05 CET:\n * const result = getUnixTime(new Date(2012, 1, 29, 11, 45, 5))\n * //=> 1330512305\n */\nexport default function getUnixTime(dirtyDate) {\n  requiredArgs(1, arguments);\n  return Math.floor(getTime(dirtyDate) / 1000);\n}","/**\r\n * Returns the [year, month, day, hour, minute, seconds] tokens of the provided\r\n * `date` as it will be rendered in the `timeZone`.\r\n */\r\nexport default function tzTokenizeDate(date, timeZone) {\r\n  var dtf = getDateTimeFormat(timeZone)\r\n  return dtf.formatToParts ? partsOffset(dtf, date) : hackyOffset(dtf, date)\r\n}\r\n\r\nvar typeToPos = {\r\n  year: 0,\r\n  month: 1,\r\n  day: 2,\r\n  hour: 3,\r\n  minute: 4,\r\n  second: 5,\r\n}\r\n\r\nfunction partsOffset(dtf, date) {\r\n  try {\r\n    var formatted = dtf.formatToParts(date)\r\n    var filled = []\r\n    for (var i = 0; i < formatted.length; i++) {\r\n      var pos = typeToPos[formatted[i].type]\r\n\r\n      if (pos >= 0) {\r\n        filled[pos] = parseInt(formatted[i].value, 10)\r\n      }\r\n    }\r\n    return filled\r\n  } catch (error) {\r\n    if (error instanceof RangeError) {\r\n      return [NaN]\r\n    }\r\n    throw error\r\n  }\r\n}\r\n\r\nfunction hackyOffset(dtf, date) {\r\n  var formatted = dtf.format(date)\r\n  var parsed = /(\\d+)\\/(\\d+)\\/(\\d+),? (\\d+):(\\d+):(\\d+)/.exec(formatted)\r\n  // var [, fMonth, fDay, fYear, fHour, fMinute, fSecond] = parsed\r\n  // return [fYear, fMonth, fDay, fHour, fMinute, fSecond]\r\n  return [parsed[3], parsed[1], parsed[2], parsed[4], parsed[5], parsed[6]]\r\n}\r\n\r\n// Get a cached Intl.DateTimeFormat instance for the IANA `timeZone`. This can be used\r\n// to get deterministic local date/time output according to the `en-US` locale which\r\n// can be used to extract local time parts as necessary.\r\nvar dtfCache = {}\r\nfunction getDateTimeFormat(timeZone) {\r\n  if (!dtfCache[timeZone]) {\r\n    // New browsers use `hourCycle`, IE and Chrome <73 does not support it and uses `hour12`\r\n    var testDateFormatted = new Intl.DateTimeFormat('en-US', {\r\n      hourCycle: 'h23',\r\n      timeZone: 'America/New_York',\r\n      year: 'numeric',\r\n      month: '2-digit',\r\n      day: '2-digit',\r\n      hour: '2-digit',\r\n      minute: '2-digit',\r\n      second: '2-digit',\r\n    }).format(new Date('2014-06-25T04:00:00.123Z'))\r\n    var hourCycleSupported =\r\n      testDateFormatted === '06/25/2014, 00:00:00' ||\r\n      testDateFormatted === '‎06‎/‎25‎/‎2014‎ ‎00‎:‎00‎:‎00'\r\n\r\n    dtfCache[timeZone] = hourCycleSupported\r\n      ? new Intl.DateTimeFormat('en-US', {\r\n          hourCycle: 'h23',\r\n          timeZone: timeZone,\r\n          year: 'numeric',\r\n          month: 'numeric',\r\n          day: '2-digit',\r\n          hour: '2-digit',\r\n          minute: '2-digit',\r\n          second: '2-digit',\r\n        })\r\n      : new Intl.DateTimeFormat('en-US', {\r\n          hour12: false,\r\n          timeZone: timeZone,\r\n          year: 'numeric',\r\n          month: 'numeric',\r\n          day: '2-digit',\r\n          hour: '2-digit',\r\n          minute: '2-digit',\r\n          second: '2-digit',\r\n        })\r\n  }\r\n  return dtfCache[timeZone]\r\n}\r\n","/**\n * Use instead of `new Date(Date.UTC(...))` to support years below 100 which doesn't work\n * otherwise due to the nature of the\n * [`Date` constructor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#interpretation_of_two-digit_years.\n *\n * For `Date.UTC(...)`, use `newDateUTC(...).getTime()`.\n */\nexport default function newDateUTC(fullYear, month, day, hour, minute, second, millisecond) {\n  var utcDate = new Date(0)\n  utcDate.setUTCFullYear(fullYear, month, day)\n  utcDate.setUTCHours(hour, minute, second, millisecond)\n  return utcDate\n}\n","import tzTokenizeDate from '../tzTokenizeDate/index.js'\r\nimport newDateUTC from '../newDateUTC/index.js'\r\n\r\nvar MILLISECONDS_IN_HOUR = 3600000\r\nvar MILLISECONDS_IN_MINUTE = 60000\r\n\r\nvar patterns = {\r\n  timezone: /([Z+-].*)$/,\r\n  timezoneZ: /^(Z)$/,\r\n  timezoneHH: /^([+-]\\d{2})$/,\r\n  timezoneHHMM: /^([+-])(\\d{2}):?(\\d{2})$/,\r\n}\r\n\r\n// Parse various time zone offset formats to an offset in milliseconds\r\nexport default function tzParseTimezone(timezoneString, date, isUtcDate) {\r\n  var token\r\n  var absoluteOffset\r\n\r\n  // Empty string\r\n  if (!timezoneString) {\r\n    return 0\r\n  }\r\n\r\n  // Z\r\n  token = patterns.timezoneZ.exec(timezoneString)\r\n  if (token) {\r\n    return 0\r\n  }\r\n\r\n  var hours\r\n\r\n  // ±hh\r\n  token = patterns.timezoneHH.exec(timezoneString)\r\n  if (token) {\r\n    hours = parseInt(token[1], 10)\r\n\r\n    if (!validateTimezone(hours)) {\r\n      return NaN\r\n    }\r\n\r\n    return -(hours * MILLISECONDS_IN_HOUR)\r\n  }\r\n\r\n  // ±hh:mm or ±hhmm\r\n  token = patterns.timezoneHHMM.exec(timezoneString)\r\n  if (token) {\r\n    hours = parseInt(token[2], 10)\r\n    var minutes = parseInt(token[3], 10)\r\n\r\n    if (!validateTimezone(hours, minutes)) {\r\n      return NaN\r\n    }\r\n\r\n    absoluteOffset = Math.abs(hours) * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE\r\n    return token[1] === '+' ? -absoluteOffset : absoluteOffset\r\n  }\r\n\r\n  // IANA time zone\r\n  if (isValidTimezoneIANAString(timezoneString)) {\r\n    date = new Date(date || Date.now())\r\n    var utcDate = isUtcDate ? date : toUtcDate(date)\r\n\r\n    var offset = calcOffset(utcDate, timezoneString)\r\n\r\n    var fixedOffset = isUtcDate ? offset : fixOffset(date, offset, timezoneString)\r\n\r\n    return -fixedOffset\r\n  }\r\n\r\n  return NaN\r\n}\r\n\r\nfunction toUtcDate(date) {\r\n  return newDateUTC(\r\n    date.getFullYear(),\r\n    date.getMonth(),\r\n    date.getDate(),\r\n    date.getHours(),\r\n    date.getMinutes(),\r\n    date.getSeconds(),\r\n    date.getMilliseconds()\r\n  )\r\n}\r\n\r\nfunction calcOffset(date, timezoneString) {\r\n  var tokens = tzTokenizeDate(date, timezoneString)\r\n\r\n  // ms dropped because it's not provided by tzTokenizeDate\r\n  var asUTC = newDateUTC(\r\n    tokens[0],\r\n    tokens[1] - 1,\r\n    tokens[2],\r\n    tokens[3] % 24,\r\n    tokens[4],\r\n    tokens[5],\r\n    0\r\n  ).getTime()\r\n\r\n  var asTS = date.getTime()\r\n  var over = asTS % 1000\r\n  asTS -= over >= 0 ? over : 1000 + over\r\n  return asUTC - asTS\r\n}\r\n\r\nfunction fixOffset(date, offset, timezoneString) {\r\n  var localTS = date.getTime()\r\n\r\n  // Our UTC time is just a guess because our offset is just a guess\r\n  var utcGuess = localTS - offset\r\n\r\n  // Test whether the zone matches the offset for this ts\r\n  var o2 = calcOffset(new Date(utcGuess), timezoneString)\r\n\r\n  // If so, offset didn't change, and we're done\r\n  if (offset === o2) {\r\n    return offset\r\n  }\r\n\r\n  // If not, change the ts by the difference in the offset\r\n  utcGuess -= o2 - offset\r\n\r\n  // If that gives us the local time we want, we're done\r\n  var o3 = calcOffset(new Date(utcGuess), timezoneString)\r\n  if (o2 === o3) {\r\n    return o2\r\n  }\r\n\r\n  // If it's different, we're in a hole time. The offset has changed, but we don't adjust the time\r\n  return Math.max(o2, o3)\r\n}\r\n\r\nfunction validateTimezone(hours, minutes) {\r\n  return -23 <= hours && hours <= 23 && (minutes == null || (0 <= minutes && minutes <= 59))\r\n}\r\n\r\nvar validIANATimezoneCache = {}\r\nfunction isValidTimezoneIANAString(timeZoneString) {\r\n  if (validIANATimezoneCache[timeZoneString]) return true\r\n  try {\r\n    new Intl.DateTimeFormat(undefined, { timeZone: timeZoneString })\r\n    validIANATimezoneCache[timeZoneString] = true\r\n    return true\r\n  } catch (error) {\r\n    return false\r\n  }\r\n}\r\n","/** Regex to identify the presence of a time zone specifier in a date string */\nvar tzPattern = /(Z|[+-]\\d{2}(?::?\\d{2})?| UTC| [a-zA-Z]+\\/[a-zA-Z_]+(?:\\/[a-zA-Z_]+)?)$/\n\nexport default tzPattern\n","import toInteger from 'date-fns/_lib/toInteger/index.js'\nimport getTimezoneOffsetInMilliseconds from 'date-fns/_lib/getTimezoneOffsetInMilliseconds/index.js'\nimport tzParseTimezone from '../_lib/tzParseTimezone/index.js'\nimport tzPattern from '../_lib/tzPattern/index.js'\n\nvar MILLISECONDS_IN_HOUR = 3600000\nvar MILLISECONDS_IN_MINUTE = 60000\nvar DEFAULT_ADDITIONAL_DIGITS = 2\n\nvar patterns = {\n  dateTimePattern: /^([0-9W+-]+)(T| )(.*)/,\n  datePattern: /^([0-9W+-]+)(.*)/,\n  plainTime: /:/,\n\n  // year tokens\n  YY: /^(\\d{2})$/,\n  YYY: [\n    /^([+-]\\d{2})$/, // 0 additional digits\n    /^([+-]\\d{3})$/, // 1 additional digit\n    /^([+-]\\d{4})$/, // 2 additional digits\n  ],\n  YYYY: /^(\\d{4})/,\n  YYYYY: [\n    /^([+-]\\d{4})/, // 0 additional digits\n    /^([+-]\\d{5})/, // 1 additional digit\n    /^([+-]\\d{6})/, // 2 additional digits\n  ],\n\n  // date tokens\n  MM: /^-(\\d{2})$/,\n  DDD: /^-?(\\d{3})$/,\n  MMDD: /^-?(\\d{2})-?(\\d{2})$/,\n  Www: /^-?W(\\d{2})$/,\n  WwwD: /^-?W(\\d{2})-?(\\d{1})$/,\n\n  HH: /^(\\d{2}([.,]\\d*)?)$/,\n  HHMM: /^(\\d{2}):?(\\d{2}([.,]\\d*)?)$/,\n  HHMMSS: /^(\\d{2}):?(\\d{2}):?(\\d{2}([.,]\\d*)?)$/,\n\n  // time zone tokens (to identify the presence of a tz)\n  timeZone: tzPattern,\n}\n\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If an argument is a string, the function tries to parse it.\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n * If the function cannot parse the string or the values are invalid, it returns Invalid Date.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n * All *date-fns* functions will throw `RangeError` if `options.additionalDigits` is not 0, 1, 2 or undefined.\n *\n * @param {Date|String|Number} argument - the value to convert\n * @param {OptionsWithTZ} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\n * @param {0|1|2} [options.additionalDigits=2] - the additional number of digits in the extended year format\n * @param {String} [options.timeZone=''] - used to specify the IANA time zone offset of a date String.\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * var result = toDate('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert string '+02014101' to date,\n * // if the additional number of digits in the extended year format is 1:\n * var result = toDate('+02014101', {additionalDigits: 1})\n * //=> Fri Apr 11 2014 00:00:00\n */\nexport default function toDate(argument, dirtyOptions) {\n  if (arguments.length < 1) {\n    throw new TypeError('1 argument required, but only ' + arguments.length + ' present')\n  }\n\n  if (argument === null) {\n    return new Date(NaN)\n  }\n\n  var options = dirtyOptions || {}\n\n  var additionalDigits =\n    options.additionalDigits == null\n      ? DEFAULT_ADDITIONAL_DIGITS\n      : toInteger(options.additionalDigits)\n  if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) {\n    throw new RangeError('additionalDigits must be 0, 1 or 2')\n  }\n\n  // Clone the date\n  if (\n    argument instanceof Date ||\n    (typeof argument === 'object' && Object.prototype.toString.call(argument) === '[object Date]')\n  ) {\n    // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n    return new Date(argument.getTime())\n  } else if (\n    typeof argument === 'number' ||\n    Object.prototype.toString.call(argument) === '[object Number]'\n  ) {\n    return new Date(argument)\n  } else if (\n    !(\n      typeof argument === 'string' || Object.prototype.toString.call(argument) === '[object String]'\n    )\n  ) {\n    return new Date(NaN)\n  }\n\n  var dateStrings = splitDateString(argument)\n\n  var parseYearResult = parseYear(dateStrings.date, additionalDigits)\n  var year = parseYearResult.year\n  var restDateString = parseYearResult.restDateString\n\n  var date = parseDate(restDateString, year)\n\n  if (isNaN(date)) {\n    return new Date(NaN)\n  }\n\n  if (date) {\n    var timestamp = date.getTime()\n    var time = 0\n    var offset\n\n    if (dateStrings.time) {\n      time = parseTime(dateStrings.time)\n\n      if (isNaN(time)) {\n        return new Date(NaN)\n      }\n    }\n\n    if (dateStrings.timeZone || options.timeZone) {\n      offset = tzParseTimezone(dateStrings.timeZone || options.timeZone, new Date(timestamp + time))\n      if (isNaN(offset)) {\n        return new Date(NaN)\n      }\n    } else {\n      // get offset accurate to hour in time zones that change offset\n      offset = getTimezoneOffsetInMilliseconds(new Date(timestamp + time))\n      offset = getTimezoneOffsetInMilliseconds(new Date(timestamp + time + offset))\n    }\n\n    return new Date(timestamp + time + offset)\n  } else {\n    return new Date(NaN)\n  }\n}\n\nfunction splitDateString(dateString) {\n  var dateStrings = {}\n  var parts = patterns.dateTimePattern.exec(dateString)\n  var timeString\n\n  if (!parts) {\n    parts = patterns.datePattern.exec(dateString)\n    if (parts) {\n      dateStrings.date = parts[1]\n      timeString = parts[2]\n    } else {\n      dateStrings.date = null\n      timeString = dateString\n    }\n  } else {\n    dateStrings.date = parts[1]\n    timeString = parts[3]\n  }\n\n  if (timeString) {\n    var token = patterns.timeZone.exec(timeString)\n    if (token) {\n      dateStrings.time = timeString.replace(token[1], '')\n      dateStrings.timeZone = token[1].trim()\n    } else {\n      dateStrings.time = timeString\n    }\n  }\n\n  return dateStrings\n}\n\nfunction parseYear(dateString, additionalDigits) {\n  var patternYYY = patterns.YYY[additionalDigits]\n  var patternYYYYY = patterns.YYYYY[additionalDigits]\n\n  var token\n\n  // YYYY or ±YYYYY\n  token = patterns.YYYY.exec(dateString) || patternYYYYY.exec(dateString)\n  if (token) {\n    var yearString = token[1]\n    return {\n      year: parseInt(yearString, 10),\n      restDateString: dateString.slice(yearString.length),\n    }\n  }\n\n  // YY or ±YYY\n  token = patterns.YY.exec(dateString) || patternYYY.exec(dateString)\n  if (token) {\n    var centuryString = token[1]\n    return {\n      year: parseInt(centuryString, 10) * 100,\n      restDateString: dateString.slice(centuryString.length),\n    }\n  }\n\n  // Invalid ISO-formatted year\n  return {\n    year: null,\n  }\n}\n\nfunction parseDate(dateString, year) {\n  // Invalid ISO-formatted year\n  if (year === null) {\n    return null\n  }\n\n  var token\n  var date\n  var month\n  var week\n\n  // YYYY\n  if (dateString.length === 0) {\n    date = new Date(0)\n    date.setUTCFullYear(year)\n    return date\n  }\n\n  // YYYY-MM\n  token = patterns.MM.exec(dateString)\n  if (token) {\n    date = new Date(0)\n    month = parseInt(token[1], 10) - 1\n\n    if (!validateDate(year, month)) {\n      return new Date(NaN)\n    }\n\n    date.setUTCFullYear(year, month)\n    return date\n  }\n\n  // YYYY-DDD or YYYYDDD\n  token = patterns.DDD.exec(dateString)\n  if (token) {\n    date = new Date(0)\n    var dayOfYear = parseInt(token[1], 10)\n\n    if (!validateDayOfYearDate(year, dayOfYear)) {\n      return new Date(NaN)\n    }\n\n    date.setUTCFullYear(year, 0, dayOfYear)\n    return date\n  }\n\n  // yyyy-MM-dd or YYYYMMDD\n  token = patterns.MMDD.exec(dateString)\n  if (token) {\n    date = new Date(0)\n    month = parseInt(token[1], 10) - 1\n    var day = parseInt(token[2], 10)\n\n    if (!validateDate(year, month, day)) {\n      return new Date(NaN)\n    }\n\n    date.setUTCFullYear(year, month, day)\n    return date\n  }\n\n  // YYYY-Www or YYYYWww\n  token = patterns.Www.exec(dateString)\n  if (token) {\n    week = parseInt(token[1], 10) - 1\n\n    if (!validateWeekDate(year, week)) {\n      return new Date(NaN)\n    }\n\n    return dayOfISOWeekYear(year, week)\n  }\n\n  // YYYY-Www-D or YYYYWwwD\n  token = patterns.WwwD.exec(dateString)\n  if (token) {\n    week = parseInt(token[1], 10) - 1\n    var dayOfWeek = parseInt(token[2], 10) - 1\n\n    if (!validateWeekDate(year, week, dayOfWeek)) {\n      return new Date(NaN)\n    }\n\n    return dayOfISOWeekYear(year, week, dayOfWeek)\n  }\n\n  // Invalid ISO-formatted date\n  return null\n}\n\nfunction parseTime(timeString) {\n  var token\n  var hours\n  var minutes\n\n  // hh\n  token = patterns.HH.exec(timeString)\n  if (token) {\n    hours = parseFloat(token[1].replace(',', '.'))\n\n    if (!validateTime(hours)) {\n      return NaN\n    }\n\n    return (hours % 24) * MILLISECONDS_IN_HOUR\n  }\n\n  // hh:mm or hhmm\n  token = patterns.HHMM.exec(timeString)\n  if (token) {\n    hours = parseInt(token[1], 10)\n    minutes = parseFloat(token[2].replace(',', '.'))\n\n    if (!validateTime(hours, minutes)) {\n      return NaN\n    }\n\n    return (hours % 24) * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE\n  }\n\n  // hh:mm:ss or hhmmss\n  token = patterns.HHMMSS.exec(timeString)\n  if (token) {\n    hours = parseInt(token[1], 10)\n    minutes = parseInt(token[2], 10)\n    var seconds = parseFloat(token[3].replace(',', '.'))\n\n    if (!validateTime(hours, minutes, seconds)) {\n      return NaN\n    }\n\n    return (hours % 24) * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE + seconds * 1000\n  }\n\n  // Invalid ISO-formatted time\n  return null\n}\n\nfunction dayOfISOWeekYear(isoWeekYear, week, day) {\n  week = week || 0\n  day = day || 0\n  var date = new Date(0)\n  date.setUTCFullYear(isoWeekYear, 0, 4)\n  var fourthOfJanuaryDay = date.getUTCDay() || 7\n  var diff = week * 7 + day + 1 - fourthOfJanuaryDay\n  date.setUTCDate(date.getUTCDate() + diff)\n  return date\n}\n\n// Validation functions\n\nvar DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]\nvar DAYS_IN_MONTH_LEAP_YEAR = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]\n\nfunction isLeapYearIndex(year) {\n  return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0)\n}\n\nfunction validateDate(year, month, date) {\n  if (month < 0 || month > 11) {\n    return false\n  }\n\n  if (date != null) {\n    if (date < 1) {\n      return false\n    }\n\n    var isLeapYear = isLeapYearIndex(year)\n    if (isLeapYear && date > DAYS_IN_MONTH_LEAP_YEAR[month]) {\n      return false\n    }\n    if (!isLeapYear && date > DAYS_IN_MONTH[month]) {\n      return false\n    }\n  }\n\n  return true\n}\n\nfunction validateDayOfYearDate(year, dayOfYear) {\n  if (dayOfYear < 1) {\n    return false\n  }\n\n  var isLeapYear = isLeapYearIndex(year)\n  if (isLeapYear && dayOfYear > 366) {\n    return false\n  }\n  if (!isLeapYear && dayOfYear > 365) {\n    return false\n  }\n\n  return true\n}\n\nfunction validateWeekDate(year, week, day) {\n  if (week < 0 || week > 52) {\n    return false\n  }\n\n  if (day != null && (day < 0 || day > 6)) {\n    return false\n  }\n\n  return true\n}\n\nfunction validateTime(hours, minutes, seconds) {\n  if (hours != null && (hours < 0 || hours >= 25)) {\n    return false\n  }\n\n  if (minutes != null && (minutes < 0 || minutes >= 60)) {\n    return false\n  }\n\n  if (seconds != null && (seconds < 0 || seconds >= 60)) {\n    return false\n  }\n\n  return true\n}\n","import cloneObject from 'date-fns/_lib/cloneObject/index.js'\nimport toDate from '../toDate/index.js'\nimport tzPattern from '../_lib/tzPattern/index.js'\nimport tzParseTimezone from '../_lib/tzParseTimezone/index.js'\nimport newDateUTC from '../_lib/newDateUTC/index.js'\n\n/**\n * @name zonedTimeToUtc\n * @category Time Zone Helpers\n * @summary Get the UTC date/time from a date representing local time in a given time zone\n *\n * @description\n * Returns a date instance with the UTC time of the provided date of which the values\n * represented the local time in the time zone specified. In other words, if the input\n * date represented local time in time time zone, the timestamp of the output date will\n * give the equivalent UTC of that local time regardless of the current system time zone.\n *\n * @param {Date|String|Number} date - the date with values representing the local time\n * @param {String} timeZone - the time zone of this local time, can be an offset or IANA time zone\n * @param {OptionsWithTZ} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * @returns {Date} the new date with the equivalent time in the time zone\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // In June 10am in Los Angeles is 5pm UTC\n * const result = zonedTimeToUtc(new Date(2014, 5, 25, 10, 0, 0), 'America/Los_Angeles')\n * //=> 2014-06-25T17:00:00.000Z\n */\nexport default function zonedTimeToUtc(date, timeZone, options) {\n  if (typeof date === 'string' && !date.match(tzPattern)) {\n    var extendedOptions = cloneObject(options)\n    extendedOptions.timeZone = timeZone\n    return toDate(date, extendedOptions)\n  }\n\n  var d = toDate(date, options)\n\n  var utc = newDateUTC(\n    d.getFullYear(),\n    d.getMonth(),\n    d.getDate(),\n    d.getHours(),\n    d.getMinutes(),\n    d.getSeconds(),\n    d.getMilliseconds()\n  ).getTime()\n\n  var offsetMilliseconds = tzParseTimezone(timeZone, new Date(utc))\n\n  return new Date(utc + offsetMilliseconds)\n}\n","export const COLUMN_FILTERING_CHOICE_TYPE_APPLY_BUTTON_NAME =\n\t'columnFilteringChoiceTypeApplyButton';\nexport const COLUMN_FILTERING_CHOICE_TYPE_CANCEL_BUTTON_NAME =\n\t'columnFilteringChoiceTypeCancelButton';\n\nexport const MIN_CHOICES_FOR_CHOICE_FILTERING = 10;\n\nexport const NOW_INPUT_INPUT = 'NOW_INPUT#INPUT';\n\nexport const NOW_BUTTON_ICONIC_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\n\nexport const COLUMN_FILTERING_CHOICE_FILTER_CLEAR_TERM =\n\t'columnFilteringChoiceFilterClearTerm';\n\nexport const COLUMN_FILTERING_CHOICE_FILTER_CLEAR_TERM_NAME =\n\t'columnFilteringChoiceFilterClearTermButton';\n","export default function toInteger(dirtyNumber) {\n  if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) {\n    return NaN;\n  }\n  var number = Number(dirtyNumber);\n  if (isNaN(number)) {\n    return number;\n  }\n  return number < 0 ? Math.ceil(number) : Math.floor(number);\n}","import toDate from \"../toDate/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name fromUnixTime\n * @category Timestamp Helpers\n * @summary Create a date from a Unix timestamp.\n *\n * @description\n * Create a date from a Unix timestamp (in seconds). Decimal values will be discarded.\n *\n * @param {Number} unixTime - the given Unix timestamp (in seconds)\n * @returns {Date} the date\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Create the date 29 February 2012 11:45:05:\n * const result = fromUnixTime(1330515905)\n * //=> Wed Feb 29 2012 11:45:05\n */\nexport default function fromUnixTime(dirtyUnixTime) {\n  requiredArgs(1, arguments);\n  var unixTime = toInteger(dirtyUnixTime);\n  return toDate(unixTime * 1000);\n}","/**\n * Returns the formatted time zone name of the provided `timeZone` or the current\n * system time zone if omitted, accounting for DST according to the UTC value of\n * the date.\n */\nexport default function tzIntlTimeZoneName(length, date, options) {\n  var dtf = getDTF(length, options.timeZone, options.locale)\n  return dtf.formatToParts ? partsTimeZone(dtf, date) : hackyTimeZone(dtf, date)\n}\n\nfunction partsTimeZone(dtf, date) {\n  var formatted = dtf.formatToParts(date)\n\n  for (var i = formatted.length - 1; i >= 0; --i) {\n    if (formatted[i].type === 'timeZoneName') {\n      return formatted[i].value\n    }\n  }\n}\n\nfunction hackyTimeZone(dtf, date) {\n  var formatted = dtf.format(date).replace(/\\u200E/g, '')\n  var tzNameMatch = / [\\w-+ ]+$/.exec(formatted)\n  return tzNameMatch ? tzNameMatch[0].substr(1) : ''\n}\n\n// If a locale has been provided `en-US` is used as a fallback in case it is an\n// invalid locale, otherwise the locale is left undefined to use the system locale.\nfunction getDTF(length, timeZone, locale) {\n  if (locale && !locale.code) {\n    throw new Error(\n      \"date-fns-tz error: Please set a language code on the locale object imported from date-fns, e.g. `locale.code = 'en-US'`\"\n    )\n  }\n  return new Intl.DateTimeFormat(locale ? [locale.code, 'en-US'] : undefined, {\n    timeZone: timeZone,\n    timeZoneName: length,\n  })\n}\n","import tzIntlTimeZoneName from '../../_lib/tzIntlTimeZoneName/index.js'\nimport tzParseTimezone from '../../_lib/tzParseTimezone/index.js'\n\nvar MILLISECONDS_IN_MINUTE = 60 * 1000\n\nvar formatters = {\n  // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n  X: function (date, token, localize, options) {\n    var timezoneOffset = getTimeZoneOffset(options.timeZone, date)\n\n    if (timezoneOffset === 0) {\n      return 'Z'\n    }\n\n    switch (token) {\n      // Hours and optional minutes\n      case 'X':\n        return formatTimezoneWithOptionalMinutes(timezoneOffset)\n\n      // Hours, minutes and optional seconds without `:` delimeter\n      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n      // so this token always has the same output as `XX`\n      case 'XXXX':\n      case 'XX': // Hours and minutes without `:` delimeter\n        return formatTimezone(timezoneOffset)\n\n      // Hours, minutes and optional seconds with `:` delimeter\n      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n      // so this token always has the same output as `XXX`\n      case 'XXXXX':\n      case 'XXX': // Hours and minutes with `:` delimeter\n      default:\n        return formatTimezone(timezoneOffset, ':')\n    }\n  },\n\n  // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n  x: function (date, token, localize, options) {\n    var timezoneOffset = getTimeZoneOffset(options.timeZone, date)\n\n    switch (token) {\n      // Hours and optional minutes\n      case 'x':\n        return formatTimezoneWithOptionalMinutes(timezoneOffset)\n\n      // Hours, minutes and optional seconds without `:` delimeter\n      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n      // so this token always has the same output as `xx`\n      case 'xxxx':\n      case 'xx': // Hours and minutes without `:` delimeter\n        return formatTimezone(timezoneOffset)\n\n      // Hours, minutes and optional seconds with `:` delimeter\n      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n      // so this token always has the same output as `xxx`\n      case 'xxxxx':\n      case 'xxx': // Hours and minutes with `:` delimeter\n      default:\n        return formatTimezone(timezoneOffset, ':')\n    }\n  },\n\n  // Timezone (GMT)\n  O: function (date, token, localize, options) {\n    var timezoneOffset = getTimeZoneOffset(options.timeZone, date)\n\n    switch (token) {\n      // Short\n      case 'O':\n      case 'OO':\n      case 'OOO':\n        return 'GMT' + formatTimezoneShort(timezoneOffset, ':')\n      // Long\n      case 'OOOO':\n      default:\n        return 'GMT' + formatTimezone(timezoneOffset, ':')\n    }\n  },\n\n  // Timezone (specific non-location)\n  z: function (date, token, localize, options) {\n    switch (token) {\n      // Short\n      case 'z':\n      case 'zz':\n      case 'zzz':\n        return tzIntlTimeZoneName('short', date, options)\n      // Long\n      case 'zzzz':\n      default:\n        return tzIntlTimeZoneName('long', date, options)\n    }\n  },\n}\n\nfunction getTimeZoneOffset(timeZone, originalDate) {\n  var timeZoneOffset = timeZone\n    ? tzParseTimezone(timeZone, originalDate, true) / MILLISECONDS_IN_MINUTE\n    : originalDate.getTimezoneOffset()\n  if (Number.isNaN(timeZoneOffset)) {\n    throw new RangeError('Invalid time zone specified: ' + timeZone)\n  }\n  return timeZoneOffset\n}\n\nfunction addLeadingZeros(number, targetLength) {\n  var sign = number < 0 ? '-' : ''\n  var output = Math.abs(number).toString()\n  while (output.length < targetLength) {\n    output = '0' + output\n  }\n  return sign + output\n}\n\nfunction formatTimezone(offset, dirtyDelimeter) {\n  var delimeter = dirtyDelimeter || ''\n  var sign = offset > 0 ? '-' : '+'\n  var absOffset = Math.abs(offset)\n  var hours = addLeadingZeros(Math.floor(absOffset / 60), 2)\n  var minutes = addLeadingZeros(Math.floor(absOffset % 60), 2)\n  return sign + hours + delimeter + minutes\n}\n\nfunction formatTimezoneWithOptionalMinutes(offset, dirtyDelimeter) {\n  if (offset % 60 === 0) {\n    var sign = offset > 0 ? '-' : '+'\n    return sign + addLeadingZeros(Math.abs(offset) / 60, 2)\n  }\n  return formatTimezone(offset, dirtyDelimeter)\n}\n\nfunction formatTimezoneShort(offset, dirtyDelimiter) {\n  var sign = offset > 0 ? '-' : '+'\n  var absOffset = Math.abs(offset)\n  var hours = Math.floor(absOffset / 60)\n  var minutes = absOffset % 60\n  if (minutes === 0) {\n    return sign + String(hours)\n  }\n  var delimiter = dirtyDelimiter || ''\n  return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2)\n}\n\nexport default formatters\n","import dateFnsFormat from 'date-fns/format/index.js'\nimport formatters from './formatters/index.js'\nimport toDate from '../toDate/index.js'\n\nvar tzFormattingTokensRegExp = /([xXOz]+)|''|'(''|[^'])+('|$)/g\n\n/**\n * @name format\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://git.io/fxCyr\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit                            | Pattern | Result examples                   | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era                             | G..GGG  | AD, BC                            |       |\n * |                                 | GGGG    | Anno Domini, Before Christ        | 2     |\n * |                                 | GGGGG   | A, B                              |       |\n * | Calendar year                   | y       | 44, 1, 1900, 2017                 | 5     |\n * |                                 | yo      | 44th, 1st, 0th, 17th              | 5,7   |\n * |                                 | yy      | 44, 01, 00, 17                    | 5     |\n * |                                 | yyy     | 044, 001, 1900, 2017              | 5     |\n * |                                 | yyyy    | 0044, 0001, 1900, 2017            | 5     |\n * |                                 | yyyyy   | ...                               | 3,5   |\n * | Local week-numbering year       | Y       | 44, 1, 1900, 2017                 | 5     |\n * |                                 | Yo      | 44th, 1st, 1900th, 2017th         | 5,7   |\n * |                                 | YY      | 44, 01, 00, 17                    | 5,8   |\n * |                                 | YYY     | 044, 001, 1900, 2017              | 5     |\n * |                                 | YYYY    | 0044, 0001, 1900, 2017            | 5,8   |\n * |                                 | YYYYY   | ...                               | 3,5   |\n * | ISO week-numbering year         | R       | -43, 0, 1, 1900, 2017             | 5,7   |\n * |                                 | RR      | -43, 00, 01, 1900, 2017           | 5,7   |\n * |                                 | RRR     | -043, 000, 001, 1900, 2017        | 5,7   |\n * |                                 | RRRR    | -0043, 0000, 0001, 1900, 2017     | 5,7   |\n * |                                 | RRRRR   | ...                               | 3,5,7 |\n * | Extended year                   | u       | -43, 0, 1, 1900, 2017             | 5     |\n * |                                 | uu      | -43, 01, 1900, 2017               | 5     |\n * |                                 | uuu     | -043, 001, 1900, 2017             | 5     |\n * |                                 | uuuu    | -0043, 0001, 1900, 2017           | 5     |\n * |                                 | uuuuu   | ...                               | 3,5   |\n * | Quarter (formatting)            | Q       | 1, 2, 3, 4                        |       |\n * |                                 | Qo      | 1st, 2nd, 3rd, 4th                | 7     |\n * |                                 | QQ      | 01, 02, 03, 04                    |       |\n * |                                 | QQQ     | Q1, Q2, Q3, Q4                    |       |\n * |                                 | QQQQ    | 1st quarter, 2nd quarter, ...     | 2     |\n * |                                 | QQQQQ   | 1, 2, 3, 4                        | 4     |\n * | Quarter (stand-alone)           | q       | 1, 2, 3, 4                        |       |\n * |                                 | qo      | 1st, 2nd, 3rd, 4th                | 7     |\n * |                                 | qq      | 01, 02, 03, 04                    |       |\n * |                                 | qqq     | Q1, Q2, Q3, Q4                    |       |\n * |                                 | qqqq    | 1st quarter, 2nd quarter, ...     | 2     |\n * |                                 | qqqqq   | 1, 2, 3, 4                        | 4     |\n * | Month (formatting)              | M       | 1, 2, ..., 12                     |       |\n * |                                 | Mo      | 1st, 2nd, ..., 12th               | 7     |\n * |                                 | MM      | 01, 02, ..., 12                   |       |\n * |                                 | MMM     | Jan, Feb, ..., Dec                |       |\n * |                                 | MMMM    | January, February, ..., December  | 2     |\n * |                                 | MMMMM   | J, F, ..., D                      |       |\n * | Month (stand-alone)             | L       | 1, 2, ..., 12                     |       |\n * |                                 | Lo      | 1st, 2nd, ..., 12th               | 7     |\n * |                                 | LL      | 01, 02, ..., 12                   |       |\n * |                                 | LLL     | Jan, Feb, ..., Dec                |       |\n * |                                 | LLLL    | January, February, ..., December  | 2     |\n * |                                 | LLLLL   | J, F, ..., D                      |       |\n * | Local week of year              | w       | 1, 2, ..., 53                     |       |\n * |                                 | wo      | 1st, 2nd, ..., 53th               | 7     |\n * |                                 | ww      | 01, 02, ..., 53                   |       |\n * | ISO week of year                | I       | 1, 2, ..., 53                     | 7     |\n * |                                 | Io      | 1st, 2nd, ..., 53th               | 7     |\n * |                                 | II      | 01, 02, ..., 53                   | 7     |\n * | Day of month                    | d       | 1, 2, ..., 31                     |       |\n * |                                 | do      | 1st, 2nd, ..., 31st               | 7     |\n * |                                 | dd      | 01, 02, ..., 31                   |       |\n * | Day of year                     | D       | 1, 2, ..., 365, 366               | 8     |\n * |                                 | Do      | 1st, 2nd, ..., 365th, 366th       | 7     |\n * |                                 | DD      | 01, 02, ..., 365, 366             | 8     |\n * |                                 | DDD     | 001, 002, ..., 365, 366           |       |\n * |                                 | DDDD    | ...                               | 3     |\n * | Day of week (formatting)        | E..EEE  | Mon, Tue, Wed, ..., Su            |       |\n * |                                 | EEEE    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 | EEEEE   | M, T, W, T, F, S, S               |       |\n * |                                 | EEEEEE  | Mo, Tu, We, Th, Fr, Su, Sa        |       |\n * | ISO day of week (formatting)    | i       | 1, 2, 3, ..., 7                   | 7     |\n * |                                 | io      | 1st, 2nd, ..., 7th                | 7     |\n * |                                 | ii      | 01, 02, ..., 07                   | 7     |\n * |                                 | iii     | Mon, Tue, Wed, ..., Su            | 7     |\n * |                                 | iiii    | Monday, Tuesday, ..., Sunday      | 2,7   |\n * |                                 | iiiii   | M, T, W, T, F, S, S               | 7     |\n * |                                 | iiiiii  | Mo, Tu, We, Th, Fr, Su, Sa        | 7     |\n * | Local day of week (formatting)  | e       | 2, 3, 4, ..., 1                   |       |\n * |                                 | eo      | 2nd, 3rd, ..., 1st                | 7     |\n * |                                 | ee      | 02, 03, ..., 01                   |       |\n * |                                 | eee     | Mon, Tue, Wed, ..., Su            |       |\n * |                                 | eeee    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 | eeeee   | M, T, W, T, F, S, S               |       |\n * |                                 | eeeeee  | Mo, Tu, We, Th, Fr, Su, Sa        |       |\n * | Local day of week (stand-alone) | c       | 2, 3, 4, ..., 1                   |       |\n * |                                 | co      | 2nd, 3rd, ..., 1st                | 7     |\n * |                                 | cc      | 02, 03, ..., 01                   |       |\n * |                                 | ccc     | Mon, Tue, Wed, ..., Su            |       |\n * |                                 | cccc    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 | ccccc   | M, T, W, T, F, S, S               |       |\n * |                                 | cccccc  | Mo, Tu, We, Th, Fr, Su, Sa        |       |\n * | AM, PM                          | a..aaa  | AM, PM                            |       |\n * |                                 | aaaa    | a.m., p.m.                        | 2     |\n * |                                 | aaaaa   | a, p                              |       |\n * | AM, PM, noon, midnight          | b..bbb  | AM, PM, noon, midnight            |       |\n * |                                 | bbbb    | a.m., p.m., noon, midnight        | 2     |\n * |                                 | bbbbb   | a, p, n, mi                       |       |\n * | Flexible day period             | B..BBB  | at night, in the morning, ...     |       |\n * |                                 | BBBB    | at night, in the morning, ...     | 2     |\n * |                                 | BBBBB   | at night, in the morning, ...     |       |\n * | Hour [1-12]                     | h       | 1, 2, ..., 11, 12                 |       |\n * |                                 | ho      | 1st, 2nd, ..., 11th, 12th         | 7     |\n * |                                 | hh      | 01, 02, ..., 11, 12               |       |\n * | Hour [0-23]                     | H       | 0, 1, 2, ..., 23                  |       |\n * |                                 | Ho      | 0th, 1st, 2nd, ..., 23rd          | 7     |\n * |                                 | HH      | 00, 01, 02, ..., 23               |       |\n * | Hour [0-11]                     | K       | 1, 2, ..., 11, 0                  |       |\n * |                                 | Ko      | 1st, 2nd, ..., 11th, 0th          | 7     |\n * |                                 | KK      | 1, 2, ..., 11, 0                  |       |\n * | Hour [1-24]                     | k       | 24, 1, 2, ..., 23                 |       |\n * |                                 | ko      | 24th, 1st, 2nd, ..., 23rd         | 7     |\n * |                                 | kk      | 24, 01, 02, ..., 23               |       |\n * | Minute                          | m       | 0, 1, ..., 59                     |       |\n * |                                 | mo      | 0th, 1st, ..., 59th               | 7     |\n * |                                 | mm      | 00, 01, ..., 59                   |       |\n * | Second                          | s       | 0, 1, ..., 59                     |       |\n * |                                 | so      | 0th, 1st, ..., 59th               | 7     |\n * |                                 | ss      | 00, 01, ..., 59                   |       |\n * | Fraction of second              | S       | 0, 1, ..., 9                      |       |\n * |                                 | SS      | 00, 01, ..., 99                   |       |\n * |                                 | SSS     | 000, 0001, ..., 999               |       |\n * |                                 | SSSS    | ...                               | 3     |\n * | Timezone (ISO-8601 w/ Z)        | X       | -08, +0530, Z                     |       |\n * |                                 | XX      | -0800, +0530, Z                   |       |\n * |                                 | XXX     | -08:00, +05:30, Z                 |       |\n * |                                 | XXXX    | -0800, +0530, Z, +123456          | 2     |\n * |                                 | XXXXX   | -08:00, +05:30, Z, +12:34:56      |       |\n * | Timezone (ISO-8601 w/o Z)       | x       | -08, +0530, +00                   |       |\n * |                                 | xx      | -0800, +0530, +0000               |       |\n * |                                 | xxx     | -08:00, +05:30, +00:00            | 2     |\n * |                                 | xxxx    | -0800, +0530, +0000, +123456      |       |\n * |                                 | xxxxx   | -08:00, +05:30, +00:00, +12:34:56 |       |\n * | Timezone (GMT)                  | O...OOO | GMT-8, GMT+5:30, GMT+0            |       |\n * |                                 | OOOO    | GMT-08:00, GMT+05:30, GMT+00:00   | 2     |\n * | Timezone (specific non-locat.)  | z...zzz | PDT, EST, CEST                    | 6     |\n * |                                 | zzzz    | Pacific Daylight Time             | 2,6   |\n * | Seconds timestamp               | t       | 512969520                         | 7     |\n * |                                 | tt      | ...                               | 3,7   |\n * | Milliseconds timestamp          | T       | 512969520900                      | 7     |\n * |                                 | TT      | ...                               | 3,7   |\n * | Long localized date             | P       | 05/29/1453                        | 7     |\n * |                                 | PP      | May 29, 1453                      | 7     |\n * |                                 | PPP     | May 29th, 1453                    | 7     |\n * |                                 | PPPP    | Sunday, May 29th, 1453            | 2,7   |\n * | Long localized time             | p       | 12:00 AM                          | 7     |\n * |                                 | pp      | 12:00:00 AM                       | 7     |\n * |                                 | ppp     | 12:00:00 AM GMT+2                 | 7     |\n * |                                 | pppp    | 12:00:00 AM GMT+02:00             | 2,7   |\n * | Combination of date and time    | Pp      | 05/29/1453, 12:00 AM              | 7     |\n * |                                 | PPpp    | May 29, 1453, 12:00:00 AM         | 7     |\n * |                                 | PPPppp  | May 29th, 1453 at ...             | 7     |\n * |                                 | PPPPpppp| Sunday, May 29th, 1453 at ...     | 2,7   |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n *    are the same as \"stand-alone\" units, but are different in some languages.\n *    \"Formatting\" units are declined according to the rules of the language\n *    in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n *    `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n *    `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n *    the single quote characters (see below).\n *    If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n *    the output will be the same as default pattern for this unit, usually\n *    the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n *    are marked with \"2\" in the last column of the table.\n *\n *    `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n *    `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n *    `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n *    `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n *    `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n *    The output will be padded with zeros to match the length of the pattern.\n *\n *    `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n *    These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n *    | Year | `y` | `u` |\n *    |------|-----|-----|\n *    | AC 1 |   1 |   1 |\n *    | BC 1 |   1 |   0 |\n *    | BC 2 |   2 |  -1 |\n *\n *    Also `yy` always returns the last two digits of a year,\n *    while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n *    | Year | `yy` | `uu` |\n *    |------|------|------|\n *    | 1    |   01 |   01 |\n *    | 14   |   14 |   14 |\n *    | 376  |   76 |  376 |\n *    | 1453 |   53 | 1453 |\n *\n *    The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n *    except local week-numbering years are dependent on `options.weekStartsOn`\n *    and `options.firstWeekContainsDate` (compare [getISOWeekYear]{@link https://date-fns.org/docs/getISOWeekYear}\n *    and [getWeekYear]{@link https://date-fns.org/docs/getWeekYear}).\n *\n * 6. Specific non-location timezones are created using the Intl browser API. The output is determined by the\n *    preferred standard of the current locale (en-US by default) which may not always give the expected result.\n *    For this reason it is recommended to supply a `locale` in the format options when formatting a time zone name.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n *    - `i`: ISO day of week\n *    - `I`: ISO week of year\n *    - `R`: ISO week-numbering year\n *    - `t`: seconds timestamp\n *    - `T`: milliseconds timestamp\n *    - `o`: ordinal number modifier\n *    - `P`: long localized date\n *    - `p`: long localized time\n *\n * 8. These tokens are often confused with others. See: https://git.io/fxCyr\n *\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole\n *   library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The second argument is now required for the sake of explicitness.\n *\n *   ```javascript\n *   // Before v2.0.0\n *   format(new Date(2016, 0, 1))\n *\n *   // v2.0.0 onward\n *   format(new Date(2016, 0, 1), \"yyyy-MM-dd'T'HH:mm:ss.SSSxxx\")\n *   ```\n *\n * - New format string API for `format` function\n *   which is based on [Unicode Technical Standard\n *   #35](https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table). See [this\n *   post](https://blog.date-fns.org/post/unicode-tokens-in-date-fns-v2-sreatyki91jg) for more details.\n *\n * - Characters are now escaped using single quote symbols (`'`) instead of square brackets.\n *\n * @param {Date|Number} date - the original date\n * @param {String} format - the string of tokens\n * @param {OptionsWithTZ} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link\n *   https://date-fns.org/docs/toDate}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {Number} [options.firstWeekContainsDate=1] - the day of January, which is\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See\n *   [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {Boolean} [options.awareOfUnicodeTokens=false] - if true, allows usage of Unicode tokens causes confusion:\n *   - Some of the day of year tokens (`D`, `DD`) that are confused with the day of month tokens (`d`, `dd`).\n *   - Some of the local week-numbering year tokens (`YY`, `YYYY`) that are confused with the calendar year tokens\n *   (`yy`, `yyyy`). See: https://git.io/fxCyr\n * @param {String} [options.timeZone=''] - used to specify the IANA time zone offset of a date String.\n * @param {Date|Number} [options.originalDate] - can be used to pass the original unmodified date to `format` to\n *   improve correctness of the replaced timezone token close to the DST threshold.\n * @returns {String} the formatted date string\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n * @throws {RangeError} `options.locale` must contain `localize` property\n * @throws {RangeError} `options.locale` must contain `formatLong` property\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} `options.awareOfUnicodeTokens` must be set to `true` to use `XX` token; see:\n *   https://git.io/fxCyr\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * var result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * var result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n *   locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * var result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\nexport default function format(dirtyDate, dirtyFormatStr, dirtyOptions) {\n  var formatStr = String(dirtyFormatStr)\n  var options = dirtyOptions || {}\n\n  var matches = formatStr.match(tzFormattingTokensRegExp)\n  if (matches) {\n    var date = toDate(options.originalDate || dirtyDate, options)\n    // Work through each match and replace the tz token in the format string with the quoted\n    // formatted time zone so the remaining tokens can be filled in by date-fns#format.\n    formatStr = matches.reduce(function (result, token) {\n      if (token[0] === \"'\") {\n        return result // This is a quoted portion, matched only to ensure we don't match inside it\n      }\n      var pos = result.indexOf(token)\n      var precededByQuotedSection = result[pos - 1] === \"'\"\n      var replaced = result.replace(\n        token,\n        \"'\" + formatters[token[0]](date, token, null, options) + \"'\"\n      )\n      // If the replacement results in two adjoining quoted strings, the back to back quotes\n      // are removed, so it doesn't look like an escaped quote.\n      return precededByQuotedSection\n        ? replaced.substring(0, pos - 1) + replaced.substring(pos + 1)\n        : replaced\n    }, formatStr)\n  }\n\n  return dateFnsFormat(dirtyDate, formatStr, options)\n}\n","import tzParseTimezone from '../_lib/tzParseTimezone/index.js'\nimport toDate from '../toDate/index.js'\n\n/**\n * @name utcToZonedTime\n * @category Time Zone Helpers\n * @summary Get a date/time representing local time in a given time zone from the UTC date\n *\n * @description\n * Returns a date instance with values representing the local time in the time zone\n * specified of the UTC time from the date provided. In other words, when the new date\n * is formatted it will show the equivalent hours in the target time zone regardless\n * of the current system time zone.\n *\n * @param {Date|String|Number} date - the date with the relevant UTC time\n * @param {String} timeZone - the time zone to get local time for, can be an offset or IANA time zone\n * @param {OptionsWithTZ} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * @returns {Date} the new date with the equivalent time in the time zone\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // In June 10am UTC is 6am in New York (-04:00)\n * const result = utcToZonedTime('2014-06-25T10:00:00.000Z', 'America/New_York')\n * //=> Jun 25 2014 06:00:00\n */\nexport default function utcToZonedTime(dirtyDate, timeZone, options) {\n  var date = toDate(dirtyDate, options)\n\n  var offsetMilliseconds = tzParseTimezone(timeZone, date, true)\n\n  var d = new Date(date.getTime() - offsetMilliseconds)\n\n  var resultDate = new Date(0)\n\n  resultDate.setFullYear(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate())\n\n  resultDate.setHours(d.getUTCHours(), d.getUTCMinutes(), d.getUTCSeconds(), d.getUTCMilliseconds())\n\n  return resultDate\n}\n","import cloneObject from 'date-fns/_lib/cloneObject/index.js'\r\nimport format from '../format/index.js'\r\nimport utcToZonedTime from '../utcToZonedTime/index.js'\r\n\r\n/**\r\n * @name formatInTimeZone\r\n * @category Time Zone Helpers\r\n * @summary Gets the offset in milliseconds between the time zone and Universal Coordinated Time (UTC)\r\n *\r\n * @param {Date|String|Number} date - the date representing the local time / real UTC time\r\n * @param {String} timeZone - the time zone this date should be formatted for; can be an offset or IANA time zone\r\n * @param {String} formatStr - the string of tokens\r\n * @param {OptionsWithTZ} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link\r\n *   https://date-fns.org/docs/toDate}\r\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\r\n * @param {Number} [options.firstWeekContainsDate=1] - the day of January, which is\r\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See\r\n *   [Locale]{@link https://date-fns.org/docs/Locale}\r\n * @param {Boolean} [options.awareOfUnicodeTokens=false] - if true, allows usage of Unicode tokens causes confusion:\r\n *   - Some of the day of year tokens (`D`, `DD`) that are confused with the day of month tokens (`d`, `dd`).\r\n *   - Some of the local week-numbering year tokens (`YY`, `YYYY`) that are confused with the calendar year tokens\r\n *   (`yy`, `yyyy`). See: https://git.io/fxCyr\r\n * @param {String} [options.timeZone=''] - used to specify the IANA time zone offset of a date String.\r\n * @returns {String} the formatted date string\r\n */\r\nexport default function formatInTimeZone(date, timeZone, formatStr, options) {\r\n  var extendedOptions = cloneObject(options)\r\n  extendedOptions.timeZone = timeZone\r\n  extendedOptions.originalDate = date\r\n  return format(utcToZonedTime(date, timeZone), formatStr, extendedOptions)\r\n}\r\n","import {t} from 'sn-translate';\n\n// Date types\n\nexport const DateTypes = {\n\tDATE: 'date',\n\tDATE_TIME: 'date-time',\n\tTIME: 'time',\n\tWEEK_MONTH_YEAR: 'week-month-year',\n\tWEEK_YEAR: 'week-year',\n\tMONTH: 'month',\n\tQUARTER: 'quarter',\n\tYEAR: 'year',\n};\n\n// Preset formats\n\nexport const DateFormatTypes = {\n\tDATE: 'yyyy/MM/dd',\n\tDATE_TIME: 'yyyy/MM/dd HH:mm:ss',\n\tWEEK_YEAR: 'w Y',\n\tWEEK_MONTH_YEAR: `'${t('Week')}' w yyyy`,\n\tMONTH: 'MMM yyyy',\n\tQUARTER: 'qqq yyyy',\n\tYEAR: 'yyyy',\n};\n\nexport const TimeFormatTypes = {\n\tSTANDARD: 'hh:mm:ss a',\n\tSTANDARD_24: 'HH:mm:ss',\n\tEXTENDED: 'hh:mm:ss.SSS a',\n\tEXTENDED_24: 'HH:mm:ss.SSS',\n};\n\nexport const DateTimeFormatTypes = {\n\tSTANDARD: 'yyyy/MM/dd hh:mm:ss a',\n\tEXTENDED: 'yyyy/MM/dd hh:mm:ss.SSS a',\n};\n\nexport const PresetKeywords = {\n\tNEXT: 'Next',\n\tLAST: 'Last',\n\tCURRENT: 'Current',\n\tTO_DATE: 'to date',\n};\n\nexport const PresetTypes = {\n\tSTART: 'start',\n\tEND: 'end',\n\tYEAR: 'year',\n\tYEARS: 'years',\n\tQUARTER: 'quarter',\n\tQUARTERS: 'quarters',\n\tMONTH: 'month',\n\tMONTHS: 'months',\n\tWEEK: 'week',\n\tWEEKS: 'weeks',\n\tDAY: 'day',\n\tDAYS: 'days',\n\tHOUR: 'hour',\n\tHOURS: 'hours',\n\tMINUTE: 'minute',\n\tMINUTES: 'minutes',\n\tSECOND: 'second',\n\tSECONDS: 'seconds',\n\tBUSINESS: 'business',\n};\n","function _arrayLikeToArray(r, a) {\n  (null == a || a > r.length) && (a = r.length);\n  for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n  return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n  if (r) {\n    if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n    var t = {}.toString.call(r).slice(8, -1);\n    return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n  }\n}\nexport { _unsupportedIterableToArray as default };","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nfunction _createForOfIteratorHelper(r, e) {\n  var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n  if (!t) {\n    if (Array.isArray(r) || (t = unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) {\n      t && (r = t);\n      var _n = 0,\n        F = function F() {};\n      return {\n        s: F,\n        n: function n() {\n          return _n >= r.length ? {\n            done: !0\n          } : {\n            done: !1,\n            value: r[_n++]\n          };\n        },\n        e: function e(r) {\n          throw r;\n        },\n        f: F\n      };\n    }\n    throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n  }\n  var o,\n    a = !0,\n    u = !1;\n  return {\n    s: function s() {\n      t = t.call(r);\n    },\n    n: function n() {\n      var r = t.next();\n      return a = r.done, r;\n    },\n    e: function e(r) {\n      u = !0, o = r;\n    },\n    f: function f() {\n      try {\n        a || null == t[\"return\"] || t[\"return\"]();\n      } finally {\n        if (u) throw o;\n      }\n    }\n  };\n}\nexport { _createForOfIteratorHelper as default };","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: 'less than a second',\n    other: 'less than {{count}} seconds'\n  },\n  xSeconds: {\n    one: '1 second',\n    other: '{{count}} seconds'\n  },\n  halfAMinute: 'half a minute',\n  lessThanXMinutes: {\n    one: 'less than a minute',\n    other: 'less than {{count}} minutes'\n  },\n  xMinutes: {\n    one: '1 minute',\n    other: '{{count}} minutes'\n  },\n  aboutXHours: {\n    one: 'about 1 hour',\n    other: 'about {{count}} hours'\n  },\n  xHours: {\n    one: '1 hour',\n    other: '{{count}} hours'\n  },\n  xDays: {\n    one: '1 day',\n    other: '{{count}} days'\n  },\n  aboutXWeeks: {\n    one: 'about 1 week',\n    other: 'about {{count}} weeks'\n  },\n  xWeeks: {\n    one: '1 week',\n    other: '{{count}} weeks'\n  },\n  aboutXMonths: {\n    one: 'about 1 month',\n    other: 'about {{count}} months'\n  },\n  xMonths: {\n    one: '1 month',\n    other: '{{count}} months'\n  },\n  aboutXYears: {\n    one: 'about 1 year',\n    other: 'about {{count}} years'\n  },\n  xYears: {\n    one: '1 year',\n    other: '{{count}} years'\n  },\n  overXYears: {\n    one: 'over 1 year',\n    other: 'over {{count}} years'\n  },\n  almostXYears: {\n    one: 'almost 1 year',\n    other: 'almost {{count}} years'\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var result;\n  var tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace('{{count}}', count.toString());\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return 'in ' + result;\n    } else {\n      return result + ' ago';\n    }\n  }\n  return result;\n};\nexport default formatDistance;","export default function buildFormatLongFn(args) {\n  return function () {\n    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    // TODO: Remove String()\n    var width = options.width ? String(options.width) : args.defaultWidth;\n    var format = args.formats[width] || args.formats[args.defaultWidth];\n    return format;\n  };\n}","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'EEEE, MMMM do, y',\n  long: 'MMMM do, y',\n  medium: 'MMM d, y',\n  short: 'MM/dd/yyyy'\n};\nvar timeFormats = {\n  full: 'h:mm:ss a zzzz',\n  long: 'h:mm:ss a z',\n  medium: 'h:mm:ss a',\n  short: 'h:mm a'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'at' {{time}}\",\n  long: \"{{date}} 'at' {{time}}\",\n  medium: '{{date}}, {{time}}',\n  short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatRelativeLocale = {\n  lastWeek: \"'last' eeee 'at' p\",\n  yesterday: \"'yesterday at' p\",\n  today: \"'today at' p\",\n  tomorrow: \"'tomorrow at' p\",\n  nextWeek: \"eeee 'at' p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n  return formatRelativeLocale[token];\n};\nexport default formatRelative;","export default function buildLocalizeFn(args) {\n  return function (dirtyIndex, options) {\n    var context = options !== null && options !== void 0 && options.context ? String(options.context) : 'standalone';\n    var valuesArray;\n    if (context === 'formatting' && args.formattingValues) {\n      var defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n      var width = options !== null && options !== void 0 && options.width ? String(options.width) : defaultWidth;\n      valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];\n    } else {\n      var _defaultWidth = args.defaultWidth;\n      var _width = options !== null && options !== void 0 && options.width ? String(options.width) : args.defaultWidth;\n      valuesArray = args.values[_width] || args.values[_defaultWidth];\n    }\n    var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex;\n    // @ts-ignore: For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n    return valuesArray[index];\n  };\n}","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['B', 'A'],\n  abbreviated: ['BC', 'AD'],\n  wide: ['Before Christ', 'Anno Domini']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n  wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter']\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nvar monthValues = {\n  narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n  abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n  wide: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\n};\nvar dayValues = {\n  narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n  short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n  abbreviated: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n  wide: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'a',\n    pm: 'p',\n    midnight: 'mi',\n    noon: 'n',\n    morning: 'morning',\n    afternoon: 'afternoon',\n    evening: 'evening',\n    night: 'night'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'midnight',\n    noon: 'noon',\n    morning: 'morning',\n    afternoon: 'afternoon',\n    evening: 'evening',\n    night: 'night'\n  },\n  wide: {\n    am: 'a.m.',\n    pm: 'p.m.',\n    midnight: 'midnight',\n    noon: 'noon',\n    morning: 'morning',\n    afternoon: 'afternoon',\n    evening: 'evening',\n    night: 'night'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: 'a',\n    pm: 'p',\n    midnight: 'mi',\n    noon: 'n',\n    morning: 'in the morning',\n    afternoon: 'in the afternoon',\n    evening: 'in the evening',\n    night: 'at night'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'midnight',\n    noon: 'noon',\n    morning: 'in the morning',\n    afternoon: 'in the afternoon',\n    evening: 'in the evening',\n    night: 'at night'\n  },\n  wide: {\n    am: 'a.m.',\n    pm: 'p.m.',\n    midnight: 'midnight',\n    noon: 'noon',\n    morning: 'in the morning',\n    afternoon: 'in the afternoon',\n    evening: 'in the evening',\n    night: 'at night'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n  var number = Number(dirtyNumber);\n\n  // If ordinal numbers depend on context, for example,\n  // if they are different for different grammatical genders,\n  // use `options.unit`.\n  //\n  // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n  // 'day', 'hour', 'minute', 'second'.\n\n  var rem100 = number % 100;\n  if (rem100 > 20 || rem100 < 10) {\n    switch (rem100 % 10) {\n      case 1:\n        return number + 'st';\n      case 2:\n        return number + 'nd';\n      case 3:\n        return number + 'rd';\n    }\n  }\n  return number + 'th';\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","export default function buildMatchFn(args) {\n  return function (string) {\n    var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n    var width = options.width;\n    var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];\n    var matchResult = string.match(matchPattern);\n    if (!matchResult) {\n      return null;\n    }\n    var matchedString = matchResult[0];\n    var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];\n    var key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, function (pattern) {\n      return pattern.test(matchedString);\n    }) : findKey(parsePatterns, function (pattern) {\n      return pattern.test(matchedString);\n    });\n    var value;\n    value = args.valueCallback ? args.valueCallback(key) : key;\n    value = options.valueCallback ? options.valueCallback(value) : value;\n    var rest = string.slice(matchedString.length);\n    return {\n      value: value,\n      rest: rest\n    };\n  };\n}\nfunction findKey(object, predicate) {\n  for (var key in object) {\n    if (object.hasOwnProperty(key) && predicate(object[key])) {\n      return key;\n    }\n  }\n  return undefined;\n}\nfunction findIndex(array, predicate) {\n  for (var key = 0; key < array.length; key++) {\n    if (predicate(array[key])) {\n      return key;\n    }\n  }\n  return undefined;\n}","export default function buildMatchPatternFn(args) {\n  return function (string) {\n    var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n    var matchResult = string.match(args.matchPattern);\n    if (!matchResult) return null;\n    var matchedString = matchResult[0];\n    var parseResult = string.match(args.parsePattern);\n    if (!parseResult) return null;\n    var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];\n    value = options.valueCallback ? options.valueCallback(value) : value;\n    var rest = string.slice(matchedString.length);\n    return {\n      value: value,\n      rest: rest\n    };\n  };\n}","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(b|a)/i,\n  abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n  wide: /^(before christ|before common era|anno domini|common era)/i\n};\nvar parseEraPatterns = {\n  any: [/^b/i, /^(a|c)/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^[1234](th|st|nd|rd)? quarter/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n  wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n  any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[smtwf]/i,\n  short: /^(su|mo|tu|we|th|fr|sa)/i,\n  abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n  wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n};\nvar parseDayPatterns = {\n  narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n  any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n  narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n  any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^a/i,\n    pm: /^p/i,\n    midnight: /^mi/i,\n    noon: /^no/i,\n    morning: /morning/i,\n    afternoon: /afternoon/i,\n    evening: /evening/i,\n    night: /night/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}\n * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}\n */\nvar locale = {\n  code: 'en-US',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 0 /* Sunday */,\n    firstWeekContainsDate: 1\n  }\n};\nexport default locale;","import defaultLocale from \"../../locale/en-US/index.js\";\nexport default defaultLocale;","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addMilliseconds\n * @category Millisecond Helpers\n * @summary Add the specified number of milliseconds to the given date.\n *\n * @description\n * Add the specified number of milliseconds to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 750 milliseconds to 10 July 2014 12:45:30.000:\n * const result = addMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:30.750\n */\nexport default function addMilliseconds(dirtyDate, dirtyAmount) {\n  requiredArgs(2, arguments);\n  var timestamp = toDate(dirtyDate).getTime();\n  var amount = toInteger(dirtyAmount);\n  return new Date(timestamp + amount);\n}","import addMilliseconds from \"../addMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name subMilliseconds\n * @category Millisecond Helpers\n * @summary Subtract the specified number of milliseconds from the given date.\n *\n * @description\n * Subtract the specified number of milliseconds from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 750 milliseconds from 10 July 2014 12:45:30.000:\n * const result = subMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:29.250\n */\nexport default function subMilliseconds(dirtyDate, dirtyAmount) {\n  requiredArgs(2, arguments);\n  var amount = toInteger(dirtyAmount);\n  return addMilliseconds(dirtyDate, -amount);\n}","export default function assign(target, object) {\n  if (target == null) {\n    throw new TypeError('assign requires that input parameter not be null or undefined');\n  }\n  for (var property in object) {\n    if (Object.prototype.hasOwnProperty.call(object, property)) {\n      ;\n      target[property] = object[property];\n    }\n  }\n  return target;\n}","var dateLongFormatter = function dateLongFormatter(pattern, formatLong) {\n  switch (pattern) {\n    case 'P':\n      return formatLong.date({\n        width: 'short'\n      });\n    case 'PP':\n      return formatLong.date({\n        width: 'medium'\n      });\n    case 'PPP':\n      return formatLong.date({\n        width: 'long'\n      });\n    case 'PPPP':\n    default:\n      return formatLong.date({\n        width: 'full'\n      });\n  }\n};\nvar timeLongFormatter = function timeLongFormatter(pattern, formatLong) {\n  switch (pattern) {\n    case 'p':\n      return formatLong.time({\n        width: 'short'\n      });\n    case 'pp':\n      return formatLong.time({\n        width: 'medium'\n      });\n    case 'ppp':\n      return formatLong.time({\n        width: 'long'\n      });\n    case 'pppp':\n    default:\n      return formatLong.time({\n        width: 'full'\n      });\n  }\n};\nvar dateTimeLongFormatter = function dateTimeLongFormatter(pattern, formatLong) {\n  var matchResult = pattern.match(/(P+)(p+)?/) || [];\n  var datePattern = matchResult[1];\n  var timePattern = matchResult[2];\n  if (!timePattern) {\n    return dateLongFormatter(pattern, formatLong);\n  }\n  var dateTimeFormat;\n  switch (datePattern) {\n    case 'P':\n      dateTimeFormat = formatLong.dateTime({\n        width: 'short'\n      });\n      break;\n    case 'PP':\n      dateTimeFormat = formatLong.dateTime({\n        width: 'medium'\n      });\n      break;\n    case 'PPP':\n      dateTimeFormat = formatLong.dateTime({\n        width: 'long'\n      });\n      break;\n    case 'PPPP':\n    default:\n      dateTimeFormat = formatLong.dateTime({\n        width: 'full'\n      });\n      break;\n  }\n  return dateTimeFormat.replace('{{date}}', dateLongFormatter(datePattern, formatLong)).replace('{{time}}', timeLongFormatter(timePattern, formatLong));\n};\nvar longFormatters = {\n  p: timeLongFormatter,\n  P: dateTimeLongFormatter\n};\nexport default longFormatters;","/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nexport default function getTimezoneOffsetInMilliseconds(date) {\n  var utcDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));\n  utcDate.setUTCFullYear(date.getFullYear());\n  return date.getTime() - utcDate.getTime();\n}","var protectedDayOfYearTokens = ['D', 'DD'];\nvar protectedWeekYearTokens = ['YY', 'YYYY'];\nexport function isProtectedDayOfYearToken(token) {\n  return protectedDayOfYearTokens.indexOf(token) !== -1;\n}\nexport function isProtectedWeekYearToken(token) {\n  return protectedWeekYearTokens.indexOf(token) !== -1;\n}\nexport function throwProtectedError(token, format, input) {\n  if (token === 'YYYY') {\n    throw new RangeError(\"Use `yyyy` instead of `YYYY` (in `\".concat(format, \"`) for formatting years to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n  } else if (token === 'YY') {\n    throw new RangeError(\"Use `yy` instead of `YY` (in `\".concat(format, \"`) for formatting years to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n  } else if (token === 'D') {\n    throw new RangeError(\"Use `d` instead of `D` (in `\".concat(format, \"`) for formatting days of the month to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n  } else if (token === 'DD') {\n    throw new RangeError(\"Use `dd` instead of `DD` (in `\".concat(format, \"`) for formatting days of the month to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n  }\n}","function _assertThisInitialized(e) {\n  if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  return e;\n}\nexport { _assertThisInitialized as default };","function _setPrototypeOf(t, e) {\n  return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n    return t.__proto__ = e, t;\n  }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inherits(t, e) {\n  if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n  t.prototype = Object.create(e && e.prototype, {\n    constructor: {\n      value: t,\n      writable: !0,\n      configurable: !0\n    }\n  }), Object.defineProperty(t, \"prototype\", {\n    writable: !1\n  }), e && setPrototypeOf(t, e);\n}\nexport { _inherits as default };","function _getPrototypeOf(t) {\n  return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n    return t.__proto__ || Object.getPrototypeOf(t);\n  }, _getPrototypeOf(t);\n}\nexport { _getPrototypeOf as default };","function _isNativeReflectConstruct() {\n  try {\n    var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n  } catch (t) {}\n  return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n    return !!t;\n  })();\n}\nexport { _isNativeReflectConstruct as default };","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nfunction _possibleConstructorReturn(t, e) {\n  if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n  if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n  return assertThisInitialized(t);\n}\nexport { _possibleConstructorReturn as default };","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nfunction _createSuper(t) {\n  var r = isNativeReflectConstruct();\n  return function () {\n    var e,\n      o = getPrototypeOf(t);\n    if (r) {\n      var s = getPrototypeOf(this).constructor;\n      e = Reflect.construct(o, arguments, s);\n    } else e = o.apply(this, arguments);\n    return possibleConstructorReturn(this, e);\n  };\n}\nexport { _createSuper as default };","function _classCallCheck(a, n) {\n  if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n  if (\"object\" != _typeof(t) || !t) return t;\n  var e = t[Symbol.toPrimitive];\n  if (void 0 !== e) {\n    var i = e.call(t, r || \"default\");\n    if (\"object\" != _typeof(i)) return i;\n    throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n  }\n  return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n  var i = toPrimitive(t, \"string\");\n  return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n  for (var t = 0; t < r.length; t++) {\n    var o = r[t];\n    o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n  }\n}\nfunction _createClass(e, r, t) {\n  return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n    writable: !1\n  }), e;\n}\nexport { _createClass as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n    value: t,\n    enumerable: !0,\n    configurable: !0,\n    writable: !0\n  }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar TIMEZONE_UNIT_PRIORITY = 10;\nexport var Setter = /*#__PURE__*/function () {\n  function Setter() {\n    _classCallCheck(this, Setter);\n    _defineProperty(this, \"priority\", void 0);\n    _defineProperty(this, \"subPriority\", 0);\n  }\n  _createClass(Setter, [{\n    key: \"validate\",\n    value: function validate(_utcDate, _options) {\n      return true;\n    }\n  }]);\n  return Setter;\n}();\nexport var ValueSetter = /*#__PURE__*/function (_Setter) {\n  _inherits(ValueSetter, _Setter);\n  var _super = _createSuper(ValueSetter);\n  function ValueSetter(value, validateValue, setValue, priority, subPriority) {\n    var _this;\n    _classCallCheck(this, ValueSetter);\n    _this = _super.call(this);\n    _this.value = value;\n    _this.validateValue = validateValue;\n    _this.setValue = setValue;\n    _this.priority = priority;\n    if (subPriority) {\n      _this.subPriority = subPriority;\n    }\n    return _this;\n  }\n  _createClass(ValueSetter, [{\n    key: \"validate\",\n    value: function validate(utcDate, options) {\n      return this.validateValue(utcDate, this.value, options);\n    }\n  }, {\n    key: \"set\",\n    value: function set(utcDate, flags, options) {\n      return this.setValue(utcDate, flags, this.value, options);\n    }\n  }]);\n  return ValueSetter;\n}(Setter);\nexport var DateToSystemTimezoneSetter = /*#__PURE__*/function (_Setter2) {\n  _inherits(DateToSystemTimezoneSetter, _Setter2);\n  var _super2 = _createSuper(DateToSystemTimezoneSetter);\n  function DateToSystemTimezoneSetter() {\n    var _this2;\n    _classCallCheck(this, DateToSystemTimezoneSetter);\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    _this2 = _super2.call.apply(_super2, [this].concat(args));\n    _defineProperty(_assertThisInitialized(_this2), \"priority\", TIMEZONE_UNIT_PRIORITY);\n    _defineProperty(_assertThisInitialized(_this2), \"subPriority\", -1);\n    return _this2;\n  }\n  _createClass(DateToSystemTimezoneSetter, [{\n    key: \"set\",\n    value: function set(date, flags) {\n      if (flags.timestampIsSet) {\n        return date;\n      }\n      var convertedDate = new Date(0);\n      convertedDate.setFullYear(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());\n      convertedDate.setHours(date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getUTCMilliseconds());\n      return convertedDate;\n    }\n  }]);\n  return DateToSystemTimezoneSetter;\n}(Setter);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { ValueSetter } from \"./Setter.js\";\nexport var Parser = /*#__PURE__*/function () {\n  function Parser() {\n    _classCallCheck(this, Parser);\n    _defineProperty(this, \"incompatibleTokens\", void 0);\n    _defineProperty(this, \"priority\", void 0);\n    _defineProperty(this, \"subPriority\", void 0);\n  }\n  _createClass(Parser, [{\n    key: \"run\",\n    value: function run(dateString, token, match, options) {\n      var result = this.parse(dateString, token, match, options);\n      if (!result) {\n        return null;\n      }\n      return {\n        setter: new ValueSetter(result.value, this.validate, this.set, this.priority, this.subPriority),\n        rest: result.rest\n      };\n    }\n  }, {\n    key: \"validate\",\n    value: function validate(_utcDate, _value, _options) {\n      return true;\n    }\n  }]);\n  return Parser;\n}();","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nexport var EraParser = /*#__PURE__*/function (_Parser) {\n  _inherits(EraParser, _Parser);\n  var _super = _createSuper(EraParser);\n  function EraParser() {\n    var _this;\n    _classCallCheck(this, EraParser);\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    _this = _super.call.apply(_super, [this].concat(args));\n    _defineProperty(_assertThisInitialized(_this), \"priority\", 140);\n    _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['R', 'u', 't', 'T']);\n    return _this;\n  }\n  _createClass(EraParser, [{\n    key: \"parse\",\n    value: function parse(dateString, token, match) {\n      switch (token) {\n        // AD, BC\n        case 'G':\n        case 'GG':\n        case 'GGG':\n          return match.era(dateString, {\n            width: 'abbreviated'\n          }) || match.era(dateString, {\n            width: 'narrow'\n          });\n        // A, B\n        case 'GGGGG':\n          return match.era(dateString, {\n            width: 'narrow'\n          });\n        // Anno Domini, Before Christ\n        case 'GGGG':\n        default:\n          return match.era(dateString, {\n            width: 'wide'\n          }) || match.era(dateString, {\n            width: 'abbreviated'\n          }) || match.era(dateString, {\n            width: 'narrow'\n          });\n      }\n    }\n  }, {\n    key: \"set\",\n    value: function set(date, flags, value) {\n      flags.era = value;\n      date.setUTCFullYear(value, 0, 1);\n      date.setUTCHours(0, 0, 0, 0);\n      return date;\n    }\n  }]);\n  return EraParser;\n}(Parser);","/**\n * Days in 1 week.\n *\n * @name daysInWeek\n * @constant\n * @type {number}\n * @default\n */\nexport var daysInWeek = 7;\n\n/**\n * Days in 1 year\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occures every 4 years, except for years that are divisable by 100 and not divisable by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n *\n * @name daysInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var daysInYear = 365.2425;\n\n/**\n * Maximum allowed time.\n *\n * @name maxTime\n * @constant\n * @type {number}\n * @default\n */\nexport var maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n\n/**\n * Milliseconds in 1 minute\n *\n * @name millisecondsInMinute\n * @constant\n * @type {number}\n * @default\n */\nexport var millisecondsInMinute = 60000;\n\n/**\n * Milliseconds in 1 hour\n *\n * @name millisecondsInHour\n * @constant\n * @type {number}\n * @default\n */\nexport var millisecondsInHour = 3600000;\n\n/**\n * Milliseconds in 1 second\n *\n * @name millisecondsInSecond\n * @constant\n * @type {number}\n * @default\n */\nexport var millisecondsInSecond = 1000;\n\n/**\n * Minimum allowed time.\n *\n * @name minTime\n * @constant\n * @type {number}\n * @default\n */\nexport var minTime = -maxTime;\n\n/**\n * Minutes in 1 hour\n *\n * @name minutesInHour\n * @constant\n * @type {number}\n * @default\n */\nexport var minutesInHour = 60;\n\n/**\n * Months in 1 quarter\n *\n * @name monthsInQuarter\n * @constant\n * @type {number}\n * @default\n */\nexport var monthsInQuarter = 3;\n\n/**\n * Months in 1 year\n *\n * @name monthsInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var monthsInYear = 12;\n\n/**\n * Quarters in 1 year\n *\n * @name quartersInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var quartersInYear = 4;\n\n/**\n * Seconds in 1 hour\n *\n * @name secondsInHour\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInHour = 3600;\n\n/**\n * Seconds in 1 minute\n *\n * @name secondsInMinute\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInMinute = 60;\n\n/**\n * Seconds in 1 day\n *\n * @name secondsInDay\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInDay = secondsInHour * 24;\n\n/**\n * Seconds in 1 week\n *\n * @name secondsInWeek\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInWeek = secondsInDay * 7;\n\n/**\n * Seconds in 1 year\n *\n * @name secondsInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInYear = secondsInDay * daysInYear;\n\n/**\n * Seconds in 1 month\n *\n * @name secondsInMonth\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInMonth = secondsInYear / 12;\n\n/**\n * Seconds in 1 quarter\n *\n * @name secondsInQuarter\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInQuarter = secondsInMonth * 3;","export var numericPatterns = {\n  month: /^(1[0-2]|0?\\d)/,\n  // 0 to 12\n  date: /^(3[0-1]|[0-2]?\\d)/,\n  // 0 to 31\n  dayOfYear: /^(36[0-6]|3[0-5]\\d|[0-2]?\\d?\\d)/,\n  // 0 to 366\n  week: /^(5[0-3]|[0-4]?\\d)/,\n  // 0 to 53\n  hour23h: /^(2[0-3]|[0-1]?\\d)/,\n  // 0 to 23\n  hour24h: /^(2[0-4]|[0-1]?\\d)/,\n  // 0 to 24\n  hour11h: /^(1[0-1]|0?\\d)/,\n  // 0 to 11\n  hour12h: /^(1[0-2]|0?\\d)/,\n  // 0 to 12\n  minute: /^[0-5]?\\d/,\n  // 0 to 59\n  second: /^[0-5]?\\d/,\n  // 0 to 59\n\n  singleDigit: /^\\d/,\n  // 0 to 9\n  twoDigits: /^\\d{1,2}/,\n  // 0 to 99\n  threeDigits: /^\\d{1,3}/,\n  // 0 to 999\n  fourDigits: /^\\d{1,4}/,\n  // 0 to 9999\n\n  anyDigitsSigned: /^-?\\d+/,\n  singleDigitSigned: /^-?\\d/,\n  // 0 to 9, -0 to -9\n  twoDigitsSigned: /^-?\\d{1,2}/,\n  // 0 to 99, -0 to -99\n  threeDigitsSigned: /^-?\\d{1,3}/,\n  // 0 to 999, -0 to -999\n  fourDigitsSigned: /^-?\\d{1,4}/ // 0 to 9999, -0 to -9999\n};\n\nexport var timezonePatterns = {\n  basicOptionalMinutes: /^([+-])(\\d{2})(\\d{2})?|Z/,\n  basic: /^([+-])(\\d{2})(\\d{2})|Z/,\n  basicOptionalSeconds: /^([+-])(\\d{2})(\\d{2})((\\d{2}))?|Z/,\n  extended: /^([+-])(\\d{2}):(\\d{2})|Z/,\n  extendedOptionalSeconds: /^([+-])(\\d{2}):(\\d{2})(:(\\d{2}))?|Z/\n};","import { millisecondsInHour, millisecondsInMinute, millisecondsInSecond } from \"../../constants/index.js\";\nimport { numericPatterns } from \"./constants.js\";\nexport function mapValue(parseFnResult, mapFn) {\n  if (!parseFnResult) {\n    return parseFnResult;\n  }\n  return {\n    value: mapFn(parseFnResult.value),\n    rest: parseFnResult.rest\n  };\n}\nexport function parseNumericPattern(pattern, dateString) {\n  var matchResult = dateString.match(pattern);\n  if (!matchResult) {\n    return null;\n  }\n  return {\n    value: parseInt(matchResult[0], 10),\n    rest: dateString.slice(matchResult[0].length)\n  };\n}\nexport function parseTimezonePattern(pattern, dateString) {\n  var matchResult = dateString.match(pattern);\n  if (!matchResult) {\n    return null;\n  }\n\n  // Input is 'Z'\n  if (matchResult[0] === 'Z') {\n    return {\n      value: 0,\n      rest: dateString.slice(1)\n    };\n  }\n  var sign = matchResult[1] === '+' ? 1 : -1;\n  var hours = matchResult[2] ? parseInt(matchResult[2], 10) : 0;\n  var minutes = matchResult[3] ? parseInt(matchResult[3], 10) : 0;\n  var seconds = matchResult[5] ? parseInt(matchResult[5], 10) : 0;\n  return {\n    value: sign * (hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * millisecondsInSecond),\n    rest: dateString.slice(matchResult[0].length)\n  };\n}\nexport function parseAnyDigitsSigned(dateString) {\n  return parseNumericPattern(numericPatterns.anyDigitsSigned, dateString);\n}\nexport function parseNDigits(n, dateString) {\n  switch (n) {\n    case 1:\n      return parseNumericPattern(numericPatterns.singleDigit, dateString);\n    case 2:\n      return parseNumericPattern(numericPatterns.twoDigits, dateString);\n    case 3:\n      return parseNumericPattern(numericPatterns.threeDigits, dateString);\n    case 4:\n      return parseNumericPattern(numericPatterns.fourDigits, dateString);\n    default:\n      return parseNumericPattern(new RegExp('^\\\\d{1,' + n + '}'), dateString);\n  }\n}\nexport function parseNDigitsSigned(n, dateString) {\n  switch (n) {\n    case 1:\n      return parseNumericPattern(numericPatterns.singleDigitSigned, dateString);\n    case 2:\n      return parseNumericPattern(numericPatterns.twoDigitsSigned, dateString);\n    case 3:\n      return parseNumericPattern(numericPatterns.threeDigitsSigned, dateString);\n    case 4:\n      return parseNumericPattern(numericPatterns.fourDigitsSigned, dateString);\n    default:\n      return parseNumericPattern(new RegExp('^-?\\\\d{1,' + n + '}'), dateString);\n  }\n}\nexport function dayPeriodEnumToHours(dayPeriod) {\n  switch (dayPeriod) {\n    case 'morning':\n      return 4;\n    case 'evening':\n      return 17;\n    case 'pm':\n    case 'noon':\n    case 'afternoon':\n      return 12;\n    case 'am':\n    case 'midnight':\n    case 'night':\n    default:\n      return 0;\n  }\n}\nexport function normalizeTwoDigitYear(twoDigitYear, currentYear) {\n  var isCommonEra = currentYear > 0;\n  // Absolute number of the current year:\n  // 1 -> 1 AC\n  // 0 -> 1 BC\n  // -1 -> 2 BC\n  var absCurrentYear = isCommonEra ? currentYear : 1 - currentYear;\n  var result;\n  if (absCurrentYear <= 50) {\n    result = twoDigitYear || 100;\n  } else {\n    var rangeEnd = absCurrentYear + 50;\n    var rangeEndCentury = Math.floor(rangeEnd / 100) * 100;\n    var isPreviousCentury = twoDigitYear >= rangeEnd % 100;\n    result = twoDigitYear + rangeEndCentury - (isPreviousCentury ? 100 : 0);\n  }\n  return isCommonEra ? result : 1 - result;\n}\nexport function isLeapYearIndex(year) {\n  return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, normalizeTwoDigitYear, parseNDigits } from \"../utils.js\";\n// From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns\n// | Year     |     y | yy |   yyy |  yyyy | yyyyy |\n// |----------|-------|----|-------|-------|-------|\n// | AD 1     |     1 | 01 |   001 |  0001 | 00001 |\n// | AD 12    |    12 | 12 |   012 |  0012 | 00012 |\n// | AD 123   |   123 | 23 |   123 |  0123 | 00123 |\n// | AD 1234  |  1234 | 34 |  1234 |  1234 | 01234 |\n// | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\nexport var YearParser = /*#__PURE__*/function (_Parser) {\n  _inherits(YearParser, _Parser);\n  var _super = _createSuper(YearParser);\n  function YearParser() {\n    var _this;\n    _classCallCheck(this, YearParser);\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    _this = _super.call.apply(_super, [this].concat(args));\n    _defineProperty(_assertThisInitialized(_this), \"priority\", 130);\n    _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'u', 'w', 'I', 'i', 'e', 'c', 't', 'T']);\n    return _this;\n  }\n  _createClass(YearParser, [{\n    key: \"parse\",\n    value: function parse(dateString, token, match) {\n      var valueCallback = function valueCallback(year) {\n        return {\n          year: year,\n          isTwoDigitYear: token === 'yy'\n        };\n      };\n      switch (token) {\n        case 'y':\n          return mapValue(parseNDigits(4, dateString), valueCallback);\n        case 'yo':\n          return mapValue(match.ordinalNumber(dateString, {\n            unit: 'year'\n          }), valueCallback);\n        default:\n          return mapValue(parseNDigits(token.length, dateString), valueCallback);\n      }\n    }\n  }, {\n    key: \"validate\",\n    value: function validate(_date, value) {\n      return value.isTwoDigitYear || value.year > 0;\n    }\n  }, {\n    key: \"set\",\n    value: function set(date, flags, value) {\n      var currentYear = date.getUTCFullYear();\n      if (value.isTwoDigitYear) {\n        var normalizedTwoDigitYear = normalizeTwoDigitYear(value.year, currentYear);\n        date.setUTCFullYear(normalizedTwoDigitYear, 0, 1);\n        date.setUTCHours(0, 0, 0, 0);\n        return date;\n      }\n      var year = !('era' in flags) || flags.era === 1 ? value.year : 1 - value.year;\n      date.setUTCFullYear(year, 0, 1);\n      date.setUTCHours(0, 0, 0, 0);\n      return date;\n    }\n  }]);\n  return YearParser;\n}(Parser);","var defaultOptions = {};\nexport function getDefaultOptions() {\n  return defaultOptions;\n}\nexport function setDefaultOptions(newOptions) {\n  defaultOptions = newOptions;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function startOfUTCWeek(dirtyDate, options) {\n  var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n  requiredArgs(1, arguments);\n  var defaultOptions = getDefaultOptions();\n  var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0);\n\n  // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n  if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n    throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n  }\n  var date = toDate(dirtyDate);\n  var day = date.getUTCDay();\n  var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n  date.setUTCDate(date.getUTCDate() - diff);\n  date.setUTCHours(0, 0, 0, 0);\n  return date;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function getUTCWeekYear(dirtyDate, options) {\n  var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  var year = date.getUTCFullYear();\n  var defaultOptions = getDefaultOptions();\n  var firstWeekContainsDate = toInteger((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1);\n\n  // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n  if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n    throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n  }\n  var firstWeekOfNextYear = new Date(0);\n  firstWeekOfNextYear.setUTCFullYear(year + 1, 0, firstWeekContainsDate);\n  firstWeekOfNextYear.setUTCHours(0, 0, 0, 0);\n  var startOfNextYear = startOfUTCWeek(firstWeekOfNextYear, options);\n  var firstWeekOfThisYear = new Date(0);\n  firstWeekOfThisYear.setUTCFullYear(year, 0, firstWeekContainsDate);\n  firstWeekOfThisYear.setUTCHours(0, 0, 0, 0);\n  var startOfThisYear = startOfUTCWeek(firstWeekOfThisYear, options);\n  if (date.getTime() >= startOfNextYear.getTime()) {\n    return year + 1;\n  } else if (date.getTime() >= startOfThisYear.getTime()) {\n    return year;\n  } else {\n    return year - 1;\n  }\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigits, normalizeTwoDigitYear, mapValue } from \"../utils.js\";\nimport getUTCWeekYear from \"../../../_lib/getUTCWeekYear/index.js\";\nimport startOfUTCWeek from \"../../../_lib/startOfUTCWeek/index.js\";\n// Local week-numbering year\nexport var LocalWeekYearParser = /*#__PURE__*/function (_Parser) {\n  _inherits(LocalWeekYearParser, _Parser);\n  var _super = _createSuper(LocalWeekYearParser);\n  function LocalWeekYearParser() {\n    var _this;\n    _classCallCheck(this, LocalWeekYearParser);\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    _this = _super.call.apply(_super, [this].concat(args));\n    _defineProperty(_assertThisInitialized(_this), \"priority\", 130);\n    _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'R', 'u', 'Q', 'q', 'M', 'L', 'I', 'd', 'D', 'i', 't', 'T']);\n    return _this;\n  }\n  _createClass(LocalWeekYearParser, [{\n    key: \"parse\",\n    value: function parse(dateString, token, match) {\n      var valueCallback = function valueCallback(year) {\n        return {\n          year: year,\n          isTwoDigitYear: token === 'YY'\n        };\n      };\n      switch (token) {\n        case 'Y':\n          return mapValue(parseNDigits(4, dateString), valueCallback);\n        case 'Yo':\n          return mapValue(match.ordinalNumber(dateString, {\n            unit: 'year'\n          }), valueCallback);\n        default:\n          return mapValue(parseNDigits(token.length, dateString), valueCallback);\n      }\n    }\n  }, {\n    key: \"validate\",\n    value: function validate(_date, value) {\n      return value.isTwoDigitYear || value.year > 0;\n    }\n  }, {\n    key: \"set\",\n    value: function set(date, flags, value, options) {\n      var currentYear = getUTCWeekYear(date, options);\n      if (value.isTwoDigitYear) {\n        var normalizedTwoDigitYear = normalizeTwoDigitYear(value.year, currentYear);\n        date.setUTCFullYear(normalizedTwoDigitYear, 0, options.firstWeekContainsDate);\n        date.setUTCHours(0, 0, 0, 0);\n        return startOfUTCWeek(date, options);\n      }\n      var year = !('era' in flags) || flags.era === 1 ? value.year : 1 - value.year;\n      date.setUTCFullYear(year, 0, options.firstWeekContainsDate);\n      date.setUTCHours(0, 0, 0, 0);\n      return startOfUTCWeek(date, options);\n    }\n  }]);\n  return LocalWeekYearParser;\n}(Parser);","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function startOfUTCISOWeek(dirtyDate) {\n  requiredArgs(1, arguments);\n  var weekStartsOn = 1;\n  var date = toDate(dirtyDate);\n  var day = date.getUTCDay();\n  var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n  date.setUTCDate(date.getUTCDate() - diff);\n  date.setUTCHours(0, 0, 0, 0);\n  return date;\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigitsSigned } from \"../utils.js\";\nimport startOfUTCISOWeek from \"../../../_lib/startOfUTCISOWeek/index.js\"; // ISO week-numbering year\nexport var ISOWeekYearParser = /*#__PURE__*/function (_Parser) {\n  _inherits(ISOWeekYearParser, _Parser);\n  var _super = _createSuper(ISOWeekYearParser);\n  function ISOWeekYearParser() {\n    var _this;\n    _classCallCheck(this, ISOWeekYearParser);\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    _this = _super.call.apply(_super, [this].concat(args));\n    _defineProperty(_assertThisInitialized(_this), \"priority\", 130);\n    _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['G', 'y', 'Y', 'u', 'Q', 'q', 'M', 'L', 'w', 'd', 'D', 'e', 'c', 't', 'T']);\n    return _this;\n  }\n  _createClass(ISOWeekYearParser, [{\n    key: \"parse\",\n    value: function parse(dateString, token) {\n      if (token === 'R') {\n        return parseNDigitsSigned(4, dateString);\n      }\n      return parseNDigitsSigned(token.length, dateString);\n    }\n  }, {\n    key: \"set\",\n    value: function set(_date, _flags, value) {\n      var firstWeekOfYear = new Date(0);\n      firstWeekOfYear.setUTCFullYear(value, 0, 4);\n      firstWeekOfYear.setUTCHours(0, 0, 0, 0);\n      return startOfUTCISOWeek(firstWeekOfYear);\n    }\n  }]);\n  return ISOWeekYearParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigitsSigned } from \"../utils.js\";\nexport var ExtendedYearParser = /*#__PURE__*/function (_Parser) {\n  _inherits(ExtendedYearParser, _Parser);\n  var _super = _createSuper(ExtendedYearParser);\n  function ExtendedYearParser() {\n    var _this;\n    _classCallCheck(this, ExtendedYearParser);\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    _this = _super.call.apply(_super, [this].concat(args));\n    _defineProperty(_assertThisInitialized(_this), \"priority\", 130);\n    _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['G', 'y', 'Y', 'R', 'w', 'I', 'i', 'e', 'c', 't', 'T']);\n    return _this;\n  }\n  _createClass(ExtendedYearParser, [{\n    key: \"parse\",\n    value: function parse(dateString, token) {\n      if (token === 'u') {\n        return parseNDigitsSigned(4, dateString);\n      }\n      return parseNDigitsSigned(token.length, dateString);\n    }\n  }, {\n    key: \"set\",\n    value: function set(date, _flags, value) {\n      date.setUTCFullYear(value, 0, 1);\n      date.setUTCHours(0, 0, 0, 0);\n      return date;\n    }\n  }]);\n  return ExtendedYearParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigits } from \"../utils.js\";\nexport var QuarterParser = /*#__PURE__*/function (_Parser) {\n  _inherits(QuarterParser, _Parser);\n  var _super = _createSuper(QuarterParser);\n  function QuarterParser() {\n    var _this;\n    _classCallCheck(this, QuarterParser);\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    _this = _super.call.apply(_super, [this].concat(args));\n    _defineProperty(_assertThisInitialized(_this), \"priority\", 120);\n    _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'M', 'L', 'w', 'I', 'd', 'D', 'i', 'e', 'c', 't', 'T']);\n    return _this;\n  }\n  _createClass(QuarterParser, [{\n    key: \"parse\",\n    value: function parse(dateString, token, match) {\n      switch (token) {\n        // 1, 2, 3, 4\n        case 'Q':\n        case 'QQ':\n          // 01, 02, 03, 04\n          return parseNDigits(token.length, dateString);\n        // 1st, 2nd, 3rd, 4th\n        case 'Qo':\n          return match.ordinalNumber(dateString, {\n            unit: 'quarter'\n          });\n        // Q1, Q2, Q3, Q4\n        case 'QQQ':\n          return match.quarter(dateString, {\n            width: 'abbreviated',\n            context: 'formatting'\n          }) || match.quarter(dateString, {\n            width: 'narrow',\n            context: 'formatting'\n          });\n        // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n        case 'QQQQQ':\n          return match.quarter(dateString, {\n            width: 'narrow',\n            context: 'formatting'\n          });\n        // 1st quarter, 2nd quarter, ...\n        case 'QQQQ':\n        default:\n          return match.quarter(dateString, {\n            width: 'wide',\n            context: 'formatting'\n          }) || match.quarter(dateString, {\n            width: 'abbreviated',\n            context: 'formatting'\n          }) || match.quarter(dateString, {\n            width: 'narrow',\n            context: 'formatting'\n          });\n      }\n    }\n  }, {\n    key: \"validate\",\n    value: function validate(_date, value) {\n      return value >= 1 && value <= 4;\n    }\n  }, {\n    key: \"set\",\n    value: function set(date, _flags, value) {\n      date.setUTCMonth((value - 1) * 3, 1);\n      date.setUTCHours(0, 0, 0, 0);\n      return date;\n    }\n  }]);\n  return QuarterParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigits } from \"../utils.js\";\nexport var StandAloneQuarterParser = /*#__PURE__*/function (_Parser) {\n  _inherits(StandAloneQuarterParser, _Parser);\n  var _super = _createSuper(StandAloneQuarterParser);\n  function StandAloneQuarterParser() {\n    var _this;\n    _classCallCheck(this, StandAloneQuarterParser);\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    _this = _super.call.apply(_super, [this].concat(args));\n    _defineProperty(_assertThisInitialized(_this), \"priority\", 120);\n    _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'Q', 'M', 'L', 'w', 'I', 'd', 'D', 'i', 'e', 'c', 't', 'T']);\n    return _this;\n  }\n  _createClass(StandAloneQuarterParser, [{\n    key: \"parse\",\n    value: function parse(dateString, token, match) {\n      switch (token) {\n        // 1, 2, 3, 4\n        case 'q':\n        case 'qq':\n          // 01, 02, 03, 04\n          return parseNDigits(token.length, dateString);\n        // 1st, 2nd, 3rd, 4th\n        case 'qo':\n          return match.ordinalNumber(dateString, {\n            unit: 'quarter'\n          });\n        // Q1, Q2, Q3, Q4\n        case 'qqq':\n          return match.quarter(dateString, {\n            width: 'abbreviated',\n            context: 'standalone'\n          }) || match.quarter(dateString, {\n            width: 'narrow',\n            context: 'standalone'\n          });\n        // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n        case 'qqqqq':\n          return match.quarter(dateString, {\n            width: 'narrow',\n            context: 'standalone'\n          });\n        // 1st quarter, 2nd quarter, ...\n        case 'qqqq':\n        default:\n          return match.quarter(dateString, {\n            width: 'wide',\n            context: 'standalone'\n          }) || match.quarter(dateString, {\n            width: 'abbreviated',\n            context: 'standalone'\n          }) || match.quarter(dateString, {\n            width: 'narrow',\n            context: 'standalone'\n          });\n      }\n    }\n  }, {\n    key: \"validate\",\n    value: function validate(_date, value) {\n      return value >= 1 && value <= 4;\n    }\n  }, {\n    key: \"set\",\n    value: function set(date, _flags, value) {\n      date.setUTCMonth((value - 1) * 3, 1);\n      date.setUTCHours(0, 0, 0, 0);\n      return date;\n    }\n  }]);\n  return StandAloneQuarterParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { mapValue, parseNDigits, parseNumericPattern } from \"../utils.js\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nexport var MonthParser = /*#__PURE__*/function (_Parser) {\n  _inherits(MonthParser, _Parser);\n  var _super = _createSuper(MonthParser);\n  function MonthParser() {\n    var _this;\n    _classCallCheck(this, MonthParser);\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    _this = _super.call.apply(_super, [this].concat(args));\n    _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'Q', 'L', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']);\n    _defineProperty(_assertThisInitialized(_this), \"priority\", 110);\n    return _this;\n  }\n  _createClass(MonthParser, [{\n    key: \"parse\",\n    value: function parse(dateString, token, match) {\n      var valueCallback = function valueCallback(value) {\n        return value - 1;\n      };\n      switch (token) {\n        // 1, 2, ..., 12\n        case 'M':\n          return mapValue(parseNumericPattern(numericPatterns.month, dateString), valueCallback);\n        // 01, 02, ..., 12\n        case 'MM':\n          return mapValue(parseNDigits(2, dateString), valueCallback);\n        // 1st, 2nd, ..., 12th\n        case 'Mo':\n          return mapValue(match.ordinalNumber(dateString, {\n            unit: 'month'\n          }), valueCallback);\n        // Jan, Feb, ..., Dec\n        case 'MMM':\n          return match.month(dateString, {\n            width: 'abbreviated',\n            context: 'formatting'\n          }) || match.month(dateString, {\n            width: 'narrow',\n            context: 'formatting'\n          });\n        // J, F, ..., D\n        case 'MMMMM':\n          return match.month(dateString, {\n            width: 'narrow',\n            context: 'formatting'\n          });\n        // January, February, ..., December\n        case 'MMMM':\n        default:\n          return match.month(dateString, {\n            width: 'wide',\n            context: 'formatting'\n          }) || match.month(dateString, {\n            width: 'abbreviated',\n            context: 'formatting'\n          }) || match.month(dateString, {\n            width: 'narrow',\n            context: 'formatting'\n          });\n      }\n    }\n  }, {\n    key: \"validate\",\n    value: function validate(_date, value) {\n      return value >= 0 && value <= 11;\n    }\n  }, {\n    key: \"set\",\n    value: function set(date, _flags, value) {\n      date.setUTCMonth(value, 1);\n      date.setUTCHours(0, 0, 0, 0);\n      return date;\n    }\n  }]);\n  return MonthParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits, mapValue } from \"../utils.js\";\nexport var StandAloneMonthParser = /*#__PURE__*/function (_Parser) {\n  _inherits(StandAloneMonthParser, _Parser);\n  var _super = _createSuper(StandAloneMonthParser);\n  function StandAloneMonthParser() {\n    var _this;\n    _classCallCheck(this, StandAloneMonthParser);\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    _this = _super.call.apply(_super, [this].concat(args));\n    _defineProperty(_assertThisInitialized(_this), \"priority\", 110);\n    _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'Q', 'M', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']);\n    return _this;\n  }\n  _createClass(StandAloneMonthParser, [{\n    key: \"parse\",\n    value: function parse(dateString, token, match) {\n      var valueCallback = function valueCallback(value) {\n        return value - 1;\n      };\n      switch (token) {\n        // 1, 2, ..., 12\n        case 'L':\n          return mapValue(parseNumericPattern(numericPatterns.month, dateString), valueCallback);\n        // 01, 02, ..., 12\n        case 'LL':\n          return mapValue(parseNDigits(2, dateString), valueCallback);\n        // 1st, 2nd, ..., 12th\n        case 'Lo':\n          return mapValue(match.ordinalNumber(dateString, {\n            unit: 'month'\n          }), valueCallback);\n        // Jan, Feb, ..., Dec\n        case 'LLL':\n          return match.month(dateString, {\n            width: 'abbreviated',\n            context: 'standalone'\n          }) || match.month(dateString, {\n            width: 'narrow',\n            context: 'standalone'\n          });\n        // J, F, ..., D\n        case 'LLLLL':\n          return match.month(dateString, {\n            width: 'narrow',\n            context: 'standalone'\n          });\n        // January, February, ..., December\n        case 'LLLL':\n        default:\n          return match.month(dateString, {\n            width: 'wide',\n            context: 'standalone'\n          }) || match.month(dateString, {\n            width: 'abbreviated',\n            context: 'standalone'\n          }) || match.month(dateString, {\n            width: 'narrow',\n            context: 'standalone'\n          });\n      }\n    }\n  }, {\n    key: \"validate\",\n    value: function validate(_date, value) {\n      return value >= 0 && value <= 11;\n    }\n  }, {\n    key: \"set\",\n    value: function set(date, _flags, value) {\n      date.setUTCMonth(value, 1);\n      date.setUTCHours(0, 0, 0, 0);\n      return date;\n    }\n  }]);\n  return StandAloneMonthParser;\n}(Parser);","import getUTCWeekYear from \"../getUTCWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function startOfUTCWeekYear(dirtyDate, options) {\n  var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n  requiredArgs(1, arguments);\n  var defaultOptions = getDefaultOptions();\n  var firstWeekContainsDate = toInteger((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1);\n  var year = getUTCWeekYear(dirtyDate, options);\n  var firstWeek = new Date(0);\n  firstWeek.setUTCFullYear(year, 0, firstWeekContainsDate);\n  firstWeek.setUTCHours(0, 0, 0, 0);\n  var date = startOfUTCWeek(firstWeek, options);\n  return date;\n}","import toDate from \"../../toDate/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport startOfUTCWeekYear from \"../startOfUTCWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\nexport default function getUTCWeek(dirtyDate, options) {\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  var diff = startOfUTCWeek(date, options).getTime() - startOfUTCWeekYear(date, options).getTime();\n\n  // Round the number of days to the nearest integer\n  // because the number of milliseconds in a week is not constant\n  // (e.g. it's different in the week of the daylight saving time clock shift)\n  return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}","import toInteger from \"../toInteger/index.js\";\nimport toDate from \"../../toDate/index.js\";\nimport getUTCWeek from \"../getUTCWeek/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function setUTCWeek(dirtyDate, dirtyWeek, options) {\n  requiredArgs(2, arguments);\n  var date = toDate(dirtyDate);\n  var week = toInteger(dirtyWeek);\n  var diff = getUTCWeek(date, options) - week;\n  date.setUTCDate(date.getUTCDate() - diff * 7);\n  return date;\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nimport setUTCWeek from \"../../../_lib/setUTCWeek/index.js\";\nimport startOfUTCWeek from \"../../../_lib/startOfUTCWeek/index.js\"; // Local week of year\nexport var LocalWeekParser = /*#__PURE__*/function (_Parser) {\n  _inherits(LocalWeekParser, _Parser);\n  var _super = _createSuper(LocalWeekParser);\n  function LocalWeekParser() {\n    var _this;\n    _classCallCheck(this, LocalWeekParser);\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    _this = _super.call.apply(_super, [this].concat(args));\n    _defineProperty(_assertThisInitialized(_this), \"priority\", 100);\n    _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'i', 't', 'T']);\n    return _this;\n  }\n  _createClass(LocalWeekParser, [{\n    key: \"parse\",\n    value: function parse(dateString, token, match) {\n      switch (token) {\n        case 'w':\n          return parseNumericPattern(numericPatterns.week, dateString);\n        case 'wo':\n          return match.ordinalNumber(dateString, {\n            unit: 'week'\n          });\n        default:\n          return parseNDigits(token.length, dateString);\n      }\n    }\n  }, {\n    key: \"validate\",\n    value: function validate(_date, value) {\n      return value >= 1 && value <= 53;\n    }\n  }, {\n    key: \"set\",\n    value: function set(date, _flags, value, options) {\n      return startOfUTCWeek(setUTCWeek(date, value, options), options);\n    }\n  }]);\n  return LocalWeekParser;\n}(Parser);","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nexport default function getUTCISOWeekYear(dirtyDate) {\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  var year = date.getUTCFullYear();\n  var fourthOfJanuaryOfNextYear = new Date(0);\n  fourthOfJanuaryOfNextYear.setUTCFullYear(year + 1, 0, 4);\n  fourthOfJanuaryOfNextYear.setUTCHours(0, 0, 0, 0);\n  var startOfNextYear = startOfUTCISOWeek(fourthOfJanuaryOfNextYear);\n  var fourthOfJanuaryOfThisYear = new Date(0);\n  fourthOfJanuaryOfThisYear.setUTCFullYear(year, 0, 4);\n  fourthOfJanuaryOfThisYear.setUTCHours(0, 0, 0, 0);\n  var startOfThisYear = startOfUTCISOWeek(fourthOfJanuaryOfThisYear);\n  if (date.getTime() >= startOfNextYear.getTime()) {\n    return year + 1;\n  } else if (date.getTime() >= startOfThisYear.getTime()) {\n    return year;\n  } else {\n    return year - 1;\n  }\n}","import getUTCISOWeekYear from \"../getUTCISOWeekYear/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function startOfUTCISOWeekYear(dirtyDate) {\n  requiredArgs(1, arguments);\n  var year = getUTCISOWeekYear(dirtyDate);\n  var fourthOfJanuary = new Date(0);\n  fourthOfJanuary.setUTCFullYear(year, 0, 4);\n  fourthOfJanuary.setUTCHours(0, 0, 0, 0);\n  var date = startOfUTCISOWeek(fourthOfJanuary);\n  return date;\n}","import toDate from \"../../toDate/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nimport startOfUTCISOWeekYear from \"../startOfUTCISOWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\nexport default function getUTCISOWeek(dirtyDate) {\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  var diff = startOfUTCISOWeek(date).getTime() - startOfUTCISOWeekYear(date).getTime();\n\n  // Round the number of days to the nearest integer\n  // because the number of milliseconds in a week is not constant\n  // (e.g. it's different in the week of the daylight saving time clock shift)\n  return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}","import toInteger from \"../toInteger/index.js\";\nimport toDate from \"../../toDate/index.js\";\nimport getUTCISOWeek from \"../getUTCISOWeek/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function setUTCISOWeek(dirtyDate, dirtyISOWeek) {\n  requiredArgs(2, arguments);\n  var date = toDate(dirtyDate);\n  var isoWeek = toInteger(dirtyISOWeek);\n  var diff = getUTCISOWeek(date) - isoWeek;\n  date.setUTCDate(date.getUTCDate() - diff * 7);\n  return date;\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nimport setUTCISOWeek from \"../../../_lib/setUTCISOWeek/index.js\";\nimport startOfUTCISOWeek from \"../../../_lib/startOfUTCISOWeek/index.js\"; // ISO week of year\nexport var ISOWeekParser = /*#__PURE__*/function (_Parser) {\n  _inherits(ISOWeekParser, _Parser);\n  var _super = _createSuper(ISOWeekParser);\n  function ISOWeekParser() {\n    var _this;\n    _classCallCheck(this, ISOWeekParser);\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    _this = _super.call.apply(_super, [this].concat(args));\n    _defineProperty(_assertThisInitialized(_this), \"priority\", 100);\n    _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'Y', 'u', 'q', 'Q', 'M', 'L', 'w', 'd', 'D', 'e', 'c', 't', 'T']);\n    return _this;\n  }\n  _createClass(ISOWeekParser, [{\n    key: \"parse\",\n    value: function parse(dateString, token, match) {\n      switch (token) {\n        case 'I':\n          return parseNumericPattern(numericPatterns.week, dateString);\n        case 'Io':\n          return match.ordinalNumber(dateString, {\n            unit: 'week'\n          });\n        default:\n          return parseNDigits(token.length, dateString);\n      }\n    }\n  }, {\n    key: \"validate\",\n    value: function validate(_date, value) {\n      return value >= 1 && value <= 53;\n    }\n  }, {\n    key: \"set\",\n    value: function set(date, _flags, value) {\n      return startOfUTCISOWeek(setUTCISOWeek(date, value));\n    }\n  }]);\n  return ISOWeekParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { isLeapYearIndex, parseNDigits, parseNumericPattern } from \"../utils.js\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nvar DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nvar DAYS_IN_MONTH_LEAP_YEAR = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\n// Day of the month\nexport var DateParser = /*#__PURE__*/function (_Parser) {\n  _inherits(DateParser, _Parser);\n  var _super = _createSuper(DateParser);\n  function DateParser() {\n    var _this;\n    _classCallCheck(this, DateParser);\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    _this = _super.call.apply(_super, [this].concat(args));\n    _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n    _defineProperty(_assertThisInitialized(_this), \"subPriority\", 1);\n    _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'Q', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']);\n    return _this;\n  }\n  _createClass(DateParser, [{\n    key: \"parse\",\n    value: function parse(dateString, token, match) {\n      switch (token) {\n        case 'd':\n          return parseNumericPattern(numericPatterns.date, dateString);\n        case 'do':\n          return match.ordinalNumber(dateString, {\n            unit: 'date'\n          });\n        default:\n          return parseNDigits(token.length, dateString);\n      }\n    }\n  }, {\n    key: \"validate\",\n    value: function validate(date, value) {\n      var year = date.getUTCFullYear();\n      var isLeapYear = isLeapYearIndex(year);\n      var month = date.getUTCMonth();\n      if (isLeapYear) {\n        return value >= 1 && value <= DAYS_IN_MONTH_LEAP_YEAR[month];\n      } else {\n        return value >= 1 && value <= DAYS_IN_MONTH[month];\n      }\n    }\n  }, {\n    key: \"set\",\n    value: function set(date, _flags, value) {\n      date.setUTCDate(value);\n      date.setUTCHours(0, 0, 0, 0);\n      return date;\n    }\n  }]);\n  return DateParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits, isLeapYearIndex } from \"../utils.js\";\nexport var DayOfYearParser = /*#__PURE__*/function (_Parser) {\n  _inherits(DayOfYearParser, _Parser);\n  var _super = _createSuper(DayOfYearParser);\n  function DayOfYearParser() {\n    var _this;\n    _classCallCheck(this, DayOfYearParser);\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    _this = _super.call.apply(_super, [this].concat(args));\n    _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n    _defineProperty(_assertThisInitialized(_this), \"subpriority\", 1);\n    _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'Q', 'M', 'L', 'w', 'I', 'd', 'E', 'i', 'e', 'c', 't', 'T']);\n    return _this;\n  }\n  _createClass(DayOfYearParser, [{\n    key: \"parse\",\n    value: function parse(dateString, token, match) {\n      switch (token) {\n        case 'D':\n        case 'DD':\n          return parseNumericPattern(numericPatterns.dayOfYear, dateString);\n        case 'Do':\n          return match.ordinalNumber(dateString, {\n            unit: 'date'\n          });\n        default:\n          return parseNDigits(token.length, dateString);\n      }\n    }\n  }, {\n    key: \"validate\",\n    value: function validate(date, value) {\n      var year = date.getUTCFullYear();\n      var isLeapYear = isLeapYearIndex(year);\n      if (isLeapYear) {\n        return value >= 1 && value <= 366;\n      } else {\n        return value >= 1 && value <= 365;\n      }\n    }\n  }, {\n    key: \"set\",\n    value: function set(date, _flags, value) {\n      date.setUTCMonth(0, value);\n      date.setUTCHours(0, 0, 0, 0);\n      return date;\n    }\n  }]);\n  return DayOfYearParser;\n}(Parser);","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function setUTCDay(dirtyDate, dirtyDay, options) {\n  var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n  requiredArgs(2, arguments);\n  var defaultOptions = getDefaultOptions();\n  var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0);\n\n  // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n  if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n    throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n  }\n  var date = toDate(dirtyDate);\n  var day = toInteger(dirtyDay);\n  var currentDay = date.getUTCDay();\n  var remainder = day % 7;\n  var dayIndex = (remainder + 7) % 7;\n  var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay;\n  date.setUTCDate(date.getUTCDate() + diff);\n  return date;\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport setUTCDay from \"../../../_lib/setUTCDay/index.js\"; // Day of week\nexport var DayParser = /*#__PURE__*/function (_Parser) {\n  _inherits(DayParser, _Parser);\n  var _super = _createSuper(DayParser);\n  function DayParser() {\n    var _this;\n    _classCallCheck(this, DayParser);\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    _this = _super.call.apply(_super, [this].concat(args));\n    _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n    _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['D', 'i', 'e', 'c', 't', 'T']);\n    return _this;\n  }\n  _createClass(DayParser, [{\n    key: \"parse\",\n    value: function parse(dateString, token, match) {\n      switch (token) {\n        // Tue\n        case 'E':\n        case 'EE':\n        case 'EEE':\n          return match.day(dateString, {\n            width: 'abbreviated',\n            context: 'formatting'\n          }) || match.day(dateString, {\n            width: 'short',\n            context: 'formatting'\n          }) || match.day(dateString, {\n            width: 'narrow',\n            context: 'formatting'\n          });\n        // T\n        case 'EEEEE':\n          return match.day(dateString, {\n            width: 'narrow',\n            context: 'formatting'\n          });\n        // Tu\n        case 'EEEEEE':\n          return match.day(dateString, {\n            width: 'short',\n            context: 'formatting'\n          }) || match.day(dateString, {\n            width: 'narrow',\n            context: 'formatting'\n          });\n        // Tuesday\n        case 'EEEE':\n        default:\n          return match.day(dateString, {\n            width: 'wide',\n            context: 'formatting'\n          }) || match.day(dateString, {\n            width: 'abbreviated',\n            context: 'formatting'\n          }) || match.day(dateString, {\n            width: 'short',\n            context: 'formatting'\n          }) || match.day(dateString, {\n            width: 'narrow',\n            context: 'formatting'\n          });\n      }\n    }\n  }, {\n    key: \"validate\",\n    value: function validate(_date, value) {\n      return value >= 0 && value <= 6;\n    }\n  }, {\n    key: \"set\",\n    value: function set(date, _flags, value, options) {\n      date = setUTCDay(date, value, options);\n      date.setUTCHours(0, 0, 0, 0);\n      return date;\n    }\n  }]);\n  return DayParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, parseNDigits } from \"../utils.js\";\nimport setUTCDay from \"../../../_lib/setUTCDay/index.js\"; // Local day of week\nexport var LocalDayParser = /*#__PURE__*/function (_Parser) {\n  _inherits(LocalDayParser, _Parser);\n  var _super = _createSuper(LocalDayParser);\n  function LocalDayParser() {\n    var _this;\n    _classCallCheck(this, LocalDayParser);\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    _this = _super.call.apply(_super, [this].concat(args));\n    _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n    _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'E', 'i', 'c', 't', 'T']);\n    return _this;\n  }\n  _createClass(LocalDayParser, [{\n    key: \"parse\",\n    value: function parse(dateString, token, match, options) {\n      var valueCallback = function valueCallback(value) {\n        var wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n        return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays;\n      };\n      switch (token) {\n        // 3\n        case 'e':\n        case 'ee':\n          // 03\n          return mapValue(parseNDigits(token.length, dateString), valueCallback);\n        // 3rd\n        case 'eo':\n          return mapValue(match.ordinalNumber(dateString, {\n            unit: 'day'\n          }), valueCallback);\n        // Tue\n        case 'eee':\n          return match.day(dateString, {\n            width: 'abbreviated',\n            context: 'formatting'\n          }) || match.day(dateString, {\n            width: 'short',\n            context: 'formatting'\n          }) || match.day(dateString, {\n            width: 'narrow',\n            context: 'formatting'\n          });\n        // T\n        case 'eeeee':\n          return match.day(dateString, {\n            width: 'narrow',\n            context: 'formatting'\n          });\n        // Tu\n        case 'eeeeee':\n          return match.day(dateString, {\n            width: 'short',\n            context: 'formatting'\n          }) || match.day(dateString, {\n            width: 'narrow',\n            context: 'formatting'\n          });\n        // Tuesday\n        case 'eeee':\n        default:\n          return match.day(dateString, {\n            width: 'wide',\n            context: 'formatting'\n          }) || match.day(dateString, {\n            width: 'abbreviated',\n            context: 'formatting'\n          }) || match.day(dateString, {\n            width: 'short',\n            context: 'formatting'\n          }) || match.day(dateString, {\n            width: 'narrow',\n            context: 'formatting'\n          });\n      }\n    }\n  }, {\n    key: \"validate\",\n    value: function validate(_date, value) {\n      return value >= 0 && value <= 6;\n    }\n  }, {\n    key: \"set\",\n    value: function set(date, _flags, value, options) {\n      date = setUTCDay(date, value, options);\n      date.setUTCHours(0, 0, 0, 0);\n      return date;\n    }\n  }]);\n  return LocalDayParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, parseNDigits } from \"../utils.js\";\nimport setUTCDay from \"../../../_lib/setUTCDay/index.js\"; // Stand-alone local day of week\nexport var StandAloneLocalDayParser = /*#__PURE__*/function (_Parser) {\n  _inherits(StandAloneLocalDayParser, _Parser);\n  var _super = _createSuper(StandAloneLocalDayParser);\n  function StandAloneLocalDayParser() {\n    var _this;\n    _classCallCheck(this, StandAloneLocalDayParser);\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    _this = _super.call.apply(_super, [this].concat(args));\n    _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n    _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'E', 'i', 'e', 't', 'T']);\n    return _this;\n  }\n  _createClass(StandAloneLocalDayParser, [{\n    key: \"parse\",\n    value: function parse(dateString, token, match, options) {\n      var valueCallback = function valueCallback(value) {\n        var wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n        return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays;\n      };\n      switch (token) {\n        // 3\n        case 'c':\n        case 'cc':\n          // 03\n          return mapValue(parseNDigits(token.length, dateString), valueCallback);\n        // 3rd\n        case 'co':\n          return mapValue(match.ordinalNumber(dateString, {\n            unit: 'day'\n          }), valueCallback);\n        // Tue\n        case 'ccc':\n          return match.day(dateString, {\n            width: 'abbreviated',\n            context: 'standalone'\n          }) || match.day(dateString, {\n            width: 'short',\n            context: 'standalone'\n          }) || match.day(dateString, {\n            width: 'narrow',\n            context: 'standalone'\n          });\n        // T\n        case 'ccccc':\n          return match.day(dateString, {\n            width: 'narrow',\n            context: 'standalone'\n          });\n        // Tu\n        case 'cccccc':\n          return match.day(dateString, {\n            width: 'short',\n            context: 'standalone'\n          }) || match.day(dateString, {\n            width: 'narrow',\n            context: 'standalone'\n          });\n        // Tuesday\n        case 'cccc':\n        default:\n          return match.day(dateString, {\n            width: 'wide',\n            context: 'standalone'\n          }) || match.day(dateString, {\n            width: 'abbreviated',\n            context: 'standalone'\n          }) || match.day(dateString, {\n            width: 'short',\n            context: 'standalone'\n          }) || match.day(dateString, {\n            width: 'narrow',\n            context: 'standalone'\n          });\n      }\n    }\n  }, {\n    key: \"validate\",\n    value: function validate(_date, value) {\n      return value >= 0 && value <= 6;\n    }\n  }, {\n    key: \"set\",\n    value: function set(date, _flags, value, options) {\n      date = setUTCDay(date, value, options);\n      date.setUTCHours(0, 0, 0, 0);\n      return date;\n    }\n  }]);\n  return StandAloneLocalDayParser;\n}(Parser);","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nexport default function setUTCISODay(dirtyDate, dirtyDay) {\n  requiredArgs(2, arguments);\n  var day = toInteger(dirtyDay);\n  if (day % 7 === 0) {\n    day = day - 7;\n  }\n  var weekStartsOn = 1;\n  var date = toDate(dirtyDate);\n  var currentDay = date.getUTCDay();\n  var remainder = day % 7;\n  var dayIndex = (remainder + 7) % 7;\n  var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay;\n  date.setUTCDate(date.getUTCDate() + diff);\n  return date;\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, parseNDigits } from \"../utils.js\";\nimport setUTCISODay from \"../../../_lib/setUTCISODay/index.js\"; // ISO day of week\nexport var ISODayParser = /*#__PURE__*/function (_Parser) {\n  _inherits(ISODayParser, _Parser);\n  var _super = _createSuper(ISODayParser);\n  function ISODayParser() {\n    var _this;\n    _classCallCheck(this, ISODayParser);\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    _this = _super.call.apply(_super, [this].concat(args));\n    _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n    _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'Y', 'u', 'q', 'Q', 'M', 'L', 'w', 'd', 'D', 'E', 'e', 'c', 't', 'T']);\n    return _this;\n  }\n  _createClass(ISODayParser, [{\n    key: \"parse\",\n    value: function parse(dateString, token, match) {\n      var valueCallback = function valueCallback(value) {\n        if (value === 0) {\n          return 7;\n        }\n        return value;\n      };\n      switch (token) {\n        // 2\n        case 'i':\n        case 'ii':\n          // 02\n          return parseNDigits(token.length, dateString);\n        // 2nd\n        case 'io':\n          return match.ordinalNumber(dateString, {\n            unit: 'day'\n          });\n        // Tue\n        case 'iii':\n          return mapValue(match.day(dateString, {\n            width: 'abbreviated',\n            context: 'formatting'\n          }) || match.day(dateString, {\n            width: 'short',\n            context: 'formatting'\n          }) || match.day(dateString, {\n            width: 'narrow',\n            context: 'formatting'\n          }), valueCallback);\n        // T\n        case 'iiiii':\n          return mapValue(match.day(dateString, {\n            width: 'narrow',\n            context: 'formatting'\n          }), valueCallback);\n        // Tu\n        case 'iiiiii':\n          return mapValue(match.day(dateString, {\n            width: 'short',\n            context: 'formatting'\n          }) || match.day(dateString, {\n            width: 'narrow',\n            context: 'formatting'\n          }), valueCallback);\n        // Tuesday\n        case 'iiii':\n        default:\n          return mapValue(match.day(dateString, {\n            width: 'wide',\n            context: 'formatting'\n          }) || match.day(dateString, {\n            width: 'abbreviated',\n            context: 'formatting'\n          }) || match.day(dateString, {\n            width: 'short',\n            context: 'formatting'\n          }) || match.day(dateString, {\n            width: 'narrow',\n            context: 'formatting'\n          }), valueCallback);\n      }\n    }\n  }, {\n    key: \"validate\",\n    value: function validate(_date, value) {\n      return value >= 1 && value <= 7;\n    }\n  }, {\n    key: \"set\",\n    value: function set(date, _flags, value) {\n      date = setUTCISODay(date, value);\n      date.setUTCHours(0, 0, 0, 0);\n      return date;\n    }\n  }]);\n  return ISODayParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { dayPeriodEnumToHours } from \"../utils.js\";\nexport var AMPMParser = /*#__PURE__*/function (_Parser) {\n  _inherits(AMPMParser, _Parser);\n  var _super = _createSuper(AMPMParser);\n  function AMPMParser() {\n    var _this;\n    _classCallCheck(this, AMPMParser);\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    _this = _super.call.apply(_super, [this].concat(args));\n    _defineProperty(_assertThisInitialized(_this), \"priority\", 80);\n    _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['b', 'B', 'H', 'k', 't', 'T']);\n    return _this;\n  }\n  _createClass(AMPMParser, [{\n    key: \"parse\",\n    value: function parse(dateString, token, match) {\n      switch (token) {\n        case 'a':\n        case 'aa':\n        case 'aaa':\n          return match.dayPeriod(dateString, {\n            width: 'abbreviated',\n            context: 'formatting'\n          }) || match.dayPeriod(dateString, {\n            width: 'narrow',\n            context: 'formatting'\n          });\n        case 'aaaaa':\n          return match.dayPeriod(dateString, {\n            width: 'narrow',\n            context: 'formatting'\n          });\n        case 'aaaa':\n        default:\n          return match.dayPeriod(dateString, {\n            width: 'wide',\n            context: 'formatting'\n          }) || match.dayPeriod(dateString, {\n            width: 'abbreviated',\n            context: 'formatting'\n          }) || match.dayPeriod(dateString, {\n            width: 'narrow',\n            context: 'formatting'\n          });\n      }\n    }\n  }, {\n    key: \"set\",\n    value: function set(date, _flags, value) {\n      date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n      return date;\n    }\n  }]);\n  return AMPMParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { dayPeriodEnumToHours } from \"../utils.js\";\nexport var AMPMMidnightParser = /*#__PURE__*/function (_Parser) {\n  _inherits(AMPMMidnightParser, _Parser);\n  var _super = _createSuper(AMPMMidnightParser);\n  function AMPMMidnightParser() {\n    var _this;\n    _classCallCheck(this, AMPMMidnightParser);\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    _this = _super.call.apply(_super, [this].concat(args));\n    _defineProperty(_assertThisInitialized(_this), \"priority\", 80);\n    _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['a', 'B', 'H', 'k', 't', 'T']);\n    return _this;\n  }\n  _createClass(AMPMMidnightParser, [{\n    key: \"parse\",\n    value: function parse(dateString, token, match) {\n      switch (token) {\n        case 'b':\n        case 'bb':\n        case 'bbb':\n          return match.dayPeriod(dateString, {\n            width: 'abbreviated',\n            context: 'formatting'\n          }) || match.dayPeriod(dateString, {\n            width: 'narrow',\n            context: 'formatting'\n          });\n        case 'bbbbb':\n          return match.dayPeriod(dateString, {\n            width: 'narrow',\n            context: 'formatting'\n          });\n        case 'bbbb':\n        default:\n          return match.dayPeriod(dateString, {\n            width: 'wide',\n            context: 'formatting'\n          }) || match.dayPeriod(dateString, {\n            width: 'abbreviated',\n            context: 'formatting'\n          }) || match.dayPeriod(dateString, {\n            width: 'narrow',\n            context: 'formatting'\n          });\n      }\n    }\n  }, {\n    key: \"set\",\n    value: function set(date, _flags, value) {\n      date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n      return date;\n    }\n  }]);\n  return AMPMMidnightParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { dayPeriodEnumToHours } from \"../utils.js\"; // in the morning, in the afternoon, in the evening, at night\nexport var DayPeriodParser = /*#__PURE__*/function (_Parser) {\n  _inherits(DayPeriodParser, _Parser);\n  var _super = _createSuper(DayPeriodParser);\n  function DayPeriodParser() {\n    var _this;\n    _classCallCheck(this, DayPeriodParser);\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    _this = _super.call.apply(_super, [this].concat(args));\n    _defineProperty(_assertThisInitialized(_this), \"priority\", 80);\n    _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['a', 'b', 't', 'T']);\n    return _this;\n  }\n  _createClass(DayPeriodParser, [{\n    key: \"parse\",\n    value: function parse(dateString, token, match) {\n      switch (token) {\n        case 'B':\n        case 'BB':\n        case 'BBB':\n          return match.dayPeriod(dateString, {\n            width: 'abbreviated',\n            context: 'formatting'\n          }) || match.dayPeriod(dateString, {\n            width: 'narrow',\n            context: 'formatting'\n          });\n        case 'BBBBB':\n          return match.dayPeriod(dateString, {\n            width: 'narrow',\n            context: 'formatting'\n          });\n        case 'BBBB':\n        default:\n          return match.dayPeriod(dateString, {\n            width: 'wide',\n            context: 'formatting'\n          }) || match.dayPeriod(dateString, {\n            width: 'abbreviated',\n            context: 'formatting'\n          }) || match.dayPeriod(dateString, {\n            width: 'narrow',\n            context: 'formatting'\n          });\n      }\n    }\n  }, {\n    key: \"set\",\n    value: function set(date, _flags, value) {\n      date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n      return date;\n    }\n  }]);\n  return DayPeriodParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var Hour1to12Parser = /*#__PURE__*/function (_Parser) {\n  _inherits(Hour1to12Parser, _Parser);\n  var _super = _createSuper(Hour1to12Parser);\n  function Hour1to12Parser() {\n    var _this;\n    _classCallCheck(this, Hour1to12Parser);\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    _this = _super.call.apply(_super, [this].concat(args));\n    _defineProperty(_assertThisInitialized(_this), \"priority\", 70);\n    _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['H', 'K', 'k', 't', 'T']);\n    return _this;\n  }\n  _createClass(Hour1to12Parser, [{\n    key: \"parse\",\n    value: function parse(dateString, token, match) {\n      switch (token) {\n        case 'h':\n          return parseNumericPattern(numericPatterns.hour12h, dateString);\n        case 'ho':\n          return match.ordinalNumber(dateString, {\n            unit: 'hour'\n          });\n        default:\n          return parseNDigits(token.length, dateString);\n      }\n    }\n  }, {\n    key: \"validate\",\n    value: function validate(_date, value) {\n      return value >= 1 && value <= 12;\n    }\n  }, {\n    key: \"set\",\n    value: function set(date, _flags, value) {\n      var isPM = date.getUTCHours() >= 12;\n      if (isPM && value < 12) {\n        date.setUTCHours(value + 12, 0, 0, 0);\n      } else if (!isPM && value === 12) {\n        date.setUTCHours(0, 0, 0, 0);\n      } else {\n        date.setUTCHours(value, 0, 0, 0);\n      }\n      return date;\n    }\n  }]);\n  return Hour1to12Parser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var Hour0to23Parser = /*#__PURE__*/function (_Parser) {\n  _inherits(Hour0to23Parser, _Parser);\n  var _super = _createSuper(Hour0to23Parser);\n  function Hour0to23Parser() {\n    var _this;\n    _classCallCheck(this, Hour0to23Parser);\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    _this = _super.call.apply(_super, [this].concat(args));\n    _defineProperty(_assertThisInitialized(_this), \"priority\", 70);\n    _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['a', 'b', 'h', 'K', 'k', 't', 'T']);\n    return _this;\n  }\n  _createClass(Hour0to23Parser, [{\n    key: \"parse\",\n    value: function parse(dateString, token, match) {\n      switch (token) {\n        case 'H':\n          return parseNumericPattern(numericPatterns.hour23h, dateString);\n        case 'Ho':\n          return match.ordinalNumber(dateString, {\n            unit: 'hour'\n          });\n        default:\n          return parseNDigits(token.length, dateString);\n      }\n    }\n  }, {\n    key: \"validate\",\n    value: function validate(_date, value) {\n      return value >= 0 && value <= 23;\n    }\n  }, {\n    key: \"set\",\n    value: function set(date, _flags, value) {\n      date.setUTCHours(value, 0, 0, 0);\n      return date;\n    }\n  }]);\n  return Hour0to23Parser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var Hour0To11Parser = /*#__PURE__*/function (_Parser) {\n  _inherits(Hour0To11Parser, _Parser);\n  var _super = _createSuper(Hour0To11Parser);\n  function Hour0To11Parser() {\n    var _this;\n    _classCallCheck(this, Hour0To11Parser);\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    _this = _super.call.apply(_super, [this].concat(args));\n    _defineProperty(_assertThisInitialized(_this), \"priority\", 70);\n    _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['h', 'H', 'k', 't', 'T']);\n    return _this;\n  }\n  _createClass(Hour0To11Parser, [{\n    key: \"parse\",\n    value: function parse(dateString, token, match) {\n      switch (token) {\n        case 'K':\n          return parseNumericPattern(numericPatterns.hour11h, dateString);\n        case 'Ko':\n          return match.ordinalNumber(dateString, {\n            unit: 'hour'\n          });\n        default:\n          return parseNDigits(token.length, dateString);\n      }\n    }\n  }, {\n    key: \"validate\",\n    value: function validate(_date, value) {\n      return value >= 0 && value <= 11;\n    }\n  }, {\n    key: \"set\",\n    value: function set(date, _flags, value) {\n      var isPM = date.getUTCHours() >= 12;\n      if (isPM && value < 12) {\n        date.setUTCHours(value + 12, 0, 0, 0);\n      } else {\n        date.setUTCHours(value, 0, 0, 0);\n      }\n      return date;\n    }\n  }]);\n  return Hour0To11Parser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var Hour1To24Parser = /*#__PURE__*/function (_Parser) {\n  _inherits(Hour1To24Parser, _Parser);\n  var _super = _createSuper(Hour1To24Parser);\n  function Hour1To24Parser() {\n    var _this;\n    _classCallCheck(this, Hour1To24Parser);\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    _this = _super.call.apply(_super, [this].concat(args));\n    _defineProperty(_assertThisInitialized(_this), \"priority\", 70);\n    _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['a', 'b', 'h', 'H', 'K', 't', 'T']);\n    return _this;\n  }\n  _createClass(Hour1To24Parser, [{\n    key: \"parse\",\n    value: function parse(dateString, token, match) {\n      switch (token) {\n        case 'k':\n          return parseNumericPattern(numericPatterns.hour24h, dateString);\n        case 'ko':\n          return match.ordinalNumber(dateString, {\n            unit: 'hour'\n          });\n        default:\n          return parseNDigits(token.length, dateString);\n      }\n    }\n  }, {\n    key: \"validate\",\n    value: function validate(_date, value) {\n      return value >= 1 && value <= 24;\n    }\n  }, {\n    key: \"set\",\n    value: function set(date, _flags, value) {\n      var hours = value <= 24 ? value % 24 : value;\n      date.setUTCHours(hours, 0, 0, 0);\n      return date;\n    }\n  }]);\n  return Hour1To24Parser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var MinuteParser = /*#__PURE__*/function (_Parser) {\n  _inherits(MinuteParser, _Parser);\n  var _super = _createSuper(MinuteParser);\n  function MinuteParser() {\n    var _this;\n    _classCallCheck(this, MinuteParser);\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    _this = _super.call.apply(_super, [this].concat(args));\n    _defineProperty(_assertThisInitialized(_this), \"priority\", 60);\n    _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T']);\n    return _this;\n  }\n  _createClass(MinuteParser, [{\n    key: \"parse\",\n    value: function parse(dateString, token, match) {\n      switch (token) {\n        case 'm':\n          return parseNumericPattern(numericPatterns.minute, dateString);\n        case 'mo':\n          return match.ordinalNumber(dateString, {\n            unit: 'minute'\n          });\n        default:\n          return parseNDigits(token.length, dateString);\n      }\n    }\n  }, {\n    key: \"validate\",\n    value: function validate(_date, value) {\n      return value >= 0 && value <= 59;\n    }\n  }, {\n    key: \"set\",\n    value: function set(date, _flags, value) {\n      date.setUTCMinutes(value, 0, 0);\n      return date;\n    }\n  }]);\n  return MinuteParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var SecondParser = /*#__PURE__*/function (_Parser) {\n  _inherits(SecondParser, _Parser);\n  var _super = _createSuper(SecondParser);\n  function SecondParser() {\n    var _this;\n    _classCallCheck(this, SecondParser);\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    _this = _super.call.apply(_super, [this].concat(args));\n    _defineProperty(_assertThisInitialized(_this), \"priority\", 50);\n    _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T']);\n    return _this;\n  }\n  _createClass(SecondParser, [{\n    key: \"parse\",\n    value: function parse(dateString, token, match) {\n      switch (token) {\n        case 's':\n          return parseNumericPattern(numericPatterns.second, dateString);\n        case 'so':\n          return match.ordinalNumber(dateString, {\n            unit: 'second'\n          });\n        default:\n          return parseNDigits(token.length, dateString);\n      }\n    }\n  }, {\n    key: \"validate\",\n    value: function validate(_date, value) {\n      return value >= 0 && value <= 59;\n    }\n  }, {\n    key: \"set\",\n    value: function set(date, _flags, value) {\n      date.setUTCSeconds(value, 0);\n      return date;\n    }\n  }]);\n  return SecondParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, parseNDigits } from \"../utils.js\";\nexport var FractionOfSecondParser = /*#__PURE__*/function (_Parser) {\n  _inherits(FractionOfSecondParser, _Parser);\n  var _super = _createSuper(FractionOfSecondParser);\n  function FractionOfSecondParser() {\n    var _this;\n    _classCallCheck(this, FractionOfSecondParser);\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    _this = _super.call.apply(_super, [this].concat(args));\n    _defineProperty(_assertThisInitialized(_this), \"priority\", 30);\n    _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T']);\n    return _this;\n  }\n  _createClass(FractionOfSecondParser, [{\n    key: \"parse\",\n    value: function parse(dateString, token) {\n      var valueCallback = function valueCallback(value) {\n        return Math.floor(value * Math.pow(10, -token.length + 3));\n      };\n      return mapValue(parseNDigits(token.length, dateString), valueCallback);\n    }\n  }, {\n    key: \"set\",\n    value: function set(date, _flags, value) {\n      date.setUTCMilliseconds(value);\n      return date;\n    }\n  }]);\n  return FractionOfSecondParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { timezonePatterns } from \"../constants.js\";\nimport { parseTimezonePattern } from \"../utils.js\"; // Timezone (ISO-8601. +00:00 is `'Z'`)\nexport var ISOTimezoneWithZParser = /*#__PURE__*/function (_Parser) {\n  _inherits(ISOTimezoneWithZParser, _Parser);\n  var _super = _createSuper(ISOTimezoneWithZParser);\n  function ISOTimezoneWithZParser() {\n    var _this;\n    _classCallCheck(this, ISOTimezoneWithZParser);\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    _this = _super.call.apply(_super, [this].concat(args));\n    _defineProperty(_assertThisInitialized(_this), \"priority\", 10);\n    _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T', 'x']);\n    return _this;\n  }\n  _createClass(ISOTimezoneWithZParser, [{\n    key: \"parse\",\n    value: function parse(dateString, token) {\n      switch (token) {\n        case 'X':\n          return parseTimezonePattern(timezonePatterns.basicOptionalMinutes, dateString);\n        case 'XX':\n          return parseTimezonePattern(timezonePatterns.basic, dateString);\n        case 'XXXX':\n          return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, dateString);\n        case 'XXXXX':\n          return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, dateString);\n        case 'XXX':\n        default:\n          return parseTimezonePattern(timezonePatterns.extended, dateString);\n      }\n    }\n  }, {\n    key: \"set\",\n    value: function set(date, flags, value) {\n      if (flags.timestampIsSet) {\n        return date;\n      }\n      return new Date(date.getTime() - value);\n    }\n  }]);\n  return ISOTimezoneWithZParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { timezonePatterns } from \"../constants.js\";\nimport { parseTimezonePattern } from \"../utils.js\"; // Timezone (ISO-8601)\nexport var ISOTimezoneParser = /*#__PURE__*/function (_Parser) {\n  _inherits(ISOTimezoneParser, _Parser);\n  var _super = _createSuper(ISOTimezoneParser);\n  function ISOTimezoneParser() {\n    var _this;\n    _classCallCheck(this, ISOTimezoneParser);\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    _this = _super.call.apply(_super, [this].concat(args));\n    _defineProperty(_assertThisInitialized(_this), \"priority\", 10);\n    _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T', 'X']);\n    return _this;\n  }\n  _createClass(ISOTimezoneParser, [{\n    key: \"parse\",\n    value: function parse(dateString, token) {\n      switch (token) {\n        case 'x':\n          return parseTimezonePattern(timezonePatterns.basicOptionalMinutes, dateString);\n        case 'xx':\n          return parseTimezonePattern(timezonePatterns.basic, dateString);\n        case 'xxxx':\n          return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, dateString);\n        case 'xxxxx':\n          return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, dateString);\n        case 'xxx':\n        default:\n          return parseTimezonePattern(timezonePatterns.extended, dateString);\n      }\n    }\n  }, {\n    key: \"set\",\n    value: function set(date, flags, value) {\n      if (flags.timestampIsSet) {\n        return date;\n      }\n      return new Date(date.getTime() - value);\n    }\n  }]);\n  return ISOTimezoneParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseAnyDigitsSigned } from \"../utils.js\";\nexport var TimestampSecondsParser = /*#__PURE__*/function (_Parser) {\n  _inherits(TimestampSecondsParser, _Parser);\n  var _super = _createSuper(TimestampSecondsParser);\n  function TimestampSecondsParser() {\n    var _this;\n    _classCallCheck(this, TimestampSecondsParser);\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    _this = _super.call.apply(_super, [this].concat(args));\n    _defineProperty(_assertThisInitialized(_this), \"priority\", 40);\n    _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", '*');\n    return _this;\n  }\n  _createClass(TimestampSecondsParser, [{\n    key: \"parse\",\n    value: function parse(dateString) {\n      return parseAnyDigitsSigned(dateString);\n    }\n  }, {\n    key: \"set\",\n    value: function set(_date, _flags, value) {\n      return [new Date(value * 1000), {\n        timestampIsSet: true\n      }];\n    }\n  }]);\n  return TimestampSecondsParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseAnyDigitsSigned } from \"../utils.js\";\nexport var TimestampMillisecondsParser = /*#__PURE__*/function (_Parser) {\n  _inherits(TimestampMillisecondsParser, _Parser);\n  var _super = _createSuper(TimestampMillisecondsParser);\n  function TimestampMillisecondsParser() {\n    var _this;\n    _classCallCheck(this, TimestampMillisecondsParser);\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    _this = _super.call.apply(_super, [this].concat(args));\n    _defineProperty(_assertThisInitialized(_this), \"priority\", 20);\n    _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", '*');\n    return _this;\n  }\n  _createClass(TimestampMillisecondsParser, [{\n    key: \"parse\",\n    value: function parse(dateString) {\n      return parseAnyDigitsSigned(dateString);\n    }\n  }, {\n    key: \"set\",\n    value: function set(_date, _flags, value) {\n      return [new Date(value), {\n        timestampIsSet: true\n      }];\n    }\n  }]);\n  return TimestampMillisecondsParser;\n}(Parser);","import { EraParser } from \"./EraParser.js\";\nimport { YearParser } from \"./YearParser.js\";\nimport { LocalWeekYearParser } from \"./LocalWeekYearParser.js\";\nimport { ISOWeekYearParser } from \"./ISOWeekYearParser.js\";\nimport { ExtendedYearParser } from \"./ExtendedYearParser.js\";\nimport { QuarterParser } from \"./QuarterParser.js\";\nimport { StandAloneQuarterParser } from \"./StandAloneQuarterParser.js\";\nimport { MonthParser } from \"./MonthParser.js\";\nimport { StandAloneMonthParser } from \"./StandAloneMonthParser.js\";\nimport { LocalWeekParser } from \"./LocalWeekParser.js\";\nimport { ISOWeekParser } from \"./ISOWeekParser.js\";\nimport { DateParser } from \"./DateParser.js\";\nimport { DayOfYearParser } from \"./DayOfYearParser.js\";\nimport { DayParser } from \"./DayParser.js\";\nimport { LocalDayParser } from \"./LocalDayParser.js\";\nimport { StandAloneLocalDayParser } from \"./StandAloneLocalDayParser.js\";\nimport { ISODayParser } from \"./ISODayParser.js\";\nimport { AMPMParser } from \"./AMPMParser.js\";\nimport { AMPMMidnightParser } from \"./AMPMMidnightParser.js\";\nimport { DayPeriodParser } from \"./DayPeriodParser.js\";\nimport { Hour1to12Parser } from \"./Hour1to12Parser.js\";\nimport { Hour0to23Parser } from \"./Hour0to23Parser.js\";\nimport { Hour0To11Parser } from \"./Hour0To11Parser.js\";\nimport { Hour1To24Parser } from \"./Hour1To24Parser.js\";\nimport { MinuteParser } from \"./MinuteParser.js\";\nimport { SecondParser } from \"./SecondParser.js\";\nimport { FractionOfSecondParser } from \"./FractionOfSecondParser.js\";\nimport { ISOTimezoneWithZParser } from \"./ISOTimezoneWithZParser.js\";\nimport { ISOTimezoneParser } from \"./ISOTimezoneParser.js\";\nimport { TimestampSecondsParser } from \"./TimestampSecondsParser.js\";\nimport { TimestampMillisecondsParser } from \"./TimestampMillisecondsParser.js\";\n/*\n * |     | Unit                           |     | Unit                           |\n * |-----|--------------------------------|-----|--------------------------------|\n * |  a  | AM, PM                         |  A* | Milliseconds in day            |\n * |  b  | AM, PM, noon, midnight         |  B  | Flexible day period            |\n * |  c  | Stand-alone local day of week  |  C* | Localized hour w/ day period   |\n * |  d  | Day of month                   |  D  | Day of year                    |\n * |  e  | Local day of week              |  E  | Day of week                    |\n * |  f  |                                |  F* | Day of week in month           |\n * |  g* | Modified Julian day            |  G  | Era                            |\n * |  h  | Hour [1-12]                    |  H  | Hour [0-23]                    |\n * |  i! | ISO day of week                |  I! | ISO week of year               |\n * |  j* | Localized hour w/ day period   |  J* | Localized hour w/o day period  |\n * |  k  | Hour [1-24]                    |  K  | Hour [0-11]                    |\n * |  l* | (deprecated)                   |  L  | Stand-alone month              |\n * |  m  | Minute                         |  M  | Month                          |\n * |  n  |                                |  N  |                                |\n * |  o! | Ordinal number modifier        |  O* | Timezone (GMT)                 |\n * |  p  |                                |  P  |                                |\n * |  q  | Stand-alone quarter            |  Q  | Quarter                        |\n * |  r* | Related Gregorian year         |  R! | ISO week-numbering year        |\n * |  s  | Second                         |  S  | Fraction of second             |\n * |  t! | Seconds timestamp              |  T! | Milliseconds timestamp         |\n * |  u  | Extended year                  |  U* | Cyclic year                    |\n * |  v* | Timezone (generic non-locat.)  |  V* | Timezone (location)            |\n * |  w  | Local week of year             |  W* | Week of month                  |\n * |  x  | Timezone (ISO-8601 w/o Z)      |  X  | Timezone (ISO-8601)            |\n * |  y  | Year (abs)                     |  Y  | Local week-numbering year      |\n * |  z* | Timezone (specific non-locat.) |  Z* | Timezone (aliases)             |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `parse` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n *   i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n *   `R` is supposed to be used in conjunction with `I` and `i`\n *   for universal ISO week-numbering date, whereas\n *   `Y` is supposed to be used in conjunction with `w` and `e`\n *   for week-numbering date specific to the locale.\n */\nexport var parsers = {\n  G: new EraParser(),\n  y: new YearParser(),\n  Y: new LocalWeekYearParser(),\n  R: new ISOWeekYearParser(),\n  u: new ExtendedYearParser(),\n  Q: new QuarterParser(),\n  q: new StandAloneQuarterParser(),\n  M: new MonthParser(),\n  L: new StandAloneMonthParser(),\n  w: new LocalWeekParser(),\n  I: new ISOWeekParser(),\n  d: new DateParser(),\n  D: new DayOfYearParser(),\n  E: new DayParser(),\n  e: new LocalDayParser(),\n  c: new StandAloneLocalDayParser(),\n  i: new ISODayParser(),\n  a: new AMPMParser(),\n  b: new AMPMMidnightParser(),\n  B: new DayPeriodParser(),\n  h: new Hour1to12Parser(),\n  H: new Hour0to23Parser(),\n  K: new Hour0To11Parser(),\n  k: new Hour1To24Parser(),\n  m: new MinuteParser(),\n  s: new SecondParser(),\n  S: new FractionOfSecondParser(),\n  X: new ISOTimezoneWithZParser(),\n  x: new ISOTimezoneParser(),\n  t: new TimestampSecondsParser(),\n  T: new TimestampMillisecondsParser()\n};","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _createForOfIteratorHelper from \"@babel/runtime/helpers/esm/createForOfIteratorHelper\";\nimport defaultLocale from \"../_lib/defaultLocale/index.js\";\nimport subMilliseconds from \"../subMilliseconds/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport assign from \"../_lib/assign/index.js\";\nimport longFormatters from \"../_lib/format/longFormatters/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport { isProtectedDayOfYearToken, isProtectedWeekYearToken, throwProtectedError } from \"../_lib/protectedTokens/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { DateToSystemTimezoneSetter } from \"./_lib/Setter.js\";\nimport { parsers } from \"./_lib/parsers/index.js\";\nimport { getDefaultOptions } from \"../_lib/defaultOptions/index.js\"; // This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n//   (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n//   except a single quote symbol, which ends the sequence.\n//   Two quote characters do not end the sequence.\n//   If there is no matching single quote\n//   then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'([^]*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar notWhitespaceRegExp = /\\S/;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\n/**\n * @name parse\n * @category Common Helpers\n * @summary Parse the date.\n *\n * @description\n * Return the date parsed from string using the given format string.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters in the format string wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n *\n * Format of the format string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 5 below the table).\n *\n * Not all tokens are compatible. Combinations that don't make sense or could lead to bugs are prohibited\n * and will throw `RangeError`. For example usage of 24-hour format token with AM/PM token will throw an exception:\n *\n * ```javascript\n * parse('23 AM', 'HH a', new Date())\n * //=> RangeError: The format string mustn't contain `HH` and `a` at the same time\n * ```\n *\n * See the compatibility table: https://docs.google.com/spreadsheets/d/e/2PACX-1vQOPU3xUhplll6dyoMmVUXHKl_8CRDs6_ueLmex3SoqwhuolkuN3O05l4rqx5h1dKX8eb46Ul-CCSrq/pubhtml?gid=0&single=true\n *\n * Accepted format string patterns:\n * | Unit                            |Prior| Pattern | Result examples                   | Notes |\n * |---------------------------------|-----|---------|-----------------------------------|-------|\n * | Era                             | 140 | G..GGG  | AD, BC                            |       |\n * |                                 |     | GGGG    | Anno Domini, Before Christ        | 2     |\n * |                                 |     | GGGGG   | A, B                              |       |\n * | Calendar year                   | 130 | y       | 44, 1, 1900, 2017, 9999           | 4     |\n * |                                 |     | yo      | 44th, 1st, 1900th, 9999999th      | 4,5   |\n * |                                 |     | yy      | 44, 01, 00, 17                    | 4     |\n * |                                 |     | yyy     | 044, 001, 123, 999                | 4     |\n * |                                 |     | yyyy    | 0044, 0001, 1900, 2017            | 4     |\n * |                                 |     | yyyyy   | ...                               | 2,4   |\n * | Local week-numbering year       | 130 | Y       | 44, 1, 1900, 2017, 9000           | 4     |\n * |                                 |     | Yo      | 44th, 1st, 1900th, 9999999th      | 4,5   |\n * |                                 |     | YY      | 44, 01, 00, 17                    | 4,6   |\n * |                                 |     | YYY     | 044, 001, 123, 999                | 4     |\n * |                                 |     | YYYY    | 0044, 0001, 1900, 2017            | 4,6   |\n * |                                 |     | YYYYY   | ...                               | 2,4   |\n * | ISO week-numbering year         | 130 | R       | -43, 1, 1900, 2017, 9999, -9999   | 4,5   |\n * |                                 |     | RR      | -43, 01, 00, 17                   | 4,5   |\n * |                                 |     | RRR     | -043, 001, 123, 999, -999         | 4,5   |\n * |                                 |     | RRRR    | -0043, 0001, 2017, 9999, -9999    | 4,5   |\n * |                                 |     | RRRRR   | ...                               | 2,4,5 |\n * | Extended year                   | 130 | u       | -43, 1, 1900, 2017, 9999, -999    | 4     |\n * |                                 |     | uu      | -43, 01, 99, -99                  | 4     |\n * |                                 |     | uuu     | -043, 001, 123, 999, -999         | 4     |\n * |                                 |     | uuuu    | -0043, 0001, 2017, 9999, -9999    | 4     |\n * |                                 |     | uuuuu   | ...                               | 2,4   |\n * | Quarter (formatting)            | 120 | Q       | 1, 2, 3, 4                        |       |\n * |                                 |     | Qo      | 1st, 2nd, 3rd, 4th                | 5     |\n * |                                 |     | QQ      | 01, 02, 03, 04                    |       |\n * |                                 |     | QQQ     | Q1, Q2, Q3, Q4                    |       |\n * |                                 |     | QQQQ    | 1st quarter, 2nd quarter, ...     | 2     |\n * |                                 |     | QQQQQ   | 1, 2, 3, 4                        | 4     |\n * | Quarter (stand-alone)           | 120 | q       | 1, 2, 3, 4                        |       |\n * |                                 |     | qo      | 1st, 2nd, 3rd, 4th                | 5     |\n * |                                 |     | qq      | 01, 02, 03, 04                    |       |\n * |                                 |     | qqq     | Q1, Q2, Q3, Q4                    |       |\n * |                                 |     | qqqq    | 1st quarter, 2nd quarter, ...     | 2     |\n * |                                 |     | qqqqq   | 1, 2, 3, 4                        | 3     |\n * | Month (formatting)              | 110 | M       | 1, 2, ..., 12                     |       |\n * |                                 |     | Mo      | 1st, 2nd, ..., 12th               | 5     |\n * |                                 |     | MM      | 01, 02, ..., 12                   |       |\n * |                                 |     | MMM     | Jan, Feb, ..., Dec                |       |\n * |                                 |     | MMMM    | January, February, ..., December  | 2     |\n * |                                 |     | MMMMM   | J, F, ..., D                      |       |\n * | Month (stand-alone)             | 110 | L       | 1, 2, ..., 12                     |       |\n * |                                 |     | Lo      | 1st, 2nd, ..., 12th               | 5     |\n * |                                 |     | LL      | 01, 02, ..., 12                   |       |\n * |                                 |     | LLL     | Jan, Feb, ..., Dec                |       |\n * |                                 |     | LLLL    | January, February, ..., December  | 2     |\n * |                                 |     | LLLLL   | J, F, ..., D                      |       |\n * | Local week of year              | 100 | w       | 1, 2, ..., 53                     |       |\n * |                                 |     | wo      | 1st, 2nd, ..., 53th               | 5     |\n * |                                 |     | ww      | 01, 02, ..., 53                   |       |\n * | ISO week of year                | 100 | I       | 1, 2, ..., 53                     | 5     |\n * |                                 |     | Io      | 1st, 2nd, ..., 53th               | 5     |\n * |                                 |     | II      | 01, 02, ..., 53                   | 5     |\n * | Day of month                    |  90 | d       | 1, 2, ..., 31                     |       |\n * |                                 |     | do      | 1st, 2nd, ..., 31st               | 5     |\n * |                                 |     | dd      | 01, 02, ..., 31                   |       |\n * | Day of year                     |  90 | D       | 1, 2, ..., 365, 366               | 7     |\n * |                                 |     | Do      | 1st, 2nd, ..., 365th, 366th       | 5     |\n * |                                 |     | DD      | 01, 02, ..., 365, 366             | 7     |\n * |                                 |     | DDD     | 001, 002, ..., 365, 366           |       |\n * |                                 |     | DDDD    | ...                               | 2     |\n * | Day of week (formatting)        |  90 | E..EEE  | Mon, Tue, Wed, ..., Sun           |       |\n * |                                 |     | EEEE    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 |     | EEEEE   | M, T, W, T, F, S, S               |       |\n * |                                 |     | EEEEEE  | Mo, Tu, We, Th, Fr, Sa, Su        |       |\n * | ISO day of week (formatting)    |  90 | i       | 1, 2, 3, ..., 7                   | 5     |\n * |                                 |     | io      | 1st, 2nd, ..., 7th                | 5     |\n * |                                 |     | ii      | 01, 02, ..., 07                   | 5     |\n * |                                 |     | iii     | Mon, Tue, Wed, ..., Sun           | 5     |\n * |                                 |     | iiii    | Monday, Tuesday, ..., Sunday      | 2,5   |\n * |                                 |     | iiiii   | M, T, W, T, F, S, S               | 5     |\n * |                                 |     | iiiiii  | Mo, Tu, We, Th, Fr, Sa, Su        | 5     |\n * | Local day of week (formatting)  |  90 | e       | 2, 3, 4, ..., 1                   |       |\n * |                                 |     | eo      | 2nd, 3rd, ..., 1st                | 5     |\n * |                                 |     | ee      | 02, 03, ..., 01                   |       |\n * |                                 |     | eee     | Mon, Tue, Wed, ..., Sun           |       |\n * |                                 |     | eeee    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 |     | eeeee   | M, T, W, T, F, S, S               |       |\n * |                                 |     | eeeeee  | Mo, Tu, We, Th, Fr, Sa, Su        |       |\n * | Local day of week (stand-alone) |  90 | c       | 2, 3, 4, ..., 1                   |       |\n * |                                 |     | co      | 2nd, 3rd, ..., 1st                | 5     |\n * |                                 |     | cc      | 02, 03, ..., 01                   |       |\n * |                                 |     | ccc     | Mon, Tue, Wed, ..., Sun           |       |\n * |                                 |     | cccc    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 |     | ccccc   | M, T, W, T, F, S, S               |       |\n * |                                 |     | cccccc  | Mo, Tu, We, Th, Fr, Sa, Su        |       |\n * | AM, PM                          |  80 | a..aaa  | AM, PM                            |       |\n * |                                 |     | aaaa    | a.m., p.m.                        | 2     |\n * |                                 |     | aaaaa   | a, p                              |       |\n * | AM, PM, noon, midnight          |  80 | b..bbb  | AM, PM, noon, midnight            |       |\n * |                                 |     | bbbb    | a.m., p.m., noon, midnight        | 2     |\n * |                                 |     | bbbbb   | a, p, n, mi                       |       |\n * | Flexible day period             |  80 | B..BBB  | at night, in the morning, ...     |       |\n * |                                 |     | BBBB    | at night, in the morning, ...     | 2     |\n * |                                 |     | BBBBB   | at night, in the morning, ...     |       |\n * | Hour [1-12]                     |  70 | h       | 1, 2, ..., 11, 12                 |       |\n * |                                 |     | ho      | 1st, 2nd, ..., 11th, 12th         | 5     |\n * |                                 |     | hh      | 01, 02, ..., 11, 12               |       |\n * | Hour [0-23]                     |  70 | H       | 0, 1, 2, ..., 23                  |       |\n * |                                 |     | Ho      | 0th, 1st, 2nd, ..., 23rd          | 5     |\n * |                                 |     | HH      | 00, 01, 02, ..., 23               |       |\n * | Hour [0-11]                     |  70 | K       | 1, 2, ..., 11, 0                  |       |\n * |                                 |     | Ko      | 1st, 2nd, ..., 11th, 0th          | 5     |\n * |                                 |     | KK      | 01, 02, ..., 11, 00               |       |\n * | Hour [1-24]                     |  70 | k       | 24, 1, 2, ..., 23                 |       |\n * |                                 |     | ko      | 24th, 1st, 2nd, ..., 23rd         | 5     |\n * |                                 |     | kk      | 24, 01, 02, ..., 23               |       |\n * | Minute                          |  60 | m       | 0, 1, ..., 59                     |       |\n * |                                 |     | mo      | 0th, 1st, ..., 59th               | 5     |\n * |                                 |     | mm      | 00, 01, ..., 59                   |       |\n * | Second                          |  50 | s       | 0, 1, ..., 59                     |       |\n * |                                 |     | so      | 0th, 1st, ..., 59th               | 5     |\n * |                                 |     | ss      | 00, 01, ..., 59                   |       |\n * | Seconds timestamp               |  40 | t       | 512969520                         |       |\n * |                                 |     | tt      | ...                               | 2     |\n * | Fraction of second              |  30 | S       | 0, 1, ..., 9                      |       |\n * |                                 |     | SS      | 00, 01, ..., 99                   |       |\n * |                                 |     | SSS     | 000, 001, ..., 999                |       |\n * |                                 |     | SSSS    | ...                               | 2     |\n * | Milliseconds timestamp          |  20 | T       | 512969520900                      |       |\n * |                                 |     | TT      | ...                               | 2     |\n * | Timezone (ISO-8601 w/ Z)        |  10 | X       | -08, +0530, Z                     |       |\n * |                                 |     | XX      | -0800, +0530, Z                   |       |\n * |                                 |     | XXX     | -08:00, +05:30, Z                 |       |\n * |                                 |     | XXXX    | -0800, +0530, Z, +123456          | 2     |\n * |                                 |     | XXXXX   | -08:00, +05:30, Z, +12:34:56      |       |\n * | Timezone (ISO-8601 w/o Z)       |  10 | x       | -08, +0530, +00                   |       |\n * |                                 |     | xx      | -0800, +0530, +0000               |       |\n * |                                 |     | xxx     | -08:00, +05:30, +00:00            | 2     |\n * |                                 |     | xxxx    | -0800, +0530, +0000, +123456      |       |\n * |                                 |     | xxxxx   | -08:00, +05:30, +00:00, +12:34:56 |       |\n * | Long localized date             |  NA | P       | 05/29/1453                        | 5,8   |\n * |                                 |     | PP      | May 29, 1453                      |       |\n * |                                 |     | PPP     | May 29th, 1453                    |       |\n * |                                 |     | PPPP    | Sunday, May 29th, 1453            | 2,5,8 |\n * | Long localized time             |  NA | p       | 12:00 AM                          | 5,8   |\n * |                                 |     | pp      | 12:00:00 AM                       |       |\n * | Combination of date and time    |  NA | Pp      | 05/29/1453, 12:00 AM              |       |\n * |                                 |     | PPpp    | May 29, 1453, 12:00:00 AM         |       |\n * |                                 |     | PPPpp   | May 29th, 1453 at ...             |       |\n * |                                 |     | PPPPpp  | Sunday, May 29th, 1453 at ...     | 2,5,8 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n *    are the same as \"stand-alone\" units, but are different in some languages.\n *    \"Formatting\" units are declined according to the rules of the language\n *    in the context of a date. \"Stand-alone\" units are always nominative singular.\n *    In `format` function, they will produce different result:\n *\n *    `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n *    `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n *    `parse` will try to match both formatting and stand-alone units interchangably.\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n *    the single quote characters (see below).\n *    If the sequence is longer than listed in table:\n *    - for numerical units (`yyyyyyyy`) `parse` will try to match a number\n *      as wide as the sequence\n *    - for text units (`MMMMMMMM`) `parse` will try to match the widest variation of the unit.\n *      These variations are marked with \"2\" in the last column of the table.\n *\n * 3. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n *    These tokens represent the shortest form of the quarter.\n *\n * 4. The main difference between `y` and `u` patterns are B.C. years:\n *\n *    | Year | `y` | `u` |\n *    |------|-----|-----|\n *    | AC 1 |   1 |   1 |\n *    | BC 1 |   1 |   0 |\n *    | BC 2 |   2 |  -1 |\n *\n *    Also `yy` will try to guess the century of two digit year by proximity with `referenceDate`:\n *\n *    `parse('50', 'yy', new Date(2018, 0, 1)) //=> Sat Jan 01 2050 00:00:00`\n *\n *    `parse('75', 'yy', new Date(2018, 0, 1)) //=> Wed Jan 01 1975 00:00:00`\n *\n *    while `uu` will just assign the year as is:\n *\n *    `parse('50', 'uu', new Date(2018, 0, 1)) //=> Sat Jan 01 0050 00:00:00`\n *\n *    `parse('75', 'uu', new Date(2018, 0, 1)) //=> Tue Jan 01 0075 00:00:00`\n *\n *    The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n *    except local week-numbering years are dependent on `options.weekStartsOn`\n *    and `options.firstWeekContainsDate` (compare [setISOWeekYear]{@link https://date-fns.org/docs/setISOWeekYear}\n *    and [setWeekYear]{@link https://date-fns.org/docs/setWeekYear}).\n *\n * 5. These patterns are not in the Unicode Technical Standard #35:\n *    - `i`: ISO day of week\n *    - `I`: ISO week of year\n *    - `R`: ISO week-numbering year\n *    - `o`: ordinal number modifier\n *    - `P`: long localized date\n *    - `p`: long localized time\n *\n * 6. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n *    You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 7. `D` and `DD` tokens represent days of the year but they are ofthen confused with days of the month.\n *    You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 8. `P+` tokens do not have a defined priority since they are merely aliases to other tokens based\n *    on the given locale.\n *\n *    using `en-US` locale: `P` => `MM/dd/yyyy`\n *    using `en-US` locale: `p` => `hh:mm a`\n *    using `pt-BR` locale: `P` => `dd/MM/yyyy`\n *    using `pt-BR` locale: `p` => `HH:mm`\n *\n * Values will be assigned to the date in the descending order of its unit's priority.\n * Units of an equal priority overwrite each other in the order of appearance.\n *\n * If no values of higher priority are parsed (e.g. when parsing string 'January 1st' without a year),\n * the values will be taken from 3rd argument `referenceDate` which works as a context of parsing.\n *\n * `referenceDate` must be passed for correct work of the function.\n * If you're not sure which `referenceDate` to supply, create a new instance of Date:\n * `parse('02/11/2014', 'MM/dd/yyyy', new Date())`\n * In this case parsing will be done in the context of the current date.\n * If `referenceDate` is `Invalid Date` or a value not convertible to valid `Date`,\n * then `Invalid Date` will be returned.\n *\n * The result may vary by locale.\n *\n * If `formatString` matches with `dateString` but does not provides tokens, `referenceDate` will be returned.\n *\n * If parsing failed, `Invalid Date` will be returned.\n * Invalid Date is a Date, whose time value is NaN.\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param {String} dateString - the string to parse\n * @param {String} formatString - the string of tokens\n * @param {Date|Number} referenceDate - defines values missing from the parsed dateString\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n *   see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n *   see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @returns {Date} the parsed date\n * @throws {TypeError} 3 arguments required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} `options.locale` must contain `match` property\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Parse 11 February 2014 from middle-endian format:\n * var result = parse('02/11/2014', 'MM/dd/yyyy', new Date())\n * //=> Tue Feb 11 2014 00:00:00\n *\n * @example\n * // Parse 28th of February in Esperanto locale in the context of 2010 year:\n * import eo from 'date-fns/locale/eo'\n * var result = parse('28-a de februaro', \"do 'de' MMMM\", new Date(2010, 0, 1), {\n *   locale: eo\n * })\n * //=> Sun Feb 28 2010 00:00:00\n */\nexport default function parse(dirtyDateString, dirtyFormatString, dirtyReferenceDate, options) {\n  var _ref, _options$locale, _ref2, _ref3, _ref4, _options$firstWeekCon, _options$locale2, _options$locale2$opti, _defaultOptions$local, _defaultOptions$local2, _ref5, _ref6, _ref7, _options$weekStartsOn, _options$locale3, _options$locale3$opti, _defaultOptions$local3, _defaultOptions$local4;\n  requiredArgs(3, arguments);\n  var dateString = String(dirtyDateString);\n  var formatString = String(dirtyFormatString);\n  var defaultOptions = getDefaultOptions();\n  var locale = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions.locale) !== null && _ref !== void 0 ? _ref : defaultLocale;\n  if (!locale.match) {\n    throw new RangeError('locale must contain match property');\n  }\n  var firstWeekContainsDate = toInteger((_ref2 = (_ref3 = (_ref4 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale2 = options.locale) === null || _options$locale2 === void 0 ? void 0 : (_options$locale2$opti = _options$locale2.options) === null || _options$locale2$opti === void 0 ? void 0 : _options$locale2$opti.firstWeekContainsDate) !== null && _ref4 !== void 0 ? _ref4 : defaultOptions.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : 1);\n\n  // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n  if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n    throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n  }\n  var weekStartsOn = toInteger((_ref5 = (_ref6 = (_ref7 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale3 = options.locale) === null || _options$locale3 === void 0 ? void 0 : (_options$locale3$opti = _options$locale3.options) === null || _options$locale3$opti === void 0 ? void 0 : _options$locale3$opti.weekStartsOn) !== null && _ref7 !== void 0 ? _ref7 : defaultOptions.weekStartsOn) !== null && _ref6 !== void 0 ? _ref6 : (_defaultOptions$local3 = defaultOptions.locale) === null || _defaultOptions$local3 === void 0 ? void 0 : (_defaultOptions$local4 = _defaultOptions$local3.options) === null || _defaultOptions$local4 === void 0 ? void 0 : _defaultOptions$local4.weekStartsOn) !== null && _ref5 !== void 0 ? _ref5 : 0);\n\n  // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n  if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n    throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n  }\n  if (formatString === '') {\n    if (dateString === '') {\n      return toDate(dirtyReferenceDate);\n    } else {\n      return new Date(NaN);\n    }\n  }\n  var subFnOptions = {\n    firstWeekContainsDate: firstWeekContainsDate,\n    weekStartsOn: weekStartsOn,\n    locale: locale\n  };\n\n  // If timezone isn't specified, it will be set to the system timezone\n  var setters = [new DateToSystemTimezoneSetter()];\n  var tokens = formatString.match(longFormattingTokensRegExp).map(function (substring) {\n    var firstCharacter = substring[0];\n    if (firstCharacter in longFormatters) {\n      var longFormatter = longFormatters[firstCharacter];\n      return longFormatter(substring, locale.formatLong);\n    }\n    return substring;\n  }).join('').match(formattingTokensRegExp);\n  var usedTokens = [];\n  var _iterator = _createForOfIteratorHelper(tokens),\n    _step;\n  try {\n    var _loop = function _loop() {\n      var token = _step.value;\n      if (!(options !== null && options !== void 0 && options.useAdditionalWeekYearTokens) && isProtectedWeekYearToken(token)) {\n        throwProtectedError(token, formatString, dirtyDateString);\n      }\n      if (!(options !== null && options !== void 0 && options.useAdditionalDayOfYearTokens) && isProtectedDayOfYearToken(token)) {\n        throwProtectedError(token, formatString, dirtyDateString);\n      }\n      var firstCharacter = token[0];\n      var parser = parsers[firstCharacter];\n      if (parser) {\n        var incompatibleTokens = parser.incompatibleTokens;\n        if (Array.isArray(incompatibleTokens)) {\n          var incompatibleToken = usedTokens.find(function (usedToken) {\n            return incompatibleTokens.includes(usedToken.token) || usedToken.token === firstCharacter;\n          });\n          if (incompatibleToken) {\n            throw new RangeError(\"The format string mustn't contain `\".concat(incompatibleToken.fullToken, \"` and `\").concat(token, \"` at the same time\"));\n          }\n        } else if (parser.incompatibleTokens === '*' && usedTokens.length > 0) {\n          throw new RangeError(\"The format string mustn't contain `\".concat(token, \"` and any other token at the same time\"));\n        }\n        usedTokens.push({\n          token: firstCharacter,\n          fullToken: token\n        });\n        var parseResult = parser.run(dateString, token, locale.match, subFnOptions);\n        if (!parseResult) {\n          return {\n            v: new Date(NaN)\n          };\n        }\n        setters.push(parseResult.setter);\n        dateString = parseResult.rest;\n      } else {\n        if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n          throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n        }\n\n        // Replace two single quote characters with one single quote character\n        if (token === \"''\") {\n          token = \"'\";\n        } else if (firstCharacter === \"'\") {\n          token = cleanEscapedString(token);\n        }\n\n        // Cut token from string, or, if string doesn't match the token, return Invalid Date\n        if (dateString.indexOf(token) === 0) {\n          dateString = dateString.slice(token.length);\n        } else {\n          return {\n            v: new Date(NaN)\n          };\n        }\n      }\n    };\n    for (_iterator.s(); !(_step = _iterator.n()).done;) {\n      var _ret = _loop();\n      if (_typeof(_ret) === \"object\") return _ret.v;\n    }\n\n    // Check if the remaining input contains something other than whitespace\n  } catch (err) {\n    _iterator.e(err);\n  } finally {\n    _iterator.f();\n  }\n  if (dateString.length > 0 && notWhitespaceRegExp.test(dateString)) {\n    return new Date(NaN);\n  }\n  var uniquePrioritySetters = setters.map(function (setter) {\n    return setter.priority;\n  }).sort(function (a, b) {\n    return b - a;\n  }).filter(function (priority, index, array) {\n    return array.indexOf(priority) === index;\n  }).map(function (priority) {\n    return setters.filter(function (setter) {\n      return setter.priority === priority;\n    }).sort(function (a, b) {\n      return b.subPriority - a.subPriority;\n    });\n  }).map(function (setterArray) {\n    return setterArray[0];\n  });\n  var date = toDate(dirtyReferenceDate);\n  if (isNaN(date.getTime())) {\n    return new Date(NaN);\n  }\n\n  // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n  var utcDate = subMilliseconds(date, getTimezoneOffsetInMilliseconds(date));\n  var flags = {};\n  var _iterator2 = _createForOfIteratorHelper(uniquePrioritySetters),\n    _step2;\n  try {\n    for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n      var setter = _step2.value;\n      if (!setter.validate(utcDate, subFnOptions)) {\n        return new Date(NaN);\n      }\n      var result = setter.set(utcDate, flags, subFnOptions);\n      // Result is tuple (date, flags)\n      if (Array.isArray(result)) {\n        utcDate = result[0];\n        assign(flags, result[1]);\n        // Result is date\n      } else {\n        utcDate = result;\n      }\n    }\n  } catch (err) {\n    _iterator2.e(err);\n  } finally {\n    _iterator2.f();\n  }\n  return utcDate;\n}\nfunction cleanEscapedString(input) {\n  return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, \"'\");\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param {*} value - the value to check\n * @returns {boolean} true if the given value is a date\n * @throws {TypeError} 1 arguments required\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\nexport default function isDate(value) {\n  requiredArgs(1, arguments);\n  return value instanceof Date || _typeof(value) === 'object' && Object.prototype.toString.call(value) === '[object Date]';\n}","import isDate from \"../isDate/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param {*} date - the date to check\n * @returns {Boolean} the date is valid\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\nexport default function isValid(dirtyDate) {\n  requiredArgs(1, arguments);\n  if (!isDate(dirtyDate) && typeof dirtyDate !== 'number') {\n    return false;\n  }\n  var date = toDate(dirtyDate);\n  return !isNaN(Number(date));\n}","import parse from \"../parse/index.js\";\nimport isValid from \"../isValid/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isMatch\n * @category Common Helpers\n * @summary validates the date string against given formats\n *\n * @description\n * Return the true if given date is string correct against the given format else\n * will return false.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters in the format string wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n *\n * Format of the format string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 5 below the table).\n *\n * Not all tokens are compatible. Combinations that don't make sense or could lead to bugs are prohibited\n * and will throw `RangeError`. For example usage of 24-hour format token with AM/PM token will throw an exception:\n *\n * ```javascript\n * isMatch('23 AM', 'HH a')\n * //=> RangeError: The format string mustn't contain `HH` and `a` at the same time\n * ```\n *\n * See the compatibility table: https://docs.google.com/spreadsheets/d/e/2PACX-1vQOPU3xUhplll6dyoMmVUXHKl_8CRDs6_ueLmex3SoqwhuolkuN3O05l4rqx5h1dKX8eb46Ul-CCSrq/pubhtml?gid=0&single=true\n *\n * Accepted format string patterns:\n * | Unit                            |Prior| Pattern | Result examples                   | Notes |\n * |---------------------------------|-----|---------|-----------------------------------|-------|\n * | Era                             | 140 | G..GGG  | AD, BC                            |       |\n * |                                 |     | GGGG    | Anno Domini, Before Christ        | 2     |\n * |                                 |     | GGGGG   | A, B                              |       |\n * | Calendar year                   | 130 | y       | 44, 1, 1900, 2017, 9999           | 4     |\n * |                                 |     | yo      | 44th, 1st, 1900th, 9999999th      | 4,5   |\n * |                                 |     | yy      | 44, 01, 00, 17                    | 4     |\n * |                                 |     | yyy     | 044, 001, 123, 999                | 4     |\n * |                                 |     | yyyy    | 0044, 0001, 1900, 2017            | 4     |\n * |                                 |     | yyyyy   | ...                               | 2,4   |\n * | Local week-numbering year       | 130 | Y       | 44, 1, 1900, 2017, 9000           | 4     |\n * |                                 |     | Yo      | 44th, 1st, 1900th, 9999999th      | 4,5   |\n * |                                 |     | YY      | 44, 01, 00, 17                    | 4,6   |\n * |                                 |     | YYY     | 044, 001, 123, 999                | 4     |\n * |                                 |     | YYYY    | 0044, 0001, 1900, 2017            | 4,6   |\n * |                                 |     | YYYYY   | ...                               | 2,4   |\n * | ISO week-numbering year         | 130 | R       | -43, 1, 1900, 2017, 9999, -9999   | 4,5   |\n * |                                 |     | RR      | -43, 01, 00, 17                   | 4,5   |\n * |                                 |     | RRR     | -043, 001, 123, 999, -999         | 4,5   |\n * |                                 |     | RRRR    | -0043, 0001, 2017, 9999, -9999    | 4,5   |\n * |                                 |     | RRRRR   | ...                               | 2,4,5 |\n * | Extended year                   | 130 | u       | -43, 1, 1900, 2017, 9999, -999    | 4     |\n * |                                 |     | uu      | -43, 01, 99, -99                  | 4     |\n * |                                 |     | uuu     | -043, 001, 123, 999, -999         | 4     |\n * |                                 |     | uuuu    | -0043, 0001, 2017, 9999, -9999    | 4     |\n * |                                 |     | uuuuu   | ...                               | 2,4   |\n * | Quarter (formatting)            | 120 | Q       | 1, 2, 3, 4                        |       |\n * |                                 |     | Qo      | 1st, 2nd, 3rd, 4th                | 5     |\n * |                                 |     | QQ      | 01, 02, 03, 04                    |       |\n * |                                 |     | QQQ     | Q1, Q2, Q3, Q4                    |       |\n * |                                 |     | QQQQ    | 1st quarter, 2nd quarter, ...     | 2     |\n * |                                 |     | QQQQQ   | 1, 2, 3, 4                        | 4     |\n * | Quarter (stand-alone)           | 120 | q       | 1, 2, 3, 4                        |       |\n * |                                 |     | qo      | 1st, 2nd, 3rd, 4th                | 5     |\n * |                                 |     | qq      | 01, 02, 03, 04                    |       |\n * |                                 |     | qqq     | Q1, Q2, Q3, Q4                    |       |\n * |                                 |     | qqqq    | 1st quarter, 2nd quarter, ...     | 2     |\n * |                                 |     | qqqqq   | 1, 2, 3, 4                        | 3     |\n * | Month (formatting)              | 110 | M       | 1, 2, ..., 12                     |       |\n * |                                 |     | Mo      | 1st, 2nd, ..., 12th               | 5     |\n * |                                 |     | MM      | 01, 02, ..., 12                   |       |\n * |                                 |     | MMM     | Jan, Feb, ..., Dec                |       |\n * |                                 |     | MMMM    | January, February, ..., December  | 2     |\n * |                                 |     | MMMMM   | J, F, ..., D                      |       |\n * | Month (stand-alone)             | 110 | L       | 1, 2, ..., 12                     |       |\n * |                                 |     | Lo      | 1st, 2nd, ..., 12th               | 5     |\n * |                                 |     | LL      | 01, 02, ..., 12                   |       |\n * |                                 |     | LLL     | Jan, Feb, ..., Dec                |       |\n * |                                 |     | LLLL    | January, February, ..., December  | 2     |\n * |                                 |     | LLLLL   | J, F, ..., D                      |       |\n * | Local week of year              | 100 | w       | 1, 2, ..., 53                     |       |\n * |                                 |     | wo      | 1st, 2nd, ..., 53th               | 5     |\n * |                                 |     | ww      | 01, 02, ..., 53                   |       |\n * | ISO week of year                | 100 | I       | 1, 2, ..., 53                     | 5     |\n * |                                 |     | Io      | 1st, 2nd, ..., 53th               | 5     |\n * |                                 |     | II      | 01, 02, ..., 53                   | 5     |\n * | Day of month                    |  90 | d       | 1, 2, ..., 31                     |       |\n * |                                 |     | do      | 1st, 2nd, ..., 31st               | 5     |\n * |                                 |     | dd      | 01, 02, ..., 31                   |       |\n * | Day of year                     |  90 | D       | 1, 2, ..., 365, 366               | 7     |\n * |                                 |     | Do      | 1st, 2nd, ..., 365th, 366th       | 5     |\n * |                                 |     | DD      | 01, 02, ..., 365, 366             | 7     |\n * |                                 |     | DDD     | 001, 002, ..., 365, 366           |       |\n * |                                 |     | DDDD    | ...                               | 2     |\n * | Day of week (formatting)        |  90 | E..EEE  | Mon, Tue, Wed, ..., Su            |       |\n * |                                 |     | EEEE    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 |     | EEEEE   | M, T, W, T, F, S, S               |       |\n * |                                 |     | EEEEEE  | Mo, Tu, We, Th, Fr, Sa, Su        |       |\n * | ISO day of week (formatting)    |  90 | i       | 1, 2, 3, ..., 7                   | 5     |\n * |                                 |     | io      | 1st, 2nd, ..., 7th                | 5     |\n * |                                 |     | ii      | 01, 02, ..., 07                   | 5     |\n * |                                 |     | iii     | Mon, Tue, Wed, ..., Su            | 5     |\n * |                                 |     | iiii    | Monday, Tuesday, ..., Sunday      | 2,5   |\n * |                                 |     | iiiii   | M, T, W, T, F, S, S               | 5     |\n * |                                 |     | iiiiii  | Mo, Tu, We, Th, Fr, Sa, Su        | 5     |\n * | Local day of week (formatting)  |  90 | e       | 2, 3, 4, ..., 1                   |       |\n * |                                 |     | eo      | 2nd, 3rd, ..., 1st                | 5     |\n * |                                 |     | ee      | 02, 03, ..., 01                   |       |\n * |                                 |     | eee     | Mon, Tue, Wed, ..., Su            |       |\n * |                                 |     | eeee    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 |     | eeeee   | M, T, W, T, F, S, S               |       |\n * |                                 |     | eeeeee  | Mo, Tu, We, Th, Fr, Sa, Su        |       |\n * | Local day of week (stand-alone) |  90 | c       | 2, 3, 4, ..., 1                   |       |\n * |                                 |     | co      | 2nd, 3rd, ..., 1st                | 5     |\n * |                                 |     | cc      | 02, 03, ..., 01                   |       |\n * |                                 |     | ccc     | Mon, Tue, Wed, ..., Su            |       |\n * |                                 |     | cccc    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 |     | ccccc   | M, T, W, T, F, S, S               |       |\n * |                                 |     | cccccc  | Mo, Tu, We, Th, Fr, Sa, Su        |       |\n * | AM, PM                          |  80 | a..aaa  | AM, PM                            |       |\n * |                                 |     | aaaa    | a.m., p.m.                        | 2     |\n * |                                 |     | aaaaa   | a, p                              |       |\n * | AM, PM, noon, midnight          |  80 | b..bbb  | AM, PM, noon, midnight            |       |\n * |                                 |     | bbbb    | a.m., p.m., noon, midnight        | 2     |\n * |                                 |     | bbbbb   | a, p, n, mi                       |       |\n * | Flexible day period             |  80 | B..BBB  | at night, in the morning, ...     |       |\n * |                                 |     | BBBB    | at night, in the morning, ...     | 2     |\n * |                                 |     | BBBBB   | at night, in the morning, ...     |       |\n * | Hour [1-12]                     |  70 | h       | 1, 2, ..., 11, 12                 |       |\n * |                                 |     | ho      | 1st, 2nd, ..., 11th, 12th         | 5     |\n * |                                 |     | hh      | 01, 02, ..., 11, 12               |       |\n * | Hour [0-23]                     |  70 | H       | 0, 1, 2, ..., 23                  |       |\n * |                                 |     | Ho      | 0th, 1st, 2nd, ..., 23rd          | 5     |\n * |                                 |     | HH      | 00, 01, 02, ..., 23               |       |\n * | Hour [0-11]                     |  70 | K       | 1, 2, ..., 11, 0                  |       |\n * |                                 |     | Ko      | 1st, 2nd, ..., 11th, 0th          | 5     |\n * |                                 |     | KK      | 01, 02, ..., 11, 00               |       |\n * | Hour [1-24]                     |  70 | k       | 24, 1, 2, ..., 23                 |       |\n * |                                 |     | ko      | 24th, 1st, 2nd, ..., 23rd         | 5     |\n * |                                 |     | kk      | 24, 01, 02, ..., 23               |       |\n * | Minute                          |  60 | m       | 0, 1, ..., 59                     |       |\n * |                                 |     | mo      | 0th, 1st, ..., 59th               | 5     |\n * |                                 |     | mm      | 00, 01, ..., 59                   |       |\n * | Second                          |  50 | s       | 0, 1, ..., 59                     |       |\n * |                                 |     | so      | 0th, 1st, ..., 59th               | 5     |\n * |                                 |     | ss      | 00, 01, ..., 59                   |       |\n * | Seconds timestamp               |  40 | t       | 512969520                         |       |\n * |                                 |     | tt      | ...                               | 2     |\n * | Fraction of second              |  30 | S       | 0, 1, ..., 9                      |       |\n * |                                 |     | SS      | 00, 01, ..., 99                   |       |\n * |                                 |     | SSS     | 000, 001, ..., 999                |       |\n * |                                 |     | SSSS    | ...                               | 2     |\n * | Milliseconds timestamp          |  20 | T       | 512969520900                      |       |\n * |                                 |     | TT      | ...                               | 2     |\n * | Timezone (ISO-8601 w/ Z)        |  10 | X       | -08, +0530, Z                     |       |\n * |                                 |     | XX      | -0800, +0530, Z                   |       |\n * |                                 |     | XXX     | -08:00, +05:30, Z                 |       |\n * |                                 |     | XXXX    | -0800, +0530, Z, +123456          | 2     |\n * |                                 |     | XXXXX   | -08:00, +05:30, Z, +12:34:56      |       |\n * | Timezone (ISO-8601 w/o Z)       |  10 | x       | -08, +0530, +00                   |       |\n * |                                 |     | xx      | -0800, +0530, +0000               |       |\n * |                                 |     | xxx     | -08:00, +05:30, +00:00            | 2     |\n * |                                 |     | xxxx    | -0800, +0530, +0000, +123456      |       |\n * |                                 |     | xxxxx   | -08:00, +05:30, +00:00, +12:34:56 |       |\n * | Long localized date             |  NA | P       | 05/29/1453                        | 5,8   |\n * |                                 |     | PP      | May 29, 1453                      |       |\n * |                                 |     | PPP     | May 29th, 1453                    |       |\n * |                                 |     | PPPP    | Sunday, May 29th, 1453            | 2,5,8 |\n * | Long localized time             |  NA | p       | 12:00 AM                          | 5,8   |\n * |                                 |     | pp      | 12:00:00 AM                       |       |\n * | Combination of date and time    |  NA | Pp      | 05/29/1453, 12:00 AM              |       |\n * |                                 |     | PPpp    | May 29, 1453, 12:00:00 AM         |       |\n * |                                 |     | PPPpp   | May 29th, 1453 at ...             |       |\n * |                                 |     | PPPPpp  | Sunday, May 29th, 1453 at ...     | 2,5,8 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n *    are the same as \"stand-alone\" units, but are different in some languages.\n *    \"Formatting\" units are declined according to the rules of the language\n *    in the context of a date. \"Stand-alone\" units are always nominative singular.\n *    In `format` function, they will produce different result:\n *\n *    `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n *    `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n *    `isMatch` will try to match both formatting and stand-alone units interchangably.\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n *    the single quote characters (see below).\n *    If the sequence is longer than listed in table:\n *    - for numerical units (`yyyyyyyy`) `isMatch` will try to match a number\n *      as wide as the sequence\n *    - for text units (`MMMMMMMM`) `isMatch` will try to match the widest variation of the unit.\n *      These variations are marked with \"2\" in the last column of the table.\n *\n * 3. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n *    These tokens represent the shortest form of the quarter.\n *\n * 4. The main difference between `y` and `u` patterns are B.C. years:\n *\n *    | Year | `y` | `u` |\n *    |------|-----|-----|\n *    | AC 1 |   1 |   1 |\n *    | BC 1 |   1 |   0 |\n *    | BC 2 |   2 |  -1 |\n *\n *    Also `yy` will try to guess the century of two digit year by proximity with `referenceDate`:\n *\n *    `isMatch('50', 'yy') //=> true`\n *\n *    `isMatch('75', 'yy') //=> true`\n *\n *    while `uu` will use the year as is:\n *\n *    `isMatch('50', 'uu') //=> true`\n *\n *    `isMatch('75', 'uu') //=> true`\n *\n *    The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n *    except local week-numbering years are dependent on `options.weekStartsOn`\n *    and `options.firstWeekContainsDate` (compare [setISOWeekYear]{@link https://date-fns.org/docs/setISOWeekYear}\n *    and [setWeekYear]{@link https://date-fns.org/docs/setWeekYear}).\n *\n * 5. These patterns are not in the Unicode Technical Standard #35:\n *    - `i`: ISO day of week\n *    - `I`: ISO week of year\n *    - `R`: ISO week-numbering year\n *    - `o`: ordinal number modifier\n *    - `P`: long localized date\n *    - `p`: long localized time\n *\n * 6. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n *    You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 7. `D` and `DD` tokens represent days of the year but they are ofthen confused with days of the month.\n *    You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 8. `P+` tokens do not have a defined priority since they are merely aliases to other tokens based\n *    on the given locale.\n *\n *    using `en-US` locale: `P` => `MM/dd/yyyy`\n *    using `en-US` locale: `p` => `hh:mm a`\n *    using `pt-BR` locale: `P` => `dd/MM/yyyy`\n *    using `pt-BR` locale: `p` => `HH:mm`\n *\n * Values will be checked in the descending order of its unit's priority.\n * Units of an equal priority overwrite each other in the order of appearance.\n *\n * If no values of higher priority are matched (e.g. when matching string 'January 1st' without a year),\n * the values will be taken from today's using `new Date()` date which works as a context of parsing.\n *\n * The result may vary by locale.\n *\n * If `formatString` matches with `dateString` but does not provides tokens, `referenceDate` will be returned.\n *\n *\n *\n * @param {String} dateString - the date string to verify\n * @param {String} formatString - the string of tokens\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n *   see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n *   see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @returns {Boolean}\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} `options.locale` must contain `match` property\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `yy` instead of `YY` for formatting years; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Match 11 February 2014 from middle-endian format:\n * const result = isMatch('02/11/2014', 'MM/dd/yyyy')\n * //=> true\n *\n * @example\n * // Match 28th of February in Esperanto locale in the context of 2010 year:\n * import eo from 'date-fns/locale/eo'\n * const result = isMatch('28-a de februaro', \"do 'de' MMMM\", {\n *   locale: eo\n * })\n * //=> true\n */\nexport default function isMatch(dateString, formatString, options) {\n  requiredArgs(2, arguments);\n  return isValid(parse(dateString, formatString, new Date(), options));\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_DAY = 86400000;\nexport default function getUTCDayOfYear(dirtyDate) {\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  var timestamp = date.getTime();\n  date.setUTCMonth(0, 1);\n  date.setUTCHours(0, 0, 0, 0);\n  var startOfYearTimestamp = date.getTime();\n  var difference = timestamp - startOfYearTimestamp;\n  return Math.floor(difference / MILLISECONDS_IN_DAY) + 1;\n}","export default function addLeadingZeros(number, targetLength) {\n  var sign = number < 0 ? '-' : '';\n  var output = Math.abs(number).toString();\n  while (output.length < targetLength) {\n    output = '0' + output;\n  }\n  return sign + output;\n}","import addLeadingZeros from \"../../addLeadingZeros/index.js\";\n/*\n * |     | Unit                           |     | Unit                           |\n * |-----|--------------------------------|-----|--------------------------------|\n * |  a  | AM, PM                         |  A* |                                |\n * |  d  | Day of month                   |  D  |                                |\n * |  h  | Hour [1-12]                    |  H  | Hour [0-23]                    |\n * |  m  | Minute                         |  M  | Month                          |\n * |  s  | Second                         |  S  | Fraction of second             |\n * |  y  | Year (abs)                     |  Y  |                                |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\nvar formatters = {\n  // Year\n  y: function y(date, token) {\n    // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n    // | Year     |     y | yy |   yyy |  yyyy | yyyyy |\n    // |----------|-------|----|-------|-------|-------|\n    // | AD 1     |     1 | 01 |   001 |  0001 | 00001 |\n    // | AD 12    |    12 | 12 |   012 |  0012 | 00012 |\n    // | AD 123   |   123 | 23 |   123 |  0123 | 00123 |\n    // | AD 1234  |  1234 | 34 |  1234 |  1234 | 01234 |\n    // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n\n    var signedYear = date.getUTCFullYear();\n    // Returns 1 for 1 BC (which is year 0 in JavaScript)\n    var year = signedYear > 0 ? signedYear : 1 - signedYear;\n    return addLeadingZeros(token === 'yy' ? year % 100 : year, token.length);\n  },\n  // Month\n  M: function M(date, token) {\n    var month = date.getUTCMonth();\n    return token === 'M' ? String(month + 1) : addLeadingZeros(month + 1, 2);\n  },\n  // Day of the month\n  d: function d(date, token) {\n    return addLeadingZeros(date.getUTCDate(), token.length);\n  },\n  // AM or PM\n  a: function a(date, token) {\n    var dayPeriodEnumValue = date.getUTCHours() / 12 >= 1 ? 'pm' : 'am';\n    switch (token) {\n      case 'a':\n      case 'aa':\n        return dayPeriodEnumValue.toUpperCase();\n      case 'aaa':\n        return dayPeriodEnumValue;\n      case 'aaaaa':\n        return dayPeriodEnumValue[0];\n      case 'aaaa':\n      default:\n        return dayPeriodEnumValue === 'am' ? 'a.m.' : 'p.m.';\n    }\n  },\n  // Hour [1-12]\n  h: function h(date, token) {\n    return addLeadingZeros(date.getUTCHours() % 12 || 12, token.length);\n  },\n  // Hour [0-23]\n  H: function H(date, token) {\n    return addLeadingZeros(date.getUTCHours(), token.length);\n  },\n  // Minute\n  m: function m(date, token) {\n    return addLeadingZeros(date.getUTCMinutes(), token.length);\n  },\n  // Second\n  s: function s(date, token) {\n    return addLeadingZeros(date.getUTCSeconds(), token.length);\n  },\n  // Fraction of second\n  S: function S(date, token) {\n    var numberOfDigits = token.length;\n    var milliseconds = date.getUTCMilliseconds();\n    var fractionalSeconds = Math.floor(milliseconds * Math.pow(10, numberOfDigits - 3));\n    return addLeadingZeros(fractionalSeconds, token.length);\n  }\n};\nexport default formatters;","import getUTCDayOfYear from \"../../../_lib/getUTCDayOfYear/index.js\";\nimport getUTCISOWeek from \"../../../_lib/getUTCISOWeek/index.js\";\nimport getUTCISOWeekYear from \"../../../_lib/getUTCISOWeekYear/index.js\";\nimport getUTCWeek from \"../../../_lib/getUTCWeek/index.js\";\nimport getUTCWeekYear from \"../../../_lib/getUTCWeekYear/index.js\";\nimport addLeadingZeros from \"../../addLeadingZeros/index.js\";\nimport lightFormatters from \"../lightFormatters/index.js\";\nvar dayPeriodEnum = {\n  am: 'am',\n  pm: 'pm',\n  midnight: 'midnight',\n  noon: 'noon',\n  morning: 'morning',\n  afternoon: 'afternoon',\n  evening: 'evening',\n  night: 'night'\n};\n/*\n * |     | Unit                           |     | Unit                           |\n * |-----|--------------------------------|-----|--------------------------------|\n * |  a  | AM, PM                         |  A* | Milliseconds in day            |\n * |  b  | AM, PM, noon, midnight         |  B  | Flexible day period            |\n * |  c  | Stand-alone local day of week  |  C* | Localized hour w/ day period   |\n * |  d  | Day of month                   |  D  | Day of year                    |\n * |  e  | Local day of week              |  E  | Day of week                    |\n * |  f  |                                |  F* | Day of week in month           |\n * |  g* | Modified Julian day            |  G  | Era                            |\n * |  h  | Hour [1-12]                    |  H  | Hour [0-23]                    |\n * |  i! | ISO day of week                |  I! | ISO week of year               |\n * |  j* | Localized hour w/ day period   |  J* | Localized hour w/o day period  |\n * |  k  | Hour [1-24]                    |  K  | Hour [0-11]                    |\n * |  l* | (deprecated)                   |  L  | Stand-alone month              |\n * |  m  | Minute                         |  M  | Month                          |\n * |  n  |                                |  N  |                                |\n * |  o! | Ordinal number modifier        |  O  | Timezone (GMT)                 |\n * |  p! | Long localized time            |  P! | Long localized date            |\n * |  q  | Stand-alone quarter            |  Q  | Quarter                        |\n * |  r* | Related Gregorian year         |  R! | ISO week-numbering year        |\n * |  s  | Second                         |  S  | Fraction of second             |\n * |  t! | Seconds timestamp              |  T! | Milliseconds timestamp         |\n * |  u  | Extended year                  |  U* | Cyclic year                    |\n * |  v* | Timezone (generic non-locat.)  |  V* | Timezone (location)            |\n * |  w  | Local week of year             |  W* | Week of month                  |\n * |  x  | Timezone (ISO-8601 w/o Z)      |  X  | Timezone (ISO-8601)            |\n * |  y  | Year (abs)                     |  Y  | Local week-numbering year      |\n * |  z  | Timezone (specific non-locat.) |  Z* | Timezone (aliases)             |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n *   i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n *   `R` is supposed to be used in conjunction with `I` and `i`\n *   for universal ISO week-numbering date, whereas\n *   `Y` is supposed to be used in conjunction with `w` and `e`\n *   for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\nvar formatters = {\n  // Era\n  G: function G(date, token, localize) {\n    var era = date.getUTCFullYear() > 0 ? 1 : 0;\n    switch (token) {\n      // AD, BC\n      case 'G':\n      case 'GG':\n      case 'GGG':\n        return localize.era(era, {\n          width: 'abbreviated'\n        });\n      // A, B\n      case 'GGGGG':\n        return localize.era(era, {\n          width: 'narrow'\n        });\n      // Anno Domini, Before Christ\n      case 'GGGG':\n      default:\n        return localize.era(era, {\n          width: 'wide'\n        });\n    }\n  },\n  // Year\n  y: function y(date, token, localize) {\n    // Ordinal number\n    if (token === 'yo') {\n      var signedYear = date.getUTCFullYear();\n      // Returns 1 for 1 BC (which is year 0 in JavaScript)\n      var year = signedYear > 0 ? signedYear : 1 - signedYear;\n      return localize.ordinalNumber(year, {\n        unit: 'year'\n      });\n    }\n    return lightFormatters.y(date, token);\n  },\n  // Local week-numbering year\n  Y: function Y(date, token, localize, options) {\n    var signedWeekYear = getUTCWeekYear(date, options);\n    // Returns 1 for 1 BC (which is year 0 in JavaScript)\n    var weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;\n\n    // Two digit year\n    if (token === 'YY') {\n      var twoDigitYear = weekYear % 100;\n      return addLeadingZeros(twoDigitYear, 2);\n    }\n\n    // Ordinal number\n    if (token === 'Yo') {\n      return localize.ordinalNumber(weekYear, {\n        unit: 'year'\n      });\n    }\n\n    // Padding\n    return addLeadingZeros(weekYear, token.length);\n  },\n  // ISO week-numbering year\n  R: function R(date, token) {\n    var isoWeekYear = getUTCISOWeekYear(date);\n\n    // Padding\n    return addLeadingZeros(isoWeekYear, token.length);\n  },\n  // Extended year. This is a single number designating the year of this calendar system.\n  // The main difference between `y` and `u` localizers are B.C. years:\n  // | Year | `y` | `u` |\n  // |------|-----|-----|\n  // | AC 1 |   1 |   1 |\n  // | BC 1 |   1 |   0 |\n  // | BC 2 |   2 |  -1 |\n  // Also `yy` always returns the last two digits of a year,\n  // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n  u: function u(date, token) {\n    var year = date.getUTCFullYear();\n    return addLeadingZeros(year, token.length);\n  },\n  // Quarter\n  Q: function Q(date, token, localize) {\n    var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n    switch (token) {\n      // 1, 2, 3, 4\n      case 'Q':\n        return String(quarter);\n      // 01, 02, 03, 04\n      case 'QQ':\n        return addLeadingZeros(quarter, 2);\n      // 1st, 2nd, 3rd, 4th\n      case 'Qo':\n        return localize.ordinalNumber(quarter, {\n          unit: 'quarter'\n        });\n      // Q1, Q2, Q3, Q4\n      case 'QQQ':\n        return localize.quarter(quarter, {\n          width: 'abbreviated',\n          context: 'formatting'\n        });\n      // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n      case 'QQQQQ':\n        return localize.quarter(quarter, {\n          width: 'narrow',\n          context: 'formatting'\n        });\n      // 1st quarter, 2nd quarter, ...\n      case 'QQQQ':\n      default:\n        return localize.quarter(quarter, {\n          width: 'wide',\n          context: 'formatting'\n        });\n    }\n  },\n  // Stand-alone quarter\n  q: function q(date, token, localize) {\n    var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n    switch (token) {\n      // 1, 2, 3, 4\n      case 'q':\n        return String(quarter);\n      // 01, 02, 03, 04\n      case 'qq':\n        return addLeadingZeros(quarter, 2);\n      // 1st, 2nd, 3rd, 4th\n      case 'qo':\n        return localize.ordinalNumber(quarter, {\n          unit: 'quarter'\n        });\n      // Q1, Q2, Q3, Q4\n      case 'qqq':\n        return localize.quarter(quarter, {\n          width: 'abbreviated',\n          context: 'standalone'\n        });\n      // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n      case 'qqqqq':\n        return localize.quarter(quarter, {\n          width: 'narrow',\n          context: 'standalone'\n        });\n      // 1st quarter, 2nd quarter, ...\n      case 'qqqq':\n      default:\n        return localize.quarter(quarter, {\n          width: 'wide',\n          context: 'standalone'\n        });\n    }\n  },\n  // Month\n  M: function M(date, token, localize) {\n    var month = date.getUTCMonth();\n    switch (token) {\n      case 'M':\n      case 'MM':\n        return lightFormatters.M(date, token);\n      // 1st, 2nd, ..., 12th\n      case 'Mo':\n        return localize.ordinalNumber(month + 1, {\n          unit: 'month'\n        });\n      // Jan, Feb, ..., Dec\n      case 'MMM':\n        return localize.month(month, {\n          width: 'abbreviated',\n          context: 'formatting'\n        });\n      // J, F, ..., D\n      case 'MMMMM':\n        return localize.month(month, {\n          width: 'narrow',\n          context: 'formatting'\n        });\n      // January, February, ..., December\n      case 'MMMM':\n      default:\n        return localize.month(month, {\n          width: 'wide',\n          context: 'formatting'\n        });\n    }\n  },\n  // Stand-alone month\n  L: function L(date, token, localize) {\n    var month = date.getUTCMonth();\n    switch (token) {\n      // 1, 2, ..., 12\n      case 'L':\n        return String(month + 1);\n      // 01, 02, ..., 12\n      case 'LL':\n        return addLeadingZeros(month + 1, 2);\n      // 1st, 2nd, ..., 12th\n      case 'Lo':\n        return localize.ordinalNumber(month + 1, {\n          unit: 'month'\n        });\n      // Jan, Feb, ..., Dec\n      case 'LLL':\n        return localize.month(month, {\n          width: 'abbreviated',\n          context: 'standalone'\n        });\n      // J, F, ..., D\n      case 'LLLLL':\n        return localize.month(month, {\n          width: 'narrow',\n          context: 'standalone'\n        });\n      // January, February, ..., December\n      case 'LLLL':\n      default:\n        return localize.month(month, {\n          width: 'wide',\n          context: 'standalone'\n        });\n    }\n  },\n  // Local week of year\n  w: function w(date, token, localize, options) {\n    var week = getUTCWeek(date, options);\n    if (token === 'wo') {\n      return localize.ordinalNumber(week, {\n        unit: 'week'\n      });\n    }\n    return addLeadingZeros(week, token.length);\n  },\n  // ISO week of year\n  I: function I(date, token, localize) {\n    var isoWeek = getUTCISOWeek(date);\n    if (token === 'Io') {\n      return localize.ordinalNumber(isoWeek, {\n        unit: 'week'\n      });\n    }\n    return addLeadingZeros(isoWeek, token.length);\n  },\n  // Day of the month\n  d: function d(date, token, localize) {\n    if (token === 'do') {\n      return localize.ordinalNumber(date.getUTCDate(), {\n        unit: 'date'\n      });\n    }\n    return lightFormatters.d(date, token);\n  },\n  // Day of year\n  D: function D(date, token, localize) {\n    var dayOfYear = getUTCDayOfYear(date);\n    if (token === 'Do') {\n      return localize.ordinalNumber(dayOfYear, {\n        unit: 'dayOfYear'\n      });\n    }\n    return addLeadingZeros(dayOfYear, token.length);\n  },\n  // Day of week\n  E: function E(date, token, localize) {\n    var dayOfWeek = date.getUTCDay();\n    switch (token) {\n      // Tue\n      case 'E':\n      case 'EE':\n      case 'EEE':\n        return localize.day(dayOfWeek, {\n          width: 'abbreviated',\n          context: 'formatting'\n        });\n      // T\n      case 'EEEEE':\n        return localize.day(dayOfWeek, {\n          width: 'narrow',\n          context: 'formatting'\n        });\n      // Tu\n      case 'EEEEEE':\n        return localize.day(dayOfWeek, {\n          width: 'short',\n          context: 'formatting'\n        });\n      // Tuesday\n      case 'EEEE':\n      default:\n        return localize.day(dayOfWeek, {\n          width: 'wide',\n          context: 'formatting'\n        });\n    }\n  },\n  // Local day of week\n  e: function e(date, token, localize, options) {\n    var dayOfWeek = date.getUTCDay();\n    var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n    switch (token) {\n      // Numerical value (Nth day of week with current locale or weekStartsOn)\n      case 'e':\n        return String(localDayOfWeek);\n      // Padded numerical value\n      case 'ee':\n        return addLeadingZeros(localDayOfWeek, 2);\n      // 1st, 2nd, ..., 7th\n      case 'eo':\n        return localize.ordinalNumber(localDayOfWeek, {\n          unit: 'day'\n        });\n      case 'eee':\n        return localize.day(dayOfWeek, {\n          width: 'abbreviated',\n          context: 'formatting'\n        });\n      // T\n      case 'eeeee':\n        return localize.day(dayOfWeek, {\n          width: 'narrow',\n          context: 'formatting'\n        });\n      // Tu\n      case 'eeeeee':\n        return localize.day(dayOfWeek, {\n          width: 'short',\n          context: 'formatting'\n        });\n      // Tuesday\n      case 'eeee':\n      default:\n        return localize.day(dayOfWeek, {\n          width: 'wide',\n          context: 'formatting'\n        });\n    }\n  },\n  // Stand-alone local day of week\n  c: function c(date, token, localize, options) {\n    var dayOfWeek = date.getUTCDay();\n    var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n    switch (token) {\n      // Numerical value (same as in `e`)\n      case 'c':\n        return String(localDayOfWeek);\n      // Padded numerical value\n      case 'cc':\n        return addLeadingZeros(localDayOfWeek, token.length);\n      // 1st, 2nd, ..., 7th\n      case 'co':\n        return localize.ordinalNumber(localDayOfWeek, {\n          unit: 'day'\n        });\n      case 'ccc':\n        return localize.day(dayOfWeek, {\n          width: 'abbreviated',\n          context: 'standalone'\n        });\n      // T\n      case 'ccccc':\n        return localize.day(dayOfWeek, {\n          width: 'narrow',\n          context: 'standalone'\n        });\n      // Tu\n      case 'cccccc':\n        return localize.day(dayOfWeek, {\n          width: 'short',\n          context: 'standalone'\n        });\n      // Tuesday\n      case 'cccc':\n      default:\n        return localize.day(dayOfWeek, {\n          width: 'wide',\n          context: 'standalone'\n        });\n    }\n  },\n  // ISO day of week\n  i: function i(date, token, localize) {\n    var dayOfWeek = date.getUTCDay();\n    var isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n    switch (token) {\n      // 2\n      case 'i':\n        return String(isoDayOfWeek);\n      // 02\n      case 'ii':\n        return addLeadingZeros(isoDayOfWeek, token.length);\n      // 2nd\n      case 'io':\n        return localize.ordinalNumber(isoDayOfWeek, {\n          unit: 'day'\n        });\n      // Tue\n      case 'iii':\n        return localize.day(dayOfWeek, {\n          width: 'abbreviated',\n          context: 'formatting'\n        });\n      // T\n      case 'iiiii':\n        return localize.day(dayOfWeek, {\n          width: 'narrow',\n          context: 'formatting'\n        });\n      // Tu\n      case 'iiiiii':\n        return localize.day(dayOfWeek, {\n          width: 'short',\n          context: 'formatting'\n        });\n      // Tuesday\n      case 'iiii':\n      default:\n        return localize.day(dayOfWeek, {\n          width: 'wide',\n          context: 'formatting'\n        });\n    }\n  },\n  // AM or PM\n  a: function a(date, token, localize) {\n    var hours = date.getUTCHours();\n    var dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n    switch (token) {\n      case 'a':\n      case 'aa':\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'abbreviated',\n          context: 'formatting'\n        });\n      case 'aaa':\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'abbreviated',\n          context: 'formatting'\n        }).toLowerCase();\n      case 'aaaaa':\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'narrow',\n          context: 'formatting'\n        });\n      case 'aaaa':\n      default:\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'wide',\n          context: 'formatting'\n        });\n    }\n  },\n  // AM, PM, midnight, noon\n  b: function b(date, token, localize) {\n    var hours = date.getUTCHours();\n    var dayPeriodEnumValue;\n    if (hours === 12) {\n      dayPeriodEnumValue = dayPeriodEnum.noon;\n    } else if (hours === 0) {\n      dayPeriodEnumValue = dayPeriodEnum.midnight;\n    } else {\n      dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n    }\n    switch (token) {\n      case 'b':\n      case 'bb':\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'abbreviated',\n          context: 'formatting'\n        });\n      case 'bbb':\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'abbreviated',\n          context: 'formatting'\n        }).toLowerCase();\n      case 'bbbbb':\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'narrow',\n          context: 'formatting'\n        });\n      case 'bbbb':\n      default:\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'wide',\n          context: 'formatting'\n        });\n    }\n  },\n  // in the morning, in the afternoon, in the evening, at night\n  B: function B(date, token, localize) {\n    var hours = date.getUTCHours();\n    var dayPeriodEnumValue;\n    if (hours >= 17) {\n      dayPeriodEnumValue = dayPeriodEnum.evening;\n    } else if (hours >= 12) {\n      dayPeriodEnumValue = dayPeriodEnum.afternoon;\n    } else if (hours >= 4) {\n      dayPeriodEnumValue = dayPeriodEnum.morning;\n    } else {\n      dayPeriodEnumValue = dayPeriodEnum.night;\n    }\n    switch (token) {\n      case 'B':\n      case 'BB':\n      case 'BBB':\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'abbreviated',\n          context: 'formatting'\n        });\n      case 'BBBBB':\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'narrow',\n          context: 'formatting'\n        });\n      case 'BBBB':\n      default:\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: 'wide',\n          context: 'formatting'\n        });\n    }\n  },\n  // Hour [1-12]\n  h: function h(date, token, localize) {\n    if (token === 'ho') {\n      var hours = date.getUTCHours() % 12;\n      if (hours === 0) hours = 12;\n      return localize.ordinalNumber(hours, {\n        unit: 'hour'\n      });\n    }\n    return lightFormatters.h(date, token);\n  },\n  // Hour [0-23]\n  H: function H(date, token, localize) {\n    if (token === 'Ho') {\n      return localize.ordinalNumber(date.getUTCHours(), {\n        unit: 'hour'\n      });\n    }\n    return lightFormatters.H(date, token);\n  },\n  // Hour [0-11]\n  K: function K(date, token, localize) {\n    var hours = date.getUTCHours() % 12;\n    if (token === 'Ko') {\n      return localize.ordinalNumber(hours, {\n        unit: 'hour'\n      });\n    }\n    return addLeadingZeros(hours, token.length);\n  },\n  // Hour [1-24]\n  k: function k(date, token, localize) {\n    var hours = date.getUTCHours();\n    if (hours === 0) hours = 24;\n    if (token === 'ko') {\n      return localize.ordinalNumber(hours, {\n        unit: 'hour'\n      });\n    }\n    return addLeadingZeros(hours, token.length);\n  },\n  // Minute\n  m: function m(date, token, localize) {\n    if (token === 'mo') {\n      return localize.ordinalNumber(date.getUTCMinutes(), {\n        unit: 'minute'\n      });\n    }\n    return lightFormatters.m(date, token);\n  },\n  // Second\n  s: function s(date, token, localize) {\n    if (token === 'so') {\n      return localize.ordinalNumber(date.getUTCSeconds(), {\n        unit: 'second'\n      });\n    }\n    return lightFormatters.s(date, token);\n  },\n  // Fraction of second\n  S: function S(date, token) {\n    return lightFormatters.S(date, token);\n  },\n  // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n  X: function X(date, token, _localize, options) {\n    var originalDate = options._originalDate || date;\n    var timezoneOffset = originalDate.getTimezoneOffset();\n    if (timezoneOffset === 0) {\n      return 'Z';\n    }\n    switch (token) {\n      // Hours and optional minutes\n      case 'X':\n        return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n      // Hours, minutes and optional seconds without `:` delimiter\n      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n      // so this token always has the same output as `XX`\n      case 'XXXX':\n      case 'XX':\n        // Hours and minutes without `:` delimiter\n        return formatTimezone(timezoneOffset);\n\n      // Hours, minutes and optional seconds with `:` delimiter\n      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n      // so this token always has the same output as `XXX`\n      case 'XXXXX':\n      case 'XXX': // Hours and minutes with `:` delimiter\n      default:\n        return formatTimezone(timezoneOffset, ':');\n    }\n  },\n  // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n  x: function x(date, token, _localize, options) {\n    var originalDate = options._originalDate || date;\n    var timezoneOffset = originalDate.getTimezoneOffset();\n    switch (token) {\n      // Hours and optional minutes\n      case 'x':\n        return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n      // Hours, minutes and optional seconds without `:` delimiter\n      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n      // so this token always has the same output as `xx`\n      case 'xxxx':\n      case 'xx':\n        // Hours and minutes without `:` delimiter\n        return formatTimezone(timezoneOffset);\n\n      // Hours, minutes and optional seconds with `:` delimiter\n      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n      // so this token always has the same output as `xxx`\n      case 'xxxxx':\n      case 'xxx': // Hours and minutes with `:` delimiter\n      default:\n        return formatTimezone(timezoneOffset, ':');\n    }\n  },\n  // Timezone (GMT)\n  O: function O(date, token, _localize, options) {\n    var originalDate = options._originalDate || date;\n    var timezoneOffset = originalDate.getTimezoneOffset();\n    switch (token) {\n      // Short\n      case 'O':\n      case 'OO':\n      case 'OOO':\n        return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n      // Long\n      case 'OOOO':\n      default:\n        return 'GMT' + formatTimezone(timezoneOffset, ':');\n    }\n  },\n  // Timezone (specific non-location)\n  z: function z(date, token, _localize, options) {\n    var originalDate = options._originalDate || date;\n    var timezoneOffset = originalDate.getTimezoneOffset();\n    switch (token) {\n      // Short\n      case 'z':\n      case 'zz':\n      case 'zzz':\n        return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n      // Long\n      case 'zzzz':\n      default:\n        return 'GMT' + formatTimezone(timezoneOffset, ':');\n    }\n  },\n  // Seconds timestamp\n  t: function t(date, token, _localize, options) {\n    var originalDate = options._originalDate || date;\n    var timestamp = Math.floor(originalDate.getTime() / 1000);\n    return addLeadingZeros(timestamp, token.length);\n  },\n  // Milliseconds timestamp\n  T: function T(date, token, _localize, options) {\n    var originalDate = options._originalDate || date;\n    var timestamp = originalDate.getTime();\n    return addLeadingZeros(timestamp, token.length);\n  }\n};\nfunction formatTimezoneShort(offset, dirtyDelimiter) {\n  var sign = offset > 0 ? '-' : '+';\n  var absOffset = Math.abs(offset);\n  var hours = Math.floor(absOffset / 60);\n  var minutes = absOffset % 60;\n  if (minutes === 0) {\n    return sign + String(hours);\n  }\n  var delimiter = dirtyDelimiter || '';\n  return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\nfunction formatTimezoneWithOptionalMinutes(offset, dirtyDelimiter) {\n  if (offset % 60 === 0) {\n    var sign = offset > 0 ? '-' : '+';\n    return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n  }\n  return formatTimezone(offset, dirtyDelimiter);\n}\nfunction formatTimezone(offset, dirtyDelimiter) {\n  var delimiter = dirtyDelimiter || '';\n  var sign = offset > 0 ? '-' : '+';\n  var absOffset = Math.abs(offset);\n  var hours = addLeadingZeros(Math.floor(absOffset / 60), 2);\n  var minutes = addLeadingZeros(absOffset % 60, 2);\n  return sign + hours + delimiter + minutes;\n}\nexport default formatters;","import isValid from \"../isValid/index.js\";\nimport subMilliseconds from \"../subMilliseconds/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport formatters from \"../_lib/format/formatters/index.js\";\nimport longFormatters from \"../_lib/format/longFormatters/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport { isProtectedDayOfYearToken, isProtectedWeekYearToken, throwProtectedError } from \"../_lib/protectedTokens/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\nimport defaultLocale from \"../_lib/defaultLocale/index.js\"; // This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n//   (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n//   except a single quote symbol, which ends the sequence.\n//   Two quote characters do not end the sequence.\n//   If there is no matching single quote\n//   then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'([^]*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\n/**\n * @name format\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit                            | Pattern | Result examples                   | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era                             | G..GGG  | AD, BC                            |       |\n * |                                 | GGGG    | Anno Domini, Before Christ        | 2     |\n * |                                 | GGGGG   | A, B                              |       |\n * | Calendar year                   | y       | 44, 1, 1900, 2017                 | 5     |\n * |                                 | yo      | 44th, 1st, 0th, 17th              | 5,7   |\n * |                                 | yy      | 44, 01, 00, 17                    | 5     |\n * |                                 | yyy     | 044, 001, 1900, 2017              | 5     |\n * |                                 | yyyy    | 0044, 0001, 1900, 2017            | 5     |\n * |                                 | yyyyy   | ...                               | 3,5   |\n * | Local week-numbering year       | Y       | 44, 1, 1900, 2017                 | 5     |\n * |                                 | Yo      | 44th, 1st, 1900th, 2017th         | 5,7   |\n * |                                 | YY      | 44, 01, 00, 17                    | 5,8   |\n * |                                 | YYY     | 044, 001, 1900, 2017              | 5     |\n * |                                 | YYYY    | 0044, 0001, 1900, 2017            | 5,8   |\n * |                                 | YYYYY   | ...                               | 3,5   |\n * | ISO week-numbering year         | R       | -43, 0, 1, 1900, 2017             | 5,7   |\n * |                                 | RR      | -43, 00, 01, 1900, 2017           | 5,7   |\n * |                                 | RRR     | -043, 000, 001, 1900, 2017        | 5,7   |\n * |                                 | RRRR    | -0043, 0000, 0001, 1900, 2017     | 5,7   |\n * |                                 | RRRRR   | ...                               | 3,5,7 |\n * | Extended year                   | u       | -43, 0, 1, 1900, 2017             | 5     |\n * |                                 | uu      | -43, 01, 1900, 2017               | 5     |\n * |                                 | uuu     | -043, 001, 1900, 2017             | 5     |\n * |                                 | uuuu    | -0043, 0001, 1900, 2017           | 5     |\n * |                                 | uuuuu   | ...                               | 3,5   |\n * | Quarter (formatting)            | Q       | 1, 2, 3, 4                        |       |\n * |                                 | Qo      | 1st, 2nd, 3rd, 4th                | 7     |\n * |                                 | QQ      | 01, 02, 03, 04                    |       |\n * |                                 | QQQ     | Q1, Q2, Q3, Q4                    |       |\n * |                                 | QQQQ    | 1st quarter, 2nd quarter, ...     | 2     |\n * |                                 | QQQQQ   | 1, 2, 3, 4                        | 4     |\n * | Quarter (stand-alone)           | q       | 1, 2, 3, 4                        |       |\n * |                                 | qo      | 1st, 2nd, 3rd, 4th                | 7     |\n * |                                 | qq      | 01, 02, 03, 04                    |       |\n * |                                 | qqq     | Q1, Q2, Q3, Q4                    |       |\n * |                                 | qqqq    | 1st quarter, 2nd quarter, ...     | 2     |\n * |                                 | qqqqq   | 1, 2, 3, 4                        | 4     |\n * | Month (formatting)              | M       | 1, 2, ..., 12                     |       |\n * |                                 | Mo      | 1st, 2nd, ..., 12th               | 7     |\n * |                                 | MM      | 01, 02, ..., 12                   |       |\n * |                                 | MMM     | Jan, Feb, ..., Dec                |       |\n * |                                 | MMMM    | January, February, ..., December  | 2     |\n * |                                 | MMMMM   | J, F, ..., D                      |       |\n * | Month (stand-alone)             | L       | 1, 2, ..., 12                     |       |\n * |                                 | Lo      | 1st, 2nd, ..., 12th               | 7     |\n * |                                 | LL      | 01, 02, ..., 12                   |       |\n * |                                 | LLL     | Jan, Feb, ..., Dec                |       |\n * |                                 | LLLL    | January, February, ..., December  | 2     |\n * |                                 | LLLLL   | J, F, ..., D                      |       |\n * | Local week of year              | w       | 1, 2, ..., 53                     |       |\n * |                                 | wo      | 1st, 2nd, ..., 53th               | 7     |\n * |                                 | ww      | 01, 02, ..., 53                   |       |\n * | ISO week of year                | I       | 1, 2, ..., 53                     | 7     |\n * |                                 | Io      | 1st, 2nd, ..., 53th               | 7     |\n * |                                 | II      | 01, 02, ..., 53                   | 7     |\n * | Day of month                    | d       | 1, 2, ..., 31                     |       |\n * |                                 | do      | 1st, 2nd, ..., 31st               | 7     |\n * |                                 | dd      | 01, 02, ..., 31                   |       |\n * | Day of year                     | D       | 1, 2, ..., 365, 366               | 9     |\n * |                                 | Do      | 1st, 2nd, ..., 365th, 366th       | 7     |\n * |                                 | DD      | 01, 02, ..., 365, 366             | 9     |\n * |                                 | DDD     | 001, 002, ..., 365, 366           |       |\n * |                                 | DDDD    | ...                               | 3     |\n * | Day of week (formatting)        | E..EEE  | Mon, Tue, Wed, ..., Sun           |       |\n * |                                 | EEEE    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 | EEEEE   | M, T, W, T, F, S, S               |       |\n * |                                 | EEEEEE  | Mo, Tu, We, Th, Fr, Sa, Su        |       |\n * | ISO day of week (formatting)    | i       | 1, 2, 3, ..., 7                   | 7     |\n * |                                 | io      | 1st, 2nd, ..., 7th                | 7     |\n * |                                 | ii      | 01, 02, ..., 07                   | 7     |\n * |                                 | iii     | Mon, Tue, Wed, ..., Sun           | 7     |\n * |                                 | iiii    | Monday, Tuesday, ..., Sunday      | 2,7   |\n * |                                 | iiiii   | M, T, W, T, F, S, S               | 7     |\n * |                                 | iiiiii  | Mo, Tu, We, Th, Fr, Sa, Su        | 7     |\n * | Local day of week (formatting)  | e       | 2, 3, 4, ..., 1                   |       |\n * |                                 | eo      | 2nd, 3rd, ..., 1st                | 7     |\n * |                                 | ee      | 02, 03, ..., 01                   |       |\n * |                                 | eee     | Mon, Tue, Wed, ..., Sun           |       |\n * |                                 | eeee    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 | eeeee   | M, T, W, T, F, S, S               |       |\n * |                                 | eeeeee  | Mo, Tu, We, Th, Fr, Sa, Su        |       |\n * | Local day of week (stand-alone) | c       | 2, 3, 4, ..., 1                   |       |\n * |                                 | co      | 2nd, 3rd, ..., 1st                | 7     |\n * |                                 | cc      | 02, 03, ..., 01                   |       |\n * |                                 | ccc     | Mon, Tue, Wed, ..., Sun           |       |\n * |                                 | cccc    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 | ccccc   | M, T, W, T, F, S, S               |       |\n * |                                 | cccccc  | Mo, Tu, We, Th, Fr, Sa, Su        |       |\n * | AM, PM                          | a..aa   | AM, PM                            |       |\n * |                                 | aaa     | am, pm                            |       |\n * |                                 | aaaa    | a.m., p.m.                        | 2     |\n * |                                 | aaaaa   | a, p                              |       |\n * | AM, PM, noon, midnight          | b..bb   | AM, PM, noon, midnight            |       |\n * |                                 | bbb     | am, pm, noon, midnight            |       |\n * |                                 | bbbb    | a.m., p.m., noon, midnight        | 2     |\n * |                                 | bbbbb   | a, p, n, mi                       |       |\n * | Flexible day period             | B..BBB  | at night, in the morning, ...     |       |\n * |                                 | BBBB    | at night, in the morning, ...     | 2     |\n * |                                 | BBBBB   | at night, in the morning, ...     |       |\n * | Hour [1-12]                     | h       | 1, 2, ..., 11, 12                 |       |\n * |                                 | ho      | 1st, 2nd, ..., 11th, 12th         | 7     |\n * |                                 | hh      | 01, 02, ..., 11, 12               |       |\n * | Hour [0-23]                     | H       | 0, 1, 2, ..., 23                  |       |\n * |                                 | Ho      | 0th, 1st, 2nd, ..., 23rd          | 7     |\n * |                                 | HH      | 00, 01, 02, ..., 23               |       |\n * | Hour [0-11]                     | K       | 1, 2, ..., 11, 0                  |       |\n * |                                 | Ko      | 1st, 2nd, ..., 11th, 0th          | 7     |\n * |                                 | KK      | 01, 02, ..., 11, 00               |       |\n * | Hour [1-24]                     | k       | 24, 1, 2, ..., 23                 |       |\n * |                                 | ko      | 24th, 1st, 2nd, ..., 23rd         | 7     |\n * |                                 | kk      | 24, 01, 02, ..., 23               |       |\n * | Minute                          | m       | 0, 1, ..., 59                     |       |\n * |                                 | mo      | 0th, 1st, ..., 59th               | 7     |\n * |                                 | mm      | 00, 01, ..., 59                   |       |\n * | Second                          | s       | 0, 1, ..., 59                     |       |\n * |                                 | so      | 0th, 1st, ..., 59th               | 7     |\n * |                                 | ss      | 00, 01, ..., 59                   |       |\n * | Fraction of second              | S       | 0, 1, ..., 9                      |       |\n * |                                 | SS      | 00, 01, ..., 99                   |       |\n * |                                 | SSS     | 000, 001, ..., 999                |       |\n * |                                 | SSSS    | ...                               | 3     |\n * | Timezone (ISO-8601 w/ Z)        | X       | -08, +0530, Z                     |       |\n * |                                 | XX      | -0800, +0530, Z                   |       |\n * |                                 | XXX     | -08:00, +05:30, Z                 |       |\n * |                                 | XXXX    | -0800, +0530, Z, +123456          | 2     |\n * |                                 | XXXXX   | -08:00, +05:30, Z, +12:34:56      |       |\n * | Timezone (ISO-8601 w/o Z)       | x       | -08, +0530, +00                   |       |\n * |                                 | xx      | -0800, +0530, +0000               |       |\n * |                                 | xxx     | -08:00, +05:30, +00:00            | 2     |\n * |                                 | xxxx    | -0800, +0530, +0000, +123456      |       |\n * |                                 | xxxxx   | -08:00, +05:30, +00:00, +12:34:56 |       |\n * | Timezone (GMT)                  | O...OOO | GMT-8, GMT+5:30, GMT+0            |       |\n * |                                 | OOOO    | GMT-08:00, GMT+05:30, GMT+00:00   | 2     |\n * | Timezone (specific non-locat.)  | z...zzz | GMT-8, GMT+5:30, GMT+0            | 6     |\n * |                                 | zzzz    | GMT-08:00, GMT+05:30, GMT+00:00   | 2,6   |\n * | Seconds timestamp               | t       | 512969520                         | 7     |\n * |                                 | tt      | ...                               | 3,7   |\n * | Milliseconds timestamp          | T       | 512969520900                      | 7     |\n * |                                 | TT      | ...                               | 3,7   |\n * | Long localized date             | P       | 04/29/1453                        | 7     |\n * |                                 | PP      | Apr 29, 1453                      | 7     |\n * |                                 | PPP     | April 29th, 1453                  | 7     |\n * |                                 | PPPP    | Friday, April 29th, 1453          | 2,7   |\n * | Long localized time             | p       | 12:00 AM                          | 7     |\n * |                                 | pp      | 12:00:00 AM                       | 7     |\n * |                                 | ppp     | 12:00:00 AM GMT+2                 | 7     |\n * |                                 | pppp    | 12:00:00 AM GMT+02:00             | 2,7   |\n * | Combination of date and time    | Pp      | 04/29/1453, 12:00 AM              | 7     |\n * |                                 | PPpp    | Apr 29, 1453, 12:00:00 AM         | 7     |\n * |                                 | PPPppp  | April 29th, 1453 at ...           | 7     |\n * |                                 | PPPPpppp| Friday, April 29th, 1453 at ...   | 2,7   |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n *    are the same as \"stand-alone\" units, but are different in some languages.\n *    \"Formatting\" units are declined according to the rules of the language\n *    in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n *    `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n *    `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n *    the single quote characters (see below).\n *    If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n *    the output will be the same as default pattern for this unit, usually\n *    the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n *    are marked with \"2\" in the last column of the table.\n *\n *    `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n *    `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n *    `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n *    `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n *    `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n *    The output will be padded with zeros to match the length of the pattern.\n *\n *    `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n *    These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n *    | Year | `y` | `u` |\n *    |------|-----|-----|\n *    | AC 1 |   1 |   1 |\n *    | BC 1 |   1 |   0 |\n *    | BC 2 |   2 |  -1 |\n *\n *    Also `yy` always returns the last two digits of a year,\n *    while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n *    | Year | `yy` | `uu` |\n *    |------|------|------|\n *    | 1    |   01 |   01 |\n *    | 14   |   14 |   14 |\n *    | 376  |   76 |  376 |\n *    | 1453 |   53 | 1453 |\n *\n *    The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n *    except local week-numbering years are dependent on `options.weekStartsOn`\n *    and `options.firstWeekContainsDate` (compare [getISOWeekYear]{@link https://date-fns.org/docs/getISOWeekYear}\n *    and [getWeekYear]{@link https://date-fns.org/docs/getWeekYear}).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n *    so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n *    - `i`: ISO day of week\n *    - `I`: ISO week of year\n *    - `R`: ISO week-numbering year\n *    - `t`: seconds timestamp\n *    - `T`: milliseconds timestamp\n *    - `o`: ordinal number modifier\n *    - `P`: long localized date\n *    - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n *    You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n *    You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @param {Date|Number} date - the original date\n * @param {String} format - the string of tokens\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {Number} [options.firstWeekContainsDate=1] - the day of January, which is\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n *   see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n *   see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @returns {String} the formatted date string\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `options.locale` must contain `localize` property\n * @throws {RangeError} `options.locale` must contain `formatLong` property\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n *   locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * const result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\n\nexport default function format(dirtyDate, dirtyFormatStr, options) {\n  var _ref, _options$locale, _ref2, _ref3, _ref4, _options$firstWeekCon, _options$locale2, _options$locale2$opti, _defaultOptions$local, _defaultOptions$local2, _ref5, _ref6, _ref7, _options$weekStartsOn, _options$locale3, _options$locale3$opti, _defaultOptions$local3, _defaultOptions$local4;\n  requiredArgs(2, arguments);\n  var formatStr = String(dirtyFormatStr);\n  var defaultOptions = getDefaultOptions();\n  var locale = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions.locale) !== null && _ref !== void 0 ? _ref : defaultLocale;\n  var firstWeekContainsDate = toInteger((_ref2 = (_ref3 = (_ref4 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale2 = options.locale) === null || _options$locale2 === void 0 ? void 0 : (_options$locale2$opti = _options$locale2.options) === null || _options$locale2$opti === void 0 ? void 0 : _options$locale2$opti.firstWeekContainsDate) !== null && _ref4 !== void 0 ? _ref4 : defaultOptions.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : 1);\n\n  // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n  if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n    throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n  }\n  var weekStartsOn = toInteger((_ref5 = (_ref6 = (_ref7 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale3 = options.locale) === null || _options$locale3 === void 0 ? void 0 : (_options$locale3$opti = _options$locale3.options) === null || _options$locale3$opti === void 0 ? void 0 : _options$locale3$opti.weekStartsOn) !== null && _ref7 !== void 0 ? _ref7 : defaultOptions.weekStartsOn) !== null && _ref6 !== void 0 ? _ref6 : (_defaultOptions$local3 = defaultOptions.locale) === null || _defaultOptions$local3 === void 0 ? void 0 : (_defaultOptions$local4 = _defaultOptions$local3.options) === null || _defaultOptions$local4 === void 0 ? void 0 : _defaultOptions$local4.weekStartsOn) !== null && _ref5 !== void 0 ? _ref5 : 0);\n\n  // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n  if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n    throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n  }\n  if (!locale.localize) {\n    throw new RangeError('locale must contain localize property');\n  }\n  if (!locale.formatLong) {\n    throw new RangeError('locale must contain formatLong property');\n  }\n  var originalDate = toDate(dirtyDate);\n  if (!isValid(originalDate)) {\n    throw new RangeError('Invalid time value');\n  }\n\n  // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n  // This ensures that when UTC functions will be implemented, locales will be compatible with them.\n  // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/376\n  var timezoneOffset = getTimezoneOffsetInMilliseconds(originalDate);\n  var utcDate = subMilliseconds(originalDate, timezoneOffset);\n  var formatterOptions = {\n    firstWeekContainsDate: firstWeekContainsDate,\n    weekStartsOn: weekStartsOn,\n    locale: locale,\n    _originalDate: originalDate\n  };\n  var result = formatStr.match(longFormattingTokensRegExp).map(function (substring) {\n    var firstCharacter = substring[0];\n    if (firstCharacter === 'p' || firstCharacter === 'P') {\n      var longFormatter = longFormatters[firstCharacter];\n      return longFormatter(substring, locale.formatLong);\n    }\n    return substring;\n  }).join('').match(formattingTokensRegExp).map(function (substring) {\n    // Replace two single quote characters with one single quote character\n    if (substring === \"''\") {\n      return \"'\";\n    }\n    var firstCharacter = substring[0];\n    if (firstCharacter === \"'\") {\n      return cleanEscapedString(substring);\n    }\n    var formatter = formatters[firstCharacter];\n    if (formatter) {\n      if (!(options !== null && options !== void 0 && options.useAdditionalWeekYearTokens) && isProtectedWeekYearToken(substring)) {\n        throwProtectedError(substring, dirtyFormatStr, String(dirtyDate));\n      }\n      if (!(options !== null && options !== void 0 && options.useAdditionalDayOfYearTokens) && isProtectedDayOfYearToken(substring)) {\n        throwProtectedError(substring, dirtyFormatStr, String(dirtyDate));\n      }\n      return formatter(utcDate, substring, locale.localize, formatterOptions);\n    }\n    if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n      throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n    }\n    return substring;\n  }).join('');\n  return result;\n}\nfunction cleanEscapedString(input) {\n  var matched = input.match(escapedStringRegExp);\n  if (!matched) {\n    return input;\n  }\n  return matched[1].replace(doubleQuoteRegExp, \"'\");\n}","import {isMatch, parse, format as dateFnsFormat} from 'date-fns';\nimport {formatInTimeZone, zonedTimeToUtc} from 'date-fns-tz';\nimport {enUS} from 'date-fns/locale';\n\n/**\n * Removes substring within quotes from a string.\n * @param {string} str\n * @returns {string}\n */\nexport function removeEscapedCharacters(str) {\n\treturn str.replace(/'(.*?)'/g, '');\n}\n\n/**\n * Returns true if the format is week format.\n * @param {str} f\n * @returns {boolean}\n */\nfunction isWeekFormat(f) {\n\treturn f.includes('w') || f.includes('I');\n}\n\n/**\n * Returns true if the format is strictly date format.\n * @param {string} format\n * @returns {boolean}\n */\nexport function isDateOnlyFormat(format) {\n\treturn !/[abBhHKkmsSXxOztPp]/.test(format);\n}\n\n/**\n * Returns true if the format is strictly time format.\n * @param {string} format\n * @returns {boolean}\n */\nfunction isTimeOnlyFormat(format) {\n\treturn !/[GyYRuQqMLwdDEec]/.test(format);\n}\n\n/**\n * Returns true if the date value is valid and matches its format.\n *\n * If the input type is 'week', the value is parsed and matched to\n * a copy starting from the first week of the year, plus the number\n * of weeks, minus one.\n * @param {string} value\n * @param {string} format\n * @param {boolean} required\n * @param {boolean} isoWeek\n * @returns {boolean}\n */\nexport function isDateTimeValueValid({value, format, required, locale}) {\n\tlet valid,\n\t\tdate = null,\n\t\tisoDate = null;\n\n\t// Check empty states\n\n\tif (!value && required) {\n\t\treturn {valid: false, date, isoDate};\n\t} else if (!value) {\n\t\treturn {valid: true, date, isoDate};\n\t}\n\n\t// Check real value\n\ttry {\n\t\tvalid =\n\t\t\tvalue || required\n\t\t\t\t? isMatchTZ(value, format, {\n\t\t\t\t\t\tlocale,\n\t\t\t\t\t\tuseAdditionalWeekYearTokens: isWeekFormat(format),\n\t\t\t\t\t})\n\t\t\t\t: true;\n\t\tdate = valid\n\t\t\t? parseTZ(value, format, new Date(), {\n\t\t\t\t\tlocale,\n\t\t\t\t\tuseAdditionalWeekYearTokens: isWeekFormat(format),\n\t\t\t\t})\n\t\t\t: null;\n\t} catch (e) {\n\t\treturn {valid: false, date: null, isoDate: null};\n\t}\n\n\tisoDate = valid && date ? date.toISOString() : null;\n\treturn {date, valid, isoDate};\n}\n\nexport function isTimeZoneFormat(format) {\n\treturn format.toLowerCase().endsWith('z');\n}\n\nexport function getFormatWithoutTimeZone(format) {\n\treturn format.replace(/z|Z|/g, '');\n}\n\nconst getValueWithoutTimeZone = (value, format) => {\n\t// if timezone is/is not present in the input, remove the timezone and get the date and/or time.\n\tif (!value) return '';\n\tif (isTimeOnlyFormat(format)) return value.split(' ').slice(0, 1).join(' ');\n\n\t//remove the last timezone part, and return the value\n\treturn value?.replace(/\\s+\\S*$/, '');\n};\n\n//Function to match the format and the value. If timezone is present, remove the timezone and then compare the values.\nexport function isMatchTZ(\n\tvalue,\n\tformat,\n\t{locale, useAdditionalWeekYearTokens},\n) {\n\tlet valueToUse = value;\n\tlet formatToUse = format;\n\tif (isTimeZoneFormat(format)) {\n\t\tformatToUse = getFormatWithoutTimeZone(format).trimEnd(); //remove trailing space\n\t\tvalueToUse = getValueWithoutTimeZone(value, format);\n\t}\n\n\treturn isMatch(valueToUse, formatToUse, {\n\t\tlocale,\n\t\tuseAdditionalWeekYearTokens,\n\t});\n}\n\n//TODO: remove referenceDate as it's the same value (new Date()) that is getting passed everywhere. We can directly pass `new Date()` here.\nexport function parseTZ(value, format, referenceDate, options) {\n\tlet valueToUse = value;\n\tlet formatToUse = format;\n\tif (isTimeZoneFormat(format)) {\n\t\tformatToUse = getFormatWithoutTimeZone(format).trimEnd(); //remove trailing space\n\t\tvalueToUse = getValueWithoutTimeZone(value, format);\n\t}\n\treturn parse(valueToUse, formatToUse, referenceDate, options);\n}\n\nexport function formatTZ(date, format, options) {\n\tconst {locale = enUS, timezone = 'America/Los Angeles'} = options || {};\n\tif (isTimeZoneFormat(format)) {\n\t\tlet loc = locale,\n\t\t\ttz = timezone;\n\n\t\t//To keep the time consistent across all the timezones, use zonedTimeToUtc\n\t\tconst zonedTime = zonedTimeToUtc(date, tz);\n\n\t\treturn formatInTimeZone(zonedTime, tz, format, {\n\t\t\tlocale: loc,\n\t\t});\n\t} else {\n\t\treturn dateFnsFormat(date, format, {locale});\n\t}\n}\n","import {DateTypes} from './constants';\n\nconst TypeToToken = {\n\t[DateTypes.DATE]: [/d+?/, /M+?/, /y+?/],\n\t[DateTypes.DATE_TIME]: [/d+?/, /M+?/, /y+?/, /[Hh]+?/, /[Zz]{0,5} /],\n\t[DateTypes.TIME]: /[[Hh]+?|m+?|s+?|S+?|a+?|[Zz]{0,5}]+?/,\n\t[DateTypes.WEEK_MONTH_YEAR]: /w+?/,\n\t[DateTypes.WEEK_YEAR]: [/w{1}[w|o]{0,1} /, / Y{1}$/],\n\t[DateTypes.MONTH]: [/M+?/, /y+?/],\n\t[DateTypes.QUARTER]: [/q+?/, /y+?/],\n\t[DateTypes.YEAR]: /y{2,4}/,\n};\n\nconst Formats = {\n\t[DateTypes.DATE]: \"'y', 'd', and 'M' (case sensitive)\",\n\t[DateTypes.DATE_TIME]:\n\t\t\"'y', 'd', 'M', and 'h' or 'H' (case sensitive), or 'z' or 'Z'\",\n\t[DateTypes.TIME]:\n\t\t\"'h' or 'H', 'm', 's', 'S' and 'a' (case sensitive), or 'z' or 'Z\",\n\t[DateTypes.WEEK_MONTH_YEAR]: \"'w'\",\n\t[DateTypes.WEEK_YEAR]: \"'w', 'Y' (case sensitive)\",\n\t[DateTypes.MONTH]: \"'M' (case sensitive) and 'y' (case sensitive)\",\n\t[DateTypes.QUARTER]: \"'q' and 'y' (case sensitive)\",\n\t[DateTypes.YEAR]: \"'y' (case sensitive)\",\n};\n\nfunction isValidTypeToFormat(type, format) {\n\tconst matcher = TypeToToken[type];\n\tconst valid = Array.isArray(matcher)\n\t\t? matcher.every((match) => match.test(format))\n\t\t: matcher.test(format);\n\tlet token;\n\n\tif (!valid) {\n\t\ttoken = Formats[type];\n\t}\n\n\treturn {valid, token};\n}\n\n/**\n * Checks that the 'type' and 'format' properties of the date and/or\n * time picker are compatible. If not, and in development mode, prints\n * a console error.\n */\nexport function isTypeToFormatValid(properties) {\n\tconst {type, format} = properties;\n\tconst {valid, token} = isValidTypeToFormat(type, format);\n\treturn {valid, token};\n}\n","import {createContext} from '@servicenow/ui-core';\nimport {enUS} from 'date-fns/locale';\n\nexport const localeContext = createContext('now-locale', {\n\tdefault: enUS,\n\tschema: {\n\t\tproperties: {\n\t\t\tlocale: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t},\n});\n","import {createContext} from '@servicenow/ui-core';\n\nexport const timezoneContext = createContext('now-timezone', {\n\tdefault: 'America/Los_Angeles',\n\tschema: {\n\t\tproperties: {\n\t\t\ttimezone: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t},\n});\n","import {t} from 'sn-translate';\n\nexport const DISABLED_ITEMS_FORMAT_ERROR_ID = 'disabled-items-format-error';\nexport const DISABLED_ITEMS_START_GREATER_THAN_END_ERROR_ID =\n\t'disable-items-start-greater-than-end-error';\nexport const FORMAT_MATCH_ERROR_ID = 'format-match-error';\nexport const FORMAT_START_MATCH_ERROR_ID = 'format-start-match-error';\nexport const FORMAT_END_MATCH_ERROR_ID = 'format-end-match-error';\nexport const TYPE_FORMAT_ERROR_ID = 'type-format-error';\nexport const UNAVAILABLE_END_ERROR_ID = 'date-end-unavailable-error';\nexport const UNAVAILABLE_ERROR_ID = 'date-unavailable-error';\nexport const UNAVAILABLE_START_ERROR_ID = 'date-start-unavailable-error';\nexport const INVALID_START_GREATER_THAN_END_ERROR_ID =\n\t'date-invalid-start-greater-than-end-error';\nexport const INVALID_INITIAL_TIME_ERROR_ID = 'initial-time-match-error';\nexport const INVALID_INITIAL_TIME_START_ERROR_ID = 'initial-time-start-error';\nexport const INVALID_INITIAL_TIME_END_ERROR_ID = 'initial-time-end-error';\nexport const ErrorMessages = {\n\t// Developer errors\n\n\t[TYPE_FORMAT_ERROR_ID]: ({format, type, token}) => ({\n\t\tstatus: 'critical',\n\t\tcontent: t(\n\t\t\t\"Error: Format '{0}' isn't compatible with type '{1}'; format must include token(s): {2}.\",\n\t\t\tformat,\n\t\t\ttype,\n\t\t\ttoken,\n\t\t),\n\t\ticon: 'exclamation-circle-outline',\n\t\tid: TYPE_FORMAT_ERROR_ID,\n\t}),\n\t[DISABLED_ITEMS_FORMAT_ERROR_ID]: ({format}) => ({\n\t\tstatus: 'critical',\n\t\tcontent: t('Error: Disabled items must match format: {0}', format),\n\t\ticon: 'exclamation-circle-outline',\n\t\tid: DISABLED_ITEMS_FORMAT_ERROR_ID,\n\t}),\n\t[DISABLED_ITEMS_START_GREATER_THAN_END_ERROR_ID]: () => ({\n\t\tstatus: 'critical',\n\t\tcontent: t('Error: Disabled items start cannot precede items end.'),\n\t\ticon: 'exclamation-circle-outline',\n\t\tid: DISABLED_ITEMS_START_GREATER_THAN_END_ERROR_ID,\n\t}),\n\n\t// Public errors\n\n\t[UNAVAILABLE_ERROR_ID]: ({type}) => ({\n\t\tstatus: 'critical',\n\t\tcontent: t('This {0} is unavailable. Try another {0}.', type),\n\t\ticon: 'exclamation-circle-outline',\n\t\tid: UNAVAILABLE_ERROR_ID,\n\t}),\n\t[UNAVAILABLE_START_ERROR_ID]: ({type}) => ({\n\t\tstatus: 'critical',\n\t\tcontent: t('This start {0} is unavailable. Try another {0}.', type),\n\t\ticon: 'exclamation-circle-outline',\n\t\tid: UNAVAILABLE_START_ERROR_ID,\n\t}),\n\t[UNAVAILABLE_END_ERROR_ID]: ({type}) => ({\n\t\tstatus: 'critical',\n\t\tcontent: t('This end {0} is unavailable. Try another {0}.', type),\n\t\ticon: 'exclamation-circle-outline',\n\t\tid: UNAVAILABLE_END_ERROR_ID,\n\t}),\n\t[FORMAT_MATCH_ERROR_ID]: ({format, type}) => ({\n\t\tstatus: 'critical',\n\t\tcontent: t('The {0} must match format: {1}', type, format),\n\t\ticon: 'exclamation-circle-outline',\n\t\tid: FORMAT_MATCH_ERROR_ID,\n\t}),\n\t[FORMAT_START_MATCH_ERROR_ID]: ({format, type}) => ({\n\t\tstatus: 'critical',\n\t\tcontent: t('The first {0} must match format: {1}', type, format),\n\t\ticon: 'exclamation-circle-outline',\n\t\tid: FORMAT_START_MATCH_ERROR_ID,\n\t}),\n\t[FORMAT_END_MATCH_ERROR_ID]: ({format, type}) => ({\n\t\tstatus: 'critical',\n\t\tcontent: t('The second {0} must match format: {1}', type, format),\n\t\ticon: 'exclamation-circle-outline',\n\t\tid: FORMAT_END_MATCH_ERROR_ID,\n\t}),\n\t[INVALID_START_GREATER_THAN_END_ERROR_ID]: ({type}) => ({\n\t\tstatus: 'critical',\n\t\tcontent: t('Start {0} cannot occur on or after end {0}.', type),\n\t\ticon: 'exclamation-circle-outline',\n\t\tid: INVALID_START_GREATER_THAN_END_ERROR_ID,\n\t}),\n\t[INVALID_INITIAL_TIME_ERROR_ID]: () => ({\n\t\tstatus: 'critical',\n\t\tcontent: t('Invalid initial time'),\n\t\ticon: 'exclamation-circle-outline',\n\t\tid: INVALID_INITIAL_TIME_ERROR_ID,\n\t}),\n\t[INVALID_INITIAL_TIME_START_ERROR_ID]: () => ({\n\t\tstatus: 'critical',\n\t\tcontent: t('Invalid initial time start'),\n\t\ticon: 'exclamation-circle-outline',\n\t\tid: INVALID_INITIAL_TIME_START_ERROR_ID,\n\t}),\n\t[INVALID_INITIAL_TIME_END_ERROR_ID]: () => ({\n\t\tstatus: 'critical',\n\t\tcontent: t('Invalid initial time end'),\n\t\ticon: 'exclamation-circle-outline',\n\t\tid: INVALID_INITIAL_TIME_END_ERROR_ID,\n\t}),\n};\n\nexport const panelEditableErrorIds = [\n\tFORMAT_START_MATCH_ERROR_ID,\n\tFORMAT_END_MATCH_ERROR_ID,\n\tFORMAT_MATCH_ERROR_ID,\n\tINVALID_START_GREATER_THAN_END_ERROR_ID,\n\tUNAVAILABLE_ERROR_ID,\n\tUNAVAILABLE_END_ERROR_ID,\n\tUNAVAILABLE_START_ERROR_ID,\n];\n\nexport function removeErrorMessage({errorId, updateProperties}) {\n\tupdateProperties(({properties: {messages}}) => {\n\t\tif (!messages) return {shouldUpdate: false};\n\t\tconst errorIndex = messages.findIndex((m) => m.id === errorId);\n\t\tif (errorIndex === -1) return {shouldUpdate: false};\n\n\t\treturn {\n\t\t\toperation: 'splice',\n\t\t\tpath: 'messages',\n\t\t\tstart: errorIndex,\n\t\t\tdeleteCount: 1,\n\t\t};\n\t});\n}\n\nexport function prependErrorMessage({errorId, updateProperties, messageData}) {\n\tupdateProperties(({properties: {messages}}) => {\n\t\tif (!messages) return {shouldUpdate: false};\n\t\tconst errorIndex = messages.findIndex((m) => m.id === errorId);\n\t\tif (errorIndex !== -1) return {shouldUpdate: false};\n\n\t\treturn {\n\t\t\tpath: 'messages',\n\t\t\tvalue: [ErrorMessages[errorId](messageData), ...messages],\n\t\t};\n\t});\n}\n","import {t} from 'sn-translate';\nimport {DateTypes} from '@servicenow/library-date-time';\n\nexport const CALENDAR_LABEL_FORMAT = 'MMMM yyyy';\nexport const CALENDAR_DATE_LONG_FORMAT = 'EEEE, MMMM d, yyyy';\nexport const CALENDAR_QUARTER_LONG_FORMAT = 'qqqq yyyy';\nexport const CALENDAR_TIME_INPUT_ID = 'now-date-time-calendar-time-input';\nexport const POPOVER_ID = 'now-date-time-popover';\nexport const STANDALONE_MONTH_FORMAT = 'MMM';\nexport const STANDALONE_MONTH_LONG_FORMAT = 'MMMM';\nexport const STANDALONE_YEAR_FORMAT = 'yyyy';\nexport const STANDALONE_QUARTER_FORMAT = 'qqq';\nexport const STANDALONE_QUARTER_LONG_FORMAT = 'qqqq';\nexport const STANDALONE_WEEK_YEAR_FORMAT = 'w';\nexport const TRIGGER_ID = 'now-date-time-trigger';\n\nexport const PaginationActionTypes = {\n\tNEXT: 'NEXT',\n\tPREVIOUS: 'PREVIOUS',\n};\n\nexport const ItemStateTypes = {\n\tDISABLED: 'disabled',\n\tSELECTED: 'selected',\n\tNOW: 'now',\n\tTWEEN: 'tween',\n\tADJACENT: 'adjacent',\n\tRANGE: 'range',\n};\n\nexport const DateActionTypes = {\n\tTO_NEXT_MONTH: 'toNextMonth',\n\tTO_PREVIOUS_MONTH: 'toPreviousMonth',\n\tTO_MONTH: 'toMonth',\n\tTO_QUARTER: 'toQuarter',\n\tTO_YEAR: 'toYear',\n\tTO_NEXT_YEAR: 'toNextYear',\n\tTO_PREVIOUS_YEAR: 'toPreviousYear',\n\tTO_WEEK: 'toWeek',\n};\n\nexport const PaginationTypes = {\n\t[DateTypes.DATE]: {\n\t\t[PaginationActionTypes.PREVIOUS]: DateActionTypes.TO_PREVIOUS_MONTH,\n\t\t[PaginationActionTypes.NEXT]: DateActionTypes.TO_NEXT_MONTH,\n\t},\n\t[DateTypes.DATE_TIME]: {\n\t\t[PaginationActionTypes.PREVIOUS]: DateActionTypes.TO_PREVIOUS_MONTH,\n\t\t[PaginationActionTypes.NEXT]: DateActionTypes.TO_NEXT_MONTH,\n\t},\n\t[DateTypes.MONTH]: {\n\t\t[PaginationActionTypes.PREVIOUS]: DateActionTypes.TO_PREVIOUS_YEAR,\n\t\t[PaginationActionTypes.NEXT]: DateActionTypes.TO_NEXT_YEAR,\n\t},\n\t[DateTypes.WEEK_YEAR]: {\n\t\t[PaginationActionTypes.PREVIOUS]: DateActionTypes.TO_PREVIOUS_MONTH,\n\t\t[PaginationActionTypes.NEXT]: DateActionTypes.TO_NEXT_MONTH,\n\t},\n};\n\nexport const CUSTOM_PRESET_OPTION = {\n\tkeyword: 'Custom',\n\ttype: 'custom',\n\tgroupLabel: t('Custom'),\n};\n\nexport const UNGROUPED_GROUP_LABEL = t('Other');\n\nexport const StartTimeData = {\n\thours: 0,\n\tminutes: 0,\n\tseconds: 0,\n\tmilliseconds: 0,\n};\n\nexport const EndTimeData = {\n\thours: 23,\n\tminutes: 59,\n\tseconds: 59,\n\tmilliseconds: 998,\n};\n\nexport const Keys = {\n\tENTER: 'Enter',\n\tSPACE: ' ',\n\tARROW_UP: 'ArrowUp',\n\tARROW_DOWN: 'ArrowDown',\n\tARROW_LEFT: 'ArrowLeft',\n\tARROW_RIGHT: 'ArrowRight',\n\tHOME: 'Home',\n\tEND: 'End',\n\tPAGE_UP: 'PageUp',\n\tPAGE_DOWN: 'PageDown',\n};\n\nexport const MonthLabels = [\n\tt('January'),\n\tt('February'),\n\tt('March'),\n\tt('April'),\n\tt('May'),\n\tt('June'),\n\tt('July'),\n\tt('August'),\n\tt('September'),\n\tt('October'),\n\tt('November'),\n\tt('December'),\n];\n\nexport const DateHeadingLabels = [\n\tt('Sunday'),\n\tt('Monday'),\n\tt('Tuesday'),\n\tt('Wednesday'),\n\tt('Thursday'),\n\tt('Friday'),\n\tt('Saturday'),\n];\n\nexport const WeekHeadingLabel = t('Week');\n\nexport const presetTranslations = {\n\tyear: t('year'),\n\tYear: t('Year'),\n\tyears: t('years'),\n\tquarter: t('quarter'),\n\tQuarter: t('Quarter'),\n\tquarters: t('quarters'),\n\tmonth: t('month'),\n\tMonth: t('Month'),\n\tmonths: t('months'),\n\tweek: t('week'),\n\tWeek: t('Week'),\n\tweeks: t('weeks'),\n\tday: t('day'),\n\tDay: t('Day'),\n\tdays: t('days'),\n\thour: t('hour'),\n\tHour: t('Hour'),\n\thours: t('hours'),\n\tminute: t('minute'),\n\tMinute: t('Minute'),\n\tminutes: t('minutes'),\n\tsecond: t('second'),\n\tSecond: t('Second'),\n\tseconds: t('seconds'),\n};\n","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addDays\n * @category Day Helpers\n * @summary Add the specified number of days to the given date.\n *\n * @description\n * Add the specified number of days to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of days to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} - the new date with the days added\n * @throws {TypeError} - 2 arguments required\n *\n * @example\n * // Add 10 days to 1 September 2014:\n * const result = addDays(new Date(2014, 8, 1), 10)\n * //=> Thu Sep 11 2014 00:00:00\n */\nexport default function addDays(dirtyDate, dirtyAmount) {\n  requiredArgs(2, arguments);\n  var date = toDate(dirtyDate);\n  var amount = toInteger(dirtyAmount);\n  if (isNaN(amount)) {\n    return new Date(NaN);\n  }\n  if (!amount) {\n    // If 0 days, no-op to avoid changing times in the hour before end of DST\n    return date;\n  }\n  date.setDate(date.getDate() + amount);\n  return date;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addMonths\n * @category Month Helpers\n * @summary Add the specified number of months to the given date.\n *\n * @description\n * Add the specified number of months to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of months to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the months added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 5 months to 1 September 2014:\n * const result = addMonths(new Date(2014, 8, 1), 5)\n * //=> Sun Feb 01 2015 00:00:00\n */\nexport default function addMonths(dirtyDate, dirtyAmount) {\n  requiredArgs(2, arguments);\n  var date = toDate(dirtyDate);\n  var amount = toInteger(dirtyAmount);\n  if (isNaN(amount)) {\n    return new Date(NaN);\n  }\n  if (!amount) {\n    // If 0 months, no-op to avoid changing times in the hour before end of DST\n    return date;\n  }\n  var dayOfMonth = date.getDate();\n\n  // The JS Date object supports date math by accepting out-of-bounds values for\n  // month, day, etc. For example, new Date(2020, 0, 0) returns 31 Dec 2019 and\n  // new Date(2020, 13, 1) returns 1 Feb 2021.  This is *almost* the behavior we\n  // want except that dates will wrap around the end of a month, meaning that\n  // new Date(2020, 13, 31) will return 3 Mar 2021 not 28 Feb 2021 as desired. So\n  // we'll default to the end of the desired month by adding 1 to the desired\n  // month and using a date of 0 to back up one day to the end of the desired\n  // month.\n  var endOfDesiredMonth = new Date(date.getTime());\n  endOfDesiredMonth.setMonth(date.getMonth() + amount + 1, 0);\n  var daysInMonth = endOfDesiredMonth.getDate();\n  if (dayOfMonth >= daysInMonth) {\n    // If we're already at the end of the month, then this is the correct date\n    // and we're done.\n    return endOfDesiredMonth;\n  } else {\n    // Otherwise, we now know that setting the original day-of-month value won't\n    // cause an overflow, so set the desired day-of-month. Note that we can't\n    // just set the date of `endOfDesiredMonth` because that object may have had\n    // its time changed in the unusual case where where a DST transition was on\n    // the last day of the month and its local time was in the hour skipped or\n    // repeated next to a DST transition.  So we use `date` instead which is\n    // guaranteed to still have the original time.\n    date.setFullYear(endOfDesiredMonth.getFullYear(), endOfDesiredMonth.getMonth(), dayOfMonth);\n    return date;\n  }\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport addDays from \"../addDays/index.js\";\nimport addMonths from \"../addMonths/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name add\n * @category Common Helpers\n * @summary Add the specified years, months, weeks, days, hours, minutes and seconds to the given date.\n *\n * @description\n * Add the specified years, months, weeks, days, hours, minutes and seconds to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Duration} duration - the object with years, months, weeks, days, hours, minutes and seconds to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n *\n * | Key            | Description                        |\n * |----------------|------------------------------------|\n * | years          | Amount of years to be added        |\n * | months         | Amount of months to be added       |\n * | weeks          | Amount of weeks to be added        |\n * | days           | Amount of days to be added         |\n * | hours          | Amount of hours to be added        |\n * | minutes        | Amount of minutes to be added      |\n * | seconds        | Amount of seconds to be added      |\n *\n * All values default to 0\n *\n * @returns {Date} the new date with the seconds added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add the following duration to 1 September 2014, 10:19:50\n * const result = add(new Date(2014, 8, 1, 10, 19, 50), {\n *   years: 2,\n *   months: 9,\n *   weeks: 1,\n *   days: 7,\n *   hours: 5,\n *   minutes: 9,\n *   seconds: 30,\n * })\n * //=> Thu Jun 15 2017 15:29:20\n */\nexport default function add(dirtyDate, duration) {\n  requiredArgs(2, arguments);\n  if (!duration || _typeof(duration) !== 'object') return new Date(NaN);\n  var years = duration.years ? toInteger(duration.years) : 0;\n  var months = duration.months ? toInteger(duration.months) : 0;\n  var weeks = duration.weeks ? toInteger(duration.weeks) : 0;\n  var days = duration.days ? toInteger(duration.days) : 0;\n  var hours = duration.hours ? toInteger(duration.hours) : 0;\n  var minutes = duration.minutes ? toInteger(duration.minutes) : 0;\n  var seconds = duration.seconds ? toInteger(duration.seconds) : 0;\n\n  // Add years and months\n  var date = toDate(dirtyDate);\n  var dateWithMonths = months || years ? addMonths(date, months + years * 12) : date;\n\n  // Add weeks and days\n  var dateWithDays = days || weeks ? addDays(dateWithMonths, days + weeks * 7) : dateWithMonths;\n\n  // Add days, hours, minutes and seconds\n  var minutesToAdd = minutes + hours * 60;\n  var secondsToAdd = seconds + minutesToAdd * 60;\n  var msToAdd = secondsToAdd * 1000;\n  var finalDate = new Date(dateWithDays.getTime() + msToAdd);\n  return finalDate;\n}","import addDays from \"../addDays/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name subDays\n * @category Day Helpers\n * @summary Subtract the specified number of days from the given date.\n *\n * @description\n * Subtract the specified number of days from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of days to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the days subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 10 days from 1 September 2014:\n * const result = subDays(new Date(2014, 8, 1), 10)\n * //=> Fri Aug 22 2014 00:00:00\n */\nexport default function subDays(dirtyDate, dirtyAmount) {\n  requiredArgs(2, arguments);\n  var amount = toInteger(dirtyAmount);\n  return addDays(dirtyDate, -amount);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addMonths from \"../addMonths/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name subMonths\n * @category Month Helpers\n * @summary Subtract the specified number of months from the given date.\n *\n * @description\n * Subtract the specified number of months from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of months to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the months subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 5 months from 1 February 2015:\n * const result = subMonths(new Date(2015, 1, 1), 5)\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport default function subMonths(dirtyDate, dirtyAmount) {\n  requiredArgs(2, arguments);\n  var amount = toInteger(dirtyAmount);\n  return addMonths(dirtyDate, -amount);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport subDays from \"../subDays/index.js\";\nimport subMonths from \"../subMonths/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name sub\n * @category Common Helpers\n * @summary Subtract the specified years, months, weeks, days, hours, minutes and seconds from the given date.\n *\n * @description\n * Subtract the specified years, months, weeks, days, hours, minutes and seconds from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Duration} duration - the object with years, months, weeks, days, hours, minutes and seconds to be subtracted\n *\n * | Key     | Description                        |\n * |---------|------------------------------------|\n * | years   | Amount of years to be subtracted   |\n * | months  | Amount of months to be subtracted  |\n * | weeks   | Amount of weeks to be subtracted   |\n * | days    | Amount of days to be subtracted    |\n * | hours   | Amount of hours to be subtracted   |\n * | minutes | Amount of minutes to be subtracted |\n * | seconds | Amount of seconds to be subtracted |\n *\n * All values default to 0\n *\n * @returns {Date} the new date with the seconds subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract the following duration from 15 June 2017 15:29:20\n * const result = sub(new Date(2017, 5, 15, 15, 29, 20), {\n *   years: 2,\n *   months: 9,\n *   weeks: 1,\n *   days: 7,\n *   hours: 5,\n *   minutes: 9,\n *   seconds: 30\n * })\n * //=> Mon Sep 1 2014 10:19:50\n */\nexport default function sub(date, duration) {\n  requiredArgs(2, arguments);\n  if (!duration || _typeof(duration) !== 'object') return new Date(NaN);\n  var years = duration.years ? toInteger(duration.years) : 0;\n  var months = duration.months ? toInteger(duration.months) : 0;\n  var weeks = duration.weeks ? toInteger(duration.weeks) : 0;\n  var days = duration.days ? toInteger(duration.days) : 0;\n  var hours = duration.hours ? toInteger(duration.hours) : 0;\n  var minutes = duration.minutes ? toInteger(duration.minutes) : 0;\n  var seconds = duration.seconds ? toInteger(duration.seconds) : 0;\n\n  // Subtract years and months\n  var dateWithoutMonths = subMonths(date, months + years * 12);\n\n  // Subtract weeks and days\n  var dateWithoutDays = subDays(dateWithoutMonths, days + weeks * 7);\n\n  // Subtract hours, minutes and seconds\n  var minutestoSub = minutes + hours * 60;\n  var secondstoSub = seconds + minutestoSub * 60;\n  var mstoSub = secondstoSub * 1000;\n  var finalDate = new Date(dateWithoutDays.getTime() - mstoSub);\n  return finalDate;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getDaysInMonth\n * @category Month Helpers\n * @summary Get the number of days in a month of the given date.\n *\n * @description\n * Get the number of days in a month of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the number of days in a month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // How many days are in February 2000?\n * const result = getDaysInMonth(new Date(2000, 1))\n * //=> 29\n */\nexport default function getDaysInMonth(dirtyDate) {\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  var year = date.getFullYear();\n  var monthIndex = date.getMonth();\n  var lastDayOfMonth = new Date(0);\n  lastDayOfMonth.setFullYear(year, monthIndex + 1, 0);\n  lastDayOfMonth.setHours(0, 0, 0, 0);\n  return lastDayOfMonth.getDate();\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport getDaysInMonth from \"../getDaysInMonth/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setMonth\n * @category Month Helpers\n * @summary Set the month to the given date.\n *\n * @description\n * Set the month to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} month - the month of the new date\n * @returns {Date} the new date with the month set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set February to 1 September 2014:\n * const result = setMonth(new Date(2014, 8, 1), 1)\n * //=> Sat Feb 01 2014 00:00:00\n */\nexport default function setMonth(dirtyDate, dirtyMonth) {\n  requiredArgs(2, arguments);\n  var date = toDate(dirtyDate);\n  var month = toInteger(dirtyMonth);\n  var year = date.getFullYear();\n  var day = date.getDate();\n  var dateWithDesiredMonth = new Date(0);\n  dateWithDesiredMonth.setFullYear(year, month, 15);\n  dateWithDesiredMonth.setHours(0, 0, 0, 0);\n  var daysInMonth = getDaysInMonth(dateWithDesiredMonth);\n  // Set the last day of the new month\n  // if the original date was the last day of the longer month\n  date.setMonth(month, Math.min(day, daysInMonth));\n  return date;\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport toDate from \"../toDate/index.js\";\nimport setMonth from \"../setMonth/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name set\n * @category Common Helpers\n * @summary Set date values to a given date.\n *\n * @description\n * Set date values to a given date.\n *\n * Sets time values to date from object `values`.\n * A value is not set if it is undefined or null or doesn't exist in `values`.\n *\n * Note about bundle size: `set` does not internally use `setX` functions from date-fns but instead opts\n * to use native `Date#setX` methods. If you use this function, you may not want to include the\n * other `setX` functions that date-fns provides if you are concerned about the bundle size.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Object} values - an object with options\n * @param {Number} [values.year] - the number of years to be set\n * @param {Number} [values.month] - the number of months to be set\n * @param {Number} [values.date] - the number of days to be set\n * @param {Number} [values.hours] - the number of hours to be set\n * @param {Number} [values.minutes] - the number of minutes to be set\n * @param {Number} [values.seconds] - the number of seconds to be set\n * @param {Number} [values.milliseconds] - the number of milliseconds to be set\n * @returns {Date} the new date with options set\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `values` must be an object\n *\n * @example\n * // Transform 1 September 2014 into 20 October 2015 in a single line:\n * const result = set(new Date(2014, 8, 20), { year: 2015, month: 9, date: 20 })\n * //=> Tue Oct 20 2015 00:00:00\n *\n * @example\n * // Set 12 PM to 1 September 2014 01:23:45 to 1 September 2014 12:00:00:\n * const result = set(new Date(2014, 8, 1, 1, 23, 45), { hours: 12 })\n * //=> Mon Sep 01 2014 12:23:45\n */\nexport default function set(dirtyDate, values) {\n  requiredArgs(2, arguments);\n  if (_typeof(values) !== 'object' || values === null) {\n    throw new RangeError('values parameter must be an object');\n  }\n  var date = toDate(dirtyDate);\n\n  // Check if date is Invalid Date because Date.prototype.setFullYear ignores the value of Invalid Date\n  if (isNaN(date.getTime())) {\n    return new Date(NaN);\n  }\n  if (values.year != null) {\n    date.setFullYear(values.year);\n  }\n  if (values.month != null) {\n    date = setMonth(date, values.month);\n  }\n  if (values.date != null) {\n    date.setDate(toInteger(values.date));\n  }\n  if (values.hours != null) {\n    date.setHours(toInteger(values.hours));\n  }\n  if (values.minutes != null) {\n    date.setMinutes(toInteger(values.minutes));\n  }\n  if (values.seconds != null) {\n    date.setSeconds(toInteger(values.seconds));\n  }\n  if (values.milliseconds != null) {\n    date.setMilliseconds(toInteger(values.milliseconds));\n  }\n  return date;\n}","import {add, sub, set} from 'date-fns';\nimport {DateActionTypes} from './constants';\n\nconst {\n\tTO_NEXT_MONTH,\n\tTO_PREVIOUS_MONTH,\n\tTO_MONTH,\n\tTO_QUARTER,\n\tTO_YEAR,\n\tTO_WEEK,\n\tTO_NEXT_YEAR,\n\tTO_PREVIOUS_YEAR,\n} = DateActionTypes;\n\n/**\n * Actions to return a new date based on the method.\n */\n\nexport const DateActions = {\n\t[TO_NEXT_MONTH]: (date) => add(date, {months: 1}),\n\t[TO_PREVIOUS_MONTH]: (date) => sub(date, {months: 1}),\n\t[TO_MONTH]: (date, monthIdx) => set(date, {month: monthIdx}),\n\t[TO_QUARTER]: (date, quarterIdx) => set(date, {quarter: quarterIdx}),\n\t[TO_YEAR]: (date, year) => set(date, {year}),\n\t[TO_NEXT_YEAR]: (date) => add(date, {years: 1}),\n\t[TO_PREVIOUS_YEAR]: (date) => sub(date, {years: 1}),\n\t[TO_WEEK]: (date, weekIdx) => set(date, {week: weekIdx}),\n};\n","import {ItemStateTypes} from './constants';\n\nconst {ADJACENT, NOW, SELECTED, TWEEN, DISABLED} = ItemStateTypes;\n\nexport function createDateItem(date, overrides = {}) {\n\treturn {\n\t\tdate,\n\t\tlabel: undefined,\n\t\tweek: undefined,\n\t\ta11yLabel: undefined,\n\t\tid: date ? String(date.getTime()) : overrides.id,\n\n\t\t// State fields\n\t\t[ADJACENT]: false,\n\t\t[NOW]: false,\n\t\t[SELECTED]: false,\n\t\t[TWEEN]: false,\n\t\t[DISABLED]: false,\n\n\t\t...overrides,\n\t};\n}\n","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name compareAsc\n * @category Common Helpers\n * @summary Compare the two dates and return -1, 0 or 1.\n *\n * @description\n * Compare the two dates and return 1 if the first date is after the second,\n * -1 if the first date is before the second or 0 if dates are equal.\n *\n * @param {Date|Number} dateLeft - the first date to compare\n * @param {Date|Number} dateRight - the second date to compare\n * @returns {Number} the result of the comparison\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Compare 11 February 1987 and 10 July 1989:\n * const result = compareAsc(new Date(1987, 1, 11), new Date(1989, 6, 10))\n * //=> -1\n *\n * @example\n * // Sort the array of dates:\n * const result = [\n *   new Date(1995, 6, 2),\n *   new Date(1987, 1, 11),\n *   new Date(1989, 6, 10)\n * ].sort(compareAsc)\n * //=> [\n * //   Wed Feb 11 1987 00:00:00,\n * //   Mon Jul 10 1989 00:00:00,\n * //   Sun Jul 02 1995 00:00:00\n * // ]\n */\nexport default function compareAsc(dirtyDateLeft, dirtyDateRight) {\n  requiredArgs(2, arguments);\n  var dateLeft = toDate(dirtyDateLeft);\n  var dateRight = toDate(dirtyDateRight);\n  var diff = dateLeft.getTime() - dateRight.getTime();\n  if (diff < 0) {\n    return -1;\n  } else if (diff > 0) {\n    return 1;\n    // Return 0 if diff is 0; return NaN if diff is NaN\n  } else {\n    return diff;\n  }\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getYear\n * @category Year Helpers\n * @summary Get the year of the given date.\n *\n * @description\n * Get the year of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which year is 2 July 2014?\n * const result = getYear(new Date(2014, 6, 2))\n * //=> 2014\n */\nexport default function getYear(dirtyDate) {\n  requiredArgs(1, arguments);\n  return toDate(dirtyDate).getFullYear();\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getMonth\n * @category Month Helpers\n * @summary Get the month of the given date.\n *\n * @description\n * Get the month of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which month is 29 February 2012?\n * const result = getMonth(new Date(2012, 1, 29))\n * //=> 1\n */\nexport default function getMonth(dirtyDate) {\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  var month = date.getMonth();\n  return month;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getQuarter\n * @category Quarter Helpers\n * @summary Get the year quarter of the given date.\n *\n * @description\n * Get the year quarter of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the quarter\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which quarter is 2 July 2014?\n * const result = getQuarter(new Date(2014, 6, 2))\n * //=> 3\n */\nexport default function getQuarter(dirtyDate) {\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  var quarter = Math.floor(date.getMonth() / 3) + 1;\n  return quarter;\n}","import toDate from \"../toDate/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\n/**\n * @name startOfWeek\n * @category Week Helpers\n * @summary Return the start of a week for the given date.\n *\n * @description\n * Return the start of a week for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Date} the start of a week\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n *\n * @example\n * // The start of a week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport default function startOfWeek(dirtyDate, options) {\n  var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n  requiredArgs(1, arguments);\n  var defaultOptions = getDefaultOptions();\n  var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0);\n\n  // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n  if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n    throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n  }\n  var date = toDate(dirtyDate);\n  var day = date.getDay();\n  var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n  date.setDate(date.getDate() - diff);\n  date.setHours(0, 0, 0, 0);\n  return date;\n}","import startOfWeek from \"../startOfWeek/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\n/**\n * @name getWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Get the local week-numbering year of the given date.\n *\n * @description\n * Get the local week-numbering year of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#Week_numbering\n *\n * @param {Date|Number} date - the given date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year\n * @returns {Number} the local week-numbering year\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n *\n * @example\n * // Which week numbering year is 26 December 2004 with the default settings?\n * const result = getWeekYear(new Date(2004, 11, 26))\n * //=> 2005\n *\n * @example\n * // Which week numbering year is 26 December 2004 if week starts on Saturday?\n * const result = getWeekYear(new Date(2004, 11, 26), { weekStartsOn: 6 })\n * //=> 2004\n *\n * @example\n * // Which week numbering year is 26 December 2004 if the first week contains 4 January?\n * const result = getWeekYear(new Date(2004, 11, 26), { firstWeekContainsDate: 4 })\n * //=> 2004\n */\nexport default function getWeekYear(dirtyDate, options) {\n  var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  var year = date.getFullYear();\n  var defaultOptions = getDefaultOptions();\n  var firstWeekContainsDate = toInteger((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1);\n\n  // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n  if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n    throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n  }\n  var firstWeekOfNextYear = new Date(0);\n  firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);\n  firstWeekOfNextYear.setHours(0, 0, 0, 0);\n  var startOfNextYear = startOfWeek(firstWeekOfNextYear, options);\n  var firstWeekOfThisYear = new Date(0);\n  firstWeekOfThisYear.setFullYear(year, 0, firstWeekContainsDate);\n  firstWeekOfThisYear.setHours(0, 0, 0, 0);\n  var startOfThisYear = startOfWeek(firstWeekOfThisYear, options);\n  if (date.getTime() >= startOfNextYear.getTime()) {\n    return year + 1;\n  } else if (date.getTime() >= startOfThisYear.getTime()) {\n    return year;\n  } else {\n    return year - 1;\n  }\n}","import getWeekYear from \"../getWeekYear/index.js\";\nimport startOfWeek from \"../startOfWeek/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\n/**\n * @name startOfWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Return the start of a local week-numbering year for the given date.\n *\n * @description\n * Return the start of a local week-numbering year.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#Week_numbering\n *\n * @param {Date|Number} date - the original date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year\n * @returns {Date} the start of a week-numbering year\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n *\n * @example\n * // The start of an a week-numbering year for 2 July 2005 with default settings:\n * const result = startOfWeekYear(new Date(2005, 6, 2))\n * //=> Sun Dec 26 2004 00:00:00\n *\n * @example\n * // The start of a week-numbering year for 2 July 2005\n * // if Monday is the first day of week\n * // and 4 January is always in the first week of the year:\n * const result = startOfWeekYear(new Date(2005, 6, 2), {\n *   weekStartsOn: 1,\n *   firstWeekContainsDate: 4\n * })\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport default function startOfWeekYear(dirtyDate, options) {\n  var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n  requiredArgs(1, arguments);\n  var defaultOptions = getDefaultOptions();\n  var firstWeekContainsDate = toInteger((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1);\n  var year = getWeekYear(dirtyDate, options);\n  var firstWeek = new Date(0);\n  firstWeek.setFullYear(year, 0, firstWeekContainsDate);\n  firstWeek.setHours(0, 0, 0, 0);\n  var date = startOfWeek(firstWeek, options);\n  return date;\n}","import startOfWeek from \"../startOfWeek/index.js\";\nimport startOfWeekYear from \"../startOfWeekYear/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\n\n/**\n * @name getWeek\n * @category Week Helpers\n * @summary Get the local week index of the given date.\n *\n * @description\n * Get the local week index of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#Week_numbering\n *\n * @param {Date|Number} date - the given date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year\n * @returns {Number} the week\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005 with default options?\n * const result = getWeek(new Date(2005, 0, 2))\n * //=> 2\n *\n * // Which week of the local week numbering year is 2 January 2005,\n * // if Monday is the first day of the week,\n * // and the first week of the year always contains 4 January?\n * const result = getWeek(new Date(2005, 0, 2), {\n *   weekStartsOn: 1,\n *   firstWeekContainsDate: 4\n * })\n * //=> 53\n */\n\nexport default function getWeek(dirtyDate, options) {\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  var diff = startOfWeek(date, options).getTime() - startOfWeekYear(date, options).getTime();\n\n  // Round the number of days to the nearest integer\n  // because the number of milliseconds in a week is not constant\n  // (e.g. it's different in the week of the daylight saving time clock shift)\n  return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isBefore\n * @category Common Helpers\n * @summary Is the first date before the second one?\n *\n * @description\n * Is the first date before the second one?\n *\n * @param {Date|Number} date - the date that should be before the other one to return true\n * @param {Date|Number} dateToCompare - the date to compare with\n * @returns {Boolean} the first date is before the second date\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Is 10 July 1989 before 11 February 1987?\n * const result = isBefore(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> false\n */\nexport default function isBefore(dirtyDate, dirtyDateToCompare) {\n  requiredArgs(2, arguments);\n  var date = toDate(dirtyDate);\n  var dateToCompare = toDate(dirtyDateToCompare);\n  return date.getTime() < dateToCompare.getTime();\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getDate\n * @category Day Helpers\n * @summary Get the day of the month of the given date.\n *\n * @description\n * Get the day of the month of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the day of month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which day of the month is 29 February 2012?\n * const result = getDate(new Date(2012, 1, 29))\n * //=> 29\n */\nexport default function getDate(dirtyDate) {\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  var dayOfMonth = date.getDate();\n  return dayOfMonth;\n}","import startOfWeek from \"../startOfWeek/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfISOWeek\n * @category ISO Week Helpers\n * @summary Return the start of an ISO week for the given date.\n *\n * @description\n * Return the start of an ISO week for the given date.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of an ISO week\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of an ISO week for 2 September 2014 11:55:00:\n * const result = startOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport default function startOfISOWeek(dirtyDate) {\n  requiredArgs(1, arguments);\n  return startOfWeek(dirtyDate, {\n    weekStartsOn: 1\n  });\n}","import toDate from \"../toDate/index.js\";\nimport startOfISOWeek from \"../startOfISOWeek/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Get the ISO week-numbering year of the given date.\n *\n * @description\n * Get the ISO week-numbering year of the given date,\n * which always starts 3 days before the year's first Thursday.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the ISO week-numbering year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which ISO-week numbering year is 2 January 2005?\n * const result = getISOWeekYear(new Date(2005, 0, 2))\n * //=> 2004\n */\nexport default function getISOWeekYear(dirtyDate) {\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  var year = date.getFullYear();\n  var fourthOfJanuaryOfNextYear = new Date(0);\n  fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);\n  fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);\n  var startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);\n  var fourthOfJanuaryOfThisYear = new Date(0);\n  fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);\n  fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);\n  var startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);\n  if (date.getTime() >= startOfNextYear.getTime()) {\n    return year + 1;\n  } else if (date.getTime() >= startOfThisYear.getTime()) {\n    return year;\n  } else {\n    return year - 1;\n  }\n}","import getISOWeekYear from \"../getISOWeekYear/index.js\";\nimport startOfISOWeek from \"../startOfISOWeek/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Return the start of an ISO week-numbering year for the given date.\n *\n * @description\n * Return the start of an ISO week-numbering year,\n * which always starts 3 days before the year's first Thursday.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of an ISO week-numbering year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of an ISO week-numbering year for 2 July 2005:\n * const result = startOfISOWeekYear(new Date(2005, 6, 2))\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport default function startOfISOWeekYear(dirtyDate) {\n  requiredArgs(1, arguments);\n  var year = getISOWeekYear(dirtyDate);\n  var fourthOfJanuary = new Date(0);\n  fourthOfJanuary.setFullYear(year, 0, 4);\n  fourthOfJanuary.setHours(0, 0, 0, 0);\n  var date = startOfISOWeek(fourthOfJanuary);\n  return date;\n}","import toDate from \"../toDate/index.js\";\nimport startOfISOWeek from \"../startOfISOWeek/index.js\";\nimport startOfISOWeekYear from \"../startOfISOWeekYear/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\n\n/**\n * @name getISOWeek\n * @category ISO Week Helpers\n * @summary Get the ISO week of the given date.\n *\n * @description\n * Get the ISO week of the given date.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the ISO week\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which week of the ISO-week numbering year is 2 January 2005?\n * const result = getISOWeek(new Date(2005, 0, 2))\n * //=> 53\n */\nexport default function getISOWeek(dirtyDate) {\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  var diff = startOfISOWeek(date).getTime() - startOfISOWeekYear(date).getTime();\n\n  // Round the number of days to the nearest integer\n  // because the number of milliseconds in a week is not constant\n  // (e.g. it's different in the week of the daylight saving time clock shift)\n  return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addDays from \"../addDays/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addWeeks\n * @category Week Helpers\n * @summary Add the specified number of weeks to the given date.\n *\n * @description\n * Add the specified number of week to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of weeks to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the weeks added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 4 weeks to 1 September 2014:\n * const result = addWeeks(new Date(2014, 8, 1), 4)\n * //=> Mon Sep 29 2014 00:00:00\n */\nexport default function addWeeks(dirtyDate, dirtyAmount) {\n  requiredArgs(2, arguments);\n  var amount = toInteger(dirtyAmount);\n  var days = amount * 7;\n  return addDays(dirtyDate, days);\n}","import addWeeks from \"../addWeeks/index.js\";\nimport startOfWeek from \"../startOfWeek/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name eachWeekOfInterval\n * @category Interval Helpers\n * @summary Return the array of weeks within the specified time interval.\n *\n * @description\n * Return the array of weeks within the specified time interval.\n *\n * @param {Interval} interval - the interval. See [Interval]{@link https://date-fns.org/docs/Interval}\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Date[]} the array with starts of weeks from the week of the interval start to the week of the interval end\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be 0, 1, ..., 6\n * @throws {RangeError} The start of an interval cannot be after its end\n * @throws {RangeError} Date in interval cannot be `Invalid Date`\n *\n * @example\n * // Each week within interval 6 October 2014 - 23 November 2014:\n * const result = eachWeekOfInterval({\n *   start: new Date(2014, 9, 6),\n *   end: new Date(2014, 10, 23)\n * })\n * //=> [\n * //   Sun Oct 05 2014 00:00:00,\n * //   Sun Oct 12 2014 00:00:00,\n * //   Sun Oct 19 2014 00:00:00,\n * //   Sun Oct 26 2014 00:00:00,\n * //   Sun Nov 02 2014 00:00:00,\n * //   Sun Nov 09 2014 00:00:00,\n * //   Sun Nov 16 2014 00:00:00,\n * //   Sun Nov 23 2014 00:00:00\n * // ]\n */\nexport default function eachWeekOfInterval(dirtyInterval, options) {\n  requiredArgs(1, arguments);\n  var interval = dirtyInterval || {};\n  var startDate = toDate(interval.start);\n  var endDate = toDate(interval.end);\n  var endTime = endDate.getTime();\n\n  // Throw an exception if start date is after end date or if any date is `Invalid Date`\n  if (!(startDate.getTime() <= endTime)) {\n    throw new RangeError('Invalid interval');\n  }\n  var startDateWeek = startOfWeek(startDate, options);\n  var endDateWeek = startOfWeek(endDate, options);\n\n  // Some timezones switch DST at midnight, making start of day unreliable in these timezones, 3pm is a safe bet\n  startDateWeek.setHours(15);\n  endDateWeek.setHours(15);\n  endTime = endDateWeek.getTime();\n  var weeks = [];\n  var currentWeek = startDateWeek;\n  while (currentWeek.getTime() <= endTime) {\n    currentWeek.setHours(0);\n    weeks.push(toDate(currentWeek));\n    currentWeek = addWeeks(currentWeek, 1);\n    currentWeek.setHours(15);\n  }\n  return weeks;\n}","import startOfWeek from \"../startOfWeek/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\n\n/**\n * @name differenceInCalendarWeeks\n * @category Week Helpers\n * @summary Get the number of calendar weeks between the given dates.\n *\n * @description\n * Get the number of calendar weeks between the given dates.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Number} the number of calendar weeks\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n *\n * @example\n * // How many calendar weeks are between 5 July 2014 and 20 July 2014?\n * const result = differenceInCalendarWeeks(\n *   new Date(2014, 6, 20),\n *   new Date(2014, 6, 5)\n * )\n * //=> 3\n *\n * @example\n * // If the week starts on Monday,\n * // how many calendar weeks are between 5 July 2014 and 20 July 2014?\n * const result = differenceInCalendarWeeks(\n *   new Date(2014, 6, 20),\n *   new Date(2014, 6, 5),\n *   { weekStartsOn: 1 }\n * )\n * //=> 2\n */\nexport default function differenceInCalendarWeeks(dirtyDateLeft, dirtyDateRight, options) {\n  requiredArgs(2, arguments);\n  var startOfWeekLeft = startOfWeek(dirtyDateLeft, options);\n  var startOfWeekRight = startOfWeek(dirtyDateRight, options);\n  var timestampLeft = startOfWeekLeft.getTime() - getTimezoneOffsetInMilliseconds(startOfWeekLeft);\n  var timestampRight = startOfWeekRight.getTime() - getTimezoneOffsetInMilliseconds(startOfWeekRight);\n\n  // Round the number of days to the nearest integer\n  // because the number of milliseconds in a week is not constant\n  // (e.g. it's different in the week of the daylight saving time clock shift)\n  return Math.round((timestampLeft - timestampRight) / MILLISECONDS_IN_WEEK);\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name lastDayOfMonth\n * @category Month Helpers\n * @summary Return the last day of a month for the given date.\n *\n * @description\n * Return the last day of a month for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the last day of a month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The last day of a month for 2 September 2014 11:55:00:\n * const result = lastDayOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 30 2014 00:00:00\n */\nexport default function lastDayOfMonth(dirtyDate) {\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  var month = date.getMonth();\n  date.setFullYear(date.getFullYear(), month + 1, 0);\n  date.setHours(0, 0, 0, 0);\n  return date;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfMonth\n * @category Month Helpers\n * @summary Return the start of a month for the given date.\n *\n * @description\n * Return the start of a month for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a month for 2 September 2014 11:55:00:\n * const result = startOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport default function startOfMonth(dirtyDate) {\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  date.setDate(1);\n  date.setHours(0, 0, 0, 0);\n  return date;\n}","import differenceInCalendarWeeks from \"../differenceInCalendarWeeks/index.js\";\nimport lastDayOfMonth from \"../lastDayOfMonth/index.js\";\nimport startOfMonth from \"../startOfMonth/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getWeeksInMonth\n * @category Week Helpers\n * @summary Get the number of calendar weeks a month spans.\n *\n * @description\n * Get the number of calendar weeks the month in the given date spans.\n *\n * @param {Date|Number} date - the given date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Number} the number of calendar weeks\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n *\n * @example\n * // How many calendar weeks does February 2015 span?\n * const result = getWeeksInMonth(new Date(2015, 1, 8))\n * //=> 4\n *\n * @example\n * // If the week starts on Monday,\n * // how many calendar weeks does July 2017 span?\n * const result = getWeeksInMonth(new Date(2017, 6, 5), { weekStartsOn: 1 })\n * //=> 6\n */\nexport default function getWeeksInMonth(date, options) {\n  requiredArgs(1, arguments);\n  return differenceInCalendarWeeks(lastDayOfMonth(date), startOfMonth(date), options) + 1;\n}","import toDate from \"../toDate/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\n/**\n * @name lastDayOfWeek\n * @category Week Helpers\n * @summary Return the last day of a week for the given date.\n *\n * @description\n * Return the last day of a week for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Date} the last day of a week\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n *\n * @example\n * // The last day of a week for 2 September 2014 11:55:00:\n * const result = lastDayOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sat Sep 06 2014 00:00:00\n *\n * @example\n * // If the week starts on Monday, the last day of the week for 2 September 2014 11:55:00:\n * const result = lastDayOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Sun Sep 07 2014 00:00:00\n */\nexport default function lastDayOfWeek(dirtyDate, options) {\n  var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n  requiredArgs(1, arguments);\n  var defaultOptions = getDefaultOptions();\n  var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0);\n\n  // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n  if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n    throw new RangeError('weekStartsOn must be between 0 and 6');\n  }\n  var date = toDate(dirtyDate);\n  var day = date.getDay();\n  var diff = (day < weekStartsOn ? -7 : 0) + 6 - (day - weekStartsOn);\n  date.setHours(0, 0, 0, 0);\n  date.setDate(date.getDate() + diff);\n  return date;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name eachDayOfInterval\n * @category Interval Helpers\n * @summary Return the array of dates within the specified time interval.\n *\n * @description\n * Return the array of dates within the specified time interval.\n *\n * @param {Interval} interval - the interval. See [Interval]{@link https://date-fns.org/docs/Interval}\n * @param {Object} [options] - an object with options.\n * @param {Number} [options.step=1] - the step to increment by. The value should be more than 1.\n * @returns {Date[]} the array with starts of days from the day of the interval start to the day of the interval end\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.step` must be a number greater than 1\n * @throws {RangeError} The start of an interval cannot be after its end\n * @throws {RangeError} Date in interval cannot be `Invalid Date`\n *\n * @example\n * // Each day between 6 October 2014 and 10 October 2014:\n * const result = eachDayOfInterval({\n *   start: new Date(2014, 9, 6),\n *   end: new Date(2014, 9, 10)\n * })\n * //=> [\n * //   Mon Oct 06 2014 00:00:00,\n * //   Tue Oct 07 2014 00:00:00,\n * //   Wed Oct 08 2014 00:00:00,\n * //   Thu Oct 09 2014 00:00:00,\n * //   Fri Oct 10 2014 00:00:00\n * // ]\n */\nexport default function eachDayOfInterval(dirtyInterval, options) {\n  var _options$step;\n  requiredArgs(1, arguments);\n  var interval = dirtyInterval || {};\n  var startDate = toDate(interval.start);\n  var endDate = toDate(interval.end);\n  var endTime = endDate.getTime();\n\n  // Throw an exception if start date is after end date or if any date is `Invalid Date`\n  if (!(startDate.getTime() <= endTime)) {\n    throw new RangeError('Invalid interval');\n  }\n  var dates = [];\n  var currentDate = startDate;\n  currentDate.setHours(0, 0, 0, 0);\n  var step = Number((_options$step = options === null || options === void 0 ? void 0 : options.step) !== null && _options$step !== void 0 ? _options$step : 1);\n  if (step < 1 || isNaN(step)) throw new RangeError('`options.step` must be a number greater than 1');\n  while (currentDate.getTime() <= endTime) {\n    dates.push(toDate(currentDate));\n    currentDate.setDate(currentDate.getDate() + step);\n    currentDate.setHours(0, 0, 0, 0);\n  }\n  return dates;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getDay\n * @category Weekday Helpers\n * @summary Get the day of the week of the given date.\n *\n * @description\n * Get the day of the week of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {0|1|2|3|4|5|6} the day of week, 0 represents Sunday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which day of the week is 29 February 2012?\n * const result = getDay(new Date(2012, 1, 29))\n * //=> 3\n */\nexport default function getDay(dirtyDate) {\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  var day = date.getDay();\n  return day;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isWithinInterval\n * @category Interval Helpers\n * @summary Is the given date within the interval?\n *\n * @description\n * Is the given date within the interval? (Including start and end.)\n *\n * @param {Date|Number} date - the date to check\n * @param {Interval} interval - the interval to check\n * @returns {Boolean} the date is within the interval\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} The start of an interval cannot be after its end\n * @throws {RangeError} Date in interval cannot be `Invalid Date`\n *\n * @example\n * // For the date within the interval:\n * isWithinInterval(new Date(2014, 0, 3), {\n *   start: new Date(2014, 0, 1),\n *   end: new Date(2014, 0, 7)\n * })\n * //=> true\n *\n * @example\n * // For the date outside of the interval:\n * isWithinInterval(new Date(2014, 0, 10), {\n *   start: new Date(2014, 0, 1),\n *   end: new Date(2014, 0, 7)\n * })\n * //=> false\n *\n * @example\n * // For date equal to interval start:\n * isWithinInterval(date, { start, end: date }) // => true\n *\n * @example\n * // For date equal to interval end:\n * isWithinInterval(date, { start: date, end }) // => true\n */\nexport default function isWithinInterval(dirtyDate, interval) {\n  requiredArgs(2, arguments);\n  var time = toDate(dirtyDate).getTime();\n  var startTime = toDate(interval.start).getTime();\n  var endTime = toDate(interval.end).getTime();\n\n  // Throw an exception if start date is after end date or if any date is `Invalid Date`\n  if (!(startTime <= endTime)) {\n    throw new RangeError('Invalid interval');\n  }\n  return time >= startTime && time <= endTime;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isEqual\n * @category Common Helpers\n * @summary Are the given dates equal?\n *\n * @description\n * Are the given dates equal?\n *\n * @param {Date|Number} dateLeft - the first date to compare\n * @param {Date|Number} dateRight - the second date to compare\n * @returns {Boolean} the dates are equal\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 2 July 2014 06:30:45.000 and 2 July 2014 06:30:45.500 equal?\n * const result = isEqual(\n *   new Date(2014, 6, 2, 6, 30, 45, 0),\n *   new Date(2014, 6, 2, 6, 30, 45, 500)\n * )\n * //=> false\n */\nexport default function isEqual(dirtyLeftDate, dirtyRightDate) {\n  requiredArgs(2, arguments);\n  var dateLeft = toDate(dirtyLeftDate);\n  var dateRight = toDate(dirtyRightDate);\n  return dateLeft.getTime() === dateRight.getTime();\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_DAY = 24 * 60 * 60 * 1000;\n\n/**\n * @name getOverlappingDaysInIntervals\n * @category Interval Helpers\n * @summary Get the number of days that overlap in two time intervals\n *\n * @description\n * Get the number of days that overlap in two time intervals\n *\n * @param {Interval} intervalLeft - the first interval to compare. See [Interval]{@link docs/Interval}\n * @param {Interval} intervalRight - the second interval to compare. See [Interval]{@link docs/Interval}\n * @returns {Number} the number of days that overlap in two time intervals\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} The start of an interval cannot be after its end\n * @throws {RangeError} Date in interval cannot be `Invalid Date`\n *\n * @example\n * // For overlapping time intervals adds 1 for each started overlapping day:\n * getOverlappingDaysInIntervals(\n *   { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) },\n *   { start: new Date(2014, 0, 17), end: new Date(2014, 0, 21) }\n * )\n * //=> 3\n *\n * @example\n * // For non-overlapping time intervals returns 0:\n * getOverlappingDaysInIntervals(\n *   { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) },\n *   { start: new Date(2014, 0, 21), end: new Date(2014, 0, 22) }\n * )\n * //=> 0\n */\n\nexport default function getOverlappingDaysInIntervals(dirtyIntervalLeft, dirtyIntervalRight) {\n  requiredArgs(2, arguments);\n  var intervalLeft = dirtyIntervalLeft || {};\n  var intervalRight = dirtyIntervalRight || {};\n  var leftStartTime = toDate(intervalLeft.start).getTime();\n  var leftEndTime = toDate(intervalLeft.end).getTime();\n  var rightStartTime = toDate(intervalRight.start).getTime();\n  var rightEndTime = toDate(intervalRight.end).getTime();\n\n  // Throw an exception if start date is after end date or if any date is `Invalid Date`\n  if (!(leftStartTime <= leftEndTime && rightStartTime <= rightEndTime)) {\n    throw new RangeError('Invalid interval');\n  }\n  var isOverlapping = leftStartTime < rightEndTime && rightStartTime < leftEndTime;\n  if (!isOverlapping) {\n    return 0;\n  }\n  var overlapStartDate = rightStartTime < leftStartTime ? leftStartTime : rightStartTime;\n  var overlapEndDate = rightEndTime > leftEndTime ? leftEndTime : rightEndTime;\n  var differenceInMs = overlapEndDate - overlapStartDate;\n  return Math.ceil(differenceInMs / MILLISECONDS_IN_DAY);\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isAfter\n * @category Common Helpers\n * @summary Is the first date after the second one?\n *\n * @description\n * Is the first date after the second one?\n *\n * @param {Date|Number} date - the date that should be after the other one to return true\n * @param {Date|Number} dateToCompare - the date to compare with\n * @returns {Boolean} the first date is after the second date\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Is 10 July 1989 after 11 February 1987?\n * const result = isAfter(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> true\n */\nexport default function isAfter(dirtyDate, dirtyDateToCompare) {\n  requiredArgs(2, arguments);\n  var date = toDate(dirtyDate);\n  var dateToCompare = toDate(dirtyDateToCompare);\n  return date.getTime() > dateToCompare.getTime();\n}","import {\n\tisWithinInterval,\n\tgetOverlappingDaysInIntervals,\n\tisEqual,\n\tisAfter,\n\tisBefore,\n\tset as dateFnsSet,\n\tstartOfWeek,\n} from 'date-fns';\nimport {\n\tItemStateTypes,\n\tvaluesToDates,\n\tgetIndexOfDate,\n\tgetOverlapItemsPerType,\n\tStartTimeData,\n} from '../utils';\nimport {DateTypes} from '@servicenow/library-date-time';\n\nfunction getIntervalDays(interval, {start, end}) {\n\tif (!start || !end) return 0;\n\n\treturn (start === end && isWithinInterval(start, interval)) ||\n\t\tisEqual(end, interval.start) ||\n\t\tisEqual(start, interval.end)\n\t\t? 1\n\t\t: getOverlappingDaysInIntervals({start, end}, interval);\n}\n\n/**\n * Sets stateKey on matching dates in overlapItems to `true`.\n */\nfunction setStateToItems({\n\titems,\n\tfirstDateIdx,\n\tfullInterval,\n\tfullIntervalList,\n\toverlapItems,\n\tformat,\n\ttype,\n\tstateKey,\n\tlocale,\n\tallowDuplicates,\n\tisoWeek,\n}) {\n\tif (!overlapItems.length) return items;\n\tconst overlapDates = valuesToDates(overlapItems, format, locale, isoWeek);\n\tconst overlapLength = overlapItems.length;\n\tconst overlapStart = overlapDates[0];\n\tconst overlapEnd = overlapDates[overlapLength - 1];\n\tconst daysInOverlap = getIntervalDays(fullInterval, {\n\t\tstart: overlapStart,\n\t\tend: overlapEnd,\n\t});\n\n\tif (\n\t\tdaysInOverlap === 0 &&\n\t\t(!allowDuplicates || !isEqual(overlapStart, overlapEnd))\n\t) {\n\t\treturn items;\n\t}\n\t// 100% overlap, update all matching dates\n\tfor (let i = 0; i < overlapLength; i++) {\n\t\tconst overlapDate = dateFnsSet(overlapDates[i], StartTimeData);\n\n\t\t// ignore future dates\n\t\tif (\n\t\t\tisAfter(overlapDate, fullInterval.end) ||\n\t\t\tisBefore(overlapDate, fullInterval.start)\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst matchIdx = getIndexOfDate(overlapDate, fullIntervalList, type);\n\t\tconst match = items[matchIdx + firstDateIdx];\n\t\tif (match) {\n\t\t\titems[matchIdx + firstDateIdx][stateKey] = true;\n\t\t}\n\t}\n\n\treturn items;\n}\n\n/**\n * Sets stateful keys to date items (disabled, selected, tween in interval, now).\n */\nexport function setStates({\n\titems,\n\tfirstDateIdx,\n\tfullInterval,\n\tfullIntervalList,\n\tselectedItems,\n\tdisabledItems,\n\tformat,\n\ttype,\n\tlocale,\n\tallowDuplicates,\n\tmode = 'standard',\n\tisoWeek,\n}) {\n\tlet now = new Date();\n\t// Time is extraneous for the calendar grid\n\tnow.setHours(0, 0, 0, 0);\n\tconst isWeekItem = type === DateTypes.WEEK_YEAR;\n\t//now points to current week when type === week-year\n\tnow = isWeekItem\n\t\t? dateFnsSet(startOfWeek(now), {\n\t\t\t\thours: 0,\n\t\t\t\tminutes: 0,\n\t\t\t\tseconds: 0,\n\t\t\t\tmilliseconds: 0,\n\t\t\t})\n\t\t: now;\n\tlet itemsWithState = [...items];\n\n\t// Set \"now\"\n\titemsWithState = setStateToItems({\n\t\titems: itemsWithState,\n\t\tfirstDateIdx,\n\t\tfullInterval,\n\t\tfullIntervalList,\n\t\toverlapItems: [now],\n\t\tformat,\n\t\ttype,\n\t\tstateKey: ItemStateTypes.NOW,\n\t\tlocale,\n\t\tisoWeek,\n\t});\n\n\t// nothing to process further\n\tif (!selectedItems.length && !disabledItems.length) return itemsWithState;\n\n\t// Set disabled items\n\n\titemsWithState = setStateToItems({\n\t\titems: itemsWithState,\n\t\tfirstDateIdx,\n\t\tfullInterval,\n\t\tfullIntervalList,\n\t\toverlapItems: disabledItems,\n\t\tformat,\n\t\ttype,\n\t\tstateKey: ItemStateTypes.DISABLED,\n\t\tlocale,\n\t\tisoWeek,\n\t});\n\n\t// Set selected items\n\tif (!selectedItems.length) return itemsWithState;\n\titemsWithState = setStateToItems({\n\t\titems: itemsWithState,\n\t\tfirstDateIdx,\n\t\tfullInterval,\n\t\tfullIntervalList,\n\t\toverlapItems: selectedItems,\n\t\tformat,\n\t\ttype,\n\t\tstateKey: ItemStateTypes.SELECTED,\n\t\tlocale,\n\t\tallowDuplicates,\n\t\tisoWeek,\n\t});\n\n\tif (mode === 'interval') {\n\t\tconst rangeItems = valuesToDates(selectedItems, format, locale, isoWeek);\n\t\tlet overlapItems = getOverlapItemsPerType(rangeItems, type);\n\t\titemsWithState = setStateToItems({\n\t\t\titems: itemsWithState,\n\t\t\tfirstDateIdx,\n\t\t\tfullInterval,\n\t\t\tfullIntervalList,\n\t\t\toverlapItems,\n\t\t\tformat,\n\t\t\ttype,\n\t\t\tstateKey: ItemStateTypes.RANGE,\n\t\t\tlocale,\n\t\t\tisoWeek,\n\t\t});\n\t}\n\n\treturn itemsWithState;\n}\n","import {\n\teachDayOfInterval,\n\tisWithinInterval,\n\tgetWeeksInMonth,\n\teachWeekOfInterval,\n\tlastDayOfWeek,\n\tgetDate,\n\tset,\n\tlastDayOfMonth,\n\tgetMonth,\n\tadd,\n\tsub,\n\tisEqual,\n\tcompareAsc,\n\tgetDay,\n\tgetWeek,\n\tgetISOWeek,\n\tstartOfWeek,\n} from 'date-fns';\nimport {DateTypes, localeContext, parseTZ} from '@servicenow/library-date-time';\nimport {setStates} from './set-states';\nimport {\n\tcreateDateItem,\n\tItemStateTypes,\n\tEndTimeData,\n\tStartTimeData,\n\tDateHeadingLabels,\n\tMonthLabels,\n\tgetIndexOfDate,\n\taddToDate,\n\tsubtractFromDate,\n\tWeekHeadingLabel,\n\tgetOverlapItemsPerType,\n} from '../utils';\n\nconst {ADJACENT} = ItemStateTypes;\nconst SUNDAY_IDX = 0;\nconst NUM_DAYS_IN_WEEK = 7;\n\n/**\n * Given a list and an index, reorder `items` so the item at `startIdx`\n * is first item in the list.\n */\nfunction reorderItems(items, startIdx) {\n\treturn [...items.slice(startIdx), ...items.slice(0, startIdx)];\n}\n\n/**\n * Returns date items for week day headings.\n */\nexport function getHeadings(firstDayOfWeek, locale, weekdayHeadings, type) {\n\tlet labels = DateHeadingLabels;\n\tlet headings = [];\n\n\tif (locale) {\n\t\tfor (let i = 0; i < 7; i++) {\n\t\t\theadings.push(locale.localize.day(i, {width: weekdayHeadings}));\n\t\t}\n\t} else {\n\t\theadings = DateHeadingLabels.map((label) =>\n\t\t\tlabel.slice(0, weekdayHeadings === 'short' ? 2 : 1),\n\t\t);\n\t}\n\n\tif (firstDayOfWeek !== SUNDAY_IDX) {\n\t\theadings = reorderItems(headings, firstDayOfWeek);\n\t\tlabels = reorderItems(labels, firstDayOfWeek);\n\t}\n\n\tif (type === DateTypes.WEEK_YEAR) headings.unshift(WeekHeadingLabel);\n\n\treturn headings.map((h, i) =>\n\t\tcreateDateItem(null, {label: h, a11yLabel: labels[i]}),\n\t);\n}\n\nfunction getDateOptions(d, isInInterval, type, isoWeek) {\n\treturn {\n\t\tlabel: getDate(d),\n\t\ta11yLabel: `${getDate(d)}, ${MonthLabels[getMonth(d)]}`,\n\t\t[ADJACENT]: !isInInterval,\n\t\tweek:\n\t\t\ttype === DateTypes.WEEK_YEAR\n\t\t\t\t? isoWeek\n\t\t\t\t\t? getISOWeek(d)\n\t\t\t\t\t: getWeek(d)\n\t\t\t\t: null,\n\t};\n}\n\n/**\n * Given a list of dates, where each date is the first day of each week in\n * a given month, expand it to a list of every day in the month, starting\n * with the first day of the first week, and ending with the last day\n * of the last week.\n */\nexport function getAllDaysInWeekIntervals(\n\tdateRef,\n\tactiveInterval,\n\tfirstDayOfWeek,\n\thideAdjacentDates,\n\tweekendDays,\n\ttype,\n\tisoWeek,\n) {\n\tconst weeksInMonth = eachWeekOfInterval(activeInterval, {\n\t\tweekStartsOn: firstDayOfWeek,\n\t});\n\tconst weeksLength = getWeeksInMonth(dateRef, {weekStartsOn: firstDayOfWeek});\n\n\tconst items = [];\n\tconst fullWeekendList = [];\n\n\tconst fullIntervalList = weeksInMonth.reduce((acc, weekStart, idx) => {\n\t\tconst firstWeekIdx = 0;\n\t\tconst lastWeekIdx = weeksLength - 1;\n\t\tconst weekEnd = lastDayOfWeek(weekStart, {\n\t\t\tweekStartsOn: firstDayOfWeek,\n\t\t});\n\t\tconst days = eachDayOfInterval(\n\t\t\t{start: weekStart, end: weekEnd},\n\t\t\t{weekStartsOn: firstDayOfWeek},\n\t\t);\n\n\t\tfullWeekendList.push(\n\t\t\t...days.filter((d) => {\n\t\t\t\treturn weekendDays.includes(getDay(d));\n\t\t\t}),\n\t\t);\n\n\t\t// if no 'overlapping days' between week and month, return `acc`\n\n\t\tif (idx === firstWeekIdx || idx === lastWeekIdx) {\n\t\t\tlet inclusiveDays = [];\n\n\t\t\tif (hideAdjacentDates && type !== DateTypes.WEEK_YEAR) {\n\t\t\t\titems.push(\n\t\t\t\t\t...days.map((d) => {\n\t\t\t\t\t\tconst isInInterval = isWithinInterval(d, activeInterval);\n\n\t\t\t\t\t\tif (isInInterval) {\n\t\t\t\t\t\t\tinclusiveDays.push(d);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn isInInterval\n\t\t\t\t\t\t\t? createDateItem(\n\t\t\t\t\t\t\t\t\td,\n\t\t\t\t\t\t\t\t\tgetDateOptions(d, isInInterval, type, isoWeek),\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t: {};\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tinclusiveDays = days;\n\t\t\t\titems.push(\n\t\t\t\t\t...days.map((d) => {\n\t\t\t\t\t\tconst isInInterval = isWithinInterval(d, activeInterval);\n\t\t\t\t\t\treturn createDateItem(\n\t\t\t\t\t\t\td,\n\t\t\t\t\t\t\tgetDateOptions(d, isInInterval, type, isoWeek),\n\t\t\t\t\t\t);\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn [...acc, ...inclusiveDays];\n\t\t} else {\n\t\t\titems.push(\n\t\t\t\t...days.map((d) =>\n\t\t\t\t\tcreateDateItem(d, getDateOptions(d, true, type, isoWeek)),\n\t\t\t\t),\n\t\t\t);\n\n\t\t\treturn [...acc, ...days];\n\t\t}\n\t}, []);\n\n\treturn {items, fullIntervalList, fullWeekendList};\n}\n\nfunction getOverlapValues(dateRef, type, flag) {\n\tswitch (type) {\n\t\tcase DateTypes.DATE:\n\t\tcase DateTypes.MONTH:\n\t\tcase DateTypes.YEAR:\n\t\tcase DateTypes.QUARTER:\n\t\tcase DateTypes.WEEK_YEAR:\n\t\t\treturn dateRef;\n\t\tdefault:\n\t\t\treturn flag === 'end' ? sub(dateRef, {days: 1}) : add(dateRef, {days: 1});\n\t}\n}\n/**\n * Given a date interval, which is an object representing dates,\n * return its overlapping dates with the full interval.\n */\nfunction getOverlapDaysOfInterval({\n\tinputDateInterval,\n\tfullInterval,\n\tformat,\n\ttype,\n\tlocale,\n\tisoWeek,\n}) {\n\tconst {start: intervalStart, end: intervalEnd} = fullInterval;\n\tconst isDateTimeFormat = type === DateTypes.DATE_TIME;\n\tconst isWeekFormat = type === DateTypes.WEEK_YEAR;\n\tlet overlapStart = intervalStart;\n\tlet overlapEnd = intervalEnd;\n\n\tif (inputDateInterval?.before) {\n\t\tconst beforeDateRef = parseTZ(\n\t\t\tinputDateInterval.before,\n\t\t\tformat,\n\t\t\tnew Date(),\n\t\t\tisWeekFormat && isoWeek\n\t\t\t\t? {weekStartsOn: 1, locale}\n\t\t\t\t: {\n\t\t\t\t\t\tlocale,\n\t\t\t\t\t},\n\t\t);\n\n\t\tif (isDateTimeFormat) beforeDateRef.setHours(0, 0, 0, 0);\n\t\tif (compareAsc(beforeDateRef, intervalStart) <= 0) return [];\n\t\tif (compareAsc(beforeDateRef, intervalEnd) <= 0) {\n\t\t\toverlapEnd = subtractFromDate(beforeDateRef, type, 1);\n\t\t}\n\t} else if (inputDateInterval?.after) {\n\t\tconst afterDateRef = parseTZ(\n\t\t\tinputDateInterval.after,\n\t\t\tformat,\n\t\t\tnew Date(),\n\t\t\tisWeekFormat && isoWeek\n\t\t\t\t? {weekStartsOn: 1, locale}\n\t\t\t\t: {\n\t\t\t\t\t\tlocale,\n\t\t\t\t\t},\n\t\t);\n\n\t\tif (isDateTimeFormat) afterDateRef.setHours(0, 0, 0, 0);\n\t\tif (compareAsc(afterDateRef, intervalEnd) >= 0) return [];\n\t\tif (compareAsc(afterDateRef, intervalStart) >= 0) {\n\t\t\toverlapStart = addToDate(afterDateRef, type, 1);\n\t\t}\n\t} else if (\n\t\t(inputDateInterval?.start && inputDateInterval?.end) ||\n\t\tinputDateInterval?.value\n\t) {\n\t\tlet startDateRef, endDateRef;\n\t\tif (inputDateInterval?.value && isWeekFormat) {\n\t\t\tstartDateRef = startOfWeek(\n\t\t\t\tparseTZ(\n\t\t\t\t\tinputDateInterval.value,\n\t\t\t\t\tformat,\n\t\t\t\t\tnew Date(),\n\t\t\t\t\tisoWeek\n\t\t\t\t\t\t? {weekStartsOn: 1, locale}\n\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\tlocale,\n\t\t\t\t\t\t\t},\n\t\t\t\t),\n\t\t\t\tisoWeek ? {weekStartsOn: 1} : {},\n\t\t\t);\n\t\t\tendDateRef = lastDayOfWeek(\n\t\t\t\tparseTZ(\n\t\t\t\t\tinputDateInterval.value,\n\t\t\t\t\tformat,\n\t\t\t\t\tnew Date(),\n\t\t\t\t\tisoWeek\n\t\t\t\t\t\t? {weekStartsOn: 1, locale}\n\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\tlocale,\n\t\t\t\t\t\t\t},\n\t\t\t\t),\n\t\t\t\tisoWeek ? {weekStartsOn: 1} : {},\n\t\t\t);\n\t\t} else {\n\t\t\tstartDateRef = parseTZ(\n\t\t\t\tinputDateInterval.start,\n\t\t\t\tformat,\n\t\t\t\tnew Date(),\n\t\t\t\tisoWeek && isWeekFormat\n\t\t\t\t\t? {weekStartsOn: 1, locale}\n\t\t\t\t\t: {\n\t\t\t\t\t\t\tlocale,\n\t\t\t\t\t\t},\n\t\t\t);\n\t\t\tendDateRef = isWeekFormat\n\t\t\t\t? lastDayOfWeek(\n\t\t\t\t\t\tparseTZ(\n\t\t\t\t\t\t\tinputDateInterval.end,\n\t\t\t\t\t\t\tformat,\n\t\t\t\t\t\t\tnew Date(),\n\t\t\t\t\t\t\tisoWeek\n\t\t\t\t\t\t\t\t? {weekStartsOn: 1, locale, useAdditionalWeekYearTokens: true}\n\t\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\t\tlocale,\n\t\t\t\t\t\t\t\t\t\tuseAdditionalWeekYearTokens: true,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t),\n\t\t\t\t\t\tisoWeek ? {weekStartsOn: 1} : {},\n\t\t\t\t\t)\n\t\t\t\t: parseTZ(inputDateInterval.end, format, new Date(), {\n\t\t\t\t\t\tlocale,\n\t\t\t\t\t});\n\t\t}\n\n\t\tif (isDateTimeFormat) {\n\t\t\tstartDateRef.setHours(0, 0, 0, 0);\n\t\t\tendDateRef.setHours(0, 0, 0, 0);\n\t\t}\n\t\tif (\n\t\t\tstartDateRef > intervalEnd ||\n\t\t\tendDateRef < intervalStart ||\n\t\t\t(isDateTimeFormat &&\n\t\t\t\t(isEqual(startDateRef, intervalEnd) ||\n\t\t\t\t\tisEqual(endDateRef, intervalStart) ||\n\t\t\t\t\tisEqual(startDateRef, endDateRef)))\n\t\t) {\n\t\t\treturn [];\n\t\t}\n\n\t\tif (compareAsc(startDateRef, intervalStart) >= 0) {\n\t\t\toverlapStart = getOverlapValues(startDateRef, type, 'start');\n\t\t}\n\t\tif (compareAsc(endDateRef, intervalEnd) <= 0) {\n\t\t\toverlapEnd = getOverlapValues(endDateRef, type, 'end');\n\t\t}\n\t}\n\tconst overlap = [overlapStart, overlapEnd];\n\treturn getOverlapItemsPerType(overlap, type);\n}\n\n/**\n * Returns the disabled date list of an interval.\n */\nexport function getDisabledDaysOfInterval({\n\tdisabledItems,\n\tfullInterval,\n\tdisableWeekends,\n\tfullWeekendList,\n\tformat,\n\ttype,\n\tlocale,\n\tisoWeek,\n}) {\n\tlet disabledItemsList = disabledItems.reduce((acc, item) => {\n\t\tif (item?.value && type !== DateTypes.WEEK_YEAR) {\n\t\t\treturn type !== DateTypes.DATE_TIME\n\t\t\t\t? [...acc, parseTZ(item.value, format, new Date(), {locale})]\n\t\t\t\t: acc;\n\t\t}\n\t\treturn [\n\t\t\t...acc,\n\t\t\t...getOverlapDaysOfInterval({\n\t\t\t\tinputDateInterval: item,\n\t\t\t\tfullInterval,\n\t\t\t\tformat,\n\t\t\t\ttype,\n\t\t\t\tlocale,\n\t\t\t\tisoWeek,\n\t\t\t}),\n\t\t];\n\t}, []);\n\n\tif (disableWeekends) disabledItemsList.push(...fullWeekendList);\n\n\t//Remove duplicate dates\n\treturn disabledItemsList.filter(\n\t\t(date, i, array) => getIndexOfDate(date, array, DateTypes.DATE) === i,\n\t);\n}\n\n/**\n * Build items for the 'date' calendar type.\n * Return the items chunked into groups at the length of a week (7).\n */\nexport function getDateItems(dateRef, properties, {[localeContext]: locale}) {\n\tconst {\n\t\tselectedItems,\n\t\tmode,\n\t\tdisabledItems,\n\t\tformat,\n\t\tfirstDayOfWeek,\n\t\thideAdjacentDates,\n\t\ttype,\n\t\tdisableWeekends,\n\t\tweekendDays,\n\t\tallowDuplicates,\n\t\tweekdayHeadings,\n\t\tisoWeek,\n\t} = properties;\n\tconst $firstDayOfWeek =\n\t\ttype === DateTypes.WEEK_YEAR ? (isoWeek ? 1 : 0) : firstDayOfWeek;\n\tconst start = set(dateRef, {\n\t\tdate: 1,\n\t\t...StartTimeData,\n\t});\n\tconst end = set(dateRef, {\n\t\tdate: getDate(lastDayOfMonth(dateRef)),\n\t\t...EndTimeData,\n\t});\n\tconst activeInterval = {start, end};\n\n\tlet {items, fullIntervalList, fullWeekendList} = getAllDaysInWeekIntervals(\n\t\tdateRef,\n\t\tactiveInterval,\n\t\t$firstDayOfWeek,\n\t\thideAdjacentDates,\n\t\tweekendDays,\n\t\ttype,\n\t);\n\tconst fullInterval = {\n\t\tstart: fullIntervalList[0],\n\t\tend: fullIntervalList[fullIntervalList.length - 1],\n\t};\n\n\tconst fullDisabledList = getDisabledDaysOfInterval({\n\t\tdisabledItems,\n\t\tfullInterval,\n\t\tdisableWeekends,\n\t\tfullWeekendList,\n\t\tformat,\n\t\ttype,\n\t\tlocale,\n\t});\n\n\tconst firstDateIdx = items.findIndex((item) => !!item.date);\n\titems = setStates({\n\t\titems,\n\t\tfirstDateIdx,\n\t\tfullInterval,\n\t\tfullIntervalList,\n\t\tselectedItems,\n\t\tdisabledItems: fullDisabledList,\n\t\tformat,\n\t\ttype,\n\t\tlocale,\n\t\tmode,\n\t\tallowDuplicates,\n\t});\n\n\titems.unshift(...getHeadings($firstDayOfWeek, locale, weekdayHeadings));\n\tconst dateItems = [];\n\tfor (let i = 0; i < items.length; i += NUM_DAYS_IN_WEEK) {\n\t\tdateItems.push(items.slice(i, i + NUM_DAYS_IN_WEEK));\n\t}\n\treturn dateItems;\n}\n","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name eachMonthOfInterval\n * @category Interval Helpers\n * @summary Return the array of months within the specified time interval.\n *\n * @description\n * Return the array of months within the specified time interval.\n *\n * @param {Interval} interval - the interval. See [Interval]{@link https://date-fns.org/docs/Interval}\n * @returns {Date[]} the array with starts of months from the month of the interval start to the month of the interval end\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} The start of an interval cannot be after its end\n * @throws {RangeError} Date in interval cannot be `Invalid Date`\n *\n * @example\n * // Each month between 6 February 2014 and 10 August 2014:\n * const result = eachMonthOfInterval({\n *   start: new Date(2014, 1, 6),\n *   end: new Date(2014, 7, 10)\n * })\n * //=> [\n * //   Sat Feb 01 2014 00:00:00,\n * //   Sat Mar 01 2014 00:00:00,\n * //   Tue Apr 01 2014 00:00:00,\n * //   Thu May 01 2014 00:00:00,\n * //   Sun Jun 01 2014 00:00:00,\n * //   Tue Jul 01 2014 00:00:00,\n * //   Fri Aug 01 2014 00:00:00\n * // ]\n */\nexport default function eachMonthOfInterval(dirtyInterval) {\n  requiredArgs(1, arguments);\n  var interval = dirtyInterval || {};\n  var startDate = toDate(interval.start);\n  var endDate = toDate(interval.end);\n  var endTime = endDate.getTime();\n  var dates = [];\n\n  // Throw an exception if start date is after end date or if any date is `Invalid Date`\n  if (!(startDate.getTime() <= endTime)) {\n    throw new RangeError('Invalid interval');\n  }\n  var currentDate = startDate;\n  currentDate.setHours(0, 0, 0, 0);\n  currentDate.setDate(1);\n  while (currentDate.getTime() <= endTime) {\n    dates.push(toDate(currentDate));\n    currentDate.setMonth(currentDate.getMonth() + 1);\n  }\n  return dates;\n}","import {eachMonthOfInterval, set, format as dateFnsFormat} from 'date-fns';\nimport {DateTypes, localeContext} from '@servicenow/library-date-time';\nimport {setStates} from './set-states';\nimport {createDateItem, EndTimeData, StartTimeData} from '../utils';\nimport {STANDALONE_MONTH_FORMAT, STANDALONE_MONTH_LONG_FORMAT} from '../utils';\nimport {getDisabledDaysOfInterval} from './get-date-items';\n\nexport function getMonthItems(\n\tdateRef,\n\t{\n\t\tproperties: {selectedItems, disabledItems, format, type, mode},\n\t\tcontext: {[localeContext]: locale},\n\t},\n) {\n\tconst start = set(dateRef, {\n\t\tmonth: 0,\n\t\tdate: 1,\n\t\t...StartTimeData,\n\t});\n\tconst end = set(dateRef, {\n\t\tmonth: 11,\n\t\tdate: 31,\n\t\t...EndTimeData,\n\t});\n\tconst baseInterval = {start, end};\n\tconst intervalList = eachMonthOfInterval({start, end});\n\tlet items = intervalList.map((d) =>\n\t\tcreateDateItem(d, {\n\t\t\tlabel: dateFnsFormat(d, STANDALONE_MONTH_FORMAT, {locale}),\n\t\t\ta11yLabel: dateFnsFormat(d, STANDALONE_MONTH_LONG_FORMAT, {locale}),\n\t\t}),\n\t);\n\tconst fullInterval = {\n\t\tstart: intervalList[0],\n\t\tend: intervalList[intervalList.length - 1],\n\t};\n\n\t//Disable the month/s only if the actual calendar is of the type `month`\n\tconst fullDisabledList =\n\t\ttype === DateTypes.MONTH\n\t\t\t? getDisabledDaysOfInterval({\n\t\t\t\t\tdisabledItems,\n\t\t\t\t\tfullInterval,\n\t\t\t\t\tintervalList,\n\t\t\t\t\tformat,\n\t\t\t\t\ttype,\n\t\t\t\t\tlocale,\n\t\t\t\t})\n\t\t\t: [];\n\n\titems = setStates({\n\t\titems,\n\t\tfirstDateIdx: 0,\n\t\tfullInterval: baseInterval,\n\t\tfullIntervalList: intervalList,\n\t\tselectedItems,\n\t\tdisabledItems: fullDisabledList,\n\t\tformat,\n\t\ttype: DateTypes.MONTH,\n\t\tlocale,\n\t\tmode,\n\t});\n\tconst monthItems = [];\n\tfor (let i = 0; i < items.length; i += 3) {\n\t\tmonthItems.push(items.slice(i, i + 3));\n\t}\n\treturn monthItems;\n}\n","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name eachYearOfInterval\n * @category Interval Helpers\n * @summary Return the array of yearly timestamps within the specified time interval.\n *\n * @description\n * Return the array of yearly timestamps within the specified time interval.\n *\n * @param {Interval} interval - the interval. See [Interval]{@link https://date-fns.org/docs/Interval}\n * @returns {Date[]} the array with starts of yearly timestamps from the month of the interval start to the month of the interval end\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} The start of an interval cannot be after its end\n * @throws {RangeError} Date in interval cannot be `Invalid Date`\n *\n * @example\n * // Each year between 6 February 2014 and 10 August 2017:\n * const result = eachYearOfInterval({\n *   start: new Date(2014, 1, 6),\n *   end: new Date(2017, 7, 10)\n * })\n * //=> [\n * //   Wed Jan 01 2014 00:00:00,\n * //   Thu Jan 01 2015 00:00:00,\n * //   Fri Jan 01 2016 00:00:00,\n * //   Sun Jan 01 2017 00:00:00\n * // ]\n */\nexport default function eachYearOfInterval(dirtyInterval) {\n  requiredArgs(1, arguments);\n  var interval = dirtyInterval || {};\n  var startDate = toDate(interval.start);\n  var endDate = toDate(interval.end);\n  var endTime = endDate.getTime();\n\n  // Throw an exception if start date is after end date or if any date is `Invalid Date`\n  if (!(startDate.getTime() <= endTime)) {\n    throw new RangeError('Invalid interval');\n  }\n  var dates = [];\n  var currentDate = startDate;\n  currentDate.setHours(0, 0, 0, 0);\n  currentDate.setMonth(0, 1);\n  while (currentDate.getTime() <= endTime) {\n    dates.push(toDate(currentDate));\n    currentDate.setFullYear(currentDate.getFullYear() + 1);\n  }\n  return dates;\n}","import {set, eachYearOfInterval, getYear} from 'date-fns';\nimport {DateTypes, localeContext} from '@servicenow/library-date-time';\nimport {setStates} from './set-states';\nimport {createDateItem, EndTimeData, StartTimeData} from '../utils';\nimport {getDisabledDaysOfInterval} from './get-date-items';\n\nconst today = new Date();\nconst currentYear = getYear(today);\n\nexport function getYearItems({\n\tproperties: {selectedItems, disabledItems, format, type, mode, yearRange},\n\tcontext: {[localeContext]: locale},\n}) {\n\tconst baseInterval = {\n\t\tstart: set(today, {\n\t\t\tyear: yearRange?.relative\n\t\t\t\t? currentYear + yearRange.start\n\t\t\t\t: yearRange.start,\n\t\t\tmonth: 0,\n\t\t\tdate: 1,\n\t\t\t...StartTimeData,\n\t\t}),\n\t\tend: set(today, {\n\t\t\tyear: yearRange?.relative ? currentYear + yearRange.end : yearRange.end,\n\t\t\tmonth: 11,\n\t\t\tdate: 31,\n\t\t\t...EndTimeData,\n\t\t}),\n\t};\n\n\tconst intervalList = eachYearOfInterval(baseInterval);\n\tlet items = intervalList.map((d) => createDateItem(d, {label: getYear(d)}));\n\tconst fullInterval = {\n\t\tstart: intervalList[0],\n\t\tend: intervalList[intervalList.length - 1],\n\t};\n\n\t//Disable the year/s only if the actual calendar is of the type `year`\n\tconst fullDisabledList =\n\t\ttype === DateTypes.YEAR\n\t\t\t? getDisabledDaysOfInterval({\n\t\t\t\t\tdisabledItems,\n\t\t\t\t\tfullInterval,\n\t\t\t\t\tintervalList,\n\t\t\t\t\tformat,\n\t\t\t\t\ttype,\n\t\t\t\t\tlocale,\n\t\t\t\t})\n\t\t\t: [];\n\titems = setStates({\n\t\titems,\n\t\tfirstDateIdx: 0,\n\t\tfullInterval: baseInterval,\n\t\tfullIntervalList: intervalList,\n\t\tselectedItems,\n\t\tdisabledItems: fullDisabledList,\n\t\tformat,\n\t\ttype: DateTypes.YEAR,\n\t\tlocale,\n\t\tmode,\n\t});\n\n\tconst yearItems = [];\n\tfor (let i = 0; i < items.length; i += 4) {\n\t\tyearItems.push(items.slice(i, i + 4));\n\t}\n\treturn yearItems;\n}\n","import {\n\teachWeekOfInterval,\n\tset,\n\tgetWeek,\n\tgetDate,\n\tlastDayOfMonth,\n\tgetISOWeek,\n} from 'date-fns';\nimport {DateTypes, localeContext} from '@servicenow/library-date-time';\nimport {setStates} from './set-states';\nimport {\n\tcreateDateItem,\n\tEndTimeData,\n\tStartTimeData,\n\tItemStateTypes,\n} from '../utils';\nimport {\n\tgetDisabledDaysOfInterval,\n\tgetAllDaysInWeekIntervals,\n\tgetHeadings,\n} from './get-date-items';\nimport {t} from 'sn-translate';\n\nconst {SELECTED, ADJACENT, TWEEN, DISABLED, NOW} = ItemStateTypes;\nconst NUM_DAYS_IN_WEEK = 7;\n\nexport function createWeekColumn(\n\titem,\n\tlocale,\n\tfirstDayOfWeek,\n\tdisableEntireWeek,\n\tisoWeek,\n) {\n\tconst dateItem = createDateItem(item.date, {\n\t\tlabel: isoWeek\n\t\t\t? getISOWeek(item.date)\n\t\t\t: getWeek(item.date, {\n\t\t\t\t\tweekStartsOn: firstDayOfWeek,\n\t\t\t\t\tlocale: locale,\n\t\t\t\t}),\n\t\ta11yLabel: isoWeek\n\t\t\t? `${t('Week')} ${getISOWeek(item.date)}. ${t('Starting ')} ${\n\t\t\t\t\titem.a11yLabel\n\t\t\t\t}`\n\t\t\t: `${t('Week')} ${getWeek(item.date, {\n\t\t\t\t\tweekStartsOn: firstDayOfWeek,\n\t\t\t\t\tlocale: locale,\n\t\t\t\t})}. ${t('Starting ')} ${item.a11yLabel}`,\n\t\tweek: true,\n\t\t[SELECTED]: item.selected,\n\t\t[ADJACENT]: item.adjacent,\n\t\t[NOW]: item.now,\n\t\t[TWEEN]: item.tween,\n\t\t[DISABLED]: disableEntireWeek,\n\t});\n\titem.selected = false; //week number and the adjacent date gets selected, so select only the week number\n\titem.now = false; //'now' gets added to the week number and the first day of the current week, so add 'now' to only the week number\n\treturn dateItem;\n}\nfunction getFirstDayOfWeek(type, firstDayOfWeek, isoWeek) {\n\tif (type === DateTypes.WEEK_YEAR) {\n\t\treturn isoWeek ? 1 : 0; // For ISO week, keep Monday as first day of the week\n\t}\n\treturn firstDayOfWeek;\n}\nexport function getWeekItems(\n\tdateRef,\n\t{\n\t\tproperties: {\n\t\t\tselectedItems,\n\t\t\tdisabledItems,\n\t\t\tformat,\n\t\t\ttype,\n\t\t\tmode,\n\t\t\tfirstDayOfWeek,\n\t\t\thideAdjacentDates,\n\t\t\tweekendDays,\n\t\t\tweekdayHeadings,\n\t\t\tdisableWeekends,\n\t\t\tisoWeek,\n\t\t},\n\t\tcontext: {[localeContext]: locale},\n\t},\n) {\n\t// ignore firstDayOfWeek for type week-year\n\tconst $firstDayOfWeek = getFirstDayOfWeek(type, firstDayOfWeek, isoWeek);\n\tconst start = set(dateRef, {\n\t\tdate: 1,\n\t\t...StartTimeData,\n\t});\n\tconst end = set(dateRef, {\n\t\tdate: getDate(lastDayOfMonth(dateRef)),\n\t\t...EndTimeData,\n\t});\n\tconst baseInterval = {start, end};\n\n\tlet {items, fullIntervalList, fullWeekendList} = getAllDaysInWeekIntervals(\n\t\tdateRef,\n\t\tbaseInterval,\n\t\t$firstDayOfWeek,\n\t\thideAdjacentDates,\n\t\tweekendDays,\n\t\ttype,\n\t\tisoWeek,\n\t);\n\n\tconst fullInterval = {\n\t\tstart: fullIntervalList[0],\n\t\tend: fullIntervalList[fullIntervalList.length - 1],\n\t};\n\n\tconst fullDisabledList = getDisabledDaysOfInterval({\n\t\tdisabledItems,\n\t\tfullInterval,\n\t\tdisableWeekends,\n\t\tfullWeekendList,\n\t\tformat,\n\t\ttype,\n\t\tlocale,\n\t\tisoWeek,\n\t});\n\n\titems = setStates({\n\t\titems,\n\t\tfirstDateIdx: 0,\n\t\tfullInterval,\n\t\tfullIntervalList,\n\t\tselectedItems,\n\t\tdisabledItems: fullDisabledList,\n\t\tformat,\n\t\ttype: DateTypes.WEEK_YEAR,\n\t\tlocale,\n\t\tmode,\n\t\tisoWeek,\n\t});\n\n\tconst weeksInMonth = eachWeekOfInterval(baseInterval, {\n\t\tweekStartsOn: $firstDayOfWeek,\n\t});\n\n\t//Group items based on the week number\n\tconst groupItemsByWeek = items.reduce((group, arr) => {\n\t\tconst {week} = arr;\n\t\tgroup[week] = group[week] ?? [];\n\t\tif (arr.disabled) group[week].push(arr);\n\t\treturn group;\n\t}, {});\n\n\titems.unshift(...getHeadings($firstDayOfWeek, locale, weekdayHeadings, type));\n\n\tconst dateItems = [];\n\tfor (let i = 0; i < items.length; i += 8) {\n\t\tif (i === 0) {\n\t\t\tdateItems.push(items.slice(i, i + 8));\n\t\t\tcontinue;\n\t\t}\n\t\tweeksInMonth.find((week) => {\n\t\t\tif (week.getTime() === items[i].date.getTime()) {\n\t\t\t\tconst getDisabledItemsInWeek = groupItemsByWeek[items[i].week];\n\t\t\t\tconst disableEntireWeek =\n\t\t\t\t\tgetDisabledItemsInWeek.length === NUM_DAYS_IN_WEEK;\n\t\t\t\titems.splice(\n\t\t\t\t\ti,\n\t\t\t\t\t0,\n\t\t\t\t\tcreateWeekColumn(\n\t\t\t\t\t\titems[i],\n\t\t\t\t\t\tlocale,\n\t\t\t\t\t\t$firstDayOfWeek,\n\t\t\t\t\t\tdisableEntireWeek,\n\t\t\t\t\t\tisoWeek,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t});\n\t\tdateItems.push(items.slice(i, i + 8));\n\t}\n\treturn dateItems;\n}\n","import { millisecondsInHour, millisecondsInMinute } from \"../constants/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name parseISO\n * @category Common Helpers\n * @summary Parse ISO string\n *\n * @description\n * Parse the given string in ISO 8601 format and return an instance of Date.\n *\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n *\n * If the argument isn't a string, the function cannot parse the string or\n * the values are invalid, it returns Invalid Date.\n *\n * @param {String} argument - the value to convert\n * @param {Object} [options] - an object with options.\n * @param {0|1|2} [options.additionalDigits=2] - the additional number of digits in the extended year format\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * const result = parseISO('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert string '+02014101' to date,\n * // if the additional number of digits in the extended year format is 1:\n * const result = parseISO('+02014101', { additionalDigits: 1 })\n * //=> Fri Apr 11 2014 00:00:00\n */\nexport default function parseISO(argument, options) {\n  var _options$additionalDi;\n  requiredArgs(1, arguments);\n  var additionalDigits = toInteger((_options$additionalDi = options === null || options === void 0 ? void 0 : options.additionalDigits) !== null && _options$additionalDi !== void 0 ? _options$additionalDi : 2);\n  if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) {\n    throw new RangeError('additionalDigits must be 0, 1 or 2');\n  }\n  if (!(typeof argument === 'string' || Object.prototype.toString.call(argument) === '[object String]')) {\n    return new Date(NaN);\n  }\n  var dateStrings = splitDateString(argument);\n  var date;\n  if (dateStrings.date) {\n    var parseYearResult = parseYear(dateStrings.date, additionalDigits);\n    date = parseDate(parseYearResult.restDateString, parseYearResult.year);\n  }\n  if (!date || isNaN(date.getTime())) {\n    return new Date(NaN);\n  }\n  var timestamp = date.getTime();\n  var time = 0;\n  var offset;\n  if (dateStrings.time) {\n    time = parseTime(dateStrings.time);\n    if (isNaN(time)) {\n      return new Date(NaN);\n    }\n  }\n  if (dateStrings.timezone) {\n    offset = parseTimezone(dateStrings.timezone);\n    if (isNaN(offset)) {\n      return new Date(NaN);\n    }\n  } else {\n    var dirtyDate = new Date(timestamp + time);\n    // js parsed string assuming it's in UTC timezone\n    // but we need it to be parsed in our timezone\n    // so we use utc values to build date in our timezone.\n    // Year values from 0 to 99 map to the years 1900 to 1999\n    // so set year explicitly with setFullYear.\n    var result = new Date(0);\n    result.setFullYear(dirtyDate.getUTCFullYear(), dirtyDate.getUTCMonth(), dirtyDate.getUTCDate());\n    result.setHours(dirtyDate.getUTCHours(), dirtyDate.getUTCMinutes(), dirtyDate.getUTCSeconds(), dirtyDate.getUTCMilliseconds());\n    return result;\n  }\n  return new Date(timestamp + time + offset);\n}\nvar patterns = {\n  dateTimeDelimiter: /[T ]/,\n  timeZoneDelimiter: /[Z ]/i,\n  timezone: /([Z+-].*)$/\n};\nvar dateRegex = /^-?(?:(\\d{3})|(\\d{2})(?:-?(\\d{2}))?|W(\\d{2})(?:-?(\\d{1}))?|)$/;\nvar timeRegex = /^(\\d{2}(?:[.,]\\d*)?)(?::?(\\d{2}(?:[.,]\\d*)?))?(?::?(\\d{2}(?:[.,]\\d*)?))?$/;\nvar timezoneRegex = /^([+-])(\\d{2})(?::?(\\d{2}))?$/;\nfunction splitDateString(dateString) {\n  var dateStrings = {};\n  var array = dateString.split(patterns.dateTimeDelimiter);\n  var timeString;\n\n  // The regex match should only return at maximum two array elements.\n  // [date], [time], or [date, time].\n  if (array.length > 2) {\n    return dateStrings;\n  }\n  if (/:/.test(array[0])) {\n    timeString = array[0];\n  } else {\n    dateStrings.date = array[0];\n    timeString = array[1];\n    if (patterns.timeZoneDelimiter.test(dateStrings.date)) {\n      dateStrings.date = dateString.split(patterns.timeZoneDelimiter)[0];\n      timeString = dateString.substr(dateStrings.date.length, dateString.length);\n    }\n  }\n  if (timeString) {\n    var token = patterns.timezone.exec(timeString);\n    if (token) {\n      dateStrings.time = timeString.replace(token[1], '');\n      dateStrings.timezone = token[1];\n    } else {\n      dateStrings.time = timeString;\n    }\n  }\n  return dateStrings;\n}\nfunction parseYear(dateString, additionalDigits) {\n  var regex = new RegExp('^(?:(\\\\d{4}|[+-]\\\\d{' + (4 + additionalDigits) + '})|(\\\\d{2}|[+-]\\\\d{' + (2 + additionalDigits) + '})$)');\n  var captures = dateString.match(regex);\n  // Invalid ISO-formatted year\n  if (!captures) return {\n    year: NaN,\n    restDateString: ''\n  };\n  var year = captures[1] ? parseInt(captures[1]) : null;\n  var century = captures[2] ? parseInt(captures[2]) : null;\n\n  // either year or century is null, not both\n  return {\n    year: century === null ? year : century * 100,\n    restDateString: dateString.slice((captures[1] || captures[2]).length)\n  };\n}\nfunction parseDate(dateString, year) {\n  // Invalid ISO-formatted year\n  if (year === null) return new Date(NaN);\n  var captures = dateString.match(dateRegex);\n  // Invalid ISO-formatted string\n  if (!captures) return new Date(NaN);\n  var isWeekDate = !!captures[4];\n  var dayOfYear = parseDateUnit(captures[1]);\n  var month = parseDateUnit(captures[2]) - 1;\n  var day = parseDateUnit(captures[3]);\n  var week = parseDateUnit(captures[4]);\n  var dayOfWeek = parseDateUnit(captures[5]) - 1;\n  if (isWeekDate) {\n    if (!validateWeekDate(year, week, dayOfWeek)) {\n      return new Date(NaN);\n    }\n    return dayOfISOWeekYear(year, week, dayOfWeek);\n  } else {\n    var date = new Date(0);\n    if (!validateDate(year, month, day) || !validateDayOfYearDate(year, dayOfYear)) {\n      return new Date(NaN);\n    }\n    date.setUTCFullYear(year, month, Math.max(dayOfYear, day));\n    return date;\n  }\n}\nfunction parseDateUnit(value) {\n  return value ? parseInt(value) : 1;\n}\nfunction parseTime(timeString) {\n  var captures = timeString.match(timeRegex);\n  if (!captures) return NaN; // Invalid ISO-formatted time\n\n  var hours = parseTimeUnit(captures[1]);\n  var minutes = parseTimeUnit(captures[2]);\n  var seconds = parseTimeUnit(captures[3]);\n  if (!validateTime(hours, minutes, seconds)) {\n    return NaN;\n  }\n  return hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * 1000;\n}\nfunction parseTimeUnit(value) {\n  return value && parseFloat(value.replace(',', '.')) || 0;\n}\nfunction parseTimezone(timezoneString) {\n  if (timezoneString === 'Z') return 0;\n  var captures = timezoneString.match(timezoneRegex);\n  if (!captures) return 0;\n  var sign = captures[1] === '+' ? -1 : 1;\n  var hours = parseInt(captures[2]);\n  var minutes = captures[3] && parseInt(captures[3]) || 0;\n  if (!validateTimezone(hours, minutes)) {\n    return NaN;\n  }\n  return sign * (hours * millisecondsInHour + minutes * millisecondsInMinute);\n}\nfunction dayOfISOWeekYear(isoWeekYear, week, day) {\n  var date = new Date(0);\n  date.setUTCFullYear(isoWeekYear, 0, 4);\n  var fourthOfJanuaryDay = date.getUTCDay() || 7;\n  var diff = (week - 1) * 7 + day + 1 - fourthOfJanuaryDay;\n  date.setUTCDate(date.getUTCDate() + diff);\n  return date;\n}\n\n// Validation functions\n\n// February is null to handle the leap year (using ||)\nvar daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nfunction isLeapYearIndex(year) {\n  return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;\n}\nfunction validateDate(year, month, date) {\n  return month >= 0 && month <= 11 && date >= 1 && date <= (daysInMonths[month] || (isLeapYearIndex(year) ? 29 : 28));\n}\nfunction validateDayOfYearDate(year, dayOfYear) {\n  return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex(year) ? 366 : 365);\n}\nfunction validateWeekDate(_year, week, day) {\n  return week >= 1 && week <= 53 && day >= 0 && day <= 6;\n}\nfunction validateTime(hours, minutes, seconds) {\n  if (hours === 24) {\n    return minutes === 0 && seconds === 0;\n  }\n  return seconds >= 0 && seconds < 60 && minutes >= 0 && minutes < 60 && hours >= 0 && hours < 25;\n}\nfunction validateTimezone(_hours, minutes) {\n  return minutes >= 0 && minutes <= 59;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addMonths from \"../addMonths/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addQuarters\n * @category Quarter Helpers\n * @summary Add the specified number of year quarters to the given date.\n *\n * @description\n * Add the specified number of year quarters to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of quarters to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the quarters added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 1 quarter to 1 September 2014:\n * const result = addQuarters(new Date(2014, 8, 1), 1)\n * //=> Mon Dec 01 2014 00:00:00\n */\nexport default function addQuarters(dirtyDate, dirtyAmount) {\n  requiredArgs(2, arguments);\n  var amount = toInteger(dirtyAmount);\n  var months = amount * 3;\n  return addMonths(dirtyDate, months);\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfQuarter\n * @category Quarter Helpers\n * @summary Return the start of a year quarter for the given date.\n *\n * @description\n * Return the start of a year quarter for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a quarter\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a quarter for 2 September 2014 11:55:00:\n * const result = startOfQuarter(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Jul 01 2014 00:00:00\n */\nexport default function startOfQuarter(dirtyDate) {\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  var currentMonth = date.getMonth();\n  var month = currentMonth - currentMonth % 3;\n  date.setMonth(month, 1);\n  date.setHours(0, 0, 0, 0);\n  return date;\n}","import addQuarters from \"../addQuarters/index.js\";\nimport startOfQuarter from \"../startOfQuarter/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name eachQuarterOfInterval\n * @category Interval Helpers\n * @summary Return the array of quarters within the specified time interval.\n *\n * @description\n * Return the array of quarters within the specified time interval.\n *\n * @param {Interval} interval - the interval. See [Interval]{@link https://date-fns.org/docs/Interval}\n * @returns {Date[]} the array with starts of quarters from the quarter of the interval start to the quarter of the interval end\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} The start of an interval cannot be after its end\n * @throws {RangeError} Date in interval cannot be `Invalid Date`\n *\n * @example\n * // Each quarter within interval 6 February 2014 - 10 August 2014:\n * const result = eachQuarterOfInterval({\n *   start: new Date(2014, 1, 6),\n *   end: new Date(2014, 7, 10)\n * })\n * //=> [\n * //   Wed Jan 01 2014 00:00:00,\n * //   Tue Apr 01 2014 00:00:00,\n * //   Tue Jul 01 2014 00:00:00,\n * // ]\n */\nexport default function eachQuarterOfInterval(dirtyInterval) {\n  requiredArgs(1, arguments);\n  var interval = dirtyInterval || {};\n  var startDate = toDate(interval.start);\n  var endDate = toDate(interval.end);\n  var endTime = endDate.getTime();\n\n  // Throw an exception if start date is after end date or if any date is `Invalid Date`\n  if (!(startDate.getTime() <= endTime)) {\n    throw new RangeError('Invalid interval');\n  }\n  var startDateQuarter = startOfQuarter(startDate);\n  var endDateQuarter = startOfQuarter(endDate);\n  endTime = endDateQuarter.getTime();\n  var quarters = [];\n  var currentQuarter = startDateQuarter;\n  while (currentQuarter.getTime() <= endTime) {\n    quarters.push(toDate(currentQuarter));\n    currentQuarter = addQuarters(currentQuarter, 1);\n  }\n  return quarters;\n}","import {eachQuarterOfInterval, set, format as dateFnsFormat} from 'date-fns';\nimport {DateTypes, localeContext} from '@servicenow/library-date-time';\nimport {setStates} from './set-states';\nimport {createDateItem, EndTimeData, StartTimeData} from '../utils';\nimport {\n\tSTANDALONE_QUARTER_FORMAT,\n\tSTANDALONE_QUARTER_LONG_FORMAT,\n} from '../utils';\nimport {getDisabledDaysOfInterval} from './get-date-items';\n\nexport function getQuarterItems(\n\tdateRef,\n\t{\n\t\tproperties: {selectedItems, disabledItems, format, type, mode},\n\t\tcontext: {[localeContext]: locale},\n\t},\n) {\n\tconst start = set(dateRef, {\n\t\tmonth: 0,\n\t\tdate: 1,\n\t\t...StartTimeData,\n\t});\n\tconst end = set(dateRef, {\n\t\tmonth: 11,\n\t\tdate: 31,\n\t\t...EndTimeData,\n\t});\n\tconst baseInterval = {start, end};\n\tconst intervalList = eachQuarterOfInterval({start, end});\n\tlet items = intervalList.map((d) =>\n\t\tcreateDateItem(d, {\n\t\t\tlabel: dateFnsFormat(d, STANDALONE_QUARTER_FORMAT, {locale}),\n\t\t\ta11yLabel: dateFnsFormat(d, STANDALONE_QUARTER_LONG_FORMAT, {locale}),\n\t\t}),\n\t);\n\tconst fullInterval = {\n\t\tstart: intervalList[0],\n\t\tend: intervalList[intervalList.length - 1],\n\t};\n\n\tconst fullDisabledList = getDisabledDaysOfInterval({\n\t\tdisabledItems,\n\t\tfullInterval,\n\t\tintervalList,\n\t\tformat,\n\t\ttype,\n\t\tlocale,\n\t});\n\n\titems = setStates({\n\t\titems,\n\t\tfirstDateIdx: 0,\n\t\tfullInterval: baseInterval,\n\t\tfullIntervalList: intervalList,\n\t\tselectedItems,\n\t\tdisabledItems: fullDisabledList,\n\t\tformat,\n\t\ttype: DateTypes.QUARTER,\n\t\tlocale,\n\t\tmode,\n\t});\n\tconst quarterItems = [];\n\tfor (let i = 0; i < items.length; i += 4) {\n\t\tquarterItems.push(items.slice(i, i + 4));\n\t}\n\treturn quarterItems;\n}\n","import {parseISO, compareAsc} from 'date-fns';\nimport {DateTypes, localeContext, parseTZ} from '@servicenow/library-date-time';\nimport {DateActions} from '../utils';\nimport {getDateItems} from './get-date-items';\nimport {getMonthItems} from './get-month-items';\nimport {getWeekItems} from './get-week-items';\nimport {getYearItems} from './get-year-items';\nimport {getQuarterItems} from './get-quarter-items';\n\nfunction sortDates(a, b) {\n\treturn compareAsc(parseISO(a), parseISO(b));\n}\nfunction getDateFromRange(\n\tselectedItems,\n\trangeInitiator,\n\tformat,\n\tlocale,\n\tisoWeek,\n) {\n\t// if we only have a single item, or we're coming from start input (for interval) then take first item\n\t// else we have two items and we're coming from end input (for interval) then take the last item\n\tif (selectedItems.length === 1 || rangeInitiator === 'start') {\n\t\treturn parseTZ(selectedItems.sort(sortDates)[0], format, new Date(), {\n\t\t\tlocale,\n\t\t\tweekStartsOn: isoWeek ? 1 : 0,\n\t\t});\n\t}\n\treturn parseTZ(selectedItems.sort(sortDates)[1], format, new Date(), {\n\t\tlocale,\n\t});\n}\n\n/**\n * Given a configured `type`, returns a new `items` collection\n * to render in the date portion of the calendar.\n *\n * Can be used in one of two ways:\n * - Given an actionType, calls a predefined handler to create a\n *   specific Date reference.\n * - If there are selected dates given but no actions, then\n *   display the earliest selected item.\n * - If no actionType, returns items based on the current date.\n *\n * @param {Object} properties\n * @param {string} action\n * @param {*[]} actionArgs\n * @returns {[]}\n */\nexport function itemsReducer(properties, context, actionType, ...actionArgs) {\n\tconst {selectedItems, type, format, rangeInitiator, isoWeek} = properties;\n\tconst {[localeContext]: locale} = context;\n\tlet items, date;\n\tdate = new Date();\n\n\tif (DateTypes.YEAR === type) {\n\t\titems = getYearItems({properties, context});\n\t} else {\n\t\tif (actionType) {\n\t\t\tconst actionHandler = DateActions[actionType];\n\t\t\tconst paginatedDate = actionHandler(...actionArgs);\n\t\t\tdate = paginatedDate;\n\t\t} else if (properties?.focusDate) {\n\t\t\tdate = properties.focusDate;\n\t\t} else if (selectedItems.length) {\n\t\t\tdate = getDateFromRange(\n\t\t\t\tselectedItems,\n\t\t\t\trangeInitiator,\n\t\t\t\tformat,\n\t\t\t\tlocale,\n\t\t\t\tisoWeek,\n\t\t\t);\n\t\t} else {\n\t\t\tdate = new Date();\n\t\t}\n\n\t\tif ([DateTypes.DATE, DateTypes.DATE_TIME].includes(type)) {\n\t\t\titems = getDateItems(date, properties, context);\n\t\t} else if (DateTypes.MONTH === type) {\n\t\t\titems = getMonthItems(date, {properties, context});\n\t\t} else if (DateTypes.QUARTER === type) {\n\t\t\titems = getQuarterItems(date, {properties, context});\n\t\t} else if (DateTypes.WEEK_YEAR === type) {\n\t\t\titems = getWeekItems(date, {properties, context});\n\t\t}\n\t}\n\n\treturn items;\n}\n","import {\n\tgetYear,\n\tgetMonth,\n\tisBefore,\n\tcompareAsc,\n\tgetWeek,\n\tgetQuarter,\n} from 'date-fns';\n\nimport {isEmpty} from 'lodash';\nimport {getDateRef} from '../utils';\nimport {\n\tDateActionTypes,\n\tItemStateTypes,\n\tKeys,\n\tCALENDAR_DATE_LONG_FORMAT,\n\tCALENDAR_LABEL_FORMAT,\n\tSTANDALONE_YEAR_FORMAT,\n\tCALENDAR_QUARTER_LONG_FORMAT,\n\tSTANDALONE_WEEK_YEAR_FORMAT,\n} from './constants';\nimport {\n\tDateTypes,\n\tlocaleContext,\n\ttimezoneContext,\n\tparseTZ,\n\tformatTZ,\n} from '@servicenow/library-date-time';\nimport {\n\tisDirectionalKey,\n\tisPreviousKey,\n\tisNextKey,\n} from '@servicenow/library-enhanced-utils';\nimport {itemsReducer} from '../reducers';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {t} from 'sn-translate';\nconst {ARIA_LIVE_REGION_UPDATE_REQUESTED} = actionTypes;\n\nconst {ADJACENT} = ItemStateTypes;\n\nfunction applyTime(date, timeRef) {\n\tif (!timeRef) return date;\n\n\tdate.setHours(\n\t\ttimeRef.getHours(),\n\t\ttimeRef.getMinutes(),\n\t\ttimeRef.getSeconds(),\n\t\ttimeRef.getMilliseconds(),\n\t);\n\n\treturn date;\n}\n\nfunction handleZeroSelectedItems(\n\tselectedDate,\n\tariaMessageType,\n\t{context, properties, state},\n) {\n\tconst {timeRefStart, timeRefEnd} = state;\n\tconst {format, rangeInitiator} = properties;\n\tconst {[localeContext]: locale, [timezoneContext]: timezone} = context;\n\tlet updatedStart = undefined,\n\t\tupdatedEnd = undefined;\n\tconst dateFormat = getDateAnnouncementFormat(ariaMessageType);\n\tconst updatedSelectedItems = [];\n\tlet ariaLiveMessage = '';\n\n\tif (rangeInitiator === 'start') {\n\t\t// new ranged started; set the start value\n\t\tupdatedStart = applyTime(selectedDate, timeRefStart);\n\n\t\tupdatedSelectedItems.push(\n\t\t\tformatTZ(updatedStart, format, {locale, timezone}),\n\t\t\tundefined,\n\t\t);\n\t\tariaLiveMessage = t(\n\t\t\t`Start ${ariaMessageType} selected is {0}. Select an end ${ariaMessageType}.`,\n\t\t\tformatTZ(updatedStart, dateFormat, {locale, timezone}),\n\t\t);\n\t} else {\n\t\t// new ranged started; set the end value\n\t\tupdatedEnd = applyTime(selectedDate, timeRefEnd);\n\n\t\tupdatedSelectedItems.push(\n\t\t\tundefined,\n\t\t\tformatTZ(updatedEnd, format, {locale, timezone}),\n\t\t);\n\t\tariaLiveMessage = t(\n\t\t\t`End ${ariaMessageType} selected is {0}. Select a start ${ariaMessageType}.`,\n\t\t\tformatTZ(updatedEnd, dateFormat, {locale, timezone}),\n\t\t);\n\t}\n\treturn {\n\t\titems: updatedSelectedItems,\n\t\tmessage: ariaLiveMessage,\n\t};\n}\n\nfunction handleOneSelectedItems(\n\tselectedDate,\n\tariaMessageType,\n\t{context, properties, state},\n) {\n\tconst {timeRefStart, timeRefEnd} = state;\n\tconst {format, rangeInitiator, selectedItems, allowDuplicates} = properties;\n\tconst {[localeContext]: locale, [timezoneContext]: timezone} = context;\n\tlet updatedStart = undefined,\n\t\tupdatedEnd = undefined,\n\t\tstartDate,\n\t\tendDate;\n\tconst dateFormat = getDateAnnouncementFormat(ariaMessageType);\n\tconst updatedSelectedItems = [];\n\tlet ariaLiveMessage = '';\n\tconst initial = parseTZ(selectedItems[0], format, new Date(), {locale});\n\n\tif (compareAsc(initial, selectedDate) === 0 && !allowDuplicates) return;\n\n\tif (rangeInitiator === 'start') {\n\t\tif (\n\t\t\tcompareAsc(selectedDate, initial) === 1 ||\n\t\t\t(allowDuplicates && compareAsc(selectedDate, initial) === 0)\n\t\t) {\n\t\t\t// new range; selected item is AFTER existing start value\n\t\t\tupdatedEnd = applyTime(selectedDate, timeRefEnd);\n\n\t\t\tupdatedSelectedItems.push(\n\t\t\t\tformatTZ(applyTime(initial, timeRefStart), format, {locale, timezone}),\n\t\t\t\tformatTZ(updatedEnd, format, {locale, timezone}),\n\t\t\t);\n\t\t\tariaLiveMessage = t(\n\t\t\t\t`End ${ariaMessageType} selected is {0}.`,\n\t\t\t\tformatTZ(updatedEnd, dateFormat, {locale, timezone}),\n\t\t\t);\n\t\t} else {\n\t\t\t// new range; selected item is BEFORE existing start value; swap start and end\n\t\t\tendDate = selectedItems[0];\n\t\t\tendDate = parseTZ(endDate, format, new Date(), {locale});\n\t\t\tupdatedStart = applyTime(selectedDate, timeRefStart);\n\t\t\tupdatedEnd = applyTime(endDate, timeRefEnd);\n\n\t\t\tupdatedSelectedItems.push(\n\t\t\t\tformatTZ(updatedStart, format, {locale, timezone}),\n\t\t\t\tformatTZ(updatedEnd, format, {locale, timezone}),\n\t\t\t);\n\t\t\tariaLiveMessage = t(\n\t\t\t\t`Start ${ariaMessageType} selected is {0}. End ${ariaMessageType} selected is {1}.`,\n\t\t\t\tformatTZ(updatedStart, dateFormat, {locale, timezone}),\n\t\t\t\tformatTZ(updatedEnd, dateFormat, {locale, timezone}),\n\t\t\t);\n\t\t}\n\t} else {\n\t\tif (\n\t\t\tcompareAsc(initial, selectedDate) === 1 ||\n\t\t\t(allowDuplicates && compareAsc(initial, selectedDate) === 0)\n\t\t) {\n\t\t\t// new range; selected item is BEFORE end value\n\t\t\tupdatedStart = applyTime(selectedDate, timeRefStart);\n\n\t\t\tupdatedSelectedItems.push(\n\t\t\t\tformatTZ(updatedStart, format, {locale, timezone}),\n\t\t\t\tformatTZ(applyTime(initial, timeRefEnd), format, {locale, timezone}),\n\t\t\t);\n\t\t\tariaLiveMessage = t(\n\t\t\t\t`Start ${ariaMessageType} selected is {0}`,\n\t\t\t\tformatTZ(updatedStart, dateFormat, {locale, timezone}),\n\t\t\t);\n\t\t} else {\n\t\t\t// new range; selected item is AFTER end value; swap start and end\n\t\t\tstartDate = selectedItems[0];\n\t\t\tstartDate = parseTZ(startDate, format, new Date(), {locale});\n\t\t\tupdatedStart = applyTime(startDate, timeRefStart);\n\t\t\tupdatedEnd = applyTime(selectedDate, timeRefEnd);\n\n\t\t\tupdatedSelectedItems.push(\n\t\t\t\tformatTZ(updatedStart, format, {locale, timezone}),\n\t\t\t\tformatTZ(updatedEnd, format, {locale, timezone}),\n\t\t\t);\n\t\t\tariaLiveMessage = t(\n\t\t\t\t`End ${ariaMessageType} selected is {0}. Start ${ariaMessageType} selected is {1}.`,\n\t\t\t\tformatTZ(updatedEnd, dateFormat, {locale, timezone}),\n\t\t\t\tformatTZ(updatedStart, dateFormat, {locale, timezone}),\n\t\t\t);\n\t\t}\n\t}\n\treturn {\n\t\titems: updatedSelectedItems,\n\t\tmessage: ariaLiveMessage,\n\t};\n}\n\nfunction handleManySelectedItems(\n\tselectedDate,\n\tariaMessageType,\n\t{context, properties, state},\n) {\n\tconst {timeRefStart, timeRefEnd} = state;\n\tconst {format, rangeInitiator, selectedItems, allowDuplicates} = properties;\n\tconst {[localeContext]: locale, [timezoneContext]: timezone} = context;\n\tlet updatedStart, updatedEnd, start, end;\n\tconst dateFormat = getDateAnnouncementFormat(ariaMessageType);\n\tconst updatedSelectedItems = [];\n\tlet ariaLiveMessage = '';\n\n\tif (rangeInitiator === 'start') {\n\t\tend = parseTZ(selectedItems[1], format, new Date(), {locale});\n\t\tupdatedStart = applyTime(selectedDate, timeRefStart);\n\n\t\tif (\n\t\t\tcompareAsc(end, selectedDate) === 1 ||\n\t\t\t(compareAsc(end, selectedDate) === 0 && allowDuplicates)\n\t\t) {\n\t\t\t// existing range; selected item is BEFORE end value\n\t\t\tupdatedSelectedItems.push(\n\t\t\t\tformatTZ(updatedStart, format, {locale, timezone}),\n\t\t\t\tformatTZ(applyTime(end, timeRefEnd), format, {locale, timezone}),\n\t\t\t);\n\t\t\tariaLiveMessage = t(\n\t\t\t\t`Start ${ariaMessageType} selected is {0}.`,\n\t\t\t\tformatTZ(updatedStart, dateFormat, {locale, timezone}),\n\t\t\t);\n\t\t} else {\n\t\t\t// existing range; selected item is AFTER end value, set new start value, zero end value\n\t\t\tupdatedSelectedItems.push(\n\t\t\t\tformatTZ(updatedStart, format, {locale, timezone}),\n\t\t\t\tundefined,\n\t\t\t);\n\t\t\tariaLiveMessage = t(\n\t\t\t\t`Start ${ariaMessageType} selected is {0}. Select an end ${ariaMessageType}.`,\n\t\t\t\tformatTZ(updatedStart, dateFormat, {locale, timezone}),\n\t\t\t);\n\t\t}\n\t} else {\n\t\tstart = parseTZ(selectedItems[0], format, new Date(), {locale});\n\t\tupdatedEnd = applyTime(selectedDate, timeRefEnd);\n\n\t\tif (\n\t\t\tcompareAsc(selectedDate, start) === 1 ||\n\t\t\t(compareAsc(selectedDate, start) === 0 && allowDuplicates)\n\t\t) {\n\t\t\t// existing range; selected item is AFTER start value\n\t\t\tupdatedSelectedItems.push(\n\t\t\t\tformatTZ(applyTime(start, timeRefStart), format, {locale, timezone}),\n\t\t\t\tformatTZ(updatedEnd, format, {locale, timezone}),\n\t\t\t);\n\t\t\tariaLiveMessage = t(\n\t\t\t\t`End ${ariaMessageType} selected is {0}`,\n\t\t\t\tformatTZ(updatedEnd, dateFormat, {locale, timezone}),\n\t\t\t);\n\t\t} else {\n\t\t\tupdatedSelectedItems.push(\n\t\t\t\tundefined,\n\t\t\t\tformatTZ(updatedEnd, format, {locale, timezone}),\n\t\t\t);\n\t\t\tariaLiveMessage = t(\n\t\t\t\t`End ${ariaMessageType} selected is {0}. Select a start ${ariaMessageType}.`,\n\t\t\t\tformatTZ(updatedEnd, dateFormat, {locale, timezone}),\n\t\t\t);\n\t\t}\n\t}\n\treturn {\n\t\titems: updatedSelectedItems,\n\t\tmessage: ariaLiveMessage,\n\t};\n}\n\nfunction handleRangeSelection(\n\tselectedDate,\n\tariaMessageType,\n\t{context, properties, state, dispatch},\n) {\n\tconst {selectedItems} = properties;\n\tlet result;\n\n\tswitch (selectedItems.length) {\n\t\tcase 0:\n\t\t\tresult = handleZeroSelectedItems(selectedDate, ariaMessageType, {\n\t\t\t\tcontext,\n\t\t\t\tstate,\n\t\t\t\tproperties,\n\t\t\t\tdispatch,\n\t\t\t});\n\t\t\tbreak;\n\t\tcase 1:\n\t\t\tresult = handleOneSelectedItems(selectedDate, ariaMessageType, {\n\t\t\t\tcontext,\n\t\t\t\tstate,\n\t\t\t\tproperties,\n\t\t\t\tdispatch,\n\t\t\t});\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tresult = handleManySelectedItems(selectedDate, ariaMessageType, {\n\t\t\t\tcontext,\n\t\t\t\tstate,\n\t\t\t\tproperties,\n\t\t\t\tdispatch,\n\t\t\t});\n\t}\n\n\tif (!result) return;\n\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\tmessage: result.message,\n\t\ttype: 'polite',\n\t});\n\n\tdispatch('NOW_DATE_TIME_CALENDAR#SELECTED_ITEMS_SET', {\n\t\tvalue: result.items,\n\t});\n}\n\nfunction getDateAnnouncementFormat(type) {\n\tlet dateAnnounceFormat;\n\tswitch (type) {\n\t\tcase DateTypes.MONTH:\n\t\t\tdateAnnounceFormat = CALENDAR_LABEL_FORMAT;\n\t\t\tbreak;\n\t\tcase DateTypes.YEAR:\n\t\t\tdateAnnounceFormat = STANDALONE_YEAR_FORMAT;\n\t\t\tbreak;\n\t\tcase DateTypes.QUARTER:\n\t\t\tdateAnnounceFormat = CALENDAR_QUARTER_LONG_FORMAT;\n\t\t\tbreak;\n\t\tcase DateTypes.WEEK_YEAR:\n\t\t\tdateAnnounceFormat = STANDALONE_WEEK_YEAR_FORMAT;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tdateAnnounceFormat = CALENDAR_DATE_LONG_FORMAT;\n\t\t\tbreak;\n\t}\n\treturn dateAnnounceFormat;\n}\n\nfunction announceSelectedDate(date, dispatch, {locale, timezone}, type) {\n\tconst dateLongFormat = formatTZ(date, getDateAnnouncementFormat(type), {\n\t\tlocale,\n\t\ttimezone,\n\t});\n\n\tlet announceMessage = t(`Date selected is {0}`, dateLongFormat);\n\n\tif (type === DateTypes.WEEK_YEAR) {\n\t\tconst weekLongFormat = formatTZ(date, CALENDAR_DATE_LONG_FORMAT, {\n\t\t\tlocale,\n\t\t\ttimezone,\n\t\t});\n\t\tannounceMessage = t(\n\t\t\t`Week {0}, starting on {1}`,\n\t\t\tdateLongFormat,\n\t\t\tweekLongFormat,\n\t\t);\n\t}\n\n\treturn dispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\tmessage: announceMessage,\n\t\ttype: 'polite',\n\t});\n}\n\nfunction handleDateClick(date, {dispatch, context, state, properties}) {\n\tconst {timeRef} = state;\n\tconst {format, mode} = properties;\n\tconst {[localeContext]: locale, [timezoneContext]: timezone} = context;\n\n\tif (mode === 'standard') {\n\t\tconst updatedDate = applyTime(date, timeRef);\n\t\tannounceSelectedDate(updatedDate, dispatch, locale);\n\n\t\treturn dispatch('NOW_DATE_TIME_CALENDAR#SELECTED_ITEMS_SET', {\n\t\t\tvalue: [formatTZ(updatedDate, format, {locale, timezone})],\n\t\t});\n\t}\n\n\thandleRangeSelection(date, 'date', {\n\t\tcontext,\n\t\tstate,\n\t\tproperties,\n\t\tdispatch,\n\t});\n}\n\nfunction handleYearClick(\n\tselectedDate,\n\t{updateState, dispatch, context, state, properties},\n\tdismissOnSelect,\n) {\n\tconst {mode, type} = properties;\n\tif (dismissOnSelect) {\n\t\tupdateState({activeType: null});\n\t}\n\n\tif (mode === 'standard' || type !== DateTypes.YEAR) {\n\t\tconst year = getYear(selectedDate);\n\t\treturn dispatch(({properties}) => {\n\t\t\tconst {items, type} = properties;\n\t\t\tconst {date: activeDateRef} = getDateRef(items, type);\n\t\t\tconst {format} = properties;\n\t\t\tconst {[localeContext]: locale, [timezoneContext]: timezone} = context;\n\t\t\tconst value = itemsReducer(\n\t\t\t\tproperties,\n\t\t\t\tcontext,\n\t\t\t\tDateActionTypes.TO_YEAR,\n\t\t\t\tactiveDateRef,\n\t\t\t\tyear,\n\t\t\t);\n\t\t\tannounceSelectedDate(selectedDate, dispatch, {locale, timezone}, 'year');\n\t\t\tif (properties?.type === DateTypes.YEAR) {\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'NOW_DATE_TIME_CALENDAR#SELECTED_ITEMS_SET',\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tvalue: [formatTZ(selectedDate, format, {locale, timezone})],\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {type: 'NOW_DATE_TIME_CALENDAR#ITEMS_SET', payload: {value}};\n\t\t});\n\t}\n\n\thandleRangeSelection(selectedDate, type, {\n\t\tcontext,\n\t\tstate,\n\t\tproperties,\n\t\tdispatch,\n\t});\n}\n\nfunction handleMonthClick(\n\tselectedDate,\n\t{updateState, dispatch, context, state, properties},\n\tdismissOnSelect,\n) {\n\tconst {mode, type} = properties;\n\tif (dismissOnSelect) {\n\t\tupdateState({activeType: null});\n\t}\n\tif (mode === 'standard' || type !== DateTypes.MONTH) {\n\t\tconst monthIdx = getMonth(selectedDate);\n\n\t\treturn dispatch(({properties}) => {\n\t\t\tconst {items, type} = properties;\n\t\t\tconst {date: activeDateRef} = getDateRef(items, type);\n\t\t\tconst {format} = properties;\n\t\t\tconst {[localeContext]: locale, [timezoneContext]: timezone} = context;\n\t\t\tconst value = itemsReducer(\n\t\t\t\tproperties,\n\t\t\t\tcontext,\n\t\t\t\tDateActionTypes.TO_MONTH,\n\t\t\t\tactiveDateRef,\n\t\t\t\tmonthIdx,\n\t\t\t);\n\t\t\tannounceSelectedDate(selectedDate, dispatch, {locale, timezone}, 'month');\n\t\t\tif (properties?.type === DateTypes.MONTH) {\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'NOW_DATE_TIME_CALENDAR#SELECTED_ITEMS_SET',\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tvalue: [formatTZ(selectedDate, format, {locale, timezone})],\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {type: 'NOW_DATE_TIME_CALENDAR#ITEMS_SET', payload: {value}};\n\t\t});\n\t}\n\thandleRangeSelection(selectedDate, 'month', {\n\t\tcontext,\n\t\tstate,\n\t\tproperties,\n\t\tdispatch,\n\t});\n}\n\nfunction handleQuarterClick(\n\tselectedDate,\n\t{updateState, dispatch, context, state, properties},\n\tdismissOnSelect,\n) {\n\tconst {mode} = properties;\n\tif (dismissOnSelect) {\n\t\tupdateState({activeType: null});\n\t}\n\tif (mode === 'standard') {\n\t\tconst quarterIdx = getQuarter(selectedDate);\n\n\t\treturn dispatch(({properties}) => {\n\t\t\tconst {items, type} = properties;\n\t\t\tconst {date: activeDateRef} = getDateRef(items, type);\n\t\t\tconst {format} = properties;\n\t\t\tconst {[localeContext]: locale, [timezoneContext]: timezone} = context;\n\t\t\tconst value = itemsReducer(\n\t\t\t\tproperties,\n\t\t\t\tcontext,\n\t\t\t\tDateActionTypes.TO_QUARTER,\n\t\t\t\tactiveDateRef,\n\t\t\t\tquarterIdx,\n\t\t\t);\n\t\t\tannounceSelectedDate(\n\t\t\t\tselectedDate,\n\t\t\t\tdispatch,\n\t\t\t\t{locale, timezone},\n\t\t\t\t'quarter',\n\t\t\t);\n\t\t\tif (properties?.type === DateTypes.QUARTER) {\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'NOW_DATE_TIME_CALENDAR#SELECTED_ITEMS_SET',\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tvalue: [formatTZ(selectedDate, format, {locale, timezone})],\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {type: 'NOW_DATE_TIME_CALENDAR#ITEMS_SET', payload: {value}};\n\t\t});\n\t}\n\thandleRangeSelection(selectedDate, 'quarter', {\n\t\tcontext,\n\t\tstate,\n\t\tproperties,\n\t\tdispatch,\n\t});\n}\n\nfunction handleWeekClick(\n\tselectedDate,\n\t{updateState, dispatch, context, properties, state},\n\tdismissOnSelect,\n) {\n\tif (dismissOnSelect) {\n\t\tif (properties.mode === 'standard') {\n\t\t\tconst weekIdx = getWeek(selectedDate);\n\t\t\tupdateState({activeType: null});\n\t\t\tdispatch(({properties}) => {\n\t\t\t\tconst {date: activeDateRef} = getDateRef(properties.items);\n\t\t\t\tconst {format} = properties;\n\t\t\t\tconst {[localeContext]: locale, [timezoneContext]: timezone} = context;\n\t\t\t\tconst value = itemsReducer(\n\t\t\t\t\tproperties,\n\t\t\t\t\tcontext,\n\t\t\t\t\tDateActionTypes.TO_WEEK,\n\t\t\t\t\tactiveDateRef,\n\t\t\t\t\tweekIdx,\n\t\t\t\t);\n\t\t\t\tannounceSelectedDate(selectedDate, dispatch, locale, 'week-year');\n\n\t\t\t\tif (properties?.type === DateTypes.WEEK_YEAR) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'NOW_DATE_TIME_CALENDAR#SELECTED_ITEMS_SET',\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tvalue: [formatTZ(selectedDate, format, {locale, timezone})],\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\treturn {type: 'NOW_DATE_TIME_CALENDAR#ITEMS_SET', payload: {value}};\n\t\t\t});\n\t\t} else {\n\t\t\thandleRangeSelection(selectedDate, 'week-year', {\n\t\t\t\tcontext,\n\t\t\t\tstate,\n\t\t\t\tproperties,\n\t\t\t\tdispatch,\n\t\t\t});\n\t\t}\n\t}\n}\n\n/**\n * Recursive search for:\n * - index of row containing item\n * - index of item within row\n * @returns {{itemIdx: number, rowIdx: number}}\n */\nfunction getItemCoords(item, items, context = items) {\n\tif (context.length === 1) {\n\t\tconst row = context[0];\n\t\treturn {\n\t\t\titemIdx: row.indexOf(item),\n\t\t\trowIdx: items.indexOf(row),\n\t\t};\n\t}\n\n\tconst {date: currentDate} = item;\n\tconst midRowIdx = Math.floor(context.length / 2);\n\n\tif (isBefore(currentDate, context[midRowIdx][0].date)) {\n\t\treturn getItemCoords(item, items, context.slice(0, midRowIdx));\n\t} else {\n\t\treturn getItemCoords(item, items, context.slice(midRowIdx));\n\t}\n}\n\nfunction focusItemNode(host, id) {\n\tconst sel = `[data-item-id='${id}']`;\n\tconst itemNode = host.shadowRoot.querySelector(sel);\n\tif (itemNode) itemNode.focus();\n}\n\nfunction paginateMonth({\n\tkey,\n\tactiveItem,\n\tproperties,\n\tdispatch,\n\tupdateState,\n\tcontext,\n\tmatch,\n}) {\n\tconst {dir, type} = properties;\n\tconst actionType =\n\t\tisNextKey(key, dir, true) || key === Keys.PAGE_DOWN\n\t\t\t? DateActionTypes.TO_NEXT_MONTH\n\t\t\t: DateActionTypes.TO_PREVIOUS_MONTH;\n\n\tupdateState({\n\t\tpath: 'focusInfo',\n\t\tvalue: {prevItem: activeItem, key, match},\n\t\toperation: 'set',\n\t\tshouldRender: false,\n\t});\n\n\tdispatch(() => {\n\t\tconst {date: activeDateRef} = getDateRef(properties.items, type);\n\t\treturn {\n\t\t\ttype: 'NOW_DATE_TIME_CALENDAR#ITEMS_SET',\n\t\t\tpayload: {\n\t\t\t\tvalue: itemsReducer(properties, context, actionType, activeDateRef),\n\t\t\t},\n\t\t};\n\t});\n}\n\nfunction paginateYear({\n\tkey,\n\tactiveItem,\n\tproperties,\n\tdispatch,\n\tupdateState,\n\tcontext,\n}) {\n\tupdateState({\n\t\tpath: 'focusInfo',\n\t\tvalue: {prevItem: activeItem, key},\n\t\toperation: 'set',\n\t\tshouldRender: false,\n\t});\n\n\tdispatch(() => {\n\t\tconst {items, type} = properties;\n\t\tconst {date: activeDateRef} = getDateRef(items, type);\n\t\tconst currentYear = activeDateRef.getFullYear();\n\t\tconst nextYear = key === Keys.PAGE_UP ? currentYear - 1 : currentYear + 1;\n\n\t\treturn {\n\t\t\ttype: 'NOW_DATE_TIME_CALENDAR#ITEMS_SET',\n\t\t\tpayload: {\n\t\t\t\tvalue: itemsReducer(\n\t\t\t\t\tproperties,\n\t\t\t\t\tcontext,\n\t\t\t\t\tDateActionTypes.TO_YEAR,\n\t\t\t\t\tactiveDateRef,\n\t\t\t\t\tnextYear,\n\t\t\t\t),\n\t\t\t},\n\t\t};\n\t});\n}\n\nfunction focusNextItem({\n\tkey,\n\tisDateViewType,\n\tactiveType,\n\tactiveItem,\n\thost,\n\tproperties,\n\titems,\n\tdispatch,\n\tupdateState,\n\tcontext,\n}) {\n\tconst {dir} = properties;\n\tconst {rowIdx, itemIdx} = activeItem;\n\tconst COL_IDX_START = activeType === DateTypes.WEEK_YEAR ? 1 : 0;\n\tconst ROW_IDX_START = isDateViewType ? 1 : 0;\n\tconst maxRowIdx = items.length - 1;\n\tconst maxColIdx = items[rowIdx].length - 1;\n\tconst isPrev = isPreviousKey(key, dir);\n\tconst isNext = isNextKey(key, dir);\n\tconst shouldGoToPrevMonth =\n\t\t(key === Keys.ARROW_UP && rowIdx === ROW_IDX_START) ||\n\t\t(isPrev && itemIdx === COL_IDX_START && rowIdx === ROW_IDX_START);\n\tconst shouldGoToNextMonth =\n\t\t(key === Keys.ARROW_DOWN && rowIdx === maxRowIdx) ||\n\t\t(isNext && itemIdx === maxColIdx && rowIdx === maxRowIdx);\n\tconst shouldPaginate =\n\t\tisDateViewType && (shouldGoToNextMonth || shouldGoToPrevMonth);\n\tif (shouldPaginate) {\n\t\treturn paginateMonth({\n\t\t\tkey,\n\t\t\tactiveItem,\n\t\t\tproperties,\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\tcontext,\n\t\t});\n\t}\n\n\tlet targetItem = null;\n\n\tif (isPrev) {\n\t\tlet targetRowIdx = rowIdx,\n\t\t\tsliceArgs = [0, itemIdx];\n\t\tif (itemIdx === 0) {\n\t\t\ttargetRowIdx = rowIdx - 1;\n\t\t\tsliceArgs = [0];\n\t\t}\n\n\t\tconst itemPath = items\n\t\t\t.slice(targetRowIdx, targetRowIdx + 1)[0]\n\t\t\t.slice(...sliceArgs)\n\t\t\t.reverse();\n\t\ttargetItem = itemPath.find((item) => !!item.date);\n\t} else if (isNext) {\n\t\tlet targetRowIdx = rowIdx,\n\t\t\tsliceArgs = [itemIdx + 1];\n\n\t\tif (itemIdx === maxColIdx) {\n\t\t\ttargetRowIdx = rowIdx + 1;\n\t\t\tsliceArgs = [0];\n\t\t}\n\n\t\tconst itemPath = items\n\t\t\t.slice(targetRowIdx, targetRowIdx + 1)[0]\n\t\t\t.slice(...sliceArgs);\n\t\ttargetItem = itemPath.find((item) => !!item.date);\n\t} else if (key === Keys.ARROW_UP || key === Keys.ARROW_DOWN) {\n\t\tconst targetRowIdx = key === Keys.ARROW_UP ? rowIdx - 1 : rowIdx + 1;\n\t\ttargetItem = items[targetRowIdx]?.[itemIdx] || {};\n\t}\n\n\t/**\n\t * Focus behavior depends on a few factors:\n\t * 1. If the active calendar type is 'date' or 'date-time', and there\n\t * \tisn't an item to focus, paginate to the next month/year\n\t * 2. Else, if there is an item to focus, focus it.\n\t *\n\t * We don't want to paginate for non-date or non-date-time views.\n\t */\n\tif (\n\t\t[DateTypes.DATE_TIME, DateTypes.DATE, DateTypes.WEEK_YEAR].includes(\n\t\t\tactiveType,\n\t\t) &&\n\t\t(isEmpty(targetItem) || targetItem[ADJACENT])\n\t) {\n\t\tpaginateMonth({\n\t\t\tkey,\n\t\t\tactiveItem,\n\t\t\tproperties,\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\tcontext,\n\t\t\tmatch: targetItem?.id,\n\t\t});\n\t} else if (targetItem?.id) {\n\t\tfocusItemNode(host, targetItem.id);\n\t}\n}\n\nexport function handleFocusAfterTransition(focusInfo, host, properties) {\n\tconst {prevItem, key, match} = focusInfo;\n\tif (match) {\n\t\treturn focusItemNode(host, match);\n\t}\n\n\tconst {itemIdx, rowIdx} = prevItem;\n\tconst {dir, items} = properties;\n\tconst START_ROW_IDX = 1;\n\tconst END_ROW_IDX = items.length - 1;\n\tlet id;\n\n\tif ([Keys.PAGE_UP, Keys.PAGE_DOWN].includes(key)) {\n\t\t// If the paginated month has one less week, focus will be lost.\n\t\tif (!host.shadowRoot.activeElement) {\n\t\t\tid = items?.[rowIdx]?.[itemIdx].id;\n\n\t\t\t// Sometimes focus is lost because the node itself was replaced by snabbdom\n\t\t\tif (!id) {\n\t\t\t\tid = items[rowIdx - 1][itemIdx].id;\n\t\t\t}\n\t\t}\n\t} else if (isNextKey(key, dir, true)) {\n\t\tconst targetRow = items[START_ROW_IDX];\n\t\tconst cellIsEmptyOrAdjacent =\n\t\t\tisEmpty(targetRow[itemIdx]) || targetRow[itemIdx][ADJACENT];\n\n\t\tif (key === Keys.ARROW_DOWN) {\n\t\t\tid = cellIsEmptyOrAdjacent\n\t\t\t\t? items[START_ROW_IDX + 1]?.[itemIdx].id\n\t\t\t\t: targetRow[itemIdx].id;\n\t\t} else {\n\t\t\tid = targetRow.find((item) => !isEmpty(item) && !item[ADJACENT]).id;\n\t\t}\n\t} else if (isPreviousKey(key, dir, true)) {\n\t\tconst targetRow = items[END_ROW_IDX];\n\t\tconst cellIsEmptyOrAdjacent =\n\t\t\tisEmpty(targetRow[itemIdx]) || targetRow[itemIdx][ADJACENT];\n\n\t\tif (key === Keys.ARROW_UP) {\n\t\t\tid = cellIsEmptyOrAdjacent\n\t\t\t\t? items[END_ROW_IDX - 1]?.[itemIdx].id\n\t\t\t\t: targetRow[itemIdx].id;\n\t\t} else {\n\t\t\tid = [...targetRow]\n\t\t\t\t.reverse()\n\t\t\t\t.find((item) => !isEmpty(item) && !item[ADJACENT]).id;\n\t\t}\n\t}\n\n\tif (id) {\n\t\tfocusItemNode(host, id);\n\t}\n}\n\nexport function handleItemFocus({\n\thost,\n\tstate,\n\taction,\n\tproperties,\n\tdispatch,\n\tupdateState,\n\tcontext,\n}) {\n\tconst {item, shiftKey, directionalKey: key} = action.payload;\n\tconst hostEl = action.meta.hoistHost || host;\n\n\tconst items = state.activeItems || properties.items;\n\tconst activeType = state.activeType || properties.type;\n\tconst isArrowKey = [\n\t\tKeys.ARROW_DOWN,\n\t\tKeys.ARROW_LEFT,\n\t\tKeys.ARROW_RIGHT,\n\t\tKeys.ARROW_UP,\n\t].includes(key);\n\tconst isPageKey = [Keys.PAGE_UP, Keys.PAGE_DOWN].includes(key);\n\tconst isHomeKey = key === Keys.HOME;\n\tconst isEndKey = key === Keys.END;\n\tconst activeItem = getItemCoords(item, items);\n\tconst isDateViewType = [\n\t\tDateTypes.DATE,\n\t\tDateTypes.DATE_TIME,\n\t\tDateTypes.WEEK_YEAR,\n\t].includes(activeType);\n\n\tif (isDirectionalKey(key)) {\n\t\tif (isArrowKey) {\n\t\t\tlet keyToUse = key;\n\t\t\tif (typeof item.week === 'boolean') {\n\t\t\t\tif (key === Keys.ARROW_LEFT) {\n\t\t\t\t\tkeyToUse = Keys.ARROW_UP;\n\t\t\t\t} else if (key === Keys.ARROW_RIGHT) {\n\t\t\t\t\tkeyToUse = Keys.ARROW_DOWN;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfocusNextItem({\n\t\t\t\tkey: keyToUse,\n\t\t\t\tisDateViewType,\n\t\t\t\tactiveType,\n\t\t\t\tactiveItem,\n\t\t\t\thost: hostEl,\n\t\t\t\tproperties,\n\t\t\t\titems,\n\t\t\t\tdispatch,\n\t\t\t\tupdateState,\n\t\t\t\tcontext,\n\t\t\t});\n\t\t} else if (isHomeKey || isEndKey) {\n\t\t\tconst {rowIdx} = activeItem;\n\t\t\tconst targetItem = isHomeKey\n\t\t\t\t? items[rowIdx].find((item) => !!item.date)\n\t\t\t\t: [...items[rowIdx]].reverse().find((item) => !!item.date);\n\t\t\tif (targetItem) {\n\t\t\t\tconst id = targetItem.id;\n\t\t\t\tfocusItemNode(hostEl, id);\n\t\t\t}\n\t\t}\n\t} else if (isPageKey) {\n\t\tif (shiftKey) {\n\t\t\tpaginateYear({\n\t\t\t\tkey,\n\t\t\t\tactiveItem,\n\t\t\t\tproperties,\n\t\t\t\tdispatch,\n\t\t\t\tupdateState,\n\t\t\t\tcontext,\n\t\t\t});\n\t\t} else {\n\t\t\tpaginateMonth({\n\t\t\t\tkey,\n\t\t\t\tactiveItem,\n\t\t\t\tproperties,\n\t\t\t\tdispatch,\n\t\t\t\tupdateState,\n\t\t\t\tcontext,\n\t\t\t});\n\t\t}\n\t}\n}\n\nexport const ItemClickHandlers = {\n\t[DateTypes.DATE]: handleDateClick,\n\t[DateTypes.DATE_TIME]: handleDateClick,\n\t[DateTypes.MONTH]: handleMonthClick,\n\t[DateTypes.YEAR]: handleYearClick,\n\t[DateTypes.QUARTER]: handleQuarterClick,\n\t[DateTypes.WEEK_YEAR]: handleWeekClick,\n};\n","import toInteger from \"../_lib/toInteger/index.js\";\nimport addQuarters from \"../addQuarters/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name subQuarters\n * @category Quarter Helpers\n * @summary Subtract the specified number of year quarters from the given date.\n *\n * @description\n * Subtract the specified number of year quarters from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of quarters to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the quarters subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 3 quarters from 1 September 2014:\n * const result = subQuarters(new Date(2014, 8, 1), 3)\n * //=> Sun Dec 01 2013 00:00:00\n */\nexport default function subQuarters(dirtyDate, dirtyAmount) {\n  requiredArgs(2, arguments);\n  var amount = toInteger(dirtyAmount);\n  return addQuarters(dirtyDate, -amount);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name min\n * @category Common Helpers\n * @summary Returns the earliest of the given dates.\n *\n * @description\n * Returns the earliest of the given dates.\n *\n * @param {Date[]|Number[]} datesArray - the dates to compare\n * @returns {Date} - the earliest of the dates\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which of these dates is the earliest?\n * const result = min([\n *   new Date(1989, 6, 10),\n *   new Date(1987, 1, 11),\n *   new Date(1995, 6, 2),\n *   new Date(1990, 0, 1)\n * ])\n * //=> Wed Feb 11 1987 00:00:00\n */\nexport default function min(dirtyDatesArray) {\n  requiredArgs(1, arguments);\n  var datesArray;\n  // `dirtyDatesArray` is Array, Set or Map, or object with custom `forEach` method\n  if (dirtyDatesArray && typeof dirtyDatesArray.forEach === 'function') {\n    datesArray = dirtyDatesArray;\n    // If `dirtyDatesArray` is Array-like Object, convert to Array.\n  } else if (_typeof(dirtyDatesArray) === 'object' && dirtyDatesArray !== null) {\n    datesArray = Array.prototype.slice.call(dirtyDatesArray);\n  } else {\n    // `dirtyDatesArray` is non-iterable, return Invalid Date\n    return new Date(NaN);\n  }\n  var result;\n  datesArray.forEach(function (dirtyDate) {\n    var currentDate = toDate(dirtyDate);\n    if (result === undefined || result > currentDate || isNaN(currentDate.getDate())) {\n      result = currentDate;\n    }\n  });\n  return result || new Date(NaN);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name max\n * @category Common Helpers\n * @summary Return the latest of the given dates.\n *\n * @description\n * Return the latest of the given dates.\n *\n * @param {Date[]|Number[]} datesArray - the dates to compare\n * @returns {Date} the latest of the dates\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which of these dates is the latest?\n * const result = max([\n *   new Date(1989, 6, 10),\n *   new Date(1987, 1, 11),\n *   new Date(1995, 6, 2),\n *   new Date(1990, 0, 1)\n * ])\n * //=> Sun Jul 02 1995 00:00:00\n */\nexport default function max(dirtyDatesArray) {\n  requiredArgs(1, arguments);\n  var datesArray;\n  // `dirtyDatesArray` is Array, Set or Map, or object with custom `forEach` method\n  if (dirtyDatesArray && typeof dirtyDatesArray.forEach === 'function') {\n    datesArray = dirtyDatesArray;\n\n    // If `dirtyDatesArray` is Array-like Object, convert to Array.\n  } else if (_typeof(dirtyDatesArray) === 'object' && dirtyDatesArray !== null) {\n    datesArray = Array.prototype.slice.call(dirtyDatesArray);\n  } else {\n    // `dirtyDatesArray` is non-iterable, return Invalid Date\n    return new Date(NaN);\n  }\n  var result;\n  datesArray.forEach(function (dirtyDate) {\n    var currentDate = toDate(dirtyDate);\n    if (result === undefined || result < currentDate || isNaN(Number(currentDate))) {\n      result = currentDate;\n    }\n  });\n  return result || new Date(NaN);\n}","import {format as dateFnsFormat} from 'date-fns';\nimport {DateTypes, localeContext} from '@servicenow/library-date-time';\nimport {t} from 'sn-translate';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {\n\tgetDateRef,\n\tSTANDALONE_MONTH_FORMAT,\n\tSTANDALONE_MONTH_LONG_FORMAT,\n\tSTANDALONE_YEAR_FORMAT,\n} from '../utils';\n\nexport function renderDateControls(state, updateState) {\n\tconst {items, type} = state.properties;\n\tconst {date} = getDateRef(items, type);\n\tconst {[localeContext]: locale} = state.context;\n\tconst yearLabel = dateFnsFormat(date, STANDALONE_YEAR_FORMAT, {locale});\n\tconst monthLabel = dateFnsFormat(date, STANDALONE_MONTH_FORMAT, {locale});\n\tconst monthLongName = dateFnsFormat(date, STANDALONE_MONTH_LONG_FORMAT, {\n\t\tlocale,\n\t});\n\tconst monthIsActive = state.activeType === DateTypes.MONTH;\n\tconst yearIsActive = state.activeType === DateTypes.YEAR;\n\tconst monthCaret = monthIsActive ? 'caret-up-fill' : 'caret-down-fill';\n\tconst yearCaret = yearIsActive ? 'caret-up-fill' : 'caret-down-fill';\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<now-button-bare\n\t\t\t\tclassName=\"now-date-time-calendar-control-button -start\"\n\t\t\t\tbare\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\ticon-end={monthCaret}\n\t\t\t\ton-click={() =>\n\t\t\t\t\tupdateState(() => ({\n\t\t\t\t\t\tactiveType: monthIsActive ? null : DateTypes.MONTH,\n\t\t\t\t\t}))\n\t\t\t\t}\n\t\t\t\tconfig-aria={{\n\t\t\t\t\tbutton: {\n\t\t\t\t\t\t'aria-expanded': monthIsActive ? 'true' : 'false',\n\t\t\t\t\t\t'aria-label': t(`${monthLongName}, Select Month`),\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"now-line-height-crop\" aria-hidden=\"true\">\n\t\t\t\t\t{monthLabel}\n\t\t\t\t</div>\n\t\t\t\t<div className=\"now-a11y-label\">{monthLongName}</div>\n\t\t\t\t<now-icon\n\t\t\t\t\tclassName=\"now-button-bare-icon now-m-inline-start--xxs\"\n\t\t\t\t\ticon={monthCaret}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t/>\n\t\t\t</now-button-bare>\n\t\t\t<now-button-bare\n\t\t\t\tclassName=\"now-date-time-calendar-control-button -end\"\n\t\t\t\tbare\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\ticon-end={yearCaret}\n\t\t\t\ton-click={() =>\n\t\t\t\t\tupdateState(() => ({\n\t\t\t\t\t\tactiveType: yearIsActive ? null : DateTypes.YEAR,\n\t\t\t\t\t}))\n\t\t\t\t}\n\t\t\t\tconfig-aria={{\n\t\t\t\t\tbutton: {\n\t\t\t\t\t\t'aria-expanded': yearIsActive ? 'true' : 'false',\n\t\t\t\t\t\t'aria-label': t(`${yearLabel}, Select Year`),\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"now-line-height-crop\" aria-label={yearLabel}>\n\t\t\t\t\t{yearLabel}\n\t\t\t\t</div>\n\t\t\t\t<now-icon\n\t\t\t\t\tclassName=\"now-button-bare-icon now-m-inline-start--xxs\"\n\t\t\t\t\ticon={yearCaret}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t/>\n\t\t\t</now-button-bare>\n\t\t</Fragment>\n\t);\n}\nexport function renderMonthControls(state, updateState) {\n\tconst {items, type} = state.properties;\n\tconst {date} = getDateRef(items, type);\n\tconst {[localeContext]: locale} = state.context;\n\tconst yearLabel = dateFnsFormat(date, STANDALONE_YEAR_FORMAT, {locale});\n\tconst yearIsActive = state.activeType === DateTypes.YEAR;\n\tconst yearCaret = yearIsActive ? 'caret-up-fill' : 'caret-down-fill';\n\n\treturn (\n\t\t<now-button-bare\n\t\t\tclassName=\"now-date-time-calendar-control-button-start\"\n\t\t\tbare\n\t\t\tvariant=\"secondary\"\n\t\t\tsize=\"sm\"\n\t\t\ticon-end={yearCaret}\n\t\t\ton-click={() =>\n\t\t\t\tupdateState(() => ({\n\t\t\t\t\tactiveType: yearIsActive ? null : DateTypes.YEAR,\n\t\t\t\t}))\n\t\t\t}\n\t\t\tconfig-aria={{\n\t\t\t\tbutton: {\n\t\t\t\t\t'aria-expanded': yearIsActive ? 'true' : 'false',\n\t\t\t\t\t'aria-label': t(`${yearLabel}, Select Year`),\n\t\t\t\t},\n\t\t\t}}\n\t\t>\n\t\t\t<span className=\"now-line-height-crop\">{yearLabel}</span>\n\t\t\t<now-icon\n\t\t\t\tclassName=\"now-button-bare-icon now-m-inline-start--xxs\"\n\t\t\t\ticon={yearCaret}\n\t\t\t\tsize=\"sm\"\n\t\t\t\taria-hidden=\"true\"\n\t\t\t/>\n\t\t</now-button-bare>\n\t);\n}\n","import {DateTypes} from '@servicenow/library-date-time';\nimport {renderDateControls, renderMonthControls} from './render-date-controls';\n\nexport function renderControls(state, {updateState}) {\n\tconst {items, type} = state.properties;\n\tif (!items.length) return;\n\n\tif (\n\t\t[DateTypes.DATE, DateTypes.DATE_TIME, DateTypes.WEEK_YEAR].includes(type)\n\t) {\n\t\treturn renderDateControls(state, updateState);\n\t} else if ([DateTypes.MONTH, DateTypes.QUARTER].includes(type)) {\n\t\treturn renderMonthControls(state, updateState);\n\t}\n}\n","import {DateTypes, localeContext, parseTZ} from '@servicenow/library-date-time';\nimport {isDirectionalKey} from '@servicenow/library-enhanced-utils';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {getMonthItems, getYearItems, getWeekItems} from '../reducers';\nimport {getDateRef, Keys, getDateFromWeek} from '../utils';\nimport {isWithinInterval, startOfWeek, lastDayOfWeek} from 'date-fns';\n\nfunction getItems(state, updateState) {\n\tconst {type, items} = state.properties;\n\tconst activeType = state.activeType || type;\n\tlet activeItems;\n\n\tif (activeType !== type) {\n\t\tif (activeType === DateTypes.MONTH) {\n\t\t\tconst {date} = getDateRef(items, type);\n\t\t\tactiveItems = getMonthItems(date, state);\n\t\t} else if (activeType === DateTypes.YEAR) {\n\t\t\tactiveItems = getYearItems(state);\n\t\t} else if (activeType === DateTypes.WEEK_YEAR) {\n\t\t\tconst {date} = getDateRef(items);\n\t\t\tactiveItems = getWeekItems(date, state);\n\t\t}\n\n\t\tupdateState({\n\t\t\tpath: 'activeItems',\n\t\t\tvalue: activeItems,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false,\n\t\t});\n\t} else {\n\t\tupdateState({\n\t\t\tpath: 'activeItems',\n\t\t\tvalue: null,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false,\n\t\t});\n\t}\n\n\treturn activeItems || items;\n}\n\n// setting tabindex for start or end of interval's date when range is selected via preset because for presets there is no click on actual date\nfunction overRideTabIndexForPresets(\n\tselectedItems,\n\ttabIndex,\n\trangeInitiator,\n\titemId,\n\tformat,\n\tlocale,\n) {\n\tif (selectedItems?.length === 2 && tabIndex !== '0') {\n\t\t// defaults to startValue\n\t\tlet referenceDateValue = selectedItems[0];\n\n\t\tif (rangeInitiator === 'end') {\n\t\t\treferenceDateValue = selectedItems[1];\n\t\t}\n\n\t\tlet referenceDateObject = parseTZ(referenceDateValue, format, new Date(), {\n\t\t\tlocale,\n\t\t});\n\t\tlet referenceDateId = String(referenceDateObject.getTime());\n\n\t\tif (itemId === referenceDateId) {\n\t\t\ttabIndex = '0';\n\t\t}\n\t}\n\treturn tabIndex;\n}\n\nfunction renderCell(item, idx, state, {dispatch, updateState}) {\n\tconst {\n\t\tlastFocusedItemId,\n\t\tselectionPreviewInterval,\n\t\tweekPreviewInterval,\n\t\tactiveType,\n\t\tcontext: {[localeContext]: locale},\n\t} = state;\n\tconst {\n\t\ttype,\n\t\tselectedItems,\n\t\tformat,\n\t\trangeValueEnd,\n\t\tmode,\n\t\tisoWeek,\n\t\trangeInitiator,\n\t} = state.properties;\n\n\tif (!item.date && !item.label) {\n\t\treturn <td key={idx} tabindex=\"-1\" />;\n\t}\n\n\tconst {\n\t\tdate,\n\t\tselected,\n\t\trange,\n\t\tdisabled,\n\t\ttween,\n\t\tnow,\n\t\tweek,\n\t\tadjacent,\n\t\tlabel,\n\t\ta11yLabel,\n\t\tid,\n\t} = item;\n\tconst isDateItem = !!date;\n\tconst isSelectable = isDateItem && !disabled;\n\tconst isWeekItem = typeof week === 'boolean';\n\tconst isWeekType = type === DateTypes.WEEK_YEAR;\n\tconst isWeekActiveType = !(\n\t\tactiveType === DateTypes.MONTH || activeType === DateTypes.YEAR\n\t);\n\tconst isInterval = rangeValueEnd && mode === 'interval';\n\n\t// Determine if item is the last item focused. For the week calendar, only use the week item not the first day of the week\n\tconst isLastFocusedItem =\n\t\tlastFocusedItemId === id &&\n\t\t!(isWeekType && isWeekActiveType && !isWeekItem);\n\t// Set the tab index to 0 for the last item focused, and to -1 for other date items\n\tlet tabindex = isLastFocusedItem ? '0' : isDateItem ? '-1' : null;\n\n\tlet preview = false,\n\t\tweekPreview = false,\n\t\tweekRange = false;\n\ttry {\n\t\tif (isWeekType) {\n\t\t\tif (selectedItems.length > 0) {\n\t\t\t\tconst isoWeekStartOn = isoWeek ? {weekStartsOn: 1} : {};\n\t\t\t\tconst startDate = getDateFromWeek(selectedItems?.[0], format, isoWeek);\n\t\t\t\tconst endDate = getDateFromWeek(\n\t\t\t\t\tisInterval ? rangeValueEnd : selectedItems?.[0],\n\t\t\t\t\tformat,\n\t\t\t\t\tisoWeek,\n\t\t\t\t);\n\n\t\t\t\tconst start = startOfWeek(startDate, isoWeekStartOn);\n\t\t\t\tconst end = lastDayOfWeek(endDate, isoWeekStartOn);\n\t\t\t\tif (start && end) weekRange = isWithinInterval(date, {start, end});\n\t\t\t}\n\t\t\tif (weekPreviewInterval) {\n\t\t\t\tweekPreview = isWithinInterval(date, weekPreviewInterval);\n\t\t\t}\n\t\t\tif (selectionPreviewInterval) {\n\t\t\t\tpreview = isWithinInterval(date, selectionPreviewInterval);\n\t\t\t}\n\t\t} else {\n\t\t\tif (selectionPreviewInterval) {\n\t\t\t\tpreview = isWithinInterval(date, selectionPreviewInterval);\n\t\t\t}\n\t\t}\n\t} catch (e) {\n\t\t// swallow the exception, the interval isn't valid and we don't really care\n\t}\n\n\ttabindex = overRideTabIndexForPresets(\n\t\tselectedItems,\n\t\ttabindex,\n\t\trangeInitiator,\n\t\titem.id,\n\t\tformat,\n\t\tlocale,\n\t);\n\n\treturn (\n\t\t<td className=\"now-date-time-calendar-grid-column\">\n\t\t\t<button\n\t\t\t\ttabindex={tabindex}\n\t\t\t\ton-focus={() => {\n\t\t\t\t\tlastFocusedItemId !== id && updateState({lastFocusedItemId: id});\n\t\t\t\t\tdispatch(() => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttype: 'PRIVATE#SELECT_ITEM_PREVIEW',\n\t\t\t\t\t\t\tpayload: {id},\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t\ton-blur={() =>\n\t\t\t\t\tisWeekType\n\t\t\t\t\t\t? updateState({weekPreviewInterval: null})\n\t\t\t\t\t\t: updateState({selectionPreviewInterval: null})\n\t\t\t\t}\n\t\t\t\ton-mouseenter={() => {\n\t\t\t\t\tdispatch(() => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttype: 'PRIVATE#SELECT_ITEM_PREVIEW',\n\t\t\t\t\t\t\tpayload: {id},\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t\tkey={id}\n\t\t\t\tdata-itemId={isDateItem ? id : null}\n\t\t\t\taria-pressed={(isDateItem && (selected ? 'true' : 'false')) || null}\n\t\t\t\taria-current={now ? 'date' : null}\n\t\t\t\taria-disabled={disabled ? 'true' : null}\n\t\t\t\tclass={{\n\t\t\t\t\t'now-date-time-calendar-grid-cell': true,\n\t\t\t\t\t'is-focusable': isDateItem,\n\t\t\t\t\t'is-adjacent': adjacent,\n\t\t\t\t\t'is-tween': tween,\n\t\t\t\t\t'is-disabled': disabled,\n\t\t\t\t\t'is-selected': selected || (isWeekItem && weekRange),\n\t\t\t\t\t'is-range': range && !selected,\n\t\t\t\t\t'is-preview': preview && !selected,\n\t\t\t\t\t'is-week-preview': weekPreview && !weekRange,\n\t\t\t\t\t'is-week-range': weekRange && !selected,\n\t\t\t\t\t'is-now': now,\n\t\t\t\t\t'is-week': isWeekItem,\n\t\t\t\t}}\n\t\t\t\ton-keydown={(e) => {\n\t\t\t\t\tif (!isDateItem) return;\n\n\t\t\t\t\tconst keyIsDirectional =\n\t\t\t\t\t\tisDirectionalKey(e.key) ||\n\t\t\t\t\t\te.key === Keys.PAGE_UP ||\n\t\t\t\t\t\te.key === Keys.PAGE_DOWN;\n\n\t\t\t\t\tif (\n\t\t\t\t\t\te.key === Keys.ENTER ||\n\t\t\t\t\t\te.key === Keys.SPACE ||\n\t\t\t\t\t\tkeyIsDirectional\n\t\t\t\t\t) {\n\t\t\t\t\t\te.preventDefault();\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tisSelectable &&\n\t\t\t\t\t\t\t(e.key === Keys.ENTER || e.key === Keys.SPACE)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tdispatch('PRIVATE#SELECT_ITEM', {item});\n\t\t\t\t\t\t} else if (keyIsDirectional) {\n\t\t\t\t\t\t\tdispatch('PRIVATE#FOCUS_ITEM', {\n\t\t\t\t\t\t\t\tdirectionalKey: e.key,\n\t\t\t\t\t\t\t\tshiftKey: e.shiftKey,\n\t\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\ton-click={() => isSelectable && dispatch('PRIVATE#SELECT_ITEM', {item})}\n\t\t\t>\n\t\t\t\t<span\n\t\t\t\t\taria-hidden={a11yLabel ? 'true' : null}\n\t\t\t\t\tclass={{week: isWeekItem}}\n\t\t\t\t>\n\t\t\t\t\t{label}\n\t\t\t\t</span>\n\t\t\t\t{a11yLabel && <span className=\"now-a11y-label\">{a11yLabel}</span>}\n\t\t\t</button>\n\t\t</td>\n\t);\n}\n\nfunction renderRow(row, rowIdx, state, coeffects) {\n\treturn (\n\t\t<tr className=\"now-date-time-calendar-grid-row\" key={rowIdx}>\n\t\t\t{row.map((item, itemIdx) => renderCell(item, itemIdx, state, coeffects))}\n\t\t</tr>\n\t);\n}\n\nfunction renderHeadingRow(items) {\n\treturn (\n\t\t<tr className=\"now-date-time-calendar-grid-row\" key=\"heading-row\">\n\t\t\t{items.map(({label, a11yLabel}) => (\n\t\t\t\t<th scope=\"col\" className=\"now-date-time-calendar-grid-heading\">\n\t\t\t\t\t<span aria-hidden=\"true\">{label}</span>\n\t\t\t\t\t<span className=\"now-a11y-label\">{a11yLabel}</span>\n\t\t\t\t</th>\n\t\t\t))}\n\t\t</tr>\n\t);\n}\n\nexport function renderGrid(state, coeffects) {\n\tconst items = getItems(state, coeffects.updateState);\n\tconst {type} = state.properties;\n\tconst activeType = state.activeType || type;\n\n\tif (\n\t\t[DateTypes.DATE, DateTypes.DATE_TIME, DateTypes.WEEK_YEAR].includes(\n\t\t\tactiveType,\n\t\t)\n\t) {\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t<thead>{renderHeadingRow(items[0])}</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t{items\n\t\t\t\t\t\t.slice(1)\n\t\t\t\t\t\t.map((row, idx) => renderRow(row, idx, state, coeffects))}\n\t\t\t\t</tbody>\n\t\t\t</Fragment>\n\t\t);\n\t}\n\n\treturn (\n\t\t<tbody className=\"now-date-time-calendar-grid-row-group\">\n\t\t\t{items.map((row, idx) => renderRow(row, idx, state, coeffects))}\n\t\t</tbody>\n\t);\n}\n","import {configAriaSchema} from '@servicenow/library-schemas';\n\nexport const footerActionsSchema = {\n\ttype: 'array',\n\titems: {\n\t\ttype: 'object',\n\t\tproperties: {\n\t\t\tlabel: {type: 'string'},\n\t\t\tvariant: {type: 'string'},\n\t\t\ttooltipContent: {type: 'string'},\n\t\t\tclickActionType: {type: 'string'},\n\t\t\tdisabled: {type: 'boolean'},\n\t\t\tbare: {type: 'boolean'},\n\t\t\tsize: {type: 'string'},\n\t\t\tconfigAria: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tbutton: configAriaSchema,\n\t\t\t\t},\n\t\t\t\tadditionalProperties: false,\n\t\t\t},\n\t\t\tcloseCalendar: {type: 'boolean'},\n\t\t},\n\t\tadditionalProperties: false,\n\t},\n\tmaxItems: 2,\n};\n\nexport const itemSchema = {\n\ttype: 'string',\n};\n\nexport const valueSchema = {\n\tname: 'Value',\n\ttype: 'object',\n\tproperties: {\n\t\tvalue: itemSchema,\n\t},\n\tadditionalProperties: false,\n};\n\nconst intervalSchema = {\n\tname: 'Interval',\n\ttype: 'object',\n\tproperties: {\n\t\tstart: itemSchema,\n\t\tend: itemSchema,\n\t},\n\tadditionalProperties: false,\n};\n\nconst beforeSchema = {\n\tname: 'Before Interval',\n\ttype: 'object',\n\tproperties: {\n\t\tbefore: itemSchema,\n\t},\n\tadditionalProperties: false,\n};\n\nconst afterSchema = {\n\tname: 'After Interval',\n\ttype: 'object',\n\tproperties: {\n\t\tafter: itemSchema,\n\t},\n\tadditionalProperties: false,\n};\n\nexport const disabledItemsSchema = {\n\ttype: 'array',\n\titems: {\n\t\tanyOf: [valueSchema, beforeSchema, afterSchema, intervalSchema],\n\t},\n};\n\nexport const selectedItemsSchema = {\n\ttype: 'array',\n\titems: {\n\t\tanyOf: [itemSchema, intervalSchema],\n\t},\n};\n\nexport const itemsSchema = {\n\ttype: 'array',\n\titems: {\n\t\ttype: 'array',\n\t\titems: {\n\t\t\ttype: 'object',\n\t\t\tproperties: {\n\t\t\t\tdate: {type: ['object', 'null']},\n\t\t\t\tlabel: {type: ['string', 'number', 'null']},\n\t\t\t\ta11yLabel: {type: ['string', 'null']},\n\t\t\t\tadjacent: {type: 'boolean'},\n\t\t\t\tnow: {type: 'boolean'},\n\t\t\t\tselected: {type: 'boolean'},\n\t\t\t\trange: {type: 'boolean'},\n\t\t\t\ttween: {type: 'boolean'},\n\t\t\t\tdisabled: {type: 'boolean'},\n\t\t\t\tid: {type: 'string'},\n\t\t\t\tweek: {type: ['boolean', 'number', 'null']},\n\t\t\t},\n\t\t\tadditionalProperties: false,\n\t\t},\n\t},\n};\n\nexport const typesSchema = {\n\ttype: 'string',\n\tenum: ['date', 'date-time', 'time', 'month', 'year', 'quarter', 'week-year'],\n};\n\nexport const presetSchema = {\n\ttype: 'object',\n\tproperties: {\n\t\tkeyword: {\n\t\t\ttype: 'string',\n\t\t\tenum: ['Next', 'Last', 'Current', 'to date', 'Custom'],\n\t\t},\n\t\tpresetType: {\n\t\t\ttype: 'string',\n\t\t\tenum: [\n\t\t\t\t'year',\n\t\t\t\t'years',\n\t\t\t\t'quarter',\n\t\t\t\t'quarters',\n\t\t\t\t'month',\n\t\t\t\t'months',\n\t\t\t\t'week',\n\t\t\t\t'weeks',\n\t\t\t\t'day',\n\t\t\t\t'days',\n\t\t\t\t'hour',\n\t\t\t\t'hours',\n\t\t\t\t'minute',\n\t\t\t\t'minutes',\n\t\t\t\t'second',\n\t\t\t\t'seconds',\n\t\t\t\t'start',\n\t\t\t\t'end',\n\t\t\t\t'business',\n\t\t\t],\n\t\t},\n\t\tduration: {type: 'number'},\n\t\torder: {type: 'number'},\n\t\tlabel: {type: 'string'},\n\t\tgroupLabel: {type: 'string'},\n\t\tstartDate: {type: 'string'},\n\t\tendDate: {type: 'string'},\n\t\tgroup: {type: 'string'},\n\t\tfocused: {type: 'boolean'},\n\t\tselected: {type: 'boolean'},\n\t\tindex: {type: 'number'},\n\t\tposition: {type: 'number'},\n\t\tsetSize: {type: 'number'},\n\t\ttype: {type: 'string'},\n\t},\n\tadditionalProperties: false,\n};\n\nexport const presetsSchema = {\n\ttype: 'array',\n\titems: presetSchema,\n};\n\n// Future types:\n// 'week-month-year',\n// 'week-year',\n// 'custom'\n","import {differenceWith, isEqual} from 'lodash';\nimport {\n\tmax as dateFnsMax,\n\tmin as dateFnsMin,\n\tset as dateFnsSet,\n\tadd as dateFnsAdd,\n\tsub as dateFnsSub,\n\tisEqual as dateFnsIsEqual,\n\tcompareAsc,\n\tstartOfWeek,\n\tlastDayOfWeek,\n} from 'date-fns';\nimport {t} from 'sn-translate';\nimport {actionTypes, modifierTypes} from '@servicenow/ui-core';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport themeBehavior from '@servicenow/behavior-theme';\nimport '@servicenow/now-button';\nimport '@servicenow/now-input';\nimport '@servicenow/now-icon';\nimport {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {\n\tDateTypes,\n\tDateFormatTypes,\n\tremoveEscapedCharacters,\n\tlocaleContext,\n\ttimezoneContext,\n\tisMatchTZ,\n\tparseTZ,\n\tformatTZ,\n} from '@servicenow/library-date-time';\nimport {\n\tfilterAriaAttributes,\n\tmeasureText,\n} from '@servicenow/library-enhanced-utils';\nimport {configAriaSchema} from '@servicenow/library-schemas';\nimport {renderControls, renderGrid} from './views';\nimport {\n\tCALENDAR_TIME_INPUT_ID,\n\tgetDateRef,\n\tPaginationActionTypes,\n\tPaginationTypes,\n\thandleItemFocus,\n\thandleFocusAfterTransition,\n\tItemClickHandlers,\n\tSTANDALONE_MONTH_LONG_FORMAT,\n\tSTANDALONE_YEAR_FORMAT,\n\tgetSelectedItems,\n} from './utils';\nimport {isDateTimeValueValid} from '@servicenow/library-date-time';\nimport {itemsReducer} from './reducers';\nimport styles from './_now-date-time-calendar.scss';\nimport {\n\tdisabledItemsSchema,\n\tselectedItemsSchema,\n\titemsSchema,\n\ttypesSchema,\n\tfooterActionsSchema,\n} from './schemas';\n\n/**\n * This is probably not a reliable way long-term to parse time from the input.\n * E.g., if the time is relative (\"hours ago\", \"yesterday\") then this pattern\n * is useless.\n * At the same time, we should still enforce some degree of consistency\n * when formats are given, and time is a good candidate for this as most (if\n * not all) countries will structure time the same way.\n */\nexport const TIME_FORMAT_PATTERN =\n\t/(H|h){1,2}([.,:]m{1,2})?([.,:]s{1,2})?([.,:]S{1,4})?(\\sa)?/;\nconst MIN_TIME_INPUT_SIZE = 75;\nconst INPUT_SIZE_OFFSET = 24;\nconst presetTypes = Object.values(DateTypes);\nconst {COMPONENT_DOM_READY, COMPONENT_PROPERTY_CHANGED, COMPONENT_RENDERED} =\n\tactionTypes;\n\nfunction getItemById(id, items) {\n\tif (items) {\n\t\tfor (const row of items) {\n\t\t\tconst item = row.find((r) => r.id === id);\n\t\t\tif (item) return item;\n\t\t}\n\t}\n\n\treturn;\n}\n\nfunction setValue(properties, updateProperties) {\n\tconst {format, locale, isoWeek, required, value} = properties;\n\tconst {valid} = isDateTimeValueValid({\n\t\tformat,\n\t\tisoWeek,\n\t\tlocale,\n\t\trequired,\n\t\tvalue,\n\t});\n\tif (!valid) return;\n\tupdateProperties({selectedItems: [value]});\n}\n\nfunction setRangeValues(properties, updateProperties) {\n\tconst {\n\t\ttype,\n\t\trangeValueStart,\n\t\trangeValueEnd,\n\t\tformat,\n\t\tlocale,\n\t\tisoWeek,\n\t\trequired,\n\t} = properties;\n\tif (rangeValueStart && rangeValueEnd) {\n\t\tconst {valid: validStart} = isDateTimeValueValid({\n\t\t\tformat,\n\t\t\tisoWeek,\n\t\t\tlocale,\n\t\t\trequired,\n\t\t\trangeValueStart,\n\t\t});\n\t\tconst {valid: validEnd} = isDateTimeValueValid({\n\t\t\tformat,\n\t\t\tisoWeek,\n\t\t\tlocale,\n\t\t\trequired,\n\t\t\trangeValueEnd,\n\t\t});\n\t\tif (!validStart && !validEnd) return;\n\t\tconst itemsToSelect = getSelectedItems(\n\t\t\t[rangeValueStart, rangeValueEnd],\n\t\t\tformat,\n\t\t\tlocale,\n\t\t\ttype,\n\t\t);\n\t\tupdateProperties({selectedItems: itemsToSelect});\n\t} else if (rangeValueStart && !rangeValueEnd) {\n\t\tconst {valid: validStart} = isDateTimeValueValid({\n\t\t\tformat,\n\t\t\tisoWeek,\n\t\t\tlocale,\n\t\t\trequired,\n\t\t\trangeValueStart,\n\t\t});\n\t\tif (!validStart) return;\n\t\tupdateProperties({selectedItems: [rangeValueStart]});\n\t} else {\n\t\tconst {valid: validEnd} = isDateTimeValueValid({\n\t\t\tformat,\n\t\t\tisoWeek,\n\t\t\tlocale,\n\t\t\trequired,\n\t\t\trangeValueEnd,\n\t\t});\n\t\tif (!validEnd) return;\n\t\tupdateProperties({selectedItems: [rangeValueEnd]});\n\t}\n}\n\nfunction getContainerAriaLabel(type, mode) {\n\tconst isInterval = mode === 'interval';\n\tswitch (type) {\n\t\tcase DateTypes.DATE_TIME:\n\t\t\treturn isInterval\n\t\t\t\t? t('Select date and time range')\n\t\t\t\t: t('Select a date and time');\n\t\tcase DateTypes.MONTH:\n\t\t\treturn isInterval ? t('Select month range') : t('Select a month');\n\t\tcase DateTypes.WEEK_YEAR:\n\t\t\treturn isInterval ? t('Select week range') : t('Select a week');\n\t\tcase DateTypes.QUARTER:\n\t\t\treturn isInterval ? t('Select quarter range') : t('Select a quarter');\n\t\tcase DateTypes.YEAR:\n\t\t\treturn isInterval ? t('Select year range') : t('Select a year');\n\t\tdefault:\n\t\t\treturn isInterval ? t('Select date range') : t('Select a date');\n\t}\n}\n\nfunction itemsChanged(value, prevValue) {\n\treturn differenceWith(value, prevValue, isEqual).length > 0;\n}\n\nfunction getDefaultFocusableItem(host, properties, activeType) {\n\tconst {rangeInitiator, mode, type} = properties;\n\tconst isWeekType =\n\t\ttype === DateTypes.WEEK_YEAR &&\n\t\tactiveType !== DateTypes.MONTH &&\n\t\tactiveType !== DateTypes.YEAR;\n\n\tif (mode === 'interval') {\n\t\tconst selectedDates = host.shadowRoot.querySelectorAll('.is-selected');\n\t\tif (selectedDates.length > 0) {\n\t\t\tif (selectedDates.length > 1 && rangeInitiator === 'end') {\n\t\t\t\treturn selectedDates[1];\n\t\t\t}\n\t\t\treturn selectedDates[0];\n\t\t}\n\t\treturn getCurrentOrFocusableDate(host, isWeekType);\n\t}\n\treturn (\n\t\thost.shadowRoot.querySelector('.is-selected') ||\n\t\tgetCurrentOrFocusableDate(host, isWeekType)\n\t);\n}\n\nfunction getCurrentOrFocusableDate(host, isWeekType) {\n\tconst firstFocusableSelector = isWeekType\n\t\t? '.is-focusable.is-week'\n\t\t: '.is-focusable:not(.is-adjacent)';\n\n\treturn (\n\t\thost.shadowRoot.querySelector('.is-now') ||\n\t\thost.shadowRoot.querySelector(firstFocusableSelector)\n\t);\n}\n\nfunction setTimeInputValue({\n\tproperties,\n\tstate,\n\taction,\n\tdispatch,\n\tupdateState,\n\tcontext,\n}) {\n\tconst {\n\t\tselectedItems,\n\t\tformat,\n\t\tmode,\n\t\tinitialTime,\n\t\tinitialTimeStart,\n\t\tinitialTimeEnd,\n\t} = properties;\n\tconst {format: timeFormat, id, input} = action.payload;\n\tconst {[localeContext]: locale, [timezoneContext]: timezone} = context;\n\tlet fallbackTime;\n\n\tconst valueKey =\n\t\taction.type === 'NOW_INPUT_DATE_TIME#VALUE_SET' ? 'value' : 'fieldValue';\n\n\tlet value = action.payload[valueKey];\n\n\t//If a user removes/empties the time property, go back to the `initial` time values.\n\t//if the `initialTime/initialTimeStart/initialTimeEnd` are empty, then go back to the default\n\t//fallback values which are `00:00:00` and `23:59:59` for interval and `00:00:00` for date-time.\n\tif (value.trim().length === 0) {\n\t\tif (input === 'start') {\n\t\t\tfallbackTime = getDefaultTime(initialTimeStart, timeFormat, {\n\t\t\t\tlocale,\n\t\t\t\ttimezone,\n\t\t\t});\n\t\t} else if (input === 'end') {\n\t\t\tfallbackTime = getDefaultTime(initialTimeEnd, timeFormat, locale, 'end');\n\t\t} else {\n\t\t\tfallbackTime = getDefaultTime(initialTime, timeFormat, {\n\t\t\t\tlocale,\n\t\t\t\ttimezone,\n\t\t\t});\n\t\t}\n\t\tconst {time} = getDefault(\n\t\t\tnew Date(),\n\t\t\ttimeFormat,\n\t\t\t{locale, timezone},\n\t\t\tfallbackTime,\n\t\t);\n\t\tvalue = time;\n\t}\n\n\tif (\n\t\t!isMatchTZ(value, timeFormat, {locale}) ||\n\t\tid !== CALENDAR_TIME_INPUT_ID\n\t) {\n\t\treturn;\n\t}\n\n\tconst timeRef = parseTZ(value, timeFormat, new Date(), {locale});\n\n\tif (mode === 'standard') {\n\t\tlet selectedDate = selectedItems?.[0];\n\t\tselectedDate = selectedDate\n\t\t\t? parseTZ(selectedDate, format, new Date(), {locale})\n\t\t\t: new Date();\n\t\tselectedDate = dateFnsSet(selectedDate, {\n\t\t\thours: timeRef.getHours(),\n\t\t\tminutes: timeRef.getMinutes(),\n\t\t\tseconds: timeRef.getSeconds(),\n\t\t\tmilliseconds: timeRef.getMilliseconds(),\n\t\t});\n\n\t\tupdateState({\n\t\t\tpath: 'timeRef',\n\t\t\tvalue: timeRef,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false,\n\t\t});\n\n\t\tdispatch('NOW_DATE_TIME_CALENDAR#SELECTED_ITEMS_SET', {\n\t\t\tvalue: [formatTZ(selectedDate, format, {locale, timezone})],\n\t\t});\n\n\t\treturn;\n\t}\n\n\t// when in interval mode, we want time to send a complete range\n\t// as is appropriate from existing data\n\n\tconst {timeRefStart, timeRefEnd} = state;\n\tlet [dateStart, dateEnd] = selectedItems;\n\n\t//The start/end date is automatically set to today if no date is selected.\n\tdateStart = dateStart\n\t\t? parseTZ(dateStart, format, new Date(), {locale})\n\t\t: new Date();\n\tdateEnd = dateEnd\n\t\t? parseTZ(dateEnd, format, new Date(), {locale})\n\t\t: new Date();\n\n\t//Swaps the date value when today is before start date or after end date.\n\tif (compareAsc(dateStart, dateEnd) === 1) {\n\t\t[dateStart, dateEnd] = [dateEnd, dateStart];\n\t}\n\n\tdateStart = dateFnsSet(dateStart, {\n\t\thours: input === 'start' ? timeRef.getHours() : timeRefStart.getHours(),\n\t\tminutes:\n\t\t\tinput === 'start' ? timeRef.getMinutes() : timeRefStart.getMinutes(),\n\t\tseconds:\n\t\t\tinput === 'start' ? timeRef.getSeconds() : timeRefStart.getSeconds(),\n\t\tmilliseconds:\n\t\t\tinput === 'start'\n\t\t\t\t? timeRef.getMilliseconds()\n\t\t\t\t: timeRefStart.getMilliseconds(),\n\t});\n\tdateEnd = dateFnsSet(dateEnd, {\n\t\thours: input === 'end' ? timeRef.getHours() : timeRefEnd.getHours(),\n\t\tminutes: input === 'end' ? timeRef.getMinutes() : timeRefEnd.getMinutes(),\n\t\tseconds: input === 'end' ? timeRef.getSeconds() : timeRefEnd.getSeconds(),\n\t\tmilliseconds:\n\t\t\tinput === 'end'\n\t\t\t\t? timeRef.getMilliseconds()\n\t\t\t\t: timeRefEnd.getMilliseconds(),\n\t});\n\n\tupdateState({\n\t\tpath: input === 'start' ? 'timeRefStart' : 'timeRefEnd',\n\t\tvalue: timeRef,\n\t\toperation: 'set',\n\t\tshouldRender: false,\n\t});\n\n\tdispatch('NOW_DATE_TIME_CALENDAR#SELECTED_ITEMS_SET', {\n\t\tvalue: [\n\t\t\tformatTZ(dateStart, format, {locale, timezone}),\n\t\t\tformatTZ(dateEnd, format, {locale, timezone}),\n\t\t],\n\t});\n}\n\nfunction setDateItems(properties, dispatch, context) {\n\tconst value = itemsReducer(properties, context);\n\tdispatch('NOW_DATE_TIME_CALENDAR#ITEMS_SET', {value});\n}\n\nexport function parseSubString(str, pattern) {\n\tconst match = str.match(pattern);\n\n\tif (match !== null && match.length) {\n\t\treturn match[0];\n\t}\n}\nfunction getDefaultTime(initialTime, format, options, rangeInitiator) {\n\ttry {\n\t\tif (initialTime) {\n\t\t\tconst timeRef = parseTZ(initialTime, format, new Date(), options);\n\n\t\t\treturn {\n\t\t\t\thours: Number.isNaN(timeRef.getHours()) ? 0 : timeRef.getHours(),\n\t\t\t\tminutes: Number.isNaN(timeRef.getMinutes()) ? 0 : timeRef.getMinutes(),\n\t\t\t\tseconds: Number.isNaN(timeRef.getSeconds()) ? 0 : timeRef.getSeconds(),\n\t\t\t\tmilliseconds: Number.isNaN(timeRef.getMilliseconds())\n\t\t\t\t\t? 0\n\t\t\t\t\t: timeRef.getMilliseconds(),\n\t\t\t};\n\t\t} else if (rangeInitiator) {\n\t\t\treturn {\n\t\t\t\thours: 23,\n\t\t\t\tminutes: 59,\n\t\t\t\tseconds: 59,\n\t\t\t\tmilliseconds: 999,\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\thours: 0,\n\t\t\tminutes: 0,\n\t\t\tseconds: 0,\n\t\t\tmilliseconds: 0,\n\t\t};\n\t} catch (e) {\n\t\treturn {\n\t\t\thours: 0,\n\t\t\tminutes: 0,\n\t\t\tseconds: 0,\n\t\t\tmilliseconds: 0,\n\t\t};\n\t}\n}\nfunction getTimeValue({selectedItems, format, timeFormat, locale, timezone}) {\n\treturn selectedItems.map((item) => {\n\t\tconst ref = parseTZ(item, format, new Date(), {locale});\n\n\t\treturn {ref, time: formatTZ(ref, timeFormat, {locale, timezone})};\n\t});\n}\n\nfunction getDefault(timeRef, timeFormat, context, time) {\n\tconst ref = dateFnsSet(timeRef, time);\n\treturn {ref, time: formatTZ(ref, timeFormat, context)};\n}\n\nfunction getInputSize(theme, value, format) {\n\tconst measureFn = measureText({\n\t\ttxtTransform: theme['--now-date-time--text-transform'],\n\t\tfontStyle: theme['--now-date-time--font-style'],\n\t\tfontFamily: theme['--now-date-time--font-family'],\n\t\tfontSize: '12px',\n\t\tfontWeight: theme['--now-date-time--font-weight'],\n\t});\n\n\tconst valueLength = measureFn(value);\n\tconst formatLength = measureFn(format);\n\tconst size =\n\t\tMath.max(MIN_TIME_INPUT_SIZE, valueLength, formatLength) +\n\t\tINPUT_SIZE_OFFSET;\n\n\treturn size;\n}\n\nfunction renderPaginationButton({\n\taction,\n\tproperties,\n\tactiveType,\n\tdispatch,\n\tupdateState,\n\ticon,\n\tlabel,\n\tcontext,\n}) {\n\tif (activeType) return;\n\n\tconst {type} = properties;\n\n\treturn (\n\t\t<now-button-iconic\n\t\t\tclass={{\n\t\t\t\t'now-date-time-calendar-pagination-button': true,\n\t\t\t\t[`-${action.toLowerCase()}`]: true,\n\t\t\t}}\n\t\t\tbare\n\t\t\tsize=\"sm\"\n\t\t\tvariant=\"secondary\"\n\t\t\ticon={icon}\n\t\t\ton-click={() => {\n\t\t\t\tconst {date} = getDateRef(properties.items, type);\n\t\t\t\tconst value = itemsReducer(\n\t\t\t\t\tproperties,\n\t\t\t\t\tcontext,\n\t\t\t\t\tPaginationTypes[type][action],\n\t\t\t\t\tdate,\n\t\t\t\t);\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'lastFocusedItemId',\n\t\t\t\t\tvalue: null,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false,\n\t\t\t\t});\n\t\t\t\tdispatch('NOW_DATE_TIME_CALENDAR#ITEMS_SET', {value});\n\t\t\t}}\n\t\t\ttooltip-content={label}\n\t\t\tconfig-aria={{button: {'aria-label': label}}}\n\t\t/>\n\t);\n}\n\nfunction renderHeader(state, coeffects) {\n\tconst {items, type} = state?.properties ?? {};\n\tif (!Array.isArray(items) || !items.length || DateTypes.YEAR === type) return;\n\n\tconst {date} = getDateRef(items, type);\n\tconst {dispatch, updateState} = coeffects;\n\tconst {activeType, context} = state;\n\tconst {[localeContext]: locale, [timezoneContext]: timezone} = context;\n\tconst yearLabel = formatTZ(date, STANDALONE_YEAR_FORMAT, {locale, timezone});\n\tconst monthLongName = formatTZ(date, STANDALONE_MONTH_LONG_FORMAT, {\n\t\tlocale,\n\t\ttimezone,\n\t});\n\tconst gridHeading = [\n\t\tDateTypes.DATE,\n\t\tDateTypes.DATE_TIME,\n\t\tDateTypes.WEEK_YEAR,\n\t].includes(type)\n\t\t? `${monthLongName}, ${yearLabel}`\n\t\t: yearLabel;\n\n\treturn (\n\t\t<div className=\"now-date-time-calendar-header\">\n\t\t\t<h2\n\t\t\t\tid=\"grid-heading\"\n\t\t\t\tclassName=\"now-a11y-label\"\n\t\t\t\taria-live=\"polite\"\n\t\t\t\taria-atomic=\"true\"\n\t\t\t>\n\t\t\t\t{gridHeading}\n\t\t\t</h2>\n\t\t\t{[DateTypes.DATE, DateTypes.DATE_TIME, DateTypes.WEEK_YEAR].includes(type)\n\t\t\t\t? renderPaginationButton({\n\t\t\t\t\t\tactiveType,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\taction: PaginationActionTypes.PREVIOUS,\n\t\t\t\t\t\ticon: 'chevron-start-fill',\n\t\t\t\t\t\tlabel: t('Go to previous month'),\n\t\t\t\t\t\tproperties: state.properties,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t})\n\t\t\t\t: null}\n\t\t\t{renderControls(state, coeffects)}\n\t\t\t{[DateTypes.DATE, DateTypes.DATE_TIME, DateTypes.WEEK_YEAR].includes(type)\n\t\t\t\t? renderPaginationButton({\n\t\t\t\t\t\tactiveType,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\taction: PaginationActionTypes.NEXT,\n\t\t\t\t\t\ticon: 'chevron-end-fill',\n\t\t\t\t\t\tlabel: t('Go to next month'),\n\t\t\t\t\t\tproperties: state.properties,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t})\n\t\t\t\t: null}\n\t\t</div>\n\t);\n}\n\nfunction renderDateGrid(state, coeffects) {\n\tconst {type, items} = state.properties;\n\tconst activeType = state.activeType || type;\n\n\tif (!Array.isArray(items) || !items.length) return;\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'now-date-time-calendar-grid-container': true,\n\t\t\t\t[`-${activeType}`]: true,\n\t\t\t}}\n\t\t\trole=\"application\"\n\t\t>\n\t\t\t<table\n\t\t\t\tclass={{'now-date-time-calendar-grid': true}}\n\t\t\t\taria-labelledby=\"grid-heading\"\n\t\t\t>\n\t\t\t\t{renderGrid(state, coeffects)}\n\t\t\t</table>\n\t\t</div>\n\t);\n}\n\nfunction renderTimeInput(state, updateState) {\n\tconst {\n\t\tproperties: {\n\t\t\ttype,\n\t\t\tformat,\n\t\t\trangeInitiator,\n\t\t\trangeValueStart,\n\t\t\trangeValueEnd,\n\t\t\tselectedItems,\n\t\t\tmode,\n\t\t\tinitialTime,\n\t\t\tinitialTimeEnd,\n\t\t\tinitialTimeStart,\n\t\t},\n\t\tcontext: {[localeContext]: locale, [timezoneContext]: timezone},\n\t\tbehaviors: {theme},\n\t} = state;\n\n\tconst isDateTimeType = DateTypes.DATE_TIME === type;\n\tif (state.activeType || !isDateTimeType) return;\n\n\tconst tokenizedFormat = removeEscapedCharacters(format);\n\tconst timeFormat = parseSubString(tokenizedFormat, TIME_FORMAT_PATTERN);\n\tif (!timeFormat) return;\n\n\tconst refs = getTimeValue({\n\t\tselectedItems,\n\t\tformat,\n\t\ttimeFormat,\n\t\tlocale,\n\t\ttimezone,\n\t});\n\n\t/**\n\t * DEF0321215\n\t * There is a bug in Seismic where components using `now-mode` won't\n\t * receive configured property values when switched from `detach`\n\t * to `active` on first render. To get around this, we need to set the\n\t * timeRef directly in render state. Once the bug is resolved, we can\n\t * move this non-sense into COMPONENT_DOM_READY or the like. -GT\n\t */\n\n\tif (mode === 'standard') {\n\t\tconst defaultInitialTime = getDefaultTime(initialTime, timeFormat, {\n\t\t\tlocale,\n\t\t\ttimezone,\n\t\t});\n\t\tconst {ref: defaultRef, time: defaultTime} = getDefault(\n\t\t\trefs?.[0]?.ref ?? new Date(),\n\t\t\ttimeFormat,\n\t\t\t{locale, timezone},\n\t\t\tdefaultInitialTime,\n\t\t);\n\n\t\tupdateState({\n\t\t\tpath: 'timeRef',\n\t\t\tvalue: refs?.[0]?.ref ?? defaultRef,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false,\n\t\t});\n\n\t\tconst value = refs?.[0]?.time ?? defaultTime;\n\t\tconst inputSize = getInputSize(theme, value, timeFormat);\n\t\tconst inputLabel = t({\n\t\t\tcode: 'now-date-time-time-input-label',\n\t\t\tmessage: 'Time',\n\t\t\tcomment: 'Noun. Label for a time input.',\n\t\t});\n\n\t\treturn (\n\t\t\t<now-input-date-time\n\t\t\t\tclassName=\"now-date-time-calendar-input-time\"\n\t\t\t\tlabel={inputLabel}\n\t\t\t\tvalue={value}\n\t\t\t\tsize=\"sm\"\n\t\t\t\tstyle={{inlineSize: `${inputSize}px`}}\n\t\t\t\tformat={timeFormat}\n\t\t\t\tappend-to-payload={{id: CALENDAR_TIME_INPUT_ID}}\n\t\t\t/>\n\t\t);\n\t}\n\n\t// if we have one value, ensure index access is predictable for start/end values\n\t// worth noting that this logic relies on the idea that there will only ever be two selected items for a range\n\tif (refs.length === 1) {\n\t\t// selected items are start/end agnostic inside the calendar panel\n\t\t// to ensure we push or shift items correctly we need to know if the value we have\n\t\t// represents a start or end input\n\n\t\tif (rangeInitiator === 'start') {\n\t\t\tif (\n\t\t\t\trangeValueStart &&\n\t\t\t\tdateFnsIsEqual(\n\t\t\t\t\trefs[0].ref,\n\t\t\t\t\tparseTZ(rangeValueStart, format, new Date(), {locale}),\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\trefs.push({ref: null, time: null});\n\t\t\t} else {\n\t\t\t\trefs.unshift({ref: null, time: null});\n\t\t\t}\n\t\t} else {\n\t\t\tif (\n\t\t\t\trangeValueEnd &&\n\t\t\t\tdateFnsIsEqual(\n\t\t\t\t\trefs[0].ref,\n\t\t\t\t\tparseTZ(rangeValueEnd, format, new Date(), {locale}),\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\trefs.unshift({ref: null, time: null});\n\t\t\t} else {\n\t\t\t\trefs.push({ref: null, time: null});\n\t\t\t}\n\t\t}\n\t}\n\n\tconst defaultInitialTimeStart = getDefaultTime(initialTimeStart, timeFormat, {\n\t\tlocale,\n\t\ttimezone,\n\t});\n\tconst defaultInitialTimeEnd = getDefaultTime(\n\t\tinitialTimeEnd,\n\t\ttimeFormat,\n\t\tlocale,\n\t\t'end',\n\t);\n\tconst {ref: defaultRefStart, time: defaultTimeStart} = getDefault(\n\t\trefs?.[0]?.ref ?? new Date(),\n\t\ttimeFormat,\n\t\t{locale, timezone},\n\t\tdefaultInitialTimeStart,\n\t);\n\tconst {ref: defaultRefEnd, time: defaultTimeEnd} = getDefault(\n\t\trefs?.[1]?.ref ?? new Date(),\n\t\ttimeFormat,\n\t\tlocale,\n\t\tdefaultInitialTimeEnd,\n\t);\n\n\tupdateState([\n\t\t{\n\t\t\tpath: 'timeRefStart',\n\t\t\tvalue: refs?.[0]?.ref ?? defaultRefStart,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false,\n\t\t},\n\t\t{\n\t\t\tpath: 'timeRefEnd',\n\t\t\tvalue: refs?.[1]?.ref ?? defaultRefEnd,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false,\n\t\t},\n\t]);\n\n\tconst valueStart = refs?.[0]?.time ?? defaultTimeStart;\n\tconst valueEnd = refs?.[1]?.time ?? defaultTimeEnd;\n\tconst startTimeLabel = t({\n\t\tcode: 'now-date-time-calendar-input-time-start-label',\n\t\tmessage: 'Start time',\n\t\tcomment: 'Noun. Label for an input to set the beginning of a time range.',\n\t});\n\tconst endTimeLabel = t({\n\t\tcode: 'now-date-time-calendar-input-time-end-label',\n\t\tmessage: 'End time',\n\t\tcomment: 'Noun. Label for an input to set the end of a time range.',\n\t});\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'now-date-time-calendar-input-time': true,\n\t\t\t\t['-' + mode]: true,\n\t\t\t}}\n\t\t>\n\t\t\t<now-input-date-time\n\t\t\t\tlabel={startTimeLabel}\n\t\t\t\tvalue={valueStart}\n\t\t\t\tsize=\"sm\"\n\t\t\t\tformat={timeFormat}\n\t\t\t\tappend-to-payload={{id: CALENDAR_TIME_INPUT_ID, input: 'start'}}\n\t\t\t/>\n\t\t\t<now-input-date-time\n\t\t\t\tlabel={endTimeLabel}\n\t\t\t\tvalue={valueEnd}\n\t\t\t\tsize=\"sm\"\n\t\t\t\tformat={timeFormat}\n\t\t\t\tappend-to-payload={{id: CALENDAR_TIME_INPUT_ID, input: 'end'}}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nfunction renderCustomFooterActions(footerActions, dispatch) {\n\treturn footerActions\n\t\t.slice(0, 2)\n\t\t.map((action) => {\n\t\t\tconst {\n\t\t\t\tvariant,\n\t\t\t\tlabel,\n\t\t\t\tbare,\n\t\t\t\tdisabled,\n\t\t\t\ttooltipContent,\n\t\t\t\tclickActionType,\n\t\t\t\tconfigAria,\n\t\t\t\tcloseCalendar,\n\t\t\t} = action;\n\n\t\t\tconst type =\n\t\t\t\tclickActionType || 'NOW_DATE_TIME_CALENDAR#FOOTER_ACTION_CLICKED';\n\n\t\t\tconst actionProps = {\n\t\t\t\tsize: 'sm',\n\t\t\t\tkey: clickActionType,\n\t\t\t\tclassName: 'now-date-time-calendar-footer-action',\n\t\t\t\tvariant,\n\t\t\t\tlabel,\n\t\t\t\tdisabled,\n\t\t\t\ttooltipContent,\n\t\t\t\tconfigAria,\n\t\t\t\t'on-click': () => {\n\t\t\t\t\tif (disabled) return;\n\t\t\t\t\tdispatch(type, {action});\n\t\t\t\t\tif (clickActionType && closeCalendar) dispatch('PRIVATE#FOCUS_INPUT');\n\t\t\t\t},\n\t\t\t};\n\n\t\t\treturn bare ? (\n\t\t\t\t<now-button-bare {...actionProps} />\n\t\t\t) : (\n\t\t\t\t<now-button {...actionProps} />\n\t\t\t);\n\t\t})\n\t\t.reverse();\n}\n\nfunction renderDefaultFooterActions(state, dispatch) {\n\tconst {rangeInitiator, defaultFooterActionLabels} = state.properties;\n\t// For interval picker, check will use multiple date items\n\tconst {fallbackValues} = state;\n\tlet cancelLabel;\n\tlet applyLabel;\n\tif (defaultFooterActionLabels.cancel === 'Cancel') {\n\t\tcancelLabel = t({\n\t\t\tcode: 'now-date-time-calendar-footer-action-cancel-label',\n\t\t\tmessage: 'Cancel',\n\t\t\tcomment: 'Verb. Label for an action button.',\n\t\t});\n\t} else {\n\t\tcancelLabel = defaultFooterActionLabels.cancel;\n\t}\n\tif (defaultFooterActionLabels.apply === 'Apply') {\n\t\tapplyLabel = t({\n\t\t\tcode: 'now-date-time-calendar-footer-action-apply-label',\n\t\t\tmessage: 'Apply',\n\t\t\tcomment: 'Verb. Label for an action button.',\n\t\t});\n\t} else {\n\t\tapplyLabel = defaultFooterActionLabels.apply;\n\t}\n\treturn (\n\t\t<Fragment>\n\t\t\t<now-button\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\tlabel={cancelLabel}\n\t\t\t\tclassName=\"now-date-time-calendar-footer-action\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\ton-click={() => {\n\t\t\t\t\tdispatch(() => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttype: 'NOW_DATE_TIME_CALENDAR#SELECTED_ITEMS_SET',\n\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\tvalue: fallbackValues ?? [],\n\t\t\t\t\t\t\t\tinitiator: 'CALENDAR_FOOTER_CANCEL_BUTTON',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t\tdispatch('NOW_DATE_TIME_CALENDAR#FOOTER_ACTION_CLICKED', {\n\t\t\t\t\t\taction: {isDefault: true},\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t<now-button\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tlabel={applyLabel}\n\t\t\t\tclassName=\"now-date-time-calendar-footer-action\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\ton-click={() => {\n\t\t\t\t\tdispatch('NOW_DATE_TIME_CALENDAR#FOOTER_ACTION_CLICKED', {\n\t\t\t\t\t\taction: {isDefault: true},\n\t\t\t\t\t\tappendToPayload: {applyLabel, rangeInitiator},\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t/>\n\t\t</Fragment>\n\t);\n}\n\nfunction renderFooterActions(state, dispatch) {\n\tconst {footerActions, showDefaultFooterActions} = state.properties;\n\n\tif (footerActions.length) {\n\t\treturn renderCustomFooterActions(footerActions, dispatch);\n\t} else if (showDefaultFooterActions) {\n\t\treturn renderDefaultFooterActions(state, dispatch);\n\t}\n}\n\nfunction getTodayButtonLabel(type) {\n\tconst nowLabel = t({\n\t\tcode: 'now-date-time-calendar-footer-action-today-label',\n\t\tmessage: 'Now',\n\t\tcomment:\n\t\t\t'As in, the present moment. Causes a date/time selector to jump to the current date/time.',\n\t});\n\tif (type === DateTypes.MONTH) return t('Current month');\n\telse if (type === DateTypes.YEAR) return t('Current year');\n\telse if (type === DateTypes.QUARTER) return t('Current quarter');\n\telse if (type === DateTypes.DATE_TIME) return nowLabel;\n\telse if (type === DateTypes.WEEK_YEAR) return t('Current week');\n\telse return t('Today');\n}\n\nfunction renderFooter(state, dispatch) {\n\tconst {\n\t\tformat,\n\t\tshowDefaultFooterActions,\n\t\tfooterActions,\n\t\thideFooter,\n\t\ttype,\n\t\tmode,\n\t} = state.properties;\n\tconst {[localeContext]: locale, [timezoneContext]: timezone} = state.context;\n\tif (hideFooter) return;\n\n\tif (\n\t\tmode === 'interval' &&\n\t\t!footerActions.length &&\n\t\t!showDefaultFooterActions\n\t) {\n\t\treturn;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'now-date-time-calendar-footer': true,\n\t\t\t\t'has-footer-actions': footerActions.length || showDefaultFooterActions,\n\t\t\t\t['-' + mode]: true,\n\t\t\t}}\n\t\t>\n\t\t\t{mode === 'standard' && (\n\t\t\t\t<now-button-bare\n\t\t\t\t\tclassName=\"now-date-time-calendar-footer-action now-date-time-calendar-footer-action-today\"\n\t\t\t\t\tlabel={getTodayButtonLabel(state.activeType || type)}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\tif (state.activeType) {\n\t\t\t\t\t\t\tconst item = {date: new Date()};\n\t\t\t\t\t\t\tdispatch('PRIVATE#SELECT_ITEM', {item});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdispatch('NOW_DATE_TIME_CALENDAR#SELECTED_ITEMS_SET', {\n\t\t\t\t\t\t\t\tvalue: [formatTZ(new Date(), format, {locale, timezone})],\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tdispatch('NOW_DATE_TIME_CALENDAR#FOOTER_ACTION_CLICKED', {\n\t\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\t\tisToday: true,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tinitiator: state.activeType || type,\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{renderFooterActions(state, dispatch)}\n\t\t</div>\n\t);\n}\n\nconst view = (state, coeffects) => {\n\tconst {format, configAria, type, mode, enablePresets} = state.properties;\n\tconst {updateState} = coeffects;\n\tconst isWeekType = type === DateTypes.WEEK_YEAR;\n\n\t// DEF0321215: First render doesn't receive values from\n\t// parent component, resulting in an error.\n\tif (!format) return;\n\n\tlet role = undefined;\n\tif (!enablePresets) {\n\t\trole = state.standalone ? 'group' : 'dialog';\n\t}\n\n\t// 'role=\"application\"' forces JAWS and NVDA into the\n\t// appropriate mode for navigating controls, aka\n\t// \"focus\" mode. Otherwise, SRs will assume the dialog\n\t// is a document and use \"browse\" mode, which isn't\n\t// suitable for grids and inputs.\n\t// Reading: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/application_role\n\treturn (\n\t\t<div\n\t\t\ton-mouseleave={() =>\n\t\t\t\t!isWeekType\n\t\t\t\t\t? updateState({selectionPreviewInterval: null})\n\t\t\t\t\t: updateState({weekPreviewInterval: null})\n\t\t\t}\n\t\t>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'now-date-time-calendar': true,\n\t\t\t\t\t'is-week': isWeekType,\n\t\t\t\t}}\n\t\t\t\taria-label={!enablePresets && getContainerAriaLabel(type, mode)}\n\t\t\t\t{...filterAriaAttributes(configAria, 'container')}\n\t\t\t\trole={role}\n\t\t\t>\n\t\t\t\t{renderHeader(state, coeffects)}\n\t\t\t\t{renderDateGrid(state, coeffects)}\n\t\t\t\t{renderTimeInput(state, updateState)}\n\t\t\t\t{renderFooter(state, coeffects.dispatch)}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\n/**\n * Calendar component to display the current date. If the `format` property contains time\n * tokens, a time input field is also displayed.\n *\n * ```jsx\n * <now-date-time-calendar />\n * <now-date-time-calendar mode=\"interval\" type=\"date-time\" format=\"yyyy/MM/dd hh:mm:ss a\" />\n * ```\n *\n * @seismicElement now-date-time-calendar\n * @summary A calendar to display the date and time.\n */\ncreateEnhancedElement('now-date-time-calendar', {\n\tproperties: {\n\t\t/**\n\t\t * The type of calendar (ie date, date-time, month, etc)\n\t\t * @type {('date'|'date-time'|'time'|'year'|'month'|'quarter'|'week-year')}\n\t\t */\n\t\ttype: {\n\t\t\tdefault: 'date',\n\t\t\tschema: typesSchema,\n\t\t},\n\t\t/**\n\t\t * The mode of the calendar (standard, interval)\n\t\t * @type {('standard' | 'interval')}\n\t\t */\n\t\tmode: {\n\t\t\tdefault: 'standard',\n\t\t\tschema: {type: 'string', enum: ['standard', 'interval']},\n\t\t},\n\t\t/**\n\t\t * Configures the Unicode Technical Standard (UTS) format of the input value.\n\t\t * See UTS and other supported format characters in the [`date-fns` library](https://date-fns.org/v2.28.0/docs/format).\n\t\t * @type {string}\n\t\t */\n\t\tformat: {\n\t\t\t// Workaround DEF0321215:\n\t\t\t// This default ensures the component doesn't\n\t\t\t// blow up on first render due to missing\n\t\t\t// parent-defined value on first render.\n\t\t\tdefault: DateFormatTypes.DATE,\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\t/**\n\t\t * Configures the label value of the default footer action buttons\n\t\t * Allows for the use of default footer action functionality with\n\t\t * custom label names.\n\t\t * @type {string}\n\t\t */\n\t\tdefaultFooterActionLabels: {\n\t\t\tdefault: {apply: 'Apply', cancel: 'Cancel'},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * The items used to populate the calendar.\n\t\t * Make public when 'custom' calendar type is supported.\n\t\t * @type {[]}\n\t\t * @private\n\t\t */\n\t\titems: {\n\t\t\tdefault: [],\n\t\t\tmanageable: true,\n\t\t\tschema: itemsSchema,\n\t\t},\n\t\t/**\n\t\t * An array of the selected items. The items can be either a range of dates or a single date\n\t\t * @type {[]}\n\t\t */\n\t\tselectedItems: {\n\t\t\tdefault: [],\n\t\t\tmanageable: true,\n\t\t\tschema: selectedItemsSchema,\n\t\t},\n\t\t/**\n\t\t * Enable or disable the ability to select the same date when selecting a range of dates\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tallowDuplicates: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * Controls what is selected first when selecting a range of dates.\n\t\t * When editing a range of dates, if the range initiator is set to 'start', a new start date will be selected.\n\t\t * When editing a range of dates, if the range initiator is set to 'end', a new end date will be selected.\n\t\t * @type {('start'|'end')}\n\t\t */\n\t\trangeInitiator: {\n\t\t\tdefault: 'start',\n\t\t\tschema: {type: 'string', enum: ['start', 'end']},\n\t\t},\n\t\t/**\n\t\t * The value of the selected date (use this property to preselect a date)\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\t/**\n\t\t * The value of the start of the range of dates\n\t\t * @type {string}\n\t\t */\n\t\trangeValueStart: {\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\t/**\n\t\t * The value of the end of the range of dates\n\t\t * @type {string}\n\t\t */\n\t\trangeValueEnd: {\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\t/**\n\t\t * An array of objects representing disabled dates. String values\n\t\t * must be date strings matching the given `format` property.\n\t\t * Accepted value types:\n\t\t * - Value, e.g. `{value: \"2020/01/01\"}`\n\t\t * - Interval, e.g. `{start: \"2020/01/01\", end: \"2020/12/31\"}`\n\t\t * - Before-interval, e.g. `{before: \"2020/01/01\"}`\n\t\t * - After-interval, e.g. `{after: \"2020/01/01\"}`\n\t\t *\n\t\t * Setting this field ensures the `items` property shows relevant disabled\n\t\t * date items if they are within the visible interval.\n\t\t * @type {Array.<({value: Date}|{start: Date, end: Date}|{before: Date}|{after: Date})>}\n\t\t */\n\t\tdisabledItems: {\n\t\t\tdefault: [],\n\t\t\tschema: disabledItemsSchema,\n\t\t},\n\t\t/**\n\t\t * Configures the first day of the week on the calendar panel.\n\t\t * Value can range from `0` (Sunday) to `6` (Saturday).\n\t\t * Only applies when the `type` property is `date` or `date-time`.\n\t\t * @type {(0|1|2|3|4|5|6)}\n\t\t */\n\t\tfirstDayOfWeek: {\n\t\t\tdefault: 0,\n\t\t\tschema: {type: 'integer', enum: [0, 1, 2, 3, 4, 5, 6]},\n\t\t},\n\t\t/**\n\t\t * If true and `type` is `'date'`, the calendar won't show dates outside the\n\t\t * displayed month interval.\n\t\t * @type {boolean}\n\t\t */\n\t\thideAdjacentDates: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * An array of objects that defines the buttons in the calendar footer. You\n\t\t * can define up to two buttons, set from right to left.\n\t\t *\n\t\t * If defined, overrides `showDefaultFooterActions`. The user is responsible\n\t\t * for setting the `opened` property in response to `action.clickActionType`.\n\t\t *\n\t\t * The keys of each object are properties for `now-button`. See\n\t\t * `now-button` for more documentation on these properties.\n\t\t * @type {{ label: string, variant: string, disabled: boolean, bare: boolean, tooltipContent: string, clickActionType: string, configAria: object}[]}\n\t\t */\n\t\tfooterActions: {\n\t\t\tdefault: [],\n\t\t\tschema: footerActionsSchema,\n\t\t},\n\t\t/**\n\t\t * If true, shows default footer actions.\n\t\t * This is always overridden by the `footerActions` property.\n\t\t * @type {boolean}\n\t\t */\n\t\tshowDefaultFooterActions: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * Hides the footer.\n\t\t * @type {boolean}\n\t\t */\n\t\thideFooter: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * When true and type is `week-year`, the date calculation accounts for a ISO week.\n\t\t * @type {boolean}\n\t\t */\n\t\tisoWeek: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * Disables weekend days on the 'date' calendar type. Values used are\n\t\t * determined by the `weekendDays` property.\n\t\t * @type {boolean}\n\t\t */\n\t\tdisableWeekends: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * Configure which days are weekend days. Defaults to `6` (Saturday) and `0` (Sunday).\n\t\t * @type {number[]}\n\t\t */\n\t\tweekendDays: {\n\t\t\tdefault: [6, 0],\n\t\t\tschema: {type: 'array', items: {type: 'number'}},\n\t\t},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * component. The value of each key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s. These ARIA\n\t\t * properties are set on the specified element. Note that `role`\n\t\t * is not configurable in order to enforce correct accessibility standards.\n\t\t * The 'container' key corresponds to the container of the date/time picker\n\t\t * in now-date-time-calendar.\n\t\t * @type {{ 'aria-*': string }}\n\t\t */\n\t\tconfigAria: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {container: configAriaSchema},\n\t\t\t\tadditionalProperties: false,\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tenablePresets: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * Configures the length of the weekday headings.\n\t\t * @type {('short'|'narrow')}\n\t\t */\n\t\tweekdayHeadings: {\n\t\t\tdefault: 'narrow',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['short', 'narrow'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Configures the initial time for the date-time component format.\n\t\t * @type {string}\n\t\t */\n\t\tinitialTime: {\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\t/**\n\t\t * Configures the initial start time for the interval\n\t\t * @type {string}\n\t\t */\n\t\tinitialTimeStart: {\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\t/**\n\t\t * Configures the initial end time  for the interval\n\t\t * @type {string}\n\t\t */\n\t\tinitialTimeEnd: {\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\t/**\n\t\t * Configures the range of years visible in the calendar.\n\t\t * Can either be relative to the current year, or an absolute range.\n\t\t * The default range is 50 years before and after the current year.\n\t\t * Note: years can be input in the field even if outside of this range.\n\t\t * @type {{start: number, end: number, relative: boolean}}\n\t\t */\n\t\tyearRange: {\n\t\t\tdefault: {start: -50, end: 50, relative: true},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tstart: {type: 'number'},\n\t\t\t\t\tend: {type: 'number'},\n\t\t\t\t\trelative: {type: 'boolean'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when items have changed.\n\t\t * Set the `manage-items` property to override the default behavior and\n\t\t * handle this action manually.\n\t\t * @type {[]}\n\t\t */\n\t\t'NOW_DATE_TIME_CALENDAR#ITEMS_SET': {},\n\t\t/**\n\t\t * Dispatched when selected items have been changed.\n\t\t * Set the `manage-selected-items` property to override the default behavior and\n\t\t * handle this action manually.\n\t\t * @type {[]}\n\t\t */\n\t\t'NOW_DATE_TIME_CALENDAR#SELECTED_ITEMS_SET': {},\n\t\t/**\n\t\t * Dispatched when the user clicks on a footer action item. Payload\n\t\t * includes a reference to the clicked item and action.\n\t\t * The payload is determined by the component configuration:\n\t\t * - If `showDefaultFooterActions` is `true`, the `action` object has one key, `isDefault`, which is always `true`.\n\t\t * - If `footerActions` property is given, set `action.clickActionType` to override the action type.\n\t\t * @type {{action: Object}}\n\t\t */\n\t\t'NOW_DATE_TIME_CALENDAR#FOOTER_ACTION_CLICKED': {},\n\t},\n\tsetInitialState() {\n\t\treturn {\n\t\t\tactiveType: null,\n\t\t\ttimeRef: null,\n\t\t\ttimeRefEnd: null,\n\t\t\ttimeRefStart: null,\n\t\t\tfocusInfo: null,\n\t\t\tfallbackValues: [],\n\t\t\tlastFocusedItemId: null,\n\t\t\tselectionPreviewInterval: null,\n\t\t\tweekPreviewInterval: null,\n\t\t\tselectingSecondDate: false,\n\t\t\tstandalone: true,\n\t\t};\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_READY]({\n\t\t\tproperties,\n\t\t\taction: {meta},\n\t\t\tupdateState,\n\t\t\tupdateProperties,\n\t\t\tdispatch,\n\t\t\tcontext,\n\t\t}) {\n\t\t\tconst {\n\t\t\t\tnowHoist,\n\t\t\t\ttype,\n\t\t\t\tselectedItems,\n\t\t\t\tvalue,\n\t\t\t\trangeValueStart,\n\t\t\t\trangeValueEnd,\n\t\t\t\tmode,\n\t\t\t} = properties;\n\t\t\tconst typeIsPreset = presetTypes.includes(type);\n\t\t\tif (meta.appended) {\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'standalone',\n\t\t\t\t\tvalue: false,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false,\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (typeIsPreset && nowHoist) {\n\t\t\t\tupdateState({\n\t\t\t\t\tactiveType: null,\n\t\t\t\t\tfallbackValues: selectedItems,\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (\n\t\t\t\t(rangeValueStart || rangeValueEnd) &&\n\t\t\t\tselectedItems.length === 0 &&\n\t\t\t\tmode === 'interval' &&\n\t\t\t\t!meta.appended\n\t\t\t) {\n\t\t\t\tsetRangeValues(properties, updateProperties);\n\t\t\t}\n\t\t\tif (\n\t\t\t\tvalue &&\n\t\t\t\tselectedItems.length === 0 &&\n\t\t\t\tmode === 'standard' &&\n\t\t\t\t!meta.appended\n\t\t\t) {\n\t\t\t\tsetValue(properties, updateProperties);\n\t\t\t}\n\t\t\tsetDateItems(properties, dispatch, context);\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]({\n\t\t\tstate: {lastFocusedItemId, selectingSecondDate},\n\t\t\taction: {payload, meta},\n\t\t\tproperties,\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\tupdateProperties,\n\t\t\tcontext,\n\t\t}) {\n\t\t\tconst {selectedItems, disabledItems, nowHoist, mode} = properties;\n\t\t\tconst {name, previousValue} = payload;\n\t\t\tconst typeIsPreset = presetTypes.includes(properties.type);\n\t\t\tconst isHoisted = name === 'nowHoist' && nowHoist;\n\t\t\t// Only a preset `type` of calendar will trigger these changes\n\t\t\t// When custom calendars become supported, we should dispatch\n\t\t\t// an action to let customers know a significant property\n\t\t\t// has changed so it can be caught and trigger a calendar change\n\t\t\t// in their own implementation.\n\t\t\tif (typeIsPreset) {\n\t\t\t\tif (isHoisted) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tactiveType: null,\n\t\t\t\t\t\t// For interval picker, check will use multiple date items\n\t\t\t\t\t\tfallbackValues: selectedItems,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\t(name === 'rangeValueStart' || name === 'rangeValueEnd') &&\n\t\t\t\t\t!meta.appended &&\n\t\t\t\t\tmode === 'interval'\n\t\t\t\t) {\n\t\t\t\t\tsetRangeValues(properties, updateProperties);\n\t\t\t\t}\n\t\t\t\tif (name === 'value' && !meta.appended && mode === 'standard') {\n\t\t\t\t\tsetValue(properties, updateProperties);\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\tisHoisted ||\n\t\t\t\t\tname === 'type' ||\n\t\t\t\t\tname === 'format' ||\n\t\t\t\t\tname === 'firstDayOfWeek' ||\n\t\t\t\t\tname === 'hideAdjacentDates' ||\n\t\t\t\t\t// selectedItems/disabledItems can be returned as a new array\n\t\t\t\t\t// each render, resulting in unnecessary rebuilding of new\n\t\t\t\t\t// date items. Instead, we can shallow compare the values to\n\t\t\t\t\t// determine if date items need to change.\n\t\t\t\t\t(name === 'selectedItems' &&\n\t\t\t\t\t\tselectedItems.length !== previousValue.length) ||\n\t\t\t\t\t(name === 'selectedItems' &&\n\t\t\t\t\t\titemsChanged(selectedItems, previousValue)) ||\n\t\t\t\t\t(name === 'disabledItems' &&\n\t\t\t\t\t\titemsChanged(disabledItems, previousValue))\n\t\t\t\t) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tname === 'selectedItems' &&\n\t\t\t\t\t\tselectedItems.length === 1 &&\n\t\t\t\t\t\tmode === 'interval'\n\t\t\t\t\t) {\n\t\t\t\t\t\tupdateState({selectingSecondDate: true});\n\t\t\t\t\t}\n\t\t\t\t\t// when there are multiple dates, we want to keep the calendar focus on what was last selected\n\t\t\t\t\tif (name === 'selectedItems' && selectedItems.length > 1) {\n\t\t\t\t\t\tlet item = getItemById(lastFocusedItemId, properties.items);\n\t\t\t\t\t\t// keep focus on correct date, if there is no item, allow default (ie: last item) be assumed\n\t\t\t\t\t\t// unless it's coming from date-time-presets panel\n\t\t\t\t\t\tif (item && selectingSecondDate) {\n\t\t\t\t\t\t\tproperties.focusDate = item.date;\n\t\t\t\t\t\t\tupdateState({selectingSecondDate: false});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tsetDateItems(properties, dispatch, context);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_RENDERED]({\n\t\t\thost,\n\t\t\tstate,\n\t\t\tproperties,\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t}) {\n\t\t\tconst {focusInfo} = state;\n\t\t\tconst {nowHoist: hasRendered, type: currentType} = properties;\n\t\t\tconst {type: prevPropertyType, nowHoist: hasPreviousRendered} =\n\t\t\t\taction.payload.previousRenderProperties;\n\t\t\tconst {activeType: prevActiveType} = action.payload.previousRenderState;\n\t\t\tconst hostEl = action.meta.hoistHost || host;\n\t\t\tconst stateTypeChanged = state.activeType !== prevActiveType;\n\t\t\tconst propTypeChanged = properties.type !== prevPropertyType;\n\t\t\tconst typeChanged = stateTypeChanged || propTypeChanged;\n\t\t\tif (\n\t\t\t\ttypeChanged ||\n\t\t\t\t(currentType === DateTypes.YEAR && !hasPreviousRendered && hasRendered)\n\t\t\t) {\n\t\t\t\tdispatch('PRIVATE#FOCUS_GRID');\n\t\t\t}\n\n\t\t\t// `focusInfo` is set when a directional key was used and\n\t\t\t// pagination to a new list of items (e.g., new month or year)\n\t\t\t// needs to occur before the correct grid item receives focus.\n\t\t\t// Examples:\n\t\t\t// - PageUp/PageDown keys (with or without shift)\n\t\t\t// - Arrow key at the top or bottom edges of the grid\n\t\t\tif (focusInfo) {\n\t\t\t\thandleFocusAfterTransition(focusInfo, hostEl, properties);\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'focusInfo',\n\t\t\t\t\tvalue: null,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// If a rerender occurs and the lastFocusedItemId is null,\n\t\t\t// re-set the id to an item so the grid can receive focus\n\t\t\tif (!state.lastFocusedItemId) {\n\t\t\t\tconst item = getDefaultFocusableItem(\n\t\t\t\t\thostEl,\n\t\t\t\t\tproperties,\n\t\t\t\t\tstate.activeType,\n\t\t\t\t);\n\t\t\t\tconst id = item?.dataset.itemId;\n\n\t\t\t\tif (id) updateState({lastFocusedItemId: id});\n\t\t\t}\n\t\t},\n\t\t['NOW_INPUT_DATE_TIME#VALUE_SET']: setTimeInputValue,\n\t\t['NOW_INPUT_DATE_TIME#ENTER_KEYDOWN']: setTimeInputValue,\n\t\t/**\n\t\t * This is a generic handler to focus an item in the grid\n\t\t * based on priority:\n\t\t *\n\t\t * 1. selected item\n\t\t * 2. current item (e.g., today)\n\t\t * 3. 1st of the month (first non-adjacent item)\n\t\t */\n\t\t['PRIVATE#FOCUS_GRID']: {\n\t\t\tstopPropagation: true,\n\t\t\teffect({host, action, properties, state}) {\n\t\t\t\tconst hostEl = action.meta.hoistHost || host;\n\t\t\t\tconst activeOrSelected = getDefaultFocusableItem(\n\t\t\t\t\thostEl,\n\t\t\t\t\tproperties,\n\t\t\t\t\tstate.activeType,\n\t\t\t\t);\n\n\t\t\t\tif (activeOrSelected) {\n\t\t\t\t\tactiveOrSelected.scrollIntoView({\n\t\t\t\t\t\tbehavior: 'smooth',\n\t\t\t\t\t\tblock: 'nearest',\n\t\t\t\t\t\tinline: 'nearest',\n\t\t\t\t\t});\n\t\t\t\t\tactiveOrSelected.focus({preventScroll: true});\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Depending on the grid type, this triggers an item selection handler.\n\t\t */\n\t\t['PRIVATE#SELECT_ITEM']: {\n\t\t\tstopPropagation: true,\n\t\t\teffect({context, action, state, properties, updateState, dispatch}) {\n\t\t\t\tconst {type} = properties;\n\t\t\t\tconst {item} = action.payload;\n\t\t\t\tconst activeType = state.activeType || type;\n\n\t\t\t\tItemClickHandlers[activeType](\n\t\t\t\t\titem.date,\n\t\t\t\t\t{context, updateState, dispatch, state, properties},\n\t\t\t\t\tstate.activeType !== type,\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * This is triggered when a directional navigation key is used\n\t\t * on a calendar grid cell. E.g., left arrow focuses previous logical\n\t\t * item, depending on document direction.\n\t\t */\n\t\t['PRIVATE#FOCUS_ITEM']: {stopPropagation: true, effect: handleItemFocus},\n\t\t['PRIVATE#SELECT_ITEM_PREVIEW']: {\n\t\t\tstopPropagation: true,\n\t\t\tmodifier: {\n\t\t\t\tname: modifierTypes.DEBOUNCE,\n\t\t\t\tdelay: 25,\n\t\t\t\tmaxWait: 75,\n\t\t\t\tcollate: false,\n\t\t\t},\n\t\t\teffect({action: {payload}, context, properties, state, updateState}) {\n\t\t\t\tconst {\n\t\t\t\t\titems,\n\t\t\t\t\tformat,\n\t\t\t\t\trangeInitiator,\n\t\t\t\t\tselectedItems,\n\t\t\t\t\tmode,\n\t\t\t\t\ttype,\n\t\t\t\t\tisoWeek,\n\t\t\t\t} = properties;\n\t\t\t\tconst {activeItems} = state;\n\t\t\t\tconst isWeekItem = type === DateTypes.WEEK_YEAR;\n\n\t\t\t\tconst target =\n\t\t\t\t\tgetItemById(payload.id, items)?.date ??\n\t\t\t\t\tgetItemById(payload.id, activeItems)?.date;\n\n\t\t\t\tif (isWeekItem) {\n\t\t\t\t\tconst isoWeekStartOn = isoWeek ? {weekStartsOn: 1} : {};\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tweekPreviewInterval: {\n\t\t\t\t\t\t\tstart: dateFnsSet(startOfWeek(target, isoWeekStartOn), {\n\t\t\t\t\t\t\t\thours: 0,\n\t\t\t\t\t\t\t\tminutes: 0,\n\t\t\t\t\t\t\t\tseconds: 0,\n\t\t\t\t\t\t\t\tmilliseconds: 0,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tend: dateFnsSet(lastDayOfWeek(target, isoWeekStartOn), {\n\t\t\t\t\t\t\t\thours: 0,\n\t\t\t\t\t\t\t\tminutes: 0,\n\t\t\t\t\t\t\t\tseconds: 0,\n\t\t\t\t\t\t\t\tmilliseconds: 0,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (mode !== 'interval' || !selectedItems.length) return;\n\n\t\t\t\tconst {[localeContext]: locale} = context;\n\n\t\t\t\tif (selectedItems.length === 1) {\n\t\t\t\t\tconst selected = dateFnsSet(\n\t\t\t\t\t\tparseTZ(selectedItems[0], format, new Date(), {\n\t\t\t\t\t\t\tlocale,\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\thours: 0,\n\t\t\t\t\t\t\tminutes: 0,\n\t\t\t\t\t\t\tseconds: 0,\n\t\t\t\t\t\t\tmilliseconds: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t);\n\t\t\t\t\tconst dates = [selected, target];\n\t\t\t\t\tif (isWeekItem) {\n\t\t\t\t\t\treturn updateState({\n\t\t\t\t\t\t\tselectionPreviewInterval: {\n\t\t\t\t\t\t\t\tstart: startOfWeek(dateFnsAdd(dateFnsMin(dates), {weeks: 1})),\n\t\t\t\t\t\t\t\tend: lastDayOfWeek(dateFnsSub(dateFnsMax(dates), {weeks: 1})),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\treturn updateState({\n\t\t\t\t\t\tselectionPreviewInterval: {\n\t\t\t\t\t\t\tstart: dateFnsAdd(dateFnsMin(dates), {days: 1}),\n\t\t\t\t\t\t\tend: dateFnsSub(dateFnsMax(dates), {days: 1}),\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (rangeInitiator === 'start') {\n\t\t\t\t\tconst selected = dateFnsSet(\n\t\t\t\t\t\tparseTZ(selectedItems[0], format, new Date(), {\n\t\t\t\t\t\t\tlocale,\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\thours: 0,\n\t\t\t\t\t\t\tminutes: 0,\n\t\t\t\t\t\t\tseconds: 0,\n\t\t\t\t\t\t\tmilliseconds: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t);\n\t\t\t\t\tconst dates = [selected, target];\n\n\t\t\t\t\tif (isWeekItem) {\n\t\t\t\t\t\treturn updateState({\n\t\t\t\t\t\t\tselectionPreviewInterval: {\n\t\t\t\t\t\t\t\tstart: startOfWeek(dateFnsAdd(target, {weeks: 1})),\n\t\t\t\t\t\t\t\tend: lastDayOfWeek(dateFnsSub(dateFnsMax(dates), {weeks: 1})),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\treturn updateState({\n\t\t\t\t\t\tselectionPreviewInterval: {\n\t\t\t\t\t\t\tstart: dateFnsAdd(target, {days: 1}),\n\t\t\t\t\t\t\tend: dateFnsSub(dateFnsMax(dates), {days: 1}),\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tconst selected = dateFnsSet(\n\t\t\t\t\tparseTZ(selectedItems[1], format, new Date(), {\n\t\t\t\t\t\tlocale,\n\t\t\t\t\t}),\n\t\t\t\t\t{\n\t\t\t\t\t\thours: 0,\n\t\t\t\t\t\tminutes: 0,\n\t\t\t\t\t\tseconds: 0,\n\t\t\t\t\t\tmilliseconds: 0,\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t\tconst dates = [selected, target];\n\n\t\t\t\tif (isWeekItem) {\n\t\t\t\t\treturn updateState({\n\t\t\t\t\t\tselectionPreviewInterval: {\n\t\t\t\t\t\t\tstart: startOfWeek(dateFnsAdd(selected, {weeks: 1})),\n\t\t\t\t\t\t\tend: lastDayOfWeek(dateFnsSub(dateFnsMax(dates), {weeks: 1})),\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn updateState({\n\t\t\t\t\tselectionPreviewInterval: {\n\t\t\t\t\t\tstart: dateFnsAdd(selected, {days: 1}),\n\t\t\t\t\t\tend: dateFnsSub(dateFnsMax(dates), {days: 1}),\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\n\t\t['NOW_DATE_TIME_CALENDAR#SELECTED_ITEMS_SET']({\n\t\t\taction: {payload},\n\t\t\tcontext,\n\t\t\tproperties,\n\t\t\tupdateProperties,\n\t\t}) {\n\t\t\t//if manageSelectedItems is true, selectedItems will be update elsewhere\n\t\t\tif (properties.manageSelectedItems) return;\n\t\t\tconst {[localeContext]: locale} = context;\n\t\t\tconst {format, isoWeek, required, type, mode} = properties;\n\t\t\tconst {value: selectedItems} = payload;\n\n\t\t\tconst [start, end] = selectedItems;\n\n\t\t\t// selected items don't include this data, so re-generate it\n\t\t\tconst {valid: validStart} = isDateTimeValueValid({\n\t\t\t\tformat,\n\t\t\t\tisoWeek,\n\t\t\t\tlocale,\n\t\t\t\trequired,\n\t\t\t\tvalue: start,\n\t\t\t});\n\n\t\t\t// selected items don't include this data, so re-generate it\n\t\t\tconst {valid: validEnd} = isDateTimeValueValid({\n\t\t\t\tformat,\n\t\t\t\tisoWeek,\n\t\t\t\tlocale,\n\t\t\t\trequired,\n\t\t\t\tvalue: end,\n\t\t\t});\n\t\t\tif (!validStart && !validEnd) return; // shouldn't ever really be invalid, but if so halt.\n\t\t\tconst itemsToSelect = getSelectedItems(\n\t\t\t\t[start, end],\n\t\t\t\tformat,\n\t\t\t\tlocale,\n\t\t\t\ttype,\n\t\t\t);\n\t\t\tif (mode === 'interval') {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tselectedItems: itemsToSelect,\n\t\t\t\t\trangeValueStart: start,\n\t\t\t\t\trangeValueEnd: end,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tselectedItems: itemsToSelect,\n\t\t\t\t\tvalue: start,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus(_, dispatch) {\n\t\t\t\t\tdispatch('PRIVATE#FOCUS_GRID');\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbehavior: themeBehavior,\n\t\t\toptions: {\n\t\t\t\titems: [\n\t\t\t\t\t'--now-date-time--text-transform',\n\t\t\t\t\t'--now-date-time--font-style',\n\t\t\t\t\t'--now-date-time--font-family',\n\t\t\t\t\t'--now-date-time--font-weight',\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t],\n\tstyles,\n\tview,\n});\n","import {ItemStateTypes, StartTimeData, Keys} from './constants';\n\nimport {findIndex, sumBy, values} from 'lodash';\nimport {\n\tisWithinInterval,\n\tgetMonth,\n\tgetYear,\n\tgetQuarter,\n\tlastDayOfWeek,\n\tisDate,\n\tisEqual,\n\tset,\n\tgetDay,\n\tcompareAsc,\n\tisValid,\n\tadd,\n\tsub,\n\taddQuarters,\n\tsubQuarters,\n\teachDayOfInterval,\n\teachMonthOfInterval,\n\teachYearOfInterval,\n\teachQuarterOfInterval,\n} from 'date-fns';\nimport {\n\tDateTypes,\n\tDateFormatTypes,\n\tisDateTimeValueValid,\n\tisTypeToFormatValid,\n\tremoveEscapedCharacters,\n\tisMatchTZ,\n\tparseTZ,\n\tlocaleContext,\n\tTYPE_FORMAT_ERROR_ID,\n\tINVALID_INITIAL_TIME_END_ERROR_ID,\n\tINVALID_INITIAL_TIME_ERROR_ID,\n\tINVALID_INITIAL_TIME_START_ERROR_ID,\n\tDISABLED_ITEMS_FORMAT_ERROR_ID,\n\tDISABLED_ITEMS_START_GREATER_THAN_END_ERROR_ID,\n\tpanelEditableErrorIds,\n\tprependErrorMessage,\n\tremoveErrorMessage,\n} from '@servicenow/library-date-time';\nimport {getActiveElement} from '@servicenow/library-enhanced-utils';\nimport {TIME_FORMAT_PATTERN, parseSubString} from '../now-date-time-calendar';\n\nconst {ADJACENT} = ItemStateTypes;\nconst panelEditableErrorSet = new Set(panelEditableErrorIds);\n\n/**\n * Gets a reference item from `items` containing a date.\n * Uses the second to last row of the items to avoid:\n * - rows with all headings; and\n * - rows with all dates out of range (only happens on\n *   last row for 'date' calendar)\n */\nexport function getDateRef(items, type) {\n\tconst minRows = [DateTypes.DATE, DateTypes.DATE_TIME].includes(type) ? 2 : 1;\n\tif (!items || items.length < minRows) return {};\n\tconst lastRowIdx = items.length - minRows;\n\treturn items[lastRowIdx].find((item) => !item[ADJACENT]);\n}\n\n/**\n * Given an array of dates, converts each to a Date object.\n * If an element is already a date, do nothing.\n * @returns {Date[]}\n */\nexport function valuesToDates(items, format, locale, isoWeek) {\n\treturn items\n\t\t.map((v) =>\n\t\t\tisDate(v)\n\t\t\t\t? v\n\t\t\t\t: parseTZ(\n\t\t\t\t\t\tv,\n\t\t\t\t\t\tformat,\n\t\t\t\t\t\tnew Date(),\n\t\t\t\t\t\tformat === DateFormatTypes.WEEK_YEAR && isoWeek\n\t\t\t\t\t\t\t? {locale, weekStartsOn: 1}\n\t\t\t\t\t\t\t: {locale},\n\t\t\t\t\t),\n\t\t)\n\t\t.sort((date1, date2) => date1 - date2);\n}\n\nexport function getIndexOfDate(dateRef, fullIntervalList, type) {\n\tlet index = -1;\n\n\tif (\n\t\t[DateTypes.DATE, DateTypes.DATE_TIME, DateTypes.WEEK_YEAR].includes(type)\n\t) {\n\t\tlet compDate = dateRef;\n\t\tif (type === DateTypes.DATE_TIME) {\n\t\t\tcompDate = set(compDate, StartTimeData);\n\t\t}\n\t\tindex = findIndex(fullIntervalList, (date) => isEqual(date, compDate));\n\t} else if (type === DateTypes.MONTH) {\n\t\tindex = fullIntervalList.indexOf(fullIntervalList[getMonth(dateRef)]);\n\t} else if (type === DateTypes.YEAR) {\n\t\tconst year = getYear(dateRef);\n\t\tindex = findIndex(fullIntervalList, (date) => getYear(date) === year);\n\t} else if (type === DateTypes.QUARTER) {\n\t\tconst quarter = getQuarter(dateRef);\n\t\tindex = findIndex(fullIntervalList, (date) => getQuarter(date) === quarter);\n\t}\n\n\treturn index;\n}\n\nexport function isItemsValid(format, items, locale) {\n\tfor (const item of items) {\n\t\tif (item.value) {\n\t\t\tif (!isMatchTZ(item.value, format, {locale})) {\n\t\t\t\treturn {valid: false, errorId: DISABLED_ITEMS_FORMAT_ERROR_ID};\n\t\t\t}\n\t\t} else if (item.before) {\n\t\t\tif (!isMatchTZ(item.before, format, {locale})) {\n\t\t\t\treturn {valid: false, errorId: DISABLED_ITEMS_FORMAT_ERROR_ID};\n\t\t\t}\n\t\t} else if (item.after) {\n\t\t\tif (!isMatchTZ(item.after, format, {locale})) {\n\t\t\t\treturn {valid: false, errorId: DISABLED_ITEMS_FORMAT_ERROR_ID};\n\t\t\t}\n\t\t} else if (item.start && item.end) {\n\t\t\tif (\n\t\t\t\t!isMatchTZ(item.start, format, {locale}) ||\n\t\t\t\t!isMatchTZ(item.end, format, {locale})\n\t\t\t) {\n\t\t\t\treturn {valid: false, errorId: DISABLED_ITEMS_FORMAT_ERROR_ID};\n\t\t\t}\n\n\t\t\tconst startDate = parseTZ(item.start, format, new Date(), {locale});\n\t\t\tconst endDate = parseTZ(item.end, format, new Date(), {locale});\n\t\t\tif (startDate > endDate) {\n\t\t\t\treturn {\n\t\t\t\t\tvalid: false,\n\t\t\t\t\terrorId: DISABLED_ITEMS_START_GREATER_THAN_END_ERROR_ID,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n\n\treturn {valid: true};\n}\n\nexport function isDisabledDate({\n\tdate,\n\tdisabledItems,\n\tdisableWeekends,\n\tweekendDays,\n\tformat,\n\tlocale,\n\ttype,\n}) {\n\tconst isWeekItem = type === DateTypes.WEEK_YEAR;\n\tif (!isWeekItem && disableWeekends && weekendDays.includes(getDay(date))) {\n\t\treturn true;\n\t}\n\treturn disabledItems.some((item) => {\n\t\tif (item.value) {\n\t\t\treturn isEqual(date, parseTZ(item.value, format, new Date(), {locale}));\n\t\t}\n\t\tif (item.before) {\n\t\t\tconst before = parseTZ(item.before, format, new Date(), {locale});\n\t\t\treturn isValid(before) && compareAsc(date, before) < 0;\n\t\t}\n\t\tif (item.after) {\n\t\t\tconst after = parseTZ(item.after, format, new Date(), {locale});\n\t\t\treturn isValid(after) && compareAsc(date, after) > 0;\n\t\t}\n\n\t\tif (item.start && item.end) {\n\t\t\tconst start = parseTZ(item.start, format, new Date(), {locale});\n\t\t\tconst end = parseTZ(item.end, format, new Date(), {locale});\n\n\t\t\treturn (\n\t\t\t\tisValid(start) &&\n\t\t\t\tisValid(end) &&\n\t\t\t\tcompareAsc(start, end) !== 1 &&\n\t\t\t\tisWithinInterval(date, {start, end})\n\t\t\t);\n\t\t}\n\t});\n}\n\n/**\n * Places focus onto the visual calendar\n */\nexport function focusCalendar(\n\thost,\n\t{state, updateState},\n\tfocusFromPresetsToCalendar,\n) {\n\tconst {shouldFocusCalendar} = state;\n\tconst {enablePresets} = state.properties;\n\tif (!shouldFocusCalendar) return;\n\n\tlet focusComponent = enablePresets\n\t\t? 'now-date-time-presets'\n\t\t: 'now-date-time-calendar';\n\n\tlet focusEl;\n\tif (!focusFromPresetsToCalendar) {\n\t\tfocusEl = host?.shadowRoot?.querySelector(focusComponent);\n\t} else {\n\t\tfocusComponent = 'now-date-time-calendar';\n\t\tfocusEl = host?.querySelector(focusComponent);\n\t}\n\n\tif (focusEl) {\n\t\t// JAWS will announce the wrong date cell if focus\n\t\t// lands in the calendar too early.\n\t\t// This also adds some stability by waiting until the calendar has\n\t\t// fully rendered before trying to focus it.\n\t\trequestAnimationFrame(() => {\n\t\t\tsetTimeout(() => focusEl.focus(), 250);\n\t\t});\n\t}\n\n\tupdateState({\n\t\tpath: 'shouldFocusCalendar',\n\t\tvalue: false,\n\t\toperation: 'set',\n\t\tshouldRender: false,\n\t});\n}\n\n/**\n * Returns focus to the proper input for now-date-time and now-date-time-interval\n */\nexport function focusInput(host, {state} = {}) {\n\tconst input =\n\t\tstate?.activeInput ?? host.shadowRoot.querySelector('.now-date-time-input');\n\tinput.focus({input: true});\n}\n\n/**\n * Tracks position and input targets when an input recieves focus\n */\nexport function handleFocus(event, {state, updateState}) {\n\tconst {disabled, readonly} = state.properties;\n\n\tif (disabled || readonly) return;\n\n\tconst node = event\n\t\t.composedPath()\n\t\t.find((e) => e?.classList?.contains('now-input'))\n\t\t?.querySelector('.now-input-field');\n\n\tif (node) {\n\t\tupdateState({\n\t\t\tpositionTarget: node,\n\t\t\tactiveInput: event.target,\n\t\t});\n\t}\n}\n\n/**\n * Track click on element within date-time input to determine if visual calendar should be closed\n */\nexport function isPathInDateTimePanel(activeInput, path) {\n\t/* activeInput is the input/component with which the user is interacting,\n\tpath is where the user has currently clicked. */\n\tconst shadowRootNode = path?.[0]?.getRootNode()?.host;\n\tconst activeInputRootNode = activeInput?.getRootNode()?.host;\n\tif (\n\t\tactiveInput.contains(shadowRootNode) ||\n\t\tactiveInput.shadowRoot.contains(shadowRootNode) ||\n\t\tshadowRootNode === activeInputRootNode //if the root node is the same, the click in inside the date time panel\n\t) {\n\t\treturn true;\n\t}\n\treturn false;\n}\n\n/**\n * Track click on slots to determine if visual calendar should be closed\n */\nexport function handleSlotClick(event, {prefix, state, dispatch}) {\n\tconst {opened} = state.properties;\n\tif (opened) {\n\t\tdispatch(`${prefix}OPENED_SET`, {value: false});\n\t} else {\n\t\tevent.stopPropagation();\n\t}\n}\n\n/**\n * Track click on input to determine if visual calendar should open\n */\nexport function handleClick(event, {prefix, state, dispatch}) {\n\tconst {opened, messages, disabled, readonly, type} = state.properties;\n\n\tif (\n\t\t!isPanelEditable(messages) ||\n\t\tdisabled ||\n\t\treadonly ||\n\t\thideCalendarPanel(type)\n\t) {\n\t\treturn;\n\t}\n\n\tconst fieldInPath = event\n\t\t.composedPath()\n\t\t.find((e) => e?.classList?.contains('now-input-field'));\n\n\tif (!fieldInPath) return;\n\n\t// if  the input doesn't have focus, then we clicked on an icon or edge of input\n\t// and we should reset our focus\n\tif (!fieldInPath.classList.contains('has-focus')) {\n\t\tconst input = event\n\t\t\t.composedPath()\n\t\t\t.find((e) => e?.classList?.contains('now-date-time-input'));\n\t\tif (input) input.focus({input: true});\n\t}\n\n\tif (!opened) {\n\t\tdispatch(`${prefix}OPENED_SET`, {value: true});\n\t}\n}\n\nexport function handleKeydown(event, {state, dispatch}) {\n\tconst {prefix /*map*/} = state;\n\tconst {opened, readonly, messages, disabled, type} = state.properties;\n\n\tif (readonly || disabled || hideCalendarPanel(type)) return;\n\n\tconst [target] = event.composedPath();\n\n\t// If there is helper content, we don't want to respond to to key events\n\t// while the info icon is focused.\n\tconst inputIsFocused = target === getActiveElement();\n\n\tif (\n\t\t[Keys.ARROW_UP, Keys.ARROW_DOWN].includes(event.key) &&\n\t\tinputIsFocused &&\n\t\tisPanelEditable(messages)\n\t) {\n\t\tdispatch('PRIVATE#FOCUS_CALENDAR');\n\t} else if (opened && event.key === 'Tab' && inputIsFocused) {\n\t\tdispatch(`${prefix}OPENED_SET`, {value: false});\n\t}\n}\n\n/**\n * TODO: Support for timestamps (number) and ISO-8601 values.\n * If the value matches the format pattern, set the selected item.\n * @returns {string[]}\n */\nexport function getSelectedItems(values, format, locale, type) {\n\tconst {valid} = isTypeToFormatValid({type, format});\n\tif (!valid) return undefined;\n\tconst isWeekYearToken = type === DateTypes.WEEK_YEAR;\n\tconst ret = values.filter((v) =>\n\t\tisMatchTZ(v?.trim(), format, {\n\t\t\tlocale,\n\t\t\tuseAdditionalWeekYearTokens: isWeekYearToken,\n\t\t}),\n\t);\n\n\tif (ret.length === 0) return undefined;\n\treturn ret;\n}\n\n/**\n * If there are errors in `properties.messages`, determine\n * if any of those errors should prevent the panel from\n * opening.\n * @returns {boolean}\n */\nexport function isPanelEditable(messages) {\n\tconst invalidIds = messages.reduce(\n\t\t(acc, m) => (m.id ? [...acc, m.id] : acc),\n\t\t[],\n\t);\n\n\tif (invalidIds.length === 0) return true;\n\tif (invalidIds.length === 1) return panelEditableErrorSet.has(invalidIds[0]);\n\n\tfor (const id of invalidIds) {\n\t\tif (!panelEditableErrorSet.has(id)) return false;\n\t}\n\n\treturn true;\n}\n\n/**\n * Checks for common / shared errors between date-time and date-time-interval:\n * - validates type against format\n * - validates value against format\n * @returns {boolean}\n */\nexport function checkForErrors(\n\tvalue,\n\terror,\n\t{context: {[localeContext]: locale}, properties, updateProperties},\n) {\n\tconst {\n\t\tdisabled,\n\t\tformat,\n\t\tisoWeek,\n\t\treadonly,\n\t\trequired,\n\t\ttype,\n\t\tinitialTime,\n\t\tinitialTimeStart,\n\t\tinitialTimeEnd,\n\t} = properties;\n\n\tlet errorId;\n\n\t// validate the type against the format\n\tconst {valid: typeFormatMatch, token} = isTypeToFormatValid(properties);\n\tif (typeFormatMatch || disabled || readonly) {\n\t\tremoveErrorMessage({\n\t\t\terrorId: TYPE_FORMAT_ERROR_ID,\n\t\t\tupdateProperties,\n\t\t});\n\t} else {\n\t\tprependErrorMessage({\n\t\t\terrorId: TYPE_FORMAT_ERROR_ID,\n\t\t\tupdateProperties,\n\t\t\tmessageData: {format, type, token},\n\t\t});\n\t\terrorId = TYPE_FORMAT_ERROR_ID;\n\t}\n\tif (initialTime && value === undefined) {\n\t\tconst initialTimeValid = checkTimeValid(\n\t\t\tformat,\n\t\t\tinitialTime,\n\t\t\tisoWeek,\n\t\t\tlocale,\n\t\t\trequired,\n\t\t\tupdateProperties,\n\t\t\ttype,\n\t\t\tINVALID_INITIAL_TIME_ERROR_ID,\n\t\t);\n\n\t\treturn {\n\t\t\tvalid: initialTimeValid && typeFormatMatch,\n\t\t\terrorId: INVALID_INITIAL_TIME_ERROR_ID,\n\t\t};\n\t}\n\tif (initialTimeStart && initialTimeEnd && value === undefined) {\n\t\tconst initialTimeStartValid = checkTimeValid(\n\t\t\tformat,\n\t\t\tinitialTimeStart,\n\t\t\tisoWeek,\n\t\t\tlocale,\n\t\t\trequired,\n\t\t\tupdateProperties,\n\t\t\ttype,\n\t\t\tINVALID_INITIAL_TIME_START_ERROR_ID,\n\t\t);\n\t\tif (!initialTimeStartValid) errorId = INVALID_INITIAL_TIME_START_ERROR_ID;\n\n\t\tconst initialTimeEndValid = checkTimeValid(\n\t\t\tformat,\n\t\t\tinitialTimeEnd,\n\t\t\tisoWeek,\n\t\t\tlocale,\n\t\t\trequired,\n\t\t\tupdateProperties,\n\t\t\ttype,\n\t\t\tINVALID_INITIAL_TIME_END_ERROR_ID,\n\t\t);\n\t\tif (!initialTimeEndValid) errorId = INVALID_INITIAL_TIME_END_ERROR_ID;\n\n\t\treturn {\n\t\t\tvalid: initialTimeStartValid && initialTimeEndValid && typeFormatMatch,\n\t\t\terrorId,\n\t\t};\n\t}\n\tif (initialTimeStart && value === undefined) {\n\t\tconst initialTimeStartValid = checkTimeValid(\n\t\t\tformat,\n\t\t\tinitialTimeStart,\n\t\t\tisoWeek,\n\t\t\tlocale,\n\t\t\trequired,\n\t\t\tupdateProperties,\n\t\t\ttype,\n\t\t\tINVALID_INITIAL_TIME_START_ERROR_ID,\n\t\t);\n\t\treturn {\n\t\t\tvalid: initialTimeStartValid && typeFormatMatch,\n\t\t\terrorId: INVALID_INITIAL_TIME_START_ERROR_ID,\n\t\t};\n\t}\n\tif (initialTimeEnd && value === undefined) {\n\t\tconst initialTimeEndValid = checkTimeValid(\n\t\t\tformat,\n\t\t\tinitialTimeEnd,\n\t\t\tisoWeek,\n\t\t\tlocale,\n\t\t\trequired,\n\t\t\tupdateProperties,\n\t\t\ttype,\n\t\t\tINVALID_INITIAL_TIME_END_ERROR_ID,\n\t\t);\n\t\treturn {\n\t\t\tvalid: initialTimeEndValid && typeFormatMatch,\n\t\t\terrorId: INVALID_INITIAL_TIME_END_ERROR_ID,\n\t\t};\n\t}\n\t// if we don't have a field value, don't re-validate\n\tif (value === undefined) return {valid: typeFormatMatch, errorId};\n\t// validate value against format\n\tconst {valid} = isDateTimeValueValid({\n\t\tformat,\n\t\tisoWeek,\n\t\tlocale,\n\t\trequired,\n\t\tvalue,\n\t});\n\n\tif (valid || disabled || readonly) {\n\t\tremoveErrorMessage({\n\t\t\terrorId: error,\n\t\t\tupdateProperties,\n\t\t});\n\t} else {\n\t\tprependErrorMessage({\n\t\t\terrorId: error,\n\t\t\tupdateProperties,\n\t\t\tmessageData: {\n\t\t\t\tformat,\n\t\t\t\ttype: getType(type),\n\t\t\t},\n\t\t});\n\t\terrorId = error;\n\t}\n\n\treturn {valid: valid && typeFormatMatch, errorId};\n}\n\nconst checkTimeValid = (\n\tformat,\n\tvalue,\n\tisoWeek,\n\tlocale,\n\trequired,\n\tupdateProperties,\n\ttype,\n\terrorId,\n) => {\n\tconst tokenizedFormat = removeEscapedCharacters(format);\n\tconst timeFormat = parseSubString(tokenizedFormat, TIME_FORMAT_PATTERN);\n\tconst dateTimeValueValidResp = isDateTimeValueValid({\n\t\tformat: timeFormat,\n\t\tisoWeek,\n\t\tlocale,\n\t\trequired,\n\t\tvalue: value,\n\t});\n\tconst initialTimeValid = dateTimeValueValidResp?.valid;\n\n\tif (initialTimeValid) {\n\t\tremoveErrorMessage({\n\t\t\terrorId: errorId,\n\t\t\tupdateProperties,\n\t\t});\n\t} else {\n\t\tprependErrorMessage({\n\t\t\terrorId: errorId,\n\t\t\tupdateProperties,\n\t\t\tmessageData: {\n\t\t\t\tformat,\n\t\t\t\ttype: getType(type),\n\t\t\t},\n\t\t});\n\t}\n\treturn initialTimeValid;\n};\n\n/**\n * Checks the value against disabled dates, adding necessary errors\n * @returns {object} response\n * @returns {boolean} response.isDisabled\n * @returns {Date} response.date\n */\nexport function checkForDisabledDates(\n\tvalue,\n\terror,\n\t{context: {[localeContext]: locale}, properties, updateProperties},\n) {\n\tconst {disableWeekends, disabledItems, format, type, weekendDays} =\n\t\tproperties;\n\tconst isWeekYearToken = type === DateTypes.WEEK_YEAR ? true : false;\n\tlet isDisabled;\n\tconst date =\n\t\tisMatchTZ(value, format, {\n\t\t\tlocale,\n\t\t\tuseAdditionalDayOfYearTokens: isWeekYearToken,\n\t\t}) && parseTZ(value, format, new Date(), {locale});\n\tif (\n\t\t[\n\t\t\tDateTypes.DATE,\n\t\t\tDateTypes.DATE_TIME,\n\t\t\tDateTypes.MONTH,\n\t\t\tDateTypes.YEAR,\n\t\t\tDateTypes.QUARTER,\n\t\t\tDateTypes.WEEK_YEAR,\n\t\t].includes(type)\n\t) {\n\t\tisDisabled = date\n\t\t\t? isDisabledDate({\n\t\t\t\t\tdate,\n\t\t\t\t\tdisabledItems,\n\t\t\t\t\tdisableWeekends,\n\t\t\t\t\tweekendDays,\n\t\t\t\t\tformat,\n\t\t\t\t\tlocale,\n\t\t\t\t\ttype,\n\t\t\t\t})\n\t\t\t: false;\n\t}\n\n\tif (isDisabled) {\n\t\tprependErrorMessage({\n\t\t\terrorId: error,\n\t\t\tupdateProperties,\n\t\t\tmessageData: {\n\t\t\t\ttype: getType(type),\n\t\t\t},\n\t\t});\n\t} else {\n\t\tremoveErrorMessage({\n\t\t\terrorId: error,\n\t\t\tupdateProperties,\n\t\t});\n\t}\n\n\treturn {isDisabled, date};\n}\n\n/**\n * Check to hide the calendar panel.\n * @returns {boolean}\n */\nexport function hideCalendarPanel(type) {\n\treturn type === DateTypes.TIME;\n}\n\n/**\n * Returns the error message data based on type.\n * @returns {string}\n */\nexport function getType(type) {\n\tswitch (type) {\n\t\tcase DateTypes.DATE_TIME:\n\t\t\treturn 'date/time';\n\t\tcase DateTypes.DATE:\n\t\t\treturn 'date';\n\t\tcase DateTypes.MONTH:\n\t\t\treturn 'month';\n\t\tcase DateTypes.YEAR:\n\t\t\treturn 'year';\n\t\tcase DateTypes.QUARTER:\n\t\t\treturn 'quarter';\n\t\tcase DateTypes.WEEK_YEAR:\n\t\t\treturn 'week-year';\n\t}\n}\n\nexport function addToDate(date, type, duration) {\n\tswitch (type) {\n\t\tcase DateTypes.MONTH:\n\t\t\treturn add(date, {months: duration});\n\t\tcase DateTypes.YEAR:\n\t\t\treturn add(date, {years: duration});\n\t\tcase DateTypes.QUARTER:\n\t\t\treturn addQuarters(date, duration);\n\t\tcase DateTypes.WEEK_YEAR:\n\t\t\treturn add(date, {weeks: duration});\n\t\tdefault:\n\t\t\treturn add(date, {days: duration});\n\t}\n}\n\nexport function subtractFromDate(date, type, duration) {\n\tswitch (type) {\n\t\tcase DateTypes.MONTH:\n\t\t\treturn sub(date, {months: duration});\n\t\tcase DateTypes.YEAR:\n\t\t\treturn sub(date, {years: duration});\n\t\tcase DateTypes.QUARTER:\n\t\t\treturn subQuarters(date, duration);\n\t\tcase DateTypes.WEEK_YEAR:\n\t\t\treturn lastDayOfWeek(sub(date, {weeks: duration}));\n\t\tdefault:\n\t\t\treturn sub(date, {days: duration});\n\t}\n}\n\nexport function getOverlapItemsPerType(rangeItems, type) {\n\tlet overlapItems = null;\n\tconst startItem = rangeItems[0];\n\tconst endItem = rangeItems[rangeItems.length - 1];\n\tif (\n\t\t[DateTypes.DATE, DateTypes.DATE_TIME, DateTypes.WEEK_YEAR].includes(type)\n\t) {\n\t\toverlapItems = eachDayOfInterval({\n\t\t\tstart: startItem,\n\t\t\tend: endItem,\n\t\t});\n\t} else if (type === DateTypes.MONTH) {\n\t\toverlapItems = eachMonthOfInterval({\n\t\t\tstart: startItem,\n\t\t\tend: endItem,\n\t\t});\n\t} else if (type === DateTypes.YEAR) {\n\t\toverlapItems = eachYearOfInterval({\n\t\t\tstart: startItem,\n\t\t\tend: endItem,\n\t\t});\n\t} else if (type === DateTypes.QUARTER) {\n\t\toverlapItems = eachQuarterOfInterval({\n\t\t\tstart: startItem,\n\t\t\tend: endItem,\n\t\t});\n\t}\n\treturn overlapItems;\n}\n\nexport function getDateFromWeek(week, format, isoWeek) {\n\tconst isoWeekStartOn = isoWeek\n\t\t? {useAdditionalDayOfYearTokens: true, weekStartsOn: 1}\n\t\t: {useAdditionalDayOfYearTokens: true};\n\treturn parseTZ(week, format, new Date(), isoWeekStartOn);\n}\n\nexport function getCalendarIcon(type) {\n\tif (type === DateTypes.TIME) return;\n\tif (type === DateTypes.DATE_TIME) return 'calendar-clock-outline';\n\n\treturn 'calendar-outline';\n}\n\nexport function getGroupsCount(groups) {\n\treturn sumBy(values(groups), (group) => group.length);\n}\n\nexport function getHoistedPreset() {\n\tconst popover = window.document.body.querySelector('now-popover-panel');\n\tif (!popover) return;\n\tconst {shadowRoot: popoverSR} = popover;\n\tconst slot = popoverSR.querySelector('slot');\n\tconst nodes = slot.assignedNodes();\n\t// nodes[0] is seismic-hoist\n\tif (nodes && nodes[0]?.className === 'now-date-time-presets') {\n\t\treturn nodes[0];\n\t}\n\treturn null;\n}\n\n/**\n * check if date-time configuration is valid\n * @returns {object} response\n * @returns {boolean} response.errorId\n * @returns {Date} response.valid\n */\nexport function checkIfConfigurationIsValid({\n\tcontext: {[localeContext]: locale},\n\tproperties,\n\tupdateProperties,\n}) {\n\tconst {disabledItems, format} = properties;\n\n\t// Validate configuration / developer errors\n\tconst {valid, errorId} = isItemsValid(format, disabledItems, locale);\n\n\tif (valid) {\n\t\treturn {\n\t\t\terrorId: null,\n\t\t\tvalid,\n\t\t};\n\t}\n\n\tprependErrorMessage({\n\t\terrorId,\n\t\tproperties,\n\t\tupdateProperties,\n\t\tmessageData: {format},\n\t});\n\n\treturn {\n\t\terrorId,\n\t\tvalid,\n\t};\n}\n","import {actionTypes} from '@servicenow/ui-core';\nimport {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {\n\tisDateTimeValueValid,\n\tlocaleContext,\n} from '@servicenow/library-date-time';\nimport {configAriaSchema} from '@servicenow/library-schemas';\nimport focusBehavior, {handleFocusFirstNode} from '@servicenow/behavior-focus';\nimport {messagesSchema, fieldLayoutSchema} from '@servicenow/now-input';\nimport styles from './_now-input-date-time.scss';\n\nconst {COMPONENT_PROPERTY_CHANGED} = actionTypes;\n\nconst redispatchWithFormat =\n\t(newActionType) =>\n\t({action, dispatch, properties: {format}}) => {\n\t\tdispatch(() => ({\n\t\t\ttype: newActionType,\n\t\t\tpayload: {...action.payload, format},\n\t\t}));\n\t};\n\nfunction getPlaceholder(f) {\n\treturn f.replace(/'/g, '');\n}\n\nconst view = (state) => {\n\tconst {\n\t\tsize,\n\t\tname = `input-${state.properties.nowId}`,\n\t\tvalue,\n\t\thelperContent,\n\t\thideRequiredIndicator,\n\t\tinvalid,\n\t\tlabel,\n\t\toptional,\n\t\trequired,\n\t\tconfigAria,\n\t\tdisabled,\n\t\tautofocus,\n\t\treadonly,\n\t\tmessages,\n\t\tmessagesMode,\n\t\tformat,\n\t\talign,\n\t\tfieldLayout,\n\t\tplaceholder,\n\t\twrapLabel,\n\t} = state.properties;\n\n\treturn (\n\t\t<now-input\n\t\t\tclassName=\"now-input-date-time-input\"\n\t\t\ttype=\"text\"\n\t\t\tvalue={value}\n\t\t\tinvalid={invalid}\n\t\t\tmanage-invalid\n\t\t\tname={name}\n\t\t\thelper-content={helperContent}\n\t\t\thide-required-indicator={hideRequiredIndicator}\n\t\t\tlabel={label}\n\t\t\tsize={size}\n\t\t\toptional={optional}\n\t\t\trequired={required}\n\t\t\tconfig-aria={configAria}\n\t\t\tdisabled={disabled}\n\t\t\tautofocus={autofocus}\n\t\t\treadonly={readonly}\n\t\t\tmessages={messages}\n\t\t\tmessages-mode={messagesMode}\n\t\t\tplaceholder={placeholder || getPlaceholder(format)}\n\t\t\talign={align}\n\t\t\tfield-layout={fieldLayout}\n\t\t\twrap-label={wrapLabel}\n\t\t>\n\t\t\t<slot slot=\"start\" name=\"start\" />\n\t\t\t<slot slot=\"end\" name=\"end\" />\n\t\t\t<slot slot=\"label-inline\" name=\"label-inline\" />\n\t\t\t<slot slot=\"label-end\" name=\"label-end\" />\n\t\t\t<slot slot=\"label-start\" name=\"label-start\" />\n\t\t</now-input>\n\t);\n};\n\n/**\n * The date-time input accepts a formatted date and/or time value.\n *\n * ```jsx\n * <now-input-date-time format=\"dd/MM/yyyy\" value=\"09/23/2010\" />\n * ```\n *\n * The `format` property uses Unicode Technical Standard (UTS) tokens.\n * See UTS and other supported format characters in the [`date-fns` library](https://date-fns.org/v2.28.0/docs/format)\n *\n * @seismicElement now-input-date-time\n * @private\n * @summary The date-time input accepts a formatted date and/or time value.\n */\ncreateEnhancedElement('now-input-date-time', {\n\tproperties: {\n\t\t/**\n\t\t * Sets the input size.\n\t\t * @type {('sm'|'md')}\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['sm', 'md'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Name of the field control. Dispatched along with the field value\n\t\t * when the user interacts with the field.\n\t\t * @type {string}\n\t\t */\n\t\tname: {schema: {type: 'string'}},\n\t\t/**\n\t\t * The value of the input field.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {\n\t\t\tmanageable: true,\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\t/**\n\t\t * If set, an iconic button with popover appears next to the field\n\t\t * label for displaying additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: {},\n\t\t/**\n\t\t * When true, the required indicator is hidden. Use this for\n\t\t * forms where most fields are required, along with the `optional` flag\n\t\t * for any fields that are not required.\n\t\t * @type {boolean}\n\t\t */\n\t\thideRequiredIndicator: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Indicates that the field is in an incorrect state,\n\t\t * which is reflected in the field display.\n\t\t * @type {boolean}\n\t\t */\n\t\tinvalid: {\n\t\t\tdefault: false,\n\t\t\tmanageable: true,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * Label describing the overall purpose of the input field.\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {required: true, schema: {type: 'string'}},\n\t\t/**\n\t\t * Indicates the field is optional and not required to be completed by\n\t\t * the user before completing the form.\n\t\t * @type {boolean}\n\t\t */\n\t\toptional: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Indicates that the user must select an item in the\n\t\t * select dropdown before they can proceed with completing the form.\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * If the `type` property is `'week'`, date calculation accounts for a leap week.\n\t\t * @type {boolean}\n\t\t */\n\t\tisoWeek: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Configures the Unicode Technical Standard (UTS) format of the input value.\n\t\t * See UTS and other supported format characters in the `date-fns` library: https://date-fns.org/v2.28.0/docs/format\n\t\t * @type {string}\n\t\t */\n\t\tformat: {required: true, schema: {type: 'string'}},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * component. The value of each key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s. These ARIA\n\t\t * properties are set on the specified element.\n\t\t * The 'input' key corresponds to the inner html `<input>` in\n\t\t * now-input-date-time. See https://www.w3.org/TR/wai-aria-1.2/#input for\n\t\t * properties and accepted values.\n\t\t * @type {{ 'aria-*': string, role: string }}\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {input: configAriaSchema},\n\t\t\t\tadditionalProperties: false,\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * When true, the user cannot interact with the field\n\t\t * or change its value and the field appears unavailable.\n\t\t * @type {boolean}\n\t\t */\n\t\tdisabled: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, the focus is automatically placed inside the input\n\t\t * on page load.\n\t\t * @type {boolean}\n\t\t */\n\t\tautofocus: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Hint text displayed in the input when the user has not yet entered a value. When a placeholder is not provided, the component uses the format as the placeholder.\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {schema: {type: 'string'}},\n\t\t/**\n\t\t * When true, the user cannot modify the value of the field.\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Array of inline alert messages that display below the field.\n\t\t * @type {Array.<{status: ('critical'|'warning'|'positive'|'info'|'suggestion'), content: (string|JSX), icon: string}>}\n\t\t */\n\t\tmessages: {default: [], schema: messagesSchema},\n\t\t/**\n\t\t * The messages display mode. Useful for when messages are rendered outside the shadowRoot.\n\t\t * - \"auto\" (Default): will be visible to sighted users and read by screen readers.\n\t\t * - \"visual-only\": will not be read by screen readers.\n\t\t * - \"sr-only\": will not be visible to sighted users.\n\t\t * @type {('auto'|'visual-only'|'sr-only')}\n\t\t * @private\n\t\t */\n\t\tmessagesMode: {\n\t\t\tdefault: 'auto',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['auto', 'visual-only', 'sr-only'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Text alignment within an input field.\n\t\t * - `start`: Align the text to the start of the input field.\n\t\t * - `center`: Align the text to the center of the input field.\n\t\t * - `end`: Align the text to the end of the input field.\n\t\t * By default:  `start`.\n\t\t * @type {('start'|'center'|'end')}\n\t\t */\n\t\talign: {schema: {type: 'string', enum: ['start', 'center', 'end']}},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, form-field and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: {layout: 'vertical'},\n\t\t\tschema: fieldLayoutSchema,\n\t\t},\n\t\t/**\n\t\t * Set to true to wrap the label if it does not fit on one line.\n\t\t * @type {boolean}\n\t\t */\n\t\twrapLabel: {default: false, schema: {type: 'boolean'}},\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\t\taction,\n\t\t\tcontext: {[localeContext]: locale},\n\t\t\tdispatch,\n\t\t\tproperties,\n\t\t}) => {\n\t\t\tconst {value, format, disabled, readonly} = properties;\n\t\t\tconst {name} = action.payload;\n\n\t\t\tif (['disabled', 'format', 'readonly'].includes(name)) {\n\t\t\t\tconst {name: inputName, isoWeek, required} = properties;\n\t\t\t\tconst {valid} = isDateTimeValueValid({\n\t\t\t\t\tvalue,\n\t\t\t\t\tformat,\n\t\t\t\t\trequired,\n\t\t\t\t\tisoWeek,\n\t\t\t\t\tlocale,\n\t\t\t\t});\n\t\t\t\tconst invalid = !valid;\n\n\t\t\t\tdispatch(({properties: {value: fieldValue}}) => ({\n\t\t\t\t\ttype: 'NOW_INPUT_DATE_TIME#INVALID_SET',\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tname: inputName,\n\t\t\t\t\t\tvalue: disabled || readonly ? false : invalid,\n\t\t\t\t\t\tfieldValue,\n\t\t\t\t\t\tformat,\n\t\t\t\t\t},\n\t\t\t\t}));\n\t\t\t}\n\t\t},\n\t\t['NOW_INPUT#INVALID_SET']({\n\t\t\tcontext: {[localeContext]: locale},\n\t\t\taction,\n\t\t\tproperties,\n\t\t\tdispatch,\n\t\t}) {\n\t\t\tconst {name, fieldValue, fromHandleBlur, fromInputPropertyChanged} =\n\t\t\t\taction.payload;\n\t\t\tconst {format, isoWeek, required} = properties;\n\t\t\tconst {valid, date, isoDate} = isDateTimeValueValid({\n\t\t\t\tvalue: fieldValue,\n\t\t\t\tformat,\n\t\t\t\tisoWeek,\n\t\t\t\tlocale,\n\t\t\t\trequired,\n\t\t\t});\n\t\t\tdispatch(({properties}) => {\n\t\t\t\tconst {disabled, readonly, value: previousValue} = properties;\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'NOW_INPUT_DATE_TIME#VALUE_SET',\n\t\t\t\t\tpayload: {name, value: fieldValue, format, date, isoDate},\n\t\t\t\t\tshouldDispatch:\n\t\t\t\t\t\t!disabled && !readonly && valid && fieldValue !== previousValue,\n\t\t\t\t};\n\t\t\t});\n\t\t\tdispatch('NOW_INPUT_DATE_TIME#INVALID_SET', {\n\t\t\t\tname,\n\t\t\t\tvalue: !valid,\n\t\t\t\tfieldValue,\n\t\t\t\tformat,\n\t\t\t\tfromHandleBlur,\n\t\t\t\tfromInputPropertyChanged,\n\t\t\t});\n\t\t},\n\t\t['NOW_INPUT#INPUT']: redispatchWithFormat('NOW_INPUT_DATE_TIME#INPUT'),\n\t\t['NOW_INPUT#ENTER_KEYDOWN']: redispatchWithFormat(\n\t\t\t'NOW_INPUT_DATE_TIME#ENTER_KEYDOWN',\n\t\t),\n\t\t['PRIVATE#FOCUS_INPUT']: {\n\t\t\tstopPropagation: true,\n\t\t\teffect({host}) {\n\t\t\t\tconst nowInput = host.shadowRoot.querySelector('now-input');\n\t\t\t\tconst nativeInput = nowInput.shadowRoot.querySelector(\n\t\t\t\t\t'input.now-input-native',\n\t\t\t\t);\n\t\t\t\tnativeInput.focus();\n\t\t\t},\n\t\t},\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot for field decorators. Located at the end\n\t\t * of the input field.\n\t\t */\n\t\tend: {},\n\t\t/**\n\t\t * Slot for label end metadata. Located at the end of the label.\n\t\t */\n\t\t'label-end': {},\n\t\t/**\n\t\t * Slot for label, located inline after the label. For the `horizontal` layout, it is placed before the label.\n\t\t */\n\t\t'label-inline': {},\n\t\t/**\n\t\t * Slot for label, located at the start of the label. For the `horizontal` field layout, it is placed after the label.\n\t\t */\n\t\t'label-start': {},\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the user moves focus away from the field.\n\t\t * Payload contains these properties:\n\t\t * - `name`: String. Value of the `name` property.\n\t\t * - `value`: Boolean. Value of the `invalid` property, which is based on\n\t\t *   the values of the `required` and `pattern` properties.\n\t\t * - `fieldValue`: String. Value entered in the field.\n\t\t * - `format`: String. The value format.\n\t\t *\n\t\t * Set the `manage-invalid` property to override the default behavior and\n\t\t * handle this action manually.\n\t\t * @type {{name: string, value: boolean, fieldValue: string, format: string}}\n\t\t */\n\t\t'NOW_INPUT_DATE_TIME#INVALID_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tvalue: {type: 'boolean'},\n\t\t\t\t\tfieldValue: {type: 'string'},\n\t\t\t\t\tformat: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user moves focus away from the field\n\t\t * and the value is valid. Payload contains these properties:\n\t\t * - `name`: String. Value of the `name` property.\n\t\t * - `value`: String. Value entered in the field.\n\t\t * - `format`: String. The value format.\n\t\t * - `date`: The Date() constructor of the value.\n\t\t * - `isoDate`: String. The ISO formatted value.\n\t\t *\n\t\t * Set the `manage-value` property to override the default behavior and\n\t\t * handle this action manually.\n\t\t * @type {{name: string, value: string, format: string, date: Date, isoDate: string}}\n\t\t */\n\t\t'NOW_INPUT_DATE_TIME#VALUE_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tvalue: {type: 'string'},\n\t\t\t\t\tformat: {type: 'string'},\n\t\t\t\t\tdate: {type: 'object'},\n\t\t\t\t\tisoDate: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user enters data in the field by typing or\n\t\t * pasting text. The system does not validate the value or update\n\t\t * the `value` property. Payload contains these properties:\n\t\t * - `name`: String. Value of the `name` property.\n\t\t * - `data`: String. Value entered in the field that caused the event to fire.\n\t\t * - `fieldValue`: String. Current value of the field when the event fired.\n\t\t * @type {{name: string, data: string, fieldValue: string}}\n\t\t */\n\t\t'NOW_INPUT_DATE_TIME#INPUT': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tdata: {type: 'string'},\n\t\t\t\t\tfieldValue: {type: 'string'},\n\t\t\t\t\tformat: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user presses the Enter key while focus is inside\n\t\t * the input.\n\t\t * @type {{name: string, fieldValue: string}}\n\t\t */\n\t\t'NOW_INPUT_DATE_TIME#ENTER_KEYDOWN': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tfieldValue: {type: 'string'},\n\t\t\t\t\tformat: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus(host, dispatch, {input}) {\n\t\t\t\t\tif (input) {\n\t\t\t\t\t\treturn dispatch('PRIVATE#FOCUS_INPUT');\n\t\t\t\t\t}\n\t\t\t\t\thandleFocusFirstNode(host);\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t],\n\tstyles,\n\tview,\n});\n","import {focusInput} from '../utils/helper';\nimport {\n\tDateTypes,\n\tisDateTimeValueValid,\n\tlocaleContext,\n} from '@servicenow/library-date-time';\n\nexport default {\n\t['NOW_DATE_TIME_CALENDAR#ITEMS_SET']({\n\t\taction: {payload = {}},\n\t\tdispatch,\n\t\tstate: {prefix},\n\t\tproperties,\n\t\tupdateProperties,\n\t}) {\n\t\tdispatch(() => ({\n\t\t\ttype: `${prefix}ITEMS_SET`,\n\t\t\tpayload,\n\t\t}));\n\n\t\tconst {footerActions, showDefaultFooterActions, isDateManuallySet} =\n\t\t\tproperties;\n\n\t\tconst hasFooterActions =\n\t\t\tfooterActions.length > 0 || showDefaultFooterActions;\n\n\t\tif (hasFooterActions && isDateManuallySet) {\n\t\t\tupdateProperties({isDateManuallySet: false});\n\t\t}\n\t},\n\t['NOW_DATE_TIME_CALENDAR#FOOTER_ACTION_CLICKED']({\n\t\taction: {payload},\n\t\tdispatch,\n\t\thost,\n\t\tproperties,\n\t\tstate,\n\t}) {\n\t\tconst {prefix} = state;\n\t\tconst {type, showDefaultFooterActions, footerActions} = properties;\n\t\tconst {\n\t\t\taction: {isDefault, isToday, clickActionType, closeCalendar},\n\t\t\tinitiator,\n\t\t} = payload;\n\t\tconst noFooterActionsPresent =\n\t\t\t!showDefaultFooterActions && footerActions.length === 0;\n\n\t\tdispatch(`${prefix}FOOTER_ACTION_CLICKED`, {...payload});\n\n\t\tif (\n\t\t\tisToday &&\n\t\t\t[\n\t\t\t\tDateTypes.DATE,\n\t\t\t\tDateTypes.DATE_TIME,\n\t\t\t\tDateTypes.MONTH,\n\t\t\t\tDateTypes.QUARTER,\n\t\t\t\tDateTypes.WEEK_YEAR,\n\t\t\t].includes(type) &&\n\t\t\t[DateTypes.MONTH, DateTypes.YEAR, DateTypes.WEEK_YEAR].includes(initiator)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (\n\t\t\tcloseCalendar ||\n\t\t\tisDefault ||\n\t\t\tclickActionType ||\n\t\t\t(isToday && noFooterActionsPresent)\n\t\t) {\n\t\t\tdispatch(`${prefix}OPENED_SET`, {value: false});\n\t\t\tfocusInput(host, {state});\n\t\t}\n\t},\n\t['NOW_DATE_TIME_CALENDAR#SELECTED_ITEMS_SET']({\n\t\taction: {payload},\n\t\tcontext,\n\t\tdispatch,\n\t\thost,\n\t\tproperties,\n\t\tstate,\n\t\tupdateProperties,\n\t\tupdateState,\n\t}) {\n\t\tconst {[localeContext]: locale} = context;\n\t\tconst {activeInput, prefix, mode, prevActivePreset} = state;\n\t\tconst {\n\t\t\tfooterActions,\n\t\t\tformat,\n\t\t\tisoWeek,\n\t\t\trequired,\n\t\t\tshowDefaultFooterActions,\n\t\t\ttype,\n\t\t} = properties;\n\n\t\tlet selectedItems;\n\t\tlet revertPresetSelection;\n\n\t\tif (\n\t\t\tpayload.initiator &&\n\t\t\tpayload.initiator === 'CALENDAR_FOOTER_CANCEL_BUTTON' &&\n\t\t\tproperties.enablePresets &&\n\t\t\tpayload.value.length === 0\n\t\t) {\n\t\t\tselectedItems = [state.prevValueStart, state.prevValueEnd];\n\t\t\trevertPresetSelection = true;\n\t\t} else {\n\t\t\tselectedItems = payload.value;\n\t\t}\n\n\t\tconst autoClose =\n\t\t\t!showDefaultFooterActions &&\n\t\t\tfooterActions.length === 0 &&\n\t\t\ttype !== DateTypes.DATE_TIME;\n\n\t\t// standard input mode\n\t\tif (mode === 'standard') {\n\t\t\tconst {name} = properties;\n\t\t\tconst value = selectedItems?.[0] ?? '';\n\n\t\t\t// selected items don't include this data, so re-generate it\n\t\t\tconst {valid, date, isoDate} = isDateTimeValueValid({\n\t\t\t\tformat,\n\t\t\t\tisoWeek,\n\t\t\t\tlocale,\n\t\t\t\trequired,\n\t\t\t\tvalue,\n\t\t\t});\n\n\t\t\tif (!valid) return; // shouldn't ever happen, but if so halt\n\n\t\t\tdispatch(`${prefix}VALUE_SET`, {\n\t\t\t\tdate,\n\t\t\t\tformat,\n\t\t\t\tisoDate,\n\t\t\t\tname,\n\t\t\t\ttype,\n\t\t\t\tvalue,\n\t\t\t});\n\n\t\t\t// only dispatch OPENED_SET if no footer actions of any\n\t\t\t// kind are used AND the format excludes time\n\t\t\tif (autoClose) {\n\t\t\t\tdispatch(`${prefix}OPENED_SET`, {value: false});\n\t\t\t\tfocusInput(host, {state});\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst input = activeInput?.dataset?.input;\n\t\tconst name = `input-${properties.nowId}-${input}`;\n\t\tlet [start, end] = selectedItems;\n\n\t\t// selected items don't include this data, so re-generate it\n\t\tconst {valid: validStart, isoDate: isoDateStart} = isDateTimeValueValid({\n\t\t\tformat,\n\t\t\tisoWeek,\n\t\t\tlocale,\n\t\t\trequired,\n\t\t\tvalue: start,\n\t\t});\n\n\t\t// selected items don't include this data, so re-generate it\n\t\tconst {valid: validEnd, isoDate: isoDateEnd} = isDateTimeValueValid({\n\t\t\tformat,\n\t\t\tisoWeek,\n\t\t\tlocale,\n\t\t\trequired,\n\t\t\tvalue: end,\n\t\t});\n\n\t\tif (!validStart && !validEnd) return; // shouldn't ever really be invalid, but if so halt.\n\n\t\tconst hasRange = validStart && validEnd && start && end;\n\n\t\tdispatch(`${prefix}VALUE_START_SET`, {\n\t\t\tdate: new Date(start),\n\t\t\tformat,\n\t\t\tisoDate: isoDateStart,\n\t\t\tname,\n\t\t\ttype,\n\t\t\tvalue: start || '',\n\t\t});\n\n\t\tdispatch(`${prefix}VALUE_END_SET`, {\n\t\t\tdate: new Date(end),\n\t\t\tformat,\n\t\t\tisoDate: isoDateEnd,\n\t\t\tname,\n\t\t\ttype,\n\t\t\tvalue: end || '',\n\t\t});\n\n\t\tif (revertPresetSelection) {\n\t\t\tupdateState({\n\t\t\t\tpresetValueStart: start,\n\t\t\t\tpresetValueEnd: end,\n\t\t\t});\n\t\t\tupdateProperties({\n\t\t\t\tactivePreset: prevActivePreset,\n\t\t\t});\n\t\t}\n\n\t\t// only dispatch OPENED_SET if no footer actions of any\n\t\t// kind are used AND the format excludes time AND a full range exists\n\t\tif (autoClose && hasRange) {\n\t\t\tdispatch(`${prefix}OPENED_SET`, {value: false});\n\t\t\tfocusInput(host, {state});\n\t\t}\n\t},\n\t['PRIVATE#FOCUS_INPUT']({host, dispatch, state}) {\n\t\tconst {prefix} = state;\n\t\tdispatch(`${prefix}OPENED_SET`, {value: false});\n\t\tfocusInput(host, {state});\n\t},\n};\n","import {CALENDAR_TIME_INPUT_ID, TRIGGER_ID} from '../utils/constants';\nimport {isDisabledDate, focusInput} from '../utils/helper';\nimport {localeContext, isMatchTZ, parseTZ} from '@servicenow/library-date-time';\n\nfunction updatePrevValue({fieldValue, mode, input, updateState}) {\n\tif (mode === 'standard') {\n\t\tupdateState({\n\t\t\tpath: 'prevValue',\n\t\t\tvalue: fieldValue,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false,\n\t\t});\n\t} else {\n\t\tif (input === 'start') {\n\t\t\tupdateState({\n\t\t\t\tpath: 'prevValueStart',\n\t\t\t\tvalue: fieldValue,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false,\n\t\t\t});\n\t\t} else if (input === 'end') {\n\t\t\tupdateState({\n\t\t\t\tpath: 'prevValueEnd',\n\t\t\t\tvalue: fieldValue,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false,\n\t\t\t});\n\t\t}\n\t}\n}\n\nfunction runValidation({options, dispatch, input, fieldValue, updateState}) {\n\tdispatch(({state, properties}) => {\n\t\tconst {prevValue, prevValueStart, prevValueEnd, mode} = state;\n\t\tconst {valueStart, valueEnd, required, invalid, readonly} = properties;\n\n\t\tif (required && !invalid && fieldValue === '') {\n\t\t\tupdatePrevValue({fieldValue, mode, input, updateState});\n\t\t\treturn {\n\t\t\t\ttype: 'PRIVATE#VALIDATE',\n\t\t\t\tpayload: options,\n\t\t\t};\n\t\t}\n\t\tif (readonly) {\n\t\t\treturn {shouldDispatch: false};\n\t\t}\n\n\t\tif (prevValue !== null) {\n\t\t\tif (fieldValue === prevValue) {\n\t\t\t\treturn {shouldDispatch: false};\n\t\t\t}\n\t\t} else if (\n\t\t\tinput === 'start' &&\n\t\t\tfieldValue === prevValueStart &&\n\t\t\tvalueEnd === prevValueEnd\n\t\t) {\n\t\t\treturn {shouldDispatch: false};\n\t\t} else if (\n\t\t\tinput === 'end' &&\n\t\t\tfieldValue === prevValueEnd &&\n\t\t\tvalueStart === prevValueStart\n\t\t) {\n\t\t\treturn {shouldDispatch: false};\n\t\t}\n\n\t\tupdatePrevValue({fieldValue, mode, input, updateState});\n\n\t\treturn {\n\t\t\ttype: 'PRIVATE#VALIDATE',\n\t\t\tpayload: options,\n\t\t};\n\t});\n}\n\nfunction redispatchWithType(newActionType) {\n\treturn ({host, action, dispatch, properties, state, updateProperties}) => {\n\t\tconst {prefix} = state;\n\t\tconst {type} = properties;\n\t\tconst newType = `${prefix}${newActionType}`;\n\n\t\tif (newActionType === 'INPUT') {\n\t\t\tconst {footerActions, showDefaultFooterActions, isDateManuallySet} =\n\t\t\t\tproperties;\n\t\t\tconst hasFooterActions =\n\t\t\t\tfooterActions.length > 0 || showDefaultFooterActions;\n\n\t\t\tif (hasFooterActions && !isDateManuallySet) {\n\t\t\t\tupdateProperties({isDateManuallySet: true});\n\t\t\t}\n\t\t}\n\n\t\tif (action.payload.id === TRIGGER_ID) {\n\t\t\treturn dispatch(() => ({\n\t\t\t\ttype: newType,\n\t\t\t\tpayload: {...action.payload, type},\n\t\t\t}));\n\t\t}\n\n\t\tif (\n\t\t\taction.type === 'NOW_INPUT_DATE_TIME#ENTER_KEYDOWN' &&\n\t\t\taction.payload.id === CALENDAR_TIME_INPUT_ID\n\t\t) {\n\t\t\tdispatch(() => ({type: `${prefix}OPENED_SET`, payload: {value: false}}));\n\n\t\t\treturn focusInput(host, {state});\n\t\t}\n\n\t\treturn dispatch(() => ({\n\t\t\ttype: newType,\n\t\t\tpayload: {...action.payload, type},\n\t\t}));\n\t};\n}\n\nexport default {\n\t['NOW_INPUT_DATE_TIME#INVALID_SET']({\n\t\taction,\n\t\tproperties,\n\t\tdispatch,\n\t\tupdateProperties,\n\t\tstate,\n\t\tupdateState,\n\t}) {\n\t\tconst {\n\t\t\tname,\n\t\t\tvalue,\n\t\t\tfieldValue,\n\t\t\tid,\n\t\t\tinput = null,\n\t\t\tfromHandleBlur,\n\t\t\tfromInputPropertyChanged,\n\t\t} = action.payload;\n\t\tconst {opened} = properties;\n\n\t\tif (id !== TRIGGER_ID || (!fromHandleBlur && opened)) return;\n\n\t\t// if the value is invalid, we need to ensure we clear out our existing value for the calendar view\n\t\tif (value) {\n\t\t\tif (input) {\n\t\t\t\tif (input === 'start') updateProperties({valueStart: fieldValue});\n\t\t\t\telse updateProperties({valueEnd: fieldValue});\n\t\t\t} else {\n\t\t\t\tupdateProperties({value: fieldValue});\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\tfromInputPropertyChanged ||\n\t\t\tdocument.activeElement.classList.contains('now-date-time-calendar') ||\n\t\t\tdocument.activeElement.classList.contains('now-date-time-presets')\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst options = {\n\t\t\tinitiator: 'NOW_INPUT_DATE_TIME#INVALID_SET',\n\t\t\tfieldValue,\n\t\t\tinput,\n\t\t\tname,\n\t\t\tfromHandleBlur,\n\t\t};\n\n\t\trunValidation({\n\t\t\toptions: options,\n\t\t\tdispatch,\n\t\t\tinput: input,\n\t\t\tfieldValue: fieldValue,\n\t\t\tstate,\n\t\t\tupdateState,\n\t\t});\n\t},\n\t['NOW_INPUT_DATE_TIME#VALUE_SET']({\n\t\taction,\n\t\tcontext: {[localeContext]: locale},\n\t\tdispatch,\n\t\tproperties,\n\t\tstate,\n\t}) {\n\t\tconst {name, value, id, input, isoDate} = action.payload;\n\t\tconst {prefix} = state;\n\t\tif (id !== TRIGGER_ID) return;\n\t\tconst {format, disabledItems, disableWeekends, weekendDays, type} =\n\t\t\tproperties;\n\n\t\tconst date =\n\t\t\tisMatchTZ(value, format, {locale}) &&\n\t\t\tparseTZ(value, format, new Date(), {locale});\n\t\tconst isDisabled = date\n\t\t\t? isDisabledDate({\n\t\t\t\t\tdate,\n\t\t\t\t\tdisabledItems,\n\t\t\t\t\tdisableWeekends,\n\t\t\t\t\tweekendDays,\n\t\t\t\t\tformat,\n\t\t\t\t\tlocale,\n\t\t\t\t})\n\t\t\t: false;\n\n\t\tif (isDisabled) return;\n\n\t\tlet dispatchType = `${prefix}VALUE_SET`;\n\t\tif (input) {\n\t\t\tdispatchType =\n\t\t\t\tinput === 'start'\n\t\t\t\t\t? `${prefix}VALUE_START_SET`\n\t\t\t\t\t: `${prefix}VALUE_END_SET`;\n\t\t}\n\n\t\tdispatch(() => {\n\t\t\treturn {\n\t\t\t\ttype: dispatchType,\n\t\t\t\tpayload: {\n\t\t\t\t\tname,\n\t\t\t\t\ttype,\n\t\t\t\t\tvalue,\n\t\t\t\t\tformat,\n\t\t\t\t\tdate,\n\t\t\t\t\tisoDate,\n\t\t\t\t},\n\t\t\t};\n\t\t});\n\t},\n\t['NOW_INPUT_DATE_TIME#INPUT']: redispatchWithType('INPUT'),\n\t['NOW_INPUT_DATE_TIME#ENTER_KEYDOWN']: redispatchWithType('ENTER_KEYDOWN'),\n};\n","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: {\n      regular: 'méně než sekunda',\n      past: 'před méně než sekundou',\n      future: 'za méně než sekundu'\n    },\n    few: {\n      regular: 'méně než {{count}} sekundy',\n      past: 'před méně než {{count}} sekundami',\n      future: 'za méně než {{count}} sekundy'\n    },\n    many: {\n      regular: 'méně než {{count}} sekund',\n      past: 'před méně než {{count}} sekundami',\n      future: 'za méně než {{count}} sekund'\n    }\n  },\n  xSeconds: {\n    one: {\n      regular: 'sekunda',\n      past: 'před sekundou',\n      future: 'za sekundu'\n    },\n    few: {\n      regular: '{{count}} sekundy',\n      past: 'před {{count}} sekundami',\n      future: 'za {{count}} sekundy'\n    },\n    many: {\n      regular: '{{count}} sekund',\n      past: 'před {{count}} sekundami',\n      future: 'za {{count}} sekund'\n    }\n  },\n  halfAMinute: {\n    type: 'other',\n    other: {\n      regular: 'půl minuty',\n      past: 'před půl minutou',\n      future: 'za půl minuty'\n    }\n  },\n  lessThanXMinutes: {\n    one: {\n      regular: 'méně než minuta',\n      past: 'před méně než minutou',\n      future: 'za méně než minutu'\n    },\n    few: {\n      regular: 'méně než {{count}} minuty',\n      past: 'před méně než {{count}} minutami',\n      future: 'za méně než {{count}} minuty'\n    },\n    many: {\n      regular: 'méně než {{count}} minut',\n      past: 'před méně než {{count}} minutami',\n      future: 'za méně než {{count}} minut'\n    }\n  },\n  xMinutes: {\n    one: {\n      regular: 'minuta',\n      past: 'před minutou',\n      future: 'za minutu'\n    },\n    few: {\n      regular: '{{count}} minuty',\n      past: 'před {{count}} minutami',\n      future: 'za {{count}} minuty'\n    },\n    many: {\n      regular: '{{count}} minut',\n      past: 'před {{count}} minutami',\n      future: 'za {{count}} minut'\n    }\n  },\n  aboutXHours: {\n    one: {\n      regular: 'přibližně hodina',\n      past: 'přibližně před hodinou',\n      future: 'přibližně za hodinu'\n    },\n    few: {\n      regular: 'přibližně {{count}} hodiny',\n      past: 'přibližně před {{count}} hodinami',\n      future: 'přibližně za {{count}} hodiny'\n    },\n    many: {\n      regular: 'přibližně {{count}} hodin',\n      past: 'přibližně před {{count}} hodinami',\n      future: 'přibližně za {{count}} hodin'\n    }\n  },\n  xHours: {\n    one: {\n      regular: 'hodina',\n      past: 'před hodinou',\n      future: 'za hodinu'\n    },\n    few: {\n      regular: '{{count}} hodiny',\n      past: 'před {{count}} hodinami',\n      future: 'za {{count}} hodiny'\n    },\n    many: {\n      regular: '{{count}} hodin',\n      past: 'před {{count}} hodinami',\n      future: 'za {{count}} hodin'\n    }\n  },\n  xDays: {\n    one: {\n      regular: 'den',\n      past: 'před dnem',\n      future: 'za den'\n    },\n    few: {\n      regular: '{{count}} dny',\n      past: 'před {{count}} dny',\n      future: 'za {{count}} dny'\n    },\n    many: {\n      regular: '{{count}} dní',\n      past: 'před {{count}} dny',\n      future: 'za {{count}} dní'\n    }\n  },\n  aboutXWeeks: {\n    one: {\n      regular: 'přibližně týden',\n      past: 'přibližně před týdnem',\n      future: 'přibližně za týden'\n    },\n    few: {\n      regular: 'přibližně {{count}} týdny',\n      past: 'přibližně před {{count}} týdny',\n      future: 'přibližně za {{count}} týdny'\n    },\n    many: {\n      regular: 'přibližně {{count}} týdnů',\n      past: 'přibližně před {{count}} týdny',\n      future: 'přibližně za {{count}} týdnů'\n    }\n  },\n  xWeeks: {\n    one: {\n      regular: 'týden',\n      past: 'před týdnem',\n      future: 'za týden'\n    },\n    few: {\n      regular: '{{count}} týdny',\n      past: 'před {{count}} týdny',\n      future: 'za {{count}} týdny'\n    },\n    many: {\n      regular: '{{count}} týdnů',\n      past: 'před {{count}} týdny',\n      future: 'za {{count}} týdnů'\n    }\n  },\n  aboutXMonths: {\n    one: {\n      regular: 'přibližně měsíc',\n      past: 'přibližně před měsícem',\n      future: 'přibližně za měsíc'\n    },\n    few: {\n      regular: 'přibližně {{count}} měsíce',\n      past: 'přibližně před {{count}} měsíci',\n      future: 'přibližně za {{count}} měsíce'\n    },\n    many: {\n      regular: 'přibližně {{count}} měsíců',\n      past: 'přibližně před {{count}} měsíci',\n      future: 'přibližně za {{count}} měsíců'\n    }\n  },\n  xMonths: {\n    one: {\n      regular: 'měsíc',\n      past: 'před měsícem',\n      future: 'za měsíc'\n    },\n    few: {\n      regular: '{{count}} měsíce',\n      past: 'před {{count}} měsíci',\n      future: 'za {{count}} měsíce'\n    },\n    many: {\n      regular: '{{count}} měsíců',\n      past: 'před {{count}} měsíci',\n      future: 'za {{count}} měsíců'\n    }\n  },\n  aboutXYears: {\n    one: {\n      regular: 'přibližně rok',\n      past: 'přibližně před rokem',\n      future: 'přibližně za rok'\n    },\n    few: {\n      regular: 'přibližně {{count}} roky',\n      past: 'přibližně před {{count}} roky',\n      future: 'přibližně za {{count}} roky'\n    },\n    many: {\n      regular: 'přibližně {{count}} roků',\n      past: 'přibližně před {{count}} roky',\n      future: 'přibližně za {{count}} roků'\n    }\n  },\n  xYears: {\n    one: {\n      regular: 'rok',\n      past: 'před rokem',\n      future: 'za rok'\n    },\n    few: {\n      regular: '{{count}} roky',\n      past: 'před {{count}} roky',\n      future: 'za {{count}} roky'\n    },\n    many: {\n      regular: '{{count}} roků',\n      past: 'před {{count}} roky',\n      future: 'za {{count}} roků'\n    }\n  },\n  overXYears: {\n    one: {\n      regular: 'více než rok',\n      past: 'před více než rokem',\n      future: 'za více než rok'\n    },\n    few: {\n      regular: 'více než {{count}} roky',\n      past: 'před více než {{count}} roky',\n      future: 'za více než {{count}} roky'\n    },\n    many: {\n      regular: 'více než {{count}} roků',\n      past: 'před více než {{count}} roky',\n      future: 'za více než {{count}} roků'\n    }\n  },\n  almostXYears: {\n    one: {\n      regular: 'skoro rok',\n      past: 'skoro před rokem',\n      future: 'skoro za rok'\n    },\n    few: {\n      regular: 'skoro {{count}} roky',\n      past: 'skoro před {{count}} roky',\n      future: 'skoro za {{count}} roky'\n    },\n    many: {\n      regular: 'skoro {{count}} roků',\n      past: 'skoro před {{count}} roky',\n      future: 'skoro za {{count}} roků'\n    }\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var pluralResult;\n  var tokenValue = formatDistanceLocale[token];\n\n  // cs pluralization\n  if (tokenValue.type === 'other') {\n    pluralResult = tokenValue.other;\n  } else if (count === 1) {\n    pluralResult = tokenValue.one;\n  } else if (count > 1 && count < 5) {\n    pluralResult = tokenValue.few;\n  } else {\n    pluralResult = tokenValue.many;\n  }\n\n  // times\n  var suffixExist = (options === null || options === void 0 ? void 0 : options.addSuffix) === true;\n  var comparison = options === null || options === void 0 ? void 0 : options.comparison;\n  var timeResult;\n  if (suffixExist && comparison === -1) {\n    timeResult = pluralResult.past;\n  } else if (suffixExist && comparison === 1) {\n    timeResult = pluralResult.future;\n  } else {\n    timeResult = pluralResult.regular;\n  }\n  return timeResult.replace('{{count}}', String(count));\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'EEEE, d. MMMM yyyy',\n  long: 'd. MMMM yyyy',\n  medium: 'd. M. yyyy',\n  short: 'dd.MM.yyyy'\n};\nvar timeFormats = {\n  full: 'H:mm:ss zzzz',\n  long: 'H:mm:ss z',\n  medium: 'H:mm:ss',\n  short: 'H:mm'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'v' {{time}}\",\n  long: \"{{date}} 'v' {{time}}\",\n  medium: '{{date}}, {{time}}',\n  short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var accusativeWeekdays = ['neděli', 'pondělí', 'úterý', 'středu', 'čtvrtek', 'pátek', 'sobotu'];\nvar formatRelativeLocale = {\n  lastWeek: \"'poslední' eeee 've' p\",\n  yesterday: \"'včera v' p\",\n  today: \"'dnes v' p\",\n  tomorrow: \"'zítra v' p\",\n  nextWeek: function nextWeek(date) {\n    var day = date.getUTCDay();\n    return \"'v \" + accusativeWeekdays[day] + \" o' p\";\n  },\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, date) {\n  var format = formatRelativeLocale[token];\n  if (typeof format === 'function') {\n    return format(date);\n  }\n  return format;\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['př. n. l.', 'n. l.'],\n  abbreviated: ['př. n. l.', 'n. l.'],\n  wide: ['před naším letopočtem', 'našeho letopočtu']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['1. čtvrtletí', '2. čtvrtletí', '3. čtvrtletí', '4. čtvrtletí'],\n  wide: ['1. čtvrtletí', '2. čtvrtletí', '3. čtvrtletí', '4. čtvrtletí']\n};\nvar monthValues = {\n  narrow: ['L', 'Ú', 'B', 'D', 'K', 'Č', 'Č', 'S', 'Z', 'Ř', 'L', 'P'],\n  abbreviated: ['led', 'úno', 'bře', 'dub', 'kvě', 'čvn', 'čvc', 'srp', 'zář', 'říj', 'lis', 'pro'],\n  wide: ['leden', 'únor', 'březen', 'duben', 'květen', 'červen', 'červenec', 'srpen', 'září', 'říjen', 'listopad', 'prosinec']\n};\nvar formattingMonthValues = {\n  narrow: ['L', 'Ú', 'B', 'D', 'K', 'Č', 'Č', 'S', 'Z', 'Ř', 'L', 'P'],\n  abbreviated: ['led', 'úno', 'bře', 'dub', 'kvě', 'čvn', 'čvc', 'srp', 'zář', 'říj', 'lis', 'pro'],\n  wide: ['ledna', 'února', 'března', 'dubna', 'května', 'června', 'července', 'srpna', 'září', 'října', 'listopadu', 'prosince']\n};\nvar dayValues = {\n  narrow: ['ne', 'po', 'út', 'st', 'čt', 'pá', 'so'],\n  short: ['ne', 'po', 'út', 'st', 'čt', 'pá', 'so'],\n  abbreviated: ['ned', 'pon', 'úte', 'stř', 'čtv', 'pát', 'sob'],\n  wide: ['neděle', 'pondělí', 'úterý', 'středa', 'čtvrtek', 'pátek', 'sobota']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'dop.',\n    pm: 'odp.',\n    midnight: 'půlnoc',\n    noon: 'poledne',\n    morning: 'ráno',\n    afternoon: 'odpoledne',\n    evening: 'večer',\n    night: 'noc'\n  },\n  abbreviated: {\n    am: 'dop.',\n    pm: 'odp.',\n    midnight: 'půlnoc',\n    noon: 'poledne',\n    morning: 'ráno',\n    afternoon: 'odpoledne',\n    evening: 'večer',\n    night: 'noc'\n  },\n  wide: {\n    am: 'dopoledne',\n    pm: 'odpoledne',\n    midnight: 'půlnoc',\n    noon: 'poledne',\n    morning: 'ráno',\n    afternoon: 'odpoledne',\n    evening: 'večer',\n    night: 'noc'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: 'dop.',\n    pm: 'odp.',\n    midnight: 'půlnoc',\n    noon: 'poledne',\n    morning: 'ráno',\n    afternoon: 'odpoledne',\n    evening: 'večer',\n    night: 'noc'\n  },\n  abbreviated: {\n    am: 'dop.',\n    pm: 'odp.',\n    midnight: 'půlnoc',\n    noon: 'poledne',\n    morning: 'ráno',\n    afternoon: 'odpoledne',\n    evening: 'večer',\n    night: 'noc'\n  },\n  wide: {\n    am: 'dopoledne',\n    pm: 'odpoledne',\n    midnight: 'půlnoc',\n    noon: 'poledne',\n    morning: 'ráno',\n    afternoon: 'odpoledne',\n    evening: 'večer',\n    night: 'noc'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n  var number = Number(dirtyNumber);\n  return number + '.';\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingMonthValues,\n    defaultFormattingWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)\\.?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(p[řr](\\.|ed) Kr\\.|p[řr](\\.|ed) n\\. l\\.|po Kr\\.|n\\. l\\.)/i,\n  abbreviated: /^(p[řr](\\.|ed) Kr\\.|p[řr](\\.|ed) n\\. l\\.|po Kr\\.|n\\. l\\.)/i,\n  wide: /^(p[řr](\\.|ed) Kristem|p[řr](\\.|ed) na[šs][íi]m letopo[čc]tem|po Kristu|na[šs]eho letopo[čc]tu)/i\n};\nvar parseEraPatterns = {\n  any: [/^p[řr]/i, /^(po|n)/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^[1234]\\. [čc]tvrtlet[íi]/i,\n  wide: /^[1234]\\. [čc]tvrtlet[íi]/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[lúubdkčcszřrlp]/i,\n  abbreviated: /^(led|[úu]no|b[řr]e|dub|kv[ěe]|[čc]vn|[čc]vc|srp|z[áa][řr]|[řr][íi]j|lis|pro)/i,\n  wide: /^(leden|ledna|[úu]nora?|b[řr]ezen|b[řr]ezna|duben|dubna|kv[ěe]ten|kv[ěe]tna|[čc]erven(ec|ce)?|[čc]ervna|srpen|srpna|z[áa][řr][íi]|[řr][íi]jen|[řr][íi]jna|listopad(a|u)?|prosinec|prosince)/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^l/i, /^[úu]/i, /^b/i, /^d/i, /^k/i, /^[čc]/i, /^[čc]/i, /^s/i, /^z/i, /^[řr]/i, /^l/i, /^p/i],\n  any: [/^led/i, /^[úu]n/i, /^b[řr]e/i, /^dub/i, /^kv[ěe]/i, /^[čc]vn|[čc]erven(?!\\w)|[čc]ervna/i, /^[čc]vc|[čc]erven(ec|ce)/i, /^srp/i, /^z[áa][řr]/i, /^[řr][íi]j/i, /^lis/i, /^pro/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[npuúsčps]/i,\n  short: /^(ne|po|[úu]t|st|[čc]t|p[áa]|so)/i,\n  abbreviated: /^(ned|pon|[úu]te|st[rř]|[čc]tv|p[áa]t|sob)/i,\n  wide: /^(ned[ěe]le|pond[ěe]l[íi]|[úu]ter[ýy]|st[řr]eda|[čc]tvrtek|p[áa]tek|sobota)/i\n};\nvar parseDayPatterns = {\n  narrow: [/^n/i, /^p/i, /^[úu]/i, /^s/i, /^[čc]/i, /^p/i, /^s/i],\n  any: [/^ne/i, /^po/i, /^[úu]t/i, /^st/i, /^[čc]t/i, /^p[áa]/i, /^so/i]\n};\nvar matchDayPeriodPatterns = {\n  any: /^dopoledne|dop\\.?|odpoledne|odp\\.?|p[ůu]lnoc|poledne|r[áa]no|odpoledne|ve[čc]er|(v )?noci?/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^dop/i,\n    pm: /^odp/i,\n    midnight: /^p[ůu]lnoc/i,\n    noon: /^poledne/i,\n    morning: /r[áa]no/i,\n    afternoon: /odpoledne/i,\n    evening: /ve[čc]er/i,\n    night: /noc/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Czech locale.\n * @language Czech\n * @iso-639-2 ces\n * @author David Rus [@davidrus]{@link https://github.com/davidrus}\n * @author Pavel Hrách [@SilenY]{@link https://github.com/SilenY}\n * @author Jozef Bíroš [@JozefBiros]{@link https://github.com/JozefBiros}\n */\nvar locale = {\n  code: 'cs',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4\n  }\n};\nexport default locale;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: 'mindre end ét sekund',\n    other: 'mindre end {{count}} sekunder'\n  },\n  xSeconds: {\n    one: '1 sekund',\n    other: '{{count}} sekunder'\n  },\n  halfAMinute: 'ét halvt minut',\n  lessThanXMinutes: {\n    one: 'mindre end ét minut',\n    other: 'mindre end {{count}} minutter'\n  },\n  xMinutes: {\n    one: '1 minut',\n    other: '{{count}} minutter'\n  },\n  aboutXHours: {\n    one: 'cirka 1 time',\n    other: 'cirka {{count}} timer'\n  },\n  xHours: {\n    one: '1 time',\n    other: '{{count}} timer'\n  },\n  xDays: {\n    one: '1 dag',\n    other: '{{count}} dage'\n  },\n  aboutXWeeks: {\n    one: 'cirka 1 uge',\n    other: 'cirka {{count}} uger'\n  },\n  xWeeks: {\n    one: '1 uge',\n    other: '{{count}} uger'\n  },\n  aboutXMonths: {\n    one: 'cirka 1 måned',\n    other: 'cirka {{count}} måneder'\n  },\n  xMonths: {\n    one: '1 måned',\n    other: '{{count}} måneder'\n  },\n  aboutXYears: {\n    one: 'cirka 1 år',\n    other: 'cirka {{count}} år'\n  },\n  xYears: {\n    one: '1 år',\n    other: '{{count}} år'\n  },\n  overXYears: {\n    one: 'over 1 år',\n    other: 'over {{count}} år'\n  },\n  almostXYears: {\n    one: 'næsten 1 år',\n    other: 'næsten {{count}} år'\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var result;\n  var tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace('{{count}}', String(count));\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return 'om ' + result;\n    } else {\n      return result + ' siden';\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: \"EEEE 'den' d. MMMM y\",\n  long: 'd. MMMM y',\n  medium: 'd. MMM y',\n  short: 'dd/MM/y'\n};\nvar timeFormats = {\n  full: 'HH:mm:ss zzzz',\n  long: 'HH:mm:ss z',\n  medium: 'HH:mm:ss',\n  short: 'HH:mm'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'kl'. {{time}}\",\n  long: \"{{date}} 'kl'. {{time}}\",\n  medium: '{{date}} {{time}}',\n  short: '{{date}} {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatRelativeLocale = {\n  lastWeek: \"'sidste' eeee 'kl.' p\",\n  yesterday: \"'i går kl.' p\",\n  today: \"'i dag kl.' p\",\n  tomorrow: \"'i morgen kl.' p\",\n  nextWeek: \"'på' eeee 'kl.' p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n  return formatRelativeLocale[token];\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['fvt', 'vt'],\n  abbreviated: ['f.v.t.', 'v.t.'],\n  wide: ['før vesterlandsk tidsregning', 'vesterlandsk tidsregning']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['1. kvt.', '2. kvt.', '3. kvt.', '4. kvt.'],\n  wide: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal']\n};\nvar monthValues = {\n  narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n  abbreviated: ['jan.', 'feb.', 'mar.', 'apr.', 'maj', 'jun.', 'jul.', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'],\n  wide: ['januar', 'februar', 'marts', 'april', 'maj', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'december']\n};\n\n// Note that 'Days - abbreviated - Formatting' has periods at the end.\n// https://www.unicode.org/cldr/charts/32/summary/da.html#1760\n// This makes grammatical sense in danish, as most abbreviations have periods.\nvar dayValues = {\n  narrow: ['S', 'M', 'T', 'O', 'T', 'F', 'L'],\n  short: ['sø', 'ma', 'ti', 'on', 'to', 'fr', 'lø'],\n  abbreviated: ['søn.', 'man.', 'tir.', 'ons.', 'tor.', 'fre.', 'lør.'],\n  wide: ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', 'lørdag']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'a',\n    pm: 'p',\n    midnight: 'midnat',\n    noon: 'middag',\n    morning: 'morgen',\n    afternoon: 'eftermiddag',\n    evening: 'aften',\n    night: 'nat'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'midnat',\n    noon: 'middag',\n    morning: 'morgen',\n    afternoon: 'eftermiddag',\n    evening: 'aften',\n    night: 'nat'\n  },\n  wide: {\n    am: 'a.m.',\n    pm: 'p.m.',\n    midnight: 'midnat',\n    noon: 'middag',\n    morning: 'morgen',\n    afternoon: 'eftermiddag',\n    evening: 'aften',\n    night: 'nat'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: 'a',\n    pm: 'p',\n    midnight: 'midnat',\n    noon: 'middag',\n    morning: 'om morgenen',\n    afternoon: 'om eftermiddagen',\n    evening: 'om aftenen',\n    night: 'om natten'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'midnat',\n    noon: 'middag',\n    morning: 'om morgenen',\n    afternoon: 'om eftermiddagen',\n    evening: 'om aftenen',\n    night: 'om natten'\n  },\n  wide: {\n    am: 'a.m.',\n    pm: 'p.m.',\n    midnight: 'midnat',\n    noon: 'middag',\n    morning: 'om morgenen',\n    afternoon: 'om eftermiddagen',\n    evening: 'om aftenen',\n    night: 'om natten'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n  var number = Number(dirtyNumber);\n  return number + '.';\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(\\.)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(fKr|fvt|eKr|vt)/i,\n  abbreviated: /^(f\\.Kr\\.?|f\\.v\\.t\\.?|e\\.Kr\\.?|v\\.t\\.)/i,\n  wide: /^(f.Kr.|før vesterlandsk tidsregning|e.Kr.|vesterlandsk tidsregning)/i\n};\nvar parseEraPatterns = {\n  any: [/^f/i, /^(v|e)/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^[1234]. kvt\\./i,\n  wide: /^[1234]\\.? kvartal/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated: /^(jan.|feb.|mar.|apr.|maj|jun.|jul.|aug.|sep.|okt.|nov.|dec.)/i,\n  wide: /^(januar|februar|marts|april|maj|juni|juli|august|september|oktober|november|december)/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n  any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^maj/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[smtofl]/i,\n  short: /^(søn.|man.|tir.|ons.|tor.|fre.|lør.)/i,\n  abbreviated: /^(søn|man|tir|ons|tor|fre|lør)/i,\n  wide: /^(søndag|mandag|tirsdag|onsdag|torsdag|fredag|lørdag)/i\n};\nvar parseDayPatterns = {\n  narrow: [/^s/i, /^m/i, /^t/i, /^o/i, /^t/i, /^f/i, /^l/i],\n  any: [/^s/i, /^m/i, /^ti/i, /^o/i, /^to/i, /^f/i, /^l/i]\n};\nvar matchDayPeriodPatterns = {\n  narrow: /^(a|p|midnat|middag|(om) (morgenen|eftermiddagen|aftenen|natten))/i,\n  any: /^([ap]\\.?\\s?m\\.?|midnat|middag|(om) (morgenen|eftermiddagen|aftenen|natten))/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^a/i,\n    pm: /^p/i,\n    midnight: /midnat/i,\n    noon: /middag/i,\n    morning: /morgen/i,\n    afternoon: /eftermiddag/i,\n    evening: /aften/i,\n    night: /nat/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Danish locale.\n * @language Danish\n * @iso-639-2 dan\n * @author Mathias Wøbbe [@MathiasKandelborg]{@link https://github.com/MathiasKandelborg}\n * @author Anders B. Hansen [@Andersbiha]{@link https://github.com/Andersbiha}\n * @author [@kgram]{@link https://github.com/kgram}\n * @author [@stefanbugge]{@link https://github.com/stefanbugge}\n */\nvar locale = {\n  code: 'da',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4\n  }\n};\nexport default locale;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    standalone: {\n      one: 'weniger als 1 Sekunde',\n      other: 'weniger als {{count}} Sekunden'\n    },\n    withPreposition: {\n      one: 'weniger als 1 Sekunde',\n      other: 'weniger als {{count}} Sekunden'\n    }\n  },\n  xSeconds: {\n    standalone: {\n      one: '1 Sekunde',\n      other: '{{count}} Sekunden'\n    },\n    withPreposition: {\n      one: '1 Sekunde',\n      other: '{{count}} Sekunden'\n    }\n  },\n  halfAMinute: {\n    standalone: 'halbe Minute',\n    withPreposition: 'halben Minute'\n  },\n  lessThanXMinutes: {\n    standalone: {\n      one: 'weniger als 1 Minute',\n      other: 'weniger als {{count}} Minuten'\n    },\n    withPreposition: {\n      one: 'weniger als 1 Minute',\n      other: 'weniger als {{count}} Minuten'\n    }\n  },\n  xMinutes: {\n    standalone: {\n      one: '1 Minute',\n      other: '{{count}} Minuten'\n    },\n    withPreposition: {\n      one: '1 Minute',\n      other: '{{count}} Minuten'\n    }\n  },\n  aboutXHours: {\n    standalone: {\n      one: 'etwa 1 Stunde',\n      other: 'etwa {{count}} Stunden'\n    },\n    withPreposition: {\n      one: 'etwa 1 Stunde',\n      other: 'etwa {{count}} Stunden'\n    }\n  },\n  xHours: {\n    standalone: {\n      one: '1 Stunde',\n      other: '{{count}} Stunden'\n    },\n    withPreposition: {\n      one: '1 Stunde',\n      other: '{{count}} Stunden'\n    }\n  },\n  xDays: {\n    standalone: {\n      one: '1 Tag',\n      other: '{{count}} Tage'\n    },\n    withPreposition: {\n      one: '1 Tag',\n      other: '{{count}} Tagen'\n    }\n  },\n  aboutXWeeks: {\n    standalone: {\n      one: 'etwa 1 Woche',\n      other: 'etwa {{count}} Wochen'\n    },\n    withPreposition: {\n      one: 'etwa 1 Woche',\n      other: 'etwa {{count}} Wochen'\n    }\n  },\n  xWeeks: {\n    standalone: {\n      one: '1 Woche',\n      other: '{{count}} Wochen'\n    },\n    withPreposition: {\n      one: '1 Woche',\n      other: '{{count}} Wochen'\n    }\n  },\n  aboutXMonths: {\n    standalone: {\n      one: 'etwa 1 Monat',\n      other: 'etwa {{count}} Monate'\n    },\n    withPreposition: {\n      one: 'etwa 1 Monat',\n      other: 'etwa {{count}} Monaten'\n    }\n  },\n  xMonths: {\n    standalone: {\n      one: '1 Monat',\n      other: '{{count}} Monate'\n    },\n    withPreposition: {\n      one: '1 Monat',\n      other: '{{count}} Monaten'\n    }\n  },\n  aboutXYears: {\n    standalone: {\n      one: 'etwa 1 Jahr',\n      other: 'etwa {{count}} Jahre'\n    },\n    withPreposition: {\n      one: 'etwa 1 Jahr',\n      other: 'etwa {{count}} Jahren'\n    }\n  },\n  xYears: {\n    standalone: {\n      one: '1 Jahr',\n      other: '{{count}} Jahre'\n    },\n    withPreposition: {\n      one: '1 Jahr',\n      other: '{{count}} Jahren'\n    }\n  },\n  overXYears: {\n    standalone: {\n      one: 'mehr als 1 Jahr',\n      other: 'mehr als {{count}} Jahre'\n    },\n    withPreposition: {\n      one: 'mehr als 1 Jahr',\n      other: 'mehr als {{count}} Jahren'\n    }\n  },\n  almostXYears: {\n    standalone: {\n      one: 'fast 1 Jahr',\n      other: 'fast {{count}} Jahre'\n    },\n    withPreposition: {\n      one: 'fast 1 Jahr',\n      other: 'fast {{count}} Jahren'\n    }\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var result;\n  var tokenValue = options !== null && options !== void 0 && options.addSuffix ? formatDistanceLocale[token].withPreposition : formatDistanceLocale[token].standalone;\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace('{{count}}', String(count));\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return 'in ' + result;\n    } else {\n      return 'vor ' + result;\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\n// DIN 5008: https://de.wikipedia.org/wiki/Datumsformat#DIN_5008\nvar dateFormats = {\n  full: 'EEEE, do MMMM y',\n  // Montag, 7. Januar 2018\n  long: 'do MMMM y',\n  // 7. Januar 2018\n  medium: 'do MMM y',\n  // 7. Jan. 2018\n  short: 'dd.MM.y' // 07.01.2018\n};\n\nvar timeFormats = {\n  full: 'HH:mm:ss zzzz',\n  long: 'HH:mm:ss z',\n  medium: 'HH:mm:ss',\n  short: 'HH:mm'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'um' {{time}}\",\n  long: \"{{date}} 'um' {{time}}\",\n  medium: '{{date}} {{time}}',\n  short: '{{date}} {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatRelativeLocale = {\n  lastWeek: \"'letzten' eeee 'um' p\",\n  yesterday: \"'gestern um' p\",\n  today: \"'heute um' p\",\n  tomorrow: \"'morgen um' p\",\n  nextWeek: \"eeee 'um' p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n  return formatRelativeLocale[token];\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['v.Chr.', 'n.Chr.'],\n  abbreviated: ['v.Chr.', 'n.Chr.'],\n  wide: ['vor Christus', 'nach Christus']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n  wide: ['1. Quartal', '2. Quartal', '3. Quartal', '4. Quartal']\n};\n\n// Note: in German, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nvar monthValues = {\n  narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n  abbreviated: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],\n  wide: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember']\n};\n\n// https://st.unicode.org/cldr-apps/v#/de/Gregorian/\nvar formattingMonthValues = {\n  narrow: monthValues.narrow,\n  abbreviated: ['Jan.', 'Feb.', 'März', 'Apr.', 'Mai', 'Juni', 'Juli', 'Aug.', 'Sep.', 'Okt.', 'Nov.', 'Dez.'],\n  wide: monthValues.wide\n};\nvar dayValues = {\n  narrow: ['S', 'M', 'D', 'M', 'D', 'F', 'S'],\n  short: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],\n  abbreviated: ['So.', 'Mo.', 'Di.', 'Mi.', 'Do.', 'Fr.', 'Sa.'],\n  wide: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag']\n};\n\n// https://www.unicode.org/cldr/charts/32/summary/de.html#1881\nvar dayPeriodValues = {\n  narrow: {\n    am: 'vm.',\n    pm: 'nm.',\n    midnight: 'Mitternacht',\n    noon: 'Mittag',\n    morning: 'Morgen',\n    afternoon: 'Nachm.',\n    evening: 'Abend',\n    night: 'Nacht'\n  },\n  abbreviated: {\n    am: 'vorm.',\n    pm: 'nachm.',\n    midnight: 'Mitternacht',\n    noon: 'Mittag',\n    morning: 'Morgen',\n    afternoon: 'Nachmittag',\n    evening: 'Abend',\n    night: 'Nacht'\n  },\n  wide: {\n    am: 'vormittags',\n    pm: 'nachmittags',\n    midnight: 'Mitternacht',\n    noon: 'Mittag',\n    morning: 'Morgen',\n    afternoon: 'Nachmittag',\n    evening: 'Abend',\n    night: 'Nacht'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: 'vm.',\n    pm: 'nm.',\n    midnight: 'Mitternacht',\n    noon: 'Mittag',\n    morning: 'morgens',\n    afternoon: 'nachm.',\n    evening: 'abends',\n    night: 'nachts'\n  },\n  abbreviated: {\n    am: 'vorm.',\n    pm: 'nachm.',\n    midnight: 'Mitternacht',\n    noon: 'Mittag',\n    morning: 'morgens',\n    afternoon: 'nachmittags',\n    evening: 'abends',\n    night: 'nachts'\n  },\n  wide: {\n    am: 'vormittags',\n    pm: 'nachmittags',\n    midnight: 'Mitternacht',\n    noon: 'Mittag',\n    morning: 'morgens',\n    afternoon: 'nachmittags',\n    evening: 'abends',\n    night: 'nachts'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber) {\n  var number = Number(dirtyNumber);\n  return number + '.';\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    formattingValues: formattingMonthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(\\.)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(v\\.? ?Chr\\.?|n\\.? ?Chr\\.?)/i,\n  abbreviated: /^(v\\.? ?Chr\\.?|n\\.? ?Chr\\.?)/i,\n  wide: /^(vor Christus|vor unserer Zeitrechnung|nach Christus|unserer Zeitrechnung)/i\n};\nvar parseEraPatterns = {\n  any: [/^v/i, /^n/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^[1234](\\.)? Quartal/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated: /^(j[aä]n|feb|mär[z]?|apr|mai|jun[i]?|jul[i]?|aug|sep|okt|nov|dez)\\.?/i,\n  wide: /^(januar|februar|märz|april|mai|juni|juli|august|september|oktober|november|dezember)/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n  any: [/^j[aä]/i, /^f/i, /^mär/i, /^ap/i, /^mai/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[smdmf]/i,\n  short: /^(so|mo|di|mi|do|fr|sa)/i,\n  abbreviated: /^(son?|mon?|die?|mit?|don?|fre?|sam?)\\.?/i,\n  wide: /^(sonntag|montag|dienstag|mittwoch|donnerstag|freitag|samstag)/i\n};\nvar parseDayPatterns = {\n  any: [/^so/i, /^mo/i, /^di/i, /^mi/i, /^do/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n  narrow: /^(vm\\.?|nm\\.?|Mitternacht|Mittag|morgens|nachm\\.?|abends|nachts)/i,\n  abbreviated: /^(vorm\\.?|nachm\\.?|Mitternacht|Mittag|morgens|nachm\\.?|abends|nachts)/i,\n  wide: /^(vormittags|nachmittags|Mitternacht|Mittag|morgens|nachmittags|abends|nachts)/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^v/i,\n    pm: /^n/i,\n    midnight: /^Mitte/i,\n    noon: /^Mitta/i,\n    morning: /morgens/i,\n    afternoon: /nachmittags/i,\n    // will never be matched. Afternoon is matched by `pm`\n    evening: /abends/i,\n    night: /nachts/i // will never be matched. Night is matched by `pm`\n  }\n};\n\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary German locale.\n * @language German\n * @iso-639-2 deu\n * @author Thomas Eilmsteiner [@DeMuu]{@link https://github.com/DeMuu}\n * @author Asia [@asia-t]{@link https://github.com/asia-t}\n * @author Van Vuong Ngo [@vanvuongngo]{@link https://github.com/vanvuongngo}\n * @author RomanErnst [@pex]{@link https://github.com/pex}\n * @author Philipp Keck [@Philipp91]{@link https://github.com/Philipp91}\n */\nvar locale = {\n  code: 'de',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4\n  }\n};\nexport default locale;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'EEEE, d MMMM yyyy',\n  long: 'd MMMM, yyyy',\n  medium: 'd MMM, yyyy',\n  short: 'dd/MM/yyyy'\n};\nvar timeFormats = {\n  full: 'h:mm:ss a zzzz',\n  long: 'h:mm:ss a z',\n  medium: 'h:mm:ss a',\n  short: 'h:mm a'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'at' {{time}}\",\n  long: \"{{date}} 'at' {{time}}\",\n  medium: '{{date}}, {{time}}',\n  short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","import formatDistance from \"../en-US/_lib/formatDistance/index.js\";\nimport formatRelative from \"../en-US/_lib/formatRelative/index.js\";\nimport localize from \"../en-US/_lib/localize/index.js\";\nimport match from \"../en-US/_lib/match/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (India).\n * @language English\n * @iso-639-2 eng\n * @author Galeel Bhasha Satthar [@gbhasha]{@link https://github.com/gbhasha}\n */\nvar locale = {\n  code: 'en-IN',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1,\n    // Monday is the first day of the week.\n    firstWeekContainsDate: 4 // The week that contains Jan 4th is the first week of the year.\n  }\n};\n\nexport default locale;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'EEEE, d MMMM yyyy',\n  long: 'd MMMM yyyy',\n  medium: 'd MMM yyyy',\n  short: 'dd/MM/yyyy'\n};\nvar timeFormats = {\n  full: 'HH:mm:ss zzzz',\n  long: 'HH:mm:ss z',\n  medium: 'HH:mm:ss',\n  short: 'HH:mm'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'at' {{time}}\",\n  long: \"{{date}} 'at' {{time}}\",\n  medium: '{{date}}, {{time}}',\n  short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","import formatDistance from \"../en-US/_lib/formatDistance/index.js\";\nimport formatRelative from \"../en-US/_lib/formatRelative/index.js\";\nimport localize from \"../en-US/_lib/localize/index.js\";\nimport match from \"../en-US/_lib/match/index.js\";\nimport formatLong from \"../en-GB/_lib/formatLong/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (Ireland).\n * @language English\n * @iso-639-2 eng\n * @author Tetiana [@tan75]{@link https://github.com/tan75}\n */\nvar locale = {\n  code: 'en-IE',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4\n  }\n};\nexport default locale;","import formatDistance from \"../en-US/_lib/formatDistance/index.js\";\nimport formatRelative from \"../en-US/_lib/formatRelative/index.js\";\nimport localize from \"../en-US/_lib/localize/index.js\";\nimport match from \"../en-US/_lib/match/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (United Kingdom).\n * @language English\n * @iso-639-2 eng\n * @author Alex [@glintik]{@link https://github.com/glintik}\n */\nvar locale = {\n  code: 'en-GB',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4\n  }\n};\nexport default locale;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: 'menos de un segundo',\n    other: 'menos de {{count}} segundos'\n  },\n  xSeconds: {\n    one: '1 segundo',\n    other: '{{count}} segundos'\n  },\n  halfAMinute: 'medio minuto',\n  lessThanXMinutes: {\n    one: 'menos de un minuto',\n    other: 'menos de {{count}} minutos'\n  },\n  xMinutes: {\n    one: '1 minuto',\n    other: '{{count}} minutos'\n  },\n  aboutXHours: {\n    one: 'alrededor de 1 hora',\n    other: 'alrededor de {{count}} horas'\n  },\n  xHours: {\n    one: '1 hora',\n    other: '{{count}} horas'\n  },\n  xDays: {\n    one: '1 día',\n    other: '{{count}} días'\n  },\n  aboutXWeeks: {\n    one: 'alrededor de 1 semana',\n    other: 'alrededor de {{count}} semanas'\n  },\n  xWeeks: {\n    one: '1 semana',\n    other: '{{count}} semanas'\n  },\n  aboutXMonths: {\n    one: 'alrededor de 1 mes',\n    other: 'alrededor de {{count}} meses'\n  },\n  xMonths: {\n    one: '1 mes',\n    other: '{{count}} meses'\n  },\n  aboutXYears: {\n    one: 'alrededor de 1 año',\n    other: 'alrededor de {{count}} años'\n  },\n  xYears: {\n    one: '1 año',\n    other: '{{count}} años'\n  },\n  overXYears: {\n    one: 'más de 1 año',\n    other: 'más de {{count}} años'\n  },\n  almostXYears: {\n    one: 'casi 1 año',\n    other: 'casi {{count}} años'\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var result;\n  var tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace('{{count}}', count.toString());\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return 'en ' + result;\n    } else {\n      return 'hace ' + result;\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: \"EEEE, d 'de' MMMM 'de' y\",\n  long: \"d 'de' MMMM 'de' y\",\n  medium: 'd MMM y',\n  short: 'dd/MM/y'\n};\nvar timeFormats = {\n  full: 'HH:mm:ss zzzz',\n  long: 'HH:mm:ss z',\n  medium: 'HH:mm:ss',\n  short: 'HH:mm'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'a las' {{time}}\",\n  long: \"{{date}} 'a las' {{time}}\",\n  medium: '{{date}}, {{time}}',\n  short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatRelativeLocale = {\n  lastWeek: \"'el' eeee 'pasado a la' p\",\n  yesterday: \"'ayer a la' p\",\n  today: \"'hoy a la' p\",\n  tomorrow: \"'mañana a la' p\",\n  nextWeek: \"eeee 'a la' p\",\n  other: 'P'\n};\nvar formatRelativeLocalePlural = {\n  lastWeek: \"'el' eeee 'pasado a las' p\",\n  yesterday: \"'ayer a las' p\",\n  today: \"'hoy a las' p\",\n  tomorrow: \"'mañana a las' p\",\n  nextWeek: \"eeee 'a las' p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, date, _baseDate, _options) {\n  if (date.getUTCHours() !== 1) {\n    return formatRelativeLocalePlural[token];\n  } else {\n    return formatRelativeLocale[token];\n  }\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['AC', 'DC'],\n  abbreviated: ['AC', 'DC'],\n  wide: ['antes de cristo', 'después de cristo']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['T1', 'T2', 'T3', 'T4'],\n  wide: ['1º trimestre', '2º trimestre', '3º trimestre', '4º trimestre']\n};\nvar monthValues = {\n  narrow: ['e', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'],\n  abbreviated: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', 'oct', 'nov', 'dic'],\n  wide: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre']\n};\nvar dayValues = {\n  narrow: ['d', 'l', 'm', 'm', 'j', 'v', 's'],\n  short: ['do', 'lu', 'ma', 'mi', 'ju', 'vi', 'sá'],\n  abbreviated: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'],\n  wide: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'a',\n    pm: 'p',\n    midnight: 'mn',\n    noon: 'md',\n    morning: 'mañana',\n    afternoon: 'tarde',\n    evening: 'tarde',\n    night: 'noche'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'medianoche',\n    noon: 'mediodia',\n    morning: 'mañana',\n    afternoon: 'tarde',\n    evening: 'tarde',\n    night: 'noche'\n  },\n  wide: {\n    am: 'a.m.',\n    pm: 'p.m.',\n    midnight: 'medianoche',\n    noon: 'mediodia',\n    morning: 'mañana',\n    afternoon: 'tarde',\n    evening: 'tarde',\n    night: 'noche'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: 'a',\n    pm: 'p',\n    midnight: 'mn',\n    noon: 'md',\n    morning: 'de la mañana',\n    afternoon: 'de la tarde',\n    evening: 'de la tarde',\n    night: 'de la noche'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'medianoche',\n    noon: 'mediodia',\n    morning: 'de la mañana',\n    afternoon: 'de la tarde',\n    evening: 'de la tarde',\n    night: 'de la noche'\n  },\n  wide: {\n    am: 'a.m.',\n    pm: 'p.m.',\n    midnight: 'medianoche',\n    noon: 'mediodia',\n    morning: 'de la mañana',\n    afternoon: 'de la tarde',\n    evening: 'de la tarde',\n    night: 'de la noche'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n  var number = Number(dirtyNumber);\n  return number + 'º';\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return Number(quarter) - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nimport buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(º)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(ac|dc|a|d)/i,\n  abbreviated: /^(a\\.?\\s?c\\.?|a\\.?\\s?e\\.?\\s?c\\.?|d\\.?\\s?c\\.?|e\\.?\\s?c\\.?)/i,\n  wide: /^(antes de cristo|antes de la era com[uú]n|despu[eé]s de cristo|era com[uú]n)/i\n};\nvar parseEraPatterns = {\n  any: [/^ac/i, /^dc/i],\n  wide: [/^(antes de cristo|antes de la era com[uú]n)/i, /^(despu[eé]s de cristo|era com[uú]n)/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^T[1234]/i,\n  wide: /^[1234](º)? trimestre/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[efmajsond]/i,\n  abbreviated: /^(ene|feb|mar|abr|may|jun|jul|ago|sep|oct|nov|dic)/i,\n  wide: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^e/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n  any: [/^en/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[dlmjvs]/i,\n  short: /^(do|lu|ma|mi|ju|vi|s[áa])/i,\n  abbreviated: /^(dom|lun|mar|mi[ée]|jue|vie|s[áa]b)/i,\n  wide: /^(domingo|lunes|martes|mi[ée]rcoles|jueves|viernes|s[áa]bado)/i\n};\nvar parseDayPatterns = {\n  narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^j/i, /^v/i, /^s/i],\n  any: [/^do/i, /^lu/i, /^ma/i, /^mi/i, /^ju/i, /^vi/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n  narrow: /^(a|p|mn|md|(de la|a las) (mañana|tarde|noche))/i,\n  any: /^([ap]\\.?\\s?m\\.?|medianoche|mediodia|(de la|a las) (mañana|tarde|noche))/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^a/i,\n    pm: /^p/i,\n    midnight: /^mn/i,\n    noon: /^md/i,\n    morning: /mañana/i,\n    afternoon: /tarde/i,\n    evening: /tarde/i,\n    night: /noche/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Spanish locale.\n * @language Spanish\n * @iso-639-2 spa\n * @author Juan Angosto [@juanangosto]{@link https://github.com/juanangosto}\n * @author Guillermo Grau [@guigrpa]{@link https://github.com/guigrpa}\n * @author Fernando Agüero [@fjaguero]{@link https://github.com/fjaguero}\n * @author Gastón Haro [@harogaston]{@link https://github.com/harogaston}\n * @author Yago Carballo [@YagoCarballo]{@link https://github.com/YagoCarballo}\n */\nvar locale = {\n  code: 'es',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 1\n  }\n};\nexport default locale;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    standalone: {\n      one: 'vähem kui üks sekund',\n      other: 'vähem kui {{count}} sekundit'\n    },\n    withPreposition: {\n      one: 'vähem kui ühe sekundi',\n      other: 'vähem kui {{count}} sekundi'\n    }\n  },\n  xSeconds: {\n    standalone: {\n      one: 'üks sekund',\n      other: '{{count}} sekundit'\n    },\n    withPreposition: {\n      one: 'ühe sekundi',\n      other: '{{count}} sekundi'\n    }\n  },\n  halfAMinute: {\n    standalone: 'pool minutit',\n    withPreposition: 'poole minuti'\n  },\n  lessThanXMinutes: {\n    standalone: {\n      one: 'vähem kui üks minut',\n      other: 'vähem kui {{count}} minutit'\n    },\n    withPreposition: {\n      one: 'vähem kui ühe minuti',\n      other: 'vähem kui {{count}} minuti'\n    }\n  },\n  xMinutes: {\n    standalone: {\n      one: 'üks minut',\n      other: '{{count}} minutit'\n    },\n    withPreposition: {\n      one: 'ühe minuti',\n      other: '{{count}} minuti'\n    }\n  },\n  aboutXHours: {\n    standalone: {\n      one: 'umbes üks tund',\n      other: 'umbes {{count}} tundi'\n    },\n    withPreposition: {\n      one: 'umbes ühe tunni',\n      other: 'umbes {{count}} tunni'\n    }\n  },\n  xHours: {\n    standalone: {\n      one: 'üks tund',\n      other: '{{count}} tundi'\n    },\n    withPreposition: {\n      one: 'ühe tunni',\n      other: '{{count}} tunni'\n    }\n  },\n  xDays: {\n    standalone: {\n      one: 'üks päev',\n      other: '{{count}} päeva'\n    },\n    withPreposition: {\n      one: 'ühe päeva',\n      other: '{{count}} päeva'\n    }\n  },\n  aboutXWeeks: {\n    standalone: {\n      one: 'umbes üks nädal',\n      other: 'umbes {{count}} nädalat'\n    },\n    withPreposition: {\n      one: 'umbes ühe nädala',\n      other: 'umbes {{count}} nädala'\n    }\n  },\n  xWeeks: {\n    standalone: {\n      one: 'üks nädal',\n      other: '{{count}} nädalat'\n    },\n    withPreposition: {\n      one: 'ühe nädala',\n      other: '{{count}} nädala'\n    }\n  },\n  aboutXMonths: {\n    standalone: {\n      one: 'umbes üks kuu',\n      other: 'umbes {{count}} kuud'\n    },\n    withPreposition: {\n      one: 'umbes ühe kuu',\n      other: 'umbes {{count}} kuu'\n    }\n  },\n  xMonths: {\n    standalone: {\n      one: 'üks kuu',\n      other: '{{count}} kuud'\n    },\n    withPreposition: {\n      one: 'ühe kuu',\n      other: '{{count}} kuu'\n    }\n  },\n  aboutXYears: {\n    standalone: {\n      one: 'umbes üks aasta',\n      other: 'umbes {{count}} aastat'\n    },\n    withPreposition: {\n      one: 'umbes ühe aasta',\n      other: 'umbes {{count}} aasta'\n    }\n  },\n  xYears: {\n    standalone: {\n      one: 'üks aasta',\n      other: '{{count}} aastat'\n    },\n    withPreposition: {\n      one: 'ühe aasta',\n      other: '{{count}} aasta'\n    }\n  },\n  overXYears: {\n    standalone: {\n      one: 'rohkem kui üks aasta',\n      other: 'rohkem kui {{count}} aastat'\n    },\n    withPreposition: {\n      one: 'rohkem kui ühe aasta',\n      other: 'rohkem kui {{count}} aasta'\n    }\n  },\n  almostXYears: {\n    standalone: {\n      one: 'peaaegu üks aasta',\n      other: 'peaaegu {{count}} aastat'\n    },\n    withPreposition: {\n      one: 'peaaegu ühe aasta',\n      other: 'peaaegu {{count}} aasta'\n    }\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var usageGroup = options !== null && options !== void 0 && options.addSuffix ? formatDistanceLocale[token].withPreposition : formatDistanceLocale[token].standalone;\n  var result;\n  if (typeof usageGroup === 'string') {\n    result = usageGroup;\n  } else if (count === 1) {\n    result = usageGroup.one;\n  } else {\n    result = usageGroup.other.replace('{{count}}', String(count));\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return result + ' pärast';\n    } else {\n      return result + ' eest';\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'EEEE, d. MMMM y',\n  long: 'd. MMMM y',\n  medium: 'd. MMM y',\n  short: 'dd.MM.y'\n};\nvar timeFormats = {\n  full: 'HH:mm:ss zzzz',\n  long: 'HH:mm:ss z',\n  medium: 'HH:mm:ss',\n  short: 'HH:mm'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'kell' {{time}}\",\n  long: \"{{date}} 'kell' {{time}}\",\n  medium: '{{date}}. {{time}}',\n  short: '{{date}}. {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatRelativeLocale = {\n  lastWeek: \"'eelmine' eeee 'kell' p\",\n  yesterday: \"'eile kell' p\",\n  today: \"'täna kell' p\",\n  tomorrow: \"'homme kell' p\",\n  nextWeek: \"'järgmine' eeee 'kell' p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n  return formatRelativeLocale[token];\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['e.m.a', 'm.a.j'],\n  abbreviated: ['e.m.a', 'm.a.j'],\n  wide: ['enne meie ajaarvamist', 'meie ajaarvamise järgi']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['K1', 'K2', 'K3', 'K4'],\n  wide: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal']\n};\nvar monthValues = {\n  narrow: ['J', 'V', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n  abbreviated: ['jaan', 'veebr', 'märts', 'apr', 'mai', 'juuni', 'juuli', 'aug', 'sept', 'okt', 'nov', 'dets'],\n  wide: ['jaanuar', 'veebruar', 'märts', 'aprill', 'mai', 'juuni', 'juuli', 'august', 'september', 'oktoober', 'november', 'detsember']\n};\nvar dayValues = {\n  narrow: ['P', 'E', 'T', 'K', 'N', 'R', 'L'],\n  short: ['P', 'E', 'T', 'K', 'N', 'R', 'L'],\n  abbreviated: ['pühap.', 'esmasp.', 'teisip.', 'kolmap.', 'neljap.', 'reede.', 'laup.'],\n  wide: ['pühapäev', 'esmaspäev', 'teisipäev', 'kolmapäev', 'neljapäev', 'reede', 'laupäev']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'kesköö',\n    noon: 'keskpäev',\n    morning: 'hommik',\n    afternoon: 'pärastlõuna',\n    evening: 'õhtu',\n    night: 'öö'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'kesköö',\n    noon: 'keskpäev',\n    morning: 'hommik',\n    afternoon: 'pärastlõuna',\n    evening: 'õhtu',\n    night: 'öö'\n  },\n  wide: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'kesköö',\n    noon: 'keskpäev',\n    morning: 'hommik',\n    afternoon: 'pärastlõuna',\n    evening: 'õhtu',\n    night: 'öö'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'keskööl',\n    noon: 'keskpäeval',\n    morning: 'hommikul',\n    afternoon: 'pärastlõunal',\n    evening: 'õhtul',\n    night: 'öösel'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'keskööl',\n    noon: 'keskpäeval',\n    morning: 'hommikul',\n    afternoon: 'pärastlõunal',\n    evening: 'õhtul',\n    night: 'öösel'\n  },\n  wide: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'keskööl',\n    noon: 'keskpäeval',\n    morning: 'hommikul',\n    afternoon: 'pärastlõunal',\n    evening: 'õhtul',\n    night: 'öösel'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n  var number = Number(dirtyNumber);\n  return number + '.';\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide',\n    formattingValues: monthValues,\n    defaultFormattingWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide',\n    formattingValues: dayValues,\n    defaultFormattingWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^\\d+\\./i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(e\\.m\\.a|m\\.a\\.j|eKr|pKr)/i,\n  abbreviated: /^(e\\.m\\.a|m\\.a\\.j|eKr|pKr)/i,\n  wide: /^(enne meie ajaarvamist|meie ajaarvamise järgi|enne Kristust|pärast Kristust)/i\n};\nvar parseEraPatterns = {\n  any: [/^e/i, /^(m|p)/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^K[1234]/i,\n  wide: /^[1234](\\.)? kvartal/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[jvmasond]/i,\n  abbreviated: /^(jaan|veebr|märts|apr|mai|juuni|juuli|aug|sept|okt|nov|dets)/i,\n  wide: /^(jaanuar|veebruar|märts|aprill|mai|juuni|juuli|august|september|oktoober|november|detsember)/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^j/i, /^v/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n  any: [/^ja/i, /^v/i, /^mär/i, /^ap/i, /^mai/i, /^juun/i, /^juul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[petknrl]/i,\n  short: /^[petknrl]/i,\n  abbreviated: /^(püh?|esm?|tei?|kolm?|nel?|ree?|laup?)\\.?/i,\n  wide: /^(pühapäev|esmaspäev|teisipäev|kolmapäev|neljapäev|reede|laupäev)/i\n};\nvar parseDayPatterns = {\n  any: [/^p/i, /^e/i, /^t/i, /^k/i, /^n/i, /^r/i, /^l/i]\n};\nvar matchDayPeriodPatterns = {\n  any: /^(am|pm|keskööl?|keskpäev(al)?|hommik(ul)?|pärastlõunal?|õhtul?|öö(sel)?)/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^a/i,\n    pm: /^p/i,\n    midnight: /^keskö/i,\n    noon: /^keskp/i,\n    morning: /hommik/i,\n    afternoon: /pärastlõuna/i,\n    evening: /õhtu/i,\n    night: /öö/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Estonian locale.\n * @language Estonian\n * @iso-639-2 est\n * @author Priit Hansen [@HansenPriit]{@link https://github.com/priithansen}\n */\nvar locale = {\n  code: 'et',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4\n  }\n};\nexport default locale;","function futureSeconds(text) {\n  return text.replace(/sekuntia?/, 'sekunnin');\n}\nfunction futureMinutes(text) {\n  return text.replace(/minuuttia?/, 'minuutin');\n}\nfunction futureHours(text) {\n  return text.replace(/tuntia?/, 'tunnin');\n}\nfunction futureDays(text) {\n  return text.replace(/päivää?/, 'päivän');\n}\nfunction futureWeeks(text) {\n  return text.replace(/(viikko|viikkoa)/, 'viikon');\n}\nfunction futureMonths(text) {\n  return text.replace(/(kuukausi|kuukautta)/, 'kuukauden');\n}\nfunction futureYears(text) {\n  return text.replace(/(vuosi|vuotta)/, 'vuoden');\n}\nvar formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: 'alle sekunti',\n    other: 'alle {{count}} sekuntia',\n    futureTense: futureSeconds\n  },\n  xSeconds: {\n    one: 'sekunti',\n    other: '{{count}} sekuntia',\n    futureTense: futureSeconds\n  },\n  halfAMinute: {\n    one: 'puoli minuuttia',\n    other: 'puoli minuuttia',\n    futureTense: function futureTense(_text) {\n      return 'puolen minuutin';\n    }\n  },\n  lessThanXMinutes: {\n    one: 'alle minuutti',\n    other: 'alle {{count}} minuuttia',\n    futureTense: futureMinutes\n  },\n  xMinutes: {\n    one: 'minuutti',\n    other: '{{count}} minuuttia',\n    futureTense: futureMinutes\n  },\n  aboutXHours: {\n    one: 'noin tunti',\n    other: 'noin {{count}} tuntia',\n    futureTense: futureHours\n  },\n  xHours: {\n    one: 'tunti',\n    other: '{{count}} tuntia',\n    futureTense: futureHours\n  },\n  xDays: {\n    one: 'päivä',\n    other: '{{count}} päivää',\n    futureTense: futureDays\n  },\n  aboutXWeeks: {\n    one: 'noin viikko',\n    other: 'noin {{count}} viikkoa',\n    futureTense: futureWeeks\n  },\n  xWeeks: {\n    one: 'viikko',\n    other: '{{count}} viikkoa',\n    futureTense: futureWeeks\n  },\n  aboutXMonths: {\n    one: 'noin kuukausi',\n    other: 'noin {{count}} kuukautta',\n    futureTense: futureMonths\n  },\n  xMonths: {\n    one: 'kuukausi',\n    other: '{{count}} kuukautta',\n    futureTense: futureMonths\n  },\n  aboutXYears: {\n    one: 'noin vuosi',\n    other: 'noin {{count}} vuotta',\n    futureTense: futureYears\n  },\n  xYears: {\n    one: 'vuosi',\n    other: '{{count}} vuotta',\n    futureTense: futureYears\n  },\n  overXYears: {\n    one: 'yli vuosi',\n    other: 'yli {{count}} vuotta',\n    futureTense: futureYears\n  },\n  almostXYears: {\n    one: 'lähes vuosi',\n    other: 'lähes {{count}} vuotta',\n    futureTense: futureYears\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var tokenValue = formatDistanceLocale[token];\n  var result = count === 1 ? tokenValue.one : tokenValue.other.replace('{{count}}', String(count));\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return tokenValue.futureTense(result) + ' kuluttua';\n    } else {\n      return result + ' sitten';\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'eeee d. MMMM y',\n  long: 'd. MMMM y',\n  medium: 'd. MMM y',\n  short: 'd.M.y'\n};\nvar timeFormats = {\n  full: 'HH.mm.ss zzzz',\n  long: 'HH.mm.ss z',\n  medium: 'HH.mm.ss',\n  short: 'HH.mm'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'klo' {{time}}\",\n  long: \"{{date}} 'klo' {{time}}\",\n  medium: '{{date}} {{time}}',\n  short: '{{date}} {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatRelativeLocale = {\n  lastWeek: \"'viime' eeee 'klo' p\",\n  yesterday: \"'eilen klo' p\",\n  today: \"'tänään klo' p\",\n  tomorrow: \"'huomenna klo' p\",\n  nextWeek: \"'ensi' eeee 'klo' p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n  return formatRelativeLocale[token];\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['eaa.', 'jaa.'],\n  abbreviated: ['eaa.', 'jaa.'],\n  wide: ['ennen ajanlaskun alkua', 'jälkeen ajanlaskun alun']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n  wide: ['1. kvartaali', '2. kvartaali', '3. kvartaali', '4. kvartaali']\n};\nvar monthValues = {\n  narrow: ['T', 'H', 'M', 'H', 'T', 'K', 'H', 'E', 'S', 'L', 'M', 'J'],\n  abbreviated: ['tammi', 'helmi', 'maalis', 'huhti', 'touko', 'kesä', 'heinä', 'elo', 'syys', 'loka', 'marras', 'joulu'],\n  wide: ['tammikuu', 'helmikuu', 'maaliskuu', 'huhtikuu', 'toukokuu', 'kesäkuu', 'heinäkuu', 'elokuu', 'syyskuu', 'lokakuu', 'marraskuu', 'joulukuu']\n};\nvar formattingMonthValues = {\n  narrow: monthValues.narrow,\n  abbreviated: monthValues.abbreviated,\n  wide: ['tammikuuta', 'helmikuuta', 'maaliskuuta', 'huhtikuuta', 'toukokuuta', 'kesäkuuta', 'heinäkuuta', 'elokuuta', 'syyskuuta', 'lokakuuta', 'marraskuuta', 'joulukuuta']\n};\nvar dayValues = {\n  narrow: ['S', 'M', 'T', 'K', 'T', 'P', 'L'],\n  short: ['su', 'ma', 'ti', 'ke', 'to', 'pe', 'la'],\n  abbreviated: ['sunn.', 'maan.', 'tiis.', 'kesk.', 'torst.', 'perj.', 'la'],\n  wide: ['sunnuntai', 'maanantai', 'tiistai', 'keskiviikko', 'torstai', 'perjantai', 'lauantai']\n};\nvar formattingDayValues = {\n  narrow: dayValues.narrow,\n  short: dayValues.short,\n  abbreviated: dayValues.abbreviated,\n  wide: ['sunnuntaina', 'maanantaina', 'tiistaina', 'keskiviikkona', 'torstaina', 'perjantaina', 'lauantaina']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'ap',\n    pm: 'ip',\n    midnight: 'keskiyö',\n    noon: 'keskipäivä',\n    morning: 'ap',\n    afternoon: 'ip',\n    evening: 'illalla',\n    night: 'yöllä'\n  },\n  abbreviated: {\n    am: 'ap',\n    pm: 'ip',\n    midnight: 'keskiyö',\n    noon: 'keskipäivä',\n    morning: 'ap',\n    afternoon: 'ip',\n    evening: 'illalla',\n    night: 'yöllä'\n  },\n  wide: {\n    am: 'ap',\n    pm: 'ip',\n    midnight: 'keskiyöllä',\n    noon: 'keskipäivällä',\n    morning: 'aamupäivällä',\n    afternoon: 'iltapäivällä',\n    evening: 'illalla',\n    night: 'yöllä'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n  var number = Number(dirtyNumber);\n  return number + '.';\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingMonthValues,\n    defaultFormattingWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayValues,\n    defaultFormattingWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(\\.)/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(e|j)/i,\n  abbreviated: /^(eaa.|jaa.)/i,\n  wide: /^(ennen ajanlaskun alkua|jälkeen ajanlaskun alun)/i\n};\nvar parseEraPatterns = {\n  any: [/^e/i, /^j/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^[1234]\\.? kvartaali/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[thmkeslj]/i,\n  abbreviated: /^(tammi|helmi|maalis|huhti|touko|kesä|heinä|elo|syys|loka|marras|joulu)/i,\n  wide: /^(tammikuu|helmikuu|maaliskuu|huhtikuu|toukokuu|kesäkuu|heinäkuu|elokuu|syyskuu|lokakuu|marraskuu|joulukuu)(ta)?/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^t/i, /^h/i, /^m/i, /^h/i, /^t/i, /^k/i, /^h/i, /^e/i, /^s/i, /^l/i, /^m/i, /^j/i],\n  any: [/^ta/i, /^hel/i, /^maa/i, /^hu/i, /^to/i, /^k/i, /^hei/i, /^e/i, /^s/i, /^l/i, /^mar/i, /^j/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[smtkpl]/i,\n  short: /^(su|ma|ti|ke|to|pe|la)/i,\n  abbreviated: /^(sunn.|maan.|tiis.|kesk.|torst.|perj.|la)/i,\n  wide: /^(sunnuntai|maanantai|tiistai|keskiviikko|torstai|perjantai|lauantai)(na)?/i\n};\nvar parseDayPatterns = {\n  narrow: [/^s/i, /^m/i, /^t/i, /^k/i, /^t/i, /^p/i, /^l/i],\n  any: [/^s/i, /^m/i, /^ti/i, /^k/i, /^to/i, /^p/i, /^l/i]\n};\nvar matchDayPeriodPatterns = {\n  narrow: /^(ap|ip|keskiyö|keskipäivä|aamupäivällä|iltapäivällä|illalla|yöllä)/i,\n  any: /^(ap|ip|keskiyöllä|keskipäivällä|aamupäivällä|iltapäivällä|illalla|yöllä)/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^ap/i,\n    pm: /^ip/i,\n    midnight: /^keskiyö/i,\n    noon: /^keskipäivä/i,\n    morning: /aamupäivällä/i,\n    afternoon: /iltapäivällä/i,\n    evening: /illalla/i,\n    night: /yöllä/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Finnish locale.\n * @language Finnish\n * @iso-639-2 fin\n * @author Pyry-Samuli Lahti [@Pyppe]{@link https://github.com/Pyppe}\n * @author Edo Rivai [@mikolajgrzyb]{@link https://github.com/mikolajgrzyb}\n * @author Samu Juvonen [@sjuvonen]{@link https://github.com/sjuvonen}\n */\nvar locale = {\n  code: 'fi',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4\n  }\n};\nexport default locale;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: 'moins d’une seconde',\n    other: 'moins de {{count}} secondes'\n  },\n  xSeconds: {\n    one: '1 seconde',\n    other: '{{count}} secondes'\n  },\n  halfAMinute: '30 secondes',\n  lessThanXMinutes: {\n    one: 'moins d’une minute',\n    other: 'moins de {{count}} minutes'\n  },\n  xMinutes: {\n    one: '1 minute',\n    other: '{{count}} minutes'\n  },\n  aboutXHours: {\n    one: 'environ 1 heure',\n    other: 'environ {{count}} heures'\n  },\n  xHours: {\n    one: '1 heure',\n    other: '{{count}} heures'\n  },\n  xDays: {\n    one: '1 jour',\n    other: '{{count}} jours'\n  },\n  aboutXWeeks: {\n    one: 'environ 1 semaine',\n    other: 'environ {{count}} semaines'\n  },\n  xWeeks: {\n    one: '1 semaine',\n    other: '{{count}} semaines'\n  },\n  aboutXMonths: {\n    one: 'environ 1 mois',\n    other: 'environ {{count}} mois'\n  },\n  xMonths: {\n    one: '1 mois',\n    other: '{{count}} mois'\n  },\n  aboutXYears: {\n    one: 'environ 1 an',\n    other: 'environ {{count}} ans'\n  },\n  xYears: {\n    one: '1 an',\n    other: '{{count}} ans'\n  },\n  overXYears: {\n    one: 'plus d’un an',\n    other: 'plus de {{count}} ans'\n  },\n  almostXYears: {\n    one: 'presqu’un an',\n    other: 'presque {{count}} ans'\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var result;\n  var form = formatDistanceLocale[token];\n  if (typeof form === 'string') {\n    result = form;\n  } else if (count === 1) {\n    result = form.one;\n  } else {\n    result = form.other.replace('{{count}}', String(count));\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return 'dans ' + result;\n    } else {\n      return 'il y a ' + result;\n    }\n  }\n  return result;\n};\nexport default formatDistance;","var formatRelativeLocale = {\n  lastWeek: \"eeee 'dernier à' p\",\n  yesterday: \"'hier à' p\",\n  today: \"'aujourd’hui à' p\",\n  tomorrow: \"'demain à' p'\",\n  nextWeek: \"eeee 'prochain à' p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n  return formatRelativeLocale[token];\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['av. J.-C', 'ap. J.-C'],\n  abbreviated: ['av. J.-C', 'ap. J.-C'],\n  wide: ['avant Jésus-Christ', 'après Jésus-Christ']\n};\nvar quarterValues = {\n  narrow: ['T1', 'T2', 'T3', 'T4'],\n  abbreviated: ['1er trim.', '2ème trim.', '3ème trim.', '4ème trim.'],\n  wide: ['1er trimestre', '2ème trimestre', '3ème trimestre', '4ème trimestre']\n};\nvar monthValues = {\n  narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n  abbreviated: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'],\n  wide: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre']\n};\nvar dayValues = {\n  narrow: ['D', 'L', 'M', 'M', 'J', 'V', 'S'],\n  short: ['di', 'lu', 'ma', 'me', 'je', 've', 'sa'],\n  abbreviated: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'],\n  wide: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'minuit',\n    noon: 'midi',\n    morning: 'mat.',\n    afternoon: 'ap.m.',\n    evening: 'soir',\n    night: 'mat.'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'minuit',\n    noon: 'midi',\n    morning: 'matin',\n    afternoon: 'après-midi',\n    evening: 'soir',\n    night: 'matin'\n  },\n  wide: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'minuit',\n    noon: 'midi',\n    morning: 'du matin',\n    afternoon: 'de l’après-midi',\n    evening: 'du soir',\n    night: 'du matin'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n  var number = Number(dirtyNumber);\n  var unit = options === null || options === void 0 ? void 0 : options.unit;\n  if (number === 0) return '0';\n  var feminineUnits = ['year', 'week', 'hour', 'minute', 'second'];\n  var suffix;\n  if (number === 1) {\n    suffix = unit && feminineUnits.includes(unit) ? 'ère' : 'er';\n  } else {\n    suffix = 'ème';\n  }\n  return number + suffix;\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(ième|ère|ème|er|e)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(av\\.J\\.C|ap\\.J\\.C|ap\\.J\\.-C)/i,\n  abbreviated: /^(av\\.J\\.-C|av\\.J-C|apr\\.J\\.-C|apr\\.J-C|ap\\.J-C)/i,\n  wide: /^(avant Jésus-Christ|après Jésus-Christ)/i\n};\nvar parseEraPatterns = {\n  any: [/^av/i, /^ap/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^T?[1234]/i,\n  abbreviated: /^[1234](er|ème|e)? trim\\.?/i,\n  wide: /^[1234](er|ème|e)? trimestre/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated: /^(janv|févr|mars|avr|mai|juin|juill|juil|août|sept|oct|nov|déc)\\.?/i,\n  wide: /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n  any: [/^ja/i, /^f/i, /^mar/i, /^av/i, /^ma/i, /^juin/i, /^juil/i, /^ao/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[lmjvsd]/i,\n  short: /^(di|lu|ma|me|je|ve|sa)/i,\n  abbreviated: /^(dim|lun|mar|mer|jeu|ven|sam)\\.?/i,\n  wide: /^(dimanche|lundi|mardi|mercredi|jeudi|vendredi|samedi)/i\n};\nvar parseDayPatterns = {\n  narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^j/i, /^v/i, /^s/i],\n  any: [/^di/i, /^lu/i, /^ma/i, /^me/i, /^je/i, /^ve/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n  narrow: /^(a|p|minuit|midi|mat\\.?|ap\\.?m\\.?|soir|nuit)/i,\n  any: /^([ap]\\.?\\s?m\\.?|du matin|de l'après[-\\s]midi|du soir|de la nuit)/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^a/i,\n    pm: /^p/i,\n    midnight: /^min/i,\n    noon: /^mid/i,\n    morning: /mat/i,\n    afternoon: /ap/i,\n    evening: /soir/i,\n    night: /nuit/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'EEEE d MMMM y',\n  long: 'd MMMM y',\n  medium: 'd MMM y',\n  short: 'yy-MM-dd'\n};\nvar timeFormats = {\n  full: 'HH:mm:ss zzzz',\n  long: 'HH:mm:ss z',\n  medium: 'HH:mm:ss',\n  short: 'HH:mm'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'à' {{time}}\",\n  long: \"{{date}} 'à' {{time}}\",\n  medium: '{{date}}, {{time}}',\n  short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","// Same as fr\nimport formatDistance from \"../fr/_lib/formatDistance/index.js\";\nimport formatRelative from \"../fr/_lib/formatRelative/index.js\";\nimport localize from \"../fr/_lib/localize/index.js\";\nimport match from \"../fr/_lib/match/index.js\";\n// Unique for fr-CA\nimport formatLong from \"./_lib/formatLong/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary French locale (Canada).\n * @language French\n * @iso-639-2 fra\n * @author Jean Dupouy [@izeau]{@link https://github.com/izeau}\n * @author François B [@fbonzon]{@link https://github.com/fbonzon}\n * @author Gabriele Petrioli [@gpetrioli]{@link https://github.com/gpetrioli}\n */\nvar locale = {\n  code: 'fr-CA',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  // Unique for fr-CA\n  options: {\n    weekStartsOn: 0 /* Sunday */,\n    firstWeekContainsDate: 1\n  }\n};\nexport default locale;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'EEEE d MMMM y',\n  long: 'd MMMM y',\n  medium: 'd MMM y',\n  short: 'dd/MM/y'\n};\nvar timeFormats = {\n  full: 'HH:mm:ss zzzz',\n  long: 'HH:mm:ss z',\n  medium: 'HH:mm:ss',\n  short: 'HH:mm'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'à' {{time}}\",\n  long: \"{{date}} 'à' {{time}}\",\n  medium: '{{date}}, {{time}}',\n  short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary French locale.\n * @language French\n * @iso-639-2 fra\n * @author Jean Dupouy [@izeau]{@link https://github.com/izeau}\n * @author François B [@fbonzon]{@link https://github.com/fbonzon}\n */\nvar locale = {\n  code: 'fr',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4\n  }\n};\nexport default locale;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: 'פחות משנייה',\n    two: 'פחות משתי שניות',\n    other: 'פחות מ־{{count}} שניות'\n  },\n  xSeconds: {\n    one: 'שנייה',\n    two: 'שתי שניות',\n    other: '{{count}} שניות'\n  },\n  halfAMinute: 'חצי דקה',\n  lessThanXMinutes: {\n    one: 'פחות מדקה',\n    two: 'פחות משתי דקות',\n    other: 'פחות מ־{{count}} דקות'\n  },\n  xMinutes: {\n    one: 'דקה',\n    two: 'שתי דקות',\n    other: '{{count}} דקות'\n  },\n  aboutXHours: {\n    one: 'כשעה',\n    two: 'כשעתיים',\n    other: 'כ־{{count}} שעות'\n  },\n  xHours: {\n    one: 'שעה',\n    two: 'שעתיים',\n    other: '{{count}} שעות'\n  },\n  xDays: {\n    one: 'יום',\n    two: 'יומיים',\n    other: '{{count}} ימים'\n  },\n  aboutXWeeks: {\n    one: 'כשבוע',\n    two: 'כשבועיים',\n    other: 'כ־{{count}} שבועות'\n  },\n  xWeeks: {\n    one: 'שבוע',\n    two: 'שבועיים',\n    other: '{{count}} שבועות'\n  },\n  aboutXMonths: {\n    one: 'כחודש',\n    two: 'כחודשיים',\n    other: 'כ־{{count}} חודשים'\n  },\n  xMonths: {\n    one: 'חודש',\n    two: 'חודשיים',\n    other: '{{count}} חודשים'\n  },\n  aboutXYears: {\n    one: 'כשנה',\n    two: 'כשנתיים',\n    other: 'כ־{{count}} שנים'\n  },\n  xYears: {\n    one: 'שנה',\n    two: 'שנתיים',\n    other: '{{count}} שנים'\n  },\n  overXYears: {\n    one: 'יותר משנה',\n    two: 'יותר משנתיים',\n    other: 'יותר מ־{{count}} שנים'\n  },\n  almostXYears: {\n    one: 'כמעט שנה',\n    two: 'כמעט שנתיים',\n    other: 'כמעט {{count}} שנים'\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  // Return word instead of `in one day` or `one day ago`\n  if (token === 'xDays' && options !== null && options !== void 0 && options.addSuffix && count <= 2) {\n    if (options.comparison && options.comparison > 0) {\n      return count === 1 ? 'מחר' : 'מחרתיים';\n    }\n    return count === 1 ? 'אתמול' : 'שלשום';\n  }\n  var result;\n  var tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else if (count === 2) {\n    result = tokenValue.two;\n  } else {\n    result = tokenValue.other.replace('{{count}}', String(count));\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return 'בעוד ' + result;\n    } else {\n      return 'לפני ' + result;\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'EEEE, d בMMMM y',\n  long: 'd בMMMM y',\n  medium: 'd בMMM y',\n  short: 'd.M.y'\n};\nvar timeFormats = {\n  full: 'H:mm:ss zzzz',\n  long: 'H:mm:ss z',\n  medium: 'H:mm:ss',\n  short: 'H:mm'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'בשעה' {{time}}\",\n  long: \"{{date}} 'בשעה' {{time}}\",\n  medium: '{{date}}, {{time}}',\n  short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatRelativeLocale = {\n  lastWeek: \"eeee 'שעבר בשעה' p\",\n  yesterday: \"'אתמול בשעה' p\",\n  today: \"'היום בשעה' p\",\n  tomorrow: \"'מחר בשעה' p\",\n  nextWeek: \"eeee 'בשעה' p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n  return formatRelativeLocale[token];\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['לפנה״ס', 'לספירה'],\n  abbreviated: ['לפנה״ס', 'לספירה'],\n  wide: ['לפני הספירה', 'לספירה']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n  wide: ['רבעון 1', 'רבעון 2', 'רבעון 3', 'רבעון 4']\n};\nvar monthValues = {\n  narrow: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'],\n  abbreviated: ['ינו׳', 'פבר׳', 'מרץ', 'אפר׳', 'מאי', 'יוני', 'יולי', 'אוג׳', 'ספט׳', 'אוק׳', 'נוב׳', 'דצמ׳'],\n  wide: ['ינואר', 'פברואר', 'מרץ', 'אפריל', 'מאי', 'יוני', 'יולי', 'אוגוסט', 'ספטמבר', 'אוקטובר', 'נובמבר', 'דצמבר']\n};\nvar dayValues = {\n  narrow: ['א׳', 'ב׳', 'ג׳', 'ד׳', 'ה׳', 'ו׳', 'ש׳'],\n  short: ['א׳', 'ב׳', 'ג׳', 'ד׳', 'ה׳', 'ו׳', 'ש׳'],\n  abbreviated: ['יום א׳', 'יום ב׳', 'יום ג׳', 'יום ד׳', 'יום ה׳', 'יום ו׳', 'שבת'],\n  wide: ['יום ראשון', 'יום שני', 'יום שלישי', 'יום רביעי', 'יום חמישי', 'יום שישי', 'יום שבת']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'לפנה״צ',\n    pm: 'אחה״צ',\n    midnight: 'חצות',\n    noon: 'צהריים',\n    morning: 'בוקר',\n    afternoon: 'אחר הצהריים',\n    evening: 'ערב',\n    night: 'לילה'\n  },\n  abbreviated: {\n    am: 'לפנה״צ',\n    pm: 'אחה״צ',\n    midnight: 'חצות',\n    noon: 'צהריים',\n    morning: 'בוקר',\n    afternoon: 'אחר הצהריים',\n    evening: 'ערב',\n    night: 'לילה'\n  },\n  wide: {\n    am: 'לפנה״צ',\n    pm: 'אחה״צ',\n    midnight: 'חצות',\n    noon: 'צהריים',\n    morning: 'בוקר',\n    afternoon: 'אחר הצהריים',\n    evening: 'ערב',\n    night: 'לילה'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: 'לפנה״צ',\n    pm: 'אחה״צ',\n    midnight: 'חצות',\n    noon: 'צהריים',\n    morning: 'בבוקר',\n    afternoon: 'בצהריים',\n    evening: 'בערב',\n    night: 'בלילה'\n  },\n  abbreviated: {\n    am: 'לפנה״צ',\n    pm: 'אחה״צ',\n    midnight: 'חצות',\n    noon: 'צהריים',\n    morning: 'בבוקר',\n    afternoon: 'אחר הצהריים',\n    evening: 'בערב',\n    night: 'בלילה'\n  },\n  wide: {\n    am: 'לפנה״צ',\n    pm: 'אחה״צ',\n    midnight: 'חצות',\n    noon: 'צהריים',\n    morning: 'בבוקר',\n    afternoon: 'אחר הצהריים',\n    evening: 'בערב',\n    night: 'בלילה'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n  var number = Number(dirtyNumber);\n\n  // We only show words till 10\n  if (number <= 0 || number > 10) return String(number);\n  var unit = String(options === null || options === void 0 ? void 0 : options.unit);\n  var isFemale = ['year', 'hour', 'minute', 'second'].indexOf(unit) >= 0;\n  var male = ['ראשון', 'שני', 'שלישי', 'רביעי', 'חמישי', 'שישי', 'שביעי', 'שמיני', 'תשיעי', 'עשירי'];\n  var female = ['ראשונה', 'שנייה', 'שלישית', 'רביעית', 'חמישית', 'שישית', 'שביעית', 'שמינית', 'תשיעית', 'עשירית'];\n  var index = number - 1;\n  return isFemale ? female[index] : male[index];\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+|(ראשון|שני|שלישי|רביעי|חמישי|שישי|שביעי|שמיני|תשיעי|עשירי|ראשונה|שנייה|שלישית|רביעית|חמישית|שישית|שביעית|שמינית|תשיעית|עשירית))/i;\nvar parseOrdinalNumberPattern = /^(\\d+|רא|שנ|של|רב|ח|שי|שב|שמ|ת|ע)/i;\nvar matchEraPatterns = {\n  narrow: /^ל(ספירה|פנה״ס)/i,\n  abbreviated: /^ל(ספירה|פנה״ס)/i,\n  wide: /^ל(פני ה)?ספירה/i\n};\nvar parseEraPatterns = {\n  any: [/^לפ/i, /^לס/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^רבעון [1234]/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^\\d+/i,\n  abbreviated: /^(ינו|פבר|מרץ|אפר|מאי|יוני|יולי|אוג|ספט|אוק|נוב|דצמ)׳?/i,\n  wide: /^(ינואר|פברואר|מרץ|אפריל|מאי|יוני|יולי|אוגוסט|ספטמבר|אוקטובר|נובמבר|דצמבר)/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^1$/i, /^2/i, /^3/i, /^4/i, /^5/i, /^6/i, /^7/i, /^8/i, /^9/i, /^10/i, /^11/i, /^12/i],\n  any: [/^ינ/i, /^פ/i, /^מר/i, /^אפ/i, /^מא/i, /^יונ/i, /^יול/i, /^אוג/i, /^ס/i, /^אוק/i, /^נ/i, /^ד/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[אבגדהוש]׳/i,\n  short: /^[אבגדהוש]׳/i,\n  abbreviated: /^(שבת|יום (א|ב|ג|ד|ה|ו)׳)/i,\n  wide: /^יום (ראשון|שני|שלישי|רביעי|חמישי|שישי|שבת)/i\n};\nvar parseDayPatterns = {\n  abbreviated: [/א׳$/i, /ב׳$/i, /ג׳$/i, /ד׳$/i, /ה׳$/i, /ו׳$/i, /^ש/i],\n  wide: [/ן$/i, /ני$/i, /לישי$/i, /עי$/i, /מישי$/i, /שישי$/i, /ת$/i],\n  any: [/^א/i, /^ב/i, /^ג/i, /^ד/i, /^ה/i, /^ו/i, /^ש/i]\n};\nvar matchDayPeriodPatterns = {\n  any: /^(אחר ה|ב)?(חצות|צהריים|בוקר|ערב|לילה|אחה״צ|לפנה״צ)/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^לפ/i,\n    pm: /^אחה/i,\n    midnight: /^ח/i,\n    noon: /^צ/i,\n    morning: /בוקר/i,\n    afternoon: /בצ|אחר/i,\n    evening: /ערב/i,\n    night: /לילה/i\n  }\n};\nvar ordinalName = ['רא', 'שנ', 'של', 'רב', 'ח', 'שי', 'שב', 'שמ', 'ת', 'ע'];\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      var number = parseInt(value, 10);\n      return isNaN(number) ? ordinalName.indexOf(value) + 1 : number;\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Hebrew locale.\n * @language Hebrew\n * @iso-639-2 heb\n * @author Nir Lahad [@nirlah]{@link https://github.com/nirlah}\n */\nvar locale = {\n  code: 'he',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 0 /* Sunday */,\n    firstWeekContainsDate: 1\n  }\n};\nexport default locale;","var translations = {\n  about: 'körülbelül',\n  over: 'több mint',\n  almost: 'majdnem',\n  lessthan: 'kevesebb mint'\n};\nvar withoutSuffixes = {\n  xseconds: ' másodperc',\n  halfaminute: 'fél perc',\n  xminutes: ' perc',\n  xhours: ' óra',\n  xdays: ' nap',\n  xweeks: ' hét',\n  xmonths: ' hónap',\n  xyears: ' év'\n};\nvar withSuffixes = {\n  xseconds: {\n    '-1': ' másodperccel ezelőtt',\n    '1': ' másodperc múlva',\n    '0': ' másodperce'\n  },\n  halfaminute: {\n    '-1': 'fél perccel ezelőtt',\n    '1': 'fél perc múlva',\n    '0': 'fél perce'\n  },\n  xminutes: {\n    '-1': ' perccel ezelőtt',\n    '1': ' perc múlva',\n    '0': ' perce'\n  },\n  xhours: {\n    '-1': ' órával ezelőtt',\n    '1': ' óra múlva',\n    '0': ' órája'\n  },\n  xdays: {\n    '-1': ' nappal ezelőtt',\n    '1': ' nap múlva',\n    '0': ' napja'\n  },\n  xweeks: {\n    '-1': ' héttel ezelőtt',\n    '1': ' hét múlva',\n    '0': ' hete'\n  },\n  xmonths: {\n    '-1': ' hónappal ezelőtt',\n    '1': ' hónap múlva',\n    '0': ' hónapja'\n  },\n  xyears: {\n    '-1': ' évvel ezelőtt',\n    '1': ' év múlva',\n    '0': ' éve'\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var adverb = token.match(/about|over|almost|lessthan/i);\n  var unit = adverb ? token.replace(adverb[0], '') : token;\n  var addSuffix = (options === null || options === void 0 ? void 0 : options.addSuffix) === true;\n  var key = unit.toLowerCase();\n  var comparison = (options === null || options === void 0 ? void 0 : options.comparison) || 0;\n  var translated = addSuffix ? withSuffixes[key][comparison] : withoutSuffixes[key];\n  var result = key === 'halfaminute' ? translated : count + translated;\n  if (adverb) {\n    var adv = adverb[0].toLowerCase();\n    result = translations[adv] + ' ' + result;\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'y. MMMM d., EEEE',\n  long: 'y. MMMM d.',\n  medium: 'y. MMM d.',\n  short: 'y. MM. dd.'\n};\nvar timeFormats = {\n  full: 'H:mm:ss zzzz',\n  long: 'H:mm:ss z',\n  medium: 'H:mm:ss',\n  short: 'H:mm'\n};\nvar dateTimeFormats = {\n  full: '{{date}} {{time}}',\n  long: '{{date}} {{time}}',\n  medium: '{{date}} {{time}}',\n  short: '{{date}} {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var accusativeWeekdays = ['vasárnap', 'hétfőn', 'kedden', 'szerdán', 'csütörtökön', 'pénteken', 'szombaton'];\nfunction week(isFuture) {\n  return function (date) {\n    var weekday = accusativeWeekdays[date.getUTCDay()];\n    var prefix = isFuture ? '' : \"'múlt' \";\n    return \"\".concat(prefix, \"'\").concat(weekday, \"' p'-kor'\");\n  };\n}\nvar formatRelativeLocale = {\n  lastWeek: week(false),\n  yesterday: \"'tegnap' p'-kor'\",\n  today: \"'ma' p'-kor'\",\n  tomorrow: \"'holnap' p'-kor'\",\n  nextWeek: week(true),\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, date) {\n  var format = formatRelativeLocale[token];\n  if (typeof format === 'function') {\n    return format(date);\n  }\n  return format;\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['ie.', 'isz.'],\n  abbreviated: ['i. e.', 'i. sz.'],\n  wide: ['Krisztus előtt', 'időszámításunk szerint']\n};\nvar quarterValues = {\n  narrow: ['1.', '2.', '3.', '4.'],\n  abbreviated: ['1. n.év', '2. n.év', '3. n.év', '4. n.év'],\n  wide: ['1. negyedév', '2. negyedév', '3. negyedév', '4. negyedév']\n};\nvar formattingQuarterValues = {\n  narrow: ['I.', 'II.', 'III.', 'IV.'],\n  abbreviated: ['I. n.év', 'II. n.év', 'III. n.év', 'IV. n.év'],\n  wide: ['I. negyedév', 'II. negyedév', 'III. negyedév', 'IV. negyedév']\n};\nvar monthValues = {\n  narrow: ['J', 'F', 'M', 'Á', 'M', 'J', 'J', 'A', 'Sz', 'O', 'N', 'D'],\n  abbreviated: ['jan.', 'febr.', 'márc.', 'ápr.', 'máj.', 'jún.', 'júl.', 'aug.', 'szept.', 'okt.', 'nov.', 'dec.'],\n  wide: ['január', 'február', 'március', 'április', 'május', 'június', 'július', 'augusztus', 'szeptember', 'október', 'november', 'december']\n};\nvar dayValues = {\n  narrow: ['V', 'H', 'K', 'Sz', 'Cs', 'P', 'Sz'],\n  short: ['V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'],\n  abbreviated: ['V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'],\n  wide: ['vasárnap', 'hétfő', 'kedd', 'szerda', 'csütörtök', 'péntek', 'szombat']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'de.',\n    pm: 'du.',\n    midnight: 'éjfél',\n    noon: 'dél',\n    morning: 'reggel',\n    afternoon: 'du.',\n    evening: 'este',\n    night: 'éjjel'\n  },\n  abbreviated: {\n    am: 'de.',\n    pm: 'du.',\n    midnight: 'éjfél',\n    noon: 'dél',\n    morning: 'reggel',\n    afternoon: 'du.',\n    evening: 'este',\n    night: 'éjjel'\n  },\n  wide: {\n    am: 'de.',\n    pm: 'du.',\n    midnight: 'éjfél',\n    noon: 'dél',\n    morning: 'reggel',\n    afternoon: 'délután',\n    evening: 'este',\n    night: 'éjjel'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n  var number = Number(dirtyNumber);\n  return number + '.';\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    },\n    formattingValues: formattingQuarterValues,\n    defaultFormattingWidth: 'wide'\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)\\.?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(ie\\.|isz\\.)/i,\n  abbreviated: /^(i\\.\\s?e\\.?|b?\\s?c\\s?e|i\\.\\s?sz\\.?)/i,\n  wide: /^(Krisztus előtt|időszámításunk előtt|időszámításunk szerint|i\\. sz\\.)/i\n};\nvar parseEraPatterns = {\n  narrow: [/ie/i, /isz/i],\n  abbreviated: [/^(i\\.?\\s?e\\.?|b\\s?ce)/i, /^(i\\.?\\s?sz\\.?|c\\s?e)/i],\n  any: [/előtt/i, /(szerint|i. sz.)/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]\\.?/i,\n  abbreviated: /^[1234]?\\.?\\s?n\\.év/i,\n  wide: /^([1234]|I|II|III|IV)?\\.?\\s?negyedév/i\n};\nvar parseQuarterPatterns = {\n  any: [/1|I$/i, /2|II$/i, /3|III/i, /4|IV/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[jfmaásond]|sz/i,\n  abbreviated: /^(jan\\.?|febr\\.?|márc\\.?|ápr\\.?|máj\\.?|jún\\.?|júl\\.?|aug\\.?|szept\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n  wide: /^(január|február|március|április|május|június|július|augusztus|szeptember|október|november|december)/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^j/i, /^f/i, /^m/i, /^a|á/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s|sz/i, /^o/i, /^n/i, /^d/i],\n  any: [/^ja/i, /^f/i, /^már/i, /^áp/i, /^máj/i, /^jún/i, /^júl/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n  narrow: /^([vhkpc]|sz|cs|sz)/i,\n  short: /^([vhkp]|sze|cs|szo)/i,\n  abbreviated: /^([vhkp]|sze|cs|szo)/i,\n  wide: /^(vasárnap|hétfő|kedd|szerda|csütörtök|péntek|szombat)/i\n};\nvar parseDayPatterns = {\n  narrow: [/^v/i, /^h/i, /^k/i, /^sz/i, /^c/i, /^p/i, /^sz/i],\n  any: [/^v/i, /^h/i, /^k/i, /^sze/i, /^c/i, /^p/i, /^szo/i]\n};\nvar matchDayPeriodPatterns = {\n  any: /^((de|du)\\.?|éjfél|délután|dél|reggel|este|éjjel)/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^de\\.?/i,\n    pm: /^du\\.?/i,\n    midnight: /^éjf/i,\n    noon: /^dé/i,\n    morning: /reg/i,\n    afternoon: /^délu\\.?/i,\n    evening: /es/i,\n    night: /éjj/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Hungarian locale.\n * @language Hungarian\n * @iso-639-2 hun\n * @author Pavlo Shpak [@pshpak]{@link https://github.com/pshpak}\n * @author Eduardo Pardo [@eduardopsll]{@link https://github.com/eduardopsll}\n * @author Zoltan Szepesi [@twodcube]{@link https://github.com/twodcube}\n */\nvar locale = {\n  code: 'hu',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4\n  }\n};\nexport default locale;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: 'meno di un secondo',\n    other: 'meno di {{count}} secondi'\n  },\n  xSeconds: {\n    one: 'un secondo',\n    other: '{{count}} secondi'\n  },\n  halfAMinute: 'alcuni secondi',\n  lessThanXMinutes: {\n    one: 'meno di un minuto',\n    other: 'meno di {{count}} minuti'\n  },\n  xMinutes: {\n    one: 'un minuto',\n    other: '{{count}} minuti'\n  },\n  aboutXHours: {\n    one: \"circa un'ora\",\n    other: 'circa {{count}} ore'\n  },\n  xHours: {\n    one: \"un'ora\",\n    other: '{{count}} ore'\n  },\n  xDays: {\n    one: 'un giorno',\n    other: '{{count}} giorni'\n  },\n  aboutXWeeks: {\n    one: 'circa una settimana',\n    other: 'circa {{count}} settimane'\n  },\n  xWeeks: {\n    one: 'una settimana',\n    other: '{{count}} settimane'\n  },\n  aboutXMonths: {\n    one: 'circa un mese',\n    other: 'circa {{count}} mesi'\n  },\n  xMonths: {\n    one: 'un mese',\n    other: '{{count}} mesi'\n  },\n  aboutXYears: {\n    one: 'circa un anno',\n    other: 'circa {{count}} anni'\n  },\n  xYears: {\n    one: 'un anno',\n    other: '{{count}} anni'\n  },\n  overXYears: {\n    one: 'più di un anno',\n    other: 'più di {{count}} anni'\n  },\n  almostXYears: {\n    one: 'quasi un anno',\n    other: 'quasi {{count}} anni'\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var result;\n  var tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace('{{count}}', count.toString());\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return 'tra ' + result;\n    } else {\n      return result + ' fa';\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'EEEE d MMMM y',\n  long: 'd MMMM y',\n  medium: 'd MMM y',\n  short: 'dd/MM/y'\n};\nvar timeFormats = {\n  full: 'HH:mm:ss zzzz',\n  long: 'HH:mm:ss z',\n  medium: 'HH:mm:ss',\n  short: 'HH:mm'\n};\nvar dateTimeFormats = {\n  full: '{{date}} {{time}}',\n  long: '{{date}} {{time}}',\n  medium: '{{date}} {{time}}',\n  short: '{{date}} {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","import requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nexport default function isSameUTCWeek(dirtyDateLeft, dirtyDateRight, options) {\n  requiredArgs(2, arguments);\n  var dateLeftStartOfWeek = startOfUTCWeek(dirtyDateLeft, options);\n  var dateRightStartOfWeek = startOfUTCWeek(dirtyDateRight, options);\n  return dateLeftStartOfWeek.getTime() === dateRightStartOfWeek.getTime();\n}","import isSameUTCWeek from \"../../../../_lib/isSameUTCWeek/index.js\";\nvar weekdays = ['domenica', 'lunedì', 'martedì', 'mercoledì', 'giovedì', 'venerdì', 'sabato'];\nfunction _lastWeek(day) {\n  switch (day) {\n    case 0:\n      return \"'domenica scorsa alle' p\";\n    default:\n      return \"'\" + weekdays[day] + \" scorso alle' p\";\n  }\n}\nfunction thisWeek(day) {\n  return \"'\" + weekdays[day] + \" alle' p\";\n}\nfunction _nextWeek(day) {\n  switch (day) {\n    case 0:\n      return \"'domenica prossima alle' p\";\n    default:\n      return \"'\" + weekdays[day] + \" prossimo alle' p\";\n  }\n}\nvar formatRelativeLocale = {\n  lastWeek: function lastWeek(date, baseDate, options) {\n    var day = date.getUTCDay();\n    if (isSameUTCWeek(date, baseDate, options)) {\n      return thisWeek(day);\n    } else {\n      return _lastWeek(day);\n    }\n  },\n  yesterday: \"'ieri alle' p\",\n  today: \"'oggi alle' p\",\n  tomorrow: \"'domani alle' p\",\n  nextWeek: function nextWeek(date, baseDate, options) {\n    var day = date.getUTCDay();\n    if (isSameUTCWeek(date, baseDate, options)) {\n      return thisWeek(day);\n    } else {\n      return _nextWeek(day);\n    }\n  },\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, date, baseDate, options) {\n  var format = formatRelativeLocale[token];\n  if (typeof format === 'function') {\n    return format(date, baseDate, options);\n  }\n  return format;\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['aC', 'dC'],\n  abbreviated: ['a.C.', 'd.C.'],\n  wide: ['avanti Cristo', 'dopo Cristo']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['T1', 'T2', 'T3', 'T4'],\n  wide: ['1º trimestre', '2º trimestre', '3º trimestre', '4º trimestre']\n};\nvar monthValues = {\n  narrow: ['G', 'F', 'M', 'A', 'M', 'G', 'L', 'A', 'S', 'O', 'N', 'D'],\n  abbreviated: ['gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', 'ago', 'set', 'ott', 'nov', 'dic'],\n  wide: ['gennaio', 'febbraio', 'marzo', 'aprile', 'maggio', 'giugno', 'luglio', 'agosto', 'settembre', 'ottobre', 'novembre', 'dicembre']\n};\nvar dayValues = {\n  narrow: ['D', 'L', 'M', 'M', 'G', 'V', 'S'],\n  short: ['dom', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab'],\n  abbreviated: ['dom', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab'],\n  wide: ['domenica', 'lunedì', 'martedì', 'mercoledì', 'giovedì', 'venerdì', 'sabato']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'm.',\n    pm: 'p.',\n    midnight: 'mezzanotte',\n    noon: 'mezzogiorno',\n    morning: 'mattina',\n    afternoon: 'pomeriggio',\n    evening: 'sera',\n    night: 'notte'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'mezzanotte',\n    noon: 'mezzogiorno',\n    morning: 'mattina',\n    afternoon: 'pomeriggio',\n    evening: 'sera',\n    night: 'notte'\n  },\n  wide: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'mezzanotte',\n    noon: 'mezzogiorno',\n    morning: 'mattina',\n    afternoon: 'pomeriggio',\n    evening: 'sera',\n    night: 'notte'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: 'm.',\n    pm: 'p.',\n    midnight: 'mezzanotte',\n    noon: 'mezzogiorno',\n    morning: 'di mattina',\n    afternoon: 'del pomeriggio',\n    evening: 'di sera',\n    night: 'di notte'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'mezzanotte',\n    noon: 'mezzogiorno',\n    morning: 'di mattina',\n    afternoon: 'del pomeriggio',\n    evening: 'di sera',\n    night: 'di notte'\n  },\n  wide: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'mezzanotte',\n    noon: 'mezzogiorno',\n    morning: 'di mattina',\n    afternoon: 'del pomeriggio',\n    evening: 'di sera',\n    night: 'di notte'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n  var number = Number(dirtyNumber);\n  return String(number);\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(º)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(aC|dC)/i,\n  abbreviated: /^(a\\.?\\s?C\\.?|a\\.?\\s?e\\.?\\s?v\\.?|d\\.?\\s?C\\.?|e\\.?\\s?v\\.?)/i,\n  wide: /^(avanti Cristo|avanti Era Volgare|dopo Cristo|Era Volgare)/i\n};\nvar parseEraPatterns = {\n  any: [/^a/i, /^(d|e)/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^t[1234]/i,\n  wide: /^[1234](º)? trimestre/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[gfmalsond]/i,\n  abbreviated: /^(gen|feb|mar|apr|mag|giu|lug|ago|set|ott|nov|dic)/i,\n  wide: /^(gennaio|febbraio|marzo|aprile|maggio|giugno|luglio|agosto|settembre|ottobre|novembre|dicembre)/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^g/i, /^f/i, /^m/i, /^a/i, /^m/i, /^g/i, /^l/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n  any: [/^ge/i, /^f/i, /^mar/i, /^ap/i, /^mag/i, /^gi/i, /^l/i, /^ag/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[dlmgvs]/i,\n  short: /^(do|lu|ma|me|gi|ve|sa)/i,\n  abbreviated: /^(dom|lun|mar|mer|gio|ven|sab)/i,\n  wide: /^(domenica|luned[i|ì]|marted[i|ì]|mercoled[i|ì]|gioved[i|ì]|venerd[i|ì]|sabato)/i\n};\nvar parseDayPatterns = {\n  narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^g/i, /^v/i, /^s/i],\n  any: [/^d/i, /^l/i, /^ma/i, /^me/i, /^g/i, /^v/i, /^s/i]\n};\nvar matchDayPeriodPatterns = {\n  narrow: /^(a|m\\.|p|mezzanotte|mezzogiorno|(di|del) (mattina|pomeriggio|sera|notte))/i,\n  any: /^([ap]\\.?\\s?m\\.?|mezzanotte|mezzogiorno|(di|del) (mattina|pomeriggio|sera|notte))/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^a/i,\n    pm: /^p/i,\n    midnight: /^mezza/i,\n    noon: /^mezzo/i,\n    morning: /mattina/i,\n    afternoon: /pomeriggio/i,\n    evening: /sera/i,\n    night: /notte/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Italian locale.\n * @language Italian\n * @iso-639-2 ita\n * @author Alberto Restifo [@albertorestifo]{@link https://github.com/albertorestifo}\n * @author Giovanni Polimeni [@giofilo]{@link https://github.com/giofilo}\n * @author Vincenzo Carrese [@vin-car]{@link https://github.com/vin-car}\n */\nvar locale = {\n  code: 'it',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4\n  }\n};\nexport default locale;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: '1秒未満',\n    other: '{{count}}秒未満',\n    oneWithSuffix: '約1秒',\n    otherWithSuffix: '約{{count}}秒'\n  },\n  xSeconds: {\n    one: '1秒',\n    other: '{{count}}秒'\n  },\n  halfAMinute: '30秒',\n  lessThanXMinutes: {\n    one: '1分未満',\n    other: '{{count}}分未満',\n    oneWithSuffix: '約1分',\n    otherWithSuffix: '約{{count}}分'\n  },\n  xMinutes: {\n    one: '1分',\n    other: '{{count}}分'\n  },\n  aboutXHours: {\n    one: '約1時間',\n    other: '約{{count}}時間'\n  },\n  xHours: {\n    one: '1時間',\n    other: '{{count}}時間'\n  },\n  xDays: {\n    one: '1日',\n    other: '{{count}}日'\n  },\n  aboutXWeeks: {\n    one: '約1週間',\n    other: '約{{count}}週間'\n  },\n  xWeeks: {\n    one: '1週間',\n    other: '{{count}}週間'\n  },\n  aboutXMonths: {\n    one: '約1か月',\n    other: '約{{count}}か月'\n  },\n  xMonths: {\n    one: '1か月',\n    other: '{{count}}か月'\n  },\n  aboutXYears: {\n    one: '約1年',\n    other: '約{{count}}年'\n  },\n  xYears: {\n    one: '1年',\n    other: '{{count}}年'\n  },\n  overXYears: {\n    one: '1年以上',\n    other: '{{count}}年以上'\n  },\n  almostXYears: {\n    one: '1年近く',\n    other: '{{count}}年近く'\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  options = options || {};\n  var result;\n  var tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    if (options.addSuffix && tokenValue.oneWithSuffix) {\n      result = tokenValue.oneWithSuffix;\n    } else {\n      result = tokenValue.one;\n    }\n  } else {\n    if (options.addSuffix && tokenValue.otherWithSuffix) {\n      result = tokenValue.otherWithSuffix.replace('{{count}}', String(count));\n    } else {\n      result = tokenValue.other.replace('{{count}}', String(count));\n    }\n  }\n  if (options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return result + '後';\n    } else {\n      return result + '前';\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'y年M月d日EEEE',\n  long: 'y年M月d日',\n  medium: 'y/MM/dd',\n  short: 'y/MM/dd'\n};\nvar timeFormats = {\n  full: 'H時mm分ss秒 zzzz',\n  long: 'H:mm:ss z',\n  medium: 'H:mm:ss',\n  short: 'H:mm'\n};\nvar dateTimeFormats = {\n  full: '{{date}} {{time}}',\n  long: '{{date}} {{time}}',\n  medium: '{{date}} {{time}}',\n  short: '{{date}} {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatRelativeLocale = {\n  lastWeek: '先週のeeeeのp',\n  yesterday: '昨日のp',\n  today: '今日のp',\n  tomorrow: '明日のp',\n  nextWeek: '翌週のeeeeのp',\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n  return formatRelativeLocale[token];\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['BC', 'AC'],\n  abbreviated: ['紀元前', '西暦'],\n  wide: ['紀元前', '西暦']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n  wide: ['第1四半期', '第2四半期', '第3四半期', '第4四半期']\n};\nvar monthValues = {\n  narrow: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'],\n  abbreviated: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],\n  wide: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']\n};\nvar dayValues = {\n  narrow: ['日', '月', '火', '水', '木', '金', '土'],\n  short: ['日', '月', '火', '水', '木', '金', '土'],\n  abbreviated: ['日', '月', '火', '水', '木', '金', '土'],\n  wide: ['日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: '午前',\n    pm: '午後',\n    midnight: '深夜',\n    noon: '正午',\n    morning: '朝',\n    afternoon: '午後',\n    evening: '夜',\n    night: '深夜'\n  },\n  abbreviated: {\n    am: '午前',\n    pm: '午後',\n    midnight: '深夜',\n    noon: '正午',\n    morning: '朝',\n    afternoon: '午後',\n    evening: '夜',\n    night: '深夜'\n  },\n  wide: {\n    am: '午前',\n    pm: '午後',\n    midnight: '深夜',\n    noon: '正午',\n    morning: '朝',\n    afternoon: '午後',\n    evening: '夜',\n    night: '深夜'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: '午前',\n    pm: '午後',\n    midnight: '深夜',\n    noon: '正午',\n    morning: '朝',\n    afternoon: '午後',\n    evening: '夜',\n    night: '深夜'\n  },\n  abbreviated: {\n    am: '午前',\n    pm: '午後',\n    midnight: '深夜',\n    noon: '正午',\n    morning: '朝',\n    afternoon: '午後',\n    evening: '夜',\n    night: '深夜'\n  },\n  wide: {\n    am: '午前',\n    pm: '午後',\n    midnight: '深夜',\n    noon: '正午',\n    morning: '朝',\n    afternoon: '午後',\n    evening: '夜',\n    night: '深夜'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n  var number = Number(dirtyNumber);\n  var unit = String(options === null || options === void 0 ? void 0 : options.unit);\n  switch (unit) {\n    case 'year':\n      return \"\".concat(number, \"\\u5E74\");\n    case 'quarter':\n      return \"\\u7B2C\".concat(number, \"\\u56DB\\u534A\\u671F\");\n    case 'month':\n      return \"\".concat(number, \"\\u6708\");\n    case 'week':\n      return \"\\u7B2C\".concat(number, \"\\u9031\");\n    case 'date':\n      return \"\".concat(number, \"\\u65E5\");\n    case 'hour':\n      return \"\".concat(number, \"\\u6642\");\n    case 'minute':\n      return \"\".concat(number, \"\\u5206\");\n    case 'second':\n      return \"\".concat(number, \"\\u79D2\");\n    default:\n      return \"\".concat(number);\n  }\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return Number(quarter) - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nimport buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nvar matchOrdinalNumberPattern = /^第?\\d+(年|四半期|月|週|日|時|分|秒)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(B\\.?C\\.?|A\\.?D\\.?)/i,\n  abbreviated: /^(紀元[前後]|西暦)/i,\n  wide: /^(紀元[前後]|西暦)/i\n};\nvar parseEraPatterns = {\n  narrow: [/^B/i, /^A/i],\n  any: [/^(紀元前)/i, /^(西暦|紀元後)/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^Q[1234]/i,\n  wide: /^第[1234一二三四１２３４]四半期/i\n};\nvar parseQuarterPatterns = {\n  any: [/(1|一|１)/i, /(2|二|２)/i, /(3|三|３)/i, /(4|四|４)/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^([123456789]|1[012])/,\n  abbreviated: /^([123456789]|1[012])月/i,\n  wide: /^([123456789]|1[012])月/i\n};\nvar parseMonthPatterns = {\n  any: [/^1\\D/, /^2/, /^3/, /^4/, /^5/, /^6/, /^7/, /^8/, /^9/, /^10/, /^11/, /^12/]\n};\nvar matchDayPatterns = {\n  narrow: /^[日月火水木金土]/,\n  short: /^[日月火水木金土]/,\n  abbreviated: /^[日月火水木金土]/,\n  wide: /^[日月火水木金土]曜日/\n};\nvar parseDayPatterns = {\n  any: [/^日/, /^月/, /^火/, /^水/, /^木/, /^金/, /^土/]\n};\nvar matchDayPeriodPatterns = {\n  any: /^(AM|PM|午前|午後|正午|深夜|真夜中|夜|朝)/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^(A|午前)/i,\n    pm: /^(P|午後)/i,\n    midnight: /^深夜|真夜中/i,\n    noon: /^正午/i,\n    morning: /^朝/i,\n    afternoon: /^午後/i,\n    evening: /^夜/i,\n    night: /^深夜/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Japanese locale.\n * @language Japanese\n * @iso-639-2 jpn\n * @author Thomas Eilmsteiner [@DeMuu]{@link https://github.com/DeMuu}\n * @author Yamagishi Kazutoshi [@ykzts]{@link https://github.com/ykzts}\n * @author Luca Ban [@mesqueeb]{@link https://github.com/mesqueeb}\n * @author Terrence Lam [@skyuplam]{@link https://github.com/skyuplam}\n * @author Taiki IKeda [@so99ynoodles]{@link https://github.com/so99ynoodles}\n */\nvar locale = {\n  code: 'ja',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 0 /* Sunday */,\n    firstWeekContainsDate: 1\n  }\n};\nexport default locale;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: '1초 미만',\n    other: '{{count}}초 미만'\n  },\n  xSeconds: {\n    one: '1초',\n    other: '{{count}}초'\n  },\n  halfAMinute: '30초',\n  lessThanXMinutes: {\n    one: '1분 미만',\n    other: '{{count}}분 미만'\n  },\n  xMinutes: {\n    one: '1분',\n    other: '{{count}}분'\n  },\n  aboutXHours: {\n    one: '약 1시간',\n    other: '약 {{count}}시간'\n  },\n  xHours: {\n    one: '1시간',\n    other: '{{count}}시간'\n  },\n  xDays: {\n    one: '1일',\n    other: '{{count}}일'\n  },\n  aboutXWeeks: {\n    one: '약 1주',\n    other: '약 {{count}}주'\n  },\n  xWeeks: {\n    one: '1주',\n    other: '{{count}}주'\n  },\n  aboutXMonths: {\n    one: '약 1개월',\n    other: '약 {{count}}개월'\n  },\n  xMonths: {\n    one: '1개월',\n    other: '{{count}}개월'\n  },\n  aboutXYears: {\n    one: '약 1년',\n    other: '약 {{count}}년'\n  },\n  xYears: {\n    one: '1년',\n    other: '{{count}}년'\n  },\n  overXYears: {\n    one: '1년 이상',\n    other: '{{count}}년 이상'\n  },\n  almostXYears: {\n    one: '거의 1년',\n    other: '거의 {{count}}년'\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var result;\n  var tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace('{{count}}', count.toString());\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return result + ' 후';\n    } else {\n      return result + ' 전';\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'y년 M월 d일 EEEE',\n  long: 'y년 M월 d일',\n  medium: 'y.MM.dd',\n  short: 'y.MM.dd'\n};\nvar timeFormats = {\n  full: 'a H시 mm분 ss초 zzzz',\n  long: 'a H:mm:ss z',\n  medium: 'HH:mm:ss',\n  short: 'HH:mm'\n};\nvar dateTimeFormats = {\n  full: '{{date}} {{time}}',\n  long: '{{date}} {{time}}',\n  medium: '{{date}} {{time}}',\n  short: '{{date}} {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatRelativeLocale = {\n  lastWeek: \"'지난' eeee p\",\n  yesterday: \"'어제' p\",\n  today: \"'오늘' p\",\n  tomorrow: \"'내일' p\",\n  nextWeek: \"'다음' eeee p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n  return formatRelativeLocale[token];\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['BC', 'AD'],\n  abbreviated: ['BC', 'AD'],\n  wide: ['기원전', '서기']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n  wide: ['1분기', '2분기', '3분기', '4분기']\n};\nvar monthValues = {\n  narrow: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'],\n  abbreviated: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],\n  wide: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월']\n};\nvar dayValues = {\n  narrow: ['일', '월', '화', '수', '목', '금', '토'],\n  short: ['일', '월', '화', '수', '목', '금', '토'],\n  abbreviated: ['일', '월', '화', '수', '목', '금', '토'],\n  wide: ['일요일', '월요일', '화요일', '수요일', '목요일', '금요일', '토요일']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: '오전',\n    pm: '오후',\n    midnight: '자정',\n    noon: '정오',\n    morning: '아침',\n    afternoon: '오후',\n    evening: '저녁',\n    night: '밤'\n  },\n  abbreviated: {\n    am: '오전',\n    pm: '오후',\n    midnight: '자정',\n    noon: '정오',\n    morning: '아침',\n    afternoon: '오후',\n    evening: '저녁',\n    night: '밤'\n  },\n  wide: {\n    am: '오전',\n    pm: '오후',\n    midnight: '자정',\n    noon: '정오',\n    morning: '아침',\n    afternoon: '오후',\n    evening: '저녁',\n    night: '밤'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: '오전',\n    pm: '오후',\n    midnight: '자정',\n    noon: '정오',\n    morning: '아침',\n    afternoon: '오후',\n    evening: '저녁',\n    night: '밤'\n  },\n  abbreviated: {\n    am: '오전',\n    pm: '오후',\n    midnight: '자정',\n    noon: '정오',\n    morning: '아침',\n    afternoon: '오후',\n    evening: '저녁',\n    night: '밤'\n  },\n  wide: {\n    am: '오전',\n    pm: '오후',\n    midnight: '자정',\n    noon: '정오',\n    morning: '아침',\n    afternoon: '오후',\n    evening: '저녁',\n    night: '밤'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n  var number = Number(dirtyNumber);\n  var unit = String(options === null || options === void 0 ? void 0 : options.unit);\n  switch (unit) {\n    case 'minute':\n    case 'second':\n      return String(number);\n    case 'date':\n      return number + '일';\n    default:\n      return number + '번째';\n  }\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(일|번째)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n  abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n  wide: /^(기원전|서기)/i\n};\nvar parseEraPatterns = {\n  any: [/^(bc|기원전)/i, /^(ad|서기)/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^[1234]사?분기/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^(1[012]|[123456789])/,\n  abbreviated: /^(1[012]|[123456789])월/i,\n  wide: /^(1[012]|[123456789])월/i\n};\nvar parseMonthPatterns = {\n  any: [/^1월?$/, /^2/, /^3/, /^4/, /^5/, /^6/, /^7/, /^8/, /^9/, /^10/, /^11/, /^12/]\n};\nvar matchDayPatterns = {\n  narrow: /^[일월화수목금토]/,\n  short: /^[일월화수목금토]/,\n  abbreviated: /^[일월화수목금토]/,\n  wide: /^[일월화수목금토]요일/\n};\nvar parseDayPatterns = {\n  any: [/^일/, /^월/, /^화/, /^수/, /^목/, /^금/, /^토/]\n};\nvar matchDayPeriodPatterns = {\n  any: /^(am|pm|오전|오후|자정|정오|아침|저녁|밤)/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^(am|오전)/i,\n    pm: /^(pm|오후)/i,\n    midnight: /^자정/i,\n    noon: /^정오/i,\n    morning: /^아침/i,\n    afternoon: /^오후/i,\n    evening: /^저녁/i,\n    night: /^밤/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Korean locale.\n * @language Korean\n * @iso-639-2 kor\n * @author Hong Chulju [@angdev]{@link https://github.com/angdev}\n * @author Lee Seoyoen [@iamssen]{@link https://github.com/iamssen}\n * @author Taiki IKeda [@so99ynoodles]{@link https://github.com/so99ynoodles}\n */\nvar locale = {\n  code: 'ko',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 0 /* Sunday */,\n    firstWeekContainsDate: 1\n  }\n};\nexport default locale;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: 'mindre enn eitt sekund',\n    other: 'mindre enn {{count}} sekund'\n  },\n  xSeconds: {\n    one: 'eitt sekund',\n    other: '{{count}} sekund'\n  },\n  halfAMinute: 'eit halvt minutt',\n  lessThanXMinutes: {\n    one: 'mindre enn eitt minutt',\n    other: 'mindre enn {{count}} minutt'\n  },\n  xMinutes: {\n    one: 'eitt minutt',\n    other: '{{count}} minutt'\n  },\n  aboutXHours: {\n    one: 'omtrent ein time',\n    other: 'omtrent {{count}} timar'\n  },\n  xHours: {\n    one: 'ein time',\n    other: '{{count}} timar'\n  },\n  xDays: {\n    one: 'ein dag',\n    other: '{{count}} dagar'\n  },\n  aboutXWeeks: {\n    one: 'omtrent ei veke',\n    other: 'omtrent {{count}} veker'\n  },\n  xWeeks: {\n    one: 'ei veke',\n    other: '{{count}} veker'\n  },\n  aboutXMonths: {\n    one: 'omtrent ein månad',\n    other: 'omtrent {{count}} månader'\n  },\n  xMonths: {\n    one: 'ein månad',\n    other: '{{count}} månader'\n  },\n  aboutXYears: {\n    one: 'omtrent eitt år',\n    other: 'omtrent {{count}} år'\n  },\n  xYears: {\n    one: 'eitt år',\n    other: '{{count}} år'\n  },\n  overXYears: {\n    one: 'over eitt år',\n    other: 'over {{count}} år'\n  },\n  almostXYears: {\n    one: 'nesten eitt år',\n    other: 'nesten {{count}} år'\n  }\n};\nvar wordMapping = ['null', 'ein', 'to', 'tre', 'fire', 'fem', 'seks', 'sju', 'åtte', 'ni', 'ti', 'elleve', 'tolv'];\nvar formatDistance = function formatDistance(token, count, options) {\n  var result;\n  var tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    if (options && options.onlyNumeric) {\n      result = tokenValue.other.replace('{{count}}', String(count));\n    } else {\n      result = tokenValue.other.replace('{{count}}', count < 13 ? wordMapping[count] : String(count));\n    }\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return 'om ' + result;\n    } else {\n      return result + ' sidan';\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'EEEE d. MMMM y',\n  long: 'd. MMMM y',\n  medium: 'd. MMM y',\n  short: 'dd.MM.y'\n};\nvar timeFormats = {\n  full: \"'kl'. HH:mm:ss zzzz\",\n  long: 'HH:mm:ss z',\n  medium: 'HH:mm:ss',\n  short: 'HH:mm'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'kl.' {{time}}\",\n  long: \"{{date}} 'kl.' {{time}}\",\n  medium: '{{date}} {{time}}',\n  short: '{{date}} {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatRelativeLocale = {\n  lastWeek: \"'førre' eeee 'kl.' p\",\n  yesterday: \"'i går kl.' p\",\n  today: \"'i dag kl.' p\",\n  tomorrow: \"'i morgon kl.' p\",\n  nextWeek: \"EEEE 'kl.' p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n  return formatRelativeLocale[token];\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['f.Kr.', 'e.Kr.'],\n  abbreviated: ['f.Kr.', 'e.Kr.'],\n  wide: ['før Kristus', 'etter Kristus']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n  wide: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal']\n};\nvar monthValues = {\n  narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n  abbreviated: ['jan.', 'feb.', 'mars', 'apr.', 'mai', 'juni', 'juli', 'aug.', 'sep.', 'okt.', 'nov.', 'des.'],\n  wide: ['januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'desember']\n};\nvar dayValues = {\n  narrow: ['S', 'M', 'T', 'O', 'T', 'F', 'L'],\n  short: ['su', 'må', 'ty', 'on', 'to', 'fr', 'lau'],\n  abbreviated: ['sun', 'mån', 'tys', 'ons', 'tor', 'fre', 'laur'],\n  wide: ['sundag', 'måndag', 'tysdag', 'onsdag', 'torsdag', 'fredag', 'laurdag']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'a',\n    pm: 'p',\n    midnight: 'midnatt',\n    noon: 'middag',\n    morning: 'på morg.',\n    afternoon: 'på etterm.',\n    evening: 'på kvelden',\n    night: 'på natta'\n  },\n  abbreviated: {\n    am: 'a.m.',\n    pm: 'p.m.',\n    midnight: 'midnatt',\n    noon: 'middag',\n    morning: 'på morg.',\n    afternoon: 'på etterm.',\n    evening: 'på kvelden',\n    night: 'på natta'\n  },\n  wide: {\n    am: 'a.m.',\n    pm: 'p.m.',\n    midnight: 'midnatt',\n    noon: 'middag',\n    morning: 'på morgonen',\n    afternoon: 'på ettermiddagen',\n    evening: 'på kvelden',\n    night: 'på natta'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n  var number = Number(dirtyNumber);\n  return number + '.';\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)\\.?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(f\\.? ?Kr\\.?|fvt\\.?|e\\.? ?Kr\\.?|evt\\.?)/i,\n  abbreviated: /^(f\\.? ?Kr\\.?|fvt\\.?|e\\.? ?Kr\\.?|evt\\.?)/i,\n  wide: /^(før Kristus|før vår tid|etter Kristus|vår tid)/i\n};\nvar parseEraPatterns = {\n  any: [/^f/i, /^e/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^[1234](\\.)? kvartal/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated: /^(jan|feb|mars?|apr|mai|juni?|juli?|aug|sep|okt|nov|des)\\.?/i,\n  wide: /^(januar|februar|mars|april|mai|juni|juli|august|september|oktober|november|desember)/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n  any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^mai/i, /^jun/i, /^jul/i, /^aug/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[smtofl]/i,\n  short: /^(su|må|ty|on|to|fr|la)/i,\n  abbreviated: /^(sun|mån|tys|ons|tor|fre|laur)/i,\n  wide: /^(sundag|måndag|tysdag|onsdag|torsdag|fredag|laurdag)/i\n};\nvar parseDayPatterns = {\n  any: [/^s/i, /^m/i, /^ty/i, /^o/i, /^to/i, /^f/i, /^l/i]\n};\nvar matchDayPeriodPatterns = {\n  narrow: /^(midnatt|middag|(på) (morgonen|ettermiddagen|kvelden|natta)|[ap])/i,\n  any: /^([ap]\\.?\\s?m\\.?|midnatt|middag|(på) (morgonen|ettermiddagen|kvelden|natta))/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^a(\\.?\\s?m\\.?)?$/i,\n    pm: /^p(\\.?\\s?m\\.?)?$/i,\n    midnight: /^midn/i,\n    noon: /^midd/i,\n    morning: /morgon/i,\n    afternoon: /ettermiddag/i,\n    evening: /kveld/i,\n    night: /natt/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Norwegian Nynorsk locale.\n * @language Norwegian Nynorsk\n * @iso-639-2 nno\n * @author Mats Byrkjeland [@draperunner]{@link https://github.com/draperunner}\n */\nvar locale = {\n  code: 'nn',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4\n  }\n};\nexport default locale;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: {\n      regular: 'mniej niż sekunda',\n      past: 'mniej niż sekundę',\n      future: 'mniej niż sekundę'\n    },\n    twoFour: 'mniej niż {{count}} sekundy',\n    other: 'mniej niż {{count}} sekund'\n  },\n  xSeconds: {\n    one: {\n      regular: 'sekunda',\n      past: 'sekundę',\n      future: 'sekundę'\n    },\n    twoFour: '{{count}} sekundy',\n    other: '{{count}} sekund'\n  },\n  halfAMinute: {\n    one: 'pół minuty',\n    twoFour: 'pół minuty',\n    other: 'pół minuty'\n  },\n  lessThanXMinutes: {\n    one: {\n      regular: 'mniej niż minuta',\n      past: 'mniej niż minutę',\n      future: 'mniej niż minutę'\n    },\n    twoFour: 'mniej niż {{count}} minuty',\n    other: 'mniej niż {{count}} minut'\n  },\n  xMinutes: {\n    one: {\n      regular: 'minuta',\n      past: 'minutę',\n      future: 'minutę'\n    },\n    twoFour: '{{count}} minuty',\n    other: '{{count}} minut'\n  },\n  aboutXHours: {\n    one: {\n      regular: 'około godziny',\n      past: 'około godziny',\n      future: 'około godzinę'\n    },\n    twoFour: 'około {{count}} godziny',\n    other: 'około {{count}} godzin'\n  },\n  xHours: {\n    one: {\n      regular: 'godzina',\n      past: 'godzinę',\n      future: 'godzinę'\n    },\n    twoFour: '{{count}} godziny',\n    other: '{{count}} godzin'\n  },\n  xDays: {\n    one: {\n      regular: 'dzień',\n      past: 'dzień',\n      future: '1 dzień'\n    },\n    twoFour: '{{count}} dni',\n    other: '{{count}} dni'\n  },\n  aboutXWeeks: {\n    one: 'około tygodnia',\n    twoFour: 'około {{count}} tygodni',\n    other: 'około {{count}} tygodni'\n  },\n  xWeeks: {\n    one: 'tydzień',\n    twoFour: '{{count}} tygodnie',\n    other: '{{count}} tygodni'\n  },\n  aboutXMonths: {\n    one: 'około miesiąc',\n    twoFour: 'około {{count}} miesiące',\n    other: 'około {{count}} miesięcy'\n  },\n  xMonths: {\n    one: 'miesiąc',\n    twoFour: '{{count}} miesiące',\n    other: '{{count}} miesięcy'\n  },\n  aboutXYears: {\n    one: 'około rok',\n    twoFour: 'około {{count}} lata',\n    other: 'około {{count}} lat'\n  },\n  xYears: {\n    one: 'rok',\n    twoFour: '{{count}} lata',\n    other: '{{count}} lat'\n  },\n  overXYears: {\n    one: 'ponad rok',\n    twoFour: 'ponad {{count}} lata',\n    other: 'ponad {{count}} lat'\n  },\n  almostXYears: {\n    one: 'prawie rok',\n    twoFour: 'prawie {{count}} lata',\n    other: 'prawie {{count}} lat'\n  }\n};\nfunction declensionGroup(scheme, count) {\n  if (count === 1) {\n    return scheme.one;\n  }\n  var rem100 = count % 100;\n\n  // ends with 11-20\n  if (rem100 <= 20 && rem100 > 10) {\n    return scheme.other;\n  }\n  var rem10 = rem100 % 10;\n\n  // ends with 2, 3, 4\n  if (rem10 >= 2 && rem10 <= 4) {\n    return scheme.twoFour;\n  }\n  return scheme.other;\n}\nfunction declension(scheme, count, time) {\n  var group = declensionGroup(scheme, count);\n  var finalText = typeof group === 'string' ? group : group[time];\n  return finalText.replace('{{count}}', String(count));\n}\nvar formatDistance = function formatDistance(token, count, options) {\n  var scheme = formatDistanceLocale[token];\n  if (!(options !== null && options !== void 0 && options.addSuffix)) {\n    return declension(scheme, count, 'regular');\n  }\n  if (options.comparison && options.comparison > 0) {\n    return 'za ' + declension(scheme, count, 'future');\n  } else {\n    return declension(scheme, count, 'past') + ' temu';\n  }\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'EEEE, do MMMM y',\n  long: 'do MMMM y',\n  medium: 'do MMM y',\n  short: 'dd.MM.y'\n};\nvar timeFormats = {\n  full: 'HH:mm:ss zzzz',\n  long: 'HH:mm:ss z',\n  medium: 'HH:mm:ss',\n  short: 'HH:mm'\n};\nvar dateTimeFormats = {\n  full: '{{date}} {{time}}',\n  long: '{{date}} {{time}}',\n  medium: '{{date}}, {{time}}',\n  short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","import isSameUTCWeek from \"../../../../_lib/isSameUTCWeek/index.js\";\nvar adjectivesLastWeek = {\n  masculine: 'ostatni',\n  feminine: 'ostatnia'\n};\nvar adjectivesThisWeek = {\n  masculine: 'ten',\n  feminine: 'ta'\n};\nvar adjectivesNextWeek = {\n  masculine: 'następny',\n  feminine: 'następna'\n};\nvar dayGrammaticalGender = {\n  0: 'feminine',\n  1: 'masculine',\n  2: 'masculine',\n  3: 'feminine',\n  4: 'masculine',\n  5: 'masculine',\n  6: 'feminine'\n};\nfunction dayAndTimeWithAdjective(token, date, baseDate, options) {\n  var adjectives;\n  if (isSameUTCWeek(date, baseDate, options)) {\n    adjectives = adjectivesThisWeek;\n  } else if (token === 'lastWeek') {\n    adjectives = adjectivesLastWeek;\n  } else if (token === 'nextWeek') {\n    adjectives = adjectivesNextWeek;\n  } else {\n    throw new Error(\"Cannot determine adjectives for token \".concat(token));\n  }\n  var day = date.getUTCDay();\n  var grammaticalGender = dayGrammaticalGender[day];\n  var adjective = adjectives[grammaticalGender];\n  return \"'\".concat(adjective, \"' eeee 'o' p\");\n}\nvar formatRelativeLocale = {\n  lastWeek: dayAndTimeWithAdjective,\n  yesterday: \"'wczoraj o' p\",\n  today: \"'dzisiaj o' p\",\n  tomorrow: \"'jutro o' p\",\n  nextWeek: dayAndTimeWithAdjective,\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, date, baseDate, options) {\n  var format = formatRelativeLocale[token];\n  if (typeof format === 'function') {\n    return format(token, date, baseDate, options);\n  }\n  return format;\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['p.n.e.', 'n.e.'],\n  abbreviated: ['p.n.e.', 'n.e.'],\n  wide: ['przed naszą erą', 'naszej ery']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['I kw.', 'II kw.', 'III kw.', 'IV kw.'],\n  wide: ['I kwartał', 'II kwartał', 'III kwartał', 'IV kwartał']\n};\nvar monthValues = {\n  narrow: ['S', 'L', 'M', 'K', 'M', 'C', 'L', 'S', 'W', 'P', 'L', 'G'],\n  abbreviated: ['sty', 'lut', 'mar', 'kwi', 'maj', 'cze', 'lip', 'sie', 'wrz', 'paź', 'lis', 'gru'],\n  wide: ['styczeń', 'luty', 'marzec', 'kwiecień', 'maj', 'czerwiec', 'lipiec', 'sierpień', 'wrzesień', 'październik', 'listopad', 'grudzień']\n};\nvar monthFormattingValues = {\n  narrow: ['s', 'l', 'm', 'k', 'm', 'c', 'l', 's', 'w', 'p', 'l', 'g'],\n  abbreviated: ['sty', 'lut', 'mar', 'kwi', 'maj', 'cze', 'lip', 'sie', 'wrz', 'paź', 'lis', 'gru'],\n  wide: ['stycznia', 'lutego', 'marca', 'kwietnia', 'maja', 'czerwca', 'lipca', 'sierpnia', 'września', 'października', 'listopada', 'grudnia']\n};\nvar dayValues = {\n  narrow: ['N', 'P', 'W', 'Ś', 'C', 'P', 'S'],\n  short: ['nie', 'pon', 'wto', 'śro', 'czw', 'pią', 'sob'],\n  abbreviated: ['niedz.', 'pon.', 'wt.', 'śr.', 'czw.', 'pt.', 'sob.'],\n  wide: ['niedziela', 'poniedziałek', 'wtorek', 'środa', 'czwartek', 'piątek', 'sobota']\n};\nvar dayFormattingValues = {\n  narrow: ['n', 'p', 'w', 'ś', 'c', 'p', 's'],\n  short: ['nie', 'pon', 'wto', 'śro', 'czw', 'pią', 'sob'],\n  abbreviated: ['niedz.', 'pon.', 'wt.', 'śr.', 'czw.', 'pt.', 'sob.'],\n  wide: ['niedziela', 'poniedziałek', 'wtorek', 'środa', 'czwartek', 'piątek', 'sobota']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'a',\n    pm: 'p',\n    midnight: 'półn.',\n    noon: 'poł',\n    morning: 'rano',\n    afternoon: 'popoł.',\n    evening: 'wiecz.',\n    night: 'noc'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'północ',\n    noon: 'południe',\n    morning: 'rano',\n    afternoon: 'popołudnie',\n    evening: 'wieczór',\n    night: 'noc'\n  },\n  wide: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'północ',\n    noon: 'południe',\n    morning: 'rano',\n    afternoon: 'popołudnie',\n    evening: 'wieczór',\n    night: 'noc'\n  }\n};\nvar dayPeriodFormattingValues = {\n  narrow: {\n    am: 'a',\n    pm: 'p',\n    midnight: 'o półn.',\n    noon: 'w poł.',\n    morning: 'rano',\n    afternoon: 'po poł.',\n    evening: 'wiecz.',\n    night: 'w nocy'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'o północy',\n    noon: 'w południe',\n    morning: 'rano',\n    afternoon: 'po południu',\n    evening: 'wieczorem',\n    night: 'w nocy'\n  },\n  wide: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'o północy',\n    noon: 'w południe',\n    morning: 'rano',\n    afternoon: 'po południu',\n    evening: 'wieczorem',\n    night: 'w nocy'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n  return String(dirtyNumber);\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide',\n    formattingValues: monthFormattingValues,\n    defaultFormattingWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide',\n    formattingValues: dayFormattingValues,\n    defaultFormattingWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: dayPeriodFormattingValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(p\\.?\\s*n\\.?\\s*e\\.?\\s*|n\\.?\\s*e\\.?\\s*)/i,\n  abbreviated: /^(p\\.?\\s*n\\.?\\s*e\\.?\\s*|n\\.?\\s*e\\.?\\s*)/i,\n  wide: /^(przed\\s*nasz(ą|a)\\s*er(ą|a)|naszej\\s*ery)/i\n};\nvar parseEraPatterns = {\n  any: [/^p/i, /^n/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^(I|II|III|IV)\\s*kw\\.?/i,\n  wide: /^(I|II|III|IV)\\s*kwarta(ł|l)/i\n};\nvar parseQuarterPatterns = {\n  narrow: [/1/i, /2/i, /3/i, /4/i],\n  any: [/^I kw/i, /^II kw/i, /^III kw/i, /^IV kw/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[slmkcwpg]/i,\n  abbreviated: /^(sty|lut|mar|kwi|maj|cze|lip|sie|wrz|pa(ź|z)|lis|gru)/i,\n  wide: /^(stycznia|stycze(ń|n)|lutego|luty|marca|marzec|kwietnia|kwiecie(ń|n)|maja|maj|czerwca|czerwiec|lipca|lipiec|sierpnia|sierpie(ń|n)|wrze(ś|s)nia|wrzesie(ń|n)|pa(ź|z)dziernika|pa(ź|z)dziernik|listopada|listopad|grudnia|grudzie(ń|n))/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^s/i, /^l/i, /^m/i, /^k/i, /^m/i, /^c/i, /^l/i, /^s/i, /^w/i, /^p/i, /^l/i, /^g/i],\n  any: [/^st/i, /^lu/i, /^mar/i, /^k/i, /^maj/i, /^c/i, /^lip/i, /^si/i, /^w/i, /^p/i, /^lis/i, /^g/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[npwścs]/i,\n  short: /^(nie|pon|wto|(ś|s)ro|czw|pi(ą|a)|sob)/i,\n  abbreviated: /^(niedz|pon|wt|(ś|s)r|czw|pt|sob)\\.?/i,\n  wide: /^(niedziela|poniedzia(ł|l)ek|wtorek|(ś|s)roda|czwartek|pi(ą|a)tek|sobota)/i\n};\nvar parseDayPatterns = {\n  narrow: [/^n/i, /^p/i, /^w/i, /^ś/i, /^c/i, /^p/i, /^s/i],\n  abbreviated: [/^n/i, /^po/i, /^w/i, /^(ś|s)r/i, /^c/i, /^pt/i, /^so/i],\n  any: [/^n/i, /^po/i, /^w/i, /^(ś|s)r/i, /^c/i, /^pi/i, /^so/i]\n};\nvar matchDayPeriodPatterns = {\n  narrow: /^(^a$|^p$|pó(ł|l)n\\.?|o\\s*pó(ł|l)n\\.?|po(ł|l)\\.?|w\\s*po(ł|l)\\.?|po\\s*po(ł|l)\\.?|rano|wiecz\\.?|noc|w\\s*nocy)/i,\n  any: /^(am|pm|pó(ł|l)noc|o\\s*pó(ł|l)nocy|po(ł|l)udnie|w\\s*po(ł|l)udnie|popo(ł|l)udnie|po\\s*po(ł|l)udniu|rano|wieczór|wieczorem|noc|w\\s*nocy)/i\n};\nvar parseDayPeriodPatterns = {\n  narrow: {\n    am: /^a$/i,\n    pm: /^p$/i,\n    midnight: /pó(ł|l)n/i,\n    noon: /po(ł|l)/i,\n    morning: /rano/i,\n    afternoon: /po\\s*po(ł|l)/i,\n    evening: /wiecz/i,\n    night: /noc/i\n  },\n  any: {\n    am: /^am/i,\n    pm: /^pm/i,\n    midnight: /pó(ł|l)n/i,\n    noon: /po(ł|l)/i,\n    morning: /rano/i,\n    afternoon: /po\\s*po(ł|l)/i,\n    evening: /wiecz/i,\n    night: /noc/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Polish locale.\n * @language Polish\n * @iso-639-2 pol\n * @author Mateusz Derks [@ertrzyiks]{@link https://github.com/ertrzyiks}\n * @author Just RAG [@justrag]{@link https://github.com/justrag}\n * @author Mikolaj Grzyb [@mikolajgrzyb]{@link https://github.com/mikolajgrzyb}\n * @author Mateusz Tokarski [@mutisz]{@link https://github.com/mutisz}\n */\nvar locale = {\n  code: 'pl',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4\n  }\n};\nexport default locale;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: 'menos de um segundo',\n    other: 'menos de {{count}} segundos'\n  },\n  xSeconds: {\n    one: '1 segundo',\n    other: '{{count}} segundos'\n  },\n  halfAMinute: 'meio minuto',\n  lessThanXMinutes: {\n    one: 'menos de um minuto',\n    other: 'menos de {{count}} minutos'\n  },\n  xMinutes: {\n    one: '1 minuto',\n    other: '{{count}} minutos'\n  },\n  aboutXHours: {\n    one: 'cerca de 1 hora',\n    other: 'cerca de {{count}} horas'\n  },\n  xHours: {\n    one: '1 hora',\n    other: '{{count}} horas'\n  },\n  xDays: {\n    one: '1 dia',\n    other: '{{count}} dias'\n  },\n  aboutXWeeks: {\n    one: 'cerca de 1 semana',\n    other: 'cerca de {{count}} semanas'\n  },\n  xWeeks: {\n    one: '1 semana',\n    other: '{{count}} semanas'\n  },\n  aboutXMonths: {\n    one: 'cerca de 1 mês',\n    other: 'cerca de {{count}} meses'\n  },\n  xMonths: {\n    one: '1 mês',\n    other: '{{count}} meses'\n  },\n  aboutXYears: {\n    one: 'cerca de 1 ano',\n    other: 'cerca de {{count}} anos'\n  },\n  xYears: {\n    one: '1 ano',\n    other: '{{count}} anos'\n  },\n  overXYears: {\n    one: 'mais de 1 ano',\n    other: 'mais de {{count}} anos'\n  },\n  almostXYears: {\n    one: 'quase 1 ano',\n    other: 'quase {{count}} anos'\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var result;\n  var tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace('{{count}}', String(count));\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return 'em ' + result;\n    } else {\n      return 'há ' + result;\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: \"EEEE, d 'de' MMMM 'de' y\",\n  long: \"d 'de' MMMM 'de' y\",\n  medium: 'd MMM y',\n  short: 'dd/MM/yyyy'\n};\nvar timeFormats = {\n  full: 'HH:mm:ss zzzz',\n  long: 'HH:mm:ss z',\n  medium: 'HH:mm:ss',\n  short: 'HH:mm'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'às' {{time}}\",\n  long: \"{{date}} 'às' {{time}}\",\n  medium: '{{date}}, {{time}}',\n  short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatRelativeLocale = {\n  lastWeek: function lastWeek(date) {\n    var weekday = date.getUTCDay();\n    var last = weekday === 0 || weekday === 6 ? 'último' : 'última';\n    return \"'\" + last + \"' eeee 'às' p\";\n  },\n  yesterday: \"'ontem às' p\",\n  today: \"'hoje às' p\",\n  tomorrow: \"'amanhã às' p\",\n  nextWeek: \"eeee 'às' p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, date, _baseDate, _options) {\n  var format = formatRelativeLocale[token];\n  if (typeof format === 'function') {\n    return format(date);\n  }\n  return format;\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['AC', 'DC'],\n  abbreviated: ['AC', 'DC'],\n  wide: ['antes de cristo', 'depois de cristo']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['T1', 'T2', 'T3', 'T4'],\n  wide: ['1º trimestre', '2º trimestre', '3º trimestre', '4º trimestre']\n};\nvar monthValues = {\n  narrow: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'],\n  abbreviated: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'],\n  wide: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro']\n};\nvar dayValues = {\n  narrow: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'],\n  short: ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sab'],\n  abbreviated: ['domingo', 'segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado'],\n  wide: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'a',\n    pm: 'p',\n    midnight: 'mn',\n    noon: 'md',\n    morning: 'manhã',\n    afternoon: 'tarde',\n    evening: 'tarde',\n    night: 'noite'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'meia-noite',\n    noon: 'meio-dia',\n    morning: 'manhã',\n    afternoon: 'tarde',\n    evening: 'tarde',\n    night: 'noite'\n  },\n  wide: {\n    am: 'a.m.',\n    pm: 'p.m.',\n    midnight: 'meia-noite',\n    noon: 'meio-dia',\n    morning: 'manhã',\n    afternoon: 'tarde',\n    evening: 'tarde',\n    night: 'noite'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: 'a',\n    pm: 'p',\n    midnight: 'mn',\n    noon: 'md',\n    morning: 'da manhã',\n    afternoon: 'da tarde',\n    evening: 'da tarde',\n    night: 'da noite'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'meia-noite',\n    noon: 'meio-dia',\n    morning: 'da manhã',\n    afternoon: 'da tarde',\n    evening: 'da tarde',\n    night: 'da noite'\n  },\n  wide: {\n    am: 'a.m.',\n    pm: 'p.m.',\n    midnight: 'meia-noite',\n    noon: 'meio-dia',\n    morning: 'da manhã',\n    afternoon: 'da tarde',\n    evening: 'da tarde',\n    night: 'da noite'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n  var number = Number(dirtyNumber);\n  if ((options === null || options === void 0 ? void 0 : options.unit) === 'week') {\n    return number + 'ª';\n  }\n  return number + 'º';\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)[ºªo]?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(ac|dc|a|d)/i,\n  abbreviated: /^(a\\.?\\s?c\\.?|d\\.?\\s?c\\.?)/i,\n  wide: /^(antes de cristo|depois de cristo)/i\n};\nvar parseEraPatterns = {\n  any: [/^ac/i, /^dc/i],\n  wide: [/^antes de cristo/i, /^depois de cristo/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^T[1234]/i,\n  wide: /^[1234](º)? trimestre/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[jfmajsond]/i,\n  abbreviated: /^(jan|fev|mar|abr|mai|jun|jul|ago|set|out|nov|dez)/i,\n  wide: /^(janeiro|fevereiro|março|abril|maio|junho|julho|agosto|setembro|outubro|novembro|dezembro)/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n  any: [/^ja/i, /^fev/i, /^mar/i, /^abr/i, /^mai/i, /^jun/i, /^jul/i, /^ago/i, /^set/i, /^out/i, /^nov/i, /^dez/i]\n};\nvar matchDayPatterns = {\n  narrow: /^(dom|[23456]ª?|s[aá]b)/i,\n  short: /^(dom|[23456]ª?|s[aá]b)/i,\n  abbreviated: /^(dom|seg|ter|qua|qui|sex|s[aá]b)/i,\n  wide: /^(domingo|(segunda|ter[cç]a|quarta|quinta|sexta)([- ]feira)?|s[aá]bado)/i\n};\nvar parseDayPatterns = {\n  short: [/^d/i, /^2/i, /^3/i, /^4/i, /^5/i, /^6/i, /^s[aá]/i],\n  narrow: [/^d/i, /^2/i, /^3/i, /^4/i, /^5/i, /^6/i, /^s[aá]/i],\n  any: [/^d/i, /^seg/i, /^t/i, /^qua/i, /^qui/i, /^sex/i, /^s[aá]b/i]\n};\nvar matchDayPeriodPatterns = {\n  narrow: /^(a|p|mn|md|(da) (manhã|tarde|noite))/i,\n  any: /^([ap]\\.?\\s?m\\.?|meia[-\\s]noite|meio[-\\s]dia|(da) (manhã|tarde|noite))/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^a/i,\n    pm: /^p/i,\n    midnight: /^mn|^meia[-\\s]noite/i,\n    noon: /^md|^meio[-\\s]dia/i,\n    morning: /manhã/i,\n    afternoon: /tarde/i,\n    evening: /tarde/i,\n    night: /noite/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Portuguese locale (Brazil).\n * @language Portuguese\n * @iso-639-2 por\n * @author Lucas Duailibe [@duailibe]{@link https://github.com/duailibe}\n * @author Yago Carballo [@yagocarballo]{@link https://github.com/YagoCarballo}\n */\nvar locale = {\n  code: 'pt-BR',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 0 /* Sunday */,\n    firstWeekContainsDate: 1\n  }\n};\nexport default locale;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: 'menos de um segundo',\n    other: 'menos de {{count}} segundos'\n  },\n  xSeconds: {\n    one: '1 segundo',\n    other: '{{count}} segundos'\n  },\n  halfAMinute: 'meio minuto',\n  lessThanXMinutes: {\n    one: 'menos de um minuto',\n    other: 'menos de {{count}} minutos'\n  },\n  xMinutes: {\n    one: '1 minuto',\n    other: '{{count}} minutos'\n  },\n  aboutXHours: {\n    one: 'aproximadamente 1 hora',\n    other: 'aproximadamente {{count}} horas'\n  },\n  xHours: {\n    one: '1 hora',\n    other: '{{count}} horas'\n  },\n  xDays: {\n    one: '1 dia',\n    other: '{{count}} dias'\n  },\n  aboutXWeeks: {\n    one: 'aproximadamente 1 semana',\n    other: 'aproximadamente {{count}} semanas'\n  },\n  xWeeks: {\n    one: '1 semana',\n    other: '{{count}} semanas'\n  },\n  aboutXMonths: {\n    one: 'aproximadamente 1 mês',\n    other: 'aproximadamente {{count}} meses'\n  },\n  xMonths: {\n    one: '1 mês',\n    other: '{{count}} meses'\n  },\n  aboutXYears: {\n    one: 'aproximadamente 1 ano',\n    other: 'aproximadamente {{count}} anos'\n  },\n  xYears: {\n    one: '1 ano',\n    other: '{{count}} anos'\n  },\n  overXYears: {\n    one: 'mais de 1 ano',\n    other: 'mais de {{count}} anos'\n  },\n  almostXYears: {\n    one: 'quase 1 ano',\n    other: 'quase {{count}} anos'\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var result;\n  var tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace('{{count}}', String(count));\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return 'daqui a ' + result;\n    } else {\n      return 'há ' + result;\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: \"EEEE, d 'de' MMMM 'de' y\",\n  long: \"d 'de' MMMM 'de' y\",\n  medium: \"d 'de' MMM 'de' y\",\n  short: 'dd/MM/y'\n};\nvar timeFormats = {\n  full: 'HH:mm:ss zzzz',\n  long: 'HH:mm:ss z',\n  medium: 'HH:mm:ss',\n  short: 'HH:mm'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'às' {{time}}\",\n  long: \"{{date}} 'às' {{time}}\",\n  medium: '{{date}}, {{time}}',\n  short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatRelativeLocale = {\n  lastWeek: function lastWeek(date) {\n    var weekday = date.getUTCDay();\n    var last = weekday === 0 || weekday === 6 ? 'último' : 'última';\n    return \"'\" + last + \"' eeee 'às' p\";\n  },\n  yesterday: \"'ontem às' p\",\n  today: \"'hoje às' p\",\n  tomorrow: \"'amanhã às' p\",\n  nextWeek: \"eeee 'às' p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, date, _baseDate, _options) {\n  var format = formatRelativeLocale[token];\n  if (typeof format === 'function') {\n    return format(date);\n  }\n  return format;\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['aC', 'dC'],\n  abbreviated: ['a.C.', 'd.C.'],\n  wide: ['antes de Cristo', 'depois de Cristo']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['T1', 'T2', 'T3', 'T4'],\n  wide: ['1º trimestre', '2º trimestre', '3º trimestre', '4º trimestre']\n};\nvar monthValues = {\n  narrow: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'],\n  abbreviated: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'],\n  wide: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro']\n};\nvar dayValues = {\n  narrow: ['d', 's', 't', 'q', 'q', 's', 's'],\n  short: ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb'],\n  abbreviated: ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb'],\n  wide: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'meia-noite',\n    noon: 'meio-dia',\n    morning: 'manhã',\n    afternoon: 'tarde',\n    evening: 'noite',\n    night: 'madrugada'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'meia-noite',\n    noon: 'meio-dia',\n    morning: 'manhã',\n    afternoon: 'tarde',\n    evening: 'noite',\n    night: 'madrugada'\n  },\n  wide: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'meia-noite',\n    noon: 'meio-dia',\n    morning: 'manhã',\n    afternoon: 'tarde',\n    evening: 'noite',\n    night: 'madrugada'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'meia-noite',\n    noon: 'meio-dia',\n    morning: 'da manhã',\n    afternoon: 'da tarde',\n    evening: 'da noite',\n    night: 'da madrugada'\n  },\n  abbreviated: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'meia-noite',\n    noon: 'meio-dia',\n    morning: 'da manhã',\n    afternoon: 'da tarde',\n    evening: 'da noite',\n    night: 'da madrugada'\n  },\n  wide: {\n    am: 'AM',\n    pm: 'PM',\n    midnight: 'meia-noite',\n    noon: 'meio-dia',\n    morning: 'da manhã',\n    afternoon: 'da tarde',\n    evening: 'da noite',\n    night: 'da madrugada'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n  var number = Number(dirtyNumber);\n  return number + 'º';\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(º|ª)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(ac|dc|a|d)/i,\n  abbreviated: /^(a\\.?\\s?c\\.?|a\\.?\\s?e\\.?\\s?c\\.?|d\\.?\\s?c\\.?|e\\.?\\s?c\\.?)/i,\n  wide: /^(antes de cristo|antes da era comum|depois de cristo|era comum)/i\n};\nvar parseEraPatterns = {\n  any: [/^ac/i, /^dc/i],\n  wide: [/^(antes de cristo|antes da era comum)/i, /^(depois de cristo|era comum)/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^T[1234]/i,\n  wide: /^[1234](º|ª)? trimestre/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated: /^(jan|fev|mar|abr|mai|jun|jul|ago|set|out|nov|dez)/i,\n  wide: /^(janeiro|fevereiro|março|abril|maio|junho|julho|agosto|setembro|outubro|novembro|dezembro)/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n  any: [/^ja/i, /^f/i, /^mar/i, /^ab/i, /^mai/i, /^jun/i, /^jul/i, /^ag/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[dstq]/i,\n  short: /^(dom|seg|ter|qua|qui|sex|s[áa]b)/i,\n  abbreviated: /^(dom|seg|ter|qua|qui|sex|s[áa]b)/i,\n  wide: /^(domingo|segunda-?\\s?feira|terça-?\\s?feira|quarta-?\\s?feira|quinta-?\\s?feira|sexta-?\\s?feira|s[áa]bado)/i\n};\nvar parseDayPatterns = {\n  narrow: [/^d/i, /^s/i, /^t/i, /^q/i, /^q/i, /^s/i, /^s/i],\n  any: [/^d/i, /^seg/i, /^t/i, /^qua/i, /^qui/i, /^sex/i, /^s[áa]/i]\n};\nvar matchDayPeriodPatterns = {\n  narrow: /^(a|p|meia-?\\s?noite|meio-?\\s?dia|(da) (manh[ãa]|tarde|noite|madrugada))/i,\n  any: /^([ap]\\.?\\s?m\\.?|meia-?\\s?noite|meio-?\\s?dia|(da) (manh[ãa]|tarde|noite|madrugada))/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^a/i,\n    pm: /^p/i,\n    midnight: /^meia/i,\n    noon: /^meio/i,\n    morning: /manh[ãa]/i,\n    afternoon: /tarde/i,\n    evening: /noite/i,\n    night: /madrugada/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Portuguese locale.\n * @language Portuguese\n * @iso-639-2 por\n * @author Dário Freire [@dfreire]{@link https://github.com/dfreire}\n * @author Adrián de la Rosa [@adrm]{@link https://github.com/adrm}\n */\nvar locale = {\n  code: 'pt',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4\n  }\n};\nexport default locale;","function declension(scheme, count) {\n  // scheme for count=1 exists\n  if (scheme.one !== undefined && count === 1) {\n    return scheme.one;\n  }\n  var rem10 = count % 10;\n  var rem100 = count % 100;\n\n  // 1, 21, 31, ...\n  if (rem10 === 1 && rem100 !== 11) {\n    return scheme.singularNominative.replace('{{count}}', String(count));\n\n    // 2, 3, 4, 22, 23, 24, 32 ...\n  } else if (rem10 >= 2 && rem10 <= 4 && (rem100 < 10 || rem100 > 20)) {\n    return scheme.singularGenitive.replace('{{count}}', String(count));\n\n    // 5, 6, 7, 8, 9, 10, 11, ...\n  } else {\n    return scheme.pluralGenitive.replace('{{count}}', String(count));\n  }\n}\nfunction buildLocalizeTokenFn(scheme) {\n  return function (count, options) {\n    if (options !== null && options !== void 0 && options.addSuffix) {\n      if (options.comparison && options.comparison > 0) {\n        if (scheme.future) {\n          return declension(scheme.future, count);\n        } else {\n          return 'через ' + declension(scheme.regular, count);\n        }\n      } else {\n        if (scheme.past) {\n          return declension(scheme.past, count);\n        } else {\n          return declension(scheme.regular, count) + ' назад';\n        }\n      }\n    } else {\n      return declension(scheme.regular, count);\n    }\n  };\n}\nvar formatDistanceLocale = {\n  lessThanXSeconds: buildLocalizeTokenFn({\n    regular: {\n      one: 'меньше секунды',\n      singularNominative: 'меньше {{count}} секунды',\n      singularGenitive: 'меньше {{count}} секунд',\n      pluralGenitive: 'меньше {{count}} секунд'\n    },\n    future: {\n      one: 'меньше, чем через секунду',\n      singularNominative: 'меньше, чем через {{count}} секунду',\n      singularGenitive: 'меньше, чем через {{count}} секунды',\n      pluralGenitive: 'меньше, чем через {{count}} секунд'\n    }\n  }),\n  xSeconds: buildLocalizeTokenFn({\n    regular: {\n      singularNominative: '{{count}} секунда',\n      singularGenitive: '{{count}} секунды',\n      pluralGenitive: '{{count}} секунд'\n    },\n    past: {\n      singularNominative: '{{count}} секунду назад',\n      singularGenitive: '{{count}} секунды назад',\n      pluralGenitive: '{{count}} секунд назад'\n    },\n    future: {\n      singularNominative: 'через {{count}} секунду',\n      singularGenitive: 'через {{count}} секунды',\n      pluralGenitive: 'через {{count}} секунд'\n    }\n  }),\n  halfAMinute: function halfAMinute(_count, options) {\n    if (options !== null && options !== void 0 && options.addSuffix) {\n      if (options.comparison && options.comparison > 0) {\n        return 'через полминуты';\n      } else {\n        return 'полминуты назад';\n      }\n    }\n    return 'полминуты';\n  },\n  lessThanXMinutes: buildLocalizeTokenFn({\n    regular: {\n      one: 'меньше минуты',\n      singularNominative: 'меньше {{count}} минуты',\n      singularGenitive: 'меньше {{count}} минут',\n      pluralGenitive: 'меньше {{count}} минут'\n    },\n    future: {\n      one: 'меньше, чем через минуту',\n      singularNominative: 'меньше, чем через {{count}} минуту',\n      singularGenitive: 'меньше, чем через {{count}} минуты',\n      pluralGenitive: 'меньше, чем через {{count}} минут'\n    }\n  }),\n  xMinutes: buildLocalizeTokenFn({\n    regular: {\n      singularNominative: '{{count}} минута',\n      singularGenitive: '{{count}} минуты',\n      pluralGenitive: '{{count}} минут'\n    },\n    past: {\n      singularNominative: '{{count}} минуту назад',\n      singularGenitive: '{{count}} минуты назад',\n      pluralGenitive: '{{count}} минут назад'\n    },\n    future: {\n      singularNominative: 'через {{count}} минуту',\n      singularGenitive: 'через {{count}} минуты',\n      pluralGenitive: 'через {{count}} минут'\n    }\n  }),\n  aboutXHours: buildLocalizeTokenFn({\n    regular: {\n      singularNominative: 'около {{count}} часа',\n      singularGenitive: 'около {{count}} часов',\n      pluralGenitive: 'около {{count}} часов'\n    },\n    future: {\n      singularNominative: 'приблизительно через {{count}} час',\n      singularGenitive: 'приблизительно через {{count}} часа',\n      pluralGenitive: 'приблизительно через {{count}} часов'\n    }\n  }),\n  xHours: buildLocalizeTokenFn({\n    regular: {\n      singularNominative: '{{count}} час',\n      singularGenitive: '{{count}} часа',\n      pluralGenitive: '{{count}} часов'\n    }\n  }),\n  xDays: buildLocalizeTokenFn({\n    regular: {\n      singularNominative: '{{count}} день',\n      singularGenitive: '{{count}} дня',\n      pluralGenitive: '{{count}} дней'\n    }\n  }),\n  aboutXWeeks: buildLocalizeTokenFn({\n    regular: {\n      singularNominative: 'около {{count}} недели',\n      singularGenitive: 'около {{count}} недель',\n      pluralGenitive: 'около {{count}} недель'\n    },\n    future: {\n      singularNominative: 'приблизительно через {{count}} неделю',\n      singularGenitive: 'приблизительно через {{count}} недели',\n      pluralGenitive: 'приблизительно через {{count}} недель'\n    }\n  }),\n  xWeeks: buildLocalizeTokenFn({\n    regular: {\n      singularNominative: '{{count}} неделя',\n      singularGenitive: '{{count}} недели',\n      pluralGenitive: '{{count}} недель'\n    }\n  }),\n  aboutXMonths: buildLocalizeTokenFn({\n    regular: {\n      singularNominative: 'около {{count}} месяца',\n      singularGenitive: 'около {{count}} месяцев',\n      pluralGenitive: 'около {{count}} месяцев'\n    },\n    future: {\n      singularNominative: 'приблизительно через {{count}} месяц',\n      singularGenitive: 'приблизительно через {{count}} месяца',\n      pluralGenitive: 'приблизительно через {{count}} месяцев'\n    }\n  }),\n  xMonths: buildLocalizeTokenFn({\n    regular: {\n      singularNominative: '{{count}} месяц',\n      singularGenitive: '{{count}} месяца',\n      pluralGenitive: '{{count}} месяцев'\n    }\n  }),\n  aboutXYears: buildLocalizeTokenFn({\n    regular: {\n      singularNominative: 'около {{count}} года',\n      singularGenitive: 'около {{count}} лет',\n      pluralGenitive: 'около {{count}} лет'\n    },\n    future: {\n      singularNominative: 'приблизительно через {{count}} год',\n      singularGenitive: 'приблизительно через {{count}} года',\n      pluralGenitive: 'приблизительно через {{count}} лет'\n    }\n  }),\n  xYears: buildLocalizeTokenFn({\n    regular: {\n      singularNominative: '{{count}} год',\n      singularGenitive: '{{count}} года',\n      pluralGenitive: '{{count}} лет'\n    }\n  }),\n  overXYears: buildLocalizeTokenFn({\n    regular: {\n      singularNominative: 'больше {{count}} года',\n      singularGenitive: 'больше {{count}} лет',\n      pluralGenitive: 'больше {{count}} лет'\n    },\n    future: {\n      singularNominative: 'больше, чем через {{count}} год',\n      singularGenitive: 'больше, чем через {{count}} года',\n      pluralGenitive: 'больше, чем через {{count}} лет'\n    }\n  }),\n  almostXYears: buildLocalizeTokenFn({\n    regular: {\n      singularNominative: 'почти {{count}} год',\n      singularGenitive: 'почти {{count}} года',\n      pluralGenitive: 'почти {{count}} лет'\n    },\n    future: {\n      singularNominative: 'почти через {{count}} год',\n      singularGenitive: 'почти через {{count}} года',\n      pluralGenitive: 'почти через {{count}} лет'\n    }\n  })\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  return formatDistanceLocale[token](count, options);\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: \"EEEE, d MMMM y 'г.'\",\n  long: \"d MMMM y 'г.'\",\n  medium: \"d MMM y 'г.'\",\n  short: 'dd.MM.y'\n};\nvar timeFormats = {\n  full: 'H:mm:ss zzzz',\n  long: 'H:mm:ss z',\n  medium: 'H:mm:ss',\n  short: 'H:mm'\n};\nvar dateTimeFormats = {\n  any: '{{date}}, {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'any'\n  })\n};\nexport default formatLong;","import isSameUTCWeek from \"../../../../_lib/isSameUTCWeek/index.js\";\nvar accusativeWeekdays = ['воскресенье', 'понедельник', 'вторник', 'среду', 'четверг', 'пятницу', 'субботу'];\nfunction _lastWeek(day) {\n  var weekday = accusativeWeekdays[day];\n  switch (day) {\n    case 0:\n      return \"'в прошлое \" + weekday + \" в' p\";\n    case 1:\n    case 2:\n    case 4:\n      return \"'в прошлый \" + weekday + \" в' p\";\n    case 3:\n    case 5:\n    case 6:\n      return \"'в прошлую \" + weekday + \" в' p\";\n  }\n}\nfunction thisWeek(day) {\n  var weekday = accusativeWeekdays[day];\n  if (day === 2 /* Tue */) {\n    return \"'во \" + weekday + \" в' p\";\n  } else {\n    return \"'в \" + weekday + \" в' p\";\n  }\n}\nfunction _nextWeek(day) {\n  var weekday = accusativeWeekdays[day];\n  switch (day) {\n    case 0:\n      return \"'в следующее \" + weekday + \" в' p\";\n    case 1:\n    case 2:\n    case 4:\n      return \"'в следующий \" + weekday + \" в' p\";\n    case 3:\n    case 5:\n    case 6:\n      return \"'в следующую \" + weekday + \" в' p\";\n  }\n}\nvar formatRelativeLocale = {\n  lastWeek: function lastWeek(date, baseDate, options) {\n    var day = date.getUTCDay();\n    if (isSameUTCWeek(date, baseDate, options)) {\n      return thisWeek(day);\n    } else {\n      return _lastWeek(day);\n    }\n  },\n  yesterday: \"'вчера в' p\",\n  today: \"'сегодня в' p\",\n  tomorrow: \"'завтра в' p\",\n  nextWeek: function nextWeek(date, baseDate, options) {\n    var day = date.getUTCDay();\n    if (isSameUTCWeek(date, baseDate, options)) {\n      return thisWeek(day);\n    } else {\n      return _nextWeek(day);\n    }\n  },\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, date, baseDate, options) {\n  var format = formatRelativeLocale[token];\n  if (typeof format === 'function') {\n    return format(date, baseDate, options);\n  }\n  return format;\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['до н.э.', 'н.э.'],\n  abbreviated: ['до н. э.', 'н. э.'],\n  wide: ['до нашей эры', 'нашей эры']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['1-й кв.', '2-й кв.', '3-й кв.', '4-й кв.'],\n  wide: ['1-й квартал', '2-й квартал', '3-й квартал', '4-й квартал']\n};\nvar monthValues = {\n  narrow: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', 'О', 'Н', 'Д'],\n  abbreviated: ['янв.', 'фев.', 'март', 'апр.', 'май', 'июнь', 'июль', 'авг.', 'сент.', 'окт.', 'нояб.', 'дек.'],\n  wide: ['январь', 'февраль', 'март', 'апрель', 'май', 'июнь', 'июль', 'август', 'сентябрь', 'октябрь', 'ноябрь', 'декабрь']\n};\nvar formattingMonthValues = {\n  narrow: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', 'О', 'Н', 'Д'],\n  abbreviated: ['янв.', 'фев.', 'мар.', 'апр.', 'мая', 'июн.', 'июл.', 'авг.', 'сент.', 'окт.', 'нояб.', 'дек.'],\n  wide: ['января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря']\n};\nvar dayValues = {\n  narrow: ['В', 'П', 'В', 'С', 'Ч', 'П', 'С'],\n  short: ['вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'],\n  abbreviated: ['вск', 'пнд', 'втр', 'срд', 'чтв', 'птн', 'суб'],\n  wide: ['воскресенье', 'понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'ДП',\n    pm: 'ПП',\n    midnight: 'полн.',\n    noon: 'полд.',\n    morning: 'утро',\n    afternoon: 'день',\n    evening: 'веч.',\n    night: 'ночь'\n  },\n  abbreviated: {\n    am: 'ДП',\n    pm: 'ПП',\n    midnight: 'полн.',\n    noon: 'полд.',\n    morning: 'утро',\n    afternoon: 'день',\n    evening: 'веч.',\n    night: 'ночь'\n  },\n  wide: {\n    am: 'ДП',\n    pm: 'ПП',\n    midnight: 'полночь',\n    noon: 'полдень',\n    morning: 'утро',\n    afternoon: 'день',\n    evening: 'вечер',\n    night: 'ночь'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: 'ДП',\n    pm: 'ПП',\n    midnight: 'полн.',\n    noon: 'полд.',\n    morning: 'утра',\n    afternoon: 'дня',\n    evening: 'веч.',\n    night: 'ночи'\n  },\n  abbreviated: {\n    am: 'ДП',\n    pm: 'ПП',\n    midnight: 'полн.',\n    noon: 'полд.',\n    morning: 'утра',\n    afternoon: 'дня',\n    evening: 'веч.',\n    night: 'ночи'\n  },\n  wide: {\n    am: 'ДП',\n    pm: 'ПП',\n    midnight: 'полночь',\n    noon: 'полдень',\n    morning: 'утра',\n    afternoon: 'дня',\n    evening: 'вечера',\n    night: 'ночи'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n  var number = Number(dirtyNumber);\n  var unit = options === null || options === void 0 ? void 0 : options.unit;\n  var suffix;\n  if (unit === 'date') {\n    suffix = '-е';\n  } else if (unit === 'week' || unit === 'minute' || unit === 'second') {\n    suffix = '-я';\n  } else {\n    suffix = '-й';\n  }\n  return number + suffix;\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingMonthValues,\n    defaultFormattingWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'any',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(-?(е|я|й|ое|ье|ая|ья|ый|ой|ий|ый))?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^((до )?н\\.?\\s?э\\.?)/i,\n  abbreviated: /^((до )?н\\.?\\s?э\\.?)/i,\n  wide: /^(до нашей эры|нашей эры|наша эра)/i\n};\nvar parseEraPatterns = {\n  any: [/^д/i, /^н/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^[1234](-?[ыои]?й?)? кв.?/i,\n  wide: /^[1234](-?[ыои]?й?)? квартал/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[яфмаисонд]/i,\n  abbreviated: /^(янв|фев|март?|апр|ма[йя]|июн[ья]?|июл[ья]?|авг|сент?|окт|нояб?|дек)\\.?/i,\n  wide: /^(январ[ья]|феврал[ья]|марта?|апрел[ья]|ма[йя]|июн[ья]|июл[ья]|августа?|сентябр[ья]|октябр[ья]|октябр[ья]|ноябр[ья]|декабр[ья])/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^я/i, /^ф/i, /^м/i, /^а/i, /^м/i, /^и/i, /^и/i, /^а/i, /^с/i, /^о/i, /^н/i, /^я/i],\n  any: [/^я/i, /^ф/i, /^мар/i, /^ап/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^ав/i, /^с/i, /^о/i, /^н/i, /^д/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[впсч]/i,\n  short: /^(вс|во|пн|по|вт|ср|чт|че|пт|пя|сб|су)\\.?/i,\n  abbreviated: /^(вск|вос|пнд|пон|втр|вто|срд|сре|чтв|чет|птн|пят|суб).?/i,\n  wide: /^(воскресень[ея]|понедельника?|вторника?|сред[аы]|четверга?|пятниц[аы]|суббот[аы])/i\n};\nvar parseDayPatterns = {\n  narrow: [/^в/i, /^п/i, /^в/i, /^с/i, /^ч/i, /^п/i, /^с/i],\n  any: [/^в[ос]/i, /^п[он]/i, /^в/i, /^ср/i, /^ч/i, /^п[ят]/i, /^с[уб]/i]\n};\nvar matchDayPeriodPatterns = {\n  narrow: /^([дп]п|полн\\.?|полд\\.?|утр[оа]|день|дня|веч\\.?|ноч[ьи])/i,\n  abbreviated: /^([дп]п|полн\\.?|полд\\.?|утр[оа]|день|дня|веч\\.?|ноч[ьи])/i,\n  wide: /^([дп]п|полночь|полдень|утр[оа]|день|дня|вечера?|ноч[ьи])/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^дп/i,\n    pm: /^пп/i,\n    midnight: /^полн/i,\n    noon: /^полд/i,\n    morning: /^у/i,\n    afternoon: /^д[ен]/i,\n    evening: /^в/i,\n    night: /^н/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Russian locale.\n * @language Russian\n * @iso-639-2 rus\n * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}\n * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}\n */\nvar locale = {\n  code: 'ru',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 1\n  }\n};\nexport default locale;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: 'mindre än en sekund',\n    other: 'mindre än {{count}} sekunder'\n  },\n  xSeconds: {\n    one: 'en sekund',\n    other: '{{count}} sekunder'\n  },\n  halfAMinute: 'en halv minut',\n  lessThanXMinutes: {\n    one: 'mindre än en minut',\n    other: 'mindre än {{count}} minuter'\n  },\n  xMinutes: {\n    one: 'en minut',\n    other: '{{count}} minuter'\n  },\n  aboutXHours: {\n    one: 'ungefär en timme',\n    other: 'ungefär {{count}} timmar'\n  },\n  xHours: {\n    one: 'en timme',\n    other: '{{count}} timmar'\n  },\n  xDays: {\n    one: 'en dag',\n    other: '{{count}} dagar'\n  },\n  aboutXWeeks: {\n    one: 'ungefär en vecka',\n    other: 'ungefär {{count}} vecka'\n  },\n  xWeeks: {\n    one: 'en vecka',\n    other: '{{count}} vecka'\n  },\n  aboutXMonths: {\n    one: 'ungefär en månad',\n    other: 'ungefär {{count}} månader'\n  },\n  xMonths: {\n    one: 'en månad',\n    other: '{{count}} månader'\n  },\n  aboutXYears: {\n    one: 'ungefär ett år',\n    other: 'ungefär {{count}} år'\n  },\n  xYears: {\n    one: 'ett år',\n    other: '{{count}} år'\n  },\n  overXYears: {\n    one: 'över ett år',\n    other: 'över {{count}} år'\n  },\n  almostXYears: {\n    one: 'nästan ett år',\n    other: 'nästan {{count}} år'\n  }\n};\nvar wordMapping = ['noll', 'en', 'två', 'tre', 'fyra', 'fem', 'sex', 'sju', 'åtta', 'nio', 'tio', 'elva', 'tolv'];\nvar formatDistance = function formatDistance(token, count, options) {\n  var result;\n  var tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    if (options && options.onlyNumeric) {\n      result = tokenValue.other.replace('{{count}}', String(count));\n    } else {\n      result = tokenValue.other.replace('{{count}}', count < 13 ? wordMapping[count] : String(count));\n    }\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return 'om ' + result;\n    } else {\n      return result + ' sedan';\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'EEEE d MMMM y',\n  long: 'd MMMM y',\n  medium: 'd MMM y',\n  short: 'y-MM-dd'\n};\nvar timeFormats = {\n  full: \"'kl'. HH:mm:ss zzzz\",\n  long: 'HH:mm:ss z',\n  medium: 'HH:mm:ss',\n  short: 'HH:mm'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'kl.' {{time}}\",\n  long: \"{{date}} 'kl.' {{time}}\",\n  medium: '{{date}} {{time}}',\n  short: '{{date}} {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatRelativeLocale = {\n  lastWeek: \"'i' EEEE's kl.' p\",\n  yesterday: \"'igår kl.' p\",\n  today: \"'idag kl.' p\",\n  tomorrow: \"'imorgon kl.' p\",\n  nextWeek: \"EEEE 'kl.' p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n  return formatRelativeLocale[token];\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['f.Kr.', 'e.Kr.'],\n  abbreviated: ['f.Kr.', 'e.Kr.'],\n  wide: ['före Kristus', 'efter Kristus']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n  wide: ['1:a kvartalet', '2:a kvartalet', '3:e kvartalet', '4:e kvartalet']\n};\nvar monthValues = {\n  narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n  abbreviated: ['jan.', 'feb.', 'mars', 'apr.', 'maj', 'juni', 'juli', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'],\n  wide: ['januari', 'februari', 'mars', 'april', 'maj', 'juni', 'juli', 'augusti', 'september', 'oktober', 'november', 'december']\n};\nvar dayValues = {\n  narrow: ['S', 'M', 'T', 'O', 'T', 'F', 'L'],\n  short: ['sö', 'må', 'ti', 'on', 'to', 'fr', 'lö'],\n  abbreviated: ['sön', 'mån', 'tis', 'ons', 'tors', 'fre', 'lör'],\n  wide: ['söndag', 'måndag', 'tisdag', 'onsdag', 'torsdag', 'fredag', 'lördag']\n};\n\n// https://www.unicode.org/cldr/charts/32/summary/sv.html#1888\nvar dayPeriodValues = {\n  narrow: {\n    am: 'fm',\n    pm: 'em',\n    midnight: 'midnatt',\n    noon: 'middag',\n    morning: 'morg.',\n    afternoon: 'efterm.',\n    evening: 'kväll',\n    night: 'natt'\n  },\n  abbreviated: {\n    am: 'f.m.',\n    pm: 'e.m.',\n    midnight: 'midnatt',\n    noon: 'middag',\n    morning: 'morgon',\n    afternoon: 'efterm.',\n    evening: 'kväll',\n    night: 'natt'\n  },\n  wide: {\n    am: 'förmiddag',\n    pm: 'eftermiddag',\n    midnight: 'midnatt',\n    noon: 'middag',\n    morning: 'morgon',\n    afternoon: 'eftermiddag',\n    evening: 'kväll',\n    night: 'natt'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: 'fm',\n    pm: 'em',\n    midnight: 'midnatt',\n    noon: 'middag',\n    morning: 'på morg.',\n    afternoon: 'på efterm.',\n    evening: 'på kvällen',\n    night: 'på natten'\n  },\n  abbreviated: {\n    am: 'fm',\n    pm: 'em',\n    midnight: 'midnatt',\n    noon: 'middag',\n    morning: 'på morg.',\n    afternoon: 'på efterm.',\n    evening: 'på kvällen',\n    night: 'på natten'\n  },\n  wide: {\n    am: 'fm',\n    pm: 'em',\n    midnight: 'midnatt',\n    noon: 'middag',\n    morning: 'på morgonen',\n    afternoon: 'på eftermiddagen',\n    evening: 'på kvällen',\n    night: 'på natten'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n  var number = Number(dirtyNumber);\n  var rem100 = number % 100;\n  if (rem100 > 20 || rem100 < 10) {\n    switch (rem100 % 10) {\n      case 1:\n      case 2:\n        return number + ':a';\n    }\n  }\n  return number + ':e';\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(:a|:e)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(f\\.? ?Kr\\.?|f\\.? ?v\\.? ?t\\.?|e\\.? ?Kr\\.?|v\\.? ?t\\.?)/i,\n  abbreviated: /^(f\\.? ?Kr\\.?|f\\.? ?v\\.? ?t\\.?|e\\.? ?Kr\\.?|v\\.? ?t\\.?)/i,\n  wide: /^(före Kristus|före vår tid|efter Kristus|vår tid)/i\n};\nvar parseEraPatterns = {\n  any: [/^f/i, /^[ev]/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^[1234](:a|:e)? kvartalet/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated: /^(jan|feb|mar[s]?|apr|maj|jun[i]?|jul[i]?|aug|sep|okt|nov|dec)\\.?/i,\n  wide: /^(januari|februari|mars|april|maj|juni|juli|augusti|september|oktober|november|december)/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n  any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^maj/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[smtofl]/i,\n  short: /^(sö|må|ti|on|to|fr|lö)/i,\n  abbreviated: /^(sön|mån|tis|ons|tors|fre|lör)/i,\n  wide: /^(söndag|måndag|tisdag|onsdag|torsdag|fredag|lördag)/i\n};\nvar parseDayPatterns = {\n  any: [/^s/i, /^m/i, /^ti/i, /^o/i, /^to/i, /^f/i, /^l/i]\n};\nvar matchDayPeriodPatterns = {\n  any: /^([fe]\\.?\\s?m\\.?|midn(att)?|midd(ag)?|(på) (morgonen|eftermiddagen|kvällen|natten))/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^f/i,\n    pm: /^e/i,\n    midnight: /^midn/i,\n    noon: /^midd/i,\n    morning: /morgon/i,\n    afternoon: /eftermiddag/i,\n    evening: /kväll/i,\n    night: /natt/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Swedish locale.\n * @language Swedish\n * @iso-639-2 swe\n * @author Johannes Ulén [@ejulen]{@link https://github.com/ejulen}\n * @author Alexander Nanberg [@alexandernanberg]{@link https://github.com/alexandernanberg}\n * @author Henrik Andersson [@limelights]{@link https://github.com/limelights}\n */\nvar locale = {\n  code: 'sv',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4\n  }\n};\nexport default locale;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: 'น้อยกว่า 1 วินาที',\n    other: 'น้อยกว่า {{count}} วินาที'\n  },\n  xSeconds: {\n    one: '1 วินาที',\n    other: '{{count}} วินาที'\n  },\n  halfAMinute: 'ครึ่งนาที',\n  lessThanXMinutes: {\n    one: 'น้อยกว่า 1 นาที',\n    other: 'น้อยกว่า {{count}} นาที'\n  },\n  xMinutes: {\n    one: '1 นาที',\n    other: '{{count}} นาที'\n  },\n  aboutXHours: {\n    one: 'ประมาณ 1 ชั่วโมง',\n    other: 'ประมาณ {{count}} ชั่วโมง'\n  },\n  xHours: {\n    one: '1 ชั่วโมง',\n    other: '{{count}} ชั่วโมง'\n  },\n  xDays: {\n    one: '1 วัน',\n    other: '{{count}} วัน'\n  },\n  aboutXWeeks: {\n    one: 'ประมาณ 1 สัปดาห์',\n    other: 'ประมาณ {{count}} สัปดาห์'\n  },\n  xWeeks: {\n    one: '1 สัปดาห์',\n    other: '{{count}} สัปดาห์'\n  },\n  aboutXMonths: {\n    one: 'ประมาณ 1 เดือน',\n    other: 'ประมาณ {{count}} เดือน'\n  },\n  xMonths: {\n    one: '1 เดือน',\n    other: '{{count}} เดือน'\n  },\n  aboutXYears: {\n    one: 'ประมาณ 1 ปี',\n    other: 'ประมาณ {{count}} ปี'\n  },\n  xYears: {\n    one: '1 ปี',\n    other: '{{count}} ปี'\n  },\n  overXYears: {\n    one: 'มากกว่า 1 ปี',\n    other: 'มากกว่า {{count}} ปี'\n  },\n  almostXYears: {\n    one: 'เกือบ 1 ปี',\n    other: 'เกือบ {{count}} ปี'\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var result;\n  var tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace('{{count}}', String(count));\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      if (token === 'halfAMinute') {\n        return 'ใน' + result;\n      } else {\n        return 'ใน ' + result;\n      }\n    } else {\n      return result + 'ที่ผ่านมา';\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'วันEEEEที่ do MMMM y',\n  long: 'do MMMM y',\n  medium: 'd MMM y',\n  short: 'dd/MM/yyyy'\n};\nvar timeFormats = {\n  full: 'H:mm:ss น. zzzz',\n  long: 'H:mm:ss น. z',\n  medium: 'H:mm:ss น.',\n  short: 'H:mm น.'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'เวลา' {{time}}\",\n  long: \"{{date}} 'เวลา' {{time}}\",\n  medium: '{{date}}, {{time}}',\n  short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'medium'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatRelativeLocale = {\n  lastWeek: \"eeee'ที่แล้วเวลา' p\",\n  yesterday: \"'เมื่อวานนี้เวลา' p\",\n  today: \"'วันนี้เวลา' p\",\n  tomorrow: \"'พรุ่งนี้เวลา' p\",\n  nextWeek: \"eeee 'เวลา' p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n  return formatRelativeLocale[token];\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['B', 'คศ'],\n  abbreviated: ['BC', 'ค.ศ.'],\n  wide: ['ปีก่อนคริสตกาล', 'คริสต์ศักราช']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n  wide: ['ไตรมาสแรก', 'ไตรมาสที่สอง', 'ไตรมาสที่สาม', 'ไตรมาสที่สี่']\n};\nvar dayValues = {\n  narrow: ['อา.', 'จ.', 'อ.', 'พ.', 'พฤ.', 'ศ.', 'ส.'],\n  short: ['อา.', 'จ.', 'อ.', 'พ.', 'พฤ.', 'ศ.', 'ส.'],\n  abbreviated: ['อา.', 'จ.', 'อ.', 'พ.', 'พฤ.', 'ศ.', 'ส.'],\n  wide: ['อาทิตย์', 'จันทร์', 'อังคาร', 'พุธ', 'พฤหัสบดี', 'ศุกร์', 'เสาร์']\n};\nvar monthValues = {\n  narrow: ['ม.ค.', 'ก.พ.', 'มี.ค.', 'เม.ย.', 'พ.ค.', 'มิ.ย.', 'ก.ค.', 'ส.ค.', 'ก.ย.', 'ต.ค.', 'พ.ย.', 'ธ.ค.'],\n  abbreviated: ['ม.ค.', 'ก.พ.', 'มี.ค.', 'เม.ย.', 'พ.ค.', 'มิ.ย.', 'ก.ค.', 'ส.ค.', 'ก.ย.', 'ต.ค.', 'พ.ย.', 'ธ.ค.'],\n  wide: ['มกราคม', 'กุมภาพันธ์', 'มีนาคม', 'เมษายน', 'พฤษภาคม', 'มิถุนายน', 'กรกฎาคม', 'สิงหาคม', 'กันยายน', 'ตุลาคม', 'พฤศจิกายน', 'ธันวาคม']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'ก่อนเที่ยง',\n    pm: 'หลังเที่ยง',\n    midnight: 'เที่ยงคืน',\n    noon: 'เที่ยง',\n    morning: 'เช้า',\n    afternoon: 'บ่าย',\n    evening: 'เย็น',\n    night: 'กลางคืน'\n  },\n  abbreviated: {\n    am: 'ก่อนเที่ยง',\n    pm: 'หลังเที่ยง',\n    midnight: 'เที่ยงคืน',\n    noon: 'เที่ยง',\n    morning: 'เช้า',\n    afternoon: 'บ่าย',\n    evening: 'เย็น',\n    night: 'กลางคืน'\n  },\n  wide: {\n    am: 'ก่อนเที่ยง',\n    pm: 'หลังเที่ยง',\n    midnight: 'เที่ยงคืน',\n    noon: 'เที่ยง',\n    morning: 'เช้า',\n    afternoon: 'บ่าย',\n    evening: 'เย็น',\n    night: 'กลางคืน'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: 'ก่อนเที่ยง',\n    pm: 'หลังเที่ยง',\n    midnight: 'เที่ยงคืน',\n    noon: 'เที่ยง',\n    morning: 'ตอนเช้า',\n    afternoon: 'ตอนกลางวัน',\n    evening: 'ตอนเย็น',\n    night: 'ตอนกลางคืน'\n  },\n  abbreviated: {\n    am: 'ก่อนเที่ยง',\n    pm: 'หลังเที่ยง',\n    midnight: 'เที่ยงคืน',\n    noon: 'เที่ยง',\n    morning: 'ตอนเช้า',\n    afternoon: 'ตอนกลางวัน',\n    evening: 'ตอนเย็น',\n    night: 'ตอนกลางคืน'\n  },\n  wide: {\n    am: 'ก่อนเที่ยง',\n    pm: 'หลังเที่ยง',\n    midnight: 'เที่ยงคืน',\n    noon: 'เที่ยง',\n    morning: 'ตอนเช้า',\n    afternoon: 'ตอนกลางวัน',\n    evening: 'ตอนเย็น',\n    night: 'ตอนกลางคืน'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n  return String(dirtyNumber);\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^\\d+/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^([bB]|[aA]|คศ)/i,\n  abbreviated: /^([bB]\\.?\\s?[cC]\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?|ค\\.?ศ\\.?)/i,\n  wide: /^(ก่อนคริสตกาล|คริสต์ศักราช|คริสตกาล)/i\n};\nvar parseEraPatterns = {\n  any: [/^[bB]/i, /^(^[aA]|ค\\.?ศ\\.?|คริสตกาล|คริสต์ศักราช|)/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^ไตรมาส(ที่)? ?[1234]/i\n};\nvar parseQuarterPatterns = {\n  any: [/(1|แรก|หนึ่ง)/i, /(2|สอง)/i, /(3|สาม)/i, /(4|สี่)/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^(ม\\.?ค\\.?|ก\\.?พ\\.?|มี\\.?ค\\.?|เม\\.?ย\\.?|พ\\.?ค\\.?|มิ\\.?ย\\.?|ก\\.?ค\\.?|ส\\.?ค\\.?|ก\\.?ย\\.?|ต\\.?ค\\.?|พ\\.?ย\\.?|ธ\\.?ค\\.?)/i,\n  abbreviated: /^(ม\\.?ค\\.?|ก\\.?พ\\.?|มี\\.?ค\\.?|เม\\.?ย\\.?|พ\\.?ค\\.?|มิ\\.?ย\\.?|ก\\.?ค\\.?|ส\\.?ค\\.?|ก\\.?ย\\.?|ต\\.?ค\\.?|พ\\.?ย\\.?|ธ\\.?ค\\.?')/i,\n  wide: /^(มกราคม|กุมภาพันธ์|มีนาคม|เมษายน|พฤษภาคม|มิถุนายน|กรกฎาคม|สิงหาคม|กันยายน|ตุลาคม|พฤศจิกายน|ธันวาคม)/i\n};\nvar parseMonthPatterns = {\n  wide: [/^มก/i, /^กุม/i, /^มี/i, /^เม/i, /^พฤษ/i, /^มิ/i, /^กรก/i, /^ส/i, /^กัน/i, /^ต/i, /^พฤศ/i, /^ธ/i],\n  any: [/^ม\\.?ค\\.?/i, /^ก\\.?พ\\.?/i, /^มี\\.?ค\\.?/i, /^เม\\.?ย\\.?/i, /^พ\\.?ค\\.?/i, /^มิ\\.?ย\\.?/i, /^ก\\.?ค\\.?/i, /^ส\\.?ค\\.?/i, /^ก\\.?ย\\.?/i, /^ต\\.?ค\\.?/i, /^พ\\.?ย\\.?/i, /^ธ\\.?ค\\.?/i]\n};\nvar matchDayPatterns = {\n  narrow: /^(อา\\.?|จ\\.?|อ\\.?|พฤ\\.?|พ\\.?|ศ\\.?|ส\\.?)/i,\n  short: /^(อา\\.?|จ\\.?|อ\\.?|พฤ\\.?|พ\\.?|ศ\\.?|ส\\.?)/i,\n  abbreviated: /^(อา\\.?|จ\\.?|อ\\.?|พฤ\\.?|พ\\.?|ศ\\.?|ส\\.?)/i,\n  wide: /^(อาทิตย์|จันทร์|อังคาร|พุธ|พฤหัสบดี|ศุกร์|เสาร์)/i\n};\nvar parseDayPatterns = {\n  wide: [/^อา/i, /^จั/i, /^อั/i, /^พุธ/i, /^พฤ/i, /^ศ/i, /^เส/i],\n  any: [/^อา/i, /^จ/i, /^อ/i, /^พ(?!ฤ)/i, /^พฤ/i, /^ศ/i, /^ส/i]\n};\nvar matchDayPeriodPatterns = {\n  any: /^(ก่อนเที่ยง|หลังเที่ยง|เที่ยงคืน|เที่ยง|(ตอน.*?)?.*(เที่ยง|เช้า|บ่าย|เย็น|กลางคืน))/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^ก่อนเที่ยง/i,\n    pm: /^หลังเที่ยง/i,\n    midnight: /^เที่ยงคืน/i,\n    noon: /^เที่ยง/i,\n    morning: /เช้า/i,\n    afternoon: /บ่าย/i,\n    evening: /เย็น/i,\n    night: /กลางคืน/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Thai locale.\n * @language Thai\n * @iso-639-2 tha\n * @author Athiwat Hirunworawongkun [@athivvat]{@link https://github.com/athivvat}\n * @author [@hawkup]{@link https://github.com/hawkup}\n * @author  Jirawat I. [@nodtem66]{@link https://github.com/nodtem66}\n */\nvar locale = {\n  code: 'th',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 0 /* Sunday */,\n    firstWeekContainsDate: 1\n  }\n};\nexport default locale;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: 'bir saniyeden az',\n    other: '{{count}} saniyeden az'\n  },\n  xSeconds: {\n    one: '1 saniye',\n    other: '{{count}} saniye'\n  },\n  halfAMinute: 'yarım dakika',\n  lessThanXMinutes: {\n    one: 'bir dakikadan az',\n    other: '{{count}} dakikadan az'\n  },\n  xMinutes: {\n    one: '1 dakika',\n    other: '{{count}} dakika'\n  },\n  aboutXHours: {\n    one: 'yaklaşık 1 saat',\n    other: 'yaklaşık {{count}} saat'\n  },\n  xHours: {\n    one: '1 saat',\n    other: '{{count}} saat'\n  },\n  xDays: {\n    one: '1 gün',\n    other: '{{count}} gün'\n  },\n  aboutXWeeks: {\n    one: 'yaklaşık 1 hafta',\n    other: 'yaklaşık {{count}} hafta'\n  },\n  xWeeks: {\n    one: '1 hafta',\n    other: '{{count}} hafta'\n  },\n  aboutXMonths: {\n    one: 'yaklaşık 1 ay',\n    other: 'yaklaşık {{count}} ay'\n  },\n  xMonths: {\n    one: '1 ay',\n    other: '{{count}} ay'\n  },\n  aboutXYears: {\n    one: 'yaklaşık 1 yıl',\n    other: 'yaklaşık {{count}} yıl'\n  },\n  xYears: {\n    one: '1 yıl',\n    other: '{{count}} yıl'\n  },\n  overXYears: {\n    one: '1 yıldan fazla',\n    other: '{{count}} yıldan fazla'\n  },\n  almostXYears: {\n    one: 'neredeyse 1 yıl',\n    other: 'neredeyse {{count}} yıl'\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var result;\n  var tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace('{{count}}', count.toString());\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return result + ' sonra';\n    } else {\n      return result + ' önce';\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: 'd MMMM y EEEE',\n  long: 'd MMMM y',\n  medium: 'd MMM y',\n  short: 'dd.MM.yyyy'\n};\nvar timeFormats = {\n  full: 'HH:mm:ss zzzz',\n  long: 'HH:mm:ss z',\n  medium: 'HH:mm:ss',\n  short: 'HH:mm'\n};\nvar dateTimeFormats = {\n  full: \"{{date}} 'saat' {{time}}\",\n  long: \"{{date}} 'saat' {{time}}\",\n  medium: '{{date}}, {{time}}',\n  short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatRelativeLocale = {\n  lastWeek: \"'geçen hafta' eeee 'saat' p\",\n  yesterday: \"'dün saat' p\",\n  today: \"'bugün saat' p\",\n  tomorrow: \"'yarın saat' p\",\n  nextWeek: \"eeee 'saat' p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n  return formatRelativeLocale[token];\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['MÖ', 'MS'],\n  abbreviated: ['MÖ', 'MS'],\n  wide: ['Milattan Önce', 'Milattan Sonra']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['1Ç', '2Ç', '3Ç', '4Ç'],\n  wide: ['İlk çeyrek', 'İkinci Çeyrek', 'Üçüncü çeyrek', 'Son çeyrek']\n};\nvar monthValues = {\n  narrow: ['O', 'Ş', 'M', 'N', 'M', 'H', 'T', 'A', 'E', 'E', 'K', 'A'],\n  abbreviated: ['Oca', 'Şub', 'Mar', 'Nis', 'May', 'Haz', 'Tem', 'Ağu', 'Eyl', 'Eki', 'Kas', 'Ara'],\n  wide: ['Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', 'Temmuz', 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık']\n};\nvar dayValues = {\n  narrow: ['P', 'P', 'S', 'Ç', 'P', 'C', 'C'],\n  short: ['Pz', 'Pt', 'Sa', 'Ça', 'Pe', 'Cu', 'Ct'],\n  abbreviated: ['Paz', 'Pzt', 'Sal', 'Çar', 'Per', 'Cum', 'Cts'],\n  wide: ['Pazar', 'Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: 'öö',\n    pm: 'ös',\n    midnight: 'gy',\n    noon: 'ö',\n    morning: 'sa',\n    afternoon: 'ös',\n    evening: 'ak',\n    night: 'ge'\n  },\n  abbreviated: {\n    am: 'ÖÖ',\n    pm: 'ÖS',\n    midnight: 'gece yarısı',\n    noon: 'öğle',\n    morning: 'sabah',\n    afternoon: 'öğleden sonra',\n    evening: 'akşam',\n    night: 'gece'\n  },\n  wide: {\n    am: 'Ö.Ö.',\n    pm: 'Ö.S.',\n    midnight: 'gece yarısı',\n    noon: 'öğle',\n    morning: 'sabah',\n    afternoon: 'öğleden sonra',\n    evening: 'akşam',\n    night: 'gece'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: 'öö',\n    pm: 'ös',\n    midnight: 'gy',\n    noon: 'ö',\n    morning: 'sa',\n    afternoon: 'ös',\n    evening: 'ak',\n    night: 'ge'\n  },\n  abbreviated: {\n    am: 'ÖÖ',\n    pm: 'ÖS',\n    midnight: 'gece yarısı',\n    noon: 'öğlen',\n    morning: 'sabahleyin',\n    afternoon: 'öğleden sonra',\n    evening: 'akşamleyin',\n    night: 'geceleyin'\n  },\n  wide: {\n    am: 'ö.ö.',\n    pm: 'ö.s.',\n    midnight: 'gece yarısı',\n    noon: 'öğlen',\n    morning: 'sabahleyin',\n    afternoon: 'öğleden sonra',\n    evening: 'akşamleyin',\n    night: 'geceleyin'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n  var number = Number(dirtyNumber);\n  return number + '.';\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return Number(quarter) - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(\\.)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(mö|ms)/i,\n  abbreviated: /^(mö|ms)/i,\n  wide: /^(milattan önce|milattan sonra)/i\n};\nvar parseEraPatterns = {\n  any: [/(^mö|^milattan önce)/i, /(^ms|^milattan sonra)/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^[1234]ç/i,\n  wide: /^((i|İ)lk|(i|İ)kinci|üçüncü|son) çeyrek/i\n};\nvar parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i],\n  abbreviated: [/1ç/i, /2ç/i, /3ç/i, /4ç/i],\n  wide: [/^(i|İ)lk çeyrek/i, /(i|İ)kinci çeyrek/i, /üçüncü çeyrek/i, /son çeyrek/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^[oşmnhtaek]/i,\n  abbreviated: /^(oca|şub|mar|nis|may|haz|tem|ağu|eyl|eki|kas|ara)/i,\n  wide: /^(ocak|şubat|mart|nisan|mayıs|haziran|temmuz|ağustos|eylül|ekim|kasım|aralık)/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^o/i, /^ş/i, /^m/i, /^n/i, /^m/i, /^h/i, /^t/i, /^a/i, /^e/i, /^e/i, /^k/i, /^a/i],\n  any: [/^o/i, /^ş/i, /^mar/i, /^n/i, /^may/i, /^h/i, /^t/i, /^ağ/i, /^ey/i, /^ek/i, /^k/i, /^ar/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[psçc]/i,\n  short: /^(pz|pt|sa|ça|pe|cu|ct)/i,\n  abbreviated: /^(paz|pzt|sal|çar|per|cum|cts)/i,\n  wide: /^(pazar(?!tesi)|pazartesi|salı|çarşamba|perşembe|cuma(?!rtesi)|cumartesi)/i\n};\nvar parseDayPatterns = {\n  narrow: [/^p/i, /^p/i, /^s/i, /^ç/i, /^p/i, /^c/i, /^c/i],\n  any: [/^pz/i, /^pt/i, /^sa/i, /^ça/i, /^pe/i, /^cu/i, /^ct/i],\n  wide: [/^pazar(?!tesi)/i, /^pazartesi/i, /^salı/i, /^çarşamba/i, /^perşembe/i, /^cuma(?!rtesi)/i, /^cumartesi/i]\n};\nvar matchDayPeriodPatterns = {\n  narrow: /^(öö|ös|gy|ö|sa|ös|ak|ge)/i,\n  any: /^(ö\\.?\\s?[ös]\\.?|öğleden sonra|gece yarısı|öğle|(sabah|öğ|akşam|gece)(leyin))/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^ö\\.?ö\\.?/i,\n    pm: /^ö\\.?s\\.?/i,\n    midnight: /^(gy|gece yarısı)/i,\n    noon: /^öğ/i,\n    morning: /^sa/i,\n    afternoon: /^öğleden sonra/i,\n    evening: /^ak/i,\n    night: /^ge/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Turkish locale.\n * @language Turkish\n * @iso-639-2 tur\n * @author Alpcan Aydın [@alpcanaydin]{@link https://github.com/alpcanaydin}\n * @author Berkay Sargın [@berkaey]{@link https://github.com/berkaey}\n * @author Fatih Bulut [@bulutfatih]{@link https://github.com/bulutfatih}\n * @author Ismail Demirbilek [@dbtek]{@link https://github.com/dbtek}\n * @author İsmail Kayar [@ikayar]{@link https://github.com/ikayar}\n *\n *\n */\nvar locale = {\n  code: 'tr',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 1\n  }\n};\nexport default locale;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: '不到 1 秒',\n    other: '不到 {{count}} 秒'\n  },\n  xSeconds: {\n    one: '1 秒',\n    other: '{{count}} 秒'\n  },\n  halfAMinute: '半分钟',\n  lessThanXMinutes: {\n    one: '不到 1 分钟',\n    other: '不到 {{count}} 分钟'\n  },\n  xMinutes: {\n    one: '1 分钟',\n    other: '{{count}} 分钟'\n  },\n  xHours: {\n    one: '1 小时',\n    other: '{{count}} 小时'\n  },\n  aboutXHours: {\n    one: '大约 1 小时',\n    other: '大约 {{count}} 小时'\n  },\n  xDays: {\n    one: '1 天',\n    other: '{{count}} 天'\n  },\n  aboutXWeeks: {\n    one: '大约 1 个星期',\n    other: '大约 {{count}} 个星期'\n  },\n  xWeeks: {\n    one: '1 个星期',\n    other: '{{count}} 个星期'\n  },\n  aboutXMonths: {\n    one: '大约 1 个月',\n    other: '大约 {{count}} 个月'\n  },\n  xMonths: {\n    one: '1 个月',\n    other: '{{count}} 个月'\n  },\n  aboutXYears: {\n    one: '大约 1 年',\n    other: '大约 {{count}} 年'\n  },\n  xYears: {\n    one: '1 年',\n    other: '{{count}} 年'\n  },\n  overXYears: {\n    one: '超过 1 年',\n    other: '超过 {{count}} 年'\n  },\n  almostXYears: {\n    one: '将近 1 年',\n    other: '将近 {{count}} 年'\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var result;\n  var tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace('{{count}}', String(count));\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return result + '内';\n    } else {\n      return result + '前';\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: \"y'年'M'月'd'日' EEEE\",\n  long: \"y'年'M'月'd'日'\",\n  medium: 'yyyy-MM-dd',\n  short: 'yy-MM-dd'\n};\nvar timeFormats = {\n  full: 'zzzz a h:mm:ss',\n  long: 'z a h:mm:ss',\n  medium: 'a h:mm:ss',\n  short: 'a h:mm'\n};\nvar dateTimeFormats = {\n  full: '{{date}} {{time}}',\n  long: '{{date}} {{time}}',\n  medium: '{{date}} {{time}}',\n  short: '{{date}} {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","import isSameUTCWeek from \"../../../../_lib/isSameUTCWeek/index.js\";\nfunction checkWeek(date, baseDate, options) {\n  var baseFormat = 'eeee p';\n  if (isSameUTCWeek(date, baseDate, options)) {\n    return baseFormat; // in same week\n  } else if (date.getTime() > baseDate.getTime()) {\n    return \"'下个'\" + baseFormat; // in next week\n  }\n\n  return \"'上个'\" + baseFormat; // in last week\n}\n\nvar formatRelativeLocale = {\n  lastWeek: checkWeek,\n  // days before yesterday, maybe in this week or last week\n  yesterday: \"'昨天' p\",\n  today: \"'今天' p\",\n  tomorrow: \"'明天' p\",\n  nextWeek: checkWeek,\n  // days after tomorrow, maybe in this week or next week\n  other: 'PP p'\n};\nvar formatRelative = function formatRelative(token, date, baseDate, options) {\n  var format = formatRelativeLocale[token];\n  if (typeof format === 'function') {\n    return format(date, baseDate, options);\n  }\n  return format;\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['前', '公元'],\n  abbreviated: ['前', '公元'],\n  wide: ['公元前', '公元']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['第一季', '第二季', '第三季', '第四季'],\n  wide: ['第一季度', '第二季度', '第三季度', '第四季度']\n};\nvar monthValues = {\n  narrow: ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二'],\n  abbreviated: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],\n  wide: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']\n};\nvar dayValues = {\n  narrow: ['日', '一', '二', '三', '四', '五', '六'],\n  short: ['日', '一', '二', '三', '四', '五', '六'],\n  abbreviated: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],\n  wide: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: '上',\n    pm: '下',\n    midnight: '凌晨',\n    noon: '午',\n    morning: '早',\n    afternoon: '下午',\n    evening: '晚',\n    night: '夜'\n  },\n  abbreviated: {\n    am: '上午',\n    pm: '下午',\n    midnight: '凌晨',\n    noon: '中午',\n    morning: '早晨',\n    afternoon: '中午',\n    evening: '晚上',\n    night: '夜间'\n  },\n  wide: {\n    am: '上午',\n    pm: '下午',\n    midnight: '凌晨',\n    noon: '中午',\n    morning: '早晨',\n    afternoon: '中午',\n    evening: '晚上',\n    night: '夜间'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: '上',\n    pm: '下',\n    midnight: '凌晨',\n    noon: '午',\n    morning: '早',\n    afternoon: '下午',\n    evening: '晚',\n    night: '夜'\n  },\n  abbreviated: {\n    am: '上午',\n    pm: '下午',\n    midnight: '凌晨',\n    noon: '中午',\n    morning: '早晨',\n    afternoon: '中午',\n    evening: '晚上',\n    night: '夜间'\n  },\n  wide: {\n    am: '上午',\n    pm: '下午',\n    midnight: '凌晨',\n    noon: '中午',\n    morning: '早晨',\n    afternoon: '中午',\n    evening: '晚上',\n    night: '夜间'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n  var number = Number(dirtyNumber);\n  switch (options === null || options === void 0 ? void 0 : options.unit) {\n    case 'date':\n      return number.toString() + '日';\n    case 'hour':\n      return number.toString() + '时';\n    case 'minute':\n      return number.toString() + '分';\n    case 'second':\n      return number.toString() + '秒';\n    default:\n      return '第 ' + number.toString();\n  }\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(第\\s*)?\\d+(日|时|分|秒)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(前)/i,\n  abbreviated: /^(前)/i,\n  wide: /^(公元前|公元)/i\n};\nvar parseEraPatterns = {\n  any: [/^(前)/i, /^(公元)/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^第[一二三四]刻/i,\n  wide: /^第[一二三四]刻钟/i\n};\nvar parseQuarterPatterns = {\n  any: [/(1|一)/i, /(2|二)/i, /(3|三)/i, /(4|四)/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^(一|二|三|四|五|六|七|八|九|十[二一])/i,\n  abbreviated: /^(一|二|三|四|五|六|七|八|九|十[二一]|\\d|1[12])月/i,\n  wide: /^(一|二|三|四|五|六|七|八|九|十[二一])月/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^一/i, /^二/i, /^三/i, /^四/i, /^五/i, /^六/i, /^七/i, /^八/i, /^九/i, /^十(?!(一|二))/i, /^十一/i, /^十二/i],\n  any: [/^一|1/i, /^二|2/i, /^三|3/i, /^四|4/i, /^五|5/i, /^六|6/i, /^七|7/i, /^八|8/i, /^九|9/i, /^十(?!(一|二))|10/i, /^十一|11/i, /^十二|12/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[一二三四五六日]/i,\n  short: /^[一二三四五六日]/i,\n  abbreviated: /^周[一二三四五六日]/i,\n  wide: /^星期[一二三四五六日]/i\n};\nvar parseDayPatterns = {\n  any: [/日/i, /一/i, /二/i, /三/i, /四/i, /五/i, /六/i]\n};\nvar matchDayPeriodPatterns = {\n  any: /^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨|)/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^上午?/i,\n    pm: /^下午?/i,\n    midnight: /^午夜/i,\n    noon: /^[中正]午/i,\n    morning: /^早上/i,\n    afternoon: /^下午/i,\n    evening: /^晚上?/i,\n    night: /^凌晨/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Chinese Simplified locale.\n * @language Chinese Simplified\n * @iso-639-2 zho\n * @author Changyu Geng [@KingMario]{@link https://github.com/KingMario}\n * @author Song Shuoyun [@fnlctrl]{@link https://github.com/fnlctrl}\n * @author sabrinaM [@sabrinamiao]{@link https://github.com/sabrinamiao}\n * @author Carney Wu [@cubicwork]{@link https://github.com/cubicwork}\n * @author Terrence Lam [@skyuplam]{@link https://github.com/skyuplam}\n */\nvar locale = {\n  code: 'zh-CN',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4\n  }\n};\nexport default locale;","var formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: '少於 1 秒',\n    other: '少於 {{count}} 秒'\n  },\n  xSeconds: {\n    one: '1 秒',\n    other: '{{count}} 秒'\n  },\n  halfAMinute: '半分鐘',\n  lessThanXMinutes: {\n    one: '少於 1 分鐘',\n    other: '少於 {{count}} 分鐘'\n  },\n  xMinutes: {\n    one: '1 分鐘',\n    other: '{{count}} 分鐘'\n  },\n  xHours: {\n    one: '1 小時',\n    other: '{{count}} 小時'\n  },\n  aboutXHours: {\n    one: '大約 1 小時',\n    other: '大約 {{count}} 小時'\n  },\n  xDays: {\n    one: '1 天',\n    other: '{{count}} 天'\n  },\n  aboutXWeeks: {\n    one: '大約 1 個星期',\n    other: '大約 {{count}} 個星期'\n  },\n  xWeeks: {\n    one: '1 個星期',\n    other: '{{count}} 個星期'\n  },\n  aboutXMonths: {\n    one: '大約 1 個月',\n    other: '大約 {{count}} 個月'\n  },\n  xMonths: {\n    one: '1 個月',\n    other: '{{count}} 個月'\n  },\n  aboutXYears: {\n    one: '大約 1 年',\n    other: '大約 {{count}} 年'\n  },\n  xYears: {\n    one: '1 年',\n    other: '{{count}} 年'\n  },\n  overXYears: {\n    one: '超過 1 年',\n    other: '超過 {{count}} 年'\n  },\n  almostXYears: {\n    one: '將近 1 年',\n    other: '將近 {{count}} 年'\n  }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n  var result;\n  var tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === 'string') {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace('{{count}}', String(count));\n  }\n  if (options !== null && options !== void 0 && options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return result + '內';\n    } else {\n      return result + '前';\n    }\n  }\n  return result;\n};\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n  full: \"y'年'M'月'd'日' EEEE\",\n  long: \"y'年'M'月'd'日'\",\n  medium: 'yyyy-MM-dd',\n  short: 'yy-MM-dd'\n};\nvar timeFormats = {\n  full: 'zzzz a h:mm:ss',\n  long: 'z a h:mm:ss',\n  medium: 'a h:mm:ss',\n  short: 'a h:mm'\n};\nvar dateTimeFormats = {\n  full: '{{date}} {{time}}',\n  long: '{{date}} {{time}}',\n  medium: '{{date}} {{time}}',\n  short: '{{date}} {{time}}'\n};\nvar formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: 'full'\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: 'full'\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: 'full'\n  })\n};\nexport default formatLong;","var formatRelativeLocale = {\n  lastWeek: \"'上個'eeee p\",\n  yesterday: \"'昨天' p\",\n  today: \"'今天' p\",\n  tomorrow: \"'明天' p\",\n  nextWeek: \"'下個'eeee p\",\n  other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n  return formatRelativeLocale[token];\n};\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n  narrow: ['前', '公元'],\n  abbreviated: ['前', '公元'],\n  wide: ['公元前', '公元']\n};\nvar quarterValues = {\n  narrow: ['1', '2', '3', '4'],\n  abbreviated: ['第一刻', '第二刻', '第三刻', '第四刻'],\n  wide: ['第一刻鐘', '第二刻鐘', '第三刻鐘', '第四刻鐘']\n};\nvar monthValues = {\n  narrow: ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二'],\n  abbreviated: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],\n  wide: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']\n};\nvar dayValues = {\n  narrow: ['日', '一', '二', '三', '四', '五', '六'],\n  short: ['日', '一', '二', '三', '四', '五', '六'],\n  abbreviated: ['週日', '週一', '週二', '週三', '週四', '週五', '週六'],\n  wide: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']\n};\nvar dayPeriodValues = {\n  narrow: {\n    am: '上',\n    pm: '下',\n    midnight: '凌晨',\n    noon: '午',\n    morning: '早',\n    afternoon: '下午',\n    evening: '晚',\n    night: '夜'\n  },\n  abbreviated: {\n    am: '上午',\n    pm: '下午',\n    midnight: '凌晨',\n    noon: '中午',\n    morning: '早晨',\n    afternoon: '中午',\n    evening: '晚上',\n    night: '夜間'\n  },\n  wide: {\n    am: '上午',\n    pm: '下午',\n    midnight: '凌晨',\n    noon: '中午',\n    morning: '早晨',\n    afternoon: '中午',\n    evening: '晚上',\n    night: '夜間'\n  }\n};\nvar formattingDayPeriodValues = {\n  narrow: {\n    am: '上',\n    pm: '下',\n    midnight: '凌晨',\n    noon: '午',\n    morning: '早',\n    afternoon: '下午',\n    evening: '晚',\n    night: '夜'\n  },\n  abbreviated: {\n    am: '上午',\n    pm: '下午',\n    midnight: '凌晨',\n    noon: '中午',\n    morning: '早晨',\n    afternoon: '中午',\n    evening: '晚上',\n    night: '夜間'\n  },\n  wide: {\n    am: '上午',\n    pm: '下午',\n    midnight: '凌晨',\n    noon: '中午',\n    morning: '早晨',\n    afternoon: '中午',\n    evening: '晚上',\n    night: '夜間'\n  }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, options) {\n  var number = Number(dirtyNumber);\n  switch (options === null || options === void 0 ? void 0 : options.unit) {\n    case 'date':\n      return number + '日';\n    case 'hour':\n      return number + '時';\n    case 'minute':\n      return number + '分';\n    case 'second':\n      return number + '秒';\n    default:\n      return '第 ' + number;\n  }\n};\nvar localize = {\n  ordinalNumber: ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: 'wide'\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: 'wide',\n    argumentCallback: function argumentCallback(quarter) {\n      return quarter - 1;\n    }\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: 'wide'\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: 'wide'\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: 'wide',\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: 'wide'\n  })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(第\\s*)?\\d+(日|時|分|秒)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n  narrow: /^(前)/i,\n  abbreviated: /^(前)/i,\n  wide: /^(公元前|公元)/i\n};\nvar parseEraPatterns = {\n  any: [/^(前)/i, /^(公元)/i]\n};\nvar matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^第[一二三四]刻/i,\n  wide: /^第[一二三四]刻鐘/i\n};\nvar parseQuarterPatterns = {\n  any: [/(1|一)/i, /(2|二)/i, /(3|三)/i, /(4|四)/i]\n};\nvar matchMonthPatterns = {\n  narrow: /^(一|二|三|四|五|六|七|八|九|十[二一])/i,\n  abbreviated: /^(一|二|三|四|五|六|七|八|九|十[二一]|\\d|1[12])月/i,\n  wide: /^(一|二|三|四|五|六|七|八|九|十[二一])月/i\n};\nvar parseMonthPatterns = {\n  narrow: [/^一/i, /^二/i, /^三/i, /^四/i, /^五/i, /^六/i, /^七/i, /^八/i, /^九/i, /^十(?!(一|二))/i, /^十一/i, /^十二/i],\n  any: [/^一|1/i, /^二|2/i, /^三|3/i, /^四|4/i, /^五|5/i, /^六|6/i, /^七|7/i, /^八|8/i, /^九|9/i, /^十(?!(一|二))|10/i, /^十一|11/i, /^十二|12/i]\n};\nvar matchDayPatterns = {\n  narrow: /^[一二三四五六日]/i,\n  short: /^[一二三四五六日]/i,\n  abbreviated: /^週[一二三四五六日]/i,\n  wide: /^星期[一二三四五六日]/i\n};\nvar parseDayPatterns = {\n  any: [/日/i, /一/i, /二/i, /三/i, /四/i, /五/i, /六/i]\n};\nvar matchDayPeriodPatterns = {\n  any: /^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨)/i\n};\nvar parseDayPeriodPatterns = {\n  any: {\n    am: /^上午?/i,\n    pm: /^下午?/i,\n    midnight: /^午夜/i,\n    noon: /^[中正]午/i,\n    morning: /^早上/i,\n    afternoon: /^下午/i,\n    evening: /^晚上?/i,\n    night: /^凌晨/i\n  }\n};\nvar match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function valueCallback(value) {\n      return parseInt(value, 10);\n    }\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: 'any'\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: 'any',\n    valueCallback: function valueCallback(index) {\n      return index + 1;\n    }\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: 'any'\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: 'wide',\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: 'any'\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: 'any',\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: 'any'\n  })\n};\nexport default match;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary Chinese Traditional locale.\n * @language Chinese Traditional\n * @iso-639-2 zho\n * @author tonypai [@tpai]{@link https://github.com/tpai}\n * @author Jack Hsu [@jackhsu978]{@link https://github.com/jackhsu978}\n * @author Terrence Lam [@skyuplam]{@link https://github.com/skyuplam}\n */\nvar locale = {\n  code: 'zh-TW',\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4\n  }\n};\nexport default locale;","import {\n\tcs,\n\tda,\n\tde,\n\tenUS,\n\tenIN,\n\tenIE,\n\tenGB,\n\tes,\n\tet,\n\tfi,\n\tfr,\n\tfrCA,\n\the,\n\thu,\n\tit,\n\tja,\n\tko,\n\tnn,\n\tpl,\n\tpt,\n\tptBR,\n\tru,\n\tsv,\n\tth,\n\ttr,\n\tzhCN,\n\tzhTW,\n} from 'date-fns/locale'; // MAINT: this is required for tectonic v22, code split has a bug\n\nconst lookup = new Set([\n\t'cs',\n\t'da',\n\t'de',\n\t'en-US',\n\t'en-GB',\n\t'en-IN',\n\t'en-IE',\n\t'es',\n\t'et',\n\t'fi',\n\t'fr-CA',\n\t'fr',\n\t'he',\n\t'hu',\n\t'it',\n\t'ja',\n\t'ko',\n\t'nn',\n\t'pl',\n\t'pt-BR',\n\t'pt',\n\t'ru',\n\t'sv',\n\t'th',\n\t'tr',\n\t'zh-CN',\n\t'zh-TW',\n]);\n\nexport const hasLocale = (code) => {\n\treturn lookup.has(code);\n};\n\nexport const getLocale = async (locale) => {\n\tswitch (locale) {\n\t\t// case 'af':\n\t\t// \treturn (await import('date-fns/locale/af'))?.default;\n\t\t// case 'ar-DZ':\n\t\t// \treturn (await import('date-fns/locale/ar-DZ'))?.default;\n\t\t// case 'ar-EG':\n\t\t// \treturn (await import('date-fns/locale/ar-EG'))?.default;\n\t\t// case 'ar-MA':\n\t\t// \treturn (await import('date-fns/locale/ar-MA'))?.default;\n\t\t// case 'ar-SA':\n\t\t// \treturn (await import('date-fns/locale/ar-SA'))?.default;\n\t\t// case 'ar-TN':\n\t\t// \treturn (await import('date-fns/locale/ar-TN'))?.default;\n\t\t// case 'ar':\n\t\t// \treturn (await import('date-fns/locale/ar'))?.default;\n\t\t// case 'az':\n\t\t// \treturn (await import('date-fns/locale/az'))?.default;\n\t\t// case 'be':\n\t\t// \treturn (await import('date-fns/locale/be'))?.default;\n\t\t// case 'bg':\n\t\t// \treturn (await import('date-fns/locale/bg'))?.default;\n\t\t// case 'bn':\n\t\t// \treturn (await import('date-fns/locale/bn'))?.default;\n\t\t// case 'bs':\n\t\t// \treturn (await import('date-fns/locale/bs'))?.default;\n\t\t// case 'ca':\n\t\t// \treturn (await import('date-fns/locale/ca'))?.default;\n\t\tcase 'cs':\n\t\t\treturn cs;\n\t\t// return (await import('date-fns/locale/cs'))?.default;\n\t\t// case 'cy':\n\t\t// \treturn (await import('date-fns/locale/cy'))?.default;\n\t\tcase 'da':\n\t\t\treturn da;\n\t\t// return (await import('date-fns/locale/da'))?.default;\n\t\t// case 'de-AT':\n\t\t// return (await import('date-fns/locale/de-AT'))?.default;\n\t\tcase 'de':\n\t\t\treturn de;\n\t\t// return (await import('date-fns/locale/de'))?.default;\n\t\t// case 'el':\n\t\t// return (await import('date-fns/locale/el'))?.default;\n\t\t// case 'en-AU':\n\t\t// return (await import('date-fns/locale/en-AU'))?.default;\n\t\t// case 'en-CA':\n\t\t// return (await import('date-fns/locale/en-CA'))?.default;\n\t\t// case 'en-GB':\n\t\t// return (await import('date-fns/locale/en-GB'))?.default;\n\t\t// case 'en-IE':\n\t\t// return (await import('date-fns/locale/en-IE'))?.default;\n\t\tcase 'en-IN':\n\t\t\treturn enIN;\n\t\t// return (await import('date-fns/locale/en-IN'))?.default;\n\t\tcase 'en-IE':\n\t\t\treturn enIE;\n\t\tcase 'en-US':\n\t\t\treturn enUS;\n\t\tcase 'en-GB':\n\t\t\treturn enGB;\n\t\t// return (await import('date-fns/locale/en-US'))?.default;\n\t\t// case 'en-ZA':\n\t\t// return (await import('date-fns/locale/en-ZA'))?.default;\n\t\t// case 'eo':\n\t\t// return (await import('date-fns/locale/eo'))?.default;\n\t\tcase 'es':\n\t\t\treturn es;\n\t\t// return (await import('date-fns/locale/es'))?.default;\n\t\tcase 'et':\n\t\t\treturn et;\n\t\t// case 'eu':\n\t\t// return (await import('date-fns/locale/eu'))?.default;\n\t\t// case 'fa-IR':\n\t\t// return (await import('date-fns/locale/fa-IR'))?.default;\n\t\tcase 'fi':\n\t\t\treturn fi;\n\t\t// return (await import('date-fns/locale/fi'))?.default;\n\t\tcase 'fr-CA':\n\t\t\treturn frCA;\n\t\t// return (await import('date-fns/locale/fr-CA'))?.default;\n\t\t// case 'fr-CH':\n\t\t// return (await import('date-fns/locale/fr-CH'))?.default;\n\t\tcase 'fr':\n\t\t\treturn fr;\n\t\t// return (await import('date-fns/locale/fr'))?.default;\n\t\t// case 'fy':\n\t\t// return (await import('date-fns/locale/fy'))?.default;\n\t\t// case 'gd':\n\t\t// return (await import('date-fns/locale/gd'))?.default;\n\t\t// case 'gl':\n\t\t// return (await import('date-fns/locale/gl'))?.default;\n\t\t// case 'gu':\n\t\t// return (await import('date-fns/locale/gu'))?.default;\n\t\tcase 'he':\n\t\t\treturn he;\n\t\t// return (await import('date-fns/locale/he'))?.default;\n\t\t// case 'hi':\n\t\t// return (await import('date-fns/locale/hi'))?.default;\n\t\t// case 'hr':\n\t\t// return (await import('date-fns/locale/hr'))?.default;\n\t\t// case 'ht':\n\t\t// return (await import('date-fns/locale/ht'))?.default;\n\t\tcase 'hu':\n\t\t\treturn hu;\n\t\t// return (await import('date-fns/locale/hu'))?.default;\n\t\t// case 'hy':\n\t\t// return (await import('date-fns/locale/hy'))?.default;\n\t\t// case 'id':\n\t\t// return (await import('date-fns/locale/id'))?.default;\n\t\t// case 'is':\n\t\t// return (await import('date-fns/locale/is'))?.default;\n\t\t// // case 'it-CH':\n\t\t// // \treturn (await import('date-fns/locale/it-CH'))?.default;\n\t\tcase 'it':\n\t\t\treturn it;\n\t\t// return (await import('date-fns/locale/it'))?.default;\n\t\t// case 'ja-Hira':\n\t\t// return (await import('date-fns/locale/ja-Hira'))?.default;\n\t\tcase 'ja':\n\t\t\treturn ja;\n\t\t// return await import('date-fns/locale/ja/index.js');\n\t\t// case 'ka':\n\t\t// \treturn (await import('date-fns/locale/ka'))?.default;\n\t\t// case 'kk':\n\t\t// \treturn (await import('date-fns/locale/kk'))?.default;\n\t\t// case 'km':\n\t\t// \treturn (await import('date-fns/locale/km'))?.default;\n\t\t// case 'kn':\n\t\t// \treturn (await import('date-fns/locale/kn'))?.default;\n\t\tcase 'ko':\n\t\t\treturn ko;\n\t\t// return (await import('date-fns/locale/ko'))?.default;\n\t\t// case 'lb':\n\t\t// \treturn (await import('date-fns/locale/lb'))?.default;\n\t\t// case 'lt':\n\t\t// \treturn (await import('date-fns/locale/lt'))?.default;\n\t\t// case 'lv':\n\t\t// \treturn (await import('date-fns/locale/lv'))?.default;\n\t\t// case 'mk':\n\t\t// \treturn (await import('date-fns/locale/mk'))?.default;\n\t\t// case 'mn':\n\t\t// \treturn (await import('date-fns/locale/mn'))?.default;\n\t\t// case 'ms':\n\t\t// \treturn (await import('date-fns/locale/ms'))?.default;\n\t\t// case 'mt':\n\t\t// \treturn (await import('date-fns/locale/mt'))?.default;\n\t\t// case 'nb':\n\t\t// \treturn (await import('date-fns/locale/nb'))?.default;\n\t\t// case 'nl-BE':\n\t\t// \treturn (await import('date-fns/locale/nl-BE'))?.default;\n\t\t// case 'nl':\n\t\t// \treturn (await import('date-fns/locale/nl'))?.default;\n\t\tcase 'nn':\n\t\t\treturn nn;\n\t\t// return (await import('date-fns/locale/nn'))?.default;\n\t\t// // case 'oc':\n\t\t// // \treturn (await import('date-fns/locale/oc'))?.default;\n\t\tcase 'pl':\n\t\t\treturn pl;\n\t\t// return (await import('date-fns/locale/pl'))?.default;\n\t\tcase 'pt-BR':\n\t\t\treturn ptBR;\n\t\t// return (await import('date-fns/locale/pt-BR'))?.default;\n\t\tcase 'pt':\n\t\t\treturn pt;\n\t\t// return (await import('date-fns/locale/pt'))?.default;\n\t\t// case 'ro':\n\t\t// \treturn (await import('date-fns/locale/ro'))?.default;\n\t\tcase 'ru':\n\t\t\treturn ru;\n\t\t// return (await import('date-fns/locale/ru'))?.default;\n\t\t// case 'sk':\n\t\t// \treturn (await import('date-fns/locale/sk'))?.default;\n\t\t// case 'sl':\n\t\t// \treturn (await import('date-fns/locale/sl'))?.default;\n\t\t// case 'sq':\n\t\t// \treturn (await import('date-fns/locale/sq'))?.default;\n\t\t// // case 'sr-Latin':\n\t\t// // \treturn (await import('date-fns/locale/sr-Latin'))?.default;\n\t\t// case 'sr':\n\t\t// \treturn (await import('date-fns/locale/sr'))?.default;\n\t\tcase 'sv':\n\t\t\treturn sv;\n\t\t// return (await import('date-fns/locale/sv'))?.default;\n\t\t// case 'ta':\n\t\t// \treturn (await import('date-fns/locale/ta'))?.default;\n\t\t// case 'te':\n\t\t// \treturn (await import('date-fns/locale/te'))?.default;\n\t\tcase 'th':\n\t\t\treturn th;\n\t\t// return (await import('date-fns/locale/th'))?.default;\n\t\tcase 'tr':\n\t\t\treturn tr;\n\t\t// return (await import('date-fns/locale/tr'))?.default;\n\t\t// case 'ug':\n\t\t// \treturn (await import('date-fns/locale/ug'))?.default;\n\t\t// case 'uk':\n\t\t// \treturn (await import('date-fns/locale/uk'))?.default;\n\t\t// case 'uz-Cryrl':\n\t\t// \treturn (await import('date-fns/locale/uz-Cyrl'))?.default;\n\t\t// case 'uz':\n\t\t// \treturn (await import('date-fns/locale/uz'))?.default;\n\t\t// case 'vi':\n\t\t// \treturn (await import('date-fns/locale/vi'))?.default;\n\t\tcase 'zh-CN':\n\t\t\treturn zhCN;\n\t\t// return (await import('date-fns/locale/zh-CN'))?.default;\n\t\t// // case 'zh-KH':\n\t\t// // \treturn (await import('date-fns/locale/zh-KH'))?.default;\n\t\tcase 'zh-TW':\n\t\t\treturn zhTW;\n\t\t// return (await import('date-fns/locale/zh-TW'))?.default;\n\t}\n};\n","import {actionTypes} from '@servicenow/ui-core';\nimport {\n\tisDateTimeValueValid,\n\tlocaleContext,\n\ttimezoneContext,\n} from '@servicenow/library-date-time';\nimport {hideCalendarPanel} from '../utils/helper';\nimport {hasLocale, getLocale} from '../locales';\nimport {CUSTOM_PRESET_OPTION} from '../utils';\nconst public_api = 'Public API';\n\nconst {\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_RENDER_REQUESTED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_CONNECTED,\n\tARIA_LIVE_REGION_UPDATE_REQUESTED,\n} = actionTypes;\n\nasync function setContext({properties: {locale}, updateContext}) {\n\t// locale is a date-fns object\n\tif (typeof locale === 'object') {\n\t\treturn updateContext({\n\t\t\tcontext: localeContext,\n\t\t\tvalue: locale,\n\t\t});\n\t}\n\n\tlet code = locale || document.documentElement.lang;\n\tif (!code) return;\n\n\tlet valid = hasLocale(code);\n\tif (!valid) {\n\t\tcode = code.split('-')[0];\n\t\tvalid = hasLocale(code);\n\t}\n\tif (!valid) return;\n\n\tconst value = await getLocale(code);\n\tupdateContext({\n\t\tcontext: localeContext,\n\t\tvalue,\n\t\tshouldRender: false,\n\t});\n\n\t//Get the timezone value from the user preferences\n\tupdateContext({\n\t\tcontext: timezoneContext,\n\t\tvalue: window?.ux_globals?.session?.output?.user?.timeZone,\n\t\tshouldRender: false,\n\t});\n}\n\nconst announceMessage = (label, message, dispatch) => {\n\tconst announcement = label + ' ' + message.content;\n\treturn dispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\tmessage: announcement,\n\t\ttype: 'polite',\n\t});\n};\n\nexport default {\n\t[COMPONENT_CONNECTED]({dispatch, host}) {\n\t\thost.validate = () =>\n\t\t\tdispatch('PRIVATE#VALIDATE', {\n\t\t\t\tinitiator: public_api,\n\t\t\t});\n\t},\n\t[COMPONENT_RENDER_REQUESTED]: async ({\n\t\tcontext,\n\t\tproperties,\n\t\tupdateContext,\n\t\taction: {meta},\n\t}) => {\n\t\tif (!meta.firstRenderOnConnect) return;\n\n\t\tawait setContext({properties, context, updateContext});\n\t},\n\t[COMPONENT_DOM_TREE_READY]({\n\t\tdispatch,\n\t\thost,\n\t\tproperties,\n\t\tstate,\n\t\tupdateProperties,\n\t\tupdateState,\n\t}) {\n\t\tconst {value, valueEnd, valueStart, activePreset} = properties;\n\t\tconst {mode} = state;\n\t\t// Need this to make sure the popover is\n\t\t// anchored directly to an input.\n\t\t// This is to ensure opened property actuates without\n\t\t// focus which defines positionTarget normally\n\t\tconst activeInput = host.shadowRoot.querySelector('now-input-date-time');\n\t\tupdateState({\n\t\t\tactiveInput,\n\t\t\tpositionTarget: activeInput.shadowRoot\n\t\t\t\t.querySelector('now-input')\n\t\t\t\t.shadowRoot.querySelector('.now-input-field'),\n\t\t});\n\n\t\tif (mode === 'standard') {\n\t\t\tupdateState({\n\t\t\t\tpath: 'prevValue',\n\t\t\t\tvalue,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false,\n\t\t\t});\n\t\t} else {\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: 'prevValueStart',\n\t\t\t\t\tvalue: valueStart,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'prevValueEnd',\n\t\t\t\t\tvalue: valueEnd,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false,\n\t\t\t\t},\n\t\t\t]);\n\t\t}\n\n\t\tdispatch('PRIVATE#VALIDATE', {\n\t\t\tinitiator: COMPONENT_DOM_TREE_READY,\n\t\t});\n\n\t\tif (\n\t\t\tvalueStart?.trim() !== '' &&\n\t\t\tvalueEnd?.trim() !== '' &&\n\t\t\tactivePreset &&\n\t\t\tObject.keys(activePreset).length === 0\n\t\t) {\n\t\t\tupdateProperties({\n\t\t\t\tactivePreset: CUSTOM_PRESET_OPTION,\n\t\t\t});\n\t\t}\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]({\n\t\tcontext: {[localeContext]: locale},\n\t\thost,\n\t\taction,\n\t\tproperties,\n\t\tdispatch,\n\t\tstate,\n\t\tupdateState,\n\t\tupdateProperties,\n\t}) {\n\t\tconst {name, value: totalErrorMessages} = action.payload;\n\t\tconst {\n\t\t\tformat,\n\t\t\tisoWeek,\n\t\t\topened,\n\t\t\trequired,\n\t\t\ttype,\n\t\t\tvalue, //now-date-time\n\t\t\tvalueEnd, //now-date-time-interval\n\t\t\tvalueStart, //now-date-time-interval\n\t\t\tenablePresets,\n\t\t\tactivePreset,\n\t\t} = properties;\n\n\t\t// When the date-time input has an invalid value,\n\t\t// need this to ensure a valid date cell is selectable\n\t\t// from the calendar panel on first click.\n\t\tif (name === 'invalid' && !hideCalendarPanel(type)) {\n\t\t\thost.shadowRoot.querySelector('now-popover').refit();\n\t\t\treturn;\n\t\t}\n\n\t\t// bail early if we don't care about the properties being updated\n\t\tif (\n\t\t\t![\n\t\t\t\t'disabled',\n\t\t\t\t'format',\n\t\t\t\t'opened',\n\t\t\t\t'readonly',\n\t\t\t\t'type',\n\t\t\t\t'value', //now-date-time\n\t\t\t\t'valueEnd', //now-date-time-interval\n\t\t\t\t'valueStart', //now-date-time-interval\n\t\t\t\t'messages',\n\t\t\t].includes(name)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst {activeInput, prefix, mode} = state;\n\t\tlet inputValue =\n\t\t\tactiveInput?.shadowRoot\n\t\t\t\t.querySelector('now-input')\n\t\t\t\t?.shadowRoot.querySelector('input')?.value ?? '';\n\t\tlet inputFieldName = activeInput?.dataset?.input;\n\t\t// Check the input value against the current state value\n\t\t// If it's valid, then update the state value to ensure visual calendar reflects correctly\n\t\tif (\n\t\t\tname === 'opened' &&\n\t\t\topened &&\n\t\t\t(value != null || valueStart != null || valueEnd != null)\n\t\t) {\n\t\t\tconst {valid, date, isoDate} = isDateTimeValueValid({\n\t\t\t\tformat,\n\t\t\t\tisoWeek,\n\t\t\t\tlocale,\n\t\t\t\trequired,\n\t\t\t\tvalue: inputValue,\n\t\t\t});\n\n\t\t\tif (\n\t\t\t\tvalid &&\n\t\t\t\tinputValue !== value &&\n\t\t\t\tinputValue !== valueStart &&\n\t\t\t\tinputValue !== valueEnd\n\t\t\t) {\n\t\t\t\tconst dispatchType = inputFieldName\n\t\t\t\t\t? `VALUE_${inputFieldName}_SET`.toUpperCase()\n\t\t\t\t\t: 'VALUE_SET';\n\n\t\t\t\tdispatch(`${prefix}${dispatchType}`, {\n\t\t\t\t\tisoDate,\n\t\t\t\t\tdate,\n\t\t\t\t\tvalue: inputValue,\n\t\t\t\t\tname: activeInput?.name,\n\t\t\t\t\ttype,\n\t\t\t\t\tformat,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (mode === 'standard') {\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'prevValue',\n\t\t\t\t\tvalue,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tupdateState([\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: 'prevValueStart',\n\t\t\t\t\t\tvalue: valueStart,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: 'prevValueEnd',\n\t\t\t\t\t\tvalue: valueEnd,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false,\n\t\t\t\t\t},\n\t\t\t\t]);\n\n\t\t\t\tif (enablePresets) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpath: 'prevActivePreset',\n\t\t\t\t\t\tvalue: activePreset,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (name == 'opened') {\n\t\t\treturn;\n\t\t}\n\n\t\tif (enablePresets && (name === 'valueStart' || name === 'valueEnd')) {\n\t\t\tlet {presetValueStart, presetValueEnd} = state;\n\t\t\tconst isValueChanged = (value, presetValue) =>\n\t\t\t\tvalue && presetValue !== value;\n\n\t\t\tif (!valueStart && !valueEnd) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tactivePreset: {},\n\t\t\t\t});\n\t\t\t} else if (\n\t\t\t\tisValueChanged(valueStart, presetValueStart) ||\n\t\t\t\tisValueChanged(valueEnd, presetValueEnd) ||\n\t\t\t\t!valueStart ||\n\t\t\t\t!valueEnd\n\t\t\t) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tactivePreset: CUSTOM_PRESET_OPTION,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (name === 'messages') {\n\t\t\tconst messagesLength = totalErrorMessages.length;\n\t\t\tfor (let i = 0; i < messagesLength; i++) {\n\t\t\t\tannounceMessage(properties.label, totalErrorMessages[i], dispatch);\n\t\t\t}\n\t\t}\n\t},\n};\n","import {POPOVER_ID} from '../utils/constants';\nimport {\n\tfocusCalendar,\n\tfocusInput,\n\tisPathInDateTimePanel,\n} from '../utils/helper';\nimport {\n\tisDateTimeValueValid,\n\tlocaleContext,\n} from '@servicenow/library-date-time';\n\nexport default {\n\t['NOW_POPOVER#CONTENT_VISIBLE']: {\n\t\tstopPropagation: true,\n\t\teffect: ({host, action, state, updateState}) => {\n\t\t\tif (POPOVER_ID === action.payload.id) {\n\t\t\t\tfocusCalendar(host, {state, updateState});\n\n\t\t\t\t// DEF0321215\n\t\t\t\tconst popover = host.shadowRoot.querySelector('.now-date-time-popover');\n\t\t\t\tpopover.refit();\n\t\t\t}\n\t\t},\n\t},\n\t['NOW_POPOVER#OPENED_SET']({\n\t\taction,\n\t\tcontext: {[localeContext]: locale},\n\t\tdispatch,\n\t\thost,\n\t\tproperties,\n\t\tstate,\n\t\tupdateProperties,\n\t\tupdateState,\n\t}) {\n\t\tconst {\n\t\t\tdisabled,\n\t\t\tfooterActions,\n\t\t\tformat,\n\t\t\tisoWeek,\n\t\t\treadonly,\n\t\t\trequired,\n\t\t\tshowDefaultFooterActions,\n\t\t\ttype,\n\t\t\tenablePresets,\n\t\t\tisDateManuallySet,\n\t\t} = properties;\n\t\tconst {activeInput, prefix, mode} = state;\n\t\tlet isValid = true;\n\n\t\tconst {value, actionSource, id, path} = action.payload;\n\t\tif (disabled || readonly || id !== POPOVER_ID) return;\n\n\t\t//check to see if the user has clicked on the now-date-time input or has clicked outside\n\t\tconst clickedOnActiveInput =\n\t\t\tactiveInput.getAttribute('name') === path?.[0].getAttribute('name');\n\n\t\tif (!isPathInDateTimePanel(activeInput, path)) {\n\t\t\tdispatch(`${prefix}OPENED_SET`, {value});\n\t\t}\n\n\t\tif (!['outside-click', 'tab-press'].includes(actionSource)) {\n\t\t\tfocusInput(host, {state});\n\t\t}\n\n\t\t/**\n\t\t * Revert the value to the initial value if the calendar\n\t\t * selection was dismissed and can/should be reverted.\n\t\t */\n\t\tconst hasFooterActions =\n\t\t\tfooterActions.length > 0 || showDefaultFooterActions;\n\t\tconst shouldRevertValue =\n\t\t\t['escape-press', 'outside-click'].includes(actionSource) &&\n\t\t\t!clickedOnActiveInput &&\n\t\t\thasFooterActions &&\n\t\t\t!isDateManuallySet;\n\n\t\tif (shouldRevertValue) {\n\t\t\tconst input = activeInput?.dataset?.input;\n\t\t\tconst name = input ? (activeInput?.name ?? 'unknown') : properties.name;\n\t\t\tconst payload = {\n\t\t\t\tname,\n\t\t\t\ttype,\n\t\t\t\tformat,\n\t\t\t};\n\n\t\t\tif (mode === 'standard') {\n\t\t\t\tconst {prevValue} = state;\n\t\t\t\tconst {valid, date, isoDate} = isDateTimeValueValid({\n\t\t\t\t\tformat,\n\t\t\t\t\tisoWeek,\n\t\t\t\t\tlocale,\n\t\t\t\t\trequired,\n\t\t\t\t\tvalue: prevValue,\n\t\t\t\t});\n\n\t\t\t\tisValid = valid;\n\n\t\t\t\tdispatch(() => ({\n\t\t\t\t\ttype: `${prefix}VALUE_SET`,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\t...payload,\n\t\t\t\t\t\tisoDate,\n\t\t\t\t\t\tdate,\n\t\t\t\t\t\tvalue: valid ? prevValue : '',\n\t\t\t\t\t},\n\t\t\t\t}));\n\t\t\t} else {\n\t\t\t\tconst {prevValueStart, prevValueEnd, prevActivePreset} = state;\n\t\t\t\tconst {\n\t\t\t\t\tvalid: validStart,\n\t\t\t\t\tdate: dateStart,\n\t\t\t\t\tisoDate: isoDateStart,\n\t\t\t\t} = isDateTimeValueValid({\n\t\t\t\t\tformat,\n\t\t\t\t\tisoWeek,\n\t\t\t\t\tlocale,\n\t\t\t\t\trequired,\n\t\t\t\t\tvalue: prevValueStart,\n\t\t\t\t});\n\t\t\t\tconst {\n\t\t\t\t\tvalid: validEnd,\n\t\t\t\t\tdate: dateEnd,\n\t\t\t\t\tisoDate: isoDateEnd,\n\t\t\t\t} = isDateTimeValueValid({\n\t\t\t\t\tformat,\n\t\t\t\t\tisoWeek,\n\t\t\t\t\tlocale,\n\t\t\t\t\trequired,\n\t\t\t\t\tvalue: prevValueEnd,\n\t\t\t\t});\n\n\t\t\t\tisValid = validStart && validEnd;\n\n\t\t\t\tif (enablePresets) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpresetValueStart: prevValueStart,\n\t\t\t\t\t\tpresetValueEnd: prevValueEnd,\n\t\t\t\t\t});\n\n\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\tactivePreset: prevActivePreset,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tdispatch(() => ({\n\t\t\t\t\ttype: `${prefix}VALUE_START_SET`,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\t...payload,\n\t\t\t\t\t\tvalue: validStart ? prevValueStart : '',\n\t\t\t\t\t\tisoDate: isoDateStart,\n\t\t\t\t\t\tdate: dateStart,\n\t\t\t\t\t},\n\t\t\t\t}));\n\t\t\t\tdispatch(() => ({\n\t\t\t\t\ttype: `${prefix}VALUE_END_SET`,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\t...payload,\n\t\t\t\t\t\tvalue: validEnd ? prevValueEnd : '',\n\t\t\t\t\t\tisoDate: isoDateEnd,\n\t\t\t\t\t\tdate: dateEnd,\n\t\t\t\t\t},\n\t\t\t\t}));\n\t\t\t}\n\t\t}\n\n\t\t// if we are closing the popover from an outside clicked\n\t\t// then we must trigger validation flow\n\t\tif (\n\t\t\t(actionSource === 'outside-click' || actionSource === 'escape-press') &&\n\t\t\t!clickedOnActiveInput\n\t\t) {\n\t\t\tlet fromPC = true;\n\t\t\tlet startUnchanged = false;\n\t\t\tlet endUnchanged = false;\n\n\t\t\tif (isValid && shouldRevertValue) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// if we clicked outside then we should validate the existing value incase it changed\n\t\t\tdispatch(({properties, state}) => {\n\t\t\t\tconst {value, valueEnd, valueStart, nowId} = properties;\n\t\t\t\tconst {prevValue, prevValueStart, prevValueEnd} = state;\n\n\t\t\t\tif (prevValue === value) return {shouldDispatch: false};\n\n\t\t\t\tconst input = activeInput?.dataset?.input;\n\n\t\t\t\tif (input === 'start') {\n\t\t\t\t\tif (prevValueStart === valueStart) {\n\t\t\t\t\t\tstartUnchanged = true;\n\t\t\t\t\t\treturn {shouldDispatch: false};\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (input === 'end') {\n\t\t\t\t\tif (prevValueEnd === valueEnd) {\n\t\t\t\t\t\tendUnchanged = true;\n\t\t\t\t\t\treturn {shouldDispatch: false};\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet fieldValue = value;\n\t\t\t\tif (input) {\n\t\t\t\t\tfieldValue = input === 'start' ? valueStart : valueEnd;\n\t\t\t\t}\n\n\t\t\t\tif (!isValid && shouldRevertValue) {\n\t\t\t\t\tfieldValue = '';\n\t\t\t\t}\n\n\t\t\t\tconst options = {\n\t\t\t\t\tinitiator: 'NOW_POPOVER#OPENED_SET',\n\t\t\t\t\tfieldValue,\n\t\t\t\t\tname: input ? `input-${nowId}-${input}` : `input-${nowId}`,\n\t\t\t\t\tfromPopoverClose: fromPC,\n\t\t\t\t\tstartUnchanged,\n\t\t\t\t\tendUnchanged,\n\t\t\t\t\tinput,\n\t\t\t\t\tshouldRevertValue: shouldRevertValue,\n\t\t\t\t};\n\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'PRIVATE#VALIDATE',\n\t\t\t\t\tpayload: options,\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t},\n};\n","import calendar from './now-date-time-calendar';\nimport input from './now-input-date-time';\nimport lifecycle from './lifecycle';\nimport popover from './now-popover';\n\nexport default {\n\t...calendar,\n\t...input,\n\t...lifecycle,\n\t...popover,\n};\n","import {\n\tDateTypes,\n\tlocaleContext,\n\tFORMAT_MATCH_ERROR_ID,\n\tUNAVAILABLE_ERROR_ID,\n} from '@servicenow/library-date-time';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {configAriaLabelSchema} from '@servicenow/library-schemas';\nimport {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {filterAriaAttributes} from '@servicenow/library-enhanced-utils';\nimport {messagesSchema, fieldLayoutSchema} from '@servicenow/now-input';\nimport {\n\tPOPOVER_ID,\n\tTRIGGER_ID,\n\tcheckForDisabledDates,\n\tcheckForErrors,\n\tfocusCalendar,\n\tgetSelectedItems,\n\thandleSlotClick,\n\thandleClick,\n\thandleFocus,\n\thandleKeydown,\n\thideCalendarPanel,\n\tgetCalendarIcon,\n\tcheckIfConfigurationIsValid,\n} from './utils';\nimport {\n\tdisabledItemsSchema,\n\tfooterActionsSchema,\n\titemsSchema,\n\ttypesSchema,\n} from './schemas';\nimport './now-date-time-calendar';\nimport './now-input-date-time';\nimport '@servicenow/now-button';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-popover';\nimport actions from './actions';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport deferBehavior from '@servicenow/behavior-defer';\nimport styles from './_now-date-time.scss';\nconst public_api = 'Public API';\nconst {COMPONENT_DOM_TREE_READY} = actionTypes;\n\nconst view = (state, {dispatch, updateState}) => {\n\tconst {\n\t\tcontext: {[localeContext]: locale},\n\t\tpositionTarget,\n\t\tprefix,\n\t} = state;\n\tconst {\n\t\topened,\n\t\tisoWeek,\n\t\tformat,\n\t\tinvalid,\n\t\tpanelFitProps,\n\n\t\t// Input props\n\t\tname = `input-${state.properties.nowId}`,\n\t\tvalue,\n\t\tsize,\n\t\thelperContent,\n\t\thideRequiredIndicator,\n\t\tlabel,\n\t\toptional,\n\t\trequired,\n\t\tconfigAria,\n\t\tdisabled,\n\t\tautofocus,\n\t\tplaceholder,\n\t\treadonly,\n\t\tmessages,\n\t\tinitialTime,\n\t\talign,\n\n\t\t// Calendar props\n\t\tfooterActions,\n\t\tshowDefaultFooterActions,\n\t\thideFooter,\n\t\ttype,\n\t\titems,\n\t\tdisabledItems,\n\t\tfirstDayOfWeek,\n\t\thideAdjacentDates,\n\t\tdisableWeekends,\n\t\tweekendDays,\n\t\tweekdayHeadings,\n\t\tfieldLayout,\n\t\tdefaultFooterActionLabels,\n\t\tyearRange,\n\t\twrapLabel,\n\t} = state.properties;\n\tconst icon = getCalendarIcon(type);\n\tconst constrain = type !== DateTypes.WEEK_YEAR ? {maxWidth: 282} : {};\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<now-input-date-time\n\t\t\t\tclassName=\"now-date-time-input\"\n\t\t\t\tslot=\"trigger\"\n\t\t\t\tname={name}\n\t\t\t\tvalue={value}\n\t\t\t\tmanage-value\n\t\t\t\thelper-content={helperContent}\n\t\t\t\thide-required-indicator={hideRequiredIndicator}\n\t\t\t\tinvalid={invalid}\n\t\t\t\tmanage-invalid\n\t\t\t\tlabel={label}\n\t\t\t\tsize={size}\n\t\t\t\toptional={optional}\n\t\t\t\talign={align}\n\t\t\t\trequired={required}\n\t\t\t\tformat={format}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tautofocus={autofocus}\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\treadonly={readonly}\n\t\t\t\tmessages={messages}\n\t\t\t\tiso-week={isoWeek}\n\t\t\t\ton-click={(e) => handleClick(e, {prefix, state, dispatch})}\n\t\t\t\ton-keydown={(e) => handleKeydown(e, {state, dispatch})}\n\t\t\t\ton-focus={(e) => handleFocus(e, {state, updateState})}\n\t\t\t\tconfig-aria={\n\t\t\t\t\tdisabled || readonly\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tinput: {\n\t\t\t\t\t\t\t\t\t...filterAriaAttributes(configAria, 'input'),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\tinput: {\n\t\t\t\t\t\t\t\t\t...filterAriaAttributes(configAria, 'input'),\n\t\t\t\t\t\t\t\t\trole: 'combobox',\n\t\t\t\t\t\t\t\t\t'aria-haspopup': 'dialog',\n\t\t\t\t\t\t\t\t\t'aria-expanded': String(opened),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tappend-to-payload={{id: TRIGGER_ID}}\n\t\t\t\tfield-layout={fieldLayout}\n\t\t\t\twrap-label={wrapLabel}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tslot=\"start\"\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'now-date-time-slot': true,\n\t\t\t\t\t\t'-start': true,\n\t\t\t\t\t\t['-' + size]: size,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<slot\n\t\t\t\t\t\tname=\"start\"\n\t\t\t\t\t\ton-click={(e) => {\n\t\t\t\t\t\t\thandleSlotClick(e, {prefix, state, dispatch});\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ton-keydown={(e) => {\n\t\t\t\t\t\t\tif (!opened) {\n\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tslot=\"end\"\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'now-date-time-slot': true,\n\t\t\t\t\t\t'-end': true,\n\t\t\t\t\t\t['-' + size]: size,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<slot\n\t\t\t\t\t\tname=\"end\"\n\t\t\t\t\t\ton-click={(e) => {\n\t\t\t\t\t\t\thandleSlotClick(e, {prefix, state, dispatch});\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ton-keydown={(e) => {\n\t\t\t\t\t\t\tif (!opened) {\n\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{icon && (\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'now-date-time-input-icon': true,\n\t\t\t\t\t\t\t[`-${size}`]: size,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tslot=\"end\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\ticon={icon}\n\t\t\t\t\t\tconfig-aria={{icon: {role: 'presentation'}}}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t<slot\n\t\t\t\t\tslot=\"label-inline\"\n\t\t\t\t\tname=\"label-inline\"\n\t\t\t\t\ton-keydown={(e) => e.stopPropagation()}\n\t\t\t\t\ton-click={(e) => {\n\t\t\t\t\t\thandleSlotClick(e, {prefix, state, dispatch});\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t<slot slot=\"label-end\" name=\"label-end\" />\n\t\t\t\t<slot\n\t\t\t\t\tslot=\"label-start\"\n\t\t\t\t\tname=\"label-start\"\n\t\t\t\t\ton-keydown={(e) => e.stopPropagation()}\n\t\t\t\t\ton-click={(e) => {\n\t\t\t\t\t\thandleSlotClick(e, {prefix, state, dispatch});\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</now-input-date-time>\n\t\t\t{hideCalendarPanel(type) ? undefined : (\n\t\t\t\t<now-popover\n\t\t\t\t\tclassName=\"now-date-time-popover\"\n\t\t\t\t\topened={opened}\n\t\t\t\t\tmanage-opened\n\t\t\t\t\tposition-target={positionTarget}\n\t\t\t\t\tconstrain={constrain}\n\t\t\t\t\tpositions={panelFitProps.position}\n\t\t\t\t\toffset={panelFitProps.offset}\n\t\t\t\t\thide-tail\n\t\t\t\t\tappend-to-payload={{id: POPOVER_ID}}\n\t\t\t\t\tinteraction-type=\"combo\"\n\t\t\t\t>\n\t\t\t\t\t<now-date-time-calendar\n\t\t\t\t\t\tdefer\n\t\t\t\t\t\tslot=\"content\"\n\t\t\t\t\t\tappend-to-meta={`from-date-time`}\n\t\t\t\t\t\tclassName=\"now-date-time-calendar\"\n\t\t\t\t\t\ttype={type}\n\t\t\t\t\t\tformat={format}\n\t\t\t\t\t\titems={items}\n\t\t\t\t\t\tmanage-items\n\t\t\t\t\t\tselected-items={getSelectedItems([value], format, locale, type)}\n\t\t\t\t\t\tmanage-selected-items\n\t\t\t\t\t\tdisabled-items={disabledItems}\n\t\t\t\t\t\tdisable-weekends={disableWeekends}\n\t\t\t\t\t\tweekend-days={weekendDays}\n\t\t\t\t\t\tweekday-headings={weekdayHeadings}\n\t\t\t\t\t\tfirst-day-of-week={firstDayOfWeek}\n\t\t\t\t\t\thide-adjacent-dates={hideAdjacentDates}\n\t\t\t\t\t\tshow-default-footer-actions={showDefaultFooterActions}\n\t\t\t\t\t\tdefaultFooterActionLabels={defaultFooterActionLabels}\n\t\t\t\t\t\tfooter-actions={footerActions}\n\t\t\t\t\t\thide-footer={hideFooter}\n\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\tcontainer: {\n\t\t\t\t\t\t\t\t...filterAriaAttributes(configAria, 'panel'),\n\t\t\t\t\t\t\t\trole: 'dialog',\n\t\t\t\t\t\t\t\t'aria-modal': 'true',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tiso-week={isoWeek}\n\t\t\t\t\t\tinitial-time={initialTime}\n\t\t\t\t\t\tyear-range={yearRange}\n\t\t\t\t\t/>\n\t\t\t\t</now-popover>\n\t\t\t)}\n\t\t</Fragment>\n\t);\n};\n\n/**\n * Use the input or calendar picker to select a date or date and time value.\n *\n * ```jsx\n * <now-date-time format=\"yyyy/MM/dd\" />\n * <now-date-time format=\"yyyy/MM/dd HH:mm:ss\" type=\"date-time\" />\n * ```\n *\n * By default, the picker type is set for a single date. Setting the `type`\n * property to `'date-time'` allows time to be selected in the calendar.\n *\n * `now-date-time` behaves just like `now-input` with the addition\n * of the calendar. Clicking the input or pressing up/down arrow keys prompts the picker to appear. In the case of arrow keys, focus moves into the\n * calendar.\n *\n * The `format` property uses Unicode Technical Standard (UTS) tokens.\n * See UTS and other supported format characters in the [`date-fns` library](https://date-fns.org/v2.28.0/docs/format).\n *\n * @seismicElement now-date-time\n * @summary Select a date or date and time value via input or calendar picker.\n * @uib.label Date-Time\n * @uib.icon tile-uib-date-time-1-sm\n * @uib.description Select a date or date and time value via input or calendar picker.\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties size, type, disabled, readonly, autofocus, value, manageValue, name, placeholder, label, wrapLabel, required, hideRequiredIndicator, optional, helperContent, invalid, manageInvalid, messages, format, opened, manageOpened, footerActions, showDefaultFooterActions, hideFooter, hideAdjacentDates, panelFitProps, weekdayHeadings, firstDayOfWeek, disableWeekends, weekendDays, disabledItems, configAria, initialTime,isoWeek, align, fieldLayout, defaultFooterActionLabels, yearRange\n * @uib.layout.value.children value, manageValue, name, placeholder, align\n * @uib.layout.value.icon pencil-outline\n * @uib.layout.label.children label, wrapLabel, required, hideRequiredIndicator, optional, helperContent\n * @uib.layout.label.icon text-outline\n * @uib.layout.validation.children invalid, manageInvalid, messages\n * @uib.layout.validation.icon syntax-check-outline\n * @uib.layout.format.children format\n * @uib.layout.format.icon integer-outline\n * @uib.layout.picker.children opened, manageOpened, showDefaultFooterActions, defaultFooterActionLabels, footerActions, hideFooter, hideAdjacentDates, panelFitProps, yearRange, weekdayHeadings, firstDayOfWeek, disableWeekends, weekendDays, initialTime, disabledItems, isoWeek\n * @uib.layout.picker.icon calendar-outline\n * @uib.layout.accessibility.children configAria\n * @uib.layout.accessibility.icon accessibility-outline\n * @uib.actions NOW_DATE_TIME#INVALID_SET, NOW_DATE_TIME#VALUE_SET, NOW_DATE_TIME#INPUT, NOW_DATE_TIME#ENTER_KEYDOWN, NOW_DATE_TIME#OPENED_SET, NOW_DATE_TIME#ITEMS_SET, NOW_DATE_TIME#FOOTER_ACTION_CLICKED\n */\ncreateEnhancedElement('now-date-time', {\n\tproperties: {\n\t\t/**\n\t\t * When true, indicates that the calendar is open.\n\t\t * By default, this value automatically updates when the user opens or closes the calendar.\n\t\t * Use the `manage-opened` property to handle the\n\t\t * `NOW_DATE_TIME#OPENED_SET` action manually instead.\n\t\t * @type {boolean}\n\t\t * @uib.description Flag that indicates whether the calendar is open (true) or closed (false).\n\t\t */\n\t\topened: {\n\t\t\tdefault: false,\n\t\t\tmanageable: true,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * When true, overrides automatic updates to the `opened` property.\n\t\t * An action with type `NOW_DATE_TIME#OPENED_SET` is dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the opened property. Use the opened set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageOpened: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Type of calendar to use with the form field.\n\t\t * - `date`: Calendar allows the user to select the month, day, and year, such as `2024-01-26`.\n\t\t * - `date-time`: Calendar allows the user to select the month, day, year, and time, such as `2024-01-26 23:59:59`.\n\t\t * - `time`: Calendar allows the user to select the time, such as `23:59:59`.\n\t\t * - `month`: Calendar allows the user to select the month and year, such as `2024-01`.\n\t\t * - `year`: Calendar allows the user to select the year, such as `2024`.\n\t\t * - `week-year`: Calendar allows the user to select the week and year, such as `4-2024`. The values for weeks are 1 - 52.\n\t\t * - `quarter`: Calendar allows the user to select the quarter and year, such as `2024-Q1`.\n\t\t * @type {('date'|'date-time'|'time'|'month'|'year'|'week-year'|'quarter')}\n\t\t * @uib.description Type of calendar to use with the form field.\n\t\t */\n\t\ttype: {\n\t\t\tdefault: 'date',\n\t\t\tschema: typesSchema,\n\t\t},\n\t\t/**\n\t\t * The items used to populate the calendar.\n\t\t *\n\t\t * Make public when 'custom' calendar type is supported.\n\t\t * @type {[]}\n\t\t * @private\n\t\t */\n\t\titems: {\n\t\t\tdefault: [],\n\t\t\tmanageable: true,\n\t\t\tschema: itemsSchema,\n\t\t},\n\t\t/**\n\t\t * An array of objects representing dates that can't be selected. String values\n\t\t * must be date strings matching the given `format` property.\n\t\t * Accepted value types:\n\t\t * - Value, such as `{value: \"2020/01/01\"}`.\n\t\t * - Interval, such as `{start: \"2020/01/01\", end: \"2020/12/31\"}`.\n\t\t * - Before-interval, such as `{before: \"2020/01/01\"}`.\n\t\t * - After-interval, such as `{after: \"2020/01/01\"}`.\n\t\t *\n\t\t * Setting this field ensures that the relevant disabled\n\t\t * date items are shown in the disable state and are not\n\t\t * selectable when they are within the visible interval of the calendar.\n\t\t * If a disabled value is entered into the input field, and error message is displayed.\n\t\t * @type {Array.<({value: Date}|{start: Date, end: Date}|{before: Date}|{after: Date})>}\n\t\t * @uib.description Array of objects representing dates that can't be selected. These dates must be string values that match the specified `format` property.\n\t\t */\n\t\tdisabledItems: {\n\t\t\tdefault: [],\n\t\t\tschema: disabledItemsSchema,\n\t\t},\n\t\t/**\n\t\t * Sets the input size.\n\t\t * @type {('sm'|'md')}\n\t\t * @uib.description Sets the input size.\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Small\", \"value\": \"sm\"}, {\"label\": \"Medium\", \"value\": \"md\"}]\n\t\t * @uib.defaultValue md\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['sm', 'md'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Name of the input field. Dispatched along with the field value\n\t\t * when a user interacts with the field.\n\t\t * @type {string}\n\t\t * @uib.label Identifier\n\t\t * @uib.description Name of the input field.\n\t\t */\n\t\tname: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Value of the input field. Unless the input field has pre-populated data,\n\t\t * leave this property empty.\n\t\t * @type {string}\n\t\t * @uib.description Value of the input field. Unless the input field has pre-populated data, leave this property empty.\n\t\t */\n\t\tvalue: {default: '', manageable: true, schema: {type: 'string'}},\n\t\t/**\n\t\t * When true, overrides automatic updates to the `value` property.\n\t\t * An action with type `NOW_DATE_TIME#VALUE_SET` is dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the value property. Use the value set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageValue: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * If set, an information icon with popover text appears next to the field\n\t\t * label to display help text to the user.\n\t\t * Use plain text to allow for translation.\n\t\t * If you don't want to add helper content, leave this property empty.\n\t\t * @type {(string|JSX)}\n\t\t * @uib.description If set, an information icon with popover text appears next to the field label to display help text to the user. Use plain text to allow for translation. If you don't want to add helper content, leave this property empty.\n\t\t * @uib.fieldType string\n\t\t * @uib.translatable true\n\t\t */\n\t\thelperContent: {},\n\t\t/**\n\t\t * When true, the required indicator is hidden. Use this for\n\t\t * forms where most fields are required along with the `optional` flag\n\t\t * for any fields that are not required.\n\t\t * @type {boolean}\n\t\t * @uib.description When true, the required indicator is hidden. Use this for forms where most fields are required along with the `optional` flag for any fields that are not required.\n\t\t */\n\t\thideRequiredIndicator: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, indicates that the field is in an incorrect state,\n\t\t * which is reflected in the field display.\n\t\t * @type {boolean}\n\t\t * @uib.description When true, indicates that the field is in an incorrect state, which is reflected in the field display.\n\t\t */\n\t\tinvalid: {default: false, manageable: true, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, overrides automatic updates to the `invalid` property.\n\t\t * An action with type `NOW_DATE_TIME#INVALID_SET` is dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the invalid property. Use the invalid set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageInvalid: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Required. Label describing the overall purpose of the input field.\n\t\t * @type {string}\n\t\t * @uib.description Label describing the overall purpose of the select field.\n\t\t * @uib.defaultValue Select date\n\t\t * @uib.translatable true\n\t\t */\n\t\tlabel: {required: true, schema: {type: 'string'}},\n\t\t/**\n\t\t * When true, indicates that the user is not required to set a date-time value\n\t\t * in order to complete the form.\n\t\t * @type {boolean}\n\t\t * @uib.description Select to indicate that the field is optional.\n\t\t * @uib.defaultValue false\n\t\t */\n\t\toptional: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, indicates that the user must set a date-time value in order to\n\t\t * complete the form.\n\t\t * @type {boolean}\n\t\t * @uib.description Select to indicate that the field is required.\n\t\t * @uib.defaultValue false\n\t\t */\n\t\trequired: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Required. Format of the date and time input value. Available formats are based on the Unicode Technical Standard (UTS).\n\t\t * For information on UTS and other supported format characters, see the [`date-fns` library](https://date-fns.org/v2.28.0/docs/format).\n\t\t * @type {string}\n\t\t * @uib.description Format of the date and time input value. Based on the Unicode Technical Standard (UTS).\n\t\t * @uib.label Format pattern\n\t\t */\n\t\tformat: {required: true, schema: {type: 'string'}},\n\t\t/**\n\t\t * Object containing keys that reference specific HTML elements within the\n\t\t * component. The value of each key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value(s). These ARIA\n\t\t * properties are set on the specified element.\n\t\t * The 'input' key corresponds to the inner html `<input>` in\n\t\t * now-date-time. For properties and accepted values, see [WAI-ARIA - input](https://www.w3.org/TR/wai-aria-1.2/#input).\n\t\t * The 'panel' key corresponds to the date/time picker panel\n\t\t * in now-date-time. For properties and accepted values, see\n\t\t * [WAI-ARIA Date Picker Combobox Example](https://www.w3.org/WAI/ARIA/apg/example-index/combobox/combobox-datepicker.html).\n\t\t * Note: To enforce accessibility standards, the `role` key is not configurable.\n\t\t * @type {{ 'input': {'aria-*': string}, 'panel': {'aria-*': string} }}\n\t\t * @uib.label ARIA properties\n\t\t * @uib.defaultValue {\"panel\": {\"aria-label\": \"Calendar\"}}\n\t\t * @uib.description ARIA properties that are set on inner html. See https://www.w3.org/WAI/ARIA/apg/example-index/combobox/combobox-datepicker.html for properties and accepted values.\n\t\t */\n\t\tconfigAria: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tinput: configAriaLabelSchema,\n\t\t\t\t\tpanel: {...configAriaLabelSchema, required: ['aria-label']},\n\t\t\t\t},\n\t\t\t\tadditionalProperties: false,\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * When true, the user cannot interact with the field\n\t\t * or change its value and the field appears unavailable.\n\t\t * @type {boolean}\n\t\t * @uib.description Select to prevent the user from interacting with the field or changing its value.\n\t\t */\n\t\tdisabled: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, the focus is automatically placed inside the input\n\t\t * on page load.\n\t\t * @type {boolean}\n\t\t * @uib.label Auto-focus\n\t\t * @uib.description Select to automatically place the focus inside the input on page load.\n\t\t */\n\t\tautofocus: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Hint text displayed in the input when the user has not yet entered a value. When a placeholder is not provided, the component uses the format as the placeholder.\n\t\t * @type {string}\n\t\t * @uib.label Placeholder text\n\t\t * @uib.description Placeholder text for the input field that helps the user understand what input is expected.\n\t\t * @uib.translatable true\n\t\t */\n\t\tplaceholder: {schema: {type: 'string'}},\n\t\t/**\n\t\t * When true, the user cannot modify the value of the field.\n\t\t * @type {boolean}\n\t\t * @uib.label Read Only\n\t\t * @uib.description Select to make the field read-only and prevent users from modifying the value.\n\t\t */\n\t\treadonly: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Array of inline alert messages that display below the field.\n\t\t * @type {Array.<{status: ('critical'|'warning'|'positive'|'info'|'suggestion'), content: (string|JSX), icon: string}>}\n\t\t * @uib.label Alert messages\n\t\t * @uib.description Array of inline alert messages that display below the field.\n\t\t * @uib.fieldType collection\n\t\t * @uib.typeMetadata.collection.cardProperties.heading { \"heading\": \"content\", \"icon\": \"icon\" }\n\t\t */\n\t\tmessages: {default: [], schema: messagesSchema},\n\t\t/**\n\t\t * When true and `type` is `'date'`, the calendar doesn't show dates outside of the\n\t\t * displayed month.\n\t\t * @type {boolean}\n\t\t * @uib.label Hide adjacent months\n\t\t * @uib.description When true and `type` is `'date'`, the calendar doesn't show dates outside the displayed month.\n\t\t */\n\t\thideAdjacentDates: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * Array of objects that define the buttons that appear in the calendar footer. You\n\t\t * can define up to two buttons, set from right to left.\n\t\t *\n\t\t * If defined, overrides `showDefaultFooterActions`. User is responsible\n\t\t * for setting the `opened` property in response to `action.clickActionType`.\n\t\t *\n\t\t * The keys of each object are properties for `now-button`. See\n\t\t * `now-button` for more information about these properties.\n\t\t * @type {{ label: string, variant: string, disabled: boolean, bare: boolean, tooltipContent: string, clickActionType: string, configAria: object, closeCalendar: boolean}[]}\n\t\t * @uib.description Array of objects that define the buttons that appear in the calendar footer.\n\t\t * @uib.fieldType collection\n\t\t * @uib.typeMetadata.collection.cardProperties.heading { \"heading\": \"label\" }\n\t\t */\n\t\tfooterActions: {\n\t\t\tdefault: [],\n\t\t\tschema: footerActionsSchema,\n\t\t},\n\t\t/**\n\t\t * When true, shows the default footer actions.\n\t\t * This property is always overridden by the `footerActions` property.\n\t\t * @type {boolean}\n\t\t * @uib.description Select to show default footer actions.\n\t\t * @uib.defaultValue false\n\t\t */\n\t\tshowDefaultFooterActions: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * Keys to set to configure the calendar panel.\n\t\t * Use these keys to position and scale the panel relative to the panel target.\n\t\t *\n\t\t * Valid keys:\n\t\t *  - position: Array of possible positions in which to place the panel relative to its target. Default: `[\"bottom-start top-start\",\"top-start bottom-start\",\"bottom-end top-end\",\"top-end bottom-end\"]`\n\t\t *  - offset: Number of pixels to offset the panel from its associated trigger.\n\t\t *\n\t\t * @type {{ position: Array<{target: string, content: string}> }}\n\t\t * @uib.description Keys to set to configure the calendar picker.\n\t\t */\n\t\tpanelFitProps: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tposition: {type: 'array', items: {type: 'string'}},\n\t\t\t\t\toffset: {\n\t\t\t\t\t\toneOf: [{type: 'number'}, {type: 'array', items: {type: 'number'}}],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Sets the first day of the week on the calendar panel.\n\t\t * Value can range from `0` (Sunday) to `6` (Saturday).\n\t\t * Only applies when the `format` property is `day` or `week` and the\n\t\t * `type` property is `date` or `date-time`.\n\t\t * @type {(0|1|2|3|4|5|6)}\n\t\t * @uib.description Sets the first day of the week on the calendar panel.\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Sunday\", \"value\": \"0\"}, {\"label\": \"Monday\", \"value\": \"1\"}, {\"label\": \"Tuesday\", \"value\": \"2\"}, {\"label\": \"Wednesday\", \"value\": \"3\"}, {\"label\": \"Thursday\", \"value\": \"4\"}, {\"label\": \"Friday\", \"value\": \"5\"}, {\"label\": \"Saturday\", \"value\": \"6\"}]\n\t\t */\n\t\tfirstDayOfWeek: {\n\t\t\tdefault: 0,\n\t\t\tschema: {type: 'integer', enum: [0, 1, 2, 3, 4, 5, 6]},\n\t\t},\n\t\t/**\n\t\t * When true, removes the footer from the calendar panel.\n\t\t * @type {boolean}\n\t\t * @uib.description Select to remove the footer from the calendar panel.\n\t\t * @uib.defaultValue false\n\t\t */\n\t\thideFooter: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * When true and type is `week-year`, the date calculation accounts for an ISO week.\n\t\t * Defaults the first day of the week to Monday.\n\t\t * @type {boolean}\n\t\t * @uib.description Select to have the date calculation account for an ISO week. Defaults the first day of the week to Monday.\n\t\t * @uib.defaultValue false\n\t\t * @uib.label ISO Calendar\n\t\t */\n\t\tisoWeek: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, weekend days can't be selected on the `'date'` calendar type. Weekend days are\n\t\t * determined by the `weekendDays` property.\n\t\t * @type {boolean}\n\t\t * @uib.description Select to turn off weekend days. Weekend days are determined by the `weekendDays` property.\n\t\t */\n\t\tdisableWeekends: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * Sets which days are weekend days. Defaults to `6` (Saturday) and `0` (Sunday).\n\t\t * @type {number[]}\n\t\t * @uib.description Sets which days are weekend days. Defaults to `6` (Saturday) and `0` (Sunday).\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Saturday and Sunday\", \"value\": \"[6,0]\"}, {\"label\": \"Friday and Saturday\", \"value\": \"[5,6]\"}]\n\t\t */\n\t\tweekendDays: {\n\t\t\tdefault: [6, 0],\n\t\t},\n\t\t/**\n\t\t * Sets the locale value.\n\t\t * Valid values are the locale objects in the date-fns library.\n\t\t * @type {(object|string)}\n\t\t */\n\t\tlocale: {\n\t\t\tschema: {type: ['object', 'string']},\n\t\t},\n\t\t/**\n\t\t * Sets the length of the weekday headings.\n\t\t * Valid values:\n\t\t * - short: Two-character headings, such as Su, Mo, Tu, We, and Th.\n\t\t * - narrow: One-character headings, such as S, M, T, W, and T.\n\t\t * @type {('short'|'narrow')}\n\t\t * @uib.label Day of week headings\n\t\t * @uib.description Configures the length of the weekday headings.\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Short\", \"value\": \"short\"}, {\"label\": \"Narrow\", \"value\": \"narrow\"}]\n\t\t * @uib.defaultValue narrow\n\t\t */\n\t\tweekdayHeadings: {\n\t\t\tdefault: 'narrow',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['short', 'narrow'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Configures the initial time for the date-time component format.\n\t\t * @type {string}\n\t\t * @uib.label Default time\n\t\t * @uib.description Configures the initial time for the date-time format.\n\t\t */\n\t\tinitialTime: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Text alignment within an input field.\n\t\t * - `start`: Align the text to the start of the input field.\n\t\t * - `center`: Align the text to the center of the input field.\n\t\t * - `end`: Align the text to the end of the input field.\n\t\t * Default:  `start`.\n\t\t * @type {('start'|'center'|'end')}\n\t\t * @uib.label Text align\n\t\t * @uib.description Text alignment within an input field.\n\t\t * @uib.defaultValue start\n\t\t */\n\t\talign: {\n\t\t\tdefault: 'start',\n\t\t\tschema: {type: 'string', enum: ['start', 'center', 'end']},\n\t\t},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Sets whether the layout is vertical (stacked view) or horizontal (inline view).\n\t\t * In a horizontal layout, a typical component has three containers: label, form-field, and slotted content (also known as label end).\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, fields, and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field, and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, fields, and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: {layout: 'vertical'},\n\t\t\tschema: fieldLayoutSchema,\n\t\t},\n\t\t/**\n\t\t * Configures the label value of the default footer action buttons.\n\t\t * Allows for the use of default footer action functionality with\n\t\t * custom label names.\n\t\t * @type {string}\n\t\t * @uib.label Default Footer Action Labels\n\t\t * @uib.description Allows for custom naming of default footer action buttons.\n\t\t * @uib.fieldType json\n\t\t */\n\t\tdefaultFooterActionLabels: {\n\t\t\tdefault: {apply: 'Apply', cancel: 'Cancel'},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Indicates whether the user has manually set the date within\n\t\t * the date-time input field.\n\t\t * @private\n\t\t */\n\t\tisDateManuallySet: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * Configures the range of years visible in the calendar.\n\t\t * Can either be relative to the current year, or an absolute range.\n\t\t * The default range is 50 years before and after the current year.\n\t\t * Note: years can be input in the field even if outside of this range.\n\t\t * @type {{start: number, end: number, relative: boolean}}\n\t\t * @uib.description Configures the range of years visible in the calendar. Can either be relative to the current year, or an absolute range. Note: years can be input in the field even if outside of this range.\n\t\t */\n\t\tyearRange: {\n\t\t\tdefault: {start: -50, end: 50, relative: true},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tstart: {type: 'number'},\n\t\t\t\t\tend: {type: 'number'},\n\t\t\t\t\trelative: {type: 'boolean'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Set to true to wrap the label if it does not fit on one line.\n\t\t * @type {boolean}\n\t\t * @uib.description Wraps the label if it does not fit on one line.\n\t\t */\n\t\twrapLabel: {default: false, schema: {type: 'boolean'}},\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot for field decorators on the inline-start side\n\t\t * of the input field.\n\t\t */\n\t\tstart: {},\n\t\t/**\n\t\t * Slot for field decorators on the inline-end side\n\t\t * of the input field.\n\t\t */\n\t\tend: {},\n\t\t/**\n\t\t * Slot for label end metadata. Located at the end of the label.\n\t\t */\n\t\t'label-end': {},\n\t\t/**\n\t\t * Slot for label, located inline after the label. For the `horizontal` layout, it is placed before the label.\n\t\t */\n\t\t'label-inline': {},\n\t\t/**\n\t\t * Slot for label, located at the start of the label. For the `horizontal` field layout, it is placed after the label.\n\t\t */\n\t\t'label-start': {},\n\t},\n\tinitialState: {\n\t\tactiveInput: null,\n\t\tshouldFocusCalendar: false,\n\t\tprevValue: null,\n\t\tpositionTarget: null,\n\t\tprefix: 'NOW_DATE_TIME#',\n\t\tmode: 'standard',\n\t},\n\tactionHandlers: {\n\t\t...actions,\n\t\t['PRIVATE#FOCUS_CALENDAR']({\n\t\t\thost,\n\t\t\tstate,\n\t\t\tproperties,\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t}) {\n\t\t\tconst {opened} = properties;\n\t\t\tif (opened) {\n\t\t\t\tfocusCalendar(host, {\n\t\t\t\t\tstate: {...state, shouldFocusCalendar: true},\n\t\t\t\t\tupdateState,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tupdateState({shouldFocusCalendar: true});\n\t\t\t\tdispatch('NOW_DATE_TIME#OPENED_SET', {value: true});\n\t\t\t}\n\t\t},\n\t\t['PRIVATE#VALIDATE']({\n\t\t\tcontext,\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\tproperties,\n\t\t\tupdateProperties,\n\t\t\tstate,\n\t\t}) {\n\t\t\tconst {disabled, readonly, type, format, name} = properties;\n\n\t\t\tconst {prefix} = state;\n\t\t\tlet errors = [];\n\n\t\t\tlet {fieldValue, initiator} = action.payload;\n\n\t\t\t// on bootstrap, use the values from properties\n\t\t\t// empty string on boostrap should be seen as undefined\n\t\t\tif (initiator === COMPONENT_DOM_TREE_READY || initiator === public_api) {\n\t\t\t\tfieldValue = properties?.value || undefined;\n\t\t\t}\n\n\t\t\tlet {valid, errorId} = checkForErrors(fieldValue, FORMAT_MATCH_ERROR_ID, {\n\t\t\t\tcontext,\n\t\t\t\tproperties,\n\t\t\t\tupdateProperties,\n\t\t\t});\n\t\t\tlet isValueDisabled;\n\t\t\tif (valid) {\n\t\t\t\tconst {isDisabled} = checkForDisabledDates(\n\t\t\t\t\tfieldValue || properties?.value,\n\t\t\t\t\tUNAVAILABLE_ERROR_ID,\n\t\t\t\t\t{context, properties, updateProperties},\n\t\t\t\t);\n\t\t\t\tisValueDisabled = isDisabled;\n\t\t\t\tif (isDisabled) errorId = UNAVAILABLE_ERROR_ID;\n\t\t\t}\n\t\t\tif (errorId) errors.push(errorId);\n\n\t\t\tlet value = !(readonly || disabled);\n\t\t\tif (!(readonly || disabled)) {\n\t\t\t\tconst {errorId: configErrorID, valid: configValid} =\n\t\t\t\t\tcheckIfConfigurationIsValid({\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\tproperties,\n\t\t\t\t\t\tupdateProperties,\n\t\t\t\t\t});\n\n\t\t\t\tif (configErrorID) errors.push(configErrorID);\n\t\t\t\tvalue = value && (isValueDisabled || !valid || !configValid);\n\t\t\t} else {\n\t\t\t\tvalue = value && (isValueDisabled || !valid);\n\t\t\t}\n\n\t\t\tdispatch(() => {\n\t\t\t\treturn {\n\t\t\t\t\ttype: `${prefix}INVALID_SET`,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tname: name ?? `input-${properties.nowId}`,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tfieldValue,\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tformat,\n\t\t\t\t\t\terrorId: errors,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Automatically updates when the user opens or closes the visual calendar picker.\n\t\t * To override the default behavior and handle the\n\t\t * `NOW_DATE_TIME#OPENED_SET` action manually, set the `manage-opened` property.\n\t\t * @type {boolean}\n\t\t */\n\t\t'NOW_DATE_TIME#OPENED_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {value: {type: 'boolean'}},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the component's visual date items are set.\n\t\t * The payload is an array containing one or more arrays, each representing\n\t\t * a \"row\" on the date grid. Each row contains items corresponding to\n\t\t * a given date item.\n\t\t * The payload key `value` contains the array of date grid rows and items.\n\t\t * To override the default behavior and handle this action manually,\n\t\t * set the `manage-selected-item` property.\n\t\t * @type {{value: []}}\n\t\t */\n\t\t'NOW_DATE_TIME#ITEMS_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {value: itemsSchema},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user selects a footer action item. The payload\n\t\t * includes a reference to the selected item and action. To override the action type,\n\t\t * set the `action.clickActionType` property.\n\t\t * @type {{action: Object}}\n\t\t */\n\t\t'NOW_DATE_TIME#FOOTER_ACTION_CLICKED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\taction: {\n\t\t\t\t\t\toneOf: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\tvariant: {\n\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\tenum: [\n\t\t\t\t\t\t\t\t\t\t\t'primary',\n\t\t\t\t\t\t\t\t\t\t\t'primary-positive',\n\t\t\t\t\t\t\t\t\t\t\t'primary-negative',\n\t\t\t\t\t\t\t\t\t\t\t'secondary',\n\t\t\t\t\t\t\t\t\t\t\t'secondary-positive',\n\t\t\t\t\t\t\t\t\t\t\t'secondary-negative',\n\t\t\t\t\t\t\t\t\t\t\t'tertiary',\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tlabel: {type: 'string'},\n\t\t\t\t\t\t\t\t\tbare: {type: 'boolean'},\n\t\t\t\t\t\t\t\t\tdisabled: {type: 'boolean'},\n\t\t\t\t\t\t\t\t\ttooltipContent: {type: 'string'},\n\t\t\t\t\t\t\t\t\tclickActionType: {type: 'string'},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{type: 'object', properties: {isDefault: {const: true}}},\n\t\t\t\t\t\t\t{type: 'object', properties: {isToday: {const: true}}},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user moves focus away from the field.\n\t\t * The payload contains the following properties:\n\t\t * - `name`: String. Value of the `name` property.\n\t\t * - `value`: Boolean. Value of the `invalid` property, which is based on\n\t\t *   the values of the `required` and `format` properties.\n\t\t * - `fieldValue`: String. Value entered in the field.\n\t\t * - `type`: String. Value of the `type` property.\n\t\t * - `format`: String. Value of the `format` property.\n\t\t * - `errorId`: String. Value of the `errorId` property.\n\t\t *\n\t\t * To override the default behavior and\n\t\t * handle this action manually, set the `manageInvalid` property.\n\t\t * @type {{name: string, value: boolean, fieldValue: string, type: string, format: string, errorId: string}}\n\t\t */\n\t\t'NOW_DATE_TIME#INVALID_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tvalue: {type: 'boolean'},\n\t\t\t\t\tfieldValue: {type: 'string'},\n\t\t\t\t\ttype: {type: 'string'},\n\t\t\t\t\tformat: {type: 'string'},\n\t\t\t\t\terrorId: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user moves focus away from the field upon manually\n\t\t * entering a date, or when the field value changes via a calendar selection.\n\t\t * Only dispatches when the value is valid.\n\t\t * The payload contains the following properties:\n\t\t * - `name`: String. Value of the `name` property.\n\t\t * - `value`: String. Value entered in the field.\n\t\t * - `format`: String. Value of the `format` property.\n\t\t * - `type`: String. Value of the `type` property.\n\t\t * - `date`: The Date() constructor of the value.\n\t\t * - `isoDate`: String. The ISO formatted value.\n\t\t *\n\t\t * To override the default behavior and\n\t\t * handle this action manually, set the `manage-value` property.\n\t\t * @type {{name: string, value: string, format: string, date: Date, isoDate: string}}\n\t\t */\n\t\t'NOW_DATE_TIME#VALUE_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tvalue: {type: 'string'},\n\t\t\t\t\ttype: {type: 'string'},\n\t\t\t\t\tformat: {type: 'string'},\n\t\t\t\t\tdate: {type: 'object'},\n\t\t\t\t\tisoDate: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user enters data in a field by typing or\n\t\t * pasting text. The system does not validate the content or update\n\t\t * the `value` property.\n\t\t * The payload contains the following properties:\n\t\t * - `name`: String. Value of the `name` property.\n\t\t * - `data`: String. Value entered in the field that caused the event to fire.\n\t\t * - `fieldValue`: String. Current value of the field when the event fired.\n\t\t * @type {{name: string, data: string, fieldValue: string, format: string, date: Date, isoDate: string, valid: boolean}}\n\t\t */\n\t\t'NOW_DATE_TIME#INPUT': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tdata: {type: 'string'},\n\t\t\t\t\tfieldValue: {type: 'string'},\n\t\t\t\t\ttype: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user presses the Enter key while focus is inside\n\t\t * the input.\n\t\t * @type {{name: string, value: string, format: string, date: Date, isoDate: string, valid: boolean}}\n\t\t */\n\t\t'NOW_DATE_TIME#ENTER_KEYDOWN': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tfieldValue: {type: 'string'},\n\t\t\t\t\ttype: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: (host) => {\n\t\t\t\t\tconst focusTarget = host.shadowRoot\n\t\t\t\t\t\t.querySelector('now-input-date-time.now-date-time-input')\n\t\t\t\t\t\t.shadowRoot.querySelector('now-input.now-input-date-time-input')\n\t\t\t\t\t\t.shadowRoot.querySelector('input.now-input-native');\n\n\t\t\t\t\tif (focusTarget) {\n\t\t\t\t\t\tfocusTarget.focus();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbehavior: deferBehavior,\n\t\t\toptions: {\n\t\t\t\tevents: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'mouseenter',\n\t\t\t\t\t\ttrigger: 'now-input-date-time',\n\t\t\t\t\t\ttarget: 'now-date-time-calendar',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t],\n\tstyles,\n\tview,\n});\n","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a day\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\nexport default function startOfDay(dirtyDate) {\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  date.setHours(0, 0, 0, 0);\n  return date;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfYear\n * @category Year Helpers\n * @summary Return the start of a year for the given date.\n *\n * @description\n * Return the start of a year for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a year for 2 September 2014 11:55:00:\n * const result = startOfYear(new Date(2014, 8, 2, 11, 55, 00))\n * //=> Wed Jan 01 2014 00:00:00\n */\nexport default function startOfYear(dirtyDate) {\n  requiredArgs(1, arguments);\n  var cleanDate = toDate(dirtyDate);\n  var date = new Date(0);\n  date.setFullYear(cleanDate.getFullYear(), 0, 1);\n  date.setHours(0, 0, 0, 0);\n  return date;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfHour\n * @category Hour Helpers\n * @summary Return the start of an hour for the given date.\n *\n * @description\n * Return the start of an hour for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of an hour\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of an hour for 2 September 2014 11:55:00:\n * const result = startOfHour(new Date(2014, 8, 2, 11, 55))\n * //=> Tue Sep 02 2014 11:00:00\n */\nexport default function startOfHour(dirtyDate) {\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  date.setMinutes(0, 0, 0);\n  return date;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfMinute\n * @category Minute Helpers\n * @summary Return the start of a minute for the given date.\n *\n * @description\n * Return the start of a minute for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a minute\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a minute for 1 December 2014 22:15:45.400:\n * const result = startOfMinute(new Date(2014, 11, 1, 22, 15, 45, 400))\n * //=> Mon Dec 01 2014 22:15:00\n */\nexport default function startOfMinute(dirtyDate) {\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  date.setSeconds(0, 0);\n  return date;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfSecond\n * @category Second Helpers\n * @summary Return the start of a second for the given date.\n *\n * @description\n * Return the start of a second for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a second\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a second for 1 December 2014 22:15:45.400:\n * const result = startOfSecond(new Date(2014, 11, 1, 22, 15, 45, 400))\n * //=> Mon Dec 01 2014 22:15:45.000\n */\nexport default function startOfSecond(dirtyDate) {\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  date.setMilliseconds(0);\n  return date;\n}","import { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfWeek\n * @category Week Helpers\n * @summary Return the end of a week for the given date.\n *\n * @description\n * Return the end of a week for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Date} the end of a week\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n *\n * @example\n * // The end of a week for 2 September 2014 11:55:00:\n * const result = endOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sat Sep 06 2014 23:59:59.999\n *\n * @example\n * // If the week starts on Monday, the end of the week for 2 September 2014 11:55:00:\n * const result = endOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Sun Sep 07 2014 23:59:59.999\n */\nexport default function endOfWeek(dirtyDate, options) {\n  var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n  requiredArgs(1, arguments);\n  var defaultOptions = getDefaultOptions();\n  var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0);\n\n  // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n  if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n    throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n  }\n  var date = toDate(dirtyDate);\n  var day = date.getDay();\n  var diff = (day < weekStartsOn ? -7 : 0) + 6 - (day - weekStartsOn);\n  date.setDate(date.getDate() + diff);\n  date.setHours(23, 59, 59, 999);\n  return date;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfMonth\n * @category Month Helpers\n * @summary Return the end of a month for the given date.\n *\n * @description\n * Return the end of a month for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of a month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of a month for 2 September 2014 11:55:00:\n * const result = endOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 30 2014 23:59:59.999\n */\nexport default function endOfMonth(dirtyDate) {\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  var month = date.getMonth();\n  date.setFullYear(date.getFullYear(), month + 1, 0);\n  date.setHours(23, 59, 59, 999);\n  return date;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfQuarter\n * @category Quarter Helpers\n * @summary Return the end of a year quarter for the given date.\n *\n * @description\n * Return the end of a year quarter for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of a quarter\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of a quarter for 2 September 2014 11:55:00:\n * const result = endOfQuarter(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 30 2014 23:59:59.999\n */\nexport default function endOfQuarter(dirtyDate) {\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  var currentMonth = date.getMonth();\n  var month = currentMonth - currentMonth % 3 + 3;\n  date.setMonth(month, 0);\n  date.setHours(23, 59, 59, 999);\n  return date;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfYear\n * @category Year Helpers\n * @summary Return the end of a year for the given date.\n *\n * @description\n * Return the end of a year for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of a year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of a year for 2 September 2014 11:55:00:\n * const result = endOfYear(new Date(2014, 8, 2, 11, 55, 00))\n * //=> Wed Dec 31 2014 23:59:59.999\n */\nexport default function endOfYear(dirtyDate) {\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  var year = date.getFullYear();\n  date.setFullYear(year + 1, 0, 0);\n  date.setHours(23, 59, 59, 999);\n  return date;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfHour\n * @category Hour Helpers\n * @summary Return the end of an hour for the given date.\n *\n * @description\n * Return the end of an hour for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of an hour\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of an hour for 2 September 2014 11:55:00:\n * const result = endOfHour(new Date(2014, 8, 2, 11, 55))\n * //=> Tue Sep 02 2014 11:59:59.999\n */\nexport default function endOfHour(dirtyDate) {\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  date.setMinutes(59, 59, 999);\n  return date;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfMinute\n * @category Minute Helpers\n * @summary Return the end of a minute for the given date.\n *\n * @description\n * Return the end of a minute for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of a minute\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of a minute for 1 December 2014 22:15:45.400:\n * const result = endOfMinute(new Date(2014, 11, 1, 22, 15, 45, 400))\n * //=> Mon Dec 01 2014 22:15:59.999\n */\nexport default function endOfMinute(dirtyDate) {\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  date.setSeconds(59, 999);\n  return date;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfSecond\n * @category Second Helpers\n * @summary Return the end of a second for the given date.\n *\n * @description\n * Return the end of a second for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of a second\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of a second for 1 December 2014 22:15:45.400:\n * const result = endOfSecond(new Date(2014, 11, 1, 22, 15, 45, 400))\n * //=> Mon Dec 01 2014 22:15:45.999\n */\nexport default function endOfSecond(dirtyDate) {\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  date.setMilliseconds(999);\n  return date;\n}","import {\n\tstartOfDay,\n\tstartOfWeek,\n\tstartOfMonth,\n\tstartOfQuarter,\n\tstartOfYear,\n\tstartOfHour,\n\tstartOfMinute,\n\tstartOfSecond,\n\tendOfWeek,\n\tendOfMonth,\n\tendOfQuarter,\n\tendOfYear,\n\tendOfHour,\n\tendOfMinute,\n\tendOfSecond,\n} from 'date-fns';\n\n// date-fns methods exposed as object key names\nexport const dateFnsLookUp = {\n\tstartOfDay,\n\tstartOfWeek,\n\tstartOfMonth,\n\tstartOfQuarter,\n\tstartOfYear,\n\tstartOfHour,\n\tstartOfMinute,\n\tstartOfSecond,\n\tendOfWeek,\n\tendOfMonth,\n\tendOfQuarter,\n\tendOfYear,\n\tendOfHour,\n\tendOfMinute,\n\tendOfSecond,\n};\n","import toInteger from \"../_lib/toInteger/index.js\";\nimport addMilliseconds from \"../addMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addSeconds\n * @category Second Helpers\n * @summary Add the specified number of seconds to the given date.\n *\n * @description\n * Add the specified number of seconds to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of seconds to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the seconds added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 30 seconds to 10 July 2014 12:45:00:\n * const result = addSeconds(new Date(2014, 6, 10, 12, 45, 0), 30)\n * //=> Thu Jul 10 2014 12:45:30\n */\nexport default function addSeconds(dirtyDate, dirtyAmount) {\n  requiredArgs(2, arguments);\n  var amount = toInteger(dirtyAmount);\n  return addMilliseconds(dirtyDate, amount * 1000);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addMilliseconds from \"../addMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_MINUTE = 60000;\n\n/**\n * @name addMinutes\n * @category Minute Helpers\n * @summary Add the specified number of minutes to the given date.\n *\n * @description\n * Add the specified number of minutes to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of minutes to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the minutes added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 30 minutes to 10 July 2014 12:00:00:\n * const result = addMinutes(new Date(2014, 6, 10, 12, 0), 30)\n * //=> Thu Jul 10 2014 12:30:00\n */\nexport default function addMinutes(dirtyDate, dirtyAmount) {\n  requiredArgs(2, arguments);\n  var amount = toInteger(dirtyAmount);\n  return addMilliseconds(dirtyDate, amount * MILLISECONDS_IN_MINUTE);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addMilliseconds from \"../addMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_HOUR = 3600000;\n\n/**\n * @name addHours\n * @category Hour Helpers\n * @summary Add the specified number of hours to the given date.\n *\n * @description\n * Add the specified number of hours to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of hours to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the hours added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 2 hours to 10 July 2014 23:00:00:\n * const result = addHours(new Date(2014, 6, 10, 23, 0), 2)\n * //=> Fri Jul 11 2014 01:00:00\n */\nexport default function addHours(dirtyDate, dirtyAmount) {\n  requiredArgs(2, arguments);\n  var amount = toInteger(dirtyAmount);\n  return addMilliseconds(dirtyDate, amount * MILLISECONDS_IN_HOUR);\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfDay\n * @category Day Helpers\n * @summary Return the end of a day for the given date.\n *\n * @description\n * Return the end of a day for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of a day\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of a day for 2 September 2014 11:55:00:\n * const result = endOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 23:59:59.999\n */\nexport default function endOfDay(dirtyDate) {\n  requiredArgs(1, arguments);\n  var date = toDate(dirtyDate);\n  date.setHours(23, 59, 59, 999);\n  return date;\n}","import {PresetTypes, PresetKeywords} from '@servicenow/library-date-time';\nimport {t} from 'sn-translate';\nimport {dateFnsLookUp} from './date-fns-lookup';\nimport {\n\tCUSTOM_PRESET_OPTION,\n\tUNGROUPED_GROUP_LABEL,\n\tpresetTranslations,\n} from '../utils/constants';\nimport {\n\tformatTZ,\n\tlocaleContext,\n\ttimezoneContext,\n} from '@servicenow/library-date-time';\nimport {\n\tsub,\n\tadd,\n\taddSeconds,\n\taddMinutes,\n\taddHours,\n\tendOfDay,\n\tendOfWeek,\n\tendOfQuarter,\n\tstartOfDay,\n\tstartOfWeek,\n\tstartOfMonth,\n\tstartOfQuarter,\n\tstartOfYear,\n\tendOfMonth,\n\tendOfYear,\n} from 'date-fns';\n\nconst {NEXT, LAST, CURRENT, TO_DATE} = PresetKeywords;\n\nconst {\n\tSTART,\n\tEND,\n\tDAY,\n\tDAYS,\n\tWEEK,\n\tWEEKS,\n\tMONTH,\n\tMONTHS,\n\tQUARTER,\n\tQUARTERS,\n\tYEAR,\n\tYEARS,\n\tHOUR,\n\tHOURS,\n\tMINUTE,\n\tMINUTES,\n\tSECOND,\n\tSECONDS,\n} = PresetTypes;\n\nimport {DateTypes} from '@servicenow/library-date-time';\nimport {addToDate, getGroupsCount, getHoistedPreset} from '../utils/helper';\n\nexport default class Presets {\n\tstatic PRESET_DEFAULT_HEIGHT = 200;\n\tstatic DEFAULT_PRESETS = [\n\t\t{\n\t\t\tkeyword: 'Last',\n\t\t\tduration: 7,\n\t\t\tpresetType: 'days',\n\t\t\torder: 1,\n\t\t\tgroupLabel: t('Days'),\n\t\t},\n\t\t{\n\t\t\tkeyword: 'Last',\n\t\t\tpresetType: 'month',\n\t\t\torder: 2,\n\t\t\tgroupLabel: t('Months'),\n\t\t},\n\t\t{\n\t\t\tkeyword: 'Last',\n\t\t\tduration: 3,\n\t\t\tpresetType: 'months',\n\t\t\torder: 3,\n\t\t\tgroupLabel: t('Months'),\n\t\t},\n\t\t{\n\t\t\tkeyword: 'Last',\n\t\t\tduration: 6,\n\t\t\tpresetType: 'months',\n\t\t\torder: 4,\n\t\t\tgroupLabel: t('Months'),\n\t\t},\n\t\t{\n\t\t\tkeyword: 'Last',\n\t\t\tpresetType: 'year',\n\t\t\torder: 5,\n\t\t\tgroupLabel: t('Years'),\n\t\t},\n\t];\n\n\tconstructor() {\n\t\tthis.customLabelPositionIsBottom = false;\n\t\tthis.groups = {};\n\t\tthis.showGroups = false;\n\t\tthis.otherGroups = [];\n\t\tthis.presetItems = [];\n\t}\n\n\tbyOrderSort(a, b) {\n\t\tif (a.order < b.order) {\n\t\t\treturn -1;\n\t\t} else if (a.order > b.order) {\n\t\t\treturn 1;\n\t\t} else {\n\t\t\treturn 0;\n\t\t}\n\t}\n\n\tsortPresets() {\n\t\t//sort by group\n\t\tif (this.showGroups) {\n\t\t\tObject.keys(this.groups).forEach((group) => {\n\t\t\t\tthis.groups[group].sort(this.byOrderSort);\n\t\t\t});\n\t\t\tthis.noGroup.sort(this.byOrderSort);\n\t\t} else {\n\t\t\tthis.presetItems.sort(this.byOrderSort);\n\t\t}\n\t}\n\n\tsetState(state) {\n\t\tlet tempPresets =\n\t\t\tstate.properties?.presets ?? state.properties?.customPresets;\n\t\tconst {showGroups} = state.properties;\n\t\tif (tempPresets.length === 0) tempPresets = Presets.DEFAULT_PRESETS;\n\t\tthis.customLabelPositionIsBottom =\n\t\t\tstate.properties.customPresetPositionBottom || false;\n\t\tthis.presetItems = this.customLabelPositionIsBottom\n\t\t\t? [...tempPresets, {...CUSTOM_PRESET_OPTION}]\n\t\t\t: [{...CUSTOM_PRESET_OPTION}, ...tempPresets];\n\t\tthis.state = state;\n\t\tthis.selectedIndex = state.selectedPresetIndex;\n\t\tthis.lastFocusItemIndex = state.lastFocusItemIndex ?? -1;\n\t\tthis.selectedGroupLabel = state.selectedGroupLabel;\n\t\tthis.showGroups = showGroups;\n\t\tif (this.showGroups) this.setGroups(this.presetItems);\n\t\tthis.sortPresets();\n\t}\n\n\tsetGroups() {\n\t\tif (!this.presetItems) return;\n\t\tthis.groups = {};\n\t\tthis.noGroup = [];\n\n\t\tthis.presetItems.forEach((item) => {\n\t\t\tif (!item.groupLabel) {\n\t\t\t\tif (!this.groups[UNGROUPED_GROUP_LABEL]) {\n\t\t\t\t\tthis.groups[UNGROUPED_GROUP_LABEL] = [];\n\t\t\t\t}\n\t\t\t\tthis.groups[UNGROUPED_GROUP_LABEL].push(item);\n\t\t\t} else {\n\t\t\t\tif (!this.groups[item.groupLabel]) this.groups[item.groupLabel] = [];\n\t\t\t\tthis.groups[item.groupLabel].push(item);\n\t\t\t}\n\t\t});\n\t}\n\n\tsetSelected(item, index, selectedPresetIndex, lastFocusItemIndex) {\n\t\treturn Object.assign(item, {\n\t\t\tindex,\n\t\t\tselected: index === selectedPresetIndex,\n\t\t\tfocused: index === lastFocusItemIndex,\n\t\t});\n\t}\n\n\tsetDispatch(dispatch) {\n\t\tthis.dispatch = dispatch;\n\t}\n\n\tgetPresetItemIndex(item) {\n\t\tlet presetListFromGroups = [];\n\t\tfor (const group in this.groups) {\n\t\t\tpresetListFromGroups = [...presetListFromGroups, ...this.groups[group]];\n\t\t}\n\t\tif (item.presetType === 'business') {\n\t\t\treturn presetListFromGroups.findIndex(\n\t\t\t\t(p) =>\n\t\t\t\t\tp.label === item.label &&\n\t\t\t\t\tp.startDate === item.startDate &&\n\t\t\t\t\tp.endDate === item.endDate,\n\t\t\t);\n\t\t}\n\t\treturn presetListFromGroups.findIndex(\n\t\t\t(p) =>\n\t\t\t\tp.keyword === item.keyword &&\n\t\t\t\tp.presetType === item.presetType &&\n\t\t\t\tp.duration === item.duration,\n\t\t);\n\t}\n\n\tgetGroupItems(\n\t\tgroup,\n\t\tpresets,\n\t\tselectedIndex,\n\t\tmatchingGroupLabel,\n\t\tlastFocusItemIndex,\n\t\tsetSize = null,\n\t\tgroupStartIndex = null,\n\t) {\n\t\treturn presets.map((item, index) => {\n\t\t\tconst presetItemIndex = this.getPresetItemIndex(item);\n\t\t\tconst presetItem = Object.assign(item, {\n\t\t\t\tindex,\n\t\t\t\tselected: index === selectedIndex && matchingGroupLabel,\n\t\t\t\tfocused: presetItemIndex === lastFocusItemIndex,\n\t\t\t\tsetSize: setSize,\n\t\t\t\tposition: groupStartIndex === null ? null : groupStartIndex + index,\n\t\t\t\tgroup: group,\n\t\t\t});\n\t\t\treturn this.getItem(presetItem);\n\t\t});\n\t}\n\tgetItem(item) {\n\t\tconst preset = this.formatPreset(item);\n\t\tconst {selected, focused, setSize, position} = item;\n\t\tconst isCustomKeyword = item.keyword === 'Custom';\n\t\tconst isBusinessType = item.presetType === 'business';\n\t\treturn (\n\t\t\t<div\n\t\t\t\trole=\"option\"\n\t\t\t\ttabindex={focused ? '0' : '-1'}\n\t\t\t\ton-click={this.handleClick(item)}\n\t\t\t\tclass={{\n\t\t\t\t\t'now-date-time-presets-listitem': true,\n\t\t\t\t\t'is-selected': selected,\n\t\t\t\t}}\n\t\t\t\taria-selected={selected ? 'true' : 'false'}\n\t\t\t\taria-setsize={setSize}\n\t\t\t\taria-posinset={position}\n\t\t\t\taria-label={\n\t\t\t\t\tisCustomKeyword ? t('Custom, focus will move to current date') : null\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{selected ? (\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\ticon=\"check-outline\"\n\t\t\t\t\t\tclassName=\"now-date-time-presets-checkmark\"\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<div className=\"now-date-time-presets-checkmark\" />\n\t\t\t\t)}\n\t\t\t\t<div>{isBusinessType ? item.label : preset}</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tgetCustomLabelIndex = () => {\n\t\treturn this.customLabelPositionIsBottom ? this.presetItems.length - 1 : 0;\n\t};\n\n\tgetActivePreset(activePreset) {\n\t\tconst {keyword, presetType, duration, label} = activePreset;\n\t\tlet activePresetIndex, activePresetGroup;\n\n\t\tif (this.showGroups) {\n\t\t\tfor (const group of Object.keys(this.groups)) {\n\t\t\t\tconst groupPresets = this.groups[group];\n\t\t\t\tif (groupPresets.length > 0) {\n\t\t\t\t\tif (presetType === 'business') {\n\t\t\t\t\t\tactivePresetIndex = groupPresets.findIndex(\n\t\t\t\t\t\t\t(p) => p.label === label,\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tactivePresetIndex = groupPresets.findIndex(\n\t\t\t\t\t\t\t(p) =>\n\t\t\t\t\t\t\t\tp.keyword === keyword &&\n\t\t\t\t\t\t\t\tp.presetType === presetType &&\n\t\t\t\t\t\t\t\tp.duration === duration,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (activePresetIndex > -1) {\n\t\t\t\t\t\tactivePresetGroup = groupPresets[activePresetIndex].group;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif (presetType === 'business') {\n\t\t\t\tactivePresetIndex = this.presetItems?.findIndex(\n\t\t\t\t\t(p) => p.label === label,\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tactivePresetIndex = this.presetItems?.findIndex(\n\t\t\t\t\t(p) =>\n\t\t\t\t\t\tp.keyword === keyword &&\n\t\t\t\t\t\tp.presetType === presetType &&\n\t\t\t\t\t\tp.duration === duration,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tif (activePresetIndex === -1 || keyword === CUSTOM_PRESET_OPTION.keyword) {\n\t\t\treturn {\n\t\t\t\tactivePresetIndex,\n\t\t\t\tactivePresetGroup,\n\t\t\t\tfocusItemIndex: this.getCustomLabelIndex(),\n\t\t\t\tpresetValueStart: null,\n\t\t\t\tpresetValueEnd: null,\n\t\t\t};\n\t\t}\n\n\t\tlet selectedPreset;\n\n\t\tif (this.showGroups) {\n\t\t\tselectedPreset = this.groups[activePresetGroup][activePresetIndex];\n\t\t} else {\n\t\t\tselectedPreset = this.presetItems[activePresetIndex];\n\t\t}\n\n\t\tlet presetValueStart, presetValueEnd;\n\n\t\tif (presetType === 'business') {\n\t\t\tpresetValueStart = selectedPreset.startDate;\n\t\t\tpresetValueEnd = selectedPreset.endDate;\n\t\t} else {\n\t\t\tconst {[localeContext]: locale, [timezoneContext]: timezone} =\n\t\t\t\tthis.state.context;\n\n\t\t\tconst args = {\n\t\t\t\tdate: new Date(),\n\t\t\t\t...selectedPreset,\n\t\t\t};\n\t\t\tpresetValueStart = this.getStartDate(args);\n\t\t\tpresetValueStart = formatTZ(\n\t\t\t\tpresetValueStart,\n\t\t\t\tthis.state.properties.format,\n\t\t\t\t{locale, timezone},\n\t\t\t);\n\t\t\tpresetValueEnd = this.getEndDate(args);\n\t\t\tpresetValueEnd = formatTZ(presetValueEnd, this.state.properties.format, {\n\t\t\t\tlocale,\n\t\t\t\ttimezone,\n\t\t\t});\n\t\t}\n\t\tlet focusItemIndex = this.showGroups\n\t\t\t? this.getPresetItemIndex(selectedPreset)\n\t\t\t: activePresetIndex;\n\t\treturn {\n\t\t\tactivePresetIndex,\n\t\t\tfocusItemIndex,\n\t\t\tactivePresetGroup,\n\t\t\tpresetValueStart,\n\t\t\tpresetValueEnd,\n\t\t};\n\t}\n\n\tgetAll() {\n\t\tif (!this.presetItems) return null;\n\t\tif (this.showGroups && Object.keys(this.groups).length !== 0) {\n\t\t\tconst setSize = getGroupsCount(this.groups);\n\t\t\tlet groupStartIndex = 1;\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\tclassName=\"now-m-block-end--lg\"\n\t\t\t\t\taria-label={t('Select preset')}\n\t\t\t\t>\n\t\t\t\t\t{Object.keys(this.groups).map((groupLabel, index) => {\n\t\t\t\t\t\tconst headerId = `grouped-heading-${index}`;\n\t\t\t\t\t\tlet matchingGroupLabel;\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t!this.selectedGroupLabel &&\n\t\t\t\t\t\t\tgroupLabel === CUSTOM_PRESET_OPTION.groupLabel\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tmatchingGroupLabel = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmatchingGroupLabel = this.selectedGroupLabel === groupLabel;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst groupItems = this.getGroupItems(\n\t\t\t\t\t\t\tgroupLabel,\n\t\t\t\t\t\t\tthis.groups[groupLabel],\n\t\t\t\t\t\t\tthis.selectedIndex,\n\t\t\t\t\t\t\tmatchingGroupLabel,\n\t\t\t\t\t\t\tthis.lastFocusItemIndex,\n\t\t\t\t\t\t\tsetSize,\n\t\t\t\t\t\t\tgroupStartIndex,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tgroupStartIndex += this.groups[groupLabel].length;\n\t\t\t\t\t\tif (groupItems.length) {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<div role=\"group\" aria-labelledby={headerId}>\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tid={headerId}\n\t\t\t\t\t\t\t\t\t\tclassName=\"now-date-time-presets-header\"\n\t\t\t\t\t\t\t\t\t\ton-mousedown={(e) => e.preventDefault()}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{groupLabel}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div>{groupItems}</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t);\n\t\t} else {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"now-m-block--lg\"\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\taria-label={t('Select preset')}\n\t\t\t\t>\n\t\t\t\t\t{this.presetItems.map((item, index) =>\n\t\t\t\t\t\tthis.getItem(\n\t\t\t\t\t\t\tthis.setSelected(\n\t\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\tthis.selectedIndex,\n\t\t\t\t\t\t\t\tthis.lastFocusItemIndex,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t),\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t}\n\n\tisValid(type) {\n\t\tlet valid = false;\n\t\tObject.keys(PresetTypes).forEach((key) => {\n\t\t\tif (PresetTypes[key] === type) valid = true;\n\t\t});\n\t\treturn valid;\n\t}\n\n\tconvertSingularTypeToPlural(type) {\n\t\tif (type === YEAR) return YEARS;\n\t\tif (type === QUARTER) return QUARTERS;\n\t\tif (type === MONTH) return MONTHS;\n\t\tif (type === WEEK) return WEEKS;\n\t\tif (type === DAY) return DAYS;\n\t\tif (type === HOUR) return HOURS;\n\t\tif (type === MINUTE) return MINUTES;\n\t\tif (type === SECOND) return SECONDS;\n\t\treturn type;\n\t}\n\n\tinitialCap(str = '') {\n\t\tif (str.length === 0) return str;\n\t\tif (str.length === 1) return str.toUpperCase();\n\t\treturn `${str.charAt(0).toUpperCase()}${str.slice(1)}`;\n\t}\n\n\tgetDateFnsFnName(dir, type) {\n\t\treturn `${dir}Of${this.initialCap(type)}`;\n\t}\n\n\tgetStartDate({date, keyword, presetType, duration = 1}) {\n\t\tif (!this.isValid(presetType)) return null;\n\t\tconst dateFnsFunction = this.getDateFnsFnName(\n\t\t\tSTART,\n\t\t\tthis.getSingular(presetType),\n\t\t);\n\t\tconst pt = this.convertSingularTypeToPlural(presetType);\n\t\tswitch (keyword) {\n\t\t\tcase NEXT:\n\t\t\t\tif (pt === QUARTERS) {\n\t\t\t\t\treturn startOfQuarter(addToDate(date, DateTypes.QUARTER, 1));\n\t\t\t\t}\n\t\t\t\tif (pt === WEEKS) {\n\t\t\t\t\treturn startOfWeek(addToDate(date, DateTypes.WEEK_YEAR, 1));\n\t\t\t\t}\n\t\t\t\tif (pt === MONTHS || pt === YEARS) {\n\t\t\t\t\tconst first = pt === MONTHS ? endOfMonth(date) : endOfYear(date);\n\t\t\t\t\tconst start = startOfDay(first);\n\t\t\t\t\treturn add(start, {[DAYS]: 1});\n\t\t\t\t}\n\t\t\t\tif (pt === DAYS) {\n\t\t\t\t\tconst first = startOfDay(date);\n\t\t\t\t\treturn add(first, {[pt]: 1}); // we don't include the current date, so we have to add 1 to the duration\n\t\t\t\t}\n\t\t\t\treturn date;\n\t\t\tcase LAST:\n\t\t\t\t// last day is last day of previous MONTH - NOT today\n\t\t\t\tif (pt === MONTHS || pt === YEARS) {\n\t\t\t\t\tconst first = pt === MONTHS ? startOfMonth(date) : startOfYear(date);\n\t\t\t\t\treturn sub(first, {[pt]: duration});\n\t\t\t\t}\n\t\t\t\tif (pt === DAYS) {\n\t\t\t\t\tconst start = startOfDay(date);\n\t\t\t\t\treturn sub(start, {[pt]: duration - 1}); // we include current date, so we have to reduce duration by 1\n\t\t\t\t}\n\t\t\t\tif (pt === QUARTERS) {\n\t\t\t\t\tconst first = startOfQuarter(date);\n\t\t\t\t\treturn sub(first, {[MONTHS]: duration * 3});\n\t\t\t\t}\n\t\t\t\tif (pt === WEEKS) {\n\t\t\t\t\tconst first = startOfWeek(date);\n\t\t\t\t\treturn sub(first, {[pt]: duration});\n\t\t\t\t}\n\t\t\t\treturn sub(date, {[pt]: duration});\n\t\t\tcase CURRENT:\n\t\t\tcase TO_DATE:\n\t\t\t\treturn dateFnsLookUp[dateFnsFunction](date);\n\t\t\tdefault:\n\t\t\t\treturn null;\n\t\t}\n\t}\n\tgetEndDate({date, keyword, presetType, duration = 1}) {\n\t\tif (!this.isValid(presetType)) return null;\n\t\tconst pt = this.convertSingularTypeToPlural(presetType);\n\t\tconst dateFnsFunction = this.getDateFnsFnName(\n\t\t\tEND,\n\t\t\tthis.getSingular(presetType),\n\t\t);\n\t\tswitch (keyword) {\n\t\t\tcase NEXT:\n\t\t\t\tif (pt === WEEKS) {\n\t\t\t\t\treturn endOfWeek(addToDate(date, DateTypes.WEEK_YEAR, duration));\n\t\t\t\t}\n\t\t\t\tif (pt === QUARTERS) {\n\t\t\t\t\treturn endOfQuarter(addToDate(date, DateTypes.QUARTER, duration));\n\t\t\t\t}\n\t\t\t\tif (presetType === SECONDS || presetType === SECOND) {\n\t\t\t\t\treturn addSeconds(date, duration);\n\t\t\t\t}\n\t\t\t\tif (presetType === MINUTES || presetType === MINUTE) {\n\t\t\t\t\treturn addMinutes(date, duration);\n\t\t\t\t}\n\t\t\t\tif (presetType === HOURS || presetType === HOUR) {\n\t\t\t\t\treturn addHours(date, duration);\n\t\t\t\t}\n\t\t\t\tif (pt === MONTHS || pt === YEARS) {\n\t\t\t\t\tconst first = pt === MONTHS ? endOfMonth(date) : endOfYear(date);\n\t\t\t\t\tconst start = add(first, {[DAYS]: 1});\n\t\t\t\t\tconst end = add(start, {[pt]: duration - 1});\n\t\t\t\t\treturn pt === MONTHS ? endOfMonth(end) : endOfYear(end);\n\t\t\t\t}\n\t\t\t\tif (pt === DAYS) {\n\t\t\t\t\tconst end = endOfDay(date);\n\t\t\t\t\treturn add(end, {[pt]: duration});\n\t\t\t\t}\n\t\t\t\treturn add(date, {[presetType]: duration - 1});\n\t\t\tcase LAST:\n\t\t\t\t//End should be last day of previous month\n\t\t\t\tif (pt === MONTHS || pt === YEARS) {\n\t\t\t\t\tconst first = pt === MONTHS ? startOfMonth(date) : startOfYear(date);\n\t\t\t\t\tconst end = endOfDay(first);\n\t\t\t\t\treturn sub(end, {[DAYS]: 1});\n\t\t\t\t}\n\t\t\t\tif (pt === QUARTERS) {\n\t\t\t\t\tconst first = startOfQuarter(date);\n\t\t\t\t\tconst end = endOfDay(first);\n\t\t\t\t\treturn sub(end, {[DAYS]: 1});\n\t\t\t\t}\n\t\t\t\tif (pt === WEEKS) {\n\t\t\t\t\tconst firstDayOfThisWeek = startOfWeek(date);\n\t\t\t\t\tconst end = endOfDay(firstDayOfThisWeek);\n\t\t\t\t\treturn sub(end, {[DAYS]: 1});\n\t\t\t\t}\n\t\t\t\tif (pt === DAYS) {\n\t\t\t\t\treturn endOfDay(date);\n\t\t\t\t}\n\t\t\t\treturn date;\n\t\t\tcase CURRENT:\n\t\t\t\tif (presetType === SECONDS || presetType === SECOND) {\n\t\t\t\t\treturn duration === 1\n\t\t\t\t\t\t? addSeconds(date, 1)\n\t\t\t\t\t\t: addSeconds(date, duration);\n\t\t\t\t}\n\t\t\t\treturn dateFnsLookUp[dateFnsFunction](date);\n\t\t\tcase TO_DATE:\n\t\t\t\treturn date;\n\t\t\tdefault:\n\t\t\t\treturn null;\n\t\t}\n\t}\n\n\thandleClick(item) {\n\t\treturn () => {\n\t\t\tlet presetClickedPayload,\n\t\t\t\tselectedItemSetPayload = {};\n\n\t\t\tlet metaType =\n\t\t\t\titem.type === 'custom' ? item.type : item.presetType || item.type;\n\n\t\t\tif (item.type === 'custom') {\n\t\t\t\tpresetClickedPayload = {\n\t\t\t\t\tselectedPresetIndex: -1,\n\t\t\t\t\tselectedGroupLabel: '',\n\t\t\t\t\tlastFocusItemIndex: item.index,\n\t\t\t\t\tkeyword: item.keyword,\n\t\t\t\t\tpresetStartDate: '',\n\t\t\t\t\tpresetEndDate: '',\n\t\t\t\t};\n\t\t\t\tselectedItemSetPayload = {\n\t\t\t\t\tvalue: {},\n\t\t\t\t\tpresetValueStart: '',\n\t\t\t\t\tpresetValueEnd: '',\n\t\t\t\t};\n\t\t\t} else if (item.presetType === 'business') {\n\t\t\t\tpresetClickedPayload = {\n\t\t\t\t\tselectedPresetIndex: item.index,\n\t\t\t\t\tselectedGroupLabel: item.groupLabel,\n\t\t\t\t\tlastFocusItemIndex: item.index,\n\t\t\t\t\tpresetStartDate: item.startDate,\n\t\t\t\t\tpresetEndDate: item.endDate,\n\t\t\t\t\tlabel: item.label,\n\t\t\t\t\torder: item.order,\n\t\t\t\t};\n\t\t\t\tselectedItemSetPayload = {\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\torder: item.order,\n\t\t\t\t\t\tlabel: item.label,\n\t\t\t\t\t\tgroupLabel: item.groupLabel,\n\t\t\t\t\t\tpresetType: item.presetType,\n\t\t\t\t\t},\n\t\t\t\t\tpresetValueStart: item.startDate,\n\t\t\t\t\tpresetValueEnd: item.endDate,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tconst {[localeContext]: locale, [timezoneContext]: timezone} =\n\t\t\t\t\tthis.state.context;\n\t\t\t\titem = {...item, date: new Date()};\n\t\t\t\tconst startDate = this.getStartDate(item);\n\t\t\t\tconst endDate = this.getEndDate(item);\n\t\t\t\tconst presetValueStart = formatTZ(\n\t\t\t\t\tstartDate,\n\t\t\t\t\tthis.state.properties.format,\n\t\t\t\t\t{locale, timezone},\n\t\t\t\t);\n\t\t\t\tconst presetValueEnd = formatTZ(endDate, this.state.properties.format, {\n\t\t\t\t\tlocale,\n\t\t\t\t\ttimezone,\n\t\t\t\t});\n\t\t\t\tpresetClickedPayload = {\n\t\t\t\t\tpresetStartDate: presetValueStart,\n\t\t\t\t\tpresetEndDate: presetValueEnd,\n\t\t\t\t\tselectedPresetIndex: item.index,\n\t\t\t\t\tselectedGroupLabel: item.groupLabel,\n\t\t\t\t\tlastFocusItemIndex: item.index,\n\t\t\t\t\tkeyword: item.keyword,\n\t\t\t\t\tduration: item.duration,\n\t\t\t\t\tpresetType: item.presetType,\n\t\t\t\t\torder: item.order,\n\t\t\t\t};\n\t\t\t\tmetaType = item.presetType;\n\n\t\t\t\tselectedItemSetPayload = {\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\tkeyword: item.keyword,\n\t\t\t\t\t\tduration: item.duration,\n\t\t\t\t\t\torder: item.order,\n\t\t\t\t\t\tgroupLabel: item.groupLabel,\n\t\t\t\t\t\tpresetType: item.presetType,\n\t\t\t\t\t},\n\t\t\t\t\tpresetValueStart,\n\t\t\t\t\tpresetValueEnd,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tthis.dispatch(() => ({\n\t\t\t\ttype: 'NOW_DATE_TIME_PRESETS#PRESET_CLICKED',\n\t\t\t\tpayload: presetClickedPayload,\n\t\t\t\tmeta: {\n\t\t\t\t\ttype: metaType,\n\t\t\t\t},\n\t\t\t}));\n\n\t\t\tthis.dispatch(() => ({\n\t\t\t\ttype: 'NOW_DATE_TIME_PRESETS#SELECTED_ITEM_SET',\n\t\t\t\tpayload: selectedItemSetPayload,\n\t\t\t}));\n\t\t};\n\t}\n\n\tisPlural(str) {\n\t\treturn str.charAt(str.length - 1) === 's';\n\t}\n\n\tgetSingular(str) {\n\t\treturn this.isPlural(str) ? str.substring(0, str.length - 1) : str;\n\t}\n\n\tformatPreset({keyword, presetType, duration}) {\n\t\tif (keyword === CURRENT) {\n\t\t\tconst timePeriod = presetTranslations[this.getSingular(presetType)];\n\t\t\treturn t(\n\t\t\t\t{\n\t\t\t\t\tcode: 'now-date-time-preset-current-preset-label',\n\t\t\t\t\tmessage: 'Current {timePeriod}',\n\t\t\t\t\tcomment:\n\t\t\t\t\t\t'timePeriod is one of the following: year, quarter, month, week, day, hour, minute, second',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttimePeriod: timePeriod,\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t\tif (keyword === TO_DATE) {\n\t\t\tconst timePeriod =\n\t\t\t\tpresetTranslations[this.initialCap(this.getSingular(presetType))];\n\t\t\treturn t(\n\t\t\t\t{\n\t\t\t\t\tcode: 'now-date-time-preset-to-date-label',\n\t\t\t\t\tmessage: '{timePeriod} to date',\n\t\t\t\t\tcomment:\n\t\t\t\t\t\t'timePeriod is one of the following: year, quarter, month, week, day, hour, minute, second and the keyword is to date',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttimePeriod: timePeriod,\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t\tif (duration) {\n\t\t\tif (duration === 1) {\n\t\t\t\tconst timePeriod = presetTranslations[this.getSingular(presetType)];\n\t\t\t\tif (keyword === NEXT) {\n\t\t\t\t\treturn t(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcode: 'now-date-time-preset-next-duration-is-one-label',\n\t\t\t\t\t\t\tmessage: 'Next {timePeriod}',\n\t\t\t\t\t\t\tcomment:\n\t\t\t\t\t\t\t\t'timePeriod is one of the following: year, quarter, month, week, day, hour, minute, second',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttimePeriod: timePeriod,\n\t\t\t\t\t\t},\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\treturn t(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcode: 'now-date-time-preset-last-duration-is-one-label',\n\t\t\t\t\t\t\tmessage: 'Last {timePeriod}',\n\t\t\t\t\t\t\tcomment:\n\t\t\t\t\t\t\t\t'timePeriod is one of the following: year, quarter, month, week, day, hour, minute, second',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttimePeriod: timePeriod,\n\t\t\t\t\t\t},\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst timePeriod = presetTranslations[presetType];\n\t\t\tif (keyword === NEXT) {\n\t\t\t\treturn t(\n\t\t\t\t\t{\n\t\t\t\t\t\tcode: 'now-date-time-preset-next-duration-label',\n\t\t\t\t\t\tmessage: 'Next {duration} {timePeriod}',\n\t\t\t\t\t\tcomment:\n\t\t\t\t\t\t\t'duration is a number and timePeriod is one of the following: years, quarters, months, weeks, days, hours, minutes, seconds',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tduration: duration,\n\t\t\t\t\t\ttimePeriod: timePeriod,\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\treturn t(\n\t\t\t\t\t{\n\t\t\t\t\t\tcode: 'now-date-time-preset-last-duration-label',\n\t\t\t\t\t\tmessage: 'Last {duration} {timePeriod}',\n\t\t\t\t\t\tcomment:\n\t\t\t\t\t\t\t'duration is a number and timePeriod is one of the following: years, quarters, months, weeks, days, hours, minutes, seconds',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tduration: duration,\n\t\t\t\t\t\ttimePeriod: timePeriod,\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\tif (keyword === 'Custom') {\n\t\t\treturn t({\n\t\t\t\tcode: 'now-date-time-preset-custom-label',\n\t\t\t\tmessage: 'Custom',\n\t\t\t\tcomment:\n\t\t\t\t\t'Custom preset that allows user to select a custom date range from the calendar',\n\t\t\t});\n\t\t}\n\t\tconst timePeriod = presetTranslations[this.getSingular(presetType)];\n\t\tif (keyword === NEXT) {\n\t\t\treturn t(\n\t\t\t\t{\n\t\t\t\t\tcode: 'now-date-time-preset-next-no-duration-label',\n\t\t\t\t\tmessage: 'Next {timePeriod}',\n\t\t\t\t\tcomment:\n\t\t\t\t\t\t'timePeriod is one of the following: year, quarter, month, week, day, hour, minute, second',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttimePeriod: timePeriod,\n\t\t\t\t},\n\t\t\t);\n\t\t} else {\n\t\t\treturn t(\n\t\t\t\t{\n\t\t\t\t\tcode: 'now-date-time-preset-last-no-duration-label',\n\t\t\t\t\tmessage: 'Last {timePeriod}',\n\t\t\t\t\tcomment:\n\t\t\t\t\t\t'timePeriod is one of the following: year, quarter, month, week, day, hour, minute, second',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttimePeriod: timePeriod,\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t}\n\n\tgetCalendarHeight() {\n\t\t//preset component\n\t\tconst p = getHoistedPreset();\n\t\tif (!p) return;\n\t\tconst {shadowRoot: sr} = p;\n\t\tlet calendar = sr.querySelector('slot');\n\t\tcalendar = calendar.assignedNodes()[0];\n\t\treturn Math.round(calendar.offsetHeight) || 200;\n\t}\n\n\t//200 is min height of calendar\n\tasync setPresetHeight(height = 200) {\n\t\t//const preset\n\t\tlet h = height;\n\t\tconst p = getHoistedPreset();\n\t\tif (!p) return;\n\t\tconst {shadowRoot: sr} = p;\n\t\tconst parent = sr.querySelector('.now-date-time-presets');\n\t\tconst child = parent.childNodes[0];\n\t\tconst isWrapped = child.classList.contains('is-wrapped');\n\t\tif (isWrapped) {\n\t\t\tconst ul = child.childNodes[0];\n\t\t\th =\n\t\t\t\tul.offsetHeight > this.constructor.PRESET_DEFAULT_HEIGHT\n\t\t\t\t\t? this.constructor.PRESET_DEFAULT_HEIGHT\n\t\t\t\t\t: 'min-content';\n\t\t}\n\t\tchild.style.height = Number.isInteger(h) ? `${h}px` : h;\n\t}\n\n\tasync matchHeights() {\n\t\t// wait for the calendar to render before fixing the height of presets\n\t\tawait new Promise((resolve) => setTimeout(resolve, 0));\n\t\trequestAnimationFrame(() => {\n\t\t\tconst h = this.getCalendarHeight();\n\t\t\tthis.setPresetHeight(h);\n\t\t});\n\t}\n}\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {actionTypes} from '@servicenow/ui-core';\nimport styles from './_now-date-time-presets.scss';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {presetsSchema, presetSchema} from '../schemas';\nimport Presets from './';\nimport {Keys, CUSTOM_PRESET_OPTION} from '../utils/constants';\nimport {t} from 'sn-translate';\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_RENDERED,\n\tCOMPONENT_TREE_RENDERED,\n\tCOMPONENT_DOM_READY,\n} = actionTypes;\n\nexport const getFocusableItem = (host, index) =>\n\thost.shadowRoot.querySelectorAll('.now-date-time-presets-listitem')[index];\n\nexport const getActivePresetElement = (host) => host.shadowRoot.activeElement;\n\nexport const getAllPresetElements = (host) => [\n\t...host.shadowRoot.querySelectorAll('.now-date-time-presets-listitem'),\n];\n\nexport const focusPreset = (presetElement) => presetElement.focus();\n\nexport const getPresetElementByIndex = (host, elIndex) => {\n\tconst allPresetElements = getAllPresetElements(host);\n\tif (elIndex > 0 && elIndex < allPresetElements.length - 1) {\n\t\treturn allPresetElements[elIndex];\n\t}\n\treturn null;\n};\n\nconst view = (state, {dispatch}) => {\n\tconst {reflow} = state.properties;\n\tconst {presetsObject} = state;\n\tpresetsObject.setDispatch(dispatch);\n\tpresetsObject.setState(state);\n\treturn (\n\t\t<div\n\t\t\tclassName=\"now-date-time-presets\"\n\t\t\trole=\"dialog\"\n\t\t\taria-label={t('Select date range')}\n\t\t>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'now-date-time-presets-list': true,\n\t\t\t\t\t'is-wrapped': reflow,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{presetsObject.getAll()}\n\t\t\t</div>\n\t\t\t<slot />\n\t\t</div>\n\t);\n};\n\n/**\n * Calendar presets component to display the presets available.\n * ```jsx\n * <now-date-time-interval\n *\n *\tenable-presets (show defaults)\n *\tshow-groups\n *\tcustom-presets: [{keyword: 'NEXT', presetType: 'WEEKS', duration: 125 (INT ONLY), groupLabel: 'Week Presets'}, ...]\n *\tselected-preset: {keyword, presetType, duration} (if does not match a preset - ignore)\n *\n *\tNOTES:\n *   - handle validation errors similiar to disabled dates\n *\t - active-preset takes precendence\n *\t - Scott looking into handling n digit duration values\n *\t - Scott looking into use of custom checked behavior\n * />\n * ```\n *\n * @seismicElement now-date-time-presets\n * @private\n * @summary A panel to display the presets.\n */\ncreateEnhancedElement('now-date-time-presets', {\n\tsetInitialState() {\n\t\treturn {\n\t\t\tselectedGroup: null,\n\t\t\tselectedPresetIndex: -1,\n\t\t\tlastFocusItemIndex: -1,\n\t\t\tselectedGroupLabel: '',\n\t\t\tpresetsObject: new Presets(),\n\t\t};\n\t},\n\tproperties: {\n\t\tclearPresetSelection: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\treflow: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tpresets: {\n\t\t\tdefault: Presets.DEFAULT_PRESETS,\n\t\t\tmanageable: true,\n\t\t\tschema: presetsSchema,\n\t\t},\n\t\tenablePreset: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tshowGroups: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tselectedItem: {\n\t\t\tmanageable: true,\n\t\t\tschema: presetSchema,\n\t\t},\n\t\tcustomPresetPositionBottom: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tformat: {\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t},\n\tstyles,\n\tview,\n\tdispatches: {\n\t\t'NOW_DATE_TIME_PRESETS#SELECTED_ITEM_SET': {},\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_RENDERED]({action, host, state, properties, updateState}) {\n\t\t\tconst {customPresetPositionBottom, showGroups} = properties;\n\t\t\tif (\n\t\t\t\tstate.lastFocusItemIndex === null ||\n\t\t\t\tstate.lastFocusItemIndex === -1\n\t\t\t) {\n\t\t\t\tconst hostEl = action.meta.hoistHost || host;\n\t\t\t\tconst focusEl =\n\t\t\t\t\tcustomPresetPositionBottom && !showGroups\n\t\t\t\t\t\t? getFocusableItem(hostEl, getAllPresetElements(hostEl).length - 1)\n\t\t\t\t\t\t: getFocusableItem(hostEl, 0);\n\t\t\t\tlet focusElIndex = getAllPresetElements(hostEl).indexOf(focusEl);\n\t\t\t\tupdateState({\n\t\t\t\t\tlastFocusItemIndex: focusElIndex,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_DOM_READY]({state, dispatch, properties, updateState}) {\n\t\t\tconst {selectedItem} = properties;\n\t\t\tconst {presetsObject} = state;\n\t\t\tif (Object.keys(selectedItem).length > 0) {\n\t\t\t\tconst {\n\t\t\t\t\tactivePresetIndex,\n\t\t\t\t\tfocusItemIndex,\n\t\t\t\t\tactivePresetGroup,\n\t\t\t\t\tpresetValueStart,\n\t\t\t\t\tpresetValueEnd,\n\t\t\t\t} = presetsObject.getActivePreset(selectedItem);\n\t\t\t\tif (activePresetIndex > -1) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tselectedPresetIndex: activePresetIndex,\n\t\t\t\t\t\tselectedGroupLabel: activePresetGroup,\n\t\t\t\t\t\tlastFocusItemIndex: focusItemIndex,\n\t\t\t\t\t});\n\t\t\t\t\tif (selectedItem.type !== CUSTOM_PRESET_OPTION.type) {\n\t\t\t\t\t\tdispatch('NOW_DATE_TIME_PRESETS#SELECTED_ITEM_SET', {\n\t\t\t\t\t\t\tvalue: selectedItem,\n\t\t\t\t\t\t\tpresetValueStart,\n\t\t\t\t\t\t\tpresetValueEnd,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_TREE_RENDERED]: {\n\t\t\tasync effect({state}) {\n\t\t\t\tconst {presetsObject} = state;\n\t\t\t\tawait presetsObject.matchHeights();\n\t\t\t},\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]({action, properties, updateState, state}) {\n\t\t\tconst {name} = action.payload;\n\t\t\tconst {presetsObject} = state;\n\t\t\tif (name === 'selectedItem') {\n\t\t\t\tconst {selectedItem} = properties;\n\t\t\t\tconst {activePresetIndex, activePresetGroup, focusItemIndex} =\n\t\t\t\t\tpresetsObject.getActivePreset(selectedItem);\n\n\t\t\t\tupdateState({\n\t\t\t\t\tselectedPresetIndex: activePresetIndex,\n\t\t\t\t\tlastFocusItemIndex: focusItemIndex,\n\t\t\t\t\tselectedGroupLabel: activePresetGroup,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t['NOW_DATE_TIME_CALENDAR#SELECTED_ITEMS_SET']: ({dispatch, action}) => {\n\t\t\tconst {payload} = action;\n\t\t\t// do not update to `CUSTOM_PRESET_OPTION` if user clicked on  default cancel footer button\n\t\t\tif (\n\t\t\t\tpayload.initiator &&\n\t\t\t\tpayload.initiator === 'CALENDAR_FOOTER_CANCEL_BUTTON'\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tdispatch('NOW_DATE_TIME_PRESETS#SELECTED_ITEM_SET', {\n\t\t\t\tvalue: CUSTOM_PRESET_OPTION,\n\t\t\t});\n\t\t},\n\t\t['NOW_DATE_TIME_PRESETS#PRESET_CLICKED']: ({\n\t\t\taction: {\n\t\t\t\tpayload: {selectedPresetIndex, selectedGroupLabel, lastFocusItemIndex},\n\t\t\t},\n\t\t\tupdateState,\n\t\t}) => {\n\t\t\tupdateState({\n\t\t\t\tselectedPresetIndex,\n\t\t\t\tselectedGroupLabel,\n\t\t\t\tlastFocusItemIndex,\n\t\t\t});\n\t\t},\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['keydown'],\n\t\t\teffect({action, host, updateState, state, properties}) {\n\t\t\t\tconst hostEl = action.meta.hoistHost || host;\n\t\t\t\tconst activePresetElement = getActivePresetElement(hostEl);\n\t\t\t\tif (!activePresetElement) return;\n\n\t\t\t\tconst {lastFocusItemIndex} = state;\n\t\t\t\tconst presetElements = getAllPresetElements(hostEl);\n\n\t\t\t\tconst firstPresetElement = presetElements[0];\n\t\t\t\tconst lastPresetElement = presetElements[presetElements.length - 1];\n\n\t\t\t\tconst {event} = action.payload;\n\t\t\t\tconst isArrowDown = event.key === Keys.ARROW_DOWN;\n\t\t\t\tconst isArrowUp = event.key === Keys.ARROW_UP;\n\n\t\t\t\tif ([Keys.SPACE, Keys.ENTER].includes(event.key)) {\n\t\t\t\t\taction.preventDefault();\n\t\t\t\t\tactivePresetElement.click();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (isArrowDown || isArrowUp) {\n\t\t\t\t\taction.preventDefault();\n\t\t\t\t\tlet nextPresetToFocus;\n\t\t\t\t\tlet nextPresetIndex;\n\t\t\t\t\t//if showGroups is enabled the lastOFocusItemIndex may not be the actual index of the preset\n\t\t\t\t\tconst focusIndex =\n\t\t\t\t\t\tproperties.showGroups &&\n\t\t\t\t\t\tlastFocusItemIndex !== presetElements.indexOf(activePresetElement)\n\t\t\t\t\t\t\t? presetElements.indexOf(activePresetElement)\n\t\t\t\t\t\t\t: lastFocusItemIndex;\n\t\t\t\t\tif (isArrowDown && focusIndex === presetElements.length - 1) {\n\t\t\t\t\t\tnextPresetToFocus = firstPresetElement;\n\t\t\t\t\t\tnextPresetIndex = 0;\n\t\t\t\t\t} else if (isArrowUp && focusIndex === 0) {\n\t\t\t\t\t\tnextPresetToFocus = lastPresetElement;\n\t\t\t\t\t\tnextPresetIndex = presetElements.length - 1;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnextPresetIndex = isArrowDown ? focusIndex + 1 : focusIndex - 1;\n\t\t\t\t\t\tnextPresetToFocus = presetElements[nextPresetIndex];\n\t\t\t\t\t}\n\t\t\t\t\tupdateState({lastFocusItemIndex: nextPresetIndex});\n\t\t\t\t\tfocusPreset(nextPresetToFocus);\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t],\n\tbehaviors: [focusBehavior],\n});\n","import {\n\tDateTypes,\n\tlocaleContext,\n\tparseTZ,\n\tFORMAT_END_MATCH_ERROR_ID,\n\tFORMAT_START_MATCH_ERROR_ID,\n\tINVALID_START_GREATER_THAN_END_ERROR_ID,\n\tUNAVAILABLE_END_ERROR_ID,\n\tUNAVAILABLE_START_ERROR_ID,\n\tprependErrorMessage,\n\tremoveErrorMessage,\n} from '@servicenow/library-date-time';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {\n\tPOPOVER_ID,\n\tTRIGGER_ID,\n\tcheckForDisabledDates,\n\tcheckForErrors,\n\tfocusCalendar,\n\tgetSelectedItems,\n\thandleSlotClick,\n\thandleClick,\n\thandleFocus,\n\thandleKeydown,\n\thideCalendarPanel,\n\tgetType,\n\tgetCalendarIcon,\n\tgetHoistedPreset,\n\tcheckIfConfigurationIsValid,\n} from './utils';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {configAriaLabelSchema} from '@servicenow/library-schemas';\nimport {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {compareAsc, isValid} from 'date-fns';\nimport {filterAriaAttributes} from '@servicenow/library-enhanced-utils';\nimport './now-date-time-calendar';\nimport './now-input-date-time';\nimport './presets/now-date-time-presets';\nimport '@servicenow/now-button';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-popover';\nimport {\n\tmessagesSchema,\n\trenderFormFieldMessages,\n\tfieldLayoutSchema,\n} from '@servicenow/now-input';\nimport {\n\titemsSchema,\n\tdisabledItemsSchema,\n\tfooterActionsSchema,\n\ttypesSchema,\n\tpresetsSchema,\n\tpresetSchema,\n} from './schemas';\nimport actions from './actions';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport resizeBehavior from '@servicenow/behavior-resize';\nimport deferBehavior from '@servicenow/behavior-defer';\nimport styles from './_now-date-time-interval.scss';\nimport {isDateTimeValueValid} from '@servicenow/library-date-time';\n\nconst {\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DOM_READY,\n} = actionTypes;\n\nconst addClassToFirstElementInSlot = (slotName, host) => {\n\tconst nodes = host.shadowRoot.querySelectorAll(slotName);\n\tconst assignedNodes = nodes?.[0].assignedNodes()?.[0];\n\tassignedNodes?.classList.add('is-first-child');\n};\n\nfunction constructErrors(errorID, errors) {\n\tif (errors.some((id) => id === errorID)) return;\n\tif (errorID) {\n\t\terrors.push(errorID);\n\t}\n}\n\nfunction validateInput({\n\tfieldValue,\n\tcontext,\n\tproperties,\n\tupdateProperties,\n\tinitiator,\n\tinput,\n}) {\n\tconst {[localeContext]: locale} = context;\n\tconst {\n\t\tdisabled,\n\t\tformat,\n\t\treadonly,\n\t\ttype,\n\t\tvalueStart,\n\t\tvalueEnd,\n\t\tenableSameDay,\n\t} = properties;\n\tconst errors = {\n\t\tformat:\n\t\t\tinput === 'start'\n\t\t\t\t? FORMAT_START_MATCH_ERROR_ID\n\t\t\t\t: FORMAT_END_MATCH_ERROR_ID,\n\t\tdisabled:\n\t\t\tinput === 'start' ? UNAVAILABLE_START_ERROR_ID : UNAVAILABLE_END_ERROR_ID,\n\t};\n\n\tlet {valid, errorId} = checkForErrors(fieldValue, errors.format, {\n\t\tcontext,\n\t\tproperties,\n\t\tupdateProperties,\n\t});\n\n\tif (\n\t\t[COMPONENT_DOM_TREE_READY, COMPONENT_PROPERTY_CHANGED].includes(\n\t\t\tinitiator,\n\t\t) &&\n\t\tvalid\n\t) {\n\t\tconst start = parseTZ(valueStart, format, new Date(), {locale});\n\t\tconst end = parseTZ(valueEnd, format, new Date(), {locale});\n\n\t\t// if the property for valueStart or valueEnd changes, input will reflect\n\t\t// which one changed and we should ensure its not disabled\n\t\tlet isStartDisabled = false;\n\t\tlet isEndDisabled = false;\n\t\tif (input === 'start') {\n\t\t\tisStartDisabled = checkForDisabledDates(\n\t\t\t\tvalueStart,\n\t\t\t\tUNAVAILABLE_START_ERROR_ID,\n\t\t\t\t{\n\t\t\t\t\tcontext,\n\t\t\t\t\tproperties,\n\t\t\t\t\tupdateProperties,\n\t\t\t\t},\n\t\t\t).isDisabled;\n\t\t\tif (isStartDisabled) errorId = UNAVAILABLE_START_ERROR_ID;\n\t\t} else if (input === 'end') {\n\t\t\tisEndDisabled = checkForDisabledDates(\n\t\t\t\tvalueEnd,\n\t\t\t\tUNAVAILABLE_END_ERROR_ID,\n\t\t\t\t{\n\t\t\t\t\tcontext,\n\t\t\t\t\tproperties,\n\t\t\t\t\tupdateProperties,\n\t\t\t\t},\n\t\t\t).isDisabled;\n\t\t\tif (isEndDisabled) errorId = UNAVAILABLE_END_ERROR_ID;\n\t\t}\n\n\t\tif (\n\t\t\tisValid(start) &&\n\t\t\tisValid(end) &&\n\t\t\t((!enableSameDay && compareAsc(start, end) !== -1) ||\n\t\t\t\t(enableSameDay && compareAsc(start, end) === 1))\n\t\t) {\n\t\t\tprependErrorMessage({\n\t\t\t\terrorId: INVALID_START_GREATER_THAN_END_ERROR_ID,\n\t\t\t\tupdateProperties,\n\t\t\t\tmessageData: {\n\t\t\t\t\ttype: getType(type),\n\t\t\t\t},\n\t\t\t});\n\t\t\tvalid = false;\n\t\t\terrorId = INVALID_START_GREATER_THAN_END_ERROR_ID;\n\t\t} else {\n\t\t\tremoveErrorMessage({\n\t\t\t\terrorId: INVALID_START_GREATER_THAN_END_ERROR_ID,\n\t\t\t\tupdateProperties,\n\t\t\t});\n\t\t}\n\n\t\tvalid = valid && !isStartDisabled && !isEndDisabled;\n\t} else if (input && fieldValue !== undefined) {\n\t\tconst {date, isDisabled} = checkForDisabledDates(\n\t\t\tfieldValue,\n\t\t\terrors.disabled,\n\t\t\t{context, properties, updateProperties},\n\t\t);\n\n\t\t// validate the fieldValue against it counter-part to ensure start < end\n\t\tconst compare = parseTZ(\n\t\t\tinput === 'start' ? valueEnd : valueStart,\n\t\t\tformat,\n\t\t\tnew Date(),\n\t\t\t{locale},\n\t\t);\n\t\tconst target = input === 'start' ? -1 : 1;\n\t\tif (\n\t\t\tisValid(date) &&\n\t\t\tisValid(compare) &&\n\t\t\t((!enableSameDay && compareAsc(date, compare) !== target) ||\n\t\t\t\t(enableSameDay && compareAsc(date, compare) === target * -1))\n\t\t) {\n\t\t\tprependErrorMessage({\n\t\t\t\terrorId: INVALID_START_GREATER_THAN_END_ERROR_ID,\n\t\t\t\tupdateProperties,\n\t\t\t\tmessageData: {\n\t\t\t\t\ttype: getType(type),\n\t\t\t\t},\n\t\t\t});\n\t\t\tvalid = false;\n\t\t\terrorId = INVALID_START_GREATER_THAN_END_ERROR_ID;\n\t\t} else {\n\t\t\tremoveErrorMessage({\n\t\t\t\terrorId: INVALID_START_GREATER_THAN_END_ERROR_ID,\n\t\t\t\tupdateProperties,\n\t\t\t});\n\t\t}\n\n\t\tvalid = valid && !isDisabled;\n\t}\n\n\tlet value = !(readonly || disabled) && !valid;\n\treturn {val: value, err: errorId};\n}\n\nfunction renderInput(\n\tstate,\n\t{dispatch, type = 'start', value, updateState, messagesMode = 'sr-only'},\n) {\n\tconst {prefix} = state;\n\tconst {\n\t\tautofocus,\n\t\tconfigAria,\n\t\tdisabled,\n\t\tformat,\n\t\thelperContentEnd,\n\t\thelperContentStart,\n\t\thideRequiredIndicator,\n\t\tinvalid,\n\t\tisoWeek,\n\t\tlabelEnd,\n\t\tlabelStart,\n\t\tmessages,\n\t\tname = `input-${state.properties.nowId}`,\n\t\topened,\n\t\toptional,\n\t\treadonly,\n\t\trequired,\n\t\tsize,\n\t\ttype: inputType,\n\t\talign,\n\t\tfieldLayout,\n\t\tplaceholderStart,\n\t\tplaceholderEnd,\n\t\twrapLabel,\n\t} = state.properties;\n\n\tconst label = type === 'start' ? labelStart : labelEnd;\n\tconst helperContent =\n\t\ttype === 'start' ? helperContentStart : helperContentEnd;\n\tconst aria = type === 'start' ? 'input-start' : 'input-end';\n\tconst placeholder = type === 'start' ? placeholderStart : placeholderEnd;\n\tconst icon = getCalendarIcon(inputType);\n\n\treturn (\n\t\t<now-input-date-time\n\t\t\tclassName=\"now-date-time-input\"\n\t\t\tdataset={{input: type}}\n\t\t\tslot=\"trigger\"\n\t\t\tname={`${name}-${type}`}\n\t\t\tvalue={value}\n\t\t\tmanage-value\n\t\t\thelper-content={helperContent}\n\t\t\thide-required-indicator={hideRequiredIndicator}\n\t\t\tinvalid={invalid}\n\t\t\tmanage-invalid\n\t\t\tlabel={label}\n\t\t\tsize={size}\n\t\t\toptional={optional}\n\t\t\trequired={required}\n\t\t\tformat={format}\n\t\t\tdisabled={disabled}\n\t\t\tautofocus={autofocus}\n\t\t\tplaceholder={placeholder}\n\t\t\treadonly={readonly}\n\t\t\talign={align}\n\t\t\tmessages={messages}\n\t\t\tmessages-mode={messagesMode}\n\t\t\tiso-week={isoWeek}\n\t\t\ton-click={(e) => handleClick(e, {prefix, state, dispatch})}\n\t\t\ton-keydown={(e) => handleKeydown(e, {state, dispatch})}\n\t\t\ton-focus={(e) => handleFocus(e, {state, updateState})}\n\t\t\tconfig-aria={\n\t\t\t\tdisabled || readonly\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tinput: {\n\t\t\t\t\t\t\t\t...filterAriaAttributes(configAria, aria),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}\n\t\t\t\t\t: {\n\t\t\t\t\t\t\tinput: {\n\t\t\t\t\t\t\t\t...filterAriaAttributes(configAria, aria),\n\t\t\t\t\t\t\t\trole: 'combobox',\n\t\t\t\t\t\t\t\t'aria-haspopup': 'dialog',\n\t\t\t\t\t\t\t\t'aria-expanded': String(opened),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}\n\t\t\t}\n\t\t\tappend-to-payload={{id: TRIGGER_ID, input: type}}\n\t\t\tfield-layout={fieldLayout}\n\t\t\twrap-label={wrapLabel}\n\t\t>\n\t\t\t<div\n\t\t\t\tslot=\"start\"\n\t\t\t\tclass={{\n\t\t\t\t\t'now-date-time-slot': true,\n\t\t\t\t\t'-start': true,\n\t\t\t\t\t['-' + size]: size,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<slot\n\t\t\t\t\tname={`${type}-input-start`}\n\t\t\t\t\ton-click={(e) => {\n\t\t\t\t\t\thandleSlotClick(e, {prefix, state, dispatch});\n\t\t\t\t\t}}\n\t\t\t\t\ton-keydown={(e) => {\n\t\t\t\t\t\tif (!opened) {\n\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tslot=\"end\"\n\t\t\t\tclass={{\n\t\t\t\t\t'now-date-time-slot': true,\n\t\t\t\t\t'-end': true,\n\t\t\t\t\t['-' + size]: size,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<slot\n\t\t\t\t\tname={`${type}-input-end`}\n\t\t\t\t\ton-click={(e) => {\n\t\t\t\t\t\thandleSlotClick(e, {prefix, state, dispatch});\n\t\t\t\t\t}}\n\t\t\t\t\ton-keydown={(e) => {\n\t\t\t\t\t\tif (!opened) {\n\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{icon && (\n\t\t\t\t<now-icon\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'now-date-time-input-icon': true,\n\t\t\t\t\t\t[`-${size}`]: size,\n\t\t\t\t\t}}\n\t\t\t\t\tslot=\"end\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\ticon={icon}\n\t\t\t\t\tconfig-aria={{icon: {role: 'presentation'}}}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<slot\n\t\t\t\tslot=\"label-inline\"\n\t\t\t\tname={`${type}-label-inline`}\n\t\t\t\ton-keydown={(e) => e.stopPropagation()}\n\t\t\t\ton-click={(e) => {\n\t\t\t\t\thandleSlotClick(e, {prefix, state, dispatch});\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t<slot slot=\"label-end\" name={`${type}-label-end`} />\n\t\t\t<slot\n\t\t\t\tslot=\"label-start\"\n\t\t\t\tname={`${type}-label-start`}\n\t\t\t\ton-keydown={(e) => e.stopPropagation()}\n\t\t\t\ton-click={(e) => {\n\t\t\t\t\thandleSlotClick(e, {prefix, state, dispatch});\n\t\t\t\t}}\n\t\t\t/>\n\t\t</now-input-date-time>\n\t);\n}\n\nconst view = (state, {dispatch, updateState}) => {\n\tconst {\n\t\tactiveInput,\n\t\tcontext: {[localeContext]: locale},\n\t\tpositionTarget,\n\t\tmode,\n\t} = state;\n\tconst {\n\t\topened,\n\t\tadaptive,\n\t\tgap,\n\t\tsize,\n\n\t\t// Input props [shared]\n\t\tisoWeek,\n\t\tformat,\n\t\tpanelFitProps,\n\t\tconfigAria,\n\t\tvalueEnd,\n\t\tvalueStart,\n\t\tenableSameDay,\n\t\tmessages,\n\n\t\t// Calendar props\n\t\tfooterActions,\n\t\tshowDefaultFooterActions,\n\t\ttype,\n\t\titems,\n\t\tdisabledItems,\n\t\tfirstDayOfWeek,\n\t\thideAdjacentDates,\n\t\tdisableWeekends,\n\t\tweekendDays,\n\t\tweekdayHeadings,\n\t\tenablePresets,\n\t\tcustomPresets,\n\t\tshowPresetGroups,\n\t\tinitialTimeStart,\n\t\tinitialTimeEnd,\n\t\tcustomPresetPositionBottom,\n\t\tfieldLayout: {layout},\n\t\tdefaultFooterActionLabels,\n\t\tactivePreset,\n\t\tyearRange,\n\t} = state.properties;\n\n\tconst MAX_WIDTH = 282;\n\tconst PRESET_MAX_WIDTH = 482;\n\tconst THRESHOLD = PRESET_MAX_WIDTH; //initial width of date-time before popover has rendered\n\tconst REFLOW = state?.behaviors?.resize?.size?.width < THRESHOLD;\n\n\tlet maxWidth = enablePresets ? PRESET_MAX_WIDTH : MAX_WIDTH;\n\tmaxWidth = REFLOW ? MAX_WIDTH : PRESET_MAX_WIDTH;\n\n\tconst constrain = type !== DateTypes.WEEK_YEAR ? {maxWidth} : {};\n\n\tconst renderCalendar = (enablePresets) => (\n\t\t<now-date-time-calendar\n\t\t\tdefer\n\t\t\tslot={enablePresets ? '' : 'content'}\n\t\t\tclassName=\"now-date-time-calendar\"\n\t\t\tappend-to-meta={\n\t\t\t\tenablePresets ? 'from-date-time-presets' : `from-date-time-interval`\n\t\t\t}\n\t\t\tmode={mode}\n\t\t\ttype={type}\n\t\t\tformat={format}\n\t\t\titems={items}\n\t\t\tmanage-items\n\t\t\tselected-items={getSelectedItems(\n\t\t\t\t[valueStart, valueEnd],\n\t\t\t\tformat,\n\t\t\t\tlocale,\n\t\t\t\ttype,\n\t\t\t)}\n\t\t\tmanage-selected-items\n\t\t\trange-initiator={activeInput?.dataset?.input}\n\t\t\trange-value-start={valueStart}\n\t\t\trange-value-end={valueEnd}\n\t\t\tallow-duplicates={enableSameDay}\n\t\t\tdisabled-items={disabledItems}\n\t\t\tdisable-weekends={disableWeekends}\n\t\t\tweekend-days={weekendDays}\n\t\t\tweekday-headings={weekdayHeadings}\n\t\t\tfirst-day-of-week={firstDayOfWeek}\n\t\t\thide-adjacent-dates={hideAdjacentDates}\n\t\t\tshow-default-footer-actions={showDefaultFooterActions}\n\t\t\tdefaultFooterActionLabels={defaultFooterActionLabels}\n\t\t\tfooter-actions={footerActions}\n\t\t\tconfig-aria={{\n\t\t\t\tcontainer: {\n\t\t\t\t\t...filterAriaAttributes(configAria, 'panel'),\n\t\t\t\t},\n\t\t\t}}\n\t\t\tiso-week={isoWeek}\n\t\t\tinitial-time-start={initialTimeStart}\n\t\t\tinitial-time-end={initialTimeEnd}\n\t\t\tenable-presets={enablePresets}\n\t\t\tyear-range={yearRange}\n\t\t/>\n\t);\n\treturn (\n\t\t<Fragment>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'now-date-time-interval': true,\n\t\t\t\t\t[`-${adaptive}`]: adaptive,\n\t\t\t\t\t[`-${size}-${gap}`]: gap,\n\t\t\t\t\t[`-${layout}-field-layout`]: layout,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{renderInput(state, {\n\t\t\t\t\tdispatch,\n\t\t\t\t\ttype: 'start',\n\t\t\t\t\tvalue: valueStart,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tmessagesMode: 'sr-only',\n\t\t\t\t})}\n\t\t\t\t{renderInput(state, {\n\t\t\t\t\tdispatch,\n\t\t\t\t\ttype: 'end',\n\t\t\t\t\tvalue: valueEnd,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tmessagesMode: layout === 'vertical' ? 'sr-only' : 'auto',\n\t\t\t\t})}\n\t\t\t</div>\n\t\t\t<div className=\"now-date-time-interval-messages\">\n\t\t\t\t{layout === 'vertical' &&\n\t\t\t\t\trenderFormFieldMessages({\n\t\t\t\t\t\tcomponentId: 'now-date-time-interval',\n\t\t\t\t\t\tmessages,\n\t\t\t\t\t\tmessagesMode: 'visible',\n\t\t\t\t\t})}\n\t\t\t</div>\n\t\t\t{hideCalendarPanel(type) ? undefined : (\n\t\t\t\t<now-popover\n\t\t\t\t\tclassName=\"now-date-time-popover\"\n\t\t\t\t\topened={opened}\n\t\t\t\t\tmanage-opened\n\t\t\t\t\tposition-target={positionTarget}\n\t\t\t\t\tconstrain={constrain}\n\t\t\t\t\tpositions={panelFitProps.position}\n\t\t\t\t\toffset={panelFitProps.offset}\n\t\t\t\t\thide-tail\n\t\t\t\t\tappend-to-payload={{id: POPOVER_ID}}\n\t\t\t\t\tinteraction-type=\"combo\"\n\t\t\t\t>\n\t\t\t\t\t{enablePresets &&\n\t\t\t\t\t(type === DateTypes.DATE || type === DateTypes.DATE_TIME) ? (\n\t\t\t\t\t\t<now-date-time-presets\n\t\t\t\t\t\t\tclassName=\"now-date-time-presets\"\n\t\t\t\t\t\t\tshowGroups={showPresetGroups}\n\t\t\t\t\t\t\tpresets={customPresets || null}\n\t\t\t\t\t\t\tslot=\"content\"\n\t\t\t\t\t\t\treflow={REFLOW}\n\t\t\t\t\t\t\tformat={format}\n\t\t\t\t\t\t\tselected-item={activePreset}\n\t\t\t\t\t\t\tmanage-selected-item\n\t\t\t\t\t\t\tcustom-preset-position-bottom={customPresetPositionBottom}\n\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\tcontainer: {\n\t\t\t\t\t\t\t\t\t...filterAriaAttributes(configAria, 'panel'),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{renderCalendar(enablePresets)}\n\t\t\t\t\t\t</now-date-time-presets>\n\t\t\t\t\t) : (\n\t\t\t\t\t\trenderCalendar()\n\t\t\t\t\t)}\n\t\t\t\t</now-popover>\n\t\t\t)}\n\t\t</Fragment>\n\t);\n};\n\n/**\n * Use the input or calendar picker to select a date or date and time interval.\n *\n * ```jsx\n * <now-date-time-interval format=\"yyyy/MM/dd\" />\n * <now-date-time-interval format=\"yyyy/MM/dd HH:mm:ss\" type=\"date-time\" />\n * ```\n *\n * By default, the picker type is set to date range. Setting the `type`\n * property to `'date-time'` allows you to select date and time in the calendar.\n *\n * `now-date-time-interval` behaves just like `now-date-time` with the addition\n * of a start and end input. Clicking the input or pressing up/down arrow keys\n * prompts the picker to appear. In the case of arrow keys, focus moves into the\n * calendar.\n *\n * The `format` property uses Unicode Technical Standard (UTS) tokens.\n * See UTS and other supported format characters in the [`date-fns` library](https://date-fns.org/v2.28.0/docs/format)\n *\n * @seismicElement now-date-time-interval\n * @summary Select a date, or date and time, interval using the input or calendar picker.\n * @uib.label Date-Time-Interval\n * @uib.icon tile-uib-date-time-interval-1-sm\n * @uib.description Select a date, or date and time, interval using the input or calendar picker.\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties adaptive, size, gap, type, disabled, readonly, autofocus, valueStart, manageValueStart, valueEnd, manageValueEnd, enableSameDay, name, placeholderStart, placeholderEnd, labelStart, labelEnd, wrapLabel, required, hideRequiredIndicator, optional, helperContentStart, helperContentEnd, invalid, manageInvalid, messages, format, opened, manageOpened, footerActions, showDefaultFooterActions, hideAdjacentDates, panelFitProps, weekdayHeadings, firstDayOfWeek, disableWeekends, weekendDays, disabledItems, configAria, initialTimeStart, initialTimeEnd, enablePresets, customPresets, activePreset, customPresetPositionBottom, showPresetGroups, fieldLayout, defaultFooterActionLabels, yearRange\n * @uib.layout.value.children valueStart, manageValueStart, valueEnd, manageValueEnd, enableSameDay, fieldLayout, name, placeholderStart, placeholderEnd\n * @uib.layout.value.icon pencil-outline\n * @uib.layout.label.children labelStart, labelEnd, wrapLabel, required, hideRequiredIndicator, optional, helperContentStart, helperContentEnd\n * @uib.layout.label.icon text-outline\n * @uib.layout.validation.children invalid, manageInvalid, messages\n * @uib.layout.validation.icon syntax-check-outline\n * @uib.layout.format.children format\n * @uib.layout.format.icon integer-outline\n * @uib.layout.picker.children opened, manageOpened, showDefaultFooterActions, defaultFooterActionLabels, footerActions, hideAdjacentDates, panelFitProps, yearRange, weekdayHeadings, firstDayOfWeek, disableWeekends, weekendDays, initialTimeStart, initialTimeEnd, disabledItems, enablePresets, showPresetGroups, customPresets, activePreset, customPresetPositionBottom\n * @uib.layout.picker.icon calendar-outline\n * @uib.layout.accessibility.children configAria\n * @uib.layout.accessibility.icon accessibility-outline\n * @uib.actions NOW_DATE_TIME_INTERVAL#INVALID_SET, NOW_DATE_TIME_INTERVAL#VALUE_START_SET, NOW_DATE_TIME_INTERVAL#VALUE_END_SET, NOW_DATE_TIME_INTERVAL#INPUT, NOW_DATE_TIME_INTERVAL#ENTER_KEYDOWN, NOW_DATE_TIME_INTERVAL#OPENED_SET, NOW_DATE_TIME_INTERVAL#ITEMS_SET, NOW_DATE_TIME_INTERVAL#FOOTER_ACTION_CLICKED, NOW_DATE_TIME_PRESETS#PRESET_CLICKED\n */\ncreateEnhancedElement('now-date-time-interval', {\n\tproperties: {\n\t\t/**\n\t\t * When true, indicates that the calendar is open.\n\t\t * By default, this value automatically updates when the user opens or closes the calendar.\n\t\t * Use the `manage-opened` property to handle the\n\t\t * `NOW_DATE_TIME_INTERVAL#OPENED_SET` action manually instead.\n\t\t * @type {boolean}\n\t\t * @uib.description Flag that indicates whether the calendar is open (true) or closed (false).\n\t\t */\n\t\topened: {\n\t\t\tdefault: false,\n\t\t\tmanageable: true,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * When true, overrides automatic updates to the `opened` property.\n\t\t * An action with type `NOW_DATE_TIME_INTERVAL#OPENED_SET` is dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the opened property. Use the opened set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageOpened: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Type of calendar to use with the form field.\n\t\t * - `date`: Calendar allows the user to select the month, day, and year, such as `2024-01-26`.\n\t\t * - `date-time`: Calendar allows the user to select the month, day, year, and time, such as `2024-01-26 23:59:59`.\n\t\t * - `time`: Calendar allows the user to select the time, such as `23:59:59`.\n\t\t * - `month`: Calendar allows the user to select the month and year, such as `2024-01`.\n\t\t * - `year`: Calendar allows the user to select the year, such as `2024`.\n\t\t * - `week-year`: Calendar allows the user to select the week and year, such as `4-2024`. The values for weeks are 1 - 52.\n\t\t * - `quarter`: Calendar allows the user to select the quarter and year, such as `2024-Q1`.\n\t\t * @type {('date'|'date-time'|'time'|'year'|'month'|'quarter'|'week-year')}\n\t\t * @uib.description The type of calendar to use with the form field.\n\t\t */\n\t\ttype: {\n\t\t\tdefault: 'date',\n\t\t\tschema: typesSchema,\n\t\t},\n\t\t/**\n\t\t * When true, displays a panel containing various preset intervals for convenience.\n\t\t * @type {boolean}\n\t\t * @uib.label Enable presets\n\t\t * @uib.description Enables the left hand panel containing various preset intervals for convenience.\n\t\t * @uib.fieldType boolean\n\t\t **/\n\t\tenablePresets: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * An array of objects representing preset intervals.\n\t\t * Accepted value types:\n\t\t * - Keyword: Description applied to the unit of time for the interval. Valid values: `next, last, start, end, current, to date`.\n\t\t * - Duration: Number applied to the unit of time for the interval. For example, `1`.\n\t\t * - Preset type: Unit of time to use for the interval. Valid values: `years, months, weeks, days, hours, minutes, seconds, business`.\n\t\t * - Order: Order to display the interval in the list of preset intervals. For example, `1`.\n\t\t * - Label: Label for the interval. Must be used with the preset type business. For example, `Sprint 307`. Overrides keyword and duration.\n\t\t * - Group label: Used by the `showPresetGroups` property to group intervals together. For example, `Year presets`.\n\t\t * - Start date: Start date for the interval. Must be used with the preset type business. For example, `2023/10/04`.\n\t\t * - End Date: End date for the interval. Must be used with the preset type business. For example, `2023/10/17`.\n\t\t * - When using the `business` preset type, a label, a start date, and an end date must be provided. Keyword and duration are ignored.\n\t\t * @type {{keyword: ('Next'|'Last'|'start'|'end'|'Current'|'to date'), duration: number, presetType: ('year'|'years'|'quarter'|'quarters'|'month'|'months'|'week'|'weeks'|'day'|'days'|'hour'|'hours'|'minute'|'minutes'|'second'|'seconds'|'business'), order: number, label: string, groupLabel: string, startDate: string, endDate: string}[]}\n\t\t * @uib.description An array of objects representing preset intervals. Available preset intervals are displayed in the preset panel.\n\t\t * @uib.fieldType collection\n\t\t */\n\t\tcustomPresets: {\n\t\t\tdefault: [],\n\t\t\tmanageable: true,\n\t\t\tschema: presetsSchema,\n\t\t},\n\t\t/**\n\t\t * When true, displays preset intervals grouped by their group label.\n\t\t * @type {boolean}\n\t\t * @uib.label Show preset groups\n\t\t * @uib.description Shows preset intervals grouped by their group label.\n\t\t * @uib.fieldType boolean\n\t\t **/\n\t\tshowPresetGroups: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * The items used to populate the calendar.\n\t\t *\n\t\t * Make public when 'custom' calendar type is supported.\n\t\t * @type {[]}\n\t\t * @private\n\t\t */\n\t\titems: {\n\t\t\tdefault: [],\n\t\t\tmanageable: true,\n\t\t\tschema: itemsSchema,\n\t\t},\n\t\t/**\n\t\t * An array of objects representing dates that can't be selected. String values\n\t\t * must be date strings matching the given `format` property.\n\t\t * Accepted value types:\n\t\t * - Value, such as `{value: \"2020/01/01\"}`.\n\t\t * - Interval, such as `{start: \"2020/01/01\", end: \"2020/12/31\"}`.\n\t\t * - Before-interval, such as `{before: \"2020/01/01\"}`.\n\t\t * - After-interval, such as `{after: \"2020/01/01\"}`.\n\t\t *\n\t\t * Setting this field ensures that the relevant disabled\n\t\t * date items are shown in the disable state and are not\n\t\t * selectable when they are within the visible interval of the calendar.\n\t\t * If a disabled value is entered into the input field, and error message is displayed.\n\t\t * @type {Array.<({value: Date}|{start: Date, end: Date}|{before: Date}|{after: Date})>}\n\t\t * @uib.description An array of objects representing dates that can't be selected. These dates must be string values that match the specified `format` property.\n\t\t */\n\t\tdisabledItems: {\n\t\t\tdefault: [],\n\t\t\tschema: disabledItemsSchema,\n\t\t},\n\t\t/**\n\t\t * Required. Label describing the overall purpose of the first input field.\n\t\t * @type {string}\n\t\t * @uib.description Label describing the overall purpose of the start select field.\n\t\t * @uib.defaultValue Select start date\n\t\t * @uib.label Start Label\n\t\t * @uib.translatable true\n\t\t */\n\t\tlabelStart: {required: true, schema: {type: 'string'}},\n\t\t/**\n\t\t * Required. Label describing the overall purpose of the second input field.\n\t\t * @type {string}\n\t\t * @uib.description Label describing the overall purpose of the end select field.\n\t\t * @uib.defaultValue Select end date\n\t\t * @uib.label End Label\n\t\t * @uib.translatable true\n\t\t */\n\t\tlabelEnd: {required: true, schema: {type: 'string'}},\n\t\t/**\n\t\t * If set, an information icon with popover text appears next to the first field\n\t\t * label to display help text to the user.\n\t\t * Use plain text to allow for translation.\n\t\t * If you don't want to add helper content, leave this property empty.\n\t\t * @type {(string|JSX)}\n\t\t * @uib.description If set, an information icon with popover text appears next to the field start label to display help text to the user. Use plain text to allow for translation. If you don't want to add helper content, leave this property empty.\n\t\t * @uib.fieldType string\n\t\t * @uib.label Start Helper content\n\t\t * @uib.translatable true\n\t\t */\n\t\thelperContentStart: {},\n\t\t/**\n\t\t * If set, an information icon with popover text appears next to the second field\n\t\t * label to display help text to the user.\n\t\t * Use plain text to allow for translation.\n\t\t * If you don't want to add helper content, leave this property empty.\n\t\t * @type {(string|JSX)}\n\t\t * @uib.description If set, an information icon with popover text appears next to the field end label to display help text to the user. Use plain text to allow for translation. If you don't want to add helper content, leave this property empty.\n\t\t * @uib.fieldType string\n\t\t * @uib.label End Helper content\n\t\t * @uib.translatable true\n\t\t */\n\t\thelperContentEnd: {},\n\t\t/**\n\t\t * Name of the input field. Dispatched along with the field value\n\t\t * when a user interacts with the field.\n\t\t * @type {string}\n\t\t * @uib.label Identifier\n\t\t * @uib.description Name of the input field.\n\t\t */\n\t\tname: {schema: {type: 'string'}},\n\t\t/**\n\t\t * The value of the first input field.\n\t\t * @type {string}\n\t\t * @uib.description The value of the start input field. Unless the input field has pre-populated data, leave this property empty.\n\t\t * @uib.label Start value\n\t\t */\n\t\tvalueStart: {default: '', manageable: true, schema: {type: 'string'}},\n\t\t/**\n\t\t * When true, overrides automatic updates to the `valueStart` property.\n\t\t * An action with type `NOW_DATE_TIME_INTERVAL#VALUE_START_SET` is dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the start value property. Use the the start value set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageValueStart: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * The value of the second input field.\n\t\t * @type {string}\n\t\t * @uib.description The value of the end input field. Unless the input field has pre-populated data, leave this property empty.\n\t\t * @uib.label End value\n\t\t */\n\t\tvalueEnd: {default: '', manageable: true, schema: {type: 'string'}},\n\t\t/**\n\t\t * When true, overrides automatic updates to the `valueEnd` property.\n\t\t * An action with type `NOW_DATE_TIME_INTERVAL#VALUE_END_SET` is dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the end value property. Use the the end value set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageValueEnd: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, allows users to select duplicate values for start and end inputs.\n\t\t * @type {boolean}\n\t\t * @uib.label Enable same day\n\t\t * @uib.description Allows users to select duplicate values for start and end inputs.\n\t\t * @uib.fieldType boolean\n\t\t */\n\t\tenableSameDay: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Sets the input size.\n\t\t * @type {('sm'|'md')}\n\t\t * @uib.description Sets the input size.\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Small\", \"value\": \"sm\"}, {\"label\": \"Medium\", \"value\": \"md\"}]\n\t\t * @uib.defaultValue md\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['sm', 'md'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Sets the input spacing.\n\t\t * @type {('sm'|'md'|'lg')}\n\t\t * @uib.description Sets the input spacing.\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Small\", \"value\": \"sm\"}, {\"label\": \"Medium\", \"value\": \"md\"}, {\"label\": \"Large\", \"value\": \"lg\"}]\n\t\t * @uib.defaultValue sm\n\t\t */\n\t\tgap: {\n\t\t\tdefault: 'sm',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['sm', 'md', 'lg'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * When true, the required indicator is hidden. Use this for\n\t\t * forms where most fields are required, along with the `optional` flag\n\t\t * for any fields that are not required.\n\t\t * @type {boolean}\n\t\t * @uib.description When true, the required indicator is hidden. Use this for forms where most fields are required, along with the `optional` flag for any fields that are not required.\n\t\t */\n\t\thideRequiredIndicator: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, indicates that the field is in an incorrect state,\n\t\t * which is reflected in the field display.\n\t\t * @type {boolean}\n\t\t * @uib.description When true, indicates that the field is in an incorrect state, which is reflected in the field display.\n\t\t */\n\t\tinvalid: {default: false, manageable: true, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, overrides automatic updates to the `invalid` property.\n\t\t * An action with type `NOW_DATE_TIME_INTERVAL#INVALID_SET` is dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the invalid property. Use the invalid set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageInvalid: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, indicates that the user is not required to select an interval\n\t\t * in order to complete the form.\n\t\t * @type {boolean}\n\t\t * @uib.description Select to indicate that the field is optional.\n\t\t * @uib.defaultValue false\n\t\t */\n\t\toptional: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, indicates that the user must select an interval in order to\n\t\t * complete the form.\n\t\t * @type {boolean}\n\t\t * @uib.description Select to indicate that the field is required.\n\t\t * @uib.defaultValue false\n\t\t */\n\t\trequired: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Configures the Unicode Technical Standard (UTS) format of the input value.\n\t\t * See UTS and other supported format characters in the [`date-fns` library](https://date-fns.org/v2.28.0/docs/format).\n\t\t * @type {string}\n\t\t * @uib.description Configures the Unicode Technical Standard (UTS) format of the input value.\n\t\t * @uib.label Format pattern\n\t\t */\n\t\tformat: {required: true, schema: {type: 'string'}},\n\t\t/**\n\t\t * Defines whether the input layout is responsive to the viewport or always vertical.\n\t\t * @type {('adaptive'|'vertical')}\n\t\t * @uib.description Defines whether the input layout is responsive to the viewport or always vertical.\n\t\t */\n\t\tadaptive: {\n\t\t\tdefault: 'adaptive',\n\t\t\tschema: {type: 'string', enum: ['adaptive', 'vertical']},\n\t\t},\n\t\t/**\n\t\t * Object containing keys that reference specific HTML elements within the\n\t\t * component. The value of each key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value(s). These ARIA\n\t\t * properties are set on the specified element.\n\t\t * The 'input-start' key corresponds to the first inner html `<input>` in\n\t\t * now-date-time. The 'input-end' key corresponds to the second inner html `<input>` in\n\t\t * now-date-time. For properties and accepted values, see [WAI-ARIA - input](https://www.w3.org/TR/wai-aria-1.2/#input).\n\t\t * The 'panel' key corresponds to the date/time picker panel\n\t\t * in now-date-time. For properties and accepted values, see\n\t\t * [WAI-ARIA Date Picker Combobox Example](https://www.w3.org/WAI/ARIA/apg/example-index/combobox/combobox-datepicker.html).\n\t\t * Note: To enforce accessibility standards, the `role` key is not configurable.\n\t\t * @type {{ 'input-start': {'aria-*': string}, 'input-end': {'aria-*': string}, 'panel': {'aria-*': string, role: string} }}\n\t\t * @uib.label ARIA properties\n\t\t * @uib.defaultValue {\"panel\": {\"aria-label\": \"Calendar\"}}\n\t\t * @uib.description ARIA properties that are set on the inner html. See https://www.w3.org/WAI/ARIA/apg/example-index/combobox/combobox-datepicker.html for properties and accepted values.\n\t\t */\n\t\tconfigAria: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\t['input-start']: configAriaLabelSchema,\n\t\t\t\t\t['input-end']: configAriaLabelSchema,\n\t\t\t\t\tpanel: {...configAriaLabelSchema, required: ['aria-label']},\n\t\t\t\t},\n\t\t\t\tadditionalProperties: false,\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * When true, the user cannot interact with the field\n\t\t * or change its value and the field appears unavailable.\n\t\t * @type {boolean}\n\t\t * @uib.description Select to prevent the user from interacting with the field or changing its value.\n\t\t */\n\t\tdisabled: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, the focus is automatically placed inside the input\n\t\t * on page load.\n\t\t * @type {boolean}\n\t\t * @uib.label Auto-focus\n\t\t * @uib.description Select to automatically place the focus inside the input on page load.\n\t\t */\n\t\tautofocus: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Hint text displayed in the start input when the user has not yet entered a value. When a placeholder is not provided, the component uses the format as the placeholder.\n\t\t * @type {string}\n\t\t * @uib.label Start placeholder text\n\t\t * @uib.description Placeholder text for the start input field that helps the user understand what input is expected.\n\t\t * @uib.translatable true\n\t\t */\n\t\tplaceholderStart: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Hint text displayed in the end input when the user has not yet entered a value. When a placeholder is not provided, the component uses the format as the placeholder.\n\t\t * @type {string}\n\t\t * @uib.label End placeholder text\n\t\t * @uib.description Placeholder text for the end input field that helps the user understand what input is expected.\n\t\t * @uib.translatable true\n\t\t */\n\t\tplaceholderEnd: {schema: {type: 'string'}},\n\t\t/**\n\t\t * When true, the user cannot modify the value of the field.\n\t\t * @type {boolean}\n\t\t * @uib.label Read Only\n\t\t * @uib.description Select to make the field read-only and prevent users from modifying the value.\n\t\t */\n\t\treadonly: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Array of inline alert messages that display below the field.\n\t\t * @type {Array.<{status: ('critical'|'warning'|'positive'|'info'|'suggestion'), content: (string|JSX), icon: string}>}\n\t\t * @uib.label Alert messages\n\t\t * @uib.description Array of inline alert messages that display below the field.\n\t\t * @uib.fieldType collection\n\t\t * @uib.typeMetadata.collection.cardProperties.heading { \"heading\": \"content\", \"icon\": \"icon\" }\n\t\t */\n\t\tmessages: {default: [], schema: messagesSchema},\n\t\t/**\n\t\t * When true and `type` is `'date'`, the calendar doesn't show dates outside of the\n\t\t * displayed month.\n\t\t * @type {boolean}\n\t\t * @uib.label Hide adjacent months\n\t\t * @uib.description When true and `type` is `'date'`, the calendar doesn't show dates outside of the displayed month.\n\t\t */\n\t\thideAdjacentDates: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * An array of objects that defines the buttons in the calendar footer. You\n\t\t * can define up to two buttons, set from right to left.\n\t\t *\n\t\t * If defined, overrides `showDefaultFooterActions`. The user is responsible\n\t\t * for setting the `opened` property in response to `action.clickActionType`.\n\t\t *\n\t\t * The keys of each object are properties for `now-button`. See\n\t\t * `now-button` for more documentation on these properties.\n\t\t * @type {{ label: string, variant: string, disabled: boolean, bare: boolean, tooltipContent: string, clickActionType: string, configAria: object, closeCalendar: boolean}[]}\n\t\t * @uib.description An array of objects that defines the buttons in the calendar footer.\n\t\t * @uib.fieldType collection\n\t\t * @uib.typeMetadata.collection.cardProperties.heading { \"heading\": \"label\" }\n\t\t */\n\t\tfooterActions: {\n\t\t\tdefault: [],\n\t\t\tschema: footerActionsSchema,\n\t\t},\n\t\t/**\n\t\t * When true, shows the default footer actions.\n\t\t * This property is always overridden by the `footerActions` property.\n\t\t * @type {boolean}\n\t\t * @uib.description Select to show default footer actions.\n\t\t * @uib.defaultValue false\n\t\t */\n\t\tshowDefaultFooterActions: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * Properties to configure the calendar panel.\n\t\t *\n\t\t * Valid keys are:\n\t\t *  - position: Array of possible positions in which to place the panel relative to its target. Default: `[\"bottom-start top-start\",\"top-start bottom-start\",\"bottom-end top-end\",\"top-end bottom-end\"]`\n\t\t *  - offset: Number of pixels to offset the panel from the trigger.\n\t\t *\n\t\t * Use these keys to position and scale the panel relative to the panel target.\n\t\t *\n\t\t * @type {{ position: Array<{target: string, content: string}> }}\n\t\t * @uib.description Properties to configure the calendar panel.\n\t\t */\n\t\tpanelFitProps: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tposition: {type: 'array', items: {type: 'string'}},\n\t\t\t\t\toffset: {\n\t\t\t\t\t\toneOf: [{type: 'number'}, {type: 'array', items: {type: 'number'}}],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Sets the first day of the week on the calendar panel.\n\t\t * Value can range from `0` (Sunday) to `6` (Saturday).\n\t\t * Only applies when the `type` property is `day` or `week`.\n\t\t * @type {(0|1|2|3|4|5|6)}\n\t\t * @uib.description Sets the first day of the week on the calendar panel.\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Sunday\", \"value\": \"0\"}, {\"label\": \"Monday\", \"value\": \"1\"}, {\"label\": \"Tuesday\", \"value\": \"2\"}, {\"label\": \"Wednesday\", \"value\": \"3\"}, {\"label\": \"Thursday\", \"value\": \"4\"}, {\"label\": \"Friday\", \"value\": \"5\"}, {\"label\": \"Saturday\", \"value\": \"6\"}]\n\t\t */\n\t\tfirstDayOfWeek: {\n\t\t\tdefault: 0,\n\t\t\tschema: {type: 'integer', enum: [0, 1, 2, 3, 4, 5, 6]},\n\t\t},\n\t\t/**\n\t\t * When true and type is `week-year`, the date calculation accounts for an ISO week.\n\t\t * @type {boolean}\n\t\t * @uib.description Select to have the date calculation account for an ISO week. Defaults the first day of the week to Monday.\n\t\t * @uib.defaultValue false\n\t\t * @uib.label ISO Calendar\n\t\t */\n\t\tisoWeek: {default: false, schema: {type: 'boolean'}},\n\n\t\t/**\n\t\t * When true, weekend days can't be selected on the `'date'` calendar type. Weekend days are\n\t\t * determined by the `weekendDays` property.\n\t\t * @type {boolean}\n\t\t * @uib.description Select to turn off weekend days. Weekend days are determined by the `weekendDays` property.\n\t\t */\n\t\tdisableWeekends: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * Sets which days are weekend days. Defaults to `6` (Saturday) and `0` (Sunday).\n\t\t * @type {number[]}\n\t\t * @uib.description Sets which days are weekend days. Defaults to `6` (Saturday) and `0` (Sunday).\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Saturday and Sunday\", \"value\": \"[6,0]\"}, {\"label\": \"Friday and Saturday\", \"value\": \"[5,6]\"}]\n\t\t */\n\t\tweekendDays: {\n\t\t\tdefault: [6, 0],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {type: 'integer', enum: [0, 1, 2, 3, 4, 5, 6]},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Sets the locale value.\n\t\t * Valid values are the locale objects in the date-fns library.\n\t\t * @type {(object|string)}\n\t\t */\n\t\tlocale: {\n\t\t\tschema: {type: ['object', 'string']},\n\t\t},\n\t\t/**\n\t\t * Sets the length of the weekday headings.\n\t\t * @type {('short'|'narrow')}\n\t\t * @uib.label Day of week headings\n\t\t * @uib.description Sets the length of the weekday headings.\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Short\", \"value\": \"short\"}, {\"label\": \"Narrow\", \"value\": \"narrow\"}]\n\t\t * @uib.defaultValue narrow\n\t\t */\n\t\tweekdayHeadings: {\n\t\t\tdefault: 'narrow',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['short', 'narrow'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Configures an active preset to be selected in the preset panel.\n\t\t * @type {{keyword: string, presetType: string, duration: number, label: string}}\n\t\t * @uib.label Active preset\n\t\t * @uib.description Configures an active preset to be selected in the preset panel.\n\t\t */\n\t\tactivePreset: {\n\t\t\tdefault: {},\n\t\t\tschema: presetSchema,\n\t\t},\n\t\t/**\n\t\t * When true, the \"Custom\" preset is placed at the bottom of the preset panel.\n\t\t * @type {boolean}\n\t\t * @uib.label Set the \"Custom\" preset position to the bottom\n\t\t * @uib.description When selected, the \"Custom\" preset is placed at the bottom of the preset panel.\n\t\t */\n\t\tcustomPresetPositionBottom: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * Sets the default start time for the interval.\n\t\t * @type {string}\n\t\t * @uib.label Default start time\n\t\t * @uib.description Sets the default start time for the interval.\n\t\t */\n\t\tinitialTimeStart: {\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\t/**\n\t\t * Sets the default end time for the interval.\n\t\t * @type {string}\n\t\t * @uib.label Default end time\n\t\t * @uib.description Sets the default end time for the interval.\n\t\t */\n\t\tinitialTimeEnd: {\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\t/**\n\t\t * Text alignment within an input field.\n\t\t * - `start`: Align the text to the start of the input field.\n\t\t * - `center`: Align the text to the center of the input field.\n\t\t * - `end`: Align the text to the end of the input field.\n\t\t * Default: `start`.\n\t\t * @type {('start'|'center'|'end')}\n\t\t * @uib.label Text align\n\t\t * @uib.description Text alignment within an input field.\n\t\t * @uib.defaultValue start\n\t\t */\n\t\talign: {\n\t\t\tdefault: 'start',\n\t\t\tschema: {type: 'string', enum: ['start', 'center', 'end']},\n\t\t},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout is vertical (stacked view) or horizontal (inline view).\n\t\t * In a horizontal layout, a typical component has three containers: label, form-field, and slotted content (also known as label end).\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, fields, and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field, and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, fields, and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: {layout: 'vertical'},\n\t\t\tschema: fieldLayoutSchema,\n\t\t},\n\t\t/**\n\t\t * Configures the label value of the default footer action buttons.\n\t\t * Allows for the use of default footer action functionality with\n\t\t * custom label names.\n\t\t * @type {string}\n\t\t * @uib.label Default Footer Action Labels\n\t\t * @uib.description Allows for custom naming of default footer action buttons.\n\t\t * @uib.fieldType json\n\t\t */\n\t\tdefaultFooterActionLabels: {\n\t\t\tdefault: {apply: 'Apply', cancel: 'Cancel'},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Indicates whether the user has manually set the date within\n\t\t * the date-time input field.\n\t\t * @private\n\t\t */\n\t\tisDateManuallySet: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * Configures the range of years visible in the calendar.\n\t\t * Can either be relative to the current year, or an absolute range.\n\t\t * The default range is 50 years before and after the current year.\n\t\t * Note: years can be input in the field even if outside of this range.\n\t\t * @type {{start: number, end: number, relative: boolean}}\n\t\t * @uib.description Configures the range of years visible in the calendar. Can either be relative to the current year, or an absolute range. Note: years can be input in the field even if outside of this range.\n\t\t */\n\t\tyearRange: {\n\t\t\tdefault: {start: -50, end: 50, relative: true},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tstart: {type: 'number'},\n\t\t\t\t\tend: {type: 'number'},\n\t\t\t\t\trelative: {type: 'boolean'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Set to true to wrap the label if it does not fit on one line.\n\t\t * @type {boolean}\n\t\t * @uib.description Wraps the label if it does not fit on one line.\n\t\t */\n\t\twrapLabel: {default: false, schema: {type: 'boolean'}},\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot for field decorators on the inline-start side\n\t\t * of the start input field.\n\t\t */\n\t\t'start-input-start': {},\n\t\t/**\n\t\t * Slot for field decorators on the inline-end side\n\t\t * of the start input field.\n\t\t */\n\t\t'start-input-end': {},\n\t\t/**\n\t\t * Slot for field decorators on the inline-start side\n\t\t * of the end input field.\n\t\t */\n\t\t'end-input-start': {},\n\t\t/**\n\t\t * Slot for field decorators on the inline-end side\n\t\t * of the end input field.\n\t\t */\n\t\t'end-input-end': {},\n\t\t/**\n\t\t * Slot for label end metadata on the StartDate input. Located at the end of the label.\n\t\t */\n\t\t'start-label-end': {},\n\t\t/**\n\t\t * Slot for label end metadata on the EndDate input. Located at the end of the label.\n\t\t */\n\t\t'end-label-end': {},\n\t\t/**\n\t\t * Slot for label on the StartDate input. Located inline after the label. For the `horizontal` layout, it is placed before the label.\n\t\t */\n\t\t'start-label-inline': {},\n\t\t/**\n\t\t * Slot for label on the EndDate input. Located inline after the label. For the `horizontal` layout, it is placed before the label.\n\t\t */\n\t\t'end-label-inline': {},\n\t\t/**\n\t\t * Slot for label on the StartDate input. Located at the start of the label. For the `horizontal` layout, it is placed after the label.\n\t\t */\n\t\t'start-label-start': {},\n\t\t/**\n\t\t * Slot for label on the EndDate input. Located at the start of the label. For the `horizontal` field layout, it is placed after the label.\n\t\t */\n\t\t'end-label-start': {},\n\t},\n\tinitialState: {\n\t\tactiveInput: null,\n\t\tpresetValueStart: null,\n\t\tpresetValueEnd: null,\n\t\tprevActivePreset: {},\n\t\tpositionTarget: null,\n\t\tprefix: 'NOW_DATE_TIME_INTERVAL#',\n\t\tprevValue: null,\n\t\tshouldFocusCalendar: false,\n\t\tmode: 'interval',\n\t},\n\tactionHandlers: {\n\t\t...actions,\n\t\t[COMPONENT_DOM_READY]({properties, host}) {\n\t\t\tconst {size} = properties;\n\t\t\tif (size === 'md') {\n\t\t\t\taddClassToFirstElementInSlot(\"slot[name = 'start-input-start']\", host);\n\t\t\t\taddClassToFirstElementInSlot(\"slot[name = 'end-input-start']\", host);\n\t\t\t}\n\t\t},\n\t\t['NOW_DATE_TIME_PRESETS#SELECTED_ITEM_SET']: ({\n\t\t\taction: {payload},\n\t\t\tupdateState,\n\t\t\tupdateProperties,\n\t\t}) => {\n\t\t\tlet {value, presetValueStart, presetValueEnd} = payload;\n\n\t\t\tupdateState({\n\t\t\t\tpresetValueStart,\n\t\t\t\tpresetValueEnd,\n\t\t\t});\n\n\t\t\tupdateProperties({\n\t\t\t\tactivePreset: value,\n\t\t\t\tvalueStart: presetValueStart,\n\t\t\t\tvalueEnd: presetValueEnd,\n\t\t\t});\n\t\t},\n\t\t['NOW_DATE_TIME_PRESETS#PRESET_CLICKED']: ({\n\t\t\tstate,\n\t\t\taction: {payload},\n\t\t\tupdateState,\n\t\t}) => {\n\t\t\tconst {keyword} = payload;\n\n\t\t\tif (keyword === 'Custom') {\n\t\t\t\tconst hoistedPresets = getHoistedPreset();\n\t\t\t\tconst focusFromPresetsToCalendar = true;\n\t\t\t\tfocusCalendar(\n\t\t\t\t\thoistedPresets,\n\t\t\t\t\t{\n\t\t\t\t\t\tstate: {...state, shouldFocusCalendar: true},\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t},\n\t\t\t\t\tfocusFromPresetsToCalendar,\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t},\n\t\t['PRIVATE#FOCUS_CALENDAR']({\n\t\t\thost,\n\t\t\tstate,\n\t\t\tproperties,\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t}) {\n\t\t\tconst {opened} = properties;\n\t\t\tif (opened) {\n\t\t\t\tfocusCalendar(host, {\n\t\t\t\t\tstate: {...state, shouldFocusCalendar: true},\n\t\t\t\t\tupdateState,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tupdateState({shouldFocusCalendar: true});\n\t\t\t\tdispatch('NOW_DATE_TIME_INTERVAL#OPENED_SET', {value: true});\n\t\t\t}\n\t\t},\n\t\t['PRIVATE#VALIDATE']({\n\t\t\tcontext,\n\t\t\tdispatch,\n\t\t\tproperties,\n\t\t\tstate,\n\t\t\tupdateProperties,\n\t\t\taction,\n\t\t}) {\n\t\t\tconst {\n\t\t\t\tformat,\n\t\t\t\ttype,\n\t\t\t\treadonly,\n\t\t\t\tdisabled,\n\t\t\t\tisoWeek,\n\t\t\t\trequired,\n\t\t\t\tlocale,\n\t\t\t\tname,\n\t\t\t} = properties;\n\t\t\tlet {fieldValue, input, initiator, shouldRevertValue} = action.payload;\n\t\t\tlet {valueStart, valueEnd} = properties;\n\t\t\tconst {prefix} = state;\n\t\t\tlet errors = [];\n\t\t\tlet inputName;\n\t\t\t// on bootstrap, use the values from properties\n\t\t\t// empty string on boostrap should be seen as undefined\n\t\t\tif (initiator === COMPONENT_DOM_TREE_READY) {\n\t\t\t\tfieldValue =\n\t\t\t\t\tinput === 'start' ? properties?.valueStart : properties?.valueEnd;\n\t\t\t\tvalueStart = valueStart || undefined;\n\t\t\t\tvalueEnd = valueEnd || undefined;\n\t\t\t}\n\t\t\tif (initiator === 'NOW_POPOVER#OPENED_SET' && shouldRevertValue) {\n\t\t\t\tif (input === 'start') {\n\t\t\t\t\tvalueStart = fieldValue;\n\t\t\t\t} else if (input === 'end') {\n\t\t\t\t\tvalueEnd = fieldValue;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!input) {\n\t\t\t\tinput = state?.activeInput?.appendToPayload?.input;\n\t\t\t}\n\n\t\t\tlet valStart = validateInput({\n\t\t\t\tfieldValue: valueStart,\n\t\t\t\tcontext,\n\t\t\t\tproperties,\n\t\t\t\tupdateProperties,\n\t\t\t\tinitiator,\n\t\t\t\tinput: 'start',\n\t\t\t});\n\t\t\tlet valEnd = validateInput({\n\t\t\t\tfieldValue: valueEnd,\n\t\t\t\tcontext,\n\t\t\t\tproperties,\n\t\t\t\tupdateProperties,\n\t\t\t\tinitiator,\n\t\t\t\tinput: 'end',\n\t\t\t});\n\n\t\t\tconstructErrors(valStart.err, errors);\n\t\t\tconstructErrors(valEnd.err, errors);\n\t\t\tlet isInvalid = valStart.val || valEnd.val;\n\t\t\tif (!(readonly || disabled)) {\n\t\t\t\tconst {errorId: configErrorID, valid: configValid} =\n\t\t\t\t\tcheckIfConfigurationIsValid({\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\tproperties,\n\t\t\t\t\t\tupdateProperties,\n\t\t\t\t\t});\n\t\t\t\tconstructErrors(configErrorID, errors);\n\t\t\t\tisInvalid = isInvalid || !configValid;\n\t\t\t}\n\n\t\t\tif (initiator === 'SEISMIC_COMPONENT_DOM_TREE_READY') {\n\t\t\t\tinputName = name ?? `input-${properties.nowId}`;\n\t\t\t} else {\n\t\t\t\tinputName = name\n\t\t\t\t\t? `${name}-${input}`\n\t\t\t\t\t: `input-${properties.nowId}-${input}`;\n\t\t\t}\n\n\t\t\tdispatch(() => {\n\t\t\t\treturn {\n\t\t\t\t\ttype: `${prefix}INVALID_SET`,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tname: inputName,\n\t\t\t\t\t\tfieldValue: fieldValue,\n\t\t\t\t\t\tvalueStart,\n\t\t\t\t\t\tvalueEnd,\n\t\t\t\t\t\tisStartInvalid: valStart.val,\n\t\t\t\t\t\tisEndInvalid: valEnd.val,\n\t\t\t\t\t\tvalue: isInvalid,\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tformat,\n\t\t\t\t\t\terrorId: errors,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t});\n\n\t\t\tconst {isoDate: isoDateStart} = isDateTimeValueValid({\n\t\t\t\tformat,\n\t\t\t\tisoWeek,\n\t\t\t\tlocale,\n\t\t\t\trequired,\n\t\t\t\tvalue: valueStart,\n\t\t\t});\n\n\t\t\tconst {isoDate: isoDateEnd} = isDateTimeValueValid({\n\t\t\t\tformat,\n\t\t\t\tisoWeek,\n\t\t\t\tlocale,\n\t\t\t\trequired,\n\t\t\t\tvalue: valueEnd,\n\t\t\t});\n\n\t\t\tdispatch(() => {\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'NOW_DATE_TIME_INTERVAL#VALUES_START_END_SET',\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tname: inputName,\n\t\t\t\t\t\tstartValue: valueStart || '',\n\t\t\t\t\t\tendValue: valueEnd || '',\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tformat,\n\t\t\t\t\t\tisoDateStart,\n\t\t\t\t\t\tisoDateEnd,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Automatically updates when the user opens or closes the visual picker.\n\t\t * Use `manage-opened` to override the default behavior and handle the\n\t\t * `NOW_DATE_TIME_INTERVAL#OPENED_SET` action manually.\n\t\t * @type {boolean}\n\t\t */\n\t\t'NOW_DATE_TIME_INTERVAL#OPENED_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {value: {type: 'boolean'}},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the component's visual date items are set.\n\t\t * Payload is an array containing one or more arrays, each representing\n\t\t * a \"row\" on the date grid. Each row contains items corresponding to\n\t\t * a given date item.\n\t\t * Set the `manage-selected-item` property to override the default\n\t\t * behavior and handle this action manually. Payload key `value`\n\t\t * contains the array of date grid rows and items.\n\t\t * @type {{value: []}}\n\t\t */\n\t\t'NOW_DATE_TIME_INTERVAL#ITEMS_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {value: itemsSchema},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user clicks on a footer action item. Payload\n\t\t * includes a reference to the clicked item and action. Set\n\t\t * `action.clickActionType` to override the action type.\n\t\t * @type {{action: Object}}\n\t\t */\n\t\t'NOW_DATE_TIME_INTERVAL#FOOTER_ACTION_CLICKED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\taction: {\n\t\t\t\t\t\toneOf: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\tvariant: {\n\t\t\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\t\t\tenum: [\n\t\t\t\t\t\t\t\t\t\t\t'primary',\n\t\t\t\t\t\t\t\t\t\t\t'primary-positive',\n\t\t\t\t\t\t\t\t\t\t\t'primary-negative',\n\t\t\t\t\t\t\t\t\t\t\t'secondary',\n\t\t\t\t\t\t\t\t\t\t\t'secondary-positive',\n\t\t\t\t\t\t\t\t\t\t\t'secondary-negative',\n\t\t\t\t\t\t\t\t\t\t\t'tertiary',\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tlabel: {type: 'string'},\n\t\t\t\t\t\t\t\t\tbare: {type: 'boolean'},\n\t\t\t\t\t\t\t\t\tdisabled: {type: 'boolean'},\n\t\t\t\t\t\t\t\t\ttooltipContent: {type: 'string'},\n\t\t\t\t\t\t\t\t\tclickActionType: {type: 'string'},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{type: 'object', properties: {isDefault: {const: true}}},\n\t\t\t\t\t\t\t{type: 'object', properties: {isToday: {const: true}}},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user moves focus away from the field.\n\t\t * Payload contains these properties:\n\t\t * - `name`: String. Name of the fieldValue that was set.\n\t\t * - `fieldValue`: String. Value of the field that was set.\n\t\t * - `valueStart`: String. Value entered in the start field.\n\t\t * - `valueEnd`: String. Value entered in the end field.\n\t\t * - `isStartInvalid`: Boolean. Validity of the start field value.\n\t\t * - `isEndInvalid`: Boolean. Validity of the end field valuee.\n\t\t * - `value`: Boolean. Overall validity of the date-time-interval.\n\t\t * - `type`: String. Value of the `type` property.\n\t\t * - `format`: String. Value of the `format` property.\n\t\t * - `errorId`: Array. Value of the `errorId` for both the start and end fields.\n\t\t *\n\t\t * Set the `manage-invalid` property to override the default behavior and\n\t\t * handle this action manually.\n\t\t * @type {{name: string, value: boolean, fieldValue: string, type: string, format: string, errorId: string}}\n\t\t */\n\t\t'NOW_DATE_TIME_INTERVAL#INVALID_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tfieldValue: {type: 'string'},\n\t\t\t\t\tvalueStart: {type: 'string'},\n\t\t\t\t\tvalueEnd: {type: 'string'},\n\t\t\t\t\tisStartInvalid: {type: 'boolean'},\n\t\t\t\t\tisEndInvalid: {type: 'boolean'},\n\t\t\t\t\tvalue: {type: 'boolean'},\n\t\t\t\t\ttype: {type: 'string'},\n\t\t\t\t\tformat: {type: 'string'},\n\t\t\t\t\terrorId: {type: 'array', items: {type: 'string'}},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user moves focus away from the first field upon manually\n\t\t * entering a date, or when the field value changes via a calendar selection.\n\t\t * Only dispatches when the value is valid.\n\t\t * Payload contains these properties:\n\t\t * - `name`: String. Value of the `name` property.\n\t\t * - `value`: String. Value entered in the field.\n\t\t * - `format`: String. Value of the `format` property.\n\t\t * - `type`: String. Value of the `type` property.\n\t\t * - `date`: The Date() constructor of the value.\n\t\t * - `isoDate`: String. The ISO formatted value.\n\t\t *\n\t\t * Set the `manage-value` property to override the default behavior and\n\t\t * handle this action manually.\n\t\t * @type {{name: string, value: string, format: string, date: Date, isoDate: string}}\n\t\t */\n\t\t'NOW_DATE_TIME_INTERVAL#VALUE_START_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tvalue: {type: 'string'},\n\t\t\t\t\ttype: {type: 'string'},\n\t\t\t\t\tformat: {type: 'string'},\n\t\t\t\t\tdate: {type: 'object'},\n\t\t\t\t\tisoDate: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Dispatched when the user moves focus away from the second field upon manually\n\t\t * entering a date, or when the field value changes via a calendar selection.\n\t\t * Only dispatches when the value is valid.\n\t\t * Payload contains these properties:\n\t\t * - `name`: String. Value of the `name` property.\n\t\t * - `value`: String. Value entered in the field.\n\t\t * - `format`: String. Value of the `format` property.\n\t\t * - `type`: String. Value of the `type` property.\n\t\t * - `date`: The Date() constructor of the value.\n\t\t * - `isoDate`: String. The ISO formatted value.\n\t\t *\n\t\t * Set the `manage-value` property to override the default behavior and\n\t\t * handle this action manually.\n\t\t * @type {{name: string, value: string, format: string, date: Date, isoDate: string}}\n\t\t */\n\t\t'NOW_DATE_TIME_INTERVAL#VALUE_END_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tvalue: {type: 'string'},\n\t\t\t\t\ttype: {type: 'string'},\n\t\t\t\t\tformat: {type: 'string'},\n\t\t\t\t\tdate: {type: 'object'},\n\t\t\t\t\tisoDate: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Dispatched when the user moves focus away from either the start\n\t\t * or end field. Payload contains these properties:\n\t\t * - `name`: String. Value of the `name` property.\n\t\t * - `startValue`: String. Value entered in the start field.\n\t\t * - `endValue`: String. Value entered in the end field.\n\t\t * - `type`: String. Value of the `type` property.\n\t\t * - `format`: Value of the `format` property.\n\t\t * - `isoDateStart`: String. The ISO formatted value of the start date.\n\t\t * - `isoDateEnd`: String. The ISO formatted value of the end date.\n\t\t * Set the `manage-value` property to override the default behavior and\n\t\t * handle this action manually.\n\t\t * @type {{name: string, startValue: string, endValue: string, type: string, format: string, startDate: Date, endDate: Date, isoDateStart: string, isoDateEnd: string}}\n\t\t */\n\t\t'NOW_DATE_TIME_INTERVAL#VALUES_START_END_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tstartValue: {type: 'string'},\n\t\t\t\t\tendValue: {type: 'string'},\n\t\t\t\t\ttype: {type: 'string'},\n\t\t\t\t\tformat: {type: 'string'},\n\t\t\t\t\tisoDateStart: {type: 'string'},\n\t\t\t\t\tisoDateEnd: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Dispatched when the user enters data in the field by typing or\n\t\t * pasting text. The system does not validate the value or update\n\t\t * the `value` property. Payload contains these properties:\n\t\t * - `name`: String. Value of the `name` property.\n\t\t * - `data`: String. Value entered in the field that caused the event to fire.\n\t\t * - `fieldValue`: String. Current value of the field when the event fired.\n\t\t * @type {{name: string, data: string, fieldValue: string, format: string, date: Date, isoDate: string, valid: boolean}}\n\t\t */\n\t\t'NOW_DATE_TIME_INTERVAL#INPUT': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tdata: {type: 'string'},\n\t\t\t\t\tfieldValue: {type: 'string'},\n\t\t\t\t\ttype: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user presses the Enter key while focus is inside\n\t\t * the input.\n\t\t * @type {{name: string, value: string, format: string, date: Date, isoDate: string, valid: boolean}}\n\t\t */\n\t\t'NOW_DATE_TIME_INTERVAL#ENTER_KEYDOWN': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tfieldValue: {type: 'string'},\n\t\t\t\t\ttype: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: (host) => {\n\t\t\t\t\tconst focusTarget = host.shadowRoot\n\t\t\t\t\t\t.querySelector('now-input-date-time.now-date-time-input')\n\t\t\t\t\t\t.shadowRoot.querySelector('now-input.now-input-date-time-input')\n\t\t\t\t\t\t.shadowRoot.querySelector('input.now-input-native');\n\n\t\t\t\t\tif (focusTarget) {\n\t\t\t\t\t\tfocusTarget.focus();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbehavior: deferBehavior,\n\t\t\toptions: {\n\t\t\t\tevents: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'mouseenter',\n\t\t\t\t\t\ttrigger: 'now-input-date-time',\n\t\t\t\t\t\ttarget: 'now-date-time-calendar',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\tresizeBehavior,\n\t],\n\tstyles,\n\tview,\n});\n","import {t} from 'sn-translate';\nimport {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport styles from './_now-select.scss';\nimport '@servicenow/now-dropdown';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-popover';\nimport {configAriaLabelSchema} from '@servicenow/library-schemas';\nimport {\n\trenderFormFieldMessages,\n\trenderFormFieldLabel,\n\trenderLabelEnd,\n\tgetAriaDescribedByList,\n} from '@servicenow/now-input';\nimport {messagesSchema} from '@servicenow/now-input';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport deferBehavior from '@servicenow/behavior-defer';\nimport {\n\titemsSchema,\n\tconstrainSchema,\n\tsetActiveItem,\n} from '@servicenow/now-dropdown';\nimport {makeRedispatchEffect} from '@servicenow/library-enhanced-utils';\nimport {flatMap, pick, transform, isNumber} from 'lodash';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {fieldLayoutSchema} from '@servicenow/now-input';\nimport {\n\tfilterAriaAttributes,\n\tgetActiveElement,\n} from '@servicenow/library-enhanced-utils';\n\nconst {\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tARIA_LIVE_REGION_UPDATE_REQUESTED,\n} = actionTypes;\n\n// We're not using the library-enhanced-utils `getColumnStyles` as we had to\n// add the join of ' 0 ' to accomodate the two dummny columns in the grid\n// template for now-select only. We'll also early return anything other than 3\n// column parameters supplied. See DEF0467107.\n\nconst getColumnStyles = (columns) => {\n\tif (columns?.length !== 3) return {};\n\tconst customColumn =\n\t\tcolumns?.map((c) => `minmax(0, ${c})`)?.join(' 0 ') ?? '';\n\treturn customColumn ? {'grid-template-columns': customColumn} : {};\n};\n\nconst announceMessage = (label, content, dispatch) => {\n\tconst announcement = label + ' ' + content.content;\n\treturn dispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\tmessage: announcement,\n\t\ttype: 'polite',\n\t});\n};\n\nconst getSelected = (items, valueId) => {\n\tconst selected = flattenItems(items).find((item) => item.id === valueId);\n\tif (selected) {\n\t\treturn selected.label;\n\t}\n};\n\nconst flattenItems = (items) => flatMap(items, (item) => item.children || item);\n\nconst focusTrigger = (host) => {\n\tconst trigger = host.shadowRoot.querySelector('.now-select-trigger');\n\tif (trigger) {\n\t\ttrigger.focus();\n\t}\n};\n\nconst getDropdownListConstrain = (constrain) => {\n\treturn transform(constrain, (result, value, key) => {\n\t\tif (key === 'height' || key === 'minHeight' || key === 'maxHeight') {\n\t\t\tresult[key] = isNumber(value) ? `${value}px` : value;\n\t\t}\n\t});\n};\n\nconst matchKeywordWithItem = (flattened, key, dispatch, updateState) => {\n\tconst itemIndex = flattened.findIndex((item) =>\n\t\titem.label.toLowerCase().startsWith(key.toLowerCase()),\n\t);\n\tconst shouldDispatch = itemIndex >= 0 && !flattened[itemIndex].disabled;\n\t//Empty the previously entered search key after every timeout\n\tupdateState({prevEnteredKey: ''});\n\tdispatch(() => {\n\t\treturn {\n\t\t\ttype: 'NOW_SELECT#SELECTED_ITEM_SET',\n\t\t\tpayload: {\n\t\t\t\tvalue: flattened[itemIndex]?.id,\n\t\t\t\titem: flattened[itemIndex],\n\t\t\t},\n\t\t\tshouldDispatch,\n\t\t};\n\t});\n};\n\nconst view = (state, {dispatch}) => {\n\tconst {opened, activeItem} = state;\n\tconst {\n\t\tsize,\n\t\tsearch,\n\t\tdisabled,\n\t\thideRequiredIndicator,\n\t\tinvalid,\n\t\titems,\n\t\titemsListConstrain,\n\t\trequired,\n\t\treadonly,\n\t\toptional,\n\t\tlabel,\n\t\thelperContent,\n\t\tmessages,\n\t\tselectedItem,\n\t\tautofocus,\n\t\tnowId,\n\t\tconfigAria,\n\t\tfieldLayout,\n\t} = state.properties;\n\n\tconst selectedLabel = getSelected(items, selectedItem);\n\tconst constrain = {\n\t\tmaxHeight: 300,\n\t\twidth: 'target',\n\t\tmaxWidth: 'target',\n\t\t...itemsListConstrain,\n\t};\n\n\tconst configAriaDropdownList = {\n\t\tpanel: {\n\t\t\t'aria-required': required ? 'true' : 'false',\n\t\t\t...filterAriaAttributes(configAria, 'panel'),\n\t\t},\n\t};\n\n\tif (label) configAriaDropdownList.panel['aria-label'] = label;\n\tconst {layout, columns} = fieldLayout;\n\n\tif (readonly) {\n\t\treturn (\n\t\t\t<now-input\n\t\t\t\tclass={{'now-select-input': true, [`-${size}`]: size}}\n\t\t\t\trequired={required}\n\t\t\t\tautofocus={autofocus}\n\t\t\t\tname={name}\n\t\t\t\tsize={size}\n\t\t\t\thide-required-indicator={hideRequiredIndicator}\n\t\t\t\thelper-content={helperContent}\n\t\t\t\toptional={optional}\n\t\t\t\tlabel={label}\n\t\t\t\tmessages={messages}\n\t\t\t\tvalue={!selectedLabel ? '—' : selectedLabel}\n\t\t\t\treadonly\n\t\t\t\tfield-layout={fieldLayout}\n\t\t\t>\n\t\t\t\t<div slot=\"start\" className=\"now-select-input-slot\">\n\t\t\t\t\t<slot\n\t\t\t\t\t\tname=\"start\"\n\t\t\t\t\t\ton-click={(e) => {\n\t\t\t\t\t\t\tif (!opened) {\n\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ton-keydown={(e) => {\n\t\t\t\t\t\t\tif (!opened) {\n\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ton-slotchange={() => dispatch('PRIVATE#SET_DECORATORS_START')}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div slot=\"end\" className=\"now-select-input-slot\">\n\t\t\t\t\t<slot\n\t\t\t\t\t\tname=\"end\"\n\t\t\t\t\t\ton-click={(e) => {\n\t\t\t\t\t\t\tif (!opened) {\n\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ton-keydown={(e) => {\n\t\t\t\t\t\t\tif (!opened) {\n\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ton-slotchange={() => dispatch('PRIVATE#SET_DECORATORS_END')}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<slot slot=\"label-end\" name=\"label-end\" />\n\t\t\t</now-input>\n\t\t);\n\t}\n\n\tconst listId = `now-dropdown-list-${nowId}`;\n\treturn (\n\t\t<div\n\t\t\tstyle={\n\t\t\t\tlayout === 'horizontal' ? {...getColumnStyles(columns)} : undefined\n\t\t\t}\n\t\t\tclass={{\n\t\t\t\t'now-select': true,\n\t\t\t\t[`-${size}`]: size,\n\t\t\t\t['-' + layout]: layout,\n\t\t\t}}\n\t\t>\n\t\t\t{renderFormFieldLabel(\n\t\t\t\tnowId,\n\t\t\t\tinvalid,\n\t\t\t\trequired,\n\t\t\t\toptional,\n\t\t\t\tlabel,\n\t\t\t\thelperContent,\n\t\t\t\thideRequiredIndicator,\n\t\t\t\t'span',\n\t\t\t\tlayout,\n\t\t\t\topened,\n\t\t\t)}\n\t\t\t<div>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'now-select-start-slot': true,\n\t\t\t\t\t\t'has-decorator': state.decoratorsStart,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<slot\n\t\t\t\t\t\tname=\"start\"\n\t\t\t\t\t\ton-click={(e) => {\n\t\t\t\t\t\t\tif (!opened) {\n\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ton-keydown={(e) => {\n\t\t\t\t\t\t\tif (!opened) {\n\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ton-slotchange={() => dispatch('PRIVATE#SET_DECORATORS_START')}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<now-popover\n\t\t\t\tbare\n\t\t\t\tconstrain={pick(constrain, ['width', 'minWidth', 'maxWidth'])}\n\t\t\t\tmanage-opened\n\t\t\t\topened={opened}\n\t\t\t\tinteraction-type=\"listbox\"\n\t\t\t\tappend-to-payload={{isListbox: true}}\n\t\t\t\tdisable-scroll\n\t\t\t\tappend-to-meta={{componentId: nowId}}\n\t\t\t>\n\t\t\t\t<button\n\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\tid={`form-field-${nowId}`}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'now-select-trigger': true,\n\t\t\t\t\t\t'now-form-field': true,\n\t\t\t\t\t\t'is-invalid': invalid,\n\t\t\t\t\t\t'is-disabled': disabled,\n\t\t\t\t\t\t'is-open': opened,\n\t\t\t\t\t}}\n\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t\taria-expanded={String(opened)}\n\t\t\t\t\taria-controls={`${listId}-listbox`}\n\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\taria-labelledby={`form-field-${nowId}-label`}\n\t\t\t\t\taria-describedby={getAriaDescribedByList({\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\thelperContent,\n\t\t\t\t\t\toptional,\n\t\t\t\t\t\tnowId,\n\t\t\t\t\t\tmessages,\n\t\t\t\t\t})}\n\t\t\t\t\t{...filterAriaAttributes(configAria, 'trigger')}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\taria-invalid={invalid ? 'true' : 'false'}\n\t\t\t\t>\n\t\t\t\t\t<span\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'now-select-trigger-label': true,\n\t\t\t\t\t\t\t'has-decorator': state.decoratorsStart,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{selectedLabel}\n\t\t\t\t\t</span>\n\t\t\t\t\t{required && (\n\t\t\t\t\t\t<span className=\"now-select-trigger-required-label now-a11y-label\">\n\t\t\t\t\t\t\t({t('Required')})\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'now-select-trigger-icon': true,\n\t\t\t\t\t\t\t[`has-${state.decoratorsEnd}-decorators`]: state.decoratorsEnd,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ticon=\"caret-down-outline\"\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t/>\n\t\t\t\t</button>\n\t\t\t\t<now-dropdown-list\n\t\t\t\t\tdefer\n\t\t\t\t\tslot=\"content\"\n\t\t\t\t\tstyle={getDropdownListConstrain(constrain)}\n\t\t\t\t\titems={items}\n\t\t\t\t\tsearch={search}\n\t\t\t\t\tmanage-selected-items\n\t\t\t\t\tselected-items={selectedItem ? [selectedItem] : undefined}\n\t\t\t\t\tactive-item={activeItem}\n\t\t\t\t\tconfig-aria={configAriaDropdownList}\n\t\t\t\t\tsize={size}\n\t\t\t\t\tappend-to-meta={{componentId: nowId}}\n\t\t\t\t\tscreen-reader-id={opened ? listId : undefined}\n\t\t\t\t/>\n\t\t\t</now-popover>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'now-select-end-slot': true,\n\t\t\t\t\t[`has-${state.decoratorsEnd}-decorators`]: state.decoratorsEnd,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<slot\n\t\t\t\t\tname=\"end\"\n\t\t\t\t\ton-click={(e) => {\n\t\t\t\t\t\tif (!opened) {\n\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\ton-keydown={(e) => {\n\t\t\t\t\t\tif (!opened) {\n\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\ton-slotchange={() => dispatch('PRIVATE#SET_DECORATORS_END')}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{layout === 'horizontal' && renderLabelEnd()}\n\t\t\t<div className=\"now-form-field-messages\">\n\t\t\t\t{renderFormFieldMessages(nowId, messages, 0)}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\n/**\n * A form control that enables users to select an option from a dropdown.\n *\n * ```jsx\n * <now-select\n *   label=\"Select an option\"\n *   items={[{id: 'item1', label: 'Item 1'}]}\n *   required />\n * ```\n *\n * @seismicElement now-select\n * @summary Form element that provides a dropdown panel of options for users to select from.\n * @uib.label Select\n * @uib.icon select\n * @uib.description Form element that provides a dropdown panel of options for users to select from.\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties size, search, label, items, optional, required, hideRequiredIndicator, disabled, helperContent, invalid, manageInvalid, autofocus, selectedItem, manageSelectedItem, messages, itemsListConstrain, configAria, readonly, fieldLayout, landmark\n * @uib.layout.list.children items, selectedItem, manageSelectedItem, itemsListConstrain\n * @uib.layout.list.icon list-outline\n * @uib.layout.label.children label, required, hideRequiredIndicator, optional, helperContent, readonly\n * @uib.layout.label.icon text-outline\n * @uib.layout.validation.children invalid, manageInvalid, messages\n * @uib.layout.validation.icon syntax-check-outline\n * @uib.layout.accessibility.children configAria, landmark\n * @uib.layout.accessibility.icon accessibility-outline\n * @uib.actions NOW_SELECT#LIST_VISIBLE, NOW_SELECT#LIST_HIDDEN, NOW_SELECT#INVALID_SET, NOW_SELECT#SELECTED_ITEM_SET, NOW_SELECT#SEARCH_TERM_SET\n * @uib.innerComponents now-button-iconic, now-dropdown-list, now-icon, now-popover, now-input\n */\ncreateEnhancedElement('now-select', {\n\tproperties: {\n\t\t/**\n\t\t * Sets the select trigger size.\n\t\t * @type {('sm'|'md')}\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Small\", \"value\": \"sm\"}, {\"label\": \"Medium\", \"value\": \"md\"}]\n\t\t * @uib.defaultValue md\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['sm', 'md'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * When true, the focus is automatically placed inside the input\n\t\t * on page load.\n\t\t * @type {boolean}\n\t\t * @uib.label Auto-focus\n\t\t * @uib.description Select to automatically place focus inside the input on page load\n\t\t */\n\t\tautofocus: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Controls how to filter the items as the user types into the integrated search input.\n\t\t * - \"none\": (default) Dropdown list does not display an internal search field.\n\t\t * - \"managed\": Internal input field is rendered, but no automatic filtering occurs.\n\t\t * Use this if you want to manually filter or search for items as the user types outside of the list.\n\t\t * - \"initial\": Internal input field is rendered, and items whose label\n\t\t * or sublabel begins with the input value are displayed. This is case-insensitive.\n\t\t * - \"contains\": Internal input field is rendered, and items whose label\n\t\t * or sublabel contains the input value are displayed. This is case-insensitive.\n\t\t * @type {(\"none\"|\"managed\"|\"initial\"|\"contains\")}\n\t\t * @uib.label Search Behavior\n\t\t * @uib.description Controls how to filter the items as the user types into the integrated search input\n\t\t */\n\t\tsearch: {\n\t\t\tdefault: 'none',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['none', 'managed', 'initial', 'contains'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * When true, the user cannot interact with the field\n\t\t * or change its value. Field appears grayed out when disabled.\n\t\t * @type {boolean}\n\t\t * @uib.description Select to disable user click interactions\n\t\t */\n\t\tdisabled: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * If set, an iconic button with popover appears next to the field\n\t\t * label for displaying additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t * @uib.description If set, an iconic button with popover appears next to the field label for displaying additional hint text to the user, such as password requirements or other instructions for completing the field. Use plain text to allow for translation. If you do not want to add helper content, leave this property empty.\n\t\t * @uib.label Helper text\n\t\t * @uib.fieldType string\n\t\t * @uib.translatable true\n\t\t */\n\t\thelperContent: {},\n\t\t/**\n\t\t * When true, the required indicator is hidden. Use this for\n\t\t * forms where most fields are required, along with the `optional` flag\n\t\t * for any fields that are not required.\n\t\t * @type {boolean}\n\t\t * @uib.label Hide Required Indicator\n\t\t * @uib.description When true, the required indicator is hidden. Use this for forms where most fields are required, along with the `optional` flag for any fields that are not required.\n\t\t */\n\t\thideRequiredIndicator: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Indicates that the field is in an incorrect state,\n\t\t * which is reflected in the field display.\n\t\t * @type {boolean}\n\t\t * @uib.description Select to indicate that the field is in an incorrect state, which is reflected in the field display.\n\t\t */\n\t\tinvalid: {default: false, manageable: true, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `invalid` property.\n\t\t * An action with type `NOW_SELECT#INVALID_SET` will be dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the invalid property. Use the invalid set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageInvalid: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * An array of `DropdownListItem` or `DropdownListSection` objects that are used as\n\t\t * possible items that the user can select from.\n\t\t * @type {(Array.<DropdownListItem> | Array.<DropdownListSection>)}\n\t\t * @uib.label List items\n\t\t * @uib.description Array of items in the dropdown\n\t\t * @uib.defaultValue [{\"id\": \"usr1\",\"label\": \"User 1\",\"sublabel\": \"user1@servicenow.com\",\"avatarProps\": {\"userName\": \"User 1\",\"imageSrc\": \"http://i.pravatar.cc/24?u=33\",\"presence\": \"away\"}},{\"id\": \"usr2\",\"label\": \"User 2\",\"sublabel\": \"user2@servicenow.com\",\"avatarProps\": {\"userName\": \"User 2\",\"imageSrc\": \"http://i.pravatar.cc/24?u=34\",\"presence\": \"busy\"},\"disabled\": true},{\"id\": \"usr3\",\"label\": \"User 3\",\"sublabel\": \"user3@servicenow.com\",\"avatarProps\": {\"userName\": \"User 3\",\"imageSrc\": \"http://i.pravatar.cc/24?u=35\",\"presence\": \"offline\"}}]\n\t\t * @uib.typeMetadata.emptyStateBehavior EMPTY_ARRAY\n\t\t */\n\t\titems: {\n\t\t\trequired: true,\n\t\t\tschema: itemsSchema,\n\t\t},\n\t\t/**\n\t\t * An object describing additional sizing constrains for the items list popover.\n\t\t *\n\t\t * Valid keys are (all are optional):\n\t\t *\n\t\t *  - width\n\t\t *  - minWidth\n\t\t *  - maxWidth\n\t\t *  - height\n\t\t *  - minHeight\n\t\t *  - maxHeight\n\t\t *\n\t\t * The value for each property should be a positive integer representing\n\t\t * a pixel value that will be applied to the corresponding content style.\n\t\t * Alternatively, you can specify the string `\"target\"` for width,\n\t\t * minWidth, or maxWidth to have that property match the width of the\n\t\t * input element.\n\t\t *\n\t\t * E.g., To ensure the items list is at least 400x200 pixels:\n\t\t *\n\t\t *  {\n\t\t *\t\tminWidth: 400,\n\t\t *\t\tminHeight: 200\n\t\t *  }\n\t\t *\n\t\t * The default values for this property are:\n\t\t *\n\t\t *  {\n\t\t *\t\twidth: \"target\",\n\t\t *\t\tmaxHeight: 300,\n\t\t *  }\n\t\t *\n\t\t * @type {ItemsListConstrain}\n\t\t * @typedef {Object} ItemsListConstrain\n\t\t * @description Sizing constraints to enforce on the items list. For each\n\t\t * property, a number can be specified which sets that constraint in\n\t\t * pixels.  If the value is \"target\" for width, minWidth, or maxWidth,\n\t\t * the items list is sized to match the width of the input field.\n\t\t * @property {\"target\"|number} width\n\t\t * @property {\"target\"|number} minWidth\n\t\t * @property {\"target\"|number} maxWidth\n\t\t * @property {number} height\n\t\t * @property {number} minHeight\n\t\t * @property {number} maxHeight\n\t\t * @uib.label Item Size Constraints\n\t\t * @uib.description Sizing constraints to enforce on the items list. For each property, a number can be specified which sets that constraint in pixels.  If the value is \"target\" for width, minWidth, or maxWidth, the items list is sized to match the width of the input field\n\t\t * @uib.defaultValue {}\n\t\t */\n\t\titemsListConstrain: {schema: constrainSchema},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * now-select. The value of each key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s. These ARIA\n\t\t * properties are set on the specified element.\n\t\t * The 'trigger' key corresponds to the inner html `<button>` that acts as\n\t\t * the trigger in now-select. See\n\t\t * https://www.w3.org/TR/wai-aria-1.2/#button for properties and accepted\n\t\t * values. The 'panel' key corresponds to the inner html `<div>` that acts\n\t\t * as the 'listbox'. See https://www.w3.org/TR/wai-aria-1.2/#listbox for\n\t\t * properties and accepted values.\n\t\t * @type {{ trigger: {'aria-*': string, role: string}, panel: {'aria-*': string, role: string} }}\n\t\t * @uib.label ARIA Properties\n\t\t * @uib.description Sets ARIA properties on the inner html 'button' and 'listbox'\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\ttrigger: configAriaLabelSchema,\n\t\t\t\t\tpanel: configAriaLabelSchema,\n\t\t\t\t},\n\t\t\t\tadditionalProperties: false,\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Label describing the overall purpose of the input field.\n\t\t * @type {string}\n\t\t * @uib.description Label describing the overall purpose of the select field\n\t\t * @uib.defaultValue Label\n\t\t * @uib.translatable true\n\t\t */\n\t\tlabel: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Array of inline alert messages that are displayed below the field.\n\t\t * @type {Array.<{status: ('critical'|'warning'|'positive'|'info'|'suggestion'), content: (string|JSX), icon: string}>}\n\t\t * @uib.label Alert messages\n\t\t * @uib.description Array of inline alert messages that are displayed below the field\n\t\t * @uib.fieldType collection\n\t\t * @uib.typeMetadata.collection.cardProperties.heading { \"heading\": \"content\", \"icon\": \"icon\" }\n\t\t */\n\t\tmessages: {\n\t\t\tdefault: [],\n\t\t\tschema: messagesSchema,\n\t\t},\n\t\t/**\n\t\t * Indicates the field is optional and not required to be completed by\n\t\t * the user before completing the form.\n\t\t * @type {boolean}\n\t\t * @uib.description Indicates that the field is optional\n\t\t * @uib.defaultValue false\n\t\t */\n\t\toptional: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Indicates that the user must select an item in the\n\t\t * select dropdown before they can proceed with completing the form.\n\t\t * @type {boolean}\n\t\t * @uib.description Select to indicate that the user must enter a value in the field before proceeding.\n\t\t * @uib.defaultValue false\n\t\t */\n\t\trequired: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, the user cannot modify the value of the field.\n\t\t * @type {boolean}\n\t\t * @uib.label Read Only\n\t\t * @uib.description Makes the field read-only and prevents users from modifying the value.\n\t\t */\n\t\treadonly: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * The ID of the selected item from the `items` array.\n\t\t * @type {(string|number)}\n\t\t * @uib.description The ID of the selected item from the `items` array\n\t\t */\n\t\tselectedItem: {manageable: true, schema: {type: ['string', 'number']}},\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `selectedItem` property.\n\t\t * An action with type `NOW_SELECT#SELECTED_ITEM_SET` will be dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the selected item property. Use the selected item set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageSelectedItem: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: {layout: 'vertical'},\n\t\t\tschema: fieldLayoutSchema,\n\t\t},\n\t\t/**\n\t\t * Includes this component as a target for the Now-Trigger-Library's\n\t\t * Landmark Focus feature.\n\t\t * @type {boolean}\n\t\t * @uib.label Landmark\n\t\t * @uib.description Allow the Landmark Focus keyboard shortcut to focus this select\n\t\t */\n\t\tlandmark: {schema: {type: 'boolean'}},\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the select menu opens and renders the content. Unlike\n\t\t * `NOW_SELECT#OPENED_SET`, this action only fires after the select\n\t\t * menu is rendered in the DOM. The `content` property is a node list containing the\n\t\t * select's inner `now-dropdown-list` element.\n\t\t * @type {{content: NodeList}}\n\t\t * @uib.description Dispatched when the select menu is fully rendered to the DOM.\n\t\t */\n\t\t'NOW_SELECT#LIST_VISIBLE': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tcontent: {type: 'array'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the select menu has been closed and removed. Unlike\n\t\t * `NOW_SELECT#OPENED_SET`, this action only fires after the select\n\t\t * menu is fully removed from the DOM.\n\t\t * @type {{}}\n\t\t * @uib.description Dispatched when the select menu is fully removed from the DOM.\n\t\t */\n\t\t'NOW_SELECT#LIST_HIDDEN': {schema: {type: 'object'}},\n\t\t/**\n\t\t * Dispatched when the field is blurred if the field is `required`\n\t\t * and the user has not selected an option from the dropdown list.\n\t\t * Set the `manage-invalid` property to override the default behavior and\n\t\t * handle this action manually.\n\t\t * @type {{value: boolean}}\n\t\t * @uib.description Dispatched when the field is blurred if the field is `required` and the user has not selected an option from the dropdown list.\n\t\t */\n\t\t'NOW_SELECT#INVALID_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tvalue: {type: 'boolean'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user selects an item from the dropdown list.\n\t\t * Payload key `value` contains the `id` of the item selected.\n\t\t * Payload key `item` contains the `object` of the the item selected.\n\t\t * Set the `manage-selected-item` property to override the default behavior and\n\t\t * handle this action manually.\n\t\t * @type {{value: (string|number), item: Object}}\n\t\t * @uib.label Item selected\n\t\t * @uib.description A user selects an item from the dropdown list.\n\t\t */\n\t\t'NOW_SELECT#SELECTED_ITEM_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tvalue: {type: ['string', 'number']},\n\t\t\t\t\titem: {type: 'object'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user inputs text in the internal search field.\n\t\t * @type {{value: string}}\n\t\t * @uib.description Dispatched when the user inputs text in the internal search field.\n\t\t */\n\t\t'NOW_SELECT#SEARCH_TERM_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tvalue: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot for field decorator actions on the inline-start (normally left)\n\t\t * side of the select trigger label.\n\t\t */\n\t\tstart: {},\n\t\t/**\n\t\t * Slot for field decorator actions on the inline-end (normally right)\n\t\t * side of the select trigger.\n\t\t */\n\t\tend: {},\n\t\t/**\n\t\t * Slot for label end metadata. Located at the end of the label.\n\t\t */\n\t\t'label-end': {},\n\t\t/**\n\t\t * Slot for label inline icon. Located inline after label.\n\t\t */\n\t\t'label-inline': {},\n\t},\n\tinitialState: {\n\t\topened: false,\n\t\tactiveItem: undefined,\n\t\tdecoratorsStart: false,\n\t\tdecoratorsEnd: 0,\n\t\tprevEnteredKey: '',\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['keydown'],\n\t\t\teffect({action, updateState, dispatch, state, properties}) {\n\t\t\t\tif (properties.disabled) return;\n\n\t\t\t\t/* checks if the current focused element is not equal to trigger to prevent the\n                dropdown from showing */\n\t\t\t\tconst activeElement = getActiveElement();\n\t\t\t\tif (\n\t\t\t\t\t!activeElement.classList.contains('now-select-trigger') &&\n\t\t\t\t\t!activeElement.classList.contains('now-dropdown-list-item-container')\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst {key} = action.payload.event;\n\n\t\t\t\tif (key === 'Shift') return;\n\t\t\t\tconst selectItemKeys = [' ', 'Enter'];\n\n\t\t\t\tconst flattened = flattenItems(properties.items);\n\n\t\t\t\tconst activeItemIndex = flattened.findIndex((item) => {\n\t\t\t\t\treturn item.id === state.activeItem;\n\t\t\t\t});\n\n\t\t\t\tconst lastItem = flattened.length - 1;\n\n\t\t\t\tif (selectItemKeys.includes(key)) {\n\t\t\t\t\tif (!state.opened) {\n\t\t\t\t\t\taction.preventDefault();\n\t\t\t\t\t\tupdateState({opened: true});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (properties.search !== 'none') return;\n\t\t\t\t\t\taction.preventDefault();\n\t\t\t\t\t\tconst activeItem = flattened[activeItemIndex];\n\t\t\t\t\t\tif (activeItem && !activeItem.disabled) {\n\t\t\t\t\t\t\tupdateState({opened: false, activeItem: undefined});\n\t\t\t\t\t\t\tdispatch(() => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\ttype: 'NOW_SELECT#SELECTED_ITEM_SET',\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tvalue: activeItem.id,\n\t\t\t\t\t\t\t\t\t\titem: activeItem,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tlet nextFocus;\n\t\t\t\t\tif (key === 'ArrowDown') {\n\t\t\t\t\t\taction.preventDefault();\n\t\t\t\t\t\tif (!state.opened) {\n\t\t\t\t\t\t\tupdateState({opened: true});\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// dropdown list handles focus for us if it has a search field\n\t\t\t\t\t\tif (properties.search !== 'none') return;\n\t\t\t\t\t\tnextFocus = Math.max(Math.min(activeItemIndex + 1, lastItem), 0);\n\t\t\t\t\t} else if (key === 'ArrowUp') {\n\t\t\t\t\t\taction.preventDefault();\n\t\t\t\t\t\tif (!state.opened) {\n\t\t\t\t\t\t\tupdateState({opened: true});\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// dropdown list handles focus for us if it has a search field\n\t\t\t\t\t\tif (properties.search !== 'none') return;\n\t\t\t\t\t\tnextFocus = Math.max(activeItemIndex - 1, 0);\n\t\t\t\t\t} else if (key === 'Home') {\n\t\t\t\t\t\tif (!state.opened) return;\n\t\t\t\t\t\taction.preventDefault();\n\t\t\t\t\t\tnextFocus = 0;\n\t\t\t\t\t} else if (key === 'End') {\n\t\t\t\t\t\tif (!state.opened) return;\n\t\t\t\t\t\taction.preventDefault();\n\t\t\t\t\t\tnextFocus = lastItem;\n\t\t\t\t\t} else if (!state.opened && [...key].length === 1) {\n\t\t\t\t\t\tupdateState({prevEnteredKey: state.prevEnteredKey + key});\n\t\t\t\t\t\t//If the user types multiple characters, wait and then dispatch the function\n\t\t\t\t\t\tdispatch('NOW_SELECT#MATCH_KEYWORD_ITEM', {\n\t\t\t\t\t\t\tflattened,\n\t\t\t\t\t\t});\n\t\t\t\t\t} else if ([...key].length === 1) {\n\t\t\t\t\t\t// For printable chars, get indices of all items that start with key\n\t\t\t\t\t\tconst filtered = flattened.reduce((result, item, i) => {\n\t\t\t\t\t\t\tif (item.label.toLowerCase().startsWith(key.toLowerCase())) {\n\t\t\t\t\t\t\t\tresult.push(i);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t}, []);\n\t\t\t\t\t\t// and loop focus over them on subsequent key presses\n\t\t\t\t\t\t// from the currently focused (or first) matching item\n\t\t\t\t\t\tif (filtered.length > 0 && properties?.search === 'none') {\n\t\t\t\t\t\t\tconst prev = filtered.findIndex((i) => i === activeItemIndex);\n\t\t\t\t\t\t\tconst next = (prev + 1) % filtered.length;\n\t\t\t\t\t\t\tnextFocus = filtered[next];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (flattened[nextFocus]) {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tactiveItemIndex: nextFocus,\n\t\t\t\t\t\t\tactiveItem: flattened[nextFocus].id,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t],\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_TREE_READY]: ({host, properties}) => {\n\t\t\tif (properties.autofocus && !properties.readonly) {\n\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\tfocusTrigger(host);\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({properties, action, dispatch}) => {\n\t\t\tconst {name, value, previousValue} = action.payload;\n\t\t\tif (name === 'messages') {\n\t\t\t\tconst messagesLength = value.length;\n\t\t\t\tconst previousMessagesLength = previousValue ? previousValue.length : 0;\n\t\t\t\tif (messagesLength > previousMessagesLength) {\n\t\t\t\t\tfor (let i = previousMessagesLength; i < messagesLength; i++) {\n\t\t\t\t\t\tannounceMessage(properties.label, value[i], dispatch);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'NOW_SELECT#MATCH_KEYWORD_ITEM': {\n\t\t\tmodifier: {\n\t\t\t\tname: 'debounce',\n\t\t\t\tdelay: 250,\n\t\t\t},\n\t\t\teffect: ({action, state, dispatch, updateState}) => {\n\t\t\t\tconst {flattened} = action.payload;\n\t\t\t\tconst {prevEnteredKey} = state;\n\t\t\t\tmatchKeywordWithItem(flattened, prevEnteredKey, dispatch, updateState);\n\t\t\t},\n\t\t},\n\t\t'NOW_POPOVER#OPENED_SET': ({action, properties, dispatch, updateState}) => {\n\t\t\tconst {value: opened, isListbox} = action.payload;\n\t\t\tconst componentId = action?.meta?.appended?.componentId;\n\t\t\tconst {disabled, nowId} = properties;\n\t\t\tif (!isListbox || disabled) return;\n\t\t\tif (componentId === nowId) updateState({opened, activeItem: null});\n\t\t\tif (!opened) {\n\t\t\t\tdispatch(() => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'PRIVATE#RUN_VALIDATION',\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t'NOW_POPOVER#CONTENT_VISIBLE': (coeffects) => {\n\t\t\tconst {action, host, properties, updateState} = coeffects;\n\t\t\tconst dropdownList = host.shadowRoot.querySelector('now-dropdown-list');\n\t\t\tdropdownList.focus();\n\n\t\t\tconst {items, selectedItem} = properties;\n\t\t\tsetActiveItem(items, selectedItem ? [selectedItem] : [], updateState);\n\n\t\t\tconst componentId = action?.meta?.appended?.componentId;\n\t\t\tconst {nowId} = properties;\n\t\t\tif (nowId === componentId) {\n\t\t\t\tmakeRedispatchEffect('NOW_SELECT#LIST_VISIBLE')(coeffects);\n\t\t\t}\n\t\t},\n\t\t'NOW_POPOVER#CONTENT_HIDDEN': makeRedispatchEffect(\n\t\t\t'NOW_SELECT#LIST_HIDDEN',\n\t\t),\n\t\t'NOW_DROPDOWN_LIST#ACTIVE_ITEM_SET': ({\n\t\t\taction,\n\t\t\tupdateState,\n\t\t\tproperties,\n\t\t}) => {\n\t\t\tconst componentId = action?.meta?.appended?.componentId;\n\t\t\tconst {nowId} = properties;\n\t\t\tif (nowId === componentId) {\n\t\t\t\tupdateState({activeItem: action.payload.value});\n\t\t\t}\n\t\t},\n\t\t'NOW_DROPDOWN_LIST#SELECTED_ITEMS_SET': ({\n\t\t\thost,\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\tproperties,\n\t\t}) => {\n\t\t\tconst componentId = action?.meta?.appended?.componentId;\n\t\t\tconst {nowId} = properties;\n\t\t\tif (componentId === nowId) {\n\t\t\t\tupdateState({opened: false, activeItem: null});\n\t\t\t\tfocusTrigger(host);\n\t\t\t\tconst selectedItemId = action.payload.value[0];\n\t\t\t\tdispatch(() => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'NOW_SELECT#SELECTED_ITEM_SET',\n\t\t\t\t\t\tpayload: {value: selectedItemId, item: action.payload.items[0]},\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t\tdispatch(() => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'PRIVATE#RUN_VALIDATION',\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t'NOW_DROPDOWN_LIST#SEARCH_TERM_SET': makeRedispatchEffect(\n\t\t\t'NOW_SELECT#SEARCH_TERM_SET',\n\t\t),\n\t\t'PRIVATE#RUN_VALIDATION': {\n\t\t\tstopPropagation: true,\n\t\t\teffect: ({dispatch, properties}) => {\n\t\t\t\tconst {required, selectedItem, invalid} = properties;\n\t\t\t\tconst isInvalid = !selectedItem;\n\t\t\t\tdispatch(() => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'NOW_SELECT#INVALID_SET',\n\t\t\t\t\t\tpayload: {value: isInvalid},\n\t\t\t\t\t\tshouldDispatch:\n\t\t\t\t\t\t\t(required && isInvalid && !invalid) || (!isInvalid && invalid),\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\t'PRIVATE#SET_DECORATORS_START': {\n\t\t\tstopPropagation: true,\n\t\t\teffect: ({host, updateState}) => {\n\t\t\t\tconst slotEl = host.shadowRoot.querySelector(\"[name='start']\");\n\t\t\t\tconst assignedNodes = slotEl.assignedNodes();\n\t\t\t\tconst hasSlottedContent = assignedNodes.length > 0;\n\n\t\t\t\tupdateState({decoratorsStart: hasSlottedContent});\n\t\t\t},\n\t\t},\n\t\t'PRIVATE#SET_DECORATORS_END': {\n\t\t\tstopPropagation: true,\n\t\t\teffect: ({host, updateState}) => {\n\t\t\t\tconst slotEl = host.shadowRoot.querySelector(\"[name='end']\");\n\t\t\t\tconst slottedNodes = slotEl.assignedNodes();\n\n\t\t\t\tconst decorators = slottedNodes.reduce((numDecorators, node) => {\n\t\t\t\t\tif (node.tagName.includes('ICON')) {\n\t\t\t\t\t\treturn numDecorators + 1;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst icons = node.querySelectorAll('now-icon, now-button-iconic');\n\t\t\t\t\tconst numIcons = icons.length;\n\n\t\t\t\t\treturn numIcons ? numDecorators + numIcons : numDecorators;\n\t\t\t\t}, 0);\n\n\t\t\t\tupdateState({decoratorsEnd: decorators > 2 ? 2 : decorators});\n\t\t\t},\n\t\t},\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: (host) => {\n\t\t\t\t\tconst focusTarget = host.shadowRoot.querySelector(\n\t\t\t\t\t\t'button.now-form-field',\n\t\t\t\t\t);\n\n\t\t\t\t\tif (focusTarget) {\n\t\t\t\t\t\tfocusTarget.focus();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbehavior: deferBehavior,\n\t\t\toptions: {\n\t\t\t\tevents: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'mouseenter',\n\t\t\t\t\t\ttrigger: 'now-popover',\n\t\t\t\t\t\ttarget: 'now-dropdown-list',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t{behavior: truncationBehavior},\n\t\t{behavior: tooltipBehavior},\n\t],\n\tstyles,\n\tview,\n});\n","import './now-select';\nimport * as info from '../package.json';\n\nconst {name, version} = info;\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n","export const NOW_LIST_COMPONENT_LOAD_REQUESTED =\n\t'NOW_LIST#COMPONENT_LOAD_REQUESTED';\nexport const NOW_LIST_COMPONENT_LOAD_COMPLETED =\n\t'NOW_LIST#COMPONENT_LOAD_COMPLETED';\nexport const NOW_LIST_COMPONENT_LOAD_FAILED = 'NOW_LIST#COMPONENT_LOAD_FAILED';\n\nexport const MAX_COMPONENT_LOAD_COUNT = 2;\nexport const COMPONENT_LOADED_STATUS = Object.freeze({\n\t/** @type {ComponentLoadStatus} */\n\tERROR: 'ERROR',\n\t/** @type {ComponentLoadStatus} */\n\tSUCCESS: 'SUCCESS',\n\t/** @type {ComponentLoadStatus} */\n\tLOADING: 'LOADING',\n});\n","export const INTERSECTION_OBSERVER_NAME = 'intersectionObserverBehavior';\n\nexport const OBSERVE_ELEMENT = 'INTERSECTION_BEHAVIOR#OBSERVE_ELEMENT';\nexport const UNOBSERVE_ELEMENT = 'INTERSECTION_BEHAVIOR#UNOBSERVE_ELEMENT';\nexport const REGISTER_INTERSECTION_OBSERVER = 'INTERSECTION_BEHAVIOR#REGISTER';\nexport const UNREGISTER_INTERSECTION_OBSERVER =\n\t'INTERSECTION_OBSERVER#UNREGISTER';\n\n/**\n * HOOK NAMES\n */\nexport const HOOK_INSERT = 'hook-insert';\nexport const HOOK_DESTROY = 'hook-destroy';\nexport const HOOK_INIT = 'hook-init';\n/**\n * PATHS\n */\n\n/**\n * Path of options in action payload\n */\nexport const PAYLOAD_OPTIONS_PATH = 'payload.options';\n\n/**\n * Path of intersectionObserver object in state\n */\nexport const INTERSECTION_OBSERVER_STATE_PATH = `behaviors.${INTERSECTION_OBSERVER_NAME}.intersectionObserver`;\n\n/**\n * NOW MODES\n */\nexport const NOW_MODE_ACTIVE = 'active';\nexport const NOW_MODE_SUSPEND = 'suspend';\nexport const NOW_MODE_DETACH = 'detach';\n\n/**\n * DEFAULTS\n */\nexport const DEFAULT_ROOT_SELECTOR = '[data-id=scrollContainer]';\nexport const DEFAULT_ROOT_MARGIN = '100px 100px 100px 100px';\nexport const DEFAULT_THRESHOLD = 1.0;\nexport const DEFAULT_DEBOUNCE_DELAY = 50;\n","import { get as fpGet, getOr } from 'lodash/fp';\n\nimport {\n\tDEFAULT_DEBOUNCE_DELAY,\n\tDEFAULT_ROOT_MARGIN,\n\tDEFAULT_ROOT_SELECTOR,\n\tDEFAULT_THRESHOLD,\n\tINTERSECTION_OBSERVER_STATE_PATH,\n\tPAYLOAD_OPTIONS_PATH,\n} from './constants';\n/**\n * Selectors\n */\n\n/**\n * This selector function returns the intersection observer object stored in state\n * @param {object} state\n * @returns {object} IntersectionObserver that was initialized\n */\nexport const getIntersectionObserver = fpGet(INTERSECTION_OBSERVER_STATE_PATH);\n\n/**\n * This selector function returns the options object that were passed in on behavior initialization\n * @param {object} action\n * @returns {object}\n */\nexport const getOptions = fpGet(PAYLOAD_OPTIONS_PATH);\n\n/**\n * This selector function returns the selector string to use to get the root element that the\n * intersection observer should be applied to. For more info on intersection observer options,\n * please visit https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n * @param {object} action\n * @returns {string}\n */\nexport const getRootElementSelector = getOr(\n\tDEFAULT_ROOT_SELECTOR,\n\t`${PAYLOAD_OPTIONS_PATH}.rootElementSelector`\n);\n/**\n * This selector function returns the root margin that the\n * intersection observer should be applied to. For more info on intersectionObserver options\n * please visit https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n * @param {object} action\n * @returns {string}\n */\nexport const getRootMargin = getOr(\n\tDEFAULT_ROOT_MARGIN,\n\t`${PAYLOAD_OPTIONS_PATH}.rootMargin`\n);\n\n/**\n * This selector function returns the threshold to use for the intersection observer. For more info\n * on intersection observer options, please visit https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n * @param {object} action\n * @returns {number}\n */\nexport const getThreshold = getOr(\n\tDEFAULT_THRESHOLD,\n\t`${PAYLOAD_OPTIONS_PATH}.threshold`\n);\n\n/**\n * This selector function returns the debounce value in milliseconds to use when collating observe and unobserve actions\n * @param {object} action\n * @returns {string}\n */\nexport const getDebounceDelay = getOr(DEFAULT_DEBOUNCE_DELAY, `debounceDelay`);\n\n/**\n * This selector function returns a boolean whether to toggle defer attribute on to the component, or toggle component modes.\n * @param {object} action\n * @returns {string}\n */\nexport const getUseDefer = getOr(false, `${PAYLOAD_OPTIONS_PATH}.useDefer`);\n\n/**\n * This selector function returns the element configuration in options.elementIdentifier. The id is associated with the OBSERVE_ELEMENT\n * action dispatch and is used to retrieve element configuration which includes intersect and initial styles.\n * @param {string} id\n * @returns {(action: object) => {initialClass: string, intersectClass: string}} element configuration\n */\nexport const getElementConfig = (id) =>\n\tfpGet(`${PAYLOAD_OPTIONS_PATH}.elementIdentifier[${id}]`);\n\n/**\n * This selector function returns a boolean that determines if the component mode should be set to suspend\n * when the element is no longer intersecting and the component mode is active. Will return true by default if should\n * suspend is not found\n * @param {object} action\n * @returns {boolean}\n */\nexport const getShouldSuspend = getOr(\n\ttrue,\n\t`${PAYLOAD_OPTIONS_PATH}.shouldSuspend`\n);\n\n/**\n * This selector function returns a boolean that determines if the element should no longer be observed once intersected for the first time\n * @param {object} action\n * @returns {boolean}\n */\nexport const getShouldUnobserveElement = getOr(\n\tfalse,\n\t`${PAYLOAD_OPTIONS_PATH}.unobserveOnIntersect`\n);\n","import { actionTypes } from '@servicenow/ui-core';\n\nimport logger from '../../shared/utils/logger';\n\nimport {\n\tHOOK_DESTROY,\n\tHOOK_INIT,\n\tHOOK_INSERT,\n\tINTERSECTION_OBSERVER_NAME,\n\tINTERSECTION_OBSERVER_STATE_PATH,\n\tNOW_MODE_ACTIVE,\n\tNOW_MODE_DETACH,\n\tNOW_MODE_SUSPEND,\n\tOBSERVE_ELEMENT,\n\tREGISTER_INTERSECTION_OBSERVER,\n\tUNOBSERVE_ELEMENT,\n\tUNREGISTER_INTERSECTION_OBSERVER,\n} from './constants';\nimport {\n\tgetDebounceDelay,\n\tgetElementConfig,\n\tgetIntersectionObserver,\n\tgetRootElementSelector,\n\tgetRootMargin,\n\tgetShouldSuspend,\n\tgetShouldUnobserveElement,\n\tgetThreshold,\n\tgetUseDefer,\n} from './selectors';\n\nconst { COMPONENT_DOM_READY, COMPONENT_DISCONNECTED } = actionTypes;\n\n/**\n * Helper function to create element hooks that will be used to observe/unobserve elements\n * @param {Now.Dispatch} dispatch\n * @param {string} id Id that corresponds to elementIdentifier config in options\n * @param {boolean} useDefer boolean to determine if component mode should be set or defer tag should be used\n * @returns {{defer?: boolean, nowNode?: 'active'  | 'suspend' | 'detach', 'hook-insert': (vnode: Now.JsxVNode) => void, 'hook-destroy': (vnode: Now.JsxVNode) => void}}\n */\nexport const createElementObservationProps = (\n\tdispatch,\n\tid,\n\tuseDefer = false\n) => ({\n\t...(useDefer && { defer: true }),\n\t...(!useDefer && { nowMode: NOW_MODE_DETACH }),\n\t/**\n\t * Hook that is used to observe element. Should only be used on component elements.\n\t * Will set component mode to detach and dispatch to observe element in intersection observer\n\t * @param {*} vnode\n\t */\n\t[HOOK_INSERT]: (vnode) => {\n\t\tif (!vnode.elm) return;\n\n\t\tif (useDefer) {\n\t\t\tvnode.elm.observe = () => {\n\t\t\t\tvnode.elm.defer = false;\n\t\t\t};\n\t\t} else {\n\t\t\tvnode.elm.observe = () => {\n\t\t\t\tvnode.elm.nowMode = NOW_MODE_ACTIVE;\n\t\t\t};\n\t\t}\n\n\t\tdispatch(OBSERVE_ELEMENT, { vnode, id });\n\t},\n\n\t/**\n\t * Hook that is used to unobserve element. Will dispatch to behavior when element is removed.\n\t * @param {*} vnode\n\t */\n\t[HOOK_DESTROY]: (vnode) => {\n\t\tif (!vnode.elm) return;\n\n\t\tdispatch(UNOBSERVE_ELEMENT, { vnode });\n\t},\n});\n\n/**\n * Helper function to create element hooks that will be used to register root element and set up and tear down intersection observer\n * @param {*} dispatch\n * @returns {{'hook-init': (vnode: Now.JsxVNode) => void, 'hook-destroy': () => void}}\n */\nexport const createRootElementHooks = (dispatch) => ({\n\t/**\n\t * Init hook that will dispatch register action for root element and setup intersection observer\n\t * @param {*} vnode\n\t */\n\t[HOOK_INIT]: (vnode) => {\n\t\tdispatch(REGISTER_INTERSECTION_OBSERVER, { vnode });\n\t},\n\n\t/**\n\t * Remove hook that will dispatch action to tear down intersection observer and remove from state\n\t */\n\t[HOOK_DESTROY]: () => {\n\t\tdispatch(UNREGISTER_INTERSECTION_OBSERVER);\n\t},\n});\n\n/**\n * This wrapper will return the callback to be used in the intersection observer\n * @param {boolean} shouldSuspend\n * @param {boolean} shouldUnobserveElement\n * @param {boolean} useDefer\n * @returns {*} callback function\n */\nexport const intersectionCallBack = (\n\tshouldSuspend,\n\tshouldUnobserveElement,\n\tuseDefer\n) =>\n\t/**\n\t *\n\t * This callback function will get called when observed elements intersect the root element defined in the IntersectionObserver\n\t * setup. Using options that are passed into the component, this function will set the appropriate styles and component modes\n\t * @param {Array<{isIntersecting: boolean, target: Now.JsxElementProps & HTMLElement & {defer: boolean}}>} entries\n\t * @param {*} observer\n\t * @returns\n\t */\n\t(entries, observer) =>\n\t\tentries.forEach((entry) => {\n\t\t\tconst { isIntersecting, target: element } = entry;\n\t\t\tconst unDefer = useDefer && element.defer;\n\n\t\t\tif (\n\t\t\t\tisIntersecting &&\n\t\t\t\t(element.nowMode !== NOW_MODE_ACTIVE || unDefer)\n\t\t\t) {\n\t\t\t\tconst intersectClass = element.dataset.intersectClass;\n\t\t\t\tconst initialClass = element.dataset.initialClass;\n\n\t\t\t\tif (initialClass && element.classList.contains(initialClass))\n\t\t\t\t\telement.classList.remove(initialClass);\n\n\t\t\t\tif (\n\t\t\t\t\tintersectClass &&\n\t\t\t\t\t!element.classList.contains(intersectClass)\n\t\t\t\t)\n\t\t\t\t\telement.classList.add(intersectClass);\n\n\t\t\t\tif (unDefer) {\n\t\t\t\t\telement.defer = false;\n\t\t\t\t} else {\n\t\t\t\t\telement.nowMode = NOW_MODE_ACTIVE;\n\t\t\t\t}\n\n\t\t\t\tif (shouldUnobserveElement) observer.unobserve(element);\n\t\t\t} else if (\n\t\t\t\telement.nowMode == NOW_MODE_ACTIVE &&\n\t\t\t\tshouldSuspend &&\n\t\t\t\t!useDefer\n\t\t\t) {\n\t\t\t\telement.nowMode = NOW_MODE_SUSPEND;\n\t\t\t}\n\t\t});\n\n/**\n * This effect is used to set up the IntersectionObserver with the defined options. This can be set up either on component dom ready\n * or opt in via dispatching of REGISTER_INTERSECTION_OBSERVER action with element. If rootElement is found either via selector or\n * payload, an IntersectionObserver instance will be created and stored in state.\n * @param {*} coeffects\n * @returns\n */\nexport const setupIntersectionObserverEffect = (coeffects) => {\n\tconst { updateState, host, action } = coeffects;\n\tconst {\n\t\tpayload: { vnode },\n\t} = action;\n\n\tconst rootElementSelector = getRootElementSelector(action);\n\tconst rootElementWithSelector = host.shadowRoot?.querySelector(\n\t\trootElementSelector\n\t);\n\tconst rootElement = rootElementWithSelector || vnode?.elm;\n\n\tif (!rootElement) {\n\t\tlogger.warning(\n\t\t\t'Could not find root element. Skipping intersection observer setup'\n\t\t);\n\t\treturn;\n\t}\n\n\tconst shouldSuspend = getShouldSuspend(action);\n\tconst shouldUnobserveElement = getShouldUnobserveElement(action);\n\tconst useDefer = getUseDefer(action);\n\n\tconst intersectionObserver = new IntersectionObserver(\n\t\tintersectionCallBack(shouldSuspend, shouldUnobserveElement, useDefer),\n\t\t{\n\t\t\troot: rootElement,\n\t\t\trootMargin: getRootMargin(action),\n\t\t\tthreshold: getThreshold(action),\n\t\t}\n\t);\n\n\tlogger.info('Intersection Observer successfully created');\n\n\tupdateState({\n\t\tpath: INTERSECTION_OBSERVER_STATE_PATH,\n\t\toperation: 'set',\n\t\tvalue: intersectionObserver,\n\t\tshouldRender: false,\n\t});\n};\n\n/**\n * This effect is used to disconnect the intersection observer (stop observing all elements) and remove the instnace from state.\n * This will be called on disconnect or opt in if the element is removed. Use hooks defined above on root element to handle element removal\n * @param {*} coeffects\n */\nexport const unregisterIntersectionObserverEffect = (coeffects) => {\n\tconst { state, updateState } = coeffects;\n\n\tconst intersectionObserver = getIntersectionObserver(state);\n\n\tif (intersectionObserver) {\n\t\tintersectionObserver.disconnect();\n\t}\n\n\tupdateState({\n\t\tpath: INTERSECTION_OBSERVER_STATE_PATH,\n\t\tvalue: undefined,\n\t\toperation: 'set',\n\t\tshouldRender: false,\n\t});\n};\n\n/**\n * This effect handles observing of elements. By default this effect will be collated and debounced so as to handle all\n * observation requests at the same time vs n number of actions. If the IntersectionObserver exists, this effect will\n * add the element to be observed and apply the initial styles defined in the elementIdentifier options passed in. If no styles\n * are found, element will still be observed with no changes to styles.\n * @param {*} coeffects\n * @returns\n */\nexport const observeElementEffect = (coeffects) => {\n\tconst { collated, state } = coeffects;\n\n\tconst intersectionObserver = getIntersectionObserver(state);\n\tif (!intersectionObserver) {\n\t\tlogger.warning(\n\t\t\t'No intersection observer in state, ignoring element observe requests'\n\t\t);\n\t\treturn;\n\t}\n\n\tcollated.forEach((/**@type {*} */ collatedItem) => {\n\t\tconst {\n\t\t\taction: {\n\t\t\t\tpayload: { vnode, id },\n\t\t\t},\n\t\t\taction,\n\t\t} = collatedItem;\n\n\t\tif (!vnode || !vnode?.elm) {\n\t\t\tlogger.warning('Skipping node for observation');\n\t\t\treturn;\n\t\t}\n\n\t\tconst { elm: element } = vnode;\n\n\t\tconst elementConfig = getElementConfig(id)(action);\n\n\t\tif (elementConfig) {\n\t\t\tconst { initialClass, intersectClass } = elementConfig;\n\t\t\telement.dataset.initialClass = initialClass || '';\n\t\t\telement.dataset.intersectClass = intersectClass || '';\n\n\t\t\tif (initialClass && !element.classList.contains(initialClass)) {\n\t\t\t\telement.classList.add(initialClass);\n\t\t\t}\n\t\t}\n\n\t\tintersectionObserver.observe(vnode.elm);\n\t});\n};\n\n/**\n * This effect handles unobserving of elements. By default this effect will be collated and debounced so as to handle all\n * unobservation requests at the same time vs n number of actions. If the IntersectionObserver exists, this effect will\n * call unobserve on the element. This is used in cases where the element is removed from the dom and we no longer want to observe\n * the element\n * @param {*} coeffects\n */\nexport const unobserveElementEffect = (coeffects) => {\n\tconst { state, collated } = coeffects;\n\n\tconst intersectionObserver = getIntersectionObserver(state);\n\n\tcollated.forEach((/**@type {*} */ collatedItem) => {\n\t\tconst {\n\t\t\taction: {\n\t\t\t\tpayload: { vnode },\n\t\t\t},\n\t\t} = collatedItem;\n\n\t\tif (!vnode || !vnode?.elm) {\n\t\t\tlogger.warning('Skipping node for unobservation');\n\t\t\treturn;\n\t\t}\n\n\t\tintersectionObserver.unobserve(vnode.elm);\n\t});\n};\n\n/**\n * This helper function creates the action handlers for the component with the specified delay in options (for observation effects)\n * @param {number} delay\n * @returns\n */\nexport const createIntersectionObserverBehaviorActionHandlers = (delay) => ({\n\t[COMPONENT_DOM_READY]: {\n\t\teffect: setupIntersectionObserverEffect,\n\t},\n\t[REGISTER_INTERSECTION_OBSERVER]: {\n\t\teffect: setupIntersectionObserverEffect,\n\t\tstopPropagation: true,\n\t},\n\t[COMPONENT_DISCONNECTED]: {\n\t\teffect: unregisterIntersectionObserverEffect,\n\t},\n\t[UNREGISTER_INTERSECTION_OBSERVER]: {\n\t\teffect: unregisterIntersectionObserverEffect,\n\t\tstopPropagation: true,\n\t},\n\t[OBSERVE_ELEMENT]: {\n\t\teffect: observeElementEffect,\n\t\tmodifier: { name: 'debounce', collate: true, delay },\n\t\tstopPropagation: true,\n\t},\n\t[UNOBSERVE_ELEMENT]: {\n\t\teffect: unobserveElementEffect,\n\t\tmodifier: { name: 'debounce', collate: true, delay },\n\t\tstopPropagation: true,\n\t},\n});\n\n/**\n * Helper function used to create behavior object with options passed in.\n * @param {object} options\n * @returns {object} behavior definition\n */\nexport const createIntersectionObserver = (options) => {\n\treturn {\n\t\tbehavior: {\n\t\t\tname: INTERSECTION_OBSERVER_NAME,\n\t\t\tactionHandlers: createIntersectionObserverBehaviorActionHandlers(\n\t\t\t\tgetDebounceDelay(options)\n\t\t\t),\n\t\t},\n\t\toptions,\n\t};\n};\n","import { t } from 'sn-translate';\n\nimport '@servicenow/now-loader';\nimport { COMPONENT_LOADED_STATUS } from '../../behaviors/componentLoaderBehavior/constants';\nimport { createElementObservationProps } from '../../behaviors/intersectionObserverBehavior/intersectionObserverBehavior';\nimport { getFakeNowIcon } from '../views/shared/fakeNowIcon';\nimport { COLUMN_FILTERING_VALUE_INPUT_CLASS } from '../views/table/tableHeaders/columnFilteringCell/columnFilteringConsts';\n\nconst { LOADING, SUCCESS, ERROR } = COMPONENT_LOADED_STATUS;\n\nexport const customComponentType = {\n\tCELL: 'cell',\n\tOVERLAY: 'overlay',\n\tPOPOVER: 'popover',\n\tROW: 'row',\n\tGALLERY_VIRTUALIZED_STATUS_ROW: 'gallery-virtualized-status-row',\n\tCOLUMN_FILTER_VALUE_INPUT: 'columnFilterValueInput',\n};\n\n/**\n * Renders the loading state while fetching the components for the custom component\n * For cell type of custom component, now-loader needs to be wrapped inside a container,\n * to allow user to apply the customized placeholderDimensions style to the loader\n * @param {string} type type of custom component\n * @param {object} style the placeholderDimensions prop for cell type of custom component\n */\nconst renderLoadingState = (type, style) => {\n\tconst className = `${type}-content custom-${type}-loader-content`;\n\tif (type === customComponentType.CELL)\n\t\treturn (\n\t\t\t<div className={className} style={style}>\n\t\t\t\t<now-loader className=\"custom-cell-loader\" />\n\t\t\t</div>\n\t\t);\n\telse return <now-loader className={className} />;\n};\n\n/**\n * Renders a custom component using the ComponentTag and componentDefaultProps\n * @param {string} type type of custom component\n * @param {String} ComponentTag the tag name for the component to render\n * @param {Object} componentDefaultProps props for the component to render\n * @param {string} componentDefaultProps.label label of the component\n * @param {object} style an object representing this cell's parent column\n * @param {string} customRowAlignment\n * @param {*} dispatch seismic dispatch\n */\nexport const renderCustomComponent = (\n\ttype,\n\tComponentTag,\n\tcomponentDefaultProps,\n\tstyle,\n\tdispatch,\n\tcustomRowAlignment = ''\n) => {\n\tif (type === customComponentType.CELL) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName=\"cell-content custom-cell-content\"\n\t\t\t\tstyle={style}\n\t\t\t\tdata-truncation\n\t\t\t>\n\t\t\t\t<ComponentTag\n\t\t\t\t\t{...componentDefaultProps}\n\t\t\t\t\t{...createElementObservationProps(dispatch, 'custom-cell')}\n\t\t\t\t\tappend-to-meta={{ fromCustomSource: type }}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif (type === customComponentType.COLUMN_FILTER_VALUE_INPUT) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName=\"column-filter-value-input-container\"\n\t\t\t\tdata-test={`${type}-custom-filter-container`}\n\t\t\t\tdata-truncation\n\t\t\t\tstyle={style}\n\t\t\t>\n\t\t\t\t<ComponentTag\n\t\t\t\t\t{...componentDefaultProps}\n\t\t\t\t\tappend-to-meta={{ fromCustomSource: type }}\n\t\t\t\t\tclassName={COLUMN_FILTERING_VALUE_INPUT_CLASS}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName={`${type}-content ${customRowAlignment}`}\n\t\t\tdata-test={`${type}-custom-content-container`}\n\t\t\tdata-truncation\n\t\t\tstyle={style}\n\t\t>\n\t\t\t<ComponentTag\n\t\t\t\t{...componentDefaultProps}\n\t\t\t\tappend-to-meta={{ fromCustomSource: type }}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\n/**\n * Renders the error state for the custom component\n * @param {string} type type of custom component\n * @param {object} style\n * @param {string} dir a string value that represents the language direction\n */\nconst renderErrorState = (type, style, dir) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={`${type}-content custom-${type}-error-content`}\n\t\t\tstyle={style}\n\t\t\tdir={dir}\n\t\t>\n\t\t\t<div className={`custom-${type}-error custom-${type}-error-icon`}>\n\t\t\t\t{getFakeNowIcon('triangle-exclamation-outline', 'md')}\n\t\t\t</div>\n\t\t\t<span className={`custom-${type}-error`} data-truncation>\n\t\t\t\t{t('Error')}\n\t\t\t</span>\n\t\t</div>\n\t);\n};\n\n/**\n * Renders the custom components\n * @param {string} type type of custom component\n * @param {TableMetadata} tableMetadata\n * @param {string} componentTag component tag of the custom component\n * @param {any} componentDefaultProps properties of the custom component\n * @param {string} dir a string value that represents the language direction\n * @param {object} cellStyle\n * @param {string} customRowAlignment\n * @param {object} placeholderStyle\n * @param {*} dispatch seismic dispatch\n */\nexport const renderCustomComponentDisplay = (\n\ttype,\n\ttableMetadata,\n\tcomponentTag,\n\tcomponentDefaultProps,\n\tdir,\n\tcellStyle = {},\n\tplaceholderStyle = {},\n\tdispatch = null,\n\tcustomRowAlignment = ''\n) => {\n\tconst { fetchedComponents = {} } = tableMetadata;\n\tconst loadedComponentInfo = fetchedComponents[componentTag];\n\tconst status = loadedComponentInfo?.status ?? ERROR;\n\n\tif (status === LOADING) {\n\t\treturn renderLoadingState(type, placeholderStyle);\n\t}\n\n\tif (status === SUCCESS) {\n\t\treturn renderCustomComponent(\n\t\t\ttype,\n\t\t\tcomponentTag,\n\t\t\tcomponentDefaultProps,\n\t\t\tcellStyle,\n\t\t\tdispatch,\n\t\t\tcustomRowAlignment\n\t\t);\n\t}\n\n\treturn renderErrorState(type, placeholderStyle, dir);\n};\n","import {\n\tDATE_EDITOR_VARIANT_LONG,\n\tDATE_EDITOR_VARIANT_SHORT,\n} from '../views/fields/dateTime/constants';\n\n/**\n * Checks if dateformat is short date.\n * short date is anything without HH mm or ss.\n * @param {string} dateFormat\n *\n * @returns {boolean}\n */\nexport const isShortDateFormat = (dateFormat) => {\n\tif (dateFormat === undefined || dateFormat == null) return false;\n\tconst re = new RegExp('/HH|mm|ss', 'gm');\n\treturn !re.test(dateFormat);\n};\n\n/**\n * Checks if date string is short date.\n * short date is any date string without 00:00:00\n * @param {string} date\n *\n * @returns {boolean}\n */\nexport const isShortDate = (date) => {\n\tif (date === undefined || date == null) return false;\n\tconst re = new RegExp(/\\d{2}:\\d{2}:\\d{2}/);\n\treturn !re.test(date);\n};\n\n/**\n * Chooses dateTime component format type for datetime cell editor popover, either date or date + time\n * @param {string} dateFormat\n * @param {boolean} forceShortDateFormat\n *\n * @returns {DATE_EDITOR_VARIANT_SHORT | DATE_EDITOR_VARIANT_LONG}\n */\nexport const getDateEditorVariant = (dateFormat, forceShortDateFormat) => {\n\t// fixme: format should honor user preferences\n\treturn isShortDateFormat(dateFormat) || forceShortDateFormat\n\t\t? DATE_EDITOR_VARIANT_SHORT\n\t\t: DATE_EDITOR_VARIANT_LONG;\n};\n","import { t } from 'sn-translate';\n\nimport { TABLE_DEFAULT_ICON_SIZE } from '../../../constants';\n\nexport const BOOLEAN_TRUE_STRING = t('True');\nexport const BOOLEAN_FALSE_STRING = t('False');\n\nexport const BOOLEAN_TRUE_ICON = 'circle-check-outline';\nexport const BOOLEAN_FALSE_ICON = 'circle-close-outline';\n\nconst BOOLEAN_TRUE_ID = 'true';\nconst BOOLEAN_FALSE_ID = 'false';\n\n// icons are not included in these choices because:\n// 1. this variable is used in some settings that don't support icons (eg radio buttons)\n// 2. these represent logical values, excluding visual decorations https://www.figma.com/design/dZKjg11aPVtjfLWf6LaUtj?node-id=5745-287788&m=dev#918551538\nexport const BOOLEAN_CHOICES = [\n\t{\n\t\tid: BOOLEAN_TRUE_ID,\n\t\tlabel: BOOLEAN_TRUE_STRING,\n\t},\n\t{\n\t\tid: BOOLEAN_FALSE_ID,\n\t\tlabel: BOOLEAN_FALSE_STRING,\n\t},\n];\n\nexport const BOOLEAN_ICON_SIZE = TABLE_DEFAULT_ICON_SIZE;\n","import { createRef } from '@servicenow/ui-renderer-snabbdom';\nimport classNames from 'classnames';\nimport { fromUnixTime } from 'date-fns';\nimport { formatInTimeZone } from 'date-fns-tz';\nimport isEmpty from 'lodash/isEmpty';\nimport isObject from 'lodash/isObject';\nimport toString from 'lodash/toString';\nimport { t } from 'sn-translate';\n\nimport '@servicenow/now-button';\nimport '@servicenow/now-checkbox';\nimport '@servicenow/now-date-time';\nimport '@servicenow/now-dropdown';\nimport '@servicenow/now-input';\nimport '@servicenow/now-select';\nimport {\n\tgetColumnRequiresValueFromOperator,\n\tgetOverridenDateFormat,\n} from '../../../../../behaviors/columnFilteringBehavior/columnFilteringBehavior';\nimport {\n\tcustomComponentType,\n\trenderCustomComponentDisplay,\n} from '../../../../utils/customLoader';\nimport {\n\tgetDateEditorVariant,\n\tisShortDateFormat,\n} from '../../../../utils/dateTimeUtils';\nimport columnSelectors from '../../../../utils/selectors/columnSelectors';\nimport { BOOLEAN_CHOICES } from '../../../fields/boolean/constants';\nimport {\n\tDECIMAL_PLACES_DEFAULT,\n\tNUMBER_FORMAT_INTEGER,\n\tNUMBER_FORMAT_LONG_INT,\n} from '../../../fields/number/constants';\nimport {\n\tCELL_CONTENT_CLASS,\n\tSPECIAL_COLUMN_CELL,\n\tSPECIAL_COLUMN_CELL_CONTENT,\n} from '../../tableBody/tableRow/rowCell/rowCellConstants';\nimport { INCLUDE_LARGE_PADDING_CLASS } from '../../tableConstants';\n\nimport {\n\tREMOVE_COLUMN_FILTER_BUTTON,\n\tCOLUMN_FILTERING_CHOICE_TYPE_TRIGGER_BUTTON_NAME,\n\tCOLUMN_FILTERING_VALUE_ARIA_LABEL,\n\tCOLUMN_FILTERING_VALUE_INPUT_CLASS,\n\tCOLUMN_FILTERING_VALUE_PLACEHOLDER,\n\tCOLUMN_FILTERING_VALUE_INPUT_NAME,\n\tDATE_TIME_APPLY_LABEL,\n\tDATE_TIME_CANCEL_LABEL,\n\tDATE_TIME_APPLY_BUTTON_NAME,\n\tDATE_TIME_CANCEL_BUTTON_NAME,\n\tREMOVE_COLUMN_FILTER_ARIA_LABEL,\n} from './columnFilteringConsts';\n\nconst {\n\tgetColumnFilterCustomTopText,\n\tgetColumnFilterValue,\n\tgetColumnFilterValueEditorCustomComponentDefaultProps,\n\tgetColumnFilterValueEditorCustomComponentTag,\n\tgetColumnType,\n\tgetDecimalPlaces,\n\tgetFormattedColumnKey,\n\tgetNumberFormat,\n\tgetOperators,\n\tgetTimeZone,\n\tgetFirstDayOfWeek,\n} = columnSelectors;\n\nconst {\n\tTYPE_DATE_TIME,\n\tTYPE_BOOLEAN,\n\tTYPE_PILLS,\n\tTYPE_CHOICE,\n\tTYPE_NUMBER,\n\tTYPE_PERCENT_COMPLETE,\n\tTYPE_CURRENCY,\n} = require('../../../../../typeSchemas/columnDefinitions/columnTypes/columnTypes');\n\n/**\n * Helper for standardizing which types use the choice popover value editor\n *\n *  @param {string} type\n */\nconst shouldUseChoiceFilter = (type) =>\n\ttype === TYPE_CHOICE || type === TYPE_PILLS;\n\n/**\n * Helper to pull this column's info from state\n *\n * @param {ProcessedColumn} column\n * @param {ColumnFilteringState} columnFilteringState\n *\n * @returns {SingleColumnFilteringState}\n */\nexport const getColumnFilteringStateForColumn = (\n\tcolumn,\n\tcolumnFilteringState\n) => columnFilteringState.columnFiltersMap[getFormattedColumnKey(column)];\n\n/**\n * Generic (stringlike) column filtering value input\n *\n * @param {Object} props\n * @param {ProcessedColumn} props.column\n * @param {ColumnFilteringState} props.columnFilteringState\n *\n */\nconst genericValueInput = (props) => {\n\tconst { column, columnFilteringState } = props;\n\tconst { value, shouldDisableValue } = getColumnFilteringStateForColumn(\n\t\tcolumn,\n\t\tcolumnFilteringState\n\t);\n\tconst columnType = getColumnType(column);\n\tlet inputType = 'text';\n\t/** @type {string | number} */\n\tlet step = 'any';\n\n\t// enforce format for numberish types\n\tif (\n\t\tcolumnType === TYPE_NUMBER ||\n\t\tcolumnType === TYPE_PERCENT_COMPLETE ||\n\t\tcolumnType === TYPE_CURRENCY\n\t) {\n\t\tinputType = 'number';\n\t\tconst numberFormat = getNumberFormat(column); // will be undefined unless type is literally number\n\t\tconst decimalPlaces =\n\t\t\tgetDecimalPlaces(column) ?? DECIMAL_PLACES_DEFAULT;\n\n\t\tstep =\n\t\t\tnumberFormat === NUMBER_FORMAT_INTEGER ||\n\t\t\tnumberFormat === NUMBER_FORMAT_LONG_INT\n\t\t\t\t? 1\n\t\t\t\t: Math.pow(10, -decimalPlaces);\n\t}\n\n\treturn (\n\t\t<now-input\n\t\t\tappendToPayload={{ column }}\n\t\t\tclassName={COLUMN_FILTERING_VALUE_INPUT_CLASS}\n\t\t\tdisabled={shouldDisableValue}\n\t\t\tmin={-90000000} // step is only effective if a min is set (this is a vanilla HTML thing)\n\t\t\tname={COLUMN_FILTERING_VALUE_INPUT_NAME}\n\t\t\tplaceholder={COLUMN_FILTERING_VALUE_PLACEHOLDER}\n\t\t\tsize=\"sm\"\n\t\t\tstep={step}\n\t\t\ttype={inputType}\n\t\t\tvalue={value}\n\t\t\tconfigAria={{\n\t\t\t\t'aria-label': `${\n\t\t\t\t\tcolumn.label\n\t\t\t\t} ${COLUMN_FILTERING_VALUE_ARIA_LABEL} : ${value ?? ''}`,\n\t\t\t}}\n\t\t/>\n\t);\n};\n\n/**\n * Date time column filtering value input\n *\n * @param {Object} props\n * @param {ProcessedColumn} props.column\n * @param {ColumnFilteringState} props.columnFilteringState\n */\nconst dateTimeValueInput = (props) => {\n\tconst { column, columnFilteringState } = props;\n\tconst {\n\t\tvalue,\n\t\tshouldDisableValue,\n\t\tdateTimeState,\n\t} = getColumnFilteringStateForColumn(column, columnFilteringState);\n\tconst { manageOpened, shouldDisableApply } = dateTimeState;\n\tconst format = getOverridenDateFormat(column, columnFilteringState);\n\tconst timezone = getTimeZone(column);\n\n\tconst footerActions = [\n\t\t{\n\t\t\tdisabled: shouldDisableApply,\n\t\t\tlabel: DATE_TIME_APPLY_LABEL,\n\t\t\tname: DATE_TIME_APPLY_BUTTON_NAME,\n\t\t\tvariant: 'primary',\n\t\t},\n\t\t{\n\t\t\tlabel: DATE_TIME_CANCEL_LABEL,\n\t\t\tname: DATE_TIME_CANCEL_BUTTON_NAME,\n\t\t\tvariant: 'secondary',\n\t\t},\n\t];\n\n\tconst formattedDateValue = value // sets undefined value to unix epoch without this check\n\t\t? formatInTimeZone(fromUnixTime(Number(value)), timezone, format)\n\t\t: '';\n\n\treturn (\n\t\t<now-date-time\n\t\t\tappendToPayload={{ column }}\n\t\t\taria-label={`${COLUMN_FILTERING_VALUE_ARIA_LABEL} : ${\n\t\t\t\tformattedDateValue ?? ''\n\t\t\t}`}\n\t\t\tclassName={COLUMN_FILTERING_VALUE_INPUT_CLASS}\n\t\t\tdisabled={shouldDisableValue}\n\t\t\tfooterActions={footerActions}\n\t\t\tformat={format}\n\t\t\tname={COLUMN_FILTERING_VALUE_INPUT_NAME}\n\t\t\topened={manageOpened}\n\t\t\tsize=\"sm\"\n\t\t\tfirstDayOfWeek={getFirstDayOfWeek(column)}\n\t\t\ttype={getDateEditorVariant(format, isShortDateFormat(format))}\n\t\t\tvalue={formattedDateValue}\n\t\t/>\n\t);\n};\n\n/**\n * Boolean column filtering value input\n *\n * @param {Object} props\n * @param {ProcessedColumn} props.column\n * @param {ColumnFilteringState} props.columnFilteringState\n */\nconst booleanValueInput = (props) => {\n\tconst { column, columnFilteringState } = props;\n\tconst { value, shouldDisableValue } = getColumnFilteringStateForColumn(\n\t\tcolumn,\n\t\tcolumnFilteringState\n\t);\n\n\treturn (\n\t\t<now-select\n\t\t\tappendToPayload={{\n\t\t\t\tcolumn,\n\t\t\t\tname: COLUMN_FILTERING_VALUE_INPUT_NAME,\n\t\t\t}}\n\t\t\tclassName={COLUMN_FILTERING_VALUE_INPUT_CLASS}\n\t\t\tdisabled={shouldDisableValue}\n\t\t\titems={BOOLEAN_CHOICES}\n\t\t\tmanaged={true}\n\t\t\tsize=\"sm\"\n\t\t\tselectedItem={value}\n\t\t\tconfigAria={{\n\t\t\t\t'aria-label': `${COLUMN_FILTERING_VALUE_ARIA_LABEL} : ${\n\t\t\t\t\tvalue ?? ''\n\t\t\t\t}`,\n\t\t\t}}\n\t\t/>\n\t);\n};\n\n/**\n * Choice/multichoice column filtering value input\n *\n * @param {Object} props\n * @param {ProcessedColumn} props.column\n * @param {ColumnFilteringState} props.columnFilteringState\n */\nconst choiceValueInput = (props) => {\n\tconst { column, columnFilteringState } = props;\n\tconst { value } = getColumnFilteringStateForColumn(\n\t\tcolumn,\n\t\tcolumnFilteringState\n\t);\n\tconst buttonLabel = isEmpty(getColumnFilterValue(column))\n\t\t? t({ code: 'now_list', message: 'Add filter' }, 't')\n\t\t: t('Edit filter');\n\tconst choiceValueInputButtonRef = createRef();\n\n\treturn (\n\t\t<now-button\n\t\t\tappendToPayload={{\n\t\t\t\tchoiceValueInputButtonRef,\n\t\t\t\tcolumn,\n\t\t\t\tcolumnFilteringState,\n\t\t\t\tname: COLUMN_FILTERING_CHOICE_TYPE_TRIGGER_BUTTON_NAME,\n\t\t\t\tvalue,\n\t\t\t}}\n\t\t\tclassName={COLUMN_FILTERING_VALUE_INPUT_CLASS}\n\t\t\tlabel={buttonLabel}\n\t\t\tref={choiceValueInputButtonRef}\n\t\t\tsize=\"sm\"\n\t\t\tvariant=\"secondary\"\n\t\t\tconfigAria={{\n\t\t\t\tbutton: {\n\t\t\t\t\t'aria-label': `${column.label} ${buttonLabel}`,\n\t\t\t\t},\n\t\t\t}}\n\t\t/>\n\t);\n};\n\n/**\n * Custom column filtering value input based on input component tag in columnFilterConfig\n *\n * @param {Object} props\n * @param {ProcessedColumn} props.column\n * @param {ColumnFilteringState} props.columnFilteringState\n * @param {String} props.dir a prop representing the language direction\n * @param {TableMetadata} props.tableMetadata\n * @param {*} dispatch seismic dispatch\n *\n */\nconst customValueInput = (props, dispatch) => {\n\tconst { column, columnFilteringState, dir, tableMetadata } = props;\n\tconst { value, shouldDisableValue } = getColumnFilteringStateForColumn(\n\t\tcolumn,\n\t\tcolumnFilteringState\n\t);\n\tconst componentTag = getColumnFilterValueEditorCustomComponentTag(column);\n\tconst styleWidth100 = { width: '100%' };\n\tconst componentProps = {\n\t\t...getColumnFilterValueEditorCustomComponentDefaultProps(column),\n\t\tvalue,\n\t\tdisabled: shouldDisableValue,\n\t\t// styling/visual props should be consistent, so we do not allow customizing the below\n\t\tplaceholder: COLUMN_FILTERING_VALUE_PLACEHOLDER,\n\t\tsize: 'sm',\n\t\t// match styles of column-filtering-value-input\n\t\tstyle: { ...styleWidth100, margin: 0 },\n\t};\n\n\treturn renderCustomComponentDisplay(\n\t\tcustomComponentType.COLUMN_FILTER_VALUE_INPUT,\n\t\ttableMetadata,\n\t\tcomponentTag,\n\t\tcomponentProps,\n\t\tdir,\n\t\tstyleWidth100,\n\t\t{},\n\t\tdispatch\n\t);\n};\n\n/**\n * Renders value input according to the column type or configured input component\n *\n * @param {Object} props\n * @param {ProcessedColumn} props.column\n * @param {String} props.dir a prop representing the language direction\n * @param {TableMetadata} props.tableMetadata\n * @param {ColumnFilteringState} props.columnFilteringState\n * @param {*} dispatch seismic dispatch\n */\nconst valueInput = (props, dispatch) => {\n\tconst { column } = props;\n\n\tconst type = getColumnType(column);\n\n\tif (getColumnFilterValueEditorCustomComponentTag(column)) {\n\t\treturn customValueInput(props, dispatch);\n\t} else if (shouldUseChoiceFilter(type)) {\n\t\treturn choiceValueInput(props);\n\t} else if (type === TYPE_BOOLEAN) {\n\t\treturn booleanValueInput(props);\n\t} else if (type === TYPE_DATE_TIME) {\n\t\treturn dateTimeValueInput(props);\n\t} else {\n\t\treturn genericValueInput(props);\n\t}\n};\n\n/**\n * Renders operator input OR choice text according to the column type or configured input component\n * Choice text fully replaces operator and has nothing to do with it but is placed and styled similarly.\n *\n * @param {Object} props\n * @param {ProcessedColumn} props.column\n * @param {ColumnFilteringState} props.columnFilteringState\n * @param {String} props.dir a prop representing the language direction\n */\nconst operatorDropdownOrChoiceText = (props) => {\n\tconst { column, columnFilteringState } = props;\n\n\tconst type = getColumnType(column);\n\tconst operatorLabel = t('Operator');\n\n\tconst operators = getOperators(column);\n\tconst { selectedOperator } = getColumnFilteringStateForColumn(\n\t\tcolumn,\n\t\tcolumnFilteringState\n\t);\n\n\tif (shouldUseChoiceFilter(type)) {\n\t\t// @ts-ignore it doesn't like that value might be a non array, but we have already checked for that\n\t\tconst valueCount = getColumnFilterValue(column)?.length ?? 0;\n\t\tconst MAX_VALUE_COUNT_TO_DISPLAY = 99; // https://www.figma.com/design/dZKjg11aPVtjfLWf6LaUtj?node-id=5543-277856#888533851\n\n\t\t// this count is expected to display the number of APPLIED values, so it should not update with state\n\t\tconst valueCountToDisplay =\n\t\t\tvalueCount < MAX_VALUE_COUNT_TO_DISPLAY\n\t\t\t\t? valueCount\n\t\t\t\t: MAX_VALUE_COUNT_TO_DISPLAY;\n\t\tconst COLUMN_FILTERING_EMPTY_CHOICE_FILTER_TEXT = t(\n\t\t\t'No filter applied yet.'\n\t\t);\n\t\tconst pluralizer = valueCount == 1 ? '' : 's';\n\t\tconst COLUMN_FILTERING_NONEMPTY_CHOICE_FILTER_TEXT = t(\n\t\t\t'{0} value{1} selected.',\n\t\t\tvalueCountToDisplay,\n\t\t\tpluralizer\n\t\t);\n\n\t\t// choice text case\n\t\tconst text = valueCount\n\t\t\t? COLUMN_FILTERING_NONEMPTY_CHOICE_FILTER_TEXT\n\t\t\t: COLUMN_FILTERING_EMPTY_CHOICE_FILTER_TEXT;\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames({\n\t\t\t\t\t'choice-filter-text': true,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{text}\n\t\t\t</div>\n\t\t);\n\t} else if (isEmpty(operators)) {\n\t\t// overridden to not show operator dropdown\n\t\treturn null;\n\t} else {\n\t\treturn (\n\t\t\t<now-dropdown\n\t\t\t\tappendToPayload={{ column }}\n\t\t\t\tbare={true}\n\t\t\t\tclassName=\"column-filtering-operator-dropdown\"\n\t\t\t\titems={operators}\n\t\t\t\tlabel={operatorLabel}\n\t\t\t\tlabelPosition=\"start\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\tselectedItems={[selectedOperator]}\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tconfig-aria={{\n\t\t\t\t\ttrigger: {\n\t\t\t\t\t\t'aria-label': t('{0} Operator', column.label),\n\t\t\t\t\t\t'aria-labelledby': operatorLabel,\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t}\n};\n\n/**\n * Renders the cell on the far left of the row that spans all the special columns and serves as a label for all the filtering inputs\n *\n * @param {Object} props\n * @param {number} props.filterLabelCellColSpan the number of special columns, which this cell should spread across\n * @param {string} props.columnFilteringInfo optional tooltip describing filtering string\n * @param {boolean | undefined} props.rowDragDropEnabled whether row drag and drop is enabled\n * @param {boolean} props.showInlinePadding whether to include padding\n */\nexport const columnFilterLabelCell = ({\n\tfilterLabelCellColSpan,\n\tcolumnFilteringInfo,\n\trowDragDropEnabled,\n\tshowInlinePadding,\n}) => {\n\tconst filterLabel = t('Filter');\n\tconst columnFilteringLabel = t(columnFilteringInfo);\n\tconst tdClasses = classNames({\n\t\t'column-filtering-label-cell': true,\n\t\t[SPECIAL_COLUMN_CELL]: true,\n\t});\n\tconst cellContentClasses = classNames({\n\t\t'column-filtering-label-cell-content': true,\n\t\t[SPECIAL_COLUMN_CELL_CONTENT]: true,\n\t\t[INCLUDE_LARGE_PADDING_CLASS]: !rowDragDropEnabled && showInlinePadding,\n\t});\n\n\treturn (\n\t\t<td className={tdClasses} colspan={filterLabelCellColSpan}>\n\t\t\t<div className={cellContentClasses}>\n\t\t\t\t{columnFilteringInfo && (\n\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\tclassName=\"col-filter-info-tooltip\"\n\t\t\t\t\t\ticon={'circle-info-outline'}\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tbare=\"true\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\thidePadding={true}\n\t\t\t\t\t\tdata-tooltip={columnFilteringLabel}\n\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t\t'aria-label': `${t(\n\t\t\t\t\t\t\t\t\t`Display help info popup: ${columnFilteringLabel}`\n\t\t\t\t\t\t\t\t)}`,\n\t\t\t\t\t\t\t\trole: 'button',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{filterLabel}\n\t\t\t</div>\n\t\t</td>\n\t);\n};\n\n/**\n * Renders cell for column filtering at the top of each column\n *\n * @param {Object} props\n * @param {ProcessedColumn} props.column\n * @param {String} props.dir a prop representing the language direction\n * @param {TableMetadata} props.tableMetadata\n * @param {ColumnFilteringState} props.columnFilteringState\n * @param {*} dispatch seismic dispatch\n */\nexport const columnFilterCell = (props, dispatch) => {\n\tconst { column, columnFilteringState } = props;\n\n\tconst valueFromProps = columnSelectors.getColumnFilterValue(column);\n\tconst shouldShowValueEditor =\n\t\tcolumnSelectors.getColumnFilterValueEditorCustomComponentTag(column) !==\n\t\t'';\n\tconst { selectedOperator } = getColumnFilteringStateForColumn(\n\t\tcolumn,\n\t\tcolumnFilteringState\n\t);\n\tconst valueRequired = getColumnRequiresValueFromOperator(\n\t\tcolumn,\n\t\tselectedOperator\n\t);\n\n\tconst customTopText = getColumnFilterCustomTopText(column);\n\tconst removeTooltip = t('Remove');\n\n\tconst tdClasses = classNames({\n\t\t'column-filtering-cell': true,\n\t});\n\tconst cellContentClasses = classNames({\n\t\t'column-filtering-cell-content': true,\n\t\t[CELL_CONTENT_CLASS]: true,\n\t});\n\n\tconst hasStateInitialized = !!getColumnFilteringStateForColumn(\n\t\tcolumn,\n\t\tcolumnFilteringState\n\t);\n\n\tif (!hasStateInitialized) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error('Column filtering state not initialized for column', {\n\t\t\tcolumn,\n\t\t\tcolumnFilteringState,\n\t\t});\n\t}\n\n\tconst filterValue = isObject(valueFromProps)\n\t\t? valueFromProps\n\t\t: toString(valueFromProps);\n\n\treturn (\n\t\t<td className={tdClasses}>\n\t\t\t{hasStateInitialized ? (\n\t\t\t\t<div className={cellContentClasses}>\n\t\t\t\t\t{customTopText ? (\n\t\t\t\t\t\t<div className=\"custom-top-text\">{customTopText}</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\toperatorDropdownOrChoiceText(props)\n\t\t\t\t\t)}\n\t\t\t\t\t{shouldShowValueEditor ? (\n\t\t\t\t\t\t<div className=\"column-filtering-bottom-container\">\n\t\t\t\t\t\t\t{valueInput(props, dispatch)}\n\t\t\t\t\t\t\t{!(isEmpty(filterValue) && valueRequired) && (\n\t\t\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\t\t\tappendToPayload={{\n\t\t\t\t\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\t\t\t\t\ttype: REMOVE_COLUMN_FILTER_BUTTON,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t\t\t\t'aria-label': `${column.label} ${REMOVE_COLUMN_FILTER_ARIA_LABEL}`, //DEF0688145 Improved accessibility by adding column label\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\t\t\t\ticon=\"trash-outline\"\n\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\ttooltipContent={removeTooltip}\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t</td>\n\t);\n};\n","// HANDLED\nexport const NOW_BUTTON_CLICKED = 'NOW_BUTTON#CLICKED';\nexport const NOW_BUTTON_ICONIC_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\nexport const NOW_BUTTON_STATEFUL_CLICKED = 'NOW_BUTTON_STATEFUL#SELECTED_SET';\nexport const NOW_CHECKBOX_CHECKED_SET = 'NOW_CHECKBOX#CHECKED_SET';\nexport const NOW_DATE_TIME_ENTER_KEYDOWN = 'NOW_DATE_TIME#ENTER_KEYDOWN';\nexport const NOW_DATE_TIME_FOOTER_ACTION_CLICKED =\n\t'NOW_DATE_TIME#FOOTER_ACTION_CLICKED';\nexport const NOW_DATE_TIME_OPENED_SET = 'NOW_DATE_TIME#OPENED_SET';\nexport const NOW_DATE_TIME_INPUT = 'NOW_DATE_TIME#INPUT';\nexport const NOW_DATE_TIME_VALUE_SET = 'NOW_DATE_TIME#VALUE_SET';\nexport const NOW_DROPDOWN_ITEM_CLICKED = 'NOW_DROPDOWN#ITEM_CLICKED';\nexport const NOW_INPUT_ENTER_KEYDOWN = 'NOW_INPUT#ENTER_KEYDOWN';\nexport const NOW_INPUT_INPUT = 'NOW_INPUT#INPUT';\nexport const NOW_SELECT_SELECTED_ITEM_SET = 'NOW_SELECT#SELECTED_ITEM_SET';\nexport const NOW_BUTTON_BARE_CLICKED = 'NOW_BUTTON_BARE#CLICKED';\n\n// INTERNAL\nexport const REFRESH_TIMEOUT = 25;\n\n// EMITTED\nexport const NOW_LIST_COLUMN_FILTER_APPLIED = 'NOW_LIST#COLUMN_FILTER_APPLIED';\n","import { actionTypes } from '@servicenow/ui-core';\nimport { getUnixTime } from 'date-fns';\nimport { zonedTimeToUtc } from 'date-fns-tz';\nimport find from 'lodash/find';\nimport get from 'lodash/get';\nimport includes from 'lodash/includes';\nimport isEmpty from 'lodash/isEmpty';\nimport isEqual from 'lodash/isEqual';\nimport remove from 'lodash/remove';\nimport { t } from 'sn-translate';\nimport { getUserPrefContext } from 'sn-ux-core';\n\nimport {\n\tCOLUMN_FILTERING_USER_PREFERENCE_KEY,\n\tUSER_PREF_UPDATED,\n} from '../../constants';\nimport columnSelectors from '../../shared/utils/selectors/columnSelectors';\nimport {\n\tCOLUMN_FILTERING_CHOICE_TYPE_APPLY_BUTTON_NAME,\n\tCOLUMN_FILTERING_CHOICE_TYPE_CANCEL_BUTTON_NAME,\n} from '../../shared/views/popover/popoverChoiceColumnFilterContent/popoverChoiceColumnFilterConsts';\nimport { getColumnFilteringStateForColumn } from '../../shared/views/table/tableHeaders/columnFilteringCell/columnFilteringCell';\nimport {\n\tBOOLEAN_FILTER_DEFAULT_OPERATOR,\n\tCOLUMN_FILTERING_CHOICE_TYPE_TRIGGER_BUTTON_NAME,\n\tCOLUMN_FILTERING_SELECT_ALL_BUTTON_NAME,\n\tCOLUMN_FILTERING_SELECT_NONE_BUTTON_NAME,\n\tCOLUMN_FILTERING_VALUE_INPUT_NAME,\n\tDATE_TIME_APPLY_BUTTON_NAME,\n\tDATE_TIME_CANCEL_BUTTON_NAME,\n\tDATE_TIME_FILTER_DEFAULT_OPERATOR,\n\tGENERIC_FILTER_DEFAULT_OPERATOR,\n\tNUMBER_FILTER_DEFAULT_OPERATOR,\n\tREMOVE_COLUMN_FILTER_BUTTON,\n\tSHOW_HIDE_COLUMN_FILTERING_ROW_ACTION,\n} from '../../shared/views/table/tableHeaders/columnFilteringCell/columnFilteringConsts';\nimport {\n\tTYPE_BOOLEAN,\n\tTYPE_CHOICE,\n\tTYPE_DATE_TIME,\n\tTYPE_NUMBER,\n\tTYPE_PILLS,\n} from '../../typeSchemas/columnDefinitions/columnTypes/columnTypes';\nimport { REFRESH_CELL_TRAP } from '../keyboardNavBehavior/constants';\nimport {\n\tfocusPopoverTarget,\n\tsetBehaviorState,\n} from '../keyboardNavBehavior/keyboardNavHelpers';\nimport {\n\tCHOICE_COLUMN_FILTER,\n\tNOW_LIST_CLOSE_POPOVER_INTERNAL,\n\tNOW_LIST_OPEN_POPOVER_INTERNAL,\n\tNOW_LIST_POPOVER_CLOSED,\n} from '../popoverBehavior/constants';\nconst { COMPONENT_PROPERTY_CHANGED, COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nimport {\n\tNOW_BUTTON_CLICKED,\n\tNOW_BUTTON_ICONIC_CLICKED,\n\tNOW_BUTTON_STATEFUL_CLICKED,\n\tNOW_CHECKBOX_CHECKED_SET,\n\tNOW_DATE_TIME_ENTER_KEYDOWN,\n\tNOW_DATE_TIME_FOOTER_ACTION_CLICKED,\n\tNOW_DATE_TIME_INPUT,\n\tNOW_DATE_TIME_OPENED_SET,\n\tNOW_DATE_TIME_VALUE_SET,\n\tNOW_DROPDOWN_ITEM_CLICKED,\n\tNOW_INPUT_ENTER_KEYDOWN,\n\tNOW_INPUT_INPUT,\n\tNOW_LIST_COLUMN_FILTER_APPLIED,\n\tNOW_SELECT_SELECTED_ITEM_SET,\n\tNOW_BUTTON_BARE_CLICKED,\n\tREFRESH_TIMEOUT,\n} from './constants';\n\nconst {\n\tgetChildren,\n\tgetColumnFilterValue,\n\tgetColumnType,\n\tgetDateTimeFormat,\n\tgetFormattedColumnKey,\n\tgetOperatorFromColumnFilterConfig,\n\tgetOperators,\n\tgetSelectedOperator,\n\tgetTimeZone,\n\thasChildren,\n} = columnSelectors;\n\nconst mapPath = `behaviors.columnFilteringBehavior.columnFilteringState.columnFiltersMap.`;\nconst dateTimeManageOpenedPath = '.dateTimeState.manageOpened';\n\n/**\n * @param {any} context\n * @returns {boolean}\n */\nconst getColumnFilteringUserPreference = (context) => {\n\tconst getColumnFilteringUserPreferenceKey = getUserPrefContext(\n\t\tCOLUMN_FILTERING_USER_PREFERENCE_KEY\n\t);\n\n\treturn context?.[getColumnFilteringUserPreferenceKey] === 'true';\n};\n\n/**\n * @param {Now.Dispatch} dispatch\n * @param {boolean} value\n */\nconst setColumnFilteringUserPreference = (dispatch, value) => {\n\tdispatch(USER_PREF_UPDATED, {\n\t\tname: COLUMN_FILTERING_USER_PREFERENCE_KEY,\n\t\tvalue: value,\n\t});\n};\n\n/**\n * Function to update lodash isEmpty to include number inputs\n * @param {SingleColumnFilteringState['value']} columnValue the columnValue type\n */\nexport const isColumnValueEmpty = (columnValue) => {\n\t// The DateTime column filter returns a number that\n\t// isEmpty will always evaluate to be true\n\n\tconst isNumberValueEmpty =\n\t\ttypeof columnValue === 'number' ? Number.isNaN(columnValue) : true;\n\n\treturn isNumberValueEmpty && isEmpty(columnValue);\n};\n\n/**\n * Given an operator id string, finds the full operator object for access to the label etc.\n * Also used to verify if the given operator is present in the operators array\n *\n * @param {ColumnFilterConfig['operators']} operators the type of the column\n * @param {SingleColumnFilteringState['selectedOperator']} selectedOperator the tentative selected operator\n *\n * @returns {object | null}\n */\nexport const findFullOperator = (operators, selectedOperator) =>\n\tfind(\n\t\toperators,\n\t\t(/** @type {ColumnFilterOperator} */ operator) =>\n\t\t\toperator?.id === selectedOperator\n\t) ?? null;\n\n/**\n * gets the default operator for a given type\n *\n * @param {ColumnBase['type']} type the type of the column\n *\n * @returns {SingleColumnFilteringState['selectedOperator']} the default operator the given type, regardless of whether that operator is actually present in the operators list\n */\nconst getDefaultOperatorForType = (type) => {\n\tswitch (type) {\n\t\tcase TYPE_NUMBER:\n\t\t\treturn NUMBER_FILTER_DEFAULT_OPERATOR;\n\t\tcase TYPE_BOOLEAN:\n\t\t\treturn BOOLEAN_FILTER_DEFAULT_OPERATOR;\n\t\tcase TYPE_DATE_TIME:\n\t\t\treturn DATE_TIME_FILTER_DEFAULT_OPERATOR;\n\t\tcase TYPE_PILLS:\n\t\t\treturn null;\n\t\tcase TYPE_CHOICE:\n\t\t\treturn null;\n\t\tdefault:\n\t\t\treturn GENERIC_FILTER_DEFAULT_OPERATOR;\n\t}\n};\n\n/**\n * Used in the case that there is no selected operator from props or the selected operator is not in the operators array.\n * Tries to use typed default operator if present in operators array, if not, uses first item\n *\n * @param {Object} args\n * @param {ColumnBase['type']} args.type the type of the column\n * @param {ColumnFilterConfig['operators']} args.operators the operators array for the column\n *\n * @returns {SingleColumnFilteringState['selectedOperator']} the default operator the given type, regardless of whether that operator is actually present in the operators list\n */\nexport const getBackupOperator = ({ type, operators }) => {\n\tif (isEmpty(operators)) return null;\n\tconst defaultOperator = getDefaultOperatorForType(type);\n\treturn findFullOperator(operators, defaultOperator)\n\t\t? defaultOperator\n\t\t: // @ts-ignore - we know operators is not empty bc of above check\n\t\t  operators[0].id;\n};\n\n/**\n * Helper that handles logic and calls updateState for updating an individual column's filtering state, including initial state\n *\n * @param {Object} args\n * @param {ColumnType} args.column\n * @param {SingleColumnFilteringState['value']} args.newValue\n * @param {SingleColumnFilteringState['selectedOperator']} args.newOperator\n * @param {SingleColumnFilteringState['dateTimeState']} args.newDateTimeState\n *\n * @returns {SingleColumnFilteringState} the updated state for the column, to be used in updateState\n */\nexport const getUpdatedStateForOneCol = ({\n\tcolumn,\n\tnewValue,\n\tnewOperator,\n\tnewDateTimeState,\n}) => {\n\t// OPERATOR\n\tconst operators = columnSelectors.getOperators(column);\n\tlet selectedOperator = newOperator;\n\tconst selectedOperatorObject = findFullOperator(\n\t\toperators,\n\t\tselectedOperator\n\t);\n\n\tif (!operators) selectedOperator = null;\n\telse {\n\t\tconst type = columnSelectors.getColumnType(column);\n\n\t\tif (!newOperator || !selectedOperatorObject) {\n\t\t\t// if no operator is selected, or the selected operator is not in the operators array (latter is only a concern for operator string from props)\n\t\t\tselectedOperator = getBackupOperator({ type, operators });\n\t\t}\n\t}\n\n\t// SHOULD DISABLE VALUE + VALUE\n\tconst shouldDisableValue =\n\t\t!get(selectedOperatorObject, 'requiresValue', true) &&\n\t\t!isEmpty(operators); // check isEmpty for case where operators are hidden but selectedOperator is still set\n\tconst value = shouldDisableValue ? null : newValue;\n\n\treturn {\n\t\tvalue,\n\t\tselectedOperator,\n\t\tshouldDisableValue,\n\t\tdateTimeState: newDateTimeState,\n\t};\n};\n\n/**\n * @param {ProcessedColumn | ColumnBase} column\n * @param {State} state\n */\nexport const getColumnOperatorFromState = (column, state) => {\n\tconst columnStateValue =\n\t\tstate.behaviors.columnFilteringBehavior.columnFilteringState\n\t\t\t.columnFiltersMap[getFormattedColumnKey(column)];\n\n\tif (!('selectedOperator' in columnStateValue)) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error('unable to fetch operator in getColumnOperatorFromState');\n\t}\n\n\treturn columnStateValue.selectedOperator;\n};\n\n/**\n * @param {ProcessedColumn | ColumnBase} column\n * @param {State} state\n */\nexport const getColumnValueFromState = (column, state) => {\n\tconst returnValue =\n\t\tstate.behaviors.columnFilteringBehavior.columnFilteringState\n\t\t\t.columnFiltersMap[getFormattedColumnKey(column)].value;\n\n\tif (!returnValue) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error('unable to fetch value in getColumnValueFromState');\n\t}\n\n\treturn returnValue;\n};\n\n/**\n * @param {ProcessedColumn | ColumnBase} column\n * @param {SingleColumnFilteringState['selectedOperator']} newOperator\n * @returns {boolean}\n */\nexport const getColumnRequiresValueFromOperator = (column, newOperator) => {\n\tconst operators = columnSelectors.getOperators(column);\n\tconst selectedOperatorObject = findFullOperator(operators, newOperator);\n\n\t// requiresValue is a boolean property, by default is true\n\treturn get(selectedOperatorObject, 'requiresValue', true);\n};\n\n/**\n * @param {ProcessedColumn | ColumnBase} column\n * @param {State} state\n */\nexport const getDateTimeState = (column, state) => {\n\tconst returnValue =\n\t\tstate.behaviors.columnFilteringBehavior.columnFilteringState\n\t\t\t.columnFiltersMap[getFormattedColumnKey(column)].dateTimeState;\n\n\tif (!returnValue) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error('unable to fetch dateTimeState in getDateTimeState');\n\t}\n\n\treturn returnValue;\n};\n\n/**\n * @returns DateTimeState\n */\nexport const getDefaultDateTimeState = () => {\n\treturn {\n\t\tmanageOpened: false,\n\t\tshouldDisableApply: true,\n\t};\n};\n\n/**\n * Resets state of one column to whatever came from props\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const resetColumnState = ({\n\taction: {\n\t\tpayload: { column },\n\t},\n\tupdateState,\n}) => {\n\tif (!isEmpty(column.columnFilterConfig.value)) {\n\t\treturn;\n\t}\n\tupdateState({\n\t\tpath: `${mapPath}${getFormattedColumnKey(column)}`,\n\t\toperation: 'set',\n\t\tvalue: getUpdatedStateForOneCol({\n\t\t\tcolumn,\n\t\t\tnewValue: structuredClone(getColumnFilterValue(column)),\n\t\t\tnewOperator: getSelectedOperator(column),\n\t\t\tnewDateTimeState: getDefaultDateTimeState(),\n\t\t}),\n\t});\n};\n\n/**\n * Handles two iconic buttons in col filtering experience:\n * - Show/hide column filtering row when the column filter button-iconic is clicked\n * - Remove filter button\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleFilteringIconicButtonClicked = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t} = coeffects;\n\tconst { type } = payload;\n\n\tif (type === SHOW_HIDE_COLUMN_FILTERING_ROW_ACTION) {\n\t\tupdateShowColumnFilteringRowState(coeffects);\n\t}\n\tif (type === REMOVE_COLUMN_FILTER_BUTTON) {\n\t\tconst { column } = payload;\n\t\tconst columnType = getColumnType(column);\n\t\tconst operators = getOperators(column);\n\t\tconst newValue =\n\t\t\tcolumnType === TYPE_CHOICE || columnType === TYPE_PILLS ? [] : null;\n\n\t\temitApplyAction({\n\t\t\tcoeffects,\n\t\t\tcolumn,\n\t\t\tnewValue: newValue,\n\t\t\tnewOperator: getBackupOperator({ type: columnType, operators }),\n\t\t\tcolumnFilterRemoved: true,\n\t\t});\n\t}\n};\n\n/**\n * Handle now-date-time-calendar footer buttons Apply and Cancel\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleDateTimeActionsClicked = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\taction: { name, isToday },\n\t\t\t\tcolumn,\n\t\t\t},\n\t\t},\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\n\t// Clicking either Apply or Cancel will close the popover\n\tupdateState({\n\t\tpath: `${mapPath}${getFormattedColumnKey(\n\t\t\tcolumn\n\t\t)}${dateTimeManageOpenedPath}`,\n\t\toperation: 'set',\n\t\tvalue: false,\n\t});\n\n\tif (name === DATE_TIME_CANCEL_BUTTON_NAME) {\n\t\tresetColumnState(coeffects);\n\t} else if (name === DATE_TIME_APPLY_BUTTON_NAME || isToday) {\n\t\temitApplyAction({\n\t\t\tcoeffects,\n\t\t\tcolumn,\n\t\t\tnewValue: getColumnValueFromState(column, state),\n\t\t\tnewOperator: getColumnOperatorFromState(column, state),\n\t\t});\n\t}\n\n\tfocusPopoverTarget(coeffects);\n};\n\n/**\n * Handle opening now-date-time-calendar\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nconst handleOpeningDateTimeCalendar = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { column },\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tupdateState({\n\t\tpath: `${mapPath}${getFormattedColumnKey(\n\t\t\tcolumn\n\t\t)}${dateTimeManageOpenedPath}`,\n\t\toperation: 'set',\n\t\tvalue: true,\n\t});\n};\n\n/**\n * Handles updating the state to show/hide the column filtering row\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nconst updateShowColumnFilteringRowState = ({\n\tstate: {\n\t\tbehaviors: {\n\t\t\tcolumnFilteringBehavior: {\n\t\t\t\tcolumnFilteringState: { showColumnFilteringRow },\n\t\t\t},\n\t\t},\n\t},\n\tdispatch,\n\tupdateState,\n}) => {\n\tupdateState({\n\t\tpath:\n\t\t\t'behaviors.columnFilteringBehavior.columnFilteringState.showColumnFilteringRow',\n\t\toperation: 'set',\n\t\tvalue: !showColumnFilteringRow,\n\t});\n\n\tsetColumnFilteringUserPreference(dispatch, !showColumnFilteringRow);\n\n\tsetBehaviorState(updateState, {\n\t\tisRendered: false,\n\t});\n};\n\n/**\n * handles all buttons in the choice column filtering experience\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nconst handleButtonClicked = (coeffects) => {\n\tconst { action, dispatch, state } = coeffects;\n\tconst {\n\t\tpayload: { column, name },\n\t} = action;\n\n\tswitch (name) {\n\t\tcase COLUMN_FILTERING_CHOICE_TYPE_TRIGGER_BUTTON_NAME:\n\t\t\topenChoiceColumnFilterPopover(coeffects);\n\t\t\tbreak;\n\t\tcase COLUMN_FILTERING_CHOICE_TYPE_CANCEL_BUTTON_NAME:\n\t\t\tdispatch(NOW_LIST_CLOSE_POPOVER_INTERNAL);\n\t\t\tbreak;\n\t\tcase COLUMN_FILTERING_CHOICE_TYPE_APPLY_BUTTON_NAME:\n\t\t\temitApplyAction({\n\t\t\t\tcoeffects,\n\t\t\t\tcolumn,\n\t\t\t\tnewValue: getColumnValueFromState(column, state),\n\t\t\t\tnewOperator: null,\n\t\t\t});\n\t\t\tdispatch(NOW_LIST_CLOSE_POPOVER_INTERNAL);\n\t\t\tbreak;\n\t\tcase COLUMN_FILTERING_SELECT_ALL_BUTTON_NAME:\n\t\t\tselectAllOrNone(coeffects, true);\n\t\t\tbreak;\n\t\tcase COLUMN_FILTERING_SELECT_NONE_BUTTON_NAME:\n\t\t\tselectAllOrNone(coeffects, false);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n\n/**\n * handles opening the choice column filter popover when the trigger button is clicked\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nconst openChoiceColumnFilterPopover = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { choiceValueInputButtonRef, column },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (!choiceValueInputButtonRef) return;\n\n\tconst popoverDefinition = {\n\t\tconfig: {\n\t\t\tariaLabel: t('Column Filter Popover for {0}', column.label),\n\t\t\tdismissOnScroll: false, // header is sticky anyway\n\t\t\thideTail: false,\n\t\t\tdismissable: true,\n\t\t},\n\t\tcontent: {\n\t\t\t// Allows for dialog focus onto the choice filter popover\n\t\t\tcomponentTag: CHOICE_COLUMN_FILTER,\n\t\t\tpopoverType: CHOICE_COLUMN_FILTER,\n\t\t},\n\t};\n\n\tdispatch(NOW_LIST_OPEN_POPOVER_INTERNAL, {\n\t\tpopoverTarget: choiceValueInputButtonRef,\n\t\tpopoverDefinition,\n\t\tcontext: {\n\t\t\tcolumn,\n\t\t},\n\t});\n};\n\n/**\n * Handles updating state for generic inputs, which don't autoapply on change\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleInputValueUpdate = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { column, fieldValue, name },\n\t\t},\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (name !== COLUMN_FILTERING_VALUE_INPUT_NAME || !column) return;\n\n\tupdateState({\n\t\tpath: `${mapPath}${getFormattedColumnKey(column)}`,\n\t\toperation: 'set',\n\t\tvalue: getUpdatedStateForOneCol({\n\t\t\tcolumn,\n\t\t\tnewValue: fieldValue,\n\t\t\tnewOperator: getColumnOperatorFromState(column, state),\n\t\t\tnewDateTimeState: getDateTimeState(column, state),\n\t\t}),\n\t});\n};\n\n/**\n * Returns the date format to be overriden. It is based on the selected operator.\n * If override is not provided, it returns the default date format from the column.\n *\n * @param {ProcessedColumn} column\n * @param {ColumnFilteringState} columnFilteringState\n *\n * @returns {string} date format\n */\nexport const getOverridenDateFormat = (column, columnFilteringState) => {\n\tconst { selectedOperator } = getColumnFilteringStateForColumn(\n\t\tcolumn,\n\t\tcolumnFilteringState\n\t);\n\tconst dateFormatFromColumn = getDateTimeFormat(column);\n\tconst selectedOperatorConfig = getOperatorFromColumnFilterConfig(\n\t\tcolumn,\n\t\tselectedOperator\n\t);\n\t// todo: empty object is to avoid failing tests\n\tconst { dateFormatOverride } = selectedOperatorConfig || {};\n\treturn dateFormatOverride ? dateFormatOverride : dateFormatFromColumn;\n};\n\n/**\n * Handles updating state for datetime inputs, which don't autoapply on change\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleDateTimeValueUpdate = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { column, fieldValue, value, name },\n\t\t},\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\tconst {\n\t\tbehaviors: {\n\t\t\tcolumnFilteringBehavior: { columnFilteringState },\n\t\t},\n\t} = state;\n\tif (!columnFilteringState) return;\n\tconst timezone = getTimeZone(column);\n\n\tif (name !== COLUMN_FILTERING_VALUE_INPUT_NAME || !column) return;\n\n\t// sometimes new value comes from popover (value), sometimes it comes from the input field (fieldValue),\n\t// depending on what the user changed.\n\t// treating value as the primary since it's more likely to be valid.\n\t// FIXME: eventually need to handle validity checks on fieldValue here, but invalidity shows a message below the field that throws off this field's alignment with other columns' filtering fields. need design input on how to solve that\n\tconst newValueString = value ?? fieldValue;\n\tconst newValueInUnix = getUnixTime(\n\t\tzonedTimeToUtc(newValueString, timezone)\n\t);\n\n\tupdateState({\n\t\tpath: `${mapPath}${getFormattedColumnKey(column)}`,\n\t\toperation: 'set',\n\t\tvalue: getUpdatedStateForOneCol({\n\t\t\tcolumn,\n\t\t\tnewValue: newValueInUnix,\n\t\t\tnewOperator: getColumnOperatorFromState(column, state),\n\t\t\tnewDateTimeState: {\n\t\t\t\t...getDateTimeState(column, state),\n\t\t\t\tshouldDisableApply:\n\t\t\t\t\tgetColumnFilterValue(column) === newValueInUnix,\n\t\t\t},\n\t\t}),\n\t});\n};\n\n/**\n * Updates state when a checkbox in the choice column filtering popover is checked or unchecked\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleCheckboxCheckedSet = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name: choiceKey, value: isChecked, column },\n\t\t},\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst oldValue =\n\t\tstate.behaviors.columnFilteringBehavior.columnFilteringState\n\t\t\t.columnFiltersMap[getFormattedColumnKey(column)].value ?? [];\n\n\tconst newValue = oldValue;\n\n\tif (isChecked) {\n\t\tif (!includes(oldValue, choiceKey)) {\n\t\t\tnewValue.push(choiceKey);\n\t\t}\n\t} else {\n\t\tremove(\n\t\t\tnewValue,\n\t\t\t(/** @type {ChoiceType['key']} */ item) => item === choiceKey\n\t\t);\n\t}\n\n\tupdateState({\n\t\tpath: `${mapPath}${getFormattedColumnKey(column)}`,\n\t\toperation: 'set',\n\t\tvalue: getUpdatedStateForOneCol({\n\t\t\tcolumn,\n\t\t\tnewValue,\n\t\t\tnewOperator: null,\n\t\t\tnewDateTimeState: getDateTimeState(column, state),\n\t\t}),\n\t});\n};\n\n/**\n * Handles the select all and select none buttons in the choice column filtering popover\n *\n * @param {Coeffects<Props, State>} coeffects\n * @param {boolean} shouldCheck indicates whether this is select all (true) or select none (false)\n */\nexport const selectAllOrNone = (coeffects, shouldCheck) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { column, choices },\n\t\t},\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\n\t// Retrieve the existing filter values for the current column, or default to an empty array\n\tconst oldValue =\n\t\tstate.behaviors.columnFilteringBehavior.columnFilteringState\n\t\t\t.columnFiltersMap[getFormattedColumnKey(column)].value ?? [];\n\n\t// Create a reference to the oldValue array to modify\n\tconst newValue = oldValue;\n\n\tif (shouldCheck) {\n\t\t// Add each choice key to the newValue array, ensuring no duplicates\n\t\tchoices?.forEach((/** @type {PillType | ChoiceType} */ choice) => {\n\t\t\tif (!newValue.includes(choice.key)) {\n\t\t\t\tnewValue.push(choice.key); // Add this choice if it's not already included\n\t\t\t}\n\t\t});\n\t} else {\n\t\t// Remove each choice key from the newValue array if it exists\n\t\tchoices?.forEach((/** @type {PillType | ChoiceType} */ choice) => {\n\t\t\tconst index = newValue.indexOf(choice.key);\n\t\t\tif (index !== -1) {\n\t\t\t\tnewValue.splice(index, 1); // Remove this choice if it's found in the array\n\t\t\t}\n\t\t});\n\t}\n\n\tupdateState({\n\t\tpath: `${mapPath}${getFormattedColumnKey(column)}`,\n\t\toperation: 'set',\n\t\tvalue: getUpdatedStateForOneCol({\n\t\t\tcolumn,\n\t\t\tnewValue,\n\t\t\tnewOperator: null,\n\t\t\tnewDateTimeState: getDateTimeState(column, state),\n\t\t}),\n\t});\n};\n\n/**\n * Handles applying changes for a column when its operator changes\n * Operator change should not apply changes when there is no value and a value is required.\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nconst handleOperatorUpdate = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tcolumn,\n\t\t\t\titem: { id: newOperator },\n\t\t\t},\n\t\t},\n\t\tstate,\n\t} = coeffects;\n\temitApplyAction({\n\t\tcoeffects,\n\t\tcolumn,\n\t\tnewValue: getColumnValueFromState(column, state),\n\t\tnewOperator,\n\t});\n};\n\n/**\n * Handles applying changes on enter within now-input and now-datetime\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleInputAndDateTimeKeyDownApply = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { column, fieldValue, name },\n\t\t},\n\t\tstate,\n\t} = coeffects;\n\tconst timezone = getTimeZone(column);\n\n\tif (name !== COLUMN_FILTERING_VALUE_INPUT_NAME || !column) return;\n\n\tconst newValue =\n\t\tgetColumnType(column) === TYPE_DATE_TIME\n\t\t\t? getUnixTime(zonedTimeToUtc(fieldValue, timezone))\n\t\t\t: fieldValue;\n\n\temitApplyAction({\n\t\tcoeffects,\n\t\tcolumn,\n\t\tnewValue,\n\t\tnewOperator: getColumnOperatorFromState(column, state),\n\t});\n};\n\n/**\n * Handles applying changes (internally in state and emitting updates) when now-select's value is changed\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleSelectApply = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { column, value, name },\n\t\t},\n\t\tstate,\n\t} = coeffects;\n\n\tif (name !== COLUMN_FILTERING_VALUE_INPUT_NAME) return;\n\n\temitApplyAction({\n\t\tcoeffects,\n\t\tcolumn,\n\t\tnewValue: value,\n\t\tnewOperator: getColumnOperatorFromState(column, state),\n\t});\n};\n\n/**\n * Handles scenarios in which the apply outward action is emitted by grooming the payload for that action\n *\n * @param {Object} args\n * @param {Coeffects<Props, State>} args.coeffects\n * @param {ColumnBase} args.column column that has been updated\n * @param {SingleColumnFilteringState['value']} args.newValue the new filter value input through the UI (if unchanged, then will still be considered new)\n * @param {SingleColumnFilteringState['selectedOperator']} args.newOperator the new operator selected through the UI (if unchanged, then will still be considered new)\n * @param {boolean=} args.columnFilterRemoved true if this method is called to clear the column filter\n *\n */\nexport const emitApplyAction = ({\n\tcoeffects: { dispatch, updateState },\n\tcolumn,\n\tnewValue,\n\tnewOperator,\n\tcolumnFilterRemoved,\n}) => {\n\tconst oldValue = getColumnFilterValue(column);\n\tconst oldOperator = getSelectedOperator(column);\n\n\tif (!columnFilterRemoved) {\n\t\tupdateState({\n\t\t\tpath: `${mapPath}${getFormattedColumnKey(column)}`,\n\t\t\toperation: 'set',\n\t\t\tvalue: getUpdatedStateForOneCol({\n\t\t\t\tcolumn,\n\t\t\t\tnewValue,\n\t\t\t\tnewOperator,\n\t\t\t\tnewDateTimeState: {\n\t\t\t\t\tmanageOpened: false,\n\t\t\t\t\tshouldDisableApply: true,\n\t\t\t\t},\n\t\t\t}),\n\t\t});\n\t}\n\n\tif (oldValue === newValue && oldOperator === newOperator) return;\n\n\t// column is empty and hasn't changed from the previous value\n\tconst isColumnEmpty =\n\t\tisColumnValueEmpty(oldValue) && isColumnValueEmpty(newValue);\n\n\tconst shouldOperatorEmit =\n\t\tnewOperator !== oldOperator &&\n\t\tgetColumnRequiresValueFromOperator(column, newOperator);\n\n\t/** The only condition where we wouldn't dispatch a filter being applied is\n\t * when the operator changes to a new operator requiring a value to filter, and\n\t * the current value in the filter is empty.\n\t */\n\tif (isColumnEmpty && shouldOperatorEmit && !columnFilterRemoved) {\n\t\t// setTimeout with 25ms places this at the next event loop, after the operator state\n\t\t// has updated, and the trashcan button has been removed\n\t\tsetTimeout(() => {\n\t\t\tdispatch(REFRESH_CELL_TRAP);\n\t\t}, REFRESH_TIMEOUT);\n\n\t\treturn;\n\t}\n\n\t// keyboardNav behavior state\n\tsetBehaviorState(updateState, {\n\t\tfocusedCellActions: {\n\t\t\texitCellTrap: true,\n\t\t},\n\t});\n\n\tdispatch(NOW_LIST_COLUMN_FILTER_APPLIED, {\n\t\tcolumn,\n\t\tnewValue,\n\t\tnewOperator,\n\t\toldValue,\n\t\toldOperator,\n\t});\n};\n\n/**\n * checks if state should be reinitialized\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nconst handlePropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue },\n\t\t},\n\t} = coeffects;\n\n\tif (\n\t\t!isEqual(value, previousValue) &&\n\t\t(name === 'columnDefinitions' || name === 'columnFilteringEnabled')\n\t) {\n\t\tsetInitialState(coeffects);\n\t}\n};\n\n/**\n * @param {Coeffects<Props, State>} coeffects\n */\nconst setInitialState = (coeffects) => {\n\tconst {\n\t\tcontext,\n\t\tproperties: { columnDefinitions },\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (isEmpty(columnDefinitions)) {\n\t\treturn;\n\t}\n\tconst columns = columnDefinitions.columns;\n\t/** @type {ColumnFilteringState['columnFiltersMap']} */\n\tconst columnFiltersMap = {};\n\n\tif (!isEmpty(columns)) {\n\t\tconst stack = [...columns]; // Create a stack to hold objects for processing\n\t\twhile (stack.length > 0) {\n\t\t\tconst column = stack.pop();\n\n\t\t\tif (!column) continue;\n\n\t\t\tif (hasChildren(column)) {\n\t\t\t\tstack.push(...getChildren(column)); // Add children to stack for further processing\n\t\t\t} else {\n\t\t\t\tcolumnFiltersMap[\n\t\t\t\t\tgetFormattedColumnKey(column)\n\t\t\t\t] = getUpdatedStateForOneCol({\n\t\t\t\t\tcolumn,\n\t\t\t\t\tnewValue: getColumnFilterValue(column),\n\t\t\t\t\tnewOperator: getSelectedOperator(column),\n\t\t\t\t\tnewDateTimeState: getDefaultDateTimeState(),\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tupdateState({\n\t\tpath: 'behaviors.columnFilteringBehavior',\n\t\toperation: 'set',\n\t\tvalue: {\n\t\t\tcolumnFilteringState: {\n\t\t\t\tshowColumnFilteringRow: getColumnFilteringUserPreference(\n\t\t\t\t\tcontext\n\t\t\t\t),\n\t\t\t\tcolumnFiltersMap,\n\t\t\t},\n\t\t},\n\t});\n};\n\nconst columnFilteringBehavior = {\n\tname: 'columnFilteringBehavior',\n\tactionHandlers: {\n\t\t// INIT\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: setInitialState,\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: handlePropertyChanged,\n\t\t},\n\t\t// MISC\n\t\t[NOW_BUTTON_CLICKED]: {\n\t\t\teffect: handleButtonClicked,\n\t\t\tstopPropagation: false, // in case a now-button is used as a custom value editor\n\t\t},\n\t\t[NOW_BUTTON_BARE_CLICKED]: {\n\t\t\teffect: handleButtonClicked,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_BUTTON_STATEFUL_CLICKED]: {\n\t\t\teffect: handleFilteringIconicButtonClicked,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\t\teffect: handleFilteringIconicButtonClicked,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_DATE_TIME_FOOTER_ACTION_CLICKED]: {\n\t\t\teffect: handleDateTimeActionsClicked,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t// STATE UPDATES\n\t\t[NOW_INPUT_INPUT]: {\n\t\t\teffect: handleInputValueUpdate,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_DATE_TIME_INPUT]: {\n\t\t\teffect: handleDateTimeValueUpdate,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_DATE_TIME_VALUE_SET]: {\n\t\t\teffect: handleDateTimeValueUpdate,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_DATE_TIME_OPENED_SET]: {\n\t\t\teffect: handleOpeningDateTimeCalendar,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_CHECKBOX_CHECKED_SET]: {\n\t\t\teffect: handleCheckboxCheckedSet,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t// APPLY ACTIONS\n\t\t[NOW_DATE_TIME_ENTER_KEYDOWN]: {\n\t\t\teffect: handleInputAndDateTimeKeyDownApply,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_DROPDOWN_ITEM_CLICKED]: {\n\t\t\teffect: handleOperatorUpdate,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_INPUT_ENTER_KEYDOWN]: {\n\t\t\teffect: handleInputAndDateTimeKeyDownApply,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_SELECT_SELECTED_ITEM_SET]: {\n\t\t\teffect: handleSelectApply,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_LIST_POPOVER_CLOSED]: {\n\t\t\teffect: resetColumnState,\n\t\t\tstopPropagation: false,\n\t\t},\n\t},\n};\n\nexport default columnFilteringBehavior;\n","export const NOW_LIST_HEADER_CELL_TEXT_CLICKED =\n\t'NOW_LIST#HEADER_CELL_TEXT_CLICKED';\nexport const HEADER_CELL_TEXT_CLICKED = 'HEADER_CELL_TEXT_CLICKED';\n","import columnSelectors from '../../shared/utils/selectors/columnSelectors';\nimport { NOW_LIST_POPOVER_CLOSED } from '../popoverBehavior/constants';\n\nimport {\n\tHEADER_CELL_TEXT_CLICKED,\n\tNOW_LIST_HEADER_CELL_TEXT_CLICKED,\n} from './constants';\n\nconst { hasChildren, getHeaderTextDisabled } = columnSelectors;\n\n/**\n * Event handler for header cell text click event\n * @param {Coeffects<Props,State>} coeffects\n * @returns\n */\nexport const headerTextClicked = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { column },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\tif (getHeaderTextDisabled(column)) return;\n\n\t// don't dispatch if the column header cell has children\n\tif (hasChildren(column)) return;\n\n\tdispatch(NOW_LIST_HEADER_CELL_TEXT_CLICKED, {\n\t\tcolumn,\n\t});\n};\n\n/**\n * Event handler for header cell text click event\n * @param {Coeffects<Props,State>} coeffects\n * @returns\n */\nconst handlePopoverClosed = (coeffects) => {\n\tconst { updateState } = coeffects;\n\tupdateState({\n\t\tactiveColumnKey: null,\n\t});\n};\n\nexport default {\n\tname: 'columnHeaderClickBehavior',\n\tactionHandlers: {\n\t\t[HEADER_CELL_TEXT_CLICKED]: {\n\t\t\teffect: headerTextClicked,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_LIST_POPOVER_CLOSED]: {\n\t\t\teffect: handlePopoverClosed,\n\t\t\tstopPropagation: false,\n\t\t},\n\t},\n};\n","export const SET_COLUMN_WIDTHS = 'NOW_LIST#SET_COLUMN_WIDTHS';\nexport const INIT_COLUMN_WIDTHS = 'NOW_LIST#INIT_COLUMN_WIDTHS';\nexport const SET_FINAL_AUTO_WIDTHS = 'NOW_LIST#SET_FINAL_AUTO_WIDTHS';\nexport const ADD_RESIZE_OBSERVER = 'NOW_LIST#ADD_RESIZE_OBSERVER';\n\nexport const COL_MIN_WIDTH = '120px';\nexport const TABLE_LAYOUT_AUTO = 'auto';\nexport const TABLE_LAYOUT_FIXED = 'fixed';\nexport const COLUMN_WIDTHS_UPDATED = 'NOW_LIST#COLUMN_WIDTHS_UPDATED';\n","export const ACTION_PREFIX = 'NOW_LIST#';\nexport const COLUMN_RESIZE_STARTED = 'NOW_LIST#RESIZE_STARTED';\nexport const COLUMN_SIZE_UPDATED = 'NOW_LIST#SIZE_UPDATED';\nexport const COLUMN_RESIZE_COMPLETED = 'NOW_LIST#RESIZE_COMPLETED';\n\nexport const COL_RESIZE_MIN_WIDTH = 144;\nexport const RESIZE_SLIDER_CLASS = 'resize-slider';\n","import { nowResizeBehavior } from '../../commons';\nimport { TABLE_LAYOUT_FIXED } from '../columnWidthBehavior/constants';\nimport { KEY } from '../keyboardNavBehavior/constants';\n\nimport {\n\tACTION_PREFIX,\n\tCOL_RESIZE_MIN_WIDTH,\n\tCOLUMN_RESIZE_COMPLETED,\n\tRESIZE_SLIDER_CLASS,\n\tCOLUMN_RESIZE_STARTED,\n\tCOLUMN_SIZE_UPDATED,\n} from './constants';\n\n/**\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const onResizeStart = ({ action, updateState }) => {\n\tconst target = action.payload.domEvent.target;\n\tif (!target) return;\n\n\t// table does not respect column widths when tableLayout is not fixed\n\tconst table = target.closest('table');\n\tif (table.style.tableLayout !== TABLE_LAYOUT_FIXED) {\n\t\tupdateState({\n\t\t\tpath: 'columnWidthsState.tableLayout',\n\t\t\tvalue: TABLE_LAYOUT_FIXED,\n\t\t\toperation: 'set',\n\t\t});\n\t}\n\n\tconst resizeGuide = target.querySelector('.resize-slider-guide');\n\tif (resizeGuide) {\n\t\tconst tableHeight = table.clientHeight;\n\t\tresizeGuide.style.height = `${tableHeight}px`;\n\t}\n};\n\n/**\n * @param {HTMLElement} target\n */\nexport const getHeaderAndSliderElements = (target) => {\n\tlet headerElement = null,\n\t\tsliderContainer = null;\n\t// in case of mouse it is th, in case of keyboard it is resize-slider-container\n\tif (target.nodeName === 'TH') {\n\t\theaderElement = target;\n\t\tsliderContainer = target.querySelector('.resize-slider-container');\n\t} else if (target.classList.contains('resize-slider-container')) {\n\t\tsliderContainer = target;\n\t\theaderElement = target.closest('th');\n\t}\n\treturn { headerElement, sliderContainer };\n};\n\n/**\n *\n * @param {Element|null} sliderContainer\n * @returns\n */\nexport const scrollToIfNotInView = (sliderContainer) => {\n\tif (!sliderContainer) return;\n\tconst { left, right } = sliderContainer.getBoundingClientRect();\n\tconst scrollContainer = sliderContainer.closest('.scroll-container');\n\tif (!scrollContainer) return;\n\tconst {\n\t\tleft: containerLeft,\n\t\tright: containerRight,\n\t} = scrollContainer.getBoundingClientRect();\n\n\tif (left < containerLeft || right > containerRight) {\n\t\tsliderContainer.scrollIntoView({ block: 'nearest' });\n\t}\n};\n\n/**\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const onSizeUpdated = ({ action }) => {\n\t/** @type {HTMLElement} */\n\tconst target = action.payload.domEvent.target;\n\tif (!target) return;\n\tconst { headerElement, sliderContainer } = getHeaderAndSliderElements(\n\t\ttarget\n\t);\n\tif (!headerElement || !sliderContainer) return;\n\t/*\n\t * in case of grouped columns we were depending on colspan for width,\n\t * so updating the width on a grouped child header will not resize.\n\t * Now we are updating the width on col in colgroup which is being respected by the browser\n\t * We are disabling resize on parent header column if it has children, as we dont have the col entry for that parent in colgroup,\n\t * resizing the child will update the parent accordingly\n\t */\n\tconst colgroup = getColGroup(headerElement);\n\tif (!colgroup) return;\n\tcolgroup.style.width = headerElement.style.width;\n\n\tscrollToIfNotInView(sliderContainer);\n};\n\n/**\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const onResizeCompleted = ({ action }) => {\n\t/** @type {HTMLTableCellElement} */\n\tconst target = action.payload.domEvent.target;\n\t/** @type {HTMLDivElement|null} */\n\tconst resizeGuide = target?.querySelector('.resize-slider-guide');\n\tif (resizeGuide) {\n\t\tresizeGuide.style.height = '0';\n\t}\n};\n\n/**\n * @param {HTMLElement | null | undefined} target\n * @returns {HTMLElement | undefined}\n */\nexport const getColGroup = (target) => {\n\tif (!target) return undefined;\n\n\tconst columnKey = target.dataset?.columnKey;\n\n\tif (columnKey) {\n\t\tconst table = target.closest('table');\n\t\t/**\n\t\t * @type {HTMLElement | null | undefined}\n\t\t */\n\t\tconst colgroup = table?.querySelector(\n\t\t\t`col[data-column-edge-key=\"${columnKey}\"]`\n\t\t);\n\t\tif (colgroup) {\n\t\t\treturn colgroup;\n\t\t}\n\t}\n};\n\nconst columnResizeBehavior = {\n\tbehavior: {\n\t\tname: 'resize',\n\t\tactionHandlers: {\n\t\t\t...nowResizeBehavior.actionHandlers,\n\t\t\t[COLUMN_RESIZE_STARTED]: onResizeStart,\n\t\t\t[COLUMN_RESIZE_COMPLETED]: onResizeCompleted,\n\t\t\t[COLUMN_SIZE_UPDATED]: onSizeUpdated,\n\t\t},\n\t},\n\toptions: {\n\t\tedges: {\n\t\t\tleft: false,\n\t\t\ttop: false,\n\t\t\tright: `.${RESIZE_SLIDER_CLASS}`,\n\t\t\tbottom: false,\n\t\t},\n\t\tminWidth: COL_RESIZE_MIN_WIDTH,\n\t\tselector: '.header-cell',\n\t\tactionPrefix: ACTION_PREFIX,\n\t\tkeyboardSupport: true,\n\t\tonbeforeupdate: (/** @type {*} */ domEvent) => {\n\t\t\tif (\n\t\t\t\tdomEvent &&\n\t\t\t\t(domEvent.key === KEY.ARROW_LEFT ||\n\t\t\t\t\tdomEvent.key === KEY.ARROW_RIGHT)\n\t\t\t) {\n\t\t\t\t// to avoid navigation to next cell\n\t\t\t\tdomEvent.stopPropagation();\n\t\t\t\t// to avoid horizontal scrolling\n\t\t\t\tdomEvent.preventDefault();\n\t\t\t}\n\t\t},\n\t\tkeyboardOptions: {\n\t\t\tkeyboardResizeDelta: 5,\n\t\t\thandles: {\n\t\t\t\tright: '.resize-slider-container',\n\t\t\t},\n\t\t},\n\t},\n};\n\nexport default columnResizeBehavior;\n","import { actionTypes } from '@servicenow/ui-core';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\n\nimport columnSelectors from '../../shared/utils/selectors/columnSelectors';\nimport { COLUMN_RESIZE_COMPLETED } from '../columnResizeBehavior/constants';\n\nimport {\n\tADD_RESIZE_OBSERVER,\n\tCOLUMN_WIDTHS_UPDATED,\n\tCOL_MIN_WIDTH,\n\tINIT_COLUMN_WIDTHS,\n\tSET_COLUMN_WIDTHS,\n\tSET_FINAL_AUTO_WIDTHS,\n\tTABLE_LAYOUT_AUTO,\n\tTABLE_LAYOUT_FIXED,\n} from './constants';\n\nconst {\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_ERROR_THROWN,\n\tCOMPONENT_PROPERTY_CHANGED,\n} = actionTypes;\nconst { getColumnKey, isSpecialColumnKey } = columnSelectors;\n\n// #region private\n\n/**\n * updates auto widths of columns calculated by browser\n * @param {Function} updateState\n * @param {string} columnKey\n * @param {string} columnWidth\n * @param {string|null}  width\n * @param {any} target\n * @param {any} dispatch\n */\nexport const updateWidth = (\n\tupdateState,\n\tcolumnKey,\n\tcolumnWidth,\n\twidth,\n\ttarget = null,\n\tdispatch = null\n) => {\n\t// this will be batched for all columns as we are making these calls synchronously\n\tupdateState(\n\t\t/** @param  {Coeffects<Props, State>} coeffects*/ ({ state }) => {\n\t\t\tconst columnWidthsState = get(state, 'columnWidthsState');\n\t\t\tconst autoWidths = get(columnWidthsState, 'autoWidths');\n\t\t\tconst widths = get(columnWidthsState, 'widths');\n\t\t\tif (width) {\n\t\t\t\tautoWidths[columnKey] = width;\n\t\t\t}\n\t\t\tif (columnWidth) {\n\t\t\t\twidths[columnKey] = columnWidth;\n\t\t\t}\n\t\t\tconst autoWidthsCount = Object.keys(autoWidths).length;\n\t\t\tconst totalColumns = columnSelectors.getColumnEdges(\n\t\t\t\tstate.processedColumnDefinitions\n\t\t\t)?.length;\n\t\t\t// after the final column insert browser calculates widths again\n\t\t\t// so adding a resize observer to save the adjusted final widths\n\t\t\tif (autoWidthsCount >= totalColumns && target) {\n\t\t\t\tconst resizeObserver = get(columnWidthsState, 'resizeObserver');\n\t\t\t\tif (!resizeObserver) dispatch(ADD_RESIZE_OBSERVER, { target });\n\t\t\t}\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tpath: 'columnWidthsState.autoWidths',\n\t\t\t\t\tvalue: autoWidths,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'columnWidthsState.widths',\n\t\t\t\t\tvalue: widths,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false,\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\t);\n};\n\n/**\n * @param {any} autoWidths\n * @param {any} target\n */\nexport const getFinalCalculatedAutoWidths = (autoWidths, target) => {\n\tconst finalAutoWidths = autoWidths;\n\tlet widthsChanged = false;\n\tif (target) {\n\t\tconst table = target.closest('table');\n\t\tconst thElements = table.querySelectorAll('th');\n\t\tconst thElementsMap = Array.from(thElements).reduce((acc, th) => {\n\t\t\tconst columnKey = th.getAttribute('data-column-key');\n\t\t\tacc[columnKey] = th;\n\t\t\treturn acc;\n\t\t}, {});\n\t\tfor (const columnKey in autoWidths) {\n\t\t\tconst th = thElementsMap[columnKey];\n\t\t\tif (th) {\n\t\t\t\tconst offsetWidth = th.offsetWidth;\n\t\t\t\tlet autoWidth = `${offsetWidth}px`;\n\t\t\t\tif (!offsetWidth) {\n\t\t\t\t\t//fallback to computed width in case offsetWidth is not available\n\t\t\t\t\tautoWidth = window.getComputedStyle(th).width;\n\t\t\t\t}\n\n\t\t\t\tif (autoWidth !== finalAutoWidths[columnKey]) {\n\t\t\t\t\tfinalAutoWidths[columnKey] = autoWidth;\n\t\t\t\t\twidthsChanged = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn { finalAutoWidths, widthsChanged };\n};\n\n// #endregion\n\n// #region action handlers\n\n/**\n * This effect sets initial state for column widths\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const setInitialState = (coeffects) => {\n\tconst { updateState, properties } = coeffects;\n\tconst { columnResizingEnabled } = properties;\n\tupdateState({\n\t\tpath: 'columnWidthsState',\n\t\tvalue: {\n\t\t\ttableLayout: TABLE_LAYOUT_AUTO,\n\t\t\tautoWidths: {},\n\t\t\twidths: {},\n\t\t\tcolumnResizingEnabled,\n\t\t\tresizeObserver: null,\n\t\t},\n\t\toperation: 'set',\n\t\tshouldRender: false,\n\t});\n};\n\n/**\n * called via insert hook on header column\n * This effect saves auto widths of columns calculated by browser\n * in columnWidthsState autoWidths object\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const saveColumnAutoWidth = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\taction: {\n\t\t\tpayload: { column, vnode },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\tlet width;\n\tconst columnKey = getColumnKey(column);\n\tconst columnWidth = columnSelectors.getWidth(column);\n\tif (typeof window === 'undefined') {\n\t\t// eslint-disable-next-line no-unused-vars\n\t\twidth = COL_MIN_WIDTH;\n\t} else {\n\t\tconst offsetWidth = vnode.elm.offsetWidth;\n\t\tlet width = `${offsetWidth}px`;\n\t\tif (!offsetWidth) {\n\t\t\t//fallback to computed width in case offsetWidth is not available\n\t\t\twidth = window.getComputedStyle(vnode.elm).width;\n\t\t}\n\t\tupdateWidth(\n\t\t\tupdateState,\n\t\t\tcolumnKey,\n\t\t\tcolumnWidth,\n\t\t\twidth || columnWidth,\n\t\t\tvnode.elm,\n\t\t\tdispatch\n\t\t);\n\t}\n};\n\n// @ts-ignore\nexport const initColumnAutoWidth = ({ state, updateState, host, dispatch }) => {\n\tconst columnWidthsState = get(state, 'columnWidthsState');\n\tconst autoWidths = get(columnWidthsState, 'autoWidths');\n\tconst widths = get(columnWidthsState, 'widths');\n\tconst table = host.shadowRoot.querySelector('table');\n\tconst columnEdges = columnSelectors.getColumnEdges(\n\t\tstate.processedColumnDefinitions\n\t);\n\tconst autoWidthsCount = Object.keys(autoWidths).length;\n\t//no need to calculate widths if autoWidths are already set\n\tif (!columnEdges || autoWidthsCount) return;\n\n\trequestAnimationFrame(() => {\n\t\tconst thElements = table ? table.querySelectorAll('th') : [];\n\t\tconst thElementsMap = Array.from(thElements).reduce((acc, th) => {\n\t\t\tconst columnKey = th.getAttribute('data-column-key');\n\t\t\tacc[columnKey] = th;\n\t\t\treturn acc;\n\t\t}, {});\n\n\t\tconst totalColumns = columnEdges.length;\n\n\t\t// @ts-ignore\n\t\tcolumnEdges.map((columnKey, index) => {\n\t\t\tconst th = thElementsMap[columnKey];\n\t\t\tconst column = columnSelectors.getColumnFromProcessedCols(\n\t\t\t\tstate.processedColumnDefinitions,\n\t\t\t\tcolumnKey\n\t\t\t);\n\t\t\tconst columnWidth = columnSelectors.getWidth(column);\n\t\t\tif (th) {\n\t\t\t\t//no need to query DOM for width if already available\n\t\t\t\tif (!columnWidth) {\n\t\t\t\t\tlet autoWidth = COL_MIN_WIDTH;\n\t\t\t\t\tconst offsetWidth = th.offsetWidth;\n\t\t\t\t\tif (offsetWidth) {\n\t\t\t\t\t\tautoWidth = `${offsetWidth}px`;\n\t\t\t\t\t}\n\t\t\t\t\tautoWidths[columnKey] = autoWidth;\n\t\t\t\t}\n\t\t\t\t// adding a resize observer to save the adjusted final widths\n\t\t\t\tif (index === totalColumns - 1) {\n\t\t\t\t\tconst resizeObserver = get(\n\t\t\t\t\t\tcolumnWidthsState,\n\t\t\t\t\t\t'resizeObserver'\n\t\t\t\t\t);\n\t\t\t\t\t//set widths only if atleast there is one column with width\n\t\t\t\t\tif (\n\t\t\t\t\t\t!resizeObserver &&\n\t\t\t\t\t\twidths &&\n\t\t\t\t\t\tObject.keys(widths).length > 0\n\t\t\t\t\t) {\n\t\t\t\t\t\tdispatch(SET_FINAL_AUTO_WIDTHS, { target: th });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (columnWidth) {\n\t\t\t\twidths[columnKey] = columnWidth;\n\t\t\t\tautoWidths[columnKey] = columnWidth;\n\t\t\t}\n\t\t});\n\n\t\tupdateState([\n\t\t\t{\n\t\t\t\tpath: 'columnWidthsState.autoWidths',\n\t\t\t\tvalue: autoWidths,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'columnWidthsState.widths',\n\t\t\t\tvalue: widths,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false,\n\t\t\t},\n\t\t]);\n\t});\n};\n\n/**\n * This adds a resize observer to table to calculate and set final auto widths\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const addResizeObserver = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\taction: {\n\t\t\tpayload: { target },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\tconst table = target.closest('table');\n\tconst resizeObserver = new ResizeObserver((entries, observer) => {\n\t\tif (!entries) return;\n\t\tconst height = getComputedStyle(table).height;\n\t\tif (!height || height === 'auto') return;\n\n\t\tconst tbody = table.querySelector('tbody');\n\t\tif (tbody) {\n\t\t\tconst rows = tbody.querySelectorAll('tr');\n\t\t\tif (!rows || !rows.length) return;\n\t\t}\n\n\t\tif (table.style.tableLayout === 'fixed') {\n\t\t\tobserver.disconnect();\n\t\t\treturn;\n\t\t}\n\n\t\tdispatch(SET_FINAL_AUTO_WIDTHS, { target });\n\t});\n\tresizeObserver.observe(table, { box: 'border-box' });\n\tupdateState({\n\t\tpath: 'columnWidthsState.resizeObserver',\n\t\tvalue: resizeObserver,\n\t\toperation: 'set',\n\t\tshouldRender: false,\n\t});\n};\n\n/**\n * This effect saves auto widths of columns calculated by browser\n * in columnWidthsState autoWidths object\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const setFinalWidths = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\taction: {\n\t\t\tpayload: { target },\n\t\t},\n\t\tstate,\n\t} = coeffects;\n\tconst columnWidthsState = get(state, 'columnWidthsState');\n\tconst autoWidths = get(columnWidthsState, 'autoWidths');\n\tconst tableLayout = get(columnWidthsState, 'tableLayout');\n\tconst widths = get(columnWidthsState, 'widths');\n\n\tconst { finalAutoWidths, widthsChanged } = getFinalCalculatedAutoWidths(\n\t\tautoWidths,\n\t\ttarget\n\t);\n\tif (!widthsChanged && isEmpty(widths)) return;\n\tupdateState([\n\t\t{\n\t\t\tpath: 'columnWidthsState.autoWidths',\n\t\t\tvalue: finalAutoWidths,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: 'columnWidthsState.tableLayout',\n\t\t\tvalue: !isEmpty(widths) ? TABLE_LAYOUT_FIXED : tableLayout,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: true,\n\t\t},\n\t]);\n};\n\n/**\n * This effect sets disconnects resize observers in case they are not already\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const disconnectResizeObserver = (coeffects) => {\n\tconst { state } = coeffects;\n\tconst resizeObserver = get(state, 'columnWidthsState.resizeObserver');\n\tif (resizeObserver) {\n\t\tresizeObserver.disconnect();\n\t}\n};\n\n/**\n * This effect saves width of column resized by resize handle\n * in columnWidthsState widths object\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const saveResizedColumnWidth = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\taction: {\n\t\t\tpayload: { domEvent },\n\t\t},\n\t\tstate,\n\t\tdispatch,\n\t} = coeffects;\n\tlet columnHeaderNode = domEvent.target;\n\t// in case of keyboard target is slider container\n\tif (columnHeaderNode.nodeName !== 'TH') {\n\t\tcolumnHeaderNode = columnHeaderNode.closest('th');\n\t}\n\tconst columnKey = columnHeaderNode.dataset.columnKey;\n\tconst columnWidthsState = get(state, 'columnWidthsState');\n\tconst autoWidths = get(columnWidthsState, 'autoWidths');\n\tconst currentAutoWidth = autoWidths[columnKey];\n\tconst oldWidths = get(columnWidthsState, 'widths');\n\tconst oldWidth = oldWidths[columnKey] || currentAutoWidth;\n\tconst updatedWidth = columnHeaderNode.style.width;\n\toldWidths[columnKey] = updatedWidth;\n\tconst columnsWidths = Object.keys(autoWidths).reduce((widths, key) => {\n\t\tif (!isSpecialColumnKey(key)) {\n\t\t\t// @ts-ignore\n\t\t\twidths[key] = oldWidths[key] || autoWidths[key];\n\t\t}\n\t\treturn widths;\n\t}, {});\n\tupdateWidth(updateState, columnKey, updatedWidth, updatedWidth);\n\tdispatch(COLUMN_WIDTHS_UPDATED, {\n\t\tcolumnKey,\n\t\toldWidth,\n\t\tupdatedWidth,\n\t\tcolumnsWidths,\n\t});\n};\n// #endregion\n\n// #region public\n/**\n * @param {ColumnWidthsState} columnWidthsState\n * @param {String} columnKey\n */\nexport const getSavedWidth = (columnWidthsState, columnKey) => {\n\tconst { widths, autoWidths } = columnWidthsState;\n\treturn get(widths, columnKey) || get(autoWidths, columnKey);\n};\n\n/**\n * @param {ColumnWidthsState} columnWidthsState\n * @return {String} auto|fixed\n */\nexport const getTableLayout = (columnWidthsState) => {\n\treturn get(columnWidthsState, 'tableLayout');\n};\n// #endregion\n\n/**\n * here we are only checking for widths being reset as we do not consider empty value in table header insert hook\n */\nexport const checkIfWidthsChanged = (\n\t/** @type {ColumnDefinitions['columns']} */ updatedColumns,\n\t/** @type {*} */ widths\n) => {\n\treturn (\n\t\tupdatedColumns.some((column) => {\n\t\t\tconst columnKey = getColumnKey(column);\n\t\t\tconst columnWidth = widths[columnKey];\n\t\t\tif (column.width !== columnWidth) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t}) ?? false\n\t);\n};\n/**\n * Property Changed Effect Handler. Will check for columnDefinitions changes and process the columnDefinitions accordingly\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const propertyChangedActionHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\t// @ts-ignore\n\t\t\tpayload: { name, value, previousValue },\n\t\t},\n\t\tstate,\n\t} = coeffects;\n\tconst columnWidthsState = get(state, 'columnWidthsState');\n\tconst widths = get(columnWidthsState, 'widths');\n\tif (\n\t\tname === 'columnDefinitions' &&\n\t\tpreviousValue &&\n\t\tvalue &&\n\t\tvalue.columns &&\n\t\tcheckIfWidthsChanged(value.columns, widths)\n\t) {\n\t\tsetInitialState(coeffects);\n\t}\n};\nconst columnWidthBehavior = {\n\tname: 'columnWidthBehavior',\n\t/**@type {ActionHandlers<Props,State>} */\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: setInitialState,\n\t\t},\n\t\t[INIT_COLUMN_WIDTHS]: {\n\t\t\teffect: initColumnAutoWidth,\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: propertyChangedActionHandler,\n\t\t},\n\t\t[SET_COLUMN_WIDTHS]: {\n\t\t\teffect: saveColumnAutoWidth,\n\t\t},\n\t\t[COLUMN_RESIZE_COMPLETED]: {\n\t\t\teffect: saveResizedColumnWidth,\n\t\t},\n\t\t[ADD_RESIZE_OBSERVER]: {\n\t\t\teffect: addResizeObserver,\n\t\t},\n\t\t[SET_FINAL_AUTO_WIDTHS]: {\n\t\t\teffect: setFinalWidths,\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: {\n\t\t\teffect: disconnectResizeObserver,\n\t\t},\n\t\t[COMPONENT_ERROR_THROWN]: {\n\t\t\teffect: disconnectResizeObserver,\n\t\t},\n\t},\n};\n\nexport default columnWidthBehavior;\n","import get from 'lodash/get';\nimport has from 'lodash/has';\nimport isEmpty from 'lodash/isEmpty';\n\nimport logger from '../logger';\nconst overlayCustomEmittedActions = 'customOverlayEmittedActions';\nconst overlayCustomConfigPath = 'customConfig';\nconst overlayDefaultComponentProps = 'defaultComponentProps';\nconst overlayComponentTag = 'componentTag';\n\nconst {\n\tOVERLAY_SHOW_COLUMN_HEADERS_DEFAULT,\n\tOVERLAY_TYPE_DEFAULT,\n\tOVERLAY_TYPE_MESSAGE,\n\tOVERLAY_TYPE_LOADER,\n\tOVERLAY_TYPE_CUSTOM,\n\tOVERLAY_SKELETON_LOADER_DEFAULT_NUM_COLUMNS,\n} = require('../../../typeSchemas/overlayDefinition/overlayConfigConsts');\n\nconst overlaySelectors = {\n\t/**\n\t * Selector for getting whether to show column headers or not (overlay replaces entire table or just table body)\n\t * @param {OverlayDefinition} overlayDefinition\n\t *\n\t * @returns {boolean}\n\t */\n\tgetOverlayShowColumnHeaders: (overlayDefinition) => {\n\t\treturn get(\n\t\t\toverlayDefinition,\n\t\t\t'showColumnHeaders',\n\t\t\tOVERLAY_SHOW_COLUMN_HEADERS_DEFAULT\n\t\t);\n\t},\n\n\t/**\n\t * Selector for getting overlay type from overlay config object\n\t * @param {OverlayDefinition} overlayDefinition\n\t *\n\t * @returns {string} type variant\n\t */\n\tgetOverlayType: (overlayDefinition) => {\n\t\treturn get(overlayDefinition, 'type', OVERLAY_TYPE_DEFAULT);\n\t},\n\n\t/**\n\t * Selector for getting template message config from overlay object when overlay is of type message\n\t * @param {OverlayDefinition} overlayDefinition\n\t *\n\t * @returns {OverlayMessageConfig} now-template-message config options\n\t */\n\tgetOverlayMessageConfig: (overlayDefinition) => {\n\t\tconst type = get(overlayDefinition, 'type', OVERLAY_TYPE_DEFAULT);\n\t\tconst messageConfig = get(overlayDefinition, 'messageConfig');\n\n\t\tif (type !== OVERLAY_TYPE_MESSAGE) {\n\t\t\tlogger.warning(\n\t\t\t\t'getOverlayMessageConfig(), a method specific to message typed overlays, was called on a non-message type'\n\t\t\t);\n\t\t} else if (type === OVERLAY_TYPE_MESSAGE && isEmpty(messageConfig)) {\n\t\t\tlogger.warning(\n\t\t\t\t'The configuration for the message type overlay is empty'\n\t\t\t);\n\t\t\treturn {};\n\t\t}\n\n\t\treturn messageConfig;\n\t},\n\n\t/**\n\t * Selector for checking if overlayDefinition has an error message config\n\t * @param {OverlayDefinition} overlayDefinition\n\t *\n\t * @returns {boolean}\n\t */\n\thasErrorMessage: (overlayDefinition) => {\n\t\tconst messageConfig = overlaySelectors.getOverlayMessageConfig(\n\t\t\toverlayDefinition\n\t\t);\n\t\tif (messageConfig?.illustration === 'error') {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t},\n\n\t/**\n\t * Selector for getting loader config from overlay object when overlay is of type loader\n\t * @param {OverlayDefinition} overlayDefinition\n\t *\n\t * @returns {OverlayLoaderConfig} now-loader config options\n\t */\n\tgetOverlayLoaderConfig: (overlayDefinition) => {\n\t\tconst type = get(overlayDefinition, 'type', OVERLAY_TYPE_DEFAULT);\n\t\tconst loaderConfig = get(overlayDefinition, 'loaderConfig');\n\n\t\tif (type !== OVERLAY_TYPE_LOADER) {\n\t\t\tlogger.warning(\n\t\t\t\t'getOverlayLoaderConfig(), a method specific to loader typed overlays, was called on a non-loader type'\n\t\t\t);\n\t\t}\n\n\t\treturn loaderConfig;\n\t},\n\n\t/**\n\t * Selector for getting skeleton loader config from overlay object when overlay is of type skeletonLoader\n\t * @param {OverlayDefinition} overlayDefinition\n\t *\n\t * @returns {OverlaySkeletonLoaderConfig}\n\t */\n\tgetOverlaySkeletonLoaderConfig: (overlayDefinition) => {\n\t\tconst type = get(overlayDefinition, 'type', OVERLAY_TYPE_DEFAULT);\n\t\tconst skeletonLoaderConfig = get(\n\t\t\toverlayDefinition,\n\t\t\t'skeletonLoaderConfig'\n\t\t);\n\n\t\tif (type !== OVERLAY_TYPE_LOADER) {\n\t\t\tlogger.warning(\n\t\t\t\t'getOverlaySkeletonLoaderConfig(), a method specific to skeletonLoader typed overlays, was called on a non-skeleton type'\n\t\t\t);\n\t\t}\n\n\t\treturn skeletonLoaderConfig;\n\t},\n\n\t/**\n\t * Selector for getting skeleton loader config from overlay object when overlay is of type skeletonLoader\n\t * @param {OverlayDefinition} overlayDefinition\n\t *\n\t * @returns {number} number of columns to render if the actual columns are not known\n\t */\n\tgetOverlaySkeletonLoaderNumColumns: (overlayDefinition) => {\n\t\treturn get(\n\t\t\toverlayDefinition,\n\t\t\t'skeletonLoaderConfig.numColumns',\n\t\t\tOVERLAY_SKELETON_LOADER_DEFAULT_NUM_COLUMNS\n\t\t);\n\t},\n\n\t/**\n\t * CUSTOM CONTENT SELECTORS\n\t */\n\n\t/**\n\t * Selector for getting component props from overlay object when overlay is of type custom\n\t * @param {OverlayDefinition} overlayDefinition\n\t *\n\t * @returns {object} component props for custom overlay\n\t */\n\tgetCustomOverlayDefaultComponentProps: (overlayDefinition) => {\n\t\tconst type = get(overlayDefinition, 'type', OVERLAY_TYPE_DEFAULT);\n\n\t\tif (type !== OVERLAY_TYPE_CUSTOM) {\n\t\t\tlogger.warning(\n\t\t\t\t'getCustomOverlayDefaultComponentProps(), a method specific to custom typed overlays, was called on a non-custom type'\n\t\t\t);\n\t\t}\n\n\t\treturn get(\n\t\t\toverlayDefinition,\n\t\t\t[overlayCustomConfigPath, overlayDefaultComponentProps],\n\t\t\t{}\n\t\t);\n\t},\n\t/**\n\t * Selector for getting component tag from overlay object when overlay is of type custom\n\t * @param {OverlayDefinition} overlayDefinition\n\t *\n\t * @returns {string} component tag for custom overlay\n\t */\n\tgetCustomOverlayComponentTag: (overlayDefinition) => {\n\t\tconst type = get(overlayDefinition, 'type', OVERLAY_TYPE_DEFAULT);\n\t\tif (type !== OVERLAY_TYPE_CUSTOM) {\n\t\t\tlogger.warning(\n\t\t\t\t'getCustomOverlayComponentTag(), a method specific to custom typed overlays, was called on a non-custom type'\n\t\t\t);\n\t\t}\n\n\t\treturn get(\n\t\t\toverlayDefinition,\n\t\t\t[overlayCustomConfigPath, overlayComponentTag],\n\t\t\t''\n\t\t);\n\t},\n\n\t/**\n\t * This function returns true if overlay content has custom component emitted actions\n\t * @param {OverlayDefinition}  overlayDefinition overlayDefinition object\n\t * @returns {boolean} returns true if custom component in the overlay has emitted actions\n\t */\n\thasCustomOverlayEmittedActions: (overlayDefinition) => {\n\t\tconst type = get(overlayDefinition, 'type', OVERLAY_TYPE_DEFAULT);\n\t\tif (type !== OVERLAY_TYPE_CUSTOM) {\n\t\t\tlogger.warning(\n\t\t\t\t'hasCustomOverlayEmittedActions(), a method specific to custom typed overlays, was called on a non-custom type'\n\t\t\t);\n\t\t}\n\t\treturn has(overlayDefinition, [\n\t\t\toverlayCustomConfigPath,\n\t\t\toverlayCustomEmittedActions,\n\t\t]);\n\t},\n\n\t/**\n\t * This function returns overlay component emitted actions. Will return empty object if does not exist.\n\t * @param {OverlayDefinition}  overlayDefinition overlayDefinition object\n\t * @returns {object} returns the array of the actions emitted by the custom component in overlay\n\t */\n\tgetCustomOverlayEmittedActions: (overlayDefinition) => {\n\t\tconst type = get(overlayDefinition, 'type', OVERLAY_TYPE_DEFAULT);\n\t\tif (type !== OVERLAY_TYPE_CUSTOM) {\n\t\t\tlogger.warning(\n\t\t\t\t'getCustomOverlayEmittedActions(), a method specific to custom typed overlays, was called on a non-custom type'\n\t\t\t);\n\t\t}\n\n\t\treturn get(\n\t\t\toverlayDefinition,\n\t\t\t[overlayCustomConfigPath, overlayCustomEmittedActions],\n\t\t\t[]\n\t\t);\n\t},\n};\n\nexport default overlaySelectors;\n","import { get as fpGet, has as fpHas, getOr } from 'lodash/fp';\nimport has from 'lodash/has';\n\nimport { CELL_EDIT_POPOVER_TYPE } from '../../../behaviors/cellEditingBehavior/constants';\n\nconst popoverPositionPath = 'target';\nconst columnRowIndexPath = 'columnRowIndex';\nconst columnCellIndexPath = 'columnCellIndex';\nconst rowIndexPath = 'rowIndex';\nconst cellIndexPath = 'cellIndex';\n\nconst popoverConfigPath = 'config';\nconst configPositionsPath = 'positions';\nconst configDismissOnScrollPath = 'dismissOnScroll';\nconst configDisableScrollPath = 'disableScroll';\nconst configHideTailPath = 'hideTail';\nconst dismissablePath = 'dismissable';\n\nconst popoverContentPath = 'content';\nconst popoverContentText = 'text';\nconst popoverContentButtons = 'buttons';\nconst ariaLabelPath = 'ariaLabel';\nconst variantPath = 'variant';\nconst sizePath = 'size';\nconst labelPath = 'label';\nconst iconPath = 'icon';\nconst tooltipContentPath = 'tooltipContent';\nconst metaPath = 'meta';\nconst idPath = 'id';\n\nconst popoverContentActions = 'actions';\nconst childrenPath = 'children';\nconst sublabelPath = 'sublabel';\nconst countPath = 'count';\nconst disabledPath = 'disabled';\nconst presencePath = 'presence';\n\nconst popoverContentComponentTag = 'componentTag';\nconst popoverContentDefaultProps = 'defaultComponentProps';\nconst popoverCustomCellEmittedActions = 'customCellEmittedActions';\n\nconst popoverType = 'popoverType';\nconst highlightedMessage = 'highlightedMessage';\nconst buttonsConfig = 'buttonsConfig';\nconst isLoading = 'isLoading';\n\n/**\n * @enum {string}\n */\nconst popoverInteractionTypes = {\n\tDIALOG: 'dialog',\n\tLISTBOX: 'listbox',\n\tNONE: 'none',\n};\n\n/**\n * @type {Array<{target: Position, content: Position}>}\n */\nconst defaultHeaderPopoverPositions = [\n\t{ target: 'bottom-end', content: 'top-end' },\n\t{ target: 'bottom-start', content: 'top-start' },\n];\n\n/**\n * @type {Array<{target: Position, content: Position}>}\n */\nconst defaultRowPopoverPositions = [\n\t{ target: 'bottom-end', content: 'top-end' },\n\t{ target: 'bottom-start', content: 'top-start' },\n\t{ target: 'top-end', content: 'bottom-end' },\n\t{ target: 'top-start', content: 'bottom-start' },\n];\n\n/**\n * @type {Array<{target: Position, content: Position}>}\n */\nconst defaultPositions = [\n\t{ target: 'bottom-start', content: 'top-start' },\n\t{ target: 'bottom-end', content: 'top-end' },\n\t{ target: 'top-start', content: 'bottom-start' },\n\t{ target: 'top-end', content: 'bottom-end' },\n\t{ target: 'top-end', content: 'top-start' },\n\t{ target: 'bottom-end', content: 'bottom-start' },\n\t{ target: 'top-start', content: 'top-end' },\n\t{ target: 'bottom-start', content: 'bottom-end' },\n];\n\n/**\n * @enum {string}\n *\n * This enum specifies content type for popover\n */\nexport const popoverContentTypes = {\n\tTEXT_CONTENT: 'TEXT_CONTENT',\n\tCUSTOM_CONTENT: 'CUSTOM_CONTENT',\n\tRENDER_CONTENT: 'RENDER_CONTENT',\n\tINVALID_CONTENT: 'INVALID_CONTENT',\n\tACTION_CONTENT: 'ACTION_CONTENT',\n};\n\nconst popoverSelectors = {\n\t/**\n\t * Returns true if popoverDefinition position is of type header\n\t * @param {*} popoverDefinition\n\t * @returns {boolean}\n\t */\n\tisHeaderTargetPosition: function (popoverDefinition) {\n\t\treturn (\n\t\t\tthis.hasHeaderRowIndex(popoverDefinition) ||\n\t\t\tthis.hasHeaderCellIndex(popoverDefinition)\n\t\t);\n\t},\n\n\t/**\n\t * This function checks if popover position contains header row index\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {boolean}\n\t */\n\thasHeaderRowIndex: fpHas([popoverPositionPath, columnRowIndexPath]),\n\n\t/**\n\t * This function checks if popover position contains header row cell index\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {boolean}\n\t */\n\thasHeaderCellIndex: fpHas([popoverPositionPath, columnCellIndexPath]),\n\n\t/**\n\t * This function returns header target row index. Will default to 1 if does not exist\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {number}\n\t */\n\tgetHeaderTargetRowIndex: getOr(1, [\n\t\tpopoverPositionPath,\n\t\tcolumnRowIndexPath,\n\t]),\n\n\t/**\n\t * This function returns header target row cell index. Will default to 1 if does not exist\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {number}\n\t */\n\tgetHeaderTargetCellIndex: getOr(1, [\n\t\tpopoverPositionPath,\n\t\tcolumnCellIndexPath,\n\t]),\n\n\t/**\n\t * Returns true if popoverDefinition position is of type row\n\t * @param {*} popoverDefinition\n\t * @returns {boolean}\n\t */\n\tisRowTargetPosition: function (popoverDefinition) {\n\t\treturn (\n\t\t\tthis.hasRowIndex(popoverDefinition) ||\n\t\t\tthis.hasCellIndex(popoverDefinition)\n\t\t);\n\t},\n\n\t/**\n\t * This function checks if popover position contains row index\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {boolean}\n\t */\n\thasRowIndex: fpHas([popoverPositionPath, rowIndexPath]),\n\n\t/**\n\t * This function checks if popover position contains row cell index\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {boolean}\n\t */\n\thasCellIndex: fpHas([popoverPositionPath, cellIndexPath]),\n\n\t/**\n\t * This function returns row target index. Will default to 1 if does not exist\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {number}\n\t */\n\tgetTargetRowIndex: getOr(1, [popoverPositionPath, rowIndexPath]),\n\n\t/**\n\t * This function returns row cell target index. Will default to 1 if does not exist\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {number}\n\t */\n\tgetTargetCellIndex: getOr(1, [popoverPositionPath, cellIndexPath]),\n\n\t/**\n\t * POPOVER TEXT CONTENT SELECTORS\n\t */\n\n\t/**\n\t * This function returns true if popover content has text\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {boolean}\n\t */\n\thasPopoverText: fpHas([popoverContentPath, popoverContentText]),\n\n\t/**\n\t * This function returns popover text. Will return undefined if does not exist\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {string}\n\t */\n\tgetPopoverText: fpGet([popoverContentPath, popoverContentText]),\n\n\t/**\n\t * This function returns true if popover content contains button configurations\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {boolean}\n\t */\n\thasPopoverButtons: fpHas([popoverContentPath, popoverContentButtons]),\n\n\t/**\n\t * This function returns array of popover button configurations\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {Array<PopoverButtonConfig>}\n\t */\n\tgetPopoverButtons: fpGet([popoverContentPath, popoverContentButtons]),\n\n\t/**\n\t * This function returns aria label configuration for popover button\n\t * @param {PopoverButtonConfig}  popoverDefinition PopoverButtonConfig object\n\t * @returns {string}\n\t */\n\tgetPopoverButtonAriaLabel: getOr('', ariaLabelPath),\n\n\t/**\n\t * This function returns popover button variant. Will default to secondary if none is provided\n\t * @param {PopoverButtonConfig}  popoverDefinition PopoverButtonConfig object\n\t * @returns {string}\n\t */\n\tgetPopoverButtonVariant: getOr('secondary', variantPath),\n\n\t/**\n\t * This function returns button size. Wil default to small if none is provided\n\t * @param {PopoverButtonConfig}  popoverDefinition PopoverButtonConfig object\n\t * @returns {string}\n\t */\n\tgetPopoverButtonSize: getOr('sm', sizePath),\n\n\t/**\n\t * This function returns popover button variant\n\t * @param {PopoverButtonConfig}  popoverDefinition PopoverButtonConfig object\n\t * @returns {string}\n\t */\n\tgetPopoverButtonLabel: getOr('', labelPath),\n\n\t/**\n\t * This function returns popover button icon\n\t * @param {PopoverButtonConfig}  popoverDefinition popoverDefinition object\n\t * @returns {string}\n\t */\n\tgetPopoverButtonIcon: getOr('', iconPath),\n\n\t/**\n\t * This function returns popover button tooltip content\n\t * @param {PopoverButtonConfig}  popoverDefinition popoverDefinition object\n\t * @returns {string}\n\t */\n\tgetTooltipContent: getOr('', tooltipContentPath),\n\n\t/**\n\t * This function returns additional meta to dispatch when clicked\n\t * @param {PopoverButtonConfig}  popoverDefinition popoverDefinition object\n\t * @returns {string}\n\t */\n\tgetPopoverButtonMeta: getOr({}, metaPath),\n\n\t/**\n\t * This function returns id of button if provided\n\t * @param {PopoverButtonConfig}  popoverDefinition popoverDefinition object\n\t * @returns {string}\n\t */\n\tgetPopoverButtonId: getOr('', idPath),\n\n\t/**\n\t * This function will return poisitions defined in configuration, otherwise default to\n\t * the correct positions based on target (header or row)\n\t * @param {PopoverDefinition} popoverDefinition\n\t * @returns {Array<{target: Position, content: Position}>}\n\t */\n\tgetPositions: function (popoverDefinition) {\n\t\tconst positions = fpGet([popoverConfigPath, configPositionsPath])(\n\t\t\tpopoverDefinition\n\t\t);\n\n\t\tif (positions) return positions;\n\n\t\tif (this.getPopoverType(popoverDefinition) === CELL_EDIT_POPOVER_TYPE) {\n\t\t\treturn defaultPositions;\n\t\t}\n\n\t\tif (this.isHeaderTargetPosition(popoverDefinition)) {\n\t\t\treturn defaultHeaderPopoverPositions;\n\t\t} else if (this.isRowTargetPosition(popoverDefinition)) {\n\t\t\treturn defaultRowPopoverPositions;\n\t\t}\n\n\t\treturn defaultPositions;\n\t},\n\n\t/**\n\t * POPOVER ACTION CONTENT SELECTORS\n\t */\n\n\tgetActions: getOr([], [popoverContentPath, popoverContentActions]),\n\n\t/**\n\t * Gets the actions label from the popover definition\n\t */\n\tgetActionsLabel: getOr('', [popoverContentPath, labelPath]),\n\n\t/**\n\t * Gets the children from the popover definition\n\t */\n\tgetChildren: getOr([], childrenPath),\n\n\t/**\n\t * Gets the label from the popover definition\n\t */\n\tgetLabel: getOr('', labelPath),\n\n\t/**\n\t * Gets the sublabel from the popover definition\n\t */\n\tgetSublabel: getOr('', sublabelPath),\n\n\t/**\n\t * Gets the count from the popover definition\n\t */\n\tgetCount: fpGet(countPath),\n\n\t/**\n\t * Gets the icon from the popover definition\n\t */\n\tgetIcon: getOr('', iconPath),\n\n\t/**\n\t * Gets the disabled prop from the popover definition\n\t */\n\tgetDisabled: getOr(false, disabledPath),\n\n\t/**\n\t * Gets the presence from the popover definition\n\t */\n\tgetPresence: getOr('', presencePath),\n\n\t/**\n\t * This function returns true if popover content has actions\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {boolean}\n\t */\n\thasPopoverAction: fpHas([popoverContentPath, popoverContentActions]),\n\n\t/**\n\t * POPOVER CUSTOM CONTENT SELECTORS\n\t */\n\n\t/**\n\t * This function returns true if popover content has custom component\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {boolean}\n\t */\n\thasPopoverCustom: fpHas([popoverContentPath, popoverContentComponentTag]),\n\n\t/**\n\t * This function returns the popover type\n\t * @returns {string}\n\t */\n\tgetPopoverType: fpGet([popoverContentPath, popoverType]),\n\n\t/**\n\t * This function returns the highlightedMessage object\n\t * @returns {Object}\n\t */\n\tgetHighlightedMessage: fpGet([popoverContentPath, highlightedMessage]),\n\n\t/**\n\t * This function returns the buttonsConfig object\n\t * @returns {Object}\n\t */\n\tgetButtonsConfig: fpGet([popoverContentPath, buttonsConfig]),\n\n\t/**\n\t * This function returns the isLoading value\n\t * @returns {boolean}\n\t */\n\tgetIsLoading: fpGet([popoverContentPath, isLoading]),\n\n\t/**\n\t * This function returns popover component tag.\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {string}\n\t */\n\tgetPopoverComponentTag: fpGet([\n\t\tpopoverContentPath,\n\t\tpopoverContentComponentTag,\n\t]),\n\n\t/**\n\t * This function returns popover component default properties. Will return empty object if does not exist.\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {object}\n\t */\n\tgetPopoverComponentDefaultProps: fpGet([\n\t\tpopoverContentPath,\n\t\tpopoverContentDefaultProps,\n\t]),\n\n\t/**\n\t * This function returns true if popover content has custom component emitted actions\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {boolean}\n\t */\n\thasCustomPopoverEmittedActions: fpHas([\n\t\tpopoverContentPath,\n\t\tpopoverCustomCellEmittedActions,\n\t]),\n\n\t/**\n\t * This function returns popover component emitted actions. Will return empty object if does not exist.\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {boolean}\n\t */\n\tgetCustomPopoverEmittedActions: fpGet([\n\t\tpopoverContentPath,\n\t\tpopoverCustomCellEmittedActions,\n\t]),\n\n\t/**\n\t * POPOVER CONFIG SELECTORS\n\t */\n\n\t/**\n\t * This function returns true if popover should dismiss when scrolling. Will default to false\n\t * if config not provided\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {boolean}\n\t */\n\tgetDismissOnScroll: getOr(false, [\n\t\tpopoverConfigPath,\n\t\tconfigDismissOnScrollPath,\n\t]),\n\n\t/**\n\t * This function returns true if popover should not add a scroll bar to content. Will default to true\n\t * if config not provided\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {boolean}\n\t */\n\tgetDisableScroll: getOr(true, [popoverConfigPath, configDisableScrollPath]),\n\n\t/**\n\t * This function returns true if popover should hide tail pointing to target. Will default to true\n\t * if config not provided\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {boolean}\n\t */\n\tgetHideTail: getOr(false, [popoverConfigPath, configHideTailPath]),\n\n\t/**\n\t * This function returns true if popover should handle closing internally. If set to false,\n\t * consumer should clear Popover definition property to close popover.\n\t * Will default to true if config not provided.\n\t *\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {boolean}\n\t */\n\tgetDismissable: getOr(true, [popoverConfigPath, dismissablePath]),\n\n\t/**\n\t * This function returns true if popover content is of type text\n\t *\n\t * @param {PopoverDefinition}  popoverDefinition popoverDefinition object\n\t * @returns {boolean}\n\t */\n\tisTextContent: (popoverDefinition) =>\n\t\thas(popoverDefinition, [popoverContentPath, popoverContentText]) ||\n\t\thas(popoverDefinition, [popoverContentPath, popoverContentButtons]),\n\n\t/**\n\t * Returns true if popover is of custom type\n\t * @param {PopoverDefinition} popoverDefinition\n\t * @returns {boolean}\n\t */\n\tisCustomContent: fpHas([popoverContentPath, popoverContentComponentTag]),\n\n\t/**\n\t * Returns true if popover is of type action list\n\t * @param {PopoverDefinition} popoverDefinition\n\t * @returns {boolean}\n\t */\n\tisActionListContent: fpHas([popoverContentPath, popoverContentActions]),\n\n\t/**\n\t * This function returns the aria label to be used by now-popover\n\t * @param {PopoverDefinition} popoverDefinition\n\t * @returns string\n\t */\n\tgetAriaLabel: function (popoverDefinition) {\n\t\treturn popoverDefinition?.config?.ariaLabel;\n\t},\n\n\t/**\n\t * This function returns the interaction type to be used by now-popover\n\t * @param {PopoverDefinition} popoverDefinition\n\t * @returns {popoverInteractionTypes}\n\t */\n\tgetInteractionType: function (popoverDefinition) {\n\t\tif (this.isTextContent(popoverDefinition)) {\n\t\t\treturn popoverInteractionTypes.DIALOG;\n\t\t}\n\t\tif (this.isActionListContent(popoverDefinition)) {\n\t\t\treturn popoverInteractionTypes.DIALOG;\n\t\t}\n\t\tif (this.isCustomContent(popoverDefinition)) {\n\t\t\treturn popoverInteractionTypes.DIALOG;\n\t\t}\n\n\t\treturn popoverInteractionTypes.NONE;\n\t},\n\n\t/**\n\t * This function returns popover content type.\n\t *\n\t * @param {PopoverDefinition} popoverDefinition\n\t */\n\tgetPopoverContentType: function (popoverDefinition) {\n\t\tif (\n\t\t\tthis.hasPopoverText(popoverDefinition) ||\n\t\t\tthis.hasPopoverButtons(popoverDefinition)\n\t\t) {\n\t\t\treturn popoverContentTypes.TEXT_CONTENT;\n\t\t} else if (this.hasPopoverAction(popoverDefinition)) {\n\t\t\treturn popoverContentTypes.ACTION_CONTENT;\n\t\t} else if (this.hasPopoverCustom(popoverDefinition)) {\n\t\t\treturn popoverContentTypes.CUSTOM_CONTENT;\n\t\t}\n\t},\n\n\t/**\n\t * This function returns the first valid action item id\n\t *\n\t * @param {PopoverDefinition} popoverDefinition\n\t */\n\tgetActiveActionItem: function (popoverDefinition) {\n\t\tconst actions = this.getActions(popoverDefinition);\n\t\treturn actions[0]?.children ? actions[0].children[0].id : actions[0].id;\n\t},\n};\n\nexport default popoverSelectors;\n","import get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\n\nimport columnSelectors from '../../shared/utils/selectors/columnSelectors';\nimport overlaySelectors from '../../shared/utils/selectors/overlaySelectors';\nimport popoverSelectors from '../../shared/utils/selectors/popoverSelectors';\nimport rowSelectors from '../../shared/utils/selectors/rowSelectors';\nimport { OVERLAY_TYPE_CUSTOM } from '../../typeSchemas/overlayDefinition/overlayConfigConsts';\n\nimport { COMPONENT_LOADED_STATUS } from './constants';\n\nconst {\n\tTYPE_CUSTOM,\n} = require('../../typeSchemas/columnDefinitions/columnTypes/columnTypes');\n\nconst {\n\tgetColumns,\n\tgetColumnType,\n\tgetColumnComponentTag,\n\tgetColumnFilterValueEditorCustomComponentTag,\n} = columnSelectors;\nconst { getRowsOfCustomType, getRows, getCustomRowComponentTag } = rowSelectors;\nconst { getPopoverComponentTag } = popoverSelectors;\nconst { getCustomOverlayComponentTag } = overlaySelectors;\n\n/**\n * @param {Array<ColumnType>} columns\n * @param {Array<ColumnType>} flattenedColumns\n * @return {Array<ColumnType>}\n */\nconst flattenColumns = (columns, flattenedColumns) => {\n\tconst result = flattenedColumns || [];\n\tcolumns.forEach((column) => {\n\t\tif (column.children) {\n\t\t\tflattenColumns(column.children, result);\n\t\t} else {\n\t\t\tresult.push(column);\n\t\t}\n\t});\n\treturn result;\n};\n\n/**\n * Checks if the column has a custom tag, and if it has not been loaded yet\n * @param {ColumnType} column\n * @param {Record<string, FetchedComponent>} fetchedComponents\n * @returns boolean\n */\nconst hasCustomColumnTag = (column, fetchedComponents) => {\n\tconst componentTag = getColumnComponentTag(column);\n\n\tconst hasComponentLoaded = isComponentLoaded(\n\t\tfetchedComponents,\n\t\tcomponentTag\n\t);\n\n\tconst isCustomColumn = getColumnType(column) === TYPE_CUSTOM;\n\treturn isCustomColumn && !hasComponentLoaded;\n};\n\n/**\n * Checks if the column filter has a custom tag, and if it has not been loaded yet\n * @param {ColumnType} column\n * @param {Record<string, FetchedComponent>} fetchedComponents\n * @returns boolean\n */\nconst hasCustomColumnFilterTag = (column, fetchedComponents) => {\n\tconst componentTag = getColumnFilterValueEditorCustomComponentTag(column);\n\tconst hasComponentLoaded = isComponentLoaded(\n\t\tfetchedComponents,\n\t\tcomponentTag\n\t);\n\n\treturn componentTag && !hasComponentLoaded;\n};\n\n/**\n * Checks if the custom component has been loaded\n * @param {Record<string, FetchedComponent>} fetchedComponents\n * @param {string} componentTag\n * @returns\n */\nconst isComponentLoaded = (fetchedComponents, componentTag) => {\n\tconst status = get(fetchedComponents, `${componentTag}.status`, null);\n\treturn status && status !== COMPONENT_LOADED_STATUS.ERROR;\n};\n\n/**\n * Adds a component tag to the set if it exists and is not already loaded\n * @param {Set<string>} componentTags\n * @param {string | null} componentTag\n * @param {Record<string, FetchedComponent>} fetchedComponents\n */\nconst addComponentTagIfNotLoaded = (\n\tcomponentTags,\n\tcomponentTag,\n\tfetchedComponents\n) => {\n\tif (componentTag && !isComponentLoaded(fetchedComponents, componentTag)) {\n\t\tcomponentTags.add(componentTag);\n\t}\n};\n\n/**\n * Processes columns and adds their component tags to the set\n * @param {Array<ColumnType>} columns\n * @param {Set<string>} componentTags\n * @param {Record<string, FetchedComponent>} fetchedComponents\n */\nconst processColumns = (columns, componentTags, fetchedComponents) => {\n\tcolumns\n\t\t.filter(\n\t\t\t(column) =>\n\t\t\t\thasCustomColumnTag(column, fetchedComponents) ||\n\t\t\t\thasCustomColumnFilterTag(column, fetchedComponents)\n\t\t)\n\t\t.forEach((column) => {\n\t\t\taddComponentTagIfNotLoaded(\n\t\t\t\tcomponentTags,\n\t\t\t\tgetColumnComponentTag(column),\n\t\t\t\tfetchedComponents\n\t\t\t);\n\t\t\taddComponentTagIfNotLoaded(\n\t\t\t\tcomponentTags,\n\t\t\t\tgetColumnFilterValueEditorCustomComponentTag(column),\n\t\t\t\tfetchedComponents\n\t\t\t);\n\t\t});\n};\n\n/**\n * Processes custom rows and adds their component tags to the set\n * @param {Array<unknown>} customRows\n * @param {Set<string>} componentTags\n * @param {Record<string, FetchedComponent>} fetchedComponents\n */\nconst processCustomRows = (customRows, componentTags, fetchedComponents) => {\n\tcustomRows.forEach((customRow) => {\n\t\taddComponentTagIfNotLoaded(\n\t\t\tcomponentTags,\n\t\t\tgetCustomRowComponentTag(customRow),\n\t\t\tfetchedComponents\n\t\t);\n\t});\n};\n\n/**\n * Processes the popover definition and adds its component tag to the set\n * @param {PopoverDefinition} popoverDefinition\n * @param {Set<string>} componentTags\n * @param {Record<string, FetchedComponent>} fetchedComponents\n */\nconst processPopover = (\n\tpopoverDefinition,\n\tcomponentTags,\n\tfetchedComponents\n) => {\n\taddComponentTagIfNotLoaded(\n\t\tcomponentTags,\n\t\tgetPopoverComponentTag(popoverDefinition),\n\t\tfetchedComponents\n\t);\n};\n\n/**\n * Processes the overlay definition and adds its component tag to the set\n * @param {OverlayDefinition} overlayDefinition\n * @param {Set<string>} componentTags\n * @param {Record<string, FetchedComponent>} fetchedComponents\n */\nconst processOverlay = (\n\toverlayDefinition,\n\tcomponentTags,\n\tfetchedComponents\n) => {\n\tif (\n\t\t!isEmpty(overlayDefinition) &&\n\t\toverlayDefinition.type === OVERLAY_TYPE_CUSTOM\n\t) {\n\t\taddComponentTagIfNotLoaded(\n\t\t\tcomponentTags,\n\t\t\tgetCustomOverlayComponentTag(overlayDefinition),\n\t\t\tfetchedComponents\n\t\t);\n\t}\n};\n\n/**\n * Returns which component tags need to be loaded by the uxf-component loader\n * @param {ColumnDefinitions} columnDefinitions\n * @param {PopoverDefinition} popoverDefinition\n * @param {OverlayDefinition} overlayDefinition\n * @param {RowDefinitions} rowDefinitions\n * @param {Record<string, FetchedComponent>} fetchedComponents\n * @return {Array<string>} componentTags\n */\nexport const getComponentTagsToLoad = (\n\tcolumnDefinitions,\n\tpopoverDefinition,\n\toverlayDefinition,\n\trowDefinitions,\n\tfetchedComponents = {}\n) => {\n\tconst componentTags = new Set();\n\n\t// Process columns\n\tconst columns = flattenColumns(getColumns(columnDefinitions) || [], []);\n\tprocessColumns(columns, componentTags, fetchedComponents);\n\n\t// Process custom rows\n\tconst customRows = getRowsOfCustomType(getRows(rowDefinitions));\n\tprocessCustomRows(customRows, componentTags, fetchedComponents);\n\n\t// Process popover\n\tprocessPopover(popoverDefinition, componentTags, fetchedComponents);\n\n\t// Process overlay\n\tprocessOverlay(overlayDefinition, componentTags, fetchedComponents);\n\n\treturn Array.from(componentTags);\n};\n","import createComponentLoaderEffect from '@devsnc/uxf-effect-component-loader';\nimport { actionTypes } from '@servicenow/ui-core';\nimport camelCase from 'lodash/camelCase';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { LIST_ICON_CACHE, LIST_ICON_SET } from '../../constants';\nimport { getIconPixelSize } from '../../shared/views/shared/fakeNowIcon';\n\nimport { getComponentTagsToLoad } from './componentLoaderBehaviorUtils';\nimport {\n\tNOW_LIST_COMPONENT_LOAD_REQUESTED,\n\tNOW_LIST_COMPONENT_LOAD_COMPLETED,\n\tNOW_LIST_COMPONENT_LOAD_FAILED,\n\tCOMPONENT_LOADED_STATUS,\n\tMAX_COMPONENT_LOAD_COUNT,\n} from './constants';\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_CONNECTED,\n} = actionTypes;\n\n/**\n * Will determine which components need to be fetched and update their state accordingly\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nconst componentBootstrappedHandler = (coeffects) => {\n\tconst {\n\t\tproperties: {\n\t\t\tcolumnDefinitions,\n\t\t\tpopoverDefinition,\n\t\t\toverlayDefinition,\n\t\t\trowDefinitions,\n\t\t},\n\t\tstate: { fetchedComponents = {} },\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\t/** @type {Record<string, FetchedComponent>}} */\n\tconst fetchingComponents = {};\n\n\tconst componentsToLoad = getComponentTagsToLoad(\n\t\tcolumnDefinitions,\n\t\tpopoverDefinition,\n\t\toverlayDefinition,\n\t\trowDefinitions,\n\t\tfetchedComponents\n\t);\n\tcomponentsToLoad.forEach((componentTag) => {\n\t\t// Checks if the custom component is already defined on the browser, if so prevent it from\n\t\t// loading and set its status to SUCCESS\n\t\tconst isDefined = customElements.get(componentTag) !== undefined;\n\t\tconst action = isDefined\n\t\t\t? NOW_LIST_COMPONENT_LOAD_COMPLETED\n\t\t\t: NOW_LIST_COMPONENT_LOAD_REQUESTED;\n\t\tconst status = isDefined\n\t\t\t? COMPONENT_LOADED_STATUS.SUCCESS\n\t\t\t: COMPONENT_LOADED_STATUS.LOADING;\n\n\t\t(fetchingComponents[componentTag] = {\n\t\t\tfetchCount: 1,\n\t\t\tstatus,\n\t\t}),\n\t\t\tdispatch(action, {\n\t\t\t\ttagName: componentTag,\n\t\t\t});\n\t});\n\n\tif (!isEmpty(fetchingComponents)) {\n\t\tupdateState({\n\t\t\tpath: `fetchedComponents`,\n\t\t\tvalue: fetchingComponents,\n\t\t\toperation: 'merge',\n\t\t});\n\t}\n};\n\n/**\n * Delegates to the component bootstrap behavior if the columnDefinitions have changed\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nconst propertyChangedHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name },\n\t\t},\n\t} = coeffects;\n\n\tif (\n\t\t[\n\t\t\t'columnDefinitions',\n\t\t\t'popoverDefinition',\n\t\t\t'overlayDefinition',\n\t\t\t'rowDefinitions',\n\t\t].includes(name)\n\t)\n\t\tcomponentBootstrappedHandler(coeffects);\n};\n\n/**\n * Updates the state when a component has succesfully been loaded\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nconst componentLoadCompletedHandler = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\taction: {\n\t\t\tpayload: { tagName },\n\t\t},\n\t} = coeffects;\n\n\tconst value = { status: COMPONENT_LOADED_STATUS.SUCCESS };\n\tupdateState({\n\t\tpath: `fetchedComponents.${tagName}`,\n\t\toperation: 'merge',\n\t\tvalue,\n\t});\n};\n\n/**\n * Handles the case when a component load fails\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nconst componentLoadFailedHandler = (coeffects) => {\n\tconst {\n\t\tstate: { fetchedComponents = {} },\n\t\tupdateState,\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\trequest: { tagName },\n\t\t\t},\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tconst { fetchCount } = fetchedComponents[tagName];\n\tif (fetchCount < MAX_COMPONENT_LOAD_COUNT) {\n\t\tdispatch(NOW_LIST_COMPONENT_LOAD_REQUESTED, { tagName: tagName });\n\t\tupdateState({\n\t\t\tpath: `fetchedComponents.${tagName}.fetchCount`,\n\t\t\toperation: 'set',\n\t\t\tvalue: fetchCount + 1,\n\t\t\tshouldRender: false,\n\t\t});\n\t} else {\n\t\tupdateState({\n\t\t\tpath: `fetchedComponents.${tagName}.status`,\n\t\t\toperation: 'set',\n\t\t\tvalue: COMPONENT_LOADED_STATUS.ERROR,\n\t\t});\n\t}\n};\n\nconst fetchAndCacheIcons = () => {\n\tLIST_ICON_SET.forEach((set) => {\n\t\tconst { name, size } = set;\n\t\tconst camelIconName = camelCase(name);\n\t\tconst iconKey = `${camelIconName}${getIconPixelSize(size)}`;\n\n\t\t// @ts-ignore\n\t\twindow?.__TECTONIC__$servicenow_now_icon?.getIcon(iconKey).then(\n\t\t\t// @ts-ignore\n\t\t\t(r) => {\n\t\t\t\tif (r) {\n\t\t\t\t\tif (!localStorage.getItem(LIST_ICON_CACHE)) {\n\t\t\t\t\t\tlocalStorage.setItem(LIST_ICON_CACHE, '{}');\n\t\t\t\t\t}\n\t\t\t\t\tconst cacheString = localStorage.getItem(LIST_ICON_CACHE);\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tconst parsedCache = JSON.parse(cacheString);\n\t\t\t\t\tparsedCache[iconKey] = r;\n\t\t\t\t\tlocalStorage.setItem(\n\t\t\t\t\t\tLIST_ICON_CACHE,\n\t\t\t\t\t\tJSON.stringify(parsedCache)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t});\n};\n\nconst componentLoaderBehavior = {\n\tname: 'componentLoaderBehavior',\n\t/**@type {ActionHandlers<Props,State>} */\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: { effect: propertyChangedHandler },\n\t\t[COMPONENT_BOOTSTRAPPED]: { effect: componentBootstrappedHandler },\n\t\t[NOW_LIST_COMPONENT_LOAD_REQUESTED]: createComponentLoaderEffect({\n\t\t\tsuccessActionType: NOW_LIST_COMPONENT_LOAD_COMPLETED,\n\t\t\terrorActionType: NOW_LIST_COMPONENT_LOAD_FAILED,\n\t\t}),\n\t\t[NOW_LIST_COMPONENT_LOAD_COMPLETED]: {\n\t\t\teffect: componentLoadCompletedHandler,\n\t\t},\n\t\t[NOW_LIST_COMPONENT_LOAD_FAILED]: {\n\t\t\teffect: componentLoadFailedHandler,\n\t\t},\n\t\t[COMPONENT_CONNECTED]: {\n\t\t\teffect: fetchAndCacheIcons,\n\t\t},\n\t},\n};\n\nexport default componentLoaderBehavior;\n","import { getOr } from 'lodash/fp';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport { t } from 'sn-translate';\n\nimport logger from '../logger';\n\nconst {\n\tTYPE_ICON,\n\tTYPE_LINK,\n\tTYPE_URL,\n\tTYPE_PERSON,\n\tTYPE_CHOICE,\n} = require('../../../typeSchemas/columnDefinitions/columnTypes/columnTypes');\nconst {\n\tICON_CELL_COLOR_DEFAULT,\n} = require('../../views/fields/icon/iconConstants');\nconst {\n\tEMPTY_CELL_VALUE,\n\tHIGHLIGHTED_VALUE,\n} = require('../../views/table/tableBody/tableRow/rowCell/rowCellConstants');\n\nconst cellSelectors = {\n\t/**\n\t * Selector for getting cell value for any cell type\n\t * @param {CellType} cell\n\t *\n\t * @returns {(string | number | boolean | Array<PillType>)} cell value\n\t */\n\tgetValue: getOr(EMPTY_CELL_VALUE, 'value'),\n\n\t/**\n\t * Selector for getting editing disabled value for any cell type\n\t * @param {CellType} cell\n\t *\n\t * @returns {(boolean | false)} cell value\n\t */\n\tgetEditingDisabled: (cell) => {\n\t\treturn get(cell, 'editingDisabled', false);\n\t},\n\n\t/**\n\t * Selector for getting disabled at the cell level for link, person and url type\n\t * @param {CellType} cell\n\t *\n\t * @returns {boolean} disabled\n\t */\n\tgetDisabled: (cell) => {\n\t\treturn get(cell, 'disabled', false);\n\t},\n\n\t/**\n\t * Selector for getting cell color for any cell type\n\t * IMPORTANT: note that this getter should only be used for icon-typed cells,\n\t * the only type that has a color property in its schema.\n\t * @param {IconCellType} cell\n\t *\n\t * @returns {(string | undefined)}\n\t */\n\tgetColor: (cell) => {\n\t\tconst type = get(cell, 'type');\n\n\t\tif (type !== TYPE_ICON) {\n\t\t\tlogger.warning(\n\t\t\t\t'getColor(), a method specific to icon typed cells, was called on an irrelevant type'\n\t\t\t);\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn get(cell, 'color', ICON_CELL_COLOR_DEFAULT);\n\t},\n\n\t/**\n\t * Selector for getting cell image src for any person type\n\t * IMPORTANT: note that this getter should only be used for person-typed cells,\n\t * the only type that has a imageSrc property in its schema.\n\t * @param {PersonCellType} cell\n\t *\n\t * @returns {(string | undefined)}\n\t */\n\tgetImageSrc: (cell) => {\n\t\tconst type = get(cell, 'type');\n\n\t\tif (type !== TYPE_PERSON) {\n\t\t\tlogger.warning(\n\t\t\t\t'getImageSrc(), a method specific to person typed cells, was called on an irrelevant type'\n\t\t\t);\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn get(cell, 'imageSrc');\n\t},\n\n\t/**\n\t * Selector for getting key for person cell type\n\t * IMPORTANT: note that this getter should only be used for person-typed cells\n\t * @param {PersonCellType} cell\n\t *\n\t * @returns {(string | undefined)}\n\t */\n\tgetPersonKey: (cell) => {\n\t\tconst type = get(cell, 'type');\n\n\t\tif (type !== TYPE_PERSON) {\n\t\t\tlogger.warning(\n\t\t\t\t'getPersonKey(), a method specific to person typed cells, was called on an irrelevant type'\n\t\t\t);\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn get(cell, 'personKey');\n\t},\n\n\t/**\n\t * Selector for getting cell label for cells that are URL or link type\n\t * IMPORTANT: note that this getter should only be used for those cell types (URLs and actionable links)\n\t * that have a label property in their schema.\n\t * Other cell types determine their own labels based on their value inside their typed subview.\n\t * @param {(UrlCellType | LinkCellType | ChoiceCellType)} cell\n\t *\n\t * @returns {string}\n\t */\n\tgetLabel: function (cell) {\n\t\tconst type = get(cell, 'type');\n\n\t\tif (type === TYPE_LINK) {\n\t\t\treturn cellSelectors.getLinkLabel(cell);\n\t\t} else if (type === TYPE_URL) {\n\t\t\treturn cellSelectors.getUrlLabel(cell);\n\t\t} else if (type === TYPE_CHOICE) {\n\t\t\treturn getOr(EMPTY_CELL_VALUE, 'label', cell);\n\t\t} else {\n\t\t\tlogger.warning(\n\t\t\t\t'getLabel(), a method specific to URL or actionable link typed cells was called on an inapplicable type'\n\t\t\t);\n\t\t\treturn '';\n\t\t}\n\t},\n\n\t/* HELPERS */\n\n\t/**\n\t * Helper for getLabel for getting cell label for only link cells\n\t * @param {LinkCellType} cell\n\t *\n\t * @returns {string}\n\t */\n\tgetLinkLabel: (cell) => {\n\t\tconst value = getOr(EMPTY_CELL_VALUE, 'value', cell);\n\t\tconst rawLabel = get(cell, 'label');\n\n\t\tif (!isEmpty(rawLabel)) {\n\t\t\treturn rawLabel;\n\t\t}\n\t\tif (isEmpty(rawLabel) && !isEmpty(value)) {\n\t\t\t// if no label, display 'Action' as label\n\t\t\treturn t('Action');\n\t\t}\n\t\treturn value;\n\t},\n\n\t/**\n\t * Helper for getLabel for getting cell label for only URL cells\n\t * @param {UrlCellType} cell\n\t *\n\t * @returns {string}\n\t */\n\tgetUrlLabel: (cell) => {\n\t\tconst value = getOr(EMPTY_CELL_VALUE, 'value', cell);\n\t\tconst rawLabel = get(cell, 'label');\n\n\t\tif (!isEmpty(rawLabel)) {\n\t\t\treturn rawLabel;\n\t\t} else if (isEmpty(rawLabel) && !isEmpty(value)) {\n\t\t\t// if no label, just truncate value URL\n\t\t\ttry {\n\t\t\t\tconst url = new URL(value);\n\t\t\t\treturn url.hostname;\n\t\t\t} catch (e) {\n\t\t\t\treturn value;\n\t\t\t}\n\t\t} else {\n\t\t\treturn value;\n\t\t}\n\t},\n\n\t/**\n\t * Check if cell actions exist and are valid on a row cell\n\t * @param {CellType} cell an object representing this cell\n\t *\n\t * @returns {boolean}\n\t */\n\thasCellActions: (cell) => {\n\t\treturn !isEmpty(get(cell, 'actions'));\n\t},\n\n\t/**\n\t * Check if highlightedValue exist on a row cell\n\t * @param {CellType} cell an object representing this cell\n\t *\n\t * @returns {boolean}\n\t */\n\thasHighlightedValue: (cell) => {\n\t\treturn !isEmpty(get(cell, HIGHLIGHTED_VALUE));\n\t},\n\n\t/**\n\t * Selector for getting cell highlightedValue for any cell type\n\t * @param {CellType} cell\n\t *\n\t * @returns {(HighlightedValue)} cell value\n\t */\n\tgetHighlightedValue: (cell) => getOr({}, HIGHLIGHTED_VALUE, cell),\n\n\t/**\n\t * Selector for getting record link\n\t * @param {CellBase} cell\n\t *\n\t * @returns {(string | undefined)}\n\t */\n\tgetHref: (cell) => {\n\t\treturn get(cell, 'href');\n\t},\n};\n\nexport default cellSelectors;\n","export const NOW_DROPDOWN_LIST_ITEM_CLICKED = 'NOW_DROPDOWN_LIST#ITEM_CLICKED';\nexport const POPOVER_DROPDOWN_ITEM_CLICKED = 'POPOVER_DROPDOWN#ITEM_CLICKED';\n","export const ROW_HIGHLIGHT_ACTIVATED = 'ROW_HIGHLIGHT_ACTIVATED';\nexport const ROW_HIGHLIGHT_DEACTIVATED = 'ROW_HIGHLIGHT_DEACTIVATED';\nexport const ROW_FOCUSED_INTERNAL = 'ROW_FOCUSED_INTERNAL';\nexport const NOW_LIST_ROW_FOCUSED = 'NOW_LIST#ROW_FOCUSED';\nexport const ROW_BLUR_INTERNAL = 'ROW_BLUR_INTERNAL';\n","import { t } from 'sn-translate';\n\nexport const NOW_LIST_CONTEXT_ACTION_CLICKED =\n\t'NOW_LIST#CONTEXT_ACTION_CLICKED';\nexport const NOW_LIST_COLUMN_HEADER_ACTION_BUTTON_CLICKED =\n\t'NOW_LIST#COLUMN_HEADER_ACTION_BUTTON_CLICKED';\nexport const CELL_ACTION_KEBAB_BUTTON_CLICKED =\n\t'CELL_ACTION_KEBAB_BUTTON_CLICKED';\n\n/** @type {ActionType} */\nexport const COLUMN_HEADER_ACTION = 'columnHeaderAction';\n/** @type {ActionType} */\nexport const CELL_ACTION = 'cellAction';\n/** @type {ActionType} */\nexport const ROW_ACTION = 'rowAction';\n\nexport const ACTION_POPOVER_TYPE_COLUMN_HEADER = 'columnHeader';\nexport const ACTION_POPOVER_TYPE_ROW_AND_CELL = 'rowAndCell';\n\nexport const NOW_LIST_ACTIONS_POPOVER_DISMISS_ON_SCROLL = true;\nexport const NOW_LIST_ACTIONS_POPOVER_HIDETAIL = true;\n\nexport const GROUP_ACTION = 'groupAction';\n\nexport const COLUMN_HEADER_ACTION_LABEL = t('Column header actions');\nexport const CELL_ACTION_LABEL = t('Cell actions');\nexport const ROW_ACTION_LABEL = t('Row actions');\n\n/**\n * @param {ActionType | CustomActionType | undefined} typeOfAction\n * @returns {string}\n */\nexport const getActionLabel = (typeOfAction) => {\n\tswitch (typeOfAction) {\n\t\tcase COLUMN_HEADER_ACTION:\n\t\t\treturn COLUMN_HEADER_ACTION_LABEL;\n\t\tcase CELL_ACTION:\n\t\t\treturn CELL_ACTION_LABEL;\n\t\tcase ROW_ACTION:\n\t\t\treturn ROW_ACTION_LABEL;\n\t\tdefault:\n\t\t\treturn '';\n\t}\n};\n","import find from 'lodash/find';\nimport findKey from 'lodash/findKey';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport { t } from 'sn-translate';\n\nimport { NOW_BUTTON_ICONIC_CLICKED } from '../../resources/constants';\nimport cellSelectors from '../../shared/utils/selectors/cellSelectors';\nimport columnSelectors from '../../shared/utils/selectors/columnSelectors';\nimport rowSelectors from '../../shared/utils/selectors/rowSelectors';\nimport { POPOVER_DROPDOWN_ITEM_CLICKED } from '../../shared/views/popover/popoverListContent/constants';\nimport { getColumnHeaderIndexes } from '../columnBehavior/columnBehavior';\nimport {\n\tNOW_LIST_OPEN_POPOVER_INTERNAL,\n\tNOW_LIST_CLOSE_POPOVER_INTERNAL,\n} from '../popoverBehavior/constants';\nimport { ROW_HIGHLIGHT_ACTIVATED } from '../rowBehavior/constants';\nimport { GROUP_ACTION_CLICKED } from '../rowGroupingBehavior/constants';\n\nimport {\n\tACTION_POPOVER_TYPE_COLUMN_HEADER,\n\tACTION_POPOVER_TYPE_ROW_AND_CELL,\n\tCELL_ACTION,\n\tCELL_ACTION_LABEL,\n\tCOLUMN_HEADER_ACTION,\n\tNOW_LIST_COLUMN_HEADER_ACTION_BUTTON_CLICKED,\n\tNOW_LIST_CONTEXT_ACTION_CLICKED,\n\tNOW_LIST_ACTIONS_POPOVER_DISMISS_ON_SCROLL,\n\tROW_ACTION,\n\tROW_ACTION_LABEL,\n\tNOW_LIST_ACTIONS_POPOVER_HIDETAIL,\n\tCELL_ACTION_KEBAB_BUTTON_CLICKED,\n} from './constants';\n\nexport const contextActionsBehaviorHelpers = {\n\t/**\n\t * This function will take the event and get the context associated with where the event occurred.\n\t *\n\t * @param {*} event Dom event\n\t * @param {RowDefinitions} rowDefinitions\n\t * @param {RowSelectionState} rowSelectionState\n\t * @param {ProcessedColumnDefinitions} processedColumnDefinitions\n\t *\n\t * @returns {Context | undefined}\n\t */\n\tgetContext(\n\t\tevent,\n\t\trowDefinitions,\n\t\trowSelectionState,\n\t\tprocessedColumnDefinitions\n\t) {\n\t\t/** @type {Array<HTMLElement>} */\n\t\tconst path = event.path ?? event.composedPath();\n\n\t\t/** @type {HTMLElement | undefined} */\n\t\tconst cellElement = path.find(\n\t\t\t(element) =>\n\t\t\t\tthis.isValidTableBodyCell(element) ||\n\t\t\t\tthis.isValidTableHeaderCell(element)\n\t\t);\n\n\t\treturn this.getContextObject(\n\t\t\tcellElement,\n\t\t\trowDefinitions,\n\t\t\trowSelectionState,\n\t\t\tprocessedColumnDefinitions\n\t\t);\n\t},\n\n\t/**\n\t * @param {HTMLElement} element\n\t * @returns {boolean}\n\t */\n\tisValidTableBodyCell(element) {\n\t\treturn (\n\t\t\telement.tagName === 'TD' &&\n\t\t\t!isEmpty(element.dataset.columnKey) &&\n\t\t\t!isEmpty(element.dataset.rowPath)\n\t\t);\n\t},\n\n\t/**\n\t * @param {HTMLElement} element\n\t * @returns {boolean}\n\t */\n\tisValidTableHeaderCell(element) {\n\t\treturn element.tagName === 'TH' && !isEmpty(element.dataset.columnKey);\n\t},\n\n\t/**\n\t * get array of all selected rows or current row based on selection state\n\t *\n\t * @param {Row} row current row\n\t * @param {object} selectedRows\n\t * @returns {Row[]} context rows\n\t */\n\tgetContextRows(row, selectedRows) {\n\t\tconst rowKey = rowSelectors.getRowKey(row);\n\t\tconst isRowChecked = rowSelectors.isRowChecked(selectedRows, rowKey);\n\t\treturn isRowChecked ? Object.values(selectedRows || {}) : [row];\n\t},\n\n\t/**\n\t * This function will return the context object based on the cell element passed in\n\t *\n\t * @param {HTMLElement | undefined} cellElement cell html element\n\t * @param {RowDefinitions} rowDefinitions\n\t * @param {RowSelectionState} rowSelectionState\n\t * @param {ProcessedColumnDefinitions} processedColumnDefinitions\n\t * @param {ActionType | CustomActionType | undefined} typeOfAction\n\t *\n\t * @returns {Context | undefined}\n\t */\n\tgetContextObject(\n\t\tcellElement,\n\t\trowDefinitions,\n\t\trowSelectionState,\n\t\tprocessedColumnDefinitions,\n\t\ttypeOfAction = undefined\n\t) {\n\t\tif (!cellElement) return undefined;\n\n\t\t// Get data attributes\n\t\tconst cellKey = get(cellElement, 'dataset.columnKey', '');\n\t\tconst rowPath = get(cellElement, 'dataset.rowPath', '');\n\t\tconst rowIndex = get(cellElement, 'dataset.rowIndex', '');\n\t\tconst groupIndex = get(cellElement, 'dataset.groupIndex', '');\n\t\tconst fullRowPath = groupIndex\n\t\t\t? `[${groupIndex}].children${rowPath}`\n\t\t\t: rowPath;\n\n\t\t/** @type {Row} */\n\t\tconst row = get(rowDefinitions, `rows${fullRowPath}`);\n\t\tconst cell = get(row, `cells.${cellKey}`); // this ignores special cells since they don't have keys\n\n\t\tif (!(row || cell)) return undefined;\n\n\t\tconst rows = this.getContextRows(\n\t\t\trow,\n\t\t\trowSelectionState?.selectedRows || []\n\t\t);\n\t\tconst columnPath = get(\n\t\t\tprocessedColumnDefinitions,\n\t\t\t`columnMap.${cellKey}`\n\t\t);\n\t\tconst column = get(\n\t\t\tprocessedColumnDefinitions.processedColumnDefinitions,\n\t\t\tcolumnPath\n\t\t);\n\n\t\treturn {\n\t\t\tgroupIndex: groupIndex ? Number(groupIndex) : undefined,\n\t\t\trow,\n\t\t\trowIndex: rowIndex ? Number(rowIndex) : undefined,\n\t\t\trows,\n\t\t\tcell,\n\t\t\tcolumn,\n\t\t\ttypeOfAction,\n\t\t};\n\t},\n\n\t/**\n\t * Return a the context object of a column header cell.\n\t * @param {HTMLElement | undefined} headerCellElement cell html element\n\t * @param {*} processedColumnDefinitions\n\t * @param {*} typeOfAction\n\t * @returns {Context | undefined}\n\n\t */\n\tgetColumnContextObject(\n\t\theaderCellElement,\n\t\tprocessedColumnDefinitions,\n\t\ttypeOfAction = undefined\n\t) {\n\t\tif (!headerCellElement) return undefined;\n\n\t\t// Get data attributes\n\t\tconst colIndex = get(headerCellElement, 'dataset.navCol', '');\n\n\t\tconst columnPath = findKey(processedColumnDefinitions.columnMap, (\n\t\t\t/** @type {string} */ value\n\t\t) => {\n\t\t\treturn value === `columns[${colIndex}]`;\n\t\t});\n\t\tconst column = find(\n\t\t\tprocessedColumnDefinitions.processedColumnDefinitions.columns,\n\t\t\t{ key: columnPath }\n\t\t);\n\n\t\treturn {\n\t\t\tcolumn,\n\t\t\ttypeOfAction,\n\t\t};\n\t},\n\t/**\n\t * Based on location of event, returns whether the context dropdown should display, and if so what type it is\n\t *\n\t * @param {*} event Dom event\n\t * @param {Context} context\n\t * @param {RowDefinitions} rowDefinitions\n\t * @param {ProcessedColumnDefinitions} processedColumnDefinitions\n\t *\n\t * @returns {'rowAndCell' | 'columnHeader' | null} type of action popover\n\t */\n\tgetActionPopoverType(\n\t\tevent,\n\t\tcontext,\n\t\trowDefinitions,\n\t\tprocessedColumnDefinitions\n\t) {\n\t\tconst { column, cell } = context;\n\t\tconst { hasColumnHeaderActions, isSpecialColumn } = columnSelectors;\n\t\tconst { hasRowActionsWithItems } = rowSelectors;\n\t\tconst path = event.path ?? event.composedPath();\n\n\t\tconst isThead = path.some(\n\t\t\t(/** @type {HTMLElement}*/ element) => element.tagName === 'THEAD'\n\t\t);\n\n\t\tconst hasActionsForRowCellPopover =\n\t\t\thasRowActionsWithItems(rowDefinitions) ||\n\t\t\t!isEmpty(\n\t\t\t\tcontextActionsBehaviorHelpers.getCellActions(\n\t\t\t\t\tcell,\n\t\t\t\t\tcolumn,\n\t\t\t\t\tprocessedColumnDefinitions\n\t\t\t\t)\n\t\t\t);\n\n\t\tif (isThead && column) {\n\t\t\tif (hasColumnHeaderActions(column) && !isSpecialColumn(column)) {\n\t\t\t\treturn 'columnHeader';\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t} else if (!isThead && hasActionsForRowCellPopover) {\n\t\t\treturn 'rowAndCell';\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t},\n\n\t/**\n\t * Gets cell actions for a given cell, defaulting to cell actions defined at the col level and overriding with cell level actions if applicable\n\t *\n\t * @param {CellType | undefined} cell\n\t * @param {ProcessedColumn | undefined} column\n\t * @param {ProcessedColumnDefinitions} processedColumnDefinitions\n\t *\n\t * @returns {Array<CellActionItem> | undefined} actions to display in popover\n\t */\n\tgetCellActions(cell, column, processedColumnDefinitions) {\n\t\tif (!cell || !column) return undefined;\n\t\telse {\n\t\t\treturn cellSelectors.hasCellActions(cell)\n\t\t\t\t? cell?.actions\n\t\t\t\t: columnSelectors.getCellActionsFromProcessedCols(\n\t\t\t\t\t\tprocessedColumnDefinitions,\n\t\t\t\t\t\tcolumn\n\t\t\t\t  );\n\t\t}\n\t},\n\n\t/**\n\t * Helper for updating state with correct position for context menu\n\t *\n\t * @param {HTMLElement} host\n\t * @param {*} event\n\t * @param {*} updateState\n\t */\n\tupdateFloatingElementPosition(host, event, updateState) {\n\t\tconst scrollContainer = host.shadowRoot?.querySelector(\n\t\t\t'.scroll-container'\n\t\t);\n\n\t\tif (!scrollContainer) return;\n\n\t\t// Need to account for current scrolled content so popover is positioned\n\t\t// correctly in scroll container\n\t\tconst floatingTargetX = event.offsetX + scrollContainer.scrollLeft;\n\t\tconst floatingTargetY = event.offsetY + scrollContainer.scrollTop;\n\n\t\tupdateState({\n\t\t\tpath: 'rowContextPosition',\n\t\t\tvalue: {\n\t\t\t\tx: floatingTargetX,\n\t\t\t\ty: floatingTargetY,\n\t\t\t},\n\t\t\toperation: 'set',\n\t\t});\n\t},\n\n\t/**\n\t * Helper for finding floating target element in the dom\n\t *\n\t * @param {*} host\n\t * @returns {HTMLElement}\n\t */\n\tgetFloatingTargetElement(host) {\n\t\treturn host.shadowRoot?.querySelector(\n\t\t\t'[data-test-id=\"floatingTarget\"]'\n\t\t);\n\t},\n\n\t/**\n\t * Helper for getting all the items for the row and cell dropdown, appropriately sectioned\n\t *\n\t * @param {Context} context\n\t * @param {RowDefinitions} rowDefinitions\n\t * @param {ProcessedColumnDefinitions} processedColumnDefinitions\n\t * @param {Array<RowActionItem>} rowActions\n\t * @param {boolean} disableActions\n\t *\n\t * @returns {Array<PopoverContentListItem>} actionsItems\n\t */\n\tgetRowAndCellDropdownItems(\n\t\tcontext,\n\t\trowDefinitions,\n\t\tprocessedColumnDefinitions,\n\t\trowActions = [],\n\t\tdisableActions = false\n\t) {\n\t\tconst { cell, column } = context;\n\n\t\tconst dropdownItems = [];\n\n\t\tconst groomedCellActions = contextActionsBehaviorHelpers.getCellActions(\n\t\t\tcell,\n\t\t\tcolumn,\n\t\t\tprocessedColumnDefinitions\n\t\t);\n\n\t\tif (isEmpty(rowActions)) {\n\t\t\t// rowActions will be undefined when this is called for right click context menu\n\t\t\trowActions = rowSelectors.getRowActionsItems(rowDefinitions);\n\t\t}\n\n\t\tconst hasCellActions = !isEmpty(groomedCellActions);\n\t\tconst hasRowActions = rowSelectors.hasRowActionsWithItems(\n\t\t\trowDefinitions\n\t\t);\n\n\t\tif (hasCellActions) {\n\t\t\tconst cellActionsSection = {\n\t\t\t\tid: CELL_ACTION,\n\t\t\t\tlabel: CELL_ACTION_LABEL,\n\t\t\t\tchildren: groomedCellActions,\n\t\t\t};\n\n\t\t\tdropdownItems.push(cellActionsSection);\n\t\t}\n\n\t\tif (hasRowActions) {\n\t\t\tconst excludedActions = rowSelectors.getExcludedActionsForRow(\n\t\t\t\tcontext.row\n\t\t\t);\n\t\t\tconst rowActionExcludes = new Set(excludedActions);\n\n\t\t\t/** @type {Array<PopoverContentListItem>} */\n\t\t\tconst rowActionsDropdownItems = rowActions.map((rowAction) => {\n\t\t\t\tdisableActions === true &&\n\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t'disableActions is deprecated. Use excludedActions instead.'\n\t\t\t\t\t);\n\t\t\t\treturn {\n\t\t\t\t\tdisabled:\n\t\t\t\t\t\trowActionExcludes.has(rowAction.id) || disableActions,\n\t\t\t\t\t...rowAction,\n\t\t\t\t};\n\t\t\t});\n\n\t\t\trowActionExcludes.clear();\n\n\t\t\tconst rowActionsSection = {\n\t\t\t\tid: ROW_ACTION,\n\t\t\t\tlabel: ROW_ACTION_LABEL,\n\t\t\t\tchildren: rowActionsDropdownItems,\n\t\t\t};\n\n\t\t\tdropdownItems.push(rowActionsSection);\n\t\t}\n\n\t\treturn dropdownItems;\n\t},\n};\n\n/* EFFECTS */\n\n/**\n * dispatched when any form of action button is clicked,\n * including row action icon buttons, row actions overflow menu, column header actions context menu, and cell actions context menu.\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nconst actionButtonClickedHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { type, context },\n\t\t\tpayload,\n\t\t},\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst { column, typeOfAction } = context || {};\n\n\t// when this action is triggered from expand/collapsing groups (not a context action) or reference qualifier field during cell editing, ignore so that it is handled elsewhere\n\t// DEF0604811 - both type and typeOfAction are undefined when action is triggered from sn-record-reference-connected during cell editing\n\tif ((type === undefined && typeOfAction === undefined) || type) return;\n\n\tif (typeOfAction === COLUMN_HEADER_ACTION) {\n\t\tconst columnHeaderIndexes = getColumnHeaderIndexes(payload);\n\t\tconst eventPayload = { column, ...columnHeaderIndexes };\n\t\tdispatch(NOW_LIST_COLUMN_HEADER_ACTION_BUTTON_CLICKED, eventPayload);\n\t\tupdateState({\n\t\t\tactiveColumnKey: context.column.key,\n\t\t});\n\t}\n\n\tif (!payload?.actionItem) {\n\t\t// kebab buttons for row overflows\n\t\tdispatch(NOW_LIST_OPEN_POPOVER_INTERNAL, payload);\n\n\t\tconst rowKey = get(context, 'row.key');\n\t\tif (rowKey) {\n\t\t\t// dispatch action to highlight row when row action overflow popover is open\n\t\t\tdispatch(ROW_HIGHLIGHT_ACTIVATED, {\n\t\t\t\trowKey,\n\t\t\t});\n\t\t}\n\t} else {\n\t\t// row actions icon buttons\n\t\tconst actionName = payload?.actionItem?.action;\n\t\tif (actionName) {\n\t\t\tdispatch(actionName, payload);\n\t\t}\n\t\tdispatch(NOW_LIST_CONTEXT_ACTION_CLICKED, payload);\n\t}\n};\n\n/**\n * dispatched when any list context action is clicked, through an item in actions popover dropdown list or a row actions icon button\n *\n * @param {Coeffects<Props, State>} coeffects\n */\n\nconst listActionClickedHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { actionItem, context },\n\t\t},\n\t\tproperties: { rowDefinitions },\n\t\tdispatch,\n\t} = coeffects;\n\n\tconst item = {\n\t\tactionItem,\n\t\tcontext,\n\t};\n\n\t// for actions that originate from the right click rowAndCell context menu,\n\t// update context to include the type of action\n\t// FIXME: this logic will break if there is a cell action in this cell with the same id as a row action. maybe something we should prohibit in the schema\n\tif (!context?.typeOfAction) {\n\t\tconst rowActions = rowSelectors.getRowActionsItems(rowDefinitions);\n\n\t\tif (\n\t\t\tfind(\n\t\t\t\trowActions,\n\t\t\t\t(/** @type {RowActionItem} */ a) => a.id === actionItem.id\n\t\t\t)\n\t\t) {\n\t\t\tcontext.typeOfAction = ROW_ACTION;\n\t\t} else {\n\t\t\tcontext.typeOfAction = CELL_ACTION;\n\t\t}\n\t}\n\n\tif (actionItem?.action) dispatch(actionItem.action, item);\n\n\tdispatch(NOW_LIST_CLOSE_POPOVER_INTERNAL);\n\tdispatch(NOW_LIST_CONTEXT_ACTION_CLICKED, {\n\t\tactionItem,\n\t\tcontext,\n\t});\n};\n\n/**\n * Event handler for right click context menu mouse event.\n *\n * @param {Coeffects<Props,State>} coeffects\n * @returns\n */\nconst contextMenuEventHandler = (coeffects) => {\n\tlet ariaLabel;\n\tconst {\n\t\tupdateState,\n\t\taction: {\n\t\t\tpayload: { event },\n\t\t},\n\t\tproperties: { rowDefinitions },\n\t\thost,\n\t\tdispatch,\n\t\tstate: { processedColumnDefinitions, rowSelectionState },\n\t} = coeffects;\n\n\tconst context = contextActionsBehaviorHelpers.getContext(\n\t\tevent,\n\t\trowDefinitions,\n\t\trowSelectionState,\n\t\tprocessedColumnDefinitions\n\t);\n\n\tif (!context) return;\n\n\tconst actionPopoverType = contextActionsBehaviorHelpers.getActionPopoverType(\n\t\tevent,\n\t\tcontext,\n\t\trowDefinitions,\n\t\tprocessedColumnDefinitions\n\t);\n\n\tif (!actionPopoverType) return;\n\n\tevent.preventDefault();\n\n\tcontextActionsBehaviorHelpers.updateFloatingElementPosition(\n\t\thost,\n\t\tevent,\n\t\tupdateState\n\t);\n\n\tlet popoverItems;\n\n\tif (actionPopoverType === ACTION_POPOVER_TYPE_COLUMN_HEADER) {\n\t\tif (!context?.column) return;\n\t\tariaLabel = t('Column actions for {0}', context.column.label);\n\t\tpopoverItems = columnSelectors.getColumnHeaderActionsFromProcessedCols(\n\t\t\tprocessedColumnDefinitions,\n\t\t\tcontext?.column\n\t\t);\n\t\tupdateState({\n\t\t\tactiveColumnKey: context.column.key,\n\t\t});\n\t} else if (actionPopoverType === ACTION_POPOVER_TYPE_ROW_AND_CELL) {\n\t\tpopoverItems = contextActionsBehaviorHelpers.getRowAndCellDropdownItems(\n\t\t\tcontext,\n\t\t\trowDefinitions,\n\t\t\tprocessedColumnDefinitions\n\t\t);\n\t\tariaLabel = getCellActionAriaLabel(popoverItems);\n\t}\n\n\tdispatch(NOW_LIST_OPEN_POPOVER_INTERNAL, {\n\t\tpopoverTarget: contextActionsBehaviorHelpers.getFloatingTargetElement(\n\t\t\thost\n\t\t),\n\t\tpopoverDefinition: {\n\t\t\tconfig: {\n\t\t\t\tariaLabel,\n\t\t\t\tdismissOnScroll: NOW_LIST_ACTIONS_POPOVER_DISMISS_ON_SCROLL,\n\t\t\t\thideTail: NOW_LIST_ACTIONS_POPOVER_HIDETAIL,\n\t\t\t},\n\t\t\tcontent: {\n\t\t\t\tactions: popoverItems,\n\t\t\t},\n\t\t},\n\t\tcontext,\n\t});\n};\n\n/**\n * Event handler for right click context menu mouse event within data cells\n *\n * @param {Coeffects<Props,State>} coeffects\n * @returns\n */\nconst cellActionMenuClickedHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { context, popoverTarget, typeOfAction },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { rowDefinitions },\n\t\tstate: { processedColumnDefinitions },\n\t} = coeffects;\n\n\tif (typeOfAction !== CELL_ACTION) return;\n\n\tif (!context || !processedColumnDefinitions || !rowDefinitions) return;\n\n\tconst popoverItems = contextActionsBehaviorHelpers.getRowAndCellDropdownItems(\n\t\tcontext,\n\t\trowDefinitions,\n\t\tprocessedColumnDefinitions\n\t);\n\n\tif (popoverItems.length <= 0) return;\n\n\tconst ariaLabel = getCellActionAriaLabel(popoverItems);\n\n\tdispatch(NOW_LIST_OPEN_POPOVER_INTERNAL, {\n\t\tcontext,\n\t\tpopoverDefinition: {\n\t\t\tconfig: {\n\t\t\t\tariaLabel,\n\t\t\t\tdismissOnScroll: NOW_LIST_ACTIONS_POPOVER_DISMISS_ON_SCROLL,\n\t\t\t\thideTail: NOW_LIST_ACTIONS_POPOVER_HIDETAIL,\n\t\t\t},\n\t\t\tcontent: {\n\t\t\t\tactions: popoverItems,\n\t\t\t},\n\t\t},\n\t\tpopoverTarget: popoverTarget,\n\t});\n};\n\nconst contextActionsBehavior = {\n\tname: 'contextActionsBehavior',\n\n\t/**@type {ActionHandlers<Props,State>} */\n\tactionHandlers: {\n\t\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\t\teffect: actionButtonClickedHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[GROUP_ACTION_CLICKED]: {\n\t\t\teffect: listActionClickedHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[POPOVER_DROPDOWN_ITEM_CLICKED]: {\n\t\t\teffect: listActionClickedHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[CELL_ACTION_KEBAB_BUTTON_CLICKED]: {\n\t\t\teffect: cellActionMenuClickedHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['contextmenu'],\n\t\t\teffect: contextMenuEventHandler,\n\t\t},\n\t],\n};\n\n/**\n * Gets aria label based on popover items\n * @param {Array<PopoverContentListItem>} popoverItems\n * @returns string\n */\nconst getCellActionAriaLabel = (popoverItems) => {\n\tconst labels = [];\n\tfor (const item of popoverItems) {\n\t\tlabels.push(item.label);\n\t}\n\n\treturn labels.join(', ');\n};\n\nexport default contextActionsBehavior;\n","export const NOW_LIST_CUSTOM_COMPONENT_ACTION_DISPATCHED =\n\t'NOW_LIST#CUSTOM_COMPONENT_ACTION_DISPATCHED';\nexport const NOW_LIST_CUSTOM_COMPONENT_ACTION_DISPATCHED_INTERNAL =\n\t'NOW_LIST#CUSTOM_COMPONENT_ACTION_DISPATCHED_INTERNAL';\n/** @type {CustomActionType} */\nexport const CUSTOM_ROW_ACTION_DISPATCH = 'customRowActionDispatch';\n/** @type {CustomActionType} */\nexport const CUSTOM_CELL_ACTION_DISPATCH = 'customCellActionDispatch';\n/** @type {CustomActionType} */\nexport const CUSTOM_COLUMN_FILTER_ACTION_DISPATCH =\n\t'customColumnFilterActionDispatch';\nexport const ROW_ELEMENT_PATH = 'td[data-row-path]';\n","import get from 'lodash/get';\n\n/**\n * This function will return the context object based on the source element passed in\n *\n * @param {HTMLElement} rowElement custom row html element\n * @param {RowDefinitions} rowDefinitions\n * @param {CustomActionType} typeOfAction\n *\n * @returns {Context | undefined}\n */\nexport const getCustomRowContextObject = (\n\trowElement,\n\trowDefinitions,\n\ttypeOfAction\n) => {\n\tif (!rowElement) return;\n\n\t// Get data attributes\n\tconst rowPath = get(rowElement, 'dataset.rowPath', '');\n\tconst rowIndex = get(rowElement, 'dataset.rowIndex', '');\n\tconst groupIndex = get(rowElement, 'dataset.groupIndex', '');\n\tconst fullRowPath = groupIndex\n\t\t? `[${groupIndex}].children${rowPath}`\n\t\t: rowPath;\n\n\t/** @type {Row} */\n\tconst row = get(rowDefinitions, `rows${fullRowPath}`);\n\tif (!row) return;\n\n\treturn {\n\t\tgroupIndex: groupIndex ? Number(groupIndex) : undefined,\n\t\trow,\n\t\trowIndex: rowIndex ? Number(rowIndex) : undefined,\n\t\ttypeOfAction,\n\t};\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport difference from 'lodash/difference';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport isEqual from 'lodash/isEqual';\n\nimport { customComponentType } from '../../shared/utils/customLoader';\nimport columnSelectors from '../../shared/utils/selectors/columnSelectors';\nimport overlaySelectors from '../../shared/utils/selectors/overlaySelectors';\nimport popoverSelectors from '../../shared/utils/selectors/popoverSelectors';\nimport rowSelectors from '../../shared/utils/selectors/rowSelectors';\nimport { getColumnOperatorFromState } from '../columnFilteringBehavior/columnFilteringBehavior';\nimport { contextActionsBehaviorHelpers } from '../contextActionsBehavior/contextActionsBehavior';\n\nimport {\n\tCUSTOM_ROW_ACTION_DISPATCH,\n\tNOW_LIST_CUSTOM_COMPONENT_ACTION_DISPATCHED,\n\tNOW_LIST_CUSTOM_COMPONENT_ACTION_DISPATCHED_INTERNAL,\n\tCUSTOM_CELL_ACTION_DISPATCH,\n\tROW_ELEMENT_PATH,\n\tCUSTOM_COLUMN_FILTER_ACTION_DISPATCH,\n} from './constants';\nimport { getCustomRowContextObject } from './utils';\n\nconst ADDED_EVENT_LISTENERS = 'addedEventListeners';\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_DISCONNECTED,\n} = actionTypes;\n\nconst {\n\thasColumnFilterCustomValueEditorEmittedActions,\n\tgetColumnFilterCustomValueEditorEmittedActions,\n\tgetSelectedOperator,\n} = columnSelectors;\n\nconst {\n\thasCustomPopoverEmittedActions,\n\tgetCustomPopoverEmittedActions,\n} = popoverSelectors;\n\nconst {\n\thasCustomOverlayEmittedActions,\n\tgetCustomOverlayEmittedActions,\n} = overlaySelectors;\n\nconst {\n\thasCustomCellEmittedActions,\n\tgetCustomCellEmittedActions,\n} = rowSelectors;\n\n/**\n * Dispatch actions when dynamic action gets dispatched from custom cell\n * @param  {*} event\n * @param {Dispatch} dispatch\n */\nexport const callbackListener = (event, dispatch) => {\n\tconst {\n\t\tdetail: { meta },\n\t\tsrcElement,\n\t} = event;\n\tconst context = get(meta, 'appended.fromCustomSource', false);\n\tif (context) {\n\t\tevent.stopPropagation();\n\t\tdispatch(NOW_LIST_CUSTOM_COMPONENT_ACTION_DISPATCHED_INTERNAL, {\n\t\t\tcontext,\n\t\t\tsrcElement,\n\t\t\tevent,\n\t\t});\n\t}\n};\n\n/**\n * Helper effect for processing custom component actions. Since the actions are set up on bootstrap,\n * the original effect will not have access to processedColumns, so we will dispatch from the listener and\n * handle it here where we will have access to the updated state\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const customComponentActionDispatchEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tevent: { detail },\n\t\t\t\tcontext,\n\t\t\t\tsrcElement,\n\t\t\t},\n\t\t},\n\t\tproperties: { rowDefinitions },\n\t\tstate,\n\t\tdispatch,\n\t} = coeffects;\n\n\tconst { processedColumnDefinitions, rowSelectionState } = state;\n\n\t/** @type {Context | {}} */\n\tlet cellContext = {};\n\tlet columnFilteringPayload = {};\n\n\tif (context == customComponentType.CELL) {\n\t\tconst cellElement = srcElement.closest(\n\t\t\t'td[data-row-path][data-column-key]'\n\t\t);\n\t\tconst contextObject = contextActionsBehaviorHelpers.getContextObject(\n\t\t\tcellElement,\n\t\t\trowDefinitions,\n\t\t\trowSelectionState,\n\t\t\tprocessedColumnDefinitions,\n\t\t\tCUSTOM_CELL_ACTION_DISPATCH\n\t\t);\n\n\t\tif (contextObject) {\n\t\t\tcellContext = contextObject;\n\t\t}\n\t} else if (context === customComponentType.ROW) {\n\t\tconst rowElement = srcElement.closest(ROW_ELEMENT_PATH);\n\t\tconst customRowContextObject = getCustomRowContextObject(\n\t\t\trowElement,\n\t\t\trowDefinitions,\n\t\t\tCUSTOM_ROW_ACTION_DISPATCH\n\t\t);\n\n\t\tif (customRowContextObject) {\n\t\t\tcellContext = customRowContextObject;\n\t\t}\n\t} else if (context === customComponentType.COLUMN_FILTER_VALUE_INPUT) {\n\t\tconst headerCellElement = srcElement.closest(\n\t\t\t'td[data-nav-row][data-nav-col]'\n\t\t);\n\n\t\tconst contextObject = contextActionsBehaviorHelpers.getColumnContextObject(\n\t\t\theaderCellElement,\n\t\t\tprocessedColumnDefinitions,\n\t\t\tCUSTOM_COLUMN_FILTER_ACTION_DISPATCH\n\t\t);\n\n\t\tif (contextObject) cellContext = contextObject;\n\n\t\tconst column = contextObject?.column;\n\t\tif (column) {\n\t\t\tconst oldOperator = getSelectedOperator(column);\n\t\t\tconst newOperator = getColumnOperatorFromState(column, state);\n\t\t\t// the new value is emitted as a part of detail's payload\n\t\t\tcolumnFilteringPayload = {\n\t\t\t\toldOperator,\n\t\t\t\tnewOperator,\n\t\t\t};\n\t\t}\n\t}\n\n\tdispatch(NOW_LIST_CUSTOM_COMPONENT_ACTION_DISPATCHED, {\n\t\tcontext,\n\t\tcellContext,\n\t\tdetail,\n\t\tcolumnFilteringPayload,\n\t});\n};\n\n/**\n * Gets emitted actions for rowDefinitions, popoverDefinition and overlayDefinition\n * @param {RowDefinitions} rowDefinitions\n * @param {ColumnDefinitions} columnDefinitions\n * @param {PopoverDefinition} popoverDefinition\n * @param {OverlayDefinition} overlayDefinition\n */\nexport const getEmittedActions = (\n\trowDefinitions,\n\tcolumnDefinitions,\n\tpopoverDefinition,\n\toverlayDefinition\n) => {\n\tlet customEmittedActions = null;\n\n\tif (hasCustomCellEmittedActions(rowDefinitions)) {\n\t\tcustomEmittedActions = getCustomCellEmittedActions(rowDefinitions);\n\t} else if (\n\t\thasColumnFilterCustomValueEditorEmittedActions(columnDefinitions)\n\t) {\n\t\tcustomEmittedActions = getColumnFilterCustomValueEditorEmittedActions(\n\t\t\tcolumnDefinitions\n\t\t);\n\t} else if (hasCustomPopoverEmittedActions(popoverDefinition)) {\n\t\tcustomEmittedActions = getCustomPopoverEmittedActions(\n\t\t\tpopoverDefinition\n\t\t);\n\t} else if (hasCustomOverlayEmittedActions(overlayDefinition)) {\n\t\tcustomEmittedActions = getCustomOverlayEmittedActions(\n\t\t\toverlayDefinition\n\t\t);\n\t}\n\treturn customEmittedActions;\n};\n\n/**\n * Add event listeners to host element on component load if custom cell actions exist\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const componentBootstrappedHandler = (coeffects) => {\n\tconst {\n\t\tproperties: {\n\t\t\tcolumnDefinitions,\n\t\t\tpopoverDefinition,\n\t\t\trowDefinitions,\n\t\t\toverlayDefinition,\n\t\t},\n\t\thost,\n\t\tupdateState,\n\t} = coeffects;\n\n\tupdateState({\n\t\tpath: ADDED_EVENT_LISTENERS,\n\t\tvalue: {},\n\t\toperation: 'set',\n\t\tshouldRender: false,\n\t});\n\tconst customEmittedActions = getEmittedActions(\n\t\trowDefinitions,\n\t\tcolumnDefinitions,\n\t\tpopoverDefinition,\n\t\toverlayDefinition\n\t);\n\tupdateEventListeners(customEmittedActions, host, coeffects, true);\n};\n\n/**\n * Add/Remove event listeners for actions to host element\n * @param {Array<string>} actionNames\n * @param {*} host\n * @param {Coeffects<Props, State>} coeffects\n * @param {boolean} shouldAddListener\n */\nexport const updateEventListeners = (\n\tactionNames,\n\thost,\n\tcoeffects,\n\tshouldAddListener\n) => {\n\tconst { state, updateState, dispatch } = coeffects;\n\tif (!isEmpty(actionNames)) {\n\t\tconst nodeElement = host?.shadowRoot;\n\t\tif (nodeElement) {\n\t\t\tconst eventListeners = get(state, ADDED_EVENT_LISTENERS) || {};\n\t\t\tconst uniqueActionNames = [...new Set(actionNames)];\n\t\t\tlet listenersUpdated = false;\n\t\t\tuniqueActionNames.forEach((actionName) => {\n\t\t\t\tif (shouldAddListener) {\n\t\t\t\t\tif (!eventListeners[actionName]) {\n\t\t\t\t\t\tlistenersUpdated = true;\n\t\t\t\t\t\tconst listener = (/** @type {any} */ event) =>\n\t\t\t\t\t\t\tcallbackListener(event, dispatch);\n\t\t\t\t\t\tnodeElement.addEventListener(actionName, listener);\n\t\t\t\t\t\teventListeners[actionName] = listener;\n\t\t\t\t\t}\n\t\t\t\t} else if (eventListeners[actionName]) {\n\t\t\t\t\tlistenersUpdated = true;\n\t\t\t\t\tnodeElement.removeEventListener(\n\t\t\t\t\t\tactionName,\n\t\t\t\t\t\teventListeners[actionName]\n\t\t\t\t\t);\n\t\t\t\t\tdelete eventListeners[actionName];\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (listenersUpdated) {\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: ADDED_EVENT_LISTENERS,\n\t\t\t\t\tvalue: eventListeners,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n};\n\n/**\n * Create or change event listeners on host elements when definition changes\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const propertyChangedHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue },\n\t\t},\n\t\thost,\n\t} = coeffects;\n\tif (\n\t\t![\n\t\t\t'rowDefinitions',\n\t\t\t'columnDefinitions',\n\t\t\t'popoverDefinition',\n\t\t\t'overlayDefinition',\n\t\t].includes(name)\n\t)\n\t\treturn;\n\tlet customCellEmittedActionsNew = null;\n\tlet customCellEmittedActionsOld = null;\n\tif (name === 'rowDefinitions') {\n\t\tcustomCellEmittedActionsNew = getCustomCellEmittedActions(value);\n\t\tcustomCellEmittedActionsOld = getCustomCellEmittedActions(\n\t\t\tpreviousValue\n\t\t);\n\t} else if (name === 'columnDefinitions') {\n\t\tcustomCellEmittedActionsNew = getColumnFilterCustomValueEditorEmittedActions(\n\t\t\tvalue\n\t\t);\n\t\tcustomCellEmittedActionsOld = getColumnFilterCustomValueEditorEmittedActions(\n\t\t\tpreviousValue\n\t\t);\n\t} else if (name === 'popoverDefinition') {\n\t\tcustomCellEmittedActionsNew = getCustomPopoverEmittedActions(value);\n\t\tcustomCellEmittedActionsOld = getCustomPopoverEmittedActions(\n\t\t\tpreviousValue\n\t\t);\n\t} else if (name === 'overlayDefinition') {\n\t\tcustomCellEmittedActionsNew = getCustomOverlayEmittedActions(value);\n\t\tcustomCellEmittedActionsOld = getCustomOverlayEmittedActions(\n\t\t\tpreviousValue\n\t\t);\n\t}\n\tif (isEqual(customCellEmittedActionsNew, customCellEmittedActionsOld))\n\t\treturn;\n\n\tconst customCellEmittedActionsToRemove = difference(\n\t\tcustomCellEmittedActionsOld,\n\t\tcustomCellEmittedActionsNew\n\t);\n\tconst customCellEmittedActionsToAdd = difference(\n\t\tcustomCellEmittedActionsNew,\n\t\tcustomCellEmittedActionsOld\n\t);\n\n\tupdateEventListeners(\n\t\tcustomCellEmittedActionsToRemove,\n\t\thost,\n\t\tcoeffects,\n\t\tfalse\n\t);\n\tupdateEventListeners(customCellEmittedActionsToAdd, host, coeffects, true);\n};\n\n/**\n * Remove event listeners from host element on component disconnect\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const componentDisconnectedHandler = (coeffects) => {\n\tconst {\n\t\tproperties: {\n\t\t\tcolumnDefinitions,\n\t\t\trowDefinitions,\n\t\t\tpopoverDefinition,\n\t\t\toverlayDefinition,\n\t\t},\n\t\thost,\n\t} = coeffects;\n\tconst combinedCustomCellEmittedActions = getEmittedActions(\n\t\trowDefinitions,\n\t\tcolumnDefinitions,\n\t\tpopoverDefinition,\n\t\toverlayDefinition\n\t);\n\tupdateEventListeners(\n\t\tcombinedCustomCellEmittedActions,\n\t\thost,\n\t\tcoeffects,\n\t\tfalse\n\t);\n};\n\nconst customCellDynamicActionBehavior = {\n\tname: 'customCellDynamicActionBehavior',\n\t/**@type {ActionHandlers<Props,State>} */\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: propertyChangedHandler,\n\t\t},\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: componentBootstrappedHandler,\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: {\n\t\t\teffect: componentDisconnectedHandler,\n\t\t},\n\t\t[NOW_LIST_CUSTOM_COMPONENT_ACTION_DISPATCHED_INTERNAL]: {\n\t\t\teffect: customComponentActionDispatchEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n\nexport default customCellDynamicActionBehavior;\n","/**\n * Contains the effects that are directly called as a result of an action or\n * event occurring\n */\n\nimport {\n\tactivateFocusTrap,\n\tdeactivateFocusTrap,\n\tfindActiveElement,\n\tshadowQuerySelectorAll,\n} from '@devsnc/sn-list-commons';\nimport { findTabbableNodes } from '@servicenow/library-enhanced-utils';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { ACTIONABLE_MESSAGE_BUTTON_CLASS } from '../../shared/views/actionableMessage/constants';\n\nimport {\n\tALLOW_TABLE_FOCUS,\n\tENTER_CELL_TRAP,\n\tEXIT_CELL_TRAP,\n\tKEY,\n\tKEY_MAP,\n\tMOVE_FOCUS,\n\tRESET_BEHAVIOR,\n\tUPDATE_TABLE_REF,\n} from './constants';\nimport {\n\tfocusCellNode,\n\tfocusPopoverTarget,\n\tgetBehaviorOptions,\n\tgetBehaviorState,\n\tgetCellFromTableRef,\n\tgetNextRowFromTableRef,\n\tgetRowFromTableRef,\n\thandleBulkFocusClick,\n\thandleCellMove,\n\thandleRowMove,\n\tsetBehaviorState,\n\tsetNewCellFocus,\n\tsetNewRowFocus,\n\tshouldTriggerRerenderDefaultFn,\n} from './keyboardNavHelpers';\nimport { getComponentPath, querySelector } from './utils';\n\n/**\n * Handles setting up the behavior state when the component is initialized.\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const tableRenderedEffect = (coeffects) => {\n\tconst { action, dispatch, host, state, updateState } = coeffects;\n\tconst { isRendered, incomingRender } = getBehaviorState(state);\n\tconst { tableSelector } = getBehaviorOptions(action);\n\n\tif (!isRendered || incomingRender) {\n\t\tconst isTableEmpty = isEmpty(\n\t\t\tget(state, 'properties.rowDefinitions.rows', true)\n\t\t);\n\t\tconst overlayWithHeaders = get(\n\t\t\tstate,\n\t\t\t'properties.overlayDefinition.showColumnHeaders',\n\t\t\tfalse\n\t\t);\n\t\tconst tableNode = querySelector(tableSelector, host);\n\n\t\tlet isTableRendered = false;\n\t\tif (isTableEmpty || overlayWithHeaders) {\n\t\t\tconst tableHeadNode = tableNode?.querySelector('thead');\n\t\t\tisTableRendered = !!tableHeadNode?.children.length;\n\t\t} else {\n\t\t\tconst tableBodyNode = tableNode?.querySelector('tbody');\n\t\t\tisTableRendered = !!tableBodyNode?.children.length;\n\t\t}\n\n\t\tif (isTableRendered) {\n\t\t\t/**\n\t\t\t * If any grouped row buttons are found within the table, then we\n\t\t\t * can conclude that the table has grouped rows. This is used for\n\t\t\t * allowing the user to focus on rows to expand or collapse them.\n\t\t\t */\n\t\t\tconst hasGroupRowButton = !!tableNode?.querySelector(\n\t\t\t\t'.group-row-toggle'\n\t\t\t);\n\n\t\t\t// If the behavior is already initialized, update the table\n\t\t\t// reference without moving the current focus.\n\t\t\tif (incomingRender) {\n\t\t\t\tdispatch(UPDATE_TABLE_REF, { shouldFocusFirst: false });\n\n\t\t\t\tsetBehaviorState(updateState, {\n\t\t\t\t\tincomingRender: false,\n\t\t\t\t\thasGroupedRows: hasGroupRowButton,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// If this is the first time the table has been rendered, we can\n\t\t\t// fully initialize the behavior\n\t\t\telse {\n\t\t\t\tdispatch(RESET_BEHAVIOR);\n\n\t\t\t\tsetBehaviorState(updateState, {\n\t\t\t\t\tisRendered: true,\n\t\t\t\t\thasGroupedRows: hasGroupRowButton,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n};\n\n/**\n * Clears out the focused cell, trapped cell, and refreshes the table reference\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const resetBehaviorEffect = (coeffects) => {\n\tconst { dispatch, state, updateState } = coeffects;\n\tconst { focusedCell, trappedCell, focusedCellActions } = getBehaviorState(\n\t\tstate\n\t);\n\n\tif (focusedCell && !trappedCell && !focusedCellActions?.exitCellTrap) {\n\t\tfocusedCell.node.removeAttribute('tabindex');\n\t\tsetBehaviorState(updateState, { focusedCell: undefined });\n\t}\n\tif (trappedCell && !focusedCell) {\n\t\tdeactivateFocusTrap('tableCell');\n\t\tsetBehaviorState(updateState, { trappedCell: undefined });\n\t}\n\n\tdispatch(UPDATE_TABLE_REF);\n};\n\n/**\n * Stores references to the table, row, cell, and tabbable nodes in the same structure as the table itself\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const updateTableRefEffect = (coeffects) => {\n\tconst { action, dispatch, host, updateState } = coeffects;\n\tconst { tableSelector, rowSelectors, cellSelectors } = getBehaviorOptions(\n\t\taction\n\t);\n\tconst {\n\t\tpayload: { shouldFocusFirst = true },\n\t} = action;\n\tconst tableHost = querySelector(tableSelector, host);\n\tif (!tableHost) return;\n\n\t/** @type {TableRef} */\n\tconst newTable = { node: tableHost, rows: [] };\n\n\tconst rows = tableHost.querySelectorAll(rowSelectors);\n\n\t/**\n\t * The rowSpanMap is used to handle cells with a rowspan > 0, where they\n\t * carry over into the next row and leave a pointer.\n\t */\n\t/** @type {Map<number, {pointerCell: TableCell, remainingLength: number}>} */\n\tconst rowSpanMap = new Map();\n\n\tfor (let rowIndex = 0; rowIndex < rows.length; rowIndex++) {\n\t\t/** @type {TableRow} */\n\t\tconst row = {\n\t\t\tnode: rows[rowIndex],\n\t\t\ttype: rows[rowIndex].parentElement.tagName,\n\t\t\tcells: [],\n\t\t};\n\n\t\tconst cells = rows[rowIndex].querySelectorAll(cellSelectors);\n\n\t\tfor (let cellIndex = 0; cellIndex < cells.length; cellIndex++) {\n\t\t\t/**\n\t\t\t * Before adding a cell node, we need to check and see if the cell\n\t\t\t * in the row above had a rowspan > 1, and add a pointer if so\n\t\t\t */\n\t\t\tconst rowSpanObj = rowSpanMap.get(row.cells.length);\n\t\t\tif (rowSpanObj) {\n\t\t\t\trow.cells.push(rowSpanObj.pointerCell);\n\t\t\t\trowSpanObj.remainingLength--;\n\n\t\t\t\tif (rowSpanObj.remainingLength === 0) {\n\t\t\t\t\trowSpanMap.delete(row.cells.length - 1);\n\t\t\t\t} else {\n\t\t\t\t\trowSpanMap.set(row.cells.length - 1, rowSpanObj);\n\t\t\t\t}\n\n\t\t\t\t// In order to not skip over cells, we don't increment the loop\n\t\t\t\tcellIndex--;\n\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst colSpan = get(cells[cellIndex], 'colSpan', 1);\n\t\t\tconst rowSpan = get(cells[cellIndex], 'rowSpan', 1);\n\n\t\t\tconst cell = {\n\t\t\t\tnode: cells[cellIndex],\n\t\t\t};\n\n\t\t\trow.cells.push(cell);\n\n\t\t\t// Store the cell's location for reference when the node is clicked\n\t\t\tcell.node.setAttribute('data-nav-row', rowIndex);\n\t\t\tcell.node.setAttribute('data-nav-col', row.cells.length - 1);\n\n\t\t\tconst pointerCell = {\n\t\t\t\t...cell,\n\t\t\t\tpointer: {\n\t\t\t\t\trowIndex: rowIndex,\n\t\t\t\t\tcellIndex: row.cells.length - 1,\n\t\t\t\t\trowSpan,\n\t\t\t\t\tcolSpan,\n\t\t\t\t},\n\t\t\t};\n\n\t\t\t/**\n\t\t\t * If the colspan of the cell is > 1, we can add the pointer\n\t\t\t * cells right after\n\t\t\t */\n\t\t\tif (colSpan !== 1) {\n\t\t\t\tfor (let x = 1; x < colSpan; x++) {\n\t\t\t\t\trow.cells.push(pointerCell);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * If the current cell has a rowspan > 1, we need to save it for\n\t\t\t * reference in the following rows where it will have an effect\n\t\t\t */\n\t\t\tif (rowSpan !== 1) {\n\t\t\t\trowSpanMap.set(pointerCell.pointer.cellIndex, {\n\t\t\t\t\tpointerCell,\n\t\t\t\t\tremainingLength: rowSpan - 1,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * If there are less nodes in this row than other rows, we have to\n\t\t\t * make sure that we don't miss any rowspans from the previous rows\n\t\t\t */\n\t\t\tlet rowSpanItem = rowSpanMap.get(row.cells.length);\n\t\t\twhile (rowSpanItem) {\n\t\t\t\trow.cells.push(rowSpanItem.pointerCell);\n\t\t\t\trowSpanItem.remainingLength--;\n\n\t\t\t\tif (rowSpanItem.remainingLength === 0) {\n\t\t\t\t\trowSpanMap.delete(row.cells.length - 1);\n\t\t\t\t} else {\n\t\t\t\t\trowSpanMap.set(row.cells.length - 1, rowSpanItem);\n\t\t\t\t}\n\n\t\t\t\trowSpanItem = rowSpanMap.get(row.cells.length);\n\t\t\t}\n\t\t}\n\n\t\tnewTable.rows.push(row);\n\t}\n\n\tsetBehaviorState(updateState, {\n\t\ttableRef: newTable,\n\t});\n\n\tif (shouldFocusFirst) dispatch(ALLOW_TABLE_FOCUS);\n};\n\n/**\n * Adds the ability for the first cell in the table to receive focus if we have cellToFocus it sets the focus to that, so that\n * the table can be reached via tabbing\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const allowTableFocusEffect = (coeffects) => {\n\tconst {\n\t\tstate,\n\t\tupdateState,\n\t\thost,\n\t\tdispatch,\n\t\tproperties: { cellEditingEnabled },\n\t} = coeffects;\n\tconst behaviorState = getBehaviorState(state);\n\tconst { tableRef, cellToFocus, focusedCellActions } = behaviorState;\n\tlet { focusedCell } = behaviorState;\n\n\t/**\n\t * Actions to perform for internal cell element changes\n\t */\n\tif (focusedCellActions?.exitCellTrap) {\n\t\tdispatch(EXIT_CELL_TRAP);\n\t\treturn;\n\t}\n\n\tif (cellToFocus) {\n\t\tconst { columnKey, cellIndex, rowPath, rowIndex } = cellToFocus;\n\t\tlet domQuery = '';\n\n\t\tif (columnKey) domQuery += `[data-column-key=\"${columnKey}\"]`;\n\t\telse if (cellIndex) domQuery += `[data-nav-col=\"${cellIndex}\"]`;\n\n\t\tif (rowPath != null) {\n\t\t\tdomQuery += `[data-row-path=\"${rowPath}\"]`;\n\t\t} else if (rowIndex != null) {\n\t\t\tdomQuery += `[data-nav-row=\"${rowIndex}\"]`;\n\t\t}\n\t\t/**\n\t\t * @type {HTMLElement|null|undefined} type - description\n\t\t */\n\t\tconst node = host.shadowRoot?.querySelector(domQuery);\n\t\tif (node)\n\t\t\tfocusedCell = {\n\t\t\t\trowIndex: rowIndex ?? Number(node.getAttribute('data-nav-row')),\n\t\t\t\tcellIndex: Number(node.getAttribute('data-nav-col')),\n\t\t\t\tnode: node,\n\t\t\t};\n\t}\n\tif (!focusedCell) {\n\t\tconst firstCellRef = getCellFromTableRef(tableRef, 0, 0);\n\t\tif (!firstCellRef?.node) return;\n\n\t\tfocusedCell = { rowIndex: 0, cellIndex: 0, node: firstCellRef.node };\n\t}\n\n\tfocusedCell.node.tabIndex = 0;\n\tif (cellToFocus) {\n\t\tfocusCellNode(focusedCell.node, coeffects);\n\t}\n\tsetBehaviorState(updateState, {\n\t\tfocusedCell,\n\t\tcellToFocus: undefined,\n\t});\n\n\t/**\n\t * Enter into cell trap by checking the flag\n\t */\n\tif (cellToFocus?.enterCellTrap) {\n\t\tdispatch(ENTER_CELL_TRAP);\n\t\tif (cellEditingEnabled)\n\t\t\thandleBulkFocusClick(coeffects, focusedCell.node);\n\t}\n};\n\n/**\n * Handles directional navigation when a relevant key is pressed\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const moveFocusEffect = (coeffects) => {\n\tconst { state } = coeffects;\n\tconst { focusedRow } = getBehaviorState(state);\n\n\t/**\n\t * The logic for navigating the table depends on if a row or a cell is\n\t * currently focused.\n\t */\n\tif (focusedRow) {\n\t\thandleRowMove(coeffects);\n\t} else {\n\t\thandleCellMove(coeffects);\n\t}\n};\n\n/**\n * Traps focus to within currently selected cell\n * And applies focus to the specified element\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const enterCellTrapEffect = ({ state, updateState, action }) => {\n\tconst {\n\t\ttableRef,\n\t\tfocusedCell: { rowIndex, cellIndex },\n\t} = getBehaviorState(state);\n\n\tconst { targetNode } = action.payload;\n\n\tconst { tabbableSelectors, directFocusSelectors } = getBehaviorOptions(\n\t\taction\n\t);\n\n\tconst cell = getCellFromTableRef(tableRef, rowIndex, cellIndex);\n\n\tif (!cell) return;\n\n\t/**\n\t * Find all tabbable elements within the cell, making sure to exclude any\n\t * elements that are disabled, as they can't receive browser focus.\n\t * @type {Array<HTMLElement>}\n\t */\n\tconst tabbables = shadowQuerySelectorAll(\n\t\tcell.node,\n\t\ttabbableSelectors\n\t).filter((/** @type {HTMLElement} */ el) => !el.hasAttribute('disabled'));\n\n\tif (!tabbables || !tabbables.length) {\n\t\tif (cell.node.classList.contains('html')) {\n\t\t\tconst scrollableContent = querySelector(\n\t\t\t\t'.html-cell-content',\n\t\t\t\tcell.node\n\t\t\t);\n\t\t\tif (scrollableContent) {\n\t\t\t\tscrollableContent.tabIndex = -1;\n\t\t\t\tscrollableContent.focus();\n\t\t\t\tsetBehaviorState(updateState, {\n\t\t\t\t\ttrappedCell: scrollableContent,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn;\n\t}\n\n\ttabbables.forEach((node) => {\n\t\tnode.tabIndex = 0;\n\t});\n\n\tconst tabbableNodes = findTabbableNodes(cell.node).filter(\n\t\t(/** @type {HTMLElement} */ el) => el !== cell.node\n\t);\n\n\tactivateFocusTrap('tableCell', cell.node, {\n\t\tfirstElement: tabbableNodes[0],\n\t\tlastElement: tabbableNodes[tabbableNodes.length - 1],\n\t});\n\n\tlet nodeToFocus = tabbableNodes[0];\n\n\tif (targetNode) {\n\t\tnodeToFocus = targetNode;\n\t} else {\n\t\tdirectFocusSelectors?.forEach((selector) => {\n\t\t\tconst node = querySelector(selector, cell.node);\n\t\t\tif (node && tabbableNodes.includes(node)) nodeToFocus = node;\n\t\t});\n\t}\n\n\tnodeToFocus.focus();\n\n\tsetBehaviorState(updateState, { trappedCell: cell });\n};\n\n/**\n * Removes focus from within the cell and returns it to the table cell\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const exitCellTrapEffect = ({ state, updateState, action }) => {\n\tconst { trappedCell } = getBehaviorState(state);\n\tif (!trappedCell) return;\n\n\tconst {\n\t\tpayload: { shouldFocus = true },\n\t} = action;\n\n\tdeactivateFocusTrap('tableCell');\n\n\tif (shouldFocus) trappedCell.node.focus();\n\n\tsetBehaviorState(updateState, { trappedCell: undefined });\n};\n\n/**\n * Refreshes the focus of the cell to update the tabbable elements\n * to account for elements being removed/added\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const refreshCellTrapEffect = ({ state, updateState }) => {\n\tconst {\n\t\ttableRef,\n\t\tfocusedCell: { rowIndex, cellIndex },\n\t} = getBehaviorState(state);\n\n\tconst cell = getCellFromTableRef(tableRef, rowIndex, cellIndex);\n\tif (!cell) return;\n\n\tconst tabbableNodes = findTabbableNodes(cell.node).filter(\n\t\t(/** @type {HTMLElement} */ el) => el !== cell.node\n\t);\n\n\t// This method will deactivate the current focus trap and initialize it again\n\tactivateFocusTrap('tableCell', cell.node, {\n\t\tfirstElement: tabbableNodes[0],\n\t\tlastElement: tabbableNodes[tabbableNodes.length - 1],\n\t});\n\n\tsetBehaviorState(updateState, { trappedCell: cell });\n};\n\n/**\n * Handle a key being pressed by conditionally dispatching the move focus event\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const keydownHandlerEffect = ({\n\taction,\n\tdispatch,\n\tstate,\n\tupdateState,\n}) => {\n\tconst { trappedCell, tableRef, focusedCell, focusedRow } = getBehaviorState(\n\t\tstate\n\t);\n\tconst {\n\t\tdirectFocusSelectors,\n\t\ttabbableSelectors,\n\t\tpopoverTriggerClasses,\n\t} = getBehaviorOptions(action);\n\n\tconst event = get(action, 'payload.event', {});\n\tconst path = event.composedPath ? event.composedPath() : event.path;\n\tconst componentPath = getComponentPath(path);\n\n\tconst fromTable = componentPath.includes(tableRef.node);\n\n\tconst cell =\n\t\tfocusedCell &&\n\t\tgetCellFromTableRef(\n\t\t\ttableRef,\n\t\t\tfocusedCell.rowIndex,\n\t\t\tfocusedCell.cellIndex\n\t\t);\n\n\t// Find if anywhere along the component path the current focused\n\t// element contains a popover and prevent up/down default movement\n\tconst isPopoverFocused = componentPath.some((node) => {\n\t\tif (!node.classList) return false;\n\n\t\treturn popoverTriggerClasses?.some((/** @type {string} */ popover) => {\n\t\t\treturn node.classList.contains(popover);\n\t\t});\n\t});\n\n\tconst isInputFocused = componentPath.some((node) => {\n\t\tif (!node.classList) return false;\n\n\t\treturn node.classList.contains('now-input');\n\t});\n\n\tconst isHTMLScrollCell = componentPath.some((node) => {\n\t\tif (!node.classList) return false;\n\n\t\treturn (\n\t\t\tnode.classList.contains('html') &&\n\t\t\tnode.getAttribute('aria-description')\n\t\t);\n\t});\n\n\tconst row = focusedRow && getRowFromTableRef(tableRef, focusedRow.rowIndex);\n\tconst nextRow = getNextRowFromTableRef(tableRef, focusedRow, focusedCell);\n\n\tif (!cell && !row) return;\n\n\tlet preventDefault = true;\n\tlet stopPropagation = true;\n\n\tswitch (event.key) {\n\t\tcase KEY.LEFT:\n\t\tcase KEY.ARROW_LEFT:\n\t\tcase KEY.RIGHT:\n\t\tcase KEY.ARROW_RIGHT:\n\t\t\t/** Left/Right nav inside a form input (eg in column filtering)\n\t\t\t * focused inside the input and not nav to a new cell\n\t\t\t */\n\t\t\tif (isInputFocused) {\n\t\t\t\tpreventDefault = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t// eslint-disable-next-line no-fallthrough\n\t\tcase KEY.UP:\n\t\tcase KEY.ARROW_UP:\n\t\tcase KEY.DOWN:\n\t\tcase KEY.ARROW_DOWN:\n\t\t\tif (isHTMLScrollCell) {\n\t\t\t\tpreventDefault = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\t/** Up/Down input causes a dropdown element to open so we\n\t\t\t *  want to prevent cell movement when the dropdown is focused\n\t\t\t */\n\t\t\tif (\n\t\t\t\tevent.key === KEY.ARROW_DOWN &&\n\t\t\t\tnextRow &&\n\t\t\t\tnextRow.node?.id?.toLocaleLowerCase().includes('loader')\n\t\t\t)\n\t\t\t\tbreak;\n\t\t\tif (isPopoverFocused) break;\n\t\t\tif (fromTable) {\n\t\t\t\tif (trappedCell)\n\t\t\t\t\tdispatch(EXIT_CELL_TRAP, { shouldFocus: false });\n\n\t\t\t\tdispatch(MOVE_FOCUS, {\n\t\t\t\t\tkey: KEY_MAP[event.key],\n\t\t\t\t\tshiftKey: event.shiftKey,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tpreventDefault = false;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase KEY.HOME:\n\t\tcase KEY.END:\n\t\tcase KEY.PAGE_UP:\n\t\tcase KEY.PAGE_DOWN:\n\t\t\tif (isHTMLScrollCell) {\n\t\t\t\tpreventDefault = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (fromTable) {\n\t\t\t\tif (trappedCell)\n\t\t\t\t\tdispatch(EXIT_CELL_TRAP, { shouldFocus: false });\n\n\t\t\t\tdispatch(MOVE_FOCUS, {\n\t\t\t\t\tkey: KEY_MAP[event.key],\n\t\t\t\t\tshiftKey: event.shiftKey,\n\t\t\t\t});\n\t\t\t}\n\t\t\tbreak;\n\t\tcase KEY.SPACEBAR:\n\t\tcase KEY.SPACE:\n\t\tcase KEY.ENTER:\n\t\t\tif (\n\t\t\t\t!trappedCell &&\n\t\t\t\tcell?.node === focusedCell.node &&\n\t\t\t\tfromTable &&\n\t\t\t\t!event.shiftKey\n\t\t\t) {\n\t\t\t\tif (cell.node.classList.contains('html')) {\n\t\t\t\t\tconst scrollableCell = cell.node.querySelector(\n\t\t\t\t\t\t'.html-cell-content'\n\t\t\t\t\t);\n\t\t\t\t\tif (\n\t\t\t\t\t\tscrollableCell &&\n\t\t\t\t\t\tscrollableCell.scrollHeight > cell.node.clientHeight\n\t\t\t\t\t) {\n\t\t\t\t\t\tcell.node.setAttribute(\n\t\t\t\t\t\t\t'aria-description',\n\t\t\t\t\t\t\t'This cell is scrollable. Press enter and then use up and down arrow keys to scroll. Press Esc to exit cell.'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tdispatch(ENTER_CELL_TRAP);\n\t\t\t} else {\n\t\t\t\tpreventDefault = false;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase KEY.ESC:\n\t\tcase KEY.ESCAPE:\n\t\t\tif (trappedCell) {\n\t\t\t\tif (cell?.node && cell.node.classList.contains('html')) {\n\t\t\t\t\tconst scrollableCell = cell.node.querySelector(\n\t\t\t\t\t\t'.html-cell-content'\n\t\t\t\t\t);\n\t\t\t\t\tif (\n\t\t\t\t\t\tscrollableCell &&\n\t\t\t\t\t\tscrollableCell.scrollHeight > cell.node.clientHeight\n\t\t\t\t\t) {\n\t\t\t\t\t\tcell.node.removeAttribute('aria-description');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tdispatch(EXIT_CELL_TRAP);\n\t\t\t} else {\n\t\t\t\tpreventDefault = false;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase KEY.TAB:\n\t\t\tif (!trappedCell) {\n\t\t\t\tconst tabbables = shadowQuerySelectorAll(\n\t\t\t\t\ttableRef.node,\n\t\t\t\t\ttabbableSelectors\n\t\t\t\t);\n\n\t\t\t\tif (!tabbables || !tabbables.length) return;\n\n\t\t\t\tfor (let k = 0; k < tabbables.length; k++) {\n\t\t\t\t\t/**\n\t\t\t\t\t * Actionable message button should be focusable all the time.\n\t\t\t\t\t * */\n\t\t\t\t\tif (\n\t\t\t\t\t\ttabbables[k].nodeName === 'BUTTON' &&\n\t\t\t\t\t\ttabbables[k]\n\t\t\t\t\t\t\t.getRootNode()\n\t\t\t\t\t\t\t.host.classList.contains(\n\t\t\t\t\t\t\t\tACTIONABLE_MESSAGE_BUTTON_CLASS\n\t\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\ttabbables[k].tabIndex = -1;\n\t\t\t\t\ttabbables[k].setAttribute('data-manualtabindex', 'true');\n\t\t\t\t}\n\n\t\t\t\tif (cell) {\n\t\t\t\t\tsetNewCellFocus({\n\t\t\t\t\t\tnewFocus: focusedCell,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tdirectFocusSelectors,\n\t\t\t\t\t\tshouldFocus: false,\n\t\t\t\t\t});\n\t\t\t\t} else if (row) {\n\t\t\t\t\tsetNewRowFocus({\n\t\t\t\t\t\tnewFocus: focusedRow,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tshouldFocus: false,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tpreventDefault = false;\n\t\t\tstopPropagation = false;\n\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tpreventDefault = false;\n\t\t\tstopPropagation = false;\n\t\t\tbreak;\n\t}\n\n\tif (preventDefault) event.preventDefault();\n\tif (stopPropagation) event.stopPropagation();\n};\n\n/**\n * Responds to a mouse click within the now-list element\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const innerClickHandlerEffect = (coeffects) => {\n\tconst {\n\t\taction,\n\t\tstate,\n\t\tproperties: { cellEditingEnabled },\n\t} = coeffects;\n\n\tif (state?.popoverState?.popoverOpen) return;\n\n\tconst { trappedCell } = getBehaviorState(state);\n\tconst event = get(action, 'payload.event', {});\n\tconst path = event.composedPath ? event.composedPath() : event.path;\n\n\tconst activeElement = findActiveElement();\n\tconst selectedActiveElement = path.find((\n\t\t/** @type {HTMLElement} */ node\n\t) => {\n\t\t/** Now-date-time has an icon as part of the input that isn't selectable in the dom (an active element).\n\t\t * Clicking this icon when the focus is on another cell opens the popover, but doesn't set focus to the now-date-time component\n\t\t * Including this as an edge case for users who use both mouse and keyboard nav. Generic solution TBD.\n\t\t */\n\n\t\tif (node.tagName === 'NOW-DATE-TIME') {\n\t\t\tnode.focus();\n\t\t\treturn true;\n\t\t}\n\t\t// if an actual element isn't selected, activeElement will return document.body.\n\t\treturn node === activeElement && node !== document.body;\n\t});\n\n\tconst node = path.find((/** @type {HTMLElement} */ node) => {\n\t\treturn ['TH', 'TD'].includes(node.nodeName);\n\t});\n\n\tif (!node) return;\n\n\t/**\n\t * If the user clicks on the group row button of a row that already has\n\t * focus, then the focus does not need to change.\n\t */\n\tif (\n\t\tnode.querySelector('.group-row-toggle') &&\n\t\tnode.parentElement === findActiveElement()\n\t) {\n\t\treturn;\n\t}\n\n\t// Do nothing if the cell is already focused or trapped\n\tif (node === findActiveElement() || node === trappedCell?.node) return;\n\n\tfocusCellNode(node, coeffects, selectedActiveElement);\n\tif (cellEditingEnabled) handleBulkFocusClick(coeffects, node);\n};\n\n/**\n * Responds to a mouse click outside of the now-list element\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const outerClickHandlerEffect = ({ action, dispatch, state }) => {\n\tconst { tableRef, trappedCell } = getBehaviorState(state);\n\tconst { hoistedElements } = getBehaviorOptions(action);\n\tconst event = get(action, 'payload.event', {});\n\tconst path = event.composedPath ? event.composedPath() : event.path;\n\tconst componentPath = getComponentPath(path);\n\n\tconst clickFromTable = componentPath.includes(tableRef.node);\n\tconst clickFromHoist = hoistedElements\n\t\t? componentPath.some((elem) => hoistedElements.includes(elem.nodeName))\n\t\t: false;\n\n\t/**\n\t * If focus is currently trapped to a cell, we should only exit the trap if\n\t * the click is both outside the table and also not from a hoisted element,\n\t * such as a popover.\n\t */\n\tif (trappedCell && !clickFromTable && !clickFromHoist) {\n\t\tdispatch(EXIT_CELL_TRAP, { shouldFocus: false });\n\t}\n};\n\n/**\n * Clears the current cell focus and updates the table reference to handle changes to the component’s input\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const propChangeEffect = (coeffects) => {\n\tconst { action, dispatch } = coeffects;\n\tconst {\n\t\tshouldTriggerRerenderFn = shouldTriggerRerenderDefaultFn,\n\t} = getBehaviorOptions(action);\n\n\tif (shouldTriggerRerenderFn(coeffects)) {\n\t\tdispatch(RESET_BEHAVIOR);\n\t}\n};\n\n/**\n * Refocuses a cell or element inside of a cell if one was the target of a closed popover\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const popoverClosedEffect = (coeffects) => {\n\tconst {\n\t\taction,\n\t\tproperties: { cellEditingEnabled },\n\t} = coeffects;\n\tconst {\n\t\tpayload: { popoverTarget, popoverOpen },\n\t} = action;\n\n\tif (popoverOpen) return;\n\n\tif (popoverTarget && !['TH', 'TD'].includes(popoverTarget.nodeName)) {\n\t\tfocusPopoverTarget(coeffects, popoverTarget);\n\t\treturn;\n\t} else {\n\t\tif (popoverTarget.ariaDescribedBy.startsWith('cell-editing-label')) {\n\t\t\tfocusCellNode(popoverTarget, coeffects);\n\t\t} else focusPopoverTarget(coeffects);\n\t}\n\n\tif (cellEditingEnabled) handleBulkFocusClick(coeffects, popoverTarget);\n};\n/**\n * Prompt the behavior to update the table reference on the next render,\n * used when a change that will affect the table is incoming. For example, this\n * is used for responding to grouped row expand/collapse.\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const updateKeyboardNavEffect = ({ updateState }) => {\n\tsetBehaviorState(updateState, { incomingRender: true });\n};\n\n/**\n * Focuses the current focused cell or row as stored in the state.\n * This effect is used when focus is called on the list.\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const focusListEffect = (coeffects) => {\n\tconst {\n\t\taction,\n\t\tstate,\n\t\tupdateState,\n\t\tproperties: { virtualizedScrollEnabled },\n\t} = coeffects;\n\tconst { directFocusSelectors } = getBehaviorOptions(action);\n\tconst { focusedCell, focusedRow } = getBehaviorState(state);\n\n\tif (focusedCell) {\n\t\tsetNewCellFocus({\n\t\t\tnewFocus: focusedCell,\n\t\t\tupdateState,\n\t\t\tdirectFocusSelectors,\n\t\t\tshouldFocus: true,\n\t\t\tvirtualizedScrollEnabled,\n\t\t});\n\t} else if (focusedRow) {\n\t\tsetNewRowFocus({\n\t\t\tnewFocus: focusedRow,\n\t\t\tupdateState,\n\t\t\tshouldFocus: true,\n\t\t});\n\t}\n};\n","/**\n * Defines the Seismic behavior object, including the initial state, event\n * handlers, and actions handlers\n */\n\nimport { actionTypes } from '@servicenow/ui-core';\n\nimport {\n\tALLOW_TABLE_FOCUS,\n\tENTER_CELL_TRAP,\n\tEXIT_CELL_TRAP,\n\tREFRESH_CELL_TRAP,\n\tUPDATE_KEYBOARD_NAV,\n\tKEYBOARD_NAV_BEHAVIOR_NAME,\n\tMOVE_FOCUS,\n\tPOPOVER_CLOSED,\n\tRESET_BEHAVIOR,\n\tUPDATE_TABLE_REF,\n\tEMPTY_BULK_FOCUS,\n\tFOCUS_LIST,\n} from './constants';\nimport {\n\tallowTableFocusEffect,\n\tenterCellTrapEffect,\n\texitCellTrapEffect,\n\trefreshCellTrapEffect,\n\tupdateKeyboardNavEffect,\n\tinnerClickHandlerEffect,\n\tkeydownHandlerEffect,\n\tmoveFocusEffect,\n\touterClickHandlerEffect,\n\tpopoverClosedEffect,\n\tpropChangeEffect,\n\tresetBehaviorEffect,\n\ttableRenderedEffect,\n\tupdateTableRefEffect,\n\tfocusListEffect,\n} from './keyboardNavEffects';\n\nconst { COMPONENT_PROPERTY_CHANGED, COMPONENT_TREE_RENDERED } = actionTypes;\n\nexport default {\n\tname: KEYBOARD_NAV_BEHAVIOR_NAME,\n\tinitialState: {\n\t\tisRendered: false,\n\t\thasGroupedRows: false,\n\t\tincomingRender: false,\n\t\ttableRef: { rows: [] },\n\t\tfocusedCell: undefined,\n\t\tcellToFocus: undefined,\n\t\tbulkFocus: EMPTY_BULK_FOCUS,\n\t\ttrappedCell: undefined,\n\t\tfocusedRow: undefined,\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['keydown'],\n\t\t\teffect: keydownHandlerEffect,\n\t\t},\n\t\t{\n\t\t\tevents: ['click'],\n\t\t\teffect: innerClickHandlerEffect,\n\t\t},\n\t\t{\n\t\t\tevents: ['contextmenu'],\n\t\t\teffect: innerClickHandlerEffect,\n\t\t},\n\t\t{\n\t\t\tevents: ['dblclick'],\n\t\t\teffect: innerClickHandlerEffect,\n\t\t},\n\t\t{\n\t\t\tevents: ['click'],\n\t\t\teffect: outerClickHandlerEffect,\n\t\t\ttarget: document,\n\t\t},\n\t],\n\tactionHandlers: {\n\t\t[COMPONENT_TREE_RENDERED]: {\n\t\t\teffect: tableRenderedEffect,\n\t\t},\n\t\t[RESET_BEHAVIOR]: {\n\t\t\teffect: resetBehaviorEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[UPDATE_TABLE_REF]: {\n\t\t\teffect: updateTableRefEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[ALLOW_TABLE_FOCUS]: {\n\t\t\teffect: allowTableFocusEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[MOVE_FOCUS]: {\n\t\t\teffect: moveFocusEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[ENTER_CELL_TRAP]: {\n\t\t\teffect: enterCellTrapEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[EXIT_CELL_TRAP]: {\n\t\t\teffect: exitCellTrapEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[REFRESH_CELL_TRAP]: {\n\t\t\teffect: refreshCellTrapEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: propChangeEffect,\n\t\t},\n\t\t[POPOVER_CLOSED]: {\n\t\t\teffect: popoverClosedEffect,\n\t\t},\n\t\t[UPDATE_KEYBOARD_NAV]: {\n\t\t\teffect: updateKeyboardNavEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[FOCUS_LIST]: {\n\t\t\teffect: focusListEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n","import { selector as tabbableSelectors } from '@devsnc/sn-list-commons';\n\nimport behavior from './keyboardNavBehavior';\nimport { shouldTriggerRerender, focus } from './keyboardNavHelpers';\n\n/** @type {{behavior: any; options: KeyboardNavBehaviorOptions}} */\nconst keyboardNavBehavior = {\n\tbehavior,\n\toptions: {\n\t\ttableSelector: '>>> .now-list-table',\n\t\trowSelectors: 'tr:not(.is-hidden)',\n\t\tcellSelectors: 'th, td',\n\t\ttabbableSelectors: `[data-manualtabindex='true'], ${tabbableSelectors}`,\n\t\tpopoverTriggerClasses: [\n\t\t\t'now-dropdown',\n\t\t\t'now-date-time-input',\n\t\t\t'now-popover',\n\t\t\t'now-select',\n\t\t],\n\t\tdirectFocusSelectors: [\n\t\t\t'.row-selection-checkbox >>> input',\n\t\t\t'.row-drag now-button-iconic >>> button',\n\t\t\t'[data-test-id=\"groupToggle\"] >>> button',\n\t\t\t'button[data-html-group-toggle=\"true\"]',\n\t\t\t'.column-filtering-button-iconic >>> button',\n\t\t\t'now-input >>> input',\n\t\t\t'now-date-time >>> now-input-date-time >>> now-input >>> input',\n\t\t],\n\t\tscrollContainerSelector: '.scroll-container',\n\t\trerenderProperties: [\n\t\t\t'columnDefinitions',\n\t\t\t'rowDefinitions',\n\t\t\t'overlayDefinition',\n\t\t\t'popoverDefinition',\n\t\t],\n\t\thoistedElements: [\n\t\t\t'NOW-LIST-POPOVER-CELL-EDIT-CONTENT',\n\t\t\t'NOW-LIST-POPOVER-LIST-CONTENT',\n\t\t\t'NOW-LIST-POPOVER-TEXT-CONTENT',\n\t\t\t'NOW-LIST-POPOVER-CUSTOM-CONTENT',\n\t\t\t'NOW-DROPDOWN-LIST',\n\t\t],\n\t\tshouldTriggerRerenderFn: shouldTriggerRerender,\n\t},\n};\n\nexport default keyboardNavBehavior;\n\nexport { focus };\n","export const NOW_LIST_CELL_LINK_CLICKED = 'NOW_LIST#CELL_LINK_CLICKED';\nexport const NOW_LIST_GALLERY_CARD_CLICKED = 'NOW_LIST#GALLERY_CARD_CLICKED';\n","import isEmpty from 'lodash/isEmpty';\n\nimport logger from '../../shared/utils/logger';\nimport cellSelectors from '../../shared/utils/selectors/cellSelectors';\n\nimport { NOW_LIST_CELL_LINK_CLICKED } from './constants';\n\n/* EFFECTS */\n/**\n * dispatched when a link in a link type cell is clicked. (does not apply to URLs)\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nconst cellLinkClickedHandler = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tdispatch,\n\t} = coeffects;\n\n\tconst actionName = cellSelectors.getValue(payload.cell);\n\n\tif (isEmpty(actionName)) {\n\t\tlogger.error(\n\t\t\t'No action to dispatch. Make sure the cell value is nonempty.'\n\t\t);\n\t} else {\n\t\tdispatch(actionName, payload);\n\t}\n};\n\nconst linkBehavior = {\n\tname: 'linkBehavior',\n\n\t/**@type {ActionHandlers<Props,State>} */\n\tactionHandlers: {\n\t\t[NOW_LIST_CELL_LINK_CLICKED]: {\n\t\t\teffect: cellLinkClickedHandler,\n\t\t},\n\t},\n};\n\nexport default linkBehavior;\n","export const SORTABLE_ACTION_PREFIX = 'NOW_LIST#ROW_REORDER#';\n\nexport const NOW_LIST_ROW_SORT_END = `${SORTABLE_ACTION_PREFIX}SORT_END`;\nexport const NOW_LIST_ROW_SORT_START = `${SORTABLE_ACTION_PREFIX}SORT_START`;\nexport const NOW_LIST_ROW_DROP_AREA_CHANGE = `${SORTABLE_ACTION_PREFIX}DROP_AREA_CHANGE`;\nexport const NOW_LIST_ROW_SORT_CANCELLED = `${SORTABLE_ACTION_PREFIX}SORT_CANCELLED`;\n\nexport const NOW_SORTABLE_UPDATE_BEHAVIOR = 'NOW_SORTABLE#UPDATE_BEHAVIOR';\nexport const ROWS_REORDERED = 'NOW_LIST#ROWS_REORDERED';\n\nexport const DRAG_CANCELLED = 'Drag cancelled.';\n\nexport const ROW_DRAG_HANDLE_CLASS = 'row-drag-handle';\n","export const ROW_CHECKBOX_INTERNAL_SET = 'ROW_CHECKBOX_INTERNAL_SET';\nexport const NOW_LIST_ROW_SELECT_TOGGLED = 'NOW_LIST#ROW_SELECT_TOGGLED';\nexport const NOW_LIST_SELECT_ALL_TOGGLED = 'NOW_LIST#SELECT_ALL_TOGGLED';\nexport const NOW_CHECKBOX_CHECKED_SET = 'NOW_CHECKBOX#CHECKED_SET';\n","import track from '@devsnc/ux-metrics';\n\nimport { NOW_LIST_COLUMNS_REORDERED } from '../columnDragDropBehavior/constants';\nimport { ROWS_REORDERED } from '../rowDragDropBehavior/constants';\nimport { ROW_CHECKBOX_INTERNAL_SET } from '../rowSelectionBehavior/constants';\nexport const SORT_COLUMN_EVENT = 'Sort Column';\nexport const COLUMN_REORDER_EVENT = 'Column Reorder';\nexport const ROWS_REORDER_EVENT = 'Row Reorder';\nexport const ROW_CHECKED = 'Row checked';\n\nexport const ASCENDING = 'ascending';\nexport const DESCENDING = 'descending';\n//Metrics\nexport const METRIC_TRACKED = 'NOW_LIST_METRIC_TRACKED';\nconst metricsBehavior = {\n\tname: 'metricsBehavior',\n\n\t/**@type {Now.ActionHandlers<Props,State>} */\n\tactionHandlers: {\n\t\t[METRIC_TRACKED]: {\n\t\t\teffect(coeffects) {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: { eventName, metadata },\n\t\t\t\t\t},\n\t\t\t\t} = coeffects;\n\n\t\t\t\ttrack(coeffects, eventName, metadata);\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\n\t\t[NOW_LIST_COLUMNS_REORDERED]: {\n\t\t\tinterceptors: [\n\t\t\t\t{\n\t\t\t\t\tafter(/** @type {any} */ context) {\n\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\tcoeffects: {\n\t\t\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\t\t\tpayload: { newColumns },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} = context;\n\n\t\t\t\t\t\tdispatch(METRIC_TRACKED, {\n\t\t\t\t\t\t\teventName: COLUMN_REORDER_EVENT,\n\t\t\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t\t\torder: newColumns,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn context;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\t[ROWS_REORDERED]: {\n\t\t\tinterceptors: [\n\t\t\t\t{\n\t\t\t\t\tafter(/** @type {any} */ context) {\n\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\tcoeffects: {\n\t\t\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\tdata: { movedRows },\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} = context;\n\n\t\t\t\t\t\tdispatch(METRIC_TRACKED, {\n\t\t\t\t\t\t\teventName: ROWS_REORDER_EVENT,\n\t\t\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t\t\torder: movedRows,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn context;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\n\t\t[ROW_CHECKBOX_INTERNAL_SET]: {\n\t\t\tinterceptors: [\n\t\t\t\t{\n\t\t\t\t\tafter(/** @type {any} */ context) {\n\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\tcoeffects: {\n\t\t\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\t\t\tpayload: { rowKey, checked, rowIndex },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} = context;\n\t\t\t\t\t\tif (!Array.isArray(rowKey))\n\t\t\t\t\t\t\tdispatch(METRIC_TRACKED, {\n\t\t\t\t\t\t\t\teventName: ROW_CHECKED,\n\t\t\t\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t\t\t\tNumber: rowKey,\n\t\t\t\t\t\t\t\t\tchecked,\n\t\t\t\t\t\t\t\t\trank: rowIndex,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn context;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n};\n\nexport default metricsBehavior;\n","export const NOW_TEMPLATE_MESSAGE_EMPTY_STATE_ACTION_CLICKED =\n\t'NOW_TEMPLATE_MESSAGE_EMPTY_STATE#ACTION_CLICKED';\nexport const MESSAGE_OVERLAY_ACTION_CLICKED =\n\t'NOW_LIST#MESSAGE_OVERLAY_ACTION_CLICKED';\nexport const NOW_LOADER_ACTION_CLICKED = 'NOW_LOADER#ACTION_CLICKED';\nexport const LOADER_OVERLAY_ACTION_CLICKED =\n\t'NOW_LIST#LOADER_OVERLAY_ACTION_CLICKED';\n","import {\n\tNOW_TEMPLATE_MESSAGE_EMPTY_STATE_ACTION_CLICKED,\n\tMESSAGE_OVERLAY_ACTION_CLICKED,\n\tNOW_LOADER_ACTION_CLICKED,\n\tLOADER_OVERLAY_ACTION_CLICKED,\n} from './constants';\n\n/* EFFECTS */\n\n/**\n * emits an action when a button inside now-template-message is clicked\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const messageActionClickedHandler = (coeffects) => {\n\tconst { dispatch, action } = coeffects;\n\n\tdispatch(MESSAGE_OVERLAY_ACTION_CLICKED, action.payload);\n};\n\n/**\n * emits an action when a button inside now-loader is clicked\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const loaderActionClickedHandler = (coeffects) => {\n\tconst { dispatch, action } = coeffects;\n\n\tdispatch(LOADER_OVERLAY_ACTION_CLICKED, action.payload);\n};\n\nconst overlayBehavior = {\n\tname: 'overlayBehavior',\n\n\t/**@type {ActionHandlers<Props,State>} */\n\tactionHandlers: {\n\t\t[NOW_TEMPLATE_MESSAGE_EMPTY_STATE_ACTION_CLICKED]: {\n\t\t\teffect: messageActionClickedHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_LOADER_ACTION_CLICKED]: {\n\t\t\teffect: loaderActionClickedHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n\nexport default overlayBehavior;\n","import throttle from 'lodash/throttle';\n\nexport const NOW_LIST_SCROLLED = 'NOW_LIST#SCROLLED';\n\n/**\n * Event handler for now list. Will dispatch throttled scroll event\n *\n * @param {*} dispatch\n * @returns\n */\nexport const nowListScrollHandler = (dispatch) =>\n\tthrottle(() => {\n\t\tconst timestamp = Date.now();\n\t\tdispatch(NOW_LIST_SCROLLED, {\n\t\t\ttimestamp,\n\t\t});\n\t}, 200);\n","import { actionTypes } from '@servicenow/ui-core';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { NOW_LIST_SCROLLED } from '../../shared/utils/eventListeners';\nimport popoverSelectors from '../../shared/utils/selectors/popoverSelectors';\nimport { NOW_LIST_POPOVER_BUTTON_CLICKED } from '../cellEditingBehavior/constants';\nimport { POPOVER_CLOSED } from '../keyboardNavBehavior/constants';\nimport { ROW_HIGHLIGHT_DEACTIVATED } from '../rowBehavior/constants';\n\nimport {\n\tNOW_LIST_OPEN_POPOVER_INTERNAL,\n\tNOW_LIST_CLOSE_POPOVER_INTERNAL,\n\tNOW_LIST_POPOVER_CLOSED,\n\tNOW_LIST_POPOVER_OPENED,\n\tNOW_POPOVER_OPENED_SET,\n\tBEHAVIOR_STATE_PATH,\n} from './constants';\n\nconst { COMPONENT_PROPERTY_CHANGED, COMPONENT_TREE_RENDERED } = actionTypes;\n\n/**\n * Enum for target types.\n * @enum {string}\n */\nexport const targetTypes = {\n\tHEADER_TARGET: 'HEADER_TARGET',\n\tROW_TARGET: 'ROW_TARGET',\n\tMATCHER_TARGET: 'MATCHER_TARGET',\n\tINVALID_TARGET: 'INVALID_TARGET',\n};\n\nexport const popoverBehaviorHelpers = {\n\t/**\n\t * Returns the correct target type based on target position on the list.\n\t * @param {PopoverDefinition} popoverDefinition\n\t * @returns {targetTypes}\n\t */\n\tgetPopoverTargetType(popoverDefinition) {\n\t\tif (popoverSelectors.isHeaderTargetPosition(popoverDefinition)) {\n\t\t\treturn targetTypes.HEADER_TARGET;\n\t\t}\n\n\t\tif (popoverSelectors.isRowTargetPosition(popoverDefinition)) {\n\t\t\treturn targetTypes.ROW_TARGET;\n\t\t}\n\n\t\treturn targetTypes.INVALID_TARGET;\n\t},\n\n\t/**\n\t * Returns target element based on row and cell index\n\t * @param {PopoverDefinition} popoverDefinition\n\t * @param {Element | undefined} host\n\t * @returns {Element | undefined}\n\t */\n\tgetRowTarget(popoverDefinition, host) {\n\t\tconst rowIndex = popoverSelectors.getTargetRowIndex(popoverDefinition);\n\n\t\t// @ts-ignore\n\t\tconst row = host.shadowRoot.querySelector(\n\t\t\t`tbody tr:nth-child(${rowIndex})`\n\t\t);\n\n\t\tif (!row) return;\n\n\t\tconst cellIndex = popoverSelectors.getTargetCellIndex(\n\t\t\tpopoverDefinition\n\t\t);\n\n\t\tconst cell = row.querySelector(`td:nth-child(${cellIndex})`);\n\n\t\tif (!cell) return row;\n\n\t\treturn cell;\n\t},\n\n\t/**\n\t * Returns target element based on header row and cell index\n\t * @param {PopoverDefinition} popoverDefinition\n\t * @param {Element} host\n\t * @returns {Element | undefined}\n\t */\n\tgetHeaderTarget(popoverDefinition, host) {\n\t\tconst headerRowIndex = popoverSelectors.getHeaderTargetRowIndex(\n\t\t\tpopoverDefinition\n\t\t);\n\n\t\t// @ts-ignore\n\t\tconst headerRow = host.shadowRoot.querySelector(\n\t\t\t`thead tr:nth-child(${headerRowIndex})`\n\t\t);\n\n\t\tif (!headerRow) return;\n\n\t\tconst headerCellIndex = popoverSelectors.getHeaderTargetCellIndex(\n\t\t\tpopoverDefinition\n\t\t);\n\n\t\tconst headerCell = headerRow.querySelector(\n\t\t\t`th:nth-child(${headerCellIndex})`\n\t\t);\n\n\t\tif (!headerCell) return headerRow;\n\n\t\treturn headerCell;\n\t},\n\n\t/**\n\t * Returns popover target depending on target type\n\t * @param {targetTypes} targetType\n\t * @param {PopoverDefinition} popoverDefinition\n\t * @param {Element} host\n\t * @returns {Element | undefined}\n\t */\n\tgetPopoverTarget(targetType, popoverDefinition, host) {\n\t\tswitch (targetType) {\n\t\t\tcase targetTypes.HEADER_TARGET:\n\t\t\t\treturn this.getHeaderTarget(popoverDefinition, host);\n\t\t\tcase targetTypes.ROW_TARGET:\n\t\t\t\treturn this.getRowTarget(popoverDefinition, host);\n\t\t\tdefault:\n\t\t\t\treturn;\n\t\t}\n\t},\n\n\t/**\n\t * Sets popover state and dispatches accordingly\n\t * @param {*} updateState\n\t * @param {*} dispatch\n\t * @param {boolean} popoverOpen\n\t * @param {Element} [popoverTarget]\n\t * @param {PopoverDefinition} [popoverDefinition]\n\t * @param {Context} [context]\n\t */\n\tsetPopoverState(\n\t\tupdateState,\n\t\tdispatch,\n\t\tpopoverOpen = false,\n\t\tpopoverTarget,\n\t\tpopoverDefinition,\n\t\tcontext\n\t) {\n\t\tconst column = context?.column;\n\t\tupdateState({\n\t\t\toperation: 'set',\n\t\t\tpath: 'popoverState',\n\t\t\tvalue: { popoverOpen, popoverTarget, popoverDefinition, context },\n\t\t});\n\n\t\t// Ensure focus returns if the target was a table cell\n\t\tdispatch(POPOVER_CLOSED, { popoverTarget, popoverOpen });\n\n\t\tconst actionToDispatch = popoverOpen\n\t\t\t? NOW_LIST_POPOVER_OPENED\n\t\t\t: NOW_LIST_POPOVER_CLOSED;\n\n\t\tdispatch(actionToDispatch, { column });\n\t},\n};\n\n/**\n * Component dom ree ready action handler. Handles a popover being provided when component is being initialized.\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const componentTreeRenderedActionHandler = (coeffects) => {\n\tconst {\n\t\tdispatch,\n\t\tproperties: { popoverDefinition },\n\t\thost,\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst hasRendered = get(state, `${BEHAVIOR_STATE_PATH}.firstRender`, false);\n\n\tif (!hasRendered) {\n\t\tconst popoverTargetType = popoverBehaviorHelpers.getPopoverTargetType(\n\t\t\tpopoverDefinition\n\t\t);\n\n\t\tconst target = popoverBehaviorHelpers.getPopoverTarget(\n\t\t\tpopoverTargetType,\n\t\t\tpopoverDefinition,\n\t\t\thost\n\t\t);\n\n\t\tif (!target) return;\n\n\t\t/**\n\t\t * DEF0365982: The bounding client is 0 when the target element isn't\n\t\t * visible on the page, which means the popover won't position\n\t\t * correctly if we pass the target at this point. An instance of this\n\t\t * occurs when the component is used in a UIB page, since the loader\n\t\t * overlay blocks the component as the experience first loads.\n\t\t */\n\t\tconst { width, height } = target.getBoundingClientRect();\n\t\tif (width === 0 && height === 0) return;\n\n\t\tupdateState({\n\t\t\toperation: 'set',\n\t\t\tpath: `${BEHAVIOR_STATE_PATH}.firstRender`,\n\t\t\tvalue: true,\n\t\t});\n\n\t\tpopoverBehaviorHelpers.setPopoverState(\n\t\t\tupdateState,\n\t\t\tdispatch,\n\t\t\ttrue,\n\t\t\ttarget,\n\t\t\tpopoverDefinition\n\t\t);\n\t}\n};\n\n/**\n * Property changed effect handler. Row definitions are copied and if additional processing is added for computed values, they will be added here\n * Currently no processed values.\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const propertyChangedActionHandler = (coeffects) => {\n\t// On property change, we need to check the type and process accordingly\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value },\n\t\t},\n\t\thost,\n\t\tproperties: { popoverDefinition },\n\t\tupdateState,\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (name !== 'popoverDefinition') return;\n\n\tif (isEmpty(value)) {\n\t\tdispatch(NOW_LIST_CLOSE_POPOVER_INTERNAL);\n\t\treturn;\n\t}\n\n\tconst popoverTargetType = popoverBehaviorHelpers.getPopoverTargetType(\n\t\tpopoverDefinition\n\t);\n\n\tif (popoverTargetType === targetTypes.INVALID_TARGET) {\n\t\tdispatch(NOW_LIST_CLOSE_POPOVER_INTERNAL);\n\t\treturn;\n\t}\n\n\tconst target = popoverBehaviorHelpers.getPopoverTarget(\n\t\tpopoverTargetType,\n\t\tpopoverDefinition,\n\t\thost\n\t);\n\n\tpopoverBehaviorHelpers.setPopoverState(\n\t\tupdateState,\n\t\tdispatch,\n\t\ttrue,\n\t\ttarget,\n\t\tpopoverDefinition\n\t);\n};\n\n/**\n * This effect handles the now-popover opened set action.\n * If popover config dismissable is set to false, this\n * function will not do anything\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const popoverOpenedSetEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { actionSource, value, from },\n\t\t},\n\t\tstate: { popoverState },\n\t\tdispatch,\n\t} = coeffects;\n\tconst { popoverOpen, popoverDefinition, popoverTarget } =\n\t\tpopoverState || {};\n\n\tif (from !== 'now-list') return;\n\n\tif (\n\t\tpopoverOpen &&\n\t\t!value &&\n\t\tpopoverSelectors.getDismissable(popoverDefinition)\n\t) {\n\t\tif (actionSource === 'escape-press' && popoverTarget) {\n\t\t\tpopoverTarget.focus();\n\t\t}\n\t\tdispatch(NOW_LIST_CLOSE_POPOVER_INTERNAL);\n\t}\n};\n\n/**\n * This effect handles scroll actions on the list to check whether we should dismiss the popover or not on scroll\n * based on popover configuration\n * @param {Coeffects<Props, State>} coeffects\n */\nconst popoverTableScrollEffect = (coeffects) => {\n\tconst {\n\t\tstate: { popoverState },\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (!popoverState) return;\n\n\tconst { popoverDefinition } = popoverState;\n\n\tconst dismissOnScroll = popoverSelectors.getDismissOnScroll(\n\t\tpopoverDefinition\n\t);\n\n\tif (dismissOnScroll) {\n\t\tdispatch(NOW_LIST_CLOSE_POPOVER_INTERNAL);\n\t}\n};\n\n/**\n * This effect handles now-list popover button action. Will set internal state to\n * close the popover\n *\n * @param {Coeffects<Props, State>} coeffects\n */\nconst popoverButtonClickedEffect = (coeffects) => {\n\tconst {\n\t\tstate: {\n\t\t\tpopoverState: { popoverOpen, popoverDefinition },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (popoverOpen && popoverSelectors.getDismissable(popoverDefinition)) {\n\t\tdispatch(NOW_LIST_CLOSE_POPOVER_INTERNAL);\n\t}\n};\n\n/**\n * Handler for opening internal popover action dispatch\n * @param {Coeffects<Props, State>} coeffects\n */\nconst internalPopoverHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { popoverDefinition, popoverTarget, context },\n\t\t},\n\t\tupdateState,\n\t\tdispatch,\n\t} = coeffects;\n\n\t/** @type {HTMLElement} */\n\tconst target = popoverTarget?.current ?? popoverTarget;\n\n\tpopoverBehaviorHelpers.setPopoverState(\n\t\tupdateState,\n\t\tdispatch,\n\t\ttrue,\n\t\ttarget,\n\t\tpopoverDefinition,\n\t\tcontext\n\t);\n};\n\n/**\n * Handler for closing internal popover action dispatch\n * @param {Coeffects<Props, State>} coeffects\n */\nconst closeInternalPopoverHandler = (coeffects) => {\n\tconst {\n\t\tstate: { popoverState },\n\t\tupdateState,\n\t\tdispatch,\n\t} = coeffects;\n\tif (!popoverState?.popoverTarget) return;\n\tconst { popoverTarget, context } = popoverState;\n\tpopoverBehaviorHelpers.setPopoverState(\n\t\tupdateState,\n\t\tdispatch,\n\t\tfalse,\n\t\tpopoverTarget,\n\t\tundefined,\n\t\tcontext\n\t);\n\tdispatch(ROW_HIGHLIGHT_DEACTIVATED);\n};\n\nconst popoverDefinitionBehavior = {\n\tname: 'popoverDefinitionBehavior',\n\tinitialState: {\n\t\tpopoverState: {},\n\t},\n\t/**@type {ActionHandlers<Props,State>} */\n\tactionHandlers: {\n\t\t[COMPONENT_TREE_RENDERED]: {\n\t\t\teffect: componentTreeRenderedActionHandler,\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: { effect: propertyChangedActionHandler },\n\t\t[NOW_LIST_OPEN_POPOVER_INTERNAL]: {\n\t\t\teffect: internalPopoverHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_LIST_CLOSE_POPOVER_INTERNAL]: {\n\t\t\teffect: closeInternalPopoverHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_POPOVER_OPENED_SET]: {\n\t\t\teffect: popoverOpenedSetEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_LIST_SCROLLED]: {\n\t\t\teffect: popoverTableScrollEffect,\n\t\t},\n\t\t[NOW_LIST_POPOVER_BUTTON_CLICKED]: {\n\t\t\teffect: popoverButtonClickedEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n\nexport default popoverDefinitionBehavior;\n","import { actionTypes } from '@servicenow/ui-core';\nimport cloneDeep from 'lodash/cloneDeep';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport isEqual from 'lodash/isEqual';\n\nimport featureFlagSelectors from '../../shared/utils/selectors/featureFlagSelectors';\nimport rowSelectors from '../../shared/utils/selectors/rowSelectors';\nimport { ROW_ACTION } from '../contextActionsBehavior/constants';\nimport {\n\tNOW_LIST_ROW_FOCUSED,\n\tROW_HIGHLIGHT_ACTIVATED,\n\tROW_HIGHLIGHT_DEACTIVATED,\n\tROW_FOCUSED_INTERNAL,\n\tROW_BLUR_INTERNAL,\n} from '../rowBehavior/constants';\n\nconst { hasRows, hasChildren } = rowSelectors;\nconst { COMPONENT_PROPERTY_CHANGED, COMPONENT_BOOTSTRAPPED } = actionTypes;\n\n/* STRING CONSTANTS */\nconst pathConstants = {\n\trowDefinitionsPath: 'rowDefinitions',\n\thasDuplicateRowKeys: 'hasDuplicateRowKeys',\n\trowIndexesMap: 'rowIndexesMap',\n};\n\n/* EFFECTS */\n\n/* HELPERS */\n\n/**\n * Rows to check for duplicate keys\n * @param {RowDefinitions} rowDefinitions\n */\nexport const hasDuplicateRowKeys = (rowDefinitions) => {\n\tconst map = new Set();\n\n\tconst rowKeyAlreadyExists = (/** @type {Row}} */ row) => {\n\t\tif (map.has(row.key)) {\n\t\t\treturn true;\n\t\t}\n\t\tmap.add(row.key);\n\n\t\tif (hasChildren(row)) {\n\t\t\tfor (let i = 0; i < (row.children?.length || 0); i++) {\n\t\t\t\t//@ts-ignore\n\t\t\t\tif (rowKeyAlreadyExists(row.children[i])) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t};\n\n\tif (!hasRows(rowDefinitions)) {\n\t\treturn false;\n\t}\n\n\tfor (let i = 0; i < rowDefinitions.rows.length; i++) {\n\t\tif (rowKeyAlreadyExists(rowDefinitions.rows[i])) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n};\n\n/**\n * Get row indexes map\n * @param {RowDefinitions} rowDefinitions\n */\nexport const getRowIndexesMap = (rowDefinitions) => {\n\t/**@type {any} */\n\tconst rowIndexesMap = {};\n\tconst rows = rowSelectors.getRows(rowDefinitions);\n\n\tvar flattenedRowKeys = rowSelectors.getAllKeysInOrder(rows);\n\tflattenedRowKeys.forEach((rowKey, index) => {\n\t\trowIndexesMap[rowKey] = index;\n\t});\n\treturn rowIndexesMap;\n};\n\n/**\n * Property changed effect handler. Row definitions are copied and if additional processing is added for computed values, they will be added here\n * Currently no processed values.\n * @param {Coeffects<Props, State>} coeffects\n */\nconst propertyChangedActionHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue },\n\t\t},\n\t\tupdateState,\n\t\tproperties: { rowDefinitions },\n\t} = coeffects;\n\n\tif (name !== 'rowDefinitions') return;\n\n\tif (isEqual(value, previousValue)) return;\n\n\tif (isEmpty(value)) {\n\t\treturn updateState({\n\t\t\tpath: pathConstants.rowDefinitionsPath,\n\t\t\tvalue: {},\n\t\t\toperation: 'set',\n\t\t});\n\t}\n\n\tupdateState([\n\t\t{\n\t\t\tpath: pathConstants.rowDefinitionsPath,\n\t\t\tvalue: cloneDeep(value),\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: pathConstants.hasDuplicateRowKeys,\n\t\t\tvalue: hasDuplicateRowKeys(value),\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: pathConstants.rowIndexesMap,\n\t\t\tvalue: getRowIndexesMap(rowDefinitions),\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n};\n\n/**\n * Component bootstrapped for rowBehavior. Similar to propertyChanged handler. Will clone prop and process if necessary\n * @param {Coeffects<Props, State>} coeffects\n */\nconst componentBootstrappedEffect = (coeffects) => {\n\tconst {\n\t\tproperties: { rowDefinitions },\n\t} = coeffects;\n\n\tif (!rowDefinitions) return;\n\n\tcoeffects.updateState([\n\t\t{\n\t\t\tpath: pathConstants.rowDefinitionsPath,\n\t\t\tvalue: cloneDeep(rowDefinitions),\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false,\n\t\t},\n\t\t{\n\t\t\tpath: pathConstants.hasDuplicateRowKeys,\n\t\t\tvalue: hasDuplicateRowKeys(rowDefinitions),\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false,\n\t\t},\n\t\t{\n\t\t\tpath: pathConstants.rowIndexesMap,\n\t\t\tvalue: getRowIndexesMap(rowDefinitions),\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false,\n\t\t},\n\t]);\n};\n\n/**\n * Handles setting active state on a row when a user is about to click a row action or checkbox\n * @param {Coeffects<Props,State>} coeffects\n */\nconst rowHighlightActivatedHandler = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\tproperties: { rowDefinitions, selectionEnabled },\n\t\taction: {\n\t\t\tpayload: { rowKey },\n\t\t},\n\t\tstate: { activeRowKey },\n\t} = coeffects;\n\n\tconst featureFlags = { selectionEnabled };\n\n\tif (\n\t\trowKey &&\n\t\tactiveRowKey != rowKey &&\n\t\t(rowSelectors.hasRowActionsWithItems(rowDefinitions) ||\n\t\t\tfeatureFlagSelectors.getSelectionEnabled(featureFlags))\n\t) {\n\t\tupdateState({\n\t\t\tpath: 'activeRowKey',\n\t\t\tvalue: rowKey,\n\t\t\toperation: 'set',\n\t\t});\n\t}\n};\n\n/**\n * Handles removing active state on a row.\n * @param {Coeffects<Props,State>} coeffects\n */\nconst rowHighlightDeactivatedHandler = (coeffects) => {\n\tconst { updateState, state } = coeffects;\n\n\tconst popoverOpen = get(state, 'popoverState.popoverOpen', false);\n\tconst typeOfAction = get(state, 'popoverState.context.typeOfAction', '');\n\t// when rowActions popover is open, we shouldn't reset the state\n\tif (!popoverOpen || typeOfAction !== ROW_ACTION) {\n\t\tupdateState({\n\t\t\tpath: 'activeRowKey',\n\t\t\tvalue: null,\n\t\t\toperation: 'set',\n\t\t});\n\t}\n};\n\n/**\n * When row is blurred reset focusedRowKey\n * @param {Coeffects<Props,State>} coeffects\n */\nconst rowBlurHandler = (coeffects) => {\n\tconst { updateState } = coeffects;\n\n\tupdateState({\n\t\tpath: 'focusedRowKey',\n\t\tvalue: null,\n\t\toperation: 'set',\n\t\tshouldRender: false,\n\t});\n};\n\n/**\n * Handles row focus and dispatch an action when any of the cell inside row is focused or clicked\n * @param {Coeffects<Props,State>} coeffects\n */\nconst rowFocusHandler = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\tdispatch,\n\t\taction: {\n\t\t\tpayload: { rowKey },\n\t\t},\n\t\tproperties: { rowDefinitions },\n\t} = coeffects;\n\n\tconst row = rowSelectors.getRow(rowDefinitions.rows, rowKey);\n\n\tupdateState({\n\t\tpath: 'focusedRowKey',\n\t\tvalue: rowKey,\n\t\toperation: 'set',\n\t});\n\n\tdispatch(NOW_LIST_ROW_FOCUSED, {\n\t\tcontext: {\n\t\t\trow,\n\t\t},\n\t});\n};\n\nconst rowDefinitionsBehavior = {\n\tname: 'rowDefinitionsBehavior',\n\n\t/**@type {ActionHandlers<Props,State>} */\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: { effect: propertyChangedActionHandler },\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: componentBootstrappedEffect,\n\t\t},\n\t\t[ROW_HIGHLIGHT_ACTIVATED]: {\n\t\t\teffect: rowHighlightActivatedHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[ROW_FOCUSED_INTERNAL]: {\n\t\t\teffect: rowFocusHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[ROW_BLUR_INTERNAL]: {\n\t\t\teffect: rowBlurHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[ROW_HIGHLIGHT_DEACTIVATED]: {\n\t\t\teffect: rowHighlightDeactivatedHandler,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n\nexport default rowDefinitionsBehavior;\n","import { seismicClone } from '../../commons';\nimport { DATA_COLUMN_CLASS } from '../../shared/views/table/tableBody/tableRow/rowCell/rowCellConstants';\n\n/**\n * The markup displayed in place of the item being dragged\n * @param {HTMLTableRowElement} srcEl - Source Placeholder\n * @returns {HTMLTableRowElement} tr - Row element to be displayed in place of the item being dragged\n */\nexport const rowDragSourcePlaceholder = (srcEl) => {\n\tvar tr = seismicClone(srcEl);\n\t// @ts-ignore\n\ttr.classList.add('row-drag-src-placeholder');\n\t// @ts-ignore\n\treturn tr;\n};\n\n/**\n * The markup displayed to indicate an area where the item can be dropped\n * @returns {HTMLTableRowElement} tr - Row element to indicate an area where the item can be dropped\n */\nexport const rowDragDestPlaceholder = () => {\n\tvar tr = document.createElement('tr');\n\ttr.classList.add('row-drag-dest-placeholder');\n\treturn tr;\n};\n\n/**\n * Representational markup to indicate the item being dragged\n * @param {HTMLTableRowElement} el - Clone element\n * @returns {HTMLTableRowElement} tr - Row element to indicate the item being dragged\n */\nexport const rowDragClone = (el) => {\n\tconst tr = document.createElement('tr');\n\ttr.classList.add('row-drag-clone');\n\ttr.style.width = `${el.offsetWidth}px`;\n\n\tconst dragHandleCell = el.cells[0];\n\tconst displayLabelCell = Array.from(el.cells).find((cell) =>\n\t\tcell.classList.contains(DATA_COLUMN_CLASS)\n\t);\n\n\tconst dragCellClone = dragHandleCell.cloneNode(true);\n\tconst displayLabelCellClone = displayLabelCell?.cloneNode(true);\n\n\ttr.appendChild(dragCellClone);\n\tdisplayLabelCellClone && tr.appendChild(displayLabelCellClone);\n\treturn tr;\n};\n","import { ROW_DRAG_HANDLE_CLASS, SORTABLE_ACTION_PREFIX } from './constants';\nimport {\n\trowDragDestPlaceholder,\n\trowDragSourcePlaceholder,\n\trowDragClone,\n} from './dragDropPlaceholders';\n\n/**\n * Update the default drag-drop configuration based on properties to now-list\n * @param {*} host - Host element\n * @returns {object} config - options for dynamic config\n */\nexport const dynamicConfig = (host) => {\n\tconst { rowDragDropEnabled } = host;\n\tconst config = {};\n\tconfig['dragSupport'] = rowDragDropEnabled;\n\tconfig['keyboardSupport'] = rowDragDropEnabled;\n\tif (host.scrollHeight !== host.clientHeight) {\n\t\tconfig['yScrollParent'] = 'now-list';\n\t} else {\n\t\tconfig['yScrollParent'] = '.scroll-container';\n\t}\n\treturn config;\n};\n\n// sortable internally uses interact js to handle drag and drop\nexport const sortableOptions = {\n\titems: 'table > tbody > tr', // draggable selector\n\tdropzone: 'tbody',\n\tfollowMouseForAutoScroll: true,\n\tactionPrefix: SORTABLE_ACTION_PREFIX,\n\tlistOrder: 'vertical',\n\tyScrollParent: '.scroll-container', // supports autoscroll while dragging in local use .scroll-container\n\tcloneAppendTo: 'table',\n\tcustomSourcePlaceholder: rowDragSourcePlaceholder, // template to be shown on drag source\n\tcustomDestPlaceholder: rowDragDestPlaceholder, // template to be shown while dropping\n\tclone: rowDragClone,\n\tshouldNotHideTargetElement: true, // do not hide the target element while dragging\n\ttransitions: false,\n\thandle: `.${ROW_DRAG_HANDLE_CLASS}`,\n\tallowFrom: `.${ROW_DRAG_HANDLE_CLASS}`,\n\tshouldUpdate: () => false, // we are handling update in component tree rendered\n\tkeyboardSupport: true, // use space to select and use arrows to move and then enter to drop\n\tkeyboardTriggers: {\n\t\t/**\n\t\t * @param {KeyboardEvent} event\n\t\t */\n\t\tstart(event) {\n\t\t\treturn event.code === 'Space';\n\t\t},\n\t\t/**\n\t\t * @param {KeyboardEvent} event\n\t\t */\n\t\tend(event) {\n\t\t\treturn event.code === 'Enter';\n\t\t},\n\t},\n\tdragSupport: true, // initializes interactJS only if this is true\n\tlockAxis: 'y',\n\tdynamicConfig,\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport isEqual from 'lodash/isEqual';\nimport sortBy from 'lodash/sortBy';\nimport { t } from 'sn-translate';\n\nimport { nowSortable } from '../../commons';\nimport rowSelectors from '../../shared/utils/selectors/rowSelectors';\nimport { setBehaviorState } from '../keyboardNavBehavior/keyboardNavHelpers';\n\nimport {\n\tNOW_LIST_ROW_DROP_AREA_CHANGE,\n\tNOW_LIST_ROW_SORT_END,\n\tNOW_LIST_ROW_SORT_START,\n\tNOW_LIST_ROW_SORT_CANCELLED,\n\tNOW_SORTABLE_UPDATE_BEHAVIOR,\n\tROWS_REORDERED,\n\tDRAG_CANCELLED,\n} from './constants';\nimport { sortableOptions } from './sortableOptions';\nconst {\n\tCOMPONENT_TREE_RENDERED,\n\tARIA_LIVE_REGION_UPDATE_REQUESTED,\n} = actionTypes;\nconst { getRowKey } = rowSelectors;\n\n/* STRING CONSTANTS */\nconst pathConstants = {\n\trowsPath: ['rowDefinitions', 'rows'],\n};\nconst ARIA_LIVE_REGION_TYPE = 'assertive';\n/**\n * @param {Now.Dispatch} dispatch\n * @param {string} message\n */\nfunction updateAriaLiveRegion(dispatch, message) {\n\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\tmessage,\n\t\ttype: ARIA_LIVE_REGION_TYPE,\n\t});\n}\n/**\n * @param {Coeffects<Props,State>} coeffects\n */\nconst handleRowDragStart = ({ state, action, dispatch }) => {\n\tconst {\n\t\tpayload: { sourceIndex },\n\t} = action;\n\tconst rows = rowSelectors.getRows(state.rowDefinitions);\n\n\tconst message = t(\n\t\t'Drag started. Current position: {0} of {1}. Press up and down to change the position of the row, enter to drop, and escape to cancel.',\n\t\tsourceIndex + 1,\n\t\trows.length\n\t);\n\tupdateAriaLiveRegion(dispatch, message);\n};\n/**\n * @param {Coeffects<Props,State>} coeffects\n */\nconst handleRowDragDropAreaChange = ({ action, dispatch }) => {\n\tconst {\n\t\tpayload: { newPosition },\n\t} = action;\n\tconst message = t('Row {0}', newPosition + 1);\n\tupdateAriaLiveRegion(dispatch, message);\n};\n/**\n * Drop cancel handler: Triggered when escape is pressed.\n * @param {Coeffects<Props,State>} coeffects\n */\nconst handleRowDragDropCancel = ({ dispatch }) => {\n\tconst message = t(DRAG_CANCELLED);\n\tupdateAriaLiveRegion(dispatch, message);\n};\n/**\n * Drop handler: Triggered when a row is dropped in a table.\n * @param {Coeffects<Props,State>} coeffects - Dispatch function to emit an action\n */\nconst handleRowDrop = ({ state, action, dispatch, updateState }) => {\n\tlet {\n\t\tpayload: { destinationIndex },\n\t} = action;\n\tconst {\n\t\tpayload: { sourceIndex },\n\t} = action;\n\n\tconst rows = rowSelectors.getRows(state.rowDefinitions);\n\tconst rowsBeforeUpdate = rows.map(getRowKey);\n\tconst movedItem = rows[sourceIndex];\n\tconst movedRows = [getRowKey(movedItem)];\n\t// when dragging from top to bottom as we are removing the source row, we need to consider the source row too and substact that from the destinationIndex\n\tif (destinationIndex > sourceIndex) {\n\t\tdestinationIndex--;\n\t}\n\t// Remove at sourceIndex\n\trows.splice(sourceIndex, 1);\n\t// Add it at the destination index\n\trows.splice(destinationIndex, 0, movedItem);\n\n\tupdateState({\n\t\tpath: pathConstants.rowsPath.join('.'),\n\t\tvalue: [...rows],\n\t\toperation: 'set',\n\t});\n\n\tconst message = t(\n\t\t'Dropped. New position: {0} of {1}.',\n\t\tdestinationIndex + 1,\n\t\trows.length\n\t);\n\tupdateAriaLiveRegion(dispatch, message);\n\t// rowindex starts from header row in navigation behaviour so increasing it by 1\n\tsetBehaviorState(updateState, {\n\t\tisRendered: false,\n\t\tcellToFocus: { rowPath: `[${destinationIndex}]`, columnKey: 'rowDrag' },\n\t});\n\n\tconst rowsAfterUpdate = rows.map(getRowKey);\n\n\tdispatch(ROWS_REORDERED, {\n\t\tdata: {\n\t\t\trowsBeforeUpdate,\n\t\t\trowsAfterUpdate,\n\t\t\tmovedRows,\n\t\t},\n\t});\n};\n/**\n * hasNewRows: checks if any new rows added\n * @param {Coeffects<Props,State>} coeffects\n */\nexport const hasNewRows = (coeffects) => {\n\tconst {\n\t\tstate: { rowDefinitions: currentRowDefinitions },\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\tpreviousRenderState: { rowDefinitions: previousRowDefinitions },\n\t\t\t},\n\t\t},\n\t} = coeffects;\n\tif (isEqual(previousRowDefinitions, currentRowDefinitions)) return false;\n\tconst previousRows = rowSelectors.getRows(previousRowDefinitions) || [];\n\tconst currentRows = rowSelectors.getRows(currentRowDefinitions) || [];\n\n\tif (currentRows.length === previousRows.length) {\n\t\tconst currentRowsKeys = sortBy(currentRows.map(getRowKey), ['key']);\n\t\tconst previousRowsKeys = sortBy(previousRows.map(getRowKey), ['key']);\n\t\tif (isEqual(currentRowsKeys, previousRowsKeys)) return false;\n\t}\n\treturn true;\n};\n/* The following method is used to re-trigger/refresh the now-sortable initialization */\n/**\n * Re-trigger/refresh the now-sortable initialization\n * @param {Coeffects<Props,State>} coeffects\n */\nexport const refreshDragDrop = (coeffects) => {\n\tconst { dispatch } = coeffects;\n\tif (!hasNewRows(coeffects)) return;\n\t// we need to update sortable only on new rows addition\n\tdispatch(NOW_SORTABLE_UPDATE_BEHAVIOR);\n};\n\nconst rowDragDropBehavior = {\n\tname: 'rowDragDropBehavior',\n\t/**@type {ActionHandlers<Props,State>} */\n\tactionHandlers: {\n\t\t...nowSortable.actionHandlers,\n\t\t[COMPONENT_TREE_RENDERED]: refreshDragDrop,\n\t\t[NOW_LIST_ROW_SORT_START]: {\n\t\t\teffect: handleRowDragStart,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_LIST_ROW_DROP_AREA_CHANGE]: {\n\t\t\teffect: handleRowDragDropAreaChange,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_LIST_ROW_SORT_END]: {\n\t\t\teffect: handleRowDrop,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_LIST_ROW_SORT_CANCELLED]: {\n\t\t\teffect: handleRowDragDropCancel,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n\nexport default { behavior: rowDragDropBehavior, options: sortableOptions };\n","export const NOW_LIST_CONTEXT_ACTION_CLICKED =\n\t'NOW_LIST#CONTEXT_ACTION_CLICKED';\nexport const SN_LIST_GALLERY_GROUP_EXPANDED = 'SN_LIST_GALLERY#GROUP_EXPANDED';\nexport const NOW_LIST_GROUP_TOGGLED = 'NOW_LIST#GROUP_TOGGLED';\nexport const SN_LIST_GALLERY_GROUPS_EXPANDED =\n\t'SN_LIST_GALLERY#GROUPS_EXPANDED';\nexport const NOW_LIST_ALL_GROUPS_TOGGLED = 'NOW_LIST#ALL_GROUPS_TOGGLED';\nexport const SN_LIST_GALLERY_VIRTUALIZED_SCROLL_BOTTOM_REACHED =\n\t'SN_LIST_GALLERY#VIRTUALIZED_SCROLL_BOTTOM_REACHED';\nexport const NOW_LIST_VIRTUALIZED_SCROLL_BOTTOM_REACHED =\n\t'NOW_LIST#VIRTUALIZED_SCROLL_BOTTOM_REACHED';\nexport const NOW_LIST_ROW_CLICKED = 'NOW_LIST#ROW_CLICKED';\n","import { actionTypes } from '@servicenow/ui-core';\nimport { has, isArray, map } from 'lodash';\nimport difference from 'lodash/difference';\nimport flatten from 'lodash/flatten';\nimport get from 'lodash/get';\nimport includes from 'lodash/includes';\nimport isEmpty from 'lodash/isEmpty';\nimport values from 'lodash/values';\n\nimport { LAYOUT_OPTIONS } from '../../constants';\nimport { NOW_BUTTON_ICONIC_CLICKED } from '../../resources/constants';\nimport {\n\tSN_LIST_GALLERY_GROUP_EXPANDED,\n\tSN_LIST_GALLERY_GROUPS_EXPANDED,\n} from '../../shared/behaviors/actionConstants';\nimport rowSelectors from '../../shared/utils/selectors/rowSelectors';\nimport { UPDATE_KEYBOARD_NAV } from '../keyboardNavBehavior/constants';\n\nimport {\n\tEXPAND_ALL_GROUPS,\n\tEXPAND_GROUP,\n\tNOW_LIST_ALL_GROUPS_TOGGLED,\n\tNOW_LIST_GROUP_TOGGLED,\n} from './constants';\n\nconst { COMPONENT_PROPERTY_CHANGED, COMPONENT_BOOTSTRAPPED } = actionTypes;\nconst {\n\tgetGroupedOrDefaultRowsWithChildren,\n\tgetRowKey,\n\thasChildren,\n\tgetAllGroupKeysRecursively,\n\tgetKeysOfChildren,\n\tcreateStateOnBootstrapForExpandedChildren,\n} = rowSelectors;\n\n/* EFFECTS */\n\n/**\n * Delegates to the component bootstrap behavior if the rowDefinitions have changed\n * @param {Coeffects<Props, State>} coeffects\n */\nconst propertyChangedActionHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name },\n\t\t},\n\t} = coeffects;\n\n\tif (name === 'rowDefinitions') {\n\t\tcomponentBootstrappedActionHandler(coeffects);\n\t}\n};\n\n/**\n * Component bootstrapped for rowGroupingBehavior. Get all groups expanded and individual groups expanded and store in state\n * @param {Coeffects<Props, State>} coeffects\n */\nconst componentBootstrappedActionHandler = (coeffects) => {\n\tconst {\n\t\tproperties: { rowDefinitions, expandAllGroups },\n\t\tupdateState,\n\t\tstate: { rowGroupingState },\n\t} = coeffects;\n\n\tif (!rowDefinitions) return;\n\n\tconst groupedRows = getGroupedOrDefaultRowsWithChildren(\n\t\trowDefinitions.rows\n\t);\n\tconst groupKeys = getAllGroupKeysRecursively(rowDefinitions);\n\n\tif (!groupedRows) return;\n\n\tconst expandedGroupsArray = groupedRows\n\t\t.filter((/** @type {Row} */ row) => row.isGroupExpanded)\n\t\t.map((/** @type {{ key: string; }} */ row) => row.key);\n\t// This is how we calculate groupIdsException, when expandAllGroups is true\n\t// we find difference between all groups keys with expanded group keys\n\t// which basically gives us collapsed ids and set it as exceptions. Similarly if\n\t// expandAllGroups is false, we set exceptions as expandedGroupsArray\n\tconst groupIdsException = expandAllGroups\n\t\t? difference(groupKeys, expandedGroupsArray)\n\t\t: [...expandedGroupsArray];\n\n\tconst expandedChildrenObject = get(\n\t\trowGroupingState,\n\t\t'expandedChildrenObject',\n\t\t{}\n\t);\n\n\tlet newExpandedGroupsArray = expandedGroupsArray;\n\n\tif (!isEmpty(expandedChildrenObject)) {\n\t\tconst allExpandedChildrenValues = flatten(\n\t\t\tvalues(expandedChildrenObject)\n\t\t);\n\t\tmap(expandedGroupsArray, (/** @type {string} */ expandedGroupKey) => {\n\t\t\tif (includes(allExpandedChildrenValues, expandedGroupKey)) {\n\t\t\t\tnewExpandedGroupsArray = newExpandedGroupsArray.filter(\n\t\t\t\t\t(item) => item !== expandedGroupKey\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tcreateStateOnBootstrapForExpandedChildren(\n\t\t\trowDefinitions.rows,\n\t\t\trowGroupingState,\n\t\t\tundefined\n\t\t);\n\t}\n\n\tupdateState({\n\t\tpath: 'rowGroupingState',\n\t\tvalue: {\n\t\t\texpandAllGroups,\n\t\t\texpandedGroupsArray: newExpandedGroupsArray,\n\t\t\tgroupIdsException,\n\t\t\texpandedChildrenObject: expandedChildrenObject,\n\t\t},\n\t\toperation: 'set',\n\t});\n};\n\n/**\n * Handles expanding/collapsing individual rows\n * @param {Coeffects<Props,State>} coeffects\n */\nconst handleSingleGroupToggle = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\taction: {\n\t\t\tpayload: { row },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { layout },\n\t\tstate: { rowGroupingState },\n\t} = coeffects;\n\tconst rowKey = getRowKey(row);\n\tconst {\n\t\texpandAllGroups,\n\t\tgroupIdsException,\n\t\texpandedChildrenObject,\n\t} = rowGroupingState;\n\tlet { expandedGroupsArray } = rowGroupingState;\n\n\tlet expanded = false;\n\tlet exceptions = groupIdsException;\n\n\t// if individual group row is collapsed, we remove the key from expandedGroupsArray\n\tif (includes(expandedGroupsArray, rowKey)) {\n\t\tlet /** @type {Array<string | undefined>} */ groupRowKeys = []; // stores all row keys of children plus itself\n\t\tconst /** @type {Array<string>} */ remainingExpandedGroupKeys = [];\n\t\tif (hasChildren(row)) {\n\t\t\tgroupRowKeys = getKeysOfChildren(row.children);\n\t\t}\n\t\tgroupRowKeys.push(rowKey);\n\n\t\tmap(expandedGroupsArray, (/** @type {string} */ expandedGroupKey) => {\n\t\t\t// if there is any already expanded children of that parent, we push it to expandedChildrenObject\n\t\t\tif (includes(groupRowKeys, expandedGroupKey)) {\n\t\t\t\tif (expandedChildrenObject) {\n\t\t\t\t\tif (!has(expandedChildrenObject, rowKey)) {\n\t\t\t\t\t\texpandedChildrenObject[rowKey] = [];\n\t\t\t\t\t}\n\t\t\t\t\tif (isArray(expandedChildrenObject[rowKey])) {\n\t\t\t\t\t\texpandedChildrenObject[rowKey].push(expandedGroupKey);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Pushing rest of the expanded items back into array\n\t\t\t\tremainingExpandedGroupKeys.push(expandedGroupKey);\n\t\t\t}\n\t\t});\n\t\texpandedGroupsArray = remainingExpandedGroupKeys;\n\t} else {\n\t\t// if individual group row is expanded, we add the key from expandedGroupsArray.\n\t\t// We concat the state of previously expanded children and reset the value.\n\t\tif (has(expandedChildrenObject, rowKey)) {\n\t\t\texpandedGroupsArray = [\n\t\t\t\t...expandedGroupsArray,\n\t\t\t\t...expandedChildrenObject[rowKey],\n\t\t\t];\n\t\t\texpandedChildrenObject[rowKey] = [];\n\t\t}\n\t\texpandedGroupsArray.push(rowKey);\n\t\texpanded = true;\n\t}\n\t// If expandAllGroups is true, and few groups are collapsed, we store those groupkeys in this array and vice versa\n\tif (includes(groupIdsException, rowKey)) {\n\t\texceptions = groupIdsException.filter(\n\t\t\t(/** @type {string} */ key) => rowKey !== key\n\t\t);\n\t} else {\n\t\texceptions.push(rowKey);\n\t}\n\n\tupdateState({\n\t\tpath: 'rowGroupingState',\n\t\tvalue: {\n\t\t\texpandedGroupsArray: expandedGroupsArray,\n\t\t\texpandAllGroups,\n\t\t\tgroupIdsException: exceptions,\n\t\t\texpandedChildrenObject,\n\t\t},\n\t\toperation: 'set',\n\t});\n\n\t/**\n\t * Update keyboard navigation, since the rows displayed have changed.\n\t */\n\tif (layout === LAYOUT_OPTIONS.LIST) dispatch(UPDATE_KEYBOARD_NAV);\n\n\tdispatch(NOW_LIST_GROUP_TOGGLED, {\n\t\tgroupContext: row,\n\t\tisExpanded: expanded,\n\t\tgroupIdsException: exceptions,\n\t\texpandedChildrenObject,\n\t});\n};\n\n/**\n * Handles expanding/collapsing all grouped rows\n * @param {Coeffects<Props,State>} coeffects\n */\nconst handleAllGroupsToggle = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\tproperties: { rowDefinitions, layout },\n\t\tdispatch,\n\t\tstate: {\n\t\t\trowGroupingState: { expandAllGroups },\n\t\t},\n\t} = coeffects;\n\n\tdispatch(NOW_LIST_ALL_GROUPS_TOGGLED, {\n\t\tisExpanded: !expandAllGroups,\n\t});\n\n\tif (expandAllGroups) {\n\t\tupdateState({\n\t\t\tpath: 'rowGroupingState',\n\t\t\tvalue: {\n\t\t\t\texpandAllGroups: !expandAllGroups,\n\t\t\t\texpandedGroupsArray: [],\n\t\t\t\tgroupIdsException: [],\n\t\t\t},\n\t\t\toperation: 'set',\n\t\t});\n\t} else {\n\t\t// when all groups are expanded, we get all groupkeys and set it to expandedGroupsArray, update state\n\t\tconst groupKeys = getAllGroupKeysRecursively(rowDefinitions);\n\t\tupdateState({\n\t\t\tpath: 'rowGroupingState',\n\t\t\tvalue: {\n\t\t\t\texpandAllGroups: !expandAllGroups,\n\t\t\t\texpandedGroupsArray: groupKeys,\n\t\t\t\tgroupIdsException: [],\n\t\t\t},\n\t\t\toperation: 'set',\n\t\t});\n\t}\n\n\t/**\n\t * Update keyboard navigation, since the rows displayed have changed.\n\t */\n\tif (layout === LAYOUT_OPTIONS.LIST) dispatch(UPDATE_KEYBOARD_NAV);\n};\n\n/**\n * Handles expanding/collapsing grouped rows\n * @param {Coeffects<Props,State>} coeffects\n */\nconst handleGroupToggle = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { type },\n\t\t},\n\t} = coeffects;\n\n\tif (!type) return;\n\n\tif (type === EXPAND_GROUP) {\n\t\thandleSingleGroupToggle(coeffects);\n\t} else if (type === EXPAND_ALL_GROUPS) {\n\t\thandleAllGroupsToggle(coeffects);\n\t}\n};\n\nconst rowGroupingBehavior = {\n\tname: 'rowGroupingBehavior',\n\tinitialState: {\n\t\texpandedChildrenObject: {},\n\t},\n\t/**@type {ActionHandlers<Props,State>} */\n\tactionHandlers: {\n\t\t[COMPONENT_PROPERTY_CHANGED]: { effect: propertyChangedActionHandler },\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: componentBootstrappedActionHandler,\n\t\t},\n\t\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\t\teffect: handleGroupToggle,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SN_LIST_GALLERY_GROUP_EXPANDED]: {\n\t\t\teffect: handleSingleGroupToggle,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SN_LIST_GALLERY_GROUPS_EXPANDED]: {\n\t\t\teffect: handleAllGroupsToggle,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n\nexport default rowGroupingBehavior;\n","export const ROW_HIGHLIGHTED_STATE_PATH =\n\t'behaviors.rowHighlightedBehavior.state';\nexport const TABLE_SELECTOR = '>>> .now-list-table';\nexport const SCROLL_CONTAINER_SELECTOR = '.scroll-container';\n","import get from 'lodash/get';\n\nimport logger from '../../shared/utils/logger';\nimport rowSelectors from '../../shared/utils/selectors/rowSelectors';\nimport { querySelector } from '../keyboardNavBehavior/utils';\n\nimport {\n\tROW_HIGHLIGHTED_STATE_PATH,\n\tSCROLL_CONTAINER_SELECTOR,\n\tTABLE_SELECTOR,\n} from './constants';\n\nexport const rowHighlightedHelpers = {\n\t/**\n\t * Gets the behavior state from the larger component state object\n\t * @param  {StateWithProps<Props, State>} state\n\t * @return {RowHighlightedState}\n\t */\n\tgetBehaviorState(state) {\n\t\treturn get(state, ROW_HIGHLIGHTED_STATE_PATH, {});\n\t},\n\n\t/**\n\t * Gets selector for getting row element by its row key\n\t * @param  {string} key\n\t * @return {string}\n\t */\n\tgetRowSelectorByKey(key) {\n\t\treturn `tr[data-key=\"${key}\"]`;\n\t},\n\n\t/**\n\t * calculates the scroll behavior - smooth (animated) or not\n\t * if the scrolling distance is more than 4000 (approx height of 100 rows)\n\t * @param {number} distance the distance the total scroll will be\n\t * @returns\n\t */\n\tgetScrollBehavior(distance) {\n\t\treturn distance > 4000 ? 'auto' : 'smooth';\n\t},\n\n\t/**\n\t * scrolls down to a row until it is visible\n\t * when we scroll down a lot, the height of the table can grow during the scroll\n\t * because the amount to scroll is calculated based on the initial height, we\n\t * have after the scroll is done to see if more scrolling is needed\n\t * @param {Element} row the row which needs to be scrolled to if not visible\n\t * @param {Element} container the container to scroll\n\t * @param {number} wait wait time in ms before initial check of row visible\n\t * @param {'smooth' | 'auto'} scrollBehavior behavior to pass into scrollIntoView function\n\t * @param {number} initialDistance the initial distance calculated that the rows needs to be scrolled\n\t * @returns\n\t */\n\tasync scrollDownToRow(\n\t\trow,\n\t\tcontainer,\n\t\twait,\n\t\tscrollBehavior,\n\t\tinitialDistance\n\t) {\n\t\tlet counter = 0;\n\n\t\trow.scrollIntoView({\n\t\t\tblock: 'end',\n\t\t\tbehavior: scrollBehavior,\n\t\t});\n\n\t\treturn /** @type {Promise<void>} */ (new Promise((resolve) => {\n\t\t\tconst bottomRowToContainerBuffer = 5;\n\n\t\t\tlet previousScrollDistance = initialDistance;\n\t\t\tconst visibleCheckLoop = (/** @type {number} */ wait) =>\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tcounter++;\n\t\t\t\t\t\tconst cancel = () => {\n\t\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t};\n\t\t\t\t\t\t// just in case something happens, dont want this running forever, force exit condition;\n\t\t\t\t\t\tif (counter > 30 || !row) return cancel();\n\n\t\t\t\t\t\tconst rowRectInner = row.getBoundingClientRect();\n\t\t\t\t\t\tconst scrollRect = container.getBoundingClientRect();\n\t\t\t\t\t\tif (!scrollRect) {\n\t\t\t\t\t\t\treturn cancel();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst newScrollDistance =\n\t\t\t\t\t\t\trowRectInner.bottom - scrollRect.bottom;\n\t\t\t\t\t\tconst previousScrollHasStopped =\n\t\t\t\t\t\t\tnewScrollDistance === previousScrollDistance;\n\t\t\t\t\t\tconst rowStillNotVisible =\n\t\t\t\t\t\t\tnewScrollDistance > bottomRowToContainerBuffer;\n\n\t\t\t\t\t\tif (rowStillNotVisible) {\n\t\t\t\t\t\t\tif (previousScrollHasStopped) {\n\t\t\t\t\t\t\t\trow.scrollIntoView({\n\t\t\t\t\t\t\t\t\tblock: 'end',\n\t\t\t\t\t\t\t\t\tbehavior: scrollBehavior,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tpreviousScrollDistance = newScrollDistance;\n\t\t\t\t\t\t\tvisibleCheckLoop(wait);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn cancel();\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (ex) {\n\t\t\t\t\t\tlogger.warning('Error scrolling to highlighted row', {\n\t\t\t\t\t\t\tex,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t}\n\t\t\t\t}, wait);\n\t\t\tvisibleCheckLoop(wait);\n\t\t}));\n\t},\n\n\t/**\n\t * This function handles scrolling to a specific row by key\n\t * determine if the row is visible, and if not, scroll to it\n\t * @param {String} rowKeyToScroll\n\t * @param {HTMLElement} host\n\t */\n\tasync scrollRowIntoView(rowKeyToScroll, host) {\n\t\t/** @type HTMLElement */\n\t\tconst tableNode = querySelector(TABLE_SELECTOR, host);\n\t\tif (tableNode) {\n\t\t\t/** @type HTMLElement | null */\n\t\t\tconst rowToScroll = tableNode.querySelector(\n\t\t\t\tthis.getRowSelectorByKey(rowKeyToScroll)\n\t\t\t);\n\n\t\t\tif (rowToScroll) {\n\t\t\t\tconst scrollContainer = rowToScroll.closest(\n\t\t\t\t\tSCROLL_CONTAINER_SELECTOR\n\t\t\t\t);\n\t\t\t\tif (!scrollContainer) return;\n\n\t\t\t\tconst rowRect = rowToScroll.getBoundingClientRect();\n\t\t\t\tif (!rowRect) return;\n\t\t\t\tconst colHeaderNode = tableNode.querySelector('thead');\n\t\t\t\tif (!colHeaderNode) return;\n\n\t\t\t\tconst colHeaderRect = colHeaderNode.getBoundingClientRect();\n\t\t\t\tconst scrollContainerRect = scrollContainer.getBoundingClientRect();\n\n\t\t\t\tconst isRowAboveColumnHeader =\n\t\t\t\t\trowRect.top < colHeaderRect.bottom;\n\t\t\t\tconst isRowBelowScrollContainer =\n\t\t\t\t\trowRect.bottom > scrollContainerRect.bottom;\n\n\t\t\t\tif (isRowAboveColumnHeader) {\n\t\t\t\t\tconst scrollDistance = colHeaderRect.bottom - rowRect.top;\n\t\t\t\t\tscrollContainer.scrollTo({\n\t\t\t\t\t\ttop: scrollContainer.scrollTop - scrollDistance,\n\t\t\t\t\t\tbehavior: this.getScrollBehavior(scrollDistance),\n\t\t\t\t\t});\n\t\t\t\t} else if (isRowBelowScrollContainer) {\n\t\t\t\t\tconst scrollDistance =\n\t\t\t\t\t\trowRect.bottom - scrollContainerRect.bottom;\n\t\t\t\t\tconst scrollBehavior = this.getScrollBehavior(\n\t\t\t\t\t\tscrollDistance\n\t\t\t\t\t);\n\t\t\t\t\tconst scrollWaitTime = 100;\n\n\t\t\t\t\tawait this.scrollDownToRow(\n\t\t\t\t\t\trowToScroll,\n\t\t\t\t\t\tscrollContainer,\n\t\t\t\t\t\tscrollWaitTime,\n\t\t\t\t\t\tscrollBehavior,\n\t\t\t\t\t\tscrollDistance\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n};\n\n/**\n * Determine if there is a new highlighted row, if there\n * there are new highlighted rows, store reference to the first one\n * @param {RowDefinitions} rowDefinitions\n * @param {StateWithProps<Props, State>} state\n * @param {Now.UpdateStateFunction<State>} updateState\n */\nexport const checkIfNewHighlightedRows = (\n\trowDefinitions,\n\tstate,\n\tupdateState\n) => {\n\tconst behaviorState = rowHighlightedHelpers.getBehaviorState(state);\n\tconst previousHighlighted = behaviorState?.highlightedRowKeys;\n\t/**\n\t * @type {string | null}\n\t */\n\tlet rowKeyToScroll = null;\n\n\t// create Set of highlighted row keys to store in state,\n\t// compare new highlighted row keys to old keys to see if there is a new row being highlighted\n\tconst highlightedRowKeys =\n\t\trowSelectors.getAllHighlightedRowKeys(rowDefinitions?.rows).reduce(\n\t\t\t/**\n\t\t\t * @type {(keys: Set<string>, row: string) => Set<string>}\n\t\t\t */\n\t\t\t(keys, rowKey) => {\n\t\t\t\tkeys.add(rowKey);\n\t\t\t\t// Find the first highlighted row that is new, this will be target of scroll\n\t\t\t\tif (!rowKeyToScroll && !previousHighlighted?.has(rowKey)) {\n\t\t\t\t\trowKeyToScroll = rowKey;\n\t\t\t\t}\n\t\t\t\treturn keys;\n\t\t\t},\n\t\t\tnew Set()\n\t\t) || new Set();\n\n\tupdateState({\n\t\tpath: ROW_HIGHLIGHTED_STATE_PATH,\n\t\tvalue: {\n\t\t\t...behaviorState,\n\t\t\thighlightedRowKeys,\n\t\t\trowKeyToScroll,\n\t\t},\n\t\toperation: 'set',\n\t\tshouldRender: false,\n\t});\n};\n","import { actionTypes } from '@servicenow/ui-core';\n\nimport { ROW_HIGHLIGHTED_STATE_PATH } from './constants';\nimport {\n\tcheckIfNewHighlightedRows,\n\trowHighlightedHelpers as helpers,\n} from './rowHighlightedHelpers';\n\nconst {\n\tCOMPONENT_RENDERED,\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_PROPERTY_CHANGED,\n} = actionTypes;\nconst { ROW_DEFINITIONS_PROP } = require('../../constants');\n\n/**\n * Check if new highlighted rows on initial render\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nconst componentDomTreeReadyEffect = (coeffects) => {\n\tconst {\n\t\tproperties: { rowDefinitions },\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\n\tcheckIfNewHighlightedRows(rowDefinitions, state, updateState);\n};\n\n/**\n * If there is highlighted row key (detect from previous rowDefinition prop change), make sure it is visible\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const componentRenderedEffect = async (coeffects) => {\n\tconst { host, state, updateState } = coeffects;\n\tconst behaviorState = helpers.getBehaviorState(state);\n\tconst { rowKeyToScroll = null } = behaviorState;\n\n\tif (rowKeyToScroll) {\n\t\tawait helpers.scrollRowIntoView(rowKeyToScroll, host);\n\n\t\tupdateState({\n\t\t\tpath: `${ROW_HIGHLIGHTED_STATE_PATH}.rowKeyToScroll`,\n\t\t\tvalue: null,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false,\n\t\t});\n\t}\n};\n\n/**\n * if rowDefinitions have changed check if a new highlighted row needs handling\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const componentPropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name },\n\t\t},\n\t\tproperties: { rowDefinitions },\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\n\tif (name === ROW_DEFINITIONS_PROP) {\n\t\tcheckIfNewHighlightedRows(rowDefinitions, state, updateState);\n\t}\n};\n\nconst rowHighlightedBehavior = {\n\tname: 'rowHighlightedBehavior',\n\tinitialState: {\n\t\trowHighlightedState: {},\n\t},\n\t/**@type {ActionHandlers<Props,State>} */\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_TREE_READY]: {\n\t\t\teffect: componentDomTreeReadyEffect,\n\t\t},\n\t\t[COMPONENT_RENDERED]: {\n\t\t\teffect: componentRenderedEffect,\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: componentPropertyChanged,\n\t\t},\n\t},\n};\n\nexport default rowHighlightedBehavior;\n","import { actionTypes } from '@servicenow/ui-core';\nimport { get, isArray, set, unset, size, has, isEqual } from 'lodash';\n\nimport rowSelectors from '../../shared/utils/selectors/rowSelectors';\nimport { ROW_TYPE_DEFAULT } from '../../typeSchemas/rowDefinitions/rowTypes/rowTypes';\n\nimport {\n\tROW_CHECKBOX_INTERNAL_SET,\n\tNOW_CHECKBOX_CHECKED_SET,\n\tNOW_LIST_ROW_SELECT_TOGGLED,\n\tNOW_LIST_SELECT_ALL_TOGGLED,\n} from './constants';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\nconst { ROW_DEFINITIONS_PROP } = require('../../constants');\n\nexport const rowSelectionHelpers = {\n\t/**\n\t * Helper reducer to iterate through all rows (irregardless of grouped type) and\n\t * accumulate all of the enabled rows\n\t * @param {Array<Row>} enabledRows\n\t * @param {Row} row\n\t * @returns {Array<Row>}\n\t */\n\t_areAllRowsSelectedReducer(enabledRows, row) {\n\t\tconst rowType = rowSelectors.getRowType(row);\n\t\tconst isRowTypeDefault = rowType === ROW_TYPE_DEFAULT || !rowType;\n\n\t\tif (rowType === 'grouped' && row.children && row.children.length > 0) {\n\t\t\treturn row.children.reduce(\n\t\t\t\tthis._areAllRowsSelectedReducer.bind(this),\n\t\t\t\tenabledRows\n\t\t\t);\n\t\t}\n\n\t\tif (isRowTypeDefault && !get(row, 'selectionDisabled', false)) {\n\t\t\tenabledRows = enabledRows.concat(row);\n\t\t}\n\n\t\tif (isRowTypeDefault && row.children && row.children.length > 0) {\n\t\t\treturn row.children.reduce(\n\t\t\t\tthis._areAllRowsSelectedReducer.bind(this),\n\t\t\t\tenabledRows\n\t\t\t);\n\t\t}\n\n\t\treturn enabledRows;\n\t},\n\t/**\n\t * Selector to check if all rows are selected. TODO: Future enhancements of this logic.\n\t * Having to iterate through all of the rows every time we make a selection seems like bad logic\n\t * We should memoize all enabled rows so we aren't always iterating through.\n\t * @param {RowDefinitions} rowDefinitions\n\t * @param {object} selectedRows\n\t * @returns {boolean}\n\t */\n\tareAllRowsSelected(rowDefinitions, selectedRows) {\n\t\tif (!rowSelectors.hasRows(rowDefinitions)) return false;\n\n\t\tconst rows = rowSelectors.getRows(rowDefinitions);\n\t\tconst allEnabledRows = rows.reduce(\n\t\t\tthis._areAllRowsSelectedReducer.bind(this),\n\t\t\t[]\n\t\t);\n\n\t\treturn allEnabledRows.length === size(selectedRows);\n\t},\n\n\t/**\n\t * get all selected rows\n\t * @param {Row[]} rows\n\t * @param {object} selectedRowKeys object containing selected rows keys\n\t *\n\t * @returns {Row[]} array of selected rows\n\t */\n\tgetAllSelectedRows(rows = [], selectedRowKeys) {\n\t\treturn rows.filter((/** @type {Row} */ row) =>\n\t\t\thas(selectedRowKeys, row.key)\n\t\t);\n\t},\n\n\t/**\n\t * set row selection state on initial render\n\t * @param {RowDefinitions} rowDefinitions\n\t * @param {Now.UpdateStateFunction<State>} updateState object containing selected rows keys\n\t */\n\tsetInitialRowSelectionState(rowDefinitions, updateState) {\n\t\tconst selectedRows = rowSelectors.getInitialSelectedRows(\n\t\t\trowDefinitions\n\t\t);\n\t\tupdateState({\n\t\t\tpath: 'rowSelectionState',\n\t\t\tvalue: {\n\t\t\t\ttoggledSelectionRowIndex: -1,\n\t\t\t\tselectedRows,\n\t\t\t\tselectAllRows: rowSelectionHelpers.areAllRowsSelected(\n\t\t\t\t\trowDefinitions,\n\t\t\t\t\tselectedRows\n\t\t\t\t),\n\t\t\t},\n\t\t\toperation: 'set',\n\t\t\tshouldRender: false,\n\t\t});\n\t},\n};\n\n/**\n * This effect handles when a user selects a single row/multiple rows,\n * it updates internal state of selected rows and dispatches NOW_LIST_ROW_SELECT_TOGGLED\n * @param {Coeffects<Props, State>} coeffects\n */\nconst rowSelectionEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload,\n\t\t\tpayload: {\n\t\t\t\tshiftKey,\n\t\t\t\tchecked,\n\t\t\t\trowIndex,\n\t\t\t\tallRowKeys,\n\t\t\t\tenableOnlySingleSelection,\n\t\t\t},\n\t\t},\n\t\tupdateState,\n\t\tstate: {\n\t\t\trowSelectionState: { selectedRows, toggledSelectionRowIndex },\n\t\t},\n\t\tproperties: { rowDefinitions },\n\t\tdispatch,\n\t} = coeffects;\n\n\tlet rowKey = get(payload, 'rowKey', '');\n\n\tif (shiftKey && toggledSelectionRowIndex >= 0) {\n\t\tconst startIndex = Math.min(rowIndex, toggledSelectionRowIndex);\n\t\tconst endIndex = Math.max(rowIndex, toggledSelectionRowIndex);\n\t\trowKey = allRowKeys.slice(startIndex, endIndex + 1);\n\t}\n\n\t(isArray(rowKey) ? rowKey : [rowKey]).forEach((\n\t\t/** @type {string} */ uniqueId\n\t) => {\n\t\tlet selectionDisabled = false;\n\t\t// on multiple row selection check if row selection is disableds\n\t\tconst row = rowSelectors.getRow(rowDefinitions.rows, uniqueId);\n\t\tselectionDisabled = rowSelectors.getSelectionDisabledForParticularRow(\n\t\t\trow\n\t\t);\n\n\t\tif (!selectionDisabled) {\n\t\t\tif (checked) set(selectedRows, [uniqueId], row);\n\t\t\telse unset(selectedRows, [uniqueId]);\n\t\t}\n\t});\n\n\tlet updatedSelectedRows = {};\n\tif (enableOnlySingleSelection) {\n\t\tconst { [rowKey]: row } = selectedRows;\n\t\tupdatedSelectedRows = row\n\t\t\t? {\n\t\t\t\t\t[rowKey]: row,\n\t\t\t  }\n\t\t\t: {};\n\t} else {\n\t\tupdatedSelectedRows = selectedRows;\n\t}\n\n\tupdateState({\n\t\tpath: 'rowSelectionState',\n\t\tvalue: {\n\t\t\ttoggledSelectionRowIndex: rowIndex,\n\t\t\tselectedRows: updatedSelectedRows,\n\t\t\tselectAllRows: rowSelectionHelpers.areAllRowsSelected(\n\t\t\t\trowDefinitions,\n\t\t\t\tupdatedSelectedRows\n\t\t\t),\n\t\t},\n\t\toperation: 'set',\n\t});\n\n\tdispatch(NOW_LIST_ROW_SELECT_TOGGLED, {\n\t\tvalue: rowKey,\n\t\tchecked,\n\t\tselectedRows: updatedSelectedRows,\n\t});\n};\n\n/**\n * This effect handles Select All Checkbox\n * it updates internal state of selected rows and dispatches NOW_LIST_SELECT_ALL_TOGGLED\n * @param {Coeffects<Props, State>} coeffects\n */\nconst allRowsSelectionEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { checked, allRowKeys, isSelectAllCheckbox },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (isSelectAllCheckbox) {\n\t\tdispatch(ROW_CHECKBOX_INTERNAL_SET, {\n\t\t\trowKey: allRowKeys,\n\t\t\tallRowKeys,\n\t\t\trowIndex: -1,\n\t\t\tchecked,\n\t\t});\n\n\t\tdispatch(NOW_LIST_SELECT_ALL_TOGGLED, {\n\t\t\tisChecked: checked,\n\t\t});\n\t}\n};\n\n/**\n * This effect sets initial state for row selection\n * @param {Coeffects<Props, State>} coeffects\n */\nconst componentBootstrappedEffect = (coeffects) => {\n\tconst {\n\t\tupdateState,\n\t\tproperties: { rowDefinitions },\n\t} = coeffects;\n\n\trowSelectionHelpers.setInitialRowSelectionState(\n\t\trowDefinitions,\n\t\tupdateState\n\t);\n};\n\n/**\n * This effect updates initial row selection state when rowDefinitions updates\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const componentPropertyChanged = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue },\n\t\t},\n\t\tupdateState,\n\t\tproperties: { rowDefinitions },\n\t} = coeffects;\n\n\tif (isEqual(value, previousValue)) return;\n\n\tif (name === ROW_DEFINITIONS_PROP) {\n\t\tconst selectedRowsNew = rowSelectors.getInitialSelectedRows(value);\n\t\tconst selectAllRowsNew = rowSelectionHelpers.areAllRowsSelected(\n\t\t\tvalue,\n\t\t\tselectedRowsNew\n\t\t);\n\t\tconst selectedRowsOld = rowSelectors.getInitialSelectedRows(\n\t\t\tpreviousValue\n\t\t);\n\t\tconst selectAllRowsOld = rowSelectionHelpers.areAllRowsSelected(\n\t\t\tpreviousValue,\n\t\t\tselectedRowsOld\n\t\t);\n\n\t\t// DEF0488798 Set row selection state based off incoming rowDefinitions, only when selectRows or selectAllRows properties got changed\n\t\tif (\n\t\t\t!isEqual(selectedRowsNew, selectedRowsOld) ||\n\t\t\t!isEqual(selectAllRowsNew, selectAllRowsOld)\n\t\t) {\n\t\t\trowSelectionHelpers.setInitialRowSelectionState(\n\t\t\t\trowDefinitions,\n\t\t\t\tupdateState\n\t\t\t);\n\t\t}\n\t}\n};\n\nconst rowSelectionBehavior = {\n\tname: 'rowSelectionBehavior',\n\t/**@type {ActionHandlers<Props,State>} */\n\tactionHandlers: {\n\t\t[ROW_CHECKBOX_INTERNAL_SET]: {\n\t\t\teffect: rowSelectionEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: componentBootstrappedEffect,\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: componentPropertyChanged,\n\t\t},\n\t\t[NOW_CHECKBOX_CHECKED_SET]: {\n\t\t\teffect: allRowsSelectionEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n\nexport default rowSelectionBehavior;\n","export const ROWS_ENTERED_VIEW = 'VIRTUALIZED_SCROLL_ROWS_ENTERED_VIEW';\nexport const TOP_LOADER_ENTERED_VIEW = 'TOP_LOADER_ENTERED_VIEW';\nexport const BOTTOM_LOADER_ENTERED_VIEW = 'BOTTOM_LOADER_ENTERED_VIEW';\nexport const TOP_BOUND_ENTERED_VIEW = 'TOP_BOUND_ENTERED_VIEW';\nexport const BOTTOM_BOUND_ENTERED_VIEW = 'BOTTOM_BOUND_ENTERED_VIEW';\nexport const LONG_SCROLL_TRIGGERED = 'VIRTUALIZED_LONG_SCROLL_TRIGGERED'; // long scroll is when a user scrolls faster than the render rows with observers can keep up with.\nexport const SCROLL_TO_TOP_TRIGGERED = 'SCROLL_TO_TOP_TRIGGERED';\nexport const SHOW_SCROLL_TO_TOP_BUTTON = 'SHOW_SCROLL_TO_TOP_BUTTON';\nexport const HIDE_SCROLL_TO_TOP_BUTTON = 'HIDE_SCROLL_TO_TOP_BUTTON';\nexport const HANDLE_SCROLL_BOTTOM_REACHED = 'HANDLE_SCROLL_BOTTOM_REACHED';\nexport const RETRY_PREPARE_VIRTUALIZED_OBSERVER =\n\t'RETRY_PREPARE_VIRTUALIZED_OBSERVER';\nexport const VIRTUALIZED_SCROLL_BOTTOM_REACHED =\n\t'NOW_LIST#VIRTUALIZED_SCROLL_BOTTOM_REACHED';\nexport const VIRTUALIZED_LIST_BEHAVIOR = 'virtualizedListBehavior';\nexport const SCROLL_CONTAINER = '.scroll-container';\nexport const TABLE_BODY = 'tbody';\nexport const DEFAULT_ROW_HEIGHT = 41;\nexport const SCROLL_TO_TOP_START_ROW = 4;\nexport const SCROLL_BOTTOM_REACHED = 10;\nexport const RETRY = 3;\n","import { throttle } from 'lodash';\n\nimport {\n\tROWS_ENTERED_VIEW,\n\tTOP_LOADER_ENTERED_VIEW,\n\tBOTTOM_LOADER_ENTERED_VIEW,\n\tTOP_BOUND_ENTERED_VIEW,\n\tBOTTOM_BOUND_ENTERED_VIEW,\n\tLONG_SCROLL_TRIGGERED,\n\tSHOW_SCROLL_TO_TOP_BUTTON,\n\tHIDE_SCROLL_TO_TOP_BUTTON,\n\tHANDLE_SCROLL_BOTTOM_REACHED,\n} from './constants';\n\nexport const processEvents = async (\n\t/** @type {Array<IntersectionObserverEntry>} */ intersectionEvents,\n\t/** @type {VirtualizedObserver} */ instance\n) => {\n\tif (!instance.isEnabled) {\n\t\treturn;\n\t}\n\n\twhile (intersectionEvents.length > 0) {\n\t\tconst event = intersectionEvents.pop();\n\t\tlet intersectEvent = null;\n\n\t\tif (\n\t\t\tevent &&\n\t\t\t!event.isIntersecting &&\n\t\t\tevent.target === instance.scrollToTopRef\n\t\t) {\n\t\t\t// only show the scroll to top button when the element is in the DOM\n\t\t\t// when element is removed from the DOM, we do not want to show the scroll to top button\n\t\t\tif (event.target.isConnected) {\n\t\t\t\tif (event.target.className.includes('is-hidden')) {\n\t\t\t\t\tinstance.dispatch(); // reset the scroll to top button\n\t\t\t\t} else {\n\t\t\t\t\tinstance.dispatch(SHOW_SCROLL_TO_TOP_BUTTON);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (event && (event.isIntersecting || event.intersectionRatio > 0)) {\n\t\t\tswitch (event.target) {\n\t\t\t\tcase instance.topLoaderRef:\n\t\t\t\t\tintersectEvent = TOP_LOADER_ENTERED_VIEW;\n\t\t\t\t\tbreak;\n\t\t\t\tcase instance.bottomLoaderRef:\n\t\t\t\t\tintersectEvent = BOTTOM_LOADER_ENTERED_VIEW;\n\t\t\t\t\tbreak;\n\t\t\t\tcase instance.topBoundRef:\n\t\t\t\t\tintersectEvent = TOP_BOUND_ENTERED_VIEW;\n\t\t\t\t\tbreak;\n\t\t\t\tcase instance.bottomBoundRef:\n\t\t\t\t\tintersectEvent = BOTTOM_BOUND_ENTERED_VIEW;\n\t\t\t\t\tbreak;\n\t\t\t\tcase instance.scrollToTopRef:\n\t\t\t\t\tinstance.dispatch(HIDE_SCROLL_TO_TOP_BUTTON);\n\t\t\t\t\tcontinue;\n\t\t\t\tcase instance.endOfScrollReachedRef:\n\t\t\t\t\tinstance.dispatch(HANDLE_SCROLL_BOTTOM_REACHED);\n\t\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (intersectEvent) {\n\t\t\t\tinstance.dispatch(ROWS_ENTERED_VIEW, {\n\t\t\t\t\tintersectEvent,\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// @ts-ignore\n\t\t\tif (instance.ghostRowObservedElements.has(event.target)) {\n\t\t\t\tconst {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\t// @ts-ignore - dataset does exist on the target field which is a HTMLTableElement during run time\n\t\t\t\t\t\t// IntersectionObserverEntry target is set to element but during run time it is a HTMLTableElement\n\t\t\t\t\t\t// from our table.\n\t\t\t\t\t\tdataset: { key },\n\t\t\t\t\t},\n\t\t\t\t} = event;\n\t\t\t\tconst index = instance.ghostRowIdsToIndex.get(key);\n\t\t\t\tinstance.dispatch(LONG_SCROLL_TRIGGERED, {\n\t\t\t\t\tindex,\n\t\t\t\t});\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t}\n};\n\nexport const handleIntersectionEvents = throttle(\n\t/** @type {(events: IntersectionObserverEntry[], instance: VirtualizedObserver) => void} */ (processEvents),\n\t300\n);\n","import { handleIntersectionEvents } from './virtualizedObserverUtils';\n\n// Each rendered subset of the row definitions list will create a new instance of this class, and destroy the previous one.\nexport class VirtualizedObserver {\n\t/**\n\t * @type {Element | null}\n\t */\n\ttopLoaderRef;\n\t/**\n\t * @type {Element | null}\n\t */\n\tbottomLoaderRef;\n\t/**\n\t * @type {Element | null}\n\t */\n\ttopBoundRef;\n\t/**\n\t * @type {Element | null}\n\t */\n\tscrollToTopRef;\n\t/**\n\t * @type {Element | null}\n\t */\n\tbottomBoundRef;\n\tdispatch;\n\t/**\n\t * @type {IntersectionObserver }\n\t */\n\tobserver;\n\t/**\n\t * @type {WeakSet<Element>}\n\t */\n\tobservedItems;\n\t/**\n\t * @type {Array<Element>}\n\t */\n\titemRefs;\n\t/**\n\t * @type {boolean}\n\t */\n\tisEnabled;\n\t/**\n\t * @type {boolean}\n\t */\n\tisTopLoaderVisible;\n\t/**\n\t * @type {boolean}\n\t */\n\tisBottomLoaderVisible;\n\t/**\n\t * @type {boolean}\n\t */\n\tisTopBoundVisible;\n\t/**\n\t * @type {boolean}\n\t */\n\tisBottomBoundVisible;\n\t/**\n\t * @type {Array<IntersectionObserverEntry>}\n\t */\n\tobservedEvents = [];\n\n\t/**\n\t * @type {Map<String,number>} ghostRowIdsToIndex - it is a map of TR element keys to their respective indexes in the rowDefinitions list\n\t */\n\tghostRowIdsToIndex;\n\t/**\n\t * @type {Set<Element>}\n\t */\n\tghostRowObservedElements;\n\n\tendOfScrollReachedRef;\n\n\t/**\n\t * @param {Element | null} topLoaderRef\n\t * @param {Element | null} bottomLoaderRef\n\t * @param {Element | null} topBoundRef\n\t * @param {Element | null} bottomBoundRef\n\t * @param {Element | null} scrollToTopRef\n\t * @param {Function} dispatch\n\t * @param {Map<String,number>} ghostRowIdsToIndex\n\t * @param {Set<Element>} ghostRowObservedElements\n\t * @param {Element | null} endOfScrollReachedRef\n\t * @param {string} rootMargin\n\t */\n\tconstructor(\n\t\ttopLoaderRef,\n\t\tbottomLoaderRef,\n\t\ttopBoundRef,\n\t\tbottomBoundRef,\n\t\tscrollToTopRef,\n\t\tdispatch,\n\t\tghostRowIdsToIndex,\n\t\tghostRowObservedElements,\n\t\tendOfScrollReachedRef,\n\t\trootMargin = '100px 0px 100px 0px'\n\t) {\n\t\tthis.ghostRowObservedElements = ghostRowObservedElements;\n\t\tthis.ghostRowIdsToIndex = ghostRowIdsToIndex;\n\t\tthis.isEnabled = true;\n\t\tthis.topLoaderRef = topLoaderRef;\n\t\tthis.bottomLoaderRef = bottomLoaderRef;\n\t\tthis.topBoundRef = topBoundRef;\n\t\tthis.bottomBoundRef = bottomBoundRef;\n\t\tthis.scrollToTopRef = scrollToTopRef;\n\t\tthis.endOfScrollReachedRef = endOfScrollReachedRef;\n\t\tthis.dispatch = dispatch;\n\n\t\tthis.isTopLoaderVisible = false;\n\t\tthis.isBottomLoaderVisible = false;\n\t\tthis.isTopBoundVisible = false;\n\t\tthis.isBottomBoundVisible = false;\n\n\t\tthis.observedItems = new WeakSet();\n\t\tthis.itemRefs = [];\n\t\tthis.observedEvents = [];\n\t\tthis.observerCallback = this.observerCallback.bind(this);\n\n\t\tthis.observer = new IntersectionObserver(this.observerCallback, {\n\t\t\troot: null, // null = viewport is the browser window\n\t\t\trootMargin,\n\t\t\tthreshold: [0], // Triggered when: Top of element (0), or Bottom of element (1), gets into the viewport\n\t\t});\n\t}\n\n\t/**\n\t * @param {boolean} enabled\n\t */\n\tsetEnabled(enabled) {\n\t\tthis.isEnabled = enabled;\n\t}\n\n\t/**\n\t * @param {Array<IntersectionObserverEntry>} intersectionEvents\n\t */\n\tobserverCallback(intersectionEvents) {\n\t\tif (!this.isEnabled) {\n\t\t\treturn;\n\t\t}\n\t\tconst events = intersectionEvents;\n\n\t\thandleIntersectionEvents(events, this);\n\t}\n\n\t/**\n\t * @param {Element | null} itemRef\n\t */\n\tobserveItem(itemRef) {\n\t\tif (!itemRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.observedItems.has(itemRef)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.observer.observe(itemRef);\n\t\tthis.observedItems.add(itemRef);\n\t\tthis.itemRefs.push(itemRef);\n\t}\n\n\t/**\n\t * @param {Element}itemRef\n\t */\n\tunobserveItem(itemRef) {\n\t\tif (!itemRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.observedItems.has(itemRef)) {\n\t\t\treturn;\n\t\t}\n\t\tthis.observer.unobserve(itemRef);\n\t\tthis.observedItems.delete(itemRef);\n\t\tthis.itemRefs = this.itemRefs.filter((ref) => ref !== itemRef);\n\t}\n\n\tdestroy() {\n\t\tif (this.scrollToTopRef) {\n\t\t\tthis.observer.unobserve(this.scrollToTopRef);\n\t\t}\n\t\tthis.scrollToTopRef = null;\n\t\tif (this.topLoaderRef) {\n\t\t\tthis.observer.unobserve(this.topLoaderRef);\n\t\t}\n\t\tthis.topLoaderRef = null;\n\n\t\tif (this.bottomLoaderRef) {\n\t\t\tthis.observer.unobserve(this.bottomLoaderRef);\n\t\t}\n\t\tthis.bottomLoaderRef = null;\n\n\t\tif (this.topBoundRef) {\n\t\t\tthis.observer.unobserve(this.topBoundRef);\n\t\t}\n\t\tthis.topBoundRef = null;\n\n\t\tif (this.bottomBoundRef) {\n\t\t\tthis.observer.unobserve(this.bottomBoundRef);\n\t\t}\n\t\tthis.bottomBoundRef = null;\n\n\t\t// @ts-ignore\n\t\tthis.dispatch = null;\n\t\tthis.itemRefs.forEach((itemRef) => {\n\t\t\t// noinspection JSTypeOfValues\n\t\t\tif (itemRef) {\n\t\t\t\tthis.unobserveItem(itemRef);\n\t\t\t}\n\t\t});\n\t\tthis.itemRefs = [];\n\t\tthis.observer.disconnect();\n\t\t// @ts-ignore\n\t\tthis.observer = null;\n\t}\n}\n","import {\n\tRETRY,\n\tRETRY_PREPARE_VIRTUALIZED_OBSERVER,\n\tSCROLL_BOTTOM_REACHED,\n\tSCROLL_TO_TOP_START_ROW,\n\tVIRTUALIZED_LIST_BEHAVIOR,\n} from './constants';\nimport { VirtualizedObserver } from './virtualizedObserver';\n\n/**\n * nowId is the unique id of the now-list component. This map stores the current active\n * observer associated to the current rendered block of rows.\n * @type {Map<String, VirtualizedObserver | undefined>}\n */\nexport const observerByNowId = new Map();\n\n/**\n * The rendered list size is calculated using blocks of rows. Each block is a subset\n * of rows that are rendered in the viewport. The loader ref observers are positioned\n * at the top and bottom of the total rendered list. The LOADER_REF_POSITION_PERCENTAGE is\n * the percentage from the top and from the bottom that these references are set.\n * @type {number}e\n */\nconst LOADER_REF_POSITION_PERCENTAGE = 0.3;\n\n/**\n * @param {string} nowId nowId of component (now-list)\n * @returns {VirtualizedObserver | undefined}\n */\nexport const getObserver = (nowId) => observerByNowId.get(nowId);\n\n/**\n * Get behavior state from component state\n * @param {State} state\n * @returns {VirtualizedListBehaviorState}\n */\nexport const getVirtualizedBehaviorState = (state) =>\n\t// @ts-ignore\n\tstate && state.behaviors ? state.behaviors[VIRTUALIZED_LIST_BEHAVIOR] : {};\n\n/**\n * Deletes the observer associated to the nowId.\n * @param {string} nowId\n */\nexport const destroyObserver = (nowId) => {\n\tconst observer = getObserver(nowId);\n\tif (observer) {\n\t\tobserver.setEnabled(false);\n\t\tobserver.destroy();\n\t}\n\tobserverByNowId.delete(nowId);\n};\n\n/**\n * function allows for fn() to be called after the browser has completed style and layout\n * @param {function }fn\n */\nexport const executeAfterBrowserStyleAndLayout = (fn) => {\n\trequestAnimationFrame(() => {\n\t\tfn();\n\t});\n};\n\n/**\n * topLoaderRef, bottomLoaderRef, topBoundRef, bottomBoundRef are the references\n * that are observed by the virtualizedObserver.\n * @param {Array<HTMLTableRowElement>} renderedRows - rows rendered between topbound and lowerbound\n * @param {number} topBound - index of topBound of the rendered list\n * @param {number} bottomBound - infex of bottomBound of the rendered list\n * @param {number} blockSize - rows per block\n * @param {Array<Row>} allRowsFromProp - all row from the now-list rowDefinitions prop\n * @return {{topBoundRef: *, bottomBoundRef: *, topLoaderRef: *, bottomLoaderRef: *}}\n */\nconst getRowRefs = (\n\trenderedRows,\n\ttopBound,\n\tbottomBound,\n\tblockSize,\n\tallRowsFromProp\n) => {\n\tconst topLoaderRef =\n\t\ttopBound !== 0\n\t\t\t? renderedRows[\n\t\t\t\t\tMath.floor(blockSize * LOADER_REF_POSITION_PERCENTAGE)\n\t\t\t  ]\n\t\t\t: null;\n\tconst topBoundRef = topBound !== 0 ? renderedRows[0] : null;\n\n\tconst bottomLoaderRef =\n\t\tbottomBound < allRowsFromProp.length - 1\n\t\t\t? renderedRows[\n\t\t\t\t\trenderedRows.length -\n\t\t\t\t\t\tMath.floor(blockSize * LOADER_REF_POSITION_PERCENTAGE)\n\t\t\t  ]\n\t\t\t: null;\n\n\tconst bottomBoundRef =\n\t\tbottomBound < allRowsFromProp.length - 1\n\t\t\t? renderedRows[renderedRows.length - 1]\n\t\t\t: null;\n\n\treturn {\n\t\ttopLoaderRef,\n\t\tbottomLoaderRef,\n\t\ttopBoundRef,\n\t\tbottomBoundRef,\n\t};\n};\n\nexport const initializeVirtualizedObserver = (\n\t/** @type {Now.Coeffects<Props, State>} */ coeffects,\n\tretry = 0\n) => {\n\tconst {\n\t\tdispatch,\n\t\thost,\n\t\tstate: {\n\t\t\tproperties: {\n\t\t\t\tnowId,\n\t\t\t\trowDefinitions: { rows: allRowsFromProp },\n\t\t\t},\n\t\t},\n\t\tstate,\n\t} = coeffects;\n\texecuteAfterBrowserStyleAndLayout(() => {\n\t\tif (host.shadowRoot) {\n\t\t\t/** @type {NodeListOf<HTMLTableRowElement>} */\n\t\t\tconst overLayLoaderPresent = host.shadowRoot.querySelectorAll(\n\t\t\t\t'.overlay-content'\n\t\t\t);\n\t\t\tif (overLayLoaderPresent.length > 0) return;\n\t\t\t/** @type {NodeListOf<HTMLTableRowElement>} */\n\t\t\tconst topGhostRows = host.shadowRoot.querySelectorAll(\n\t\t\t\t'.ghost-row-top'\n\t\t\t);\n\t\t\t/** @type {NodeListOf<HTMLTableRowElement>} */\n\t\t\tconst bottomGhostRows = host.shadowRoot.querySelectorAll(\n\t\t\t\t'.ghost-row-bottom'\n\t\t\t);\n\t\t\t/** @type {NodeListOf<HTMLTableRowElement>} */\n\t\t\tconst renderedRows = host.shadowRoot.querySelectorAll(\n\t\t\t\t'.now-list-table-row:not(.is-hidden)'\n\t\t\t);\n\t\t\tconst slicedRows = Array.from(renderedRows).slice(\n\t\t\t\ttopGhostRows.length,\n\t\t\t\trenderedRows.length - bottomGhostRows.length\n\t\t\t);\n\t\t\tif (retry > RETRY) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (renderedRows.length === 0) {\n\t\t\t\tdispatch(RETRY_PREPARE_VIRTUALIZED_OBSERVER, {\n\t\t\t\t\tretry: retry + 1,\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\ttopBound,\n\t\t\t\tbottomBound,\n\t\t\t\tblockSize,\n\t\t\t\trootMargin,\n\t\t\t} = getVirtualizedBehaviorState(state);\n\n\t\t\tconst {\n\t\t\t\ttopLoaderRef,\n\t\t\t\tbottomLoaderRef,\n\t\t\t\ttopBoundRef,\n\t\t\t\tbottomBoundRef,\n\t\t\t} = getRowRefs(\n\t\t\t\tslicedRows,\n\t\t\t\ttopBound,\n\t\t\t\tbottomBound,\n\t\t\t\tblockSize,\n\t\t\t\tallRowsFromProp\n\t\t\t);\n\t\t\tconst ghostRowIdsToIndex = new Map();\n\t\t\tconst ghostRowObservedElements = new Set();\n\n\t\t\t// handles observing ghost rows above the rendered rows\n\t\t\tfor (let i = 0; i < topGhostRows.length - 1; i++) {\n\t\t\t\tconst {\n\t\t\t\t\tdataset: { key, groupIndex },\n\t\t\t\t} = topGhostRows[i];\n\t\t\t\tif (groupIndex) {\n\t\t\t\t\tghostRowIdsToIndex.set(key, parseInt(groupIndex));\n\t\t\t\t\tghostRowObservedElements.add(topGhostRows[i]);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// handles observing ghost rows below the rendered rows\n\t\t\tfor (let i = 0; i < bottomGhostRows.length - 1; i++) {\n\t\t\t\tconst {\n\t\t\t\t\tdataset: { key, groupIndex },\n\t\t\t\t} = bottomGhostRows[i];\n\t\t\t\tif (groupIndex) {\n\t\t\t\t\tghostRowIdsToIndex.set(key, parseInt(groupIndex));\n\t\t\t\t\tghostRowObservedElements.add(bottomGhostRows[i]);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst scrollToTopRef = renderedRows[SCROLL_TO_TOP_START_ROW];\n\t\t\tconst endOfScrollReachedRef =\n\t\t\t\trenderedRows[renderedRows.length - SCROLL_BOTTOM_REACHED];\n\t\t\tdestroyObserver(nowId);\n\n\t\t\tconst virtualizedObserver = new VirtualizedObserver(\n\t\t\t\ttopLoaderRef,\n\t\t\t\tbottomLoaderRef,\n\t\t\t\ttopBoundRef,\n\t\t\t\tbottomBoundRef,\n\t\t\t\tscrollToTopRef,\n\t\t\t\tdispatch,\n\t\t\t\tghostRowIdsToIndex,\n\t\t\t\tghostRowObservedElements,\n\t\t\t\tendOfScrollReachedRef,\n\t\t\t\trootMargin\n\t\t\t);\n\t\t\tghostRowObservedElements.forEach((element) => {\n\t\t\t\tvirtualizedObserver.observeItem(element);\n\t\t\t});\n\n\t\t\tvirtualizedObserver.observeItem(endOfScrollReachedRef);\n\t\t\tvirtualizedObserver.observeItem(topLoaderRef);\n\t\t\tvirtualizedObserver.observeItem(bottomLoaderRef);\n\t\t\tvirtualizedObserver.observeItem(topBoundRef);\n\t\t\tvirtualizedObserver.observeItem(bottomBoundRef);\n\t\t\tvirtualizedObserver.observeItem(scrollToTopRef);\n\t\t\tobserverByNowId.set(nowId, virtualizedObserver);\n\t\t}\n\t});\n};\n","import '@servicenow/now-loader';\nimport { actionTypes } from '@servicenow/ui-core';\nimport { debounce, isNil, isEmpty, get } from 'lodash';\nimport { t } from 'sn-translate';\n\nimport { LAYOUT_OPTIONS } from '../../constants';\nimport { NOW_LIST_HEADER_CELL_TEXT_CLICKED } from '../columnHeaderClickBehavior/constants';\nimport {\n\tALLOW_TABLE_FOCUS,\n\tFOCUS_LIST,\n\tRESET_BEHAVIOR,\n\tUPDATE_TABLE_REF,\n} from '../keyboardNavBehavior/constants';\nimport { NOW_LIST_GROUP_TOGGLED } from '../rowGroupingBehavior/constants';\n\nimport {\n\tROWS_ENTERED_VIEW,\n\tBOTTOM_BOUND_ENTERED_VIEW,\n\tTOP_BOUND_ENTERED_VIEW,\n\tBOTTOM_LOADER_ENTERED_VIEW,\n\tTOP_LOADER_ENTERED_VIEW,\n\tLONG_SCROLL_TRIGGERED,\n\tRETRY_PREPARE_VIRTUALIZED_OBSERVER,\n\tSCROLL_TO_TOP_TRIGGERED,\n\tSHOW_SCROLL_TO_TOP_BUTTON,\n\tHIDE_SCROLL_TO_TOP_BUTTON,\n\tVIRTUALIZED_SCROLL_BOTTOM_REACHED,\n\tHANDLE_SCROLL_BOTTOM_REACHED,\n\tDEFAULT_ROW_HEIGHT,\n\tSCROLL_CONTAINER,\n\tTABLE_BODY,\n\tVIRTUALIZED_LIST_BEHAVIOR,\n} from './constants';\nimport {\n\tdestroyObserver,\n\texecuteAfterBrowserStyleAndLayout,\n\tgetObserver,\n\tgetVirtualizedBehaviorState,\n\tinitializeVirtualizedObserver,\n\tobserverByNowId,\n} from './virtualizedListBehaviorUtils';\n\nconst {\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_TREE_RENDERED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tARIA_LIVE_REGION_UPDATE_REQUESTED,\n\tCOMPONENT_DOM_TREE_READY,\n} = actionTypes;\n\n/**\n * The rendered list is broken up into 2 x BLOCK_LOAD_SIZE subsets. When the upper or lower\n * bound observers are triggered then next BLOCK_LOAD_SIZE is removed and added from either\n * the top or bottom of the list depending on the scroll direction\n * @type {number}\n */\nconst BLOCK_LOAD_SIZE = 2;\n\nexport const initialState = {\n\tblockSize: DEFAULT_ROW_HEIGHT,\n\tbottomBound: DEFAULT_ROW_HEIGHT * BLOCK_LOAD_SIZE - 1,\n\ttopBound: 0,\n\tnewBlockLoading: false,\n\trootMargin: '0px 0px 0px 0px',\n\tisRenderingSecondPhase: false, // indicates if the rendering next section is in the middle of the two phase render\n\tshowScrollToTopButton: false,\n};\n\n/**\n * prepareVirtualizedObserver is responsible for defining the elements that will be observed\n * by the virtualizedObserver.\n */\nconst prepareVirtualizedObserver = debounce(initializeVirtualizedObserver, 300);\n\n/**\n *  destroys the observer\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const cleanupMemory = (coeffects) => {\n\tconst {\n\t\tproperties: { nowId },\n\t} = coeffects;\n\tdestroyObserver(nowId);\n};\n\n/**\n * Handles the scroll bottom reached event\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nconst handleBottomReached = (coeffects) => {\n\tconst { dispatch, properties } = coeffects;\n\tconst {\n\t\trowDefinitions: { metadata },\n\t} = properties;\n\n\tconst listId = get(metadata, 'listId');\n\tdispatch(actionTypes.ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\tmessage: t('Loading more rows'),\n\t\ttype: 'assertive',\n\t});\n\tdispatch(VIRTUALIZED_SCROLL_BOTTOM_REACHED, { listId });\n};\n\n/**\n * updatePrevBlock is responsible for updating the topBound, bottomBound and\n * triggering a render of the rows\n * @param { string } nowId - unique id for the now-list component\n * @param { Now.Coeffects<Props, State> } coeffects\n * @param { number } topBound - topBound of the rendered list\n * @param { number } bottomBound - bottomBound of the rendered list\n */\nconst updatePrevBlock = debounce((\n\t/** @type {string} */ nowId,\n\t/** @type {Now.Coeffects<Props, State>} */ coeffects,\n\t/** @type {number} */ topBound,\n\t/** @type {number} */ bottomBound\n) => {\n\tconst { properties, updateState, dispatch } = coeffects;\n\tconst observer = getObserver(nowId);\n\tif (observer) {\n\t\tobserver.setEnabled(false);\n\t}\n\tconst {\n\t\trowDefinitions: { rows },\n\t} = properties;\n\tconst message = t(\n\t\t`Rows ${topBound + 1} to ${Math.min(\n\t\t\tbottomBound + 1,\n\t\t\trows.length\n\t\t)} out of ${rows.length} have loaded.`\n\t);\n\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\tmessage,\n\t\ttype: 'polite',\n\t});\n\tupdateState([\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_LIST_BEHAVIOR}.topBound`,\n\t\t\tvalue: topBound,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_LIST_BEHAVIOR}.bottomBound`,\n\t\t\tvalue: bottomBound,\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n}, 0);\n\n/**\n * updateNextBlock is responsible for updating the topBound, bottomBound and\n * triggering a render of the rows\n *\n * the two phase render approach in the below code is the workaround for the snabbdom rendering\n * issue where when shifting rows down;å the top rows are removed and the bottom rows are\n * added snabbdom re-renders entire list instead of rendering the effected rows.\n * @param { string } nowId\n * @param { Now.Coeffects<Props, State> } coeffects\n * @param { number } topBound\n * @param { number } bottomBound\n */\nconst updateNextBlock = debounce((\n\t/** @type {string} */ nowId,\n\t/** @type {Now.Coeffects<Props, State>} */ coeffects,\n\t/** @type {number} */ topBound,\n\t/** @type {number} */ bottomBound\n) => {\n\tconst { updateState } = coeffects;\n\tconst observer = getObserver(nowId);\n\tif (observer) {\n\t\tobserver.setEnabled(false);\n\t}\n\n\tconst updateAfterLoading = () => {\n\t\tupdateState([\n\t\t\t{\n\t\t\t\tpath: `behaviors.${VIRTUALIZED_LIST_BEHAVIOR}.topBound`,\n\t\t\t\tvalue: topBound,\n\t\t\t\toperation: 'set',\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `behaviors.${VIRTUALIZED_LIST_BEHAVIOR}.newBlockLoading`,\n\t\t\t\tvalue: false,\n\t\t\t\toperation: 'set',\n\t\t\t},\n\t\t]);\n\t};\n\t// setting newBlockLoading to true prevents next being called before second render is complete\n\tupdateState([\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_LIST_BEHAVIOR}.newBlockLoading`,\n\t\t\tvalue: true,\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n\n\tconst updater = () => {\n\t\texecuteAfterBrowserStyleAndLayout(updateAfterLoading);\n\t\t// load bottom bound\n\t\treturn [\n\t\t\t{\n\t\t\t\tpath: `behaviors.${VIRTUALIZED_LIST_BEHAVIOR}.bottomBound`,\n\t\t\t\tvalue: bottomBound,\n\t\t\t\toperation: 'set',\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `behaviors.${VIRTUALIZED_LIST_BEHAVIOR}.newBlockLoading`,\n\t\t\t\tvalue: true,\n\t\t\t\toperation: 'set',\n\t\t\t},\n\t\t];\n\t};\n\n\t/** Type complaint. expecting state object but receiving a function returning updateState type.\n   this is a workaround for the snabbdom rendering issue. we need to supply updateState with a timeout to\n   render in two phases. */\n\t// @ts-ignore\n\tupdateState(updater);\n}, 0);\n\n/**\n * Calculates the new topBound and bottomBound for the next block while scrolling\n * upwards\n * @param  {Now.Coeffects<Props, State>} coeffects\n */\nconst handlePrevBlock = (coeffects) => {\n\tconst {\n\t\tproperties: { nowId },\n\t\tstate,\n\t} = coeffects;\n\n\tconst { bottomBound, topBound, blockSize } = getVirtualizedBehaviorState(\n\t\tstate\n\t);\n\n\tconst newTopBound = Math.max(0, topBound - BLOCK_LOAD_SIZE * blockSize);\n\tconst newBottomBound = bottomBound - BLOCK_LOAD_SIZE * blockSize;\n\n\tif (bottomBound !== newBottomBound || topBound !== newTopBound) {\n\t\tupdatePrevBlock(nowId, coeffects, newTopBound, newBottomBound);\n\t}\n};\n/**\n * Calculates the new topBound and bottomBound for the next block of rows while scrolling\n * downwards\n * @param  {Now.Coeffects<Props, State>} coeffects\n */\nexport const handleNextBlock = (coeffects) => {\n\tconst {\n\t\tproperties: {\n\t\t\tnowId,\n\t\t\trowDefinitions: { rows },\n\t\t},\n\t\tstate,\n\t} = coeffects;\n\tconst {\n\t\tbottomBound,\n\t\ttopBound,\n\t\tblockSize,\n\t\tisRenderingSecondPhase,\n\t} = getVirtualizedBehaviorState(state);\n\tif (isRenderingSecondPhase) return;\n\n\t// if the bottom of the stored list is reached, diff ensures that there is\n\t// adequate rows from the top to the bottomBound so that top observer refs\n\t// are not visible after render\n\tconst isBottom = rows.length - 1 < bottomBound + blockSize;\n\tconst diff = bottomBound + blockSize - (rows.length - 1);\n\n\tconst topBlockOffset = bottomBound - blockSize * BLOCK_LOAD_SIZE;\n\tconst newBottomIndex = bottomBound + blockSize * BLOCK_LOAD_SIZE;\n\n\tconst newTopBound = Math.max(\n\t\t0,\n\t\tisBottom ? topBlockOffset - diff : topBlockOffset\n\t);\n\n\tif (bottomBound !== newBottomIndex || topBound !== newTopBound) {\n\t\tupdateNextBlock(nowId, coeffects, newTopBound, newBottomIndex);\n\t}\n};\n\n/**\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const handleLongScroll = (coeffects) => {\n\tconst {\n\t\tproperties: {\n\t\t\tnowId,\n\t\t\trowDefinitions: { rows },\n\t\t},\n\t\tstate,\n\t\taction: {\n\t\t\tpayload: { index: rowIndex },\n\t\t},\n\t} = coeffects;\n\n\tconst { blockSize } = getVirtualizedBehaviorState(state);\n\t// if the bottom of the stored list is reached, diff ensures that there is\n\t// adequate rows from the top to the bottomBound so that top observer refs\n\t// are not visible after render\n\tconst isBottom = rows.length - 1 < rowIndex + BLOCK_LOAD_SIZE * blockSize;\n\tconst diff = rowIndex + BLOCK_LOAD_SIZE * blockSize - (rows.length - 1);\n\n\tconst topBlockOffset = rowIndex - blockSize * BLOCK_LOAD_SIZE;\n\tconst newBottomIndex = rowIndex + blockSize * BLOCK_LOAD_SIZE;\n\n\tconst newTopBound = Math.max(\n\t\t0,\n\t\tisBottom ? topBlockOffset - diff : topBlockOffset\n\t);\n\n\tupdatePrevBlock(nowId, coeffects, newTopBound, newBottomIndex);\n};\n\n/**\n * handle keyboard navigation reset\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const resetKeyBoardNavBehavior = (coeffects) => {\n\tconst { dispatch } = coeffects;\n\n\tdispatch(RESET_BEHAVIOR);\n\tdispatch(ALLOW_TABLE_FOCUS);\n\tdispatch(FOCUS_LIST);\n};\n\n/**\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const scrollToTop = (coeffects) => {\n\tconst { host } = coeffects;\n\n\tconst firstRow = host.shadowRoot\n\t\t?.querySelector(SCROLL_CONTAINER)\n\t\t?.querySelector('#first-row');\n\tif (firstRow) {\n\t\tfirstRow.scrollIntoView({ behavior: 'smooth', block: 'end' });\n\t\t// resets the keyboard navigation and sets focus to the first cell on the table\n\t\tresetKeyBoardNavBehavior(coeffects);\n\t}\n};\n\n/**\n * Show scroll to top button if the observer for that row is triggered\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const displayScrollToTopButton = (coeffects) => {\n\tconst { updateState, dispatch } = coeffects;\n\tconst { showScrollToTopButton } = getVirtualizedBehaviorState(\n\t\tcoeffects.state\n\t);\n\n\tif (showScrollToTopButton) return;\n\tconst message = t('Scroll To Top button is available.');\n\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\tmessage,\n\t\ttype: 'polite',\n\t});\n\tupdateState([\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_LIST_BEHAVIOR}.showScrollToTopButton`,\n\t\t\tvalue: true,\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n};\n\n/**\n * Hide scroll to top button if the observer for that row is triggered\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const hideScrollToTopButton = (coeffects) => {\n\tconst { updateState, dispatch } = coeffects;\n\tconst { showScrollToTopButton } = getVirtualizedBehaviorState(\n\t\tcoeffects.state\n\t);\n\tif (showScrollToTopButton) {\n\t\tconst message = t('Scroll To Top button is unavailable.');\n\t\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\tmessage,\n\t\t\ttype: 'polite',\n\t\t});\n\t}\n\tupdateState([\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_LIST_BEHAVIOR}.showScrollToTopButton`,\n\t\t\tvalue: false,\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n};\n\n/**\n * Handles the property changed event for the component when virtualized scroll is enabled\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nconst propertyChangedHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue },\n\t\t},\n\t\tproperties: { virtualizedScrollEnabled, overlayDefinition },\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (!virtualizedScrollEnabled) return;\n\n\tif (\n\t\tname === 'layout' &&\n\t\tvalue !== previousValue &&\n\t\tvalue !== LAYOUT_OPTIONS.LIST\n\t) {\n\t\tdispatch(HIDE_SCROLL_TO_TOP_BUTTON);\n\t\tcleanupMemory(coeffects);\n\t}\n\tif (name === 'rowDefinitions') {\n\t\tif (value?.metadata?.currentPage === 0) {\n\t\t\tscrollToTopContainer(coeffects);\n\t\t}\n\t\tcleanupMemory(coeffects);\n\t}\n\n\tif (\n\t\tname === 'overlayDefinition' &&\n\t\t!isNil(overlayDefinition) &&\n\t\t!isEmpty(overlayDefinition)\n\t) {\n\t\tscrollToTopContainer(coeffects);\n\t\tcleanupMemory(coeffects);\n\t}\n};\n\n/**\n * Handles intersection observer event that is emitted when rows enter view\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nconst handleRowsEnteredView = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { intersectEvent },\n\t\t},\n\t} = coeffects;\n\n\tif (\n\t\tintersectEvent === BOTTOM_BOUND_ENTERED_VIEW ||\n\t\tintersectEvent === BOTTOM_LOADER_ENTERED_VIEW\n\t) {\n\t\thandleNextBlock(coeffects);\n\t} else if (\n\t\tintersectEvent === TOP_BOUND_ENTERED_VIEW ||\n\t\tintersectEvent === TOP_LOADER_ENTERED_VIEW\n\t) {\n\t\thandlePrevBlock(coeffects);\n\t}\n};\n\n/**\n * Handles component tree rendered event. checks to see if upper and lower\n * bounds have changed and updates the observer accordingly\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nconst handleComponentTreeRendered = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { previousRenderState },\n\t\t},\n\t\tproperties: {\n\t\t\tnowId,\n\t\t\tvirtualizedScrollEnabled,\n\t\t\toverlayDefinition,\n\t\t\trowDefinitions,\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tif (\n\t\t!isEmpty(overlayDefinition) ||\n\t\t!virtualizedScrollEnabled ||\n\t\tisEmpty(rowDefinitions)\n\t)\n\t\treturn;\n\tconst {\n\t\tbottomBound: prevBottomBound,\n\t\ttopBound: prevTopBound,\n\t} = getVirtualizedBehaviorState(previousRenderState);\n\n\tconst {\n\t\tbottomBound: newBottomBound,\n\t\ttopBound: newTopBound,\n\t} = getVirtualizedBehaviorState(coeffects.state);\n\tconst observer = observerByNowId.get(nowId);\n\tif (\n\t\tprevBottomBound !== newBottomBound ||\n\t\tprevTopBound !== newTopBound ||\n\t\t!observer\n\t) {\n\t\tprepareVirtualizedObserver(coeffects);\n\t\tdispatch(UPDATE_TABLE_REF, {\n\t\t\tshouldFocusFirst: false,\n\t\t});\n\t}\n};\n\n/**\n * Handles retrying to prepare the virtualized observer\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nconst handleRetryPrepareVirtualizedObserver = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { retry },\n\t\t},\n\t} = coeffects;\n\tprepareVirtualizedObserver(coeffects, retry);\n};\n\n/**\n * Handles the component dom ready event. This is where we get the scroll container\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nconst handleComponentDomReady = (coeffects) => {\n\tconst {\n\t\tproperties: { virtualizedScrollEnabled },\n\t\thost,\n\t\tupdateState,\n\t} = coeffects;\n\tif (!virtualizedScrollEnabled) return;\n\n\tif (host.shadowRoot) {\n\t\tconst scrollContainer = host.shadowRoot.querySelector(SCROLL_CONTAINER);\n\t\tconst tableBody = host.shadowRoot.querySelector(TABLE_BODY);\n\n\t\tconst tableBodyYPos = tableBody?.getBoundingClientRect().top;\n\t\tconst scrollContainerYPos =\n\t\t\tscrollContainer?.getBoundingClientRect().bottom || 0;\n\n\t\tconst viewPortInnerHeight = window.innerHeight;\n\n\t\tif (scrollContainer === null) return;\n\t\tconst rootMargin = `-${tableBodyYPos}px 0px ${\n\t\t\tviewPortInnerHeight - scrollContainerYPos\n\t\t}px 0px`;\n\t\tupdateState([\n\t\t\t{\n\t\t\t\tpath: `behaviors.${VIRTUALIZED_LIST_BEHAVIOR}.rootMargin`,\n\t\t\t\tvalue: rootMargin,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false,\n\t\t\t},\n\t\t]);\n\t}\n};\n\n/**\n * Handles the header list clicked event\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const scrollToTopContainer = (coeffects) => {\n\tconst { host } = coeffects;\n\n\tconst scrollContainer = host.shadowRoot?.querySelector(SCROLL_CONTAINER);\n\tif (scrollContainer) {\n\t\tcleanupMemory(coeffects);\n\t\tscrollContainer.scrollTop = 0;\n\t}\n};\n\n/**\n * Handles group toggled event\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nconst handleGroupToggled = (coeffects) => {\n\tconst {\n\t\tproperties: { virtualizedScrollEnabled },\n\t} = coeffects;\n\tif (!virtualizedScrollEnabled) return;\n\tprepareVirtualizedObserver(coeffects);\n};\n\nexport const virtualizedListBehavior = {\n\tname: VIRTUALIZED_LIST_BEHAVIOR,\n\tinitialState,\n\tactionHandlers: {\n\t\t[NOW_LIST_HEADER_CELL_TEXT_CLICKED]: {\n\t\t\teffect: scrollToTopContainer,\n\t\t},\n\t\t[NOW_LIST_GROUP_TOGGLED]: {\n\t\t\teffect: handleGroupToggled,\n\t\t},\n\t\t[LONG_SCROLL_TRIGGERED]: {\n\t\t\teffect: handleLongScroll,\n\t\t},\n\t\t[ROWS_ENTERED_VIEW]: {\n\t\t\teffect: handleRowsEnteredView,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[SCROLL_TO_TOP_TRIGGERED]: {\n\t\t\teffect: scrollToTop,\n\t\t},\n\t\t[SHOW_SCROLL_TO_TOP_BUTTON]: {\n\t\t\teffect: displayScrollToTopButton,\n\t\t},\n\t\t[HIDE_SCROLL_TO_TOP_BUTTON]: {\n\t\t\teffect: hideScrollToTopButton,\n\t\t},\n\t\t[COMPONENT_TREE_RENDERED]: {\n\t\t\teffect: handleComponentTreeRendered,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[RETRY_PREPARE_VIRTUALIZED_OBSERVER]: {\n\t\t\teffect: handleRetryPrepareVirtualizedObserver,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[COMPONENT_DOM_TREE_READY]: {\n\t\t\teffect: handleComponentDomReady,\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: {\n\t\t\teffect: cleanupMemory,\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: { effect: propertyChangedHandler },\n\t\t[HANDLE_SCROLL_BOTTOM_REACHED]: {\n\t\t\teffect: handleBottomReached,\n\t\t\tmodifier: { name: 'throttle', limit: 500 },\n\t\t},\n\t},\n};\n","// Actions for now-list-gallery\nexport const SN_LIST_GALLERY_CELL_LINK_CLICKED =\n\t'SN_LIST_GALLERY#CELL_LINK_CLICKED';\nexport const SN_LIST_GALLERY_PERSON_CLICKED = 'SN_LIST_GALLERY#PERSON_CLICKED';\nexport const SN_LIST_GALLERY_EXPAND_ALL_GROUPS =\n\t'SN_LIST_GALLERY#EXPAND_ALL_GROUPS';\nexport const SN_LIST_GALLERY_CONTEXT_ACTION_CLICKED =\n\t'SN_LIST_GALLERY#CONTEXT_ACTION_CLICKED';\nexport const SN_LIST_GALLERY_CARD_SELECTED_SET =\n\t'SN_LIST_GALLERY_CARD#SELECTED_SET';\nexport const SN_LIST_GALLERY_SELECT_ALL_CLICKED =\n\t'SN_LIST_GALLERY#SELECT_ALL_CLICKED';\n\nexport const SN_LIST_GALLERY_CARD_SELECTED = 'SN_LIST_GALLERY#CARD_SELECTED';\nexport const SN_LIST_GALLERY_CARD_CLICKED = 'SN_LIST_GALLERY#CARD_CLICKED';\nexport const SN_LIST_GALLERY_HEADER_ACTION_CLICKED =\n\t'SN_LIST_GALLERY#HEADER_ACTION_CLICKED';\nexport const NOW_CARD_HEADER_ACTION_CLICKED = 'NOW_CARD_HEADER#ACTION_CLICKED';\n","const NOW_LIST_CARD_PERSON_CLICKED = 'NOW_LIST#CARD_PERSON_CLICKED';\nconst PERSON_FIELD_ICON_SIZE = 'xs';\nconst PERSON_DISPLAY_TYPE_AVATAR = 'avatar';\nconst PERSON_DISPLAY_TYPE_NAME = 'name';\nconst PERSON_DISPLAY_TYPE_BOTH = 'both';\n\nconst PERSON_DISPLAY_TYPE_ENUMS = [\n\tPERSON_DISPLAY_TYPE_AVATAR,\n\tPERSON_DISPLAY_TYPE_NAME,\n\tPERSON_DISPLAY_TYPE_BOTH,\n];\n\nconst PERSON_DISPLAY_TYPE_DEFAULT = PERSON_DISPLAY_TYPE_BOTH;\n\nexport {\n\tNOW_LIST_CARD_PERSON_CLICKED,\n\tPERSON_FIELD_ICON_SIZE,\n\tPERSON_DISPLAY_TYPE_AVATAR,\n\tPERSON_DISPLAY_TYPE_NAME,\n\tPERSON_DISPLAY_TYPE_BOTH,\n\tPERSON_DISPLAY_TYPE_ENUMS,\n\tPERSON_DISPLAY_TYPE_DEFAULT,\n};\n\nexport const NOW_LIST_CELL_PERSON_CLICKED = 'NOW_LIST#CELL_PERSON_CLICKED';\n","import { NOW_LIST_CELL_LINK_CLICKED } from '../../../behaviors/linkBehavior/constants';\nimport { ROW_CHECKBOX_INTERNAL_SET } from '../../../behaviors/rowSelectionBehavior/constants';\nimport {\n\tSN_LIST_GALLERY_CELL_LINK_CLICKED,\n\tSN_LIST_GALLERY_CARD_CLICKED,\n\tSN_LIST_GALLERY_CARD_SELECTED_SET,\n\tSN_LIST_GALLERY_HEADER_ACTION_CLICKED,\n\tSN_LIST_GALLERY_PERSON_CLICKED,\n\tSN_LIST_GALLERY_CONTEXT_ACTION_CLICKED,\n} from '../../../now-list-gallery/constants/actionConstants';\nimport { NOW_LIST_CELL_PERSON_CLICKED } from '../../views/fields/person/constants';\nimport {\n\tNOW_LIST_CONTEXT_ACTION_CLICKED,\n\tSN_LIST_GALLERY_VIRTUALIZED_SCROLL_BOTTOM_REACHED,\n\tNOW_LIST_VIRTUALIZED_SCROLL_BOTTOM_REACHED,\n\tNOW_LIST_ROW_CLICKED,\n} from '../actionConstants';\n\nexport const BridgeEventMapping = {\n\t[SN_LIST_GALLERY_CONTEXT_ACTION_CLICKED]: NOW_LIST_CONTEXT_ACTION_CLICKED,\n\t[SN_LIST_GALLERY_CELL_LINK_CLICKED]: NOW_LIST_CELL_LINK_CLICKED,\n\t[SN_LIST_GALLERY_VIRTUALIZED_SCROLL_BOTTOM_REACHED]: NOW_LIST_VIRTUALIZED_SCROLL_BOTTOM_REACHED,\n\t[SN_LIST_GALLERY_PERSON_CLICKED]: NOW_LIST_CELL_PERSON_CLICKED,\n\t[SN_LIST_GALLERY_CARD_SELECTED_SET]: ROW_CHECKBOX_INTERNAL_SET,\n\t[SN_LIST_GALLERY_HEADER_ACTION_CLICKED]: NOW_LIST_CONTEXT_ACTION_CLICKED,\n\t[SN_LIST_GALLERY_CARD_CLICKED]: NOW_LIST_ROW_CLICKED,\n};\n","import { BridgeEventMapping } from './bridgeEventMapping';\n\nconst nowListBridgeBehavior = {\n\tname: 'nowListBridgeBehavior',\n\n\tactionHandlers: Object.fromEntries(\n\t\tObject.entries(BridgeEventMapping).map(([key, actionToDispatch]) => [\n\t\t\tkey,\n\t\t\t{\n\t\t\t\t/**\n\t\t\t\t * @param {Coeffects<Props, State>} coeffects\n\t\t\t\t */\n\t\t\t\teffect: (coeffects) => {\n\t\t\t\t\tconst { action, dispatch } = coeffects;\n\t\t\t\t\tif (actionToDispatch) {\n\t\t\t\t\t\tdispatch(actionToDispatch, action.payload);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tstopPropagation: true,\n\t\t\t},\n\t\t])\n\t),\n};\n\nexport default nowListBridgeBehavior;\n","import { getUserPrefContext, a11yPreferences } from 'sn-ux-core';\n\nconst isTrue = (/** @type {string | boolean} */ prop) =>\n\tprop === true || prop === 'true';\n\nconst isHiddenControlsEnabled = (/** @type {any} */ context) => {\n\tconst hiddenControlsPreference = getUserPrefContext(\n\t\ta11yPreferences.GLIDE_UI_ACCESSIBILITY_SHOW_HIDDEN_CONTROLS\n\t);\n\tif (!(context && hiddenControlsPreference)) {\n\t\treturn false;\n\t}\n\treturn isTrue(context[hiddenControlsPreference]);\n};\n\nexport default isHiddenControlsEnabled;\n","/**\n * View for floating target to be used for internal right click popovers\n * @param {*} props\n */\nexport const floatingTarget = (props) => {\n\tconst style = {\n\t\ttop: `${props.rowContextPosition?.y ?? 0}px`,\n\t\tleft: `${props.rowContextPosition?.x ?? 0}px`,\n\t};\n\treturn (\n\t\t<div\n\t\t\tdata-testId=\"floatingTarget\"\n\t\t\tclassName=\"floating-target\"\n\t\t\tstyle={style}\n\t\t></div>\n\t);\n};\n","import '@servicenow/now-loader';\nimport '@servicenow/now-template-message';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport classNames from 'classnames';\nimport { t } from 'sn-translate';\n\nimport {\n\tcustomComponentType,\n\trenderCustomComponentDisplay,\n} from '../../utils/customLoader';\nimport overlaySelectors from '../../utils/selectors/overlaySelectors';\nimport {\n\tCELL_CONTENT_CLASS,\n\tROW_CELL_CLASS,\n} from '../table/tableBody/tableRow/rowCell/rowCellConstants';\n\nconst {\n\tOVERLAY_SKELETON_LOADER_NUM_ROWS,\n\tOVERLAY_TYPE_CUSTOM,\n\tOVERLAY_TYPE_LOADER,\n\tOVERLAY_TYPE_SKELETON_LOADER,\n} = require('../../../typeSchemas/overlayDefinition/overlayConfigConsts');\n\nconst {\n\tgetCustomOverlayComponentTag,\n\tgetCustomOverlayDefaultComponentProps,\n\tgetOverlayLoaderConfig,\n\tgetOverlayMessageConfig,\n\tgetOverlayShowColumnHeaders,\n\tgetOverlaySkeletonLoaderNumColumns,\n\tgetOverlayType,\n} = overlaySelectors;\n\nconst overlayContentClassName = 'overlay-content';\nconst loadingLabel = t('Loading');\n\n/**\n * An overlay with an illustration, text, buttons, etc\n * @param {OverlayDefinition} props\n */\nconst renderMessageOverlay = (props) => {\n\tconst messageConfig = getOverlayMessageConfig(props);\n\n\treturn (\n\t\t<now-template-message-empty-state\n\t\t\tdata-testId=\"now-list-overlay\"\n\t\t\tdata-testOverlayType=\"message\"\n\t\t\tclassName={overlayContentClassName}\n\t\t\t{...messageConfig}\n\t\t/>\n\t);\n};\n\n/**\n * A loader spinner with optional text and buttons\n * @param {OverlayDefinition} props\n */\nconst renderLoaderOverlay = (props) => {\n\tconst loaderConfig = getOverlayLoaderConfig(props);\n\treturn (\n\t\t<now-loader\n\t\t\tdata-testId=\"now-list-overlay\"\n\t\t\tdata-testOverlayType=\"loader\"\n\t\t\tclassName={overlayContentClassName}\n\t\t\taria-label={loadingLabel}\n\t\t\t{...loaderConfig}\n\t\t/>\n\t);\n};\n\n/**\n * An animated table wireframe\n * @param {OverlayDefinition} props\n */\nexport const renderSkeletonLoaderOverlay = (props) => {\n\tconst numColumns = getOverlaySkeletonLoaderNumColumns(props);\n\n\treturn (\n\t\t<Fragment aria-label={loadingLabel}>\n\t\t\t{!getOverlayShowColumnHeaders(props) && (\n\t\t\t\t<Fragment>\n\t\t\t\t\t{skeletonCols(numColumns)}\n\t\t\t\t\t<thead aria-hidden={true} className={'skeleton-thead'}>\n\t\t\t\t\t\t{skeletonRow(numColumns, true)}\n\t\t\t\t\t</thead>\n\t\t\t\t</Fragment>\n\t\t\t)}\n\t\t\t{\n\t\t\t\t<tbody aria-hidden={true} className={'skeleton-tbody'}>\n\t\t\t\t\t{skeletonBodyRows(numColumns)}\n\t\t\t\t</tbody>\n\t\t\t}\n\t\t</Fragment>\n\t);\n};\n\n/**\n * An overlay with custom content\n * @param {OverlayDefinition} overlayProps\n * @param {TableMetadata} tableMetadata\n * @param {string} dir\n */\nconst renderCustomOverlay = (overlayProps, tableMetadata, dir) => {\n\tconst componentTag = getCustomOverlayComponentTag(overlayProps);\n\tconst componentDefaultProps = getCustomOverlayDefaultComponentProps(\n\t\toverlayProps\n\t);\n\treturn renderCustomComponentDisplay(\n\t\tcustomComponentType.OVERLAY,\n\t\ttableMetadata,\n\t\tcomponentTag,\n\t\tcomponentDefaultProps,\n\t\tdir\n\t);\n};\n\n/**\n * Helper view for mounting col tags of a full table skeleton loader overlay\n *\n * @param {number} numColumns number of cells to render in this row\n */\nconst skeletonCols = (numColumns) => {\n\tconst cols = [];\n\tfor (let i = 0; i < numColumns; i++) {\n\t\tcols.push(<col></col>);\n\t}\n\treturn cols;\n};\n\n/**\n * Helper view for mounting col tags of a full table skeleton loader overlay\n *\n * @param {number} numColumns number of cells to render in this row\n */\nconst skeletonBodyRows = (numColumns) => {\n\tconst bodyRows = [];\n\tfor (let i = 0; i < OVERLAY_SKELETON_LOADER_NUM_ROWS; i++) {\n\t\tbodyRows.push(skeletonRow(numColumns, false));\n\t}\n\n\treturn bodyRows;\n};\n\n/**\n * Helper view for rendering contents of a skeleton loader overlay\n *\n * @param {number} numColumns number of cells to render in this row\n * @param {boolean} isHeader indicates whether this is a head or body row\n */\nconst skeletonRow = (numColumns, isHeader) => {\n\tconst cells = [];\n\tfor (let i = 0; i < numColumns; i++) {\n\t\tcells.push(skeletonCell(isHeader));\n\t}\n\n\treturn <tr>{cells}</tr>;\n};\n\n/**\n * Helper view for rendering contents of a skeleton loader row\n *\n * @param {boolean} isHeader indicates whether this is a head or body row\n */\nconst skeletonCell = (isHeader) => {\n\tconst cellClasses = classNames({\n\t\t'skeleton-cell': true,\n\t\t[ROW_CELL_CLASS]: true,\n\t});\n\tconst cellContentClasses = classNames({\n\t\t'skeleton-cell-content': true,\n\t\t[CELL_CONTENT_CLASS]: true,\n\t});\n\n\tif (isHeader) {\n\t\treturn (\n\t\t\t<th className={cellClasses}>\n\t\t\t\t<div className={cellContentClasses}></div>\n\t\t\t</th>\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t<td className={cellClasses}>\n\t\t\t\t<div className={cellContentClasses}></div>\n\t\t\t</td>\n\t\t);\n\t}\n};\n\n/**\n * An overlay renders in place of the table body or entire table in order to provide information and/or action items\n * @param {OverlayDefinition} overlayProps\n * @param {TableMetadata} tableMetadata\n * @param {string} dir\n */\nexport const overlay = (overlayProps, tableMetadata, dir) => {\n\tconst type = getOverlayType(overlayProps);\n\tconst showHeaders = getOverlayShowColumnHeaders(overlayProps);\n\tlet overlayContent = null;\n\n\tif (type === OVERLAY_TYPE_SKELETON_LOADER)\n\t\t// this is the only overlay that is integrated into the table structure instead of replacing the table structure,\n\t\t// so renderSkeletonLoaderOverlay is called directly instead of from this generic overlay renderer.\n\t\treturn null;\n\n\tif (type === OVERLAY_TYPE_CUSTOM) {\n\t\toverlayContent = renderCustomOverlay(overlayProps, tableMetadata, dir);\n\t} else if (type === OVERLAY_TYPE_LOADER) {\n\t\toverlayContent = renderLoaderOverlay(overlayProps);\n\t} else {\n\t\toverlayContent = renderMessageOverlay(overlayProps);\n\t}\n\n\tconst overlayClassNames = classNames({\n\t\toverlay: true,\n\t\t[`type-${type}`]: true,\n\t\t'body-only-overlay': showHeaders,\n\t\t'full-table-overlay': !showHeaders,\n\t});\n\n\treturn (\n\t\t<div key=\"overlay-container\" className={overlayClassNames}>\n\t\t\t{overlayContent}\n\t\t</div>\n\t);\n};\n","import { findTabbableElement } from '@devsnc/sn-list-commons';\nimport { actionTypes } from '@servicenow/ui-core';\nimport get from 'lodash/get';\n\nimport {\n\tNOW_BUTTON_CLICKED,\n\tNOW_LIST_CELL_EDITOR_CONTENT_VALUE_UPDATED,\n\tNOW_LIST_POPOVER_BUTTON_CLICKED,\n} from '../../../../behaviors/cellEditingBehavior/constants';\nimport {\n\tTYPE_CURRENCY,\n\tTYPE_DATE_TIME,\n\tTYPE_NUMBER,\n\tTYPE_PILLS,\n\tTYPE_STRING,\n} from '../../../../typeSchemas/columnDefinitions/columnTypes/columnTypes';\nimport { isShortDate } from '../../../utils/dateTimeUtils';\n\nconst { COMPONENT_TREE_RENDERED } = actionTypes;\n\n/**\n * Handler for now-list-cell-editor-content render\n * @param {Coeffects<PopoverCellEditorContentProps, State>} coeffects\n */\nconst componentTreeRenderedEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tmeta: { hoistHost },\n\t\t},\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\tconst popoverIsFocused = get(state, `popoverIsFocused`, false);\n\t/**\n\t * Handles the focusing of the element when the popover re-renders\n\t * from loading state to the custom component\n\t */\n\tif (\n\t\thoistHost?.shadowRoot &&\n\t\tdocument.activeElement != hoistHost &&\n\t\t!popoverIsFocused\n\t) {\n\t\tconst el = findTabbableElement(true, hoistHost?.shadowRoot);\n\t\tif (el) {\n\t\t\tupdateState({\n\t\t\t\tpath: 'popoverIsFocused',\n\t\t\t\toperation: 'set',\n\t\t\t\tvalue: true,\n\t\t\t});\n\t\t\tel.focus();\n\t\t}\n\t}\n};\n\n/**\n * @param {Coeffects<PopoverCellEditorContentProps,State>} coeffects\n */\nconst nowCellEditButtonClickedEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { id, context },\n\t\t},\n\t\tstate,\n\t\tdispatch,\n\t} = coeffects;\n\n\t// @ts-ignore\n\tconst { value, label, color, imageSrc, personKey } = state;\n\n\tlet updatedValue = value;\n\n\tswitch (context.cell.type) {\n\t\tcase TYPE_CURRENCY:\n\t\tcase TYPE_NUMBER:\n\t\t\tupdatedValue = value && Number(value);\n\t\t\tbreak;\n\t\tcase TYPE_DATE_TIME:\n\t\t\t/**\n\t\t\t * When the date-time cell is empty, the value is null and the now-date-time expects a string value\n\t\t\t * When the date-time cell is non-empty, the value is an epoch value\n\t\t\t * Here we are converting the string back to epoch value or null (when empty) to update the cell value\n\t\t\t */\n\t\t\tif (typeof value === TYPE_STRING) {\n\t\t\t\tif (value == null) {\n\t\t\t\t\tupdatedValue = null;\n\t\t\t\t} else if (isShortDate(value)) {\n\t\t\t\t\tconst date = new Date(value);\n\t\t\t\t\tdate.setTime(\n\t\t\t\t\t\tdate.getTime() + date.getTimezoneOffset() * 60 * 1000\n\t\t\t\t\t);\n\t\t\t\t\tupdatedValue = date.getTime() / 1000 || null;\n\t\t\t\t} else {\n\t\t\t\t\tconst formattedValue = Date.parse(value) / 1000;\n\t\t\t\t\tupdatedValue = formattedValue || null;\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase TYPE_PILLS:\n\t\t\tupdatedValue = value.map((\n\t\t\t\t/** @type {{ id: String; label: String;}} */ { id, label }\n\t\t\t) => ({ key: id, label }));\n\t\t\tbreak;\n\t}\n\n\tconst payload = {\n\t\tvalue: updatedValue,\n\t\tlabel: label,\n\t\tcolor: color,\n\t\timageSrc: imageSrc,\n\t\tpersonKey: personKey,\n\t};\n\n\tdispatch(NOW_LIST_POPOVER_BUTTON_CLICKED, { id, context, payload });\n};\n\n/**\n * @param {Coeffects<PopoverCellEditorContentProps,State>} coeffects\n */\nconst nowCellEditorContentValueUpdatedEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value, label, color, personKey, imageSrc },\n\t\t},\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst updatedState = {};\n\n\tif (label != null) {\n\t\tupdatedState.label = label;\n\t}\n\n\tif (color != null) {\n\t\tupdatedState.color = color;\n\t}\n\n\tif (personKey != null) {\n\t\tupdatedState.personKey = personKey;\n\t}\n\n\tif (imageSrc != null) {\n\t\tupdatedState.imageSrc = imageSrc;\n\t}\n\n\tif (value != null) {\n\t\tupdatedState.value = value;\n\t}\n\n\t// @ts-ignore\n\tupdateState(updatedState);\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_TREE_RENDERED]: {\n\t\teffect: componentTreeRenderedEffect,\n\t},\n\t[NOW_BUTTON_CLICKED]: {\n\t\teffect: nowCellEditButtonClickedEffect,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_LIST_CELL_EDITOR_CONTENT_VALUE_UPDATED]: {\n\t\teffect: nowCellEditorContentValueUpdatedEffect,\n\t\tstopPropagation: true,\n\t},\n};\n","import {\n\tNOW_DATE_TIME_VALUE_SET,\n\tNOW_INPUT_URL_VALUE_SET,\n\tNOW_INPUT_VALUE_SET,\n\tNOW_LIST_CELL_EDITOR_CONTENT_VALUE_UPDATED,\n\tNOW_RADIO_BUTTONS_VALUE_SET,\n\tNOW_SELECT_SELECTED_ITEM_SET,\n\tNOW_TYPEAHEAD_MULTI_SELECTED_ITEMS_SET,\n\tNOW_HTML_VALUE_SET,\n} from '../../../../../behaviors/cellEditingBehavior/constants';\n\n/**\n * @param {Coeffects<PopoverCellEditorContentProps,State>} coeffects\n */\nconst updateInputTypeValueEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value },\n\t\t},\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst isLabel =\n\t\tname === 'cellEditingUrlLabel' || name === 'cellEditingLinkLabel';\n\n\tconst isPersonKey = name === 'cellEditingPersonKey';\n\n\tlet updateProperty, payload;\n\n\tif (isLabel) {\n\t\tupdateProperty = 'cellEditLabel';\n\t\tpayload = { label: value };\n\t} else if (isPersonKey) {\n\t\tupdateProperty = 'cellEditPersonKey';\n\t\tpayload = { personKey: value };\n\t} else {\n\t\tupdateProperty = 'cellEditValue';\n\t\tpayload = { value: value };\n\t}\n\n\tupdateState({ [updateProperty]: value });\n\n\tdispatch(NOW_LIST_CELL_EDITOR_CONTENT_VALUE_UPDATED, payload);\n};\n\n/**\n * @param {Coeffects<PopoverCellEditorContentProps,State>} coeffects\n */\nconst updateUrlValueEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { name, value },\n\t\t},\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst isPersonImageUrl = name === 'cellEditingPersonImageUrl';\n\n\tlet updateProperty, payload;\n\n\tif (isPersonImageUrl) {\n\t\tupdateProperty = 'cellEditPersonUrl';\n\t\tpayload = { imageSrc: value };\n\t} else {\n\t\tupdateProperty = 'cellEditValue';\n\t\tpayload = { value: value };\n\t}\n\n\tupdateState({ [updateProperty]: value });\n\n\tdispatch(NOW_LIST_CELL_EDITOR_CONTENT_VALUE_UPDATED, payload);\n};\n\n/**\n * @param {Coeffects<PopoverCellEditorContentProps,State>} coeffects\n */\nconst updateBooleanValueEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value },\n\t\t},\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\tconst newValue = value === 'true';\n\n\t// @ts-ignore\n\tupdateState({ cellEditValue: newValue });\n\n\tdispatch(NOW_LIST_CELL_EDITOR_CONTENT_VALUE_UPDATED, {\n\t\tvalue: newValue,\n\t});\n};\n\n/**\n * @param {Coeffects<PopoverCellEditorContentProps,State>} coeffects\n */\nconst updateDateTimeValueEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value },\n\t\t},\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\t// @ts-ignore\n\tupdateState({ cellEditValue: value });\n\n\tdispatch(NOW_LIST_CELL_EDITOR_CONTENT_VALUE_UPDATED, {\n\t\tvalue: value,\n\t});\n};\n\n/**\n * @param {Coeffects<PopoverCellEditorContentProps,State>} coeffects\n */\nconst updatePillsValueEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value },\n\t\t},\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\t// @ts-ignore\n\tupdateState({ cellEditValue: value });\n\n\tdispatch(NOW_LIST_CELL_EDITOR_CONTENT_VALUE_UPDATED, {\n\t\tvalue: value,\n\t});\n};\n\n/**\n * @param {Coeffects<PopoverCellEditorContentProps,State>} coeffects\n */\nconst updateChoiceValueEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value },\n\t\t},\n\t\thost: { localName },\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\t// @ts-ignore\n\tconst isIconTypeCellEditor =\n\t\tlocalName === 'now-list-icon-cell-editor-content';\n\n\tconst updateProperty = isIconTypeCellEditor\n\t\t? 'cellEditColor'\n\t\t: 'cellEditValue';\n\n\tupdateState({ [updateProperty]: value });\n\n\tconst payload = isIconTypeCellEditor ? { color: value } : { value };\n\n\tdispatch(NOW_LIST_CELL_EDITOR_CONTENT_VALUE_UPDATED, payload);\n};\n\n/**\n * @param {Coeffects<PopoverCellEditorContentProps,State>} coeffects\n */\nconst updateHTMLValueEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { value },\n\t\t},\n\t\tdispatch,\n\t\tupdateState,\n\t} = coeffects;\n\n\t// @ts-ignore\n\tupdateState({ cellEditValue: value });\n\n\tdispatch(NOW_LIST_CELL_EDITOR_CONTENT_VALUE_UPDATED, {\n\t\tvalue: value,\n\t});\n};\n\nexport const actionHandlers = {\n\t[NOW_INPUT_VALUE_SET]: {\n\t\teffect: updateInputTypeValueEffect,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_RADIO_BUTTONS_VALUE_SET]: {\n\t\teffect: updateBooleanValueEffect,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_DATE_TIME_VALUE_SET]: {\n\t\teffect: updateDateTimeValueEffect,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_TYPEAHEAD_MULTI_SELECTED_ITEMS_SET]: {\n\t\teffect: updatePillsValueEffect,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_SELECT_SELECTED_ITEM_SET]: {\n\t\teffect: updateChoiceValueEffect,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_INPUT_URL_VALUE_SET]: {\n\t\teffect: updateUrlValueEffect,\n\t\tstopPropagation: true,\n\t},\n\t[NOW_HTML_VALUE_SET]: {\n\t\teffect: updateHTMLValueEffect,\n\t\tstopPropagation: true,\n\t},\n};\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport styles from '../popoverCellEditorContent.scss';\n\nimport { actionHandlers } from './action';\nimport '@servicenow/now-input';\n\n/**\n * @type {View<PopoverCellEditorTypeContentProps, {cellEditValue: String}>}\n * @returns\n */\nexport const view = (state) => {\n\tconst { cellEditValue } = state;\n\treturn (\n\t\t<div className=\"popover-string-cell-editor-content-container\">\n\t\t\t<now-input\n\t\t\t\ttype=\"text\"\n\t\t\t\tname=\"cellEditingString\"\n\t\t\t\tclassName=\"input-type-cell-editor-content\"\n\t\t\t\tvalue={cellEditValue}\n\t\t\t\tmanageValue={true}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\ncreateCustomElement('now-list-string-cell-editor-content', {\n\tview,\n\tsetInitialState({\n\t\tproperties: {\n\t\t\tactionsContext: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tcell: { value },\n\t\t\t},\n\t\t},\n\t}) {\n\t\treturn {\n\t\t\tcellEditValue: value,\n\t\t};\n\t},\n\tstyles,\n\tproperties: {\n\t\tactionsContext: {},\n\t},\n\t// @ts-ignore\n\tactionHandlers,\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport styles from '../popoverCellEditorContent.scss';\n\nimport { actionHandlers } from './action';\nimport '@servicenow/now-input';\n\n/**\n * @type {View<PopoverCellEditorTypeContentProps, {cellEditValue:Number}>}\n * @returns\n */\nexport const view = (state) => {\n\tconst { cellEditValue } = state;\n\n\treturn (\n\t\t<div className=\"popover-currency-cell-editor-content-container\">\n\t\t\t<now-input\n\t\t\t\ttype=\"number\"\n\t\t\t\tname=\"cellEditingCurrency\"\n\t\t\t\tclassName=\"input-type-cell-editor-content\"\n\t\t\t\tvalue={cellEditValue}\n\t\t\t\tmanageValue={true}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\ncreateCustomElement('now-list-currency-cell-editor-content', {\n\tview,\n\tsetInitialState({\n\t\tproperties: {\n\t\t\tactionsContext: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tcell: { value },\n\t\t\t},\n\t\t},\n\t}) {\n\t\treturn {\n\t\t\tcellEditValue: value,\n\t\t};\n\t},\n\tstyles,\n\tproperties: {\n\t\tactionsContext: {},\n\t},\n\t// @ts-ignore\n\tactionHandlers,\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport { BOOLEAN_CHOICES } from '../../../fields/boolean/constants.js';\nimport styles from '../popoverCellEditorContent.scss';\n\nimport { actionHandlers } from './action';\nimport '@servicenow/now-radio-buttons';\n\n/**\n * @type {View<PopoverCellEditorTypeContentProps, {cellEditValue: Boolean}>}\n * @returns\n */\nexport const view = (state) => {\n\tconst { cellEditValue } = state;\n\n\tconst initialValue = cellEditValue ? 'true' : 'false';\n\n\treturn (\n\t\t<div className=\"popover-boolean-cell-editor-content-container\">\n\t\t\t<now-radio-buttons\n\t\t\t\tname=\"cellEditingBooleanChoice\"\n\t\t\t\tmanageValue={true}\n\t\t\t\tvalue={initialValue}\n\t\t\t\toptions={BOOLEAN_CHOICES}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\ncreateCustomElement('now-list-boolean-cell-editor-content', {\n\tview,\n\tsetInitialState({\n\t\tproperties: {\n\t\t\tactionsContext: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tcell: { value },\n\t\t\t},\n\t\t},\n\t}) {\n\t\treturn {\n\t\t\tcellEditValue: value,\n\t\t};\n\t},\n\tstyles,\n\tproperties: {\n\t\tactionsContext: {},\n\t},\n\t// @ts-ignore\n\tactionHandlers,\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { format, fromUnixTime } from 'date-fns';\nimport { formatInTimeZone } from 'date-fns-tz';\nimport { t } from 'sn-translate';\n\nimport { TYPE_NUMBER } from '../../../../../typeSchemas/columnDefinitions/columnTypes/columnTypes';\nimport { getDateEditorVariant } from '../../../../utils/dateTimeUtils';\nimport columnSelectors from '../../../../utils/selectors/columnSelectors';\nimport { DATE_EDITOR_VARIANT_SHORT } from '../../../fields/dateTime/constants';\nimport styles from '../popoverCellEditorContent.scss';\n\nimport { actionHandlers } from './action';\nimport '@servicenow/now-date-time';\n\nconst { getDateTimeFormat, getFirstDayOfWeek } = columnSelectors;\n\n/**\n * @type {View<PopoverCellEditorTypeContentProps, {cellEditValue: String}>}\n * @returns\n */\nexport const view = (state) => {\n\tconst {\n\t\tcellEditValue,\n\t\tproperties: {\n\t\t\t// @ts-ignore\n\t\t\tactionsContext: { column },\n\t\t},\n\t} = state;\n\tconst dateTimeFormat = getDateTimeFormat(column);\n\tconst dateEditorVariant = getDateEditorVariant(dateTimeFormat, false);\n\n\tlet formattedDateValue = cellEditValue ?? '';\n\n\tif (typeof cellEditValue === TYPE_NUMBER) {\n\t\t// glide 'date' type are saved in the form of 2024-12-12 which is converted to unix code which is read as 2024-12-12 00:00:00 gmt.\n\t\t// when this date hits the UI it converts to local timezone which create an inconsistent date in the view.\n\t\t// to solve this for all short dates only render UTC to make saving and reading short dates is consistent.\n\t\tif (dateEditorVariant === DATE_EDITOR_VARIANT_SHORT) {\n\t\t\tformattedDateValue = formatInTimeZone(\n\t\t\t\t// FIXME: could be facing issue when local and User Pref timezones are different\n\t\t\t\tfromUnixTime(Number(cellEditValue)),\n\t\t\t\t'UTC',\n\t\t\t\tdateTimeFormat\n\t\t\t);\n\t\t} else {\n\t\t\tformattedDateValue = format(\n\t\t\t\t// FIXME: could be facing issue when local and User Pref timezones are different\n\t\t\t\tfromUnixTime(Number(cellEditValue)),\n\t\t\t\tdateTimeFormat\n\t\t\t);\n\t\t}\n\t}\n\n\treturn (\n\t\t<div className=\"popover-date-time-cell-editor-content-container\">\n\t\t\t<now-date-time\n\t\t\t\tlabel={t('Select date and time')}\n\t\t\t\ttype={dateEditorVariant}\n\t\t\t\tformat={dateTimeFormat}\n\t\t\t\tname=\"cellEditingDateTime\"\n\t\t\t\tclassName=\"date-time-type-cell-editor-content\"\n\t\t\t\tfirstDayOfWeek={getFirstDayOfWeek(column)}\n\t\t\t\tvalue={formattedDateValue}\n\t\t\t\tmanageValue={true}\n\t\t\t\tshow-default-footer-actions\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\ncreateCustomElement('now-list-date-time-cell-editor-content', {\n\tview,\n\tsetInitialState({\n\t\tproperties: {\n\t\t\tactionsContext: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tcell: { value },\n\t\t\t},\n\t\t},\n\t}) {\n\t\treturn {\n\t\t\tcellEditValue: value,\n\t\t};\n\t},\n\tstyles,\n\tproperties: {\n\t\tactionsContext: {},\n\t},\n\t// @ts-ignore\n\tactionHandlers,\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport styles from '../popoverCellEditorContent.scss';\n\nimport { actionHandlers } from './action';\nimport '@servicenow/now-input';\n\n/**\n * @type {View<PopoverCellEditorTypeContentProps, {cellEditValue:Number}>}\n * @returns\n */\nexport const view = (state) => {\n\tconst { cellEditValue } = state;\n\n\treturn (\n\t\t<div className=\"popover-number-cell-editor-content-container\">\n\t\t\t<now-input\n\t\t\t\ttype=\"number\"\n\t\t\t\tname=\"cellEditingNumber\"\n\t\t\t\tclassName=\"input-type-cell-editor-content\"\n\t\t\t\tvalue={cellEditValue}\n\t\t\t\tmanageValue={true}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\ncreateCustomElement('now-list-number-cell-editor-content', {\n\tview,\n\tsetInitialState({\n\t\tproperties: {\n\t\t\tactionsContext: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tcell: { value },\n\t\t\t},\n\t\t},\n\t}) {\n\t\treturn {\n\t\t\tcellEditValue: value,\n\t\t};\n\t},\n\tstyles,\n\tproperties: {\n\t\tactionsContext: {},\n\t},\n\t// @ts-ignore\n\tactionHandlers,\n});\n","import {transform, isNumber, xorBy, isEmpty, debounce} from 'lodash';\nimport {\n\tgetItemForKeypress,\n\tupdateActiveDescendant,\n} from '@servicenow/now-dropdown';\n\nimport {actionTypes} from '@servicenow/ui-core';\nconst {ARIA_LIVE_REGION_UPDATE_REQUESTED} = actionTypes;\nimport {\n\tisDesktopSafari,\n\tariaLivePoliteness,\n} from '@servicenow/library-enhanced-utils';\n\nimport {t} from 'sn-translate';\nimport {TOOLTIP_HIDE, TOOLTIP_SHOW} from '@servicenow/behavior-tooltip';\n\n/**\n * Default values for the `constrain` property in both single and multi\n */\nexport const CONSTRAIN_DEFAULTS = {\n\tmaxHeight: 300,\n\twidth: 'target',\n\tmaxWidth: 'target',\n};\n\n/**\n * A returnable value to cancel a Seismic dispatch. Used when we need to\n * conditionally dispatch something and that condition is not met.\n */\nexport const CANCEL_DISPATCH = {\n\tshouldDispatch: false,\n};\n\n/**\n * A returnable value to cancel a Seismic updateState. Used when we need to\n * conditionally update component state and that condition is not met.\n */\nexport const CANCEL_UPDATE = {\n\tshouldUpdate: false,\n};\n\n/**\n * We have to inline the height styles onto dropdown-list to correctly render\n * the scrollbar within the border of the popover. The width dimensions are set\n * through now-popover's `constrain` prop\n * @param {ItemsListConstrain} constrain - the original `constrain` property\n * provided to the typeahead\n */\nexport const getDropdownListConstrain = (constrain) => {\n\treturn transform(constrain, (result, value, key) => {\n\t\tif (key === 'height' || key === 'minHeight' || key === 'maxHeight') {\n\t\t\tresult[key] = isNumber(value) ? `${value}px` : value;\n\t\t}\n\t});\n};\n\n/**\n * Flattens out any DropdownListSections with `children` into a flat array\n * containing only the items.\n * @param {Array<DropdownListSection>} items - the items to flatten out\n */\nexport const flattenItems = (items) =>\n\titems.flatMap((item) => {\n\t\treturn !isEmpty(item.children) ? item.children : item;\n\t});\n\n/**\n * For typeahead-multi: if the item is in the selectedItems array already\n * remove that item, otherwise add it\n * @param {Array.<DropdownListItem>} selectedItems - currently selected items\n * @param {DropdownListItem} item - item to add (if not present in\n * selectedItems) or remove (if present in selectedItems)\n */\nexport const toggleSelectedItem = (selectedItems, item) => {\n\treturn xorBy(selectedItems, [item], (item) => item.id);\n};\n\n/**\n * Undefer the dropdown list if its being opened\n * @param {boolean} opened - if the list is being opened\n * @param {boolean} hasBeenUndeferred - if the list has already been undeferred\n * @param {Element} listRef - reference to the list to undefer\n */\n\nexport const undeferList = (opened, hasBeenUndeferred, listRef) => {\n\tif (!hasBeenUndeferred && opened) {\n\t\tif (listRef) {\n\t\t\tlistRef.removeAttribute('defer');\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn hasBeenUndeferred;\n};\n\n/**\n * Internal search for typeaheads. Searches on label and sublabel.\n * @param {Array<DropdownListItem>} items - items to search through\n * @param {string} value - substring to match the items' label and sublabel against\n * @param {(\"managed\"|\"initial\"|\"contains\")} search - what type of search to\n * perform. Should match the typeaheads' `search` property.\n */\nexport const getSearchMatches = (items, value, search) => {\n\tif (!items || !items.length) {\n\t\treturn [];\n\t}\n\n\tif (!value || search === 'managed') {\n\t\treturn items;\n\t}\n\n\tconst matchesLabel = {};\n\n\treturn (\n\t\titems\n\t\t\t.reduce((result, item) => {\n\t\t\t\tconst children = getSearchMatches(item.children, value, search);\n\t\t\t\tif (children.length) {\n\t\t\t\t\tresult.push({\n\t\t\t\t\t\t...item,\n\t\t\t\t\t\tchildren,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tconst label = item.label ? item.label.toLowerCase() : '';\n\t\t\t\t\tconst sublabel = item.sublabel ? item.sublabel.toLowerCase() : '';\n\t\t\t\t\tconst lowerValue = value.toLowerCase();\n\n\t\t\t\t\tconst method = search === 'contains' ? 'includes' : 'startsWith';\n\n\t\t\t\t\tif (label[method](lowerValue)) {\n\t\t\t\t\t\tmatchesLabel[item.id] = true;\n\t\t\t\t\t\tresult.push(item);\n\t\t\t\t\t} else if (sublabel[method](lowerValue)) {\n\t\t\t\t\t\tmatchesLabel[item.id] = false;\n\t\t\t\t\t\tresult.push(item);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn result;\n\t\t\t}, [])\n\t\t\t// sort the items so that matches on primary label come\n\t\t\t// before matches on sublabel\n\t\t\t.sort((a, b) => matchesLabel[b.id] - matchesLabel[a.id])\n\t);\n};\n\n/**\n * Returns an item whose label matches the value (case-insensitively), - the items to flatten out\n * but only if that item is not already selected.\n *\n * @param {(Array.<DropdownListItem> | Array.<DropdownListSection>)} items\n * @param {string|number|Array<DropdownListItem>} selected - already\n * selected items.  for typeahead single, this is just an item ID. For\n * multi, this is an array of item objects.\n * @param {string} value - the value to compare against item labels\n */\nexport function autoSelectMatch(items, selected, value) {\n\tif (!value) return null;\n\n\tconst selectedIds = Array.isArray(selected)\n\t\t? selected.map((item) => item.id)\n\t\t: [selected];\n\tconst exactMatches = flattenItems(items).filter(\n\t\t(item) => item.label && item.label.toLowerCase() === value.toLowerCase(),\n\t);\n\n\tif (exactMatches.length === 1 && !selectedIds.includes(exactMatches[0].id)) {\n\t\treturn exactMatches[0];\n\t}\n\n\treturn null;\n}\n\n/**\n * Finds a item in the `items` array that has the matching id\n * @param {Array<DropdownListSection>} items - the items to search through\n * @param {string|number} id - the item ID to search for\n */\nexport function getItemById(items, id) {\n\tconst flattenedItems = flattenItems(items);\n\treturn flattenedItems.find((item) => item.id === id);\n}\n\nexport const dispatchSafariLiveMsg = (dispatch, message) => {\n\tif (isDesktopSafari()) {\n\t\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\tmessage: message,\n\t\t\ttype: ariaLivePoliteness.POLITE,\n\t\t});\n\t}\n};\n\n/**\n * Shared handler for Arrow + Home/End keys, to move the active item within\n * the dropdown list:\n * - ArrowDown: make the next item the active item, or opens the panel if not yet opened\n * - ArrowUp: make the previous item the active item\n * - Home: make the first item active\n * - End: make the last item active\n * @param {Event} event - the event for the keypress\n * @param {Function} updateState - Seismic helper function for the component\n * @param {string} optionPrefix - ID prefix used for each item in the dropdown list\n */\nexport function moveActiveItem(\n\tevent,\n\tupdateState,\n\toptionPrefix,\n\tdispatch,\n\tstate,\n) {\n\t/*If the dropdown is closed, we want the Home and the End buttons to work as usual.\n\t(Home = Cursor moves to the start of the text, End = Cursor moves to the end of the text).\n\t*/\n\tif (state.opened) event.preventDefault();\n\tconst {key} = event;\n\tconst input = event.target;\n\n\tupdateState(({state, properties}) => {\n\t\tconst {opened, activeItemId} = state;\n\t\tconst {disabled, readonly, items, search, selectedItem, selectedItems} =\n\t\t\tproperties;\n\t\t// single uses value from props. multi uses value from input\n\t\tconst value = properties.value || input.value;\n\n\t\t// ArrowDown is the only one that does something when the panel is closed.\n\t\tif (key !== 'ArrowDown' && !opened) {\n\t\t\treturn CANCEL_UPDATE;\n\t\t}\n\n\t\tconst filteredItems = getSearchMatches(items, value, search);\n\n\t\tif (key === 'ArrowUp') {\n\t\t\t// up arrow when nothing is focused closes the panel\n\t\t\tif (!activeItemId) {\n\t\t\t\tdispatchSafariLiveMsg(dispatch, t('dropdown collapsed'));\n\n\t\t\t\treturn {\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'opened',\n\t\t\t\t\tvalue: false,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// up arrow when the first item is focused removes focus\n\t\t\tif (activeItemId === flattenItems(filteredItems)[0].id) {\n\t\t\t\treturn {\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'activeItemId',\n\t\t\t\t\tvalue: null,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\t// down arrow opens the panel if closed\n\t\tif (key === 'ArrowDown') {\n\t\t\tif (!opened && !disabled && !readonly) {\n\t\t\t\tdispatchSafariLiveMsg(dispatch, t('dropdown expanded'));\n\t\t\t\treturn {\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'opened',\n\t\t\t\t\tvalue: true,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\t// for all other cases, move focus to the next item\n\t\tconst nextItem = getItemForKeypress(filteredItems, activeItemId, key);\n\t\tif (!nextItem) {\n\t\t\treturn CANCEL_UPDATE;\n\t\t}\n\t\tif (selectedItem && selectedItem === nextItem.id) {\n\t\t\tdispatchSafariLiveMsg(dispatch, t(`{0} selected`, nextItem.label));\n\t\t} else if (\n\t\t\tselectedItems &&\n\t\t\tselectedItems?.length > 0 &&\n\t\t\tselectedItems?.find((item) => item.id === nextItem.id)\n\t\t) {\n\t\t\tdispatchSafariLiveMsg(dispatch, t(`{0} selected`, nextItem.label));\n\t\t} else {\n\t\t\tdispatchSafariLiveMsg(dispatch, nextItem.label);\n\t\t}\n\t\tupdateActiveDescendant(input, `${optionPrefix}-${nextItem.id}`);\n\n\t\treturn {\n\t\t\toperation: 'set',\n\t\t\tpath: 'activeItemId',\n\t\t\tvalue: nextItem.id,\n\t\t};\n\t});\n}\n\n/**\n * Toggles the `opened` state for the component, which corresponds to whether\n * or not the panel is rendered\n * @param {Function} updateState - Seismic helper for the component\n */\nexport function togglePanel(updateState, dispatch) {\n\tupdateState(({state, properties}) => {\n\t\tconst {opened} = state;\n\t\tconst {disabled, readonly, disableAutoClose} = properties;\n\t\tif (readonly || disabled) {\n\t\t\treturn CANCEL_UPDATE;\n\t\t}\n\n\t\tlet ariaLiveText = !opened\n\t\t\t? t('dropdown expanded')\n\t\t\t: t('dropdown collapsed');\n\n\t\tif (!disableAutoClose) {\n\t\t\tdispatchSafariLiveMsg(dispatch, ariaLiveText);\n\t\t}\n\n\t\treturn {\n\t\t\toperation: 'assign',\n\t\t\tvalue: {\n\t\t\t\topened: disableAutoClose || !opened,\n\t\t\t\tactiveItemId: disableAutoClose ? state.activeItemId : null,\n\t\t\t},\n\t\t};\n\t});\n}\n\n/**\n * Shared blur event handler for single and multi. Updates the `hasFocus` state\n * and will perform any validation if the panel is already closed.\n * @param {Function} dispatch - Seismic helper for the component\n * @param {Function} updateState - Seismic helper for the component\n */\nexport const handleBlur = (dispatch, updateState) => {\n\tupdateState({\n\t\tshouldRender: true,\n\t\toperation: 'set',\n\t\tpath: 'hasFocus',\n\t\tvalue: false,\n\t});\n\n\t// when the panel is closed, we can do immediate validation. This is used\n\t// when the user tabs through the field without activating the panel.\n\t//\n\t// when the panel is opened, don't do anything on input blur. Instead, wait\n\t// until we get a popover close event (see NOW_POPOVER#OPENED_SET\n\t// actionHandler)\n\tdispatch(({state}) => {\n\t\tconst {opened} = state;\n\n\t\tif (opened) {\n\t\t\treturn CANCEL_DISPATCH;\n\t\t}\n\t\treturn {\n\t\t\ttype: 'PRIVATE#BLUR',\n\t\t\tpayload: {},\n\t\t};\n\t});\n};\n\n/**\n * Shared focus event handler for single and multi. Updates the `hasFocus` state\n * @param {Function} updateState - Seismic helper for the component\n */\nexport const handleFocus = (updateState) => {\n\tupdateState(() => ({\n\t\toperation: 'set',\n\t\tpath: 'hasFocus',\n\t\tvalue: true,\n\t\tshouldRender: true,\n\t}));\n};\n\nexport const ariaLiveNoResults = debounce((dispatch, search) => {\n\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\tmessage: t('No results found'),\n\t\ttype: ariaLivePoliteness.POLITE,\n\t\treplaceContent: search && search === 'managed',\n\t});\n}, 250);\n\nexport const ariaLiveNumResults = debounce((dispatch, length, search) => {\n\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\tmessage: t(`{0} items`, length),\n\t\ttype: ariaLivePoliteness.POLITE,\n\t\treplaceContent: search && search === 'managed',\n\t});\n}, 250);\n\nexport const ariaLiveSectionResults = debounce((dispatch, announcement) => {\n\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\tmessage: announcement,\n\t\ttype: ariaLivePoliteness.POLITE,\n\t});\n}, 250);\n\nexport const showPlaceholderTooltip = (dispatch) => (event) => {\n\tdispatch(TOOLTIP_SHOW, {target: event.target});\n};\n\nexport const hidePlaceholderTooltip = (dispatch) => (event) => {\n\tdispatch(TOOLTIP_HIDE, {target: event.target});\n};\n","import {debounce} from 'lodash';\n\nexport const debounceDispatch = debounce((fn) => fn(), 250);\n","import {pick} from 'lodash';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {\n\ttoArray,\n\tmakeRedispatchEffect,\n\tfilterAriaAttributes,\n\tisDesktopSafari,\n} from '@servicenow/library-enhanced-utils';\nimport styles from './_now-typeahead.scss';\nimport {\n\tCONSTRAIN_DEFAULTS,\n\tCANCEL_DISPATCH,\n\tCANCEL_UPDATE,\n\tautoSelectMatch,\n\tmoveActiveItem,\n\tgetSearchMatches,\n\tgetItemById,\n\tgetDropdownListConstrain,\n\ttogglePanel,\n\thandleBlur,\n\thandleFocus,\n\tariaLiveNoResults,\n\tariaLiveNumResults,\n\tshowPlaceholderTooltip,\n\thidePlaceholderTooltip,\n\tariaLiveSectionResults,\n} from './utils/typeahead';\nimport {debounceDispatch} from './utils/debounce-dispatch';\nimport '@servicenow/now-dropdown';\nimport {itemsSchema, constrainSchema} from '@servicenow/now-dropdown';\nimport '@servicenow/now-popover';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport deferBehavior from '@servicenow/behavior-defer';\nimport {\n\trenderFormFieldLabel,\n\trenderFormFieldMessages,\n\trenderLabelEnd,\n\tgetAriaDescribedByList,\n} from '@servicenow/now-input';\nimport {t} from 'sn-translate';\nimport {messagesSchema} from '@servicenow/now-input';\nimport {configAriaLabelSchema} from '@servicenow/library-schemas';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport tooltipBehavior, {TOOLTIP_HIDE} from '@servicenow/behavior-tooltip';\nimport {fieldLayoutSchema} from '@servicenow/now-input';\nimport {getColumnStyles} from '@servicenow/library-enhanced-utils';\n\nconst {\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tARIA_LIVE_REGION_UPDATE_REQUESTED,\n} = actionTypes;\n\nconst announceMessage = (label, content, dispatch) => {\n\tconst announcement = label + ' ' + content.content;\n\tdebounceDispatch(() => {\n\t\treturn dispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\tmessage: announcement,\n\t\t\ttype: 'polite',\n\t\t});\n\t});\n};\n\nconst handlePlaceholderTooltipVisibility = (\n\te,\n\tvalue,\n\tdispatch,\n\tstate,\n\tupdateState,\n) => {\n\tconst {placeholderTooltipVisible} = state;\n\tif (value) {\n\t\tif (placeholderTooltipVisible) {\n\t\t\thidePlaceholderTooltip(dispatch)(e);\n\t\t\tupdateState({placeholderTooltipVisible: false});\n\t\t}\n\t\treturn;\n\t}\n\tif (\n\t\te.type === 'mouseenter' ||\n\t\te.type === 'focusin' ||\n\t\t(e.type === 'input' && !value)\n\t) {\n\t\tshowPlaceholderTooltip(dispatch)(e);\n\t\tupdateState({placeholderTooltipVisible: true});\n\t} else if (\n\t\te.type === 'mouseleave' ||\n\t\te.type === 'focusout' ||\n\t\te.type === 'click' ||\n\t\t(e.type === 'keydown' && e?.key === 'ArrowDown')\n\t) {\n\t\thidePlaceholderTooltip(dispatch)(e);\n\t\tupdateState({placeholderTooltipVisible: false});\n\t}\n};\n\nconst handleKeydown = (event, dispatch, state, updateState, optionPrefix) => {\n\tconst {key, shiftKey} = event;\n\tconst value = event.target.value;\n\tconst {placeholderOverflow} = state;\n\tif (placeholderOverflow) {\n\t\thandlePlaceholderTooltipVisibility(\n\t\t\tevent,\n\t\t\tvalue,\n\t\t\tdispatch,\n\t\t\tstate,\n\t\t\tupdateState,\n\t\t);\n\t}\n\tif (\n\t\t(key === 'ArrowUp' ||\n\t\t\tkey === 'ArrowDown' ||\n\t\t\tkey === 'Home' ||\n\t\t\tkey === 'End') &&\n\t\t!shiftKey\n\t) {\n\t\tmoveActiveItem(event, updateState, optionPrefix, dispatch, state);\n\t}\n\n\tif (key === 'Enter') {\n\t\t// Safari Issue Workaround: In Safari 16.4+, the VO focus ring is losing focus of the input\n\t\t// when Enter is selected on an item in the dropdown. This code is to prevent the lost focus.\n\t\tif (isDesktopSafari()) {\n\t\t\tevent.target.blur();\n\t\t\tevent.target.focus();\n\t\t}\n\n\t\t// Select the item\n\t\t// 1. If the panel is open and there is an activeItemId\n\t\t// 2. If the panel input exactly matches the label of only one item\n\n\t\tdispatch(({state, properties}) => {\n\t\t\tconst {items, selectedItem, name} = properties;\n\t\t\tconst {activeItemId, opened} = state;\n\n\t\t\tconst nextItem = activeItemId\n\t\t\t\t? getItemById(items, activeItemId)\n\t\t\t\t: autoSelectMatch(items, selectedItem, value);\n\n\t\t\tconst itemSelectable = nextItem && !nextItem.disabled;\n\t\t\tconst itemSelected = opened && nextItem;\n\n\t\t\tif (itemSelectable || !opened || !itemSelected) {\n\t\t\t\ttogglePanel(updateState, dispatch);\n\t\t\t}\n\n\t\t\tif (itemSelectable) {\n\t\t\t\tconst setItemPayload = {...nextItem, actionSource: 'select'};\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'PRIVATE#SET_ITEM',\n\t\t\t\t\tpayload: setItemPayload,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'NOW_TYPEAHEAD#ENTER_KEYDOWN',\n\t\t\t\t\tpayload: {name, value},\n\t\t\t\t};\n\t\t\t}\n\t\t});\n\t}\n};\n\nconst handleInput = (event, dispatch, state, updateState) => {\n\tconst {value} = event.target;\n\tconst {placeholderOverflow} = state;\n\tif (placeholderOverflow) {\n\t\thandlePlaceholderTooltipVisibility(\n\t\t\tevent,\n\t\t\tvalue,\n\t\t\tdispatch,\n\t\t\tstate,\n\t\t\tupdateState,\n\t\t);\n\t}\n\t// while typing, if the input field has some text, open the panel\n\tupdateState(({state}) => {\n\t\treturn {\n\t\t\toperation: 'assign',\n\t\t\tvalue: {\n\t\t\t\t// input event will fire when clearing out the field. In that case we\n\t\t\t\t// want to maintain the current `opened` state of the panel rather than\n\t\t\t\t// forcing it open.\n\t\t\t\topened: value ? true : state.opened,\n\t\t\t},\n\t\t};\n\t});\n\n\t// typing into the input always unsets the current item, user will need to\n\t// select again from the panel.\n\tdebounceDispatch(() => {\n\t\tdispatch('PRIVATE#SET_ITEM', {\n\t\t\tid: null,\n\t\t\tlabel: value,\n\t\t\tactionSource: 'input',\n\t\t});\n\t});\n};\n\nconst handleClick = (event, dispatch, state, updateState) => {\n\t// clicks open the panel unless disabled/readonly\n\tconst {value} = event.target;\n\tconst {disabled, readonly} = state.properties;\n\tconst {placeholderOverflow} = state;\n\tif ((!disabled || !readonly) && placeholderOverflow) {\n\t\thandlePlaceholderTooltipVisibility(\n\t\t\tevent,\n\t\t\tvalue,\n\t\t\tdispatch,\n\t\t\tstate,\n\t\t\tupdateState,\n\t\t);\n\t}\n\tupdateState(({properties}) => {\n\t\tconst {disabled, readonly} = properties;\n\n\t\tif (disabled || readonly) {\n\t\t\treturn CANCEL_UPDATE;\n\t\t}\n\n\t\treturn {\n\t\t\toperation: 'set',\n\t\t\tpath: 'opened',\n\t\t\tvalue: true,\n\t\t};\n\t});\n};\n\nconst ariaAnnouncements = (\n\tfilteredItems,\n\titems,\n\tdispatch,\n\tupdateState,\n\tvalue,\n\tsearch,\n) => {\n\tlet announcements = [],\n\t\tuncategorizedCount = 0,\n\t\thasChildren = false,\n\t\tchildCount = 0,\n\t\ttotalItems = 0,\n\t\tannouncementMessage = '';\n\tif (filteredItems.length === 0) {\n\t\tariaLiveNoResults(dispatch);\n\t} else {\n\t\tfilteredItems.forEach((item) => {\n\t\t\tlet getSectionHeader = item.ariaLabel || item.label || t('uncategorized');\n\t\t\tif (item.children) {\n\t\t\t\thasChildren = true;\n\t\t\t\tchildCount = item.children.length;\n\t\t\t\t//if the dropdown list has a list of items with children, announce the number of items with the section headers\n\t\t\t\tannouncementMessage = t(\n\t\t\t\t\t{\n\t\t\t\t\t\tcode: 'now-typeahead-search-labels',\n\t\t\t\t\t\tmessage: '{childCount} items in {sectionHeader}',\n\t\t\t\t\t\tcomment:\n\t\t\t\t\t\t\t'ARIA message for screenreader users telling them the number of child items in a group with header of sectionHeader',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tchildCount: childCount,\n\t\t\t\t\t\tsectionHeader: getSectionHeader,\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t\tannouncements.push(announcementMessage);\n\t\t\t\ttotalItems += item.children.length;\n\t\t\t} else {\n\t\t\t\tuncategorizedCount += 1; // Count uncategorized items\n\t\t\t\ttotalItems++;\n\t\t\t}\n\t\t});\n\n\t\t//if the user has removed all the text, go back to announcing the number of items\n\t\tif (filteredItems.length === items.length && !value) {\n\t\t\tariaLiveNumResults(dispatch, totalItems, search);\n\t\t\tannouncements = [];\n\t\t}\n\n\t\t//if the dropdown list is a plain list of items without any children, announce the number of items\n\t\telse if (!hasChildren) {\n\t\t\tariaLiveNumResults(dispatch, filteredItems.length, search);\n\t\t\tannouncements = [];\n\t\t} else {\n\t\t\t// If there are uncategorized items, add them to the announcement\n\t\t\tif (uncategorizedCount > 0) {\n\t\t\t\tannouncementMessage = t(\n\t\t\t\t\t{\n\t\t\t\t\t\tcode: 'now-typeahead-search-uncategorized',\n\t\t\t\t\t\tmessage: '{uncategorizedCount} items in uncategorized',\n\t\t\t\t\t\tcomment:\n\t\t\t\t\t\t\t'ARIA message for screenreader users telling them the number of items in an uncategorized section.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tuncategorizedCount: uncategorizedCount,\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t\tannouncements.push(announcementMessage);\n\t\t\t}\n\t\t\tariaLiveSectionResults(dispatch, announcements.join(', '));\n\t\t\tannouncements = [];\n\t\t}\n\t}\n\n\tupdateState({\n\t\tannounceResults: false,\n\t});\n};\n\nconst view = (state, {dispatch, updateState}) => {\n\tconst {activeItemId, opened, hasFocus, announceResults, placeholderOverflow} =\n\t\tstate;\n\tconst {\n\t\tsize,\n\t\tautofocus,\n\t\tdisabled,\n\t\thelperContent,\n\t\thideRequiredIndicator,\n\t\tinvalid,\n\t\titemsListConstrain,\n\t\tlabel,\n\t\tmessages,\n\t\titems,\n\t\tselectedItem,\n\t\tsearch,\n\t\toptional,\n\t\tplaceholder,\n\t\treadonly,\n\t\trequired,\n\t\tvalue = '',\n\t\tnowId,\n\t\tname = `typeahead-${nowId}`,\n\t\tconfigAria,\n\t\tfieldLayout: {layout, columns},\n\t\twrapLabel,\n\t\tmaxlength,\n\t} = state.properties;\n\n\tconst constrain = {...CONSTRAIN_DEFAULTS, ...itemsListConstrain};\n\tconst filteredItems = getSearchMatches(items, value, search);\n\n\tif (announceResults) {\n\t\tariaAnnouncements(\n\t\t\tfilteredItems,\n\t\t\titems,\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\tvalue,\n\t\t\tsearch,\n\t\t);\n\t}\n\n\tconst listId = `now-dropdown-list-${nowId}`;\n\tconst optionPrefix = `${listId}-option`;\n\n\treturn (\n\t\t<div\n\t\t\tstyle={\n\t\t\t\tlayout === 'horizontal' ? {...getColumnStyles(columns)} : undefined\n\t\t\t}\n\t\t\tclass={{\n\t\t\t\t'now-typeahead': true,\n\t\t\t\t'now-form-field-layout': true,\n\t\t\t\t[`-${size}`]: size,\n\t\t\t\t[`-${layout}`]: layout,\n\t\t\t\t'will-wrap': wrapLabel,\n\t\t\t}}\n\t\t>\n\t\t\t{renderFormFieldLabel(\n\t\t\t\tnowId,\n\t\t\t\tinvalid,\n\t\t\t\trequired,\n\t\t\t\toptional,\n\t\t\t\tlabel,\n\t\t\t\thelperContent,\n\t\t\t\thideRequiredIndicator,\n\t\t\t\t'label',\n\t\t\t\tlayout,\n\t\t\t\topened,\n\t\t\t\twrapLabel,\n\t\t\t)}\n\t\t\t<now-popover\n\t\t\t\tbare\n\t\t\t\tconstrain={pick(constrain, ['width', 'minWidth', 'maxWidth'])}\n\t\t\t\tmanage-opened\n\t\t\t\topened={opened}\n\t\t\t\tappend-to-payload={{id: 'now-dropdown-list'}}\n\t\t\t\tinteraction-type=\"listbox\"\n\t\t\t\tdisable-scroll\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\ton-click={(event) => {\n\t\t\t\t\t\tif (disabled || readonly) {\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'now-typeahead-field': true,\n\t\t\t\t\t\t'now-form-field': true,\n\t\t\t\t\t\t'is-invalid': invalid,\n\t\t\t\t\t\t'is-disabled': disabled,\n\t\t\t\t\t\t'is-readonly': readonly,\n\t\t\t\t\t\t'has-focus': hasFocus,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"now-form-field-slot -start\">\n\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\tname=\"start\"\n\t\t\t\t\t\t\ton-click={(e) => {\n\t\t\t\t\t\t\t\tif (!opened) {\n\t\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<input\n\t\t\t\t\t\tid={`form-field-${nowId}`}\n\t\t\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\t\t\taria-activedescendant={\n\t\t\t\t\t\t\tactiveItemId ? `${optionPrefix}-${activeItemId}` : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\taria-describedby={getAriaDescribedByList({\n\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\toptional,\n\t\t\t\t\t\t\tnowId,\n\t\t\t\t\t\t\tmessages,\n\t\t\t\t\t\t\tlayout,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\tdata-tooltip={placeholder}\n\t\t\t\t\t\taria-expanded={String(opened)}\n\t\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t\t\taria-owns={`${listId}-listbox`}\n\t\t\t\t\t\taria-controls={`${listId}-listbox`}\n\t\t\t\t\t\tclassName=\"now-typeahead-native-input\"\n\t\t\t\t\t\tautofocus={autofocus}\n\t\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\tname={name}\n\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\treadonly={readonly}\n\t\t\t\t\t\trequired={required}\n\t\t\t\t\t\tvalue={!value && readonly ? '—' : value}\n\t\t\t\t\t\taria-label={!value && readonly ? '' : undefined}\n\t\t\t\t\t\tmaxlength={maxlength}\n\t\t\t\t\t\ton-mouseenter={(e) => {\n\t\t\t\t\t\t\tupdateState({hasHover: true});\n\t\t\t\t\t\t\tif (placeholderOverflow) {\n\t\t\t\t\t\t\t\thandlePlaceholderTooltipVisibility(\n\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ton-mouseleave={(e) => {\n\t\t\t\t\t\t\tupdateState({hasHover: false});\n\t\t\t\t\t\t\tif (placeholderOverflow) {\n\t\t\t\t\t\t\t\thandlePlaceholderTooltipVisibility(\n\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ton-focusin={(e) => {\n\t\t\t\t\t\t\tif (placeholderOverflow) {\n\t\t\t\t\t\t\t\thandlePlaceholderTooltipVisibility(\n\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ton-focusout={(e) => {\n\t\t\t\t\t\t\tif (placeholderOverflow) {\n\t\t\t\t\t\t\t\thandlePlaceholderTooltipVisibility(\n\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ton-keydown={(event) =>\n\t\t\t\t\t\t\thandleKeydown(event, dispatch, state, updateState, optionPrefix)\n\t\t\t\t\t\t}\n\t\t\t\t\t\ton-input={(event) =>\n\t\t\t\t\t\t\thandleInput(event, dispatch, state, updateState)\n\t\t\t\t\t\t}\n\t\t\t\t\t\ton-click={(event) =>\n\t\t\t\t\t\t\thandleClick(event, dispatch, state, updateState)\n\t\t\t\t\t\t}\n\t\t\t\t\t\ton-blur={() => handleBlur(dispatch, updateState)}\n\t\t\t\t\t\ton-focus={() => handleFocus(updateState)}\n\t\t\t\t\t\t{...filterAriaAttributes(configAria, 'input')}\n\t\t\t\t\t/>\n\t\t\t\t\t<div className=\"now-form-field-slot -end\">\n\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\tname=\"end\"\n\t\t\t\t\t\t\ton-click={(e) => {\n\t\t\t\t\t\t\t\tif (!opened) {\n\t\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\ttogglePanel(updateState, dispatch);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<now-dropdown-list\n\t\t\t\t\tdefer\n\t\t\t\t\tstyle={getDropdownListConstrain(constrain)}\n\t\t\t\t\tslot=\"content\"\n\t\t\t\t\tselect=\"single\"\n\t\t\t\t\thide-checkmark\n\t\t\t\t\titems={filteredItems}\n\t\t\t\t\tselected-items={toArray(selectedItem)}\n\t\t\t\t\tmanage-selected-items\n\t\t\t\t\tactive-item={activeItemId === null ? undefined : activeItemId}\n\t\t\t\t\tsearch-term={value}\n\t\t\t\t\tscreen-reader-id={opened ? listId : undefined}\n\t\t\t\t\tconfig-aria={\n\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\tpanel: {'aria-label': label},\n\t\t\t\t\t\t\t\t\t...configAria,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t: configAria\n\t\t\t\t\t}\n\t\t\t\t\tsize={size}\n\t\t\t\t\tappend-to-meta={{componentId: nowId}}\n\t\t\t\t/>\n\t\t\t</now-popover>\n\t\t\t{layout === 'horizontal' && renderLabelEnd()}\n\t\t\t<div className=\"now-form-field-messages\">\n\t\t\t\t{renderFormFieldMessages(nowId, messages, 0)}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\n/**\n *\n * Supplements an input field with a dropdown panel of relevant options and highlights\n * matching values as the user enters characters into the input field.\n *\n * ```jsx\n * const items = [\n *   {\n *     id: \"ablumsondi\",\n *     label: \"Ab Blumson\",\n *     sublabel: \"ablumsondi@scribd.com\",\n *   },\n *   {\n *     id: \"amolfinofi\",\n *     label: \"Abagael Molfino\",\n *     sublabel: \"amolfinofi@reverbnation.com\",\n *   },\n *   {\n *     id: \"aolynn99\",\n *     label: \"Abbot O'Lynn\",\n *     sublabel: \"aolynn99@shop-pro.jp\",\n *   }\n * ];\n *\n * <now-typeahead label=\"User\" items={items} />\n *\n * <now-typeahead label=\"User\" items={items} invalid required messages={[\n *   {\n *    status: 'critical',\n *    icon: 'circle-close-outline',\n *    content: 'Please fill out this required field.'\n *   }\n * ]} />\n *\n * <now-typeahead label=\"User\" items={items}>\n *   <now-button-iconic slot=\"end\" icon=\"circle-info-outline\" tooltip-content=\"Preview record\" />\n * </now-typeahead>\n * ```\n *\n * @seismicElement now-typeahead\n * @summary Form element for text input fields with a dropdown to show relevant or suggested values.\n * @uib.label Typeahead\n * @uib.icon typeahead\n * @uib.description Form element for text input fields with a dropdown to show relevant or suggested values\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties size, search, disabled, readonly, autofocus, placeholder, value, manageValue, name, items, selectedItem, manageSelectedItem, itemsListConstrain, label, wrapLabel, required, hideRequiredIndicator, optional, helperContent, invalid, manageInvalid, messages, configAria, fieldLayout, landmark, maxlength\n * @uib.layout.value.children placeholder, value, manageValue, name, maxlength\n * @uib.layout.value.icon pencil-outline\n * @uib.layout.list.children items, selectedItem, manageSelectedItem, itemsListConstrain\n * @uib.layout.list.icon list-outline\n * @uib.layout.label.children label, wrapLabel, required, hideRequiredIndicator, optional, helperContent\n * @uib.layout.label.icon text-outline\n * @uib.layout.validation.children invalid, manageInvalid, messages\n * @uib.layout.validation.icon syntax-check-outline\n * @uib.layout.accessibility.children configAria, landmark\n * @uib.layout.accessibility.icon accessibility-outline\n * @uib.actions NOW_TYPEAHEAD#LIST_VISIBLE, NOW_TYPEAHEAD#LIST_HIDDEN, NOW_TYPEAHEAD#INVALID_SET, NOW_TYPEAHEAD#SELECTED_ITEM_SET, NOW_TYPEAHEAD#VALUE_SET, NOW_TYPEAHEAD#ENTER_KEYDOWN\n * @uib.innerComponents now-dropdown-list, now-icon, now-popover, now-input\n */\ncreateEnhancedElement('now-typeahead', {\n\tproperties: {\n\t\t/**\n\t\t * Sets the typeahead size.\n\t\t * @type {('sm'|'md')}\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Small\", \"value\": \"sm\"}, {\"label\": \"Medium\", \"value\": \"md\"}]\n\t\t * @uib.defaultValue md\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['sm', 'md'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * An array of `DropdownListItem` or `DropdownListSection` objects that are used as\n\t\t * possible items that the user can select from.\n\t\t * @type {(Array.<DropdownListItem> | Array.<DropdownListSection>)}\n\t\t * @uib.label List items\n\t\t * @uib.description Array of possible items that the user can select from\n\t\t * @uib.defaultValue [{\"id\": \"usr1\",\"label\": \"User 1\",\"sublabel\": \"user1@servicenow.com\",\"avatarProps\": {\"userName\": \"User 1\",\"imageSrc\": \"http://i.pravatar.cc/24?u=33\",\"presence\": \"away\"}},{\"id\": \"usr2\",\"label\": \"User 2\",\"sublabel\": \"user2@servicenow.com\",\"avatarProps\": {\"userName\": \"User 2\",\"imageSrc\": \"http://i.pravatar.cc/24?u=34\",\"presence\": \"busy\"},\"disabled\": true},{\"id\": \"usr3\",\"label\": \"User 3\",\"sublabel\": \"user3@servicenow.com\",\"avatarProps\": {\"userName\": \"User 3\",\"imageSrc\": \"http://i.pravatar.cc/24?u=35\",\"presence\": \"offline\"}}]\n\t\t */\n\t\titems: {\n\t\t\tdefault: [],\n\t\t\tschema: itemsSchema,\n\t\t},\n\t\t/**\n\t\t * The ID of the currently selected item. Use `manage-selected-item` to\n\t\t * override the default behavior and handle the\n\t\t * `NOW_TYPEAHEAD#SELECTED_ITEM_SET` action manually. Note: This does\n\t\t * not prevent the value from showing in the input field. To do so, use\n\t\t * `manage-value`.\n\t\t * @type {(string|number|null)}\n\t\t * @uib.description The ID of the selected item from the `items` array\n\t\t * @uib.fieldType string\n\t\t * @uib.typeMetadata.emptyStateBehavior NULL\n\t\t */\n\t\tselectedItem: {\n\t\t\tmanageable: true,\n\t\t\tschema: {type: ['string', 'number', 'null']},\n\t\t\tdependencies: ['items'],\n\t\t},\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `selectedItem` property.\n\t\t * An action with type `NOW_TYPEAHEAD#SELECTED_ITEM_SET` will be dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the selected items property. Use the selected item set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageSelectedItem: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * An object describing additional sizing constrains for the items list popover.\n\t\t *\n\t\t * Valid keys are (all are optional):\n\t\t *\n\t\t *  - width\n\t\t *  - minWidth\n\t\t *  - maxWidth\n\t\t *  - height\n\t\t *  - minHeight\n\t\t *  - maxHeight\n\t\t *\n\t\t * The value for each property should be a positive integer representing\n\t\t * a pixel value to apply to the corresponding content style.\n\t\t * Alternatively, you can specify the string `\"target\"` for width,\n\t\t * minWidth, or maxWidth to have that property match the width of the\n\t\t * input element.\n\t\t *\n\t\t * For example, this value ensures that the items list is at least 400x200 pixels:\n\t\t *\n\t\t *  {\n\t\t *\t\tminWidth: 400,\n\t\t *\t\tminHeight: 200\n\t\t *  }\n\t\t *\n\t\t * The default values for this property are:\n\t\t *\n\t\t *  {\n\t\t *\t\twidth: \"target\",\n\t\t *\t\tmaxHeight: 300,\n\t\t *  }\n\t\t *\n\t\t * @type {ItemsListConstrain}\n\t\t * @typedef {Object} ItemsListConstrain\n\t\t * @description Sizing constraints to enforce on the items list. For each\n\t\t * property, a number can be specified which sets that constraint in\n\t\t * pixels.  If the value is \"target\" for width, minWidth, or maxWidth,\n\t\t * the items list is sized to match the width of the input field.\n\t\t * @property {\"target\"|number} width\n\t\t * @property {\"target\"|number} minWidth\n\t\t * @property {\"target\"|number} maxWidth\n\t\t * @property {number} height\n\t\t * @property {number} minHeight\n\t\t * @property {number} maxHeight\n\t\t * @uib.label Item Size Constraints\n\t\t * @uib.description Sizing constraints to enforce on the items list. For each property, a number can be specified which sets that constraint in pixels.  If the value is \"target\" for width, minWidth, or maxWidth, the items list is sized to match the width of the input field\n\t\t */\n\t\titemsListConstrain: {schema: constrainSchema},\n\t\t/**\n\t\t * Indicates that focus should automatically be placed inside the input\n\t\t * on page load.\n\t\t * @type {boolean}\n\t\t * @uib.label Auto-focus\n\t\t * @uib.description Indicates that focus should automatically be placed inside the input on page load\n\t\t */\n\t\tautofocus: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Indicates that the user can interact with the field\n\t\t * and change its value. Field appears grayed out when disabled.\n\t\t * @type {boolean}\n\t\t * @uib.description Disable user click interactions\n\t\t */\n\t\tdisabled: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Controls how to filter the items as the user types into the input.\n\t\t * - \"managed\" (default): No filtering occurs. Use this to manually\n\t\t *   filter or search for items as the user types.\n\t\t * - \"initial\": Items whose label or sublabel begins with the\n\t\t *   input value are displayed. This is case-insensitive.\n\t\t * - \"contains\": Items whose label or sublabel contains the input value\n\t\t *   are displayed. This is case-insensitive.\n\t\t * @type {(\"managed\"|\"initial\"|\"contains\")}\n\t\t * @uib.label Search Behavior\n\t\t * @uib.description Controls how to filter the items as the user types into the integrated search input\n\t\t */\n\t\tsearch: {\n\t\t\tdefault: 'managed',\n\t\t\tschema: {type: 'string', enum: ['managed', 'initial', 'contains']},\n\t\t},\n\t\t/**\n\t\t * If set, an iconic button with popover appears next to the field\n\t\t * label for displaying additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t * @uib.label Helper text\n\t\t * @uib.description If set, an iconic button with popover appears next to the field label for displaying additional hint text to the user, such as password requirements or other instructions for completing the field. Use plain text to allow for translation\n\t\t * @uib.fieldType string\n\t\t * @uib.translatable true\n\t\t */\n\t\thelperContent: {},\n\t\t/**\n\t\t * Indicates that the field is in an incorrect state, which is\n\t\t * reflected in the field display. This property is set\n\t\t * automatically based on the current validity of the input field. Use\n\t\t * `manage-invalid` to override the default behavior and handle the\n\t\t * `NOW_TYPEAHEAD#INVALID_SET` action manually.\n\t\t * @type {boolean}\n\t\t * @uib.description Set to indicate that the field is in an incorrect state, which is reflected in the field display\n\t\t */\n\t\tinvalid: {manageable: true, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `invalid` property.\n\t\t * An action with type `NOW_TYPEAHEAD#INVALID_SET` will be dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the invalid property. Use the invalid set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageInvalid: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Label describing the overall purpose of the input field.\n\t\t * @type {string}\n\t\t * @uib.description Label describing the overall purpose of the select field\n\t\t * @uib.defaultValue Label\n\t\t * @uib.translatable true\n\t\t */\n\t\tlabel: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Array of inline alert messages that are displayed below the field.\n\t\t * @type {Array.<{status: ('critical'|'warning'|'positive'|'info'|'suggestion'), content: (string|JSX), icon: string}>}\n\t\t * @uib.description Array of inline alert messages that are displayed below the field\n\t\t * @uib.label Alert messages\n\t\t * @uib.fieldType collection\n\t\t * @uib.typeMetadata.collection.cardProperties.heading { \"heading\": \"content\", \"icon\": \"icon\" }\n\t\t */\n\t\tmessages: {\n\t\t\tdefault: [],\n\t\t\tschema: messagesSchema,\n\t\t},\n\t\t/**\n\t\t * Name of the field control. Dispatched along with the field value\n\t\t * on user interaction.\n\t\t * @type {string}\n\t\t * @uib.description Name of the field control which is included in dispatched actions\n\t\t */\n\t\tname: {schema: {type: 'string'}},\n\t\t/**\n\t\t * When true, the field is optional and not required to be completed by\n\t\t * the user before completing the form.\n\t\t * @type {boolean}\n\t\t * @uib.description Visually indicates that the field is optional\n\t\t * @uib.defaultValue false\n\t\t */\n\t\toptional: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Hint text displayed in the input when the user has not yet entered a\n\t\t * value.\n\t\t * @type {string}\n\t\t * @uib.label Placeholder text\n\t\t * @uib.description Placeholder text for the input field. This text should hint to the user what input is expected.\n\t\t * @uib.translatable true\n\t\t */\n\t\tplaceholder: {schema: {type: 'string'}},\n\t\t/**\n\t\t * When true, the user cannot modify the value of the field, but\n\t\t * it still appears enabled.\n\t\t * @type {boolean}\n\t\t * @uib.label Read-only\n\t\t * @uib.description Select to prevent the user from modifying the value of the input field. The input field is not disabled in this setting.\n\t\t */\n\t\treadonly: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, the user must enter a value in the\n\t\t * input field before they can complete the form.\n\t\t * @type {boolean}\n\t\t * @uib.description Select to indicate that the user must enter a value in the field before proceeding.\n\t\t * @uib.defaultValue false\n\t\t */\n\t\trequired: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, the required indicator is hidden. Use this for\n\t\t * forms where most fields are required, along with the `optional` flag\n\t\t * for any fields that are not required.\n\t\t * @type {boolean}\n\t\t * @uib.label Hide Required Indicator\n\t\t * @uib.description Select to hide the required indicator. Use this for forms where most fields are required, along with the `optional` flag for any fields that are not required\n\t\t */\n\t\thideRequiredIndicator: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * The value of the input field. This is updated automatically\n\t\t * as the user types. Use `manage-value` to override this and handle\n\t\t * the `NOW_TYPEAHEAD#VALUE_SET` action manually. Note: This does\n\t\t * not prevent the selected items from showing in the dropdown. To do\n\t\t * so, use `manage-selected-item`.\n\t\t * @type {string}\n\t\t * @uib.description Sets a value for the input field. Unless the input field has pre-populated data, this property should be left empty\n\t\t * @uib.translatable true\n\t\t */\n\t\tvalue: {manageable: true, schema: {type: 'string'}},\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `value` property.\n\t\t * An action with type `NOW_TYPEAHEAD#VALUE_SET` will be dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the value property. Use the value set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageValue: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * now-typeahead. The value of each key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s. These ARIA\n\t\t * properties are set on the specified element.\n\t\t * The 'input' key corresponds to the inner html `<input>`. See\n\t\t * https://www.w3.org/TR/wai-aria-1.2/#button for properties and accepted\n\t\t * values. The 'panel' key corresponds to the inner html `<div>` that acts\n\t\t * as the 'listbox'. See https://www.w3.org/TR/wai-aria-1.2/#listbox for\n\t\t * properties and accepted values.\n\t\t * @type {{ input: {'aria-*': string, role: string}, panel: {'aria-*': string, role: string} }}\n\t\t * @uib.label ARIA Properties\n\t\t * @uib.defaultValue {\"panel\": {\"aria-label\": \"Options\"}}\n\t\t * @uib.description Sets ARIA properties on the inner html 'button' and 'listbox'\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tinput: configAriaLabelSchema,\n\t\t\t\t\tpanel: configAriaLabelSchema,\n\t\t\t\t},\n\t\t\t\tadditionalProperties: false,\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: {layout: 'vertical'},\n\t\t\tschema: fieldLayoutSchema,\n\t\t},\n\t\t/**\n\t\t * Includes this component as a target for the Now-Trigger-Library's\n\t\t * Landmark Focus feature.\n\t\t * @type {boolean}\n\t\t * @uib.label Landmark\n\t\t * @uib.description Allow the Landmark Focus keyboard shortcut to focus this typeahead\n\t\t */\n\t\tlandmark: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Set to true to wrap the label if it does not fit on one line.\n\t\t * @type {boolean}\n\t\t * @uib.description Wraps the label if it does not fit on one line.\n\t\t */\n\t\twrapLabel: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Maximum number of characters that the user can enter in the field.\n\t\t * @type {number}\n\t\t * @uib.label Max. characters\n\t\t * @uib.fieldType number\n\t\t * @uib.description Sets a maximum number of characters for the typeahead field.\n\t\t */\n\t\tmaxlength: {schema: {type: ['number', 'null']}},\n\t},\n\n\tinitialState: {\n\t\t/**\n\t\t * The id of the currently focused item in the dropdown list.\n\t\t */\n\t\tactiveItemId: null,\n\t\t/**\n\t\t * Whether or not the popover is opened and the dropdown list is visible.\n\t\t */\n\t\topened: false,\n\t\t/**\n\t\t * Whether or not the input is focused\n\t\t */\n\t\thasFocus: false,\n\t\t/**\n\t\t * Whether or not the number of results in the dropdown should be announced by aria live.\n\t\t */\n\t\tannounceResults: false,\n\t\t/**\n\t\t * Whether or not the placeholder tooltip is visible\n\t\t */\n\t\tplaceholderTooltipVisible: false,\n\t\t/**\n\t\t * Whether or not the placeholder text is overflowing\n\t\t */\n\t\tplaceholderOverflow: false,\n\t},\n\tactionHandlers: {\n\t\t// workaround for Firefox not playing nicely with the autofocus attribute\n\t\t[COMPONENT_DOM_TREE_READY]({host, properties, updateState}) {\n\t\t\tconst input = host.shadowRoot.querySelector('input');\n\t\t\tif (properties.autofocus) {\n\t\t\t\tinput.focus();\n\t\t\t}\n\t\t\tif (properties.placeholder) {\n\t\t\t\tconst tempValue = input.value;\n\t\t\t\tinput.value = input.placeholder;\n\t\t\t\tif (input.scrollWidth > input.clientWidth) {\n\t\t\t\t\tupdateState({placeholderOverflow: true});\n\t\t\t\t}\n\t\t\t\tinput.value = tempValue;\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * -This method is added to accomodate the use case if someone programmatically sets the value and selected Item.\n\t\t * -Updates the invalid property when both (selectedItem and value) is set.\n\t\t */\n\t\t[COMPONENT_PROPERTY_CHANGED]({\n\t\t\thost,\n\t\t\taction,\n\t\t\tproperties,\n\t\t\tstate,\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t}) {\n\t\t\tconst {name, value, previousValue} = action?.payload ?? {};\n\t\t\tif (name === 'value' || name === 'selectedItem') {\n\t\t\t\tconst {required, invalid, selectedItem, name, value} =\n\t\t\t\t\tstate?.properties ?? {};\n\t\t\t\tconst isInvalid = !(selectedItem && value);\n\t\t\t\tif ((required && isInvalid && !invalid) || (!isInvalid && invalid)) {\n\t\t\t\t\tdispatch(() => ({\n\t\t\t\t\t\ttype: 'NOW_TYPEAHEAD#INVALID_SET',\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tname: name,\n\t\t\t\t\t\t\tvalue: isInvalid,\n\t\t\t\t\t\t\tfieldValue: value,\n\t\t\t\t\t\t},\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (name === 'items' && state.opened) {\n\t\t\t\thost.shadowRoot.querySelector('now-popover').refit();\n\t\t\t\tif (properties.search === 'managed') {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tannounceResults: true,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (name === 'messages') {\n\t\t\t\tconst messagesLength = value.length;\n\t\t\t\tconst previousMessagesLength = previousValue ? previousValue.length : 0;\n\t\t\t\tif (messagesLength > previousMessagesLength) {\n\t\t\t\t\tfor (let i = previousMessagesLength; i < messagesLength; i++) {\n\t\t\t\t\t\tannounceMessage(properties.label, value[i], dispatch);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t// update both the selectedItem and value managed properties\n\t\t'PRIVATE#SET_ITEM': {\n\t\t\tstopPropagation: true,\n\t\t\teffect: ({host, dispatch, action, properties, state, updateState}) => {\n\t\t\t\tconst {name} = properties;\n\t\t\t\tconst {id, label, actionSource} = action.payload;\n\t\t\t\tconst {placeholderTooltipVisible} = state;\n\t\t\t\tconst input = host.shadowRoot.querySelector(\n\t\t\t\t\t'.now-typeahead-native-input',\n\t\t\t\t);\n\t\t\t\tif (action.payload.label != '') {\n\t\t\t\t\tif (placeholderTooltipVisible) {\n\t\t\t\t\t\tdispatch(TOOLTIP_HIDE, {target: input});\n\t\t\t\t\t}\n\t\t\t\t\tinput.dispatchEvent(new Event('mouseleave'));\n\t\t\t\t}\n\t\t\t\tif (id !== properties.selectedItem) {\n\t\t\t\t\tdispatch('NOW_TYPEAHEAD#SELECTED_ITEM_SET', {\n\t\t\t\t\t\tvalue: id,\n\t\t\t\t\t\tname,\n\t\t\t\t\t\titem: action.payload,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (id === null || id === properties.selectedItem) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tannounceResults: true,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (label !== properties.value) {\n\t\t\t\t\tdispatch('NOW_TYPEAHEAD#VALUE_SET', {\n\t\t\t\t\t\tvalue: label,\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tactionSource,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\t'PRIVATE#BLUR': {\n\t\t\tstopPropagation: true,\n\t\t\teffect: ({dispatch, properties}) => {\n\t\t\t\t// Check exact match if autoSelect\n\t\t\t\tdispatch(({properties}) => {\n\t\t\t\t\tconst {items, selectedItem, value} = properties;\n\t\t\t\t\tconst autoSelected = autoSelectMatch(items, selectedItem, value);\n\t\t\t\t\tif (autoSelected) {\n\t\t\t\t\t\tconst setItemPayload = {\n\t\t\t\t\t\t\t...autoSelected,\n\t\t\t\t\t\t\tactionSource: 'autoselect',\n\t\t\t\t\t\t};\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttype: 'PRIVATE#SET_ITEM',\n\t\t\t\t\t\t\tpayload: setItemPayload,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn CANCEL_DISPATCH;\n\t\t\t\t});\n\n\t\t\t\t// Run validation\n\t\t\t\tconst {required, selectedItem, invalid, value} = properties;\n\t\t\t\tconst isInvalid = !selectedItem;\n\t\t\t\tif ((required && isInvalid && !invalid) || (!isInvalid && invalid)) {\n\t\t\t\t\tdispatch(() => ({\n\t\t\t\t\t\ttype: 'NOW_TYPEAHEAD#INVALID_SET',\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tname: properties.name,\n\t\t\t\t\t\t\tvalue: isInvalid,\n\t\t\t\t\t\t\tfieldValue: value,\n\t\t\t\t\t\t},\n\t\t\t\t\t}));\n\t\t\t\t}\n\n\t\t\t\t// after checking exact match and validation, we can dispatch interaction finished\n\t\t\t\tdispatch(({properties}) => {\n\t\t\t\t\tconst {selectedItem, name, value} = properties;\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'NOW_TYPEAHEAD#INTERACTION_FINISHED',\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\tselectedItem,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\t'NOW_POPOVER#CONTENT_VISIBLE': makeRedispatchEffect(\n\t\t\t'NOW_TYPEAHEAD#LIST_VISIBLE',\n\t\t),\n\t\t'NOW_POPOVER#CONTENT_HIDDEN': makeRedispatchEffect(\n\t\t\t'NOW_TYPEAHEAD#LIST_HIDDEN',\n\t\t),\n\t\t'NOW_POPOVER#OPENED_SET'({dispatch, action, updateState}) {\n\t\t\tconst {id, value} = action.payload;\n\n\t\t\t// ignore the helperContent popover\n\t\t\tif (id !== 'now-dropdown-list') return;\n\n\t\t\tupdateState({\n\t\t\t\topened: value,\n\t\t\t\tactiveItemId: null,\n\t\t\t});\n\n\t\t\tif (!value) {\n\t\t\t\tdispatch(({state}) => {\n\t\t\t\t\tconst {hasFocus} = state;\n\n\t\t\t\t\t// If we still have focus, that means the popover was dismissed\n\t\t\t\t\t// with focus still in the field (e.g.: user pressed `Escape`).\n\t\t\t\t\t// Don't want to do anything yet. See similar logic in handleBlur()\n\t\t\t\t\tif (hasFocus) {\n\t\t\t\t\t\treturn CANCEL_DISPATCH;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'PRIVATE#BLUR',\n\t\t\t\t\t\tpayload: {},\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\n\t\t'NOW_DROPDOWN_LIST#ITEM_CLICKED'({\n\t\t\thost,\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\tproperties,\n\t\t}) {\n\t\t\tconst componentId = action?.meta?.appended?.componentId;\n\t\t\tconst {nowId} = properties;\n\t\t\tif (nowId === componentId) {\n\t\t\t\ttogglePanel(updateState, dispatch);\n\t\t\t\tconst setItemPayload = {...action.payload.item, actionSource: 'select'};\n\t\t\t\tdispatch('PRIVATE#SET_ITEM', setItemPayload);\n\n\t\t\t\tconst input = host.shadowRoot.querySelector('input');\n\t\t\t\tif (input) {\n\t\t\t\t\tinput.focus();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t'NOW_DROPDOWN_LIST#ACTIVE_ITEM_SET'({action, updateState, properties}) {\n\t\t\tconst {nowId} = properties;\n\t\t\tconst componentId = action?.meta?.appended?.componentId;\n\t\t\tif (nowId === componentId) {\n\t\t\t\tupdateState({activeItemId: action.payload.value});\n\t\t\t}\n\t\t},\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the typeahead menu opens and renders the content. Unlike\n\t\t * `NOW_TYPEAHEAD#OPENED_SET`, this action only fires after the typeahead\n\t\t * menu is rendered in the DOM. The `content` property is a node list containing the\n\t\t * typeahead's inner `now-dropdown-list` element.\n\t\t * @type {{content: NodeList}}\n\t\t * @uib.description Dispatched when the typeahead menu is fully rendered to the DOM.\n\t\t */\n\t\t'NOW_TYPEAHEAD#LIST_VISIBLE': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tcontent: {type: 'array'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the typeahead menu has been closed and removed. Unlike\n\t\t * `NOW_TYPEAHEAD#OPENED_SET`, this action only fires after the typeahead\n\t\t * menu is fully removed from the DOM.\n\t\t * @type {{}}\n\t\t * @uib.description Dispatched when the typeahead menu is fully removed from the DOM.\n\t\t */\n\t\t'NOW_TYPEAHEAD#LIST_HIDDEN': {schema: {type: 'object'}},\n\t\t/**\n\t\t * Dispatched when the field no longer has focus and the user is not interacting\n\t\t * with the items list. This is similar to a native `blur` event, but is\n\t\t * deferred until both the input and the items list no longer have focus.\n\t\t * Payload contains the `name` and the current `value` and `selectedItem`.\n\t\t * @type {{name: string, value: string, selectedItem: (string|number)}}\n\t\t * @private\n\t\t */\n\t\t'NOW_TYPEAHEAD#INTERACTION_FINISHED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tvalue: {type: 'string'},\n\t\t\t\t\tselectedItem: {type: ['string', 'number']},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when interaction with the field is complete and the validity\n\t\t * of the field has changed. Payload contains the `name` of the field and\n\t\t * the current validity of the field (`value` of the invalid property based\n\t\t * on the `required` properties), and the current `fieldValue` inside of\n\t\t * the input.  Set the `manage-invalid` property to override the default\n\t\t * behavior and handle this action manually.\n\t\t * @type {{name: string, value: boolean, fieldValue: string}}\n\t\t * @private\n\t\t */\n\t\t'NOW_TYPEAHEAD#INVALID_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tvalue: {type: 'boolean'},\n\t\t\t\t\tfieldValue: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when a user selects an item. Payload contains the `name` of the\n\t\t * field and ID of the selected item. If an item is deselected, the\n\t\t * `value` is `null.` Set the `manage-selected-item` property to\n\t\t * override the default behavior and handle this action manually.\n\t\t * Payload key `item` contains the `object` of the the item selected.\n\t\t * @type {{name: string, value: (string|number), item: Object}}\n\t\t * @uib.label Item selected\n\t\t * @uib.description A user selects an item from the dropdown.\n\t\t */\n\t\t'NOW_TYPEAHEAD#SELECTED_ITEM_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tvalue: {type: ['string', 'number']},\n\t\t\t\t\titem: {type: 'object'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the value of the input field changes. Payload\n\t\t * contains the `name` and the current `value` in the input. Set the\n\t\t * `manage-value` property to override the default behavior and handle this\n\t\t * action manually.\n\t\t * @type {{name: string, value: string}}\n\t\t * @uib.label Text entered\n\t\t * @uib.description A user types or paste text in the field.\n\t\t */\n\t\t'NOW_TYPEAHEAD#VALUE_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tvalue: {type: ['string', 'number']},\n\t\t\t\t\tactionSource: {\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tenum: ['input', 'select', 'autoselect'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user presses the Enter key while focus is inside\n\t\t * the typeahead without highlighting an item from the items list. Payload\n\t\t * contains the `name` and current `value` of the input field, which can\n\t\t * optionally be used to create new custom items.\n\t\t * @type {{name: string, value: string}}\n\t\t */\n\t\t'NOW_TYPEAHEAD#ENTER_KEYDOWN': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tvalue: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot for field decorators on the inline-start side\n\t\t * of the input field.\n\t\t */\n\t\tstart: {},\n\t\t/**\n\t\t * Slot for field decorators on the inline-end side\n\t\t * of the input field.\n\t\t */\n\t\tend: {},\n\t\t/**\n\t\t * Slot for label end metadata. Located at the end of the label.\n\t\t */\n\t\t'label-end': {},\n\t\t/**\n\t\t * Slot for label, located inline after the label. For the `horizontal` layout, it is placed before the label.\n\t\t */\n\t\t'label-inline': {},\n\t\t/**\n\t\t * Slot for label, located at the start of the label. For the `horizontal` field layout, it is placed after the label.\n\t\t */\n\t\t'label-start': {},\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: (host) => {\n\t\t\t\t\tconst focusTarget = host.shadowRoot.querySelector(\n\t\t\t\t\t\t'input.now-typeahead-native-input',\n\t\t\t\t\t);\n\n\t\t\t\t\tif (focusTarget) {\n\t\t\t\t\t\tfocusTarget.focus();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbehavior: deferBehavior,\n\t\t\toptions: {\n\t\t\t\tevents: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'mouseenter',\n\t\t\t\t\t\ttrigger: 'now-popover',\n\t\t\t\t\t\ttarget: 'now-dropdown-list',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t{behavior: truncationBehavior},\n\t\t{behavior: tooltipBehavior},\n\t],\n\tstyles,\n\tview,\n});\n","// Moves focus to the first pill in the container\nexport function focusFirstPill(pills) {\n\tpills[0].focus();\n}\n// Moves focus to the last pill in the container\nexport function focusLastPill(pills) {\n\tpills[pills.length - 1].focus();\n}\n\n// Moves focus to the next pill in the container\nexport function focusNextPill(pills, activePill) {\n\tconst focusedPillIndex = pills.findIndex((node) => node === activePill);\n\tif (pills.length === focusedPillIndex + 1) {\n\t\t// last pill is focused, do nothing\n\t\treturn;\n\t}\n\t// otherwise, focus the next pill\n\tpills[focusedPillIndex + 1].focus();\n}\n\n// Moves focus to the previous pill in the container\nexport function focusPreviousPill(pills, activePill) {\n\tconst focusedPillIndex = pills.findIndex((node) => node === activePill);\n\tif (focusedPillIndex === 0) {\n\t\t// pill container or first pill is focused, do nothing\n\t\treturn;\n\t}\n\t// otherwise, focus the previous pill\n\tpills[focusedPillIndex - 1].focus();\n}\n","import {pick, debounce} from 'lodash';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport deferBehavior from '@servicenow/behavior-defer';\nimport {\n\tmakeRedispatchEffect,\n\tisDirectionalKey,\n\tisNextKey,\n\tisPreviousKey,\n\tfilterAriaAttributes,\n} from '@servicenow/library-enhanced-utils';\nimport styles from './_now-typeahead.scss';\nimport {\n\tCONSTRAIN_DEFAULTS,\n\tCANCEL_DISPATCH,\n\tautoSelectMatch,\n\tmoveActiveItem,\n\tgetItemById,\n\tgetDropdownListConstrain,\n\tgetSearchMatches,\n\ttoggleSelectedItem,\n\ttogglePanel,\n\thandleBlur,\n\thandleFocus,\n\tariaLiveNoResults,\n\tariaLiveNumResults,\n\tariaLiveSectionResults,\n\tshowPlaceholderTooltip,\n\thidePlaceholderTooltip,\n} from './utils/typeahead';\nimport {\n\tfocusFirstPill,\n\tfocusLastPill,\n\tfocusPreviousPill,\n\tfocusNextPill,\n} from './utils/pill-focus';\nimport '@servicenow/now-dropdown';\nimport {\n\titemsSchema,\n\titemSchema,\n\tconstrainSchema,\n} from '@servicenow/now-dropdown';\nimport '@servicenow/now-popover';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {\n\trenderFormFieldLabel,\n\trenderFormFieldMessages,\n\trenderLabelEnd,\n\tgetAriaDescribedByList,\n} from '@servicenow/now-input';\nimport {messagesSchema} from '@servicenow/now-input';\nimport {configAriaLabelSchema} from '@servicenow/library-schemas';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport tooltipBehavior, {\n\tTOOLTIP_SHOW,\n\tTOOLTIP_HIDE,\n} from '@servicenow/behavior-tooltip';\nimport '@servicenow/now-tooltip';\nimport {t} from 'sn-translate';\nimport {fieldLayoutSchema} from '@servicenow/now-input';\nimport {getColumnStyles} from '@servicenow/library-enhanced-utils';\n\nconst {\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tARIA_LIVE_REGION_UPDATE_REQUESTED,\n} = actionTypes;\n\nconst debounceDispatch = debounce((fn) => fn(), 250);\n\nconst announceMessage = (announcement, dispatch) => {\n\tdebounceDispatch(() => {\n\t\treturn dispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\tmessage: announcement,\n\t\t\ttype: 'polite',\n\t\t});\n\t});\n};\n\nconst toggleItems = (selectedItems, item, dispatch) => {\n\tconst selectedIds = toggleSelectedItem(selectedItems, item);\n\n\tconst isItemPresent = selectedIds.some((selectedItem) => {\n\t\treturn item.id === selectedItem.id;\n\t});\n\n\tlet message = '';\n\n\tif (isItemPresent) {\n\t\tmessage = t(`{0} added`, item.label);\n\t} else {\n\t\tmessage = t(`{0} removed`, item.label);\n\t}\n\tannounceMessage(message, dispatch);\n\treturn selectedIds;\n};\n\nconst handlePlaceholderTooltipVisibility = (\n\te,\n\tselectedItems,\n\tdispatch,\n\tstate,\n\tupdateState,\n) => {\n\tconst input = e.target;\n\t/*\n\t\tWhen the typehead has selected items set initally, the placeholder is not displayed\n\t\tand therefore the overflow check is not possible. This is a workaround to check\n\t\tif the placeholder overflows when initially selected items are removed.\n\t\tUsing the placeholderOverflowChecked flag since we want the tooltip to be displayed\n\t\timmediately. Only using updateState for placeholderOverflow will not display the tooltip immediately.\n\t*/\n\tlet placeholderOverflowOverride = false;\n\tif (\n\t\t!state.placeholderOverflowChecked &&\n\t\tselectedItems.length === 0 &&\n\t\tinput.placeholder\n\t) {\n\t\tinput.value = input.placeholder;\n\t\tif (input.scrollWidth > input.clientWidth) {\n\t\t\tupdateState({placeholderOverflow: true});\n\t\t\tplaceholderOverflowOverride = true;\n\t\t}\n\t\tinput.value = '';\n\t\tupdateState({placeholderOverflowChecked: true});\n\t}\n\n\tconst {placeholderOverflow, placeholderTooltipVisible} = state;\n\tif (input.value || selectedItems.length > 0) {\n\t\tif (placeholderTooltipVisible) {\n\t\t\thidePlaceholderTooltip(dispatch)(e);\n\t\t\tupdateState({placeholderTooltipVisible: false});\n\t\t}\n\t\treturn;\n\t}\n\tif (placeholderOverflow || placeholderOverflowOverride) {\n\t\tif (e.type === 'mouseenter' || e.type === 'focusin' || e.type === 'input') {\n\t\t\tshowPlaceholderTooltip(dispatch)(e);\n\t\t\tupdateState({placeholderTooltipVisible: true});\n\t\t} else if (\n\t\t\te.type === 'mouseleave' ||\n\t\t\te.type === 'focusout' ||\n\t\t\te.type === 'click' ||\n\t\t\t(e.type === 'keydown' && e?.key === 'ArrowDown')\n\t\t) {\n\t\t\thidePlaceholderTooltip(dispatch)(e);\n\t\t\tupdateState({placeholderTooltipVisible: false});\n\t\t}\n\t}\n};\n\nconst handleClickTrigger = (\n\tevent,\n\tselectedItems,\n\tdispatch,\n\tstate,\n\tupdateState,\n) => {\n\tconst {placeholderOverflow, placeholderOverflowChecked} = state;\n\tconst {placeholder, disabled, readonly} = state.properties;\n\tif (disabled || readonly) {\n\t\tevent.stopPropagation();\n\t} else if (!disabled && !readonly) {\n\t\tif (placeholderOverflow || (placeholder && !placeholderOverflowChecked)) {\n\t\t\thandlePlaceholderTooltipVisibility(\n\t\t\t\tevent,\n\t\t\t\tselectedItems,\n\t\t\t\tdispatch,\n\t\t\t\tstate,\n\t\t\t\tupdateState,\n\t\t\t);\n\t\t}\n\t}\n\tconst input = event.target.getRootNode().querySelector('input');\n\tif (input && event.target !== input) {\n\t\tinput.focus();\n\t}\n};\n\nconst handleKeydownInput = (\n\tevent,\n\tdispatch,\n\tselectedItems,\n\tstate,\n\tupdateState,\n\toptionPrefix,\n) => {\n\tconst {key, shiftKey} = event;\n\tconst value = event.target.value;\n\tconst {placeholderOverflow, placeholderOverflowChecked} = state;\n\tconst {placeholder} = state.properties;\n\tif (placeholderOverflow || (placeholder && !placeholderOverflowChecked)) {\n\t\thandlePlaceholderTooltipVisibility(\n\t\t\tevent,\n\t\t\tselectedItems,\n\t\t\tdispatch,\n\t\t\tstate,\n\t\t\tupdateState,\n\t\t);\n\t}\n\tif (\n\t\t(key === 'ArrowUp' ||\n\t\t\tkey === 'ArrowDown' ||\n\t\t\tkey === 'Home' ||\n\t\t\tkey === 'End') &&\n\t\t!shiftKey\n\t) {\n\t\tmoveActiveItem(event, updateState, optionPrefix, dispatch, state);\n\t}\n\n\tif (key === 'Enter') {\n\t\t// Select the item\n\t\t// 1. If the panel is open and there is an activeItemId\n\t\t// 2. If the panel input exactly matches the label of only one item\n\t\tdispatch(({state, properties}) => {\n\t\t\tconst {items, selectedItems, name} = properties;\n\t\t\tconst {activeItemId, opened} = state;\n\n\t\t\tconst nextItem = activeItemId\n\t\t\t\t? getItemById(items, activeItemId)\n\t\t\t\t: autoSelectMatch(items, selectedItems, value);\n\n\t\t\tconst itemSelectable = nextItem && !nextItem.disabled;\n\t\t\tconst itemSelected = opened && nextItem;\n\n\t\t\tif (itemSelectable || !opened || !itemSelected) {\n\t\t\t\ttogglePanel(updateState, dispatch);\n\t\t\t}\n\n\t\t\tif (itemSelectable) {\n\t\t\t\tconst selectedIds = toggleItems(selectedItems, nextItem, dispatch);\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'NOW_TYPEAHEAD_MULTI#SELECTED_ITEMS_SET',\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tvalue: selectedIds,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'NOW_TYPEAHEAD_MULTI#ENTER_KEYDOWN',\n\t\t\t\t\tpayload: {name, value},\n\t\t\t\t};\n\t\t\t}\n\t\t});\n\t}\n\n\t// If input is empty backspace key focuses the last added pill\n\tif (key === 'Backspace' && !value) {\n\t\tconst pills = [\n\t\t\t...event.target.getRootNode().querySelectorAll('.now-typeahead-pill'),\n\t\t];\n\t\tif (pills.length > 0) {\n\t\t\tfocusLastPill(pills);\n\t\t}\n\t}\n};\n\nconst handleInput = (\n\tevent,\n\tdispatch,\n\tselectedItems,\n\tstate,\n\tupdateState,\n\tname,\n) => {\n\tconst {value} = event.target;\n\tconst {placeholderOverflow, placeholderOverflowChecked} = state;\n\tconst {placeholder} = state.properties;\n\tif (placeholderOverflow || (placeholder && !placeholderOverflowChecked)) {\n\t\thandlePlaceholderTooltipVisibility(\n\t\t\tevent,\n\t\t\tselectedItems,\n\t\t\tdispatch,\n\t\t\tstate,\n\t\t\tupdateState,\n\t\t);\n\t}\n\t// while typing, if the input field has some text, open the panel\n\tupdateState(({state}) => {\n\t\treturn {\n\t\t\toperation: 'assign',\n\t\t\tvalue: {\n\t\t\t\t// input event will fire when clearing out the field. In that case we\n\t\t\t\t// want to maintain the current `opened` state of the panel rather than\n\t\t\t\t// forcing it open.\n\t\t\t\topened: value ? true : state.opened,\n\t\t\t},\n\t\t};\n\t});\n\n\tdebounceDispatch(() => {\n\t\tupdateState({announceResults: true});\n\t\tdispatch('NOW_TYPEAHEAD_MULTI#VALUE_SET', {name, value});\n\t});\n};\n\nconst handleKeydownPill = (event, dir, dispatch, item) => {\n\tconst {key, target: activePill} = event;\n\tconst pills = [\n\t\t...event.target.getRootNode().querySelectorAll('.now-typeahead-pill'),\n\t];\n\n\tif ([' ', 'Spacebar', 'Enter'].includes(key)) {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t} else if (['Backspace', 'Delete'].includes(key)) {\n\t\tdispatch(({properties}) => ({\n\t\t\ttype: 'NOW_TYPEAHEAD_PILL#DISMISSED',\n\t\t\tpayload: {itemId: item.id},\n\t\t\tshouldDispatch: !properties.disabled && !properties.readonly,\n\t\t}));\n\t} else if (isDirectionalKey(key)) {\n\t\tevent.preventDefault();\n\t\tif (isNextKey(key, dir) || key === 'ArrowDown') {\n\t\t\tfocusNextPill(pills, activePill);\n\t\t}\n\t\tif (isPreviousKey(key, dir) || key === 'ArrowUp') {\n\t\t\tfocusPreviousPill(pills, activePill);\n\t\t}\n\t\tif (key === 'Home') {\n\t\t\tfocusFirstPill(pills);\n\t\t}\n\t\tif (key === 'End') {\n\t\t\tfocusLastPill(pills);\n\t\t}\n\t}\n};\n\nconst handleTooltipShow = (e, dispatch, tooltipContent) => {\n\tconst labelSpan = e.target.querySelector('.now-pill-label');\n\tconst isOverset = labelSpan && labelSpan.scrollWidth > labelSpan.clientWidth;\n\tif (isOverset || tooltipContent) {\n\t\treturn dispatch(TOOLTIP_SHOW, {target: e.target});\n\t}\n};\n\nconst handleTooltipHide = (e, dispatch, tooltipContent) => {\n\tconst labelSpan = e.target.querySelector('.now-pill-label');\n\tconst isOverset = labelSpan && labelSpan.scrollWidth > labelSpan.clientWidth;\n\tif (isOverset || tooltipContent) {\n\t\treturn dispatch(TOOLTIP_HIDE, {target: e.target});\n\t}\n};\n\nconst renderIconIdentifier = (icon) => {\n\treturn (\n\t\t<span className=\"now-pill-identifier\">\n\t\t\t<span className=\"now-pill-icon\">\n\t\t\t\t<now-icon icon={icon} size=\"sm\" />\n\t\t\t</span>\n\t\t</span>\n\t);\n};\n\nconst renderAvatarIdentifier = (avatarProps, size) => {\n\tconst avatarSize = {sm: 'xxs', md: 'xs'};\n\treturn (\n\t\t<span className=\"now-pill-identifier\">\n\t\t\t<now-avatar\n\t\t\t\tuser-name={avatarProps.userName}\n\t\t\t\ticon={avatarProps.icon}\n\t\t\t\timageSrc={avatarProps.imageSrc}\n\t\t\t\tpresence={avatarProps.presence}\n\t\t\t\tsize={avatarSize[size]}\n\t\t\t\thide-tooltip\n\t\t\t/>\n\t\t</span>\n\t);\n};\n\nconst renderDismissIcon = ({\n\titem,\n\tcanDismiss,\n\tdispatch,\n\tupdateState,\n\tdisabled,\n}) => {\n\tif (canDismiss) {\n\t\tconst removeLabel = t({\n\t\t\tcode: 'now-typeahead-pill-remove-button-tooltip-label',\n\t\t\tmessage: 'Remove',\n\t\t\tcomment:\n\t\t\t\t'Verb. Describes an action button for removing or dismissing a pill.',\n\t\t});\n\t\treturn (\n\t\t\t<span\n\t\t\t\tclassName=\"now-typeahead-pill-dismiss\"\n\t\t\t\ton-click={() => {\n\t\t\t\t\tdispatch(() => ({\n\t\t\t\t\t\ttype: 'NOW_TYPEAHEAD_PILL#DISMISSED',\n\t\t\t\t\t\tpayload: {itemId: item.id},\n\t\t\t\t\t\tshouldDispatch: !disabled,\n\t\t\t\t\t}));\n\t\t\t\t}}\n\t\t\t\ton-mouseenter={() => {\n\t\t\t\t\tupdateState({hasHover: item.id});\n\t\t\t\t}}\n\t\t\t\ton-mouseleave={() => {\n\t\t\t\t\tupdateState({hasHover: null});\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<now-icon\n\t\t\t\t\tclassName=\"now-pill-button-iconic\"\n\t\t\t\t\ticon=\"close-fill\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\ton-mouseenter={(event) =>\n\t\t\t\t\t\tdispatch(TOOLTIP_SHOW, {target: event.target})\n\t\t\t\t\t}\n\t\t\t\t\ton-mouseleave={(event) =>\n\t\t\t\t\t\tdispatch(TOOLTIP_HIDE, {target: event.target})\n\t\t\t\t\t}\n\t\t\t\t\tdata-tooltip={removeLabel}\n\t\t\t\t/>\n\t\t\t</span>\n\t\t);\n\t}\n};\n\nconst renderPills = (\n\tstate,\n\tupdateState,\n\tdispatch,\n\tsize,\n\tselectedItems,\n\tdisabled,\n\treadonly,\n\tdir,\n) => {\n\tif (!selectedItems) return;\n\treturn selectedItems.map((item, index) => {\n\t\tconst icon = item?.icon;\n\t\tconst avatarImage = item.avatarProps?.imageSrc;\n\t\tconst avatarIcon = item.avatarProps?.icon;\n\t\tconst {label} = item;\n\t\tconst {hasHover} = state;\n\t\tlet canDismiss = !disabled && !readonly;\n\t\tconst pillSize = {sm: 'xs', md: 'sm'};\n\t\tconst tooltipContent = item?.tooltipContent;\n\t\treturn item ? (\n\t\t\t<li\n\t\t\t\tkey={item.id}\n\t\t\t\tid={item.id}\n\t\t\t\trole=\"option\"\n\t\t\t\taria-selected=\"true\"\n\t\t\t\ttabindex={disabled ? undefined : index === 0 ? '0' : '-1'}\n\t\t\t\ton-keydown={(e) => handleKeydownPill(e, dir, dispatch, item)}\n\t\t\t\ton-mousedown={disabled ? (e) => e.preventDefault() : undefined}\n\t\t\t\ton-mouseenter={(e) => {\n\t\t\t\t\tupdateState({hasHover: item.id});\n\t\t\t\t\thandleTooltipShow(e, dispatch, tooltipContent);\n\t\t\t\t}}\n\t\t\t\ton-mouseleave={(e) => {\n\t\t\t\t\tupdateState({hasHover: null});\n\t\t\t\t\thandleTooltipHide(e, dispatch, tooltipContent);\n\t\t\t\t}}\n\t\t\t\ton-click={(e) => {\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t!disabled && e.currentTarget.focus();\n\t\t\t\t}}\n\t\t\t\ton-focusin={(e) => handleTooltipShow(e, dispatch, tooltipContent)}\n\t\t\t\ton-focusout={(e) => handleTooltipHide(e, dispatch, tooltipContent)}\n\t\t\t\taria-label={item.label}\n\t\t\t\tclassName=\"now-typeahead-pill\"\n\t\t\t\tdata-tooltip={tooltipContent || item.label}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'now-pill': true,\n\t\t\t\t\t\t['-' + pillSize[size]]: pillSize[size],\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'now-pill-button': true,\n\t\t\t\t\t\t\t'show-identifier': avatarImage || avatarIcon,\n\t\t\t\t\t\t\t'has-hover': hasHover === item.id ? true : false,\n\t\t\t\t\t\t\t'is-disabled': disabled,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{icon\n\t\t\t\t\t\t\t? renderIconIdentifier(icon)\n\t\t\t\t\t\t\t: avatarImage || avatarIcon\n\t\t\t\t\t\t\t\t? renderAvatarIdentifier(item.avatarProps, size)\n\t\t\t\t\t\t\t\t: undefined}\n\t\t\t\t\t\t<span className=\"now-line-height-crop\">\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName=\"now-pill-label\"\n\t\t\t\t\t\t\t\taria-hidden={\n\t\t\t\t\t\t\t\t\titem.label?.toLowerCase() ===\n\t\t\t\t\t\t\t\t\titem.avatarProps?.userName?.toLowerCase()\n\t\t\t\t\t\t\t\t\t\t? 'true'\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{item.label}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t{renderDismissIcon({\n\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\tcanDismiss,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\tdisabled,\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t})}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</li>\n\t\t) : undefined;\n\t});\n};\n\nconst renderNativeInput = (\n\tstate,\n\treadonly,\n\tdisabled,\n\tselectedItems,\n\tcomponentId,\n\tmessages,\n\tautofocus,\n\tname,\n\tplaceholder,\n\tvalue,\n\tupdateState,\n\tactiveItemId,\n\toptionPrefix,\n\trequired,\n\toptional,\n\tdispatch,\n\topened,\n\tlistId,\n\tconfigAria,\n\tlabel,\n\thelperContent,\n\tlayout,\n\tmaxlength,\n) => {\n\tconst {placeholderOverflow, placeholderOverflowChecked} = state;\n\tplaceholder = placeholder ?? undefined;\n\tif (!readonly && !disabled) {\n\t\treturn (\n\t\t\t<input\n\t\t\t\tid={`form-field-${componentId}`}\n\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\taria-activedescendant={\n\t\t\t\t\tactiveItemId ? `${optionPrefix}-${activeItemId}` : undefined\n\t\t\t\t}\n\t\t\t\taria-describedby={getAriaDescribedByList({\n\t\t\t\t\tlabel,\n\t\t\t\t\thelperContent,\n\t\t\t\t\toptional,\n\t\t\t\t\tnowId: componentId,\n\t\t\t\t\tmessages,\n\t\t\t\t\tlayout,\n\t\t\t\t})}\n\t\t\t\tdata-tooltip={placeholder}\n\t\t\t\trole=\"combobox\"\n\t\t\t\taria-expanded={String(opened)}\n\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\taria-owns={`${listId}-listbox`}\n\t\t\t\taria-controls={`${listId}-listbox`}\n\t\t\t\tclassName=\"now-typeahead-native-input\"\n\t\t\t\tautofocus={autofocus}\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\tname={name}\n\t\t\t\tplaceholder={selectedItems.length === 0 ? placeholder : undefined}\n\t\t\t\trequired={required}\n\t\t\t\tvalue={value}\n\t\t\t\tmaxlength={maxlength}\n\t\t\t\ton-mouseenter={(e) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tplaceholderOverflow ||\n\t\t\t\t\t\t(placeholder && !placeholderOverflowChecked)\n\t\t\t\t\t) {\n\t\t\t\t\t\thandlePlaceholderTooltipVisibility(\n\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\tselectedItems,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\ton-mouseleave={(e) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tplaceholderOverflow ||\n\t\t\t\t\t\t(placeholder && !placeholderOverflowChecked)\n\t\t\t\t\t) {\n\t\t\t\t\t\thandlePlaceholderTooltipVisibility(\n\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\tselectedItems,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\ton-focusin={(e) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tplaceholderOverflow ||\n\t\t\t\t\t\t(placeholder && !placeholderOverflowChecked)\n\t\t\t\t\t) {\n\t\t\t\t\t\thandlePlaceholderTooltipVisibility(\n\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\tselectedItems,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\ton-focusout={(e) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tplaceholderOverflow ||\n\t\t\t\t\t\t(placeholder && !placeholderOverflowChecked)\n\t\t\t\t\t) {\n\t\t\t\t\t\thandlePlaceholderTooltipVisibility(\n\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\tselectedItems,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\ton-keydown={(e) =>\n\t\t\t\t\thandleKeydownInput(\n\t\t\t\t\t\te,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tselectedItems,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\toptionPrefix,\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\ton-input={(e) =>\n\t\t\t\t\thandleInput(e, dispatch, selectedItems, state, updateState, name)\n\t\t\t\t}\n\t\t\t\ton-blur={() => handleBlur(dispatch, updateState)}\n\t\t\t\ton-focus={() => handleFocus(updateState)}\n\t\t\t\t{...filterAriaAttributes(configAria, 'input')}\n\t\t\t/>\n\t\t);\n\t} else if (disabled && selectedItems.length === 0) {\n\t\treturn (\n\t\t\t<input\n\t\t\t\tid={`form-field-${componentId}`}\n\t\t\t\taria-describedby={getAriaDescribedByList({\n\t\t\t\t\tnowId: componentId,\n\t\t\t\t\tmessages,\n\t\t\t\t})}\n\t\t\t\tclassName=\"now-typeahead-native-input\"\n\t\t\t\tautofocus={autofocus}\n\t\t\t\tname={name}\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\tdisabled\n\t\t\t\tvalue={value}\n\t\t\t\ton-focus={() => handleFocus(updateState)}\n\t\t\t\t{...filterAriaAttributes(configAria, 'input')}\n\t\t\t/>\n\t\t);\n\t} else if (readonly && !disabled && selectedItems.length === 0) {\n\t\treturn (\n\t\t\t<input\n\t\t\t\tid={`form-field-${componentId}`}\n\t\t\t\taria-describedby={getAriaDescribedByList({\n\t\t\t\t\tnowId: componentId,\n\t\t\t\t\tmessages,\n\t\t\t\t})}\n\t\t\t\tclassName=\"now-typeahead-native-input\"\n\t\t\t\tautofocus={autofocus}\n\t\t\t\tname={name}\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\treadonly\n\t\t\t\tvalue={!value ? '—' : value}\n\t\t\t\taria-label={!value ? '' : undefined}\n\t\t\t\ton-focus={() => handleFocus(updateState)}\n\t\t\t\t{...filterAriaAttributes(configAria, 'input')}\n\t\t\t/>\n\t\t);\n\t}\n};\n\nconst ariaAnnouncements = (\n\tfilteredItems,\n\titems,\n\tdispatch,\n\tupdateState,\n\tvalue,\n\tsearch,\n) => {\n\tlet announcements = [],\n\t\tuncategorizedCount = 0,\n\t\thasChildren = false,\n\t\tchildCount = 0,\n\t\ttotalItems = 0,\n\t\tannouncementMessage = '';\n\tif (filteredItems.length === 0) {\n\t\tariaLiveNoResults(dispatch);\n\t} else {\n\t\tfilteredItems.forEach((item) => {\n\t\t\tlet getSectionHeader = item.ariaLabel || item.label || t('uncategorized');\n\t\t\tif (item.children) {\n\t\t\t\thasChildren = true;\n\t\t\t\tchildCount = item.children.length;\n\t\t\t\t//if the dropdown list has a list of items with children, announce the number of items with the section headers\n\t\t\t\tannouncementMessage = t(\n\t\t\t\t\t{\n\t\t\t\t\t\tcode: 'now-typeahead-multi-search-labels',\n\t\t\t\t\t\tmessage: '{childCount} items in {sectionHeader}',\n\t\t\t\t\t\tcomment:\n\t\t\t\t\t\t\t'ARIA message for screenreader users telling them the number of child items in a group with header of sectionHeader',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tchildCount: childCount,\n\t\t\t\t\t\tsectionHeader: getSectionHeader,\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t\tannouncements.push(announcementMessage);\n\t\t\t\ttotalItems += item.children.length;\n\t\t\t} else {\n\t\t\t\tuncategorizedCount += 1; // Count uncategorized items\n\t\t\t\ttotalItems++;\n\t\t\t}\n\t\t});\n\n\t\t//if the user has removed all the text, go back to announcing the number of items\n\t\tif (filteredItems.length === items.length && !value) {\n\t\t\tariaLiveNumResults(dispatch, totalItems, search);\n\t\t\tannouncements = [];\n\t\t}\n\n\t\t//if the dropdown list is a plain list of items without any children, announce the number of items\n\t\telse if (!hasChildren) {\n\t\t\tariaLiveNumResults(dispatch, filteredItems.length, search);\n\t\t\tannouncements = [];\n\t\t} else {\n\t\t\t// If there are uncategorized items, add them to the announcement\n\t\t\tif (uncategorizedCount > 0) {\n\t\t\t\tannouncementMessage = t(\n\t\t\t\t\t{\n\t\t\t\t\t\tcode: 'now-typeahead-multi-search-uncategorized',\n\t\t\t\t\t\tmessage: '{uncategorizedCount} items in uncategorized',\n\t\t\t\t\t\tcomment:\n\t\t\t\t\t\t\t'ARIA message for screenreader users telling them the number of items in an uncategorized section.',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tuncategorizedCount: uncategorizedCount,\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t\tannouncements.push(announcementMessage);\n\t\t\t}\n\t\t\tariaLiveSectionResults(dispatch, announcements.join(', '));\n\t\t\tannouncements = [];\n\t\t}\n\t}\n\n\tupdateState({\n\t\tannounceResults: false,\n\t});\n};\n\nconst view = (state, {dispatch, updateState}) => {\n\tconst {activeItemId, opened, hasFocus, announceResults} = state;\n\tconst {\n\t\tsize,\n\t\tautofocus,\n\t\tdisabled,\n\t\thelperContent,\n\t\thideRequiredIndicator,\n\t\tinvalid,\n\t\titems,\n\t\tsearch,\n\t\titemsListConstrain,\n\t\tlabel,\n\t\tmessages,\n\t\toptional,\n\t\tplaceholder,\n\t\treadonly,\n\t\trequired,\n\t\tselectedItems,\n\t\tvalue = '',\n\t\tdir,\n\t\tnowId,\n\t\tname = `typeahead-multi-${nowId}`,\n\t\tconfigAria,\n\t\tfieldLayout: {layout, columns},\n\t\twrapLabel,\n\t\tmaxlength,\n\t} = state.properties;\n\n\tconst constrain = {...CONSTRAIN_DEFAULTS, ...itemsListConstrain};\n\tconst filteredItems = getSearchMatches(items, value, search);\n\n\tif (announceResults) {\n\t\tariaAnnouncements(\n\t\t\tfilteredItems,\n\t\t\titems,\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\tvalue,\n\t\t\tsearch,\n\t\t);\n\t}\n\n\tconst listId = `now-dropdown-list-${nowId}`;\n\tconst optionPrefix = `${listId}-option`;\n\n\treturn (\n\t\t<div\n\t\t\tstyle={\n\t\t\t\tlayout === 'horizontal' ? {...getColumnStyles(columns)} : undefined\n\t\t\t}\n\t\t\tclass={{\n\t\t\t\t'now-typeahead-multi': true,\n\t\t\t\t'now-form-field-layout': true,\n\t\t\t\t[`-${size}`]: size,\n\t\t\t\t['-' + layout]: layout,\n\t\t\t\t'has-pills': selectedItems.length > 0,\n\t\t\t\t'will-wrap': wrapLabel,\n\t\t\t}}\n\t\t>\n\t\t\t{renderFormFieldLabel(\n\t\t\t\tnowId,\n\t\t\t\tinvalid,\n\t\t\t\trequired,\n\t\t\t\toptional,\n\t\t\t\tlabel,\n\t\t\t\thelperContent,\n\t\t\t\thideRequiredIndicator,\n\t\t\t\t'label',\n\t\t\t\tlayout,\n\t\t\t\topened,\n\t\t\t\twrapLabel,\n\t\t\t)}\n\t\t\t{!readonly && !disabled && (\n\t\t\t\t<span className=\"now-a11y-label\" id=\"pill-removal-text\">\n\t\t\t\t\t{t('Use the backspace key to remove pill(s).')}\n\t\t\t\t</span>\n\t\t\t)}\n\t\t\t<now-popover\n\t\t\t\tclassName=\"now-typeahead-popover\"\n\t\t\t\tbare\n\t\t\t\tconstrain={pick(constrain, ['width', 'minWidth', 'maxWidth'])}\n\t\t\t\tmanage-opened\n\t\t\t\topened={opened}\n\t\t\t\tappend-to-payload={{id: 'now-dropdown-list'}}\n\t\t\t\tinteraction-type=\"listbox\"\n\t\t\t\tdisable-scroll\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\ton-click={(event) =>\n\t\t\t\t\t\thandleClickTrigger(\n\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\tselectedItems,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'now-typeahead-field': true,\n\t\t\t\t\t\t'now-form-field': true,\n\t\t\t\t\t\t'is-invalid': invalid,\n\t\t\t\t\t\t'is-disabled': disabled,\n\t\t\t\t\t\t'is-readonly': readonly,\n\t\t\t\t\t\t'has-focus': hasFocus,\n\t\t\t\t\t\t'has-pills': selectedItems.length > 0,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"now-typeahead-pills\">\n\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\t\t\taria-multiselectable=\"true\"\n\t\t\t\t\t\t\t{...(label\n\t\t\t\t\t\t\t\t? {'aria-labelledby': `form-field-${nowId}-label`}\n\t\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\t\t'aria-label': filterAriaAttributes(configAria, 'input')?.[\n\t\t\t\t\t\t\t\t\t\t\t'aria-label'\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t!readonly && !disabled ? 'pill-removal-text' : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclassName=\"now-typeahead-pills-list\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{renderPills(\n\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tsize,\n\t\t\t\t\t\t\t\tselectedItems,\n\t\t\t\t\t\t\t\tdisabled,\n\t\t\t\t\t\t\t\treadonly,\n\t\t\t\t\t\t\t\tdir,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"now-typeahead-native-input-container\">\n\t\t\t\t\t\t<div className=\"now-form-field-slot -start\">\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\tname=\"start\"\n\t\t\t\t\t\t\t\ton-click={(e) => {\n\t\t\t\t\t\t\t\t\tif (!opened) {\n\t\t\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{renderNativeInput(\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\treadonly,\n\t\t\t\t\t\t\tdisabled,\n\t\t\t\t\t\t\tselectedItems,\n\t\t\t\t\t\t\tnowId,\n\t\t\t\t\t\t\tmessages,\n\t\t\t\t\t\t\tautofocus,\n\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\tplaceholder,\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\tactiveItemId,\n\t\t\t\t\t\t\toptionPrefix,\n\t\t\t\t\t\t\trequired,\n\t\t\t\t\t\t\toptional,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\topened,\n\t\t\t\t\t\t\tlistId,\n\t\t\t\t\t\t\tconfigAria,\n\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\thelperContent,\n\t\t\t\t\t\t\tlayout,\n\t\t\t\t\t\t\tmaxlength,\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<div className=\"now-form-field-slot -end\">\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\tname=\"end\"\n\t\t\t\t\t\t\t\ton-click={(e) => {\n\t\t\t\t\t\t\t\t\tif (!opened) {\n\t\t\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\ttogglePanel(updateState, dispatch);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<now-dropdown-list\n\t\t\t\t\tdefer\n\t\t\t\t\tstyle={getDropdownListConstrain(constrain)}\n\t\t\t\t\tslot=\"content\"\n\t\t\t\t\tselect=\"multi\"\n\t\t\t\t\titems={filteredItems}\n\t\t\t\t\tselectedItems={selectedItems && selectedItems.map((item) => item.id)}\n\t\t\t\t\tactive-item={activeItemId === null ? undefined : activeItemId}\n\t\t\t\t\tsearch-term={value}\n\t\t\t\t\tscreen-reader-id={opened ? listId : undefined}\n\t\t\t\t\tmanage-selected-items\n\t\t\t\t\tappend-to-meta={{componentId: nowId}}\n\t\t\t\t\tconfig-aria={\n\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\tpanel: {'aria-label': label},\n\t\t\t\t\t\t\t\t\t...configAria,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t: configAria\n\t\t\t\t\t}\n\t\t\t\t\tsize={size}\n\t\t\t\t/>\n\t\t\t</now-popover>\n\t\t\t{layout === 'horizontal' && renderLabelEnd()}\n\t\t\t<div className=\"now-form-field-messages\">\n\t\t\t\t{renderFormFieldMessages(nowId, messages, 0)}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\n/**\n *\n * Form element for text input fields that includes a dropdown of relevant or\n * suggested values that a user can select multiple values from. As users type into the field,\n * the suggested values are filtered or recomputed.\n *\n * ```jsx\n * const items = [\n *   {\n *     id: \"ablumsondi\",\n *     label: \"Ab Blumson\",\n *     sublabel: \"ablumsondi@scribd.com\",\n *   },\n *   {\n *     id: \"amolfinofi\",\n *     label: \"Abagael Molfino\",\n *     sublabel: \"amolfinofi@reverbnation.com\",\n *   },\n *   {\n *     id: \"aolynn99\",\n *     label: \"Abbot O'Lynn\",\n *     sublabel: \"aolynn99@shop-pro.jp\",\n *   }\n * ];\n *\n * <now-typeahead-multi name=\"User\" label=\"User\" items={items} />\n *\n * <now-typeahead-multi name=\"User\" label=\"User\" items={items} invalid required messages={[\n *   {\n *    status: 'critical',\n *    icon: 'circle-close-outline',\n *    content: 'Please fill out this required field.'\n *   }\n * ]} />\n *\n * <now-typeahead-multi name=\"User\" label=\"User\" items={items}>\n *   <now-button-iconic slot=\"end\" icon=\"circle-info-outline\" tooltip-content=\"Preview record\" />\n * </now-typeahead-multi>\n * ```\n *\n * @seismicElement now-typeahead-multi\n * @summary Supplements an input field with a dropdown panel of relevant options, where more than one option can be selected to fill the field.\n * @uib.label Typeahead multi\n * @uib.icon typeahead-multi\n * @uib.description Supplements an input field with a dropdown panel of relevant options, where more than one option can be selected to fill the field\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties size, search, disabled, readonly, autofocus, placeholder, value, manageValue, name, items, selectedItems, manageSelectedItems, itemsListConstrain, disableAutoClose, label, wrapLabel, required, hideRequiredIndicator, optional, helperContent, invalid, manageInvalid, messages, configAria, fieldLayout, landmark, maxlength\n * @uib.layout.value.children placeholder, value, manageValue, name, maxlength\n * @uib.layout.value.icon pencil-outline\n * @uib.layout.list.children items, selectedItems, manageSelectedItems, itemsListConstrain, disableAutoClose\n * @uib.layout.list.icon list-outline\n * @uib.layout.label.children label, wrapLabel, required, hideRequiredIndicator, optional, helperContent\n * @uib.layout.label.icon text-outline\n * @uib.layout.validation.children invalid, manageInvalid, messages\n * @uib.layout.validation.icon syntax-check-outline\n * @uib.layout.accessibility.children configAria, landmark\n * @uib.layout.accessibility.icon accessibility-outline\n * @uib.actions NOW_TYPEAHEAD_MULTI#LIST_VISIBLE, NOW_TYPEAHEAD_MULTI#LIST_HIDDEN, NOW_TYPEAHEAD_MULTI#INVALID_SET, NOW_TYPEAHEAD_MULTI#SELECTED_ITEMS_SET, NOW_TYPEAHEAD_MULTI#VALUE_SET, NOW_TYPEAHEAD_MULTI#ENTER_KEYDOWN\n * @uib.innerComponents now-dropdown-list, now-icon, now-pill, now-popover, now-input, now-tooltip\n */\ncreateEnhancedElement('now-typeahead-multi', {\n\tproperties: {\n\t\t/**\n\t\t * Sets the typeahead size.\n\t\t * @type {('sm'|'md')}\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Small\", \"value\": \"sm\"}, {\"label\": \"Medium\", \"value\": \"md\"}]\n\t\t * @uib.defaultValue md\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['sm', 'md'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * An array of `DropdownListItem` or `DropdownListSection` objects that are used as\n\t\t * possible items that the user can select from.\n\t\t * @type {(Array.<DropdownListItem> | Array.<DropdownListSection>)}\n\t\t * @uib.label List items\n\t\t * @uib.description Array of possible items that the user can select from\n\t\t * @uib.defaultValue [{\"id\": \"usr1\",\"label\": \"User 1\",\"sublabel\": \"user1@servicenow.com\",\"avatarProps\": {\"userName\": \"User 1\",\"imageSrc\": \"http://i.pravatar.cc/24?u=33\",\"presence\": \"away\"}},{\"id\": \"usr2\",\"label\": \"User 2\",\"sublabel\": \"user2@servicenow.com\",\"avatarProps\": {\"userName\": \"User 2\",\"imageSrc\": \"http://i.pravatar.cc/24?u=34\",\"presence\": \"busy\"},\"disabled\": true},{\"id\": \"usr3\",\"label\": \"User 3\",\"sublabel\": \"user3@servicenow.com\",\"avatarProps\": {\"userName\": \"User 3\",\"imageSrc\": \"http://i.pravatar.cc/24?u=35\",\"presence\": \"offline\"}}]\n\t\t */\n\t\titems: {\n\t\t\tdefault: [],\n\t\t\tschema: itemsSchema,\n\t\t},\n\t\t/**\n\t\t * An array of `SelectedDropdownListItem` objects representing each selected item. Use\n\t\t * `manage-selected-items` to override the default behavior and handle the\n\t\t * `NOW_TYPEAHEAD_MULTI#SELECTED_ITEMS_SET` action manually.\n\t\t * @type {Array.<SelectedDropdownListItem>}\n\t\t * @uib.description An array of items representing each selected item\n\t\t * @uib.fieldType json\n\t\t * @uib.defaultValue []\n\t\t */\n\t\tselectedItems: {\n\t\t\tdefault: [],\n\t\t\tmanageable: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {...itemSchema, tooltipContent: {type: 'string'}},\n\t\t\t},\n\t\t\tdependencies: ['items'],\n\t\t},\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `selectedItems` property.\n\t\t * An action with type `NOW_TYPEAHEAD_MULTI#SELECTED_ITEMS_SET` will be dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the selected items property. Use the selected items set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageSelectedItems: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * An object describing additional sizing constrains for the items list popover.\n\t\t *\n\t\t * Valid keys are (all are optional):\n\t\t *\n\t\t *  - width\n\t\t *  - minWidth\n\t\t *  - maxWidth\n\t\t *  - height\n\t\t *  - minHeight\n\t\t *  - maxHeight\n\t\t *\n\t\t * The value for each property should be a positive integer representing\n\t\t * a pixel value that is applied to the corresponding content style.\n\t\t * Alternatively, you can specify the string `\"target\"` for width,\n\t\t * minWidth, or maxWidth to have that property match the width of the\n\t\t * input element.\n\t\t *\n\t\t * For example, this value ensures that the items list is at least 400x200 pixels:\n\t\t *\n\t\t *  {\n\t\t *\t\tminWidth: 400,\n\t\t *\t\tminHeight: 200\n\t\t *  }\n\t\t *\n\t\t * The default values for this property are:\n\t\t *\n\t\t *  {\n\t\t *\t\twidth: \"target\",\n\t\t *\t\tmaxHeight: 300,\n\t\t *  }\n\t\t *\n\t\t * @type {ItemsListConstrain}\n\t\t * @typedef {Object} ItemsListConstrain\n\t\t * @description Sizing constraints to enforce on the items list. For each\n\t\t * property, a number can be specified which sets that constraint in\n\t\t * pixels.  If the value is \"target\" for width, minWidth, or maxWidth,\n\t\t * the items list is sized to match the width of the input field.\n\t\t * @property {\"target\"|number} width\n\t\t * @property {\"target\"|number} minWidth\n\t\t * @property {\"target\"|number} maxWidth\n\t\t * @property {number} height\n\t\t * @property {number} minHeight\n\t\t * @property {number} maxHeight\n\t\t * @uib.label Item Size Constraints\n\t\t * @uib.description Sizing constraints to enforce on the items list. For each property, a number can be specified which sets that constraint in pixels. If the value is \"target\" for width, minWidth, or maxWidth, the items list is sized to match the width of the input field\n\t\t */\n\t\titemsListConstrain: {schema: constrainSchema},\n\t\t/**\n\t\t * Indicates that focus should automatically be placed inside the input\n\t\t * on page load.\n\t\t * @type {boolean}\n\t\t * @uib.label Auto-focus\n\t\t * @uib.description Indicates that focus should automatically be placed inside the input on page load\n\t\t */\n\t\tautofocus: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Indicates that the user can interact with the field\n\t\t * and change its value. Field appears grayed out when disabled.\n\t\t * @type {boolean}\n\t\t * @uib.description Disable user click interactions\n\t\t */\n\t\tdisabled: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Controls how to filter the items as the user types into the input.\n\t\t * - \"managed\" (default): No filtering occurs. Use this to manually\n\t\t *   filter or search for items as the user types.\n\t\t * - \"initial\": Items whose label or sublabel begins with the\n\t\t *   input value are displayed. This is case-insensitive.\n\t\t * - \"contains\": Items whose label or sublabel contains the input value\n\t\t *   are displayed. This is case-insensitive.\n\t\t * @type {(\"managed\"|\"initial\"|\"contains\")}\n\t\t * @uib.label Search Behavior\n\t\t * @uib.description Controls how to filter the items as the user types into the integrated search input\n\t\t */\n\t\tsearch: {\n\t\t\tdefault: 'managed',\n\t\t\tschema: {type: 'string', enum: ['managed', 'initial', 'contains']},\n\t\t},\n\t\t/**\n\t\t * If set, an iconic button with popover appears next to the field\n\t\t * label for displaying additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t * @uib.label Helper text\n\t\t * @uib.description If set, an iconic button with popover appears next to the field label for displaying additional hint text to the user, such as password requirements or other instructions for completing the field. Use plain text to allow for translation\n\t\t * @uib.fieldType string\n\t\t * @uib.translatable true\n\t\t */\n\t\thelperContent: {},\n\t\t/**\n\t\t * Indicates that the field is in an incorrect state, which is\n\t\t * reflected in the field display. This property is set\n\t\t * automatically based on the current validity of the input field. Use\n\t\t * `manage-invalid` to override the default behavior and handle the\n\t\t * `NOW_TYPEAHEAD_MULTI#INVALID_SET` action manually.\n\t\t * @type {boolean}\n\t\t * @uib.description Set this flag to indicate that the field is in an incorrect state, which is reflected in the field display\n\t\t */\n\t\tinvalid: {manageable: true, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `invalid` property.\n\t\t * An action with type `NOW_TYPEAHEAD_MULTI#INVALID_SET` will be dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the invalid property. Use the invalid set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageInvalid: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Label describing the overall purpose of the input field.\n\t\t * @type {string}\n\t\t * @uib.description Label describing the overall purpose of the select field\n\t\t * @uib.defaultValue Label\n\t\t * @uib.translatable true\n\t\t */\n\t\tlabel: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Array of inline alert messages that are displayed below the field.\n\t\t * @type {Array.<{status: ('critical'|'warning'|'positive'|'info'|'suggestion'), content: (string|JSX), icon: string}>}\n\t\t * @uib.label Alert messages\n\t\t * @uib.description Array of inline alert messages that are displayed below the field\n\t\t * @uib.fieldType collection\n\t\t * @uib.typeMetadata.collection.cardProperties.heading { \"heading\": \"content\", \"icon\": \"icon\" }\n\t\t */\n\t\tmessages: {\n\t\t\tdefault: [],\n\t\t\tschema: messagesSchema,\n\t\t},\n\t\t/**\n\t\t * Name of the field control. Dispatched along with the field value\n\t\t * on user interaction.\n\t\t * @type {string}\n\t\t * @uib.description Name of the field control included in dispatched actions\n\t\t */\n\t\tname: {schema: {type: 'string'}},\n\t\t/**\n\t\t * When true, the field is optional and not required to be completed by\n\t\t * the user before completing the form.\n\t\t * @type {boolean}\n\t\t * @uib.description Visually indicates that the field is optional\n\t\t * @uib.defaultValue false\n\t\t */\n\t\toptional: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Hint text displayed in the input when the user has not yet entered a\n\t\t * value.\n\t\t * @type {string}\n\t\t * @uib.label Placeholder text\n\t\t * @uib.description Placeholder text for the input field. This text should hint to the user what input is expected.\n\t\t * @uib.translatable true\n\t\t */\n\t\tplaceholder: {schema: {type: 'string'}},\n\t\t/**\n\t\t * When true, the user cannot modify the value of the field, but\n\t\t * it still appears enabled.\n\t\t * @type {boolean}\n\t\t * @uib.label Read-only\n\t\t * @uib.description By enabling this property, the user cannot modify the value of the input field. The input field is not disabled in this setting.\n\t\t */\n\t\treadonly: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, the user must enter a value in the\n\t\t * input field before they can complete the form.\n\t\t * @type {boolean}\n\t\t * @uib.description Select to indicate that the user must enter a value in the field before proceeding\n\t\t * @uib.defaultValue false\n\t\t */\n\t\trequired: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, the required indicator is hidden. Use this for\n\t\t * forms where most fields are required, along with the `optional` flag\n\t\t * for any fields that are not required.\n\t\t * @type {boolean}\n\t\t * @uib.label Hide Required Indicator\n\t\t * @uib.description Select to hide the required indicator. Use this for forms where most fields are required, along with the `optional` flag for any fields that are not required.\n\t\t */\n\t\thideRequiredIndicator: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * The value of the input field. This is updated automatically\n\t\t * as the user types. Use `manage-value` to override this and handle\n\t\t * the `NOW_TYPEAHEAD_MULTI#VALUE_SET` action manually. Note: This does\n\t\t * not prevent the selected items from showing in the dropdown. To do\n\t\t * so, use `manage-selected-items`.\n\t\t * @type {string}\n\t\t * @uib.description Sets a value for the input field. Unless the input field has pre-populated data, this property should be left empty.\n\t\t * @uib.translatable true\n\t\t */\n\t\tvalue: {manageable: true, schema: {type: 'string'}},\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `value` property.\n\t\t * An action with type `NOW_TYPEAHEAD_MULTI#VALUE_SET` will be dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the value property. Use the value set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageValue: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Disables the default auto close behavior after a selection is made,\n\t\t * when this property is set to true, the panel will stay open to allow for multiple item\n\t\t * selections to be made.\n\t\t * @type {boolean}\n\t\t * @uib.label Disable Auto Close\n\t\t * @uib.defaultValue false\n\t\t * @uib.description Disables auto close when a selection is made – the panel will remain open to allow for multiple selections. Press ESC or click outside of the panel to close.\n\t\t **/\n\t\tdisableAutoClose: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * now-typeahead-multi. The value of each key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s. These ARIA\n\t\t * properties are set on the specified element.\n\t\t * The 'input' key corresponds to the inner html `<input>`. See\n\t\t * https://www.w3.org/TR/wai-aria-1.2/#button for properties and accepted\n\t\t * values. The 'panel' key corresponds to the inner html `<div>` that acts\n\t\t * as the 'listbox'. See https://www.w3.org/TR/wai-aria-1.2/#listbox for\n\t\t * properties and accepted values.\n\t\t * @type {{ input: {'aria-*': string, role: string}, panel: {'aria-*': string, role: string} }}\n\t\t * @uib.label ARIA Properties\n\t\t * @uib.defaultValue {\"panel\": {\"aria-label\": \"Options\"}}\n\t\t * @uib.description Sets ARIA properties on the inner html 'button' and 'listbox'\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tinput: configAriaLabelSchema,\n\t\t\t\t\tpanel: configAriaLabelSchema,\n\t\t\t\t},\n\t\t\t\tadditionalProperties: false,\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slotted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: {layout: 'vertical'},\n\t\t\tschema: fieldLayoutSchema,\n\t\t},\n\t\t/**\n\t\t * Includes this component as a target for the Now-Trigger-Library's\n\t\t * Landmark Focus feature.\n\t\t * @type {boolean}\n\t\t * @uib.label Landmark\n\t\t * @uib.description Allow the Landmark Focus keyboard shortcut to focus this typeahead\n\t\t */\n\t\tlandmark: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Set to true to wrap the label if it does not fit on one line.\n\t\t * @type {boolean}\n\t\t * @uib.description Wraps the label if it does not fit on one line.\n\t\t */\n\t\twrapLabel: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Maximum number of characters that the user can enter in the field.\n\t\t * @type {number}\n\t\t * @uib.label Max. characters\n\t\t * @uib.fieldType number\n\t\t * @uib.description Sets a maximum number of characters for the typeahead field.\n\t\t */\n\t\tmaxlength: {schema: {type: ['number', 'null']}},\n\t},\n\tinitialState: {\n\t\t/**\n\t\t * The id of the currently focused item in the dropdown list.\n\t\t */\n\t\tactiveItemId: null,\n\t\t/**\n\t\t * Whether or not the popover is opened and the dropdown list is visible.\n\t\t */\n\t\topened: false,\n\t\t/**\n\t\t * Whether or not the input is focused\n\t\t */\n\t\thasFocus: false,\n\t\t/**\n\t\t * Whether or not the number of results in the dropdown should be announced by aria live.\n\t\t */\n\t\tannounceResults: false,\n\t\t/**\n\t\t * Whether or not the placeholder tooltip is visible\n\t\t */\n\t\tplaceholderTooltipVisible: false,\n\t\t/**\n\t\t * Whether or not the placeholder overflows the input field\n\t\t */\n\t\tplaceholderOverflow: false,\n\t\t/**\n\t\t * Whether or not the placeholder overflows has been checked\n\t\t */\n\t\tplaceholderOverflowChecked: false,\n\t},\n\tactionHandlers: {\n\t\t// workaround for Firefox not playing nicely with the autofocus attribute\n\t\t[COMPONENT_DOM_TREE_READY]({host, properties, updateState}) {\n\t\t\tconst {autofocus, placeholder, selectedItems} = properties;\n\t\t\tconst input = host.shadowRoot.querySelector('input');\n\t\t\tif (autofocus) {\n\t\t\t\tinput.focus();\n\t\t\t}\n\t\t\tif (placeholder && selectedItems.length === 0) {\n\t\t\t\tconst tempValue = input.value;\n\t\t\t\tinput.value = input.placeholder;\n\t\t\t\tif (input.scrollWidth > input.clientWidth) {\n\t\t\t\t\tupdateState({placeholderOverflow: true});\n\t\t\t\t}\n\t\t\t\tinput.value = tempValue;\n\t\t\t\tupdateState({placeholderOverflowChecked: true});\n\t\t\t}\n\t\t},\n\n\t\t[COMPONENT_PROPERTY_CHANGED]({\n\t\t\thost,\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\tproperties,\n\t\t\tstate,\n\t\t\tupdateState,\n\t\t}) {\n\t\t\tconst {name, previousValue = [], value} = action.payload;\n\t\t\tconst {selectedItems} = properties;\n\t\t\t// when selectedItems is added, clear out the value in the input\n\t\t\tif (name === 'selectedItems' && previousValue.length < value.length) {\n\t\t\t\tconst {disableAutoClose, name, value} = properties;\n\t\t\t\tdispatch('NOW_TYPEAHEAD_MULTI#VALUE_SET', {\n\t\t\t\t\tname,\n\t\t\t\t\tvalue: disableAutoClose ? value : '',\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (name === 'selectedItems' && selectedItems.length === 0) {\n\t\t\t\tconst input = host.shadowRoot.querySelector('input');\n\t\t\t\tif (input) {\n\t\t\t\t\tinput.dispatchEvent(new Event('mouseenter'));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (name === 'items' && state.opened) {\n\t\t\t\thost.shadowRoot.querySelector('now-popover').refit();\n\t\t\t\tif (properties.search === 'managed') {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tannounceResults: true,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (name === 'messages') {\n\t\t\t\tconst messagesLength = value.length;\n\t\t\t\tconst previousMessagesLength = previousValue ? previousValue.length : 0;\n\t\t\t\tif (messagesLength > previousMessagesLength) {\n\t\t\t\t\tfor (let i = previousMessagesLength; i < messagesLength; i++) {\n\t\t\t\t\t\tconst message = properties.label + ' ' + value[i].content;\n\t\t\t\t\t\tannounceMessage(message, dispatch);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t'PRIVATE#BLUR': {\n\t\t\tstopPropagation: true,\n\t\t\teffect: ({dispatch}) => {\n\t\t\t\t// Check exact match if autoSelect\n\t\t\t\tdispatch(({properties}) => {\n\t\t\t\t\tconst {items, selectedItems = [], name, value} = properties;\n\n\t\t\t\t\tconst autoSelected = autoSelectMatch(items, selectedItems, value);\n\n\t\t\t\t\tif (autoSelected) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttype: 'NOW_TYPEAHEAD_MULTI#SELECTED_ITEMS_SET',\n\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\t\tvalue: toggleSelectedItem(selectedItems, autoSelected),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\treturn CANCEL_DISPATCH;\n\t\t\t\t});\n\n\t\t\t\t// Run validation\n\t\t\t\tdispatch(({properties}) => {\n\t\t\t\t\tconst {required, selectedItems, invalid, name, value} = properties;\n\t\t\t\t\tconst isInvalid = selectedItems.length === 0;\n\t\t\t\t\tif ((required && isInvalid && !invalid) || (!isInvalid && invalid)) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttype: 'NOW_TYPEAHEAD_MULTI#INVALID_SET',\n\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\t\tvalue: isInvalid,\n\t\t\t\t\t\t\t\tfieldValue: value,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn CANCEL_DISPATCH;\n\t\t\t\t});\n\n\t\t\t\t// after checking exact match and validation, we can dispatch interaction finished\n\t\t\t\tdispatch(({properties}) => {\n\t\t\t\t\tconst {selectedItems, name, value} = properties;\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'NOW_TYPEAHEAD_MULTI#INTERACTION_FINISHED',\n\t\t\t\t\t\tpayload: {name, value, selectedItems},\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\t'NOW_POPOVER#CONTENT_VISIBLE': makeRedispatchEffect(\n\t\t\t'NOW_TYPEAHEAD_MULTI#LIST_VISIBLE',\n\t\t),\n\t\t'NOW_POPOVER#CONTENT_HIDDEN': makeRedispatchEffect(\n\t\t\t'NOW_TYPEAHEAD_MULTI#LIST_HIDDEN',\n\t\t),\n\t\t'NOW_POPOVER#OPENED_SET'({dispatch, action, updateState}) {\n\t\t\tconst {id, value} = action.payload;\n\n\t\t\t// ignore the helperContent popover\n\t\t\tif (id !== 'now-dropdown-list') return;\n\n\t\t\tupdateState({\n\t\t\t\topened: value,\n\t\t\t\tactiveItemId: null,\n\t\t\t});\n\n\t\t\tif (!value) {\n\t\t\t\tdispatch(({state}) => {\n\t\t\t\t\tconst {hasFocus} = state;\n\n\t\t\t\t\t// If we still have focus, that means the popover was dismissed\n\t\t\t\t\t// with focus still in the field (e.g.: user pressed `Escape`).\n\t\t\t\t\t// Don't want to do anything yet. See similar logic in handleBlur()\n\t\t\t\t\tif (hasFocus) {\n\t\t\t\t\t\treturn CANCEL_DISPATCH;\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'PRIVATE#BLUR',\n\t\t\t\t\t\tpayload: {},\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\n\t\t'NOW_DROPDOWN_LIST#ITEM_CLICKED': ({\n\t\t\thost,\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\tstate,\n\t\t\tupdateState,\n\t\t\tproperties,\n\t\t}) => {\n\t\t\tconst {nowId} = properties;\n\t\t\tconst componentId = action?.meta?.appended?.componentId;\n\t\t\tconst {placeholderTooltipVisible} = state;\n\t\t\tif (componentId === nowId) {\n\t\t\t\ttogglePanel(updateState, dispatch);\n\n\t\t\t\tdispatch(({properties}) => {\n\t\t\t\t\tconst {selectedItems, name} = properties;\n\t\t\t\t\tconst input = host.shadowRoot.querySelector('input');\n\t\t\t\t\tif (input) {\n\t\t\t\t\t\tinput.focus();\n\t\t\t\t\t\tif (placeholderTooltipVisible) {\n\t\t\t\t\t\t\tdispatch(TOOLTIP_HIDE, {target: input});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinput.dispatchEvent(new Event('mouseleave'));\n\t\t\t\t\t}\n\t\t\t\t\tconst {item} = action.payload;\n\t\t\t\t\tconst selectedIds = toggleItems(selectedItems, item, dispatch);\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'NOW_TYPEAHEAD_MULTI#SELECTED_ITEMS_SET',\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tname: name,\n\t\t\t\t\t\t\tvalue: selectedIds,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t'NOW_TYPEAHEAD_PILL#DISMISSED': {\n\t\t\tstopPropagation: true,\n\t\t\teffect: ({host, action, dispatch, updateState, properties}) => {\n\t\t\t\tconst {disableAutoClose} = properties;\n\t\t\t\tdispatch(({properties}) => {\n\t\t\t\t\tconst {selectedItems} = properties;\n\t\t\t\t\tconst removedPill = selectedItems.find((item) => {\n\t\t\t\t\t\treturn item.id === action.payload.itemId;\n\t\t\t\t\t});\n\t\t\t\t\tconst removedPillIndex = selectedItems.indexOf(removedPill);\n\t\t\t\t\tconst pills = host.shadowRoot.querySelectorAll('.now-typeahead-pill');\n\t\t\t\t\t//Removes the hoisted tooltip from the DOM\n\t\t\t\t\thost?.shadowRoot?.querySelector('now-tooltip')?.remove();\n\t\t\t\t\t// last pill deleted, focus input\n\t\t\t\t\tif (selectedItems.length === 1) {\n\t\t\t\t\t\tconst input = host.shadowRoot.querySelector('input');\n\t\t\t\t\t\tif (input) {\n\t\t\t\t\t\t\tinput.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// end pill was deleted, move focus to new end pill\n\t\t\t\t\telse if (removedPillIndex === selectedItems.length - 1) {\n\t\t\t\t\t\tpills[pills.length - 2].focus();\n\t\t\t\t\t}\n\t\t\t\t\t// pill deleted, move focus to next pill in array\n\t\t\t\t\telse if (selectedItems.length > 1) {\n\t\t\t\t\t\tpills[removedPillIndex + 1].focus();\n\t\t\t\t\t}\n\t\t\t\t\tconst message = t(`{0} removed`, removedPill.label);\n\t\t\t\t\tannounceMessage(message, dispatch);\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'NOW_TYPEAHEAD_MULTI#SELECTED_ITEMS_SET',\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tname: properties.name,\n\t\t\t\t\t\t\tvalue: toggleSelectedItem(selectedItems, removedPill),\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t});\n\n\t\t\t\tupdateState({\n\t\t\t\t\topened: disableAutoClose,\n\t\t\t\t\tactiveItemId: null,\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\n\t\t'NOW_DROPDOWN_LIST#ACTIVE_ITEM_SET'({action, updateState, properties}) {\n\t\t\tconst {nowId} = properties;\n\t\t\tconst componentId = action?.meta?.appended?.componentId;\n\t\t\tif (nowId === componentId) {\n\t\t\t\tupdateState({activeItemId: action.payload.value});\n\t\t\t}\n\t\t},\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the typeahead menu opens and renders the content. Unlike\n\t\t * `NOW_TYPEAHEAD_MULTI#OPENED_SET`, this action only fires after the typeahead\n\t\t * menu is rendered in the DOM. The `content` property is a node list containing the\n\t\t * typeahead's inner `now-dropdown-list` element.\n\t\t * @uib.description Dispatched when the typeahead menu is fully rendered to the DOM.\n\t\t */\n\t\t'NOW_TYPEAHEAD_MULTI#LIST_VISIBLE': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tcontent: {type: 'array'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the typeahead menu has been closed and removed. Unlike\n\t\t * `NOW_TYPEAHEAD_MULTI#OPENED_SET`, this action only fires after the typeahead\n\t\t * menu is fully removed from the DOM.\n\t\t * @type {{}}\n\t\t * @uib.description Dispatched when the typeahead menu is fully removed from the DOM.\n\t\t */\n\t\t'NOW_TYPEAHEAD_MULTI#LIST_HIDDEN': {schema: {type: 'object'}},\n\t\t/**\n\t\t * Dispatched when the field no longer has focus and the user is not interacting\n\t\t * with the items list. This is similar to a native `blur` event, but is\n\t\t * deferred until both the input and the items list no longer have focus.\n\t\t * Payload contains the `name` and the current `value` and `selectedItems`.\n\t\t * @type {{name: string, value: string, selectedItems: string[]}}\n\t\t * @uib.description Dispatched when the field no longer has focus and the user is not interacting with the items list.\n\t\t * @private\n\t\t */\n\t\t'NOW_TYPEAHEAD_MULTI#INTERACTION_FINISHED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tvalue: {type: 'string'},\n\t\t\t\t\tselectedItems: {type: 'array', items: {type: 'string'}},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when interaction with the field is complete and the validity\n\t\t * of the field has changed. Payload contains the `name` of the field and\n\t\t * the current validity of the field (`value` of the invalid property based\n\t\t * on the `required` properties), and the current `fieldValue` inside of\n\t\t * the input.  Set the `manage-invalid` property to override the default\n\t\t * behavior and handle this action manually.\n\t\t * @type {{name: string, value: boolean, fieldValue: string}}\n\t\t * @uib.description Dispatched when interaction with the field is complete and the validity of the field has changed.\n\t\t */\n\t\t'NOW_TYPEAHEAD_MULTI#INVALID_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tvalue: {type: 'boolean'},\n\t\t\t\t\tfieldValue: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when a user selects one or more items. Payload contains an array of IDs of\n\t\t * the currently selected items. Set the `manage-selected-items` property to\n\t\t * override the default behavior and handle this action manually.\n\t\t * @type {{name: string, value: string[]}}\n\t\t * @uib.label Multiple items selected\n\t\t * @uib.description A user selects one or more items.\n\t\t */\n\t\t'NOW_TYPEAHEAD_MULTI#SELECTED_ITEMS_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tvalue: {type: 'array', items: {type: 'string'}},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the value of the input field changes. Payload\n\t\t * contains the `name` and the current `value` in the input.\n\t\t * @type {{name: string, value: string}}\n\t\t * @uib.label Field updated\n\t\t * @uib.description A user changes the input field value.\n\t\t */\n\t\t'NOW_TYPEAHEAD_MULTI#VALUE_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tvalue: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the user presses the Enter key while focus is inside\n\t\t * the typeahead without highlighting an item from the items list. Payload\n\t\t * contains the `name` and current `value` of the input field, which can\n\t\t * optionally be used to create new custom items.\n\t\t * * @type {{name: string, value: string}}\n\t\t */\n\t\t'NOW_TYPEAHEAD_MULTI#ENTER_KEYDOWN': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tname: {type: 'string'},\n\t\t\t\t\tvalue: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tslots: {\n\t\t/**\n\t\t * Slot for field decorators on the inline-start side\n\t\t * of the input field.\n\t\t */\n\t\tstart: {},\n\t\t/**\n\t\t * Slot for field decorators on the inline-end side\n\t\t * of the input field.\n\t\t */\n\t\tend: {},\n\t\t/**\n\t\t * Slot for label end metadata. Located at the end of the label.\n\t\t */\n\t\t'label-end': {},\n\t\t/**\n\t\t * Slot for label, located inline after the label. For the `horizontal` layout, it is placed before the label.\n\t\t */\n\t\t'label-inline': {},\n\t\t/**\n\t\t * Slot for label, located at the start of the label. For the `horizontal` field layout, it is placed after the label.\n\t\t */\n\t\t'label-start': {},\n\t},\n\tbehaviors: [\n\t\tfocusBehavior,\n\t\t{\n\t\t\tbehavior: deferBehavior,\n\t\t\toptions: {\n\t\t\t\tevents: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'mouseenter',\n\t\t\t\t\t\ttrigger: 'now-popover',\n\t\t\t\t\t\ttarget: 'now-dropdown-list',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\ttruncationBehavior,\n\t\ttooltipBehavior,\n\t],\n\tstyles,\n\tview,\n});\n","import './now-typeahead';\nimport './now-typeahead-multi';\n\nimport packageInfo from '../package.json';\nconst {name, version} = packageInfo;\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { t } from 'sn-translate';\n\nimport columnSelectors from '../../../../utils/selectors/columnSelectors';\nimport styles from '../popoverCellEditorContent.scss';\n\nimport { actionHandlers } from './action';\n\nimport '@servicenow/now-typeahead';\n\n/**\n * @type {View<PopoverCellEditorTypeContentProps, {cellEditValue: Pill[]}>}\n * @returns\n */\nexport const view = (state) => {\n\tconst { cellEditValue } = state;\n\tconst column = state?.properties?.actionsContext?.column;\n\t/**\n\t * @type any[]\n\t */\n\tconst pillsChoices = column ? columnSelectors.getPillsChoices(column) : [];\n\n\t// This change is needed as the now-typeahead-multi expects id and label\n\tconst selectedPillItems = cellEditValue.some((pill) => pill.key)\n\t\t? cellEditValue.map(({ key, label }) => ({ id: key, label }))\n\t\t: cellEditValue;\n\n\tconst pillItems = pillsChoices\n\t\t.filter(\n\t\t\t(\n\t\t\t\t/**\n\t\t\t\t * @type Pill\n\t\t\t\t */\n\t\t\t\tpill\n\t\t\t) => pill.canEdit !== false\n\t\t)\n\t\t.map(({ key, label }) => ({ id: key, label }));\n\n\treturn (\n\t\t<div className=\"popover-pills-cell-editor-content-container\">\n\t\t\t<now-typeahead-multi\n\t\t\t\tname=\"cellEditingPills\"\n\t\t\t\tclassName=\"pills-type-cell-editor-content\"\n\t\t\t\tlabel={t('Pills')}\n\t\t\t\titems={pillItems}\n\t\t\t\tselectedItems={selectedPillItems}\n\t\t\t\tsearch=\"contains\"\n\t\t\t\tmanageSelectedItems={true}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\ncreateCustomElement('now-list-pills-cell-editor-content', {\n\tview,\n\tsetInitialState({\n\t\tproperties: {\n\t\t\tactionsContext: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tcell: { value },\n\t\t\t},\n\t\t},\n\t}) {\n\t\treturn {\n\t\t\tcellEditValue: value,\n\t\t};\n\t},\n\tstyles,\n\tproperties: {\n\t\tactionsContext: {},\n\t},\n\t// @ts-ignore\n\tactionHandlers,\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport ColumnSelectors from '../../../../utils/selectors/columnSelectors';\nimport styles from '../popoverCellEditorContent.scss';\n\nimport { actionHandlers } from './action';\n\nimport '@servicenow/now-select';\n\n/**\n * @type {View<PopoverCellEditorTypeContentProps, {cellEditValue: String}>}\n * @returns\n */\nexport const view = (state) => {\n\tconst { cellEditValue, properties } = state;\n\tconst { actionsContext, choices } = properties;\n\tconst column = actionsContext?.column;\n\n\t/**\n\t * @type {Choice[] | ColumnBase[]}\n\t */\n\tconst choiceList = choices\n\t\t? choices\n\t\t: column\n\t\t? ColumnSelectors.getChoices(column) || []\n\t\t: [];\n\n\t// This change is needed as the now-select expects id and label\n\tconst choiceItems = choiceList.some((choice) => choice.key)\n\t\t? choiceList.map(({ key, label }) => ({ id: key, label }))\n\t\t: choiceList;\n\n\treturn (\n\t\t<div className=\"popover-choice-cell-editor-content-container\">\n\t\t\t<now-select\n\t\t\t\tname=\"cellEditingChoice\"\n\t\t\t\tclassName=\"choice-type-cell-editor-content\"\n\t\t\t\tselectedItem={cellEditValue}\n\t\t\t\tmanageSelectedItem={true}\n\t\t\t\titems={choiceItems}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\ncreateCustomElement('now-list-choice-cell-editor-content', {\n\tview,\n\tsetInitialState({\n\t\tproperties: {\n\t\t\tchoices,\n\t\t\tactionsContext: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tcell: { value, metadata },\n\t\t\t},\n\t\t},\n\t}) {\n\t\treturn {\n\t\t\tcellEditValue: choices ? metadata.internalValue : value,\n\t\t};\n\t},\n\tstyles,\n\tproperties: {\n\t\tactionsContext: {},\n\t\tchoices: {},\n\t},\n\t// @ts-ignore\n\tactionHandlers,\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { t } from 'sn-translate';\n\nimport styles from '../popoverCellEditorContent.scss';\n\nimport { actionHandlers } from './action';\nimport '@servicenow/now-input';\n\n/**\n * @type {View<PopoverCellEditorTypeContentProps, {cellEditLabel: String, cellEditValue: String}>}\n * @returns\n */\nexport const view = (state) => {\n\tconst { cellEditLabel, cellEditValue } = state;\n\n\treturn (\n\t\t<div className=\"popover-url-cell-editor-content-container\">\n\t\t\t<now-input\n\t\t\t\ttype=\"text\"\n\t\t\t\tlabel={t('Enter label')}\n\t\t\t\tname=\"cellEditingUrlLabel\"\n\t\t\t\tclassName=\"input-type-cell-editor-content\"\n\t\t\t\tvalue={cellEditLabel}\n\t\t\t\tmanageValue={true}\n\t\t\t/>\n\t\t\t<now-input-url\n\t\t\t\tlabel={t('Enter a URL')}\n\t\t\t\tname=\"cellEditingUrlValue\"\n\t\t\t\tclassName=\"input-type-cell-editor-content\"\n\t\t\t\tvalue={cellEditValue}\n\t\t\t\tmanageValue={true}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\ncreateCustomElement('now-list-url-cell-editor-content', {\n\tview,\n\tsetInitialState({\n\t\tproperties: {\n\t\t\tactionsContext: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tcell: { label, value },\n\t\t\t},\n\t\t},\n\t}) {\n\t\treturn {\n\t\t\tcellEditValue: value,\n\t\t\tcellEditLabel: label,\n\t\t};\n\t},\n\tstyles,\n\tproperties: {\n\t\tactionsContext: {},\n\t},\n\t// @ts-ignore\n\tactionHandlers,\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { t } from 'sn-translate';\n\nimport styles from '../popoverCellEditorContent.scss';\n\nimport { actionHandlers } from './action';\n\nimport '@servicenow/now-input';\n\n/**\n * @type {View<PopoverCellEditorTypeContentProps, {cellEditLabel: String, cellEditValue: String}>}\n * @returns\n */\nexport const view = (state) => {\n\tconst { cellEditLabel, cellEditValue } = state;\n\treturn (\n\t\t<div className=\"popover-link-cell-editor-content-container\">\n\t\t\t<now-input\n\t\t\t\ttype=\"text\"\n\t\t\t\tlabel={t('Enter label')}\n\t\t\t\tname=\"cellEditingLinkLabel\"\n\t\t\t\tclassName=\"input-type-cell-editor-content\"\n\t\t\t\tvalue={cellEditLabel}\n\t\t\t\tmanageValue={true}\n\t\t\t/>\n\t\t\t<now-input\n\t\t\t\ttype=\"text\"\n\t\t\t\tlabel={t('Enter an action to dispatch')}\n\t\t\t\thelperContent={\n\t\t\t\t\t<span>\n\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t'Enter an event naming convention that includes casing and prefixes.'\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t{t('(e.g. COMPONENT_NAME#ACTION_TAKEN)')}\n\t\t\t\t\t</span>\n\t\t\t\t}\n\t\t\t\tname=\"cellEditingLinkValue\"\n\t\t\t\tclassName=\"input-type-cell-editor-content\"\n\t\t\t\tpattern=\"^[A-Z_#]+$\" //Only allows capital letter,_and# symbols\n\t\t\t\tvalue={cellEditValue}\n\t\t\t\tmanageValue={true}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\ncreateCustomElement('now-list-link-cell-editor-content', {\n\tview,\n\tsetInitialState({\n\t\tproperties: {\n\t\t\tactionsContext: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tcell: { label, value },\n\t\t\t},\n\t\t},\n\t}) {\n\t\tconst initialState = {};\n\n\t\tif (value != null) {\n\t\t\tinitialState.cellEditValue = value;\n\t\t}\n\t\tif (label != null) {\n\t\t\tinitialState.cellEditLabel = label;\n\t\t}\n\t\treturn initialState;\n\t},\n\tstyles,\n\tproperties: {\n\t\tactionsContext: {},\n\t},\n\t// @ts-ignore\n\tactionHandlers,\n});\n","import { t } from 'sn-translate';\n\n/** @type {object} */\nexport const COLOR_LIST = [\n\t{ id: 'info', label: t('Info') },\n\t{ id: 'moderate', label: t('Moderate') },\n\t{ id: 'critical', label: t('Critical') },\n\t{ id: 'warning', label: t('Warning') },\n\t{ id: 'positive', label: t('Positive') },\n\t{ id: 'high', label: t('High') },\n\t{ id: 'low', label: t('Low') },\n];\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { t } from 'sn-translate';\n\nimport styles from '../popoverCellEditorContent.scss';\n\nimport { actionHandlers } from './action';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-input';\nimport '@servicenow/now-select';\nimport { COLOR_LIST } from './constants';\n\n/**\n * @type {View<PopoverCellEditorTypeContentProps, {cellEditValue: String, cellEditColor: String}>}\n * @returns\n */\nexport const view = (state) => {\n\tconst { cellEditValue, cellEditColor } = state;\n\n\treturn (\n\t\t<div className=\"popover-icon-cell-editor-content-container\">\n\t\t\t<now-input\n\t\t\t\ttype=\"text\"\n\t\t\t\tlabel={t('Select an icon')}\n\t\t\t\thelperContent={\n\t\t\t\t\t<span>\n\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t'The name of an icon in kebab case (e.g. complete-outline)'\n\t\t\t\t\t\t)}\n\t\t\t\t\t</span>\n\t\t\t\t}\n\t\t\t\tname=\"cellEditingIconValue\"\n\t\t\t\tclassName=\"input-type-cell-editor-content\"\n\t\t\t\tpattern=\"/^[a-z-]+$/\" //Only allows lowercase letters and - symbol\n\t\t\t\tvalue={cellEditValue}\n\t\t\t\tmanageValue={true}\n\t\t\t/>\n\t\t\t<now-select\n\t\t\t\tlabel={t('Select icon color')}\n\t\t\t\tname=\"cellEditingIconColor\"\n\t\t\t\tclassName=\"choice-type-cell-editor-content\"\n\t\t\t\tselectedItem={cellEditColor}\n\t\t\t\tmanageSelectedItem={true}\n\t\t\t\titems={COLOR_LIST}\n\t\t\t/>\n\t\t\t<div>\n\t\t\t\t<span className=\"icon-preview-label-cell-editor-content\">\n\t\t\t\t\t{t('Preview:')}\n\t\t\t\t</span>\n\t\t\t\t<now-icon\n\t\t\t\t\ticon={cellEditValue}\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tclassName={cellEditColor}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\ncreateCustomElement('now-list-icon-cell-editor-content', {\n\tview,\n\tsetInitialState({\n\t\tproperties: {\n\t\t\tactionsContext: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tcell: { color, value },\n\t\t\t},\n\t\t},\n\t}) {\n\t\tconst initialState = {};\n\n\t\tif (value != null) {\n\t\t\tinitialState.cellEditValue = value;\n\t\t}\n\t\tif (color != null) {\n\t\t\tinitialState.cellEditColor = color;\n\t\t}\n\t\treturn initialState;\n\t},\n\tstyles,\n\tproperties: {\n\t\tactionsContext: {},\n\t},\n\t// @ts-ignore\n\tactionHandlers,\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport isEmpty from 'lodash/isEmpty';\nimport { t } from 'sn-translate';\n\nimport columnSelectors from '../../../../utils/selectors/columnSelectors';\nimport {\n\tPERSON_CELL_ICON_SIZE,\n\tPERSON_DISPLAY_TYPE_AVATAR,\n\tPERSON_DISPLAY_TYPE_BOTH,\n} from '../../../table/tableBody/tableRow/rowCell/personCellType/personCellConstants';\nimport styles from '../popoverCellEditorContent.scss';\n\nimport { actionHandlers } from './action';\n\nimport '@servicenow/now-input';\n\n/**\n * @type {View<PopoverCellEditorTypeContentProps, {cellEditValue: String, cellEditPersonKey: String, cellEditPersonUrl: String}>}\n * @returns\n */\nexport const view = (state) => {\n\tconst {\n\t\tproperties,\n\t\tcellEditValue,\n\t\tcellEditPersonKey,\n\t\tcellEditPersonUrl,\n\t} = state;\n\n\tconst column = properties.actionsContext?.column || {};\n\tconst { getDisplay } = columnSelectors;\n\tconst display = getDisplay(column);\n\n\tconst shouldDisplayAvatar =\n\t\t(display === PERSON_DISPLAY_TYPE_AVATAR ||\n\t\t\tdisplay === PERSON_DISPLAY_TYPE_BOTH) &&\n\t\t!isEmpty(cellEditValue);\n\n\treturn (\n\t\t<div className=\"popover-person-cell-editor-content-container\">\n\t\t\t<now-input\n\t\t\t\ttype=\"text\"\n\t\t\t\tlabel={t('Enter name')}\n\t\t\t\tname=\"cellEditingPersonName\"\n\t\t\t\tclassName=\"input-type-cell-editor-content\"\n\t\t\t\tvalue={cellEditValue}\n\t\t\t\tmanageValue={true}\n\t\t\t/>\n\t\t\t<now-input\n\t\t\t\ttype=\"text\"\n\t\t\t\tlabel={t('Enter unique identifier')}\n\t\t\t\thelperContent={\n\t\t\t\t\t<span>\n\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t'A unique identifying string to represent this person. All mentions of a given person should have the same identifier string.'\n\t\t\t\t\t\t)}\n\t\t\t\t\t</span>\n\t\t\t\t}\n\t\t\t\tname=\"cellEditingPersonKey\"\n\t\t\t\tclassName=\"input-type-cell-editor-content\"\n\t\t\t\tvalue={cellEditPersonKey}\n\t\t\t\tmanageValue={true}\n\t\t\t/>\n\t\t\t{shouldDisplayAvatar ? (\n\t\t\t\t<now-input-url\n\t\t\t\t\tlabel={t('Enter a URL of an image')}\n\t\t\t\t\thelperContent={\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t\t\"A link to an image that should be displayed as this person's avatar. If not provided, the avatar will display initials instead of an image.\"\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\t\t\t\t\tname=\"cellEditingPersonImageUrl\"\n\t\t\t\t\tclassName=\"input-type-cell-editor-content\"\n\t\t\t\t\tvalue={cellEditPersonUrl}\n\t\t\t\t\tmanageValue={true}\n\t\t\t\t/>\n\t\t\t) : null}\n\n\t\t\t<div>\n\t\t\t\t<span className=\"person-preview-label-cell-editor-content\">\n\t\t\t\t\t{t('Preview:')}\n\t\t\t\t</span>\n\n\t\t\t\t{shouldDisplayAvatar ? (\n\t\t\t\t\t<now-avatar\n\t\t\t\t\t\tclassName=\"person-cell-avatar\"\n\t\t\t\t\t\tsize={PERSON_CELL_ICON_SIZE}\n\t\t\t\t\t\tuserName={cellEditValue}\n\t\t\t\t\t\timageSrc={cellEditPersonUrl}\n\t\t\t\t\t\tkey={cellEditPersonKey}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\n\t\t\t\t<span\n\t\t\t\t\tclassName=\"popover-cell-editor-person-preview-name\"\n\t\t\t\t\tdata-truncation\n\t\t\t\t>\n\t\t\t\t\t{cellEditValue}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\ncreateCustomElement('now-list-person-cell-editor-content', {\n\tview,\n\tsetInitialState({\n\t\tproperties: {\n\t\t\tactionsContext: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tcell: { value, personKey, imageSrc },\n\t\t\t},\n\t\t},\n\t}) {\n\t\tconst initialState = {};\n\n\t\tif (value != null) {\n\t\t\tinitialState.cellEditValue = value;\n\t\t}\n\n\t\tif (personKey != null) {\n\t\t\tinitialState.cellEditPersonKey = personKey;\n\t\t}\n\n\t\tif (imageSrc != null) {\n\t\t\tinitialState.cellEditPersonUrl = imageSrc;\n\t\t}\n\n\t\treturn initialState;\n\t},\n\tstyles,\n\tproperties: {\n\t\tactionsContext: {},\n\t},\n\t// @ts-ignore\n\tactionHandlers,\n});\n","export const tinymce = require('./js/tinymce/tinymce.full.js');\nrequire('./js/tinymce/plugins/powerpaste/plugin.full.js');","/**\n * Additional props that are passed down to Seismic components\n * via the core framework. Most consumers of form controls shouldn't\n * really worry about these.\n *\n * @see [Seismic Docs](https://artifact.devsnc.com/content/sites/snc-doc-site/sn-component-docs/latest/)\n */\nexport const seismicComponentprops = {\n\t/**\n\t * Seismic dispatcher\n\t * @type {function}\n\t */\n\tdispatch: { schema: { type: 'function' } },\n\t/**\n\t * Unique identifier for the component\n\t * @type {string}\n\t * */\n\tcomponentId: { schema: { type: 'string' }, required: true, default: 'id' },\n\t/**\n\t * Data returned by one of the Seismic resource handlers\n\t * @type {object}\n\t * */\n\tresources: { schema: { type: 'object' } },\n\t/**\n\t * Asynchronous Message Bus (AMB) API\n\t * @type {object}\n\t */\n\tchannels: { schema: { type: 'object' } }\n};\n","export const fieldLayoutSchema = {\n\ttype: 'object',\n\tproperties: {\n\t\tlayout: {\n\t\t\tdefault: 'vertical',\n\t\t\tschema: { type: 'string', enum: ['vertical', 'horizontal'] }\n\t\t},\n\t\tcolumns: { default: [], schema: { type: 'array' } }\n\t}\n};\n\nexport const decorationsSchema = {\n\ttype: 'array',\n\tproperties: {\n\t\ticon: {\n\t\t\tdefault: '',\n\t\t\ttype: 'string'\n\t\t},\n\t\ttext: {\n\t\t\tdefault: '',\n\t\t\ttype: 'string'\n\t\t}\n\t}\n};\n","import { fieldLayoutSchema } from \"../schemas\";\n\n/**\n * Basic props that are common to seismic components in our repo\n */\nconst seismicProps = {\n\t/**\n\t * Array of message objects that must contain type and message itself.\n\t *\n\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t */\n\tmessages: {},\n\n\t/**\n\t * formData object containing glide form data\n\t *\n\t * @type {object}\n\t */\n\tformData: {},\n\n\t/**\n\t * Name of the field\n\t *\n\t * @type {string}\n\t */\n\tfieldName: { schema: { type: 'string' } },\n\n\t/**\n\t * Name of table this field is on\n\t * @type {string}\n\t */\n\ttableName: { schema: { type: 'string' } },\n\n\t/**\n\t * sys_id of the current record where the field is located\n\t *\n\t * @type {string}\n\t */\n\trecordSysId: { schema: { type: 'string' } },\n\n\t/**\n\t * The field name\n\t * @type {string}\n\t */\n\tname: { schema: { type: 'string' } },\n\n\t/**\n\t * Content to display when there is no suitable display value.\n\t * @type {string}\n\t */\n\tplaceholder: { schema: { type: 'string' } },\n\n\t/**\n\t * Name for the component.\n\t * @type {string}\n\t */\n\tlabel: { schema: { type: 'string' } },\n\n\t/**\n\t * Value for current omponent.\n\t * @type {string}\n\t */\n\tvalue: { schema: { type: 'string' } },\n\n\t/**\n\t * Callback used when the value has changed. Very similar to an `onChange`\n\t * event, but this may also fire when the component formats its value\n\t * onBlur.\n\t *\n\t * @param {object} event - The event payload\n\t * @param {string} event.name - The name of the component that triggered the event\n\t * @param {any}    event.value - The new value for the component\n\t * @param {string} event.displayValue - The human-readable represenation of the value\n\t *\n\t * @param {object} event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t * @param {string} event.error.type - Error type\n\t * @param {string} event.error.message - Description of why the value is invalid\n\t * @type {function}\n\t */\n\tonValueChange: {},\n\n\t/**\n\t * Callback used when an intermediate value has changed.\n\t * @type {function}\n\t */\n\tonStagedValueChange: {},\n\n\t/**\n\t * Additional content describing the field, usually to provide further\n\t * instruction to the user.\n\t * @type {string}\n\t */\n\tdescription: { schema: { type: 'string' }, default: '' },\n\n\t/**\n\t * Whether or not the user must fill in a value for this component.\n\t * Can be specified as a boolean or the string \"true\"\n\t * @type {string | boolean}\n\t */\n\trequired: { default: false },\n\n\t/**\n\t * Specifies that the user cannot modify the value of the component.\n\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t * @type {string | boolean}\n\t */\n\treadonly: { default: false },\n\n\t/**\n\t * Specifies that the field should be rendered right-to-left.\n\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t * boolean true.\n\t * @type {string | boolean}\n\t */\n\treversed: { default: false },\n\n\t/**\n\t * Specifies whether the current value is not valid.\n\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t * boolean true.\n\t * @type {string | boolean}\n\t */\n\tinvalid: { default: false },\n\n\t/**\n\t * Causes the component to receive focus as soon as it has finished\n\t * mounting.\n\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t * boolean true.\n\t * @type {string | boolean}\n\t */\n\tautofocus: { default: false },\n\n\t/**\n\t * Unique name for a shadowDom slot\n\t * @type {string}\n\t */\n\tslot: { schema: { type: 'string' } },\n\n\t/**\n\t * Accessible label for the component. Only needed when the `label` prop is not\n\t * descriptive enough on its own.\n\t * @type {string}\n\t */\n\t'aria-label': { schema: { type: 'string' } },\n\n\t/**\n\t * Which element (by ID) acts as a label for the component\n\t * @type {string}\n\t */\n\t'aria-labelledby': { schema: { type: 'string' } },\n\n\t/**\n\t * Which element (by ID) provides more description for the component\n\t * @type {string}\n\t */\n\t'aria-describedby': { schema: { type: 'string' } },\n\n\t/**\n\t * aria-* attribute configuration\n\t * @type {object}\n\t */\n\tconfigAria: {},\n\n\t/**\n\t * Configuration for the field layout.\n\t *\n\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t *\n\t * Object options:\n\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t *\n\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t * @uib.label Field Layout Configuration\n\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t * @uib.fieldType json\n\t */\n\tfieldLayout: {\n\t\tdefault: {layout: 'vertical'},\n\t\tschema: fieldLayoutSchema\n\t},\n\n\tfieldType: { schema: { type: 'string' } },\n\n\t/**\n\t * If set, an iconic button with a popover appears next to the field\n\t * label to display additional hint text to the user, such as\n\t * password requirements or other instructions for completing the field.\n\t * @type {(string|JSX)}\n\t */\n\thelperContent: { schema: { type: 'string' } }\n};\n\nexport default seismicProps;\n","/**\n * Additional props that are passed down to Seismic components\n * via the core framework. Most consumers of form controls shouldn't\n * really worry about these.\n *\n * @see [Seismic Docs](https://artifact.devsnc.com/content/sites/snc-doc-site/sn-component-docs/latest/)\n */\nexport const SeismicControlledFieldProps = {\n\t/**\n\t * onChange event callback\n\t * @type {function}\n\t */\n\tonChange: { schema: { type: 'function' } },\n\n\t/**\n\t * onSelect event callback\n\t * @type {function}\n\t */\n\tonSelect: { schema: { type: 'function' } },\n\t/**\n\t * onClick event callback\n\t * @type {function}\n\t */\n\tonClick: { schema: { type: 'function' } },\n\n\t/**\n\t * onMouseEnter event callback\n\t * @type {function}\n\t */\n\tonMouseEnter: { schema: { type: 'function' } },\n\n\t/**\n\t * onMouseLeave event callback\n\t * @type {function}\n\t */\n\tonMouseLeave: { schema: { type: 'function' } },\n\n\t/**\n\t * onFocus event callback\n\t * @type {function}\n\t */\n\tonFocus: { schema: { type: 'function' } },\n\n\t/**\n\t * onBlur event callback\n\t * @type {function}\n\t */\n\tonBlur: { schema: { type: 'function' } },\n\n\t/**\n\t * onKeyDown event callback\n\t * @type {function}\n\t */\n\tonKeyDown: { schema: { type: 'function' } },\n\n\t/**\n\t * onKeyUp event callback\n\t * @type {function}\n\t */\n\tonKeyUp: { schema: { type: 'function' } },\n\n\t/**\n\t * onKeyPress event callback\n\t * @type {function}\n\t */\n\tonKeyPress: { schema: { type: 'function' } }\n};\n","import { seismicComponentprops } from './SeismicComponent';\nimport SeismicComponentBase from './SeismicComponentBase';\n\nexport { SeismicControlledFieldProps } from './SeismicControlledFieldProps';\nexport const SeismicComponentProps = seismicComponentprops;\nexport const SeismicComponentFieldPropDefaults = SeismicComponentBase;\n","import _ from 'lodash';\nexport function escapeSeismicSpecialSymbols(s) {\n\treturn _.startsWith(s, '@') ? `\\\\${s}` : s;\n}\n","import {\n\tcamelCase,\n\tmap,\n\tmapValues,\n\trange,\n\tisObject,\n\tisEmpty,\n\tfind,\n\tpickBy,\n\tidentity,\n\tomit,\n\tget\n} from 'lodash';\nimport classNames from 'classnames';\nimport { t } from 'sn-translate';\nimport { getEmbeddableBaseUrl } from '@servicenow/ui-config';\n\nexport function getFieldDisplayValue(\n\tvalue,\n\tdisplayValue,\n\tplaceholder,\n\tchoices\n) {\n\tif (displayValue) {\n\t\treturn displayValue;\n\t} else if (value && choices) {\n\t\tlet choice = find(choices, { value });\n\t\tif (choice && choice.displayValue) return choice.displayValue;\n\t} else if (!value && placeholder) {\n\t\treturn placeholder;\n\t}\n\n\treturn value || '';\n}\n\nexport function isAttrTrue(val) {\n\treturn val === true || val === 'true';\n}\n\nexport function isAttrFalse(val) {\n\treturn val === false || val === 'false';\n}\n\nexport function castIfBoolean(val) {\n\treturn val === 'true' ? true : val === 'false' ? false : val;\n}\n\nexport function isEditable(props) {\n\tif (!isObject(props)) {\n\t\treturn true;\n\t}\n\n\treturn !isAttrTrue(props.readonly);\n}\n\nexport function getSerializedChanges(props) {\n\tconst { dependentField, dependentValue } = props;\n\tconst serializedChanges = get(props, 'formData.serializedChanges');\n\ttry {\n\t\tconst changedFields = JSON.parse(serializedChanges);\n\t\tlet changes = changedFields.reduce((changes, field) => {\n\t\t\tchanges[field.name] = field.value;\n\t\t\treturn changes;\n\t\t}, {});\n\t\tif (dependentField && dependentValue) {\n\t\t\t//Dont overwrite formData, it should take precedence over d-Field & d-Value\n\t\t\tchanges[dependentField] = changes[dependentField]\n\t\t\t\t? changes[dependentField]\n\t\t\t\t: dependentValue;\n\t\t}\n\t\treturn JSON.stringify(changes);\n\t} catch (e) {\n\t\treturn '';\n\t}\n}\n\nexport function getEncodedRecord(formData = {}) {\n\treturn formData.isNewRecord ? formData.encodedRecord : '';\n}\n\nexport function isClassicForm(formData = {}) {\n\tif (!Object.prototype.hasOwnProperty.call(formData, 'classicForm'))\n\t\treturn true;\n\treturn formData.classicForm || false;\n}\n\nexport function generateSubComponentIds(baseId, additionalFields) {\n\treturn {\n\t\tparent: baseId,\n\t\tlabel: `${baseId}-label`,\n\t\tdescription: `${baseId}-description`,\n\t\tdropdown: `${baseId}-dropdown`,\n\t\tmessages: `${baseId}-messages`,\n\t\t...mapValues(additionalFields, (size, fieldName) =>\n\t\t\tmap(range(0, size), index => `${baseId}-${fieldName}-${index}`)\n\t\t)\n\t};\n}\n\nexport function hasProp(prop) {\n\treturn isAttrTrue(prop) ? true : undefined;\n}\n\nconst getAriaAttr = props => attr => {\n\tconst camelCased = camelCase(attr);\n\n\tconst { configAria = {} } = props;\n\n\treturn configAria[attr] || props[camelCased];\n};\n\nexport function accessibilityAttributes(props) {\n\tif (!isObject(props)) {\n\t\treturn {};\n\t}\n\n\tconst ids = generateSubComponentIds(props.componentId);\n\tconst defaultDescribedby = classNames({\n\t\t[ids.description]: props.description,\n\t\t[ids.messages]: !isEmpty(props.messages)\n\t});\n\n\tconst resolveAriaAttr = getAriaAttr(props);\n\n\tconst propAriaLabel = resolveAriaAttr('aria-label');\n\tconst propAriaLabelledby = resolveAriaAttr('aria-labelledby');\n\tconst propAriaDescribedby = resolveAriaAttr('aria-describedby');\n\tconst propAriaDisabled = resolveAriaAttr('aria-disabled');\n\tconst propAriaHidden = resolveAriaAttr('aria-hidden');\n\tconst propAriaRequired = resolveAriaAttr('aria-required');\n\tconst propAriaInvalid = resolveAriaAttr('aria-invalid');\n\n\tconst restOfAriaProps = mapValues(\n\t\tomit(props.configAria, ['aria-label', 'aria-labelledby', 'aria-label']),\n\t\t(v, k) => resolveAriaAttr(k)\n\t);\n\n\treturn pickBy(\n\t\t{\n\t\t\t'aria-labelledby': propAriaLabel ? null : propAriaLabelledby,\n\t\t\t'aria-describedby': propAriaDescribedby || defaultDescribedby,\n\t\t\t'aria-label': propAriaLabel,\n\t\t\t'aria-disabled':\n\t\t\t\tpropAriaDisabled || isAttrTrue(props.disabled) ? 'true' : null,\n\t\t\t'aria-hidden': propAriaHidden || isAttrTrue(props.hide) ? 'true' : null,\n\t\t\t'aria-required':\n\t\t\t\tpropAriaRequired || isAttrTrue(props.required) ? 'true' : null,\n\t\t\t'aria-invalid':\n\t\t\t\tpropAriaInvalid || isAttrTrue(props.invalid) ? 'true' : null,\n\t\t\t...restOfAriaProps\n\t\t},\n\t\tidentity\n\t);\n}\n\nexport function isFieldEditableAndDependentFieldValueSet(\n\treadonly,\n\tdependentFieldValue,\n\tdependentFieldLabel\n) {\n\treturn (\n\t\t!isAttrTrue(readonly) &&\n\t\tisEmpty(dependentFieldValue) &&\n\t\t!isEmpty(dependentFieldLabel)\n\t);\n}\n\nexport function getBaseURL() {\n\treturn getEmbeddableBaseUrl() || '';\n}\n\nexport function getAriaLabelFromConfig(\n\tconfigAria,\n\tlabelTemplate,\n\t...additionalTemplateValues\n) {\n\treturn configAria?.['aria-label']\n\t\t? {\n\t\t\t\t'aria-label': t.apply(null, [\n\t\t\t\t\tlabelTemplate,\n\t\t\t\t\tconfigAria['aria-label'],\n\t\t\t\t\t...additionalTemplateValues\n\t\t\t\t])\n\t\t  }\n\t\t: {};\n}\n","import { escapeSeismicSpecialSymbols } from './escapeSeismicSpecialSymbols';\nimport { getSerializedChanges, getEncodedRecord } from './field';\n\nexport const getDeclarativeActionsProps = (daProps, controlProps = {}) => {\n\tlet props = daProps;\n\tif (controlProps && props) {\n\t\tObject.assign(props, controlProps);\n\t}\n\tif (!props) return {};\n\n\tconst displayValue = props.displayValue || '';\n\n\tconst daOnlyProps = {\n\t\tcanWrite: props.canWrite,\n\t\tdeclarativeUiActions: props.declarativeUiActions,\n\t\tdependentField: props.dependentField,\n\t\tdependentTable: props.dependentTable,\n\t\tdependentValue: props.dependentFieldValue || props.dependentValue,\n\t\tdictionary: props.dictionary,\n\t\tdisplayValue: escapeSeismicSpecialSymbols(displayValue.toString()),\n\t\tdisplayValueList: Array.isArray(displayValue) ? displayValue : null,\n\t\tfetchDeclarativeActions: props.fetchDeclarativeActions,\n\t\tfieldName: props.name,\n\t\tfieldType: props.fieldType,\n\t\tfields: props.fields,\n\t\thidden: props.hidden,\n\t\tlabel: props.label,\n\t\tname: props.name,\n\t\tonValueChange: props.onValueChange,\n\t\treadonly: props.readonly,\n\t\treference: props.reference,\n\t\treferenceKey: props.referenceKey,\n\t\treferenceSysId: props.referenceSysId || props.value,\n\t\treferenceTable: props.reference || props.referenceTable,\n\t\treferringRecordId: props.referringRecordId,\n\t\treferringTable: props.referringTable,\n\t\trequired: props.required,\n\t\ttableName: props.referringTable || props.tableName,\n\t\tvalue: props.value,\n\t\tvisible: props.visible,\n\t\treferenceQualifier: props.referenceQualifier,\n\t\trecordSysId: controlProps?.formData?.isNewRecord\n\t\t\t? '-1'\n\t\t\t: props.referringRecordId || props.recordSysId,\n\t\tserializedChanges: getSerializedChanges(props),\n\t\tencodedRecord: getEncodedRecord(controlProps.formData),\n\t\tignoreDepAsRefQual: daProps?.ignoreDepAsRefQual || false,\n\t\tignoreReferenceQualifier: daProps?.ignoreReferenceQualifier || false\n\t};\n\n\treturn daOnlyProps;\n};\n","import { isEmpty, isFunction, some } from 'lodash';\nimport { getFocusableNodes } from '@servicenow/behavior-focus';\n\n/**\n * Returns the first ancestor of the element that has the given class name\n */\nexport function findAncestor(el, className) {\n\tif (!(el instanceof HTMLElement)) {\n\t\treturn null;\n\t}\n\n\tif (!el.classList.contains(className)) {\n\t\twhile ((el = el.parentElement) && !el.classList.contains(className));\n\t}\n\treturn el;\n}\n\n/**\n * Check whether a node was part of an event path\n * @returns {boolean} true if the event path includes the node\n */\nexport function isNodeInEventPath(node, event) {\n\tif (Array.isArray(node))\n\t\treturn some(node, el => isNodeInEventPath(el, event));\n\treturn (\n\t\tnode instanceof HTMLElement &&\n\t\tevent instanceof Event &&\n\t\tevent.composedPath().includes(node)\n\t);\n}\n\n/**\n * Check whether a node contains an element with focus. ShadowDOM\n * makes this a little tricky...\n */\nexport function nodeContainsFocus(container, target = document) {\n\tif (Array.isArray(container)) {\n\t\treturn some(container, el => nodeContainsFocus(el, target));\n\t}\n\n\tif (!(container instanceof HTMLElement) || !target) {\n\t\treturn false;\n\t}\n\n\tconst activeElement = target.activeElement;\n\n\tif (container.contains(activeElement)) {\n\t\treturn true;\n\t}\n\n\tif (activeElement.shadowRoot) {\n\t\treturn nodeContainsFocus(container, activeElement.shadowRoot);\n\t}\n}\n\nexport const isSlotEmpty = slot => {\n\tconst hasNoDirectChildren = slot.childElementCount === 0;\n\n\treturn isFunction(slot.assignedNodes)\n\t\t? isEmpty(slot.assignedNodes()) && hasNoDirectChildren\n\t\t: hasNoDirectChildren;\n};\n\nexport function getScrollParent(node) {\n\tconst isElement = node instanceof HTMLElement;\n\tconst overflowY = isElement && window.getComputedStyle(node).overflowY;\n\tconst isScrollable = overflowY !== 'visible' && overflowY !== 'hidden';\n\n\tif (!node) {\n\t\treturn null;\n\t} else if (isScrollable && node.scrollHeight >= node.clientHeight) {\n\t\treturn node;\n\t}\n\n\treturn getScrollParent(node.host || node.parentNode);\n}\n\nexport function fitDropdownToViewport(dropdown, target) {\n\tif (!(dropdown instanceof HTMLElement)) {\n\t\treturn;\n\t}\n\n\tlet parentHeight = document.documentElement.clientHeight;\n\n\t// In IE/Edge, the container height is the entire page height.\n\t// So defer it until it gets its real height\n\treturn new Promise(resolve => {\n\t\tsetTimeout(() => {\n\t\t\tlet { height } = dropdown.getBoundingClientRect();\n\t\t\t// Sometimes we use graphql requests and that changes the height of the\n\t\t\t// dropdown this is to attempt to account for the size chagne\n\t\t\tconst MAX_DROPDOWN_HEIGHT = Math.min(height, 300);\n\t\t\tlet {\n\t\t\t\twidth: targetWidth,\n\t\t\t\ttop: targetTop,\n\t\t\t\tbottom: targetBottom,\n\t\t\t\tleft: targetLeft\n\t\t\t} = target.getBoundingClientRect();\n\n\t\t\t// Is bottom of the dropdown below the fold + can the dropdown fit above?\n\t\t\t// Move to be above the input field.\n\t\t\tconst hasSpaceBelow = targetBottom + MAX_DROPDOWN_HEIGHT < parentHeight;\n\t\t\tconst hasSpaceAbove = targetTop - MAX_DROPDOWN_HEIGHT > 0;\n\t\t\t//render above\n\t\t\tif (!hasSpaceBelow && hasSpaceAbove) {\n\t\t\t\t// Since height of the dropdown may change as results load,\n\t\t\t\t// set the bottom of the dropdown to ensure it loads above the input field\n\t\t\t\tdropdown.style.bottom = `${parentHeight - targetTop}px`;\n\t\t\t} else {\n\t\t\t\tdropdown.style.top = `${targetBottom}px`;\n\t\t\t}\n\n\t\t\tdropdown.style.width = `${targetWidth}px`;\n\t\t\tdropdown.style.left = `${targetLeft}px`;\n\n\t\t\tresolve();\n\t\t});\n\t});\n}\n\n// Workaround for PRB1343271 for mentions dropdown\nexport function fitDropdownToViewportOld(dropdown) {\n\tif (!(dropdown instanceof HTMLElement)) {\n\t\treturn;\n\t}\n\n\t// Check if the element is in a scrollable container, otherwise use body\n\tconst scrollParent = getScrollParent(dropdown);\n\tlet parentHeight = document.documentElement.clientHeight;\n\tif (scrollParent) parentHeight = scrollParent.getBoundingClientRect().height;\n\n\t// In IE/Edge, the container height is the entire page height.\n\t// So defer it until it gets its real height\n\treturn new Promise(resolve => {\n\t\tsetTimeout(() => {\n\t\t\tlet { height, top } = dropdown.getBoundingClientRect();\n\t\t\tif (scrollParent) top = top - scrollParent.getBoundingClientRect().top;\n\n\t\t\t// Is bottom of the dropdown below the fold + can the dropdown fit above?\n\t\t\t// Move to be above the input field.\n\t\t\tif (height > parentHeight - top && top > height) {\n\t\t\t\tdropdown.style.top = 'auto';\n\t\t\t\tdropdown.style.bottom = '100%';\n\t\t\t}\n\n\t\t\tresolve();\n\t\t});\n\t});\n}\n\n/**\n * Can be used to determine the direction of the browser window\n * and then for components rendering direction\n * @returns {boolean}\n */\nexport function isRTL() {\n\treturn document.dir === 'rtl';\n}\n\n/**\n * Checks whether a node contains an element with selector inside a Shadow Dom\n * and then returns the element\n * @returns {HTMLElement}\n */\nexport const querySelectorDeep = (selector, rootEl = window.document.body) => {\n\tif (rootEl.matches && rootEl.matches(selector)) return rootEl;\n\n\tconst children = rootEl.children;\n\n\tif (children) {\n\t\tfor (let i = 0; i < children.length; i++) {\n\t\t\tif (children[i].matches && children[i].matches(selector))\n\t\t\t\treturn children[i];\n\n\t\t\tconst child = querySelectorDeep(selector, children[i]);\n\t\t\tif (child) return child;\n\t\t}\n\t}\n\n\tif (rootEl.shadowRoot)\n\t\treturn querySelectorDeep(selector, rootEl.shadowRoot);\n\n\treturn null;\n};\n\n/**\n * Focuses on the field when multiple focussable elements are present in the host\n */\nexport const fieldFocusHandler = (tagName = 'INPUT') => host => {\n\tconst { tabbableNodes=[] } = getFocusableNodes(host);\n\tconst nativeInputNode = tabbableNodes.filter(node => node.tagName === tagName);\n\tif (nativeInputNode.length) {\n\t\tnativeInputNode[0].focus();\n\t}\n};\n","/*\nMostly a copy from `dev/emotive-design-system` repo\nemotive-design-system/ui/dropdown/src/outside-scroll.js we should come\nup with a way to share.\n*/\nconst hostToScrollData = new WeakMap();\n\n/**\n * Cleans up all scroll listeners created for the given host element.\n * @param {HTMLElement} host\n */\nexport const removeOutsideScrollListener = host => {\n\tif (hostToScrollData.has(host)) {\n\t\tconst { listener, targets } = hostToScrollData.get(host);\n\t\tfor (let target of targets) {\n\t\t\ttarget.shadowRoot.removeEventListener('scroll', listener, true);\n\t\t}\n\t\twindow.removeEventListener('scroll', listener, true);\n\t\thostToScrollData.delete(host);\n\t}\n};\n\n\n/**\n * Attaches a listener to the window, then fires a fake event from the given element\n * to identify all ancestor elements in the element's DOM tree. More efficient than\n * climbing the tree recursively.\n * @param {HTMLElement} element\n * @param {string} uuid\n */\nconst findAncestors = (element, uuid) =>\n\tnew Promise(resolve => {\n\t\tconst eventName = `findAncestors-${uuid}`;\n\t\tconst findListener = e => {\n\t\t\twindow.removeEventListener(eventName, findListener);\n\t\t\tconst path = e.composedPath ? e.composedPath() : e.path;\n\t\t\tresolve([\n\t\t\t\t...path.filter(n => n !== element && n.nodeType === Node.ELEMENT_NODE),\n\t\t\t\tdocument,\n\t\t\t\twindow\n\t\t\t]);\n\t\t};\n\t\twindow.addEventListener(eventName, findListener);\n\t\tconst event = new CustomEvent(eventName, {\n\t\t\tbubbles: true,\n\t\t\tcomposed: true,\n\t\t\tcancelable: false\n\t\t});\n\t\telement.dispatchEvent(event);\n\t});\n\n/**\n * Attaches scroll listeners to the document, the window, and all ancestor elements\n * of the given host element that have shadow roots (because scroll events do not automatically\n * bubble through shadow boundaries). When any of the scroll listeners are fired, triggers\n * the callback function.\n * @param {HTMLElement} host\n * @param {string} componentId\n * @param {function} callback\n */\nexport const addOutsideScrollListener = async (host, callback) => {\n\tconst componentId = host.getAttribute('component-id');\n\tconst ancestors = await findAncestors(host, componentId);\n\tconst targets = ancestors.filter(el => !!el.shadowRoot);\n\tlet handled = false;\n\tconst listener = e => {\n\t\tif (handled) {\n\t\t\treturn;\n\t\t}\n\t\tconst [source] = e.composedPath ? e.composedPath() : e.path;\n\t\tif (ancestors.indexOf(source) > -1) {\n\t\t\thandled = true;\n\t\t\tremoveOutsideScrollListener(host);\n\t\t\tif (callback && typeof callback === 'function') {\n\t\t\t\tcallback(e);\n\t\t\t}\n\t\t}\n\t};\n\tfor (let target of targets) {\n\t\ttarget.shadowRoot.addEventListener('scroll', listener, true);\n\t}\n\twindow.addEventListener('scroll', listener, true);\n\thostToScrollData.set(host, { listener, targets });\n};","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @providesModule shallowEqual\n * @typechecks\n * @flow\n */\n\n/*eslint-disable no-self-compare */\n\n'use strict';\n\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/**\n * inlined Object.is polyfill to avoid requiring analyticsconsumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nexport function is(x, y) {\n\t// SameValue algorithm\n\tif (x === y) {\n\t\t// Steps 1-5, 7-10\n\t\t// Steps 6.b-6.e: +0 != -0\n\t\t// Added the nonzero y check to make Flow happy, but it is redundant\n\t\treturn x !== 0 || y !== 0 || 1 / x === 1 / y;\n\t} else {\n\t\t// Step 6.a: NaN == NaN\n\t\treturn x !== x && y !== y;\n\t}\n}\n\n/**\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n * Returns true when the values of all keys are strictly equal.\n */\nexport function shallowEqual(objA, objB) {\n\tif (is(objA, objB)) {\n\t\treturn true;\n\t}\n\n\tif (\n\t\ttypeof objA !== 'object' ||\n\t\tobjA === null ||\n\t\ttypeof objB !== 'object' ||\n\t\tobjB === null\n\t) {\n\t\treturn false;\n\t}\n\n\tconst keysA = Object.keys(objA);\n\tconst keysB = Object.keys(objB);\n\n\tif (keysA.length !== keysB.length) {\n\t\treturn false;\n\t}\n\n\t// Test for A's keys different from B.\n\tfor (let i = 0; i < keysA.length; i++) {\n\t\tif (\n\t\t\t!hasOwnProperty.call(objB, keysA[i]) ||\n\t\t\t!is(objA[keysA[i]], objB[keysA[i]])\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n","import { t } from 'sn-translate';\n\nexport const FIELD_MESSAGE_TYPES = [\n\t'error',\n\t'warning',\n\t'success',\n\t'liveUpdate',\n\t'info',\n\t'suggestion',\n\t'positive',\n\t'critical'\n];\nexport const CALLBACK_AND_DISPATCH = 'CONTROLS_INTERNAL#CALLBACK_AND_DISPATCH';\nexport const CALLBACK_AND_DISPATCH_WITH_STATE =\n\t'CONTROLS_INTERNAL#CALLBACK_AND_DISPATCH_WITH_STATE';\nexport const NOW_INPUT = {\n\tVALUE_SET: 'NOW_INPUT#VALUE_SET',\n\tINVALID_SET: 'NOW_INPUT#INVALID_SET',\n\tINPUT: 'NOW_INPUT#INPUT'\n};\n\nexport const NOW_BUTTON_ICONIC_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\nexport const NOW_POPOVER_OPENED_SET = 'NOW_POPOVER#OPENED_SET';\n\nexport const TRACK_RECOMMENDATION_CLICK =\n\t'Selected option from Recommendations section';\n\nexport const FIELD_RECOMMENDATION_INFORMATION =\n\t'Field Recommendation information';\nexport const NO_PREDICTIONS_AVAILABLE = t('No predictions available');\n\nexport const SUGGESTION_PREFIX = 'suggestion#';\n","import { isEmpty, reduce, isArray } from 'lodash';\nimport { FIELD_MESSAGE_TYPES } from '../constants';\nimport { t } from 'sn-translate';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nconst getMessages = (type, messages) =>\n\tmessages.map(message => {\n\t\tlet status, icon;\n\t\tswitch (type) {\n\t\t\tcase 'info':\n\t\t\tcase 'success':\n\t\t\t\tstatus = 'info';\n\t\t\t\ticon = 'info-circle-outline';\n\t\t\t\tbreak;\n\t\t\tcase 'error':\n\t\t\tcase 'critical':\n\t\t\t\tstatus = 'critical';\n\t\t\t\ticon = 'circle-exclamation-outline';\n\t\t\t\tbreak;\n\t\t\tcase 'warning':\n\t\t\t\tstatus = 'warning';\n\t\t\t\ticon = 'exclamation-triangle-outline';\n\t\t\t\tbreak;\n\t\t\tcase 'liveUpdate':\n\t\t\t\tstatus = 'info';\n\t\t\t\ticon = 'heartbeat-outline';\n\t\t\t\tbreak;\n\t\t\tcase 'positive':\n\t\t\t\tstatus = 'positive';\n\t\t\t\ticon = 'circle-check-outline';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tstatus = 'suggestion';\n\t\t\t\ticon = 'lightbulb-outline';\n\t\t\t\tbreak;\n\t\t}\n\t\treturn {\n\t\t\tstatus,\n\t\t\ticon,\n\t\t\tcontent: message\n\t\t};\n\t});\n\nconst getLiveUpdateMessage = liveUpdate => {\n\tlet message;\n\tif (liveUpdate.isUserModified) {\n\t\tlet newValue = liveUpdate.newValue;\n\t\tif (newValue) {\n\t\t\tnewValue = (\n\t\t\t\t<strong>\n\t\t\t\t\t<i>{newValue}</i>\n\t\t\t\t</strong>\n\t\t\t);\n\t\t\t// Show the value that changed\n\t\t\tmessage = t('{{name}} has set this field to {{value}}')\n\t\t\t\t.replace('{name}', liveUpdate.userName)\n\t\t\t\t.replace('{value}', ''); // Use the cached message containing value but remove the token so we can append html.\n\t\t\tmessage = (\n\t\t\t\t<Fragment>\n\t\t\t\t\t{/* `message` already has a trailing space, don't need another one here */}\n\t\t\t\t\t{message}\n\t\t\t\t\t{newValue}\n\t\t\t\t</Fragment>\n\t\t\t);\n\t\t} else {\n\t\t\t// Say the value was cleared\n\t\t\tmessage = t('{{name}} has cleared the value of this field').replace(\n\t\t\t\t'{name}',\n\t\t\t\tliveUpdate.userName\n\t\t\t);\n\t\t}\n\t} else {\n\t\tmessage = t('{{name}} has modified this field value').replace(\n\t\t\t'{name}',\n\t\t\tliveUpdate.userName\n\t\t);\n\t}\n\treturn message;\n};\n\nconst parsedFieldMessages = function (messages) {\n\treturn messages.reduce((result, { type, message }) => {\n\t\tmessage = message.getMessage ? getLiveUpdateMessage(message) : message;\n\n\t\tif (!isEmpty(type) && !isEmpty(message)) {\n\t\t\tif (isArray(result[type])) {\n\t\t\t\tresult[type].push(message);\n\t\t\t} else {\n\t\t\t\tresult[type] = [message];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}, {});\n};\n\nexport const transformMessages = messages => {\n\tif (!messages || messages.length == 0) return [];\n\n\tconst messageMap = parsedFieldMessages(messages);\n\n\treturn [].concat(\n\t\t...reduce(\n\t\t\tFIELD_MESSAGE_TYPES,\n\t\t\t(elements, type) => {\n\t\t\t\tif (messageMap[type]) {\n\t\t\t\t\telements.push(getMessages(type, messageMap[type]));\n\t\t\t\t}\n\n\t\t\t\treturn elements;\n\t\t\t},\n\t\t\t[]\n\t\t)\n\t);\n};\n\nexport const pushInfoMessageForDependentFields = (messages, label) => {\n\tconst message = t('Select a {0} before modifying this field.', label);\n\treturn [\n\t\t...messages,\n\t\t{\n\t\t\ttype: 'info',\n\t\t\tmessage\n\t\t}\n\t];\n};\n\nexport const transformDescriptionAndMessages = (description, messages) =>\n\tdescription\n\t\t? [{ content: description }, ...transformMessages(messages)]\n\t\t: transformMessages(messages);\n","import moment from 'moment';\n\n// wrapper around moment to force need for language when using\n// empty string defaults to moment global locale\nexport default (language = '') =>\n\t(...args) => {\n\t\tmoment.locale(language);\n\t\treturn moment(...args);\n\t};\n\nexport const weekdays = (language = '', isoWeek = false) => {\n\tconst momentLocale = moment.localeData(language);\n\tif (isoWeek)\n\t\treturn momentLocale ? momentLocale.isoWeekdays() : moment.isoWeekdays();\n\treturn momentLocale ? momentLocale.weekdays() : moment.weekdays();\n};\n\nexport const monthsShort = (language = '') => {\n\tconst momentLocale = moment.localeData(language);\n\treturn momentLocale ? momentLocale.monthsShort() : moment.monthsShort();\n};\n\nexport const isTimeZoneEnabledField = format => {\n\tif (!format) return false;\n\treturn !format.toLowerCase().endsWith('z');\n};\n","export const transformState = state => ({\n\t...state,\n\tproperties: {\n\t\t...state.properties,\n\t\tvalue: state.properties.value === true ? '' : state.properties.value\n\t}\n});\n","import { getProperty as presourceGetProperty } from 'sn-uxpage-presource';\n\nexport const getProperty = (key, defaultValue) => {\n\tconst sysPropValue = presourceGetProperty(key);\n\tif (\n\t\tdefaultValue !== undefined &&\n\t\t(sysPropValue === undefined || sysPropValue === null)\n\t) {\n\t\treturn defaultValue;\n\t} else {\n\t\treturn sysPropValue;\n\t}\n};\n\nexport const getPageProperty = (key, defaultValue) => {\n\tconst siteName = window?.ux_globals?.siteName;\n\tconst sysPagePropValue =\n\t\twindow?.ux_globals?.experienceConfigs?.[siteName]?.pageProperties?.[key];\n\n\tif (\n\t\tdefaultValue !== undefined &&\n\t\t(sysPagePropValue === undefined || sysPagePropValue === null)\n\t) {\n\t\treturn defaultValue;\n\t} else {\n\t\treturn sysPagePropValue;\n\t}\n};\n","/*\n * Proxy copied over from sn-uxf-builder-middleware\n * Doing this so we can avoid the overhead of npm installing all of that package\n * when we only really want this one function\n */\nexport default effect => coeffects => effect.effect(...effect.args, coeffects);\n","import { isEmpty } from 'lodash';\n\nconst checkIfFieldIsSelected = (value, path, selectedItems) => {\n\tlet stagedPath = [];\n\tpath.forEach(pathItem => {\n\t\tstagedPath.push(pathItem.field);\n\t});\n\tstagedPath.push(value);\n\tconst updatedPath = stagedPath.join('.');\n\treturn selectedItems.find(element => {\n\t\tif (element.id === updatedPath) {\n\t\t\treturn true;\n\t\t}\n\t});\n};\n\nconst getParentTableName = (parentPathArray, tableName, dataModel) => {\n\tlet parentTableName = tableName;\n\tparentPathArray.forEach(item => {\n\t\tconst tableData = dataModel.metadata[parentTableName];\n\t\tconst fieldData = tableData && tableData[item];\n\t\tparentTableName = fieldData && fieldData.referenceDataKey;\n\t});\n\treturn parentTableName;\n};\n\n/**\n * Transform field data into the structure needed for dot walk\n * @param {[{value: string, displayValue: string, isFieldReferenceType: boolean, referenceDataKey: string}]} fieldNameData\n * @return {{[field: string]: {displayValue: string, isReference: boolean, referenceDataKey: string}}} Transformed fieldNameData\n */\nconst transformFieldNameData = (\n\tfieldNameData,\n\treferenceTypes = '',\n\tallowDotWalking,\n\tselectedItems = [],\n\tpath = ''\n) => {\n\t// DictionaryAttributes - reference_types\n\t// list of valid reference types that are clickable separated by semicolons (\";\")\n\tconst enabledTables = referenceTypes ? referenceTypes.split(';') : [];\n\n\treturn fieldNameData.reduce((prev, curr) => {\n\t\tconst {\n\t\t\tvalue: name,\n\t\t\tdisplayValue,\n\t\t\tisFieldReferenceType: isReference,\n\t\t\treferenceDataKey\n\t\t} = curr;\n\n\t\tconst reducedValue = {\n\t\t\t...prev,\n\t\t\t[name]: {\n\t\t\t\tdisplayValue,\n\t\t\t\tdisabled: isEmpty(selectedItems)\n\t\t\t\t\t? enabledTables.length && allowDotWalking\n\t\t\t\t\t\t? !enabledTables.includes(referenceDataKey)\n\t\t\t\t\t\t: false\n\t\t\t\t\t: checkIfFieldIsSelected(name, path, selectedItems)\n\t\t\t\t\t? true\n\t\t\t\t\t: false,\n\t\t\t\tisReference: allowDotWalking ? isReference : false,\n\t\t\t\treferenceDataKey\n\t\t\t}\n\t\t};\n\t\tif (enabledTables.length && allowDotWalking) {\n\t\t\tif (referenceDataKey || isReference) {\n\t\t\t\treturn reducedValue;\n\t\t\t} else {\n\t\t\t\treturn prev;\n\t\t\t}\n\t\t}\n\t\treturn reducedValue;\n\t}, {});\n};\n\n/**\n * Transform path data into the structure needed for dot walk\n * @param  {{[field: string]: {displayValue: string, isReference: boolean, referenceDataKey: string}}} metaData\n * @param  {string} parentTableName\n * @param  {string} pathValue\n * @return {[{displayValue: string, field: string, parent: string}]} Transformed pathData\n */\nconst transformPathData = (metadata, tableName, pathValue) => {\n\tlet path = [];\n\n\tif (metadata && !tableName) {\n\t\ttableName = Object.keys(metadata)[0];\n\t}\n\n\tif (pathValue && metadata) {\n\t\t//field List can have multiple\n\t\tconst pathValueList = pathValue.split(',');\n\t\tpath = pathValueList[0].split('.').reduce((prev, curr, idx) => {\n\t\t\tconst tableNameCurrent =\n\t\t\t\tidx > 0 && prev[idx - 1].parentTableName\n\t\t\t\t\t? prev[idx - 1].parentTableName\n\t\t\t\t\t: tableName;\n\t\t\tconst tableData = metadata[tableNameCurrent];\n\t\t\tif (!tableData) {\n\t\t\t\treturn prev;\n\t\t\t}\n\t\t\tconst fieldData = metadata[tableNameCurrent][curr];\n\t\t\tif (!fieldData) {\n\t\t\t\treturn prev;\n\t\t\t}\n\t\t\tconst reducedFieldData = [\n\t\t\t\t...prev,\n\t\t\t\t{\n\t\t\t\t\tdisplayValue: fieldData.displayValue,\n\t\t\t\t\tfield: curr,\n\t\t\t\t\tparent: tableNameCurrent,\n\t\t\t\t\tparentTableName: fieldData.referenceDataKey\n\t\t\t\t}\n\t\t\t];\n\t\t\treturn reducedFieldData;\n\t\t}, []);\n\t} else if (metadata) {\n\t\tconst tableData = metadata[tableName];\n\n\t\tif (tableData) {\n\t\t\tconst firstField = Object.keys(tableData)[0];\n\t\t\tconst fieldData = tableData[firstField];\n\t\t\tpath = [\n\t\t\t\t{\n\t\t\t\t\tdisplayValue: fieldData.displayValue,\n\t\t\t\t\tfield: firstField,\n\t\t\t\t\tparent: tableName\n\t\t\t\t}\n\t\t\t];\n\t\t}\n\t}\n\treturn path;\n};\n\n/**\n * Transform table metadata into the structure used in the Dot Walk Model\n * @param {[{tableName: string, fieldNameData: [{value: string, displayValue: string, isFieldReferenceType: boolean, referenceDataKey: string}] }]} fieldNameMetadata\n * @return {{[tableName: string]: {[field: string]: {displayValue: string, isReference: boolean, referenceDataKey: string}}} Transformed fieldNameMetadata\n */\n\nexport const transformFieldNameMetadata = (\n\tfieldValues,\n\treferenceTypes = '',\n\tallowDotWalking,\n\tselectedItems = [],\n\tpath = []\n) =>\n\tfieldValues.reduce((prev, curr) => {\n\t\tconst reducedValue = {\n\t\t\t...prev,\n\t\t\t[curr.tableName]: transformFieldNameData(\n\t\t\t\tcurr.fieldNameData,\n\t\t\t\treferenceTypes,\n\t\t\t\tallowDotWalking,\n\t\t\t\tselectedItems,\n\t\t\t\tpath\n\t\t\t)\n\t\t};\n\t\treturn reducedValue;\n\t}, {});\n\nexport const constructDataModel = (\n\tfieldValues,\n\ttableName,\n\tpathValue,\n\tleafPathSource,\n\treferenceTypes = '',\n\tallowDotWalking\n) => {\n\tconst model = {\n\t\tpath: null,\n\t\tmetadata: null,\n\t\tleafPathSource\n\t};\n\n\tif (fieldValues) {\n\t\tconst transformedMetadata = transformFieldNameMetadata(\n\t\t\tfieldValues,\n\t\t\treferenceTypes,\n\t\t\tallowDotWalking\n\t\t);\n\t\tconst transformedPath = transformPathData(\n\t\t\ttransformedMetadata,\n\t\t\ttableName,\n\t\t\tpathValue\n\t\t);\n\t\tmodel.path = transformedPath;\n\t\tmodel.metadata = transformedMetadata;\n\t}\n\n\treturn model;\n};\n\nexport const getFieldNameValue = (path = []) =>\n\tpath.map(p => p.field).join('.');\n\nexport const getFieldNameDisplayValue = (path = []) =>\n\tpath.map(p => p.displayValue).join(' > ');\n\nexport const getDataModelWithToggledFields = (\n\tdataModel,\n\tflag,\n\tfieldToBeDeleted,\n\ttableName\n) => {\n\tconst path = dataModel.path;\n\tlet name = dataModel.path[path.length - 1].parent;\n\tlet fieldName = dataModel.path[path.length - 1].field;\n\tif (flag) {\n\t\tconst updatedIdArray = fieldToBeDeleted.split('.');\n\t\tfieldName = updatedIdArray[updatedIdArray.length - 1];\n\t\tname =\n\t\t\tupdatedIdArray.length === 1\n\t\t\t\t? tableName\n\t\t\t\t: getParentTableName(\n\t\t\t\t\t\tupdatedIdArray.slice(0, updatedIdArray.length - 1),\n\t\t\t\t\t\ttableName,\n\t\t\t\t\t\tdataModel\n\t\t\t\t  );\n\t}\n\tlet dataModelToUpdate = dataModel;\n\t//update only if the table info is available in dataModel\n\tif (dataModel.metadata[name]) {\n\t\tdataModelToUpdate = {\n\t\t\t...dataModel,\n\t\t\tmetadata: {\n\t\t\t\t...dataModel.metadata,\n\t\t\t\t[name]: {\n\t\t\t\t\t...dataModel.metadata[name],\n\t\t\t\t\t[fieldName]: {\n\t\t\t\t\t\t...dataModel.metadata[name][fieldName],\n\t\t\t\t\t\tdisabled: !flag\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n\n\treturn dataModelToUpdate;\n};\n","import {isEmpty} from \"lodash\";\nimport { t } from 'sn-translate';\nimport {createCustomElement, createPresentationalCustomElement} from \"@servicenow/ui-core\";\nimport '@servicenow/now-highlighted-value';\nimport '@servicenow/now-button';\nimport '@servicenow/now-popover';\nimport '@servicenow/now-icon';\n\nimport style from \"@devsnc/sass-form-controls-common/_customLabel.scss\";\nimport {NOW_BUTTON_ICONIC_CLICKED, NOW_POPOVER_OPENED_SET, FIELD_RECOMMENDATION_INFORMATION} from \"../constants\";\nimport { fieldLayoutSchema } from \"../schemas\";\n\nexport const popoverDescription = ({properties}) => {\n\tconst { description, icon } = properties;\n\treturn (\n\t\t<div className=\"sn-custom-highlighted-label-popover spacing\">\n\t\t\t<div className=\"sn-custom-highlighted-label-popover-description\">\n\t\t\t\t<div>\n\t\t\t\t\t<now-icon icon={icon} size=\"sm\"></now-icon>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t{description}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div className=\"sn-custom-highlighted-label-popover-close\">\n\t\t\t\t<now-button-iconic icon=\"close-fill\" size=\"sm\" variant=\"tertiary\" bare=\"true\"></now-button-iconic>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\ncreatePresentationalCustomElement('sn-highlighted-label-info', {\n\tview: popoverDescription,\n\tstyles: style,\n\tproperties: {\n\t\tdescription: { default: ''},\n\t\ticon: { default: ''}\n\t}\n})\n\nexport const customLabel = (state) => {\n\tconst {\n\t\topened,\n\t\tproperties: {\n\t\t\tcustomHighlightedLabel: {\n\t\t\t\tvalue: highlightedValueLabel,\n\t\t\t\tstatus,\n\t\t\t\tshowIcon,\n\t\t\t\tvariantName,\n\t\t\t\tcolorName,\n\t\t\t\ticonName,\n\t\t\t\tdescription\n\t\t\t},\n\t\t\tfieldLayout: {\n\t\t\t\tlayout = 'vertical'\n\t\t\t} = {}\n\t\t}\n\t} = state;\n\treturn (\n\t\t<div class={{\n\t\t\t'sn-custom-highlighted-label': true,\n\t\t\t['-' + layout]: layout\n\t\t}}>\n\t\t\t<now-highlighted-value\n\t\t\t\tlabel={highlightedValueLabel}\n\t\t\t\tcolor={colorName}\n\t\t\t\tshow-icon={showIcon}\n\t\t\t\tvariant={variantName}\n\t\t\t\ticon={showIcon ? iconName : null}\n\t\t\t\tstatus={!colorName ? status : null}\n\t\t\t></now-highlighted-value>\n\t\t\t{!isEmpty(description) && (\n\t\t\t\t<now-popover\n\t\t\t\t\tmanage-opened\n\t\t\t\t\topened={opened}\n\t\t\t\t\tinteractionType=\"dialog\"\n\t\t\t\t\tconstrain={{width: 250, minHeight: 80, maxHeight: 200}}\n\t\t\t\t\tpositions={{ target: 'top-center', content: 'bottom-center' }}\n\t\t\t\t>\n\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\tbare\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\tbutton: { 'aria-label': t(FIELD_RECOMMENDATION_INFORMATION) }\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ticon=\"circle-info-outline\"\n\t\t\t\t\t\tsize=\"sm\">\n\t\t\t\t\t</now-button-iconic>\n\t\t\t\t\t<sn-highlighted-label-info slot=\"content\" description={description} icon={iconName} />\n\t\t\t\t</now-popover>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\ncreateCustomElement('sn-custom-highlighted-label', {\n\tview: customLabel,\n\tstyles: style,\n\tinitialState: {\n\t\topened: false\n\t},\n\tproperties: {\n\t\tcustomHighlightedLabel: { default: {} },\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\t\teffect: ({ updateState }) => {\n\t\t\t\tupdateState({ opened: false });\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_POPOVER_OPENED_SET]: {\n\t\t\teffect: ({ action, updateState }) => {\n\t\t\t\tconst { value } = action.payload;\n\t\t\t\tupdateState({ opened: value });\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n})\n","import '@servicenow/now-highlighted-value';\nimport { isEmpty } from 'lodash';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nimport './renderCustomHighlightedLabel';\nconst normalizeHighlightedValues = highlightedValues => {\n\tif (!highlightedValues) {\n\t\treturn [];\n\t}\n\tif (Array.isArray(highlightedValues)) {\n\t\tconst flattened = highlightedValues.flat();\n\t\treturn flattened.filter((hv, index) => {\n\t\t\treturn index === 0 || !isEmpty(hv);\n\t\t})\n\t}\n\telse if (typeof highlightedValues === 'object') {\n\t\treturn [highlightedValues];\n\t}\n}\n\nexport const renderHighlightedValue = (highlightedValue, fieldLayout = { layout: 'vertical' }) => {\n\tconst [defaultHighlightedValue, ...customHighlightedValues] = normalizeHighlightedValues(highlightedValue);\n\tconst {\n\t\tvalue: highlightedValueLabel,\n\t\tstatus,\n\t\tshowIcon,\n\t\tvariantName,\n\t\tcolorName,\n\t\ticonName\n\t} = defaultHighlightedValue || {};\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{!isEmpty(defaultHighlightedValue) && (\n\t\t\t\t<now-highlighted-value\n\t\t\t\t\tslot=\"label-end\"\n\t\t\t\t\tlabel={highlightedValueLabel}\n\t\t\t\t\tcolor={colorName}\n\t\t\t\t\tshow-icon={showIcon}\n\t\t\t\t\tvariant={variantName}\n\t\t\t\t\ticon={showIcon ? iconName : null}\n\t\t\t\t\tstatus={!colorName ? status : null}\n\t\t\t\t\tclass={{'first-label-end': customHighlightedValues.length && fieldLayout.layout === 'horizontal'}}\n\t\t\t\t></now-highlighted-value>\n\t\t\t)}\n\t\t\t{customHighlightedValues.map(hv => (\n\t\t\t\t<sn-custom-highlighted-label slot=\"label-end\" customHighlightedLabel={hv} fieldLayout={fieldLayout}/>\n\t\t\t))}\n\t\t</Fragment>\n\t);\n};\n","import '@servicenow/now-icon';\n\nexport const renderDecorations = (decorations, fromControlWrapper) => {\n\tif (decorations && decorations.length > 0) {\n\t\treturn (\n\t\t\t <div style={fromControlWrapper ? {marginInlineStart:' 0.25rem'} : {}} className='field-decorations-container' slot=\"label-inline\">\n\t\t\t\t{decorations.map((decoration) => (\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\thide-padding\n\t\t\t\t\t\ticon={decoration.icon}\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\ttitle={decoration.text}\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\tbutton: { 'aria-label': decoration.text }\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t);\n\t}\n};","export function difference(arr1, arr2) {\n\treturn arr1.filter(x => !arr2.includes(x));\n}\n\nexport function camelCase(str) {\n\treturn str.replace(/(?:^\\w|[A-Z]|\\b\\w|\\s+)/g, (match, index) => {\n\t\tif (+match === 0) return ''; // ignore 0s\n\t\treturn index == 0 ? match.toLowerCase() : match.toUpperCase();\n\t});\n}\n\nexport function keys(obj) {\n\treturn Object.keys(obj);\n}\n\nexport function pick(obj, props) {\n\treturn props.reduce((acc, prop) => {\n\t\tif (Object.prototype.hasOwnProperty.call(obj, prop)) {\n\t\t\tacc[prop] = obj[prop];\n\t\t}\n\t\treturn acc;\n\t}, {});\n}\n\nexport function forEach(collection, callback) {\n\tif (Array.isArray(collection)) {\n\t\tfor (let i = 0; i < collection.length; i++) {\n\t\t\tcallback(collection[i], i, collection);\n\t\t}\n\t} else {\n\t\tfor (const key in collection) {\n\t\t\tif (Object.prototype.hasOwnProperty.call(collection, key)) {\n\t\t\t\tcallback(collection[key], key, collection);\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport function get(obj, path, defaultValue) {\n\tconst keys = Array.isArray(path) ? path : path.split('.');\n\tconst result = keys.reduce((acc, key) => acc && acc[key], obj);\n\treturn result === undefined ? defaultValue : result || defaultValue;\n}\n\nexport function isNil(value) {\n\treturn value == null;\n}\n\nexport function isEqualWith(value, other, customizer) {\n\tif (typeof customizer !== 'function') {\n\t\tcustomizer = undefined;\n\t}\n\n\tconst result = customizer ? customizer(value, other) : undefined;\n\n\tif (result !== undefined) {\n\t\treturn Boolean(result);\n\t}\n\tif (value === other) {\n\t\treturn true;\n\t}\n\tif (\n\t\tvalue == null ||\n\t\tother == null ||\n\t\ttypeof value !== 'object' ||\n\t\ttypeof other !== 'object'\n\t) {\n\t\treturn false;\n\t}\n\tconst keys = Object.keys(value);\n\tif (keys.length !== Object.keys(other).length) {\n\t\treturn false;\n\t}\n\treturn keys.every(key => isEqualWith(value[key], other[key], customizer));\n}\n\nexport function pickBy(object, predicate) {\n\tconst result = {};\n\tfor (const key in object) {\n\t\tif (\n\t\t\tObject.prototype.hasOwnProperty.call(object, key) &&\n\t\t\tpredicate(object[key], key)\n\t\t) {\n\t\t\tresult[key] = object[key];\n\t\t}\n\t}\n\treturn result;\n}\n\nexport function identity(value) {\n\treturn value;\n}\n\n/**\n * The isEmpty function determines if a given value is empty or not.\n * @param {any} value The value to check\n * @returns {boolean} True if the value is empty, false otherwise\n */\nexport function isEmpty(value) {\n\tif (value == null) return true;\n\tif (typeof value === 'string' || Array.isArray(value))\n\t\treturn value.length === 0;\n\tif (typeof value === 'object') return Object.keys(value).length === 0;\n\n\treturn false;\n}\n","/*\nThis utility function is a copy of following function getDateFromFormat in calendar.js\nhttps://code.devsnc.com/dev/glide/blob/master/glide/ui.html/scripts/calendar.js#L284\nThe purpose of the function is to have same validation in dateTime format case when it has timezone enabled\nexample like \"YYYY-MM-DD hh:mm:ss z\". Remaining other formats are handled from moment itself.\ngetDateFromFormat is a validator function that checks if the date is in given format or not.\nIn case the date is not in correct format , it returns 0 , else it returns the time Value of the same.\n*/\n\nconst digits = new Set(['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']);\n\nfunction _isInteger(val) {\n\tfor (let i = 0; i < val.length; i++) if (!digits.has(val[i])) return false;\n\treturn true;\n}\n\nfunction _getInt(str, i, minlength, maxlength) {\n\tfor (var x = maxlength; x >= minlength; x--) {\n\t\tvar token = str.substring(i, i + x);\n\t\tif (token.length < minlength) {\n\t\t\treturn null;\n\t\t}\n\t\tif (_isInteger(token)) {\n\t\t\treturn token;\n\t\t}\n\t}\n\treturn null;\n}\n\n/**\n * Validate Date String for a given format. Returns 0 if date is invalid for given format, else date value\n * @param {string} val - Date string.\n * @param {string} format - Format for which date string has to be verified.\n * @returns {number}\n */\nexport function getDateFromFormat(val, format) {\n\tval = val + '';\n\tformat = format + '';\n\tvar i_val = 0;\n\tvar i_format = 0;\n\tvar c = '';\n\tvar token = '';\n\tvar x, y;\n\tvar now = new Date();\n\tvar year = now.getYear();\n\tvar month = now.getMonth() + 1;\n\tvar date = 0;\n\tvar hh = now.getHours();\n\tvar mm = now.getMinutes();\n\tvar ss = now.getSeconds();\n\tvar ampm = '';\n\tvar week = false;\n\tvar MONTH_NAMES = new Array(\n\t\t'January',\n\t\t'February',\n\t\t'March',\n\t\t'April',\n\t\t'May',\n\t\t'June',\n\t\t'July',\n\t\t'August',\n\t\t'September',\n\t\t'October',\n\t\t'November',\n\t\t'December',\n\t\t'Jan',\n\t\t'Feb',\n\t\t'Mar',\n\t\t'Apr',\n\t\t'May',\n\t\t'Jun',\n\t\t'Jul',\n\t\t'Aug',\n\t\t'Sep',\n\t\t'Oct',\n\t\t'Nov',\n\t\t'Dec'\n\t);\n\tvar DAY_NAMES = new Array(\n\t\t'Sunday',\n\t\t'Monday',\n\t\t'Tuesday',\n\t\t'Wednesday',\n\t\t'Thursday',\n\t\t'Friday',\n\t\t'Saturday',\n\t\t'Sun',\n\t\t'Mon',\n\t\t'Tue',\n\t\t'Wed',\n\t\t'Thu',\n\t\t'Fri',\n\t\t'Sat'\n\t);\n\tvar g_first_day_of_week = 1;\n\n\twhile (i_format < format.length) {\n\t\t// Get next token from format string\n\t\tc = format.charAt(i_format);\n\t\ttoken = '';\n\t\twhile (format.charAt(i_format) == c && i_format < format.length) {\n\t\t\ttoken += format.charAt(i_format++);\n\t\t}\n\t\t// Extract contents of value based on format token\n\t\tif (token == 'yyyy' || token == 'yy' || token == 'y') {\n\t\t\tif (token == 'yyyy') {\n\t\t\t\tx = 4;\n\t\t\t\ty = 4;\n\t\t\t}\n\t\t\tif (token == 'yy') {\n\t\t\t\tx = 2;\n\t\t\t\ty = 2;\n\t\t\t}\n\t\t\tif (token == 'y') {\n\t\t\t\tx = 2;\n\t\t\t\ty = 4;\n\t\t\t}\n\t\t\tyear = _getInt(val, i_val, x, y);\n\t\t\tif (year == null) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\ti_val += year.length;\n\t\t\tif (year.length == 2) {\n\t\t\t\tif (year > 70) {\n\t\t\t\t\tyear = 1900 + (year - 0);\n\t\t\t\t} else {\n\t\t\t\t\tyear = 2000 + (year - 0);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (token == 'MMM' || token == 'NNN') {\n\t\t\tmonth = 0;\n\t\t\tfor (var i = 0; i < MONTH_NAMES.length; i++) {\n\t\t\t\tvar month_name = MONTH_NAMES[i];\n\t\t\t\tif (\n\t\t\t\t\tval.substring(i_val, i_val + month_name.length).toLowerCase() ==\n\t\t\t\t\tmonth_name.toLowerCase()\n\t\t\t\t) {\n\t\t\t\t\tif (token == 'MMM' || (token == 'NNN' && i > 11)) {\n\t\t\t\t\t\tmonth = i + 1;\n\t\t\t\t\t\tif (month > 12) {\n\t\t\t\t\t\t\tmonth -= 12;\n\t\t\t\t\t\t}\n\t\t\t\t\t\ti_val += month_name.length;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (month < 1 || month > 12) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t} else if (token == 'EE' || token == 'E') {\n\t\t\tfor (var i2 = 0; i2 < DAY_NAMES.length; i2++) {\n\t\t\t\tvar day_name = DAY_NAMES[i2];\n\t\t\t\tif (\n\t\t\t\t\tval.substring(i_val, i_val + day_name.length).toLowerCase() ==\n\t\t\t\t\tday_name.toLowerCase()\n\t\t\t\t) {\n\t\t\t\t\tif (week) {\n\t\t\t\t\t\tif (i2 == 0 || i2 == 7)\n\t\t\t\t\t\t\t//Sun\n\t\t\t\t\t\t\tdate += 6;\n\t\t\t\t\t\telse if (i2 == 2 || i2 == 9)\n\t\t\t\t\t\t\t//Tues\n\t\t\t\t\t\t\tdate += 1;\n\t\t\t\t\t\telse if (i2 == 3 || i2 == 10)\n\t\t\t\t\t\t\t//Wed\n\t\t\t\t\t\t\tdate += 2;\n\t\t\t\t\t\telse if (i2 == 4 || i2 == 11)\n\t\t\t\t\t\t\t// Thur\n\t\t\t\t\t\t\tdate += 3;\n\t\t\t\t\t\telse if (i2 == 5 || i2 == 12)\n\t\t\t\t\t\t\t//Fri\n\t\t\t\t\t\t\tdate += 4;\n\t\t\t\t\t\telse if (i2 == 6 || i2 == 13)\n\t\t\t\t\t\t\t//sat\n\t\t\t\t\t\t\tdate += 5;\n\t\t\t\t\t}\n\t\t\t\t\ti_val += day_name.length;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (token == 'MM' || token == 'M') {\n\t\t\tmonth = _getInt(val, i_val, token.length, 2);\n\t\t\tif (month == null || month < 1 || month > 12) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\ti_val += month.length;\n\t\t} else if (token == 'dd' || token == 'd') {\n\t\t\tdate = _getInt(val, i_val, token.length, 2);\n\t\t\tif (date == null || date < 1 || date > 31) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\ti_val += date.length;\n\t\t} else if (token == 'hh' || token == 'h') {\n\t\t\thh = _getInt(val, i_val, token.length, 2);\n\t\t\tif (hh == null || hh < 1 || hh > 12) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\ti_val += hh.length;\n\t\t} else if (token == 'HH' || token == 'H') {\n\t\t\thh = _getInt(val, i_val, token.length, 2);\n\t\t\tif (hh == null || hh < 0 || hh > 23) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\ti_val += hh.length;\n\t\t} else if (token == 'KK' || token == 'K') {\n\t\t\thh = _getInt(val, i_val, token.length, 2);\n\t\t\tif (hh == null || hh < 0 || hh > 11) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\ti_val += hh.length;\n\t\t} else if (token == 'kk' || token == 'k') {\n\t\t\thh = _getInt(val, i_val, token.length, 2);\n\t\t\tif (hh == null || hh < 1 || hh > 24) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\ti_val += hh.length;\n\t\t\thh--;\n\t\t} else if (token == 'mm' || token == 'm') {\n\t\t\tmm = _getInt(val, i_val, token.length, 2);\n\t\t\tif (mm == null || mm < 0 || mm > 59) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\ti_val += mm.length;\n\t\t} else if (token == 'ss' || token == 's') {\n\t\t\tss = _getInt(val, i_val, token.length, 2);\n\t\t\tif (ss == null || ss < 0 || ss > 59) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\ti_val += ss.length;\n\t\t} else if (token == 'a') {\n\t\t\tif (val.substring(i_val, i_val + 2).toLowerCase() == 'am') {\n\t\t\t\tampm = 'AM';\n\t\t\t} else if (val.substring(i_val, i_val + 2).toLowerCase() == 'pm') {\n\t\t\t\tampm = 'PM';\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\ti_val += 2;\n\t\t} else if (token == 'w' || token == 'ww') {\n\t\t\t//week in year\n\t\t\tvar weekNum = _getInt(val, i_val, token.length, 2);\n\t\t\tweek = true;\n\t\t\tif (weekNum != null) {\n\t\t\t\tvar temp = new Date(year, 0, 1, 0, 0, 0);\n\t\t\t\ttemp.setWeek(parseInt(weekNum, 10));\n\t\t\t\tyear = temp.getFullYear();\n\t\t\t\tmonth = temp.getMonth() + 1;\n\t\t\t\tdate = temp.getDate();\n\t\t\t}\n\t\t\tweekNum += '';\n\t\t\ti_val += weekNum.length;\n\t\t} else if (token == 'D') {\n\t\t\tif (week) {\n\t\t\t\tvar day = _getInt(val, i_val, token.length, 1);\n\t\t\t\tif (day == null || day <= 0 || day > 7) return 0;\n\n\t\t\t\tvar temp2 = new Date(year, month - 1, date, hh, mm, ss);\n\t\t\t\t// get the current day of week that we are on (Sun=0)\n\t\t\t\tvar dayOfWeek = temp2.getDay();\n\n\t\t\t\t// get the day we want and adjust that to Sun=0\n\t\t\t\tday = parseInt(day, 10);\n\t\t\t\tday = (day + g_first_day_of_week - 1) % 7;\n\t\t\t\tif (day == 0) day = 7;\n\t\t\t\tday--;\n\n\t\t\t\t// determine how many days we need to add to the current date\n\t\t\t\tif (day < dayOfWeek) day = 7 - (dayOfWeek - day);\n\t\t\t\telse day -= dayOfWeek;\n\n\t\t\t\tif (day > 0) {\n\t\t\t\t\ttemp2.setDate(temp2.getDate() + day);\n\n\t\t\t\t\t// apply the date and get the year/month/date again since adding the date my rollover into next month\n\t\t\t\t\tyear = temp2.getFullYear();\n\t\t\t\t\tmonth = temp2.getMonth() + 1;\n\t\t\t\t\tdate = temp2.getDate();\n\t\t\t\t}\n\t\t\t\ti_val++;\n\t\t\t}\n\t\t} else if (token == 'z') i_val += 3;\n\t\telse {\n\t\t\tif (val.substring(i_val, i_val + token.length) != token) {\n\t\t\t\treturn 0;\n\t\t\t} else {\n\t\t\t\ti_val += token.length;\n\t\t\t}\n\t\t}\n\t}\n\t// If there are any trailing characters left in the value, it doesn't match\n\tif (i_val != val.length) {\n\t\treturn 0;\n\t}\n\t// Is date valid for month?\n\tif (month == 2) {\n\t\t// Check for leap year\n\t\tif ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {\n\t\t\t// leap year\n\t\t\tif (date > 29) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t} else {\n\t\t\tif (date > 28) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t}\n\tif (month == 4 || month == 6 || month == 9 || month == 11) {\n\t\tif (date > 30) {\n\t\t\treturn 0;\n\t\t}\n\t}\n\t// Correct hours value\n\tif (hh < 12 && ampm == 'PM') {\n\t\thh = hh - 0 + 12;\n\t} else if (hh > 11 && ampm == 'AM') {\n\t\thh -= 12;\n\t}\n\tvar newdate = new Date(year, month - 1, date, hh, mm, ss);\n\treturn newdate.getTime();\n}\n","import { map, reduce, isString, isArray, isObject } from 'lodash';\n\n/**\n * Convert the values and display values arrays into a single pill array\n * @param {array} values\n * @param {array} displayValues Boolean that indicates wheter or not shift was held.\n * @return {array} array of pill objects\n */\nfunction toPills(values, displayValues) {\n\tif (isString(values)) {\n\t\tvalues = convertToValueArray(values);\n\t}\n\n\tif (isString(displayValues)) {\n\t\tdisplayValues = convertToValueArray(displayValues);\n\t}\n\n\tif (!Array.isArray(displayValues)) displayValues = values;\n\n\treturn map(values, (value, index) => ({\n\t\tvalue,\n\t\tdisplayValue: displayValues[index] ? displayValues[index] : ''\n\t}));\n}\n\n/**\n * Convert the pill object array into individual value and displayValue arrays\n * @param {array} array of pill objects\n * @return {object} object containing the two arrays\n */\nfunction toValues(pills) {\n\treturn reduce(\n\t\tpills,\n\t\t(result, pill) => {\n\t\t\tpill = isObject(pill) ? pill : {};\n\n\t\t\tresult.values.push(pill.value);\n\t\t\tresult.displayValues.push(pill.displayValue);\n\n\t\t\treturn result;\n\t\t},\n\t\t{\n\t\t\tvalues: [],\n\t\t\tdisplayValues: []\n\t\t}\n\t);\n}\n\n/**\n * Converter function for handling values being passed in as a single or CSV string\n * @param {string} values The pressed key identifier.\n * @return {array} List of values\n */\nfunction convertToValueArray(values) {\n\tif (isArray(values)) {\n\t\treturn values;\n\t}\n\n\tif (!isString(values)) {\n\t\treturn [];\n\t}\n\n\treturn values.split(',');\n}\n\n/**\n * Get matches count of value on options list based on search type\n * @param {string} value user input value.\n * @param {array} options list of options containing displayValues and values.\n * @param {string} search type of search such as initial or contains.\n * @return {string} matches count\n */\n\nfunction getMatchesCount(options, search, value = '') {\n\tconst lowerValue = value.toLowerCase();\n\tconst method = search === 'contains' ? 'includes' : 'startsWith';\n\treturn options.reduce((result, item) => {\n\t\tconst itemValue = item.value ? item.value.toLowerCase() : '';\n\t\tconst itemDisplayValue = item.displayValue\n\t\t\t? item.displayValue.toLowerCase()\n\t\t\t: '';\n\n\t\tif (itemValue[method](lowerValue) || itemDisplayValue[method](lowerValue)) {\n\t\t\tresult.push(item);\n\t\t}\n\t\treturn result;\n\t}, []).length;\n}\n\nexport { toPills, toValues, convertToValueArray, getMatchesCount };\n","/**\n * react-docgen needs this to be an exported React class (_not_ PureComponent)\n * in order for the docs to be generated correctly.\n *\n * If you want to use these proptypes, just import via\n * the index.js file instead\n */\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { FIELD_MESSAGE_TYPES } from '../constants';\n\n/**\n * TODO - Remove this file when all components are converted to seismic components\n * Basic props that are common to nearly all form components.\n */\n\nexport default class ComponentBase extends React.Component {\n\tstatic displayName = 'Any Component';\n\tstatic propTypes = {\n\t\t/** Seismic dispatcher */\n\t\tdispatch: PropTypes.func,\n\n\t\t/** Unique identifier for the component. */\n\t\tcomponentId: PropTypes.string.isRequired,\n\n\t\t/** Data returned by one of the Seismic resource handlers */\n\t\tresources: PropTypes.object,\n\n\t\t/** Asynchronous Message Bus (AMB) API */\n\t\tchannels: PropTypes.object,\n\t\t/**\n\t\t * array of message objects that must contain type and message itself.\n\t\t */\n\t\tmessages: PropTypes.arrayOf(\n\t\t\tPropTypes.shape({\n\t\t\t\ttype: PropTypes.oneOf(FIELD_MESSAGE_TYPES),\n\t\t\t\tmessage: PropTypes.oneOfType([\n\t\t\t\t\tPropTypes.string,\n\t\t\t\t\tPropTypes.shape({ getMessage: PropTypes.func })\n\t\t\t\t])\n\t\t\t})\n\t\t),\n\t\t/**\n\t\t * formData object containing glide form data\n\t\t */\n\t\tformData: PropTypes.object,\n\t\t/**\n\t\t * Name of the field\n\t\t */\n\t\tfieldName: PropTypes.any,\n\n\t\t/**\n\t\t * Name of the table the reference field is attached to\n\t\t */\n\n\t\ttableName: PropTypes.string,\n\n\t\t/**\n\t\t * sys_id of the current record where the field is located\n\t\t */\n\t\trecordSysId: PropTypes.string,\n\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t */\n\t\tname: PropTypes.string,\n\n\t\t/**\n\t\t * Content to display when there is no suitable display value.\n\t\t */\n\t\tplaceholder: PropTypes.string,\n\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t */\n\t\tlabel: PropTypes.string,\n\n\t\t/**\n\t\t * Underlying data for the component.\n\t\t */\n\t\tvalue: PropTypes.string,\n\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * @param {object} event - The event payload\n\t\t * @param {string} event.name - The name of the component that triggered the event\n\t\t * @param {any}    event.value - The new value for the component\n\t\t * @param {string} event.displayValue - The human-readable represenation of the value\n\t\t *\n\t\t * @param {object} event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t * @param {string} event.error.type - Error type\n\t\t * @param {string} event.error.message - Description of why the value is invalid\n\t\t */\n\t\tonValueChange: PropTypes.func,\n\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t */\n\t\tonStagedValueChange: PropTypes.func,\n\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t */\n\t\tdescription: PropTypes.string,\n\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t */\n\t\trequired: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t */\n\t\treadonly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t */\n\t\treversed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t */\n\t\tinvalid: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t */\n\t\tautofocus: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n\t\t/**\n\t\t * Unique name for a shadowDom slot\n\t\t */\n\t\tslot: PropTypes.string,\n\n\t\t/**\n\t\t * Accessible label for the component. Only needed when the `label` prop is not\n\t\t * descriptive enough on its own.\n\t\t */\n\t\t'aria-label': PropTypes.string,\n\n\t\t/**\n\t\t * Which element (by ID) acts as a label for the component\n\t\t */\n\t\t'aria-labelledby': PropTypes.string,\n\n\t\t/**\n\t\t * Which element (by ID) provides more description for the component\n\t\t */\n\t\t'aria-describedby': PropTypes.string,\n\n\t\t/**\n\t\t * aria-* attribute configuration\n\t\t */\n\t\t'config-aria': PropTypes.object,\n\n\t\tfieldType: PropTypes.string,\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: PropTypes.oneOfType([PropTypes.string, PropTypes.element])\n\t};\n\tstatic defaultProps = {\n\t\tcomponentId: 'id'\n\t};\n}\n","/**\n * TODO - Remove this file once all react components are converted.\n * Use SeismicComponentFieldPropDefaults wherever needed.\n *\n * react-docgen needs this to be an exported React class (_not_ PureComponent)\n * in order for the docs to be generated correctly.\n *\n * If you want to use these proptypes, just import via\n * the index.js file instead\n */\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ComponentBase from './ComponentBase';\n\n/**\n * Prop types for controlled components. Note that this is just a subset of the\n * [React events](https://reactjs.org/docs/events.html#supported-events). The\n * payload for each event is identical to the React event.\n */\nexport default class ControlledField extends React.Component {\n\tstatic displayName = 'Controlled Fields';\n\tstatic propTypes = {\n\t\t...ComponentBase.propTypes,\n\n\t\t/**\n\t\t * onChange event callback\n\t\t */\n\t\tonChange: PropTypes.func,\n\n\t\t/**\n\t\t * onSelect event callback\n\t\t */\n\t\tonSelect: PropTypes.func,\n\t\t/**\n\t\t * onClick event callback\n\t\t */\n\t\tonClick: PropTypes.func,\n\n\t\t/**\n\t\t * onMouseEnter event callback\n\t\t */\n\t\tonMouseEnter: PropTypes.func,\n\n\t\t/**\n\t\t * onMouseLeave event callback\n\t\t */\n\t\tonMouseLeave: PropTypes.func,\n\n\t\t/**\n\t\t * onFocus event callback\n\t\t */\n\t\tonFocus: PropTypes.func,\n\n\t\t/**\n\t\t * onBlur event callback\n\t\t */\n\t\tonBlur: PropTypes.func,\n\n\t\t/**\n\t\t * onKeyDown event callback\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\n\t\t/**\n\t\t * onKeyUp event callback\n\t\t */\n\t\tonKeyUp: PropTypes.func,\n\n\t\t/**\n\t\t * onKeyPress event callback\n\t\t */\n\t\tonKeyPress: PropTypes.func\n\t};\n}\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { noop, isFunction, values, size } from 'lodash';\nimport { nodeContainsFocus, isNodeInEventPath } from '../utils/dom';\nimport {\n\taddOutsideScrollListener,\n\tremoveOutsideScrollListener\n} from '../utils/outside-scroll';\n\n/**\n * Execute a callback when the node loses focus (either by tabbing off the\n * element or clicking outside).\n *\n * @returns an object containing a `remove()` method to clean up event\n * handlers.\n */\nexport function onLeave(node, callback, { handleOutsideScroll }) {\n\tconst singleNode = Array.isArray(node) ? node[0] : node;\n\n\tfunction keyboardHandler(event) {\n\t\t// This setTimeout is here in order to prevent the race condition between\n\t\t// the callback and the keydown event firing. Keydown event happens BEFORE\n\t\t// focus is lost, where mousedown happens AFTER. Without the setTimeout,\n\t\t// mouse clicks work fine, but pressing TAB does not register as leaving\n\t\t// the field.\n\t\tsetTimeout(() => {\n\t\t\tif (!nodeContainsFocus(node)) {\n\t\t\t\tcallback(event);\n\t\t\t}\n\t\t});\n\t}\n\n\tfunction mouseHandler(event) {\n\t\tif (!isNodeInEventPath(node, event)) {\n\t\t\tcallback(event);\n\t\t}\n\t}\n\n\tfunction scrollHandler(event) {\n\t\tcallback(event);\n\t\tnode.forEach(n => n.blur());\n\t}\n\n\tdocument.addEventListener('mousedown', mouseHandler);\n\tdocument.addEventListener('keydown', keyboardHandler);\n\tif (handleOutsideScroll) {\n\t\taddOutsideScrollListener(singleNode, scrollHandler);\n\t}\n\n\treturn {\n\t\tremove: () => {\n\t\t\tdocument.removeEventListener('mousedown', mouseHandler);\n\t\t\tdocument.removeEventListener('keydown', keyboardHandler);\n\t\t\tremoveOutsideScrollListener(singleNode);\n\t\t\treturn null;\n\t\t}\n\t};\n}\n\n/**\n * Component that handles focus state management setup and cleanup across\n * separate nodes. This is typically used to defer blur events on an input when\n * a sibling dropdown is active.  It will wrap the component passed through and\n * handle calling the passed in `onBlur` when focus leaves the component(s) set\n * by `setFocusTarget`.\n *\n * The child must be a function that returns a React element. The function\n * will be called with a `setFocusTarget` parameter that the child can use to flag\n * specific nodes that need to listen to blur events.\n *\n * Call setFocusTarget with a string that acts as a key to handle multiple refs and duplicates. Then pass that result through\n * to any ref prop in a Component. i.e. <Component ref={setFocusTarget('my-key')} />\n *\n * @param {function} props.onBlur - The function to call when focus is lost\n * @param {function} props.children - The child *must* be a function that returns your actual component.\n *\n * @example\n * const handleBlur = () => console.log(\"no longer active!\");\n *\n * const Component = ({ isActive }) => (\n *   <FocusWatcher onBlur={handleBlur}>\n *     { setFocusTarget => (\n *       // my real component\n *       <input ref={setFocusTarget('my-ref')} />\n *     )}\n *   </FocusWatcher>\n * )\n */\nexport default class FocusWatcher extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tif (!isFunction(props.children)) {\n\t\t\tthrow new Error('The child must be a function');\n\t\t}\n\n\t\tthis.nodes = {};\n\t\tthis.globalListener = null;\n\t\tthis.focused = false;\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.globalListener && this.globalListener.remove();\n\t}\n\n\tcomponentWillReceiveProps(nextProps) {\n\t\tif (this.props.onBlur !== nextProps.onBlur) {\n\t\t\tthis.setupGlobalListener(nextProps.onBlur);\n\t\t}\n\t}\n\n\tsetupGlobalListener = callback => {\n\t\tif (this.globalListener) {\n\t\t\tthis.globalListener = this.globalListener.remove();\n\t\t}\n\n\t\tif (size(this.nodes) > 1) {\n\t\t\tthis.globalListener = onLeave(values(this.nodes), callback, {\n\t\t\t\thandleOutsideScroll: this.props.handleOutsideScroll\n\t\t\t});\n\t\t}\n\t};\n\n\tsetFocusTarget = key => {\n\t\treturn ref => {\n\t\t\tif (ref === null) {\n\t\t\t\tdelete this.nodes[key];\n\t\t\t} else {\n\t\t\t\tthis.nodes[key] = ref;\n\t\t\t\tref.addEventListener('blur', this.onNodeBlur);\n\t\t\t\tref.addEventListener('focus', this.onFocus);\n\t\t\t}\n\n\t\t\tthis.setupGlobalListener(this.onGlobalBlur);\n\n\t\t\treturn ref;\n\t\t};\n\t};\n\n\tonNodeBlur = (...args) => {\n\t\tif (size(this.nodes) <= 1) {\n\t\t\tthis.focused = false;\n\t\t\tthis.onGlobalBlur(...args);\n\t\t}\n\t};\n\n\tonGlobalBlur = (...args) => {\n\t\tif (!this.props.persistant || (this.props.persistant && this.focused)) {\n\t\t\tthis.focused = false;\n\t\t\tthis.props.onBlur(...args);\n\t\t}\n\t};\n\n\tonFocus = () => {\n\t\tthis.focused = true;\n\t};\n\n\trender() {\n\t\treturn this.props.children(this.setFocusTarget);\n\t}\n}\n\nFocusWatcher.propTypes = {\n\tchildren: PropTypes.func.isRequired,\n\tonBlur: PropTypes.func,\n\thandleOutsideScroll: PropTypes.bool\n};\n\nFocusWatcher.defaultProps = {\n\tonBlur: noop,\n\thandleOutsideScroll: false\n};\n","import PropTypes from 'prop-types';\nimport { isFunction } from 'lodash';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\n\n/**\n * TODO - \tThis component might not be required when Textarea and DumbTextInput are migrated to seismic\n * \t\t\tRevisit once these components are migrated to Seismic\n *\n * React does not always play nicely with WebComponents, especially when they\n * are polyfilled by ShadyDOM. We have some cases where `onBlur` or `onFocus`\n * is not correctly called in Firefox or IE, but natively attaching an event is\n * all good.\n *\n * https://code.devsnc.com/dev/sn-component-form-controls/pull/124\n *\n * This component expects a single child and hijacks any `onBlur` or `onFocus`\n * callback, replacing it with a native event instead.\n *\n * Will throw an exception with multiple children, or when the single child is\n * not a React component... so don't go passing stupid values in.\n */\nexport default class ShadyDOMEventFixer extends React.PureComponent {\n\tstatic propTypes = {\n\t\tchildren: PropTypes.element\n\t};\n\n\taddListeners(props) {\n\t\tconst child = React.Children.only(props.children);\n\t\tconst node = ReactDOM.findDOMNode(this);\n\n\t\tif (node && child.props.onBlur) {\n\t\t\tnode.addEventListener('blur', child.props.onBlur);\n\t\t}\n\n\t\tif (node && child.props.onFocus) {\n\t\t\tnode.addEventListener('focus', child.props.onFocus);\n\t\t}\n\t}\n\n\tremoveListeners(props) {\n\t\tconst child = React.Children.only(props.children);\n\t\tconst node = ReactDOM.findDOMNode(this);\n\n\t\tif (node && child.props.onBlur) {\n\t\t\tnode.removeEventListener('blur', child.props.onBlur);\n\t\t}\n\n\t\tif (node && child.props.onFocus) {\n\t\t\tnode.removeEventListener('focus', child.props.onFocus);\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tif (!window.ShadyDOM) return;\n\t\tthis.addListeners(this.props);\n\t}\n\n\tcomponentWillReceiveProps(nextProps) {\n\t\tif (!window.ShadyDOM) return;\n\t\tthis.removeListeners(this.props);\n\t\tthis.addListeners(nextProps);\n\t}\n\n\trender() {\n\t\tconst child = React.Children.only(this.props.children);\n\t\tif (\n\t\t\twindow.ShadyDOM &&\n\t\t\t(isFunction(child.props.onBlur) || isFunction(child.props.onFocus))\n\t\t) {\n\t\t\treturn React.cloneElement(child, {\n\t\t\t\t...child.props,\n\t\t\t\tonBlur: undefined,\n\t\t\t\tonFocus: undefined\n\t\t\t});\n\t\t}\n\n\t\treturn child;\n\t}\n}","export default function camelCase(str) {\n    return str.replace( /[-_]+/g, ' ')\n        .replace( /[^\\w\\s]/g, '')\n        .replace( / (.)/g, $1 => $1.toUpperCase())\n        .replace( / /g, '')\n        .replace(/^./g, $1 => $1.toLowerCase());\n}","export const ATTRIBUTES = [\n\t'component-id',\n\t'listen-to',\n\t'path',\n\t'context',\n\t'context-modifier',\n\t'key',\n\t'dangerouslySetInnerHTML',\n\t'suppressContentEditableWarning',\n\t'suppressHydrationWarning',\n\t'alt',\n\t'async',\n\t'autocomplete',\n\t'autofocus',\n\t'autoplay',\n\t'capture',\n\t'checked',\n\t'default',\n\t'defer',\n\t'disabled',\n\t'draggable',\n\t'dropzone',\n\t'hidden',\n\t'href',\n\t'hreflang',\n\t'http-equiv',\n\t'icon',\n\t'id',\n\t'is',\n\t'maxlength',\n\t'minlength',\n\t'media',\n\t'method',\n\t'multiple',\n\t'name',\n\t'placeholder',\n\t'readonly',\n\t'rel',\n\t'required',\n\t'reversed',\n\t'role',\n\t'rows',\n\t'rowspan',\n\t'selected',\n\t'slot',\n\t'src',\n\t'tabindex',\n\t'target',\n\t'title',\n\t'type',\n\t'value'\n];\n\nexport const MAPPED_TO_PROPS = [\n\t'value'\n];\n","const x = 2147483648;\nconst baseId =\n\tMath.floor(Math.random() * x).toString(36) +\n\tMath.abs(Math.floor(Math.random() * x) ^ Date.now()).toString(36);\n\nlet count = 0;\nfunction guid() {\n\tcount = count + 1;\n\treturn `${baseId}-${count}`;\n}\n\nconst callAsync = Promise.resolve().then.bind(Promise.resolve());\n\nconst shadowRootToSharedAccessibilityTargets = new Map();\nconst shadowRootToAccessibilityTargetsItemsQueue = new Map();\n\nconst shadowRootToAriaRefs = new Map();\nconst shadowRootToAriaRefsQueue = new Map();\n\nexport default function ariaRefHelpers(name, props) {\n\tif (typeof name !== 'string') {\n\t\treturn {handleAriaAccessibility: () => {}, ariaSetVnode: () => {}, requiresRef: false};\n\t}\n\t/**\n\t * Array<{\n\t *   targetRef: AriaRef,\n\t *   id: string,\n\t *   ariaAttribute: string,\n\t *   callback?: (targetRef: AriaRef) => {},\n\t *   currentClone?: Element,\n\t *   element?: Element\n\t * }>\n\t */\n\tconst accessibilityTargets = []; \n\tif (typeof name === 'string') {\n\t\tfor (const propName in props) {\n\t\t\tif (propName.startsWith('aria-') && props[propName] && typeof props[propName].subscribe === 'function') {\n\t\t\t\tconst id = `a${guid()}`;\n\t\t\t\tconst targetRef = props[propName];\n\t\t\t\tprops[propName] = id;\n\t\t\t\taccessibilityTargets.push({targetRef, id, ariaAttribute: propName})\n\t\t\t}\n\t\t}\n\t}\n\n\tlet ariaRef;\n\tif (props && props['now-aria-ref']) {\n\t\tariaRef = props['now-aria-ref'];\n\t\tdelete props['now-aria-ref'];\n\t}\n\t\n\tfunction createAriaRefHierarchy(node) {\n\t\tif (!node) {\n\t\t\tariaRef.setCurrent(node);\n\t\t\treturn;\n\t\t}\n\n\t\tconst ariaRefShadowRoot = node.getRootNode();\n\t\tlet ariaRefAssignments = shadowRootToAriaRefs.get(ariaRefShadowRoot);\n\t\tif (!ariaRefAssignments) {\n\t\t\tariaRefAssignments = [];\n\t\t\tshadowRootToAriaRefs.set(ariaRefShadowRoot, ariaRefAssignments);\n\t\t}\n\t\tariaRefAssignments.push({ariaRef, element: node});\n\n\t\tcallAsync(() => {\n\t\t\tlet ariaRefsQueue = shadowRootToAriaRefsQueue.get(ariaRefShadowRoot);\n\t\t\tif (!ariaRefsQueue) {\n\t\t\t\tariaRefsQueue = [];\n\t\t\t\tshadowRootToAriaRefsQueue.set(ariaRefShadowRoot, ariaRefsQueue);\n\t\t\t}\n\t\t\tariaRefsQueue.push(ariaRef);\n\n\t\t\tif (ariaRefsQueue.length === ariaRefAssignments.length) {\n\t\t\t\tshadowRootToAriaRefs.delete(ariaRefShadowRoot);\n\t\t\t\tshadowRootToAriaRefsQueue.delete(ariaRefShadowRoot);\n\n\t\t\t\tconst assignments = ariaRefAssignments.reverse(); // Reverse so that children always come after parents\n\t\t\t\tconst ariaRefToAssignment = new Map();\n\t\t\t\tfor (let i = 0; i < assignments.length; i++) {\n\t\t\t\t\tconst ariaRefAssignment = assignments[i];\n\n\t\t\t\t\tariaRefToAssignment.set(ariaRefAssignment.ariaRef, ariaRefAssignment);\n\t\t\t\t\t// We know that a parent of an ariaRef will always be before\n\t\t\t\t\t// it in the refs array. We can use this knowledge to efficiently figure out\n\t\t\t\t\t// each ariaRef's parent ariaRef\n\t\t\t\t\tif (i > 0) {\n\t\t\t\t\t\tlet possibleParentAriaRef = assignments[i - 1].ariaRef;\n\t\t\t\t\t\twhile (possibleParentAriaRef) {\n\t\t\t\t\t\t\tif (possibleParentAriaRef.contains(ariaRefAssignment.element)) {\n\t\t\t\t\t\t\t\tpossibleParentAriaRef.setChildQuerySelector(\n\t\t\t\t\t\t\t\t\tariaRefAssignment.ariaRef,\n\t\t\t\t\t\t\t\t\tbuildQuerySelector(\n\t\t\t\t\t\t\t\t\t\tariaRefToAssignment.get(possibleParentAriaRef).element,\n\t\t\t\t\t\t\t\t\t\tariaRefAssignment.element\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tariaRefAssignment.ariaRef.setParentAriaRef(possibleParentAriaRef);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tpossibleParentAriaRef = possibleParentAriaRef.getParentAriaRef();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\tariaRefAssignment.ariaRef.setCurrent(ariaRefAssignment.element);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tfunction handleAriaAccessibility(node) {\n\t\tif (ariaRef) {\n\t\t\tcreateAriaRefHierarchy(node);\n\t\t}\n\n\t\tfor (const item of accessibilityTargets) {\n\t\t\titem.element = node;\n\n\t\t\tif (!node) {\n\t\t\t\tif (item.currentClone && item.currentClone.parentNode) {\n\t\t\t\t\titem.currentClone.parentNode.removeChild(item.currentClone);\n\t\t\t\t\titem.currentClone = null;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (item.callback) {\n\t\t\t\t\titem.targetRef.unsubscribe({element: node, attribute: item.ariaAttribute});\n\t\t\t\t\titem.callback = null;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tfunction callback(targetRef) {\n\t\t\t\tif (!targetRef || !targetRef.isSet()) {\n\t\t\t\t\tif (item.currentClone && item.currentClone.parentNode) {\n\t\t\t\t\t\titem.currentClone.parentNode.removeChild(item.currentClone);\n\t\t\t\t\t\titem.currentClone = null;\n\t\t\t\t\t}\n\n\t\t\t\t\tnode.removeAttribute(item.ariaAttribute);\n\t\n\t\t\t\t\treturn;\n\t\t\t\t} else {\n\t\t\t\t\tnode.setAttribute(item.ariaAttribute, item.id)\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t// If the element and target are in the same shadowRoot, don't clone the target\n\t\t\t\t// but instead just add the id to the target\n\t\t\t\tif (node.getRootNode() === targetRef.getRootNode()) {\n\t\t\t\t\tconst id = targetRef.getAttribute('id');\n\t\t\t\t\tif (id) {\n\t\t\t\t\t\tnode.setAttribute(item.ariaAttribute, id);\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttargetRef.setId(item.id);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst sourceShadowRoot = node.getRootNode();\n\t\t\t\tlet sharedAccessibilityTargets = shadowRootToSharedAccessibilityTargets.get(sourceShadowRoot);\n\t\t\t\tif (!sharedAccessibilityTargets) {\n\t\t\t\t\tsharedAccessibilityTargets = new Set();\n\t\t\t\t\tshadowRootToSharedAccessibilityTargets.set(sourceShadowRoot, sharedAccessibilityTargets);\n\t\t\t\t}\n\t\t\t\tsharedAccessibilityTargets.add(item);\n\n\t\t\t\tcallAsync(() => {\n\t\t\t\t\tconst targetShadowRoot = targetRef.getRootNode();\n\t\t\t\t\n\t\t\t\t\tconst targetItemsWithSharedShadow = Array.from(sharedAccessibilityTargets).filter(\n\t\t\t\t\t\tt => t.targetRef.isSet() && t.targetRef.getRootNode() === targetShadowRoot\n\t\t\t\t\t);\n\t\n\t\t\t\t\tlet targetItemsSharedShadowQueue = shadowRootToAccessibilityTargetsItemsQueue.get(targetShadowRoot);\n\t\t\t\t\tif (!targetItemsSharedShadowQueue) {\n\t\t\t\t\t\ttargetItemsSharedShadowQueue = new Set();\n\t\t\t\t\t\tshadowRootToAccessibilityTargetsItemsQueue.set(targetShadowRoot, targetItemsSharedShadowQueue);\n\t\t\t\t\t}\n\t\t\t\t\ttargetItemsSharedShadowQueue.add(item);\n\t\n\t\t\t\t\tif (targetItemsSharedShadowQueue.size === targetItemsWithSharedShadow.length) {\n\t\t\t\t\t\thandleAccessibilityTargets(targetItemsSharedShadowQueue);\n\t\t\t\t\t\tshadowRootToSharedAccessibilityTargets.delete(sourceShadowRoot);\n\t\t\t\t\t\tshadowRootToAccessibilityTargetsItemsQueue.delete(targetShadowRoot);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t};\n\t\t\t\n\t\t\t// Subscribe for any changes to the aria ref so we can replace the cloned node\n\t\t\titem.callback = callback;\n\t\t\titem.targetRef.subscribe({element: node, attribute: item.ariaAttribute}, callback);\n\t\t}\n\t}\n\n\tfunction ariaSetVnode(vnode) {\t\n\t\tfor (let i = 0; i < accessibilityTargets.length; i++) {\n\t\t\tconst item = accessibilityTargets[i];\n\t\t\titem.vnode = vnode;\n\t\t}\n\t}\n\n\treturn {handleAriaAccessibility, ariaSetVnode, requiresRef: !!(ariaRef || accessibilityTargets.length)};\n}\n\nfunction handleAccessibilityTargets(targetItemsShadowQueue) {\n\t// Separate ariaRefs that do and do not have a parent.\n\t// Those without a parent are the refs that should be cloned\n\tconst targetRefToTreeNode = new Map();\n\tconst targetItemRoots = [];\n\tconst targetItems = Array.from(targetItemsShadowQueue);\n\tfor (let i = 0; i < targetItems.length; i++) {\n\t\tconst targetItem = targetItems[i];\n\n\t\tlet treeNode = targetRefToTreeNode.get(targetItem.targetRef);\n\t\tif (!treeNode) {\n\t\t\ttreeNode = {\n\t\t\t\ttargetItems: [],\n\t\t\t\tchildren: [],\n\t\t\t\ttargetRef: targetItem.targetRef,\n\t\t\t\tparentTargetRef: null\n\t\t\t};\n\t\t\ttargetRefToTreeNode.set(targetItem.targetRef, treeNode);\n\t\t}\n\t\ttreeNode.targetItems.push(targetItem);\n\n\t\tlet parentAriaRef = targetItem.targetRef.getParentAriaRef();\n\t\twhile (parentAriaRef) {\n\t\t\tif (targetItems.find(item => item.targetRef === parentAriaRef)) {\n\t\t\t\tlet parentNode = targetRefToTreeNode.get(parentAriaRef);\n\t\t\t\tif (!parentNode) {\n\t\t\t\t\tparentNode = {\n\t\t\t\t\t\ttargetItems: [],\n\t\t\t\t\t\tchildren: [],\n\t\t\t\t\t\ttargetRef: parentAriaRef,\n\t\t\t\t\t\tparentTargetRef: null\n\t\t\t\t\t};\n\t\t\t\t\ttargetRefToTreeNode.set(parentAriaRef, parentNode);\n\t\t\t\t}\n\n\t\t\t\ttreeNode.parentTargetRef = parentAriaRef;\n\t\t\t\tparentNode.children.push(targetItem);\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tparentAriaRef = parentAriaRef.getParentAriaRef();\n\t\t}\n\n\t\tif (!parentAriaRef)\n\t\t\ttargetItemRoots.push(targetItem);\n\t}\n\n\t// Loop over targetItemRoots:\n\t// For each one, if it hasn't been cloned yet, clone into DOM and then for each child:\n\t// If it hasn't been handled yet, create the query selector from the child targetRef to the\n\t// parent targetRef, then use that selector on the cloned item, then edit the returned element\n\t// to have the correct id\n\tconst cloned = new Map();\n\tconst targetRefToQuerySelector = new Map();\n\tfor (let i = 0; i < targetItemRoots.length; i++) {\n\t\tconst rootTargetItem = targetItemRoots[i];\n\t\tconst firstItemWithTargetRef = cloned.get(rootTargetItem.targetRef);\n\t\trootTargetItem.element.setAttribute(\n\t\t\trootTargetItem.ariaAttribute,\n\t\t\tfirstItemWithTargetRef ? firstItemWithTargetRef.id : rootTargetItem.id\n\t\t);\n\t\tif (!firstItemWithTargetRef) {\n\t\t\tcloned.set(rootTargetItem.targetRef, rootTargetItem);\n\n\t\t\tconst clone = rootTargetItem.targetRef.cloneNode(true);\n\t\t\tclone.id = rootTargetItem.id;\n\t\t\tclone.setAttribute('aria-hidden', true);\n\n\t\t\tconst container = document.createElement('div');\n\t\t\tcontainer.style =\n\t\t\t\t'position: absolute; overflow: hidden; width: 1px; height: 1px; margin: 0; border: none; padding: 0; white-space: nowrap; clip: rect(0 0 0 0); clip-path: inset(50%);';\n\t\t\tcontainer.appendChild(clone);\n\n\t\t\tif (rootTargetItem.currentClone && rootTargetItem.currentClone.parentNode)\n\t\t\t\trootTargetItem.currentClone.parentNode.removeChild(rootTargetItem.currentClone);\n\n\t\t\trootTargetItem.element.getRootNode().appendChild(container);\n\t\t\trootTargetItem.currentClone = container;\n\t\t}\n\n\t\tlet children = [...targetRefToTreeNode.get(rootTargetItem.targetRef).children];\n\t\ttargetRefToQuerySelector.set(rootTargetItem.targetRef, '');\n\t\twhile (children.length) {\n\t\t\tconst childItem = children.shift();\n\n\t\t\tconst firstItemWithTargetRef = cloned.get(childItem.targetRef);\n\t\t\tconst itemId = firstItemWithTargetRef ? firstItemWithTargetRef.id : childItem.id;\n\t\t\tchildItem.element.setAttribute(childItem.ariaAttribute, itemId);\n\t\t\tif (!firstItemWithTargetRef) {\n\t\t\t\tcloned.set(childItem.targetRef, childItem);\n\n\t\t\t\tconst treeNode = targetRefToTreeNode.get(childItem.targetRef);\n\t\t\t\tconst selections = [];\n\n\t\t\t\tlet currentParent;\n\t\t\t\tlet currentChild = childItem.targetRef;\n\t\t\t\tdo {\n\t\t\t\t\tcurrentParent = currentChild.getParentAriaRef();\n\t\t\t\t\tconst partialSelector = currentParent.getChildQuerySelector(currentChild);\n\t\t\t\t\tselections.push(partialSelector);\n\t\t\t\t\tcurrentChild = currentParent;\n\t\t\t\t} while (currentParent !== rootTargetItem.targetRef);\n\n\t\t\t\tconst selector = selections.reverse().join(' > ');\n\t\t\t\tconst node = rootTargetItem.currentClone.querySelector(selector);\n\n\t\t\t\tnode.id = itemId;\n\t\t\t\tchildren = children.concat(treeNode.children);\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction buildQuerySelector(parent, child) {\n\tconst path = [];\n\tlet el = child;\n\twhile (el !== parent) {\n\t\tlet position = 0;\n\t\tlet current = el;\n\t\twhile (current) {\n\t\t\tif (current.tagName === el.tagName)\n\t\t\t\tposition += 1;\n\n\t\t\tcurrent = current.previousElementSibling;\n\t\t}\n\n\t\tpath.push(`${el.tagName.toLowerCase()}:nth-of-type(${position})`);\n\n\t\tel = el.parentNode;\n\t}\n\n\treturn path.reverse().join(' > ');\n}","import React from 'react';\nimport camelCase from './camelCase';\nimport {ATTRIBUTES, MAPPED_TO_PROPS} from './constants';\nimport ariaRefHelpers from './ariaRefHelpers';\n\nexport default function createElement(name, props = {}, ...children) {\n\tfunction isSeismicComponent(name) {\n\t\treturn typeof name === 'string' && name.indexOf('-') !== -1;\n\t}\n\n\tfunction isAttribute(name) {\n\t\treturn ATTRIBUTES.indexOf(name) !== -1\n\t\t\t|| name.startsWith('aria-')\n\t\t\t|| name.startsWith('data-');\n\t}\n\n\tfunction isMappedToProps(name) {\n\t\treturn MAPPED_TO_PROPS.indexOf(name) !== -1;\n  }\n  \n  const {handleAriaAccessibility, ariaSetVnode, requiresRef} = ariaRefHelpers(name, props);\n\t\n\tif (props && !!Object.keys(props).length && isSeismicComponent(name)) {\n\t\tconst existingRef = props.ref && typeof props.ref === 'function' && props.ref;\n\t\tconst attributes = {};\n\t\tconst properties = {};\n\n\t\tfor (const name in props) {\n\t\t\tif (isAttribute(name))\n\t\t\t\tattributes[name] = props[name];\n\t\t\telse\n\t\t\t\tproperties[camelCase(name)] = props[name];\n\n\t\t\tif (isMappedToProps(name))\n\t\t\t\tproperties[name] = props[name];\n\t\t}\n\n\t\tif (!!Object.keys(properties).length) {\n\t\t\tconst vnode = React.createElement(\n\t\t\t\tname,\n\t\t\t\tObject.assign({}, attributes, {ref: node => {\n\t\t\t\t\thandleAriaAccessibility(node);\n\t\t\t\t\t\n\t\t\t\t\tif (!node)\n\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\n\t\t\t\t\texistingRef && existingRef(node);\n\t\t\t\t\tObject.assign(node, properties);\n\t\t\t\t}}),\n\t\t\t\t...children\n      );\n\n      ariaSetVnode(vnode);\n\n      return vnode;\n\t\t}\n\t}\n\n  if (requiresRef) {\n    const vnode = React.createElement(\n      name,\n      {\n        ...props,\n        ref: node => {\n          handleAriaAccessibility(node);\n          \n          if (props && props.ref) {\n            props.ref(node);\n          }\n        }\n      },\n      ...children\n    );\n  \n    ariaSetVnode(vnode);\n    \n    return vnode;\n  } else {\n    return React.createElement(name, props, ...children);\n  }\n}\n","import * as uiInternal from '@servicenow/ui-internal';\n\nconst {callAsync, noop} = uiInternal;\n/**\n * Connects the React renderer\n * @method onConnect\n * @private\n * @param {HTMLElement} element Element be connected\n * @param {Function} dispatch function contextualized to the element\n * @param {Function} next function to call after connecting\n */\nexport default function onConnect(element, dispatch, next = noop) {\n\tcallAsync(next);\n}\n","import React from 'react';\nimport * as uiInternal from '@servicenow/ui-internal';\nimport log from './log';\n\nconst {errorTypes, locations, toLower, allLogTypes: logTypes} = uiInternal;\nclass ErrorBoundary extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {hasError: false};\n\t}\n\n\tcomponentDidCatch(error) {\n\t\tconst {element, helpers} = this.props;\n\n\t\thelpers.dispatch(\n\t\t\terrorTypes.COMPONENT_ERROR_THROWN,\n\t\t\t{host: element.host, location: locations.VIEW, details: {boundaryError: true}, error},\n\t\t\t{internal: true},\n\t\t\ttrue\n\t\t);\n\n\t\tthis.setState({hasError: true});\n\n\t\tconst tagName = toLower(element.host.tagName);\n\t\tconst componentId = element.host.getAttribute('component-id');\n\n\t\tlog(\n\t\t\t`An Error occured in <${tagName} component-id=\"${componentId}\"/>. COMPONENT_ERROR_THROWN action type is dispatched with error details.`,\n\t\t\t{error, level: logTypes.ERROR, host: element.host, origin: 'componentDidCatch'}\n\t\t);\n\t}\n\n\trender() {\n\t\tif (this.state.hasError) return null;\n\n\t\treturn this.props.children;\n\t}\n}\n\nexport default ErrorBoundary;\n","import '@servicenow/now-highlighted-value';\n// eslint-disable-next-line no-unused-vars\nimport react from '@servicenow/ui-renderer-react';\nimport { isEmpty } from 'lodash';\nimport React from 'react';\n\n// TODO: Currently React components supports only React fragments\n// To be removed in future when all components are migrated to Snabdom\nexport const renderHighlightedValueReact = highlightedValue => {\n\tconst {\n\t\tvalue: highlightedValueLabel,\n\t\tstatus,\n\t\tshowIcon,\n\t\tvariantName,\n\t\tcolorName,\n\t\ticonName\n\t} = highlightedValue || {};\n\n\treturn (\n\t\t<React.Fragment>\n\t\t\t{!isEmpty(highlightedValue) && (\n\t\t\t\t<now-highlighted-value\n\t\t\t\t\tslot=\"label-end\"\n\t\t\t\t\tlabel={highlightedValueLabel}\n\t\t\t\t\tcolor={colorName}\n\t\t\t\t\tshow-icon={showIcon}\n\t\t\t\t\tvariant={variantName}\n\t\t\t\t\ticon={showIcon ? iconName : null}\n\t\t\t\t\tstatus={!colorName ? status : null}\n\t\t\t\t></now-highlighted-value>\n\t\t\t)}\n\t\t</React.Fragment>\n\t);\n};\n","import React from 'react';\n\n//TODO - Can be removed once all components are converted to seismic\nexport const ForwardProperties = Component =>\n\tfunction RegisteredComponent({ properties, ...rest }) {\n\t\treturn React.createElement(Component, {\n\t\t\t...properties,\n\t\t\t...rest,\n\t\t\tproperties\n\t\t});\n\t};\n","/**\n * HOC to provide normalized `dispatch`, `onValueChange`, and\n * `onStagedValueChange` prop functions for wrapped components.\n *\n * `onValueChange` and `onStagedValueChange` should be called\n * with a single object parameter, which should contain the data\n * payload to event up to the parent/through Seismic\n *\n * e.g.:\n *\n *   this.props.onValueChange({ value: 'the value' });\n *   this.props.onStagedValueChange({ value: 'the staged value' })\n *\n * The on*ValueChange functions also handle dispatching the event\n * up through Seismic.\n *\n * By default, this HOC also caches the payload between multiple\n * on*ValueChange calls, preventing sequential calls with the same payload.\n * This behavior can be disabled by providing the `cache: false` option.\n */\nimport {\n\tisEqualWith,\n\tisFunction,\n\tisNil,\n\tnoop,\n\tpick,\n\tisObject,\n\tcamelCase,\n\tcurry,\n\tisUndefined,\n\tset\n} from 'lodash';\nimport React from 'react';\n\nconst allLowerCase = s => camelCase(s).toLowerCase();\nconst undefinedToNull = thing => (isUndefined(thing) ? null : thing);\n\n/**\n * Parent on*ValueChange functions originally supported the following\n * signature:\n *\n * (event, name, value, displayValue)\n *\n * But having the most useful pieces of data as the 3rd and 4th\n * argument sucks + it's inconsistent with our dispatch data. This\n * conditionally allows passing the entire payload obj as first\n * parameter if the callback isn't expecting multiple args.\n */\nexport const adaptCallbackForLegacyAPI = callback => payload => {\n\tif (!isFunction(callback) || !isObject(payload)) {\n\t\treturn false;\n\t}\n\n\tconst args =\n\t\tcallback.length > 1\n\t\t\t? [\n\t\t\t\t\tpayload.event,\n\t\t\t\t\tpayload.name,\n\t\t\t\t\tpayload.value,\n\t\t\t\t\tpayload.displayValue,\n\t\t\t\t\tpayload.error,\n\t\t\t\t\tpayload.additionalInfo\n\t\t\t  ].map(undefinedToNull)\n\t\t\t: [payload];\n\n\tcallback(...args);\n\n\treturn true;\n};\n\nconst createHOC = curry(\n\t(\n\t\t{\n\t\t\tinitialValueProp = 'value',\n\t\t\tinitialDisplayValueProp = 'displayValue',\n\t\t\tcache = true,\n\t\t\tstopBubbling = []\n\t\t},\n\t\tControl\n\t) =>\n\t\tclass OnValueChangeProvider extends React.Component {\n\t\t\tstatic displayName = `OnValueChangeProvider(${\n\t\t\t\tControl.name || Control.displayName || 'Component'\n\t\t\t})`;\n\t\t\tstatic behaviors = Control.behaviors;\n\t\t\tstatic defaultProps = Control.defaultProps;\n\t\t\tstatic propTypes = Control.propTypes;\n\t\t\tstatic properties = Control.properties;\n\t\t\tstatic style = Control.style;\n\t\t\tstatic initialState = Control.initialState;\n\t\t\tstatic actionHandlers = stopBubbling.reduce((acc, curr) => {\n\t\t\t\tif (curr.indexOf('#') !== -1) {\n\t\t\t\t\tset(acc, curr, { stopPropagation: true });\n\t\t\t\t} else {\n\t\t\t\t\tset(acc, `${curr}#VALUE_CHANGED`, { stopPropagation: true });\n\t\t\t\t\tset(acc, `${curr}#STAGED_VALUE_CHANGED`, { stopPropagation: true });\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t}, Control.actionHandlers);\n\n\t\t\tconstructor(props) {\n\t\t\t\tsuper(props);\n\t\t\t\tthis.componentName = Control.componentName || props.componentName;\n\t\t\t\tthis.componentNameWithHash = this.componentName\n\t\t\t\t\t? `${this.componentName\n\t\t\t\t\t\t\t.replace(new RegExp('-', 'g'), '_')\n\t\t\t\t\t\t\t.toUpperCase()}#`\n\t\t\t\t\t: '';\n\t\t\t\tthis.state = {\n\t\t\t\t\tcallbacks: this.createValueChangeCallbacks(props),\n\t\t\t\t\tdispatchCache: {\n\t\t\t\t\t\t[`${this.componentNameWithHash}VALUE_CHANGED`]: {\n\t\t\t\t\t\t\tvalue: props[initialValueProp],\n\t\t\t\t\t\t\tdisplayValue: props[initialDisplayValueProp]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[`${this.componentNameWithHash}STAGED_VALUE_CHANGED`]: {\n\t\t\t\t\t\t\tvalue: props[initialValueProp],\n\t\t\t\t\t\t\tdisplayValue: props[initialDisplayValueProp]\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tcomponentWillReceiveProps(newProps) {\n\t\t\t\tif (\n\t\t\t\t\tnewProps.onValueChange !== this.props.onValueChange ||\n\t\t\t\t\tnewProps.onStagedValueChange !== this.props.onStagedValueChange ||\n\t\t\t\t\tnewProps.dispatch !== this.props.dispatch ||\n\t\t\t\t\tnewProps.name !== this.props.name\n\t\t\t\t) {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tcallbacks: this.createValueChangeCallbacks(newProps)\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tnewProps[initialValueProp] !== this.props[initialValueProp] ||\n\t\t\t\t\tnewProps[initialDisplayValueProp] !==\n\t\t\t\t\t\tthis.props[initialDisplayValueProp]\n\t\t\t\t) {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tdispatchCache: {\n\t\t\t\t\t\t\t[`${this.componentNameWithHash}VALUE_CHANGED`]: {\n\t\t\t\t\t\t\t\tvalue: newProps[initialValueProp],\n\t\t\t\t\t\t\t\tdisplayValue: newProps[initialDisplayValueProp]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t[`${this.componentNameWithHash}STAGED_VALUE_CHANGED`]: {\n\t\t\t\t\t\t\t\tvalue: newProps[initialValueProp],\n\t\t\t\t\t\t\t\tdisplayValue: newProps[initialDisplayValueProp]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tdoesPayloadMatchCache(payload, actionType) {\n\t\t\t\tconst cache = this.state.dispatchCache[actionType];\n\n\t\t\t\tif (!cache) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tconst compare = (a, b) => {\n\t\t\t\t\t// treat null and undefined as equal\n\t\t\t\t\tif (isNil(a) && isNil(b)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\t// returning `undefined` to default to normal `isEqual` behavior\n\t\t\t\t};\n\t\t\t\t//ignoring cache when onValueChange is called from onBlur. We need to notify form even when the user enters the same value consecutively multiple times. This is done to maintain parity with platform so that onChange client script can be run for every value change.\n\t\t\t\treturn (\n\t\t\t\t\t!payload.ignoreCache &&\n\t\t\t\t\tisEqualWith(payload.error, cache.error, compare) &&\n\t\t\t\t\tisEqualWith(payload.value, cache.value, compare) &&\n\t\t\t\t\tisEqualWith(payload.displayValue, cache.displayValue, compare)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tcreateValueChangeCallbacks(props) {\n\t\t\t\tconst callbackAndDispatch = (callback, actionType) => payload => {\n\t\t\t\t\tif (!isObject(payload)) {\n\t\t\t\t\t\tpayload = {};\n\t\t\t\t\t}\n\n\t\t\t\t\t// Don't emit anything if the data hasn't actually changed...\n\t\t\t\t\tif (cache && this.doesPayloadMatchCache(payload, actionType)) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!payload.name && props.name) {\n\t\t\t\t\t\tpayload = {\n\t\t\t\t\t\t\t...payload,\n\t\t\t\t\t\t\tname: props.name\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\tadaptCallbackForLegacyAPI(callback)(payload);\n\n\t\t\t\t\t// When a direct callback is provided, just use that instead of\n\t\t\t\t\t// dispatching.\n\t\t\t\t\tif (\n\t\t\t\t\t\tisFunction(props.dispatch) &&\n\t\t\t\t\t\t(!isFunction(callback) || actionType.includes('#'))\n\t\t\t\t\t) {\n\t\t\t\t\t\t// We used to put the dispatch data in an extra level of nesting to\n\t\t\t\t\t\t// support old Seismic behavior. Keep that behavior for backwards\n\t\t\t\t\t\t// compatibility, also migrate towards flattening the data.\n\t\t\t\t\t\tprops.dispatch(actionType, {\n\t\t\t\t\t\t\t[allLowerCase(actionType)]: payload,\n\t\t\t\t\t\t\t...payload\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\t// track value changed calls that go through the callback\n\t\t\t\t\tconst propValue =\n\t\t\t\t\t\tprops.initialValue === undefined ? props.value : props.initialValue;\n\t\t\t\t\tif (\n\t\t\t\t\t\tactionType.includes('#VALUE_CHANGED') &&\n\t\t\t\t\t\t!props.disableTracking &&\n\t\t\t\t\t\tpropValue !== payload.value\n\t\t\t\t\t) {\n\t\t\t\t\t\tprops.dispatch('TRACK', {\n\t\t\t\t\t\t\tmetaData: {\n\t\t\t\t\t\t\t\tname: props.name,\n\t\t\t\t\t\t\t\tfieldType: this.componentName\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tif (cache) {\n\t\t\t\t\t\tthis.setState({\n\t\t\t\t\t\t\tdispatchCache: {\n\t\t\t\t\t\t\t\t...this.state.dispatchCache,\n\t\t\t\t\t\t\t\t[actionType]: pick(payload, ['value', 'displayValue', 'error'])\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\treturn payload;\n\t\t\t\t};\n\n\t\t\t\treturn {\n\t\t\t\t\tonValueChange: callbackAndDispatch(\n\t\t\t\t\t\tprops.onValueChange,\n\t\t\t\t\t\t`${this.componentNameWithHash}VALUE_CHANGED`\n\t\t\t\t\t),\n\t\t\t\t\tonStagedValueChange: callbackAndDispatch(\n\t\t\t\t\t\tprops.onStagedValueChange,\n\t\t\t\t\t\t`${this.componentNameWithHash}STAGED_VALUE_CHANGED`\n\t\t\t\t\t),\n\n\t\t\t\t\tdispatch: isFunction(props.dispatch) ? props.dispatch : noop\n\t\t\t\t};\n\t\t\t}\n\n\t\t\trender() {\n\t\t\t\treturn <Control {...this.props} {...this.state.callbacks} />;\n\t\t\t}\n\t\t}\n);\n\n// allow first param config to be optional\nexport default (configOrControl, ...args) => {\n\t// withValueChangeCallbacks(Component)\n\tif (isFunction(configOrControl)) {\n\t\treturn createHOC({}, configOrControl);\n\t}\n\n\t// withValueChangeCallbacks(config, Component) or\n\t// withValueChangeCallbacks(config)(Component)\n\treturn createHOC(configOrControl, ...args);\n};\n","import ControlledField from './ControlledField';\nimport ComponentBase from './ComponentBase';\n\nexport { onLeave, default as FocusWatcher } from './FocusWatcher';\nexport { default as ShadyDOMEventFixer } from './ShadyDOMEventFixer';\nexport { renderHighlightedValueReact } from './renderHighlightedValueReact';\nexport { ForwardProperties } from './forwardProperties';\n\nexport { default as withValueChangeCallbacks } from './withValueChangeCallbacks';\n\nexport const fieldPropTypes = ComponentBase.propTypes;\nexport const controlledFieldPropTypes = ControlledField.propTypes;\n","import { isFunction, isObject, isUndefined } from 'lodash';\n\nconst undefinedToNull = thing => (isUndefined(thing) ? null : thing);\n\n/**\n * Parent on*ValueChange functions originally supported the following\n * signature:\n *\n * (event, name, value, displayValue)\n *\n * But having the most useful pieces of data as the 3rd and 4th\n * argument sucks + it's inconsistent with our dispatch data. This\n * conditionally allows passing the entire payload obj as first\n * parameter if the callback isn't expecting multiple args.\n */\nexport const adaptCallbackForLegacyAPI = callback => payload => {\n\tif (!isFunction(callback) || !isObject(payload)) {\n\t\treturn false;\n\t}\n\n\tconst args =\n\t\tcallback.length > 1\n\t\t\t? [\n\t\t\t\t\tpayload.event,\n\t\t\t\t\tpayload.name,\n\t\t\t\t\tpayload.value,\n\t\t\t\t\tpayload.displayValue,\n\t\t\t\t\tpayload.error,\n\t\t\t\t\tpayload.additionalInfo\n\t\t\t  ].map(undefinedToNull)\n\t\t\t: [payload];\n\n\tcallback(...args);\n\n\treturn true;\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport { debounce, curry, find } from 'lodash';\n\nimport { pick, get, isNil, isEqualWith } from './utils';\n\nimport { adaptCallbackForLegacyAPI } from './withValueChangeCallbacks';\nimport { CALLBACK_AND_DISPATCH } from './constants';\n\nconst { COMPONENT_CONNECTED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport const behavior = 'withValueChangeCallbackBehavior';\n\nconst createCallbacks = (dispatch, { onValueChange, onStagedValueChange }) => {\n\tconst createdCallback = curry((callback, isValueChanged, dispatchPayload) => {\n\t\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\t\tcallback,\n\t\t\tisValueChanged,\n\t\t\tdispatchPayload\n\t\t});\n\t});\n\t// only debounce staged value change, as we don't want to call it every time the value changes\n\t// in the field with the focus present\n\treturn {\n\t\tonValueChange: createdCallback(onValueChange, true),\n\t\tonStagedValueChange: debounce(\n\t\t\tcreatedCallback(onStagedValueChange, false),\n\t\t\t250\n\t\t)\n\t};\n};\n\nexport const withValueChangeCallbacksView = view => (state, helpers) => {\n\tif (state.properties.createdCallbacks) {\n\t\treturn view(state, helpers);\n\t}\n\tconst dispatch = state.helpers?.dispatch || helpers?.dispatch;\n\tconst { onValueChange, onStagedValueChange } = createCallbacks(dispatch, {\n\t\tonValueChange: state.properties.onValueChange,\n\t\tonStagedValueChange: state.properties.onStagedValueChange\n\t});\n\treturn view({ ...state, onValueChange, onStagedValueChange }, helpers);\n};\n\nexport const componentConnectedEffect =\n\t(\n\t\tbehaviorName,\n\t\t{ initialValueProp, initialDisplayValueProp, stopPropagation }\n\t) =>\n\t({ host, properties, updateState }) => {\n\t\tconst { name } = properties;\n\t\tconst parentBehaviors = get(\n\t\t\thost.getRootNode(),\n\t\t\t'host.nowElementConfig.behaviors',\n\t\t\t{}\n\t\t);\n\t\tif (find(parentBehaviors, { name: behaviorName }) && !stopPropagation) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (properties.createdCallbacks) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst componentName = host.tagName.replace(new RegExp('-', 'g'), '_');\n\t\tupdateState([\n\t\t\t{\n\t\t\t\tpath: `behaviors.${behaviorName}.dispatchCache`,\n\t\t\t\tvalue: {\n\t\t\t\t\t[`${componentName}#VALUE_CHANGED`]: {\n\t\t\t\t\t\tvalue: properties[initialValueProp],\n\t\t\t\t\t\tdisplayValue: properties[initialDisplayValueProp],\n\t\t\t\t\t\tname\n\t\t\t\t\t},\n\t\t\t\t\t[`${componentName}#STAGED_VALUE_CHANGED`]: {\n\t\t\t\t\t\tvalue: properties[initialValueProp],\n\t\t\t\t\t\tdisplayValue: properties[initialDisplayValueProp],\n\t\t\t\t\t\tname\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t}\n\t\t]);\n\t};\n\nexport const propertyChangedEffect =\n\t(\n\t\tbehaviorName,\n\t\t{ initialValueProp, initialDisplayValueProp, stopPropagation } = {}\n\t) =>\n\t({\n\t\thost,\n\t\taction: {\n\t\t\tpayload: { name, value }\n\t\t},\n\t\tupdateState,\n\t\tproperties\n\t}) => {\n\t\t// don't add withValueChangeCallback functionality if direct parent is already handling it\n\t\tconst parentBehaviors = get(\n\t\t\thost.getRootNode(),\n\t\t\t'host.nowElementConfig.behaviors',\n\t\t\t{}\n\t\t);\n\t\tif (find(parentBehaviors, { name: behaviorName }) && !stopPropagation) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (properties.createdCallbacks) {\n\t\t\treturn;\n\t\t}\n\n\t\t// value can change via props (from forms/client scripting), so we update the dispatchCache\n\t\tconst componentName = host.tagName.replace(new RegExp('-', 'g'), '_');\n\t\tif (name === initialValueProp || name === initialDisplayValueProp) {\n\t\t\tconst updateKey = name === initialValueProp ? 'value' : 'displayValue';\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: `behaviors.${behaviorName}.dispatchCache[${componentName}#VALUE_CHANGED].${updateKey}`,\n\t\t\t\t\tvalue,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: `behaviors.${behaviorName}.dispatchCache[${componentName}#STAGED_VALUE_CHANGED].${updateKey}`,\n\t\t\t\t\tvalue,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t}\n\t\t\t]);\n\t\t}\n\t};\n\nexport const callbackAndDispatchEffect =\n\t(behaviorName, { cache, initialValueProp, stopPropagation }) =>\n\t({\n\t\thost,\n\t\tstate,\n\t\tupdateState,\n\t\tproperties,\n\t\tdispatch,\n\t\tpayload: { callback, dispatchPayload, isValueChanged }\n\t}) => {\n\t\t// don't add withValueChangeCallback functionality if direct parent is already handling it\n\t\tconst parentBehaviors = get(\n\t\t\thost.getRootNode(),\n\t\t\t'host.nowElementConfig.behaviors',\n\t\t\t{}\n\t\t);\n\t\tif (find(parentBehaviors, { name: behaviorName }) && !stopPropagation) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (properties.createdCallbacks) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst componentName = host.tagName.replace(new RegExp('-', 'g'), '_');\n\t\tconst actionToDispatch = `${componentName}#${\n\t\t\tisValueChanged ? 'VALUE_CHANGED' : 'STAGED_VALUE_CHANGED'\n\t\t}`;\n\n\t\t// check if payload matches cache, don't do anything if it hasn't changed\n\t\tconst dispatchCache =\n\t\t\tstate.behaviors[behaviorName].dispatchCache?.[actionToDispatch];\n\n\t\tconst compare = (a, b) => {\n\t\t\t// treat null and undefined as equal\n\t\t\tif (isNil(a) && isNil(b)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t};\n\n\t\t// make sure to give payload name from props if it wasn't given explicitly\n\t\tif (!dispatchPayload.name && properties.name) {\n\t\t\tdispatchPayload.name = properties.name;\n\t\t}\n\n\t\tconst payloadMatchesCache =\n\t\t\tisEqualWith(dispatchPayload.name, dispatchCache?.name, compare) &&\n\t\t\tisEqualWith(dispatchPayload.error, dispatchCache?.error, compare) &&\n\t\t\tisEqualWith(dispatchPayload.value, dispatchCache?.value, compare) &&\n\t\t\tisEqualWith(\n\t\t\t\tdispatchPayload.displayValue,\n\t\t\t\tdispatchCache?.displayValue,\n\t\t\t\tcompare\n\t\t\t);\n\n\t\tif (cache && dispatchCache && payloadMatchesCache) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// call callback\n\t\tadaptCallbackForLegacyAPI(callback)(dispatchPayload);\n\n\t\t// Dispatch seismic action\n\t\tdispatch(actionToDispatch, dispatchPayload);\n\n\t\t// handle tracking that goes through here\n\t\tif (\n\t\t\tisValueChanged &&\n\t\t\tproperties[initialValueProp] !== dispatchPayload.value\n\t\t) {\n\t\t\tdispatch('TRACK', {\n\t\t\t\tmetaData: {\n\t\t\t\t\tname: properties.name,\n\t\t\t\t\tfieldType: componentName\n\t\t\t\t},\n\t\t\t\tadditionalOptions: { parentHandling: properties.disableTracking }\n\t\t\t});\n\t\t}\n\n\t\t// if cache, update the cache\n\t\tif (dispatchCache) {\n\t\t\tconst valueChangeAction = `${componentName}#VALUE_CHANGED`;\n\t\t\tconst isStageChangedAction = !isValueChanged;\n\t\t\tconst clearValueChangedCacheUpdate = properties.allowFieldChangesAfterEveryStageChange && isStageChangedAction\n\t\t\t\t? [\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: `behaviors.${behaviorName}.dispatchCache[${valueChangeAction}]`,\n\t\t\t\t\t\tvalue: null,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t\t: [];\n\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: `behaviors.${behaviorName}.dispatchCache[${actionToDispatch}]`,\n\t\t\t\t\tvalue: pick(dispatchPayload, [\n\t\t\t\t\t\t'value',\n\t\t\t\t\t\t'displayValue',\n\t\t\t\t\t\t'error',\n\t\t\t\t\t\t'name'\n\t\t\t\t\t]),\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t},\n\t\t\t\t...clearValueChangedCacheUpdate\n\t\t\t]);\n\t\t}\n\t};\n\n/**\n * This behavior replaces the withValueChangeCallbacks HOC provided to normalize\n * `dispatch`, `onValueChange`, and `onStagedValueChange` prop functions for wrapped components.\n * This has had a significant improvement in typing performance and we can now handle cache in\n * state without triggering re-renders.\n *\n * `onValueChange` and `onStagedValueChange` should be called\n * with a single object parameter, which should contain the data\n * payload to event up to the parent/through Seismic\n *\n * e.g.:\n *\n * \tthis.props.onValueChange({ value: 'the value' });\n * \tthis.props.onStagedValueChange({ value: 'the staged value' })\n *\n * The on*ValueChange functions also handle dispatching the event\n * up through Seismic.\n *\n * By default, it also caches the payload between multiple\n * on*ValueChange calls, preventing sequential calls with the same payload.\n * This behavior can be disabled by providing the `cache: false` option.\n *\n *  Options (with defaults):\n *  initialValueProp = 'value',\n *  initialDisplayValueProp = 'displayValue',\n *  cache = true\n *  stopBubbling = []\n *\n *\n * ```js\n * import createWithValueChangeCallbackBehavior from '@devsnc/sn-controls-common';\n *\n * createCustomElement('sn-example', {\n *   // ...\n * behaviors: [ createWithValueChangeCallbackBehavior({cache: true}) ];\n * });\n * ```\n *\n * @seismicBehavior withValueChangeCallbacksBehavior\n * @summary Behavior used to normalize OnValueChange and onStagedValueChange callbacks\n */\n\nexport const createWithValueChangeCallbackBehavior = (options = {}) => {\n\tconst {\n\t\tinitialDisplayValueProp = 'displayValue',\n\t\tinitialValueProp = 'value',\n\t\tcache = true,\n\t\tstopPropagation = false\n\t} = options;\n\n\treturn {\n\t\tname: behavior,\n\t\tactionHandlers: {\n\t\t\t[COMPONENT_CONNECTED]: componentConnectedEffect(behavior, {\n\t\t\t\tinitialValueProp,\n\t\t\t\tinitialDisplayValueProp,\n\t\t\t\tstopPropagation\n\t\t\t}),\n\t\t\t[COMPONENT_PROPERTY_CHANGED]: propertyChangedEffect(behavior, {\n\t\t\t\tinitialValueProp,\n\t\t\t\tinitialDisplayValueProp,\n\t\t\t\tstopPropagation\n\t\t\t}),\n\t\t\t[CALLBACK_AND_DISPATCH]: {\n\t\t\t\teffect: ({\n\t\t\t\t\thost,\n\t\t\t\t\tstate,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tproperties,\n\t\t\t\t\tdispatch,\n\t\t\t\t\taction: { payload }\n\t\t\t\t}) => {\n\t\t\t\t\tconst { callback, dispatchPayload, isValueChanged } = payload;\n\t\t\t\t\tcallbackAndDispatchEffect(behavior, {\n\t\t\t\t\t\tcache,\n\t\t\t\t\t\tinitialValueProp,\n\t\t\t\t\t\tstopPropagation\n\t\t\t\t\t})({\n\t\t\t\t\t\thost,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tproperties,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tpayload: { callback, dispatchPayload, isValueChanged }\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tstopPropagation\n\t\t\t}\n\t\t}\n\t};\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport {\n\tdebounce,\n\tisEmpty,\n\ttoString,\n\tomit,\n\tisEqual,\n\tisFunction,\n\tget\n} from 'lodash';\n\nimport { CALLBACK_AND_DISPATCH_WITH_STATE, NOW_INPUT } from './constants';\nimport { isAttrTrue } from './utils';\nimport {\n\tcallbackAndDispatchEffect,\n\tcomponentConnectedEffect,\n\tpropertyChangedEffect\n} from './withValueChangeCallbacksBehavior';\nimport { validateInput } from './validations/onChangeValidation';\n\nconst { COMPONENT_CONNECTED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport const callbackWithStateBehavior = 'withStateBehavior';\n\nconst passthrough = s => ({\n\tvalue: s\n});\n\nconst merge = (oldObj, newObj) =>\n\tisEmpty(newObj) ? oldObj : { ...oldObj, ...newObj };\n\nconst debounceDispatch = fn => debounce(fn, 250);\n\nexport const updateAdditionalInfoState = (additionalInfo, updateState) => {\n\tfor (const prop in additionalInfo) {\n\t\tupdateState({\n\t\t\tpath: `${prop}`,\n\t\t\tvalue: additionalInfo[prop],\n\t\t\toperation: 'set',\n\t\t\tshouldRender: true\n\t\t});\n\t}\n};\n\nexport const createCallbacks = (\n\tdispatch,\n\t{ onValueChange, onStagedValueChange }\n) => {\n\tconst createdCallback =\n\t\t(callback, isValueChanged) =>\n\t\t(dispatchPayload, format = false) => {\n\t\t\tdispatch(CALLBACK_AND_DISPATCH_WITH_STATE, {\n\t\t\t\tcallback,\n\t\t\t\tisValueChanged,\n\t\t\t\tdispatchPayload: {\n\t\t\t\t\t...dispatchPayload,\n\t\t\t\t\tformat\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\t// only debounce staged value change, as we don't want to call it every time the value changes\n\t// in the field with the focus present\n\treturn {\n\t\tonValueChange: createdCallback(onValueChange, true),\n\t\tonStagedValueChange: debounceDispatch(\n\t\t\tcreatedCallback(onStagedValueChange, false)\n\t\t)\n\t};\n};\n\nexport const setInitialStateWithValue =\n\t(format = passthrough) =>\n\t({ properties }) => {\n\t\tconst { initialValue, initialDisplayValue } = properties;\n\t\tconst derivedInitialDisplayValue = toString(initialDisplayValue);\n\n\t\tconst { value, ...additionalInfo } = omit(\n\t\t\tformat(toString(initialValue), properties),\n\t\t\t['error']\n\t\t);\n\t\tconst displayValue = derivedInitialDisplayValue || value;\n\t\treturn {\n\t\t\tisSuggestionsOpened: false,\n\t\t\thasFocus: false,\n\t\t\tvalue: displayValue,\n\t\t\tstagedValue: displayValue,\n\t\t\t...additionalInfo\n\t\t};\n\t};\n\nexport const withState = view => (state, helpers) => {\n\tconst { dispatch, updateState } = helpers;\n\tconst { onValueChange, onStagedValueChange } = state.properties;\n\tconst {\n\t\tonValueChange: onValueChangeCallback,\n\t\tonStagedValueChange: onStagedValueChangeCallback\n\t} = createCallbacks(dispatch, {\n\t\tonValueChange,\n\t\tonStagedValueChange\n\t});\n\tconst { onFocus } = state.properties;\n\tconst onFocusEvent = event => {\n\t\tupdateState({\n\t\t\tpath: 'hasFocus',\n\t\t\tvalue: true,\n\t\t\toperation: 'set',\n\t\t\tshouldRender: true\n\t\t});\n\t\tif (isFunction(onFocus)) {\n\t\t\tonFocus(event);\n\t\t}\n\t};\n\tconst attrs = {\n\t\tonValueChange: onValueChangeCallback,\n\t\tonStagedValueChange: onStagedValueChangeCallback,\n\t\tonFocus: onFocusEvent,\n\t\tonChange: (event, encodedValue) =>\n\t\t\tdispatch('WITH_STATE_INTERNAL#ON_CHANGE', {\n\t\t\t\ttargetValue: encodedValue || get(event, 'target.value', ''),\n\t\t\t\tencodedValue\n\t\t\t}),\n\t\tonBlur: (event, targetValue) =>\n\t\t\tdispatch('WITH_STATE_INTERNAL#ON_BLUR', {\n\t\t\t\tevent,\n\t\t\t\ttargetValue: targetValue || event.target.value\n\t\t\t})\n\t};\n\treturn view({ ...state, ...attrs }, helpers);\n};\n\nexport const handleInitialValue = ({\n\trawValue,\n\tnewValue,\n\toldValue,\n\tstate,\n\tproperties,\n\tformat,\n\tupdateState\n}) => {\n\tif ((state.isBlur && !rawValue) || newValue !== oldValue) {\n\t\tconst {\n\t\t\tadditionalInfo: sAdditionalInfo,\n\t\t\tinternalValue,\n\t\t\tvalue: sValue,\n\t\t\terror: sError\n\t\t} = state;\n\t\tconst {\n\t\t\tvalue: formattedValue,\n\t\t\terror,\n\t\t\t...additionalInfo\n\t\t} = format(newValue, properties, sAdditionalInfo);\n\n\t\tconst mergedAdditionalInfo = merge(sAdditionalInfo, additionalInfo);\n\n\t\tif (\n\t\t\tnewValue !== internalValue ||\n\t\t\tformattedValue !== sValue ||\n\t\t\terror !== sError ||\n\t\t\tmergedAdditionalInfo !== sAdditionalInfo\n\t\t) {\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: `internalValue`,\n\t\t\t\t\tvalue: newValue,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: `value`,\n\t\t\t\t\tvalue: formattedValue,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: true\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: `additionalInfo`,\n\t\t\t\t\tvalue: mergedAdditionalInfo,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: `error`,\n\t\t\t\t\tvalue: error,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: `isBlur`,\n\t\t\t\t\tvalue: false,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t}\n\t\t\t]);\n\t\t\tupdateAdditionalInfoState(mergedAdditionalInfo, updateState);\n\t\t}\n\t}\n};\n\n/**\n * This behavior replaces the withState HOC provided to normalize\n * `dispatch`, `onValueChange`, and `onStagedValueChange`, `value`, `additionalInfo` props and functions for wrapped components.\n *\n *  Options (with defaults):\n *  initialValueProp = 'value',\n *  initialDisplayValueProp = 'displayValue',\n *  cache = true\n * \tparse = passthrough,\n *  format = passthrough,\n *  trackInputChange = false\n *\n *\n * ```js\n * import createWithStateBehavior from '@devsnc/sn-controls-common';\n *\n * createCustomElement('sn-example', {\n *   // ...\n * behaviors: [ createWithStateBehavior({cache: true}) ];\n * });\n * ```\n *\n * @seismicBehavior withStateBehavior\n * @summary Behavior used to provide value and additionalInfo in state.\n */\n\nexport const createWithStateBehavior = (options = {}) => {\n\tconst {\n\t\tinitialValueProp = 'value',\n\t\tinitialDisplayValueProp = 'displayValue',\n\t\tcache = true,\n\t\tparse = passthrough,\n\t\tformat = passthrough,\n\t\ttrackInputChange = false,\n\t\teventBased = true,\n\t\tfieldChangeHandlers = {\n\t\t\tonBlur: NOW_INPUT.INVALID_SET,\n\t\t\tonChange: NOW_INPUT.INPUT\n\t\t},\n\t\tforceRenderOnBlur\n\t} = options;\n\n\tconst parseAndFormat = (value, props, additionalInfo = {}) => {\n\t\tconst { value: parsedValue, error } = parse(value, props, additionalInfo);\n\t\tif (!error) {\n\t\t\tconst { value: formattedValue, error } = format(\n\t\t\t\tparsedValue,\n\t\t\t\tprops,\n\t\t\t\tadditionalInfo\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tparsedValue,\n\t\t\t\tformattedValue,\n\t\t\t\tadditionalInfo,\n\t\t\t\terror\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tparsedValue,\n\t\t\tformattedValue: value,\n\t\t\tadditionalInfo,\n\t\t\terror\n\t\t};\n\t};\n\n\tconst inputChangeIsTracked = state => trackInputChange && !state.inputChanged;\n\n\tconst componentConnectedEffectWithState = ({\n\t\thost,\n\t\tproperties,\n\t\tupdateState\n\t}) => {\n\t\tcomponentConnectedEffect(callbackWithStateBehavior, {\n\t\t\tinitialValueProp,\n\t\t\tinitialDisplayValueProp\n\t\t})({ host, properties, updateState });\n\t\tconst {\n\t\t\tinitialValue: pInitialValue,\n\t\t\tinitialDisplayValue: pInitialDisplayValue\n\t\t} = properties;\n\n\t\tconst initialValue = toString(pInitialValue);\n\t\tconst initialDisplayValue = toString(pInitialDisplayValue);\n\n\t\tconst { value, error, ...additionalInfo } = format(\n\t\t\tinitialValue,\n\t\t\tproperties\n\t\t);\n\n\t\tupdateState([\n\t\t\t{\n\t\t\t\tpath: `internalValue`,\n\t\t\t\tvalue: initialValue,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `value`,\n\t\t\t\tvalue: initialDisplayValue || value,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `additionalInfo`,\n\t\t\t\tvalue: additionalInfo,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `error`,\n\t\t\t\tvalue: error,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `isBlur`,\n\t\t\t\tvalue: false,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t}\n\t\t]);\n\t\tif (trackInputChange) {\n\t\t\tupdateState({\n\t\t\t\tpath: 'inputChanged',\n\t\t\t\tvalue: false,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t});\n\t\t}\n\t\tupdateAdditionalInfoState(additionalInfo, updateState);\n\t};\n\n\tconst propertyChangedEffectWithState = ({\n\t\thost,\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue }\n\t\t},\n\t\tstate,\n\t\tproperties,\n\t\tupdateState\n\t}) => {\n\t\tpropertyChangedEffect(callbackWithStateBehavior, {\n\t\t\tinitialValueProp,\n\t\t\tinitialDisplayValueProp\n\t\t})({\n\t\t\thost,\n\t\t\taction: {\n\t\t\t\tpayload: { name, value }\n\t\t\t},\n\t\t\tstate,\n\t\t\tproperties,\n\t\t\tupdateState\n\t\t});\n\t\t// Allow new props to update value state _only_ when the field doesn't\n\t\t// have focus\n\t\tif (name === 'initialValue' && !state.isHandlingInitialValue) {\n\t\t\tconst nextInitialValue = toString(value);\n\t\t\tconst oldInitialValue = toString(previousValue);\n\t\t\thandleInitialValue({\n\t\t\t\trawValue: value,\n\t\t\t\tnewValue: nextInitialValue,\n\t\t\t\toldValue: oldInitialValue,\n\t\t\t\tstate,\n\t\t\t\tproperties,\n\t\t\t\tformat,\n\t\t\t\tupdateState\n\t\t\t});\n\t\t}\n\t};\n\n\tconst callbackAndDispatchEffectWithState = ({\n\t\thost,\n\t\tstate,\n\t\tupdateState,\n\t\tproperties,\n\t\tdispatch,\n\t\taction: { payload }\n\t}) => {\n\t\tconst {\n\t\t\tcallback: originalCallback,\n\t\t\tdispatchPayload: callbackPayload,\n\t\t\tisValueChanged: isOnValueChange\n\t\t} = payload;\n\t\tif (\n\t\t\tisOnValueChange &&\n\t\t\tinputChangeIsTracked(state) &&\n\t\t\tisEqual(callbackPayload.additionalInfo, state.additionalInfo)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tlet dispatchPayload = callbackPayload.fromEvent ? callbackPayload : {};\n\t\tlet isValueChanged = isOnValueChange;\n\t\tlet callback = originalCallback;\n\t\tif (isValueChanged && !callbackPayload.fromEvent) {\n\t\t\tif (callbackPayload.format) {\n\t\t\t\tconst {\n\t\t\t\t\tparsedValue,\n\t\t\t\t\tformattedValue,\n\t\t\t\t\terror,\n\t\t\t\t\tadditionalInfo: newAdditionalInfo\n\t\t\t\t} = parseAndFormat(\n\t\t\t\t\tcallbackPayload.value,\n\t\t\t\t\tproperties,\n\t\t\t\t\tmerge(state.additionalInfo, callbackPayload.additionalInfo),\n\t\t\t\t\tparse,\n\t\t\t\t\tformat\n\t\t\t\t);\n\n\t\t\t\tdispatchPayload = {\n\t\t\t\t\t...dispatchPayload,\n\t\t\t\t\tvalue: parsedValue,\n\t\t\t\t\tdisplayValue: formattedValue,\n\t\t\t\t\terror\n\t\t\t\t};\n\t\t\t\tconst mergedAdditionalInfo = merge(\n\t\t\t\t\tstate.additionalInfo,\n\t\t\t\t\tnewAdditionalInfo\n\t\t\t\t);\n\n\t\t\t\tupdateState([\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: `internalValue`,\n\t\t\t\t\t\tvalue: parsedValue,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: `value`,\n\t\t\t\t\t\tvalue: formattedValue,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: true\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: `additionalInfo`,\n\t\t\t\t\t\tvalue: mergedAdditionalInfo,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: `error`,\n\t\t\t\t\t\tvalue: error,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t}\n\t\t\t\t]);\n\t\t\t\tupdateAdditionalInfoState(mergedAdditionalInfo, updateState);\n\t\t\t} else {\n\t\t\t\tdispatchPayload = {\n\t\t\t\t\t...dispatchPayload,\n\t\t\t\t\tvalue: callbackPayload.value,\n\t\t\t\t\tdisplayValue: callbackPayload.value\n\t\t\t\t};\n\t\t\t\tisValueChanged = false; //onStagedValueChange needs to be called, so changed it to false;\n\t\t\t\tcallback = properties.onStagedValueChange;\n\t\t\t\tconst mergedAdditionalInfo = merge(\n\t\t\t\t\tstate.additionalInfo,\n\t\t\t\t\tcallbackPayload.additionalInfo\n\t\t\t\t);\n\n\t\t\t\tupdateState([\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: `internalValue`,\n\t\t\t\t\t\tvalue: callbackPayload.value,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: `value`,\n\t\t\t\t\t\tvalue: callbackPayload.value,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: true\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: `additionalInfo`,\n\t\t\t\t\t\tvalue: mergedAdditionalInfo,\n\t\t\t\t\t\toperation: 'set',\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t}\n\t\t\t\t]);\n\t\t\t\tupdateAdditionalInfoState(mergedAdditionalInfo, updateState);\n\t\t\t}\n\t\t}\n\t\tcallbackAndDispatchEffect(callbackWithStateBehavior, {\n\t\t\tcache,\n\t\t\tinitialValueProp\n\t\t})({\n\t\t\thost,\n\t\t\tstate,\n\t\t\tupdateState,\n\t\t\tproperties,\n\t\t\tdispatch,\n\t\t\tpayload: { callback, dispatchPayload, isValueChanged }\n\t\t});\n\t};\n\n\tconst onChange = ({ value, state, properties, dispatch, updateState }) => {\n\t\tconst { fieldRegex, label } = properties;\n\t\tif (eventBased)\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: `internalValue`,\n\t\t\t\t\tvalue,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: `value`,\n\t\t\t\t\tvalue,\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tshouldRender: false\n\t\t\t\t}\n\t\t\t]);\n\t\telse updateState({ stagedValue: value });\n\n\t\tif (inputChangeIsTracked(state)) {\n\t\t\tupdateState({\n\t\t\t\tpath: 'inputChanged',\n\t\t\t\tvalue: true,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t});\n\t\t}\n\n\t\tif (fieldRegex && fieldRegex.length > 0) {\n\t\t\tif (value.length === 0) {\n\t\t\t\tupdateState({ messages: [] });\n\t\t\t} else {\n\t\t\t\tconst errorMessages = validateInput(label, value, fieldRegex);\n\t\t\t\tupdateState({\n\t\t\t\t\tmessages: errorMessages,\n\t\t\t\t\tisFieldValid: errorMessages.length === 0\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tdispatch(CALLBACK_AND_DISPATCH_WITH_STATE, {\n\t\t\tcallback: properties.onStagedValueChange,\n\t\t\tdispatchPayload: {\n\t\t\t\tvalue,\n\t\t\t\tfromEvent: true\n\t\t\t},\n\t\t\tisValueChanged: false\n\t\t});\n\t};\n\n\tconst onBlur = ({\n\t\tevent,\n\t\ttargetValue,\n\t\tdispatch,\n\t\tproperties,\n\t\tstate,\n\t\tupdateState\n\t}) => {\n\t\tconst { fieldRegex, label } = properties;\n\n\t\tif (inputChangeIsTracked(state)) return;\n\n\t\tconst {\n\t\t\tparsedValue,\n\t\t\tformattedValue,\n\t\t\terror,\n\t\t\tadditionalInfo: newAdditionalInfo\n\t\t} = parseAndFormat(\n\t\t\ttargetValue,\n\t\t\tproperties,\n\t\t\tstate.additionalInfo,\n\t\t\tparse,\n\t\t\tformat\n\t\t);\n\n\t\tconst mergedAdditionalInfo = merge(state.additionalInfo, newAdditionalInfo);\n\n\t\tupdateState([\n\t\t\t{\n\t\t\t\tpath: `internalValue`,\n\t\t\t\tvalue: parsedValue,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `value`,\n\t\t\t\tvalue: formattedValue,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `additionalInfo`,\n\t\t\t\tvalue: mergedAdditionalInfo,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `error`,\n\t\t\t\tvalue: error,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: `isBlur`,\n\t\t\t\tvalue: true,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t}\n\t\t]);\n\n\t\tupdateAdditionalInfoState(mergedAdditionalInfo, updateState);\n\n\t\tif (trackInputChange) {\n\t\t\tupdateState({\n\t\t\t\tpath: 'inputChanged',\n\t\t\t\tvalue: false,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t});\n\t\t}\n\n\t\tif (typeof forceRenderOnBlur === 'function') {\n\t\t\tforceRenderOnBlur({ isRender: state.isRender, updateState });\n\t\t}\n\n\t\tlet inlineValidationError = null;\n\n\t\tif (fieldRegex && fieldRegex.length > 0) {\n\t\t\tif (targetValue.length > 0) {\n\t\t\t\tlet validationResult = validateInput(\n\t\t\t\t\tlabel,\n\t\t\t\t\ttargetValue,\n\t\t\t\t\tfieldRegex\n\t\t\t\t)?.[0];\n\n\t\t\t\tif (validationResult) {\n\t\t\t\t\tinlineValidationError = { ...validationResult, type: 'error' };\n\t\t\t\t}\n\t\t\t}\n\t\t\tupdateState({ isFieldValid: null, messages: [] });\n\t\t}\n\n\t\t// Dispatch the callback with updated state\n\t\tdispatch(CALLBACK_AND_DISPATCH_WITH_STATE, {\n\t\t\tcallback: properties.onValueChange,\n\t\t\tisValueChanged: true,\n\t\t\tdispatchPayload: {\n\t\t\t\tevent,\n\t\t\t\terror: error || inlineValidationError,\n\t\t\t\tvalue: parsedValue,\n\t\t\t\tdisplayValue: formattedValue,\n\t\t\t\tfromEvent: true\n\t\t\t},\n\t\t\toptions: { cache: true }\n\t\t});\n\t};\n\n\tconst onChangeEffect = ({\n\t\taction: {\n\t\t\tpayload: { targetValue, encodedValue }\n\t\t},\n\t\tdispatch,\n\t\tstate,\n\t\tproperties,\n\t\tupdateState\n\t}) => {\n\t\tconst value = encodedValue || targetValue;\n\t\tonChange({ value, state, properties, dispatch, updateState });\n\t};\n\n\tconst onBlurEffect = ({\n\t\taction: {\n\t\t\tpayload: { event, targetValue }\n\t\t},\n\t\tdispatch,\n\t\tproperties,\n\t\tstate,\n\t\tupdateState\n\t}) => {\n\t\tonBlur({ event, targetValue, dispatch, properties, state, updateState });\n\t};\n\n\tconst onInputChangeEffect = ({\n\t\taction: {\n\t\t\tpayload: { fieldValue: value }\n\t\t},\n\t\tdispatch,\n\t\tstate,\n\t\tproperties,\n\t\tupdateState\n\t}) => {\n\t\tonChange({ value, state, properties, dispatch, updateState });\n\t};\n\n\tconst onInputBlurEffect = ({\n\t\taction: {\n\t\t\tpayload: { fieldValue: targetValue }\n\t\t},\n\t\tdispatch,\n\t\tproperties,\n\t\tstate,\n\t\tupdateState\n\t}) => {\n\t\tif (isAttrTrue(properties?.readonly)) return;\n\n\t\tconst event = {\n\t\t\ttarget: {\n\t\t\t\ttargetValue\n\t\t\t}\n\t\t};\n\t\tonBlur({ event, targetValue, dispatch, properties, state, updateState });\n\t};\n\n\treturn {\n\t\tname: callbackWithStateBehavior,\n\t\tactionHandlers: {\n\t\t\t[COMPONENT_CONNECTED]: componentConnectedEffectWithState,\n\t\t\t[COMPONENT_PROPERTY_CHANGED]: propertyChangedEffectWithState,\n\t\t\t[CALLBACK_AND_DISPATCH_WITH_STATE]: callbackAndDispatchEffectWithState,\n\t\t\t//TODO: Remove eventBased action handlers and respective callbacks once we internally use NDS for all inputs requiring withState behavior\n\t\t\t...(eventBased\n\t\t\t\t? {\n\t\t\t\t\t\t'WITH_STATE_INTERNAL#ON_CHANGE': onChangeEffect,\n\t\t\t\t\t\t'WITH_STATE_INTERNAL#ON_BLUR': onBlurEffect\n\t\t\t\t\t}\n\t\t\t\t: {\n\t\t\t\t\t\t[fieldChangeHandlers.onBlur]: onInputBlurEffect,\n\t\t\t\t\t\t[fieldChangeHandlers.onChange]: onInputChangeEffect\n\t\t\t\t\t})\n\t\t}\n\t};\n};\n","import { isAttrTrue } from './utils/field';\n\nexport function checkAutofocus(enabled, ref) {\n\tif (isAttrTrue(enabled) && ref) {\n\t\t// PRB1304655, PRB1309694: Workaround for ShadyDOM bug\n\t\t//\n\t\t// https://github.com/webcomponents/shadydom/issues/46\n\t\t//\n\t\t// In polyfilled environments, we need to flush the ShadyDOM render queue\n\t\t// before attempting to focus. Without it, Firefox ignores the focus()\n\t\t// call, and IE decides to not render anything.\n\t\tif (window.ShadyDOM) {\n\t\t\twindow.ShadyDOM.flush();\n\t\t}\n\n\t\tref.focus();\n\t}\n}\n","/**\n * Util method to wrap helperContent with jsx to restrict width and height of field hint text\n * This is required to set the dimensions for NDS rendered helperContent, and renderer should be snabbdom\n * @param {string|JSX} helperContent\n */\nexport const wrapHelperContent = helperContent => {\n\tif (!helperContent) return helperContent;\n\n\treturn (\n\t\t<div style={{ maxWidth: '300px', maxHeight: '200px' }}>{helperContent}</div>\n\t);\n};\n","import { omit, has } from 'lodash';\nimport { escapeSeismicSpecialSymbols } from './utils/escapeSeismicSpecialSymbols';\nimport * as FIELD_TYPE from './FieldType';\n\nexport function setInitialValue(controlProps) {\n\tconst hasValue = has(controlProps, 'value');\n\tconst hasDisplayValue = has(controlProps, 'displayValue');\n\n\tif (!hasValue && !hasDisplayValue) {\n\t\treturn controlProps;\n\t}\n\n\tconst newControlProps = omit(controlProps, ['value', 'displayValue']);\n\tconst { displayValue, value, isEncrypted, type } = controlProps;\n\n\tif (hasValue) {\n\t\tnewControlProps.initialValue = isEncrypted\n\t\t\t? escapeSeismicSpecialSymbols(displayValue)\n\t\t\t: escapeSeismicSpecialSymbols(value);\n\t}\n\n\tif (hasDisplayValue) {\n\t\tconst initialDisplayValue =\n\t\t\ttype === FIELD_TYPE.PASSWORD ? value : displayValue;\n\t\tnewControlProps.initialDisplayValue =\n\t\t\tescapeSeismicSpecialSymbols(initialDisplayValue);\n\t}\n\n\treturn newControlProps;\n}\n","import track, { markTypes } from '@devsnc/ux-metrics';\nimport { TRACK_RECOMMENDATION_CLICK } from './constants';\n\nconst eventTitle = 'Update Field Value';\n\nexport const trackBehavior = {\n\tactionHandlers: {\n\t\t['TRACK']: {\n\t\t\teffect: coeffects => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: { metaData, additionalOptions = {} }\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t!additionalOptions.parentHandling &&\n\t\t\t\t\t\ttrack(coeffects, eventTitle, metaData, {\n\t\t\t\t\t\t\ttype: markTypes.usage\n\t\t\t\t\t\t});\n\n\t\t\t\t\tadditionalOptions.isRecommendation &&\n\t\t\t\t\t\ttrack(coeffects, TRACK_RECOMMENDATION_CLICK, metaData, {\n\t\t\t\t\t\t\ttype: markTypes.usage\n\t\t\t\t\t\t});\n\t\t\t\t}, 0);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['TRACK_DYNAMIC_TRANSLATION_EVENTS']: {\n\t\t\teffect: coeffects => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: { metaData, eventTitle }\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ttrack(coeffects, eventTitle, metaData, {\n\t\t\t\t\t\ttype: markTypes.usage\n\t\t\t\t\t});\n\t\t\t\t}, 0);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['TRACK_HOTKEY_SET']: {\n\t\t\teffect: coeffects => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: { type }\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\t\t\t\tconst eventName = `KeyboardShortcut.${type}.Invoked`;\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ttrack(coeffects, eventName, undefined, {\n\t\t\t\t\t\ttype: markTypes.usage\n\t\t\t\t\t});\n\t\t\t\t}, 0);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['TRACK_HOTKEY_SELECTED']: {\n\t\t\teffect: coeffects => {\n\t\t\t\tconst {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tpayload: { type, ...meta }\n\t\t\t\t\t}\n\t\t\t\t} = coeffects;\n\t\t\t\tconst eventName = `KeyboardShortcut.${type}.Selected`;\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ttrack(coeffects, eventName, meta, {\n\t\t\t\t\t\ttype: markTypes.usage\n\t\t\t\t\t});\n\t\t\t\t}, 0);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t['TRACK_FIELD_TYPE_UNSUPPORTED']: {\n\t\t\teffect: coeffects => {\n\t\t\t\tconst { payload } = coeffects.action;\n\t\t\t\tconst eventName = 'FieldtypeNotSupportedinSeismic';\n\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ttrack(coeffects, eventName, payload, {\n\t\t\t\t\t\ttype: markTypes.usage\n\t\t\t\t\t});\n\t\t\t\t}, 0);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t\t\n\t}\n};\n","const DYNAMIC_TRANSLATION_TEXT_TRANSLATED = 'DYNAMIC_TRANSLATION#TEXT_TRANSLATED';\nconst DYNAMIC_TRANSLATION_TEXT_TRANSLATION_REQUESTED = 'DYNAMIC_TRANSLATION#TEXT_TRANSLATION_REQUESTED';\nconst DYNAMIC_TRANSLATION_DETECTED_LANGUAGE = 'DYNAMIC_TRANSLATION#DETECTED_LANGUAGE';\nconst DYNAMIC_TRANSLATION_DETECT_LANGUAGE_REQUESTED = 'DYNAMIC_TRANSLATION#DETECT_LANGUAGE_REQUESTED';\nconst DYNAMIC_TRANSLATION_IS_ENABLED = 'DYNAMIC_TRANSLATION#IS_ENABLED';\nconst DYNAMIC_TRANSLATION_IS_ENABLED_REQUESTED = 'DYNAMIC_TRANSLATION#IS_ENABLED_REQUESTED';\n\nexport const translationActionTypes = {\n\tDYNAMIC_TRANSLATION_TEXT_TRANSLATED,\n\tDYNAMIC_TRANSLATION_TEXT_TRANSLATION_REQUESTED\n};\n\nexport const detectionActionTypes = {\n\tDYNAMIC_TRANSLATION_DETECTED_LANGUAGE,\n\tDYNAMIC_TRANSLATION_DETECT_LANGUAGE_REQUESTED\n};\n\nexport const isEnabledActionTypes = {\n\tDYNAMIC_TRANSLATION_IS_ENABLED,\n\tDYNAMIC_TRANSLATION_IS_ENABLED_REQUESTED\n};\n\nexport const GET_TRANSLATION_URL = '/api/sn_dt/v1/dynamic_translation/get_dynamic_translation';\nexport const GET_DETECTED_LANGUAGE_URL = '/api/sn_dt/v1/dynamic_translation/get_detected_language';\nexport const IS_ENABLED_URL = '/api/sn_dt/v1/dynamic_translation/is_enabled';\nexport const IS_INSTALLED_URL = '/api/now/check_plugin_installation/is_plugin_installed/:pluginId';\n\nexport const DYNAMIC_TRANSLATION_DETECTION_BEHAVIOR = 'DynamicTranslation_DetectionBehavior';\nexport const DYNAMIC_TRANSLATION_TRANSLATION_BEHAVIOR = 'DynamicTranslation_TranslationBehavior';\nexport const DYNAMIC_TRANSLATION_ISENABLED_BEHAVIOR = 'DynamicTranslation_IsEnabledBehavior';","export const getMetaData = metaData => {\n\tif (metaData && metaData.request && metaData.request.data) {\n\t\tconst request = JSON.parse(metaData.request.data);\n\t\tif (request)\n\t\t\treturn request.meta;\n\n\t}\n\treturn undefined;\n};","import {t} from 'sn-translate';\nimport {createHttpEffect} from '@servicenow/ui-effect-http';\nimport {isEnabledActionTypes, IS_ENABLED_URL, IS_INSTALLED_URL} from '../constants';\nimport {getMetaData} from '../utilities';\n\nconst {DYNAMIC_TRANSLATION_IS_ENABLED, DYNAMIC_TRANSLATION_IS_ENABLED_REQUESTED} = isEnabledActionTypes;\n\nfunction _interopRequireDefault(obj) {\n\treturn obj && obj.__esModule ? obj : {\n\t\tdefault: obj\n\t};\n}\n\nvar _pick = require('lodash/pick');\nvar _pick2 = _interopRequireDefault(_pick);\n\nconst CALL_IS_ENABLED = 'CALL_IS_ENABLED';\nconst IS_ENABLED_SUCCESS = 'IS_ENABLED_SUCCESS';\nconst IS_ENABLED_ERROR = 'IS_ENABLED_ERROR';\nconst CHECK_IS_INSTALLED = 'CHECK_IS_INSTALLED';\nconst CHECK_IS_INSTALLED_SUCESS = 'CHECK_IS_INSTALLED_SUCCESS';\n\nconst validateInput = (translator, dispatch, metaData) => {\n\tif ((translator) && (typeof translator !== 'string')) {\n\t\tconst response = {\n\t\t\tcode: '40003',\n\t\t\tmessage: t('Translator (\"translator\" field) is invalid')\n\t\t};\n\t\tdispatch(DYNAMIC_TRANSLATION_IS_ENABLED, {response}, {request: metaData}, true);\n\t\treturn true;\n\t}\n\treturn false;\n};\n\nconst getInputValues = payload => {\n\tconst {translator, event} = (payload) ? (0, _pick2.default)(payload, Object.keys(payload)) : new Object();\n\treturn {\n\t\ttranslator, \n\t\tevent\n\t};\n};\n\nconst isEnabled = (action, dispatch) => {\n\tconst inputValues = getInputValues(action.meta.isEnabledRequestedPayload);\n\tif (!validateInput(inputValues.translator, dispatch, action.meta.isEnabledRequestedPayload)) {\n\t\tconst isEnabledRequest = JSON.stringify({\n\t\t\tparms: inputValues,\n\t\t\tmeta: action.meta.isEnabledRequestedPayload\n\t\t});\n\t\tdispatch(CALL_IS_ENABLED, {isEnabledRequest});\n\t}\n};\n\nexport const isEnabledActions = {\n\t[DYNAMIC_TRANSLATION_IS_ENABLED_REQUESTED]: {\n\t\teffect({action, dispatch}) {\n\t\t\tdispatch(CHECK_IS_INSTALLED, {pluginId: 'com.glide.dynamic_translation'}, {isEnabledRequestedPayload: action.payload});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[CHECK_IS_INSTALLED]: {\n\t\t...createHttpEffect(),\n\t\targs: [IS_INSTALLED_URL, {\n\t\t\theaders: {\n\t\t\t\tAccept: 'application/json'\n\t\t\t},\n\t\t\tpathParams: ['pluginId'],\n\t\t\tbatch: false,\n\t\t\tsuccessActionType: CHECK_IS_INSTALLED_SUCESS, \n\t\t\terrorActionType: IS_ENABLED_ERROR\n\t\t}],\n\t\tstopPropagation: true\n\t},\n\t[CHECK_IS_INSTALLED_SUCESS]: {\n\t\teffect({action, dispatch}) {\n\t\t\tconst {\n\t\t\t\tpayload: {\n\t\t\t\t\tresult: { isInstalled }\n\t\t\t\t}\n\t\t\t} = action;\n\t\t\tif (isInstalled) {\n\t\t\t\tisEnabled(action, dispatch);\n\t\t\t} else {\n\t\t\t\tdispatch(IS_ENABLED_ERROR, {}, {request: undefined}, false);\n\t\t\t}\n\t\t}\n\t},\n\t[CALL_IS_ENABLED]: {\n\t\t...createHttpEffect(),\n\t\targs: [IS_ENABLED_URL, {\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\tAccept: 'application/json'\n\t\t\t},\n\t\t\tmethod: 'POST',\n\t\t\tdataParam: 'isEnabledRequest',\n\t\t\tbatch: false,\n\t\t\tsuccessActionType: IS_ENABLED_SUCCESS,\n\t\t\terrorActionType: IS_ENABLED_ERROR\n\t\t}],\n\t\tstopPropagation: true\n\t},\n\t[IS_ENABLED_SUCCESS]: {\n\t\teffect({action, dispatch}) {\n\t\t\tconst response = action.payload.result;\n\t\t\tconst metaData = getMetaData(action.meta);\n\t\t\tdispatch(DYNAMIC_TRANSLATION_IS_ENABLED, {response}, {request: metaData}, false);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[IS_ENABLED_ERROR]: {\n\t\teffect({action, dispatch}) {\n\t\t\tconst response = {\n\t\t\t\ttranslation: false,\n\t\t\t\tdetection: false\n\t\t\t};\n\t\t\tconst metaData = getMetaData(action.meta);\n\t\t\tdispatch(DYNAMIC_TRANSLATION_IS_ENABLED, {response}, {request: metaData}, false);\n\t\t},\n\t\tstopPropagation: true\n\t}\n};","import {DYNAMIC_TRANSLATION_ISENABLED_BEHAVIOR} from '../constants';\nimport {isEnabledActions} from '../actions/isEnabledActions';\n\n/**\n * A seismic behavior that checks if translation and detection is enabled or not and dispatches actions. \n * Request parameters needs to be populated in action payload and be dispatched with action details as below:\n * \n * @function isEnabledBehavior\n * @example\n * import { isEnabledBehavior, isEnabledActionTypes } from '@servicenow/behavior-dynamic-translation';\n *\n * // Destructuring actions for isEnabled\n * \n * const { \n *  DYNAMIC_TRANSLATION_IS_ENABLED_REQUESTED, // Action to be dispatched\n *  DYNAMIC_TRANSLATION_IS_ENABLED // Action to be handled\n * } = isEnabledActionTypes;\n * \n * // Populating request values in action payload:\n * \n * dispatch(DYNAMIC_TRANSLATION_IS_ENABLED_REQUESTED,\n * {\n *   translator: ''\n * });\n * \n * // Register with component action handlers:\n * {\n *        [DYNAMIC_TRANSLATION_IS_ENABLED]: ({action, dispatch, state}) => {\n *          const {payload, error} = action;\n *          ...\n *        }\n * }\n * \n * @param {String} translator - Verifies whether translation & detection is active or not for the given translator, uses default translator in the absence of this parameter\n */\nexport const isEnabledBehavior = {\n\tname: DYNAMIC_TRANSLATION_ISENABLED_BEHAVIOR,\n\tactionHandlers: {\n\t\t...isEnabledActions\n\t},\n\n};","import {t} from 'sn-translate';\nimport {createHttpEffect} from '@servicenow/ui-effect-http';\nimport {detectionActionTypes, GET_DETECTED_LANGUAGE_URL} from '../constants';\nimport {getMetaData} from '../utilities';\n\nconst {DYNAMIC_TRANSLATION_DETECTED_LANGUAGE, DYNAMIC_TRANSLATION_DETECT_LANGUAGE_REQUESTED} = detectionActionTypes;\n\nfunction _interopRequireDefault(obj) {\n\treturn obj && obj.__esModule ? obj : {\n\t\tdefault: obj\n\t};\n}\n\nvar _pick = require('lodash/pick');\nvar _pick2 = _interopRequireDefault(_pick);\n\nconst CALL_DETECTED_LANGUAGE = 'CALL_DETECTED_LANGUAGE';\nconst DETECTED_LANGUAGE_SUCCESS = 'DETECTED_LANGUAGE_SUCCESS';\nconst DETECTED_LANGUAGE_ERROR = 'DETECTED_LANGUAGE_ERROR';\n\nconst dispatchSuccess = (data, dispatch, metaData) => {\n\tvar response = {\n\t\tdetectedLanguage: data.detectedLanguage,\n\t\talternatives: data.alternatives,\n\t\ttranslator: data.translator\n\t};\n\tdispatch(DYNAMIC_TRANSLATION_DETECTED_LANGUAGE, {response}, {request: metaData}, false);\n};\n\nconst dispatchError = (code, message, dispatch, metaData) => {\n\tconst response = {code, message};\n\tdispatch(DYNAMIC_TRANSLATION_DETECTED_LANGUAGE, {response}, {request: metaData}, true);\n};\n\nconst handleSuccess = ({action, dispatch}) => {\n\tconst response = action.payload.result;\n\tconst metaData = getMetaData(action.meta);\n\tif (!response.isError)\n\t\tdispatchSuccess(response, dispatch, metaData);\n\telse {\n\t\tconst {code, message} = JSON.parse(response.errorMessage);\n\t\tdispatchError(code, message, dispatch, metaData);\n\t}\n};\n\nconst handleError = ({action, dispatch}) => {\n\tconst response = action.payload;\n\tconst metaData = getMetaData(action.meta);\n\tif (response.status === 400)\n\t\tdispatchError('40001', t('Dynamic Translation plugin is not installed'), dispatch, metaData);\n\telse\n\t\tdispatchError('40051', t('Unknown error occurred'), dispatch, metaData);\n};\n\nconst validateInput = (inputValues, dispatch, metaData) => {\n\tconst {msg, parms} = inputValues;\n\tlet isValidInput = true;\n\tif ((!msg) || (typeof msg !== 'string')) {\n\t\tisValidInput = false;\n\t\tdispatchError('40000', t('Text (\"text\" field) is missing or invalid'), dispatch, metaData);\n\t} else if (parms && parms.translator && typeof parms.translator !== 'string') {\n\t\tisValidInput = false;\n\t\tdispatchError('40003', t('Translator (\"translator\" field) is invalid'), dispatch, metaData);\n\t}\n\treturn isValidInput;\n};\n\nconst getInputValues = payload => {\n\tconst {msg, translator, event} = (payload) ? (0, _pick2.default)(payload, Object.keys(payload)) : new Object();\n\n\treturn {\n\t\tmsg,\n\t\tparms: {\n\t\t\ttranslator,\n\t\t\tevent\n\t\t}\n\t};\n};\n\nconst getDetectedLanguage = (action, dispatch) => {\n\tconst inputValues = getInputValues(action.payload);\n\tif (validateInput(inputValues, dispatch, action.payload)) {\n\t\tconst detectionRequest = JSON.stringify({\n\t\t\ttext: inputValues.msg,\n\t\t\tparms: inputValues.parms,\n\t\t\tmeta: action.payload\n\t\t});\n\t\tdispatch(CALL_DETECTED_LANGUAGE, {detectionRequest});\n\t}\n};\n\nexport const detectionActions = {\n\t[DYNAMIC_TRANSLATION_DETECT_LANGUAGE_REQUESTED]: {\n\t\teffect: ({action, dispatch}) => getDetectedLanguage(action, dispatch),\n\t\tstopPropagation: true\n\t},\n\t[CALL_DETECTED_LANGUAGE]: {\n\t\t...createHttpEffect(),\n\t\targs: [GET_DETECTED_LANGUAGE_URL, {\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\tAccept: 'application/json'\n\t\t\t},\n\t\t\tmethod: 'POST',\n\t\t\tdataParam: 'detectionRequest',\n\t\t\tbatch: false,\n\t\t\tsuccessActionType: DETECTED_LANGUAGE_SUCCESS,\n\t\t\terrorActionType: DETECTED_LANGUAGE_ERROR\n\t\t}],\n\t\tstopPropagation: true\n\t},\n\t[DETECTED_LANGUAGE_SUCCESS]: {\n\t\teffect: handleSuccess,\n\t\tstopPropagation: true\n\t},\n\t[DETECTED_LANGUAGE_ERROR]: {\n\t\teffect: handleError,\n\t\tstopPropagation: true\n\t}\n};","import {DYNAMIC_TRANSLATION_DETECTION_BEHAVIOR} from '../constants';\nimport {detectionActions} from '../actions/detectionActions';\n\n/**\n * A seismic behavior that detects the language of given text and dispatches actions. \n * Request parameters needs to be populated in action payload and be dispatched with action details as below:\n * \n * @function detectionBehavior\n * @example\n * import { detectionBehavior, detectionActionTypes } from '@servicenow/behavior-dynamic-translation';\n *\n * // Destructuring actions for detect language\n * \n * const { \n *  DYNAMIC_TRANSLATION_DETECT_LANGUAGE_REQUESTED, // Action to be dispatched\n *  DYNAMIC_TRANSLATION_DETECTED_LANGUAGE // Action to be handled\n * } = detectionActionTypes;\n * \n * // Populating request values in action payload:\n * \n * dispatch(DYNAMIC_TRANSLATION_DETECT_LANGUAGE_REQUESTED,\n * {\n *   msg: '',\n *   translator: ''\n * });\n * \n * // Register with component action handlers:\n * {\n *     actionHandlers: {\n *         [DYNAMIC_TRANSLATION_DETECTED_LANGUAGE]: ({action, dispatch, state}) => {\n *          const {payload, error} = action;\n *          ...\n *        }\n *     }\n * }\n * \n * @param {String} msg - Text to identify the language\n * @param {String} translator - Translator to be used to detect the language, uses default translator in the absence of this parameter\n */\nexport const detectionBehavior = {\n\tname: DYNAMIC_TRANSLATION_DETECTION_BEHAVIOR,\n\tactionHandlers: {\n\t\t...detectionActions\n\t}\n};","import {t} from 'sn-translate';\nimport {createHttpEffect} from '@servicenow/ui-effect-http';\nimport {translationActionTypes, GET_TRANSLATION_URL} from '../constants';\nimport {getMetaData} from '../utilities';\n\nconst {DYNAMIC_TRANSLATION_TEXT_TRANSLATED, DYNAMIC_TRANSLATION_TEXT_TRANSLATION_REQUESTED} = translationActionTypes;\n\nfunction _interopRequireDefault(obj) {\n\treturn obj && obj.__esModule ? obj : {\n\t\tdefault: obj\n\t};\n}\n\nvar _pick = require('lodash/pick');\nvar _pick2 = _interopRequireDefault(_pick);\n\nconst CALL_TEXT_TRANSLATED = 'CALL_TEXT_TRANSLATED';\nconst TRANSLATED_TEXT_SUCCESS = 'TRANSLATED_TEXT_SUCCESS';\nconst TRANSLATED_TEXT_ERROR = 'TRANSLATED_TEXT_ERROR';\n\nconst dispatchSuccess = (data, dispatch, metaData) => {\n\tvar response = {\n\t\ttranslations: data.translations,\n\t\ttranslator: data.translator\n\t};\n\tif (data.detectedLanguage)\n\t\tresponse.detectedLanguage = data.detectedLanguage;\n\n\tdispatch(DYNAMIC_TRANSLATION_TEXT_TRANSLATED, {response}, {request: metaData}, false);\n};\n\nconst dispatchError = (code, message, dispatch, metaData) => {\n\tconst response = {code, message};\n\tdispatch(DYNAMIC_TRANSLATION_TEXT_TRANSLATED, {response}, {request: metaData}, true);\n};\n\nconst handleSuccess = ({action, dispatch}) => {\n\tconst response = action.payload.result;\n\tconst metaData = getMetaData(action.meta);\n\tif (!response.isError)\n\t\tdispatchSuccess(response, dispatch, metaData);\n\telse {\n\t\tconst {code, message} = JSON.parse(response.errorMessage);\n\t\tdispatchError(code, message, dispatch, metaData);\n\t}\n};\n\nconst handleError = ({action, dispatch}) => {\n\tconst response = action.payload;\n\tconst metaData = getMetaData(action.meta);\n\tif (response.status === 400)\n\t\tdispatchError('40001', t('Dynamic Translation plugin is not installed'), dispatch, metaData);\n\telse\n\t\tdispatchError('40051', t('Unknown error occurred'), dispatch, metaData);\n};\n\nconst validateInput = (inputValues, dispatch, metaData) => {\n\tconst {msg, parms} = inputValues;\n\tlet isValidInput = true;\n\tif ((!msg) || (typeof msg !== 'string')) {\n\t\tisValidInput = false;\n\t\tdispatchError('40000', t('Text (\"text\" field) is missing or invalid'), dispatch, metaData);\n\t} else if (parms) {\n\t\tif ((parms.translator) && (typeof parms.translator !== 'string')) {\n\t\t\tisValidInput = false;\n\t\t\tdispatchError('40003', t('Translator (\"translator\" field) is invalid'), dispatch, metaData);\n\t\t} else if ((parms.additionalParameters) && (!Array.isArray(parms.additionalParameters))) {\n\t\t\tisValidInput = false;\n\t\t\tdispatchError('40006', t('Additional parameters are invalid'), dispatch, metaData);\n\t\t}\n\t}\n\treturn isValidInput;\n};\n\nconst getInputValues = payload => {\n\tconst {\n\t\tmsg,\n\t\ttranslator,\n\t\tsourceLanguage,\n\t\ttargetLanguages,\n\t\tadditionalParameters,\n\t\tevent\n\t} =\n\t\t(payload) ? (0, _pick2.default)(payload, Object.keys(payload)) : new Object();\n\n\treturn {\n\t\tmsg,\n\t\tparms: {\n\t\t\ttranslator,\n\t\t\tsourceLanguage,\n\t\t\ttargetLanguages,\n\t\t\tadditionalParameters,\n\t\t\tevent\n\t\t}\n\t};\n};\n\nconst getTranslatedText = (action, dispatch) => {\n\tconst inputValues = getInputValues(action.payload);\n\tif (validateInput(inputValues, dispatch, action.payload)) {\n\t\tconst translationRequest = JSON.stringify({\n\t\t\ttextToTranslate: inputValues.msg,\n\t\t\tparms: inputValues.parms,\n\t\t\tmeta: action.payload\n\t\t});\n\t\tdispatch(CALL_TEXT_TRANSLATED, {translationRequest});\n\t}\n};\n\nexport const translationActions = {\n\t[DYNAMIC_TRANSLATION_TEXT_TRANSLATION_REQUESTED]: {\n\t\teffect: ({action, dispatch}) => getTranslatedText(action, dispatch),\n\t\tstopPropagation: true\n\t},\n\t[CALL_TEXT_TRANSLATED]: {\n\t\t...createHttpEffect(),\n\t\targs: [GET_TRANSLATION_URL, {\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\tAccept: 'application/json'\n\t\t\t},\n\t\t\tmethod: 'POST',\n\t\t\tdataParam: 'translationRequest',\n\t\t\tbatch: false,\n\t\t\tsuccessActionType: TRANSLATED_TEXT_SUCCESS,\n\t\t\terrorActionType: TRANSLATED_TEXT_ERROR\n\t\t}],\n\t\tstopPropagation: true\n\t},\n\t[TRANSLATED_TEXT_SUCCESS]: {\n\t\teffect: handleSuccess,\n\t\tstopPropagation: true\n\t},\n\t[TRANSLATED_TEXT_ERROR]: {\n\t\teffect: handleError,\n\t\tstopPropagation: true\n\t}\n};","import {DYNAMIC_TRANSLATION_TRANSLATION_BEHAVIOR} from '../constants';\nimport {translationActions} from '../actions/translationActions';\n\n/**\n * A seismic behavior that translates text to multiple languages using dynamic translations and dispatches actions. \n * Request parameters needs to be populated in action payload and be dispatched with action details as below:\n *  \n * @function translationBehavior\n * @example\n * import { translationBehavior, translationActionTypes } from '@servicenow/behavior-dynamic-translation';\n *\n * // Destructuring actions for translation\n * \n * const { \n *  DYNAMIC_TRANSLATION_TEXT_TRANSLATION_REQUESTED, // Action to be dispatched\n *  DYNAMIC_TRANSLATION_TEXT_TRANSLATED // Action to be handled\n * } = translationActionTypes;\n * \n * // Populating request values in action payload:\n * \n * dispatch(DYNAMIC_TRANSLATION_TEXT_TRANSLATION_REQUESTED,\n * {\n *   msg: '',\n *   translator: '',\n *   sourceLanguage: '',\n *   targetLanguages: [],\n *   additionalParameters: []\n * });\n * \n * // Register with component action handlers:\n * {\n *     actionHandlers: {\n *         [DYNAMIC_TRANSLATION_TEXT_TRANSLATED]: ({action, dispatch, state}) => {\n *          const {payload, error} = action;\n *          ...\n *        }\n *     }\n * }\n * \n * @param {String} msg - Text to be translated\n * @param {String} translator - Uses the translator specified by the user, uses default translator in the absence of this parameter\n * @param {String} sourceLanguage - Source language code of the text. Uses machine translator to detect source language in the absence of this parameter\n * @param {Object} targetLanguages - Array of strings containing language codes to which the text needs to be translated (ex: ['fr','it']). Uses current session's user language in absence of this parameter\n * @param {Object} additionalParameters - Array of JSON objects containing additional context parameters (ex: [{'parameter_name': 'textType', 'parameter_value': 'html'}]).\n */\nexport const translationBehavior = {\n\tname: DYNAMIC_TRANSLATION_TRANSLATION_BEHAVIOR,\n\tactionHandlers: {\n\t\t...translationActions\n\t}\n};","import { t } from 'sn-translate';\n\nexport const TRANSLATED_BY = credit => t('Translated by {0}', credit);\nexport const TRANSLATING = t('Translating...');\nexport const UNABLE_TO_TRANSLATE = t('Unable to translate. ');\nexport const MISSING_CREDENTIALS = t(\n\t'Credentials are missing or invalid. Contact your administrator.'\n);\nexport const MAX_LENGTH_ERROR_MSG = t('Text has exceeded the maximum length.');\nexport const LANG_NOT_SUPPORTED = t(\n\t'Text cannot be translated to your preferred language.'\n);\nexport const NO_TEXT = t('No text to translate.');\nexport const FIELD_VALUE_CHANGED = t('The field value has changed. ');\nexport const RETRANSLATE = t('Retranslate');\nexport const TRY_AGAIN = t('Try again');\nexport const CLOSE = t('close');\nexport const PREFERRED_LANGUAGE = t(\n\t'This content is written in your preferred language. No need to translate.'\n);\nexport const TRANSLATE = t('Translate');\nexport const NOW_TEXT_LINK_CLICKED = 'NOW_TEXT_LINK#CLICKED';\nexport const NOW_BUTTON_ICONIC_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\nexport const FORM_CLICK_WORKSPACE = 'Form Click - Workspace';\n\nexport const METRICS_TRANSLATE_BUTTON_CLICKED = 'Translate Button Clicked';\nexport const METRICS_CLOSE_TRANSLATED_TEXT_PANEL =\n\t'Close Translated Text Panel';\nexport const METRICS_TRYING_TRANSLATION_AGAIN = 'Trying Translation Again';\nexport const METRICS_RETRANSLATE_TEXT_REQUESTED = 'Re-Translate Text Requested';\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {dangerouslyCreateElementFromString} from '@servicenow/ui-renderer-snabbdom';\nimport toString from 'lodash/toString';\nimport DOMPurify from 'dompurify';\nimport {domPurifyConfig} from '@servicenow/library-enhanced-utils';\n\nimport packageInfo from '../package.json';\nconst {name, version} = packageInfo;\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n\nconst view = ({properties: {html}}) => {\n\tconst htmlStr = toString(html);\n\tif (!htmlStr) {\n\t\treturn null;\n\t}\n\n\tconst sanitizedHtml = DOMPurify.sanitize(htmlStr, domPurifyConfig);\n\n\t// `dangerouslyCreateElementFromString` will return an object for only the first element\n\t// in the string, which means if `htmlStr` consists of multiple siblings,\n\t// only the first is returned. Wrapping in a root <div> to ensure all\n\t// siblings are returned (as that <div>'s children array).\n\treturn dangerouslyCreateElementFromString(`<div>${sanitizedHtml}</div>`)\n\t\t.children;\n};\n\n/**\n * Renders HTML content as provided. You should only use this component in UI Builder.\n * Note: This component removes `<script>` tags, inline JavaScript, and other elements that might pose security exploits.\n * If you need to include this type of functionality in an interface other than UI Builder, use JSX or content slots.\n *\n * ```jsx\n * <now-rich-text html=\"<strong>Hello!</strong> <a href='url'>Click me!</a>\" />\n * ```\n *\n * @seismicElement now-rich-text\n * @summary Renders HTML content.\n * @uib.label Rich text\n * @uib.icon rich-text\n * @uib.description Renders custom HTML\n * @uib.category primitives\n * @uib.associatedTypes global.core, global.dashboard, global.landing-page\n * @uib.properties html\n */\ncreateEnhancedElement('now-rich-text', {\n\tpresentational: true,\n\tproperties: {\n\t\t/**\n\t\t * HTML content to render.\n\t\t * @type {string}\n\t\t * @uib.label HTML\n\t\t * @uib.description HTML content to render.\n\t\t * @uib.required\n\t\t * @uib.fieldType html\n\t\t * @uib.defaultValue <p>The world works with ServiceNow</p>\n\t\t * @uib.translatable true\n\t\t */\n\t\thtml: {required: true, schema: {type: 'string'}},\n\t},\n\tview,\n});\n","import { actionTypes, declarativeOperations } from '@servicenow/ui-core';\nimport { toString } from 'lodash';\nimport {\n\ttranslationActionTypes,\n\ttranslationBehavior,\n\tisEnabledActionTypes,\n\tisEnabledBehavior\n} from '@servicenow/behavior-dynamic-translation';\nimport {\n\tCLOSE,\n\tFIELD_VALUE_CHANGED,\n\tLANG_NOT_SUPPORTED,\n\tMAX_LENGTH_ERROR_MSG,\n\tMISSING_CREDENTIALS,\n\tNOW_BUTTON_ICONIC_CLICKED,\n\tNOW_TEXT_LINK_CLICKED,\n\tNO_TEXT,\n\tPREFERRED_LANGUAGE,\n\tRETRANSLATE,\n\tTRANSLATED_BY,\n\tTRANSLATING,\n\tTRY_AGAIN,\n\tUNABLE_TO_TRANSLATE,\n\tTRANSLATE,\n\tFORM_CLICK_WORKSPACE,\n\tMETRICS_TRANSLATE_BUTTON_CLICKED,\n\tMETRICS_RETRANSLATE_TEXT_REQUESTED,\n\tMETRICS_CLOSE_TRANSLATED_TEXT_PANEL,\n\tMETRICS_TRYING_TRANSLATION_AGAIN\n} from './constants';\nimport '@servicenow/now-text-link';\nimport '@servicenow/now-rich-text';\n\nconst { COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nconst {\n\tDYNAMIC_TRANSLATION_TEXT_TRANSLATED,\n\tDYNAMIC_TRANSLATION_TEXT_TRANSLATION_REQUESTED\n} = translationActionTypes;\n\nconst {\n\tDYNAMIC_TRANSLATION_IS_ENABLED_REQUESTED,\n\tDYNAMIC_TRANSLATION_IS_ENABLED\n} = isEnabledActionTypes;\n\nconst trackDynamicTranslationEvents = (eventTitle, metaData, dispatch) => {\n\tdispatch('TRACK_DYNAMIC_TRANSLATION_EVENTS', {\n\t\teventTitle,\n\t\tmetaData\n\t});\n};\n\nexport const translatedInputEffect = ({ action, updateState }) => {\n\tconst { payload, error } = action;\n\tlet translatedState = [\n\t\t{\n\t\t\tpath: 'translatedText.isRetranslate',\n\t\t\tvalue: false,\n\t\t\toperation: declarativeOperations.SET\n\t\t}\n\t];\n\tconst translatedResponse = payload.response;\n\tif (!error && translatedResponse) {\n\t\tconst translationsObj = translatedResponse.translations[0];\n\t\tconst detectedLang = translatedResponse.detectedLanguage?.code;\n\t\tconst targetLang = translationsObj.targetLanguage;\n\t\tif (detectedLang !== targetLang) {\n\t\t\ttranslatedState.push(\n\t\t\t\t{\n\t\t\t\t\tpath: 'translatedText.text',\n\t\t\t\t\tvalue: translationsObj.translatedText,\n\t\t\t\t\toperation: declarativeOperations.SET\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'translatedText.currentStatus',\n\t\t\t\t\tvalue: TRANSLATED_BY(translatedResponse.translator),\n\t\t\t\t\toperation: declarativeOperations.SET\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'translatedText.showRetry',\n\t\t\t\t\tvalue: false,\n\t\t\t\t\toperation: declarativeOperations.SET\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'translatedText.language',\n\t\t\t\t\tvalue: detectedLang,\n\t\t\t\t\toperation: declarativeOperations.SET\n\t\t\t\t}\n\t\t\t);\n\t\t} else {\n\t\t\ttranslatedState.push(\n\t\t\t\t{\n\t\t\t\t\tpath: 'translatedText.currentStatus',\n\t\t\t\t\tvalue: PREFERRED_LANGUAGE,\n\t\t\t\t\toperation: declarativeOperations.SET\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'translatedText.text',\n\t\t\t\t\tvalue: null,\n\t\t\t\t\toperation: declarativeOperations.SET\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpath: 'translatedText.showRetry',\n\t\t\t\t\tvalue: false,\n\t\t\t\t\toperation: declarativeOperations.SET\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t} else {\n\t\tconst errorCode = translatedResponse?.code;\n\t\tlet errorMessage = '';\n\t\tlet showRetry = false;\n\t\tswitch (errorCode) {\n\t\t\tcase '40052':\n\t\t\t\terrorMessage = MAX_LENGTH_ERROR_MSG;\n\t\t\t\tbreak;\n\t\t\tcase '40055':\n\t\t\t\terrorMessage = MISSING_CREDENTIALS;\n\t\t\t\tbreak;\n\t\t\tcase '40053':\n\t\t\tcase '40054':\n\t\t\tcase '40056':\n\t\t\t\terrorMessage = LANG_NOT_SUPPORTED;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\terrorMessage = UNABLE_TO_TRANSLATE;\n\t\t\t\tshowRetry = true;\n\t\t}\n\n\t\ttranslatedState.push(\n\t\t\t{\n\t\t\t\tpath: 'translatedText.currentStatus',\n\t\t\t\tvalue: errorMessage,\n\t\t\t\toperation: declarativeOperations.SET\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'translatedText.text',\n\t\t\t\tvalue: null,\n\t\t\t\toperation: declarativeOperations.SET\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'translatedText.showRetry',\n\t\t\t\tvalue: showRetry,\n\t\t\t\toperation: declarativeOperations.SET\n\t\t\t}\n\t\t);\n\t}\n\n\tupdateState(translatedState);\n};\n\nexport const handleDynamicTranslationClick = (\n\tprops,\n\tdispatch,\n\tupdateState,\n\tisHTML\n) => {\n\t// Get the current text from the Input and call Translate service here\n\tlet translatedState = [\n\t\t{\n\t\t\tpath: 'translatedText.text',\n\t\t\tvalue: null,\n\t\t\toperation: declarativeOperations.SET\n\t\t},\n\t\t{\n\t\t\tpath: 'translatedText.isRetranslate',\n\t\t\tvalue: false,\n\t\t\toperation: declarativeOperations.SET\n\t\t},\n\t\t{\n\t\t\tpath: 'translatedText.showRetry',\n\t\t\tvalue: false,\n\t\t\toperation: declarativeOperations.SET\n\t\t}\n\t];\n\tif (!props.value) {\n\t\ttranslatedState.push({\n\t\t\tpath: 'translatedText.currentStatus',\n\t\t\tvalue: NO_TEXT,\n\t\t\toperation: declarativeOperations.SET\n\t\t});\n\t} else {\n\t\tconst msg = toString(props.value);\n\t\tconst dtsRequestBody = {\n\t\t\tmsg,\n\t\t\tevent: {\n\t\t\t\tsource: 'behaviourAPI',\n\t\t\t\teventName: FORM_CLICK_WORKSPACE,\n\t\t\t\ttableName: props.referringTable,\n\t\t\t\tfieldName: props.name,\n\t\t\t\tfieldType: props.fieldType\n\t\t\t}\n\t\t};\n\t\tif (isHTML) {\n\t\t\tdtsRequestBody.additionalParameters = [\n\t\t\t\t{ parameterName: 'texttype', parameterValue: 'html' }\n\t\t\t];\n\t\t}\n\t\tdispatch(DYNAMIC_TRANSLATION_TEXT_TRANSLATION_REQUESTED, dtsRequestBody);\n\t\ttranslatedState.push(\n\t\t\t{\n\t\t\t\tpath: 'translatedText.previousText',\n\t\t\t\tvalue: msg,\n\t\t\t\toperation: declarativeOperations.SET\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'translatedText.currentStatus',\n\t\t\t\tvalue: TRANSLATING,\n\t\t\t\toperation: declarativeOperations.SET\n\t\t\t}\n\t\t);\n\t}\n\tupdateState(translatedState);\n};\n\nexport const dynamicTranslationBehaviour = {\n\tactionHandlers: {\n\t\t[DYNAMIC_TRANSLATION_TEXT_TRANSLATED]: {\n\t\t\teffect: translatedInputEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[DYNAMIC_TRANSLATION_IS_ENABLED]: ({ action, updateState, host }) => {\n\t\t\tconst { payload } = action;\n\t\t\tconst isTranslationEnabled = payload?.response?.translation;\n\t\t\tupdateState([\n\t\t\t\t{\n\t\t\t\t\tpath: 'isTranslationEnabled',\n\t\t\t\t\tvalue: payload?.response?.translation,\n\t\t\t\t\toperation: declarativeOperations.SET\n\t\t\t\t}\n\t\t\t]);\n\t\t\tif (host.getProperty('type') === 'textarea' && isTranslationEnabled) {\n\t\t\t\tconst nowTextArea = host.shadowRoot.querySelector('now-textarea');\n\t\t\t\tconst nativeTextArea = nowTextArea.shadowRoot.querySelector('textarea');\n\t\t\t\tnativeTextArea.style.paddingRight = '1.5rem';\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect({ dispatch, properties }) {\n\t\t\t\tconst { dictionaryAttributes = {} } = properties;\n\t\t\t\tconst dynamicTranslationEnabled =\n\t\t\t\t\tdictionaryAttributes['dynamicTranslationEnabled'];\n\t\t\t\tif (dynamicTranslationEnabled) {\n\t\t\t\t\tdispatch(DYNAMIC_TRANSLATION_IS_ENABLED_REQUESTED, {\n\t\t\t\t\t\ttranslator: ''\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\t\teffect({ updateState, dispatch, properties, state }) {\n\t\t\t\ttrackDynamicTranslationEvents(\n\t\t\t\t\tMETRICS_CLOSE_TRANSLATED_TEXT_PANEL,\n\t\t\t\t\t{\n\t\t\t\t\t\trecord: properties.referringRecordId,\n\t\t\t\t\t\tfieldType: properties.fieldType,\n\t\t\t\t\t\tlanguage: state.translatedText?.language\n\t\t\t\t\t},\n\t\t\t\t\tdispatch\n\t\t\t\t);\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'translatedText',\n\t\t\t\t\tvalue: null,\n\t\t\t\t\toperation: declarativeOperations.SET\n\t\t\t\t});\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_TEXT_LINK_CLICKED]: {\n\t\t\teffect({ dispatch, updateState, properties, state }) {\n\t\t\t\tconst props = {\n\t\t\t\t\tvalue: properties.initialValue || state.value\n\t\t\t\t};\n\t\t\t\tconst recordMetics = {\n\t\t\t\t\trecord: properties.referringRecordId,\n\t\t\t\t\tfieldType: properties.fieldType,\n\t\t\t\t\tlanguage: state.translatedText.language\n\t\t\t\t};\n\n\t\t\t\thandleDynamicTranslationClick(\n\t\t\t\t\tprops,\n\t\t\t\t\tdispatch,\n\t\t\t\t\tupdateState,\n\t\t\t\t\t!properties.initialValue\n\t\t\t\t);\n\t\t\t\tif (state.translatedText.showRetry) {\n\t\t\t\t\ttrackDynamicTranslationEvents(\n\t\t\t\t\t\tMETRICS_TRYING_TRANSLATION_AGAIN,\n\t\t\t\t\t\trecordMetics,\n\t\t\t\t\t\tdispatch\n\t\t\t\t\t);\n\t\t\t\t} else if (state.translatedText.isRetranslate) {\n\t\t\t\t\ttrackDynamicTranslationEvents(\n\t\t\t\t\t\tMETRICS_RETRANSLATE_TEXT_REQUESTED,\n\t\t\t\t\t\trecordMetics,\n\t\t\t\t\t\tdispatch\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n\nexport const handleDynamicTranslationBlur = (\n\tinputValue,\n\tupdateState,\n\ttranslatedText = {}\n) => {\n\tconst previousTranslatedText = translatedText.previousText;\n\tconst currentTranslationStatus = translatedText.currentStatus;\n\tif (currentTranslationStatus && previousTranslatedText !== inputValue) {\n\t\tupdateState([\n\t\t\t{\n\t\t\t\tpath: 'translatedText.currentStatus',\n\t\t\t\tvalue: FIELD_VALUE_CHANGED,\n\t\t\t\toperation: declarativeOperations.SET\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'translatedText.isRetranslate',\n\t\t\t\tvalue: true,\n\t\t\t\toperation: declarativeOperations.SET\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'translatedText.previousText',\n\t\t\t\tvalue: inputValue,\n\t\t\t\toperation: declarativeOperations.SET\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'translatedText.text',\n\t\t\t\tvalue: null,\n\t\t\t\toperation: declarativeOperations.SET\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: 'translatedText.showRetry',\n\t\t\t\tvalue: false,\n\t\t\t\toperation: declarativeOperations.SET\n\t\t\t}\n\t\t]);\n\t}\n};\n\nconst renderTextLink = label => {\n\treturn (\n\t\t<now-text-link\n\t\t\tlabel={label}\n\t\t\thref=\"javascript:;\"\n\t\t\tvariant=\"secondary\"\n\t\t\tconfigAria={{\n\t\t\t\trole: 'button'\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nexport const renderTranslatedText = (translatedText, isHTML = false) => {\n\tif (translatedText) {\n\t\treturn (\n\t\t\t<div className=\"sn-record-dts\" size=\"md\" hideShadow=\"true\">\n\t\t\t\t<div className=\"sn-record-dts-header\">\n\t\t\t\t\t<div className=\"sn-record-dts-translator\">\n\t\t\t\t\t\t{translatedText.currentStatus && (\n\t\t\t\t\t\t\t<i>\n\t\t\t\t\t\t\t\t{translatedText.currentStatus}\n\t\t\t\t\t\t\t\t{translatedText.isRetranslate && renderTextLink(RETRANSLATE)}\n\t\t\t\t\t\t\t\t{translatedText.showRetry && renderTextLink(TRY_AGAIN)}\n\t\t\t\t\t\t\t</i>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\ticon=\"close-fill\"\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\thidePadding={true}\n\t\t\t\t\t\ttooltip-content={CLOSE}\n\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\trole: 'button'\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t{translatedText?.text ? (\n\t\t\t\t\t<div className=\"sn-record-dts-response\">\n\t\t\t\t\t\t{!isHTML ? (\n\t\t\t\t\t\t\ttranslatedText.text\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<now-rich-text\n\t\t\t\t\t\t\t\tid=\"richTextId-component-dts\"\n\t\t\t\t\t\t\t\thtml={translatedText.text}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}{' '}\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t[]\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n};\n\nexport const renderTranslateIcon = (props, dispatch, updateState, isHTML) => {\n\treturn (\n\t\t<sn-record-control\n\t\t\ticon=\"translated-text-fill\"\n\t\t\ttooltip={TRANSLATE}\n\t\t\tslot=\"controls\"\n\t\t\tonClick={() => {\n\t\t\t\thandleDynamicTranslationClick(props, dispatch, updateState, isHTML);\n\t\t\t\t// language here will be null , Since it is still not identified\n\t\t\t\ttrackDynamicTranslationEvents(\n\t\t\t\t\tMETRICS_TRANSLATE_BUTTON_CLICKED,\n\t\t\t\t\t{\n\t\t\t\t\t\trecord: props.referringRecordId,\n\t\t\t\t\t\tfieldType: props.fieldType,\n\t\t\t\t\t\tlanguage: null\n\t\t\t\t\t},\n\t\t\t\t\tdispatch\n\t\t\t\t);\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nexport { translationBehavior, isEnabledBehavior };\n","import { t } from 'sn-translate';\n\nexport const DEFAULT_BUTTON_PROPS = {\n\tsize: 'sm',\n\tvariant: 'primary',\n\tlabel: '',\n\ticon: 'ai-sparkle-outline',\n\ttooltipContent: t('Use Now Assist to generate notes'),\n\thideButtonOnDialog: true,\n\tstrictlyUseDefaultPresetAction: false,\n\tisCaretForDropdown: false\n};\nexport const DEFAULT_RECOMMENDATION_DIALOG_PROPS = {\n\tinsertButtonLabel: t('Insert'),\n\trefineButtonLabel: t('Refine'),\n\theight: 350,\n\twidth: 400\n};\nexport const WWNA_INSERT_RECOMMENDATION_CLICKED =\n\t'SN_WWNA#INSERT_RECOMMENDATION_CLICKED';\nexport const WWNA_RECOMMENDATION_DIALOG_CLOSED =\n\t'SN_WWNA#RECOMMENDATION_DIALOG_CLOSED';\nexport const WWNA_PRESET_ACTION_CLICKED = 'SN_WWNA#PRESET_ACTION_CLICKED';\nexport const NOW_TEXTAREA_INPUT = 'NOW_TEXTAREA#INPUT';\nexport const NOW_TEXTAREA_SELECTION_CHANGED = 'NOW_TEXTAREA#SELECTION_CHANGED';\nexport const NOW_RECORD_NOWASSIST_SHOW_HIDE_NOWASSIST =\n\t'SN_RECORD_NOWASSIST#SHOW_HIDE_NOWASSIST';\n\nexport const RESOLUTION_TRIGGER_ACTION_ID = 'ad528f2ac34c1e106546baddd4013174';\n","export const sanitizeNACMValue = value => {\n\t// from wwna richtext editor we would get the value with <br> tags.\n\treturn value.replace(/<br\\s*\\/?>/gi, '\\n');\n};\n\nexport const removeAllWhitespace = text => {\n\tif (!text) return '';\n\treturn text.replace(/\\s/g, '');\n};\n\nexport const textHasMinWordCount = (text, minWords) => {\n\tif (!removeAllWhitespace(text)) return false;\n\tconst words = text.trim().split(/\\s+/);\n\tif (words?.length === 1) return false;\n\tconst filteredWords = words.filter(word => word.trim() !== '');\n\treturn filteredWords.length > minWords;\n};\n\nexport const replaceSelectedText = (\n\tinitialValue,\n\tnacmValue,\n\tselectionStart,\n\tselectionEnd\n) => {\n\tif (selectionStart === selectionEnd) return nacmValue;\n\treturn (\n\t\tinitialValue.slice(0, selectionStart) +\n\t\tnacmValue +\n\t\tinitialValue.slice(selectionEnd)\n\t);\n};\n\nexport const getCursorPositionAfterInsertion = (\n\ttextWithInsertion,\n\tinsertedText\n) => {\n\tconst insertionIndex = textWithInsertion.indexOf(insertedText);\n\tif (insertionIndex === -1) return textWithInsertion.length;\n\treturn insertionIndex + insertedText.length;\n};\n\nexport const getNowTextarea = hostElement => {\n\tconst textareaParent = hostElement?.shadowRoot?.querySelector('now-textarea');\n\treturn textareaParent.shadowRoot?.querySelector('textarea');\n};\n\nexport const updateTextareaElementSelection = (\n\thostElement,\n\tselectionStart,\n\tselectionEnd\n) => {\n\tconst textarea = getNowTextarea(hostElement);\n\t// set selection on textarea for UI16 feature parity\n\ttextarea.setSelectionRange(selectionStart, selectionEnd);\n};\n","import {\n\tDEFAULT_BUTTON_PROPS,\n\tDEFAULT_RECOMMENDATION_DIALOG_PROPS\n} from './constants';\nimport { removeAllWhitespace, textHasMinWordCount } from './utils';\n\nexport const getNACMConfigDetails = (\n\tinputFocused,\n\twwnaDialogOpened,\n\tisUserTriggered,\n\tselectedText,\n\tdraftedText,\n\tminWordCount\n) => {\n\t// ALWAYS HIDE WHEN OUT OF FOCUS\n\tif (!inputFocused) {\n\t\treturn {\n\t\t\tisComponentVisible: wwnaDialogOpened,\n\t\t\tcomponentSelectedText: ''\n\t\t};\n\t}\n\n\t// ANY TRIGGER SETTING & MIN WORDS SELECTED\n\tif (selectedText && textHasMinWordCount(selectedText, minWordCount)) {\n\t\treturn {\n\t\t\tisComponentVisible: true,\n\t\t\tcomponentSelectedText: selectedText\n\t\t};\n\t}\n\n\t// ANY TRIGGER & SUFFICIENT DRAFTED TEXT\n\tif (\n\t\tdraftedText &&\n\t\ttextHasMinWordCount(draftedText, minWordCount) &&\n\t\t!selectedText\n\t) {\n\t\treturn {\n\t\t\tisComponentVisible: true,\n\t\t\tcomponentSelectedText: draftedText\n\t\t};\n\t}\n\n\t// IS USER TRIGGERED & NO TEXT INPUT (default case)\n\tif (isUserTriggered && !removeAllWhitespace(draftedText)) {\n\t\treturn {\n\t\t\tisComponentVisible: true,\n\t\t\tcomponentSelectedText: ''\n\t\t};\n\t}\n\n\treturn {\n\t\tisComponentVisible: false,\n\t\tcomponentSelectedText: ''\n\t};\n};\nexport const renderNowAssistContextMenu = (\n\treferringRecordId,\n\treferringTable,\n\tname,\n\tnacmConfig,\n\tselectedText,\n\tdraftedText,\n\tisUserTriggered,\n\tinputFocused,\n\twwnaDialogOpened\n) => {\n\tconst { contextMenu = {}, minWordCount } = nacmConfig;\n\tconst { isComponentVisible, componentSelectedText } = getNACMConfigDetails(\n\t\tinputFocused,\n\t\twwnaDialogOpened,\n\t\tisUserTriggered,\n\t\tselectedText,\n\t\tdraftedText,\n\t\tminWordCount\n\t);\n\n\treturn (\n\t\tisComponentVisible && (\n\t\t\t<sn-wwna\n\t\t\t\tslot=\"caret\"\n\t\t\t\tid=\"sn-record-nowassist\"\n\t\t\t\tdocumentTableName={referringTable}\n\t\t\t\tdocumentSysId={referringRecordId}\n\t\t\t\twwnaComponentId={name}\n\t\t\t\tnacmConfig={contextMenu}\n\t\t\t\tbuttonProps={DEFAULT_BUTTON_PROPS}\n\t\t\t\trecommendationDialogProps={DEFAULT_RECOMMENDATION_DIALOG_PROPS}\n\t\t\t\tpayload={{\n\t\t\t\t\ttable: referringTable,\n\t\t\t\t\tsysId: referringRecordId,\n\t\t\t\t\tfieldName: name\n\t\t\t\t}}\n\t\t\t\tselectedText={componentSelectedText}\n\t\t\t\tdraftedText={draftedText}\n\t\t\t/>\n\t\t)\n\t);\n};\n","import { CALLBACK_AND_DISPATCH_WITH_STATE } from '@devsnc/sn-controls-common';\nimport { actionTypes } from '@servicenow/ui-core';\n\nimport {\n\tNOW_TEXTAREA_SELECTION_CHANGED,\n\tWWNA_INSERT_RECOMMENDATION_CLICKED,\n\tNOW_RECORD_NOWASSIST_SHOW_HIDE_NOWASSIST,\n\tRESOLUTION_TRIGGER_ACTION_ID,\n\tNOW_TEXTAREA_INPUT,\n\tWWNA_RECOMMENDATION_DIALOG_CLOSED,\n\tWWNA_PRESET_ACTION_CLICKED\n} from './constants';\nimport {\n\tgetCursorPositionAfterInsertion,\n\tgetNowTextarea,\n\treplaceSelectedText,\n\tsanitizeNACMValue,\n\tupdateTextareaElementSelection\n} from './utils';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst nowAssistActionsBehavior = {\n\tname: 'nowAssistActionsBehavior',\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: async ({\n\t\t\tproperties: { nowAssistConfig: { contextMenu } = {} },\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tif (contextMenu && Object.keys(contextMenu)?.length > 0) {\n\t\t\t\tawait import('@devsnc/sn-wwna');\n\t\t\t\tconst { variable_sets: variableSets } = contextMenu;\n\t\t\t\tconst isUserTriggered =\n\t\t\t\t\tvariableSets?.some(v => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tv?.config_type === RESOLUTION_TRIGGER_ACTION_ID &&\n\t\t\t\t\t\t\tv?.props?.user_triggered === 'true'\n\t\t\t\t\t\t);\n\t\t\t\t\t}) ?? false;\n\n\t\t\t\tupdateState({\n\t\t\t\t\tcomponentLoaded: true,\n\t\t\t\t\tenableCaretSlot: true,\n\t\t\t\t\tisUserTriggered\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\t\taction: {\n\t\t\t\tpayload: { name, value }\n\t\t\t},\n\t\t\tproperties: { initialValue },\n\t\t\tstate: { enableCaretSlot, stagedValue, isUserTriggered },\n\t\t\tupdateState\n\t\t}) => {\n\t\t\t// This is a workaround for a scenario when a user changes the state of incident and RN\n\t\t\t// auto generates, we only get value not staged value\n\t\t\t// We have to rely on staged value because if user removes the whole text from textarea,\n\t\t\t// we have value but no staged value. In that case, we need to show NACM button.\n\t\t\t// This doesnt happen when user clicks on resolve button. We get both staged and value\n\t\t\tif (!enableCaretSlot && name !== 'initialValue') return;\n\t\t\tif (initialValue && !stagedValue && !isUserTriggered) {\n\t\t\t\tupdateState({ stagedValue: value });\n\t\t\t}\n\t\t},\n\t\t// selection update doesn't run on input...\n\t\t[NOW_TEXTAREA_INPUT]: ({\n\t\t\tproperties: { name = '' },\n\t\t\taction: { payload: { name: fieldName = '' } = {} },\n\t\t\tstate: { stagedValue, selectedText },\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tif (fieldName !== name || !selectedText) return;\n\t\t\tupdateState({\n\t\t\t\tselectedText: '',\n\t\t\t\tselectionStart: stagedValue.length,\n\t\t\t\tselectionEnd: stagedValue.length\n\t\t\t});\n\t\t},\n\t\t[NOW_TEXTAREA_SELECTION_CHANGED]: ({\n\t\t\taction: {\n\t\t\t\tpayload: {\n\t\t\t\t\tname: fieldName = '',\n\t\t\t\t\tselection = '',\n\t\t\t\t\tselectionStart,\n\t\t\t\t\tselectionEnd\n\t\t\t\t} = {}\n\t\t\t},\n\t\t\tupdateState,\n\t\t\tproperties: { name = '' }\n\t\t}) => {\n\t\t\tif (fieldName !== name) return;\n\t\t\tupdateState({ selectedText: selection, selectionStart, selectionEnd });\n\t\t},\n\t\t[WWNA_INSERT_RECOMMENDATION_CLICKED]: coeffects => {\n\t\t\tconst {\n\t\t\t\taction: {\n\t\t\t\t\tpayload: { value: nacmValue = '', wwnaComponentId = '' } = {}\n\t\t\t\t} = {},\n\t\t\t\tdispatch,\n\t\t\t\tproperties: { name = '', onValueChange } = {},\n\t\t\t\tstate: {\n\t\t\t\t\tvalue = '',\n\t\t\t\t\tselectedText = '',\n\t\t\t\t\tselectionStart,\n\t\t\t\t\tselectionEnd\n\t\t\t\t} = {},\n\t\t\t\tupdateState,\n\t\t\t\thost\n\t\t\t} = coeffects;\n\n\t\t\tif (name !== wwnaComponentId) return;\n\n\t\t\tconst sanitizedNacm = sanitizeNACMValue(nacmValue);\n\n\t\t\tconst nextValue = selectedText\n\t\t\t\t? replaceSelectedText(\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tsanitizedNacm,\n\t\t\t\t\t\tselectionStart,\n\t\t\t\t\t\tselectionEnd\n\t\t\t\t  )\n\t\t\t\t: sanitizedNacm;\n\n\t\t\tconst nextCursorPosition = getCursorPositionAfterInsertion(\n\t\t\t\tnextValue,\n\t\t\t\tsanitizedNacm\n\t\t\t);\n\n\t\t\tdispatch(CALLBACK_AND_DISPATCH_WITH_STATE, {\n\t\t\t\tcallback: onValueChange,\n\t\t\t\tisValueChanged: true,\n\t\t\t\tdispatchPayload: { value: nextValue }\n\t\t\t});\n\n\t\t\tupdateState({\n\t\t\t\tstagedValue: nextValue,\n\t\t\t\tselectedText: '',\n\t\t\t\tselectionStart: nextCursorPosition,\n\t\t\t\tselectionEnd: nextCursorPosition,\n\t\t\t\twwnaDialogOpened: false\n\t\t\t});\n\n\t\t\tconst textarea = getNowTextarea(host);\n\t\t\t// Mutating dom elements is generally bad practice, but we have to do it here to prevent our cursor\n\t\t\t// from skipping on focus. The state update above is just a few ms too slow 90% of the time. No\n\t\t\t// reasonable amount of settimeout/delay effect combinations would acheive this while avoiding flicker.\n\t\t\ttextarea.value = nextValue;\n\t\t\t// Update the selection and cursor position. The settimeout ensures it gets called after.\n\t\t\ttextarea.setSelectionRange(nextCursorPosition, nextCursorPosition);\n\t\t\t// Focus to textarea so that onblur event is triggered when we hit save\n\t\t\ttextarea.focus();\n\t\t},\n\t\t[NOW_RECORD_NOWASSIST_SHOW_HIDE_NOWASSIST]: ({\n\t\t\taction: {\n\t\t\t\tpayload: { inputFocused = false }\n\t\t\t},\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tupdateState({ inputFocused });\n\t\t},\n\t\t// Hides sparkle when the nowassist box is manually closed - textarea is already blurred but\n\t\t// NOW_RECORD_NOWASSIST_SHOW_HIDE_NOWASSIST was skipped to prevent closing wwna\n\t\t[WWNA_RECOMMENDATION_DIALOG_CLOSED]: ({ host, updateState }) => {\n\t\t\tupdateState({ wwnaDialogOpened: false });\n\t\t\tgetNowTextarea(host)?.focus();\n\t\t},\n\t\t// Unfortunatey once we have text in the input, the wwna button acts as a menu, doesnt\n\t\t// dispatch WWNA_PRESET#ACTION_CLICKED anymore, and does not accept append data.\n\t\t// It dispatches NOW_BUTTON#CLICKED with a payload of { command: 'OPEN_POPOVER }.\n\t\t['NOW_BUTTON#CLICKED']: ({\n\t\t\thost,\n\t\t\taction,\n\t\t\tstate: { selectedText, stagedValue } = {}\n\t\t}) => {\n\t\t\tif (action.payload.command !== 'OPEN_POPOVER') return;\n\t\t\t// if no selected text, select all text\n\t\t\tif (!selectedText) {\n\t\t\t\tupdateTextareaElementSelection(host, 0, stagedValue.length);\n\t\t\t}\n\t\t},\n\t\t// we have to \"commit\" the staged value for the text box when the nowassist box opens,\n\t\t// otherwise it'll be out of sync and break when WWNA_INSERT_RECOMMENDATION_CLICKED runs\n\t\t[WWNA_PRESET_ACTION_CLICKED]: ({\n\t\t\taction: { payload: { wwnaComponentId = '' } = {} } = {},\n\t\t\tdispatch,\n\t\t\tproperties: { name = '', onValueChange } = {},\n\t\t\tstate: { stagedValue } = {},\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tif (name !== wwnaComponentId) return;\n\t\t\tupdateState({ wwnaDialogOpened: true });\n\t\t\tdispatch(CALLBACK_AND_DISPATCH_WITH_STATE, {\n\t\t\t\tcallback: onValueChange,\n\t\t\t\tisValueChanged: true,\n\t\t\t\tdispatchPayload: {\n\t\t\t\t\tvalue: stagedValue\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\tsetInitialState: () => {\n\t\treturn {\n\t\t\tcomponentLoaded: false,\n\t\t\tenableCaretSlot: false,\n\t\t\tselectedText: '',\n\t\t\tselectionStart: 0,\n\t\t\tselectionEnd: 0,\n\t\t\tstagedValue: '',\n\t\t\tisUserTriggered: false,\n\t\t\tinputFocused: false,\n\t\t\twwnaOffsets: {\n\t\t\t\toffsetTop: 0,\n\t\t\t\toffsetLeft: 0\n\t\t\t},\n\t\t\twwnaDialogOpened: false\n\t\t};\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Skill Configuration for field level Now Assist Context Menu component\n\t\t * The schema for this property isn't strongly typed, as we are simply passing the\n\t\t * Now Assist Context Menu specific document model down to the Now Assist Context Menu Component\n\t\t */\n\t\tnowAssistConfig: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tcontextMenu: { type: 'object' },\n\t\t\t\t\tminWordCount: { type: 'number' }\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\nexport { nowAssistActionsBehavior };\n","import { t } from 'sn-translate';\n\nexport const NOW_BUTTON_ICONIC_CLICKED = 'NOW_BUTTON_ICONIC#CLICKED';\nexport const NOW_POPOVER_OPENED_SET = 'NOW_POPOVER#OPENED_SET';\nexport const FIELD_RECOMMENDATION_INFORMATION = t('Field Recommendation information');\nexport const WIDTH = 250;\nexport const MIN_HEIGHT = 80;\nexport const MAX_HEIGHT = 200;","import {createCustomElement, createPresentationalCustomElement} from \"@servicenow/ui-core\";\nimport '@servicenow/now-button';\nimport '@servicenow/now-popover';\n\nimport style from \"./recommendations-helper.scss\";\nimport {\n\tNOW_BUTTON_ICONIC_CLICKED, \n\tNOW_POPOVER_OPENED_SET, \n\tFIELD_RECOMMENDATION_INFORMATION, \n\tWIDTH, \n\tMIN_HEIGHT, \n\tMAX_HEIGHT\n} from \"./constants\";\n\nconst COMPONENT_NAME = 'sn-recommendations-helper';\n\nexport const popoverDescription = ({properties}) => {\n\tconst { description, link } = properties;\n\treturn (\n\t\t<div className=\"sn-recommendations-info-popover-spacing\">\n\t\t\t<div className=\"sn-recommendations-info-popover-description\" role = \"status\">\n\t\t\t\t\t{description}\n\t\t\t</div>\n\t\t\t{\n\t\t\t\tlink && link.href && link.label && (\n\t\t\t\t\t<a href={link.href} target=\"_blank\">{link.label}{link.icon && (<now-button-iconic bare icon={link.icon} size=\"sm\"></now-button-iconic>)}</a>\n\t\t\t\t)\n\t\t\t}\n\t\t</div>\n\t)\n}\n\ncreatePresentationalCustomElement('sn-recommendations-info-description', {\n\tview: popoverDescription,\n\tstyles: style,\n\tproperties: {\n\t\tdescription: { default: ''},\n\t\tlink: { default: {}}\n\t}\n})\n\nexport const recommendationsHelper = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tconfig: {\n\t\t\t\tvariantName,\n\t\t\t\ticonName,\n\t\t\t\tdescription,\n\t\t\t\tlink\n\t\t\t},\n\t\t\tfieldType\n\t\t}\n\t} = state;\n\tconst interactionType = link ? \"dialog\" : \"none\"\n\treturn ((\n\t\t\t<now-popover\n\t\t\t\tinteractionType={interactionType}\n\t\t\t\tconstrain={{width: WIDTH, minHeight: MIN_HEIGHT, maxHeight: MAX_HEIGHT}}\n\t\t\t>\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tclassName={fieldType !== 'textarea' ? `recommendation-icon` : ''}\n\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\tvariant={variantName}\n\t\t\t\t\ticon={iconName}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\tbutton: { 'aria-label': FIELD_RECOMMENDATION_INFORMATION }\n\t\t\t\t\t}}\n\t\t\t\t\thide-padding\n\t\t\t\t></now-button-iconic>\n\t\t\t\t<sn-recommendations-info-description slot=\"content\" description={description} link={link}/>\n\t\t\t</now-popover>\n\t));\n}\n\ncreateCustomElement(COMPONENT_NAME, {\n\tview: recommendationsHelper,\n\tstyles: style,\n\tproperties: {\n\t\tconfig: { default: {} },\n\t\tfieldType: {default: ''}\n\t},\n\tactionHandlers: {\n\t\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[NOW_POPOVER_OPENED_SET]: {\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n})\n\nexport default COMPONENT_NAME;\n","import { size } from 'lodash';\nimport makeClass from 'classnames';\nimport { t } from 'sn-translate';\n\nimport { isAttrTrue } from '@devsnc/sn-controls-common';\n\n// When the current character count is within this percentage of the max\n// length, we make the counter a more prominent warning.\nconst CHARACTER_COUNTER_WARNING = 0.8;\n\nexport default function CharacterCounter({ value, maxlength, readonly }) {\n\tmaxlength = parseInt(maxlength);\n\n\tif (Number.isNaN(maxlength)) {\n\t\treturn null;\n\t}\n\n\tconst charCount = size(value);\n\tconst charsRemaining = maxlength - charCount;\n\n\tconst isEditable = !isAttrTrue(readonly);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={makeClass('sn-control-character-counter', {\n\t\t\t\twarning:\n\t\t\t\t\tisEditable &&\n\t\t\t\t\tcharCount / maxlength >= CHARACTER_COUNTER_WARNING &&\n\t\t\t\t\tcharsRemaining >= 0,\n\t\t\t\terror: isEditable && charsRemaining < 0\n\t\t\t})}\n\t\t\taria-live=\"polite\"\n\t\t\taria-relevant=\"text\"\n\t\t\taria-atomic=\"true\"\n\t\t>\n\t\t\t{t('Characters left: {0}', charsRemaining)}\n\t\t</div>\n\t);\n}\n","import { toString, isFunction, isEmpty } from 'lodash';\nimport makeClass from 'classnames';\nimport { t } from 'sn-translate';\nimport '@servicenow/now-button';\n\nimport '@servicenow/now-input';\nimport '@servicenow/now-dropdown';\nimport '@servicenow/now-popover';\nimport '@servicenow/now-textarea';\nimport {\n\ttransformMessages,\n\tisAttrTrue,\n\twrapHelperContent,\n\trenderHighlightedValue,\n\trenderDecorations,\n\ttransformDescriptionAndMessages,\n\tNO_PREDICTIONS_AVAILABLE\n} from '@devsnc/sn-controls-common';\nimport { renderNowAssistContextMenu } from '@devsnc/sn-record-nowassist';\nimport '@devsnc/sn-recommendations-helper';\nimport { createSlot, Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nimport CharacterCounter from './CharacterCounter';\n\nconst normalizePlaceholder = (placeholder, readonly) =>\n\tplaceholder || !isAttrTrue(readonly) ? placeholder : '—';\n\nconst setInnerRef = innerRef => node => {\n\tif (node) {\n\t\tif (isFunction(innerRef)) {\n\t\t\tinnerRef(node);\n\t\t}\n\t}\n};\n\nconst onFocusEvent = onFocus => event => {\n\tif (isFunction(onFocus)) {\n\t\tonFocus(event);\n\t}\n};\n\nconst onBlurEvent = (onBlur, onValueChange) => event => {\n\tconst composedPath = event.composedPath()[0];\n\tconst value = composedPath?.value;\n\tif (isFunction(onBlur)) {\n\t\tonBlur(event, value);\n\t} else if (isFunction(onValueChange)) {\n\t\tonValueChange({ value });\n\t}\n};\n\nconst onMouseOverEvent = onMouseOver => event => {\n\tif (isFunction(onMouseOver)) {\n\t\tonMouseOver(event);\n\t}\n};\n\nconst onMouseOutEvent = onMouseOut => event => {\n\tif (isFunction(onMouseOut)) {\n\t\tonMouseOut(event);\n\t}\n};\n\nconst onChangeEvent = (onChange, onValueChange) => event => {\n\tconst value = event.target.value;\n\n\tif (isFunction(onChange)) {\n\t\tonChange(event, value);\n\t} else if (isFunction(onValueChange)) {\n\t\tonValueChange({\n\t\t\tevent,\n\t\t\tvalue\n\t\t});\n\t}\n};\n\nconst onNDSChange = (onChange, onValueChange, name) => event => {\n\tconst value = event.composedPath()[0].value;\n\t//faking event as event target is now-textrea and we need to use value from composed path\n\tconst changeEvent = { target: { value, name } };\n\n\tif (isFunction(onChange)) {\n\t\tonChange(changeEvent, value);\n\t} else if (isFunction(onValueChange)) {\n\t\tonValueChange({\n\t\t\tchangeEvent,\n\t\t\tvalue\n\t\t});\n\t}\n};\n\nconst getMaxlengthLabel = (ignoreMaxlength, maxlength) => {\n\treturn ignoreMaxlength || !maxlength\n\t\t? t('This field has no character limit.')\n\t\t: t('This field supports {0} or fewer characters.', maxlength);\n};\n\nconst renderTextarea = (props, children, isTrigger) => {\n\tconst {\n\t\tvalue,\n\t\tonBlur,\n\t\tonNDSChange,\n\t\tonMouseOver,\n\t\tonMouseOut,\n\t\tconfigAria,\n\t\tmaxlength,\n\t\tfieldLayout = {},\n\t\tdisableMaxHeight,\n\t\tsuggestions,\n\t\tlabel,\n\t\tdecorations,\n\t\treferringRecordId,\n\t\treferringTable,\n\t\tnowAssistConfig,\n\t\tname,\n\t\tselectedText,\n\t\tenableCaretSlot,\n\t\tcomponentLoaded,\n\t\tdraftedText,\n\t\tisUserTriggered,\n\t\tinputFocused,\n\t\twwnaDialogOpened,\n\t\tfitToParent,\n\t\tplaceholder,\n\t\tfieldRegex\n\t} = props;\n\tconst { layout } = fieldLayout;\n\n\tconst showCounter = isAttrTrue(props.showCounter);\n\tconst ignoreMaxlength = isAttrTrue(props.ignoreMaxlength);\n\tconst isPropertySelector =\n\t\ttypeof value === 'string' && value[0] === '@' && value.indexOf('/') > 0;\n\tconst textValue = `\\\\${value}`;\n\tconst classNames = makeClass('sn-control', {\n\t\t'is-required': props.required,\n\t\t'fit-to-parent': fitToParent\n\t});\n\n\tconst slotted = isTrigger ? { slot: 'trigger' } : {};\n\tconst maxlengthLabel = getMaxlengthLabel(ignoreMaxlength, maxlength);\n\tconst ariaLabel = configAria?.['aria-label'] || label;\n\n\tlet resolvedPlaceholder =\n\t\tplaceholder || (Array.isArray(fieldRegex) && fieldRegex[0]?.placeholder);\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<div className=\"sn-control-controls sn-record-dts-translate-icon\">\n\t\t\t\t{children ? (\n\t\t\t\t\tcreateSlot(children, 'controls')\n\t\t\t\t) : (\n\t\t\t\t\t<slot name=\"controls\"></slot>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t<now-textarea\n\t\t\t\t{...slotted}\n\t\t\t\tclassName={classNames}\n\t\t\t\tvalue={isPropertySelector ? textValue : toString(value)}\n\t\t\t\tplaceholder={normalizePlaceholder(resolvedPlaceholder, props.readonly)}\n\t\t\t\tname={props.name}\n\t\t\t\tlabel={label}\n\t\t\t\tshowCounter={showCounter}\n\t\t\t\tmessages={transformMessages(props.messages)}\n\t\t\t\tmaxlength={ignoreMaxlength ? undefined : maxlength}\n\t\t\t\trequired={props.required}\n\t\t\t\tdisabled={props.disabled}\n\t\t\t\treadonly={props.readonly}\n\t\t\t\tautofocus={props.autofocus}\n\t\t\t\tinvalid={props.invalid}\n\t\t\t\tautoresize\n\t\t\t\tmanage-invalid\n\t\t\t\tmanage-value\n\t\t\t\ton-mouseover={onMouseOver}\n\t\t\t\ton-mousedown={props.onMouseDown}\n\t\t\t\ton-mouseout={onMouseOut}\n\t\t\t\ton-input={onNDSChange}\n\t\t\t\ton-blur={onBlur}\n\t\t\t\ton-focus={props.onFocus}\n\t\t\t\thelperContent={wrapHelperContent(props.helperContent)}\n\t\t\t\tconfig-aria={{\n\t\t\t\t\ttextarea: {\n\t\t\t\t\t\t...configAria,\n\t\t\t\t\t\t'aria-label': ariaLabel\n\t\t\t\t\t\t\t? t('{ariaLabel}. {maxlengthLabel}', {\n\t\t\t\t\t\t\t\t\tariaLabel,\n\t\t\t\t\t\t\t\t\tmaxlengthLabel\n\t\t\t\t\t\t\t\t}).trim()\n\t\t\t\t\t\t\t: maxlengthLabel\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tautoresizeRowsLimit={props.autoresizeLineLimit}\n\t\t\t\tfield-layout={fieldLayout}\n\t\t\t\tenableCaretSlot={enableCaretSlot && !props.readonly}\n\t\t\t\tdisableMaxHeight={fitToParent || disableMaxHeight}\n\t\t\t>\n\t\t\t\t{renderHighlightedValue(props.highlightedValue, fieldLayout)}\n\t\t\t\t{suggestions?.source && (\n\t\t\t\t\t<sn-recommendations-helper\n\t\t\t\t\t\tslot=\"start\"\n\t\t\t\t\t\tconfig={suggestions.source}\n\t\t\t\t\t\tfieldType=\"textarea\"\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{renderDecorations(decorations)}\n\t\t\t\t{enableCaretSlot &&\n\t\t\t\t\t!props.readonly &&\n\t\t\t\t\t!props.disabled &&\n\t\t\t\t\tcomponentLoaded &&\n\t\t\t\t\trenderNowAssistContextMenu(\n\t\t\t\t\t\treferringRecordId,\n\t\t\t\t\t\treferringTable,\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tnowAssistConfig,\n\t\t\t\t\t\tselectedText,\n\t\t\t\t\t\tdraftedText,\n\t\t\t\t\t\tisUserTriggered,\n\t\t\t\t\t\tinputFocused,\n\t\t\t\t\t\twwnaDialogOpened\n\t\t\t\t\t)}\n\t\t\t</now-textarea>\n\t\t\t{showCounter && ignoreMaxlength && layout !== 'horizontal' ? (\n\t\t\t\t<CharacterCounter\n\t\t\t\t\tvalue={value}\n\t\t\t\t\tmaxlength={props.maxlength}\n\t\t\t\t\treadonly={props.readonly}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t</Fragment>\n\t);\n};\n\nconst renderInput = (props, children) => {\n\tconst {\n\t\talign,\n\t\treversed,\n\t\tname,\n\t\tcomponentId,\n\t\tdisabled,\n\t\tshowCounter,\n\t\tignoreMaxlength,\n\t\tmaxlength,\n\t\trole,\n\t\tconfigAria,\n\t\ttype,\n\t\tvalue,\n\t\tplaceholder,\n\t\tlabel,\n\t\thighlightedValue,\n\t\tsuggestions,\n\t\treadonly,\n\t\tautofocus,\n\t\thelperContent,\n\t\tinvalid,\n\t\tmax,\n\t\tdescription,\n\t\tmessages,\n\t\tmin,\n\t\trequired,\n\t\tstep,\n\t\tfieldLayout,\n\t\tonChange,\n\t\tonValueChange,\n\t\tonMouseOver,\n\t\tonMouseOut,\n\t\tonKeyPress,\n\t\tonFocus,\n\t\tonBlur,\n\t\tdecorations,\n\t\thideRequiredIndicator,\n\t\tfieldRegex\n\t} = props;\n\n\tconst propAriaLabel =\n\t\tprops['ariaLabel'] || props['aria-label'] || label || '';\n\tconst propAriaLabelledBy = propAriaLabel\n\t\t? null\n\t\t: props['ariaLabelledby'] || props['aria-labelledby'] || '';\n\tconst ignoremaxlength = isAttrTrue(ignoreMaxlength);\n\tconst maxlengthLabel = getMaxlengthLabel(ignoremaxlength, maxlength);\n\tconst showRecommendationIcon =\n\t\tsuggestions?.source &&\n\t\t(suggestions.items?.length || !(props.dropdown || props.options));\n\n\tlet resolvedPlaceholder =\n\t\tplaceholder || (Array.isArray(fieldRegex) && fieldRegex[0]?.placeholder);\n\n\treturn (\n\t\t<now-input\n\t\t\tslot=\"trigger\"\n\t\t\talign={\n\t\t\t\tprops.mobileKeypadType || (align === 'end' && reversed)\n\t\t\t\t\t? 'start'\n\t\t\t\t\t: align\n\t\t\t} // for number use case need to align placeholder and value in the start\n\t\t\tname={name}\n\t\t\tcomponentId={componentId}\n\t\t\tlabel={label}\n\t\t\ttype={\n\t\t\t\tArray.isArray(fieldRegex) && fieldRegex.length > 0\n\t\t\t\t\t? props.mobileKeypadType\n\t\t\t\t\t: type\n\t\t\t}\n\t\t\tdisabled={disabled}\n\t\t\t// STRY4883444: When showing character counter, do not enforce a maxLength\n\t\t\t// DEF0183625: For backwards compatibility in some other cases we do not want to enforce maxlength\n\t\t\tmaxlength={\n\t\t\t\tisAttrTrue(showCounter) || ignoremaxlength ? undefined : maxlength\n\t\t\t}\n\t\t\tconfigAria={{\n\t\t\t\tinput: {\n\t\t\t\t\t...{\n\t\t\t\t\t\t'aria-label': propAriaLabel\n\t\t\t\t\t\t\t? t('{ariaLabel}. {maxlengthLabel}', {\n\t\t\t\t\t\t\t\t\tariaLabel: propAriaLabel,\n\t\t\t\t\t\t\t\t\tmaxlengthLabel\n\t\t\t\t\t\t\t\t}).trim()\n\t\t\t\t\t\t\t: maxlengthLabel,\n\t\t\t\t\t\t'aria-labelledby': propAriaLabelledBy\n\t\t\t\t\t},\n\t\t\t\t\trole: role || 'textbox',\n\t\t\t\t\t...configAria\n\t\t\t\t}\n\t\t\t}}\n\t\t\tvalue={toString(value)}\n\t\t\tplaceholder={resolvedPlaceholder}\n\t\t\treadonly={isAttrTrue(readonly)}\n\t\t\tautofocus={autofocus}\n\t\t\thelperContent={wrapHelperContent(helperContent)}\n\t\t\tinvalid={invalid}\n\t\t\tmax={max}\n\t\t\tmessages={transformDescriptionAndMessages(description, messages)}\n\t\t\tmin={min}\n\t\t\trequired={required}\n\t\t\thideRequiredIndicator={hideRequiredIndicator}\n\t\t\tstep={step}\n\t\t\tfieldLayout={fieldLayout}\n\t\t\tmanage-invalid\n\t\t\tmanage-value\n\t\t\ton-input={onNDSChange(onChange, onValueChange, name)}\n\t\t\ton-mouseover={onMouseOverEvent(onMouseOver)}\n\t\t\ton-mouseout={onMouseOutEvent(onMouseOut)}\n\t\t\ton-keypress={onKeyPress}\n\t\t\ton-focus={onFocusEvent(onFocus)}\n\t\t\ton-blur={onBlurEvent(onBlur, onValueChange)}\n\t\t>\n\t\t\t{showRecommendationIcon && (\n\t\t\t\t<sn-recommendations-helper slot=\"start\" config={suggestions.source} />\n\t\t\t)}\n\t\t\t<slot name=\"left\" slot=\"start\">\n\t\t\t\t{children ? createSlot(children, 'left') : null}\n\t\t\t</slot>\n\t\t\t<slot name=\"controls\" slot=\"end\">\n\t\t\t\t{children ? createSlot(children, 'controls') : null}\n\t\t\t</slot>\n\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t{renderDecorations(decorations)}\n\t\t</now-input>\n\t);\n};\n\nconst renderInputWithDropdown = (props, children) => {\n\tconst { showDropdownWithoutFocus, options, dropdown, highlightedIndex } =\n\t\tprops;\n\n\tconst transformedOptions = (props.options || []).map(option => ({\n\t\tid: option,\n\t\tlabel: option\n\t}));\n\treturn (\n\t\t<now-popover\n\t\t\tbare\n\t\t\tmanage-opened\n\t\t\topened={showDropdownWithoutFocus || !isEmpty(transformedOptions)}\n\t\t\tconstrain={{\n\t\t\t\tminHeight: 32,\n\t\t\t\tminWidth: 'target',\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tmaxHeight: 300\n\t\t\t}}\n\t\t\tinteraction-type=\"listbox\"\n\t\t\tdisable-scroll\n\t\t\thideTail\n\t\t>\n\t\t\t{renderInput(props, children)}\n\t\t\t{dropdown\n\t\t\t\t? dropdown\n\t\t\t\t: options && (\n\t\t\t\t\t\t<now-dropdown-list\n\t\t\t\t\t\t\tmanage-selected-items\n\t\t\t\t\t\t\tactiveItem={transformedOptions[highlightedIndex]?.id}\n\t\t\t\t\t\t\tslot=\"content\"\n\t\t\t\t\t\t\titems={transformedOptions}\n\t\t\t\t\t\t\tconfigAria={{ panel: {} }}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}{' '}\n\t\t</now-popover>\n\t);\n};\n\nconst renderInputWithSuggestions = (props, children, render) => {\n\tconst {\n\t\tsuggestions,\n\t\tisSuggestionsOpened,\n\t\tselectedItem,\n\t\tactiveItemId,\n\t\ttype,\n\t\tnowId,\n\t\tlabel,\n\t\tdropdown,\n\t\toptions\n\t} = props;\n\n\tif (isEmpty(suggestions)) {\n\t\tif (type === 'textarea') {\n\t\t\treturn render();\n\t\t} else {\n\t\t\treturn renderInputWithDropdown(props, children);\n\t\t}\n\t} else {\n\t\tconst {\n\t\t\titems: suggestedItems = [],\n\t\t\tsectionLabel,\n\t\t\temptyMessage = NO_PREDICTIONS_AVAILABLE,\n\t\t\t...meta\n\t\t} = suggestions;\n\n\t\tif (!suggestedItems.length && (dropdown || options) && type !== 'textarea')\n\t\t\treturn renderInputWithDropdown(props, children);\n\n\t\tconst transformedSuggestions = {\n\t\t\tlabel: sectionLabel,\n\t\t\tchildren: suggestedItems.length\n\t\t\t\t? suggestedItems.map(item => ({\n\t\t\t\t\t\tid: item.value || item.displayValue,\n\t\t\t\t\t\tlabel: item.displayValue || item.value,\n\t\t\t\t\t\t...meta\n\t\t\t\t\t}))\n\t\t\t\t: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'disabled_emptyMessage',\n\t\t\t\t\t\t\tlabel: emptyMessage,\n\t\t\t\t\t\t\tdisabled: true\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t};\n\t\treturn (\n\t\t\t<now-popover\n\t\t\t\tmanage-opened\n\t\t\t\topened={isSuggestionsOpened}\n\t\t\t\tconstrain={{\n\t\t\t\t\tminHeight: 32,\n\t\t\t\t\tminWidth: 'target',\n\t\t\t\t\tmaxWidth: 'target',\n\t\t\t\t\tmaxHeight: 300\n\t\t\t\t}}\n\t\t\t\tinteraction-type=\"listbox\"\n\t\t\t\thideTail\n\t\t\t>\n\t\t\t\t{render(true)}\n\t\t\t\t{\n\t\t\t\t\t<now-dropdown-list\n\t\t\t\t\t\tdefer\n\t\t\t\t\t\tmanage-active-item\n\t\t\t\t\t\tmanage-selected-items\n\t\t\t\t\t\tselectedItems={[selectedItem]}\n\t\t\t\t\t\tslot=\"content\"\n\t\t\t\t\t\titems={[transformedSuggestions]}\n\t\t\t\t\t\tactive-item={activeItemId}\n\t\t\t\t\t\tconfigAria={{ panel: { 'aria-label': label } }}\n\t\t\t\t\t\tscreen-reader-id={\n\t\t\t\t\t\t\tisSuggestionsOpened ? `now-dropdown-list-${nowId}` : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t}{' '}\n\t\t\t</now-popover>\n\t\t);\n\t}\n};\n\nexport const Input = (props, children) => {\n\tconst {\n\t\tvalue,\n\t\tonFocus,\n\t\tonBlur,\n\t\tonValueChange,\n\t\tonChange,\n\t\tonMouseOver,\n\t\tinnerRef,\n\t\tonMouseOut,\n\t\tmaxlength,\n\t\treadonly,\n\t\tfieldLayout: { layout } = {}\n\t} = props;\n\tif (props.type === 'textarea') {\n\t\tconst renderTextareaElement = renderTextarea.bind(\n\t\t\tnull,\n\t\t\t{\n\t\t\t\t...props,\n\t\t\t\tonFocus: onFocusEvent(onFocus),\n\t\t\t\tonBlur: onBlurEvent(onBlur, onValueChange),\n\t\t\t\tonChange: onChangeEvent(onChange, onValueChange),\n\t\t\t\tonMouseOver: onMouseOverEvent(onMouseOver),\n\t\t\t\tonMouseOut: onMouseOutEvent(onMouseOut),\n\t\t\t\tonNDSChange: onNDSChange(onChange, onValueChange),\n\t\t\t\tsetInnerRef: setInnerRef(innerRef)\n\t\t\t},\n\t\t\tchildren\n\t\t);\n\t\treturn renderInputWithSuggestions(props, children, renderTextareaElement);\n\t}\n\tconst showCounter = isAttrTrue(props.showCounter);\n\tconst renderInputElement = renderInput.bind(null, props, children);\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{renderInputWithSuggestions(props, children, renderInputElement)}\n\n\t\t\t{showCounter && layout !== 'horizontal' ? (\n\t\t\t\t<CharacterCounter\n\t\t\t\t\tvalue={value}\n\t\t\t\t\tmaxlength={maxlength}\n\t\t\t\t\treadonly={readonly}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t</Fragment>\n\t);\n};\n\nexport default Input;\n","import { omit, isFunction, extend } from 'lodash';\n\nimport Input from './Input';\nimport { CALLBACK_AND_DISPATCH } from '@devsnc/sn-controls-common';\n\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-button';\n\n/**\n * Does what you'd expect an input field to do, with a few extra goodies.\n * - `controls`: Arbitrary content that gets inlined with the input. Often\n *   used to render buttons that perfom actions related to the field.\n * - `dropdown`: Content that is displayed only when the field has focus. Can\n *   be used to implement an autocomplete list, date picker, etc.\n *\n * Note that the state for this component must be handled by the parent\n */\nexport default function SNInput(state, { updateState }) {\n\tconst onValueChange = state.onValueChange || state.properties.onValueChange;\n\n\tconst attrs = extend(\n\t\tomit({ ...state.properties, ...state }, [\n\t\t\t'fetchDeclarativeActions',\n\t\t\t'dependentField',\n\t\t\t'canWrite',\n\t\t\t'dependentTable',\n\t\t\t'displayValue'\n\t\t])\n\t);\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<Input\n\t\t\t\t{...attrs}\n\t\t\t\tonValueChange={onValueChange}\n\t\t\t\tupdateState={updateState}\n\t\t\t\tcomponentName=\"sn-record-input\"\n\t\t\t>\n\t\t\t\t<slot name=\"controls\" />\n\t\t\t</Input>\n\t\t</Fragment>\n\t);\n}\nexport const NOW_TEXTAREA_VALUE_SET = 'NOW_TEXTAREA#VALUE_SET';\nexport const NOW_TEXTAREA_INPUT = 'NOW_TEXTAREA#INPUT';\n\nexport const handleChange = ({\n\taction: {\n\t\tpayload: { name, value }\n\t},\n\tproperties: { onValueChange },\n\tdispatch\n}) => {\n\t// need to handle withValueChangeCallbacks\n\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\tcallback: onValueChange,\n\t\tisValueChanged: true,\n\t\tdispatchPayload: { name, value }\n\t});\n};\n\nexport const callParentOnChange = ({\n\taction: {\n\t\tpayload: { name, fieldValue }\n\t},\n\tproperties: { onChange }\n}) => {\n\tif (isFunction(onChange)) {\n\t\tonChange({ target: { name, value: fieldValue } });\n\t}\n};\n","import makeClass from 'classnames';\nimport { mapValues, isString, isEmpty } from 'lodash';\nimport { createSlot } from '@servicenow/ui-renderer-snabbdom';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-button';\n\nimport {\n\trenderFormFieldMessages,\n\trenderFormFieldLabel\n} from '@servicenow/now-input';\nimport {\n\tisAttrTrue,\n\tgenerateSubComponentIds,\n\ttransformState,\n\trenderHighlightedValue,\n\ttransformDescriptionAndMessages,\n\twrapHelperContent,\n\trenderDecorations,\n\tgetPageProperty\n} from '@devsnc/sn-controls-common';\n\nimport style from './controlwrapper.scss';\nimport { fieldLayoutSchema } from '@devsnc/sn-controls-common';\n\n/**\n * Wrapping component that provides common behavior for nearly all\n * for controls: label, focus classes, error state, etc.\n *\n * Components that are shaped more like an input should use\n * FieldAndDropdownWrapperSeismic instead.\n */\nexport default function ControlWrapper(\n\t{\n\t\tlabel,\n\t\talign,\n\t\trequired,\n\t\treadonly,\n\t\tdescription,\n\t\tinvalid,\n\t\thasFocus,\n\t\treversed,\n\t\tmessages,\n\t\twrapperRef,\n\t\tslot,\n\t\tcomponentId,\n\t\tvariant,\n\t\tfieldset = false,\n\t\thelperContent,\n\t\thighlightedValue = {},\n\t\tfieldLayout = {},\n\t\talignCenter,\n\t\tdecorations = [],\n\t\tfitToParent\n\t},\n\tchildren\n) {\n\tconst { layout = 'vertical', columns } = fieldLayout;\n\tconst customColumn =\n\t\tcolumns?.length > 2\n\t\t\t? (columns?.map(c => `minmax(0, ${c})`)?.join(' ') ?? '')\n\t\t\t: '';\n\tconst snFormFieldClassName = makeClass(\n\t\t'sn-form-field',\n\t\tmapValues({\n\t\t\t'fit-to-parent': fitToParent\n\t\t})\n\t);\n\tconst className = makeClass(\n\t\t'sn-control',\n\t\t'sn-form-field-layout',\n\t\tmapValues(\n\t\t\t{\n\t\t\t\t'is-required': required,\n\t\t\t\t// TODO: we only support `readonly` prop, but we use the `disabled`\n\t\t\t\t// design. Work with XD to align.\n\t\t\t\t'is-readonly': readonly,\n\t\t\t\t'is-focus': hasFocus,\n\t\t\t\t'has-error': invalid,\n\t\t\t\t'is-align-end': align === 'end' && !isAttrTrue(reversed),\n\t\t\t\t'is-align-end-reversed': align === 'end' && isAttrTrue(reversed),\n\t\t\t\t[`-${layout}`]: true,\n\t\t\t\t'align-center': alignCenter,\n\t\t\t\t'fit-to-parent': fitToParent\n\t\t\t},\n\t\t\tisAttrTrue\n\t\t),\n\t\tisString(variant)\n\t\t\t? variant\n\t\t\t\t\t.split(' ')\n\t\t\t\t\t.map(v => `-${v}`)\n\t\t\t\t\t.join(' ')\n\t\t\t: null\n\t);\n\n\tconst ids = generateSubComponentIds(componentId);\n\n\treturn (\n\t\t<div\n\t\t\tstyle={\n\t\t\t\tlayout === 'horizontal'\n\t\t\t\t\t? { 'grid-template-columns': customColumn }\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\tclassName={className}\n\t\t\tref={wrapperRef}\n\t\t\tslot={slot}\n\t\t>\n\t\t\t{!fieldset && label && !isEmpty(label.trim()) && (\n\t\t\t\t<div className=\"form-field-label-wrap\">\n\t\t\t\t\t{renderFormFieldLabel(\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tinvalid,\n\t\t\t\t\t\tisAttrTrue(required),\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\tgetPageProperty('enable_template_enhancement', false) &&\n\t\t\t\t\t\t\tlabel == 'Template'\n\t\t\t\t\t\t\t? ''\n\t\t\t\t\t\t\t: label,\n\t\t\t\t\t\twrapHelperContent(helperContent),\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t'label',\n\t\t\t\t\t\tlayout\n\t\t\t\t\t)}\n\t\t\t\t\t{renderDecorations(decorations, true)}\n\t\t\t\t\t{layout === 'vertical' && (\n\t\t\t\t\t\t<div className=\"sn-control-highlighted-field-label-end\">\n\t\t\t\t\t\t\t<slot name=\"controls-label-end\" slot=\"label-end\"></slot>\n\t\t\t\t\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t{fieldset ? (\n\t\t\t\t<fieldset className=\"default-fieldset\">\n\t\t\t\t\t<legend\n\t\t\t\t\t\tclassName=\"sn-control-label\"\n\t\t\t\t\t\tid={ids.label}\n\t\t\t\t\t\thtmlFor={componentId}\n\t\t\t\t\t\trequired={required}\n\t\t\t\t\t>\n\t\t\t\t\t\t{label}\n\t\t\t\t\t</legend>\n\t\t\t\t\t{children ? (\n\t\t\t\t\t\t<div className={snFormFieldClassName}>{createSlot(children)}</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t)}\n\t\t\t\t</fieldset>\n\t\t\t) : children ? (\n\t\t\t\t<div className={snFormFieldClassName}>{createSlot(children)}</div>\n\t\t\t) : (\n\t\t\t\t<slot></slot>\n\t\t\t)}\n\t\t\t{layout === 'horizontal' && !fieldset && (\n\t\t\t\t<div className=\"sn-control-highlighted-field-label-end\">\n\t\t\t\t\t<slot name=\"controls-label-end\" slot=\"label-end\"></slot>\n\t\t\t\t\t{renderHighlightedValue(highlightedValue, fieldLayout)}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t<div className=\"form-field-message-container\">\n\t\t\t\t{renderFormFieldMessages(\n\t\t\t\t\tcomponentId,\n\t\t\t\t\ttransformDescriptionAndMessages(description, messages)\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nconst view = state => {\n\treturn <ControlWrapper {...state.properties} />;\n};\n\n/**\n * Wrapping component that provides common behavior for nearly all\n * for controls: label, focus classes, error state, etc.\n *\n * Components that are shaped more like an input should use\n * FieldAndDropdownWrapperSeismic instead.\n *\n * ```jsx\n * <sn-record-control-wrapper\n * \tlabel=\"Dummy Component\"\n * \tdescription=\"This is an example of Control Wrapper in use\"\n * >\n * \t<div>\n * \t\t<input value=\"This is a dummy component\" readOnly />\n * \t</div>\n * </sn-record-control-wrapper>\n * ```\n *\n * @seismicElement sn-record-control-wrapper\n * @summary Wrapper for Form Controls that provides all common form-controls functionalities such as info messages, labels, error states\n *\n * */\ncreateCustomElement('sn-record-control-wrapper', {\n\tview,\n\tstyles: style,\n\tproperties: {\n\t\t/**\n\t\t * Alignment - use Value \"end\" for a right Text Align\n\t\t * @type {string}\n\t\t */\n\t\talign: {},\n\t\t/**\n\t\t * Unique identifier for the component.\n\t\t * @type {string}\n\t\t */\n\t\tcomponentId: {},\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * Fieldset - Flag to inidcate a group of related elements\n\t\t * @type {boolean}\n\t\t */\n\t\tfieldset: { default: false },\n\t\t/**\n\t\t * Is the component in focus\n\t\t * @type {string|boolean}\n\t\t */\n\t\thasFocus: { default: false },\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { default: false },\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { default: [] },\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { default: false },\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * Defines the styles used to render the wrapper.\n\t\t * @type {string}\n\t\t */\n\t\tvariant: {},\n\t\t/**\n\t\t * Reference to the element.\n\t\t * @type {HTMLElement}\n\t\t */\n\t\twrapperRef: {},\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\t\t/**\n\t\t * Specifies whether to align items in center of grid container with padding-block-start or not\n\t\t * @type {boolean}\n\t\t */\n\t\talignCenter: { default: false },\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t}\n\t},\n\ttransformState\n});\n","// 3rd party imports\nimport classNames from 'classnames';\nimport { isEmpty, reduce, some } from 'lodash';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport '@servicenow/now-icon';\nimport style from './controlwrapper.scss';\nimport { FIELD_MESSAGE_TYPES } from '@devsnc/sn-controls-common';\n\n/**\n * Utility function that returns message group markup\n * @param {String} type type of message we want to pass in\n * @param {Array} messages array of strings to display\n * @returns {Element} returns an element containing all messages\n */\nconst getMessages = function (type, messages) {\n\tif (!Array.isArray(messages) || messages.length == 0) return null;\n\tlet wrapperClass, iconType;\n\tswitch (type) {\n\t\tcase 'info':\n\t\t\twrapperClass = 'info';\n\t\t\ticonType = 'info-circle-outline';\n\t\t\tbreak;\n\t\tcase 'success':\n\t\t\twrapperClass = 'success';\n\t\t\ticonType = 'info-circle-outline';\n\t\t\tbreak;\n\t\tcase 'error':\n\t\t\twrapperClass = 'danger';\n\t\t\ticonType = 'circle-exclamation-outline';\n\t\t\tbreak;\n\t\tcase 'warning':\n\t\t\twrapperClass = 'warning';\n\t\t\ticonType = 'exclamation-triangle-outline';\n\t\t\tbreak;\n\t\tcase 'liveUpdate':\n\t\t\twrapperClass = 'info';\n\t\t\ticonType = 'heartbeat-outline';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\twrapperClass = 'suggestion';\n\t\t\tbreak;\n\t}\n\n\tconst template = (\n\t\t<div\n\t\t\tkey={type}\n\t\t\tclassName={classNames('sn-control-message', `-${wrapperClass}`, {\n\t\t\t\t'-multi': Array.isArray(messages) && messages.length > 1\n\t\t\t})}\n\t\t>\n\t\t\t{messages.map((message, i) => {\n\t\t\t\tif (type === 'warning' && message.isUserModified) {\n\t\t\t\t\tmessage = message.getMessage().label;\n\t\t\t\t} else {\n\t\t\t\t\tmessage = message.getMessage ? message.getMessage() : message;\n\t\t\t\t\tif (type === 'liveUpdate') message = message.content;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<div className=\"sn-control-message-row\" key={i} role=\"alert\">\n\t\t\t\t\t\t<div className=\"sn-control-message-content -static\">\n\t\t\t\t\t\t\t{iconType && <now-icon size=\"sm\" icon={iconType} />}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"sn-control-message-content\">\n\t\t\t\t\t\t\t<span>{message}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n\treturn template;\n};\n\n/**\n * This function returns the aria labels for each type of message.\n * This is needed because liveUpdate messages are different than\n * other message types in that they are objects not strings. This\n * ensures we get the correct aria label for the message.\n * @param {array} messages array of message objects\n * @param {string} type type of messages in the array\n * @returns {array} returns\n */\nconst getLabels = function (messages, type) {\n\treturn type === 'liveUpdate'\n\t\t? messages.map(message => message.getMessage().label)\n\t\t: messages;\n};\n\n/**\n * utility function that maps the array of messages into a messag map we use for rendering\n * @param {array} messages array of message objects\n * @returns {object} returns an object where types are keys\n */\nconst getMessageMap = function (messages) {\n\treturn messages.reduce((result, { type, message }) => {\n\t\tif (!isEmpty(type) && !isEmpty(message)) {\n\t\t\tif (Array.isArray(result[type])) {\n\t\t\t\tresult[type].push(message);\n\t\t\t} else {\n\t\t\t\tresult[type] = [message];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}, {});\n};\n\n/**\n * utility that determines if any relevant messages exist in the messageMap\n * @param {object} messageMap object of message type arrays\n * @returns {boolean}\n */\nconst hasMessages = messageMap =>\n\tsome(FIELD_MESSAGE_TYPES, s => !isEmpty(messageMap[s]));\n\n/**\n * component that renders the message container and relevant messages\n * @param {object} props\n * @returns {ReactElement}\n */\nconst FieldMessages = function (props) {\n\tlet { messages, id } = props;\n\tif (!messages || messages.length == 0) return null;\n\n\tconst messageMap = getMessageMap(props.messages);\n\tif (!hasMessages(messageMap)) return null;\n\n\tconst { labels, elements } = reduce(\n\t\tFIELD_MESSAGE_TYPES,\n\t\t({ labels, elements }, type) => {\n\t\t\tconst messageMapResult = messageMap[type];\n\t\t\tif (messageMapResult) {\n\t\t\t\telements.push(getMessages(type, messageMapResult));\n\t\t\t\tconst label = getLabels(messageMapResult, type);\n\t\t\t\tlabels.push(label.join(', '));\n\t\t\t}\n\n\t\t\treturn { labels, elements };\n\t\t},\n\t\t{\n\t\t\tlabels: [],\n\t\t\telements: []\n\t\t}\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames('sn-control-messages')}\n\t\t\tid={id}\n\t\t\taria-label={labels.join(', ')}\n\t\t>\n\t\t\t{elements}\n\t\t</div>\n\t);\n};\n\nexport { getMessages, getMessageMap, hasMessages };\nexport default FieldMessages;\n\n/**\n * This component is used to display messages of several types (info, warning,\n * success, error). The mesages are used to notify the user. This\n * component was meant to be used by the controls team only.\n *\n * Example:\n * ```js\n * <sn-record-controls-internal-field-messages\n *\t\tmessages={[\n *\t\t\t{ type: 'info', message: 'This is an info message' },\n *\t\t\t{ type: 'warning', message: 'This is an warning message' },\n *\t\t\t{ type: 'success', message: 'This is an success message' },\n *\t\t\t{ type: 'error', message: 'This is an error message' }\n *\t\t]}\n *\t/>\n * ```\n */\ncreateCustomElement('sn-record-controls-internal-field-messages', {\n\tstyles: style,\n\tproperties: {\n\t\t/**\n\t\t *  array of message objects that must contain type and message itself.\n\t\t */\n\t\tmessages: {},\n\t\t/**\n\t\t * id of parent object\n\t\t */\n\t\tid: {},\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t */\n\t\treversed: {}\n\t},\n\tview: ({ properties }) => FieldMessages(properties)\n});\n","import makeClass from 'classnames';\nimport React from 'react';\nimport { t } from 'sn-translate';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport react from '@servicenow/ui-renderer-react';\nimport '@servicenow/now-button';\nimport '@servicenow/now-popover';\nimport { isAttrTrue } from '@devsnc/sn-controls-common';\n\nconst POPOVER_CONTENT_TAG = 'sn-record-field-helper-popover-content';\n\ncreateCustomElement(POPOVER_CONTENT_TAG, {\n\ttype: react,\n\tview: ({ properties: { content } }) => (\n\t\t<div id=\"content-area\" style={{ padding: '1rem' }}>\n\t\t\t{content}\n\t\t</div>\n\t),\n\tproperties: {\n\t\tcontent: {}\n\t}\n});\n\nexport const renderFieldHelper = (helperContent, invalid) => {\n\tif (helperContent) {\n\t\treturn (\n\t\t\t<now-popover\n\t\t\t\tclassName=\"sn-control-field-helper\"\n\t\t\t\tinteraction-type=\"none\"\n\t\t\t\tconstrain={{ maxHeight: 200, maxWidth: 300 }}\n\t\t\t>\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\tbutton: { 'aria-label': t('More information') }\n\t\t\t\t\t}}\n\t\t\t\t\tclassName={makeClass({\n\t\t\t\t\t\t'now-form-field-button': true,\n\t\t\t\t\t\t'is-invalid': isAttrTrue(invalid)\n\t\t\t\t\t})}\n\t\t\t\t\ticon=\"circle-info-outline\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tbare\n\t\t\t\t\thide-padding\n\t\t\t\t/>\n\t\t\t\t<POPOVER_CONTENT_TAG\n\t\t\t\t\tslot=\"content\"\n\t\t\t\t\trole=\"status\"\n\t\t\t\t\tcontent={helperContent}\n\t\t\t\t/>\n\t\t\t</now-popover>\n\t\t);\n\t}\n};\n","import React from 'react';\n// eslint-disable-next-line no-unused-vars\nimport react from '@servicenow/ui-renderer-react';\nimport { isAttrTrue } from '@devsnc/sn-controls-common';\nimport '@servicenow/now-icon';\nimport { renderFieldHelper } from './formFieldHelperReact';\n\nexport default function Label(props) {\n\tlet { htmlFor, children, required, id, helperContent, invalid } = props;\n\tconst isRequired = isAttrTrue(required);\n\n\treturn (\n\t\t<label id={id} className=\"sn-control-label\" htmlFor={htmlFor}>\n\t\t\t<span className=\"now-line-height-crop\">\n\t\t\t\t<span>{children}</span>\n\t\t\t</span>\n\t\t\t{isRequired && <now-icon size=\"sm\" icon=\"asterisk-outline\" />}\n\t\t\t{renderFieldHelper(helperContent, invalid)}\n\t\t</label>\n\t);\n}\n","// 3rd party imports\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { isEmpty, reduce, some } from 'lodash';\nimport '@servicenow/now-icon';\nimport { FIELD_MESSAGE_TYPES } from '@devsnc/sn-controls-common';\n\n/**\n * Utility function that returns message group markup\n * @param {String} type type of message we want to pass in\n * @param {Array} messages array of strings to display\n * @returns {ReactElement} returns a react element containing all messages\n */\nconst getMessages = function (type, messages) {\n\tif (!Array.isArray(messages) || messages.length == 0) return null;\n\tlet wrapperClass, iconType;\n\tswitch (type) {\n\t\tcase 'info':\n\t\t\twrapperClass = 'info';\n\t\t\ticonType = 'info-circle-outline';\n\t\t\tbreak;\n\t\tcase 'success':\n\t\t\twrapperClass = 'success';\n\t\t\ticonType = 'info-circle-outline';\n\t\t\tbreak;\n\t\tcase 'error':\n\t\t\twrapperClass = 'danger';\n\t\t\ticonType = 'circle-exclamation-outline';\n\t\t\tbreak;\n\t\tcase 'warning':\n\t\t\twrapperClass = 'warning';\n\t\t\ticonType = 'exclamation-triangle-outline';\n\t\t\tbreak;\n\t\tcase 'liveUpdate':\n\t\t\twrapperClass = 'info';\n\t\t\ticonType = 'heartbeat-outline';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\twrapperClass = 'suggestion';\n\t\t\tbreak;\n\t}\n\n\tconst template = (\n\t\t<div\n\t\t\tkey={type}\n\t\t\tclassName={classNames('sn-control-message', `-${wrapperClass}`, {\n\t\t\t\t'-multi': Array.isArray(messages) && messages.length > 1\n\t\t\t})}\n\t\t>\n\t\t\t{messages.map((message, i) => {\n\t\t\t\tif (type === 'warning' && message.isUserModified) {\n\t\t\t\t\tmessage = message.getMessage().label;\n\t\t\t\t} else {\n\t\t\t\t\tmessage = message.getMessage ? message.getMessage() : message;\n\t\t\t\t\tif (type === 'liveUpdate') message = message.content;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<div className=\"sn-control-message-row\" key={i} role=\"alert\">\n\t\t\t\t\t\t<div className=\"sn-control-message-content -static\">\n\t\t\t\t\t\t\t{iconType && <now-icon size=\"sm\" icon={iconType} />}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"sn-control-message-content\">\n\t\t\t\t\t\t\t<span>{message}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n\treturn template;\n};\n\n/**\n * This function returns the aria labels for each type of message.\n * This is needed because liveUpdate messages are different than\n * other message types in that they are objects not strings. This\n * ensures we get the correct aria label for the message.\n * @param {array} messages array of message objects\n * @param {string} type type of messages in the array\n * @returns {array} returns\n */\nconst getLabels = function (messages, type) {\n\treturn type === 'liveUpdate'\n\t\t? messages.map(message => message.getMessage().label)\n\t\t: messages;\n};\n\n/**\n * utility function that maps the array of messages into a messag map we use for rendering\n * @param {array} messages array of message objects\n * @returns {object} returns an object where types are keys\n */\nconst getMessageMap = function (messages) {\n\treturn messages.reduce((result, { type, message }) => {\n\t\tif (!isEmpty(type) && !isEmpty(message)) {\n\t\t\tif (Array.isArray(result[type])) {\n\t\t\t\tresult[type].push(message);\n\t\t\t} else {\n\t\t\t\tresult[type] = [message];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}, {});\n};\n\n/**\n * utility that determines if any relevant messages exist in the messageMap\n * @param {object} messageMap object of message type arrays\n * @returns {boolean}\n */\nconst hasMessages = messageMap =>\n\tsome(FIELD_MESSAGE_TYPES, s => !isEmpty(messageMap[s]));\n\n/**\n * react component that renders the message container and relevant messages\n * @param {object} props\n * @returns {ReactElement}\n */\nconst FieldMessages = function (props) {\n\tlet { messages, id } = props;\n\tif (!messages || messages.length == 0) return null;\n\n\tconst messageMap = getMessageMap(props.messages);\n\tif (!hasMessages(messageMap)) return null;\n\n\tconst { labels, elements } = reduce(\n\t\tFIELD_MESSAGE_TYPES,\n\t\t({ labels, elements }, type) => {\n\t\t\tconst messageMapResult = messageMap[type];\n\t\t\tif (messageMapResult) {\n\t\t\t\telements.push(getMessages(type, messageMapResult));\n\t\t\t\tconst label = getLabels(messageMapResult, type);\n\t\t\t\tlabels.push(label.join(', '));\n\t\t\t}\n\n\t\t\treturn { labels, elements };\n\t\t},\n\t\t{\n\t\t\tlabels: [],\n\t\t\telements: []\n\t\t}\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames('sn-control-messages')}\n\t\t\tid={id}\n\t\t\taria-label={labels.join(', ')}\n\t\t>\n\t\t\t{elements}\n\t\t</div>\n\t);\n};\n\nFieldMessages.propTypes = {\n\t/**\n\t *  array of message objects that must contain type and message itself.\n\t */\n\tmessages: PropTypes.arrayOf(\n\t\tPropTypes.shape({\n\t\t\ttype: PropTypes.oneOf(FIELD_MESSAGE_TYPES),\n\t\t\tmessage: PropTypes.oneOfType([\n\t\t\t\tPropTypes.string,\n\t\t\t\tPropTypes.shape({ getMessage: PropTypes.func })\n\t\t\t])\n\t\t})\n\t),\n\t/**\n\t * id of parent object\n\t */\n\tid: PropTypes.string.isRequired,\n\t/**\n\t * Specifies that the field should be rendered right-to-left.\n\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t * boolean true.\n\t */\n\treversed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool])\n};\n\nexport { getMessages, getMessageMap, hasMessages };\nexport default FieldMessages;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport makeClass from 'classnames';\nimport { mapValues, isString, isEmpty } from 'lodash';\nimport react from '@servicenow/ui-renderer-react';\nimport Label from './LabelReact';\nimport FieldMessages from './FieldMessagesReact';\nimport {\n\tisAttrTrue,\n\tgenerateSubComponentIds,\n\trenderHighlightedValueReact\n} from '@devsnc/sn-controls-common';\n\nimport style from './controlwrapper.scss';\n\nconst { createSlot } = react;\n\n/**\n * Wrapping component that provides common behavior for nearly all\n * for controls: label, focus classes, error state, etc.\n *\n * Components that are shaped more like an input should use\n * FieldAndDropdownWrapperSeismic instead.\n */\nexport default function ControlWrapper({\n\tlabel,\n\tchildren,\n\talign,\n\trequired,\n\treadonly,\n\tdescription,\n\tinvalid,\n\thasFocus,\n\treversed,\n\tmessages,\n\twrapperRef,\n\tslot,\n\tcomponentId,\n\tvariant,\n\tfieldset = false,\n\thelperContent,\n\thighlightedValue = {}\n}) {\n\tconst className = makeClass(\n\t\t'sn-control',\n\t\tmapValues(\n\t\t\t{\n\t\t\t\t'is-required': required,\n\t\t\t\t// TODO: we only support `readonly` prop, but we use the `disabled`\n\t\t\t\t// design. Work with XD to align.\n\t\t\t\t'is-readonly': readonly,\n\t\t\t\t'is-focus': hasFocus,\n\t\t\t\t'has-error': invalid,\n\t\t\t\t'is-align-end': align === 'end' && !isAttrTrue(reversed),\n\t\t\t\t'is-align-end-reversed': align === 'end' && isAttrTrue(reversed)\n\t\t\t},\n\t\t\tisAttrTrue\n\t\t),\n\t\tisString(variant)\n\t\t\t? variant\n\t\t\t\t\t.split(' ')\n\t\t\t\t\t.map(v => `-${v}`)\n\t\t\t\t\t.join(' ')\n\t\t\t: null\n\t);\n\n\tconst ids = generateSubComponentIds(componentId);\n\n\treturn (\n\t\t<div className={className} ref={wrapperRef} slot={slot}>\n\t\t\t<div style={{ position: 'relative' }}>\n\t\t\t\t{!fieldset && label && !isEmpty(label.trim()) && (\n\t\t\t\t\t<div className=\"form-field-label-wrap\">\n\t\t\t\t\t\t<Label\n\t\t\t\t\t\t\tid={ids.label}\n\t\t\t\t\t\t\thtmlFor={componentId}\n\t\t\t\t\t\t\trequired={required}\n\t\t\t\t\t\t\treversed={reversed}\n\t\t\t\t\t\t\thelperContent={helperContent}\n\t\t\t\t\t\t\tinvalid={invalid}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t</Label>\n\t\t\t\t\t\t<div className=\"sn-control-highlighted-field-label-end\">\n\t\t\t\t\t\t\t{renderHighlightedValueReact(highlightedValue)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{fieldset ? (\n\t\t\t\t\t<fieldset className=\"default-fieldset\">\n\t\t\t\t\t\t<legend\n\t\t\t\t\t\t\tclassName=\"sn-control-label\"\n\t\t\t\t\t\t\tid={ids.label}\n\t\t\t\t\t\t\thtmlFor={componentId}\n\t\t\t\t\t\t\trequired={required}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t</legend>\n\t\t\t\t\t\t{createSlot(children)}\n\t\t\t\t\t</fieldset>\n\t\t\t\t) : (\n\t\t\t\t\tcreateSlot(children)\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{description && (\n\t\t\t\t<p id={ids.description} className=\"sn-control-description\">\n\t\t\t\t\t{description}\n\t\t\t\t</p>\n\t\t\t)}\n\t\t\t<FieldMessages id={ids.messages} messages={messages} />\n\t\t</div>\n\t);\n}\n\nControlWrapper.style = style;\nControlWrapper.propTypes = {\n\tlabel: PropTypes.string,\n\tchildren: PropTypes.any,\n\talign: PropTypes.any,\n\trequired: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\treadonly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\tdescription: PropTypes.string,\n\tinvalid: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\thasFocus: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\tmessages: PropTypes.array,\n\twrapperRef: PropTypes.any,\n\tcomponentId: PropTypes.any,\n\tvariant: PropTypes.any,\n\tfieldset: PropTypes.bool,\n\thelperContent: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n\thighlightedValue: PropTypes.any\n};\n","import { createSlot } from '@servicenow/ui-renderer-snabbdom';\n\nimport { ControlWrapper } from '@devsnc/sn-record-control-wrapper';\n\n/**\n * Container component allowing multiple inputs (or input-like components)\n * to be grouped together.\n */\nexport default function SNInputGroup(props, children) {\n\treturn (\n\t\t<ControlWrapper {...props}>\n\t\t\t{children ?\n\t\t\t\t(<div className=\"sn-control-group\">{createSlot(children)}</div>)\n\t\t\t\t:\n\t\t\t\t(<div className=\"sn-control-group\"><slot></slot></div>)\n\t\t\t}\n\t\t</ControlWrapper>\n\t);\n}\n","import { actionTypes } from '@servicenow/ui-core';\n\nconst { COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nexport default {\n    name: 'trackBootstrapBehaviour',\n    properties: {\n        trackBootstrap: {\n            default: {},\n            schema: {\n                type: 'object'\n            }\n        },\n        referringRecordId: {\n            schema: {\n                type: 'string'\n            }\n        },\n        referringTable: {\n            schema: {\n                type: 'string'\n            }\n        },\n        type: {\n            schema: {\n                type: 'string'\n            }\n        },\n        label: {\n            schema: {\n                type: 'string'\n            }\n        }\n    },\n    actionHandlers: {\n        [COMPONENT_BOOTSTRAPPED]: {\n            effect({ dispatch, properties }) {\n                const { trackBootstrap, referringRecordId, referringTable, type, label } = properties;\n                if (trackBootstrap?.action) {\n                    const payload = {\n                        SysId: referringRecordId,\n                        Table: referringTable,\n                        FieldType: type,\n                        FieldLabel: label\n                    };\n                    dispatch(trackBootstrap.action, payload);\n                }\n            }\n        }\n    }\n};\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport {\n\twithValueChangeCallbacksView,\n\tcreateWithValueChangeCallbackBehavior,\n\ttransformState,\n\tSeismicComponentFieldPropDefaults,\n\tSeismicComponentProps,\n\ttrackBehavior\n} from '@devsnc/sn-controls-common';\nimport style from './input.scss';\n\nimport {\n\tcallParentOnChange,\n\tdefault as SNInput,\n\thandleChange,\n\tNOW_TEXTAREA_VALUE_SET,\n\tNOW_TEXTAREA_INPUT\n} from './SNInput';\nimport { default as SNInputGroup } from './SNInputGroup';\nimport trackBootstrapBehavior from './behaviors/trackBootstrapBehavior';\n\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\ncreateCustomElement('sn-record-input-group', {\n\tview: state => {\n\t\treturn SNInputGroup(state.properties);\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t]\n});\n\nconst actionHandlers = {\n\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\taction: {\n\t\t\tpayload: { name, value, previousValue }\n\t\t},\n\t\tupdateState\n\t}) => {\n\t\tif (name === 'value' && previousValue !== value) {\n\t\t\tupdateState({ value });\n\t\t}\n\t},\n\t[NOW_TEXTAREA_VALUE_SET]: handleChange,\n\t[NOW_TEXTAREA_INPUT]: callParentOnChange,\n\t'SN_RECORD_CHOICE#VALUE_CHANGED': { stopPropagation: true },\n\t'SN_RECORD_CHOICE#STAGED_VALUE_CHANGED': { stopPropagation: true }\n};\n\n/**\n *Basic input variations (Note that in this demo each input shares the same\n`value` state):\n *\n *\n * ```jsx\n * initialState = {\n\tvalue: 'I am value'\n};\n\n<Fragment>\n\t<sn-record-input\n\t\tlabel=\"I am label\"\n\t\tvalue={state.value}\n\t\ton-change={event => setState({ value: event.target.value })}\n\t/>\n\n\t<sn-record-input\n\t\tvalue={state.value}\n\t\ton-change={event => setState({ value: event.target.value })}\n\t>\n\t\t<span slot=\"label\">\n\t\t\tI use a slot for my label, <u>allowing</u> <strong>complex</strong>{' '}\n\t\t\t<i>HTML</i>\n\t\t</span>\n\t</sn-record-input>\n\n\t<sn-record-input\n\t\tvalue={state.value}\n\t\ton-change={event => setState({ value: event.target.value })}\n\t>\n\t\t<span slot=\"label\">I am an input with controls</span>\n\t\t<button slot=\"controls\" type=\"button\">\n\t\t\t<now-icon icon=\"search\" />\n\t\t</button>\n\t</sn-record-input>\n\n\t<sn-record-input placeholder=\"I will show a dropdown when focused\">\n\t\t<span slot=\"label\">Focus me!</span>\n\t\t<ul slot=\"dropdown\">\n\t\t\t<li>Option 1</li>\n\t\t\t<li>Option 2</li>\n\t\t\t<li>Option 3</li>\n\t\t</ul>\n\t</sn-record-input>\n</Fragment>;\n * ```\n *\n *## Usage for SNInputGroup\n\n```jsx\n<sn-record-input-group>\n\t<sn-record-input value=\"input\" />\n\n\t<sn-record-choice\n\t\tplaceholder=\"choice\"\n\t\tchoices={[\n\t\t\t{ displayValue: 'A' },\n\t\t\t{ displayValue: 'B' },\n\t\t\t{ displayValue: 'C' }\n\t\t]}\n\t/>\n\n\t<now-record-time value=\"02:30\" format=\"hh:mm a\" />\n</sn-record-input-group>\n * ```\n *\n * @seismicElement sn-record-input\n * @summary Input Component\n *\n */\ncreateCustomElement('sn-record-input', {\n\tview: withValueChangeCallbacksView(SNInput),\n\tstyles: style,\n\tsetInitialState: ({ properties }) => ({\n\t\thasFocus: false,\n\t\tvalue: properties.value === true ? '' : properties.value\n\t}),\n\tactions: {\n\t\t[NOW_TEXTAREA_VALUE_SET]: { stopPropagation: true },\n\t\t[NOW_TEXTAREA_INPUT]: { stopPropagation: true }\n\t},\n\tactionHandlers,\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\ttrackBootstrapBehavior,\n\t\twithValueChangeCallbackBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior\n\t\t}\n\t],\n\ttransformState,\n\tproperties: {\n\t\t...SeismicComponentFieldPropDefaults,\n\t\t...SeismicComponentProps,\n\t\t/**\n\t\t * The number of lines until texteditor should be autoresized when 'autoresize' property is set to true.\n\t\t */\n\t\tautoresizeLineLimit: {\n\t\t\tschema: {\n\t\t\t\ttype: ['number', 'null']\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * When rendering a textarea, the number of character rows that should be\n\t\t * displayed.\n\t\t */\n\t\trows: {},\n\n\t\t/**\n\t\t * When rendering a textarea, the number of character columns that should be\n\t\t * displayed.\n\t\t */\n\t\tcols: {},\n\n\t\t/**\n\t\t * Wrap rendering a textarea, this specifies how text should be wrapped.\n\t\t */\n\t\twrap: {},\n\n\t\t/**\n\t\t * The type of input to render. Note that while any HTML5 type is valid,\n\t\t * there are other form control components that will extend the default\n\t\t * behavior.  Using these higher-order components is often preferred to an\n\t\t * input with an explicit type.\n\t\t *\n\t\t * Use `type=\"auto\"` to enable the component to intelligently switch between\n\t\t * a regular input and a textarea.\n\t\t */\n\t\ttype: {},\n\n\t\t/**\n\t\t * When provided, aligns the input text to the end of the input.\n\t\t */\n\t\talign: {},\n\n\t\t/**\n\t\t * When rendering numeric inputs, the minimum value that should be permitted.\n\t\t */\n\t\tmin: {},\n\n\t\t/**\n\t\t * When rendering numeric inputs, the maximum value that should be permitted.\n\t\t */\n\t\tmax: {},\n\n\t\t/**\n\t\t * When rendering numeric inputs, the minimum distance between 2 valid values.\n\t\t */\n\t\tstep: {},\n\n\t\t/**\n\t\t * Maximum number of characters to allow in the input.\n\t\t */\n\t\tmaxlength: {},\n\n\t\t/**\n\t\t * For backwards compatibility, some string fields should not enforce maxlength.\n\t\t * This is an internal property. Please do not use.\n\t\t *\n\t\t * @see https://support.servicenow.com/kb?id=kb_article_view&sys_kb_id=977420dbdbaee340f0612183ca961914\n\t\t * @private\n\t\t */\n\t\tignoreMaxlength: {},\n\n\t\t/**\n\t\t * When true, the input will be focused immediately upon being rendered.\n\t\t */\n\t\tautofocus: {},\n\n\t\t/**\n\t\t * When rendering a textarea, whether or not to show a character counter.\n\t\t */\n\t\tshowCounter: {},\n\t\t/**\n\t\t * When rendering a textarea, whether or not to show the resize handle.\n\t\t */\n\t\tresizable: {},\n\n\t\t/**\n\t\t * Disable the field so it can not be used or tabbed to\n\t\t */\n\t\tdisabled: {},\n\n\t\t/**\n\t\t * When provided, adds the sn-record-control variant to render\n\t\t */\n\t\tvariant: {},\n\t\tvalue: {},\n\n\t\t/**\n\t\t * When provided, allows the parent component to listen in on each input change\n\t\t */\n\t\tonChange: {},\n\t\tonBlur: {},\n\t\tonFocus: {},\n\t\tchildren: {},\n\t\tonKeyPress: {},\n\n\t\t/**\n\t\t * Content to use as dropdown\n\t\t */\n\t\tdropdown: {},\n\n\t\t/**\n\t\t * Content to use as the label\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * The `role` of the input element\n\t\t */\n\t\trole: {},\n\n\t\t/**\n\t\t * Whether FocusWatcher should listen for outside scroll event\n\t\t */\n\t\thandleOutsideScrollFocus: {},\n\n\t\t/**\n\t\t * Handle dropdowns the old way\n\t\t */\n\t\tfallbackDropdownBehavior: {},\n\t\tcreatedCallbacks: { default: false },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Flag that indicates whether the component fits to its parent's height. When true, the component is grown to its parent's height. Default: false.\n\t\t * @-type {boolean}\n\t\t */\n\t\tfitToParent: { default: false, schema: { type: 'boolean' } },\n\t\t/**\n\t\t * Specifies the type of input control to render based on the expected value type.\n\t\t * This setting is applied only when `fieldRegex` mappings are present; otherwise, it defaults to `'text'`.\n\t\t *\n\t\t * @type {('email' | 'ip' | 'number' | 'text')}\n\t\t * @uib.description Defines the input field type, which can be one of the following: 'email', 'ip', 'number', or 'text' or `textarea` based on maxlength.\n\t\t */\n\t\tmobileKeypadType: {\n\t\t\tdefault: 'text',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['email', 'ip', 'number', 'text']\n\t\t\t}\n\t\t}\n\t}\n});\n\nexport { SNInput, SNInputGroup, actionHandlers };\nexport { default as Input } from './Input';\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-tooltip';\nimport '@servicenow/now-button';\nimport '@servicenow/now-icon';\nimport { isAttrTrue } from '@devsnc/sn-controls-common';\n\nexport const oldIconToEDSIcon = {\n\tsearch: 'magnifying-glass-outline',\n\tphone: 'phone-outline',\n\t'info-circle': 'info-circle-outline'\n};\n\nconst getIcon = old => oldIconToEDSIcon[old] || old;\n\nconst view = state => {\n\tconst {\n\t\tproperties: {\n\t\t\ticon: iconProp,\n\t\t\tdisabled = false,\n\t\t\tvariant = 'tertiary',\n\t\t\tsize = 'sm',\n\t\t\tbare = true,\n\t\t\ticonic = false,\n\t\t\tconfigAria = {},\n\t\t\treverseIconPlacement,\n\t\t\tlabel,\n\t\t\ttooltip\n\t\t}\n\t} = state;\n\n\tlet icon = getIcon(iconProp);\n\n\tlet ButtonComponent = 'now-button';\n\tif (bare && iconic) {\n\t\tButtonComponent += '-iconic';\n\t}\n\n\tlet children = reverseIconPlacement ? (\n\t\t<Fragment>\n\t\t\t{label && <span className=\"now-line-height-crop\">{label}</span>}\n\n\t\t\t{!iconic && icon && (\n\t\t\t\t<now-icon\n\t\t\t\t\tclassName=\"now-button-icon\"\n\t\t\t\t\ticon={icon}\n\t\t\t\t\tsize={size}\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t/>\n\t\t\t)}\n\t\t</Fragment>\n\t) : undefined;\n\n\treturn (\n\t\t<ButtonComponent\n\t\t\tlabel={label}\n\t\t\tsize={size}\n\t\t\ticon={icon}\n\t\t\ticon-name={icon}\n\t\t\ticon-start={icon}\n\t\t\tdisabled={isAttrTrue(disabled) ? true : undefined}\n\t\t\tvariant={variant}\n\t\t\tbare={bare}\n\t\t\ttooltipContent={tooltip}\n\t\t\tconfig-aria={{\n\t\t\t\t// handles when tooltip is undefined\n\t\t\t\t'aria-label': tooltip || '',\n\t\t\t\t// allow for explicit overrides of aria-label\n\t\t\t\t...configAria\n\t\t\t}}\n\t\t>\n\t\t\t{children}\n\t\t</ButtonComponent>\n\t);\n};\n\nexport default view;\n","import { isFunction } from \"lodash\";\n\nexport const handleButtonClick = ({ state: { properties }, action }) => {\n\tlet { onClick } = properties;\n\n\tif (isFunction(onClick)) onClick(action);\n};\n\nexport const actionHandlers = {\n\t'NOW_BUTTON#CLICKED': { effect: handleButtonClick, stopPropagation: true },\n\t'NOW_BUTTON_BARE#CLICKED': {\n\t\teffect: handleButtonClick,\n\t\tstopPropagation: true\n\t},\n\t'NOW_BUTTON_ICONIC#CLICKED': {\n\t\teffect: handleButtonClick,\n\t\tstopPropagation: true\n\t}\n};","import { createCustomElement } from '@servicenow/ui-core';\nimport { transformState } from '@devsnc/sn-controls-common';\nimport { default as view } from './view';\nimport style from './style.scss';\nimport { actionHandlers } from './actionHandlers';\n\ncreateCustomElement('sn-record-control', {\n\tview,\n\tstyle,\n\tproperties: {\n\t\t/**\n\t\t * Text for the button\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\n\t\t/**\n\t\t * Variant for the button\n\t\t * @type {string}\n\t\t */\n\t\tvariant: {},\n\n\t\t/**\n\t\t * Size of the button\n\t\t * @type {string}\n\t\t */\n\t\tsize: {},\n\n\t\t/**\n\t\t * placement of the button\n\t\t * @type {boolean}\n\t\t */\n\t\treverseIconPlacement: {},\n\n\t\t/**\n\t\t * type of the button\n\t\t * @type {boolean}\n\t\t */\n\t\tbare: {},\n\n\t\t/**\n\t\t * Label for the tooltip\n\t\t * @type {string}\n\t\t */\n\t\ttooltip: {},\n\n\t\t/**\n\t\t * Icon for the control\n\t\t * @type {string}\n\t\t */\n\t\ticon: {},\n\n\t\t/**\n\t\t * Whether button is iconic\n\t\t * @type {boolean}\n\t\t */\n\t\ticonic: {},\n\n\t\t/**\n\t\t * ref callback to inner button element\n\t\t * @type {function}\n\t\t */\n\t\tinnerRef: {},\n\n\t\t/**\n\t\t * Click handler for the control\n\t\t * @type {function}\n\t\t */\n\t\tonClick: {},\n\n\t\t/**\n\t\t * Is the control disabled\n\t\t * @type {boolean}\n\t\t */\n\t\tdisabled: {},\n\n\t\t/**\n\t\t * aria-* attribute configuration\n\t\t * @type {object}\n\t\t */\n\t\tconfigAria: {},\n\n\t\t/**\n\t\t * Content to render within the control button\n\t\t * @type {node}\n\t\t */\n\t\tchildren: {}\n\t},\n\tactionHandlers: actionHandlers,\n\ttransformState\n});\n\nexport default view;\n","import { t } from 'sn-translate';\n\nexport const POST_ATTACHMENT_QUERY = 'POST_ATTACHMENT_QUERY';\nexport const POST_DATA_START = 'POST_DATA_START';\nexport const POST_DATA_PROGRESS = 'POST_DATA_PROGRESS';\nexport const POST_DATA_SUCCESS = 'POST_DATA_SUCCESS';\nexport const POST_DATA_FAILURE = 'POST_DATA_FAILURE';\n\nexport const GET_ATTACHMENTS_DATA = 'GET_ATTACHMENTS_DATA';\nexport const GET_ATTACHMENTS_SUCCESS = 'GET_ATTACHMENTS_SUCCESS';\nexport const GET_ATTACHMENTS_FAILURE = 'GET_ATTACHMENTS_FAILURE';\n\nexport const EDITOR_ON_CHANGE = 'TINYMCE_EDITOR#ON_CHANGE';\nexport const EDITOR_ON_KEYDOWN = 'TINYMCE_EDITOR#ON_KEYDOWN';\nexport const EDITOR_ON_FOCUS_OUT = 'TINYMCE_EDITOR#FOCUS_OUT';\nexport const EDITOR_ON_FOCUS_IN = 'TINYMCE_EDITOR#FOCUS_IN';\nexport const EDITOR_ON_BLUR = 'TINYMCE_EDITOR#ON_BLUR';\nexport const EDITOR_ON_FOCUS = 'TINYMCE_EDITOR#ON_FOCUS';\nexport const EDITOR_ON_CLICK = 'TINYMCE_EDITOR#ON_CLICK';\nexport const EDITOR_SET_CONTENT = 'TINYMCE_EDITOR#SET_CONTENT';\nexport const EDITOR_SET_FOCUS = 'TINYMCE_EDITOR#SET_FOCUS';\nexport const EDITOR_ON_RESIZE = 'TINYMCE_EDITOR#ON_RESIZE';\nexport const EDITOR_ON_ITEM_SELECT_TRACK =\n\t'TINYMCE_EDITOR#ON_ITEM_SELECT_TRACK';\n\nexport const INSERT_PILL = 'INSERT_PILL';\n\nexport const CODE_BLOCK_PATTERN = /^\\[code\\]([\\s\\S]*)\\[\\/code\\]$/;\n\n// Items not supported by workspace version of tinymce\nexport const PLUGIN_BLOCKLIST = ['wordcount'];\n\nexport const OBSOLETE_PLUGINS = [\n\t// TinyMCE plugins that were moved to core\n\t'textcolor',\n\t'colorpicker',\n\t'sn_resizer',\n\t'hr',\n\t'noneditable',\n\t'print',\n\t'paste',\n\t// SN plugins that were removed\n\t'a11y_fixes',\n\t'anchor_fix',\n\t'data_uri_sanitize',\n\t'enable_iframe_media',\n\t'instructional_text',\n\t'notificationhandler',\n\t'readonlymode',\n\t'snLink',\n\t// Plugins that were completely removed from everywhere\n\t'compat3x',\n\t'fullpage',\n\t'legacyoutput',\n\t'tabfocus',\n\t'spellchecker'\n];\n\n// Plugins required for all tinymce instances\nexport const REQUIRED_PLUGINS = [\n\t'listitem_fix',\n\t'powerpaste',\n\t'sn_popups_fix',\n\t'sn_tooltip'\n].join(' ');\n\n// @see TinyMCE ResizeTypes.VERTICAL\nexport const EDITOR_VERTICAL_RESIZE_TYPE = 2;\n\n// Number of pixes surrounding the editor content\nexport const EDITOR_CONTENT_MARGIN = 16;\n// Number of pixels of margin surrounding a single line in the html editor\nexport const EDITOR_LINE_MARGIN = 13.333;\n// Number of pixels representing the default font height of the editor\nexport const EDITOR_FONT_HEIGHT = 18;\n\n// Size of editor toolbar in pixels\nexport const EDITOR_TOOLBAR_HEIGHT = 39;\n// Size of the editor statusbar in pixels\nexport const EDITOR_STATUSBAR_HEIGHT = 25;\n\nexport const SETUP_TINYMCE_EDITOR = 'SETUP_TINYMCE_EDITOR';\nexport const REMOVE_TINYMCE_EDITOR = 'REMOVE_TINYMCE_EDITOR';\n\nexport const DEFAULT_FONT_FAMILY = 'Verdana';\nconst DEFAULT_FONT = `${DEFAULT_FONT_FAMILY.toLowerCase()},sans-serif`;\nexport const DEFAULT_FONT_SIZE = '10pt';\nexport const DEFAULT_FONT_FORMAT = `${DEFAULT_FONT_FAMILY}=${DEFAULT_FONT}`;\n\n// Some defaults used by tinymce v4 compatibility layer\n// TODO: remove when compatibility layer gets removed\nexport const DEFAULT_MIN_HEIGHT = 100;\n// refer - ./html.scss for min-height: 160px for the same element, which is a fallback of default height passed to tinymce init function.\nexport const DEFAULT_HEIGHT = 160;\nexport const DEFAULT_MAX_HEIGHT = 2000;\n\n//class to enable scroll in tinyMCE body when required\nexport const OVERRIDE_OVERFLOW_SELECTOR = 'override-overflow-y';\nexport const OVERRIDE_OVERFLOW_STYLE = `.${OVERRIDE_OVERFLOW_SELECTOR} { overflow-y : auto !important}`;\n\nexport const VALID_LINK_TARGETS = ['', '_self', '_blank', '_top'];\n\nexport const MAXIMUM_DOM_PARSING_DEPTH = 10;\nexport const TEXT_AREA_ID_PREFIX = 'html-';\nexport const DEFAULT_ARIA_LABEL = 'Rich Text Area. Press ALT-0 for help.';\nexport const TOOLBAR_INSTRUCTION_TEXT = t(\n\t'In the editor, press Alt+F10 to focus on the toolbar. Mac press Option+F10 to focus on the toolbar. Press escape to return to the editor.'\n);\nexport const FIT_TO_PARENT_OPTION = 'fit_to_parent';\n","import {\n\trenderTranslatedText,\n\trenderTranslateIcon\n} from '@devsnc/sn-controls-common';\nimport '@devsnc/sn-record-control';\nimport { tinymce } from 'sn-tinymce';\nimport { ControlWrapper } from '@devsnc/sn-record-control-wrapper';\nimport { SETUP_TINYMCE_EDITOR } from './constants';\nimport makeClass from 'classnames';\n\nexport const removeTinymceEditor = ({ elm, updateState }) => {\n\tconst node = elm.querySelector('textarea');\n\t// For some reason tinymce saves settings to global tinymce and then replaces it for each new instance\n\t// Lets set it to null to prevent leaks when the targets match and we are removing this instance\n\tif (node === tinymce?.settings?.target) {\n\t\ttinymce.settings = {};\n\t}\n\n\ttry {\n\t\ttinymce?.get(node.id).remove();\n\t} catch (e) {\n\t\t// For firefox, we need to wrap this in a try block otherwise it MIGHT throw NS_ERROR_UNEXPECTED\n\t\t// We dont need to handle it since its gone\n\t}\n\tupdateState({\n\t\tpath: 'editor',\n\t\tvalue: null,\n\t\toperation: 'set',\n\t\tshouldRender: false\n\t});\n};\n\n/**\n * Allows users to input rich text data via [TinyMCE](http://tiny.cloud).\n */\nconst TinyMCEEditor = ({ updateState, dispatch, ...properties }) => (\n\t<div\n\t\tclassName={makeClass('sn-editor', {\n\t\t\t'fit-to-parent': properties.fitToParent\n\t\t})}\n\t\thook-insert={({ elm }) => {\n\t\t\tdispatch(SETUP_TINYMCE_EDITOR, { elm });\n\t\t}}\n\t\thook-destroy={({ elm }) => {\n\t\t\tconst { editor } = properties;\n\t\t\tremoveTinymceEditor({ elm, editor, updateState });\n\t\t}}\n\t>\n\t\t<ControlWrapper {...properties}>\n\t\t\t<div\n\t\t\t\tclassName={makeClass({\n\t\t\t\t\t'fit-to-parent': properties.fitToParent\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={makeClass({\n\t\t\t\t\t\t'fit-to-parent': properties.fitToParent\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t{properties.isTranslationEnabled ? (\n\t\t\t\t\t\t<div className=\"sn-record-dts-translate-icon-html\">\n\t\t\t\t\t\t\t{renderTranslateIcon(properties, dispatch, updateState, true)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t[]\n\t\t\t\t\t)}\n\t\t\t\t\t<textarea\n\t\t\t\t\t\tid={properties.componentId}\n\t\t\t\t\t\tplaceholder={properties.placeholder}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{properties.isTranslationEnabled\n\t\t\t\t\t? renderTranslatedText(properties.translatedText, true)\n\t\t\t\t\t: []}\n\t\t\t</div>\n\t\t</ControlWrapper>\n\t</div>\n);\n\nexport default TinyMCEEditor;\n","/**\n * Temporary solution while we wait for NDS to provide a theme for code-mirror\n * - This code analyze the rgb values of some theme css vars to determine if is a \"dark\" theme, and place the result\n * \tas part of the tinymce configuration so code-mirror can use it to apply the closest OOB dark theme that\n * \tresembles the polaris dark theme. Once a real theme that receives css variables is available, we will remove this\n * \tcode and is calls in TinyMCEThemeBehavior.js.\n * \t@see https://code.devsnc.com/gist/david-leonard/df63e53ca7915a88c981fb576ca01cca\n */\n\nconst isDark = theme => {\n\tconst BACKGROUND_PRIMARY = '--now-color_background--primary';\n\tconst NEUTRAL_0 = '--now-color--neutral-0';\n\tconst NEUTRAL_20 = '--now-color--neutral-20';\n\tif (!theme[BACKGROUND_PRIMARY]) {\n\t\treturn false;\n\t}\n\t/*\n\t * Shortcut that requires no math and we'll hit 99% of the time:\n\t * - If background primary is the same as neutral 0, we're in light theme\n\t * - If background primary is the same as neutral 20, we're in dark theme\n\t * Why? Because that's the defaults hardwired into UXF if the customer\n\t * does not override in their theme.\n\t * See: https://code.devsnc.com/dev/glide/blob/972a9e2576084a03b3d8490e0a65584dddd628d8/glide-ux-builder/src/main/java/com/glide/uxframework/UxFrameworkColorGenerator.java#L111\n\t */\n\tif (theme[NEUTRAL_0] && theme[BACKGROUND_PRIMARY] === theme[NEUTRAL_0]) {\n\t\treturn false;\n\t}\n\tif (theme[NEUTRAL_20] && theme[BACKGROUND_PRIMARY] === theme[NEUTRAL_20]) {\n\t\treturn false;\n\t}\n\t/*\n\t * If we reach this point the customer probably redefined background primary\n\t * to be someting else. So we'll use the WCAG 2.0 calculation [1] to calculate\n\t * the luminance of background primary. The luminance value is between 0-1\n\t * where `0` is darkest black (#000) and `1` is lightest white (#fff).\n\t *\n\t * [1] https://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef)\n\t */\n\tconst [r, g, b] = theme[BACKGROUND_PRIMARY].rgbValues.split(',');\n\tconst calcLum = c => {\n\t\tc /= 255;\n\t\treturn c <= 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);\n\t};\n\tconst lum =\n\t\tcalcLum(parseInt(r)) * 0.2126 +\n\t\tcalcLum(parseInt(g)) * 0.7152 +\n\t\tcalcLum(parseInt(b)) * 0.0722;\n\tif (lum > 0.5) {\n\t\t/* Background primary is bright white or very light gray */\n\t\treturn false;\n\t}\n\t/* Background primary is dark black or dark gray */\n\treturn true;\n};\n\n// Apply result of theme analysis to tinyMce settings\nexport const applyDarkSettings = (props, editor) => {\n\tconst _do_not_use_is_dark_theme = '_do_not_use_is_dark_theme';\n\tif (editor.options.isRegistered(_do_not_use_is_dark_theme)) {\n\t\teditor.options.set(\n\t\t\t_do_not_use_is_dark_theme,\n\t\t\tisDark(props.behaviors.theme)\n\t\t);\n\t}\n};\n","import { get, isString, omit } from 'lodash';\nimport themeBehavior from '@servicenow/behavior-theme';\nimport { applyDarkSettings } from './DetectDarkness';\n\n// Changes to any of the following will trigger the themeBehavior\nconst THEME_SASS_VARS = [\n\t'--now-color--neutral-0',\n\t'--now-color--neutral-18',\n\t'--now-color--secondary-1',\n\t'--now-color--secondary-2',\n\t'--now-color--secondary-3',\n\t'--now-color_alert--info-1',\n\t'--now-color_background--primary',\n\t'--now-color_text--primary',\n\t'--now-color_background--tertiary',\n\t'--sn-tinymce_content-background',\n\t'--sn-tinymce_content-mention-background',\n\t'--sn-tinymce_content-mention-text',\n\t'--sn-tinymce_content-text',\n\n\t//These are to support variants\n\t'--now-color_grouped--gray-5',\n\t'--now-color_grouped--yellow-0',\n\t'--now-color_grouped--magenta-0',\n\t'--now-color_grouped--pink-0',\n\t'--now-color_grouped--orange-0',\n\t'--now-color_grouped--brown-0',\n\t'--now-color_grouped--green-0',\n\t'--now-color_grouped--green-yellow-0',\n\t'--now-color_grouped--blue-0'\n];\n\nexport const variantMappings = {\n\tneutral: {\n\t\t['--sn-tinymce_content-background']: '--now-color_background--primary',\n\t\t['--sn-tinymce_content-mention-background']:\n\t\t\t'--now-color_background--tertiary',\n\t\t['--sn-tinymce_content-text']: '--now-color--text-primary',\n\t\t['--sn-tinymce_content-mention-text']: '--now-color_text--primary'\n\t},\n\tyellow: {\n\t\t['--sn-tinymce_content-background']: '--now-color_grouped--yellow-0',\n\t\t['--sn-tinymce_content-mention-background']:\n\t\t\t'--now-color_background--tertiary',\n\n\t\t['--sn-tinymce_content-text']: '--now-color_grouped--gray-5',\n\t\t['--sn-tinymce_content-mention-text']: '--now-color_text--primary'\n\t},\n\tmagenta: {\n\t\t['--sn-tinymce_content-background']: '--now-color_grouped--magenta-0',\n\t\t['--sn-tinymce_content-mention-background']:\n\t\t\t'--now-color_grouped--magenta-1',\n\t\t['--sn-tinymce_content-text']: '--now-color_grouped--gray-5',\n\t\t['--sn-tinymce_content-mention-text']: '--now-color_grouped--gray-5'\n\t},\n\tpink: {\n\t\t['--sn-tinymce_content-background']: '--now-color_grouped--pink-0',\n\t\t['--sn-tinymce_content-mention-background']: '--now-color_grouped--pink-1',\n\t\t['--sn-tinymce_content-text']: '--now-color_grouped--gray-5',\n\t\t['--sn-tinymce_content-mention-text']: '--now-color_grouped--gray-5'\n\t},\n\torange: {\n\t\t['--sn-tinymce_content-background']: '--now-color_grouped--orange-0',\n\t\t['--sn-tinymce_content-mention-background']:\n\t\t\t'--now-color_grouped--orange-1',\n\t\t['--sn-tinymce_content-text']: '--now-color_grouped--gray-5',\n\t\t['--sn-tinymce_content-mention-text']: '--now-color_grouped--gray-5'\n\t},\n\tbrown: {\n\t\t['--sn-tinymce_content-background']: '--now-color_grouped--brown-0',\n\t\t['--sn-tinymce_content-mention-background']: '--now-color_grouped--brown-1',\n\t\t['--sn-tinymce_content-text']: '--now-color_grouped--gray-5',\n\t\t['--sn-tinymce_content-mention-text']: '--now-color_grouped--gray-5'\n\t},\n\tgreen: {\n\t\t['--sn-tinymce_content-background']: '--now-color_grouped--green-0',\n\t\t['--sn-tinymce_content-mention-background']: '--now-color_grouped--green-1',\n\t\t['--sn-tinymce_content-text']: '--now-color_grouped--gray-5',\n\t\t['--sn-tinymce_content-mention-text']: '--now-color_grouped--gray-5'\n\t},\n\t'green-yellow': {\n\t\t['--sn-tinymce_content-background']: '--now-color_grouped--green-yellow-0',\n\t\t['--sn-tinymce_content-mention-background']:\n\t\t\t'--now-color_grouped--green-yellow-1',\n\t\t['--sn-tinymce_content-text']: '--now-color_grouped--gray-5',\n\t\t['--sn-tinymce_content-mention-text']: '--now-color_grouped--gray-5'\n\t},\n\tblue: {\n\t\t['--sn-tinymce_content-background']: '--now-color_grouped--blue-0',\n\t\t['--sn-tinymce_content-mention-background']: '--now-color_grouped--blue-1',\n\t\t['--sn-tinymce_content-text']: '--now-color_grouped--gray-5',\n\t\t['--sn-tinymce_content-mention-text']: '--now-color_grouped--gray-5'\n\t}\n};\n\nexport const NDSCssVarMap = (variant = 'neutral') =>\n\tvariantMappings[variant] || variantMappings['neutral'];\n\nconst getThemeVars = props => get(props, 'behaviors.theme', []);\n\nconst reduceToCssVars = (keys, themeVars, transform) => {\n\tlet css = '';\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tconst customVar = keys[i];\n\t\tconst value = transform\n\t\t\t? themeVars[transform(customVar)]\n\t\t\t: themeVars[customVar];\n\t\tif (value) {\n\t\t\tconst px = value.px ? value.px + 'px' : '';\n\t\t\tconst rgb = value.rgbValues || '';\n\t\t\tconst str = isString(value) ? value : '';\n\t\t\tcss += `${customVar}: ${rgb || px || str};\\n`;\n\t\t}\n\t}\n\treturn css;\n};\n\nconst getMappedThemeDefinitions = props => {\n\tconst { variant = 'neutral' } = props;\n\tconst cssVars = NDSCssVarMap(variant);\n\tconst mapToNDSTransformer = v => cssVars[v] || v;\n\treturn reduceToCssVars(\n\t\tObject.keys(cssVars),\n\t\tgetThemeVars(props),\n\t\tmapToNDSTransformer\n\t);\n};\n\nexport const applyTheme = (props, editor) => {\n\tif (!editor) return;\n\n\tconst themeVars = getThemeVars(props);\n\tconst doc = editor.getDoc();\n\tconst nodeFound = doc.querySelector('#theme-vars');\n\tconst node = nodeFound || doc.createElement('style');\n\tnode.innerHTML = `\n\t\t:root {\n\t\t\t${reduceToCssVars(Object.keys(themeVars), themeVars || {})}\n\t\t\t${getMappedThemeDefinitions(props)}\n\t\t}\n\t`;\n\n\tapplyDarkSettings(props, editor);\n\n\tif (!nodeFound) {\n\t\tnode.setAttribute('id', 'theme-vars');\n\t\tdoc.head.prepend(node);\n\t}\n};\n\nconst NDS_INTERNAL_THEME_UPDATE_ACTION = 'PRIVATE#THEME_CHANGED';\nexport const tinyMceThemeBehavior = {\n\tname: 'tinymce_theme_behavior',\n\tactionHandlers: {\n\t\t[NDS_INTERNAL_THEME_UPDATE_ACTION]: {\n\t\t\teffect: ({ state, properties }) => {\n\t\t\t\tapplyTheme(\n\t\t\t\t\t{ ...properties, ...omit(state, ['properties', 'editor']) },\n\t\t\t\t\tstate.editor\n\t\t\t\t);\n\t\t\t},\n\t\t\tstopPropagation: true\n\t\t}\n\t}\n};\n\nconst TINYMCE_THEME_BEHAVIORS = [\n\t{ behavior: themeBehavior, options: { items: THEME_SASS_VARS } },\n\t{ behavior: tinyMceThemeBehavior }\n];\n\nexport default TINYMCE_THEME_BEHAVIORS;\n","/*\n * NOTE: AUTO GENERATED FILE. DO NOT MANUALLY MODIFY.\n *\n * This file is autogenerated to ensure that the asset path always reflects the correct version of\n * sn-tinymce.\n */\nexport const getAssetPath = () =>\n\t`/uxasset/externals/sn-tinymce/28.0.6/js/tinymce`;\n\nconst REPLACE_REGEX = /(\\?.*)?$/i;\nconst replace = url =>\n\turl !== '/scripts/now_assist_context_menu_tinymce_plugin.js'\n\t\t? url.replace(REPLACE_REGEX, '.jsdbx$1')\n\t\t: url;\n\nexport const overrideAddCacheSuffix = tinymce => {\n\tif (!tinymce.__sn_addCacheSuffixOverwritten) {\n\t\tconst oldAddCacheSuffix = tinymce.util.Tools._addCacheSuffix;\n\t\ttinymce.util.Tools._addCacheSuffix = url =>\n\t\t\toldAddCacheSuffix.call(tinymce.util.Tools, replace(url));\n\n\t\ttinymce.__sn_addCacheSuffixOverwritten = true;\n\t}\n\n\treturn tinymce;\n};\n","export const OBSOLETE_PLUGINS = [\n\t'fullpage',\n\t'legacyoutput',\n\t'tabfocus',\n\t'spellchecker',\n\t'hr',\n\t'noneditable',\n\t'paste',\n\t'print',\n\t'colorpicker',\n\t'contextmenu',\n\t'textcolor'\n];\n\nexport const RENAMED_PLUGINS = {\n\timagetools: 'editimage',\n\ttoc: 'tableofcontents'\n};\n\nexport const RENAMED_TOOLBAR_ITEMS = {\n\tformatselect: 'blocks',\n\tfontselect: 'fontfamily',\n\tfontsizeselect: 'fontsize',\n\tstyleselect: 'styles',\n\ttoc: 'tableofcontents',\n\ttocupdate: 'tableofcontentsupdate'\n};\n","import {\n\tOBSOLETE_PLUGINS,\n\tRENAMED_PLUGINS,\n\tRENAMED_TOOLBAR_ITEMS\n} from './constants';\n\nconst join = function (items) {\n\treturn items.join(' ');\n};\n\nconst uniq = function (items) {\n\tconst uMap = {};\n\treturn items.filter(function (item) {\n\t\tif (uMap[item]) return false;\n\t\treturn (uMap[item] = 1);\n\t});\n};\n\nconst rename = function (renameMap) {\n\treturn function (items) {\n\t\treturn items.map(function (item) {\n\t\t\treturn renameMap[item] || item;\n\t\t});\n\t};\n};\n\nconst filterOut = function (remove) {\n\treturn function (items) {\n\t\treturn items.filter(function (item) {\n\t\t\treturn remove.indexOf(item) < 0;\n\t\t});\n\t};\n};\n\nconst split = function (pattern) {\n\treturn function (str) {\n\t\treturn !str ? [] : str.split(pattern);\n\t};\n};\n\nconst splitPlugins = split(/[, ]+/);\nconst splitToolbars = split(/[,| ]+/);\n\nconst renameToolbar = function (replacementMap) {\n\treturn function (toolbar) {\n\t\t// Create a regular expression pattern for all keys in the replacement map\n\t\tconst pattern = new RegExp(\n\t\t\t'\\\\b(' + Object.keys(replacementMap).join('|') + ')\\\\b',\n\t\t\t'g'\n\t\t);\n\n\t\t// Replace occurrences based on the map\n\t\treturn toolbar?.replace(pattern, function (match) {\n\t\t\treturn replacementMap[match] || match; // Use the replacement from the map or the original match if not found\n\t\t});\n\t};\n};\n\nconst flow = function () {\n\tconst funcs = [].slice.call(arguments);\n\treturn function (value) {\n\t\tif (funcs.length > 0) {\n\t\t\tvalue = funcs.reduce(function (val, func) {\n\t\t\t\treturn func(val);\n\t\t\t}, value);\n\t\t}\n\t\treturn value;\n\t};\n};\n\nconst transformPlugins = plugins => {\n\tif (!plugins) return plugins;\n\n\treturn flow(\n\t\tsplitPlugins,\n\t\tfilterOut(OBSOLETE_PLUGINS),\n\t\trename(RENAMED_PLUGINS),\n\t\tuniq,\n\t\tjoin\n\t)(plugins);\n};\n\nconst transformValidButtons = validButtons => {\n\tif (!validButtons) return validButtons;\n\n\treturn flow(\n\t\trenameToolbar(RENAMED_TOOLBAR_ITEMS),\n\t\tsplitToolbars,\n\t\tuniq,\n\t\tjoin\n\t)(validButtons);\n};\n\nconst transformToolbar = toolbar => {\n\tif (!toolbar) return toolbar;\n\n\tconst renameToolbarGroup = flow(renameToolbar(RENAMED_TOOLBAR_ITEMS));\n\n\tif (Array.isArray(toolbar)) {\n\t\treturn toolbar.map(toolbarItem => renameToolbarGroup(toolbarItem));\n\t}\n\n\treturn renameToolbarGroup(toolbar);\n};\n\nexport { transformPlugins, transformValidButtons, transformToolbar };\n","import {\n\ttransformPlugins,\n\ttransformToolbar,\n\ttransformValidButtons\n} from './utils';\n\nconst TinyMCEV5CompatibleMode = properties => {\n\tconst { validPlugins, plugins, validButtons, toolbar } = properties;\n\n\tconst modifiedValidPluigins = transformPlugins(validPlugins);\n\tconst modifiedPlugins = transformPlugins(plugins);\n\tconst modifiedValidButtons = transformValidButtons(validButtons);\n\tconst modifiedToolbar = transformToolbar(toolbar);\n\n\tconst compatibleProps = {\n\t\t...properties,\n\t\tvalidPlugins: modifiedValidPluigins,\n\t\tplugins: modifiedPlugins,\n\t\tvalidButtons: modifiedValidButtons,\n\t\ttoolbar: modifiedToolbar\n\t};\n\n\treturn compatibleProps;\n};\n\nexport { TinyMCEV5CompatibleMode };\n","import { isEmpty, isNil } from '@devsnc/sn-controls-common';\n\nconst PLUGIN_NAME = 'now_assist_context_menu';\nconst PLUGIN_PATH_URL = '/scripts/now_assist_context_menu_tinymce_plugin.js';\n\nconst isValid = ({\n\tname,\n\treferringTable,\n\treferringRecordId,\n\tnowAssistConfig\n}) => {\n\treturn (\n\t\t!isNil(name) &&\n\t\t!isNil(referringRecordId) &&\n\t\t!isNil(referringTable) &&\n\t\t!isEmpty(nowAssistConfig)\n\t);\n};\n\nconst getFieldNowAssistContextMenuSettings = props => {\n\tif (!isValid(props)) return {};\n\n\tconst {\n\t\tname,\n\t\treferringTable,\n\t\treferringRecordId,\n\t\tnowAssistConfig: { contextMenu = {} } = {}\n\t} = props;\n\n\treturn {\n\t\tnow_assist_context_menu: {\n\t\t\tfieldMeta: {\n\t\t\t\tfield: name,\n\t\t\t\tsys_id: referringRecordId,\n\t\t\t\ttable: referringTable\n\t\t\t},\n\t\t\tskillConfig: contextMenu,\n\t\t\tassetLoader: () => import('@devsnc/sn-wwna')\n\t\t}\n\t};\n};\nconst getFieldNowAssistContextMenuExternalPlugin = props => {\n\tif (!isValid(props)) return {};\n\n\treturn {\n\t\t[PLUGIN_NAME]: PLUGIN_PATH_URL\n\t};\n};\n\nexport {\n\tgetFieldNowAssistContextMenuSettings,\n\tgetFieldNowAssistContextMenuExternalPlugin\n};\n","import {\n\tcompact,\n\tdifference,\n\tflatten,\n\tflow,\n\thas,\n\tidentity,\n\tisArray,\n\treduce\n} from 'lodash';\n\nimport { tinymce } from 'sn-tinymce';\nimport { t } from 'sn-translate';\nimport { overrideAddCacheSuffix, getAssetPath } from './importTiny';\n\nimport {\n\tgetScrollParent,\n\tisAttrTrue,\n\tgetProperty,\n\tpick\n} from '@devsnc/sn-controls-common';\n\nimport {\n\tCODE_BLOCK_PATTERN,\n\tDEFAULT_FONT_FAMILY,\n\tEDITOR_FONT_HEIGHT,\n\tEDITOR_LINE_MARGIN,\n\tEDITOR_SET_CONTENT,\n\tEDITOR_STATUSBAR_HEIGHT,\n\tEDITOR_TOOLBAR_HEIGHT,\n\tOVERRIDE_OVERFLOW_SELECTOR,\n\tOVERRIDE_OVERFLOW_STYLE,\n\tPLUGIN_BLOCKLIST,\n\tOBSOLETE_PLUGINS,\n\tPOST_DATA_FAILURE,\n\tREQUIRED_PLUGINS,\n\tTOOLBAR_BLOCKLIST,\n\tVALID_LINK_TARGETS,\n\tDEFAULT_HEIGHT,\n\tMAXIMUM_DOM_PARSING_DEPTH,\n\tTEXT_AREA_ID_PREFIX,\n\tDEFAULT_ARIA_LABEL,\n\tTOOLBAR_INSTRUCTION_TEXT,\n\tFIT_TO_PARENT_OPTION,\n\tDEFAULT_FONT_SIZE\n} from './constants';\nimport { applyTheme } from './TinyMCEThemeBehaviors';\nimport { TinyMCEV5CompatibleMode } from './TinyMCEV5CompatibleMode';\nimport {\n\tgetFieldNowAssistContextMenuExternalPlugin,\n\tgetFieldNowAssistContextMenuSettings\n} from './NowAssistContextMenu';\n\n/**\n * Splits the given string by all whitespace\n * @param {string} str - The string to split\n * @returns {string[]} array of strings\n */\nexport const split = str => (isArray(str) ? str : str?.split(/\\s+/));\n\nexport const checkIfPluginIsActive = (pluginName, editor) =>\n\thas(editor, ['plugins', pluginName]);\n\nexport const isParagraphOrList = element =>\n\telement.tagName === 'P' || element.tagName === 'LI';\n\nexport const isUlOrOl = element =>\n\telement.tagName === 'UL' || element.tagName === 'OL';\n\n// If element has image or table or codesnippet\nexport const elementHasNonTextContent = element =>\n\telement.querySelector('img') !== null ||\n\telement.querySelector('table') !== null ||\n\telement.querySelector('pre') !== null;\n\nexport const getSmallestLineHeight = node => {\n\tlet lineHeights = [];\n\tfunction iterateAllValidNodes(node, cnt) {\n\t\tif (cnt >= MAXIMUM_DOM_PARSING_DEPTH) return;\n\t\tif (node.style.fontSize === '') {\n\t\t\t[...node.children].forEach(childNode => {\n\t\t\t\titerateAllValidNodes(childNode, cnt + 1);\n\t\t\t});\n\t\t} else if (node.innerText !== '')\n\t\t\tlineHeights.push(parseFloat(getComputedStyle(node).lineHeight));\n\t}\n\n\t[...node.children].forEach(node => {\n\t\titerateAllValidNodes(node, 0);\n\t});\n\n\treturn lineHeights.length\n\t\t? Math.min(...lineHeights)\n\t\t: parseFloat(getComputedStyle(node).lineHeight);\n};\n\nexport const getElementDetails = (element, autoresizeLineLimit, count) => {\n\tconst elementHeight = element.getBoundingClientRect().height;\n\tconst computedStyle = getComputedStyle(element);\n\n\tconst padding =\n\t\tparseFloat(computedStyle.getPropertyValue('padding-block-start')) +\n\t\tparseFloat(computedStyle.getPropertyValue('padding-block-end'));\n\n\tif (!isParagraphOrList(element) || elementHasNonTextContent(element)) {\n\t\treturn {\n\t\t\theight: elementHeight + padding,\n\t\t\tlineCount: 1\n\t\t};\n\t}\n\tconst smallestLineHeight = getSmallestLineHeight(element);\n\tconst numOfLines = smallestLineHeight\n\t\t? Math.round(elementHeight / smallestLineHeight)\n\t\t: 1;\n\treturn {\n\t\theight:\n\t\t\tcount + numOfLines > autoresizeLineLimit\n\t\t\t\t? smallestLineHeight * (autoresizeLineLimit - count)\n\t\t\t\t: elementHeight,\n\t\tlineCount: numOfLines\n\t};\n};\n\nexport const getEditorDynamicInfo = (\n\tcurrentLineCount,\n\telement,\n\tautoresizeLineLimit\n) => {\n\tlet contentHeight = 0;\n\n\tif (isUlOrOl(element)) {\n\t\tconst listElements = Array.from(element.children);\n\t\tfor (const listElement of listElements) {\n\t\t\tif (currentLineCount >= autoresizeLineLimit) break;\n\t\t\tconst elementDetails = getElementDetails(\n\t\t\t\tlistElement,\n\t\t\t\tautoresizeLineLimit,\n\t\t\t\tcurrentLineCount\n\t\t\t);\n\t\t\tcontentHeight += elementDetails.height;\n\t\t\tcurrentLineCount += elementDetails.lineCount;\n\t\t}\n\t\tcontentHeight += parseFloat(getComputedStyle(element).margin);\n\t} else {\n\t\tconst elementDetails = getElementDetails(\n\t\t\telement,\n\t\t\tautoresizeLineLimit,\n\t\t\tcurrentLineCount\n\t\t);\n\t\tcontentHeight +=\n\t\t\telementDetails.height +\n\t\t\tparseFloat(\n\t\t\t\tgetComputedStyle(element).getPropertyValue('margin-block-end')\n\t\t\t);\n\t\tcurrentLineCount += elementDetails.lineCount;\n\t}\n\treturn { height: contentHeight, lineCount: currentLineCount };\n};\n\nexport const applyAutoresizeLineLimit = (\n\tminLineCount,\n\tautoresizeLineLimit,\n\teditor,\n\thost\n) => {\n\t// applying autoresizeLineLimit property only when autoresize plugin is enabled and also its value is greater than minLineCount or 2\n\tif (\n\t\t!(\n\t\t\t(autoresizeLineLimit || 0) > (minLineCount || 2) &&\n\t\t\tcheckIfPluginIsActive('autoresize', editor) &&\n\t\t\teditor.container &&\n\t\t\teditor.getBody() &&\n\t\t\t!host.fitToParent\n\t\t)\n\t)\n\t\treturn;\n\n\tif (checkIfPluginIsActive('sn_autoresize_overrides', editor))\n\t\teditor.execCommand('sn_disconnect_observer', false, true);\n\n\tconst editorHeaderEle = editor.container.querySelector('.tox-editor-header');\n\tconst toolBarHeight = editorHeaderEle.getBoundingClientRect().height;\n\n\tconst statusBarEle = editor.container.querySelector('.tox-statusbar');\n\tconst statusBarHeight = statusBarEle\n\t\t? statusBarEle.getBoundingClientRect().height\n\t\t: 0;\n\n\tconst computedStyle = getComputedStyle(editor.getBody());\n\tconst contentMarginTop = parseFloat(\n\t\tcomputedStyle.getPropertyValue('margin-block-start')\n\t);\n\tconst contentMarginBottom = parseFloat(\n\t\tcomputedStyle.getPropertyValue('margin-block-end')\n\t);\n\n\tif (editor.getContent() === '') {\n\t\teditor.container.style.maxHeight =\n\t\t\ttoolBarHeight +\n\t\t\t((autoresizeLineLimit - 1) * (EDITOR_LINE_MARGIN + EDITOR_FONT_HEIGHT) +\n\t\t\t\tEDITOR_FONT_HEIGHT) +\n\t\t\tstatusBarHeight +\n\t\t\tcontentMarginTop +\n\t\t\tcontentMarginBottom +\n\t\t\t'px';\n\t} else {\n\t\tlet calculatedHeight =\n\t\t\ttoolBarHeight + statusBarHeight + contentMarginTop + contentMarginBottom;\n\t\tlet lineCount = 0;\n\t\t// Converting collection to Array, becoz HTML collections are live,\n\t\t// which means that if you modify the DOM while iterating over the\n\t\t// collection, the collection may be updated and cause unexpected results.\n\t\t// To avoid this, you can convert the HTML collection to an array before iterating over it.\n\t\tconst childElements = Array.from(editor.getBody().children);\n\n\t\tfor (const lineElement of childElements) {\n\t\t\tif (lineCount >= autoresizeLineLimit) break;\n\t\t\tconst editorInfo = getEditorDynamicInfo(\n\t\t\t\tlineCount,\n\t\t\t\tlineElement,\n\t\t\t\tautoresizeLineLimit\n\t\t\t);\n\t\t\tcalculatedHeight += editorInfo.height;\n\t\t\tconst currentMaxHeight =\n\t\t\t\tcalculatedHeight -\n\t\t\t\tparseFloat(\n\t\t\t\t\tgetComputedStyle(lineElement).getPropertyValue('margin-block-end')\n\t\t\t\t);\n\t\t\tlineCount = editorInfo.lineCount;\n\n\t\t\t// Setting maxHeight only if its greater than default height\n\t\t\t// Adding arbitary value of 6 px inorder to avoid scroll bar before autoresizeLineLimit value\n\t\t\tif (currentMaxHeight > DEFAULT_HEIGHT)\n\t\t\t\teditor.container.style.maxHeight = currentMaxHeight + 6 + 'px';\n\t\t}\n\t}\n};\n\n/**\n * Normalizes the dimensions taking into consideration height limits, resizability, and minLineCount.\n *\n * @param {Object} config - The config/settings that will be passed into tinymce\n * @param {number} config.minLineCount - The minimum number of lines that should be visible in the editor\n * @param {number} config.minHeight - The minimum height of the editor\n * @param {number} config.height - The height of the editor\n * @param {number} config.maxHeight - The maximum height of the editor\n * @param {boolean} config.resizable - Whether the editor can be resized\n * @returns {Object} normalized object containing height, min_height, and max_height\n */\nexport const getDimensionInfo = ({\n\tminLineCount,\n\tminHeight,\n\tmaxHeight,\n\theight,\n\tresizable,\n\tfitToParent\n}) => {\n\tconst dim = {\n\t\tmin_height: minHeight,\n\t\theight: height > minHeight ? height : minHeight,\n\t\tmax_height: maxHeight > height ? maxHeight : height\n\t};\n\n\t// Min line count sets the height of the editable area, which has priority over the height\n\t// passed in as a prop\n\tif (minLineCount != null) {\n\t\tlet linesBasedHeight =\n\t\t\tminLineCount * (EDITOR_LINE_MARGIN + EDITOR_FONT_HEIGHT) +\n\t\t\tEDITOR_LINE_MARGIN +\n\t\t\tEDITOR_TOOLBAR_HEIGHT +\n\t\t\t(resizable ? EDITOR_STATUSBAR_HEIGHT : 0);\n\t\tdim.height = linesBasedHeight;\n\n\t\t// Lines based height will have no effect unless min height is also defined\n\t\tif (minHeight == null) dim.min_height = linesBasedHeight;\n\t}\n\n\tif (fitToParent === true) {\n\t\tdim.height = 'inherit';\n\t}\n\treturn dim;\n};\n\n/**\n * Gets the mapped language given a supported SN language code/id.\n * @param {string} language - The language to map from\n * @returns {string} the mapped language\n */\nexport const getMappedLanguage = language => {\n\t// We only map languages we support and only those whose ID has no exact mapping to tinymce\n\t// ex. we support Spanish (code: es) which matches exactly to tinymce Spanish (code: es)\n\t// hence no mapping is necessary\n\tconst mapping = {\n\t\tpb: 'pt_BR',\n\t\tzh: 'zh_CN',\n\t\tfr: 'fr_FR',\n\t\tfq: 'fr_FR',\n\t\the: 'he_IL',\n\t\thu: 'hu_HU',\n\t\tko: 'ko_KR',\n\t\tnb: 'nb_NO',\n\t\tpt: 'pt_PT',\n\t\tsv: 'sv_SE',\n\t\tth: 'th_TH',\n\t\tzt: 'zh_TW'\n\t};\n\n\t// If undefined we return the passed in language. In this case, either there was an exact match to\n\t// tinymce's supported languages, or tinymce will just use english. Which is fine now.\n\treturn mapping[language] || language;\n};\n\n/**\n *\n * @param {number} config.autoresizeBottomMargin - size of the padding at the bottom of the editor’s body when autoresize plugin is enabled\n * @returns {Object}\n */\nexport const getAutoresizeOptions = ({ autoresizeBottomMargin }) =>\n\ttypeof autoresizeBottomMargin === 'number'\n\t\t? { autoresize_bottom_margin: autoresizeBottomMargin }\n\t\t: {};\n\n/**\n * Inserts content at a given position and scrolls to that position.\n *\n * @param {TinyMCE.Editor} editor - The editor that will be used to insert content to\n * @returns {Function} - Function that takes an object a payload an id as the second arg. The payload is the content\n * that should be inserted and the id of an element that should be scrolled into view\n */\nexport const insertContentAndScroll =\n\teditor =>\n\t(_, { payload, id }) => {\n\t\tlet doc = editor.getDoc().documentElement;\n\t\tconst iframeBounds = editor\n\t\t\t.getContentAreaContainer()\n\t\t\t.getBoundingClientRect();\n\n\t\teditor.insertContent(payload);\n\n\t\t// Technically, it should be enough to call insertContent, this should be enough\n\t\t// to scroll everything into view. However, the following is necessary to try\n\t\t// and center and/or ensure that the content is mostly visible and not just partially\n\t\t// visible\n\t\tconst content = editor.getDoc().querySelector(`#${id}`);\n\n\t\tif (content) {\n\t\t\t// Gross math to figure out if the content is visible or not,\n\t\t\t// we look at at the top of the iframe doc and the height of\n\t\t\t// the iframe as well as the top and the height of the content\n\t\t\t// to determine if scrolling the iframe is needed\n\t\t\tconst iframeShouldScrollDown =\n\t\t\t\tdoc.scrollTop + iframeBounds.height <\n\t\t\t\tcontent.offsetTop + content.offsetHeight;\n\t\t\tconst iframeShouldScrollUp = doc.scrollTop > content.offsetTop;\n\n\t\t\tif (iframeShouldScrollDown || iframeShouldScrollUp)\n\t\t\t\tdoc.scrollTop = content.offsetTop - 20;\n\n\t\t\t// Gross math to figure out if the editor is visible or not\n\t\t\t// if no scrollable parent is found and it defaults to the body,\n\t\t\t// we look at the height of the viewport for comparison with the top of the\n\t\t\t// iframe. If there is a scrollable parent, we check to see when the top\n\t\t\t// of the editor passes the top of the scrollable element\n\t\t\tconst scrollParent = getScrollParent(editor.getContainer());\n\t\t\tconst minPortionToView = iframeBounds.top + content.offsetHeight / 2;\n\t\t\tconst pageShouldScrollDown = !scrollParent\n\t\t\t\t? document.documentElement.clientHeight < minPortionToView\n\t\t\t\t: scrollParent.getBoundingClientRect().bottom < minPortionToView;\n\n\t\t\tconst pageShouldScrollUp = !scrollParent\n\t\t\t\t? minPortionToView < 0\n\t\t\t\t: minPortionToView < scrollParent.getBoundingClientRect().top;\n\n\t\t\tif (pageShouldScrollDown || pageShouldScrollUp) {\n\t\t\t\tdoc.scrollIntoView({ behavior: 'smooth', block: 'center' });\n\t\t\t}\n\t\t}\n\t};\n\n/**\n * Collapses the toolbar into a string if theres only a single non-falsy element in the toolbar array.\n * Otherwise just removes all falsy values\n * @param {string[]} toolbar - Array of strings where each string is a different toolbar group\n * @returns {string[]|string} a collpased or filtered toolbar\n */\nexport const collapseToolbar = toolbar =>\n\tisArray(toolbar)\n\t\t? flow(flatten, compact, tb =>\n\t\t\t\treduce(tb, (prev, curr, idx) => (!idx ? curr : [...prev, curr]))\n\t\t\t)([toolbar])\n\t\t: toolbar;\n\n/**\n * Filters the items by keeping only items in the validItems list.\n * @param {string} items - The items separated by whitespace\n * @param {string[]} validItems - The items that are valid\n * @returns {string} - The filtered product as a string\n */\nconst filterItems = (items, validItems) =>\n\tcompact(split(items).filter(i => validItems.includes(i))).join(' ');\n\n/**\n * Given a list of items, this method returns a list with only valid items.\n * @param {string[]|string} items - List of strings or single string separated spaces. This will be filtered down to only allow valid items\n * @param {string[]} validItems - List of valid items\n * @returns {string[]|string} - The filtered items after applying valid items as a filter\n */\nexport const getItems = (items, validItems = []) => {\n\tif (!validItems.length || !items) return items;\n\n\treturn isArray(items)\n\t\t? items.map(line => filterItems(line, split(validItems)))\n\t\t: filterItems(items, split(validItems));\n};\n\n/**\n * Given a string, it parses out the clode_block_pattern if it exists and returns the value\n * @param {string} value - The value to strip the code blocks from\n */\nexport const stripCodeBlocks = value => {\n\tconst result = CODE_BLOCK_PATTERN.exec(value);\n\n\treturn result ? result[1] : value;\n};\n\n/**\n * Used to swap divs with spans when inside anchors\n * @param {string} htmlString - Whatever we were going to set editor content with\n * @returns {string} - The modified html is returned as a string\n */\n\nexport function swapDivsWithSpans(htmlString) {\n\t// Create a temporary div element\n\tlet tempDiv = document.createElement('div');\n\ttempDiv.innerHTML = htmlString;\n\n\t// Find all <div> tags inside <a> tags\n\tconst divsInsideAnchors = tempDiv.querySelectorAll('a div');\n\tdivsInsideAnchors.forEach(divTag => {\n\t\t// Create a new <span> element\n\t\tconst spanTag = document.createElement('span');\n\n\t\twhile (divTag.firstChild) {\n\t\t\tconst childNode = divTag.firstChild;\n\t\t\tdivTag.removeChild(childNode);\n\t\t\tspanTag.appendChild(childNode);\n\t\t}\n\n\t\t// Preserve the class name from the original <div> tag\n\t\tif (divTag.className) {\n\t\t\tspanTag.className = divTag.className;\n\t\t}\n\n\t\tdivTag.replaceWith(spanTag);\n\t});\n\n\t// Return the modified HTML as a string\n\treturn tempDiv.innerHTML;\n}\n\nexport const getResponseTemplateConfig = responseTemplates => {\n\tif (responseTemplates.enableResponseTemplates) {\n\t\treturn {\n\t\t\ttype: 'response_templates',\n\t\t\tdefaultSuggestions: responseTemplates.defaultSuggestions,\n\t\t\tsuggestionsHeader: responseTemplates.suggestionsHeader,\n\t\t\tdefaultSuggestionsFetcher: responseTemplates.defaultSuggestionsFetcher,\n\t\t\tmessages: {\n\t\t\t\tloading: t('Loading...'),\n\t\t\t\tinit: t('Enter a keyword to search for the relevant template'),\n\t\t\t\tnoMatches: {\n\t\t\t\t\timg: 'no_search_result',\n\t\t\t\t\theader: t('Template not found'),\n\t\t\t\t\tsub: t('Try searching with another keyword')\n\t\t\t\t}\n\t\t\t},\n\t\t\tmeta: {\n\t\t\t\tchannel: responseTemplates.channel,\n\t\t\t\tresourceTable: responseTemplates.recordTable,\n\t\t\t\tresourceSysId: responseTemplates.recordSysId\n\t\t\t}\n\t\t};\n\t}\n\n\treturn {};\n};\n\n/**\n * Sets the editor styles\n * @param {tinymce.Editor} editor - The editor\n * @param {string} style - The styles\n */\nexport const setEditorStyle = (editor, style, fonts) => {\n\tlet tinymceIframe = editor.getDoc();\n\tif (!tinymceIframe) return;\n\n\tlet customStyleTag = tinymceIframe.querySelector(\n\t\t'head style[id=custom_styles]'\n\t);\n\n\tif (!customStyleTag) {\n\t\tcustomStyleTag = document.createElement('style');\n\t\tcustomStyleTag.setAttribute('type', 'text/css');\n\t\tcustomStyleTag.setAttribute('id', 'custom_styles');\n\t\tlet head = tinymceIframe.querySelector('head');\n\t\tif (head) {\n\t\t\thead.appendChild(customStyleTag);\n\t\t}\n\t}\n\n\tlet fontFamily;\n\ttry {\n\t\tfontFamily =\n\t\t\tfonts\n\t\t\t\t?.split(';')[0] // Get the first font format\n\t\t\t\t?.split('=')[1] // Get the font list after '='\n\t\t\t\t?.split(',')[0] // Get the first font from the list\n\t\t\t\t?.trim() || DEFAULT_FONT_FAMILY; // Fallback to default\n\t} catch (error) {\n\t\tfontFamily = DEFAULT_FONT_FAMILY; // Fallback to default\n\t}\n\n\tlet DEFAULT_BODY_STYLES = `body{font-family:${fontFamily.toLowerCase()},sans-serif;font-size:${DEFAULT_FONT_SIZE}}`;\n\tcustomStyleTag.innerText = `${DEFAULT_BODY_STYLES} ${OVERRIDE_OVERFLOW_STYLE} ${style}`;\n};\n\nconst getAttachmentExtensions = () =>\n\tgetProperty('glide.attachment.extensions', '');\n\nexport const isValidFileExtension = (fileName, extensions) => {\n\tif (!extensions) return true;\n\tconst allowedExtensions = extensions\n\t\t.split(',')\n\t\t.map(extension => extension?.trim().toLowerCase())\n\t\t.filter(identity)\n\t\t.join('|');\n\tvar fileTypes = new RegExp(`\\\\.(${allowedExtensions})$`, 'i');\n\treturn fileTypes.test(fileName);\n};\n/**s\n * Check: https://www.tiny.cloud/docs/plugins/opensource/link/#exampleofacustomasynchronouscallbackfunction\n */\nexport const getAttachmentListHandler = (\n\treferringRecordId,\n\treferringTable,\n\tdispatch,\n\tbaseURL\n) => {\n\tif (!referringRecordId || !referringTable) return undefined;\n\n\tconst mapAttachments = attachment => {\n\t\treturn {\n\t\t\ttitle: attachment.file_name,\n\t\t\tvalue: `${baseURL}/sys_attachment.do?sys_id=${attachment.sys_id}`\n\t\t};\n\t};\n\treturn function (success) {\n\t\tdispatch(\n\t\t\t'GET_ATTACHMENTS_DATA',\n\t\t\t{ table_name: referringTable, table_sys_id: referringRecordId },\n\t\t\t{\n\t\t\t\tcallback: function (attachments = []) {\n\t\t\t\t\tsuccess(attachments.length ? attachments.map(mapAttachments) : null);\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t};\n};\n\n/**\n * Creates an image upload handler to be used by tinymce\n * @param {Function} dispatch - Dispatcher function used to dispatch actions\n * @param {Function} getNameCb - Generates file name using blobInfo\n * @returns upload_hander\n */\nexport const uploadHandler =\n\t(referringRecordId, referringTable, getNameCb, dispatch) => blobInfo =>\n\t\tnew Promise((success, failure) => {\n\t\t\tif (\n\t\t\t\t!isValidFileExtension(blobInfo.filename(), getAttachmentExtensions())\n\t\t\t) {\n\t\t\t\tdispatch(\n\t\t\t\t\tPOST_DATA_FAILURE,\n\t\t\t\t\t{ message: t('Unsupported file type') },\n\t\t\t\t\t{ failure }\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst selectedFile = blobInfo.blob();\n\n\t\t\tconst data = new FormData();\n\n\t\t\tconst tableName = referringTable;\n\t\t\tdata.append('table_name', tableName);\n\t\t\tdata.append('table_sys_id', referringRecordId);\n\t\t\tdata.append('file', selectedFile, getNameCb(blobInfo));\n\n\t\t\tdispatch('POST_ATTACHMENT_QUERY', { data }, { success, failure });\n\t\t});\n\n/**\n * Creates a file picker handler for tinymce.\n */\nexport const filePickerHandler = (cb, _, { filetype }) => {\n\tconst input = document.createElement('input');\n\tinput.setAttribute('type', 'file');\n\tinput.setAttribute('accept', filetype === 'media' ? 'video/*' : 'image/*');\n\n\t/*\n\t * Note: In modern browsers input[type=\"file\"] is functional without\n\t * even adding it to the DOM, but that might not be the case in some older\n\t * or quirky browsers like IE, so you [we] might want to add it to the DOM\n\t * just in case, and visually hide it. And do not forget do remove it\n\t * once you do not need it anymore.\n\t */\n\tinput.onchange = function () {\n\t\tconst file = input.files[0];\n\n\t\tconst reader = new FileReader();\n\t\treader.onload = () => {\n\t\t\t/*\n\t\t\t * Note: Now we need to register the blob in TinyMCEs image blob\n\t\t\t * registry. In the next release [of tinymce] this part hopefully won't be\n\t\t\t * necessary, as we are looking to handle it internally.\n\t\t\t */\n\t\t\tconst id = 'blobid' + new Date().getTime();\n\t\t\tconst blobCache = tinymce.activeEditor.editorUpload.blobCache;\n\t\t\tconst base64 = reader.result.split(',')[1];\n\t\t\tconst blobInfo = blobCache.create(id, file, base64, undefined, file.name);\n\t\t\tblobCache.add(blobInfo);\n\n\t\t\t/* call the callback and populate the Title field with the file name */\n\t\t\tcb(blobInfo.blobUri(), { title: file.name });\n\t\t};\n\t\treader.readAsDataURL(file);\n\t};\n\n\tinput.click();\n};\n\n/**\n * Returns an object containing the a11y checker options passed through the config script.\n * @param {object} config - The config object we get from evaluating the script passed\n * in as the value of the dictionary attribute: \"editor.config\"\n */\nconst getA11yCheckerOptions = config => {\n\tif (!config) return {};\n\tconst a11ycheckerOptions = [\n\t\t'a11ychecker_level',\n\t\t'a11ychecker_html_version',\n\t\t'a11y_advanced_options',\n\t\t'a11ychecker_allow_decorative_images',\n\t\t'a11ychecker_ignored_rules'\n\t];\n\treturn pick(config, a11ycheckerOptions);\n};\n\n/**\n * Creates a callback function that attaches event handlers to a given editor.\n * @param {object} props - The html-editor component properties\n * @param {object} host - The host element of the editor component\n */\nconst onSetup = (props, host) => editor => {\n\tconst { contentStyle, label, readonly, dispatch, fonts } = props;\n\n\teditor.on('init', () => {\n\t\teditor.getDoc().documentElement.lang = props.language;\n\t\t// HTML-lang uses BCP-47 and technically some of the codes passed by platform are incorrect...\n\t\tconst language = editor.options.get('language');\n\t\tif (language) {\n\t\t\teditor.iframeElement.lang = language.replace('_', '-');\n\t\t}\n\n\t\tapplyTheme(props, editor);\n\t\tdispatch(EDITOR_SET_CONTENT, { editor, resetUndoStack: true });\n\n\t\t/*\n\t\t * Can't use our normal `aria-labelledby` and `aria-describedby`\n\t\t * (from common/util/field#accessibilityAttributes) because those\n\t\t * elements exist outside of the TinyMCE iframe. Setting the label\n\t\t * string to `aria-label` directly because it's better than nothing.\n\t\t */\n\t\tif (label) {\n\t\t\teditor.iframeElement.setAttribute('aria-label', label);\n\t\t}\n\n\t\teditor.mode.set(isAttrTrue(readonly) ? 'readonly' : 'design');\n\t\tsetEditorStyle(editor, contentStyle, fonts);\n\n\t\t/**\n\t\t * autoresize is not officially supported with resize UI option,\n\t\t * workaround to enable scroll when both are used together\n\t\t * and when resize handle manually reduces height before maxHeight is reached\n\t\t * see: https://support.tiny.cloud/hc/en-us/requests/17514\n\t\t * TODO: Remove this once TinyMCE offically support this combination\n\t\t */\n\t\tif (props.resizable && checkIfPluginIsActive('autoresize', editor))\n\t\t\teditor.dom.addClass(editor.getBody(), OVERRIDE_OVERFLOW_SELECTOR);\n\n\t\t/**\n\t\t * There is a possibility that the editor is not available when the fitToParent property is changed,\n\t\t * as the editor might still be initialising when the property change happens. Due to this we need\n\t\t * to ensure the associated class is added here to the container to ensure the editor is styled correctly\n\t\t * when editor is initialised. Simply adding it here will still not handle the usecase given we would have\n\t\t * passed stale props (from the time before property had changed) in the callback to the instance and the\n\t\t * editor view will not be updated based on the latest props. Hence, we have to drill down the host element\n\t\t * till here to get the latest props value and apply the class accordingly.\n\t\t */\n\t\thost?.fitToParent && editor.editorContainer.classList.add('fit-to-parent');\n\n\t\teditor.addCommand(\n\t\t\t'snInsertContentAndScroll',\n\t\t\tinsertContentAndScroll(editor)\n\t\t);\n\t});\n\n\teditor.on('SetContent change', () => {\n\t\tapplyAutoresizeLineLimit(\n\t\t\tprops.minLineCount,\n\t\t\tprops.autoresizeLineLimit,\n\t\t\teditor,\n\t\t\thost\n\t\t);\n\t});\n};\n\n/**\n * Sets up the tinymce instance\n * @param {HTMLTextAreaElement} node - The html textarea target/node\n * @param {Object} props - The HtmlEditor seismic props\n * @returns {Promise<tinymce.Editor>} Promise - resolves to the tinymce editor instance\n */\nexport const setupTinymce = (node, properties) => {\n\tconst props = TinyMCEV5CompatibleMode(properties);\n\tconst {\n\t\tautoresize,\n\t\tbrowserSpellcheck,\n\t\tdispatch,\n\t\thost,\n\t\tenableMentions,\n\t\tresponseTemplates,\n\t\tisJournal,\n\t\tplugins,\n\t\tpowerPasteHtmlImport,\n\t\tpowerPasteWordImport,\n\t\tpowerPasteFilterInlineElements,\n\t\treadonly,\n\t\treferringRecordId,\n\t\treferringTable,\n\t\tresizable,\n\t\ttoolbar,\n\t\tconvertBlobsToBase64,\n\t\tbaseURL,\n\t\tpreloadMentions,\n\t\tmentions\n\t} = props;\n\tlet { validButtons, validPlugins, defaultLinkTarget } = props;\n\tvalidButtons = difference(\n\t\tsplit(validButtons ? `${validButtons} |` : undefined),\n\t\tTOOLBAR_BLOCKLIST\n\t);\n\tvalidPlugins = difference(split(validPlugins), [\n\t\t...PLUGIN_BLOCKLIST,\n\t\t...OBSOLETE_PLUGINS\n\t]);\n\n\tconst toolbarItems =\n\t\tcollapseToolbar(getItems(toolbar, validButtons)) || false;\n\n\tconst showBarsOnFocus = isAttrTrue(\n\t\tgetProperty('glide.ui.html.editor.toolbar.on.focus', false)\n\t);\n\n\tconst { enableResponseTemplates } = responseTemplates;\n\tconst responseTemplateConfig = getResponseTemplateConfig(responseTemplates);\n\n\tif (VALID_LINK_TARGETS.indexOf(defaultLinkTarget) === -1)\n\t\tdefaultLinkTarget = '';\n\n\tlet pluginItems = getItems(plugins, validPlugins);\n\tpluginItems = compact([\n\t\tREQUIRED_PLUGINS,\n\t\tpluginItems,\n\t\tisAttrTrue(enableMentions) && `sn_mentions`,\n\t\tenableResponseTemplates && `sn_hotkeys`,\n\t\tshowBarsOnFocus && `sn_showbarsonfocus`,\n\t\tautoresize && `sn_autoresize_overrides autoresize`\n\t]).join(' ');\n\n\tconst heightSettings = getDimensionInfo(props);\n\tconst autoresizeSettings = getAutoresizeOptions(props);\n\tconst language = getMappedLanguage(props.language);\n\n\tlet config;\n\n\tconst defaultMenuItems = {\n\t\tfile: {\n\t\t\ttitle: 'File',\n\t\t\titems:\n\t\t\t\t'newdocument restoredraft | preview | export print | deleteallconversations'\n\t\t},\n\t\tedit: {\n\t\t\ttitle: 'Edit',\n\t\t\titems: 'undo redo | cut copy paste pastetext | selectall | searchreplace'\n\t\t},\n\t\tview: {\n\t\t\ttitle: 'View',\n\t\t\titems:\n\t\t\t\t'code | visualaid visualchars visualblocks | spellchecker | preview fullscreen | showcomments'\n\t\t},\n\t\tinsert: {\n\t\t\ttitle: 'Insert',\n\t\t\titems:\n\t\t\t\t'image link media addcomment pageembed template codesample inserttable | charmap emoticons hr | pagebreak nonbreaking anchor tableofcontents | insertdatetime'\n\t\t},\n\t\tformat: {\n\t\t\ttitle: 'Format',\n\t\t\titems:\n\t\t\t\t'bold italic underline strikethrough superscript subscript codeformat | styles blocks fontfamily fontsize align lineheight | forecolor backcolor | language | removeformat'\n\t\t},\n\t\ttools: {\n\t\t\ttitle: 'Tools',\n\t\t\titems: 'spellchecker spellcheckerlanguage | a11ycheck code wordcount'\n\t\t},\n\t\ttable: {\n\t\t\ttitle: 'Table',\n\t\t\titems:\n\t\t\t\t'inserttable | cell row column | advtablesort | tableprops deletetable'\n\t\t},\n\t\thelp: { title: 'Help', items: 'help' }\n\t};\n\tconst defaultStyleFormats = [\n\t\t{\n\t\t\ttitle: 'Headings',\n\t\t\titems: [\n\t\t\t\t{ title: 'Heading 1', format: 'h1' },\n\t\t\t\t{ title: 'Heading 2', format: 'h2' },\n\t\t\t\t{ title: 'Heading 3', format: 'h3' },\n\t\t\t\t{ title: 'Heading 4', format: 'h4' },\n\t\t\t\t{ title: 'Heading 5', format: 'h5' },\n\t\t\t\t{ title: 'Heading 6', format: 'h6' }\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\ttitle: 'Inline',\n\t\t\titems: [\n\t\t\t\t{ title: 'Bold', format: 'bold' },\n\t\t\t\t{ title: 'Italic', format: 'italic' },\n\t\t\t\t{ title: 'Underline', format: 'underline' },\n\t\t\t\t{ title: 'Strikethrough', format: 'strikethrough' },\n\t\t\t\t{ title: 'Superscript', format: 'superscript' },\n\t\t\t\t{ title: 'Subscript', format: 'subscript' },\n\t\t\t\t{ title: 'Code', format: 'code' }\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\ttitle: 'Blocks',\n\t\t\titems: [\n\t\t\t\t{ title: 'Paragraph', format: 'p' },\n\t\t\t\t{ title: 'Blockquote', format: 'blockquote' },\n\t\t\t\t{ title: 'Div', format: 'div' },\n\t\t\t\t{ title: 'Pre', format: 'pre' }\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\ttitle: 'Align',\n\t\t\titems: [\n\t\t\t\t{ title: 'Left', format: 'alignleft' },\n\t\t\t\t{ title: 'Center', format: 'aligncenter' },\n\t\t\t\t{ title: 'Right', format: 'alignright' },\n\t\t\t\t{ title: 'Justify', format: 'alignjustify' }\n\t\t\t]\n\t\t}\n\t];\n\n\t// Remove all occurrences of the menuConfigs prop as it is deprecated and will be removed after Zurich\n\tconst configProp = props.htmlEditorConfigs || props.menuConfigs;\n\tif (configProp) {\n\t\tconfig = JSON.parse(configProp);\n\t}\n\n\tconst sn_mentions = {\n\t\tmessages: {\n\t\t\tcannotSeeRecordMsg: t('Cannot access record')\n\t\t},\n\t\tpreloadMentions: preloadMentions || [],\n\t\t...mentions\n\t};\n\n\treturn overrideAddCacheSuffix(tinymce)\n\t\t.init({\n\t\t\t...getA11yCheckerOptions(config),\n\t\t\thelp_tabs: ['shortcuts', 'keyboardnav', 'versions'],\n\t\t\tadvlist_bullet_styles: 'default,circle,disc,square',\n\t\t\tauto_focus:\n\t\t\t\tisAttrTrue(props.autofocus) && TEXT_AREA_ID_PREFIX + props.componentId,\n\t\t\tbase_url: `${baseURL}${getAssetPath()}`,\n\t\t\tbranding: false,\n\t\t\tsn_convert_blobs_to_base64: convertBlobsToBase64,\n\t\t\tbrowser_spellcheck: isAttrTrue(browserSpellcheck),\n\t\t\tconvert_urls: props.convertUrls,\n\t\t\tlink_default_target: defaultLinkTarget,\n\t\t\tdialog_type: 'modal',\n\t\t\tdirectionality: isAttrTrue(props.reversed)\n\t\t\t\t? 'rtl'\n\t\t\t\t: document.dir || 'ltr',\n\t\t\tdocument_base_url: window.location.origin,\n\t\t\telementpath: false,\n\t\t\textended_valid_elements: props.extendedValidElements,\n\t\t\tfile_picker_types: 'media',\n\t\t\t[FIT_TO_PARENT_OPTION]: props.fitToParent,\n\t\t\tfont_family_formats: props.fonts,\n\t\t\tfont_size_formats: '8pt 10pt 11pt 12pt 14pt 18pt 24pt 36pt',\n\n\t\t\thighlight_on_focus: true,\n\t\t\timage_title: true,\n\t\t\timage_advtab: true,\n\t\t\tlanguage,\n\t\t\tmenubar: config?.menubar ? config.menubar : false,\n\t\t\tmenu: config?.menu ? config.menu : defaultMenuItems,\n\t\t\tpagebreak_separator:\n\t\t\t\t'<span style=\"display:none;\">Editor pagebreak</span>',\n\t\t\tplugins: pluginItems,\n\t\t\t/**\n\t\t\t * When modifying the external plugins URL path, please ensure that the path is added in generateTinyFiles.js\n\t\t\t * to make sure the url cache suffix override function doesn't append .jsdbx extension to the end of the plugin path\n\t\t\t * In future, we can enhance the behaviour to automatically pick up the path from source files and use it in generateTinyFiles.js\n\t\t\t */\n\t\t\texternal_plugins: {\n\t\t\t\t...getFieldNowAssistContextMenuExternalPlugin(props)\n\t\t\t},\n\t\t\tpowerpaste_html_import: powerPasteHtmlImport,\n\t\t\tpowerpaste_word_import: powerPasteWordImport,\n\t\t\tpowerpaste_clean_filtered_inline_elements: powerPasteFilterInlineElements,\n\t\t\tpromotion: false, // To disable default upgrade button in menubar\n\t\t\treadonly: isAttrTrue(readonly),\n\t\t\trelative_urls: props.relativeUrls,\n\t\t\tremove_script_host: props.removeHost,\n\t\t\tresize: resizable,\n\t\t\tskin: 'sn-editor-themed',\n\t\t\tstatusbar: resizable,\n\t\t\tstyle_formats: config?.style_formats\n\t\t\t\t? config.style_formats\n\t\t\t\t: defaultStyleFormats,\n\t\t\tstyle_formats_merge: true, // used to append style formats rather than overwrite the default style formats.\n\t\t\tsuffix: '.min',\n\t\t\ttarget: node,\n\t\t\ttext_patterns: config?.text_patterns || false,\n\t\t\tlink_target_list: [\n\t\t\t\t{ title: t('None (Use Implicit)'), value: '' },\n\t\t\t\t{ title: t('Same frame (_self)'), value: '_self' },\n\t\t\t\t{ title: t('New window (_blank)'), value: '_blank' },\n\t\t\t\t{ title: t('Top frame (_top)'), value: '_top' }\n\t\t\t],\n\t\t\ttoolbar: toolbarItems,\n\t\t\ttoolbar_mode: 'sliding',\n\t\t\tvalid_children: '+body[style|link]',\n\t\t\tvalidate: false,\n\t\t\tiframe_aria_text: [\n\t\t\t\tprops.label,\n\t\t\t\tDEFAULT_ARIA_LABEL,\n\t\t\t\tTOOLBAR_INSTRUCTION_TEXT\n\t\t\t].join(' '),\n\t\t\tfile_picker_callback: filePickerHandler,\n\t\t\timages_upload_handler: isJournal\n\t\t\t\t? () => new Promise(() => {})\n\t\t\t\t: uploadHandler(\n\t\t\t\t\t\treferringRecordId,\n\t\t\t\t\t\treferringTable,\n\t\t\t\t\t\tblobInfo => {\n\t\t\t\t\t\t\tconst id = blobInfo.id();\n\t\t\t\t\t\t\tconst blobname = blobInfo.filename();\n\t\t\t\t\t\t\tconst extension = blobname.substring(blobname.lastIndexOf('.'));\n\t\t\t\t\t\t\treturn !~blobname.indexOf(id)\n\t\t\t\t\t\t\t\t? blobname\n\t\t\t\t\t\t\t\t: 'Pasted image' + extension;\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tprops\n\t\t\t\t\t),\n\t\t\tsetup: onSetup(props, host),\n\t\t\tlink_list: getAttachmentListHandler(\n\t\t\t\treferringRecordId,\n\t\t\t\treferringTable,\n\t\t\t\tdispatch,\n\t\t\t\tbaseURL\n\t\t\t),\n\t\t\tvideo_template_callback: function (data) {\n\t\t\t\tconst poster = data.poster ? `poster=\"${data.poster}\"` : '';\n\t\t\t\tlet embedCode = `<video controls width=\"${data.width}\" height=\"${data.height}\" src=\"${data.source}\" ${poster}>`;\n\t\t\t\tembedCode += data.altsource ? `<source src=\"${data.altsource}\"/>` : '';\n\t\t\t\tembedCode += '</video>';\n\n\t\t\t\treturn embedCode;\n\t\t\t},\n\t\t\t// Because we are using our own video_template_callback (see directly above) to generate the embedded code, media_alt_source and media_poster makes them\n\t\t\t// behave funky (doesnt update or incorrect values) so we set them to false. We should revisit this issue when tinymce fixes the issue above.\n\t\t\tmedia_alt_source: false,\n\t\t\tmedia_poster: false,\n\t\t\t...heightSettings,\n\t\t\t...autoresizeSettings,\n\t\t\tsn_settings: {\n\t\t\t\t...getFieldNowAssistContextMenuSettings(props),\n\t\t\t\timage: {\n\t\t\t\t\tshowLibraryTab: false\n\t\t\t\t},\n\t\t\t\tmedia: {\n\t\t\t\t\tshowLocalsTab: false,\n\t\t\t\t\tmediaUploadHandler: uploadHandler(\n\t\t\t\t\t\treferringRecordId,\n\t\t\t\t\t\treferringTable,\n\t\t\t\t\t\tblobInfo => blobInfo.filename(),\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tprops\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t\thotkeys: [responseTemplateConfig],\n\t\t\t\tmentions: sn_mentions,\n\t\t\t\treadonlyBottomBorder: true\n\t\t\t},\n\t\t\tcontextmenu: props.contextmenu\n\t\t})\n\t\t.then(([editor]) => {\n\t\t\treturn Promise.resolve(editor);\n\t\t});\n};\n","import { isEqual, isFunction, omit, toString } from 'lodash';\nimport { handleShortcutKeyDown } from '@servicenow/now-trigger-library';\nimport { tinymce } from 'sn-tinymce';\nimport {\n\tCALLBACK_AND_DISPATCH,\n\tcheckAutofocus,\n\thandleDynamicTranslationBlur,\n\tisAttrTrue\n} from '@devsnc/sn-controls-common';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { t } from 'sn-translate';\nimport {\n\tPOST_DATA_START,\n\tPOST_DATA_PROGRESS,\n\tPOST_DATA_SUCCESS,\n\tPOST_DATA_FAILURE,\n\tGET_ATTACHMENTS_SUCCESS,\n\tGET_ATTACHMENTS_FAILURE,\n\tFIT_TO_PARENT_OPTION,\n\tEDITOR_VERTICAL_RESIZE_TYPE,\n\tEDITOR_ON_CHANGE,\n\tEDITOR_ON_BLUR,\n\tEDITOR_ON_FOCUS,\n\tEDITOR_ON_CLICK,\n\tEDITOR_ON_RESIZE,\n\tEDITOR_ON_KEYDOWN,\n\tEDITOR_ON_ITEM_SELECT_TRACK,\n\tINSERT_PILL\n} from './constants';\nimport {\n\tcheckIfPluginIsActive,\n\tgetDimensionInfo,\n\tsetEditorStyle,\n\tsetupTinymce,\n\tstripCodeBlocks,\n\tswapDivsWithSpans\n} from './Utils';\nimport { applyTheme } from './TinyMCEThemeBehaviors';\n\nconst dispatchEvent = function (dispatch, action, event) {\n\tdispatch(action, { eventPayload: event, editor: this });\n};\n\nconst closeNotification = (state, updateState) => {\n\tconst { editorNotificationsManager } = state;\n\tif (editorNotificationsManager) editorNotificationsManager.close();\n\n\tupdateState({ editorNotificationsManager: null });\n};\n\nexport const postAttachmentEffect = createHttpEffect(\n\t'/api/now/attachment/upload',\n\t{\n\t\tmethod: 'POST',\n\t\tbatch: false,\n\t\theaders: { 'Content-Type': 'multipart/form-data' },\n\t\tdataParam: 'data',\n\t\tstartActionType: POST_DATA_START,\n\t\tprogressActionType: POST_DATA_PROGRESS,\n\t\tsuccessActionType: POST_DATA_SUCCESS,\n\t\terrorActionType: POST_DATA_FAILURE\n\t}\n);\n\nexport const postAttachmentStartEffect = ({ state, updateState }) => {\n\tconst { editor } = state;\n\tconst editorNotificationsManager = editor.notificationManager.open({\n\t\ttext: t('Media uploading...'),\n\t\ttype: 'info',\n\t\ttimeout: -1,\n\t\tprogressBar: true\n\t});\n\n\tupdateState({ editorNotificationsManager });\n};\n\nexport const postAttachmentProgressEffect = ({ action, state }) => {\n\tconst {\n\t\tprogressEvent: { loaded, total }\n\t} = action.payload;\n\tconst { editorNotificationsManager } = state;\n\teditorNotificationsManager.progressBar.value(\n\t\tMath.round((loaded / total) * 100)\n\t);\n};\n\nexport const postAttachmentSuccessEffect = ({\n\taction,\n\tproperties,\n\tstate,\n\tupdateState\n}) => {\n\tcloseNotification(state, updateState);\n\tconst { baseURL } = properties;\n\taction.meta.success(\n\t\t`${baseURL}/sys_attachment.do?sys_id=${action.payload.result.sys_id}`\n\t);\n};\n\nexport const postAttachmentFailureEffect = ({ action, state, updateState }) => {\n\tcloseNotification(state, updateState);\n\taction.meta.failure({ message: action.payload.message, remove: true });\n};\n\nexport const getAttachmentsEffect = createHttpEffect('/api/now/attachment', {\n\tmethod: 'GET',\n\tbatch: false,\n\theaders: { 'Content-Type': 'application/json' },\n\tqueryParams: ['table_name', 'table_sys_id'],\n\tsuccessActionType: GET_ATTACHMENTS_SUCCESS,\n\terrorActionType: GET_ATTACHMENTS_FAILURE\n});\n\nexport const getAttachmentsSuccessEffect = ({ action }) => {\n\taction.meta.callback(action.payload.result);\n};\n\nexport const getAttachmentsFailureEffect = ({ action }) => {\n\tconsole.error(action.payload.message);\n\taction.meta.callback([]);\n};\nexport const editorOnItemSelectTrackEffect = ({\n\taction: {\n\t\tpayload: { eventPayload, telemetry }\n\t},\n\tdispatch,\n\tproperties\n}) => {\n\tconst { name } = properties;\n\tconst { meta } = eventPayload;\n\n\tconst trackPayload = {\n\t\tmetaData: {\n\t\t\tname,\n\t\t\tfieldType: 'now-record-html-editor'\n\t\t},\n\t\tadditionalOptions: {\n\t\t\t...meta,\n\t\t\t...(telemetry && { telemetry })\n\t\t}\n\t};\n\tdispatch('TRACK', trackPayload);\n};\n\nexport const insertPillEffect = ({ state, action }) => {\n\tconst { editor } = state;\n\tif (!editor) return;\n\n\tconst { displayValue, tooltipValue, value } = action.payload;\n\n\tconst pillContainerStart = `<span class=\"sn-mce-pill-container\" contenteditable=\"false\">`;\n\tconst pillText = `<span class=\"sn-mce-pill-text\" data-sn-mce-tooltip='${tooltipValue}' data-sn-mce-value='${value}'>${displayValue}</span>`;\n\tconst pillRemoveButton = `<span class=\"sn-mce-pill-remove\" data-sn-mce-tooltip='${t('Remove')}'>&times;</span>`;\n\tconst pillContainerEnd = `</span>`;\n\n\tconst pillContent = `${pillContainerStart}${pillText}${pillRemoveButton}${pillContainerEnd}`;\n\n\teditor.insertContent(pillContent);\n};\n\nconst moveCursorToEnd = editor => {\n\teditor.selection.select(editor.getBody(), true);\n\teditor.selection.collapse(false);\n};\n\nexport const propertyChangedEffect = ({\n\taction: {\n\t\tpayload: { name, value, previousValue }\n\t},\n\tproperties,\n\tstate,\n\tupdateState\n}) => {\n\tconst { editor } = state;\n\tconst { minHeight, maxHeight } = properties;\n\tconst stringValue = toString(value);\n\tconst isValuePropertyChanged =\n\t\tname === 'value' && stringValue !== previousValue;\n\n\t// We should always track the updated value in the component state, regardless of TinyMCE’s availability, as the component is being mounted to the DOM. This ensures that subsequent renders will display the updated or available value in the editor when editor is initialised.\n\tif (isValuePropertyChanged) {\n\t\tupdateState({\n\t\t\tvalue: stringValue\n\t\t});\n\t}\n\n\tif (!editor || !tinymce) return;\n\n\tif (name === 'variant' && value !== previousValue) {\n\t\tapplyTheme(\n\t\t\t{ ...properties, ...omit(state, ['properties', 'editor']) },\n\t\t\teditor\n\t\t);\n\t}\n\n\tif (name === 'readonly' && value !== previousValue) {\n\t\teditor.mode.set(isAttrTrue(value) ? 'readonly' : 'design');\n\t}\n\n\tif (isValuePropertyChanged) {\n\t\tconst isDifferentThanStateValue = stringValue !== state.value;\n\t\tif (isDifferentThanStateValue) {\n\t\t\tlet content = stripCodeBlocks(stringValue);\n\t\t\tif (properties.allowBlockBasedAnchors)\n\t\t\t\tcontent = swapDivsWithSpans(content);\n\n\t\t\teditor.setContent(content);\n\t\t\tif (state.hasFocus) {\n\t\t\t\tmoveCursorToEnd(editor); // move cursor to the end to match text area and other inputs behavior\n\t\t\t}\n\t\t}\n\t}\n\n\tif (name === 'contentStyle' && value !== previousValue) {\n\t\tsetEditorStyle(editor, value);\n\t}\n\n\tif (name === 'fitToParent' && value !== previousValue) {\n\t\tif (checkIfPluginIsActive('sn_autoresize_overrides', editor)) {\n\t\t\teditor.execCommand(`sn_set_${FIT_TO_PARENT_OPTION}`, false, value);\n\t\t} else {\n\t\t\teditor.container.style.height = value\n\t\t\t\t? 'inherit'\n\t\t\t\t: (properties.height || 0) + 'px';\n\t\t}\n\t\tif (value) {\n\t\t\teditor.container.classList.add('fit-to-parent');\n\n\t\t\tif (\n\t\t\t\t(properties.autoresizeLineLimit || 0) >\n\t\t\t\t\t(properties.minLineCount || 2) &&\n\t\t\t\tcheckIfPluginIsActive('autoresize', editor)\n\t\t\t) {\n\t\t\t\t// If fitToParent is enabled and autoresize is enabled, we need to\n\t\t\t\t// honor fitToParent over maxHeight set by autoresizeLineLimit logic.\n\t\t\t\teditor.container.style.maxHeight = '';\n\t\t\t\teditor.container.style.height = '';\n\t\t\t}\n\t\t} else editor.container.classList.remove('fit-to-parent');\n\t}\n\n\tif (name === 'autoresize' && value !== previousValue) {\n\t\teditor.execCommand('sn_toggle_autoresize', false, {\n\t\t\tvalue,\n\t\t\tminHeight,\n\t\t\tmaxHeight\n\t\t});\n\t}\n\n\t// Handle preloadMentions change\n\tif (name === 'preloadMentions' && !isEqual(value, previousValue)) {\n\t\tconst mentions = editor.options.get('sn_settings').mentions;\n\t\tmentions.preloadMentions = value;\n\t\teditor.options.set('sn_settings', {\n\t\t\t...editor.options.get('sn_settings'),\n\t\t\tmentions\n\t\t});\n\t}\n};\n\nexport const setupTinymceEditorEffect = ({\n\tstate,\n\tproperties,\n\thost,\n\tupdateState,\n\tdispatch\n}) => {\n\tsetupTinymce(host.shadowRoot.querySelector('textarea'), {\n\t\t...properties,\n\t\t...omit(state, ['properties', 'editor']),\n\t\tdispatch,\n\t\thost\n\t}).then(editor => {\n\t\tif (state.editor === null) {\n\t\t\tupdateState({\n\t\t\t\tpath: 'editor',\n\t\t\t\tvalue: editor,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: false\n\t\t\t});\n\t\t}\n\n\t\teditor.on('ResizeEditor', function (event) {\n\t\t\tdispatchEvent.call(this, dispatch, EDITOR_ON_RESIZE, event);\n\t\t});\n\t\teditor.on('SetContent', function (event) {\n\t\t\tdispatchEvent.call(this, dispatch, EDITOR_ON_CHANGE, event);\n\t\t});\n\t\teditor.on('Change', function (event) {\n\t\t\tdispatchEvent.call(this, dispatch, EDITOR_ON_CHANGE, event);\n\t\t});\n\t\teditor.on('blur', function (event) {\n\t\t\tdispatchEvent.call(this, dispatch, EDITOR_ON_BLUR, event);\n\t\t});\n\t\teditor.on('focus', function (event) {\n\t\t\tdispatchEvent.call(this, dispatch, EDITOR_ON_FOCUS, event);\n\t\t});\n\t\teditor.on('keyup', function (event) {\n\t\t\tdispatchEvent.call(this, dispatch, EDITOR_ON_CHANGE, event);\n\t\t});\n\t\teditor.on('click', function (event) {\n\t\t\tdispatchEvent.call(this, dispatch, EDITOR_ON_CLICK, event);\n\t\t\tif (event.target.classList.contains('sn-mce-pill-remove')) {\n\t\t\t\tevent.target.parentNode.remove();\n\t\t\t\teditor.dispatch('sn_tooltip.hide_tooltip');\n\t\t\t\tdispatchEvent.call(this, dispatch, EDITOR_ON_CHANGE, event);\n\t\t\t}\n\t\t});\n\t\teditor.on('ExecCommand', function (event) {\n\t\t\tdispatchEvent.call(this, dispatch, EDITOR_ON_CHANGE, event);\n\t\t});\n\t\teditor.on('keydown', function (event) {\n\t\t\tdispatchEvent.call(this, dispatch, EDITOR_ON_KEYDOWN, event);\n\t\t});\n\t\teditor.on('sn_mentions.item_selected', function (event) {\n\t\t\tdispatchEvent.call(this, dispatch, EDITOR_ON_ITEM_SELECT_TRACK, event);\n\t\t});\n\t\teditor.on('sn_hotkey.item_selected', function (e) {\n\t\t\tdispatch('TRACK_HOTKEY_SELECTED', e.payload);\n\t\t});\n\t\teditor.on('sn_hotkey.hotkey_set', function (e) {\n\t\t\tdispatch('TRACK_HOTKEY_SET', e.payload);\n\t\t});\n\t\teditor.on('sn_mentions.add_mention', function (event) {\n\t\t\tdispatch('NOW_RECORD_HTML_EDITOR#MENTION_ADDED', event);\n\t\t});\n\t\teditor.on('sn_mentions.delete_mention', function (event) {\n\t\t\tdispatch('NOW_RECORD_HTML_EDITOR#MENTION_DELETED', event);\n\t\t});\n\t});\n};\n\nexport const componentRenderedEffect = ({\n\taction: {\n\t\tpayload: { previousRenderProperties }\n\t},\n\tstate: { editor, isTranslationEnabled },\n\tproperties\n}) => {\n\tif (!editor || !tinymce) return;\n\tconst oldHeightProps = getDimensionInfo(previousRenderProperties);\n\tconst newHeightProps = getDimensionInfo(properties);\n\tif (!isEqual(oldHeightProps, newHeightProps)) {\n\t\t// Updating the settings doesn't update the height, but its necessary for\n\t\t// max/min heights (which some plugins potentially use internally by grabbing the latest)\n\t\tfor (const [key, value] of Object.entries(newHeightProps)) {\n\t\t\teditor.options.set(key, value);\n\t\t}\n\n\t\t// Only resize if the height has changed\n\t\tif (oldHeightProps.height !== newHeightProps.height)\n\t\t\teditor.theme?.ui?.resizeBy(\n\t\t\t\t{\n\t\t\t\t\tleft: 0,\n\t\t\t\t\ttop: newHeightProps.height - oldHeightProps.height\n\t\t\t\t},\n\t\t\t\tEDITOR_VERTICAL_RESIZE_TYPE\n\t\t\t);\n\t}\n\n\tconst editorBody = editor.getBody();\n\tif (\n\t\tisTranslationEnabled &&\n\t\teditorBody &&\n\t\teditorBody.style.paddingRight !== '1.5rem'\n\t) {\n\t\teditorBody.style.paddingRight = '1.5rem';\n\t}\n};\n\nexport const domReadyEffect = ({ host, properties, dispatch }) => {\n\tif (!tinymce) {\n\t\tconst textarea = host.shadowRoot.querySelector('textarea');\n\t\tcheckAutofocus(properties.autofocus, textarea);\n\t}\n\t\n\thost.insertPill = pillInfo => dispatch(INSERT_PILL, pillInfo);\n};\n\nconst getEditorContent = (editor, properties) => {\n\tconst content = editor.getContent();\n\n\treturn properties.useCodeBlocks && content\n\t\t? `[code]${content}[/code]`\n\t\t: content;\n};\n\nconst isOnChangeEventFromFocus = event => {\n\tconst command = event?.command;\n\treturn command === 'mceFocus';\n};\n\nconst isOnChangeEventFromContentUpdate = event => {\n\treturn event?.type === 'setcontent';\n};\n\nexport const editorOnChangeEffect = ({\n\tproperties,\n\taction: {\n\t\tpayload: { eventPayload: event, editor }\n\t},\n\tupdateState,\n\tdispatch\n}) => {\n\tif (\n\t\tisOnChangeEventFromFocus(event) ||\n\t\tisOnChangeEventFromContentUpdate(event)\n\t) {\n\t\treturn;\n\t}\n\n\tconst { onStagedValueChange, onChange } = properties;\n\tconst value = getEditorContent(editor, properties);\n\teditor.setDirty(true);\n\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\tcallback: onStagedValueChange,\n\t\tisValueChanged: false,\n\t\tdispatchPayload: { value }\n\t});\n\n\tupdateState({\n\t\tvalue\n\t});\n\n\tif (isFunction(onChange)) {\n\t\tonChange(event);\n\t}\n};\n\nexport const editorOnBlurEffect = ({\n\tproperties,\n\taction: {\n\t\tpayload: { eventPayload: event, editor }\n\t},\n\tupdateState,\n\tstate: { isTranslationEnabled, translatedText },\n\tdispatch\n}) => {\n\tconst { onValueChange, onBlur } = properties;\n\tconst value = getEditorContent(editor, properties);\n\tif (editor.isDirty()) {\n\t\tdispatch(CALLBACK_AND_DISPATCH, {\n\t\t\tcallback: onValueChange,\n\t\t\tisValueChanged: true,\n\t\t\tdispatchPayload: { value }\n\t\t});\n\t\teditor.save(); //we have reported the event, so is not dirty anymore\n\t}\n\n\tupdateState({\n\t\thasFocus: false,\n\t\tvalue\n\t});\n\n\tif (isFunction(onBlur)) {\n\t\tonBlur(event);\n\t}\n\teditor.getContentAreaContainer().classList.remove('focused');\n\tisTranslationEnabled &&\n\t\thandleDynamicTranslationBlur(value, updateState, translatedText);\n};\n\nexport const editorOnKeyDownEffect = ({\n\taction: {\n\t\tpayload: { eventPayload: event }\n\t}\n}) => {\n\thandleShortcutKeyDown(event);\n};\n\nexport const editorSetFocusEffect = ({ state: { editor } }) => {\n\teditor.focus();\n\teditor.getContainer().scrollIntoView();\n};\n\nexport const editorOnFocusEffect = ({\n\tproperties: { onFocus },\n\taction: {\n\t\tpayload: { eventPayload: event }\n\t},\n\tupdateState\n}) => {\n\tupdateState({\n\t\thasFocus: true\n\t});\n\n\tif (isFunction(onFocus)) {\n\t\tonFocus(event);\n\t}\n};\n\nexport const editorOnClickEffect = ({\n\tproperties: { hasFocus },\n\taction: {\n\t\tpayload: { editor }\n\t}\n}) => {\n\t// this is added because when a user's first click in the tinymce\n\t// iframe body happens to be a knowledge block (or other non-editable\n\t// content), the editor never gets focus. This is an issue because\n\t// if the user clicks away from the editor, the knowledge block is still\n\t// in a selected state and the block is highlighted until user clicks somewhere\n\t// else within the iframe to focus the editor. This ensures that if a user clicks\n\t// on the knowledge block initially, the editor gets focus as expected.\n\tif (!hasFocus) {\n\t\teditor.focus();\n\t}\n\t// Browser events within iframe do not escape the iframe. Supposing a dropdown is open\n\t// on the page, and the user clicks on the editor, then the dropdown will remain open. To fix this issue,\n\t// we trigger a mousedown event on the iframeElement so that it propagates upwards and results in dropdowns closing.\n\teditor.iframeElement.ownerDocument.dispatchEvent(new Event('mousedown'));\n};\n\nexport const editorSetContentEffect = ({\n\tstate: { value },\n\taction: {\n\t\tpayload: { editor, resetUndoStack = false }\n\t},\n\tproperties: { allowBlockBasedAnchors }\n}) => {\n\t// Before React to Seismic migration, html-editor and TinyMCEEditor were two React components\n\t// and had separate lifecycle and the property value change was preserved. So state of 'value' would\n\t// be set before TinyMCEEditor gets executed. While when we migrated to seismic, only html-editor\n\t// remained a seismic-component. So when we initialise TinyMCEEditor, the order is not preserved\n\t// on what would be called first. To ensure correct value of property 'value' is being passed onto\n\t// TinyMCEEditor, we are now calling this effect to make sure updated state of 'value' is passed to\n\t// the TinyMCEEditor.\n\tlet content = stripCodeBlocks(toString(value));\n\tif (allowBlockBasedAnchors) content = swapDivsWithSpans(content);\n\teditor.setContent(content);\n\t// we need to reset the tinyMCE undo manager since tinymce is already initialized with empty value\n\t// since we are calling editor.setContent in an action handler instead of editor.init\n\t// Ultimate solution is to convert TinyMCEEditor to a seismic component if we run into more timing issues in future\n\tif (resetUndoStack) editor?.undoManager.reset();\n};\n\nexport const editorOnResizeEffect = ({\n\tproperties: { onResize },\n\taction: {\n\t\tpayload: { eventPayload: event }\n\t}\n}) => {\n\tif (isFunction(onResize)) {\n\t\tonResize(event);\n\t}\n};\n","import { toString, omit, isFunction, get, extend } from 'lodash';\nimport { tinymce } from 'sn-tinymce';\n\nimport { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport '@servicenow/now-input';\nimport focusBehavior from '@servicenow/behavior-focus';\nconst { COMPONENT_DOM_READY, COMPONENT_PROPERTY_CHANGED, COMPONENT_RENDERED } =\n\tactionTypes;\n\nimport {\n\tcreateWithValueChangeCallbackBehavior,\n\twithValueChangeCallbacksView,\n\ttransformState,\n\tisAttrTrue,\n\ttrackBehavior,\n\tdynamicTranslationBehaviour,\n\ttranslationBehavior,\n\tisEnabledBehavior,\n\tgetAriaLabelFromConfig,\n\tgetBaseURL\n} from '@devsnc/sn-controls-common';\nimport { Input } from '@devsnc/sn-record-input';\n\nimport TinyMCEEditor from './TinyMCEEditor';\nimport TINYMCE_THEME_BEHAVIORS from './TinyMCEThemeBehaviors';\n\nimport {\n\tPOST_ATTACHMENT_QUERY,\n\tPOST_DATA_START,\n\tPOST_DATA_PROGRESS,\n\tPOST_DATA_SUCCESS,\n\tPOST_DATA_FAILURE,\n\tGET_ATTACHMENTS_DATA,\n\tGET_ATTACHMENTS_SUCCESS,\n\tGET_ATTACHMENTS_FAILURE,\n\tDEFAULT_MIN_HEIGHT,\n\tDEFAULT_HEIGHT,\n\tDEFAULT_MAX_HEIGHT,\n\tEDITOR_ON_CHANGE,\n\tEDITOR_ON_BLUR,\n\tEDITOR_ON_FOCUS,\n\tEDITOR_ON_CLICK,\n\tEDITOR_ON_RESIZE,\n\tEDITOR_SET_FOCUS,\n\tSETUP_TINYMCE_EDITOR,\n\tEDITOR_SET_CONTENT,\n\tEDITOR_ON_KEYDOWN,\n\tEDITOR_ON_ITEM_SELECT_TRACK,\n\tINSERT_PILL\n} from './constants';\n\nimport {\n\tpostAttachmentEffect,\n\tpostAttachmentStartEffect,\n\tpostAttachmentProgressEffect,\n\tpostAttachmentSuccessEffect,\n\tpostAttachmentFailureEffect,\n\tgetAttachmentsEffect,\n\tgetAttachmentsSuccessEffect,\n\tgetAttachmentsFailureEffect,\n\tdomReadyEffect,\n\tpropertyChangedEffect,\n\tcomponentRenderedEffect,\n\teditorOnChangeEffect,\n\teditorOnBlurEffect,\n\teditorOnFocusEffect,\n\teditorOnClickEffect,\n\teditorOnKeyDownEffect,\n\teditorOnResizeEffect,\n\tsetupTinymceEditorEffect,\n\teditorSetContentEffect,\n\teditorSetFocusEffect,\n\teditorOnItemSelectTrackEffect,\n\tinsertPillEffect\n} from './effects';\n\nimport style from './html.scss';\n\nimport { fieldLayoutSchema } from '@devsnc/sn-controls-common';\n\nconst withValueChangeCallbackBehavior = {\n\tbehavior: createWithValueChangeCallbackBehavior()\n};\n\nconst onFocusEvent = (properties, updateState) => event => {\n\tupdateState({\n\t\thasFocus: true\n\t});\n\n\tif (isFunction(properties.onFocus)) {\n\t\tproperties.onFocus(event);\n\t}\n};\n\nconst onBlurEvent = (properties, updateState) => event => {\n\tupdateState({\n\t\thasFocus: false\n\t});\n\n\tif (isFunction(properties.onBlur)) {\n\t\tproperties.onBlur(event);\n\t}\n};\n\nconst onResizeEvent = properties => event => {\n\tif (isFunction(properties.onResize)) {\n\t\tproperties.onResize(event);\n\t}\n};\n\nconst onStagedValueChangeEvent =\n\t(onStagedValueChange, updateState) => event => {\n\t\tupdateState({\n\t\t\tvalue: event.value\n\t\t});\n\n\t\tonStagedValueChange(event);\n\t};\n\nconst onValueChangeEvent = (onValueChange, updateState) => event => {\n\tupdateState({\n\t\tvalue: event.value\n\t});\n\n\tonValueChange(event);\n};\n\n/**\n * Allows users to input rich text data via [TinyMCE](http://tinymce.com).\n *\n * The parent application/component must provide a reference to a tinymce core\n * instance. When unavailable (or not provided), this component renders a\n * regular textarea.\n *\n * Note that this component is _always_ uncontrolled. Trying to control TinyMCE\n * just makes everybody sad.\n */\nconst NowHtmlEditor = (state, { updateState, dispatch }) => {\n\tconst {\n\t\tproperties,\n\t\tenableMentions,\n\t\tmentions,\n\t\ttranslatedText,\n\t\tisTranslationEnabled,\n\t\tvalue,\n\t\teditor\n\t} = state;\n\tconst onFocus = onFocusEvent(properties, updateState);\n\tconst onBlur = onBlurEvent(properties, updateState);\n\tconst onResize = onResizeEvent(properties);\n\tconst onStagedValueChange = onStagedValueChangeEvent(\n\t\tstate.onStagedValueChange,\n\t\tupdateState\n\t);\n\tconst onValueChange = onValueChangeEvent(state.onValueChange, updateState);\n\tlet Component = TinyMCEEditor;\n\tconst {\n\t\tenableCodeBlocks,\n\t\tuseCodeBlocks,\n\t\thelperContent,\n\t\tlabel,\n\t\tcomponentId,\n\t\tconfigAria,\n\t\tfieldLayout\n\t} = properties;\n\tconst readonly = isAttrTrue(properties.readonly);\n\tif (readonly && !properties.value) {\n\t\treturn (\n\t\t\t<now-input\n\t\t\t\thelperContent={helperContent}\n\t\t\t\tlabel={label}\n\t\t\t\treadonly={true}\n\t\t\t\tvalue=\"—\"\n\t\t\t\tconfig-aria={{\n\t\t\t\t\tinput: {\n\t\t\t\t\t\t...configAria,\n\t\t\t\t\t\t...getAriaLabelFromConfig(configAria, 'Set value for {0}')\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tfield-layout={fieldLayout}\n\t\t\t/>\n\t\t);\n\t}\n\n\tlet childProps = {\n\t\t...properties,\n\t\tuseCodeBlocks: enableCodeBlocks || useCodeBlocks,\n\t\tmentions,\n\t\tenableMentions,\n\t\tupdateState,\n\t\tdispatch,\n\t\teditor,\n\t\thasFocus: state.hasFocus,\n\t\tbehaviors: state.behaviors,\n\t\tonValueChange: state.onValueChange,\n\t\tonStagedValueChange: state.onStagedValueChange,\n\t\ttranslatedText,\n\t\tisTranslationEnabled,\n\t\tvalue\n\t};\n\n\tif (!tinymce) {\n\t\tComponent = Input;\n\t\tchildProps = omit(\n\t\t\tchildProps,\n\t\t\t'configMentions',\n\t\t\t'convertUrls',\n\t\t\t'enableMentions',\n\t\t\t'extendedValidElements',\n\t\t\t'fonts',\n\t\t\t'language',\n\t\t\t'mentions',\n\t\t\t'plugins',\n\t\t\t'relativeUrls',\n\t\t\t'removeHost',\n\t\t\t'toolbar',\n\t\t\t'validButtons',\n\t\t\t'validPlugins',\n\t\t\t'updateState',\n\t\t\t'hasFocus',\n\t\t\t'behaviors',\n\t\t\t'contextmenu'\n\t\t);\n\n\t\textend(childProps, {\n\t\t\ttype: 'textarea',\n\t\t\tvalue: state.value,\n\t\t\tonValueChange,\n\t\t\tonStagedValueChange,\n\t\t\tonFocus,\n\t\t\tonBlur,\n\t\t\tonResize,\n\t\t\tautofocus: false,\n\t\t\t// STRY59509727: If someone has explicitly not passed any value to autoresize props,\n\t\t\t// default to true to make it consistent with the behavior before the autoresize\n\t\t\t// props was introduced as part of the mentioned story.\n\t\t\tautoresize: properties.autoresize ?? true\n\t\t});\n\t}\n\n\treturn <Component {...childProps} componentId={`html-${componentId}`} />;\n};\n\nexport default NowHtmlEditor;\n\n/**\n *\n * HTML Editor Component that uses TinyMCE.\n * TinyMCE for the most part, does not support incremental rendering.\n * Attempting to modify certain properties may or may not have expected or desired behavior.\n *\n * ```jsx\n * <now-record-html-editor\n *\t label=\"Enter some HTMLs\"\n *\t value=\"<b>Hello</b> <i>World</i>\"\n * />\n * ```\n *\n * @seismicElement now-record-html-editor\n * @summary HTML Editor Component that uses TinyMCE\n *\n * */\ncreateCustomElement('now-record-html-editor', {\n\tview: withValueChangeCallbacksView(NowHtmlEditor),\n\tsetInitialState: ({\n\t\tproperties: { value, configMentions, enableMentions, mentions }\n\t}) => ({\n\t\tvalue: value === true ? '' : toString(value),\n\t\thasFocus: false,\n\t\teditor: null,\n\t\teditorNotificationsManager: null,\n\t\tenableMentions: get(configMentions, 'enableMentions') || enableMentions,\n\t\tmentions: {\n\t\t\t...mentions,\n\t\t\t...omit(configMentions, 'enableMentions')\n\t\t}\n\t}),\n\tstyles: style,\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_READY]: domReadyEffect,\n\t\t[COMPONENT_PROPERTY_CHANGED]: propertyChangedEffect,\n\t\t[COMPONENT_RENDERED]: componentRenderedEffect,\n\t\t[EDITOR_ON_CHANGE]: editorOnChangeEffect,\n\t\t[EDITOR_ON_BLUR]: editorOnBlurEffect,\n\t\t[EDITOR_ON_FOCUS]: editorOnFocusEffect,\n\t\t[EDITOR_ON_CLICK]: editorOnClickEffect,\n\t\t[EDITOR_SET_FOCUS]: editorSetFocusEffect,\n\t\t[EDITOR_ON_KEYDOWN]: {\n\t\t\teffect: editorOnKeyDownEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[EDITOR_SET_CONTENT]: {\n\t\t\teffect: editorSetContentEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[EDITOR_ON_RESIZE]: editorOnResizeEffect,\n\t\t[SETUP_TINYMCE_EDITOR]: setupTinymceEditorEffect,\n\t\t[POST_ATTACHMENT_QUERY]: {\n\t\t\t...postAttachmentEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[POST_DATA_START]: {\n\t\t\teffect: postAttachmentStartEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[POST_DATA_PROGRESS]: {\n\t\t\teffect: postAttachmentProgressEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[POST_DATA_SUCCESS]: {\n\t\t\teffect: postAttachmentSuccessEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[POST_DATA_FAILURE]: {\n\t\t\teffect: postAttachmentFailureEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[GET_ATTACHMENTS_DATA]: {\n\t\t\t...getAttachmentsEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[GET_ATTACHMENTS_SUCCESS]: {\n\t\t\teffect: getAttachmentsSuccessEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[GET_ATTACHMENTS_FAILURE]: {\n\t\t\teffect: getAttachmentsFailureEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[EDITOR_ON_ITEM_SELECT_TRACK]: {\n\t\t\teffect: editorOnItemSelectTrackEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[INSERT_PILL]: {\n\t\t\teffect: insertPillEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t'SN_RECORD_INPUT#VALUE_CHANGED': { stopPropagation: true },\n\t\t'SN_RECORD_INPUT#STAGED_VALUE_CHANGED': { stopPropagation: true }\n\t},\n\tproperties: {\n\t\tcomponentId: {},\n\t\t/**\n\t\t * Causes the component to receive focus as soon as it has finished\n\t\t * mounting. When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tautofocus: {},\n\t\t/**\n\t\t * Causes the component to automatically resize the editor to the content inside it.\n\t\t * Autoresize plugin will automatically be enabled if this property is set to true.\n\t\t * @type {boolean}\n\t\t */\n\t\tautoresize: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * Image upload handler appends ZZ_YY prefix for the table by default while uploading and this prop is used to control the append behavior.\n\t\t * @type {boolean}\n\t\t */\n\t\tignoreInlineAttachmentPrefix: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * This option allows you to specify the size of the padding at the bottom of the editor’s body set on initialization when autoresize plugin is enabled.\n\t\t * @type {number}\n\t\t * @see [autoresize_bottom_margin](https://www.tiny.cloud/docs/plugins/opensource/autoresize/#autoresize_bottom_margin)\n\t\t *\n\t\t */\n\t\tautoresizeBottomMargin: { schema: { type: 'number' } },\n\t\t/**\n\t\t * The number of lines until texteditor should be autoresized when 'autoresize' property is set to true.\n\t\t * @type {number}\n\t\t */\n\t\tautoresizeLineLimit: { schema: { type: 'number' } },\n\t\t/**\n\t\t * Experimental feature. This is used to swap divs with spans when inside anchors.\n\t\t * Although using divs inside anchors is valid HTML5, tinymcev5 does not support it.\n\t\t * This is a workaround.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tallowBlockBasedAnchors: {\n\t\t\tdefault: false,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * TinyMCE config browser_spellcheck. Set to true to utilize the browser's native spell check functionality.\n\t\t * @see [browser_based_spellchecking](https://www.tiny.cloud/docs/general-configuration-guide/spell-checking/#browser-basedspellchecking)\n\t\t * @type {boolean}\n\t\t **/\n\t\tbrowserSpellcheck: {\n\t\t\tdefault: true,\n\t\t\tschema: { type: 'boolean' }\n\t\t},\n\t\t/**\n\t\t * TinyMCE config content_style. CSS string to style editable area. This does _not_ affect the output html.\n\t\t * @see [content_style](https://www.tiny.cloud/docs/configure/content-appearance/#content_style)\n\t\t * @type {string}\n\t\t */\n\t\tcontentStyle: { default: '' },\n\t\t/**\n\t\t * TinyMCE config convert_urls\n\t\t * @see [convert_urls](https://www.tiny.cloud/docs/configure/url-handling/#convert_urls)\n\t\t * @type {boolean}\n\t\t */\n\t\tconvertUrls: { default: false },\n\t\t/**\n\t\t * TinyMCE config extended_valid_elements\n\t\t * @see [extended_valid_elements](https://www.tiny.cloud/docs/configure/content-filtering/#extended_valid_elements)\n\t\t * @type {string}\n\t\t */\n\t\textendedValidElements: { default: '' },\n\t\t/**\n\t\t * TinyMCE config font_family_formats. List of fonts to enable.\n\t\t * @type {string}\n\t\t * @see [TinyMCE_font_configuration](https://www.tiny.cloud/docs/tinymce/latest/user-formatting-options/#font_family_formats)\n\t\t */\n\t\tfonts: {\n\t\t\tdefault:\n\t\t\t\t'Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Journal=journal;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats;'\n\t\t},\n\t\t/**\n\t\t * TinyMCE config min_height. The minimum height of editor including the toolbar.\n\t\t * @type {number}\n\t\t * @see [min_height](https://www.tiny.cloud/docs/configure/editor-appearance/#min_height)\n\t\t */\n\t\tminHeight: { default: DEFAULT_MIN_HEIGHT, schema: { type: 'number' } },\n\t\t/**\n\t\t * TinyMCE config height. The height of the editor including the toolbar\n\t\t * @type {number}\n\t\t * @see [height](https://www.tiny.cloud/docs/configure/editor-appearance/#height)\n\t\t */\n\t\theight: { default: DEFAULT_HEIGHT, schema: { type: 'number' } },\n\t\t/**\n\t\t * TinyMCE config max_height. The maximum height of editor including the toolbar\n\t\t * @type {number}\n\t\t * @see [max_height](https://www.tiny.cloud/docs/configure/editor-appearance/#max_height)\n\t\t */\n\t\tmaxHeight: { default: DEFAULT_MAX_HEIGHT, schema: { type: 'number' } },\n\t\t/**\n\t\t * TinyMCE config toolbar.\n\t\t * @see [TinyMCE toolbar configuration](https://www.tiny.cloud/docs/configure/editor-appearance/#toolbar)\n\t\t * @type {Array<string>|string|boolean} for boolean, only false is supported\n\t\t */\n\t\ttoolbar: {\n\t\t\tdefault:\n\t\t\t\t'bold italic underline undo redo | fontfamily fontsize table | forecolor backcolor link unlink | code | alignleft aligncenter alignright | bullist numlist fullscreen'\n\t\t},\n\t\t/**\n\t\t * TinyMCE config relativeUrls\n\t\t * @see [relative_urls](https://www.tiny.cloud/docs/configure/url-handling/#relative_urls)\n\t\t * @type {boolean}\n\t\t */\n\t\trelativeUrls: { default: true },\n\t\t/**\n\t\t * TinyMCE config remove_script_host\n\t\t * @see [remove_script_host](https://www.tinymce.com/docs/configure/url-handling/#remove_script_host)\n\t\t * @type {boolean}\n\t\t */\n\t\tremoveHost: { default: true },\n\t\t/**\n\t\t * TinyMCE config placeholder. Placeholder string when there is no value\n\t\t * @see [placeholder](https://www.tiny.cloud/docs/configure/editor-appearance/#placeholder)\n\t\t * @type {string}\n\t\t */\n\t\tplaceholder: {},\n\t\t/**\n\t\t * This setting controls how content pasted from sources other than Microsoft Word is filtered.\n\t\t * @type {string}\n\t\t * @see [power_paste_html_import](https://www.tiny.cloud/docs/plugins/powerpaste/#powerpaste_html_import)\n\t\t */\n\t\tpowerPasteHtmlImport: { default: 'clean' },\n\t\t/**\n\t\t * This setting controls how content pasted from Microsoft Word is filtered.\n\t\t * @type {string}\n\t\t * @see [power_paste_word_import](https://www.tiny.cloud/docs/plugins/powerpaste/#powerpaste_word_import)\n\t\t */\n\t\tpowerPasteWordImport: { default: 'prompt' },\n\t\t/**\n\t\t * This property allows the user to set a default target value for links when inserting/editing\n\t\t * a link via the link dialog. It can take one of four values: ['_blank', '', '_self', '_top']\n\t\t * @type {string}\n\t\t */\n\t\tdefaultLinkTarget: { default: '' },\n\t\t/**\n\t\t * Client-side HTML editor has its own context menu,\n\t\t * overriding the browser's. Holding Ctrl while right-clicking\n\t\t * bypasses the editor's context menu to show the native context menu.\n\t\t\tThis property specifies which context menu options are available.\n\t\t\tDefault value is \"link image table\" (without quotes).\n\t\t\tA value of \"false\" (without quotes) disables the editor's context menu.\n\t\t */\n\t\tcontextmenu: { default: 'link image table' },\n\t\t/**\n\t\t * List of plugins to enable. Note that TinyMCE will lazy-load these plugins\n\t\t * at runtime, so the corresponding plugin files must be hosted by the app\n\t\t * for this to work propertly.\n\t\t * @see [plugins](https://www.tiny.cloud/docs/configure/integration-and-setup/#plugins)\n\t\t * @type {string}\n\t\t */\n\t\tplugins: {\n\t\t\tdefault:\n\t\t\t\t'accordion link lists advlist table powerpaste searchreplace preview fullscreen placeholder readonlynoborder'\n\t\t},\n\t\t/**\n\t\t * Specifies that the user cannot modify the value of the component.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @see [readonly](https://www.tiny.cloud/docs/configure/integration-and-setup/#readonly)\n\t\t * @type {boolean}\n\t\t */\n\t\treadonly: { default: false },\n\n\t\t/*\n\t\t * ====================================================================================\n\t\t * NOTE: Below are custom service now properties not directly passed to tinymce\n\t\t * ====================================================================================\n\t\t */\n\n\t\t/**\n\t\t * Settings for mentions plugin\n\t\t *\n\t\t * Shape\n\t\t *\n\t\t * `type:boolean` enableMentions - Flag that needs to be true in order for the mentions to be enabled\n\t\t *\n\t\t * `type:function` fetch - Function that takes in a query and returns a promise. This promise should resolve with the mentions suggestions\n\t\t *\n\t\t * `type:string` table - Table where the mentions user exists\n\t\t *\n\t\t * `type:string` resourceTable - Table to check ACLs against when using the default AtMentionsService endpoint.\n\t\t *\n\t\t * `type:string` resourceSysId - The sys_id of the element to check ACLs against when using the default AtMentionsService endpoint.\n\t\t *\n\t\t * `type:{loading: string,noMatches: string,init: string}`messages - Messages to be displayed when mentions list appears\n\t\t * @type {{ enableMentions: boolean, fetch: function, table: string, resourceTable: string,resourceSysId: string, messages: {loading: string,noMatches: string,init: string}}}\n\t\t */\n\t\tconfigMentions: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tenableMentions: { type: 'boolean' },\n\t\t\t\t\tfetch: { type: 'object' },\n\t\t\t\t\ttable: { type: 'string' },\n\t\t\t\t\tresourceTable: { type: 'string' },\n\t\t\t\t\tresourceSysId: { type: 'string' },\n\t\t\t\t\tmessages: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tloading: { type: 'string' },\n\t\t\t\t\t\t\tnoMatches: { type: 'string' },\n\t\t\t\t\t\t\tinit: { type: 'string' }\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Settings require to enable response_templates hotkey\n\t\t *\n\t\t * Shape\n\t\t *\n\t\t * `type:boolean` enableResponseTemplates - Flag that needs to be true in order for the feature to be enabled\n\t\t *\n\t\t * `type:string` channel - To set the channel that is used by the Response Template endpoint\n\t\t *\n\t\t * `type:string` recordTable - Table to check ACLs against when using the Response Template endpoint.\n\t\t *\n\t\t * `type:string` recordSysId - The sys_id of the element to check ACLs against when using the Response Template endpoint.\n\t\t *\n\t\t * `type:array` defaultSuggestions - The default suggestions that will be displayed when the user enters the response templates hotkey\n\t\t *\n\t\t * `type:string` suggestionsHeader - The header of the dropdown list that is used to display default suggestions\n\t\t *\n\t\t * `type:function` defaultSuggestionsFetcher - Callback function used to fetch defaultSuggestions. This supersedes the defaultSuggestions prop\n\t\t *\n\t\t * @type {{ enableResponseTemplates: boolean, channel: string, recordTable: string, recordSysId: string, defaultSuggestions: array, suggestionsHeader: string}}\n\t\t */\n\t\tresponseTemplates: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tenableResponseTemplates: { type: 'boolean' },\n\t\t\t\t\tchannel: { type: 'string' },\n\t\t\t\t\trecordTable: { type: 'string' },\n\t\t\t\t\trecordSysId: { type: 'string' },\n\t\t\t\t\tdefaultSuggestions: { type: 'array' },\n\t\t\t\t\tsuggestionsHeader: { type: 'string' },\n\t\t\t\t\tdefaultSuggestionsFetcher: { type: 'function' }\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefault: {}\n\t\t},\n\t\t/**\n\t\t * Additional content describing the field, usually to provide further\n\t\t * instruction to the user.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {},\n\t\t/**\n\t\t * Whether to wrap the value in [code] blocks (For journal entry fields)\n\t\t * @type {boolean}\n\t\t */\n\t\tenableCodeBlocks: { default: false },\n\t\t/**\n\t\t * Whether we want mentions to be enabled or not.\n\t\t * @deprecated Use configMentions.enableMentions.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tenableMentions: { default: false },\n\t\t/**\n\t\t * Settings for mentions plugin\n\t\t */\n\t\tmentions: {},\n\t\t/**\n\t\t * If set, an iconic button with a popover appears next to the field\n\t\t * label to display additional hint text to the user, such as\n\t\t * password requirements or other instructions for completing the field.\n\t\t * @type {(string|JSX)}\n\t\t */\n\t\thelperContent: { schema: { type: 'string' } },\n\t\t/**\n\t\t * Specifies whether the current value is not valid.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {string | boolean}\n\t\t */\n\t\tinvalid: { default: false },\n\t\t/**\n\t\t * Whether the field is a journal input field or not.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tisJournal: {},\n\t\t/**\n\t\t * It's a label! All form controls need a label!\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {},\n\t\t/**\n\t\t * User's preferred language\n\t\t * @type {string}\n\t\t */\n\t\tlanguage: {},\n\t\t/**\n\t\t * Stringified object containing tinymce menubar configurations\n\t\t * Is deprecated, and will be removed after Zurich. For all similar\n\t\t * purposes, use htmlEditorConfigs.\n\t\t * @type {string}\n\t\t */\n\t\tmenuConfigs: { default: '', schema: { type: 'string' } },\n\t\t/**\n\t\t * Stringified object containing tinymce configurations from sys_script_include script\n\t\t * @type {string}\n\t\t */\n\t\thtmlEditorConfigs: { default: '', schema: { type: 'string' } },\n\t\t/**\n\t\t * Array of message objects that must contain type and message itself.\n\t\t * @type {Array<{type: (\"error\"|\"warning\"|\"success\"|\"liveUpdate\"|\"info\"|\"suggestion\"), type:Array<string,Object<{string, getMessage:function}>> }>}\n\t\t */\n\t\tmessages: { default: [] },\n\t\t/**\n\t\t * The initial number of lines that should be visible in the editor.\n\t\t * Also sets minHeight if not already defined\n\t\t * @type {number}\n\t\t * @deprecated Will be removed in future version. Please use minHeight and height instead, you can approximate equivalent height as follows: (minLineCount * 24) + 11.\n\t\t */\n\t\tminLineCount: { schema: { type: 'number' } },\n\t\t/**\n\t\t * Name for the component. Any events dispatched by the component will use this name.\n\t\t * @type {string}\n\t\t */\n\t\tname: {},\n\t\t/**\n\t\t * onBlur event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonBlur: {},\n\t\t/**\n\t\t * onFocus event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonFocus: {},\n\t\t/**\n\t\t * onResize event callback\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonResize: {},\n\t\t/**\n\t\t * Callback used when an intermediate value has changed.\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonStagedValueChange: {},\n\t\t/**\n\t\t * Callback used when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t *\n\t\t * Params\n\t\t * `type:object` event - The event payload\n\t\t * `type:string` event.name - The name of the component that triggered the event\n\t\t * `type:any` event.value - The new value for the component\n\t\t * `type:string` event.displayValue - The human-readable represenation of the value\n\t\t * `type:object` event.error - If the current value is invalid, this propery will be set. When the current value is valid, this property will be null.\n\t\t * `type:string` event.error.type - Error type\n\t\t * `type:string` event.error.message - Description of why the value is invalid\n\t\t *\n\t\t * @type {function}\n\t\t * @private\n\t\t */\n\t\tonValueChange: {},\n\n\t\t/**\n\t\t * Field which indicates preloaded members of the record\n\t\t * Array.<{sys_id: string,name?: string,username?: string,email?: string,avatar?: string,active?: boolean,[key: string]?:any}>\n\t\t * @type {Array}\n\t\t * @default []\n\t\t * @schema { type: 'array' }\n\t\t */\n\t\tpreloadMentions: {\n\t\t\tdefault: [],\n\t\t\tschema: { type: 'array' }\n\t\t},\n\n\t\t/**\n\t\t * Table used for uploaded images stored in sys attachment table\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\treferringTable: {},\n\t\t/**\n\t\t * sys_id of the record used for uploaded images stored in sys attachment table\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\treferringRecordId: {},\n\t\t/**\n\t\t * Whether or not the user must fill in a value for this component.\n\t\t * Can be specified as a boolean or the string \"true\"\n\t\t * @type {boolean}\n\t\t */\n\t\trequired: { default: false },\n\t\t/**\n\t\t * When rendering a html-editor, whether or not to show the resize handle.\n\t\t * @type {boolean}\n\t\t */\n\t\tresizable: { default: true },\n\t\t/**\n\t\t * Specifies that the field should be rendered right-to-left.\n\t\t * When passed as a string, \"true\" (case-sensitive) will be treated like\n\t\t * boolean true.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\treversed: { default: false },\n\t\t/**\n\t\t * When provided, allows whitelisting specific buttons for the toolbar. This\n\t\t * prop should be a comma-separated string of allowed buttons.\n\t\t *\n\t\t * When omitted, any toolbar button supported by TinyMCE can be rendered (via\n\t\t * the `toolbar` prop).\n\t\t * @type {string}\n\t\t */\n\t\tvalidButtons: {},\n\t\t/**\n\t\t * When provided, allows whitelisting specific plugins. This\n\t\t * prop should be a comma-separated string of allowed plugins.\n\t\t *\n\t\t * When omitted, any plugin supported by TinyMCE can be loaded (via\n\t\t * the `plugins` prop).\n\t\t * @type {string}\n\t\t */\n\t\tvalidPlugins: {},\n\t\t/**\n\t\t * Underlying data for the component.\n\t\t * @type {string}\n\t\t */\n\t\tvalue: {},\n\t\t/**\n\t\t * BaseURL of the instance, used in case of embeddables flow, otherwise it will be empty.\n\t\t * @type {string}\n\t\t */\n\t\tbaseURL: { default: getBaseURL() },\n\t\t/**\n\t\t * Controls the set of colors to use for the content area.\n\t\t *\n\t\t * The variant names refer to the color of the background on the default theme, but the actual colors may vary\n\t\t * if another theme is applied.\n\t\t *\n\t\t * The following variants are available:\n\t\t * `neutral`, `yellow`, `magenta`, `pink`, `orange`, `brown`, `green`, `green-yellow` and `blue`.\n\t\t *\n\t\t * Any other values will default to `neutral`.\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tvariant: { default: 'neutral' },\n\t\t/**\n\t\t * Whether to wrap the value in [code] blocks (For journal entry fields).\n\t\t * please use `enableCodeBlocks` instead\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tuseCodeBlocks: { default: false },\n\t\t/**\n\t\t * The highlighted Value labels that you want to display beside the Field Label. Can be an array of highlighted values or just single highlighted value object\n\t\t * @type {[{ value: 'string', status: 'string', showIcon: boolean, variantName: 'string', colorName: 'string',iconName: 'string'  }]}\n\t\t */\n\t\thighlightedValue: {\n\t\t\tdefault: {},\n\t\t\tschema: { anyOf: [{ type: 'object' }, { type: 'array' }] }\n\t\t},\n\t\t/**\n\t\t * Dictionary attributes to show condition count and to restrict\n\t\t * fields in dot-walk\n\t\t */\n\t\tdictionaryAttributes: { schema: { type: 'object' } },\n\t\t/**\n\t\t * The config aria property that you want to configure if label is not present.\n\t\t * @type {{ 'aria-label': 'string' }}\n\t\t */\n\t\tconfigAria: { default: {} },\n\t\t/**\n\t\t * Whether to convert the image blobs to base 64\n\t\t * by default we will convert to base64\n\t\t * @type {boolean}\n\t\t */\n\t\tconvertBlobsToBase64: { default: true },\n\t\t/**\n\t\t * Configuration for the field layout.\n\t\t *\n\t\t * Indicates whether the layout will be vertical (stacked view) or horizontal (inline view)\n\t\t * In a horizontal layout, a typical component has three containers: label, formfield and slottted content (also known as label end)\n\t\t * Only if the layout is `horizontal`, the component uses the columns array to set the grid template columns width for these containers.\n\t\t *\n\t\t * Object options:\n\t\t * - `[fieldLayout.layout]`: String. Determines whether the labels, field and slotted content are laid out vertically or horizontally.\n\t\t * - `[fieldLayout.columns]`: Array<string>. Width ratio of horizontal container element (i.e. label, form field and label end slotted content).\n\t\t *\n\t\t * @type {{layout:('horizontal'|'vertical'), columns: array<string>}}\n\t\t * @uib.label Field Layout Configuration\n\t\t * @uib.description Configuration for the field layout. Determines whether the labels, field and slotted content are arranged vertically or horizontally, and their respective proportion in a horizontal container.\n\t\t * @uib.defaultValue {\"layout\": \"vertical\"}\n\t\t * @uib.fieldType json\n\t\t */\n\t\tfieldLayout: {\n\t\t\tdefault: { layout: 'vertical' },\n\t\t\tschema: fieldLayoutSchema\n\t\t},\n\n\t\t/**\n\t\t * This setting controls the filtering of inline elements while pasting from MS Word to editor.\n\t\t * @type {string}\n\t\t * @see [powerpaste_clean_filtered_inline_elements](https://www.tiny.cloud/docs/plugins/premium/powerpaste/#powerpaste_clean_filtered_inline_elements)\n\t\t */\n\t\tpowerPasteFilterInlineElements: { default: 'strong, b' },\n\t\t/**\n\t\t * Allows to re-dispatch the VALUE_CHANGED event every time the stage value is modified\n\t\t * and the component is blurred even if the value matches the last dispatched VALUE_CHANGED event.\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tallowFieldChangesAfterEveryStageChange: { default: false },\n\n\t\t/**\n\t\t * Field decorations are being passed with g_form.addDecoration(fieldName, icon, text); method\n\t\t * via client script using g_form api\n\t\t * which renders alongside the field's label\n\t\t * @type {Array.<{icon: string, text: string}>}\n\t\t **/\n\t\tdecorations: {\n\t\t\tdefault: [],\n\t\t\ttype: 'array'\n\t\t},\n\t\t/**\n\t\t * Skill Configuration for field level Now Assist Context Menu component\n\t\t * The schema for this property isn't strongly typed, as we are simply passing the\n\t\t * Now Assist Context Menu specific document model down to the Now Assist Context Menu Component\n\t\t */\n\t\tnowAssistConfig: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tcontextMenu: { type: 'object' },\n\t\t\t\t\tminWordCount: { type: 'number' }\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Flag that indicates whether the component fits to its parent's height. When true, the component is grown to its parent's height. Default: false.\n\t\t * @type {boolean}\n\t\t */\n\t\tfitToParent: { default: false, schema: { type: 'boolean' } }\n\t},\n\ttransformState,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the intermediate value has changed.\n\t\t * @type {{value: string}}\n\t\t */\n\t\t'NOW_RECORD_HTML_EDITOR#STAGED_VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched when the value has changed. Very similar to an `onChange`\n\t\t * event, but this may also fire when the component formats its value\n\t\t * onBlur.\n\t\t * @type {{value: string}}\n\t\t */\n\t\t'NOW_RECORD_HTML_EDITOR#VALUE_CHANGED': {},\n\t\t/**\n\t\t * Dispatched when a single or multiple mention is / are added from the mention list dropdown\n\t\t * @type {{value: string}}\n\t\t */\n\t\t'NOW_RECORD_HTML_EDITOR#MENTION_ADDED': {},\n\t\t/**\n\t\t * Dispatched when a single or multiple mention is / are deleted from the editor\n\t\t * @type {{value: string}}\n\t\t */\n\t\t'NOW_RECORD_HTML_EDITOR#MENTION_DELETED': {}\n\t},\n\tbehaviors: [\n\t\ttrackBehavior,\n\t\t...TINYMCE_THEME_BEHAVIORS,\n\t\twithValueChangeCallbackBehavior,\n\t\t{ behavior: translationBehavior },\n\t\t{ behavior: isEnabledBehavior },\n\t\t{ behavior: dynamicTranslationBehaviour },\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus: function (host, dispatch) {\n\t\t\t\t\tdispatch(EDITOR_SET_FOCUS);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t]\n});\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport styles from '../popoverCellEditorContent.scss';\n\nimport { actionHandlers } from './action';\nimport '@servicenow/now-record-html-editor';\n\n/**\n * @type {View<PopoverCellEditorTypeContentProps, {cellEditValue: String}>}\n * @returns\n */\nexport const view = (state) => {\n\tconst { cellEditValue } = state;\n\treturn (\n\t\t<div className=\"popover-html-cell-editor-content-container\">\n\t\t\t<now-record-html-editor\n\t\t\t\tclassName=\"now-record-html-editor-content\"\n\t\t\t\tautofocus\n\t\t\t\tvalue={cellEditValue}\n\t\t\t\tmanageValue={true}\n\t\t\t\tresizable={true}\n\t\t\t\tmaxHeight={400}\n\t\t\t\theight={'min(100%, 400px)'}\n\t\t\t\tminHeight={240}\n\t\t\t\tplugins={\n\t\t\t\t\t'accordion link lists advlist table code powerpaste searchreplace preview fullscreen placeholder readonlynoborder'\n\t\t\t\t}\n\t\t\t\ttoolbar={\n\t\t\t\t\t'bold italic underline undo redo | fontselect fontsizeselect | code | table forecolor backcolor link unlink | alignleft aligncenter alignright | bullist numlist'\n\t\t\t\t}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\ncreateCustomElement('now-list-html-cell-editor-content', {\n\tview,\n\tsetInitialState({\n\t\tproperties: {\n\t\t\tactionsContext: {\n\t\t\t\t// @ts-ignore\n\t\t\t\tcell: { value },\n\t\t\t},\n\t\t},\n\t}) {\n\t\treturn {\n\t\t\tcellEditValue: value,\n\t\t};\n\t},\n\tstyles,\n\tproperties: {\n\t\tactionsContext: {},\n\t},\n\t// @ts-ignore\n\tactionHandlers,\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { t } from 'sn-translate';\n\nimport {\n\trenderCustomComponent,\n\tcustomComponentType,\n} from '../../../utils/customLoader';\nimport popoverSelectors from '../../../utils/selectors/popoverSelectors';\n\nimport { actionHandlers } from './actions';\nimport styles from './popoverCellEditorContent.scss';\n\nimport './cellEditorTypes/popoverStringCellEditorContent';\nimport './cellEditorTypes/popoverCurrencyCellEditorContent';\nimport './cellEditorTypes/popoverBooleanCellEditorContent';\nimport './cellEditorTypes/popoverDateTimeCellEditorContent';\nimport './cellEditorTypes/popoverNumberCellEditorContent';\nimport './cellEditorTypes/popoverPillsCellEditorContent';\nimport './cellEditorTypes/popoverChoiceCellEditorContent';\nimport './cellEditorTypes/popoverUrlCellEditorContent';\nimport './cellEditorTypes/popoverLinkCellEditorContent';\nimport './cellEditorTypes/popoverIconCellEditorContent';\nimport './cellEditorTypes/popoverPersonCellEditorContent';\nimport './cellEditorTypes/popoverHTMLCellEditorContent';\n\nimport '@servicenow/now-highlighted-value';\nimport '@servicenow/now-loader';\n\nconst defaultButtonsConfig = {\n\tshowRetry: false,\n\tdisableApply: false,\n};\n\n/**\n * @param {Context | undefined} actionsContext\n * @param {Object} buttonsConfig\n * @returns\n */\nexport const renderPopoverCellEditContentActions = (\n\tactionsContext,\n\tbuttonsConfig\n) => {\n\t// @ts-ignore\n\tconst { showRetry, disableApply, hideAll } = buttonsConfig;\n\n\tconst popoverButtons = hideAll\n\t\t? []\n\t\t: [\n\t\t\t\t{\n\t\t\t\t\tlabel: t('Cancel'),\n\t\t\t\t\tariaLabel: t('Cancel'),\n\t\t\t\t\tvariant: 'tertiary',\n\t\t\t\t\tsize: 'sm',\n\t\t\t\t\tdisabled: false,\n\t\t\t\t\thideButton: false,\n\t\t\t\t\tid: 'cellEditCancelButton',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: t('Apply'),\n\t\t\t\t\tariaLabel: t('Apply'),\n\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\tsize: 'sm',\n\t\t\t\t\tdisabled: disableApply,\n\t\t\t\t\thideButton: showRetry,\n\t\t\t\t\tid: 'cellEditApplyButton',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: t('Retry'),\n\t\t\t\t\tariaLabel: t('Retry'),\n\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\tsize: 'sm',\n\t\t\t\t\tdisabled: false,\n\t\t\t\t\thideButton: !showRetry,\n\t\t\t\t\tid: 'cellEditRetryButton',\n\t\t\t\t},\n\t\t  ];\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"popover-cell-editor-button-container\"\n\t\t\tdata-test=\"popover-cell-editor-button-container\"\n\t\t>\n\t\t\t{popoverButtons.map((\n\t\t\t\t/** @type {NowButtonProps} */ {\n\t\t\t\t\tariaLabel,\n\t\t\t\t\tid,\n\t\t\t\t\tlabel,\n\t\t\t\t\tsize,\n\t\t\t\t\tvariant,\n\t\t\t\t\tdisabled,\n\t\t\t\t\thideButton,\n\t\t\t\t}\n\t\t\t) => {\n\t\t\t\treturn (\n\t\t\t\t\t!hideButton && (\n\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\t'aria-label': ariaLabel,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tvariant={variant}\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\tsize={size}\n\t\t\t\t\t\t\tlabel={label}\n\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\tid: id,\n\t\t\t\t\t\t\t\tcontext: actionsContext,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n};\n\n/** @type {View<PopoverCellEditorContentProps, {value: any}>} */\nexport const view = (props) => {\n\tconst {\n\t\tproperties: { popoverDefinition },\n\t} = props;\n\n\tconst componentDefaultProps = popoverSelectors.getPopoverComponentDefaultProps(\n\t\tpopoverDefinition\n\t);\n\n\tconst componentTag =\n\t\tcomponentDefaultProps.actionsContext.column.type === 'html'\n\t\t\t? 'now-list-html-cell-editor-content'\n\t\t\t: popoverSelectors.getPopoverComponentTag(popoverDefinition);\n\n\tconst buttonsConfig =\n\t\tpopoverSelectors.getButtonsConfig(popoverDefinition) ||\n\t\tdefaultButtonsConfig;\n\n\tconst highlightedMessage = popoverSelectors.getHighlightedMessage(\n\t\tpopoverDefinition\n\t);\n\n\tconst isLoading = popoverSelectors.getIsLoading(popoverDefinition) || false;\n\n\treturn (\n\t\t<div className=\"popover-cell-editor-content-container\">\n\t\t\t{isLoading ? (\n\t\t\t\t<div className=\"popover-cell-editor-content-loader\">\n\t\t\t\t\t<now-loader\n\t\t\t\t\t\taria-label={t('Loading')}\n\t\t\t\t\t\tclassName=\"loader-cell-editor-content\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\t<div>\n\t\t\t\t\t{highlightedMessage && (\n\t\t\t\t\t\t<now-highlighted-value\n\t\t\t\t\t\t\tclassName=\"cell-editor-highlighted-message\"\n\t\t\t\t\t\t\tlabel={highlightedMessage.label}\n\t\t\t\t\t\t\tcolor={highlightedMessage.color}\n\t\t\t\t\t\t\tshowIcon={highlightedMessage.showIcon}\n\t\t\t\t\t\t\tvariant={highlightedMessage.variant}\n\t\t\t\t\t\t\ticon={highlightedMessage.icon}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{componentTag &&\n\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\trenderCustomComponent(\n\t\t\t\t\t\t\tcustomComponentType.POPOVER,\n\t\t\t\t\t\t\tcomponentTag,\n\t\t\t\t\t\t\tcomponentDefaultProps,\n\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t)}\n\t\t\t\t\t{componentDefaultProps.actionsContext?.selectedKeys\n\t\t\t\t\t\t?.length > 1 && (\n\t\t\t\t\t\t<now-highlighted-value\n\t\t\t\t\t\t\tclassName=\"cell-editor-info-text\"\n\t\t\t\t\t\t\tcolor=\"warning\"\n\t\t\t\t\t\t\ticon=\"circle-exclamation-outline\"\n\t\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t\t'{0} rows will be updated',\n\t\t\t\t\t\t\t\tcomponentDefaultProps.actionsContext\n\t\t\t\t\t\t\t\t\t?.selectedKeys?.length\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tshowIcon={true}\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t{renderPopoverCellEditContentActions(\n\t\t\t\tcomponentDefaultProps.actionsContext,\n\t\t\t\tbuttonsConfig\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\ncreateCustomElement('now-list-cell-editor-content', {\n\tview,\n\tsetInitialState({ properties: { popoverDefinition } }) {\n\t\tconst defaultProps =\n\t\t\tpopoverSelectors.getPopoverComponentDefaultProps(popoverDefinition)\n\t\t\t\t?.actionsContext?.cell || {};\n\t\treturn {\n\t\t\tvalue: defaultProps.value,\n\t\t\tlabel: defaultProps.label,\n\t\t};\n\t},\n\tstyles,\n\tproperties: {\n\t\tpopoverDefinition: {},\n\t},\n\t// @ts-ignore\n\tactionHandlers,\n});\n","export const NOW_BUTTON_CLICKED_POPOVER_CONTAINER = 'NOW_BUTTON#CLICKED';\nexport const NOW_LIST_POPOVER_BUTTON_CLICKED =\n\t'NOW_LIST#POPOVER_BUTTON_CLICKED';\n","import {\n\tNOW_BUTTON_CLICKED_POPOVER_CONTAINER,\n\tNOW_LIST_POPOVER_BUTTON_CLICKED,\n} from './constants';\n\n/**\n *\n * @param {Coeffects<PopoverTextContentProps,State>} coeffects\n */\nconst buttonClickedHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { id, meta, buttonIndex },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tdispatch(NOW_LIST_POPOVER_BUTTON_CLICKED, {\n\t\tid,\n\t\tmeta,\n\t\tbuttonIndex,\n\t});\n};\n\nexport const actionHandlers = {\n\t[NOW_BUTTON_CLICKED_POPOVER_CONTAINER]: {\n\t\teffect: buttonClickedHandler,\n\t\tstopPropagation: true,\n\t},\n};\n","import rtlBehavior from '@servicenow/behavior-rtl';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport isEmpty from 'lodash/isEmpty';\n\nimport popoverSelectors from '../../../utils/selectors/popoverSelectors';\n\nimport { actionHandlers } from './actions';\nimport styles from './popoverTextContent.scss';\nimport '@servicenow/now-button';\n\n/**\n *\n * @param {PopoverDefinition} popoverDefinition\n * @returns\n */\nconst renderTextContent = (popoverDefinition) => {\n\tconst contentText = popoverSelectors.getPopoverText(popoverDefinition);\n\n\tif (isEmpty(contentText)) return null;\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"popover-text-container\"\n\t\t\tdata-test=\"popover-text-container\"\n\t\t>\n\t\t\t<span data-truncation>{contentText}</span>\n\t\t</div>\n\t);\n};\n\n/**\n *\n * @param {PopoverDefinition} popoverDefinition\n * @param {String} dir\n * @returns\n */\nconst renderContentActions = (popoverDefinition, dir) => {\n\tconst popoverButtons = popoverSelectors.getPopoverButtons(\n\t\tpopoverDefinition\n\t);\n\n\tif (isEmpty(popoverButtons)) return null;\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"popover-button-container\"\n\t\t\tdata-test=\"popover-button-container\"\n\t\t\tdir={dir}\n\t\t>\n\t\t\t{popoverButtons.map((\n\t\t\t\t/** @type {object} */ button,\n\t\t\t\t/** @type {number} */ index\n\t\t\t) => {\n\t\t\t\treturn (\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t'aria-label': popoverSelectors.getPopoverButtonAriaLabel(\n\t\t\t\t\t\t\t\tbutton\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvariant={popoverSelectors.getPopoverButtonVariant(\n\t\t\t\t\t\t\tbutton\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tsize={popoverSelectors.getPopoverButtonSize(button)}\n\t\t\t\t\t\tlabel={popoverSelectors.getPopoverButtonLabel(button)}\n\t\t\t\t\t\ticon={popoverSelectors.getPopoverButtonIcon(button)}\n\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\tmeta: popoverSelectors.getPopoverButtonMeta(button),\n\t\t\t\t\t\t\tid: popoverSelectors.getPopoverButtonId(button),\n\t\t\t\t\t\t\tbuttonIndex: index,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ttooltipContent={popoverSelectors.getTooltipContent(\n\t\t\t\t\t\t\tbutton\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n};\n\n/** @type {View<PopoverTextContentProps, {}>} */\nconst view = (props) => {\n\tconst {\n\t\tproperties: { popoverDefinition, dir },\n\t} = props;\n\n\treturn (\n\t\t<div className=\"popover-content-container\">\n\t\t\t{renderTextContent(popoverDefinition)}\n\t\t\t{renderContentActions(popoverDefinition, dir)}\n\t\t</div>\n\t);\n};\n\ncreateCustomElement('now-list-popover-text-content', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\tpopoverDefinition: {},\n\t\tdir: {\n\t\t\t// @ts-ignore\n\t\t\tdefault: 'ltr',\n\t\t},\n\t},\n\tactionHandlers,\n\tbehaviors: [{ behavior: rtlBehavior }],\n});\n","import {\n\tNOW_DROPDOWN_LIST_ITEM_CLICKED,\n\tPOPOVER_DROPDOWN_ITEM_CLICKED,\n} from './constants';\n\n/**\n * Handler for now-dropown-list item clicked action. Will dispatch the appropriate list action\n * @param {Coeffects<PopoverListContentProps, State>} coeffects\n */\nconst dropdownItemClickedHandler = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { item, context },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tdispatch(POPOVER_DROPDOWN_ITEM_CLICKED, {\n\t\tactionItem: item,\n\t\tcontext,\n\t});\n};\n\nexport const actionHandlers = {\n\t[NOW_DROPDOWN_LIST_ITEM_CLICKED]: {\n\t\teffect: dropdownItemClickedHandler,\n\t\tstopPropagation: true,\n\t},\n};\n","import { createCustomElement } from '@servicenow/ui-core';\n\nimport { getActionLabel } from '../../../../behaviors/contextActionsBehavior/constants';\nimport popoverSelectors from '../../../utils/selectors/popoverSelectors';\n\nimport { actionHandlers } from './actions';\nimport styles from './popoverListContent.scss';\n\nimport '@servicenow/now-dropdown';\n\n/** @type {View<PopoverListContentProps, {}>} */\nexport const view = (props) => {\n\tconst {\n\t\tproperties: { popoverDefinition, actionsContext },\n\t} = props;\n\n\tconst label = actionsContext\n\t\t? getActionLabel(actionsContext?.typeOfAction)\n\t\t: popoverSelectors.getActionsLabel(popoverDefinition);\n\tconst actions = popoverSelectors.getActions(popoverDefinition);\n\tconst search = actions.length > 10 ? 'contains' : 'none';\n\tconst activeItem = popoverSelectors.getActiveActionItem(popoverDefinition);\n\treturn (\n\t\t<div className=\"popover-list-content-container\">\n\t\t\t<now-dropdown-list\n\t\t\t\titems={actions}\n\t\t\t\tactiveItem={activeItem}\n\t\t\t\tselect=\"none\"\n\t\t\t\tsearch={search}\n\t\t\t\tappend-to-payload={{ context: actionsContext }}\n\t\t\t\tconfigAria={{\n\t\t\t\t\t'aria-label': label,\n\t\t\t\t}}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\ncreateCustomElement('now-list-popover-list-content', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\tpopoverDefinition: {},\n\t\tactionsContext: {},\n\t},\n\tactionHandlers,\n});\n","import { findTabbableElement } from '@devsnc/sn-list-commons';\nimport { actionTypes } from '@servicenow/ui-core';\nimport get from 'lodash/get';\n\nconst { COMPONENT_TREE_RENDERED } = actionTypes;\n\n/**\n * Handler for now-list-popover-custom-content render\n * @param {Coeffects<PopoverListContentProps, State>} coeffects\n */\nconst componentTreeRenderedEffect = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tmeta: { hoistHost },\n\t\t},\n\t\tstate,\n\t\tupdateState,\n\t} = coeffects;\n\tconst popoverIsFocused = get(state, `popoverIsFocused`, false);\n\t/**\n\t * Handles the focusing of the element when the popover re-renders\n\t * from loading state to the custom component\n\t */\n\tif (\n\t\thoistHost?.shadowRoot &&\n\t\tdocument.activeElement != hoistHost &&\n\t\t!popoverIsFocused\n\t) {\n\t\tconst el = findTabbableElement(true, hoistHost?.shadowRoot);\n\t\tif (el) {\n\t\t\tupdateState({\n\t\t\t\tpath: 'popoverIsFocused',\n\t\t\t\toperation: 'set',\n\t\t\t\tvalue: true,\n\t\t\t});\n\t\t\tel.focus();\n\t\t}\n\t}\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_TREE_RENDERED]: {\n\t\teffect: componentTreeRenderedEffect,\n\t},\n};\n","import rtlBehavior from '@servicenow/behavior-rtl';\nimport { createCustomElement } from '@servicenow/ui-core';\n\nimport customCellDynamicActionBehavior from '../../../../behaviors/customCellDynamicActionBehavior/customCellDynamicActionBehavior';\nimport {\n\trenderCustomComponentDisplay,\n\tcustomComponentType,\n} from '../../../utils/customLoader';\nimport popoverSelectors from '../../../utils/selectors/popoverSelectors';\n\nimport { actionHandlers } from './action';\nimport styles from './popoverCustomContent.scss';\n\nimport '@servicenow/now-dropdown';\n\n/** @type {View<PopoverCustomContentProps, {}>} */\nexport const view = (props) => {\n\tconst {\n\t\tproperties: { popoverDefinition, tableMetadata, dir },\n\t} = props;\n\n\tconst componentTag = popoverSelectors.getPopoverComponentTag(\n\t\tpopoverDefinition\n\t);\n\tconst componentDefaultProps = popoverSelectors.getPopoverComponentDefaultProps(\n\t\tpopoverDefinition\n\t);\n\n\treturn renderCustomComponentDisplay(\n\t\tcustomComponentType.POPOVER,\n\t\ttableMetadata,\n\t\tcomponentTag,\n\t\tcomponentDefaultProps,\n\t\tdir\n\t);\n};\n\ncreateCustomElement('now-list-popover-custom-content', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\tpopoverDefinition: {},\n\t\ttableMetadata: {},\n\t\tdir: {\n\t\t\t// @ts-ignore\n\t\t\tdefault: 'ltr',\n\t\t},\n\t},\n\tactionHandlers,\n\tbehaviors: [customCellDynamicActionBehavior, { behavior: rtlBehavior }],\n});\n","/**\n * Takes an array of choices and returns an array consisting of only the choices whose label contains the term (case insensitive)\n *\n * @param {Array<ChoiceType>} choices\n * @param {string} term\n * @returns {Array<ChoiceType>}\n */\nexport const filterChoicesByTerm = (choices, term = '') => {\n\treturn choices.filter((choice) => {\n\t\treturn choice.label.toUpperCase().includes(term.toUpperCase());\n\t});\n};\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport { createRef } from '@servicenow/ui-renderer-snabbdom';\nimport includes from 'lodash/includes';\nimport isEqual from 'lodash/isEqual';\nimport { t } from 'sn-translate';\n\nimport {\n\tTYPE_CHOICE,\n\tTYPE_PILLS,\n} from '../../../../typeSchemas/columnDefinitions/columnTypes/columnTypes';\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\nimport { getColumnFilteringStateForColumn } from '../../table/tableHeaders/columnFilteringCell/columnFilteringCell';\nimport {\n\tCOLUMN_FILTERING_SELECT_ALL_BUTTON_NAME,\n\tCOLUMN_FILTERING_SELECT_NONE_BUTTON_NAME,\n} from '../../table/tableHeaders/columnFilteringCell/columnFilteringConsts';\n\nimport {\n\tCOLUMN_FILTERING_CHOICE_TYPE_APPLY_BUTTON_NAME,\n\tCOLUMN_FILTERING_CHOICE_TYPE_CANCEL_BUTTON_NAME,\n\tMIN_CHOICES_FOR_CHOICE_FILTERING,\n\tNOW_INPUT_INPUT,\n\tNOW_BUTTON_ICONIC_CLICKED,\n\tCOLUMN_FILTERING_CHOICE_FILTER_CLEAR_TERM,\n\tCOLUMN_FILTERING_CHOICE_FILTER_CLEAR_TERM_NAME,\n} from './popoverChoiceColumnFilterConsts';\nimport styles from './popoverChoiceColumnFilterContent.scss';\nimport { filterChoicesByTerm } from './popoverChoiceColumnFilterHelpers';\n\nconst { COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nconst {\n\tgetChoices,\n\tgetPillsChoices,\n\tgetColumnType,\n\tgetColumnFilterValue,\n} = columnSelectors;\n\n/**\n * @param {Coeffects<PopoverChoiceColumnFilterContentProps, State>} coeffects\n */\nexport const handleChoiceFilterInputClear = (coeffects) => {\n\tconst {\n\t\taction: { payload },\n\t\tupdateState,\n\t} = coeffects;\n\tconst { typeOfAction, choiceFilterInputRef } = payload;\n\tif (typeOfAction !== COLUMN_FILTERING_CHOICE_FILTER_CLEAR_TERM) return;\n\tchoiceFilterInputRef?.focus();\n\tupdateState({\n\t\tchoiceFilterTerm: '',\n\t});\n};\n/**\n * @param {Coeffects<PopoverChoiceColumnFilterContentProps, State>} coeffects\n */\nexport const handleChoiceFilterInputInput = (coeffects) => {\n\tconst { action, updateState } = coeffects;\n\tconst { payload } = action;\n\tconst { fieldValue } = payload;\n\tupdateState({\n\t\tchoiceFilterTerm: fieldValue,\n\t});\n};\n\n/**\n *\n * @param {Coeffects<PopoverChoiceColumnFilterContentProps, State>} coeffects\n *\n */\nexport const componentBootstrappedEffect = (coeffects) => {\n\tconst { updateState } = coeffects;\n\tupdateState({ choiceFilterTerm: '' });\n};\n\n/**\n *\n * @type {View<PopoverChoiceColumnFilterContentProps>}\n * @param {State} state\n *\n */\nconst view = (state) => {\n\tconst {\n\t\tproperties: { column, columnFilteringState },\n\t\tchoiceFilterTerm,\n\t} = state;\n\n\tconst selectAllOrNoneLabel = t('Select');\n\tconst dividerString = ' | ';\n\tconst allLabel = t('All');\n\tconst noneLabel = t('None');\n\tconst cancelLabel = t('Cancel');\n\tconst applyLabel = t('Apply');\n\tconst choiceFilterInputLabel = t('Filter choices');\n\tconst choiceFilterClearButtonLabel = t('Clear search');\n\tconst choiceFilterInputRef = createRef();\n\n\t/** @type Array<ChoiceType> */\n\tlet choices = [];\n\tconst type = getColumnType(column);\n\tconst { value } = getColumnFilteringStateForColumn(\n\t\tcolumn,\n\t\tcolumnFilteringState\n\t);\n\n\tif (type === TYPE_CHOICE) {\n\t\tchoices = getChoices(column) ?? [];\n\t\tif (choices[0]?.key === '') choices = choices.slice(1);\n\t} else if (type === TYPE_PILLS) {\n\t\tchoices = getPillsChoices(column) ?? [];\n\t}\n\tconst filteredChoices = filterChoicesByTerm(choices, choiceFilterTerm);\n\n\tconst emptyChoiceItem = {\n\t\tkey: 'EMPTY',\n\t\tlabel: t('(empty)'),\n\t};\n\n\t// empty will get added on every rerender without this check\n\tif (choices[0].key !== emptyChoiceItem.key) {\n\t\tchoices.unshift(emptyChoiceItem);\n\t}\n\n\tconst shouldDisableApplyButton = isEqual(\n\t\tgetColumnFilterValue(column),\n\t\tvalue\n\t);\n\n\treturn (\n\t\t<div className=\"popover-choice-column-filter-content-container\">\n\t\t\t<div className=\"choice-filter-popover-header\">\n\t\t\t\t{choices.length >= MIN_CHOICES_FOR_CHOICE_FILTERING ? (\n\t\t\t\t\t<div className=\"choice-filter-popover-header-content\">\n\t\t\t\t\t\t<now-input\n\t\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t\t'aria-label': choiceFilterInputLabel,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tplaceholder={choiceFilterInputLabel}\n\t\t\t\t\t\t\tvalue={choiceFilterTerm}\n\t\t\t\t\t\t\tref={choiceFilterInputRef}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div slot=\"start\">\n\t\t\t\t\t\t\t\t<now-icon icon=\"magnifying-glass-outline\"></now-icon>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{choiceFilterTerm.length > 0 ? (\n\t\t\t\t\t\t\t\t<div slot=\"end\">\n\t\t\t\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\t\t\t\ticon=\"close-fill\"\n\t\t\t\t\t\t\t\t\t\ttooltipContent={\n\t\t\t\t\t\t\t\t\t\t\tchoiceFilterClearButtonLabel\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t\t\t\t\t'aria-label': choiceFilterClearButtonLabel,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\t\t\t\t\tname={\n\t\t\t\t\t\t\t\t\t\t\tCOLUMN_FILTERING_CHOICE_FILTER_CLEAR_TERM_NAME\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tappendToPayload={{\n\t\t\t\t\t\t\t\t\t\t\ttypeOfAction: COLUMN_FILTERING_CHOICE_FILTER_CLEAR_TERM,\n\t\t\t\t\t\t\t\t\t\t\tchoiceFilterInputRef:\n\t\t\t\t\t\t\t\t\t\t\t\tchoiceFilterInputRef.current,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</now-input>\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t\t<div className=\"choice-filter-popover-header-content choice-filter-popover-header-select-all-none\">\n\t\t\t\t\t{selectAllOrNoneLabel}\n\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\tappendToPayload={{\n\t\t\t\t\t\t\tchoices: filteredChoices,\n\t\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\t\tchoiceFilterTerm,\n\t\t\t\t\t\t\tname: COLUMN_FILTERING_SELECT_ALL_BUTTON_NAME,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tlabel={allLabel}\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\tdata-testId={'All'}\n\t\t\t\t\t/>\n\t\t\t\t\t{dividerString}\n\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\tappendToPayload={{\n\t\t\t\t\t\t\tchoices: filteredChoices,\n\t\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\t\tchoiceFilterTerm,\n\t\t\t\t\t\t\tname: COLUMN_FILTERING_SELECT_NONE_BUTTON_NAME,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tlabel={noneLabel}\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\tdata-testId={'None'}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div className=\"choice-filter-popover-body\">\n\t\t\t\t{filteredChoices.map((choice) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<now-checkbox\n\t\t\t\t\t\t\tappendToPayload={{\n\t\t\t\t\t\t\t\tchoices,\n\t\t\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={choice.label}\n\t\t\t\t\t\t\tname={choice.key}\n\t\t\t\t\t\t\tchecked={includes(value, choice.key)}\n\t\t\t\t\t\t\tmanageChecked={true}\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t// without this, the checkbox will inconsistently be in an invalid state. For our needs, the checkbox should never be invalid\n\t\t\t\t\t\t\tmanageInvalid={true}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t\t<div className=\"choice-filter-popover-footer\">\n\t\t\t\t<now-button\n\t\t\t\t\tappendToPayload={{\n\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\tname: COLUMN_FILTERING_CHOICE_TYPE_CANCEL_BUTTON_NAME,\n\t\t\t\t\t}}\n\t\t\t\t\tlabel={cancelLabel}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tdata-testId={'Cancel'}\n\t\t\t\t/>\n\t\t\t\t<now-button\n\t\t\t\t\tappendToPayload={{\n\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\tname: COLUMN_FILTERING_CHOICE_TYPE_APPLY_BUTTON_NAME,\n\t\t\t\t\t}}\n\t\t\t\t\tlabel={applyLabel}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tdata-testId={'Apply'}\n\t\t\t\t\tdisabled={shouldDisableApplyButton}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\ncreateCustomElement('now-list-choice-column-filter-content', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\tcolumn: {},\n\t\tcolumnFilteringState: {},\n\t},\n\tinitialState: {\n\t\tchoiceFilterTerm: '',\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: componentBootstrappedEffect,\n\t\t},\n\t\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\t\teffect: handleChoiceFilterInputClear,\n\t\t},\n\t\t[NOW_INPUT_INPUT]: {\n\t\t\teffect: handleChoiceFilterInputInput,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n});\n","import isEmpty from 'lodash/isEmpty';\n\nimport '@servicenow/now-popover';\nimport './popoverCellEditContent/popoverCellEditorContent';\nimport './popoverTextContent/popoverTextContent';\nimport './popoverListContent/popoverListContent';\nimport './popoverCustomContent/popoverCustomContent';\nimport './popoverChoiceColumnFilterContent/popoverChoiceColumnFilterContent';\nimport { CELL_EDIT_POPOVER_TYPE } from '../../../behaviors/cellEditingBehavior/constants';\nimport { CHOICE_COLUMN_FILTER } from '../../../behaviors/popoverBehavior/constants';\nimport popoverSelectors from '../../utils/selectors/popoverSelectors';\n\n/**\n * @param {PopoverDefinition} popoverDefinition\n * @param {TableMetadata} tableMetadata\n * @param {Context | undefined} context\n * @param {string} dir\n * @param {ColumnFilteringState} [columnFilteringState]\n * @returns\n */\nconst getPopoverContentView = (\n\tpopoverDefinition,\n\ttableMetadata,\n\tcontext,\n\tdir,\n\tcolumnFilteringState\n) => {\n\tif (\n\t\tpopoverSelectors.getPopoverType(popoverDefinition) ===\n\t\tCHOICE_COLUMN_FILTER\n\t) {\n\t\treturn (\n\t\t\t<now-list-choice-column-filter-content\n\t\t\t\tslot=\"content\"\n\t\t\t\tcolumn={context?.column}\n\t\t\t\tcolumnFilteringState={columnFilteringState}\n\t\t\t\tpopoverDefinition={popoverDefinition}\n\t\t\t\tconfigAria={{\n\t\t\t\t\tpanel: {\n\t\t\t\t\t\t'aria-label': popoverSelectors.getAriaLabel(\n\t\t\t\t\t\t\tpopoverDefinition\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t} else if (\n\t\tpopoverSelectors.getPopoverType(popoverDefinition) ===\n\t\tCELL_EDIT_POPOVER_TYPE\n\t) {\n\t\treturn (\n\t\t\t<now-list-cell-editor-content\n\t\t\t\tslot=\"content\"\n\t\t\t\tpopoverDefinition={popoverDefinition}\n\t\t\t\tconfigAria={{\n\t\t\t\t\tpanel: {\n\t\t\t\t\t\t'aria-label': popoverSelectors.getAriaLabel(\n\t\t\t\t\t\t\tpopoverDefinition\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t} else if (popoverSelectors.isTextContent(popoverDefinition)) {\n\t\treturn (\n\t\t\t<now-list-popover-text-content\n\t\t\t\tslot=\"content\"\n\t\t\t\tpopoverDefinition={popoverDefinition}\n\t\t\t\tdir={dir}\n\t\t\t/>\n\t\t);\n\t} else if (popoverSelectors.isActionListContent(popoverDefinition)) {\n\t\treturn (\n\t\t\t<now-list-popover-list-content\n\t\t\t\tslot=\"content\"\n\t\t\t\tpopoverDefinition={popoverDefinition}\n\t\t\t\tactionsContext={context}\n\t\t\t/>\n\t\t);\n\t} else if (\n\t\tpopoverSelectors.isCustomContent(popoverDefinition) &&\n\t\tpopoverSelectors.getPopoverType(popoverDefinition) !=\n\t\t\tCELL_EDIT_POPOVER_TYPE\n\t) {\n\t\t// remove and condition when popoverType 'custom' is added in all the popover definitions\n\t\treturn (\n\t\t\t<now-list-popover-custom-content\n\t\t\t\tslot=\"content\"\n\t\t\t\tpopoverDefinition={popoverDefinition}\n\t\t\t\ttableMetadata={tableMetadata}\n\t\t\t\tdir={dir}\n\t\t\t/>\n\t\t);\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/**\n * This is the render function for popover. It will render a now popover with the\n * appropriate content\n * @param {Object} props\n * @param {PopoverState} props.popoverState\n * @param {TableMetadata} props.tableMetadata\n * @param {ColumnFilteringState} [props.columnFilteringState]\n * @param {string} dir\n */\nexport const popover = (props, dir) => {\n\tconst {\n\t\tpopoverState: {\n\t\t\tpopoverOpen,\n\t\t\tpopoverTarget,\n\t\t\tpopoverDefinition,\n\t\t\tcontext,\n\t\t} = {},\n\t\ttableMetadata,\n\t\tcolumnFilteringState,\n\t} = props;\n\n\tif (!popoverDefinition || isEmpty(popoverDefinition) || !popoverOpen) {\n\t\treturn null;\n\t}\n\n\tconst popoverContent = getPopoverContentView(\n\t\tpopoverDefinition,\n\t\ttableMetadata,\n\t\tcontext,\n\t\tdir,\n\t\tcolumnFilteringState\n\t);\n\n\tif (!popoverContent) return null;\n\n\treturn (\n\t\t<now-popover\n\t\t\thide-tail={popoverSelectors.getHideTail(popoverDefinition)}\n\t\t\tinteraction-type={popoverSelectors.getInteractionType(\n\t\t\t\tpopoverDefinition\n\t\t\t)}\n\t\t\tmanage-opened\n\t\t\topened={true}\n\t\t\thook-insert={() => {\n\t\t\t\tpopoverTarget?.classList.add('active-popover-trigger');\n\t\t\t}}\n\t\t\thook-destroy={() => {\n\t\t\t\tpopoverTarget?.classList.remove('active-popover-trigger');\n\t\t\t}}\n\t\t\tpositionTarget={popoverTarget}\n\t\t\tpositions={popoverSelectors.getPositions(popoverDefinition)}\n\t\t\tappendToPayload={{ from: 'now-list' }}\n\t\t\tconfigAria={{\n\t\t\t\tpanel: {\n\t\t\t\t\t'aria-label': popoverSelectors.getAriaLabel(\n\t\t\t\t\t\tpopoverDefinition\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t}}\n\t\t>\n\t\t\t{popoverContent}\n\t\t</now-popover>\n\t);\n};\n","import rowSelectors from '../../../shared/utils/selectors/rowSelectors';\nimport {\n\tSN_LIST_GALLERY_CARD_CLICKED,\n\tSN_LIST_GALLERY_CARD_SELECTED_SET,\n\tSN_LIST_GALLERY_HEADER_ACTION_CLICKED,\n} from '../../constants/actionConstants';\nconst { getRows, getAllRowKeys } = rowSelectors;\n/**\n * This function is responsible for handling the card click event\n * @param {Now.Coeffects<GalleryProps, State>} coeffects\n */\nconst handleCardClicked = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { cardItem: row },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tdispatch(SN_LIST_GALLERY_CARD_CLICKED, { context: { row } });\n};\n\n/**\n * This function is responsible for handling the card selection event\n * @param {Now.Coeffects<GalleryProps, State>} coeffects\n */\nconst handleCardSelection = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { rowKey, rowIndex, checked, enableOnlySingleSelection },\n\t\t},\n\t\tdispatch,\n\t\tproperties: { rowDefinitions },\n\t} = coeffects;\n\n\tconst allCardKeys = getAllRowKeys(getRows(rowDefinitions));\n\n\tdispatch(SN_LIST_GALLERY_CARD_SELECTED_SET, {\n\t\tshiftKey: false,\n\t\tallRowKeys: allCardKeys,\n\t\trowKey,\n\t\tchecked,\n\t\trowIndex,\n\t\tenableOnlySingleSelection,\n\t});\n};\n\n/**\n * This function is responsible for handling the card selection event\n * @param {Now.Coeffects<GalleryProps, State>} coeffects\n */\nconst handleHeaderActionClicked = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: {\n\t\t\t\taction: {\n\t\t\t\t\tid,\n\t\t\t\t\tlabel,\n\t\t\t\t\taction,\n\t\t\t\t\tpayload: { cardIndex, groupIndex },\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tdispatch,\n\t\tstate: {\n\t\t\tcards,\n\t\t\tgroupingState: { isGroupedData },\n\t\t},\n\t} = coeffects;\n\n\tconst targetCard = isGroupedData\n\t\t? cards?.[groupIndex]?.children?.[cardIndex] ?? null\n\t\t: cards?.[cardIndex] ?? null;\n\n\tif (!targetCard) return;\n\n\tconst payload = {\n\t\tactionItem: { id, label, action },\n\t\tcontext: {\n\t\t\tgroupIndex: groupIndex,\n\t\t\trow: targetCard || {},\n\t\t\trows: [targetCard],\n\t\t\trowIndex: cardIndex,\n\t\t\ttypeOfAction: 'rowAction',\n\t\t},\n\t};\n\n\tif (action) {\n\t\tdispatch(action, payload);\n\t}\n\n\tdispatch(SN_LIST_GALLERY_HEADER_ACTION_CLICKED, payload);\n};\n\nconst galleryCardInteractionBehavior = {\n\tname: 'galleryCardInteractionBehavior',\n\n\tactionHandlers: {\n\t\t'NOW_CARD#CLICKED': {\n\t\t\teffect: handleCardClicked,\n\t\t\tstopPropagation: false,\n\t\t},\n\t\t'NOW_CARD#SELECTED_SET': {\n\t\t\teffect: handleCardSelection,\n\t\t\tstopPropagation: false,\n\t\t},\n\t\t'NOW_CARD_HEADER#ACTION_CLICKED': {\n\t\t\teffect: handleHeaderActionClicked,\n\t\t\tstopPropagation: false,\n\t\t},\n\t},\n};\n\nexport default galleryCardInteractionBehavior;\n","import { t } from 'sn-translate';\n\nexport const SN_LIST_GALLERY_VIEW = 'sn-list-gallery';\n\nexport const CLASSNAMES = {\n\tSN_LIST_GALLERY: 'gallery',\n\tSN_LIST_GALLERY_CONTAINER: 'gallery-card-container',\n\tSN_LIST_GALLERY_GROUPED: 'gallery-grouped',\n\tSN_LIST_GALLERY_BODY: 'gallery-card-body',\n\tSN_LIST_GALLERY_BODY_TEXT: 'gallery-card-body-text',\n\tSN_LIST_GALLERY_BODY_FIELDS: 'gallery-card-body-fields',\n\tSN_LIST_GALLERY_FIELD: 'gallery-card-field',\n\tSN_LIST_GALLERY_FIELD_VALUE: 'gallery-card-field-value',\n\tSN_LIST_GALLERY_FIELD_LABEL: 'gallery-card-field-label',\n\tSN_LIST_GALLERY_HEADER_FIELD: 'gallery-card-header-label',\n\tSN_LIST_GALLERY_GROUPED_VIEW: 'gallery-card-grouped-view',\n\tSN_LIST_GALLERY_CARD_METADATA: 'gallery-card-metadata',\n\tSN_LIST_GALLERY_CARD_HIGHLIGHTED_VALUE:\n\t\t'gallery-card-metadata-highlighted-value',\n\tSN_LIST_GALLERY_CARD_DEFAULT_ACTIONS: 'gallery-card-default-actions',\n\tSN_LIST_GALLERY_CARD_EXPAND_ALL_BUTTON: 'gallery-card-expand-all-button',\n\tSN_LIST_GALLERY_NOW_ACCORDION: 'gallery-card-now-accordion',\n};\n\n// Other constants\nexport const CARD_ACTION_ICON_VARIANT = 'tertiary';\nexport const CARD_ACTION_ICON_SIZE_SMALL = 'sm';\nexport const CARD_ACTION_ICON_SIZE_MEDIUM = 'md';\nexport const NOW_BARE_BUTTON_TERTIARY = 'tertiary';\n\nexport const CARD_DROPDOWN_ID = 'custom-card-actions';\nexport const CARD_DROPDOWN_ICON = 'ellipsis-v-outline';\n\nexport const CARD_METADATA_SLOT = 'metadata';\n\nexport const CARD_SIDEBAR_VARIANT = 'primary';\nexport const CARD_SIDEBAR_COLOR = 'gray';\n\nexport const ROW_TYPE_GROUPED = 'grouped';\nexport const NUM_ROW_ACTIONS_THRESHOLD = 2;\n\n// Expand all groups button labels\nexport const GROUPED_EXPAND_ALL_GROUPS = t('Expand all groups');\nexport const GROUPED_COLLAPSE_ALL_GROUPS = t('Collapse all groups');\n\nexport const SCROLL_TO_TOP_LABEL = t('Scroll to top of list');\n\nexport const SN_LIST_GALLERY_CARD_INTERACTIONS = {\n\tNONE: 'none',\n\tCLICK: 'click',\n\tSELECT: 'select',\n};\n","import {\n\tCLASSNAMES,\n\tNUM_ROW_ACTIONS_THRESHOLD,\n} from '../views/layoutConstants';\n\n/**\n * Splits the actions array into dropdowns and actions\n * @param {RowActions} actions - The array of actions.\n * @returns {{ defaultActions: RowActionItem[], dropdownActions: RowActionItem[] }} An object containing the dropdowns and actions arrays.\n * @param {ContextProps} context - The number of action icons to display.\n */\nexport const splitActions = ({ actionsItems, numActionIcons = 2 }, context) => {\n\tif (!actionsItems) {\n\t\treturn {\n\t\t\tdefaultActions: [],\n\t\t\tdropdownActions: [],\n\t\t};\n\t}\n\n\tconst { cardIndex, groupIndex, isMobile } = context;\n\n\tif (isMobile) {\n\t\tnumActionIcons = 0; // Num actions set to 0 for mobile\n\t}\n\n\tconst actionsItemsWithPayload = actionsItems.map((action) => {\n\t\treturn {\n\t\t\t...action,\n\t\t\tpayload: {\n\t\t\t\tcardIndex,\n\t\t\t\tgroupIndex,\n\t\t\t},\n\t\t};\n\t});\n\t// Restrict numActionIcons to 0, 1, or 2; default to 2 if invalid\n\tnumActionIcons =\n\t\tnumActionIcons <= NUM_ROW_ACTIONS_THRESHOLD\n\t\t\t? numActionIcons\n\t\t\t: NUM_ROW_ACTIONS_THRESHOLD;\n\n\t// If actions are more than 3, split them based on numActionIcons\n\tconst defaultActions = actionsItemsWithPayload.slice(0, numActionIcons);\n\tconst dropdownActions = actionsItemsWithPayload.slice(numActionIcons);\n\treturn {\n\t\tdefaultActions,\n\t\tdropdownActions,\n\t};\n};\n\n/**\n * This function returns the card field value by mapping the cell and columns from the field definitions.\n * It also adds the card properties to the field data.\n *\n * @param {GalleryConfig | undefined} galleryConfig - Configuration mapping card fields to column keys.\n * @param {Row} cardItem - Object containing cell data for the row.\n * @param {Record<string, ColumnType>} columnMapping - Mapping of column keys to column definitions.\n * @param {CardProperties} cardProperties - Properties related to the card, such as highlighted content and clickable text.\n * @returns {Record<string, any>} - Processed field data for the card.\n */\nexport function getCardFieldValue(\n\tgalleryConfig,\n\tcardItem,\n\tcolumnMapping,\n\tcardProperties\n) {\n\tconst {\n\t\thighlightedContent = [],\n\t\tclickableTextEnabled,\n\t\tfetchedComponents,\n\t} = cardProperties;\n\tconst { cells = {}, key } = cardItem;\n\t// Destructure options and fields from galleryConfig, with default values\n\tconst { options = {}, fields = {} } = galleryConfig || {};\n\n\t// Common properties to be added to each field\n\tconst commonProps = {\n\t\thighlightedContent,\n\t\tclickableTextEnabled,\n\t\tfetchedComponents,\n\t};\n\n\t// Determine whether to override the label visibility\n\tconst { showLabel = true } = options;\n\tconst overrideLabel =\n\t\t!showLabel && showLabel !== undefined ? { showLabel: false } : {};\n\n\t// This function processes the galleryConfig and returns the processed data for the card fields\n\tconst data = Object.entries(fields).reduce(\n\t\t/**\n\t\t * // TODO: Create a new type Currently  using any because we are using ProcessedColumn type for columnData and it doesn't apply for cards\n\t\t * @param {Record<string, any>} fieldData - Accumulated field data..\n\t\t */\n\t\t(fieldData, [fieldKey, columnData]) => {\n\t\t\t// Handle supplementary fields (array of fields)\n\t\t\tif (fieldKey === 'supplementaryFields') {\n\t\t\t\t// @ts-ignore\n\t\t\t\tfieldData[fieldKey] = (fields['supplementaryFields'] || []).map(\n\t\t\t\t\t/**\n\t\t\t\t\t * @param {{ column: string | number; options: any }} field - Supplementary field definition.\n\t\t\t\t\t * @returns {any} - Processed field data.\n\t\t\t\t\t */\n\t\t\t\t\t(field) => ({\n\t\t\t\t\t\trowKey: key,\n\t\t\t\t\t\tcell: cells[field.column],\n\t\t\t\t\t\tcolumn: columnMapping[field.column],\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t...field.options,\n\t\t\t\t\t\t\t...overrideLabel,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t...commonProps,\n\t\t\t\t\t\tfieldKey,\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// Handle regular fields\n\t\t\t\tfieldData[fieldKey] = {\n\t\t\t\t\trowKey: key,\n\t\t\t\t\tcell: cells[columnData.column],\n\t\t\t\t\tcolumn: columnMapping[columnData.column],\n\t\t\t\t\toptions: {\n\t\t\t\t\t\t...columnData.options,\n\t\t\t\t\t\t...overrideLabel,\n\t\t\t\t\t\tfieldKey,\n\t\t\t\t\t},\n\t\t\t\t\t...commonProps,\n\t\t\t\t\tfieldKey,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn fieldData; // Field Data for the cards with all the special and supplementary fields.\n\t\t},\n\t\t/** @type {Record<string, any>} */ ({})\n\t);\n\n\t// Add global options to the resulting data\n\tdata.options = options;\n\n\treturn data;\n}\n\n/**\n * @param {Now.HostHTMLElement} host\n */\nexport function getGalleryColumnCount(host) {\n\tconst container = host?.shadowRoot?.querySelector(\n\t\t`.${CLASSNAMES.SN_LIST_GALLERY_CONTAINER}`\n\t);\n\tif (!container || !container.children.length) return 0;\n\tconst containerWidth = container.clientWidth;\n\tconst cardWidth = container.children[0]?.clientWidth || containerWidth;\n\treturn Math.floor(containerWidth / cardWidth);\n}\n\n/**\n * Utility to check if default view should be used.\n *\n * @param {GalleryConfig | undefined} config - The user config object.\n * @returns {boolean} - Returns true if fields are missing or empty.\n */\nexport function shouldUseDefaultView(config) {\n\tif (!config) return true;\n\n\tconst fields = config?.fields;\n\n\t// Check if fields object doesn't exist or has no meaningful keys\n\treturn !fields || Object.keys(fields).length === 0;\n}\n","/**\n * Generates a default gallery configuration object.\n * TODO: Move this to column selectors.\n * @param {ColumnType[]} columns - Array of column objects. The first column is assigned to heading, the rest go to supplementary fields.\n * @param {GalleryOptions | undefined} options\n * @returns {GalleryConfig} - Default gallery configuration object.\n */\n\nexport function getGalleryConfig(columns, options) {\n\tconst [headingColumn, ...supplementaryColumns] = columns;\n\n\treturn {\n\t\tfields: {\n\t\t\theading: {\n\t\t\t\tcolumn: headingColumn.key,\n\t\t\t},\n\t\t\ttagline: { column: '' },\n\t\t\tmetadata: { column: '' },\n\t\t\tbodyText: { column: '' },\n\t\t\tsupplementaryFields: supplementaryColumns\n\t\t\t\t.slice(0, 6)\n\t\t\t\t.map(({ key }) => ({\n\t\t\t\t\tcolumn: key,\n\t\t\t\t})),\n\t\t},\n\t\toptions: options || {},\n\t};\n}\n","import { actionTypes } from '@servicenow/ui-core';\n\nimport rowSelectors from '../../../shared/utils/selectors/rowSelectors';\nimport { shouldUseDefaultView } from '../../utils/galleryCardUtils';\nimport { getGalleryConfig } from '../../utils/galleryDefaultConfig';\n\n/**\n * Process the gallery data and update the initial state.\n * @param {Now.Coeffects<GalleryProps, State>} coeffects\n */\nconst processGalleryData = (coeffects) => {\n\tconst { updateState, properties } = coeffects;\n\tconst {\n\t\tcolumnDefinitions,\n\t\trowDefinitions,\n\t\tsharedContext,\n\t\t...restGalleryProperties\n\t} = properties;\n\n\tconst { rowGroupingState, fetchedComponents, dir } = sharedContext;\n\n\tconst { rows, ...restRowDefinitionProps } = rowDefinitions;\n\n\tconst fieldMappings = Object.fromEntries(\n\t\tcolumnDefinitions.columns.map((col) => [col.key, col])\n\t);\n\n\t// Check if the data is grouped or not.\n\tconst isGroupedData = rowSelectors.hasGroupedRows(rowDefinitions);\n\n\tconst { galleryConfig } = columnDefinitions;\n\n\t// Create the gallery state onload.\n\tconst galleryState = {\n\t\tcards: rows,\n\t\tcardProperties: {\n\t\t\tdir,\n\t\t\tfetchedComponents,\n\t\t\t...restRowDefinitionProps,\n\t\t\t...restGalleryProperties,\n\t\t},\n\t\tfieldDefinitions: {\n\t\t\t...columnDefinitions,\n\t\t\tgalleryConfig: shouldUseDefaultView(galleryConfig)\n\t\t\t\t? getGalleryConfig(\n\t\t\t\t\t\tcolumnDefinitions.columns,\n\t\t\t\t\t\tgalleryConfig?.options\n\t\t\t\t  )\n\t\t\t\t: galleryConfig,\n\t\t\tfieldMappings,\n\t\t},\n\t\tgroupingState: {\n\t\t\t...rowGroupingState,\n\t\t\tisGroupedData,\n\t\t},\n\t};\n\n\tupdateState(galleryState);\n};\n\nconst galleryDataBehavior = {\n\tname: 'galleryDataBehavior',\n\n\tactionHandlers: {\n\t\t[actionTypes.COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: processGalleryData,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[actionTypes.COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: processGalleryData,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n\nexport default galleryDataBehavior;\n","export const NOW_DROPDOWN_CUSTOM_TARGET_CLICKED =\n\t'NOW_DROPDOWN_CUSTOM_TARGET#ITEM_CLICKED';\nexport const SN_LIST_GALLERY_GROUP_EXPANDED = 'SN_LIST_GALLERY#GROUP_EXPANDED';\nexport const NOW_ACCORDION_ITEM_EXPANDED_SET =\n\t'NOW_ACCORDION_ITEM#EXPANDED_SET';\nexport const SN_LIST_GALLERY_GROUPS_EXPANDED =\n\t'SN_LIST_GALLERY#GROUPS_EXPANDED';\n","import { GROUP_ACTION_CLICKED } from '../../../resources/constants';\nimport { SN_LIST_GALLERY_GROUPS_EXPANDED } from '../../../shared/behaviors/actionConstants';\nimport {\n\tSN_LIST_GALLERY_CONTEXT_ACTION_CLICKED,\n\tSN_LIST_GALLERY_EXPAND_ALL_GROUPS,\n} from '../../constants/actionConstants';\n\nimport {\n\tNOW_ACCORDION_ITEM_EXPANDED_SET,\n\tNOW_DROPDOWN_CUSTOM_TARGET_CLICKED,\n\tSN_LIST_GALLERY_GROUP_EXPANDED,\n} from './constants';\n\n/**\n * Handles the expand/collapse all groups action.\n * @param {Now.Coeffects<GalleryProps, State>} coeffects\n */\nexport const handleExpandAllGroups = (coeffects) => {\n\tconst { dispatch } = coeffects;\n\n\tdispatch(SN_LIST_GALLERY_GROUPS_EXPANDED);\n};\n\n/**\n * Handles click events on grouped actions (e.g., buttons within a group).\n * @param {Now.Coeffects<GalleryProps, State>} coeffects\n */\nconst handleGroupActionClicked = (coeffects) => {\n\tconst { action, dispatch } = coeffects;\n\tconst { item: actionItem, context } = action.payload;\n\n\tif (actionItem?.action) {\n\t\tdispatch(actionItem.action, { actionItem, context });\n\t}\n\n\tdispatch(SN_LIST_GALLERY_CONTEXT_ACTION_CLICKED, {\n\t\tactionItem,\n\t\tcontext,\n\t});\n};\n\n/**\n * Handles the expand/collapse of a individual group in the gallery view.\n * @param {Coeffects<GalleryProps, State>} coeffects\n */\nconst handleGroupToggle = (coeffects) => {\n\tconst {\n\t\taction: {\n\t\t\tpayload: { groupContext },\n\t\t},\n\t\tdispatch,\n\t} = coeffects;\n\n\tdispatch(SN_LIST_GALLERY_GROUP_EXPANDED, {\n\t\trow: groupContext,\n\t});\n};\n\nexport const galleryGroupedBehavior = {\n\tname: 'galleryGroupedBehavior',\n\n\tactionHandlers: {\n\t\t// Handles Expands or collapse all groups in the gallery view when triggered\n\t\t[SN_LIST_GALLERY_EXPAND_ALL_GROUPS]: {\n\t\t\teffect: handleExpandAllGroups,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t// Handles click events on grouped actions (e.g., buttons within a group)\n\t\t[GROUP_ACTION_CLICKED]: {\n\t\t\teffect: handleGroupActionClicked,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t// Handles click events on custom targets within dropdowns, linking to grouped actions\n\t\t[NOW_DROPDOWN_CUSTOM_TARGET_CLICKED]: {\n\t\t\teffect: handleGroupActionClicked,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t// Handles Internal click events on accordion(HDS) items to expand or collapse groups\n\t\t[NOW_ACCORDION_ITEM_EXPANDED_SET]: {\n\t\t\teffect: handleGroupToggle,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n\nexport default galleryGroupedBehavior;\n","//Keys\nexport const KEY = {\n\tKEY_ENTER: 'Enter',\n\tARROW_UP: 'ArrowUp',\n\tARROW_RIGHT: 'ArrowRight',\n\tARROW_DOWN: 'ArrowDown',\n\tARROW_LEFT: 'ArrowLeft',\n\tUP: 'Up',\n\tRIGHT: 'Right',\n\tDOWN: 'Down',\n\tLEFT: 'Left',\n\tSPACE: ' ',\n\tSPACEBAR: 'Spacebar',\n\tENTER: 'Enter',\n\tTAB: 'Tab',\n};\n// Handled keys for keyboard navigation\nexport const HANDLED_KEYS = [\n\tKEY.SPACE,\n\tKEY.SPACEBAR,\n\tKEY.TAB,\n\tKEY.LEFT,\n\tKEY.ARROW_LEFT,\n\tKEY.RIGHT,\n\tKEY.ARROW_RIGHT,\n\tKEY.ARROW_UP,\n\tKEY.ARROW_DOWN,\n];\n","//Constants for Classes\nexport const GALLERY_KEYBOARD_NAV_BEHAVIOR_NAME = 'galleryKeyboardNavBehavior';\n\n// Behavior Actions\n\nexport const ENTER_GALLERY_ITEM_TRAP = 'ENTER_GALLERY_ITEM_TRAP';\nexport const EXIT_GALLERY_ITEM_TRAP = 'EXIT_GALLERY_ITEM_TRAP';\n\n//Constants for Tag\nexport const NOW_CARD = 'NOW-CARD';\n","import {\n\tfindActiveElement,\n\tshadowQuerySelectorAll,\n} from '@devsnc/sn-list-commons';\nimport get from 'lodash/get';\n\nimport {\n\tGALLERY_KEYBOARD_NAV_BEHAVIOR_NAME,\n\tNOW_CARD,\n} from '../behaviors/galleryKeyboardNavbehavior/constants';\nimport { CLASSNAMES } from '../views/layoutConstants';\n\nexport const getFocusedCardIndex = () => {\n\tconst activeElement = findActiveElement();\n\treturn Number(activeElement.getRootNode().host.dataset.navIndex || 1);\n};\n\n/**\n * @param {Now.HostHTMLElement} host\n */\nexport const getGalleryCardContainer = (host) => {\n\treturn host?.shadowRoot?.querySelector(\n\t\t`.${CLASSNAMES.SN_LIST_GALLERY_CONTAINER}`\n\t);\n};\n\n/**\n * Gets the keyboard nav behavior state from the larger component state object\n * @param  {StateWithProps<Props, State>} state\n */\nexport const getKeyboardNavBehaviourState = (state) =>\n\tget(state, `behaviors.${GALLERY_KEYBOARD_NAV_BEHAVIOR_NAME}`, {});\n\n/**\n * @param  {Array<HTMLElement>} tabbables\n * @param {Number}indexValue\n */\nexport const setTabIndexForTabbables = (tabbables, indexValue) => {\n\tif (tabbables && tabbables.length) {\n\t\tfor (let k = 0; k < tabbables.length; k++) {\n\t\t\ttabbables[k].tabIndex = indexValue;\n\t\t}\n\t}\n};\n\n/**\n * @param {Now.HostHTMLElement} host\n * @param {Array<String>} selector\n */\nexport const getTabbableElements = (host, selector) => {\n\tconst galleryCardContainer = getGalleryCardContainer(host);\n\treturn shadowQuerySelectorAll(galleryCardContainer, selector);\n};\n\n/**\n * Walks up the DOM tree to find the closest <now-card> element,\n * including across shadow DOM boundaries.\n * @param {any} el\n * @returns {HTMLElement | null}\n */\nexport function getFocusedCardElement(el) {\n\twhile (el) {\n\t\t// Check if the current element is a <now-card> element\n\t\tif (el.tagName === NOW_CARD) {\n\t\t\treturn el;\n\t\t}\n\n\t\tif (el.parentNode) {\n\t\t\tel = el.parentNode;\n\t\t} else if (el instanceof ShadowRoot) {\n\t\t\tel = el.host;\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t}\n\treturn null;\n}\n","import {\n\tfindActiveElement,\n\tactivateFocusTrap,\n\tdeactivateFocusTrap,\n\tselector,\n} from '@devsnc/sn-list-commons';\nimport { findTabbableNodes } from '@servicenow/library-enhanced-utils';\nimport get from 'lodash/get';\n\nimport { HANDLED_KEYS, KEY } from '../../../shared/KeyboardContants';\nimport { getGalleryColumnCount } from '../../utils/galleryCardUtils';\nimport {\n\tgetFocusedCardElement,\n\tgetFocusedCardIndex,\n\tgetKeyboardNavBehaviourState,\n\tgetTabbableElements,\n\tsetTabIndexForTabbables,\n} from '../../utils/gallerykeyboardNavigationUtils';\n\nimport {\n\tENTER_GALLERY_ITEM_TRAP,\n\tEXIT_GALLERY_ITEM_TRAP,\n\tGALLERY_KEYBOARD_NAV_BEHAVIOR_NAME,\n} from './constants';\n\n/**\n * @param {String} key\n * @param {Now.Coeffects<GalleryProps, State>} coeffects\n */\nconst handleKeyDown = (key, coeffects) => {\n\tconst { host, state, action, dispatch } = coeffects;\n\tconst event = get(action, 'payload.event', {});\n\tconst { cards } = state;\n\n\tconst { trappedCard } = getKeyboardNavBehaviourState(state);\n\tconst columnCount = getGalleryColumnCount(host) || 0;\n\tconst currentFocusedCardIndex = Number(getFocusedCardIndex());\n\tconst props = {\n\t\tcurrentFocusedCardIndex,\n\t\tcolumnCount,\n\t\ttotalCards: cards.length,\n\t\thost,\n\t\ttrappedCard,\n\t\tdispatch,\n\t\tevent,\n\t};\n\tconst {\n\t\tmoveUp,\n\t\tmoveDown,\n\t\tmoveLeft,\n\t\tmoveRight,\n\t\tdisableTabbingInGalleryContainer,\n\t} = galleryKeyboardNavigator(props);\n\n\tconst isRTL = document.dir === 'rtl';\n\tswitch (key) {\n\t\tcase KEY.SPACE:\n\t\tcase KEY.SPACEBAR:\n\t\t\tif (event.shiftKey) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tdispatch(ENTER_GALLERY_ITEM_TRAP);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase KEY.TAB:\n\t\t\tdisableTabbingInGalleryContainer();\n\t\t\tbreak;\n\t\tcase KEY.LEFT:\n\t\tcase KEY.ARROW_LEFT:\n\t\t\tisRTL ? moveRight() : moveLeft();\n\t\t\tbreak;\n\n\t\tcase KEY.RIGHT:\n\t\tcase KEY.ARROW_RIGHT:\n\t\t\tisRTL ? moveLeft() : moveRight();\n\t\t\tbreak;\n\n\t\tcase KEY.ARROW_UP:\n\t\t\tmoveUp();\n\t\t\tbreak;\n\n\t\tcase KEY.ARROW_DOWN:\n\t\t\tmoveDown();\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n\n/**\n * @param {Object}props\n * @param {Number} props.currentFocusedCardIndex\n * @param {Number} props.columnCount\n * @param {Number} props.totalCards\n * @param {Now.HostHTMLElement} props.host\n * @param {HTMLElement} props.trappedCard\n * @param {Now.Dispatch} props.dispatch\n * @param {*} props.event\n */\nconst galleryKeyboardNavigator = (props) => {\n\tconst {\n\t\tcurrentFocusedCardIndex,\n\t\tcolumnCount,\n\t\ttotalCards,\n\t\thost,\n\t\ttrappedCard,\n\t\tdispatch,\n\t\tevent,\n\t} = props;\n\tconst dispatchExitCardTrap = () => {\n\t\tif (trappedCard) {\n\t\t\tdispatch(EXIT_GALLERY_ITEM_TRAP, { shouldFocus: true });\n\t\t}\n\t};\n\n\tconst moveUp = () => {\n\t\tdispatchExitCardTrap();\n\t\tif (currentFocusedCardIndex - columnCount >= 0) {\n\t\t\tconst nextCardToFocusIndex = currentFocusedCardIndex - columnCount;\n\t\t\tfocusCardByIndex(host, nextCardToFocusIndex);\n\t\t}\n\t};\n\n\tconst moveRight = () => {\n\t\tdispatchExitCardTrap();\n\t\tif (currentFocusedCardIndex < totalCards) {\n\t\t\tconst nextCardToFocusIndex = currentFocusedCardIndex + 1;\n\t\t\tfocusCardByIndex(host, nextCardToFocusIndex);\n\t\t}\n\t};\n\n\tconst moveLeft = () => {\n\t\tdispatchExitCardTrap();\n\t\tif (currentFocusedCardIndex > 0) {\n\t\t\tconst nextCardToFocusIndex = currentFocusedCardIndex - 1;\n\t\t\tfocusCardByIndex(host, nextCardToFocusIndex);\n\t\t}\n\t};\n\n\tconst moveDown = () => {\n\t\tdispatchExitCardTrap();\n\t\tif (currentFocusedCardIndex + columnCount < totalCards + 1) {\n\t\t\tconst nextCardToFocusIndex = currentFocusedCardIndex + columnCount;\n\t\t\tfocusCardByIndex(host, nextCardToFocusIndex);\n\t\t}\n\t};\n\tconst disableTabbingInGalleryContainer = () => {\n\t\tif (!trappedCard) {\n\t\t\tconst currentActiveElement = findActiveElement();\n\t\t\tevent.stopPropagation();\n\t\t\tconst tabbables = getTabbableElements(host, selector);\n\t\t\tsetTabIndexForTabbables(tabbables, -1);\n\t\t\tif (currentActiveElement) {\n\t\t\t\tcurrentActiveElement.tabIndex = 0;\n\t\t\t}\n\t\t}\n\t};\n\treturn {\n\t\tmoveUp,\n\t\tmoveRight,\n\t\tmoveLeft,\n\t\tmoveDown,\n\t\tdisableTabbingInGalleryContainer,\n\t};\n};\n/**\n * @param {Now.Coeffects<GalleryProps, State>} coeffects\n */\nconst handleFocusInEffect = (coeffects) => {\n\tconst { host, action } = coeffects;\n\tconst event = get(action, 'payload.event', {});\n\tevent.stopPropagation();\n\tconst tabbables = getTabbableElements(host, selector);\n\tsetTabIndexForTabbables(tabbables, 0);\n};\n\n/**\n *  Sets focus to that card for the given index\n *\n * @param {Now.HostHTMLElement} host\n * @param {number} cardIndex\n */\nconst focusCardByIndex = (host, cardIndex) => {\n\tconst cardToFocus = host.shadowRoot?.querySelector(\n\t\t`[data-nav-index=\"${cardIndex}\"]`\n\t);\n\tif (cardToFocus instanceof HTMLElement) {\n\t\tcardToFocus.focus();\n\t}\n};\n/**\n * @param {Now.Coeffects<GalleryProps, State>} coeffects\n */\n\nexport const keydownHandlerEffect = (coeffects) => {\n\tconst { action } = coeffects;\n\tconst event = get(action, 'payload.event', {});\n\n\tif (HANDLED_KEYS.includes(event.key)) {\n\t\thandleKeyDown(event.key, coeffects);\n\t}\n};\n\n/**\n * Traps focus to within currently selected cell\n * And applies focus to the specified element\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const enterCardTrapEffect = (coeffects) => {\n\tconst { state, updateState, dispatch } = coeffects;\n\tconst currentActiveElement = findActiveElement();\n\tconst { trappedCard } = getKeyboardNavBehaviourState(state);\n\n\tif (!currentActiveElement) return;\n\tif (trappedCard) {\n\t\tdispatch(EXIT_GALLERY_ITEM_TRAP);\n\t}\n\t/**\n\t * @type {Array<HTMLElement>}\n\t */\n\n\tconst tabbableNodes = findTabbableNodes(\n\t\tgetFocusedCardElement(currentActiveElement)\n\t).filter((/** @type {HTMLElement} */ el) => !el.hasAttribute('disabled'));\n\n\ttabbableNodes.forEach((node) => {\n\t\tnode.tabIndex = 0;\n\t});\n\n\tactivateFocusTrap('card', currentActiveElement, {\n\t\tmoveFocusInsideTrap: true,\n\t\tfirstElement: tabbableNodes[1],\n\t\tlastElement: tabbableNodes[tabbableNodes.length - 1],\n\t});\n\n\tconst nodeToFocus = tabbableNodes[1];\n\n\tnodeToFocus.focus();\n\tupdateState({\n\t\tpath: `behaviors.${GALLERY_KEYBOARD_NAV_BEHAVIOR_NAME}`,\n\t\toperation: 'set',\n\t\tvalue: {\n\t\t\ttrappedCard: getFocusedCardElement(currentActiveElement),\n\t\t},\n\t\tshouldRender: false,\n\t});\n};\n/**\n * Removes focus from within the cell and returns it to the table cell\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const exitCardTrapEffect = (coeffects) => {\n\tconst { state, updateState, action } = coeffects;\n\tconst { trappedCard } = getKeyboardNavBehaviourState(state);\n\tif (!trappedCard) return;\n\n\tconst {\n\t\tpayload: { shouldFocus = true },\n\t} = action;\n\tdeactivateFocusTrap('card');\n\n\tif (shouldFocus) trappedCard.focus();\n\n\tupdateState({\n\t\tpath: `behaviors.${GALLERY_KEYBOARD_NAV_BEHAVIOR_NAME}`,\n\t\toperation: 'set',\n\t\tvalue: {\n\t\t\ttrappedCard: undefined,\n\t\t},\n\t\tshouldRender: false,\n\t});\n};\nexport const galleryKeyboardNavBehavior = {\n\tname: GALLERY_KEYBOARD_NAV_BEHAVIOR_NAME,\n\tinitialState: {\n\t\ttrappedCard: undefined,\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['keydown'],\n\t\t\teffect: keydownHandlerEffect,\n\t\t},\n\t\t{\n\t\t\tevents: ['focusin'],\n\t\t\teffect: handleFocusInEffect,\n\t\t},\n\t],\n\tactionHandlers: {\n\t\t[ENTER_GALLERY_ITEM_TRAP]: {\n\t\t\teffect: enterCardTrapEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[EXIT_GALLERY_ITEM_TRAP]: {\n\t\t\teffect: exitCardTrapEffect,\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n\nexport default galleryKeyboardNavBehavior;\n","export const SN_LIST_GALLERY_VIRTUALIZED_SCROLL_BOTTOM_REACHED =\n\t'SN_LIST_GALLERY#VIRTUALIZED_SCROLL_BOTTOM_REACHED';\nexport const VIRTUAL_PAGE_SIZE = 24;\nexport const INITIAL_VIRTUAL_PAGES = 10;\nexport const VIRTUALIZED_GALLERY_BEHAVIOR = 'virtualizedGalleryBehavior';\nexport const LOAD_NEXT_VIRTUAL_PAGE = 'LOAD_NEXT_VIRTUAL_PAGE';\nexport const LOAD_VIRTUAL_PAGE = 'LOAD_VIRTUAL_PAGE';\nexport const LOAD_CURRENT_VIRTUAL_PAGE = 'LOAD_CURRENT_VIRTUAL_PAGE';\nexport const OBSERVE_VIRTUAL_PAGE = 'OBSERVE_VIRTUAL_PAGE';\nexport const VIRTUAL_PAGE_RESIZED = 'VIRTUAL_PAGE_RESIZED';\nexport const OBSERVE_VIRTUAL_PAGE_FOR_RESIZE =\n\t'OBSERVE_VIRTUAL_PAGE_FOR_RESIZE';\nexport const INITIALIZE_BOTTOM_OBSERVER = 'INITIALIZE_BOTTOM_OBSERVER';\nexport const INITIALIZE_FIRST_PAGE_OBSERVER = 'INITIALIZE_FIRST_PAGE_OBSERVER';\nexport const SCROLL_TO_TOP = 'SCROLL_TO_TOP';\nexport const VIRTUAL_PAGE_ID_ATTRIBUTE = 'data-pageid';\nexport const CARD_SELECTOR = 'now-card';\nexport const GALLERY_VIRTUALIZED_SCROLL_ELEMENT_SELECTOR =\n\t'#gallery-virtualized-scroll-element';\nexport const SET_SCROLL_TO_TOP_BUTTON_VISIBILITY =\n\t'SET_SCROLL_TO_TOP_BUTTON_VISIBILITY';\nexport const INITIAL_VIRTUALIZED_GALLERY_BEHAVIOR_STATE = {\n\tvirtualPageStore: {},\n\tvisibleVirtualPages: [],\n\tvirtualPageDimensions: {},\n\tcardDimensions: {},\n\tisLoadingNextPages: false,\n\tobservedVirtualPageIdForResize: 0,\n\tcurrentViewedPageId: 0,\n\tcustomRow: null,\n\tshowScrollToTopButton: false,\n};\n","import {\n\tLOAD_NEXT_VIRTUAL_PAGE,\n\tLOAD_VIRTUAL_PAGE,\n\tVIRTUAL_PAGE_RESIZED,\n\tVIRTUAL_PAGE_ID_ATTRIBUTE,\n\tSET_SCROLL_TO_TOP_BUTTON_VISIBILITY,\n} from './constants';\n\nexport class VirtualizedGalleryObserver {\n\t/**\n\t * @type {Element | null}\n\t */\n\tobservedVirtualPageForResize = null;\n\t/**\n\t * @type {IntersectionObserver | null}\n\t */\n\tfirstPageObserverRef = null;\n\t/**\n\t * @type {IntersectionObserver | null}\n\t */\n\tbottomObserverRef = null;\n\t/**\n\t * @type {IntersectionObserver | null}\n\t */\n\tvirtualPagesObserverRef = null;\n\t/**\n\t * @type {ResizeObserver | null}\n\t */\n\tresizeObserverRef = null;\n\t/**\n\t * @type {{ [key: number]: Element }}\n\t */\n\tobservedPages = {};\n\t/**\n\t * @type {Map<String, VirtualizedGalleryObserver>}\n\t */\n\tstatic observerMap = new Map();\n\n\t/**\n\t * Deletes the observer associated to the nowId.\n\t * @param {string} nowId\n\t */\n\tstatic destroyObserver(nowId) {\n\t\tconst observer = this.observerMap.get(nowId);\n\t\tif (observer) {\n\t\t\tobserver.destroy();\n\t\t}\n\t\tthis.observerMap.delete(nowId);\n\t}\n\n\t/**\n\t * @param {string} nowId\n\t */\n\tstatic createObserver(nowId) {\n\t\tconst observer = new VirtualizedGalleryObserver();\n\t\tthis.observerMap.set(nowId, observer);\n\t\treturn observer;\n\t}\n\n\t/**\n\t * @param {string} nowId\n\t */\n\tstatic getObserver(nowId) {\n\t\treturn this.observerMap.get(nowId);\n\t}\n\n\tconstructor() {\n\t\tthis.initialize();\n\t}\n\n\tinitialize() {\n\t\tthis.bottomObserverRef = null;\n\t\tthis.virtualPagesObserverRef = null;\n\t\tthis.observedPages = {};\n\t\tthis.observedVirtualPageForResize = null;\n\t\tthis.resizeObserverRef = null;\n\t}\n\n\t/**\n\t * function allows for fn() to be called after the browser has completed style and layout\n\t * @param {function }fn\n\t */\n\texecuteAfterBrowserStyleAndLayout(fn) {\n\t\trequestAnimationFrame(() => {\n\t\t\tfn();\n\t\t});\n\t}\n\n\t/**\n\t * Dispatches load virtual page action with the pageId of the latest virtual page that came into visibility.\n\t * @param {Now.Dispatch} dispatch\n\t */\n\tinitializeVirtualPagesIntersectionObserver(dispatch) {\n\t\tthis.virtualPagesObserverRef = new IntersectionObserver((\n\t\t\t/** @type {IntersectionObserverEntry[]} */ virtualPageEntries\n\t\t) => {\n\t\t\tthis.executeAfterBrowserStyleAndLayout(() => {\n\t\t\t\t// Sort entries by time page intersection recorded\n\t\t\t\tvirtualPageEntries.sort((entry1, entry2) =>\n\t\t\t\t\tentry1.time < entry2.time ? -1 : 1\n\t\t\t\t);\n\t\t\t\twhile (\n\t\t\t\t\tvirtualPageEntries.length &&\n\t\t\t\t\t!virtualPageEntries[virtualPageEntries.length - 1]\n\t\t\t\t\t\t.isIntersecting\n\t\t\t\t) {\n\t\t\t\t\tvirtualPageEntries.pop();\n\t\t\t\t}\n\t\t\t\tconst entry = virtualPageEntries.length\n\t\t\t\t\t? virtualPageEntries.pop()\n\t\t\t\t\t: null;\n\t\t\t\tif (entry) {\n\t\t\t\t\tdispatch(LOAD_VIRTUAL_PAGE, {\n\t\t\t\t\t\tpageId: Number(\n\t\t\t\t\t\t\tentry.target.getAttribute(VIRTUAL_PAGE_ID_ATTRIBUTE)\n\t\t\t\t\t\t),\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Dispatches load next virtual page action to fetch next rows when user scrolls to bottom.\n\t * @param {Element} observedBottomElm\n\t * @param {Now.Dispatch} dispatch\n\t */\n\tinitializeBottomIntersectionObserver(observedBottomElm, dispatch) {\n\t\tif (this.bottomObserverRef || !observedBottomElm) return;\n\t\tthis.bottomObserverRef = new IntersectionObserver((\n\t\t\t/** @type {Array<IntersectionObserverEntry>} */ entries\n\t\t) => {\n\t\t\tthis.executeAfterBrowserStyleAndLayout(() => {\n\t\t\t\tconst entry = entries[0];\n\t\t\t\tif (entry.isIntersecting) {\n\t\t\t\t\tdispatch(LOAD_NEXT_VIRTUAL_PAGE);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\tthis.bottomObserverRef.observe(observedBottomElm);\n\t}\n\n\t/**\n\t * Dispatches resized action when the first visible virtual page gets resized.\n\t * @param {Now.Dispatch} dispatch\n\t */\n\tinitializeResizeObserver(dispatch) {\n\t\tthis.resizeObserverRef = new ResizeObserver((\n\t\t\t/** @type {Array<ResizeObserverEntry>} */ entries\n\t\t) => {\n\t\t\tthis.executeAfterBrowserStyleAndLayout(() => {\n\t\t\t\tentries.forEach((entry) => {\n\t\t\t\t\tif (entry.target === this.observedVirtualPageForResize) {\n\t\t\t\t\t\tdispatch(VIRTUAL_PAGE_RESIZED, {\n\t\t\t\t\t\t\ttarget: entry.target,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Dispatches action to hide/show scroll to top button when first page goes on/off the viewport.\n\t * @param {Element} firstPageElm\n\t * @param {Now.Dispatch} dispatch\n\t */\n\tinitializeFirstPageIntersectionObserver(firstPageElm, dispatch) {\n\t\tif (!firstPageElm) return;\n\n\t\tif (this.firstPageObserverRef) this.firstPageObserverRef.disconnect();\n\n\t\tthis.firstPageObserverRef = new IntersectionObserver((\n\t\t\t/** @type {Array<IntersectionObserverEntry>} */ entries\n\t\t) => {\n\t\t\tthis.executeAfterBrowserStyleAndLayout(() => {\n\t\t\t\tconst entry = entries[0];\n\t\t\t\tdispatch(SET_SCROLL_TO_TOP_BUTTON_VISIBILITY, {\n\t\t\t\t\tisVisible: !entry.isIntersecting,\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t\tthis.firstPageObserverRef.observe(firstPageElm);\n\t}\n\n\t/**\n\t * @param {Number} pageIndex\n\t * @param {Element | null} pageRef\n\t */\n\tobserveVirtualPage(pageIndex, pageRef) {\n\t\tif (!pageRef || this.observedPages[pageIndex] === pageRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.unobserveVirtualPage(this.observedPages[pageIndex]);\n\t\tthis.virtualPagesObserverRef?.observe(pageRef);\n\t\tthis.observedPages[pageIndex] = pageRef;\n\t}\n\n\t/**\n\t * @param {Element} pageRef\n\t */\n\tobserveVirtualPageForResize(pageRef) {\n\t\tif (\n\t\t\t!this.resizeObserverRef ||\n\t\t\t!pageRef ||\n\t\t\tthis.observedVirtualPageForResize === pageRef\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.observedVirtualPageForResize) {\n\t\t\tthis.resizeObserverRef.unobserve(this.observedVirtualPageForResize);\n\t\t}\n\n\t\tthis.observedVirtualPageForResize = pageRef;\n\t\tthis.resizeObserverRef.observe(pageRef);\n\t}\n\n\t/**\n\t * @param {Element} pageRef\n\t */\n\tunobserveVirtualPage(pageRef) {\n\t\tif (!pageRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.virtualPagesObserverRef?.unobserve(pageRef);\n\t}\n\n\tdestroy() {\n\t\tObject.values(this.observedPages).forEach((pageRef) => {\n\t\t\tthis.virtualPagesObserverRef?.unobserve(pageRef);\n\t\t});\n\t\tthis.virtualPagesObserverRef?.disconnect();\n\t\tthis.bottomObserverRef?.disconnect();\n\t\tthis.firstPageObserverRef?.disconnect();\n\t\tthis.resizeObserverRef?.disconnect();\n\t\tthis.initialize();\n\t}\n}\n","import { actionTypes } from '@servicenow/ui-core';\nimport { get } from 'lodash';\nimport isEqual from 'lodash/isEqual';\n\nimport { ROW_TYPE_CUSTOM } from '../../../typeSchemas/rowDefinitions/rowTypes/rowTypes';\n\nimport {\n\tSN_LIST_GALLERY_VIRTUALIZED_SCROLL_BOTTOM_REACHED,\n\tVIRTUAL_PAGE_SIZE,\n\tINITIAL_VIRTUAL_PAGES,\n\tVIRTUALIZED_GALLERY_BEHAVIOR,\n\tLOAD_VIRTUAL_PAGE,\n\tLOAD_CURRENT_VIRTUAL_PAGE,\n\tLOAD_NEXT_VIRTUAL_PAGE,\n\tVIRTUAL_PAGE_RESIZED,\n\tOBSERVE_VIRTUAL_PAGE_FOR_RESIZE,\n\tOBSERVE_VIRTUAL_PAGE,\n\tINITIALIZE_BOTTOM_OBSERVER,\n\tCARD_SELECTOR,\n\tINITIAL_VIRTUALIZED_GALLERY_BEHAVIOR_STATE,\n\tSCROLL_TO_TOP,\n\tINITIALIZE_FIRST_PAGE_OBSERVER,\n\tSET_SCROLL_TO_TOP_BUTTON_VISIBILITY,\n\tGALLERY_VIRTUALIZED_SCROLL_ELEMENT_SELECTOR,\n} from './constants';\nimport { VirtualizedGalleryObserver } from './virtualizationObserver';\n\nconst {\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_PROPERTY_CHANGED,\n} = actionTypes;\n\n/**\n * Get behavior state from component state\n * @param {State} state\n * @returns {VirtualizedGalleryBehaviorState}\n */\nexport const getVirtualizedBehaviorState = (state) =>\n\tstate && state.behaviors\n\t\t? state.behaviors[VIRTUALIZED_GALLERY_BEHAVIOR]\n\t\t: // @ts-ignore\n\t\t  {};\n\n/**\n * @param {Array<Row>} rows\n */\nexport const prepareVirtualPageStore = (rows) => {\n\t/**\n\t * @type VirtualPageStore\n\t */\n\tconst virtualPageStore = {};\n\tlet pageId = 0;\n\tfor (let i = 0; i < rows.length; i += VIRTUAL_PAGE_SIZE) {\n\t\tvirtualPageStore[pageId] = {\n\t\t\tid: pageId,\n\t\t\trowStartIndex: i,\n\t\t\trowEndIndex: Math.min(i + VIRTUAL_PAGE_SIZE, rows.length) - 1,\n\t\t};\n\t\tpageId++;\n\t}\n\treturn virtualPageStore;\n};\n\n/**\n * prepares visible virtual pages based on current viewed pageId\n * @param {number} currentViewedPageId\n * @param {number} pagesCount\n * @param {Array<number>} visibleVirtualPages\n */\nexport const prepareNewVisiblePages = (\n\tcurrentViewedPageId,\n\tpagesCount,\n\tvisibleVirtualPages\n) => {\n\tconst length = visibleVirtualPages.length;\n\tconst offset = Math.floor(length / 2);\n\tlet newVisiblePages = [];\n\n\tif (currentViewedPageId <= offset || pagesCount < length) {\n\t\tnewVisiblePages = Array.from({ length }, (_, i) => i);\n\t} else if (currentViewedPageId >= pagesCount - offset) {\n\t\tnewVisiblePages = Array.from(\n\t\t\t{ length },\n\t\t\t(_, i) => i + pagesCount - length\n\t\t);\n\t} else {\n\t\tconst start = Math.max(0, currentViewedPageId - offset);\n\t\tnewVisiblePages = Array.from({ length }, (_, i) => start + i);\n\t}\n\n\treturn newVisiblePages;\n};\n\n/**\n * Handles loading the page corresponding to the pageId the user has scrolled to.\n * When user is on the last retrieved visible page, load next page is dispatched to fetch next set of records.\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const handleLoadVirtualPage = ({\n\tstate,\n\tdispatch,\n\taction,\n\tupdateState,\n}) => {\n\tconst {\n\t\tvisibleVirtualPages,\n\t\tisLoadingNextPages,\n\t\tvirtualPageStore,\n\t} = getVirtualizedBehaviorState(state);\n\tconst { pageId } = action.payload;\n\tconst pageCount = Object.keys(virtualPageStore).length;\n\tconst isVirtualPageVisible = visibleVirtualPages.indexOf(pageId) > -1;\n\tconst isLastRetrievedPage = pageId === pageCount - 1;\n\n\tupdateState({\n\t\tpath: `behaviors.${VIRTUALIZED_GALLERY_BEHAVIOR}.currentViewedPageId`,\n\t\tvalue: pageId,\n\t\toperation: 'set',\n\t\tshouldRender: false,\n\t});\n\n\tif (isVirtualPageVisible && isLastRetrievedPage && !isLoadingNextPages) {\n\t\tdispatch(LOAD_NEXT_VIRTUAL_PAGE);\n\t} else {\n\t\tdispatch(LOAD_CURRENT_VIRTUAL_PAGE, { pageId });\n\t}\n};\n\n/**\n * Dispatches event to load next set of records when user scrolls to the bottom.\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const handleLoadNextVirtualPage = async (coeffects) => {\n\tconst { state, dispatch, updateState, properties } = coeffects;\n\tconst { isLoadingNextPages } = getVirtualizedBehaviorState(state);\n\n\tif (isLoadingNextPages) return;\n\tconst {\n\t\trowDefinitions: { metadata },\n\t} = properties;\n\tconst listId = get(metadata, 'listId');\n\n\tupdateState([\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_GALLERY_BEHAVIOR}.isLoadingNextPages`,\n\t\t\tvalue: true,\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n\tdispatch(SN_LIST_GALLERY_VIRTUALIZED_SCROLL_BOTTOM_REACHED, { listId });\n};\n\n/**\n * Handles updating of visible pages depending on the pageId the user has scrolled to.\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const handleLoadCurrentVirtualPage = ({\n\tupdateState,\n\tstate,\n\taction,\n}) => {\n\tconst pageId = action.payload.pageId;\n\tconst {\n\t\tvisibleVirtualPages,\n\t\tvirtualPageStore,\n\t} = getVirtualizedBehaviorState(state);\n\tconst pagesCount = Object.keys(virtualPageStore).length;\n\n\tif (!virtualPageStore[pageId]) return;\n\tconst newVisiblePages = prepareNewVisiblePages(\n\t\tpageId,\n\t\tpagesCount,\n\t\tvisibleVirtualPages\n\t);\n\n\tif (newVisiblePages.join(',') === visibleVirtualPages.join(',')) return;\n\tupdateState([\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_GALLERY_BEHAVIOR}.visibleVirtualPages`,\n\t\t\tvalue: newVisiblePages,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\t// Updating to observe new first visible page for resize as earlier one might get removed from the visible pages\n\t\t\tpath: `behaviors.${VIRTUALIZED_GALLERY_BEHAVIOR}.observedVirtualPageIdForResize`,\n\t\t\tvalue: newVisiblePages[0],\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n};\n\n/**\n * Creates page store from the row definitions and initializes visible pages with page IDs to be displayed in the DOM.\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const handleComponentBootstrapped = (coeffects) => {\n\tconst { updateState, properties, dispatch } = coeffects;\n\tconst { rowDefinitions, virtualizedScrollEnabled } = properties;\n\n\tif (!rowDefinitions || !rowDefinitions.rows || !virtualizedScrollEnabled)\n\t\treturn;\n\n\tconst rows = [...rowDefinitions.rows];\n\tlet customRow = null;\n\tif (rows.length && rows[rows.length - 1].type === ROW_TYPE_CUSTOM) {\n\t\tcustomRow = rows.pop();\n\t}\n\n\tconst virtualPageStore = prepareVirtualPageStore(rows);\n\tconst initialVisiblePages = Array.from(\n\t\t{ length: INITIAL_VIRTUAL_PAGES },\n\t\t(_, i) => i\n\t);\n\n\tlet observer = VirtualizedGalleryObserver.getObserver(coeffects.host.nowId);\n\tif (!observer) {\n\t\tobserver = VirtualizedGalleryObserver.createObserver(\n\t\t\tcoeffects.host.nowId\n\t\t);\n\t\tobserver.initializeVirtualPagesIntersectionObserver(dispatch);\n\t\tobserver.initializeResizeObserver(dispatch);\n\t}\n\n\tupdateState([\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_GALLERY_BEHAVIOR}.virtualPageStore`,\n\t\t\tvalue: virtualPageStore,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_GALLERY_BEHAVIOR}.visibleVirtualPages`,\n\t\t\tvalue: initialVisiblePages,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_GALLERY_BEHAVIOR}.customRow`,\n\t\t\tvalue: customRow,\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n};\n\n/**\n * Updates existing page store with newly fetched rows and visible pages based on the current viewed page by the user.\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const handleComponentPropertyChanged = (coeffects) => {\n\tconst { state, updateState, action, properties } = coeffects;\n\tconst { name, value, previousValue } = action.payload;\n\n\tif (\n\t\t!properties.virtualizedScrollEnabled ||\n\t\tname !== 'rowDefinitions' ||\n\t\t!value ||\n\t\t!value.rows ||\n\t\tisEqual(value, previousValue)\n\t)\n\t\treturn;\n\n\tconst {\n\t\tvisibleVirtualPages,\n\t\tcurrentViewedPageId,\n\t} = getVirtualizedBehaviorState(state);\n\tconst rows = [...value.rows];\n\tlet customRow = null;\n\tif (rows.length && rows[rows.length - 1].type === ROW_TYPE_CUSTOM) {\n\t\tcustomRow = rows.pop();\n\t}\n\n\tconst virtualPageStore = prepareVirtualPageStore(rows);\n\tconst newVisiblePages = prepareNewVisiblePages(\n\t\tcurrentViewedPageId,\n\t\tObject.keys(virtualPageStore).length,\n\t\tvisibleVirtualPages\n\t);\n\n\tupdateState([\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_GALLERY_BEHAVIOR}.virtualPageStore`,\n\t\t\tvalue: virtualPageStore,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_GALLERY_BEHAVIOR}.visibleVirtualPages`,\n\t\t\tvalue: newVisiblePages,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_GALLERY_BEHAVIOR}.isLoadingNextPages`,\n\t\t\tvalue: false,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_GALLERY_BEHAVIOR}.customRow`,\n\t\t\tvalue: customRow,\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_GALLERY_BEHAVIOR}.observedVirtualPageIdForResize`,\n\t\t\tvalue: newVisiblePages[0],\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n};\n\n/**\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const handleComponentDisconnected = ({ host }) => {\n\tVirtualizedGalleryObserver.destroyObserver(host.nowId);\n};\n\n/**\n * Updates page and card dimensions when the visible virtual page gets resized.\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const handleVirtualPageResized = (coeffects) => {\n\tconst { state, action, updateState } = coeffects;\n\tconst { target } = action.payload;\n\tconst virtualPageHeight = target.clientHeight;\n\tconst virtualPageWidth = target.clientWidth;\n\tconst card = target.querySelector(CARD_SELECTOR);\n\tif (!card) return;\n\n\tconst cardHeight = card.clientHeight;\n\tconst cardWidth = card.clientWidth;\n\tconst { virtualPageDimensions } = getVirtualizedBehaviorState(state);\n\n\tif (virtualPageDimensions?.pageHeight === virtualPageHeight) return;\n\n\tupdateState([\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_GALLERY_BEHAVIOR}.virtualPageDimensions`,\n\t\t\tvalue: {\n\t\t\t\tpageHeight: virtualPageHeight,\n\t\t\t\tpageWidth: virtualPageWidth,\n\t\t\t},\n\t\t\toperation: 'set',\n\t\t},\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_GALLERY_BEHAVIOR}.cardDimensions`,\n\t\t\tvalue: {\n\t\t\t\tcardHeight,\n\t\t\t\tcardWidth,\n\t\t\t},\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n};\n\n/**\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const handleObserveVirtualPage = (coeffects) => {\n\tconst { action, host } = coeffects;\n\tconst { pageElm, pageId } = action.payload;\n\n\tconst observer = VirtualizedGalleryObserver.getObserver(host.nowId);\n\tif (!observer) return;\n\tobserver.observeVirtualPage(pageId, pageElm);\n\tif (observer.observedVirtualPageForResize == null) {\n\t\thandleObserveVirtualPageForResize(coeffects);\n\t}\n};\n\n/**\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const handleObserveVirtualPageForResize = (coeffects) => {\n\tconst { action, host } = coeffects;\n\tconst { pageElm } = action.payload;\n\tconst observer = VirtualizedGalleryObserver.getObserver(host.nowId);\n\tif (!observer) return;\n\tobserver.observeVirtualPageForResize(pageElm);\n};\n\n/**\n * @param {Now.Coeffects<Props, State>} coeffects\n */\nexport const handleInitializeBottomObserver = (coeffects) => {\n\tconst { dispatch, action } = coeffects;\n\tconst observer = VirtualizedGalleryObserver.getObserver(\n\t\tcoeffects.host.nowId\n\t);\n\tif (!observer) return;\n\tobserver.initializeBottomIntersectionObserver(\n\t\taction.payload.observedBottomElm,\n\t\tdispatch\n\t);\n};\n\n/**\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleInitializeFirstPageObserver = (coeffects) => {\n\tconst { dispatch, action } = coeffects;\n\tconst observer = VirtualizedGalleryObserver.getObserver(\n\t\tcoeffects.host.nowId\n\t);\n\tif (!observer) return;\n\tobserver.initializeFirstPageIntersectionObserver(\n\t\taction.payload.pageElm,\n\t\tdispatch\n\t);\n};\n\n/**\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleScrollToTop = (coeffects) => {\n\tconst { host } = coeffects;\n\tconst scrollElement = host.shadowRoot?.querySelector(\n\t\tGALLERY_VIRTUALIZED_SCROLL_ELEMENT_SELECTOR\n\t);\n\n\tif (scrollElement) {\n\t\tscrollElement.scrollIntoView({ behavior: 'smooth', block: 'end' });\n\t}\n};\n\n/**\n * @param {Coeffects<Props, State>} coeffects\n */\nexport const handleScrollToTopButtonVisibility = ({ updateState, action }) => {\n\tupdateState([\n\t\t{\n\t\t\tpath: `behaviors.${VIRTUALIZED_GALLERY_BEHAVIOR}.showScrollToTopButton`,\n\t\t\tvalue: action.payload.isVisible,\n\t\t\toperation: 'set',\n\t\t},\n\t]);\n};\n\nexport const virtualizedGalleryBehavior = {\n\tname: VIRTUALIZED_GALLERY_BEHAVIOR,\n\tinitialState: INITIAL_VIRTUALIZED_GALLERY_BEHAVIOR_STATE,\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t\teffect: handleComponentBootstrapped,\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect: handleComponentPropertyChanged,\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: {\n\t\t\teffect: handleComponentDisconnected,\n\t\t},\n\t\t[LOAD_NEXT_VIRTUAL_PAGE]: {\n\t\t\teffect: handleLoadNextVirtualPage,\n\t\t},\n\t\t[LOAD_CURRENT_VIRTUAL_PAGE]: {\n\t\t\teffect: handleLoadCurrentVirtualPage,\n\t\t},\n\t\t[LOAD_VIRTUAL_PAGE]: {\n\t\t\teffect: handleLoadVirtualPage,\n\t\t},\n\t\t[OBSERVE_VIRTUAL_PAGE]: {\n\t\t\teffect: handleObserveVirtualPage,\n\t\t},\n\t\t[VIRTUAL_PAGE_RESIZED]: {\n\t\t\teffect: handleVirtualPageResized,\n\t\t},\n\t\t[OBSERVE_VIRTUAL_PAGE_FOR_RESIZE]: {\n\t\t\teffect: handleObserveVirtualPageForResize,\n\t\t},\n\t\t[INITIALIZE_FIRST_PAGE_OBSERVER]: {\n\t\t\teffect: handleInitializeFirstPageObserver,\n\t\t},\n\t\t[INITIALIZE_BOTTOM_OBSERVER]: {\n\t\t\teffect: handleInitializeBottomObserver,\n\t\t},\n\t\t[SCROLL_TO_TOP]: {\n\t\t\teffect: handleScrollToTop,\n\t\t},\n\t\t[SET_SCROLL_TO_TOP_BUTTON_VISIBILITY]: {\n\t\t\teffect: handleScrollToTopButtonVisibility,\n\t\t},\n\t},\n};\n","import { columnDefinitionsSchema } from '../typeSchemas/columnDefinitions/columnDefinitions';\nimport { rowDefinitionsSchema } from '../typeSchemas/rowDefinitions/rowDefinitions';\n\nexport const galleryViewPropsDefinition = {\n\t/**\n\t * @description Contains data and metadata to populate and render all columns in the gallery\n\t * @public\n\t * @type {object}\n\t */\n\tcolumnDefinitions: {\n\t\tschema: columnDefinitionsSchema,\n\t\trequired: true,\n\t},\n\t/**\n\t * @description Contains data and metadata to populate and render all cards in the gallery\n\t * @public\n\t * @type {object}\n\t */\n\trowDefinitions: {\n\t\tschema: rowDefinitionsSchema,\n\t},\n\t/**\n\t * @description When true, expands all groups in table\n\t * @public\n\t * @type {object}\n\t */\n\texpandAllGroups: {\n\t\tdefault: false,\n\t\ttype: 'boolean',\n\t},\n\t/**\n\t * @description Feature flag for allowing links, urls, and person type fields to have highlighted text. When false, they are rendered as text\n\t * @public\n\t * @type {object}\n\t */\n\tclickableTextEnabled: {\n\t\tdefault: false,\n\t\ttype: 'boolean',\n\t},\n\t/**\n\t * @description Contains Shared State data that is passed from the parent now-list\n\t * @public\n\t * @type {object}\n\t */\n\tsharedContext: {\n\t\tdefault: {},\n\t\ttype: 'object',\n\t},\n\t/**\n\t * @description Feature flag that enables virtualized scrolling for the list\n\t * @private\n\t * @type {object}\n\t */\n\tvirtualizedScrollEnabled: {\n\t\tdefault: false,\n\t},\n\t/**\n\t * @description Enables card selection on all cards. When true, can be disabled on a card-by-card basis.\n\t * @public\n\t * @type {object}\n\t */\n\tselectionEnabled: {\n\t\tdefault: true,\n\t\ttype: 'boolean',\n\t},\n};\n","import { actionableMessageKey } from '../../../behaviors/actionableMessageBehavior/constants';\nimport rowSelectors from '../../../shared/utils/selectors/rowSelectors';\nimport {\n\tACTIONABLE_MESSAGE_BUTTON_CLASS,\n\tACTIONABLE_MESSAGE_ICON_SIZE,\n} from '../../../shared/views/actionableMessage/constants';\n\nconst { getActionableMessageIcon, getActionableMessageStatus } = rowSelectors;\n\n/**\n * @param {ActionableMessage} actionableMessage\n * @param {string} location\n */\nexport const renderActionableMessage = (actionableMessage, location) => {\n\tconst { text, action } = actionableMessage || {};\n\t// added place holder div here because if we return null and fill up with message later, snabbdom is triggering a reflow\n\tif (!actionableMessage || (action && (!action.action || !action.label))) {\n\t\treturn <div className=\"actionable-message-place-holder\"></div>;\n\t}\n\tconst status = getActionableMessageStatus(actionableMessage);\n\tconst icon = getActionableMessageIcon(actionableMessage);\n\treturn (\n\t\t<div\n\t\t\tclassName={`actionable-message actionable-message-${location}`}\n\t\t\tdata-testId={`actionable-message-${location}`}\n\t\t>\n\t\t\t<div className={`actionable-message-content ${status}`}>\n\t\t\t\t<now-icon\n\t\t\t\t\tclassName=\"actionable-message-icon\"\n\t\t\t\t\tsize={ACTIONABLE_MESSAGE_ICON_SIZE}\n\t\t\t\t\ticon={icon}\n\t\t\t\t/>\n\t\t\t\t<div className=\"actionable-message-label-group\">\n\t\t\t\t\t{text ? (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"actionable-message-text\"\n\t\t\t\t\t\t\tdata-tooltip={text}\n\t\t\t\t\t\t\tdata-truncation\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{text}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{action ? (\n\t\t\t\t\t\t<div className=\"actionable-message-action\">\n\t\t\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\t\t\thideBlockPadding\n\t\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\t\t'aria-label': action.label,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tclassName={ACTIONABLE_MESSAGE_BUTTON_CLASS}\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tlabel={action.label}\n\t\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\t\tkey: actionableMessageKey,\n\t\t\t\t\t\t\t\t\taction: action.action,\n\t\t\t\t\t\t\t\t\tlocation,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n","import {\n\tTOOLTIP_ADD_TARGET,\n\tTOOLTIP_REMOVE_TARGET,\n\tTOOLTIP_SHOW,\n\tTOOLTIP_HIDE,\n} from '@servicenow/behavior-tooltip';\n\nimport {\n\tROW_CELL_CLASS,\n\tCELL_CONTENT_CLASS,\n} from '../views/table/tableBody/tableRow/rowCell/rowCellConstants';\n\n/**\n * This util adds a tooltip anywhere on now-list. The target elm must have a data-tooltip attribute.\n * @param {*} dispatch seismic dispatch\n */\nexport default function getTooltip(dispatch) {\n\treturn {\n\t\t'hook-insert': (/** @type {*} */ { elm }) => {\n\t\t\tdispatch(TOOLTIP_ADD_TARGET, { target: elm });\n\t\t},\n\t\t'hook-destroy': (/** @type {*} */ { elm }) => {\n\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, { target: elm });\n\t\t},\n\t};\n}\n\n/**\n *  @param {HTMLTableCellElement} cell\n *  @returns {HTMLElement|null}\n */\nconst getCellContentElement = (cell) => {\n\treturn cell.querySelector(`.${CELL_CONTENT_CLASS}`);\n};\n\n/**\n *  @param {HTMLElement} target\n *  @returns {boolean}\n */\nconst isCellElement = (target) => {\n\treturn (\n\t\ttarget?.nodeName === 'TD' && target?.classList.contains(ROW_CELL_CLASS)\n\t);\n};\n\n/**\n *  @param {HTMLElement} target\n *  @returns {boolean|undefined}\n */\nconst isFakeIcon = (target) => {\n\treturn (\n\t\ttarget.tagName === 'svg' &&\n\t\ttarget.parentElement?.classList?.contains('html-icon')\n\t);\n};\n/**\n * Dispatches TOOLTIP_SHOW (from tooltip behavior) if the cell/cell-content has tooltip and is truncated\n * @param {*} dispatch\n * @param {*} event\n */\nexport const handleShowTooltip = (dispatch, { target }) => {\n\tif (!target) return;\n\tlet tooltip = target?.dataset.tooltip;\n\tif (!tooltip && isFakeIcon(target)) {\n\t\ttooltip = target.parentElement?.parentElement?.dataset?.tooltip;\n\t\tif (tooltip) {\n\t\t\tdispatch(TOOLTIP_SHOW, {\n\t\t\t\ttarget: target.parentElement?.parentElement,\n\t\t\t});\n\t\t}\n\t\treturn;\n\t}\n\tif (!tooltip) return;\n\t// in case of url the cell hover shows tooltip for content\n\tconst isCell = isCellElement(target);\n\tlet cellContentElement = null;\n\tif (isCell) {\n\t\tcellContentElement = getCellContentElement(target);\n\t}\n\tconst isCellContent = target.classList.contains(CELL_CONTENT_CLASS);\n\tif (isCellContent || isCell) {\n\t\t/**\n\t\t * for cell and cell content we check if it is overflowing (truncated)\n\t\t * for elements like icons in rowActionscell type we do not check\n\t\t */\n\t\tif (\n\t\t\tisOverflowing(cellContentElement || target) ||\n\t\t\ttarget.dataset.truncated\n\t\t) {\n\t\t\tdispatch(TOOLTIP_SHOW, { target });\n\t\t}\n\t} else {\n\t\t// for Icons like rowActionscell\n\t\tdispatch(TOOLTIP_SHOW, { target });\n\t}\n};\n\n/**\n * @param {*} dispatch\n * @param {*} event\n */\nexport const handleShowTooltipOnFocus = (dispatch, { target }) => {\n\tconst isCell = isCellElement(target);\n\tlet tooltip = target?.dataset.tooltip;\n\t// when cell is focused we show content tooltip if cell does not have one\n\tif (isCell && !tooltip) {\n\t\ttarget = getCellContentElement(target);\n\t\ttooltip = target?.dataset.tooltip;\n\t}\n\tif (!target || !tooltip) return;\n\thandleShowTooltip(dispatch, { target });\n};\n\n/**\n * @param {*} dispatch\n * @param {*} event\n */\nexport const handleRemoveTooltip = (dispatch, { target }) => {\n\tlet tooltip = target?.dataset.tooltip;\n\tif (!tooltip && isFakeIcon(target)) {\n\t\ttooltip = target.parentElement?.parentElement?.dataset?.tooltip;\n\t\tif (tooltip) {\n\t\t\ttarget = target.parentElement?.parentElement;\n\t\t}\n\t}\n\tif (isCellElement(target) && !tooltip) {\n\t\t// if tooltip is not present on cell then it is on cellContent\n\t\ttarget = getCellContentElement(target);\n\t}\n\tdispatch(TOOLTIP_HIDE, { target });\n};\n\n/**\n * checks if the text is truncated in an element,\n * if the text is overflowing as per the css it shows ellipsis when we have overflow:ellipsis\n * @param {HTMLElement} elem\n * @returns {boolean}\n */\nexport const isOverflowing = (elem) => {\n\tconst { offsetHeight, scrollHeight, offsetWidth, scrollWidth } = elem;\n\treturn offsetHeight < scrollHeight || offsetWidth < scrollWidth;\n};\n\n/**\n * Returns tooltip-related attributes as props.\n *\n * @param {string} text - The tooltip text.\n * @param {Function} dispatch - The event dispatch function.\n * @returns {Object} The props object.\n */\nexport function getTooltipProps(text, dispatch) {\n\treturn {\n\t\t'data-tooltip': text,\n\t\t'aria-label': text,\n\t\t...getTooltip(dispatch),\n\t};\n}\n","export const isMobile = () => {\n\tconst mobileRegex = /Android|webOS|iPhone|iPad|iPod|BlackBerry|Windows Phone/i;\n\treturn mobileRegex.test(navigator.userAgent);\n};\n","const FIELDS_WITH_ELLIPSIS = ['heading', 'tagline', 'metadata'];\n/**\n * Returns an inline style object with text overflow ellipsis styles if the flag is true.\n *\n * @param {string} fieldKey - field key represent the type of the gallery field.\n * @returns {Object} Inline style object.\n * TODO: Make field key util handle the layout Type\n * fieldKey is only available for Card View and we will be utilizing Layout values once we change to grid\n */\nexport const isGalleryFieldWithEllipsis = (fieldKey) => ({\n\t...(FIELDS_WITH_ELLIPSIS.indexOf(fieldKey) > -1 && {\n\t\twhiteSpace: 'nowrap',\n\t\toverflow: 'hidden',\n\t\ttextOverflow: 'ellipsis',\n\t\twidth: '100%',\n\t}),\n});\n","import {\n\tRECENTLY_UPDATED_ROWS_ICON_NAME,\n\tRECENTLY_UPDATED_ROWS_ICON_SIZE,\n} from '../table/tableBody/tableRow/rowCell/rowCellConstants';\n\nimport { getFakeNowIcon, iconIsCached } from './fakeNowIcon';\n\nexport const renderLiveListEyelashIcon = () => {\n\treturn (\n\t\t<div className=\"live-list-eyelash\">\n\t\t\t{iconIsCached(\n\t\t\t\tRECENTLY_UPDATED_ROWS_ICON_NAME,\n\t\t\t\tRECENTLY_UPDATED_ROWS_ICON_SIZE\n\t\t\t) ? (\n\t\t\t\tgetFakeNowIcon(\n\t\t\t\t\tRECENTLY_UPDATED_ROWS_ICON_NAME,\n\t\t\t\t\tRECENTLY_UPDATED_ROWS_ICON_SIZE\n\t\t\t\t)\n\t\t\t) : (\n\t\t\t\t<now-icon\n\t\t\t\t\ticon={RECENTLY_UPDATED_ROWS_ICON_NAME}\n\t\t\t\t\tsize={RECENTLY_UPDATED_ROWS_ICON_SIZE}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n","import { t } from 'sn-translate';\n\nexport const EMPTY_DISPLAY_LABEL = t('None');\n\nexport const DEFAULT_VARIANT = 'tertiary';\nexport const DEFAULT_COLOR = 'positive';\n","import { dangerouslyCreateElementFromString } from '@servicenow/ui-renderer-snabbdom';\nimport classNames from 'classnames';\nimport round from 'lodash/round';\nimport toString from 'lodash/toString';\nimport truncate from 'lodash/truncate';\n\nimport { KEY } from '../../../behaviors/keyboardNavBehavior/constants';\nimport { NOW_LIST_CELL_LINK_CLICKED } from '../../../behaviors/linkBehavior/constants';\nimport cellSelectors from '../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../utils/selectors/columnSelectors';\nimport { isGalleryFieldWithEllipsis } from '../../utils/truncationUtils';\nimport { renderLiveListEyelashIcon } from '../shared/cellIconContent';\n\nimport {\n\tDEFAULT_COLOR,\n\tDEFAULT_VARIANT,\n\tEMPTY_DISPLAY_LABEL,\n} from './fieldContentConstants';\nimport {\n\tNUMBER_FORMAT_LONG_INT,\n\tNUMBER_FORMAT_PERCENT,\n} from './number/constants';\n\nconst { getDisabled: getCellDisabled, getValue, getHref } = cellSelectors;\nconst {\n\tgetDecimalPlaces,\n\tgetDisabled: getColumnDisabled,\n\tgetNumberFormat,\n\tgetMaxCharacters,\n\tgetNumberLocale,\n\tgetNumberFormatter,\n\trenderAsLink,\n\tgetColumnKey,\n} = columnSelectors;\n\n/**\n * Checks whether the given value is undefined, null or empty string\n * @param {string | number | boolean | null} value\n */\nexport const isNonEmpty = (value) => {\n\treturn typeof value === 'string' ? value.trim() !== '' : value != null;\n};\n\n/**\n *\n * @param {PillType[]} values\n * @param {number} maxPillLimit\n * @returns string\n */\nexport const getHiddenPillsTooltip = (values, maxPillLimit) => {\n\tconst label = values\n\t\t.slice(maxPillLimit, values.length)\n\t\t.map((pill) => pill.label.trim())\n\t\t.join(', ');\n\treturn label;\n};\n\n/**\n * gets data props for tooltip, truncation based on maxCharacters\n * @param {string} tooltip\n * @param {boolean} isTruncated\n * @returns {*}\n */\nexport const getTooltipDataProps = (tooltip, isTruncated) => {\n\tif (!tooltip) return {};\n\treturn {\n\t\t'data-tooltip': tooltip,\n\t\t'data-truncated': isTruncated || undefined,\n\t};\n};\n\n/**\n * returns highlighted text matched with given pattern\n * @param {Array<string>} highlightedContentPatterns array of patterns to be highlighted\n * @param {string} displayValue a string representing cell's displayValue\n */\nexport const getHighlightedText = (\n\thighlightedContentPatterns,\n\tdisplayValue\n) => {\n\tconst patterns = highlightedContentPatterns.filter(\n\t\t(pattern) => pattern?.length\n\t);\n\tlet markedDisplayContent = displayValue;\n\n\tif (patterns.length === 0 || markedDisplayContent == null)\n\t\treturn { highlightedElement: markedDisplayContent };\n\n\tconst patternWords = patterns.sort((a, b) => b.length - a.length).join('|');\n\n\tconst escapedPatternWords = patternWords.replace(\n\t\t/[*+?^${}()[\\]\\\\]/g,\n\t\t'\\\\$&'\n\t);\n\n\tconst highlightRegex = new RegExp(escapedPatternWords, 'gi');\n\n\t/**\n\t * wraps the matched string in the mark tag\n\t *  @param {string} match\n\t */\n\tconst patternReplacer = (match) =>\n\t\t`<mark class=\"highlighted-content\">${match}</mark>`;\n\n\tmarkedDisplayContent = markedDisplayContent.replace(\n\t\thighlightRegex,\n\t\tpatternReplacer\n\t);\n\n\treturn {\n\t\thighlightedElement: dangerouslyCreateElementFromString(\n\t\t\t`<span data-truncationignoretabindex data-truncation>${markedDisplayContent}</span>`\n\t\t),\n\t};\n};\n\n/**\n * Renders the highlightedValue of the cell using now-highlighted-value\n *\n * @param {HighlightedValue} props representing the highlighted value config\n * @param {string} displayValue\n */\nexport const highlightedValueCell = (props, displayValue) => {\n\tconst { value, color, variant, showIcon, status, iconName } = props;\n\n\treturn value ? (\n\t\t<div className=\"cell-content\">\n\t\t\t<now-highlighted-value\n\t\t\t\tlabel={value}\n\t\t\t\tstatus={!color ? status : null}\n\t\t\t\tshowIcon={showIcon}\n\t\t\t\tvariant={variant ? variant : DEFAULT_VARIANT}\n\t\t\t\tcolor={color ? color : DEFAULT_COLOR}\n\t\t\t\tdata-tooltip={displayValue}\n\t\t\t\ticon={iconName}\n\t\t\t/>\n\t\t</div>\n\t) : null;\n};\n\n/**\n * Currently highlightedValues does not support link, so if we have both highlightedValue and renderAsLink true,\n * we will be rendering the link instead of highlightedValue\n * @param {ProcessedColumn} column an object representing this cell's parent column\n * @param {Boolean | undefined} isHighlightedValue representing the highlighted value config\n */\nexport const shouldRenderHighlightedValue = (column, isHighlightedValue) => {\n\treturn isHighlightedValue && !renderAsLink(column);\n};\n\n/**\n * returns boolean whether clickable text in the cell should be disabled or not.\n *\n * @param {boolean | undefined} clickableTextEnabled prop representing click is enabled or not.\n * @param {LinkCellType} cell an object representing this cell\n * @param {ProcessedColumn} column an object representing this cell's parent column\n * @returns {boolean}\n *\n */\nexport const getDisabled = (clickableTextEnabled, column, cell) => {\n\treturn (\n\t\t(renderAsLink(column) && !clickableTextEnabled) ||\n\t\t(getColumnDisabled(column)\n\t\t\t? getColumnDisabled(column)\n\t\t\t: getColumnDisabled(column) || getCellDisabled(cell))\n\t);\n};\n\n/**\n * Stringifies and formats the cell value\n *\n * @param {string} value object representing this cell\n * @param {ProcessedColumn} column an object representing this cell's parent column\n */\nexport const getFormatedNumberLabel = (value, column) => {\n\tvalue = round(value, getDecimalPlaces(column));\n\tlet label = toString(value);\n\tif (getNumberFormat(column) !== NUMBER_FORMAT_LONG_INT) {\n\t\tconst numberFormatter = getNumberFormatter(getNumberLocale(column));\n\t\tlabel = numberFormatter.format(value);\n\t}\n\tconst maxCharacters = getMaxCharacters(column);\n\tlet truncatedLabel = label;\n\tif (getNumberFormat(column) === NUMBER_FORMAT_PERCENT) {\n\t\ttruncatedLabel = truncate(label, { length: maxCharacters - 1 });\n\t\ttruncatedLabel += '%';\n\t} else {\n\t\ttruncatedLabel = truncate(label, { length: maxCharacters });\n\t}\n\treturn truncatedLabel;\n};\n\n/**\n * This subview renders the content of an actionable link cell\n *\n * @param {Object} props\n * @param {CellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {Array<string>} props.highlightedContent array of patterns to be highlighted\n * @param {Row} props.row an object representing this cell's parent row\n * @param {string} [props.clickEventName]\n * @param {string} [props.fieldKey]\n * @param {*} dispatch seismic dispatch\n * @param {boolean} shouldRenderRecentlyUpdatedIcon renders eyelash if child row was recently updated\n * @param {Object} labelProps can be passed from other cell types when renderAsLink true\n * @param {string} labelProps.displayLabel\n * @param {string} labelProps.toolTipLabel\n * @param {boolean} labelProps.isTruncated\n * @param {string} labelProps.className\n */\nexport const getLinkCell = (\n\tprops,\n\tdispatch,\n\tshouldRenderRecentlyUpdatedIcon,\n\tlabelProps = {\n\t\tdisplayLabel: '',\n\t\ttoolTipLabel: '',\n\t\tisTruncated: false,\n\t\tclassName: '',\n\t}\n) => {\n\tconst { cell, column, clickableTextEnabled, row, fieldKey } = props;\n\tconst value = getValue(cell);\n\tconst href = getHref(cell);\n\tconst { displayLabel, toolTipLabel, isTruncated, className } = labelProps;\n\tconst isDisabled = getDisabled(clickableTextEnabled, column, cell);\n\tconst contentClassNames = classNames({\n\t\t'link-cell-content': true,\n\t\tdisabled: isDisabled,\n\t\t[className]: className ? true : false,\n\t});\n\tconst clickEventName = props.clickEventName || NOW_LIST_CELL_LINK_CLICKED;\n\treturn (\n\t\t<div\n\t\t\tclassName={contentClassNames}\n\t\t\tstyle={isGalleryFieldWithEllipsis(fieldKey || '')}\n\t\t>\n\t\t\t{shouldRenderRecentlyUpdatedIcon && renderLiveListEyelashIcon()}\n\t\t\t{isDisabled ? (\n\t\t\t\tdisplayLabel\n\t\t\t) : (\n\t\t\t\t<a\n\t\t\t\t\tclassName=\"link-cell-link\"\n\t\t\t\t\trole=\"link\"\n\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\taria-label={toolTipLabel || value}\n\t\t\t\t\thref={href}\n\t\t\t\t\ton-click={(/** @type {any} */ event) => {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tdispatch(clickEventName, {\n\t\t\t\t\t\t\tcell: cell,\n\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\t\tcolumnKey: getColumnKey(column),\n\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t\ton-keypress={(/** @type {any} */ event) => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tevent.key === KEY.ENTER ||\n\t\t\t\t\t\t\tevent.key === KEY.SPACEBAR ||\n\t\t\t\t\t\t\tevent.keyCode === KEY.KEY_CODE_ENTER\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tdispatch(clickEventName, {\n\t\t\t\t\t\t\t\tcell: cell,\n\t\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\t\t\tcolumnKey: getColumnKey(column),\n\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tdata-truncation\n\t\t\t\t\t{...getTooltipDataProps(toolTipLabel || value, isTruncated)}\n\t\t\t\t>\n\t\t\t\t\t{displayLabel}\n\t\t\t\t</a>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\n/**\n *\n * @param {Object} props\n * @param {CellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {Array<string>} props.highlightedContent array of patterns to be highlighted\n * @param {Row} props.row an object representing this cell's parent row\n * @param {*} dispatch seismic dispatch\n * @param {boolean} shouldRenderRecentlyUpdatedIcon renders eyelash if child row was recently updated\n * @param {Object} labelProps can be passed from other cell types when renderAsLink true\n * @param {string} labelProps.displayLabel\n * @param {string} labelProps.toolTipLabel\n * @param {boolean} labelProps.isTruncated\n * @param {string} labelProps.className\n */\nexport const getLabelContent = (\n\tprops,\n\tdispatch,\n\tshouldRenderRecentlyUpdatedIcon,\n\tlabelProps = {\n\t\tdisplayLabel: '',\n\t\ttoolTipLabel: '',\n\t\tisTruncated: false,\n\t\tclassName: '',\n\t}\n) => {\n\tconst { column } = props;\n\tconst { toolTipLabel, isTruncated, className } = labelProps;\n\tlet displayLabel = labelProps.displayLabel;\n\tif (!displayLabel && renderAsLink(column)) {\n\t\tdisplayLabel = EMPTY_DISPLAY_LABEL;\n\t}\n\treturn renderAsLink(column)\n\t\t? getLinkCell(props, dispatch, shouldRenderRecentlyUpdatedIcon, {\n\t\t\t\tdisplayLabel,\n\t\t\t\ttoolTipLabel,\n\t\t\t\tisTruncated,\n\t\t\t\tclassName,\n\t\t  })\n\t\t: displayLabel;\n};\n","import cellSelectors from '../../../utils/selectors/cellSelectors';\nimport {\n\ticonIsCached,\n\tgetIconHeightWidth,\n\tgetFakeNowIcon,\n} from '../../shared/fakeNowIcon';\nimport { EMPTY_CELL_VALUE } from '../fieldConstants';\nimport {\n\tgetHighlightedText,\n\tgetLabelContent,\n\thighlightedValueCell,\n\tshouldRenderHighlightedValue,\n} from '../fieldUtil';\n\nimport {\n\tBOOLEAN_TRUE_ICON,\n\tBOOLEAN_FALSE_ICON,\n\tBOOLEAN_TRUE_STRING,\n\tBOOLEAN_FALSE_STRING,\n\tBOOLEAN_ICON_SIZE,\n} from './constants';\n\n/**\n * This subview renders the content of a boolean cell\n *\n * @param {Object} props\n * @param {BooleanCellType} props.cell an object representing this cell\n * @param {Array<string>} props.highlightedContent array of string patterns to be highlighted\n * @param {boolean | undefined} props.isHighlightedValue\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {*} dispatch\n * @param {*} shouldRenderRecentlyUpdatedIcon\n */\nexport const booleanView = (\n\tprops,\n\tdispatch,\n\tshouldRenderRecentlyUpdatedIcon\n) => {\n\tconst { cell, highlightedContent, isHighlightedValue, column } = props;\n\tconst value = cellSelectors.getValue(cell);\n\n\tlet iconName;\n\tlet stringBool = EMPTY_CELL_VALUE;\n\n\tif (value !== EMPTY_CELL_VALUE) {\n\t\ticonName = value ? BOOLEAN_TRUE_ICON : BOOLEAN_FALSE_ICON;\n\t\tstringBool = value ? BOOLEAN_TRUE_STRING : BOOLEAN_FALSE_STRING;\n\t}\n\n\tconst { highlightedElement: cellLabel } = getHighlightedText(\n\t\thighlightedContent,\n\t\tstringBool\n\t);\n\n\tif (shouldRenderHighlightedValue(column, isHighlightedValue))\n\t\treturn highlightedValueCell(\n\t\t\tcellSelectors.getHighlightedValue(cell),\n\t\t\tcellSelectors.getValue(cell)\n\t\t);\n\n\treturn (\n\t\t<div className=\"cell-content boolean-cell-content\" data-truncation>\n\t\t\t{iconName &&\n\t\t\t\t(iconIsCached(iconName, BOOLEAN_ICON_SIZE) ? (\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={getIconHeightWidth(BOOLEAN_ICON_SIZE)}\n\t\t\t\t\t\tclassName=\"boolean-icon\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{getFakeNowIcon(iconName, BOOLEAN_ICON_SIZE)}\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\ticon={iconName}\n\t\t\t\t\t\tsize={BOOLEAN_ICON_SIZE}\n\t\t\t\t\t\tclassName=\"boolean-icon\"\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t{getLabelContent(\n\t\t\t\t// @ts-ignore\n\t\t\t\tprops,\n\t\t\t\tdispatch,\n\t\t\t\tshouldRenderRecentlyUpdatedIcon,\n\t\t\t\t{\n\t\t\t\t\tdisplayLabel: cellLabel,\n\t\t\t\t\ttoolTipLabel: '',\n\t\t\t\t\tclassName: 'inline',\n\t\t\t\t}\n\t\t\t)}\n\t\t</div>\n\t);\n};\n","import cellSelectors from '../../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\nimport {\n\tgetFormatedNumberLabel,\n\tgetHighlightedText,\n\tgetLabelContent,\n\tgetTooltipDataProps,\n\thighlightedValueCell,\n\tshouldRenderHighlightedValue,\n} from '../fieldUtil';\n\nimport { NUMBER_FORMAT_LONG_INT } from './constants';\n\nconst {\n\tgetNumberFormat,\n\tgetNumberLocale,\n\tgetNumberFormatter,\n} = columnSelectors;\n\n/**\n * This subview renders the content of a number cell\n *\n * @param {Object} props\n * @param {NumberCellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {Array<string>} props.highlightedContent array of string patterns to be highlighted\n * @param {boolean | undefined} props.isHighlightedValue\n * @param {*} dispatch\n * @param {*} shouldRenderRecentlyUpdatedIcon\n */\nexport const numberView = (\n\tprops,\n\tdispatch,\n\tshouldRenderRecentlyUpdatedIcon\n) => {\n\tconst { cell, column } = props;\n\tlet value = cellSelectors.getValue(cell);\n\tconst isValuePresent = value != null && value !== '';\n\tif (isValuePresent && getNumberFormat(column) !== NUMBER_FORMAT_LONG_INT) {\n\t\tconst numberFormatter = getNumberFormatter(getNumberLocale(column));\n\t\tvalue = numberFormatter.format(cellSelectors.getValue(cell));\n\t}\n\tconst truncatedLabel = isValuePresent\n\t\t? getFormatedNumberLabel(cellSelectors.getValue(cell), column)\n\t\t: value;\n\tconst isTruncated = truncatedLabel !== value;\n\n\tconst { highlightedContent, isHighlightedValue } = props;\n\tconst { highlightedElement: cellLabel } = getHighlightedText(\n\t\thighlightedContent,\n\t\ttruncatedLabel\n\t);\n\tconst tooltip = (truncatedLabel?.endsWith('%') ? `${value}%` : value) ?? '';\n\n\tif (shouldRenderHighlightedValue(column, isHighlightedValue)) {\n\t\tconst highlightedValue = cellSelectors.getHighlightedValue(cell);\n\t\tif (highlightedValue.value) {\n\t\t\treturn (\n\t\t\t\t<div className=\"number-cell-content-highlighted\">\n\t\t\t\t\t{highlightedValueCell(highlightedValue, tooltip)}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t}\n\n\treturn (\n\t\t/* hardcoded the value of dir to ltr here to ensure that it will always keep the ellipsis on the right side even when dir=\"rtl\" is set on a higher element. */\n\t\t<div\n\t\t\tclassName=\"cell-content number-cell-content\"\n\t\t\tdir=\"ltr\"\n\t\t\tdata-truncation\n\t\t\t{...getTooltipDataProps(tooltip, isTruncated)}\n\t\t>\n\t\t\t{getLabelContent(\n\t\t\t\t// @ts-ignore\n\t\t\t\tprops,\n\t\t\t\tdispatch,\n\t\t\t\tshouldRenderRecentlyUpdatedIcon,\n\t\t\t\t{\n\t\t\t\t\tdisplayLabel: cellLabel,\n\t\t\t\t\ttoolTipLabel: tooltip,\n\t\t\t\t\tisTruncated,\n\t\t\t\t}\n\t\t\t)}\n\t\t</div>\n\t);\n};\n","import { t } from 'sn-translate';\n\nexport const EMPTY_DISPLAY_LABEL = t('None');\n","import { dangerouslyCreateElementFromString } from '@servicenow/ui-renderer-snabbdom';\nimport classNames from 'classnames';\nimport get from 'lodash/get';\nimport round from 'lodash/round';\nimport toString from 'lodash/toString';\nimport truncate from 'lodash/truncate';\nimport { getSysPropContext } from 'sn-ux-core';\nimport '@servicenow/now-highlighted-value';\n\nimport { KEY } from '../../../../../../behaviors/keyboardNavBehavior/constants';\nimport { NOW_LIST_CELL_LINK_CLICKED } from '../../../../../../behaviors/linkBehavior/constants';\nimport cellSelectors from '../../../../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../../../../utils/selectors/columnSelectors';\nimport {\n\tNUMBER_FORMAT_LONG_INT,\n\tNUMBER_FORMAT_PERCENT,\n} from '../../../../fields/number/constants';\nimport { renderLiveListEyelashIcon } from '../../../../shared/cellIconContent';\n\nimport { EMPTY_DISPLAY_LABEL } from './cellContentConstants';\nimport { PRESERVE_WHITESPACE_SYS_PROP } from './rowCellConstants';\n\nconst { getDisabled: getCellDisabled, getValue, getHref } = cellSelectors;\n/**\n * gets data props for tooltip, truncation based on maxCharacters\n * @param {string} tooltip\n * @param {boolean} isTruncated\n * @returns {*}\n */\nexport const getTooltipDataProps = (tooltip, isTruncated) => {\n\tif (!tooltip) return {};\n\treturn {\n\t\t'data-tooltip': tooltip,\n\t\t'data-truncated': isTruncated || undefined,\n\t};\n};\n\nconst {\n\tgetDecimalPlaces,\n\tgetDisabled: getColumnDisabled,\n\tgetNumberFormat,\n\tgetMaxCharacters,\n\tgetNumberLocale,\n\tgetNumberFormatter,\n\trenderAsLink,\n\tgetColumnKey,\n} = columnSelectors;\n/**\n * returns highlighted text matched with given pattern\n * @param {Array<string>} highlightedContentPatterns array of patterns to be highlighted\n * @param {string} displayValue a string representing cell's displayValue\n */\nexport const getHighlightedText = (\n\thighlightedContentPatterns,\n\tdisplayValue\n) => {\n\tconst patterns = highlightedContentPatterns.filter(\n\t\t(pattern) => pattern?.length\n\t);\n\tlet markedDisplayContent = displayValue;\n\n\tif (patterns.length === 0 || markedDisplayContent == null)\n\t\treturn { highlightedElement: markedDisplayContent };\n\n\t// sorts the patterns array with longest string first\n\t// e.g Consider an example where the user has provided the patterns ['CHG', 'CHG000'] for highlighting.\n\t// In this case, the pattern 'CHG000' should be highlighted.\n\tconst patternWords = patterns\n\t\t.sort(\n\t\t\t(\n\t\t\t\t/** @type {string | any[]} */ a,\n\t\t\t\t/** @type {string | any[]} */ b\n\t\t\t) => b.length - a.length\n\t\t)\n\t\t.join('|');\n\n\t// patternWords string is first processed to escape any special characters\n\t//The resulting escaped pattern is then used to create the highLightRegex regular expression object\n\tconst escapedPatternWords = patternWords.replace(\n\t\t/[*+?^${}()[\\]\\\\]/g,\n\t\t'\\\\$&'\n\t);\n\n\t// create regular expression with given pattern\n\t// g stands for global search on the entire string\n\t// i stands for case insensitive search\n\tconst highlightRegex = new RegExp(escapedPatternWords, 'gi');\n\n\t/**\n\t * wraps the matched string in the mark tag\n\t *  @param {string} match\n\t */\n\tconst patternReplacer = (match) =>\n\t\t`<mark class=\"highlighted-content\">${match}</mark>`;\n\n\tmarkedDisplayContent = markedDisplayContent.replace(\n\t\thighlightRegex,\n\t\tpatternReplacer\n\t);\n\n\treturn {\n\t\thighlightedElement: dangerouslyCreateElementFromString(\n\t\t\t`<span data-truncationignoretabindex data-truncation>${markedDisplayContent}</span>`\n\t\t),\n\t};\n};\n\n/**\n * Renders the highlightedValue of the cell using now-highlighted-value\n *\n * @param {HighlightedValue} props representing the highlighted value config\n * @param {string} displayValue\n */\nexport const highlightedValueCell = (props, displayValue) => {\n\tconst { value, color, variant, showIcon, iconName } = props;\n\n\treturn (\n\t\t<div className=\"cell-content\">\n\t\t\t<now-highlighted-value\n\t\t\t\tlabel={value}\n\t\t\t\tshowIcon={showIcon}\n\t\t\t\tvariant={variant}\n\t\t\t\tcolor={color}\n\t\t\t\tdata-tooltip={displayValue}\n\t\t\t\ticon={iconName}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\n/**\n * Currently highlightedValues does not support link, so if we have both highlightedValue and renderAsLink true,\n * we will be rendering the link instead of highlightedValue\n * @param {ProcessedColumn} column an object representing this cell's parent column\n * @param {Boolean | undefined} isHighlightedValue representing the highlighted value config\n */\nexport const shouldRenderHighlightedValue = (column, isHighlightedValue) => {\n\treturn isHighlightedValue && !renderAsLink(column);\n};\n\n/**\n * returns boolean whether clickable text in the cell should be disabled or not.\n *\n * @param {boolean | undefined} clickableTextEnabled prop representing click is enabled or not.\n * @param {LinkCellType} cell an object representing this cell\n * @param {ProcessedColumn} column an object representing this cell's parent column\n * @param {String} value cell value\n * @returns {boolean}\n *\n */\nexport const getDisabled = (clickableTextEnabled, column, cell, value) => {\n\treturn (\n\t\t!(\n\t\t\trenderAsLink(column) ||\n\t\t\t(clickableTextEnabled && isNonEmpty(value))\n\t\t) ||\n\t\t(getColumnDisabled(column)\n\t\t\t? getColumnDisabled(column)\n\t\t\t: getColumnDisabled(column) || getCellDisabled(cell))\n\t);\n};\n\n/**\n * Stringifies and formats the cell value\n *\n * @param {string} value object representing this cell\n * @param {ProcessedColumn} column an object representing this cell's parent column\n */\nexport const getFormatedNumberLabel = (value, column) => {\n\tvalue = round(value, getDecimalPlaces(column));\n\tlet label = toString(value);\n\tif (getNumberFormat(column) !== NUMBER_FORMAT_LONG_INT) {\n\t\tconst numberFormatter = getNumberFormatter(getNumberLocale(column));\n\t\tlabel = numberFormatter.format(value);\n\t}\n\tconst maxCharacters = getMaxCharacters(column);\n\tlet truncatedLabel = label;\n\tif (getNumberFormat(column) === NUMBER_FORMAT_PERCENT) {\n\t\ttruncatedLabel = truncate(label, { length: maxCharacters - 1 });\n\t\ttruncatedLabel += '%';\n\t} else {\n\t\ttruncatedLabel = truncate(label, { length: maxCharacters });\n\t}\n\treturn truncatedLabel;\n};\n\n/**\n * This subview renders the content of an actionable link cell\n *\n * @param {Object} props\n * @param {CellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {Array<string>} props.highlightedContent array of patterns to be highlighted\n * @param {Row} props.row an object representing this cell's parent row\n * @param {*} dispatch seismic dispatch\n * @param {boolean} shouldRenderRecentlyUpdatedIcon renders eyelash if child row was recently updated\n * @param {Object} labelProps can be passed from other cell types when renderAsLink true\n * @param {string} labelProps.displayLabel\n * @param {string} labelProps.toolTipLabel\n * @param {boolean} labelProps.isTruncated\n * @param {string} labelProps.className\n */\nexport const getLinkCell = (\n\tprops,\n\tdispatch,\n\tshouldRenderRecentlyUpdatedIcon,\n\tlabelProps = {\n\t\tdisplayLabel: '',\n\t\ttoolTipLabel: '',\n\t\tisTruncated: false,\n\t\tclassName: '',\n\t}\n) => {\n\tconst { cell, column, clickableTextEnabled, row } = props;\n\tconst value = getValue(cell);\n\tconst href = getHref(cell);\n\tconst { displayLabel, toolTipLabel, isTruncated, className } = labelProps;\n\tconst isDisabled = getDisabled(clickableTextEnabled, column, cell, value);\n\tconst contentClassNames = classNames({\n\t\t'link-cell-content': true,\n\t\tdisabled: isDisabled,\n\t\t[className]: className ? true : false,\n\t});\n\n\treturn (\n\t\t<div className={contentClassNames}>\n\t\t\t{shouldRenderRecentlyUpdatedIcon && renderLiveListEyelashIcon()}\n\t\t\t{isDisabled ? (\n\t\t\t\tdisplayLabel\n\t\t\t) : (\n\t\t\t\t// Changed to anchor tag due to text-wrapping issues with button\n\t\t\t\t<a\n\t\t\t\t\tclassName=\"link-cell-link\"\n\t\t\t\t\trole=\"link\"\n\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\taria-label={toolTipLabel || value}\n\t\t\t\t\thref={href}\n\t\t\t\t\ton-click={(/** @type {any} */ event) => {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tdispatch(NOW_LIST_CELL_LINK_CLICKED, {\n\t\t\t\t\t\t\tcell: cell,\n\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\t\tcolumnKey: getColumnKey(column),\n\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t\ton-keypress={(/** @type {any} */ event) => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tevent.key === KEY.ENTER ||\n\t\t\t\t\t\t\tevent.key === KEY.SPACEBAR ||\n\t\t\t\t\t\t\tevent.keyCode === KEY.KEY_CODE_ENTER\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tdispatch(NOW_LIST_CELL_LINK_CLICKED, {\n\t\t\t\t\t\t\t\tcell: cell,\n\t\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\t\t\tcolumnKey: getColumnKey(column),\n\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\t{...getTooltipDataProps(toolTipLabel || value, isTruncated)}\n\t\t\t\t>\n\t\t\t\t\t{displayLabel}\n\t\t\t\t</a>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\n/**\n *\n * @param {Object} props\n * @param {CellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {Array<string>} props.highlightedContent array of patterns to be highlighted\n * @param {Row} props.row an object representing this cell's parent row\n * @param {*} dispatch seismic dispatch\n * @param {boolean} shouldRenderRecentlyUpdatedIcon renders eyelash if child row was recently updated\n * @param {Object} labelProps can be passed from other cell types when renderAsLink true\n * @param {string} labelProps.displayLabel\n * @param {string} labelProps.toolTipLabel\n * @param {boolean} labelProps.isTruncated\n * @param {string} labelProps.className\n */\nexport const getLabelContent = (\n\tprops,\n\tdispatch,\n\tshouldRenderRecentlyUpdatedIcon,\n\tlabelProps = {\n\t\tdisplayLabel: '',\n\t\ttoolTipLabel: '',\n\t\tisTruncated: false,\n\t\tclassName: '',\n\t}\n) => {\n\tconst { column } = props;\n\tconst { toolTipLabel, isTruncated, className } = labelProps;\n\tlet displayLabel = labelProps.displayLabel;\n\tif (!displayLabel && renderAsLink(column)) {\n\t\tdisplayLabel = EMPTY_DISPLAY_LABEL;\n\t}\n\treturn renderAsLink(column)\n\t\t? getLinkCell(\n\t\t\t\t// @ts-ignore\n\t\t\t\tprops,\n\t\t\t\tdispatch,\n\t\t\t\tshouldRenderRecentlyUpdatedIcon,\n\t\t\t\t{\n\t\t\t\t\tdisplayLabel,\n\t\t\t\t\ttoolTipLabel,\n\t\t\t\t\tisTruncated,\n\t\t\t\t\tclassName,\n\t\t\t\t}\n\t\t  )\n\t\t: displayLabel;\n};\n\n/**\n * Checks whether the given value is undefined, null or empty string\n * @param {string | number | boolean | null} value\n */\nconst isNonEmpty = (value) => {\n\treturn typeof value === 'string' ? value.trim() !== '' : value != null;\n};\n\n/**\n *\n * @param {PillType[]} values\n * @param {number} maxPillLimit\n * @returns string\n */\nexport const getHiddenPillsTooltip = (values, maxPillLimit) => {\n\tconst label = values\n\t\t.slice(maxPillLimit, values.length)\n\t\t.map((pill) => pill.label.trim())\n\t\t.join(', ');\n\treturn label;\n};\n\n/**\n * Check if glide.lists.preserve_whitespace in sys_property is true\n * @param {object} context\n * @returns {boolean} True if glide.lists.preserve_whitespace is true\n */\nexport const isWhitespaceEnabledInSysProp = (context) => {\n\tconst preserveWhitespaceSysPropKey = getSysPropContext(\n\t\tPRESERVE_WHITESPACE_SYS_PROP\n\t);\n\treturn get(context, preserveWhitespaceSysPropKey, 'false') == 'true';\n};\n","import classNames from 'classnames';\nimport truncate from 'lodash/truncate';\n\nimport cellSelectors from '../../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\nimport { isGalleryFieldWithEllipsis } from '../../../utils/truncationUtils';\nimport { isWhitespaceEnabledInSysProp } from '../../table/tableBody/tableRow/rowCell/cellContentUtils';\nimport { WHITESPACE_STRING_CLASS } from '../../table/tableConstants';\nimport {\n\tgetHighlightedText,\n\tgetLabelContent,\n\tgetTooltipDataProps,\n\thighlightedValueCell,\n\tshouldRenderHighlightedValue,\n} from '../fieldUtil';\nconst { getMaxCharacters } = columnSelectors;\nconst { getValue } = cellSelectors;\n/**\n * This subview renders the content of a string cell\n *\n * @param {Object} props\n * @param {StringCellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {Array<string>} props.highlightedContent array of string patterns to be highlighted\n * @param {boolean | undefined} props.isHighlightedValue\n * @param {object} props.contextApi\n * @param {string} [props.fieldKey]\n * @param {*} dispatch\n * @param {*} shouldRenderRecentlyUpdatedIcon\n */\nexport const stringView = (\n\tprops,\n\tdispatch,\n\tshouldRenderRecentlyUpdatedIcon\n) => {\n\tconst {\n\t\tcell,\n\t\tcolumn,\n\t\thighlightedContent,\n\t\tisHighlightedValue,\n\t\tcontextApi,\n\t\tfieldKey,\n\t} = props;\n\tconst value = getValue(cell);\n\tconst truncatedLabel = truncate(value, {\n\t\tlength: getMaxCharacters(column),\n\t});\n\tconst isTruncated = truncatedLabel !== value;\n\tconst { highlightedElement: cellLabel } = getHighlightedText(\n\t\thighlightedContent,\n\t\ttruncatedLabel\n\t);\n\n\tif (shouldRenderHighlightedValue(column, isHighlightedValue)) {\n\t\treturn highlightedValueCell(\n\t\t\tcellSelectors.getHighlightedValue(cell),\n\t\t\tcellSelectors.getValue(cell)\n\t\t);\n\t}\n\n\tconst stringCellContentClassNames = classNames(\n\t\t'cell-content',\n\t\t'string-cell-content',\n\t\t{\n\t\t\t[WHITESPACE_STRING_CLASS]: isWhitespaceEnabledInSysProp(contextApi),\n\t\t}\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tdata-truncation\n\t\t\tclassName={stringCellContentClassNames}\n\t\t\t{...getTooltipDataProps(value, isTruncated)}\n\t\t\tstyle={isGalleryFieldWithEllipsis(fieldKey || '')}\n\t\t>\n\t\t\t{getLabelContent(\n\t\t\t\t// @ts-ignore\n\t\t\t\tprops,\n\t\t\t\tdispatch,\n\t\t\t\tshouldRenderRecentlyUpdatedIcon,\n\t\t\t\t{\n\t\t\t\t\tdisplayLabel: cellLabel,\n\t\t\t\t\ttoolTipLabel: value,\n\t\t\t\t\tisTruncated,\n\t\t\t\t}\n\t\t\t)}\n\t\t</div>\n\t);\n};\n","import classNames from 'classnames';\nimport { SnTimeAgo } from 'sn-component-timeago';\n\nimport { TIME_AGO_DISPLAY_AS_MAIN_VALUE } from '../fields/dateTime/constants';\nimport { highlightedValueCell } from '../table/tableBody/tableRow/rowCell/cellContentUtils';\n\nconst timeAgoOptions = {\n\ttimeAgo: true,\n\tdateBoth: false,\n\tsystemTime: false,\n\tdateOnly: false,\n\tverbose: false,\n};\n\n/**\n * @param {*} state\n */\nexport default function view(state) {\n\tconst {\n\t\tproperties: { timeAgoDisplay, value, highlightedValueData },\n\t} = state;\n\n\tconst timeAgo = new SnTimeAgo(\n\t\t{ timestampLong: value * 1000 },\n\t\tvalue * 1000,\n\t\ttimeAgoOptions\n\t);\n\tconst time = timeAgo.getTickTime().time;\n\n\tconst spanClassName = classNames('time-ago-display', {\n\t\t'-main-value': timeAgoDisplay !== TIME_AGO_DISPLAY_AS_MAIN_VALUE,\n\t});\n\n\tif (highlightedValueData) {\n\t\thighlightedValueData.value = time;\n\t\treturn highlightedValueCell(highlightedValueData, value);\n\t}\n\n\treturn (\n\t\t<span className={spanClassName} data-truncation>\n\t\t\t{time}\n\t\t</span>\n\t);\n}\n","export default function requiredArgs(required, args) {\n  if (args.length < required) {\n    throw new TypeError(required + ' argument' + (required > 1 ? 's' : '') + ' required, but only ' + args.length + ' present');\n  }\n}","import requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @param {Date|Number} argument - the value to convert\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\n\nexport default function toDate(argument) {\n  requiredArgs(1, arguments);\n  var argStr = Object.prototype.toString.call(argument); // Clone the date\n\n  if (argument instanceof Date || typeof argument === 'object' && argStr === '[object Date]') {\n    // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n    return new Date(argument.getTime());\n  } else if (typeof argument === 'number' || argStr === '[object Number]') {\n    return new Date(argument);\n  } else {\n    if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') {\n      // eslint-disable-next-line no-console\n      console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://git.io/fjule\"); // eslint-disable-next-line no-console\n\n      console.warn(new Error().stack);\n    }\n\n    return new Date(NaN);\n  }\n}","export default function toInteger(dirtyNumber) {\n  if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) {\n    return NaN;\n  }\n\n  var number = Number(dirtyNumber);\n\n  if (isNaN(number)) {\n    return number;\n  }\n\n  return number < 0 ? Math.ceil(number) : Math.floor(number);\n}","import toDate from \"../toDate/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name fromUnixTime\n * @category Timestamp Helpers\n * @summary Create a date from a Unix timestamp.\n *\n * @description\n * Create a date from a Unix timestamp.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Number} unixTime - the given Unix timestamp\n * @returns {Date} the date\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Create the date 29 February 2012 11:45:05:\n * var result = fromUnixTime(1330515905)\n * //=> Wed Feb 29 2012 11:45:05\n */\n\nexport default function fromUnixTime(dirtyUnixTime) {\n  requiredArgs(1, arguments);\n  var unixTime = toInteger(dirtyUnixTime);\n  return toDate(unixTime * 1000);\n}","import tooltipBehavior from '@servicenow/behavior-tooltip';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport view from './timeAgoDisplay';\nimport styles from './timeAgoDisplay.scss';\n\ncreateCustomElement('time-ago-display', {\n\tview,\n\trenderer: { type: snabbdom },\n\tstyles,\n\tproperties: {\n\t\tvalue: {\n\t\t\tdefault: 0,\n\t\t\tschema: { type: 'number' },\n\t\t},\n\t\ttimeAgoDisplay: {\n\t\t\tdefault: '',\n\t\t},\n\t\thighlightedValueData: {\n\t\t\tdefault: null,\n\t\t},\n\t},\n\tbehaviors: [tooltipBehavior, truncationBehavior],\n});\n","import '../../timeAgoDisplay';\n\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport classNames from 'classnames';\nimport { formatInTimeZone } from 'date-fns-tz';\nimport fromUnixTime from 'date-fns/fromUnixTime';\nimport get from 'lodash/get';\nimport truncate from 'lodash/truncate';\nimport { getUserPrefContext } from 'sn-ux-core';\n\nimport { createElementObservationProps } from '../../../../behaviors/intersectionObserverBehavior/intersectionObserverBehavior';\nimport { isShortDateFormat } from '../../../utils/dateTimeUtils';\nimport cellSelectors from '../../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\nimport { isGalleryFieldWithEllipsis } from '../../../utils/truncationUtils';\nimport {\n\tgetHighlightedText,\n\tgetLabelContent,\n\tgetTooltipDataProps,\n\thighlightedValueCell,\n} from '../fieldUtil';\n\nimport {\n\tSHORT_DATE_TIME_FORMAT,\n\tTIME_AGO_DISPLAY_AS_MAIN_VALUE,\n\tTIME_AGO_DISPLAY_UNDER_MAIN_VALUE,\n} from './constants';\n\nconst {\n\tgetDateTimeFormat,\n\tgetTimeZone,\n\tgetTimeAgoDisplay,\n\tgetMaxCharacters,\n\tsetShortDateFormat,\n\trenderAsLink,\n} = columnSelectors;\n\nconst shortDateFormatPrefKey = getUserPrefContext(SHORT_DATE_TIME_FORMAT);\n/**\n * Stringifies and formats the cell value\n * returns formatted value(for tooltip if truncated), truncated value (max characters) and isTruncated for tooltip\n *\n * @param {Object} props\n * @param {DateTimeCellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {Array<string>} props.highlightedContent array of string patterns to be highlighted\n * @param {object} props.contextApi\n * @param {*} dispatch\n */\nexport const getDateLabelDetails = (props, dispatch) => {\n\tconst { cell, column, highlightedContent, contextApi } = props;\n\tconst timeAgoClassNames = classNames({\n\t\t'render-as-link': renderAsLink(column),\n\t});\n\tvar dateTimeFormat = getDateTimeFormat(column);\n\tlet timeZone = getTimeZone(column);\n\tconst timeAgoDisplay = getTimeAgoDisplay(column, contextApi);\n\n\tlet isTruncated = false;\n\tlet label = undefined;\n\tconst value = cellSelectors.getValue(cell);\n\tlet formattedDateValue = '';\n\tif (!value) return { formattedDateValue, label, isTruncated };\n\tconst highlightedValueData = cellSelectors.getHighlightedValue(cell);\n\n\t// FIXME: could be facing issue when local and User Pref timezones are different\n\tconst dateObject = fromUnixTime(value);\n\n\tconst shortDateFormatPrefValue =\n\t\tget(contextApi, shortDateFormatPrefKey, 'false') === 'true';\n\n\tif (shortDateFormatPrefValue) {\n\t\tdateTimeFormat = setShortDateFormat(dateObject, dateTimeFormat);\n\t}\n\n\ttimeZone = isShortDateFormat(dateTimeFormat) ? 'UTC' : timeZone;\n\tformattedDateValue = formatInTimeZone(dateObject, timeZone, dateTimeFormat);\n\n\tconst truncatedLabel = truncate(formattedDateValue, {\n\t\tlength: getMaxCharacters(column),\n\t});\n\tisTruncated = truncatedLabel !== formattedDateValue;\n\n\tconst { highlightedElement } = getHighlightedText(\n\t\thighlightedContent,\n\t\ttruncatedLabel\n\t);\n\tlabel = highlightedElement;\n\tswitch (timeAgoDisplay) {\n\t\tcase TIME_AGO_DISPLAY_AS_MAIN_VALUE:\n\t\t\t{\n\t\t\t\tlabel = (\n\t\t\t\t\t<time-ago-display\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\tclassName={timeAgoClassNames}\n\t\t\t\t\t\thighlightedValueData={highlightedValueData}\n\t\t\t\t\t\t{...createElementObservationProps(\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t'time-ago-display'\n\t\t\t\t\t\t)}\n\t\t\t\t\t\ttimeAgoDisplay={TIME_AGO_DISPLAY_AS_MAIN_VALUE}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t\t// time ago is not truncated\n\t\t\t\tisTruncated = false;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase TIME_AGO_DISPLAY_UNDER_MAIN_VALUE:\n\t\t\t{\n\t\t\t\tlabel = (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{highlightedValueData &&\n\t\t\t\t\t\tObject.keys(highlightedValueData).length > 0\n\t\t\t\t\t\t\t? highlightedValueCell(\n\t\t\t\t\t\t\t\t\thighlightedValueData,\n\t\t\t\t\t\t\t\t\ttruncatedLabel\n\t\t\t\t\t\t\t  )\n\t\t\t\t\t\t\t: truncatedLabel}\n\t\t\t\t\t\t<time-ago-display\n\t\t\t\t\t\t\tclassName={timeAgoClassNames}\n\t\t\t\t\t\t\t{...createElementObservationProps(\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t'time-ago-display'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t}\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t{\n\t\t\t\tlabel =\n\t\t\t\t\thighlightedValueData &&\n\t\t\t\t\tObject.keys(highlightedValueData).length > 0 ? (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t{highlightedValueCell(\n\t\t\t\t\t\t\t\thighlightedValueData,\n\t\t\t\t\t\t\t\ttruncatedLabel\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tlabel\n\t\t\t\t\t);\n\t\t\t}\n\t\t\tbreak;\n\t}\n\treturn { formattedDateValue, label, isTruncated };\n};\n\n/**\n * This subview renders the content of a date/time cell\n *\n * @param {Object} props\n * @param {DateTimeCellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {Array<string>} props.highlightedContent array of string patterns to be highlighted\n * @param {object} props.contextApi\n * @param {string} [props.fieldKey]\n\n * @param {*} dispatch\n * @param {*} shouldRenderRecentlyUpdatedIcon\n */\nexport const dateTimeView = (\n\tprops,\n\tdispatch,\n\tshouldRenderRecentlyUpdatedIcon\n) => {\n\tconst { formattedDateValue, label, isTruncated } = getDateLabelDetails(\n\t\tprops,\n\t\tdispatch\n\t);\n\treturn (\n\t\t<div\n\t\t\tclassName=\"cell-content date-time-cell-content\"\n\t\t\t{...getTooltipDataProps(formattedDateValue, isTruncated)}\n\t\t\tstyle={isGalleryFieldWithEllipsis(props.fieldKey || '')}\n\t\t>\n\t\t\t{getLabelContent(\n\t\t\t\t// @ts-ignore\n\t\t\t\tprops,\n\t\t\t\tdispatch,\n\t\t\t\tshouldRenderRecentlyUpdatedIcon,\n\t\t\t\t{\n\t\t\t\t\tdisplayLabel: label,\n\t\t\t\t\ttoolTipLabel: formattedDateValue,\n\t\t\t\t\tisTruncated,\n\t\t\t\t}\n\t\t\t)}\n\t\t</div>\n\t);\n};\n","import truncate from 'lodash/truncate';\n\nimport cellSelectors from '../../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\nimport {\n\tgetHighlightedText,\n\tshouldRenderHighlightedValue,\n\thighlightedValueCell,\n\tgetTooltipDataProps,\n\tgetLabelContent,\n} from '../fieldUtil';\n\nimport { CURRENCY_VALUE_DEFAULT } from './currencyConstants';\n\nconst { getCurrency, getCurrencyLocale, getMaxCharacters } = columnSelectors;\n\n/**\n * Stringifies and formats the cell value\n *\n * @param {Object} props\n * @param {CurrencyCellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n *\n * @returns {string} a string representing the formatted value with a language-sensitive representation and currency symbol.\n */\nexport const getDisplayValue = (props) => {\n\tconst { cell, column } = props;\n\tconst locale = getCurrencyLocale(column);\n\tconst currency = getCurrency(column);\n\tconst value = cellSelectors.getValue(cell)\n\t\t? cellSelectors.getValue(cell)\n\t\t: CURRENCY_VALUE_DEFAULT;\n\n\treturn value.toLocaleString(locale, {\n\t\tstyle: 'currency',\n\t\tcurrency: currency,\n\t});\n};\n\n/**\n * This subview renders the content of a currency cell\n *\n * @param {Object} props\n * @param {CurrencyCellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {Array<string>} props.highlightedContent array of string patterns to be highlighted\n * @param {boolean | undefined} props.isHighlightedValue\n * @param {boolean | undefined} props.isHighlightedValue\n * @param {*} dispatch\n * @param {*} shouldRenderRecentlyUpdatedIcon\n */\nexport const currencyView = (\n\tprops,\n\tdispatch,\n\tshouldRenderRecentlyUpdatedIcon\n) => {\n\tconst { cell, highlightedContent, column, isHighlightedValue } = props;\n\tconst maxCharacters = getMaxCharacters(column);\n\tconst displayValue = getDisplayValue(props);\n\tconst truncatedLabel = truncate(displayValue, { length: maxCharacters });\n\tconst isTruncated = truncatedLabel !== displayValue;\n\tconst { highlightedElement: cellLabel } = getHighlightedText(\n\t\thighlightedContent,\n\t\ttruncatedLabel\n\t);\n\n\tif (shouldRenderHighlightedValue(column, isHighlightedValue)) {\n\t\tconst highlightedValue = cellSelectors.getHighlightedValue(cell);\n\t\treturn (\n\t\t\t<div className=\"currency-cell-content-highlighted\">\n\t\t\t\t{highlightedValueCell(highlightedValue, truncatedLabel)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"cell-content currency-cell-content\"\n\t\t\tdata-truncation\n\t\t\t{...getTooltipDataProps(displayValue, isTruncated)}\n\t\t>\n\t\t\t{getLabelContent(\n\t\t\t\t// @ts-ignore\n\t\t\t\tprops,\n\t\t\t\tdispatch,\n\t\t\t\tshouldRenderRecentlyUpdatedIcon,\n\t\t\t\t{\n\t\t\t\t\tdisplayLabel: cellLabel,\n\t\t\t\t\ttoolTipLabel: displayValue,\n\t\t\t\t\tisTruncated,\n\t\t\t\t}\n\t\t\t)}\n\t\t</div>\n\t);\n};\n","import { t } from 'sn-translate';\n\nimport { createElementObservationProps } from '../../../../behaviors/intersectionObserverBehavior/intersectionObserverBehavior';\nimport cellSelectors from '../../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\nimport { getLabelContent } from '../fieldUtil';\n\nimport { ICON_CELL_ICON_SIZE } from './iconConstants';\n\nconst { getValue, getColor } = cellSelectors;\nconst { renderAsLink } = columnSelectors;\n\n/**\n * This subView renders the content of an icon cell\n *\n * @param {Object} props\n * @param {IconCellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {*} dispatch seismic dispatch\n * @param {*} shouldRenderRecentlyUpdatedIcon\n */\nexport const iconView = (props, dispatch, shouldRenderRecentlyUpdatedIcon) => {\n\tconst { cell, column } = props;\n\tconst iconName = getValue(cell);\n\tconst renderIcon = () => {\n\t\treturn (\n\t\t\t<now-icon\n\t\t\t\ticon={iconName}\n\t\t\t\tsize={ICON_CELL_ICON_SIZE}\n\t\t\t\ttabindex={renderAsLink(column) ? 0 : undefined}\n\t\t\t\tclassName={renderAsLink(column) ? 'icon-link' : getColor(cell)}\n\t\t\t\t{...createElementObservationProps(dispatch, 'icon-cell-type')}\n\t\t\t/>\n\t\t);\n\t};\n\tconst toolTipLabel = t('{0}', iconName?.replaceAll('-', ' '));\n\treturn (\n\t\t<div\n\t\t\tclassName=\"cell-content icon-cell-content\"\n\t\t\tdata-truncation\n\t\t\taria-label={toolTipLabel}\n\t\t\trole=\"img\"\n\t\t>\n\t\t\t{iconName &&\n\t\t\t\tgetLabelContent(\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tprops,\n\t\t\t\t\tdispatch,\n\t\t\t\t\tshouldRenderRecentlyUpdatedIcon,\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayLabel: renderIcon(),\n\t\t\t\t\t\ttoolTipLabel: toolTipLabel,\n\t\t\t\t\t\tisTruncated: false,\n\t\t\t\t\t}\n\t\t\t\t)}\n\t\t</div>\n\t);\n};\n","import classNames from 'classnames';\nimport truncate from 'lodash/truncate';\n\nimport cellSelectors from '../../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\nimport { EMPTY_DISPLAY_LABEL } from '../fieldContentConstants';\nimport { getHighlightedText, getLinkCell } from '../fieldUtil';\n\nconst { getMaxCharacters, renderAsLink } = columnSelectors;\nconst { getLabel, getValue } = cellSelectors;\n/**\n * This subview renders the content of an actionable link cell\n *\n * @param {Object} props\n * @param {CellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {Array<string>} props.highlightedContent array of patterns to be highlighted\n * @param {Row} props.row an object representing this cell's parent row\n * @param {string} [props.clickEventName] an object representing this cell's parent row\n * @param {string} [props.fieldKey]\n * @param {*} dispatch seismic dispatch\n * @param {boolean} shouldRenderRecentlyUpdatedIcon renders eyelash if child row was recently updated\n * @param {Object} labelProps can be passed from other cell types when renderAsLink true\n * @param {string} labelProps.displayLabel\n * @param {string} labelProps.toolTipLabel\n * @param {boolean} labelProps.isTruncated\n * @param {string} labelProps.className\n */\nexport const linkView = (props, dispatch, shouldRenderRecentlyUpdatedIcon) => {\n\tconst { cell, column, highlightedContent, clickEventName } = props;\n\tconst value = getValue(cell);\n\tconst label = getLabel(cell);\n\tconst isRenderAsLink = renderAsLink(column);\n\tif (!value && !label && !isRenderAsLink) {\n\t\tconst contentClassNames = classNames({\n\t\t\t'cell-content': true,\n\t\t\t'link-cell-content': true,\n\t\t});\n\t\treturn <div className={contentClassNames} />;\n\t}\n\n\tconst truncatedLabel = truncate(label, {\n\t\tlength: getMaxCharacters(column),\n\t});\n\tconst cellLabel = getHighlightedText(highlightedContent, truncatedLabel)\n\t\t.highlightedElement;\n\n\tconst labelProps = {\n\t\tdisplayLabel: cellLabel || EMPTY_DISPLAY_LABEL,\n\t\ttoolTipLabel: value,\n\t\tisTruncated: true,\n\t\tclassName: 'cell-content',\n\t\tclickEventName,\n\t};\n\n\treturn getLinkCell(\n\t\tprops,\n\t\tdispatch,\n\t\tshouldRenderRecentlyUpdatedIcon,\n\t\tlabelProps\n\t);\n};\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport classNames from 'classnames';\nimport truncate from 'lodash/truncate';\n\nimport cellSelectors from '../../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\nimport {\n\ticonIsCached,\n\tgetIconHeightWidth,\n\tgetFakeNowIcon,\n} from '../../shared/fakeNowIcon';\nimport { getDisabled, highlightedValueCell } from '../fieldUtil';\n\nimport { URL_ICON, URL_ICON_SIZE } from './urlConstants';\n\nconst {\n\tOPENS_IN_CURRENT_TAB_TOOLTIP,\n\tOPENS_IN_NEW_TOOLTIP,\n} = require('./urlTranslatedConstants');\n\nconst { getValue, getLabel } = cellSelectors;\nconst { getOpensInNew, getMaxCharacters } = columnSelectors;\n\n/**\n * This subview renders the content of a URL cell\n *\n * @param {Object} props\n * @param {LinkCellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {boolean | undefined} props.isHighlightedValue\n */\nexport const urlView = (props) => {\n\tconst { cell, column, clickableTextEnabled, isHighlightedValue } = props;\n\n\tconst value = getValue(cell);\n\tconst label = getLabel(cell);\n\tconst truncatedLabel = truncate(label, {\n\t\tlength: getMaxCharacters(column),\n\t});\n\tconst target = getOpensInNew(column) ? '_blank' : '_self';\n\tconst isDisabled = getDisabled(clickableTextEnabled, column, cell);\n\tconst tooltipContent =\n\t\ttarget === '_blank'\n\t\t\t? OPENS_IN_NEW_TOOLTIP\n\t\t\t: OPENS_IN_CURRENT_TAB_TOOLTIP;\n\tconst contentClassNames = classNames({\n\t\t'cell-content': true,\n\t\t'url-cell-content': true,\n\t\t'highlighted-value': isHighlightedValue && !isDisabled,\n\t\tdisabled: isDisabled,\n\t});\n\tconst highlightedValueData = cellSelectors.getHighlightedValue(cell);\n\tlet renderedLabel = truncatedLabel;\n\n\tif (isHighlightedValue) {\n\t\trenderedLabel = highlightedValueCell(\n\t\t\thighlightedValueData,\n\t\t\ttruncatedLabel\n\t\t);\n\t}\n\n\tif (!label && !value) return <div className={contentClassNames} />;\n\n\treturn (\n\t\t<div className={contentClassNames}>\n\t\t\t{isDisabled ? (\n\t\t\t\trenderedLabel\n\t\t\t) : (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={value}\n\t\t\t\t\t\ttarget={target}\n\t\t\t\t\t\trel=\"noopener\"\n\t\t\t\t\t\tclassName=\"url-cell-link\"\n\t\t\t\t\t\tdata-tooltip={tooltipContent}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"url-cell-link-label\" data-truncation>\n\t\t\t\t\t\t\t{renderedLabel}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t{iconIsCached(URL_ICON, URL_ICON_SIZE) ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"url-icon\"\n\t\t\t\t\t\t\t\tstyle={getIconHeightWidth(URL_ICON_SIZE)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{getFakeNowIcon(URL_ICON, URL_ICON_SIZE)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\ticon={URL_ICON}\n\t\t\t\t\t\t\t\tsize={URL_ICON_SIZE}\n\t\t\t\t\t\t\t\tclassName={'url-icon'}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</a>\n\t\t\t\t</Fragment>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n","import truncate from 'lodash/truncate';\n\nimport cellSelectors from '../../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\nimport { isGalleryFieldWithEllipsis } from '../../../utils/truncationUtils';\nimport {\n\tshouldRenderHighlightedValue,\n\thighlightedValueCell,\n\tgetTooltipDataProps,\n\tgetLabelContent,\n} from '../fieldUtil';\n\nconst { getValue, getLabel } = cellSelectors;\n/**\n * This subview renders the content of a choice cell\n *\n * @param {Object} props\n * @param {ChoiceCellType} props.cell an object representing this choice cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {boolean | undefined} props.isHighlightedValue\n * @param {string} [props.fieldKey]\n * @param {*} dispatch\n * @param {*} shouldRenderRecentlyUpdatedIcon\n */\nexport const choiceView = (\n\tprops,\n\tdispatch,\n\tshouldRenderRecentlyUpdatedIcon\n) => {\n\tconst { cell, column, isHighlightedValue, fieldKey } = props;\n\tconst choiceKey = getValue(cell);\n\tconst choiceLabel = getLabel(cell);\n\tconst displayValue =\n\t\tchoiceKey && !choiceLabel\n\t\t\t? columnSelectors.getChoiceLabelFromKey(choiceKey, column)\n\t\t\t: choiceLabel;\n\tconst truncatedLabel = truncate(displayValue, {\n\t\tlength: columnSelectors.getMaxCharacters(column),\n\t});\n\tconst tooltipLabel = displayValue ?? '';\n\tconst isTruncated = truncatedLabel !== displayValue;\n\n\tif (shouldRenderHighlightedValue(column, isHighlightedValue))\n\t\treturn highlightedValueCell(\n\t\t\tcellSelectors.getHighlightedValue(cell),\n\t\t\tcellSelectors.getValue(cell)\n\t\t);\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"cell-content choice-cell-content\"\n\t\t\t{...getTooltipDataProps(tooltipLabel, isTruncated)}\n\t\t\tstyle={isGalleryFieldWithEllipsis(fieldKey || '')}\n\t\t>\n\t\t\t{getLabelContent(\n\t\t\t\t// @ts-ignore\n\t\t\t\tprops,\n\t\t\t\tdispatch,\n\t\t\t\tshouldRenderRecentlyUpdatedIcon,\n\t\t\t\t{\n\t\t\t\t\tdisplayLabel: truncatedLabel,\n\t\t\t\t\ttoolTipLabel: tooltipLabel,\n\t\t\t\t\tisTruncated,\n\t\t\t\t}\n\t\t\t)}\n\t\t</div>\n\t);\n};\n","import DOMPurify from 'dompurify';\n\nimport '@servicenow/now-rich-text';\nimport cellSelectors from '../../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\nimport { highlightedValueCell } from '../fieldUtil';\n\nconst { renderAsLink } = columnSelectors;\nconst { getValue } = cellSelectors;\n\n/**\n * Configuration object for DOMPurify library\n */\nexport const domPurifyConfig = {\n\tFORCE_BODY: true, // makes sure that <style> tags aren't stripped\n\tKEEP_CONTENT: false, // remove content from non-allow-listed nodes too\n\tCUSTOM_ELEMENT_HANDLING: {\n\t\ttagNameCheck: /(^now-)|(^sn-)/, // allows now-* and sn-* custom elements to be used\n\t\tattributeNameCheck: () => {\n\t\t\t// allows any custom properties / attributes to be set on now-* and sn-* tags\n\t\t\treturn true;\n\t\t},\n\t},\n\tALLOWED_TAGS: [\n\t\t'h1',\n\t\t'h2',\n\t\t'h3',\n\t\t'h4',\n\t\t'h5',\n\t\t'h6',\n\t\t'br',\n\t\t'p',\n\t\t'strong',\n\t\t'em',\n\t\t'ol',\n\t\t'ul',\n\t\t'li',\n\t\t'#text',\n\t\t'span',\n\t\t'a',\n\t\t'div',\n\t],\n\tALLOWED_ATTR: ['style', 'target', 'href'],\n\tFORBID_ATTR: ['method', 'action'],\n};\n\n/**\n * This subview renders the content of a string cell\n *\n * @param {Object} props\n * @param {StringCellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {boolean | undefined} props.isHighlightedValue\n */\nexport const htmlView = (props) => {\n\tconst { cell, column, isHighlightedValue } = props;\n\tconst value = getValue(cell);\n\tconst sanitizedHtml = DOMPurify.sanitize(value, domPurifyConfig);\n\t// Add space to <li> and <br> for better readability in tooltip\n\tDOMPurify.addHook('beforeSanitizeElements', (node) => {\n\t\tif (\n\t\t\tnode.nodeName &&\n\t\t\t(node.nodeName === 'LI' || node.nodeName === 'BR')\n\t\t) {\n\t\t\tnode.textContent =\n\t\t\t\tnode.textContent === null ? ' ' : node.textContent.concat(' ');\n\t\t}\n\t});\n\n\tconst plainTextValueExtraSpaces = DOMPurify.sanitize(value, {\n\t\tALLOWED_TAGS: ['#text'],\n\t});\n\tDOMPurify.removeHook('beforeSanitizeElements');\n\tconst plainTextValue = plainTextValueExtraSpaces.replace(/&nbsp;/gm, ' ');\n\n\tif (isHighlightedValue && !renderAsLink(column))\n\t\treturn highlightedValueCell(\n\t\t\tcellSelectors.getHighlightedValue(cell),\n\t\t\tcellSelectors.getValue(cell)\n\t\t);\n\n\tconst placeholderText =\n\t\t'<em>Preview content not available. Inline edit or open the record to view full content</em>';\n\n\treturn (\n\t\t<div className=\"cell-content html-cell-content\">\n\t\t\t<now-rich-text\n\t\t\t\tclassName=\"html-rich-text-content\"\n\t\t\t\thtml={\n\t\t\t\t\tsanitizedHtml === '' && value !== '' && value !== null\n\t\t\t\t\t\t? placeholderText\n\t\t\t\t\t\t: sanitizedHtml\n\t\t\t\t}\n\t\t\t\taria-label={plainTextValue}\n\t\t\t></now-rich-text>\n\t\t</div>\n\t);\n};\n","import classNames from 'classnames';\nimport { t } from 'sn-translate';\n\nimport cellSelectors from '../../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\nimport { getFormatedNumberLabel, getLabelContent } from '../fieldUtil';\n\nconst { getThresholdColors } = columnSelectors;\n\n/**\n * Parses the thresholdColors string into an array of threshold-color objects.\n * @param {string} [colors]\n * @returns {Array<{ threshold: number, color: string }> | null}\n */\nexport const parseThresholdColors = (colors) => {\n\tif (!colors) return [{ threshold: 0, color: '' }];\n\ttry {\n\t\treturn colors.split(';').map((item) => {\n\t\t\tconst [threshold, color] = item.trim().split(':');\n\t\t\treturn {\n\t\t\t\tthreshold: parseFloat(threshold.trim()),\n\t\t\t\tcolor: color.trim(),\n\t\t\t};\n\t\t});\n\t} catch (error) {\n\t\t// console.warn('Threshold colors string is not valid')\n\t\treturn null;\n\t}\n};\n\n/**\n * Gets the color for a given value based on the parsed threshold colors.\n * @param {string} value\n * @param {any} targetFieldValue\n * @param {Array<{ threshold: number, color: string }>} parsedColors\n * @returns {string}\n */\nexport const getColor = (value, targetFieldValue, parsedColors) => {\n\tlet percentOfTarget = parseFloat(value);\n\tconst targetFieldValueNumber = parseFloat(targetFieldValue);\n\tif (targetFieldValueNumber)\n\t\tpercentOfTarget = (percentOfTarget / targetFieldValueNumber) * 100;\n\tfor (let i = parsedColors.length - 1; i >= 0; i--) {\n\t\tif (percentOfTarget >= parsedColors[i].threshold) {\n\t\t\treturn parsedColors[i].color;\n\t\t}\n\t}\n\treturn parsedColors[0].color;\n};\n\n/**\n * Gets the bar width from value\n * @param {string} value\n * @returns {string}\n */\nexport const getPercentBarWidth = (value) => {\n\tif (!value) {\n\t\tvalue = '0';\n\t}\n\tconst numberValue = parseFloat(value);\n\tconst barWidth =\n\t\tnumberValue >= 0 ? `${Math.min(100, numberValue)}%` : '100%';\n\treturn barWidth;\n};\n\n/**\n * A progress bar component that displays the value and target value with color thresholds.\n * @param {Object} props\n * @param {PercentCompleteCellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {*} dispatch seismic dispatch\n * @param {boolean} shouldRenderRecentlyUpdatedIcon renders eyelash if child row was recently updated\n */\nexport const renderPercentComplete = (\n\tprops,\n\tdispatch,\n\tshouldRenderRecentlyUpdatedIcon\n) => {\n\tconst { cell, column } = props;\n\tconst thresholdColors = getThresholdColors(column);\n\tconst value = cellSelectors.getValue(cell);\n\n\tconst targetFieldValue = cell?.targetFieldValue;\n\tconst parsedColors = parseThresholdColors(thresholdColors);\n\tconst targetBarWidth = targetFieldValue\n\t\t? getPercentBarWidth(targetFieldValue)\n\t\t: null;\n\tconst actualBarWidth = getPercentBarWidth(value);\n\tconst isNegativeValue = value && parseFloat(value) < 0;\n\tconst isNegativeTargetValue =\n\t\ttargetFieldValue && parseFloat(targetFieldValue) < 0;\n\tconst valueColor =\n\t\tthresholdColors && parsedColors && !isNegativeValue\n\t\t\t? getColor(value, targetFieldValue, parsedColors)\n\t\t\t: undefined;\n\n\tconst percentCompleteBarTargetClassNames = classNames({\n\t\t'percent-complete-bar': true,\n\t\t'percent-complete-bar-target': true,\n\t\t'percent-complete-negative-value': isNegativeTargetValue,\n\t});\n\tconst percentCompleteBarActualClassNames = classNames({\n\t\t'percent-complete-bar': true,\n\t\t'percent-complete-bar-actual': true,\n\t\t'percent-complete-negative-value': isNegativeValue,\n\t});\n\tconst valueLabel = value\n\t\t? `${getFormatedNumberLabel(value, column)}%`\n\t\t: '0%';\n\tconst targetFieldValueLabel =\n\t\ttargetFieldValue &&\n\t\t`${getFormatedNumberLabel(targetFieldValue, column)}%`;\n\tconst showCurrent = value != null && value !== '';\n\tconst showTarget = showCurrent && targetFieldValue;\n\n\treturn (\n\t\t<div className=\"percent-complete-wrapper\">\n\t\t\t<div className=\"percent-complete-bar-container\">\n\t\t\t\t{showTarget ? (\n\t\t\t\t\t<div\n\t\t\t\t\t\trole=\"progressbar\"\n\t\t\t\t\t\taria-valuenow={targetFieldValue}\n\t\t\t\t\t\taria-label={t('Target')}\n\t\t\t\t\t\tdata-tooltip={t('Target')}\n\t\t\t\t\t\tclassName={percentCompleteBarTargetClassNames}\n\t\t\t\t\t\tstyle={{ width: targetBarWidth }}\n\t\t\t\t\t></div>\n\t\t\t\t) : null}\n\t\t\t\t{showCurrent ? (\n\t\t\t\t\t<div\n\t\t\t\t\t\trole=\"progressbar\"\n\t\t\t\t\t\taria-valuenow={value}\n\t\t\t\t\t\taria-label={t('Current')}\n\t\t\t\t\t\tdata-tooltip={t('Current')}\n\t\t\t\t\t\tclassName={percentCompleteBarActualClassNames}\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\twidth: actualBarWidth,\n\t\t\t\t\t\t\tbackgroundColor: valueColor,\n\t\t\t\t\t\t}}\n\t\t\t\t\t></div>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t\t<div className=\"percent-complete-text-container\">\n\t\t\t\t{showTarget ? (\n\t\t\t\t\t<div className=\"percent-complete-text percent-complete-text-target\">\n\t\t\t\t\t\t{targetFieldValueLabel}\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t\t{showCurrent ? (\n\t\t\t\t\t<div className=\"percent-complete-text percent-complete-text-current\">\n\t\t\t\t\t\t{getLabelContent(\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tprops,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tshouldRenderRecentlyUpdatedIcon,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayLabel: valueLabel,\n\t\t\t\t\t\t\t\ttoolTipLabel: valueLabel,\n\t\t\t\t\t\t\t\tisTruncated: true,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\n/**\n * This subview renders the content of a percentcomplete cell\n *\n * @param {Object} props\n * @param {PercentCompleteCellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {*} dispatch seismic dispatch\n * @param {boolean} shouldRenderRecentlyUpdatedIcon renders eyelash if child row was recently updated\n */\nexport const percentCompleteView = (\n\tprops,\n\tdispatch,\n\tshouldRenderRecentlyUpdatedIcon\n) => {\n\treturn (\n\t\t<div className=\"cell-content percent-complete-cell-content\">\n\t\t\t{renderPercentComplete(\n\t\t\t\tprops,\n\t\t\t\tdispatch,\n\t\t\t\tshouldRenderRecentlyUpdatedIcon\n\t\t\t)}\n\t\t</div>\n\t);\n};\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { SN_LIST_GALLERY_PERSON_CLICKED } from '../../../../now-list-gallery/constants/actionConstants';\nimport cellSelectors from '../../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\nimport {\n\tgetDisabled,\n\tgetHighlightedText,\n\thighlightedValueCell,\n} from '../fieldUtil';\n\nimport {\n\tPERSON_DISPLAY_TYPE_AVATAR,\n\tPERSON_DISPLAY_TYPE_BOTH,\n\tPERSON_DISPLAY_TYPE_NAME,\n} from './constants';\n\nconst { getImageSrc, getPersonKey, getValue, getHref } = cellSelectors;\nconst { getColumnKey, getDisplay } = columnSelectors;\n\n/**\n * This subview renders the content of an person cell based on the state of isDisabled\n *\n * @param {String} name the name of the user in person cell\n * @param {Boolean} isDisabled a boolean representing the clickability of the cell\n * @param {String | undefined} personKey a unique optional key set by the user of person cell\n * @param {Array<string>} highlightedContent array of patterns to be highlighted\n * @param {HighlightedValue | null} highlightedValueData\n * @param {String | undefined} href a string representing the link to the record\n *\n */\nconst renderPersonText = (\n\tname,\n\tisDisabled,\n\tpersonKey,\n\thighlightedContent,\n\thighlightedValueData,\n\thref\n) => {\n\tconst textClassNames = classNames({\n\t\tdisabled: isDisabled,\n\t\t'person-cell-text': true,\n\t});\n\tconst buttonClassNames = classNames({\n\t\t'person-cell-link': true,\n\t\t'highlighted-value': highlightedValueData,\n\t});\n\tconst { highlightedElement: cellLabel } = getHighlightedText(\n\t\thighlightedContent,\n\t\tname\n\t);\n\n\tconst renderedLabel =\n\t\thighlightedValueData && Object.keys(highlightedValueData).length > 0\n\t\t\t? highlightedValueCell(highlightedValueData, name)\n\t\t\t: cellLabel;\n\n\tif (!isDisabled) {\n\t\treturn (\n\t\t\t<a\n\t\t\t\tclassName={buttonClassNames}\n\t\t\t\tkey={personKey}\n\t\t\t\trole=\"link\"\n\t\t\t\ttabindex=\"0\"\n\t\t\t\taria-label={name}\n\t\t\t\thref={href}\n\t\t\t\ton-click={(/** @type {any} */ event) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{renderedLabel}\n\t\t\t</a>\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t<span className={textClassNames} data-truncation>\n\t\t\t\t\t{renderedLabel}\n\t\t\t\t</span>\n\t\t\t</Fragment>\n\t\t);\n\t}\n};\n\n/**\n * This subview renders the content of an person cell\n *\n * @param {Object} props\n * @param {PersonCellType} props.cell an object representing this person cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {boolean | undefined} [props.clickableTextEnabled]\n * @param {Array<string>} props.highlightedContent array of patterns to be highlighted\n * @param {Row} props.row an object representing this cell's parent row\n * @param {string} props.iconSize additional props to be passed to the PersonView\n * @param {*} dispatch seismic dispatch,\n */\nexport const personView = (props, dispatch) => {\n\tconst {\n\t\tcell,\n\t\tcolumn,\n\t\tclickableTextEnabled,\n\t\thighlightedContent,\n\t\trow,\n\t\ticonSize,\n\t} = props;\n\tconst name = getValue(cell);\n\tconst personKey = getPersonKey(cell);\n\tconst imageSrc = getImageSrc(cell);\n\tconst display = getDisplay(column);\n\tconst isDisabled = getDisabled(clickableTextEnabled, column, cell);\n\tconst href = getHref(cell);\n\n\tconst isNameEmpty = isEmpty(name);\n\n\tconst shouldDisplayAvatar =\n\t\t(display === PERSON_DISPLAY_TYPE_AVATAR ||\n\t\t\tdisplay === PERSON_DISPLAY_TYPE_BOTH) &&\n\t\t!isNameEmpty;\n\n\tconst shouldDisplayName =\n\t\t(display === PERSON_DISPLAY_TYPE_NAME ||\n\t\t\tdisplay === PERSON_DISPLAY_TYPE_BOTH) &&\n\t\t!isNameEmpty;\n\n\tconst contentClassNames = classNames({\n\t\t'cell-content': true,\n\t\t'person-cell-content': true,\n\t\tdisabled: isDisabled,\n\t});\n\tconst highlightedValueData = cellSelectors.getHighlightedValue(cell);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={contentClassNames}\n\t\t\ton-click={(/** @type {any} */ event) => {\n\t\t\t\tconst targetClassList = event.target.classList;\n\t\t\t\tif (\n\t\t\t\t\t!isDisabled &&\n\t\t\t\t\ttargetClassList &&\n\t\t\t\t\t(targetClassList.contains('person-cell-avatar') ||\n\t\t\t\t\t\ttargetClassList.contains('person-cell-link'))\n\t\t\t\t) {\n\t\t\t\t\tdispatch(SN_LIST_GALLERY_PERSON_CLICKED, {\n\t\t\t\t\t\tcell,\n\t\t\t\t\t\tevent,\n\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\tcolumnKey: getColumnKey(column),\n\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t{shouldDisplayAvatar ? (\n\t\t\t\t<now-avatar\n\t\t\t\t\tclassName=\"person-cell-avatar\"\n\t\t\t\t\tsize={iconSize}\n\t\t\t\t\tuserName={name}\n\t\t\t\t\timageSrc={imageSrc}\n\t\t\t\t\tkey={personKey}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t{shouldDisplayName\n\t\t\t\t? renderPersonText(\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tisDisabled,\n\t\t\t\t\t\tpersonKey,\n\t\t\t\t\t\thighlightedContent,\n\t\t\t\t\t\thighlightedValueData,\n\t\t\t\t\t\thref\n\t\t\t\t  )\n\t\t\t\t: null}\n\t\t</div>\n\t);\n};\n","import '@servicenow/now-pill';\nimport {\n\tTOOLTIP_ADD_TARGET,\n\tTOOLTIP_REMOVE_TARGET,\n} from '@servicenow/behavior-tooltip';\nimport { createRef, Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport classNames from 'classnames';\nimport { t } from 'sn-translate';\n\nimport { createElementObservationProps } from '../../../../behaviors/intersectionObserverBehavior/intersectionObserverBehavior';\nimport cellSelectors from '../../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\nimport { getHiddenPillsTooltip } from '../fieldUtil';\n\nimport { DEFAULT_PILL_SIZE } from './constants';\n\nconst { getValue } = cellSelectors;\nconst { getMaxPillLimit, getColumnLabel } = columnSelectors;\n\n/**\n * @param {Now.Dispatch} dispatch seismic dispatch\n * @param {PillType[]} values\n * @param {number} maxPillLimit\n * @param {string} columnLabel\n */\nfunction hiddenPillsMessage(dispatch, values, maxPillLimit, columnLabel) {\n\tconst hiddenPillsCount = values.length - maxPillLimit;\n\tconst hiddenPillsTooltip = getHiddenPillsTooltip(values, maxPillLimit);\n\tconst hiddenPillsDescription = ` ${t(\n\t\t'hidden {0}:',\n\t\tcolumnLabel\n\t)} ${hiddenPillsTooltip}`;\n\tconst idSuffix = values.map((pill) => pill.key.toString().trim()).join('-');\n\tconst descriptionElementId = `pills-sr-text-${idSuffix}`;\n\tconst hiddenPillsMessage =\n\t\tvalues.length > maxPillLimit ? (\n\t\t\t<span\n\t\t\t\tclassName=\"hidden-pills-message\"\n\t\t\t\tdata-tooltip={hiddenPillsTooltip}\n\t\t\t\taria-describedby={descriptionElementId}\n\t\t\t\ttabindex=\"0\" // make the span tabbable\n\t\t\t\thook-insert={({ elm }) => {\n\t\t\t\t\tdispatch(TOOLTIP_ADD_TARGET, { target: elm });\n\t\t\t\t}}\n\t\t\t\thook-destroy={({ elm }) => {\n\t\t\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, { target: elm });\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{`+${hiddenPillsCount}`}\n\t\t\t\t<span id={descriptionElementId} className=\"sr-only\">\n\t\t\t\t\t{hiddenPillsDescription}\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t) : (\n\t\t\t''\n\t\t);\n\treturn hiddenPillsMessage;\n}\n\n/**\n * Adds cell size and canDismiss property onto every pill in the props\n *\n * @param {Object} props\n * @param {PillType[]} props.pills\n * @param {string} props.rowKey\n * @param {Now.Dispatch} props.dispatch seismic dispatch\n * @param {'sm' | 'xs'} [props.pillSize] default: `sm`\n * @return An array of pill components.\n */\nconst renderPills = (props) => {\n\tconst { dispatch, pills, pillSize = DEFAULT_PILL_SIZE, rowKey } = props;\n\n\tconst pillRef = createRef();\n\n\tconst renderedPills = pills.map((pill) => (\n\t\t<now-pill\n\t\t\tkey={pill.key}\n\t\t\tref={pillRef}\n\t\t\tlabel={pill.label}\n\t\t\tsize={pillSize}\n\t\t\tcanDismiss={false}\n\t\t\tclassName=\"pill-cell-pill\"\n\t\t\tselected=\"false\"\n\t\t\tmanageSelected=\"false\"\n\t\t\tappend-to-payload={{\n\t\t\t\tpillKey: pill.key,\n\t\t\t\trowKey,\n\t\t\t\tpills,\n\t\t\t\tpillRef,\n\t\t\t}}\n\t\t\t{...createElementObservationProps(dispatch, 'pill-cell-type')}\n\t\t/>\n\t));\n\n\treturn <Fragment>{renderedPills}</Fragment>;\n};\n\n/**\n * This subview renders the content of a pill cell.\n * Returns pills and an optional hidden pills message.\n *\n * @param {Object} params\n * @param {Object} params.props\n * @param {PillsCellType} params.props.cell an object representing this cell\n * @param {string} params.props.rowKey\n * @param {ProcessedColumn} params.props.column an object representing this cell's parent column\n * @param {Now.Dispatch} params.dispatch seismic dispatch\n * @param {'sm' | 'xs'} [params.pillSize] default: `sm`\n * @param {number} [params.maxPillLimit] show pills up to this specified limit\n */\nexport const pillsView = ({\n\tprops,\n\tdispatch,\n\tpillSize = DEFAULT_PILL_SIZE,\n\tmaxPillLimit,\n}) => {\n\tconst { cell, column } = props;\n\tconst values = getValue(cell);\n\tconst newMaxPillLimit =\n\t\tmaxPillLimit === undefined ? getMaxPillLimit(column) : maxPillLimit;\n\tconst columnLabel = getColumnLabel(column);\n\tconst newPills = values.slice(0, newMaxPillLimit);\n\tconst pillList = renderPills({\n\t\t...props,\n\t\tpills: newPills,\n\t\tdispatch,\n\t\tpillSize,\n\t});\n\tconst pillsCellClassNames = classNames({\n\t\t'cell-content': true,\n\t\t'pills-cell-content': true,\n\t\t// Used to increase width of cell container if hidden count is not shown. Default: `false`.\n\t\t'is-hidden-count-shown': Array.isArray(cell.value)\n\t\t\t? cell.value.length > newMaxPillLimit\n\t\t\t: false,\n\t});\n\t// Setting aria-label for upto newMaxPillLimit number of pills, and \"Press Enter for more pills\" for more pills\n\t// todo this aria-label might be redundant as it might not be captured by screen readers\n\tlet pillsAriaLabel = newPills\n\t\t.map((/** @type {{ label: string; }} */ pillValue) => pillValue.label)\n\t\t.join(', ');\n\tpillsAriaLabel +=\n\t\tvalues.length > newMaxPillLimit ? '. Press Enter for more pills' : '';\n\treturn (\n\t\t<div className=\"pill-container\">\n\t\t\t<div\n\t\t\t\tclassName={pillsCellClassNames}\n\t\t\t\trole=\"group\"\n\t\t\t\taria-label={t('{0}', pillsAriaLabel)}\n\t\t\t>\n\t\t\t\t{pillList}\n\t\t\t\t{hiddenPillsMessage(\n\t\t\t\t\tdispatch,\n\t\t\t\t\tvalues,\n\t\t\t\t\tnewMaxPillLimit,\n\t\t\t\t\tcolumnLabel\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n","import {\n\tcustomComponentType,\n\trenderCustomComponentDisplay,\n} from '../../../utils/customLoader';\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\nconst {\n\tgetColumnComponentTag,\n\tgetColumnDefaultComponentProperties,\n\tgetCellContentDimensions,\n\tgetColumnPlaceholderDimensions,\n} = columnSelectors;\n\n/**\n * This subview renders the content of a custom component cell\n *\n * @param {Object} props\n * @param {CustomCellType} props.cell an object representing this custom components cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {TableMetadata} props.tableMetadata an object representing the metadata for the table\n * @param {string} props.dir a string value that represents the language direction\n * @param {Now.Dispatch} dispatch seismic dispatch\n */\nexport const customComponent = (props, dispatch) => {\n\tconst { cell, column, tableMetadata, dir } = props;\n\tconst { componentProps } = cell;\n\tconst componentTag = getColumnComponentTag(column);\n\tconst defaultComponentProps = getColumnDefaultComponentProperties(column);\n\tconst properties = { ...defaultComponentProps, ...componentProps };\n\tconst { height: cellHeight, width: cellWidth } = getCellContentDimensions(\n\t\tcolumn\n\t);\n\tconst cellContentStyle = {\n\t\t...(cellHeight && { height: cellHeight }),\n\t\t...(cellWidth && { width: cellWidth }),\n\t};\n\tconst { height, width } = getColumnPlaceholderDimensions(column);\n\tconst placeholderContentStyle = {\n\t\t...(height && { height }),\n\t\t...(width && { width }),\n\t};\n\n\treturn renderCustomComponentDisplay(\n\t\tcustomComponentType.CELL,\n\t\ttableMetadata,\n\t\tcomponentTag,\n\t\tproperties,\n\t\tdir,\n\t\tcellContentStyle,\n\t\tplaceholderContentStyle,\n\t\tdispatch\n\t);\n};\n","import classNames from 'classnames';\nimport set from 'lodash/set';\n\nimport cellSelectors from '../../shared/utils/selectors/cellSelectors';\nimport {\n\tbooleanView,\n\tchoiceView,\n\tdateTimeView,\n\ticonView,\n\tnumberView,\n\tstringView,\n\turlView,\n\tlinkView,\n\tpersonView,\n\tpercentCompleteView,\n\tcurrencyView,\n} from '../../shared/views/fields';\nimport { customComponent } from '../../shared/views/fields/customComponent/customComponent';\nimport { PERSON_FIELD_ICON_SIZE } from '../../shared/views/fields/person/constants';\nimport {\n\tMAX_PILL_COUNT_FOR_GALLERY,\n\tXS_PILL_SIZE,\n} from '../../shared/views/fields/pills/constants';\nimport { pillsView } from '../../shared/views/fields/pills/pills';\nimport {\n\tTYPE_BOOLEAN,\n\tTYPE_CHOICE,\n\tTYPE_DATE_TIME,\n\tTYPE_ICON,\n\tTYPE_PERCENT_COMPLETE,\n\tTYPE_LINK,\n\tTYPE_NUMBER,\n\tTYPE_PERSON,\n\tTYPE_URL,\n\tTYPE_CURRENCY,\n\tTYPE_PILLS,\n\tTYPE_CUSTOM,\n} from '../../typeSchemas/columnDefinitions/columnTypes/columnTypes';\nimport { SN_LIST_GALLERY_CELL_LINK_CLICKED } from '../constants/actionConstants';\n\nimport { CLASSNAMES } from './layoutConstants';\n\nconst { hasHighlightedValue } = cellSelectors;\n\n/**\n * This galleryCardField renders the field valid with label\n *\n * @param {FieldRendererProps} fieldProps\n */\nexport const galleryCardField = (fieldProps) => {\n\tconst { column, options, showMoreWhenTruncated } = fieldProps;\n\tconst { showLabel = true } = options || {};\n\tconst fieldContentClasses = classNames({\n\t\t[CLASSNAMES.SN_LIST_GALLERY_FIELD_VALUE]: true,\n\t\t[`field-${column ? column.type : 'type-unset'}`]: true,\n\t});\n\n\treturn (\n\t\t<div key={column?.key} className={CLASSNAMES.SN_LIST_GALLERY_FIELD}>\n\t\t\t{showLabel && (\n\t\t\t\t<label\n\t\t\t\t\tdata-truncation\n\t\t\t\t\tclassName={CLASSNAMES.SN_LIST_GALLERY_FIELD_LABEL}\n\t\t\t\t>\n\t\t\t\t\t{column?.label}\n\t\t\t\t</label>\n\t\t\t)}\n\t\t\t<div className={fieldContentClasses}>\n\t\t\t\t{showMoreWhenTruncated ? (\n\t\t\t\t\t<sn-truncated-text-more text={fieldProps.cell.value} />\n\t\t\t\t) : (\n\t\t\t\t\tgalleryCardFieldValue(fieldProps)\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\n/**\n * This galleryCardFieldValue renders value based on field type\n *\n * @param {FieldRendererProps} fieldProps\n */\nexport const galleryCardFieldValue = (fieldProps) => {\n\tconst {\n\t\tcell,\n\t\tcolumn,\n\t\tclickableTextEnabled,\n\t\thighlightedContent,\n\t\tcontextApi,\n\t\tdispatch,\n\t\trow,\n\t\trowKey,\n\t\tfetchedComponents,\n\t\tdir,\n\t\tfieldKey,\n\t} = fieldProps;\n\tconst type = column?.type;\n\tconst isHighlightedValue = hasHighlightedValue(cell);\n\tset(cell, 'type', type);\n\n\tconst dataFieldProps = {\n\t\tcell,\n\t\tcolumn,\n\t\tclickableTextEnabled,\n\t\thighlightedContent,\n\t\tcontextApi,\n\t\tisHighlightedValue,\n\t\trow,\n\t\trowKey,\n\t\tfieldKey,\n\t\tclickEventName: SN_LIST_GALLERY_CELL_LINK_CLICKED,\n\t};\n\tconst customComponentProps = {\n\t\ttableMetadata: { fetchedComponents },\n\t\tdir,\n\t\t...dataFieldProps,\n\t};\n\n\tswitch (column?.type) {\n\t\tcase TYPE_NUMBER:\n\t\t\treturn numberView(dataFieldProps, dispatch, false);\n\t\tcase TYPE_DATE_TIME:\n\t\t\treturn dateTimeView(dataFieldProps, dispatch, false);\n\t\tcase TYPE_BOOLEAN:\n\t\t\treturn booleanView(dataFieldProps, dispatch, false);\n\t\tcase TYPE_CHOICE:\n\t\t\treturn choiceView(dataFieldProps, dispatch, false);\n\t\tcase TYPE_CURRENCY:\n\t\t\treturn currencyView(dataFieldProps, dispatch, false);\n\t\tcase TYPE_ICON:\n\t\t\treturn iconView(dataFieldProps, dispatch, false);\n\t\tcase TYPE_PERCENT_COMPLETE:\n\t\t\treturn percentCompleteView(dataFieldProps, dispatch, false);\n\t\tcase TYPE_URL:\n\t\t\treturn urlView(dataFieldProps);\n\t\tcase TYPE_LINK:\n\t\t\treturn linkView(dataFieldProps, dispatch, false);\n\t\tcase TYPE_PERSON:\n\t\t\t// TODO: Handle recent updates prop for person view when making changes for now-list-grid\n\t\t\treturn personView(\n\t\t\t\t{\n\t\t\t\t\t...dataFieldProps,\n\t\t\t\t\ticonSize: PERSON_FIELD_ICON_SIZE,\n\t\t\t\t},\n\t\t\t\tdispatch\n\t\t\t);\n\t\tcase TYPE_PILLS:\n\t\t\treturn pillsView({\n\t\t\t\tprops: dataFieldProps,\n\t\t\t\tdispatch,\n\t\t\t\t// fixme: could be done in a better way if support is provided by @servicenow/now-pill\n\t\t\t\t// to automatically show count depending on space available\n\t\t\t\tmaxPillLimit: MAX_PILL_COUNT_FOR_GALLERY,\n\t\t\t\t// https://www.figma.com/design/NpuDKqJ3qbhqaErd919gAQ/List%3A-Gallery-layout?node-id=9747-238075&t=qBFQC76Y7MlaZcIw-4\n\t\t\t\tpillSize: XS_PILL_SIZE,\n\t\t\t});\n\t\tcase TYPE_CUSTOM:\n\t\t\treturn customComponent(customComponentProps, dispatch);\n\t\tdefault:\n\t\t\treturn stringView(\n\t\t\t\t{ ...dataFieldProps, isHighlightedValue },\n\t\t\t\tdispatch,\n\t\t\t\tfalse\n\t\t\t);\n\t}\n};\n","import { t } from 'sn-translate';\n\nexport const SN_TRUNCATED_TEXT_SHOW_MORE = 'SN_TRUNCATED_TEXT_MORE#SHOW_MORE';\nexport const SN_TRUNCATED_TEXT_SHOW_TOOLTIP =\n\t'SN_TRUNCATED_TEXT_MORE#SHOW_TOOLTIP';\n\nexport const MORE_BUTTON_LABEL = t('More');\n","import {\n\tMORE_BUTTON_LABEL,\n\tSN_TRUNCATED_TEXT_SHOW_MORE,\n\tSN_TRUNCATED_TEXT_SHOW_TOOLTIP,\n} from './constants';\n\n/**\n * @param {*} state\n * @param {*} coeffects\n */\nexport default function view(state, coeffects) {\n\tconst {\n\t\tproperties: { text },\n\t\tshowMore,\n\t} = state;\n\tconst { dispatch } = coeffects;\n\treturn (\n\t\t<div className={'gallery-card-field-body-text-container'}>\n\t\t\t<div\n\t\t\t\tclassName=\"gallery-card-field-body-text\"\n\t\t\t\tdata-tooltip={text}\n\t\t\t\tdata-tooltipposition={['bottom-center', 'top-center']}\n\t\t\t\thook-insert={(node) =>\n\t\t\t\t\tdispatch(SN_TRUNCATED_TEXT_SHOW_MORE, { node })\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{text}\n\t\t\t</div>\n\t\t\t{showMore ? (\n\t\t\t\t<now-button-bare\n\t\t\t\t\thideBlockPadding\n\t\t\t\t\tsize={'sm'}\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t'aria-label': MORE_BUTTON_LABEL,\n\t\t\t\t\t}}\n\t\t\t\t\ton-click={(\n\t\t\t\t\t\t/** @type {{ currentTarget: any; type: any; }} */ e\n\t\t\t\t\t) =>\n\t\t\t\t\t\tdispatch(SN_TRUNCATED_TEXT_SHOW_TOOLTIP, {\n\t\t\t\t\t\t\tcurrentTarget: e.currentTarget,\n\t\t\t\t\t\t\ttype: e.type,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\ton-focusout={(\n\t\t\t\t\t\t/** @type {{ currentTarget: any; type: any; }} */ e\n\t\t\t\t\t) =>\n\t\t\t\t\t\tdispatch(SN_TRUNCATED_TEXT_SHOW_TOOLTIP, {\n\t\t\t\t\t\t\tcurrentTarget: e.currentTarget,\n\t\t\t\t\t\t\ttype: e.type,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tlabel={MORE_BUTTON_LABEL}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t</div>\n\t);\n}\n","import tooltipBehavior, {\n\tTOOLTIP_SHOW,\n\tTOOLTIP_HIDE,\n} from '@servicenow/behavior-tooltip';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport { isOverflowing } from '../../../shared/utils/tooltipUtil';\n\nimport {\n\tSN_TRUNCATED_TEXT_SHOW_MORE,\n\tSN_TRUNCATED_TEXT_SHOW_TOOLTIP,\n} from './constants';\nimport styles from './styles.scss';\nimport view from './view';\n\ncreateCustomElement('sn-truncated-text-more', {\n\tview,\n\trenderer: { type: snabbdom },\n\tstyles,\n\tsetInitialState: () => ({\n\t\tshowMore: false,\n\t\ttooltipOpen: false,\n\t}),\n\tproperties: {\n\t\ttext: {\n\t\t\tdefault: '',\n\t\t},\n\t},\n\tbehaviors: [tooltipBehavior, truncationBehavior],\n\tactionHandlers: {\n\t\t[SN_TRUNCATED_TEXT_SHOW_MORE]: (coeffects) => {\n\t\t\tconst { action, updateState } = coeffects;\n\t\t\tconst { node } = action.payload;\n\t\t\tconst element = node.elm;\n\t\t\tif (isOverflowing(element)) {\n\t\t\t\tupdateState({\n\t\t\t\t\tshowMore: true,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[SN_TRUNCATED_TEXT_SHOW_TOOLTIP]: (coeffects) => {\n\t\t\tconst { dispatch, updateState, state, action } = coeffects;\n\t\t\tconst { currentTarget, type } = action.payload;\n\t\t\tlet showTooltip = false;\n\t\t\t// when user clicks on More, if tooltip is already open we need to hide it\n\t\t\tif (type === 'click' && state.tooltipOpen) {\n\t\t\t\tcurrentTarget.blur();\n\t\t\t}\n\t\t\tif (!state.tooltipOpen && type !== 'focusout') {\n\t\t\t\tshowTooltip = true;\n\t\t\t}\n\t\t\tconst textElement = currentTarget.parentElement.querySelector(\n\t\t\t\t'.gallery-card-field-body-text'\n\t\t\t);\n\t\t\tupdateState({\n\t\t\t\ttooltipOpen: showTooltip ? true : false,\n\t\t\t});\n\t\t\treturn dispatch(showTooltip ? TOOLTIP_SHOW : TOOLTIP_HIDE, {\n\t\t\t\ttarget: textElement,\n\t\t\t});\n\t\t},\n\t},\n});\n","import { isMobile } from '../../shared/utils/mobileUtils';\n\nimport { galleryCardField } from './galleryCardField';\nimport { CLASSNAMES } from './layoutConstants';\nimport './truncatedTextMore/index';\n\n/**\n * galleryCardHeader to render the Card Header with title and card actions\n * @param {Object} fieldProps;\n * @param {Record<string, any>} fieldProps.cardFieldData;\n * @param {Row} fieldProps.cardItem;\n * @param {Now.Dispatch} fieldProps.dispatch;\n * @param {RowActions | undefined} fieldProps.actions;\n * @param {{ contextApi?: any,[key: string]: any;  }} fieldProps.context;\n */\nconst galleryCardBody = (fieldProps) => {\n\tconst { cardFieldData, dispatch, context } = fieldProps;\n\tconst { contextApi } = context || {};\n\tconst { bodyText, supplementaryFields } = cardFieldData;\n\treturn (\n\t\t<div className={CLASSNAMES.SN_LIST_GALLERY_BODY}>\n\t\t\t{bodyText?.cell && (\n\t\t\t\t<div>\n\t\t\t\t\t<div className={CLASSNAMES.SN_LIST_GALLERY_BODY_TEXT}>\n\t\t\t\t\t\t{galleryCardField({\n\t\t\t\t\t\t\t...bodyText,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tshowMoreWhenTruncated: isMobile(),\n\t\t\t\t\t\t})}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t<div className={CLASSNAMES.SN_LIST_GALLERY_BODY_FIELDS}>\n\t\t\t\t{supplementaryFields &&\n\t\t\t\t\tsupplementaryFields.map((\n\t\t\t\t\t\t/** @type {FieldRendererProps} */ fieldItem\n\t\t\t\t\t) => {\n\t\t\t\t\t\treturn galleryCardField({\n\t\t\t\t\t\t\t...fieldItem,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tcontextApi,\n\t\t\t\t\t\t});\n\t\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default galleryCardBody;\n","import { t } from 'sn-translate';\n\nimport { getTooltipProps } from '../../shared/utils/tooltipUtil';\nimport { NOW_CARD_HEADER_ACTION_CLICKED } from '../constants/actionConstants';\nimport { splitActions } from '../utils/galleryCardUtils';\n\nimport { galleryCardFieldValue } from './galleryCardField';\nimport {\n\tCARD_ACTION_ICON_SIZE_SMALL,\n\tCARD_ACTION_ICON_SIZE_MEDIUM,\n\tCARD_DROPDOWN_ID,\n\tCARD_DROPDOWN_ICON,\n\tNOW_BARE_BUTTON_TERTIARY,\n\tCLASSNAMES,\n} from './layoutConstants';\n\n/**\n * galleryCardHeader to render the Card Header with title and card actions\n * @param {Object} fieldProps;\n * @param {Record<string, FieldRendererProps>} fieldProps.cardFieldData;\n * @param {RowActions | any} fieldProps.actions;\n * @param {Row} fieldProps.cardItem;\n * @param {ContextProps} fieldProps.context;\n * @param {Now.Dispatch} fieldProps.dispatch;\n */\nconst galleryCardHeader = (fieldProps) => {\n\tconst {\n\t\tcardFieldData,\n\t\tactions = {},\n\t\tcardItem,\n\t\tcontext,\n\t\tdispatch,\n\t} = fieldProps;\n\n\tconst { heading, tagline, metadata } = cardFieldData;\n\tconst { defaultActions, dropdownActions } = splitActions(actions, context);\n\tconst actionIconSize = tagline?.cell\n\t\t? CARD_ACTION_ICON_SIZE_SMALL\n\t\t: CARD_ACTION_ICON_SIZE_MEDIUM;\n\n\treturn (\n\t\t<now-card-header\n\t\t\theading={{\n\t\t\t\tlabel: renderField({\n\t\t\t\t\t...heading,\n\t\t\t\t\tdispatch,\n\t\t\t\t\trow: cardItem,\n\t\t\t\t}),\n\t\t\t\tsize: CARD_ACTION_ICON_SIZE_MEDIUM,\n\t\t\t}}\n\t\t\ttagline={\n\t\t\t\ttagline?.cell && {\n\t\t\t\t\tlabel: renderField({\n\t\t\t\t\t\t...tagline,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\trow: cardItem,\n\t\t\t\t\t}),\n\t\t\t\t}\n\t\t\t}\n\t\t\tdropdowns={\n\t\t\t\tdropdownActions.length && [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: CARD_DROPDOWN_ID,\n\t\t\t\t\t\titems: dropdownActions,\n\t\t\t\t\t\ticon: CARD_DROPDOWN_ICON,\n\t\t\t\t\t\tlabel: t('Card actions'),\n\t\t\t\t\t},\n\t\t\t\t]\n\t\t\t}\n\t\t>\n\t\t\t<div\n\t\t\t\tslot=\"metadata\"\n\t\t\t\tclassName={CLASSNAMES.SN_LIST_GALLERY_CARD_METADATA}\n\t\t\t>\n\t\t\t\t{metadata?.cell && (\n\t\t\t\t\t<now-highlighted-value\n\t\t\t\t\t\tlabel={renderField({\n\t\t\t\t\t\t\t...metadata,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\trow: cardItem,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\tCLASSNAMES.SN_LIST_GALLERY_CARD_HIGHLIGHTED_VALUE\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{renderDefaultActions(defaultActions, actionIconSize, dispatch)}\n\t\t\t</div>\n\t\t</now-card-header>\n\t);\n};\n\n// Render default actions for the card, < 4 actions will be rendered as buttons, rest will be rendered in dropdown\nconst renderDefaultActions = (\n\t/** @type {RowActionItem[]} */ defaultActions,\n\t/** @type {string} */ size,\n\t/** @type {Now.Dispatch} */ dispatch\n) => {\n\tif (!defaultActions.length) return null;\n\n\tconst defaultActionButtons = defaultActions.map((action) => (\n\t\t<now-button-iconic\n\t\t\tbare\n\t\t\ticon={action?.icon || null}\n\t\t\tsize={size}\n\t\t\tvariant={NOW_BARE_BUTTON_TERTIARY}\n\t\t\thide-padding={\n\t\t\t\tsize === CARD_ACTION_ICON_SIZE_MEDIUM ? true : undefined\n\t\t\t}\n\t\t\tconfig-aria={{\n\t\t\t\tbutton: { 'aria-label': action.label },\n\t\t\t}}\n\t\t\ton-click={() =>\n\t\t\t\tdispatch(NOW_CARD_HEADER_ACTION_CLICKED, {\n\t\t\t\t\taction,\n\t\t\t\t})\n\t\t\t}\n\t\t\t{...getTooltipProps(action.label, dispatch)}\n\t\t\tappend-to-payload={{ context: { action } }}\n\t\t/>\n\t));\n\n\treturn (\n\t\t<div className={CLASSNAMES.SN_LIST_GALLERY_CARD_DEFAULT_ACTIONS}>\n\t\t\t{defaultActionButtons}\n\t\t</div>\n\t);\n};\n\nconst renderField = (/** @type {FieldRendererProps} */ fieldProps) => {\n\treturn (\n\t\t<div className={CLASSNAMES.SN_LIST_GALLERY_HEADER_FIELD}>\n\t\t\t{galleryCardFieldValue(fieldProps)}\n\t\t</div>\n\t);\n};\n\nexport default galleryCardHeader;\n","import { t } from 'sn-translate';\n\nimport rowSelectors from '../../shared/utils/selectors/rowSelectors';\nimport { getTooltipProps } from '../../shared/utils/tooltipUtil';\nimport { getCardFieldValue } from '../utils/galleryCardUtils';\n\nimport galleryCardBody from './galleryCardBody';\nimport galleryCardHeader from './galleryCardHeader';\nimport {\n\tCARD_SIDEBAR_COLOR,\n\tCARD_SIDEBAR_VARIANT,\n\tSN_LIST_GALLERY_CARD_INTERACTIONS,\n} from './layoutConstants';\n\n/**\n * This galleryCardItem renders the basic card component composition.\n *\n * @param {Object} props\n * @param {Row} props.cardItem\n * @param {FieldDefinitions} props.fieldDefinitions\n * @param {CardProperties} props.cardProperties\n * @param {ContextProps} props.context\n * @param {Now.Dispatch} props.dispatch\n */\nconst galleryCardItem = (props) => {\n\tconst {\n\t\tcardItem,\n\t\tfieldDefinitions: { galleryConfig, fieldMappings },\n\t\tdispatch,\n\t\tcardProperties,\n\t\tcontext,\n\t} = props;\n\n\tconst { actions, selectionEnabled } = cardProperties || {};\n\n\tconst { rowSelectionState: { selectedRows = {} } = {}, cardIndex } =\n\t\tcontext || {};\n\n\tconst {\n\t\toptions: {\n\t\t\tenableOnlySingleSelection = false,\n\t\t\tgalleryItemTooltip = '',\n\t\t} = {},\n\t} = galleryConfig || {};\n\n\tconst {\n\t\tvisualTreatment: { isHighlighted = false } = {},\n\t\tkey,\n\t\tselectionDisabled,\n\t} = cardItem;\n\n\tconst cardFieldData = {\n\t\t...getCardFieldValue(\n\t\t\tgalleryConfig,\n\t\t\tcardItem,\n\t\t\tfieldMappings,\n\t\t\tcardProperties\n\t\t),\n\t};\n\n\tconst fieldProps = {\n\t\tcardFieldData,\n\t\tactions,\n\t\tcardItem,\n\t\tcontext,\n\t\tdispatch,\n\t};\n\tconst isSelected = rowSelectors.isRowChecked(selectedRows, cardItem.key);\n\tconst ariaLabel = cardFieldData.heading.cell?.label || '';\n\n\tconst ariaSelectedState = selectionEnabled && isSelected ? 'true' : 'false';\n\tconst updatedgalleryItemTooltip = selectionEnabled\n\t\t? !isSelected\n\t\t\t? t('Select Record')\n\t\t\t: ''\n\t\t: galleryItemTooltip;\n\n\treturn (\n\t\t<now-card\n\t\t\tinteraction={\n\t\t\t\tselectionDisabled\n\t\t\t\t\t? SN_LIST_GALLERY_CARD_INTERACTIONS.NONE\n\t\t\t\t\t: selectionEnabled\n\t\t\t\t\t? SN_LIST_GALLERY_CARD_INTERACTIONS.SELECT\n\t\t\t\t\t: SN_LIST_GALLERY_CARD_INTERACTIONS.CLICK\n\t\t\t}\n\t\t\thideShadow={selectionDisabled}\n\t\t\tselected={isSelected}\n\t\t\t// manage-selected\n\t\t\tappend-to-payload={{\n\t\t\t\trowKey: key,\n\t\t\t\tchecked: !isSelected,\n\t\t\t\tcardItem,\n\t\t\t\trowIndex: context?.cardIndex,\n\t\t\t\tenableOnlySingleSelection,\n\t\t\t}}\n\t\t\t// Enable the sidebar only if the card is highlighted\n\t\t\tsidebar={\n\t\t\t\tisHighlighted\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tcolor: CARD_SIDEBAR_COLOR,\n\t\t\t\t\t\t\tvariant: CARD_SIDEBAR_VARIANT,\n\t\t\t\t\t  }\n\t\t\t\t\t: {}\n\t\t\t}\n\t\t\tconfig-aria={{\n\t\t\t\tbutton: !selectionDisabled\n\t\t\t\t\t? {\n\t\t\t\t\t\t\t'aria-label': ariaLabel,\n\t\t\t\t\t\t\trole: enableOnlySingleSelection\n\t\t\t\t\t\t\t\t? 'radio'\n\t\t\t\t\t\t\t\t: 'checkbox',\n\t\t\t\t\t\t\t'aria-checked': ariaSelectedState,\n\t\t\t\t\t  }\n\t\t\t\t\t: {},\n\t\t\t}}\n\t\t\t{...getTooltipProps(updatedgalleryItemTooltip, dispatch)}\n\t\t\tdata-navIndex={(cardIndex ?? 0) + 1}\n\t\t>\n\t\t\t{galleryCardHeader(fieldProps)}\n\t\t\t{galleryCardBody(fieldProps)}\n\t\t</now-card>\n\t);\n};\n\nexport default galleryCardItem;\n","import { t } from 'sn-translate';\n\nimport { GROUP_ACTION_CLICKED } from '../constants';\n\nexport const renderGroupedActions = (\n\t/** @type {Row} */ cardItem,\n\t/** @type {Now.Dispatch} */ dispatch\n) => {\n\tconst { groupActions = [] } = cardItem;\n\tconst actionCount = groupActions.length === 1;\n\tconst context = {\n\t\trow: cardItem,\n\t\ttypeOfAction: 'groupAction',\n\t};\n\n\tconst actionClickHandler = (/** @type {Event} */ event) => {\n\t\tif (actionCount) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tdispatch(GROUP_ACTION_CLICKED, {\n\t\t\t\titem: groupActions[0],\n\t\t\t\tcontext,\n\t\t\t});\n\t\t}\n\t};\n\n\treturn (\n\t\t<now-dropdown-custom-target\n\t\t\tslot=\"metadata\"\n\t\t\tselect=\"none\"\n\t\t\titems={groupActions}\n\t\t\tappend-to-payload={{ context }}\n\t\t\ton-click={(/** @type {Event} */ event) => event.stopPropagation()}\n\t\t\tconfig-aria={{\n\t\t\t\tpanel: { 'aria-label': t('Custom group action button') },\n\t\t\t}}\n\t\t>\n\t\t\t{actionCount ? (\n\t\t\t\t<now-text-link\n\t\t\t\t\tlabel={groupActions[0].label}\n\t\t\t\t\tdata-testId=\"groupAction\"\n\t\t\t\t\t{...buttonProps}\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\ton-click={actionClickHandler}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tbare\n\t\t\t\t\ticon=\"ellipsis-v-fill\"\n\t\t\t\t\t{...buttonProps}\n\t\t\t\t\ton-click={actionClickHandler}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</now-dropdown-custom-target>\n\t);\n};\n\nconst buttonProps = {\n\tsize: 'md',\n\tslot: 'trigger',\n\tvariant: 'tertiary',\n\t'config-aria': {\n\t\tbutton: { 'aria-label': t('Group Action') },\n\t},\n};\n","import { renderGroupedActions } from '../../../shared/views/groupActions';\nimport { CLASSNAMES } from '../layoutConstants';\n\nimport galleryCardViewDefault from './galleryCardViewDefault';\n\nconst defaultItemHeaderProps = {\n\tweight: 'normal',\n\tsize: 'md',\n\tvariant: 'primary',\n};\n\nconst badgeProps = {\n\tslot: 'identifier',\n\tstatus: 'gray',\n\tvariant: 'secondary',\n\tsize: 'sm',\n};\n\n/**\n * This galleryCard renders the basic card component composition.\n *\n * @param {Object} props\n * @param {Row} props.cardItem\n * @param {FieldDefinitions} props.fieldDefinitions\n * @param {CardProperties} props.cardProperties\n * @param {ContextProps} props.context\n * @param {Now.Dispatch} props.dispatch\n */\nconst galleryCardViewGrouped = (props) => {\n\tconst {\n\t\tcardItem,\n\t\tfieldDefinitions,\n\t\tcardProperties,\n\t\tcontext,\n\t\tdispatch,\n\t} = props;\n\n\treturn (\n\t\t<div\n\t\t\tkey={cardItem.key}\n\t\t\ttest-id={cardItem.key}\n\t\t\tclassName={CLASSNAMES.SN_LIST_GALLERY_GROUPED_VIEW}\n\t\t>\n\t\t\t<now-accordion\n\t\t\t\tkey={`${cardItem.key}'-accordion`}\n\t\t\t\theading-level={3}\n\t\t\t\ttrigger-icon={{ position: '' }}\n\t\t\t\thide-dividers\n\t\t\t\tclassName={CLASSNAMES.SN_LIST_GALLERY_NOW_ACCORDION}\n\t\t\t>\n\t\t\t\t{cardItem &&\n\t\t\t\t\tgalleryGroupedItem(\n\t\t\t\t\t\tcardItem,\n\t\t\t\t\t\tfieldDefinitions,\n\t\t\t\t\t\tcardProperties,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\tdispatch\n\t\t\t\t\t)}\n\t\t\t</now-accordion>\n\t\t</div>\n\t);\n};\n\n/**\n * This galleryCard renders the basic card component composition.\n *\n * @param {Row} cardItem\n * @param {FieldDefinitions} fieldDefinitions\n * @param {CardProperties} cardProperties\n * @param {ContextProps} context\n * @param {Now.Dispatch} dispatch\n */\nconst galleryGroupedItem = (\n\tcardItem,\n\tfieldDefinitions,\n\tcardProperties,\n\tcontext,\n\tdispatch\n) => {\n\tconst { groupedRowLabel, groupedRowCount, key, children } = cardItem;\n\n\tconst galleryDataDefinitions = {\n\t\tcards: children || [],\n\t\tfieldDefinitions,\n\t\tcardProperties,\n\t};\n\n\tconst { groupingState = { expandedGroupsArray: [''] }, cardIndex } =\n\t\tcontext || {};\n\n\tconst { expandedGroupsArray } = groupingState;\n\n\treturn (\n\t\t<now-accordion-item\n\t\t\texpanded={expandedGroupsArray?.includes(key)}\n\t\t\theader={{\n\t\t\t\tlabel: groupedRowLabel,\n\t\t\t\t...defaultItemHeaderProps,\n\t\t\t}}\n\t\t\tkey={`${cardItem.key}'-accordion-item`}\n\t\t\tappend-to-payload={{ groupContext: cardItem }}\n\t\t>\n\t\t\t<now-icon\n\t\t\t\tslot=\"identifier\"\n\t\t\t\ticon={'chevron-right-outline'}\n\t\t\t\tsize={'md'}\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tstyle={{\n\t\t\t\t\ttransitionDuration: '0.2s',\n\t\t\t\t\ttransitionProperty: 'transform',\n\t\t\t\t\ttransform: expandedGroupsArray?.includes(key)\n\t\t\t\t\t\t? 'rotate(90deg)'\n\t\t\t\t\t\t: 'rotate(0deg)',\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t<now-badge value={groupedRowCount} {...badgeProps} />\n\t\t\t{renderGroupedActions(cardItem, dispatch)}\n\t\t\t{galleryCardViewDefault(\n\t\t\t\tgalleryDataDefinitions,\n\t\t\t\t{\n\t\t\t\t\t...context,\n\t\t\t\t\tenabledSlot: true,\n\t\t\t\t\tgroupIndex: cardIndex,\n\t\t\t\t\tcardIndex,\n\t\t\t\t},\n\t\t\t\tdispatch\n\t\t\t)}\n\t\t</now-accordion-item>\n\t);\n};\n\nexport default galleryCardViewGrouped;\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nimport galleryCardItem from '../galleryCardItem';\nimport { CLASSNAMES } from '../layoutConstants';\n\nimport galleryCardViewGrouped from './galleryCardViewGrouped';\n\n/**\n * This galleryCardViewDefault renders container composition for the now-card-list.\n * @param {GalleryState} galleryDataDefinitions;\n * @param {ContextProps} context;\n * @param {Now.Dispatch} dispatch;\n */\nconst galleryCardViewDefault = (galleryDataDefinitions, context, dispatch) => {\n\tconst { cards, fieldDefinitions, cardProperties } = galleryDataDefinitions;\n\tconst {\n\t\tenabledSlot = false,\n\t\tgroupingState: { isGroupedData = false } = {},\n\t\tgroupIndex,\n\t\trowSelectionState: { selectedRows } = {},\n\t} = context;\n\tconst galleryContainerClassName = `${\n\t\tCLASSNAMES.SN_LIST_GALLERY_CONTAINER\n\t} ${isGroupedData ? CLASSNAMES.SN_LIST_GALLERY_GROUPED : ''}`;\n\treturn (\n\t\t<div\n\t\t\tclassName={galleryContainerClassName}\n\t\t\tslot={enabledSlot ? 'content' : ''}\n\t\t>\n\t\t\t{cards &&\n\t\t\t\tcards.map((cardItem, cardIndex) => {\n\t\t\t\t\tconst props = {\n\t\t\t\t\t\tcardItem,\n\t\t\t\t\t\tfieldDefinitions,\n\t\t\t\t\t\tcardProperties,\n\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\t...context,\n\t\t\t\t\t\t\tgroupIndex,\n\t\t\t\t\t\t\tcardIndex,\n\t\t\t\t\t\t\tselectedRows,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t};\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Fragment key={cardItem.key}>\n\t\t\t\t\t\t\t{isGroupedData && !cardItem.cells\n\t\t\t\t\t\t\t\t? galleryCardViewGrouped(props)\n\t\t\t\t\t\t\t\t: galleryCardItem(props)}\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t</div>\n\t);\n};\n\nexport default galleryCardViewDefault;\n","import isEmpty from 'lodash/isEmpty';\n\nimport {\n\tcustomComponentType,\n\trenderCustomComponentDisplay,\n} from '../../../shared/utils/customLoader';\nimport rowSelectors from '../../../shared/utils/selectors/rowSelectors';\nimport {\n\tOBSERVE_VIRTUAL_PAGE,\n\tOBSERVE_VIRTUAL_PAGE_FOR_RESIZE,\n\tINITIALIZE_BOTTOM_OBSERVER,\n\tVIRTUAL_PAGE_SIZE,\n\tSCROLL_TO_TOP,\n\tINITIALIZE_FIRST_PAGE_OBSERVER,\n} from '../../behaviors/virtualizedGalleryBehavior/constants';\nimport { SCROLL_TO_TOP_LABEL } from '../layoutConstants';\n\nimport galleryCardViewDefault from './galleryCardViewDefault';\n\n/**\n * Renders custom row based on current status, eg: loader if more pages are being fetched, end of list if no more pages are available\n * @param {Row | null} customRow\n * @param {Record<string, FetchedComponent>} fetchedComponents\n * @param {string} dir\n */\nconst renderCustomRow = (customRow, fetchedComponents, dir) => {\n\tif (!customRow) return null;\n\n\tconst componentTag = rowSelectors.getCustomRowComponentTag(customRow);\n\tconst componentDefaultProps = rowSelectors.getCustomRowComponentProps(\n\t\tcustomRow\n\t);\n\n\treturn renderCustomComponentDisplay(\n\t\tcustomComponentType.GALLERY_VIRTUALIZED_STATUS_ROW,\n\t\t{ fetchedComponents },\n\t\tcomponentTag,\n\t\tcomponentDefaultProps,\n\t\tdir,\n\t\t{},\n\t\t{},\n\t\tnull,\n\t\t''\n\t);\n};\n\n/**\n * @param {Now.Dispatch} dispatch\n */\nconst renderScrollToTopButton = (dispatch) => {\n\treturn (\n\t\t<now-button-iconic\n\t\t\tclassName=\"gallery-virtualized-scroll-to-top-button\"\n\t\t\ticon=\"arrow-up-most-outline\"\n\t\t\tsize=\"md\"\n\t\t\tvariant=\"primary\"\n\t\t\tconfigAria={{ 'aria-label': SCROLL_TO_TOP_LABEL }}\n\t\t\ttooltipContent={SCROLL_TO_TOP_LABEL}\n\t\t\ton-click={() => {\n\t\t\t\tdispatch(SCROLL_TO_TOP);\n\t\t\t}}\n\t\t/>\n\t);\n};\n\n/**\n *\n * @param {VirtualPage} virtualPage\n * @param {GalleryState} galleryDataDefinition\n * @param {ContextProps} context\n * @param {Now.Dispatch} dispatch\n */\nconst renderVirtualizedPageContent = (\n\tvirtualPage,\n\tgalleryDataDefinition,\n\tcontext,\n\tdispatch\n) => {\n\tconst { cards, fieldDefinitions, cardProperties } = galleryDataDefinition;\n\tconst { rowStartIndex, rowEndIndex } = virtualPage;\n\tconst galleryDataDefinitions = {\n\t\tcards: cards.slice(rowStartIndex, rowEndIndex + 1),\n\t\tfieldDefinitions,\n\t\tcardProperties,\n\t};\n\treturn galleryCardViewDefault(galleryDataDefinitions, context, dispatch);\n};\n\n/**\n * @param {object} props\n * @param {VirtualPage} props.virtualPage\n * @param {number} props.virtualPagesCount\n * @param {number} props.virtualPageHeight\n * @param {GalleryState} props.galleryDataDefinition\n * @param {Array<number>} props.visibleVirtualPages\n * @param {number} props.observedVirtualPageIdForResize\n * @param {Now.Dispatch} props.dispatch\n * @param {ContextProps} props.context\n */\nconst renderVirtualizedPage = (props) => {\n\tconst {\n\t\tvirtualPage,\n\t\tvirtualPagesCount,\n\t\tvirtualPageHeight,\n\t\tvisibleVirtualPages,\n\t\tobservedVirtualPageIdForResize,\n\t\tgalleryDataDefinition,\n\t\tdispatch,\n\t\tcontext,\n\t} = props;\n\n\tconst visibleIndex = visibleVirtualPages.indexOf(virtualPage.id);\n\tconst isLastVisiblePage =\n\t\tvirtualPage.id === virtualPagesCount - 1 && visibleIndex > -1;\n\tconst isObservedPageForResize =\n\t\tobservedVirtualPageIdForResize === virtualPage.id;\n\tconst shouldSetHeight =\n\t\tvirtualPageHeight && !isObservedPageForResize && !isLastVisiblePage;\n\n\treturn (\n\t\t<div\n\t\t\tkey={virtualPage.id}\n\t\t\tstyle={shouldSetHeight ? { height: `${virtualPageHeight}px` } : {}}\n\t\t\tdata-pageid={`${virtualPage.id}`}\n\t\t\tclassName={`container-${virtualPage.id} page-observer-${virtualPage.id}`}\n\t\t\thook-insert={({ elm }) => {\n\t\t\t\tdispatch(OBSERVE_VIRTUAL_PAGE, {\n\t\t\t\t\tpageId: virtualPage.id,\n\t\t\t\t\tpageElm: elm,\n\t\t\t\t});\n\t\t\t\tif (virtualPage.id === 0) {\n\t\t\t\t\tdispatch(INITIALIZE_FIRST_PAGE_OBSERVER, {\n\t\t\t\t\t\tpageElm: elm,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}}\n\t\t\thook-update={({ elm }) => {\n\t\t\t\tif (isObservedPageForResize)\n\t\t\t\t\tdispatch(OBSERVE_VIRTUAL_PAGE_FOR_RESIZE, {\n\t\t\t\t\t\tpageId: virtualPage.id,\n\t\t\t\t\t\tpageElm: elm,\n\t\t\t\t\t});\n\t\t\t}}\n\t\t\tdata-visibleindex={visibleIndex}\n\t\t>\n\t\t\t{visibleVirtualPages.includes(virtualPage.id)\n\t\t\t\t? renderVirtualizedPageContent(\n\t\t\t\t\t\tvirtualPage,\n\t\t\t\t\t\tgalleryDataDefinition,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\tdispatch\n\t\t\t\t  )\n\t\t\t\t: null}\n\t\t</div>\n\t);\n};\n\n/**\n *\n * @param {VirtualPage} virtualPage\n * @param {VirtualPageDimensions} virtualPageDimensions\n * @param {CardDimensions} cardDimensions\n */\nconst getVirtualPageHeight = (\n\tvirtualPage,\n\tvirtualPageDimensions,\n\tcardDimensions\n) => {\n\tif (isEmpty(virtualPageDimensions) || isEmpty(cardDimensions)) return 0;\n\n\tconst { pageHeight, pageWidth } = virtualPageDimensions;\n\tconst { cardWidth, cardHeight } = cardDimensions;\n\tconst totalCards = virtualPage.rowEndIndex - virtualPage.rowStartIndex + 1;\n\n\tif (totalCards === VIRTUAL_PAGE_SIZE) return pageHeight;\n\tif (cardWidth) {\n\t\tconst noOfCardsInRow = pageWidth / cardWidth;\n\t\tconst noOfRows = totalCards / noOfCardsInRow;\n\t\treturn (noOfRows + 1) * cardHeight;\n\t}\n\treturn pageHeight;\n};\n\n/**\n * @param {object} props\n * @param {GalleryState} props.galleryDataDefinition\n * @param {VirtualizedGalleryBehaviorState} props.virtualizedCardsDefinition\n * @param {string} props.dir\n * @param {Record<string, FetchedComponent>} props.fetchedComponents\n * @param {ContextProps} props.context\n * @param {Now.Dispatch} props.dispatch\n */\nconst renderVirtualizedPages = (props) => {\n\tconst {\n\t\tgalleryDataDefinition,\n\t\tvirtualizedCardsDefinition: {\n\t\t\tvirtualPageStore,\n\t\t\tvirtualPageDimensions,\n\t\t\tcardDimensions,\n\t\t\tvisibleVirtualPages,\n\t\t\tobservedVirtualPageIdForResize,\n\t\t\tcustomRow,\n\t\t\tshowScrollToTopButton,\n\t\t},\n\t\tdir,\n\t\tfetchedComponents,\n\t\tcontext,\n\t\tdispatch,\n\t} = props;\n\n\tconst pageStoreKeys = Object.keys(virtualPageStore);\n\tconst hasVirtualPages = pageStoreKeys.length > 0;\n\tconst virtualPagesCount = pageStoreKeys.length;\n\n\treturn (\n\t\t<div className=\"gallery-virtualized-container\">\n\t\t\t<div\n\t\t\t\tid=\"gallery-virtualized-scroll-element\"\n\t\t\t\tkey=\"gallery-virtualized-scroll-element\"\n\t\t\t/>\n\t\t\t<div className=\"gallery-virtualized-page-container\">\n\t\t\t\t{pageStoreKeys.map((pageId) => {\n\t\t\t\t\tconst virtualPage = virtualPageStore[pageId];\n\t\t\t\t\tconst virtualPageHeight = getVirtualPageHeight(\n\t\t\t\t\t\tvirtualPage,\n\t\t\t\t\t\tvirtualPageDimensions,\n\t\t\t\t\t\tcardDimensions\n\t\t\t\t\t);\n\t\t\t\t\tconst pageProps = {\n\t\t\t\t\t\tvirtualPage,\n\t\t\t\t\t\tvirtualPagesCount,\n\t\t\t\t\t\tvirtualPageHeight,\n\t\t\t\t\t\tvisibleVirtualPages,\n\t\t\t\t\t\tobservedVirtualPageIdForResize,\n\t\t\t\t\t\tgalleryDataDefinition,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t};\n\t\t\t\t\treturn renderVirtualizedPage(pageProps);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t\t{hasVirtualPages ? (\n\t\t\t\t<div\n\t\t\t\t\tkey=\"gallery-virtualized-bottom-observer\"\n\t\t\t\t\thook-insert={({ elm }) => {\n\t\t\t\t\t\tdispatch(INITIALIZE_BOTTOM_OBSERVER, {\n\t\t\t\t\t\t\tobservedBottomElm: elm,\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t></div>\n\t\t\t) : null}\n\t\t\t{customRow\n\t\t\t\t? renderCustomRow(customRow, fetchedComponents, dir)\n\t\t\t\t: null}\n\t\t\t{showScrollToTopButton ? renderScrollToTopButton(dispatch) : null}\n\t\t</div>\n\t);\n};\n\n/**\n * @param {GalleryState} galleryDataDefinition\n * @param {VirtualizedGalleryBehaviorState} virtualizedCardsDefinition\n * @param {string} dir\n * @param {Record<string, FetchedComponent>} fetchedComponents\n * @param {ContextProps} context\n * @param {Now.Dispatch} dispatch\n */\nconst galleryCardViewVirtualized = (\n\tgalleryDataDefinition,\n\tvirtualizedCardsDefinition,\n\tdir,\n\tfetchedComponents,\n\tcontext,\n\tdispatch\n) => {\n\tconst props = {\n\t\tgalleryDataDefinition,\n\t\tvirtualizedCardsDefinition,\n\t\tdir,\n\t\tfetchedComponents,\n\t\tcontext,\n\t\tdispatch,\n\t};\n\treturn renderVirtualizedPages(props);\n};\n\nexport default galleryCardViewVirtualized;\n","import { SN_LIST_GALLERY_EXPAND_ALL_GROUPS } from '../../constants/actionConstants';\nimport {\n\tGROUPED_EXPAND_ALL_GROUPS,\n\tGROUPED_COLLAPSE_ALL_GROUPS,\n\tNOW_BARE_BUTTON_TERTIARY,\n\tCARD_ACTION_ICON_SIZE_SMALL,\n\tCLASSNAMES,\n} from '../layoutConstants';\n\n/**\n * This function renders the grouped view toggle button.\n *\n * @param {ContextProps} context\n * @param {Now.Dispatch} dispatch\n */\nexport const renderGroupedViewToggleButton = (context, dispatch) => {\n\tconst {\n\t\tgroupingState: { expandAllGroups = false, isGroupedData = false } = {},\n\t} = context || {};\n\tif (!isGroupedData) return null;\n\n\tconst handleGroupToggle = () => {\n\t\tdispatch(SN_LIST_GALLERY_EXPAND_ALL_GROUPS, {\n\t\t\texpandAllGroups: !expandAllGroups,\n\t\t\tcontrolledGroupState: true,\n\t\t});\n\t};\n\n\treturn (\n\t\t<now-button-bare // Toggle expand and collapse for all groups\n\t\t\tlabel={\n\t\t\t\t!expandAllGroups\n\t\t\t\t\t? GROUPED_EXPAND_ALL_GROUPS\n\t\t\t\t\t: GROUPED_COLLAPSE_ALL_GROUPS\n\t\t\t}\n\t\t\ton-click={handleGroupToggle}\n\t\t\tvariant={NOW_BARE_BUTTON_TERTIARY}\n\t\t\tsize={CARD_ACTION_ICON_SIZE_SMALL}\n\t\t\tclassName={CLASSNAMES.SN_LIST_GALLERY_CARD_EXPAND_ALL_BUTTON}\n\t\t/>\n\t);\n};\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nimport { getVirtualizedBehaviorState } from '../behaviors/virtualizedGalleryBehavior/virtualizedGalleryBehavior';\n\nimport { renderActionableMessage } from './actionableMessage/actionableMessage';\nimport galleryCardViewDefault from './galleryLayouts/galleryCardViewDefault';\nimport galleryCardViewVirtualized from './galleryLayouts/galleryCardViewVirtualized';\nimport { renderGroupedViewToggleButton } from './galleryLayouts/groupedViewToggle';\nimport { CLASSNAMES } from './layoutConstants';\n\n/**\n * @type {View<GalleryProps, State>}\n * This galleryView renders container composition for the now-card-list.\n */\nconst galleryView = (state, { dispatch }) => {\n\tconst {\n\t\tcards,\n\t\tfieldDefinitions,\n\t\tgroupingState,\n\t\tcardProperties,\n\t\tbehaviors: {\n\t\t\tmediaQuery: { isMobile },\n\t\t},\n\t} = state;\n\n\tconst {\n\t\tvirtualizedScrollEnabled,\n\t\tsharedContext: {\n\t\t\tdir,\n\t\t\tfetchedComponents,\n\t\t\trowSelectionState,\n\t\t\tcontextApi,\n\t\t},\n\t} = state.properties;\n\n\tconst { topActionableMessage, bottomActionableMessage } = cardProperties;\n\tconst galleryDataDefinition = { cards, fieldDefinitions, cardProperties };\n\tconst context = { groupingState, isMobile, rowSelectionState, contextApi }; // context is used to pass the selective state props to the child components.\n\tconst showVirtualizedGalleryView =\n\t\tvirtualizedScrollEnabled && !groupingState?.isGroupedData;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<div className={CLASSNAMES.SN_LIST_GALLERY}>\n\t\t\t\t{renderActionableMessage(topActionableMessage, 'top')}\n\t\t\t\t{renderGroupedViewToggleButton(context, dispatch)}\n\t\t\t\t{showVirtualizedGalleryView\n\t\t\t\t\t? galleryCardViewVirtualized(\n\t\t\t\t\t\t\tgalleryDataDefinition,\n\t\t\t\t\t\t\tgetVirtualizedBehaviorState(state),\n\t\t\t\t\t\t\tdir,\n\t\t\t\t\t\t\tfetchedComponents,\n\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t  )\n\t\t\t\t\t: galleryCardViewDefault(\n\t\t\t\t\t\t\tgalleryDataDefinition,\n\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t  )}\n\t\t\t\t{renderActionableMessage(bottomActionableMessage, 'bottom')}\n\t\t\t</div>\n\t\t</Fragment>\n\t);\n};\n\nexport default galleryView;\n","import mediaQueryBehavior from '@servicenow/behavior-media-query';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nimport '@servicenow/now-card';\n\nimport galleryCardInteractionBehavior from './behaviors/galleryCardInteractionBehavior/galleryCardInteractionBehavior';\nimport galleryDataBehavior from './behaviors/galleryDataBehavior/galleryDataBehavior';\nimport galleryGroupedBehavior from './behaviors/galleryGroupedBehavior/galleryGroupedBehavior';\nimport galleryKeyboardNavBehavior from './behaviors/galleryKeyboardNavbehavior/galleryKeyboardNavbehavior';\nimport { virtualizedGalleryBehavior } from './behaviors/virtualizedGalleryBehavior/virtualizedGalleryBehavior';\nimport { galleryViewPropsDefinition } from './properties';\nimport galleryView from './views/galleryView';\nimport styles from './views/galleryView.scss';\nimport { SN_LIST_GALLERY_VIEW } from './views/layoutConstants';\n\n/**\n * Define the initial state of the sn-list-gallery element.\n * @type {GalleryState}\n */\nconst initialState = {\n\tcards: [],\n\tcardProperties: {},\n\tfieldDefinitions: {\n\t\tcolumns: [],\n\t\tfieldMappings: {},\n\t},\n};\n\n/**\n * @param {Now.Coeffects<GalleryProps, State>} coeffects\n * Render the sn-list-gallery element with defined properties and behaviours.\n */\ncreateCustomElement(SN_LIST_GALLERY_VIEW, {\n\trenderer: { type: snabbdom },\n\tview: galleryView,\n\tproperties: galleryViewPropsDefinition,\n\tinitialState: initialState,\n\tbehaviors: [\n\t\tgalleryDataBehavior,\n\t\tgalleryGroupedBehavior,\n\t\tgalleryKeyboardNavBehavior,\n\t\ttooltipBehavior,\n\t\tgalleryCardInteractionBehavior,\n\t\ttruncationBehavior,\n\t\tvirtualizedGalleryBehavior,\n\t\t{\n\t\t\tbehavior: mediaQueryBehavior,\n\t\t\toptions: {\n\t\t\t\tisMobile: '(max-width: 641px)',\n\t\t\t},\n\t\t},\n\t],\n\tstyles,\n});\n","import { getUserPrefContext } from 'sn-ux-core';\n\nimport {\n\tWRAP_ON,\n\tWRAP_OFF,\n\tWRAP_CELL_CONTENT_USER_PREFERENCE_KEY,\n} from '../../constants';\n\nconst isTrue = (/** @type {string | boolean} */ prop) =>\n\tprop === true || prop === 'true';\n\n/**\n * @param {Props[\"wrapCellContent\"]} wrapCellContent\n * @param {any} context\n * @returns {boolean}\n */\nconst shouldWrapCellContent = (wrapCellContent, context) => {\n\tif (wrapCellContent === WRAP_ON) {\n\t\treturn true;\n\t}\n\n\tif (wrapCellContent === WRAP_OFF) {\n\t\treturn false;\n\t}\n\n\tconst wrapCellContextPrefKey = getUserPrefContext(\n\t\tWRAP_CELL_CONTENT_USER_PREFERENCE_KEY\n\t);\n\n\tif (!(context && wrapCellContextPrefKey)) {\n\t\treturn false;\n\t}\n\n\treturn isTrue(context[wrapCellContextPrefKey]);\n};\n\n/**\n * @param {boolean} shouldWrap\n * @param {string} wrapClass - wrap class to use\n * @param {string} defaultClass - class to use if wrap is false\n * @return {*}\n */\nconst setWrapClass = (shouldWrap, wrapClass, defaultClass) => {\n\tif (shouldWrap) {\n\t\treturn wrapClass;\n\t}\n\treturn defaultClass;\n};\n\nexport { setWrapClass };\nexport default shouldWrapCellContent;\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport classNames from 'classnames';\n\nimport {\n\tgetSavedWidth,\n\tgetTableLayout,\n} from '../../../../behaviors/columnWidthBehavior/columnWidthBehavior';\nimport { TABLE_LAYOUT_FIXED } from '../../../../behaviors/columnWidthBehavior/constants';\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\n\n/**\n * Subview that defines col elements based on column edges\n *\n * @param {Object} props\n * @param {ProcessedColumnDefinitions} props.processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * \tHas been processed and cleaned by columnBehavior.\n * @param { * } props.columnWidthsState\n */\nconst renderCols = ({ processedColumnDefinitions, columnWidthsState }) => {\n\tconst { columnEdges } = processedColumnDefinitions;\n\tconst { getColumnFromProcessedCols } = columnSelectors;\n\treturn columnEdges.map((columnKey) => {\n\t\tconst column = getColumnFromProcessedCols(\n\t\t\tprocessedColumnDefinitions,\n\t\t\tcolumnKey\n\t\t);\n\t\tconst { _colspan } = column;\n\t\tconst tableLayout = getTableLayout(columnWidthsState);\n\t\tconst width = getSavedWidth(columnWidthsState, columnKey);\n\t\tconst style = {\n\t\t\twidth: tableLayout === TABLE_LAYOUT_FIXED ? width : null,\n\t\t};\n\t\tconst headerColClassNames = classNames({\n\t\t\t'header-col': true,\n\t\t\t[columnKey]: true,\n\t\t});\n\t\treturn (\n\t\t\t<col\n\t\t\t\tstyle={style}\n\t\t\t\tdata-columnEdgeKey={columnKey}\n\t\t\t\tclassName={headerColClassNames}\n\t\t\t\tspan={_colspan}\n\t\t\t></col>\n\t\t);\n\t});\n};\n\n/**\n * View that handles grouped table headers\n * @param {Object} props\n * @param {ProcessedColumnDefinitions} props.processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * \tHas been processed and cleaned by columnBehavior.\n * @param { * } props.columnWidthsState\n */\nexport const colGroups = (props) => {\n\tconst { processedColumnDefinitions } = props;\n\tif (!processedColumnDefinitions) return null;\n\n\treturn <Fragment>{renderCols(props)}</Fragment>;\n};\n","import { getUserPrefContext } from 'sn-ux-core';\n\nimport {\n\tSHADE_ALTERNATE_ROWS_OFF,\n\tSHADE_ALTERNATE_ROWS_USER_PREFERENCE_KEY,\n\tUSE_SHADE_ALTERNATE_ROWS_USER_PREFERENCE,\n} from '../../constants';\n\n/**\n * @param {string} shadeAlternateRows\n * @param {any} context\n * @returns {boolean}\n */\nconst shouldShadeAlternateRows = (shadeAlternateRows, context) => {\n\tconst shadeAlternateRowsContextPrefKey = getUserPrefContext(\n\t\tSHADE_ALTERNATE_ROWS_USER_PREFERENCE_KEY\n\t);\n\n\tif (\n\t\tshadeAlternateRows === USE_SHADE_ALTERNATE_ROWS_USER_PREFERENCE &&\n\t\tcontext &&\n\t\tshadeAlternateRowsContextPrefKey\n\t) {\n\t\t// in UI16 when table.highlighting is false, alternate rows are shaded, when there is no user preference, value is null\n\t\treturn context[shadeAlternateRowsContextPrefKey] !== 'true';\n\t}\n\n\tif (shadeAlternateRows === SHADE_ALTERNATE_ROWS_OFF) {\n\t\treturn false;\n\t}\n\n\treturn true;\n};\n\nexport default shouldShadeAlternateRows;\n","import classNames from 'classnames';\nimport { t } from 'sn-translate';\n\nimport rowSelectors from '../../utils/selectors/rowSelectors';\nimport { SPECIAL_COLUMN_CELL_CONTENT } from '../table/tableBody/tableRow/rowCell/rowCellConstants';\n\n/**\n * This subview renders a badge count of grouped rows for a grouped row\n * @param {Row} row an object representing a single row in the table, including its cells and config options\n * @param {Object | undefined} props\n */\nexport const groupBadgeCellContent = (row, props = {}) => {\n\t// @ts-ignore\n\tif (props['nestedLevel'] != undefined && props.nestedLevel >= 0)\n\t\treturn null;\n\tif (row && !rowSelectors.getGroupedRowCount(row)) return null;\n\n\treturn badgeCellContent(row);\n};\n\n/**\n * This subview renders a badge count of child rows for a parent row.\n *\n * @param {Row} row an object representing a single row in the table, including its cells and config options\n */\nexport const parentBadgeCellContent = (row) => {\n\tif (row && !rowSelectors.getGroupedRowCount(row)) return null;\n\n\treturn badgeCellContent(row);\n};\n\n/**\n * This function creates the badge count cell\n *\n * @param {Row} row an object representing a single row in the table, including its cells and config options\n */\nexport const badgeCellContent = (row) => {\n\tconst groupBadgeCellContentClassnames = classNames({\n\t\t'cell-content': true,\n\t\t'group-badge-cell-content': true,\n\t\t[SPECIAL_COLUMN_CELL_CONTENT]: true,\n\t});\n\n\tconst ariaLabel = t(\n\t\t`Grouped row contains ${row.groupedRowCount} child records`\n\t);\n\n\treturn (\n\t\t<div className={groupBadgeCellContentClassnames}>\n\t\t\t<now-badge\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\tcolor=\"gray\"\n\t\t\t\tvalue={row.groupedRowCount}\n\t\t\t\tclassName=\"group-row-count-badge\"\n\t\t\t\tdata-testId=\"groupBadgeCellContent\"\n\t\t\t\taria-label={ariaLabel}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n","import classNames from 'classnames';\nimport { t } from 'sn-translate';\n\nimport {\n\tEXPAND_GROUP,\n\tEXPAND_ALL_GROUPS,\n} from '../../../behaviors/rowGroupingBehavior/constants';\nimport { ICON_SIZES } from '../../../constants';\nimport { NOW_BUTTON_ICONIC_CLICKED } from '../../../resources/constants';\nimport rowSelectors from '../../utils/selectors/rowSelectors';\nimport { SPECIAL_COLUMN_CELL_CONTENT } from '../table/tableBody/tableRow/rowCell/rowCellConstants';\nimport { GROUP_TOGGLE_ICON } from '../table/tableConstants';\n\nimport { renderLiveListEyelashIcon } from './cellIconContent';\nimport { getFakeNowIcon, iconIsCached } from './fakeNowIcon';\n\n/**\n * This subview renders a grouped row toggle button for the table header and grouped row header.\n *\n * @param {Object} props\n * @param {Row?} props.row an object representing a single row in the table, including its cells and config options\n * @param {RowGroupingState} props.rowGroupingState row grouping state\n * @param {function} props.dispatch\n * @param {boolean} shouldRenderRecentlyUpdatedIcon renders eyelash if child row was recently updated\n */\nexport const groupToggleCellContent = (\n\tprops,\n\tshouldRenderRecentlyUpdatedIcon\n) => {\n\tconst { row } = props;\n\n\t// @ts-ignore\n\tif (props['nestedLevel'] != undefined && props.nestedLevel >= 0)\n\t\treturn null;\n\n\tif (row && !rowSelectors.isGroupedRowOrDefaultRowWithChildren(row))\n\t\treturn null;\n\n\treturn toggleCellContent(props, shouldRenderRecentlyUpdatedIcon);\n};\n\n/**\n * This subview renders a row toggle button for rows with parent/child rows including grouped rows.\n *\n * @param {Object} props\n * @param {Row?} props.row an object representing a single row in the table, including its cells and config options\n * @param {RowGroupingState} props.rowGroupingState row grouping state\n * @param {function} props.dispatch\n * @param {boolean} shouldRenderRecentlyUpdatedIcon renders eyelash if child row was recently updated\n */\nexport const parentToggleCellContent = (\n\tprops,\n\tshouldRenderRecentlyUpdatedIcon\n) => {\n\tconst { row } = props;\n\n\tif (row && !rowSelectors.isGroupedRowOrDefaultRowWithChildren(row))\n\t\treturn null;\n\n\treturn toggleCellContent(props, shouldRenderRecentlyUpdatedIcon);\n};\n\n/**\n * This function creates a row toggle button.\n *\n * @param {Object} props\n * @param {Row?} props.row an object representing a single row in the table, including its cells and config options\n * @param {RowGroupingState} props.rowGroupingState row grouping state\n * @param {function} props.dispatch\n * @param {boolean} shouldRenderRecentlyUpdatedIcon renders eyelash if child row was recently updated\n */\nexport const toggleCellContent = (props, shouldRenderRecentlyUpdatedIcon) => {\n\tconst { row, rowGroupingState, dispatch } = props;\n\tconst { expandedGroupsArray } = rowGroupingState;\n\n\t// If row prop doesn't exist, this is the header, so the all groups toggle is rendered\n\tconst isAllGroupsToggle = !Boolean(row).valueOf();\n\n\tconst rowKey = rowSelectors.getRowKey(row);\n\n\tconst actionPayloadType = isAllGroupsToggle\n\t\t? EXPAND_ALL_GROUPS\n\t\t: EXPAND_GROUP;\n\tconst isGroupExpanded = expandedGroupsArray.includes(rowKey);\n\tconst areAllGroupExpanded = rowGroupingState.expandAllGroups;\n\n\tconst ariaLabel = isAllGroupsToggle\n\t\t? t('All groups toggle')\n\t\t: t('Grouped row toggle');\n\n\tconst groupToggleCellContentClassnames = classNames({\n\t\t'cell-content': true,\n\t\t'group-toggle-cell-content': true,\n\t\t[SPECIAL_COLUMN_CELL_CONTENT]: true,\n\t});\n\n\tconst groupToggleClassNames = classNames({\n\t\t'group-row-toggle': true,\n\t\t'always-show': true,\n\t});\n\n\tconst groupButtonClassNames = classNames({\n\t\t'group-toggle-all-button': isAllGroupsToggle,\n\t\t'group-row-toggle': true,\n\t\t'group-expanded': !isAllGroupsToggle && isGroupExpanded,\n\t\t'groups-expanded': isAllGroupsToggle && areAllGroupExpanded,\n\t\t'always-show': true,\n\t});\n\n\tconst groupHTMLButtonClassNames = classNames({\n\t\t'group-row-toggle': true,\n\t\t'group-expanded': !isAllGroupsToggle && isGroupExpanded,\n\t\t'groups-expanded': isAllGroupsToggle && areAllGroupExpanded,\n\t\t'html-group-button': true,\n\t});\n\n\tconst expandCollapseTooltip = isGroupExpanded\n\t\t? t('Expand row')\n\t\t: t('Collapse row');\n\n\t// As of STRY56854796, we want to show active toggle button even if children are empty, so disabled is always false\n\treturn (\n\t\t<div className={groupToggleCellContentClassnames}>\n\t\t\t{shouldRenderRecentlyUpdatedIcon && renderLiveListEyelashIcon()}\n\t\t\t<div className={groupToggleClassNames}>\n\t\t\t\t{iconIsCached(GROUP_TOGGLE_ICON, 'md') ? (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\taria-label={ariaLabel}\n\t\t\t\t\t\t\tdir={document.dir}\n\t\t\t\t\t\t\tdata-ancillary=\"true\"\n\t\t\t\t\t\t\tdata-htmlGroupToggle=\"true\"\n\t\t\t\t\t\t\tdata-testId=\"groupToggle\"\n\t\t\t\t\t\t\tdata-tooltip={expandCollapseTooltip}\n\t\t\t\t\t\t\tclassName={groupHTMLButtonClassNames}\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\tdispatch(NOW_BUTTON_ICONIC_CLICKED, {\n\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\ttype: actionPayloadType,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{getFakeNowIcon(\n\t\t\t\t\t\t\t\tGROUP_TOGGLE_ICON,\n\t\t\t\t\t\t\t\tICON_SIZES.MEDIUM\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\tbare=\"true\"\n\t\t\t\t\t\ticon={GROUP_TOGGLE_ICON}\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tclassName={groupButtonClassNames}\n\t\t\t\t\t\tappend-to-payload={{ row, type: actionPayloadType }}\n\t\t\t\t\t\tdata-testId=\"groupToggle\"\n\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t'aria-label': ariaLabel,\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n","import { createRef } from '@servicenow/ui-renderer-snabbdom';\nimport { isEmpty } from 'lodash';\n\nimport { GROUP_ACTION } from '../../../../../behaviors/contextActionsBehavior/constants';\nimport { GROUP_ACTION_CLICKED } from '../../../../../resources/constants';\nimport rowSelectors from '../../../../utils/selectors/rowSelectors';\nimport { ELLIPSIS_ICON } from '../../tableConstants';\n\nconst { getGroupActions, getGroupRowHref } = rowSelectors;\n\n/**\n * This subview renders grouped button menu to render grouped actions dropdown\n *\n * @param {Row} row an object representing a single row in the table, including its cells and config options\n */\nexport const renderGroupActionKebabButton = (row) => {\n\tconst groupActions = getGroupActions(row);\n\tconst groupActionsRef = createRef();\n\tconst context = { row, typeOfAction: GROUP_ACTION };\n\treturn (\n\t\t<now-button-iconic\n\t\t\tdata-testId=\"groupAction\"\n\t\t\tdata-ancillary=\"true\"\n\t\t\tsize=\"sm\"\n\t\t\tvariant=\"tertiary\"\n\t\t\tbare=\"true\"\n\t\t\ticon={ELLIPSIS_ICON}\n\t\t\tref={groupActionsRef}\n\t\t\tclassName=\"group-actions-button\"\n\t\t\tappend-to-payload={{\n\t\t\t\tpopoverTarget: groupActionsRef,\n\t\t\t\tpopoverDefinition: {\n\t\t\t\t\tconfig: {\n\t\t\t\t\t\tdismissOnScroll: true,\n\t\t\t\t\t\thideTail: true,\n\t\t\t\t\t},\n\t\t\t\t\tcontent: {\n\t\t\t\t\t\tactions: groupActions,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tcontext,\n\t\t\t}}\n\t\t\tconfigAria={{\n\t\t\t\t// will be added as part of A11y story for grouped rows\n\t\t\t\t'aria-label': 'Group Action',\n\t\t\t}}\n\t\t/>\n\t);\n};\n\n/**\n * This subview renders single grouped row text link\n *\n * @param {Row} row an object representing a single row in the table, including its cells and config options\n * @param {Array<GroupActionItem>} groupActions array of grouped row actions\n * @param {*} dispatch seismic dispatch\n */\nexport const renderSingleGroupActionButton = (row, groupActions, dispatch) => {\n\tconst groupRowHref = getGroupRowHref(groupActions);\n\treturn (\n\t\t<now-text-link\n\t\t\tlabel={groupActions[0].label}\n\t\t\tdata-testId=\"groupAction\"\n\t\t\tvariant=\"secondary\"\n\t\t\thref={groupRowHref}\n\t\t\ton-click={(/** @type {MouseEvent} */ event) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tdispatch(GROUP_ACTION_CLICKED, {\n\t\t\t\t\tactionItem: groupActions[0],\n\t\t\t\t\tcontext: {\n\t\t\t\t\t\trow,\n\t\t\t\t\t\ttypeOfAction: GROUP_ACTION,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}}\n\t\t/>\n\t);\n};\n\n/**\n * This subview renders grouped row actions\n *\n * @param {Row} row an object representing a single row in the table, including its cells and config options\n * @param {Array<GroupActionItem>} groupActions array of grouped row actions\n * @param {*} dispatch seismic dispatch\n */\nexport const renderGroupActions = (row, groupActions, dispatch) => {\n\treturn (\n\t\t!isEmpty(groupActions) &&\n\t\t(groupActions.length > 1\n\t\t\t? renderGroupActionKebabButton(row)\n\t\t\t: renderSingleGroupActionButton(row, groupActions, dispatch))\n\t);\n};\n","import { getLabelContent } from '../cellContentUtils';\n\n/**\n * This subView renders the content of an icon cell\n *\n * @param {Object} props\n * @param {ImageCellType} props.cell an object representing this cell\n * @param {Array<string>} props.highlightedContent array of string patterns to be highlighted\n * @param {boolean | undefined} props.isHighlightedValue\n * @param {ProcessedColumn} props.column an object representing the column\n * @param {*} dispatch\n * @param {*} shouldRenderRecentlyUpdatedIcon\n */\nexport const imageCell = (props, dispatch, shouldRenderRecentlyUpdatedIcon) => {\n\tconst cellLabel = (\n\t\t<div className=\"cell-content image-cell-content\">\n\t\t\t{props.cell.value && (\n\t\t\t\t<img src={props.cell.value} alt={props.column.label} />\n\t\t\t)}\n\t\t</div>\n\t);\n\n\treturn getLabelContent(\n\t\t// @ts-ignore\n\t\tprops,\n\t\tdispatch,\n\t\tshouldRenderRecentlyUpdatedIcon,\n\t\t{\n\t\t\tdisplayLabel: cellLabel,\n\t\t}\n\t);\n};\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\nimport truncate from 'lodash/truncate';\n\nimport cellSelectors from '../../../../../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../../../../../utils/selectors/columnSelectors';\nimport {\n\tgetDisabled,\n\tgetHighlightedText,\n\tgetTooltipDataProps,\n\thighlightedValueCell,\n} from '../cellContentUtils';\n\nconst {\n\tPERSON_CELL_ICON_SIZE,\n\tPERSON_DISPLAY_TYPE_AVATAR,\n\tPERSON_DISPLAY_TYPE_BOTH,\n\tPERSON_DISPLAY_TYPE_NAME,\n\tNOW_LIST_CELL_PERSON_CLICKED,\n} = require('./personCellConstants');\n\nconst { getImageSrc, getPersonKey, getValue, getHref } = cellSelectors;\nconst { getColumnKey, getDisplay, getMaxCharacters } = columnSelectors;\n\n/**\n * This subview renders the content of an person cell based on the state of isDisabled\n *\n * @param {String} name the name of the user in person cell\n * @param {Boolean} isDisabled a boolean representing the clickability of the cell\n * @param {String | undefined} personKey a unique optional key set by the user of person cell\n * @param {Array<string>} highlightedContent array of patterns to be highlighted\n * @param {Number} maxCharacters an object representing this cell's parent column\n * @param {HighlightedValue | null} highlightedValueData\n * @param {String | undefined} href a string representing the link to the record\n *\n */\nexport const renderPersonText = (\n\tname,\n\tisDisabled,\n\tpersonKey,\n\tmaxCharacters,\n\thighlightedContent,\n\thighlightedValueData,\n\thref\n) => {\n\tconst textClassNames = classNames({\n\t\tdisabled: isDisabled,\n\t});\n\tconst buttonClassNames = classNames({\n\t\t'person-cell-link': true,\n\t\t'highlighted-value': highlightedValueData,\n\t});\n\tconst truncatedName = truncate(name, { length: maxCharacters });\n\tconst isTruncated = truncatedName !== name;\n\tconst { highlightedElement: cellLabel } = getHighlightedText(\n\t\thighlightedContent,\n\t\ttruncatedName\n\t);\n\n\tconst renderedLabel =\n\t\thighlightedValueData && Object.keys(highlightedValueData).length > 0\n\t\t\t? highlightedValueCell(highlightedValueData, truncatedName)\n\t\t\t: cellLabel;\n\n\tif (!isDisabled) {\n\t\treturn (\n\t\t\t// Changed to anchor tag due to text-wrapping issues with button\n\t\t\t<a\n\t\t\t\tclassName={buttonClassNames}\n\t\t\t\tkey={personKey}\n\t\t\t\trole=\"link\"\n\t\t\t\ttabindex=\"0\"\n\t\t\t\taria-label={name}\n\t\t\t\thref={href}\n\t\t\t\ton-click={(/** @type {any} */ event) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}}\n\t\t\t\t{...getTooltipDataProps(name, isTruncated)}\n\t\t\t>\n\t\t\t\t{renderedLabel}\n\t\t\t</a>\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t<Fragment className={textClassNames} data-truncation>\n\t\t\t\t{renderedLabel}\n\t\t\t</Fragment>\n\t\t);\n\t}\n};\n\n/**\n * This subview renders the content of an person cell\n *\n * @param {Object} props\n * @param {PersonCellType} props.cell an object representing this person cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {Array<string>} props.highlightedContent array of patterns to be highlighted\n * @param {Row} props.row an object representing this cell's parent row\n * @param {*} dispatch seismic dispatch\n */\nexport const personCell = (props, dispatch) => {\n\tconst {\n\t\tcell,\n\t\tcolumn,\n\t\tclickableTextEnabled,\n\t\thighlightedContent,\n\t\trow,\n\t} = props;\n\tconst name = getValue(cell);\n\tconst personKey = getPersonKey(cell);\n\tconst imageSrc = getImageSrc(cell);\n\tconst display = getDisplay(column);\n\tconst isDisabled = getDisabled(clickableTextEnabled, column, cell, name);\n\tconst maxCharacters = getMaxCharacters(column);\n\tconst href = getHref(cell);\n\n\tconst isNameEmpty = isEmpty(name);\n\n\tconst shouldDisplayAvatar =\n\t\t(display === PERSON_DISPLAY_TYPE_AVATAR ||\n\t\t\tdisplay === PERSON_DISPLAY_TYPE_BOTH) &&\n\t\t!isNameEmpty;\n\n\tconst shouldDisplayName =\n\t\t(display === PERSON_DISPLAY_TYPE_NAME ||\n\t\t\tdisplay === PERSON_DISPLAY_TYPE_BOTH) &&\n\t\t!isNameEmpty;\n\n\tconst contentClassNames = classNames({\n\t\t'cell-content': true,\n\t\t'person-cell-content': true,\n\t\tdisabled: isDisabled,\n\t});\n\tconst highlightedValueData = cellSelectors.getHighlightedValue(cell);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={contentClassNames}\n\t\t\ton-click={(/** @type {any} */ event) => {\n\t\t\t\tconst targetClassList = event.target.classList;\n\t\t\t\tif (\n\t\t\t\t\t!isDisabled &&\n\t\t\t\t\ttargetClassList &&\n\t\t\t\t\t(targetClassList.contains('person-cell-avatar') ||\n\t\t\t\t\t\ttargetClassList.contains('person-cell-link'))\n\t\t\t\t) {\n\t\t\t\t\tdispatch(NOW_LIST_CELL_PERSON_CLICKED, {\n\t\t\t\t\t\tcell,\n\t\t\t\t\t\tevent,\n\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\tcolumnKey: getColumnKey(column),\n\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t{shouldDisplayAvatar ? (\n\t\t\t\t<now-avatar\n\t\t\t\t\tclassName=\"person-cell-avatar\"\n\t\t\t\t\tsize={PERSON_CELL_ICON_SIZE}\n\t\t\t\t\tuserName={name}\n\t\t\t\t\timageSrc={imageSrc}\n\t\t\t\t\tkey={personKey}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t{shouldDisplayName\n\t\t\t\t? renderPersonText(\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tisDisabled,\n\t\t\t\t\t\tpersonKey,\n\t\t\t\t\t\tmaxCharacters,\n\t\t\t\t\t\thighlightedContent,\n\t\t\t\t\t\thighlightedValueData,\n\t\t\t\t\t\thref\n\t\t\t\t  )\n\t\t\t\t: null}\n\t\t</div>\n\t);\n};\n","import '@servicenow/now-pill';\nimport { createRef, Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { t } from 'sn-translate';\n\nimport { createElementObservationProps } from '../../../../../../../behaviors/intersectionObserverBehavior/intersectionObserverBehavior';\nimport cellSelectors from '../../../../../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../../../../../utils/selectors/columnSelectors';\nimport { getHiddenPillsTooltip } from '../cellContentUtils';\n\nconst {\n\tDEFAULT_PILL_SIZE,\n\tMAX_PILL_LIMIT_DEFAULT,\n} = require('./pillsCellConstants');\n\nconst { getValue } = cellSelectors;\nconst { getMaxPillLimit } = columnSelectors;\n\n/**\n * Adds cell size and canDismiss property onto every pill in the props\n *\n * @param {Object} props\n * @param {PillsCellType} props.cell an object representing this cell\n * @param {Row} props.row an object representing this cell's row\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {*} dispatch seismic dispatch\n * @return An array of pill components. If pills are more than `maxPillLimit`, a hidden pills message is also returned.\n */\nexport const renderPills = (props, dispatch) => {\n\tconst { cell, column, row } = props;\n\n\t/** @constant\n        @type {Array<PillType>}\n    */\n\tconst values = getValue(cell);\n\n\tconst maxPillLimit = getMaxPillLimit(column);\n\n\tconst pillRef = createRef();\n\n\tconst pills = values.slice(0, maxPillLimit).map((pill) => (\n\t\t<now-pill\n\t\t\tkey={pill.key}\n\t\t\tref={pillRef}\n\t\t\tlabel={pill.label}\n\t\t\tsize={DEFAULT_PILL_SIZE}\n\t\t\tcanDismiss={false}\n\t\t\tclassName=\"pill-cell-pill\"\n\t\t\tselected=\"false\"\n\t\t\tmanageSelected=\"false\"\n\t\t\tappend-to-payload={{\n\t\t\t\tpillKey: pill.key,\n\t\t\t\trowKey: row.key,\n\t\t\t\tpills: values,\n\t\t\t\tpillRef,\n\t\t\t}}\n\t\t\t{...createElementObservationProps(dispatch, 'pill-cell-type')}\n\t\t/>\n\t));\n\n\tconst hiddenPillsCount = values.length - maxPillLimit;\n\tconst hiddenPillsTooltip = getHiddenPillsTooltip(values, maxPillLimit);\n\tconst hiddenPillsAriaLabel =\n\t\tt('{0} other field values: ', hiddenPillsCount) + hiddenPillsTooltip;\n\tconst hiddenPillsMessage =\n\t\tvalues.length > maxPillLimit ? (\n\t\t\t<span\n\t\t\t\tclassName=\"hidden-pills-message\"\n\t\t\t\tdata-tooltip={hiddenPillsTooltip}\n\t\t\t\taria-label={hiddenPillsAriaLabel}\n\t\t\t\ttabindex=\"0\" // make the span tabbable\n\t\t\t>\n\t\t\t\t{`+${hiddenPillsCount}`}\n\t\t\t</span>\n\t\t) : (\n\t\t\t''\n\t\t);\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{pills}\n\t\t\t{hiddenPillsMessage}\n\t\t</Fragment>\n\t);\n};\n\n/**\n * This subview renders the content of a pill cell\n * @deprecated delete this function and use `pillsView({ props, dispatch });` instead\n *\n * @param {Object} props\n * @param {PillsCellType} props.cell an object representing this cell\n * @param {Row} props.row an object representing this cell's row\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {*} dispatch seismic dispatch\n */\nexport const pillsCell = (props, dispatch) => {\n\tconst pillList = renderPills(props, dispatch);\n\t//Setting aria-label for upto MAX_PILL_LIMIT_DEFAULT number of pills, and \"Press Enter for more pills\" for more pills\n\tconst { cell } = props;\n\tconst values = getValue(cell);\n\tlet pillsValues = values\n\t\t.slice(0, 3)\n\t\t.map((/** @type {{ label: string; }} */ pillValue) => pillValue.label)\n\t\t.join(', ');\n\tpillsValues +=\n\t\tvalues.length > MAX_PILL_LIMIT_DEFAULT\n\t\t\t? '. Press Enter for more pills'\n\t\t\t: '';\n\treturn (\n\t\t<div\n\t\t\tclassName=\"cell-content pills-cell-content\"\n\t\t\trole=\"group\"\n\t\t\taria-label={t('{0}', pillsValues)}\n\t\t>\n\t\t\t{pillList}\n\t\t</div>\n\t);\n};\n","// @ts-ignore\nimport '@servicenow/now-button';\nimport { createRef } from '@servicenow/ui-renderer-snabbdom';\nimport classNames from 'classnames';\n// @ts-ignore\nimport includes from 'lodash/includes';\nimport isEmpty from 'lodash/isEmpty';\nimport slice from 'lodash/slice';\nimport { t } from 'sn-translate';\n\nimport { ROW_ACTION } from '../../../../../../../behaviors/contextActionsBehavior/constants';\nimport { ICON_NAMES } from '../../../../../../../constants';\nimport { NOW_BUTTON_ICONIC_CLICKED } from '../../../../../../../resources/constants';\nimport rowSelectors from '../../../../../../utils/selectors/rowSelectors';\nimport {\n\tgetFakeNowIcon,\n\ticonIsCached,\n} from '../../../../../shared/fakeNowIcon';\nimport { ICON_SIZE_SMALL } from '../../../../constants';\nimport { SPECIAL_COLUMN_CELL_CONTENT } from '../rowCellConstants';\n\nconst {\n\tDEFAULT_ROW_ACTION_ICON,\n} = require('../../../../../../../typeSchemas/rowDefinitions/rowConfigConsts');\n\nconst {\n\tgetRowActionsNumIconsFromActions,\n\tgetRowActionsItemsFromActions,\n} = rowSelectors;\n\n/**\n * get array of all selected rows or current row based on selection state\n * @param {Row} row current row\n * @param {object} selectedRows\n *\n * @returns {Row[]} context rows\n */\nconst getContextRows = (row, selectedRows) => {\n\tconst rowKey = rowSelectors.getRowKey(row);\n\tconst isRowChecked = rowSelectors.isRowChecked(selectedRows, rowKey);\n\treturn isRowChecked ? Object.values(selectedRows || {}) : [row];\n};\n\n/**\n * This subview renders the actions icon buttons, not including the kebab dropdown\n * @param {Object} props\n * @param {Array<RowActionItem>} props.actions actions to render as buttons\n * @param {number | undefined} props.groupIndex\n * @param {Row} props.row object representing this cell's parent row\n * @param {Row[]} props.rows object representing this cell's parent row\n * @param {object} props.selectedRows\n * @param {number} props.rowIndex, 1-based\n * @param {function} props.dispatch\n */\nexport const renderActionsIconButtons = (props) => {\n\t// @ts-ignore\n\tconst {\n\t\tactions,\n\t\tgroupIndex,\n\t\trow,\n\t\trowIndex,\n\t\tselectedRows,\n\t\tdispatch,\n\t} = props;\n\tconst contextRows = getContextRows(row, selectedRows);\n\n\tconst areAllActionsDisabled = rowSelectors.getAreActionsDisabled(row);\n\tconst excludedActions = rowSelectors.getExcludedActions(contextRows);\n\n\treturn actions.map((actionItem) => {\n\t\tconst actionIcon = actionItem.icon ?? DEFAULT_ROW_ACTION_ICON;\n\t\tconst label = actionItem?.label;\n\t\tconst rowActionCellClasses = classNames({\n\t\t\t'row-actions-button': true,\n\t\t\t'is-disabled':\n\t\t\t\tincludes(excludedActions, actionItem.id) ||\n\t\t\t\tareAllActionsDisabled,\n\t\t});\n\t\tif (iconIsCached(actionIcon, ICON_SIZE_SMALL)) {\n\t\t\treturn (\n\t\t\t\t<button\n\t\t\t\t\tdata-testId=\"rowAction\"\n\t\t\t\t\tclassName={rowActionCellClasses}\n\t\t\t\t\tdisabled={\n\t\t\t\t\t\tincludes(excludedActions, actionItem.id) ||\n\t\t\t\t\t\tareAllActionsDisabled\n\t\t\t\t\t}\n\t\t\t\t\tdata-tooltip={label}\n\t\t\t\t\taria-label={label}\n\t\t\t\t\tkey={actionItem.id}\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\tdispatch(NOW_BUTTON_ICONIC_CLICKED, {\n\t\t\t\t\t\t\tactionItem,\n\t\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\t\tgroupIndex,\n\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\trows: contextRows,\n\t\t\t\t\t\t\t\trowIndex,\n\t\t\t\t\t\t\t\ttypeOfAction: ROW_ACTION,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{getFakeNowIcon(actionIcon, ICON_SIZE_SMALL)}\n\t\t\t\t</button>\n\t\t\t);\n\t\t} else {\n\t\t\treturn (\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tclassName={rowActionCellClasses}\n\t\t\t\t\tdata-testId=\"rowAction\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tbare=\"true\"\n\t\t\t\t\ticon={actionItem.icon ?? DEFAULT_ROW_ACTION_ICON}\n\t\t\t\t\tdata-tooltip={label}\n\t\t\t\t\tdisabled={\n\t\t\t\t\t\tincludes(excludedActions, actionItem.id) ||\n\t\t\t\t\t\tareAllActionsDisabled\n\t\t\t\t\t}\n\t\t\t\t\tkey={actionItem.id}\n\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\tactionItem,\n\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\tgroupIndex,\n\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\trows: contextRows,\n\t\t\t\t\t\t\trowIndex,\n\t\t\t\t\t\t\ttypeOfAction: ROW_ACTION,\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t'aria-label': label,\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t});\n};\n\n/**\n * This subview renders the overflow kebab button\n * @param {Object} props\n * @param {Array<RowActionItem>} props.actions actions to render in a dropdown\n * @param {number | undefined} props.groupIndex\n * @param {Row} props.row object representing this cell's parent row\n * @param {object} props.selectedRows\n * @param {number} props.rowIndex, 1-based\n * @param {function} props.dispatch\n */\nexport const renderKebabDropdown = (props) => {\n\tconst {\n\t\tactions,\n\t\tgroupIndex,\n\t\trow,\n\t\tselectedRows,\n\t\trowIndex,\n\t\tdispatch,\n\t} = props;\n\n\tconst contextRows = getContextRows(row, selectedRows);\n\n\tconst areAllActionsDisabled = rowSelectors.getAreActionsDisabled(row);\n\tconst excludedActions = rowSelectors.getExcludedActions(contextRows);\n\n\tconst preparedActions = actions.map((action) => {\n\t\treturn {\n\t\t\t...action,\n\t\t\tdisabled:\n\t\t\t\tincludes(excludedActions, action.id) || areAllActionsDisabled,\n\t\t};\n\t});\n\n\tconst context = {\n\t\tgroupIndex,\n\t\trow,\n\t\trows: contextRows,\n\t\trowIndex,\n\t\ttypeOfAction: ROW_ACTION,\n\t};\n\n\t// @ts-ignore\n\tconst kebabTooltip = t('More');\n\t// @ts-ignore\n\tconst actionsKebabButtonRef = createRef();\n\tif (iconIsCached(ICON_NAMES.ELLIPSIS_V_FILL, ICON_SIZE_SMALL)) {\n\t\treturn (\n\t\t\t<button\n\t\t\t\tclassName=\"row-actions-button\"\n\t\t\t\tdata-testId=\"rowActionOverflow\"\n\t\t\t\tref={actionsKebabButtonRef}\n\t\t\t\taria-label={kebabTooltip}\n\t\t\t\ton-click={() => {\n\t\t\t\t\tdispatch(NOW_BUTTON_ICONIC_CLICKED, {\n\t\t\t\t\t\tpopoverTarget: actionsKebabButtonRef,\n\t\t\t\t\t\tpopoverDefinition: {\n\t\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\t\tdismissOnScroll: true,\n\t\t\t\t\t\t\t\thideTail: true,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\tactions: preparedActions,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{getFakeNowIcon(ICON_NAMES.ELLIPSIS_V_FILL, ICON_SIZE_SMALL)}\n\t\t\t</button>\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t<now-button-iconic\n\t\t\t\tdata-testId=\"rowActionOverflow\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\tbare=\"true\"\n\t\t\t\ticon={'ellipsis-v-fill'}\n\t\t\t\tdata-tooltip={kebabTooltip}\n\t\t\t\tref={actionsKebabButtonRef}\n\t\t\t\tappend-to-payload={{\n\t\t\t\t\tpopoverTarget: actionsKebabButtonRef,\n\t\t\t\t\tpopoverDefinition: {\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\tdismissOnScroll: true,\n\t\t\t\t\t\t\thideTail: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\tactions: preparedActions,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tcontext,\n\t\t\t\t}}\n\t\t\t\tconfigAria={{\n\t\t\t\t\t'aria-label': kebabTooltip,\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t}\n};\n\n/**\n * This subview renders the content of a row actions cell\n *\n * @param {Object} props\n * @param {number | undefined} props.groupIndex\n * @param {RowActions} props.rowActions an object representing actions that can be taken on this row\n * @param {Row} props.row object representing this cell's parent row\n * @param {Row[]} props.rows all rows\n * @param {object} props.selectedRows\n * @param {number} props.rowIndex\n * @param {function} props.dispatch\n\t\n }}\n */\nexport const rowActionsCell = (props) => {\n\tconst {\n\t\trowActions,\n\t\trow,\n\t\trows,\n\t\tselectedRows,\n\t\trowIndex,\n\t\tgroupIndex,\n\t\tdispatch,\n\t} = props;\n\tconst actions = getRowActionsItemsFromActions(rowActions);\n\n\tif (!actions) return null;\n\n\tlet numActionIcons = getRowActionsNumIconsFromActions(rowActions);\n\n\t// if there would only be one item in the dropdown menu,\n\t// increase the limit by 1 so that all are rendered as icons\n\t// to prevent extra clicks\n\tif (numActionIcons + 1 === actions.length) numActionIcons++;\n\n\t/** @const {<Array>RowActionItem} */\n\tconst actionsForButtons = slice(actions, 0, numActionIcons);\n\t/** @const {<Array>RowActionItem} */\n\tconst actionsForDropdown = slice(actions, numActionIcons, actions.length);\n\tconst buttonsProps = {\n\t\tactions: actionsForButtons,\n\t\tgroupIndex,\n\t\trow,\n\t\trows,\n\t\tselectedRows,\n\t\trowIndex,\n\t\tdispatch,\n\t};\n\tconst dropdownProps = {\n\t\tactions: actionsForDropdown,\n\t\tgroupIndex,\n\t\trow,\n\t\trows,\n\t\tselectedRows,\n\t\trowIndex,\n\t\tdispatch,\n\t};\n\tconst cellContentClassNames = classNames({\n\t\t'cell-content': true,\n\t\t'row-actions-cell-content': true,\n\t\t[SPECIAL_COLUMN_CELL_CONTENT]: true,\n\t});\n\n\treturn (\n\t\t<div className={cellContentClassNames}>\n\t\t\t{renderActionsIconButtons(buttonsProps)}\n\t\t\t{!isEmpty(actionsForDropdown)\n\t\t\t\t? renderKebabDropdown(dropdownProps)\n\t\t\t\t: null}\n\t\t</div>\n\t);\n};\n","import '@servicenow/now-icon';\n\nimport classNames from 'classnames';\nimport { t } from 'sn-translate';\n\nimport { dragHandle } from '../../../../../shared/dragHandle';\nimport { SPECIAL_COLUMN_CELL_CONTENT } from '../rowCellConstants';\n\n/**\n * Renders the row drag handler cell for a row\n *\n * @param {Object} props\n * @param {number} props.rowIndex current index of this row, 1-based\n * @param {boolean} props.showDragHandle prop to render the cell for proper table structure but hide the handle on non re-orderable rows, eg for grouped rows\n */\nexport const rowDragCellContent = (props) => {\n\tconst { rowIndex, showDragHandle } = props;\n\tconst rowDragHandleCellContentClassNames = classNames({\n\t\t'cell-content': true,\n\t\t'row-drag-cell-content': true,\n\t\t[SPECIAL_COLUMN_CELL_CONTENT]: true,\n\t});\n\tconst rowDragHandleClassNames = classNames({\n\t\t'row-drag-handle': true,\n\t});\n\tconst ariaLabel = t(\n\t\t'Press space to begin reordering row {0}',\n\t\trowIndex + 1\n\t);\n\treturn (\n\t\t<div className={rowDragHandleCellContentClassNames}>\n\t\t\t{showDragHandle &&\n\t\t\t\tdragHandle({\n\t\t\t\t\tclassName: rowDragHandleClassNames,\n\t\t\t\t\tariaLabel,\n\t\t\t\t\ttooltip: t('Reorder'),\n\t\t\t\t})}\n\t\t</div>\n\t);\n};\n","import '@servicenow/now-checkbox';\nimport classNames from 'classnames';\nimport { t } from 'sn-translate';\n\nimport { ROW_CHECKBOX_INTERNAL_SET } from '../../../../../../../behaviors/rowSelectionBehavior/constants';\nimport { SPECIAL_COLUMN_CELL_CONTENT } from '../rowCellConstants';\n\n/**\n * Renders the row selection cell for a row\n *\n * @param {Object} props\n * @param {string} props.rowKey row key\n * @param {number} props.rowIndex current index of this row, 1-based\n * @param {Array<string>} props.allRowKeys array of all row keys present on a page\n * @param {boolean} props.isChecked an boolean value to indentify if row is checked or not\n * @param {Object} props.selectedRows an object representing list of rows selected with key indentified as a row key for a row.\n * @param {boolean} props.selectionDisabled a flag to disable row selection\n * @param {*} dispatch seismic dispatch\n */\nexport const rowSelectionCell = (props, dispatch) => {\n\tconst {\n\t\tallRowKeys,\n\t\trowIndex,\n\t\trowKey,\n\t\tisChecked,\n\t\tselectionDisabled,\n\t} = props;\n\n\tconst label = t('Select row');\n\tconst handleChecked = (/** @type {{ shiftKey: any; }} */ event) => {\n\t\tconst shiftKey = event.shiftKey;\n\t\tif (!selectionDisabled) {\n\t\t\tdispatch(ROW_CHECKBOX_INTERNAL_SET, {\n\t\t\t\tshiftKey,\n\t\t\t\tchecked: !isChecked,\n\t\t\t\trowKey,\n\t\t\t\trowIndex,\n\t\t\t\tallRowKeys,\n\t\t\t});\n\t\t}\n\t};\n\n\tconst rowSelectionCellContentClassnames = classNames({\n\t\t'cell-content': true,\n\t\t'row-selection-cell-content': true,\n\t\t[SPECIAL_COLUMN_CELL_CONTENT]: true,\n\t});\n\tconst rowSelectionCheckboxClassNames = classNames({\n\t\t'row-selection-checkbox': true,\n\t\t'is-checked': isChecked,\n\t});\n\n\treturn (\n\t\t<div className={rowSelectionCellContentClassnames}>\n\t\t\t<now-checkbox\n\t\t\t\tname={rowKey}\n\t\t\t\tmanageChecked={true}\n\t\t\t\tchecked={isChecked}\n\t\t\t\ton-click={handleChecked}\n\t\t\t\tclassName={rowSelectionCheckboxClassNames}\n\t\t\t\tdata-testId=\"selection\"\n\t\t\t\tdata-tooltip={label}\n\t\t\t\tconfigAria={{\n\t\t\t\t\t'aria-label': t('Select row {0}', rowIndex + 1),\n\t\t\t\t}}\n\t\t\t\tdisabled={selectionDisabled}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n","import { createRef, Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport classNames from 'classnames';\nimport kebabCase from 'lodash/kebabCase';\nimport memoize from 'lodash/memoize';\nimport set from 'lodash/set';\nimport truncate from 'lodash/truncate';\nimport { t } from 'sn-translate';\n\nimport {\n\tCELL_EDIT_INTERNAL,\n\tCELL_EDIT_POPOVER_TYPE,\n} from '../../../../../../behaviors/cellEditingBehavior/constants';\nimport { COLUMN_ACTIVE_CLASS } from '../../../../../../behaviors/columnDragDropBehavior/constants';\nimport {\n\tCELL_ACTION,\n\tCELL_ACTION_KEBAB_BUTTON_CLICKED,\n} from '../../../../../../behaviors/contextActionsBehavior/constants';\nimport { KEY } from '../../../../../../behaviors/keyboardNavBehavior/constants';\nimport {\n\tROW_HIGHLIGHT_ACTIVATED,\n\tROW_HIGHLIGHT_DEACTIVATED,\n\tROW_FOCUSED_INTERNAL,\n\tROW_BLUR_INTERNAL,\n} from '../../../../../../behaviors/rowBehavior/constants';\nimport { ALIGNMENT_CLASS_PREFIX } from '../../../../../../typeSchemas/columnDefinitions/alignmentTypes/alignmentTypes';\nimport cellSelectors from '../../../../../utils/selectors/cellSelectors';\nimport columnSelectors from '../../../../../utils/selectors/columnSelectors';\nimport rowSelectors from '../../../../../utils/selectors/rowSelectors';\nimport { booleanView } from '../../../../fields/boolean/boolean';\nimport { choiceView } from '../../../../fields/choice/choice';\nimport { currencyView } from '../../../../fields/currency/currency';\nimport { customComponent } from '../../../../fields/customComponent/customComponent';\nimport { dateTimeView } from '../../../../fields/dateTime/dateTime';\nimport { htmlView } from '../../../../fields/html/html';\nimport { iconView } from '../../../../fields/icon/icon';\nimport { linkView } from '../../../../fields/link/link';\nimport { numberView } from '../../../../fields/number/number';\nimport { percentCompleteView } from '../../../../fields/percentComplete/percentComplete';\nimport { stringView } from '../../../../fields/string/string';\nimport { urlView } from '../../../../fields/url/url';\nimport { getFakeNowIcon } from '../../../../shared/fakeNowIcon';\nimport {\n\tgroupBadgeCellContent,\n\tparentBadgeCellContent,\n} from '../../../../shared/groupBadgeCellContent';\nimport {\n\tgroupToggleCellContent,\n\tparentToggleCellContent,\n} from '../../../../shared/groupToggleCellContent';\nimport {\n\tELLIPSIS_ICON,\n\tINCLUDE_LARGE_PADDING_CLASS,\n\tINCLUDE_SMALL_PADDING_CLASS,\n\tROW_GRAYED_OUT_CLASS,\n\tROW_HIGHLIGHTED_CLASS,\n} from '../../../tableConstants';\n\nimport { getTooltipDataProps } from './cellContentUtils';\nimport { imageCell } from './imageCellType/imageCellType';\nimport { personCell } from './personCellType/personCellType';\nimport { pillsCell } from './pillsCellType/pillsCellType';\nimport { rowActionsCell } from './rowActionsCellType/rowActionsCellType';\nimport {\n\tDATA_COLUMN_CLASS,\n\tROW_CELL_CLASS,\n\tSPECIAL_COLUMN_CELL,\n} from './rowCellConstants';\nimport { rowDragCellContent } from './rowDragCellType/rowDragCellType';\nimport { rowSelectionCell } from './rowSelectionCellType/rowSelectionCellType';\n\nconst {\n\tSPECIAL_TYPE_ACTIONS,\n\tSPECIAL_TYPE_SELECTION,\n\tTYPE_NUMBER,\n\tTYPE_DATE_TIME,\n\tTYPE_BOOLEAN,\n\tTYPE_LINK,\n\tTYPE_URL,\n\tTYPE_ICON,\n\tTYPE_PILLS,\n\tTYPE_PERSON,\n\tTYPE_CURRENCY,\n\tTYPE_CUSTOM,\n\tSPECIAL_TYPE_GROUP_BADGE,\n\tSPECIAL_TYPE_GROUP_TOGGLE,\n\tSPECIAL_TYPE_ROW_DRAG_HANDLE,\n\tTYPE_CHOICE,\n\tTYPE_PERCENT_COMPLETE,\n\tTYPE_HTML,\n\tTYPE_IMAGE,\n\tSPECIAL_TYPE_PARENT_BADGE,\n\tSPECIAL_TYPE_PARENT_TOGGLE,\n} = require('../../../../../../typeSchemas/columnDefinitions/columnTypes/columnTypes');\n\nconst {\n\tgetColumnType,\n\thasCellActions,\n\tgetColumnAlignment,\n\tgetMaxCharacters,\n} = columnSelectors;\nconst { hasHighlightedValue, getLabel } = cellSelectors;\n\n/**\n *\n * @param {string} type\n * @param {UrlCellType} cell\n * @param {ProcessedColumn} column\n * @returns {*} tooltipDataProps\n */\nfunction getTooltipProps(type, cell, column) {\n\tlet tooltipDataProps = {};\n\tif (type === TYPE_URL) {\n\t\tconst label = getLabel(cell);\n\t\tconst truncatedLabel = truncate(label, {\n\t\t\tlength: getMaxCharacters(column),\n\t\t});\n\t\tconst isTruncated = truncatedLabel !== label;\n\t\ttooltipDataProps = getTooltipDataProps(label, isTruncated);\n\t}\n\treturn tooltipDataProps;\n}\n\n/**\n * Renders the proper typed cell content based on the type of its column\n *\n * @param {Object} props\n * @param {CellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {Row} props.row row\n * @param {Array<Row>} props.rows array of row definitions object\n * @param {RowActions} props.rowActions an object representing actions that can be taken on this row\n * @param {number} props.rowIndex current index of this row, 1-based\n * @param {Array<string>} props.allRowKeys array of all row keys present on a page\n * @param {string} props.rowKey row key\n * @param {boolean} props.isChecked an boolean value to indentify if row is checked or not\n * @param {Object} props.selectedRows an object representing list of rows selected with key indentified as a row key for a row.\n * @param {TableMetadata} props.tableMetadata metadata for the entire table\n * @param {RowGroupingState} props.rowGroupingState row grouping state\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {object} props.contextApi\n * @param {Array<string>} props.highlightedContent array of patterns to be highlighted\n * @param {number | undefined} props.groupIndex\n * @param {number | undefined} props.nestedLevel\n * @param {string} dir a string value that represents the language direction\n * @param {*} dispatch seismic dispatch\n * @param {boolean} isRecentUpdate a boolean value that represents if the row was recently updated\n */\nexport const renderTypedCellContent = (\n\tprops,\n\tdir,\n\tdispatch,\n\tisRecentUpdate\n) => {\n\tconst {\n\t\tcolumn,\n\t\tcell,\n\t\trow,\n\t\trows,\n\t\trowActions,\n\t\trowIndex,\n\t\tallRowKeys,\n\t\trowKey,\n\t\tisChecked,\n\t\tselectedRows,\n\t\ttableMetadata,\n\t\trowGroupingState,\n\t\tclickableTextEnabled,\n\t\thighlightedContent,\n\t\tcontextApi,\n\t\tgroupIndex,\n\t\tnestedLevel,\n\t} = props;\n\tconst type = getColumnType(column);\n\tset(cell, 'type', type);\n\tconst isHighlightedValue = hasHighlightedValue(cell);\n\n\tconst selectionDisabled = rowSelectors.getSelectionDisabledForParticularRow(\n\t\trow\n\t);\n\n\tconst dataCellProps = {\n\t\tcell,\n\t\tcolumn,\n\t\tclickableTextEnabled,\n\t\thighlightedContent,\n\t\trow,\n\t\ttableMetadata,\n\t\tcontextApi,\n\t\tisHighlightedValue,\n\t};\n\n\tconst rowActionsCellProps = {\n\t\tgroupIndex,\n\t\trow,\n\t\trows,\n\t\trowActions,\n\t\trowIndex,\n\t\tselectedRows,\n\t\tdispatch,\n\t};\n\n\tconst rowSelectionCellProps = {\n\t\trowKey,\n\t\trowIndex,\n\t\tallRowKeys,\n\t\tisChecked,\n\t\tselectedRows,\n\t\tselectionDisabled,\n\t};\n\n\tconst groupToggleCellProps = {\n\t\trow,\n\t\trowGroupingState,\n\t\tdispatch,\n\t\tnestedLevel,\n\t};\n\tconst customComponentProps = {\n\t\tdir,\n\t\t...dataCellProps,\n\t};\n\n\tswitch (type) {\n\t\tcase SPECIAL_TYPE_ROW_DRAG_HANDLE:\n\t\t\treturn rowDragCellContent({ rowIndex, showDragHandle: true });\n\t\tcase SPECIAL_TYPE_GROUP_TOGGLE:\n\t\t\treturn groupToggleCellContent(groupToggleCellProps, isRecentUpdate);\n\t\tcase SPECIAL_TYPE_GROUP_BADGE:\n\t\t\treturn groupBadgeCellContent(row, groupToggleCellProps);\n\t\tcase SPECIAL_TYPE_PARENT_TOGGLE:\n\t\t\treturn parentToggleCellContent(\n\t\t\t\tgroupToggleCellProps,\n\t\t\t\tisRecentUpdate\n\t\t\t);\n\t\tcase SPECIAL_TYPE_PARENT_BADGE:\n\t\t\treturn parentBadgeCellContent(row);\n\t\tcase SPECIAL_TYPE_ACTIONS:\n\t\t\treturn rowActionsCell(rowActionsCellProps);\n\t\tcase SPECIAL_TYPE_SELECTION:\n\t\t\treturn rowSelectionCell(rowSelectionCellProps, dispatch);\n\t\tcase TYPE_NUMBER:\n\t\t\treturn numberView(dataCellProps, dispatch, isRecentUpdate);\n\t\tcase TYPE_PERCENT_COMPLETE:\n\t\t\treturn percentCompleteView(dataCellProps, dispatch, isRecentUpdate);\n\t\tcase TYPE_DATE_TIME:\n\t\t\treturn dateTimeView(dataCellProps, dispatch, isRecentUpdate);\n\t\tcase TYPE_BOOLEAN:\n\t\t\treturn booleanView(dataCellProps, dispatch, isRecentUpdate);\n\t\tcase TYPE_ICON:\n\t\t\treturn iconView(dataCellProps, dispatch, isRecentUpdate);\n\t\tcase TYPE_IMAGE:\n\t\t\treturn imageCell(dataCellProps, dispatch, isRecentUpdate);\n\t\tcase TYPE_LINK:\n\t\t\treturn linkView(dataCellProps, dispatch, isRecentUpdate);\n\t\tcase TYPE_URL:\n\t\t\treturn urlView(dataCellProps);\n\t\tcase TYPE_PILLS:\n\t\t\t// replace below with `return pillsView({ props, dispatch });`\n\t\t\treturn pillsCell(dataCellProps, dispatch);\n\t\tcase TYPE_PERSON:\n\t\t\treturn personCell(dataCellProps, dispatch);\n\t\tcase TYPE_CURRENCY:\n\t\t\treturn currencyView(dataCellProps, dispatch, isRecentUpdate);\n\t\tcase TYPE_CUSTOM:\n\t\t\treturn customComponent(customComponentProps, dispatch);\n\t\tcase TYPE_CHOICE:\n\t\t\treturn choiceView(dataCellProps, dispatch, isRecentUpdate);\n\t\tcase TYPE_HTML:\n\t\t\treturn htmlView(dataCellProps);\n\t\tdefault:\n\t\t\treturn stringView(dataCellProps, dispatch, isRecentUpdate);\n\t}\n};\n\n/**\n * Renders Cell actions trigger button for a cell\n * @param {Object} props\n * @param {CellType} props.cell an object representing this cell\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {number} props.rowIndex row index, 1-based\n * @param {number | undefined} props.groupIndex group index, 1-based\n * @param {Row} props.row row\n * @param {*} dispatch seismic dispatch\n */\nexport const renderCellActionsButton = (props, dispatch) => {\n\tconst { row, column, cell, rowIndex, groupIndex } = props;\n\n\tconst cellActionsRef = createRef();\n\tconst context = {\n\t\trow,\n\t\tcolumn,\n\t\tcell,\n\t\trowIndex,\n\t\tgroupIndex,\n\t\ttypeOfAction: CELL_ACTION,\n\t};\n\n\tconst ariaLabel = t('Cell actions');\n\n\t// STRY57085591 we are replacing now-button-iconic with button for performance improvement\n\treturn (\n\t\t<button\n\t\t\tdata-testid=\"cellAction\"\n\t\t\tdata-ancillary=\"true\"\n\t\t\tclassName=\"row-cell-actions-button\"\n\t\t\taria-label={ariaLabel}\n\t\t\tref={cellActionsRef}\n\t\t\tdata-tooltip={ariaLabel}\n\t\t\ton-click={() => {\n\t\t\t\tdispatch(CELL_ACTION_KEBAB_BUTTON_CLICKED, {\n\t\t\t\t\tcontext,\n\t\t\t\t\tpopoverTarget: cellActionsRef,\n\t\t\t\t\ttypeOfAction: CELL_ACTION,\n\t\t\t\t});\n\t\t\t}}\n\t\t>\n\t\t\t{getFakeNowIcon(ELLIPSIS_ICON, 'sm')}\n\t\t</button>\n\t);\n};\n\n/**\n * This is the generic body cell renderer for all of the non-header cells in the table. Typed cells are subviews of this view.\n *\n * @param {Object} props\n * @param {ProcessedColumn} props.column an object representing this cell's parent column\n * @param {number} props.rowIndex row index, 1-based\n * @param {number} props.columnIndex column index for the row\n * @param {string} props.columnKey column key\n * @param {string} props.rowKey row key\n * @param {Row} props.row row\n * @param {Array<Row>} props.rows array of row definitions object\n * @param {RowActions} props.rowActions an object representing actions that can be taken on this row\n * @param {Array<CellActionItem>} props.cellActions an array representing actions that can be taken on this cell\n * @param {CellType} props.cell an object representing this cell\n * @param {Array<string>} props.allRowKeys array of all row keys present on a page\n * @param {boolean} props.isChecked an boolean value to indentify if row is checked or not\n * @param {Object} props.selectedRows an object representing list of rows selected with key indentified as a row key for a row.\n * @param {TableMetadata} props.tableMetadata an object representing the metadata for the table\n * @param {Array<string>} props.highlightedContent array of patterns to be highlighted\n * @param {RowGroupingState} props.rowGroupingState row grouping state\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {boolean} props.isDefaultRowWithChildrenType property defining whether a group is grouped or not\n * @param {string} props.firstColumnKey first column key, for determining if padding left should be added\n * @param {string} props.firstDataColumnKey first column key excluding special type columns (only including body data)\n * @param {string} props.focusedRowKey focused row key\n * @param {Object} props.parentGroupClassNames an object representing the class names for parent child grouped rows\n * @param {string} props.dir a prop representing the language direction.\n * @param {object} props.contextApi\n * @param {RowIndexesMap} props.rowIndexesMap map containing rowKeys and indexes\n * @param {number | undefined} props.groupIndex\n * @param {*} dispatch seismic dispatch\n */\n\nconst isRowHighlightedMemoized = memoize(rowSelectors.isRowHighlighted);\nconst isSpecialColumnMemoized = memoize(columnSelectors.isSpecialColumn);\nconst isRecentAddedOrUpdatedRowMemoized = memoize(\n\trowSelectors.isRecentlyAddedOrUpdatedRow\n);\nconst hasCellActionsMemoized = memoize(hasCellActions);\nconst getColumnAlignmentMemoized = memoize(getColumnAlignment);\n\n// @ts-ignore\nexport function handleMouseOver(isSpecialColumn, rowKey, dispatch) {\n\tif (isSpecialColumn) {\n\t\tdispatch(ROW_HIGHLIGHT_ACTIVATED, {\n\t\t\trowKey,\n\t\t});\n\t}\n}\n\n// @ts-ignore\nexport function handleMouseOut(isSpecialColumn, dispatch) {\n\tif (isSpecialColumn) {\n\t\tdispatch(ROW_HIGHLIGHT_DEACTIVATED);\n\t}\n}\n\n// @ts-ignore\nexport function handleBlur(focusedRowKey, rowKey, dispatch) {\n\tif (focusedRowKey === rowKey) {\n\t\tdispatch(ROW_BLUR_INTERNAL, {\n\t\t\trowKey,\n\t\t});\n\t}\n}\n\n// @ts-ignore\nexport function handleFocus(focusedRowKey, rowKey, dispatch) {\n\tif (focusedRowKey !== rowKey) {\n\t\tdispatch(ROW_FOCUSED_INTERNAL, {\n\t\t\trowKey,\n\t\t});\n\t}\n}\n\n// @ts-ignore\nexport function handleDoubleClick(cellRef, context, dispatch) {\n\tdispatch(CELL_EDIT_INTERNAL, {\n\t\tcellRef,\n\t\tcontext,\n\t});\n}\n\n// @ts-ignore\nexport function handleKeyPress(event, cellRef, context, dispatch) {\n\tif (event.key !== KEY.ENTER || !event.shiftKey) return;\n\tdispatch(CELL_EDIT_INTERNAL, {\n\t\tcellRef,\n\t\tcontext,\n\t});\n}\n\n/**\n *\n * @param {number} nestedLevel\n * @param {string} columnKey\n * @param {string} firstDataColumnKey\n * @param {Document} document\n * @returns {object}\n */\nexport const addChildRowMargin = (\n\tnestedLevel,\n\tdocument,\n\tcolumnKey = '',\n\tfirstDataColumnKey = ''\n) => {\n\tif (!nestedLevel) return {};\n\n\tif (columnKey && firstDataColumnKey && firstDataColumnKey !== columnKey)\n\t\treturn {};\n\n\tconst CHILDREN_ROW_PX_INDENT = 12;\n\tconst childRowMargin = nestedLevel * CHILDREN_ROW_PX_INDENT;\n\treturn {\n\t\t'margin-inline-start': `${childRowMargin}px`,\n\t};\n};\n\n// @ts-ignore\nexport const rowCell = (props, dispatch) => {\n\tconst {\n\t\tcell,\n\t\tcellEditingEnabled,\n\t\tcolumn,\n\t\tcolumnIndex,\n\t\tcolumnKey,\n\t\tdir,\n\t\tfirstColumnKey,\n\t\tfirstDataColumnKey,\n\t\tfocusedRowKey,\n\t\tgroupIndex,\n\t\tshowInlinePadding,\n\t\tparentGroupClassNames,\n\t\trow,\n\t\trowDragDropEnabled,\n\t\trowIndex,\n\t\trowIndexesMap,\n\t\trowKey,\n\t} = props;\n\tconst { nestedLevel } = props;\n\tconst isHighlighted = isRowHighlightedMemoized(row);\n\tconst isSpecialColumn = isSpecialColumnMemoized(column);\n\tconst shouldRenderRecentlyUpdatedIcon =\n\t\tisRecentAddedOrUpdatedRowMemoized(row) &&\n\t\t!isSpecialColumn &&\n\t\tfirstDataColumnKey === columnKey;\n\tconst shouldRenderActionsButton =\n\t\thasCellActionsMemoized(cell) || hasCellActionsMemoized(column);\n\tconst alignment = getColumnAlignmentMemoized(column);\n\tconst alignmentClassName = ALIGNMENT_CLASS_PREFIX + alignment;\n\tconst isGrayedOut = rowSelectors.isRowGrayedOut(row);\n\tconst shouldHaveIndent =\n\t\tshowInlinePadding &&\n\t\tfirstColumnKey === columnKey &&\n\t\t!rowDragDropEnabled;\n\n\tconst type = getColumnType(column);\n\n\tconst cellClassNames = classNames(\n\t\tROW_CELL_CLASS,\n\t\t`${kebabCase(\n\t\t\ttype === TYPE_HTML ? type : columnKey\n\t\t)} ${alignmentClassName}`,\n\t\t{\n\t\t\t[COLUMN_ACTIVE_CLASS]: columnSelectors.isColumnActive(column),\n\t\t\t[ROW_HIGHLIGHTED_CLASS]: isHighlighted,\n\t\t\t[ROW_GRAYED_OUT_CLASS]: isGrayedOut,\n\t\t},\n\t\tisSpecialColumn ? SPECIAL_COLUMN_CELL : DATA_COLUMN_CLASS,\n\t\tparentGroupClassNames\n\t);\n\n\tconst cellContentClassNames = classNames('row-cell-content', {\n\t\t[ROW_HIGHLIGHTED_CLASS]: isHighlighted,\n\t\t[INCLUDE_LARGE_PADDING_CLASS]: shouldHaveIndent && isSpecialColumn,\n\t\t[INCLUDE_SMALL_PADDING_CLASS]: shouldHaveIndent && !isSpecialColumn,\n\t\t[ROW_GRAYED_OUT_CLASS]: isGrayedOut,\n\t});\n\n\t/**\n\t * when cell type is url the tooltip on cell will be the cell content and tooltip for link will be open in new new/current tab\n\t */\n\tconst tooltipDataProps = getTooltipProps(type, cell, column);\n\tconst cellRef = createRef();\n\tconst context = {\n\t\trow,\n\t\tcolumn,\n\t\tcell,\n\t\t// In case of grouped lists, we need to get right index for a row in order to show popover.\n\t\t// @ts-ignore\n\t\trowIndex: rowIndexesMap[rowKey],\n\t\tcolumnIndex,\n\t\ttypeOfAction: CELL_EDIT_POPOVER_TYPE,\n\t};\n\n\t// @ts-ignore\n\t// eslint-disable-next-line no-unused-vars\n\tconst cellEditingPayload = {\n\t\tcellRef: cellRef,\n\t\tcontext: context,\n\t};\n\tconst cellEditingLabel = t(\n\t\t'Press and hold Shift then press Enter to edit.'\n\t);\n\tconst a11yLabelId = `cell-editing-label-${columnIndex}-${rowIndex}`;\n\treturn (\n\t\t<td\n\t\t\tref={cellRef}\n\t\t\tkey={`row_index_${rowIndex}_col_index_${columnIndex}`}\n\t\t\tclassName={cellClassNames}\n\t\t\tdir={dir}\n\t\t\tdata-columnKey={columnKey}\n\t\t\tdata-rowPath={`[${rowIndex}]`}\n\t\t\tdata-rowIndex={rowIndex}\n\t\t\t{...(groupIndex !== undefined\n\t\t\t\t? { 'data-groupIndex': String(groupIndex) }\n\t\t\t\t: {})}\n\t\t\ton-mouseover={() =>\n\t\t\t\thandleMouseOver(isSpecialColumn, rowKey, dispatch)\n\t\t\t}\n\t\t\ton-mouseout={() => handleMouseOut(isSpecialColumn, dispatch)}\n\t\t\ton-blur={() => handleBlur(focusedRowKey, rowKey, dispatch)}\n\t\t\ton-focus={() => handleFocus(focusedRowKey, rowKey, dispatch)}\n\t\t\ton-dblclick={() => handleDoubleClick(cellRef, context, dispatch)}\n\t\t\t// @ts-ignore\n\t\t\ton-keypress={(event) =>\n\t\t\t\thandleKeyPress(event, cellRef, context, dispatch)\n\t\t\t}\n\t\t\t{...tooltipDataProps}\n\t\t\tariaDescribedBy={a11yLabelId}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={cellContentClassNames}\n\t\t\t\t// HTML scrollable cells get tab focus when they should not, this fixes that issue\n\t\t\t\t{...(type === TYPE_HTML ? { tabindex: -1 } : {})}\n\t\t\t\tstyle={addChildRowMargin(\n\t\t\t\t\tnestedLevel,\n\t\t\t\t\tdocument,\n\t\t\t\t\tcolumnKey,\n\t\t\t\t\tfirstDataColumnKey\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{renderTypedCellContent(\n\t\t\t\t\tprops,\n\t\t\t\t\tdir,\n\t\t\t\t\tdispatch,\n\t\t\t\t\tshouldRenderRecentlyUpdatedIcon\n\t\t\t\t)}\n\t\t\t\t{shouldRenderActionsButton && (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{renderCellActionsButton(props, dispatch)}\n\t\t\t\t\t</Fragment>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{cellEditingEnabled && (\n\t\t\t\t<span\n\t\t\t\t\tclassName=\"now-a11y-label\"\n\t\t\t\t\tid={a11yLabelId}\n\t\t\t\t\taria-label={cellEditingLabel}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</td>\n\t);\n};\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport classNames from 'classnames';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport { t } from 'sn-translate';\n\nimport '@servicenow/now-badge';\nimport { getVirtualizedBehaviorState } from '../../../../../behaviors/virtualizedListBehavior/virtualizedListBehaviorUtils';\nimport {\n\tSPECIAL_TYPE_GROUP_BADGE,\n\tSPECIAL_TYPE_GROUP_TOGGLE,\n} from '../../../../../typeSchemas/columnDefinitions/columnTypes/columnTypes';\nimport {\n\tROW_ALIGNMENT_CENTER,\n\tROW_ALIGNMENT_DEFAULT,\n\tROW_ALIGNMENT_INVERSE,\n} from '../../../../../typeSchemas/rowDefinitions/rowAlignments/rowAlignment';\nimport {\n\tcustomComponentType,\n\trenderCustomComponentDisplay,\n} from '../../../../utils/customLoader';\nimport columnSelectors from '../../../../utils/selectors/columnSelectors';\nimport rowSelectors from '../../../../utils/selectors/rowSelectors';\nimport shouldShadeAlternateRows from '../../../../utils/shadeAlternateRows';\nimport { groupBadgeCellContent } from '../../../shared/groupBadgeCellContent';\nimport { groupToggleCellContent } from '../../../shared/groupToggleCellContent';\nimport {\n\tCOL_SPAN_MAX,\n\tROW_GRAYED_OUT_CLASS,\n\tROW_HIGHLIGHTED_CLASS,\n\tROW_RECENT_UPDATED_CLASS,\n} from '../../tableConstants';\n\nimport { renderGroupActions } from './groupedRowUtils';\nimport { rowCell, addChildRowMargin } from './rowCell/rowCell';\nimport {\n\tROW_CELL_CLASS,\n\tSPECIAL_COLUMN_CELL,\n} from './rowCell/rowCellConstants';\nimport { rowDragCellContent } from './rowCell/rowDragCellType/rowDragCellType';\n\nconst {\n\tROW_TYPE_GROUPED,\n} = require('../../../../../typeSchemas/rowDefinitions/rowTypes/rowTypes');\n\nconst {\n\tgetColumnEdges,\n\tgetFirstColumnEdge,\n\tgetColumnFromProcessedCols,\n\tgetCellActionsFromProcessedCols,\n} = columnSelectors;\nconst {\n\tfindCell,\n\tgetCells,\n\tgetRowType,\n\tgetRowKey,\n\tisDefaultRowWithChildren,\n\tgetChildren,\n\tisGroupedRow,\n\tgetGroupedRowLabel,\n\tgetGroupedRowCount,\n\tgetGroupActions,\n} = rowSelectors;\n\n/**\n * Renders each cell in this row.\n *\n * @param {Object} props\n * @param {ProcessedColumnDefinitions} props.processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * \tHas been processed and cleaned by columnBehavior.\n * @param {Row} props.row an object representing a single row in the table, including its cells and config options\n * @param {Array<Row>} props.rows array of row definitions object\n * @param {boolean} props.cellEditingEnabled whether or not cell editing is enabled\n * @param {number} props.index an object representing a single row in the table, including its cells and config options. 1-indexed\n * @param {RowActions} props.rowActions an object representing actions that can be taken on this row\n * @param {Array<string>} props.allRowKeys array of all row keys present on a page\n * @param {string} props.rowKey row key\n * @param {string} props.focusedRowKey focused row key\n * @param {boolean} props.isChecked an boolean value to indentify if row is checked or not\n * @param {Object} props.selectedRows an object representing list of rows selected with key indentified as a row key for a row.\n * @param {Array<string>} props.highlightedContent array of patterns to be highlighted\n * @param {TableMetadata} props.tableMetadata an object representing the metadata of the table\n * @param {RowGroupingState} props.rowGroupingState row grouping state\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {boolean} props.isDefaultRowWithChildrenType property defining whether a group is of type default and has children under it\n * @param {Object} props.parentGroupClassNames an object representing the class names for parent child grouped rows\n * @param {string} props.dir a prop representing the language direction.\n * @param {object} props.contextApi\n * @param {RowIndexesMap} props.rowIndexesMap map containing rowKeys and indexes\n * @param {number | undefined} props.groupIndex index of the parent row group, if exists\n * @param {number | undefined} props.nestedLevel\n * @param {boolean} props.showInlinePadding\n * @param {boolean | undefined} props.rowDragDropEnabled\n * @param {*} dispatch seismic dispatch\n */\nexport const renderChildRowCells = (props, dispatch) => {\n\tconst {\n\t\tallRowKeys,\n\t\tcellEditingEnabled,\n\t\tclickableTextEnabled,\n\t\tcontextApi,\n\t\tdir,\n\t\tfocusedRowKey,\n\t\tgroupIndex,\n\t\thighlightedContent,\n\t\tshowInlinePadding,\n\t\tindex: rowIndex,\n\t\tisChecked,\n\t\tisDefaultRowWithChildrenType,\n\t\tparentGroupClassNames,\n\t\tprocessedColumnDefinitions,\n\t\trow,\n\t\trowActions,\n\t\trowDragDropEnabled,\n\t\trowGroupingState,\n\t\trowIndexesMap,\n\t\trowKey,\n\t\trows,\n\t\tselectedRows,\n\t\ttableMetadata,\n\t} = props;\n\n\tconst { nestedLevel } = props;\n\t/** @type {Array<String>} */\n\tconst columnEdges = getColumnEdges(processedColumnDefinitions);\n\n\tconst firstColumnKey = columnEdges[0];\n\tconst firstDataColumnKey = getFirstColumnEdge(columnEdges);\n\n\t// for each column, find and render its child cell in this row\n\treturn columnEdges.map((columnKey, columnIndex) => {\n\t\tconst column = getColumnFromProcessedCols(\n\t\t\tprocessedColumnDefinitions,\n\t\t\tcolumnKey\n\t\t);\n\n\t\tconst cellActions = getCellActionsFromProcessedCols(\n\t\t\tprocessedColumnDefinitions,\n\t\t\tcolumn\n\t\t);\n\t\t/** @type {CellType} */\n\t\tconst cell = findCell(row, columnKey);\n\n\t\tconst cellProps = {\n\t\t\tallRowKeys,\n\t\t\tcell,\n\t\t\tcellActions,\n\t\t\tcellEditingEnabled,\n\t\t\tclickableTextEnabled,\n\t\t\tcolumn,\n\t\t\tcolumnIndex,\n\t\t\tcolumnKey,\n\t\t\tcontextApi,\n\t\t\tdir,\n\t\t\tfirstColumnKey,\n\t\t\tfirstDataColumnKey,\n\t\t\tfocusedRowKey,\n\t\t\tgroupIndex,\n\t\t\thighlightedContent,\n\t\t\tshowInlinePadding,\n\t\t\tisChecked,\n\t\t\tisDefaultRowWithChildrenType,\n\t\t\tnestedLevel,\n\t\t\tparentGroupClassNames,\n\t\t\trow,\n\t\t\trowActions,\n\t\t\trowDragDropEnabled,\n\t\t\trowGroupingState,\n\t\t\trowIndex,\n\t\t\trowIndexesMap,\n\t\t\trowKey,\n\t\t\trows,\n\t\t\tselectedRows,\n\t\t\ttableMetadata,\n\t\t};\n\n\t\treturn rowCell(cellProps, dispatch);\n\t});\n};\n\n//@ts-ignore\nexport const renderRowCells = (props, dispatch, colProps, cellMap) => {\n\tconst {\n\t\tcolumnEdges,\n\t\tfirstColumnKey,\n\t\tfirstDataColumnKey,\n\t\tcolumnsMap,\n\t\tcellActionsMap,\n\t} = colProps;\n\tconst {\n\t\tallRowKeys,\n\t\tcellEditingEnabled,\n\t\tclickableTextEnabled,\n\t\tcontextApi,\n\t\tdir,\n\t\tfocusedRowKey,\n\t\tgroupIndex,\n\t\thighlightedContent,\n\t\tshowInlinePadding,\n\t\tindex: rowIndex,\n\t\tisChecked,\n\t\tisDefaultRowWithChildrenType,\n\t\tparentGroupClassNames,\n\t\trow,\n\t\trowActions,\n\t\trowDragDropEnabled,\n\t\trowGroupingState,\n\t\trowIndexesMap,\n\t\trowKey,\n\t\trows,\n\t\tselectedRows,\n\t\ttableMetadata,\n\t\tvirtualizedScrollEnabled,\n\t} = props;\n\n\tconst { nestedLevel } = props;\n\n\tconst cellProps = {\n\t\tallRowKeys,\n\t\tcellEditingEnabled,\n\t\tclickableTextEnabled,\n\t\tcontextApi,\n\t\tdir,\n\t\tfirstColumnKey,\n\t\tfirstDataColumnKey,\n\t\tfocusedRowKey,\n\t\tgroupIndex,\n\t\thighlightedContent,\n\t\tshowInlinePadding,\n\t\tisChecked,\n\t\tisDefaultRowWithChildrenType,\n\t\tnestedLevel,\n\t\tparentGroupClassNames,\n\t\trow,\n\t\trowActions,\n\t\trowDragDropEnabled,\n\t\trowGroupingState,\n\t\trowIndex,\n\t\trowIndexesMap,\n\t\trowKey,\n\t\trows,\n\t\tselectedRows,\n\t\ttableMetadata,\n\t\tvirtualizedScrollEnabled,\n\t};\n\n\t// for each column, find and render its child cell in this row\n\t// @ts-ignore\n\treturn columnEdges.map((columnKey, columnIndex) => {\n\t\t// Update only the necessary properties of cellProps\n\t\t// @ts-ignore\n\t\tcellProps.cell = cellMap.get(columnKey);\n\t\t// @ts-ignore\n\t\tcellProps.column = columnsMap.get(columnKey);\n\t\t// @ts-ignore\n\t\tcellProps.columnIndex = columnIndex;\n\t\t// @ts-ignore\n\t\tcellProps.columnKey = columnKey;\n\t\t// @ts-ignore\n\t\tcellProps.cellActions = cellActionsMap.get(columnKey);\n\t\treturn rowCell(cellProps, dispatch);\n\t});\n};\n\n/**\n * This subview renders children rows\n *\n * @param {Object} props\n * @param {ProcessedColumnDefinitions} props.processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * @param {boolean | undefined} props.virtualizedScrollEnabled whether or not virtualized scrolling is enabled\n * \tHas been processed and cleaned by columnBehavior.\n * @param {String} props.componentId nowId of the component\n * @param {boolean} props.cellEditingEnabled whether or not cell editing is enabled\n * @param {Row} props.row an object representing a single row in the table, including its cells and config options\n * @param {Array<Row>} props.rows array of row definitions object\n * @param {number} props.index Current Row Index\n * @param {RowActions} props.rowActions an object representing actions that can be taken on this row\n * @param {RowGroupingState} props.rowGroupingState row grouping state\n * @param {RowSelectionState} props.rowSelectionState row selection state\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {boolean | undefined} props.rowDragDropEnabled\n * @param {Array<string>} props.highlightedContent array of string patterns to be highlighted\n * @param {string} props.focusedRowKey focused row key\n * @param {Array<string>} props.allRowKeys array of all row keys present on a page\n * @param {string} props.activeRowKey The key of a row that should be highlighted to indicate a possible row action.\n * @param {TableMetadata} props.tableMetadata An object representing the metadata for a given table\n * @param {number | undefined} props.groupIndex Index of grouped row. Used while rendering rows under a group\n * @param {String} props.dir a prop representing the language direction\n * @param {object} props.contextApi\n * @param {State} props.behaviors\n * @param {RowIndexesMap} props.rowIndexesMap map containing rowKeys and indexes\n * @param {string} props.shadeAlternateRows\n * @param {number} props.nestedLevel\n * @param {boolean} props.showInlinePadding\n * @param {*} dispatch seismic dispatch\n */\nexport const renderChildrenRows = (props, dispatch) => {\n\tconst {\n\t\tactiveRowKey,\n\t\tallRowKeys,\n\t\tbehaviors,\n\t\tcellEditingEnabled,\n\t\tclickableTextEnabled,\n\t\tcomponentId,\n\t\tcontextApi,\n\t\tdir,\n\t\tfocusedRowKey,\n\t\tgroupIndex,\n\t\thighlightedContent,\n\t\tshowInlinePadding,\n\t\tprocessedColumnDefinitions,\n\t\trow,\n\t\trowActions,\n\t\trowDragDropEnabled,\n\t\trowGroupingState,\n\t\trowIndexesMap,\n\t\trowSelectionState,\n\t\trows,\n\t\tshadeAlternateRows,\n\t\ttableMetadata,\n\t\tvirtualizedScrollEnabled,\n\t} = props;\n\n\tconst groupKey = getRowKey(row);\n\tconst children = getChildren(row);\n\tconst isDefaultRowWithChildrenType = isDefaultRowWithChildren(row);\n\tconst isGroupedRowType = isGroupedRow(row);\n\tif (isEmpty(children)) return;\n\tconst { nestedLevel } = props;\n\n\tconst rowCount = getGroupedRowCount(row) ?? children.length;\n\treturn children.map((\n\t\t/** @type {Row} */ row,\n\t\t/** @type {number} */ index\n\t) => {\n\t\tconst rowProps = {\n\t\t\tactiveRowKey,\n\t\t\tallRowKeys,\n\t\t\tbehaviors,\n\t\t\tcellEditingEnabled,\n\t\t\tclickableTextEnabled,\n\t\t\tcomponentId,\n\t\t\tcontextApi,\n\t\t\tdir,\n\t\t\tfocusedRowKey,\n\t\t\tgroupIndex,\n\t\t\tgroupKey,\n\t\t\thighlightedContent,\n\t\t\tshowInlinePadding,\n\t\t\tindex,\n\t\t\tisDefaultRowWithChildrenType,\n\t\t\tisGroupedRowType,\n\t\t\tisLastChildRow: index === children.length - 1,\n\t\t\tnestedLevel,\n\t\t\tprocessedColumnDefinitions,\n\t\t\trow,\n\t\t\trowActions,\n\t\t\trowCount,\n\t\t\trowDragDropEnabled,\n\t\t\trowGroupingState,\n\t\t\trowIndexesMap,\n\t\t\trowSelectionState,\n\t\t\trows,\n\t\t\tshadeAlternateRows,\n\t\t\ttableHasGroupedRows: true,\n\t\t\ttableMetadata,\n\t\t\tvirtualizedScrollEnabled,\n\t\t};\n\n\t\treturn tableRow(rowProps, dispatch, true, null);\n\t});\n};\n\n/**\n * This subview renders a grouped row and its children\n *\n * @param {Object} props\n * @param {boolean | undefined} props.virtualizedScrollEnabled whether or not virtualized scrolling is enabled\n * @param {ProcessedColumnDefinitions} props.processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * \tHas been processed and cleaned by columnBehavior.\n * @param {Row} props.row an object representing a single row in the table, including its cells and config options\n * @param {boolean} props.cellEditingEnabled whether or not cell editing is enabled\n * @param {Array<Row>} props.rows array of row definitions object\n * @param {number} props.rowCount The number of rows within the current group\n * @param {number} props.index Current Row Index\n * @param {RowActions} props.rowActions an object representing actions that can be taken on this row\n * @param {RowGroupingState} props.rowGroupingState row grouping state\n * @param {RowSelectionState} props.rowSelectionState row selection state\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {boolean | undefined} props.rowDragDropEnabled\n * @param {Array<string>} props.highlightedContent array of patterns to be highlighted\n * @param {string} props.focusedRowKey focused row key\n * @param {Array<string>} props.allRowKeys array of all row keys present on a page\n * @param {string} props.activeRowKey The key of a row that should be highlighted to indicate a possible row action.\n * @param {TableMetadata} props.tableMetadata An object representing the metadata for a given table\n * @param {String} props.dir a prop representing the language direction\n * @param {number | undefined} props.groupIndex Index of grouped row. Used while rendering rows under a group\n * @param {object} props.contextApi\n * @param {RowIndexesMap} props.rowIndexesMap map containing rowKeys and indexes\n * @param {string} props.shadeAlternateRows\n * @param {String} props.componentId nowId of the component\n * @param {State} props.behaviors\n * @param {number} props.nestedLevel\n * @param {boolean} props.showInlinePadding\n * @param {*} dispatch seismic dispatch\n */\n\nexport const renderGroupedRowAndChildren = (props, dispatch) => {\n\tconst {\n\t\tclickableTextEnabled,\n\t\tdir,\n\t\tshowInlinePadding,\n\t\tindex,\n\t\tprocessedColumnDefinitions,\n\t\trow,\n\t\trowCount,\n\t\trowDragDropEnabled,\n\t\trowGroupingState,\n\t} = props;\n\tconst { expandedGroupsArray } = rowGroupingState;\n\tconst rowKey = getRowKey(row);\n\tconst groupedRowLabel = getGroupedRowLabel(row);\n\tconst groupActions = getGroupActions(row);\n\tconst groupedRowCount = getGroupedRowCount(row);\n\tconst isRecentlyAddedOrUpdated = rowSelectors.isRecentlyAddedOrUpdatedRow(\n\t\trow\n\t);\n\tconst { nestedLevel } = props;\n\tconst isGroupExpanded = expandedGroupsArray.includes(rowKey);\n\tconst columnEdges = getColumnEdges(processedColumnDefinitions);\n\tconst toggleProps = {\n\t\trow,\n\t\trowGroupingState,\n\t\tclickableTextEnabled,\n\t\tdispatch,\n\t\tnestedLevel,\n\t};\n\tconst trClassNames = classNames({\n\t\t'grouped-row': true,\n\t\t[ROW_RECENT_UPDATED_CLASS]: isRecentlyAddedOrUpdated,\n\t});\n\tconst specialCellClassNames = classNames({\n\t\t[ROW_CELL_CLASS]: true,\n\t\t[SPECIAL_COLUMN_CELL]: true,\n\t});\n\tconst dragDropHandleCellClassNames = classNames({\n\t\t'row-drag': true,\n\t});\n\tconst groupToggleCellClassNames = classNames({\n\t\t'group-toggle': true,\n\t\t'is-group-opened': isGroupExpanded,\n\t\t'is-group-closed': !isGroupExpanded,\n\t});\n\tconst groupedInfoClassName = classNames({\n\t\t'is-group-opened': isGroupExpanded,\n\t\t'is-group-closed': !isGroupExpanded,\n\t});\n\tconst groupToggleCellContentClassNames = classNames('row-cell-content', {\n\t\t// if row drag drop is not present, the grouping toggle will always be the first column in grouped type rows\n\t\t['large-grouped-row-indent']: !rowDragDropEnabled && showInlinePadding,\n\t\t['small-grouped-row-indent']: !rowDragDropEnabled && !showInlinePadding,\n\t});\n\tconst groupBadgeCellContentClassNames = classNames('row-cell-content');\n\t// the main group cell takes up the entire row except for special cells: grouping toggle which is always present, grouping badge is present if a count is provided, row drag is present if turned on\n\tlet mainCellColSpan = columnEdges.length - 1;\n\tif (rowDragDropEnabled) mainCellColSpan--;\n\tif (groupedRowCount != undefined) mainCellColSpan--;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<tr\n\t\t\t\tkey={rowKey}\n\t\t\t\tclassName={trClassNames}\n\t\t\t\tdata-key={rowKey}\n\t\t\t\tdata-rowDefinitionPath={`[${rowKey}]`}\n\t\t\t\taria-expanded={`${isGroupExpanded}`}\n\t\t\t\taria-level=\"1\"\n\t\t\t\taria-posinset={`${index + 1}`}\n\t\t\t\taria-setsize={`${rowCount}`}\n\t\t\t>\n\t\t\t\t{rowDragDropEnabled && (\n\t\t\t\t\t<td\n\t\t\t\t\t\tclassName={`${specialCellClassNames} ${dragDropHandleCellClassNames} ${groupedInfoClassName}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t{rowDragCellContent({\n\t\t\t\t\t\t\t\trowIndex: index,\n\t\t\t\t\t\t\t\tshowDragHandle: false,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t)}\n\t\t\t\t<td\n\t\t\t\t\tclassName={`${specialCellClassNames} ${groupToggleCellClassNames}`}\n\t\t\t\t\tdata-columnKey={SPECIAL_TYPE_GROUP_TOGGLE}\n\t\t\t\t\tdir={dir}\n\t\t\t\t>\n\t\t\t\t\t<div className={groupToggleCellContentClassNames}>\n\t\t\t\t\t\t{groupToggleCellContent(\n\t\t\t\t\t\t\ttoggleProps,\n\t\t\t\t\t\t\tisRecentlyAddedOrUpdated\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</td>\n\n\t\t\t\t<td\n\t\t\t\t\tclassName={specialCellClassNames}\n\t\t\t\t\tdata-columnKey={SPECIAL_TYPE_GROUP_BADGE}\n\t\t\t\t\tdir={dir}\n\t\t\t\t>\n\t\t\t\t\t<div className={groupBadgeCellContentClassNames}>\n\t\t\t\t\t\t{groupedRowCount && groupBadgeCellContent(row)}\n\t\t\t\t\t</div>\n\t\t\t\t</td>\n\n\t\t\t\t<td colspan={mainCellColSpan} className=\"group-row-container\">\n\t\t\t\t\t<div className=\"cell-content group-row-content\">\n\t\t\t\t\t\t<span data-truncation>{groupedRowLabel}</span>\n\n\t\t\t\t\t\t{groupActions && (\n\t\t\t\t\t\t\t<div className=\"group-row-actions\" dir={dir}>\n\t\t\t\t\t\t\t\t{renderGroupActions(\n\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\tgroupActions,\n\t\t\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t\t{renderChildrenRows(props, dispatch)}\n\t\t</Fragment>\n\t);\n};\n\n/**\n * Renders custom row type\n *\n * @param {Object} props\n * @param {boolean | undefined} props.virtualizedScrollEnabled whether or not virtualized scrolling is enabled\n * @param {ProcessedColumnDefinitions} props.processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * Has been processed and cleaned by columnBehavior.\n * @param {Row} props.row an object representing a single row in the table, including its cells and config options\n * @param {Array<Row>} props.rows array of row definitions object\n * @param {number} props.index an object representing a single row in the table, including its cells and config options. 1-indexed\n * @param {RowActions} props.rowActions an object representing actions that can be taken on this row\n * @param {Array<string>} props.allRowKeys array of all row keys present on a page\n * @param {string} props.rowKey row key\n * @param {string} props.focusedRowKey focused row key\n * @param {boolean} props.isChecked an boolean value to indentify if row is checked or not\n * @param {Object} props.selectedRows an object representing list of rows selected with key indentified as a row key for a row.\n * @param {Array<string>} props.highlightedContent array of patterns to be highlighted\n * @param {TableMetadata} props.tableMetadata an object representing the metadata of the table\n * @param {RowGroupingState} props.rowGroupingState row grouping state\n * @param {boolean | undefined} props.rowDragDropEnabled\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {boolean} props.isDefaultRowWithChildrenType property defining whether a group is of type default and has children under it\n * @param {Object} props.parentGroupClassNames an object representing the class names for parent child grouped rows\n * @param {string} props.dir a prop representing the language direction.\n * @param {object} props.contextApi\n * @param {RowIndexesMap} props.rowIndexesMap map containing rowKeys and indexes\n * @param {number | undefined} props.groupIndex index of the parent row group, if exists\n * @param {number} props.nestedLevel\n */\n\nexport const renderCustomRow = (props) => {\n\tconst {\n\t\tprocessedColumnDefinitions,\n\t\ttableMetadata,\n\t\trow,\n\t\tdir,\n\t\tgroupIndex,\n\t\tindex,\n\t\trowGroupingState,\n\t\trowDragDropEnabled,\n\t\tnestedLevel,\n\t} = props;\n\tconst columnEdges = getColumnEdges(processedColumnDefinitions);\n\t// the main group cell takes up the entire row except for special cells\n\tconst mainCellColSpan = columnEdges.length - 1;\n\tconst componentTag = rowSelectors.getCustomRowComponentTag(row);\n\tconst componentDefaultProps = rowSelectors.getCustomRowComponentProps(row);\n\tconst rowContentDimensions = rowSelectors.getCustomRowContentDimensions(\n\t\trow\n\t);\n\tconst placeHolderDimensions = rowSelectors.getCustomRowPlaceholderDimensions(\n\t\trow\n\t);\n\tconst contentAlignment = rowSelectors.getCustomRowContentAlignment(row);\n\n\tlet customRowAlignment;\n\tconst customRowContainer = 'custom-row-container-';\n\tif (contentAlignment == ROW_ALIGNMENT_INVERSE)\n\t\tcustomRowAlignment = customRowContainer + ROW_ALIGNMENT_INVERSE;\n\telse if (contentAlignment == ROW_ALIGNMENT_CENTER)\n\t\tcustomRowAlignment = customRowContainer + ROW_ALIGNMENT_CENTER;\n\telse customRowAlignment = customRowContainer + ROW_ALIGNMENT_DEFAULT;\n\n\tconst specialColumnsCount = columnSelectors.getSpecialColumnsCount(\n\t\tprocessedColumnDefinitions\n\t);\n\n\tconst { expandedGroupsArray } = rowGroupingState;\n\n\tconst rowKey = getRowKey(row);\n\tconst isGroupExpanded = expandedGroupsArray.includes(rowKey);\n\n\tconst customContent = renderCustomComponentDisplay(\n\t\tcustomComponentType.ROW,\n\t\ttableMetadata,\n\t\tcomponentTag,\n\t\tcomponentDefaultProps,\n\t\tdir,\n\t\trowContentDimensions,\n\t\tplaceHolderDimensions,\n\t\tnull,\n\t\tcustomRowAlignment\n\t);\n\treturn (\n\t\t<Fragment>\n\t\t\t{renderSpecialCellsForCustomRow(\n\t\t\t\tspecialColumnsCount,\n\t\t\t\tisGroupExpanded,\n\t\t\t\trowDragDropEnabled,\n\t\t\t\tgroupIndex\n\t\t\t)}\n\t\t\t<td\n\t\t\t\tclassName=\"custom-row-content\"\n\t\t\t\tstyle={addChildRowMargin(nestedLevel, document)}\n\t\t\t\tcolspan={mainCellColSpan}\n\t\t\t\tdata-rowPath={`[${index}]`}\n\t\t\t\tdata-rowIndex={index}\n\t\t\t\t{...(groupIndex !== undefined\n\t\t\t\t\t? { 'data-groupIndex': String(groupIndex) }\n\t\t\t\t\t: {})}\n\t\t\t>\n\t\t\t\t<div className=\"row-cell-content\">{customContent}</div>\n\t\t\t</td>\n\t\t</Fragment>\n\t);\n};\n\n/**\n * renderSpecialCellsForCustomRow - renders special cells for custom row.\n * @param {number} specialColumnsCount\n * @param {boolean} isGroupExpanded\n * @param {boolean | undefined} rowDragDropEnabled\n * @param {number | undefined} groupIndex\n */\nexport const renderSpecialCellsForCustomRow = (\n\tspecialColumnsCount,\n\tisGroupExpanded,\n\trowDragDropEnabled,\n\tgroupIndex\n) => {\n\tconst specialCellClassNames = classNames({\n\t\t[ROW_CELL_CLASS]: true,\n\t\t[SPECIAL_COLUMN_CELL]: true,\n\t});\n\tconst dragDropHandleCellClassNames = classNames({\n\t\t'row-drag': rowDragDropEnabled,\n\t});\n\tconst groupToggleCellClassNames = classNames({\n\t\t'group-toggle': groupIndex !== undefined,\n\t\t'is-group-opened': groupIndex ? isGroupExpanded : null,\n\t\t'is-group-closed': groupIndex ? !isGroupExpanded : null,\n\t});\n\n\tconst specialColumns = [];\n\n\twhile (specialColumnsCount > 0) {\n\t\tspecialColumns.push(\n\t\t\t<td\n\t\t\t\tclassName={`${specialCellClassNames}\n\t\t\t\t\t\t${groupToggleCellClassNames}\n\t\t\t\t\t\t${dragDropHandleCellClassNames}`}\n\t\t\t></td>\n\t\t);\n\t\tspecialColumnsCount--;\n\t}\n\treturn specialColumns;\n};\n\n/**\n * renderGhostRow - renders a ghost row <td> that is used to maintain the height of the row when it is not in view.\n * @param {string} name  - name of the ghost row\n * @param {number} index - index can either be the child row index or the high lever rowDefinition.rows index.\n * @param {string} rowKey - key of the row\n * @param {string} groupKey - key of the group that includes children rows\n * @param {number | undefined} groupIndex - index of the parent row group, if exists\n * @param {boolean} isChild - flag to identify if the row is a child row\n * @param {*} colProps - column properties\n * @return {JSX.Element}\n */\nexport const renderGhostRow = (\n\tname,\n\tindex,\n\trowKey,\n\tgroupKey,\n\tgroupIndex,\n\tisChild,\n\tcolProps\n) => {\n\t// need to create a relative index to create unique id for each ghost row\n\tconst relativeIndex = isChild ? `${groupIndex}-${index}` : index;\n\tconst colLength = colProps?.columnEdges?.length;\n\n\treturn (\n\t\t<td\n\t\t\tid={`${name}-${relativeIndex}`}\n\t\t\tcolspan={colLength ?? COL_SPAN_MAX}\n\t\t\tclassName={`${name} virtualized-list`}\n\t\t\tdata-groupIndex={isChild ? `${groupIndex}` : `${index}`}\n\t\t\tdata-key={rowKey}\n\t\t\taria-label={t(`Row loading`)}\n\t\t></td>\n\t);\n};\n\n/**\n * renderVirtualizedRowCells - renders the row cells based on the virtualized scroll state and is responsible for rendering ghostrow <td>.\n *  ghost rows <td> become the child of the previously rendered <tr>'s without the original table cells.  The goal of this is to reduce computation of elements\n *  and reduce the number of elements in the dom.\n *\n * @param {Object} rowCellProps\n * @param {ProcessedColumnDefinitions} rowCellProps.processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * \tHas been processed and cleaned by columnBehavior.\n * @param {Row} rowCellProps.row an object representing a single row in the table, including its cells and config options\n * @param {boolean} rowCellProps.cellEditingEnabled whether or not cell editing is enabled\n * @param {Array<Row>} rowCellProps.rows array of row definitions object\n * @param {number} rowCellProps.index an object representing a single row in the table, including its cells and config options. 1-indexed\n * @param {RowActions} rowCellProps.rowActions an object representing actions that can be taken on this row\n * @param {Array<string>} rowCellProps.allRowKeys array of all row keys present on a page\n * @param {string} rowCellProps.rowKey row key\n * @param {string} rowCellProps.focusedRowKey focused row key\n * @param {boolean} rowCellProps.isChecked an boolean value to indentify if row is checked or not\n * @param {Object} rowCellProps.selectedRows an object representing list of rows selected with key indentified as a row key for a row.\n * @param {Array<string>} rowCellProps.highlightedContent array of patterns to be highlighted\n * @param {TableMetadata} rowCellProps.tableMetadata an object representing the metadata of the table\n * @param {RowGroupingState} rowCellProps.rowGroupingState row grouping state\n * @param {boolean | undefined} rowCellProps.clickableTextEnabled\n * @param {boolean} rowCellProps.isDefaultRowWithChildrenType property defining whether a group is of type default and has children under it\n * @param {Object} rowCellProps.parentGroupClassNames an object representing the class names for parent child grouped rows\n * @param {string} rowCellProps.dir a prop representing the language direction.\n * @param {object} rowCellProps.contextApi\n * @param {string} rowCellProps.groupKey The key of group that includes children rows\n * @param {RowIndexesMap} rowCellProps.rowIndexesMap map containing rowKeys and indexes\n * @param {number | undefined} rowCellProps.groupIndex index of the parent row group, if exists\n * @param {String} rowCellProps.componentId nowId of the component\n * @param {number} rowCellProps.nestedLevel\n * @param {boolean} rowCellProps.showInlinePadding\n * @param {boolean | undefined} rowCellProps.rowDragDropEnabled\n * @param {Object} colProps - column properties\n * @param {Map<string, Object>} cellMap - map of cell objects\n * @param {*} dispatch seismic dispatch\n */\nexport const renderVirtualizedRowCells = (\n\trowCellProps,\n\tdispatch,\n\tcolProps,\n\tcellMap,\n\tisChild = false\n) => {\n\tconst { index, rowKey, groupKey, groupIndex } = rowCellProps;\n\t// if groupIndex is present, use it to refer to rowDefinition.rows index to keep the pointer accurately pointed to the rowDefinition.rows\n\t// and separate from the [children] row index.\n\tconst rowDefIndex = groupIndex === 0 ? 0 : groupIndex || index;\n\tconst {\n\t\ttopBound,\n\t\tbottomBound,\n\t\t// @ts-ignore -\n\t} = getVirtualizedBehaviorState(rowCellProps);\n\n\tif (\n\t\ttopBound <= rowDefIndex &&\n\t\trowDefIndex <= (bottomBound < 80 ? 80 : bottomBound)\n\t) {\n\t\treturn isChild\n\t\t\t? renderChildRowCells(rowCellProps, dispatch)\n\t\t\t: renderRowCells(rowCellProps, dispatch, colProps, cellMap);\n\t} else if (index < topBound) {\n\t\treturn renderGhostRow(\n\t\t\t'ghost-row-top',\n\t\t\tindex,\n\t\t\trowKey,\n\t\t\tgroupKey,\n\t\t\tgroupIndex,\n\t\t\tisChild,\n\t\t\tcolProps\n\t\t);\n\t} else if (index > bottomBound) {\n\t\treturn renderGhostRow(\n\t\t\t'ghost-row-bottom',\n\t\t\tindex,\n\t\t\trowKey,\n\t\t\tgroupKey,\n\t\t\tgroupIndex,\n\t\t\tisChild,\n\t\t\tcolProps\n\t\t);\n\t}\n\treturn null;\n};\n\n/**\n * This subview renders one non-header row of cells.\n *\n * @param {Object} props\n * @param {boolean | undefined} props.virtualizedScrollEnabled whether or not virtualized scrolling is enabled\n * @param {ProcessedColumnDefinitions} props.processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * Has been processed and cleaned by columnBehavior.\n * @param {Row} props.row an object representing a single row in the table, including its cells and config options\n * @param {Array<Row>} props.rows array of row definitions object\n * @param {boolean} props.cellEditingEnabled whether or not cell editing is enabled\n * @param {number} props.rowCount The number of rows within the current group\n * @param {number} props.index Current Row Index\n * @param {RowActions} props.rowActions an object representing actions that can be taken on this row\n * @param {RowSelectionState} props.rowSelectionState row selection state\n * @param {RowGroupingState} props.rowGroupingState row grouping state\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {boolean | undefined} props.rowDragDropEnabled\n * @param {Array<string>} props.allRowKeys array of all row keys present on a page\n * @param {string} props.activeRowKey The key of a row that should be highlighted to indicate a possible row action.\n * @param {string} props.focusedRowKey focused row key\n * @param {TableMetadata} props.tableMetadata An object representing the metadata for a given table\n * @param {boolean} props.tableHasGroupedRows Indicates if the table contains any grouped rows\n * @param {Array<string>} props.highlightedContent array of patterns to be highlighted\n * @param {String} props.dir a prop representing the language direction\n * @param {string} props.groupKey The key of group that includes children rows\n * @param {boolean} props.isGroupedRowType property defining whether a group is of type grouped or not\n * @param {boolean} props.isDefaultRowWithChildrenType property defining whether a group is of type default and has children under it\n * @param {number | undefined} props.groupIndex Index of grouped row. Used while rendering rows under a group\n * @param {boolean} props.isLastChildRow\n * @param {object} props.contextApi\n * @param {State} props.behaviors\n * @param {String} props.componentId nowId of the component\n * @param {RowIndexesMap} props.rowIndexesMap map containing rowKeys and indexes\n * @param {string} props.shadeAlternateRows\n * @param {number} props.nestedLevel\n * @param {boolean} props.showInlinePadding\n * @param {boolean | undefined} props.rowDragDropEnabled\n * @param {any} colProps - column properties\n * @param {*} dispatch seismic dispatch\n */\n// @ts-ignore\nexport const tableRow = (props, dispatch, isChild = false, colProps) => {\n\tconst {\n\t\tactiveRowKey,\n\t\tclickableTextEnabled,\n\t\tcontextApi,\n\t\tdir,\n\t\tgroupIndex,\n\t\tgroupKey,\n\t\thighlightedContent,\n\t\tshowInlinePadding,\n\t\tindex,\n\t\tisDefaultRowWithChildrenType,\n\t\tisGroupedRowType,\n\t\tisLastChildRow,\n\t\trow,\n\t\trowCount,\n\t\trowDragDropEnabled,\n\t\trowGroupingState,\n\t\trowSelectionState,\n\t\trows,\n\t\tshadeAlternateRows,\n\t\ttableHasGroupedRows,\n\t\tvirtualizedScrollEnabled,\n\t} = props;\n\tlet { nestedLevel } = props;\n\tif (!getCells(row) && getRowType(row) === ROW_TYPE_GROUPED) {\n\t\tnestedLevel = -1;\n\t\tprops.nestedLevel = nestedLevel;\n\t\treturn renderGroupedRowAndChildren(\n\t\t\t{ ...props, groupIndex: index },\n\t\t\tdispatch\n\t\t); // all rows except grouped type should have cells\n\t}\n\tconst rowKey = getRowKey(row);\n\tconst selectedRows = get(rowSelectionState, 'selectedRows', {});\n\tconst isHighlighted = rowSelectors.isRowHighlighted(row);\n\tconst isChecked = rowSelectors.isRowChecked(selectedRows, rowKey);\n\tconst isRecentlyAddedOrUpdated = rowSelectors.isRecentlyAddedOrUpdatedRow(\n\t\trow\n\t);\n\tconst isGrayedOut = rowSelectors.isRowGrayedOut(row);\n\tconst { expandedGroupsArray = [] } = rowGroupingState;\n\t// when group of type parent/children we use same colors as parent for all child rows. So setting index for children as group index\n\tconst modifiedIndex =\n\t\t(groupIndex === 0 || groupIndex) && isDefaultRowWithChildrenType\n\t\t\t? groupIndex\n\t\t\t: index;\n\tconst isGroupExpanded = expandedGroupsArray.includes(rowKey);\n\tconst rowClassNames = classNames({\n\t\t'is-even': modifiedIndex % 2 === 0,\n\t\t'is-odd': modifiedIndex % 2 === 1,\n\t\t[ROW_HIGHLIGHTED_CLASS]: isHighlighted,\n\t\t'is-checked': isChecked,\n\t\t[ROW_RECENT_UPDATED_CLASS]: isRecentlyAddedOrUpdated,\n\t\t[ROW_GRAYED_OUT_CLASS]: isGrayedOut,\n\t\t'is-active': !isChecked && activeRowKey === rowKey,\n\t\t// if a row is a grouped and when expandedGroupArray doesn't have parent row group key, we hide all the children under it\n\t\t'is-hidden':\n\t\t\t(isGroupedRowType || isDefaultRowWithChildrenType) &&\n\t\t\t!expandedGroupsArray.includes(groupKey),\n\t\t'now-list-table-row': true,\n\t\t'virtualized-list': virtualizedScrollEnabled,\n\t\t'is-shade-alternate-rows-off': !shouldShadeAlternateRows(\n\t\t\tshadeAlternateRows,\n\t\t\tcontextApi\n\t\t),\n\t});\n\n\tconst parentGroupClassNames = classNames({\n\t\t'is-child-row': isGroupedRowType || isDefaultRowWithChildrenType,\n\t\t'is-last-child-row':\n\t\t\t(isGroupedRowType || isDefaultRowWithChildrenType) &&\n\t\t\tisLastChildRow,\n\t\t'is-group-opened': isDefaultRowWithChildren(row) && isGroupExpanded,\n\t\t'is-group-closed': isDefaultRowWithChildren(row) && !isGroupExpanded,\n\t});\n\tconst rowCellProps = {\n\t\t...props,\n\t\tclickableTextEnabled,\n\t\tcontextApi,\n\t\tdir,\n\t\tgroupIndex,\n\t\thighlightedContent,\n\t\tshowInlinePadding,\n\t\tisChecked,\n\t\tisDefaultRowWithChildrenType,\n\t\tparentGroupClassNames,\n\t\trow,\n\t\trowDragDropEnabled,\n\t\trowKey,\n\t\trows,\n\t\tselectedRows,\n\t};\n\n\tconst rowAria = {\n\t\t// Only add these props if the table has grouped rows\n\t\t...(tableHasGroupedRows && {\n\t\t\t// Only add aria-expanded if it's a parent row\n\t\t\t...(isDefaultRowWithChildren(row) && {\n\t\t\t\t'aria-expanded': `${isGroupExpanded}`,\n\t\t\t}),\n\t\t\t'aria-level': groupKey ? '2' : '1',\n\t\t\t'aria-posinset': `${index + 1}`,\n\t\t\t'aria-setsize': `${rowCount}`,\n\t\t}),\n\t};\n\n\t//Process Cell info\n\tconst cellMap = new Map();\n\n\tconst cellsByColumnKey = new Map();\n\tif (row && row.cells && colProps && colProps.columnEdges.length) {\n\t\tObject.entries(row.cells).forEach(([key, value]) => {\n\t\t\tcellsByColumnKey.set(key, value);\n\t\t});\n\t\t// @ts-ignore\n\t\tcolProps.columnEdges.map((columnKey) => {\n\t\t\tconst cell = cellsByColumnKey.get(columnKey);\n\t\t\tcellMap.set(columnKey, cell);\n\t\t});\n\t}\n\n\tconst isCustomRow = rowSelectors.isCustomRow(row);\n\tlet content;\n\tif (isCustomRow) {\n\t\tif (isChild) {\n\t\t\tnestedLevel++;\n\t\t\trowCellProps.nestedLevel = nestedLevel;\n\t\t\tprops.nestedLevel = nestedLevel;\n\t\t}\n\t\tcontent = renderCustomRow(rowCellProps);\n\t} else if (virtualizedScrollEnabled) {\n\t\tif (isChild) {\n\t\t\tnestedLevel++;\n\t\t\trowCellProps.nestedLevel = nestedLevel;\n\t\t\tprops.nestedLevel = nestedLevel;\n\t\t}\n\t\tcontent = renderVirtualizedRowCells(\n\t\t\trowCellProps,\n\t\t\tdispatch,\n\t\t\tcolProps,\n\t\t\tcellMap,\n\t\t\tisChild\n\t\t);\n\t} else if (isChild) {\n\t\tnestedLevel++;\n\t\trowCellProps.nestedLevel = nestedLevel;\n\t\tprops.nestedLevel = nestedLevel;\n\t\tcontent = renderChildRowCells(rowCellProps, dispatch);\n\t} else {\n\t\tcontent = renderRowCells(rowCellProps, dispatch, colProps, cellMap);\n\t}\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<tr\n\t\t\t\tid={\n\t\t\t\t\trows[0].key === rowKey\n\t\t\t\t\t\t? 'first-row'\n\t\t\t\t\t\t: rowKey || `row_id_${index}`\n\t\t\t\t}\n\t\t\t\tkey={rowKey || `row_index_${index}`}\n\t\t\t\tclassName={rowClassNames}\n\t\t\t\t{...(isHighlighted ? { ariaDescription: 'highlighted' } : {})}\n\t\t\t\tdata-key={rowKey || `row_index_${index}`}\n\t\t\t\tdata-rowDefinitionPath={`[${rowKey || index}]`}\n\t\t\t\tdata-groupRowPath={groupKey ? groupKey : null}\n\t\t\t\tdata-testId={\n\t\t\t\t\tisDefaultRowWithChildren(row) && 'parent-child-row'\n\t\t\t\t}\n\t\t\t\t{...rowAria}\n\t\t\t>\n\t\t\t\t{content}\n\t\t\t</tr>\n\n\t\t\t{\n\t\t\t\t/* This is to render child rows for group parent child use case  */\n\t\t\t\tisDefaultRowWithChildren(row) &&\n\t\t\t\t\trenderChildrenRows({ ...props, groupIndex }, dispatch)\n\t\t\t}\n\t\t</Fragment>\n\t);\n};\n","import { OVERLAY_TYPE_SKELETON_LOADER } from '../../../../typeSchemas/overlayDefinition/overlayConfigConsts';\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\nimport overlaySelectors from '../../../utils/selectors/overlaySelectors';\nimport rowSelectors from '../../../utils/selectors/rowSelectors';\nimport '@servicenow/now-loader';\nimport { renderSkeletonLoaderOverlay } from '../../overlay/overlay';\n\nimport { tableRow } from './tableRow/tableRow';\n\nconst {\n\tgetRows,\n\tgetRowActions,\n\thasGroupedOrDefaultRowsWithChildren,\n\tgetHighlightedContentPatterns,\n\tgetDefaultRowKeysRecursively,\n\tisDefaultRowWithChildren,\n} = rowSelectors;\nconst { getOverlayType, getOverlayShowColumnHeaders } = overlaySelectors;\n\n/**\n * This iteratively renders row subviews\n *\n * @param {Object} props\n * @param {ProcessedColumnDefinitions} props.processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * \tHas been processed and cleaned by columnBehavior.\n * @param {boolean | undefined} props.virtualizedScrollEnabled whether or not virtualized scrolling is enabled\n * @param {boolean} props.cellEditingEnabled whether or not cell editing is enabled\n * @param {String} props.componentId nowId of the component\n * @param {RowDefinitions} props.rowDefinitions an object representing the rows of the table, including their data and metadata.\n * @param {RowSelectionState} props.rowSelectionState row selection state\n * @param {RowGroupingState} props.rowGroupingState row grouping state\n * @param {boolean | undefined} props.rowDragDropEnabled\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {string} props.activeRowKey The key of a row that should be highlighted to indicate a possible row action.\n * @param {string} props.focusedRowKey focused row key\n * @param {TableMetadata} props.tableMetadata an object representing the metadata for a given table\n * @param {String} props.dir a prop representing the language direction\n * @param {object} props.contextApi\n * @param {State} props.behaviors\n * @param {RowIndexesMap} props.rowIndexesMap map containing rowKeys and indexes\n * @param {string} props.shadeAlternateRows\n * @param {boolean} props.showInlinePadding\n * @param {*} dispatch seismic dispatch\n */\n// @ts-ignore\nconst renderBodyRows = (props, colProps, dispatch) => {\n\tconst {\n\t\tactiveRowKey,\n\t\tbehaviors,\n\t\tcellEditingEnabled,\n\t\tclickableTextEnabled,\n\t\tcomponentId,\n\t\tcontextApi,\n\t\tdir,\n\t\tfocusedRowKey,\n\t\tshowInlinePadding,\n\t\tprocessedColumnDefinitions,\n\t\trowDefinitions,\n\t\trowDragDropEnabled,\n\t\trowGroupingState,\n\t\trowIndexesMap,\n\t\trowSelectionState,\n\t\tshadeAlternateRows,\n\t\ttableMetadata,\n\t\tvirtualizedScrollEnabled,\n\t} = props;\n\n\t/** @type {Array<Row>} */\n\tconst rows = getRows(rowDefinitions);\n\tconst highlightedContent = getHighlightedContentPatterns(rowDefinitions);\n\tconst rowCount = rows.length;\n\tconst rowActions = getRowActions(rowDefinitions);\n\tconst allRowKeys = getDefaultRowKeysRecursively(rowDefinitions);\n\tconst nestedLevel = 0;\n\treturn rows.map((row, index) => {\n\t\tconst rowProps = {\n\t\t\tbehaviors,\n\t\t\tcellEditingEnabled,\n\t\t\trow,\n\t\t\trows,\n\t\t\trowCount,\n\t\t\tprocessedColumnDefinitions,\n\t\t\tshowInlinePadding,\n\t\t\tindex,\n\t\t\trowActions,\n\t\t\trowSelectionState,\n\t\t\trowGroupingState,\n\t\t\tclickableTextEnabled,\n\t\t\tallRowKeys,\n\t\t\tactiveRowKey,\n\t\t\tfocusedRowKey,\n\t\t\ttableMetadata,\n\t\t\ttableHasGroupedRows: hasGroupedOrDefaultRowsWithChildren(\n\t\t\t\trowDefinitions\n\t\t\t),\n\t\t\thighlightedContent,\n\t\t\tgroupKey: '',\n\t\t\tisGroupedRowType: false,\n\t\t\tisDefaultRowWithChildrenType: false,\n\t\t\tgroupIndex: isDefaultRowWithChildren(row) ? index : undefined,\n\t\t\tisLastChildRow: false,\n\t\t\tdir,\n\t\t\tcontextApi,\n\t\t\trowIndexesMap,\n\t\t\trowDragDropEnabled,\n\t\t\tshadeAlternateRows,\n\t\t\tvirtualizedScrollEnabled,\n\t\t\tcomponentId,\n\t\t\tnestedLevel,\n\t\t};\n\t\treturn tableRow(rowProps, dispatch, false, colProps);\n\t});\n};\n\n/**\n * renders the table body\n * @param {Object} props\n * @param {boolean | undefined} props.virtualizedScrollEnabled\n * @param {string} props.componentId\n * @param {boolean} props.cellEditingEnabled whether or not cell editing is enabled\n * @param {State} props.behaviors\n * @param {ProcessedColumnDefinitions} props.processedColumnDefinitions an object representing the columns of the table, including their data and metadata. Has been processed and cleaned by columnBehavior.\n * @param {RowDefinitions} props.rowDefinitions an object representing the rows of the table, including their data and metadata.\n * @param {OverlayDefinition} props.overlayDefinition\n * @param {RowSelectionState} props.rowSelectionState row selection state\n * @param {RowGroupingState} props.rowGroupingState row grouping state\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {boolean | undefined} props.rowDragDropEnabled\n * @param {string} props.activeRowKey The key of a row that should be highlighted to indicate a possible row action.\n * @param {string} props.focusedRowKey focused row key\n * @param {TableMetadata} props.tableMetadata an object representing the metadata for a given table\n * @param {String} props.dir a prop representing the language direction\n * @param {object} props.contextApi\n * @param {RowIndexesMap} props.rowIndexesMap map containing rowKeys and indexes\n * @param {boolean} props.showInlinePadding\n * @param {string} props.shadeAlternateRows\n * @param {*} dispatch seismic dispatch\n */\nexport const tableBody = (props, dispatch) => {\n\tconst { overlayDefinition, processedColumnDefinitions } = props;\n\n\t// Calculate column info upfront\n\tconst columnEdges = columnSelectors.getColumnEdges(\n\t\tprocessedColumnDefinitions\n\t);\n\tconst firstColumnKey = columnEdges[0];\n\tconst firstDataColumnKey = columnSelectors.getFirstColumnEdge(columnEdges);\n\n\tconst columnsMap = new Map();\n\tconst cellActionsMap = new Map();\n\n\t// replace normal tbody rows with skeleton rows if configured\n\tif (\n\t\tgetOverlayType(overlayDefinition) === OVERLAY_TYPE_SKELETON_LOADER &&\n\t\tgetOverlayShowColumnHeaders(overlayDefinition)\n\t) {\n\t\treturn renderSkeletonLoaderOverlay({\n\t\t\tskeletonLoaderConfig: { numColumns: columnEdges.length }, // for the body overlay case, we ignore the input number of columns from the overlay config and use the actual number of columns from the colDefs\n\t\t\t...overlayDefinition,\n\t\t});\n\t}\n\n\t// for each column, find and render its child cell in this row\n\t// @ts-ignore\n\tcolumnEdges.map((columnKey) => {\n\t\tconst column = columnSelectors.getColumnFromProcessedCols(\n\t\t\tprops.processedColumnDefinitions,\n\t\t\tcolumnKey\n\t\t);\n\t\tconst cellActions = columnSelectors.getCellActionsFromProcessedCols(\n\t\t\tprops.processedColumnDefinitions,\n\t\t\tcolumn\n\t\t);\n\t\tcolumnsMap.set(columnKey, column);\n\t\tcellActionsMap.set(columnKey, cellActions);\n\t});\n\n\tconst colProps = {\n\t\tcolumnEdges,\n\t\tcolumnsMap,\n\t\tcellActionsMap,\n\t\tfirstColumnKey,\n\t\tfirstDataColumnKey,\n\t};\n\n\treturn <tbody>{renderBodyRows(props, colProps, dispatch)}</tbody>;\n};\n","import '@servicenow/now-button';\nimport '@servicenow/now-icon';\n\nimport { actionableMessageKey } from '../../../behaviors/actionableMessageBehavior/constants';\nimport rowSelectors from '../../utils/selectors/rowSelectors';\n\nimport {\n\tACTIONABLE_MESSAGE_ICON_SIZE,\n\tACTIONABLE_MESSAGE_BUTTON_CLASS,\n} from './constants';\n\nconst { getActionableMessageIcon, getActionableMessageStatus } = rowSelectors;\n\n/**\n * This subview contains the actionable message row\n *\n * @param {ActionableMessage} actionableMessage\n * @param {Number} colSpan\n * @param {string} location\n */\nexport const renderActionableMessage = (\n\tactionableMessage,\n\tcolSpan,\n\tlocation\n) => {\n\tconst { text, action } = actionableMessage;\n\tconst status = getActionableMessageStatus(actionableMessage);\n\tconst icon = getActionableMessageIcon(actionableMessage);\n\n\t// guard against empty action property.\n\tif (action && (!action.action || !action.label)) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<tr data-testId={`actionable-message-${location}`}>\n\t\t\t<td className={'actionable-message'} colSpan={colSpan}>\n\t\t\t\t<div className={`actionable-message-content ${status}`}>\n\t\t\t\t\t<now-icon\n\t\t\t\t\t\tclassName=\"actionable-message-icon\"\n\t\t\t\t\t\tsize={ACTIONABLE_MESSAGE_ICON_SIZE}\n\t\t\t\t\t\ticon={icon}\n\t\t\t\t\t/>\n\t\t\t\t\t<div className=\"actionable-message-label-group\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"actionable-message-text\"\n\t\t\t\t\t\t\tdata-truncation\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{text}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{action ? (\n\t\t\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\t\t\thideBlockPadding\n\t\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\t\t'aria-label': action.label,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tclassName={ACTIONABLE_MESSAGE_BUTTON_CLASS}\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tlabel={action.label}\n\t\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\t\tkey: actionableMessageKey,\n\t\t\t\t\t\t\t\t\taction: action.action,\n\t\t\t\t\t\t\t\t\tlocation,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</td>\n\t\t</tr>\n\t);\n};\n","import rowSelectors from '../../../utils/selectors/rowSelectors';\nimport { renderActionableMessage } from '../../actionableMessage/actionableMessage';\n\n/**\n * Subview of table containing the table footer(s)\n *\n * @param {Object} props\n * @param {RowDefinitions} props.rowDefinitions\n * @param {ProcessedColumnDefinitions} props.processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * \tHas been processed and cleaned by columnBehavior.\n */\nexport const tableFooters = (props) => {\n\tconst { processedColumnDefinitions, rowDefinitions } = props;\n\tconst {\n\t\thasBottomActionableMessage,\n\t\tgetBottomActionableMessage,\n\t} = rowSelectors;\n\n\tif (!processedColumnDefinitions) return null;\n\n\treturn (\n\t\t<tfoot>\n\t\t\t{hasBottomActionableMessage(rowDefinitions)\n\t\t\t\t? renderActionableMessage(\n\t\t\t\t\t\tgetBottomActionableMessage(rowDefinitions),\n\t\t\t\t\t\tprocessedColumnDefinitions.columnEdges.length,\n\t\t\t\t\t\t'bottom'\n\t\t\t\t  )\n\t\t\t\t: null}\n\t\t</tfoot>\n\t);\n};\n","import { createRef } from '@servicenow/ui-renderer-snabbdom';\nimport classNames from 'classnames';\nimport { t } from 'sn-translate';\n\nimport { ICON_SIZES } from '../../../../constants';\nimport { SPECIAL_COLUMN_CELL_CONTENT } from '../tableBody/tableRow/rowCell/rowCellConstants';\n\nimport {\n\tSHOW_HIDE_COLUMN_FILTERING_ROW_ICON,\n\tSHOW_HIDE_COLUMN_FILTERING_ROW_ACTION,\n} from './columnFilteringCell/columnFilteringConsts';\n\n/**\n * Renders a button-iconic component that onClick shows/hides the column filtering row.\n * @param {ColumnFilteringState} columnFilteringState\n */\nexport const columnFilteringToggleButton = (columnFilteringState) => {\n\tconst ref = createRef();\n\tconst { showColumnFilteringRow } = columnFilteringState;\n\n\tconst ariaLabel = showColumnFilteringRow\n\t\t? t('Hide column filter row')\n\t\t: t('Show column filter row');\n\tconst cellContentClassNames = classNames({\n\t\t'cell-content': true,\n\t\t'row-actions-cell-content': true,\n\t\t'column-filtering-toggle-button-cell-content': true,\n\t\t[SPECIAL_COLUMN_CELL_CONTENT]: true,\n\t});\n\n\tconst buttonIconicClassNames = classNames({\n\t\t'column-filtering-button-iconic': true,\n\t});\n\n\treturn (\n\t\t<div className={cellContentClassNames}>\n\t\t\t<now-button-stateful\n\t\t\t\tappend-to-payload={{\n\t\t\t\t\ttype: SHOW_HIDE_COLUMN_FILTERING_ROW_ACTION,\n\t\t\t\t}}\n\t\t\t\tbare=\"true\"\n\t\t\t\tclassName={buttonIconicClassNames}\n\t\t\t\tconfigAria={{\n\t\t\t\t\tbutton: {\n\t\t\t\t\t\t'aria-expanded': showColumnFilteringRow,\n\t\t\t\t\t\t'aria-label': ariaLabel,\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t\tdata-testId=\"columnFilteringToggleButtonIconic\"\n\t\t\t\ticon={SHOW_HIDE_COLUMN_FILTERING_ROW_ICON}\n\t\t\t\tref={ref}\n\t\t\t\tselected={showColumnFilteringRow}\n\t\t\t\tsize={ICON_SIZES.SMALL}\n\t\t\t\ttooltipContent={ariaLabel}\n\t\t\t\tvariant=\"primary\"\n\t\t\t/>\n\t\t</div>\n\t);\n};\n","import { t } from 'sn-translate';\nexport const COLUMN_HEADER_ICON_SIZE = 'sm';\n\nexport const COLUMN_GRAB_INSTRUCTIONS = t(\n\t'Instructions: Press space to grab. Use left and right arrow keys to move the column. Press enter to release in current position. Press Escape to cancel and return to original position.'\n);\n\nexport const COLUMN_GRAB_INSTRUCTIONS_PREFIX = 'column-grab-instructions';\n","import '@servicenow/now-button';\nimport '@servicenow/now-icon';\nimport { createRef, Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport classNames from 'classnames';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport kebabCase from 'lodash/kebabCase';\nimport { t } from 'sn-translate';\n\nimport {\n\tCOLUMN_ACTIVE_CLASS,\n\tCOLUMN_DRAG_HANDLE_CLASS,\n} from '../../../../../behaviors/columnDragDropBehavior/constants';\nimport { HEADER_CELL_TEXT_CLICKED } from '../../../../../behaviors/columnHeaderClickBehavior/constants';\nimport {\n\tCOL_RESIZE_MIN_WIDTH,\n\tRESIZE_SLIDER_CLASS,\n} from '../../../../../behaviors/columnResizeBehavior/constants';\nimport { getSavedWidth } from '../../../../../behaviors/columnWidthBehavior/columnWidthBehavior';\nimport {\n\tINIT_COLUMN_WIDTHS,\n\tSET_COLUMN_WIDTHS,\n} from '../../../../../behaviors/columnWidthBehavior/constants';\nimport { COLUMN_HEADER_ACTION } from '../../../../../behaviors/contextActionsBehavior/constants';\nimport { NOW_BUTTON_ICONIC_CLICKED } from '../../../../../resources/constants';\nimport { ALIGNMENT_CLASS_PREFIX } from '../../../../../typeSchemas/columnDefinitions/alignmentTypes/alignmentTypes';\nimport {\n\tSPECIAL_TYPE_ACTIONS,\n\tSPECIAL_TYPE_GROUP_TOGGLE,\n\tSPECIAL_TYPE_SELECTION,\n} from '../../../../../typeSchemas/columnDefinitions/columnTypes/columnTypes';\nimport columnSelectors from '../../../../utils/selectors/columnSelectors';\nimport rowSelectors from '../../../../utils/selectors/rowSelectors';\nimport { dragHandle } from '../../../shared/dragHandle';\nimport {\n\tgetFakeNowIcon,\n\tgetIconHeightWidth,\n\ticonIsCached,\n} from '../../../shared/fakeNowIcon';\nimport { groupToggleCellContent } from '../../../shared/groupToggleCellContent';\nimport {\n\tSPECIAL_COLUMN_CELL,\n\tSPECIAL_COLUMN_CELL_CONTENT,\n} from '../../tableBody/tableRow/rowCell/rowCellConstants';\nimport {\n\tELLIPSIS_ICON,\n\tINCLUDE_LARGE_PADDING_CLASS,\n\tINCLUDE_SMALL_PADDING_CLASS,\n} from '../../tableConstants';\nimport { columnFilteringToggleButton } from '../columnFilteringToggleButton';\n\nimport {\n\tCOLUMN_GRAB_INSTRUCTIONS,\n\tCOLUMN_GRAB_INSTRUCTIONS_PREFIX,\n\tCOLUMN_HEADER_ICON_SIZE,\n} from './tableHeaderCellConstants';\n\nconst {\n\tICON_CELL_COLOR_DEFAULT,\n\tICON_CELL_COLORS_ENUMS,\n} = require('../../../fields/icon/iconConstants');\n\nconst {\n\tgetColumnLabel,\n\tgetColumnColSpan,\n\tgetColumnKey,\n\tgetColumnParentKey,\n\tgetColumnRowSpan,\n\tgetColumnSortDirection,\n\thasColumnHeaderActions,\n\thasChildren,\n\tgetHeaderTextDisabled,\n\tisColumnActive,\n\tgetColumnType,\n\tisSpecialColumn,\n\tgetChildren,\n} = columnSelectors;\n\n/**\n * Renders icon decorators in header cell\n * @param {Array<ColumnHeaderIcon>} icons\n * @param {string} position\n */\nexport const renderColumnHeaderCellIcons = (icons = [], position) => {\n\tif (icons.length === 0) return null;\n\n\treturn (\n\t\t<span data-testId={`column-header-${position}-icons`}>\n\t\t\t{icons.map((/** @type{Icon} */ icon) => {\n\t\t\t\tconst iconColor = ICON_CELL_COLORS_ENUMS.includes(icon.color)\n\t\t\t\t\t? icon.color\n\t\t\t\t\t: ICON_CELL_COLOR_DEFAULT;\n\t\t\t\tconst cellIconClassNames = classNames(\n\t\t\t\t\t'header-cell-icon',\n\t\t\t\t\ticonColor\n\t\t\t\t);\n\t\t\t\tif (iconIsCached(icon.value, COLUMN_HEADER_ICON_SIZE)) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={cellIconClassNames}\n\t\t\t\t\t\t\taria-label={icon.label}\n\t\t\t\t\t\t\tstyle={getIconHeightWidth(COLUMN_HEADER_ICON_SIZE)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{getFakeNowIcon(\n\t\t\t\t\t\t\t\ticon.value,\n\t\t\t\t\t\t\t\tCOLUMN_HEADER_ICON_SIZE\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\ticon={icon.value}\n\t\t\t\t\t\t\tsize={COLUMN_HEADER_ICON_SIZE}\n\t\t\t\t\t\t\tclassName={cellIconClassNames}\n\t\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t\t'aria-label': icon.label,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t})}\n\t\t</span>\n\t);\n};\n\n/**\n * Renders element to display the column header text\n * @param {ProcessedColumn} column\n * @param {*} dispatch seismic dispatch\n * @param {string} tooltip optional tooltip describing what action will happen when header cell text is clicked\n */\nexport const renderHeaderCellText = (column, dispatch, tooltip) => {\n\tconst label = getColumnLabel(column);\n\tconst headerTextDisabled = getHeaderTextDisabled(column);\n\n\t// do not make header text clickable if header click explicitly disabled\n\t// or if the column has children\n\tif (\n\t\ttooltip === undefined ||\n\t\t!label ||\n\t\theaderTextDisabled ||\n\t\thasChildren(column)\n\t)\n\t\treturn (\n\t\t\t<span\n\t\t\t\tdata-testId=\"columnHeaderText\"\n\t\t\t\tclassName=\"header-cell-text header-cell-text-container\"\n\t\t\t\tdata-tooltip={label}\n\t\t\t>\n\t\t\t\t{label}\n\t\t\t</span>\n\t\t);\n\telse {\n\t\tconst tooltipDataProps = tooltip ? { 'data-tooltip': t(tooltip) } : {};\n\t\treturn (\n\t\t\t<button\n\t\t\t\tdata-testId=\"columnHeaderText\"\n\t\t\t\tclassName=\"header-cell-text header-cell-text-button\"\n\t\t\t\tconfigAria={{\n\t\t\t\t\t'aria-label': label,\n\t\t\t\t}}\n\t\t\t\ton-click={() => {\n\t\t\t\t\tdispatch(HEADER_CELL_TEXT_CLICKED, {\n\t\t\t\t\t\tcolumn,\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t\t{...tooltipDataProps}\n\t\t\t>\n\t\t\t\t<div className=\"header-cell-button-label\" {...tooltipDataProps}>\n\t\t\t\t\t{label}\n\t\t\t\t</div>\n\t\t\t</button>\n\t\t);\n\t}\n};\n\n/**\n * Renders column's actions trigger button for header cell\n * @param {ProcessedColumn} column\n * @param {ProcessedColumnDefinitions} processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * \tHas been processed and cleaned by columnBehavior.\n * @param {Array<ColumnHeaderActionItem>} columnHeaderActions array of column header action items for a column based on column key\n * @param {function} dispatch\n * @param {string} tooltip\n */\nexport const renderColumnHeaderActionsButton = (\n\tcolumn,\n\tprocessedColumnDefinitions,\n\tcolumnHeaderActions,\n\tdispatch,\n\ttooltip\n) => {\n\tconst columnHeaderActionsRef = createRef();\n\tconst context = { column, typeOfAction: COLUMN_HEADER_ACTION };\n\tif (iconIsCached(ELLIPSIS_ICON, 'sm')) {\n\t\treturn (\n\t\t\t<button\n\t\t\t\tclassName=\"column-header-actions-button\"\n\t\t\t\tdata-testId=\"columnHeaderAction\"\n\t\t\t\tdata-ancillary=\"true\"\n\t\t\t\tref={columnHeaderActionsRef}\n\t\t\t\tdata-tooltip={tooltip}\n\t\t\t\taria-label={t('{0} Actions', column.label)}\n\t\t\t\ton-click={() => {\n\t\t\t\t\tdispatch(NOW_BUTTON_ICONIC_CLICKED, {\n\t\t\t\t\t\tpopoverTarget: columnHeaderActionsRef,\n\t\t\t\t\t\tpopoverDefinition: {\n\t\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\t\tariaLabel: t(\n\t\t\t\t\t\t\t\t\t'Column actions for {0}',\n\t\t\t\t\t\t\t\t\tcolumn.label\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tdismissOnScroll: true,\n\t\t\t\t\t\t\t\thideTail: true,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\tactions: columnHeaderActions,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tprocessedColumnDefinitions,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{getFakeNowIcon(ELLIPSIS_ICON, 'sm')}\n\t\t\t</button>\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t<now-button-iconic\n\t\t\t\tdata-testId=\"columnHeaderAction\"\n\t\t\t\tdata-ancillary=\"true\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\tbare=\"true\"\n\t\t\t\ticon={ELLIPSIS_ICON}\n\t\t\t\tref={columnHeaderActionsRef}\n\t\t\t\tclassName=\"column-header-actions-button\"\n\t\t\t\tappend-to-payload={{\n\t\t\t\t\tpopoverTarget: columnHeaderActionsRef,\n\t\t\t\t\tpopoverDefinition: {\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\tdismissOnScroll: true,\n\t\t\t\t\t\t\thideTail: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\tactions: columnHeaderActions,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tprocessedColumnDefinitions,\n\t\t\t\t\tcontext,\n\t\t\t\t}}\n\t\t\t\tdata-tooltip={tooltip}\n\t\t\t\tconfigAria={{\n\t\t\t\t\t'aria-label': t('{0} Actions', column.label),\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t}\n};\n\n/**\n * Renders column drag drop handle based on the flag {@link isReorderingEnabled}\n * Wrapper stays all the time to maintain the spacing on left of the header cell\n * @param {Boolean | undefined} isReorderingEnabled\n * @param {ProcessedColumn} column\n * @param {number} totalColumns column count at the level\n * @param {number | undefined} columnIndex valid column index, ignoring the special columns\n * @returns\n */\nexport const renderColumnReorderHandle = (\n\tisReorderingEnabled,\n\tcolumn,\n\ttotalColumns,\n\tcolumnIndex = 0\n) => {\n\tconst columnLabel = getColumnLabel(column);\n\tconst columnKey = getColumnKey(column);\n\tconst className = COLUMN_DRAG_HANDLE_CLASS;\n\tconst ariaLabel = t(\n\t\t'Grab to reorder {0}, {1} of {2}',\n\t\tcolumnLabel,\n\t\tcolumnIndex + 1,\n\t\ttotalColumns\n\t);\n\tconst ariaDescribedBy = `${COLUMN_GRAB_INSTRUCTIONS_PREFIX}-${columnKey}`;\n\n\treturn (\n\t\t<div className=\"column-drag-drop-handle-wrapper\">\n\t\t\t{isReorderingEnabled && (\n\t\t\t\t<Fragment>\n\t\t\t\t\t{dragHandle({\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\tariaLabel,\n\t\t\t\t\t\tariaDescribedBy,\n\t\t\t\t\t\ttooltip: t('Reorder'),\n\t\t\t\t\t})}\n\n\t\t\t\t\t<div className=\"now-a11y-label\" id={ariaDescribedBy}>\n\t\t\t\t\t\t{COLUMN_GRAB_INSTRUCTIONS}\n\t\t\t\t\t</div>\n\t\t\t\t</Fragment>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\n/**\n * @param {ProcessedColumn} column\n * @param {string} width\n * @returns\n * @param {string} tooltip\n */\nexport const renderColumnResizeHandle = (column, width, tooltip) => {\n\tconst columnLabel = getColumnLabel(column);\n\treturn (\n\t\t<div\n\t\t\ttabindex=\"0\"\n\t\t\trole=\"slider\"\n\t\t\tdata-tooltip={tooltip}\n\t\t\taria-label={t('Grab to resize {0}', columnLabel)}\n\t\t\taria-valuemin={COL_RESIZE_MIN_WIDTH}\n\t\t\taria-valuemax=\"9005\"\n\t\t\taria-valuenow={\n\t\t\t\twidth ? Number.parseInt(width) : COL_RESIZE_MIN_WIDTH\n\t\t\t}\n\t\t\tclassName={`${RESIZE_SLIDER_CLASS}-container`}\n\t\t>\n\t\t\t<div\n\t\t\t\tdata-tooltip={t('Resize')}\n\t\t\t\tclassName={RESIZE_SLIDER_CLASS}\n\t\t\t></div>\n\t\t\t<div className={`${RESIZE_SLIDER_CLASS}-guide`} />\n\t\t</div>\n\t);\n};\n\n/**\n * Renders Select All checkbox in table header\n * @param {RowDefinitions} rowDefinitions\n * @param {boolean} selectAllRows\n * @param {boolean | undefined} selectAllEnabled\n */\nexport const renderHeaderSelectionCellContent = (\n\trowDefinitions,\n\tselectAllRows = false,\n\tselectAllEnabled\n) => {\n\tconst rows = rowSelectors.getRows(rowDefinitions);\n\tconst allRowKeys = rowSelectors.getDefaultRowKeysRecursively(\n\t\trowDefinitions\n\t);\n\n\tconst rowSelectionCellContentClassnames = classNames({\n\t\t'row-selection-cell-content': true,\n\t\t[SPECIAL_COLUMN_CELL_CONTENT]: true,\n\t});\n\tconst rowSelectionCheckboxClasses = classNames({\n\t\t'row-selection-checkbox': true,\n\t\t'is-checked': selectAllRows,\n\t});\n\n\tconst label = t('Select all rows');\n\n\treturn (\n\t\t<div className={rowSelectionCellContentClassnames}>\n\t\t\t{selectAllEnabled && !isEmpty(rows) && (\n\t\t\t\t<now-checkbox\n\t\t\t\t\tname={t('Select all rows')}\n\t\t\t\t\tmanageChecked={true}\n\t\t\t\t\tchecked={selectAllRows}\n\t\t\t\t\tclassName={rowSelectionCheckboxClasses}\n\t\t\t\t\tdata-testId=\"selection\"\n\t\t\t\t\tdata-tooltip={label}\n\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\tisSelectAllCheckbox: true,\n\t\t\t\t\t\tchecked: !selectAllRows,\n\t\t\t\t\t\tallRowKeys,\n\t\t\t\t\t}}\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t'aria-label': label,\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\n/**\n * Render header action cell content\n * @param {boolean | undefined} columnFilteringEnabled\n * @param {ColumnFilteringState} columnFilteringState\n */\nexport const renderActionCellContent = (\n\tcolumnFilteringEnabled,\n\tcolumnFilteringState\n) => {\n\treturn (\n\t\tcolumnFilteringEnabled &&\n\t\tcolumnFilteringToggleButton(columnFilteringState)\n\t);\n};\n\n/**\n * Renders default header cell content with icons, text and actions\n * @param {ProcessedColumn} column\n * @param {ProcessedColumnDefinitions} processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * \tHas been processed and cleaned by columnBehavior.\n * @param {Array<ColumnHeaderActionItem>} columnHeaderActions array of column header action items for a column based on column key\n * @param {string} tooltip optional tooltip describing what action will happen when header cell text is clicked\n * @param {Array<ColumnHeaderIcon>} startIcons\n * @param {Array<ColumnHeaderIcon>} endIcons\n * @param {RowGroupingState} rowGroupingState row grouping state\n * @param {boolean | undefined} isReorderingEnabled flag to check if Column Reordering enabled\n * @param {boolean | undefined} columnResizingEnabled flag to check if Column Reordering enabled\n * @param {number} columnCount total number of columns in the level\n * @param {number | undefined} columnIndex valid column index, ignoring the special columns\n * @param {string} width updated columnWidth\n * @param {*} dispatch seismic dispatch\n */\nexport const renderDefaultHeaderCellContent = (\n\tcolumn,\n\tprocessedColumnDefinitions,\n\ttooltip,\n\tstartIcons,\n\tendIcons,\n\tcolumnHeaderActions,\n\trowGroupingState,\n\tisReorderingEnabled,\n\tcolumnResizingEnabled,\n\tcolumnCount,\n\tcolumnIndex,\n\twidth,\n\tdispatch\n) => {\n\tconst hasResizeSupport =\n\t\tcolumnResizingEnabled &&\n\t\t!isSpecialColumn(column) &&\n\t\t!getChildren(column).length;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<div className=\"header-cell-content-child\">\n\t\t\t\t{!isSpecialColumn(column) &&\n\t\t\t\t\trenderColumnReorderHandle(\n\t\t\t\t\t\tisReorderingEnabled,\n\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\tcolumnCount,\n\t\t\t\t\t\tcolumnIndex\n\t\t\t\t\t)}\n\t\t\t\t<div className=\"header-cell-aligned-items\">\n\t\t\t\t\t{renderColumnHeaderCellIcons(startIcons, 'start')}\n\t\t\t\t\t{renderHeaderCellText(column, dispatch, tooltip)}\n\t\t\t\t\t{renderColumnHeaderCellIcons(endIcons, 'end')}\n\t\t\t\t</div>\n\t\t\t\t{hasColumnHeaderActions(column) && (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{renderColumnHeaderActionsButton(\n\t\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\t\tprocessedColumnDefinitions,\n\t\t\t\t\t\t\tcolumnHeaderActions,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tt('Filter')\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Fragment>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{hasResizeSupport\n\t\t\t\t? renderColumnResizeHandle(column, width, t('Resize'))\n\t\t\t\t: null}\n\t\t</Fragment>\n\t);\n};\n\n/**\n * Renders table header cell th element\n * @param {ProcessedColumn} column\n * @param {Array<ColumnHeaderActionItem>} columnHeaderActions array of column header action items for a column based on column key\n * @param {RowDefinitions} rowDefinitions\n * @param {RowSelectionState} rowSelectionState row selection state\n * @param {ProcessedColumnDefinitions} processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * \tHas been processed and cleaned by columnBehavior.\n * @param {*} dispatch seismic dispatch\n * @param {string} tooltip optional tooltip describing what action will happen when header cell text is clicked\n * @param {string} columnFilteringInfo optional tooltip describing filtering string\n * @param {boolean | undefined} isReorderingEnabled flag to check if Column Reordering enabled\n * @param {boolean | undefined} columnResizingEnabled flag to check if Column Reordering enabled\n * @param {number} columnCount total number of columns in the level\n * @param {RowGroupingState} rowGroupingState row grouping state\n * @param {number | undefined} columnIndex valid column index, ignoring the special columns\n * @param {ColumnWidthsState} columnWidthsState\n * @param {boolean | undefined} selectAllEnabled\n * @param {boolean} isFirstColumn boolean indicating whether this is the first (leftmost in ltr) cell\n * @param {boolean | undefined} isLastColumn boolean indicating whether this is the last (rightmost in ltr) cell\n * @param {boolean | undefined} allColumnsHaveWidth boolean indicating whether all columns have a width\n * @param {boolean | undefined} toggleAllGroupsEnabled\n * @param {boolean | undefined} columnFilteringEnabled\n * @param {ColumnFilteringState} columnFilteringState\n * @param {string} activeColumnKey\n * @param {boolean} showInlinePadding\n * @param {boolean | undefined} rowDragDropEnabled\n */\nexport const tableHeaderCell = (\n\tcolumn,\n\tcolumnHeaderActions,\n\tprocessedColumnDefinitions,\n\tdispatch,\n\ttooltip,\n\tcolumnFilteringInfo,\n\tisReorderingEnabled,\n\tcolumnResizingEnabled,\n\tcolumnCount,\n\trowGroupingState,\n\trowDefinitions,\n\trowSelectionState,\n\tcolumnIndex,\n\tcolumnWidthsState,\n\tselectAllEnabled,\n\tisFirstColumn,\n\tisLastColumn,\n\tallColumnsHaveWidth,\n\ttoggleAllGroupsEnabled,\n\tcolumnFilteringEnabled,\n\tcolumnFilteringState,\n\tactiveColumnKey,\n\trowDragDropEnabled,\n\tshowInlinePadding\n) => {\n\tconst columnKey = getColumnKey(column);\n\tconst isSpecial = isSpecialColumn(column);\n\tconst columnKeyClassName = isSpecial ? kebabCase(columnKey) : columnKey;\n\tconst alignment = columnSelectors.getHeaderCellAlignment(column);\n\tconst { startIcons, endIcons } = columnSelectors.getIcons(column);\n\tconst { selectAllRows = false } = rowSelectionState || {};\n\tconst isSelectionColumn = getColumnType(column) === SPECIAL_TYPE_SELECTION;\n\tconst isGroupToggleColumn =\n\t\tgetColumnType(column) === SPECIAL_TYPE_GROUP_TOGGLE;\n\tconst isActionColumn = getColumnType(column) === SPECIAL_TYPE_ACTIONS;\n\tconst sortDirection = getColumnSortDirection(column);\n\tconst shouldHaveIndent =\n\t\tshowInlinePadding && isFirstColumn && !rowDragDropEnabled;\n\tconst headerCellClassNames = classNames({\n\t\t'header-cell': true,\n\t\t[ALIGNMENT_CLASS_PREFIX + alignment]: true && !isSpecial,\n\t\t[COLUMN_ACTIVE_CLASS]:\n\t\t\tisColumnActive(column) || activeColumnKey === columnKey,\n\t\t[SPECIAL_COLUMN_CELL]: isSpecial,\n\t\t[columnKeyClassName]: true,\n\t\tdraggable: isReorderingEnabled && !isSpecial,\n\t\tresizable: columnResizingEnabled && !isSpecial,\n\t});\n\n\tconst width = getSavedWidth(columnWidthsState, columnKey);\n\tconst headerCellContentClassNames = classNames('header-cell-content', {\n\t\t'parent-col-cell-content': getColumnColSpan(column) > 1,\n\t\t[INCLUDE_LARGE_PADDING_CLASS]: shouldHaveIndent && isSpecialColumn,\n\t\t[INCLUDE_SMALL_PADDING_CLASS]: shouldHaveIndent && !isSpecialColumn,\n\t});\n\n\t/**\n\t * once the header column inserted or updated\n\t * set the autowidths calculated by the browser in columnWidthsState\n\t * @param {Now.JsxVNode} node\n\t */\n\tconst hookUpdateColumnWidthHelper = (node) => {\n\t\tif (!get(columnWidthsState, ['autoWidths', columnKey])) {\n\t\t\tdispatch(SET_COLUMN_WIDTHS, {\n\t\t\t\tcolumn,\n\t\t\t\tvnode: node,\n\t\t\t});\n\t\t}\n\t};\n\n\tconst hookInsertColumnWidthHelper = () => {\n\t\tdispatch(INIT_COLUMN_WIDTHS);\n\t};\n\n\tconst headerCellAriaLabel = isSpecialColumn(column)\n\t\t? columnKey.replace(/([A-Z])/, ' $1')\n\t\t: t('{0}', getColumnLabel(column));\n\n\tconst shouldRenderRecentlyUpdatedIcon = false;\n\tconst getHeaderCellContent = () => {\n\t\tif (isSelectionColumn) {\n\t\t\treturn renderHeaderSelectionCellContent(\n\t\t\t\trowDefinitions,\n\t\t\t\tselectAllRows,\n\t\t\t\tselectAllEnabled\n\t\t\t);\n\t\t} else if (isGroupToggleColumn && toggleAllGroupsEnabled) {\n\t\t\treturn groupToggleCellContent(\n\t\t\t\t{\n\t\t\t\t\trow: null,\n\t\t\t\t\trowGroupingState,\n\t\t\t\t\tdispatch,\n\t\t\t\t},\n\t\t\t\tshouldRenderRecentlyUpdatedIcon\n\t\t\t);\n\t\t} else if (isActionColumn) {\n\t\t\treturn renderActionCellContent(\n\t\t\t\tcolumnFilteringEnabled,\n\t\t\t\tcolumnFilteringState\n\t\t\t);\n\t\t} else {\n\t\t\treturn renderDefaultHeaderCellContent(\n\t\t\t\tcolumn,\n\t\t\t\tprocessedColumnDefinitions,\n\t\t\t\ttooltip,\n\t\t\t\tstartIcons,\n\t\t\t\tendIcons,\n\t\t\t\tcolumnHeaderActions,\n\t\t\t\trowGroupingState,\n\t\t\t\tisReorderingEnabled,\n\t\t\t\tcolumnResizingEnabled,\n\t\t\t\tcolumnCount,\n\t\t\t\tcolumnIndex,\n\t\t\t\twidth,\n\t\t\t\tdispatch\n\t\t\t);\n\t\t}\n\t};\n\n\treturn (\n\t\t<th\n\t\t\tclassName={headerCellClassNames}\n\t\t\trole=\"columnheader\"\n\t\t\trowSpan={getColumnRowSpan(column)}\n\t\t\tcolSpan={getColumnColSpan(column)}\n\t\t\tdata-columnKey={columnKey}\n\t\t\tdata-parentColumnKey={getColumnParentKey(column)}\n\t\t\tdata-draggable={isReorderingEnabled}\n\t\t\thook-insert={\n\t\t\t\t(allColumnsHaveWidth && isFirstColumn) ||\n\t\t\t\t(!allColumnsHaveWidth && isLastColumn)\n\t\t\t\t\t? hookInsertColumnWidthHelper\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\thook-update={hookUpdateColumnWidthHelper}\n\t\t\taria-label={headerCellAriaLabel}\n\t\t\taria-sort={sortDirection}\n\t\t>\n\t\t\t<div className={headerCellContentClassNames}>\n\t\t\t\t{getHeaderCellContent()}\n\t\t\t</div>\n\t\t</th>\n\t);\n};\n","import classNames from 'classnames';\n\nimport columnSelectors from '../../../utils/selectors/columnSelectors';\nimport rowSelectors from '../../../utils/selectors/rowSelectors';\nimport { renderActionableMessage } from '../../actionableMessage/actionableMessage';\n\nimport {\n\tcolumnFilterLabelCell,\n\tcolumnFilterCell,\n} from './columnFilteringCell/columnFilteringCell';\nimport {\n\tCOLUMN_FILTERING_ROW_CLASS,\n\tCOLUMN_FILTERING_ROW_ID,\n} from './columnFilteringCell/columnFilteringConsts';\nimport { tableHeaderCell } from './tableHeaderCell/tableHeaderCell';\n\n/**\n * Renders all the header cells in a given header row\n *\n * @param {Array<String>} headerCells an array of objects representing cells in a single row\n * @param {ProcessedColumnDefinitions} processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * \tHas been processed and cleaned by columnBehavior.\n * @param {RowDefinitions} rowDefinitions\n * @param {RowSelectionState} rowSelectionState row selection state\n * @param {*} dispatch seismic dispatch\n * @param {RowGroupingState} rowGroupingState row grouping state\n * @param {number} columnLevel column level\n * @param {boolean | undefined} columnDragDropEnabled\n * @param {boolean | undefined} columnResizingEnabled\n * @param {ColumnWidthsState} columnWidthsState\n * @param {boolean | undefined} selectAllEnabled\n * @param {boolean | undefined} toggleAllGroupsEnabled\n * @param {boolean | undefined} columnFilteringEnabled\n * @param {ColumnFilteringState} columnFilteringState\n * @param {String} activeColumnKey\n * @param {boolean | undefined} rowDragDropEnabled\n * @param {boolean} showInlinePadding\n */\nexport const renderHeaderCells = (\n\theaderCells,\n\tprocessedColumnDefinitions,\n\trowDefinitions,\n\trowSelectionState,\n\tdispatch,\n\trowGroupingState,\n\tcolumnLevel,\n\tcolumnDragDropEnabled,\n\tcolumnResizingEnabled,\n\tcolumnWidthsState,\n\tselectAllEnabled,\n\ttoggleAllGroupsEnabled,\n\tcolumnFilteringEnabled,\n\tcolumnFilteringState,\n\tactiveColumnKey,\n\trowDragDropEnabled,\n\tshowInlinePadding\n) => {\n\tconst featureFlags = { columnDragDropEnabled };\n\n\tconst columnHeaderTextTooltip = columnSelectors.getHeaderTextTooltip(\n\t\tprocessedColumnDefinitions\n\t);\n\tconst columnFilteringInfo = columnSelectors.getColumnFilteringInfo(\n\t\tprocessedColumnDefinitions\n\t);\n\tconst columnCountAtLevel = columnSelectors.getTotalColumnsAtLevel(\n\t\tprocessedColumnDefinitions,\n\t\tcolumnLevel\n\t);\n\n\tlet validColumnIndex = 0;\n\n\t//find last column\n\tconst columnEdges = processedColumnDefinitions.columnEdges;\n\tconst lastColumn = columnEdges[columnEdges.length - 1];\n\n\t//check if all columns have width defined\n\tconst allColumns = columnSelectors.getColumns(\n\t\tprocessedColumnDefinitions.processedColumnDefinitions\n\t);\n\tconst allColumnsHaveWidth = allColumns\n\t\t.filter(\n\t\t\t(/** @type {ColumnBase} */ col) =>\n\t\t\t\t!columnSelectors.isSpecialColumn(col)\n\t\t)\n\t\t.every(\n\t\t\t(/** @type {{ width: undefined; }} */ col) =>\n\t\t\t\tcol.width !== undefined\n\t\t);\n\n\treturn headerCells.map((columnKey) => {\n\t\tconst column = columnSelectors.getColumnFromProcessedCols(\n\t\t\tprocessedColumnDefinitions,\n\t\t\tcolumnKey\n\t\t);\n\t\tconst columnHeaderActions = columnSelectors.getColumnHeaderActionsFromProcessedCols(\n\t\t\tprocessedColumnDefinitions,\n\t\t\tcolumn\n\t\t);\n\t\tconst isReorderingEnabled = columnSelectors.isReorderingPossibleOnColumn(\n\t\t\tfeatureFlags,\n\t\t\tcolumn\n\t\t);\n\t\tconst isFirstColumn = columnKey === headerCells[0];\n\t\tconst isLastColumn = columnKey === lastColumn;\n\n\t\tconst columnIndex = columnSelectors.isSpecialColumn(column)\n\t\t\t? undefined\n\t\t\t: validColumnIndex++;\n\n\t\treturn tableHeaderCell(\n\t\t\tcolumn,\n\t\t\tcolumnHeaderActions,\n\t\t\tprocessedColumnDefinitions,\n\t\t\tdispatch,\n\t\t\tcolumnHeaderTextTooltip,\n\t\t\tcolumnFilteringInfo,\n\t\t\tisReorderingEnabled,\n\t\t\tcolumnResizingEnabled,\n\t\t\tcolumnCountAtLevel,\n\t\t\trowGroupingState,\n\t\t\trowDefinitions,\n\t\t\trowSelectionState,\n\t\t\tcolumnIndex,\n\t\t\tcolumnWidthsState,\n\t\t\tselectAllEnabled,\n\t\t\tisFirstColumn,\n\t\t\tisLastColumn,\n\t\t\tallColumnsHaveWidth,\n\t\t\ttoggleAllGroupsEnabled,\n\t\t\tcolumnFilteringEnabled,\n\t\t\tcolumnFilteringState,\n\t\t\tactiveColumnKey,\n\t\t\trowDragDropEnabled,\n\t\t\tshowInlinePadding\n\t\t);\n\t});\n};\n\n/**\n * Renders the column filtering header row.\n *\n * @param {Object} props\n * @param {ProcessedColumnDefinitions} props.processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * @param {ColumnFilteringState} props.columnFilteringState\n * @param {String} props.dir a prop representing the language direction\n * @param {TableMetadata} props.tableMetadata\n * @param {boolean | undefined} props.rowDragDropEnabled\n * @param {boolean} props.showInlinePadding\n * @param {*} dispatch seismic dispatch\n */\nexport const renderColumnFilteringRow = (props, dispatch) => {\n\tconst {\n\t\tcolumnFilteringState,\n\t\tprocessedColumnDefinitions,\n\t\trowDragDropEnabled,\n\t\tshowInlinePadding,\n\t} = props;\n\n\tconst filterLabelCellColSpan = columnSelectors.getSpecialColumnsCount(\n\t\tprocessedColumnDefinitions\n\t);\n\tconst columnFilteringInfo = columnSelectors.getColumnFilteringInfo(\n\t\tprocessedColumnDefinitions\n\t);\n\n\tconst columnFilteringRowClassNames = classNames({\n\t\t[COLUMN_FILTERING_ROW_CLASS]: true,\n\t\t'is-hidden': !columnFilteringState?.showColumnFilteringRow,\n\t});\n\n\treturn (\n\t\t<tr\n\t\t\tclassName={columnFilteringRowClassNames}\n\t\t\tid={COLUMN_FILTERING_ROW_ID}\n\t\t>\n\t\t\t{columnFilterLabelCell({\n\t\t\t\tfilterLabelCellColSpan,\n\t\t\t\tcolumnFilteringInfo,\n\t\t\t\trowDragDropEnabled,\n\t\t\t\tshowInlinePadding,\n\t\t\t})}\n\t\t\t{processedColumnDefinitions.columnEdges.map((columnEdgeKey) => {\n\t\t\t\tif (columnSelectors.isSpecialColumnKey(columnEdgeKey)) {\n\t\t\t\t\treturn null; // already accounted for in the label colspan cell\n\t\t\t\t} else {\n\t\t\t\t\tconst column = columnSelectors.getColumnFromProcessedCols(\n\t\t\t\t\t\tprocessedColumnDefinitions,\n\t\t\t\t\t\tcolumnEdgeKey\n\t\t\t\t\t);\n\t\t\t\t\treturn columnFilterCell({ column, ...props }, dispatch);\n\t\t\t\t}\n\t\t\t})}\n\t\t</tr>\n\t);\n};\n\n/**\n * Renders the header row(s) for the table\n *\n * @param {ProcessedColumnDefinitions} processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * \tHas been processed and cleaned by columnBehavior.\n * @param {RowDefinitions} rowDefinitions\n * @param {RowSelectionState} rowSelectionState row selection state\n * @param {*} dispatch seismic dispatch\n * @param {RowGroupingState} rowGroupingState row grouping state\n * @param {boolean | undefined} columnDragDropEnabled\n * @param {boolean | undefined} columnResizingEnabled\n * @param {ColumnWidthsState} columnWidthsState\n * @param {boolean | undefined} selectAllEnabled\n * @param {boolean | undefined} toggleAllGroupsEnabled\n * @param {boolean | undefined} columnFilteringEnabled\n * @param {ColumnFilteringState} columnFilteringState\n * @param {String} activeColumnKey\n * @param {boolean | undefined} rowDragDropEnabled\n * @param {boolean} showInlinePadding\n */\nexport const renderHeaderRows = (\n\tprocessedColumnDefinitions,\n\trowDefinitions,\n\trowSelectionState,\n\tdispatch,\n\trowGroupingState,\n\tcolumnDragDropEnabled,\n\tcolumnResizingEnabled,\n\tcolumnWidthsState,\n\tselectAllEnabled,\n\ttoggleAllGroupsEnabled,\n\tcolumnFilteringEnabled,\n\tcolumnFilteringState,\n\tactiveColumnKey,\n\trowDragDropEnabled,\n\tshowInlinePadding\n) => {\n\tconst { columnLeafs } = processedColumnDefinitions;\n\treturn columnLeafs.map((headerCells, index) => (\n\t\t<tr className=\"header-row\">\n\t\t\t{renderHeaderCells(\n\t\t\t\theaderCells,\n\t\t\t\tprocessedColumnDefinitions,\n\t\t\t\trowDefinitions,\n\t\t\t\trowSelectionState,\n\t\t\t\tdispatch,\n\t\t\t\trowGroupingState,\n\t\t\t\tindex + 1, // column level\n\t\t\t\tcolumnDragDropEnabled,\n\t\t\t\tcolumnResizingEnabled,\n\t\t\t\tcolumnWidthsState,\n\t\t\t\tselectAllEnabled,\n\t\t\t\ttoggleAllGroupsEnabled,\n\t\t\t\tcolumnFilteringEnabled,\n\t\t\t\tcolumnFilteringState,\n\t\t\t\tactiveColumnKey,\n\t\t\t\trowDragDropEnabled,\n\t\t\t\tshowInlinePadding\n\t\t\t)}\n\t\t</tr>\n\t));\n};\n\n/**\n * Subview of table containing the table header(s) that define the columns of the table\n *\n * @param {Object} props\n * @param {State} props.behaviors\n * @param {boolean | undefined} props.columnDragDropEnabled\n * @param {boolean | undefined} props.columnFilteringEnabled\n * @param {boolean | undefined} props.columnResizingEnabled\n * @param {ProcessedColumnDefinitions} props.processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * \tHas been processed and cleaned by columnBehavior.\n * @param {RowDefinitions} props.rowDefinitions\n * @param {RowGroupingState} props.rowGroupingState row grouping state\n * @param {RowSelectionState} props.rowSelectionState row selection state\n * @param {ColumnWidthsState} props.columnWidthsState\n * @param {boolean | undefined} props.selectAllEnabled\n * @param {boolean | undefined} props.toggleAllGroupsEnabled\n * @param {String} props.activeColumnKey\n * @param {String} props.dir a prop representing the language direction\n * @param {TableMetadata} props.tableMetadata\n * @param {boolean | undefined} props.rowDragDropEnabled\n * @param {boolean} props.showInlinePadding\n * @param {*} dispatch seismic dispatch\n */\nexport const tableHeaders = (props, dispatch) => {\n\tconst {\n\t\tactiveColumnKey,\n\t\tbehaviors: {\n\t\t\tcolumnFilteringBehavior: { columnFilteringState },\n\t\t},\n\t\tcolumnDragDropEnabled,\n\t\tcolumnFilteringEnabled,\n\t\tcolumnResizingEnabled,\n\t\tcolumnWidthsState,\n\t\tdir,\n\t\tprocessedColumnDefinitions,\n\t\trowDefinitions,\n\t\trowGroupingState,\n\t\trowSelectionState,\n\t\tselectAllEnabled,\n\t\ttableMetadata,\n\t\ttoggleAllGroupsEnabled,\n\t\trowDragDropEnabled,\n\t\tshowInlinePadding,\n\t} = props;\n\tconst { hasTopActionableMessage, getTopActionableMessage } = rowSelectors;\n\tconst columnFilteringProps = {\n\t\tcolumnFilteringEnabled,\n\t\tcolumnFilteringState,\n\t\tdir,\n\t\tprocessedColumnDefinitions,\n\t\ttableMetadata,\n\t\trowDragDropEnabled,\n\t\tshowInlinePadding,\n\t};\n\n\tif (!processedColumnDefinitions) return null;\n\n\treturn (\n\t\t<thead>\n\t\t\t{renderHeaderRows(\n\t\t\t\tprocessedColumnDefinitions,\n\t\t\t\trowDefinitions,\n\t\t\t\trowSelectionState,\n\t\t\t\tdispatch,\n\t\t\t\trowGroupingState,\n\t\t\t\tcolumnDragDropEnabled,\n\t\t\t\tcolumnResizingEnabled,\n\t\t\t\tcolumnWidthsState,\n\t\t\t\tselectAllEnabled,\n\t\t\t\ttoggleAllGroupsEnabled,\n\t\t\t\tcolumnFilteringEnabled,\n\t\t\t\tcolumnFilteringState,\n\t\t\t\tactiveColumnKey,\n\t\t\t\trowDragDropEnabled,\n\t\t\t\tshowInlinePadding\n\t\t\t)}\n\t\t\t{columnFilteringEnabled &&\n\t\t\t\trenderColumnFilteringRow(columnFilteringProps, dispatch)}\n\t\t\t{hasTopActionableMessage(rowDefinitions)\n\t\t\t\t? renderActionableMessage(\n\t\t\t\t\t\tgetTopActionableMessage(rowDefinitions),\n\t\t\t\t\t\tprocessedColumnDefinitions.columnEdges.length,\n\t\t\t\t\t\t'top'\n\t\t\t\t  )\n\t\t\t\t: null}\n\t\t</thead>\n\t);\n};\n","import classNames from 'classnames';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport { t } from 'sn-translate';\n\nimport { TABLE_LAYOUT_FIXED } from '../../../behaviors/columnWidthBehavior/constants';\nimport {\n\tOVERLAY_TYPE_LOADER,\n\tOVERLAY_TYPE_SKELETON_LOADER,\n} from '../../../typeSchemas/overlayDefinition/overlayConfigConsts';\nimport overlaySelectors from '../../utils/selectors/overlaySelectors';\nimport rowSelectors from '../../utils/selectors/rowSelectors';\nimport {\n\thandleRemoveTooltip,\n\thandleShowTooltip,\n\thandleShowTooltipOnFocus,\n} from '../../utils/tooltipUtil';\nimport shouldWrapCellContent, {\n\tsetWrapClass,\n} from '../../utils/wrapCellContent';\nimport { renderSkeletonLoaderOverlay } from '../overlay/overlay';\n\nimport { colGroups } from './colGroups/colGroups';\nimport { tableBody } from './tableBody/tableBody';\nimport { tableFooters } from './tableFooters/tableFooter';\nimport { tableHeaders } from './tableHeaders/tableHeader';\n\nconst { hasRows, hasGroupedOrDefaultRowsWithChildren } = rowSelectors;\nconst { getOverlayType, getOverlayShowColumnHeaders } = overlaySelectors;\n\n/** The view for now-list's main table grid.\n * @param {Object} props\n * @param {('ltr'|'rtl')} props.dir a prop representing the language direction.\n * @param {ProcessedColumnDefinitions} props.processedColumnDefinitions an object representing the columns of the table, including their data and metadata.\n * \tHas been processed and cleaned by columnBehavior.\n * @param {RowDefinitions} props.rowDefinitions an object representing the rows of the table, including their data and metadata.\n * @param {boolean} props.cellEditingEnabled whether or not cell editing is enabled\n * @param {RowSelectionState} props.rowSelectionState row selection state\n * @param {ColumnWidthsState} props.columnWidthsState - description\n * @param {RowGroupingState} props.rowGroupingState row grouping state\n * @param {string} props.activeColumnKey The key of a column that should be highlighted when the header context menu is open\n * @param {string} props.activeRowKey The key of a row that should be highlighted to indicate a possible row action.\n * @param {string} props.focusedRowKey focused row key\n * @param {string} props.componentId nowId of the component\n * @param {boolean | undefined} props.virtualizedScrollEnabled\n * @param {State} props.behaviors\n * @param {TableMetadata} props.tableMetadata an object representing metadata for a given table.\n * @param {boolean | undefined} props.columnDragDropEnabled\n * @param {boolean | undefined}  props.columnResizingEnabled\n * @param {boolean | undefined}  props.columnFilteringEnabled\n * @param {boolean | undefined} props.rowDragDropEnabled\n * @param {boolean | undefined} props.toggleAllGroupsEnabled\n * @param {boolean | undefined} props.clickableTextEnabled\n * @param {string | undefined} props.wrapCellContent\n * @param {object} props.contextApi\n * @param {boolean | undefined} props.selectAllEnabled\n * @param {RowIndexesMap} props.rowIndexesMap map containing rowKeys and indexes\n * @param {string} props.shadeAlternateRows\n * @param {boolean} props.showInlinePadding\n * @param {OverlayDefinition} overlayDefinition a prop representing an overlay to render in the body of the table.\n * @param {*} dispatch seismic dispatch\n *\n */\nexport const table = (props, overlayDefinition, dispatch) => {\n\tconst {\n\t\tactiveColumnKey,\n\t\tactiveRowKey,\n\t\tbehaviors,\n\t\tcellEditingEnabled,\n\t\tclickableTextEnabled,\n\t\tcolumnDragDropEnabled,\n\t\tcolumnFilteringEnabled,\n\t\tcolumnResizingEnabled,\n\t\tcolumnWidthsState,\n\t\tcomponentId,\n\t\tcontextApi,\n\t\tdir,\n\t\tfocusedRowKey,\n\t\tshowInlinePadding,\n\t\tprocessedColumnDefinitions,\n\t\trowDefinitions,\n\t\trowDragDropEnabled,\n\t\trowGroupingState,\n\t\trowIndexesMap,\n\t\trowSelectionState,\n\t\tselectAllEnabled,\n\t\tshadeAlternateRows,\n\t\ttableMetadata,\n\t\ttoggleAllGroupsEnabled,\n\t\tvirtualizedScrollEnabled,\n\t\twrapCellContent,\n\t} = props;\n\n\tconst tableProps = {\n\t\tactiveColumnKey,\n\t\tactiveRowKey,\n\t\tbehaviors,\n\t\tcellEditingEnabled,\n\t\tclickableTextEnabled,\n\t\tcolumnDragDropEnabled,\n\t\tcolumnFilteringEnabled,\n\t\tcolumnResizingEnabled,\n\t\tcolumnWidthsState,\n\t\tcomponentId,\n\t\tcontextApi,\n\t\tdir,\n\t\tfocusedRowKey,\n\t\tshowInlinePadding,\n\t\toverlayDefinition,\n\t\tprocessedColumnDefinitions,\n\t\trowDefinitions,\n\t\trowDragDropEnabled,\n\t\trowGroupingState,\n\t\trowIndexesMap,\n\t\trowSelectionState,\n\t\tselectAllEnabled,\n\t\tshadeAlternateRows,\n\t\ttableMetadata,\n\t\ttoggleAllGroupsEnabled,\n\t\tvirtualizedScrollEnabled,\n\t};\n\n\tconst overlayType = getOverlayType(overlayDefinition);\n\tconst SKELETON_TABLE_CLASS_NAME = 'skeleton-table';\n\n\tif (\n\t\toverlayType === OVERLAY_TYPE_SKELETON_LOADER &&\n\t\t!getOverlayShowColumnHeaders(overlayDefinition)\n\t) {\n\t\treturn (\n\t\t\t<table\n\t\t\t\tclassName={classNames(\n\t\t\t\t\tSKELETON_TABLE_CLASS_NAME,\n\t\t\t\t\t'full-table-overlay'\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{renderSkeletonLoaderOverlay(overlayDefinition)}\n\t\t\t</table>\n\t\t);\n\t}\n\n\tconst tableLayout = get(columnWidthsState, 'tableLayout');\n\tconst tableClassNames = classNames(\n\t\t'now-list-table',\n\t\tvirtualizedScrollEnabled\n\t\t\t? 'virtualized-list'\n\t\t\t: setWrapClass(\n\t\t\t\t\tshouldWrapCellContent(wrapCellContent, contextApi),\n\t\t\t\t\t'wrap',\n\t\t\t\t\t'truncate'\n\t\t\t  ),\n\t\ttableLayout === TABLE_LAYOUT_FIXED ? 'fixed' : 'auto',\n\t\toverlayType === OVERLAY_TYPE_SKELETON_LOADER\n\t\t\t? SKELETON_TABLE_CLASS_NAME\n\t\t\t: null\n\t);\n\n\tconst scrollToTopCaption = t(\n\t\t`As you scroll down the table, a \"Scroll To Top\" button will appear after the table. Activating this button will bring your focus to first cell of the top row. The button will disappear if you scroll to the top of the table.`\n\t);\n\n\treturn (\n\t\t<table\n\t\t\taria-labelledby=\"sr-list-caption\"\n\t\t\tclassName={tableClassNames}\n\t\t\tdir={dir}\n\t\t\trole={\n\t\t\t\thasGroupedOrDefaultRowsWithChildren(rowDefinitions)\n\t\t\t\t\t? 'treegrid'\n\t\t\t\t\t: 'grid'\n\t\t\t}\n\t\t\tstyle={{ tableLayout }}\n\t\t\t/**\n\t\t\t * adding on the top level to avoid adding listeners for each cell\n\t\t\t */\n\t\t\ton-mouseover={(/** @type {MouseEvent} */ e) =>\n\t\t\t\thandleShowTooltip(dispatch, e)\n\t\t\t}\n\t\t\ton-mouseout={(/** @type {MouseEvent} */ e) =>\n\t\t\t\thandleRemoveTooltip(dispatch, e)\n\t\t\t}\n\t\t\ton-focusin={(/** @type {FocusEvent} */ e) => {\n\t\t\t\thandleShowTooltipOnFocus(dispatch, e);\n\t\t\t}}\n\t\t\ton-focusout={(/** @type {FocusEvent} */ e) => {\n\t\t\t\thandleRemoveTooltip(dispatch, e);\n\t\t\t}}\n\t\t>\n\t\t\t<caption className=\"now-a11y-label\" id=\"sr-list-caption\">\n\t\t\t\t{virtualizedScrollEnabled ? scrollToTopCaption : null}\n\t\t\t</caption>\n\t\t\t{colGroups(tableProps)}\n\n\t\t\t{tableHeaders(tableProps, dispatch)}\n\n\t\t\t{(!isEmpty(overlayDefinition) &&\n\t\t\t\t(overlayType === OVERLAY_TYPE_SKELETON_LOADER ||\n\t\t\t\t\toverlayType === OVERLAY_TYPE_LOADER)) ||\n\t\t\t(hasRows(rowDefinitions) && isEmpty(overlayDefinition))\n\t\t\t\t? tableBody(tableProps, dispatch)\n\t\t\t\t: null}\n\n\t\t\t{tableFooters(tableProps)}\n\t\t</table>\n\t);\n};\n","import { createUxfContractBehavior } from '@devsnc/uxf-effects';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport { actionTypes, createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\nimport { SnTimeAgo } from 'sn-component-timeago';\nimport { t } from 'sn-translate';\n\nimport actionableMessageBehavior from './behaviors/actionableMessageBehavior/actionableMessageBehavior';\nimport cellEditingBehavior from './behaviors/cellEditingBehavior/cellEditingBehavior';\nimport columnDefinitionsBehavior from './behaviors/columnBehavior/columnBehavior';\nimport columnDragDropBehavior from './behaviors/columnDragDropBehavior/columnDragDropBehavior';\nimport columnFilteringBehavior from './behaviors/columnFilteringBehavior/columnFilteringBehavior';\nimport columnHeaderClickBehavior from './behaviors/columnHeaderClickBehavior/columnHeaderClickBehavior';\nimport columnResizeBehavior from './behaviors/columnResizeBehavior/columnResizeBehavior';\nimport columnWidthBehavior from './behaviors/columnWidthBehavior/columnWidthBehavior';\nimport componentLoaderBehavior from './behaviors/componentLoaderBehavior/componentLoaderBehavior';\nimport contextActionsBehavior from './behaviors/contextActionsBehavior/contextActionsBehavior';\nimport customCellDynamicActionBehavior from './behaviors/customCellDynamicActionBehavior/customCellDynamicActionBehavior';\nimport {\n\tcreateIntersectionObserver,\n\tcreateRootElementHooks,\n} from './behaviors/intersectionObserverBehavior/intersectionObserverBehavior';\nimport {\n\tdefault as keyboardNavBehavior,\n\tfocus,\n} from './behaviors/keyboardNavBehavior';\nimport linkBehavior from './behaviors/linkBehavior/linkBehavior';\nimport metricsBehavior from './behaviors/metricsBehavior/metricsBehavior';\nimport overlayBehavior from './behaviors/overlayBehavior/overlayBehavior';\nimport popoverDefinitionBehavior from './behaviors/popoverBehavior/popoverBehavior';\nimport rowDefinitionsBehavior from './behaviors/rowBehavior/rowBehavior';\nimport rowDragDropBehavior from './behaviors/rowDragDropBehavior/rowDragDropBehavior';\nimport rowGroupingBehavior from './behaviors/rowGroupingBehavior/rowGroupingBehavior';\nimport rowHighlightedBehavior from './behaviors/rowHighlightedBehavior/rowHighlightedBehavior';\nimport rowSelectionBehavior from './behaviors/rowSelectionBehavior/rowSelectionBehavior';\nimport { SCROLL_TO_TOP_TRIGGERED } from './behaviors/virtualizedListBehavior/constants';\nimport { virtualizedListBehavior } from './behaviors/virtualizedListBehavior/virtualizedListBehavior';\nimport { getVirtualizedBehaviorState } from './behaviors/virtualizedListBehavior/virtualizedListBehaviorUtils';\nimport styles from './main.scss';\nimport nowListBridgeBehavior from './shared/behaviors/bridgeBehavior/bridgeBehavior';\nimport { nowListScrollHandler } from './shared/utils/eventListeners';\nimport isHiddenControlsEnabled from './shared/utils/hiddenControls';\nimport columnSelectors from './shared/utils/selectors/columnSelectors';\nimport overlaySelectors from './shared/utils/selectors/overlaySelectors';\nimport rowSelectors from './shared/utils/selectors/rowSelectors';\nimport { floatingTarget } from './shared/views/floatingTarget/floatingTarget';\nimport { overlay } from './shared/views/overlay/overlay';\nimport { popover } from './shared/views/popover/popover';\nimport './now-list-gallery';\nimport { table } from './shared/views/table/table';\n\nconst {\n\tSCROLL_CONTAINER_CLASS,\n\tUSE_LINE_BREAKS_USER_PREFERENCE,\n\tUSE_SHADE_ALTERNATE_ROWS_USER_PREFERENCE,\n\tLAYOUT_OPTIONS,\n} = require('./constants');\nconst { COMPONENT_DOM_TREE_READY } = actionTypes;\nconst {\n\tcolumnDefinitionsSchema,\n} = require('./typeSchemas/columnDefinitions/columnDefinitions');\nconst {\n\tOVERLAY_NO_COLS_CONFIG,\n\tOVERLAY_NO_ROWS_CONFIG,\n\tOVERLAY_DUPLICATE_ROW_KEYS_CONFIG,\n} = require('./typeSchemas/overlayDefinition/defaultOverlaysConfigConsts');\nconst {\n\tOVERLAY_TYPE_LOADER,\n\tOVERLAY_TYPE_SKELETON_LOADER,\n} = require('./typeSchemas/overlayDefinition/overlayConfigConsts');\nconst {\n\toverlayDefinitionSchema,\n} = require('./typeSchemas/overlayDefinition/overlayDefinition');\nconst {\n\tpopoverDefinitionSchema,\n} = require('./typeSchemas/popoverDefinition/popoverDefinition');\nconst {\n\trowDefinitionsSchema,\n} = require('./typeSchemas/rowDefinitions/rowDefinitions');\n\nconst { hasColumns } = columnSelectors;\nconst { hasRows } = rowSelectors;\nconst {\n\tgetOverlayShowColumnHeaders,\n\tgetOverlayType,\n\thasErrorMessage,\n} = overlaySelectors;\n\nconst timeAgoBehaviors = SnTimeAgo.getBehaviors();\n\n/**\n * A body overlay to render below the table (table consisting only of header cells)\n * @param {RowDefinitions} rowDefinitions\n * @param {OverlayDefinition} overlayDefinition\n * @param {TableMetadata} tableMetadata\n * @param {string} dir a string value that represents the language direction\n * @param {boolean | undefined } emptyStateEnabled boolean value that represents if empty state is enabled\n */\nexport const renderBodyOverlay = (\n\trowDefinitions,\n\toverlayDefinition,\n\ttableMetadata,\n\tdir,\n\temptyStateEnabled\n) => {\n\tif (\n\t\t!isEmpty(overlayDefinition) &&\n\t\tgetOverlayShowColumnHeaders(overlayDefinition) &&\n\t\tgetOverlayType(overlayDefinition) !== OVERLAY_TYPE_SKELETON_LOADER // handled in tableBody\n\t) {\n\t\t// overlay that shows column headers is configured through props\n\t\treturn overlay(overlayDefinition, tableMetadata, dir);\n\t} else if (!hasRows(rowDefinitions) && emptyStateEnabled) {\n\t\t// no row data overlay\n\t\treturn overlay(OVERLAY_NO_ROWS_CONFIG, tableMetadata, dir);\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/** @type {View<Props, State>} */\nexport const view = (state, { dispatch }) => {\n\tconst {\n\t\tprocessedColumnDefinitions,\n\t\tbehaviors,\n\t\tcomponentId,\n\t\trowDefinitions,\n\t\trowContextPosition,\n\t\tactiveColumnKey,\n\t\tactiveRowKey,\n\t\tfocusedRowKey,\n\t\tproperties: {\n\t\t\tcellEditingEnabled,\n\t\t\tclickableTextEnabled,\n\t\t\tcolumnDefinitions,\n\t\t\tcolumnDragDropEnabled,\n\t\t\tcolumnFilteringEnabled,\n\t\t\tcolumnResizingEnabled,\n\t\t\tdir,\n\t\t\temptyStateEnabled,\n\t\t\tshowInlinePadding,\n\t\t\tlayout,\n\t\t\toverlayDefinition,\n\t\t\trowDragDropEnabled,\n\t\t\tselectAllEnabled,\n\t\t\tselectionEnabled,\n\t\t\tshadeAlternateRows,\n\t\t\ttoggleAllGroupsEnabled,\n\t\t\tvirtualizedScrollEnabled,\n\t\t\twrapCellContent,\n\t\t},\n\t\tpopoverState,\n\t\trowSelectionState,\n\t\trowGroupingState,\n\t\thasDuplicateRowKeys,\n\t\tfetchedComponents,\n\t\tcolumnWidthsState,\n\t\tcontext: contextApi,\n\t\trowIndexesMap,\n\t} = state;\n\n\tconst tableMetadata = {\n\t\tfetchedComponents,\n\t};\n\tconst tableProps = {\n\t\tactiveColumnKey,\n\t\tactiveRowKey,\n\t\tbehaviors,\n\t\tcellEditingEnabled,\n\t\tclickableTextEnabled,\n\t\tcomponentId,\n\t\tcolumnDragDropEnabled,\n\t\tcolumnFilteringEnabled,\n\t\tcolumnResizingEnabled,\n\t\tcolumnWidthsState,\n\t\tcontextApi,\n\t\tdir,\n\t\tfocusedRowKey,\n\t\tshowInlinePadding: showInlinePadding ?? true,\n\t\tprocessedColumnDefinitions,\n\t\trowDefinitions,\n\t\trowDragDropEnabled: virtualizedScrollEnabled\n\t\t\t? false\n\t\t\t: rowDragDropEnabled,\n\t\trowGroupingState,\n\t\trowIndexesMap,\n\t\trowSelectionState,\n\t\tselectAllEnabled: virtualizedScrollEnabled ? false : selectAllEnabled,\n\t\tshadeAlternateRows,\n\t\ttableMetadata,\n\t\ttoggleAllGroupsEnabled: virtualizedScrollEnabled\n\t\t\t? false\n\t\t\t: toggleAllGroupsEnabled,\n\t\twrapCellContent,\n\t\tvirtualizedScrollEnabled,\n\t};\n\tconst {\n\t\tcolumnFilteringBehavior: { columnFilteringState },\n\t} = behaviors;\n\tconst popoverProps = { popoverState, tableMetadata, columnFilteringState };\n\tconst { showScrollToTopButton } = getVirtualizedBehaviorState(state);\n\n\t// check if list should be entirely replaced with overlay\n\tif (\n\t\tcolumnDefinitions === undefined &&\n\t\trowDefinitions === undefined &&\n\t\toverlayDefinition === undefined\n\t) {\n\t\treturn null;\n\t} else if (\n\t\t// non skeleton full table overlay is configured through props\n\t\t!isEmpty(overlayDefinition) &&\n\t\t(hasErrorMessage(overlayDefinition) ||\n\t\t\t!getOverlayShowColumnHeaders(overlayDefinition)) &&\n\t\tgetOverlayType(overlayDefinition) !== OVERLAY_TYPE_SKELETON_LOADER\n\t) {\n\t\treturn overlay(overlayDefinition, tableMetadata, dir);\n\t} else if (\n\t\t// unconfigured list overlay\n\t\t!hasColumns(processedColumnDefinitions?.processedColumnDefinitions) &&\n\t\tgetOverlayType(overlayDefinition) !== OVERLAY_TYPE_SKELETON_LOADER\n\t) {\n\t\treturn overlay(OVERLAY_NO_COLS_CONFIG, tableMetadata, dir);\n\t} else if (\n\t\thasDuplicateRowKeys &&\n\t\tgetOverlayType(overlayDefinition) !== OVERLAY_TYPE_SKELETON_LOADER\n\t) {\n\t\t// duplicate row keys overlay\n\t\treturn overlay(OVERLAY_DUPLICATE_ROW_KEYS_CONFIG, tableMetadata, dir);\n\t}\n\tconst scrollToTopLabel = t('Scroll to top of list');\n\tconst galleryLayoutProps = {\n\t\tcolumnDefinitions,\n\t\trowDefinitions,\n\t\tclickableTextEnabled,\n\t\tsharedContext: {\n\t\t\trowGroupingState,\n\t\t\tdir,\n\t\t\tfetchedComponents,\n\t\t\trowSelectionState,\n\t\t\tcontextApi,\n\t\t}, // TODO: To be Removed when working on sn-list-grid new component changes STRY59778130\n\t\tvirtualizedScrollEnabled,\n\t\tselectionEnabled,\n\t};\n\treturn (\n\t\t<div className={classNames('parent-container')}>\n\t\t\t{getOverlayType(overlayDefinition) ===\n\t\t\t\tOVERLAY_TYPE_SKELETON_LOADER && (\n\t\t\t\t<div className={'skeleton-loader-gradient'} />\n\t\t\t)}\n\t\t\t<div\n\t\t\t\tkey=\"tableContainer\" // needed for hooks to work correctly on this element after swapping overlay\n\t\t\t\tonScroll={nowListScrollHandler(dispatch)}\n\t\t\t\tclassName={classNames(SCROLL_CONTAINER_CLASS, {\n\t\t\t\t\t'row-drag-drop': rowDragDropEnabled,\n\t\t\t\t\t'always-show': isHiddenControlsEnabled(contextApi),\n\t\t\t\t\t'disable-scroll':\n\t\t\t\t\t\tgetOverlayType(overlayDefinition) ===\n\t\t\t\t\t\t\tOVERLAY_TYPE_LOADER ||\n\t\t\t\t\t\tgetOverlayType(overlayDefinition) ===\n\t\t\t\t\t\t\tOVERLAY_TYPE_SKELETON_LOADER,\n\t\t\t\t})}\n\t\t\t\tdata-testId=\"scrollContainer\"\n\t\t\t\t{...createRootElementHooks(dispatch)}\n\t\t\t>\n\t\t\t\t{columnDefinitions?.columns?.length ||\n\t\t\t\tgetOverlayType(overlayDefinition) ===\n\t\t\t\t\tOVERLAY_TYPE_SKELETON_LOADER ? (\n\t\t\t\t\tlayout === LAYOUT_OPTIONS.LIST ? (\n\t\t\t\t\t\ttable(tableProps, overlayDefinition, dispatch)\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<sn-list-gallery {...galleryLayoutProps} />\n\t\t\t\t\t)\n\t\t\t\t) : null}\n\t\t\t\t{popover(popoverProps, dir)}\n\t\t\t\t{floatingTarget({ rowContextPosition })}\n\t\t\t</div>\n\t\t\t{renderBodyOverlay(\n\t\t\t\trowDefinitions,\n\t\t\t\toverlayDefinition,\n\t\t\t\ttableMetadata,\n\t\t\t\tdir,\n\t\t\t\temptyStateEnabled\n\t\t\t)}\n\t\t\t{virtualizedScrollEnabled && showScrollToTopButton && (\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tclassName=\"scroll-to-top-button\"\n\t\t\t\t\ticon=\"arrow-up-most-outline\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tconfigAria={{ 'aria-label': scrollToTopLabel }}\n\t\t\t\t\ttooltipContent={scrollToTopLabel}\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\tdispatch(SCROLL_TO_TOP_TRIGGERED);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\n/**\n * A presentational list table component with high customizability that can be used to display custom data, or ServiceNow records when used in conjunction with the List Controller.\n * You should not use this component on its own if you want a traditional list of ServiceNow records.\n *\n * @summary Displays data from any data source in tabular format with high configurability.\n * @seismicElement now-list\n */\ncreateCustomElement('now-list', {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\t/**\n\t\t * @description Direction that language should render, such as left-to-right.\n\t\t * @private\n\t\t * @type {object}\n\t\t */\n\t\tdir: {\n\t\t\tdefault: 'ltr',\n\t\t},\n\t\t/**\n\t\t * @description Config for switching between different list layout types [list | gallery]\n\t\t * @private\n\t\t * @type {object}\n\t\t */\n\t\tlayout: {\n\t\t\ttype: 'string',\n\t\t\tdefault: LAYOUT_OPTIONS.LIST,\n\t\t\trequired: false,\n\t\t},\n\t\t/**\n\t\t * @description Contains data and metadata to populate and render all columns in the list grid.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\tcolumnDefinitions: {\n\t\t\tschema: columnDefinitionsSchema,\n\t\t\trequired: true,\n\t\t},\n\t\t/**\n\t\t * @description Contains data and metadata to populate and render all rows in the list grid.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\trowDefinitions: {\n\t\t\tschema: rowDefinitionsSchema,\n\t\t},\n\t\t/**\n\t\t * @description Contains data to render a popover in the list at the specified target location.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\tpopoverDefinition: {\n\t\t\tschema: popoverDefinitionSchema,\n\t\t},\n\t\t/**\n\t\t * @description Property to display a configurable overlay that covers either the entire list, or only covers the body with header cells exposed.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\toverlayDefinition: {\n\t\t\tschema: overlayDefinitionSchema,\n\t\t},\n\t\t/**\n\t\t * @description Enables row selection by rendering a checkbox on all rows. When true, can be turned off on a row-by-row basis.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\tselectionEnabled: {\n\t\t\tdefault: true,\n\t\t\ttype: 'boolean',\n\t\t},\n\t\t/**\n\t\t * @description Enables toggling expansion state of all groups at once by rendering a button in the column header row.\n\t\t * \tWhen false, the toggle icon button is hidden and only individual groups are toggleable.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\ttoggleAllGroupsEnabled: {\n\t\t\tdefault: true,\n\t\t\ttype: 'boolean',\n\t\t},\n\t\t/**\n\t\t * @description Allows the user to select all rows through a checkbox rendered in the table header. Row selection is required for this checkbox to be rendered.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\tselectAllEnabled: {\n\t\t\tdefault: true,\n\t\t\ttype: 'boolean',\n\t\t},\n\t\t/**\n\t\t * @description Enables a presentational filtering experience at the top of each column. Inputs to this experience must be handled by the consumer in order to actually filter the list.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\tcolumnFilteringEnabled: {\n\t\t\tdefault: false,\n\t\t\ttype: 'boolean',\n\t\t},\n\t\t/**\n\t\t * @description Enables cell inline editing. When true, can be turned off on a column-by-column and/or cell-by-cell basis.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\tcellEditingEnabled: {\n\t\t\tdefault: true,\n\t\t\ttype: 'boolean',\n\t\t},\n\t\t/**\n\t\t * @description Enables the external data source to manage cell inline editing. When true, the data source (for example, the list controller) defines the cell editing popover.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\tcellEditingManaged: {\n\t\t\tdefault: false,\n\t\t\ttype: 'boolean',\n\t\t},\n\t\t/**\n\t\t * @description Allows column reordering by dragging and dropping.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\tcolumnDragDropEnabled: {\n\t\t\tdefault: true,\n\t\t\ttype: 'boolean',\n\t\t},\n\t\t/**\n\t\t * @description Allows column resizing through draggable handles.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\tcolumnResizingEnabled: {\n\t\t\tdefault: true,\n\t\t\ttype: 'boolean',\n\t\t},\n\t\t/**\n\t\t * @description Allows row reordering by dragging and dropping. It is not recommended for use with sorting or grouping.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\trowDragDropEnabled: {\n\t\t\tdefault: false,\n\t\t\ttype: 'boolean',\n\t\t},\n\t\t/**\n\t\t * @description When true, expands all groups in the table.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\texpandAllGroups: {\n\t\t\tdefault: false,\n\t\t\ttype: 'boolean',\n\t\t},\n\t\t/**\n\t\t * @description When enabled, allows multiple lines of text per cell across the table. Text may still be truncated.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\twrapCellContent: {\n\t\t\tdefault: USE_LINE_BREAKS_USER_PREFERENCE,\n\t\t\ttype: 'string',\n\t\t},\n\t\t/**\n\t\t * @description When enabled, applies styling to the list to make every other row a different color.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\tshadeAlternateRows: {\n\t\t\tdefault: USE_SHADE_ALTERNATE_ROWS_USER_PREFERENCE,\n\t\t\ttype: 'string',\n\t\t},\n\t\t/**\n\t\t * @description Number of characters that can be displayed in each cell before truncation. Can be overridden at the column level.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\tmaxCharacters: {\n\t\t\tdefault: 4000,\n\t\t\ttype: 'number',\n\t\t},\n\t\t/**\n\t\t * @description When true, lists that have no rows or that are incorrectly configured will show a graphic and some text.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\temptyStateEnabled: {\n\t\t\tdefault: true,\n\t\t\ttype: 'boolean',\n\t\t},\n\t\t/**\n\t\t * @description Allows links, urls, and person type cells to have clickable highlighted text. When false, they are rendered as plain text.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\tclickableTextEnabled: {\n\t\t\tdefault: true,\n\t\t\ttype: 'boolean',\n\t\t},\n\t\t/**\n\t\t * @description Landmarks define main elements on the page. When this property is true, the component is included in the landmark keyboard shortcut cycling behavior, allowing users to quickly jump focus back-and-forth between the main elements on the page.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\tlandmark: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * @description Activates virtualized scrolling of all rows (rowdefinitions) in state.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\tvirtualizedScrollEnabled: {\n\t\t\tdefault: false,\n\t\t\ttype: 'boolean',\n\t\t},\n\t\t/**\n\t\t * @description Includes padding on the side(s) of the list. When false, the list is flush with the edge of the container.\n\t\t * @public\n\t\t * @type {object}\n\t\t */\n\t\tshowInlinePadding: {\n\t\t\tdefault: true,\n\t\t\ttype: 'boolean',\n\t\t},\n\t},\n\tbehaviors: [\n\t\tvirtualizedListBehavior,\n\t\tactionableMessageBehavior,\n\t\tcellEditingBehavior,\n\t\tcolumnDefinitionsBehavior,\n\t\tcolumnDragDropBehavior,\n\t\tcolumnFilteringBehavior,\n\t\tcolumnHeaderClickBehavior,\n\t\tcolumnResizeBehavior,\n\t\tcolumnWidthBehavior,\n\t\tcomponentLoaderBehavior,\n\t\tcontextActionsBehavior,\n\t\tcustomCellDynamicActionBehavior,\n\t\tkeyboardNavBehavior,\n\t\tlinkBehavior,\n\t\toverlayBehavior,\n\t\tpopoverDefinitionBehavior,\n\t\trowDefinitionsBehavior,\n\t\trowDragDropBehavior,\n\t\trowGroupingBehavior,\n\t\trowHighlightedBehavior,\n\t\trowSelectionBehavior,\n\t\ttooltipBehavior,\n\t\ttruncationBehavior,\n\t\tnowListBridgeBehavior,\n\t\t{ behavior: rtlBehavior },\n\t\tcreateIntersectionObserver({\n\t\t\trootElementSelector: '[data-id=scrollContainer]',\n\t\t\telementIdentifier: {\n\t\t\t\t'row-cell-actions': {\n\t\t\t\t\tinitialClass: 'row-cell-actions-button-placeholder',\n\t\t\t\t},\n\t\t\t\t'header-cell-actions': {\n\t\t\t\t\tinitialClass: 'row-cell-actions-button-placeholder',\n\t\t\t\t},\n\t\t\t\t'time-ago-display': {\n\t\t\t\t\tinitialClass: 'time-ago-display-placeholder',\n\t\t\t\t},\n\t\t\t},\n\t\t}),\n\t\t...timeAgoBehaviors,\n\t\tmetricsBehavior,\n\t\t{\n\t\t\tbehavior: focusBehavior,\n\t\t\toptions: {\n\t\t\t\tfocus,\n\t\t\t},\n\t\t},\n\t\tcreateUxfContractBehavior({\n\t\t\tinteractiveActionName: COMPONENT_DOM_TREE_READY,\n\t\t}),\n\t],\n\tstyles,\n});\n","import \"@servicenow/now-list\";\nimport \"@servicenow/now-loader\";\n\nconst view = ({ isGlobal, activeTable, nlqTableDefinitionsLoading }) => {\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t\"record-list-container\": true,\n\t\t\t\t\"-global\": isGlobal\n\t\t\t}}\n\t\t>\n\t\t\t{nlqTableDefinitionsLoading ? (\n\t\t\t\t<div className=\"now-list-loading-container\">\n\t\t\t\t\t<now-loader size=\"lg\" />\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\t<now-list\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\tcolumnDefinitions={activeTable.tableDefinitions.columnDefinitions}\n\t\t\t\t\trowDefinitions={activeTable.tableDefinitions.rowDefinitions}\n\t\t\t\t\tselectionEnabled={false}\n\t\t\t\t\tcellEditingEnabled={false}\n\t\t\t\t\trowDragDropEnabled={false}\n\t\t\t\t\tcolumnDragDropEnabled={false}\n\t\t\t\t></now-list>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport default view;\n","const Divider = ({ variant }) => {\n\tconst className =\n\t\tvariant === \"secondary\" || variant === \"tertiary\"\n\t\t\t? `divider-${variant}`\n\t\t\t: \"divider-primary\";\n\treturn <div className={className} />;\n};\n\nexport default Divider;\n","import ListResult from \"./listResult\";\nimport Divider from \"./divider\";\nimport {\n\tCHOOSE_A_TABLE,\n\tPREVIEW_TABLE_LABEL,\n\tVIEW_TABLE_TRANSLATION\n} from \"../constants\";\nimport { t } from \"sn-translate\";\n\nconst view = ({\n\ttableMatches,\n\tactiveTable,\n\tisGlobal,\n\tnlqTableDefinitionsLoading\n}) => (\n\t<div className=\"nlq-card-container\">\n\t\t{tableMatches.length > 1 ? (\n\t\t\t<div className=\"pills-container\">\n\t\t\t\t<span className=\"choose-table-label\">{CHOOSE_A_TABLE}</span>\n\t\t\t\t<span className=\"pills-group\">\n\t\t\t\t\t{tableMatches.map(table => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<now-pill\n\t\t\t\t\t\t\t\tlabel={table.label}\n\t\t\t\t\t\t\t\tappend-to-meta={{ tableSelected: table }}\n\t\t\t\t\t\t\t\tmanageSelected\n\t\t\t\t\t\t\t\tselected={table.name === activeTable.name}\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tpaddingTop: \"2px\",\n\t\t\t\t\t\t\t\t\tpaddingRight: \"8px\",\n\t\t\t\t\t\t\t\t\tpaddingBottom: \"4px\",\n\t\t\t\t\t\t\t\t\tmaxWidth: \"100%\"\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</span>\n\t\t\t\t<Divider variant=\"tertiary\" />\n\t\t\t</div>\n\t\t) : null}\n\t\t<span className=\"preview-label\">{PREVIEW_TABLE_LABEL}</span>\n\t\t<now-heading\n\t\t\tlabel={activeTable.label}\n\t\t\tclassName=\"active-table-label\"\n\t\t\tlevel={2}\n\t\t\tvariant=\"header-tertiary\"\n\t\t></now-heading>\n\t\t<now-label-value-inline\n\t\t\tlabel={activeTable.name}\n\t\t\tclassName=\"active-table-name\"\n\t\t/>\n\t\t<div>\n\t\t\t<ListResult\n\t\t\t\tisGlobal={isGlobal}\n\t\t\t\tactiveTable={activeTable}\n\t\t\t\tnlqTableDefinitionsLoading={nlqTableDefinitionsLoading}\n\t\t\t/>\n\t\t</div>\n\t\t{!nlqTableDefinitionsLoading && (\n\t\t\t<div className=\"nlq-gr-link\">\n\t\t\t\t<now-text-link\n\t\t\t\t\tlabel={VIEW_TABLE_TRANSLATION}\n\t\t\t\t\thref=\"javascript:void(0)\"\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\"aria-label\": t(\"View full {0} table\", activeTable.label)\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t)}\n\t</div>\n);\n\nexport default view;\n","export const NOW_BUTTON_CLICKED = \"NOW_BUTTON#CLICKED\"; // nds\nexport const NOW_DROPDOWN_ITEM_CLICKED = \"NOW_DROPDOWN#ITEM_CLICKED\"; // nds\nexport const NOW_SELECT_ITEM_SET = \"NOW_SELECT#SELECTED_ITEM_SET\";\nexport const DECLARATIVE_ACTION = \"DECLARATIVE_ACTION\"; // exposed action\n\n// Feedback actions\nexport const NOW_BUTTON_BARE_CLICKED = \"NOW_BUTTON_BARE#CLICKED\"; // nds action\nexport const NOW_BUTTON_ICONIC_CLICKED = \"NOW_BUTTON_ICONIC#CLICKED\"; // nds action\nexport const NOW_POPOVER_OPEN_SET = \"NOW_POPOVER#OPENED_SET\"; // nds action\nexport const NOW_PILL_SELECTED = \"NOW_PILL#SELECTED_SET\"; // nds action\nexport const NOW_RADIO_BUTTON_VALUE_SET = \"NOW_RADIO_BUTTONS#VALUE_SET\";\nexport const FEEDBACK_PROVIDED =\n\t\"SN_SEARCH_GENIUS_CARD_ASSIST#FEEDBACK_PROVIDED\";\nexport const NLQ_TABLE_SWITCHED =\n\t\"SN_SEARCH_GENIUS_CARD_ASSIST#NLQ_TABLE_SWITCHED\";\nexport const NLQ_VIEW_FULL_TABLE_CLICKED =\n\t\"SN_SEARCH_GENIUS_CARD_ASSIST#NLQ_VIEW_FULL_TABLE_CLICKED\";\nexport const KG_VIEW_RECORDS = \"SN_SEARACH_GENIUS_CARD_ASSIST#KG_VIEW_RECORDS\";\nexport const HELPFUL_FEEDBACK_START = \"GENIUS_RESULT_HELPFUL_FEEDBACK\";\nexport const UNHELPFUL_FEEDBACK_START = \"GENIUS_RESULT_UNHELPFUL_FEEDBACK\";\nexport const FETCH_NLQ_NAVIGATION_CONFIG = \"FETCH_NLQ_NAVIGATION_CONFIG\";\nexport const FETCH_NLQ_NAVIGATION_CONFIG_SUCCEEDED =\n\t\"FETCH_NLQ_NAVIGATION_CONFIG_SUCCEEDED\";\n\nexport const FETCH_LIST_DATA = \"FETCH_LIST_DATA\";\nexport const RECORD_LIST_DATA_FETCH_STARTED =\n\t\"NOW_RECORD_LIST_CONNECTED#DATA_FETCH_STARTED\";\nexport const RECORD_LIST_DATA_FETCH_COMPLETED =\n\t\"NOW_RECORD_LIST_CONNECTED#DATA_FETCH_COMPLETED\";\nexport const RECORD_LIST_DATA_FETCH_FAILED =\n\t\"NOW_RECORD_LIST_CONNECTED#DATA_FETCH_FAILED\";\n\nexport const MULTITABLE_NLQ_REQUEST = \"MULTITABLE_NLQ_REQUEST\";\nexport const MULTITABLE_NLQ_REQUEST_STARTED = \"MULTITABLE_NLQ_REQUEST#START\";\nexport const MULTITABLE_NLQ_REQUEST_SUCCESS = \"MULTITABLE_NLQ_REQUEST#SUCCESS\";\nexport const MULTITABLE_NLQ_REQUEST_ERROR = \"MULTITABLE_NLQ_REQUEST#ERROR\";\n\nexport const QUERY_BUILDER_REQUEST = \"QUERY_BUILDER_REQUEST\";\nexport const QUERY_BUILDER_REQUEST_STARTED = \"QUERY_BUILDER_REQUEST#START\";\nexport const QUERY_BUILDER_REQUEST_SUCCESS = \"QUERY_BUILDER_REQUEST#SUCCESS\";\nexport const QUERY_BUILDER_REQUEST_ERROR = \"QUERY_BUILDER_REQUEST#ERROR\";\n\nexport const QUERY_BUILDER_POLL = \"QUERY_BUILDER_POLL\";\nexport const QUERY_BUILDER_POLL_STARTED = \"QUERY_BUILDER_POLL#START\";\nexport const QUERY_BUILDER_POLL_SUCCESS = \"QUERY_BUILDER_POLL#SUCCESS\";\nexport const QUERY_BUILDER_POLL_ERROR = \"QUERY_BUILDER_POLL#ERROR\";\n\nexport const NOW_TEXT_LINK_CLICKED = \"NOW_TEXT_LINK#CLICKED\"; // nds action\nexport const NOW_TEXTAREA_INPUT = \"NOW_TEXTAREA#INPUT\";\nexport const GENIUS_RESULT_CHAT_TRIGGERED =\n\t\"SN_SEARCH_GENIUS_CARD_ASSIST#CHAT_TRIGGERED\";\nexport const ASK_A_FOLLOW_UP_CLIKED =\n\t\"SN_SEARCH_GENIUS_CARD_ASSIST#ASK_A_FOLLOW_UP_CLIKED\";\nexport const SHOW_FULL_ANSWER_CLICKED =\n\t\"SN_SEARCH_GENIUS_CARD_ASSIST#SHOW_FULL_ANSWER_CLICKED\";\nexport const ATTACHMENT_CLICKED = \"NOW_TEMPLATE_CARD_ATTACHMENT#ACTION_CLICKED\";\nexport const FEEDBACK_ACTION_CLICKED =\n\t\"SN_SEARCH_GENIUS_CARD_ASSIST#FEEDBACK_CLICKED\";\nexport const NOW_CARD_CLICKED = \"NOW_CARD#CLICKED\";\n\nexport const GR_MINI_SELECETED =\n\t\"SN_SEARCH_GENIUS_CARD_ASSIST#GR_MINI_SELECETED\";\n","import { FEEDBACK_PROVIDED } from \"./actions\";\nimport { t } from \"sn-translate\";\n\nexport const getNLQMiniThumbnailSubtitle = response => {\n\treturn Object.keys(JSON.parse(response)).join(\", \");\n};\n\nexport const getNLQMultiTableDropdownOptions = (\n\titems,\n\tselectedTables,\n\tprop\n) => {\n\tconst selections = Object.values(selectedTables);\n\tconst selectedTablesCount = selections.filter(\n\t\tselection => selection !== \"none\"\n\t).length;\n\n\tif (selectedTables[prop] !== \"none\" && selectedTablesCount <= 1) {\n\t\treturn items.filter(item => item.id !== \"none\");\n\t}\n\n\treturn items;\n};\n\nexport const formatSelectedTables = selectedTables => {\n\treturn Object.entries(selectedTables)\n\t\t.filter(table => table[1] !== \"none\")\n\t\t.map(([key, value]) => ({\n\t\t\tvalue: key,\n\t\t\tsuggestion: {\n\t\t\t\tmetadata: { name: value },\n\t\t\t\tdisplay_name: key,\n\t\t\t\ttype: \"table\"\n\t\t\t}\n\t\t}));\n};\n\nexport const formatUtterance = (utterance, formattedTables) => {\n\tconst connectingWord = t(\"with\");\n\tlet updatedUtterance = removeExtraWhitespaces(utterance);\n\n\t// Iterate over table data and return their token values if they are table suggestions\n\tconst tableTokens = formattedTables.reduce((accumulator, currentValue) => {\n\t\tconst suggestionType = currentValue.suggestion?.type;\n\t\tif (suggestionType && suggestionType === \"table\") {\n\t\t\treturn [...accumulator, currentValue];\n\t\t}\n\t\treturn accumulator;\n\t}, []);\n\n\ttableTokens.forEach(token => {\n\t\ttableTokens.forEach(compareToken => {\n\t\t\tif (\n\t\t\t\ttoken !== compareToken &&\n\t\t\t\ttoken !== connectingWord &&\n\t\t\t\tcompareToken !== connectingWord\n\t\t\t) {\n\t\t\t\tlet regex = new RegExp(`\\\\b${token}\\\\b \\\\b${compareToken}\\\\b`, \"gi\");\n\t\t\t\tupdatedUtterance = updatedUtterance.replace(\n\t\t\t\t\tregex,\n\t\t\t\t\ttranslateTokenReplacement(token, compareToken)\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t});\n\n\treturn updatedUtterance;\n};\n\nconst translateTokenReplacement = (token, compareToken) =>\n\tt(\n\t\t{\n\t\t\tcode: \"sn-search-genius-card-assist\",\n\t\t\tmessage: \"{token} with {compareToken}\",\n\t\t\tcomment: \"count returns the number of results for the searchTerm searched\"\n\t\t},\n\t\t{ token: token, compareToken: compareToken }\n\t);\n\nconst removeExtraWhitespaces = item => {\n\tif (!item) return \"\";\n\treturn item.replace(/\\s+/g, \" \");\n};\n\nexport const getNavigationConfig = (configs, table, profile, source) => {\n\tlet config;\n\t// check for a table, profile, and source match\n\tconfig = configs.find(config => {\n\t\treturn (\n\t\t\tconfig.table === table &&\n\t\t\tconfig.profile === profile &&\n\t\t\tconfig.source === source\n\t\t);\n\t});\n\tif (config) return config;\n\t// check for a match of two where the third is blank\n\tconfig = configs.find(config => {\n\t\tif (!config.table) {\n\t\t\tif (config.profile === profile && config.source === source) return true;\n\t\t}\n\t\tif (!config.profile) {\n\t\t\tif (config.table === table && config.source === source) return true;\n\t\t}\n\t\tif (!config.source) {\n\t\t\tif (config.table === table && config.profile === profile) return true;\n\t\t}\n\t\treturn false;\n\t});\n\tif (config) return config;\n\t// check for a match of one where the other two are blank\n\tconfig = configs.find(config => {\n\t\tif (config.table === table) {\n\t\t\tif (!config.profile && !config.source) return true;\n\t\t}\n\t\tif (config.profile === profile) {\n\t\t\tif (!config.table && !config.source) return true;\n\t\t}\n\t\tif (config.source === source) {\n\t\t\tif (!config.table && !config.profile) return true;\n\t\t}\n\t\treturn false;\n\t});\n\tif (config) return config;\n\t// check for a blank table and blank profile  and blank source (default) configuration\n\tconfig = configs.find(config => {\n\t\treturn !config.table && !config.profile && !config.source;\n\t});\n\tif (config) return config;\n\t// return the hard-coded default\n\treturn {\n\t\taction: \"NAV_ITEM_SELECTED\",\n\t\taction_payload:\n\t\t\t'{ \"context\": { \"experienceName\": \"Unified Navigation App\", \"path\": \"now/nav/ui\" }, \"route\": \"classic\", \"params\": { \"target\": \"${table}_list.do?sysparm_query=${query}\" } }'\n\t};\n};\n\nexport const handleFeedback = (\n\tfeedbackValue,\n\treason,\n\tdispatch,\n\tstate,\n\tupdateState\n) => {\n\tconst {\n\t\tproperties: { model }\n\t} = state;\n\n\tdispatch(FEEDBACK_PROVIDED, {\n\t\taction: {\n\t\t\tvalue: feedbackValue,\n\t\t\treason,\n\t\t\tactionPayload: {}\n\t\t},\n\t\tmodel\n\t});\n\n\tconst partialState = {\n\t\t...state,\n\t\tfeedbackValue,\n\t\topenFeedbackDialog: false\n\t};\n\t// Thumbs up was clicked so clear any reasons for thumbs down\n\tif (feedbackValue > 0) partialState.feedbackReason = \"\";\n\tupdateState(partialState);\n};\n\nexport const transformJSONToTableDefinitions = jsonData => {\n\t/**\n\t * code to transform graphQL response to what now-list need as input\n\t * Example input for now-list\n\t * \tcolumnDefinitions = {\n\t\t\tcolumns: [\n\t\t\t\t{\n\t\t\t\t\tkey: 'colKey1',\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tlabel: 'String Field',\n\t\t\t\t}\n\t\t\t],\n\t\t};\n\t\trowDefinitions = {\n\t\t\trows: [\n\t\t\t\t{\n\t\t\t\t\tkey: 'rowKey1',\n\t\t\t\t\tcells: {\n\t\t\t\t\t\tcolKey1: {\n\t\t\t\t\t\t\tvalue: 'lorem ipsum',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcolKey2: {\n\t\t\t\t\t\t\tvalue: 10,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t],\n\t\t};\n\t */\n\tconst columnDefinitions = {\n\t\tcolumns: jsonData.GlideListLayout_Query.getListLayout.allColumns.map(\n\t\t\t(column, index) => ({\n\t\t\t\tkey: `colKey${index + 1}`,\n\t\t\t\ttype: \"string\",\n\t\t\t\tlabel: column.columnData.fullLabel\n\t\t\t})\n\t\t)\n\t};\n\n\tconst rowDefinitions = {\n\t\trows: jsonData.GlideListLayout_Query.getListLayout.layoutQuery.queryRows.map(\n\t\t\t(row, rowIndex) => ({\n\t\t\t\tkey: `rowKey${rowIndex + 1}`,\n\t\t\t\tcells: columnDefinitions.columns.reduce(\n\t\t\t\t\t(cells, column, columnIndex) => {\n\t\t\t\t\t\tconst columnName =\n\t\t\t\t\t\t\tjsonData.GlideListLayout_Query.getListLayout.allColumns[\n\t\t\t\t\t\t\t\tcolumnIndex\n\t\t\t\t\t\t\t].columnName;\n\t\t\t\t\t\tcells[column.key] = {\n\t\t\t\t\t\t\tvalue: row.rowData.find(data => data.columnName === columnName)\n\t\t\t\t\t\t\t\t.columnData.displayValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\treturn cells;\n\t\t\t\t\t},\n\t\t\t\t\t{}\n\t\t\t\t)\n\t\t\t})\n\t\t)\n\t};\n\n\treturn { columnDefinitions, rowDefinitions };\n};\n","import \"@servicenow/now-select\";\nimport ListResult from \"./listResult\";\nimport { t } from \"sn-translate\";\nimport {\n\tNLQ_MULTITABLE_DESCRIPTION,\n\tNLQ_MULTITABLE_DROPDOWN,\n\tNLQ_MULTITABLE_HEADER,\n\tPREVIEW_TABLE_LABEL,\n\tVIEW_TABLE_TRANSLATION,\n\tNLQ_ERROR_TITLE,\n\tNLQ_ERROR_DETAIL\n} from \"../constants\";\nimport { getNLQMultiTableDropdownOptions } from \"../utils\";\nimport \"@servicenow/now-card\";\n\nconst view = ({\n\tmodel,\n\tactiveTable,\n\tisGlobal,\n\tnlqTableDefinitionsLoading,\n\tselectedTables,\n\terror\n}) => {\n\tconst response = JSON.parse(model[\"columns.response\"]);\n\tconst dropDowns = [];\n\tfor (let prop in response) {\n\t\tdropDowns.push(\n\t\t\t<span className=\"nlq-multitable-dropdown\">\n\t\t\t\t<now-select\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tlabel={t(prop)}\n\t\t\t\t\titems={getNLQMultiTableDropdownOptions(\n\t\t\t\t\t\tresponse[prop],\n\t\t\t\t\t\tselectedTables || {},\n\t\t\t\t\t\tprop\n\t\t\t\t\t)}\n\t\t\t\t\tselectedItem={selectedTables ? selectedTables[prop] : undefined}\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tcomponent-id={`${NLQ_MULTITABLE_DROPDOWN}-${prop}`}\n\t\t\t\t\tappendToPayload={{\n\t\t\t\t\t\ttype: NLQ_MULTITABLE_DROPDOWN,\n\t\t\t\t\t\ttoken: prop,\n\t\t\t\t\t\tactionId: NLQ_MULTITABLE_DROPDOWN\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</span>\n\t\t);\n\t}\n\tlet body = (\n\t\t<ListResult\n\t\t\tisGlobal={isGlobal}\n\t\t\tactiveTable={activeTable}\n\t\t\tnlqTableDefinitionsLoading={nlqTableDefinitionsLoading}\n\t\t/>\n\t);\n\tif (error) {\n\t\tbody = (\n\t\t\t<div className=\"nlq-error-body\">\n\t\t\t\t<div className=\"nlq-error-body-contents\">\n\t\t\t\t\t<now-icon slot=\"identifier\" icon=\"ai-sparkle-outline\" />\n\t\t\t\t\t<span className=\"nlq-error-title\">{NLQ_ERROR_TITLE}</span>\n\t\t\t\t\t<p className=\"nlq-error-detail\">{NLQ_ERROR_DETAIL}</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\treturn (\n\t\t<div className=\"nlq-multitable nlq-card-container\">\n\t\t\t<h3>{NLQ_MULTITABLE_HEADER}</h3>\n\t\t\t<p>{NLQ_MULTITABLE_DESCRIPTION}</p>\n\t\t\t{dropDowns}\n\t\t\t<now-card-divider />\n\t\t\t{!error && <span className=\"preview-label\">{PREVIEW_TABLE_LABEL}</span>}\n\t\t\t{body}\n\t\t\t{!(nlqTableDefinitionsLoading || error) && (\n\t\t\t\t<div className=\"nlq-gr-link\">\n\t\t\t\t\t<now-text-link\n\t\t\t\t\t\tlabel={VIEW_TABLE_TRANSLATION}\n\t\t\t\t\t\thref=\"javascript:void(0)\"\n\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t\"aria-label\": VIEW_TABLE_TRANSLATION\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport default view;\n","import { Fragment } from \"@servicenow/ui-renderer-snabbdom\";\nimport AiSearchBody from \"../contents/bodyAiSearch\";\nimport NlqBody from \"../contents/bodyNLQ\";\nimport NlqMultiTableBody from \"../contents/bodyMultiTableNLQ\";\nimport { GR_TYPES } from \"../constants\";\n\nconst view = ({\n\tidentifier,\n\tidentifierCriticalText,\n\theading,\n\tmarker,\n\tlabelValuesInfo,\n\tdescription,\n\tidentifierFontSize,\n\theadingFontSize,\n\tisGlobal,\n\tidentifierAtBottom,\n\tshouldTruncate,\n\tdescriptionCollapsed,\n\tdescriptionFontSize,\n\tupdateState,\n\tgrType,\n\tactiveTable,\n\ttableMatches,\n\tshowActionAsLink,\n\tmultiTable,\n\tmodel,\n\tselectedTables,\n\terror,\n\tisOneBox,\n\tisMobile,\n\tnlqTableDefinitionsLoading,\n\tisExternalSourceType,\n\tisSynthesizedAndNotStreaming,\n\tcitationsFromSynthesizedResponse,\n\tkgListCitations,\n\tactions,\n\tsynthesizedMarkdownText,\n\tsynthesizedGeniusResultCanExpand,\n\tsynthesizedGeniusResultExpanded,\n\ttextRef,\n\tcanAskFollowUp\n}) => {\n\tif (grType === GR_TYPES.AI_SEARCH || grType === GR_TYPES.SYNTHESIZED) {\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t<AiSearchBody\n\t\t\t\t\tidentifier={identifier}\n\t\t\t\t\tidentifierCriticalText={identifierCriticalText}\n\t\t\t\t\theading={heading}\n\t\t\t\t\tmarker={marker}\n\t\t\t\t\tlabelValuesInfo={labelValuesInfo}\n\t\t\t\t\tdescription={description}\n\t\t\t\t\tidentifierFontSize={identifierFontSize}\n\t\t\t\t\theadingFontSize={headingFontSize}\n\t\t\t\t\tdescriptionFontSize={descriptionFontSize}\n\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\tidentifierAtBottom={identifierAtBottom}\n\t\t\t\t\tshouldTruncate={shouldTruncate}\n\t\t\t\t\tdescriptionCollapsed={descriptionCollapsed}\n\t\t\t\t\tupdateState={updateState}\n\t\t\t\t\tshowActionAsLink={showActionAsLink}\n\t\t\t\t\tisOneBox={isOneBox}\n\t\t\t\t\tisMobile={isMobile}\n\t\t\t\t\tisExternalSourceType={isExternalSourceType}\n\t\t\t\t\tisSynthesizedAndNotStreaming={isSynthesizedAndNotStreaming}\n\t\t\t\t\tcitationsFromSynthesizedResponse={citationsFromSynthesizedResponse}\n\t\t\t\t\tkgListCitations={kgListCitations}\n\t\t\t\t\tactions={actions}\n\t\t\t\t\tsynthesizedGeniusResultExpanded={synthesizedGeniusResultExpanded}\n\t\t\t\t\tsynthesizedMarkdownText={synthesizedMarkdownText}\n\t\t\t\t\tsynthesizedGeniusResultCanExpand={synthesizedGeniusResultCanExpand}\n\t\t\t\t\ttextRef={textRef}\n\t\t\t\t\tcanAskFollowUp={canAskFollowUp}\n\t\t\t\t/>\n\t\t\t</Fragment>\n\t\t);\n\t} else if (multiTable) {\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t<NlqMultiTableBody\n\t\t\t\t\tactiveTable={activeTable}\n\t\t\t\t\tmodel={model}\n\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\tnlqTableDefinitionsLoading={nlqTableDefinitionsLoading}\n\t\t\t\t\tselectedTables={selectedTables}\n\t\t\t\t\terror={error}\n\t\t\t\t/>\n\t\t\t</Fragment>\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t<NlqBody\n\t\t\t\t\tactiveTable={activeTable}\n\t\t\t\t\ttableMatches={tableMatches}\n\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\tnlqTableDefinitionsLoading={nlqTableDefinitionsLoading}\n\t\t\t\t/>\n\t\t\t</Fragment>\n\t\t);\n\t}\n};\n\nexport default view;\n","import { createCustomElement } from \"@servicenow/ui-core\";\nimport \"@servicenow/now-text-link\";\nimport styles from \"../scss/contents/aboutPopover.scss\";\nimport {\n\tHEADER_TOOLTIP_TEXT,\n\tHEADER_TOOLTIP_TEXT_NLQ,\n\tLEARN_MORE,\n\tGR_TYPES\n} from \"../constants\";\n\nimport isEmpty from \"lodash/isEmpty\";\n\ncreateCustomElement(\"sn-search-genius-about-popover\", {\n\tview: ({ properties: { url, grType } }) => (\n\t\t<div className=\"genius-card__about-popover\">\n\t\t\t<span aria-live=\"assertive\">\n\t\t\t\t{grType === GR_TYPES.NLQ\n\t\t\t\t\t? HEADER_TOOLTIP_TEXT_NLQ\n\t\t\t\t\t: HEADER_TOOLTIP_TEXT}\n\t\t\t</span>\n\t\t\t{!isEmpty(url) ? (\n\t\t\t\t<div>\n\t\t\t\t\t<br />\n\t\t\t\t\t<now-text-link\n\t\t\t\t\t\tclassName=\"genius-card__about-popover-link\"\n\t\t\t\t\t\tlabel={LEARN_MORE}\n\t\t\t\t\t\thref={url}\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\ticonEnd=\"open-link-outline\"\n\t\t\t\t\t\topensWindow\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t</div>\n\t),\n\tproperties: {\n\t\turl: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\tgrType: {\n\t\t\tdefault: GR_TYPES.AI_SEARCH,\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t}\n\t},\n\tstyles\n});\n","import \"@servicenow/now-button\";\nimport \"@servicenow/now-radio-buttons\";\nimport \"@servicenow/now-card\";\nimport \"@servicenow/now-popover\";\n\nimport \"./sn-search-genius-about-popover\";\nimport { HELPFUL_FEEDBACK_START, UNHELPFUL_FEEDBACK_START } from \"../actions\";\nimport {\n\tFEEDBACK_PROMPT_LABEL,\n\tHELPFUL_FEEDBACK_LABEL,\n\tUNHELPFUL_FEEDBACK_LABEL,\n\tPOST_FEEDBACK_LABEL,\n\tFEEDBACK_DIALOG_HEADER,\n\tFEEDBACK_DIALOG_INSTRUCTIONS,\n\tFEEDBACK_DIALOG_SEND_BUTTON_LABEL,\n\tFEEDBACK_DIALOG_SEND_BUTTON_TOOLTIP,\n\tCLOSE_FEEDBACK_FORM,\n\tOTHER_FEEDBACK\n} from \"../constants\";\n\nconst view = ({\n\theading,\n\tvalue,\n\tfeedbackOptions,\n\topenFeedbackDialog,\n\tfeedbackReason,\n\tfeedbackOther,\n\tisGlobal\n}) => {\n\tif (value !== 0) {\n\t\treturn (\n\t\t\t<span className=\"genius-card-header__feedback\" aria-live=\"polite\">\n\t\t\t\t{POST_FEEDBACK_LABEL}\n\t\t\t</span>\n\t\t);\n\t}\n\n\tconst helpfulButton = (\n\t\t<now-button-iconic\n\t\t\thidePadding\n\t\t\tappend-to-payload={{ actionId: HELPFUL_FEEDBACK_START }}\n\t\t\tconfig-aria={{\n\t\t\t\t\"aria-label\": `${FEEDBACK_PROMPT_LABEL} ${HELPFUL_FEEDBACK_LABEL} for ${heading}`\n\t\t\t}}\n\t\t\tvariant=\"tertiary\"\n\t\t\tsize=\"sm\"\n\t\t\ticon=\"thumbs-up-outline\"\n\t\t/>\n\t);\n\n\tconst unhelpfulButton = (\n\t\t<now-button-iconic\n\t\t\thidePadding\n\t\t\tslot=\"trigger\"\n\t\t\tappend-to-payload={{ actionId: UNHELPFUL_FEEDBACK_START }}\n\t\t\tconfig-aria={{\n\t\t\t\t\"aria-label\": `${FEEDBACK_PROMPT_LABEL} ${UNHELPFUL_FEEDBACK_LABEL} for ${heading}`\n\t\t\t}}\n\t\t\tvariant=\"tertiary\"\n\t\t\tsize=\"sm\"\n\t\t\ticon=\"thumbs-down-outline\"\n\t\t/>\n\t);\n\n\tconst otherFeedbackInput =\n\t\tfeedbackOptions &&\n\t\tfeedbackOptions.length &&\n\t\tfeedbackOptions[feedbackOptions.length - 1][\"id\"] === OTHER_FEEDBACK ? ( //If bottom feedback option is 'Other'\n\t\t\t<now-textarea\n\t\t\t\tstyle={{ width: \"100%\" }}\n\t\t\t\tdisabled={feedbackReason !== OTHER_FEEDBACK}\n\t\t\t\tmaxlength={255} //Max string length of field 'Action Value' in table 'sys_search_genius_result_event_action'\n\t\t\t\tvalue={feedbackOther}\n\t\t\t\tmanageValue\n\t\t\t/>\n\t\t) : null;\n\n\tconst feedbackDialogCard = (\n\t\t<now-card slot=\"content\" size=\"lg\" interaction=\"none\">\n\t\t\t<now-card-header\n\t\t\t\theading={{\n\t\t\t\t\tlabel: FEEDBACK_DIALOG_HEADER,\n\t\t\t\t\tlines: 2,\n\t\t\t\t\tsize: \"md\"\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tslot=\"metadata\"\n\t\t\t\t\tbare\n\t\t\t\t\thidePadding\n\t\t\t\t\ticon=\"close-outline\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tconfig-aria={{ button: { \"aria-label\": `${CLOSE_FEEDBACK_FORM}` } }}\n\t\t\t\t/>\n\t\t\t</now-card-header>\n\t\t\t<span>{FEEDBACK_DIALOG_INSTRUCTIONS}</span>\n\t\t\t<br />\n\t\t\t<now-radio-buttons\n\t\t\t\toptions={feedbackOptions}\n\t\t\t\tvalue={feedbackReason}\n\t\t\t\tmanageValue\n\t\t\t/>\n\t\t\t<div>{otherFeedbackInput}</div>\n\t\t\t<br />\n\t\t\t<now-card-footer>\n\t\t\t\t<now-button\n\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\tisFeedback: true\n\t\t\t\t\t}}\n\t\t\t\t\tslot=\"end\"\n\t\t\t\t\tlabel={FEEDBACK_DIALOG_SEND_BUTTON_LABEL}\n\t\t\t\t\ttooltipContent={FEEDBACK_DIALOG_SEND_BUTTON_TOOLTIP}\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tdisabled={!feedbackReason}\n\t\t\t\t/>\n\t\t\t</now-card-footer>\n\t\t</now-card>\n\t);\n\n\tconst unhelpfulButtonWithReasonDialog =\n\t\tfeedbackOptions && feedbackOptions.length > 0 ? (\n\t\t\t<now-popover\n\t\t\t\thideTail\n\t\t\t\tinteractionType=\"dialog\"\n\t\t\t\tmanageOpened\n\t\t\t\topened={openFeedbackDialog}\n\t\t\t\tpositions={[\n\t\t\t\t\t{\n\t\t\t\t\t\ttarget: \"top-right\",\n\t\t\t\t\t\tcontent: \"top-right\"\n\t\t\t\t\t}\n\t\t\t\t]}\n\t\t\t>\n\t\t\t\t{unhelpfulButton}\n\t\t\t\t{feedbackDialogCard}\n\t\t\t</now-popover>\n\t\t) : (\n\t\t\tunhelpfulButton\n\t\t);\n\n\treturn (\n\t\t<div className=\"genius-card-header__feedback-container\">\n\t\t\t<div className=\"genius-card-header-section\">\n\t\t\t\t{helpfulButton}\n\n\t\t\t\t<span\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t\"genius-card-header__feedback-separator\": true,\n\t\t\t\t\t\t\"-global\": isGlobal\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{unhelpfulButtonWithReasonDialog}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default view;\n","import \"@servicenow/now-button\";\nimport \"@servicenow/now-dropdown\";\nimport \"@servicenow/now-radio-buttons\";\nimport \"@servicenow/now-card\";\nimport isEqual from \"lodash/isEqual\";\nimport isEmpty from \"lodash/isEmpty\";\nimport get from \"lodash/get\";\nimport { Fragment } from \"@servicenow/ui-renderer-snabbdom\";\nimport sharepoint from \"../images/sharepoint.svg\";\nimport internalSources from \"../images/servicenow.svg\";\n\nimport { t } from \"sn-translate\";\nimport {\n\tBUTTON_SLOT_STYLE,\n\tFOOTER_MORE_ACTION_LABEL,\n\tFEEDBACK_DROPDOWN_PLACEHOLDER,\n\tFEEDBACK_DROPDOWN_TOOLTIP,\n\tFEEDBACK_DROPDOWN_OPTIONS,\n\tFEEDBACK_INTENT_OPTIONS,\n\tFEEDBACK_INTENT_LABEL,\n\tSOURCE_LABEL,\n\tVIEW_ARTICLE,\n\tFOLLOW_UP,\n\tFOLLOW_UP_LABEL,\n\tCITATION_ACTION\n} from \"../constants\";\nimport FeedbackButtonSet from \"../contents/feedbackButtonSet\";\nimport Identifier from \"../contents/identifier\";\n\nconst transformToSplitButtonItems = actions =>\n\tactions.map(({ assignmentId, label }) => ({\n\t\tid: assignmentId,\n\t\tlabel\n\t}));\n\nconst groupActions = (actions, overflowLimit, allowDropdown) => {\n\tconst isOverflow = allowDropdown && actions.length > overflowLimit;\n\tconst displayActions = isOverflow\n\t\t? actions.slice(0, overflowLimit - 1)\n\t\t: actions;\n\tconst splitActions = isOverflow ? actions.slice(overflowLimit - 1) : []; // remaining actions\n\n\treturn {\n\t\tdisplayActions,\n\t\tsplitActions\n\t};\n};\n\nconst actionButtons = (heading, label, assignmentId) => (\n\t<div className=\"genius-card-footer__control\">\n\t\t<now-button\n\t\t\tappend-to-payload={{\n\t\t\t\tactionId: assignmentId\n\t\t\t}}\n\t\t\tvariant=\"tertiary\"\n\t\t\tsize=\"sm\"\n\t\t\ttooltipContent={\n\t\t\t\t!isEmpty(heading) ? t(\"{0} for {1}\", label, heading) : label\n\t\t\t}\n\t\t>\n\t\t\t<div style={BUTTON_SLOT_STYLE}>\n\t\t\t\t<span className=\"genius-card-footer__control_label\">{label}</span>\n\t\t\t</div>\n\t\t</now-button>\n\t</div>\n);\n\nconst view = ({\n\theading,\n\tactions,\n\toverflowLimit,\n\tallowDropdown,\n\tallowFeedback,\n\tvalue,\n\tfeedbackOptions,\n\topenFeedbackDialog,\n\tfeedbackReason,\n\tenableDataLabelingFeedback,\n\tisGlobal,\n\tidentifier,\n\tidentifierCriticalText,\n\tidentifierAtBottom,\n\tidentifierFontSize,\n\tshowActionAsLink,\n\tsource,\n\tfollowUpAction,\n\tcitations,\n\tmodel,\n\tisSynthesizedAndNotStreaming,\n\tisSynthesizedAndStreaming,\n\tallChunksProcessed\n}) => {\n\tconst renderForDemo =\n\t\tget(model, \"columns.isDemoInstance\", \"false\") === \"true\";\n\tconst feedbackButtons =\n\t\tallowFeedback && !enableDataLabelingFeedback ? (\n\t\t\t<FeedbackButtonSet\n\t\t\t\theading={heading}\n\t\t\t\tvalue={value}\n\t\t\t\tfeedbackOptions={feedbackOptions}\n\t\t\t\topenFeedbackDialog={openFeedbackDialog}\n\t\t\t\tfeedbackReason={feedbackReason}\n\t\t\t\tisGlobal={isGlobal}\n\t\t\t/>\n\t\t) : null;\n\n\tconst intentFeedbackButtons = enableDataLabelingFeedback ? (\n\t\t<now-radio-buttons\n\t\t\tlabel={FEEDBACK_INTENT_LABEL}\n\t\t\tname=\"intent\"\n\t\t\toptions={FEEDBACK_INTENT_OPTIONS}\n\t\t\tappend-to-payload={{\n\t\t\t\tisIntentFeedback: true\n\t\t\t}}\n\t\t/>\n\t) : null;\n\n\tconst relevanceFeedbackButtons = enableDataLabelingFeedback ? (\n\t\t<now-dropdown\n\t\t\tclassName=\"\"\n\t\t\titems={FEEDBACK_DROPDOWN_OPTIONS}\n\t\t\tselect=\"single\"\n\t\t\tplaceholder={FEEDBACK_DROPDOWN_PLACEHOLDER}\n\t\t\tvariant=\"secondary\"\n\t\t\tsize=\"md\"\n\t\t\ttooltipContent={FEEDBACK_DROPDOWN_TOOLTIP}\n\t\t\tappend-to-payload={{\n\t\t\t\tisRelevanceFeedback: true\n\t\t\t}}\n\t\t/>\n\t) : null;\n\n\tconst { displayActions, splitActions } = groupActions(\n\t\tactions,\n\t\toverflowLimit,\n\t\tallowDropdown\n\t);\n\tconst splitButtonItems = transformToSplitButtonItems(splitActions);\n\n\tconst splitActionButtons =\n\t\tsplitButtonItems.length > 0 ? (\n\t\t\t<div className=\"genius-card-footer__control -dropdown\">\n\t\t\t\t<now-dropdown\n\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\tisFeedback: false\n\t\t\t\t\t}}\n\t\t\t\t\ttooltipContent={t(\"{0} for {1}\", FOOTER_MORE_ACTION_LABEL, heading)}\n\t\t\t\t\titems={splitButtonItems}\n\t\t\t\t\tplaceholder={FOOTER_MORE_ACTION_LABEL}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tselect=\"none\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t) : null;\n\n\tconst followUpActionButton = followUpAction ? (\n\t\t<div className=\"genius-card-footer__control\">\n\t\t\t<now-button\n\t\t\t\tappend-to-payload={{\n\t\t\t\t\ttype: FOLLOW_UP\n\t\t\t\t}}\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\ttooltipContent={\n\t\t\t\t\t!isEmpty(heading) ? t(\"Follow up for {0}\", heading) : FOLLOW_UP_LABEL\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<div style={BUTTON_SLOT_STYLE}>\n\t\t\t\t\t<span className=\"genius-card-footer__control_label\">\n\t\t\t\t\t\t{FOLLOW_UP_LABEL}\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</now-button>\n\t\t</div>\n\t) : null;\n\tconst imageIcon = sourceType => {\n\t\treturn (\n\t\t\t<div className=\"genius-card-action-link-image\">\n\t\t\t\t<now-image\n\t\t\t\t\tsrc={isEqual(sourceType, \"external\") ? sharepoint : internalSources}\n\t\t\t\t\twidth={20}\n\t\t\t\t\talt={\"alt\"}\n\t\t\t\t\tfit=\"fill\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t};\n\n\tconst getLabelForCitations = (sourceLabel, number) => {\n\t\tvar labelForCitation = \"\";\n\t\tif (!isEmpty(sourceLabel)) {\n\t\t\tlabelForCitation += sourceLabel + \" \";\n\t\t}\n\t\tif (!isEmpty(number)) {\n\t\t\tlabelForCitation += number + \" \";\n\t\t}\n\t\treturn labelForCitation;\n\t};\n\n\tconst viewArticleCitationFooter = (\n\t\taction,\n\t\tnumber,\n\t\tsourceLabel,\n\t\tsourceType,\n\t\trenderForDemo,\n\t\tshowCitations\n\t) => {\n\t\tif (!renderForDemo) {\n\t\t\tconst label = getLabelForCitations(sourceLabel, number);\n\t\t\treturn (\n\t\t\t\t<div className=\"genius-card-action-link-citation-control\">\n\t\t\t\t\t{imageIcon(sourceType)}\n\t\t\t\t\t<div className=\"genius-card-footer-label\">\n\t\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\"genius-card-action-citation\": showCitations,\n\t\t\t\t\t\t\t\t\"genius-card-action-link\": true\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\tactionId: !isEmpty(action.assignmentId)\n\t\t\t\t\t\t\t\t\t? action.assignmentId\n\t\t\t\t\t\t\t\t\t: action,\n\t\t\t\t\t\t\t\tcitationAction: action,\n\t\t\t\t\t\t\t\ttype: !isEmpty(action.assignmentId) ? CITATION_ACTION : \"\"\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tlabel={label}\n\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\tbutton: { \"aria-label\": label },\n\t\t\t\t\t\t\t\trole: \"link\"\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t} else {\n\t\t\treturn renderCitationAsCard(sourceLabel, action);\n\t\t}\n\t};\n\n\tconst renderCitationAsCard = (sourceLabel, action) => {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<now-card\n\t\t\t\t\tclassName=\"genius-card-action-card\"\n\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\tactionId: action.assignmentId,\n\t\t\t\t\t\tcitationAction: action,\n\t\t\t\t\t\ttype: CITATION_ACTION\n\t\t\t\t\t}}\n\t\t\t\t\tinteraction=\"click\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t>\n\t\t\t\t\t<div className=\"genius-card-action-card-content\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<now-image src={sharepoint} width={20} alt={\"alt\"} fit=\"fill\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<span>{sourceLabel}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</now-card>\n\t\t\t</div>\n\t\t);\n\t};\n\n\tlet renderFooterActions = \"\";\n\tif (!isSynthesizedAndNotStreaming && !isSynthesizedAndStreaming) {\n\t\trenderFooterActions = isEmpty(citations)\n\t\t\t? actions\n\t\t\t\t\t.filter(\n\t\t\t\t\t\t({ name }) =>\n\t\t\t\t\t\t\tname === VIEW_ARTICLE.GLOBAL || name === VIEW_ARTICLE.PORTAL\n\t\t\t\t\t)\n\t\t\t\t\t.map(({ assignmentId }) =>\n\t\t\t\t\t\tviewArticleCitationFooter(assignmentId, source, \"\", \"\", \"\")\n\t\t\t\t\t)\n\t\t\t: citations?.map(({ action, number, short_description }) =>\n\t\t\t\t\tviewArticleCitationFooter(\n\t\t\t\t\t\taction,\n\t\t\t\t\t\tnumber,\n\t\t\t\t\t\tshort_description,\n\t\t\t\t\t\tget(model, \"columns.source_type\", \"\"),\n\t\t\t\t\t\trenderForDemo,\n\t\t\t\t\t\t!isEmpty(citations)\n\t\t\t\t\t)\n\t\t\t  );\n\t}\n\n\tconst footerActions = showActionAsLink ? (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t\"genius-card-footer\": true,\n\t\t\t\t\"genius-card-footer-width\": showActionAsLink\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t\"genius-card-footer__control\": true,\n\t\t\t\t\t\"-genius-links\": !renderForDemo\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<span className=\"genius-card-action-label\">\n\t\t\t\t\t{!isEmpty(citations) || !isEmpty(actions) ? SOURCE_LABEL : \"\"}\n\t\t\t\t</span>\n\t\t\t\t{renderFooterActions}\n\t\t\t</div>\n\t\t\t{displayActions.length > 1 || followUpAction ? (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<br />\n\t\t\t\t\t<div className=\"genius-card-footer\">\n\t\t\t\t\t\t{followUpActionButton}\n\t\t\t\t\t\t{displayActions\n\t\t\t\t\t\t\t.filter(\n\t\t\t\t\t\t\t\t({ name }) =>\n\t\t\t\t\t\t\t\t\tname !== VIEW_ARTICLE.GLOBAL && name !== VIEW_ARTICLE.PORTAL\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.map(({ label, assignmentId }) =>\n\t\t\t\t\t\t\t\tactionButtons(heading, label, assignmentId)\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t{splitActionButtons}\n\t\t\t\t\t</div>\n\t\t\t\t</Fragment>\n\t\t\t) : null}\n\t\t</div>\n\t) : (\n\t\t<div className=\"genius-card-footer\">\n\t\t\t{followUpActionButton}\n\t\t\t{displayActions.map(({ label, assignmentId }) =>\n\t\t\t\tactionButtons(heading, label, assignmentId)\n\t\t\t)}\n\t\t\t{splitActionButtons}\n\t\t</div>\n\t);\n\n\tif (isSynthesizedAndNotStreaming) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t\"genius-card-footer-container-followup\": true\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"genius-card-footer-feeback\">{feedbackButtons}</div>\n\t\t\t</div>\n\t\t);\n\t} else if (isSynthesizedAndStreaming) {\n\t\t// do not show feedback buttons until streaming ends\n\t\tif (allChunksProcessed) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t\"genius-card-footer-container-followup\": true\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"genius-card-footer-feeback\">{feedbackButtons}</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t} else {\n\t\treturn (\n\t\t\t<div className=\"genius-card-footer-container\">\n\t\t\t\t{identifierAtBottom && !showActionAsLink ? (\n\t\t\t\t\t<Identifier\n\t\t\t\t\t\tidentifier={identifier}\n\t\t\t\t\t\tidentifierCriticalText={identifierCriticalText}\n\t\t\t\t\t\tidentifierFontSize={identifierFontSize}\n\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t\tidentifierAtBottom={identifierAtBottom}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t{enableDataLabelingFeedback ? (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{footerActions}\n\t\t\t\t\t\t<div className=\"genius-card-feedback-container\">\n\t\t\t\t\t\t\t{feedbackButtons}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div>{intentFeedbackButtons}</div>\n\t\t\t\t\t\t<div>{relevanceFeedbackButtons}</div>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\"genius-card-feedback-wrapper\": true,\n\t\t\t\t\t\t\t\"margin-top\": showActionAsLink, // compensate for space lost showing declarative action button as link\n\t\t\t\t\t\t\t\"align-content\": !renderForDemo,\n\t\t\t\t\t\t\t\"align-for-demo\": renderForDemo\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{footerActions}\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\"genius-card-feedback-container\": true,\n\t\t\t\t\t\t\t\t\"align-for-demo\": renderForDemo\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{feedbackButtons}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n};\n\nexport default view;\n","import { get, isEmpty } from \"lodash\";\nimport { createCustomElement } from \"@servicenow/ui-core\";\nimport snabbdom from \"@servicenow/ui-renderer-snabbdom\";\nimport styles from \"../../scss/index.scss\";\nimport \"@servicenow/now-text-link\";\nimport \"@servicenow/now-card\";\nimport \"@servicenow/now-image\";\nimport \"@servicenow/now-label-value\";\nimport { t } from \"sn-translate\";\nimport {\n\tCLICK,\n\tCATALOG_CLICK,\n\tREQUEST_IN_CHAT_LABEL,\n\tMARKER_IMAGE,\n\tREQUEST_WITH_FORM,\n\tCITATION_TYPES,\n\tSHARED_FILES_LOGIN_MESSAGE\n} from \"../../constants\";\n\nconst renderCatalogCardBody = (item, conversational, canAskFollowUp) => {\n\tconst imageSrcToRender = get(item, 'model[\"columns.picture\"]', \"\");\n\tconst header = get(item, 'model[\"columns.name\"]', \"\");\n\tconst price = get(item, 'model[\"columns.price\"]', \"\");\n\tconst action = !isEmpty(item.actions) ? item.actions.at(0) : \"\";\n\tconst itemSysId = get(item, 'model[\"columns.sys_id\"]', \"\");\n\tconst showHandOver = canAskFollowUp && conversational;\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t\"catalog-card\": true,\n\t\t\t\t\"-has-picture\": Boolean(imageSrcToRender)\n\t\t\t}}\n\t\t>\n\t\t\t<div className=\"catalog-image\">\n\t\t\t\t{!isEmpty(imageSrcToRender) && (\n\t\t\t\t\t<now-image\n\t\t\t\t\t\tsrc={imageSrcToRender}\n\t\t\t\t\t\twidth={MARKER_IMAGE.WIDTH_DEFAULT}\n\t\t\t\t\t\tfit=\"cover\"\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t<div className=\"catalog-description\">\n\t\t\t\t<div className=\"details\">\n\t\t\t\t\t<div className=\"header\">{t(header)}</div>\n\t\t\t\t\t<div>{t(price)}</div>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"actions\">\n\t\t\t\t\t<now-text-link\n\t\t\t\t\t\tclassName=\"open_catalog\"\n\t\t\t\t\t\tlabel={REQUEST_WITH_FORM}\n\t\t\t\t\t\thref=\"javascript:void(0)\"\n\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\ttype: CLICK,\n\t\t\t\t\t\t\tactionPayload: action\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\ticon-start=\"pencil-page-outline\"\n\t\t\t\t\t/>\n\t\t\t\t\t{showHandOver && (\n\t\t\t\t\t\t<now-text-link\n\t\t\t\t\t\t\tclassName=\"hand_over_to_va\"\n\t\t\t\t\t\t\tlabel={REQUEST_IN_CHAT_LABEL}\n\t\t\t\t\t\t\thref=\"javascript:void(0)\"\n\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\ttype: CATALOG_CLICK,\n\t\t\t\t\t\t\t\taction: action,\n\t\t\t\t\t\t\t\tclickedData: item,\n\t\t\t\t\t\t\t\tclickedItemSysId: itemSysId\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\ticon-start=\"chat-outline\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nconst renderKgCardBody = item => {\n\tconst tableLabel = get(item.model, \"columns.table_label\", t(\"Unknown table\"));\n\tconst citationAction = !isEmpty(item.actions) ? item.actions.at(0) : \"\";\n\tconst displayValue = get(\n\t\titem.model,\n\t\t\"columns.display_value\",\n\t\tt(\"Unknown record\")\n\t);\n\n\treturn (\n\t\t<div className=\"kg-card\">\n\t\t\t<div className=\"kg-card-container\">\n\t\t\t\t<div className=\"header\">\n\t\t\t\t\t<now-icon icon=\"table-outline\" size=\"sm\" ariaHidden=\"true\" />\n\t\t\t\t\t<span>{tableLabel}</span>\n\t\t\t\t</div>\n\t\t\t\t<now-text-link\n\t\t\t\t\tlabel={displayValue}\n\t\t\t\t\thref=\"javascript:void(0)\"\n\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\ttype: CLICK,\n\t\t\t\t\t\tactionPayload: citationAction\n\t\t\t\t\t}}\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nconst renderPeopleCardBody = propValues => {\n\tconst sharedFiles = JSON.parse(\n\t\tget(propValues.model, \"columns.shared_files\", \"[]\")\n\t);\n\tconst manager = get(propValues.model, \"columns.manager\", \"\");\n\tconst location = get(propValues.model, \"columns.location\", \"\");\n\tconst email = get(propValues.model, \"columns.email\", \"\");\n\tconst phone = get(propValues.model, \"columns.phone\", \"\");\n\tconst action = !isEmpty(propValues.actions) ? propValues.actions.at(0) : \"\";\n\n\tconst sharedFilesHtml =\n\t\tsharedFiles.code === \"200\" || sharedFiles.code === 200\n\t\t\t? sharedFiles.data\n\t\t\t\t\t.map(\n\t\t\t\t\t\tfile => `\n\t\t\t\t\t\t\t<span style=\"display: flex; align-items: center; margin-bottom: 5px;\">\n\t\t\t\t\t\t\t\t<now-image\n\t\t\t\t\t\t\t\t\tsrc=\"${file.icon?.png || file.icon?.jpg}\"\n\t\t\t\t\t\t\t\t\tstyle=\"max-width: 15px; margin-right: 5px\"\n\t\t\t\t\t\t\t\t></now-image>\n\t\t\t\t\t\t\t\t<now-text-link label=\"${file.name}\" href=\"${file.link}\"></now-text-link>\n\t\t\t\t\t\t\t</span>`\n\t\t\t\t\t)\n\t\t\t\t\t.join(\"\") || \"\"\n\t\t\t: sharedFiles.code === \"401\" || sharedFiles.code === 401\n\t\t\t? `<span>${SHARED_FILES_LOGIN_MESSAGE} <now-text-link label=\"${t(\n\t\t\t\t\t\"Log in\"\n\t\t\t  )}\" href=${sharedFiles.authEndPoint}></now-text-link></span>`\n\t\t\t: \"\";\n\n\tconst items = [\n\t\t...(manager\n\t\t\t? [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: t(\"Manager\"),\n\t\t\t\t\t\tvalue: { type: \"string\", value: manager }\n\t\t\t\t\t}\n\t\t\t  ]\n\t\t\t: []),\n\t\t...(location\n\t\t\t? [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: t(\"Location\"),\n\t\t\t\t\t\tvalue: { type: \"string\", value: location }\n\t\t\t\t\t}\n\t\t\t  ]\n\t\t\t: []),\n\t\t...(email\n\t\t\t? [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: t(\"Email\"),\n\t\t\t\t\t\tvalue: { type: \"string\", value: email }\n\t\t\t\t\t}\n\t\t\t  ]\n\t\t\t: []),\n\t\t...(phone\n\t\t\t? [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: t(\"Phone\"),\n\t\t\t\t\t\tvalue: { type: \"string\", value: phone }\n\t\t\t\t\t}\n\t\t\t  ]\n\t\t\t: []),\n\t\t...(sharedFilesHtml\n\t\t\t? [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: t(\"Shared files\"),\n\t\t\t\t\t\tvalue: { type: \"html\", value: sharedFilesHtml }\n\t\t\t\t\t}\n\t\t\t  ]\n\t\t\t: [])\n\t];\n\n\treturn (\n\t\t<div className=\"people-card\">\n\t\t\t<div className=\"header-container\">\n\t\t\t\t<div className=\"image-container\">\n\t\t\t\t\t<now-avatar\n\t\t\t\t\t\timageSrc={get(propValues.model, \"columns.avatar\")}\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"title-container\">\n\t\t\t\t\t<span className=\"name\">\n\t\t\t\t\t\t<now-text-link\n\t\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\t\tlabel={get(propValues.model, \"columns.name\", t(\"Unknown\"))}\n\t\t\t\t\t\t\thref=\"javascript:void(0)\"\n\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\ttype: CLICK,\n\t\t\t\t\t\t\t\tactionPayload: action\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</span>\n\t\t\t\t\t{get(propValues.model, \"columns.department\", \"\") && (\n\t\t\t\t\t\t<span className=\"department\">\n\t\t\t\t\t\t\t{get(propValues.model, \"columns.department\")}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t\t<div className=\"info-container\">\n\t\t\t\t\t\t<now-label-value-tabbed items={items} size=\"sm\" />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nfunction renderKbCardBody(data, sourceType) {\n\tconst shortdesc = get(data, \"short_description\", t(\"Untitled document\"));\n\tconst citationAction = get(data, \"action\", \"\");\n\n\tlet externalDocumentIcon;\n\tlet externalDocumentType;\n\n\tif (sourceType === CITATION_TYPES.EXTERNAL_DOCUMENT) {\n\t\tconst icons = data?.icons ? JSON.parse(data.icons) : {};\n\t\texternalDocumentIcon = icons?.png || icons?.svg || \"\";\n\t\texternalDocumentType = get(data, \"type\", t(\"External document\"));\n\t}\n\n\treturn (\n\t\t<div className=\"kb-card\">\n\t\t\t{(sourceType === CITATION_TYPES.KB ||\n\t\t\t\tsourceType === CITATION_TYPES.ATTACHMENT) && (\n\t\t\t\t<div className=\"kb-card-container\">\n\t\t\t\t\t<div className=\"header\">\n\t\t\t\t\t\t<now-icon icon=\"document-outline\" size=\"sm\" ariaHidden=\"true\" />\n\t\t\t\t\t\t<span>{t(\"KB article\")}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<now-text-link\n\t\t\t\t\t\tclassName=\"hand_over_to_va\"\n\t\t\t\t\t\tlabel={shortdesc}\n\t\t\t\t\t\thref=\"javascript:void(0)\"\n\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\ttype: CLICK,\n\t\t\t\t\t\t\tactionPayload: citationAction\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{sourceType === CITATION_TYPES.EXTERNAL_DOCUMENT && (\n\t\t\t\t<div className=\"kb-card-container\">\n\t\t\t\t\t<div className=\"header\">\n\t\t\t\t\t\t{externalDocumentIcon ? (\n\t\t\t\t\t\t\t<now-image src={externalDocumentIcon} fit=\"cover\" />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<now-icon icon=\"document-outline\" size=\"sm\" ariaHidden=\"true\" />\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<span>{externalDocumentType}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<now-text-link\n\t\t\t\t\t\tclassName=\"hand_over_to_va\"\n\t\t\t\t\t\tlabel={shortdesc}\n\t\t\t\t\t\thref=\"javascript:void(0)\"\n\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\ttype: CLICK,\n\t\t\t\t\t\t\tactionPayload: citationAction\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nconst getDetails = ({ data, sourceType, conversational, canAskFollowUp }) => {\n\tif (\n\t\tsourceType === CITATION_TYPES.KB ||\n\t\tsourceType === CITATION_TYPES.EXTERNAL_DOCUMENT ||\n\t\tsourceType === CITATION_TYPES.ATTACHMENT\n\t) {\n\t\treturn renderKbCardBody(data, sourceType);\n\t}\n\n\tif (sourceType === CITATION_TYPES.CATALOG) {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t{renderCatalogCardBody(data.propValues, conversational, canAskFollowUp)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif (sourceType === CITATION_TYPES.KG) {\n\t\treturn <div>{renderKgCardBody(data.propValues)}</div>;\n\t}\n\n\tif (sourceType === CITATION_TYPES.PEOPLE) {\n\t\treturn <div>{renderPeopleCardBody(data.propValues)}</div>;\n\t}\n\n\treturn \"\";\n};\n\nconst citationPopoverContentConfig = {\n\tinitialState: {},\n\tproperties: {\n\t\tindex: {\n\t\t\tdefault: 0\n\t\t},\n\t\tdata: {\n\t\t\tdefault: {}\n\t\t},\n\t\tsourceType: {\n\t\t\tdefault: \"\"\n\t\t},\n\t\tconversational: {\n\t\t\tdefault: false\n\t\t},\n\t\tcanAskFollowUp: {\n\t\t\tdefault: true\n\t\t}\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview(state) {\n\t\t\tconst {\n\t\t\t\tproperties: { data, index, sourceType, conversational, canAskFollowUp }\n\t\t\t} = state;\n\t\t\tif (!isEmpty(data)) {\n\t\t\t\tconst descDetails = getDetails({\n\t\t\t\t\tdata,\n\t\t\t\t\tindex,\n\t\t\t\t\tsourceType,\n\t\t\t\t\tconversational,\n\t\t\t\t\tcanAskFollowUp\n\t\t\t\t});\n\t\t\t\treturn (\n\t\t\t\t\t<div className=\"popover\">\n\t\t\t\t\t\t<now-card className=\"card\" size=\"lg\" interaction=\"none\" hideShadow>\n\t\t\t\t\t\t\t<div className=\"popover-content-main\">\n\t\t\t\t\t\t\t\t<span>{descDetails}</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</now-card>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t},\n\tstyles,\n\tactionHandlers: {}\n};\n\ncreateCustomElement(\n\t\"sn-search-citation-popover-content\",\n\tcitationPopoverContentConfig\n);\nexport { citationPopoverContentConfig };\n","import { createCustomElement } from \"@servicenow/ui-core\";\nimport snabbdom from \"@servicenow/ui-renderer-snabbdom\";\n//import CitationPopover from './sn-search-citation-popover';\nimport \"./sn-search-citation-popover-content\";\nimport \"@servicenow/now-text-link\";\nimport \"@servicenow/now-badge\";\nimport \"@servicenow/now-popover\";\nimport \"@servicenow/now-card\";\nimport styles from \"../../scss/index.scss\";\nimport { get, isEmpty } from \"lodash\";\nimport { t } from \"sn-translate\";\nimport {\n\tCITATION_CLICK,\n\tCITATION_TYPES,\n\tCITATION_POPOVER_CLICKED,\n\tCATALOG_CLICK,\n\tCLICK\n} from \"../../constants\";\n\nconst citationPopoverConfig = {\n\tinitialState: {\n\t\tpopoverOpened: false\n\t},\n\tproperties: {\n\t\tindex: {\n\t\t\tdefault: 0\n\t\t},\n\t\tsourceType: {\n\t\t\tdefault: \"\"\n\t\t},\n\t\tdata: {\n\t\t\tdefault: {}\n\t\t},\n\t\tconversational: {\n\t\t\tdefault: false\n\t\t},\n\t\tcanAskFollowUp: {\n\t\t\tdefault: true\n\t\t}\n\t},\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview(state) {\n\t\t\tconst {\n\t\t\t\tproperties: { index, data, sourceType, conversational, canAskFollowUp },\n\t\t\t\tpopoverOpened\n\t\t\t} = state;\n\t\t\tconst itemSysId = get(data.propValues, 'model[\"columns.sys_id\"]', \"\");\n\t\t\tconst action = !isEmpty(data.propValues)\n\t\t\t\t? data.propValues.actions.at(0)\n\t\t\t\t: \"\";\n\n\t\t\tlet element;\n\t\t\tif (\n\t\t\t\tsourceType === CITATION_TYPES.KB ||\n\t\t\t\tsourceType === CITATION_TYPES.EXTERNAL_DOCUMENT ||\n\t\t\t\tsourceType === CITATION_TYPES.ATTACHMENT\n\t\t\t) {\n\t\t\t\telement = (\n\t\t\t\t\t<now-popover\n\t\t\t\t\t\tinteractionType=\"dialog\"\n\t\t\t\t\t\tfocusPanel\n\t\t\t\t\t\tclassName=\"citation-popover\"\n\t\t\t\t\t\tappend-to-payload={{ actionId: CITATION_POPOVER_CLICKED }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tclassName=\"kb-trigger\"\n\t\t\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\t\t\taria-label={t(`show details for KB citation {0}`, index)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<now-badge\n\t\t\t\t\t\t\t\tvalue={index}\n\t\t\t\t\t\t\t\tcolor=\"gray\"\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\tround\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t<sn-search-citation-popover-content\n\t\t\t\t\t\t\tslot=\"content\"\n\t\t\t\t\t\t\tdata={data}\n\t\t\t\t\t\t\tconversational={conversational}\n\t\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\t\tsourceType={sourceType}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</now-popover>\n\t\t\t\t);\n\t\t\t} else if (sourceType === CITATION_TYPES.CATALOG) {\n\t\t\t\tconst catalogLabel = get(data.propValues, 'model[\"columns.name\"]', \"\");\n\t\t\t\telement = conversational ? (\n\t\t\t\t\t<now-popover\n\t\t\t\t\t\topened={popoverOpened}\n\t\t\t\t\t\tinteractionType=\"dialog\"\n\t\t\t\t\t\tfocusPanel\n\t\t\t\t\t\tclassName=\"citation-popover\"\n\t\t\t\t\t\tappend-to-payload={{ actionId: CITATION_POPOVER_CLICKED }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<now-text-link\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\t\t\tappend-to-payload={{ data, type: CITATION_CLICK }}\n\t\t\t\t\t\t\ticon-start=\"pencil-page-outline\"\n\t\t\t\t\t\t\tlabel={t(catalogLabel)}\n\t\t\t\t\t\t\thref=\"javascript:void(0);\"\n\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\t\"aria-label\": t(\n\t\t\t\t\t\t\t\t\t`show details for catalog citation {0}`,\n\t\t\t\t\t\t\t\t\tt(catalogLabel)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<sn-search-citation-popover-content\n\t\t\t\t\t\t\tslot=\"content\"\n\t\t\t\t\t\t\tdata={data}\n\t\t\t\t\t\t\tconversational={conversational}\n\t\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\t\tsourceType={sourceType}\n\t\t\t\t\t\t\tcanAskFollowUp={canAskFollowUp}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</now-popover>\n\t\t\t\t) : (\n\t\t\t\t\t<now-text-link\n\t\t\t\t\t\tclassName=\"open_catalog\"\n\t\t\t\t\t\tlabel={t(catalogLabel)}\n\t\t\t\t\t\thref=\"javascript:void(0)\"\n\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\ttype: CLICK,\n\t\t\t\t\t\t\tactionPayload: action\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\ticon-start=\"pencil-page-outline\"\n\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\"aria-label\": t(`open catalog citation {0}`, t(catalogLabel))\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} else if (sourceType === CITATION_TYPES.PEOPLE) {\n\t\t\t\telement = (\n\t\t\t\t\t<now-popover\n\t\t\t\t\t\tinteractionType=\"dialog\"\n\t\t\t\t\t\tfocusPanel\n\t\t\t\t\t\tclassName=\"citation-popover\"\n\t\t\t\t\t\tappend-to-payload={{ actionId: CITATION_POPOVER_CLICKED }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<now-text-link\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\t\t\ticon-start=\"user-outline\"\n\t\t\t\t\t\t\tappend-to-payload={{ data, type: CITATION_CLICK }}\n\t\t\t\t\t\t\tlabel={get(data.propValues, 'model[\"columns.name\"]', \"\")}\n\t\t\t\t\t\t\thref=\"javascript:void(0);\"\n\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\t\"aria-label\": t(\n\t\t\t\t\t\t\t\t\t`show details for people citation {0}`,\n\t\t\t\t\t\t\t\t\tget(data.propValues, 'model[\"columns.name\"]', \"\")\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<sn-search-citation-popover-content\n\t\t\t\t\t\t\tslot=\"content\"\n\t\t\t\t\t\t\tdata={data}\n\t\t\t\t\t\t\tconversational={conversational}\n\t\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\t\tsourceType={sourceType}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</now-popover>\n\t\t\t\t);\n\t\t\t} else if (sourceType === CITATION_TYPES.SKILL) {\n\t\t\t\tconst skillLabel = get(\n\t\t\t\t\tdata.propValues,\n\t\t\t\t\t'model[\"columns.skill_name\"]',\n\t\t\t\t\t\"\"\n\t\t\t\t);\n\t\t\t\telement = (\n\t\t\t\t\t<now-text-link\n\t\t\t\t\t\tclassName=\"hand_over_to_va\"\n\t\t\t\t\t\tlabel={t(skillLabel)}\n\t\t\t\t\t\thref=\"javascript:void(0)\"\n\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\ttype: CATALOG_CLICK,\n\t\t\t\t\t\t\taction: action,\n\t\t\t\t\t\t\tclickedData: data.propValues,\n\t\t\t\t\t\t\tclickedItemSysId: itemSysId\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\ticon-start=\"chat-outline\"\n\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\"aria-label\": t(`open skill citation {0}`, t(skillLabel))\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} else if (sourceType === CITATION_TYPES.AGENT) {\n\t\t\t\tconst agentInfoJSON = get(\n\t\t\t\t\tdata.propValues,\n\t\t\t\t\t'model[\"columns.agent_info\"]',\n\t\t\t\t\t\"\"\n\t\t\t\t);\n\t\t\t\tconst agentName = JSON.parse(agentInfoJSON)?.name ?? \"\";\n\t\t\t\telement = (\n\t\t\t\t\t<now-text-link\n\t\t\t\t\t\tclassName=\"hand_over_to_va\"\n\t\t\t\t\t\tlabel={t(agentName)}\n\t\t\t\t\t\thref=\"javascript:void(0)\"\n\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\ttype: CATALOG_CLICK,\n\t\t\t\t\t\t\taction: action,\n\t\t\t\t\t\t\tclickedData: data.propValues,\n\t\t\t\t\t\t\tclickedItemSysId: itemSysId\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\ticon-start=\"chat-outline\"\n\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\"aria-label\": t(`open skill citation {0}`, t(agentName))\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} else if (sourceType === CITATION_TYPES.KG) {\n\t\t\t\telement = (\n\t\t\t\t\t<now-popover\n\t\t\t\t\t\tinteractionType=\"dialog\"\n\t\t\t\t\t\tfocusPanel\n\t\t\t\t\t\tclassName=\"citation-popover\"\n\t\t\t\t\t\tappend-to-payload={{ actionId: CITATION_POPOVER_CLICKED }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<now-text-link\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\t\t\ticon-start=\"table-outline\"\n\t\t\t\t\t\t\tappend-to-payload={{ data, type: CITATION_CLICK }}\n\t\t\t\t\t\t\tlabel={get(data.propValues, 'model[\"columns.display_value\"]', \"\")}\n\t\t\t\t\t\t\thref=\"javascript:void(0);\"\n\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\t\"aria-label\": t(\n\t\t\t\t\t\t\t\t\t`show details for kg citation {0}`,\n\t\t\t\t\t\t\t\t\tget(data.propValues, 'model[\"columns.display_value\"]', \"\")\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<sn-search-citation-popover-content\n\t\t\t\t\t\t\tslot=\"content\"\n\t\t\t\t\t\t\tdata={data}\n\t\t\t\t\t\t\tconversational={conversational}\n\t\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\t\tsourceType={sourceType}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</now-popover>\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// Fallback or other source types\n\t\t\t\telement = (\n\t\t\t\t\t<now-popover\n\t\t\t\t\t\tinteractionType=\"dialog\"\n\t\t\t\t\t\tfocusPanel\n\t\t\t\t\t\tclassName=\"citation-popover\"\n\t\t\t\t\t\tappend-to-payload={{ actionId: CITATION_POPOVER_CLICKED }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<now-text-link\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\t\t\tappend-to-payload={{ data, type: CITATION_CLICK }}\n\t\t\t\t\t\t\ticon-start=\"pencil-page-outline\"\n\t\t\t\t\t\t\tlabel={t(get(data.propValues, 'model[\"columns.name\"]', \"\"))}\n\t\t\t\t\t\t\thref=\"javascript:void(0);\"\n\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\t\"aria-label\": t(\n\t\t\t\t\t\t\t\t\t`show details for citation {0}`,\n\t\t\t\t\t\t\t\t\tt(get(data.propValues, 'model[\"columns.name\"]', \"\"))\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<sn-search-citation-popover-content\n\t\t\t\t\t\t\tslot=\"content\"\n\t\t\t\t\t\t\tdata={data}\n\t\t\t\t\t\t\tconversational={conversational}\n\t\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\t\tsourceType={sourceType}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</now-popover>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn element;\n\t\t}\n\t},\n\tstyles,\n\tactionHandlers: {\n\t\t[\"NOW_POPOVER#OPENED_SET\"]() {},\n\t\t[\"NOW_TEXT_LINK#CLICKED\"]({\n\t\t\tupdateState,\n\t\t\taction: {\n\t\t\t\tpayload: { type }\n\t\t\t}\n\t\t}) {\n\t\t\tif (type === CITATION_CLICK) {\n\t\t\t\tupdateState({\n\t\t\t\t\tpopoverOpened: true\n\t\t\t\t});\n\t\t\t} else if (type === CATALOG_CLICK) {\n\t\t\t\tupdateState({\n\t\t\t\t\tpopoverOpened: false\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n};\n\n/**\n * A component that is used for popover content.\n *\n * ```\n * <citaton popover/>\n * ```\n *\n * @seismicElement citaton popover\n * @summary A component that is used for card popover content.\n */\ncreateCustomElement(\"citation-popover\", citationPopoverConfig);\nexport { citationPopoverConfig };\n","import DOMPurify from \"dompurify\";\nimport { dangerouslyCreateElementFromString } from \"@servicenow/ui-renderer-snabbdom\";\nimport { marked } from \"marked\";\nimport { t } from \"sn-translate\";\n\nimport \"@servicenow/now-button\";\nimport \"@servicenow/now-icon\";\nimport \"@servicenow/now-text-link\";\nimport \"@servicenow/now-badge\";\nimport \"@servicenow/now-popover\";\nimport \"../popover/citation-popover\";\n\nimport { ASK_A_FOLLOW_UP, ASK_A_FOLLOW_UP_LABEL } from \"../../constants\";\nimport {\n\treplaceCitationsWithTemporaryPlaceHolders,\n\tlooksLikeListStart,\n\tstripListMarker,\n\tcountLeadingSpaces,\n\tescapeHtml\n} from \"./utils\";\n\nconst view = ({ streamingData, canAskFollowUp, isGlobal }) => {\n\tconst {\n\t\tstreamingText,\n\t\tallChunksProcessed,\n\t\texpanded,\n\t\tstreamingProcessor,\n\t\tdidExceedLineLimit = false,\n\t\tcitationsFromStreaming,\n\t\tactionsFromFinalResponse,\n\t\tkgListCitations\n\t} = streamingData;\n\n\tconst updateElm = elm => {\n\t\tstreamingProcessor?.updateElement(elm);\n\t};\n\n\tlet basicHtml;\n\n\t// When streaming is complete, parse all text as markdown to ensure\n\t// links and other markdown that completed without trailing newlines are properly rendered\n\tif (allChunksProcessed) {\n\t\tbasicHtml = marked.parse(streamingText, {\n\t\t\tgfm: true,\n\t\t\tpedantic: false,\n\t\t\theaderIds: false\n\t\t});\n\t} else {\n\t\t// During streaming, split into prefix and tail to avoid flicker\n\t\tconst lastNewLineIndex = streamingText.lastIndexOf(\"\\n\");\n\t\tconst prefix =\n\t\t\tlastNewLineIndex >= 0 ? streamingText.slice(0, lastNewLineIndex + 1) : \"\";\n\t\tconst tail =\n\t\t\tlastNewLineIndex >= 0\n\t\t\t\t? streamingText.slice(lastNewLineIndex + 1)\n\t\t\t\t: streamingText;\n\n\t\tbasicHtml = marked.parse(prefix, {\n\t\t\tgfm: true,\n\t\t\tpedantic: false,\n\t\t\theaderIds: false\n\t\t});\n\n\t\t/*\n\t\t * Ghost bullet rendering\n\t\t * ----------------------\n\t\t * DEF0728473\n\t\t * While streaming, the last \"tail\" line may begin with a list marker (\"- \", \"* \", \"1. \", etc.)\n\t\t * but not yet be complete. If we pass it to `marked` directly, it flickers (re-parsed on each token).\n\t\t *\n\t\t * To avoid this, we detect list starts via `looksLikeListStart(tail)`.\n\t\t * - We strip the marker off (`stripListMarker`) and escape the partial text.\n\t\t * - We count leading spaces (`countLeadingSpaces`) to determine nesting level.\n\t\t * - Nesting level is calculated by spaces / 2 (so \"  - \" = level-1).\n\t\t * - Instead of passing to Markdown, we wrap it in a temporary `<ul class=\"ghost-ul level-N\">`\n\t\t *   with a `<li>` and placeholder dot/text span.\n\t\t *\n\t\t * This makes bullets render smoothly during typing, without flicker, until the\n\t\t * full line is complete and re-parsed normally by `marked`.\n\t\t */\n\t\tif (looksLikeListStart(tail)) {\n\t\t\t/*\n\t\t\t * Split streaming  into:\n\t\t\t *   - prefix: all complete lines up to the last newline (\"\\n\").\n\t\t\t *              -> safe to pass into marked, no flicker because Markdown has full context.\n\t\t\t *   - tail:   the current line being typed (incomplete).\n\t\t\t *              -> handled manually: if it looks like a list start we render a \"ghost\" bullet,\n\t\t\t *                 otherwise, we escape+render as plain text.\n\t\t\t * This prevents Markdown from re-parsing partial list lines on every tick, which causes flicker.\n\t\t\t */\n\t\t\tconst ghostText = escapeHtml(stripListMarker(tail));\n\t\t\tconst spaces = countLeadingSpaces(tail);\n\t\t\tconst nestingLevel = Math.floor(spaces / 2); // 2 spaces = 1 level\n\t\t\tbasicHtml += `\n\t\t\t\t<ul class=\"ghost-ul level-${nestingLevel}\">\n\t\t\t\t\t<li class=\"ghost-li\">\n\t\t\t\t\t\t<span class=\"ghost-dot\">•</span>\n\t\t\t\t\t\t<span class=\"ghost-text\">${ghostText}</span>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t`;\n\t\t} else if (tail) {\n\t\t\tbasicHtml += escapeHtml(tail);\n\t\t}\n\t}\n\n\tconst purifyConfig = {\n\t\tADD_TAGS: [\"now-badge\", \"now-avatar\"],\n\t\tADD_ATTR: [\n\t\t\t\"image-src\",\n\t\t\t\"user-name\",\n\t\t\t\"value\",\n\t\t\t\"color\",\n\t\t\t\"variant\",\n\t\t\t\"size\",\n\t\t\t\"round\",\n\t\t\t\"tabindex\"\n\t\t]\n\t};\n\tlet sanitizedHtml = DOMPurify.sanitize(basicHtml, purifyConfig);\n\tlet parsedHtml = replaceCitationsWithTemporaryPlaceHolders(\n\t\tsanitizedHtml,\n\t\tcitationsFromStreaming\n\t); // kb to become <now-badge> and catalog to become <span>\n\n\tconst canShowMore = didExceedLineLimit && !expanded;\n\tlet toggleButton = null;\n\tif (canShowMore) {\n\t\ttoggleButton = (\n\t\t\t<now-button-bare\n\t\t\t\tclassName=\"show-more\"\n\t\t\t\tappend-to-payload={{ actionId: \"SHOW_MORE_CLICKED\" }}\n\t\t\t\tlabel={t(\"Show full answer\")}\n\t\t\t\ticon-end=\"chevron-down-fill\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\tsize=\"sm\"\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst globalAskForFollowUpButton = allChunksProcessed &&\n\t\tcanAskFollowUp &&\n\t\tisGlobal && (\n\t\t\t<now-button\n\t\t\t\tclassName=\"hand_over_to_va\"\n\t\t\t\tappend-to-payload={{\n\t\t\t\t\ttype: ASK_A_FOLLOW_UP\n\t\t\t\t}}\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\ttooltipContent={ASK_A_FOLLOW_UP_LABEL}\n\t\t\t>\n\t\t\t\t<div className=\"follow-up-btn-content\">\n\t\t\t\t\t<now-icon icon=\"ai-sparkle-outline\" size=\"md\" />\n\t\t\t\t\t<span>{ASK_A_FOLLOW_UP_LABEL}</span>\n\t\t\t\t</div>\n\t\t\t</now-button>\n\t\t);\n\n\tconst askForFollowUpButton = allChunksProcessed &&\n\t\tcanAskFollowUp &&\n\t\t!isGlobal && (\n\t\t\t<now-text-link\n\t\t\t\tclassName=\"hand_over_to_va\"\n\t\t\t\tlabel={ASK_A_FOLLOW_UP_LABEL}\n\t\t\t\thref=\"javascript:void(0)\"\n\t\t\t\tappend-to-payload={{\n\t\t\t\t\ttype: ASK_A_FOLLOW_UP\n\t\t\t\t}}\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\ticon-start=\"chat-outline\"\n\t\t\t/>\n\t\t);\n\n\treturn (\n\t\t<div className=\"streaming-text-and-action-wrapper\">\n\t\t\t<div className=\"streaming-text-wrapper\" style={{ margin: \"0 auto\" }}>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"streaming-text-container\"\n\t\t\t\t\thook-insert={({ elm }) => updateElm(elm)}\n\t\t\t\t\thook-update={({ elm }) => updateElm(elm)}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tfontSize: \"15px\",\n\t\t\t\t\t\t...(expanded\n\t\t\t\t\t\t\t? {}\n\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\tdisplay: \"-webkit-box\",\n\t\t\t\t\t\t\t\t\tWebkitBoxOrient: \"vertical\",\n\t\t\t\t\t\t\t\t\tWebkitBoxPack: \"start\",\n\t\t\t\t\t\t\t\t\tWebkitBoxAlign: \"stretch\",\n\t\t\t\t\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\t\t\t\t\ttextOverflow: \"ellipsis\",\n\t\t\t\t\t\t\t\t\tWebkitLineClamp: 6,\n\t\t\t\t\t\t\t\t\tlineClamp: 6\n\t\t\t\t\t\t\t  })\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{dangerouslyCreateElementFromString(\n\t\t\t\t\t\t`<div class=\"streaming-text\">${parsedHtml}</div>`\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t\"buttons-container\": true,\n\t\t\t\t\t\t\"-global\": isGlobal\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{toggleButton}\n\t\t\t\t\t{globalAskForFollowUpButton}\n\t\t\t\t\t{kgListCitations?.length > 0 &&\n\t\t\t\t\t\tallChunksProcessed &&\n\t\t\t\t\t\tactionsFromFinalResponse?.length > 0 && (\n\t\t\t\t\t\t\t<view-records-popover\n\t\t\t\t\t\t\t\tkgListCitations={kgListCitations}\n\t\t\t\t\t\t\t\tactions={actionsFromFinalResponse}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div>{askForFollowUpButton}</div>\n\t\t</div>\n\t);\n};\n\nexport default view;\n","import CardHeader from \"./sections/heading\";\nimport CardBody from \"./sections/body\";\nimport CardFooter from \"./sections/footer\";\nimport { MAX_DESKTOP_ACTIONS } from \"./constants\";\nimport { get, isEmpty, isEqual } from \"lodash\";\nimport Streaming from \"./common/streaming/view\";\nimport { isSynthesized } from \"./common/streaming/utils\";\n\nconst view = (state, { updateState }) => {\n\tconst {\n\t\tproperties: {\n\t\t\tactions,\n\t\t\tidentifier,\n\t\t\tidentifierCriticalText,\n\t\t\theading,\n\t\t\tmarker,\n\t\t\tlabelValuesInfo,\n\t\t\tdescription,\n\t\t\tallowFeedback,\n\t\t\tfeedbackOptions,\n\t\t\tidentifierFontSize,\n\t\t\theadingFontSize,\n\t\t\tenableDataLabelingFeedback,\n\t\t\tisGlobal,\n\t\t\thighlightedText,\n\t\t\thighlightedTextIcon,\n\t\t\tshowHeaderTooltip,\n\t\t\tidentifierAtBottom,\n\t\t\tshowAboutInfo,\n\t\t\tdocumentationUrl,\n\t\t\tgrType,\n\t\t\tshowActionAsLink,\n\t\t\tsource,\n\t\t\tfollowUpAction,\n\t\t\tcitations,\n\t\t\tmodel,\n\t\t\tisOneBox = false,\n\t\t\tmessages,\n\t\t\tcanAskFollowUp\n\t\t},\n\t\tbehaviors: { mediaQuery, streaming },\n\t\tfeedbackValue,\n\t\topenFeedbackDialog,\n\t\tfeedbackReason,\n\t\tfeedbackOther,\n\t\ttoolTipRef,\n\t\tshouldTruncate,\n\t\tdescriptionCollapsed,\n\t\ttableMatches,\n\t\tactiveTable,\n\t\tnlqTableDefinitionsLoading,\n\t\tselectedTables,\n\t\terror,\n\t\ttextRef,\n\t\tsynthesizedMarkdownText,\n\t\tcitationsFromSynthesizedResponse,\n\t\tkgListCitations,\n\t\tsynthesizedGeniusResultCanExpand,\n\t\tsynthesizedGeniusResultExpanded\n\t} = state;\n\tconst isMobile = mediaQuery.mobileQuery;\n\tconst multiTable = get(model, \"columns.multiTable\", \"false\") === \"true\";\n\tconst isExternalSourceType = isEqual(\n\t\tget(model, \"columns.source_type\", \"\"),\n\t\t\"external\"\n\t);\n\tconst isSynthesizedAndNotStreaming =\n\t\tisSynthesized(grType) && !isEmpty(citations) && isEmpty(messages);\n\tconst isSynthesizedAndStreaming = isSynthesized(grType) && !isEmpty(messages);\n\tconst { allChunksProcessed = false } = streaming || {};\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t\"genius-card-container\": true,\n\t\t\t\t\"-onebox\": isOneBox,\n\t\t\t\t\"-global\": isGlobal,\n\t\t\t\t\"-sythesized\": isSynthesized(grType)\n\t\t\t}}\n\t\t>\n\t\t\t<CardHeader\n\t\t\t\thighlightedText={highlightedText}\n\t\t\t\thighlightedTextIcon={highlightedTextIcon}\n\t\t\t\tshowHeaderTooltip={showHeaderTooltip}\n\t\t\t\tupdateState={updateState}\n\t\t\t\ttoolTipRef={toolTipRef}\n\t\t\t\tshowAboutInfo={showAboutInfo}\n\t\t\t\tdocumentationUrl={documentationUrl}\n\t\t\t\tgrType={grType}\n\t\t\t/>\n\t\t\t{isSynthesizedAndStreaming ? (\n\t\t\t\t<Streaming\n\t\t\t\t\tstreamingData={streaming}\n\t\t\t\t\tupdateState={updateState}\n\t\t\t\t\tcanAskFollowUp={canAskFollowUp}\n\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<CardBody\n\t\t\t\t\tidentifier={identifier}\n\t\t\t\t\tidentifierCriticalText={identifierCriticalText}\n\t\t\t\t\theading={heading}\n\t\t\t\t\tmarker={marker}\n\t\t\t\t\tlabelValuesInfo={labelValuesInfo}\n\t\t\t\t\tdescription={description}\n\t\t\t\t\tidentifierFontSize={identifierFontSize}\n\t\t\t\t\theadingFontSize={headingFontSize}\n\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\tidentifierAtBottom={identifierAtBottom}\n\t\t\t\t\tshouldTruncate={shouldTruncate}\n\t\t\t\t\tdescriptionCollapsed={descriptionCollapsed}\n\t\t\t\t\tupdateState={updateState}\n\t\t\t\t\tgrType={grType}\n\t\t\t\t\ttableMatches={tableMatches}\n\t\t\t\t\tactiveTable={activeTable}\n\t\t\t\t\tshowActionAsLink={showActionAsLink}\n\t\t\t\t\tnlqTableDefinitionsLoading={nlqTableDefinitionsLoading}\n\t\t\t\t\tisExternalSourceType={isExternalSourceType}\n\t\t\t\t\tmodel={model}\n\t\t\t\t\tmultiTable={multiTable}\n\t\t\t\t\tselectedTables={selectedTables}\n\t\t\t\t\terror={error}\n\t\t\t\t\tisSynthesizedAndNotStreaming={isSynthesizedAndNotStreaming}\n\t\t\t\t\tcitationsFromSynthesizedResponse={citationsFromSynthesizedResponse}\n\t\t\t\t\tkgListCitations={kgListCitations}\n\t\t\t\t\tactions={actions}\n\t\t\t\t\tsynthesizedMarkdownText={synthesizedMarkdownText}\n\t\t\t\t\tsynthesizedGeniusResultCanExpand={synthesizedGeniusResultCanExpand}\n\t\t\t\t\tsynthesizedGeniusResultExpanded={synthesizedGeniusResultExpanded}\n\t\t\t\t\ttextRef={textRef}\n\t\t\t\t\tcanAskFollowUp={canAskFollowUp}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<CardFooter\n\t\t\t\theading={heading}\n\t\t\t\toverflowLimit={\n\t\t\t\t\tisGlobal ? MAX_DESKTOP_ACTIONS.GLOBAL : MAX_DESKTOP_ACTIONS.DEFAULT\n\t\t\t\t}\n\t\t\t\tactions={actions}\n\t\t\t\tallowDropdown={!isMobile}\n\t\t\t\tallowFeedback={allowFeedback}\n\t\t\t\tvalue={feedbackValue}\n\t\t\t\tfeedbackOptions={feedbackOptions}\n\t\t\t\topenFeedbackDialog={openFeedbackDialog}\n\t\t\t\tfeedbackReason={feedbackReason}\n\t\t\t\tfeedbackOther={feedbackOther}\n\t\t\t\tenableDataLabelingFeedback={enableDataLabelingFeedback}\n\t\t\t\tisGlobal={isGlobal}\n\t\t\t\tidentifier={identifier}\n\t\t\t\tidentifierCriticalText={identifierCriticalText}\n\t\t\t\tidentifierFontSize={identifierFontSize}\n\t\t\t\tidentifierAtBottom={identifierAtBottom}\n\t\t\t\tshowActionAsLink={showActionAsLink}\n\t\t\t\tsource={source}\n\t\t\t\tfollowUpAction={followUpAction}\n\t\t\t\tcitations={citations}\n\t\t\t\tmodel={model}\n\t\t\t\tisSynthesizedAndNotStreaming={isSynthesizedAndNotStreaming}\n\t\t\t\tisSynthesizedAndStreaming={isSynthesizedAndStreaming}\n\t\t\t\tallChunksProcessed={allChunksProcessed}\n\t\t\t\tcanAskFollowUp={canAskFollowUp}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nexport default view;\n","import { find, isEmpty, get, isEqual } from \"lodash\";\nimport { createGraphQLEffect } from \"@servicenow/ui-effect-graphql\";\nimport { createHttpEffect } from \"@servicenow/ui-effect-http\";\nimport {\n\tDECLARATIVE_ACTION,\n\tHELPFUL_FEEDBACK_START,\n\tUNHELPFUL_FEEDBACK_START,\n\tNLQ_TABLE_SWITCHED,\n\tNLQ_VIEW_FULL_TABLE_CLICKED,\n\tRECORD_LIST_DATA_FETCH_STARTED,\n\tRECORD_LIST_DATA_FETCH_COMPLETED,\n\tRECORD_LIST_DATA_FETCH_FAILED,\n\tFETCH_LIST_DATA,\n\tMULTITABLE_NLQ_REQUEST_STARTED,\n\tMULTITABLE_NLQ_REQUEST_SUCCESS,\n\tMULTITABLE_NLQ_REQUEST_ERROR,\n\tMULTITABLE_NLQ_REQUEST,\n\tQUERY_BUILDER_REQUEST,\n\tQUERY_BUILDER_REQUEST_STARTED,\n\tQUERY_BUILDER_REQUEST_SUCCESS,\n\tQUERY_BUILDER_REQUEST_ERROR,\n\tQUERY_BUILDER_POLL,\n\tQUERY_BUILDER_POLL_STARTED,\n\tQUERY_BUILDER_POLL_SUCCESS,\n\tQUERY_BUILDER_POLL_ERROR,\n\tGENIUS_RESULT_CHAT_TRIGGERED,\n\tASK_A_FOLLOW_UP_CLIKED,\n\tSHOW_FULL_ANSWER_CLICKED,\n\tFETCH_NLQ_NAVIGATION_CONFIG,\n\tKG_VIEW_RECORDS\n} from \"./actions\";\nimport {\n\tPOSITIVE_FEEDBACK_VALUE,\n\tNEGATIVE_FEEDBACK_VALUE,\n\tABOUT_POPOVER,\n\tGR_TYPES,\n\tOTHER_FEEDBACK,\n\tTRUNCATION_LIMIT,\n\tDESCRIPTION_STATES,\n\tCITATION_ACTION,\n\tNLQ_MULTITABLE_DROPDOWN,\n\tNLQ_HIGHLIGHTED_TEXT,\n\tDESCRIPTION_COLLAPSED_STATE_TOGGLED,\n\tSYNTHESIZED_GENIUS_RESULT_EXPANDED,\n\tASK_A_FOLLOW_UP,\n\tCITATION_CLICK,\n\tCATALOG_CLICK,\n\tCLICK,\n\tKG_GENERIC_VIEW_RECORD_ACTION_CLICK,\n\tCITATION_POPOVER_CLICKED,\n\tVIEW_RECORDS_CLICKED\n} from \"./constants\";\nimport {\n\tformatSelectedTables,\n\tformatUtterance,\n\tgetNavigationConfig,\n\thandleFeedback,\n\ttransformJSONToTableDefinitions\n} from \"./utils\";\nimport { parseInlineReferences } from \"./common/streaming/utils\";\n\nconst getElementHeight = element => {\n\tconst originalParent = element?.parentElement;\n\tif (!element || !originalParent) {\n\t\treturn 0;\n\t}\n\tconst hiddenDivContainer = document.createElement(\"div\");\n\thiddenDivContainer.className = \"hidden-container\"; // Add class name to the container\n\thiddenDivContainer.style.overflow = \"visible\"; // Ensure overflow is not hidden or affecting the height calculation\n\thiddenDivContainer.style.position = \"absolute\"; // Ensure the container doesn't affect the layout\n\tconst styleElement = document.createElement(\"style\");\n\t// match with parent styles from description.scss -> .genius-card__description-container to obtain correct height\n\tstyleElement.textContent = `\n        .hidden-container pre {\n            white-space: pre-wrap;\n        }\n\n        .hidden-container table {\n            display: flex;\n            flex-direction: column;\n            flex-wrap: nowrap;\n            flex-grow: 1;\n            flex-shrink: 1;\n        }\n\n        .hidden-container table p {\n            margin: 0;\n        }\n\n        .hidden-container tr {\n            width: 100%;\n            display: flex;\n            flex-direction: row;\n            flex-wrap: nowrap;\n        }\n\n        .hidden-container td {\n            display: flex;\n            flex-flow: row wrap;\n            flex-grow: 1;\n            flex-basis: 0;\n        }\n\n        .hidden-container ol {\n            margin: 0;\n        }\n\n        .hidden-container p {\n            margin: 0;\n        }\n    `;\n\n\t// Append the style element to the document head\n\tdocument.head.appendChild(styleElement);\n\thiddenDivContainer.style.width = `${originalParent.offsetWidth}px`; // Match the width of the original parent\n\thiddenDivContainer.style.fontSize = getComputedStyle(originalParent).fontSize;\n\thiddenDivContainer.style.wordSpacing = window.getComputedStyle(\n\t\toriginalParent\n\t).wordSpacing; // Set word spacing to match parent\n\thiddenDivContainer.style.lineHeight = window.getComputedStyle(\n\t\toriginalParent\n\t).lineHeight; // Set line height to match parent\n\n\t// Copy the element and append the copy to the hidden div container\n\tconst elementCopy = element.cloneNode(true); // true to clone all child nodes as well\n\thiddenDivContainer.appendChild(elementCopy);\n\tdocument.body.appendChild(hiddenDivContainer);\n\n\tconst height = hiddenDivContainer.offsetHeight;\n\n\t// clean up\n\tdocument.body.removeChild(hiddenDivContainer);\n\tdocument.head.removeChild(styleElement);\n\n\treturn height;\n};\n\nconst handleTruncation = (host, updateState, heightLimit) => {\n\tconst ref = host.shadowRoot.querySelector(\".collapsible__description-text\");\n\tif (ref && !ref.classList.contains(\"-mini\")) {\n\t\tconst maxHeight = getElementHeight(ref);\n\t\tupdateState({\n\t\t\tshouldTruncate: maxHeight > heightLimit,\n\t\t\tdescriptionCollapsed: maxHeight > heightLimit\n\t\t});\n\t} else {\n\t\tupdateState({\n\t\t\tshouldTruncate: false,\n\t\t\tdescriptionCollapsed: false\n\t\t});\n\t}\n};\n\nconst debounceAndWait = (func, delay) => {\n\tlet timeoutId;\n\treturn (...args) => {\n\t\tconst context = this;\n\t\tclearTimeout(timeoutId);\n\t\ttimeoutId = setTimeout(() => {\n\t\t\tfunc.apply(context, args);\n\t\t}, delay);\n\t};\n};\n\nconst debouncedHandleTruncation = debounceAndWait(handleTruncation, 0);\n\nconst handleResizeForTruncation = (host, updateState) => {\n\t// removed any existing event listener for a new one\n\t// debouncing for performance as multiple events may be fired if user shrinks the screen gradually\n\twindow.removeEventListener(\"resize\", () => {\n\t\tdebouncedHandleTruncation(host, updateState, TRUNCATION_LIMIT);\n\t});\n\twindow.addEventListener(\"resize\", () => {\n\t\tdebouncedHandleTruncation(host, updateState, TRUNCATION_LIMIT);\n\t});\n};\n\nconst queueUpdateTruncationVisibility = function() {\n\tlet timeoutId = null;\n\treturn function(...originalArgs) {\n\t\tif (timeoutId) {\n\t\t\twindow.cancelAnimationFrame(timeoutId);\n\t\t}\n\n\t\t/**\n\t\t * wait for content to actually be rendered before calculating heights\n\t\t * updateState before the actual painting happens so the show more won't appear flashy\n\t\t * and the text is truncated readily when switching between GRs in Carousel\n\t\t */\n\t\ttimeoutId = window.requestAnimationFrame(() => {\n\t\t\thandleTruncation(...originalArgs);\n\t\t});\n\t};\n};\n\nconst handleSynthesizedResponse = (properties, updateState) => {\n\tconst { model } = properties;\n\tconst markdown = get(model, \"columns.answer_markdown\");\n\tconst kgListCitations = get(model, \"columns.kg_list_citations\", \"[]\");\n\tconst { updatedText, foundCitations } = parseInlineReferences(markdown);\n\n\tupdateState({\n\t\tsynthesizedMarkdownText: updatedText,\n\t\tcitationsFromSynthesizedResponse: foundCitations,\n\t\tkgListCitations: JSON.parse(kgListCitations)\n\t});\n};\n\nexport const handleComponentConnected = coeffects => {\n\tconst { host, updateState, properties } = coeffects;\n\thandleSynthesizedResponse(properties, updateState);\n\tsetNLQTableMatches(coeffects);\n\n\tupdateState({\n\t\tqueueUpdateShouldTruncate: queueUpdateTruncationVisibility()\n\t});\n\thandleResizeForTruncation(host, updateState);\n};\n\nexport const handleComponentDOMTreeReady = ({ host, updateState, state }) => {\n\tconst { queueUpdateShouldTruncate } = state;\n\tsetTimeout(() => handleTruncation(host, updateState, TRUNCATION_LIMIT));\n\tqueueUpdateShouldTruncate &&\n\t\tqueueUpdateShouldTruncate(host, updateState, TRUNCATION_LIMIT);\n\thandleResizeForTruncation(host, updateState);\n};\n\nexport const handleIconicButtonClick = ({\n\taction,\n\tdispatch,\n\tstate,\n\tupdateState\n}) => {\n\tconst {\n\t\tpayload: { value, actionId }\n\t} = action;\n\tif (actionId === ABOUT_POPOVER) {\n\t\treturn;\n\t}\n\n\tif (\n\t\tactionId === HELPFUL_FEEDBACK_START ||\n\t\tactionId === UNHELPFUL_FEEDBACK_START\n\t) {\n\t\tgeniusCardFeedbackClicked(action, dispatch, state, updateState);\n\t\treturn;\n\t}\n\n\tif (!value) {\n\t\thandleFeedback(-1, NEGATIVE_FEEDBACK_VALUE, dispatch, state, updateState);\n\t}\n};\n\nexport const closeFeedbackDialog = ({\n\taction,\n\tdispatch,\n\tstate,\n\tupdateState\n}) => {\n\tconst {\n\t\tpayload: { value, actionId },\n\t\tmeta\n\t} = action;\n\n\tif (\n\t\tactionId === ABOUT_POPOVER ||\n\t\tactionId === NLQ_MULTITABLE_DROPDOWN ||\n\t\tactionId === CITATION_POPOVER_CLICKED ||\n\t\tmeta?.appended?.componentId?.slice(0, 23) === NLQ_MULTITABLE_DROPDOWN\n\t) {\n\t\treturn;\n\t}\n\tif (!value) {\n\t\thandleFeedback(-1, NEGATIVE_FEEDBACK_VALUE, dispatch, state, updateState);\n\t}\n};\n\nexport const buttonOrLinkClicked = ({\n\taction,\n\tdispatch,\n\tstate,\n\tupdateState\n}) => {\n\tconst { payload } = action;\n\n\tconst {\n\t\tproperties: { model, grType }\n\t} = state;\n\n\t/*\n\t * actionId is passed in by now-button whereas\n\t * item is set by split button\n\t * isRelevanceFeedback is set by data labeling tool dropdown\n\t */\n\tconst { isFeedback, isRelevanceFeedback, type } = payload;\n\n\tif (type && type === CITATION_CLICK) {\n\t\treturn;\n\t}\n\tif (type && type === ASK_A_FOLLOW_UP) {\n\t\tdispatch(GENIUS_RESULT_CHAT_TRIGGERED, {\n\t\t\ttype: type,\n\t\t\t...model\n\t\t});\n\t\tdispatch(ASK_A_FOLLOW_UP_CLIKED, {\n\t\t\ttype: type,\n\t\t\taction: {\n\t\t\t\tactionPayload: {}\n\t\t\t},\n\t\t\tmodel\n\t\t});\n\t\treturn;\n\t}\n\tif (type === KG_GENERIC_VIEW_RECORD_ACTION_CLICK) {\n\t\tdispatch(KG_VIEW_RECORDS, {\n\t\t\taction: payload.actionPayload,\n\t\t\tmodel\n\t\t});\n\t\treturn;\n\t}\n\tif (type && type === CLICK) {\n\t\tdispatch(DECLARATIVE_ACTION, {\n\t\t\taction: payload.actionPayload,\n\t\t\tmodel\n\t\t});\n\t\treturn;\n\t}\n\n\tif (type && type === CATALOG_CLICK) {\n\t\tdispatch(GENIUS_RESULT_CHAT_TRIGGERED, {\n\t\t\taction: \"RESULT_CLICKED\",\n\t\t\ttype: type,\n\t\t\tclickedItemSysId: payload.clickedItemSysId,\n\t\t\t...model\n\t\t});\n\t\treturn;\n\t}\n\n\tif (isRelevanceFeedback) {\n\t\tdispatch(DECLARATIVE_ACTION, {\n\t\t\taction: { relevance: payload.item.id },\n\t\t\tmodel\n\t\t});\n\t\treturn;\n\t}\n\n\t// The close button on the feedback dialog was clicked\n\tif (isFeedback) {\n\t\tconst { feedbackReason, feedbackOther } = state;\n\t\tconst otherFeedbackReason =\n\t\t\tfeedbackReason === OTHER_FEEDBACK ? feedbackOther : null;\n\t\tconst finalReason =\n\t\t\totherFeedbackReason || feedbackReason || NEGATIVE_FEEDBACK_VALUE;\n\n\t\thandleFeedback(-1, finalReason, dispatch, state, updateState);\n\t\treturn;\n\t}\n\n\tif (grType === GR_TYPES.NLQ) {\n\t\thandleViewAll({ dispatch, state });\n\t\treturn;\n\t}\n\n\tgeniusCardActionClicked({ action, dispatch, state });\n};\n\nexport const dropDownItemClicked = ({\n\taction,\n\tdispatch,\n\tstate,\n\tupdateState\n}) => {\n\tif (action.payload.type === NLQ_MULTITABLE_DROPDOWN) {\n\t\tnlqDropDownClicked({ action, dispatch, state, updateState });\n\t} else {\n\t\tgeniusCardActionClicked({ action, dispatch, state });\n\t}\n};\n\nexport const geniusCardActionClicked = ({ action, dispatch, state }) => {\n\tconst { payload } = action;\n\n\tconst {\n\t\tproperties: { actions, model }\n\t} = state;\n\n\t/*\n\t * actionId is passed in by now-button whereas\n\t * item is set by split button\n\t * isRelevanceFeedback is set by data labeling tool dropdown\n\t */\n\tconst { actionId, item, type, citationAction } = payload;\n\n\tconst assignmentId = actionId || item.id;\n\tconst geniusCardAction =\n\t\tisEmpty(get(model, \"columns.citations\")) && !isEqual(type, CITATION_ACTION)\n\t\t\t? find(actions, [\"assignmentId\", assignmentId])\n\t\t\t: citationAction;\n\n\tif (geniusCardAction) {\n\t\tdispatch(DECLARATIVE_ACTION, {\n\t\t\taction: geniusCardAction,\n\t\t\tmodel\n\t\t});\n\t}\n};\n\nconst nlqDropDownClicked = ({ action, dispatch, state, updateState }) => {\n\tconst selectedTables = state.selectedTables;\n\tconst utterance = state.properties.utterance;\n\tselectedTables[action.payload.token] = action.payload.item.id;\n\tsetMultiTableAndFetchData(\n\t\tselectedTables,\n\t\tutterance,\n\t\tdispatch,\n\t\tupdateState,\n\t\tstate\n\t);\n};\n\nexport const handleDescriptionCollapsed = (state, updateState, action) => {\n\tconst {\n\t\tpayload: { type }\n\t} = action;\n\n\tupdateState({\n\t\t...state,\n\t\tdescriptionCollapsed: type === DESCRIPTION_STATES.COLLAPSE\n\t});\n};\n\nexport const geniusCardFeedbackClicked = (\n\taction,\n\tdispatch,\n\tstate,\n\tupdateState\n) => {\n\tconst { payload } = action;\n\tconst {\n\t\tproperties: { feedbackOptions }\n\t} = state;\n\n\t// actionId is passed in by now-button-iconic based on type of feedback\n\tconst { actionId } = payload;\n\tconst newFeedbackValue = actionId === HELPFUL_FEEDBACK_START ? 1 : -1;\n\tlet reason = POSITIVE_FEEDBACK_VALUE;\n\tif (newFeedbackValue < 0) {\n\t\t/*\n\t\t * 'Unhelpful' button was clicked, so open the reason dialog if there are reasons configured for\n\t\t * the user to choose from, else go ahead and dispatch the feedback\n\t\t */\n\t\tconst showFeedbackDialog = feedbackOptions.length > 0;\n\t\tif (showFeedbackDialog) {\n\t\t\tupdateState({\n\t\t\t\t...state,\n\t\t\t\topenFeedbackDialog: true\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\treason = NEGATIVE_FEEDBACK_VALUE;\n\t}\n\thandleFeedback(newFeedbackValue, reason, dispatch, state, updateState);\n};\n\nexport const nowButtonBareClicked = ({\n\tstate,\n\tupdateState,\n\taction,\n\tdispatch\n}) => {\n\tconst {\n\t\tpayload: { actionId }\n\t} = action;\n\n\tconst { payload } = action;\n\tconst { type } = payload;\n\tconst {\n\t\tproperties: { model }\n\t} = state;\n\n\tif (type && type === ASK_A_FOLLOW_UP) {\n\t\tdispatch(GENIUS_RESULT_CHAT_TRIGGERED, {\n\t\t\ttype: type,\n\t\t\t...model\n\t\t});\n\t\tdispatch(ASK_A_FOLLOW_UP_CLIKED, {\n\t\t\ttype: type,\n\t\t\taction: {\n\t\t\t\tactionPayload: {}\n\t\t\t},\n\t\t\tmodel\n\t\t});\n\t\treturn;\n\t}\n\n\tif (actionId === DESCRIPTION_COLLAPSED_STATE_TOGGLED) {\n\t\thandleDescriptionCollapsed(state, updateState, action);\n\t} else if (actionId === SYNTHESIZED_GENIUS_RESULT_EXPANDED) {\n\t\tdispatch(SHOW_FULL_ANSWER_CLICKED, {\n\t\t\ttype: \"SHOW_FULL_ANSWER\",\n\t\t\taction: {\n\t\t\t\tactionPayload: {}\n\t\t\t},\n\t\t\tmodel\n\t\t});\n\t\tupdateState({\n\t\t\tsynthesizedGeniusResultExpanded: true\n\t\t});\n\t} else if (actionId === VIEW_RECORDS_CLICKED) {\n\t\treturn;\n\t}\n\n\tif (type && type === CLICK) {\n\t\tdispatch(DECLARATIVE_ACTION, {\n\t\t\taction: payload.actionPayload,\n\t\t\tmodel\n\t\t});\n\t\treturn;\n\t}\n\n\tgeniusCardActionClicked({ action, dispatch, state });\n};\n\nexport const handleFeedbackOtherInput = ({ action, state, updateState }) => {\n\tconst {\n\t\tpayload: { fieldValue }\n\t} = action;\n\n\tupdateState({\n\t\t...state,\n\t\tfeedbackOther: fieldValue\n\t});\n};\n\nexport const handleReasonSelection = ({\n\taction,\n\tdispatch,\n\tstate,\n\tupdateState\n}) => {\n\tconst {\n\t\tpayload: { isIntentFeedback, value }\n\t} = action;\n\n\tif (isIntentFeedback) {\n\t\tconst {\n\t\t\tproperties: { model }\n\t\t} = state;\n\t\tdispatch(DECLARATIVE_ACTION, {\n\t\t\taction: { intent: value },\n\t\t\tmodel\n\t\t});\n\t\treturn;\n\t}\n\n\tupdateState({\n\t\t...state,\n\t\tfeedbackReason: value\n\t});\n};\n\nexport const fetchListCompleteEffect = ({ action, state, updateState }) => {\n\tconst { columnDefinitions, rowDefinitions } = transformJSONToTableDefinitions(\n\t\taction.payload.data\n\t);\n\tconst {\n\t\tproperties: { response },\n\t\tactiveTable\n\t} = state;\n\tupdateState({\n\t\t...state,\n\t\ttableMatches: JSON.parse(response),\n\t\tactiveTable: {\n\t\t\t...activeTable,\n\t\t\ttableDefinitions: {\n\t\t\t\trowDefinitions,\n\t\t\t\tcolumnDefinitions\n\t\t\t}\n\t\t},\n\t\tnlqTableDefinitionsLoading: false\n\t});\n};\n\nexport const setMultiTableAndFetchData = (\n\tselectedTables,\n\tutterance,\n\tdispatch,\n\tupdateState,\n\tstate\n) => {\n\tupdateState({\n\t\t...state,\n\t\tselectedTables\n\t});\n\tconst formattedTables = formatSelectedTables(selectedTables || {});\n\tdispatch(MULTITABLE_NLQ_REQUEST, {\n\t\tuser_question: formatUtterance(utterance, formattedTables),\n\t\tforce_table_grammar: \"false\",\n\t\ttable: \"\",\n\t\torigin: \"CMDB_WS\",\n\t\tdata: formattedTables\n\t});\n};\n\nexport const setActiveTableAndFetchData = (\n\tresponse,\n\tselectedTableData,\n\tdispatch,\n\tupdateState,\n\tstate\n) => {\n\tupdateState({\n\t\t...state,\n\t\ttableMatches: JSON.parse(response),\n\t\tactiveTable: {\n\t\t\t...state.activeTable,\n\t\t\tlogID: selectedTableData.logID,\n\t\t\tsource: selectedTableData.source,\n\t\t\tname: selectedTableData.name,\n\t\t\tlabel: selectedTableData.label,\n\t\t\tfilter: selectedTableData.filter\n\t\t}\n\t});\n\tdispatch(FETCH_LIST_DATA, {\n\t\tfixedQuery: \"active=true\",\n\t\tlistTitle: selectedTableData.label,\n\t\trunQuery: \"false\",\n\t\tquery: selectedTableData.filter,\n\t\trunHighlightedValuesQuery: false,\n\t\ttable: selectedTableData.name,\n\t\tlimit: 3,\n\t\tmaxColumns: 5,\n\t\tisDeclarativeActionsRequired: false\n\t});\n};\n\nexport const setNLQTableMatches = ({ state, updateState, dispatch }) => {\n\tconst {\n\t\tproperties: { response, grType, model, utterance }\n\t} = state;\n\tif (grType === GR_TYPES.NLQ && !isEmpty(response)) {\n\t\tconst parsedResponse = JSON.parse(response);\n\t\tconst multiTable = model[\"columns.multiTable\"] === \"true\";\n\t\tif (multiTable) {\n\t\t\t// set first tables in response as active and fetch data\n\t\t\tconst initialSelection = {};\n\t\t\tfor (let prop in parsedResponse) {\n\t\t\t\tinitialSelection[prop] = parsedResponse[prop][0][\"id\"];\n\t\t\t}\n\t\t\tsetMultiTableAndFetchData(\n\t\t\t\tinitialSelection,\n\t\t\t\tutterance,\n\t\t\t\tdispatch,\n\t\t\t\tupdateState,\n\t\t\t\tstate\n\t\t\t);\n\t\t} else {\n\t\t\t// set first table in response as active and fetch data\n\t\t\tsetActiveTableAndFetchData(\n\t\t\t\tresponse,\n\t\t\t\tparsedResponse[0],\n\t\t\t\tdispatch,\n\t\t\t\tupdateState,\n\t\t\t\tstate\n\t\t\t);\n\t\t}\n\t}\n};\n\nexport const handleComponentPropertyChanged = coeffects => {\n\tconst { action, dispatch, updateState, state, host } = coeffects;\n\tconst {\n\t\tpayload: { name, value }\n\t} = action;\n\tconst { queueUpdateShouldTruncate } = state;\n\tswitch (name) {\n\t\tcase \"grType\":\n\t\t\tsetNLQTableMatches(coeffects);\n\t\t\tbreak;\n\t\tcase \"response\":\n\t\t\tif (!isEmpty(value)) {\n\t\t\t\tdispatch(FETCH_NLQ_NAVIGATION_CONFIG);\n\t\t\t\tsetActiveTableAndFetchData(\n\t\t\t\t\tvalue,\n\t\t\t\t\tJSON.parse(value)[0],\n\t\t\t\t\tdispatch,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tstate\n\t\t\t\t);\n\t\t\t}\n\t\t\tbreak;\n\t\t// reset feedback and show more state so the value is not retained while switching between GRs\n\t\t// This may change with - STRY56976106\n\t\tcase \"model\":\n\t\t\tqueueUpdateShouldTruncate &&\n\t\t\t\tqueueUpdateShouldTruncate(host, updateState, TRUNCATION_LIMIT);\n\t\t\thandleResizeForTruncation(host, updateState);\n\t\t\tupdateState({\n\t\t\t\topenFeedbackDialog: false,\n\t\t\t\tfeedbackReason: \"\",\n\t\t\t\tfeedbackOther: \"\",\n\t\t\t\tfeedbackValue: 0,\n\t\t\t\ttoolTipRef: null\n\t\t\t});\n\t\t\tbreak;\n\t}\n};\n\nexport const handlePillSelected = ({\n\taction,\n\tdispatch,\n\tstate,\n\tupdateState\n}) => {\n\tconst {\n\t\tmeta: { appended }\n\t} = action;\n\tconst {\n\t\tactiveTable,\n\t\tproperties: { model, response }\n\t} = state;\n\n\t//Signal for switching tables\n\tif (activeTable !== appended.tableSelected) {\n\t\tdispatch(NLQ_TABLE_SWITCHED, {\n\t\t\tselectedTable: appended.tableSelected,\n\t\t\tmodel\n\t\t});\n\t}\n\n\tsetActiveTableAndFetchData(\n\t\tresponse,\n\t\tappended.tableSelected,\n\t\tdispatch,\n\t\tupdateState,\n\t\tstate\n\t);\n};\n\nconst handleViewAll = ({ dispatch, state }) => {\n\tconst {\n\t\tactiveTable,\n\t\tsavedQueryId,\n\t\tqueryId,\n\t\tproperties: { model, searchProfile, utterance }\n\t} = state;\n\tconst { name, filter, source, logID } = activeTable;\n\n\tconst config = getNavigationConfig(\n\t\tJSON.parse(model[\"columns.navConfig\"]),\n\t\tname,\n\t\tsearchProfile,\n\t\tsource\n\t);\n\tconst payload = config.action_payload\n\t\t.replace(\"${table}\", name)\n\t\t.replace(\"${query}\", filter)\n\t\t.replace(\"${logID}\", logID)\n\t\t.replace(\"${utterance}\", utterance)\n\t\t.replace(\"${savedQueryId}\", savedQueryId)\n\t\t.replace(\"${queryStatusId}\", queryId);\n\n\tdispatch(NLQ_VIEW_FULL_TABLE_CLICKED, { model, activeTable, searchProfile });\n\tdispatch(config.action, JSON.parse(payload));\n};\n\nexport const requestStarted = event => {\n\tconst { state, updateState } = event;\n\tupdateState({\n\t\t...state,\n\t\tnlqTableDefinitionsLoading: true,\n\t\terror: false\n\t});\n};\n\nexport const requestFailed = ({ action, updateState }) => {\n\tconsole.error(`ERROR: ${action.type}\\n${JSON.stringify(action.payload)}`);\n\tupdateState({\n\t\tnlqTableDefinitionsLoading: false,\n\t\terror: action.payload\n\t});\n};\n\nexport const applyMultiTableSuccess = ({\n\taction,\n\tdispatch,\n\tstate,\n\tupdateState,\n\tupdateProperties\n}) => {\n\tif (action.payload.result[\"status_code\"] !== \"ok\") {\n\t\tupdateState({\n\t\t\t...state,\n\t\t\tnlqMultiTableLogId: action.payload.result[\"nlq_log\"],\n\t\t\terror: { error: \"couldn't parse utterance\" }\n\t\t});\n\t\treturn;\n\t}\n\tupdateState({\n\t\t...state,\n\t\tnlqMultiTableLogId: action.payload.result[\"nlq_log\"]\n\t});\n\tconst dataConfig = action.payload.result[\"data_configurations\"];\n\tif (dataConfig && dataConfig[dataConfig.length - 1].source_id === \"GAI\") {\n\t\tupdateProperties({\n\t\t\thighlightedText: NLQ_HIGHLIGHTED_TEXT,\n\t\t\thighlightedTextIcon: \"ai-sparkle-outline\"\n\t\t});\n\t}\n\tif (dataConfig[0] && dataConfig[0].edges) {\n\t\tconst payload = {\n\t\t\tname: `NLQ - AI_SEARCH : ${new Date().getTime().toString()}`,\n\t\t\tsource: \"NLQ\",\n\t\t\tquery: JSON.stringify(dataConfig[0]),\n\t\t\tdescription: state.properties.utterance,\n\t\t\tdependencies: \"\"\n\t\t};\n\t\tdispatch(QUERY_BUILDER_REQUEST, {\n\t\t\tforce_table_grammar: \"false\",\n\t\t\ttable: \"\",\n\t\t\torigin: \"CMDB_WS\",\n\t\t\tdata: JSON.stringify(payload)\n\t\t});\n\t} else {\n\t\tsetActiveTableAndFetchData(\n\t\t\t\"[]\",\n\t\t\t{\n\t\t\t\tname: dataConfig[0].source_id,\n\t\t\t\tlabel: dataConfig[0].source_id_label,\n\t\t\t\tfilter: dataConfig[0].filter_query,\n\t\t\t\tlogID: action.payload.result[\"nlq_log\"],\n\t\t\t\tsource: \"CMDB_WS\"\n\t\t\t},\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\tstate\n\t\t);\n\t\tdispatch(FETCH_LIST_DATA, {\n\t\t\tfixedQuery: \"active=true\",\n\t\t\tlistTitle: dataConfig[0].source_id_label,\n\t\t\trunQuery: \"false\",\n\t\t\tquery: dataConfig[0].filter_query,\n\t\t\trunHighlightedValuesQuery: false,\n\t\t\ttable: dataConfig[0].source_id,\n\t\t\tlimit: 3,\n\t\t\tmaxColumns: 5,\n\t\t\tisDeclarativeActionsRequired: false\n\t\t});\n\t}\n};\n\nexport const queryBuilderRequestSuccess = ({\n\taction,\n\tdispatch,\n\tstate,\n\tupdateState\n}) => {\n\tconst queryId = action.payload.result[\"query_status_id\"];\n\tconst savedQueryId = action.payload.result[\"saved_query_id\"];\n\tconst qbTable = action.payload.result[\"result_table\"];\n\tupdateState({\n\t\t...state,\n\t\tqueryId,\n\t\tsavedQueryId,\n\t\tqbTable\n\t});\n\tdispatch(QUERY_BUILDER_POLL, { queryId });\n};\n\nexport const queryBuilderPollSuccess = ({\n\taction,\n\tdispatch,\n\tstate,\n\tupdateState\n}) => {\n\tswitch (action.payload.result) {\n\t\tcase \"READY\":\n\t\tcase \"PROCESSING\":\n\t\t\tdispatch(QUERY_BUILDER_POLL, { queryId: state.queryId });\n\t\t\tbreak;\n\t\tcase \"COMPLETE\":\n\t\t\tsetActiveTableAndFetchData(\n\t\t\t\tJSON.stringify(state.tableMatches),\n\t\t\t\t{\n\t\t\t\t\tname: state.qbTable,\n\t\t\t\t\tlabel: state.properties.utterance,\n\t\t\t\t\tfilter: \"\",\n\t\t\t\t\tlogID: state.nlqMultiTableLogId,\n\t\t\t\t\tsource: \"MULTITABLE\"\n\t\t\t\t},\n\t\t\t\tdispatch,\n\t\t\t\tupdateState,\n\t\t\t\tstate\n\t\t\t);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tconsole.error(\"QUERY BUILDER POLL RESPONSE: \" + action.payload.result);\n\t}\n};\n\nexport const fetchListEffect = createGraphQLEffect(\"\", {\n\tvariableList: [],\n\tstartActionType: RECORD_LIST_DATA_FETCH_STARTED,\n\tsuccessActionType: RECORD_LIST_DATA_FETCH_COMPLETED,\n\terrorActionType: RECORD_LIST_DATA_FETCH_FAILED\n});\n\nexport const handleAttachmentClicked = {};\n\nexport const applyMultiTableEffect = createHttpEffect(\n\t\"/api/now/v1/par/nlq/visualization\",\n\t{\n\t\tmethod: \"POST\",\n\t\tbatch: false,\n\t\theaders: { \"Content-Type\": \"application/json\" },\n\t\tqueryParams: [\"user_question\", \"table\", \"force_table_grammar\", \"origin\"],\n\t\tstartActionType: MULTITABLE_NLQ_REQUEST_STARTED,\n\t\tsuccessActionType: MULTITABLE_NLQ_REQUEST_SUCCESS,\n\t\terrorActionType: MULTITABLE_NLQ_REQUEST_ERROR,\n\t\tdataParam: \"data\"\n\t}\n);\n\nexport const queryBuilderEffect = createHttpEffect(\n\t\"/api/now/cmdbquerybuilder/queries/bg/saveAndExecute\",\n\t{\n\t\tmethod: \"POST\",\n\t\tbatch: false,\n\t\theaders: { \"Content-Type\": \"application/json\" },\n\t\tstartActionType: QUERY_BUILDER_REQUEST_STARTED,\n\t\tsuccessActionType: QUERY_BUILDER_REQUEST_SUCCESS,\n\t\terrorActionType: QUERY_BUILDER_REQUEST_ERROR,\n\t\tdataParam: \"data\"\n\t}\n);\n\nexport const queryBuilderPollEffect = createHttpEffect(\n\t\"/api/now/cmdbquerybuilder/queries/:queryId/processStatus\",\n\t{\n\t\tmethod: \"GET\",\n\t\tbatch: false,\n\t\theaders: { \"Content-Type\": \"application/json\" },\n\t\tpathParams: [\"queryId\"],\n\t\tstartActionType: QUERY_BUILDER_POLL_STARTED,\n\t\tsuccessActionType: QUERY_BUILDER_POLL_SUCCESS,\n\t\terrorActionType: QUERY_BUILDER_POLL_ERROR\n\t}\n);\n","export const STREAMING_ACTIONS = {\n\tSTREAMING_START: \"AIS_STREAMING#STRAT\",\n\tSTREAMING_END: \"AIS_STREAMING#END\",\n\tSTREAMING_READ_MORE: \"AIS_STREAMING#READ_MORE\",\n\tSTREAMING_SHOW_LESS: \"AIS_STREAMING#SHOW_LESS\",\n\tSTREAMING_SHOW_MORE: \"AIS_STREAMING#SHOW_MORE\",\n\tCHAR_LIMIT_REACHED: \"AIS_STREAMING#CHAR_LIMIT_REACHED\"\n};\n\nexport const NOW_BUTTON_BARE_CLICKED = \"NOW_BUTTON_BARE#CLICKED\";\n","import { STREAMING_ACTIONS } from \"./actions\";\nimport { parseInlineReferences } from \"./utils\";\n\nexport class StreamingProcessor {\n\tconstructor({\n\t\tdispatch,\n\t\tupdateState,\n\t\tstate,\n\t\tSTREAMING_BEHAVIOR_NAME,\n\t\ttypingSpeedInMillisecondsPerUnit = 30\n\t}) {\n\t\tthis.dispatch = dispatch;\n\t\tthis.updateState = updateState;\n\t\tthis.state = state;\n\t\tthis.STREAMING_BEHAVIOR_NAME = STREAMING_BEHAVIOR_NAME;\n\n\t\tthis.allTokens = [];\n\t\tthis.currentTokenIndex = 0;\n\t\tthis.buffer = \"\";\n\n\t\tthis.messageMap = {};\n\t\tthis.expectedSeqId = 1;\n\n\t\tthis.isProcessing = false;\n\t\tthis.receivedAllChunks = false;\n\t\tthis.allChunksProcessed = false;\n\n\t\tthis.finalContent = \"\";\n\t\tthis.finalTokens = [];\n\t\tthis.hasFinalResponse = false;\n\t\tthis.actionsFromFinalResponse = [];\n\n\t\tthis.hostElement = null;\n\t\tthis.TYPING_SPEED = typingSpeedInMillisecondsPerUnit;\n\n\t\tthis.didExceedLineLimit = false;\n\t}\n\n\tupdateMessageMap(newMessages) {\n\t\tfor (const [seqId, chunk] of Object.entries(newMessages)) {\n\t\t\tif (!this.messageMap[seqId]) {\n\t\t\t\tthis.messageMap[seqId] = chunk;\n\t\t\t}\n\t\t}\n\t\tthis.processChunksInOrder();\n\t}\n\n\thandleFinalResponse(finalResponse) {\n\t\tconst contentObj = JSON.parse(\n\t\t\tfinalResponse.model[\"columns.raw_citations\"]\n\t\t)[0];\n\t\tthis.finalContent = contentObj.content || \"\";\n\n\t\tconst { updatedText, foundCitations } = parseInlineReferences(\n\t\t\tthis.finalContent\n\t\t);\n\t\tif (Object.keys(foundCitations).length > 0) {\n\t\t\tthis.mergeCitationsState(foundCitations);\n\t\t}\n\t\tthis.finalContent = updatedText;\n\n\t\tthis.finalTokens = this.splitTextIntoUnits(this.finalContent);\n\t\tthis.hasFinalResponse = true;\n\t\tthis.actionsFromFinalResponse = finalResponse.actions || [];\n\n\t\tthis.updateState(() => [\n\t\t\t{\n\t\t\t\toperation: \"set\",\n\t\t\t\tpath: `behaviors.${this.STREAMING_BEHAVIOR_NAME}.hasFinalResponse`,\n\t\t\t\tvalue: true,\n\t\t\t\tshouldRender: true\n\t\t\t},\n\t\t\t{\n\t\t\t\toperation: \"set\",\n\t\t\t\tpath: `behaviors.${this.STREAMING_BEHAVIOR_NAME}.actionsFromFinalResponse`,\n\t\t\t\tvalue: finalResponse.actions || [],\n\t\t\t\tshouldRender: true\n\t\t\t},\n\t\t\t{\n\t\t\t\toperation: \"set\",\n\t\t\t\tpath: `behaviors.${this.STREAMING_BEHAVIOR_NAME}.kgListCitations`,\n\t\t\t\tvalue: (() => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst raw = finalResponse.model?.[\"columns.kg_list_citations\"];\n\t\t\t\t\t\tif (!raw) return [];\n\t\t\t\t\t\treturn JSON.parse(raw);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\tconsole.warn(\"streaming processor - bad kg_list_citations JSON\", e);\n\t\t\t\t\t\treturn [];\n\t\t\t\t\t}\n\t\t\t\t})(),\n\t\t\t\tshouldRender: true\n\t\t\t}\n\t\t]);\n\n\t\t// If we've already typed all tokens, do final bracket replacements now.\n\t\tif (this.allChunksProcessed) {\n\t\t\tthis.finalReplaceAll();\n\t\t}\n\t}\n\n\tprocessChunksInOrder() {\n\t\twhile (this.messageMap[this.expectedSeqId]) {\n\t\t\tconst chunk = this.messageMap[this.expectedSeqId];\n\t\t\tdelete this.messageMap[this.expectedSeqId];\n\t\t\tthis.expectedSeqId++;\n\n\t\t\tif (chunk.data.messageType === \"STREAMING\") {\n\t\t\t\tlet text = chunk.data.streamResponse || \"\";\n\n\t\t\t\tconst { updatedText, foundCitations } = parseInlineReferences(text);\n\t\t\t\tif (Object.keys(foundCitations).length > 0) {\n\t\t\t\t\tthis.mergeCitationsState(foundCitations);\n\t\t\t\t}\n\n\t\t\t\tconst tokens = this.splitTextIntoUnits(updatedText);\n\t\t\t\tthis.allTokens.push(...tokens);\n\n\t\t\t\tif (chunk.data.complete) {\n\t\t\t\t\tthis.receivedAllChunks = true;\n\t\t\t\t\tthis.dispatch(STREAMING_ACTIONS.STREAMING_END);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\tthis.receivedAllChunks &&\n\t\t\tthis.currentTokenIndex >= this.allTokens.length\n\t\t) {\n\t\t\tthis.finalizeStreaming();\n\t\t} else {\n\t\t\tthis.maybeStartProcessing();\n\t\t}\n\t}\n\n\tmaybeStartProcessing() {\n\t\tif (!this.isProcessing && this.currentTokenIndex < this.allTokens.length) {\n\t\t\tthis.isProcessing = true;\n\t\t\tthis.typeWriter();\n\t\t}\n\t}\n\n\ttypeWriter() {\n\t\t// If typed everything, finalize\n\t\tif (this.currentTokenIndex >= this.allTokens.length) {\n\t\t\tthis.isProcessing = false;\n\t\t\tif (this.receivedAllChunks) {\n\t\t\t\tthis.finalizeStreaming();\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\t// If final response is here & we already know we exceed 6 lines,\n\t\t// we can skip the rest:\n\t\tif (this.hasFinalResponse && this.didExceedLineLimit) {\n\t\t\tthis.fastForwardTyping();\n\t\t\treturn;\n\t\t}\n\n\t\t// Otherwise, type the next token\n\t\tthis.buffer += this.allTokens[this.currentTokenIndex];\n\t\tthis.currentTokenIndex++;\n\n\t\tthis.updateState(() => ({\n\t\t\toperation: \"set\",\n\t\t\tpath: `behaviors.${this.STREAMING_BEHAVIOR_NAME}.streamingText`,\n\t\t\tvalue: this.buffer,\n\t\t\tshouldRender: true\n\t\t}));\n\n\t\t// measure lines => see if we exceed 6 lines\n\t\tthis.maybeCheckIfOverflow();\n\n\t\tsetTimeout(() => this.typeWriter(), this.TYPING_SPEED);\n\t}\n\n\tfinalizeStreaming() {\n\t\tthis.isProcessing = false;\n\t\tthis.allChunksProcessed = true;\n\n\t\tif (this.hasFinalResponse) {\n\t\t\t// do final bracket replacement => entire typed text\n\t\t\tthis.finalReplaceAll();\n\t\t}\n\n\t\tthis.updateState(() => ({\n\t\t\toperation: \"set\",\n\t\t\tpath: `behaviors.${this.STREAMING_BEHAVIOR_NAME}.allChunksProcessed`,\n\t\t\tvalue: true,\n\t\t\tshouldRender: true\n\t\t}));\n\n\t\t// One last check for overflow\n\t\tthis.maybeCheckIfOverflow();\n\t}\n\n\tfastForwardTyping() {\n\t\t// Immediately finish typing\n\t\tthis.isProcessing = false;\n\t\tthis.currentTokenIndex = this.allTokens.length;\n\t\tthis.allChunksProcessed = true;\n\n\t\tif (this.hasFinalResponse) {\n\t\t\tconst finalSnippet = this.finalTokens\n\t\t\t\t.slice(0, this.allTokens.length)\n\t\t\t\t.join(\"\");\n\t\t\tthis.buffer = finalSnippet;\n\t\t} else {\n\t\t\tthis.buffer = this.allTokens.join(\"\");\n\t\t}\n\n\t\tthis.updateState(() => ({\n\t\t\toperation: \"set\",\n\t\t\tpath: `behaviors.${this.STREAMING_BEHAVIOR_NAME}.streamingText`,\n\t\t\tvalue: this.buffer,\n\t\t\tshouldRender: true\n\t\t}));\n\n\t\tthis.finalizeStreaming();\n\t}\n\n\tmaybeCheckIfOverflow() {\n\t\t// If we've already discovered we exceed 6 lines, skip measuring\n\t\tif (this.didExceedLineLimit) return;\n\t\tif (!this.hostElement) return;\n\n\t\t// Measure the clamped host (.streaming-text-container) rather than the inner\n\t\t// .streaming-text — Safari/WebKit does not propagate the parent's\n\t\t// -webkit-line-clamp clipping into the child's clientHeight, so the child\n\t\t// always reports equal heights.\n\t\tconst scrollHeight = this.hostElement.scrollHeight;\n\t\tconst clientHeight = this.hostElement.clientHeight;\n\t\tconst isOverflowing = scrollHeight > clientHeight + 1;\n\n\t\tif (isOverflowing) {\n\t\t\tthis.didExceedLineLimit = true;\n\t\t\tthis.updateState(() => ({\n\t\t\t\toperation: \"set\",\n\t\t\t\tpath: `behaviors.${this.STREAMING_BEHAVIOR_NAME}.didExceedLineLimit`,\n\t\t\t\tvalue: true,\n\t\t\t\tshouldRender: true\n\t\t\t}));\n\t\t}\n\t}\n\n\tfinalReplaceAll() {\n\t\tif (!this.finalTokens.length) return;\n\n\t\t// Replace the entire typed buffer with final tokens\n\t\tconst finalSnippet = this.finalTokens\n\t\t\t.slice(0, this.allTokens.length)\n\t\t\t.join(\"\");\n\t\tthis.buffer = finalSnippet;\n\n\t\tthis.updateState(() => ({\n\t\t\toperation: \"set\",\n\t\t\tpath: `behaviors.${this.STREAMING_BEHAVIOR_NAME}.streamingText`,\n\t\t\tvalue: this.buffer,\n\t\t\tshouldRender: true\n\t\t}));\n\t}\n\n\tmergeCitationsState(newCitations) {\n\t\tconst existing =\n\t\t\tthis.state.behaviors?.[this.STREAMING_BEHAVIOR_NAME]\n\t\t\t\t?.citationsFromStreaming || {};\n\t\tconst merged = { ...existing, ...newCitations };\n\t\tthis.updateState(() => ({\n\t\t\toperation: \"merge\",\n\t\t\tpath: `behaviors.${this.STREAMING_BEHAVIOR_NAME}.citationsFromStreaming`,\n\t\t\tvalue: merged,\n\t\t\tshouldRender: false\n\t\t}));\n\t\treturn merged;\n\t}\n\n\tupdateElement(elm) {\n\t\t// Called from view's hook-insert/hook-update\n\t\tthis.hostElement = elm;\n\t\tthis.updateState(() => ({\n\t\t\toperation: \"set\",\n\t\t\tpath: `textRef`,\n\t\t\tvalue: elm,\n\t\t\tshouldRender: false\n\t\t}));\n\t}\n\n\tsplitTextIntoUnits(text) {\n\t\tconst regex = /(\\s*\\S+\\s*|\\n)/g;\n\t\treturn text.match(regex) || [];\n\t}\n}\n","import { actionTypes } from \"@servicenow/ui-core\";\nimport { StreamingProcessor } from \"./processor\";\nimport { STREAMING_ACTIONS, NOW_BUTTON_BARE_CLICKED } from \"./actions\";\nimport { isEmpty, isEqual } from \"lodash\";\nimport { SHOW_FULL_ANSWER_CLICKED } from \"../../actions\";\n\nconst { COMPONENT_CONNECTED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nfunction getSearchRequestId(messages) {\n\tfor (const val of Object.values(messages)) {\n\t\tconst searchRequestId = val?.data?.searchRequestId;\n\t\tif (searchRequestId) return searchRequestId;\n\t}\n\treturn null;\n}\n\nconst createAndUpdateStreamingProcessor = ({\n\tdispatch,\n\tupdateState,\n\tstate,\n\tmessages,\n\tSTREAMING_BEHAVIOR_NAME,\n\ttypingSpeedInMillisecondsPerUnit,\n\tunitLimitEnabled\n}) => {\n\tconst streamingProcessor = new StreamingProcessor({\n\t\tdispatch,\n\t\tupdateState,\n\t\tstate,\n\t\tSTREAMING_BEHAVIOR_NAME,\n\t\ttypingSpeedInMillisecondsPerUnit,\n\t\tunitLimitEnabled\n\t});\n\n\tstreamingProcessor.updateMessageMap(messages);\n\n\treturn {\n\t\toperation: \"set\",\n\t\tpath: `behaviors.${STREAMING_BEHAVIOR_NAME}.streamingProcessor`,\n\t\tvalue: streamingProcessor\n\t};\n};\n\nexport const STREAMING_BEHAVIOR_NAME = \"streaming\";\n\nexport default {\n\tname: STREAMING_BEHAVIOR_NAME,\n\tinitialState: {\n\t\tstreamingProcessor: null,\n\t\tstreamingText: \"\",\n\t\tallChunksProcessed: false,\n\t\texpanded: false, // if user hasn't expanded => clamp to 6 lines\n\t\thasFinalResponse: false,\n\t\tdidExceedLineLimit: false,\n\t\tsearchRequestId: null,\n\t\tcitations: {},\n\t\tactionsFromFinalResponse: [],\n\t\tkgListCitations: []\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_CONNECTED]({ dispatch, updateState, properties, action }) {\n\t\t\tconst {\n\t\t\t\tpayload: { options = {} }\n\t\t\t} = action;\n\t\t\tconst {\n\t\t\t\ttypingSpeedInMillisecondsPerUnit = 30,\n\t\t\t\tunitLimitEnabled = false\n\t\t\t} = options;\n\n\t\t\tif (!isEmpty(properties.messages)) {\n\t\t\t\tupdateState(({ state }) => {\n\t\t\t\t\treturn createAndUpdateStreamingProcessor({\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\tmessages: properties.messages,\n\t\t\t\t\t\tSTREAMING_BEHAVIOR_NAME,\n\t\t\t\t\t\ttypingSpeedInMillisecondsPerUnit,\n\t\t\t\t\t\tunitLimitEnabled\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\t\tconst searchRequestId = getSearchRequestId(properties.messages);\n\t\t\t\tif (searchRequestId) {\n\t\t\t\t\tupdateState(() => ({\n\t\t\t\t\t\toperation: \"set\",\n\t\t\t\t\t\tpath: `behaviors.${STREAMING_BEHAVIOR_NAME}.searchRequestId`,\n\t\t\t\t\t\tvalue: searchRequestId,\n\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t[COMPONENT_PROPERTY_CHANGED]({ dispatch, action, updateState, state }) {\n\t\t\tconst {\n\t\t\t\tpayload: { name, value, previousValue, options }\n\t\t\t} = action;\n\t\t\tconst {\n\t\t\t\ttypingSpeedInMillisecondsPerUnit,\n\t\t\t\tunitLimitEnabled = false\n\t\t\t} = options;\n\n\t\t\tif (\n\t\t\t\tname === \"messages\" &&\n\t\t\t\t!isEmpty(value) &&\n\t\t\t\t!isEqual(previousValue, value)\n\t\t\t) {\n\t\t\t\tconst newSearchRequestId = getSearchRequestId(value);\n\t\t\t\tconst oldsearchRequestId =\n\t\t\t\t\tstate.behaviors?.[STREAMING_BEHAVIOR_NAME]?.searchRequestId;\n\n\t\t\t\tif (newSearchRequestId && newSearchRequestId !== oldsearchRequestId) {\n\t\t\t\t\t// reset state for new search request\n\t\t\t\t\tupdateState(() => [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\toperation: \"set\",\n\t\t\t\t\t\t\tpath: `behaviors.${STREAMING_BEHAVIOR_NAME}.streamingProcessor`,\n\t\t\t\t\t\t\tvalue: null\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\toperation: \"set\",\n\t\t\t\t\t\t\tpath: `behaviors.${STREAMING_BEHAVIOR_NAME}.streamingText`,\n\t\t\t\t\t\t\tvalue: \"\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\toperation: \"set\",\n\t\t\t\t\t\t\tpath: `behaviors.${STREAMING_BEHAVIOR_NAME}.allChunksProcessed`,\n\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\toperation: \"set\",\n\t\t\t\t\t\t\tpath: `behaviors.${STREAMING_BEHAVIOR_NAME}.expanded`,\n\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\toperation: \"set\",\n\t\t\t\t\t\t\tpath: `behaviors.${STREAMING_BEHAVIOR_NAME}.citations`,\n\t\t\t\t\t\t\tvalue: []\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\toperation: \"set\",\n\t\t\t\t\t\t\tpath: `behaviors.${STREAMING_BEHAVIOR_NAME}.hasFinalResponse`,\n\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\toperation: \"set\",\n\t\t\t\t\t\t\tpath: `behaviors.${STREAMING_BEHAVIOR_NAME}.didExceedLineLimit`,\n\t\t\t\t\t\t\tvalue: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\toperation: \"set\",\n\t\t\t\t\t\t\tpath: `behaviors.${STREAMING_BEHAVIOR_NAME}.searchRequestId`,\n\t\t\t\t\t\t\tvalue: newSearchRequestId,\n\t\t\t\t\t\t\tshouldRender: false\n\t\t\t\t\t\t}\n\t\t\t\t\t]);\n\n\t\t\t\t\t// Next, create a new processor with fresh states\n\t\t\t\t\tupdateState(({ state }) =>\n\t\t\t\t\t\tcreateAndUpdateStreamingProcessor({\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\tmessages: value,\n\t\t\t\t\t\t\tSTREAMING_BEHAVIOR_NAME,\n\t\t\t\t\t\t\ttypingSpeedInMillisecondsPerUnit,\n\t\t\t\t\t\t\tunitLimitEnabled\n\t\t\t\t\t\t})\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\t// if same search, reuse the existing processor\n\t\t\t\t\tconst processor =\n\t\t\t\t\t\tstate.behaviors?.[STREAMING_BEHAVIOR_NAME]?.streamingProcessor;\n\t\t\t\t\tif (processor) {\n\t\t\t\t\t\t// call to update map for streaming responses\n\t\t\t\t\t\tprocessor.updateMessageMap(value);\n\t\t\t\t\t\t// call to update map for final response\n\t\t\t\t\t\tif (value.finalResponse) {\n\t\t\t\t\t\t\tprocessor.handleFinalResponse(value.finalResponse);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tupdateState(({ state }) =>\n\t\t\t\t\t\t\tcreateAndUpdateStreamingProcessor({\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\tmessages: value,\n\t\t\t\t\t\t\t\tSTREAMING_BEHAVIOR_NAME,\n\t\t\t\t\t\t\t\ttypingSpeedInMillisecondsPerUnit,\n\t\t\t\t\t\t\t\tunitLimitEnabled\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t[STREAMING_ACTIONS.STREAMING_END]({ updateState }) {\n\t\t\t// if needed, mark isStreamComplete, or do nothing\n\t\t\tupdateState(() => ({\n\t\t\t\toperation: \"set\",\n\t\t\t\tpath: `behaviors.${STREAMING_BEHAVIOR_NAME}.isStreamComplete`,\n\t\t\t\tvalue: true\n\t\t\t}));\n\t\t},\n\n\t\t[NOW_BUTTON_BARE_CLICKED]({ dispatch, action, state }) {\n\t\t\t// handle \"SHOW_MORE_CLICKED\" => expand clamp, \"SHOW_LESS_CLICKED\" => re-clamp, etc.\n\t\t\tconst {\n\t\t\t\tpayload: { actionId }\n\t\t\t} = action;\n\t\t\tconst {\n\t\t\t\tproperties: { model }\n\t\t\t} = state;\n\t\t\tif (actionId === \"SHOW_LESS_CLICKED\") {\n\t\t\t\tdispatch(STREAMING_ACTIONS.STREAMING_SHOW_LESS);\n\t\t\t} else if (actionId === \"SHOW_MORE_CLICKED\") {\n\t\t\t\tdispatch(STREAMING_ACTIONS.STREAMING_SHOW_MORE);\n\t\t\t\tdispatch(SHOW_FULL_ANSWER_CLICKED, {\n\t\t\t\t\taction: {\n\t\t\t\t\t\tactionPayload: {}\n\t\t\t\t\t},\n\t\t\t\t\tmodel\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\n\t\t[STREAMING_ACTIONS.STREAMING_SHOW_LESS]({ updateState }) {\n\t\t\tupdateState(() => ({\n\t\t\t\toperation: \"set\",\n\t\t\t\tpath: `behaviors.${STREAMING_BEHAVIOR_NAME}.expanded`,\n\t\t\t\tvalue: false\n\t\t\t}));\n\t\t},\n\n\t\t[STREAMING_ACTIONS.STREAMING_SHOW_MORE]({ updateState }) {\n\t\t\tupdateState(() => ({\n\t\t\t\toperation: \"set\",\n\t\t\t\tpath: `behaviors.${STREAMING_BEHAVIOR_NAME}.expanded`,\n\t\t\t\tvalue: true\n\t\t\t}));\n\t\t}\n\t}\n};\n","import { isEmpty } from \"lodash\";\nimport {\n\tNOW_BUTTON_CLICKED,\n\tNOW_DROPDOWN_ITEM_CLICKED,\n\tNOW_SELECT_ITEM_SET,\n\tNOW_BUTTON_BARE_CLICKED,\n\tNOW_BUTTON_ICONIC_CLICKED,\n\tNOW_POPOVER_OPEN_SET,\n\tNOW_RADIO_BUTTON_VALUE_SET,\n\tNOW_PILL_SELECTED,\n\tNOW_TEXT_LINK_CLICKED,\n\tNOW_TEXTAREA_INPUT,\n\tFETCH_LIST_DATA,\n\tRECORD_LIST_DATA_FETCH_COMPLETED,\n\tRECORD_LIST_DATA_FETCH_FAILED,\n\tRECORD_LIST_DATA_FETCH_STARTED,\n\tATTACHMENT_CLICKED,\n\tFEEDBACK_ACTION_CLICKED,\n\tNOW_CARD_CLICKED,\n\tMULTITABLE_NLQ_REQUEST,\n\tMULTITABLE_NLQ_REQUEST_STARTED,\n\tMULTITABLE_NLQ_REQUEST_SUCCESS,\n\tMULTITABLE_NLQ_REQUEST_ERROR,\n\tQUERY_BUILDER_REQUEST,\n\tQUERY_BUILDER_REQUEST_STARTED,\n\tQUERY_BUILDER_REQUEST_SUCCESS,\n\tQUERY_BUILDER_REQUEST_ERROR,\n\tQUERY_BUILDER_POLL,\n\tQUERY_BUILDER_POLL_STARTED,\n\tQUERY_BUILDER_POLL_SUCCESS,\n\tQUERY_BUILDER_POLL_ERROR\n} from \"./actions\";\n\nimport {\n\thandleReasonSelection,\n\tcloseFeedbackDialog,\n\thandleIconicButtonClick,\n\tnowButtonBareClicked,\n\thandleComponentConnected,\n\thandleComponentDOMTreeReady,\n\thandlePillSelected,\n\thandleFeedbackOtherInput,\n\tfetchListCompleteEffect,\n\tfetchListEffect,\n\thandleComponentPropertyChanged,\n\tbuttonOrLinkClicked,\n\tdropDownItemClicked,\n\trequestStarted,\n\trequestFailed,\n\tapplyMultiTableEffect,\n\tapplyMultiTableSuccess,\n\tqueryBuilderEffect,\n\tqueryBuilderPollEffect,\n\tqueryBuilderRequestSuccess,\n\tqueryBuilderPollSuccess,\n\tgeniusCardActionClicked\n} from \"./effects\";\nimport { actionTypes } from \"@servicenow/ui-core\";\nimport get from \"lodash/get\";\nconst {\n\tCOMPONENT_CONNECTED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_TREE_RENDERED\n} = actionTypes;\n\nimport { isSynthesized } from \"./common/streaming/utils\";\nimport { STREAMING_BEHAVIOR_NAME } from \"./common/streaming/streaming-behavior\";\nimport { CITATION_TYPES } from \"./constants\";\n\nconst commonQuery = (layoutQuery = \"listLayoutQuery\") => `\ntableLabel\nfixedQuery\nallColumns {\n  columnName\n  columnData {\n    fullLabel\n  }\n}\nlayoutQuery {\n  ...${layoutQuery}\n}\n  `;\n\nconst fragments = `\n  fragment rowQuery on GlideListLayout_QueryRowType {\n    uniqueId\n    displayValue\n    rowData {\n      columnName\n      columnData {\n        displayValue\n        value\n        documentIdReference\n      }\n    }\n  }\n  `;\n\nconst groupedRow = `\n  ... on GlideListLayout_GroupedQueryRowType {\n    count\n    query {\n      ...rowQuery\n    }\n  }\n`;\n\nconst singleRow = `\n  ... on GlideListLayout_QueryRowType {\n    ...rowQuery\n  }`;\n\nconst listLayoutQueryFragment = `\nfragment listLayoutQuery on GlideListLayout_ListLayoutQueryType {\n  table\n  queryRows {\n    ${groupedRow}\n    ${singleRow}\n  }\n}\n`;\nexport const betterListModel = `\nquery ($columns: String, $listId: String, $maxColumns: Int, $limit: Int, $offset: Int, $groupedOffset: Int, $parentRecordSysId: String, $parentTable: String, $query: String, $workspaceConfigId: String, $relatedListName: String, $source: String, $runQuery: Boolean!,$table: String!, $view: String, $runHighlightedValuesQuery: Boolean!, $isDeclarativeActionsRequired: Boolean!, $tiny: String, $queryCategory: String) {\n  GlideListLayout_Query {\n    getListLayout(columns: $columns  listId: $listId, maxColumns: $maxColumns, limit: $limit, offset: $offset, groupedOffset: $groupedOffset, parentRecordSysId: $parentRecordSysId, parentTable: $parentTable,workspaceConfigId: $workspaceConfigId, query: $query, relatedListName: $relatedListName, source: $source, runQuery: $runQuery,table: $table, view: $view, runHighlightedValuesQuery: $runHighlightedValuesQuery, isDeclarativeActionsRequired: $isDeclarativeActionsRequired, tiny: $tiny, queryCategory: $queryCategory) {\n        ${commonQuery(\"listLayoutQuery\")}\n      }\n    }\n  }\n  ${fragments}\n  ${listLayoutQueryFragment}\n  `;\n\nconst fetchListInterceptor = {\n\tafter(context) {\n\t\tconst { effects } = context;\n\t\tconst { args } = effects[0];\n\t\tconst variableList = [\n\t\t\t\"table\",\n\t\t\t\"view\",\n\t\t\t\"columns\",\n\t\t\t\"query\",\n\t\t\t\"pagination\",\n\t\t\t\"limit\",\n\t\t\t\"offset\",\n\t\t\t\"groupPagination\",\n\t\t\t\"parentTable\",\n\t\t\t\"parentRecordSysId\",\n\t\t\t\"queryCategory\",\n\t\t\t\"relatedListName\",\n\t\t\t\"maxColumns\",\n\t\t\t\"workspaceConfigId\",\n\t\t\t\"listId\",\n\t\t\t\"runHighlightedValuesQuery\",\n\t\t\t\"runQuery\",\n\t\t\t\"isDeclarativeActionsRequired\",\n\t\t\t\"source\"\n\t\t];\n\t\treturn {\n\t\t\t...context,\n\t\t\teffects: [\n\t\t\t\t{\n\t\t\t\t\t...effects[0],\n\t\t\t\t\targs: [\n\t\t\t\t\t\tbetterListModel,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...args[1],\n\t\t\t\t\t\t\tvariableList\n\t\t\t\t\t\t},\n\t\t\t\t\t\targs[2],\n\t\t\t\t\t\targs[3],\n\t\t\t\t\t\targs[4],\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...args[5],\n\t\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\t\t...args[5].action,\n\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t...args[5].action.payload\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t]\n\t\t};\n\t}\n};\n\nexport default {\n\t[NOW_BUTTON_CLICKED]: {\n\t\teffect: buttonOrLinkClicked,\n\t\tstopPropagation: true\n\t},\n\t[NOW_DROPDOWN_ITEM_CLICKED]: {\n\t\teffect: dropDownItemClicked,\n\t\tstopPropagation: true\n\t},\n\t[NOW_SELECT_ITEM_SET]: {\n\t\teffect: dropDownItemClicked,\n\t\tstopPropagation: true\n\t},\n\t[NOW_BUTTON_BARE_CLICKED]: {\n\t\teffect: nowButtonBareClicked,\n\t\tstopPropagation: true\n\t},\n\t[NOW_BUTTON_ICONIC_CLICKED]: {\n\t\teffect: coeffects => {\n\t\t\tconst { id } = get(coeffects, \"action.payload.action\", \"\");\n\t\t\tconst dispatch = get(coeffects, \"dispatch\");\n\t\t\tif (id != \"download\") {\n\t\t\t\tdispatch(FEEDBACK_ACTION_CLICKED, {\n\t\t\t\t\tactionId: get(coeffects, \"action.payload.actionId\", \"\"),\n\t\t\t\t\tvalue: get(coeffects, \"action.payload.value\")\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[FEEDBACK_ACTION_CLICKED]: {\n\t\teffect: handleIconicButtonClick,\n\t\tstopPropagation: true\n\t},\n\t[NOW_POPOVER_OPEN_SET]: {\n\t\teffect: closeFeedbackDialog,\n\t\tstopPropagation: true\n\t},\n\t[NOW_RADIO_BUTTON_VALUE_SET]: {\n\t\teffect: handleReasonSelection,\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_CONNECTED]: {\n\t\teffect: handleComponentConnected,\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_DOM_TREE_READY]: {\n\t\teffect: handleComponentDOMTreeReady,\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: handleComponentPropertyChanged,\n\t\tstopPropagation: true\n\t},\n\t[NOW_PILL_SELECTED]: {\n\t\teffect: handlePillSelected,\n\t\tstopPropagation: true\n\t},\n\t[NOW_TEXT_LINK_CLICKED]: {\n\t\teffect: buttonOrLinkClicked,\n\t\tstopPropagation: true\n\t},\n\t[NOW_TEXTAREA_INPUT]: {\n\t\teffect: handleFeedbackOtherInput,\n\t\tstopPropagation: true\n\t},\n\t[FETCH_LIST_DATA]: {\n\t\t...fetchListEffect,\n\t\tinterceptors: [fetchListInterceptor],\n\t\tstopPropagation: true\n\t},\n\t[RECORD_LIST_DATA_FETCH_STARTED]: {\n\t\teffect: requestStarted,\n\t\tstopPropagation: true\n\t},\n\t[RECORD_LIST_DATA_FETCH_COMPLETED]: {\n\t\teffect: fetchListCompleteEffect,\n\t\tstopPropagation: true\n\t},\n\t[RECORD_LIST_DATA_FETCH_FAILED]: {\n\t\teffect: requestFailed,\n\t\tstopPropagation: true\n\t},\n\t[MULTITABLE_NLQ_REQUEST]: {\n\t\t...applyMultiTableEffect,\n\t\tstopPropagation: true\n\t},\n\t[MULTITABLE_NLQ_REQUEST_STARTED]: {\n\t\teffect: requestStarted,\n\t\tstopPropagation: true\n\t},\n\t[MULTITABLE_NLQ_REQUEST_SUCCESS]: {\n\t\teffect: applyMultiTableSuccess,\n\t\tstopPropagation: true\n\t},\n\t[MULTITABLE_NLQ_REQUEST_ERROR]: {\n\t\teffect: requestFailed,\n\t\tstopPropagation: true\n\t},\n\t[QUERY_BUILDER_REQUEST]: {\n\t\t...queryBuilderEffect,\n\t\tstopPropagation: true\n\t},\n\t[QUERY_BUILDER_REQUEST_STARTED]: {\n\t\teffect: requestStarted,\n\t\tstopPropagation: true\n\t},\n\t[QUERY_BUILDER_REQUEST_SUCCESS]: {\n\t\teffect: queryBuilderRequestSuccess,\n\t\tstopPropagation: true\n\t},\n\t[QUERY_BUILDER_REQUEST_ERROR]: {\n\t\teffect: requestFailed,\n\t\tstopPropagation: true\n\t},\n\t[QUERY_BUILDER_POLL]: {\n\t\t...queryBuilderPollEffect,\n\t\tstopPropagation: true\n\t},\n\t[QUERY_BUILDER_POLL_STARTED]: {\n\t\teffect: requestStarted,\n\t\tstopPropagation: true\n\t},\n\t[QUERY_BUILDER_POLL_SUCCESS]: {\n\t\teffect: queryBuilderPollSuccess,\n\t\tstopPropagation: true\n\t},\n\t[QUERY_BUILDER_POLL_ERROR]: {\n\t\teffect: requestFailed,\n\t\tstopPropagation: true\n\t},\n\t[ATTACHMENT_CLICKED]: {\n\t\teffect: coeffects => {\n\t\t\tconst { id } = get(coeffects, \"action.payload.action\", \"\");\n\t\t\t// const dispatch = get(coeffects, 'dispatch');\n\t\t\tif (id === \"download\") {\n\t\t\t\t//Placeholder when attachment urls is being returned for future devlopment\n\t\t\t}\n\t\t}\n\t},\n\t[NOW_CARD_CLICKED]: {\n\t\teffect: geniusCardActionClicked\n\t},\n\t[COMPONENT_TREE_RENDERED]({ state, updateState }) {\n\t\tconst {\n\t\t\tproperties,\n\t\t\tbehaviors,\n\t\t\ttextRef,\n\t\t\tcitationsFromSynthesizedResponse\n\t\t} = state;\n\t\tif (!textRef) return;\n\n\t\tconst { messages, citations, grType, canAskFollowUp } = properties;\n\t\tconst { finalResponse } = messages || {};\n\t\tconst citationsFromStreaming =\n\t\t\tbehaviors?.[STREAMING_BEHAVIOR_NAME]?.citationsFromStreaming;\n\t\tconst allChunksProcessed =\n\t\t\tbehaviors?.[STREAMING_BEHAVIOR_NAME]?.allChunksProcessed;\n\n\t\t// Decide which citations to use\n\t\tconst isSynthesizedAndNotStreaming =\n\t\t\tisSynthesized(grType) && !isEmpty(citations) && isEmpty(messages);\n\t\tconst citationsForDisplay = isSynthesizedAndNotStreaming\n\t\t\t? citations\n\t\t\t: finalResponse?.citations || {};\n\t\tconst inlineCitations = isSynthesizedAndNotStreaming\n\t\t\t? citationsFromSynthesizedResponse\n\t\t\t: citationsFromStreaming;\n\t\tif (isEmpty(citationsForDisplay)) return;\n\t\tif (isEmpty(inlineCitations)) return;\n\n\t\t// Only replace citations with popovers after streaming completes (allChunksProcessed === true) to avoid Snabbdom crash\n\t\tif (!isSynthesizedAndNotStreaming && !allChunksProcessed) {\n\t\t\treturn;\n\t\t}\n\t\ttextRef\n\t\t\t.querySelectorAll(\n\t\t\t\t\".replaced-text-people, .replaced-text-kb, .replaced-text-catalog, .replaced-text-skill, .replaced-text-kg\"\n\t\t\t)\n\t\t\t.forEach(el => {\n\t\t\t\tconst sysId = el.classList[1];\n\t\t\t\tconst itemKey = Object.keys(inlineCitations).find(\n\t\t\t\t\tk =>\n\t\t\t\t\t\tinlineCitations[k]?.source_sys_id === sysId ||\n\t\t\t\t\t\tinlineCitations[k]?.sys_id === sysId\n\t\t\t\t);\n\t\t\t\tif (!itemKey) return;\n\t\t\t\tconst citation = inlineCitations[itemKey];\n\n\t\t\t\tconst { source_type, number, conversational } = citation;\n\t\t\t\tconst popoverEle = document.createElement(\"citation-popover\");\n\t\t\t\tpopoverEle.index = number;\n\n\t\t\t\t// Find the right citation data\n\t\t\t\tif (\n\t\t\t\t\tsource_type === CITATION_TYPES.KB ||\n\t\t\t\t\tsource_type === CITATION_TYPES.EXTERNAL_DOCUMENT ||\n\t\t\t\t\tsource_type === CITATION_TYPES.ATTACHMENT\n\t\t\t\t) {\n\t\t\t\t\tpopoverEle.sourceType = source_type;\n\t\t\t\t\tpopoverEle.data = citationsForDisplay[\n\t\t\t\t\t\tCITATION_TYPES.KB\n\t\t\t\t\t]?.citations.find(\n\t\t\t\t\t\tc => c?.source_sys_id === sysId || c?.sys_id === sysId\n\t\t\t\t\t);\n\t\t\t\t} else if (source_type === CITATION_TYPES.CATALOG) {\n\t\t\t\t\tpopoverEle.sourceType = CITATION_TYPES.CATALOG;\n\t\t\t\t\tpopoverEle.conversational = conversational;\n\t\t\t\t\tpopoverEle.canAskFollowUp = canAskFollowUp;\n\t\t\t\t\tpopoverEle.data = citationsForDisplay[\n\t\t\t\t\t\tCITATION_TYPES.CATALOG\n\t\t\t\t\t]?.citations.find(c => c.propValues?.model?.sys_id === sysId);\n\t\t\t\t} else if (source_type === CITATION_TYPES.PEOPLE) {\n\t\t\t\t\tpopoverEle.sourceType = CITATION_TYPES.PEOPLE;\n\t\t\t\t\tpopoverEle.data = citationsForDisplay[\n\t\t\t\t\t\tCITATION_TYPES.PEOPLE\n\t\t\t\t\t]?.citations.find(c => c.propValues?.model?.sys_id === sysId);\n\t\t\t\t} else if (source_type === CITATION_TYPES.SKILL) {\n\t\t\t\t\tpopoverEle.sourceType = CITATION_TYPES.SKILL;\n\t\t\t\t\tpopoverEle.data = citationsForDisplay[\n\t\t\t\t\t\tCITATION_TYPES.SKILL\n\t\t\t\t\t]?.citations.find(c => c.propValues?.model?.sys_id === sysId);\n\t\t\t\t} else if (source_type === CITATION_TYPES.KG) {\n\t\t\t\t\t// all other tables are considered KG\n\t\t\t\t\tpopoverEle.sourceType = CITATION_TYPES.KG;\n\t\t\t\t\tpopoverEle.data = citationsForDisplay[\n\t\t\t\t\t\tCITATION_TYPES.KG\n\t\t\t\t\t]?.citations.find(c => c.propValues?.model?.sys_id === sysId);\n\t\t\t\t} else if (source_type === CITATION_TYPES.AGENT) {\n\t\t\t\t\tpopoverEle.sourceType = CITATION_TYPES.AGENT;\n\t\t\t\t\tpopoverEle.data = citationsForDisplay[\n\t\t\t\t\t\tCITATION_TYPES.AGENT\n\t\t\t\t\t]?.citations.find(c => c.propValues?.model?.sys_id === sysId);\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(`Unknown citation type: ${source_type}`);\n\t\t\t\t}\n\n\t\t\t\tel.replaceWith(popoverEle);\n\t\t\t});\n\n\t\tif (isSynthesizedAndNotStreaming) {\n\t\t\t// calculate element height and check overflow when synthesized and not streaming\n\t\t\t// Streaming has its own machanism in the processor for identifying overflow\n\t\t\t// Measure the clamped parent (textRef) rather than the inner .streaming-text —\n\t\t\t// Safari/WebKit does not propagate the parent's -webkit-line-clamp clipping\n\t\t\t// into the child's clientHeight, so the child always reports equal heights.\n\t\t\tif (!textRef) return;\n\n\t\t\tconst scrollHeight = textRef.scrollHeight;\n\t\t\tconst clientHeight = textRef.clientHeight;\n\t\t\tconst isOverflowing = scrollHeight > clientHeight + 1;\n\t\t\tupdateState({\n\t\t\t\tsynthesizedGeniusResultCanExpand: isOverflowing\n\t\t\t});\n\t\t}\n\t}\n};\n","export const initialState = {\n\topenSplitButtonDropdown: false,\n\tfeedbackValue: 0,\n\topenFeedbackDialog: false,\n\tfeedbackReason: \"\",\n\tfeedbackOther: \"\",\n\ttoolTipRef: null,\n\tshouldTruncate: false,\n\tdescriptionCollapsed: false,\n\ttableMatches: [],\n\tshowAlert: false,\n\tshowMoreClicked: false,\n\tactiveTable: {\n\t\tname: \"\",\n\t\tlabel: \"\",\n\t\tlogID: \"\",\n\t\tsource: \"\",\n\t\ttableDefinitions: {\n\t\t\trowDefinitions: {},\n\t\t\tcolumnDefinitions: {}\n\t\t}\n\t},\n\tnlqTableDefinitionsLoading: true,\n\tqueueUpdateShouldTruncate: null,\n\ttextRef: null,\n\tcitationsFromSynthesizedResponse: {},\n\tkgListCitations: [],\n\tsynthesizedMarkdownText: \"\",\n\tsynthesizedGeniusResultExpanded: false,\n\tsynthesizedGeniusResultCanExpand: false\n};\n","import { createCustomElement } from \"@servicenow/ui-core\";\nimport snabbdom from \"@servicenow/ui-renderer-snabbdom\";\nimport rtlBehavior from \"@servicenow/behavior-rtl\";\nimport mediaQueryBehavior from \"@servicenow/behavior-media-query\";\nimport view from \"./view\";\nimport styles from \"./styles.scss\";\nimport actionHandlers from \"./actionHandlers\";\nimport {\n\tHORIZONTAL,\n\tVERTICAL,\n\tHORIZONTAL_EQUAL,\n\tMOBILE_MEDIA_WIDTH,\n\tGR_TYPES\n} from \"./constants\";\n\nimport truncationBehavior from \"@servicenow/behavior-truncation\";\nimport tooltipBehavior from \"@servicenow/behavior-tooltip\";\nimport { initialState } from \"./common/initialState\";\nimport streamingBehavior from \"./common/streaming/streaming-behavior\";\n\n/**\n * Seismic component to build genius cards.\n *\n * ```jsx\n * <sn-search-genius-card-assist\n *     actions={[\n *         {\n *             assignmentId: '42fd3e5273511010c342d5fdbdf6a70e',\n *             name: 'activate_user',\n *             label: 'Activate',\n *         },\n *         {\n *             assignmentId: 'e3a173c073151010c342d5fdbdf6a7a2',\n *             name: 'call_number',\n *             label: 'Call Number',\n *         },\n *     ]}\n *     model={{\n *         name: 'Mac Marksberry',\n *         home_phone: '8581234567',\n *         location: 'Bockenheimer Landstraße 123, Frankfurt',\n *         department: 'Customer Support',\n *         sysId: 'fd826bf03710200044e0bfc8bcbe5d30',\n *         sys_id: 'fd826bf03710200044e0bfc8bcbe5d30',\n *         table: 'sys_user',\n *     }}\n *     identifier=\"Hyderabad, India\"\n *     identifierCriticalText=\"4:30 pm\"\n *     identifierFontSize=\"sm\"\n *     heading=\"Samina Arizmendi\"\n *     headingFontSize=\"xl\"\n *     marker={{\n *         type: 'avatar',\n *         value: '12245411112324da1.iix',\n *     }}\n *     labelValuesInfo={ labelValues: [], align: 'horizontal' }\n *     description={{\n *         type: 'stacked',\n *         values: [\n *             'Manager, Marketing Systems',\n *             'Global Marketing Operations Department',\n *         ],\n *     }}\n *     allowFeedback\n *     feedbackOptions={[\n *         {id: 'Wrong Intent', label: 'I am not looking for a person'},\n *         {id: 'Wrong Result', label: 'This is not the person I am looking for'}\n *     ]}\n * \t   grType=\"AI_SEARCH\"\n * />\n *\n * ```\n *\n * @seismicElement sn-search-genius-card-assist\n * @summary Seismic component to build genius cards.\n */\ncreateCustomElement(\"sn-search-genius-card-assist\", {\n\trenderer: { type: snabbdom },\n\tview,\n\tinitialState: initialState,\n\tproperties: {\n\t\t/**\n\t\t * This property specifies the metadata for the actions to render in the genius card at the footer.\n\t\t * @type {array}\n\t\t */\n\t\tactions: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: \"array\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This is an object that contains data associated to the card.\n\t\t * @type {object}\n\t\t */\n\t\tmodel: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: \"object\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This property specifies the identifier text to render.\n\t\t * @type {string}\n\t\t */\n\t\tidentifier: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the font size applied to identifier section\n\t\t * @type {('sm'|'md'|'lg'|'xl')}\n\t\t * Options include: ['sm', 'md','lg', 'xl']\n\t\t */\n\t\tidentifierFontSize: {\n\t\t\tdefault: \"sm\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tenum: [\"sm\", \"md\", \"lg\", \"xl\"]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This property specifies critical text to render next to the identifier.\n\t\t * This text is rendered in red.\n\t\t * @type {string}\n\t\t */\n\t\tidentifierCriticalText: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This property specifies the heading for the card.\n\t\t * @type {string}\n\t\t */\n\t\theading: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the font size applied to the heading section\n\t\t * @type {('sm'|'md'|'lg'|'xl')}\n\t\t * Options include: ['sm', 'md','lg', 'xl']\n\t\t */\n\t\theadingFontSize: {\n\t\t\tdefault: \"xl\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tenum: [\"sm\", \"md\", \"lg\", \"xl\"]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the marker for the genius card. Can render an icon, avatar, or image\n\t\t * @type ('image' | 'avatar' | 'icon')\n\t\t */\n\t\tmarker: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: \"object\"\n\t\t\t}\n\t\t},\n\t\tsearchProfile: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\tutterance: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * List the label values to render in the card in place of description.\n\t\t * @type {object}\n\t\t * @default { labelValues: [], align: 'horizontal' }\n\t\t */\n\t\tlabelValuesInfo: {\n\t\t\tdefault: {\n\t\t\t\tlabelValues: [],\n\t\t\t\talign: HORIZONTAL\n\t\t\t},\n\t\t\tschema: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tproperties: {\n\t\t\t\t\tlabelValues: {\n\t\t\t\t\t\ttype: \"array\"\n\t\t\t\t\t},\n\t\t\t\t\talign: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tenum: [VERTICAL, HORIZONTAL, HORIZONTAL_EQUAL]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the description text(s) for the genius card.\n\t\t * Can render up to two lines of description text or one HTML snippet.\n\t\t * When using the HTML type, only the first item of the values array will be rendered.\n\t\t * Use string value for a single description text.\n\t\t * If you pass in the object, it expects this format\n\t\t * ```jsx\n\t\t * {\n\t\t *     type: 'stacked' | 'html',\n\t\t *     values: []\n\t\t * }\n\t\t * ```\n\t\t * @type {string} | {object}\n\t\t */\n\t\tdescription: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\toneOf: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"string\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"object\"\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Should the thumbs up/thumbs down feedback buttons be shown\n\t\t * @type {boolean}\n\t\t */\n\t\tallowFeedback: {\n\t\t\tdefault: true,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Options to show in the dropdown menu for negative feedback (thumbs down) reasons\n\t\t * @type {array}\n\t\t */\n\t\tfeedbackOptions: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: \"array\",\n\t\t\t\titems: { id: \"string\", label: \"string\" }\n\t\t\t}\n\t\t},\n\t\tcitations: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: \"array\",\n\t\t\t\titems: { id: \"string\", label: \"string\" }\n\t\t\t}\n\t\t},\n\t\tattachments: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: \"array\",\n\t\t\t\titems: { id: \"string\", label: \"string\" }\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Enables the feedback dropdown and intent radio buttons for the card (specific to Data Labeling Tool).\n\t\t * @type {boolean}\n\t\t */\n\t\tenableDataLabelingFeedback: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the genius card is being rendered in platform global search;\n\t\t * the component will have different styling in case of global search.\n\t\t * @type {boolean}\n\t\t */\n\t\tisGlobal: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the text to show in the highlighted value in the header.\n\t\t * @type {string}\n\t\t */\n\t\thighlightedText: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the icon to show before the highlighted text.\n\t\t * @type {string}\n\t\t */\n\t\thighlightedTextIcon: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the header highlighted value should show a tooltip on hover;\n\t\t * if true, the tooltip indicates the answer was generated by OpenAI.\n\t\t */\n\t\tshowHeaderTooltip: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the identifier should be at the bottom of the card.\n\t\t * @type {boolean}\n\t\t */\n\t\tidentifierAtBottom: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the 'About' section should appear at the bottom of the genius card.\n\t\t * This section summarizes how the genius result is generated.\n\t\t */\n\t\tshowAboutInfo: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the url to documentation that explains how the genius result is generated.\n\t\t */\n\t\tdocumentationUrl: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the type of GR AI_SEARCH or NLQ\n\t\t */\n\t\tgrType: {\n\t\t\tdefault: GR_TYPES.AI_SEARCH,\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the response for NLQ type GR\n\t\t */\n\t\tresponse: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the view article button should be rendered as a link.\n\t\t * @type {boolean}\n\t\t */\n\t\tshowActionAsLink: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the source link label for genius result.\n\t\t * @type {string}\n\t\t */\n\t\tsource: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the genius card is being rendered for OneBox experience;\n\t\t * @type {boolean}\n\t\t */\n\t\tisOneBox: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\tmessages: {\n\t\t\tdefault: {}\n\t\t},\n\t\t/**\n\t\t * This property specifies if we should show Ask follow up button for sythesized response\n\t\t */\n\t\tcanAskFollowUp: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t}\n\t},\n\tactionHandlers,\n\tstyles,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: rtlBehavior\n\t\t},\n\t\t{\n\t\t\tbehavior: mediaQueryBehavior,\n\t\t\toptions: {\n\t\t\t\tmobileQuery: `(max-width: ${MOBILE_MEDIA_WIDTH})`\n\t\t\t}\n\t\t},\n\t\ttruncationBehavior,\n\t\ttooltipBehavior,\n\t\t{\n\t\t\tbehavior: streamingBehavior,\n\t\t\toptions: {\n\t\t\t\ttypingSpeedInMillisecondsPerUnit: 50\n\t\t\t}\n\t\t}\n\t]\n});\n","import isEqual from \"lodash/isEqual\";\nimport isEmpty from \"lodash/isEmpty\";\nimport { SOURCE_LABEL } from \"../constants\";\nimport sharepoint from \"../images/sharepoint.svg\";\nimport internalSources from \"../images/servicenow.svg\";\nconst view = ({ citations }) => {\n\tconst showImage = sourceLabel => {\n\t\treturn (\n\t\t\t<div className=\"genius-card-action-citation-image-mini\">\n\t\t\t\t<now-image\n\t\t\t\t\tsrc={isEqual(sourceLabel, \"external\") ? sharepoint : internalSources}\n\t\t\t\t\twidth={10}\n\t\t\t\t\talt={\"alt\"}\n\t\t\t\t\tfit=\"fill\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t};\n\tif (!isEmpty(citations)) {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<div className=\"genius-card-action-label-mini\">\n\t\t\t\t\t<span className=\"source-label\">{SOURCE_LABEL}</span>\n\t\t\t\t\t{citations.map(({ source }) => showImage(source))}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n};\nexport default view;\n","import isEmpty from \"lodash/isEmpty\";\n\nimport Description from \"../contents/description\";\nimport Marker from \"../contents/marker\";\nimport Header from \"../contents/heading\";\nimport Footer from \"../contents/miniFooter\";\nimport { FONT_SIZES, GR_TYPES, NLQ_MULTI_TABLE_MINI_TITLE } from \"../constants\";\nimport { getNLQMiniThumbnailSubtitle } from \"../utils\";\n\nconst view = ({\n\theading,\n\tmarker,\n\tdescription,\n\tisGlobal,\n\tshouldTruncate,\n\tupdateState,\n\tmodel,\n\tisMobile,\n\tisOneBox,\n\tgrType,\n\tresponse,\n\tcitations,\n\tthumbnailHeader\n}) => (\n\t<div\n\t\tclass={{\n\t\t\t\"genius-card-thumbnail\": true,\n\t\t\t\"-global\": isGlobal\n\t\t}}\n\t>\n\t\t<span data-truncation className=\"genius-card-header\">\n\t\t\t{thumbnailHeader}\n\t\t</span>\n\t\t{grType === GR_TYPES.NLQ ? (\n\t\t\t<div>\n\t\t\t\t<Header\n\t\t\t\t\theading={\n\t\t\t\t\t\tmodel[\"columns.multiTable\"] === \"true\"\n\t\t\t\t\t\t\t? NLQ_MULTI_TABLE_MINI_TITLE\n\t\t\t\t\t\t\t: JSON.parse(response)[0].label\n\t\t\t\t\t}\n\t\t\t\t\theadingFontSize={FONT_SIZES.MD}\n\t\t\t\t\tisMini\n\t\t\t\t\tisOneBox={isOneBox}\n\t\t\t\t\tisMobile={isMobile}\n\t\t\t\t/>\n\t\t\t\t<div className=\"genius-card_nlq__description-text\">\n\t\t\t\t\t{model[\"columns.multiTable\"] === \"true\"\n\t\t\t\t\t\t? getNLQMiniThumbnailSubtitle(response)\n\t\t\t\t\t\t: JSON.parse(response)[0].name}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t) : (\n\t\t\t<div className=\"genius-card-thumbnail-body\">\n\t\t\t\t{isEmpty(marker) ? null : (\n\t\t\t\t\t<div className=\"genius-card-body__column\">\n\t\t\t\t\t\t<Marker marker={marker} isGlobal={isGlobal} isMini />\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t<div className=\"genius-card-body__column -truncate\">\n\t\t\t\t\t<Header\n\t\t\t\t\t\theading={heading}\n\t\t\t\t\t\theadingFontSize={FONT_SIZES.MD}\n\t\t\t\t\t\tisMini\n\t\t\t\t\t\tisOneBox={isOneBox}\n\t\t\t\t\t\tisMobile={isMobile}\n\t\t\t\t\t/>\n\t\t\t\t\t<Description\n\t\t\t\t\t\tdescription={description}\n\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t\tshouldTruncate={shouldTruncate}\n\t\t\t\t\t\tupdateState={updateState}\n\t\t\t\t\t\tisMini\n\t\t\t\t\t/>\n\t\t\t\t\t<Footer isMini model={model.model} citations={citations} />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t)}\n\t</div>\n);\n\nexport default view;\n","/* eslint-disable jsx-a11y/no-noninteractive-tabindex */\nimport Thumbnail from \"../contents/thumbnail\";\nimport { GR_MINI_SELECETED } from \"../actions\";\nimport { KEYCODE } from \"../constants\";\n\nconst view = (state, { updateState, dispatch }) => {\n\tconst {\n\t\tproperties: { isGlobal, isActive, grType, response },\n\t\tbehaviors: { mediaQuery },\n\t\tshouldTruncate,\n\t\ttableMatches,\n\t\tactiveTable\n\t} = state;\n\tconst { properties } = state;\n\tconst isMobile = mediaQuery.mobileQuery;\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t\"genius-card-container\": true,\n\t\t\t\t\"-global\": isGlobal,\n\t\t\t\t\"-active\": isActive,\n\t\t\t\t\"-thumbnail\": true\n\t\t\t}}\n\t\t\ttabIndex={0}\n\t\t\ton-click={() => {\n\t\t\t\tdispatch(GR_MINI_SELECETED, { ...properties });\n\t\t\t}}\n\t\t\ton-keydown={event => {\n\t\t\t\tif (event.code === KEYCODE.ENTER || event.code === KEYCODE.SPACE) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tdispatch(GR_MINI_SELECETED, { ...properties });\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t<Thumbnail\n\t\t\t\t{...properties}\n\t\t\t\tshouldTruncate={shouldTruncate}\n\t\t\t\ttableMatches={tableMatches}\n\t\t\t\tactiveTable={activeTable}\n\t\t\t\tupdateState={updateState}\n\t\t\t\tisMobile={isMobile}\n\t\t\t\tgrType={grType}\n\t\t\t\tresponse={response}\n\t\t\t\tisOneBox\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from \"@servicenow/ui-core\";\nimport snabbdom from \"@servicenow/ui-renderer-snabbdom\";\nimport rtlBehavior from \"@servicenow/behavior-rtl\";\nimport mediaQueryBehavior from \"@servicenow/behavior-media-query\";\nimport view from \"./view\";\nimport styles from \"../styles.scss\";\nimport {\n\tHORIZONTAL,\n\tVERTICAL,\n\tHORIZONTAL_EQUAL,\n\tMOBILE_MEDIA_WIDTH,\n\tGR_TYPES\n} from \"../constants\";\n\nimport truncationBehavior from \"@servicenow/behavior-truncation\";\nimport tooltipBehavior from \"@servicenow/behavior-tooltip\";\n\n/**\n * Seismic component to build genius cards.\n *\n * ```jsx\n * <sn-search-genius-card-assist\n *     actions={[\n *         {\n *             assignmentId: '42fd3e5273511010c342d5fdbdf6a70e',\n *             name: 'activate_user',\n *             label: 'Activate',\n *         },\n *         {\n *             assignmentId: 'e3a173c073151010c342d5fdbdf6a7a2',\n *             name: 'call_number',\n *             label: 'Call Number',\n *         },\n *     ]}\n *     model={{\n *         name: 'Mac Marksberry',\n *         home_phone: '8581234567',\n *         location: 'Bockenheimer Landstraße 123, Frankfurt',\n *         department: 'Customer Support',\n *         sysId: 'fd826bf03710200044e0bfc8bcbe5d30',\n *         sys_id: 'fd826bf03710200044e0bfc8bcbe5d30',\n *         table: 'sys_user',\n *     }}\n *     identifier=\"Hyderabad, India\"\n *     identifierCriticalText=\"4:30 pm\"\n *     identifierFontSize=\"sm\"\n *     heading=\"Samina Arizmendi\"\n *     headingFontSize=\"xl\"\n *     marker={{\n *         type: 'avatar',\n *         value: '12245411112324da1.iix',\n *     }}\n *     labelValuesInfo={ labelValues: [], align: 'horizontal' }\n *     description={{\n *         type: 'stacked',\n *         values: [\n *             'Manager, Marketing Systems',\n *             'Global Marketing Operations Department',\n *         ],\n *     }}\n *     allowFeedback\n *     feedbackOptions={[\n *         {id: 'Wrong Intent', label: 'I am not looking for a person'},\n *         {id: 'Wrong Result', label: 'This is not the person I am looking for'}\n *     ]}\n * \t   grType=\"AI_SEARCH\"\n * />\n *\n * ```\n *\n * @seismicElement sn-search-genius-card-assist\n * @summary Seismic component to build genius cards.\n */\ncreateCustomElement(\"sn-search-genius-card-assist-mini\", {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\t/**\n\t\t * This property specifies the metadata for the actions to render in the genius card at the footer.\n\t\t * @type {array}\n\t\t */\n\t\tactions: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: \"array\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This is an object that contains data associated to the card.\n\t\t * @type {object}\n\t\t */\n\t\tmodel: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: \"object\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This property specifies the identifier text to render.\n\t\t * @type {string}\n\t\t */\n\t\tidentifier: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the font size applied to identifier section\n\t\t * @type {('sm'|'md'|'lg'|'xl')}\n\t\t * Options include: ['sm', 'md','lg', 'xl']\n\t\t */\n\t\tidentifierFontSize: {\n\t\t\tdefault: \"sm\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tenum: [\"sm\", \"md\", \"lg\", \"xl\"]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This property specifies critical text to render next to the identifier.\n\t\t * This text is rendered in red.\n\t\t * @type {string}\n\t\t */\n\t\tidentifierCriticalText: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This property specifies the heading for the card.\n\t\t * @type {string}\n\t\t */\n\t\theading: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the font size applied to the heading section\n\t\t * @type {('sm'|'md'|'lg'|'xl')}\n\t\t * Options include: ['sm', 'md','lg', 'xl']\n\t\t */\n\t\theadingFontSize: {\n\t\t\tdefault: \"xl\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tenum: [\"sm\", \"md\", \"lg\", \"xl\"]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the marker for the genius card. Can render an icon, avatar, or image\n\t\t * @type ('image' | 'avatar' | 'icon')\n\t\t */\n\t\tmarker: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: \"object\"\n\t\t\t}\n\t\t},\n\t\tsearchProfile: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\tutterance: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * List the label values to render in the card in place of description.\n\t\t * @type {object}\n\t\t * @default { labelValues: [], align: 'horizontal' }\n\t\t */\n\t\tlabelValuesInfo: {\n\t\t\tdefault: {\n\t\t\t\tlabelValues: [],\n\t\t\t\talign: HORIZONTAL\n\t\t\t},\n\t\t\tschema: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tproperties: {\n\t\t\t\t\tlabelValues: {\n\t\t\t\t\t\ttype: \"array\"\n\t\t\t\t\t},\n\t\t\t\t\talign: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tenum: [VERTICAL, HORIZONTAL, HORIZONTAL_EQUAL]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the description text(s) for the genius card.\n\t\t * Can render up to two lines of description text or one HTML snippet.\n\t\t * When using the HTML type, only the first item of the values array will be rendered.\n\t\t * Use string value for a single description text.\n\t\t * If you pass in the object, it expects this format\n\t\t * ```jsx\n\t\t * {\n\t\t *     type: 'stacked' | 'html',\n\t\t *     values: []\n\t\t * }\n\t\t * ```\n\t\t * @type {string} | {object}\n\t\t */\n\t\tdescription: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\toneOf: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"string\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"object\"\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Should the thumbs up/thumbs down feedback buttons be shown\n\t\t * @type {boolean}\n\t\t */\n\t\tallowFeedback: {\n\t\t\tdefault: true,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Options to show in the dropdown menu for negative feedback (thumbs down) reasons\n\t\t * @type {array}\n\t\t */\n\t\tfeedbackOptions: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: \"array\",\n\t\t\t\titems: { id: \"string\", label: \"string\" }\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Enables the feedback dropdown and intent radio buttons for the card (specific to Data Labeling Tool).\n\t\t * @type {boolean}\n\t\t */\n\t\tenableDataLabelingFeedback: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the genius card is being rendered in platform global search;\n\t\t * the component will have different styling in case of global search.\n\t\t * @type {boolean}\n\t\t */\n\t\tisGlobal: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the text to show in the highlighted value in the header.\n\t\t * @type {string}\n\t\t */\n\t\thighlightedText: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the icon to show before the highlighted text.\n\t\t * @type {string}\n\t\t */\n\t\thighlightedTextIcon: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the header highlighted value should show a tooltip on hover;\n\t\t * if true, the tooltip indicates the answer was generated by OpenAI.\n\t\t */\n\t\tshowHeaderTooltip: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the identifier should be at the bottom of the card.\n\t\t * @type {boolean}\n\t\t */\n\t\tidentifierAtBottom: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the 'About' section should appear at the bottom of the genius card.\n\t\t * This section summarizes how the genius result is generated.\n\t\t */\n\t\tshowAboutInfo: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the url to documentation that explains how the genius result is generated.\n\t\t */\n\t\tdocumentationUrl: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the type of GR AI_SEARCH or NLQ\n\t\t */\n\t\tgrType: {\n\t\t\tdefault: GR_TYPES.AI_SEARCH,\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the response for NLQ type GR\n\t\t */\n\t\tresponse: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the actions to dispatch when the View Full Table link is clicked\n\t\t */\n\t\tnlqNavigationConfig: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\titems: {\n\t\t\t\t\taction: \"string\",\n\t\t\t\t\taction_payload: \"string\",\n\t\t\t\t\tprofile: \"string\",\n\t\t\t\t\ttable: \"string\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the view article button should be rendered as a link.\n\t\t * @type {boolean}\n\t\t */\n\t\tshowActionAsLink: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the source link label for genius result.\n\t\t * @type {string}\n\t\t */\n\t\tsource: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the thumbnail header for GR in Carousel\n\t\t * @type {string}\n\t\t */\n\t\tthumbnailHeader: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the genius card is being rendered for OneBox experience;\n\t\t * @type {boolean}\n\t\t */\n\t\tisOneBox: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if card is active in carousel for one box;\n\t\t * @type {boolean}\n\t\t */\n\t\tisActive: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\n\t\tcitations: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: \"array\",\n\t\t\t\titems: { id: \"string\", label: \"string\" }\n\t\t\t}\n\t\t},\n\t\tattachments: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: \"array\",\n\t\t\t\titems: { id: \"string\", label: \"string\" }\n\t\t\t}\n\t\t}\n\t},\n\tstyles,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: rtlBehavior\n\t\t},\n\t\t{\n\t\t\tbehavior: mediaQueryBehavior,\n\t\t\toptions: {\n\t\t\t\tmobileQuery: `(max-width: ${MOBILE_MEDIA_WIDTH})`\n\t\t\t}\n\t\t},\n\t\ttruncationBehavior,\n\t\ttooltipBehavior\n\t]\n});\n","import '@servicenow/now-tooltip';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {isEqual} from 'lodash';\nimport styles from './_now-carousel-text.scss';\n\nconst {\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_RENDERED,\n\tARIA_LIVE_REGION_UPDATE_REQUESTED,\n} = actionTypes;\n\nconst timeoutIds = {};\n\nconst announceMessage = (message, dispatch) => {\n\tsetTimeout(() =>\n\t\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\tmessage,\n\t\t\ttype: 'polite',\n\t\t\treplaceContent: true,\n\t\t}),\n\t);\n};\n\nconst getLabels = (items) => {\n\treturn items.map(({label}) => label);\n};\n\nconst canAnimate = () => {\n\tif (document.hidden) {\n\t\treturn false;\n\t}\n\tif (window.matchMedia('(prefers-reduced-motion: reduce)').matches) {\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nconst view = (state) => {\n\tconst {currentLabel, previousLabel} = state;\n\tconst {css} = state.properties;\n\n\treturn (\n\t\t<div className=\"now-carousel-text\">\n\t\t\t<style>{`.now-carousel-text-label ${css}`}</style>\n\t\t\t<div className=\"now-carousel-text-labels\">\n\t\t\t\t{previousLabel && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tkey=\"previous\"\n\t\t\t\t\t\tclassName=\"now-carousel-text-label -previous\"\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"now-carousel-text-label-text\">{previousLabel}</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t<div key=\"current\" className=\"now-carousel-text-label -current\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"now-carousel-text-label-text\"\n\t\t\t\t\t\tdata-truncation\n\t\t\t\t\t\ton-blur={(e) => {\n\t\t\t\t\t\t\tif (e.target.getAttribute('tabindex') === '-1') {\n\t\t\t\t\t\t\t\te.target.removeAttribute('tabindex');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{currentLabel}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\n/**\n * An animated text label that uses a vertical translation effect to transition\n * between text values. This component can be used to loop continuously and\n * automatically through a list of text values, and/or to transition between\n * specific text values manually without looping.\n *\n * ```jsx\n * const carouselTextItems = [{label: 'Gathering insights…'}, {label: 'Analyzing data…'}];\n *\n * <now-carousel-text items={carouselTextItems} />\n * ```\n *\n * @seismicElement now-carousel-text\n * @summary A text label with animated transitions\n * @uib.label Carousel text\n * @uib.tileIcon now-carousel-text.svg\n * @uib.description A text label with animated transitions\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties items, css, announceLabel\n */\ncreateEnhancedElement('now-carousel-text', {\n\tproperties: {\n\t\t/**\n\t\t * An array of items to display in the carousel. Each item should have\n\t\t * a `label` property that contains the text to display. The carousel\n\t\t * will automatically loop through these items if there are more than one.\n\t\t * @type {Array.<{label: string}>}\n\t\t * @uib.required\n\t\t * @uib.description List of labels to display, in sorted order\n\t\t * @uib.defaultValue [{\"label\": \"Gathering insights…\"}, {\"label\": \"Analyzing data…\"}]\n\t\t * @uib.typeMetadata.emptyStateBehavior EMPTY_ARRAY\n\t\t * @uib.fieldType collection\n\t\t * @uib.typeMetadata.collection.cardProperties.heading { \"heading\": \"label\" }\n\t\t */\n\t\titems: {\n\t\t\trequired: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tlabel: {type: 'string', translatable: true},\n\t\t\t\t\t},\n\t\t\t\t\trequired: ['label'],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * The CSS to apply to text labels.\n\t\t * @type {string}\n\t\t * @uib.label CSS\n\t\t * @uib.description CSS that is inserted directly before the text and wrapped in a <style> tag. This is not inline CSS, but rather a block of style information that applies to subsequent HTML inside this carousel text component.\n\t\t * @uib.fieldType css\n\t\t * @uib.defaultValue * { }\n\t\t */\n\t\tcss: {\n\t\t\tdefault: '',\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\t/**\n\t\t * Determines which labels are announced to screen readers. When set to\n\t\t * `none`, no announcements are made. When set to `first`, the first label\n\t\t * is announced, only once. When set to `all`, each label is announced as it\n\t\t * is displayed while auto-looping.\n\t\t * To announce a label, `ARIA_LIVE_REGION_UPDATE_REQUESTED` action is\n\t\t * dispatched with the current label value.\n\t\t * @type {('first'|'all'|'none')}\n\t\t * @uib.description Use this property to announce the label when the current label is updated.\n\t\t */\n\t\tannounceLabel: {\n\t\t\tdefault: 'first',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['first', 'all', 'none'],\n\t\t\t},\n\t\t},\n\t},\n\tsetInitialState({properties}) {\n\t\treturn {labels: getLabels(properties.items)};\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_TREE_READY]: {\n\t\t\teffect({properties, dispatch}) {\n\t\t\t\tconst {announceLabel, items} = properties;\n\t\t\t\tconst shouldAnnounce = ['first', 'all'].includes(announceLabel);\n\t\t\t\tconst firstItemLabel = getLabels(items)[0];\n\t\t\t\tif (shouldAnnounce && firstItemLabel) {\n\t\t\t\t\tannounceMessage(firstItemLabel, dispatch);\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\t\teffect({action, dispatch, properties, updateState}) {\n\t\t\t\tconst {announceLabel, items} = properties;\n\t\t\t\tconst {name} = action.payload;\n\t\t\t\tif (name === 'items') {\n\t\t\t\t\tconst nextLabels = getLabels(items);\n\t\t\t\t\tconst firstItemLabel = nextLabels[0];\n\t\t\t\t\tconst shouldAnnounce = ['first', 'all'].includes(announceLabel);\n\t\t\t\t\tupdateState({labels: nextLabels});\n\t\t\t\t\tif (shouldAnnounce && firstItemLabel) {\n\t\t\t\t\t\tannounceMessage(firstItemLabel, dispatch);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t[COMPONENT_RENDERED]: {\n\t\t\teffect({action, dispatch, properties, state}) {\n\t\t\t\tconst {previousRenderState: prevState} = action.payload;\n\t\t\t\tconst {labels, previousLabel, currentLabel} = state;\n\n\t\t\t\tconst labelsChanged = !isEqual(labels, prevState.labels);\n\t\t\t\tconst previousLabelChanged = previousLabel !== prevState.previousLabel;\n\t\t\t\tconst currentLabelChanged = currentLabel !== prevState.currentLabel;\n\t\t\t\tconst shouldAnimate = canAnimate();\n\n\t\t\t\tconst shouldAnimateLabels =\n\t\t\t\t\tpreviousLabel && previousLabelChanged && shouldAnimate;\n\n\t\t\t\tconst shouldEvaluateTruncation =\n\t\t\t\t\t(currentLabelChanged && !shouldAnimate) ||\n\t\t\t\t\t(previousLabelChanged && !previousLabel && shouldAnimate);\n\n\t\t\t\tif (labelsChanged) {\n\t\t\t\t\tdispatch('PRIVATE#REFRESH_PREVIOUS_CURRENT_IF_NEEDED');\n\t\t\t\t\tclearTimeout(timeoutIds[properties.nowId]);\n\t\t\t\t\tif (labels.length > 1) {\n\t\t\t\t\t\ttimeoutIds[properties.nowId] = setTimeout(() => {\n\t\t\t\t\t\t\tdispatch('PRIVATE#ROTATE_LABELS');\n\t\t\t\t\t\t}, 3000);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (shouldAnimateLabels) {\n\t\t\t\t\tdispatch('PRIVATE#ANIMATE');\n\t\t\t\t}\n\n\t\t\t\tif (shouldEvaluateTruncation) {\n\t\t\t\t\tdispatch('BEHAVIOR_TRUNCATION#EVALUATE');\n\t\t\t\t\tdispatch('PRIVATE#RECONCILE_TOOLTIP');\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t'PRIVATE#RECONCILE_TOOLTIP': {\n\t\t\teffect({dispatch, host, state}) {\n\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\tconst {truncationEnabled} = state.behaviors.truncation;\n\t\t\t\t\tconst elem = host.shadowRoot.querySelector('[data-truncation]');\n\t\t\t\t\tconst tooltip = host.shadowRoot.querySelector('now-tooltip');\n\t\t\t\t\tconst hasFocus = elem.matches(':focus');\n\t\t\t\t\tconst hasHover = elem.matches(':hover');\n\n\t\t\t\t\t// Update truncation\n\t\t\t\t\telem.dispatchEvent(new MouseEvent('mouseover'));\n\n\t\t\t\t\t// Update tooltip\n\t\t\t\t\tif (elem.getAttribute('data-tooltip') && (hasFocus || hasHover)) {\n\t\t\t\t\t\telem.setAttribute('data-tooltip', state.currentLabel);\n\t\t\t\t\t\tdispatch('BEHAVIOR_TOOLTIP#SHOW', {target: elem, delay: 0});\n\t\t\t\t\t} else if (tooltip?.opened) {\n\t\t\t\t\t\ttooltip.opened = false;\n\t\t\t\t\t\telem.setAttribute('data-tooltip', ' ');\n\t\t\t\t\t\tdispatch('BEHAVIOR_TOOLTIP#HIDE', {target: elem, delay: 0});\n\t\t\t\t\t}\n\n\t\t\t\t\t// Update focusability\n\t\t\t\t\tif (truncationEnabled) {\n\t\t\t\t\t\tconst {offsetWidth, scrollWidth} = elem;\n\t\t\t\t\t\tconst isOverflowing = offsetWidth - scrollWidth < 0;\n\t\t\t\t\t\tif (isOverflowing) {\n\t\t\t\t\t\t\telem.setAttribute('data-truncationignoretabindex', 'true');\n\t\t\t\t\t\t\telem.setAttribute('tabindex', '0');\n\t\t\t\t\t\t} else if (hasFocus) {\n\t\t\t\t\t\t\telem.setAttribute('data-truncationignoretabindex', 'true');\n\t\t\t\t\t\t\telem.setAttribute('tabindex', '-1');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\telem.removeAttribute('data-truncationignoretabindex');\n\t\t\t\t\t\t\telem.removeAttribute('tabindex');\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\telem.removeAttribute('data-truncationignoretabindex');\n\t\t\t\t\t\telem.removeAttribute('tabindex');\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\t'PRIVATE#REFRESH_PREVIOUS_CURRENT_IF_NEEDED': {\n\t\t\teffect({host, state, updateState}) {\n\t\t\t\tconst labelsSelector = '.now-carousel-text-labels';\n\t\t\t\tconst labelsElm = host.shadowRoot.querySelector(labelsSelector);\n\t\t\t\tconst animating = labelsElm?.getAnimations().length > 0;\n\t\t\t\tif (animating) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst currentLabelShouldUpdate = state.currentLabel !== state.labels[0];\n\t\t\t\tif (currentLabelShouldUpdate) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpreviousLabel: canAnimate() ? state.currentLabel : undefined,\n\t\t\t\t\t\tcurrentLabel: state.labels[0],\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst previousLabelShouldReset = state.previousLabel !== undefined;\n\t\t\t\tif (previousLabelShouldReset) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpreviousLabel: undefined,\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t'PRIVATE#ANIMATE': {\n\t\t\teffect({dispatch, host}) {\n\t\t\t\tconst from = {transform: 'translateY(100%)'};\n\t\t\t\tconst to = {transform: 'none'};\n\t\t\t\tconst duration = 500;\n\t\t\t\tconst easing = 'cubic-bezier(0.2, 0, 0.1, 1)';\n\t\t\t\tconst labelsSelector = '.now-carousel-text-labels';\n\t\t\t\tconst labelsElm = host.shadowRoot.querySelector(labelsSelector);\n\t\t\t\tconst anim = labelsElm.animate([from, to], {duration, easing});\n\t\t\t\tanim.addEventListener('finish', () => {\n\t\t\t\t\tanim.cancel();\n\t\t\t\t\tdispatch('PRIVATE#REFRESH_PREVIOUS_CURRENT_IF_NEEDED');\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\t'PRIVATE#ROTATE_LABELS': {\n\t\t\teffect({dispatch, properties, state, updateState}) {\n\t\t\t\tconst labels = [...state.labels];\n\t\t\t\tlabels.push(labels.shift());\n\t\t\t\tupdateState({labels});\n\n\t\t\t\tconst shouldAnnounce = properties.announceLabel === 'all';\n\t\t\t\tconst firstLabel = labels[0];\n\t\t\t\tif (shouldAnnounce && firstLabel) {\n\t\t\t\t\tannounceMessage(firstLabel, dispatch);\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\tview,\n\tstyles,\n\tbehaviors: [{behavior: truncationBehavior}, {behavior: tooltipBehavior}],\n});\n","import './now-carousel-text';\nimport * as info from '../package.json';\n\nconst {name, version} = info;\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n","import { SYNTHESIZED_GENIUS_RESULT_LOADING_STEPS } from \"../../constants\";\nimport \"@servicenow/now-carousel-text\";\nimport { createCustomElement, actionTypes } from \"@servicenow/ui-core\";\nimport lottie from \"lottie-web\";\nimport animatedSparkleAnimation from \"./assets/animated-sparkle.json\";\n\nconst { COMPONENT_DOM_READY, COMPONENT_DISCONNECTED } = actionTypes;\n\n// Apply theme CSS to the SVG - helps with making the SVG themable - copied from now-animation\nconst applyTheme = (theme, svg) => {\n\tif (svg && theme) {\n\t\tconst style = document.createElement(\"STYLE\");\n\t\tstyle.type = \"text/css\";\n\t\tsvg.prepend(style);\n\t\tlet css = \"\";\n\t\ttheme.forEach(node => {\n\t\t\tconst { selector, rules } = node;\n\t\t\tcss += `${selector} {`;\n\t\t\tif (rules) {\n\t\t\t\trules.forEach(rule => {\n\t\t\t\t\tcss += `${rule};`;\n\t\t\t\t});\n\t\t\t}\n\t\t\tcss += `}\\n`;\n\t\t});\n\t\tstyle.appendChild(document.createTextNode(css));\n\t}\n};\n\ncreateCustomElement(\"sn-search-animated-sparkle-icon\", {\n\tinitialState: {\n\t\tanimation: null\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_READY]: {\n\t\t\teffect({ host, updateState }) {\n\t\t\t\tconst container = host.shadowRoot.querySelector(\n\t\t\t\t\t\".lottie-animation-container\"\n\t\t\t\t);\n\n\t\t\t\tif (container) {\n\t\t\t\t\tconst animation = lottie.loadAnimation({\n\t\t\t\t\t\tcontainer: container,\n\t\t\t\t\t\trenderer: \"svg\",\n\t\t\t\t\t\tloop: true,\n\t\t\t\t\t\tautoplay: true,\n\t\t\t\t\t\tanimationData: animatedSparkleAnimation.animation\n\t\t\t\t\t});\n\n\t\t\t\t\tanimation.addEventListener(\n\t\t\t\t\t\t\"DOMLoaded\",\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tconst svg = host.shadowRoot.querySelector(\"svg\");\n\t\t\t\t\t\t\tif (svg && animatedSparkleAnimation.theme) {\n\t\t\t\t\t\t\t\tapplyTheme(animatedSparkleAnimation.theme, svg);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ once: true }\n\t\t\t\t\t);\n\n\t\t\t\t\tupdateState({ animation: animation });\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: {\n\t\t\teffect({ state }) {\n\t\t\t\tif (state.animation) {\n\t\t\t\t\tstate.animation.destroy();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tview: () => <div className=\"lottie-animation-container\" />\n});\n\nconst GeniusResultLoadingState = () => {\n\treturn (\n\t\t<div className=\"synthesized-genius-results-loading-container\">\n\t\t\t<div className=\"header\">\n\t\t\t\t<sn-search-animated-sparkle-icon />\n\t\t\t\t<now-carousel-text\n\t\t\t\t\titems={[\n\t\t\t\t\t\t{ label: SYNTHESIZED_GENIUS_RESULT_LOADING_STEPS.STEP_1 },\n\t\t\t\t\t\t{ label: SYNTHESIZED_GENIUS_RESULT_LOADING_STEPS.STEP_2 },\n\t\t\t\t\t\t{ label: SYNTHESIZED_GENIUS_RESULT_LOADING_STEPS.STEP_3 },\n\t\t\t\t\t\t{ label: SYNTHESIZED_GENIUS_RESULT_LOADING_STEPS.STEP_4 },\n\t\t\t\t\t\t{ label: SYNTHESIZED_GENIUS_RESULT_LOADING_STEPS.STEP_5 },\n\t\t\t\t\t\t{ label: SYNTHESIZED_GENIUS_RESULT_LOADING_STEPS.STEP_6 }\n\t\t\t\t\t]}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div className=\"skeleton-loader\">\n\t\t\t\t<div className=\"skeleton-bone\" />\n\t\t\t\t<div className=\"skeleton-bone\" />\n\t\t\t\t<div className=\"skeleton-bone\" />\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default GeniusResultLoadingState;\n","import {\n\tVERTICAL,\n\tLOADING_STATE_LABEL,\n\tDEFAULT_ARIA_LABEL\n} from \"./constants.js\";\nimport \"@servicenow/now-button\";\nimport \"@servicenow/now-heading\";\nimport \"@servicenow/now-loader\";\nimport isEmpty from \"lodash/isEmpty\";\nimport \"@devsnc/sn-declarative-actions\";\nimport { t } from \"sn-translate\";\nimport { getShouldHideOverflow } from \"./utils\";\nimport \"@servicenow/now-template-message\";\nimport \"@devsnc/sn-carousel\";\nimport \"@devsnc/sn-search-genius-card-assist\";\nimport GeniusResultLoadingState from \"../../contents/loading-state/geniusResultsLoadingState\";\nimport { Fragment } from \"@servicenow/ui-renderer-snabbdom\";\nimport { get } from \"lodash\";\n\nconst LoaderView = () => {\n\treturn (\n\t\t<div className=\"now-data-set-loader-root\">\n\t\t\t<now-loader label={t(LOADING_STATE_LABEL)} />\n\t\t</div>\n\t);\n};\n\nconst EmptyDataRow = ({ noDataMessage }) => (\n\t<now-template-message-empty-state\n\t\theading={{}}\n\t\tcontent={noDataMessage}\n\t\tillustration=\"no-data\"\n\t/>\n);\n\nconst ContentHtml = ({\n\thtmlFragments,\n\tnoDataMessage,\n\tisLayoutVertical,\n\tcardHeightHorizontal,\n\tdataFetchInProgress,\n\tcarouselProps,\n\tactiveThumbnailIndex\n}) => {\n\tif (dataFetchInProgress) return <LoaderView />;\n\n\tif (isEmpty(htmlFragments)) {\n\t\treturn <EmptyDataRow noDataMessage={noDataMessage} />;\n\t}\n\n\tconst className = !isLayoutVertical\n\t\t? `now-content-card-size-${cardHeightHorizontal}`\n\t\t: \"\";\n\tif (!isEmpty(carouselProps)) {\n\t\thtmlFragments.forEach((card, index) => {\n\t\t\t// set active/inactive state to thumbnail based on prop\n\t\t\tcard.data.props.isActive = activeThumbnailIndex === index;\n\t\t\tcard.data.props.slot = \"content\";\n\t\t});\n\t\treturn <sn-carousel {...carouselProps}>{htmlFragments}</sn-carousel>;\n\t}\n\treturn htmlFragments.map(card => <div className={className}>{card}</div>);\n};\n\nconst mediatorWrapper = view => (\n\t<sn-declarative-mediator should-wrap-action>{view}</sn-declarative-mediator>\n);\n\nexport default state => {\n\tconst {\n\t\ttitle,\n\t\tlayout,\n\t\tnoDataMessage,\n\t\thtmlFragments,\n\t\tcardHeightHorizontal,\n\t\tnoBox,\n\t\tdataFetchInProgress,\n\t\tcarouselProps,\n\t\tisGlobal,\n\t\tactiveThumbnailIndex,\n\t\tmainCardConfig,\n\t\tisLoading,\n\t\tmessages,\n\t\tcanAskFollowUp\n\t} = state.properties;\n\tconst {\n\t\tbehaviors: { mediaQuery }\n\t} = state;\n\tconst isMobile = mediaQuery.mobileQuery;\n\tconst isLayoutVertical = layout === VERTICAL;\n\tconst box = noBox ? \"\" : \"-box\";\n\tconst isEmpty = htmlFragments && htmlFragments.length > 0 ? \"\" : \"-is-empty\";\n\tconst overflowClip = getShouldHideOverflow(state.properties)\n\t\t? \"-overflow-clip\"\n\t\t: \"\";\n\tconst containerClassName = [\"now-data-row-container\", isEmpty, overflowClip]\n\t\t.filter(Boolean)\n\t\t.join(\" \");\n\tconst ariaLabel = title || DEFAULT_ARIA_LABEL;\n\tconst isSynthesized = get(mainCardConfig, \"grType\", \"\") === \"SYNTHESIZED\";\n\n\treturn mediatorWrapper(\n\t\t// nds-scanner-disable-start inline-styles\n\t\t<div\n\t\t\tclassName=\"gr-carousel-container\"\n\t\t\tclass={{\n\t\t\t\t\"-loading\": isLoading,\n\t\t\t\t\"-mobile\": isMobile,\n\t\t\t\t\"-is-global\": isGlobal\n\t\t\t}}\n\t\t>\n\t\t\t{isLoading ? (\n\t\t\t\t<GeniusResultLoadingState />\n\t\t\t) : (\n\t\t\t\t<Fragment>\n\t\t\t\t\t{isSynthesized && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\"main-card-container\": true\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<sn-search-genius-card-assist\n\t\t\t\t\t\t\t\t{...mainCardConfig}\n\t\t\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t\t\t\tmessages={messages}\n\t\t\t\t\t\t\t\tcanAskFollowUp={canAskFollowUp}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{!isMobile && !isSynthesized && htmlFragments.length > 0 && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\"main-card-container\": true\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<sn-search-genius-card-assist\n\t\t\t\t\t\t\t\t{...mainCardConfig}\n\t\t\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t\t\t\tmessages={messages}\n\t\t\t\t\t\t\t\tcanAskFollowUp={canAskFollowUp}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{isMobile && !isSynthesized && htmlFragments.length === 1 && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\"main-card-container\": true\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<sn-search-genius-card-assist\n\t\t\t\t\t\t\t\t{...mainCardConfig}\n\t\t\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t\t\t\tmessages={messages}\n\t\t\t\t\t\t\t\tcanAskFollowUp={canAskFollowUp}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{htmlFragments.length > 1 && !isSynthesized && (\n\t\t\t\t\t\t<section\n\t\t\t\t\t\t\tclassName={`now-data-row-root-element -${layout} ${box} ${\n\t\t\t\t\t\t\t\tisGlobal ? \"-is-global\" : null\n\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\taria-label={ariaLabel}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className={containerClassName}>\n\t\t\t\t\t\t\t\t<ContentHtml\n\t\t\t\t\t\t\t\t\thtmlFragments={htmlFragments}\n\t\t\t\t\t\t\t\t\tnoDataMessage={noDataMessage}\n\t\t\t\t\t\t\t\t\tisLayoutVertical={isLayoutVertical}\n\t\t\t\t\t\t\t\t\tcardHeightHorizontal={cardHeightHorizontal}\n\t\t\t\t\t\t\t\t\tdataFetchInProgress={dataFetchInProgress}\n\t\t\t\t\t\t\t\t\tcarouselProps={carouselProps}\n\t\t\t\t\t\t\t\t\tactiveThumbnailIndex={activeThumbnailIndex}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</section>\n\t\t\t\t\t)}\n\t\t\t\t</Fragment>\n\t\t\t)}\n\t\t</div>\n\t\t// nds-scanner-disable-end\n\t);\n};\n","export const GR_MINI_SELECETED =\n\t\"SN_SEARCH_GENIUS_CARD_ASSIST#GR_MINI_SELECETED\";\n\nexport const CREATE_GR_SUBSCRIPTION =\n\t\"SEARCH_RESULTS_CONTAINER#CREATE_GR_SUBSCRIPTION\";\n\nexport const AMB_SUBSCRIPTION_ACTIONS = {\n\tSUBSCRIPTION_STARTED: \"SUBSCRIPTION_STARTED\",\n\tSUBSCRIPTION_SUCCEEDED: \"SUBSCRIPTION_SUCCEEDED\",\n\tSUBSCRIPTION_FAILED: \"SUBSCRIPTION_FAILED\",\n\tMESSAGE_RECEIVED: \"MESSAGE_RECEIVED\",\n\tSUBSCRIPTION_UNSUBSCRIBED: \"SUBSCRIPTION_UNSUBSCRIBED\"\n};\n\nexport const SN_SEARCH_STREAMING_DEBUGGER_COMPONENT_TREE_RENDERED =\n\t\"SN_SEARCH_STREAMING_DEBUGGER_COMPONENT_TREE_RENDERED\";\n\nexport const ASYNC_RESULT_LOADING_TIMEOUT =\n\t\"SN_SEARCH_GENIUS_CARDS#ASYNC_RESULT_LOADING_TIMEOUT\";\n\nexport const GENIUS_CHAT_TRIGGERED =\n\t\"SN_SEARCH_GENIUS_CARD_ASSIST#CHAT_TRIGGERED\";\n\nexport const FEEDBACK_PROVIDED =\n\t\"SN_SEARCH_GENIUS_CARD_ASSIST#FEEDBACK_PROVIDED\";\n\nexport const TOP_RESULTS_CHAT_TRIGGERED =\n\t\"SN_SEARCH_TOP_RESULTS#CHAT_TRIGGERED\";\nexport const TOP_RESULTS_ACTION_DELEGATED =\n\t\"SN_SEARCH_TOP_RESULTS#TOP_RESULTS_ACTION_DELEGATED\";\nexport const DECLARATIVE_ACTION_UPDATE_RENDER =\n\t\"DECLARATIVE_ACTION#UPDATE_RENDER\";\nexport const TOP_RESULTS_DECLARATIVE_ACTION =\n\t\"SN_SEARCH_TOP_RESULTS#DECLARATIVE_ACTION\";\nexport const NLQ_TABLE_SWITCHED =\n\t\"SN_SEARCH_GENIUS_CARD_ASSIST#NLQ_TABLE_SWITCHED\";\nexport const NLQ_TABLE_CLICKED =\n\t\"SN_SEARCH_GENIUS_CARD_ASSIST#NLQ_VIEW_FULL_TABLE_CLICKED\";\nexport const SEARCH_RESULTS_DECLARATIVE_ACTION =\n\t\"SN_SEARCH_RESULTS_CONTAINER#DECLARATIVE_ACTION\";\nexport const NOW_ALERT_ACTION_CLICKED = \"NOW_ALERT#ACTION_CLICKED\";\nexport const ASK_A_FOLLOW_UP_CLIKED =\n\t\"SN_SEARCH_GENIUS_CARD_ASSIST#ASK_A_FOLLOW_UP_CLIKED\";\nexport const SHOW_FULL_ANSWER_CLICKED =\n\t\"SN_SEARCH_GENIUS_CARD_ASSIST#SHOW_FULL_ANSWER_CLICKED\";\n","import { t } from \"sn-translate\";\n\nconst WRONG_GR_TYPE = \"Wrong Intent\";\nconst WRONG_RESULT = \"Wrong Result\";\nconst MISSING_INFORMATION = \"Insufficient Information\";\nconst WRONG_NLQ_FILTER = \"Wrong Table Filter\";\nconst OTHER_FEEDBACK = \"Other\";\n\nconst baseOptions = [\n\t{\n\t\tid: MISSING_INFORMATION,\n\t\tlabel: t(\"It's missing information I want\")\n\t}\n];\n\nexport const DEFAULT_QA_FEEDBACK_OPTIONS = [\n\t{ id: WRONG_GR_TYPE, label: t(\"I am not looking for an article\") },\n\t{ id: WRONG_RESULT, label: t(\"It doesn't answer my question\") }\n].concat(baseOptions);\n\nexport const DEFAULT_USER_CARD_FEEDBACK_OPTIONS = [\n\t{ id: WRONG_GR_TYPE, label: t(\"I am not looking for a person\") },\n\t{\n\t\tid: WRONG_RESULT,\n\t\tlabel: t(\"I am looking for a different person\")\n\t}\n].concat(baseOptions);\n\nexport const DEFAULT_CATALOG_FEEDBACK_OPTIONS = [\n\t{\n\t\tid: WRONG_GR_TYPE,\n\t\tlabel: t(\"I am not looking to request something\")\n\t},\n\t{ id: WRONG_RESULT, label: t(\"I want to request something else\") }\n].concat(baseOptions);\n\nexport const DEFAULT_NLQ_FEEDBACK_OPTIONS = [\n\t{\n\t\tid: WRONG_GR_TYPE,\n\t\tlabel: t(\"I’m not searching for a table\")\n\t},\n\t{\n\t\tid: WRONG_RESULT,\n\t\tlabel: t(\"The table doesn’t match my search\")\n\t},\n\t{\n\t\tid: WRONG_NLQ_FILTER,\n\t\tlabel: t(\"Incorrect filter on the table\")\n\t},\n\t{\n\t\tid: OTHER_FEEDBACK,\n\t\tlabel: t(\"Other, please specify:\")\n\t}\n];\n\nexport const SECONDARY_FEEDBACK_ENABLED_MODELS = {\n\tcatalog: [\n\t\t\"Catalog Item\",\n\t\t\"Catalog\", // com.glide.search.demo\n\t\t\"Catalog Item Semantic Search\",\n\t\t\"Now Assist Catalog Ordering\"\n\t],\n\tpeople: [\n\t\t\"People\",\n\t\t\"People Genius Result\" // com.glide.search.demo\n\t],\n\tqa: [\n\t\t\"Q&A\",\n\t\t\"Q&A Genius Result\", // com.glide.search.demo\n\t\t\"Now Assist Q&A\",\n\t\t\"Knowledge Base Articles\"\n\t],\n\tnlq: [\"NLQ\"]\n};\n\nexport const POWERED_BY_TEXT = t(\"Powered by\");\nexport const AI_SUGGESTION = t(\"AI Suggestion\");\nexport const NLQ_HIGHLIGHTED_TEXT = t(\"NLQ supported by AI\");\nexport const HIGHLIGHTED_TEXT_ICON = \"ai-sparkle-outline\";\nexport const SYNTHESIZED_ANSWER_LABEL = t(\"Answer generated by AI\");\nexport const QA = \"q&a\";\n\nexport const GR_TYPES = {\n\tAI_SEARCH: \"AI_SEARCH\",\n\tNLQ: \"NLQ\",\n\tSYNTHESIZED: \"SYNTHESIZED\"\n};\n\nexport const MOBILE_MEDIA_WIDTH = \"576px\";\nexport const CATALOG_ITEM = t(\"Catalog\");\nexport const NA_CATALOG_ITEM_SPARKLE_TEXT = t(\"Catalog predicted by AI\");\n\n// Card type header constants\nexport const NLQ_CARD_HEADER = t(\"AI NLQ\");\nexport const QA_CARD_HEADER = t(\"AI Q&A\");\n","import compact from \"lodash/compact\";\nimport {\n\tSECONDARY_FEEDBACK_ENABLED_MODELS,\n\tAI_SUGGESTION,\n\tHIGHLIGHTED_TEXT_ICON,\n\tGR_TYPES,\n\tDEFAULT_USER_CARD_FEEDBACK_OPTIONS\n} from \"../constants\";\n\nconst MAX_COMPACT_PERSON_INFO = 2;\nconst HORIZONTAL = \"horizontal\";\nconst VERTICAL = \"vertical\";\n\nexport const transformUserCardProps = (properties, isMobile) => {\n\tconst {\n\t\tidentifier,\n\t\tidentifierCriticalText,\n\t\tavatar,\n\t\tavatarName,\n\t\theading,\n\t\tprimaryDescription,\n\t\tsecondaryDescription,\n\t\tactions,\n\t\tmodel,\n\t\tadditionalInfoLabelOne,\n\t\tadditionalInfoValueOne,\n\t\tadditionalInfoLabelTwo,\n\t\tadditionalInfoValueTwo,\n\t\tadditionalInfoLabelThree,\n\t\tadditionalInfoValueThree,\n\t\tadditionalInfoLabelFour,\n\t\tadditionalInfoValueFour,\n\t\tallowFeedback,\n\t\tfeedbackOptions = DEFAULT_USER_CARD_FEEDBACK_OPTIONS,\n\t\tidentifierFontSize,\n\t\theadingFontSize,\n\t\tdescriptionFontSize,\n\t\tenableDataLabelingFeedback,\n\t\tisGlobal,\n\t\tisOneBox,\n\t\tisActive\n\t} = properties;\n\n\tlet align = HORIZONTAL;\n\tlet labelValues = [];\n\n\tif (additionalInfoLabelOne) {\n\t\tlabelValues.push({\n\t\t\tlabel: additionalInfoLabelOne,\n\t\t\tvalue: additionalInfoValueOne\n\t\t});\n\t}\n\n\tif (additionalInfoLabelTwo) {\n\t\tlabelValues.push({\n\t\t\tlabel: additionalInfoLabelTwo,\n\t\t\tvalue: additionalInfoValueTwo\n\t\t});\n\t}\n\n\tif (additionalInfoLabelThree) {\n\t\tlabelValues.push({\n\t\t\tlabel: additionalInfoLabelThree,\n\t\t\tvalue: additionalInfoValueThree\n\t\t});\n\t}\n\n\tif (additionalInfoLabelFour) {\n\t\tlabelValues.push({\n\t\t\tlabel: additionalInfoLabelFour,\n\t\t\tvalue: additionalInfoValueFour\n\t\t});\n\t}\n\n\tif (isMobile) {\n\t\talign = VERTICAL;\n\t\tlabelValues = labelValues.slice(0, MAX_COMPACT_PERSON_INFO);\n\t}\n\n\tconst descriptionValues = compact([primaryDescription, secondaryDescription]);\n\n\treturn {\n\t\tactions,\n\t\tmodel,\n\t\tthumbnailHeader: model.model,\n\t\tidentifier,\n\t\tidentifierCriticalText,\n\t\theading,\n\t\tmarker: {\n\t\t\ttype: \"avatar\",\n\t\t\tvalue: avatar,\n\t\t\talt: avatarName\n\t\t},\n\t\tdescription: {\n\t\t\ttype: \"stacked\",\n\t\t\tvalues: descriptionValues\n\t\t},\n\t\tlabelValuesInfo: {\n\t\t\tlabelValues,\n\t\t\talign\n\t\t},\n\t\tallowFeedback,\n\t\tfeedbackOptions: SECONDARY_FEEDBACK_ENABLED_MODELS.people.includes(\n\t\t\tmodel.model\n\t\t)\n\t\t\t? feedbackOptions\n\t\t\t: [],\n\t\tidentifierFontSize,\n\t\theadingFontSize,\n\t\tdescriptionFontSize,\n\t\tenableDataLabelingFeedback,\n\t\tisGlobal,\n\t\tisOneBox,\n\t\thighlightedText: AI_SUGGESTION,\n\t\tisActive,\n\t\thighlightedTextIcon: HIGHLIGHTED_TEXT_ICON,\n\t\tgrType: GR_TYPES.AI_SEARCH\n\t};\n};\n","import \"@devsnc/sn-search-genius-card-assist\";\nimport { transformUserCardProps } from \"./utils\";\n\nconst view = state => {\n\tconst {\n\t\tproperties,\n\t\tbehaviors: { mediaQuery }\n\t} = state;\n\tconst { isOneBox } = properties;\n\tconst isMobile = mediaQuery.mobileQuery;\n\tconst userConfig = transformUserCardProps(properties, isMobile);\n\tif (isOneBox) {\n\t\treturn <sn-search-genius-card-assist-mini {...userConfig} />;\n\t} else {\n\t\treturn <sn-search-genius-card-assist {...userConfig} />;\n\t}\n};\n\nexport default view;\n","import { createCustomElement } from \"@servicenow/ui-core\";\nimport snabbdom from \"@servicenow/ui-renderer-snabbdom\";\nimport mediaQueryBehavior from \"@servicenow/behavior-media-query\";\n\nimport { DEFAULT_USER_CARD_FEEDBACK_OPTIONS } from \"../constants\";\nimport view from \"./view\";\n\n/**\n * Card component to display User Genius Results.\n *\n * ```jsx\n * <sn-search-genius-user-card\n *     identifier=\"San Diego, USA\"\n *     avatar=\"45567543231112aa.iix\"\n *     heading=\"System Administrator\"\n *     identifierCriticalText=\"4:30 pm\"\n *     primaryDescription=\"Software Engineer, Dev - Search UX\"\n *     secondaryDescription=\"Web Interfaces\"\n *     additionalInfoLabelOne=\"E-mail\"\n *     additionalInfoValueOne=\"samina.arizmendi@acmetech.com\"\n *     additionalInfoLabelTwo=\"Mobile\"\n *     additionalInfoValueTwo=\"+91 (987)654-3210\"\n *     additionalInfoLabelThree=\"Office\"\n *     additionalInfoValueThree=\"+91 (987)654-3211\"\n *     additionalInfoLabelFour=\"Manager\"\n *     additionalInfoValueFour=\"Abel Tutor\"\n *     actions={[\n *         {\n *             assignmentId: '42fd3e5273511010c342d5fdbdf6a70e',\n *             name: 'activate_user',\n *             label: 'Activate',\n *         },\n *         {\n *             assignmentId: 'e3a173c073151010c342d5fdbdf6a7a2',\n *             name: 'call_number',\n *             label: 'Call Number',\n *         },\n *     ]}\n *     model={{\n *         name: 'Mac Marksberry',\n *         home_phone: '8581234567',\n *         location: 'Bockenheimer Landstraße 123, Frankfurt',\n *         department: 'Customer Support',\n *         sysId: 'fd826bf03710200044e0bfc8bcbe5d30',\n *         sys_id: 'fd826bf03710200044e0bfc8bcbe5d30',\n *         table: 'sys_user',\n *     }}\n * />\n * ```\n *\n * @seismicElement sn-search-genius-user-card\n * @summary Card component to display User Genius Results.\n */\ncreateCustomElement(\"sn-search-genius-user-card\", {\n\trenderer: { type: snabbdom },\n\tview,\n\tinitialState: {\n\t\ttimerId: null,\n\t\ttime: null\n\t},\n\tproperties: {\n\t\t/**\n\t\t * This property specifies the identifier text to render.\n\t\t * @type {string}\n\t\t */\n\t\tidentifier: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This property specifies critical text to render next to the identifier.\n\t\t * This text is rendered in red.\n\t\t * @type {string}\n\t\t */\n\t\tidentifierCriticalText: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the avatar source for the Person genius card.\n\t\t * Renders `<now-avatar />`\n\t\t * @type {string}\n\t\t */\n\t\tavatar: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Name of the user that the avatar represents.\n\t\t * If no `avatar` is provided, then the initials of the first\n\t\t * two names that are provided in the string appear in the avatar.\n\t\t * @type {string}\n\t\t */\n\t\tavatarName: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This property specifies the heading for the card.\n\t\t * @type {string}\n\t\t */\n\t\theading: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Description to place on the first line.\n\t\t * @type {string}\n\t\t */\n\t\tprimaryDescription: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Description to place on the second line.\n\t\t * @type {string}\n\t\t */\n\t\tsecondaryDescription: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the first person additional information label.\n\t\t * @type {string}\n\t\t */\n\t\tadditionalInfoLabelOne: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the first person additional information value.\n\t\t * @type {string}\n\t\t */\n\t\tadditionalInfoValueOne: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the second person additional information label.\n\t\t * @type {string}\n\t\t */\n\t\tadditionalInfoLabelTwo: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the second person additional information value.\n\t\t * @type {string}\n\t\t */\n\t\tadditionalInfoValueTwo: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the third person additional information label.\n\t\t * @type {string}\n\t\t */\n\t\tadditionalInfoLabelThree: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the third person additional information value.\n\t\t * @type {string}\n\t\t */\n\t\tadditionalInfoValueThree: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the fourth person additional information label.\n\t\t * @type {string}\n\t\t */\n\t\tadditionalInfoLabelFour: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the fourth person additional information value.\n\t\t * @type {string}\n\t\t */\n\t\tadditionalInfoValueFour: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This property specifies the actions to render in the genius card at the footer.\n\t\t * Declarative actions are used to configure actions.\n\t\t * @type {array}\n\t\t */\n\t\tactions: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: \"array\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This is an object that contains data associated to the card.\n\t\t * @type {object}\n\t\t */\n\t\tmodel: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: \"object\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Should the thumbs up/thumbs down feedback buttons be shown\n\t\t * @type {boolean}\n\t\t */\n\t\tallowFeedback: {\n\t\t\tdefault: true,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Options to show in the dropdown menu for negative feedback (thumbs down) reasons\n\t\t * @type {array}\n\t\t */\n\t\tfeedbackOptions: {\n\t\t\tdefault: DEFAULT_USER_CARD_FEEDBACK_OPTIONS,\n\t\t\tschema: {\n\t\t\t\ttype: \"array\",\n\t\t\t\titems: { id: \"string\", label: \"string\" }\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the font size applied to identifier section\n\t\t * @type {('sm'|'md'|'lg'|'xl')}\n\t\t * Options include: ['sm', 'md','lg', 'xl']\n\t\t */\n\t\tidentifierFontSize: {\n\t\t\tdefault: \"sm\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tenum: [\"sm\", \"md\", \"lg\", \"xl\"]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the font size applied to the heading section\n\t\t * @type {('sm'|'md'|'lg'|'xl')}\n\t\t * Options include: ['sm', 'md','lg', 'xl']\n\t\t */\n\t\theadingFontSize: {\n\t\t\tdefault: \"xl\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tenum: [\"sm\", \"md\", \"lg\", \"xl\"]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the font size applied to the description section\n\t\t * @type {('sm'|'md'|'lg'|'xl')}\n\t\t * Options include: ['sm', 'md','lg', 'xl']\n\t\t */\n\t\tdescriptionFontSize: {\n\t\t\tdefault: \"md\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tenum: [\"sm\", \"md\", \"lg\", \"xl\"]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Enables the feedback dropdown and intent radio buttons for the card (specific to Data Labeling Tool).\n\t\t * @type {boolean}\n\t\t */\n\t\tenableDataLabelingFeedback: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the genius card is being rendered in platform global search;\n\t\t * the component will have different styling in case of global search.\n\t\t * @type {boolean}\n\t\t */\n\t\tisGlobal: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the genius card is being rendered for OneBox experience;\n\t\t * @type {boolean}\n\t\t */\n\t\tisOneBox: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the genius card active in carousel view for one box\n\t\t * @type {boolean}\n\t\t */\n\t\tisActive: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: mediaQueryBehavior,\n\t\t\toptions: {\n\t\t\t\tmobileQuery: \"(max-width: 600px)\"\n\t\t\t}\n\t\t}\n\t]\n});\n","import { isEmpty, isEqual, get } from \"lodash\";\nimport { t } from \"sn-translate\";\nimport {\n\tSECONDARY_FEEDBACK_ENABLED_MODELS,\n\tPOWERED_BY_TEXT,\n\tHIGHLIGHTED_TEXT_ICON,\n\tAI_SUGGESTION,\n\tQA,\n\tGR_TYPES,\n\tDEFAULT_QA_FEEDBACK_OPTIONS,\n\tQA_CARD_HEADER\n} from \"../constants\";\n\nconst formatIdentifier = identifier =>\n\tisEmpty(identifier) ? identifier : t(`Extracted from '{0}'`, identifier);\n\nconst decodeHtml = text =>\n\tnew DOMParser().parseFromString(text, \"text/html\").documentElement\n\t\t.textContent;\n\nexport const transformQACardProps = properties => {\n\tconst {\n\t\tidentifier,\n\t\theading,\n\t\tdescription,\n\t\tactions,\n\t\tmodel,\n\t\tallowFeedback,\n\t\tfeedbackOptions = DEFAULT_QA_FEEDBACK_OPTIONS,\n\t\tidentifierFontSize,\n\t\theadingFontSize,\n\t\tdescriptionFontSize,\n\t\tenableDataLabelingFeedback,\n\t\tisGlobal,\n\t\tshowHeaderTooltip,\n\t\tshowAboutInfo,\n\t\tpoweredBy,\n\t\tdocumentationUrl,\n\t\tsparkleText,\n\t\tisOneBox,\n\t\tisActive,\n\t\tfollowUpAction,\n\t\tcitations,\n\t\tattachments\n\t} = properties;\n\tconst formattedIdentifier = formatIdentifier(decodeHtml(identifier));\n\tconst type = model?.model ?? \"\";\n\tconst highlightedTextLabel = !isEmpty(sparkleText)\n\t\t? sparkleText\n\t\t: !isEmpty(poweredBy)\n\t\t? `${POWERED_BY_TEXT} ${poweredBy}`\n\t\t: AI_SUGGESTION;\n\tconst hideQACardForExpiredTokenExternalGR =\n\t\tisEqual(get(model, \"columns.source_type\", \"\"), \"external\") &&\n\t\tisEqual(get(model, \"columns.token_present\", \"\"), \"false\");\n\tif (!hideQACardForExpiredTokenExternalGR) {\n\t\treturn {\n\t\t\tactions,\n\t\t\tmodel,\n\t\t\tthumbnailHeader: QA_CARD_HEADER,\n\t\t\tidentifier: formattedIdentifier,\n\t\t\theading,\n\t\t\tdescription: {\n\t\t\t\ttype: \"html\",\n\t\t\t\tvalues: [description]\n\t\t\t},\n\t\t\tallowFeedback,\n\t\t\tfeedbackOptions:\n\t\t\t\tSECONDARY_FEEDBACK_ENABLED_MODELS.qa.includes(type) ||\n\t\t\t\ttype.toLowerCase().includes(QA)\n\t\t\t\t\t? feedbackOptions\n\t\t\t\t\t: [],\n\t\t\tidentifierFontSize,\n\t\t\theadingFontSize,\n\t\t\tdescriptionFontSize,\n\t\t\tenableDataLabelingFeedback,\n\t\t\tisGlobal,\n\t\t\tisOneBox,\n\t\t\thighlightedText: highlightedTextLabel,\n\t\t\thighlightedTextIcon: HIGHLIGHTED_TEXT_ICON,\n\t\t\tshowHeaderTooltip,\n\t\t\tidentifierAtBottom: true,\n\t\t\tshowAboutInfo,\n\t\t\tdocumentationUrl: decodeHtml(documentationUrl),\n\t\t\tgrType: GR_TYPES.AI_SEARCH,\n\t\t\tshowActionAsLink: true,\n\t\t\tisActive,\n\t\t\tsource: identifier,\n\t\t\tfollowUpAction,\n\t\t\tcitations,\n\t\t\tattachments\n\t\t};\n\t} else {\n\t\treturn null;\n\t}\n};\n","import \"@devsnc/sn-search-genius-card-assist\";\nimport { transformQACardProps } from \"./utils\";\n\nconst view = (state, { dispatch }) => {\n\tconst {\n\t\tproperties,\n\t\tbehaviors: { mediaQuery }\n\t} = state;\n\tconst { isOneBox } = properties;\n\tconst isMobile = mediaQuery.mobileQuery;\n\tconst answerConfig = transformQACardProps(properties, dispatch);\n\tif (isOneBox && !isMobile) {\n\t\treturn <sn-search-genius-card-assist-mini {...answerConfig} />;\n\t} else {\n\t\treturn <sn-search-genius-card-assist {...answerConfig} />;\n\t}\n};\nexport default view;\n","import { createCustomElement } from \"@servicenow/ui-core\";\nimport snabbdom from \"@servicenow/ui-renderer-snabbdom\";\nimport mediaQueryBehavior from \"@servicenow/behavior-media-query\";\nimport { DEFAULT_QA_FEEDBACK_OPTIONS, MOBILE_MEDIA_WIDTH } from \"../constants\";\nimport view from \"./view\";\n\n/**\n * Card component to display Q&A Genius Results.\n *\n * ```jsx\n *  <sn-search-genius-qa-card\n *      identifier={identifier}\n *      heading={heading}\n *      description={description}\n *      actions={actions}\n *      model={model}\n *  />\n * ```\n *\n * @seismicElement sn-search-genius-qa-card\n * @summary Card component to display Q&A Genius Results.\n */\ncreateCustomElement(\"sn-search-genius-qa-card\", {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\t/**\n\t\t * This property specifies the identifier text to render.\n\t\t * If an identifier is specified, it will always be interpolated in this template:\n\t\t * Extracted from '${identifier}'.\n\t\t * @type {string}\n\t\t */\n\t\tidentifier: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This property specifies the heading for the card.\n\t\t * @type {string}\n\t\t */\n\t\theading: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the description text(s) for the genius card. It supports HTML content.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This property specifies the actions to render in the genius card at the footer.\n\t\t * Declarative actions are used to configure actions.\n\t\t * @type {array}\n\t\t */\n\t\tactions: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: \"array\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This property specifies the sources that is returned as part of multi context Q&A\n\t\t * @type {array}\n\t\t */\n\t\tcitations: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: \"array\",\n\t\t\t\titems: { id: \"string\", label: \"string\" }\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This property specifies the attachments that should be rendered as part of Q&A card when available in response.\n\t\t * @type {array}\n\t\t */\n\t\tattachments: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: \"array\",\n\t\t\t\titems: { id: \"string\", label: \"string\" }\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This property specifies the sourceType of the GR card can be internal or external\n\t\t * @type {array}\n\t\t */\n\t\tsource: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This is an object that contains data associated to the card.\n\t\t * @type {object}\n\t\t */\n\t\tmodel: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: \"object\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Should the thumbs up/thumbs down feedback buttons be shown\n\t\t * @type {boolean}\n\t\t */\n\t\tallowFeedback: {\n\t\t\tdefault: true,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Options to show in the dropdown menu for negative feedback (thumbs down) reasons\n\t\t * @type {array}\n\t\t */\n\t\tfeedbackOptions: {\n\t\t\tdefault: DEFAULT_QA_FEEDBACK_OPTIONS,\n\t\t\tschema: {\n\t\t\t\ttype: \"array\",\n\t\t\t\titems: { id: \"string\", label: \"string\" }\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the font size applied to identifier section\n\t\t * @type {('sm'|'md'|'lg'|'xl')}\n\t\t * Options include: ['sm', 'md','lg', 'xl']\n\t\t */\n\t\tidentifierFontSize: {\n\t\t\tdefault: \"sm\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tenum: [\"sm\", \"md\", \"lg\", \"xl\"]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the font size applied to the heading section\n\t\t * @type {('sm'|'md'|'lg'|'xl')}\n\t\t * Options include: ['sm', 'md','lg', 'xl']\n\t\t */\n\t\theadingFontSize: {\n\t\t\tdefault: \"lg\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tenum: [\"sm\", \"md\", \"lg\", \"xl\"]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the font size applied to the description section\n\t\t * @type {('sm'|'md'|'lg'|'xl')}\n\t\t * Options include: ['sm', 'md','lg', 'xl']\n\t\t */\n\t\tdescriptionFontSize: {\n\t\t\tdefault: \"sm\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tenum: [\"sm\", \"md\", \"lg\", \"xl\"]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Enables the feedback dropdown and intent radio buttons for the card (specific to Data Labeling Tool).\n\t\t * @type {boolean}\n\t\t */\n\t\tenableDataLabelingFeedback: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the genius card is being rendered in platform global search;\n\t\t * the component will have different styling in case of global search.\n\t\t * @type {boolean}\n\t\t */\n\t\tisGlobal: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the header highlighted value should show a tooltip on hover;\n\t\t * if true, the tooltip indicates the answer is generated by OpenAI.\n\t\t */\n\t\tshowHeaderTooltip: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the 'About' section should appear at the bottom of the genius card.\n\t\t * This section summarizes how the genius result is generated.\n\t\t */\n\t\tshowAboutInfo: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the system that's used to generate the genius result.\n\t\t * When configured, the card header text shows \"Powered by 'value'\" where value is specified by this property.\n\t\t */\n\t\tpoweredBy: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the url to documentation that explains how the genius result is generated.\n\t\t */\n\t\tdocumentationUrl: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the text to show in the header top-right corner with the sparkle icon.\n\t\t */\n\t\tsparkleText: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the genius card is being rendered for OneBox experience;\n\t\t * @type {boolean}\n\t\t */\n\t\tisOneBox: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the genius card active in carousel view for one box\n\t\t * @type {boolean}\n\t\t */\n\t\tisActive: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: mediaQueryBehavior,\n\t\t\toptions: {\n\t\t\t\tmobileQuery: `(max-width: ${MOBILE_MEDIA_WIDTH})`\n\t\t\t}\n\t\t}\n\t]\n});\n","import compact from \"lodash/compact\";\nimport {\n\tSECONDARY_FEEDBACK_ENABLED_MODELS,\n\tGR_TYPES,\n\tCATALOG_ITEM,\n\tNA_CATALOG_ITEM_SPARKLE_TEXT,\n\tDEFAULT_CATALOG_FEEDBACK_OPTIONS\n} from \"../constants\";\n\nexport const transformCatalogCardProps = properties => {\n\tconst {\n\t\tidentifier,\n\t\tmarker,\n\t\tmarkerType,\n\t\timageAlt,\n\t\theading,\n\t\tprimaryDescription,\n\t\tsecondaryDescription,\n\t\tactions,\n\t\tmodel,\n\t\tallowFeedback,\n\t\tfeedbackOptions = DEFAULT_CATALOG_FEEDBACK_OPTIONS,\n\t\tidentifierFontSize,\n\t\theadingFontSize,\n\t\tdescriptionFontSize,\n\t\tenableDataLabelingFeedback,\n\t\tisGlobal,\n\t\tfollowUpAction,\n\t\tisOneBox,\n\t\tisActive\n\t} = properties;\n\n\tconst descriptionValues = compact([primaryDescription, secondaryDescription]);\n\n\treturn {\n\t\tactions,\n\t\tmodel,\n\t\thighlightedText:\n\t\t\tmodel.model === \"Catalog Item Semantic Search\"\n\t\t\t\t? NA_CATALOG_ITEM_SPARKLE_TEXT\n\t\t\t\t: \"\",\n\t\thighlightedTextIcon:\n\t\t\tmodel.model === \"Catalog Item Semantic Search\"\n\t\t\t\t? \"ai-sparkle-outline\"\n\t\t\t\t: \"\",\n\t\tthumbnailHeader: CATALOG_ITEM,\n\t\tidentifier,\n\t\theading,\n\t\tmarker: {\n\t\t\ttype: markerType,\n\t\t\tvalue: marker,\n\t\t\talt: imageAlt\n\t\t},\n\t\tdescription: {\n\t\t\ttype: \"stacked\",\n\t\t\tvalues: descriptionValues\n\t\t},\n\t\tallowFeedback,\n\t\tfeedbackOptions: SECONDARY_FEEDBACK_ENABLED_MODELS.catalog.includes(\n\t\t\tmodel.model\n\t\t)\n\t\t\t? feedbackOptions\n\t\t\t: [],\n\t\tidentifierFontSize,\n\t\theadingFontSize,\n\t\tdescriptionFontSize,\n\t\tenableDataLabelingFeedback,\n\t\tisGlobal,\n\t\tisOneBox,\n\t\tisActive,\n\t\tgrType: GR_TYPES.AI_SEARCH,\n\t\tfollowUpAction\n\t};\n};\n","import \"@devsnc/sn-search-genius-card-assist\";\nimport { transformCatalogCardProps } from \"./utils\";\n\nconst view = (state, { dispatch }) => {\n\tconst {\n\t\tproperties,\n\t\tbehaviors: { mediaQuery }\n\t} = state;\n\tconst { isOneBox } = properties;\n\tconst isMobile = mediaQuery.mobileQuery;\n\tconst catalogConfig = transformCatalogCardProps(properties, dispatch);\n\tif (isOneBox && !isMobile) {\n\t\treturn <sn-search-genius-card-assist-mini {...catalogConfig} />;\n\t} else {\n\t\treturn <sn-search-genius-card-assist {...catalogConfig} />;\n\t}\n};\n\nexport default view;\n","import { createCustomElement } from \"@servicenow/ui-core\";\nimport mediaQueryBehavior from \"@servicenow/behavior-media-query\";\nimport {\n\tDEFAULT_CATALOG_FEEDBACK_OPTIONS,\n\tMOBILE_MEDIA_WIDTH\n} from \"../constants\";\nimport view from \"./view\";\n\n/**\n * Card component to display Catalog Genius Results.\n *\n * ```jsx\n * <sn-search-genius-catalog-card\n *     identifier=\"Benefits\"\n *     marker=\"news-outline\"\n *     markerType=\"icon\"\n *     heading=\"Tuition preapproval\"\n *     primaryDescription=\"This is a description text\"\n *     secondaryDescription=\"This is a secondary text\"\n *     actions={[\n *         {\n *             assignmentId: '42fd3e5273511010c342d5fdbdf6a70e',\n *             name: 'view',\n *             label: 'View',\n *         },\n *     ]}\n *     model={{\n *         name: 'Tuition preapproval',\n *         description: 'This is a description text',\n *         sysId: 'fd826bf03710200044e0bfc8bcbe5d30',\n *         sys_id: 'fd826bf03710200044e0bfc8bcbe5d30',\n *         table: 'sc_cat_item',\n *     }}\n * />\n * ```\n *\n * @seismicElement sn-search-genius-catalog-card\n * @summary Card component to display Catalog Genius Results.\n */\ncreateCustomElement(\"sn-search-genius-catalog-card\", {\n\tview,\n\tinitialState: {\n\t\ttimerId: null,\n\t\ttime: null\n\t},\n\tproperties: {\n\t\t/**\n\t\t * This property specifies the identifier text to render.\n\t\t * @type {string}\n\t\t */\n\t\tidentifier: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the icon or image source to use for the card.\n\t\t * If no icon and image is defined, then the component will default to the icon `pencil-page-outline`.\n\t\t * @type {string}\n\t\t */\n\t\tmarker: {\n\t\t\tdefault: \"pencil-page-outline\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Defines the type of marker to render the appropriate component.\n\t\t * @type ('image'|'icon')\n\t\t */\n\t\tmarkerType: {\n\t\t\tdefault: \"icon\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tenum: [\"icon\", \"image\"]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Alternative text description of the image.\n\t\t * @type {string}\n\t\t */\n\t\timageAlt: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This property specifies the heading for the card.\n\t\t * @type {string}\n\t\t */\n\t\theading: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Primary description for the catalog.\n\t\t * @type {string}\n\t\t */\n\t\tprimaryDescription: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Secondary description for the catalog.\n\t\t * Renders below the primary description.\n\t\t * @type {string}\n\t\t */\n\t\tsecondaryDescription: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This property specifies the actions to render in the genius card at the footer.\n\t\t * Declarative actions are used to configure actions.\n\t\t * @type {array}\n\t\t */\n\t\tactions: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: \"array\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This is an object that contains data associated to the card.\n\t\t * @type {object}\n\t\t */\n\t\tmodel: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: \"object\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Should the thumbs up/thumbs down feedback buttons be shown\n\t\t * @type {boolean}\n\t\t */\n\t\tallowFeedback: {\n\t\t\tdefault: true,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Options to show in the dropdown menu for negative feedback (thumbs down) reasons\n\t\t * @type {array}\n\t\t */\n\t\tfeedbackOptions: {\n\t\t\tdefault: DEFAULT_CATALOG_FEEDBACK_OPTIONS,\n\t\t\tschema: {\n\t\t\t\ttype: \"array\",\n\t\t\t\titems: { id: \"string\", label: \"string\" }\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the font size applied to identifier section\n\t\t * @type {('sm'|'md'|'lg'|'xl')}\n\t\t * Options include: ['sm', 'md','lg', 'xl']\n\t\t */\n\t\tidentifierFontSize: {\n\t\t\tdefault: \"sm\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tenum: [\"sm\", \"md\", \"lg\", \"xl\"]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the font size applied to the heading section\n\t\t * @type {('sm'|'md'|'lg'|'xl')}\n\t\t * Options include: ['sm', 'md','lg', 'xl']\n\t\t */\n\t\theadingFontSize: {\n\t\t\tdefault: \"xl\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tenum: [\"sm\", \"md\", \"lg\", \"xl\"]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the font size applied to the description section\n\t\t * @type {('sm'|'md'|'lg'|'xl')}\n\t\t * Options include: ['sm', 'md','lg', 'xl']\n\t\t */\n\t\tdescriptionFontSize: {\n\t\t\tdefault: \"md\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tenum: [\"sm\", \"md\", \"lg\", \"xl\"]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Enables the feedback dropdown and intent radio buttons for the card (specific to Data Labeling Tool).\n\t\t * @type {boolean}\n\t\t */\n\t\tenableDataLabelingFeedback: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the genius card is being rendered in platform global search;\n\t\t * the component will have different styling in case of global search.\n\t\t * @type {boolean}\n\t\t */\n\t\tisGlobal: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the genius card is being rendered for OneBox experience;\n\t\t * @type {boolean}\n\t\t */\n\t\tisOneBox: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the genius card active in carousel view for one box\n\t\t * @type {boolean}\n\t\t */\n\t\tisActive: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: mediaQueryBehavior,\n\t\t\toptions: {\n\t\t\t\tmobileQuery: `(max-width: ${MOBILE_MEDIA_WIDTH})`\n\t\t\t}\n\t\t}\n\t]\n});\n","import {\n\tSECONDARY_FEEDBACK_ENABLED_MODELS,\n\tGR_TYPES,\n\tHIGHLIGHTED_TEXT_ICON,\n\tNLQ_HIGHLIGHTED_TEXT,\n\tDEFAULT_NLQ_FEEDBACK_OPTIONS,\n\tNLQ_CARD_HEADER\n} from \"../constants\";\n\nexport const transformNLQCardProps = properties => {\n\tconst {\n\t\tactions,\n\t\tmodel,\n\t\tallowFeedback,\n\t\tfeedbackOptions = DEFAULT_NLQ_FEEDBACK_OPTIONS,\n\t\tshowAboutInfo,\n\t\tshowHeaderTooltip,\n\t\tenableDataLabelingFeedback,\n\t\tisGlobal,\n\t\tresponse,\n\t\tsearchProfile,\n\t\tutterance,\n\t\tisOneBox,\n\t\tisActive\n\t} = properties;\n\n\tlet highlightedText = \"\";\n\tlet highlightedTextIcon = \"\";\n\tconst parsedResponse = JSON.parse(response);\n\tfor (let i = 0; i < parsedResponse.length; i++) {\n\t\tif (parsedResponse[i].GAI) {\n\t\t\thighlightedText = NLQ_HIGHLIGHTED_TEXT;\n\t\t\thighlightedTextIcon = HIGHLIGHTED_TEXT_ICON;\n\t\t}\n\t}\n\n\treturn {\n\t\tactions,\n\t\tmodel,\n\t\tthumbnailHeader: NLQ_CARD_HEADER,\n\t\tresponse: response,\n\t\tallowFeedback,\n\t\tshowAboutInfo,\n\t\tshowHeaderTooltip,\n\t\tfeedbackOptions: SECONDARY_FEEDBACK_ENABLED_MODELS.nlq.includes(model.model)\n\t\t\t? feedbackOptions\n\t\t\t: [],\n\t\thighlightedText: highlightedText,\n\t\thighlightedTextIcon: highlightedTextIcon,\n\t\tenableDataLabelingFeedback,\n\t\tisGlobal,\n\t\tsearchProfile,\n\t\tutterance,\n\t\tisActive,\n\t\tisOneBox,\n\t\tgrType: GR_TYPES.NLQ\n\t};\n};\n","import \"@devsnc/sn-search-genius-card-assist\";\nimport { transformNLQCardProps } from \"./utils\";\n\nconst view = (state, { dispatch }) => {\n\tconst {\n\t\tproperties,\n\t\tbehaviors: { mediaQuery }\n\t} = state;\n\tconst { isOneBox } = properties;\n\tconst nlqConfig = transformNLQCardProps(properties, dispatch);\n\tconst isMobile = mediaQuery.mobileQuery;\n\tif (isOneBox && !isMobile) {\n\t\treturn <sn-search-genius-card-assist-mini {...nlqConfig} />;\n\t} else {\n\t\treturn <sn-search-genius-card-assist {...nlqConfig} />;\n\t}\n};\n\nexport default view;\n","import { createCustomElement } from \"@servicenow/ui-core\";\nimport snabbdom from \"@servicenow/ui-renderer-snabbdom\";\nimport mediaQueryBehavior from \"@servicenow/behavior-media-query\";\n\nimport { DEFAULT_NLQ_FEEDBACK_OPTIONS, MOBILE_MEDIA_WIDTH } from \"../constants\";\nimport view from \"./view\";\n/**\n * Card component to display NLQ Genius Results.\n *\n * ```jsx\n * <sn-search-genius-catalog-card\n *     actions={[\n *     ]}\n *     model={{\n *         label: \"NLQ\",\n *         response: \"[{\\\"name\\\":\\\"incident\\\",\\\"label\\\":\\\"incident\\\",\\\"filter\\\":\\\"short_descriptionLIKElaptop\\\"}]\",\n *         sysId: \"bc8c49bca04df110f87789b8dc7b9309\",\n *         sys_id: \"bc8c49bca04df110f87789b8dc7b9309\",\n *         table: \"v_search_genius_result\"\n *     }}\n * \t   response=\"[{\"name\":\"incident\",\"label\":\"Incident\"}]\"\n * />\n * ```\n *\n * @seismicElement sn-search-genius-nlq-card\n * @summary Card component to display NLQ Genius Results.\n */\ncreateCustomElement(\"sn-search-genius-nlq-card\", {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\tutterance: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\tsearchProfile: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\tresponse: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\tactions: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: \"array\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This is an object that contains data associated to the card.\n\t\t * @type {object}\n\t\t */\n\t\tmodel: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: \"object\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Should the thumbs up/thumbs down feedback buttons be shown\n\t\t * @type {boolean}\n\t\t */\n\t\tallowFeedback: {\n\t\t\tdefault: true,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Options to show in the dropdown menu for negative feedback (thumbs down) reasons\n\t\t * @type {array}\n\t\t */\n\t\tfeedbackOptions: {\n\t\t\tdefault: DEFAULT_NLQ_FEEDBACK_OPTIONS,\n\t\t\tschema: {\n\t\t\t\ttype: \"array\",\n\t\t\t\titems: { id: \"string\", label: \"string\" }\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Enables the feedback dropdown and intent radio buttons for the card (specific to Data Labeling Tool).\n\t\t * @type {boolean}\n\t\t */\n\t\tenableDataLabelingFeedback: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the 'About' section should appear at the bottom of the genius card.\n\t\t * This section summarizes how the genius result is generated.\n\t\t */\n\t\tshowAboutInfo: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the header highlighted value should show a tooltip on hover;\n\t\t * if true, the tooltip indicates the answer is generated by OpenAI.\n\t\t */\n\t\tshowHeaderTooltip: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the genius card is being rendered in platform global search;\n\t\t * the component will have different styling in case of global search.\n\t\t * @type {boolean}\n\t\t */\n\t\tisGlobal: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the genius card is being rendered for OneBox experience;\n\t\t * @type {boolean}\n\t\t */\n\t\tisOneBox: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the genius card active in carousel view for one box\n\t\t * @type {boolean}\n\t\t */\n\t\tisActive: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: mediaQueryBehavior,\n\t\t\toptions: {\n\t\t\t\tmobileQuery: `(max-width: ${MOBILE_MEDIA_WIDTH})`\n\t\t\t}\n\t\t}\n\t]\n});\n","import { isEmpty } from \"lodash\";\nimport {\n\tHIGHLIGHTED_TEXT_ICON,\n\tGR_TYPES,\n\tSYNTHESIZED_ANSWER_LABEL\n} from \"../constants\";\n\nconst decodeHtml = text =>\n\tnew DOMParser().parseFromString(text, \"text/html\").documentElement\n\t\t.textContent;\n\nexport const transformSynthesizedCardProps = properties => {\n\tconst {\n\t\theading,\n\t\tdescription,\n\t\tactions,\n\t\tmodel,\n\t\tallowFeedback,\n\t\tfeedbackOptions,\n\t\theadingFontSize,\n\t\tdescriptionFontSize,\n\t\tenableDataLabelingFeedback,\n\t\tisGlobal,\n\t\tshowHeaderTooltip,\n\t\tshowAboutInfo,\n\t\tdocumentationUrl,\n\t\tsparkleText,\n\t\tisOneBox,\n\t\tisActive,\n\t\tfollowUpAction,\n\t\tcitations,\n\t\tattachments,\n\t\tmessages\n\t} = properties;\n\tconst highlightedTextLabel =\n\t\t!isEmpty(sparkleText) && sparkleText !== \"undefined\"\n\t\t\t? sparkleText\n\t\t\t: SYNTHESIZED_ANSWER_LABEL;\n\treturn {\n\t\tactions,\n\t\tmodel,\n\t\tthumbnailHeader: model.model,\n\t\theading,\n\t\tdescription: {\n\t\t\ttype: \"html\",\n\t\t\tvalues: [description]\n\t\t},\n\t\tallowFeedback,\n\t\tfeedbackOptions,\n\t\theadingFontSize,\n\t\tdescriptionFontSize,\n\t\tenableDataLabelingFeedback,\n\t\tisGlobal,\n\t\tisOneBox,\n\t\thighlightedText: highlightedTextLabel,\n\t\thighlightedTextIcon: HIGHLIGHTED_TEXT_ICON,\n\t\tshowHeaderTooltip,\n\t\tshowAboutInfo,\n\t\tdocumentationUrl: decodeHtml(documentationUrl),\n\t\tgrType: GR_TYPES.SYNTHESIZED,\n\t\tshowActionAsLink: true,\n\t\tisActive,\n\t\tfollowUpAction,\n\t\tcitations,\n\t\tattachments,\n\t\tmessages\n\t};\n};\n","import \"@devsnc/sn-search-genius-card-assist\";\nimport { transformSynthesizedCardProps } from \"./utils\";\n\nconst view = (state, { dispatch }) => {\n\tconst {\n\t\tproperties,\n\t\tbehaviors: { mediaQuery }\n\t} = state;\n\tconst { isOneBox } = properties;\n\tconst isMobile = mediaQuery.mobileQuery;\n\tconst answerConfig = transformSynthesizedCardProps(properties, dispatch);\n\tif (isOneBox && !isMobile) {\n\t\treturn <sn-search-genius-card-assist-mini {...answerConfig} />;\n\t} else {\n\t\treturn <sn-search-genius-card-assist {...answerConfig} />;\n\t}\n};\nexport default view;\n","import { createCustomElement } from \"@servicenow/ui-core\";\nimport snabbdom from \"@servicenow/ui-renderer-snabbdom\";\nimport mediaQueryBehavior from \"@servicenow/behavior-media-query\";\nimport { DEFAULT_QA_FEEDBACK_OPTIONS, MOBILE_MEDIA_WIDTH } from \"../constants\";\nimport view from \"./view\";\n\n/**\n * Card component to display Synthesized Genius Results.\n *\n * ```jsx\n *  <sn-search-genius-synthesized-card\n *      messages={messages}\n *      actions={actions}\n *      model={model}\n *  />\n * ```\n *\n * @seismicElement sn-search-genius-synthesized-card\n * @summary Card component to display Synthesized Genius Results.\n */\ncreateCustomElement(\"sn-search-genius-synthesized-card\", {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\t/**\n\t\t * This property specifies the text for the synthesized answer.\n\t\t * @type {string}\n\t\t */\n\t\tmessages: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: \"object\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This property specifies the heading for the card.\n\t\t * @type {string}\n\t\t */\n\t\theading: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the description text(s) for the genius card. It supports HTML content.\n\t\t * @type {string}\n\t\t */\n\t\tdescription: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This property specifies the actions to render in the genius card at the footer.\n\t\t * Declarative actions are used to configure actions.\n\t\t * @type {array}\n\t\t */\n\t\tactions: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: \"array\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This property specifies the sources that is returned as part of multi context Q&A\n\t\t * @type {array}\n\t\t */\n\t\tcitations: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: \"array\",\n\t\t\t\titems: { id: \"string\", label: \"string\" }\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This property specifies the attachments that should be rendered as part of Q&A card when available in response.\n\t\t * @type {array}\n\t\t */\n\t\tattachments: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: \"array\",\n\t\t\t\titems: { id: \"string\", label: \"string\" }\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This property specifies the sourceType of the GR card can be internal or external\n\t\t * @type {array}\n\t\t */\n\t\tsource: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This is an object that contains data associated to the card.\n\t\t * @type {object}\n\t\t */\n\t\tmodel: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: \"object\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Should the thumbs up/thumbs down feedback buttons be shown\n\t\t * @type {boolean}\n\t\t */\n\t\tallowFeedback: {\n\t\t\tdefault: true,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Options to show in the dropdown menu for negative feedback (thumbs down) reasons\n\t\t * @type {array}\n\t\t */\n\t\tfeedbackOptions: {\n\t\t\tdefault: DEFAULT_QA_FEEDBACK_OPTIONS,\n\t\t\tschema: {\n\t\t\t\ttype: \"array\",\n\t\t\t\titems: { id: \"string\", label: \"string\" }\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the font size applied to the heading section\n\t\t * @type {('sm'|'md'|'lg'|'xl')}\n\t\t * Options include: ['sm', 'md','lg', 'xl']\n\t\t */\n\t\theadingFontSize: {\n\t\t\tdefault: \"lg\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tenum: [\"sm\", \"md\", \"lg\", \"xl\"]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the font size applied to the description section\n\t\t * @type {('sm'|'md'|'lg'|'xl')}\n\t\t * Options include: ['sm', 'md','lg', 'xl']\n\t\t */\n\t\tdescriptionFontSize: {\n\t\t\tdefault: \"sm\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tenum: [\"sm\", \"md\", \"lg\", \"xl\"]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Enables the feedback dropdown and intent radio buttons for the card (specific to Data Labeling Tool).\n\t\t * @type {boolean}\n\t\t */\n\t\tenableDataLabelingFeedback: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the genius card is being rendered in platform global search;\n\t\t * the component will have different styling in case of global search.\n\t\t * @type {boolean}\n\t\t */\n\t\tisGlobal: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the header highlighted value should show a tooltip on hover;\n\t\t * if true, the tooltip indicates the answer is generated by OpenAI.\n\t\t */\n\t\tshowHeaderTooltip: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the 'About' section should appear at the bottom of the genius card.\n\t\t * This section summarizes how the genius result is generated.\n\t\t */\n\t\tshowAboutInfo: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the url to documentation that explains how the genius result is generated.\n\t\t */\n\t\tdocumentationUrl: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the text to show in the header top-right corner with the sparkle icon.\n\t\t */\n\t\tsparkleText: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the genius card is being rendered for OneBox experience;\n\t\t * @type {boolean}\n\t\t */\n\t\tisOneBox: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the genius card active in carousel view for one box\n\t\t * @type {boolean}\n\t\t */\n\t\tisActive: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: mediaQueryBehavior,\n\t\t\toptions: {\n\t\t\t\tmobileQuery: `(max-width: ${MOBILE_MEDIA_WIDTH})`\n\t\t\t}\n\t\t}\n\t]\n});\n","import {\n\ttransformUserCardProps,\n\ttransformQACardProps,\n\ttransformCatalogCardProps,\n\ttransformNLQCardProps,\n\ttransformSynthesizedCardProps\n} from \"@devsnc/sn-search-genius-cards\";\n\nexport const transformProps = (props, type, isMobile = false) => {\n\tswitch (type) {\n\t\tcase \"sn-search-genius-user-card\":\n\t\t\treturn transformUserCardProps(props, isMobile);\n\t\tcase \"sn-search-genius-qa-card\":\n\t\t\treturn transformQACardProps(props);\n\t\tcase \"sn-search-genius-catalog-card\":\n\t\t\treturn transformCatalogCardProps(props);\n\t\tcase \"sn-search-genius-nlq-card\":\n\t\t\treturn transformNLQCardProps(props);\n\t\tcase \"sn-search-genius-synthesized-card\":\n\t\t\treturn transformSynthesizedCardProps(props);\n\t}\n};\n","import GlideSignals from \"sn-signals\";\n\nexport const CATALOG_INTENT = \"catalogFind\";\nexport const USER_INTENT = \"personFind\";\n\nexport const CATALOG_SOURCE_TABLE = \"sc_cat_item\";\nexport const USER_SOURCE_TABLE = \"sys_user\";\n\nexport const ANALYTICS_EVENTS = {\n\tGENIUS_RESULT_CLICK: \"Search Genius Result Action Click\",\n\tGENIUS_RESULT_FEEDBACK_CLICK: \"Search Genius Feedback Action Click\"\n};\n\nexport const ANALYTICS_EVENT_INTENTS = {\n\tQUERY_INTENT_TRIGGERED: \"Triggered NLU Query Intent\",\n\tGENIUS_RESULT_TRIGGERED: \"Triggered NLU Genius Result Intent\"\n};\n\nexport const INFO_EVENT = GlideSignals.priority.INFO;\nexport const GENIUS_RESULT_EVENT = \"GENIUS_RESULT_EVENT\";\nexport const GENIUS_RESULT_TRIGGERED = \"GENIUS_RESULT_TRIGGERED\";\n","import GlideSignals from \"sn-signals\";\n\nconst signalTracker = {\n\ttrackEvent(eventAction, eventPriority, eventModel, config) {\n\t\tGlideSignals.trackEvent(eventAction, eventPriority, eventModel, config);\n\t}\n};\n\nexport default signalTracker;\n","import {\n\tGENIUS_RESULT_TRIGGERED,\n\tINFO_EVENT,\n\tCATALOG_SOURCE_TABLE,\n\tCATALOG_INTENT,\n\tUSER_INTENT,\n\tUSER_SOURCE_TABLE,\n\tANALYTICS_EVENTS,\n\tGENIUS_RESULT_EVENT,\n\tANALYTICS_EVENT_INTENTS\n} from \"./constants\";\n\nimport { GENIUS_RESULT_CLICK_RANK } from \"../constants\";\n\nimport isEmpty from \"lodash/isEmpty\";\nimport { SEARCH_RESULTS_DECLARATIVE_ACTION } from \"../actions\";\nimport signalTracker from \"./signalTracker\";\n\nexport const trackGeniusResultTriggeredEvent = searchAnalyticsPayload => {\n\tsignalTracker.trackEvent(\n\t\tGENIUS_RESULT_TRIGGERED,\n\t\tINFO_EVENT,\n\t\tsearchAnalyticsPayload,\n\t\t{ trackAsync: true }\n\t);\n};\n\nexport const getGeniusResultIndex = (model, state) => {\n\tconst { geniusResultsReceived } = state;\n\tconst sysId = model.sysId ? model.sysId : model.sys_id;\n\tvar grIndex = geniusResultsReceived.items.findIndex(geniusResult => {\n\t\tconst targetId = geniusResult.propValues.model.sysId\n\t\t\t? geniusResult.propValues.model.sysId\n\t\t\t: geniusResult.propValues.model.sys_id;\n\t\treturn targetId == sysId;\n\t});\n\treturn grIndex + 1;\n};\n\nexport const trackGeniusResultEvent = (\n\taction,\n\tdispatch,\n\tstate,\n\tproperties,\n\tisFeedback = false,\n\tcustomValues = {}\n) => {\n\tconst eventMetadata = _generateCoreEventMetadata(action, properties, state);\n\tconst {\n\t\tsearchContextConfigId,\n\t\tqueryTerm,\n\t\tappliedFacetFilters,\n\t\tappliedFilterIds,\n\t\tappliedSortOptionId,\n\t\tresultSysId,\n\t\ttableType,\n\t\tnumber,\n\t\tlabelDescription,\n\t\tsourceTable,\n\t\taisDocId,\n\t\tcardType,\n\t\tuserId,\n\t\tsessionId,\n\t\tuseLegacySignalTracking,\n\t\tmodel\n\t} = eventMetadata;\n\n\tconst {\n\t\tsearchResultMetadata: { matchedQueryIntents, matchedGeniusResultIntents }\n\t} = properties;\n\n\tconst actionPayload = action.payload.action;\n\tconst actionValues =\n\t\tactionPayload && actionPayload.actionType\n\t\t\t? {\n\t\t\t\t\tactionType: actionPayload.actionType,\n\t\t\t\t\tactionId: actionPayload.assignmentId,\n\t\t\t\t\tactionValue: actionPayload.label\n\t\t\t  }\n\t\t\t: {};\n\n\tconst matchedIntentsPerSource = _getIntentsBySource(\n\t\tsourceTable,\n\t\tmatchedGeniusResultIntents\n\t);\n\n\tconst geniusResultConfigId = model.ais_genius_config_id;\n\tlet signalsPayload = {\n\t\tsearchContextConfigId,\n\t\tqueryTerm,\n\t\tresultSysId,\n\t\ttableType,\n\t\tnumber,\n\t\tlabelDescription,\n\t\tsourceTable,\n\t\taisDocId,\n\t\tcardType,\n\t\tmatchedIntentsPerSource,\n\t\tgeniusResultConfigId,\n\t\t...actionValues,\n\t\t...customValues\n\t};\n\n\tif (!useLegacySignalTracking) {\n\t\tsignalsPayload = {\n\t\t\t...signalsPayload,\n\t\t\tappliedFacetFilters,\n\t\t\tappliedFilterIds,\n\t\t\tappliedSortOptionId,\n\t\t\tuserId,\n\t\t\tsessionId\n\t\t};\n\t}\n\n\tif (!isFeedback) {\n\t\tsignalsPayload[GENIUS_RESULT_CLICK_RANK] = getGeniusResultIndex(\n\t\t\tmodel,\n\t\t\tstate\n\t\t);\n\t}\n\n\tconst baseAnalyticsPayload = {\n\t\t...signalsPayload,\n\t\tsearchTerm: queryTerm\n\t};\n\n\tif (matchedQueryIntents) {\n\t\tbaseAnalyticsPayload.matchedQueryIntents = matchedQueryIntents;\n\t}\n\n\tif (baseAnalyticsPayload.actionValue) {\n\t\tbaseAnalyticsPayload.actionName = baseAnalyticsPayload.actionValue;\n\t}\n\n\tconst analyticsPayload = isFeedback\n\t\t? _getGeniusResultFeedbackModel(baseAnalyticsPayload)\n\t\t: _getGeniusResultAnalyticsModel(baseAnalyticsPayload);\n\n\tconst finalPayload = {\n\t\t...action.payload,\n\t\tanalyticsPayload\n\t};\n\n\tsignalTracker.trackEvent(GENIUS_RESULT_EVENT, INFO_EVENT, signalsPayload, {\n\t\tdelay: 0,\n\t\trequirePreceedingEventCompletion: true,\n\t\tcallback: () => dispatch(SEARCH_RESULTS_DECLARATIVE_ACTION, finalPayload),\n\t\ttrackAsync: true\n\t});\n};\n\nconst _getGeniusResultSourceTable = (actionPayload, model) => {\n\tif (actionPayload && actionPayload.table) {\n\t\treturn actionPayload.table;\n\t}\n\treturn model[\"columns.table\"] != null ? model[\"columns.table\"] : model.table;\n};\n\nconst _getGeniusResultLabel = (model, actionPayload, state) => {\n\t// Legacy (non-NA) GRs and NA Actions\n\tlet label =\n\t\tmodel[\"columns.ai_search_teaser_title\"] ||\n\t\tmodel[\"columns.name\"] ||\n\t\tmodel[\"columns.label\"];\n\tif (!isEmpty(label)) return label;\n\n\t// Now Assist Q&A citation clicks\n\tif (\n\t\t!isEmpty(actionPayload) &&\n\t\t\"sys_id\" in actionPayload &&\n\t\t!isEmpty(model) &&\n\t\t\"columns.citations\" in model\n\t) {\n\t\tconst { sys_id } = actionPayload;\n\t\tconst citationsList = JSON.parse(model[\"columns.citations\"]);\n\t\tconst citation = citationsList.find(citation => citation.sys_id === sys_id);\n\t\tif (citation) {\n\t\t\treturn citation.short_description;\n\t\t}\n\t}\n\n\t// Synthesized response citations:\n\tif (\n\t\tstate.rawGeniusResultsReceived &&\n\t\t!isEmpty(state.rawGeniusResultsReceived.items)\n\t) {\n\t\tconst matchingItem = state.rawGeniusResultsReceived.items.find(\n\t\t\titem =>\n\t\t\t\titem.propValues.model[\"columns.result_type\"] === \"citation\" &&\n\t\t\t\titem.propValues.model[\"columns.table\"] === actionPayload.table &&\n\t\t\t\titem.propValues.model[\"columns.sys_id\"] === actionPayload.sysId\n\t\t);\n\t\tif (matchingItem) {\n\t\t\treturn matchingItem.propValues.model[\"columns.name\"];\n\t\t}\n\n\t\tconst knowledgeCitationsGr = state.rawGeniusResultsReceived.items.find(\n\t\t\titem =>\n\t\t\t\titem.propValues.model[\"columns.result_type\"] === \"citation\" &&\n\t\t\t\t!(\"columns.table\" in item.propValues.model)\n\t\t);\n\t\tif (knowledgeCitationsGr) {\n\t\t\tconst citationsList = JSON.parse(\n\t\t\t\tknowledgeCitationsGr.propValues.model[\"columns.citations\"]\n\t\t\t);\n\t\t\tconst citation = citationsList.find(\n\t\t\t\tcitation => citation.sys_id === actionPayload.sys_id\n\t\t\t);\n\t\t\tif (citation) {\n\t\t\t\treturn citation.short_description;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn \"\";\n};\n\nconst _getIntentsBySource = (sourceTable, matchedGeniusResultIntents) => {\n\tconst intents = !isEmpty(matchedGeniusResultIntents)\n\t\t? matchedGeniusResultIntents.split(\",\")\n\t\t: [];\n\n\tlet matchedIntentsPerSource = \"\";\n\tintents.forEach(intent => {\n\t\tif (sourceTable === CATALOG_SOURCE_TABLE && intent.includes(\"catalog\")) {\n\t\t\tmatchedIntentsPerSource = CATALOG_INTENT;\n\t\t} else if (sourceTable === USER_SOURCE_TABLE && intent.includes(\"person\")) {\n\t\t\tmatchedIntentsPerSource = USER_INTENT;\n\t\t}\n\t});\n\n\treturn matchedIntentsPerSource;\n};\n\nconst _generateCoreEventMetadata = (action, properties, state) => {\n\tconst { searchResultMetadata, searchContextConfigId } = properties;\n\tconst {\n\t\tpayload: {\n\t\t\tmodel,\n\t\t\ttype,\n\t\t\taction: { actionPayload }\n\t\t}\n\t} = action;\n\n\tconst typeOfAction = type ? type : model.type;\n\n\tconst {\n\t\tsearchTerm,\n\t\tcorrectedSearchTerm,\n\t\tmatchedGeniusResultIntents\n\t} = searchResultMetadata;\n\n\tconst useLegacySignalTracking = isEmpty(\n\t\tsearchResultMetadata.searchAnalyticsPayload\n\t);\n\n\tconst searchAnalyticsPayload = !useLegacySignalTracking\n\t\t? searchResultMetadata.searchAnalyticsPayload\n\t\t: {};\n\n\tconst resultSysId =\n\t\tactionPayload?.sys_id || actionPayload?.sysId || model.sysId || \"\";\n\tconst number = model.number || \"\";\n\tconst queryTerm = !isEmpty(correctedSearchTerm)\n\t\t? correctedSearchTerm\n\t\t: searchTerm;\n\n\tlet sourceTable = \"\";\n\tlet labelDescription = \"\";\n\tlet aisDocId = \"\";\n\tlet cardType = \"\";\n\tif (model) {\n\t\tsourceTable = _getGeniusResultSourceTable(actionPayload, model);\n\t\tlabelDescription = _getGeniusResultLabel(model, actionPayload, state);\n\t\taisDocId = model.aisDocId || sourceTable.concat(\"_\", model.sysId);\n\n\t\tcardType = model.model || \"\"; // Model is the type of the Genius Card Template\n\t}\n\treturn {\n\t\tsearchResultMetadata,\n\t\tsearchContextConfigId,\n\t\tmodel,\n\t\ttype: typeOfAction,\n\t\tsearchTerm,\n\t\tqueryTerm,\n\t\tappliedFacetFilters: useLegacySignalTracking\n\t\t\t? []\n\t\t\t: searchAnalyticsPayload.appliedFacetFilters,\n\t\tappliedFilterIds: useLegacySignalTracking\n\t\t\t? []\n\t\t\t: searchAnalyticsPayload.appliedFilterIds,\n\t\tappliedSortOptionId: useLegacySignalTracking\n\t\t\t? []\n\t\t\t: searchAnalyticsPayload.appliedSortOptionId,\n\t\tmatchedGeniusResultIntents,\n\t\tresultSysId,\n\t\tnumber,\n\t\tsourceTable,\n\t\tlabelDescription,\n\t\taisDocId,\n\t\tcardType,\n\t\tuserId: useLegacySignalTracking ? \"\" : searchAnalyticsPayload.userId,\n\t\tsessionId: useLegacySignalTracking ? \"\" : searchAnalyticsPayload.sessionId,\n\t\tuseLegacySignalTracking,\n\t\tsearchAnalyticsPayload\n\t};\n};\n\nconst _getGeniusResultFeedbackModel = model => {\n\tconst analyticsPayload = {\n\t\tparentEvent: {\n\t\t\tEventName: ANALYTICS_EVENTS.GENIUS_RESULT_FEEDBACK_CLICK,\n\t\t\tEventPayload: {\n\t\t\t\t\"Search Query\": model.searchTerm,\n\t\t\t\t\"Genius Type\": model.cardType,\n\t\t\t\t\"Genius Result Doc Id\": model.aisDocId,\n\t\t\t\t\"Genius Result Title\": model.labelDescription,\n\t\t\t\t\"Clicked Action Label\": model.actionName,\n\t\t\t\t\"Clicked Action Label Id\": model.actionId\n\t\t\t}\n\t\t},\n\t\tchildEvents: []\n\t};\n\n\treturn analyticsPayload;\n};\n\nconst _getChildEvents = model => {\n\tconst childEvents = [];\n\tconst geniusResultIntents = isEmpty(model.matchedGeniusResultIntents)\n\t\t? []\n\t\t: model.matchedGeniusResultIntents.split(\",\");\n\n\tgeniusResultIntents.forEach(intent =>\n\t\tchildEvents.push({\n\t\t\tEventName: ANALYTICS_EVENT_INTENTS.GENIUS_RESULT_TRIGGERED,\n\t\t\tEventPayload: {\n\t\t\t\t\"Search Query\": model.searchTerm,\n\t\t\t\t\"Triggered Intent\": intent\n\t\t\t}\n\t\t})\n\t);\n\n\treturn childEvents;\n};\n\nconst _getGeniusResultAnalyticsModel = model => {\n\tconst analyticsPayload = {\n\t\tparentEvent: {\n\t\t\tEventName: ANALYTICS_EVENTS.GENIUS_RESULT_CLICK,\n\t\t\tEventPayload: {\n\t\t\t\t\"Search Query\": model.searchTerm,\n\t\t\t\t\"Genius Type\": model.cardType,\n\t\t\t\t\"Genius Result Doc Id\": model.aisDocId,\n\t\t\t\t\"Genius Result Title\": model.labelDescription,\n\t\t\t\t\"Clicked Action Label\": model.actionName,\n\t\t\t\t\"Clicked Action Label Id\": model.actionId\n\t\t\t}\n\t\t},\n\t\tchildEvents: _getChildEvents(model)\n\t};\n\n\treturn analyticsPayload;\n};\n","import { isEmpty, get } from \"lodash\";\nexport const generateVAPayload = (data, payload, properties) => {\n\tlet intention = \"\";\n\tlet newPayload = {};\n\tlet type = \"\";\n\tlet index = \"\";\n\tlet sysIdOfRecord = \"\";\n\tif (isEmpty(data)) {\n\t\treturn newPayload;\n\t}\n\tconst { searchResultMetadata } = properties;\n\tif (payload.type === \"ASK_A_FOLLOW_UP\") {\n\t\tintention = \"followup\";\n\t\ttype = \"followup\";\n\t}\n\n\tif (payload.type === \"catalog_click\") {\n\t\tintention = \"execute\";\n\t\ttype = \"genius\";\n\t\tsysIdOfRecord = get(payload, \"clickedItemSysId\", \"\");\n\t}\n\n\tconst geniusResultsVA = {\n\t\titems: []\n\t};\n\n\tdata.items.forEach((element, i) => {\n\t\tvar vaItem = Object.assign({}, get(element, \"vaEvamItem\", {}));\n\t\tvar vaItemSysId = get(vaItem.propValues.model, \"sys_id\", \"\");\n\n\t\tif (\n\t\t\t!isEmpty(sysIdOfRecord) &&\n\t\t\t!isEmpty(vaItemSysId) &&\n\t\t\tvaItemSysId === sysIdOfRecord\n\t\t) {\n\t\t\tindex = i - 1;\n\t\t}\n\t\tgeniusResultsVA.items.push(vaItem);\n\t});\n\n\tnewPayload = {\n\t\tintention: intention,\n\t\tutterance: searchResultMetadata.searchTerm,\n\t\trawResult: {\n\t\t\texecutionResult: {\n\t\t\t\tsearchMetadata: {\n\t\t\t\t\tsearchResultMetadata\n\t\t\t\t},\n\t\t\t\tsearchResultsTemplates: {\n\t\t\t\t\titems: []\n\t\t\t\t},\n\t\t\t\tgeniusResultsTemplates: {\n\t\t\t\t\t...geniusResultsVA\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tselectedItem: {\n\t\t\tindex: index,\n\t\t\ttype: type\n\t\t}\n\t};\n\treturn newPayload;\n};\n","import { isEmpty, get, isEqual } from \"lodash\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport { createAmbSubscriptionEffect } from \"@servicenow/ui-effect-amb\";\nimport { actionTypes } from \"@servicenow/ui-core\";\nimport { t } from \"sn-translate\";\n\nimport { transformProps } from \"./utils/transformProps\";\nimport {\n\tAMB_SUBSCRIPTION_ACTIONS,\n\tASYNC_RESULT_LOADING_TIMEOUT,\n\tCREATE_GR_SUBSCRIPTION,\n\tTOP_RESULTS_CHAT_TRIGGERED,\n\tTOP_RESULTS_ACTION_DELEGATED\n} from \"./actions\";\nimport {\n\ttrackGeniusResultTriggeredEvent,\n\ttrackGeniusResultEvent,\n\tgetGeniusResultIndex\n} from \"./signals/utils\";\n\nimport { generateVAPayload } from \"./utils/utils\";\n\nimport {\n\tDELEGATED_ACTION_TYPES,\n\tSR_ONLY_MESSAGES,\n\tEXTERNAL_CONTENT_TYPE,\n\tGENIUS_RESULT_CLICK_RANK,\n\tCITATION_TYPES,\n\tPOSITIVE_FEEDBACK_TYPE,\n\tNEGATIVE_FEEDBACK_TYPE,\n\tFEEDBACK_ACTION_TYPE,\n\tDEFAULT_QA_FEEDBACK_OPTIONS,\n\tACTION_TYPE\n} from \"./constants\";\nconst { ARIA_LIVE_REGION_UPDATE_REQUESTED } = actionTypes;\n\nconst filterExternalGRs = items => {\n\tconst geniusResultItems = items.filter(item => {\n\t\t//Filter isSourceTypeNotExternal -> For any GR apart from external GRs which might not have source_type field present or source_type as internal\n\t\tconst isSourceTypeNotExternal = !get(\n\t\t\titem.propValues.model,\n\t\t\t\"columns.source_type\",\n\t\t\t\"\"\n\t\t).includes(EXTERNAL_CONTENT_TYPE);\n\t\t//Filter condition -> To identify that the not expired token_present condition is only executed for external GRs\n\t\tconst isSourceTypeExternalAndTokenTrue =\n\t\t\tisEqual(\n\t\t\t\tget(item.propValues.model, \"columns.source_type\", \"\"),\n\t\t\t\tEXTERNAL_CONTENT_TYPE\n\t\t\t) &&\n\t\t\tisEqual(get(item.propValues.model, \"columns.token_present\", \"\"), \"true\");\n\t\treturn isSourceTypeNotExternal || isSourceTypeExternalAndTokenTrue;\n\t});\n\n\treturn geniusResultItems;\n};\n\nexport const handleGRMiniSelected = ({ state, action, updateState }) => {\n\tconst { payload: props } = action;\n\n\tupdateState({\n\t\tactiveThumbnailIndex: state.geniusResultsReceived.items.findIndex(\n\t\t\titem => item.propValues.model.sysId === props.model.sysId\n\t\t)\n\t});\n\n\tupdateState({ mainCardConfig: props });\n};\n\nexport const handleComponentConnected = coeffects => {\n\tconst { dispatch, properties, state, updateState } = coeffects;\n\tconst { searchResultMetadata, debugMode } = properties;\n\n\tif (!isEmpty(searchResultMetadata)) {\n\t\tsetSearchRequestIdToStateAndResetMessages(\n\t\t\tsearchResultMetadata,\n\t\t\tupdateState\n\t\t);\n\t\tresetAsyncGeniusResultLoadingTimeout(coeffects);\n\t\tif (!debugMode) {\n\t\t\tinitializeSubscriptionForGeniusResults({\n\t\t\t\tproperties,\n\t\t\t\tdispatch,\n\t\t\t\tstate,\n\t\t\t\tupdateState\n\t\t\t});\n\t\t}\n\t} else {\n\t\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\tmessage: SR_ONLY_MESSAGES.GENIUS_RESULTS_LOADING,\n\t\t\ttype: \"polite\",\n\t\t\treplaceContent: true\n\t\t});\n\t}\n};\n\nconst isSynthesized = geniusResultsTemplates => {\n\treturn geniusResultsTemplates.items.some(\n\t\titem => item.template === \"sn-search-genius-synthesized-card\"\n\t);\n};\n\nconst setSearchRequestIdToStateAndResetMessages = (\n\tsearchResultMetadata,\n\tupdateState\n) => {\n\t// Clear accumulated AMB messages for new search\n\tif (window.__AIS_ACCUMULATED_AMB_STREAMING_MESSAGES__) {\n\t\twindow.__AIS_ACCUMULATED_AMB_STREAMING_MESSAGES__ = [];\n\t}\n\n\tupdateState({\n\t\tsearchRequestId: searchResultMetadata?.primarySearchRequestId,\n\t\tmessages: {},\n\t\talertDismissed: false\n\t});\n};\n\nconst prepareNewGrData = (carouselData, isGlobal) => {\n\tif (!isEmpty(carouselData) && !isEmpty(carouselData.items)) {\n\t\tconst newCarouselData = cloneDeep(carouselData);\n\t\tnewCarouselData.items.forEach(\n\t\t\titem => (item.propValues.isGlobal = isGlobal)\n\t\t);\n\t\tnewCarouselData.items = filterExternalGRs(newCarouselData.items);\n\t\treturn newCarouselData;\n\t}\n\treturn carouselData;\n};\n\nexport const handleComponentPropertyChanged = coeffects => {\n\tconst {\n\t\taction,\n\t\tproperties,\n\t\tdispatch,\n\t\tstate,\n\t\tupdateState,\n\t\tupdateProperties\n\t} = coeffects;\n\tconst {\n\t\tpayload: { name, value }\n\t} = action;\n\tconst { currentAMBSubcsriptionChannel } = state;\n\tconst {\n\t\tsearchResultMetadata: { asyncGeniusResultChannelName, awaitingResults }\n\t} = properties;\n\tif (name === \"searchResultMetadata\") {\n\t\tsetSearchRequestIdToStateAndResetMessages(value, updateState);\n\t\tresetAsyncGeniusResultLoadingTimeout(coeffects);\n\t\tif (asyncGeniusResultChannelName != currentAMBSubcsriptionChannel) {\n\t\t\tinitializeSubscriptionForGeniusResults({\n\t\t\t\tproperties,\n\t\t\t\tdispatch,\n\t\t\t\tstate,\n\t\t\t\tupdateState\n\t\t\t});\n\t\t} else {\n\t\t\t// same channel -> update loading flag and populate from current props\n\t\t\tupdateState({ asyncGeniusResultsLoading: awaitingResults });\n\n\t\t\tif (awaitingResults) {\n\t\t\t\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\t\t\tmessage: SR_ONLY_MESSAGES.GENIUS_RESULTS_LOADING,\n\t\t\t\t\ttype: \"polite\",\n\t\t\t\t\treplaceContent: true\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tpopulateGeniusResultsFromProps({ properties, dispatch, updateState });\n\t\t\t}\n\t\t}\n\t} else if (name === \"syncGeniusResultsLoading\" && value) {\n\t\t/**\n\t\t * if loading value changes to true, that means a new search is triggered\n\t\t * we're preparing the component by erasing old data for new\n\t\t */\n\t\tupdateState({\n\t\t\tgeniusResultsReceived: null,\n\t\t\tmainCardConfig: null,\n\t\t\tactiveThumbnailIndex: 0,\n\t\t\tasyncGeniusResultsLoading: true,\n\t\t\tstreamingStarted: false,\n\t\t\talertDismissed: false\n\t\t});\n\t\tupdateProperties({\n\t\t\tsensitivityFilterMatched: false\n\t\t});\n\t\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\tmessage: SR_ONLY_MESSAGES.GENIUS_RESULTS_LOADING,\n\t\t\ttype: \"polite\",\n\t\t\treplaceContent: true\n\t\t});\n\t}\n};\n\nexport const createGRSubscription = coeffects => {\n\tconst { action } = coeffects;\n\tconst { payload } = action;\n\tconst { channelName } = payload;\n\tconst effect = createAmbSubscriptionEffect(channelName, {\n\t\tsubscribeStartedActionType: AMB_SUBSCRIPTION_ACTIONS.SUBSCRIPTION_STARTED,\n\t\tsubscribeSucceededActionType:\n\t\t\tAMB_SUBSCRIPTION_ACTIONS.SUBSCRIPTION_SUCCEEDED,\n\t\tsubscribeFailedActionType: AMB_SUBSCRIPTION_ACTIONS.SUBSCRIPTION_FAILED,\n\t\tmessageReceivedActionType: AMB_SUBSCRIPTION_ACTIONS.MESSAGE_RECEIVED,\n\t\tunsubscribeSucceededActionType:\n\t\t\tAMB_SUBSCRIPTION_ACTIONS.SUBSCRIPTION_UNSUBSCRIBED\n\t});\n\teffect.effect(...effect.args, coeffects);\n};\n\nexport const sortGeniusResults = geniusResultList => {\n\tgeniusResultList.sort((gr1, gr2) => {\n\t\treturn (\n\t\t\tparseInt(gr1.propValues.model.order) -\n\t\t\tparseInt(gr2.propValues.model.order)\n\t\t);\n\t});\n};\n\nexport const populateGeniusResultsFromProps = ({\n\tproperties,\n\tdispatch,\n\tupdateState\n}) => {\n\tconst {\n\t\tsearchResultMetadata: { awaitingResults, searchTerm, correctedSearchTerm },\n\t\tcarouselData,\n\t\tisGlobal\n\t} = properties;\n\n\t// Only populate when we already have results to show\n\tif (awaitingResults) return;\n\n\tlet newCarouselData = prepareNewGrData(carouselData, isGlobal);\n\tif (!newCarouselData || isEmpty(newCarouselData.items)) return;\n\n\tconst stateUpdate = {};\n\tif (isSynthesized(newCarouselData)) {\n\t\tconst grsReceived = cloneDeep(newCarouselData);\n\t\tstateUpdate.rawGeniusResultsReceived = grsReceived;\n\t\tstateUpdate.geniusResultsReceived = {\n\t\t\t...newCarouselData,\n\t\t\titems: consolidateActionsAndCitationsToFirst(\n\t\t\t\tnewCarouselData.items\n\t\t\t).splice(1)\n\t\t};\n\t\t// leave only the synthesized item in the cloned array as the main\n\t\tnewCarouselData.items.splice(1);\n\t} else {\n\t\tsortGeniusResults(newCarouselData.items);\n\t\tstateUpdate.geniusResultsReceived = newCarouselData;\n\t}\n\n\ttry {\n\t\tstateUpdate.mainCardConfig = transformProps(\n\t\t\tnewCarouselData.items[0].propValues,\n\t\t\tnewCarouselData.items[0].template\n\t\t);\n\t} catch (e) {\n\t\tconsole.warn(\"Error transforming props for GR/main card: \", e);\n\t}\n\n\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\tmessage: t(\n\t\t\t`showing ${newCarouselData.items.length} genius results for {0}`,\n\t\t\tcorrectedSearchTerm ? correctedSearchTerm : searchTerm\n\t\t),\n\t\ttype: \"polite\",\n\t\treplaceContent: true\n\t});\n\n\tupdateState(stateUpdate);\n};\n\nexport const initializeSubscriptionForGeniusResults = ({\n\tproperties,\n\tdispatch,\n\tstate,\n\tupdateState\n}) => {\n\tconst {\n\t\tsearchResultMetadata: { asyncGeniusResultChannelName, awaitingResults }\n\t} = properties;\n\tconst { currentAMBSubcsriptionChannel } = state;\n\t// Unsubscribe from any existing channel\n\tif (\n\t\t!isEmpty(currentAMBSubcsriptionChannel) &&\n\t\tcurrentAMBSubcsriptionChannel != asyncGeniusResultChannelName\n\t) {\n\t\tdispatch(CREATE_GR_SUBSCRIPTION, {\n\t\t\tchannelName: currentAMBSubcsriptionChannel,\n\t\t\tsubscribe: false\n\t\t});\n\t}\n\n\tconst stateUpdates = {\n\t\tcurrentAMBSubcsriptionChannel: asyncGeniusResultChannelName,\n\t\tactiveThumbnailIndex: 0,\n\t\tasyncGeniusResultsLoading: awaitingResults\n\t};\n\n\t// Always apply current props to state if we already have results\n\tpopulateGeniusResultsFromProps({ properties, dispatch, updateState });\n\n\tupdateState(stateUpdates);\n\tif (\n\t\tasyncGeniusResultChannelName != currentAMBSubcsriptionChannel &&\n\t\t!isEmpty(asyncGeniusResultChannelName)\n\t) {\n\t\tdispatch(CREATE_GR_SUBSCRIPTION, {\n\t\t\tchannelName: asyncGeniusResultChannelName,\n\t\t\tsubscribe: true\n\t\t});\n\t}\n};\n\nconst setPropsForStreaming = coeffects => {\n\tconst { updateState, properties } = coeffects;\n\tconst { isGlobal } = properties;\n\tconst geniusResultsTemplates = {\n\t\titems: [\n\t\t\t{\n\t\t\t\ttemplate: \"sn-search-genius-synthesized-card\",\n\t\t\t\tpropValues: {\n\t\t\t\t\tdocumentationUrl:\n\t\t\t\t\t\t\"https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB1298697\",\n\t\t\t\t\tcitations: \"[]\",\n\t\t\t\t\tshowHeaderTooltip: \"true\",\n\t\t\t\t\tisGlobal: isGlobal,\n\t\t\t\t\tdescriptionFontSize: \"md\",\n\t\t\t\t\tshowAboutInfo: \"true\",\n\t\t\t\t\tfeedbackOpions: DEFAULT_QA_FEEDBACK_OPTIONS,\n\t\t\t\t\tallowFeedback: \"true\",\n\t\t\t\t\tisOneBox: \"true\",\n\t\t\t\t\tmodel: {\n\t\t\t\t\t\tsys_id: \"60c9729248d71210fb8bc1117ad4a16b\",\n\t\t\t\t\t\t\"columns.sys_id\": \"60c9729248d71210fb8bc1117ad4a16b\",\n\t\t\t\t\t\tsysId: \"60c9729248d71210fb8bc1117ad4a16b\",\n\t\t\t\t\t\tais_genius_config_id: \"088c73a5430302104eaff03a5ab8f22f\",\n\t\t\t\t\t\tmodel: \"Now Assist Multi-Content Response\",\n\t\t\t\t\t\ttable: \"v_search_genius_result\"\n\t\t\t\t\t},\n\t\t\t\t\tactions: []\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t};\n\n\tconst newMainCardConfig = transformProps(\n\t\tgeniusResultsTemplates.items[0].propValues,\n\t\tgeniusResultsTemplates.items[0].template\n\t);\n\n\tupdateState(() => {\n\t\treturn {\n\t\t\tgeniusResultsReceived: geniusResultsTemplates,\n\t\t\tmainCardConfig: newMainCardConfig,\n\t\t\tasyncGeniusResultsLoading: false,\n\t\t\tstreamingStarted: true\n\t\t};\n\t});\n};\n\nconst consolidateActionsAndCitationsToFirst = items => {\n\tif (items && items.length <= 1) return items;\n\tlet first = items[0];\n\tconst mergedCitations = {\n\t\t[CITATION_TYPES.KB]: {\n\t\t\tcitations: []\n\t\t},\n\t\t[CITATION_TYPES.CATALOG]: {\n\t\t\tcitations: []\n\t\t},\n\t\t[CITATION_TYPES.PEOPLE]: {\n\t\t\tcitations: []\n\t\t},\n\t\t[CITATION_TYPES.SKILL]: {\n\t\t\tcitations: []\n\t\t},\n\t\t[CITATION_TYPES.KG]: {\n\t\t\tcitations: []\n\t\t},\n\t\t[CITATION_TYPES.AGENT]: {\n\t\t\tcitations: []\n\t\t}\n\t};\n\tlet firstActions = first.propValues.actions || [];\n\tfor (let i = 1; i < items.length; i++) {\n\t\tvar resultType = get(items[i].propValues.model, \"columns.result_type\", \"\");\n\t\tvar table = get(items[i].propValues.model, \"columns.table\", \"\");\n\t\tif (isEqual(resultType, \"citation\")) {\n\t\t\tvar newItem = cloneDeep(items[i]);\n\t\t\tvar citationExistsInProps = get(\n\t\t\t\titems[i].propValues,\n\t\t\t\t\"model['columns.citations']\"\n\t\t\t);\n\t\t\tif (!isEmpty(citationExistsInProps)) {\n\t\t\t\tmergedCitations[CITATION_TYPES.KB].citations.push(\n\t\t\t\t\t...JSON.parse(items[i].propValues.citations || \"[]\")\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tif (table === \"sc_cat_item\") {\n\t\t\t\t\tmergedCitations[CITATION_TYPES.CATALOG].citations.push(newItem);\n\t\t\t\t} else if (table === \"sys_user\") {\n\t\t\t\t\tmergedCitations[CITATION_TYPES.PEOPLE].citations.push(newItem);\n\t\t\t\t} else if (table === \"sys_gen_ai_skill\") {\n\t\t\t\t\tmergedCitations[CITATION_TYPES.SKILL].citations.push(newItem);\n\t\t\t\t} else if (\n\t\t\t\t\ttable === \"sn_aia_agent\" ||\n\t\t\t\t\ttable === \"sn_aia_agent_usecase\"\n\t\t\t\t) {\n\t\t\t\t\tmergedCitations[CITATION_TYPES.AGENT].citations.push(newItem);\n\t\t\t\t} else {\n\t\t\t\t\tmergedCitations[CITATION_TYPES.KG].citations.push(newItem);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// spread consolidated citations and actions\n\t}\n\n\tfirst.propValues.citations = mergedCitations;\n\tfirst.propValues.actions = firstActions;\n\n\treturn items;\n};\n\nconst handleStreamingData = coeffects => {\n\tconst { updateState, action, state } = coeffects;\n\tconst { searchRequestId } = state;\n\tconst { payload } = action;\n\t// relay messages that belong to latest search request only\n\tif (payload.data.searchRequestId === searchRequestId) {\n\t\tupdateState(({ state }) => {\n\t\t\tconst clone = cloneDeep(state);\n\t\t\tclone.messages[payload.data.sequenceNumber] = payload;\n\t\t\treturn {\n\t\t\t\toperation: \"merge\",\n\t\t\t\tpath: \"messages\",\n\t\t\t\tvalue: clone.messages\n\t\t\t};\n\t\t});\n\t}\n};\n\nexport const accumulateAMBMessagesToWindow = payload => {\n\tconst currentSearchRequestId = payload.data?.searchRequestId;\n\tconst sequenceNumber = payload.data?.sequenceNumber;\n\n\tif (!window.__AIS_ACCUMULATED_AMB_STREAMING_MESSAGES__) {\n\t\twindow.__AIS_ACCUMULATED_AMB_STREAMING_MESSAGES__ = [];\n\t}\n\n\tconst existingMessages = window.__AIS_ACCUMULATED_AMB_STREAMING_MESSAGES__;\n\n\tconst hasDifferentRequestId =\n\t\texistingMessages.length > 0 &&\n\t\texistingMessages[0]?.data?.searchRequestId !== currentSearchRequestId;\n\n\t// Clear array only when starting a NEW search request\n\tif (hasDifferentRequestId) {\n\t\twindow.__AIS_ACCUMULATED_AMB_STREAMING_MESSAGES__ = [];\n\t}\n\n\twindow.__AIS_ACCUMULATED_AMB_STREAMING_MESSAGES__.push({\n\t\t...payload,\n\t\ttimestamp: Date.now(),\n\t\tsequenceNumber\n\t});\n};\n\nexport const handleAmbMessageReceived = coeffects => {\n\tconst { action, state, properties } = coeffects;\n\tconst { payload } = action;\n\tconst {\n\t\tasyncGeniusResultsMaxWaitTime = 15,\n\t\tsearchResultMetadata\n\t} = properties;\n\tconst { primarySearchRequestId } = searchResultMetadata;\n\taccumulateAMBMessagesToWindow(payload);\n\t// bail out if timeout expired\n\tif (state.asyncGeniusResultTimerExpired) {\n\t\tconsole.debug(\n\t\t\t`Received payload on AMB, but ignoring due to timeout having already occurred after ${asyncGeniusResultsMaxWaitTime} seconds`\n\t\t);\n\t\treturn;\n\t} else {\n\t\t// no timer required if AMB received a message already\n\t\tcancelTimer(coeffects);\n\t}\n\n\t// only update streaming message/final response if request IDs match\n\tif (\n\t\tprimarySearchRequestId ===\n\t\t\tpayload.data?.searchMetadata?.searchResultMetadata\n\t\t\t\t?.primarySearchRequestId ||\n\t\tprimarySearchRequestId === payload.data?.searchRequestId\n\t) {\n\t\tif (payload.data?.messageType === \"STREAMING\") {\n\t\t\tsetPropsForStreaming(coeffects);\n\t\t\thandleStreamingData(coeffects);\n\t\t} else {\n\t\t\tasyncGeniusResultReceived(coeffects);\n\t\t}\n\t}\n};\n\nexport const asyncGeniusResultReceived = coeffects => {\n\tconst {\n\t\taction,\n\t\tproperties,\n\t\tdispatch,\n\t\tstate,\n\t\tupdateState,\n\t\tupdateProperties\n\t} = coeffects;\n\t// This is where we will update the GRs data and actually display to users\n\tconst { payload } = action;\n\tconst primarySearchRequestId =\n\t\tpayload?.data?.searchMetadata.searchResultMetadata.primarySearchRequestId;\n\tlet geniusResultsTemplates = payload?.data?.geniusResultsTemplates || {};\n\tlet hasSensitivityFilterMatched =\n\t\tpayload?.data?.searchMetadata.searchResultMetadata.sensitivityFilter\n\t\t\t?.hasMatch;\n\tconst {\n\t\tasyncGeniusResultsMaxWaitTime,\n\t\tisGlobal,\n\t\tsearchResultMetadata\n\t} = properties;\n\tconst {\n\t\tasyncGeniusResultsLoading,\n\t\tstreamingStarted,\n\t\tsearchRequestId\n\t} = state;\n\tconst {\n\t\tawaitingResults,\n\t\tcorrectedSearchTerm,\n\t\tsearchTerm\n\t} = searchResultMetadata;\n\n\tcancelTimer(coeffects);\n\n\tif (\n\t\thasSensitivityFilterMatched === true ||\n\t\thasSensitivityFilterMatched === \"true\"\n\t) {\n\t\tupdateProperties({ sensitivityFilterMatched: true });\n\t\treturn;\n\t}\n\n\tif (streamingStarted && primarySearchRequestId === searchRequestId) {\n\t\tupdateState(({ state }) => {\n\t\t\tconst stateUpdates = [\n\t\t\t\t{\n\t\t\t\t\toperation: \"set\",\n\t\t\t\t\tpath: \"asyncGeniusResultsLoading\",\n\t\t\t\t\tvalue: false\n\t\t\t\t}\n\t\t\t];\n\t\t\tconst clone = cloneDeep(state);\n\t\t\tif (!isEmpty(geniusResultsTemplates)) {\n\t\t\t\tconst grsReceived = cloneDeep(geniusResultsTemplates);\n\t\t\t\tclone.rawGeniusResultsReceived = grsReceived;\n\t\t\t\tif (!isEmpty(geniusResultsTemplates.items)) {\n\t\t\t\t\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\t\t\t\tmessage: t(\n\t\t\t\t\t\t\t`showing a synthesized genius result for {0}`,\n\t\t\t\t\t\t\tcorrectedSearchTerm ? correctedSearchTerm : searchTerm\n\t\t\t\t\t\t),\n\t\t\t\t\t\ttype: \"polite\",\n\t\t\t\t\t\treplaceContent: true\n\t\t\t\t\t});\n\n\t\t\t\t\tclone.messages[\n\t\t\t\t\t\t\"finalResponse\"\n\t\t\t\t\t] = consolidateActionsAndCitationsToFirst(\n\t\t\t\t\t\tgeniusResultsTemplates.items\n\t\t\t\t\t)[0].propValues;\n\t\t\t\t\tstateUpdates.push({\n\t\t\t\t\t\toperation: \"merge\",\n\t\t\t\t\t\tpath: \"messages\",\n\t\t\t\t\t\tvalue: clone.messages\n\t\t\t\t\t});\n\t\t\t\t\tstateUpdates.push({\n\t\t\t\t\t\toperation: \"set\",\n\t\t\t\t\t\tpath: \"rawGeniusResultsReceived\",\n\t\t\t\t\t\tvalue: clone.rawGeniusResultsReceived\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn stateUpdates;\n\t\t});\n\t\tconst searchAnalyticsPayload =\n\t\t\tpayload?.data?.searchMetadata?.searchResultMetadata\n\t\t\t\t?.searchAnalyticsPayload;\n\t\ttrackGeniusResultTriggeredEvent(searchAnalyticsPayload);\n\t} else {\n\t\tconst stateUpdates = {\n\t\t\tasyncGeniusResultsLoading: false\n\t\t};\n\t\tif (\n\t\t\t!awaitingResults ||\n\t\t\tprimarySearchRequestId != searchResultMetadata.primarySearchRequestId\n\t\t) {\n\t\t\tconsole.debug(\n\t\t\t\t`Received genius results for search request: ${primarySearchRequestId}, but ${\n\t\t\t\t\tawaitingResults\n\t\t\t\t\t\t? `looking for genius results for search request ${searchResultMetadata.primarySearchRequestId}`\n\t\t\t\t\t\t: \"not awaiting any additional results (awaitingResults = false)\"\n\t\t\t\t}. Ignoring payload.`\n\t\t\t);\n\t\t\treturn; // Ignore GRs for other queries within the same session\n\t\t}\n\n\t\tif (!asyncGeniusResultsLoading) {\n\t\t\tconst grCount = get(geniusResultsTemplates, \"items\", []).length;\n\t\t\tconsole.debug(\n\t\t\t\t`Received ${grCount || \"empty\"} genius result${\n\t\t\t\t\tgrCount == 1 ? \"\" : \"s\"\n\t\t\t\t} on async payload, but ignoring due to timeout having already occurred after ${asyncGeniusResultsMaxWaitTime} seconds`\n\t\t\t);\n\t\t\treturn; // Ignore GRs once we've hit a loading timeout\n\t\t}\n\n\t\tif (isEmpty(geniusResultsTemplates)) {\n\t\t\t// If an error occurs when sending the aync GRs through EVAM, geniusResultsTemplates. In this case,\n\t\t\t// log a warning, update state to stop waiting, and return\n\t\t\tconsole.warn(\n\t\t\t\t\"Received an empty or null value for geniusResultsTemplates on AMB payload - check logs for potential errors processing the Genius Results\"\n\t\t\t);\n\t\t\tupdateState(stateUpdates);\n\t\t\treturn;\n\t\t}\n\n\t\tgeniusResultsTemplates.items.forEach(item => {\n\t\t\titem.propValues[\"isOneBox\"] = true;\n\t\t});\n\t\tconst grsReceived = cloneDeep(geniusResultsTemplates);\n\t\tstateUpdates.rawGeniusResultsReceived = grsReceived;\n\t\tconst isSynthesizedResponse = isSynthesized(geniusResultsTemplates);\n\n\t\tif (isSynthesizedResponse && !isEmpty(geniusResultsTemplates.items)) {\n\t\t\tstateUpdates.geniusResultsReceived = {\n\t\t\t\t...geniusResultsTemplates,\n\t\t\t\titems: consolidateActionsAndCitationsToFirst(\n\t\t\t\t\tgeniusResultsTemplates.items\n\t\t\t\t).slice(1)\n\t\t\t};\n\t\t\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\t\tmessage: t(\n\t\t\t\t\t`showing a synthesized genius result for {0}`,\n\t\t\t\t\tcorrectedSearchTerm ? correctedSearchTerm : searchTerm\n\t\t\t\t),\n\t\t\t\ttype: \"polite\",\n\t\t\t\treplaceContent: true\n\t\t\t});\n\t\t} else {\n\t\t\tstateUpdates.geniusResultsReceived = geniusResultsTemplates;\n\t\t\tif (!isEmpty(geniusResultsTemplates.items)) {\n\t\t\t\tdispatch(ARIA_LIVE_REGION_UPDATE_REQUESTED, {\n\t\t\t\t\tmessage: t(\n\t\t\t\t\t\t`showing {0} genius results for {1}`,\n\t\t\t\t\t\tgeniusResultsTemplates.items?.length,\n\t\t\t\t\t\tcorrectedSearchTerm ? correctedSearchTerm : searchTerm\n\t\t\t\t\t),\n\t\t\t\t\ttype: \"polite\",\n\t\t\t\t\treplaceContent: true\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (!isEmpty(geniusResultsTemplates.items)) {\n\t\t\tgeniusResultsTemplates.items.forEach(\n\t\t\t\titem => (item.propValues.isGlobal = isGlobal)\n\t\t\t);\n\t\t\tgeniusResultsTemplates.items = filterExternalGRs(\n\t\t\t\tgeniusResultsTemplates.items\n\t\t\t);\n\t\t\tif (geniusResultsTemplates.items.length > 0) {\n\t\t\t\ttry {\n\t\t\t\t\tconst newMainCardConfig = transformProps(\n\t\t\t\t\t\tgeniusResultsTemplates.items[0].propValues,\n\t\t\t\t\t\tgeniusResultsTemplates.items[0].template\n\t\t\t\t\t);\n\t\t\t\t\tstateUpdates.mainCardConfig = newMainCardConfig;\n\t\t\t\t} catch (e) {\n\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t\"Error generating main card config for top genius result.\",\n\t\t\t\t\t\te\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\t// This if condition is to prevent logging to signals for synthesized responses that don't have\n\t\t\t// citations (e.g. disambiguation response/NAF response, which we shouldn't receive in Web)\n\t\t\tif (!isSynthesizedResponse || geniusResultsTemplates.items.length > 1) {\n\t\t\t\tconst searchAnalyticsPayload =\n\t\t\t\t\tpayload?.data?.searchMetadata?.searchResultMetadata\n\t\t\t\t\t\t?.searchAnalyticsPayload;\n\t\t\t\ttrackGeniusResultTriggeredEvent(searchAnalyticsPayload);\n\t\t\t}\n\t\t}\n\t\tupdateState(stateUpdates);\n\t}\n};\n\nexport const handleGeniusChatTriggered = ({ action, dispatch, properties }) => {\n\tconst { payload } = action;\n\tconst { rawGeniusResultsReceived } = properties;\n\n\tconst vaPayload = generateVAPayload(\n\t\trawGeniusResultsReceived,\n\t\tpayload,\n\t\tproperties\n\t);\n\tif (!isEmpty(rawGeniusResultsReceived)) {\n\t\tdispatch(TOP_RESULTS_CHAT_TRIGGERED, vaPayload);\n\t} else {\n\t\tconsole.warn(\n\t\t\t`Failure to trigger chat: Unable to find selected Genius Result in state.geniusResultsReceived`\n\t\t);\n\t}\n};\n\nexport const handleAskAFollowUpSignalEventInternally = coeffects => {\n\tconst { action, dispatch, properties, state } = coeffects;\n\n\tconst {\n\t\tpayload: { model }\n\t} = action;\n\n\tconst cardType = model.model || \"Custom\"; // Model is the type of the Genius Card Template\n\n\tconst customPayloadValues = {\n\t\tactionType: \"Ask a Follow Up\",\n\t\tactionId: `${cardType}_ask_a_follow_up`,\n\t\tgeniusResultConfigId: model.ais_genius_config_id\n\t};\n\n\ttrackGeniusResultEvent(\n\t\taction,\n\t\tdispatch,\n\t\tstate,\n\t\tproperties,\n\t\ttrue,\n\t\tcustomPayloadValues\n\t);\n};\n\nconst handleShowFullAnswerSignalEventInternally = coeffects => {\n\tconst { action, dispatch, properties, state } = coeffects;\n\n\tconst {\n\t\tpayload: { model }\n\t} = action;\n\n\tconst cardType = model.model || \"Custom\"; // Model is the type of the Genius Card Template\n\n\tconst customPayloadValues = {\n\t\tactionType: \"Show Full Answer\",\n\t\tactionId: `${cardType}_show_full_answer`,\n\t\tgeniusResultConfigId: model.ais_genius_config_id\n\t};\n\n\ttrackGeniusResultEvent(\n\t\taction,\n\t\tdispatch,\n\t\tstate,\n\t\tproperties,\n\t\ttrue,\n\t\tcustomPayloadValues\n\t);\n};\n\nexport const handleAskAFollowUpClickedForSignals = coeffects => {\n\tconst { action, dispatch, state, properties } = coeffects;\n\tconst { delegateActions } = properties;\n\tif (delegateActions) {\n\t\thandleDelegatedAction(\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\tstate,\n\t\t\tDELEGATED_ACTION_TYPES.ASK_A_FOLLOW_UP\n\t\t);\n\t} else {\n\t\thandleAskAFollowUpSignalEventInternally(coeffects);\n\t}\n};\n\nexport const handleShowFullAnswerClickedForSignals = coeffects => {\n\tconst { action, dispatch, state, properties } = coeffects;\n\tconst { delegateActions } = properties;\n\tif (delegateActions) {\n\t\thandleDelegatedAction(\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\tstate,\n\t\t\tDELEGATED_ACTION_TYPES.SHOW_FULL_ANSWER\n\t\t);\n\t} else {\n\t\thandleShowFullAnswerSignalEventInternally(coeffects);\n\t}\n};\n\nconst handleDelegatedAction = (action, dispatch, state, type) => {\n\tconst { payload } = action;\n\tpayload[GENIUS_RESULT_CLICK_RANK] = getGeniusResultIndex(\n\t\tpayload.model,\n\t\tstate\n\t);\n\tdispatch(TOP_RESULTS_ACTION_DELEGATED, {\n\t\tdelegatedActionType: type,\n\t\t...payload\n\t});\n};\n\nexport const handleResultActionClick = ({\n\taction,\n\tdispatch,\n\tstate,\n\tproperties\n}) => {\n\tconst { delegateActions } = properties;\n\tif (delegateActions) {\n\t\thandleDelegatedAction(\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\tstate,\n\t\t\tDELEGATED_ACTION_TYPES.DECLARATIVE_ACTION\n\t\t);\n\t} else {\n\t\ttrackGeniusResultEvent(action, dispatch, state, properties);\n\t}\n};\n\nexport const handleFeedback = coeffects => {\n\tconst { action, dispatch, state, properties } = coeffects;\n\tconst { delegateActions } = properties;\n\tif (delegateActions) {\n\t\thandleDelegatedAction(\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\tstate,\n\t\t\tDELEGATED_ACTION_TYPES.FEEDBACK\n\t\t);\n\t} else {\n\t\thandleFeedbackInternally(coeffects);\n\t}\n};\n\nconst handleFeedbackInternally = coeffects => {\n\tconst { action, dispatch, properties, state } = coeffects;\n\n\tconst {\n\t\tpayload: {\n\t\t\taction: { value, reason },\n\t\t\tmodel\n\t\t}\n\t} = action;\n\n\tconst cardType = model.model || \"Custom\"; // Model is the type of the Genius Card Template\n\n\tconst feedbackType =\n\t\tvalue > 0 ? POSITIVE_FEEDBACK_TYPE : NEGATIVE_FEEDBACK_TYPE;\n\tconst customPayloadValues = {\n\t\tactionType: FEEDBACK_ACTION_TYPE,\n\t\tactionId: `${cardType}_${feedbackType}_feedback`,\n\t\tactionValue: reason,\n\t\tgeniusResultConfigId: model.ais_genius_config_id\n\t};\n\n\ttrackGeniusResultEvent(\n\t\taction,\n\t\tdispatch,\n\t\tstate,\n\t\tproperties,\n\t\ttrue,\n\t\tcustomPayloadValues\n\t);\n};\n\nexport const handleNLQTableSwitched = ({ action, dispatch, state }) => {\n\thandleDelegatedAction(\n\t\taction,\n\t\tdispatch,\n\t\tstate,\n\t\tDELEGATED_ACTION_TYPES.NLQ_TABLE_SWITCHED\n\t);\n};\n\nexport const handleNLQTableClicked = ({ action, dispatch, state }) => {\n\thandleDelegatedAction(\n\t\taction,\n\t\tdispatch,\n\t\tstate,\n\t\tDELEGATED_ACTION_TYPES.NLQ_TABLE_CLICKED\n\t);\n};\n\n/**\n * Cancel existing timer and set a new one for the number of seconds\n * specified on the asyncGeniusResultsMaxWaitTime prop, to prevent showing\n * \"infinite\" loading if GRs break\n */\nexport const resetAsyncGeniusResultLoadingTimeout = coeffects => {\n\tconst { dispatch, properties, updateState } = coeffects;\n\tconst { asyncGeniusResultsMaxWaitTime } = properties;\n\n\tcancelTimer(coeffects);\n\n\tif (asyncGeniusResultsMaxWaitTime > 0) {\n\t\tconst timerID = setTimeout(\n\t\t\tdispatch => {\n\t\t\t\tdispatch(ASYNC_RESULT_LOADING_TIMEOUT);\n\t\t\t},\n\t\t\tasyncGeniusResultsMaxWaitTime * 1000,\n\t\t\tdispatch\n\t\t);\n\t\tupdateState({ asyncGeniusResultTimerID: timerID });\n\t}\n};\n\nexport const cancelTimer = coeffects => {\n\tconst { state, updateState } = coeffects;\n\tconst { asyncGeniusResultTimerID } = state;\n\tif (asyncGeniusResultTimerID) {\n\t\tclearTimeout(asyncGeniusResultTimerID);\n\t\tupdateState({\n\t\t\tasyncGeniusResultTimerID: null,\n\t\t\tasyncGeniusResultTimerExpired: false\n\t\t});\n\t}\n};\n\nexport const handleAsyncGRTimerExpiration = ({ state, updateState }) => {\n\tconst { asyncGeniusResultsLoading } = state;\n\tif (asyncGeniusResultsLoading) {\n\t\tconsole.debug(\n\t\t\t\"Async Genius Result timer has expired! The Genius Result payload was not received in the expected time frame. Clearing timer and discontinuing loading state.\"\n\t\t);\n\t\tupdateState({\n\t\t\tasyncGeniusResultsLoading: false,\n\t\t\tasyncGeniusResultTimerID: null,\n\t\t\tasyncGeniusResultTimerExpired: true\n\t\t});\n\t}\n};\n\nexport const dismissAlert = ({ action, updateState }) => {\n\tconst {\n\t\tpayload: {\n\t\t\taction: { type }\n\t\t}\n\t} = action;\n\n\tif (type === ACTION_TYPE) {\n\t\tupdateState({ alertDismissed: true });\n\t}\n};\n","import { createCustomElement, actionTypes } from \"@servicenow/ui-core\";\nimport snabbdom from \"@servicenow/ui-renderer-snabbdom\";\nimport isEmpty from \"lodash/isEmpty\";\nimport styles from \"./sn-search-gr-carousel.scss\";\nimport mediaQueryBehavior from \"@servicenow/behavior-media-query\";\nimport { MOBILE_MEDIA_WIDTH } from \"./constants\";\nimport {\n\tHORIZONTAL,\n\tNOW_BUTTON_BARE_CLICKED,\n\tNOW_DATA_ROW_VIEW_ALL_CLICKED,\n\tDEF_MAX_VISIBLE_CARDS,\n\tDEF_MIN_CARD_WIDTH,\n\tDEF_CARD_HEIGHT,\n\tDEF_EMPTY_MSG,\n\tDA_WRAPPED_CLICKED,\n\tDECLARATIVE_ACTION_SCRIPT_SUCCESS,\n\tDECLARATIVE_ACTION_SCRIPT_FAILED,\n\tNOW_DATA_ROW_ACTION_SUCCEEDED,\n\tNOW_DATA_ROW_ACTION_FAILED\n} from \"./constants\";\nimport view from \"./view\";\nimport { transformState, transformDAClientActionToUXEvents } from \"./utils\";\nimport { GENIUS_CHAT_TRIGGERED } from \"../../actions\";\nimport { handleGeniusChatTriggered } from \"../../effects\";\n\n/**\n * A data set displayed as a horizontal or vertical row of cards,\n * with options to provide access to the larger data set, or to individual records.\n *\n * ## now-data-row\n *\n * @summary A single, scrollable row of cards containing actions that provide access to\n * either a larger data set or to individual records.\n * @seismicElement now-data-row\n */\ncreateCustomElement(\"sn-search-gr-carousel\", {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\t/**\n\t\t * Header message to display.\n\t\t * @type {string}\n\t\t */\n\t\ttitle: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Display view of the data row.\n\t\t * Default: horizontal.\n\t\t * @type {string}\n\t\t */\n\t\tlayout: {\n\t\t\tdefault: HORIZONTAL,\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Message to display when no content is present.\n\t\t * @type {string}\n\t\t */\n\t\tnoDataMessage: {\n\t\t\tdefault: DEF_EMPTY_MSG,\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Component state that tracks the state of data being fetched\n\t\t * @type {string}\n\t\t */\n\t\tdataFetchInProgress: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The data input from the data resource.\n\t\t * @type {object}\n\t\t */\n\t\tdata: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: \"object\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The maximum number of cards visible per row in the horizontal view.\n\t\t * Must be between one and six cards.\n\t\t * @type {enum}\n\t\t */\n\t\tmaxVisibleCardsHorizontal: {\n\t\t\tdefault: DEF_MAX_VISIBLE_CARDS,\n\t\t\tschema: {\n\t\t\t\ttype: \"number\",\n\t\t\t\tenum: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\"]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * While in grid view, the minimum width of each card in pixels.\n\t\t * @type {number}\n\t\t */\n\t\tminCardPixelWidth: {\n\t\t\tdefault: DEF_MIN_CARD_WIDTH,\n\t\t\tschema: {\n\t\t\t\ttype: \"number\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Sets card height in the horizontal view.\n\t\t * ('sm'|'md'|'lg') default is 'sm'\n\t\t * @type {('sm'|'md'|'lg')}\n\t\t */\n\t\tcardHeightHorizontal: {\n\t\t\tdefault: DEF_CARD_HEIGHT,\n\t\t\tschema: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tenum: [\"sm\", \"md\", \"lg\"]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * When true, displays the data row without a box.\n\t\t * @type {boolean}\n\t\t * @uib.label No-Box state\n\t\t * @uib.description Select to remove the box from the data row.\n\t\t */\n\t\tnoBox: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Object containing the data needed for dynamic declarative action event mapping in UI Builder.\n\t\t * @type {DaClientActionContract}\n\t\t */\n\t\tdaClientActionContract: {\n\t\t\tdefault: {},\n\t\t\tcomputed({ properties: { data } }) {\n\t\t\t\tconst declarativeActions =\n\t\t\t\t\t!isEmpty(data) && Array.isArray(data.all_actions)\n\t\t\t\t\t\t? data.all_actions\n\t\t\t\t\t\t: [];\n\t\t\t\treturn transformDAClientActionToUXEvents(declarativeActions);\n\t\t\t},\n\t\t\tschema: {\n\t\t\t\ttype: \"object\"\n\t\t\t},\n\t\t\tselectable: true\n\t\t},\n\t\t/**\n\t\t * Object containing the properties of sn-carousel\n\t\t * @type {object}\n\t\t */\n\t\tcarouselProps: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: \"object\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Property to indicate if component is being rendered in platform global search.\n\t\t * The component will have different styling in case of global search.\n\t\t * @type {boolean}\n\t\t */\n\t\tisGlobal: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Property to indicate if genius results are still loading so we can show loading state\n\t\t * @type {boolean}\n\t\t */\n\t\tisLoading: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Property to indicate active thumnail in carousel for one box\n\t\t * @type {boolean}\n\t\t */\n\t\tactiveThumbnailIndex: {\n\t\t\tdefault: 0\n\t\t},\n\t\t/**\n\t\t * This is an object that contains main card config\n\t\t * @type {object}\n\t\t */\n\t\tmainCardConfig: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: \"object\"\n\t\t\t}\n\t\t},\n\t\tmessages: {\n\t\t\tdefault: {}\n\t\t},\n\t\tsearchResultMetadata: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tproperties: {\n\t\t\t\t\tsearchTerm: { default: \"\", type: \"string\" },\n\t\t\t\t\tcorrectedSearchTerm: { default: \"\", type: \"string\" },\n\t\t\t\t\tpreviousPageToken: { default: \"\", type: \"string\" },\n\t\t\t\t\tnextPageToken: { default: \"\", type: \"string\" },\n\t\t\t\t\tcurrentPage: { default: \"\", type: \"number\" },\n\t\t\t\t\tmatchedQueryIntents: { default: \"\", type: \"string\" },\n\t\t\t\t\tmatchedGeniusResultIntents: { default: \"\", type: \"string\" },\n\t\t\t\t\tresponseTimeInMs: { default: \"\", type: \"string\" },\n\t\t\t\t\tsearchAnalyticsPayload: { default: {}, type: \"object\" }\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\trawGeniusResultsReceived: {\n\t\t\tdefault: {}\n\t\t},\n\t\tcanAskFollowUp: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\tstyles,\n\ttransformState,\n\tinitialState: {\n\t\tparentWidth: null\n\t},\n\tactionHandlers: {\n\t\t[NOW_BUTTON_BARE_CLICKED]: ({ dispatch }) => {\n\t\t\tdispatch(NOW_DATA_ROW_VIEW_ALL_CLICKED);\n\t\t},\n\t\t[actionTypes.COMPONENT_RENDERED]: ({\n\t\t\taction: {\n\t\t\t\tpayload: { host }\n\t\t\t},\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tconst parentWidth = host.getBoundingClientRect().width;\n\t\t\tupdateState({ parentWidth });\n\t\t},\n\t\t[actionTypes.COMPONENT_TREE_RENDERED]: ({\n\t\t\taction: {\n\t\t\t\tpayload: { host }\n\t\t\t},\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tconst parentWidth = host.getBoundingClientRect().width;\n\t\t\tupdateState({ parentWidth });\n\t\t},\n\t\t[DA_WRAPPED_CLICKED]: ({ dispatch, action: { payload } }) => {\n\t\t\tdispatch(payload.wrapped_action_name, payload.wrapped_payload);\n\t\t},\n\t\t[DECLARATIVE_ACTION_SCRIPT_SUCCESS]: ({\n\t\t\tdispatch,\n\t\t\taction: { payload }\n\t\t}) => {\n\t\t\tdispatch(NOW_DATA_ROW_ACTION_SUCCEEDED, payload);\n\t\t},\n\t\t[DECLARATIVE_ACTION_SCRIPT_FAILED]: ({ dispatch, action: { payload } }) => {\n\t\t\tdispatch(NOW_DATA_ROW_ACTION_FAILED, payload);\n\t\t},\n\t\t[GENIUS_CHAT_TRIGGERED]: {\n\t\t\teffect: handleGeniusChatTriggered,\n\t\t\tstopPropagation: true\n\t\t}\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the View All link is clicked.\n\t\t *\n\t\t * @type {{}}\n\t\t */\n\t\tNOW_DATA_ROW_VIEW_ALL_CLICKED: {},\n\t\t/**\n\t\t * Dispatched with information of the component level action when a server-side action is successful.\n\t\t *\n\t\t * @type {{}}\n\t\t */\n\t\tNOW_DATA_ROW_ACTION_SUCCEEDED: {},\n\t\t/**\n\t\t * Dispatched with information of the component level action when a server-side action fails.\n\t\t *\n\t\t * @type {{}}\n\t\t */\n\t\tNOW_DATA_ROW_ACTION_FAILED: {}\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: mediaQueryBehavior,\n\t\t\toptions: {\n\t\t\t\tmobileQuery: `(max-width: ${MOBILE_MEDIA_WIDTH})`\n\t\t\t}\n\t\t}\n\t]\n});\n","import \"@servicenow/now-alert\";\nimport { Fragment } from \"@servicenow/ui-renderer-snabbdom\";\nimport ResultInfo from \"./contents/resultInfo\";\nimport \"../sn-search-top-results/components/sn-search-topics\";\nimport \"../sn-search-top-results/components/sn-search-gr-carousel\";\nimport isEmpty from \"lodash/isEmpty\";\nimport get from \"lodash/get\";\nimport { ICON_TYPE, ALERT_CONTENT, ALERT_TYPE, ACTION_TYPE } from \"./constants\";\n\nconst view = state => {\n\tconst {\n\t\tproperties: {\n\t\t\tisGlobal,\n\t\t\ttopics,\n\t\t\ttopicsAvailable,\n\t\t\tsyncGeniusResultsLoading,\n\t\t\tshowTopics,\n\t\t\tshowResultInfo,\n\t\t\tsearchResultMetadata,\n\t\t\tcanAskFollowUp,\n\t\t\tsensitivityFilterMatched,\n\t\t\tdebugMode,\n\t\t\tshowGeniusResults\n\t\t},\n\t\tbehaviors: { mediaQuery },\n\t\tmainCardConfig,\n\t\tactiveThumbnailIndex,\n\t\tgeniusResultsReceived,\n\t\tasyncGeniusResultsLoading,\n\t\tmessages,\n\t\trawGeniusResultsReceived,\n\t\talertDismissed\n\t} = state;\n\n\tconst geniusResultsLoading =\n\t\tsyncGeniusResultsLoading || asyncGeniusResultsLoading;\n\tconst topicsLoading = syncGeniusResultsLoading;\n\tconst geniusResultsAvailable = !isEmpty(\n\t\tget(geniusResultsReceived, \"items\", [])\n\t);\n\n\tconst isMobile = mediaQuery.mobileQuery;\n\n\tconst carouselProps = {\n\t\tenableAutoPlay: false,\n\t\thideDotIndicator: isMobile,\n\t\thideLink: true,\n\t\thideTitle: true,\n\t\tdisableLooping: true\n\t};\n\t//showGeniusResults is to indicate if GRs are linked to SAC\n\t//if showGeniusResults is false, it means GRs are not linked to SAC and thus no loader should be shown\n\tconst renderGeniusResults = showGeniusResults &&\n\t\t(geniusResultsAvailable || geniusResultsLoading) && (\n\t\t\t<div\n\t\t\t\tclassName=\"carousel-wrapper\"\n\t\t\t\tclass={{\n\t\t\t\t\t\"margin-right\": showTopics && (topicsAvailable || topicsLoading)\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<sn-search-gr-carousel\n\t\t\t\t\tviewAllLinkLabel=\"\"\n\t\t\t\t\tdata={geniusResultsReceived}\n\t\t\t\t\tcardHeightHorizontal=\"lg\"\n\t\t\t\t\tdataFetchInProgress={false}\n\t\t\t\t\tcarouselProps={carouselProps}\n\t\t\t\t\tmainCardConfig={mainCardConfig}\n\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\tisLoading={geniusResultsLoading}\n\t\t\t\t\tactiveThumbnailIndex={activeThumbnailIndex}\n\t\t\t\t\tmessages={messages}\n\t\t\t\t\tsearchResultMetadata={searchResultMetadata}\n\t\t\t\t\trawGeniusResultsReceived={rawGeniusResultsReceived}\n\t\t\t\t\tcanAskFollowUp={canAskFollowUp}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\n\tconst renderTopics = showTopics && (topicsAvailable || topicsLoading) && (\n\t\t<sn-search-topics\n\t\t\ttopics={topics}\n\t\t\tshowAsCard={geniusResultsAvailable}\n\t\t\tisLoading={topicsLoading}\n\t\t/>\n\t);\n\n\tconst renderResults = (\n\t\t<Fragment>\n\t\t\t{showResultInfo && (geniusResultsAvailable || geniusResultsLoading) && (\n\t\t\t\t<ResultInfo isLoading={geniusResultsLoading} />\n\t\t\t)}\n\t\t\t<div\n\t\t\t\tclassName=\"top-results-container\"\n\t\t\t\t// -center class to keep the topics/GRs in the center in case one of them is not available\n\t\t\t\t// or topics is set to not load/show (showTopics)\n\t\t\t\t// NOTE: Topics and Synchronous GRs are expected to be recieved together via the data broker\n\t\t\t\tclass={{\n\t\t\t\t\t\"-center\":\n\t\t\t\t\t\t(!topicsAvailable && !syncGeniusResultsLoading) ||\n\t\t\t\t\t\t!geniusResultsAvailable ||\n\t\t\t\t\t\t!showTopics\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{renderGeniusResults}\n\t\t\t\t{renderTopics}\n\t\t\t</div>\n\t\t</Fragment>\n\t);\n\n\tconst renderGaurdianInfo = (\n\t\t<now-alert\n\t\t\tstatus={ALERT_TYPE}\n\t\t\ticon={ICON_TYPE}\n\t\t\tcontent={ALERT_CONTENT}\n\t\t\taction={{ type: ACTION_TYPE }}\n\t\t\tenable-focus\n\t\t/>\n\t);\n\n\tconst shouldShowData =\n\t\ttopicsLoading ||\n\t\tgeniusResultsLoading ||\n\t\ttopicsAvailable ||\n\t\tgeniusResultsAvailable;\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"top-results-wrapper\"\n\t\t\tclass={{\n\t\t\t\t\"-center\": !topicsAvailable && (!topicsLoading || !geniusResultsLoading)\n\t\t\t}}\n\t\t>\n\t\t\t{debugMode && <sn-search-streaming-debugger />}\n\t\t\t{sensitivityFilterMatched\n\t\t\t\t? !alertDismissed && renderGaurdianInfo\n\t\t\t\t: shouldShowData && renderResults}\n\t\t</div>\n\t);\n};\n\nexport default view;\n","import { actionTypes } from \"@servicenow/ui-core\";\nimport {\n\tAMB_SUBSCRIPTION_ACTIONS,\n\tASYNC_RESULT_LOADING_TIMEOUT,\n\tCREATE_GR_SUBSCRIPTION,\n\tGENIUS_CHAT_TRIGGERED,\n\tGR_MINI_SELECETED,\n\tDECLARATIVE_ACTION_UPDATE_RENDER,\n\tFEEDBACK_PROVIDED,\n\tNLQ_TABLE_SWITCHED,\n\tNLQ_TABLE_CLICKED,\n\tNOW_ALERT_ACTION_CLICKED,\n\tASK_A_FOLLOW_UP_CLIKED,\n\tSHOW_FULL_ANSWER_CLICKED,\n\tSN_SEARCH_STREAMING_DEBUGGER_COMPONENT_TREE_RENDERED\n} from \"./actions\";\nimport {\n\thandleGRMiniSelected,\n\thandleComponentConnected,\n\thandleGeniusChatTriggered,\n\thandleAskAFollowUpClickedForSignals,\n\thandleShowFullAnswerClickedForSignals,\n\thandleComponentPropertyChanged,\n\tcreateGRSubscription,\n\thandleAmbMessageReceived,\n\thandleAsyncGRTimerExpiration,\n\thandleResultActionClick,\n\thandleNLQTableSwitched,\n\thandleNLQTableClicked,\n\thandleFeedback,\n\tdismissAlert\n} from \"./effects\";\n\nconst { COMPONENT_CONNECTED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport default {\n\t[COMPONENT_CONNECTED]: {\n\t\teffect: handleComponentConnected,\n\t\tstopPropagation: true\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: handleComponentPropertyChanged,\n\t\tstopPropagation: true\n\t},\n\t[FEEDBACK_PROVIDED]: {\n\t\teffect: handleFeedback,\n\t\tstopPropagation: true\n\t},\n\t[DECLARATIVE_ACTION_UPDATE_RENDER]: {\n\t\teffect: handleResultActionClick,\n\t\tstopPropagation: true\n\t},\n\t[NLQ_TABLE_SWITCHED]: {\n\t\teffect: handleNLQTableSwitched,\n\t\tstopPropagation: true\n\t},\n\t[NLQ_TABLE_CLICKED]: {\n\t\teffect: handleNLQTableClicked,\n\t\tstopPropagation: true\n\t},\n\t[GR_MINI_SELECETED]: {\n\t\teffect: handleGRMiniSelected,\n\t\tstopPropagation: false\n\t},\n\t[GENIUS_CHAT_TRIGGERED]: {\n\t\teffect: handleGeniusChatTriggered,\n\t\tstopPropagation: true\n\t},\n\t[ASK_A_FOLLOW_UP_CLIKED]: {\n\t\teffect: handleAskAFollowUpClickedForSignals,\n\t\tstopPropagation: true\n\t},\n\t[SHOW_FULL_ANSWER_CLICKED]: {\n\t\teffect: handleShowFullAnswerClickedForSignals,\n\t\tstopPropagation: true\n\t},\n\t[CREATE_GR_SUBSCRIPTION]: {\n\t\teffect: createGRSubscription,\n\t\tstopPropagation: true\n\t},\n\t[NOW_ALERT_ACTION_CLICKED]: {\n\t\teffect: dismissAlert,\n\t\tstopPropagation: true\n\t},\n\t[AMB_SUBSCRIPTION_ACTIONS.SUBSCRIPTION_STARTED]: {\n\t\teffect: coeffects => {\n\t\t\tconst { action } = coeffects;\n\t\t\tconst { payload } = action;\n\t\t\tconsole.debug(\"Genius Result Subscription Started\", payload);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[AMB_SUBSCRIPTION_ACTIONS.SUBSCRIPTION_SUCCEEDED]: {\n\t\teffect: coeffects => {\n\t\t\tconsole.debug(\"Genius Result Subscription Succeeded\", coeffects);\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[AMB_SUBSCRIPTION_ACTIONS.SUBSCRIPTION_FAILED]: {\n\t\teffect: coeffects => {\n\t\t\tconst { updateState, action } = coeffects;\n\t\t\tconst { payload } = action;\n\t\t\tconsole.error(\"Genius Result Subscription Failed\", payload);\n\t\t\tupdateState({\n\t\t\t\tcurrentAMBSubcsriptionChannel: \"\",\n\t\t\t\tasyncGeniusResultsLoading: false,\n\t\t\t\tstreamingStarted: false\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true\n\t},\n\t[AMB_SUBSCRIPTION_ACTIONS.MESSAGE_RECEIVED]: {\n\t\teffect: handleAmbMessageReceived,\n\t\tstopPropagation: true\n\t},\n\t[AMB_SUBSCRIPTION_ACTIONS.SUBSCRIPTION_UNSUBSCRIBED]: {\n\t\teffect: coeffects => {\n\t\t\tconsole.debug(\"Genius Result Subscription Unsubscribed\", coeffects);\n\t\t}\n\t},\n\t[ASYNC_RESULT_LOADING_TIMEOUT]: {\n\t\teffect: handleAsyncGRTimerExpiration,\n\t\tstopPropagation: true\n\t},\n\t[SN_SEARCH_STREAMING_DEBUGGER_COMPONENT_TREE_RENDERED]: {\n\t\teffect: handleAmbMessageReceived,\n\t\tstopPropagation: true\n\t}\n};\n","import { createCustomElement } from \"@servicenow/ui-core\";\nimport snabbdom from \"@servicenow/ui-renderer-snabbdom\";\nimport view from \"./view\";\nimport styles from \"./sn-search-top-results.scss\";\nimport actionHandlers from \"./actionHandlers\";\nimport mediaQueryBehavior from \"@servicenow/behavior-media-query\";\nimport { MOBILE_MEDIA_WIDTH } from \"./constants\";\nimport isEmpty from \"lodash/isEmpty\";\n\ncreateCustomElement(\"sn-search-top-results\", {\n\trenderer: { type: snabbdom },\n\tview,\n\tinitialState: {\n\t\tactiveThumbnailIndex: 0,\n\t\tcurrentAMBSubcsriptionChannel: \"\",\n\t\tgeniusResultsReceived: {},\n\t\tmainCardConfig: {},\n\t\tasyncGeniusResultsLoading: true,\n\t\tasyncGeniusResultTimerID: null,\n\t\tmessages: {},\n\t\tstreamingStarted: false,\n\t\trawGeniusResultsReceived: {},\n\t\tsearchRequestId: null,\n\t\talertDismissed: false,\n\t\tasyncGeniusResultTimerExpired: false\n\t},\n\tstyles,\n\tactionHandlers,\n\tproperties: {\n\t\t/**\n\t\t * This is an object that contains data for the carousel\n\t\t * @type {object}\n\t\t */\n\t\tcarouselData: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: \"object\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Property to indicate if component is being rendered in platform global search.\n\t\t * The component will have different styling in case of global search.\n\t\t * @type {boolean}\n\t\t */\n\t\tisGlobal: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Property to indicate if component should show loading state\n\t\t * @type {boolean}\n\t\t */\n\t\tsyncGeniusResultsLoading: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Property to indicate if OneBox is enabled or not\n\t\t * @type {boolean}\n\t\t */\n\t\tisOneBox: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This property specifies the topics to be displayed\n\t\t * @type {array}\n\t\t */\n\t\ttopics: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: \"array\"\n\t\t\t}\n\t\t},\n\t\t// computed properties\n\t\t/**\n\t\t * This property specifies if any topics are available for the component so we can present/style the component accordingly\n\t\t */\n\t\ttopicsAvailable: {\n\t\t\tcomputed({ properties: { topics } }) {\n\t\t\t\treturn !isEmpty(topics);\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This property modifies each Carousel item with isOneBox property so component could load thumbnail version for assist component\n\t\t */\n\t\tcarouselDataComputed: {\n\t\t\tcomputed({ properties: { carouselData } }) {\n\t\t\t\treturn carouselData?.items?.forEach(\n\t\t\t\t\titem => (item.propValues[\"isOneBox\"] = true)\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This property specifies if any GRs are available for the Carousel\n\t\t */\n\t\tgeniusResultsAvailable: {\n\t\t\tcomputed({ properties: { carouselData } }) {\n\t\t\t\treturn !isEmpty(carouselData.items);\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This property specifies the metadata related to search results such as search term, pagination tokens and analytics metadata.\n\t\t * @type {object}\n\t\t */\n\t\tsearchResultMetadata: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tproperties: {\n\t\t\t\t\tsearchTerm: { default: \"\", type: \"string\" },\n\t\t\t\t\tcorrectedSearchTerm: { default: \"\", type: \"string\" },\n\t\t\t\t\tpreviousPageToken: { default: \"\", type: \"string\" },\n\t\t\t\t\tnextPageToken: { default: \"\", type: \"string\" },\n\t\t\t\t\tcurrentPage: { default: \"\", type: \"number\" },\n\t\t\t\t\tmatchedQueryIntents: { default: \"\", type: \"string\" },\n\t\t\t\t\tmatchedGeniusResultIntents: { default: \"\", type: \"string\" },\n\t\t\t\t\tresponseTimeInMs: { default: \"\", type: \"string\" },\n\t\t\t\t\tsearchAnalyticsPayload: { default: {}, type: \"object\" }\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * sys_id of the search context configuration.\n\t\t * @type {string}\n\t\t */\n\t\tsearchContextConfigId: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This property specifies if VA topics should render\n\t\t */\n\t\tshowTopics: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This property specifies if info messages should show on top of results\n\t\t */\n\t\tshowResultInfo: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This property specifies how long, in seconds, the component should wait for the async GR payload before exiting the loading state\n\t\t */\n\t\tasyncGeniusResultsMaxWaitTime: {\n\t\t\tdefault: -1,\n\t\t\tschema: {\n\t\t\t\ttype: \"number\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * This property specifies if we should show Ask follow up button for sythesized response\n\t\t */\n\t\tcanAskFollowUp: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Property to indicate if component has to delegate Declarative and Feedback actions up the chain\n\t\t * possible actions to delegate: GR declarative actions, Feedback\n\t\t * if actions are delegated - it is expected that they are handled by the host and can be\n\t\t * received via TOP_RESULTS_ACTION_DELEGATED\n\t\t * @type {boolean}\n\t\t */\n\t\tdelegateActions: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Property to indicate if gaurdian\n\t\t * sensitivity filter matched\n\t\t */\n\t\tsensitivityFilterMatched: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Property to indicate if debug mode is enabled for streaming debugger\n\t\t * @type {boolean}\n\t\t */\n\t\tdebugMode: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Toggle option when false, when GRs are not linked to SAC, it will hide the loader\n\t\t */\n\t\tshowGeniusResults: {\n\t\t\tdefault: true,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t}\n\t},\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: mediaQueryBehavior,\n\t\t\toptions: {\n\t\t\t\tmobileQuery: `(max-width: ${MOBILE_MEDIA_WIDTH})`\n\t\t\t}\n\t\t}\n\t],\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the follow up button on a genius result is clicked to trigger virtual agent.\n\t\t * @type {{sysId: string, table: string, vaEVAM: object}}\n\t\t */\n\t\t\"SN_SEARCH_TOP_RESULTS#CHAT_TRIGGERED\": {\n\t\t\tschema: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tproperties: {\n\t\t\t\t\tsysId: { type: \"string\" },\n\t\t\t\t\ttable: { type: \"string\" },\n\t\t\t\t\tvaEVAM: {\n\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\ttemplate: { type: \"string\" },\n\t\t\t\t\t\t\tpropValues: {\n\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\ttitle: { type: \"string\" },\n\t\t\t\t\t\t\t\t\tidentifier: { type: \"string\" },\n\t\t\t\t\t\t\t\t\timage: { type: \"string\" },\n\t\t\t\t\t\t\t\t\theader: { type: \"string\" },\n\t\t\t\t\t\t\t\t\tdescription: { type: \"string\" },\n\t\t\t\t\t\t\t\t\tmodel: {\n\t\t\t\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\t\t\"columns.category\": { type: \"string\" },\n\t\t\t\t\t\t\t\t\t\t\t\"columns.name\": { type: \"string\" },\n\t\t\t\t\t\t\t\t\t\t\t\"columns.picture\": { type: \"string\" },\n\t\t\t\t\t\t\t\t\t\t\t\"columns.price\": { type: \"string\" },\n\t\t\t\t\t\t\t\t\t\t\t\"columns.short_description\": { type: \"string\" },\n\t\t\t\t\t\t\t\t\t\t\t\"columns.sys_id\": { type: \"string\" },\n\t\t\t\t\t\t\t\t\t\t\t\"columns.table\": { type: \"string\" },\n\t\t\t\t\t\t\t\t\t\t\tmodel: { type: \"string\" },\n\t\t\t\t\t\t\t\t\t\t\tsysId: { type: \"string\" },\n\t\t\t\t\t\t\t\t\t\t\tsys_id: { type: \"string\" },\n\t\t\t\t\t\t\t\t\t\t\ttable: { type: \"string\" }\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n});\n","export const ROOT_VALUE = 'ROOT';\n\nexport const SELECTOR_TYPE = {\n\tSINGLE: 'single_select',\n\tMULTIPLE_AND: 'multi_select_and',\n\tMULTIPLE_OR: 'multi_select_or',\n\tSINGLE_SELECT: 'single-select',\n\tMULTIPLE_SELECT: 'multi-select',\n};\n\nexport const SELECTOR_STATE = {\n\tSELECTED: 'true',\n\tPARTIAL: 'mixed',\n\tUNSELECTED: 'false',\n};\n\nexport const TOGGLE_ACTION = {\n\tSELECTED: 'SELECTED',\n\tUNSELECTED: 'UNSELECTED',\n};\n\nexport const DEFAULT_OPTION_LIMIT = 20;\n\nexport const SPACE_KEY = 32;\nexport const ENTER_KEY = 13;\n","// internal actions\nexport const SECTION_FOLD_TOGGLED = 'SECTION_FOLD_TOGGLED';\nexport const SELECTION_TOGGLED = 'SELECTION_TOGGLED';\nexport const SINGLE_SELECT_TOGGLED = 'SINGLE_SELECT_TOGGLED';\nexport const LINK_CLICKED = 'SN_HS_LINK_CLICKED';\n\n// nds actions\nexport const NOW_CHECKBOX_CHECKED_SET = 'NOW_CHECKBOX#CHECKED_SET';\n\n// externally exposed actions\nexport const SELECTIONS_UPDATED = 'SN-HIERARCHICAL-SELECT#SELECTIONS_UPDATED';\nexport const TOGGLE_FOCUS_ON_SELECTED_ITEM =\n\t'SN-HIERARCHICAL-SELECT#TOGGLE_FOCUS_ON_SELECTED_ITEM';\n","import cloneDeep from 'lodash/cloneDeep';\nimport get from 'lodash/get';\nimport {\n\tROOT_VALUE,\n\tSELECTOR_STATE,\n\tSELECTOR_TYPE,\n\tTOGGLE_ACTION,\n\tDEFAULT_OPTION_LIMIT,\n} from './constants';\n\nexport const _foundDescendantWithSelectionState = (\n\tselectMetadata,\n\titemValue,\n\tselectorState,\n\toriginalItem\n) => {\n\tif (!selectMetadata || !itemValue || !selectMetadata[itemValue]) {\n\t\treturn false;\n\t}\n\n\tconst item = selectMetadata[itemValue];\n\n\tif (!item.children || item.children.length === 0) {\n\t\tif (itemValue !== originalItem && item.selected === selectorState) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\treturn item.children.some((childId) =>\n\t\t_foundDescendantWithSelectionState(\n\t\t\tselectMetadata,\n\t\t\tchildId,\n\t\t\tselectorState,\n\t\t\toriginalItem\n\t\t)\n\t);\n};\n\n// Unselects all siblings.\nexport const _unselectSiblings = (selectMetadata, itemValue) => {\n\tconst parentId =\n\t\titemValue && selectMetadata[itemValue]\n\t\t\t? selectMetadata[itemValue].parent\n\t\t\t: null;\n\tif (\n\t\tparentId &&\n\t\tselectMetadata[parentId] &&\n\t\tselectMetadata[parentId].children\n\t) {\n\t\tconst parentItem = selectMetadata[parentId];\n\t\tparentItem.children.forEach((childId) => {\n\t\t\tif (childId !== itemValue && selectMetadata[childId]) {\n\t\t\t\tselectMetadata[childId].selected = SELECTOR_STATE.UNSELECTED;\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\n * Updates selected leaves for all items in the tree and returns\n * the final selected leaves for the tree\n */\nexport const _refreshSelectedLeaves = (itemId, selectMetadata) => {\n\tconst item = selectMetadata[itemId];\n\tconst noChildren = !item.children || item.children.length === 0;\n\n\tif (noChildren && item.selected === SELECTOR_STATE.UNSELECTED) {\n\t\treturn [];\n\t}\n\n\tif (noChildren && item.selected === SELECTOR_STATE.SELECTED) {\n\t\treturn [item.value];\n\t}\n\n\tconst selectedLeaves = item.children.reduce(\n\t\t(currentSelectedLeaves, childId) => [\n\t\t\t...currentSelectedLeaves,\n\t\t\t..._refreshSelectedLeaves(childId, selectMetadata),\n\t\t],\n\t\t[]\n\t);\n\n\titem.selectedLeaves = selectedLeaves;\n\treturn selectedLeaves;\n};\n\nconst _refreshSelectedLeavesInRoot = (selectMetadata) => {\n\tif (!selectMetadata || !selectMetadata[ROOT_VALUE]) {\n\t\treturn;\n\t}\n\n\t_refreshSelectedLeaves(ROOT_VALUE, selectMetadata);\n};\n\nexport const updateSingleSelectState = (selectMetadata, itemValue) => {\n\tconst toggledItemMetadata = selectMetadata[itemValue];\n\tconst rootMetadata = selectMetadata[ROOT_VALUE];\n\tif (toggledItemMetadata) {\n\t\t_unselectSiblings(selectMetadata, itemValue);\n\t\ttoggledItemMetadata.selected =\n\t\t\ttoggledItemMetadata.selected === SELECTOR_STATE.UNSELECTED\n\t\t\t\t? SELECTOR_STATE.SELECTED\n\t\t\t\t: SELECTOR_STATE.UNSELECTED;\n\n\t\trootMetadata.selected = toggledItemMetadata.selected;\n\n\t\trootMetadata.selectedLeaves =\n\t\t\ttoggledItemMetadata.selected === SELECTOR_STATE.UNSELECTED\n\t\t\t\t? []\n\t\t\t\t: [itemValue];\n\t}\n};\n\nexport const _updateDescendantSelectState = (\n\tselectMetadata,\n\titemValue,\n\taction\n) => {\n\tconst item = selectMetadata[itemValue];\n\titem.selected =\n\t\taction === TOGGLE_ACTION.SELECTED\n\t\t\t? SELECTOR_STATE.SELECTED\n\t\t\t: SELECTOR_STATE.UNSELECTED;\n\tif (item.children) {\n\t\titem.children.forEach((childId) => {\n\t\t\t_updateDescendantSelectState(selectMetadata, childId, action);\n\t\t});\n\t}\n};\n\nexport const _refreshAncestors = (selectMetadata, itemValue) => {\n\tconst hasUnselectedChildren = _foundDescendantWithSelectionState(\n\t\tselectMetadata,\n\t\titemValue,\n\t\tSELECTOR_STATE.UNSELECTED,\n\t\titemValue\n\t);\n\n\tconst hasSelectedChildren = _foundDescendantWithSelectionState(\n\t\tselectMetadata,\n\t\titemValue,\n\t\tSELECTOR_STATE.SELECTED,\n\t\titemValue\n\t);\n\n\tconst item = selectMetadata[itemValue];\n\n\tif (hasSelectedChildren && hasUnselectedChildren) {\n\t\titem.selected = SELECTOR_STATE.PARTIAL;\n\t} else if (hasSelectedChildren) {\n\t\titem.selected = SELECTOR_STATE.SELECTED;\n\t} else if (hasUnselectedChildren) {\n\t\titem.selected = SELECTOR_STATE.UNSELECTED;\n\t}\n\n\tconst parentId = item.parent;\n\n\tif (itemValue !== ROOT_VALUE) {\n\t\t_refreshAncestors(selectMetadata, parentId);\n\t}\n};\n\nexport const updateSelectStates = (selectMetadata, itemValue, action) => {\n\tif (!selectMetadata || !itemValue || !selectMetadata[itemValue] || !action) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn(\n\t\t\t'One or more params to updateSelectStates is missing or invalid - selectMetadata: ',\n\t\t\tselectMetadata,\n\t\t\t' itemValue: ',\n\t\t\titemValue,\n\t\t\t' action: ',\n\t\t\taction\n\t\t);\n\t\treturn selectMetadata;\n\t}\n\tif (itemValue === ROOT_VALUE) {\n\t\t_updateDescendantSelectState(selectMetadata, itemValue, action);\n\t} else {\n\t\tselectMetadata[itemValue].selected =\n\t\t\taction === TOGGLE_ACTION.SELECTED\n\t\t\t\t? SELECTOR_STATE.SELECTED\n\t\t\t\t: SELECTOR_STATE.UNSELECTED;\n\t\t_updateDescendantSelectState(selectMetadata, itemValue, action);\n\t\t_refreshAncestors(selectMetadata, itemValue);\n\t}\n\t_refreshSelectedLeavesInRoot(selectMetadata);\n\treturn selectMetadata;\n};\n\nexport const toggleExpand = (selectMetadata, itemValue) => {\n\tselectMetadata[itemValue].expanded = !selectMetadata[itemValue].expanded;\n};\n\nexport const _getItemType = (selectMetadata, item) => {\n\tif (item && item.type) {\n\t\treturn item.type;\n\t}\n\tif (\n\t\titem.parent &&\n\t\tselectMetadata[item.parent] &&\n\t\tselectMetadata[item.parent].type\n\t) {\n\t\treturn selectMetadata[item.parent].type;\n\t}\n\treturn SELECTOR_TYPE.MULTIPLE_AND;\n};\n\nexport const _getRefToChildren = (item) => {\n\tif (!item) {\n\t\treturn null;\n\t}\n\n\tif (item.value === ROOT_VALUE) {\n\t\treturn get(item, 'children.data.options', []);\n\t}\n\n\treturn item.options ? item.options : null;\n};\n\nexport const _getChildrenValues = (item) => {\n\tconst refToChildren = _getRefToChildren(item);\n\tif (!refToChildren) {\n\t\treturn null;\n\t}\n\n\treturn refToChildren.map((child) => child.value);\n};\n\nexport const _getIsExpanded = ({ item, selectMetadata, isInitial }) => {\n\tif (item.value === ROOT_VALUE) {\n\t\treturn true;\n\t}\n\n\tconst isTopLevel = item.level === 1;\n\n\tif (isTopLevel && isInitial) {\n\t\treturn item.index === 0;\n\t}\n\n\tif (!isInitial) {\n\t\treturn Boolean(item.expanded);\n\t}\n\n\tif (item.parent) {\n\t\treturn _getIsExpanded({\n\t\t\titem: selectMetadata[item.parent],\n\t\t\tselectMetadata,\n\t\t\tisInitial,\n\t\t});\n\t}\n\n\treturn false;\n};\n\nexport const build = ({ item, selectMetadata, isInitial }) => {\n\tif (!item || !selectMetadata) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn(\n\t\t\t'item: ',\n\t\t\titem,\n\t\t\t' and selectMetadata: ',\n\t\t\tselectMetadata,\n\t\t\t' objects expected in build(). One or more of these params are missing or invalid.'\n\t\t);\n\t\treturn {};\n\t}\n\tconst isRoot = item.value === ROOT_VALUE;\n\tconst type = _getItemType(selectMetadata, item);\n\tconst children = _getChildrenValues(item);\n\tconst expanded = _getIsExpanded({ item, selectMetadata, isInitial });\n\tconst itemValue = item.value ? item.value : item.name;\n\n\tselectMetadata[itemValue] = {\n\t\t...item,\n\t\tlabel: item.label ? item.label : item.name,\n\t\tvalue: itemValue,\n\t\ttype,\n\t\tlevel: item.level,\n\t\tselected: item.selected || SELECTOR_STATE.UNSELECTED,\n\t\texpanded,\n\t\tparent: item.parent,\n\t\tselectedLeaves: [],\n\t\tdata: null,\n\t\toptions: null,\n\t\tchildren,\n\t};\n\tif (isRoot) {\n\t\tselectMetadata[itemValue].count = item.data ? item.data.count : 0;\n\t}\n\n\tconst refToChildren = _getRefToChildren(item);\n\tif (refToChildren) {\n\t\trefToChildren.forEach((child, index) =>\n\t\t\tbuild({\n\t\t\t\titem: {\n\t\t\t\t\t...child,\n\t\t\t\t\tparent: itemValue,\n\t\t\t\t\tlevel: item.level + 1,\n\t\t\t\t\tindex,\n\t\t\t\t},\n\t\t\t\tselectMetadata,\n\t\t\t\tisInitial,\n\t\t\t})\n\t\t);\n\t}\n\treturn selectMetadata;\n};\n\nexport const _mergeMetadata = (selectMetadata, builtData) => {\n\tObject.keys(builtData).forEach((itemValue) => {\n\t\tconst selectedItem = selectMetadata[itemValue];\n\t\tif (!selectedItem) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst builtItem = builtData[itemValue];\n\t\tbuiltItem.selected = selectedItem.selected;\n\t\tbuiltItem.expanded = selectedItem.expanded;\n\t});\n\n\t_refreshSelectedLeavesInRoot(builtData);\n\treturn builtData;\n};\n\nexport const _getSelectedFacetFilters = (itemId, selectMetadata) => {\n\tconst leaves = selectMetadata[itemId].selectedLeaves || [];\n\treturn leaves.map((leafId) => {\n\t\tconst { value, label } = selectMetadata[leafId];\n\n\t\treturn {\n\t\t\tvalue,\n\t\t\tlabel,\n\t\t};\n\t});\n};\n\nexport const _applySelections = (\n\texpectedSelectedItems,\n\tselectMetadata,\n\tonLoad = false\n) => {\n\tconst updatedSelectMetadata = cloneDeep(selectMetadata);\n\t//adding this check to preserve the selection of All single select\n\t//since all is added at component level\n\tif (!onLoad) {\n\t\t// unselect everything before applying selection\n\t\tupdateSelectStates(\n\t\t\tupdatedSelectMetadata,\n\t\t\tROOT_VALUE,\n\t\t\tTOGGLE_ACTION.UNSELECTED\n\t\t);\n\t}\n\n\tif (expectedSelectedItems.length === 0) {\n\t\treturn updatedSelectMetadata;\n\t}\n\n\tlet itemIds = [ROOT_VALUE];\n\n\t// Apply selections from top to bottom level\n\twhile (itemIds.length > 0) {\n\t\tconst [itemId, ...remainingIds] = itemIds;\n\t\tconst item = updatedSelectMetadata[itemId];\n\t\tconst { children } = item;\n\t\tif (expectedSelectedItems.includes(itemId)) {\n\t\t\tupdateSelectStates(updatedSelectMetadata, itemId, TOGGLE_ACTION.SELECTED);\n\t\t}\n\n\t\tif (children && children.length > 0) {\n\t\t\titemIds = [...remainingIds, ...children];\n\t\t} else {\n\t\t\titemIds = [...remainingIds];\n\t\t}\n\t}\n\n\treturn updatedSelectMetadata;\n};\n\nconst _buildDefaultRootItem = (items, type) => ({\n\tvalue: ROOT_VALUE,\n\tchildren: items,\n\tselected: SELECTOR_STATE.UNSELECTED,\n\tselectedLeaves: [],\n\tparent: null,\n\tlevel: 0,\n\ttype,\n});\n\nexport const _buildResolvedSelectMetadata = ({\n\tselectMetadata,\n\tselectedItems,\n\titems,\n\ttype,\n\tonLoad,\n}) => {\n\tconst rootItem = _buildDefaultRootItem(items, type);\n\tconst isInitial = !selectMetadata || !selectMetadata[ROOT_VALUE];\n\n\t// build metadata\n\tconst builtData = build({\n\t\tselectMetadata: {},\n\t\titem: rootItem,\n\t\tisInitial,\n\t\ttype,\n\t});\n\n\tconst mergedMetadata = !isInitial\n\t\t? _mergeMetadata(selectMetadata, builtData)\n\t\t: builtData;\n\n\tconst resolvedData = selectedItems\n\t\t? _applySelections(selectedItems, mergedMetadata, onLoad)\n\t\t: mergedMetadata;\n\n\treturn resolvedData;\n};\n\n// Invoke to build select metadata\nexport const _buildTransformedState = ({ state, properties }, onLoad) => {\n\tconst { selectMetadata } = state;\n\tconst { items, selectedItems, select, optionLimit } = properties;\n\tconst { data } = items;\n\tconst itemsWithOptionLimit = {\n\t\t...items,\n\t\tdata: {\n\t\t\t...data,\n\t\t\toptions: data.options.slice(\n\t\t\t\t0,\n\t\t\t\toptionLimit > 0 ? optionLimit : DEFAULT_OPTION_LIMIT\n\t\t\t),\n\t\t},\n\t};\n\n\tconst resolvedSelectMetadata = _buildResolvedSelectMetadata({\n\t\tselectMetadata,\n\t\tselectedItems,\n\t\titems: itemsWithOptionLimit,\n\t\ttype: select,\n\t\tonLoad,\n\t});\n\n\tconst updatedState = {\n\t\t...state,\n\t\tselectMetadata: resolvedSelectMetadata,\n\t};\n\n\treturn updatedState;\n};\n","import cloneDeep from 'lodash/cloneDeep';\nimport {\n\ttoggleExpand,\n\t_buildTransformedState,\n\tupdateSelectStates,\n\tupdateSingleSelectState,\n\t_getSelectedFacetFilters,\n} from './utils';\nimport {\n\tSINGLE_SELECT_TOGGLED,\n\tSELECTIONS_UPDATED,\n\tSELECTION_TOGGLED,\n} from './actions';\nimport { ROOT_VALUE, SELECTOR_STATE, TOGGLE_ACTION } from './constants';\n\nexport const componentBootstrappedEffect = ({\n\tstate,\n\tproperties,\n\tupdateState,\n}) => {\n\tconst onLoad = true;\n\tconst transformedState = _buildTransformedState(\n\t\t{\n\t\t\tstate,\n\t\t\tproperties,\n\t\t},\n\t\tonLoad\n\t);\n\tupdateState(transformedState);\n};\n\nexport const componentPropertyChangedEffect = ({\n\taction,\n\tupdateState,\n\tstate,\n\tproperties,\n}) => {\n\tconst onLoad = false;\n\tconst {\n\t\tpayload: { name },\n\t} = action;\n\n\tif (name === 'items' || name === 'selectedItems') {\n\t\tconst transformedState = _buildTransformedState(\n\t\t\t{ state, properties },\n\t\t\tonLoad\n\t\t);\n\t\tupdateState(transformedState);\n\t}\n};\n\nexport const nowCheckboxCheckedEffect = ({\n\taction: {\n\t\tpayload: { selected, itemValue, selectMetadata, selectedItems },\n\t},\n\tdispatch,\n}) => {\n\tconst action =\n\t\tselected === SELECTOR_STATE.SELECTED\n\t\t\t? TOGGLE_ACTION.UNSELECTED\n\t\t\t: TOGGLE_ACTION.SELECTED;\n\n\tdispatch(SELECTION_TOGGLED, {\n\t\titemValue,\n\t\tselectMetadata,\n\t\taction,\n\t\tselectedItems,\n\t});\n};\n\nexport const linkClickedEffect = ({ action: { payload }, dispatch }) => {\n\tconst {\n\t\tappendedPayload: { selectMetadata, value: itemValue, selectedItems },\n\t} = payload;\n\n\tif (\n\t\tselectedItems.length === 0 ||\n\t\t(selectedItems.length > 0 && itemValue !== selectedItems[0])\n\t) {\n\t\tdispatch(SINGLE_SELECT_TOGGLED, {\n\t\t\tselectMetadata,\n\t\t\titemValue,\n\t\t});\n\t}\n};\n\nexport const selectionToggledEffect = ({\n\taction: {\n\t\tpayload: { itemValue, action, selectMetadata, selectedItems },\n\t},\n\tproperties,\n\tupdateState,\n\tdispatch,\n}) => {\n\tconst { category, select } = properties;\n\tconst clonedSelectMetadata = cloneDeep(selectMetadata);\n\tconst updatedSelectMetadata = updateSelectStates(\n\t\tclonedSelectMetadata,\n\t\titemValue,\n\t\taction\n\t);\n\n\tconst selectionUpdatePayload = {\n\t\tcategory,\n\t\tselect,\n\t\tselectedFacetFilters: _getSelectedFacetFilters(\n\t\t\tROOT_VALUE,\n\t\t\tupdatedSelectMetadata\n\t\t),\n\t\tselectedItems,\n\t};\n\n\tupdateState({\n\t\tselectMetadata: updatedSelectMetadata,\n\t});\n\n\tdispatch(SELECTIONS_UPDATED, selectionUpdatePayload);\n};\n\nexport const singleSelectToggledEffect = ({\n\taction: {\n\t\tpayload: { selectMetadata, itemValue },\n\t},\n\tproperties,\n\tupdateState,\n\tdispatch,\n}) => {\n\tconst { category, select, selectedItems } = properties;\n\tconst clonedSelectMetadata = cloneDeep(selectMetadata);\n\n\tupdateSingleSelectState(clonedSelectMetadata, itemValue);\n\n\tconst facetFilters = _getSelectedFacetFilters(\n\t\tROOT_VALUE,\n\t\tclonedSelectMetadata\n\t);\n\n\tconst selectionUpdatePayload = {\n\t\tcategory,\n\t\tselect,\n\t\tselectedItems,\n\t\tselectedFacetFilters: facetFilters,\n\t};\n\n\tupdateState({\n\t\tselectMetadata: clonedSelectMetadata,\n\t});\n\n\tdispatch(SELECTIONS_UPDATED, selectionUpdatePayload);\n};\n\nexport const sectionFoldToggledEffect = ({\n\taction: {\n\t\tpayload: { itemValue, selectMetadata },\n\t},\n\tupdateState,\n}) => {\n\tconst clonedSelectMetadata = cloneDeep(selectMetadata);\n\ttoggleExpand(clonedSelectMetadata, itemValue);\n\tupdateState({\n\t\tselectMetadata: clonedSelectMetadata,\n\t});\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport {\n\tSECTION_FOLD_TOGGLED,\n\tSELECTION_TOGGLED,\n\tSINGLE_SELECT_TOGGLED,\n\tNOW_CHECKBOX_CHECKED_SET,\n\tLINK_CLICKED,\n} from './actions';\nimport {\n\tcomponentBootstrappedEffect,\n\tcomponentPropertyChangedEffect,\n\tsectionFoldToggledEffect,\n\tselectionToggledEffect,\n\tsingleSelectToggledEffect,\n\tnowCheckboxCheckedEffect,\n\tlinkClickedEffect,\n} from './effects';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport default {\n\t[COMPONENT_BOOTSTRAPPED]: componentBootstrappedEffect,\n\t[COMPONENT_PROPERTY_CHANGED]: componentPropertyChangedEffect,\n\t[NOW_CHECKBOX_CHECKED_SET]: {\n\t\teffect: nowCheckboxCheckedEffect,\n\t\tstopPropagation: true,\n\t},\n\t[SECTION_FOLD_TOGGLED]: {\n\t\teffect: sectionFoldToggledEffect,\n\t\tstopPropagation: true,\n\t},\n\t[SELECTION_TOGGLED]: {\n\t\teffect: selectionToggledEffect,\n\t\tstopPropagation: true,\n\t},\n\t[SINGLE_SELECT_TOGGLED]: {\n\t\teffect: singleSelectToggledEffect,\n\t\tstopPropagation: true,\n\t},\n\t[LINK_CLICKED]: {\n\t\teffect: linkClickedEffect,\n\t\tstopPropagation: true,\n\t},\n};\n","import '@servicenow/now-icon';\nimport { t } from 'sn-translate';\nimport { SECTION_FOLD_TOGGLED } from '../../actions';\nimport { SELECTOR_STATE } from '../../constants';\n\nconst COLLAPSE_TITLE = t('Collapse');\nconst EXPAND_TITLE = t('Expand Section');\n\nconst TreeExpandButton = ({ dispatch, item, selectMetadata }) => {\n\tconst { expanded, selected, value } = item;\n\tconst icon = expanded ? 'chevron-down-outline' : 'chevron-right-outline';\n\n\tconst className =\n\t\tselected === SELECTOR_STATE.UNSELECTED\n\t\t\t? 'tree-expand-button'\n\t\t\t: 'tree-expand-button-selected';\n\tconst ariaTitle = expanded ? COLLAPSE_TITLE : EXPAND_TITLE;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={className}\n\t\t\ttitle={ariaTitle}\n\t\t\ttabIndex={-1}\n\t\t\ton-click={() => {\n\t\t\t\tdispatch(SECTION_FOLD_TOGGLED, {\n\t\t\t\t\titemValue: value,\n\t\t\t\t\tselectMetadata,\n\t\t\t\t});\n\t\t\t}}>\n\t\t\t<div className=\"tree-expand-button-focus\">\n\t\t\t\t<now-icon icon={icon} size=\"md\" />\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default TreeExpandButton;\n","import { LINK_CLICKED } from '../actions';\nimport { SPACE_KEY, ENTER_KEY, SELECTOR_STATE } from '../constants';\n\n\n\nconst _getCheckedState = (selected) => {\n\tif (selected === SELECTOR_STATE.SELECTED) {\n\t\treturn true;\n\t}\n\tif (selected === SELECTOR_STATE.PARTIAL) {\n\t\treturn 'indeterminate';\n\t}\n\treturn false;\n};\n\n\nconst Link = ({ item, selectMetadata, selectedItems, dispatch }) => {\n\tconst { value, label, selected } = item;\n\n\tconst appendedPayload = {\n\t\tselectMetadata,\n\t\tselectedItems,\n\t\tvalue,\n\t};\n\tconst checked = _getCheckedState(selected);\n\n\tconst clickHandler = (event) => {\n\t\tif (\n\t\t\tevent.type === 'click' ||\n\t\t\tevent.keyCode === SPACE_KEY ||\n\t\t\tevent.keyCode === ENTER_KEY\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\tdispatch(LINK_CLICKED, { appendedPayload });\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className=\"link\">\n\t\t\t<span>\n\t\t\t\t<label>\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype='radio'\n\t\t\t\t\t\trole=\"link\"\n\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t\tchecked={checked}\n\t\t\t\t\t\ton-click={clickHandler}\n\t\t\t\t\t\ton-keydown={clickHandler}>\n\t\t\t\t\t</input>\n\t\t\t\t\t{label}\n\t\t\t\t</label>\n\n\t\t\t</span>\n\t\t</div>\n\t);\n};\n\nexport default Link;\n","import '@servicenow/now-checkbox';\nimport { SELECTOR_STATE } from '../constants';\nimport { TOGGLE_FOCUS_ON_SELECTED_ITEM } from '../actions';\nimport colors from '../../../../styles/global/colors';\n\nconst _getCheckedState = selected => {\n\tif (selected === SELECTOR_STATE.SELECTED) {\n\t\treturn true;\n\t}\n\tif (selected === SELECTOR_STATE.PARTIAL) {\n\t\treturn 'indeterminate';\n\t}\n\treturn false;\n};\n\nconst Checkbox = ({\n\titem,\n\tselectMetadata,\n\titemToFocus,\n\tdispatch,\n\tselectedItems\n}) => {\n\tconst { value, label, selected, type } = item;\n\n\tconst checked = _getCheckedState(selected);\n\tconst appendedPayload = {\n\t\ttype,\n\t\tselected,\n\t\titemValue: value,\n\t\tselectMetadata,\n\t\tselectedItems\n\t};\n\n\treturn (\n\t\t<now-checkbox\n\t\t\thook-update={({ elm }) => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\telm.style.outline = 'none';\n\t\t\t\t\telm.style.boxShadow = 'none';\n\t\t\t\t\telm.style.background = 'transparent';\n\t\t\t\t\tconst checkbox = elm.shadowRoot.querySelector('.now-checkbox-input');\n\t\t\t\t\tif (checkbox) {\n\t\t\t\t\t\t// Safely restore focus without scrolling the page\n\t\t\t\t\t\tif (itemToFocus === value && document.activeElement !== checkbox) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tcheckbox.focus({ preventScroll: true });\n\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\t// Older browsers may not support preventScroll; skip focus to avoid scroll jumps\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcheckbox.style.opacity = '1';\n\t\t\t\t\t\tcheckbox.style.outline = 'none';\n\t\t\t\t\t\tcheckbox.style.boxShadow = 'none';\n\t\t\t\t\t\tcheckbox.style.background = 'transparent';\n\t\t\t\t\t}\n\t\t\t\t\tconst visualInput = elm.shadowRoot.querySelector(\n\t\t\t\t\t\t'.now-checkbox-visual-input'\n\t\t\t\t\t);\n\t\t\t\t\tif (visualInput) {\n\t\t\t\t\t\tvisualInput.style.boxShadow = 'none';\n\t\t\t\t\t\tvisualInput.style.background = 'transparent';\n\t\t\t\t\t}\n\t\t\t\t\tconst label = elm.shadowRoot.querySelector('.now-checkbox-label');\n\t\t\t\t\tif (label) {\n\t\t\t\t\t\tlabel.style.cursor = 'pointer';\n\t\t\t\t\t}\n\t\t\t\t}, 100);\n\t\t\t}}\n\t\t\thook-insert={({ elm }) => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\telm.style.outline = 'none';\n\t\t\t\t\telm.style.boxShadow = 'none';\n\t\t\t\t\telm.style.background = 'transparent';\n\t\t\t\t\tconst checkbox = elm.shadowRoot.querySelector('.now-checkbox-input');\n\t\t\t\t\tif (checkbox) {\n\t\t\t\t\t\tcheckbox.style.opacity = '1';\n\t\t\t\t\t\tcheckbox.style.outline = 'none';\n\t\t\t\t\t\tcheckbox.style.boxShadow = 'none';\n\t\t\t\t\t\tcheckbox.style.background = 'transparent';\n\t\t\t\t\t}\n\t\t\t\t\tconst visualInput = elm.shadowRoot.querySelector(\n\t\t\t\t\t\t'.now-checkbox-visual-input'\n\t\t\t\t\t);\n\t\t\t\t\tif (visualInput) {\n\t\t\t\t\t\tvisualInput.style.boxShadow = 'none';\n\t\t\t\t\t\tvisualInput.style.background = 'transparent';\n\t\t\t\t\t}\n\t\t\t\t\tconst label = elm.shadowRoot.querySelector('.now-checkbox-label');\n\t\t\t\t\tif (label) {\n\t\t\t\t\t\tlabel.style.cursor = 'pointer';\n\t\t\t\t\t}\n\t\t\t\t}, 100);\n\t\t\t}}\n\t\t\tclassName=\"option-checkbox\"\n\t\t\ton-click={() =>\n\t\t\t\tdispatch(TOGGLE_FOCUS_ON_SELECTED_ITEM, { toggledValue: value })\n\t\t\t}\n\t\t\tname={value}\n\t\t\tlabel={label}\n\t\t\tchecked={checked}\n\t\t\tappend-to-payload={appendedPayload}\n\t\t/>\n\t);\n};\n\nexport default Checkbox;\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport Link from '../../views/Link';\nimport Checkbox from '../../views/Checkbox';\nimport TreeExpandButton from './TreeExpandButton';\nimport { SELECTOR_STATE, SELECTOR_TYPE } from '../../constants';\n\nconst TreeItem = ({\n\tdispatch,\n\titem,\n\tselectMetadata,\n\titemToFocus,\n\tselectedItems,\n\tselect,\n}) => {\n\tconst { expanded, children, selected } = item;\n\tconst className =\n\t\tselected === SELECTOR_STATE.SELECTED || selected === SELECTOR_STATE.PARTIAL\n\t\t\t? 'item-selected'\n\t\t\t: 'item';\n\n\tconst ariaExpanded =\n\t\tchildren && children.length\n\t\t\t? { 'aria-expanded': expanded ? 'true' : 'false' }\n\t\t\t: {};\n\n\tconst multiSelect = (\n\t\t<Checkbox\n\t\t\tdispatch={dispatch}\n\t\t\titemToFocus={itemToFocus}\n\t\t\titem={item}\n\t\t\tselectMetadata={selectMetadata}\n\t\t\tselectedItems={selectedItems}\n\t\t/>\n\t);\n\t{\n\t\tchildren && children.length ? (\n\t\t\t<TreeExpandButton\n\t\t\t\tdispatch={dispatch}\n\t\t\t\titem={item}\n\t\t\t\tselectMetadata={selectMetadata}\n\t\t\t/>\n\t\t) : (\n\t\t\t<Fragment />\n\t\t);\n\t}\n\n\tconst singleSelect = (\n\t\t<Link\n\t\t\tdispatch={dispatch}\n\t\t\titem={item}\n\t\t\tselectMetadata={selectMetadata}\n\t\t\tselectedItems={selectedItems}\n\t\t/>\n\t);\n\n\treturn (\n\t\t<li className={`tree-${className}`} {...ariaExpanded}>\n\t\t\t{select && select === SELECTOR_TYPE.SINGLE ? singleSelect : multiSelect}\n\t\t</li>\n\t);\n};\n\nexport default TreeItem;\n","import { TreeItem } from '../treeMode/views';\n\nconst Item = ({\n\tdispatch,\n\titem,\n\tselectMetadata,\n\titemToFocus,\n\tselectedItems,\n\tselect,\n}) => (\n\t<TreeItem\n\t\titemToFocus={itemToFocus}\n\t\tdispatch={dispatch}\n\t\titem={item}\n\t\tselectMetadata={selectMetadata}\n\t\tselectedItems={selectedItems}\n\t\tselect={select}\n\t/>\n);\n\nexport default Item;\n","const MAX_LEVEL = 4; // Max nesting level before no indentation is applied\nconst MAX_CHILDREN_LENGTH = 12; // Max children before allowing scrolling\n\nconst _getTreeClassName = (level, children) => {\n\tconst base = 'tree-children';\n\tconst indentLevel = level < MAX_LEVEL;\n\tconst isTopLevel = level === 0;\n\tconst levelModifier = isTopLevel ? '-first-level' : '';\n\tconst indentModifier = indentLevel ? '' : '-no-indent';\n\tconst scrollModifier =\n\t\tisTopLevel && children && children.length > MAX_CHILDREN_LENGTH\n\t\t\t? '-scroll'\n\t\t\t: '';\n\n\treturn `${base}${levelModifier}${indentModifier}${scrollModifier}`;\n};\n\nexport default _getTreeClassName;\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-collapse';\nimport Item from './Item';\nimport _getTreeClassName from '../treeMode/utils/treeClassName';\n\nconst Tree = ({\n\tselectMetadata,\n\tdispatch,\n\titem,\n\titemToFocus,\n\tselectedItems,\n\tselect,\n}) => {\n\tconst { level, children, expanded, label, value } = item;\n\tconst hasChildren = Array.isArray(children) && children.length > 0;\n\tconst childrenClassName = _getTreeClassName(level, children);\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<Item\n\t\t\t\titemToFocus={itemToFocus}\n\t\t\t\titem={item}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tselectMetadata={selectMetadata}\n\t\t\t\tselectedItems={selectedItems}\n\t\t\t\tselect={select}\n\t\t\t/>\n\t\t\t{hasChildren ? (\n\t\t\t\t<li>\n\t\t\t\t\t<now-collapse expanded={expanded}>\n\t\t\t\t\t\t<ul className={childrenClassName} aria-labelledby={label}>\n\t\t\t\t\t\t\t{children.map((childKey) => {\n\t\t\t\t\t\t\t\tconst child = selectMetadata[childKey];\n\t\t\t\t\t\t\t\tif (child) {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<Tree\n\t\t\t\t\t\t\t\t\t\t\tkey={value}\n\t\t\t\t\t\t\t\t\t\t\titem={child}\n\t\t\t\t\t\t\t\t\t\t\tselectMetadata={selectMetadata}\n\t\t\t\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\t\t\t\tselect={select}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn <Fragment />;\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</now-collapse>\n\t\t\t\t</li>\n\t\t\t) : (\n\t\t\t\t<Fragment />\n\t\t\t)}\n\t\t</Fragment>\n\t);\n};\n\nexport default Tree;\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { ROOT_VALUE, SELECTOR_TYPE } from './constants';\nimport Tree from './views/Tree';\nimport _getTreeClassName from './treeMode/utils/treeClassName';\n\nconst view = ({ selectMetadata, properties }, { dispatch }) => {\n\tconst { itemToFocus, name, select, selectedItems } = properties;\n\tconst root = selectMetadata && selectMetadata[ROOT_VALUE];\n\tif (!root || !root.children) return <Fragment />;\n\n\tconst { level, children } = root;\n\tconst className = _getTreeClassName(level, children);\n\tlet options = [];\n\n\tfor (const [id, item] of Object.entries(selectMetadata)) {\n\t\tif (id !== ROOT_VALUE && item.type === SELECTOR_TYPE.SINGLE) {\n\t\t\toptions.push({\n\t\t\t\tid: id,\n\t\t\t\tlabel: item.label,\n\t\t\t});\n\t\t}\n\t}\n\treturn (\n\t\t<div className=\"tree\">\n\t\t\t<ul className={className} aria-label={name}>\n\t\t\t\t{root.children.map((childId) => {\n\t\t\t\t\tconst child = selectMetadata[childId];\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Tree\n\t\t\t\t\t\t\tkey={child.value}\n\t\t\t\t\t\t\tselectMetadata={selectMetadata}\n\t\t\t\t\t\t\titemToFocus={itemToFocus}\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\titem={child}\n\t\t\t\t\t\t\tselectedItems={selectedItems}\n\t\t\t\t\t\t\tselect={select}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t</div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport { DEFAULT_OPTION_LIMIT, SELECTOR_TYPE } from './constants';\nimport actionHandlers from './actionHandlers';\nimport styles from './index.scss';\nimport view from './view';\n\n/**\n * Seismic component that allows users to select options from a checkbox list of multi_select_and or radio buttons for single_select options.\n * This component also supports hierarchical relationships between options, where one option can have child options and so on.\n *\n * ```jsx\n * <sn-hierarchical-select\n *  select='multi_select_and'\n *  items={\n *      data: {\n *          options: [\n *              {\n *                  label: 'Ron Kettering',\n *                  value: 'Ron Kettering',\n *                  options: null,\n *              },\n *              {\n *                  label: 'Boris Catino',\n *                  value: 'Boris Catino',\n *                  options: null,\n *              },\n *          ],\n *      }\n *  category='Author'\n *  optionLimit={2},\n * />\n * ```\n *\n * @seismicElement sn-hierarchical-select\n * @summary Seismic component that allows users to select options from a checkbox list of multi_select_and or single_select options.\n */\ncreateCustomElement('dps-hierarchical-select', {\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles,\n\tinitialState: {\n\t\tselectMetadata: null,\n\t},\n\tproperties: {\n\t\t/**\n\t\t * This property contains the items that would be displayed as a checkbox list.\n\t\t * @type {object}\n\t\t */\n\t\titems: {\n\t\t\tdefault: {},\n\t\t\tcast: 'object',\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * This property specifies the name of the facet for A11y reasons\n\t\t * @type {string}\n\t\t */\n\t\tname: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * This property specifies the category for the option items, this is particulary helpful\n\t\t * in cases where a orchestrator component manages multiple instances of sn-hierarchical-select component.\n\t\t * @type {string}\n\t\t */\n\t\tcategory: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Specifies the options that should be selected on initial render.\n\t\t * @type {array}\n\t\t */\n\t\tselectedItems: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * This property specifies whether the checkbox options should be single select or multi select.\n\t\t * @type {string}\n\t\t */\n\t\tselect: {\n\t\t\tdefault: SELECTOR_TYPE.SINGLE,\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * This property specifies the number of options that are rendered.\n\t\t * @type {string}\n\t\t */\n\t\toptionLimit: {\n\t\t\tdefault: DEFAULT_OPTION_LIMIT,\n\t\t\tschema: {\n\t\t\t\ttype: 'integer',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * This property specifies the nowId for the container element.\n\t\t */\n\t\tcontainerId: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * This property helps retain focus of facet item\n\t\t */\n\t\titemToFocus: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t},\n\tbehaviors: [{ behavior: rtlBehavior }],\n\tactionHandlers,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when a user selects any of the options.\n\t\t * @type {{category: string, select: string, selectedItems: array, selectedFacetFilters: array}}\n\t\t */\n\t\t'SN-HIERARCHICAL-SELECT#SELECTIONS_UPDATED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tcategory: { type: 'string' },\n\t\t\t\t\tselect: { type: 'string' },\n\t\t\t\t\tselectedItems: { type: 'array' },\n\t\t\t\t\tselectedFacetFilters: { type: 'array' },\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when a user clicks on one of the facet item\n\t\t * @type {{toggledValue: string}}\n\t\t */\n\t\t'SN-HIERARCHICAL-SELECT#TOGGLE_FOCUS_ON_SELECTED_ITEM': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\ttoggledValue: { type: 'string' },\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n});\n","import GlideSignals from \"sn-signals\";\nimport { t } from \"sn-translate\";\n\nexport const MODE = {\n\tDRILL: \"drill\",\n\tTREE: \"tree\"\n};\n\nexport const SELECTOR_TYPE = {\n\tSINGLE: \"single_select\",\n\tMULTIPLE_AND: \"multi_select_and\",\n\tMULTIPLE_OR: \"multi_select_or\",\n\tMULTIPLE_SELECT_HYPHEN: \"multi-select\",\n\tSINGLE_SELECT_HYPHEN: \"single-select\"\n};\n\nexport const DEFAULT_LABEL = t(\"Filters\");\n\nexport const SIZE = {\n\tSMALL: \"sm\",\n\tLARGE: \"lg\"\n};\n\nexport const APPLIED_FACETS_TRUNCATION = 6;\n\nexport const APPLIED_FACET_LIST = {\n\tEXPAND: \"expand\",\n\tCOLLAPSE: \"collapse\"\n};\n\nexport const USER_FACET_CONFIG_SYS_ID = \"662359bd29021110f8770358248b49c8\";\nexport const CAT_ITEM_CONFIG_SYS_ID = \"1f369d7129421110f8770358248b49a5\";\n\nexport const SPACE_KEY = 32;\nexport const ENTER_KEY = 13;\nexport const CLEAR_ALL_LABEL = t(\"Clear all\");\nexport const CLEAR_ALL_WCAG_LABEL = t(\"Clear all Filters\");\nexport const CLEAR_LABEL = t(\"Clear\");\nexport const SHOW_FEWER_LABEL = t(\"Show fewer\");\nexport const COLLAPSE_LABEL = t(\"Collapse Section\");\nexport const EXPAND_LABEL = t(\"Expand Section\");\nexport const FACET_IDENTIFIER = \"FACET\";\nexport const HIDE_FILTERS_LABEL = t(\"Hide filters\");\n\nexport const INFO_EVENT = GlideSignals.priority.INFO;\nexport const SEISMIC_OR_MOBILE_APPLICATION = \"SeismicOrMobileApplication\";\nexport const SEARCH_REFINED_EVENT = \"SEARCH_REFINED\";\nexport const UP_ARROW_KEY = 38;\nexport const DOWN_ARROW_KEY = 40;\n\nexport const TRANSLATION_QUERY = `query($labels: [String!]!)\n{\n\tGlideDomain_Query {\n\t\tgetMessages(key: $labels) {\n\t\t\tkey\n\t\t\tmessage\n\t\t}\n\t}\n}`;\n\nexport const RANGE_FACET_REGEX = /FACET\\(RANGE/;\n\n//To default selection of All radio button\nexport const SINGLE_SELECT_ALL = {\n\tLABEL: t(\"All\"),\n\tID: \"single_select_all\"\n};\n\nexport const ACCORDION_SUBLABEL_AND_FACET = t(\"Contains all selected\");\nexport const ACCORDION_SUBLABEL_OR_FACET = t(\"Contains any selected\");\nexport const STACKED_PILL_OR_FACET_LABEL = t(\"Any of the following selected:\");\nexport const STACKED_PILL_AND_FACET_LABEL = t(\"All of the following selected:\");\nexport const STACKED_TYPE = \"jsx\";\nexport const FACET_TYPE = {\n\tOR: \"OR\",\n\tAND: \"AND\"\n};\n\nexport const SOURCE_FACET_TYPE = SELECTOR_TYPE.MULTIPLE_OR;\nexport const SOURCE_FACET_LABEL = t(\"Source\");\nexport const SOURCE_FACET_CONFIG_ID = \"sources\";\nexport const SOURCE_FACET_OPTION_LIMIT = 10;\n","import { isEmpty } from \"lodash\";\nimport {\n\tAPPLIED_FACETS_TRUNCATION,\n\tFACET_IDENTIFIER,\n\tUP_ARROW_KEY,\n\tDOWN_ARROW_KEY,\n\tRANGE_FACET_REGEX,\n\tSOURCE_FACET_TYPE,\n\tSOURCE_FACET_LABEL,\n\tSOURCE_FACET_CONFIG_ID,\n\tSOURCE_FACET_OPTION_LIMIT,\n\tSELECTOR_TYPE\n} from \"./constants\";\n\nconst _getValues = options => {\n\tif (Array.isArray(options)) {\n\t\treturn options.reduce(\n\t\t\t(acc, option) => acc.concat(option.value, _getValues(option.options)),\n\t\t\t[]\n\t\t);\n\t}\n\treturn [];\n};\n\nexport const _getSelectedFilters = (options, selectedOptions) => {\n\tif (selectedOptions.length === 0) return [];\n\tconst appliedFacetFilters = selectedOptions.map(option => option.facetFilter);\n\n\tconst values = _getValues(options);\n\treturn values.filter(option => appliedFacetFilters.includes(option));\n};\n\n/**\n * Build a metadata map for every facet panel\n *\n * What it does\n *  - Grabs any saved facet state from localStorage so we remember\n *    what the user last did.\n *  - Figures out which facet should start **expanded**:\n *      • the very first facet that actually has options, **or**\n *      • any multi‑select facet that already has something picked.\n *  - Marks a facet **disabled** when it has zero options.\n */\nconst _buildFacetMetadata = (facets, facetsMetadata, selectedOptions) => {\n\tconst updatedFacetsMetadata = {};\n\n\tconst firstExpandableId = facets.findIndex(\n\t\tfacet => facet?.data?.options?.length > 0\n\t);\n\n\tfacets.forEach((facet, index) => {\n\t\tlet {\n\t\t\tfacetConfigSysId,\n\t\t\tdata: { options },\n\t\t\ttype\n\t\t} = facet;\n\n\t\tlet storedFacet = JSON.parse(\n\t\t\twindow.localStorage.getItem(_getStorageKey(facetConfigSysId))\n\t\t);\n\t\tif (storedFacet && storedFacet.data) {\n\t\t\toptions = _mergeFacets(storedFacet, facet).data.options;\n\t\t}\n\n\t\t// Preserve existing expanded state if it exists, otherwise calculate initial state\n\t\tconst existingExpandedState = facetsMetadata[facetConfigSysId]?.expanded;\n\t\tconst shouldBeExpanded = \n\t\t\texistingExpandedState !== undefined\n\t\t\t\t? existingExpandedState\n\t\t\t\t: (index === firstExpandableId ||\n\t\t\t\t\t_getSelectedFilters(options, selectedOptions).length > 0 ||\n\t\t\t\t\ttype === SELECTOR_TYPE.SINGLE ||\n\t\t\t\t\ttype === SELECTOR_TYPE.SINGLE_SELECT_HYPHEN);\n\n\t\tupdatedFacetsMetadata[facetConfigSysId] = {\n\t\t\texpanded: shouldBeExpanded,\n\t\t\tselectedFacetFilters: _getSelectedFilters(options, selectedOptions),\n\t\t\tfacetType: type,\n\t\t\tdisabled: options?.length === 0\n\t\t};\n\t});\n\n\treturn updatedFacetsMetadata;\n};\n\nexport const _buildState = ({ state, properties }) => {\n\tconst { facetsMetadata } = state;\n\n\tconst { facets, selectedOptions } = properties;\n\tconst updatedFacetsMetadata = _buildFacetMetadata(\n\t\tfacets,\n\t\tfacetsMetadata,\n\t\tselectedOptions\n\t);\n\n\treturn {\n\t\t...state,\n\t\tfacetsMetadata: updatedFacetsMetadata\n\t};\n};\n\n// returns true if any of the facet items are selected\nexport const _anyItemsSelected = (facetsMetadata, appliedFacetFilters) => {\n\tconst selectionsFromMetadata = Object.keys(facetsMetadata).some(category => {\n\t\tconst { selectedFacetFilters } = facetsMetadata[category];\n\t\treturn selectedFacetFilters?.length > 0;\n\t});\n\n\tconst appliedFilter =\n\t\tappliedFacetFilters &&\n\t\tappliedFacetFilters.map(filter => filter.facetFilter);\n\tconst appliedFiltersReturned = appliedFilter && appliedFilter.length > 0;\n\n\treturn selectionsFromMetadata || appliedFiltersReturned;\n};\n\n// returns the number of selected facet items for a category\nexport const _selectedItemsLength = (facetsMetadata, category) => {\n\tconst { selectedFacetFilters } = facetsMetadata[category];\n\treturn selectedFacetFilters?.length;\n};\n\nconst _getLabelsFromFilters = (facetFilters, facets) => {\n\tif (!Array.isArray(facetFilters) || !facetFilters) {\n\t\treturn [];\n\t}\n\tconst regExp = /FACET\\(\"*([^)\"]+)\"*\\)/;\n\treturn facetFilters.map(filter => {\n\t\tconst facet = filter[0];\n\t\tconst applied = filter[1];\n\n\t\tif (facet.includes(FACET_IDENTIFIER)) {\n\t\t\tif (RANGE_FACET_REGEX.test(facet)) {\n\t\t\t\treturn [_getLabelFromRangeFilter(facet, facets), applied, facet];\n\t\t\t}\n\t\t\treturn [facet.match(regExp)[1], applied, facet];\n\t\t}\n\t\treturn [_getLabelFromRangeFilter(facet, facets), applied, facet];\n\t});\n};\n\nexport const _getLabelFromRangeFilter = (filter, facets) => {\n\tlet rangeFilterLabel = \"\";\n\tconst storageKey = _getRangeFacetStorageKey(filter);\n\tconst cachedLabel = window.localStorage.getItem(storageKey);\n\n\tif (!isEmpty(cachedLabel)) {\n\t\trangeFilterLabel = cachedLabel.toString();\n\t\treturn rangeFilterLabel;\n\t} else {\n\t\tfacets.forEach(facet => {\n\t\t\tconst facetOptions = facet?.data?.options;\n\t\t\tif (facetOptions.length > 0) {\n\t\t\t\tconst match = facetOptions.find(option => option.value === filter);\n\t\t\t\tif (!isEmpty(match) && match.label) rangeFilterLabel = match.label;\n\t\t\t}\n\t\t});\n\t\twindow.localStorage.setItem(storageKey, rangeFilterLabel);\n\t\treturn rangeFilterLabel;\n\t}\n};\n\nexport const _getAppliedFacetLabelsByType = (\n\tappliedFacetFilters,\n\tfacets,\n\tfacetType\n) => {\n\tconst filterLabelsApplied = _getFacetFiltersBasedOnType(\n\t\tappliedFacetFilters,\n\t\tfacetType,\n\t\tfacets\n\t);\n\n\treturn filterLabelsApplied;\n};\n\nexport const _getFacetFilterIndex = (appliedFilters, pillLabel, facetValue) => {\n\tconst regExp = /FACET\\(\"*([^)\"]+)\"*\\)/;\n\n\tfor (let index in appliedFilters) {\n\t\tif (RANGE_FACET_REGEX.test(appliedFilters[index])) {\n\t\t\treturn -1;\n\t\t} else {\n\t\t\tconst match = appliedFilters[index].match(regExp);\n\t\t\tif (match && match.length >= 2 && match[1] === pillLabel) return index;\n\t\t\treturn appliedFilters.indexOf(facetValue);\n\t\t}\n\t}\n};\n\nexport const _getRangeFacetFilterIndex = (appliedFilters, rangeFilter) => {\n\tconst rangeIndex = appliedFilters.findIndex(filter => filter === rangeFilter);\n\treturn rangeIndex;\n};\n\nexport const _getTruncatedLabels = (\n\tfilterLabelsApplied,\n\ttruncateAppliedAndFacets,\n\ttruncateAppliedOrFacets\n) => {\n\tif (!Array.isArray(filterLabelsApplied) && filterLabelsApplied.length === 0) {\n\t\treturn [];\n\t}\n\n\tconst labels = filterLabelsApplied.map(label => {\n\t\treturn label[0];\n\t});\n\n\tif (\n\t\t(truncateAppliedAndFacets || truncateAppliedOrFacets) &&\n\t\tfilterLabelsApplied &&\n\t\tlabels.length > APPLIED_FACETS_TRUNCATION\n\t) {\n\t\treturn filterLabelsApplied.slice(0, APPLIED_FACETS_TRUNCATION);\n\t}\n\treturn filterLabelsApplied;\n};\n\nexport const _getFacetFiltersBasedOnType = (\n\tappliedFacetFilters,\n\tfacetType,\n\tfacets\n) => {\n\tif (appliedFacetFilters.length === 0) return [];\n\tconst facetFilters = appliedFacetFilters\n\t\t.filter(filterObjects => {\n\t\t\tconst { type } = filterObjects;\n\t\t\treturn type === facetType;\n\t\t})\n\t\t.map(filter => {\n\t\t\treturn [filter.facetFilter, filter.applied];\n\t\t});\n\n\treturn _getLabelsFromFilters(facetFilters, facets);\n};\n\nexport const _getAccordionFocusTarget = (host, keyPress) => {\n\tlet moveFocusTo;\n\tconst accordionHeaders = host.shadowRoot.querySelectorAll(\n\t\t\".tree-expand-button\"\n\t);\n\tconst focusedElement = host.shadowRoot.querySelector(\":focus\");\n\taccordionHeaders.forEach((item, index) => {\n\t\tif (item === focusedElement) {\n\t\t\tif (keyPress === UP_ARROW_KEY) {\n\t\t\t\tif (index === 0) {\n\t\t\t\t\tmoveFocusTo = accordionHeaders[accordionHeaders.length - 1];\n\t\t\t\t} else {\n\t\t\t\t\tmoveFocusTo = accordionHeaders[index - 1];\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (keyPress === DOWN_ARROW_KEY) {\n\t\t\t\tif (index === accordionHeaders.length - 1) {\n\t\t\t\t\tmoveFocusTo = accordionHeaders[0];\n\t\t\t\t} else {\n\t\t\t\t\tmoveFocusTo = accordionHeaders[index + 1];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn moveFocusTo;\n};\n\nexport const _replaceFacetLabels = (facets, translatedLabels) => {\n\tif (isEmpty(facets) || isEmpty(translatedLabels)) return facets;\n\treturn facets.map(facet => {\n\t\treturn {\n\t\t\t...facet,\n\t\t\tdata: {\n\t\t\t\t...facet.data,\n\t\t\t\toptions: facet.data.options.map(option => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...option,\n\t\t\t\t\t\tlabel: translatedLabels[`${option.label}`]\n\t\t\t\t\t\t\t? translatedLabels[`${option.label}`]\n\t\t\t\t\t\t\t: option.label\n\t\t\t\t\t};\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t});\n};\n\nexport const _checkForRangeFacets = facets => {\n\tif (isEmpty(facets)) return false;\n\treturn facets.some(facet => {\n\t\tconst facetOptions = facet?.data?.options;\n\t\tif (facetOptions.length > 0) {\n\t\t\treturn RANGE_FACET_REGEX.test(facetOptions[0].value);\n\t\t}\n\t\treturn false;\n\t});\n};\n\nexport const _markRangeFacets = facets => {\n\tif (isEmpty(facets)) return facets;\n\treturn facets.map(facet => {\n\t\tconst facetOptions = facet?.data?.options;\n\t\tif (facetOptions.length > 0) {\n\t\t\treturn {\n\t\t\t\t...facet,\n\t\t\t\tisRangeFacet: RANGE_FACET_REGEX.test(facetOptions[0].value)\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\t...facet,\n\t\t\tisRangeFacet: false\n\t\t};\n\t});\n};\n\nexport const _getStorageKey = facetConfigSysId => {\n\treturn `search.facet.${facetConfigSysId}`;\n};\n\nexport const _getRangeFacetStorageKey = rangeFilter => {\n\treturn `range.facet.${rangeFilter}`;\n};\n\nexport const _combineSelectedSourcesAndFacets = (\n\tsearchSources,\n\tselectedSearchSources,\n\tselectedOptions\n) => {\n\tif (!searchSources) return selectedOptions;\n\n\tconst availableSourceIds = searchSources\n\t\t.filter(source => source.sysId !== null && source.count !== 0)\n\t\t.map(source => source.sysId);\n\n\tconst combinedSelectedOptions = selectedOptions.filter(\n\t\toption => !availableSourceIds.includes(option.facetFilter)\n\t);\n\n\tif (selectedSearchSources) {\n\t\tconst selectedFilters = selectedOptions.map(option => option.facetFilter);\n\t\tselectedSearchSources.reverse().forEach(sourceId => {\n\t\t\tif (\n\t\t\t\t!availableSourceIds.includes(sourceId) ||\n\t\t\t\tselectedFilters.includes(sourceId)\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcombinedSelectedOptions.unshift({\n\t\t\t\tfacetFilter: sourceId,\n\t\t\t\tapplied: true,\n\t\t\t\ttype: SOURCE_FACET_TYPE\n\t\t\t});\n\t\t});\n\t}\n\treturn combinedSelectedOptions;\n};\n\nexport const _mergeFacets = (savedFacet, newFacet) => {\n\tif (savedFacet) {\n\t\tif (savedFacet.optionLimit === savedFacet.data.options.length) {\n\t\t\treturn savedFacet;\n\t\t}\n\t\tnewFacet.data.options.forEach(newOption => {\n\t\t\tif (\n\t\t\t\t!savedFacet.data.options.find(savedOption => {\n\t\t\t\t\treturn savedOption[\"value\"] === newOption[\"value\"];\n\t\t\t\t})\n\t\t\t) {\n\t\t\t\tsavedFacet.data.options.push(newOption);\n\t\t\t}\n\t\t});\n\t\treturn savedFacet;\n\t} else {\n\t\treturn newFacet;\n\t}\n};\n\nexport const _addSourceFacet = (facetsToDisplay, searchSources) => {\n\tconst sourceFacet = {\n\t\ttype: SOURCE_FACET_TYPE,\n\t\tname: SOURCE_FACET_LABEL,\n\t\tfacetConfigSysId: SOURCE_FACET_CONFIG_ID,\n\t\torder: -1,\n\t\toptionLimit: searchSources?.length || SOURCE_FACET_OPTION_LIMIT,\n\t\tdata: {\n\t\t\tcount: 0,\n\t\t\toptions: []\n\t\t},\n\t\tisRangeFacet: false\n\t};\n\n\tsearchSources.forEach(source => {\n\t\tif (source.sysId === null) {\n\t\t\tsourceFacet.data.count = source.count;\n\t\t\treturn;\n\t\t}\n\t\tif (source.count === 0) return;\n\t\tsourceFacet.data.options.push({\n\t\t\tlabel: source.label,\n\t\t\tvalue: source.sysId,\n\t\t\tcount: source.count\n\t\t});\n\t});\n\n\tconst existingIndex = facetsToDisplay.findIndex(\n\t\tfacet => facet.facetConfigSysId === SOURCE_FACET_CONFIG_ID\n\t);\n\tif (existingIndex !== -1) {\n\t\tfacetsToDisplay[existingIndex] = sourceFacet;\n\t} else {\n\t\tfacetsToDisplay.unshift(sourceFacet);\n\t}\n};\n","import \"../../../../dps-hierarchical-select/src/index\";\nimport { SELECTOR_TYPE, SOURCE_FACET_CONFIG_ID } from \"../constants\";\nimport { _getStorageKey, _mergeFacets } from \"../utils\";\n\nconst Facet = ({ facet, facetsMetadata, mode, nowId, itemToFocus }) => {\n\tconst { type, optionLimit, facetConfigSysId, name } = facet;\n\tconst selectedItems = facetsMetadata[facetConfigSysId]?.selectedFacetFilters;\n\tif (\n\t\ttype === SELECTOR_TYPE.MULTIPLE_OR &&\n\t\tfacetConfigSysId !== SOURCE_FACET_CONFIG_ID\n\t) {\n\t\tconst storageKey = _getStorageKey(facetConfigSysId);\n\t\tif (selectedItems && selectedItems.length > 0) {\n\t\t\tfacet = _mergeFacets(\n\t\t\t\tJSON.parse(window.localStorage.getItem(storageKey)),\n\t\t\t\tfacet\n\t\t\t);\n\t\t\twindow.localStorage.setItem(storageKey, JSON.stringify(facet));\n\t\t} else {\n\t\t\twindow.localStorage.removeItem(storageKey);\n\t\t}\n\t}\n\n\tlet facetType = !type || facet.isRangeFacet ? SELECTOR_TYPE.SINGLE : type;\n\n\tfacetType =\n\t\tfacetType === SELECTOR_TYPE.SINGLE_SELECT_HYPHEN\n\t\t\t? SELECTOR_TYPE.SINGLE\n\t\t\t: facetType === SELECTOR_TYPE.MULTIPLE_SELECT_HYPHEN\n\t\t\t? SELECTOR_TYPE.MULTIPLE_AND\n\t\t\t: facetType;\n\n\tconst isSourceFacet = facetConfigSysId === SOURCE_FACET_CONFIG_ID;\n\n\treturn (\n\t\t<dps-hierarchical-select\n\t\t\tselect={facetType}\n\t\t\titems={facet}\n\t\t\tname={name}\n\t\t\toptionLimit={optionLimit}\n\t\t\tmode={mode}\n\t\t\tcategory={facetConfigSysId}\n\t\t\tselectedItems={selectedItems}\n\t\t\tcontainerId={nowId}\n\t\t\titemToFocus={itemToFocus}\n\t\t\tshowCount={isSourceFacet}\n\t\t/>\n\t);\n};\n\nexport default Facet;\n","const Divider = ({ variant }) => {\n\tconst className =\n\t\tvariant === \"secondary\" || variant === \"tertiary\"\n\t\t\t? `divider-${variant}`\n\t\t\t: \"divider-primary\";\n\treturn <div className={className} />;\n};\n\nexport default Divider;\n","export const SECTION_FOLD_TOGGLED = \"SECTION_FOLD_TOGGLED\";\n","export const SELECTIONS_UPDATED = \"SN-HIERARCHICAL-SELECT#SELECTIONS_UPDATED\";\nexport const TOGGLE_FOCUS_ON_SELECTED_ITEM =\n\t\"SN-HIERARCHICAL-SELECT#TOGGLE_FOCUS_ON_SELECTED_ITEM\";\nexport const ALL_CLEARED = \"ALL_CLEARED\";\nexport const ACCORDION_CLEARED = \"ACCORDION_CLEARED\";\nexport const FACET_SELECTIONS_UPDATED_INTERNAL = \"SELECTIONS_UPDATED\";\nexport const APPLIED_FACETS_EXPANDED_COLLAPSED = \"NOW_BUTTON_BARE#CLICKED\";\nexport const PILL_DISMISSED = \"NOW_PILL#DISMISSED\";\nexport const SORT_FILTER_SELECTED_INTERNAL = \"SORT_FILTER_SELECTED_INTERNAL\";\nexport const HIDE_DESKTOP_FACET_PANEL =\n\t\"SN_SEARCH_FACETS_DESKTOP#TOGGLE_FACET_PANEL_VISIBILITY\";\n\n// Label translation actions\nexport const LABEL_TRANSLATION_STARTED = \"LABEL_TRANSLATION_STARTED\";\nexport const REQUEST_TRANSLATED_LABELS = \"REQUEST_TRANSLATED_LABELS\";\nexport const TRANSLATION_FETCH_STARTED = \"TRANSLATION_FETCH_STARTED\";\nexport const TRANSLATION_FETCH_SUCCEEDED = \"TRANSLATION_FETCH_SUCCEEDED\";\nexport const TRANSLATION_FETCH_FAILED = \"TRANSLATION_FETCH_FAILED\";\n\n// Externally exposed action\nexport const FACET_SELECTIONS_UPDATED = \"SN_SEARCH_FACETS#SELECTIONS_UPDATED\";\nexport const SORT_FILTER_SELECTED = \"SN_SEARCH_FACETS#SORT_FILTER_SELECTED\";\nexport const DONE_BUTTON_CLICKED = \"SN_SEARCH_FACETS#DONE_BUTTON_CLICKED\";\nexport const TOGGLE_FACET_PANEL_VISIBILITY =\n\t\"SN_SEARCH_FACETS#TOGGLE_FACET_PANEL_VISIBILITY\";\n","import \"@servicenow/now-icon\";\nimport { SECTION_FOLD_TOGGLED } from \"../actions\";\nimport { TOGGLE_FOCUS_ON_SELECTED_ITEM } from \"../../common/actions\";\nimport {\n\tCOLLAPSE_LABEL,\n\tEXPAND_LABEL,\n\tSPACE_KEY,\n\tENTER_KEY,\n\tSELECTOR_TYPE,\n\tACCORDION_SUBLABEL_AND_FACET,\n\tACCORDION_SUBLABEL_OR_FACET\n} from \"../../common/constants\";\n\nconst _getIcon = expanded => (expanded ? \"minus-fill\" : \"plus-fill\");\n\nconst ExpandButton = ({\n\tdispatch,\n\texpanded,\n\tlabel,\n\tnowId,\n\tfacetConfigSysId,\n\tfacetType\n}) => {\n\tconst icon = _getIcon(expanded);\n\tconst ariaTitle = expanded ? COLLAPSE_LABEL : EXPAND_LABEL;\n\n\tconst clickHandler = event => {\n\t\tif (\n\t\t\tevent.type === \"click\" ||\n\t\t\tevent.keyCode === SPACE_KEY ||\n\t\t\tevent.keyCode === ENTER_KEY\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\tdispatch(SECTION_FOLD_TOGGLED, {\n\t\t\t\tvalue: facetConfigSysId\n\t\t\t});\n\t\t\tdispatch(TOGGLE_FOCUS_ON_SELECTED_ITEM, { toggledValue: null });\n\t\t}\n\t};\n\n\tlet subLabel =\n\t\tfacetType === SELECTOR_TYPE.MULTIPLE_OR\n\t\t\t? ACCORDION_SUBLABEL_OR_FACET\n\t\t\t: ACCORDION_SUBLABEL_AND_FACET;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={`tree-expand-button${expanded ? \" expanded\" : \"\"}`}\n\t\t\trole=\"button\"\n\t\t\ttitle={ariaTitle}\n\t\t\taria-label={\n\t\t\t\tfacetType === SELECTOR_TYPE.SINGLE\n\t\t\t\t\t? `${label}`\n\t\t\t\t\t: `${label}, ${subLabel}`\n\t\t\t}\n\t\t\taria-expanded={expanded ? \"true\" : \"false\"}\n\t\t\ttabIndex={0}\n\t\t\ton-click={clickHandler}\n\t\t\ton-keydown={clickHandler}\n\t\t>\n\t\t\t<div className=\"tree-expand-button-icon\">\n\t\t\t\t<now-icon icon={icon} size=\"sm\" />\n\t\t\t</div>\n\t\t\t<div className=\"accordion-title\" id={`${nowId}_${label}_facet_category`}>\n\t\t\t\t{label}\n\t\t\t\t<div className=\"accordion-sub-label\">\n\t\t\t\t\t{expanded && facetType === SELECTOR_TYPE.MULTIPLE_OR ? (\n\t\t\t\t\t\t<span>{ACCORDION_SUBLABEL_OR_FACET}</span>\n\t\t\t\t\t) : expanded && facetType === SELECTOR_TYPE.MULTIPLE_AND ? (\n\t\t\t\t\t\t<span>{ACCORDION_SUBLABEL_AND_FACET}</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t\"\"\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default ExpandButton;\n","/* eslint-disable jsx-a11y/role-supports-aria-props */\nimport '@servicenow/now-button';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { t } from 'sn-translate';\n\nimport ExpandButton from './ExpandButton';\nimport { ACCORDION_CLEARED } from '../../common/actions';\nimport { _selectedItemsLength } from '../../common/utils';\n\nconst Accordion = ({\n\texpanded = true,\n\tfacetsMetadata,\n\tdispatch,\n\tlabel,\n\tnowId,\n\tfacetConfigSysId,\n\tfacetType,\n\tdisabled\n}) => {\n\tconst numSelectedItems = _selectedItemsLength(\n\t\tfacetsMetadata,\n\t\tfacetConfigSysId\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={expanded ? 'accordion-expanded' : 'accordion'}\n\t\t\tclass={{\n\t\t\t\taccordion: true,\n\t\t\t\t'accordion-expanded': expanded,\n\t\t\t\t'accordion-collapsed': !expanded,\n\t\t\t\tdisabled: disabled\n\t\t\t}}\n\t\t\taria-expanded={expanded ? 'true' : 'false'}\n\t\t\trole=\"group\"\n\t\t>\n\t\t\t<div className=\"accordion-controls\">\n\t\t\t\t<ExpandButton\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tlabel={label}\n\t\t\t\t\tfacetConfigSysId={facetConfigSysId}\n\t\t\t\t\texpanded={expanded}\n\t\t\t\t\tnowId={nowId}\n\t\t\t\t\tfacetType={facetType}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{/* <div className=\"clear-button\">\n\t\t\t\t{numSelectedItems > 0 ? (\n\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\tlabel={t(\"Clear ({0})\", numSelectedItems)}\n\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t\t\"aria-label\": t(\n\t\t\t\t\t\t\t\t\t\"Clear ({0}) ({1}) filter\",\n\t\t\t\t\t\t\t\t\tnumSelectedItems,\n\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(ACCORDION_CLEARED, {\n\t\t\t\t\t\t\t\tvalue: facetConfigSysId\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t\thidePadding\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<Fragment />\n\t\t\t\t)}\n\t\t\t</div> */}\n\t\t</div>\n\t);\n};\n\nexport default Accordion;\n","import \"@servicenow/now-collapse\";\n\nimport Facet from \"../../common/view/Facet\";\nimport Divider from \"../../common/view/Divider\";\nimport Accordion from \"./Accordion\";\nimport { MODE } from \"../../common/constants\";\n\nconst Panel = ({\n\tdispatch,\n\tlabel,\n\texpanded,\n\tfacetsMetadata,\n\tfacetType,\n\tfacet,\n\tshowEndingDivider,\n\tnowId,\n\tisGlobal,\n\titemToFocus,\n\tfacetConfigSysId,\n\tdisabled\n}) => (\n\t<div className={`${isGlobal ? \"facet-panel-tree-item\" : \"\"}`}>\n\t\t<Divider variant=\"tertiary\" />\n\t\t<Accordion\n\t\t\tdispatch={dispatch}\n\t\t\tlabel={label}\n\t\t\tfacetConfigSysId={facetConfigSysId}\n\t\t\texpanded={expanded}\n\t\t\tfacetsMetadata={facetsMetadata}\n\t\t\tdisabled={disabled}\n\t\t\tfacetType={facetType}\n\t\t\tnowId={nowId}\n\t\t/>\n\t\t<now-collapse expanded={expanded}>\n\t\t\t<Facet\n\t\t\t\tfacet={facet}\n\t\t\t\tfacetsMetadata={facetsMetadata}\n\t\t\t\tmode={MODE.TREE}\n\t\t\t\tnowId={nowId}\n\t\t\t\titemToFocus={itemToFocus}\n\t\t\t/>\n\t\t</now-collapse>\n\t\t{showEndingDivider ? <Divider variant=\"tertiary\" /> : null}\n\t</div>\n);\n\nexport default Panel;\n","import '@servicenow/now-pill';\nimport '@servicenow/now-button';\nimport '@servicenow/now-label-value';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { t } from 'sn-translate';\nimport { isEmpty } from 'lodash';\nimport Divider from './Divider';\nimport {\n\tAPPLIED_FACETS_TRUNCATION,\n\tAPPLIED_FACET_LIST,\n\tSELECTOR_TYPE,\n\tSHOW_FEWER_LABEL,\n\tSTACKED_PILL_OR_FACET_LABEL,\n\tSTACKED_PILL_AND_FACET_LABEL,\n\tSTACKED_TYPE,\n\tFACET_TYPE\n} from '../constants';\nimport { _getAppliedFacetLabelsByType, _getTruncatedLabels } from '../utils';\n\nconst AppliedFacets = ({\n\tappliedFacetFilters,\n\ttruncateAppliedAndFacets,\n\ttruncateAppliedOrFacets,\n\tshowEndingDivider,\n\tenableLabelTranslation,\n\ttranslatedLabels,\n\tfacets\n}) => {\n\tconst appliedFilters = appliedFacetFilters\n\t\t.map(filter => filter.facetFilter)\n\t\t.filter(item => !isEmpty(item));\n\n\tconst applicableSingleSelectLabels = _getAppliedFacetLabelsByType(\n\t\tappliedFacetFilters,\n\t\tfacets,\n\t\tSELECTOR_TYPE.SINGLE\n\t);\n\n\tconst applicableMultiSelectLabels = _getAppliedFacetLabelsByType(\n\t\tappliedFacetFilters,\n\t\tfacets,\n\t\tSELECTOR_TYPE.MULTIPLE_AND\n\t);\n\n\tconst truncateANDLabels = _getTruncatedLabels(\n\t\t[...applicableSingleSelectLabels, ...applicableMultiSelectLabels],\n\t\ttruncateAppliedAndFacets,\n\t\tfalse\n\t);\n\n\tconst applicableORLabels = _getAppliedFacetLabelsByType(\n\t\tappliedFacetFilters,\n\t\tfacets,\n\t\tSELECTOR_TYPE.MULTIPLE_OR\n\t);\n\n\tconst truncateORLabels = _getTruncatedLabels(\n\t\tapplicableORLabels,\n\t\tfalse,\n\t\ttruncateAppliedOrFacets\n\t);\n\n\tconst orPills = truncateORLabels.map(filter => {\n\t\tconst disabled = !filter[1];\n\t\tconst facetValue = filter[2];\n\t\tconst label =\n\t\t\tenableLabelTranslation && translatedLabels[filter[0]]\n\t\t\t\t? translatedLabels[filter[0]]\n\t\t\t\t: filter[0];\n\n\t\tconst appendPayload = {\n\t\t\tlabel,\n\t\t\tappliedFilters,\n\t\t\tfacets,\n\t\t\tfacetValue\n\t\t};\n\n\t\treturn (\n\t\t\t<now-pill\n\t\t\t\tdisabled={disabled}\n\t\t\t\tlabel={label}\n\t\t\t\tsize=\"sm\"\n\t\t\t\tselected\n\t\t\t\tmanageSelected\n\t\t\t\tcanDismiss\n\t\t\t\tappend-to-payload={appendPayload}\n\t\t\t\tstyle={{\n\t\t\t\t\tpaddingTop: '2px',\n\t\t\t\t\tpaddingRight: '8px',\n\t\t\t\t\tpaddingBottom: '8px',\n\t\t\t\t\tmaxWidth: '100%',\n\t\t\t\t\tbackgroundcolor: '#FFF',\n\t\t\t\t\tborder: '#CBCBCB'\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t});\n\n\tconst andPills = truncateANDLabels.map(filter => {\n\t\tconst disabled = !filter[1];\n\t\tconst facetValue = filter[2];\n\t\tconst label =\n\t\t\tenableLabelTranslation && translatedLabels[filter[0]]\n\t\t\t\t? translatedLabels[filter[0]]\n\t\t\t\t: filter[0];\n\n\t\tconst appendedPayload = {\n\t\t\tlabel,\n\t\t\tappliedFilters,\n\t\t\tfacets,\n\t\t\tfacetValue\n\t\t};\n\t\treturn (\n\t\t\t<now-pill\n\t\t\t\tdisabled={disabled}\n\t\t\t\tlabel={label}\n\t\t\t\tsize=\"sm\"\n\t\t\t\tselected\n\t\t\t\tmanageSelected\n\t\t\t\tcanDismiss\n\t\t\t\tappend-to-payload={appendedPayload}\n\t\t\t\tstyle={{\n\t\t\t\t\tpaddingTop: '2px',\n\t\t\t\t\tpaddingRight: '8px',\n\t\t\t\t\tpaddingBottom: '8px',\n\t\t\t\t\tmaxWidth: '100%',\n\t\t\t\t\tcolor: '$dps-color-charcoal-black',\n\t\t\t\t\tbackgroundcolor: '#FFF',\n\t\t\t\t\tborder: '#CBCBCB'\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t});\n\n\tconst stackedORPills = [\n\t\t{\n\t\t\tlabel: STACKED_PILL_OR_FACET_LABEL,\n\t\t\tvalue: {\n\t\t\t\ttype: STACKED_TYPE,\n\t\t\t\tvalue: orPills\n\t\t\t}\n\t\t}\n\t];\n\n\tconst stackedANDPills = [\n\t\t{\n\t\t\tlabel: STACKED_PILL_AND_FACET_LABEL,\n\t\t\tvalue: {\n\t\t\t\ttype: STACKED_TYPE,\n\t\t\t\tvalue: andPills\n\t\t\t}\n\t\t}\n\t];\n\n\tlet andLength =\n\t\tapplicableSingleSelectLabels.length + applicableMultiSelectLabels.length;\n\n\tlet showORLength =\n\t\tapplicableORLabels.length > APPLIED_FACETS_TRUNCATION\n\t\t\t? applicableORLabels.length - APPLIED_FACETS_TRUNCATION\n\t\t\t: 0;\n\n\tlet showANDLength =\n\t\tandLength > APPLIED_FACETS_TRUNCATION\n\t\t\t? andLength - APPLIED_FACETS_TRUNCATION\n\t\t\t: 0;\n\n\tlet andORShowLength = showANDLength + showORLength;\n\n\tconst showMoreAndLabel = t(\n\t\t'+ {0} more',\n\t\tandLength - APPLIED_FACETS_TRUNCATION\n\t);\n\tconst showMoreORLabel = t(\n\t\t'+ {0} more',\n\t\tapplicableORLabels.length - APPLIED_FACETS_TRUNCATION\n\t);\n\n\tconst showMoreLabel = t('+ {0} more', andORShowLength);\n\n\tlet truncateAppliedFacets =\n\t\ttruncateAppliedAndFacets || truncateAppliedOrFacets;\n\n\tconst stackedPills = (\n\t\t<div>\n\t\t\t<now-label-value-stacked\n\t\t\t\tclassName=\"labels-with-pills\"\n\t\t\t\titems={stackedANDPills}\n\t\t\t/>\n\t\t\t{andLength > APPLIED_FACETS_TRUNCATION ? (\n\t\t\t\t<now-button-bare\n\t\t\t\t\tlabel={truncateAppliedAndFacets ? showMoreAndLabel : SHOW_FEWER_LABEL}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tclassName=\"show-more-less\"\n\t\t\t\t\tappend-to-payload={\n\t\t\t\t\t\ttruncateAppliedAndFacets\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\taction: APPLIED_FACET_LIST.EXPAND,\n\t\t\t\t\t\t\t\t\ttype: FACET_TYPE.AND\n\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\taction: APPLIED_FACET_LIST.COLLAPSE,\n\t\t\t\t\t\t\t\t\ttype: FACET_TYPE.AND\n\t\t\t\t\t\t\t  }\n\t\t\t\t\t}\n\t\t\t\t\thidePadding\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<Fragment />\n\t\t\t)}\n\n\t\t\t<now-label-value-stacked\n\t\t\t\tclassName=\"labels-with-pills\"\n\t\t\t\titems={stackedORPills}\n\t\t\t/>\n\t\t\t{applicableORLabels.length > APPLIED_FACETS_TRUNCATION ? (\n\t\t\t\t<now-button-bare\n\t\t\t\t\tlabel={truncateAppliedOrFacets ? showMoreORLabel : SHOW_FEWER_LABEL}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tclassName=\"applied-facet-pill\"\n\t\t\t\t\tappend-to-payload={\n\t\t\t\t\t\ttruncateAppliedOrFacets\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\taction: APPLIED_FACET_LIST.EXPAND,\n\t\t\t\t\t\t\t\t\ttype: FACET_TYPE.OR\n\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\taction: APPLIED_FACET_LIST.COLLAPSE,\n\t\t\t\t\t\t\t\t\ttype: FACET_TYPE.OR\n\t\t\t\t\t\t\t  }\n\t\t\t\t\t}\n\t\t\t\t\thidePadding\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<Fragment />\n\t\t\t)}\n\t\t</div>\n\t);\n\n\tconst showFewerOrMore =\n\t\tapplicableORLabels.length > APPLIED_FACETS_TRUNCATION ||\n\t\tandLength > APPLIED_FACETS_TRUNCATION ? (\n\t\t\t<now-button-bare\n\t\t\t\tlabel={truncateAppliedFacets ? showMoreLabel : SHOW_FEWER_LABEL}\n\t\t\t\tsize=\"sm\"\n\t\t\t\tclassName=\"applied-facet-pill\"\n\t\t\t\tappend-to-payload={\n\t\t\t\t\ttruncateAppliedFacets\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\taction: APPLIED_FACET_LIST.EXPAND\n\t\t\t\t\t\t  }\n\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\taction: APPLIED_FACET_LIST.COLLAPSE\n\t\t\t\t\t\t  }\n\t\t\t\t}\n\t\t\t\thidePadding\n\t\t\t/>\n\t\t) : (\n\t\t\t<Fragment />\n\t\t);\n\n\treturn appliedFilters.length > 0 ? (\n\t\t<Fragment>\n\t\t\t<Divider variant=\"tertiary\" />\n\t\t\t<div className=\"applied-facets\">\n\t\t\t\t{andPills.length > 0 && orPills.length === 0 ? (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{andPills}\n\t\t\t\t\t\t<div> {showFewerOrMore} </div>\n\t\t\t\t\t</div>\n\t\t\t\t) : andPills.length === 0 && orPills.length > 0 ? (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{orPills}\n\t\t\t\t\t\t<div> {showFewerOrMore} </div>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\tstackedPills\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{showEndingDivider ? <Divider variant=\"tertiary\" /> : ''}\n\t\t</Fragment>\n\t) : (\n\t\t''\n\t);\n};\n\nexport default AppliedFacets;\n","import \"@servicenow/now-loader\";\nimport Divider from \"./Divider\";\n\nconst Loader = () => (\n\t<div>\n\t\t<Divider variant=\"tertiary\" />\n\t\t<div className=\"container-loader\">\n\t\t\t<now-loader size=\"md\" />\n\t\t</div>\n\t</div>\n);\n\nexport default Loader;\n","import Panel from \"./Panel\";\nimport AppliedFacets from \"../../common/view/AppliedFacets\";\nimport Loader from \"../../common/view/Loader\";\n\nconst PanelList = ({\n\tfacets,\n\tfacetsMetadata,\n\tappliedFacetFilters,\n\ttruncateAppliedFacets,\n\ttruncateAppliedAndFacets,\n\ttruncateAppliedOrFacets,\n\tnowId,\n\tdispatch,\n\tisGlobal,\n\tenableLabelTranslation,\n\ttranslatedLabels,\n\titemToFocus,\n\tisLoading\n}) =>\n\tisLoading ? (\n\t\t<Loader />\n\t) : (\n\t\t<ul className=\"panel\" role=\"presentation\">\n\t\t\t{/* {\n\t\t\t\t<AppliedFacets\n\t\t\t\t\tappliedFacetFilters={appliedFacetFilters}\n\t\t\t\t\ttruncateAppliedFacets={truncateAppliedFacets}\n\t\t\t\t\ttruncateAppliedAndFacets={truncateAppliedAndFacets}\n\t\t\t\t\ttruncateAppliedOrFacets={truncateAppliedOrFacets}\n\t\t\t\t\tshowEndingDivider={facets.length === 0}\n\t\t\t\t\tenableLabelTranslation={enableLabelTranslation}\n\t\t\t\t\ttranslatedLabels={translatedLabels}\n\t\t\t\t\tfacets={facets}\n\t\t\t\t/>\n\t\t\t} */}\n\t\t\t{facets.map((facet, index) => {\n\t\t\t\tconst { name, facetConfigSysId, type } = facet;\n\t\t\t\tconst isExpanded = facetsMetadata[facetConfigSysId]?.expanded;\n\t\t\t\tconst disabled = facetsMetadata[facetConfigSysId]?.disabled;\n\t\t\t\tconst showEndingDivider = index === facets.length - 1;\n\t\t\t\treturn (\n\t\t\t\t\t<Panel\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tlabel={name}\n\t\t\t\t\t\tfacetConfigSysId={facetConfigSysId}\n\t\t\t\t\t\tfacetType={type}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\texpanded={isExpanded}\n\t\t\t\t\t\tfacetsMetadata={facetsMetadata}\n\t\t\t\t\t\tfacet={facet}\n\t\t\t\t\t\tshowEndingDivider={showEndingDivider}\n\t\t\t\t\t\tnowId={nowId}\n\t\t\t\t\t\tisGlobal={isGlobal}\n\t\t\t\t\t\titemToFocus={itemToFocus}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t})}\n\t\t</ul>\n\t);\n\nexport default PanelList;\n","import \"@servicenow/now-button\";\nimport \"@servicenow/now-heading\";\nimport {\n\tALL_CLEARED,\n\tTOGGLE_FACET_PANEL_VISIBILITY\n} from \"../../common/actions\";\nimport {\n\tCLEAR_ALL_LABEL,\n\tCLEAR_ALL_WCAG_LABEL,\n\tHIDE_FILTERS_LABEL,\n\tSPACE_KEY,\n\tENTER_KEY\n} from \"../../common/constants\";\nimport { _anyItemsSelected } from \"../../common/utils\";\n\nconst Header = ({\n\tfacetsMetadata,\n\tlabel,\n\tappliedFacetFilters,\n\tnowId,\n\tdispatch,\n\tisGlobal,\n\tfacetPanelIsHidden,\n\tfocusHideFacetsButton,\n\tupdateProperties\n}) => {\n\tconst anyItemsSelected = _anyItemsSelected(\n\t\tfacetsMetadata,\n\t\tappliedFacetFilters\n\t);\n\n\tconst hideButton = [\n\t\t<now-button-bare\n\t\t\thook-update={({ elm }) =>\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tfocusHideFacetsButton &&\n\t\t\t\t\t\telm.shadowRoot.querySelector(\"button\")?.focus();\n\t\t\t\t\tupdateProperties({ focusHideFacetsButton: false });\n\t\t\t\t})\n\t\t\t}\n\t\t\tvariant={isGlobal ? \"secondary\" : \"primary\"}\n\t\t\tlabel={HIDE_FILTERS_LABEL}\n\t\t\tconfigAria={{ \"aria-label\": HIDE_FILTERS_LABEL }}\n\t\t\tsize=\"sm\"\n\t\t\thidePadding\n\t\t\ton-click={() => {\n\t\t\t\tdispatch(TOGGLE_FACET_PANEL_VISIBILITY, {\n\t\t\t\t\tfacetPanelIsHidden: true\n\t\t\t\t});\n\t\t\t}}\n\t\t\ton-keypress={e => {\n\t\t\t\t// to focus show facets button on Enter or Space key\n\t\t\t\tif (e.keyCode == ENTER_KEY || e.keyCode == SPACE_KEY) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tdispatch(TOGGLE_FACET_PANEL_VISIBILITY, {\n\t\t\t\t\t\tfocusShowFacetsButton: true,\n\t\t\t\t\t\tfacetPanelIsHidden: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}}\n\t\t/>\n\t];\n\n\tconst clearButton = anyItemsSelected ? (\n\t\t<div className={anyItemsSelected ? \"clear-button\" : \"clear-button-hidden\"}>\n\t\t\t<now-button-bare\n\t\t\t\tlabel={CLEAR_ALL_LABEL}\n\t\t\t\tconfigAria={{ \"aria-label\": CLEAR_ALL_WCAG_LABEL }}\n\t\t\t\tsize=\"sm\"\n\t\t\t\ton-click={() => {\n\t\t\t\t\tdispatch(ALL_CLEARED, {});\n\t\t\t\t}}\n\t\t\t\tvariant={isGlobal ? \"secondary\" : \"primary\"}\n\t\t\t\tdisabled={!anyItemsSelected}\n\t\t\t/>{\" \"}\n\t\t</div>\n\t) : null;\n\n\treturn (\n\t\t<div className={`tree-root-header${facetPanelIsHidden ? \"-hidden\" : \"\"}`}>\n\t\t\t<now-heading\n\t\t\t\tvariant={isGlobal ? \"title-tertiary\" : \"title-primary\"}\n\t\t\t\tlevel=\"2\"\n\t\t\t\tlabel={label}\n\t\t\t\thasNoMargin\n\t\t\t\tid={`${nowId}_tree_label`}\n\t\t\t/>\n\t\t\t<div className=\"header-button-container\">\n\t\t\t\t{/* {hideButton} */}\n\t\t\t\t{anyItemsSelected ? <span className=\"button-separator\">|</span> : null}\n\t\t\t\t{clearButton}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default Header;\n","import isEmpty from \"lodash/isEmpty\";\n\nimport PanelList from \"./PanelList\";\nimport Header from \"./Header\";\n\nconst _isEmptyFacet = facets => {\n\tif (isEmpty(facets)) return true;\n\n\treturn facets.every(facetObject => facetObject.data.options.length === 0);\n};\n\nconst view = (state, { dispatch, updateProperties }) => {\n\tconst {\n\t\tfacetsMetadata,\n\t\ttruncateAppliedFacets,\n\t\ttruncateAppliedAndFacets,\n\t\ttruncateAppliedOrFacets,\n\t\tproperties,\n\t\titemToFocus\n\t} = state;\n\tconst {\n\t\tlabel,\n\t\tfacets,\n\t\tselectedOptions,\n\t\tnowId,\n\t\tisGlobal,\n\t\tfacetPanelIsHidden,\n\t\tfocusHideFacetsButton,\n\t\tenableLabelTranslation,\n\t\ttranslatedLabels,\n\t\tsearchFromChat,\n\t\tisLoading,\n\t\tsearchSources\n\t} = properties;\n\n\tconst showFacets =\n\t\tisLoading ||\n\t\t(!facetPanelIsHidden &&\n\t\t\t((searchSources && searchSources.length > 0) ||\n\t\t\t\t!_isEmptyFacet(facets) ||\n\t\t\t\t!isEmpty(selectedOptions)));\n\n\treturn showFacets ? (\n\t\t<panel\n\t\t\tclass={{\n\t\t\t\t\"facet-panel-tree\": !facetPanelIsHidden,\n\t\t\t\t\"facet-panel-tree-hidden\": facetPanelIsHidden,\n\t\t\t\t\"facet-panel-tree-global\": isGlobal,\n\t\t\t\t\"facet-panel-tree-na-self-service\": searchFromChat\n\t\t\t}}\n\t\t>\n\t\t\t<Header\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tupdateProperties={updateProperties}\n\t\t\t\tlabel={label}\n\t\t\t\tfacetsMetadata={facetsMetadata}\n\t\t\t\tappliedFacetFilters={selectedOptions}\n\t\t\t\tnowId={nowId}\n\t\t\t\tisGlobal={isGlobal}\n\t\t\t\tfacetPanelIsHidden={facetPanelIsHidden}\n\t\t\t\tfocusHideFacetsButton={focusHideFacetsButton}\n\t\t\t/>\n\t\t\t<PanelList\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tfacets={facets}\n\t\t\t\tfacetsMetadata={facetsMetadata}\n\t\t\t\tappliedFacetFilters={selectedOptions}\n\t\t\t\ttruncateAppliedFacets={truncateAppliedFacets}\n\t\t\t\ttruncateAppliedAndFacets={truncateAppliedAndFacets}\n\t\t\t\ttruncateAppliedOrFacets={truncateAppliedOrFacets}\n\t\t\t\tnowId={nowId}\n\t\t\t\tisGlobal={isGlobal}\n\t\t\t\tenableLabelTranslation={enableLabelTranslation}\n\t\t\t\ttranslatedLabels={translatedLabels}\n\t\t\t\titemToFocus={itemToFocus}\n\t\t\t\tisLoading={isLoading}\n\t\t\t/>\n\t\t</panel>\n\t) : null;\n};\n\nexport default view;\n","import cloneDeep from \"lodash/cloneDeep\";\nimport { _getAccordionFocusTarget } from \"../common/utils\";\nimport { UP_ARROW_KEY, DOWN_ARROW_KEY } from \"../common/constants\";\n\nexport const sectionFoldToggledEffect = ({ action, state, updateState }) => {\n\tconst { facetsMetadata } = state;\n\tconst updatedFacetsMetadata = cloneDeep(facetsMetadata);\n\tconst {\n\t\tpayload: { value }\n\t} = action;\n\n\tupdatedFacetsMetadata[value].expanded = !updatedFacetsMetadata[value]\n\t\t.expanded;\n\tupdateState({ facetsMetadata: updatedFacetsMetadata });\n};\n\nexport const moveAccordionFocus = (host, event) => {\n\tevent.preventDefault();\n\tlet moveFocusTo;\n\tif (event.keyCode === UP_ARROW_KEY) {\n\t\tmoveFocusTo = _getAccordionFocusTarget(host, UP_ARROW_KEY);\n\t}\n\tif (event.keyCode === DOWN_ARROW_KEY) {\n\t\tmoveFocusTo = _getAccordionFocusTarget(host, DOWN_ARROW_KEY);\n\t}\n\tif (moveFocusTo) moveFocusTo.focus();\n};\n","import { t } from \"sn-translate\";\n\nexport const INITIAL_DRILL_HEADER = \"\";\n\nexport const DONE_LABEL = t(\"Done\");\nexport const BACK_LABEL = t(\"Back\");\n\nexport const RELEVANCY_SORT_ID = \"relevancy\";\nexport const SORT_BY_LABEL = t(\"Sort by\");\nexport const RELEVANCY_SORT_LABEL = t(\"Most relevant\");\n\nexport const RELEVANCY_SORT_FACET = {\n\ttype: \"single-select\",\n\tname: SORT_BY_LABEL,\n\tfacetConfigSysId: SORT_BY_LABEL,\n\tisSortBy: true,\n\tdata: {\n\t\toptions: [\n\t\t\t{\n\t\t\t\tlabel: RELEVANCY_SORT_LABEL,\n\t\t\t\tvalue: RELEVANCY_SORT_ID\n\t\t\t}\n\t\t]\n\t}\n};\n","import cloneDeep from \"lodash/cloneDeep\";\nimport {\n\t_buildState,\n\t_getLabelFromRangeFilter,\n\t_getRangeFacetStorageKey,\n\t_getFacetFilterIndex,\n\t_getRangeFacetFilterIndex\n} from \"./utils\";\nimport {\n\tFACET_SELECTIONS_UPDATED_INTERNAL,\n\tSORT_FILTER_SELECTED_INTERNAL\n} from \"./actions\";\nimport {\n\tAPPLIED_FACET_LIST,\n\tRANGE_FACET_REGEX,\n\tSELECTOR_TYPE,\n\tFACET_TYPE,\n\tSOURCE_FACET_CONFIG_ID\n} from \"./constants\";\nimport { RELEVANCY_SORT_ID } from \"../sn-search-facets-mobile/constants\";\n\n/**\n * Filters selectedOptions to ensure it only includes source filters or non source filters\n *\n * @param {Array<Object>} facets - An array of all available facet categories and their values.\n * @param {Array<Object>} selectedObjects - An array of all currently selected facets\n * @param {boolean} includeSources - Specifies if only source or non source facets should be returns\n * @returns {Array<String>} - The selected facet values.\n */\nconst _filteredFacets = (facets, selectedOptions, includeSources) => {\n\t// If no sources are available return the original array\n\tconst sourceFacet = facets.find(\n\t\tfacet => facet.facetConfigSysId === SOURCE_FACET_CONFIG_ID\n\t);\n\tif (sourceFacet === null) return selectedOptions;\n\n\t// Collect sysIds of source filters\n\tconst sourceIds =\n\t\tsourceFacet?.data?.options?.map(option => option.value) || [];\n\n\t// Compare the selectedOptions to source filters to return either source or non source values\n\tif (includeSources) {\n\t\treturn selectedOptions\n\t\t\t.filter(obj => sourceIds.includes(obj.facetFilter))\n\t\t\t.map(filter => filter.facetFilter);\n\t}\n\treturn selectedOptions\n\t\t.filter(obj => !sourceIds.includes(obj.facetFilter))\n\t\t.map(filter => filter.facetFilter);\n};\n\n/**\n * Filters an array of facetValue strings to include only source or non source values\n *\n * @param {Object} facetsMetadata - An object containing of all currently selected facets.\n * \t\t\t\t\t\t\t\t\tKey is the category\n * @param {Array<String>} filters - Values to filter\n * @param {boolean} includeSources - Specifies if only source or non source values should be returns\n * @returns {Array<String>} - The filtered values.\n */\nconst _allSelectedFilters = (facetsMetadata, filters, includeSources) => {\n\t// If no sources are available return the original filter array or an empty array\n\tif (!facetsMetadata || !facetsMetadata[SOURCE_FACET_CONFIG_ID]) {\n\t\tif (includeSources) return [];\n\t\treturn filters;\n\t}\n\n\t// Return a filtered array of facet values\n\tconst sourceFilters =\n\t\tfacetsMetadata[SOURCE_FACET_CONFIG_ID].selectedFacetFilters;\n\tif (includeSources === true) {\n\t\treturn filters.filter(option => sourceFilters.includes(option));\n\t}\n\treturn filters.filter(option => !sourceFilters.includes(option));\n};\n\nexport const componentBootstrappedEffect = ({\n\tstate,\n\tproperties,\n\tupdateState\n}) => {\n\tupdateState(_buildState({ state, properties }));\n};\n\nexport const componentPropertyChangedEffect = ({\n\taction,\n\tstate,\n\tupdateState,\n\tproperties\n}) => {\n\tconst {\n\t\tpayload: { name }\n\t} = action;\n\tif (name === \"facets\" || name === \"selectedOptions\") {\n\t\tupdateState(_buildState({ state, properties }));\n\t}\n};\n\nexport const selectionsUpdatedEffect = ({\n\tstate,\n\taction,\n\tupdateState,\n\tdispatch,\n\tproperties,\n\tupdateProperties\n}) => {\n\tconst { facetsMetadata } = state;\n\tconst { selectedOptions, facets } = properties;\n\tconst {\n\t\tpayload: { category, selectedFacetFilters, select, selectedItems }\n\t} = action;\n\n\tconst updatedFacetsMetadata = cloneDeep(facetsMetadata);\n\tconst updatedFacet = updatedFacetsMetadata[category];\n\tconst selectedFilterValues = selectedFacetFilters?.map(option => option.value);\n\n\tupdatedFacetsMetadata[category] = {\n\t\t...updatedFacet,\n\t\tselectedFacetFilters: selectedFilterValues\n\t};\n\n\t//for range facet (single select) values remove the older selection for that particular category\n\tif (select === SELECTOR_TYPE.SINGLE && selectedItems.length > 0) {\n\t\tconst index = selectedOptions.findIndex(\n\t\t\toption =>\n\t\t\t\toption.facetFilter === selectedItems[0] && option.applied === true\n\t\t);\n\t\tif (index > -1) selectedOptions.splice(index, 1);\n\t}\n\n\t//for multi select when checkbox is unselected\n\tif (\n\t\tselectedItems.length >\n\t\tupdatedFacetsMetadata[category]?.selectedFacetFilters.length\n\t) {\n\t\tconst unselected = selectedItems.filter(\n\t\t\titem =>\n\t\t\t\t!updatedFacetsMetadata[category]?.selectedFacetFilters.includes(item)\n\t\t);\n\t\tconst index = selectedOptions.findIndex(\n\t\t\toption => option.facetFilter === unselected[0]\n\t\t);\n\t\tif (index > -1) selectedOptions.splice(index, 1);\n\t}\n\n\t//do not add duplicate applied pills as checkbox returns all selected options that might already be present in selectedOptions\n\tconst currentFacetSelection = updatedFacetsMetadata[\n\t\tcategory\n\t]?.selectedFacetFilters\n\t\t.filter(candidate => {\n\t\t\tlet exists = false;\n\t\t\tselectedOptions.forEach(selectedOption => {\n\t\t\t\texists = exists || selectedOption.facetFilter == candidate;\n\t\t\t});\n\t\t\treturn !exists;\n\t\t})\n\t\t.map(elem => {\n\t\t\treturn {\n\t\t\t\tfacetFilter: elem,\n\t\t\t\tapplied: true,\n\t\t\t\ttype: updatedFacet.facetType,\n\t\t\t\tisSource: category === SOURCE_FACET_CONFIG_ID\n\t\t\t};\n\t\t});\n\tconst updatedSelections = [...selectedOptions, ...currentFacetSelection];\n\n\tupdateProperties({\n\t\tselectedOptions: updatedSelections\n\t});\n\n\tupdateState({\n\t\tfacetsMetadata: updatedFacetsMetadata\n\t});\n\tif (facetsMetadata[category].isSortBy) {\n\t\tconst selectedFilter = JSON.stringify(\n\t\t\tselectedFacetFilters[0].value === RELEVANCY_SORT_ID\n\t\t\t\t? []\n\t\t\t\t: [selectedFacetFilters[0].value]\n\t\t);\n\t\tdispatch(SORT_FILTER_SELECTED_INTERNAL, {\n\t\t\tselectedFilter\n\t\t});\n\t} else {\n\t\tdispatch(FACET_SELECTIONS_UPDATED_INTERNAL, {\n\t\t\tselectedFilters: JSON.stringify(\n\t\t\t\t_filteredFacets(facets, updatedSelections, false)\n\t\t\t),\n\t\t\tsourceFilters: JSON.stringify(\n\t\t\t\t_filteredFacets(facets, updatedSelections, true)\n\t\t\t)\n\t\t});\n\t}\n};\n\nexport const toggleFocusOnSelectedItemEffect = ({\n\taction: {\n\t\tpayload: { toggledValue }\n\t},\n\tupdateState,\n\tstate\n}) => {\n\tupdateState({\n\t\t...state,\n\t\titemToFocus: toggledValue\n\t});\n};\n\nexport const allFacetsClearedEffect = ({\n\tstate,\n\tupdateState,\n\tdispatch,\n\tupdateProperties\n}) => {\n\tconst { facetsMetadata } = state;\n\tconst updatedFacetsMetadata = cloneDeep(facetsMetadata);\n\n\tObject.keys(updatedFacetsMetadata).forEach(category => {\n\t\tupdatedFacetsMetadata[category] = {\n\t\t\t...updatedFacetsMetadata[category],\n\t\t\tselectedFacetFilters: []\n\t\t};\n\t});\n\n\tupdateState({\n\t\tfacetsMetadata: updatedFacetsMetadata\n\t});\n\n\tupdateProperties({\n\t\tselectedOptions: []\n\t});\n\n\tdispatch(FACET_SELECTIONS_UPDATED_INTERNAL, {\n\t\tselectedFilters: JSON.stringify([]),\n\t\tsourceFilters: JSON.stringify([])\n\t});\n};\n\nexport const accordionClearedEffect = ({\n\taction,\n\tstate,\n\tupdateState,\n\tdispatch,\n\tproperties,\n\tupdateProperties\n}) => {\n\tconst {\n\t\tpayload: { value }\n\t} = action;\n\tconst { facetsMetadata } = state;\n\tconst { selectedOptions } = properties;\n\tconst updatedFacetsMetadata = cloneDeep(facetsMetadata);\n\n\t//loop through selected filters to only clear applied filters\n\t//and retain pills that are carried over from other tabs\n\tupdatedFacetsMetadata[value]?.selectedFacetFilters.forEach(item => {\n\t\tconst index = selectedOptions.findIndex(\n\t\t\toption => option.facetFilter === item && option.applied === true\n\t\t);\n\t\tif (index > -1) selectedOptions.splice(index, 1);\n\t});\n\tconst optionsToBeRetained = selectedOptions.map(item => item.facetFilter);\n\n\tupdatedFacetsMetadata[value] = {\n\t\t...updatedFacetsMetadata[value],\n\t\tselectedFacetFilters: []\n\t};\n\n\tupdateProperties({\n\t\tselectedOptions: selectedOptions\n\t});\n\n\tupdateState({\n\t\tfacetsMetadata: updatedFacetsMetadata\n\t});\n\n\tdispatch(FACET_SELECTIONS_UPDATED_INTERNAL, {\n\t\tselectedFilters: JSON.stringify(\n\t\t\t_allSelectedFilters(facetsMetadata, optionsToBeRetained, false)\n\t\t),\n\t\tsourceFilters: JSON.stringify(\n\t\t\t_allSelectedFilters(facetsMetadata, optionsToBeRetained, true)\n\t\t)\n\t});\n};\n\nexport const appliedPillDismissedEffect = ({\n\taction: { payload },\n\tdispatch,\n\tstate\n}) => {\n\tconst { facetsMetadata } = state;\n\tconst { label: pillLabel, appliedFilters, facets, facetValue } = payload;\n\tlet rangeFacetPresentNotDismissed = false;\n\n\tif (appliedFilters.length > 0) {\n\t\tconst regularIndex = _getFacetFilterIndex(\n\t\t\tappliedFilters,\n\t\t\tpillLabel,\n\t\t\tfacetValue\n\t\t);\n\n\t\t//index of regular pill selected for dismissal\n\t\tif (regularIndex !== -1) {\n\t\t\tappliedFilters.splice(regularIndex, 1);\n\t\t} else if (regularIndex === -1) {\n\t\t\t//range facet present in the applied filters\n\t\t\tconst rangeFacetFilters = appliedFilters.filter(option =>\n\t\t\t\tRANGE_FACET_REGEX.test(option)\n\t\t\t);\n\n\t\t\trangeFacetFilters.forEach(rangeFilter => {\n\t\t\t\tconst rangeLabel = _getLabelFromRangeFilter(rangeFilter, facets);\n\t\t\t\t//range facet pill is selected for dismissal\n\t\t\t\tif (rangeLabel === pillLabel) {\n\t\t\t\t\trangeFacetPresentNotDismissed = false;\n\t\t\t\t\tconst index = _getRangeFacetFilterIndex(appliedFilters, rangeFilter);\n\t\t\t\t\tif (index != -1) appliedFilters.splice(index, 1);\n\t\t\t\t\tconst key = _getRangeFacetStorageKey(rangeFilter);\n\t\t\t\t\twindow.localStorage.removeItem(key);\n\t\t\t\t} else {\n\t\t\t\t\t//range facet pill is present but not selected for dismissal\n\t\t\t\t\trangeFacetPresentNotDismissed = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\t//dismiss regular pills when range facet is present in applied filters\n\t\t\tif (rangeFacetPresentNotDismissed) {\n\t\t\t\tappliedFilters.splice(0, rangeFacetFilters.length);\n\t\t\t\tconst index = _getFacetFilterIndex(appliedFilters, pillLabel);\n\t\t\t\tappliedFilters.splice(index, 1);\n\t\t\t\tappliedFilters.unshift(...rangeFacetFilters);\n\t\t\t}\n\t\t}\n\t\tdispatch(FACET_SELECTIONS_UPDATED_INTERNAL, {\n\t\t\tselectedFilters: JSON.stringify(\n\t\t\t\t_allSelectedFilters(facetsMetadata, appliedFilters, false)\n\t\t\t),\n\t\t\tsourceFilters: JSON.stringify(\n\t\t\t\t_allSelectedFilters(facetsMetadata, appliedFilters, true)\n\t\t\t)\n\t\t});\n\t}\n};\n\nexport const expandCollapseAppliedFacetsEffect = ({ action, updateState }) => {\n\tconst { payload } = action;\n\n\tif (payload.action && payload.action === APPLIED_FACET_LIST.EXPAND) {\n\t\tif (payload.type === FACET_TYPE.AND) {\n\t\t\tupdateState({ truncateAppliedAndFacets: false });\n\t\t} else if (payload.type === FACET_TYPE.OR) {\n\t\t\tupdateState({ truncateAppliedOrFacets: false });\n\t\t} else {\n\t\t\tupdateState({\n\t\t\t\ttruncateAppliedAndFacets: false,\n\t\t\t\ttruncateAppliedOrFacets: false\n\t\t\t});\n\t\t}\n\t}\n\n\tif (payload.action && payload.action === APPLIED_FACET_LIST.COLLAPSE) {\n\t\tif (payload.type === FACET_TYPE.AND) {\n\t\t\tupdateState({ truncateAppliedAndFacets: true });\n\t\t} else if (payload.type === FACET_TYPE.OR) {\n\t\t\tupdateState({ truncateAppliedOrFacets: true });\n\t\t} else {\n\t\t\tupdateState({\n\t\t\t\ttruncateAppliedAndFacets: true,\n\t\t\t\ttruncateAppliedOrFacets: true\n\t\t\t});\n\t\t}\n\t}\n};\n","import { actionTypes } from \"@servicenow/ui-core\";\nimport {\n\tSELECTIONS_UPDATED,\n\tALL_CLEARED,\n\tACCORDION_CLEARED,\n\tAPPLIED_FACETS_EXPANDED_COLLAPSED,\n\tTOGGLE_FOCUS_ON_SELECTED_ITEM,\n\tPILL_DISMISSED\n} from \"./actions\";\nimport {\n\tcomponentBootstrappedEffect,\n\tselectionsUpdatedEffect,\n\tallFacetsClearedEffect,\n\taccordionClearedEffect,\n\tcomponentPropertyChangedEffect,\n\texpandCollapseAppliedFacetsEffect,\n\ttoggleFocusOnSelectedItemEffect,\n\tappliedPillDismissedEffect\n} from \"./effects\";\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport default {\n\t[COMPONENT_BOOTSTRAPPED]: componentBootstrappedEffect,\n\t[COMPONENT_PROPERTY_CHANGED]: componentPropertyChangedEffect,\n\t[SELECTIONS_UPDATED]: {\n\t\teffect: selectionsUpdatedEffect,\n\t\tstopPropagation: true\n\t},\n\t[TOGGLE_FOCUS_ON_SELECTED_ITEM]: {\n\t\teffect: toggleFocusOnSelectedItemEffect,\n\t\tstopPropagation: true\n\t},\n\t[ALL_CLEARED]: {\n\t\teffect: allFacetsClearedEffect,\n\t\tstopPropagation: true\n\t},\n\t[ACCORDION_CLEARED]: {\n\t\teffect: accordionClearedEffect,\n\t\tstopPropagation: true\n\t},\n\t[APPLIED_FACETS_EXPANDED_COLLAPSED]: {\n\t\teffect: expandCollapseAppliedFacetsEffect,\n\t\tstopPropagation: true\n\t},\n\t[PILL_DISMISSED]: {\n\t\teffect: appliedPillDismissedEffect,\n\t\tstopPropagation: true\n\t}\n};\n","import { SECTION_FOLD_TOGGLED } from \"./actions\";\n\nimport { sectionFoldToggledEffect } from \"./effects\";\nimport baseActionHandlers from \"../common/actionHandlers\";\n\nexport default {\n\t...baseActionHandlers,\n\t[SECTION_FOLD_TOGGLED]: {\n\t\teffect: sectionFoldToggledEffect,\n\t\tstopPropagation: true\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport keyBindingBehavior from '@servicenow/behavior-key-binding';\nimport view from './view/DesktopView';\nimport styles from './scss/index.scss';\nimport actionHandlers from './actionHandlers';\nimport { DEFAULT_LABEL } from '../common/constants';\nimport { moveAccordionFocus } from './effects';\n\ncreateCustomElement('dps-search-facets-desktop', {\n\trenderer: { type: snabbdom },\n\tview,\n\tinitialState: {\n\t\tfacetsMetadata: {},\n\t\ttruncateAppliedFacets: true,\n\t\ttruncateAppliedAndFacets: true,\n\t\ttruncateAppliedOrFacets: true,\n\t\titemToFocus: null,\n\t\thideFacetPanel: true\n\t},\n\tproperties: {\n\t\tfacets: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array'\n\t\t\t}\n\t\t},\n\t\tlabel: {\n\t\t\tdefault: DEFAULT_LABEL,\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\tselectedOptions: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array'\n\t\t\t}\n\t\t},\n\t\tisGlobal: {\n\t\t\tdefault: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tfacetPanelIsHidden: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tfocusHideFacetsButton: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tenableLabelTranslation: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\ttranslatedLabels: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t}\n\t\t},\n\t\tsearchFromChat: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tisLoading: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t}\n\t},\n\tbehaviors: [\n\t\t{ behavior: rtlBehavior },\n\t\t{\n\t\t\tbehavior: keyBindingBehavior,\n\t\t\toptions: {\n\t\t\t\tkeyBindings: {\n\t\t\t\t\tmoveAccordionFocus: ['ArrowUp', 'ArrowDown']\n\t\t\t\t},\n\t\t\t\thandlers: {\n\t\t\t\t\tmoveAccordionFocus\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t],\n\tstyles,\n\tactionHandlers\n});\n","export const NAVIGATED_TO_CHILD_PANEL = \"NAVIGATED_TO_CHILD_PANEL\";\nexport const NAVIGATED_TO_PARENT_PANEL = \"NAVIGATED_TO_PARENT_PANEL\";\n\nexport const DONE_BUTTON_CLICKED_INTERNAL = \"DONE_BUTTON_CLICKED\";\n","import \"@servicenow/now-icon\";\nimport { NAVIGATED_TO_CHILD_PANEL } from \"../actions\";\nimport { COLLAPSE_LABEL, EXPAND_LABEL } from \"../../common/constants\";\n\nconst ExpandButton = ({ dispatch, expanded, category, facetConfigSysId }) => {\n\tconst className = \"drill-expand-button\";\n\tconst ariaTitle = expanded ? COLLAPSE_LABEL : EXPAND_LABEL;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={className}\n\t\t\ttitle={ariaTitle}\n\t\t\ton-click={() =>\n\t\t\t\tdispatch(NAVIGATED_TO_CHILD_PANEL, {\n\t\t\t\t\titemValue: category,\n\t\t\t\t\tfacetConfigSysId: facetConfigSysId\n\t\t\t\t})\n\t\t\t}\n\t\t>\n\t\t\t<now-icon icon=\"chevron-right-outline\" size=\"md\" />\n\t\t</div>\n\t);\n};\n\nexport default ExpandButton;\n","import \"@servicenow/now-heading\";\nimport ExpandButton from \"./ExpandButton\";\nimport { NAVIGATED_TO_CHILD_PANEL } from \"../actions\";\nimport { SPACE_KEY, ENTER_KEY } from \"../../common/constants\";\n\nconst Filters = ({\n\tdispatch,\n\tlabel,\n\tfacetsMetadata,\n\texpanded,\n\tfacetConfigSysId\n}) => {\n\tconst navigateToChildPanel = event => {\n\t\tif (\n\t\t\tevent.type === \"click\" ||\n\t\t\tevent.keyCode === SPACE_KEY ||\n\t\t\tevent.keyCode === ENTER_KEY\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\tdispatch(NAVIGATED_TO_CHILD_PANEL, {\n\t\t\t\titemValue: label,\n\t\t\t\tfacetConfigSysId: facetConfigSysId\n\t\t\t});\n\t\t}\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"drill-filters\"\n\t\t\ttabIndex={0}\n\t\t\trole=\"button\"\n\t\t\ton-click={navigateToChildPanel}\n\t\t\ton-keydown={navigateToChildPanel}\n\t\t>\n\t\t\t<div className=\"drill-filter\">\n\t\t\t\t<div className=\"drill-filter-text\">\n\t\t\t\t\t<now-heading\n\t\t\t\t\t\tlabel={label}\n\t\t\t\t\t\tlevel=\"2\"\n\t\t\t\t\t\tvariant=\"title-primary\"\n\t\t\t\t\t\thasNoMargin\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div className=\"drill-filters-controls\">\n\t\t\t\t<ExpandButton\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tfacetConfigSysId={facetConfigSysId}\n\t\t\t\t\tcategory={label}\n\t\t\t\t\texpanded={expanded}\n\t\t\t\t\tfacetsMetadata={facetsMetadata}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default Filters;\n","import { Fragment } from \"@servicenow/ui-renderer-snabbdom\";\n\nimport Facet from \"../../common/view/Facet\";\nimport Divider from \"../../common/view/Divider\";\nimport Filters from \"./Filters\";\nimport { INITIAL_DRILL_HEADER } from \"../constants\";\nimport { MODE } from \"../../common/constants\";\n\nconst Panel = ({\n\tdrillHeader,\n\tdrillField,\n\tfacetsMetadata,\n\tlabel,\n\tdispatch,\n\texpanded,\n\tfacet,\n\tshowEndingDivider,\n\tnowId\n}) => {\n\tconst { facetConfigSysId } = facet;\n\tif (drillHeader === INITIAL_DRILL_HEADER) {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<Divider variant=\"tertiary\" />\n\t\t\t\t<Filters\n\t\t\t\t\tlabel={label}\n\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\tfacetsMetadata={facetsMetadata}\n\t\t\t\t\texpanded={expanded}\n\t\t\t\t\tfacetConfigSysId={facetConfigSysId}\n\t\t\t\t/>\n\t\t\t\t{showEndingDivider ? <Divider variant=\"tertiary\" /> : null}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif (facetConfigSysId === drillField) {\n\t\treturn (\n\t\t\t<div className=\"facet-options\">\n\t\t\t\t<Facet\n\t\t\t\t\tfacet={facet}\n\t\t\t\t\tfacetsMetadata={facetsMetadata}\n\t\t\t\t\tmode={MODE.DRILL}\n\t\t\t\t\tnowId={nowId}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn <Fragment />;\n};\n\nexport default Panel;\n","import Panel from './Panel';\nimport Loader from '../../common/view/Loader';\nimport AppliedFacets from '../../common/view/AppliedFacets';\nimport { INITIAL_DRILL_HEADER } from '../constants';\n\nconst PanelList = ({\n\tfacets,\n\tfacetsMetadata,\n\tdispatch,\n\tdrillHeader,\n\tappliedFacetFilters,\n\ttruncateAppliedFacets,\n\tnowId,\n\tenableLabelTranslation,\n\ttranslatedLabels,\n\tdrillField,\n\tisLoading\n}) =>\n\tisLoading ? (\n\t\t<Loader />\n\t) : (\n\t\t<ul className=\"panel\" role=\"presentation\">\n\t\t\t{/* {drillHeader === INITIAL_DRILL_HEADER ? (\n\t\t\t\t<AppliedFacets\n\t\t\t\t\tappliedFacetFilters={appliedFacetFilters}\n\t\t\t\t\ttruncateAppliedFacets={truncateAppliedFacets}\n\t\t\t\t\tshowEndingDivider={facets.length === 0}\n\t\t\t\t\tenableLabelTranslation={enableLabelTranslation}\n\t\t\t\t\ttranslatedLabels={translatedLabels}\n\t\t\t\t\tfacets={facets}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t\"\"\n\t\t\t)} */}\n\t\t\t{facets.map((facet, index) => {\n\t\t\t\tconst { name, facetConfigSysId } = facet;\n\t\t\t\tconst isExpanded = facetsMetadata[facetConfigSysId].expanded;\n\t\t\t\tconst showEndingDivider = index === facets.length - 1;\n\n\t\t\t\treturn (\n\t\t\t\t\t<Panel\n\t\t\t\t\t\tdrillHeader={drillHeader}\n\t\t\t\t\t\tdrillField={drillField}\n\t\t\t\t\t\tfacetsMetadata={facetsMetadata}\n\t\t\t\t\t\tlabel={name}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\texpanded={isExpanded}\n\t\t\t\t\t\tfacet={facet}\n\t\t\t\t\t\tshowEndingDivider={showEndingDivider}\n\t\t\t\t\t\tnowId={nowId}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t})}\n\t\t</ul>\n\t);\n\nexport default PanelList;\n","import \"@servicenow/now-button\";\nimport \"@servicenow/now-heading\";\nimport { DONE_BUTTON_CLICKED_INTERNAL } from \"../actions\";\nimport { ALL_CLEARED } from \"../../common/actions\";\nimport { CLEAR_ALL_LABEL } from \"../../common/constants\";\nimport { DONE_LABEL, SORT_BY_LABEL } from \"../constants\";\nimport { _anyItemsSelected } from \"../../common/utils\";\n\nconst RootHeader = ({\n\tlabel,\n\tdispatch,\n\tappliedFacetFilters,\n\tfacetsMetadata,\n\tnowId\n}) => {\n\tconst className =\n\t\t!_anyItemsSelected(facetsMetadata, appliedFacetFilters) ||\n\t\tfacetsMetadata[SORT_BY_LABEL]?.selectedFacetFilters.length ===\n\t\t\tappliedFacetFilters.length\n\t\t\t? \"clear-button-hidden\"\n\t\t\t: \"clear-button\";\n\treturn (\n\t\t<div className=\"drill-root-header\">\n\t\t\t<now-heading\n\t\t\t\tvariant=\"title-primary\"\n\t\t\t\tlabel={label}\n\t\t\t\tlevel=\"1\"\n\t\t\t\thasNoMargin\n\t\t\t\tid={`${nowId}_tree_label`}\n\t\t\t/>\n\t\t\t<div className=\"drill-root-header-right\">\n\t\t\t\t<div className={className}>\n\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\tlabel={CLEAR_ALL_LABEL}\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\thidePadding\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(ALL_CLEARED, { facetsMetadata });\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<now-button-bare\n\t\t\t\t\tlabel={DONE_LABEL}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\thidePadding\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\tdispatch(DONE_BUTTON_CLICKED_INTERNAL);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default RootHeader;\n","import \"@servicenow/now-button\";\nimport \"@servicenow/now-heading\";\nimport {\n\tNAVIGATED_TO_PARENT_PANEL,\n\tDONE_BUTTON_CLICKED_INTERNAL\n} from \"../actions\";\nimport { ACCORDION_CLEARED } from \"../../common/actions\";\nimport { _selectedItemsLength } from \"../../common/utils\";\nimport { BACK_LABEL, DONE_LABEL } from \"../constants\";\nimport { CLEAR_LABEL } from \"../../common/constants\";\n\nconst CategoryHeader = ({\n\tdispatch,\n\tlabel,\n\tfacetsMetadata,\n\tnowId,\n\tdrillField\n}) => {\n\tconst className =\n\t\t_selectedItemsLength(facetsMetadata, drillField) > 0 &&\n\t\t!facetsMetadata[drillField].isSortBy\n\t\t\t? \"clear-button\"\n\t\t\t: \"clear-button-hidden\";\n\n\treturn (\n\t\t<div className=\"drill-header\">\n\t\t\t<div className=\"drill-header-left\" role=\"button\">\n\t\t\t\t<now-button-bare\n\t\t\t\t\ticon-start=\"chevron-left-outline\"\n\t\t\t\t\tlabel={BACK_LABEL}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\thidePadding\n\t\t\t\t\ton-click={() => dispatch(NAVIGATED_TO_PARENT_PANEL, {})}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<now-heading\n\t\t\t\tlabel={label}\n\t\t\t\tvariant=\"title-primary\"\n\t\t\t\thasNoMargin\n\t\t\t\tid={`${nowId}_${label}_facet_category`}\n\t\t\t/>\n\t\t\t<div className=\"drill-header-right\">\n\t\t\t\t<div className={className}>\n\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\tlabel={CLEAR_LABEL}\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\thidePadding\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(ACCORDION_CLEARED, {\n\t\t\t\t\t\t\t\tvalue: drillField\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"done-button\">\n\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\tlabel={DONE_LABEL}\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\ton-click={() => dispatch(DONE_BUTTON_CLICKED_INTERNAL)}\n\t\t\t\t\t\thidePadding\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default CategoryHeader;\n","import { INITIAL_DRILL_HEADER } from \"../constants\";\nimport RootHeader from \"./RootHeader\";\nimport CategoryHeader from \"./CategoryHeader\";\n\nconst Header = ({\n\tfacetsMetadata,\n\tdrillHeader,\n\tlabel,\n\tappliedFacetFilters,\n\tdispatch,\n\tnowId,\n\tdrillField\n}) => {\n\tif (drillHeader === INITIAL_DRILL_HEADER) {\n\t\treturn (\n\t\t\t<RootHeader\n\t\t\t\tlabel={label}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tfacetsMetadata={facetsMetadata}\n\t\t\t\tappliedFacetFilters={appliedFacetFilters}\n\t\t\t\tnowId={nowId}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<CategoryHeader\n\t\t\tdrillHeader={drillHeader}\n\t\t\tdrillField={drillField}\n\t\t\tdispatch={dispatch}\n\t\t\tlabel={drillHeader}\n\t\t\tfacetsMetadata={facetsMetadata}\n\t\t\tnowId={nowId}\n\t\t/>\n\t);\n};\n\nexport default Header;\n","import PanelList from \"./PanelList\";\nimport Header from \"./Header\";\nimport {\n\tSORT_BY_LABEL,\n\tRELEVANCY_SORT_ID,\n\tRELEVANCY_SORT_LABEL\n} from \"../constants\";\n\nconst _showSortByFacet = sortFacets => {\n\treturn sortFacets?.data?.options?.length > 0;\n};\n\nconst view = (state, { dispatch }) => {\n\tconst {\n\t\tfacetsMetadata,\n\t\tdrillHeader,\n\t\tdrillField,\n\t\tproperties,\n\t\ttruncateAppliedFacets\n\t} = state;\n\tconst {\n\t\tlabel,\n\t\tselectedOptions,\n\t\tsortFacets,\n\t\tselectedSortFacet,\n\t\tnowId,\n\t\tenableLabelTranslation,\n\t\ttranslatedLabels,\n\t\tfacets,\n\t\tisLoading\n\t} = properties;\n\n\tconst facetsMetadataWithSortBy = facetsMetadata;\n\tconst appliedFilter = selectedOptions.map(filter => filter.facetFilter);\n\tlet appliedFacetFilters = appliedFilter;\n\n\t// add sort by facet filter to facets\n\tif (_showSortByFacet(sortFacets)) {\n\t\tif (!facets.find(facet => facet.isSortBy)) facets.unshift(sortFacets);\n\n\t\t// update facetsMetadata with deafult or given sort by selection\n\t\tif (!facetsMetadataWithSortBy[SORT_BY_LABEL]) {\n\t\t\tfacetsMetadataWithSortBy[SORT_BY_LABEL] = {\n\t\t\t\tisSortBy: true,\n\t\t\t\texpanded: false,\n\t\t\t\tselectedFacetFilters: selectedSortFacet\n\t\t\t};\n\t\t}\n\n\t\t// add the selected sort filter to applied facet filter pills\n\t\tappliedFacetFilters = [\n\t\t\tselectedSortFacet[0] === RELEVANCY_SORT_ID\n\t\t\t\t? RELEVANCY_SORT_LABEL\n\t\t\t\t: sortFacets?.data?.options.find(\n\t\t\t\t\t\tfilter => filter.value === selectedSortFacet[0]\n\t\t\t\t  ).label,\n\t\t\t...selectedOptions\n\t\t];\n\t}\n\n\treturn (\n\t\t<panel className=\"facet-panel-drill\">\n\t\t\t<Header\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tlabel={label}\n\t\t\t\tfacetsMetadata={facetsMetadata}\n\t\t\t\tdrillHeader={drillHeader}\n\t\t\t\tdrillField={drillField}\n\t\t\t\tappliedFacetFilters={appliedFacetFilters}\n\t\t\t\tnowId={nowId}\n\t\t\t/>\n\t\t\t<PanelList\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tfacets={facets}\n\t\t\t\tfacetsMetadata={facetsMetadata}\n\t\t\t\tdrillHeader={drillHeader}\n\t\t\t\tdrillField={drillField}\n\t\t\t\tappliedFacetFilters={appliedFacetFilters}\n\t\t\t\ttruncateAppliedFacets={truncateAppliedFacets}\n\t\t\t\tnowId={nowId}\n\t\t\t\tenableLabelTranslation={enableLabelTranslation}\n\t\t\t\ttranslatedLabels={translatedLabels}\n\t\t\t\tisLoading={isLoading}\n\t\t\t/>\n\t\t</panel>\n\t);\n};\n\nexport default view;\n","import { INITIAL_DRILL_HEADER } from \"./constants\";\n\nexport const navigatedToParentPanelEffect = ({ updateState }) => {\n\tupdateState({\n\t\tdrillHeader: INITIAL_DRILL_HEADER\n\t});\n};\n\nexport const navigatedToChildPanelEffect = ({ action, updateState }) => {\n\tconst {\n\t\tpayload: { itemValue, facetConfigSysId }\n\t} = action;\n\n\tupdateState({\n\t\tdrillHeader: itemValue,\n\t\tdrillField: facetConfigSysId\n\t});\n};\n","import { NAVIGATED_TO_CHILD_PANEL, NAVIGATED_TO_PARENT_PANEL } from \"./actions\";\nimport {\n\tnavigatedToChildPanelEffect,\n\tnavigatedToParentPanelEffect\n} from \"./effects\";\nimport baseActionHandlers from \"../common/actionHandlers\";\n\nexport default {\n\t...baseActionHandlers,\n\t[NAVIGATED_TO_CHILD_PANEL]: {\n\t\teffect: navigatedToChildPanelEffect,\n\t\tstopPropagation: true\n\t},\n\t[NAVIGATED_TO_PARENT_PANEL]: {\n\t\teffect: navigatedToParentPanelEffect,\n\t\tstopPropagation: true\n\t}\n};\n","import { createCustomElement } from \"@servicenow/ui-core\";\nimport { isEmpty } from \"lodash\";\nimport snabbdom from \"@servicenow/ui-renderer-snabbdom\";\nimport rtlBehavior from \"@servicenow/behavior-rtl\";\nimport view from \"./view/MobileView\";\nimport styles from \"./scss/index.scss\";\nimport actionHandlers from \"./actionHandlers\";\nimport { DEFAULT_LABEL } from \"../common/constants\";\nimport {\n\tINITIAL_DRILL_HEADER,\n\tRELEVANCY_SORT_ID,\n\tRELEVANCY_SORT_FACET\n} from \"./constants\";\n\ncreateCustomElement(\"dps-search-facets-mobile\", {\n\trenderer: { type: snabbdom },\n\tview,\n\tinitialState: {\n\t\tfacetsMetadata: {},\n\t\tdrillHeader: INITIAL_DRILL_HEADER,\n\t\tdrillField: \"\",\n\t\ttruncateAppliedFacets: true\n\t},\n\tproperties: {\n\t\tfacets: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: \"array\"\n\t\t\t}\n\t\t},\n\t\tlabel: {\n\t\t\tdefault: DEFAULT_LABEL,\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\tselectedOptions: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: \"array\"\n\t\t\t}\n\t\t},\n\t\tsortFilters: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: \"array\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Computed property that transforms and stores the sort by data as facet filters.\n\t\t */\n\t\tsortFacets: {\n\t\t\tcomputed({ properties: { sortFilters } }) {\n\t\t\t\tif (isEmpty(sortFilters)) return {};\n\n\t\t\t\tconst sortByFacet = RELEVANCY_SORT_FACET;\n\t\t\t\tconst sortFacetOptions = sortFilters.map(({ sysId, label }) => ({\n\t\t\t\t\tlabel,\n\t\t\t\t\tvalue: sysId\n\t\t\t\t}));\n\t\t\t\t/*\n\t\t\t\t * only add sort by options if they've not been accounted for during a previous render;\n\t\t\t\t * length for sort facet options will always be sortFilters.length + 1 (sort filters from api + relevancy sort filter)\n\t\t\t\t */\n\t\t\t\tif (sortByFacet.data.options.length !== sortFilters.length + 1) {\n\t\t\t\t\tsortByFacet.data.options = [\n\t\t\t\t\t\t...sortByFacet.data.options,\n\t\t\t\t\t\t...sortFacetOptions\n\t\t\t\t\t];\n\t\t\t\t}\n\t\t\t\treturn sortByFacet;\n\t\t\t}\n\t\t},\n\t\tselectedSortFilters: {\n\t\t\tdefault: [RELEVANCY_SORT_ID],\n\t\t\tschema: {\n\t\t\t\ttype: \"array\"\n\t\t\t}\n\t\t},\n\t\tselectedSortFacet: {\n\t\t\tcomputed({ properties: { selectedSortFilters } }) {\n\t\t\t\tif (isEmpty(selectedSortFilters)) return [RELEVANCY_SORT_ID];\n\n\t\t\t\treturn selectedSortFilters;\n\t\t\t}\n\t\t},\n\t\tenableLabelTranslation: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\ttranslatedLabels: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: \"object\"\n\t\t\t}\n\t\t},\n\t\tisLoading: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t}\n\t},\n\tbehaviors: [{ behavior: rtlBehavior }],\n\tstyles,\n\tactionHandlers\n});\n","import \"./sn-search-facets-desktop\";\nimport \"./sn-search-facets-mobile\";\nimport { SIZE } from \"./common/constants\";\nimport {\n\t_replaceFacetLabels,\n\t_checkForRangeFacets,\n\t_markRangeFacets,\n\t_addSourceFacet,\n\t_combineSelectedSourcesAndFacets\n} from \"./common/utils\";\n\nconst view = state => {\n\tconst { properties, translatedLabels } = state;\n\tconst {\n\t\tfacets,\n\t\tlabel,\n\t\tsize,\n\t\tselectedOptions,\n\t\tsortFilters,\n\t\tselectedSortFilters,\n\t\tisGlobal,\n\t\tfacetPanelIsHidden,\n\t\tfocusHideFacetsButton,\n\t\tenableLabelTranslation,\n\t\tsearchFromChat,\n\t\tsearchSources,\n\t\tselectedSearchSources,\n\t\tisLoading\n\t} = properties;\n\n\tlet facetsToDisplay = facets;\n\tif (enableLabelTranslation) {\n\t\tfacetsToDisplay = _replaceFacetLabels(facets, translatedLabels);\n\t}\n\n\t// check for range facets and add field 'isRangeFacet' to specify if it's a range facet\n\tif (_checkForRangeFacets(facetsToDisplay)) {\n\t\tfacetsToDisplay = _markRangeFacets(facetsToDisplay);\n\t}\n\n\t// Add sources as the first options\n\tif (searchSources && searchSources.length > 0) {\n\t\t_addSourceFacet(facetsToDisplay, searchSources);\n\t}\n\n\t// Combine source filters and facets into one array. Sources are first.\n\tconst combinedSelectedOptions = _combineSelectedSourcesAndFacets(\n\t\tsearchSources,\n\t\tselectedSearchSources,\n\t\tselectedOptions\n\t);\n\n\tconst facetVariant =\n\t\tsize === SIZE.SMALL ? (\n\t\t\t<dps-search-facets-mobile\n\t\t\t\tfacets={facetsToDisplay}\n\t\t\t\tlabel={label}\n\t\t\t\tselectedOptions={combinedSelectedOptions}\n\t\t\t\tsortFilters={sortFilters}\n\t\t\t\tselectedSortFilters={selectedSortFilters}\n\t\t\t\tenableLabelTranslation={enableLabelTranslation}\n\t\t\t\ttranslatedLabels={translatedLabels}\n\t\t\t\tisLoading={isLoading}\n\t\t\t/>\n\t\t) : (\n\t\t\t<dps-search-facets-desktop\n\t\t\t\tfacets={facetsToDisplay}\n\t\t\t\tlabel={label}\n\t\t\t\tselectedOptions={combinedSelectedOptions}\n\t\t\t\tisGlobal={isGlobal}\n\t\t\t\tfacetPanelIsHidden={facetPanelIsHidden}\n\t\t\t\tfocusHideFacetsButton={focusHideFacetsButton}\n\t\t\t\tenableLabelTranslation={enableLabelTranslation}\n\t\t\t\ttranslatedLabels={translatedLabels}\n\t\t\t\tsearchFromChat={searchFromChat}\n\t\t\t\tisLoading={isLoading}\n\t\t\t\tsearchSources={searchSources}\n\t\t\t/>\n\t\t);\n\treturn facetVariant;\n};\n\nexport default view;\n","import GlideSignals from \"sn-signals\";\nimport { SEISMIC_OR_MOBILE_APPLICATION } from \"./constants\";\n\nconst signalTracker = {\n\ttrackEvent(eventAction, eventPriority, eventModel) {\n\t\teventModel.applicationType = SEISMIC_OR_MOBILE_APPLICATION;\n\t\t// GlideSignals.trackEvent(eventAction, eventPriority, eventModel);\n\t}\n};\n\nexport default signalTracker;\n","import { createCustomElement, actionTypes } from \"@servicenow/ui-core\";\nimport snabbdom from \"@servicenow/ui-renderer-snabbdom\";\nimport { createGraphQLEffect } from \"@servicenow/ui-effect-graphql\";\nimport { isEmpty } from \"lodash\";\n\nimport view from \"./view\";\nimport {\n\tSIZE,\n\tDEFAULT_LABEL,\n\tSEARCH_REFINED_EVENT,\n\tINFO_EVENT,\n\tTRANSLATION_QUERY\n} from \"./common/constants\";\nimport {\n\tFACET_SELECTIONS_UPDATED_INTERNAL,\n\tSORT_FILTER_SELECTED_INTERNAL,\n\tFACET_SELECTIONS_UPDATED,\n\tSORT_FILTER_SELECTED,\n\tDONE_BUTTON_CLICKED,\n\tLABEL_TRANSLATION_STARTED,\n\tREQUEST_TRANSLATED_LABELS,\n\tTRANSLATION_FETCH_STARTED,\n\tTRANSLATION_FETCH_SUCCEEDED,\n\tTRANSLATION_FETCH_FAILED,\n\tHIDE_DESKTOP_FACET_PANEL,\n\tTOGGLE_FACET_PANEL_VISIBILITY\n} from \"./common/actions\";\nimport { DONE_BUTTON_CLICKED_INTERNAL } from \"./sn-search-facets-mobile/actions\";\nimport { RELEVANCY_SORT_ID } from \"./sn-search-facets-mobile/constants\";\n\nimport signalTracker from \"./common/signalTracker\";\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst facetSelectionsUpdatedEffect = ({\n\taction: { payload },\n\tdispatch,\n\tproperties\n}) => {\n\tconst { searchContextConfigId, searchTerm } = properties;\n\tsignalTracker.trackEvent(SEARCH_REFINED_EVENT, INFO_EVENT, {\n\t\tsearchContextConfigId,\n\t\tqueryTerm: searchTerm\n\t});\n\tdispatch(FACET_SELECTIONS_UPDATED, payload);\n};\n\nconst sortFilterSelectedEffect = ({ action: { payload }, dispatch }) => {\n\tdispatch(SORT_FILTER_SELECTED, payload);\n};\n\nconst mobileDoneButtonClickedEffect = ({ dispatch }) => {\n\tdispatch(DONE_BUTTON_CLICKED);\n};\n\nconst componentBootstrappedEffect = ({ properties, dispatch }) => {\n\tconst { enableLabelTranslation } = properties;\n\tif (enableLabelTranslation) dispatch(LABEL_TRANSLATION_STARTED);\n};\n\nconst componentPropertyChangedEffect = ({ action, dispatch, properties }) => {\n\tconst { enableLabelTranslation } = properties;\n\tif (enableLabelTranslation) {\n\t\tconst {\n\t\t\tpayload: { name }\n\t\t} = action;\n\n\t\tif (name === \"facets\") {\n\t\t\tdispatch(LABEL_TRANSLATION_STARTED);\n\t\t}\n\t}\n};\n\nconst labelTranslationStartedEffect = ({ dispatch, properties }) => {\n\tconst { facets } = properties;\n\tlet labels = [];\n\tif (!isEmpty(facets)) {\n\t\tlabels = facets\n\t\t\t.map(facet => facet?.data?.options.map(option => option.label))\n\t\t\t.flat();\n\n\t\tdispatch(REQUEST_TRANSLATED_LABELS, { labels });\n\t}\n};\n\nconst fetchTranslationsEffect = createGraphQLEffect(TRANSLATION_QUERY, {\n\tvariableList: [\"labels\"],\n\tstartActionType: TRANSLATION_FETCH_STARTED,\n\tsuccessActionType: TRANSLATION_FETCH_SUCCEEDED,\n\terrorActionType: TRANSLATION_FETCH_FAILED\n});\n\nconst translationFetchSucceededEffect = ({\n\taction: { payload },\n\tupdateState\n}) => {\n\tconst { errors = [] } = payload;\n\n\tif (errors.length) {\n\t\tconsole.error(\n\t\t\t\"GlideDomain_Query.getMessages returned errors: \",\n\t\t\tJSON.stringify(errors)\n\t\t);\n\t\treturn;\n\t}\n\n\tconst { getMessages } = payload.data.GlideDomain_Query;\n\tconst translatedLabels = getMessages.reduce(\n\t\t(map, obj) => ((map[obj.key] = obj.message), map),\n\t\t{}\n\t);\n\tupdateState({ translatedLabels });\n};\n\nconst translationFetchFailedEffect = ({ action }) => {\n\tconsole.error(\"Translation fetch failed: \", JSON.stringify(action.payload));\n};\n\n/**\n * Allows users to narrow a large set of search results down to only those that match the specific criteria.\n *\n * ```jsx\n * <sn-search-facets\n *      size=\"lg\"\n *      facets=[\n *          {\n *              type: 'multi_select_and',\n *              name: 'Location',\n *              optionLimit: 10,\n *              data: {\n *                  count: 11,\n *                  options: [\n *                      {\n *                          label: 'North America',\n *                          value: 'North America',\n *                          count: 5,\n *                          options: null,\n *                      },\n *                      {\n *                          label: 'Asia Pacific',\n *                          value: 'Asia Pacific',\n *                          count: 4,\n *                          options: null,\n *                      },\n *                      {\n *                          label: 'Latin America',\n *                          value: 'Latin America',\n *                          count: 2,\n *                          options: null,\n *                      },\n *                  ],\n *              },\n *          },\n *          {\n *              type: 'multi_select_and',\n *              name: 'Category',\n *              optionLimit: 10,\n *              data: {\n *                  options: [\n *                      {\n *                          label: 'Email',\n *                          value: 'Email',\n *                          options: null,\n *                      },\n *                      {\n *                          label: 'Hardware',\n *                          value: 'Hardware',\n *                          options: null,\n *                      },\n *                      {\n *                          label: 'Change',\n *                          value: 'Change',\n *                          options: null,\n *                      }\n *                  ],\n *              },\n *          },\n *      ]\n *      label=\"Filters\"\n * />\n * ```\n *\n * @seismicElement sn-search-facets\n * @summary Give users a way to narrow down search results by clicking on the metadata value based on the current search results.\n */\ncreateCustomElement(\"dps-search-facets\", {\n\trenderer: { type: snabbdom },\n\tview,\n\tinitialState: {\n\t\ttranslatedLabels: {}\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Contains the search facets data from search service.\n\t\t * @type {array}\n\t\t */\n\t\tfacets: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: \"array\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Label on the top of the facet panel.\n\t\t * @type {string}\n\t\t */\n\t\tlabel: {\n\t\t\tdefault: DEFAULT_LABEL,\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if the component is being rendered on mobile or desktop.\n\t\t * Options include:\n\t\t * - 'sm': Set for the mobile version.\n\t\t * - 'lg': Set for the desktop version.\n\t\t * @type {'sm'|'lg'}\n\t\t */\n\t\tsize: {\n\t\t\tdefault: SIZE.LARGE,\n\t\t\tschema: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tenum: [\"sm\", \"lg\"]\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the options that should be selected on initial render.\n\t\t * @type {array}\n\t\t */\n\t\tselectedOptions: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: \"array\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Sys ID of the search context configuration from the sys_search_context_config table.\n\t\t * This configuration provides search and autocomplete configuration metadata.\n\t\t * @type {string}\n\t\t */\n\t\tsearchContextConfigId: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The search term for which the genius results and search results are shown.\n\t\t * @type {string}\n\t\t */\n\t\tsearchTerm: {\n\t\t\tdefault: \"\",\n\t\t\tschema: {\n\t\t\t\ttype: \"string\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * The sortFilters response from the Sort Filter GraphQL API, it contains the data for sort by filter items with sysId and label.\n\t\t * @type {Array<{sysId: string, label:string}>}\n\t\t * @uib.description Specifies the items for sort by filters\n\t\t * @uib.defaultValue []\n\t\t */\n\t\tsortFilters: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: \"array\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the ID of the selected sort filter. If this property is not passed in, 'Most relevant' sort filter is selected in the\n\t\t * sort by facet by default.\n\t\t * @type {Array<string>}\n\t\t * @uib.description Specifies the selected sort by filter\n\t\t * @uib.defaultValue []\n\t\t */\n\t\tselectedSortFilters: {\n\t\t\tdefault: [RELEVANCY_SORT_ID],\n\t\t\tschema: {\n\t\t\t\ttype: \"array\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Property to indicate if component is being rendered in platform global search\n\t\t * @type {boolean}\n\t\t */\n\t\tisGlobal: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Whether or not the panel should be in a collapsed state.\n\t\t * Only applicable when size = lg. When changed from false to true,\n\t\t * will animate width down to 0 to simulate closing of the panel.\n\t\t * @type {boolean}\n\t\t */\n\t\tfacetPanelIsHidden: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Property to focus hide factes button for a11y reasons\n\t\t * @type {boolean}\n\t\t */\n\t\tfocusHideFacetsButton: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies if component should attempt to translate facet labels from sys_ui_message table.\n\t\t * @type {boolean}\n\t\t */\n\t\tenableLabelTranslation: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the full-page view that is displayed when the \"View All\" link\n\t\t * in the right panel of the NASS VA component is clicked.\n\t\t */\n\t\tsearchFromChat: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the IDs of the available search source (sys_search_filter).\n\t\t */\n\t\tsearchSources: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: \"array\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Specifies the IDs of the selected search sources (sys_search_filter).\n\t\t */\n\t\tselectedSearchSources: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: \"array\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Used to indicate that the search results are being fetched, if set to true - the component will show a loading state.\n\t\t * @type {boolean}\n\t\t */\n\t\tisLoading: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: \"boolean\"\n\t\t\t}\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: componentBootstrappedEffect,\n\t\t[COMPONENT_PROPERTY_CHANGED]: componentPropertyChangedEffect,\n\t\t[FACET_SELECTIONS_UPDATED_INTERNAL]: {\n\t\t\teffect: facetSelectionsUpdatedEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[SORT_FILTER_SELECTED_INTERNAL]: {\n\t\t\teffect: sortFilterSelectedEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[DONE_BUTTON_CLICKED_INTERNAL]: {\n\t\t\teffect: mobileDoneButtonClickedEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[LABEL_TRANSLATION_STARTED]: {\n\t\t\teffect: labelTranslationStartedEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[REQUEST_TRANSLATED_LABELS]: fetchTranslationsEffect,\n\t\t[TRANSLATION_FETCH_SUCCEEDED]: {\n\t\t\teffect: translationFetchSucceededEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[TRANSLATION_FETCH_FAILED]: {\n\t\t\teffect: translationFetchFailedEffect,\n\t\t\tstopPropagation: true\n\t\t},\n\t\t[HIDE_DESKTOP_FACET_PANEL]: ({ dispatch, action }) => {\n\t\t\tconst { payload } = action;\n\t\t\t//For portal need to propogate to outer component\n\t\t\tdispatch(TOGGLE_FACET_PANEL_VISIBILITY, payload);\n\t\t}\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when a user selects any of the options.\n\t\t * The payload contains all the selected filter values, which can then be sent with the search query request to get relevant search results.\n\t\t * @type {{selectedFilters: string}}\n\t\t */\n\t\t\"SN_SEARCH_FACETS#SELECTIONS_UPDATED\": {\n\t\t\tschema: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tproperties: {\n\t\t\t\t\tselectedFilters: { type: \"string\" }\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when a user selects any of the options for sort by filter in mobile variant.\n\t\t * The payload contains the `ID` for the selected sort filter.\n\t\t * @type {{selectedFilters: string}}\n\t\t */\n\t\t\"SN_SEARCH_FACETS#SORT_FILTER_SELECTED\": {\n\t\t\tschema: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tproperties: {\n\t\t\t\t\tselectedFilter: { type: \"string\" }\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatched when a user selects any of the options for sort by filter in mobile variant.\n\t\t * The payload contains the `ID` for the selected sort filter.\n\t\t * @type {{facetPanelIsHidden: boolean}}\n\t\t */\n\t\t\"SN_SEARCH_FACETS#TOGGLE_FACET_PANEL_VISIBILITY\": {\n\t\t\tschema: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tproperties: {\n\t\t\t\t\tfacetPanelIsHidden: { type: \"boolean\" },\n\t\t\t\t\tfocusShowFacetsButton: { type: \"boolean\" }\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n});\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-textarea';\nimport feedback from '../../../images/feedback.svg';\nimport feedbackSubmit from '../../../images/submit-feedback.svg';\nimport '@servicenow/now-button';\nimport styles from './dps-feedback-card.scss';\n\nexport const OPTIONS = [\n    { label: 'Yes', value: true },\n    { label: 'No', value: false }\n];\n\nconst view = (state, { dispatch, updateProperties }) => {\n    const { properties: { selectedOption, comment, globalSearchTerm, isFeedbackSubmitted } } = state;\n\n    // For \"No\" feedback, require comment to enable submit button\n    const isNoFeedback = selectedOption === OPTIONS[1].value;\n    const isSubmitDisabled = isNoFeedback && (!comment || comment.trim().length === 0);\n\n    return <div className='feedback-card'>\n        <img\n            src={isFeedbackSubmitted ? feedbackSubmit : feedback}\n            alt=\"Feedback Icon\"\n            className=\"feedback-icon\"\n        />\n        <div className='feedback-label'>{isFeedbackSubmitted ? 'Thanks for the feedback' : 'Did you find what you were looking for'}</div>\n        {isFeedbackSubmitted ? <div className=\"feedback-submit-text\">Your feedback helps us improve the experience</div> : <div className='feedback-buttons'>\n            <now-button\n                variant={selectedOption === OPTIONS[0].value ? \"primary\" : \"secondary\"}\n                size=\"md\"\n                slot=\"cta\"\n                tooltip-content={''}\n                icon=\"thumbs-up-outline\"\n                label={OPTIONS[0].label}\n                on-click={() => {\n                    updateProperties({ selectedOption: OPTIONS[0].value, comment: '' })\n                }}\n            />\n            <now-button\n                variant={selectedOption === OPTIONS[1].value ? \"primary\" : \"secondary\"}\n                size=\"md\"\n                slot=\"cta\"\n                icon=\"thumbs-down-outline\"\n                tooltip-content={''}\n                label={OPTIONS[1].label}\n                on-click={() => {\n                    updateProperties({ selectedOption: OPTIONS[1].value, comment: '' })\n                }}\n            />\n        </div>}\n        {selectedOption === OPTIONS[0].value && !isFeedbackSubmitted ?\n            <div className='text-area-container'>\n                <div className='textarea-label'>Please let us know how we can improve your experience (optional).</div>\n                <now-textarea \n                    size=\"sm\" \n                    maxlength={2048} \n                    className=\"text-area\"\n                    value={comment}\n                ></now-textarea>\n                <now-button\n                    variant=\"primary\"\n                    size=\"md\"\n                    slot=\"cta\"\n                    className=\"submit\"\n                    tooltip-content={''}\n                    label={'Submit'}\n                    on-click={() => dispatch('SUBMIT_FEEDBACK', { globalSearchTerm, selectedOption: OPTIONS[0].value, comment: comment || '', isFeedbackSubmitted })}\n                />\n            </div> : null\n        }\n        {selectedOption === OPTIONS[1].value && !isFeedbackSubmitted ?\n            <div className='text-area-container'>\n                <div className='textarea-label'>Please let us know how we can improve your experience.</div>\n                <now-textarea \n                    size=\"sm\" \n                    maxlength={2048} \n                    className=\"text-area\"\n                    value={comment}\n                ></now-textarea>\n                <now-button\n                    variant=\"primary\"\n                    size=\"md\"\n                    slot=\"cta\"\n                    className=\"submit\"\n                    tooltip-content={''}\n                    label={'Submit'}\n                    disabled={isSubmitDisabled}\n                    on-click={() => dispatch('SUBMIT_FEEDBACK', { globalSearchTerm, selectedOption: OPTIONS[1].value, comment: comment || '', isFeedbackSubmitted })}\n                />\n            </div> : null\n        }\n\n    </div>\n}\n\nexport default createCustomElement('dps-feedback-card', {\n    renderer: {\n        type: snabbdom\n    },\n    view,\n    properties: {\n        globalSearchTerm: {\n            default: ''\n        },\n        selectedOption: {\n            default: null\n        },\n        comment: {\n            default: ''\n        },\n        isFeedbackSubmitted: {\n            default: false\n        }\n    },\n    actionHandlers: {\n        [\"DPS_AI_SEARCH#FEEDBACK_SUCCESS\"]: ({ updateProperties }) => {\n            updateProperties({ isFeedbackSubmitted: true });\n        },\n        [actionTypes.COMPONENT_PROPERTY_CHANGED]({ action, properties, updateProperties }) {\n            const { name } = action.payload;\n\n            const { isFeedbackSubmitted } = properties;\n            if (name === 'globalSearchTerm' && isFeedbackSubmitted) {\n                updateProperties({\n                    isFeedbackSubmitted: false,\n                    selectedOption: null,\n                    comment: ''\n                });\n            }\n        },\n        ['NOW_TEXTAREA#INPUT']: ({ action, updateProperties }) => {\n            updateProperties({ comment: action.payload?.fieldValue });\n        },\n        ['SUBMIT_FEEDBACK']: ({ action, dispatch, updateProperties }) => {\n            const { globalSearchTerm, selectedOption, comment } = action.payload;\n            dispatch(\"DPS_AI_SEARCH#FEEDBACK_SUBMIT\", {\n                data: {\n                    u_query: globalSearchTerm,\n                    u_query_response_yn: selectedOption,\n                    u_comments: comment || ''\n                }\n            });\n            // Update UI immediately on submission\n            updateProperties({ isFeedbackSubmitted: true });\n        }\n    },\n    styles\n});\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {actionTypes} from '@servicenow/ui-core';\nimport '@servicenow/now-button';\nimport '@servicenow/now-tooltip';\nimport {\n\tschedule,\n\tunschedule,\n\tcreateTooltipActionHandler\n} from '@servicenow/now-tooltip';\nimport '@servicenow/now-dropdown';\nimport styles from './_now-pagination-control.scss';\nimport {t} from 'sn-translate';\nimport focusBehavior from '@servicenow/behavior-focus';\nconst {\n\tCOMPONENT_RENDERED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_PROPERTY_CHANGED\n} = actionTypes;\n\nconst showTooltip = (updateState, page, key) => {\n\tconst PAGE_NUM = key + 1;\n\tupdateState({\n\t\tpath: 'currentTooltip',\n\t\toperation: 'set',\n\t\tvalue: {ref: page, content: t('Page {0}', PAGE_NUM), opened: true}\n\t});\n};\n\nconst hideTooltip = (updateState) => {\n\tupdateState({\n\t\tpath: 'currentTooltip',\n\t\toperation: 'set',\n\t\tvalue: {ref: null, content: '', opened: false}\n\t});\n};\n\nconst validateSelectedPage = (selectedPage, totalPages) => {\n\tif (selectedPage >= totalPages) {\n\t\treturn totalPages - 1;\n\t} else {\n\t\treturn selectedPage;\n\t}\n};\n\nconst renderPage = ({key, selected, dispatch, updateState, componentId}) => {\n\tconst PAGE_NUM = key + 1;\n\treturn (\n\t\t<button\n\t\t\tkey={key}\n\t\t\ttype=\"button\"\n\t\t\tclass={{\n\t\t\t\t'now-pagination-control-button': true,\n\t\t\t\t'is-selected': selected\n\t\t\t}}\n\t\t\taria-label={t('Page {0}', PAGE_NUM)}\n\t\t\taria-current={selected ? 'page' : 'false'}\n\t\t\tdata-itemid={key}\n\t\t\ton-click={() => {\n\t\t\t\tdispatch(() => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'NOW_PAGINATION_CONTROL#SELECTED_PAGE_SET',\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tvalue: key\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t}}\n\t\t\ton-mouseenter={(e) => {\n\t\t\t\tconst page = e.target;\n\t\t\t\tschedule(componentId, () => showTooltip(updateState, page, key));\n\t\t\t}}\n\t\t\ton-focusin={(e) => {\n\t\t\t\tconst page = e.target;\n\t\t\t\tschedule(componentId, () => showTooltip(updateState, page, key));\n\t\t\t}}\n\t\t\ton-mouseleave={() => {\n\t\t\t\tschedule(componentId, () => hideTooltip(updateState));\n\t\t\t}}\n\t\t\ton-focusout={() => {\n\t\t\t\tschedule(componentId, () => hideTooltip(updateState));\n\t\t\t}}>\n\t\t\t<span className=\"now-line-height-crop\" data-testid=\"page-number-label\">\n\t\t\t\t{PAGE_NUM}\n\t\t\t</span>\n\t\t</button>\n\t);\n};\n\nconst renderRange = (total, selectedPageSize, selectedPage, rangeLabel) => {\n\tlet rangeStart = selectedPage * selectedPageSize + 1;\n\tlet rangeEnd, label;\n\tif (\n\t\tselectedPageSize > total ||\n\t\t(selectedPage + 1) * selectedPageSize > total\n\t) {\n\t\trangeEnd = total;\n\t} else {\n\t\trangeEnd = (selectedPage + 1) * selectedPageSize;\n\t}\n\n\tif (rangeLabel) {\n\t\tlabel = rangeLabel;\n\t} else if (total === 0) {\n\t\tlabel = t('Showing 0 records');\n\t} else {\n\t\tlabel = t('Showing {0}-{1} of {2}', rangeStart, rangeEnd, total);\n\t}\n\n\treturn (\n\t\t<p className=\"now-m-block--0\">\n\t\t\t<span className=\"now-line-height-crop\" data-testid=\"page-range-label\">\n\t\t\t\t{label}\n\t\t\t</span>\n\t\t</p>\n\t);\n};\n\nconst view = (state, {dispatch, updateState}) => {\n\tconst {\n\t\ttotal,\n\t\tselectedPage,\n\t\tpageSizes,\n\t\thideGoToFirst,\n\t\thideGoToPrevious,\n\t\thideGoToNext,\n\t\thideGoToLast,\n\t\thidePageNumbers,\n\t\thidePageSizeControl,\n\t\thideRange,\n\t\tselectedPageSize,\n\t\tvisiblePages,\n\t\tpagesOverride,\n\t\trangeLabel,\n\t\tpageSizeLabel,\n\t\tnowId\n\t} = state.properties;\n\n\tconst totalPages = pagesOverride || Math.ceil(total / selectedPageSize);\n\n\tlet adjustedSelectedPage = validateSelectedPage(selectedPage, totalPages);\n\n\tlet isFirst = total === 0 || adjustedSelectedPage === 0 || totalPages === 1;\n\n\tlet isLast = total === 0 || adjustedSelectedPage === totalPages - 1;\n\n\tconst halfVisiblePages = Math.floor(visiblePages / 2);\n\n\tlet firstVisiblePageIndex;\n\t// don't shift too far left\n\tif (\n\t\tadjustedSelectedPage - halfVisiblePages <= 0 ||\n\t\ttotalPages < visiblePages\n\t) {\n\t\tfirstVisiblePageIndex = 0;\n\t}\n\t// don't shift too far right\n\telse if (\n\t\tadjustedSelectedPage >\n\t\ttotalPages - visiblePages + halfVisiblePages\n\t) {\n\t\tfirstVisiblePageIndex = totalPages - visiblePages;\n\t} else {\n\t\tfirstVisiblePageIndex = adjustedSelectedPage - halfVisiblePages;\n\t}\n\n\tconst lastVisiblePageIndex = Math.min(\n\t\tfirstVisiblePageIndex + visiblePages - 1,\n\t\ttotalPages - 1\n\t);\n\n\tconst renderGoToFirst = () => {\n\t\treturn (\n\t\t\t<now-button-iconic\n\t\t\t\tclassName=\"now-pagination-control-button-iconic\"\n\t\t\t\tdata-testid=\"go-to-first\"\n\t\t\t\ticon=\"arrow-start-most-outline\"\n\t\t\t\tbare\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\ttooltipContent={isFirst ? undefined : t('Go to first page')}\n\t\t\t\tdisabled={isFirst}\n\t\t\t\tconfig-aria={{button: {'aria-label': t('First page')}}}\n\t\t\t\tappend-to-payload={{\n\t\t\t\t\tpage: 0\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst renderGoToPrevious = () => {\n\t\tconst prevPage = isFirst ? 0 : adjustedSelectedPage - 1;\n\n\t\treturn (\n\t\t\t<now-button-iconic\n\t\t\t\tclassName=\"now-pagination-control-button-iconic\"\n\t\t\t\tdata-testid=\"go-to-previous\"\n\t\t\t\ticon=\"arrow-start-outline\"\n\t\t\t\tbare\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\ttooltipContent={isFirst ? undefined : t('Go to previous page')}\n\t\t\t\tdisabled={isFirst}\n\t\t\t\tconfig-aria={{\n\t\t\t\t\tbutton: {\n\t\t\t\t\t\t'aria-label': isFirst\n\t\t\t\t\t\t\t? t('Previous page')\n\t\t\t\t\t\t\t: t('Previous page, {0}', prevPage + 1)\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tappend-to-payload={{\n\t\t\t\t\tpage: prevPage\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst renderPageButtons = (selectedPage, dispatch) => {\n\t\tlet pageNumbers = [];\n\n\t\tfor (let i = firstVisiblePageIndex; i < lastVisiblePageIndex + 1; i++) {\n\t\t\tpageNumbers.push(\n\t\t\t\trenderPage({\n\t\t\t\t\tkey: i,\n\t\t\t\t\tselected: i === selectedPage,\n\t\t\t\t\tdispatch,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tnowId\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div className=\"now-pagination-control-buttons\">\n\t\t\t\t{pageNumbers}\n\t\t\t\t<now-tooltip\n\t\t\t\t\tid=\"tooltip\"\n\t\t\t\t\tmanage-opened\n\t\t\t\t\topened={state.currentTooltip.opened}\n\t\t\t\t\ttarget-ref={state.currentTooltip.ref}\n\t\t\t\t\tcontent={state.currentTooltip.content}\n\t\t\t\t\tdelay={{show: 0, hide: 0}}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t};\n\n\tconst renderGoToNext = () => {\n\t\tconst nextPage = isLast ? adjustedSelectedPage : adjustedSelectedPage + 1;\n\n\t\treturn (\n\t\t\t<now-button-iconic\n\t\t\t\tclassName=\"now-pagination-control-button-iconic\"\n\t\t\t\tdata-testid=\"go-to-next\"\n\t\t\t\ticon=\"arrow-end-outline\"\n\t\t\t\tbare\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\ttooltipContent={isLast ? undefined : t('Go to next page')}\n\t\t\t\tdisabled={isLast}\n\t\t\t\tconfig-aria={{\n\t\t\t\t\tbutton: {\n\t\t\t\t\t\t'aria-label': isLast\n\t\t\t\t\t\t\t? t('Next page')\n\t\t\t\t\t\t\t: t('Next page, {0}', nextPage + 1)\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tappend-to-payload={{\n\t\t\t\t\tpage: nextPage\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst renderGoToLast = () => {\n\t\treturn (\n\t\t\t<now-button-iconic\n\t\t\t\tclassName=\"now-pagination-control-button-iconic\"\n\t\t\t\tdata-testid=\"go-to-last\"\n\t\t\t\ticon=\"arrow-end-most-outline\"\n\t\t\t\tbare\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\ttooltipContent={isLast ? undefined : t('Go to last page')}\n\t\t\t\tdisabled={isLast}\n\t\t\t\tconfig-aria={{button: {'aria-label': t('Last page')}}}\n\t\t\t\tappend-to-payload={{\n\t\t\t\t\tpage: totalPages - 1\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst renderPageSizeControl = (pageSizes, selectedPageSize) => {\n\t\tconst pageSizeOptions = pageSizes.map((size) => {\n\t\t\treturn {id: `${size}`, label: `${size}`};\n\t\t});\n\n\t\treturn (\n\t\t\t<div className=\"now-align -block-center\">\n\t\t\t\t<p\n\t\t\t\t\tclassName=\"now-m-inline-end--sm now-m-block--0\"\n\t\t\t\t\tdata-testid=\"page-size-control-label\">\n\t\t\t\t\t<span className=\"now-line-height-crop\">\n\t\t\t\t\t\t{pageSizeLabel || t('Records per page')}\n\t\t\t\t\t</span>\n\t\t\t\t</p>\n\n\t\t\t\t<now-dropdown\n\t\t\t\t\tdata-testid=\"page-size-options\"\n\t\t\t\t\titems={pageSizeOptions}\n\t\t\t\t\tclassName=\"now-pagination-control-dropdown\"\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tshow-padding\n\t\t\t\t\tplaceholder={pageSizes[0]}\n\t\t\t\t\tselected-items={[String(selectedPageSize)]}\n\t\t\t\t\tpanel-fit-props={{\n\t\t\t\t\t\tposition: [\n\t\t\t\t\t\t\t'bottom-end top-end',\n\t\t\t\t\t\t\t'top-end bottom-end',\n\t\t\t\t\t\t\t'top-start top-end',\n\t\t\t\t\t\t\t'bottom-start bottom-end'\n\t\t\t\t\t\t]\n\t\t\t\t\t}}\n\t\t\t\t\tbare\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\ttrigger: {'aria-label': pageSizeLabel || 'Records per page'}\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t};\n\n\treturn (\n\t\t<nav\n\t\t\tclass={{\n\t\t\t\t'now-pagination-control': true,\n\t\t\t\t'only-prev-next':\n\t\t\t\t\thideRange &&\n\t\t\t\t\thideGoToFirst &&\n\t\t\t\t\thideGoToLast &&\n\t\t\t\t\thidePageNumbers &&\n\t\t\t\t\thidePageSizeControl,\n\t\t\t\t'only-two-children': hideRange || hidePageSizeControl\n\t\t\t}}\n\t\t\taria-label={t('Pagination')}>\n\t\t\t{!hideRange\n\t\t\t\t? renderRange(total, selectedPageSize, adjustedSelectedPage, rangeLabel)\n\t\t\t\t: undefined}\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'now-pagination-control-pages': true,\n\t\t\t\t\t'has-no-siblings': hideRange && hidePageSizeControl,\n\t\t\t\t\t'has-one-sibling': hideRange || hidePageSizeControl\n\t\t\t\t}}>\n\t\t\t\t{!hideGoToFirst ? renderGoToFirst() : undefined}\n\t\t\t\t{!hideGoToPrevious ? renderGoToPrevious() : undefined}\n\t\t\t\t{!hidePageNumbers\n\t\t\t\t\t? renderPageButtons(\n\t\t\t\t\t\t\tadjustedSelectedPage,\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\tnowId,\n\t\t\t\t\t\t\tfirstVisiblePageIndex,\n\t\t\t\t\t\t\tlastVisiblePageIndex\n\t\t\t\t\t  )\n\t\t\t\t\t: undefined}\n\t\t\t\t{!hideGoToNext ? renderGoToNext() : undefined}\n\t\t\t\t{!hideGoToLast ? renderGoToLast() : undefined}\n\t\t\t</div>\n\t\t\t{!hidePageSizeControl\n\t\t\t\t? renderPageSizeControl(pageSizes, selectedPageSize)\n\t\t\t\t: undefined}\n\t\t</nav>\n\t);\n};\n\n/**\n * Enables users to navigate through a large number of items distributed across pages.\n *\n * ```jsx\n * <now-pagination-control total={10}></now-pagination-control>\n * ```\n *\n * @seismicElement now-pagination-control\n * @summary Divides a large set of content into consolidated pages for the user to navigate between.\n * @uib.label Pagination control\n * @uib.icon pagination-control\n * @uib.description Divides a large set of content into consolidated pages for the user to navigate between.\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties total, pageSizes, selectedPage, pagesOverride, hideRange, rangeLabel, hidePageNumbers, visiblePages, hideGoToFirst, hideGoToPrevious, hideGoToNext, hideGoToLast, selectedPageSize, hidePageSizeControl, pageSizeLabel\n * @uib.layout.pages.children total, pageSizes, selectedPage, pagesOverride\n * @uib.layout.pages.icon book-open-outline\n * @uib.layout.controls.children hideRange, rangeLabel, hidePageNumbers, visiblePages, hideGoToFirst, hideGoToPrevious, hideGoToNext, hideGoToLast, selectedPageSize, hidePageSizeControl, pageSizeLabel\n * @uib.layout.controls.icon arrow-up-down-outline\n * @uib.actions NOW_PAGINATION_CONTROL#SELECTED_PAGE_SET\n */\n\ncreateEnhancedElement('now-pagination-control', {\n\tproperties: {\n\t\t/**\n\t\t * Visible pages to configure.\n\t\t * @type {integer}\n\t\t * @uib.description Changes the number of pages that can be directly selected between arrows\n\t\t */\n\t\tvisiblePages: {schema: {type: 'integer', minimum: 0}, default: 5},\n\t\t/**\n\t\t * Total number of records.\n\t\t * @type {integer}\n\t\t * @uib.label Total records\n\t\t * @uib.description Total number of records\n\t\t * @uib.defaultValue 100\n\t\t */\n\t\ttotal: {\n\t\t\tschema: {type: 'integer', minimum: 0}\n\t\t},\n\t\t/**\n\t\t * Initial page index to render.\n\t\t * @type {integer}\n\t\t * @uib.label Selected page index\n\t\t * @uib.description Initial page index to render\n\t\t */\n\t\tselectedPage: {\n\t\t\tmanageable: true,\n\t\t\tschema: {type: 'integer', minimum: 0},\n\t\t\tdefault: 0\n\t\t},\n\t\t/**\n\t\t * When true, hides text displaying the current range of the total number of records.\n\t\t * @type {boolean}\n\t\t * @uib.description Select to hide text displaying the current range of the total number of records\n\t\t */\n\t\thideRange: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, hides the \"Go to first page\" button.\n\t\t * @type {boolean}\n\t\t * @uib.label Hide first page button\n\t\t * @uib.description Select to hide the \"Go to first page\" button\n\t\t */\n\t\thideGoToFirst: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, hides the \"Go to previous page\" button.\n\t\t * @type {boolean}\n\t\t * @uib.label Hide previous page button\n\t\t * @uib.description Select to hide the \"Go to previous page\" button\n\t\t */\n\t\thideGoToPrevious: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, hides the \"Go to next page\" button.\n\t\t * @type {boolean}\n\t\t * @uib.label Hide next page button\n\t\t * @uib.description Select to hide the \"go to next page\" button\n\t\t */\n\t\thideGoToNext: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, hides the \"Go to last page\" button.\n\t\t * @type {boolean}\n\t\t * @uib.label Hide last page button\n\t\t * @uib.description Select to hide the \"Go to last page\" button\n\t\t */\n\t\thideGoToLast: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, hides page number buttons.\n\t\t * @type {boolean}\n\t\t * @uib.label Hide page numbers\n\t\t * @uib.description Select to hide page number buttons\n\t\t */\n\t\thidePageNumbers: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, hides the page size control.\n\t\t * This control allows the user to set a page size preference\n\t\t * from a set of defined page size thresholds.\n\t\t * @type {boolean}\n\t\t * @uib.label Hide viewable items control\n\t\t * @uib.description Select to hide the page size control that allows the user to set a page size preference from a set of defined page size thresholds\n\t\t */\n\t\thidePageSizeControl: {schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Page size choices in the page size control.\n\t\t * Default values: 10, 20, 50, 100.\n\t\t * @type {array}\n\t\t * @uib.description Page size choices in the page size control\n\t\t */\n\t\tpageSizes: {\n\t\t\trequired: true,\n\t\t\tschema: {type: 'array', items: {type: 'integer'}},\n\t\t\tdefault: [10, 20, 50, 100]\n\t\t},\n\t\t/**\n\t\t * Page size choice that is selected from the dropdown\n\t\t * @type {integer}\n\t\t * @uib.label Viewable items per page\n\t\t * @uib.description Page size choice that is currently selected from the dropdown\n\t\t */\n\t\tselectedPageSize: {\n\t\t\tmanageable: true,\n\t\t\tschema: {type: 'integer'},\n\t\t\tdefault: 10\n\t\t},\n\t\t/**\n\t\t * Forces the component to display a specific number of pages. If you do not set this\n\t\t * property, the number of pages is calculated automatically based on the `total` and\n\t\t * the `selectedPageSize` properties.\n\t\t * @type {integer}\n\t\t */\n\t\tpagesOverride: {schema: {type: 'integer'}},\n\t\t/**\n\t\t * Custom label to display next to the page size selector.\n\t\t * @type {string}\n\t\t * @uib.label Viewable items label\n\t\t * @uib.translatable true\n\t\t */\n\t\tpageSizeLabel: {schema: {type: 'string'}},\n\t\t/**\n\t\t * Custom label to display in place of the current range information.\n\t\t * @type {string}\n\t\t * @uib.translatable true\n\t\t */\n\t\trangeLabel: {schema: {type: 'string'}}\n\t},\n\tinitialState: {\n\t\t/**\n\t\t * Keeps track of current tooltip of page buttons\n\t\t */\n\t\tcurrentTooltip: {ref: null, content: '', opened: false}\n\t},\n\tactionHandlers: {\n\t\t...createTooltipActionHandler(hideTooltip),\n\t\t[COMPONENT_RENDERED]: ({host}) => {\n\t\t\tconst activeEl = host.shadowRoot.activeElement;\n\t\t\tif (activeEl && activeEl.disabled) {\n\t\t\t\tconst activePage = host.shadowRoot.querySelector('button.is-selected');\n\t\t\t\tactivePage.focus();\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: ({properties}) => {\n\t\t\tconst componentId = properties.nowId;\n\t\t\tunschedule(componentId);\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]({dispatch, action}) {\n\t\t\tconst {name, value, previousValue} = action.payload;\n\t\t\tif (name === 'total' && value < previousValue) {\n\t\t\t\tdispatch(() => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'NOW_PAGINATION_CONTROL#SELECTED_PAGE_SET',\n\t\t\t\t\t\tpayload: {value: 0}\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t'NOW_BUTTON_ICONIC#CLICKED'({action, dispatch}) {\n\t\t\tdispatch(() => ({\n\t\t\t\ttype: 'NOW_PAGINATION_CONTROL#SELECTED_PAGE_SET',\n\t\t\t\tpayload: {\n\t\t\t\t\tvalue: action.payload.page // this is the value that was in append-to-payload above\n\t\t\t\t}\n\t\t\t}));\n\t\t},\n\t\t'NOW_DROPDOWN#SELECTED_ITEMS_SET': ({dispatch, action}) => {\n\t\t\tdispatch(() => {\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'NOW_PAGINATION_CONTROL#SELECTED_PAGE_SIZE_SET',\n\t\t\t\t\tpayload: {value: Number(action.payload.value[0])}\n\t\t\t\t};\n\t\t\t});\n\t\t\tdispatch(() => {\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'NOW_PAGINATION_CONTROL#SELECTED_PAGE_SET',\n\t\t\t\t\tpayload: {value: 0}\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Action dispatched when a page is selected, or when pagination controls are selected.\n\t\t * Payload includea the page the user wants to go to.\n\t\t * @type {{value: number}}\n\t\t * @uib.description Dispatched when a page is selected, or when pagination controls are selected\n\t\t */\n\t\t'NOW_PAGINATION_CONTROL#SELECTED_PAGE_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tvalue: {type: 'number'}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tbehaviors: [{behavior: focusBehavior}],\n\tstyles,\n\tview\n});\n","import './now-pagination-control';\n\nimport {name, version} from '../package.json';\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n","// import skeletonLoadingStyles from './styles.scss';\nimport styles from './dps-card-loading.scss';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\n// Reusable component for skeleton loading\nexport const SkeletonLoading = ({ type = 'bar', width, inline }) => {\n\tconst widthClass = width ? `width-${width}` : '';\n\tconst extraClass = inline ? 'inline': '';\n\treturn <div className={`skeleton-loading ${type} ${widthClass} ${extraClass}`} />;\n};\n\n// Filter loading skeleton\nexport const FilterLoading = () => (\n\t<div className=\"search-filter-loading\">\n\t\t<div className=\"search-filter-loading-left\">\n\t\t\t<SkeletonLoading type=\"pill\" width=\"15\" />\n\t\t\t<SkeletonLoading type=\"pill\" width=\"15\" />\n\t\t</div>\n\t\t<div className=\"search-filter-loading-right\">\n\t\t\t<SkeletonLoading type=\"pill\" width=\"15\" />\n\t\t</div>\n\t</div>\n);\n\n// Card loading skeleton\nexport const view = () => {\n\treturn <div className=\"search-card-loading\">\n\t\t<div className=\"search-card-loading-icon\">\n\t\t\t<SkeletonLoading type=\"square\" />\n\t\t</div>\n\t\t<div className=\"search-card-loading-info\">\n\t\t\t<SkeletonLoading width=\"100\" />\n\t\t\t<SkeletonLoading width=\"75\" />\n\t\t\t<SkeletonLoading width=\"50\" />\n\t\t</div>\n\t</div>\n}\n\n// // Main view loading skeleton with multiple cards\n// export const ViewLoading = ({ cardLoadingCount = 10 }) => (\n// \t<div className=\"sn-cx-search-results\">\n// \t\t<div className=\"search-results-container\">\n// \t\t\t<div className=\"search-results-container\">\n// \t\t\t\t{[...Array(cardLoadingCount)].map((_, index) => (\n// \t\t\t\t\t<CardLoading key={index} />\n// \t\t\t\t))}\n// \t\t\t</div>\n// \t\t</div>\n// \t</div>\n// );\n\nexport default createCustomElement('dps-card-loading', {\n\trenderer: { type: snabbdom },\n\tview,\n\tinitialState: {\n\t},\n\tproperties: {\n\t},\n\tstyles\n});\n\n\nexport const SkeletonView = ({ properties }) => {\n\treturn <SkeletonLoading {...properties} />;\n};\n\n\ncreateCustomElement('dps-card-skeleleton', {\n\trenderer: { type: snabbdom },\n\tview: SkeletonView,\n\tinitialState: {\n\t},\n\tproperties: {\n\t\ttype: { default: 'square' },\n\t\twidth: { default: \"15\" },\n\t\tinline: { default: false }\n\t},\n\tstyles\n});\n\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-textarea';\nimport '@servicenow/now-button';\nimport '@servicenow/now-pagination-control';\nimport signalTracker from '../signalTracker';\nimport '../dps-card-loading/dps-card-loading.js';\nimport styles from './dps-search-result.scss';\nimport { RESULT_TYPE, TABLES } from '../../../constants.js';\n\nconst view = (state, { dispatch }) => {\n    const { properties: { searchResultList, nextPageToken, searchContextConfigId, searchTerm, fetchViewMoreInProgress } } = state;\n    const renderSearchTitle = (\n        url,\n        title = \"\",\n        searchItem,\n        clickIndex\n    ) => {\n        const updatedTitle = title?.replace(/<\\/?highlight>/g, '');\n\n        return <div className=\"card-title\"\n            on-click={() => {\n                // Track search result click\n                if (searchContextConfigId && searchTerm) {\n                    signalTracker.trackSearchResultClick({\n                        searchContextConfigId,\n                        searchTerm,\n                        searchItem,\n                        clickIndex,\n                        searchResults: searchResultList?.items || []\n                    });\n                }\n                window.open(url, '_blank');\n            }}\n        >{updatedTitle}</div>\n    };\n\n    const getType = (model) => {\n        if (model?.table == 'dev_reference_content' && model.u_doc_type) {\n            return { label: 'API Reference', color: 'info' }\n        }\n        else if (model?.table == 'dev_reference_content' && !model.u_doc_type) {\n            return { label: 'Next Experience', color: 'teal' }\n        }\n        else if (model?.topic == 'Training') {\n            return { label: 'Learn', color: 'positive' }\n        }\n        else if (model?.table == 'dev_share_project') {\n            return { label: 'Share Projects', color: 'magenta' }\n        }\n        else if (model?.table == 'kb_knowledge') {\n            return { label: 'Guides', color: 'warning' }\n        }\n        else if (model?.table == 'x_snc_gsdr_docs_prod') {\n            return { label: 'Product Documentation', color: 'brown' }\n        }\n    }\n\n    // Renders the search result description\n    const renderSearchDescripton = (summary = '') => {\n        const updatedDescription = summary?.replace(/<\\/?highlight>/g, '');\n        const decodeHtmlEntities = (str = '') => {\n            const txt = document.createElement('textarea');\n            txt.innerHTML = str;\n            return txt.value;\n        };\n\n        const decodedHtml = decodeHtmlEntities(updatedDescription);\n\n        return (\n            <div className=\"card-description\">\n                {decodedHtml}\n            </div>\n\n        );\n    };\n\n    const computeTitle = (model) => {\n        const sourceTable = model?.u_source_table;\n        const type = model?.u_type;\n        let itemName, itemType;\n        try {\n            switch (sourceTable) {\n                case TABLES.API_ITEM:\n                    if (!(type == \"Class\" || type == \"Constructor\" || type == \"Method\" || type == \"Namespace\" || type == \"Datatype\")) {\n                        itemName = model['u_parent.u_name'];\n                        itemType = type;\n                    }\n                    else {\n                        itemName = model['u_name'];\n                        itemType = type;\n                    }\n                    break;\n                case TABLES.DSE_DATA_MODEL:\n                    itemName = type === \"Element\" ? model['u_name'] : model['u_parent.u_name'];\n                    itemType = RESULT_TYPE.COMPONENT_API;\n                    break;\n                case TABLES.USAGE_DATA_MODEL:\n                    itemName = model['u_name'];\n                    itemType = RESULT_TYPE.COMPONENT_USAGE;\n                    break;\n                case TABLES.SCR:\n                    itemType = RESULT_TYPE.COMPONENT_OVERVIEW,\n                        itemName = model['u_name'];\n                    break;\n                case TABLES.SEISMIC_TECTONIC_DOCS:\n                    itemName = model['u_name'];\n                    break;\n                case TABLES.UIB_SETUP_DOCS:\n                    itemName = model['u_name'];\n                    itemType = RESULT_TYPE.COMPONENT_UIB_SETUP_DOCS;\n                    break;\n            }\n            if (itemType && itemName) {\n                return `${itemType} | ${itemName}`;\n            } else if (itemName) {\n                return `${itemName}`;\n            }\n            return '';\n        }\n        catch (e) {\n            console.log(e, \"Exception in computing AI search result title\");\n            return \"\";\n        }\n    }\n\n\n\n\n\n    return <div className='search-result-container'>\n        {searchResultList?.items?.map((item, index) => {\n            const { propValues } = item;\n            const {\n                summary = \"\",\n                model = {},\n                icon,\n                title = \"\",\n            } = propValues;\n            let updatedTitle;\n            if (model?.table == 'dev_reference_content') {\n                updatedTitle = computeTitle(model) || title;\n            }\n            else {\n                updatedTitle = title;\n            }\n\n            const url = model?.docs_url||model?.u_navigation_url || model?.url;\n            const type = getType(model);\n\n            // Prepare search item for tracking\n            const searchItem = {\n                sysId: model?.sys_id,\n                title: updatedTitle,\n                table: model?.table,\n                link: url\n            };\n\n            return (\n                <div className=\"search-card\">\n                    <now-icon icon={icon} size=\"md\" />\n                    <div className=\"search-card-content\">\n                        {renderSearchTitle(\n                            url,\n                            updatedTitle,\n                            searchItem,\n                            index\n                        )}\n                        {renderSearchDescripton(summary)}\n                        <now-highlighted-value\n                            label={type?.label}\n                            color={type?.color}\n                            className=\"highlight-value\"\n                            variant=\"tertiary\"\n                            size=\"sm\"\n                        >\n                        </now-highlighted-value>\n                    </div>\n\n                </div>\n            );\n        })}\n        {fetchViewMoreInProgress && (\n            <div className=\"search-result-loading\">\n                {[...Array(10)].map((_, index) => (\n                    <dps-card-loading key={index} />\n                ))}\n            </div>\n        )}\n        {nextPageToken && !fetchViewMoreInProgress && <div on-click={() => dispatch(\"VIEW_MORE\")} className=\"view-more\">View more</div>}\n    </div>\n}\n\nexport default createCustomElement('dps-search-result', {\n    renderer: {\n        type: snabbdom\n    },\n    view,\n    properties: {\n        searchResultList: {\n            default: {}\n        },\n        fetchViewMoreInProgress: {\n            default: false\n        },\n        nextPageToken: {\n            default: null\n        },\n        searchContextConfigId: {\n            default: ''\n        },\n        searchTerm: {\n            default: ''\n        },\n    },\n    actionHandlers: {},\n    styles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-textarea';\nimport '@servicenow/now-button';\nimport styles from './dps-no-search-result.scss';\nimport noSearchResultsFound from '../../../images/icons/no-search-found.svg';\n\nexport const OPTIONS = {\n    YES: 'Yes',\n    NO: 'No'\n};\n\nconst view = (state, { dispatch, updateProperties }) => {\n    const { properties: { globalSearchTerm, hasFiltersApplied } } = state;\n\n    return <div className={hasFiltersApplied ? 'feedback-card-filters' : 'feedback-card'}>\n        {hasFiltersApplied ? (\n            <div className=\"no-search-card-container-filters\">\n                <div className=\"text-container\">\n                    <div className=\"no-search-text\">No search results for applied filter</div>\n                    <div className=\"no-search-text\">Try:  Removing or adjusting the applied filters</div>\n                    <img style={{\n                        width: '315.5px',\n                        height: '413.057px'\n                    }} src={noSearchResultsFound}></img>\n                </div>\n            </div>\n\n        ) : (\n            <div className=\"no-search-card-container\">\n                <div className=\"text-container\">\n                    <div className=\"no-search-text\">We couldn't find any results for {globalSearchTerm}</div>\n                    <div className=\"try\">Try:</div>\n                    <ul className=\"no-search-inner-text-list\">\n                        <li className=\"no-search-inner-text\">Adding more context to the search term</li>\n                        <li className=\"no-search-inner-text\">Using a different or a broader search term</li>\n                    </ul>\n                    <img style={{\n                        width: '315.5px',\n                        height: '413.057px'\n                    }} src={noSearchResultsFound}></img>\n                </div>\n            </div>\n\n        )}\n    </div>\n}\n\nexport default createCustomElement('dps-no-search-result', {\n    renderer: {\n        type: snabbdom\n    },\n    view,\n    properties: {\n        globalSearchTerm: {\n            default: ''\n        },\n        hasFiltersApplied: {\n            default: false\n        }\n    },\n    actionHandlers: {\n    },\n    styles\n});\n","import get from 'lodash/get';\nimport signalTracker from './signalTracker';\nimport { SEARCH_CONFIG } from '../../constants.js';\n\nconst GENIUS_15_SECONDS = {\n    LOCAL_STORAGE_KEY: 'genius_engagement_timeout',\n    TRIGGER_TIME: 15000 // 15 seconds\n};\n\n/**\n * Clear the genius card engagement timeout\n */\nexport const clearGeniusCardEngagementTimeout = () => {\n    const timeoutId = localStorage.getItem(GENIUS_15_SECONDS.LOCAL_STORAGE_KEY);\n    if (timeoutId) {\n        clearTimeout(parseInt(timeoutId));\n        localStorage.removeItem(GENIUS_15_SECONDS.LOCAL_STORAGE_KEY);\n    }\n};\n\n/**\n * Calculate the current scroll percentage\n */\nconst getScrollPercentage = () => {\n    const scrollTop = window.pageYOffset || document.documentElement.scrollTop;\n    const scrollHeight = document.documentElement.scrollHeight - document.documentElement.clientHeight;\n    return scrollHeight > 0 ? (scrollTop / scrollHeight) * 100 : 0;\n};\n\n/**\n * Capture genius engagement after 15 seconds\n */\nexport const captureGeniusEngagementAfter15sec = (\n    state,\n    updateState,\n    geniusSearchResultEventData\n) => {\n    // Clear any existing timeout\n    clearGeniusCardEngagementTimeout();\n\n    if (!geniusSearchResultEventData) {\n        return;\n    }\n\n\n    const timeout = setTimeout(() => {\n        // Check if scroll position is less than 50%\n        const scrollPercentage = getScrollPercentage();\n        \n        if (scrollPercentage < 50) {\n            signalTracker.trackGeniusResultEvent({\n                searchContextConfigId: geniusSearchResultEventData.searchContextConfigId,\n                searchTerm: geniusSearchResultEventData.queryTerm,\n                geniusResultModel: {\n                    sys_id: geniusSearchResultEventData.resultSysId,\n                    table: geniusSearchResultEventData.sourceTable,\n                    model: geniusSearchResultEventData.cardType,\n                    'columns.title': geniusSearchResultEventData.labelDescription,\n                    title: geniusSearchResultEventData.labelDescription\n                },\n                actionType: 'GenAI Engaged',\n                actionId: 'rag_sp_15s_engagement',\n                actionValue: geniusSearchResultEventData.labelDescription || '',\n                matchedIntentsPerSource: geniusSearchResultEventData.matchedIntentsPerSource || []\n            });\n        }\n        clearGeniusCardEngagementTimeout();\n    }, GENIUS_15_SECONDS.TRIGGER_TIME);\n\n    localStorage.setItem(GENIUS_15_SECONDS.LOCAL_STORAGE_KEY, timeout.toString());\n};\n\nexport function geniusMessageReceivedEffect(effects) {\n    const { updateProperties, updateState, eventPayload: e, state } = effects;\n    const data =\n        (e && e.detail && e.detail.payload && e.detail.payload.data) || {};\n\n    if (data?.messageType !== 'STREAMING') {\n        const items = data.geniusResultsTemplates?.items || [];\n        const searchRequestId = data.searchRequestId;\n        const searchResponse =\n            (state &&\n                state.properties &&\n                state.properties.searchResultMetaData) ||\n            {};\n        const primarySearchRequestId = searchResponse.primarySearchRequestId || '';\n        if (searchRequestId !== primarySearchRequestId) return;\n        if (items.length === 0 || hasNoAnswerGRs(items)) {\n            updateProperties({\n                showGeniusCardFallBackMessage: true\n            });\n            return;\n        }\n\n        // Extract genius result model and start engagement tracking\n        const geniusResultModel = items[0]?.propValues?.model || null;\n        if (geniusResultModel && !state.geniusSearchResultEventData) {\n            const isLoggedIn = state.properties?.isLoggedIn;\n            const searchContextConfigId = isLoggedIn\n                ? SEARCH_CONFIG.searchContextConfigId\n                : SEARCH_CONFIG.searchContextConfigId_public;\n\n            const geniusSearchResultEventData = {\n                queryTerm: searchResponse.searchTerm || state.properties?.globalSearchTerm,\n                matchedIntentsPerSource: searchResponse.matchedGeniusResultIntents || [],\n                searchContextConfigId,\n                aisDocId: geniusResultModel.table + '_' + geniusResultModel.sys_id,\n                cardType: geniusResultModel.model,\n                sourceTable: geniusResultModel.table,\n                resultSysId: geniusResultModel.sys_id,\n                labelDescription: geniusResultModel['columns.title'] || geniusResultModel.title,\n                geniusResultClickRank: geniusResultModel?.geniusResultClickRank\n            };\n            updateProperties({ geniusSearchResultEventDataForSignals: geniusSearchResultEventData })\n\n            captureGeniusEngagementAfter15sec(\n                state,\n                updateState,\n                geniusSearchResultEventData\n            );\n\n            // Store event data in state for future use\n            if (updateState) {\n                updateState({ geniusSearchResultEventData });\n            }\n        }\n    }\n\n}\n\n\nconst hasNoAnswerGRs = (items = []) => {\n    const noAnswerGRItems = items.filter(item => {\n        const isResultTypeNoAnswer = get(\n            item.propValues.model,\n            'columns.result_type',\n            ''\n        ).includes('no_answer');\n        return isResultTypeNoAnswer;\n    });\n\n    return noAnswerGRItems?.length > 0;\n};\n\n\nexport function handleErrorScenarios(effects) {\n    const { host, updateProperties, state: { geniusSearchResultEventData } } = effects;\n    const geniusCard = host.shadowRoot.querySelector('.snSearchTopResults');\n    const { showGeniusCardFallBackMessage } = effects.properties || {};\n    if (geniusCard && !showGeniusCardFallBackMessage)\n        updateProperties({ showGeniusCardFallBackMessage: true });\n};","export const NowSparkleIcon = () => {\n\treturn (\n\t\t<svg\n\t\t\tattr-style={`padding-right: 2px`}\n\t\t\tattr-width=\"12\"\n\t\t\tattr-height=\"12\"\n\t\t\tattr-viewBox=\"0 0 12 12\"\n\t\t\tattr-fill=\"none\">\n\t\t\t<path\n\t\t\t\tattr-d=\"M9.22959 0.890154C9.11445 1.57545 8.5775 2.1124 7.8922 2.22754L7.74718 2.25191C7.46907 2.29864 7.46907 2.69827 7.74718 2.745L7.89224 2.76937C8.57752 2.88451 9.11446 3.42143 9.22962 4.10671L9.25366 4.2498C9.30041 4.52795 9.70013 4.52787 9.74677 4.24971L9.77073 4.10678C9.8857 3.42101 10.4231 2.88367 11.1088 2.76872L11.2837 2.7394C11.5609 2.69294 11.5624 2.29516 11.2856 2.2466L11.1074 2.21534C10.4315 2.09676 9.90219 1.56748 9.78361 0.891518L9.75206 0.711684C9.70351 0.434939 9.30583 0.436372 9.25927 0.71346L9.22959 0.890154Z\"\n\t\t\t\tattr-fill=\"url(#paint0_linear_17247_16007)\"\n\t\t\t/>\n\t\t\t<path\n\t\t\t\tattr-d=\"M4.79761 3.17055C4.50619 4.48197 3.482 5.50616 2.17058 5.79758L0.766353 6.10963C0.348716 6.20244 0.348715 6.79777 0.766352 6.89058L2.17058 7.20263C3.482 7.49406 4.50619 8.51824 4.79761 9.82966L5.10966 11.2339C5.20247 11.6515 5.7978 11.6515 5.89061 11.2339L6.20266 9.82966C6.49409 8.51825 7.51828 7.49406 8.82969 7.20263L10.2339 6.89058C10.6516 6.79777 10.6516 6.20244 10.2339 6.10963L8.82969 5.79758C7.51828 5.50616 6.49409 4.48197 6.20266 3.17056L5.89061 1.76632C5.7978 1.34869 5.20247 1.34869 5.10966 1.76632L4.79761 3.17055Z\"\n\t\t\t\tattr-fill=\"url(#paint1_linear_17247_16007)\"\n\t\t\t/>\n\t\t\t<defs>\n\t\t\t\t<linearGradient\n\t\t\t\t\tid=\"paint0_linear_17247_16007\"\n\t\t\t\t\tattr-x1=\"5.97277\"\n\t\t\t\t\tattr-y1=\"0.504883\"\n\t\t\t\t\tattr-x2=\"5.97277\"\n\t\t\t\t\tattr-y2=\"11.5471\"\n\t\t\t\t\tattr-gradientUnits=\"userSpaceOnUse\">\n\t\t\t\t\t<stop attr-style={`stop-color:#66D462`} />\n\t\t\t\t\t<stop attr-offset=\"1\" attr-style={`stop-color:#83B7F3`} />\n\t\t\t\t</linearGradient>\n\t\t\t\t<linearGradient\n\t\t\t\t\tid=\"paint1_linear_17247_16007\"\n\t\t\t\t\tattr-x1=\"5.97277\"\n\t\t\t\t\tattr-y1=\"0.504883\"\n\t\t\t\t\tattr-x2=\"5.97277\"\n\t\t\t\t\tattr-y2=\"11.5471\"\n\t\t\t\t\tattr-gradientUnits=\"userSpaceOnUse\">\n\t\t\t\t\t<stop attr-style={`stop-color:#66D462`} />\n\t\t\t\t\t<stop attr-offset=\"1\" attr-style={`stop-color:#83B7F3`} />\n\t\t\t\t</linearGradient>\n\t\t\t</defs>\n\t\t</svg>\n\t);\n};","import { createCustomElement } from '@servicenow/ui-core';\nimport { NowSparkleIcon } from './now-sparkle-icon';\nimport styles from './styles.scss';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\n\nexport const view = () => {\n    return (\n        <div className=\"search-results-genius-card search-results--responsive-container no-top-results\">\n            <div className=\"assist-header\">\n                <NowSparkleIcon className=\"assist-header-icon\" />\n                <span className=\"assist-header-text\">\n                    Answer generated by Now Assist\n                </span>\n                {/* <now-icon icon=\"info-outline\" size=\"sm\" className=\"assist-header-info\" /> */}\n            </div>\n            <div className=\"message\">Now Assist was not able to generate an answer for your search at this time.</div>\n        </div>\n    );\n};\n\n\nexport default createCustomElement('dps-fallback-top-result', {\n    renderer: {\n        type: snabbdom\n    },\n    view,\n    properties: {},\n    actionHandlers: {},\n    styles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { actionTypes } from '@servicenow/ui-core';\nimport { cloneDeep } from 'lodash';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-icon';\nimport signalTracker from './signalTracker';\n// import 'ais-ux-components/apps/ais-ux-bundle/src/index';\nimport '@devsnc/sn-search-top-results';\nimport styles from './dps-ai-search.scss';\nimport '../dps-search-facets/src';\nimport './dps-feedback-card/dps-feedback-card.js';\nimport './dps-search-result/dps-search-result.js';\nimport './dps-no-search-result/dps-no-search-result.js';\nimport APP_ACTIONS from '../../connected-components/dps-app/actions';\nimport search from '../../images/icons/search-icon.svg';\nimport {\n\tgeniusMessageReceivedEffect,\n\thandleErrorScenarios,\n\tclearGeniusCardEngagementTimeout\n} from './helper.js';\nimport '@servicenow/now-pill';\nimport '@servicenow/now-dropdown';\nimport './dps-card-loading/dps-card-loading.js';\nimport { SEARCH_CONFIG } from '../../constants.js';\n\nimport './dps-fallback-top-result/dps-fallback-top-result.js';\n\nconst {\n\tCOMPONENT_RENDERED,\n\tCOMPONENT_TREE_RENDERED,\n\tCOMPONENT_PROPERTY_CHANGED\n} = actionTypes;\n\nconst TOGGLE_FILTER_VISIBILITY = 'TOGGLE_FILTER_VISIBILITY';\nconst DISABLE_SPELL_CHECK = 'DISABLE_SPELL_CHECK';\n\nconst basePayload = {\n\tdefinitionSysId: SEARCH_CONFIG.definitionSysId,\n\ttype: 'GRAPHQL',\n\tinputValues: {\n\t\tpaginationToken: { type: 'JSON_LITERAL', value: null },\n\t\tsearchEvamConfigId: {\n\t\t\ttype: 'JSON_LITERAL',\n\t\t\tvalue: SEARCH_CONFIG.searchEvamConfigId\n\t\t},\n\t\tsearchTerm: { type: 'JSON_LITERAL', value: '' },\n\t\tfacetFilters: { type: 'JSON_LITERAL', value: null },\n\t\tsortOptions: { type: 'JSON_LITERAL', value: '[]' },\n\t\tvaEvamDefinitionId: {\n\t\t\ttype: 'JSON_LITERAL',\n\t\t\tvalue: SEARCH_CONFIG.vaEvamDefinitionId\n\t\t},\n\t\tdisableSpellCheck: { type: 'JSON_LITERAL', value: 'false' },\n\t\tasyncParams: {\n\t\t\ttype: 'JSON_LITERAL',\n\t\t\tvalue: `{asyncMode: \"GR_ONLY\", callbackType: \"AMB\", enableStreaming: \"true\"}`\n\t\t},\n\t\tsearchFilters: { type: 'JSON_LITERAL', value: '[]' },\n\t\tsearchPurview: { type: 'JSON_LITERAL', value: 'REGULAR' },\n\t\tadditionalContext: {\n\t\t\ttype: 'JSON_LITERAL',\n\t\t\tvalue: `{\"citationVersion\":\"2\",\"streaming\": {\"context\": {\"skipNoAnswerResponse\": \"true\"}}, \"request_origin\":{\"origin\":\"portal\",\"name\":\"esc\"}, \"queryConversationalCatalog\":\"false\"}`\n\t\t},\n\t\tsearchContextConfigId: {\n\t\t\ttype: 'JSON_LITERAL',\n\t\t\tvalue: SEARCH_CONFIG.searchContextConfigId\n\t\t}\n\t}\n};\n\nexport const componentTreeRendered = effects => {\n\tconst { host } = effects;\n\n\t// // Ensure listeners are attached only once per component instance\n\t// if (host.__dpsGeniusListenersAttached) {\n\t// \treturn;\n\t// }\n\t// host.__dpsGeniusListenersAttached = true;\n\n\tconst geniusCard = host.shadowRoot.querySelector('.snSearchTopResults');\n\tif (!geniusCard) {\n\t\treturn;\n\t}\n\n\tconst onMessageReceived = e =>\n\t\tgeniusMessageReceivedEffect({ ...effects, eventPayload: e, geniusCard });\n\n\tconst onAsyncResultTimeout = e => {\n\t\tconst { showGeniusCardFallBackMessage } = effects.properties || {};\n\t\tif (!showGeniusCardFallBackMessage) {\n\t\t\thandleErrorScenarios(effects);\n\t\t}\n\t};\n\n\tconst onSubscriptionFailed = () => {\n\t\tconst { showGeniusCardFallBackMessage } = effects.properties || {}\n\t\tif (!showGeniusCardFallBackMessage) {\n\t\t\thandleErrorScenarios(effects);\n\t\t}\n\t};\n\n\tgeniusCard.addEventListener('MESSAGE_RECEIVED', onMessageReceived);\n\tgeniusCard.addEventListener(\n\t\t'SN_SEARCH_GENIUS_CARDS#ASYNC_RESULT_LOADING_TIMEOUT',\n\t\tonAsyncResultTimeout\n\t);\n\tgeniusCard.addEventListener('SUBSCRIPTION_FAILED', onSubscriptionFailed);\n};\n\nfunction createPayload({\n\tfacet,\n\tsearchFilters = [],\n\tsortOptions = [],\n\tsearchTerm,\n\tisLoggedIn\n}) {\n\tconst payload = structuredClone(basePayload);\n\tif (facet && facet.length > 0) {\n\t\tif (Array.isArray(facet)) {\n\t\t\tpayload.inputValues.facetFilters.value = JSON.stringify(facet);\n\t\t} else {\n\t\t\tpayload.inputValues.facetFilters.value = JSON.stringify([\n\t\t\t\t`\"UNION(_kb_knowledge.release_s, _dev_reference_content.u_release_s)\":FACET(${facet})`\n\t\t\t]);\n\t\t}\n\t}\n\n\tif (searchFilters.length) {\n\t\tpayload.inputValues.searchFilters.value = JSON.stringify(searchFilters);\n\t}\n\tif (sortOptions.length) {\n\t\tpayload.inputValues.sortOptions.value = JSON.stringify(sortOptions);\n\t} else {\n\t\tpayload.inputValues.sortOptions.value = '[]';\n\t}\n\tif (searchTerm) {\n\t\tpayload.inputValues.searchTerm.value = searchTerm;\n\t}\n\t// Use searchContextConfigId_public for unauthenticated users\n\tpayload.inputValues.searchContextConfigId.value = isLoggedIn\n\t\t? SEARCH_CONFIG.searchContextConfigId\n\t\t: SEARCH_CONFIG.searchContextConfigId_public;\n\treturn payload;\n}\n\nexport const SELECTOR_TYPE = {\n\tSINGLE: 'single_select',\n\tMULTIPLE_AND: 'multi_select_and'\n};\n\nexport const DEFAULT_FACET_FILTERS = [\n\t{\n\t\ttype: SELECTOR_TYPE.SINGLE,\n\t\tname: 'Release',\n\t\torder: -1,\n\t\toptionLimit: 4,\n\t\tfacetConfigSysId: 'facets', // '06c63c9bfbff26507ba7fb5daeefdc79', //'5ef4e17cdbf21110424de07dd3961924',\n\t\tdata: {\n\t\t\toptions: [\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Zurich',\n\t\t\t\t\tvalue1: 'Zurich',\n\t\t\t\t\tvalue:\n\t\t\t\t\t\t'\"UNION(_kb_knowledge.release_s, _dev_reference_content.u_release_s, _x_snc_gsdr_docs_prod.u_release_s)\":FACET(Zurich)'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Yokohama',\n\t\t\t\t\tvalue1: 'Yokohama',\n\t\t\t\t\tvalue:\n\t\t\t\t\t\t'\"UNION(_kb_knowledge.release_s, _dev_reference_content.u_release_s, _x_snc_gsdr_docs_prod.u_release_s)\":FACET(Yokohama)'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Xanadu',\n\t\t\t\t\tvalue1: 'Xanadu',\n\t\t\t\t\tvalue:\n\t\t\t\t\t\t'\"UNION(_kb_knowledge.release_s, _dev_reference_content.u_release_s, _x_snc_gsdr_docs_prod.u_release_s)\":FACET(Xanadu)'\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n];\n\nexport const DEFAULT_SEARCH_SOURCES = [\n\t{\n\t\tsysId: null,\n\t\tlabel: 'All'\n\t},\n\t{\n\t\tsysId: '6b94741bfbff26507ba7fb5daeefdc33',\n\t\tlabel: 'Learn'\n\t},\n\t{\n\t\tsysId: '6f94741bfbff26507ba7fb5daeefdc2e',\n\t\tlabel: 'API Reference'\n\t},\n\t{\n\t\tsysId: 'e394741bfbff26507ba7fb5daeefdc31',\n\t\tlabel: 'Next Experience'\n\t},\n\t{\n\t\tsysId: '2394301bfbff26507ba7fb5daeefdc76',\n\t\tlabel: 'Share'\n\t},\n\t{\n\t\tsysId: 'd1d2d52afbd0b6105233fda8beefdcee',\n\t\tlabel: 'Guides'\n\t}\n];\n\nfunction sortByFirstCharacterOrder(arrayToSortLarge, customOrder) {\n\t// const arrayToSortLarge = [\n\t// \t{ label: 'banana' },\n\t// \t{ label: 'apple' },\n\t// \t{ label: 'apricot' },\n\t// \t{ label: 'cherry' },\n\t// \t{ label: 'date' }\n\t// ];\n\t// const customOrder = ['c', 'b', 'd', 'a']; // Desired order: 'c' first, then 'b', then 'd', then 'a'\n\n\t// Create a map for efficient lookups (O(1) time complexity)\n\tconst orderMap = {};\n\tfor (const [index, char] of customOrder.entries()) {\n\t\torderMap[char] = index;\n\t}\n\tarrayToSortLarge.sort((a, b) => {\n\t\t// Access the 'label' property from the objects first\n\t\tconst firstCharA = a.label.charAt(0);\n\t\tconst firstCharB = b.label.charAt(0);\n\n\t\t// Use the map to get the custom sort priority\n\t\tconst indexA = orderMap[firstCharA];\n\t\tconst indexB = orderMap[firstCharB];\n\n\t\t// Return the difference for sorting\n\t\t// Items not found in the map (e.g., 'a' if left out) will sort to the end\n\t\treturn indexA - indexB;\n\t});\n}\n\nconst view = (state, { dispatch, updateProperties }) => {\n\tconst {\n\t\tproperties,\n\t\tsearchResultList,\n\t\tselectedFilterIds,\n\t\tappliedFacetFilters,\n\t\tfetchDataInProgress\n\t} = state;\n\tconst {\n\t\tglobalSearchTerm,\n\t\tsearchResultLoading,\n\t\tsystemProperties,\n\t\tsearchSources,\n\t\tselectedSort,\n\t\tsearchResultMetaData,\n\t\tshowGeniusCardFallBackMessage,\n\t\tgeniusResult,\n\t\tfiltersVisible,\n\t\tisLoggedIn,\n\t\tnoSearchDataAvailable,\n\t\tfetchViewMoreInProgress,\n\t\tgeniusSearchResultEventDataForSignals,\n\t\treleaseInfo\n\t} = properties;\n\n\n\tconst handleFilterToggle = () => {\n\t\tdispatch(TOGGLE_FILTER_VISIBILITY, { filtersVisible: !filtersVisible });\n\t};\n\n\tconst showGeniusResult =\n\t\tsystemProperties?.['dev.ai_search_show_rag_result'] === 'true';\n\tvar hideGeniusCard = false;\n\tif (geniusResult && geniusResult.awaitingResults !== undefined && !geniusResult.awaitingResults) {\n\t\thideGeniusCard = true;\n\t}\n\tconst handleSearchOpen = e => {\n\t\t// updateProperties({ searchResultLoading: true })\n\t\tdispatch(APP_ACTIONS.NAV_SEARCH_ICON, {\n\t\t\tterm: globalSearchTerm,\n\t\t\topened: true,\n\t\t\tfilters: {},\n\t\t\tapplyFilters: true,\n\t\t\tattachToNavigation: false,\n\t\t\ttimeStamp: new Date().getTime()\n\t\t});\n\t};\n\n\tlet searchSourcesTransformed = searchSources?.map(item => ({\n\t\tlabel: item?.label,\n\t\tsysId: item?.sysId\n\t}));\n\tconst desiredOrder = ['All', 'L', 'A', 'N', 'G', 'S', 'P'];\n\n\tsortByFirstCharacterOrder(searchSourcesTransformed, desiredOrder);\n\n\tconst selectedSources =\n\t\tselectedFilterIds\n\t\t\t?.map(elm => searchSourcesTransformed.find(item => item.sysId === elm))\n\t\t\t?.filter(Boolean) || [];\n\n\tconst isShareSelected =\n\t\tselectedSources.length === 1 && selectedSources[0].label === 'Share';\n\n\tconst cloneDeepFacetFilters = cloneDeep(DEFAULT_FACET_FILTERS);\n\tconst options = [];\n\tif (releaseInfo?.activeVersionsFormatted) {\n\t\tObject.values(releaseInfo.activeVersionsFormatted).forEach(version => {\n\t\t\toptions.unshift({\n\t\t\t\tlabel: version,\n\t\t\t\tvalue1: version,\n\t\t\t\tvalue:\n\t\t\t\t\t`\"UNION(_kb_knowledge.release_s, _dev_reference_content.u_release_s, _x_snc_gsdr_docs_prod.u_release_s)\":FACET(${version})`\n\t\t\t});\n\t\t});\n\t\tcloneDeepFacetFilters[0].data.options = options;\n\t}\n\n\treturn (\n\t\t<div className=\"ai-search\">\n\t\t\t<div className=\"search-header\">\n\t\t\t\t<div\n\t\t\t\t\ton-keypress={event => {\n\t\t\t\t\t\tif (event.code === 'Enter') {\n\t\t\t\t\t\t\thandleSearchOpen();\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\trole=\"textbox\"\n\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\ton-mousedown={handleSearchOpen}\n\t\t\t\t\tclassName=\"search-container\"\n\t\t\t\t\tid=\"item-search_input_card_base_container\"\n\t\t\t\t>\n\t\t\t\t\t<img src={search} className=\"search-icon\" alt=\"search\" />\n\t\t\t\t\t<div type=\"search\" className=\"search-input\">\n\t\t\t\t\t\t{globalSearchTerm}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t{globalSearchTerm && (\n\t\t\t\t\t<div className=\"search-text-container\">\n\t\t\t\t\t\t<div className=\"search-header-text\">\n\t\t\t\t\t\t\t<span className=\"search-prefix\">Here’s what we found for </span>\n\t\t\t\t\t\t\t<span className=\"search-term\">\n\t\t\t\t\t\t\t\t{searchResultLoading ? (\n\t\t\t\t\t\t\t\t\t<dps-card-skeleleton inline={true} type=\"bar\" width=\"15\" />\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\tsearchResultMetaData?.correctedSearchTerm ||\n\t\t\t\t\t\t\t\t\tsearchResultMetaData?.searchTerm ||\n\t\t\t\t\t\t\t\t\t''\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{!searchResultLoading &&\n\t\t\t\t\t\t\tsearchResultMetaData?.searchAnalyticsPayload\n\t\t\t\t\t\t\t\t?.spellCheckCorrectedTerm && (\n\t\t\t\t\t\t\t\t<div className=\"search-sub-text\">\n\t\t\t\t\t\t\t\t\t<span className=\"search-sub-text-prefix\">\n\t\t\t\t\t\t\t\t\t\tSearch instead for{' '}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\t\t\t\tdispatch(DISABLE_SPELL_CHECK);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tclassName=\"search-sub-text-term\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tsearchResultMetaData?.searchAnalyticsPayload\n\t\t\t\t\t\t\t\t\t\t\t\t?.spellCheckCorrectedTerm\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{showGeniusResult ? <div className=\"search-results-genius-card\">\n\t\t\t\t\t{!showGeniusCardFallBackMessage && !hideGeniusCard ? <sn-search-top-results\n\t\t\t\t\t\tsearchContextConfigId={isLoggedIn ? SEARCH_CONFIG.searchContextConfigId : SEARCH_CONFIG.searchContextConfigId_public}\n\t\t\t\t\t\ticon=\"\"\n\t\t\t\t\t\ttopics={[]}\n\t\t\t\t\t\tclassName='snSearchTopResults'\n\t\t\t\t\t\tdelegateActions={true}\n\t\t\t\t\t\tsearchResultMetadata={\n\t\t\t\t\t\t\tsearchResultLoading ? {\n\t\t\t\t\t\t\t\tsearchAnalyticsPayload: {\n\t\t\t\t\t\t\t\t\t//initialization needed to have the skeleton loader\n\t\t\t\t\t\t\t\t\tgeniusResultsExecuted: [\"088c73a5430302104eaff03a5ab8f22f\"]\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tawaitingResults: true,\n\t\t\t\t\t\t\t} : geniusResult\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcanAskFollowUp={false}\n\t\t\t\t\t\tasyncGeniusResultsMaxWaitTime={30}\n\t\t\t\t\t/> : <dps-fallback-top-result />}\n\t\t\t\t</div> : null}\n\n\n\t\t\t\t<div className=\"search-result-subtitle\">\n\t\t\t\t\t<span className=\"search-result-subtitle-prefix\">Results for </span>\n\t\t\t\t\t{searchResultLoading ? (\n\t\t\t\t\t\t<dps-card-skeleleton inline={true} type=\"bar\" width=\"15\" />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"search-result-subtitle-suffix\"\n\t\t\t\t\t\t\ttitle={\n\t\t\t\t\t\t\t\tsearchResultMetaData?.correctedSearchTerm ||\n\t\t\t\t\t\t\t\tsearchResultMetaData?.searchTerm ||\n\t\t\t\t\t\t\t\t''\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t“\n\t\t\t\t\t\t\t{searchResultMetaData?.correctedSearchTerm ||\n\t\t\t\t\t\t\t\tsearchResultMetaData?.searchTerm ||\n\t\t\t\t\t\t\t\t''}\n\t\t\t\t\t\t\t”\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{noSearchDataAvailable ? (\n\t\t\t\t\t<dps-no-search-result globalSearchTerm={globalSearchTerm} />\n\t\t\t\t) : (\n\t\t\t\t\t<div className=\"information-box\">\n\t\t\t\t\t\t{filtersVisible && (\n\t\t\t\t\t\t\t<div className=\"filter-container\">\n\t\t\t\t\t\t\t\t<div className=\"filter-header\">\n\t\t\t\t\t\t\t\t\t<a className=\"filter-toggle\" on-click={handleFilterToggle}>\n\t\t\t\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\t\t\t\ticon=\"sliders-outline\"\n\t\t\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"sliders-outline\"\n\t\t\t\t\t\t\t\t\t\t></now-icon>\n\t\t\t\t\t\t\t\t\t\t{filtersVisible ? 'Hide filters' : 'Show filters'}\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t{searchSourcesTransformed.length > 0 && (\n\t\t\t\t\t\t\t\t\t<dps-search-facets\n\t\t\t\t\t\t\t\t\t\tfacetPanelIsHidden={false}\n\t\t\t\t\t\t\t\t\t\tclassName=\"filter-options-container\"\n\t\t\t\t\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\t\t\t\t\tsearchSources={cloneDeep(searchSourcesTransformed)}\n\t\t\t\t\t\t\t\t\t\tselectedSearchSources={selectedFilterIds}\n\t\t\t\t\t\t\t\t\t\tfacets={\n\t\t\t\t\t\t\t\t\t\t\tisShareSelected ? [] : cloneDeep(cloneDeepFacetFilters)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tselectedOptions={appliedFacetFilters}\n\t\t\t\t\t\t\t\t\t\tlabel=\"Filter by\"\n\t\t\t\t\t\t\t\t\t\tisLoading={searchResultLoading}\n\t\t\t\t\t\t\t\t\t\tsearchTerm={globalSearchTerm}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t<div className=\"search-result-container\">\n\t\t\t\t\t\t\t<div className=\"search-sub-container\">\n\t\t\t\t\t\t\t\t<div className=\"search-sort-result-container\">\n\t\t\t\t\t\t\t\t\t<div className=\"sort-container\">\n\t\t\t\t\t\t\t\t\t\t{!filtersVisible && (\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"filter-header\"\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ marginRight: '1rem' }}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"filter-toggle\"\n\t\t\t\t\t\t\t\t\t\t\t\t\ton-click={handleFilterToggle}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<now-icon icon=\"sliders-outline\" size=\"md\"></now-icon>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{filtersVisible ? 'Hide filters' : 'Show filters'}\n\t\t\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t<div className=\"filter-pills-container NPill\">\n\t\t\t\t\t\t\t\t\t\t\t{(() => {\n\t\t\t\t\t\t\t\t\t\t\t\tconst selectedFacets = appliedFacetFilters\n\t\t\t\t\t\t\t\t\t\t\t\t\t?.map(elm =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcloneDeepFacetFilters[0].data.options.find(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem => item.value === elm.facetFilter\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t?.filter(Boolean);\n\n\t\t\t\t\t\t\t\t\t\t\t\tconst allFilters = [\n\t\t\t\t\t\t\t\t\t\t\t\t\t...selectedFacets.map(item => ({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: item?.label,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'selected',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: item?.value\n\t\t\t\t\t\t\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t\t\t\t\t\t\t\t...selectedSources.map(({ label, sysId }) => ({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'source',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: sysId\n\t\t\t\t\t\t\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\t\t\t\treturn allFilters.map(({ label, type, value }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<now-pill\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={value}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel={label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tselected\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcan-dismiss\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmanageSelected={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tappend-to-payload={{ type, value }}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t));\n\t\t\t\t\t\t\t\t\t\t\t})()}\n\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t<span className=\"sort-label NDborder\">\n\t\t\t\t\t\t\t\t\t\t\tSort by:\n\t\t\t\t\t\t\t\t\t\t\t<now-dropdown\n\t\t\t\t\t\t\t\t\t\t\t\tid=\"sort-dropdown\"\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"dd\"\n\t\t\t\t\t\t\t\t\t\t\t\titems={[\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ id: '', label: 'Relevance' },\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: '5aef9839fb00b2905233fda8beefdc8a',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'Last Updated'\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\t\t\t\taria-label=\"Sort by\"\n\t\t\t\t\t\t\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\t\t\t\t\t\t\tselected-items={selectedSort}\n\t\t\t\t\t\t\t\t\t\t\t\thideCaret={false}\n\t\t\t\t\t\t\t\t\t\t\t></now-dropdown>\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t{searchResultLoading || fetchDataInProgress ? (\n\t\t\t\t\t\t\t\t\t\t<div className=\"search-result-loading\">\n\t\t\t\t\t\t\t\t\t\t\t{[...Array(10)].map((_, index) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<dps-card-loading key={index} />\n\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t) : searchResultList && searchResultList.items?.length > 0 ? (\n\t\t\t\t\t\t\t\t\t\t<dps-search-result\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"search-result\"\n\t\t\t\t\t\t\t\t\t\t\tsearchResultList={searchResultList}\n\t\t\t\t\t\t\t\t\t\t\tnextPageToken={searchResultMetaData?.nextPageToken}\n\t\t\t\t\t\t\t\t\t\t\tsearchContextConfigId={\n\t\t\t\t\t\t\t\t\t\t\t\tsearchResultMetaData?.searchAnalyticsPayload\n\t\t\t\t\t\t\t\t\t\t\t\t\t?.searchContextConfigId || ''\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tsearchTerm={\n\t\t\t\t\t\t\t\t\t\t\t\tsearchResultMetaData?.searchTerm || globalSearchTerm\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tfetchViewMoreInProgress={fetchViewMoreInProgress}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<dps-no-search-result\n\t\t\t\t\t\t\t\t\t\t\tglobalSearchTerm={globalSearchTerm}\n\t\t\t\t\t\t\t\t\t\t\thasFiltersApplied={\n\t\t\t\t\t\t\t\t\t\t\t\tappliedFacetFilters?.length > 0 ||\n\t\t\t\t\t\t\t\t\t\t\t\tselectedFilterIds?.length > 0\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t{isLoggedIn ? (\n\t\t\t\t\t\t\t\t\t<dps-feedback-card\n\t\t\t\t\t\t\t\t\t\tupdateProperties={updateProperties}\n\t\t\t\t\t\t\t\t\t\tglobalSearchTerm={globalSearchTerm}\n\t\t\t\t\t\t\t\t\t\tsearchContextConfigId={\n\t\t\t\t\t\t\t\t\t\t\tsearchResultMetaData?.searchAnalyticsPayload\n\t\t\t\t\t\t\t\t\t\t\t\t?.searchContextConfigId || ''\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tgeniusResult={geniusResult}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-ai-search', {\n\trenderer: { type: snabbdom },\n\tview,\n\tinitialState: {\n\t\tsearchResultList: {},\n\t\tsourceFilters: [],\n\t\tfilters: null,\n\t\tappliedFacetFilters: [],\n\t\tselectedFilterIds: [],\n\t\tselectedFacets: [],\n\t\tselectedSourceFilters: [],\n\t\tfetchDataInProgress: false,\n\t\treleaseInfo: {},\n\t\tgeniusSearchResultEventData: null // Track engagement event data\n\t},\n\tproperties: {\n\t\tfiltersVisible: { default: true },\n\t\tgeniusResult: { default: {} },\n\t\tselectedSort: { default: [''] },\n\t\tglobalSearchTerm: { default: '' },\n\t\tshowGeniusCardFallBackMessage: { default: false },\n\t\thasValidGeniusResult: { default: false },\n\t\tpaginationToken: { default: null },\n\t\tsendingPayload: { default: basePayload },\n\t\tsearchResultMetaData: { default: {} },\n\t\tsearchResultsTemplates: { default: {} },\n\t\tsearchSources: { default: [] },\n\t\tgeniusSearchResultEventDataForSignals: { default: {} },\n\t\tisLoggedIn: { default: null },\n\t\tsystemProperties: {\n\t\t\tdefault: {}\n\t\t},\n\t\tsearchResultLoading: { default: false },\n\t\tnoSearchDataAvailable: { default: false },\n\t\tfetchViewMoreInProgress: { default: false },\n\t\treleaseInfo: { default: {} },\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_RENDERED]: ({ properties, updateState, dispatch }) => {\n\t\t\tconst {\n\t\t\t\tsearchResultMetaData,\n\t\t\t\tsearchResultsTemplates,\n\t\t\t\tglobalSearchTerm\n\t\t\t} = properties;\n\t\t\tif (searchResultMetaData?.currentPage == 0) {\n\t\t\t\tupdateState({\n\t\t\t\t\tsearchResultList: searchResultsTemplates\n\t\t\t\t});\n\t\t\t}\n\t\t\t// Trigger search on initial load if no results exist but there's a search term\n\t\t\tif (\n\t\t\t\tglobalSearchTerm &&\n\t\t\t\tglobalSearchTerm.trim().length > 0 &&\n\t\t\t\t!searchResultMetaData\n\t\t\t) {\n\t\t\t\tdispatch('SN_CX_SEARCH_MODAL#SEARCH_EXECUTED', {\n\t\t\t\t\tsearchTerm: globalSearchTerm,\n\t\t\t\t\tdisableSpellCheck: String(false)\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({\n\t\t\taction,\n\t\t\tupdateState,\n\t\t\tupdateProperties,\n\t\t\tdispatch,\n\t\t\tproperties\n\t\t}) => {\n\t\t\tconst { name, value, previousValue } = action.payload;\n\t\t\t// search term changes reset the state\n\t\t\tswitch (name) {\n\t\t\t\tcase 'globalSearchTerm':\n\t\t\t\t\t// Clear engagement tracking when starting a new search\n\t\t\t\t\tclearGeniusCardEngagementTimeout();\n\n\t\t\t\t\t// Only trigger search if the value actually changed\n\t\t\t\t\tif (!!value && value?.trim()?.length > 0 && value !== previousValue) {\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tappliedFacetFilters: [],\n\t\t\t\t\t\t\tselectedFilterIds: [],\n\t\t\t\t\t\t\tfetchDataInProgress: false,\n\t\t\t\t\t\t\tsearchSources: [],\n\t\t\t\t\t\t\tsearchResultList: {},\n\t\t\t\t\t\t\tgeniusSearchResultEventData: null // Clear engagement data on new search\n\t\t\t\t\t\t});\n\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\tshowGeniusCardFallBackMessage: false,\n\t\t\t\t\t\t\thasValidGeniusResult: false,\n\t\t\t\t\t\t\tsearchResultsTemplates: {},\n\t\t\t\t\t\t\tgeniusResult: {}\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\t// Only dispatch if search is NOT already in progress\n\t\t\t\t\t\t// If searchResultLoading is true, it means search modal already dispatched\n\t\t\t\t\t\t// This prevents duplicate dispatch when user searches and URL updates\n\t\t\t\t\t\tif (!properties.searchResultLoading) {\n\t\t\t\t\t\t\tdispatch('SN_CX_SEARCH_MODAL#SEARCH_EXECUTED', {\n\t\t\t\t\t\t\t\tsearchTerm: value,\n\t\t\t\t\t\t\t\tdisableSpellCheck: String(false)\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_TREE_RENDERED]: componentTreeRendered,\n\t\t// ['SN_SEARCH_COMBOBOX#SEARCH_EXECUTED']: ({ action, updateProperties }) => {\n\t\t// \tupdateProperties({ searchTerm: action.payload.searchTerm });\n\t\t// },\n\t\t[TOGGLE_FILTER_VISIBILITY]: ({ action, updateProperties }) => {\n\t\t\tupdateProperties({ filtersVisible: action.payload.filtersVisible });\n\t\t},\n\t\t['FILTER_APPLIED']: async ({\n\t\t\taction,\n\t\t\tstate,\n\t\t\tupdateState,\n\t\t\tupdateProperties\n\t\t}) => {\n\t\t\tconst { searchResultList } = state;\n\t\t\ttry {\n\t\t\t\tconst payload = Array.isArray(action.payload.payload)\n\t\t\t\t\t? action.payload.payload\n\t\t\t\t\t: [action.payload.payload];\n\t\t\t\tconst res = await fetch('/api/now/uxf/databroker/exec', {\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t\tAccept: 'application/json'\n\t\t\t\t\t},\n\t\t\t\t\tbody: JSON.stringify(payload)\n\t\t\t\t});\n\t\t\t\tconst response = await res.json();\n\t\t\t\tconst searchRes = response?.result?.[0]?.executionResult;\n\t\t\t\tconst searchResultMetaData =\n\t\t\t\t\tsearchRes?.searchMetadata?.searchResultMetadata;\n\t\t\t\tconst searchResultsTemplates = searchRes?.searchResultsTemplates;\n\n\t\t\t\tconst updatedSearchResultList = {\n\t\t\t\t\t...searchResultList,\n\t\t\t\t\titems: [\n\t\t\t\t\t\t...(searchResultList.items || []),\n\t\t\t\t\t\t...(searchResultsTemplates.items || [])\n\t\t\t\t\t]\n\t\t\t\t};\n\n\t\t\t\tconst searchMetadataTemp = searchRes?.searchMetadata;\n\t\t\t\tconst filters = searchMetadataTemp?.filters;\n\t\t\t\t// updateState({ searchResultList: searchResultsTemplates });\n\t\t\t\tupdateState({\n\t\t\t\t\tsearchResultList: updatedSearchResultList,\n\t\t\t\t\tfilters: searchMetadataTemp?.searchFacets\n\t\t\t\t\t// appliedFacetFilters: searchMetadataTemp?.appliedFacetFilters,\n\t\t\t\t\t// selectedFilterIds: searchMetadataTemp?.selectedFilterIds,\n\t\t\t\t});\n\t\t\t\tupdateProperties({\n\t\t\t\t\tsearchResultMetaData,\n\t\t\t\t\tpaginationToken: searchResultMetaData?.nextPageToken,\n\t\t\t\t\tsearchResultsTemplates\n\t\t\t\t\t// searchSources: Array.isArray(filters) ? filters : [],\n\t\t\t\t});\n\t\t\t\tif (searchResultMetaData?.searchAnalyticsPayload) {\n\t\t\t\t\tif (action.payload.actionType === 'facet') {\n\t\t\t\t\t\tsignalTracker.trackSearchFacetEvent(\n\t\t\t\t\t\t\tsearchResultMetaData?.searchAnalyticsPayload\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if (action.payload.actionType === 'view_more') {\n\t\t\t\t\t\tsignalTracker.trackSearchEvent(\n\t\t\t\t\t\t\tsearchResultMetaData?.searchAnalyticsPayload\n\t\t\t\t\t\t);\n\t\t\t\t\t\tsignalTracker.trackSearchPaginationEvent(\n\t\t\t\t\t\t\tsearchResultMetaData?.searchAnalyticsPayload\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if (action.payload.actionType === 'sort') {\n\t\t\t\t\t\tsignalTracker.trackSearchSortEvent(\n\t\t\t\t\t\t\tsearchResultMetaData?.searchAnalyticsPayload\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('FILTER_APPLIED error:', error);\n\t\t\t} finally {\n\t\t\t\tupdateState({ fetchDataInProgress: false });\n\t\t\t\tupdateProperties({ fetchViewMoreInProgress: false });\n\t\t\t}\n\t\t},\n\n\t\t// --- SORT DROPDOWN HANDLER ---\n\t\t['NOW_DROPDOWN#ITEM_CLICKED']: ({\n\t\t\taction,\n\t\t\tstate,\n\t\t\tupdateProperties,\n\t\t\tdispatch,\n\t\t\tproperties,\n\t\t\tupdateState\n\t\t}) => {\n\t\t\tconst selectedLabel = action.payload.item.label;\n\n\t\t\tupdateProperties({ selectedSort: [action.payload.item.id] });\n\n\t\t\tconst sortOptions =\n\t\t\t\tselectedLabel === 'Last Updated'\n\t\t\t\t\t? ['5aef9839fb00b2905233fda8beefdc8a']\n\t\t\t\t\t: [];\n\n\t\t\tconst { appliedFacetFilters = [], selectedFilterIds = [] } = state;\n\n\t\t\tconst facet = appliedFacetFilters?.map(item => item?.facetFilter) || [];\n\n\t\t\tconst payload = createPayload({\n\t\t\t\tfacet,\n\t\t\t\tsearchFilters: selectedFilterIds,\n\t\t\t\tsortOptions,\n\t\t\t\tsearchTerm: properties?.searchResultMetaData?.searchTerm, //  searchResultMetaData?.correctedSearchTerm\n\t\t\t\tisLoggedIn: properties.isLoggedIn\n\t\t\t});\n\t\t\tconst updatedPayload = { payload, actionType: 'sort' };\n\t\t\tupdateProperties({ sendingPayload: payload });\n\t\t\tupdateState({ fetchDataInProgress: true });\n\t\t\tdispatch('FILTER_APPLIED', updatedPayload);\n\t\t},\n\n\t\t['VIEW_MORE']: ({ action, dispatch, properties, updateProperties }) => {\n\t\t\tconst { paginationToken, sendingPayload } = properties;\n\t\t\tconst newPayload = {\n\t\t\t\t...sendingPayload,\n\t\t\t\tinputValues: {\n\t\t\t\t\t...sendingPayload.inputValues,\n\t\t\t\t\tpaginationToken: {\n\t\t\t\t\t\t...sendingPayload.inputValues?.paginationToken,\n\t\t\t\t\t\tvalue: paginationToken\n\t\t\t\t\t},\n\t\t\t\t\tsearchTerm: {\n\t\t\t\t\t\tvalue: properties?.searchResultMetaData?.searchTerm,\n\t\t\t\t\t\ttype: 'JSON_LITERAL'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tupdateProperties({\n\t\t\t\tsendingPayload: newPayload,\n\t\t\t\tfetchViewMoreInProgress: true\n\t\t\t});\n\t\t\tconst updatedPayload = { payload: newPayload, actionType: 'view_more' };\n\t\t\tdispatch('FILTER_APPLIED', updatedPayload);\n\t\t},\n\n\t\t['SN_SEARCH_FACETS#SELECTIONS_UPDATED']: ({\n\t\t\tstate,\n\t\t\tupdateState,\n\t\t\taction,\n\t\t\tproperties,\n\t\t\tdispatch,\n\t\t\tupdateProperties\n\t\t}) => {\n\t\t\tlet selectedFacets = JSON.parse(action.payload.selectedFilters || '[]');\n\t\t\tif (selectedFacets.length > 0) {\n\t\t\t\tselectedFacets = [selectedFacets.pop()];\n\t\t\t}\n\t\t\tconst sourceFilters = JSON.parse(action.payload.sourceFilters || '[]');\n\t\t\tconst payload = createPayload({\n\t\t\t\tfacet: selectedFacets,\n\t\t\t\tsearchFilters: sourceFilters, //.map(s => s.sysId),\n\t\t\t\tsortOptions: properties?.selectedSort,\n\t\t\t\tsearchTerm: properties?.searchResultMetaData?.searchTerm,\n\t\t\t\tisLoggedIn: properties.isLoggedIn\n\t\t\t});\n\n\t\t\t// Track SEARCH_REFINED event when filters are applied\n\t\t\tconst searchTerm = properties?.searchResultMetaData?.searchTerm;\n\t\t\tif (searchTerm) {\n\t\t\t\tconst searchContextConfigId = properties.isLoggedIn\n\t\t\t\t\t? SEARCH_CONFIG.searchContextConfigId\n\t\t\t\t\t: SEARCH_CONFIG.searchContextConfigId_public;\n\n\t\t\t\tsignalTracker.trackSearchRefined({\n\t\t\t\t\tsearchTerm,\n\t\t\t\t\tsearchContextConfigId\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tupdateProperties({ sendingPayload: payload });\n\t\t\tupdateState({\n\t\t\t\t...state,\n\t\t\t\tappliedFacetFilters: selectedFacets?.map(value => ({\n\t\t\t\t\tfacetFilter: value\n\t\t\t\t})),\n\t\t\t\tselectedFilterIds: sourceFilters,\n\t\t\t\tfetchDataInProgress: true\n\t\t\t});\n\n\t\t\tconst updatedPayload = { payload, actionType: 'facet' };\n\t\t\tdispatch('FILTER_APPLIED', updatedPayload);\n\t\t},\n\t\t['NOW_PILL#DISMISSED']: ({\n\t\t\taction,\n\t\t\tstate,\n\t\t\tupdateState,\n\t\t\tdispatch,\n\t\t\tproperties,\n\t\t\tupdateProperties\n\t\t}) => {\n\t\t\tconst { type, value } = action.payload;\n\t\t\tlet { appliedFacetFilters = [], selectedFilterIds = [] } = state;\n\n\t\t\tif (type === 'selected')\n\t\t\t\tappliedFacetFilters = appliedFacetFilters.filter(\n\t\t\t\t\titem => item.facetFilter !== value\n\t\t\t\t);\n\t\t\telse if (type === 'source')\n\t\t\t\tselectedFilterIds = selectedFilterIds.filter(item => item !== value);\n\n\t\t\tconst payload = createPayload({\n\t\t\t\tfacet: appliedFacetFilters?.map(item => item?.facetFilter) || [],\n\t\t\t\tsearchFilters: selectedFilterIds,\n\t\t\t\tsortOptions: properties.selectedSort,\n\t\t\t\tsearchTerm: properties?.searchResultMetaData?.searchTerm,\n\t\t\t\tisLoggedIn: properties.isLoggedIn\n\t\t\t});\n\n\t\t\t// Track SEARCH_REFINED event when filter is deselected/dismissed\n\t\t\tconst searchTerm = properties?.searchResultMetaData?.searchTerm;\n\t\t\tif (searchTerm) {\n\t\t\t\tconst searchContextConfigId = properties.isLoggedIn\n\t\t\t\t\t? SEARCH_CONFIG.searchContextConfigId\n\t\t\t\t\t: SEARCH_CONFIG.searchContextConfigId_public;\n\n\t\t\t\tsignalTracker.trackSearchRefined({\n\t\t\t\t\tsearchTerm,\n\t\t\t\t\tsearchContextConfigId\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tupdateProperties({ sendingPayload: payload });\n\t\t\tupdateState({\n\t\t\t\t...state,\n\t\t\t\tappliedFacetFilters,\n\t\t\t\tselectedFilterIds,\n\t\t\t\tfetchDataInProgress: true\n\t\t\t});\n\n\t\t\tconst updatedPayload = { payload, actionType: 'facet_dismiss' };\n\t\t\tdispatch('FILTER_APPLIED', updatedPayload);\n\t\t},\n\t\t['SN_SEARCH_TOP_RESULTS#TOP_RESULTS_ACTION_DELEGATED']: ({\n\t\t\taction: actionIn,\n\t\t\tdispatch,\n\t\t\tproperties\n\t\t}) => {\n\t\t\tconst { payload } = actionIn;\n\t\t\tconst { delegatedActionType, action, model } = payload || {};\n\t\t\tconst searchContextConfigId = properties.isLoggedIn\n\t\t\t\t? SEARCH_CONFIG.searchContextConfigId\n\t\t\t\t: SEARCH_CONFIG.searchContextConfigId_public;\n\n\t\t\tswitch (delegatedActionType) {\n\t\t\t\tcase 'feedback':\n\t\t\t\t\t// // Track positive feedback as GENIUS_RESULT_EVENT\n\t\t\t\t\tif (properties?.globalSearchTerm && properties?.geniusResult) {\n\t\t\t\t\t\tsignalTracker.trackGeniusResultFeedback({\n\t\t\t\t\t\t\tsearchContextConfigId,\n\t\t\t\t\t\t\tsearchTerm: properties?.globalSearchTerm,\n\t\t\t\t\t\t\tgeniusResultModel: model, // properties?.geniusResult,\n\t\t\t\t\t\t\tisPositive: action?.reason?.toLowerCase() === 'helpful',\n\t\t\t\t\t\t\tmatchedIntentsPerSource:\n\t\t\t\t\t\t\t\tproperties?.geniusResult?.matchedGeniusResultIntents || []\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'declarative_action':\n\t\t\t\t\tif (action?.actionDispatch === 'NAVIGATION') {\n\t\t\t\t\t\tconst { url, sys_id: sysId, table, title } =\n\t\t\t\t\t\t\taction?.actionPayload || {};\n\n\t\t\t\t\t\tif (table === 'dev_reference_content' || url?.startsWith('http://')||url?.startsWith('https://')) {\n\t\t\t\t\t\t\tdispatch('DPS_AI_SEARCH#NAVIGATION_SUCCEEDED', {\n\t\t\t\t\t\t\t\tresult: {\n\t\t\t\t\t\t\t\t\turl\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdispatch('DPS_AI_SEARCH#NAVIGATION_EXECUTED_UTIL', {\n\t\t\t\t\t\t\t\trecordUrl: url,\n\t\t\t\t\t\t\t\tsysId,\n\t\t\t\t\t\t\t\ttable\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (properties?.globalSearchTerm && model) {\n\t\t\t\t\t\t\t// Override model with citation document details from actionPayload\n\t\t\t\t\t\t\tconst citationModel = {\n\t\t\t\t\t\t\t\t...model,\n\t\t\t\t\t\t\t\tsys_id: sysId || model.sys_id,\n\t\t\t\t\t\t\t\ttable: table || model.table\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\tsignalTracker.trackGeniusResultCitation({\n\t\t\t\t\t\t\t\tsearchContextConfigId,\n\t\t\t\t\t\t\t\tsearchTerm: properties?.globalSearchTerm,\n\t\t\t\t\t\t\t\tgeniusResultModel: citationModel,\n\t\t\t\t\t\t\t\tcitationLabel: title || action?.label || table || '',\n\t\t\t\t\t\t\t\tcitationUrl: url || '',\n\t\t\t\t\t\t\t\tmatchedIntentsPerSource:\n\t\t\t\t\t\t\t\t\tproperties?.geniusResult?.matchedGeniusResultIntents || []\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\t[DISABLE_SPELL_CHECK]: ({ properties, dispatch, updateState }) => {\n\t\t\tdispatch('SN_CX_SEARCH_MODAL#SEARCH_EXECUTED', {\n\t\t\t\tsearchTerm: properties?.searchResultMetaData?.searchTerm,\n\t\t\t\tdisableSpellCheck: String(true)\n\t\t\t});\n\t\t},\n\t\t['AIS_STREAMING#SHOW_MORE']: ({ action, properties }) => {\n\t\t\tconst { geniusSearchResultEventDataForSignals } = properties;\n\t\t\tif (properties?.globalSearchTerm && geniusSearchResultEventDataForSignals) {\n\t\t\t\tconst searchContextConfigId = properties.isLoggedIn\n\t\t\t\t\t? SEARCH_CONFIG.searchContextConfigId\n\t\t\t\t\t: SEARCH_CONFIG.searchContextConfigId_public;\n\n\t\t\t\tsignalTracker.trackGeniusResultExpanded({\n\t\t\t\t\tsearchContextConfigId,\n\t\t\t\t\tsearchTerm: properties?.globalSearchTerm,\n\t\t\t\t\tgeniusResultModel: {\n\t\t\t\t\t\t...geniusSearchResultEventDataForSignals,\n\t\t\t\t\t\tsys_id: geniusSearchResultEventDataForSignals.resultSysId,\n\t\t\t\t\t\ttable: geniusSearchResultEventDataForSignals.sourceTable,\n\t\t\t\t\t\tmodel: geniusSearchResultEventDataForSignals.cardType,\n\t\t\t\t\t\t'columns.title': geniusSearchResultEventDataForSignals.labelDescription,\n\t\t\t\t\t\ttitle: geniusSearchResultEventDataForSignals.labelDescription\n\t\t\t\t\t},\n\t\t\t\t\tmatchedIntentsPerSource:\n\t\t\t\t\t\tgeniusSearchResultEventDataForSignals.matchedIntentsPerSource || []\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t['AIS_STREAMING#MESSAGE_RECEIVED']: ({\n\t\t\taction,\n\t\t\tproperties,\n\t\t\tstate,\n\t\t\tupdateProperties,\n\t\t\tupdateState\n\t\t}) => {\n\t\t\t// Handle genius message received and start engagement tracking\n\t\t\tconst geniusCard = document.querySelector('sn-search-top-results');\n\t\t\tgeniusMessageReceivedEffect({\n\t\t\t\tupdateProperties,\n\t\t\t\tupdateState,\n\t\t\t\teventPayload: action,\n\t\t\t\tgeniusCard,\n\t\t\t\tstate: { ...state, properties }\n\t\t\t});\n\t\t}\n\t},\n\tstyles\n});\n","import '../../components/dps-navigation-sidebar';\nimport '../../components/dps-spinner';\n\nconst DpsGuidesDetailNav = ({ menuData, selectedItem }) => {\n\t\n\tconst subMenu = menuData && menuData.subMenu;\n\treturn (\n\t\t<dps-navigation-sidebar\n\t\t\tmenuData={menuData}\n\t\t\tselectedItem={selectedItem}\n\t\t\tshow-spinner={!subMenu}\n\t\t/> \n\t);\n};\n\nexport default DpsGuidesDetailNav;\n\n\n","export const DPS_GUIDES_DETAIL_ACTIONS = {\n\tGET_CONTENT: 'DPS_GUIDES_DETAIL_ACTIONS#GET_CONTENT',\n\tGET_CONTENT_DATA_SUCCEEDED: 'DPS_GUIDES_DETAIL_ACTIONS#GET_CONTENT_DATA_SUCCEEDED',\n\tGET_CONTENT_DATA_FAILED: 'DPS_GUIDES_DETAIL_ACTIONS#GET_CONTENT_DATA_FAILED',\n\tGET_NAVIGATION_SIDEBAR : 'DPS_GUIDES_DETAIL_ACTIONS#GET_NAVIGATION_SIDEBAR',\n\tGET_NAVIGATION_SIDEBAR_SUCCEEDED: 'DPS_GUIDES_DETAIL_ACTIONS#GET_NAVIGATION_SIDEBAR_SUCCEEDED',\n\tGET_NAVIGATION_SIDEBAR_FAILED: 'DPS_GUIDES_DETAIL_ACTIONS#GET_NAVIGATION_SIDEBAR_FAILED',\n};\nexport default DPS_GUIDES_DETAIL_ACTIONS;","import { createPath } from '../../utils/url';\nimport '../../components/dps-template-two-column';\nimport '../../components/dps-breadcrumb';\nimport '../../components/dps-inline-version-selector';\nimport '../../components/dps-spinner';\nimport { wayfinder } from '../../components/dps-wayfinder';\nimport { CONSTANTS } from '../../constants';\nimport {\n\tgetPrintablePageUrl,\n\tprocessTitleWithSpecialChars\n} from '../../utils/helpers';\nimport { getFormattedInstanceReleaseInfo } from '../../utils/releaseHelpers';\nimport DpsGuidesDetailNav from './dps-guides-detail-nav';\nimport { processBlockQuoteTags, getFeedbackDisplayConfigurations } from '../../utils/helpers';\nimport { DPS_GUIDES_DETAIL_ACTIONS } from './actions';\nimport { printer } from '../../icons';\nimport '@servicenow/now-button';\n\n/*\n ** Helper function to create previous and next links\n */\nconst generateGuidePath = ({ category, identifier, release, type }) => {\n\tif (identifier) {\n\t\treturn createPath(`/guides/${release}/${category}/${type}/${identifier}`);\n\t}\n\treturn null;\n};\n\nconst _renderArticleLayout = ({\n\tid,\n\theader,\n\tarticle,\n\taside,\n\tstate: {\n\t\tsectionTitle,\n\t\tnext,\n\t\tprevious,\n\t\tproperties: { category, release, type, userInfo, systemProperties }\n\t}\n}) => {\n\tconst displayConfigurations = getFeedbackDisplayConfigurations(\n\t\tsystemProperties['dev.feedback.display_configurations']\n\t);\n\tconst showFeedbackSection =\n\t\t(displayConfigurations && displayConfigurations.showGuideFeedback) || false;\n\n\treturn (\n\t\t<section key={id} className=\"dps-guides-detail\">\n\t\t\t<header>{header}</header>\n\t\t\t<article>{article}</article>\n\t\t\t<aside>{aside}</aside>\n\t\t\t{previous || next || showFeedbackSection ? (\n\t\t\t\t<footer>\n\t\t\t\t\t<dps-prev-next-doc\n\t\t\t\t\t\tprev={\n\t\t\t\t\t\t\tprevious\n\t\t\t\t\t\t\t\t? { label: 'Previous', description: previous.title }\n\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t}\n\t\t\t\t\t\tnext={next ? { label: 'Next', description: next.title } : null}\n\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\tprevious: previous\n\t\t\t\t\t\t\t\t? generateGuidePath({\n\t\t\t\t\t\t\t\t\t\tcategory,\n\t\t\t\t\t\t\t\t\t\tidentifier: previous.main_dc_identifier,\n\t\t\t\t\t\t\t\t\t\trelease,\n\t\t\t\t\t\t\t\t\t\ttype\n\t\t\t\t\t\t\t\t  })\n\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\tnext: next\n\t\t\t\t\t\t\t\t? generateGuidePath({\n\t\t\t\t\t\t\t\t\t\tcategory,\n\t\t\t\t\t\t\t\t\t\tidentifier: next.main_dc_identifier,\n\t\t\t\t\t\t\t\t\t\trelease,\n\t\t\t\t\t\t\t\t\t\ttype\n\t\t\t\t\t\t\t\t  })\n\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t{showFeedbackSection ? (\n\t\t\t\t\t\t<div className=\"guide-feedback\">\n\t\t\t\t\t\t\t{userInfo.is_logged_in ? (\n\t\t\t\t\t\t\t\t<dps-feedback\n\t\t\t\t\t\t\t\t\ttitle={sectionTitle}\n\t\t\t\t\t\t\t\t\tcontentType={CONSTANTS.DEFAULTS.GUIDE_MODULE}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<dps-feedback\n\t\t\t\t\t\t\t\t\ttitle={sectionTitle}\n\t\t\t\t\t\t\t\t\tcontentType={CONSTANTS.DEFAULTS.GUIDE_MODULE}\n\t\t\t\t\t\t\t\t\tmessage={\n\t\t\t\t\t\t\t\t\t\tsystemProperties &&\n\t\t\t\t\t\t\t\t\t\tsystemProperties['dev.provide_feedback_text_guest_user']\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tlabel={CONSTANTS.DEFAULTS.FEEDBACK_SIGN_IN_BUTTON}\n\t\t\t\t\t\t\t\t\tisLoginRequired={!userInfo.is_logged_in}\n\t\t\t\t\t\t\t\t></dps-feedback>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : null}\n\t\t\t\t</footer>\n\t\t\t) : null}\n\t\t</section>\n\t);\n};\n\nconst _renderHeader = ({\n\tcategory,\n\tcolor,\n\tdescription,\n\timage,\n\tinstanceRelease,\n\totherReleases,\n\trelease,\n\ttitle,\n\tsystemProperties,\n\tpathname\n}) => (\n\t<div\n\t\tkey={title}\n\t\tclassName=\"dps-guides-detail-header\"\n\t\tstyle={{\n\t\t\tbackgroundImage: image ? `url(${image})` : '',\n\t\t\tbackgroundColor: color,\n\t\t\tbackgroundSize: 'contain'\n\t\t}}\n\t>\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t['dps-guides-detail-header-text-padding']: image ? true : false\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t['dps-guides-detail-inline-version-switcher-half-width']: image\n\t\t\t\t\t\t? true\n\t\t\t\t\t\t: false\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<dps-inline-version-selector\n\t\t\t\t\tselected={release}\n\t\t\t\t\treleases={otherReleases}\n\t\t\t\t\tinstanceRelease={instanceRelease}\n\t\t\t\t\tsourcePathname={pathname}\n\t\t\t\t\ttext-color=\"light\"\n\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<h6>{category}</h6>\n\t\t\t<h1>{processTitleWithSpecialChars(title) || title}</h1>\n\t\t\t<p>{description}</p>\n\t\t</div>\n\t</div>\n);\n\nconst _renderArticle = content => (\n\t<div className=\"dps-guides-detail-article\" innerHTML={content} />\n);\n\nconst view = (state, { dispatch }) => {\n\tconst {\n\t\tcategory,\n\t\tcolor,\n\t\tcontent,\n\t\tcontentId,\n\t\tdescription,\n\t\timage,\n\t\tproperties: {\n\t\t\tactiveScrollItem,\n\t\t\thash,\n\t\t\tinstanceInfo,\n\t\t\tpathname,\n\t\t\trelease,\n\t\t\tparent,\n\t\t\tmenuData,\n\t\t\tselectedItem,\n\t\t\tsystemProperties\n\t\t},\n\t\totherReleases,\n\t\ttitle,\n\t\twayfinderSections\n\t} = state;\n\n\tconst instanceRelease = getFormattedInstanceReleaseInfo(instanceInfo);\n\n\tconst header = _renderHeader({\n\t\tcategory,\n\t\tcolor,\n\t\tdescription,\n\t\timage,\n\t\tinstanceRelease,\n\t\totherReleases,\n\t\trelease,\n\t\ttitle,\n\t\tsystemProperties,\n\t\tpathname\n\t});\n\n\tconst processedContent = processBlockQuoteTags(content);\n\n\tconst aside = (\n\t\t<div className=\"dps-guides-detail-sidebar\">\n\t\t\t<now-button\n\t\t\t\tclassName=\"guide-print-button\"\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tsize=\"md\"\n\t\t\t\tslot=\"cta\"\n\t\t\t\tlabel=\"Print guide\"\n\t\t\t\ticon=\"printer-outline\"\n\t\t\t\ttooltip-content={''}\n\t\t\t\ton-click={() => window.open(getPrintablePageUrl(\n\t\t\t\t\trelease,\n\t\t\t\t\tstate.properties.category,\n\t\t\t\t\tparent,\n\t\t\t\t\tCONSTANTS.DEFAULTS.GUIDE_MODULE\n\t\t\t\t), '_blank')}\n\t\t\t/>\n\t\t\t{wayfinder(wayfinderSections, activeScrollItem)}\n\t\t</div>);\n\n\treturn (\n\t\t<div>\n\t\t\t<dps-breadcrumb\n\t\t\t\titems={[\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Guides',\n\t\t\t\t\t\tredirectURL: '/guides'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: title,\n\t\t\t\t\t\tredirectURL: ''\n\t\t\t\t\t}\n\t\t\t\t]}\n\t\t\t/>\n\t\t\t<dps-template-two-column open={true} full-width-content guide-side-nav>\n\t\t\t\t<section className=\"sidenav -guide-details\" slot=\"sidebar\">\n\t\t\t\t\t<DpsGuidesDetailNav menuData={menuData} selectedItem={selectedItem} />\n\t\t\t\t</section>\n\t\t\t\t<section>\n\t\t\t\t\t{contentId !== pathname || !processedContent ? (\n\t\t\t\t\t\t<dps-spinner />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t_renderArticleLayout({\n\t\t\t\t\t\t\tid: pathname,\n\t\t\t\t\t\t\theader,\n\t\t\t\t\t\t\tarticle: _renderArticle(processedContent),\n\t\t\t\t\t\t\taside,\n\t\t\t\t\t\t\tstate\n\t\t\t\t\t\t})\n\t\t\t\t\t)}\n\t\t\t\t</section>\n\t\t\t</dps-template-two-column>\n\t\t</div>\n\t);\n};\n\nexport default view;\n","const initialState = {\n\tcategory: '',\n\tcolor: '#546566',\n\tcontent: '',\n\tcontentId: null,\n\tcontentReleases: {},\n\tdescription: '',\n\timage: null,\n\ttitle: '',\n\tsectionTitle: '',\n\twayfinderSections: []\n};\n\nexport default initialState;\n","//\tRoute props\n//\t#!/guide\t/:release\t/:category\t\t/:type\t\t\t\t/:parent?\t\t\t/:child?\n\n//\tTesting example\n//\t#!/guide\t/orlando\t/now-platform\t/citizen-dev-guide\t/cd-introduction\t/null\n\nconst properties = {\n\tactiveScrollItem: {\n\t\tdefault: null,\n\t\tschema: {\n\t\t\ttype: 'string'\n\t\t}\n\t},\n\tcategory: {\n\t\tdefault: null\n\t},\n\tchild: {\n\t\tdefault: null\n\t},\n\thash: {\n\t\tdefault: ''\n\t},\n\tinstanceInfo: {\n\t\tdefault: {}\n\t},\n\tparent: {\n\t\tdefault: null\n\t},\n\tpathname: {\n\t\tdefault: null\n\t},\n\trelease: {\n\t\tdefault: '',\n\t\trequired: true,\n\t\tschema: {\n\t\t\ttype: 'string'\n\t\t}\n\t},\n\ttype: {\n\t\tdefault: null\n\t},\n\tuserInfo: {\n\t\tdefault: {}\n\t},\n\tsystemProperties: {\n\t\tdefault: {}\n\t},\n\tmenuData: {\n\t\tdefault: {}\n\t},\n\tselectedItem: {\n\t\tdefault: ''\n\t},\n\t/**\n\t** Used to create redirection url,\n\tcalled in releaseInactive\n\t**/\n\trouteString: {\n\t\tdefault: ''\n\t},\n\t/**\n\t** Redirects user to active release\n\t**/\n\tredirectedFromInactiveRelease: {\n\t\tdefault: false\n\t}\n};\n\nexport default properties;\n","import { actionTypes } from '@servicenow/ui-core';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { titleCase, dashCase } from '../../../utils/case';\nimport { processPreTags } from '../../../utils/helpers';\nimport { DPS_ERROR_ACTIONS, CONSTANTS } from '../../../constants';\nimport { SCROLL_SPY_ACTIONS } from '../../../behaviors/scrollSpy';\nimport { DPS_PREV_NEXT_DOC_ACTIONS } from '../../../components/dps-prev-next-doc/actions';\nimport { DPS_GUIDES_DETAIL_ACTIONS } from '../actions';\nimport { parseNavData, removeSpaceInRelease } from '../../dps-guides-overview/actionHelpers';\nimport { createAnchor, replaceLatest } from '../../../utils/url';\nimport { updateRoute } from '../../../routes';\nimport { addDPSLink } from '../../../utils/helpers';\nimport { releaseInactive } from '../../../utils/releaseHelpers';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\nconst GUIDE_DETAILED_NAV = 'Guide-Detailed-Nav';\n\nconst convertSectionsToWayfinder = sections => {\n\ttry {\n\t\tlet wayfinder = JSON.parse(sections);\n\t\twayfinder = wayfinder.map(section => ({\n\t\t\tlabel: section,\n\t\t\tid: `#${dashCase(section)}`\n\t\t}));\n\t\treturn wayfinder;\n\t} catch (e) {\n\t\treturn [];\n\t}\n};\n\nconst processSubMenu = (subMenu, release) => {\n\tsubMenu.forEach(element => {\n\t\telement.id = element.main_dc_identifier;\n\t\telement.href = `#!/guides/${release}/${element.guideCategory}/${element.parent}/${element.main_dc_identifier}`;\n\t});\n\treturn subMenu;\n};\n\nconst showOverviewNavMenu = (id, systemProperties) => {\n\tconst nowPlatformGuidesDCIDs =\n\t\tsystemProperties &&\n\t\tsystemProperties['dev.guides.show_overview_nav.dc_identifiers'] &&\n\t\tsystemProperties['dev.guides.show_overview_nav.dc_identifiers'].split(',');\n\treturn (\n\t\tnowPlatformGuidesDCIDs &&\n\t\tnowPlatformGuidesDCIDs.find(\n\t\t\tregex => id && id.indexOf(regex && regex.trim()) > -1\n\t\t)\n\t);\n};\n\nexport default {\n\t// eslint-disable-next-line object-shorthand\n\t[COMPONENT_BOOTSTRAPPED]: ({ action, dispatch, properties, updateProperties }) => {\n\t\tconst { release, category, parent, type, systemProperties } = properties;\n\t\tconst inactiveResult = releaseInactive(properties);\n\n\t\t// check if release is inactive\n\t\tif (inactiveResult) {\n\t\t\tupdateProperties({\n\t\t\t\tredirectedFromInactiveRelease: true\n\t\t\t});\n\t\t\treturn updateRoute(inactiveResult);\n\t\t}\n\n\t\tdispatch(DPS_GUIDES_DETAIL_ACTIONS.GET_NAVIGATION_SIDEBAR, {\n\t\t\trelease,\n\t\t\tidentifier: showOverviewNavMenu(type, systemProperties) ? null : type,\n\t\t\tnavMenuType: GUIDE_DETAILED_NAV\n\t\t});\n\t\tdispatch(DPS_GUIDES_DETAIL_ACTIONS.GET_CONTENT, {\n\t\t\trelease,\n\t\t\tcategory,\n\t\t\tidentifier: parent,\n\t\t});\n\n\t\tif (properties.hash !== '') {\n\t\t\tupdateProperties({\n\t\t\t\tactiveScrollItem: properties.hash\n\t\t\t});\n\t\t}\n\t},\n\t// eslint-disable-next-line object-shorthand\n\t[COMPONENT_PROPERTY_CHANGED]: ({ action, dispatch, properties, updateProperties }) => {\n\t\tconst { release, category, parent, type, systemProperties } = properties;\n\t\tconst inactiveResult = releaseInactive(properties);\n\n\t\t// check if release is inactive\n\t\tif (inactiveResult) {\n\t\t\tupdateProperties({\n\t\t\t\tredirectedFromInactiveRelease: true\n\t\t\t});\n\t\t\treturn updateRoute(inactiveResult);\n\t\t}\n\n\t\tif (action.payload.name === 'hash') {\n\t\t\tupdateProperties({ activeScrollItem: action.payload.value });\n\t\t}\n\n\t\tif (action.payload.name === 'pathname') {\n\t\t\tdispatch(DPS_GUIDES_DETAIL_ACTIONS.GET_NAVIGATION_SIDEBAR, {\n\t\t\t\trelease,\n\t\t\t\tidentifier: showOverviewNavMenu(type, systemProperties) ? null : type,\n\t\t\t\tnavMenuType: GUIDE_DETAILED_NAV\n\t\t\t});\n\t\t\tdispatch(DPS_GUIDES_DETAIL_ACTIONS.GET_CONTENT, {\n\t\t\t\trelease,\n\t\t\t\tcategory,\n\t\t\t\tidentifier: parent\n\t\t\t});\n\t\t\tupdateProperties({\n\t\t\t\tselectedItem: parent\n\t\t\t});\n\t\t}\n\t},\n\t[DPS_GUIDES_DETAIL_ACTIONS.GET_NAVIGATION_SIDEBAR]: createHttpEffect(\n\t\tCONSTANTS.ENDPOINTS.GET_GUIDE_OVERVIEW_PAGE_NAV_MENU,\n\t\t{\n\t\t\tmethod: 'GET',\n\t\t\tpathParams: ['release'],\n\t\t\tqueryParams: ['identifier', 'navMenuType'],\n\t\t\tbatch: false,\n\t\t\tsuccessActionType: DPS_GUIDES_DETAIL_ACTIONS.GET_NAVIGATION_SIDEBAR_SUCCEEDED,\n\t\t}\n\t),\n\t[DPS_GUIDES_DETAIL_ACTIONS.GET_CONTENT]: createHttpEffect(\n\t\t'/api/snc/v1/guides/:release/:category/:identifier',\n\t\t{\n\t\t\tmethod: 'GET',\n\t\t\tpathParams: ['release', 'category', 'identifier'],\n\t\t\tbatch: false,\n\t\t\tsuccessActionType: DPS_GUIDES_DETAIL_ACTIONS.GET_CONTENT_DATA_SUCCEEDED,\n\t\t\terrorActionType: DPS_GUIDES_DETAIL_ACTIONS.GET_CONTENT_DATA_FAILED\n\t\t}\n\t),\n\t[DPS_GUIDES_DETAIL_ACTIONS.GET_CONTENT_DATA_SUCCEEDED]: ({ action, properties, updateState, updateProperties }) => {\n\t\tconst { result } = action.payload;\n\t\tconst { parent: selectedItem, release, type, systemProperties } = properties;\n\t\tconst selectItem = showOverviewNavMenu(type, systemProperties) ?\n\t\t\ttype\n\t\t\t: selectedItem;\n\n\t\t//Processing pre tags in the text\n\t\tconst content = processPreTags(result.kb_text);\n\t\tlet textContent = '';\n\t\tif (properties.pathname === `/guides/${release}/now-platform/now-platform-guide/now-platform-guide-intro`) {\n\t\t\ttextContent = addDPSLink(result.kb_text, release, properties.category);\n\t\t}\n\t\tupdateProperties({ selectedItem: selectItem });\n\t\tif (release === 'latest') {\n\t\t\treplaceLatest(result.release);\n\t\t}\n\n\t\tupdateState({\n\t\t\tcategory: `${titleCase(result.category)} Guides`,\n\t\t\tcolor: result.parent_color,\n\t\t\tcontent: textContent || content,\n\t\t\tcontentId: properties.pathname,\n\t\t\tdescription: result.parent_description,\n\t\t\tfetchingContent: false,\n\t\t\timage: result.parent_image,\n\t\t\tnext: result.next,\n\t\t\totherReleases: result.other_releases,\n\t\t\tprevious: result.previous,\n\t\t\ttitle: result.parent_title,\n\t\t\tsectionTitle: result.title,\n\t\t\twayfinderSections: convertSectionsToWayfinder(result.sections)\n\t\t});\n\t},\n\t[DPS_GUIDES_DETAIL_ACTIONS.GET_CONTENT_DATA_FAILED]: ({ dispatch, action }) => {\n\t\tif (action.payload && action.payload.data.result && action.payload.data.result.data) {\n\t\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND, { otherReleases: action.payload.data.result.data.other_releases, contentTitle: action.payload.data.result.data.content_title, isContentNotFoundForCurrentRelease: true });\n\t\t}\n\t\telse {\n\t\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND);\n\t\t}\n\t},\n\t[SCROLL_SPY_ACTIONS.TARGET_ACTIVATED]: ({ action, properties, updateProperties }) => {\n\t\tconst { hash } = properties;\n\t\tconst activeScrollItem = `#${action.payload.id}`;\n\n\t\tupdateProperties({ activeScrollItem });\n\t\t// modify the hash to allow for clicking back on the item in the wayfinder\n\t\tif (hash !== '' && !hash.match(/#(.+)\\-$/) && activeScrollItem !== hash) {\n\t\t\twindow.location.hash = createAnchor(`${hash}-`);\n\t\t}\n\t},\n\t// eslint-disable-next-line object-shorthand\n\t[DPS_PREV_NEXT_DOC_ACTIONS.PREV_CLICKED]: ({ action }) => {\n\t\tconst { previous } = action.payload;\n\t\tupdateRoute(previous);\n\t},\n\t// eslint-disable-next-line object-shorthand\n\t[DPS_PREV_NEXT_DOC_ACTIONS.NEXT_CLICKED]: ({ action }) => {\n\t\tconst { next } = action.payload;\n\t\tupdateRoute(next);\n\t},\n\t[DPS_GUIDES_DETAIL_ACTIONS.GET_NAVIGATION_SIDEBAR_SUCCEEDED]({ action, updateProperties, properties }) {\n\t\tconst { parent: selectedItem, release, type, systemProperties } = properties;\n\t\tconst { result } = action.payload;\n\t\tconst content = result && result.content;\n\t\tconst releaseVar = removeSpaceInRelease(release);\n\t\tlet menuData;\n\t\tif (showOverviewNavMenu(type, systemProperties)) {\n\t\t\tmenuData = parseNavData(result, releaseVar);\n\t\t} else {\n\t\t\tconst subMenu = processSubMenu(content[0].subMenu, release, updateProperties);\n\t\t\tconst title = content[0].navTitle;\n\t\t\tmenuData = {\n\t\t\t\ttitle,\n\t\t\t\tsubMenu\n\t\t\t};\n\t\t}\n\t\tconst selectItem = showOverviewNavMenu(type, systemProperties) ?\n\t\t\ttype\n\t\t\t: selectedItem;\n\n\t\tupdateProperties({\n\t\t\tmenuData,\n\t\t\tselectedItem: selectItem\n\t\t});\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport view from './view';\nimport initialState from './initialState';\nimport properties from './properties';\nimport actions from './actions';\nimport actionHandlers from './actionHandlers/index';\nimport styles from './dps-guides-detail.scss';\nimport reactToHash from '../../behaviors/reactToHash';\nimport scrollSpyBehavior, { SCROLL_SPY_ACTIONS } from '../../behaviors/scrollSpy';\n\nexport default createCustomElement('dps-guides-detail', {\n\trenderer: { type: snabbdom },\n\tview,\n\tinitialState,\n\tproperties,\n\tactions,\n\tactionHandlers,\n\tstyles,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: reactToHash,\n\t\t\toptions: {\n\t\t\t\tadditionalOffset: -120,\n\t\t\t\tdelay: 2000,\n\t\t\t\tuseOffset: true \n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tbehavior: scrollSpyBehavior,\n\t\t\toptions: {\n\t\t\t\t// eslint-disable-next-line object-shorthand\n\t\t\t\trootMargin: () => {\n\t\t\t\t\tconst winH = window.innerHeight;\n\t\t\t\t\tconst topOffset = '-130px';\n\t\t\t\t\tconst bottomOffset = winH * 0.6 < 100 ? '-140px' : '-60%';\n\t\t\t\t\treturn `${topOffset} 0px ${bottomOffset}`;\n\t\t\t\t},\n\t\t\t\ttargetSelector: 'h2,h3',\n\t\t\t\tthreshold: 1\n\t\t\t}\n\t\t}\n\t]\n});\n","export const DPS_DESIGN_LAYOUT_DC_IDENTIFIER_PREFIX = 'nds';\n\nexport const DPS_DESIGN_LAYOUT_API = {\n\tGET_CONTENT_DATA: '/api/snc/v1/dev/kb_article/:dcIdentifier'\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { DPS_ERROR_ACTIONS, ERROR_CODES } from '../../constants';\nimport { DPS_DESIGN_LAYOUT_API } from './dps-design-layout-constants';\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\nimport { SCROLL_SPY_ACTIONS } from '../../behaviors/scrollSpy';\nimport { titleCase, dashCase } from '../../utils/case';\nimport { redirectToAuth } from '../../utils/helpers';\nimport { releaseInactive } from '../../utils/releaseHelpers';\nimport { updateRoute } from '../../routes';\nimport { replaceLatest } from '../../utils/url';\n\nconst GET_CONTENT_DATA = 'DPS_DESIGN_LAYOUT#GET_CONTENT_DATA';\nconst GET_CONTENT_DATA_FAILED = 'DPS_DESIGN_LAYOUT#GET_CONTENT_DATA_FAILED';\nconst GET_CONTENT_DATA_REQUEST = 'DPS_DESIGN_LAYOUT#GET_CONTENT_DATA_REQUEST';\nconst GET_CONTENT_DATA_SUCCESS = 'DPS_DESIGN_LAYOUT#GET_CONTENT_DATA_SUCCESS';\nconst UPDATE_CURRENT_SECTION = 'DPS_DESIGN_LAYOUT#UPDATE_CURRENT_SECTION';\n\nexport const DPS_DESIGN_LAYOUT_ACTIONS = {\n\tGET_CONTENT_DATA,\n\tGET_CONTENT_DATA_FAILED,\n\tGET_CONTENT_DATA_SUCCESS,\n\tGET_CONTENT_DATA_REQUEST,\n\tUPDATE_CURRENT_SECTION\n};\n\nconst handleComponentBootstrapped = ({\n\tdispatch,\n\tproperties,\n\tupdateProperties\n}) => {\n\tconst { dcIdentifier } = properties;\n\tconst inactiveResult = releaseInactive(properties);\n\n\tif(inactiveResult) {\n\t\tupdateProperties({\n\t\t\tredirectedFromInactiveRelease: true\n\t\t});\n\t\treturn updateRoute(inactiveResult);\n\t}\n\n\tdispatch(GET_CONTENT_DATA, {\n\t\tdcIdentifier\n\t});\n};\n\nconst handleComponentPropertyChanged = ({\n\tdispatch,\n\taction: {\n\t\tpayload: { name }\n\t},\n\tproperties,\n\tupdateProperties\n}) => {\n\tconst { dcIdentifier } = properties;\n\tconst inactiveResult = releaseInactive(properties);\n\n\tif(inactiveResult) {\n\t\tupdateProperties({\n\t\t\tredirectedFromInactiveRelease: true\n\t\t});\n\t\treturn updateRoute(inactiveResult);\n\t}\n\n\tif (name === 'pathname') {\n\t\tdispatch(GET_CONTENT_DATA, {\n\t\t\tdcIdentifier\n\t\t});\n\t}\n};\n\nconst handleGetContent = ({\n\taction: {\n\t\tpayload: { dcIdentifier }\n\t},\n\tdispatch,\n\tupdateProperties\n}) => {\n\tupdateProperties({\n\t\tcontentData: '',\n\t\tcurrentSectionIndex: 0,\n\t\tisFetchingContent: true,\n\t\tsections: []\n\t});\n\n\tdispatch(GET_CONTENT_DATA_REQUEST, {\n\t\tdcIdentifier\n\t});\n};\n\nconst handleGetContentFailed = ({\n\taction: {\n\t\tpayload: { data, status }\n\t},\n\tupdateProperties,\n\tdispatch\n}) => {\n\tconst errorMsg = data && data.error.message;\n\tupdateProperties({\n\t\tcontentData: errorMsg\n\t});\n\n\tif (status === ERROR_CODES.UNAUTHORIZED) {\n\t\tredirectToAuth(location.href);\n\t} else {\n\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND);\n\t}\n};\n\nconst handleGetContentRequest = createHttpEffect(\n\tDPS_DESIGN_LAYOUT_API.GET_CONTENT_DATA,\n\t{\n\t\tmethod: 'GET',\n\t\tpathParams: ['dcIdentifier'],\n\t\tbatch: false,\n\t\tsuccessActionType: GET_CONTENT_DATA_SUCCESS,\n\t\terrorActionType: GET_CONTENT_DATA_FAILED\n\t}\n);\n\nconst handleGetContentSuccess = coeffects => {\n\tconst {\n\t\taction,\n\t\tdispatch,\n\t\tproperties: { hash, pendingNavItems, release, dcIdentifier },\n\t\tupdateProperties\n\t} = coeffects;\n\tconst {\n\t\tpayload: { result }\n\t} = action;\n\n\tif (result) {\n\t\tconst { other_releases: otherReleases, short_description, title, u_plain_text, u_sections, newRelease } = result;\n\t\tlet sections = [];\n\n\t\tif (release === 'latest') {\n\t\t\treplaceLatest(newRelease);\n\t\t}\n\n\t\tif (u_sections) {\n\t\t\tsections = [\n\t\t\t\t{\n\t\t\t\t\tid: 'introduction',\n\t\t\t\t\tlabel: 'Introduction'\n\t\t\t\t},\n\t\t\t\t...JSON.parse(u_sections).map(section => ({\n\t\t\t\t\tlabel: titleCase(section),\n\t\t\t\t\tid: dashCase(section, { stripAdjacentDashes: false })\n\t\t\t\t}))\n\t\t\t];\n\t\t}\n\n\t\tupdateProperties({\n\t\t\tcontentData: u_plain_text,\n\t\t\tisFetchingContent: false,\n\t\t\totherReleases,\n\t\t\tsections,\n\t\t\tshortDescription: short_description,\n\t\t\ttitle,\n\t\t\tnavItems: pendingNavItems // set navItems when the content is successfully fetched\n\t\t});\n\n\t\tif (hash) {\n\t\t\tdispatch(UPDATE_CURRENT_SECTION, {\n\t\t\t\tid: hash,\n\t\t\t\tsections\n\t\t\t});\n\t\t}\n\t} else {\n\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND);\n\t}\n};\n\nconst handleScrollSpyActionsTargetActivated = ({\n\taction: { payload },\n\tdispatch\n}) => {\n\tdispatch(UPDATE_CURRENT_SECTION, {\n\t\tid: payload.id\n\t});\n};\n\nconst handleUpdateCurrentSection = ({\n\taction: { payload },\n\tproperties,\n\tupdateProperties\n}) => {\n\tconst sections = payload.sections || properties.sections;\n\tconst currentSectionIndex = sections.findIndex(\n\t\tsection => section.id === payload.id\n\t);\n\n\tif (currentSectionIndex !== -1) {\n\t\tupdateProperties({\n\t\t\tselectedSection: payload.id,\n\t\t\tcurrentSectionIndex\n\t\t});\n\t}\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: handleComponentBootstrapped,\n\t[COMPONENT_PROPERTY_CHANGED]: handleComponentPropertyChanged,\n\t[GET_CONTENT_DATA]: handleGetContent,\n\t[GET_CONTENT_DATA_FAILED]: handleGetContentFailed,\n\t[GET_CONTENT_DATA_SUCCESS]: handleGetContentSuccess,\n\t[GET_CONTENT_DATA_REQUEST]: handleGetContentRequest,\n\t[SCROLL_SPY_ACTIONS.TARGET_ACTIVATED]: handleScrollSpyActionsTargetActivated,\n\t[UPDATE_CURRENT_SECTION]: handleUpdateCurrentSection\n};\n","import { DPS_DESIGN_LAYOUT_DC_IDENTIFIER_PREFIX } from './dps-design-layout-constants';\n\nconst properties =  {\n\t/**\n   * Article ID from route\n   */\n\tarticleId: {\n\t\tdefault: null\n\t},\n\n\t/**\n   * Article category from route\n   */\n\tcategory: {\n\t\tdefault: null\n\t},\n\n\t/**\n   * Content Data\n   *\n   * Content retrieved from the server\n   *\n   * @type String\n   */\n\tcontentData: {\n\t\tdefault: ''\n\t},\n\n\tcurrentSectionIndex: {\n\t\tdefault: 0\n\t},\n\n\tdcIdentifier: {\n\t\tcomputed({ properties: { articleId, category, release }}) {\n\t\t\treturn `${DPS_DESIGN_LAYOUT_DC_IDENTIFIER_PREFIX}_${release}_${category}_${articleId}`;\n\t\t}\n\t},\n\n\texpandedNavItems: {\n\t\tcomputed: ({ properties: { category, articleId } }) => [category, articleId]\n\t},\n\n\thash: {\n\t\tdefault: null\n\t},\n\n\tinstanceInfo: {\n\t\tdefault: {}\n\t},\n\n\totherReleases: {\n\t\tdefault: []\n\t},\n\n\t/**\n   * Navigation Items for sidebar menu\n   *\n   * @type Array<Object>\n   */\n\tnavItems: {\n\t\tdefault: []\n\t},\n\t/**\n   * Pending navItems.\n   * We don't want to populate navItem until content is fetched\n   * This prevents the sidebar from rendering before\n   * content is fetched.\n   *\n   * @type Array<Object>\n   */\n\tpendingNavItems: {\n\t\tcomputed({ properties: { release }}) {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tid: 'guidelines',\n\t\t\t\t\tlabel: 'Guidelines',\n\t\t\t\t\thref: null,\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'design-principles',\n\t\t\t\t\t\t\tlabel: 'Design Principles',\n\t\t\t\t\t\t\thref: `#!/design/${release}/guidelines/design-principles`\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'spacing',\n\t\t\t\t\t\t\tlabel: 'Spacing',\n\t\t\t\t\t\t\thref: `#!/design/${release}/guidelines/spacing`\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'grids-layouts',\n\t\t\t\t\t\t\tlabel: 'Grids & Layouts',\n\t\t\t\t\t\t\thref: `#!/design/${release}/guidelines/grids-layouts`\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'color',\n\t\t\t\t\t\t\tlabel: 'Color',\n\t\t\t\t\t\t\thref: `#!/design/${release}/guidelines/color`\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'iconography',\n\t\t\t\t\t\t\tlabel: 'Iconography',\n\t\t\t\t\t\t\thref: `#!/design/${release}/guidelines/iconography`\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'mobile-mindset',\n\t\t\t\t\t\t\tlabel: 'Mobile Mindset',\n\t\t\t\t\t\t\thref: `#!/design/${release}/guidelines/mobile-mindset`\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'typography',\n\t\t\t\t\t\t\tlabel: 'Typography',\n\t\t\t\t\t\t\thref: `#!/design/${release}/guidelines/typography`\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'data-visualization',\n\t\t\t\t\t\t\tlabel: 'Data Visualization',\n\t\t\t\t\t\t\thref: `#!/design/${release}/guidelines/data-visualization`\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'modular-framework',\n\t\t\t\t\tlabel: 'Modular Framework',\n\t\t\t\t\thref: null,\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'modular-workspaces',\n\t\t\t\t\t\t\tlabel: 'Modular Workspaces',\n\t\t\t\t\t\t\thref: `#!/design/${release}/modular-framework/modular-workspaces`\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'architecture',\n\t\t\t\t\t\t\tlabel: 'Architecture',\n\t\t\t\t\t\t\thref: `#!/design/${release}/modular-framework/architecture`\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'modules',\n\t\t\t\t\t\t\tlabel: 'Modules',\n\t\t\t\t\t\t\thref: `#!/design/${release}/modular-framework/modules`\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'tab-navigation',\n\t\t\t\t\t\t\tlabel: 'Tab Navigation',\n\t\t\t\t\t\t\thref: `#!/design/${release}/modular-framework/tab-navigation`\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'single-page-navigation',\n\t\t\t\t\t\t\tlabel: 'Single Page Navigation',\n\t\t\t\t\t\t\thref: `#!/design/${release}/modular-framework/single-page-navigation`\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'deep-link',\n\t\t\t\t\t\t\tlabel: 'Deep Link',\n\t\t\t\t\t\t\thref: `#!/design/${release}/modular-framework/deep-link`\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'drill-down',\n\t\t\t\t\t\t\tlabel: 'Drill Down',\n\t\t\t\t\t\t\thref: `#!/design/${release}/modular-framework/drill-down`\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'accessibility',\n\t\t\t\t\tlabel: 'Accessibility',\n\t\t\t\t\thref: null,\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'overview',\n\t\t\t\t\t\t\tlabel: 'Overview',\n\t\t\t\t\t\t\thref: `#!/design/${release}/accessibility/overview`\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'usability',\n\t\t\t\t\t\t\tlabel: 'Usability',\n\t\t\t\t\t\t\thref: `#!/design/${release}/accessibility/usability`\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'wcag-standard',\n\t\t\t\t\t\t\tlabel: 'WCAG Standard',\n\t\t\t\t\t\t\thref: `#!/design/${release}/accessibility/wcag-standard`\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'your-responsibilities',\n\t\t\t\t\t\t\tlabel: 'Your Responsibilities',\n\t\t\t\t\t\t\thref: `#!/design/${release}/accessibility/your-responsibilities`\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'aria',\n\t\t\t\t\t\t\tlabel: 'ARIA',\n\t\t\t\t\t\t\thref: `#!/design/${release}/accessibility/aria`\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'designer-toolkit',\n\t\t\t\t\t\t\tlabel: 'Designer Toolkit',\n\t\t\t\t\t\t\thref: `#!/design/${release}/accessibility/designer-toolkit`\n\t\t\t\t\t\t},\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t];\n\t\t}\n\t},\n\n\t/**\n   * Is Fetching Content\n   *\n   * @type Boolean\n   */\n\tisFetchingContent: {\n\t\tdefault: false\n\t},\n\n\t/**\n   * The full pathname\n   *\n   * @type String\n   */\n\tpathname: {\n\t\tdefault: null\n\t},\n\n\t/**\n   * Release\n   *\n   * @type String\n   */\n\trelease: {\n\t\tdefault: '',\n\t\trequired: true,\n\t\tschema: {\n\t\t\ttype: 'string'\n\t\t}\n\t},\n\n\t/**\n   * Release Info\n   *\n   * @type Object\n   */\n\treleaseInfo: {\n\t\tdefault: {}\n\t},\n\n\tselectedItem: {\n\t\tcomputed: ({ properties: { category, articleId } }) => [articleId, category].filter(item => item)[0]\n\t},\n\n\tselectedSection: {\n\t\tdefault: null\n\t},\n\n\tsections: {\n\t\tdefault: []\n\t},\n\n\tshortDescription: {\n\t\tdefault: null\n\t},\n\n\t/**\n   * System Properties\n   *\n   * @type Object\n   */\n\tsystemProperties: {\n\t\tdefault: {}\n\t},\n\n\t/**\n   * User Info\n   *\n   * @type Object\n   */\n\tuserInfo: {\n\t\tdefault: {}\n\t}\n};\n\nexport default properties;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-design-layout.scss';\nimport '../../components/dps-template-two-column/index';\nimport '../../components/dps-sidebar-nav';\nimport '../../components/dps-spinner';\nimport '../../components/dps-sticky-nav';\nimport '../../components/dps-badge';\n\nimport { actionHandlers } from './dps-design-layout-actionHandler';\nimport marked from '../../utils/marked-with-hljs';\nimport hljs from '../../utils/hljs-pack';\nimport reactToHash from '../../behaviors/reactToHash';\nimport scrollSpyBehavior from '../../behaviors/scrollSpy';\nimport { isEmployee } from '../../utils/helpers';\nimport { getFormattedInstanceReleaseInfo } from '../../utils/releaseHelpers';\nimport properties from './properties';\n\nconst DpsDesignLayout = state => {\n\tconst {\n\t\tproperties: {\n\t\t\tarticleId,\n\t\t\tcategory,\n\t\t\tcontentData,\n\t\t\tcurrentSectionIndex,\n\t\t\tinstanceInfo,\n\t\t\tisFetchingContent,\n\t\t\tnavItems,\n\t\t\totherReleases,\n\t\t\trelease,\n\t\t\tpathname,\n\t\t\treleaseInfo,\n\t\t\tsections,\n\t\t\tselectedItem,\n\t\t\tsystemProperties,\n\t\t\tuserInfo\n\t\t}\n\t} = state;\n\tconst instanceRelease = getFormattedInstanceReleaseInfo(instanceInfo);\n\tconst highlightCode = elm => elm.querySelectorAll('pre code').forEach(block => {\n\t\thljs.highlightBlock(block);\n\t});\n\n\treturn (\n\t\t<dps-template-two-column open>\n\t\t\t<dps-sidebar-nav\n\t\t\t\troute-items={[[category], [category, articleId]]}\n\t\t\t\tnav-items={navItems}\n\t\t\t\tshow-filter={false}\n\t\t\t\tshow-heading={true}\n\t\t\t\tshow-spinner={!navItems.length}\n\t\t\t\tslot=\"sidebar\"\n\t\t\t\tselected-item={selectedItem}\n\t\t\t/>\n\t\t\t<dps-version-switcher\n\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\trouteParamsRelease={release}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tuserInfo={userInfo}\n\t\t\t></dps-version-switcher>\n\t\t\t{isFetchingContent ? (\n\t\t\t\t<dps-spinner />\n\t\t\t) : (\n\t\t\t\t<Fragment>\n\t\t\t\t\t{sections.length ? (\n\t\t\t\t\t\t<dps-sticky-nav\n\t\t\t\t\t\t\tsections={sections}\n\t\t\t\t\t\t\trelease={release}\n\t\t\t\t\t\t\tactive-index={currentSectionIndex}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\n\t\t\t\t\t{otherReleases.length > 0 ?\n\t\t\t\t\t\t<div className=\"dps-design-layout-version-switcher\">\n\t\t\t\t\t\t\t<dps-inline-version-selector\n\t\t\t\t\t\t\t\tinstance-release={instanceRelease}\n\t\t\t\t\t\t\t\tsourcePathname={pathname}\n\t\t\t\t\t\t\t\tselected={release}\n\t\t\t\t\t\t\t\treleases={otherReleases}\n\t\t\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div> : null\n\t\t\t\t\t}\n\n\t\t\t\t\t{ isEmployee(userInfo)\n\t\t\t\t\t\t? <dps-badge variant=\"servicenow\" />\n\t\t\t\t\t\t: null\n\t\t\t\t\t}\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"main-content\"\n\t\t\t\t\t\tinnerHTML={`<a id=\"introduction\"></a>${marked(contentData || ' ')}`}\n\t\t\t\t\t\thook-insert={({elm}) => highlightCode(elm)}\n\t\t\t\t\t\thook-update={({elm})=> highlightCode(elm)}\n\t\t\t\t\t></div>\n\t\t\t\t</Fragment>\n\t\t\t)}\n\t\t</dps-template-two-column>\n\t);\n};\n\nexport default createCustomElement('dps-design-layout', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DpsDesignLayout\n\t},\n\tproperties,\n\tactionHandlers,\n\tstyles,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: scrollSpyBehavior,\n\t\t\toptions: {\n\t\t\t\t// eslint-disable-next-line object-shorthand\n\t\t\t\trootMargin: () => {\n\t\t\t\t\tconst winH = window.innerHeight;\n\t\t\t\t\tconst bottomOffset = winH * 0.6 < 100 ? '150px' : '60%';\n\t\t\t\t\tconst topOffset = 0;\n\t\t\t\t\treturn `${topOffset}px 0px -${bottomOffset}`;\n\t\t\t\t},\n\t\t\t\ttargetSelector: 'h2, #introduction',\n\t\t\t\tthreshold: 1\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tbehavior: reactToHash,\n\t\t\toptions: {\n\t\t\t\tadditionalOffset: -150\n\t\t\t}\n\t\t},\n\t]\n});\n","export const connectCardView = (data) => {\n\tlet isOneCard = data.length === 1;\n\treturn (\n\t\t<div className= \"dps-overview-section-content\" class = {{\"dps-overview-section-column-only-1\": isOneCard}}>\n\t\t\t<div className=\"dps-overview-section-columns\" class = {{\"dps-overview-section-columns-single\": isOneCard}}>\n\t\t\t\t{data &&\n\t\t\t\tdata.map(element => (\n\t\t\t\t\t<div className= \"dps-overview-section-column\" id={element.id}>\n\t\t\t\t\t\t<dps-content-stack>\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc={element.image}\n\t\t\t\t\t\t\t\tclassName={element.imgID}\n\t\t\t\t\t\t\t\talt=\"group of three people passing books\"\n\t\t\t\t\t\t\t\tslot=\"icon-custom\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p className=\"dps-connect-overview-section-cards-title\"\n\t\t\t\t\t\t\t\t innerHTML={element.title}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p\n\t\t\t\t\t\t\t\tclassName=\"dps-connect-overview-section-cards-description\"\n\t\t\t\t\t\t\t\tinnerHTML={element.description}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\tbuttonStyle\n\t\t\t\t\t\t\t\tbuttonVariant=\"secondary\"\n\t\t\t\t\t\t\t\thref={element.href}\n\t\t\t\t\t\t\t\tinternal-action\n\t\t\t\t\t\t\t\tbutton-size=\"sm\"\n\t\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tLearn More\n\t\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t</dps-content-stack>\n\t\t\t\t\t</div>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n","import '../../components/dps-page-header';\nimport '../../components/dps-link';\nimport '../../components/dps-card-container';\nimport '../../components/dps-card';\nimport '../../components/dps-badge';\nimport '../../components/dps-share-projects';\nimport '../../components/dps-share-project-card';\nimport '../../components/dps-spinner';\nimport renderSVG from '../../utils/render-svg';\nimport Colors from '../../styles/global/colors';\nimport { createPath, createAnchor } from '../../utils/url';\n\nimport HeaderBgPeople from '../../images/connect-header-bg-people.svg';\nimport PeopleClouds from '../../images/connect-people-clouds.svg';\nimport PeopleHighFive from '../../images/connect-people-high-five.svg';\nimport Computer from '../../images/connect-computer.svg';\nimport { document } from '../../icons';\nimport { sanitizeDate } from '../../utils/instanceHelpers';\nimport { halfWidthCardsView } from '../dps-guides-overview/halfWidthCardsView';\nimport { connectCardView } from './connectCardView';\n\nimport connectMvp from '../../images/connect_mvp_1.svg';\nimport { CONNECT_MVP_PAGE_HREF } from '../../constants';\n\nconst clockSvg = renderSVG ({\n\tclassName: 'event-icon',\n\twidth: 20,\n\theight: 20,\n\tinnerSVG: '<path d=\"M16.4818324,16.4817741 C12.9020297,20.0615767 7.09800892,20.0615767 3.51824294,16.4817741 C-0.0615597058,12.9019714 -0.0615597058,7.09795059 3.51824294,3.51818461 C7.09804458,-0.0616170332 12.9020631,-0.0616180391 16.4818324,3.51818461 C20.061635,7.09798726 20.061635,12.9020081 16.4818324,16.4817741 Z M4.69675075,4.69669846 C1.76782569,7.62559352 1.76782569,12.3743351 4.69675679,15.3032662 C7.62565185,18.2321913 12.3743935,18.2321913 15.3033246,15.3032602 C18.2322496,12.3743651 18.2322496,7.62562352 15.3033216,4.69669544 C12.3744235,1.76776736 7.62568185,1.76776736 4.69675075,4.69669846 Z M10.833329,9.48496788 L13.7060058,10.9213063 C14.1176544,11.1271306 14.284508,11.6276913 14.0786837,12.0393398 C13.8728594,12.4509884 13.3722987,12.617842 12.9606502,12.4120177 L9.62731815,10.7453517 C9.34499824,10.6041917 9.166663,10.3156393 9.166663,9.999996 L9.166663,4.999998 C9.166663,4.53976089 9.53975889,4.166665 9.999996,4.166665 C10.4602331,4.166665 10.833329,4.53976089 10.833329,4.999998 L10.833329,9.48496788 Z\" id=\"Path\"></path>'\n});\n\nconst calendarSvg = renderSVG ({\n\tclassName: 'event-icon',\n\twidth: 20,\n\theight: 20,\n\tinnerSVG: '<path d=\"M12.7272727,0 C13.2293498,0 13.6363636,0.407013864 13.6363636,0.909090909 L13.636,1.818 L15.4545455,1.81818182 C16.960768,1.81818182 18.1818182,3.03923205 18.1818182,4.54545455 L18.1818182,17.2727273 C18.1818182,18.7789498 16.960768,20 15.4545455,20 L2.72727273,20 C1.22105023,20 0,18.7789498 0,17.2727273 L0,4.54545455 C0,3.03923205 1.22105023,1.81818182 2.72727273,1.81818182 L4.545,1.818 L4.54545455,0.909090909 C4.54545455,0.407013864 4.95246841,0 5.45454545,0 C5.9566225,0 6.36363636,0.407013864 6.36363636,0.909090909 L6.363,1.818 L11.818,1.818 L11.8181818,0.909090909 C11.8181818,0.407013864 12.2251957,0 12.7272727,0 Z M16.363,9.09 L1.818,9.09 L1.81818182,17.2727273 C1.81818182,17.7747957 2.22520432,18.1818182 2.72727273,18.1818182 L15.4545455,18.1818182 C15.9566139,18.1818182 16.3636364,17.7747957 16.3636364,17.2727273 L16.363,9.09 Z M4.545,3.636 L2.72727273,3.63636364 C2.22520432,3.63636364 1.81818182,4.04338614 1.81818182,4.54545455 L1.818,7.272 L16.363,7.272 L16.3636364,4.54545455 C16.3636364,4.04338614 15.9566139,3.63636364 15.4545455,3.63636364 L13.636,3.636 L13.6363636,4.54545455 C13.6363636,5.04753159 13.2293498,5.45454545 12.7272727,5.45454545 C12.2251957,5.45454545 11.8181818,5.04753159 11.8181818,4.54545455 L11.818,3.636 L6.363,3.636 L6.36363636,4.54545455 C6.36363636,5.04753159 5.9566225,5.45454545 5.45454545,5.45454545 C4.95246841,5.45454545 4.54545455,5.04753159 4.54545455,4.54545455 L4.545,3.636 Z\" id=\"Path\"></path>'\n});\n\nconst locationPinSvg = renderSVG ({\n\tclassName: 'event-icon',\n\twidth: 20,\n\theight: 20,\n\tinnerSVG: '<path d=\"M10.124983,1 C11.4114385,1 12.5989356,1.32161401 13.6874745,1.96484145 C14.7760134,2.60806889 15.6418971,3.47395262 16.2851246,4.56249151 C16.928352,5.65103039 17.249966,6.83852756 17.249966,8.12498301 C17.249966,8.84242903 17.1633779,9.48565704 16.990201,10.0546659 C16.8170242,10.6236748 16.4830406,11.3411214 15.9882503,12.2070045 C15.6418971,12.8007531 14.9244505,13.9635106 13.8359117,15.6952775 L11.6464638,19.1464411 C11.423808,19.517534 11.1145642,19.7711139 10.7187316,19.9071815 C10.322899,20.0432491 9.92706701,20.0432491 9.53123443,19.9071815 C9.13540185,19.7711139 8.82615798,19.517534 8.60350227,19.1464411 L6.41405436,15.6952775 C5.32551548,13.9635106 4.60806889,12.8131227 4.26171574,12.2441138 C3.76692544,11.3534909 3.43294186,10.6236748 3.25976501,10.0546659 C3.08658815,9.48565704 3,8.84242903 3,8.12498301 C3,6.83852756 3.32161401,5.65103039 3.96484145,4.56249151 C4.60806889,3.47395262 5.47395262,2.60806889 6.56249151,1.96484145 C7.65103039,1.32161401 8.83852756,1 10.124983,1 Z M10.124983,18.2187089 L12.4628681,14.5077803 C13.4524492,12.9244505 14.1080462,11.873021 14.4296602,11.3534909 C14.850232,10.6113052 15.1285516,10.0299262 15.2646192,9.60935447 C15.4006868,9.18878275 15.4687203,8.69399188 15.4687203,8.12498301 C15.4687203,7.16014156 15.2275099,6.26951869 14.7450892,5.45311438 C14.2626685,4.63671008 13.6132559,3.98729757 12.7968516,3.50487684 C11.9804473,3.02245612 11.0898245,2.78124575 10.124983,2.78124575 C9.16014156,2.78124575 8.26951869,3.02245612 7.45311438,3.50487684 C6.63671008,3.98729757 5.98729757,4.63671008 5.50487684,5.45311438 C5.02245612,6.26951869 4.78124575,7.16014156 4.78124575,8.12498301 C4.78124575,8.69399188 4.84927926,9.19496725 4.98534683,9.62790912 C5.1214144,10.060851 5.41210362,10.6484145 5.85741506,11.3906002 C6.15428935,11.9101302 6.7975168,12.9615598 7.78709796,14.5448896 C8.7271997,16.0045213 9.50649472,17.2291278 10.124983,18.2187089 Z M7.15624009,8.12498301 C7.15624009,7.30857871 7.44692931,6.60968734 8.02830832,6.02830832 C8.60968734,5.44692931 9.30857871,5.15624009 10.124983,5.15624009 C10.9413873,5.15624009 11.6402787,5.44692931 12.2216577,6.02830832 C12.8030367,6.60968734 13.0937259,7.30857871 13.0937259,8.12498301 C13.0937259,8.94138732 12.8030367,9.64027869 12.2216577,10.2216577 C11.6402787,10.8030367 10.9413873,11.0937259 10.124983,11.0937259 C9.30857871,11.0937259 8.60968734,10.8030367 8.02830832,10.2216577 C7.44692931,9.64027869 7.15624009,8.94138732 7.15624009,8.12498301 Z\" id=\"\"></path>'\n});\n\nconst connectCardData = [\n\t{\n\t\thref: CONNECT_MVP_PAGE_HREF,\n\t\ttitle: 'Developer MVPs are superheroes',\n\t\tdescription:\n\t\t\t'The Developer MVPs are a collection of passionate ServiceNow® developers who strive to inspire others by sharing their extensive knowledge openly and inclusively. They help, encourage, and enable developers of all skill levels and types to succeed in building and developing on the Now Platform®.',\n\t\timage: connectMvp,\n\t\tid: '123',\n\t\timgID: 'connect_mvp_img'\n\t}\n];\n\nconst isCardViewEnable = systemProperties => systemProperties && systemProperties['dev.connect_mvp_card_view_enable'] === 'true';\n\nconst view = ({properties: {loading, projects, blogs, events,systemProperties}}) => (\n\t<div className=\"dps-overview dps-connect-overview\">\n\t\t<dps-page-header\n\t\t\tpage-title=\"Connect\"\n\t\t\tsub-title=\"Projects from fellow creators, insights from the Developer Program team, and updates from the community.\"\n\t\t\tbackground-color={Colors.connectBackgroundColor}\n\t\t\tbackground-image={HeaderBgPeople}\n\t\t/>\n\n\t\t{isCardViewEnable(systemProperties)? <section className=\"dps-connect-overview-card-section\">\n\t\t\t{connectCardView(connectCardData)}\n\t\t</section>: null}\n\n\t\t<section className=\"dps-overview-section -overview -centered\">\n\t\t\t<div className=\"dps-overview-section-content\">\n\t\t\t\t<h2 className=\"dps-overview-section-header\">\n\t\t\t\t\t<span>Get involved. Get inspired.</span>\n\t\t\t\t</h2>\n\t\t\t\t<p>Use our resources to connect and collaborate with others working on similar problems. Explore <dps-link href={createAnchor('#share')}>Share projects</dps-link>, search for <dps-link href={createAnchor('#events')}>workshops and meetups</dps-link>, read <dps-link href={createAnchor('#blog')}>our blog</dps-link>, and browse the <dps-link href={createAnchor('#forums')}>Now Community forums</dps-link>.</p>\n\t\t\t</div>\n\t\t</section>\n\n\t\t<section className=\"dps-overview-section -two-col -related-parent\">\n\t\t\t<div className=\"dps-overview-section-content\">\n\t\t\t\t<div id=\"share\">\n\t\t\t\t\t<h2>Browse developer-contributed projects or share your own</h2>\n\t\t\t\t\t<p>Projects are user-contributed plugins, templates, and working files created with the Now Platform. They’re a source for finding inspiration or a foundation before building on your own.</p>\n\t\t\t\t\t<dps-link target=\"_blank\" href=\"/connect.do#!/share\" button-style button-variant=\"secondary\">Browse All Projects</dps-link>\n\t\t\t\t</div>\n\t\t\t\t<img src={PeopleClouds} />\n\t\t\t</div>\n\t\t</section>\n\t\t<section className=\"dps-overview-section -related-child\">\n\t\t\t<div className=\"dps-overview-section-content\">\n\t\t\t\t<h6>Featured Projects</h6>\n\t\t\t\t<hr />\n\t\t\t\t<dps-card-container>\n\t\t\t\t\t{\n\t\t\t\t\t\t(projects)\n\t\t\t\t\t\t\t? projects.map(project => <dps-share-project-card project={project} />)\n\t\t\t\t\t\t\t: (loading)\n\t\t\t\t\t\t\t\t? <dps-spinner />\n\t\t\t\t\t\t\t\t: <span>No projects</span>\n\t\t\t\t\t}\n\t\t\t\t</dps-card-container>\n\t\t\t</div>\n\t\t</section>\n\n\t\t<section className=\"dps-overview-section -two-col -related-parent -highlight\">\n\t\t\t<div className=\"dps-overview-section-content\">\n\t\t\t\t<div id=\"events\">\n\t\t\t\t\t<h2>Collaborate and grow together</h2>\n\t\t\t\t\t<p>The developer community holds virtual and in-person events so that developers can teach one another skills and share ideas to help everyone level up. Find a conference, workshop, or meetup event near you.</p>\n\t\t\t\t\t<dps-link target=\"_blank\" href=\"/connect.do#!/events\" button-style button-variant=\"secondary\">Browse All Events</dps-link>\n\t\t\t\t</div>\n\t\t\t\t<img src={PeopleHighFive} />\n\t\t\t</div>\n\t\t</section>\n\t\t<section className=\"dps-overview-section -related-child -highlight\">\n\t\t\t<div className=\"dps-overview-section-content\">\n\t\t\t\t<h6>Upcoming Events</h6>\n\t\t\t\t<hr />\n\t\t\t\t<dps-card-container>\n\t\t\t\t\t{\n\t\t\t\t\t\t(events)\n\t\t\t\t\t\t\t? events.map(event => {\n\t\t\t\t\t\t\t\tconst { title, short_description, event_url, calendar_location, start_time, end_time } = event;\n\t\t\t\t\t\t\t\tconst trimmedDescription = short_description.length > 120 ? `${short_description.substring(0, 120)} [...]` : short_description;\n\t\t\t\t\t\t\t\tconst startDate = new Date(sanitizeDate(start_time)).setSeconds(0,0);\n\t\t\t\t\t\t\t\tconst endDate = new Date(sanitizeDate(end_time)).setSeconds(0,0);\n\t\t\t\t\t\t\t\tconst prettyDate = new Intl.DateTimeFormat('en-US', {weekday: 'long', year: 'numeric', month: 'long', day: 'numeric'}).format(startDate);\n\t\t\t\t\t\t\t\tconst prettyStartTime = new Intl.DateTimeFormat('en-US', {hour: 'numeric', minute: 'numeric', second: 'numeric'}).format(startDate);\n\t\t\t\t\t\t\t\tconst prettyEndTime = new Intl.DateTimeFormat('en-US', {hour: 'numeric', minute: 'numeric', second: 'numeric', timeZoneName: 'long'}).format(endDate);\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<dps-card\n\t\t\t\t\t\t\t\t\t\thas-border\n\t\t\t\t\t\t\t\t\t\tborder-variant=\"primary\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<h3><a target=\"_blank\" href={event_url}>{title}</a></h3>\n\t\t\t\t\t\t\t\t\t\t<p>{trimmedDescription}</p>\n\t\t\t\t\t\t\t\t\t\t<ul className=\"event-details\">\n\t\t\t\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t\t\t\t{calendarSvg}\n\t\t\t\t\t\t\t\t\t\t\t\t<span>{prettyDate}</span>\n\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t\t\t\t{clockSvg}\n\t\t\t\t\t\t\t\t\t\t\t\t<span>{prettyStartTime} to {prettyEndTime}</span>\n\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t\t\t\t{locationPinSvg}\n\t\t\t\t\t\t\t\t\t\t\t\t<span>{calendar_location}</span>\n\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t\t\t<dps-link target=\"_blank\" href={event_url} slot=\"cta\" button-style button-variant=\"primary\" bare>See Event Info <now-icon icon=\"arrowUpRightFill\" /></dps-link>\n\t\t\t\t\t\t\t\t\t</dps-card>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t: (loading)\n\t\t\t\t\t\t\t\t? <dps-spinner />\n\t\t\t\t\t\t\t\t: <span>No upcoming events</span>\n\t\t\t\t\t}\n\t\t\t\t</dps-card-container>\n\t\t\t</div>\n\t\t</section>\n\n\t\t<section className=\"dps-overview-section -two-col -related-parent\">\n\t\t\t<div className=\"dps-overview-section-content\">\n\t\t\t\t<div id=\"blog\">\n\t\t\t\t\t<h2>Latest updates from the Developer Program team</h2>\n\t\t\t\t\t<p>In-depth discussions on features, recommendations, and events.</p>\n\t\t\t\t\t<dps-link target=\"_blank\" href=\"/blog.do\" button-style button-variant=\"secondary\">See All Posts</dps-link>\n\t\t\t\t</div>\n\t\t\t\t<img src={Computer} />\n\t\t\t</div>\n\t\t</section>\n\t\t<section className=\"dps-overview-section -related-child\">\n\t\t\t<div className=\"dps-overview-section-content\">\n\t\t\t\t<h6>Latest Posts</h6>\n\t\t\t\t<hr />\n\t\t\t\t<dps-card-container>\n\t\t\t\t\t{\n\t\t\t\t\t\t(blogs)\n\t\t\t\t\t\t\t? blogs.map(post => {\n\t\t\t\t\t\t\t\tconst { title, path, description, tags } = post;\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<dps-card\n\t\t\t\t\t\t\t\t\t\thas-border\n\t\t\t\t\t\t\t\t\t\tborder-variant=\"primary\"\n\t\t\t\t\t\t\t\t\t\ttags = {tags.split(',').map(tag => ({\n\t\t\t\t\t\t\t\t\t\t\tlabel: tag,\n\t\t\t\t\t\t\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\t\t\t\t\t\t\thref: `/blog.do?p=/tags/${tag.replace(' ', '-')}/`,\n\t\t\t\t\t\t\t\t\t\t\ttarget: '_blank'\n\t\t\t\t\t\t\t\t\t\t}))}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<img src={document} slot=\"icon-custom\" />\n\t\t\t\t\t\t\t\t\t\t<h3><a href={path} target=\"_blank\" innerHTML={title} /></h3>\n\t\t\t\t\t\t\t\t\t\t<p innerHTML={description} />\n\t\t\t\t\t\t\t\t\t\t<dps-link href={path} target=\"_blank\" slot=\"cta\" button-style button-variant=\"primary\" bare external-action>Continue Reading</dps-link>\n\t\t\t\t\t\t\t\t\t</dps-card>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t: (loading)\n\t\t\t\t\t\t\t\t? <dps-spinner />\n\t\t\t\t\t\t\t\t: <span>No recent posts</span>\n\t\t\t\t\t}\n\t\t\t\t</dps-card-container>\n\t\t\t</div>\n\t\t</section>\n\n\t\t<section className=\"dps-overview-section -highlight -callout\">\n\t\t\t<div className=\"dps-overview-section-content\">\n\t\t\t\t<h6 id=\"forums\">Developer Community Forums</h6>\n\t\t\t\t<h2 className=\"dps-overview-section-header\">Join the conversation</h2>\n\t\t\t\t<p>Ask questions, get answers, and contribute your knowledge in the Developer Community forum on Now Community. </p>\n\t\t\t\t<dps-link\n\t\t\t\t\tbutton-style\n\t\t\t\t\tbutton-variant=\"secondary\"\n\t\t\t\t\thref=\"https://community.servicenow.com/community?id=community_forum&amp;sys_id=75291a2ddbd897c068c1fb651f9619f3\"\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t>\n\t\t\t\t\tGo to Now Community <now-icon icon=\"arrowUpRightFill\" size=\"sm\" />\n\t\t\t\t</dps-link>\n\t\t\t</div>\n\t\t</section>\n\n\t</div>\n);\n\nexport default view;\n","const initialState = {};\n\nexport default initialState;","const properties = {\n\tloading: {\n\t\tdefault: true\n\t},\n\tprojects: {\n\t\tdefault: null\n\t},\n\tblogs: {\n\t\tdefault: null\n\t},\n\tevents: {\n\t\tdefault: null\n\t},\n\thash: {\n\t\tdefault: ''\n\t},\n\tsystemProperties: {\n\t\tdefault: {},\n\t\tschema: {\n\t\t\ttype: 'object'\n\t\t}\n\t}\n};\n\nexport default properties;\n","import reactToHash from '../../behaviors/reactToHash';\n\nexport const DPS_CONNECT_OVERVIEW_ACTIONS = {\n\tFETCH_CONTENT: 'CONNECT_OVERVIEW#FETCH_CONTENT',\n\tFETCH_CONTENT_SUCCESS: 'CONNECT_OVERVIEW#FETCH_CONTENT_SUCCESS',\n\tFETCH_CONTENT_FAILED: 'CONNECT_OVERVIEW#FETCH_CONTENT_FAILED',\n};\n\nexport const CUSTOM_BEHAVIOUR = {\n\tbehavior: reactToHash,\n\toptions: {\n\t\tadditionalOffset: -120\n\t}\n}\nexport default DPS_CONNECT_OVERVIEW_ACTIONS;","import { actionTypes } from '@servicenow/ui-core';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { CUSTOM_BEHAVIOUR, DPS_CONNECT_OVERVIEW_ACTIONS } from '../actions';\nimport { setMetaByPageType } from '../../../utils/meta';\n\nconst {\n\tCOMPONENT_BOOTSTRAPPED\n} = actionTypes;\n\nconst {\n\tFETCH_CONTENT,\n\tFETCH_CONTENT_SUCCESS,\n\tFETCH_CONTENT_FAILED\n} = DPS_CONNECT_OVERVIEW_ACTIONS;\n\nexport default {\n\t[COMPONENT_BOOTSTRAPPED]({state, dispatch}) {\n\t\tconst { properties : {systemProperties}} = state;\n\t\tconst isCardViewEnable = systemProperties && systemProperties['dev.connect_mvp_card_view_enable'] === 'true';\n\t\tsetMetaByPageType('connect');\n\t\tdispatch(FETCH_CONTENT);\n\t\tif(isCardViewEnable) {\n\t\t\tCUSTOM_BEHAVIOUR.options.additionalOffset = 450;\n\t\t}\n\t},\n\t[FETCH_CONTENT]: createHttpEffect('/api/snc/v1/dev/connect_overview', {\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tsuccessActionType: FETCH_CONTENT_SUCCESS,\n\t\tfailedActionType: FETCH_CONTENT_FAILED\n\t}),\n\t[FETCH_CONTENT_SUCCESS](coeffects) {\n\t\tconst { action, updateProperties } = coeffects;\n\t\tconst { result } = action.payload;\n\n\t\tupdateProperties({\n\t\t\tloading: false,\n\t\t\tprojects: result.share_projects.apps,\n\t\t\tblogs: result.recent_blogs.blogs,\n\t\t\tevents: result.upcoming_events.result.data\n\t\t});\n\n\t},\n\t[FETCH_CONTENT_FAILED]({updateProperties}) {\n\t\tupdateProperties({\n\t\t\tloading: false\n\t\t});\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport view from './view';\nimport initialState from './initialState';\nimport properties from './properties';\nimport actions, { CUSTOM_BEHAVIOUR } from './actions';\nimport actionHandlers from './actionHandlers/index';\nimport styles from './dps-connect-overview.scss';\nimport reactToHash from '../../behaviors/reactToHash';\n\nexport default createCustomElement('dps-connect-overview', {\n\trenderer: { type: snabbdom },\n\tview,\n\tinitialState,\n\tproperties,\n\tactions,\n\tactionHandlers,\n\tstyles,\n\tbehaviors: [CUSTOM_BEHAVIOUR]\n});\n","import { actionTypes, createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-design-overview.scss';\nimport '../../components/dps-content-stack';\nimport '../../components/dps-link';\nimport '../../components/dps-page-header';\nimport '../../components/dps-spinner';\nimport '../../components/dps-badge';\nimport '@servicenow/now-icon';\nimport HeaderImg from '../../images/design-overview-header.svg';\nimport PrinciplesImg from '../../images/design-overview-principles.svg';\nimport ExperienceImg from '../../images/design-overview-experience.svg';\nimport SharepointImg from '../../images/design-overview-sharepoint.svg';\nimport SystemImg from '../../images/design-overview-system.svg';\nimport Colors from '../../styles/global/colors';\nimport { createPath } from '../../utils/url';\nimport { redirectToAuth, isEmployee, userInfoPopulated, hasUserInfoUpdated } from '../../utils/helpers';\nimport { updateRoute } from '../../routes';\nimport { CONSTANTS } from '../../constants';\nimport { minimumNowExperienceVersion } from '../../utils/releaseHelpers';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst view = ({ properties }) => {\n\tconst { computedRelease, loading, systemProperties } = properties;\n\tconst linkRelease = minimumNowExperienceVersion(computedRelease, systemProperties);\n\n\treturn loading ?\n\t\t<dps-spinner />\n\t\t: (\n\t\t\t<div className=\"dps-overview -design\">\n\t\t\t\t<dps-page-header\n\t\t\t\t\tpage-title=\"Designing at ServiceNow\"\n\t\t\t\t\tsub-title=\"Our inclusive team of designers makes the world of work, work better for our customers.\"\n\t\t\t\t\tbackground-image={HeaderImg}\n\t\t\t\t\tbackground-color={Colors.designBackgroundColor}\n\t\t\t\t\tinternal-only={true}\n\t\t\t\t><div slot=\"hidden-container\"></div></dps-page-header>\n\t\t\t\t<section className=\"dps-overview-section -feature -two-col -design-system\">\n\t\t\t\t\t<div className=\"dps-overview-section-content -narrow\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<h2 className=\"dps-overview-section-header\">\n\t\t\t\t\t\t\t\t<span>Get to know the Next<sup>®</sup> Experience Design System</span>\n\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\tOur design system contains all the necessary elements for our team to design, realize, and build our products. This includes principles, style guides, component libraries, and application guidance. Ideally, it should evolve and grow as new uses cases, products, tools, and technologies emerge.\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t<dps-link button-variant=\"secondary\" button-style button-size=\"md\" href={`#!/reference/next-experience/${linkRelease}/ui-framework/getting-started/introduction`} internal-action>Explore the Next Experience</dps-link>\n\t\t\t\t\t\t\t<h2 className=\"dps-overview-section-header\">\n\t\t\t\t\t\t\t\t<span>What's included?</span>\n\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t<dps-link href={createPath(`/design/${linkRelease}/guidelines/design-principles`)} internal-action>Principles and Guidelines</dps-link>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t<dps-link href={createPath(`/reference/next-experience/${linkRelease}/components`)} internal-action>Component Library</dps-link>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t<dps-link href={createPath(`/reference/next-experience/${linkRelease}/now-components/now-icon/gallery`)} internal-action>Icon Gallery</dps-link>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t<dps-link href=\"https://code.devsnc.com/dev/design-system/releases\" external-action target=\"_blank\">Release Updates</dps-link>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<img src={SystemImg} alt=\"\" />\n\t\t\t\t\t</div>\n\t\t\t\t</section>\n\t\t\t\t<section className=\"dps-overview-section -centered -new-hire\">\n\t\t\t\t\t<div className=\"dps-overview-section-content\">\n\t\t\t\t\t\t<h2 className=\"dps-overview-section-header\">Are you a new hire?</h2>\n\t\t\t\t\t\t<p>Welcome to the team! Before you start designing <br/> for our products, check out the following resources:</p>\n\t\t\t\t\t\t<div className=\"dps-design-overview-columns\">\n\t\t\t\t\t\t\t<div className=\"dps-design-overview-column\">\n\t\t\t\t\t\t\t\t<dps-content-stack title=\"Next Experience Design System SharePoint\">\n\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\tsrc={SharepointImg}\n\t\t\t\t\t\t\t\t\t\talt=\"group of three people passing books\"\n\t\t\t\t\t\t\t\t\t\tslot=\"icon-custom\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\t\t\tbutton-style\n\t\t\t\t\t\t\t\t\t\tbutton-variant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\thref=\"https://servicenow.sharepoint.com/sites/NowDesignSystem\"\n\t\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t\t\texternal-action\n\t\t\t\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\t\t\t>Go to Sharepoint</dps-link>\n\t\t\t\t\t\t\t\t\t<p>Find onboarding information, design kits to download, roadmaps, and latest updates.</p>\n\t\t\t\t\t\t\t\t</dps-content-stack>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"dps-design-overview-column\">\n\t\t\t\t\t\t\t\t<dps-content-stack title=\"Design Principles and Guidelines\">\n\t\t\t\t\t\t\t\t\t<dps-badge\n\t\t\t\t\t\t\t\t\t\tvariant=\"servicenow\"\n\t\t\t\t\t\t\t\t\t\tcollapsible\n\t\t\t\t\t\t\t\t\t\tcollapsed={true}\n\t\t\t\t\t\t\t\t\t\tslot=\"badge\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\tsrc={PrinciplesImg}\n\t\t\t\t\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\t\t\t\t\tslot=\"icon-custom\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\t\t\tbutton-style\n\t\t\t\t\t\t\t\t\t\tbutton-variant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\thref={createPath(`/design/${linkRelease}/guidelines/design-principles`)}\n\t\t\t\t\t\t\t\t\t\tinternal-action\n\t\t\t\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\t\t\t>Read our Principles</dps-link>\n\t\t\t\t\t\t\t\t\t<p>Explore our shared design principles and follow our guidelines to ensure consistency across our products. </p>\n\t\t\t\t\t\t\t\t</dps-content-stack>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"dps-design-overview-column\">\n\t\t\t\t\t\t\t\t<dps-content-stack title=\"Next Experience Components\">\n\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\tsrc={ExperienceImg}\n\t\t\t\t\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\t\t\t\t\tslot=\"icon-custom\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\t\t\tbutton-style\n\t\t\t\t\t\t\t\t\t\tbutton-variant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\thref={createPath(`/reference/next-experience/${linkRelease}/components`)}\n\t\t\t\t\t\t\t\t\t\tinternal-action\n\t\t\t\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\t\t\t>Browse Components</dps-link>\n\t\t\t\t\t\t\t\t\t<p>Browse our list of available components, tinker with code, and review our usage guidance.  </p>\n\t\t\t\t\t\t\t\t</dps-content-stack>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</section>\n\t\t\t</div>\n\t\t);\n};\n\nexport default createCustomElement('dps-design-overview', {\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles,\n\tproperties: {\n\t\tcomputedRelease: {\n\t\t\tdefault: ''\n\t\t},\n\t\tuserInfo: {\n\t\t\tdefault: null\n\t\t},\n\t\tloading: {\n\t\t\tdefault: true\n\t\t},\n\t\tsystemProperties: {\n\t\t\tdefault: {}\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t/* eslint-disable object-shorthand */\n\t\t[COMPONENT_BOOTSTRAPPED]: ({properties, updateProperties}) => {\n\t\t\tconst {userInfo} = properties;\n\t\t\t// check if userInfo is populated first\n\t\t\tif (userInfoPopulated(userInfo)) {\n\t\t\t\t// if the user is logged in, check their role\n\t\t\t\tif (userInfo.is_logged_in) {\n\t\t\t\t\tif (!isEmployee(userInfo)) {\n\t\t\t\t\t\treturn updateRoute(CONSTANTS.DEFAULTS.ERROR_PATH);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn redirectToAuth(location.href);\n\t\t\t\t}\n\t\t\t\tupdateProperties({\n\t\t\t\t\tloading: false\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({action, updateProperties, properties}) => {\n\t\t\tconst { name, value, previousValue } = action.payload;\n\t\t\tconst { userInfo } = properties;\n\t\t\tconst userInfoUpdated = hasUserInfoUpdated({ name, value, previousValue });\n\n\t\t\tif (name === 'userInfo' && userInfoUpdated) {\n\t\t\t\tif (userInfo.is_logged_in) {\n\t\t\t\t\tif (!isEmployee(userInfo)) {\n\t\t\t\t\t\treturn updateRoute(CONSTANTS.DEFAULTS.ERROR_PATH);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tupdateProperties({\n\t\t\t\t\tloading: false\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n});\n","export const DPS_DELETE_USER_ACCOUNT_MODAL_ACTIONS = {\n    DELETE_ACCOUNT: 'DPS_DELETE_USER_ACCOUNT#DELETE_ACCOUNT',\n    DELETE_ACCOUNT_API: 'DPS_DELETE_USER_ACCOUNT#DELETE_ACCOUNT_API',\n    DELETE_ACCOUNT_CONFIRMATION: 'DPS_DELETE_USER_ACCOUNT#DELETE_ACCOUNT_CONFIRMATION'\n}","export const DPS_PROFILE_ACTIONS = {\n\tDPS_PROFILE_POST_HTTP: 'DPS_PROFILE#POST_HTTP',\n\tDPS_PROFILE_POST_HTTP_FAILED: 'DPS_PROFILE#POST_HTTP_FAILED',\n\tDPS_PROFILE_POST_HTTP_SUCCEEDED: 'DPS_PROFILE#POST_HTTP_SUCCEEDED',\n\tDPS_PROFILE_FORM_ON_SUBMIT: 'DPS_PROFILE#FORM_ON_SUBMIT',\n\tDPS_PROFILE_OTHER_CHECKBOX_CLICKED: 'DPS_PROFILE#OTHER_CHECKBOX_CLICKED',\n\tDPS_PROFILE_DELETE_ACCOUNT_CLICKED: 'DPS_PROFILE#DPS_PROFILE_DELETE_ACCOUNT_CLICKED',\n\tDPS_PROFILE_CLOSE_MODAL: 'DPS_PROFILE#CLOSE_MODAL'\n};","import { DPS_DELETE_USER_ACCOUNT_MODAL_ACTIONS } from './actions';\nimport { makeHttpEffectCreator } from '../../utils/helpers';\nimport { DPS_PROFILE_ACTIONS } from './../../connected-components/dps-profile/actions';\nimport '../dps-toast-alert';\n\n/**\n * Dispatches createHttpEffect with data\n * @type {{action: Object}}\n */\nconst callDeleteAccountApi = makeHttpEffectCreator(\n\tDPS_DELETE_USER_ACCOUNT_MODAL_ACTIONS.DELETE_ACCOUNT_API,\n\t'/api/snc/inactivate_user',\n\t{\n\t\tmethod: 'DELETE',\n\t\tbatch: false,\n\t\tonError({ updateProperties }) {\n\t\t\tupdateProperties({ isFailure: true });\n\t\t},\n\t\tonSuccess(coeffects) {\n            const { action, updateProperties } = coeffects;\n            if (action.payload && action.payload.result && action.payload.result.success) {\n                updateProperties({ isDeleted: true });\n            }\n            else {\n                updateProperties({ isFailure: true });\n            }\n\t\t}\n\t}\n);\n\nexport const DPS_CONTENT_FEEDBACK_ACTION_HANDLERS = {\n\t...callDeleteAccountApi,\n\t[DPS_DELETE_USER_ACCOUNT_MODAL_ACTIONS.DELETE_ACCOUNT]: ({\n\t\tupdateProperties,\n\t\tdispatch\n\t}) => {\n\t\tupdateProperties({ isDeleting: true });\n\t\tdispatch(DPS_DELETE_USER_ACCOUNT_MODAL_ACTIONS.DELETE_ACCOUNT_API);\n\t},\n\t['DPS_MODAL#OPENED_SET']: ({ action, dispatch }) => {\n\t\taction.stopPropagation();\n        if (action.payload && action.payload.payloadToAction) {\n            dispatch(DPS_PROFILE_ACTIONS.CLOSE_MODAL, {\n                deleted: action.payload.deleted, logout: action.payload.payloadToAction.logout\n            });\n        }\n        else {\n            dispatch(DPS_PROFILE_ACTIONS.CLOSE_MODAL, {\n                deleted: action.payload.deleted, logout: false\n            });\n        }\n\t},\n\t[DPS_DELETE_USER_ACCOUNT_MODAL_ACTIONS.DELETE_ACCOUNT_CONFIRMATION]: ({\n\t\taction,\n\t\tupdateProperties\n\t}) => {\n\t\tupdateProperties({ isDelete: action.payload.isDelete });\n\t}\n};\n","import { DPS_DELETE_USER_ACCOUNT_MODAL_ACTIONS } from './actions';\nimport deleteIcon from '../../images/icons/delete-user-account.svg';\nimport success from '../../images/icons/success.svg';\nimport error from '../../images/icons/error.svg';\n\nexport const deleteView = (email, dispatch, state) => {\n\tconst { isDelete, isDeleting } = state.properties;\n\treturn (\n\t\t<div>\n\t\t\t<div className=\"delete-account\">\n\t\t\t\t<img src={deleteIcon} alt=\"delete\" />\n\t\t\t\t<div className=\"deleting\">Deleting: {email}</div>\n\t\t\t\t<div className=\"delete-account-info\">\n\t\t\t\t\tBy clicking \"Delete this account\", you understand that all your data\n\t\t\t\t\twill be deleted immediately along with your personal developer\n\t\t\t\t\tinstance. This action cannot be undone.\n\t\t\t\t\t<br />\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div className=\"delete-account-footer\">\n\t\t\t\t<dps-checkbox\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\tlabel=\"Yes, delete my account and all its data\"\n\t\t\t\t\tchecked={isDelete}\n\t\t\t\t\ton-click={e => {\n\t\t\t\t\t\tconst { currentTarget } = e;\n\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\tDPS_DELETE_USER_ACCOUNT_MODAL_ACTIONS.DELETE_ACCOUNT_CONFIRMATION,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tisDelete: !currentTarget.checked\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t<div>\n\t\t\t\t\t<button\n\t\t\t\t\t\tclassName=\"go-back-button\"\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch('DPS_MODAL#OPENED_SET', { deleted: false });\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tGo Back\n\t\t\t\t\t</button>\n\n\t\t\t\t\t<button\n\t\t\t\t\t\tclassName=\"delete-button\"\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(DPS_DELETE_USER_ACCOUNT_MODAL_ACTIONS.DELETE_ACCOUNT);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdisabled={!isDelete || isDeleting}\n\t\t\t\t\t>\n\t\t\t\t\t\tDelete This Account\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport const deletedView = dispatch => {\n\treturn (\n\t\t<div className=\"delete-account\">\n\t\t\t<img className=\"img-success\" src={success} alt=\"success\" />\n\t\t\t<div className=\"deleted-info\">\n\t\t\t\tYour account has been successfully deleted\n\t\t\t</div>\n\t\t\t<button\n\t\t\t\tclassName=\"close-button\"\n\t\t\t\ton-click={() => {\n\t\t\t\t\tdispatch('DPS_MODAL#OPENED_SET', { deleted: true });\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\tClose\n\t\t\t</button>\n\t\t</div>\n\t);\n};\n\nexport const failureView = dispatch => {\n\treturn (\n\t\t<div className=\"delete-account\">\n\t\t\t<img src={error} alt=\"error\" />\n\t\t\t<div className=\"failure\">Something went wrong!</div>\n\t\t\t<div>There was a problem deleting your account. Please retry.</div>\n\t\t\t<button\n\t\t\t\tclassName=\"close-button\"\n\t\t\t\ton-click={() => {\n\t\t\t\t\tdispatch('DPS_MODAL#OPENED_SET', { deleted: false });\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\tClose\n\t\t\t</button>\n\t\t</div>\n\t);\n};\n","import '../dps-modal';\nimport '../dps-checkbox';\nimport { deleteView, deletedView, failureView } from './modalContentView';\n\nconst view = (state, {dispatch}) => {\n\tconst {\n        email,\n        isDeleting,\n        isDeleted,\n        isFailure,\n        opened\n\t} = state.properties;\n\treturn (\n\t\t<dps-modal\n            class={{'deleting-account': isDeleting}}\n\t\t\topened={opened}\n\t\t\tsize=\"sm\"\n\t\t\theaderLabel={!isDeleted ? 'Delete Account' : null }\n\t\t\tmanagedOpen={true}\n            clickToEscape={isDeleted ? false : true}\n            payloadToAction={isDeleted ? {logout: true} : {logout: false}}\n\t\t>\n            {!isDeleted & !isFailure ?\n            (deleteView(email, dispatch, state)) : null}\n            {isDeleted ? (deletedView(dispatch)) : null}\n            {isFailure? failureView(dispatch) : null}\t\t\t\n\t\t</dps-modal>\n\t);\n};\n\nexport default view;\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-delete-user-account-modal.scss';\nimport { DPS_CONTENT_FEEDBACK_ACTION_HANDLERS as actionHandlers } from './actionHandlers';\nimport view from './view';\n\nexport default createCustomElement('dps-delete-user-account-modal', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t},\n\tview,\n\tinitialState: {\n\t\tformRef: null\n\t},\n\tproperties: {\n\t\temail: '',\n\t\tisDeleting: false,\n\t\tisDeleted: false,\n\t\tisDelete: false,\n\t\tisFailure: false,\n\t\topened: false,\n\t},\n\tactionHandlers: {\n\t\t...actionHandlers\n\t},\n\tstyles\n});\n\n\n\n","import { DPS_PROFILE_ACTIONS } from '../actions';\n\nconst FormCheckbox = props => {\n\tconst { dispatch, checked, name, id, label, value } = props;\n\treturn (\n\t\t<div className=\"dps-checkbox -sm\">\n\t\t\t<input\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tname={name}\n\t\t\t\tvalue={value}\n\t\t\t\tid={id}\n\t\t\t\tchecked={checked}\n\t\t\t\ton-click={e => {\n\t\t\t\t\tconst { currentTarget } = e;\n\t\t\t\t\tdispatch(DPS_PROFILE_ACTIONS.DPS_PROFILE_OTHER_CHECKBOX_CLICKED, {\n\t\t\t\t\t\tid: id,\n\t\t\t\t\t\tchecked: currentTarget && currentTarget.checked\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t<label htmlFor={id}>{label}</label>\n\t\t</div>\n\t);\n};\n\nexport default FormCheckbox;\n","import { createRef } from '@servicenow/ui-renderer-snabbdom';\nimport { generateInitials, openUrlInNewTab } from '../../utils/helpers';\nimport '../../components/dps-alert';\nimport '../../components/dps-button';\nimport '../../components/dps-checkbox';\nimport '../../components/dps-component-gallery-search/views/FormCheckbox';\nimport '../../components/dps-input';\nimport '../../components/dps-link';\nimport '../../components/dps-spinner';\nimport '../../components/dps-toast-alert';\nimport '../../components/dps-modal';\nimport '../../components/dps-delete-user-account-modal';\nimport FormCheckbox from './views/FormCheckbox';\nimport { CONSTANTS } from '../../constants';\nimport { DPS_PROFILE_ACTIONS } from './actions';\nimport '@servicenow/now-icon';\nimport { isTruthy } from '../../utils/helpers';\n\nexport const formRef = createRef();\n\nconst renderModalComponent = ModalComponent => {\n\tif (!ModalComponent) return null;\n\treturn <ModalComponent />;\n};\n\nconst view = (state, { dispatch, updateProperties }) => {\n\tconst {\n\t\tproperties: { userInfo, isAlertOpen, systemProperties, otherChecked },\n\t\tModalComponent\n\t} = state;\n\tconst accountProfileLink =\n\t\tsystemProperties && systemProperties['dev.profile.account_profile_link'];\n\tconst passwordChangeLink = `${\n\t\tsystemProperties['dev.okta.wrapper.changepassword_url']\n\t}?redirectUri=${systemProperties['dev.base.url']}`;\n\tconst isDeleteAccountEnable =\n\t\tsystemProperties && isTruthy(systemProperties['dev.profile.delete_account_enable']);\n\tconst avatarText =\n\t\tuserInfo.display_name && generateInitials(userInfo.display_name);\n\tlet checkBoxArray = [\n\t\t{\n\t\t\tid: 'developer',\n\t\t\tvalue: 'Developer',\n\t\t\tchecked: false,\n\t\t\tlabel: 'Developer'\n\t\t},\n\t\t{\n\t\t\tid: 'designer',\n\t\t\tvalue: 'Designer',\n\t\t\tchecked: false,\n\t\t\tlabel: 'Designer'\n\t\t},\n\t\t{\n\t\t\tid: 'itAdmin',\n\t\t\tvalue: 'IT Admin',\n\t\t\tchecked: false,\n\t\t\tlabel: 'IT Admin'\n\t\t},\n\t\t{\n\t\t\tid: 'other',\n\t\t\tvalue: 'Other',\n\t\t\tchecked: false,\n\t\t\tlabel: 'Other',\n\t\t\totherRole: null\n\t\t}\n\t];\n\n\tlet profileProps = {\n\t\tdispatch,\n\t\totherChecked\n\t};\n\n\tif (userInfo.job_responsibilities) {\n\t\tconst rolesArray = userInfo.job_responsibilities.split(',');\n\t\tconst rolesOtherText = userInfo.job_responsibilities_other_text;\n\t\trolesArray.forEach(function(item) {\n\t\t\titem = item.trim().toLowerCase();\n\t\t\tswitch (item) {\n\t\t\t\tcase 'developer':\n\t\t\t\t\tcheckBoxArray[0].checked = true;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'designer':\n\t\t\t\t\tcheckBoxArray[1].checked = true;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'it admin':\n\t\t\t\t\tcheckBoxArray[2].checked = true;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase (item.match(/other/i) || {}).input:\n\t\t\t\t\tcheckBoxArray[3].checked = true;\n\t\t\t\t\tcheckBoxArray[3].otherRole = rolesOtherText;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t});\n\t}\n\n\tlet otherRole = checkBoxArray[3].otherRole;\n\n\treturn (\n\t\t<div className=\"profile-page\">\n\t\t\t{renderModalComponent(ModalComponent)}\n\t\t\t<div className=\"profile-page-header\">\n\t\t\t\t<div className=\"header-content-wrapper\">\n\t\t\t\t\t<div className=\"header-avatar\">\n\t\t\t\t\t\t<span>{avatarText}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t{userInfo.display_name ? (\n\t\t\t\t\t\t<p className=\"header-name\">{userInfo.display_name}</p>\n\t\t\t\t\t) : null}\n\t\t\t\t\t<p className=\"header-text\">\n\t\t\t\t\t\tManage your info and personalization to make ServiceNow developer\n\t\t\t\t\t\tsite work better for you.\n\t\t\t\t\t</p>\n\t\t\t\t\t<button\n\t\t\t\t\t\tclassName=\"save-change-button-top\"\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'dps-button': true,\n\t\t\t\t\t\t\t'-primary-inverse': true,\n\t\t\t\t\t\t\t'-sm': true\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tformRef.current.querySelector('#save-changes-button').click();\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span>Save Changes</span>\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<form\n\t\t\t\tclassName=\"profile-page-form\"\n\t\t\t\tref={formRef}\n\t\t\t\ton-submit={event => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tdispatch('DPS_PROFILE#FORM_ON_SUBMIT', {\n\t\t\t\t\t\texistingRoles: userInfo.job_responsibilities,\n\t\t\t\t\t\texistingRolesOtherText: userInfo.job_responsibilities_other_text\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"profile-page-form-details\">\n\t\t\t\t\t<div className=\"form-heading\">\n\t\t\t\t\t\t<h3 className=\"form-heading-text\">Your ServiceNow Profile</h3>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"form-content\">\n\t\t\t\t\t\t<div className=\"info-heading\">PERSONAL INFORMATION</div>\n\t\t\t\t\t\t{isAlertOpen ? (\n\t\t\t\t\t\t\t<dps-alert\n\t\t\t\t\t\t\t\tclassName=\"change-confirmation-alert\"\n\t\t\t\t\t\t\t\tvariant=\"info\"\n\t\t\t\t\t\t\t\ticon=\"circle-info-outline\"\n\t\t\t\t\t\t\t\tbody=\"Your information will be updated the next time you login.\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t{userInfo.display_name ? (\n\t\t\t\t\t\t\t<div className=\"info-content display-name\">\n\t\t\t\t\t\t\t\t{userInfo.display_name}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t{userInfo.company_name ? (\n\t\t\t\t\t\t\t<div className=\"info-content\">{userInfo.company_name}</div>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t{userInfo.phone ? (\n\t\t\t\t\t\t\t<div className=\"info-content\">{userInfo.phone}</div>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t{userInfo.country ? (\n\t\t\t\t\t\t\t<div className=\"info-content\">{userInfo.country}</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tuserInfo.country\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{userInfo.email ? (\n\t\t\t\t\t\t\t<div className=\"info-content\">{userInfo.email}</div>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\tclassName=\"profile-form-button\"\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\ticon\n\t\t\t\t\t\t\texternalAction\n\t\t\t\t\t\t\thasButtonAndIcon\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\tupdateProperties({ isAlertOpen: true });\n\t\t\t\t\t\t\t\topenUrlInNewTab(accountProfileLink);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tChange Information\n\t\t\t\t\t\t</dps-button>\n\n\t\t\t\t\t\t<div className=\"info-heading password-heading\">Password</div>\n\t\t\t\t\t\t<div className=\"info-content\">************</div>\n\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\tclassName=\"profile-form-button\"\n\t\t\t\t\t\t\tbutton-style\n\t\t\t\t\t\t\tbutton-variant=\"secondary\"\n\t\t\t\t\t\t\tbutton-size=\"sm\"\n\t\t\t\t\t\t\ticonAction\n\t\t\t\t\t\t\texternalAction\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\thref={passwordChangeLink}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tChange Password\n\t\t\t\t\t\t</dps-link>\n\n\t\t\t\t\t\t<div className=\"info-heading\">Roles / Responsibilities</div>\n\t\t\t\t\t\t<div className=\"roles-checkbox\">\n\t\t\t\t\t\t\t{checkBoxArray.map(category => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<FormCheckbox\n\t\t\t\t\t\t\t\t\t\tname=\"roles\"\n\t\t\t\t\t\t\t\t\t\tvalue={category.value}\n\t\t\t\t\t\t\t\t\t\tid={category.id}\n\t\t\t\t\t\t\t\t\t\tchecked={!!category.checked}\n\t\t\t\t\t\t\t\t\t\tlabel={category.label}\n\t\t\t\t\t\t\t\t\t\t{...profileProps}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{otherChecked ? (\n\t\t\t\t\t\t\t<dps-input\n\t\t\t\t\t\t\t\tclassName=\"other-input\"\n\t\t\t\t\t\t\t\tmax-length={CONSTANTS.DEFAULTS.INPUT_MAX_LENGTH}\n\t\t\t\t\t\t\t\tvalue={otherRole || ''}\n\t\t\t\t\t\t\t></dps-input>\n\t\t\t\t\t\t) : null}\n\n\t\t\t\t\t\t{isDeleteAccountEnable ? (<div>\n\t\t\t\t\t\t\t<div className=\"delete-account-heading\">DELETE ACCOUNT</div>\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\tOnce you delete this account, there is no going back. Please be\n\t\t\t\t\t\t\t\tcertain.\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tclassName=\"profile-form-delete-account-button\"\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\t\tDPS_PROFILE_ACTIONS.DPS_PROFILE_DELETE_ACCOUNT_CLICKED,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\ttemplate: () => (\n\t\t\t\t\t\t\t\t\t\t\t\t<dps-delete-user-account-modal\n\t\t\t\t\t\t\t\t\t\t\t\t\topened={true}\n\t\t\t\t\t\t\t\t\t\t\t\t\temail={userInfo.email}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\t\t// class={{ disabled: disabled || !canDelete }}\n\t\t\t\t\t\t\t\t\ticon=\"trash-outline\"\n\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\tDelete Account\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>) : null}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"profile-page-form-buttons\">\n\t\t\t\t\t<button\n\t\t\t\t\t\tid=\"save-changes-button\"\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'dps-button': true,\n\t\t\t\t\t\t\t'-primary': true,\n\t\t\t\t\t\t\t'-sm': true\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span>Save Changes</span>\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</form>\n\t\t</div>\n\t);\n};\n\nexport default view;\n","import { CONSTANTS, DPS_TOAST_ALERT_TYPES } from '../../constants';\nimport { formRef } from './view';\nimport {\n\thasUserInfoUpdated,\n\tisTruthy,\n\tmakeHttpEffectCreator,\n\tredirectToAuth,\n\tuserInfoPopulated\n} from '../../utils/helpers';\nimport { getUserInfo } from '../dps-app/actionHelpers';\nimport { actionTypes } from '@servicenow/ui-core';\nimport { DPS_PROFILE_ACTIONS } from './actions';\nimport handleUserLogout from '../../connected-components/dps-app/actionHandlers/handleUserLogout';\nimport { APP_ACTIONS } from '../dps-app/actions';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\n/**\n * Dispatches createHttpEffect with profile data\n * @type {{action: Object}}\n */\nconst profileDataPost = makeHttpEffectCreator(\n\tDPS_PROFILE_ACTIONS.DPS_PROFILE_POST_HTTP,\n\tCONSTANTS.ENDPOINTS.POST_ROLE_FROM_PROFILE_FORM,\n\t{\n\t\tmethod: 'POST',\n\t\tdataParam: 'data',\n\t\tbatch: false,\n\t\tonError({ action }) {\n\t\t\tconst {\n\t\t\t\tpayload: { result }\n\t\t\t} = action;\n\n\t\t\tdispatch('DPS_TOAST_ALERT', {\n\t\t\t\tmessage: (result && result.message) || '',\n\t\t\t\ttype: DPS_TOAST_ALERT_TYPES.ERROR\n\t\t\t});\n\t\t},\n\t\tonSuccess({ action, dispatch, properties, updateProperties }) {\n\t\t\tconst {\n\t\t\t\tpayload: { result }\n\t\t\t} = action;\n\t\t\tconst { userInfo } = properties;\n\t\t\tconst message = result && result.success ? 'Changes saved' : 'Failed';\n\t\t\tconst type =\n\t\t\t\tresult && result.success\n\t\t\t\t\t? DPS_TOAST_ALERT_TYPES.SUCCESS\n\t\t\t\t\t: DPS_TOAST_ALERT_TYPES.ERROR;\n\n\t\t\tif (result && result.success) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tuserInfo: {\n\t\t\t\t\t\t...userInfo,\n\t\t\t\t\t\tjob_responsibilities: result.message.roles_and_responsibilities,\n\t\t\t\t\t\tjob_responsibilities_other_text:\n\t\t\t\t\t\t\tresult.message.roles_and_responsibilities_other_text\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tgetUserInfo(dispatch);\n\t\t\t}\n\n\t\t\tdispatch('DPS_TOAST_ALERT', {\n\t\t\t\tautoDismiss: true,\n\t\t\t\tmessage,\n\t\t\t\ttype\n\t\t\t});\n\t\t}\n\t}\n);\n\nexport const handleOnSubmit = coeffects => {\n\tconst { action, dispatch, properties, updateProperties } = coeffects;\n\tconst { current } = formRef;\n\tconst { existingRoles, existingRolesOtherText } = action.payload;\n\tlet checkedRoles = [];\n\tlet checkedRolesObj = {\n\t\troles_and_responsibilities: '',\n\t\troles_and_responsibilities_other_text: ''\n\t};\n\tlet otherRoleName = '';\n\taction.stopPropagation();\n\n\tconst checkedItems = current.querySelectorAll('.dps-checkbox>input:checked');\n\tfor (let i = 0; i < checkedItems.length; i++) {\n\t\tlet role = checkedItems[i].value;\n\t\tif (role === 'Other') {\n\t\t\totherRoleName = current.querySelector('.other-input').value;\n\t\t}\n\t\tcheckedRoles.push(role);\n\t}\n\n\tlet checkedRoleStr = checkedRoles.join(', ');\n\tcheckedRolesObj = {\n\t\troles_and_responsibilities: checkedRoleStr,\n\t\troles_and_responsibilities_other_text: otherRoleName\n\t}\n\t\n\tif (existingRoles !== checkedRoleStr || existingRolesOtherText !== otherRoleName) {\n\t\tdispatch(DPS_PROFILE_ACTIONS.DPS_PROFILE_POST_HTTP, {\n\t\t\tdata: {\n\t\t\t\tresult: checkedRolesObj\n\t\t\t}\n\t\t});\n\t}\n};\n\nexport const handleCheckBoxClick = coeffects => {\n\tconst { action, updateProperties } = coeffects;\n\tconst { id, checked } = action.payload;\n\n\tif (id === 'other') {\n\t\tupdateProperties({ otherChecked: isTruthy(checked) });\n\t}\n};\n\nexport const DPS_PROFILE_ACTION_HANDLERS = {\n\t...profileDataPost,\n\t...handleUserLogout,\n\t[COMPONENT_BOOTSTRAPPED]: coeffects => {\n\t\tconst { properties, updateProperties } = coeffects;\n\t\tconst { userInfo } = properties;\n\t\tconst { job_responsibilities } = userInfo;\n\n\t\t// if userInfo object is populated but user is not logged in, then redirect to login page\n\t\tif (userInfoPopulated(userInfo) && !userInfo.is_logged_in) {\n\t\t\treturn redirectToAuth(location.href);\n\t\t}\n\t\tif (\n\t\t\tjob_responsibilities &&\n\t\t\tjob_responsibilities.toLowerCase().includes('other')\n\t\t) {\n\t\t\tupdateProperties({\n\t\t\t\totherChecked: true\n\t\t\t});\n\t\t}\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: ({ action, updateProperties }) => {\n\t\tconst { name, previousValue, value } = action.payload;\n\n\t\tif (hasUserInfoUpdated({ name, previousValue, value })) {\n\t\t\tconst userInfo = value;\n\t\t\tconst { job_responsibilities } = userInfo;\n\n\t\t\tif (!userInfo.is_logged_in) {\n\t\t\t\treturn redirectToAuth(location.href);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tjob_responsibilities &&\n\t\t\t\tjob_responsibilities.toLowerCase().includes('other')\n\t\t\t) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\totherChecked: true\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\t[DPS_PROFILE_ACTIONS.DPS_PROFILE_FORM_ON_SUBMIT]: handleOnSubmit,\n\t[DPS_PROFILE_ACTIONS.DPS_PROFILE_OTHER_CHECKBOX_CLICKED]: handleCheckBoxClick,\n\t[DPS_PROFILE_ACTIONS.DPS_PROFILE_DELETE_ACCOUNT_CLICKED]: ({action: { payload}, updateState}) => {\n\t\tupdateState({\n\t\t\tModalComponent: payload.template,\n\t\t});\n\t},\n\t[DPS_PROFILE_ACTIONS.CLOSE_MODAL]: ({updateState, dispatch, action}) => {\n\t\taction.stopPropagation();\n\t\tupdateState({\n\t\t\tModalComponent: null,\n\t\t});\n\t\tif (action.payload.deleted || action.payload.logout) {\n\t\t\tdispatch(APP_ACTIONS.LOGOUT);\n\t\t}\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport view from './view';\nimport styles from './styles.scss';\nimport { DPS_PROFILE_ACTION_HANDLERS as actionHandlers } from './actionHandlers';\n\nexport default createCustomElement('dps-profile', {\n\tactionHandlers: {\n\t\t...actionHandlers\n\t},\n\trenderer: { type: snabbdom },\n\tstyles,\n\tproperties: {\n\t\tisAlertOpen: {\n\t\t\tdefault: null\n\t\t},\n\t\tisFormSubmitted: {\n\t\t\tdefault: null\n\t\t},\n\t\tpostMessage: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\totherChecked: {\n\t\t\tdefault: false\n\t\t},\n\t\tsystemProperties: {\n\t\t\tdefault: {}\n\t\t},\n\t\tuserInfo: {\n\t\t\tdefault: null\n\t\t}\n\t},\n\tsetInitialState() {\n\t\treturn {\n\t\t\tModalComponent: null\n\t\t}\n\t},\n\tview\n});\n","import tutorialsLandingPage1 from '../../images/tutorials-landing-page-image1.svg';\nimport tutorialsLandingPage2 from '../../images/tutorials-landing-page-image2.svg';\n\nexport const responseData = {\n\tcardsData: [\n\t\t{\n\t\t\ttype: 'Tutorial',\n\t\t\ttitle: 'Departmental request app tutorial',\n\t\t\tdescription:\n\t\t\t\t'In this tutorial, you will learn how to use App Engine Studio to build a departmental request app in your Personal Developer Instance (PDI) through step by step instructions and video.',\n\t\t\tisInternal: true,\n\t\t\trelease: 'Quebec',\n\t\t\timage: tutorialsLandingPage1\n\t\t},\n\t\t{\n\t\t\ttype: 'Tutorial',\n\t\t\ttitle: 'Some other app tutorial',\n\t\t\tdescription:\n\t\t\t\t'In this tutorial, you will learn how to use App Engine Studio to build a departmental request app in your Personal Developer Instance (PDI) through step by step instructions and video.',\n\t\t\tisInternal: false,\n\t\t\trelease: 'Quebec',\n\t\t\timage: tutorialsLandingPage2\n\t\t}\n\t]\n};\n","import '../../components/dps-badge';\n\nconst RenderTutorialCard = props => {\n\tconst {\n\t\ttype,\n\t\ttitle,\n\t\tdescription,\n\t\tisInternal,\n\t\trelease,\n\t\timage,\n\t\tlistingPageURL,\n\t\tscreenWidth\n\t} = props;\n\n\tconst showImageAsBackgroundMinWidth = 991.98; //The screen width value of md screen width media query is taken\n\tconst showImageAsBackGround = screenWidth < showImageAsBackgroundMinWidth;\n\n\tconst getParsedDescription = description =>\n\t\t(description && description.replace(/<a href=\"(.*?)\">(.*?)<\\/a>/ig, '$2')) ||\n\t\t'';\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"dps-learning-tutorials-card\"\n\t\t\ton-click={() => {\n\t\t\t\tlocation.href = listingPageURL;\n\t\t\t}}\n\t\t>\n\t\t\t<section\n\t\t\t\tclass={{\n\t\t\t\t\t'dps-learning-tutorials-card-image': true,\n\t\t\t\t\t'dps-learning-tutorials-card-image-show-as-background': showImageAsBackGround\n\t\t\t\t}}\n\t\t\t\tstyle={\n\t\t\t\t\tshowImageAsBackGround\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t'background-image': `url(${image})`\n\t\t\t\t\t\t  }\n\t\t\t\t\t\t: null\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<img src={image}></img>\n\t\t\t</section>\n\t\t\t<section className=\"dps-learning-tutorials-card-details\">\n\t\t\t\t<p className=\"dps-learning-tutorials-card-details-type\">{type}</p>\n\t\t\t\t<p className=\"dps-learning-tutorials-card-details-title\">{title}</p>\n\t\t\t\t<p\n\t\t\t\t\tclassName=\"dps-learning-tutorials-card-details-description\"\n\t\t\t\t\tinnerHTML={getParsedDescription(description)}\n\t\t\t\t/>\n\t\t\t\t<dps-badge\n\t\t\t\t\tlabel={release}\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tcategory\n\t\t\t\t\tfont=\"Lato\"\n\t\t\t\t></dps-badge>\n\t\t\t</section>\n\t\t</div>\n\t);\n};\n\nexport default RenderTutorialCard;\n","import '@servicenow/now-icon';\nimport '../../components/dps-link';\nimport '../../components/dps-card-container';\nimport '../../components/dps-card';\nimport '../../components/dps-badge';\nimport '../../components/dps-page-header';\nimport '../../components/dps-spinner';\nimport { responseData } from './mock-data';\nimport RenderTutorialCard from './render-tutorial-card';\nimport Colors from '../../styles/global/colors';\nimport { getFormattedInstanceReleaseInfo } from '../../utils/releaseHelpers';\n\nconst view = state => {\n\tconst { properties } = state;\n\tconst {\n\t\tscreenWidth,\n\t\tcardsData,\n\t\tinstanceInfo,\n\t\trelease,\n\t\tpathname,\n\t\totherReleases,\n\t\tsystemProperties,\n\t\tisLoading\n\t} = properties;\n\n\tconst instanceRelease = getFormattedInstanceReleaseInfo(instanceInfo);\n\n\treturn (\n\t\t<div className=\"dps-learning-tutorials\">\n\t\t\t<dps-page-header\n\t\t\t\tpage-title=\"Tutorials\"\n\t\t\t\tsub-title=\"Exercises with tips and tricks, in which you create small apps or add features to existing apps in the Now Platform.\"\n\t\t\t\tbackground-color={Colors.learningBackgroundColor}\n\t\t\t\tvariant={'two-column-centered-overview'}\n\t\t\t\theaderVariant={'big'}\n\t\t\t\tshow-version-selector\n\t\t\t\tpathname={pathname}\n\t\t\t\tinstance-release={instanceRelease}\n\t\t\t\tother-releases={otherReleases}\n\t\t\t\tselected-release={release}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t/>\n\t\t\t<div className=\"dps-learning-tutorials-cards-list\">\n\t\t\t\t<div className=\"dps-learning-tutorials-cards-list-section\">\n\t\t\t\t\t{isLoading ? (\n\t\t\t\t\t\t<div className=\"dps-learning-tutorials-cards-loader\">\n\t\t\t\t\t\t\t<dps-spinner />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tcardsData &&\n\t\t\t\t\t\tcardsData.map(data => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<RenderTutorialCard\n\t\t\t\t\t\t\t\t\ttype={data.type}\n\t\t\t\t\t\t\t\t\ttitle={data.title}\n\t\t\t\t\t\t\t\t\tdescription={data.description}\n\t\t\t\t\t\t\t\t\tisInternal={data.isInternal}\n\t\t\t\t\t\t\t\t\trelease={data.release}\n\t\t\t\t\t\t\t\t\timage={data.image}\n\t\t\t\t\t\t\t\t\tscreenWidth={screenWidth}\n\t\t\t\t\t\t\t\t\tlistingPageURL={data.listingPageURL}\n\t\t\t\t\t\t\t\t></RenderTutorialCard>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default view;\n","export const DPS_LEARNING_TUTORIALS = {\n    FETCH_LANDING_PAGE_CONTENT: 'DPS_LEARNING_TUTORIALS#FETCH_LANDING_PAGE_CONTENT',\n    FETCH_LANDING_PAGE_CONTENT_SUCCEEDED: 'DPS_LEARNING_TUTORIALS#FETCH_LANDING_PAGE_CONTENT_SUCCEEDED',\n    FETCH_LANDING_PAGE_CONTENT_FAILED: 'DPS_LEARNING_TUTORIALS#FETCH_LANDING_PAGE_CONTENT_FAILED',\n    TUTORIALS_PAGE_RESIZED: 'RESIZE_OBSERVER#TARGET_RESIZED'\n}","import { CONSTANTS, DPS_ERROR_ACTIONS } from '../../constants';\nimport { actionTypes } from '@servicenow/ui-core';\nimport {\n\tmakeHttpEffectCreator,\n\tisUserUnauthorizedToViewPage,\n\tredirectToAuth\n} from '../../utils/helpers';\nimport { DPS_LEARNING_TUTORIALS } from './actions';\nimport { releaseInactive } from '../../utils/releaseHelpers';\nimport { updateRoute } from '../../routes';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst handleComponentBootstrapped = ({\n\tdispatch,\n\tproperties,\n\tupdateProperties\n}) => {\n\tconst inactiveResult = releaseInactive(properties);\n\tconst { release } = properties;\n\n\tif (inactiveResult) {\n\t\tupdateProperties({\n\t\t\tredirectedFromInactiveRelease: true\n\t\t});\n\t\treturn updateRoute(inactiveResult);\n\t}\n\n\tdispatch(DPS_LEARNING_TUTORIALS.FETCH_LANDING_PAGE_CONTENT, {\n\t\trelease\n\t});\n};\n\nconst handleFetchTutorialCardsContent = makeHttpEffectCreator(\n\tDPS_LEARNING_TUTORIALS.FETCH_LANDING_PAGE_CONTENT,\n\tCONSTANTS.ENDPOINTS.GET_TUTORIALS_LANDING_PAGE_DATA,\n\t{\n\t\tbatch: false,\n\t\theaders: {\n\t\t\t'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8'\n\t\t},\n\t\tmethod: 'GET',\n\t\tpathParams: ['release'],\n\t\tonSuccess(coeffects) {\n\t\t\tconst { action, updateProperties } = coeffects;\n\t\t\tconst { result } = action.payload.result;\n\t\t\tconst { cardsData, otherReleases } = result;\n\t\t\tupdateProperties({\n\t\t\t\tcardsData,\n\t\t\t\totherReleases,\n\t\t\t\tisLoading: false\n\t\t\t});\n\t\t},\n\t\tonError(coeffects) {\n\t\t\tconst { action, dispatch, properties } = coeffects;\n\t\t\tconst { userInfo } = properties;\n\t\t\tconst { result } =\n\t\t\t\taction.payload && action.payload.data && action.payload.data.result;\n\t\t\tconst userUnauthorizedToViewPage = isUserUnauthorizedToViewPage(\n\t\t\t\tuserInfo,\n\t\t\t\taction.payload\n\t\t\t);\n\t\t\tconst { otherReleases, statusCode } = result;\n\n\t\t\tif (userUnauthorizedToViewPage) {\n\t\t\t\tredirectToAuth(location.href);\n\t\t\t} else if (statusCode == 404) {\n\t\t\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND, {\n\t\t\t\t\totherReleases,\n\t\t\t\t\tcontentTitle: 'Tutorials',\n\t\t\t\t\tisContentNotFoundForCurrentRelease: true\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tdispatch(DPS_ERROR_ACTIONS.PAGE_NOT_FOUND);\n\t\t\t}\n\t\t}\n\t}\n);\n\nconst handleComponentPropertyChanged = ({\n\tdispatch,\n\taction,\n    properties,\n\tupdateProperties\n}) => {\n\tconst { name, value, previousValue } = action.payload;\n\n\tif (name == 'release' && value != previousValue) {\n        const inactiveResult = releaseInactive(properties);\n\n        if (inactiveResult) {\n            updateProperties({\n                redirectedFromInactiveRelease: true\n            });\n            return updateRoute(inactiveResult);\n        }\n\n\t\tupdateProperties({\n\t\t\tcardsData: [],\n\t\t\tisLoading: true\n\t\t});\n\t\tdispatch(DPS_LEARNING_TUTORIALS.FETCH_LANDING_PAGE_CONTENT, {\n\t\t\trelease: value\n\t\t});\n\t}\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: handleComponentBootstrapped,\n\t[COMPONENT_PROPERTY_CHANGED]: handleComponentPropertyChanged,\n\t...handleFetchTutorialCardsContent,\n\t[DPS_LEARNING_TUTORIALS.TUTORIALS_PAGE_RESIZED]: coeffects => {\n\t\tconst { updateProperties, action } = coeffects;\n\t\tconst eventData = action.payload.event;\n\t\tconst rectWidth =\n\t\t\teventData &&\n\t\t\teventData[0] &&\n\t\t\teventData[0].contentRect &&\n\t\t\teventData[0].contentRect.width;\n\t\tupdateProperties({\n\t\t\tscreenWidth: rectWidth || screen.width\n\t\t});\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-learning-tutorials.scss';\nimport view from './view';\nimport resizeObserver from '../../behaviors/resizeObserver';\nimport { actionHandlers } from './actionHandlers';\n\n\nexport default createCustomElement('dps-learning-tutorials', {\n\trenderer: { \n        type: snabbdom \n    },\n\tview,\n    initialState: {},\n\tactionHandlers,\n\tproperties: {\n\t\tscreenWidth: {\n\t\t\tdefault: screen.width\n\t\t},\n\t\tcardsData: {\n\t\t\tdefault: []\n\t\t},\n\t\totherReleases: {\n\t\t\tdefault: []\n\t\t},\n\t\trelease: {\n\t\t\tdefault: ''\n\t\t},\n\t\tsystemProperties: {\n\t\t\tdefault: {}\n\t\t},\n\t\tinstanceInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tuserInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tpathname: {\n\t\t\tdefault: ''\n\t\t},\n\t\thash: {\n\t\t\tdefault: ''\n\t\t},\n\t\treleaseInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tisLoading: {\n\t\t\tdefault: true\n\t\t},\n\t\tredirectedFromInactiveRelease: {\n\t\t\tdefault: false\n\t\t},\n\t\trouteString: {\n\t\t\tdefault: ''\n\t\t}\n\t},\n\tstyles,\n\tbehaviors: [{\n\t\tbehavior: resizeObserver,\n\t\toptions: {\n\t\t\tselectors: ['.dps-learning-tutorials']\n\t\t}\n\t}]\n});\n","export const DPS_TUTORIAL_EXERCISE = {\n\tGET_EXERCISE_LIST: 'DPS_TUTORIAL_EXERCISE#GET_EXERCISE_LIST',\n\tGET_EXERCISE_LIST_SUCCEEDED:\n\t\t'DPS_TUTORIAL_EXERCISE#GET_EXERCISE_LIST_SUCCEEDED',\n\tGET_EXERCISE_LIST_ERRORED: 'DPS_TUTORIAL_EXERCISE#GET_EXERCISE_LIST_ERRORED',\n\tLOAD_SELECTED_EXERCISE: 'DPS_TUTORIAL_EXERCISE#LOAD_SELECTED_EXERCISE',\n\tUPDATE_EXERCISE_COMPLETION:\n\t\t'DPS_TUTORIAL_EXERCISE#UPDATE_EXERCISE_COMPLETION',\n\tEXERCISE_COMPLETED: 'DPS_TUTORIAL_EXERCISE#EXERCISE_COMPLETED'\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport { DPS_TUTORIAL_EXERCISE } from './actions';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { CONSTANTS, DPS_ERROR_ACTIONS } from '../../constants';\nimport { updateRoute } from '../../routes';\nimport { releaseInactive } from '../../utils/releaseHelpers';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\n/**\n * Triggered on Component Bootstrap\n * Dispatch API call to fetch Exercise List\n * @param {coeffect}\n */\nconst handlePageBootstrapped = ({ dispatch, properties }) => {\n\tconst { tutorialId, release } = properties;\n\tdispatch(DPS_TUTORIAL_EXERCISE.GET_EXERCISE_LIST, { tutorialId, release });\n};\n\n/**\n * Api call to update Exercise completion\n */\nconst handleUpdateExerciseCompletion = createHttpEffect(\n\tCONSTANTS.ENDPOINTS.UPDATE_TUTORIAL_EXERCISE_COMPLETION,\n\t{\n\t\tbatch: false,\n\t\tmethod: 'POST',\n\t\tdataParam: ['data']\n\t}\n);\n\n/**\n * Triggers the api to update exercise completion\n * @param {coeffect}\n */\nconst handleExerciseCompleted = ({\n\taction,\n\tproperties,\n\tdispatch,\n\tupdateProperties\n}) => {\n\tconst { exerciseId } = action.payload;\n\tlet { tutorialId, release, exerciseList } = properties;\n\tlet data = {\n\t\ttutorialId,\n\t\texerciseId,\n\t\trelease\n\t};\n\tfor (let i = 0; i < exerciseList.length; i++) {\n\t\tif (exerciseList[i].id === exerciseId) {\n\t\t\tif (!exerciseList[i].isCompleted) {\n\t\t\t\texerciseList[i].isCompleted = true;\n\t\t\t}\n\t\t}\n\t}\n\tdispatch(DPS_TUTORIAL_EXERCISE.UPDATE_EXERCISE_COMPLETION, { data });\n\tupdateProperties({ exerciseList: [...exerciseList] });\n};\n\n/**\n * Api call to fetch Exercise List.\n */\nconst handleGetExerciseList = createHttpEffect(\n\tCONSTANTS.ENDPOINTS.TUTORIAL_EXERCISE_LIST,\n\t{\n\t\tbatch: false,\n\t\tmethod: 'GET',\n\t\tqueryParams: ['tutorialId', 'release'],\n\t\tsuccessActionType: DPS_TUTORIAL_EXERCISE.GET_EXERCISE_LIST_SUCCEEDED,\n\t\terrorActionType: DPS_TUTORIAL_EXERCISE.GET_EXERCISE_LIST_ERRORED\n\t}\n);\n\n/**\n * Success handler for fetch Exercise List API\n * @param {coeffect}\n */\nconst handleGetExerciseListSucceeded = ({\n\taction,\n\tupdateProperties,\n\tproperties,\n\tdispatch\n}) => {\n\tconst { exerciseId } = properties;\n\tconst { result } = action.payload;\n\tconst exerciseList = (result && result.exerciseList) || [];\n\tlet {\n\t\ttutorialDetails: { title: tutorialName, githubLink }\n\t} = result;\n\tupdateProperties({\n\t\ttutorialName,\n\t\tgithubLink\n\t});\n\tprocessExerciseDetails(\n\t\texerciseList,\n\t\texerciseId,\n\t\tupdateProperties,\n\t\tproperties,\n\t\tdispatch\n\t);\n};\n\n/**\n * Generic function to procees Exercise details\n *\n * @param {Array} exerciseList\n * @param {string} exerciseId\n */\nconst processExerciseDetails = (\n\texerciseList,\n\texerciseId,\n\tupdateProperties,\n\tproperties,\n\tdispatch\n) => {\n\tlet exercises = [];\n\tlet pageContent = '';\n\tlet isloading = true;\n\tlet exerciseName = '';\n\tlet prevExercise = {};\n\tlet nextExercise = {};\n\tlet otherReleases = {};\n\n\tfor (let i = 0; i < exerciseList.length; i++) {\n\t\tif (exerciseList[i].title) {\n\t\t\tlet obj = {\n\t\t\t\ttitle: exerciseList[i].title,\n\t\t\t\tisCompleted: exerciseList[i].isCompleted,\n\t\t\t\tid: exerciseList[i].id,\n\t\t\t\tisActive: exerciseList[i].id === exerciseId\n\t\t\t};\n\t\t\texercises.push(obj);\n\t\t\tif (exerciseId === exerciseList[i].id) {\n\t\t\t\tpageContent = exerciseList[i].articleBody;\n\t\t\t\totherReleases = formatOtherRelease(exerciseList[i].otherReleases, properties.systemProperties);\n\t\t\t\tisloading = false;\n\t\t\t\texerciseName = exerciseList[i].title;\n\t\t\t\tprevExercise =\n\t\t\t\t\ti != 0\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\ttitle: exerciseList[i - 1].title,\n\t\t\t\t\t\t\t\tid: exerciseList[i - 1].id\n\t\t\t\t\t\t  }\n\t\t\t\t\t\t: null;\n\t\t\t\tnextExercise =\n\t\t\t\t\ti != exerciseList.length - 1\n\t\t\t\t\t\t? (nextExercise = {\n\t\t\t\t\t\t\t\ttitle: exerciseList[i + 1].title,\n\t\t\t\t\t\t\t\tid: exerciseList[i + 1].id\n\t\t\t\t\t\t  })\n\t\t\t\t\t\t: null;\n\t\t\t}\n\t\t} else {\n\t\t\tif (exerciseId === exerciseList[i].id) {\n\t\t\t\totherReleases = formatOtherRelease(exerciseList[i].otherReleases, properties.systemProperties);\n\t\t\t}\n\t\t}\n\t}\n\n\tupdateProperties({\n\t\texercises,\n\t\tpageContent,\n\t\tisloading,\n\t\texerciseList,\n\t\texerciseName,\n\t\tprevExercise,\n\t\tnextExercise,\n\t\totherReleases\n\t});\n\n\tconst { userInfo } = properties;\n\tconst isUserLoggedIn = userInfo && userInfo.is_logged_in;\n\n\tif (isUserLoggedIn) {\n\t\tdispatch(DPS_TUTORIAL_EXERCISE.EXERCISE_COMPLETED, {\n\t\t\texerciseId: exerciseId\n\t\t});\n\t}\n};\n\nconst formatOtherRelease = (otherReleases, systemProperties) => {\n\tconst activeReleases = (systemProperties && systemProperties['dev.active_releases'])\n\t\t? systemProperties['dev.active_releases'].split(',')\n\t\t: [];\n\treturn otherReleases.sort(function(a, b) {\n\t\tconst aIndex = activeReleases.indexOf(a.id);\n\t\tconst bIndex = activeReleases.indexOf(b.id);\n\t\tif (aIndex !== -1 && bIndex !== -1) {\n\t\t\treturn bIndex - aIndex; \n\t\t}\n\t\tif (a.label < b.label) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (a.label > b.label) {\n\t\t\treturn -1;\n\t\t}\n\t\treturn 0;\n\t});\n};\n\n/**\n * Error handler for fetch Exercise List API\n * @param {coeffect}\n */\nconst handleGetExerciseListErrored = ({ action }) => {};\n\n/**\n * Updates the content on the page.\n * @param {coeffect}\n */\nconst handleLoadSelectedExerciseContent = ({\n\tproperties,\n\tupdateProperties,\n\tdispatch\n}) => {\n\tconst { exerciseId, exerciseList } = properties;\n\tprocessExerciseDetails(\n\t\texerciseList,\n\t\texerciseId,\n\t\tupdateProperties,\n\t\tproperties,\n\t\tdispatch\n\t);\n};\n\nexport const actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]: handlePageBootstrapped,\n\t[DPS_TUTORIAL_EXERCISE.GET_EXERCISE_LIST]: handleGetExerciseList,\n\t[DPS_TUTORIAL_EXERCISE.GET_EXERCISE_LIST_SUCCEEDED]: handleGetExerciseListSucceeded,\n\t[DPS_TUTORIAL_EXERCISE.GET_EXERCISE_LIST_ERRORED]: handleGetExerciseListErrored,\n\t[DPS_TUTORIAL_EXERCISE.LOAD_SELECTED_EXERCISE]: handleLoadSelectedExerciseContent,\n\t[DPS_TUTORIAL_EXERCISE.UPDATE_EXERCISE_COMPLETION]: handleUpdateExerciseCompletion,\n\t[DPS_TUTORIAL_EXERCISE.EXERCISE_COMPLETED]: handleExerciseCompleted,\n\t['DPS_PREV_NEXT_DOC#NEXT_CLICKED']: ({ action }) => {\n\t\tconst { nextLink } = action.payload;\n\t\tupdateRoute(`/${nextLink}`);\n\t},\n\t['DPS_PREV_NEXT_DOC#PREV_CLICKED']: ({ action }) => {\n\t\tconst { prevLink } = action.payload;\n\t\tupdateRoute(`/${prevLink}`);\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: ({ action, dispatch, properties }) => {\n\t\tconst { tutorialId, release } = properties;\n\t\tconst { name, value, previousValue } = action.payload;\n\t\tconst propertyList = ['release', 'exerciseId', 'tutorialId'];\n\n\t\tif (propertyList.indexOf(name) > -1) {\n\t\t\tif (name == 'release' && value != previousValue) {\n\t\t\t\tconst inactiveResult = releaseInactive(properties);\n\t\t\t\tif (inactiveResult) {\n\t\t\t\t\treturn updateRoute(inactiveResult);\n\t\t\t\t}\n\t\t\t\tdispatch(DPS_TUTORIAL_EXERCISE.GET_EXERCISE_LIST, {\n\t\t\t\t\ttutorialId,\n\t\t\t\t\trelease\n\t\t\t\t});\n\t\t\t}\n\t\t\tdispatch(DPS_TUTORIAL_EXERCISE.LOAD_SELECTED_EXERCISE);\n\t\t}\n\t}\n};","import exerciseIcon from '../../images/tutorial-exercise.svg';\nimport exerciseCompletedIcon from '../../images/tutorial-exercise-completed.svg';\nimport tutorialAssetIcon from '../../images/tutorial-assets.svg';\nimport { getFormattedInstanceReleaseInfo } from '../../utils/releaseHelpers';\nimport { getPathArray } from '../../utils/url';\n\nconst view = state => {\n\tconst {\n\t\tisloading,\n\t\texercises,\n\t\tpageContent,\n\t\trelease,\n\t\ttutorialId,\n\t\texerciseName,\n\t\ttutorialName,\n\t\tprevExercise,\n\t\tnextExercise,\n\t\treleaseInfo,\n\t\tinstanceInfo,\n\t\tsystemProperties,\n\t\tgithubLink,\n\t\tuserInfo,\n\t\tpathname,\n\t\totherReleases\n\t} = state.properties;\n\tconst instanceRelease = getFormattedInstanceReleaseInfo(instanceInfo);\n\tconst gitHubPathArr = getPathArray(githubLink) || [];\n\tconst isUserLoggedIn = userInfo && userInfo.is_logged_in;\n\n\treturn (\n\t\t<div className=\"dps-tutorial-exercise\">\n\t\t\t<dps-breadcrumb\n\t\t\t\titems={[\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Tutorials',\n\t\t\t\t\t\tredirectURL: `learn/tutorials/${release}`\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: tutorialName,\n\t\t\t\t\t\tredirectURL: `learn/tutorials/${release}/${tutorialId}`\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: exerciseName,\n\t\t\t\t\t\tredirectURL: ''\n\t\t\t\t\t}\n\t\t\t\t]}\n\t\t\t/>\n\t\t\t<div className=\"dps-tutorial-exercise_banner\">\n\t\t\t\t<div className=\"dps-tutorial-exercise_banner-container\">\n\t\t\t\t\t<div className=\"dps-tutorial-exercise_banner_release-switcher\">\n\t\t\t\t\t\t<dps-inline-version-selector\n\t\t\t\t\t\t\tinstanceRelease={instanceRelease}\n\t\t\t\t\t\t\tselected={release}\n\t\t\t\t\t\t\treleases={otherReleases}\n\t\t\t\t\t\t\tsourcePathname={pathname}\n\t\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"dps-tutorial-exercise_banner_info\">\n\t\t\t\t\t\t{/* Title */}\n\t\t\t\t\t\t<div className=\"dps-tutorial-exercise_banner_info_title\">\n\t\t\t\t\t\t\t{tutorialName}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div className=\"dps-tutorial-exercise_banner_info_git_repo\">\n\t\t\t\t\t\t\t<img src={tutorialAssetIcon}></img>\n\t\t\t\t\t\t\tYou can find a completed version of this app on{' '}\n\t\t\t\t\t\t\t<dps-link href={githubLink} target=\"_blank\">\n\t\t\t\t\t\t\t\tGitHub\n\t\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t\t<now-icon icon=\"arrow-up-right-fill\" size=\"md\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<dps-template-two-column open={true} gray>\n\t\t\t\t<div slot=\"sidebar\">\n\t\t\t\t\t<div className=\"dps-tutorial-exercise_nav\">\n\t\t\t\t\t\t<div className=\"dps-tutorial-exercise_nav_exercise-list\">\n\t\t\t\t\t\t\t{exercises.map(exercise => {\n\t\t\t\t\t\t\t\tconst { isCompleted, title, isActive, id } = exercise;\n\n\t\t\t\t\t\t\t\tconst icon =\n\t\t\t\t\t\t\t\t\t(isCompleted || isActive) && isUserLoggedIn\n\t\t\t\t\t\t\t\t\t\t? exerciseCompletedIcon\n\t\t\t\t\t\t\t\t\t\t: exerciseIcon;\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\t['dps-tutorial-exercise_nav_exercise-list_exercise']: true,\n\t\t\t\t\t\t\t\t\t\t\t['-completed']: isCompleted,\n\t\t\t\t\t\t\t\t\t\t\t['-active']: isActive\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<img src={icon}></img>\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\thref={`#!/learn/tutorials/${release}/${tutorialId}/${id}`}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"dps-tutorial-exercise_nav_repo-info\">\n\t\t\t\t\t\t\t<div className=\"dps-tutorial-exercise_nav_repo-info_header\">\n\t\t\t\t\t\t\t\t<img src={tutorialAssetIcon}></img>Assets\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"dps-tutorial-exercise_nav_repo-info_info\">\n\t\t\t\t\t\t\t\tYou can find a completed version of this app on &nbsp;\n\t\t\t\t\t\t\t\t{githubLink ? (\n\t\t\t\t\t\t\t\t\t<a href={githubLink} target=\"_blank\">\n\t\t\t\t\t\t\t\t\t\tGitHub: {gitHubPathArr[gitHubPathArr.length - 1]}\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t<now-icon icon=\"arrow-up-right-fill\" size=\"md\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t{isloading ? (\n\t\t\t\t\t<dps-spinner />\n\t\t\t\t) : (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<div innerHTML={pageContent}></div>\n\t\t\t\t\t\t<dps-prev-next-doc\n\t\t\t\t\t\t\tprev={\n\t\t\t\t\t\t\t\tprevExercise\n\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\tlabel: 'Previous Article',\n\t\t\t\t\t\t\t\t\t\t\tdescription: prevExercise.title\n\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tnext={\n\t\t\t\t\t\t\t\tnextExercise\n\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\tlabel: 'Next Article',\n\t\t\t\t\t\t\t\t\t\t\tdescription: nextExercise.title\n\t\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tappend-to-payload={{\n\t\t\t\t\t\t\t\tprevLink: prevExercise\n\t\t\t\t\t\t\t\t\t? `learn/tutorials/${release}/${tutorialId}/${prevExercise.id}`\n\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t\tnextLink: nextExercise\n\t\t\t\t\t\t\t\t\t? `learn/tutorials/${release}/${tutorialId}/${nextExercise.id}`\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</dps-template-two-column>\n\t\t</div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { actionHandlers } from './actionHandlers';\nimport styles from './dps-tutorial-exercise.scss';\nimport view from './view';\n// import '../../components/dps-template-two-column';\n// import properties from './properties.js';\n\nexport default createCustomElement('dps-tutorial-exercise', {\n\tactionHandlers,\n\tinitialState: {},\n\tproperties: {\n\t\tisloading: {\n\t\t\tdefault: true\n\t\t},\n\t\texercises: {\n\t\t\tdefault: []\n\t\t},\n\t\tpageContent: {\n\t\t\tdefault: ''\n\t\t},\n\t\trelease: {\n\t\t\tdefault: ''\n\t\t},\n\t\texerciseId: {\n\t\t\tdefault: ''\n\t\t},\n\t\ttutorialId: {\n\t\t\tdefault: ''\n\t\t},\n\t\texerciseList: {\n\t\t\tdefault: []\n\t\t},\n\t\texerciseName: {\n\t\t\tdefault: ''\n\t\t},\n\t\ttutorialName: {\n\t\t\tdefault: ''\n\t\t},\n\t\tprevExercise: {\n\t\t\tdefault: {}\n\t\t},\n\t\tnextExercise: {\n\t\t\tdefault: {}\n\t\t},\n\t\tsystemProperties: {\n\t\t\tdefault: {}\n\t\t},\n\t\treleaseInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tinstanceInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tgithubLink: {\n\t\t\tdefault: ''\n\t\t},\n\t\tuserInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\trouteString: {\n\t\t\tdefault: ''\n\t\t},\n\t\tpathname: {\n\t\t\tdefault: ''\n\t\t},\n\t\totherReleases: {\n\t\t\tdefault: {}\n\t\t}\n\t},\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tstyles,\n\tview\n});\n","import subbmissionProcessImg from '../../images/subbmission-process-img.svg';\nimport benifitsImg from '../../images/benifits-img.svg';\nimport celebrationImg from '../../images/mvp_celebration.svg';\nimport mvpLinkedInImg from '../../images/mvp-linkedIn.svg';\nimport mvpArrowDown from '../../images/mvp-arrow-down.svg';\n\nimport { createAnchor } from '../../utils/url';\n\nconst view = state => {\n\tconst { systemProperties } = state.properties;\n\n\tconst developerMVPList =\n\t\t(systemProperties['dev.mvp.developer_list'] &&\n\t\t\tJSON.parse(systemProperties['dev.mvp.developer_list'])) ||\n\t\t[];\n\n\tconst developerMvpConfiguration =\n\t\t(systemProperties['dev.mvp.developer_configurations'] &&\n\t\t\tJSON.parse(systemProperties['dev.mvp.developer_configurations'])) ||\n\t\t{};\n\n\tconst { isCallOpen } = developerMvpConfiguration;\n\n\tconst getInitials = name => {\n\t\tconst nameArr = name.split(' ');\n\t\treturn nameArr[0][0] + '' + nameArr[nameArr.length - 1][0];\n\t};\n\n\tconst renderDeveloperName = name => {\n\t\tlet nameArr = name.split(' ');\n\t\tif (nameArr.length > 2) {\n\t\t\tlet tempArr = [];\n\t\t\ttempArr[0] = '';\n\t\t\ttempArr[1] = '';\n\t\t\tfor (let i = 0; i < Math.floor(nameArr.length / 2); i++) {\n\t\t\t\ttempArr[0] += nameArr[i] + ' ';\n\t\t\t}\n\t\t\tfor (let i = Math.floor(nameArr.length / 2); i < nameArr.length; i++) {\n\t\t\t\ttempArr[1] += nameArr[i] + ' ';\n\t\t\t}\n\t\t\tnameArr = tempArr;\n\t\t}\n\t\treturn nameArr.map(name => (\n\t\t\t<div className=\"mvp-developer-name\">{name}</div>\n\t\t));\n\t};\n\n\treturn (\n\t\t<div className=\"dps-developer-mvp\">\n\t\t\t<div className=\"dps-developer-mvp_intro\">\n\t\t\t\t<div className=\"dps-developer-mvp_intro_container\">\n\t\t\t\t\t<div className=\"dps-developer-mvp_intro_container_details\">\n\t\t\t\t\t\t<div className=\"dps-developer-mvp_intro_container_details_title\">\n\t\t\t\t\t\t\tDeveloper MVPs\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"dps-developer-mvp_intro_container_details_info\">\n\t\t\t\t\t\t\tThe ServiceNow Developer Program recognizes a number of developers\n\t\t\t\t\t\t\tevery year for their contributions to the ServiceNow developer\n\t\t\t\t\t\t\tcommunity.\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{isCallOpen ? (\n\t\t\t\t<div className=\"dps-developer-mvp_submission-quick-link\">\n\t\t\t\t\t<div className=\"dps-developer-mvp_submission-quick-link_container\">\n\t\t\t\t\t\t<img className=\"celebration-img\" src={celebrationImg} />\n\t\t\t\t\t\t<div className=\"dps-developer-mvp_submission-quick-link_details\">\n\t\t\t\t\t\t\t<span>Developer MVP call for candidates 2022 is now open!</span>\n\t\t\t\t\t\t\t<span className=\"dps-developer-mvp_submission-quick-link_ref\">\n\t\t\t\t\t\t\t\t<a href={createAnchor('#submission-process')}>\n\t\t\t\t\t\t\t\t\tCandidate Submission Process\n\t\t\t\t\t\t\t\t\t<img src={mvpArrowDown}></img>\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t) : null}\n\n\t\t\t<div className=\"dps-developer-mvp_developer-list\">\n\t\t\t\t<div className=\"dps-developer-mvp_developer-list_title\">\n\t\t\t\t\tDeveloper MVP class of 2022!\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-developer-mvp_developer-list_developers\">\n\t\t\t\t\t<div className=\"dps-developer-mvp_developer-list_developers_container\">\n\t\t\t\t\t\t{developerMVPList.map(developer => (\n\t\t\t\t\t\t\t<div className=\"dps-developer-mvp_developer-list_developers_container_details\">\n\t\t\t\t\t\t\t\t{developer.imageUrl ? (\n\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\tclassName=\"dps-developer-mvp_developer-list_developers_profile-img\"\n\t\t\t\t\t\t\t\t\t\tsrc={developer.imageUrl}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<div className=\"dps-developer-mvp_developer-list_developers_profile-name\">\n\t\t\t\t\t\t\t\t\t\t{getInitials(developer.name)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{renderDeveloperName(developer.name)}\n\t\t\t\t\t\t\t\t<div className=\"dps-developer-mvp_developer-list_developers_container_details_related_links\">\n\t\t\t\t\t\t\t\t\t{developer.linkedInLink ? (\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\thref={developer.linkedInLink}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"linkedin-details\"\n\t\t\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<img src={mvpLinkedInImg} />{' '}\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{isCallOpen ? (\n\t\t\t\t<div className=\"dps-developer-mvp_submission-call\">\n\t\t\t\t\t<div className=\"dps-developer-mvp_submission-call_container\">\n\t\t\t\t\t\t<div className=\"dps-developer-mvp_submission-call_container_title\">\n\t\t\t\t\t\t\tDeveloper MVP call for candidates 2022\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<p className=\"dps-developer-mvp_submission-call_container_detail\">\n\t\t\t\t\t\t\tWould you like to be a ServiceNow Developer MVP? The Developer\n\t\t\t\t\t\t\tMVPs are a collection of ServiceNow developers who are passionate\n\t\t\t\t\t\t\tabout ServiceNow and inspire other developers by sharing their\n\t\t\t\t\t\t\textensive knowledge openly and inclusively. They help, encourage,\n\t\t\t\t\t\t\tand enable developers of all skill levels and types succeed in\n\t\t\t\t\t\t\tbuilding and developing on the Now Platform.\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t\t<div className=\"dps-developer-mvp_benfits\">\n\t\t\t\t<div className=\"content\">\n\t\t\t\t\t<div className=\"content_header\">\n\t\t\t\t\t\t<span className=\"content_header_sub-header\">Developer MVP</span>\n\t\t\t\t\t\t<span className=\"content_header_title\">\n\t\t\t\t\t\t\tBenefits and selection criteria\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\tIn addition to the fame, fortune, and great renown that comes with\n\t\t\t\t\t\t\tbeing a Developer MVP, you get a dedicated Slack channel where you\n\t\t\t\t\t\t\tcan bug your fellow MVPs and developer advocates at all hours. As\n\t\t\t\t\t\t\tfar as selection criteria goes, we’ll be looking at contributions\n\t\t\t\t\t\t\tto the community in the following categories over all of 2022.\n\t\t\t\t\t\t\tThis includes:\n\t\t\t\t\t\t</p>\n\n\t\t\t\t\t\t<ol>\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\tPublic Presentations/Talks - These are typically Knowledge or\n\t\t\t\t\t\t\t\tCreatorCon breakouts and workshops or presentations at{' '}\n\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\thref=\"https://www.meetup.com/pro/servicenowdevprogram\"\n\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tDeveloper Meetups\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t. Public presentations help share knowledge and inspire other\n\t\t\t\t\t\t\t\tServiceNow developers.\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\tCommunity Contributions - The contributions could be through the\n\t\t\t\t\t\t\t\t<a href=\"https://community.servicenow.com/\" target=\"_blank\">\n\t\t\t\t\t\t\t\t\tServiceNow Community\n\t\t\t\t\t\t\t\t</a>{' '}\n\t\t\t\t\t\t\t\tand/or{' '}\n\t\t\t\t\t\t\t\t<a href=\"https://sndevs.com/\" target=\"_blank\">\n\t\t\t\t\t\t\t\t\tsndevs\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t. Interacting with and helping the community of ServiceNow\n\t\t\t\t\t\t\t\tdevelopers is a way for MVPs to give back and help enable other\n\t\t\t\t\t\t\t\tdevelopers.\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\tShare/GitHub Contributions - Apps and utilities uploaded to\n\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\thref=\"https://developer.servicenow.com/connect.do#!/share\"\n\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tShare\n\t\t\t\t\t\t\t\t</a>{' '}\n\t\t\t\t\t\t\t\tor to a public GitHub repo can serve as examples and helpful\n\t\t\t\t\t\t\t\ttools for other developers.\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t<li>Technical blog and video content and coding live streams.</li>\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\tSocial media interactions that are positive, engaging, enabling,\n\t\t\t\t\t\t\t\tand help to build the community.\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\tParticipation in other developer program activities such as\n\t\t\t\t\t\t\t\tHacktoberfest of the Mentorship program.\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t</ol>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"img\">\n\t\t\t\t\t<img src={benifitsImg} />\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div className=\"dps-developer-mvp_expectation\">\n\t\t\t\t<div className=\"dps-developer-mvp_expectation_section\">\n\t\t\t\t\t<div className=\"content\">\n\t\t\t\t\t\t<div className=\"content_header\">\n\t\t\t\t\t\t\t<span className=\"content_header_sub-header\">Developer MVP</span>\n\t\t\t\t\t\t\t<span className=\"content_header_title\">Expectations</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\tWe expect ServiceNow Developer MVPs to maintain professional,\n\t\t\t\t\t\t\t\topen-minded, and inclusive interactions and language while\n\t\t\t\t\t\t\t\tacting as a Developer MVP, and to contribute to the developer\n\t\t\t\t\t\t\t\tblog, YouTube channel, Meetups, and events like CreatorCon.\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div\n\t\t\t\tclassName=\"dps-developer-mvp_submission-process\"\n\t\t\t\tid=\"submission-process\"\n\t\t\t>\n\t\t\t\t<div className=\"content\">\n\t\t\t\t\t<div className=\"content_header\">\n\t\t\t\t\t\t<span className=\"content_header_sub-header\">Developer MVP</span>\n\t\t\t\t\t\t<span className=\"content_header_title\">\n\t\t\t\t\t\t\tCandidate submission process\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{isCallOpen ? (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\tIf you are interested in becoming a 2022 Developer MVP there are\n\t\t\t\t\t\t\t\ttwo steps:\n\t\t\t\t\t\t\t</p>\n\n\t\t\t\t\t\t\t<ol>\n\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\tLogin to devprogramresources.service-now.com using a google\n\t\t\t\t\t\t\t\t\taccount. If this is your first time logging into this instance\n\t\t\t\t\t\t\t\t\t(for most it probably is) you’ll need to visit the instance\n\t\t\t\t\t\t\t\t\tand click the Sign in with Google button. That will register\n\t\t\t\t\t\t\t\t\tyour google account with the instance and an approval will be\n\t\t\t\t\t\t\t\t\tgenerated to the Developer Advocate team (please give us at\n\t\t\t\t\t\t\t\t\tleast one US business day to approve before reaching out).\n\t\t\t\t\t\t\t\t\tOnce we approve you’ll get an email telling you to login. This\n\t\t\t\t\t\t\t\t\tinstance is not connected to standard ServiceNow SSO.\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\tAfter logging in to the instance you’ll be taken to the dev\n\t\t\t\t\t\t\t\t\tprogram portal. Click MVP Candidate Submission to visit the\n\t\t\t\t\t\t\t\t\tsubmission form. Fill out the form as fully as you can, but\n\t\t\t\t\t\t\t\t\tonce you submit you can come back and add more later if\n\t\t\t\t\t\t\t\t\tnecessary. Please add links to any content you’d like us to\n\t\t\t\t\t\t\t\t\tconsider in the other links section.\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t</ol>\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\tYou’ll be able to make changes and add links to your submission\n\t\t\t\t\t\t\t\tthrough the end of December 2021. At that time your profile will\n\t\t\t\t\t\t\t\tbe locked and we’ll inform everyone whether or not they were\n\t\t\t\t\t\t\t\tselected as a 2022 Developer MVP by the end of January 2022.\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\tIf you’re on the fence about submitting I would encourage you go\n\t\t\t\t\t\t\t\tahead and do it! If you have any questions you can reach out to\n\t\t\t\t\t\t\t\ta developer advocate via twitter, linkedin, or sndevs slack.\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\tThe 2022 Developer MVP submission process is now closed. Please\n\t\t\t\t\t\t\t\twatch the developer blog later this year for updates on next\n\t\t\t\t\t\t\t\tyear's MVP candidate submission process.\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{isCallOpen ? (\n\t\t\t\t\t<div className=\"img\">\n\t\t\t\t\t\t<img src={subbmissionProcessImg} />\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default view;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-developer-mvp.scss';\nimport view from './view';\nimport reactToHash from '../../behaviors/reactToHash';\n\nexport default createCustomElement('dps-developer-mvp', {\n\tactionHandlers: {},\n\tinitialState: {},\n\tproperties: {\n\t\tsystemProperties: {\n\t\t\tdefault: {}\n\t\t},\n\t\thash: {\n\t\t\tdefault: ''\n\t\t}\n\t},\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tstyles,\n\tview,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: reactToHash,\n\t\t\toptions: {\n\t\t\t\tadditionalOffset: -120\n\t\t\t}\n\t\t}\n\t]\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-engagement-page-pattern-1.scss';\n\nconst view = ({ properties }) => {\n\tconst { content } = properties;\n\treturn (\n\t\t<div className=\"dps-engagement-page-pattern-1\">\n\t\t\t<div className=\"container\">\n\t\t\t\t{content.map(card =>\n\t\t\t\t\tcard.type == 'full_width' ? (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"card full-width\"\n\t\t\t\t\t\t\tid={card.id}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tbackgroundColor: card.backgroundColor,\n\t\t\t\t\t\t\t\tbackgroundImage: `url(${card.image})`\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"full_width_card\">\n\t\t\t\t\t\t\t\t<div className=\"full_width_card-subtext\">{card.subText}</div>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName=\"full_width_card-title\"\n\t\t\t\t\t\t\t\t\tinnerHTML={card.title}\n\t\t\t\t\t\t\t\t></div>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName=\"full_width_card-description\"\n\t\t\t\t\t\t\t\t\tinnerHTML={card.description}\n\t\t\t\t\t\t\t\t></div>\n\t\t\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\t\tbuttonStyle\n\t\t\t\t\t\t\t\t\tbuttonVariant=\"secondary\"\n\t\t\t\t\t\t\t\t\thref={card.href}\n\t\t\t\t\t\t\t\t\tinternalAction={card.internalLink}\n\t\t\t\t\t\t\t\t\texternalAction={!card.internalLink}\n\t\t\t\t\t\t\t\t\tbutton-size=\"sm\"\n\t\t\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\t\t\ttarget={card.internalLink ? '_self' : '_blank'}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{card.ctaLabel}\n\t\t\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className=\"card\" id={card.id}>\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc={card.image}\n\t\t\t\t\t\t\t\tclassName=\"card_image\"\n\t\t\t\t\t\t\t\talt=\"group of three people passing books\"\n\t\t\t\t\t\t\t\tslot=\"icon-custom\"\n\t\t\t\t\t\t\t\tstyle={{ backgroundColor: card.ImagebackgroundColor }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p className=\"card_title\" innerHTML={card.title} />\n\t\t\t\t\t\t\t<p className=\"card_description\" innerHTML={card.description} />\n\t\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\tbuttonStyle\n\t\t\t\t\t\t\t\tbuttonVariant=\"secondary\"\n\t\t\t\t\t\t\t\thref={card.href}\n\t\t\t\t\t\t\t\tinternalAction={card.internalLink}\n\t\t\t\t\t\t\t\texternalAction={!card.internalLink}\n\t\t\t\t\t\t\t\tbutton-size=\"sm\"\n\t\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\t\ttarget={card.internalLink ? '_self' : '_blank'}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{card.ctaLabel}\n\t\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-engagement-page-pattern-1', {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\tcontent: {\n\t\t\tdefault: []\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-icon';\nimport styles from './dps-aggregate-engagement-pattern-2.scss';\nimport '../../../../components/dps-link';\nimport '../../../../components/dps-spinner';\nimport PeopleHighFive from '../../../../images/connect-people-high-five.svg';\nimport { document } from '../../../../icons';\n\nconst view = ({ properties }) => {\n\tconst { content } = properties;\n\tconst {\n\t\ttitle,\n\t\tsubtitle,\n\t\tdescription,\n\t\tinternalLink,\n\t\tcardInfo,\n\t\tbuttonLink,\n\t\tcardSectionTitle,\n\t\tbuttonLabel,\n\t\timage\n\t} = content;\n\treturn (\n\t\t<div className=\"dps-aggregate-engagement-pattern-2\">\n\t\t\t<div className=\"dps-aggregate-engagement-pattern-2-content\">\n\t\t\t\t<div className=\"dps-aggregate-engagement-pattern-2-content-text\">\n\t\t\t\t\t<h1>{title}</h1>\n\t\t\t\t\t<h2>{subtitle}</h2>\n\t\t\t\t\t<p>{description}</p>\n\t\t\t\t\t<dps-link\n\t\t\t\t\t\tbuttonStyle={true}\n\t\t\t\t\t\tbuttonVariant=\"secondary\"\n\t\t\t\t\t\tbuttonSize={'sm'}\n\t\t\t\t\t\thref={buttonLink}\n\t\t\t\t\t\ttarget={internalLink ? '_self' : '_blank'}\n\t\t\t\t\t>\n\t\t\t\t\t\t{buttonLabel}\n\t\t\t\t\t\t{internalLink ? (\n\t\t\t\t\t\t\t<now-icon icon=\"arrow-right-fill\" size=\"sm\" />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<now-icon icon=\"arrow-up-right-fill\" size=\"sm\" />\n\t\t\t\t\t\t)}\n\t\t\t\t\t</dps-link>\n\t\t\t\t</div>\n\t\t\t\t<img src={image || PeopleHighFive} />\n\t\t\t</div>\n\t\t\t<div className=\"dps-aggregate-engagement-pattern-2-card-section\">\n\t\t\t\t<h6 className=\"dps-aggregate-engagement-pattern-2-card-section-title\">\n\t\t\t\t\t{cardSectionTitle}\n\t\t\t\t</h6>\n\t\t\t\t<hr />\n\t\t\t\t<dps-card-container>\n\t\t\t\t\t{cardInfo ? (\n\t\t\t\t\t\tcardInfo.map(card => {\n\t\t\t\t\t\t\tconst { title, path, description, tags, link, label } = card;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<dps-card\n\t\t\t\t\t\t\t\t\thas-border\n\t\t\t\t\t\t\t\t\tborder-variant=\"primary\"\n\t\t\t\t\t\t\t\t\ttags={tags.map(tag => ({\n\t\t\t\t\t\t\t\t\t\tlabel: tag,\n\t\t\t\t\t\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\t\t\t\t\t\thref: { link },\n\t\t\t\t\t\t\t\t\t\ttarget: '_blank'\n\t\t\t\t\t\t\t\t\t}))}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<img src={card.icon || document} slot=\"icon-custom\" />\n\t\t\t\t\t\t\t\t\t<h3>\n\t\t\t\t\t\t\t\t\t\t<a href={path} target=\"_blank\" innerHTML={title} />\n\t\t\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t\t\t<p innerHTML={description} />\n\t\t\t\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\t\t\thref={path}\n\t\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\t\t\t\tbutton-style\n\t\t\t\t\t\t\t\t\t\tbutton-variant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\t\t\texternal-action\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t\t\t</dps-card>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<span>No recent posts</span>\n\t\t\t\t\t)}\n\t\t\t\t</dps-card-container>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-aggregate-engagement-pattern-2', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\tcontent: {\n\t\t\tdefault: {}\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-icon';\nimport styles from './dps-aggregate-engagement-pattern-3.scss';\nimport '../../../../components/dps-link';\nimport '../../../../components/dps-spinner';\nimport Computer from '../../../../images/connect-computer.svg';\n\nconst view = ({ properties }) => {\n\tconst { content } = properties;\n\tconst {\n\t\ttitle,\n\t\tsubtitle,\n\t\tdescription,\n\t\tinternalLink,\n\t\tbuttonLink,\n\t\tbuttonLabel,\n\t\timage\n\t} = content;\n\treturn (\n\t\t<div className=\"dps-aggregate-engagement-pattern-3\">\n\t\t\t<div className=\"dps-aggregate-engagement-pattern-3-content\">\n\t\t\t\t<div className=\"dps-aggregate-engagement-pattern-3-content-text\">\n\t\t\t\t\t<h1>{title}</h1>\n\t\t\t\t\t<h2>{subtitle}</h2>\n\t\t\t\t\t<p>{description}</p>\n\t\t\t\t\t<dps-link\n\t\t\t\t\t\tbuttonStyle={true}\n\t\t\t\t\t\tbuttonVariant=\"secondary\"\n\t\t\t\t\t\tbuttonSize={'sm'}\n\t\t\t\t\t\thref={buttonLink}\n\t\t\t\t\t\ttarget={internalLink ? '_self' : '_blank'}\n\t\t\t\t\t>\n\t\t\t\t\t\t{buttonLabel}\n\t\t\t\t\t\t{internalLink ? (\n\t\t\t\t\t\t\t<now-icon icon=\"arrow-right-fill\" size=\"sm\" />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<now-icon icon=\"arrow-up-right-fill\" size=\"sm\" />\n\t\t\t\t\t\t)}\n\t\t\t\t\t</dps-link>\n\t\t\t\t</div>\n\t\t\t\t<img src={image || Computer} />\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-aggregate-engagement-pattern-3', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tproperties: {\n\t\tcontent: {\n\t\t\tdefault: {}\n\t\t}\n\t},\n\tstyles\n});\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-engagement-page.scss';\nimport './patterns/dps-engagement-page-pattern-1';\nimport './patterns/dps-aggregate-engagement-pattern-2';\nimport './patterns/dps-aggregate-engagement-pattern-3';\n\nconst { COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nconst view = ({ properties }) => {\n\tconst { patternsToDisplay } = properties;\n\n\tconst renderPattern = pattern => {\n\t\tif (pattern.type === 'pattern1') {\n\t\t\treturn (\n\t\t\t\t<dps-engagement-page-pattern-1\n\t\t\t\t\tcontent={pattern.content}\n\t\t\t\t></dps-engagement-page-pattern-1>\n\t\t\t);\n\t\t} else if (pattern.type === 'pattern2') {\n\t\t\treturn (\n\t\t\t\t<dps-aggregate-engagement-pattern-2\n\t\t\t\t\tcontent={pattern.content}\n\t\t\t\t></dps-aggregate-engagement-pattern-2>\n\t\t\t);\n\t\t} else if (pattern.type === 'pattern3') {\n\t\t\treturn (\n\t\t\t\t<dps-aggregate-engagement-pattern-3\n\t\t\t\t\tcontent={pattern.content}\n\t\t\t\t></dps-aggregate-engagement-pattern-3>\n\t\t\t);\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className=\"dps-engagement-page\">\n\t\t\t<div className=\"dps-engagement-page_page-header\">\n\t\t\t\t<div className=\"dps-engagement-page_page-header_title\">Connect</div>\n\t\t\t\t<div className=\"dps-engagement-page_page-header_description\">\n\t\t\t\t\tProjects from fellow creators, insights from the Developer Program\n\t\t\t\t\tteam, and updates from the community.\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{patternsToDisplay.map(pattern => (\n\t\t\t\t<div className=\"dps-engagement-page_pattern\">{renderPattern(pattern)}</div>\n\t\t\t))}\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-engagement-page', {\n\trenderer: { type: snabbdom },\n\tview,\n\tproperties: {\n\t\tsystemProperties: {\n\t\t\tdefault: {}\n\t\t},\n\t\tpatternsToDisplay: {\n\t\t\tdefault: []\n\t\t}\n\t},\n\tstyles,\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: ({ properties, updateProperties }) => {\n\t\t\tconst { systemProperties } = properties;\n\t\t\tconst patternsList =\n\t\t\t\t(systemProperties['dev.engagement_page.sequence'] &&\n\t\t\t\t\tJSON.parse(systemProperties['dev.engagement_page.sequence'])) ||\n\t\t\t\t{};\n\n\t\t\tlet patternsToDisplay = [];\n\n\t\t\tfor (let key in patternsList) {\n\t\t\t\tlet obj = {};\n\t\t\t\tif (patternsList[key] === 'pattern_1') {\n\t\t\t\t\tobj.type = 'pattern1';\n\t\t\t\t} else if (patternsList[key] === 'pattern_2') {\n\t\t\t\t\tobj.type = 'pattern2';\n\t\t\t\t} else if (patternsList[key] === 'pattern_3') {\n\t\t\t\t\tobj.type = 'pattern3';\n\t\t\t\t}\n\t\t\t\tobj.id = key;\n\t\t\t\tobj.content =\n\t\t\t\t\tsystemProperties[key] && JSON.parse(systemProperties[key]);\n\t\t\t\tpatternsToDisplay.push(obj);\n\t\t\t}\n\n\t\t\tupdateProperties({ patternsToDisplay });\n\t\t}\n\t}\n});\n","import lodashThrottle from 'lodash/throttle';\n\n// @ts-ignore\nconst inTest = global.Mocha !== undefined;\n\n/**\n * @param {Function} fn \n * @param {number} delay \n * @returns \n */\nexport function throttle (fn, delay) {\n\treturn inTest ? fn : lodashThrottle(/** @type {any} */(fn), delay);\n}\n","// @ts-nocheck\n/**\n * Based on https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document\n */\nexport class VanillaListbox {\n\tconstructor ({\n\t\tmultiple = true,\n\t\tlistbox,\n\t\tonChange = () => {},\n\t\tonItemDblClick = () => {},\n\t}) {\n\t\tthis.listboxNode = listbox;\n\t\t// TODO: important to have a live collection here so can't use querySelectorAll('[role=option]') reliably?\n\t\t// this.options = this.listboxNode.querySelectorAll('[role=option]');\n\t\tthis.options = this.listboxNode.getElementsByClassName('option');\n\t\tthis.onChange = onChange;\n\t\tthis.onItemDblClick = onItemDblClick;\n\t\tthis.shiftPressed = false;\n\t\tthis.multiple = multiple;\n\t\tthis.preventFocusHandler = false;\n\n\t\tconst activeDescendantId = this.listboxNode.getAttribute('aria-activedescendant');\n\t\tthis.activeDescendant = activeDescendantId ? this.listboxNode.querySelector(activeDescendantId) : null;\n\n\t\tthis.initEvents();\n\t}\n\n\tinitEvents () {\n\t\tthis.listboxNode.addEventListener('blur', this.handleBlur.bind(this));\n\t\tthis.listboxNode.addEventListener('focus', this.handleFocus.bind(this));\n\t\tthis.listboxNode.addEventListener('keydown', this.handleKeyDown.bind(this));\n\t\tthis.listboxNode.addEventListener('keyup', this.handleKeyUp.bind(this));\n\t\tthis.listboxNode.addEventListener('click', this.handleClick.bind(this));\n\t\tthis.listboxNode.addEventListener('dblclick', this.handleDblClick.bind(this));\n\t\tthis.listboxNode.addEventListener('mousedown', this.handleMouseDown.bind(this));\n\t}\n\n\thandleMouseDown (e) {\n\t\tif (e.button !== 0 || this.shiftPressed) {\n\t\t\t// DEF0554446: don't focus unless it's a left-mouse key-press\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (!this.activeDescendant) {\n\t\t\t// Note: mousedown is fired before focus event\n\t\t\t// We don't want to run the handleFocus\n\t\t\t// custom code when the focus is gained by a mouse event.\n\t\t\tthis.preventFocusHandler = true;\n\t\t}\n\t}\n\n\thandleBlur () {\n\t\tconst focused = this.listboxNode.querySelector('.focused');\n\n\t\tif (focused) {\n\t\t\tfocused.classList.remove('focused');\n\t\t}\n\t\tthis.clearActiveDescendant();\n\t}\n\n\thandleFocus () {\n\t\tif (!this.activeDescendant && !this.preventFocusHandler) {\n\t\t\tconst firstItem = this.options[0];\n\t\t\tif (firstItem) {\n\t\t\t\tthis.focusItem(firstItem);\n\t\t\t\tthis.updateScroll();\n\t\t\t}\n\t\t}\n\t\tthis.preventFocusHandler = false;\n\t}\n\n\thandleKeyUp ({ key }) {\n\t\tif (key === 'Shift') {\n\t\t\tthis.shiftPressed = false;\n\t\t}\n\t}\n\n\thandleKeyDown (e) {\n\t\tconst { key, metaKey, shiftKey, ctrlKey } = e;\n\t\tconst lastActive = this.activeDescendant;\n\t\tconst firstItem = this.options[0];\n\t\tconst item = this.activeDescendant || firstItem;\n\t\tlet nextItem = null;\n\t\tlet shouldUpdateScroll = true;\n\n\t\tif (!item) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch (key) {\n\t\tcase 'Shift':\n\t\t\tthis.shiftPressed = true;\n\t\t\te.preventDefault();\n\t\t\tbreak;\n\n\t\tcase 'ArrowUp':\n\t\tcase 'ArrowDown':\n\t\t\te.preventDefault();\n\n\t\t\tif (!this.activeDescendant) {\n\t\t\t\t// focus first option if no option was previously focused, and perform no other actions\n\t\t\t\tthis.focusItem(firstItem);\n\n\t\t\t\tif (shiftKey) {\n\t\t\t\t\tthis.toggleSelectItem(firstItem);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif (key === 'ArrowUp') {\n\t\t\t\tnextItem = this.findPreviousOption(item);\n\t\t\t} else {\n\t\t\t\tnextItem = this.findNextOption(item);\n\t\t\t}\n\n\t\t\tif (nextItem) {\n\t\t\t\tif (shiftKey) {\n\t\t\t\t\tif ((!this.isSelected(item) && !this.isSelected(nextItem)) || (this.isSelected(item) && this.isSelected(nextItem))) {\n\t\t\t\t\t\tthis.toggleSelectItem(item);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.toggleSelectItem(nextItem);\n\t\t\t\t\t\tthis.focusItem(nextItem);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.focusItem(nextItem);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tbreak;\n\n\t\tcase ' ':\n\t\tcase 'Enter':\n\t\t\te.preventDefault();\n\t\t\tthis.toggleSelectItem(item);\n\t\t\tbreak;\n\n\t\tcase 'a':\n\t\t\tif ((metaKey || ctrlKey) && this.multiple) {\n\t\t\t\te.preventDefault();\n\t\t\t\tthis.selectAllItems();\n\t\t\t\tshouldUpdateScroll = false;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tbreak;\n\t\t}\n\n\t\tif (shouldUpdateScroll && this.activeDescendant !== lastActive) {\n\t\t\tthis.updateScroll();\n\t\t}\n\t}\n\n\tfindNextOption (currentOption) {\n\t\tconst currentOptionIndex = Number(currentOption.dataset.index);\n\n\t\tif (currentOptionIndex < this.options.length - 1) {\n\t\t\treturn this.options[currentOptionIndex + 1];\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfindPreviousOption (currentOption) {\n\t\tconst currentOptionIndex = Number(currentOption.dataset.index);\n\n\t\tif (currentOptionIndex > 0) {\n\t\t\treturn this.options[currentOptionIndex - 1];\n\t\t}\n\n\t\treturn null;\n\t}\n\n\thandleClick ({ target, detail, shiftKey }) {\n\t\tif (detail > 1) {\n\t\t\t// Skip double, triple and more rapid clicks\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.isDisabled(target) && target.dataset.role === 'listitem') {\n\t\t\tif (shiftKey && this.multiple) {\n\t\t\t\tconst index1 = Number(this.activeDescendant.dataset.index);\n\t\t\t\tconst index2 = Number(target.dataset.index);\n\t\t\t\tconst min = Math.min(index1, index2);\n\n\t\t\t\tthis.selectRange(min, index1 + index2 - min);\n\t\t\t} else {\n\t\t\t\tthis.focusItem(target);\n\t\t\t\tthis.toggleSelectItem(target);\n\t\t\t\tthis.updateScroll();\n\t\t\t}\n\t\t}\n\t}\n\n\thandleDblClick ({ target }) {\n\t\tif (!this.isDisabled(target) && target.dataset.role === 'listitem') {\n\t\t\tthis.onItemDblClick({\n\t\t\t\tselectedItems: this.getSelectedItems(),\n\t\t\t\titem: this.getItem(target),\n\t\t\t});\n\t\t}\n\t}\n\n\tisSelected (element) {\n\t\treturn element.getAttribute('aria-selected') === 'true';\n\t}\n\n\tisDisabled (element) {\n\t\treturn element.getAttribute('aria-disabled') === 'true';\n\t}\n\n\tselectRange (from, to) {\n\t\tconst toChange = Array.from(this.options)\n\t\t\t.slice(from, to + 1)\n\t\t\t.filter((el) => !this.isDisabled(el));\n\n\t\tif (toChange.length > 0) {\n\t\t\ttoChange.forEach((el) => el.setAttribute('aria-selected', 'true'));\n\t\t\tthis.focusItem(toChange[toChange.length - 1]);\n\t\t\tthis.onChange(this.getSelectedItems());\n\t\t}\n\t}\n\n\ttoggleSelectItem (element) {\n\t\tif (this.isDisabled(element)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst selected = this.isSelected(element) ? 'false' : 'true';\n\n\t\tif (selected === 'true' && !this.multiple) {\n\t\t\tthis.unselectAllItems();\n\t\t}\n\n\t\telement.setAttribute('aria-selected', selected);\n\t\tthis.onChange(this.getSelectedItems());\n\t}\n\n\tselectAllItems () {\n\t\tthis.selectRange(0, this.options.length - 1);\n\t}\n\n\tunselectAllItems () {\n\t\tfor (let i = 0; i < this.options.length; i += 1) {\n\t\t\tthis.options[i].setAttribute('aria-selected', 'false');\n\t\t}\n\t}\n\n\texpandGroup (element) {\n\t\tif (element.parentNode.classList.contains('collapsed')) {\n\t\t\telement.parentNode.classList.remove('collapsed');\n\t\t}\n\t}\n\n\tgetItem (listElement) {\n\t\treturn {\n\t\t\tlabel: listElement.textContent,\n\t\t\tid: listElement.dataset.id !== undefined ? listElement.dataset.id : '',\n\t\t};\n\t}\n\n\tgetSelectedItems () {\n\t\tconst selected = [];\n\n\t\tfor (let i = 0; i < this.options.length; i += 1) {\n\t\t\tconst element = this.options[i];\n\n\t\t\tif (this.isSelected(element)) {\n\t\t\t\tselected.push(this.getItem(element));\n\t\t\t}\n\t\t}\n\n\t\treturn selected;\n\t}\n\n\tdefocusItem (element) {\n\t\tif (!element) {\n\t\t\treturn;\n\t\t}\n\n\t\telement.classList.remove('focused');\n\t}\n\n\tfocusItem (element) {\n\t\tif (this.isDisabled(element)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.defocusItem(this.activeDescendant);\n\t\telement.classList.add('focused');\n\t\tthis.expandGroup(element);\n\t\tthis.listboxNode.setAttribute('aria-activedescendant', element.id);\n\t\tthis.activeDescendant = element;\n\t}\n\n\tupdateScroll () {\n\t\tconst selectedOption = this.activeDescendant;\n\n\t\tif (selectedOption && this.listboxNode.scrollHeight > this.listboxNode.clientHeight) {\n\t\t\tconst scrollBottom = this.listboxNode.clientHeight + this.listboxNode.scrollTop;\n\t\t\tconst elementBottom = selectedOption.offsetTop + selectedOption.offsetHeight;\n\n\t\t\tif (elementBottom > scrollBottom) {\n\t\t\t\tthis.listboxNode.scrollTop = elementBottom - this.listboxNode.clientHeight;\n\t\t\t} else if (selectedOption.offsetTop < this.listboxNode.scrollTop) {\n\t\t\t\tthis.listboxNode.scrollTop = selectedOption.offsetTop;\n\t\t\t}\n\t\t}\n\t}\n\n\tclearActiveDescendant () {\n\t\tthis.activeDescendant = null;\n\t\tthis.listboxNode.setAttribute('aria-activedescendant', null);\n\t}\n}\n","export const PAR_FILTER_LISTBOX__MORE_ITEMS_REQUESTED = 'PAR_FILTER_LISTBOX#MORE_ITEMS_REQUESTED';\nexport const PAR_FILTER_LISTBOX__ITEM_DOUBLE_CLICKED = 'PAR_FILTER_LISTBOX#ITEM_DOUBLE_CLICKED';\nexport const PAR_FILTER_LISTBOX__CHANGED = 'PAR_FILTER_LISTBOX#CHANGED';\n","import { t } from 'sn-translate';\n\n/* \n * Translation for the separator between items in a list\n * As opposed to English, some languages use different separators\n */\nexport const listSeparator = t({\n\tcode: 'separator',\n\tmessage: ', ',\n\tcomment: 'Separator between items in a list, e.g.: (Hardware, Software, Services)',\n});\n","// @ts-nocheck\nimport { t } from 'sn-translate';\nimport { isEmpty } from 'lodash';\nimport { actionTypes } from '@servicenow/ui-core';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport tooltipBehavior, {\n\tTOOLTIP_ADD_TARGET,\n\tTOOLTIP_REMOVE_TARGET\n} from '@servicenow/behavior-tooltip';\n\nimport { throttle } from '../helpers/mockableThrottle';\nimport { VanillaListbox } from './vanilla-listbox';\nimport {\n\tPAR_FILTER_LISTBOX__MORE_ITEMS_REQUESTED,\n\tPAR_FILTER_LISTBOX__ITEM_DOUBLE_CLICKED, PAR_FILTER_LISTBOX__CHANGED,\n} from './constants';\nimport { listSeparator } from '../helpers/listSeparator';\nimport styles from './listbox.scss';\n\nconst {\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_RENDER_REQUESTED,\n} = actionTypes;\nconst HOOK_INSERTED = 'HOOK_INSERTED';\nconst MORE_ITEMS_REQUESTED = 'MORE_ITEMS_REQUESTED';\nconst CHECK_MORE_ITEMS_NEEDED = 'CHECK_MORE_ITEMS_NEEDED';\n\n/**\n * Check if more items can be requested as per filter properties\n * @param {object} properties\n * @return {boolean}\n */\nconst canRequestItems = (properties) => {\n\treturn !properties.loadingNextPage && properties.hasMoreItems;\n};\n\nconst setInitialState = ({ properties }) => {\n\tconst { items } = properties;\n\tconst isGroupedData = Array.isArray(items) && items.length && Array.isArray(items[0].items);\n\n\treturn {\n\t\tisGroupedData,\n\t\tlistbox: null,\n\t};\n};\n\nconst properties = {\n\tcleared: {\n\t\tdefault: false,\n\t},\n\tmultiple: {\n\t\tdefault: true,\n\t},\n\tlabel: {},\n\titems: {\n\t\tdefault: null,\n\t},\n\tselectedItems: {\n\t\tdefault: [],\n\t},\n\tselectedIds: {\n\t\tdefault: [],\n\t},\n\thasMoreItems: {\n\t\tdefault: false,\n\t},\n\tloadingNextPage: {\n\t\tdefault: false,\n\t},\n\tactiveSelection: {\n\t\tdefault: {},\n\t},\n\timpactingMap: {\n\t\tdefault: {},\n\t}\n};\n/**\n * Check if user scroll position is close to bottom of the listbox\n * @param {HTMLElement} listbox\n * @return {boolean}\n */\nconst isCloseToBottom = (listbox) => listbox && listbox.childElementCount !== 0 &&\n\tlistbox.scrollHeight - listbox.clientHeight - listbox.scrollTop <= 500;\n\n\nconst actionHandlers = {\n\t__initLazyLoading(listbox, { dispatch }) {\n\t\tactionHandlers.__scrollHandler = () => isCloseToBottom(listbox) && dispatch(MORE_ITEMS_REQUESTED);\n\n\t\t// No need to unbind event listener, since listnode is removed from DOM if filter is closed\n\t\tlistbox.addEventListener('scroll', throttle(actionHandlers.__scrollHandler, 100));\n\t},\n\n\t[HOOK_INSERTED]({\n\t\taction, properties, updateProperties, updateState, dispatch,\n\t}) {\n\t\tconst { payload: { listbox } } = action;\n\t\tconst {\n\t\t\tmultiple,\n\t\t\tselectedIds,\n\t\t} = properties;\n\n\t\tconst vListbox = new VanillaListbox({\n\t\t\tmultiple,\n\t\t\tlistbox,\n\t\t\tonChange(selectedItems) {\n\t\t\t\tupdateProperties({ selectedItems });\n\t\t\t\tdispatch(PAR_FILTER_LISTBOX__CHANGED, { selectedItems });\n\t\t\t},\n\t\t\tonItemDblClick(payload) {\n\t\t\t\tdispatch(PAR_FILTER_LISTBOX__ITEM_DOUBLE_CLICKED, payload);\n\t\t\t},\n\t\t});\n\n\t\tactionHandlers.__listbox = vListbox;\n\n\t\tif (selectedIds && selectedIds.length) {\n\t\t\tconst selectedItems = vListbox.getSelectedItems();\n\t\t\tupdateProperties({\n\t\t\t\tselectedItems,\n\t\t\t});\n\t\t}\n\n\t\tactionHandlers.__initLazyLoading(listbox, { dispatch });\n\t\tupdateState({\n\t\t\tlistbox\n\t\t});\n\t},\n\n\t[MORE_ITEMS_REQUESTED]({ action, properties, dispatch }) {\n\t\taction.stopPropagation();\n\n\t\tif (canRequestItems(properties)) {\n\t\t\tdispatch(PAR_FILTER_LISTBOX__MORE_ITEMS_REQUESTED);\n\t\t}\n\t},\n\n\t[CHECK_MORE_ITEMS_NEEDED]: {\n\t\tmodifier: { name: 'debounce', delay: 15 },\n\t\teffect({ action, properties, state, dispatch }) {\n\t\t\taction.stopPropagation();\n\t\t\tconst { listbox } = state;\n\t\t\tconst { items = [] } = properties;\n\n\t\t\tif (\n\t\t\t\tcanRequestItems(properties) &&\n\t\t\t\t// user scroll is too close to bottom => load more\n\t\t\t\t(isCloseToBottom(listbox) ||\n\t\t\t\t// All items were moved from available to applied => load new set of items\n\t\t\t\titems.length === 0)\n\t\t\t) {\n\t\t\t\tdispatch(MORE_ITEMS_REQUESTED);\n\t\t\t}\n\t\t}\n\t},\n\n\t[COMPONENT_PROPERTY_CHANGED]({ action, dispatch }) {\n\t\tconst { payload: { name, value } } = action;\n\n\t\tif (name === 'cleared' && value === true) {\n\t\t\t// TODO: Need to unselect items that were set by clicking without using selectedIds seismic property\n\t\t\t//  It's not good that checked state can be set differently, listbox component needs refactoring.\n\t\t\tactionHandlers.__listbox.unselectAllItems();\n\t\t}\n\n\t\t// Our listbox only fits about 10 items without scroll, so need to load more if possible and necessary.\n\t\t// We dispatch an event to check whether this is needed when certain properties change, but since several properties\n\t\t// may change at the same time, the event CHECK_MORE_ITEMS_NEEDED is debounced to prevent early evaluation.\n\t\tif (['items', 'hasMoreItems', 'loadingNextPage'].includes(name)) {\n\t\t\tdispatch(CHECK_MORE_ITEMS_NEEDED);\n\t\t}\n\t},\n\n\t// Optional: COMPONENT_RENDER_REQUESTED prevents render function called too many times unnecessarily\n\t[COMPONENT_RENDER_REQUESTED]({ action, properties }) {\n\t\tconst propsHash = JSON.stringify(properties);\n\t\tconst prevPropsHash = JSON.stringify(action.payload.previousRenderProperties);\n\n\t\tif (properties.items === null || propsHash === prevPropsHash) {\n\t\t\taction.preventDefault();\n\t\t}\n\t},\n};\n\nexport const listboxView = (state, { dispatch }) => {\n\tconst {\n\t\tisGroupedData,\n\t\tproperties: {\n\t\t\titems,\n\t\t\tlabel,\n\t\t\tmultiple,\n\t\t\tselectedIds,\n\t\t\tactiveSelection,\n\t\t\timpactingMap = {},\n\t\t}\n\t} = state;\n\n\tlet index = -1;\n\tconst renderItems = (itemsList) => {\n\t\tif (!itemsList || itemsList.length === 0) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn itemsList.map(({ label, id, available, items, hidden }) => {\n\t\t\tif (hidden) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (items !== undefined) {\n\t\t\t\treturn (\n\t\t\t\t\t<li className=\"group-option\">\n\t\t\t\t\t\t<ul key={id} className=\"group\">\n\t\t\t\t\t\t\t<li className=\"group-label\" {...{ attrs: { onclick: 'this.parentNode.classList.toggle(\"collapsed\")' } }}>{label}</li>\n\t\t\t\t\t\t\t{renderItems(items)}\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</li>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tindex += 1;\n\t\t\tconst selected = String(available !== 'false' && (selectedIds.includes(id) || (id in activeSelection && activeSelection[id])));\n\t\t\tconst impactingFilters = impactingMap[id];\n\t\t\tconst impactingFiltersMessage = !isEmpty(impactingFilters) ? t('Not related to currently selected values of {filterNames}', { filterNames: impactingFilters.join(listSeparator) }) : null;\n\n\t\t\treturn (\n\t\t\t\t<li\n\t\t\t\t\tkey={`${id}_${index}}`}\n\t\t\t\t\trole={isGroupedData ? 'treeitem' : 'option'}\n\t\t\t\t\taria-selected={selected}\n\t\t\t\t\taria-disabled={String(available === false)}\n\t\t\t\t\tclassName=\"option\"\n\t\t\t\t\tid={`option_${index}`}\n\t\t\t\t\tdata-role=\"listitem\"\n\t\t\t\t\tdata-index={String(index)}\n\t\t\t\t\tdata-id={id}\n\t\t\t\t>\n\t\t\t\t\t<div className='option-text'>{label}</div>\n\t\t\t\t\t{impactingFiltersMessage ? (\n\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\ticon=\"circle-exclamation-outline\"\n\t\t\t\t\t\t\tdata-tooltip={impactingFiltersMessage}\n\t\t\t\t\t\t\thook-insert={({ elm }) => {\n\t\t\t\t\t\t\t\tdispatch(TOOLTIP_ADD_TARGET, { target: elm });\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\thook-destroy={({ elm }) => {\n\t\t\t\t\t\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, { target: elm });\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t</li>\n\t\t\t);\n\t\t});\n\t};\n\n\treturn (\n\t\t<ul\n\t\t\thook-insert={({ elm }) => dispatch(HOOK_INSERTED, { listbox: elm })}\n\t\t\tclassName=\"listbox\"\n\t\t\ttabIndex={items.length ? 0 : -1}\n\t\t\trole={isGroupedData ? 'tree' : 'listbox'}\n\t\t\taria-multiselectable={String(multiple)}\n\t\t\taria-label={label}\n\t\t>\n\t\t\t{renderItems(items)}\n\t\t</ul>\n\t);\n};\n\nconst behaviors = [\n\t{ behavior: focusBehavior },\n\t{ behavior: rtlBehavior },\n\t{ behavior: tooltipBehavior },\n];\n\nexport const listbox = {\n\tproperties,\n\tactionHandlers,\n\tsetInitialState,\n\tview: listboxView,\n\tstyles,\n\tbehaviors,\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { listbox } from './listbox';\n\ncreateCustomElement('par-filter-listbox', listbox);\n","// @ts-nocheck\nimport { actionTypes } from '@servicenow/ui-core';\nimport { t } from 'sn-translate';\nimport styles from './slush-bucket.scss';\nimport {\n\tPAR_FILTER_LISTBOX__CHANGED,\n\tPAR_FILTER_LISTBOX__ITEM_DOUBLE_CLICKED,\n\tPAR_FILTER_LISTBOX__MORE_ITEMS_REQUESTED,\n} from '../listbox/constants';\n\nconst { COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nexport const PAR_FILTER_SLUSH_BUCKET__MOVE_ITEMS = 'PAR_FILTER_SLUSH_BUCKET#MOVE_ITEMS';\nexport const PAR_FILTER_SLUSH_BUCKET__MORE_ITEMS_REQUESTED = 'PAR_FILTER_SLUSH_BUCKET#MORE_ITEMS_REQUESTED';\n\nconst SOURCE_LIST = 'source';\nconst TARGET_LIST = 'target';\n\nconst refs = {\n\tsourceList: null,\n\ttargetList: null,\n};\n\nconst setInitialState = ({ properties }) => {\n\tconst { sourceItems, targetItems, loading } = properties;\n\treturn {\n\t\tloading: {\n\t\t\tsource: loading,\n\t\t\ttarget: loading,\n\t\t},\n\t\tnothingAvailable: {\n\t\t\tsource: sourceItems.length === 0,\n\t\t\ttarget: targetItems.length === 0,\n\t\t},\n\t\tmoveButtonsDisabled: {\n\t\t\tsource: true,\n\t\t\ttarget: true,\n\t\t},\n\t\tactiveSelection: {\n\t\t\tsource: {},\n\t\t\ttarget: {},\n\t\t},\n\t\tbehaviors:{}\n\t};\n};\n\nconst slushBucketProperties = {\n\tsourceTitle: {\n\t\tdefault: '',\n\t},\n\tsourceSortAction: {\n\t\tdefault: () => { },\n\t},\n\ttargetTitle: {\n\t\tdefault: '',\n\t},\n\ttargetSortAction: {\n\t\tdefault: () => { },\n\t},\n\thasMoreItems: {},\n\tsourceItems: {\n\t\tdefault: [],\n\t},\n\ttargetItems: {\n\t\tdefault: [],\n\t},\n\tloading: {\n\t\tdefault: false,\n\t},\n\tloadingNextPage: {},\n\timpactingMap: {},\n\trenderStacked: false,\n};\n\nconst actionHandlers = {\n\tupdateSource: (properties, updateState) => {\n\t\tupdateState(() => ({\n\t\t\toperation: 'set',\n\t\t\tpath: 'nothingAvailable.source',\n\t\t\tvalue: properties.sourceItems.length === 0,\n\t\t}));\n\t},\n\n\tupdateTarget: (properties, updateState) => {\n\t\tupdateState(() => ({\n\t\t\toperation: 'set',\n\t\t\tpath: 'nothingAvailable.target',\n\t\t\tvalue: properties.targetItems.length === 0,\n\t\t}));\n\t},\n\n\t[COMPONENT_PROPERTY_CHANGED]({ action, properties, updateState }) {\n\t\tconst { payload: { name, value } } = action;\n\t\tif (name === 'loading') {\n\t\t\tconst statePatch = [\n\t\t\t\t{\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'loading.source',\n\t\t\t\t\tvalue: value,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toperation: 'set',\n\t\t\t\t\tpath: 'loading.target',\n\t\t\t\t\tvalue: value,\n\t\t\t\t},\n\t\t\t];\n\t\t\tupdateState(statePatch);\n\t\t} else if (name === 'sourceItems') {\n\t\t\tactionHandlers.updateSource(properties, updateState);\n\t\t} else if (name === 'targetItems') {\n\t\t\tactionHandlers.updateTarget(properties, updateState);\n\t\t}\n\t},\n\n\t[PAR_FILTER_LISTBOX__MORE_ITEMS_REQUESTED]({ action, properties, dispatch }) {\n\t\tconst { payload: { list } } = action;\n\t\tconst { hasMoreItems } = properties;\n\n\t\tif (hasMoreItems) {\n\t\t\tdispatch(PAR_FILTER_SLUSH_BUCKET__MORE_ITEMS_REQUESTED, { list });\n\t\t}\n\n\t\taction.stopPropagation();\n\t},\n\n\t[PAR_FILTER_LISTBOX__CHANGED]({ action, updateState }) {\n\t\tconst { payload: { selectedItems, list } } = action;\n\t\tconst activeSelection = selectedItems.reduce((prev, curr) => {\n\t\t\tprev[curr.id] = true;\n\t\t\treturn prev;\n\t\t}, {});\n\n\t\tupdateState([\n\t\t\t{\n\t\t\t\toperation: 'set',\n\t\t\t\tpath: `moveButtonsDisabled[${list}]`,\n\t\t\t\tvalue: selectedItems.length === 0,\n\t\t\t},\n\t\t\t{\n\t\t\t\toperation: 'set',\n\t\t\t\tpath: `activeSelection[${list}]`,\n\t\t\t\tvalue: activeSelection,\n\t\t\t},\n\t\t]);\n\t},\n\n\t[PAR_FILTER_LISTBOX__ITEM_DOUBLE_CLICKED]({ action, updateState, dispatch }) {\n\t\tconst { payload: { selectedItems, list: fromList } } = action;\n\n\t\tdispatch(PAR_FILTER_SLUSH_BUCKET__MOVE_ITEMS, {\n\t\t\tfromList,\n\t\t\tselectedItems,\n\t\t});\n\t\tupdateState({\n\t\t\toperation: 'set',\n\t\t\tpath: `moveButtonsDisabled[${fromList}]`,\n\t\t\tvalue: true,\n\t\t});\n\t\taction.stopPropagation();\n\t},\n\n\t'NOW_BUTTON_ICONIC#CLICKED'({\n\t\tstate, action, updateState, dispatch,\n\t}) {\n\t\tconst { activeSelection } = state;\n\t\tconst { payload: { fromList } } = action;\n\n\t\t// There are also sort now-button-iconic, we don't want to handle actions from those\n\t\tif (!fromList) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { selectedItems } = refs[`${fromList}List`];\n\t\tconst newActiveSelection = selectedItems.reduce((prev, curr) => {\n\t\t\tif (prev[curr.id]) {\n\t\t\t\tdelete prev[curr.id];\n\t\t\t}\n\t\t\treturn prev;\n\t\t}, activeSelection[fromList]);\n\n\t\tdispatch(PAR_FILTER_SLUSH_BUCKET__MOVE_ITEMS, {\n\t\t\tfromList,\n\t\t\tselectedItems,\n\t\t});\n\n\t\tupdateState([\n\t\t\t{\n\t\t\t\toperation: 'set',\n\t\t\t\tpath: 'activeSelection',\n\t\t\t\tvalue: newActiveSelection,\n\t\t\t},\n\t\t\t{\n\t\t\t\toperation: 'set',\n\t\t\t\tpath: `moveButtonsDisabled[${fromList}]`,\n\t\t\t\tvalue: true,\n\t\t\t},\n\t\t]);\n\t},\n};\n\nconst Loading = ({ state }) => (state ? (\n\t<div className=\"loading\">\n\t\t<now-loader size=\"lg\" />\n\t</div>\n) : null);\n\nconst NoItems = ({ condition, list, ...props }) => (condition ? (\n\t<div className=\"no-content\" {...props}>{\n\t\tlist === TARGET_LIST ?\n\t\t\tt({\n\t\t\t\tcode: 'FilterNoItemsApplied',\n\t\t\t\tmessage: 'Nothing is applied',\n\t\t\t\tcomment: 'shown when there are no items in the \"Applied\" list'\n\t\t\t}) :\n\t\t\tt({\n\t\t\t\tcode: 'FilterNoItemsAvailable',\n\t\t\t\tmessage: 'Nothing is available',\n\t\t\t\tcomment: 'shown when there are no items in the \"Available\" list'\n\t\t\t})\n\t}\n\t</div>\n) : null);\n\nexport const slushBucketView = (state) => {\n\tconst {\n\t\tmoveButtonsDisabled,\n\t\tactiveSelection,\n\t\tloading,\n\t\tnothingAvailable,\n\t\tproperties: {\n\t\t\tsourceTitle,\n\t\t\tsourceSortAction,\n\t\t\ttargetTitle,\n\t\t\ttargetSortAction,\n\t\t\tsourceItems,\n\t\t\ttargetItems,\n\t\t\thasMoreItems,\n\t\t\timpactingMap,\n\t\t\trenderStacked\n\t\t},\n\t} = state;\n\n\treturn (\n\t\t<div class={{\n\t\t\tcontainer: true,\n\t\t\tstacked: renderStacked,\n\t\t}}>\n\t\t\t<div className=\"column\">\n\t\t\t\t<div className=\"header\">\n\t\t\t\t\t<div className=\"title\">\n\t\t\t\t\t\t{sourceTitle}\n\t\t\t\t\t\t{sourceSortAction()}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"items\">\n\t\t\t\t\t<Loading state={loading.source} />\n\t\t\t\t\t<NoItems condition={nothingAvailable.source} list={SOURCE_LIST} data-testNoAvailableItems />\n\t\t\t\t\t<par-filter-listbox\n\t\t\t\t\t\tappend-to-payload={{ list: SOURCE_LIST }}\n\t\t\t\t\t\titems={sourceItems}\n\t\t\t\t\t\tlabel={sourceTitle}\n\t\t\t\t\t\thook-insert={({ elm }) => {\n\t\t\t\t\t\t\trefs.sourceList = elm;\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tloadingNextPage={state.properties.loading && state.properties.loadingNextPage}\n\t\t\t\t\t\thasMoreItems={hasMoreItems}\n\t\t\t\t\t\tactiveSelection={activeSelection.source}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div className=\"actions\">\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tdata-testMoveToAppliedButton\n\t\t\t\t\tbare\n\t\t\t\t\tclassName=\"button\"\n\t\t\t\t\ticon={renderStacked ? 'chevron-down-fill' : 'chevron-end-fill'}\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tdisabled={moveButtonsDisabled.source}\n\t\t\t\t\tappend-to-payload={{ fromList: SOURCE_LIST }}\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t'aria-label': t('Move selected items to the applied list'),\n\t\t\t\t\t}}\n\t\t\t\t\t{...moveButtonsDisabled.source === false && {\n\t\t\t\t\t\t'tooltip-content': t('Move selected items to the To be applied list')\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t<div className=\"separator\" />\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tdata-testMoveToAvailableButton\n\t\t\t\t\tbare\n\t\t\t\t\tclassName=\"button\"\n\t\t\t\t\ticon={renderStacked ? 'chevron-up-fill' : 'chevron-start-fill'}\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tdisabled={moveButtonsDisabled.target}\n\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t'aria-label': t('Move selected items to the Available list'),\n\t\t\t\t\t}}\n\t\t\t\t\tappend-to-payload={{ fromList: TARGET_LIST }}\n\t\t\t\t\t{...moveButtonsDisabled.target === false && {\n\t\t\t\t\t\t'tooltip-content': t('Move selected items to the Available list')\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</div>\n\n\t\t\t<div className=\"column\">\n\t\t\t\t<div className=\"header\">\n\t\t\t\t\t<div className=\"title\" id=\"appliedItemsLabel\">\n\t\t\t\t\t\t<span data-testAppliedItemsTitle>{targetTitle}</span>\n\t\t\t\t\t\t{targetSortAction()}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"items\">\n\t\t\t\t\t<Loading state={loading.target} />\n\t\t\t\t\t<NoItems condition={nothingAvailable.target} list={TARGET_LIST} data-testNoAppliedItems />\n\t\t\t\t\t<par-filter-listbox\n\t\t\t\t\t\tappend-to-payload={{ list: TARGET_LIST }}\n\t\t\t\t\t\titems={targetItems}\n\t\t\t\t\t\tlabel={targetTitle}\n\t\t\t\t\t\timpactingMap={impactingMap}\n\t\t\t\t\t\thook-insert={({ elm }) => {\n\t\t\t\t\t\t\trefs.targetList = elm;\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tactiveSelection={activeSelection.target}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport const slushBucket = {\n\tsetInitialState,\n\tproperties: slushBucketProperties,\n\tview: slushBucketView,\n\tstyles,\n\tactionHandlers,\n};\n","import { t } from 'sn-translate';\nimport moment from 'moment';\n\n/**\n * @typedef GlideRange\n * @property {string} start\n * @property {string} end\n */\n\n/**\n * @typedef DynamicRangeDefinition\n * @property {string} label\n * @property {GlideRange} glideRange\n */\n\n/**\n * @return {Object<string, DynamicRangeDefinition>}\n */\nexport function getPredefinedRangeDefinitions() {\n\t// glideRange values need to be in accordance with\n\t// https://code.devsnc.com/dev/glide-par/blob/track/dataanalytics/glide-par-unifilters/src/main/java/com/snc/par/unifilters/rest/da/helpers/calendar/DAFilterStandardCalendarRangeType.java\n\treturn {\n\t\tSN_DYNAMIC_DATERANGE__TODAY: {\n\t\t\tlabel: t('Today'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfToday()',\n\t\t\t\tend: 'javascript:gs.endOfToday()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__YESTERDAY: {\n\t\t\tlabel: t('Yesterday'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfYesterday()',\n\t\t\t\tend: 'javascript:gs.endOfYesterday()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__TOMORROW: {\n\t\t\tlabel: t('Tomorrow'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfTomorrow()',\n\t\t\t\tend: 'javascript:gs.endOfTomorrow()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__THIS_WEEK: {\n\t\t\tlabel: t('This week'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfThisWeek()',\n\t\t\t\tend: 'javascript:gs.endOfThisWeek()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__LAST_WEEK: {\n\t\t\tlabel: t('Last week'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfLastWeek()',\n\t\t\t\tend: 'javascript:gs.endOfLastWeek()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__NEXT_WEEK: {\n\t\t\tlabel: t('Next week'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfNextWeek()',\n\t\t\t\tend: 'javascript:gs.endOfNextWeek()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__THIS_MONTH: {\n\t\t\tlabel: t('This month'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfThisMonth()',\n\t\t\t\tend: 'javascript:gs.endOfThisMonth()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__LAST_MONTH: {\n\t\t\tlabel: t('Last month'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfLastMonth()',\n\t\t\t\tend: 'javascript:gs.endOfLastMonth()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__NEXT_MONTH: {\n\t\t\tlabel: t('Next month'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfNextMonth()',\n\t\t\t\tend: 'javascript:gs.endOfNextMonth()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__LAST_3_MONTH: {\n\t\t\tlabel: t('Last 3 months'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfLast3Months()',\n\t\t\t\tend: 'javascript:gs.endOfLast3Months()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__LAST_6_MONTH: {\n\t\t\tlabel: t('Last 6 months'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfLast6Months()',\n\t\t\t\tend: 'javascript:gs.endOfLast6Months()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__LAST_9_MONTH: {\n\t\t\tlabel: t('Last 9 months'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfLast9Months()',\n\t\t\t\tend: 'javascript:gs.endOfLast9Months()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__LAST_12_MONTH: {\n\t\t\tlabel: t('Last 12 months'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfLast12Months()',\n\t\t\t\tend: 'javascript:gs.endOfLast12Months()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__THIS_QUARTER: {\n\t\t\tlabel: t('This quarter'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfThisQuarter()',\n\t\t\t\tend: 'javascript:gs.endOfThisQuarter()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__LAST_QUARTER: {\n\t\t\tlabel: t('Last quarter'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfLastQuarter()',\n\t\t\t\tend: 'javascript:gs.endOfLastQuarter()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__LAST_2_QUARTERS: {\n\t\t\tlabel: t('Last 2 quarters'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfLast2Quarters()',\n\t\t\t\tend: 'javascript:gs.endOfLast2Quarters()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__NEXT_QUARTER: {\n\t\t\tlabel: t('Next quarter'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfNextQuarter()',\n\t\t\t\tend: 'javascript:gs.endOfNextQuarter()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__NEXT_2_QUARTERS: {\n\t\t\tlabel: t('Next 2 quarters'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfNext2Quarters()',\n\t\t\t\tend: 'javascript:gs.endOfNext2Quarters()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__THIS_YEAR: {\n\t\t\tlabel: t('This year'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfThisYear()',\n\t\t\t\tend: 'javascript:gs.endOfThisYear()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__NEXT_YEAR: {\n\t\t\tlabel: t('Next year'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfNextYear()',\n\t\t\t\tend: 'javascript:gs.endOfNextYear()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__LAST_YEAR: {\n\t\t\tlabel: t('Last year'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfLastYear()',\n\t\t\t\tend: 'javascript:gs.endOfLastYear()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__LAST_2_YEARS: {\n\t\t\tlabel: t('Last 2 years'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfLast2Years()',\n\t\t\t\tend: 'javascript:gs.endOfLast2Years()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__LAST_2_DAYS: {\n\t\t\tlabel: t('Last 2 days'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.daysAgoStart(2)',\n\t\t\t\tend: 'javascript:gs.daysAgoEnd(0)'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__LAST_7_DAYS: {\n\t\t\tlabel: t('Last 7 days'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfLast7Days()',\n\t\t\t\tend: 'javascript:gs.endOfLast7Days()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__LAST_30_DAYS: {\n\t\t\tlabel: t('Last 30 days'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfLast30Days()',\n\t\t\t\tend: 'javascript:gs.endOfLast30Days()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__LAST_60_DAYS: {\n\t\t\tlabel: t('Last 60 days'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfLast60Days()',\n\t\t\t\tend: 'javascript:gs.endOfLast60Days()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__LAST_90_DAYS: {\n\t\t\tlabel: t('Last 90 days'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfLast90Days()',\n\t\t\t\tend: 'javascript:gs.endOfLast90Days()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__LAST_120_DAYS: {\n\t\t\tlabel: t('Last 120 days'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfLast120Days()',\n\t\t\t\tend: 'javascript:gs.endOfLast120Days()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__CURRENT_HOUR: {\n\t\t\tlabel: t('Current hour'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfCurrentHour()',\n\t\t\t\tend: 'javascript:gs.endOfCurrentHour()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__LAST_HOUR: {\n\t\t\tlabel: t('Last hour'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfLastHour()',\n\t\t\t\tend: 'javascript:gs.endOfLastHour()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__LAST_2_HOURS: {\n\t\t\tlabel: t('Last 2 hours'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfLast2Hours()',\n\t\t\t\tend: 'javascript:gs.endOfLast2Hours()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__LAST_3_HOURS: {\n\t\t\tlabel: t('Last 3 hours'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.hoursAgo(3)',\n\t\t\t\tend: 'javascript:gs.hoursAgo(0)'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__LAST_6_HOURS: {\n\t\t\tlabel: t('Last 6 hours'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.hoursAgo(6)',\n\t\t\t\tend: 'javascript:gs.hoursAgo(0)'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__LAST_12_HOURS: {\n\t\t\tlabel: t('Last 12 hours'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.hoursAgo(12)',\n\t\t\t\tend: 'javascript:gs.hoursAgo(0)'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__LAST_24_HOURS: {\n\t\t\tlabel: t('Last 24 hours'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.hoursAgo(24)',\n\t\t\t\tend: 'javascript:gs.hoursAgo(0)'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__CURRENT_MINUTE: {\n\t\t\tlabel: t('Current minute'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfCurrentMinute()',\n\t\t\t\tend: 'javascript:gs.endOfCurrentMinute()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__LAST_MINUTE: {\n\t\t\tlabel: t('Last minute'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfLastMinute()',\n\t\t\t\tend: 'javascript:gs.endOfLastMinute()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__LAST_5_MINUTES: {\n\t\t\tlabel: t('Last 5 minutes'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.minutesAgoStart(5)',\n\t\t\t\tend: 'javascript:gs.minutesAgoEnd(0)'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__LAST_15_MINUTES: {\n\t\t\tlabel: t('Last 15 minutes'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfLast15Minutes()',\n\t\t\t\tend: 'javascript:gs.endOfLast15Minutes()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__LAST_30_MINUTES: {\n\t\t\tlabel: t('Last 30 minutes'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfLast30Minutes()',\n\t\t\t\tend: 'javascript:gs.endOfLast30Minutes()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__LAST_45_MINUTES: {\n\t\t\tlabel: t('Last 45 minutes'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfLast45Minutes()',\n\t\t\t\tend: 'javascript:gs.endOfLast45Minutes()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__ONE_YEAR_AGO: {\n\t\t\tlabel: t('One year ago'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfOneYearAgo()',\n\t\t\t\tend: 'javascript:gs.endOfOneYearAgo()'\n\t\t\t}\n\t\t},\n\t\tSN_DYNAMIC_DATERANGE__YTD: {\n\t\t\tlabel: t('Year To Date'),\n\t\t\tglideRange: {\n\t\t\t\tstart: 'javascript:gs.beginningOfThisYear()',\n\t\t\t\tend: 'javascript:gs.daysAgoEnd(0)'\n\t\t\t}\n\t\t},\n\t};\n}\n\n/**\n * @returns {DateRange[]}\n */\nexport function getDefaultDateRangePresets() {\n\tconst defaultRanges = [\n\t\t'SN_DYNAMIC_DATERANGE__LAST_7_DAYS',\n\t\t'SN_DYNAMIC_DATERANGE__LAST_MONTH',\n\t\t'SN_DYNAMIC_DATERANGE__LAST_3_MONTH',\n\t\t'SN_DYNAMIC_DATERANGE__LAST_6_MONTH',\n\t\t'SN_DYNAMIC_DATERANGE__YTD',\n\t\t'SN_DYNAMIC_DATERANGE__LAST_YEAR',\n\t];\n\tconst rangeDefinitions = getPredefinedRangeDefinitions();\n\n\treturn defaultRanges.map((x) => {\n\t\tconst rangeDef = rangeDefinitions[x];\n\t\treturn {\n\t\t\tlabel: rangeDef.label,\n\t\t\trange: x\n\t\t};\n\t});\n}\n\n/**\n * Convert dynamic range expression to start and end dates in ISO format\n * @param {ElementItem | undefined} range\n * @param {boolean | undefined} includeTime\n * @returns {{start: string, end: string}}\n */\nexport function convertRangeToDates(range, includeTime) {\n\tlet start;\n\tlet end;\n\n\tif (range) {\n\t\tstart = moment(range.payload?.start);\n\t\tend = moment(range.payload?.end);\n\t}\n\n\t// Return current date times as fallback\n\tif (!start) {\n\t\tstart = moment().startOf('day');\n\t}\n\tif (!end) {\n\t\tend = moment().endOf('day');\n\t}\n\n\tconst format = includeTime ? 'YYYY-MM-DDTHH:mm:ss' : 'YYYY-MM-DD';\n\n\treturn {\n\t\tstart: start.format(format),\n\t\tend: end.format(format)\n\t};\n}\n\n/**\n * Returns the glide encoded query for a dynamic date range\n * @param {string} field\n * @param {string} range\n * @return {string | undefined}\n */\nexport function getDateRangeGlideEncodedQuery(field, range) {\n\tif (field && range) {\n\t\tconst rangeDefinitions = getPredefinedRangeDefinitions();\n\t\tconst rangeDef = rangeDefinitions[range];\n\t\tif (!rangeDef) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn `${field}ON${rangeDef.label}@${rangeDef.glideRange?.start}@${rangeDef.glideRange?.end}`;\n\t}\n}\n\n/**\n * Find a range in list of a unflattened ranges by a given id\n * @param {ElementItem[]} ranges\n * @param {string} id\n * @return {ElementItem | undefined}\n */\nexport function searchInRangesByID(ranges, id) {\n\tfor (const range of (ranges || [])) {\n\t\tconst items = range.items;\n\t\tif (items?.length) {\n\t\t\tconst result = searchInRangesByID(items || [], id);\n\t\t\tif (result) {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t} else if (range.id === id) {\n\t\t\treturn range;\n\t\t}\n\t}\n}\n","/**\n * This function returns an action handler for a sourceAction and dispatches a targetAction.\n * It is possible to pass a payloadMapper to transform the payload\n * @param {string} sourceAction\n * @param {string} targetAction\n * @param {(EffectModifier | undefined)=} modifier\n * @param {(function(any, Coeffects<?, ?, ?, ?>): any)=} payloadMapper\n * @return {ActionHandlers<?, ?>}\n */\nexport function forwardAction(sourceAction, targetAction, modifier, payloadMapper = (payload) => payload) {\n\tif (typeof payloadMapper !== 'function') {\n\t\tthrow new Error('payloadMapper param needs to be a function');\n\t}\n\n\treturn {\n\t\t[sourceAction]: {\n\t\t\tmodifier,\n\t\t\teffect(coeffects) {\n\t\t\t\tconst { action, dispatch } = coeffects;\n\t\t\t\taction.stopPropagation();\n\t\t\t\tdispatch(targetAction, payloadMapper(action.payload, coeffects));\n\t\t\t}\n\t\t}\n\t};\n}\n","import { createCustomElement } from '@servicenow/ui-core';\nimport '../listbox';\nimport { slushBucket } from './slush-bucket';\n\ncreateCustomElement('par-filter-slush-bucket', slushBucket);\n","// @ts-ignore\nimport { memoize } from '@servicenow/ui-utils';\n\n/**\n * Map implementation that can only store one element at a time.\n * Only the last set element is kept.\n */\nclass SingleElementMap extends Map {\n\t/**\n\t * @param {any} key\n \t * @param {any} value\n\t * @return {this}\n \t */\n\tset(key, value) {\n\t\tthis.clear();\n\t\treturn super.set(key, value);\n\t}\n}\n\n/**\n * Memoizes a function with a single element cache - useful for when you want to prevent recomputing the output\n * if arguments didn't change.\n * @param {Function} func The function to have its output memoized.\n * @param {Object | Function=} createCacheKey Additional memoize options.\n * @param {{createCacheKey: Function, profileName: string, snabbdom, boolean}=} options Additional memoize options.\n * @return {Function} Returns a new memoized function.\n */\nexport const cachelessMemoize = function(func, createCacheKey, options) {\n\tconst memoizedFunction = memoize(func, createCacheKey, options);\n\tmemoizedFunction.cache = new SingleElementMap();\n\treturn memoizedFunction;\n};\n","/**\n * Proxy for helping keep effect functions mockable by sinon, example:\n *\n * export const unProxiedFetchEffect = createGraphQLEffect(someQuery, {\n *  startActionType,\n *  successActionType,\n *  errorActionType\n * })\n *\n * In actionHandlers -\n * import { effectProxy } from 'sn-par-filter-common'\n * ...\n * [ACTION_CONSTANT]: effectProxy(unProxiedFetchEffect)\n *\n * In tests -\n * import { unProxiedFetchEffect } from './component-file'\n * ...\n * beforeEach(() => {\n *  sandbox.stub(unProxiedFetchEffect, 'effect')\n * })\n */\nexport const effectProxy = (/** @type {any} */effect) => (/** @type {any} */coeffects) => effect.effect(...effect.args, coeffects);\n","import escapeRegExp from 'lodash/escapeRegExp';\nimport compact from 'lodash/compact';\n\nfunction getDescendantRoots(root) {\n\tconst result = [];\n\t(function recurse(node) {\n\t\tconst iterator = document.createNodeIterator(node, NodeFilter.SHOW_ELEMENT);\n\t\tlet current;\n\t\twhile ((current = iterator.nextNode()) !== null) {\n\t\t\tif (current.shadowRoot) {\n\t\t\t\tresult.push(current.shadowRoot);\n\t\t\t\trecurse(current.shadowRoot);\n\t\t\t}\n\t\t}\n\t})(root);\n\treturn result;\n}\n\n/**\n * @typedef {Object} Operator\n * @property {string} token - A unique string to seach for when parsing a\n * selector. This is only used as an optimization over needing to do full\n * regex-matching when determining where custom operator is in a selector\n * string\n * @property {RegExp} regex - Once an operator is found (based on its token),\n * this regex is used to parse out additional information + consume any\n * necessary characters that are relevant to this operator\n * @property {(els: Array<HTMLElement>, ...args: Array<string>) => Array<HTMLElement>} fn\n * The implementation of the operator. `els` contains the current set of\n * elements that need to be operated on. The remaining args contain the RegExp match\n * groups that were found\n */\n\n/**\n * combinators are similar to `+` or `>`: these traverse futher down the tree\n * @returns {Operator}\n */\nexport function combinator(token, fn) {\n\treturn {\n\t\ttoken,\n\t\tfn,\n\t\tregex: new RegExp(escapeRegExp(token)),\n\t};\n}\n\n/**\n * psuedoclasses are similar to `:nth-of-type(2n+1)`: these filter the current\n * items based on their argument.\n * @returns {Operator}\n */\nexport function pseudoclass(name, fn) {\n\t// consumes the parentheses and a single, optionally-quoted argument in\n\t// match[2]. Quotes are necessary only if the argument value itself contains\n\t// a closing parens or does not start with a word character.\n\tconst regex = new RegExp(String.raw`:${escapeRegExp(name)}\\(\\s*(\\b|[\\'\"])(.*?)\\1\\s*\\)`);\n\treturn {\n\t\ttoken: `:${name}(`,\n\t\tfn: (els, quoteType, param) => fn(els, param),\n\t\tregex\n\t};\n}\n\nexport const shadowPierce = els => compact(els.map(el => el.shadowRoot || el));\nexport const deepShadowPierce = els => els.flatMap(getDescendantRoots);\nexport const nth = (els, param) => {\n\tconst number = Number(param);\n\tif (Number.isNaN(number))\n\t\treturn [];\n\n\tconst start = number > 0 ? number - 1 : number;\n\tconst end = start === -1 ? undefined : number;\n\treturn els.slice(start, end);\n};\nexport const contains = (els, param) => els.filter(\n\tel =>\n\t\tel.textContent.includes(param) ||\n\tgetDescendantRoots(el).some(e => e.textContent.includes(param))\n);\n\nexport default [\n\tcombinator('>>>', shadowPierce),\n\tcombinator('*>>', deepShadowPierce),\n\tpseudoclass('nth', nth),\n\tpseudoclass('contains', contains)\n];\n","/**\n * Finds the first custom operator that is present in the\n * string, if possible.\n */\nfunction findNextOperator(customOperators, string) {\n\treturn customOperators.reduce(\n\t\t(result, operator) => {\n\t\t\tconst index = string.indexOf(operator.token);\n\t\t\tif (index !== -1 && index < result.index) {\n\t\t\t\treturn {\n\t\t\t\t\toperator,\n\t\t\t\t\tindex,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn result;\n\t\t},\n\t\t{\n\t\t\toperator: null,\n\t\t\tindex: string.length,\n\t\t}\n\t);\n}\n\n/**\n * Parses a selector string looking for parts that match the configured custom\n * operators.\n *\n * @typedef {Object} Part - A subset of the selctor that needs to be handled\n * @property {Operator} [operator] - The custom operator that corresponds to this part. May\n * be null when matching regular CSS selectors\n * @property {string} match - The string for this subset of the selector.\n * @property {Array<string>} [groups] - The RegExp match groups\n *\n * @param {Array<Operator>} customOperators - custom operators to scan for\n * @param {string} selector - the selector string to parse.\n * @returns {Iterator<Part>} - an iterator containing interesting subsets\n * of the parsed substring.\n */\nexport default function* parse(customOperators, selector) {\n\tlet remaining = selector.trim();\n\twhile (remaining) {\n\t\tconst {operator, index} = findNextOperator(customOperators, remaining);\n\n\t\t// may be the entire string if no operators remain\n\t\tconst preOperatorContent = remaining.substr(0, index).trim();\n\t\tremaining = remaining.substr(index);\n\n\t\tif (preOperatorContent) {\n\t\t\tyield {\n\t\t\t\toperator: null,\n\t\t\t\tmatch: preOperatorContent,\n\t\t\t\tgroups: []\n\t\t\t};\n\t\t}\n\n\t\tif (operator) {\n\t\t\tconst result = operator.regex.exec(remaining);\n\n\t\t\tif (!result)\n\t\t\t\tthrow new Error(`Can not parse operator ${operator.token} in selector '${selector}'`);\n\n\t\t\tconst [match, ...groups] = result;\n\t\t\tyield {\n\t\t\t\toperator,\n\t\t\t\tmatch,\n\t\t\t\tgroups\n\t\t\t};\n\t\t\tremaining = remaining.substr(result.index + match.length);\n\t\t}\n\t}\n}\n","import customOperators from './custom-operators';\nimport parse from './parse-selector';\n\n/**\n * Performs a query with the supported custom operators.\n *\n * NOTE: This has unusual behavior when trying to use with the `,`\n * (selectorList) syntax. Commas are supported, but custom operators take\n * higher precidence:\n *\n *\t\t>>> dt,dd\n *\n * In this case, `>>>` is parsed first, then followed by `dt,dd`. If this were\n * all native and >>> were a normal combinator, then this should parse `>>> dt`\n * and then `dd` as independent queries.\n */\nexport function querySelectorAll(selector, roots = document) {\n\tlet selected = Array.isArray(roots) ? roots : [roots];\n\tfor (const {operator, match, groups} of parse(customOperators, selector)) {\n\t\tif (operator)\n\t\t\tselected = operator.fn(selected, ...groups);\n\t\telse {\n\t\t\tselected = selected.flatMap(el =>\n\t\t\t\tArray.from(el.querySelectorAll(match))\n\t\t\t);\n\t\t}\n\t}\n\treturn selected;\n}\n\nexport function querySelector(fullSelector, root) {\n\tconst all = querySelectorAll(fullSelector, root);\n\treturn all[0] || null;\n}\n","const waiters = [];\n\nif (!window.nowUiFramework)\n\twindow.nowUiFramework = {};\n\nwindow.nowUiFramework.queueFlushEnabled = true;\n\ndocument.addEventListener('SEISMIC_QUEUE_FLUSHED', () => {\n\tsetTimeout(() => {\n\t\twaiters.forEach(fn => fn());\n\t\twaiters.length = 0;\n\t}, window.nowUiFramework.queueFlushTimeout || 50);\n});\n\nexport default async function flushQueue() {\n\t/*\n\t * don't remove this setTimeout :( this will break NDS functional tests for\n\t * reasons that we don't understand\n\t */\n\tsetTimeout(() => {\n\t\tconst event = new CustomEvent('FLUSH_SEISMIC_QUEUE', {composed: true, bubbles: true});\n\t\tdocument.dispatchEvent(event);\n\t}, 0);\n\treturn new Promise(resolve => waiters.push(resolve));\n}\n","/* eslint-disable no-confusing-arrow */\n/* eslint-disable no-use-before-define */\nimport {querySelector, querySelectorAll} from './query';\nimport flushQueue from '../testing-helpers/flush-queue';\nimport isNil from 'lodash/isNil';\nimport compact from 'lodash/compact';\nimport map from 'lodash/map';\nimport flatten from 'lodash/flatten';\n\nimport {WAIT_FOR_INTERVAL_DEFAULT, WAIT_FOR_TIMEOUT_DEFAULT, WAIT_UNTIL_INTERVAL_DEFAULT, WAIT_UNTIL_TIMEOUT_DEFAULT, STRATEGY, getStrategyFromNode} from '../constants';\n\nconst simplifyReturnValue = retVal => !retVal.length ? null : (retVal.length === 1 ? retVal[0] : retVal);\nconst createMouseEvent = name => new MouseEvent(name, {\n\tbubbles: true,\n\tcomposed: true,\n\tcancelable: true,\n\tview: window\n});\n\nconst query = (rootEls, selectorEl, all) =>\n\tall ? querySelectorAll(selectorEl, rootEls) : compact(map(rootEls, rootEl => querySelector(selectorEl, rootEl)));\n\nconst unwrap = async el => {\n\tif (isNil(el))\n\t\treturn [];\n\n\tconst els = Array.isArray(el) ? el : [el];\n\tconst unwrapped = await Promise.all(map(els, el => el && getStrategyFromNode(el) ? el.getNodes() : el));\n\treturn compact(flatten(unwrapped));\n};\n\nconst getSelected = async (selectorEl, rootEl, all) => {\n\tif (typeof selectorEl === 'string')\n\t\treturn query(await unwrap(rootEl), selectorEl, all);\n\n\treturn unwrap(selectorEl);\n};\n\nconst maybeFlush = async () => {\n\tif (window.nowUiFramework && window.nowUiFramework.queueFlushInStrategy)\n\t\tawait flushQueue();\n};\n\nexport default async function element(selectorEl, rootEl = document, all = false) {\n\tlet selected = await getSelected(selectorEl, rootEl, all);\n\n\treturn {\n\t\t[STRATEGY]: element,\n\t\tasync addValue(value) {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tselected.forEach(el => el.value = el.value + value);\n\t\t\tawait maybeFlush();\n\t\t\treturn simplifyReturnValue(selected);\n\t\t},\n\t\tasync clearValue() {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tselected.forEach(el => el.value = '');\n\t\t\tawait maybeFlush();\n\t\t\treturn simplifyReturnValue(selected);\n\t\t},\n\t\tasync click() {\n\t\t\tselected.forEach(el => el.dispatchEvent(createMouseEvent('click')));\n\t\t\tawait maybeFlush();\n\t\t\treturn simplifyReturnValue(selected);\n\t\t},\n\t\tasync contains(selector) {\n\t\t\treturn simplifyReturnValue(selected.map(() => querySelector(selector)));\n\t\t},\n\t\tasync count(selector) {\n\t\t\treturn selector ? selected.reduce((acc, el) => acc + querySelectorAll(selector, el).length, 0) : selected.length;\n\t\t},\n\t\tasync doubleClick() {\n\t\t\tselected.forEach(el => el.dispatchEvent(createMouseEvent('dblclick')));\n\t\t\tawait maybeFlush();\n\t\t\treturn simplifyReturnValue(selected);\n\t\t},\n\t\tasync dragAndDrop() {\n\t\t\tconsole.log('dragAndDrop has not been implemented');\n\t\t\treturn simplifyReturnValue(selected);\n\t\t},\n\t\tasync findElement(selector) {\n\t\t\treturn element(selector, selected);\n\t\t},\n\t\tasync findElements(selector) {\n\t\t\treturn element(selector, selected, true);\n\t\t},\n\t\tgetAssignedNodes(index = -1) {\n\t\t\treturn simplifyReturnValue(selected.map(el => {\n\t\t\t\tif (!el.assignedNodes)\n\t\t\t\t\treturn Promise.resolve(index === -1 ? [] : null);\n\n\t\t\t\tconst assignedNodes = el.assignedNodes();\n\t\t\t\tconst nodes = Array.from(assignedNodes.length ? assignedNodes : el.childNodes);\n\t\t\t\treturn Promise.resolve(index === -1 ? nodes : nodes[index]);\n\t\t\t}));\n\t\t},\n\t\tasync getAttribute(name) {\n\t\t\treturn simplifyReturnValue(selected.map(el => el.getAttribute(name)));\n\t\t},\n\t\tasync getCSSProperty(name) {\n\t\t\treturn simplifyReturnValue(selected.map(el => window.getComputedStyle(el).getPropertyValue(name)));\n\t\t},\n\t\tasync getHTML(outer = true) {\n\t\t\treturn simplifyReturnValue(selected.map(el => el[outer ? 'outerHTML' : 'innerHTML']));\n\t\t},\n\t\tasync getRootInnerHTML() {\n\t\t\tconst rootElement = rootEl.shadowRoot || rootEl;\n\t\t\treturn rootElement.innerHTML;\n\t\t},\n\t\tasync getLocation() {\n\t\t\treturn simplifyReturnValue(selected.map(el => {\n\t\t\t\tconst {x, y} = el.getBoundingClientRect();\n\t\t\t\treturn {x, y};\n\t\t\t}));\n\t\t},\n\t\tasync getProperty(name) {\n\t\t\treturn simplifyReturnValue(selected.map(el => el[name]));\n\t\t},\n\t\tasync getSize(dimension) { // width or height, OR both in object\n\t\t\treturn simplifyReturnValue(selected.map(el => {\n\t\t\t\tconst rect = el.getBoundingClientRect();\n\t\t\t\treturn dimension ? rect[dimension] : {width: rect.width, height: rect.height};\n\t\t\t}));\n\t\t},\n\t\tasync getTagName() {\n\t\t\treturn simplifyReturnValue(selected.map(el => el.tagName));\n\t\t},\n\t\tasync getText() {\n\t\t\treturn simplifyReturnValue(selected.map(el => el.textContent.trim()));\n\t\t},\n\t\tasync getValue() {\n\t\t\treturn simplifyReturnValue(selected.map(el => el.value));\n\t\t},\n\t\tasync getNodes(selector) {\n\t\t\tif (!selector)\n\t\t\t\treturn simplifyReturnValue(selected);\n\n\n\t\t\treturn simplifyReturnValue(selected.reduce((acc, node) => [...acc, ...querySelectorAll(selector, node)], []));\n\t\t},\n\t\tasync hasClass(className) {\n\t\t\treturn simplifyReturnValue(selected.map(el => el.classList.contains(className)));\n\t\t},\n\t\t// TODO: this might need to account for when the host element is not displayed\n\t\tasync isDisplayed() {\n\t\t\treturn simplifyReturnValue(selected.map(el => {\n\t\t\t\tconst styles = window.getComputedStyle(el);\n\t\t\t\treturn styles.getPropertyValue('visibility') !== 'hidden' && styles.getPropertyValue('display') !== 'none';\n\t\t\t}));\n\t\t},\n\t\tasync isDisplayedInViewport() {\n\t\t\tconst viewPortWidth = window.innerWidth || document.documentElement.clientWidth;\n\t\t\tconst viewPortHeight = window.innerHeight || document.documentElement.clientHeight;\n\n\t\t\treturn simplifyReturnValue(selected.map(el => {\n\t\t\t\tconst styles = window.getComputedStyle(el);\n\t\t\t\tconst {left, top, right, bottom} = el.getBoundingClientRect();\n\t\t\t\treturn (styles.getPropertyValue('visibility') !== 'hidden' && styles.getPropertyValue('display') !== 'none') &&\n\t\t\t\t\t(top >= 0 && left >= 0 && right <= viewPortWidth && bottom <= viewPortHeight);\n\t\t\t}));\n\t\t},\n\t\tasync isEnabled() {\n\t\t\treturn simplifyReturnValue(selected.map(el => !el.disabled));\n\t\t},\n\t\t/**\n    \t* return true if element present else return false\n    \t*/\n\t\tasync isExisting() {\n\t\t\treturn selected.length > 0;\n\t\t},\n\t\tasync isFocused() {\n\t\t\tlet found = false;\n\n\t\t\treturn simplifyReturnValue(selected.map(el => {\n\t\t\t\tif (found)\n\t\t\t\t\tfalse;\n\n\t\t\t\tlet {parentNode} = el;\n\t\t\t\twhile (parentNode) {\n\t\t\t\t\tif (parentNode.host) {\n\t\t\t\t\t\tconst focused = parentNode.activeElement === el;\n\t\t\t\t\t\tfound = focused;\n\t\t\t\t\t\treturn focused;\n\t\t\t\t\t}\n\t\t\t\t\t({parentNode} = parentNode);\n\t\t\t\t}\n\n\t\t\t\treturn document.activeElement === el;\n\t\t\t}));\n\t\t},\n\t\tasync isSelected() {\n\t\t\treturn simplifyReturnValue(selected.map(el => el.hasAttribute('selected') && el.getAttribute('selected') === 'selected'));\n\t\t},\n\t\tasync moveTo() {\n\t\t\tconsole.log('moveTo has not been implemented');\n\t\t\treturn simplifyReturnValue(selected);\n\t\t},\n\t\tasync scrollIntoView() {\n\t\t\tselected.forEach(el => el.scrollIntoView());\n\t\t\tawait maybeFlush();\n\t\t\treturn simplifyReturnValue(selected);\n\t\t},\n\t\tselectByAttribute(name, value) {\n\t\t\treturn simplifyReturnValue(selected.filter(el => el.hasAttribute(name) && el.getAttribute(name) === value));\n\t\t},\n\t\tasync selectByIndex(index) {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tselected.forEach(el => el.selectedIndex = index);\n\t\t\tawait maybeFlush();\n\t\t\treturn simplifyReturnValue(selected);\n\t\t},\n\t\tasync selectByVisibleText(text) {\n\t\t\tselected.forEach((el, index) => {\n\t\t\t\tArray.from(el.childNodes).forEach(option => {\n\t\t\t\t\tif (option.textContent === text)\n\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\tel.selectedIndex = index;\n\t\t\t\t});\n\t\t\t});\n\t\t\tawait maybeFlush();\n\t\t\treturn simplifyReturnValue(selected);\n\t\t},\n\t\tasync setProperty(name, value) {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tselected.forEach(el => el[name] = value);\n\t\t\tawait maybeFlush();\n\t\t\treturn simplifyReturnValue(selected);\n\t\t},\n\t\tasync setValue(value) {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tselected.forEach(el => el.value = value);\n\t\t\tawait maybeFlush();\n\t\t\treturn simplifyReturnValue(selected);\n\t\t},\n\t\tasync touchAction() {\n\t\t\tconsole.log('touchAction has not been implemented');\n\t\t\treturn simplifyReturnValue(selected);\n\t\t},\n\t\tasync waitForDisplayed(ms = WAIT_FOR_TIMEOUT_DEFAULT, reverse = false, error = `Failed to wait for element displayed after ${ms} ms`) {\n\t\t\tconst displayed = async reverse => reverse ? !(await this.isDisplayed()) : await this.isDisplayed();\n\t\t\tconst isDisplayed = await displayed(reverse);\n\n\t\t\tif (isDisplayed)\n\t\t\t\treturn isDisplayed;\n\n\t\t\tconst condition = () => displayed(reverse);\n\t\t\treturn this.waitUntil(condition, ms, error, WAIT_FOR_INTERVAL_DEFAULT);\n\t\t},\n\t\tasync waitForEnabled(ms = WAIT_FOR_TIMEOUT_DEFAULT, reverse = false, error = `Failed to wait for element enabled after ${ms} ms`) {\n\t\t\tconst enabled = async reverse => reverse ? !(await this.isEnabled()) : await this.isEnabled();\n\n\t\t\tconst isEnabled = await enabled(reverse);\n\t\t\tif (isEnabled)\n\t\t\t\treturn isEnabled;\n\n\t\t\tconst condition = () => enabled(reverse);\n\t\t\treturn this.waitUntil(condition, ms, error, WAIT_FOR_INTERVAL_DEFAULT);\n\t\t},\n\t\tasync waitForExist(ms = WAIT_FOR_TIMEOUT_DEFAULT, reverse = false, error = `Failed to wait for element exist after ${ms} ms`) {\n\t\t\tconst exists = (selected, reverse) => reverse ? (selected.length === 0) : (selected.length > 0);\n\n\t\t\tif (exists(selected, reverse))\n\t\t\t\treturn true;\n\n\t\t\tconst condition = async () => {\n\t\t\t\tselected = await getSelected(selectorEl, rootEl, all);\n\t\t\t\treturn exists(selected, reverse);\n\t\t\t};\n\n\t\t\treturn this.waitUntil(condition, ms, error, WAIT_FOR_INTERVAL_DEFAULT);\n\t\t},\n\t\tasync waitUntil(condition, timeout = WAIT_UNTIL_TIMEOUT_DEFAULT, timeoutMsg = `Failed to wait until condition after ${timeout} ms`, checkInterval = WAIT_UNTIL_INTERVAL_DEFAULT) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tconst started = new Date();\n\t\t\t\tconst timeElapsedSince = started => Date.now() - started;\n\t\t\t\tconst wait = ms => new Promise((resolve, reject) => setTimeout(reject, ms));\n\t\t\t\tconst checkElapsedTime = () => {\n\t\t\t\t\tif (timeElapsedSince(started) >= timeout) {\n\t\t\t\t\t\tclearInterval(interval);\n\t\t\t\t\t\treject(timeoutMsg);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tconst interval = setInterval(() => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tPromise.race([condition(), wait(timeout - timeElapsedSince(started))])\n\t\t\t\t\t\t\t.then(conditionResult => {\n\t\t\t\t\t\t\t\tif (conditionResult) {\n\t\t\t\t\t\t\t\t\tclearInterval(interval);\n\t\t\t\t\t\t\t\t\tresolve(conditionResult);\n\t\t\t\t\t\t\t\t} else\n\t\t\t\t\t\t\t\t\tcheckElapsedTime();\n\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\t\t\tcheckElapsedTime();\n\t\t\t\t\t\t\t});\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tcheckElapsedTime();\n\t\t\t\t\t}\n\t\t\t\t}, checkInterval);\n\t\t\t});\n\t\t}\n\t};\n}\n\n/**\n * TODO: the functions below are only a short term workaround for triggering input changes. They should be removed\n * as soon as we have a proper fix for functions 'addValue(..)' and 'clearValue(..)' that sets the input value\n * and triggers the expected events; simulating a user input entry.\n */\nexport {default as setNativeValue} from './setNativeValue';\nexport {change, input, focus, blur, focusIn, focusOut} from './event';\nexport {querySelector, querySelectorAll};\n","import flushQueue from './flush-queue';\n\nexport default async function willDispatch(el, name, trigger, wait = 500) {\n\tconst promise = new Promise((resolve, reject) => {\n\t\tconst timeout = setTimeout(() => {\n\t\t\tif (el)\n\t\t\t\t// eslint-disable-next-line no-use-before-define\n\t\t\t\tel.removeEventListener('DISPATCH_CUSTOM_EVENT', listener);\n\t\t\treject(new Error(`${name} was not dispatched within ${wait}ms`));\n\t\t}, wait);\n\t\tconst listener = async ({detail: {type, payload, meta}}) => {\n\t\t\tif (type === name) {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tif (el)\n\t\t\t\t\tel.removeEventListener('DISPATCH_CUSTOM_EVENT', listener);\n\t\t\t\tresolve({type, payload, meta});\n\t\t\t}\n\t\t};\n\n\t\tel.addEventListener('DISPATCH_CUSTOM_EVENT', listener, false);\n\t});\n\n\tawait trigger();\n\tawait flushQueue();\n\treturn promise;\n}","import isString from 'lodash/isString';\nimport first from 'lodash/first';\nimport flushQueue from './flush-queue';\n\nconst getSeismicMajor = ver => {\n\tif (ver && ver.length > 0) {\n\t\tconst [major] = ver.split('.');\n\t\treturn + major;\n\t}\n};\n\nexport default function fixture(template, renderer = {}) {\n\tconst isTemplateString = isString(template);\n\tconst {onStateChange: render, onDisconnect: disconnect} = renderer;\n\tlet el;\n\n\tconst create = async () => {\n\t\tif (el)\n\t\t\tthrow new Error('Fixture was already created, call `destroy()` first');\n\n\t\tel = document.createElement('DIV');\n\t\tdocument.body.appendChild(el);\n\t\tif (isTemplateString)\n\t\t\tel.innerHTML = template;\n\t\telse\n\t\t\tawait render(el, () => template, {}, () => {});\n\n\t\tconst seismicComponent = first(document.querySelectorAll('[component-id]'));\n\t\tconst seismicVersion = seismicComponent && seismicComponent.version;\n\t\t\n\t\tif (!seismicVersion || getSeismicMajor(seismicVersion) > 18)\n\t\t\tawait flushQueue();\n\n\t\treturn el.firstElementChild;\n\t};\n\n\tconst destroy = async () => {\n\t\tif (!el)\n\t\t\tthrow new Error('Fixture has not been created, call `create()` first');\n\n\t\tif (!isTemplateString)\n\t\t\tawait disconnect(el);\n\n\t\tel.parentElement.removeChild(el);\n\t\tel = null;\n\t\treturn;\n\t};\n\n\treturn {create, destroy};\n}\n","/* eslint-disable no-console */\nimport isEmpty from 'lodash/isEmpty';\nimport toLower from 'lodash/toLower';\n\nlet registryInstantiated = false;\n\n/**\n * Checks if a tag passed into createDriverApi fits the criteria defined by\n * https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\n */\nconst validCustomComponent = tag => {\n\tconst exclusionList = [\n\t\t'annotation-xml',\n\t\t'color-profile',\n\t\t'font-face',\n\t\t'font-face-src',\n\t\t'font-face-uri',\n\t\t'font-face-format',\n\t\t'font-face-name',\n\t\t'missing-glyph'\n\t];\n\tconst PCENChar = '[-\\\\w\\\\.]';\n\tconst potentialCustomElementNameRegex = new RegExp(`^[a-z]${PCENChar}*-${PCENChar}*$`);\n\treturn tag.match(potentialCustomElementNameRegex) && !exclusionList.includes(tag);\n\n};\n\nconst instantiateRegistry = () => {\n\tif (registryInstantiated)\n\t\treturn;\n\n\tif (!window.__COMPONENT_DRIVERS__)\n\t\twindow.__COMPONENT_DRIVERS__ = {};\n\telse\n\t\tconsole.warn('Multiple instances of component-driver-api loaded! Using existing __COMPONENT_DRIVERS__ reference.');\n\n\tregistryInstantiated = true;\n};\n\nexport default (tagNames, driver) => {\n\tinstantiateRegistry();\n\tif (!tagNames || isEmpty(tagNames)) {\n\t\tconsole.trace('tagNames undefined or empty in call to registerComponentDriver. Skipping.');\n\t\treturn;\n\t}\n\n\tconst tagNameArray = Array.isArray(tagNames) ? tagNames : [tagNames];\n\n\tif (!driver)\n\t\tthrow new Error(`driver undefined for tags ${tagNameArray.join(', ')} in call to registerComponentDriver`);\n\n\tfor (const tag of tagNameArray) {\n\t\tconst lowTag = toLower(tag);\n\t\tif (!validCustomComponent(lowTag)) {\n\t\t\tconsole.error(`${tag} is not a valid custom component in call to registerComponentDriver. Skipping.`);\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (window.__COMPONENT_DRIVERS__[lowTag])\n\t\t\tconsole.trace(`driver already exists for tag, ${lowTag}. skipping.`);\n\t\telse {\n\t\t\twindow.__COMPONENT_DRIVERS__[lowTag] = driver;\n\t\t\tconsole.info(`registered driver for ${lowTag}`);\n\t\t}\n\t}\n};","/* eslint-disable no-confusing-arrow */\n/* eslint-disable no-param-reassign */\n/* eslint-disable no-console */\n/* eslint-disable nonblock-statement-body-position */\nimport isFunction from 'lodash/isFunction';\nimport isEmpty from 'lodash/isEmpty';\nimport {default as defaultElementStrategy} from '../element-helpers';\nimport {getStrategyFromNode} from '../constants';\nimport flushQueue from './flush-queue';\nimport registerComponentDriver from './register-component-driver';\n\nasync function assertValidTag(validTags, driver) {\n\tif (!validTags || isEmpty(validTags)) {\n\t\tconsole.trace('driver created without component tags!');\n\t\treturn;\n\t}\n\n\tif (await driver.count() === 0)\n\t\treturn;\n\n\tvalidTags = Array.isArray(validTags) ? validTags : [validTags];\n\n\tconst actualTag = (await driver.getTagName()).toUpperCase();\n\n\tif (!validTags.some(validTag => validTag.toUpperCase() === actualTag)) {\n\t\tconst formattedTags = validTags.map(tag => `<${tag.toLowerCase()}>`);\n\t\tthrow new Error(\n\t\t\t`Cannot create driver with <${actualTag.toLowerCase()}> node. Expected${\n\t\t\t\tvalidTags.length > 1 ? ' one of' : ''\n\t\t\t} ${formattedTags.join(', ')}`\n\t\t);\n\t}\n}\n\nasync function isSeismicElement(driver) {\n\tconst tagName = await driver.getTagName();\n\tconst node = await driver.getNodes();\n\treturn Boolean(tagName && tagName.includes('-') && node.shadowRoot);\n}\n\n/**\n * Find the matching `<seismic-hoist>` of a hoisted component.\n * @param selectedEl - The target component for the driver.\n * @returns - The matching `<seismic-hoist>` element if selectedEl has the attribute `hoist`.\n */\nfunction resolveHoistedElement(selectedEl) {\n\tif (selectedEl && selectedEl.hasAttribute &&\n\t\t// \"now-hoist\" is the new attribute value\n\t\t// https://code.devsnc.com/dev/sn-seismic/blob/release/sn-seismic-18.2.1/packages/core/src/constants.js#L36\n\t\t// https://code.devsnc.com/dev/sn-seismic/blob/release/sn-seismic-18.2.1/packages/core/src/utils/isHoisted.js#L9\n\t\t(selectedEl.hasAttribute('hoist') || selectedEl.hasAttribute('now-hoist'))) {\n\t\t// If the element has been hoisted query it from the document using the tag name & component-id\n\t\tconst componentId = selectedEl.getAttribute('component-id');\n\t\tconst tagName = selectedEl.tagName.toLowerCase();\n\t\t// The character escaping here is very particular for querying the right dom element.\n\t\t// eslint-disable-next-line no-useless-escape\n\t\tconst targetFor = `target-for='${tagName}[component-id=\\\"${componentId}\\\"\\]'`;\n\t\tconst host = selectedEl.getProperty('nowHoistPrependTo') || selectedEl.getProperty('nowHoistAppendTo') || document;\n\t\tconst hoistedElement = host.querySelector(`seismic-hoist[${targetFor}]`);\n\t\t// There's trouble if this triggers...\n\t\tif (!hoistedElement) {\n\t\t\tthrow new Error(\n\t\t\t\t`Cannot find <seismic-hoist ${targetFor}> node for hoisted <${tagName}>`\n\t\t\t);\n\t\t}\n\t\treturn hoistedElement;\n\t}\n}\n\nexport default function createDriverAPI(validTags, callback) {\n\n\tconst componentDriver = async function (nodeOrWrapped, elementStrategy) {\n\n\t\tif (elementStrategy && !isFunction(elementStrategy)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Cannot create component driver. Expected 2nd argument to be a strategy function but got ${typeof elementStrategy}.`\n\t\t\t);\n\t\t}\n\n\t\tconst inheritedStrategy = nodeOrWrapped && getStrategyFromNode(nodeOrWrapped);\n\t\tconst node = inheritedStrategy ? await nodeOrWrapped.getNodes() : nodeOrWrapped;\n\n\t\tif (!elementStrategy)\n\t\t\telementStrategy = inheritedStrategy || defaultElementStrategy;\n\n\t\t// TODO: resolveHoistedElement should use the strategy APIs instead of a\n\t\t// raw DOM node.\n\t\tconst hoistedNode = resolveHoistedElement(node);\n\t\tconst resolvedNode = hoistedNode || node;\n\t\tconst driver = await elementStrategy(resolvedNode);\n\t\t// Don't validate tags when using seismic-hoist element\n\t\tif (!hoistedNode)\n\t\t\tawait assertValidTag(validTags, driver);\n\n\t\t// Ensure components have a chance to initially render. Helps in cases\n\t\t// where the host tag is in the DOM but the Seismic scheduler hasn't quite\n\t\t// caught up.\n\t\tif (await isSeismicElement(driver)) {\n\t\t\t// Assumption: no shadowRoot children other than a <style> tag means no\n\t\t\t// initial render. Might lead to false-positivies for some components that\n\t\t\t// intentionally return `null`, but better safe than sorry\n\t\t\tconst viewContent = await driver.findElement('>>> :not(style)');\n\t\t\tif (!(await viewContent.isExisting()))\n\t\t\t\tawait flushQueue();\n\t\t}\n\n\t\tif (!isFunction(callback)) return driver;\n\n\t\tconst componentAPI = await Promise.resolve(callback({\n\t\t\tnode: resolvedNode,\n\t\t\telement: elementStrategy,\n\t\t\tdriver,\n\t\t\tfind: selector => elementStrategy(`>>> ${selector}`, resolvedNode),\n\t\t}));\n\n\t\treturn {\n\t\t\t...driver,\n\t\t\t...componentAPI\n\t\t};\n\t};\n\tregisterComponentDriver(validTags, componentDriver);\n\treturn componentDriver;\n}\n","/* eslint-disable no-param-reassign */\n/* eslint-disable no-confusing-arrow */\n/**\n * Finds the first node in a collection of nodes that matches a given criteria.\n * Matchers are objects that describe what property and value to compare when\n * looking through the collection. If multiple nodes in the collection match,\n * only the first one is returned. If no nodes match, `null` is returned.\n * Throws when the matchers are not well-formed.\n *\n * Index matcher: Return the node at the given (0-based) index:\n *\n *  { index: 3 }\n *\n *  Shorthand: just an integer:\n *  - 3\n *\n * ID matcher: Return the node with the same ID\n *\n *  { id: 'some-id' }\n *\n *  Shorthand: a string prefixed with `#`:\n *  - \"#some-id\"\n *\n * Text matcher: By default, matches case-sensitively and requires a complete\n * (===) match. Set `ignoreCase` or `substring` flags to modify this behavior.\n *\n *  {\n *    text: 'search string',\n *    ignoreCase: false\n *    substring: false\n *  }\n *\n * RegExps are also allowed:\n *\n *  { text: /search pattern/i }\n *\n * Shorthand: a string (no `#` prefix allowed) or a regex.\n * - \"search string\"\n * - /search pattern/\n */\nimport pick from 'lodash/pick';\nimport keys from 'lodash/keys';\nimport has from 'lodash/has';\nimport toLower from 'lodash/toLower';\nimport isNumber from 'lodash/isNumber';\nimport isString from 'lodash/isString';\nimport isRegExp from 'lodash/isRegExp';\nimport isPlainObject from 'lodash/isPlainObject';\n\nasync function matchByIndex(nodes, matcher) {\n\treturn nodes[matcher.index];\n}\n\nasync function matchById(nodes, matcher, getId) {\n\tconst ids = await Promise.all(nodes.map(getId));\n\n\tconst matchingIndex = ids.findIndex(id => matcher.id === id);\n\treturn nodes[matchingIndex];\n}\n\nasync function matchByText(nodes, matcher, getText) {\n\tconst texts = await Promise.all(nodes.map(getText));\n\n\tconst matchingIndex = texts.findIndex(text => {\n\t\tif (isRegExp(matcher.text)) \n\t\t\treturn matcher.text.test(text);\n\t\t\n\n\t\tconst expected = matcher.ignoreCase ? toLower(matcher.text) : matcher.text;\n\t\tconst actual = matcher.ignoreCase ? toLower(text) : text;\n\n\t\treturn matcher.substring ? actual.includes(expected) : actual === expected;\n\t});\n\n\treturn nodes[matchingIndex];\n}\n\nfunction isDriver(thing) {\n\t// kinda hacky. Assumes any object with a `.getNodes()` is already a driver\n\treturn Boolean(thing.getNodes);\n}\n\n/**\n * Wraps each node in a collection in its own element() interface, so that we\n * can perform getText/getId operations on each node.\n *\n * @type nodes - node | Array<node> | Driver | Array<Driver>\n * @type element - strategy\n *\n * @return Array<Driver>\n */\nasync function normalizeNodes(nodes, element) {\n\tnodes = isDriver(nodes) ? await nodes.getNodes() : nodes;\n\n\tif (!Array.isArray(nodes)) \n\t\tnodes = [nodes];\n\t\n\n\treturn Promise.all(nodes.map(async node =>\n\t\tisDriver(node) ? node : element(node)\n\t));\n}\n\n// psshh.. we don't need no typescript\nexport function normalizeMatcher(matcher) {\n\tlet normalized = matcher;\n\n\tif (isNumber(matcher)) {\n\t\tnormalized = {\n\t\t\tindex: matcher\n\t\t};\n\t} else if (isString(matcher) && matcher.startsWith('#')) {\n\t\tnormalized = {\n\t\t\tid: matcher.substring(1)\n\t\t};\n\t} else if (isString(matcher) || isRegExp(matcher)) {\n\t\tnormalized = {\n\t\t\ttext: matcher\n\t\t};\n\t} else if (isPlainObject(matcher)) {\n\t\tnormalized = matcher;\n\n\t\tconst validKeys = ['text', 'id', 'index'];\n\t\tconst matchingKeys = keys(pick(normalized, validKeys));\n\t\tif (matchingKeys.length === 0) \n\t\t\tthrow new Error(`Invalid matcher. Must be an object with one of the following keys: ${validKeys.join(', ')}. Provded object has none of those keys.`);\n\t\telse if (matchingKeys.length > 1) \n\t\t\tthrow new Error(`Invalid matcher. matcher must have only 1 of the following keys: ${validKeys.join(', ')}. Provided object has too many keys: ${matchingKeys.join(', ')}`);\n\t\t\n\t} else \n\t\tthrow new Error(`Invalid matcher. Expected string, number, or object but got ${typeof matcher}.`);\n\t\n\n\tif (has(normalized, 'index') && !isNumber(normalized.index)) \n\t\tthrow new Error(`Invalid index matcher. Expected number but got ${typeof normalized.index}`);\n\t\n\n\treturn normalized;\n}\n\n/**\n * Finds the first matching node in a list of nodes.\n * @param nodes - a collection of nodes to search through. Can optionally be\n * wrapped in a strategy or be an array of nodes wrapped in a strategy.\n * @param element - the element strategy to use\n * @param matcher - How to search for a node. See above\n * @param getId - Function to configure how the ID is computed for each node. Will\n * be passed a strategy-wrapped node as its only param\n * @param getText - Function to configure how the text is computed for each node. Will\n * be passed a strategy-wrapped node as its only param\n */\nexport default async function findNode({\n\tnodes,\n\telement,\n\tmatcher,\n\tgetId = (async el => el.getAttribute('id')),\n\tgetText = (async el => el.getText())\n}) {\n\n\t// support a Driver instance in addition to raw node(s)\n\tconst wrapped = await normalizeNodes(nodes, element);\n\n\tif (wrapped.length === 0) \n\t\treturn null;\n\t\n\n\tmatcher = normalizeMatcher(matcher);\n\n\tlet result;\n\tif (has(matcher, 'index'))\n\t\tresult = await matchByIndex(wrapped, matcher);\n\tif (has(matcher, 'id'))\n\t\tresult = await matchById(wrapped, matcher, getId);\n\tif (has(matcher, 'text'))\n\t\tresult = await matchByText(wrapped, matcher, getText);\n\n\treturn result || null;\n}\n","let annotation = () => {};\n\n(async () => {\n\tannotation = async (...rest) => {\n\t\tif (process.env.FUNCTIONAL_TEST) {\n\t\t\t// eslint-disable-next-line prefer-rest-params\n\t\t\tconst tasks = Array.prototype.slice.call(rest);\n\t\t\treturn window.fetch('/annotation', {\n\t\t\t\tmethod: 'POST',\n\t\t\t\theaders: {\n\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t},\n\t\t\t\tbody: JSON.stringify(tasks),\n\t\t\t});\n\t\t}\n\t\tif (process.env.NODE_ENV === 'test') {\n\t\t\tif (process.env.JEST_23) {\n\t\t\t\tconst {annotation: annotationFunc} = await import('@servicenow/commons-test-js-utils');\n\t\t\t\tannotationFunc(...rest);\n\t\t\t\treturn;\n\t\t\t}\n\t\n\t\t\tconst SdlcReporterModule = await import('@tectonic/jest-sdlc-reporter');\n\t\t\tconst SdlcReporter = SdlcReporterModule.default;\n\t\t\tconst instance = new SdlcReporter();\n\t\t\t// eslint-disable-next-line prefer-rest-params\n\t\t\tinstance.annotation(...rest);\n\t\t}\n\t};\n})();\n\nexport default annotation;\n","let start = async () => { };\nlet stop = async () => { };\n\n// async IIFE to await multiple conditional dynamic imports\n// in a clean, readable way\n(async () => {\n\n\t// wrapping code in if statement instead of short-circuting\n\t// for higher confidence tree shaking\n\t// UNSAFE_SEISMIC_EMIT_CUSTOM_EVENT == true is our way of detectinig\n\t// test functional command has been executed\n\tif (process.env.UNSAFE_SEISMIC_EMIT_CUSTOM_EVENT) {\n\n\t\t// we do not ever want these imports executed outside of\n\t\t// test functional process and browser runtime\n\t\tconst XHRAdapter = await import('@pollyjs/adapter-xhr');\n\t\tconst FetchAdapter = await import('@pollyjs/adapter-fetch');\n\t\tconst RESTPersister = await import('@pollyjs/persister-rest');\n\n\t\tconst {Polly} = await import('@pollyjs/core');\n\t\tPolly.register(XHRAdapter.default);\n\t\tPolly.register(FetchAdapter.default);\n\t\tPolly.register(RESTPersister.default);\n\n\t\tconst KNOWN_PROPERTIES_TO_MOCK = {\n\t\t\tnowUiInteraction: 'mock-xyz' //add to but do not change existing, you will break lots of recordings out in the wild\n\t\t};\n\n\n\t\t/**\n\t\t* the below settings are shared between the @tectonic/karma-runner -> @pollyjs/persister-rest instance\n\t\t* and the @tectonic/test-api -> @pollyjs/core instance\n\t\t*/\n\t\tconst API_NAMESPACE = '@tectonic';\n\n\t\tconst DEFAULT_POLLY_OPTIONS = {\n\t\t\tadapters: ['xhr', 'fetch'],\n\t\t\tpersister: 'rest',\n\t\t\tpersisterOptions: {\n\t\t\t\trest: {\n\t\t\t\t\thost: `http://localhost:${process.env.TECTONIC_POLLY_PORT || 3001}`,\n\t\t\t\t\tapiNamespace: API_NAMESPACE\n\t\t\t\t}\n\t\t\t},\n\t\t\trecordIfMissing: true,\n\t\t\tmatchRequestsBy: {\n\t\t\t\theaders: false //Exclude all headers when polly tries the match a request with an existing recording entry\n\t\t\t}\n\t\t};\n\n\t\tconst getPollyOptions = () => {\n\t\t\tif (process.env.TECTONIC_POLLY_OPTIONS) {\n\t\t\t\tconst userPollyOPtions = JSON.parse(process.env.TECTONIC_POLLY_OPTIONS);\n\t\t\t\treturn {...DEFAULT_POLLY_OPTIONS, ...userPollyOPtions};\n\t\t\t}\n\t\t\t\n\t\t\treturn DEFAULT_POLLY_OPTIONS;\n\t\t};\n\t\tconst polly = new Polly(`${API_NAMESPACE}/default-recording`, getPollyOptions());\n\n\t\tconst getMockCapabilities = () => {\n\t\t\tif (process.env.TECTONIC_GQL_MOCK_CAPABILITIES) {\n\t\t\t\tconst gqlMockCapabilitiesObject = JSON.parse(process.env.TECTONIC_GQL_MOCK_CAPABILITIES); //Converts mocked gql capibilities from string to object.\n\t\t\t\treturn {...gqlMockCapabilitiesObject, ...KNOWN_PROPERTIES_TO_MOCK};\n\t\t\t}\n\n\t\t\treturn KNOWN_PROPERTIES_TO_MOCK;\n\t\t};\n\n\t\tpolly.pause();\n\n\t\t/**\n\t\t\t *\n\t\t\t * @param {string} [recordingName] - A name for the recording, default: servicenow/cli-default-recording\n\t\t\t * @param {string} [mode] - Options: record, passthrough, play, default: play (play mode will record if no recording exists)\n\t\t\t * @returns {Promise<void>}\n\t\t\t */\n\t\tstart = async (recordingName, mode = 'play') => {\n\t\t\tif (recordingName)\n\t\t\t\tpolly.recordingName = recordingName;\n\n\t\t\tconst {server} = polly;\n\n\t\t\t/**\n\t\t\t\t * listen for any graphql request\n\t\t\t\t */\n\t\t\tserver.any('/**/graphql')\n\t\t\t\t.on('request', req => {\n\t\t\t\t\tconst mockCapabilties = getMockCapabilities();\n\t\t\t\t\t//do not assign this jsonBody reference to another variable in anyway\n\t\t\t\t\t//the execution context of this code is in the browser\n\t\t\t\t\t//in addition PollyJs is holding a reference to body and body[0]\n\t\t\t\t\tconst body = req.jsonBody();\n\n\t\t\t\t\t//iterate over each property of mocked gql capibilities set each properties keys to its value\n\t\t\t\t\tfor (const property in mockCapabilties) {\n\t\t\t\t\t\t//iterate over each requests in body in case there are multiple GraphQL requests\n\t\t\t\t\t\tif (Array.isArray(body))\n\t\t\t\t\t\t\tbody.forEach(requestBody => requestBody[property] = mockCapabilties[property]); // eslint-disable-line no-param-reassign\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tbody[property] = mockCapabilties[property];\n\t\t\t\t\t}\n\n\t\t\t\t\t//return request body\n\t\t\t\t\treq.json(body);\n\t\t\t\t});\n\n\t\t\tswitch (mode) {\n\t\t\t\tcase 'record':\n\t\t\t\t\tpolly.record();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'passthrough':\n\t\t\t\t\tpolly.passthrough();\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tpolly.play();\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\treturn Promise.resolve();\n\t\t};\n\n\t\t/**\n\t\t\t * @returns {Promise<void>}\n\t\t\t*/\n\t\tstop = async () => {\n\t\t\tif (!polly)\n\t\t\t\treturn;\n\t\t\treturn await polly.stop();\n\t\t};\n\t}\n\n})();\n\nexport {start, stop};","/** Deep equality comparison for values\n * @param {*} a - First value\n * @param {*} b - Second value\n * @returns {boolean} True if values are deeply equal\n */\nconst deepEqual = (a, b) => {\n\t// Same reference or both null/undefined\n\tif (a === b) \n\t\treturn true;\n\t\n\t// Handle null and undefined\n\tif (a === null || b === null) \n\t\treturn false;\n\t\n\t// Different types\n\tif (typeof a !== typeof b) \n\t\treturn false;\n\t\n\t// For primitives (already checked === above, so they're different)\n\tif (typeof a !== 'object') \n\t\treturn false;\n\t\n\t// Arrays\n\tif (Array.isArray(a) && Array.isArray(b)) {\n\t\tif (a.length !== b.length) \n\t\t\treturn false;\n\t\treturn a.every((item, index) => deepEqual(item, b[index]));\n\t}\n\t\n\t// One is array, other is not\n\tif (Array.isArray(a) !== Array.isArray(b)) \n\t\treturn false;\n\t\n\t// Objects\n\tconst keysA = Object.keys(a);\n\tconst keysB = Object.keys(b);\n\t\n\tif (keysA.length !== keysB.length) \n\t\treturn false;\n\t\n\treturn keysA.every(key => \n\t\tkeysB.includes(key) && deepEqual(a[key], b[key])\n\t);\n};\n\n/** Helper function to normalize search values\n * @param {object} searchObj - Search object to normalize\n * @returns {object} Normalized search object\n */\nconst normalizeSearchValues = searchObj => \n\tObject.entries(searchObj).reduce((acc, [key, value]) => {\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tacc[key] = typeof value === 'string' ? value.trim() : value;\n\t\treturn acc;\n\t}, {});\n\n/** Helper function to check if a node matches search criteria\n * @param {object} currentNode - The node to check\n * @param {object} normalizedSearch - Normalized search criteria\n * @param {object} searchIn - The object to search within (props or appendToMeta)\n * @returns {boolean} True if node matches all criteria\n */\nconst matchesCriteria = (currentNode, normalizedSearch, searchIn) => {\n\tfor (const [key, normalizedSearchValue] of Object.entries(normalizedSearch)) {\n\t\tconst actualValue = searchIn?.[key];\n\t\tconst normalizedActualValue = typeof actualValue === 'string' ? actualValue.trim() : actualValue;\n\t\t\n\t\tif (!deepEqual(normalizedActualValue, normalizedSearchValue)) \n\t\t\treturn false;\n\t}\n\treturn true;\n};\n\n/** Recursively finds all nodes in a tree that match the specified criteria\n * @param {object|array} element - A VNODE object or an array of VNODEs to start searching from\n * @param {object} options - Search options object\n * @param {string} options.tag - Tag name to match against node's 'sel' property (optional)\n * @param {object} options.props - Search criteria for node's data.props properties (optional)\n * @param {object} options.appendToMeta - Search criteria for node's data.props.appendToMeta properties (optional)\n * @returns {array} Array of matching nodes\n * \n * @example\n * // Search by tag only (single VNODE)\n * getAllChildren(element, { tag: 'div' })\n * \n * // Search by tag only (array of VNODEs)\n * getAllChildren([element1, element2], { tag: 'div' })\n * \n * // Search in props only\n * getAllChildren(element, { props: { id: 'test-id' } })\n * \n * // Search in appendToMeta only\n * getAllChildren(element, { appendToMeta: { role: 'button' } })\n * \n * // Search by tag and props\n * getAllChildren(element, { tag: 'div', props: { className: 'highlight' } })\n * \n * // Search in both props and appendToMeta\n * getAllChildren(element, { props: { id: 'test-id' }, appendToMeta: { role: 'button' } })\n */\nconst getAllChildren = (element, {tag = '', props = {}, appendToMeta = {}} = {}) => {\n\t// Return empty array if all search parameters are empty\n\tif (!tag && Object.keys(props).length === 0 && Object.keys(appendToMeta).length === 0) \n\t\treturn [];\n\t\n\t// Normalize search values.\n\tconst normalizedTag = typeof tag === 'string' ? tag.trim() : tag;\n\tconst normalizedPropsSearch = normalizeSearchValues(props);\n\tconst normalizedAppendToMetaSearch = normalizeSearchValues(appendToMeta);\n\t\n\tconst results = [];\n\tconst traverse = currentNode => {\n\t\tif (!currentNode) \n\t\t\treturn;\n\t\t\n\t\t// Handle arrays of nodes\n\t\tif (Array.isArray(currentNode)) {\n\t\t\tcurrentNode.forEach(child => traverse(child));\n\t\t\treturn;\n\t\t}\n\n\t\t// Check if node matches tag criteria\n\t\tconst tagMatch = !normalizedTag || currentNode.sel === normalizedTag;\n\t\t\n\t\t// Check if node matches props criteria (only if tag matched)\n\t\tconst propsMatch = tagMatch && matchesCriteria(\n\t\t\tcurrentNode,\n\t\t\tnormalizedPropsSearch,\n\t\t\tcurrentNode?.data?.props\n\t\t);\n\t\t\n\t\t// Check if node matches appendToMeta criteria (only if tag and props matched)\n\t\tconst appendToMetaMatch = propsMatch && matchesCriteria(\n\t\t\tcurrentNode,\n\t\t\tnormalizedAppendToMetaSearch,\n\t\t\tcurrentNode?.data?.props?.appendToMeta\n\t\t);\n\t\t\n\t\tif (tagMatch && propsMatch && appendToMetaMatch) \n\t\t\tresults.push(currentNode);\n\t\t\n\t\t// Check children recursively\n\t\tif (currentNode.children && Array.isArray(currentNode.children)) \n\t\t\tcurrentNode.children.forEach(child => traverse(child));\n\t};\n\t\n\ttraverse(element);\n\treturn results;\n};\n\nexport default getAllChildren;","// @ts-nocheck\nimport { flushQueue } from '@tectonic/test-api';\n\nexport async function willDispatchWithConditions(el, name, trigger, condition, wait = 500) {\n\tconst promise = new Promise((resolve, reject) => {\n\t\tconst timeout = setTimeout(() => {\n\t\t\tif (el) {\n\t\t\t\t// eslint-disable-next-line no-use-before-define\n\t\t\t\tel.removeEventListener('DISPATCH_CUSTOM_EVENT', listener);\n\t\t\t}\n\t\t\treject(new Error(`${name} was not dispatched within ${wait}ms`));\n\t\t}, wait);\n\t\tconst listener = async ({ detail: { type, payload, meta } }) => {\n\t\t\tif (type === name) {\n\t\t\t\ttry {\n\t\t\t\t\tconst passed = await condition({ type, payload, meta });\n\t\t\t\t\tif (!passed) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t\t} catch (e) { }\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tif (el) {\n\t\t\t\t\tel.removeEventListener('DISPATCH_CUSTOM_EVENT', listener);\n\t\t\t\t}\n\t\t\t\tresolve({ type, payload, meta });\n\t\t\t}\n\t\t};\n\n\t\tel.addEventListener('DISPATCH_CUSTOM_EVENT', listener, false);\n\t});\n\n\tawait trigger();\n\tawait flushQueue();\n\treturn promise;\n}\n","/**\n * When a filter is inside a group, this array represents the properties of a filter\n * that must be overridden by group properties.\n * It takes effect everywhere: filter scripted-policy, group runtime and group config panel.\n * - `propName` is the name of the property in the filter.\n * - `configurable` indicates whether this property is configurable in the filter config panel.\n * - `value` is a function that receives the group properties and returns the value to use\n * for the property.\n *\n * @type {GroupFilterOverrides[]}\n */\nexport const groupFilterOverrides = [\n\t{\n\t\tpropName: 'isShowSelectedValueInPill',\n\t\tconfigurable: true,\n\t\tvalue: (properties) => properties.showSelectedValuesInPill,\n\t},\n\t{\n\t\tpropName: 'filterElementType',\n\t\tconfigurable: true,\n\t\tvalue: () => 'pill'\n\t},\n\t{\n\t\tpropName: 'isGroup',\n\t\tconfigurable: false,\n\t\tvalue: () => true\n\t},\n\t{\n\t\tpropName: 'primaryActionLabel',\n\t\tconfigurable: true,\n\t\tvalue: (properties, t) => (properties.showApply ? t('Confirm') : '')\n\t},\n\t{\n\t\tpropName: 'cascadeScope',\n\t\tconfigurable: false,\n\t\tvalue: (properties) => properties.cascadeScope\n\t},\n\t{\n\t\tpropName: 'isDashboard',\n\t\tconfigurable: false,\n\t\tvalue: (properties) => properties.isDashboard\n\t}\n];\n\n/**\n * Gets the names of the filter properties that are overriden by group properties.\n * @return {Array<keyof PropsFilterConnectedUxf>}\n */\nexport function getOverriddenPropNames(configurableOnly = false) {\n\treturn groupFilterOverrides\n\t\t.filter((override) => !configurableOnly || override.configurable)\n\t\t.map((override) => override.propName);\n}\n\n/**\n * Given certain filter properties (originalProps) and group properties (overridingProps),\n * returns the array of filter properties already overridden.\n * @param {GroupedFilterConnectedUxf} originalProps\n * @param {PropertiesFilterGroup} overridingProps\n * @param {TranslateFunction} t\n * @return {GroupedFilterConnectedUxf}\n */\nexport function getOverriddenProps (originalProps, overridingProps, t) {\n\tconst overriddenProps = { ...originalProps };\n\tfor (const override of groupFilterOverrides) {\n\t\t// @ts-ignore\n\t\toverriddenProps[override.propName] = override.value(overridingProps, t);\n\t}\n\n\treturn overriddenProps;\n}\n\n","// actions\nexport const NOW_FILTER__TOGGLED = 'NOW_FILTER#TOGGLED';\nexport const NOW_FILTER__APPLIED = 'NOW_FILTER#APPLIED';\nexport const NOW_FILTER__QUERIED = 'NOW_FILTER#QUERIED';\nexport const NOW_FILTER__SORTED = 'NOW_FILTER#SORTED';\nexport const NOW_FILTER__TARGET_SORTED = 'NOW_FILTER#TARGET_SORTED';\nexport const NOW_FILTER__MORE_ITEMS_REQUESTED = 'NOW_FILTER#MORE_ITEMS_REQUESTED';\nexport const NOW_FILTER__SET_DIRTY = 'NOW_FILTER#SET_DIRTY';\nexport const NOW_FILTER__CLEARED = 'NOW_FILTER#CLEARED';\nexport const NOW_FILTER__RESET_TO_DEFAULTS = 'NOW_FILTER#RESET_TO_DEFAULTS';\nexport const NOW_FILTER__CLEAR_FILTERS = 'NOW_FILTER#CLEAR_FILTERS';\nexport const NOW_FILTER_REFLOW_CANCEL = 'NOW_FILTER_REFLOW#CANCEL';\nexport const NOW_FILTER_REFLOW_CLEAR = 'NOW_FILTER_REFLOW#CLEAR';\nexport const NOW_FILTER_REFLOW_RESET = 'NOW_FILTER_REFLOW#RESET';\nexport const NOW_FILTER_REFLOW_APPLIED = 'NOW_FILTER_REFLOW#APPLIED';\n\n\n// properties\n/** @type {FilterType} */\nexport const FILTER_TYPE_CHOICE = 'choice';\n/** @type {FilterType} */\nexport const FILTER_TYPE_DATE = 'daterange';\n/** @type {FilterType} */\nexport const FILTER_TYPE_BOOLEAN = 'boolean';\n/** @type {FilterType[]} */\nexport const FILTER_TYPES = [\n\tFILTER_TYPE_CHOICE,\n\tFILTER_TYPE_DATE,\n\tFILTER_TYPE_BOOLEAN,\n];\n/** @type {FilterListMode} */\nexport const FILTER_LIST_MODE_MULTI = 'multi';\n/** @type {FilterListMode} */\nexport const FILTER_LIST_MODE_SINGLE = 'single';\n/** @type {FilterListMode[]} */\nexport const FILTER_LIST_MODES = [FILTER_LIST_MODE_MULTI, FILTER_LIST_MODE_SINGLE];\n/** @type {PillVariant} */\nexport const FILTER_PILL_VARIANT_CLASSIC = 'classic';\n/** @type {PillVariant} */\nexport const FILTER_PILL_VARIANT_ALTERNATIVE = 'alternative';\n/** @type {PillVariant[]} */\nexport const FILTER_PILL_VARIANTS = [FILTER_PILL_VARIANT_CLASSIC, FILTER_PILL_VARIANT_ALTERNATIVE];\n\n/** @type {FilterElementType} */\nexport const FILTER_ELEMENT_TYPE_PILL = 'pill';\n/** @type {FilterElementType} */\nexport const FILTER_ELEMENT_TYPE_SELECTORS = 'selectors';\n/** @type {FilterElementType} */\nexport const FILTER_ELEMENT_TYPE_TYPEAHEAD = 'typeahead';\n/** @type {FilterElementType[]} */\nexport const FILTER_ELEMENT_TYPES = [FILTER_ELEMENT_TYPE_PILL, FILTER_ELEMENT_TYPE_SELECTORS, FILTER_ELEMENT_TYPE_TYPEAHEAD];\n\n/** @type {FilterElementLayout} */\nexport const FILTER_ELEMENT_LAYOUT_HORIZONTAL = 'horizontal';\n/** @type {FilterElementLayout} */\nexport const FILTER_ELEMENT_LAYOUT_VERTICAL = 'vertical';\n/** @type {FilterElementLayout[]} */\nexport const FILTER_ELEMENT_LAYOUTS = [FILTER_ELEMENT_LAYOUT_HORIZONTAL, FILTER_ELEMENT_LAYOUT_VERTICAL];\n\n","import { t } from 'sn-translate';\n\n/**\n * @param {object} param0\n * @param {string} param0.errorMessage\n */\nexport function ListError ({ errorMessage }) {\n\treturn (\n\t\t<div className=\"error-message\">{t('Error: {errorMessage}', { errorMessage })}</div>\n\t);\n}\n","// @ts-nocheck\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport styles from './list-content.scss';\nimport { NOW_FILTER__QUERIED, NOW_FILTER__SORTED } from '../constants';\nimport { t } from 'sn-translate';\n\nexport const renderNumberItemsMessage = (numberOfItems) => {\n\tconst numberOfItemsReturned = t('Number of items returned: {numberOfItems}', { numberOfItems });\n\treturn (<span className=\"offscreen\" aria-live=\"polite\">{numberOfItemsReturned}</span>);\n};\nexport const listContentView = ({ properties }, { dispatch }) => {\n\tconst {\n\t\tcleared,\n\t\tisReflowActive,\n\t\tdirty,\n\t\tlistMode,\n\t\tsort,\n\t\ttargetSort,\n\t\tsearch,\n\t\titems,\n\t\tselectedIds,\n\t\tselectedItems,\n\t\tloading,\n\t\tloadingNextPage,\n\t\terrorMessage,\n\t\tgetNotificationJsx,\n\t\thasMoreItems,\n\t\tcustomizeListBoxChanged,\n\t\timpacted,\n\t\tfollowedFilterConfigurations,\n\t\tfollowingFilterConfigurations,\n\t} = properties;\n\tconst onQuery = (params) => {\n\t\tif (params.search !== undefined) {\n\t\t\tdispatch(NOW_FILTER__QUERIED, params);\n\t\t}\n\t\tif (params.sort) {\n\t\t\tdispatch(NOW_FILTER__SORTED, params);\n\t\t}\n\t};\n\tconst props = {\n\t\tcleared,\n\t\tisReflowActive,\n\t\tdirty,\n\t\tonQuery,\n\t\tsort,\n\t\ttargetSort,\n\t\tsearch,\n\t\titems,\n\t\tselectedIds,\n\t\tselectedItems,\n\t\tloading,\n\t\tloadingNextPage,\n\t\terrorMessage,\n\t\thasMoreItems,\n\t\tcustomizeListBoxChanged,\n\t\timpacted,\n\t\tfollowedFilterConfigurations,\n\t\tfollowingFilterConfigurations,\n\t\tgetNotificationJsx,\n\t};\n\n\tif (listMode === 'single') {\n\t\treturn (\n\n\t\t\t<div className=\"list-container\">\n\t\t\t\t<par-filter-list-single {...props} />\n\t\t\t</div>\n\t\t);\n\t}\n\n\n\treturn (\n\t\t<div className=\"list-container\">\n\t\t\t{items && renderNumberItemsMessage(items.length)}\n\t\t\t<par-filter-list-search\n\t\t\t\taria-live=\"polite\"\n\t\t\t\tonChange={(value) => onQuery({ search: value })}\n\t\t\t/>\n\t\t\t<par-filter-list-multi {...props} />\n\t\t</div>\n\t);\n};\n\nexport const listContent = {\n\tproperties: {\n\t\tcleared: {},\n\t\tisReflowActive: false,\n\t\tlistMode: {},\n\t\tsort: {\n\t\t\tdefault: 'ASC',\n\t\t},\n\t\ttargetSort: {\n\t\t\tdefault: 'ASC',\n\t\t},\n\t\tsearch: {},\n\t\titems: {},\n\t\tselectedIds: {\n\t\t\tdefault: [],\n\t\t},\n\t\tselectedItems: {\n\t\t\tdefault: [],\n\t\t},\n\t\tloading: {},\n\t\tloadingNextPage: {},\n\t\terrorMessage: {},\n\t\tgetNotificationJsx: {},\n\t\thasMoreItems: {},\n\t\tdirty: {\n\t\t\tdefault: false,\n\t\t},\n\t\tcustomizeListBoxChanged: {},\n\t\timpacted: {},\n\t\tfollowedFilterConfigurations: {\n\t\t\tdefault: [],\n\t\t},\n\t\tfollowingFilterConfigurations: {\n\t\t\tdefault: [],\n\t\t}\n\t},\n\tbehaviors: [\n\t\t{ behavior: rtlBehavior },\n\t],\n\tstyles,\n\tview: listContentView,\n\tactionHandlers: {},\n};\n","const prefix = 'PAR_FILTER_CHECK_ELEMENTS_PROVIDER#';\nexport const REQUEST_CHECK_ITEMS = `${prefix}REQUEST_CHECK_ITEMS`;\nexport const CHECK_ITEMS = `${prefix}CHECK_ITEMS`;\nexport const RECEIVE_CHECK_ITEMS = `${prefix}RECEIVE_CHECK_ITEMS`;\nexport const RECEIVE_CHECK_ITEMS_ERROR = `${prefix}RECEIVE_CHECK_TABLE_ITEMS_ERROR`;\n","import { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\nimport {\n\tRECEIVE_CHECK_ITEMS,\n\tRECEIVE_CHECK_ITEMS_ERROR\n} from './constants';\n\nexport const getSelectedTableElements = createGraphQLEffect(\n\t`query getSelectedTableElements($sourceValuePayload: String!, $followedFiltersPayload: String!) {\n\t\tAppUnifilter_Query {\n\t\t\tcheckElements(sourceValuePayload: $sourceValuePayload, followedFiltersPayload: $followedFiltersPayload) {\n\t\t\t\terrorCode\n\t\t\t\tisImpacting\n\t\t\t\timpactMap {\n\t\t\t\t\tname\n\t\t\t\t\tvalue \n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}`, \n\t{\n\t\tvariableList: ['sourceValuePayload', 'followedFiltersPayload'],\n\t\tsuccessActionType: RECEIVE_CHECK_ITEMS,\n\t\terrorActionType: RECEIVE_CHECK_ITEMS_ERROR,\n\t}\n);\n","import { actionTypes } from '@servicenow/ui-core';\nimport { effectProxy } from 'sn-par-filter-common';\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nimport {\n\tREQUEST_CHECK_ITEMS,\n\tCHECK_ITEMS,\n\tRECEIVE_CHECK_ITEMS,\n\tRECEIVE_CHECK_ITEMS_ERROR\n} from './constants';\nimport {\n\tgetSelectedTableElements\n} from './effects';\n\n/** @type {StateFilterCheckElementsProvider} */\nconst initialState = {\n\tlastStringifiedCheckElementsParams: null,\n};\n\n/** @type {PropsDefinition<PropertiesFilterCheckElementsProvider>} */\nconst properties = {\n\tappliedItems: {},\n\timpacting: {\n\t\tselectable: true\n\t},\n\n\timpactingMap: {\n\t\tselectable: true\n\t},\n\t\n\tfollowingFilterConfigurations: {}\n};\n\n/**\n * @param {PropertiesFilterCheckElementsProvider} param0\n */\nfunction getCheckElementsParams ({ appliedItems, followingFilterConfigurations }) {\n\treturn {\n\t\tsourceValuePayload: JSON.stringify(appliedItems.map((item) => item.id)),\n\t\tfollowedFiltersPayload: JSON.stringify(followingFilterConfigurations)\n\t};\n}\n\n/** @type {ActionHandlers<PropertiesFilterCheckElementsProvider, StateFilterCheckElementsProvider>} */\nconst actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED] ({ dispatch }) {\n\t\tdispatch(REQUEST_CHECK_ITEMS, {});\n\t},\n\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect ({ dispatch }) {\n\t\t\tdispatch(REQUEST_CHECK_ITEMS, {});\n\t\t},\n\t},\n\n\t[REQUEST_CHECK_ITEMS] ({ state, properties, dispatch }) {\n\t\tconst { followingFilterConfigurations } = properties; \n\t\tif (!followingFilterConfigurations?.length) {\n\t\t\treturn;\n\t\t}\n\t\tconst { lastStringifiedCheckElementsParams } = state;\n\t\tconst checkElementsParams = getCheckElementsParams(properties);\n\t\tif (lastStringifiedCheckElementsParams === JSON.stringify(checkElementsParams)) {\n\t\t\treturn;\n\t\t}\n\n\t\tdispatch(CHECK_ITEMS, {\n\t\t\t...checkElementsParams\n\t\t});\n\t},\n\n\n\t[CHECK_ITEMS]: effectProxy(getSelectedTableElements),\n\n\t[RECEIVE_CHECK_ITEMS] ({ action, updateProperties, updateState, dispatch, properties }) {\n\t\t/** @type {FilterCheckElementsAPIResponse} */\n\t\tconst data = action.payload.data.AppUnifilter_Query.checkElements;\n\t\tconst { errorCode, isImpacting, impactMap } = data;\n\t\tif (errorCode) {\n\t\t\tdispatch(RECEIVE_CHECK_ITEMS_ERROR);\n\t\t\treturn;\n\t\t}\n\n\t\tconst newImpactMap = {};\n\t\timpactMap.forEach((e) => {\n\t\t\t// @ts-ignore\n\t\t\tnewImpactMap[e.name] = e.value;\n\t\t});\n\n\t\tconst result = {\n\t\t\timpacting: isImpacting,\n\t\t\timpactingMap: newImpactMap\n\t\t};\n\t\tupdateProperties({\n\t\t\t...result \n\t\t});\n\n\t\tupdateState({\n\t\t\tlastStringifiedCheckElementsParams: JSON.stringify(getCheckElementsParams(properties))\n\t\t});\n\t},\n\n\t[RECEIVE_CHECK_ITEMS_ERROR] ({ action }) {\n\t\taction.stopPropagation();\n\t},\n};\n\n\nexport const filterCheckElementsProvider = {\n\tinitialState,\n\tproperties,\n\tactionHandlers,\n};\n\n\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { filterCheckElementsProvider } from './filter-check-elements-provider';\n\ncreateCustomElement('par-filter-check-elements-provider', filterCheckElementsProvider);\n","import '@servicenow/now-alert';\nimport { t } from 'sn-translate';\nimport { NOW_FILTER__CLEAR_FILTERS } from 'sn-par-filter';\n\n/** @type {View<PropertiesFollowedFilterAlert, StateFollowedFilterAlert>} */\nexport const followedFilterAlertView = ({ properties }) => {\n\tconst { followedFilterConfigurations } = properties;\n\tif (!followedFilterConfigurations?.length) {\n\t\treturn;\n\t}\n\n\tconst plurals = followedFilterConfigurations.map((configuration) => {\n\t\tconst number = configuration.values?.length || 0;\n\t\tconst label = configuration.label;\n\n\t\treturn number === 1 ? t('1 {0} value', label) : t('{0} {1} values', number, label);\n\t});\n\tconst message = t('Filtered by {0}', plurals.join(t(' and ')));\n\n\treturn (\n\t\t<now-alert\n\t\t\tstatus=\"info\"\n\t\t\ticon=\"circle-exclamation-outline\"\n\t\t\tcontent={message}\n\t\t\taction={{\n\t\t\t\ttype: 'acknowledge',\n\t\t\t\tlabel: t('Clear filters'),\n\t\t\t}}\n\t\t/>\n\t);\n};\n\n/** @type {ComponentOptions<PropertiesFollowedFilterAlert, StateFollowedFilterAlert>} */\nexport const followedFilterAlert = {\n\tproperties: {\n\t\tfollowedFilterConfigurations: {}\n\t},\n\tview: followedFilterAlertView,\n\tactionHandlers: {\n\t\t'NOW_ALERT#ACTION_CLICKED': ({ properties, dispatch }) => {\n\t\t\tconst { followedFilterConfigurations } = properties;\n\t\t\tconst followedFilters = followedFilterConfigurations.map((configuration) => configuration.id);\n\n\t\t\tdispatch(NOW_FILTER__CLEAR_FILTERS, {\n\t\t\t\tfilters: followedFilters\n\t\t\t});\n\t\t},\n\t}\n};\n\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { followedFilterAlert } from './followed-filters-alert';\n\ncreateCustomElement('par-filter-followed-filters-alert', followedFilterAlert);\n","import { createCustomElement } from '@servicenow/ui-core';\nimport '@servicenow/now-popover';\nimport '@servicenow/now-button';\nimport { t } from 'sn-translate';\nimport popoverStyles from './iconic-help.scss';\n\n/**\n * Disclaimer: We want to use the same look and feel as design system components.\n * But this component is not exposed, so copy-paste comes to the resque!\n * https://code.devsnc.com/dev/design-system/blob/master/components/input/src/form-field/render-form-field-label.js\n */\n\n/**\n * @typedef {object} IconicHelpContentProperties\n * @property {string | JSX.Element} content\n */\n\ncreateCustomElement('par-filter-iconic-help-content', {\n\t/** @type {View<IconicHelpContentProperties, void>} */\n\tview: ( { properties: { content } }) => (\n\t\t<div className=\"popover-content\">{content}</div>\n\t),\n\tstyles: popoverStyles,\n\tproperties: {\n\t\tcontent: {},\n\t},\n});\n\n/**\n * @typedef {object} IconicHelpProperties\n * @property {string | JSX.Element} helperContent\n */\n\ncreateCustomElement('par-filter-iconic-help', {\n\t/** @type {View<IconicHelpProperties, void>} **/\n\tview: ( { properties: { helperContent } }) => {\n\t\tif (helperContent) {\n\t\t\treturn (\n\t\t\t\t<now-popover className=\"now-form-field-popover\" interaction-type=\"none\">\n\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\tbutton: { 'aria-label': t('More information') },\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tclass={{ 'now-form-field-button': true }}\n\t\t\t\t\t\ticon=\"circle-info-outline\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tbare\n\t\t\t\t\t\thide-padding\n\t\t\t\t\t/>\n\t\t\t\t\t<par-filter-iconic-help-content\n\t\t\t\t\t\tslot=\"content\"\n\t\t\t\t\t\tcontent={helperContent}\n\t\t\t\t\t\trole=\"status\"\n\t\t\t\t\t/>\n\t\t\t\t</now-popover>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t},\n\tproperties: {\n\t\thelperContent: {},\n\t},\n});\n","const PREFIX = 'DA_SOURCE_TYPE_PROVIDER#';\nexport const REQUEST_SOURCE_TYPES = `${PREFIX}REQUEST_DATA_SOURCES`;\nexport const REQUEST_SOURCE_TYPES_SUCCESS = `${PREFIX}REQUEST_DATA_SOURCES_SUCCESS`;\nexport const REQUEST_SOURCE_TYPES_ERROR = `${PREFIX}REQUEST_DATA_SOURCES_ERROR`;\nexport const DA_SOURCE_TYPES_PROVIDER_DISPATCH_SOURCE_INFO = `${PREFIX}DISPATCH_SOURCE_INFO`;\n","import { createGraphQLEffect } from '@servicenow/ui-effect-graphql';\n\nimport {\n\tREQUEST_SOURCE_TYPES_SUCCESS,\n\tREQUEST_SOURCE_TYPES_ERROR,\n} from './constants';\n\nexport const requestDatasources = createGraphQLEffect(\n\t`query {\n\t  GlideRecord_Query {\n\t\tsys_viz_data_source(queryConditions: \"ORDERBYorder\") {\n\t\t  _results {\n            name {\n                value\n            }\n\t\t\tlabel {\n\t\t\t\tdisplayValue\n\t\t\t}\n\t\t\tfilter_customizations {\n                value\n            }\n\t\t  }\n\t\t}\n\t  }\n\t}`,\n\t{\n\t\tcacheable: false,\n\t\tsuccessActionType: REQUEST_SOURCE_TYPES_SUCCESS,\n\t\terrorActionType: REQUEST_SOURCE_TYPES_ERROR,\n\t}\n);\n","import { actionTypes } from '@servicenow/ui-core';\nimport { effectProxy } from 'sn-par-filter-common';\nimport { requestDatasources } from './effects';\n\nimport {\n\tREQUEST_SOURCE_TYPES,\n\tREQUEST_SOURCE_TYPES_SUCCESS,\n\tREQUEST_SOURCE_TYPES_ERROR,\n\tDA_SOURCE_TYPES_PROVIDER_DISPATCH_SOURCE_INFO\n} from './constants';\n\n/** @type {AgnSourceTypeDefinition} */\nlet cachedSourceTypes;\n\n/** @type {ActionHandlers<DatasourceProviderPropertiesDefinition, DatasourceProviderStateDefinition>} */\nexport const sourceTypeProviderActionHandlers = {\n\t[actionTypes.COMPONENT_BOOTSTRAPPED]({ dispatch }) {\n\t\tif (cachedSourceTypes) {\n\t\t\tdispatch(DA_SOURCE_TYPES_PROVIDER_DISPATCH_SOURCE_INFO, { value: cachedSourceTypes });\n\t\t\treturn;\n\t\t}\n\n\t\tdispatch(REQUEST_SOURCE_TYPES);\n\t},\n\n\t[REQUEST_SOURCE_TYPES]: effectProxy(requestDatasources),\n\n\t[REQUEST_SOURCE_TYPES_SUCCESS]({ action, dispatch }) {\n\t\taction.stopPropagation();\n\t\t/** @type {DatasourceGraphQLResponse} */\n\t\tconst results =\n\t\t\taction.payload.data.GlideRecord_Query.sys_viz_data_source._results;\n\n\t\t/** @type {Array<AgnSourceTypeDefinition>} */\n\t\tconst datasources = [];\n\n\t\tresults.forEach((result) => {\n\t\t\tconst { name, label, filter_customizations } = result;\n\t\t\tlet filterCustomizations;\n\n\t\t\ttry {\n\t\t\t\tfilterCustomizations = JSON.parse(filter_customizations.value);\n\t\t\t} catch (e) {\n\t\t\t\tdispatch(REQUEST_SOURCE_TYPES_ERROR);\n\t\t\t}\n\n\t\t\tconst resolutionAPI = filterCustomizations?.resolutionAPI;\n\t\t\tconst dataAPI = filterCustomizations?.dataAPI;\n\t\t\tconst labelAPI = filterCustomizations?.labelAPI;\n\t\t\tif (dataAPI) {\n\t\t\t\tdatasources.push({\n\t\t\t\t\tname: name.value,\n\t\t\t\t\tlabel: label.displayValue,\n\t\t\t\t\tresolutionAPI,\n\t\t\t\t\tlabelAPI,\n\t\t\t\t\tdataAPI,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tdispatch(DA_SOURCE_TYPES_PROVIDER_DISPATCH_SOURCE_INFO, { value: datasources });\n\t},\n\n\t[REQUEST_SOURCE_TYPES_ERROR]({ action, dispatch }) {\n\t\taction.stopPropagation();\n\t\tdispatch(DA_SOURCE_TYPES_PROVIDER_DISPATCH_SOURCE_INFO, { value: [] });\n\t},\n\n\t[DA_SOURCE_TYPES_PROVIDER_DISPATCH_SOURCE_INFO]({ action, updateProperties }) {\n\t\tconst { value } = action.payload;\n\t\tcachedSourceTypes = value;\n\t\tupdateProperties({\n\t\t\tsourceTypes: value\n\t\t});\n\t}\n\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { sourceTypeProviderActionHandlers } from './action-handlers';\n\ncreateCustomElement('da-filter-source-type-provider', {\n\tproperties: {\n\t\tsourceTypes: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object'\n\t\t\t},\n\t\t\tselectable: true\n\t\t}\n\t},\n\tactionHandlers: sourceTypeProviderActionHandlers,\n});\n","/**\n * This function returns the correct now-icon icon name for a specific message type\n * @param {FilterMessageType | undefined} type\n * @return {string | undefined} type\n */\nexport const getIconForMessageType = (type) => {\n\tswitch (type) {\n\tcase 'info':\n\t\treturn 'info-circle-outline';\n\tcase 'warning':\n\t\treturn 'triangle-exclamation-outline';\n\tcase 'error':\n\t\treturn 'circle-exclamation-outline';\n\tdefault:\n\t\treturn undefined;\n\t}\n};\n\n/**\n * This function renders a single message\n * @param {FilterMessage} param\n */\nconst renderMessage = ({ message, type, testId }) => {\n\tconst icon = getIconForMessageType(type);\n\treturn (\n\t\t<div className={`field-message ${type}`}>\n\t\t\t{icon && <now-icon className=\"field-message-icon\" icon={icon}/>}\n\t\t\t<span data-testMessageId={testId}>{message}</span>\n\t\t</div>\n\t);\n};\n\n/**\n * This function renders the messages received\n * @param {FilterMessage[]} messages\n */\nexport const renderMessages = (messages) => {\n\treturn (\n\t\tmessages && messages.length > 0 ? (\n\t\t\t<div className={'messages'}>\n\t\t\t\t{messages.map(renderMessage)}\n\t\t\t</div>\n\t\t) : null\n\t);\n};\n","import { actionTypes } from '@servicenow/ui-core';\n\nexport const PUBLISH_MESSAGE = 'PUBLISH_MESSAGE';\nexport const RECEIVE_MESSAGE = 'RECEIVE_MESSAGE';\n\nconst subscribers = new Set();\n\nexport const messagingBehavior = {\n\tname: 'messaging',\n\t/** @type {ActionHandlers<{}, {}>} */\n\tactionHandlers: {\n\t\t[actionTypes.COMPONENT_CONNECTED] ({ host }) {\n\t\t\tsubscribers.add(host);\n\t\t},\n\t\t[actionTypes.COMPONENT_DISCONNECTED] ({ host }) {\n\t\t\tsubscribers.delete(host);\n\t\t},\n\t\t[PUBLISH_MESSAGE] ({ host, action: { payload: { targets = [], topic, payload } } }) {\n\t\t\tsubscribers\n\t\t\t\t.forEach((el) => el !== host && (targets.includes(el.filterId) || targets.includes(el.localName)) && el.dispatch(RECEIVE_MESSAGE, { topic, payload }));\n\t\t}\n\t}\n};\n\n/**\n * Checks if a certain filter is subscribed\n * @param {string} filterId\n * @return {any}\n */\nexport const acceptsMessages = (filterId) =>\n\tArray.from(subscribers).find((el) => el.filterId === filterId);\n","// @ts-nocheck\n\nimport { actionTypes } from '@servicenow/ui-core';\nexport const NOW_RESIZE__ELEMENT_RESIZED = 'NOW_RESIZE#ELEMENT_RESIZED';\n\nexport function handleElementResize() {\n\treturn {\n\t\t[NOW_RESIZE__ELEMENT_RESIZED]: ({ state, updateState }) => {\n\t\t\tconst { behaviors } = state;\n\t\t\tupdateState({\n\t\t\t\tisReflowEnabled: Boolean(behaviors?.resize.size.width && behaviors.resize.size.width < 320),\n\t\t\t\twidgetCurrentWidth: (behaviors?.resize.size.width),\n\t\t\t});\n\t\t}\n\t};\n}\n\nexport function handleRenderRequested() {\n\treturn {\n\t\t[actionTypes.COMPONENT_RENDER_REQUESTED]({ action, properties, state }) {\n\t\t\tconst stateWithoutSizing = { ...properties, ...state, behaviors: { ... (state.behaviors || {}) } };\n\t\t\tconst previousStateWithoutSizing = {\n\t\t\t\t...action.payload.previousRenderProperties,\n\t\t\t\t...action.payload.previousRenderState,\n\t\t\t\tbehaviors: { ... (action.payload.previousRenderState.behaviors || {}) }\n\t\t\t};\n\n\t\t\t/** @ts-ignore */\n\t\t\tdelete stateWithoutSizing.behaviors.resize;\n\t\t\tdelete previousStateWithoutSizing.behaviors.resize;\n\n\t\t\tconst propsHash = JSON.stringify(stateWithoutSizing);\n\t\t\tconst prevPropsHash = JSON.stringify(previousStateWithoutSizing);\n\n\t\t\tif (propsHash === prevPropsHash) {\n\t\t\t\taction.preventDefault();\n\t\t\t}\n\t\t}\n\t};\n}\n","import { t } from 'sn-translate';\nimport { getIconForMessageType } from 'sn-par-filter-common-components';\nexport const UNKNOWN_SELECTED_VALUE = () => t('Some applied options are currently unavailable');\n\n/**\n * @param {FilterMessage} param\n * @returns {JSX.Element}\n */\nconst renderNDSIconicMessage = ({ message, type, testId }) => {\n\tconst icon = getIconForMessageType(type);\n\treturn (\n\t\t<div style={{ display: 'flex', gap: '4px', margin: '4px 2px' }}>\n\t\t\t{icon && <now-icon icon={icon} />}\n\t\t\t<span data-testMessageId={testId}>{message}</span>\n\t\t</div>\n\t);\n};\n\n/**\n * @param {FilterMessage} message\n * @returns {{content: JSX.Element, status: string | undefined, testId?:string}}\n */\nexport const getNDSMessage = (message) => ({\n\t...(message.testId ? { testId: message.testId } : {}),\n\tstatus: message.type,\n\tcontent: renderNDSIconicMessage(message)\n});\n\n/**\n * @param {string} errorMessage\n * @returns {FilterMessage}\n */\nexport const getErrorMessage = (errorMessage) => ({\n\ttestId: 'errorMessage',\n\ttype: 'warning',\n\tmessage: errorMessage\n});\n\n/**\n * @type {FilterMessage}\n */\nexport const noItemsMessage = {\n\ttestId: 'noItemsMessage',\n\ttype: 'info',\n\tmessage: t('Nothing is available'),\n};\n\n/**\n * @type {FilterMessage}\n */\nexport const unknownItemsMessage = {\n\ttestId: 'unknownItemsMessage',\n\ttype: 'warning',\n\tmessage: UNKNOWN_SELECTED_VALUE(),\n};\n\n/**\n * @type {FilterMessage}\n */\nexport const loadingMessage = {\n\ttestId: 'loadingMessage',\n\ttype: undefined, // don't want to show icon or background\n\tmessage: t('Loading...')\n};\n","import { t } from 'sn-translate';\nimport './followed-filters';\nimport { UNKNOWN_SELECTED_VALUE } from '../../messages';\n\n/**\n * @param {PropertiesListNotifications} param0\n */\nconst getFollowingFiltersAlert = ({ impacting }) => {\n\tif (!impacting) {\n\t\treturn undefined;\n\t}\n\n\treturn (\n\t\t<now-alert\n\t\t\tdata-testFollowingFilters\n\t\t\tstatus=\"warning\"\n\t\t\ticon=\"circle-exclamation-outline\"\n\t\t\tcontent={t('Selected choices will remove currently applied values in the related filters')}\n\t\t/>\n\t);\n};\n\n/**\n * @param {PropertiesListNotifications} param0\n */\nconst getFollowedFiltersAlert = ({ impacted, followedFilterConfigurations }) => {\n\tif (!impacted || !Array.isArray(followedFilterConfigurations) || !followedFilterConfigurations.length) {\n\t\treturn undefined;\n\t}\n\n\treturn <par-filter-followed-filters-alert followedFilterConfigurations={followedFilterConfigurations}/>;\n};\n\n/**\n * @param {PropertiesListNotifications} param0\n */\nconst getUnknownValuesAlert = ({ unknown }) =>\n\t(unknown ? (\n\t\t<now-alert\n\t\t\tdata-testUnknownValues\n\t\t\tstatus=\"warning\"\n\t\t\ticon=\"circle-exclamation-outline\"\n\t\t\tcontent={UNKNOWN_SELECTED_VALUE()}\n\t\t/>\n\t) : undefined);\n\n/** @type {View<PropertiesListNotifications, StateListNotifications>} */\nexport const listNotificationsView = ({ properties }) => {\n\tconst { getNotificationJsx } = properties;\n\tconst followingFiltersAlert = getFollowingFiltersAlert(properties);\n\tconst followedFiltersAlert = getFollowedFiltersAlert(properties);\n\tconst unknownValuesAlert = getUnknownValuesAlert(properties);\n\treturn (<div>\n\t\t<div data-testNotification>\n\t\t\t{getNotificationJsx && getNotificationJsx()}\n\t\t</div>\n\t\t{followedFiltersAlert}\n\t\t{followingFiltersAlert}\n\t\t{unknownValuesAlert}\n\t</div>);\n};\n\n/** @type {ComponentOptions<PropertiesListNotifications, StateListNotifications>} */\nexport const listNotifications = {\n\tproperties: {\n\t\tgetNotificationJsx: {},\n\t\tfollowedFilterConfigurations: {},\n\t\timpacting: {},\n\t\timpacted: {},\n\t\tunknown: {}\n\t},\n\n\tview: listNotificationsView\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { listNotifications } from './list-notifications';\n\ncreateCustomElement('par-filter-list-notifications', listNotifications);\n","// @ts-nocheck\nimport { t } from 'sn-translate';\nimport styles from './list-sort.scss';\n\nfunction setInitialState({ properties }) {\n\treturn {\n\t\ttestId: properties.testId,\n\t\tsort: properties.sort,\n\t\tdisabled: properties.disabled,\n\t\tonAction: properties.onAction,\n\t\tparentList: properties.parentList,\n\t\taccessibilityMessage: '',\n\t};\n}\n\nconst properties = {\n\ttestId: {},\n\tsort: {\n\t\tdefault: 'ASC',\n\t},\n\tdisabled: {},\n\tonAction: {},\n\tparentList: {}\n};\n\nconst getSortingActions = (sort, onAction, parentList) => {\n\treturn sort === 'ASC' ? {\n\t\ticon: 'sort-descending-fill',\n\t\ttooltip: t('Sort the {0} list in descending order', parentList),\n\t\tonClick: () => onAction({ sort: 'DESC' }),\n\t} : {\n\t\ticon: 'sort-ascending-fill',\n\t\ttooltip: t('Sort the {0} list in ascending order', parentList),\n\t\tonClick: () => onAction({ sort: 'ASC' }),\n\t};\n};\n\nexport const listSortView = (state) => {\n\tconst {\n\t\taccessibilityMessage,\n\t\tproperties: {\n\t\t\ttestId,\n\t\t\tsort,\n\t\t\tonAction,\n\t\t\tdisabled,\n\t\t\tparentList,\n\t\t}\n\t} = state;\n\tconst {\n\t\ticon,\n\t\ttooltip,\n\t\tonClick,\n\t} = getSortingActions(sort, onAction, parentList);\n\n\treturn (\n\t\t<div>\n\t\t\t<span className=\"offscreen\" aria-live=\"polite\">{accessibilityMessage}</span>\n\t\t\t<now-button-iconic\n\t\t\t\t{...{ [`attr-${testId}`]: true }}\n\t\t\t\tbare\n\t\t\t\ticon={icon}\n\t\t\t\tsize=\"md\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\tconfigAria={{\n\t\t\t\t\t'aria-label': t('Sort the {0} list in {1} order', parentList, sort === 'ASC' ? 'reverse alphabetical' : 'alphabetical'),\n\t\t\t\t}}\n\t\t\t\trole=\"presentation\"\n\t\t\t\t{...disabled === false && {\n\t\t\t\t\t'on-click': onClick,\n\t\t\t\t\t'tooltip-content': tooltip,\n\t\t\t\t}}\n\t\t\t\tdisabled={disabled}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nconst actionHandlers = {\n\t'NOW_BUTTON_ICONIC#CLICKED'({ properties, updateState }) {\n\t\tconst { sort, parentList } = properties;\n\t\tconst accessibilityMessage = t('{0} list sorted in {1} order', parentList, sort === 'ASC' ? 'reverse alphabetical' : 'alphabetical');\n\n\t\tupdateState({\n\t\t\taccessibilityMessage,\n\t\t});\n\t},\n};\n\nexport const listSort = {\n\tsetInitialState,\n\tproperties,\n\tactionHandlers,\n\tview: listSortView,\n\tstyles\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { listSort } from './list-sort';\n\ncreateCustomElement('par-filter-list-sort', listSort);\n","// @ts-nocheck\n/* eslint brace-style: 0 */\nimport { t } from 'sn-translate';\nimport { actionTypes } from '@servicenow/ui-core';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nimport { ListError } from '../list-error';\nimport { NOW_FILTER__SET_DIRTY, NOW_FILTER__MORE_ITEMS_REQUESTED } from '../../constants';\nimport { renderNumberItemsMessage } from '../list-content';\nimport {\n\tPAR_FILTER_LISTBOX__CHANGED,\n\tPAR_FILTER_LISTBOX__ITEM_DOUBLE_CLICKED,\n\tPAR_FILTER_LISTBOX__MORE_ITEMS_REQUESTED,\n} from '../../../listbox/constants';\nimport styles from './list-single.scss';\nimport '../filter-check-elements-provider';\nimport '../list-notifications';\nimport '../list-sort';\n\nconst PAR_FILTER_LIST_SINGLE__CHECK_DIRTY = 'PAR_FILTER_LIST_SINGLE#CHECK_DIRTY';\nconst PAR_FILTER_LIST_SINGLE__PUSH_DIRTY = 'PAR_FILTER_LIST_SINGLE#PUSH_DIRTY';\nexport const PAR_FILTER_LIST_SINGLE__DBLCLICK = 'PAR_FILTER_LIST_SINGLE#DBLCLICK';\n\nconst { COMPONENT_CONNECTED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst properties = {\n\tdirty: {},\n\tcleared: {},\n\tisReflowActive: {\n\t\tdefault: false,\n\t\tschema: {\n\t\t\ttype: 'boolean'\n\t\t}\n\t},\n\titems: {},\n\tselectedIds: {\n\t\tdefault: [],\n\t},\n\tselectedItems: {\n\t\tdefault: [],\n\t},\n\tsort: {},\n\tloadingNextPage: {},\n\thasMoreItems: {},\n\tloading: {},\n\terrorMessage: {},\n\tgetNotificationJsx: {},\n\tonQuery: {},\n\tcustomizeListBoxChanged: {},\n\timpacted: {},\n\tfollowedFilterConfigurations: {},\n\tfollowingFilterConfigurations: {},\n};\n\nconst initialState = {\n\tsavedItems: null,\n\tselectedItem: null,\n\tappliedItems: null,\n};\n\nconst Loading = ({ state }) => (state ? (\n\t<div className=\"loading\">\n\t\t<now-loader size=\"lg\" />\n\t</div>\n) : null);\n\nconst NoItems = ({ condition }) => (condition ? (\n\t<div className=\"no-content\">{\n\t\tt({\n\t\t\tcode: 'FilterNoItemsAvailable',\n\t\t\tmessage: 'Nothing is available',\n\t\t\tcomment: 'shown when there are no items in the \"Available\" list'\n\t\t})\n\t}</div>\n) : null);\n\nfunction renderAppliedItems(appliedItems) {\n\tif (!appliedItems || appliedItems.length === 0) {\n\t\treturn null;\n\t}\n\n\t// At this point only render first group label, and ignore all possible others\n\tconst prefix = appliedItems.length && appliedItems[0].groupsLabels ? `${appliedItems[0].groupsLabels[0]}: ` : '';\n\n\tconst appliedItemsBlock = appliedItems.length ? appliedItems.map(({ id, label }) => (\n\t\t<now-pill className=\"pill\" label={`${prefix}${label}`} data-id={id} size=\"sm\" />\n\t)) : null;\n\n\treturn (\n\t\t<div key=\"appliedItems\" className=\"applied-items\">\n\t\t\t<div className=\"title\">{t('Applied')}</div>\n\t\t\t<div data-testAppliedItems>{appliedItemsBlock}</div>\n\t\t</div>\n\t);\n}\n\nexport const listSingleView = ({ savedItems, appliedItems, selectedItem, properties }) => {\n\tconst {\n\t\tnowId,\n\t\titems,\n\t\tloading,\n\t\terrorMessage,\n\t\tsort,\n\t\thasMoreItems,\n\t\tloadingNextPage,\n\t\tonQuery,\n\t\tselectedIds,\n\t\tcleared,\n\t\tdirty,\n\t\tgetNotificationJsx,\n\t\tfollowedFilterConfigurations,\n\t\tfollowingFilterConfigurations,\n\t\timpacted,\n\t\tisReflowActive\n\t} = properties;\n\n\tconst isGroupedData = items ?\n\t\titems[0] && Array.isArray(items[0].items) :\n\t\tfalse;\n\n\tconst disabled = !items || items.length === 0;\n\n\t// If the data is grouped we need to find group name and use it in pill label\n\tif (isGroupedData && Array.isArray(appliedItems) && appliedItems.length) {\n\t\tconst appliedId = appliedItems[0].id;\n\t\tconst appliedGroups = (savedItems || items).reduce((prev, curr) => {\n\t\t\tconst item = curr.items.some(({ id }) => id === appliedId);\n\t\t\treturn item ? prev.concat(curr.label) : prev;\n\t\t}, []);\n\n\t\tappliedItems[0].groupsLabels = appliedGroups;\n\t}\n\n\tif (!loading && !items && !errorMessage) {\n\t\treturn null;\n\t}\n\n\tif (errorMessage) {\n\t\treturn (\n\t\t\t<ListError errorMessage={errorMessage} />\n\t\t);\n\t}\n\n\tconst sourceTitle = t('Available');\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{appliedItems && <par-filter-check-elements-provider\n\t\t\t\tcomponent-id={`${nowId}-filter-check-elements-provider`}\n\t\t\t\tappliedItems={appliedItems}\n\t\t\t\tfollowingFilterConfigurations={followingFilterConfigurations}\n\t\t\t/>}\n\t\t\t<div className=\"list-single-container\">\n\t\t\t\t{/* Applied item(s) pill */}\n\t\t\t\t{renderAppliedItems(appliedItems)}\n\n\t\t\t\t{/* Listbox with available items */}\n\t\t\t\t<div key=\"availableItems\" className=\"available-items\">\n\t\t\t\t\t<div className=\"title\">{sourceTitle}</div>\n\t\t\t\t\t<div className=\"search-container\">\n\t\t\t\t\t\t{items && renderNumberItemsMessage(items.length)}\n\t\t\t\t\t\t<par-filter-list-search\n\t\t\t\t\t\t\taria-live=\"polite\"\n\t\t\t\t\t\t\tonChange={(value) => onQuery({ search: value })}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<par-filter-list-sort\n\t\t\t\t\t\t\ttestId=\"data-test-sort-button-available-items\"\n\t\t\t\t\t\t\tsort={sort}\n\t\t\t\t\t\t\tonAction={onQuery}\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\tparentList={sourceTitle}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<par-filter-list-notifications\n\t\t\t\t\t\tgetNotificationJsx={getNotificationJsx}\n\t\t\t\t\t\timpacted={impacted}\n\t\t\t\t\t\tfollowedFilterConfigurations={followedFilterConfigurations}\n\t\t\t\t\t\timpacting={`@${nowId}-filter-check-elements-provider/impacting`}\n\t\t\t\t\t\tunknown={appliedItems?.length > 0 && appliedItems[0].unknown}\n\t\t\t\t\t/>\n\t\t\t\t\t<div class={{\n\t\t\t\t\t\titems: true,\n\t\t\t\t\t\treflow: isReflowActive\n\t\t\t\t\t}}\n\t\t\t\t\taria-live=\"polite\">\n\t\t\t\t\t\t<Loading state={loading} />\n\t\t\t\t\t\t<NoItems condition={items && items.length === 0 && !loading} />\n\t\t\t\t\t\t<par-filter-listbox\n\t\t\t\t\t\t\tcleared={cleared}\n\t\t\t\t\t\t\tmultiple={false}\n\t\t\t\t\t\t\titems={items}\n\t\t\t\t\t\t\tselectedIds={cleared || dirty ? [] : selectedIds}\n\t\t\t\t\t\t\thasMoreItems={hasMoreItems}\n\t\t\t\t\t\t\tloadingNextPage={loading && loadingNextPage}\n\t\t\t\t\t\t\timpactingMap={`@${nowId}-filter-check-elements-provider/impactingMap`}\n\t\t\t\t\t\t\tlabel={t('Available')}\n\t\t\t\t\t\t\tactiveSelection={selectedItem ? { [selectedItem.id]: true } : {}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</Fragment>\n\t);\n};\n\nconst actionHandlers = {\n\t[COMPONENT_CONNECTED]({ properties, updateState }) {\n\t\tconst { items } = properties;\n\n\t\tupdateState({\n\t\t\tsavedItems: items,\n\t\t});\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]({\n\t\tstate, action, updateState,\n\t}) {\n\t\tconst { savedItems } = state;\n\t\tconst { payload: { name, value, previousValue } } = action;\n\n\t\tif (name === 'items' && ((value && value.length) || (previousValue && previousValue.length))) {\n\t\t\tconst newSavedItems = savedItems && savedItems.length ? savedItems : value.length ? value : previousValue;\n\n\t\t\tupdateState({\n\t\t\t\tsavedItems: newSavedItems,\n\t\t\t});\n\t\t}\n\t},\n\n\t[PAR_FILTER_LIST_SINGLE__CHECK_DIRTY]({ state, properties, dispatch }) {\n\t\tconst { selectedItem } = state;\n\t\tconst { selectedIds } = properties;\n\t\tconst dirty = selectedItem && selectedIds.length > 0 ? selectedItem.id !== selectedIds[0] : selectedItem !== null;\n\t\tdispatch(PAR_FILTER_LIST_SINGLE__PUSH_DIRTY, { dirty });\n\t},\n\n\t[PAR_FILTER_LIST_SINGLE__PUSH_DIRTY]({\n\t\taction, state, properties, dispatch,\n\t}) {\n\t\tconst { selectedItem } = state;\n\t\tconst { payload: { dirty } } = action;\n\t\tconst allItems = properties.items\n\t\t\t.map((item) => (Array.isArray(item.items) ? item.items : item))\n\t\t\t.flat();\n\t\t// selectedItem doesn't have extra values, so mix them back in\n\t\tconst targetItems = selectedItem ? [allItems.find(({ id }) => id === selectedItem.id)] : [];\n\n\t\tdispatch(NOW_FILTER__SET_DIRTY, {\n\t\t\tdirty,\n\t\t\tdirtyBag: {\n\t\t\t\tselectedIds: targetItems.map((x) => x.id),\n\t\t\t\tselectedItems: targetItems,\n\t\t\t},\n\t\t});\n\t},\n\n\t[PAR_FILTER_LISTBOX__MORE_ITEMS_REQUESTED]({ action, properties, dispatch }) {\n\t\tconst { hasMoreItems } = properties;\n\n\t\tif (hasMoreItems) {\n\t\t\tdispatch(NOW_FILTER__MORE_ITEMS_REQUESTED, { list: 'source' });\n\t\t}\n\n\t\taction.stopPropagation();\n\t},\n\n\t[PAR_FILTER_LISTBOX__CHANGED]({ action, updateState, dispatch, properties }) {\n\t\tconst { payload: { selectedItems } } = action;\n\t\tconst selectedItem = selectedItems[0] || null;\n\t\tconst { customizeListBoxChanged } = properties;\n\n\t\tupdateState({ selectedItem });\n\n\t\tif (customizeListBoxChanged) {\n\t\t\treturn; // Happens for dateFilterView === 'reldates-only' - This is handled in [PAR_FILTER_LISTBOX__CHANGED] from daterange-content.js\n\t\t}\n\n\t\tdispatch(PAR_FILTER_LIST_SINGLE__CHECK_DIRTY);\n\t},\n\n\t[PAR_FILTER_LISTBOX__ITEM_DOUBLE_CLICKED]({ action, dispatch }) {\n\t\taction.stopPropagation();\n\t\tdispatch(PAR_FILTER_LIST_SINGLE__DBLCLICK);\n\t},\n};\n\nconst transformState = (state) => {\n\tconst { properties, savedItems } = state;\n\tconst { cleared, selectedIds, selectedItems } = properties;\n\tconst items = savedItems && savedItems.length ? savedItems : properties.items;\n\n\tconst isGroupedData = Array.isArray(items) && items.length && Array.isArray(items[0].items);\n\tlet newAppliedItems = [];\n\n\tif (cleared) {\n\t\treturn {\n\t\t\t...state,\n\t\t\tappliedItems: null,\n\t\t};\n\t}\n\n\tif (!isGroupedData) {\n\t\tnewAppliedItems = Array.isArray(items) &&\n\t\t\tArray.isArray(selectedIds) &&\n\t\t\tselectedIds.map((id) => {\n\t\t\t\tlet item = items.find((x) => x.id === id);\n\t\t\t\t// If we cant find the item then we assume it was lazyloaded\n\t\t\t\tif (!item) {\n\t\t\t\t\titem = selectedItems.find((x) => x.id === id);\n\t\t\t\t}\n\t\t\t\t// As a fallback just render sysId\n\t\t\t\tif (!item) {\n\t\t\t\t\titem = {\n\t\t\t\t\t\tid: id,\n\t\t\t\t\t\tlabel: id,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\treturn item;\n\t\t\t});\n\t}\n\telse if (Array.isArray(selectedIds) && selectedIds.length > 0) {\n\t\tfor (const group of items) {\n\t\t\tconst items = group.items.filter((item) => selectedIds.includes(item.id));\n\n\t\t\tif (items.length) {\n\t\t\t\tnewAppliedItems = [...newAppliedItems, ...items];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn {\n\t\t...state,\n\t\tappliedItems: (newAppliedItems && newAppliedItems.length) ? newAppliedItems : null,\n\t};\n};\n\nexport const listSingle = {\n\tproperties,\n\tinitialState,\n\ttransformState,\n\tactionHandlers,\n\tview: listSingleView,\n\tstyles,\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { listSingle } from './list-single';\n\nexport * from './list-single';\n\ncreateCustomElement('par-filter-list-single', listSingle);\n","// @ts-nocheck\nimport keyBindingBehavior from '@servicenow/behavior-key-binding';\nimport rtlBehavior from '@servicenow/behavior-rtl';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport resizeBehavior from '@servicenow/behavior-resize';\nimport mediaQueryBehavior from '@servicenow/behavior-media-query';\n\nimport { NOW_FILTER__TOGGLED } from './constants';\n\n//TODO: We need to refactor this to eventHandlers. Keybinding behavior is deprecated see: https://code.devsnc.com/dev/design-system/tree/dev/behaviors/key-binding\nexport default [\n\t{\n\t\tbehavior: keyBindingBehavior,\n\t\toptions: {\n\t\t\tkeyBindings: {\n\t\t\t\topen: ['Enter', ' '],\n\t\t\t\tclose: ['Escape'],\n\t\t\t},\n\t\t\thandlers: {\n\t\t\t\topen ({ opened }, event, dispatch) {\n\t\t\t\t\tif (!opened) {\n\t\t\t\t\t\tdispatch(NOW_FILTER__TOGGLED, { value: true });\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tclose (host, event, dispatch) {\n\t\t\t\t\tdispatch(NOW_FILTER__TOGGLED, { value: false });\n\t\t\t\t\tsetTimeout(() => host.focus(), 0);\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\t{ behavior: rtlBehavior },\n\t{ behavior: focusBehavior },\n\t{ behavior: mediaQueryBehavior, options:\n\t\t\t{\n\t\t\t\tsmallQuery: '(max-width: 320px)',\n\t\t\t}\n\t},\n\t{ behavior: resizeBehavior, options: { timer: { type: 'debounce', wait: 500 } } }\n];\n","// @ts-nocheck\nexport function Badge ({ content, ...props }) {\n\treturn (\n\t\t<div key=\"badge\" {...props} className=\"badge\">\n\t\t\t{content}\n\t\t</div>\n\t);\n}\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { t } from 'sn-translate';\nimport '@servicenow/now-tooltip';\nimport { Badge } from '../../badge';\nimport { FILTER_TYPE_DATE } from '../../constants';\n\n/**\n * Checks whether content should be displayed based for a given filter configuration\n * @param {FilterType} filterType\n * @param {any} content\n * @returns {boolean}\n */\nfunction shouldDisplayContent(filterType, content) {\n\treturn filterType === FILTER_TYPE_DATE && content;\n}\n\n/**\n * @type {View<PillVariantProps, PillVariantState>}\n */\nexport default function ClassicPillVariant({ properties, showTooltip, buttonRef }, { updateState }) {\n\tconst {\n\t\tnowId,\n\t\tactive,\n\t\tbadgeContent,\n\t\tlabel,\n\t\tcontent,\n\t\tfilterType,\n\t\tisSelected\n\t} = properties;\n\n\tconst setContentContainerRef = (/**@type {ElementRef} */ ref) => setTimeout(() => updateState({ contentContainerRef: ref }));\n\tconst setButtonRef = (/**@type {ElementRef} */ ref) => setTimeout(() => updateState({ buttonRef: ref }));\n\tconst hasBadgeContent = Boolean(badgeContent);\n\tconst buttonContent = shouldDisplayContent(filterType, content) ? t('{0}: {1}', label, content) : label;\n\n\tconst tooltipButtonProps = showTooltip ?\n\t\t{ 'aria-describedby': `${nowId}-tooltip` } :\n\t\t{};\n\n\treturn <Fragment>\n\t\t<div\n\t\t\thook-insert={({ elm }) => setButtonRef(elm)}\n\t\t\thook-destroy={() => setButtonRef(null)}\n\t\t\ttabIndex=\"0\"\n\t\t\tclass={{\n\t\t\t\tcontainer: true,\n\t\t\t\topened: active,\n\t\t\t\thasBadge: hasBadgeContent,\n\t\t\t\tselected: isSelected\n\t\t\t}}\n\t\t\trole=\"button\"\n\t\t\taria-label={buttonContent}\n\t\t\taria-expanded={active ? 'true' : 'false'}\n\t\t\tdata-testFilterContainer\n\t\t\t{...tooltipButtonProps}\n\t\t>\n\t\t\t{hasBadgeContent && <Badge content={badgeContent} />}\n\t\t\t<div key=\"content\" className=\"content\"\n\t\t\t\thook-insert={({ elm }) => setContentContainerRef(elm)}\n\t\t\t\thook-destroy={() => setContentContainerRef(null)}>\n\t\t\t\t{buttonContent}\n\t\t\t</div>\n\t\t\t<now-icon icon=\"chevron-down-fill\" className=\"chevron\" size=\"md\" />\n\t\t</div>\n\t\t{showTooltip ?\n\t\t\t<now-tooltip\n\t\t\t\tid={`${nowId}-tooltip`}\n\t\t\t\ttarget-ref={buttonRef}\n\t\t\t\tcontent={buttonContent}\n\t\t\t/> : null\n\t\t}\n\t</Fragment>;\n}\n","import { t } from 'sn-translate';\nimport { Badge } from '../../badge';\nimport {\n\tFILTER_TYPE_CHOICE,\n\tFILTER_TYPE_DATE,\n\tFILTER_LIST_MODE_MULTI\n} from '../../constants';\n\n/**\n * Checks if badge should be showed for a certain filter configuration\n * @param {string} filterType\n * @param {string} listMode\n * @returns {boolean}\n */\nfunction isBadgeAllowed(filterType, listMode) {\n\treturn (filterType === FILTER_TYPE_CHOICE && listMode === FILTER_LIST_MODE_MULTI) ||\n\t\tfilterType === FILTER_TYPE_DATE;\n}\n\n/**\n * @type {View<PillVariantProps, PillVariantState>}\n */\nexport default function AlternativePillVariant({ properties, showTooltip, buttonRef }, { updateState }) {\n\tconst {\n\t\tnowId,\n\t\tactive,\n\t\tbadgeContent,\n\t\tlabel,\n\t\tcontent,\n\t\tfilterType,\n\t\tfilterListMode,\n\t\tisSelected\n\t} = properties;\n\n\tconst setContentContainerRef = (/**@type {ElementRef} */ ref) => setTimeout(() => updateState({ contentContainerRef: ref }));\n\tconst setButtonRef = (/**@type {ElementRef} */ ref) => setTimeout(() => updateState({ buttonRef: ref }));\n\n\tconst showBadgeContent = isBadgeAllowed(filterType, filterListMode) && Boolean(badgeContent);\n\tconst buttonContent = content || t('Select');\n\tconst tooltipButtonProps = showTooltip ?\n\t\t{ 'aria-describedby': `${nowId}-tooltip` } :\n\t\t{};\n\n\treturn <div className=\"button\">\n\t\t<label id={`${nowId}-filter-label`} className=\"now-form-field-label-label filter-label\">{label}</label>\n\t\t<div\n\t\t\thook-insert={({ elm }) => setButtonRef(elm)}\n\t\t\thook-destroy={() => setButtonRef(null)}\n\t\t\ttabIndex=\"0\"\n\t\t\taria-labelledby={`${nowId}-filter-label`}\n\t\t\tclass={{\n\t\t\t\tcontainer: true,\n\t\t\t\topened: active,\n\t\t\t\thasBadge: showBadgeContent,\n\t\t\t\tselected: isSelected\n\t\t\t}}\n\t\t\trole=\"button\"\n\t\t\taria-label={buttonContent}\n\t\t\taria-expanded={active ? 'true' : 'false'}\n\t\t\tdata-testFilterContainer\n\t\t\t{...tooltipButtonProps}\n\t\t>\n\t\t\t{showBadgeContent && <Badge content={badgeContent} />}\n\t\t\t<div key=\"content\" className=\"content\" tabindex=\"-1\"\n\t\t\t\thook-insert={({ elm }) => setContentContainerRef(elm)}\n\t\t\t\thook-destroy={() => setContentContainerRef(null)}>\n\t\t\t\t{buttonContent}\n\t\t\t</div>\n\t\t\t<now-icon icon=\"chevron-down-fill\" className=\"chevron\" size=\"md\" />\n\t\t</div>\n\t\t{showTooltip ?\n\t\t\t<now-tooltip\n\t\t\t\tid={`${nowId}-tooltip`}\n\t\t\t\ttarget-ref={buttonRef}\n\t\t\t\tcontent={buttonContent}\n\t\t\t/> : null\n\t\t}\n\t</div>;\n}\n","/**\n * Checks if a certain property value is in a list of allowed values\n * @param {string} prop property name\n * @param {any} value property value\n * @param {any[]} list allowed values\n */\nexport const validateValue = (prop, value, list) => {\n\tif (!Array.isArray(list) || !list.includes(value)) {\n\t\tthrow new Error(`Value '${value}' for property '${prop}' is invalid`);\n\t}\n};\n","import {\n\tFILTER_PILL_VARIANTS,\n\tFILTER_PILL_VARIANT_ALTERNATIVE,\n\tFILTER_PILL_VARIANT_CLASSIC\n} from '../constants';\nimport ClassicPillVariant from './variants/classic';\nimport AlternativePillVariant from './variants/alternative';\nimport { validateValue } from '../../helpers/validation';\n\nconst variantMapping = {\n\t[FILTER_PILL_VARIANT_CLASSIC]: ClassicPillVariant,\n\t[FILTER_PILL_VARIANT_ALTERNATIVE]: AlternativePillVariant\n};\n\n/**\n * @type {View<PillVariantProps, PillVariantState>}\n */\nexport function view(...args) {\n\tconst { properties: { variant } } = args[0];\n\tvalidateValue('variant', variant, FILTER_PILL_VARIANTS);\n\n\treturn variantMapping[variant](...args);\n}\n","/**\n * Checks if an HTMLElement's content is overflowing\n * @param {ElementRef} el\n * @returns {boolean}\n */\nexport const isOverflowing = (el) => {\n\treturn Boolean(el && (el.scrollWidth > el.clientWidth || el.scrollHeight > el.clientHeight));\n};\n","// @ts-nocheck\nimport { actionTypes, declarativeOperations } from '@servicenow/ui-core';\nimport { view } from './pill-variant-view';\nimport { FILTER_TYPES, FILTER_LIST_MODES, FILTER_PILL_VARIANT_CLASSIC } from '../constants';\nimport styles from './pill-variant.scss';\nimport { isOverflowing } from '../../helpers/element';\nexport const PAR_PILL_VARIANT_RENDERED = 'PAR_PILL_VARIANT#RENDERED';\n/**\n * Verifies if filter is overflowing and setups (or removes) button tooltip\n */\nfunction setupTooltip (contentContainerRef, showTooltip, { updateState }) {\n\tconst labelOverflows = isOverflowing(contentContainerRef);\n\tupdateState({\n\t\tpath: 'showTooltip',\n\t\tvalue: labelOverflows,\n\t\toperation: declarativeOperations.SET,\n\t\tshouldRender: labelOverflows !== showTooltip\n\t});\n}\n\nconst properties = {\n\tactive: {\n\t\tdefault: false,\n\t},\n\tbadgeContent: {},\n\tlabel: {\n\t\tdefault: '',\n\t},\n\tcontent: {},\n\tvariant: {\n\t\tdefault: FILTER_PILL_VARIANT_CLASSIC\n\t},\n\tfilterType: {\n\t\tschema: {\n\t\t\ttype: 'string',\n\t\t\tenum: FILTER_TYPES,\n\t\t}\n\t},\n\tfilterListMode: {\n\t\tschema: {\n\t\t\ttype: 'string',\n\t\t\tenum: FILTER_LIST_MODES,\n\t\t},\n\t},\n\tbuttonRef: { selectable: true },\n\t/** Used to trigger a render for tooltip setup */\n\ttooltipEvaluatorTrigger: {},\n\tisSelected: {\n\t\tdefault: false,\n\t\tschema: {\n\t\t\ttype: 'boolean'\n\t\t}\n\t}\n};\n\nconst initialState = {\n\tshowTooltip: false,\n\tbuttonRef: null,\n};\n\nconst componentDefinition = {\n\tproperties,\n\tinitialState,\n\tstyles,\n\tview,\n\tactionHandlers: {\n\t\t[actionTypes.COMPONENT_RENDERED]: ({ state, dispatch, updateState, updateProperties }) => {\n\t\t\t// need to re-evaluate the tooltip setup every time we make a change to the component\n\t\t\tconst { contentContainerRef, buttonRef, showTooltip } = state;\n\t\t\tsetupTooltip(contentContainerRef, showTooltip, { dispatch, updateState });\n\n\t\t\t// This prop is selectable, so need to update it with the new button reference\n\t\t\tupdateProperties({\n\t\t\t\tbuttonRef\n\t\t\t});\n\t\t},\n\t\t[actionTypes.COMPONENT_PROPERTY_CHANGED]: ({ state, action, dispatch }) => {\n\t\t\tconst { name, value, previousValue } = action.payload;\n\t\t\tconst { buttonRef } = state;\n\t\t\tif (name === 'buttonRef' && previousValue !== value) {\n\t\t\t\tdispatch(PAR_PILL_VARIANT_RENDERED, {\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\tbuttonRef: buttonRef\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} else if (name === 'active' && !value) {\n\t\t\t\t// when the pill is closed, we give back focus to the button\n\t\t\t\tbuttonRef?.focus();\n\t\t\t}\n\t\t}\n\t},\n};\n\nexport default componentDefinition;\n","import { createCustomElement } from '@servicenow/ui-core';\nimport componentDefinition from './pill-variant';\n\ncreateCustomElement('par-filter-pill-variant', componentDefinition);\n","// @ts-nocheck\nimport differenceWith from 'lodash/differenceWith';\nimport { t } from 'sn-translate';\n\n// For some reason one of the lists coming in doesn't have 'extras', which\n// breaks lodash's isEqual. And since all items have ids, this fixes it.\nconst isEqual = (a, b) => a.id === b.id;\n\n/**\n * filterItems currently only works with simple list of items. If grouped data is used in multiselect mode\n * then filterItems also needs to support filtering in groups as well. Required changes are similar to code in\n * getSearchFilter.\n * @param {Array<ElementItem[]>} items1\n * @param {Array<ElementItem[]>} items2\n */\nexport const filterItems = (items1, items2) => differenceWith(items1, items2, isEqual);\n\n/**\n * Flattens element items with multiple levels of grouping into a non-grouped list of values.\n * It returns only the leaf values, if the leaf value is part of a group it will have an array with the group order.\n * @param {ElementItem[]} items\n * @param {boolean} keepHierarchyLabel\n * @returns {FlatElementItem[]}\n */\nexport const flattenGroups = (items, keepHierarchyLabel = false) => items?.flatMap((item) =>\n\t(item.items ? flattenGroups(item.items, keepHierarchyLabel).map((i) => {\n\t\tconst currentPathToRoot = { ...item };\n\t\tdelete currentPathToRoot.items;\n\t\treturn {\n\t\t\t...i,\n\t\t\tpathToRoot: [currentPathToRoot, ...(i.pathToRoot || [])],\n\t\t\tlabel: keepHierarchyLabel ?\n\t\t\t\tt('{parentName} > {childName}', { parentName: item.label, childName: i.label }) :\n\t\t\t\ti.label\n\t\t};\n\t}) : item));\n\n/**\n * This function is used by the unflattenGroups function to insert an item into the right group.\n * @param {FlatElementItem[]} pathToRoot\n * @param {ElementItem} item\n * @param {ElementItem[]} structure\n *\n */\nfunction insertIntoGroupStructure(pathToRoot, item, structure) {\n\tlet currentLevel = structure;\n\n\tpathToRoot.forEach((node) => {\n\t\tlet existingNode = currentLevel.find((g) => g.id === node.id);\n\n\t\tif (!existingNode) {\n\n\t\t\t// If the group does not exist, create it\n\t\t\texistingNode = {\n\t\t\t\t...node,\n\t\t\t\titems: [],\n\t\t\t};\n\t\t\tcurrentLevel.push(existingNode);\n\t\t}\n\n\t\t// Move down to the next level\n\t\tcurrentLevel = existingNode.items;\n\t});\n\n\t// Finally, add the item to the current level\n\tconst newItem = { ...item };\n\tdelete newItem.pathToRoot;\n\tcurrentLevel.push(newItem);\n}\n\n/**\n * This function takes a list of element items that have been made flat by the flattenGroups function\n * and returns them in to their original group structure.\n * Note: it doesn't currently support reversing hierarchy labels.\n * @param {ElementItem[]} items\n * @returns {ElementItem[]}\n */\nexport function unflattenGroups(items) {\n\tif (!items.some((item) => item.pathToRoot && item.pathToRoot.length > 0)) {\n\t\treturn items;\n\t}\n\n\n\tconst structure = [];\n\n\t//We iterate over all the items in the flat list and insert them into the group structure\n\titems.forEach((item) => {\n\t\tif (item.pathToRoot && item.pathToRoot.length > 0) {\n\t\t\tinsertIntoGroupStructure(item.pathToRoot, item, structure);\n\t\t} else {\n\t\t\tconst newItem = { ...item };\n\t\t\tdelete newItem.pathToRoot;\n\t\t\tstructure.push(newItem);\n\t\t}\n\t});\n\n\treturn structure;\n}\n\n/**\n * Receives element items (which can have multiple nested groups) and transforms them into\n * a list of items with a maximum of one level of grouping.\n * @param {ElementItem[]} items\n * @returns {ElementItem[]}\n */\nexport const removeNestedGroups = (items) => items.map((item) => (item.items ?\n\t{\n\t\t...item,\n\t\titems: flattenGroups(item.items, false)\n\t} :\n\titem)\n);\n\n/**\n * Transforms filter element items into NDS items.\n * @param {ElementItem[]} items\n * @returns {ParTypeaheadItem[]}\n */\nexport const transformItemsToNDSItems = (items) =>\n\tremoveNestedGroups(items)\n\t\t.map((item) => {\n\t\t\tif (item.items) {\n\t\t\t\tconst newItem = { ...item };\n\t\t\t\tdelete newItem.items;\n\t\t\t\treturn {\n\t\t\t\t\t...newItem,\n\t\t\t\t\tchildren: item.items\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn item;\n\t\t});\n\n/**\n * Fill out all information about an element item.\n * This is required because we need to make sure the element has all the necessary properties\n * for handling in list components (particularly for lodash ordering).\n * @param {ElementItem} item\n * @return {ElementItem}\n */\nexport const complementItem = (item) => ({\n\tavailable: true,\n\tunknown: false,\n\tempty: false,\n\t...item, // may override above default values\n});\n","import { actionTypes } from '@servicenow/ui-core';\nimport { t } from 'sn-translate';\nimport '@servicenow/now-typeahead';\nimport { cachelessMemoize, forwardAction } from 'sn-par-filter-common';\nimport styles from './typeahead.scss';\nimport { transformItemsToNDSItems } from '../../helpers/items';\nimport { UNKNOWN_SELECTED_VALUE } from '../messages';\nimport '../..';\n\nexport const PAR_FILTER_TYPEAHEAD__VALUE_SET = 'PAR_FILTER_TYPEAHEAD#VALUE_SET';\nexport const PAR_FILTER_TYPEAHEAD__ITEMS_SET = 'PAR_FILTER_TYPEAHEAD#ITEMS_SET';\nexport const PAR_FILTER_TYPEAHEAD__LIST_TOGGLED = 'PAR_FILTER_TYPEAHEAD#LIST_TOGGLED';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\nconst DATA_RECEIVED_PROPS = ['items', 'errorMessage'];\n\n/** @type {StateTypeahead} **/\nconst initialState = {\n\t// On the fist render of the component, we will have to wait for data to be received\n\t// before displaying results. This state variable overrides the `loading` property\n\t// to prevent async issues.\n\twaitForData: true,\n};\n\n/** @type {PropsDefinition<PropertiesTypeahead>} */\nconst typeaheadProperties = {\n\tlabel: {},\n\tariaLabel: {},\n\tdisabled: {},\n\thelperContent: {},\n\titems: {},\n\tselectedItems: {},\n\tsearch: {\n\t\tschema: {\n\t\t\ttype: 'string'\n\t\t},\n\t\tdefault: ''\n\t},\n\thasMoreItems: {\n\t\tschema: {\n\t\t\ttype: 'boolean'\n\t\t}\n\t},\n\tloading: {\n\t\tschema: {\n\t\t\ttype: 'boolean'\n\t\t}\n\t},\n\terrorMessage: {\n\t\tschema: {\n\t\t\ttype: 'string'\n\t\t}\n\t}\n};\n\n/** @type {ActionHandlers<PropertiesTypeahead, StateTypeahead>} */\nconst actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED]({ updateState, properties }) {\n\t\tif (DATA_RECEIVED_PROPS.some((propName) => properties[propName])) {\n\t\t\t// if there is already data when the component is bootstrapped,\n\t\t\t// we don't need to wait for more data.\n\t\t\tupdateState({\n\t\t\t\twaitForData: false\n\t\t\t});\n\t\t}\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]({ action, updateState }) {\n\t\tconst { payload: { name } } = action;\n\t\tif (DATA_RECEIVED_PROPS.includes(name)) {\n\t\t\t// on data reception, we can present the results\n\t\t\tupdateState({\n\t\t\t\twaitForData: false\n\t\t\t});\n\t\t}\n\t},\n\t...forwardAction('NOW_TYPEAHEAD_MULTI#VALUE_SET', PAR_FILTER_TYPEAHEAD__VALUE_SET, { name: 'debounce', delay: 250 }),\n\t...forwardAction('NOW_TYPEAHEAD_MULTI#SELECTED_ITEMS_SET', PAR_FILTER_TYPEAHEAD__ITEMS_SET),\n\t...forwardAction('NOW_TYPEAHEAD_MULTI#LIST_VISIBLE', PAR_FILTER_TYPEAHEAD__LIST_TOGGLED, undefined, () => ({ value: true })),\n\t['NOW_TYPEAHEAD_MULTI#LIST_HIDDEN']({ action, dispatch, properties, updateState }) {\n\t\taction.stopPropagation();\n\t\tif (properties.errorMessage && !properties.items?.length) {\n\t\t\t// When hiding the list after an error happened and there are no items loaded,\n\t\t\t// we need to wait for more data before displaying results next time the list is visible.\n\t\t\t// This state informs the component to show the \"Loading...\" information and prevents async\n\t\t\t// issues with the `loading` property passed by the data provider (which takes a while to update).\n\t\t\tupdateState({\n\t\t\t\twaitForData: true\n\t\t\t});\n\t\t}\n\t\tdispatch(PAR_FILTER_TYPEAHEAD__LIST_TOGGLED, { value: false });\n\t}\n};\n\n/**\n * Converts a message to a typeahead item\n * @param {string} message\n * @param {string} id\n * @return {ParTypeaheadItem}\n */\nconst convertMessage = (message, id) => ({ id: id, label: message, children: [] });\n\n/**\n * Computes notifications to show in component.\n * @param {ElementItem[]} selectedItems\n * @return {ParTypeaheadItem[]}\n */\nconst getNotifications = (selectedItems) => {\n\tconst notifications = [];\n\tif (selectedItems.some((x) => x.unknown)) {\n\t\tnotifications.push(convertMessage(UNKNOWN_SELECTED_VALUE(), 'unknown-values'));\n\t}\n\treturn notifications;\n};\n\n/**\n * This function looks at the items array and returns a cached copy of it\n * if the items match previously existing ones. The objective is to always\n * return the same object and prevent re-renders.\n */\nconst getMemoizedItems = cachelessMemoize((/** @type {ParTypeaheadItem[]} **/ items) => items, {\n\tcreateCacheKey: (/** @type {ParTypeaheadItem[]} **/a) => JSON.stringify(a)\n});\n\n/**\n * Computes the items to display in the Typeahead list\n * @param {boolean} hasMoreItems\n * @param {string | undefined} errorMessage\n * @param {ElementItem[]} items\n * @param {ElementItem[]} selectedItems\n * @returns {ParTypeaheadItem[]}\n */\nconst computeItems = (hasMoreItems, errorMessage, items, selectedItems) => {\n\tif (errorMessage) {\n\t\treturn [convertMessage(errorMessage, 'error')];\n\t}\n\n\t// Get NDS items\n\tconst typeaheadItems = transformItemsToNDSItems(items ?? []);\n\n\t// Add (or not) paging message\n\tconst itemCount = typeaheadItems.reduce(\n\t\t(acc, item) => (item.children ? acc + item.children.length : acc + 1), 0);\n\tconst pagedItems = hasMoreItems && items ?\n\t\t[convertMessage(t('Showing {0} element(s)', itemCount), 'item-count'), ...typeaheadItems] :\n\t\ttypeaheadItems;\n\n\t// Adds notifications on top\n\tconst notificationItems = getNotifications(selectedItems);\n\tconst finalItems = notificationItems.concat(pagedItems);\n\treturn getMemoizedItems(finalItems);\n};\n\n/** @type {View<PropertiesTypeahead, StateTypeahead>} */\nexport const typeaheadView = ({ properties, waitForData }) => {\n\tconst {\n\t\tlabel,\n\t\tariaLabel,\n\t\thelperContent,\n\t\tdisabled,\n\t\titems,\n\t\tselectedItems,\n\t\tsearch,\n\t\thasMoreItems,\n\t\tloading,\n\t\terrorMessage\n\t} = properties;\n\n\t// In order to prevent async issues, we may need to explicitly wait for data\n\t/** @type {ParTypeaheadItem[]} results */\n\tconst results = loading || waitForData ?\n\t\t[{ id: 'loading', label: t('Loading...'), children: [], testId: 'loadingMessage' }] :\n\t\tcomputeItems(hasMoreItems, errorMessage, items, selectedItems);\n\n\treturn (\n\t\t<now-typeahead-multi\n\t\t\tdata-testNowTypeahead\n\t\t\tclassName=\"typeahead\"\n\t\t\titems={results}\n\t\t\tselectedItems={selectedItems || []}\n\t\t\tlabel={label}\n\t\t\thelperContent={helperContent}\n\t\t\tdisabled={disabled}\n\t\t\tvalue={search}\n\t\t\tmanageSelectedItems\n\t\t\titemsListConstrain={{ minWidth: 150 }}\n\t\t\tdisableAutoClose={true}\n\t\t\tconfigAria={{\n\t\t\t\t'aria-label': ariaLabel,\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nexport const typeahead = {\n\tinitialState,\n\tproperties: typeaheadProperties,\n\tview: typeaheadView,\n\tstyles,\n\tactionHandlers,\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { typeahead } from './typeahead';\n\nexport * from './typeahead';\n\ncreateCustomElement('par-filter-typeahead', typeahead);\n","import '@servicenow/now-radio-buttons';\nimport resizeBehavior from '@servicenow/behavior-resize';\nimport { forwardAction } from 'sn-par-filter-common';\nimport { handleElementResize, handleRenderRequested } from 'sn-par-filter-common-components';\nimport styles from './radiobuttons.scss';\nimport { flattenGroups } from '../../helpers/items';\nimport { FILTER_ELEMENT_LAYOUT_VERTICAL, FILTER_ELEMENT_LAYOUTS } from '../constants';\nimport {\n\tgetErrorMessage,\n\tnoItemsMessage,\n\tunknownItemsMessage,\n\tloadingMessage,\n\tgetNDSMessage\n} from '../messages';\nconst NOW_RADIO_BUTTONS__VALUE_SET = 'NOW_RADIO_BUTTONS#VALUE_SET';\nexport const PAR_FILTER_RADIOBUTTONS__BOOTSTRAPPED = 'PAR_FILTER_RADIOBUTTONS#BOOTSTRAPPED';\nexport const PAR_FILTER_RADIOBUTTONS__DISCONNECTED = 'PAR_FILTER_RADIOBUTTONS#DISCONNECTED';\nexport const PAR_FILTER_RADIOBUTTONS__VALUE_SET = 'PAR_FILTER_RADIOBUTTONS#VALUE_SET';\n\n/** @type {StateParRadiobuttons} **/\nconst initialState = {\n\tisReflowEnabled: false,\n};\n\n/** @type {PropsDefinition<PropertiesParRadiobuttons>} */\nconst radiobuttonsProperties = {\n\tlabel: {\n\t\tschema: {\n\t\t\ttype: 'string'\n\t\t},\n\t},\n\titems: {\n\t\tschema: {\n\t\t\ttype: 'array'\n\t\t}\n\t},\n\tlayout: {\n\t\tschema: {\n\t\t\ttype: 'string',\n\t\t\tenum: FILTER_ELEMENT_LAYOUTS\n\t\t},\n\t\tdefault: FILTER_ELEMENT_LAYOUT_VERTICAL\n\t},\n\tloading: {\n\t\tschema: {\n\t\t\ttype: 'boolean'\n\t\t},\n\t\tdefault: false\n\t},\n\tselectedItems: {\n\t\tschema: {\n\t\t\ttype: 'array'\n\t\t},\n\t\tdefault: []\n\t},\n\tselectedIds: {\n\t\tschema: {\n\t\t\ttype: 'array'\n\t\t},\n\t\tdefault: []\n\t},\n\terrorMessage: {\n\t\tschema: {\n\t\t\ttype: 'string',\n\t\t}\n\t}\n};\n\n/** @type {ActionHandlers<PropertiesParRadiobuttons, StateParRadiobuttons>} */\n// TODO fix types\n// @ts-ignore\nconst actionHandlers = {\n\t...forwardAction(NOW_RADIO_BUTTONS__VALUE_SET, PAR_FILTER_RADIOBUTTONS__VALUE_SET),\n\t...handleElementResize(),\n\t...handleRenderRequested()\n};\n\n/** @type {View<PropertiesParRadiobuttons, StateParRadiobuttons>} */\nexport const radiobuttonsView = ({ properties, isReflowEnabled }) => {\n\tconst {\n\t\tlabel,\n\t\titems = [],\n\t\tlayout,\n\t\tloading,\n\t\terrorMessage,\n\t\tselectedItems = [],\n\t\tselectedIds = []\n\t} = properties;\n\n\tconst isSelectedItemUnknown = selectedItems.length > 0 && selectedItems[0].unknown;\n\t// If unknown item selected, we add it to the list of items (in the top)\n\tconst allItems = isSelectedItemUnknown ? [selectedItems[0], ...items] : items;\n\tconst finalItems = flattenGroups(allItems, true);\n\n\tconst messages = [];\n\tif (loading) {\n\t\tmessages.push(loadingMessage);\n\t} else if (errorMessage) {\n\t\tmessages.push(getErrorMessage(errorMessage));\n\t} else if (isSelectedItemUnknown) {\n\t\tmessages.push(unknownItemsMessage);\n\t} else if (allItems.length === 0) {\n\t\tmessages.push(noItemsMessage);\n\t}\n\n\treturn (\n\t\t<now-radio-buttons\n\t\t\tlabel={label}\n\t\t\toptions={finalItems}\n\t\t\tlayout={isReflowEnabled ? FILTER_ELEMENT_LAYOUT_VERTICAL : layout}\n\t\t\tmessages={messages.map(getNDSMessage)}\n\t\t\tdisabled={loading}\n\t\t\tmanageValue={true}\n\t\t\t// do not set value until items are present\n\t\t\tvalue={finalItems.length > 0 && selectedIds.length > 0 ? selectedIds[0] : undefined}\n\t\t/>\n\t);\n};\n\nexport const radiobuttons = {\n\tinitialState,\n\tproperties: radiobuttonsProperties,\n\tview: radiobuttonsView,\n\tstyles,\n\tactionHandlers,\n\tbehaviors: [{\n\t\tbehavior: resizeBehavior,\n\t\toptions: {\n\t\t\ttimer: { type: 'debounce', wait: 50 },\n\t\t},\n\t}],\n\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { radiobuttons } from './radiobuttons';\n\nexport * from './radiobuttons';\n\ncreateCustomElement('par-filter-radiobuttons', radiobuttons);\n","import { t } from 'sn-translate';\nimport '@servicenow/now-checkbox';\nimport { renderMessages, handleElementResize, handleRenderRequested } from 'sn-par-filter-common-components';\nimport resizeBehavior from '@servicenow/behavior-resize';\nimport { actionTypes } from '@servicenow/ui-core';\nimport styles from './checkboxes.scss';\nimport { FILTER_ELEMENT_LAYOUT_VERTICAL, FILTER_ELEMENT_LAYOUTS } from '../constants';\nimport { getErrorMessage, noItemsMessage, unknownItemsMessage, loadingMessage } from '../messages';\nconst NOW_CHECKBOXES__CHECKED_SET = 'NOW_CHECKBOX#CHECKED_SET';\nexport const PAR_FILTER_CHECKBOXES__CHECKED_SET = 'PAR_FILTER_CHECKBOXES#CHECKED_SET';\nexport const PAR_FILTER_CHECKBOXES__APPLY_CLICKED = 'NOW_BUTTON_BARE#CLICKED';\n/** @type {SetInitialState<PropertiesParCheckboxes, StateParCheckboxes>} */\nconst setInitialState = ({ properties }) => ({\n\tisReflowEnabled: false,\n\tcheckedOptions: properties.selectedIds\n});\n\n/** @type {PropsDefinition<PropertiesParCheckboxes>} */\nconst checkboxesProperties = {\n\tlabel: {\n\t\tschema: {\n\t\t\ttype: 'string'\n\t\t},\n\t},\n\titems: {\n\t\tschema: {\n\t\t\ttype: 'array'\n\t\t}\n\t},\n\tlayout: {\n\t\tschema: {\n\t\t\ttype: 'string',\n\t\t\tenum: FILTER_ELEMENT_LAYOUTS\n\t\t},\n\t\tdefault: FILTER_ELEMENT_LAYOUT_VERTICAL\n\t},\n\tloading: {\n\t\tschema: {\n\t\t\ttype: 'boolean'\n\t\t},\n\t\tdefault: false\n\t},\n\tselectedItems: {\n\t\tschema: {\n\t\t\ttype: 'array'\n\t\t},\n\t\tdefault: []\n\t},\n\tselectedIds: {\n\t\tschema: {\n\t\t\ttype: 'array'\n\t\t},\n\t\tdefault: []\n\t},\n\terrorMessage: {\n\t\tschema: {\n\t\t\ttype: 'string',\n\t\t}\n\t},\n\tshowReset: {},\n\tonReset: {},\n\tprimaryActionLabel: {\n\t\tschema: {\n\t\t\ttype: 'string'\n\t\t},\n\t},\n};\n\n/** @type {ActionHandlers<PropertiesParCheckboxes, StateParCheckboxes>} */\n\nconst actionHandlers = {\n\t...handleElementResize(),\n\t...handleRenderRequested(),\n\t[actionTypes.COMPONENT_PROPERTY_CHANGED]: ({ properties, updateState, action }) => {\n\t\tconst { selectedIds } = properties;\n\t\tconst { name } = action.payload;\n\t\tif (name === 'selectedIds') {\n\t\t\tupdateState({\n\t\t\t\tcheckedOptions: selectedIds,\n\t\t\t});\n\t\t}\n\t},\n\t[NOW_CHECKBOXES__CHECKED_SET]: ({ action, state, properties, updateState }) => {\n\t\tlet { checkedOptions } = state;\n\t\tconst { items } = properties;\n\t\t// master is to select the select all checkbox\n\t\tif (action.payload.master) {\n\t\t\t// check all options or uncheck all options\n\t\t\tcheckedOptions = action.payload.value ? items.map((i) => i.id) : [];\n\n\t\t} else {\n\t\t\tif (action.payload.value) {\n\t\t\t\t// add option to checked array\n\t\t\t\tconst itemToAdd = items.find((item) => item.id === action.payload.id);\n\t\t\t\tif (itemToAdd) {\n\t\t\t\t\tcheckedOptions = [...state.checkedOptions, itemToAdd.id];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// remove option from checked array\n\t\t\t\tcheckedOptions = state.checkedOptions.filter((item) => item !== action.payload.id);\n\t\t\t}\n\t\t}\n\t\tupdateState({ checkedOptions });\n\t},\n\t[PAR_FILTER_CHECKBOXES__APPLY_CLICKED]: ({ action, dispatch }) => {\n\t\tdispatch(PAR_FILTER_CHECKBOXES__CHECKED_SET, { value: action.payload.checkedOptions });\n\t},\n};\n\n/** @type {View<PropertiesParCheckboxes, StateParCheckboxes>} */\nexport const checkboxesView = ({ properties, isReflowEnabled, checkedOptions }, { updateState }) => {\n\tconst {\n\t\tlabel,\n\t\titems = [],\n\t\tlayout,\n\t\tloading,\n\t\terrorMessage,\n\t\tselectedItems = [],\n\t\tselectedIds = [],\n\t\tshowReset,\n\t\tonReset,\n\t\tprimaryActionLabel\n\t} = properties;\n\n\tconst handleReset = () => {\n\t\tupdateState({\n\t\t\tcheckedOptions: selectedIds\n\t\t});\n\t\tonReset && onReset();\n\t};\n\n\n\tconst unknownItems = selectedItems.filter((v) => v.unknown);\n\tconst hasUnknownSelectedItems = unknownItems.length > 0;\n\n\t// If unknown item selected, we add it to the list of items (in the top)\n\tconst finalItems = [...unknownItems, ...items];\n\n\tconst messages = [];\n\tif (loading) {\n\t\tmessages.push(loadingMessage);\n\t} else if (errorMessage) {\n\t\tmessages.push(getErrorMessage(errorMessage));\n\t} else if (hasUnknownSelectedItems) {\n\t\tmessages.push(unknownItemsMessage);\n\t} else if (finalItems.length === 0) {\n\t\tmessages.push(noItemsMessage);\n\t}\n\n\tlet masterCheckboxState;\n\tif (checkedOptions?.length === items.length) {\n\t\tmasterCheckboxState = true;\n\t} else if (checkedOptions?.length === 0) {\n\t\tmasterCheckboxState = false;\n\t} else {\n\t\tmasterCheckboxState = 'indeterminate';\n\t}\n\n\tconst componentMessages = errorMessage ? [getErrorMessage(errorMessage)] : messages;\n\n\treturn (\n\t\t<div className=\"checkboxes-container\">\n\t\t\t<label>{label}</label>\n\t\t\t{renderMessages(componentMessages)}\n\t\t\t{finalItems.length ? <div className='apply_reset_container'>\n\t\t\t\t<now-button-bare\n\t\t\t\t\tclassName=\"button\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tlabel={primaryActionLabel}\n\t\t\t\t\tappend-to-payload={{ checkedOptions }}\n\t\t\t\t/>\n\t\t\t\t{showReset ? (\n\t\t\t\t\t<now-button-bare\n\t\t\t\t\t\tclassName=\"reset_btn\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tlabel={t('Reset')}\n\t\t\t\t\t\ton-click={handleReset}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t</div> : ''}\n\t\t\t{finalItems.length > 1 ? <now-checkbox\n\t\t\t\tclassName='checkboxes-select-all'\n\t\t\t\tlabel={t('Select all')}\n\t\t\t\tchecked={masterCheckboxState}\n\t\t\t\tappend-to-payload={{ master: true }}\n\t\t\t\tmanage-checked\n\t\t\t/> : ''}\n\t\t\t<ul>\n\t\t\t\t{finalItems.map((item) => {\n\t\t\t\t\treturn (layout === FILTER_ELEMENT_LAYOUT_VERTICAL) || isReflowEnabled ? (\n\t\t\t\t\t\t<li className='checkboxes-vertical-layout'>\n\t\t\t\t\t\t\t<now-checkbox\n\t\t\t\t\t\t\t\trole=\"listitem\"\n\t\t\t\t\t\t\t\tid={item.id}\n\t\t\t\t\t\t\t\tlabel={item.label}\n\t\t\t\t\t\t\t\tlayout={isReflowEnabled ? FILTER_ELEMENT_LAYOUT_VERTICAL : layout}\n\t\t\t\t\t\t\t\tchecked={checkedOptions?.some((option) => option === item.id)}\n\t\t\t\t\t\t\t\tappend-to-payload={{ ...item }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<li className='checkboxes-horizontal-layout'>\n\t\t\t\t\t\t\t<now-checkbox\n\t\t\t\t\t\t\t\trole=\"listitem\"\n\t\t\t\t\t\t\t\tid={item.id}\n\t\t\t\t\t\t\t\tlabel={item.label}\n\t\t\t\t\t\t\t\tchecked={checkedOptions?.some((option) => option === item.id)}\n\t\t\t\t\t\t\t\tappend-to-payload={{ ...item }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t</div>\n\t);\n};\n\nexport const checkboxes = {\n\tsetInitialState,\n\tproperties: checkboxesProperties,\n\tview: checkboxesView,\n\tstyles,\n\tactionHandlers,\n\tbehaviors: [{\n\t\tbehavior: resizeBehavior,\n\t\toptions: {\n\t\t\ttimer: { type: 'debounce', wait: 50 },\n\t\t},\n\t}],\n\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { checkboxes } from './checkboxes';\n\nexport * from './checkboxes';\n\ncreateCustomElement('par-filter-checkboxes', checkboxes);\n","import moment from 'moment';\nimport { t } from 'sn-translate';\n\nexport const today = moment().startOf('day').format('YYYY-MM-DD');\n\nexport function getTodayDateTimelessISO() {\n\treturn moment().startOf('day').format('YYYY-MM-DD');\n}\n\n/**\n * Returns date string representation to be displayed in UI\n * Expects valid ISO date as input\n * @param {object} param0\n * @param {string} param0.date  ISO date string in format YYYY-MM-DD or YYYY-MM-DDTHH:mm:ss\n * @param {boolean=} param0.allowTime  Includes time in result - no seconds by requirement\n * @returns \n */\nexport const formatDate = ({ date, allowTime }) => {\n\tconst momentDate = moment(date);\n\tconst format = allowTime ? 'YYYY-MM-DD HH:mm' : 'YYYY-MM-DD';\n\tconst result = momentDate.format(format);\n\treturn result;\n};\n\n/**\n * Gets date to be used in range - start or end boundary depending on parameters\n * Expects valid ISO date as input\n * @param {object} param0\n * @param {string=} param0.date  ISO date string in format YYYY-MM-DD or YYYY-MM-DDTHH:mm:ss\n * @param {boolean=} param0.allowTime  Adds time to the result\n * @param {boolean=} param0.isStart  Sets time to 00:00:00 in case source date is in short format or empty\n * @param {boolean=} param0.isEnd  Sets time to 23:59:59 in case source date is in short format or empty\n * @returns ISO standart date\n */\nexport function getDateRangeBoundary({ date, isStart, isEnd, allowTime }) {\n\tconst momentDate = date ? moment(date) : moment();\n\n\tif (isStart && (!date || date.length === 10)) {\n\t\tmomentDate.hours(0);\n\t\tmomentDate.minutes(0);\n\t\tmomentDate.seconds(0);\n\t}\n\tif (isEnd && (!date || date.length === 10)) {\n\t\tmomentDate.hours(23);\n\t\tmomentDate.minutes(59);\n\t\tmomentDate.seconds(59);\n\t}\n\n\tconst result = allowTime\n\t\t? momentDate.format('YYYY-MM-DDTHH:mm:ss')\n\t\t: momentDate.format('YYYY-MM-DD');\n\n\treturn result;\n}\n\n/**\n * Return object can have `date` field: string with ISO standart date or undefined in case user input was empty\n * Return object can have `errorMessage` in case wrong input\n * @param {object} param0\n * @param {string} param0.inputValue\n * @param {boolean=} param0.allowTime\n * @param {boolean=} param0.isEnd  Adjusts time to have 59 seconds\n * @returns {{date?: string, errorMessage?: string}}\n */\nexport function parseDateUserInput({ inputValue, allowTime, isEnd }) {\n\tif (!inputValue || !inputValue.trim()) {\n\t\treturn { date: undefined };\n\t}\n\n\tconst dateRegex = allowTime \n\t\t? '^(19|20)[0-9]{2}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}$'\n\t\t: '^(19|20)[0-9]{2}-[0-9]{2}-[0-9]{2}$';\n\tif (!inputValue.match(dateRegex)) {\n\t\tconst message = allowTime \n\t\t\t? t('Expected date format: YYYY-MM-DD HH:mm')\n\t\t\t: t('Expected date format: YYYY-MM-DD');\n\t\treturn { errorMessage: message };\n\t}\n\n\tconst momentDate = allowTime \n\t\t? moment(inputValue, 'YYYY-MM-DD HH:mm')\n\t\t: moment(inputValue);\n\n\tif (!momentDate.isValid()) {\n\t\treturn { errorMessage: t('Invalid date') };\n\t}\n\n\tif (allowTime) {\n\t\tif (isEnd) {\n\t\t\tmomentDate.seconds(59);\n\t\t}\n\t\treturn { date: momentDate.format('YYYY-MM-DDTHH:mm:ss') };\n\t} \n\treturn { date:momentDate.format('YYYY-MM-DD') };\n}\n\n/**\n * A little helper to turn the presets into options for devx-radio-group\n * @param {ElementItem} preset\n */\nexport const toOption = (preset) => ({\n\t...preset,\n\tvalue: preset.id,\n\ttext: preset.label,\n});\n","// @ts-nocheck\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { t } from 'sn-translate';\nimport './pill-variant';\nimport './typeahead';\nimport './radiobuttons';\nimport './checkboxes';\nimport { cachelessMemoize, searchInRangesByID } from 'sn-par-filter-common';\n\nimport {\n\tNOW_FILTER__TOGGLED,\n\tNOW_FILTER__APPLIED,\n\tNOW_FILTER__CLEARED,\n\tNOW_FILTER__RESET_TO_DEFAULTS,\n\tFILTER_TYPE_CHOICE,\n\tFILTER_TYPE_BOOLEAN,\n\tFILTER_TYPE_DATE,\n\tFILTER_LIST_MODE_SINGLE,\n\tFILTER_ELEMENT_TYPE_TYPEAHEAD,\n\tFILTER_ELEMENT_TYPE_SELECTORS,\n\tFILTER_LIST_MODE_MULTI,\n\tNOW_FILTER_REFLOW_CLEAR,\n\tNOW_FILTER_REFLOW_RESET,\n\tNOW_FILTER_REFLOW_APPLIED,\n\tNOW_FILTER_REFLOW_CANCEL,\n} from './constants';\nimport { getDateRangeBoundary, formatDate } from './daterange-content/helpers';\nimport { flattenGroups } from '../helpers/items';\n\nconst isBooleanFilter = (filterType) => filterType === FILTER_TYPE_BOOLEAN;\nconst isListFilter = (filterType) => filterType === FILTER_TYPE_CHOICE;\nconst isDateFilter = (filterType) => filterType === FILTER_TYPE_DATE;\n\nconst getAppliedCount = (selectedIds) => {\n\tif (Array.isArray(selectedIds)) {\n\t\treturn selectedIds.length;\n\t}\n\n\treturn 0;\n};\n\nconst itemTextDelimiter = t('{0}, {1}', '', '');\n\nfunction getItemsText(items = []) {\n\treturn items.length === 0 ? undefined : flattenGroups(items).map((item) => item.label || item).join(itemTextDelimiter);\n}\n\n/**\n * Returns the items array that is applied.\n * This function contains special behavior for boolean filter.\n */\nconst getAppliedItems = (filterType, items, selectedIds, selectedItems) => {\n\tif (isBooleanFilter(filterType)) {\n\t\treturn (items ?? []).filter((item) => item.id === selectedIds[0]);\n\t}\n\n\treturn selectedItems;\n};\n\nconst computeCalendarText = (start, end, dynamicTimeRange, dateRangePresets, allowTimeSelection) => {\n\tif (!start) {\n\t\treturn undefined;\n\t}\n\n\tif (dynamicTimeRange) {\n\t\tconst selectedDateRange = searchInRangesByID(dateRangePresets, dynamicTimeRange);\n\t\tif (selectedDateRange) {\n\t\t\treturn selectedDateRange.label;\n\t\t}\n\t}\n\tconst startDate = getDateRangeBoundary({ date: start, allowTime: allowTimeSelection, isStart: true });\n\tconst startFormatted = formatDate({ date: startDate, allowTime: allowTimeSelection });\n\tconst endDate = getDateRangeBoundary({ date: end, allowTime: allowTimeSelection, isEnd: true });\n\tconst endFormatted = formatDate({ date: endDate, allowTime: allowTimeSelection });\n\treturn `${startFormatted} - ${endFormatted}`;\n};\n\nconst computeButtonContent = cachelessMemoize((type, items, start, end, dynamicTimeRange, dateRangePresets, allowTimeSelection) => {\n\treturn isDateFilter(type) ?\n\t\tcomputeCalendarText(start, end, dynamicTimeRange, dateRangePresets, allowTimeSelection) :\n\t\tgetItemsText(items ?? []);\n}, {\n\tcreateCacheKey: (a, b, c, d, e, f, g) => `${a}${JSON.stringify(b)}${c}${d}${e}${JSON.stringify(f)}${g}`,\n});\n\nconst computeBadgeContent = (type, appliedItemCount, date) => {\n\tif (isDateFilter(type)) {\n\t\treturn date && (<now-icon icon=\"calendar-outline\" />);\n\t} else if (appliedItemCount > 0) {\n\t\treturn appliedItemCount;\n\t}\n\treturn undefined;\n};\n\nconst createFooterActions = (primaryActionLabel, showClear, canClear, showReset, dirty) => {\n\tconst footerActions = [];\n\tfooterActions.push({\n\t\tlabel: primaryActionLabel,\n\t\tvariant: 'primary',\n\t\tdisabled: !dirty,\n\t\tclickActionType: [NOW_FILTER_REFLOW_APPLIED],\n\t});\n\tfooterActions.push({\n\t\tlabel: t('Cancel'),\n\t\tvariant: 'secondary',\n\t\tclickActionType: [NOW_FILTER_REFLOW_CANCEL],\n\t});\n\tif (showReset) {\n\t\tfooterActions.push({\n\t\t\tlabel: t('Reset'),\n\t\t\tvariant: 'secondary',\n\t\t\tclickActionType: [NOW_FILTER_REFLOW_RESET],\n\t\t});\n\t}\n\tif (showClear) {\n\t\tfooterActions.push({\n\t\t\tlabel: t('Clear'),\n\t\t\tvariant: 'secondary',\n\t\t\tdisabled: !canClear,\n\t\t\tclickActionType: [NOW_FILTER_REFLOW_CLEAR],\n\t\t});\n\t}\n\treturn footerActions;\n};\n\nexport const shouldShowSelectors = (filterType, elementType) =>\n\tfilterType === FILTER_TYPE_CHOICE && elementType === FILTER_ELEMENT_TYPE_SELECTORS;\n\nexport const view = ({\n\tcleared,\n\tdirty,\n\tdirtyBag,\n\tselectedIds,\n\tselectedItems,\n\tbehaviors,\n\tstart,\n\tend,\n\tdynamicTimeRange,\n\tproperties,\n\tbehaviors: { resize: { size: { width } } }\n}, { dispatch }) => {\n\tconst {\n\t\tnowId,\n\t\topened,\n\t\ttype,\n\t\titems,\n\t\tlistMode,\n\t\tsort,\n\t\ttargetSort,\n\t\tsearch,\n\t\tloading,\n\t\tloadingNextPage,\n\t\terrorMessage,\n\t\tenableClearFilter,\n\t\tenableResetToDefault,\n\t\tgetNotificationJsx,\n\t\thasMoreItems,\n\t\tallowTimeSelection,\n\t\tdateFilterView,\n\t\tdateRangePresets,\n\t\tisAvailableItemsImpacted,\n\t\tisSelectedItemsImpacted,\n\t\tfollowedFilterConfigurations,\n\t\tfollowingFilterConfigurations,\n\t\tlabel,\n\t\tpillVariant,\n\t\telementType,\n\t\telementLayout,\n\t\tisSelected\n\t} = properties;\n\tconst primaryActionLabel = properties.primaryActionLabel || t('Apply');\n\n\tconst handleCancel = () => {\n\t\tdispatch(NOW_FILTER__TOGGLED, { value: !opened });\n\t};\n\n\tconst handleApply = () => {\n\t\tdispatch(NOW_FILTER__APPLIED, dirtyBag);\n\t\tdispatch(NOW_FILTER__TOGGLED, { value: false });\n\t};\n\n\tconst handleClear = () => {\n\t\tdispatch(NOW_FILTER__CLEARED);\n\t};\n\n\tconst handleReset = () => {\n\t\tdispatch(NOW_FILTER__RESET_TO_DEFAULTS);\n\t\tdispatch(NOW_FILTER__TOGGLED, { value: false });\n\t};\n\n\tconst handlePillClicked = () => {\n\t\tdispatch(NOW_FILTER__TOGGLED, { value: true });\n\t};\n\n\tconst isBoolean = isBooleanFilter(type);\n\tconst isList = isListFilter(type);\n\tconst isDateRange = isDateFilter(type);\n\tconst isSingleListMode = listMode === FILTER_LIST_MODE_SINGLE;\n\tconst isMultiListMode = listMode === FILTER_LIST_MODE_MULTI;\n\n\tconst filterLabel = label || t('Filter');\n\tconst checkSelectedFilterElementType = () => {\n\t\t// TODO: Modularize this logic to simplify the filter and optimize the execution path.\n\t\t// non-popover filter UIs\n\t\tif (shouldShowSelectors(type, elementType) && isSingleListMode) {\n\t\t\treturn <par-filter-radiobuttons\n\t\t\t\tlabel={filterLabel}\n\t\t\t\titems={items}\n\t\t\t\tlayout={elementLayout}\n\t\t\t\tloading={loading}\n\t\t\t\tselectedItems={selectedItems}\n\t\t\t\tselectedIds={selectedIds}\n\t\t\t\terrorMessage={errorMessage}\n\t\t\t\thasMoreItems={hasMoreItems}\n\t\t\t/>;\n\t\t} else if (shouldShowSelectors(type, elementType) && isMultiListMode) {\n\t\t\treturn <par-filter-checkboxes\n\t\t\t\tlabel={filterLabel}\n\t\t\t\titems={items}\n\t\t\t\tlayout={elementLayout}\n\t\t\t\tloading={loading}\n\t\t\t\tselectedItems={selectedItems}\n\t\t\t\tselectedIds={selectedIds}\n\t\t\t\terrorMessage={errorMessage}\n\t\t\t\tshowReset={enableResetToDefault}\n\t\t\t\tonReset={handleReset}\n\t\t\t\tprimaryActionLabel={primaryActionLabel}\n\t\t\t/>;\n\t\t} else if (elementType === FILTER_ELEMENT_TYPE_TYPEAHEAD &&\n\t\t\tisList && isMultiListMode) {\n\t\t\treturn <par-filter-typeahead\n\t\t\t\tlabel={filterLabel}\n\t\t\t\tariaLabel={filterLabel}\n\t\t\t\titems={items}\n\t\t\t\tselectedItems={selectedItems}\n\t\t\t\thasMoreItems={hasMoreItems}\n\t\t\t\tloading={loading}\n\t\t\t\tsearch={search}\n\t\t\t\terrorMessage={errorMessage} />;\n\t\t}\n\n\t\tconst appliedCount = getAppliedCount(selectedIds);\n\t\tconst itemsForContent = getAppliedItems(type, items, selectedIds, selectedItems);\n\t\tconst buttonContent = computeButtonContent(type, itemsForContent, start, end, dynamicTimeRange, dateRangePresets, allowTimeSelection);\n\t\tif (isBoolean) {\n\t\t\treturn (\n\t\t\t\t<par-filter-boolean\n\t\t\t\t\titems={items}\n\t\t\t\t\tselectedIds={selectedIds}\n\t\t\t\t\tfilterType={type}\n\t\t\t\t\tfilterListMode={listMode}\n\t\t\t\t\tlabel={filterLabel}\n\t\t\t\t\tcontent={buttonContent}\n\t\t\t\t\tbadgeContent={appliedCount}\n\t\t\t\t\tvariant={pillVariant}\n\t\t\t\t\tisSelected={isSelected}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\t// popover filter UI\n\t\tconst popupStyles = {\n\t\t\tminWidth: isSingleListMode ? '340px' :\n\t\t\t\tdateFilterView === 'reldates-only' ? '320px' :\n\t\t\t\t\tisDateRange ? '100%' : '560px',\n\t\t\tmaxWidth: isSingleListMode ? '600px' : '850px',\n\t\t\theight: isList ? '536px' : 'auto',\n\t\t\toverflow: 'auto'\n\t\t};\n\n\t\tconst isUnconfigured = !type;\n\t\tconst canClear = isList || isBoolean ? appliedCount > 0 && !cleared : (start && end);\n\n\t\tconst badgeContent = computeBadgeContent(type, appliedCount, start);\n\n\t\tconst isReflowActive = behaviors.mediaQuery?.smallQuery;\n\n\t\tconst getPopupContent = () => {\n\n\t\t\tif (isUnconfigured || errorMessage) {\n\t\t\t\treturn (\n\t\t\t\t\t<now-template-message-empty-state\n\t\t\t\t\t\talignment=\"vertical-centered\"\n\t\t\t\t\t\theading={{\n\t\t\t\t\t\t\tlabel: isUnconfigured ? t('Unconfigured content') : errorMessage,\n\t\t\t\t\t\t\tlevel: '3'\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tillustration=\"unconfigured\">\n\t\t\t\t\t</now-template-message-empty-state>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (isDateRange) {\n\t\t\t\treturn (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<div data-testNotification>\n\t\t\t\t\t\t\t{getNotificationJsx && getNotificationJsx()}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<par-filter-daterange-content\n\t\t\t\t\t\t\tstart={start}\n\t\t\t\t\t\t\tend={end}\n\t\t\t\t\t\t\tsort={sort}\n\t\t\t\t\t\t\tallowTimeSelection={allowTimeSelection}\n\t\t\t\t\t\t\tdateRangePresets={dateRangePresets}\n\t\t\t\t\t\t\tdynamicTimeRange={dynamicTimeRange}\n\t\t\t\t\t\t\tdateFilterView={dateFilterView}\n\t\t\t\t\t\t\tisModal={Boolean(isReflowActive)}\n\t\t\t\t\t\t\tdirty={dirty}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<par-filter-list-content\n\t\t\t\t\tcleared={cleared}\n\t\t\t\t\tlistMode={listMode}\n\t\t\t\t\tsort={sort}\n\t\t\t\t\ttargetSort={targetSort}\n\t\t\t\t\tsearch={search}\n\t\t\t\t\titems={items}\n\t\t\t\t\tselectedIds={selectedIds}\n\t\t\t\t\tselectedItems={selectedItems}\n\t\t\t\t\tloading={loading}\n\t\t\t\t\tloadingNextPage={loadingNextPage}\n\t\t\t\t\terrorMessage={errorMessage}\n\t\t\t\t\tdirty={dirty}\n\t\t\t\t\tgetNotificationJsx={getNotificationJsx}\n\t\t\t\t\thasMoreItems={hasMoreItems}\n\t\t\t\t\timpacted={isAvailableItemsImpacted || isSelectedItemsImpacted}\n\t\t\t\t\tfollowedFilterConfigurations={followedFilterConfigurations}\n\t\t\t\t\tfollowingFilterConfigurations={followingFilterConfigurations}\n\t\t\t\t\tisReflowActive={isReflowActive}\n\t\t\t\t/>\n\t\t\t);\n\t\t};\n\n\t\tif (isReflowActive && (isDateRange || isSingleListMode || isMultiListMode)) {\n\t\t\treturn (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<now-modal\n\t\t\t\t\t\topened={opened}\n\t\t\t\t\t\theader-label={filterLabel}\n\t\t\t\t\t\tsize='lg'\n\t\t\t\t\t\tfooterActions={createFooterActions(primaryActionLabel, enableClearFilter, canClear, enableResetToDefault, dirty)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{opened && getPopupContent()}\n\t\t\t\t\t</now-modal>\n\t\t\t\t\t<par-filter-pill-variant\n\t\t\t\t\t\tfilterType={type}\n\t\t\t\t\t\tfilterListMode={listMode}\n\t\t\t\t\t\tactive={opened}\n\t\t\t\t\t\tbadgeContent={badgeContent}\n\t\t\t\t\t\tlabel={filterLabel}\n\t\t\t\t\t\tcontent={buttonContent}\n\t\t\t\t\t\tvariant={pillVariant}\n\t\t\t\t\t\ttooltipEvaluatorTrigger={width}\n\t\t\t\t\t\ton-click={() => handlePillClicked()}\n\t\t\t\t\t\tisSelected={isSelected}\n\t\t\t\t\t/>\n\t\t\t\t</Fragment>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<now-popover\n\t\t\t\tappend-to-meta={{ identifier: 'par-filter-main-popover' }}\n\t\t\t\tmanageOpened\n\t\t\t\topened={opened}\n\t\t\t\tpositionTarget={`@${nowId}-filter-pill/buttonRef`}\n\t\t\t\tpositions={[\n\t\t\t\t\t{ target: 'bottom-start', content: 'top-start' },\n\t\t\t\t\t{ target: 'bottom-end', content: 'top-end' },\n\t\t\t\t\t{ target: 'top-start', content: 'bottom-start' },\n\t\t\t\t\t{ target: 'top-end', content: 'bottom-end' },\n\t\t\t\t]}\n\t\t\t\tconfigAria={{\n\t\t\t\t\tpanel: {\n\t\t\t\t\t\t'aria-label': t('{filterLabel} filter', { filterLabel }),\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<par-filter-pill-variant\n\t\t\t\t\tcomponent-id={`${nowId}-filter-pill`}\n\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\tfilterType={type}\n\t\t\t\t\tfilterListMode={listMode}\n\t\t\t\t\tactive={opened}\n\t\t\t\t\tbadgeContent={badgeContent}\n\t\t\t\t\tlabel={filterLabel}\n\t\t\t\t\tcontent={buttonContent}\n\t\t\t\t\tvariant={pillVariant}\n\t\t\t\t\ttooltipEvaluatorTrigger={width}\n\t\t\t\t\tisSelected={isSelected}\n\t\t\t\t/>\n\n\t\t\t\t{opened ? (\n\t\t\t\t\t<par-filter-popup\n\t\t\t\t\t\t// This is agreed exception because styles must be inlined in order for them to be picked by Seismic hoisting\n\t\t\t\t\t\t// nds-scanner-disable-next-line inline-styles\n\t\t\t\t\t\tstyle={popupStyles}\n\t\t\t\t\t\tslot=\"content\"\n\t\t\t\t\t\tdirty={dirty}\n\t\t\t\t\t\tcanClear={canClear}\n\t\t\t\t\t\tshowClear={enableClearFilter}\n\t\t\t\t\t\tshowReset={enableResetToDefault}\n\t\t\t\t\t\tprimaryActionLabel={primaryActionLabel}\n\t\t\t\t\t\tonClose={handleCancel}\n\t\t\t\t\t\tonApply={handleApply}\n\t\t\t\t\t\tonClear={handleClear}\n\t\t\t\t\t\tonReset={handleReset}\n\t\t\t\t\t\tdateFilterView={dateFilterView}\n\t\t\t\t\t>\n\t\t\t\t\t\t{/* The now-popover seems to dislike abrupt changes in its \"content\" component or */}\n\t\t\t\t\t\t{/* in the corresponding slotted content. To prevent timing issues with the popover, we wrap the dynamic */}\n\t\t\t\t\t\t{/* part of the popup content in a static div. */}\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t// nds-scanner-disable-next-line inline-styles\n\t\t\t\t\t\t\tstyle={popupStyles}>\n\t\t\t\t\t\t\t{getPopupContent()}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</par-filter-popup>\n\t\t\t\t) : ''}\n\t\t\t</now-popover>\n\t\t);\n\t};\n\n\treturn checkSelectedFilterElementType();\n};\n","import track from '@devsnc/ux-metrics';\n\nconst TEL_FILTER_VIEW = 'Filter View';\nconst TEL_FILTER_INTERACTION = 'Filter Interaction';\n\n/**\n * @param {Coeffects<any, any>} coeffects \n * @param {*} eventProperties \n */\nexport const trackFilterView = (coeffects, eventProperties) => {\n\ttrack(coeffects, TEL_FILTER_VIEW, eventProperties);\n};\n\n/**\n * @param {Coeffects<any, any>} coeffects \n * @param {string} interactionType \n * @param {*} type \n */\nconst trackInteraction = (coeffects, interactionType, type) => {\n\tconst finalProperties = {\n\t\t[interactionType]: type\n\t};\n\ttrack(coeffects, TEL_FILTER_INTERACTION, finalProperties);\n};\n\n/**\n * @param {Coeffects<any, any>} coeffects \n * @param {string} interactionType \n */\nexport const trackFilterAppliedInteraction = (coeffects, interactionType) => {\n\tconst { properties } = coeffects;\n\tconst type = properties?.filterComponentType || 'unknown';\n\ttrackInteraction(coeffects, interactionType, type);\n};\n\n/**\n * @param {Coeffects<any, any>} coeffects \n * @param {string} interactionType \n */\nexport const trackFilterInteraction = (coeffects, interactionType) => {\n\tconst { properties } = coeffects;\n\tconst type = properties?.type || 'unknown';\n\ttrackInteraction(coeffects, interactionType, type);\n};\n","// @ts-nocheck\nimport { t } from 'sn-translate';\nimport styles from './boolean.scss';\nimport { forwardAction } from 'sn-par-filter-common';\nimport { PAR_PILL_VARIANT_RENDERED } from '../pill-variant/pill-variant';\nconst NOW_BOOLEAN__VALUE_SET = 'NOW_DROPDOWN_CUSTOM_TARGET#SELECTED_ITEMS_SET';\nexport const PAR_FILTER_BOOLEAN__VALUE_SET = 'PAR_FILTER_BOOLEAN#VALUE_SET';\n\n\nfunction setInitialState() {\n\treturn {\n\t\tactive: false,\n\t\tbuttonRef: null\n\t};\n}\n\nexport const addEmptyOption = (items) => {\n\treturn [{ id: 'empty', label: t('(Empty)') }, ...items];\n};\n\nexport const view = (state) => {\n\tconst {\n\t\tactive,\n\t\tbuttonRef,\n\t\tproperties: {\n\t\t\titems,\n\t\t\tfilterType,\n\t\t\tselectedIds,\n\t\t\tfilterListMode,\n\t\t\tlabel,\n\t\t\tcontent,\n\t\t\tvariant,\n\t\t\tbadgeContent,\n\t\t\tisSelected\n\t\t}\n\t} = state;\n\n\tconst itemsWithEmptyOption = addEmptyOption(items);\n\n\treturn (\n\t\t<now-dropdown-custom-target\n\t\t\titems={itemsWithEmptyOption}\n\t\t\tselectedItems={selectedIds}\n\t\t\tselect={'single'}\n\t\t\tmanageSelectedItems={true}\n\t\t\tpanelFitProps={{ container: buttonRef, offset: 2, constrain: { minWidth: 150, maxWidth: 'target' } }}\n\t\t>\n\t\t\t<par-filter-pill-variant\n\t\t\t\tslot=\"trigger\"\n\t\t\t\tfilterType={filterType}\n\t\t\t\tfilterListMode={filterListMode}\n\t\t\t\tactive={active}\n\t\t\t\tbadgeContent={badgeContent}\n\t\t\t\tlabel={label}\n\t\t\t\tcontent={content}\n\t\t\t\tvariant={variant}\n\t\t\t\tisSelected={isSelected}\n\t\t\t/>\n\t\t</now-dropdown-custom-target>\n\t);\n};\n\nexport const boolean = {\n\tsetInitialState,\n\tproperties: {\n\t\titems: [],\n\t\tfilterType: '',\n\t\tfilterListMode: '',\n\t\tselectedIds: [],\n\t\tlabel: '',\n\t\tcontent: '',\n\t\tvariant: '',\n\t\tbadgeContent: 0,\n\t\tisSelected: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t},\n\t\t}\n\t},\n\tview,\n\tstyles,\n\tactionHandlers: {\n\t\t...forwardAction(NOW_BOOLEAN__VALUE_SET, PAR_FILTER_BOOLEAN__VALUE_SET),\n\t\t['NOW_DROPDOWN_CUSTOM_TARGET#OPENED_SET']({ action, updateState }) {\n\t\t\taction.stopPropagation();\n\t\t\tupdateState({ active: action.payload.value });\n\t\t},\n\t\t[PAR_PILL_VARIANT_RENDERED]({ action, updateState }) {\n\t\t\taction.stopPropagation();\n\t\t\tconst { value } = action.payload;\n\t\t\tupdateState({\n\t\t\t\tbuttonRef: value.buttonRef\n\t\t\t});\n\t\t},\n\t},\n};\n","// @ts-nocheck\nimport { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport { forwardAction } from 'sn-par-filter-common';\nimport {\n\tNOW_FILTER__TOGGLED,\n\tNOW_FILTER__APPLIED,\n\tNOW_FILTER__RESET_TO_DEFAULTS,\n\tNOW_FILTER__SET_DIRTY,\n\tNOW_FILTER__CLEARED,\n\tNOW_FILTER_REFLOW_APPLIED,\n\tNOW_FILTER_REFLOW_CANCEL,\n\tNOW_FILTER_REFLOW_CLEAR,\n\tNOW_FILTER_REFLOW_RESET,\n\tFILTER_PILL_VARIANTS,\n\tFILTER_TYPES,\n\tFILTER_LIST_MODES,\n\tFILTER_LIST_MODE_MULTI,\n\tFILTER_PILL_VARIANT_CLASSIC,\n\tFILTER_ELEMENT_TYPES,\n\tFILTER_ELEMENT_LAYOUTS,\n\tFILTER_ELEMENT_TYPE_PILL,\n\tNOW_FILTER__QUERIED,\n} from './constants';\nimport { PAR_FILTER_LIST_SINGLE__DBLCLICK } from './list-content/list-single/index';\nimport behaviors from './behaviors';\nimport { view, shouldShowSelectors } from './filter-view';\nimport styles from './filter.scss';\nimport { trackFilterInteraction } from '../helpers/telemetry-util';\nimport { PAR_FILTER_RADIOBUTTONS__VALUE_SET } from './radiobuttons';\nimport { PAR_FILTER_BOOLEAN__VALUE_SET } from './boolean/boolean';\nimport { PAR_FILTER_CHECKBOXES__CHECKED_SET } from './checkboxes';\n\nimport {\n\tPAR_FILTER_TYPEAHEAD__ITEMS_SET,\n\tPAR_FILTER_TYPEAHEAD__LIST_TOGGLED,\n\tPAR_FILTER_TYPEAHEAD__VALUE_SET\n} from './typeahead';\n\nconst properties = {\n\t/**\n\t * Filter label to display in a pill.\n\t * @type {string}\n\t */\n\tlabel: {},\n\n\t/**\n\t * Type of filter. Options include:\n\t * - `choice`: Renders a multi or single select list of items.\n\t * - `daterange`: Renders a calendar to select a custom range, and a list of predefined date range presets to select from.\n\t * - `boolean`: Renders a single select list designed for boolean selection.\n\t * @type {('choice'|'daterange'|'boolean')}\n\t */\n\ttype: {\n\t\tschema: {\n\t\t\ttype: 'string',\n\t\t\tenum: FILTER_TYPES,\n\t\t},\n\t},\n\n\t/**\n\t * Type of choice filter when the `type` property is choice.\n\t * Options include:\n\t * - `multi`: Lets users select multiple options from a list of choices.\n\t * - `single`: Lets users select a single option from a list of options.\n\t * @type {('multi'|'single')}\n\t */\n\tlistMode: {\n\t\tdefault: FILTER_LIST_MODE_MULTI,\n\t\tschema: {\n\t\t\ttype: 'string',\n\t\t\tenum: FILTER_LIST_MODES,\n\t\t},\n\t},\n\n\t/**\n\t * Sorting direction used for ordering the items in the dropdown.\n\t * Used when the `type` property is choice.\n\t * @type {('ASC'|'DESC')}\n\t */\n\tsort: {\n\t\tdefault: 'ASC',\n\t\tschema: {\n\t\t\ttype: 'string',\n\t\t\tenum: [\n\t\t\t\t'ASC',\n\t\t\t\t'DESC',\n\t\t\t],\n\t\t},\n\t},\n\n\t/**\n\t * Sorting direction used for ordering the applied items in the dropdown.\n\t * Used when the `type` property is choice.\n\t * @type {('ASC'|'DESC')}\n\t */\n\ttargetSort: {\n\t\tdefault: 'ASC',\n\t\tschema: {\n\t\t\ttype: 'string',\n\t\t\tenum: [\n\t\t\t\t'ASC',\n\t\t\t\t'DESC',\n\t\t\t],\n\t\t},\n\t},\n\n\t/**\n\t * Preset date range values that can be applied.\n\t * Used when the `type` property is daterange.\n\t * @type {Array.<{string: label, range?: string}>}\n\t */\n\tdateRangePresets: {},\n\n\t/**\n\t * Applied searching expression.\n\t * Used when the `type` property is choice.\n\t * @type {string}\n\t */\n\tsearch: {},\n\n\t/**\n\t * An array of `FilterItem` items.\n\t * Used when the `type` property is choice or boolean.\n\t * @type {(Array.<FilterItem>)}\n\t */\n\titems: {},\n\n\t/**\n\t * Flag toggles lazy-loading behavior.\n\t * If activated then the items array is expected to not contain all available items initially\n\t * but only from beginning to some limit.\n\t * Whenever user scrolls down or in a different way indicates the need for more items then the component\n\t * will dispatch NOW_FILTER#MORE_ITEMS_REQUESTED action.\n\t */\n\thasMoreItems: {\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * An array of IDs representing selected filter items.\n\t * Used when the `type` property is choice.\n\t * @type {Array.<string>}\n\t */\n\tselectedIds: {},\n\n\t/**\n\t * An array of items representing selected filter items.\n\t * Used when the `type` property is choice.\n\t * Used in situation when lazyloading is enabled with `hasMoreItems` property in order to\n\t * provide items labels becase there are no labels in `selectedIds` property.\n\t * @type {Array.<{id: string, label: string}>}\n\t */\n\tselectedItems: {\n\t\tdefault: []\n\t},\n\n\t/**\n\t * When true, items are in the loading process and\n\t * a loading indicator displays to the user.\n\t * Used when the `type` property is choice.\n\t * @type {boolean}\n\t */\n\tloading: {},\n\n\t/**\n\t * Accompanying flag to `loading`. If both of them true then it means that next page of data is loading.\n\t * Used when the `type` property is choice.\n\t * @type {boolean}\n\t */\n\tloadingNextPage: {},\n\n\t/**\n\t * Error message displayed in case of failure when initializing items.\n\t * Used when the `type` property is choice.\n\t * @type {string}\n\t */\n\terrorMessage: {},\n\n\t/**\n\t * Start date of selected interval in YYYY-MM-DD format.\n\t * Used when the `type` property is daterange.\n\t * @type {string}\n\t */\n\tstart: {},\n\n\t/**\n\t * End date of selected interval in YYYY-MM-DD format.\n\t * Used when the `type` property is daterange.\n\t * @type {string}\n\t */\n\tend: {},\n\n\t/**\n\t * Allows user to enter time for date range filter.\n\t */\n\tallowTimeSelection: {},\n\n\t/**\n\t * Allows user to choose how calendar view will be displayed\n\t * @type {('calendar-reldates'|'calendar-only'|'reldates-only')=}\n\t */\n\tdateFilterView: {},\n\n\t/**\n\t * Constant defining dynamic date range.\n\t * Used when the `type` property is daterange.\n\t * @type {{label: string, range: string | undefined}}\n\t */\n\tdynamicTimeRange: {},\n\n\t/**\n\t * When true, the dropdown is open.\n\t * Automatically updates when the user opens or closes the dropdown.\n\t * @type {boolean}\n\t */\n\topened: {\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Enables (by default is on) availability of clear filter button\n\t * Applicable for all filter types.\n\t * @type {boolean}\n\t */\n\tenableClearFilter: {\n\t\tdefault: true,\n\t},\n\n\t/**\n\t * Enables (by default is off) availability of reset filter button.\n\t * This action applies default values (from `defaultValues` prop) to the filter.\n\t * Applicable for all filter types.\n\t * @type {boolean}\n\t */\n\tenableResetToDefault: {},\n\n\t/**\n\t * Label for the primary action button in the filter component popover.\n\t * @type {string}\n\t */\n\tprimaryActionLabel: {\n\t\tschema: {\n\t\t\ttype: 'string'\n\t\t}\n\t},\n\n\t/**\n\t * Optional function which can return JSX markup for displaying some notification message for the user, typically an alert.\n\t * @type {function}\n\t */\n\tgetNotificationJsx: {},\n\n\t/**\n\t * Whether available items are impacted by filters current filter follows\n\t * @type {boolean}\n\t */\n\tisAvailableItemsImpacted: {\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Whether selected items are impacted by filters current filter follows\n\t * @type {boolean}\n\t */\n\tisSelectedItemsImpacted: {\n\t\tdefault: false,\n\t},\n\n\tfollowedFilterConfigurations: {},\n\n\tfollowingFilterConfigurations: {},\n\n\t/**\n\t * Filter pill UI variant\n\t * @type {('classic'|'alternative')=}\n\t */\n\tpillVariant: {\n\t\tdefault: FILTER_PILL_VARIANT_CLASSIC,\n\t\tschema: {\n\t\t\ttype: 'string',\n\t\t\tenum: FILTER_PILL_VARIANTS,\n\t\t},\n\t},\n\n\t/**\n\t * Type of UI Element to use for filter\n\t * @type {PropDefinition<'pill'|'selectors'|'typeahead'>}\n\t */\n\telementType: {\n\t\tdefault: FILTER_ELEMENT_TYPE_PILL,\n\t\tschema: {\n\t\t\ttype: 'string',\n\t\t\tenum: FILTER_ELEMENT_TYPES\n\t\t},\n\t},\n\n\t/**\n\t * Filter element type radio buttons or checkbox\n\t * Layout can be vertical or horizontal\n\t * @type {PropDefinition<'vertical'|'horizontal'>}\n\t */\n\telementLayout: {\n\t\tschema: {\n\t\t\ttype: 'string',\n\t\t\tenum: FILTER_ELEMENT_LAYOUTS\n\t\t},\n\t},\n\n\t/**\n\t * Indicates whether this filter should visually appear as selected.\n\t * @type {PropDefinition<boolean>}\n\t */\n\tisSelected: {\n\t\tdefault: false,\n\t\tschema: {\n\t\t\ttype: 'boolean'\n\t\t}\n\t}\n};\n\nconst initialState = {\n\tdirty: false,\n\tdirtyBag: {},\n\tselectedIds: null,\n\tcleared: false,\n\treFlowActive: false,\n\tstart: null,\n\tend: null,\n\tdynamicTimeRange: null,\n\ttooltipRegistered: false,\n};\n\n\n/**\n * Filter component that allows users to select a single option, multiple options, or a date range.\n *\n * ```jsx\n * <now-filter\n *   label=\"Filter\"\n *   type=\"choice\"\n *   listMode=\"multi\"\n *   items={[{label: 'Bread', id: 'BREAD'}, {label: 'Water', id: 'WATER'}]}\n *   selectedIds={['BREAD']}\n * />\n *\n * <now-filter\n *   label=\"Filter\"\n *   type=\"range\"\n *   start=\"2020-08-05\",\n *   end=\"2020-09-15\"\n * />\n * ```\n * @seismicElement now-filter\n * @summary Filter component that renders a dropdown with options.\n */\ncreateCustomElement('now-filter', {\n\tproperties,\n\tinitialState,\n\tbehaviors,\n\ttransformState(state) {\n\t\tconst {\n\t\t\tselectedIds, start, end, properties,\n\t\t} = state;\n\n\t\tif (selectedIds !== null || (start !== null && end !== null)) {\n\t\t\treturn state;\n\t\t}\n\n\t\treturn {\n\t\t\t...state,\n\t\t\tselectedIds: properties.selectedIds,\n\t\t\tselectedItems: properties.selectedItems,\n\t\t\tstart: properties.start,\n\t\t\tend: properties.end,\n\t\t\tdynamicTimeRange: properties.dynamicTimeRange,\n\n\t\t};\n\t},\n\tactionHandlers: {\n\t\t[actionTypes.COMPONENT_BOOTSTRAPPED]({ dispatch, updateState, properties }) {\n\t\t\tconst { type, elementType } = properties;\n\n\t\t\tupdateState({\n\t\t\t\treFlowActive: Boolean(window.innerWidth <= 320),\n\t\t\t});\n\n\t\t\t// When filter starts off as a selector, we need to make sure to \"toggle\" the filter to active / opened state.\n\t\t\t// When used in the context of the filter-connected, this will trigger data fetching.\n\t\t\t// Note: at the moment single select selectors (radiobuttons) and multi select selectors (checkboxes) are supported\n\t\t\tif (shouldShowSelectors(type, elementType)) {\n\t\t\t\tdispatch(NOW_FILTER__TOGGLED, { value: true });\n\t\t\t}\n\t\t},\n\n\t\t[actionTypes.COMPONENT_PROPERTY_CHANGED]({ action, dispatch, properties }) {\n\t\t\tconst { payload: { name } } = action;\n\t\t\tconst { type, elementType } = properties;\n\t\t\tif (['type', 'elementType', 'listMode'].includes(name)) {\n\t\t\t\tif (shouldShowSelectors(type, elementType) && !properties.opened) {\n\t\t\t\t\t// When selectors are shown, we need to make sure to \"toggle\" the filter to active / opened state.\n\t\t\t\t\t// When used in the context of the filter-connected, this will trigger data fetching.\n\t\t\t\t\t// Note: at the moment single select selectors (radiobuttons) and multi select selectors (checkboxes) are supported\n\t\t\t\t\tdispatch(NOW_FILTER__TOGGLED, { value: true });\n\t\t\t\t} else if (properties.opened) {\n\t\t\t\t\t// For other types of filter elements, the filter starts off inactive / closed state.\n\t\t\t\t\tdispatch(NOW_FILTER__TOGGLED, { value: false });\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t'NOW_POPOVER#OPENED_SET': ({ action, dispatch }) => {\n\t\t\tconst { payload: { value } } = action;\n\t\t\tconst { identifier } = action.meta.appended ?? {};\n\n\t\t\tif (identifier === 'par-filter-main-popover') {\n\t\t\t\tdispatch(NOW_FILTER__TOGGLED, { value });\n\t\t\t}\n\t\t},\n\n\t\t'NOW_MODAL#OPENED_SET': ({ action, dispatch }) => {\n\t\t\tconst { payload: { value } } = action;\n\t\t\tdispatch(NOW_FILTER__TOGGLED, { value });\n\t\t},\n\n\t\t[NOW_FILTER_REFLOW_RESET]: ({ dispatch }) => {\n\t\t\tdispatch(NOW_FILTER__RESET_TO_DEFAULTS);\n\t\t\tdispatch(NOW_FILTER__TOGGLED, { value: false });\n\t\t},\n\n\t\t[NOW_FILTER_REFLOW_APPLIED]: ({ dispatch, state }) => {\n\t\t\tconst { dirtyBag } = state;\n\t\t\tdispatch(NOW_FILTER__APPLIED, dirtyBag);\n\t\t\tdispatch(NOW_FILTER__TOGGLED, { value: false });\n\t\t},\n\n\t\t[NOW_FILTER__TOGGLED](coeffects) {\n\t\t\tconst { action, updateProperties, updateState } = coeffects;\n\n\t\t\tconst { payload: { value } } = action;\n\n\t\t\tupdateProperties({\n\t\t\t\topened: value,\n\t\t\t});\n\n\t\t\tif (!value) {\n\t\t\t\tupdateState({\n\t\t\t\t\tcleared: false,\n\t\t\t\t\tdirty: false,\n\t\t\t\t\tdirtyBag: {},\n\t\t\t\t\tselectedIds: null,\n\t\t\t\t\tstart: null,\n\t\t\t\t\tend: null,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst interactionType = value ? 'Filter opened' : 'Filter closed';\n\t\t\ttrackFilterInteraction(coeffects, interactionType);\n\t\t},\n\n\t\t[NOW_FILTER__SET_DIRTY]({ action, updateState }) {\n\t\t\tconst { payload: { dirty, dirtyBag } } = action;\n\t\t\tupdateState({ dirty, dirtyBag });\n\t\t},\n\n\t\t[NOW_FILTER__CLEARED](coeffects) {\n\t\t\tconst { dispatch, updateState, properties } = coeffects;\n\t\t\tconst { type } = properties;\n\t\t\tconst dirtyBag = type === 'daterange'\n\t\t\t\t? { start: undefined, end: undefined }\n\t\t\t\t: { selectedIds: undefined, selectedItems: undefined };\n\t\t\tconst props = type === 'daterange' ? { start: undefined, end: undefined } : {};\n\n\t\t\tupdateState({\n\t\t\t\tcleared: true,\n\t\t\t\tdirty: true,\n\t\t\t\tdirtyBag,\n\t\t\t\t...props,\n\t\t\t});\n\n\t\t\tdispatch(NOW_FILTER__APPLIED, dirtyBag);\n\t\t\tdispatch(NOW_FILTER__TOGGLED, { value: false });\n\t\t\ttrackFilterInteraction(coeffects, 'Clear filter');\n\t\t},\n\n\t\t[PAR_FILTER_LIST_SINGLE__DBLCLICK](coeffects) {\n\t\t\tconst { state, dispatch } = coeffects;\n\t\t\tdispatch(NOW_FILTER__APPLIED, state.dirtyBag);\n\t\t\tdispatch(NOW_FILTER__TOGGLED, { value: false });\n\t\t\ttrackFilterInteraction(coeffects, 'Applied by Double click');\n\t\t},\n\t\t...forwardAction(NOW_FILTER_REFLOW_CLEAR, NOW_FILTER__CLEARED),\n\t\t...forwardAction(NOW_FILTER_REFLOW_CANCEL, NOW_FILTER__TOGGLED, undefined, undefined),\n\t\t...forwardAction(PAR_FILTER_RADIOBUTTONS__VALUE_SET, NOW_FILTER__APPLIED, undefined, ({ value }, { properties }) => ({\n\t\t\tselectedItems: properties.items.filter((item) => item.id === value),\n\t\t\tselectedIds: [value]\n\t\t})),\n\t\t...forwardAction(PAR_FILTER_CHECKBOXES__CHECKED_SET, NOW_FILTER__APPLIED, undefined, ({ value }) => ({\n\t\t\tselectedIds: value\n\t\t})),\n\t\t...forwardAction(PAR_FILTER_TYPEAHEAD__VALUE_SET, NOW_FILTER__QUERIED, undefined, ({ value }) => ({ search: value })),\n\t\t...forwardAction(PAR_FILTER_TYPEAHEAD__ITEMS_SET, NOW_FILTER__APPLIED, undefined,\n\t\t\t({ value }) => ({\n\t\t\t\tselectedItems: value,\n\t\t\t\tselectedIds: value.map((item) => item.id)\n\t\t\t})),\n\t\t...forwardAction(PAR_FILTER_TYPEAHEAD__LIST_TOGGLED, NOW_FILTER__TOGGLED, undefined, (payload) => ({\n\t\t\t...payload,\n\t\t\tkeepSearchTerm: true\n\t\t})),\n\t\t[PAR_FILTER_BOOLEAN__VALUE_SET]({ action, dispatch, properties }) {\n\t\t\taction.stopPropagation();\n\t\t\tconst { payload: { value } } = action;\n\t\t\t//This value item will always be a one item array as the drop-down target is set to single selection only.\n\t\t\tconst selectedIds = value[0];\n\t\t\tconst payload = {\n\t\t\t\tselectedItems: selectedIds === 'empty' ? [] : properties.items.filter((item) => item.id === selectedIds),\n\t\t\t\tselectedIds: selectedIds === 'empty' ? [] : [selectedIds]\n\t\t\t};\n\t\t\tdispatch(NOW_FILTER__APPLIED, payload);\n\t\t},\n\t},\n\tstyles,\n\tview,\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the user applies a filter. Payload contains\n\t\t * an object with applied filter information depending on the filter type.\n\t\t * Handle this action and update the properties to received values\n\t\t * to apply the filter.\n\t\t * @type {({start: string, end: string, dynamicTimeRange: string} | {selectedIds: Array<string>, selectedItems: Array<FilterItem>})}}\n\t\t */\n\t\t'NOW_FILTER#APPLIED': {},\n\n\t\t/**\n\t\t * Dispatched when the dropdown menu is opened or closed.\n\t\t * Payload contains a boolean of true when the dropdown is opened or false when the dropdown is closed.\n\t\t * @type {{value: boolean}}\n\t\t */\n\t\t'NOW_FILTER#TOGGLED': {},\n\n\t\t/**\n\t\t * Dispatched when the user types the search expression (for single and multi selects).\n\t\t * Payload contains a string containing user input.\n\t\t * Handle this action and update the `search` property to the received value\n\t\t * to apply the search.\n\t\t * @type {{value: boolean}}\n\t\t */\n\t\t'NOW_FILTER#QUERIED': {},\n\n\t\t/**\n\t\t * Dispatched when the user clicks the sort button in the list.\n\t\t * Payload contains a string containing the sort direction.\n\t\t * Handle this action and update the `sort` property to the received value\n\t\t * to apply the sorting.\n\t\t * @type {{value: string}}\n\t\t */\n\t\t'NOW_FILTER#SORTED': {},\n\n\t},\n});\n","// @ts-nocheck\nimport { t } from 'sn-translate';\nimport styles from './popup.scss';\n\nexport const popupView = ({ properties }) => {\n\tconst {\n\t\tdirty,\n\t\tcanClear,\n\t\tshowClear,\n\t\tshowReset,\n\t\tprimaryActionLabel,\n\t\tonClose,\n\t\tonApply,\n\t\tonClear,\n\t\tonReset,\n\t} = properties;\n\n\treturn (\n\t\t<div className=\"popup\">\n\t\t\t<slot />\n\t\t\t<div className=\"button-container\">\n\t\t\t\t<div className=\"left-button-group\">\n\t\t\t\t\t{showClear ? (\n\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\tdata-testClearButton\n\t\t\t\t\t\t\tclassName=\"button\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tlabel={t('Clear')}\n\t\t\t\t\t\t\tdisabled={!canClear}\n\t\t\t\t\t\t\ton-click={onClear}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{showReset ? (\n\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\tdata-testResetButton\n\t\t\t\t\t\t\tclassName=\"button\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tlabel={t('Reset')}\n\t\t\t\t\t\t\ton-click={onReset}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t\t<div className=\"right-button-group\">\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tdata-testCancelButton\n\t\t\t\t\t\tclassName=\"button\"\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tlabel={t('Cancel')}\n\t\t\t\t\t\ton-click={onClose}\n\t\t\t\t\t/>\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tdata-testApplyButton\n\t\t\t\t\t\tclassName=\"button\"\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tlabel={primaryActionLabel}\n\t\t\t\t\t\tdisabled={!dirty}\n\t\t\t\t\t\ton-click={onApply}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport const popup = {\n\tproperties: {\n\t\tdirty: {},\n\t\tcanClear: {},\n\t\tshowClear: {},\n\t\tshowReset: {},\n\t\tprimaryActionLabel: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\tonClose: {},\n\t\tonApply: {},\n\t\tonClear: {},\n\t\tonReset: {},\n\t\tdateFilterView: {},\n\t},\n\tview: popupView,\n\tstyles,\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { popup } from './popup';\n\ncreateCustomElement('par-filter-popup', popup);\n","import moment from 'moment';\n\n/**\n * @param {string | moment.Moment} date\n * @returns {moment.Moment | undefined}\n */\nexport const toMoment = (date) => (date ? moment(date) : undefined);\n\n/**\n * @param {moment.Moment} m\n * @returns {string}\n */\nexport const toDateTimeString = (m) => moment(m).format('YYYY-MM-DD HH:mm:ss');\n\n\n/**\n * @param {moment.Moment} m\n * @returns {string}\n */\nexport const toDateString = (m) => moment(m).format('YYYY-MM-DD');\n","// @ts-nocheck\nimport { createCustomElement } from '@servicenow/ui-core';\n\nimport { today } from '../helpers';\nimport { forwardAction } from 'sn-par-filter-common';\nimport { toDateString, toDateTimeString, toMoment } from './helpers';\nimport styles from './daterange-panel.scss';\n\nexport const PAR_FILTER_DATERANGE_PANEL__VALUE_SET = 'PAR_FILTER_DATERANGE_PANEL#VALUE_SET';\n\nconst view = ({ properties }) => {\n\tconst {\n\t\tstart,\n\t\tend\n\t} = properties;\n\n\t// The now-date-time-calendar doesn't handle well the situation where start and end dates\n\t// are the same, and we've observed situations where the calendar doesn't always re-render.\n\t// We use datetime format to have a different start and end and force the component to render.\n\tconst newEnd = start && !end ? toDateTimeString(toMoment(start).add(1, 's')) : end;\n\n\treturn (\n\t\t<div className=\"daterange-panel-container\">\n\t\t\t<now-date-time-calendar\n\t\t\t\thide-footer={true}\n\t\t\t\ttype={'date'}\n\t\t\t\tmode={'interval'}\n\t\t\t\tallowDuplicates={true}\n\t\t\t\tmanage-selected-items\n\t\t\t\tselected-items={[toDateTimeString(start), toDateTimeString(newEnd)]}\n\t\t\t\trange-initiator={'end'}\n\t\t\t\tsize={'md'}\n\t\t\t\tformat={'yyyy-MM-dd HH:mm:ss'}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\ncreateCustomElement('par-filter-daterange-panel', {\n\tproperties: {\n\t\t/**\n\t\t * Start date of the range.\n\t\t * @type {(string|undefined)}\n\t\t */\n\t\tstart: {},\n\t\t/**\n\t\t * End date of the range.\n\t\t * @type {(string|undefined)}\n\t\t */\n\t\tend: {},\n\n\t\t/**\n\t\t * Date includes time.\n\t\t */\n\t\tallowTimeSelection: {},\n\t},\n\tview,\n\tstyles,\n\tsetInitialState: ({ properties }) => ({ month: properties.start || today }),\n\tactionHandlers: {\n\t\t...forwardAction('NOW_DATE_TIME_CALENDAR#SELECTED_ITEMS_SET', PAR_FILTER_DATERANGE_PANEL__VALUE_SET, undefined, ({ value }, { properties }) => {\n\t\t\tconst start = properties.start && toDateString(properties.start);\n\t\t\tconst end = properties.end && toDateString(properties.end);\n\t\t\tconst [startDate, endDate] = value.map(toDateString);\n\n\t\t\t// Date Range Component Behavior:\n\t\t\t// We use a custom date-time component with a 'range-initiator' property.\n\t\t\t// The 'range-initiator' property is set to 'end', meaning it modifies the end date of a range,\n\t\t\t// i.e. the new date selection always comes in the endDate payload property.\n\t\t\t// Thus, when a user selects a single day, the component triggers an event with an undefined start date.\n\t\t\t// Note: For more details on the range-initiator property, see:\n\t\t\t// https://code.devsnc.com/dev/design-system/tree/dev/components/date-time#rangeinitiator\n\n\t\t\t// Due to the way this date-time component works, we need to handle some cases:\n\t\t\tif (start && end && endDate <= end) {\n\t\t\t\t// if user selected a new date in the calendar (endDate) that is before the\n\t\t\t\t// currently selected end date (end) then the new date becomes the start of the range.\n\t\t\t\treturn { start: endDate, end: undefined };\n\t\t\t} else if (endDate <= start) {\n\t\t\t\t// if user selected the same or earlier date os the start date, then we set the end date to undefined\n\t\t\t\t// in order to start a new range\n\t\t\t\treturn { start: endDate, end: undefined };\n\t\t\t} else if (startDate === undefined) {\n\t\t\t\t// if there is no startDate defined in the calendar, we set the selected endDate as the new start\n\t\t\t\treturn { start: endDate, end: undefined };\n\t\t\t}\n\t\t\treturn { start: startDate, end: endDate };\n\t\t})\n\t},\n});\n","// @ts-nocheck\n\nconst renderLeafNodes = (nodes, checkedOption, dispatch, groupName) => {\n\tconst handleChange = ({ target }) => {\n\t\tdispatch('RADIO_GROUP#CHECKED', { value : target.value });\n\t};\n\treturn (\n\t\t<fieldset\n\t\t\tdata-testRadioGroup\n\t\t\tid={groupName}\n\t\t\tclassName=\"radio-group\"\n\t\t\ton-change={handleChange}\n\t\t\trole=\"radiogroup\"\n\t\t>\n\t\t\t{nodes.map(({ id, label }) => (\n\t\t\t\t<div key={id} className=\"radio-item\">\n\t\t\t\t\t{/* This is agreed expection because we dont have NDS component yet which looks like we want */}\n\t\t\t\t\t{/* nds-scanner-disable-next-line native-element */}\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tvalue={id || ''}\n\t\t\t\t\t\tname={groupName}\n\t\t\t\t\t\tid={`input-${id}`}\n\t\t\t\t\t\tclassName=\"radio-item-input\"\n\t\t\t\t\t\tchecked={id === checkedOption}\n\t\t\t\t\t/>\n\t\t\t\t\t<label\n\t\t\t\t\t\tdata-testDaterangeOptionLabel\n\t\t\t\t\t\thtmlFor={`input-${id}`}\n\t\t\t\t\t\tclassName=\"radio-item-label\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"radio-item-text\">{label}</div>\n\t\t\t\t\t</label>\n\t\t\t\t</div>\n\t\t\t))}\n\t\t</fieldset>\n\t);\n};\n\n/**\n * The purpose of this JSX component is a lightweight radio group which has radio inputs hidden.\n * Existing radio group components from DEVX and NDS both don't allow hiding radio buttons.\n * @param {object} param0\n * @param {Array<{value: string, text: string }>} param0.options  Radio buttons options.\n * @param {string} param0.checkedOption  Object with selected option value.\n * @param {Function} param0.dispatch  Seismic component dispatch function.\n * @param {string} param0.groupName  Name of the radio group.\n * @constructor\n */\nexport const RadioGroup = ({\n\toptions, checkedOption, dispatch\n}) => {\n\treturn options.map((option) => {\n\t\tconst groupName = option.label;\n\t\tif (!option.items?.length) { // Should be only for \"Custom\" option\n\t\t\treturn renderLeafNodes([option], checkedOption, dispatch, groupName);\n\t\t}\n\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<div key={option.id} className=\"group\">{option.label}</div>\n\t\t\t\t{renderLeafNodes(option.items, checkedOption, dispatch, groupName)}\n\t\t\t</div>\n\t\t);\n\t});\n};\n","export const CUSTOM_DATES_RANGE_ID = 'custom'; \n","import { t } from 'sn-translate';\nimport { RadioGroup } from '../radio-group';\nimport { CUSTOM_DATES_RANGE_ID } from './constants';\n\n/** @type {View<PropsDaterangeContent, StateDaterangeContent>} */\nexport default function DateRangeContentPopUp (\n\t{ properties, startInputValue, endInputValue, startInvalidMessage, endInvalidMessage, dynamicTimeRange },\n\t{ dispatch }\n) {\n\tconst { dateFilterView, dirty, sort, allowTimeSelection } = properties;\n\tlet dateRangePresets = properties.dateRangePresets || [];\n\n\t// Add 'Custom' if case we have calendar input with ranges\n\tif (dateFilterView === 'calendar-reldates') {\n\t\tdateRangePresets = [{\n\t\t\tlabel: t('Custom range'),\n\t\t\tid: CUSTOM_DATES_RANGE_ID\n\t\t}, ...dateRangePresets];\n\t}\n\n\tif (dateFilterView === 'reldates-only') {\n\t\treturn (\n\t\t\t<par-filter-list-content\n\t\t\t\tlistMode='single'\n\t\t\t\tsort={sort}\n\t\t\t\titems={dateRangePresets}\n\t\t\t\tselectedIds={dynamicTimeRange}\n\t\t\t\tcustomizeListBoxChanged={true}\n\t\t\t\tdirty={dirty}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className=\"date-filter-container\">\n\t\t\t{dateFilterView !== 'calendar-only' ? (\n\t\t\t\t<div className='dateranges-container'>\n\t\t\t\t\t<RadioGroup\n\t\t\t\t\t\toptions={dateRangePresets}\n\t\t\t\t\t\tcheckedOption={dynamicTimeRange || CUSTOM_DATES_RANGE_ID}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t\t<div>\n\t\t\t\t<par-filter-daterange-panel\n\t\t\t\t\tstart={startInputValue}\n\t\t\t\t\tend={endInputValue}\n\t\t\t\t\tallowTimeSelection={allowTimeSelection}\n\t\t\t\t/>\n\t\t\t\t<div className=\"custom-inputs\">\n\t\t\t\t\t<now-input\n\t\t\t\t\t\tdata-testCustomDaterangeField\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tvalue={startInputValue}\n\t\t\t\t\t\tlabel={t('Start date')}\n\t\t\t\t\t\tappend-to-payload={{ type: 'start' }}\n\t\t\t\t\t\tmanageInvalid\n\t\t\t\t\t\tinvalid={Boolean(startInvalidMessage)}\n\t\t\t\t\t\tmessages={startInvalidMessage ? [{ status:'critical', icon:'circle-exclamation-outline', content: startInvalidMessage }] : undefined}\n\t\t\t\t\t/>\n\n\t\t\t\t\t<now-input\n\t\t\t\t\t\tdata-testCustomDaterangeField\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tvalue={endInputValue || ''}\n\t\t\t\t\t\tlabel={t('End date')}\n\t\t\t\t\t\tappend-to-payload={{ type: 'end' }}\n\t\t\t\t\t\tmanageInvalid\n\t\t\t\t\t\tinvalid={Boolean(endInvalidMessage)}\n\t\t\t\t\t\tmessages={endInvalidMessage ? [{ status:'critical', icon:'circle-exclamation-outline', content: endInvalidMessage }] : undefined}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n","import { t } from 'sn-translate';\nimport { CUSTOM_DATES_RANGE_ID } from './constants';\nimport { transformItemsToNDSItems } from '../../../helpers/items';\n\n/** @type {View<PropsDaterangeContent, StateDaterangeContent>} */\nexport default function DateRangeContentModal(\n\t{ properties, startInputValue, endInputValue, startInvalidMessage, endInvalidMessage, dynamicTimeRange }) {\n\tconst { dateFilterView } = properties;\n\tlet dateRangePresets = transformItemsToNDSItems(properties.dateRangePresets);\n\n\t// Add 'Custom' if case we have calendar input\n\tif (dateFilterView === 'calendar-reldates') {\n\t\tdateRangePresets = [{\n\t\t\tlabel: t('Custom range'),\n\t\t\tid: CUSTOM_DATES_RANGE_ID\n\t\t}, ...dateRangePresets];\n\t}\n\n\treturn (\n\t\t<div>\n\t\t\t{dateFilterView !== 'calendar-only' &&\n\t\t\t\t<now-select\n\t\t\t\t\tclassName='type-select'\n\t\t\t\t\tlabel={t('Predefined range')}\n\t\t\t\t\titems={dateRangePresets}\n\t\t\t\t\tselectedItem={dynamicTimeRange}\n\t\t\t\t\tmanageSelectedItem\n\t\t\t\t\tsearch={'contains'}\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\ttrigger: {\n\t\t\t\t\t\t\t'aria-label': t('Select a predefined date range'),\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t}\n\t\t\t{dateFilterView !== 'reldates-only' && (\n\t\t\t\t<div>\n\t\t\t\t\t<now-input\n\t\t\t\t\t\tclassName='input-field'\n\t\t\t\t\t\tdata-testCustomDaterangeField\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tvalue={startInputValue || ''}\n\t\t\t\t\t\tlabel={t('Start date')}\n\t\t\t\t\t\tappend-to-payload={{ type: 'start' }}\n\t\t\t\t\t\tmanageInvalid\n\t\t\t\t\t\tinvalid={Boolean(startInvalidMessage)}\n\t\t\t\t\t\tmessages={startInvalidMessage ? [{\n\t\t\t\t\t\t\tstatus: 'critical',\n\t\t\t\t\t\t\ticon: 'circle-exclamation-outline',\n\t\t\t\t\t\t\tcontent: startInvalidMessage\n\t\t\t\t\t\t}] : undefined}\n\t\t\t\t\t/>\n\t\t\t\t\t<now-input\n\t\t\t\t\t\tclassName='input-field'\n\t\t\t\t\t\tdata-testCustomDaterangeField\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tvalue={endInputValue || ''}\n\t\t\t\t\t\tlabel={t('End date')}\n\t\t\t\t\t\tappend-to-payload={{ type: 'end' }}\n\t\t\t\t\t\tmanageInvalid\n\t\t\t\t\t\tinvalid={Boolean(endInvalidMessage)}\n\t\t\t\t\t\tmessages={endInvalidMessage ? [{\n\t\t\t\t\t\t\tstatus: 'critical',\n\t\t\t\t\t\t\ticon: 'circle-exclamation-outline',\n\t\t\t\t\t\t\tcontent: endInvalidMessage\n\t\t\t\t\t\t}] : undefined}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n","import DateRangeContentPopUp from './variants/date-range-content-popup';\nimport DateRangeContentModal from './variants/date-range-content-modal';\n\n/** @type {View<PropsDaterangeContent, StateDaterangeContent>} */\nexport function view(state, helpers) {\n\tconst { properties: { isModal } } = state;\n\treturn isModal ? DateRangeContentModal(state) : DateRangeContentPopUp(state, helpers);   \n}\n","/// <reference path=\"./_types.d.ts\" />\nimport { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport { convertRangeToDates, searchInRangesByID } from 'sn-par-filter-common';\nimport { PAR_FILTER_DATERANGE_PANEL__VALUE_SET } from './daterange-panel';\nimport {\n\tNOW_FILTER__SET_DIRTY,\n} from '../constants';\nimport {\n\tPAR_FILTER_LISTBOX__CHANGED\n} from '../../listbox/constants';\n\nimport { view } from './date-range-content-view';\n\nimport styles from './daterange-content.scss';\nimport {\n\tformatDate,\n\tgetDateRangeBoundary,\n\tparseDateUserInput,\n\tgetTodayDateTimelessISO\n} from './helpers';\n\n/**\n * This functions handles changes to both inputs in both conditions - valid and invalid\n * @param {object} param0\n * @param {PropsDaterangeContent} param0.properties\n * @param {StateDaterangeContent} param0.state\n * @param {StateUpdateFunction<PropsDaterangeContent, StateDaterangeContent>} param0.updateState\n * @param {Dispatch} param0.dispatch\n * @param {string} param0.value\n * @param {string} param0.type\n */\nfunction handleInputChange({ properties, state, updateState, dispatch, value, type }) {\n\tlet { startDate, endDate, startInvalidMessage, endInvalidMessage } = state;\n\tconst { date, errorMessage } = parseDateUserInput({\n\t\tinputValue: value,\n\t\tallowTime: properties.allowTimeSelection,\n\t\tisEnd: type === 'end'\n\t});\n\n\tif (type === 'start') {\n\t\tif (value === state.startInputValue) {\n\t\t\t// Ignore frequent NDS events - nothing got changed actually\n\t\t\treturn;\n\t\t}\n\t\tstartDate = date;\n\t\tstartInvalidMessage = errorMessage;\n\t\tupdateState({\n\t\t\tstartDate: errorMessage ? undefined : startDate,\n\t\t\tstartInputValue: value,\n\t\t\tstartInvalidMessage\n\t\t});\n\t}\n\tif (type === 'end') {\n\t\tif (value === state.endInputValue) {\n\t\t\t// Ignore frequent NDS events - nothing got changed actually\n\t\t\treturn;\n\t\t}\n\t\tendDate = date;\n\t\tendInvalidMessage = errorMessage;\n\t\tupdateState({\n\t\t\tendDate: endInvalidMessage ? undefined : endDate,\n\t\t\tendInputValue: value,\n\t\t\tendInvalidMessage\n\t\t});\n\t}\n\n\tdispatch(NOW_FILTER__SET_DIRTY, {\n\t\tdirty: !startInvalidMessage\n\t\t\t&& !endInvalidMessage\n\t\t\t&& ((startDate && endDate) || (!startDate && !endDate)) // Only allow both fields filled or both empty (to reset the filter).\n\t\t\t&& (startDate !== properties.start || endDate !== properties.end),\n\t\tdirtyBag: {\n\t\t\tstart: startDate,\n\t\t\tend: endDate,\n\t\t},\n\t});\n}\n\n/**\n * When no date is selected we should return undefined for start date and end date. So that the filter state returns to no selected date state.\n * @param {ElementItem | undefined} selectedDate\n * @param {String} startDate\n * @param {String} endDate\n * @returns {{start: String | undefined, end: String | undefined}}\n */\nfunction getSelectedDateRange(selectedDate, startDate, endDate) {\n\treturn {\n\t\tstart: selectedDate ? startDate : undefined,\n\t\tend: selectedDate ? endDate : undefined,\n\t};\n}\n\n/**\n * Calculates and updates the values based on the selected range\n * @param {PropsDaterangeContent} properties\n * @param {string} value\n * @param {StateUpdateFunction<PropsDaterangeContent, StateDaterangeContent>} updateState\n * @param {Dispatch} dispatch\n */\nfunction handleRangeSelection(properties, value, updateState, dispatch) {\n\tconst { dateRangePresets, dateFilterView } = properties;\n\tconst selectedDateRange = searchInRangesByID(dateRangePresets, value);\n\tconst { start, end } = convertRangeToDates(selectedDateRange, properties.allowTimeSelection);\n\tconst startInputValue = formatDate({ date: start, allowTime: properties.allowTimeSelection });\n\tconst endInputValue = formatDate({ date: end, allowTime: properties.allowTimeSelection });\n\n\tupdateState({\n\t\tstartDate: start,\n\t\tstartInputValue,\n\t\tstartInvalidMessage: undefined,\n\t\tendDate: end,\n\t\tendInputValue,\n\t\tendInvalidMessage: undefined,\n\t\tdynamicTimeRange: selectedDateRange?.id,\n\t});\n\n\tdispatch(NOW_FILTER__SET_DIRTY, {\n\t\tdirty: selectedDateRange?.id !== properties.dynamicTimeRange,\n\t\tdirtyBag: {\n\t\t\tstart,\n\t\t\tend,\n\t\t\tdynamicTimeRange: selectedDateRange?.id,\n\t\t\tdateFilterView,\n\t\t},\n\t});\n}\n\n/**\n *\n * @param {PropsDaterangeContent} properties\n * @returns {StateDaterangeContent}\n */\nfunction recalculateState(properties) {\n\tconst { dynamicTimeRange } = properties;\n\tlet { start, end } = properties;\n\n\tif (dynamicTimeRange) {\n\t\tconst dynamicRangeObj = searchInRangesByID(properties.dateRangePresets, dynamicTimeRange);\n\t\tconst selectedRange = convertRangeToDates(dynamicRangeObj, properties.allowTimeSelection);\n\t\tstart = selectedRange.start;\n\t\tend = selectedRange.end;\n\t}\n\n\tif (!start) {\n\t\tstart = getDateRangeBoundary({ date: getTodayDateTimelessISO(), allowTime: properties.allowTimeSelection, isStart: true });\n\t}\n\tif (!end) {\n\t\tend = getDateRangeBoundary({ date: getTodayDateTimelessISO(), allowTime: properties.allowTimeSelection, isEnd: true });\n\t}\n\n\tconst startInputValue = formatDate({ date: start, allowTime: properties.allowTimeSelection });\n\tconst endInputValue = formatDate({ date: end, allowTime: properties.allowTimeSelection });\n\n\treturn {\n\t\tstartDate: start,\n\t\tstartInputValue,\n\t\tendDate: end,\n\t\tendInputValue,\n\t\tdynamicTimeRange\n\t};\n}\n\n/** @type {ComponentOptions<PropsDaterangeContent, StateDaterangeContent>} */\nconst componentOptions = {\n\tproperties: {\n\t\tdateRangePresets: {},\n\t\tdynamicTimeRange: {},\n\t\tstart: {},\n\t\tend: {},\n\t\tsort: {},\n\t\tallowTimeSelection: {},\n\t\tdateFilterView: {},\n\t\tisModal: {},\n\t\tdirty: {}\n\t},\n\tsetInitialState: ({ properties }) => recalculateState(properties),\n\tview,\n\tstyles,\n\tactionHandlers: {\n\t\t[actionTypes.COMPONENT_PROPERTY_CHANGED]({ action, properties, updateState }) {\n\t\t\tconst { payload } = action;\n\t\t\tif (payload.name !== 'dirty') {\n\t\t\t\tupdateState(recalculateState(properties));\n\t\t\t}\n\t\t},\n\t\t[PAR_FILTER_DATERANGE_PANEL__VALUE_SET]({\n\t\t\taction, dispatch, updateState, properties\n\t\t}) {\n\t\t\tconst { payload: { start, end } } = action;\n\t\t\taction.stopPropagation();\n\t\t\tconst startDate = start ? getDateRangeBoundary({ date: start, allowTime: properties.allowTimeSelection, isStart: true }) : undefined;\n\t\t\tconst endDate = end ? getDateRangeBoundary({ date: end, allowTime: properties.allowTimeSelection, isEnd: true }) : undefined;\n\n\t\t\tconst startInputValue = startDate ? formatDate({ date: startDate, allowTime: properties.allowTimeSelection }) : '';\n\t\t\tconst endInputValue = endDate ? formatDate({ date: endDate, allowTime: properties.allowTimeSelection }) : '';\n\n\t\t\tupdateState({\n\t\t\t\tstartDate,\n\t\t\t\tstartInputValue,\n\t\t\t\tstartInvalidMessage: undefined,\n\t\t\t\tendDate,\n\t\t\t\tendInputValue,\n\t\t\t\tendInvalidMessage: undefined\n\t\t\t});\n\n\t\t\tdispatch(NOW_FILTER__SET_DIRTY, {\n\t\t\t\t// Only allow both fields filled or both empty (to reset the filter).\n\t\t\t\tdirty: (startDate && endDate) || (!startDate && !endDate),\n\t\t\t\tdirtyBag: {\n\t\t\t\t\tstart: startDate,\n\t\t\t\t\tend: endDate,\n\t\t\t\t},\n\t\t\t});\n\t\t},\n\t\t'RADIO_GROUP#CHECKED': ({\n\t\t\taction, updateState, dispatch, properties\n\t\t}) => {\n\t\t\tconst { payload: { value } } = action;\n\t\t\taction.stopPropagation();\n\t\t\thandleRangeSelection(properties, value, updateState, dispatch);\n\t\t},\n\t\t'NOW_SELECT#SELECTED_ITEM_SET': ({\n\t\t\taction, updateState, dispatch, properties\n\t\t}) => {\n\t\t\tconst { payload: { value } } = action;\n\t\t\taction.stopPropagation();\n\t\t\thandleRangeSelection(properties, value, updateState, dispatch);\n\t\t},\n\t\t'NOW_INPUT#VALUE_SET': ({\n\t\t\taction, updateState, dispatch, properties, state\n\t\t}) => {\n\t\t\tconst { payload: { value, type } } = action;\n\t\t\taction.stopPropagation();\n\t\t\thandleInputChange({ properties, state, updateState, dispatch, value, type });\n\t\t},\n\t\t'NOW_INPUT#INVALID_SET': ({\n\t\t\taction, updateState, dispatch, properties, state\n\t\t}) => {\n\t\t\tconst { payload: { fieldValue: value, type } } = action;\n\t\t\taction.stopPropagation();\n\t\t\thandleInputChange({ properties, state, updateState, dispatch, value, type });\n\t\t},\n\n\t\t[PAR_FILTER_LISTBOX__CHANGED]: ({ action, dispatch, properties }) => {\n\t\t\taction.stopPropagation();\n\t\t\tconst { payload: { selectedItems } } = action;\n\t\t\tconst { dateFilterView, dateRangePresets } = properties;\n\t\t\tconst selectedItem = selectedItems[0] || null;\n\t\t\tconst selectedItemWithPayload = searchInRangesByID(dateRangePresets, selectedItem?.id);\n\t\t\tconst { start, end } = convertRangeToDates(selectedItemWithPayload, properties.allowTimeSelection);\n\t\t\tconst startDate = getDateRangeBoundary({ date: start, allowTime: properties.allowTimeSelection, isStart: true });\n\t\t\tconst endDate = getDateRangeBoundary({ date: end, allowTime: properties.allowTimeSelection, isEnd: true });\n\n\t\t\tdispatch(NOW_FILTER__SET_DIRTY, {\n\t\t\t\tdirty: selectedItemWithPayload?.id !== properties.dynamicTimeRange,\n\t\t\t\tdirtyBag: {\n\t\t\t\t\t...getSelectedDateRange(selectedItem, startDate, endDate),\n\t\t\t\t\tdynamicTimeRange: selectedItemWithPayload?.id,\n\t\t\t\t\tdateFilterView,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t},\n};\n\ncreateCustomElement('par-filter-daterange-content', componentOptions);\n\n\n","// @ts-nocheck\nimport { flattenGroups, unflattenGroups } from './items';\n\nexport function searchItems (items, term = null) {\n\tif (!term) {\n\t\treturn items;\n\t}\n\n\tconst flatGroups = flattenGroups(items);\n\tconst query = term.toLowerCase();\n\n\treturn unflattenGroups(flatGroups.filter(({ label }) => {\n\t\treturn label.toLowerCase().includes(query);\n\t}));\n}\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { boolean } from './boolean';\n\ncreateCustomElement('par-filter-boolean', boolean);\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { listContent } from './list-content';\n\ncreateCustomElement('par-filter-list-content', listContent);\n","// @ts-nocheck\n/* eslint camelcase: 0 */\n\nimport { t } from 'sn-translate';\nimport { actionTypes } from '@servicenow/ui-core';\nimport orderBy from 'lodash/orderBy';\nimport isEqual from 'lodash/isEqual';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\n\nimport {\n\tPAR_FILTER_SLUSH_BUCKET__MORE_ITEMS_REQUESTED,\n\tPAR_FILTER_SLUSH_BUCKET__MOVE_ITEMS\n} from '../../../slush-bucket/slush-bucket';\nimport { NOW_FILTER__MORE_ITEMS_REQUESTED, NOW_FILTER__SET_DIRTY, NOW_FILTER__TARGET_SORTED } from '../../constants';\nimport { ListError } from '../list-error';\nimport { complementItem, filterItems, flattenGroups, unflattenGroups } from '../../../helpers/items';\nimport { searchItems } from '../../../helpers/searchItems';\nimport '../list-notifications';\nimport '../list-sort';\nimport styles from './list-multi.scss';\n\nconst PAR_FILTER_LIST_MULTI__SET_SLUSH_BUCKET_REF = 'PAR_FILTER_LIST_MULTI#SET_SLUSH_BUCKET_REF';\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst sourceTitle = t('Available');\nlet targetTitle;\n\nconst properties = {\n\tcleared: {\n\t\tdefault: false,\n\t},\n\tisReflowActive: {\n\t\tdefault: false,\n\t\tschema: {\n\t\t\ttype: 'boolean'\n\t\t}\n\t},\n\titems: {},\n\tselectedIds: {\n\t\tdefault: [],\n\t},\n\tselectedItems: {\n\t\tdefault: [],\n\t},\n\tsort: {},\n\ttargetSort: {},\n\tsearch: {},\n\tloading: {},\n\tloadingNextPage: {},\n\thasMoreItems: {},\n\terrorMessage: {},\n\tonQuery: {},\n\tdirty: {\n\t\tdefault: false,\n\t},\n\timpacted: {},\n\tgetNotificationJsx: {},\n\tfollowedFilterConfigurations: {},\n\tfollowingFilterConfigurations: {},\n};\n\nconst initialState = {\n\tslushBucket: null,\n\tavailableItems: [],\n\tappliedItems: [],\n\ttargetSort: 'ASC',\n\taccessibilityMessage: '',\n};\n\nexport const classifyItems = (allItems, selectedIds, selectedItems) => {\n\tconst flatSelectedItems = flattenGroups(selectedItems);\n\tconst flatAllItems = flattenGroups(allItems);\n\tconst availableItems = [];\n\tconst appliedItems = [];\n\tconst resolvedIds = {};\n\tif (flatAllItems?.length) {\n\t\tfor (const item of flatAllItems) {\n\t\t\tconst selectedItem = flatSelectedItems?.find((i) => i.id === item.id);\n\t\t\tif (selectedItem && !selectedItem.unknown) {\n\t\t\t\tresolvedIds[item.id] = true;\n\t\t\t\tif (item.available) {\n\t\t\t\t\tappliedItems.push(complementItem(item));\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tavailableItems.push(item);\n\t\t\t}\n\t\t}\n\t}\n\tfor (const id of selectedIds) {\n\t\tif (!resolvedIds[id]) {\n\t\t\t// Assuming this item is out of scope current items window and lazyloading is used.\n\t\t\tconst match = Array.isArray(flatSelectedItems) &&\n\t\t\t\tflatSelectedItems.length > 0 &&\n\t\t\t\tflatSelectedItems.find((x) => x.id === id);\n\t\t\tif (match) {\n\t\t\t\tappliedItems.push(complementItem(match));\n\t\t\t} else {\n\t\t\t\t// Put a fake item with id as a label - usually this should not happen\n\t\t\t\tappliedItems.push({\n\t\t\t\t\tid: id,\n\t\t\t\t\tlabel: id,\n\t\t\t\t\thidden: true\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\treturn {\n\t\tavailableItems: unflattenGroups(availableItems),\n\t\tappliedItems: unflattenGroups(appliedItems)\n\t};\n};\n\nconst orderBasedOnLabel = (items, sort) => {\n\tconst orderedItems = items.map((item) => (item.items ? ({ ...item, items: orderBasedOnLabel(item.items, sort) }) : item));\n\treturn orderBy(orderedItems, ['unknown', 'empty', (x) => x.label.toLowerCase()], ['desc', 'desc', sort.toLowerCase()]);\n};\n\nconst processListAction = ({ newAppliedItems, newAvailableItems, selectedIds, targetSort, accessibilityMessage },\n\t{ updateProperties, updateState, dispatch }) => {\n\tconst flatAppliedItems = flattenGroups(newAppliedItems);\n\n\tconst newIds = new Set(flatAppliedItems.map((x) => x.id));\n\tconst oldIds = new Set(selectedIds);\n\tconst dirty = newIds.size !== oldIds.size || [...newIds].some((x) => !oldIds.has(x));\n\n\tconst appliedItems = orderBasedOnLabel(unflattenGroups(flatAppliedItems), targetSort);\n\tupdateProperties({ dirty });\n\tupdateState({\n\t\tavailableItems: newAvailableItems,\n\t\t//Here it needs to be unflattenend because the listbox consumes this values.\n\t\tappliedItems,\n\t\taccessibilityMessage,\n\t});\n\tdispatch(NOW_FILTER__SET_DIRTY, {\n\t\tdirty,\n\t\tdirtyBag: {\n\t\t\tselectedIds: Array.from(newIds),\n\t\t\t//We add the group here as it's needed for the pillars later in the config panel.\n\t\t\tselectedItems: appliedItems\n\t\t},\n\t});\n};\n\nconst actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED] ({ properties: { items, selectedIds, selectedItems }, updateState }) {\n\t\tif (items) {\n\t\t\tconst { availableItems, appliedItems } = classifyItems(items, selectedIds, selectedItems);\n\t\t\tupdateState({\n\t\t\t\tavailableItems,\n\t\t\t\tappliedItems\n\t\t\t});\n\t\t}\n\t},\n\n\t[COMPONENT_PROPERTY_CHANGED] ({\n\t\taction, state: { appliedItems }, properties: { items, selectedIds, selectedItems }, updateState,\n\t}) {\n\t\tconst { payload: { name, previousValue } } = action;\n\t\tif (name === 'items') {\n\t\t\tconst items = action.payload.value;\n\t\t\tif (!items) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t/**\n\t\t\t * We need to preserve previously selected items by user even in case the items change\n\t\t\t * This is happening when we have search and filtering the items externally as user types - (e.g. reference field)\n\t\t\t * Since items are retrieved from data provider, it is not initialized in COMPONENT_BOOTSTRAPPED, but it is still part of bootstrap process,\n\t\t\t * in this case previousValue is undefined (not received anything from data provider yet)\n\t\t\t */\n\t\t\tconst isBootstrap = Boolean(!previousValue);\n\t\t\tconst flatAppliedItems = flattenGroups(appliedItems);\n\t\t\tconst currentSelectedIds = isBootstrap ? selectedIds : flatAppliedItems.map((x) => x.id);\n\t\t\tconst currentSelectedItems = isBootstrap ? selectedItems : flatAppliedItems;\n\t\t\t// DEF0443714: When user moves items from/to selected items, current selected items are preserved in state, not properties.\n\t\t\tconst classifiedItems = classifyItems(items, currentSelectedIds, currentSelectedItems);\n\n\t\t\tupdateState({\n\t\t\t\tavailableItems: classifiedItems.availableItems,\n\t\t\t\tappliedItems: classifiedItems.appliedItems\n\t\t\t});\n\t\t} else if (name === 'selectedIds') {\n\t\t\tconst value = action.payload.value;\n\t\t\tif (!isEqual(value, previousValue)) {\n\t\t\t\tconst { availableItems, appliedItems } = classifyItems(items, selectedIds, selectedItems);\n\t\t\t\tupdateState({ availableItems, appliedItems });\n\t\t\t}\n\t\t} else if (name === 'cleared' && action.payload.value === true) {\n\t\t\tupdateState({\n\t\t\t\tavailableItems: items,\n\t\t\t\tappliedItems: [],\n\t\t\t});\n\t\t}\n\t},\n\n\t[PAR_FILTER_LIST_MULTI__SET_SLUSH_BUCKET_REF] ({ action: { payload: { slushBucket } }, updateState }) {\n\t\tupdateState({ slushBucket });\n\t},\n\n\t[PAR_FILTER_SLUSH_BUCKET__MOVE_ITEMS] ({\n\t\taction: { payload },\n\t\tproperties: { sort, items, selectedIds, targetSort },\n\t\tstate: { availableItems, appliedItems },\n\t\tupdateState,\n\t\tupdateProperties,\n\t\tdispatch,\n\t}) {\n\t\tconst { fromList /* source|target */, selectedItems } = payload;\n\t\tconst selectedItemLabels = selectedItems.map((item) => item.label);\n\t\tconst flatItems = flattenGroups(items);\n\t\tconst flatAvailableItems = flattenGroups(availableItems);\n\t\tconst flatApplied = flattenGroups(appliedItems);\n\n\t\tlet newAvailable = flatAvailableItems;\n\t\tlet newApplied = flatApplied;\n\n\t\tif (fromList === 'source') {\n\t\t\tnewAvailable = filterItems(flatAvailableItems, selectedItems);\n\t\t\t// retrieveAndRemoveValues(flatAvailableItems, selectedItems);\n\t\t\t// Somewhere deep in the stack of components, we lose extraValues\n\t\t\t// so we map them back in from availableItems.\n\t\t\tnewApplied = flatApplied.concat(selectedItems\n\t\t\t\t.map((item) => flatAvailableItems\n\t\t\t\t\t.find((item2) => item.id === item2.id)));\n\t\t}\n\n\t\tif (fromList === 'target') {\n\t\t\t// Because of lazy loading we should get items from original items array which we should add to available\n\t\t\tconst lowerCaseSort = sort.toLowerCase();\n\t\t\tconst addToAvail = selectedItems\n\t\t\t\t.map((item) => flatItems.find((item2) => item.id === item2.id))\n\t\t\t\t.filter((item) => !!item);\n\t\t\tnewAvailable = flatAvailableItems.concat(addToAvail);\n\t\t\tnewAvailable = orderBy(newAvailable,\n\t\t\t\t['empty', (x) => !x.available, (x) => x.label.toLowerCase()],\n\t\t\t\t['desc', lowerCaseSort, lowerCaseSort]);\n\t\t\tnewApplied = filterItems(flatApplied, selectedItems);\n\t\t}\n\n\t\tnewAvailable = unflattenGroups(newAvailable);\n\t\tnewApplied = unflattenGroups(newApplied);\n\n\t\tconst accessibilityMessage = t('Moved {0} to the {1} list', selectedItemLabels, fromList !== 'source' ? sourceTitle : targetTitle);\n\n\t\tprocessListAction({\n\t\t\tnewAppliedItems: newApplied,\n\t\t\tnewAvailableItems: newAvailable,\n\t\t\tselectedIds,\n\t\t\ttargetSort,\n\t\t\taccessibilityMessage,\n\t\t}, {\n\t\t\tupdateProperties,\n\t\t\tupdateState,\n\t\t\tdispatch\n\t\t});\n\t},\n\n\t[PAR_FILTER_SLUSH_BUCKET__MORE_ITEMS_REQUESTED] ({ dispatch }) {\n\t\tdispatch(NOW_FILTER__MORE_ITEMS_REQUESTED);\n\t},\n};\n\nexport const listMultiView = (state, { updateProperties, updateState, dispatch }) => {\n\tconst {\n\t\tavailableItems, appliedItems, properties, accessibilityMessage\n\t} = state;\n\tconst {\n\t\tnowId,\n\t\tisReflowActive,\n\t\tdirty,\n\t\tsort,\n\t\ttargetSort,\n\t\tsearch,\n\t\tloading,\n\t\tloadingNextPage,\n\t\terrorMessage,\n\t\tonQuery,\n\t\thasMoreItems,\n\t\timpacted,\n\t\tgetNotificationJsx,\n\t\tfollowedFilterConfigurations,\n\t\tfollowingFilterConfigurations,\n\t\tselectedIds\n\t} = properties;\n\n\tconst onTargetSort = (params) => {\n\t\tdispatch(NOW_FILTER__TARGET_SORTED, params);\n\t\tprocessListAction({\n\t\t\tnewAppliedItems: appliedItems,\n\t\t\tnewAvailableItems: availableItems,\n\t\t\tselectedIds,\n\t\t\ttargetSort: params.sort,\n\t\t\taccessibilityMessage,\n\t\t}, { updateProperties, updateState, dispatch });\n\t};\n\n\tconst availableItemsToShow = availableItems;\n\n\t// We do not perform sorting/searching of available items on each render because of performance reasons.\n\t// Items must be provided sorted/filtered from incoming prop.\n\n\tlet appliedItemsToShow = searchItems(appliedItems, search);\n\tappliedItemsToShow = orderBasedOnLabel(appliedItemsToShow, targetSort);\n\n\tif (errorMessage) {\n\t\treturn (\n\t\t\t<div className=\"message-container\">\n\t\t\t\t<ListError errorMessage={errorMessage} />\n\t\t\t</div>\n\t\t);\n\t}\n\n\ttargetTitle = dirty ? t('To be applied') : t('Applied');\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<span className=\"offscreen\" aria-live=\"polite\">{accessibilityMessage}</span>\n\t\t\t{appliedItems && <par-filter-check-elements-provider\n\t\t\t\tcomponent-id={`${nowId}-filter-check-elements-provider`}\n\t\t\t\tappliedItems={appliedItems}\n\t\t\t\tfollowingFilterConfigurations={followingFilterConfigurations}\n\t\t\t/>}\n\t\t\t<par-filter-list-notifications\n\t\t\t\tgetNotificationJsx={getNotificationJsx}\n\t\t\t\timpacted={impacted}\n\t\t\t\tfollowedFilterConfigurations={followedFilterConfigurations}\n\t\t\t\timpacting={`@${nowId}-filter-check-elements-provider/impacting`}\n\t\t\t\tunknown={appliedItems.some((x) => x.unknown)}\n\t\t\t/>\n\t\t\t<par-filter-slush-bucket\n\t\t\t\thook-insert={({ elm }) => dispatch(PAR_FILTER_LIST_MULTI__SET_SLUSH_BUCKET_REF, { slushBucket: elm })}\n\t\t\t\tloading={loading}\n\t\t\t\trenderStacked={isReflowActive}\n\t\t\t\tloadingNextPage={loadingNextPage}\n\t\t\t\tsourceTitle={sourceTitle}\n\t\t\t\tsourceSortAction={() => (\n\t\t\t\t\t<par-filter-list-sort\n\t\t\t\t\t\ttestId=\"data-test-sort-button-available-items\"\n\t\t\t\t\t\tsort={sort}\n\t\t\t\t\t\tonAction={onQuery}\n\t\t\t\t\t\tdisabled={!availableItemsToShow || availableItemsToShow.length === 0}\n\t\t\t\t\t\tparentList={sourceTitle}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\ttargetTitle={targetTitle}\n\t\t\t\ttargetSortAction={() => (\n\t\t\t\t\t<par-filter-list-sort\n\t\t\t\t\t\ttestId=\"data-test-sort-button-applied-items\"\n\t\t\t\t\t\tsort={targetSort}\n\t\t\t\t\t\tonAction={onTargetSort}\n\t\t\t\t\t\tdisabled={!appliedItemsToShow || appliedItemsToShow.length === 0}\n\t\t\t\t\t\tparentList={targetTitle}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\tsourceItems={availableItemsToShow}\n\t\t\t\ttargetItems={appliedItemsToShow}\n\t\t\t\thasMoreItems={hasMoreItems}\n\t\t\t\timpactingMap={`@${nowId}-filter-check-elements-provider/impactingMap`}\n\t\t\t/>\n\t\t</Fragment>\n\t);\n};\n\nexport const listMulti = {\n\tinitialState,\n\tproperties,\n\tactionHandlers,\n\tview: listMultiView,\n\tstyles,\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { listMulti } from './list-multi';\n\ncreateCustomElement('par-filter-list-multi', listMulti);\n","// @ts-nocheck\nimport { t } from 'sn-translate';\nimport styles from './list-search.scss';\n\nconst SEARCH_INPUT_LABEL = t('Search');\n\nconst properties = {\n\tonChange: {},\n\tariaLabel: {},\n};\n\nconst initialState = {};\n\nconst actionHandlers = {\n\t'NOW_INPUT#INPUT': {\n\t\tmodifier: { name: 'debounce', delay: 250 },\n\t\teffect({ action, properties }) {\n\t\t\tconst { onChange } = properties;\n\t\t\tconst trimmedValue = action.payload.fieldValue.trim();\n\t\t\t// We need to propagate the empty keyword since user can remove the entire keyword in search box to expect all results\n\t\t\tif (trimmedValue.length > 2 || !trimmedValue) {\n\t\t\t\tonChange(trimmedValue);\n\t\t\t}\n\t\t},\n\t},\n\t// DEF0421645: these actions are triggered when focus is moved out of input box.\n\t// We need to stop propagation for current now-input so it does not interfere with the same action handlers in daterange-content.js\n\t'NOW_INPUT#INVALID_SET': ({ action }) => {\n\t\taction.stopPropagation();\n\t},\n\t'NOW_INPUT#VALUE_SET': ({ action }) => {\n\t\taction.stopPropagation();\n\t},\n};\n\n// For unit test\nexport const view = () => {\n\treturn (\n\t\t<div className=\"list-search\">\n\t\t\t<now-input\n\t\t\t\tautofocus\n\t\t\t\tdata-testSearchInput\n\t\t\t\tclassName=\"search-input\"\n\t\t\t\tconfigAria={{\n\t\t\t\t\t'aria-label': SEARCH_INPUT_LABEL,\n\t\t\t\t}}\n\t\t\t\tplaceholder={SEARCH_INPUT_LABEL}\n\t\t\t>\n\t\t\t\t<now-icon slot=\"start\" className=\"search-icon\" icon=\"magnifying-glass-fill\" size=\"md\" />\n\t\t\t</now-input>\n\t\t</div>\n\t);\n};\n\nexport const ListSearch = {\n\tproperties,\n\tinitialState,\n\tactionHandlers,\n\tstyles,\n\tview\n};\n\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { ListSearch } from './list-search';\n\ncreateCustomElement('par-filter-list-search', ListSearch);\n","import { devPortalGetHttpEffect } from '../../../utils/helpers';\nimport {MANAGE_PDI_ACTIONS} from '../actions';\n\nconst handleGetAvailableInstanceCount = devPortalGetHttpEffect({\n\tsuccessActionType: MANAGE_PDI_ACTIONS.GET_AVAILABLE_INSTANCE_COUNT_SUCCEEDED\n});\n\nconst handleGetAvailableInstanceCountSucceeded = coeffects => {\n\tconst { updateProperties, action: { payload } } = coeffects;\n\tconst { availableInstanceCount } = payload;\n\tconst isInstanceAvailableInSamePatch = availableInstanceCount > 0;\n\tupdateProperties({ isInstanceAvailableInSamePatch });\n};\n\n\nexport default {\n\t[MANAGE_PDI_ACTIONS.GET_AVAILABLE_INSTANCE_COUNT]: handleGetAvailableInstanceCount,\n\t[MANAGE_PDI_ACTIONS.GET_AVAILABLE_INSTANCE_COUNT_SUCCEEDED]: handleGetAvailableInstanceCountSucceeded\n};","import snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { createCustomElement } from '@servicenow/ui-core';\n\nimport document from '../../../images/icons/document-icon.svg';\nimport { LINKS } from '../../../constants';\nimport url from '../../../images/icons/url.svg';\n\nimport { ACTIONS_IDS } from '../constants';\n\nimport styles from './dps-useful-links.scss';\n\nconst view = state => {\n\tconst {\n\t\tproperties: { selectedRelease }\n\t} = state;\n\n\treturn (\n\t\t<div className=\"useful-links-card\">\n\t\t\t<div className='useful-links-text'>Useful links</div>\n\t\t\t<div className=\"useful-links\">\n\t\t\t\t<dps-link\n\t\t\t\t\thref={`#!/guides/${selectedRelease}/developer-program/pdi-guide/personal-developer-instance-guide-introduction`}\n\t\t\t\t\tbutton-style\n\t\t\t\t\tid={ACTIONS_IDS.DEVELOPER_INSTANCE_GUIDE}\n\t\t\t\t\tbutton-size=\"sm\"\n\t\t\t\t\tbare\n\t\t\t\t\ticonAction\n\t\t\t\t>\n\t\t\t\t\t<div className=\"pdi-document\">\n\t\t\t\t\t\t<img src={document} alt=\"PDI document\" />\n\t\t\t\t\t\t<div className=\"link-text\">{LINKS.PDI_GUIDE}</div>\n\t\t\t\t\t</div>\n\t\t\t\t</dps-link>\n\n\t\t\t\t<dps-link\n\t\t\t\t\thref={`#!/guides/${selectedRelease}/now-platform/faq/pdi_faq`}\n\t\t\t\t\tid={ACTIONS_IDS.PDI_FAQ}\n\t\t\t\t\tbutton-style\n\t\t\t\t\tbutton-size=\"sm\"\n\t\t\t\t\tbare\n\t\t\t\t\ticonAction\n\t\t\t\t>\n\t\t\t\t\t<div className=\"pdi-document\">\n\t\t\t\t\t\t<img src={document} alt=\"Developer FAQs\" />\n\t\t\t\t\t\t<div className=\"link-text\">{LINKS.PDI_FAQ}</div>\n\t\t\t\t\t</div>\n\t\t\t\t</dps-link>\n\n\t\t\t\t<dps-link\n\t\t\t\t\thref={`#!/guides/${selectedRelease}/developer-program/pdi-guide/managing-your-pdi`}\n\t\t\t\t\tbutton-style\n\t\t\t\t\tid={ACTIONS_IDS.MANAGING_YOUR_PDI}\n\t\t\t\t\tbutton-size=\"sm\"\n\t\t\t\t\tbare\n\t\t\t\t\ticonAction\n\t\t\t\t>\n\t\t\t\t\t<div className=\"pdi-document\">\n\t\t\t\t\t\t<img src={document} alt=\"Managing your PDI\" />\n\t\t\t\t\t\t<div className=\"link-text\">{LINKS.MANAGING_PDI}</div>\n\t\t\t\t\t</div>\n\t\t\t\t</dps-link>\n\n\t\t\t\t<dps-link\n\t\t\t\t\thref={`https://www.servicenow.com/community/developer-advocate-blog/bg-p/developer-advocate-blog`}\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\tbutton-style\n\t\t\t\t\tbutton-size=\"sm\"\n\t\t\t\t\tid={ACTIONS_IDS.DEVELOPER_ADVOCATE_BLOG}\n\t\t\t\t\tbare\n\t\t\t\t\ticonAction\n\t\t\t\t>\n\t\t\t\t\t<div className=\"pdi-document\">\n\t\t\t\t\t\t<img src={document} alt=\"Developer advocate blog\" />\n\t\t\t\t\t\t<span className=\"link-text\">\n\t\t\t\t\t\t\t{LINKS.DEV_ADVOCATE_BLOG}\n\t\t\t\t\t\t\t<img src={url} alt=\"url\" className=\"url\" />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t</dps-link>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-useful-links', {\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles,\n\tproperties: {\n\t\tselectedRelease: { default: '' },\n\t\tsystemProperties: { default: {} }\n\t}\n});\n","import snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport '@servicenow/now-modal';\nimport '@servicenow/now-button';\n\nimport { handleOnExecuteCatItem, constructClickTrackingData } from '../helpers';\n\nimport { INSTANCE_ACTION_LABELS, LABELS } from '../../../constants';\n\nimport pluginIcon from '../../../images/icons/plugin.svg';\n\nimport styles from './dps-plugin.scss';\n\nimport { ACTIONS_IDS, MODALS } from '../constants'\n\nconst view = (state, { dispatch, updateProperties }) => {\n\tconst {\n\t\tproperties: {\n\t\t\tinstanceInfo,\n\t\t\tstatus,\n\t\t\tcurrentActivatingPlugin,\n\t\t\tinstanceMenuItems,\n\t\t\tplugin,\n\t\t\topenedApp,\n\t\t\tisPluginHovered\n\t\t}\n\t} = state;\n\n\tconst pluginMenuItem = instanceMenuItems.find(\n\t\titem => item.name == INSTANCE_ACTION_LABELS.ACTIVATE_PLUGIN\n\t);\n\n\t/**\n\t * Returns an array of actions for the plugin modal.\n\t * The actions depend on the plugin's demo data status and the current activation state.\n\t *\n\t * @param {Object} plugin - The plugin object containing details about the plugin.\n\t * @returns {Array} - An array of action objects for the modal.\n\t */\n\tconst pluginModalActions = plugin => {\n\t\tconst actions = [\n\t\t\t{\n\t\t\t\tvariant: 'secondary',\n\t\t\t\tlabel: LABELS.CANCEL,\n\t\t\t\tclickActionType: 'CANCEL_ACTIVATE_PLUGIN'\n\t\t\t}\n\t\t];\n\n\t\t// Handle plugin actions based on demo data presence\n\t\tif (Number(plugin.hasDemoData) && currentActivatingPlugin != plugin.id) {\n\t\t\tactions.unshift(\n\t\t\t\t{\n\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\tlabel: LABELS.ACTIVATE_WITH_DEMO_DATA,\n\t\t\t\t\tclickActionType: 'ACTIVATE_WITH_DEMO_DATA',\n\t\t\t\t\tplugin\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tvariant: 'secondary',\n\t\t\t\t\tlabel: LABELS.ACTIVATE_WITHOUT_DEMO_DATA,\n\t\t\t\t\tclickActionType: 'ACTIVATE_WITHOUT_DEMO_DATA',\n\t\t\t\t\tplugin\n\t\t\t\t}\n\t\t\t);\n\t\t} else if (currentActivatingPlugin != plugin.id) {\n\t\t\tactions.unshift({\n\t\t\t\tvariant: 'primary',\n\t\t\t\tlabel: LABELS.ACTIVATE_PLUGIN,\n\t\t\t\tclickActionType: 'ACTIVATE_PLUGIN',\n\t\t\t\tplugin\n\t\t\t});\n\t\t}\n\n\t\treturn actions;\n\t};\n\n\t/**\n\t * Renders the buttons to activate the plugin with or without demo data.\n\t *\n\t * @returns {JSX.Element} The JSX for the buttons to activate the plugin with demo data or without.\n\t */\n\n\tconst renderActivateWithDemoData = () => (\n\t\t<div className=\"plugin-three-actions\">\n\t\t\t<now-button\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tsize=\"md\"\n\t\t\t\tslot=\"cta\"\n\t\t\t\tclassName=\"plugin-button\"\n\t\t\t\tid={ACTIONS_IDS.ACTIVATE_WITH_DEMO_DATA}\n\t\t\t\tlabel={LABELS.ACTIVATE_WITH_DEMO_DATA}\n\t\t\t\ton-click={evt => handleActivateWithDemoData(evt)}\n\t\t\t/>\n\t\t\t<now-button\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tsize=\"md\"\n\t\t\t\tslot=\"cta\"\n\t\t\t\tclassName=\"plugin-button\"\n\t\t\t\tid={ACTIONS_IDS.ACTIVATE_WITHOUT_DEMO_DATA}\n\t\t\t\tlabel={LABELS.ACTIVATE_WITHOUT_DEMO_DATA}\n\t\t\t\ton-click={evt => handleActivateWithoutDemoData(evt)}\n\t\t\t/>\n\t\t\t{renderViewDetailsButton()}\n\t\t</div>\n\t);\n\n\tconst renderCancelButton = () => (\n\t\t<now-button\n\t\t\tvariant=\"secondary\"\n\t\t\tsize=\"md\"\n\t\t\tslot=\"cta\"\n\t\t\tclassName=\"plugin-button\"\n\t\t\tid={ACTIONS_IDS.CANCEL}\n\t\t\tlabel={LABELS.CANCEL}\n\t\t\ton-click={evt => evt.stopPropagation()}\n\t\t/>\n\t);\n\n\t/**\n\t * Renders a button to view the plugin details.\n\t * When clicked, it updates the state to show the plugin details modal.\n\t *\n\t * @returns {JSX.Element} The JSX for the \"View details\" button.\n\t */\n\tconst renderViewDetailsButton = () => (\n\t\t<now-button\n\t\t\tlabel={LABELS.VIEW_DETAILS}\n\t\t\tvariant=\"secondary\"\n\t\t\tclassName=\"plugin-button\"\n\t\t\tsize=\"md\"\n\t\t\tslot=\"cta\"\n\t\t\tid={ACTIONS_IDS.VIEW_DETAILS}\n\t\t\ton-click={evt => {\n\t\t\t\tevt.stopPropagation();\n\t\t\t\tupdateProperties({\n\t\t\t\t\topenedApp: 'showWithDemoDataPluginDetails'\n\t\t\t\t});\n\t\t\t}}\n\t\t/>\n\t);\n\n\t/**\n\t * Renders the modal displaying the plugin details.\n\t * The modal is opened if the `openedApp` matches the specified value for showing plugin details.\n\t *\n\t * @param {string} openedApp - The current application state to determine which modal to display.\n\t * @param {object} plugin - The plugin object containing the details to show in the modal.\n\t * @returns {JSX.Element} The JSX for the plugin details modal.\n\t */\n\tconst renderModal = (openedApp, plugin) => (\n\t\t<now-modal\n\t\t\tcomponent-name={MODALS.VIEW_PLUGIN_DETAILS}\n\t\t\tmanage-opened\n\t\t\topened={openedApp === 'showWithDemoDataPluginDetails'}\n\t\t\tcontent={pluginDescription}\n\t\t\ttype=\"lg\"\n\t\t\tcustomSize={{\n\t\t\t\theight: 'auto',\n\t\t\t\twidth: '55.56vw'\n\t\t\t}}\n\t\t\theader-label={plugin.name}\n\t\t\tfooter-actions={pluginModalActions(plugin)}\n\t\t>\n\t\t</now-modal>\n\t);\n\n\t/**\n\t * Renders the button to activate the plugin.\n\t * When clicked, it triggers the activation process for the plugin.\n\t *\n\t * @returns {JSX.Element} The JSX for the \"Activate plugin\" button.\n\t */\n\tconst renderActivatePlugin = () => (\n\t\t<div className=\"plugin-two-actions\">\n\t\t\t<now-button\n\t\t\t\tlabel=\"Activate plugin\"\n\t\t\t\tclassName=\"plugin-button\"\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tid={ACTIONS_IDS.ACTIVATE_PLUGIN}\n\t\t\t\tsize=\"md\"\n\t\t\t\tslot=\"cta\"\n\t\t\t\ton-click={evt => handleActivatePlugin(evt)}\n\t\t\t/>\n\t\t\t{renderViewDetailsButton()}\n\t\t</div>\n\t);\n\n\t/**\n\t * Renders the actions for a plugin based on whether it has demo data.\n\t * If the plugin has demo data, it displays options to activate with or without demo data.\n\t * If it does not have demo data, it shows the option to activate the plugin.\n\t *\n\t * @returns {JSX.Element} The JSX for the plugin actions, including activation buttons, view details button, and modal.\n\t */\n\tconst renderPluginActions = () => {\n\t\tconst isDemo = Number(plugin.hasDemoData);\n\t\tconst actionButton = isDemo\n\t\t\t? renderActivateWithDemoData()\n\t\t\t: renderActivatePlugin();\n\n\t\treturn (\n\t\t\t<div className=\"plugin-button-content\">\n\t\t\t\t{actionButton}\n\t\t\t</div>\n\t\t);\n\t};\n\n\n\t/**\n\t * Handles the activation of a plugin with demo data.\n\t * This function stops event propagation, triggers the activation process with demo data,\n\t * and updates the state to indicate which plugin is currently being activated.\n\t *\n\t * @param {Event} evt - The event object that triggered the function.\n\t */\n\tconst handleActivateWithDemoData = evt => {\n\t\tevt.stopPropagation();\n\t\thandleOnExecuteCatItem({\n\t\t\tcat_item_id: pluginMenuItem.sys_id,\n\t\t\tdispatch,\n\t\t\tins_id: instanceInfo.sys_id,\n\t\t\tmenuItem: pluginMenuItem,\n\t\t\tupdateProperties,\n\t\t\tadditionalParams: {\n\t\t\t\tpluginId: plugin.id,\n\t\t\t\tuseDemoData: true,\n\t\t\t\tsend_email: true\n\t\t\t}\n\t\t});\n\t\tupdateProperties({\n\t\t\tcurrentActivatingPlugin: plugin.id\n\t\t});\n\t};\n\n\t/**\n\t * Handles the activation of a plugin without demo data.\n\t * This function stops event propagation, triggers the activation process without demo data,\n\t * and updates the state to indicate which plugin is currently being activated.\n\t *\n\t * @param {Event} evt - The event object that triggered the function.\n\t */\n\tconst handleActivateWithoutDemoData = evt => {\n\t\tevt.stopPropagation();\n\t\thandleOnExecuteCatItem({\n\t\t\tcat_item_id: pluginMenuItem.sys_id,\n\t\t\tdispatch,\n\t\t\tins_id: instanceInfo.sys_id,\n\t\t\tmenuItem: pluginMenuItem,\n\t\t\tupdateProperties,\n\t\t\tadditionalParams: {\n\t\t\t\tpluginId: plugin.id,\n\t\t\t\tuseDemoData: false,\n\t\t\t\tsend_email: true\n\t\t\t}\n\t\t});\n\t\tupdateProperties({\n\t\t\tcurrentActivatingPlugin: plugin.id\n\t\t});\n\t};\n\n\t/**\n\t * Handles the activation of a plugin without demo data.\n\t * This function stops event propagation, triggers the activation process for the plugin without demo data,\n\t * and updates the state to indicate which plugin is currently being activated.\n\t *\n\t * @param {Event} evt - The event object that triggered the function.\n\t */\n\tconst handleActivatePlugin = evt => {\n\t\tevt.stopPropagation();\n\t\thandleOnExecuteCatItem({\n\t\t\tcat_item_id: pluginMenuItem.sys_id,\n\t\t\tdispatch,\n\t\t\tins_id: instanceInfo.sys_id,\n\t\t\tmenuItem: pluginMenuItem,\n\t\t\tadditionalParams: {\n\t\t\t\tpluginId: plugin.id,\n\t\t\t\tuseDemoData: false,\n\t\t\t\tsend_email: true\n\t\t\t}\n\t\t});\n\t\tupdateProperties({\n\t\t\tcurrentActivatingPlugin: plugin.id\n\t\t});\n\t};\n\n\tconst pluginDescription =\n\t\tplugin.short_desc || `Activate plugin ${plugin.name}.`;\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"plugin\"\n\t\t\ttabindex=\"0\"\n\t\t\ton-focusin={() => {\n\t\t\t\tif (openedApp !== 'showWithDemoDataPluginDetails') {\n\t\t\t\t\tupdateProperties({ isPluginHovered: true });\n\t\t\t\t}\n\t\t\t}}\n\t\t\ton-focusout={() => {\n\t\t\t\tif (openedApp !== 'showWithDemoDataPluginDetails') {\n\t\t\t\t\tupdateProperties({ isPluginHovered: false });\n\t\t\t\t}\n\t\t\t}}\n\t\t\ton-mouseover={() => { if (openedApp != 'showWithDemoDataPluginDetails') { updateProperties({ isPluginHovered: true }) } }}\n\t\t\ton-mouseleave={() => { if (openedApp != 'showWithDemoDataPluginDetails') { updateProperties({ isPluginHovered: false }) } }}\n\t\t>\n\t\t\t{!isPluginHovered ?\n\t\t\t\t<div className=\"plugin-content\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"plugin-status\"\n\t\t\t\t\t\tstyle={{ backgroundColor: status.bgColor }}\n\t\t\t\t\t>\n\t\t\t\t\t\t{status.icon ? <img src={status.icon} alt=\"tick mark\" /> : null}\n\t\t\t\t\t\t<span className='plugin-status-text'>{status.text}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"plugin-card-header\">\n\t\t\t\t\t\t<img src={pluginIcon} className=\"plugin-icon\" alt=\"Plugin\" />\n\t\t\t\t\t\t<div className=\"plugin-name\">{plugin.name}</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"plugin-short-desc\">{pluginDescription}</div>\n\t\t\t\t</div> : renderPluginActions()}\n\t\t\t{renderModal(openedApp, plugin)}\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-plugin', {\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles,\n\tproperties: {\n\t\tinstanceInfo: { default: {} },\n\t\tstatus: { default: {} },\n\t\tcatItemInProgress: {\n\t\t\tdefault: null\n\t\t},\n\t\tinstanceMenuItems: {\n\t\t\tdefault: []\n\t\t},\n\t\tcurrentActivatingPlugin: { default: null },\n\t\tplugin: { default: {} },\n\t\topenedApp: { default: '' },\n\t\tisPluginHovered: {\n\t\t\tdefault: false\n\t\t},\n\t},\n\tactionHandlers: {\n\t\tCANCEL_ACTIVATE_PLUGIN({ updateProperties }) {\n\t\t\tupdateProperties({ openedApp: null });\n\t\t},\n\t\t'NOW_MODAL#OPENED_SET'({ updateProperties }) {\n\t\t\tupdateProperties({ openedApp: null });\n\t\t},\n\t\tACTIVATE_WITH_DEMO_DATA({\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\tproperties,\n\t\t\tupdateProperties\n\t\t}) {\n\t\t\tconst { payload } = action;\n\t\t\tconst { footerAction } = payload;\n\t\t\tconst { plugin } = footerAction;\n\t\t\tconst { instanceInfo, instanceMenuItems } = properties;\n\t\t\tconst pluginMenuItem = instanceMenuItems.find(\n\t\t\t\titem => item.name == INSTANCE_ACTION_LABELS.ACTIVATE_PLUGIN\n\t\t\t);\n\n\t\t\thandleOnExecuteCatItem({\n\t\t\t\tcat_item_id: pluginMenuItem.sys_id,\n\t\t\t\tdispatch,\n\t\t\t\tins_id: instanceInfo.sys_id,\n\t\t\t\tmenuItem: pluginMenuItem,\n\t\t\t\tadditionalParams: {\n\t\t\t\t\tpluginId: plugin.id,\n\t\t\t\t\tuseDemoData: true,\n\t\t\t\t\tsend_email: true\n\t\t\t\t}\n\t\t\t});\n\t\t\tconst aaDigitalData = constructClickTrackingData({\n\t\t\t\tpageArea: 'Plugins',\n\t\t\t\tsection: 'Available plugins',\n\t\t\t\tcomponentName: 'Manage instance',\n\t\t\t\tctaText: 'Activate with demo data',\n\t\t\t\tdestination: ''\n\t\t\t});\n\n\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\taction: `click on Activate demo data on Plugin modal`,\n\t\t\t\tcategory: 'buttons',\n\t\t\t\tlabel: 'Activate with demo data',\n\t\t\t\tvalue: '',\n\t\t\t\tga: false,\n\t\t\t\tadobe: true,\n\t\t\t\tevent: action.meta.event,\n\t\t\t\taaDigitalData: aaDigitalData\n\t\t\t});\n\t\t\tupdateProperties({\n\t\t\t\tcurrentActivatingPlugin: plugin.id,\n\t\t\t\topenedApp: null\n\t\t\t});\n\t\t},\n\t\tACTIVATE_WITHOUT_DEMO_DATA({\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\tproperties,\n\t\t\tupdateProperties\n\t\t}) {\n\t\t\tconst { payload } = action;\n\t\t\tconst { footerAction } = payload;\n\t\t\tconst { plugin } = footerAction;\n\t\t\tconst { instanceInfo, instanceMenuItems } = properties;\n\t\t\tconst pluginMenuItem = instanceMenuItems.find(\n\t\t\t\titem => item.name == INSTANCE_ACTION_LABELS.ACTIVATE_PLUGIN\n\t\t\t);\n\t\t\thandleOnExecuteCatItem({\n\t\t\t\tcat_item_id: pluginMenuItem.sys_id,\n\t\t\t\tdispatch,\n\t\t\t\tins_id: instanceInfo.sys_id,\n\t\t\t\tmenuItem: pluginMenuItem,\n\t\t\t\tadditionalParams: {\n\t\t\t\t\tpluginId: plugin.id,\n\t\t\t\t\tuseDemoData: false,\n\t\t\t\t\tsend_email: true\n\t\t\t\t}\n\t\t\t});\n\t\t\tconst aaDigitalData = constructClickTrackingData({\n\t\t\t\tpageArea: 'Plugins',\n\t\t\t\tsection: 'Available plugins',\n\t\t\t\tcomponentName: 'Manage instance',\n\t\t\t\tctaText: 'Activate without demo data',\n\t\t\t\tdestination: ''\n\t\t\t});\n\n\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\taction: `click on Activate without demo data on Manage instance screen`,\n\t\t\t\tcategory: 'buttons',\n\t\t\t\tlabel: 'Activate without demo data',\n\t\t\t\tvalue: '',\n\t\t\t\tga: false,\n\t\t\t\tadobe: true,\n\t\t\t\tevent: action.meta.event,\n\t\t\t\taaDigitalData: aaDigitalData\n\t\t\t});\n\t\t\tupdateProperties({\n\t\t\t\tcurrentActivatingPlugin: plugin.id,\n\t\t\t\topenedApp: null\n\t\t\t});\n\t\t},\n\n\t\tACTIVATE_PLUGIN({ action, dispatch, properties, updateProperties }) {\n\t\t\tconst { payload } = action;\n\t\t\tconst { footerAction } = payload;\n\t\t\tconst { plugin } = footerAction;\n\n\t\t\tconst { instanceInfo, instanceMenuItems } = properties;\n\t\t\tconst pluginMenuItem = instanceMenuItems.find(\n\t\t\t\titem => item.name == INSTANCE_ACTION_LABELS.ACTIVATE_PLUGIN\n\t\t\t);\n\t\t\thandleOnExecuteCatItem({\n\t\t\t\tcat_item_id: pluginMenuItem.sys_id,\n\t\t\t\tdispatch,\n\t\t\t\tins_id: instanceInfo.sys_id,\n\t\t\t\tmenuItem: pluginMenuItem,\n\t\t\t\tadditionalParams: {\n\t\t\t\t\tpluginId: plugin.id,\n\t\t\t\t\tuseDemoData: false,\n\t\t\t\t\tsend_email: true\n\t\t\t\t}\n\t\t\t});\n\t\t\tconst aaDigitalData = constructClickTrackingData({\n\t\t\t\tpageArea: 'Plugins',\n\t\t\t\tsection: 'Available Plugins',\n\t\t\t\tcomponentName: 'Manage instance',\n\t\t\t\tctaText: 'Activate plugin',\n\t\t\t\tdestination: ''\n\t\t\t});\n\n\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\taction: `click on Activate plugin on Manage instance screen`,\n\t\t\t\tcategory: 'buttons',\n\t\t\t\tlabel: 'Activate plugin',\n\t\t\t\tvalue: '',\n\t\t\t\tga: false,\n\t\t\t\tadobe: true,\n\t\t\t\tevent: action.meta.event,\n\t\t\t\taaDigitalData: aaDigitalData\n\t\t\t});\n\t\t\tupdateProperties({\n\t\t\t\tcurrentActivatingPlugin: plugin.id,\n\t\t\t\topenedApp: null\n\t\t\t});\n\t\t}\n\t}\n});\n","export const itemSchema = {\n\ttype: 'object',\n\tproperties: {\n\t\tid: {type: ['string', 'number']},\n\t\tlabel: {type: 'string'},\n\t\ticon: {type: 'string'},\n\t\tcount: {type: 'number'},\n\t\tpresence: {type: 'string', enum: ['available', 'away', 'busy', 'offline']},\n\t\tdisabled: {type: 'boolean'},\n\t},\n\trequired: ['id', 'label'],\n};\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {\n\tmeasureText,\n\tfilterAriaAttributes,\n\tisDirectionalKey,\n\tisNextKey,\n\tisPreviousKey,\n\tgetShadowRootHost,\n} from '@servicenow/library-enhanced-utils';\nimport {actionTypes} from '@servicenow/ui-core';\nconst {COMPONENT_CONNECTED} = actionTypes;\nimport styles from './_now-tabs.scss';\nimport resizeBehavior from '@servicenow/behavior-resize';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport themeBehavior from '@servicenow/behavior-theme';\nimport '@servicenow/now-dropdown';\nimport '@servicenow/now-icon';\nimport {localizePresence} from '@servicenow/now-icon';\nimport tooltipBehavior, {\n\tTOOLTIP_SHOW,\n\tTOOLTIP_HIDE,\n} from '@servicenow/behavior-tooltip';\nimport '@servicenow/now-tooltip';\nimport {t, appendTranslations} from 'sn-translate';\nimport sum from 'lodash/sum';\nimport {itemSchema} from './schemas/tabs-schema';\nimport {configAriaSchema} from '@servicenow/library-schemas';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\n\nif (process.env.NODE_ENV === 'development') {\n\t// rely on existing key on the instance, add it to local env\n\tappendTranslations({\n\t\tMore_menu: 'More',\n\t});\n}\n\nlet measureTxt;\nlet measureTxtSelected;\nlet SCALE_FACTOR;\nlet PADDING;\nlet HIDE_PADDING;\n\nconst ICON_WIDTH = {\n\tsm: 12,\n\tmd: 16,\n};\n\nconst getPadding = (hidePadding) => {\n\treturn hidePadding ? HIDE_PADDING : PADDING * SCALE_FACTOR * 2; //2X for padding-inline-start and end\n};\n\nconst measureTabItems = (\n\titems,\n\tfixedWidth,\n\thideLabel,\n\tmaxWidth,\n\tICON_SIZE,\n\tsize,\n\thidePadding,\n\tselectedId,\n) => {\n\tif (fixedWidth) {\n\t\treturn Array(items.length).fill(hideLabel ? 48 : 100);\n\t}\n\treturn items.map((item) => {\n\t\tconst measure = item.id === selectedId ? measureTxtSelected : measureTxt;\n\t\tlet width = getPadding(hidePadding);\n\t\twidth += item.icon || item.presence ? ICON_SIZE : 0;\n\t\twidth += hideLabel ? 0 : measure(item.label);\n\t\twidth += item.count ? measure(` (${item.count})`) : 0;\n\t\treturn Math.min(maxWidth, width);\n\t});\n};\n\nconst measureTabs = (\n\twidthAvailable,\n\ttheme,\n\titems,\n\thideLabel,\n\tfixedWidth,\n\tselectedId,\n\tmaxWidth,\n\tsize,\n\thidePadding,\n) => {\n\t// only proceed if resize behavior has provided us total width available\n\tif (!widthAvailable || !items || !items.length) {\n\t\treturn {visibleItems: items, overflowItems: []};\n\t}\n\n\tconst ICON_SIZE = hideLabel\n\t\t? ICON_WIDTH[size]\n\t\t: ICON_WIDTH[size] + theme.global.space.xxs.px;\n\n\t// create array with width required for each tab\n\tconst tabWidths = measureTabItems(\n\t\titems,\n\t\tfixedWidth,\n\t\thideLabel,\n\t\tmaxWidth,\n\t\tICON_SIZE,\n\t\tsize,\n\t\thidePadding,\n\t\tselectedId,\n\t);\n\n\tlet widthRequired = sum(tabWidths);\n\n\tlet i = items.length;\n\tconst overflowMenuWidth = hideLabel\n\t\t? getPadding(hidePadding) + ICON_SIZE\n\t\t: getPadding(hidePadding) + measureTxt(t('More_menu')) + ICON_SIZE;\n\tconst selectedItemIndex = items.findIndex((item) => item.id === selectedId);\n\tconst selectedItemWidth = tabWidths[selectedItemIndex];\n\n\twhile (widthRequired > widthAvailable && i >= 1) {\n\t\ti--;\n\t\tif (selectedItemIndex >= i) {\n\t\t\twidthRequired =\n\t\t\t\toverflowMenuWidth + sum(tabWidths.slice(0, i)) + selectedItemWidth;\n\t\t} else {\n\t\t\twidthRequired = overflowMenuWidth + sum(tabWidths.slice(0, i));\n\t\t}\n\t}\n\tif (selectedItemIndex >= i) {\n\t\treturn {\n\t\t\tvisibleItems: [...items.slice(0, i), items[selectedItemIndex]],\n\t\t\toverflowItems: [\n\t\t\t\t...items.slice(i, selectedItemIndex),\n\t\t\t\t...items.slice(selectedItemIndex + 1),\n\t\t\t],\n\t\t};\n\t}\n\treturn {\n\t\tvisibleItems: items.slice(0, i),\n\t\toverflowItems: items.slice(i),\n\t};\n};\n\nconst selectTab = (host, index, properties, dispatch, updateState) => {\n\tconst {items} = properties;\n\tconst newSelectedItem = items[index];\n\n\tlet tabs = host.shadowRoot.querySelectorAll('button.now-tab');\n\tif (index >= tabs.length) return;\n\ttabs[index].focus();\n\tupdateState({\n\t\tpath: 'focusedItem',\n\t\toperation: 'set',\n\t\tvalue: newSelectedItem,\n\t});\n\tdispatch(() => {\n\t\treturn {\n\t\t\ttype: 'NOW_TABS#SELECTED_ITEM_SET',\n\t\t\tpayload: {\n\t\t\t\tvalue: newSelectedItem.id,\n\t\t\t\titem: newSelectedItem,\n\t\t\t},\n\t\t};\n\t});\n};\n\nconst updateFocusedItem = (updateState, value) => {\n\tupdateState({\n\t\tpath: 'focusedItem',\n\t\toperation: 'set',\n\t\tvalue: value,\n\t});\n\n\tupdateState({nextFocusNotInTabs: false});\n};\n\nconst getNewItemIndex = (state, selectedItem, items, tabs, isNext) => {\n\tconst currentItem = state.focusedItem?.id || selectedItem;\n\n\tconst currentIndex = items.findIndex((item) => item.id === currentItem);\n\n\tlet newIndex;\n\n\tif (isNext) {\n\t\tnewIndex = currentIndex + 1 >= tabs.length ? 0 : currentIndex + 1;\n\t} else {\n\t\tnewIndex =\n\t\t\tcurrentIndex === 0\n\t\t\t\t? tabs.length - 1\n\t\t\t\t: currentIndex >= tabs.length\n\t\t\t\t\t? tabs.length - 2\n\t\t\t\t\t: currentIndex - 1;\n\t}\n\n\treturn newIndex;\n};\n\nconst handleFocusManagement = (\n\titems,\n\tnewIndex,\n\ttabs,\n\thost,\n\tproperties,\n\tupdateState,\n\tdispatch,\n) => {\n\tconst newItem = items[newIndex];\n\tif (newItem.disabled && newIndex < tabs.length) {\n\t\ttabs[newIndex].focus();\n\t\tupdateFocusedItem(updateState, items[newIndex]);\n\t} else {\n\t\tselectTab(host, newIndex, properties, dispatch, updateState);\n\t}\n};\n\nconst getDropdownOpenedOrFocused = (host) => {\n\tconst dropdown = host.shadowRoot.querySelector('now-dropdown');\n\tconst active = host.shadowRoot.activeElement;\n\treturn dropdown && (dropdown.opened || active === dropdown);\n};\n\nconst renderTabIcon = ({item, hideLabel, selected, size}) => {\n\tif (item.icon) {\n\t\treturn (\n\t\t\t<now-icon\n\t\t\t\tclass={{'now-tab-icon': true, 'now-m-inline-end--xxs': !hideLabel}}\n\t\t\t\ticon={\n\t\t\t\t\tselected\n\t\t\t\t\t\t? item.icon.replace('outline', 'fill')\n\t\t\t\t\t\t: item.icon.replace('fill', 'outline')\n\t\t\t\t}\n\t\t\t\tsize={size}\n\t\t\t/>\n\t\t);\n\t}\n\tif (item.presence) {\n\t\treturn (\n\t\t\t<now-icon-presence\n\t\t\t\tclassName=\"now-tab-presence now-m-inline-end--xxs\"\n\t\t\t\tpresence={item.presence}\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tsize={size}\n\t\t\t/>\n\t\t);\n\t}\n};\n\nconst renderTab = ({\n\tkey,\n\titem,\n\thideLabel,\n\tselected,\n\tfixedWidth,\n\tmaxWidth,\n\tdisabled,\n\tsize,\n\tdisabledTabIsFocused,\n\tdispatch,\n\tupdateState,\n}) => {\n\tconst count = item.count ? `\\u00A0(${item.count})` : '';\n\tconst ariaCount = item.count ? `, ${item.count}` : '';\n\tconst presence = item.presence ? `, ${localizePresence(item.presence)}` : '';\n\tconst ariaLabel = item.label + presence + ariaCount;\n\tconst label = hideLabel ? undefined : item.label;\n\n\tconst renderCount = (count) => {\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t&#160;(<span className=\"now-tab-count\">{count}</span>)\n\t\t\t</Fragment>\n\t\t);\n\t};\n\n\tconst handleDisabledFocusIn = (e) => {\n\t\t// change the tab index (to -1)\n\t\tupdateState({disabledTabIsFocused: true});\n\n\t\thandleTooltipShow(e);\n\t};\n\n\tconst handleDisabledFocusOut = (e) => {\n\t\t// change the tab index (to 0)\n\t\tupdateState({disabledTabIsFocused: false});\n\n\t\thandleTooltipHide(e);\n\t};\n\n\tconst handleTooltipShow = (e) => {\n\t\tconst labelSpan = e.target.querySelector('.now-tab-label');\n\t\tconst isOverset = labelSpan.scrollWidth > labelSpan.clientWidth;\n\n\t\tif (hideLabel || isOverset) {\n\t\t\treturn dispatch(TOOLTIP_SHOW, {target: e.target});\n\t\t}\n\t};\n\n\tconst handleTooltipHide = (e) => {\n\t\tconst labelSpan = e.target.querySelector('.now-tab-label');\n\t\tconst isOverset = labelSpan.scrollWidth > labelSpan.clientWidth;\n\n\t\tif (hideLabel || isOverset) {\n\t\t\treturn dispatch(TOOLTIP_HIDE, {target: e.target});\n\t\t}\n\t};\n\n\tconst handleClick = () => {\n\t\tupdateFocusedItem(updateState, item);\n\t\tif (!selected && !disabled) {\n\t\t\tdispatch(() => {\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'NOW_TABS#SELECTED_ITEM_SET',\n\t\t\t\t\tpayload: {value: key, item},\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t};\n\n\treturn (\n\t\t<button\n\t\t\tkey={key}\n\t\t\tdata-itemid={key}\n\t\t\tclass={{\n\t\t\t\t'now-tab': true,\n\t\t\t\t'is-selected': selected,\n\t\t\t\t'is-disabled': disabled,\n\t\t\t\t['-' + size]: size,\n\t\t\t\t'fixed-width': fixedWidth,\n\t\t\t}}\n\t\t\tstyle={{\n\t\t\t\t'max-inline-size': fixedWidth ? undefined : maxWidth + 'px',\n\t\t\t}}\n\t\t\trole=\"tab\"\n\t\t\ttabIndex={selected && !disabledTabIsFocused ? undefined : '-1'}\n\t\t\taria-controls={selected ? 'tab-panel' : undefined}\n\t\t\taria-disabled={disabled ? 'true' : undefined}\n\t\t\taria-selected={selected ? 'true' : 'false'}\n\t\t\taria-label={ariaLabel}\n\t\t\ton-click={handleClick}\n\t\t\tdata-tooltip={item.label + count}\n\t\t\tdata-ariadescribedby={item.label}\n\t\t\ton-mouseenter={handleTooltipShow}\n\t\t\ton-focusin={disabled ? handleDisabledFocusIn : handleTooltipShow}\n\t\t\ton-mouseleave={handleTooltipHide}\n\t\t\ton-focusout={disabled ? handleDisabledFocusOut : handleTooltipHide}\n\t\t>\n\t\t\t{renderTabIcon({item, hideLabel, selected, size})}\n\t\t\t<span className=\"now-line-height-crop\">\n\t\t\t\t<span className=\"now-align\">\n\t\t\t\t\t<span className=\"now-tab-label\">{label}</span>\n\t\t\t\t\t{count ? renderCount(item.count) : undefined}\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t</button>\n\t);\n};\n\nconst view = (state, {dispatch, updateState}) => {\n\tconst {\n\t\titems,\n\t\tselectedItem,\n\t\thideLabel,\n\t\tfixedWidth,\n\t\tmaxWidth,\n\t\tconfigAria,\n\t\tsize,\n\t\thidePadding,\n\t\thideDivider,\n\t\tnowId,\n\t} = state.properties;\n\n\tconst {theme} = state.behaviors;\n\tconst {disabledTabIsFocused} = state;\n\tSCALE_FACTOR = theme['--now-tabs--scale-size-inline'] || 1;\n\tPADDING = size === 'sm' ? theme.global.space.sm.px : theme.global.space.lg.px; // md size uses lg in scss, AND use px in js\n\tHIDE_PADDING = theme.global.space.xl.px * SCALE_FACTOR;\n\tmeasureTxt = measureText({\n\t\ttxtTransform: theme['--now-tabs--text-transform'],\n\t\tfontStyle: theme['--now-tabs--font-style'],\n\t\tfontFamily: theme['--now-tabs--font-family'],\n\t\tfontSize: `${theme.global.fontSize[size].px}px`,\n\t\tfontWeight: theme['--now-tabs--font-weight'],\n\t});\n\n\tmeasureTxtSelected = measureText({\n\t\ttxtTransform: theme['--now-tabs--text-transform--selected'],\n\t\tfontStyle: theme['--now-tabs--font-style'],\n\t\tfontFamily: theme['--now-tabs--font-family'],\n\t\tfontSize: `${theme.global.fontSize[size].px}px`,\n\t\tfontWeight: theme['--now-tabs--font-weight--selected'],\n\t});\n\n\tlet {visibleItems, overflowItems} = measureTabs(\n\t\tstate.behaviors.resize.size.width,\n\t\tstate.behaviors.theme,\n\t\titems,\n\t\thideLabel,\n\t\tfixedWidth,\n\t\tselectedItem,\n\t\tmaxWidth,\n\t\tsize,\n\t\thidePadding,\n\t);\n\n\tconst onFocusIn = async () => {\n\t\tupdateState({nextFocusNotInTabs: false});\n\t};\n\n\tconst onFocusOut = async (e) => {\n\t\tconst host = getShadowRootHost(e.target);\n\t\tconst relatedTargetHost = e.relatedTarget\n\t\t\t? getShadowRootHost(e.relatedTarget)\n\t\t\t: null;\n\t\tupdateState({nextFocusNotInTabs: relatedTargetHost !== host});\n\t\tif (state.nextFocusNotInTabs || state.focusSelected) {\n\t\t\tupdateState({focusedItem: null});\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className=\"now-tabs-container\">\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'now-tabs': true,\n\t\t\t\t\t'hide-divider': hideDivider,\n\t\t\t\t\t'fixed-width': fixedWidth,\n\t\t\t\t\t'icon-only': hideLabel,\n\t\t\t\t\t['-' + size]: size,\n\t\t\t\t\t'hide-padding': hidePadding,\n\t\t\t\t}}\n\t\t\t\ton-focusin={onFocusIn}\n\t\t\t\ton-focusout={onFocusOut}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"now-tab-list\"\n\t\t\t\t\trole=\"tablist\"\n\t\t\t\t\t{...filterAriaAttributes(configAria, 'tablist')}\n\t\t\t\t>\n\t\t\t\t\t{visibleItems &&\n\t\t\t\t\t\tvisibleItems.map((item) => {\n\t\t\t\t\t\t\treturn renderTab({\n\t\t\t\t\t\t\t\tkey: item.id,\n\t\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\t\thideLabel,\n\n\t\t\t\t\t\t\t\tselected: selectedItem === item.id,\n\t\t\t\t\t\t\t\tfixedWidth,\n\t\t\t\t\t\t\t\tmaxWidth,\n\t\t\t\t\t\t\t\tdisabled: item.disabled,\n\t\t\t\t\t\t\t\tsize,\n\t\t\t\t\t\t\t\tdisabledTabIsFocused,\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t\t{overflowItems.length ? (\n\t\t\t\t\t<now-dropdown\n\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t'aria-label': t('More tabs'),\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'now-tab-dropdown': true,\n\t\t\t\t\t\t\t['-' + size]: size,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t// use the More_menu key to ensure we have an uppercase first letter\n\t\t\t\t\t\tplaceholder={hideLabel ? undefined : t('More_menu')}\n\t\t\t\t\t\ttooltip-content={t('More tabs')}\n\t\t\t\t\t\ticon={hideLabel ? 'ellipsis-vertical-fill' : undefined}\n\t\t\t\t\t\titems={overflowItems}\n\t\t\t\t\t\thide-label={hideLabel}\n\t\t\t\t\t\thide-caret={hideLabel}\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tselect=\"none\"\n\t\t\t\t\t\tsize={size}\n\t\t\t\t\t\tshow-padding={!hidePadding}\n\t\t\t\t\t\tbare\n\t\t\t\t\t\tappend-to-meta={{componentId: nowId}}\n\t\t\t\t\t/>\n\t\t\t\t) : undefined}\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\taria-labelledby={selectedItem}\n\t\t\t\tclassName=\"now-tab-panel\"\n\t\t\t\tid=\"tab-panel\"\n\t\t\t\trole=\"tabpanel\"\n\t\t\t>\n\t\t\t\t<slot name={selectedItem} />\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\n/**\n * Tabs provide navigation between grouped content in a specific hierarchy.\n * They also identify a user’s specific location in the display.\n *\n * ```jsx\n * const items = [\n *  {id: 'tab1', label: 'Tab 1', icon: 'bell-outline', count: 7},\n * \t{id: 'tab2', label: 'Tab 2', icon: 'document-outline', count: 3}\n * ];\n *\n * <now-tabs items={items} hide-label fixed-width />\n * ```\n *\n * @seismicElement now-tabs\n * @summary Horizontal tab menu for navigating between tabbed content.\n */\ncreateEnhancedElement('now-tabs', {\n\tproperties: {\n\t\t/**\n\t\t * An array of objects, each with the configuration for a tab.\n\t\t * @type {TabItem[]}\n\t\t */\n\t\titems: {\n\t\t\tdefault: [],\n\t\t\trequired: true,\n\t\t\tschema: {type: 'array', items: itemSchema},\n\t\t},\n\t\t/**\n\t\t * ID of the selected tab item.\n\t\t * @type {(string|number)}\n\t\t */\n\t\tselectedItem: {manageable: true, schema: {type: ['string', 'number']}},\n\t\t/**\n\t\t * Set this flag to display tabs with only an icon and no label inside.\n\t\t * You should still specify a label in the `items` array, for displaying\n\t\t * in a tooltip and for representing the tab to assistive technology.\n\t\t * @type {boolean}\n\t\t */\n\t\thideLabel: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Set this flag to display each tab with a uniform width, a fraction\n\t\t * of the total width taken up by the component.\n\t\t * @type {boolean}\n\t\t */\n\t\tfixedWidth: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Maximum width (as a number of pixels) for each tab element.\n\t\t * Only applies for dynamic width tabs, when `fixedWidth` is not true.\n\t\t * @type {number}\n\t\t */\n\t\tmaxWidth: {default: 240, schema: {type: 'number'}},\n\t\t/**\n\t\t * Deprecated\n\t\t * @private\n\t\t */\n\t\tshowPresencePattern: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Set this flag to display each tab with no left or right padding. 24px spacing will be added between tabs.\n\t\t * @type {boolean}\n\t\t */\n\t\thidePadding: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Set this flag to hide the divider underneath the tab set.\n\t\t * @type {boolean}\n\t\t */\n\t\thideDivider: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * now-tabs. The value of each key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s. These ARIA\n\t\t * properties are set on the specified element.\n\t\t * The 'tablist' key corresponds to the element with an ARIA role of 'tablist'.\n\t\t * See https://www.w3.org/TR/wai-aria-1.2/#tablist for properties\n\t\t * and accepted values.\n\t\t * @type {{ 'tablist': {'aria-*': string, role: string} }}\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\toneOf: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\ttablist: configAriaSchema,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tadditionalProperties: false,\n\t\t\t\t\t},\n\t\t\t\t\tconfigAriaSchema,\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Sets the tabs size.\n\t\t * @type {('sm'|'md')}\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['sm', 'md'],\n\t\t\t},\n\t\t},\n\t},\n\tslots: {\n\t\t/**\n\t\t * A named slot where the name corresponds to the ID of the current selectedItem.\n\t\t * Slot content for each of the steps in your items array and the panel area will\n\t\t * switch between content based on user selection.\n\t\t */\n\t\tdynamic: {},\n\t},\n\tinitialState: {\n\t\tfocusedItem: null,\n\t\tfocusSelected: false,\n\t\tdisabledTabIsFocused: false,\n\t\tnextFocusNotInTabs: false,\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_CONNECTED]: ({properties, dispatch}) => {\n\t\t\tconst {items, selectedItem} = properties;\n\t\t\tif (selectedItem || !items) return;\n\t\t\tconst enabledItems = items.filter((item) => !item.disabled);\n\t\t\tif (enabledItems.length) {\n\t\t\t\tdispatch(() => ({\n\t\t\t\t\ttype: 'NOW_TABS#SELECTED_ITEM_SET',\n\t\t\t\t\tpayload: {value: enabledItems[0].id, item: enabledItems[0]},\n\t\t\t\t}));\n\t\t\t}\n\t\t},\n\t\t'NOW_DROPDOWN#ITEM_CLICKED': ({dispatch, action, updateState, state}) => {\n\t\t\tconst nowId = state?.properties?.nowId;\n\t\t\tconst componentId = action?.meta?.appended?.componentId;\n\t\t\tdispatch(() => {\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'NOW_TABS#SELECTED_ITEM_SET',\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tvalue: action.payload.item.id,\n\t\t\t\t\t\titem: action.payload.item,\n\t\t\t\t\t},\n\t\t\t\t\tshouldDispatch: nowId === componentId,\n\t\t\t\t};\n\t\t\t});\n\t\t\tupdateState({\n\t\t\t\tpath: 'focusSelected',\n\t\t\t\toperation: 'set',\n\t\t\t\tvalue: true,\n\t\t\t\tshouldRender: false,\n\t\t\t\tshouldUpdate: nowId === componentId,\n\t\t\t});\n\n\t\t\taction.stopPropagation();\n\t\t},\n\t\t'NOW_DROPDOWN#LIST_HIDDEN': ({action, host, state, updateState}) => {\n\t\t\tif (!state.focusSelected) return;\n\t\t\tconst selected = host?.shadowRoot?.querySelector(\n\t\t\t\t'button.now-tab.is-selected',\n\t\t\t);\n\t\t\tif (!selected) return;\n\t\t\tselected?.focus();\n\t\t\tupdateState({\n\t\t\t\tpath: 'focusSelected',\n\t\t\t\toperation: 'set',\n\t\t\t\tvalue: false,\n\t\t\t\tshouldRender: false,\n\t\t\t});\n\t\t\taction.stopPropagation();\n\t\t},\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['keydown'],\n\t\t\teffect: ({host, action, properties, dispatch, updateState, state}) => {\n\t\t\t\tconst {key} = action.payload.event;\n\t\t\t\tconst {items, selectedItem, dir} = properties;\n\t\t\t\tconst tabs = host.shadowRoot.querySelectorAll('button.now-tab');\n\n\t\t\t\tif (state.nextFocusNotInTabs) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tif (isDirectionalKey(key)) {\n\t\t\t\t\taction.preventDefault();\n\t\t\t\t\taction.stopPropagation();\n\t\t\t\t\tdispatch(TOOLTIP_HIDE, {\n\t\t\t\t\t\ttarget: host.shadowRoot.activeElement,\n\t\t\t\t\t\tdelay: 0,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (isNextKey(key, dir, false)) {\n\t\t\t\t\tif (getDropdownOpenedOrFocused(host)) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst newIndex = getNewItemIndex(state, selectedItem, items, tabs, 1);\n\t\t\t\t\thandleFocusManagement(\n\t\t\t\t\t\titems,\n\t\t\t\t\t\tnewIndex,\n\t\t\t\t\t\ttabs,\n\t\t\t\t\t\thost,\n\t\t\t\t\t\tproperties,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t);\n\t\t\t\t} else if (isPreviousKey(key, dir, false)) {\n\t\t\t\t\tif (getDropdownOpenedOrFocused(host)) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst newIndex = getNewItemIndex(state, selectedItem, items, tabs, 0);\n\t\t\t\t\thandleFocusManagement(\n\t\t\t\t\t\titems,\n\t\t\t\t\t\tnewIndex,\n\t\t\t\t\t\ttabs,\n\t\t\t\t\t\thost,\n\t\t\t\t\t\tproperties,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t);\n\t\t\t\t} else if (key === 'Home') {\n\t\t\t\t\thandleFocusManagement(\n\t\t\t\t\t\titems,\n\t\t\t\t\t\t0,\n\t\t\t\t\t\ttabs,\n\t\t\t\t\t\thost,\n\t\t\t\t\t\tproperties,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t);\n\t\t\t\t} else if (key === 'End') {\n\t\t\t\t\thandleFocusManagement(\n\t\t\t\t\t\titems,\n\t\t\t\t\t\ttabs.length - 1,\n\t\t\t\t\t\ttabs,\n\t\t\t\t\t\thost,\n\t\t\t\t\t\tproperties,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t],\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: resizeBehavior,\n\t\t\toptions: {\n\t\t\t\tpreventRenderUntilSizeAvailable: true,\n\t\t\t\tpreventRender: {\n\t\t\t\t\theight: true,\n\t\t\t\t},\n\t\t\t\ttimer: {\n\t\t\t\t\ttype: 'debounce',\n\t\t\t\t\tleading: true,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbehavior: themeBehavior,\n\t\t\toptions: {\n\t\t\t\titems: [\n\t\t\t\t\t'global.fontSize.sm',\n\t\t\t\t\t'global.fontSize.md',\n\t\t\t\t\t'global.space*',\n\t\t\t\t\t'--now-tabs*',\n\t\t\t\t\t'--now-tabs--scale-size-inline',\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\tfocusBehavior,\n\t\ttooltipBehavior,\n\t],\n\tview,\n\tstyles,\n\tdispatches: {\n\t\t/**\n\t\t * Action dispatched when a tab is selected.\n\t\t * The payload key `value` contains the `id` of the item from the `items` array that was selected by the user.\n\t\t * Payload key `item` contains the `object` of the the item selected.\n\t\t * @type {{value: (string|number), item: TabItem}}\n\t\t */\n\t\t'NOW_TABS#SELECTED_ITEM_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tvalue: {type: 'string'},\n\t\t\t\t\titem: {type: 'object'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n});\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {\n\tfilterAriaAttributes,\n\tgetActiveElement,\n\tisDirectionalKey,\n\tisNextKey,\n\tisPreviousKey,\n\tgetShadowRootHost,\n} from '@servicenow/library-enhanced-utils';\nimport {actionTypes} from '@servicenow/ui-core';\nconst {COMPONENT_CONNECTED} = actionTypes;\nimport styles from './_now-tabs-vertical.scss';\nimport resizeBehavior from '@servicenow/behavior-resize';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport themeBehavior from '@servicenow/behavior-theme';\nimport '@servicenow/now-dropdown';\nimport '@servicenow/now-icon';\nimport {localizePresence} from '@servicenow/now-icon';\nimport tooltipBehavior, {\n\tTOOLTIP_SHOW,\n\tTOOLTIP_HIDE,\n} from '@servicenow/behavior-tooltip';\nimport '@servicenow/now-tooltip';\nimport {t, appendTranslations} from 'sn-translate';\nimport {itemSchema} from './schemas/tabs-schema';\nimport {configAriaSchema} from '@servicenow/library-schemas';\nimport {constrainSchema} from '@servicenow/now-dropdown';\n\nif (process.env.NODE_ENV === 'development') {\n\t// rely on existing key on the instance, add it to local env\n\tappendTranslations({\n\t\tMore_menu: 'More',\n\t});\n}\n\nconst TAB_HEIGHT = {\n\tsm: 24,\n\tmd: 32,\n};\n\nconst measureTabs = (\n\theightAvailable,\n\ttheme,\n\titems,\n\tselectedId,\n\tsize,\n\tspaceBetweenItems,\n) => {\n\t// only proceed if resize behavior has provided us total height available\n\tif (!heightAvailable || !items || !items.length) {\n\t\treturn {visibleItems: items, overflowItems: []};\n\t}\n\n\tconst SCALING = theme['--now-tabs-vertical--scale-size-block'] || 1;\n\tconst TAB_MARGIN =\n\t\tspaceBetweenItems === 'none'\n\t\t\t? 0\n\t\t\t: theme[`$now-global-space--${spaceBetweenItems}`].px * SCALING;\n\n\tlet heightRequired =\n\t\titems.length * TAB_HEIGHT[size] + (items.length - 1) * TAB_MARGIN;\n\tlet i = items.length;\n\n\t// Hardcoded value comes from the sum of padding-block-start and padding-block-bottom for .now-tabs-vertical-container\n\tconst PADDING_BLOCK_TOTAL = 16;\n\n\t// TODO: Need to replace the hardcoded value PADDING_BLOCK_TOTAL with the padding property in Washington for STRY55240274\n\tconst heightAvailableAfterPaddingRemoved =\n\t\theightAvailable - PADDING_BLOCK_TOTAL;\n\n\tconst overflowMenuHeight = TAB_HEIGHT[size];\n\tconst selectedItemIndex = items.findIndex((item) => item.id === selectedId);\n\n\twhile (heightRequired > heightAvailableAfterPaddingRemoved && i > 1) {\n\t\ti--;\n\t\theightRequired = overflowMenuHeight + i * (TAB_HEIGHT[size] + TAB_MARGIN);\n\t}\n\tif (selectedItemIndex >= i) {\n\t\treturn {\n\t\t\tvisibleItems: [...items.slice(0, i - 1), items[selectedItemIndex]],\n\t\t\toverflowItems: [\n\t\t\t\t...items.slice(i - 1, selectedItemIndex),\n\t\t\t\t...items.slice(selectedItemIndex + 1),\n\t\t\t],\n\t\t};\n\t}\n\treturn {\n\t\tvisibleItems: items.slice(0, i),\n\t\toverflowItems: items.slice(i),\n\t};\n};\n\nconst getDropdownOpenedOrFocused = (host) => {\n\tconst dropdown = host.shadowRoot.querySelector('.now-tab-dropdown');\n\tconst active = host.shadowRoot.activeElement;\n\treturn dropdown && (dropdown.opened || active === dropdown);\n};\n\nconst renderTabIcon = ({\n\titem,\n\thideLabel,\n\tselected,\n\tsize,\n\tenableIconOverride,\n}) => {\n\tif (item.icon) {\n\t\tlet icon;\n\t\tif (enableIconOverride) {\n\t\t\ticon = item.icon;\n\t\t} else if (selected) {\n\t\t\ticon = item.icon.replace('outline', 'fill');\n\t\t} else {\n\t\t\ticon = item.icon.replace('fill', 'outline');\n\t\t}\n\t\treturn (\n\t\t\t<now-icon\n\t\t\t\tclass={{'now-tab-icon': true, 'now-m-inline-end--xxs': !hideLabel}}\n\t\t\t\ticon={icon}\n\t\t\t\tsize={size}\n\t\t\t/>\n\t\t);\n\t}\n\tif (item.presence) {\n\t\treturn (\n\t\t\t<now-icon-presence\n\t\t\t\tclassName=\"now-tab-presence now-m-inline-end--xxs\"\n\t\t\t\tpresence={item.presence}\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tsize={size}\n\t\t\t/>\n\t\t);\n\t}\n};\n\nconst renderTab = ({\n\tkey,\n\tindex,\n\titem,\n\thideLabel,\n\tselected,\n\tnoSelection,\n\tdisabled,\n\tsize,\n\tdispatch,\n\tenableDeselect,\n\tenableIconOverride,\n\tspaceBetweenItems,\n}) => {\n\tconst count = item.count ? `(${item.count})` : '';\n\tconst ariaCount = item.count ? `, ${item.count}` : '';\n\tconst presence = item.presence ? `, ${localizePresence(item.presence)}` : '';\n\tconst ariaLabel = item.label + presence + ariaCount;\n\tconst label = hideLabel ? undefined : item.label;\n\n\tconst handleTooltipShow = (e) => {\n\t\tconst labelSpan = e.target.querySelector('.now-tab-label');\n\t\tconst isOverset =\n\t\t\tlabelSpan && labelSpan.scrollWidth > labelSpan.clientWidth;\n\n\t\tif (hideLabel || isOverset) {\n\t\t\treturn dispatch(TOOLTIP_SHOW, {target: e.target});\n\t\t}\n\t};\n\n\tconst handleTooltipHide = (e) => {\n\t\tconst labelSpan = e.target.querySelector('.now-tab-label');\n\t\tconst isOverset =\n\t\t\tlabelSpan && labelSpan.scrollWidth > labelSpan.clientWidth;\n\n\t\tif (hideLabel || isOverset) {\n\t\t\treturn dispatch(TOOLTIP_HIDE, {target: e.target});\n\t\t}\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'now-tab': true,\n\t\t\t\t'is-selected': selected,\n\t\t\t\t'is-disabled': disabled,\n\t\t\t\t[`-space-between-${spaceBetweenItems}`]: spaceBetweenItems !== 'none',\n\t\t\t}}\n\t\t>\n\t\t\t<button\n\t\t\t\tid={item.id}\n\t\t\t\tkey={key}\n\t\t\t\tdata-itemid={key}\n\t\t\t\tclass={{\n\t\t\t\t\t'now-tab-button': true,\n\t\t\t\t\t'is-selected': selected,\n\t\t\t\t\t'is-disabled': disabled,\n\t\t\t\t}}\n\t\t\t\trole=\"tab\"\n\t\t\t\ttabIndex={selected || (noSelection && index === 0) ? undefined : '-1'}\n\t\t\t\taria-controls={selected ? 'tab-panel' : undefined}\n\t\t\t\taria-disabled={disabled ? 'true' : undefined}\n\t\t\t\taria-selected={selected ? 'true' : 'false'}\n\t\t\t\taria-label={ariaLabel}\n\t\t\t\ton-click={\n\t\t\t\t\tdisabled\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: () => {\n\t\t\t\t\t\t\t\tdispatch(() => {\n\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\ttype: 'NOW_TABS_VERTICAL#SELECTED_ITEM_SET',\n\t\t\t\t\t\t\t\t\t\tpayload:\n\t\t\t\t\t\t\t\t\t\t\tselected && enableDeselect\n\t\t\t\t\t\t\t\t\t\t\t\t? {value: '', previousItem: item}\n\t\t\t\t\t\t\t\t\t\t\t\t: {value: key, item},\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tdata-tooltip={`${item.label}${count ? '\\u00A0' + count : ''}`}\n\t\t\t\tdata-ariadescribedby={`${item.label}${count ? '\\u00A0' + count : ''}`}\n\t\t\t\ton-mouseenter={handleTooltipShow}\n\t\t\t\ton-focusin={handleTooltipShow}\n\t\t\t\ton-mouseleave={handleTooltipHide}\n\t\t\t\ton-focusout={handleTooltipHide}\n\t\t\t>\n\t\t\t\t{renderTabIcon({\n\t\t\t\t\titem,\n\t\t\t\t\thideLabel,\n\t\t\t\t\tselected,\n\n\t\t\t\t\tsize,\n\t\t\t\t\tenableIconOverride,\n\t\t\t\t})}\n\t\t\t\t{hideLabel ? undefined : (\n\t\t\t\t\t<span className=\"now-line-height-crop\">\n\t\t\t\t\t\t<span className=\"now-align -inline\">\n\t\t\t\t\t\t\t<span className=\"now-tab-label\">{label}</span>\n\t\t\t\t\t\t\t{count ? (\n\t\t\t\t\t\t\t\t<span className=\"now-m-inline-start--md\">{count}</span>\n\t\t\t\t\t\t\t) : undefined}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t</button>\n\t\t</div>\n\t);\n};\n\nconst renderOverflow = ({\n\toverflowItems,\n\thideLabel,\n\tsize,\n\tpanelFitProps,\n\tnowId,\n}) => {\n\tif (!overflowItems.length) return;\n\treturn (\n\t\t<div className=\"now-tab\">\n\t\t\t<now-dropdown\n\t\t\t\tconfig-aria={{\n\t\t\t\t\t'aria-label': t('More tabs'),\n\t\t\t\t}}\n\t\t\t\tclassName=\"now-tab-dropdown\"\n\t\t\t\t// use the More_menu key to ensure we have an uppercase first letter\n\t\t\t\tplaceholder={hideLabel ? undefined : t('More_menu')}\n\t\t\t\ttooltip-content={t('More tabs')}\n\t\t\t\titems={overflowItems}\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\tselect=\"none\"\n\t\t\t\ticon={hideLabel ? 'ellipsis-vertical-fill' : undefined}\n\t\t\t\thide-label={hideLabel}\n\t\t\t\thide-caret={hideLabel}\n\t\t\t\tsize={size}\n\t\t\t\tpanel-fit-props={panelFitProps}\n\t\t\t\tshow-padding\n\t\t\t\tbare\n\t\t\t\tappend-to-meta={{componentId: nowId}}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nconst assignedElements = (slot) =>\n\t[...slot.assignedNodes({flatten: true})].filter(\n\t\t(node) => node.nodeType === Element.ELEMENT_NODE,\n\t);\n\nconst view = (state, {dispatch, updateState}) => {\n\tconst {\n\t\titems,\n\t\tselectedItem,\n\t\thideLabel,\n\t\ttabMaxWidth,\n\t\tconfigAria,\n\t\tsize,\n\t\tenableDeselect,\n\t\tenableIconOverride,\n\t\tselectionPosition,\n\t\tshowInlinePadding,\n\t\tspaceBetweenItems,\n\t\tpanelFitProps,\n\t\tpanelPosition,\n\t\tnowId,\n\t} = state.properties;\n\n\tlet {visibleItems, overflowItems} = measureTabs(\n\t\tstate.behaviors.resize.size.height,\n\t\tstate.behaviors.theme,\n\t\titems,\n\t\tselectedItem,\n\t\tsize,\n\t\tspaceBetweenItems,\n\t);\n\n\tconst onFocusIn = async () => {\n\t\tupdateState({nextFocusNotInTabs: false});\n\t};\n\n\tconst onFocusOut = async (e) => {\n\t\tconst host = getShadowRootHost(e.target);\n\t\tconst relatedTargetHost = e.relatedTarget\n\t\t\t? getShadowRootHost(e.relatedTarget)\n\t\t\t: null;\n\t\tupdateState({nextFocusNotInTabs: relatedTargetHost !== host});\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'now-tabs-vertical-container': true,\n\t\t\t\t['-' + panelPosition]: panelPosition,\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'now-tabs-vertical': true,\n\t\t\t\t\t'icon-only': hideLabel,\n\t\t\t\t\t'show-inline-padding': showInlinePadding,\n\t\t\t\t\t'has-panel-content': state.targetRef,\n\t\t\t\t\t['-' + size]: size,\n\t\t\t\t\t['-' + selectionPosition]: selectionPosition,\n\t\t\t\t}}\n\t\t\t\ton-focusin={onFocusIn}\n\t\t\t\ton-focusout={onFocusOut}\n\t\t\t\tstyle={{\n\t\t\t\t\tminInlineSize: tabMaxWidth + 'px',\n\t\t\t\t\tmaxInlineSize: tabMaxWidth + 'px',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"now-tab-list\"\n\t\t\t\t\trole=\"tablist\"\n\t\t\t\t\taria-orientation=\"vertical\"\n\t\t\t\t\t{...filterAriaAttributes(configAria, 'tablist')}\n\t\t\t\t>\n\t\t\t\t\t{visibleItems &&\n\t\t\t\t\t\tvisibleItems.map((item, index) => {\n\t\t\t\t\t\t\treturn renderTab({\n\t\t\t\t\t\t\t\tkey: item.id,\n\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\t\thideLabel,\n\n\t\t\t\t\t\t\t\tselected: selectedItem === item.id,\n\t\t\t\t\t\t\t\tnoSelection: !selectedItem,\n\t\t\t\t\t\t\t\tdisabled: item.disabled,\n\t\t\t\t\t\t\t\tsize,\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tenableDeselect,\n\t\t\t\t\t\t\t\tenableIconOverride,\n\t\t\t\t\t\t\t\tspaceBetweenItems,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t\t{renderOverflow({\n\t\t\t\t\toverflowItems,\n\t\t\t\t\thideLabel,\n\t\t\t\t\tsize,\n\t\t\t\t\tpanelFitProps,\n\t\t\t\t\tnowId,\n\t\t\t\t})}\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\taria-labelledby={selectedItem}\n\t\t\t\tclassName=\"now-tabs-vertical-panel\"\n\t\t\t\tid=\"tab-panel\"\n\t\t\t\trole=\"tabpanel\"\n\t\t\t>\n\t\t\t\t<slot\n\t\t\t\t\tname={selectedItem}\n\t\t\t\t\ton-slotchange={(e) => {\n\t\t\t\t\t\tif (e.target !== e.currentTarget) {\n\t\t\t\t\t\t\treturn; // ignore bubbling slotchange\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst elements = assignedElements(e.target);\n\t\t\t\t\t\tconst targetRef = elements[0] || null;\n\t\t\t\t\t\tupdateState({targetRef});\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\n/**\n * Tabs provide navigation between grouped content in a specific hierarchy.\n * They also identify a user’s specific location in the display.\n *\n * ```jsx\n * const items = [\n *  {id: 'tab1', label: 'Tab 1', icon: 'bell-outline', count: 7},\n * \t{id: 'tab2', label: 'Tab 2', icon: 'document-outline', count: 3}\n * ];\n *\n * <now-tabs-vertical items={items} hide-label />\n * ```\n *\n * @seismicElement now-tabs-vertical\n * @summary Vertical tab menu for navigating between tabbed content.\n */\ncreateEnhancedElement('now-tabs-vertical', {\n\tproperties: {\n\t\t/**\n\t\t * An array of objects, each with the configuration for a tab.\n\t\t * @type {TabItem[]}\n\t\t */\n\t\titems: {\n\t\t\tdefault: [],\n\t\t\trequired: true,\n\t\t\tschema: {type: 'array', items: itemSchema},\n\t\t},\n\t\t/**\n\t\t * ID of the selected tab item.\n\t\t * @type {(string|number)}\n\t\t */\n\t\tselectedItem: {manageable: true, schema: {type: ['string', 'number']}},\n\t\t/**\n\t\t * Set this flag to display tabs with only an icon and no label inside.\n\t\t * You should still specify a label in the `items` array, for displaying\n\t\t * in a tooltip and for representing the tab to assistive technology.\n\t\t * @type {boolean}\n\t\t */\n\t\thideLabel: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Deprecated\n\t\t * @private\n\t\t */\n\t\tshowPresencePattern: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * An object whose keys reference a specific HTML element within the\n\t\t * now-tabs-vertical. The value of each key is an object that contains an ARIA\n\t\t * property (or properties) and corresponding value/s. These ARIA\n\t\t * properties are set on the specified element.\n\t\t * The 'tablist' key corresponds to the element with an ARIA role of 'tablist'.\n\t\t * See https://www.w3.org/TR/wai-aria-1.2/#tablist for properties\n\t\t * and accepted values.\n\t\t * @type {{tablist: {'aria-*': string, role: string}}}\n\t\t */\n\t\tconfigAria: {\n\t\t\tdeepCompare: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\ttablist: configAriaSchema,\n\t\t\t\t},\n\t\t\t\tadditionalProperties: false,\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Sets the tabs size.\n\t\t * @type {('sm'|'md')}\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['sm', 'md'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * When true, selecting a tab that is already selected will deselect it.\n\t\t * The tabset then appears with no active tab and `selectedItem` is undefined.\n\t\t * This also becomes the default state of the component - the first tab\n\t\t * is not automatically selected on load unless a `selectedItem` is set.\n\t\t * @type {boolean}\n\t\t */\n\t\tenableDeselect: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * By default, tab icons will appear with fill for the selected tab and\n\t\t * in outline for all other tabs. Set this flag to disable the behavior\n\t\t * and display whichever `icon` is specified.\n\t\t * @type {boolean}\n\t\t */\n\t\tenableIconOverride: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\t/**\n\t\t * Sets on which side of the vertical tab the selection indicator line should appear.\n\t\t * @type {('start'|'end')}\n\t\t */\n\t\tselectionPosition: {\n\t\t\tdefault: 'start',\n\t\t\tschema: {type: 'string', enum: ['start', 'end']},\n\t\t},\n\t\t/**\n\t\t * Set this flag to display each tab with left and right padding.\n\t\t * @type {boolean}\n\t\t */\n\t\tshowInlinePadding: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * The amount of space to show between each tab vertically.\n\t\t * @type {('none'|'xxs'|'xs'|'sm'|'md'|'lg'|'xl'|'xxl'|'3xl')}\n\t\t */\n\t\tspaceBetweenItems: {\n\t\t\tdefault: 'none',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['none', 'xxs', 'xs', 'sm', 'md', 'lg', 'xl', 'xxl', '3xl'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Properties to configure the dropdown panel of the tab overflow menu.\n\t\t *\n\t\t * Valid keys are:\n\t\t *  - position: Array of possible positions in which to place the panel, relative to its target. Default: `[\"bottom-start top-start\",\"top-start bottom-start\",\"bottom-end top-end\",\"top-end bottom-end\"]`\n\t\t *  - constrain: Object specifying size constraints relative to the panel's target. Default: `{\"minHeight\":32,\"minWidth\":\"target\",\"maxWidth\":400,\"maxHeight\":300}`\n\t\t *  - offset: Number of pixels to offset the panel from the trigger.\n\t\t *\n\t\t * Use these keys to position and scale the panel relative to the dropdown target.\n\t\t *\n\t\t * @type {{ position: Array<{target: string, content: string}>, constrain: object, offset: number }}\n\t\t */\n\t\tpanelFitProps: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tposition: {type: 'array', items: {type: 'string'}},\n\t\t\t\t\toffset: {\n\t\t\t\t\t\toneOf: [{type: 'number'}, {type: 'array', items: {type: 'number'}}],\n\t\t\t\t\t},\n\t\t\t\t\tconstrain: constrainSchema,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Sets on which side of the vertical tab the tabpanel should appear. Needs to be\n\t\t * distinct from selectionPosition because selectionPosition should always default to\n\t\t * 'start' independently.\n\t\t * @type {('before'|'after')}\n\t\t */\n\t\tpanelPosition: {\n\t\t\tdefault: 'after',\n\t\t\tschema: {type: 'string', enum: ['before', 'after']},\n\t\t},\n\t\t/**\n\t\t * Maximum width (as a number of pixels) of the tablist.\n\t\t * @type {number}\n\t\t */\n\t\ttabMaxWidth: {schema: {type: 'number'}},\n\t},\n\tslots: {\n\t\t/**\n\t\t * A named slot where the name corresponds to the ID of the current selectedItem.\n\t\t * Slot content for each of the steps in your items array and the panel area will\n\t\t * switch between content based on user selection.\n\t\t */\n\t\tdynamic: {},\n\t},\n\tinitialState: {\n\t\tfocusSelected: false,\n\t\tnextFocusNotInTabs: false,\n\t\ttargetRef: null,\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_CONNECTED]: ({properties, dispatch}) => {\n\t\t\tconst {items, selectedItem, enableDeselect} = properties;\n\t\t\tif (selectedItem || !items || enableDeselect) return;\n\t\t\tconst enabledItems = items.filter((item) => !item.disabled);\n\t\t\tif (enabledItems.length) {\n\t\t\t\tdispatch(() => ({\n\t\t\t\t\ttype: 'NOW_TABS_VERTICAL#SELECTED_ITEM_SET',\n\t\t\t\t\tpayload: {value: enabledItems[0].id, item: enabledItems[0]},\n\t\t\t\t}));\n\t\t\t}\n\t\t},\n\t\t'NOW_DROPDOWN#ITEM_CLICKED': ({dispatch, action, updateState, state}) => {\n\t\t\tconst clickedItemId = action.payload?.item?.id;\n\t\t\tconst clickedItem = action.payload?.item;\n\t\t\tconst nowId = state?.properties?.nowId;\n\t\t\tconst componentId = action?.meta?.appended?.componentId;\n\t\t\tdispatch(() => {\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'NOW_TABS_VERTICAL#SELECTED_ITEM_SET',\n\t\t\t\t\tpayload: {value: clickedItemId, item: clickedItem},\n\t\t\t\t\tshouldDispatch: nowId === componentId,\n\t\t\t\t};\n\t\t\t});\n\t\t\tupdateState({\n\t\t\t\tpath: 'focusSelected',\n\t\t\t\toperation: 'set',\n\t\t\t\tvalue: true,\n\t\t\t\tshouldRender: false,\n\t\t\t\tshouldUpdate: nowId === componentId,\n\t\t\t});\n\t\t\taction.stopPropagation();\n\t\t},\n\t\t'NOW_DROPDOWN#LIST_HIDDEN': ({action, host, state, updateState}) => {\n\t\t\tif (!state.focusSelected) return;\n\t\t\tconst tabs = host?.shadowRoot?.querySelectorAll('button.now-tab-button');\n\t\t\tconst selected = tabs[tabs.length - 1];\n\t\t\tif (!selected) return;\n\t\t\tselected?.focus();\n\t\t\tupdateState({\n\t\t\t\tpath: 'focusSelected',\n\t\t\t\toperation: 'set',\n\t\t\t\tvalue: false,\n\t\t\t\tshouldRender: false,\n\t\t\t});\n\t\t\taction.stopPropagation();\n\t\t},\n\t},\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['keydown'],\n\t\t\teffect: ({host, action, properties, dispatch, state, updateState}) => {\n\t\t\t\tif (state.nextFocusNotInTabs || getDropdownOpenedOrFocused(host)) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tconst {key} = action.payload.event;\n\t\t\t\tconst {dir} = properties;\n\t\t\t\tconst activeElement = getActiveElement();\n\t\t\t\tconst tabs = host.shadowRoot.querySelectorAll('button.now-tab-button');\n\t\t\t\tif (isDirectionalKey(key)) {\n\t\t\t\t\taction.preventDefault();\n\t\t\t\t\tdispatch(TOOLTIP_HIDE, {\n\t\t\t\t\t\ttarget: host.shadowRoot.activeElement,\n\t\t\t\t\t\tdelay: 0,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tupdateState({nextFocusNotInTabs: false});\n\t\t\t\tif (isNextKey(key, dir, true)) {\n\t\t\t\t\tconst focusedIndex = Array.prototype.indexOf.call(\n\t\t\t\t\t\ttabs,\n\t\t\t\t\t\tactiveElement,\n\t\t\t\t\t);\n\t\t\t\t\t// wraparound from last to first\n\t\t\t\t\tconst nextIndex =\n\t\t\t\t\t\tfocusedIndex === tabs.length - 1 ? 0 : focusedIndex + 1;\n\t\t\t\t\ttabs[nextIndex].focus();\n\t\t\t\t} else if (isPreviousKey(key, dir, true)) {\n\t\t\t\t\tconst focusedIndex = Array.prototype.indexOf.call(\n\t\t\t\t\t\ttabs,\n\t\t\t\t\t\tactiveElement,\n\t\t\t\t\t);\n\t\t\t\t\t// wraparound from first to last\n\t\t\t\t\tconst previousIndex =\n\t\t\t\t\t\tfocusedIndex === 0 ? tabs.length - 1 : focusedIndex - 1;\n\t\t\t\t\ttabs[previousIndex].focus();\n\t\t\t\t} else if (key === 'Home') {\n\t\t\t\t\tconst firstIndex = 0;\n\t\t\t\t\ttabs[firstIndex].focus();\n\t\t\t\t} else if (key === 'End') {\n\t\t\t\t\tconst lastIndex = tabs.length - 1;\n\t\t\t\t\ttabs[lastIndex].focus();\n\t\t\t\t}\n\t\t\t},\n\t\t\tcapture: true,\n\t\t},\n\t],\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: resizeBehavior,\n\t\t\toptions: {\n\t\t\t\tpreventRenderUntilSizeAvailable: true,\n\t\t\t\tpreventRender: {\n\t\t\t\t\twidth: true,\n\t\t\t\t},\n\t\t\t\ttimer: {\n\t\t\t\t\ttype: 'debounce',\n\t\t\t\t\tleading: true,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tbehavior: themeBehavior,\n\t\t\toptions: {\n\t\t\t\titems: ['global.space*', '--now-tabs-vertical--scale-size-block'],\n\t\t\t},\n\t\t},\n\t\tfocusBehavior,\n\t\ttooltipBehavior,\n\t],\n\tview,\n\tstyles,\n\tdispatches: {\n\t\t/**\n\t\t * Action dispatched when a tab is selected.\n\t\t * The payload key `value` contains the `id` of the item from the `items` array that was selected by the user.\n\t\t * Payload key `item` contains the `object` itself corresponding to the selected tab.\n\t\t * If `enableDeselect` is enabled and the event is a deselection, `previousItem` contains the `object` of the previously active tab.\n\t\t * @type {{value: (string|number), item: TabItem, previousItem: TabItem}}\n\t\t */\n\t\t'NOW_TABS_VERTICAL#SELECTED_ITEM_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tvalue: {type: 'string'},\n\t\t\t\t\titem: {type: 'object'},\n\t\t\t\t\tpreviousItem: {type: 'object'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n});\n","import './now-tabs';\nimport './now-tabs-vertical';\nimport * as info from '../package.json';\n\nconst {name, version} = info;\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n","/* eslint-disable no-unused-vars */\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-tabs';\nimport '@servicenow/now-pagination-control';\n\nimport NoActivities from '../../../images/icons/no-activities.svg';\nimport { OPERATION_HISTORY_TYPES } from '../../../constants';\nimport { getMonthLabel } from '../../../utils/helpers';\nimport { ACTIONS_IDS } from '../constants';\n\nconst ViewHistory = props => {\n    const {\n        isLoadingOperationHistory,\n        completeOperationHistory,\n        updatedOperationHistory,\n        paginatedOperationHistory,\n        selectedOperationType,\n        sortHistoryTypeDesc,\n        selectedOperationHistoryPage,\n        dispatch\n    } = props;\n\n\n    const tabItems = ['all', 'reset-pwd', 'activate-plugin', 'reset-wipe'].map(\n        id => ({\n            id,\n            label: OPERATION_HISTORY_TYPES[id].label\n        })\n    );\n\n    const renderOperationHistory = ( selectedOperationType) => (\n        <Fragment>\n            <table className='operation-history-table'>\n                <thead>\n                    <tr>\n                        <th>Activity</th>\n                        <th>Status</th>\n                        <th className='history-date'>Date\n                            <div\n                                on-click={() => dispatch('sortHistory')}\n                            >\n                                <now-icon\n                                    icon={\n                                        sortHistoryTypeDesc ? 'sort-descending-fill' : 'sort-ascending-fill'\n                                    }\n                                    size=\"sm\"\n                                />\n                            </div>\n                        </th>\n                    </tr>\n                </thead>\n                <tbody>\n                    {paginatedOperationHistory.map(item => {\n                        const updatedOn = new Date(item.updated_on.replace(/\\s/, 'T'));\n                        const formattedUpdatedOn = `${getMonthLabel(\n                            updatedOn.getMonth()\n                        )} ${updatedOn.getDate()}, ${updatedOn.getFullYear()}`;\n                        return (\n                            <tr key={`${updatedOn.getTime()}-${selectedOperationType}`}>\n                                <td>{item.operation_name}</td>\n                                <td>{item.message && item.message.length > 0 ? item.message : item.status}</td>\n                                <td>{formattedUpdatedOn}</td>\n                            </tr>\n                        );\n                    })}\n                </tbody>\n            </table>\n            <now-pagination-control\n                className=\"view-history-pagination\"\n                total={updatedOperationHistory.length}\n                hideGoToFirst={true}\n                hideGoToLast={true}\n                hidePageNumbers={true}\n                hidePageSizeControl={true}\n                hideRange={true}\n                selectedPage={selectedOperationHistoryPage}\n                selectedPageSize={3}\n                componentName={'view-history-pagination'}\n            />\n        </Fragment>\n    );\n\n\n    return (\n        <div\n            data-sysId=\"operationHistory\"\n        >\n            {(completeOperationHistory.length > 0 || selectedOperationType !== 'all') ? (\n                <div>\n                    <p>All previous actions on your instance</p>\n                    <now-tabs componentName={ACTIONS_IDS.VIEW_HISTORY_TABS} items={tabItems} selectedItem={selectedOperationType}></now-tabs>\n                    <div className=\"operationHistory\">\n                        {isLoadingOperationHistory ? (\n                            <dps-spinner size=\"sm\" />\n                        ) : updatedOperationHistory.length > 0 ? (\n                            renderOperationHistory(completeOperationHistory, selectedOperationType)\n                        ) : (\n                            <p>{OPERATION_HISTORY_TYPES[selectedOperationType].empty_message}</p>\n                        )}\n                    </div>\n                </div>\n            ) : selectedOperationType === 'all' && completeOperationHistory.length < 1 ? (\n                <div className=\"no-operations\">\n                    <img\n                        style={{\n                            width: '216px',\n                            height: '168px'\n                        }}\n                        src={NoActivities}\n                        alt=\"No Activities\"\n                    />\n                    <p className=\"no-operations-text\">\n                        You haven’t performed any operations yet. Actions will appear here.\n                    </p>\n                </div>\n            ) : null}\n        </div>\n    );\n};\n\nexport default ViewHistory;\n","import '@servicenow/now-icon';\nimport '@servicenow/now-pagination-control';\nimport '@servicenow/now-dropdown';\nimport '@servicenow/now-modal';\nimport '@servicenow/now-button';\nimport '@servicenow/now-select';\nimport '@servicenow/now-alert';\nimport '@servicenow/now-card';\nimport 'sn-par-filter';\nimport { debounce } from 'lodash';\n\n// Custom components\nimport '../../components/dps-link';\nimport '../../components/dps-spinner';\nimport '../../components/dps-dropdown-button';\nimport './views/dps-upgrade-instance';\nimport './views/dps-useful-links';\nimport './views/dps-plugin';\nimport ViewHistory from './views/view-history';\n\n// Constants and actions\nimport {\n\tSTATUS,\n\tRESET_WIPE,\n\tUNCONFIGURE_ALT,\n\tCOMPLETED_TASK,\n\tMANAGE_INSTANCE_RELEASE_REASONS,\n\tTEXTAREA_MAX_LENGTH,\n\tTEXTAREA_PLACE_HOLDER,\n\tREQUEST_SUBMITTED_MESSAGE,\n\tHELPER_TEXT_GET_FRESH_INSTANCE,\n\tRELEASE_INSTANCE_LABEL,\n\tRESET_WIPE_REQUEST_SUBMITTED_MESSAGE,\n\tRESET_WIPE_CONFIRM_MESSAGE,\n\tRESET_WIPE_SUB_LABEL,\n\tRESET_WIPE_NOTE,\n\tINSTANCE_NAME_PROMPT,\n\tCONFIRMATION_MODAL_MESSAGE,\n\tKEEP_INSTANCE_NAME_OPTION,\n\tRESET_INSTANCE_NAME_OPTION,\n\tRESET_WIPE_TYPE_OPTIONS,\n\tNO_ACTIVITY_WARNING,\n\tMANAGE_INSTANCE_URL,\n\tAPP_NAME_LOOKUP,\n\tpdiUrlClickData,\n\trefreshInstanceClickData,\n\twakeInstanceClickData,\n\tBROWSE_PLUGINS,\n\tACTIONS_IDS,\n\tCHANGE_USER_ROLE_CONFIRMATION,\n\tREMOVE_DEMO_DATA,\n\tALERTS_CONTENT,\n\tgetInactivityReclaimAlertCopy,\n\tgetNinetyDayReclaimAlertCopy,\n\tgetAgeExpiryDate,\n\tisInactivityReclaimEligible,\n\tis90DayReclaimEligible,\n\tAGE_RECLAIM_DAYS,\n\tINACTIVITY_RECLAIM_DAYS\n} from './constants';\nimport { DPS_INSTANCE_SIDEBAR } from '../../components/dps-instance-sidebar/dps-instance-sidebar-actions';\nimport {\n\tDPS_NAV_INSTANCE_MANAGEMENT,\n\tprimaryPdiActions,\n\tsortPluginOptions,\n\tsecondaryPdiActions,\n\tMANAGE_INSTANCE_LABELS,\n\tBUTTON_LABELS,\n\tACTION_LABELS,\n\tALERT_CONTENT,\n\tPLUGIN_STATUS,\n\tDEMO_DATA_REMOVAL_WARNING,\n\tINSTANCE_ACTION_LABELS,\n\tCOLORS,\n\tCOMPONENTS,\n\tCONSTANTS,\n\tOPERATION_HISTORY_TYPES,\n\tACTIVATE_STATUSES,\n\tDEMO_DATA_STATUSES,\n\tINSTANCE_ACTION_STATES,\n\tALERTS\n} from '../../constants';\n\n// Icons\nimport instanceIcon from '../../images/icons/instance-status.svg';\nimport search from '../../images/icons/search-icon.svg';\nimport url from '../../images/icons/url.svg';\nimport copy from '../../images/icons/copy-icon.svg';\nimport tickMark from '../../images/icons/tick-mark.svg';\nimport failed from '../../images/icons/failed.svg';\nimport loader from '../../images/icons/loader.svg';\nimport cancel from '../../images/icons/cancel.svg';\nimport unconfigured from '../../images/icons/unconfigured.svg';\nimport notFound from '../../images/icons/not-found.svg';\nimport completedTask from '../../images/icons/completed-task.svg';\nimport Guided_Editor_Type_Image from '../../images/Guided_Editor_Type_Image.svg';\nimport Advanced_Editor_Type_Image from '../../images/Advanced_Editor_Type_Image.svg';\nimport instanceUnConfigured from '../../images/icons/instance-unconfigured.svg';\n\nimport { arrayToObject } from '../../utils/helpers';\n\n// Import all icons\nimport * as Icons from '../../icons';\n\nimport { APP_ACTIONS } from '../dps-app/actions';\nimport { ROUTES, updateRoute } from '../../routes';\nimport { userHasInstance } from '../../utils/instanceHelpers';\nimport { DPS_NAVIGATION_INSTANCE_MANAGEMENT } from '../../components/dps-navigation-header/actions';\n\n\n/* Updates the filters with the new search term and resets the page number to 0. */\nconst handleOnFilter = ({ state, searchTerm, updateProperties }) => {\n\tconst { filters } = state.properties;\n\tconst updatedFilters = { ...filters, searchTerm: searchTerm };\n\tupdateProperties({ filters: updatedFilters, pageNumber: 0 });\n};\n\nconst debouncedOnFilter = debounce(handleOnFilter, 300);\n\nconst view = (state, { dispatch, updateState, updateProperties }) => {\n\tconst {\n\t\tfilteredPlugins,\n\t\tpaginatedPlugins,\n\t\tuserRoleOptions,\n\t\tchangeUserRoleStage,\n\t\tproperties: {\n\t\t\tupgradeableInstanceTargets,\n\t\t\tcatItemInProgress,\n\t\t\tselectedUpgradeRelease,\n\t\t\treleaseInfo,\n\t\t\tconfirmChecked,\n\t\t\tinstanceInfo,\n\t\t\tcurrentActivatingPlugin,\n\t\t\tisInstanceRefreshing,\n\t\t\topenedApp,\n\t\t\tchangeUserRole,\n\t\t\tisEyeIconClicked,\n\t\t\tisLoadingPlugins,\n\t\t\tpageNumber,\n\t\t\tpdiUserRole,\n\t\t\texecuteCatItemResult,\n\t\t\tfilters,\n\t\t\tselectedAction,\n\t\t\tsortHistoryTypeDesc,\n\t\t\tsendRecieveEmailCheckboxChecked,\n\t\t\tpageSize,\n\t\t\tuserInfo,\n\t\t\tcompleteOperationHistory,\n\t\t\tupdatedOperationHistory,\n\t\t\tpaginatedOperationHistory,\n\t\t\tisLoadingOperationHistory,\n\t\t\tselectedRelease,\n\t\t\tinstanceMenuItems,\n\t\t\tsystemProperties,\n\t\t\tselectedReleaseInstanceReason,\n\t\t\ttextBoxVal,\n\t\t\topResult,\n\t\t\tisInstanceAvailableInSamePatch,\n\t\t\tquickResetWipeOperationType,\n\t\t\tselectedOperationHistoryPage,\n\t\t\tselectedOperationType,\n\t\t\tshowSearchFilterText,\n\t\t\tmagicLink,\n\t\t\tnowAlertMessages\n\t\t}\n\t} = state;\n\n\tconst isUpgradingInstance =\n\t\tcatItemInProgress && catItemInProgress.name.indexOf('Upgrade') > -1;\n\n\tconst isResetAndWipeInProgress = catItemInProgress && catItemInProgress.name == 'Reset and wipe instance'\n\n\tconst isDisablePrimaryDetails = isResetAndWipeInProgress || isUpgradingInstance || instanceInfo.isWakingInstance() || changeUserRoleStage == 'progress' || instanceInfo.isHibernating() || catItemInProgress && catItemInProgress.name == 'Reset instance password'\n\n\tif (instanceInfo?.instanceStatus && !userHasInstance(instanceInfo?.state)) {\n\t\tlet {\n\t\t\tdisplay_state,\n\t\t} = instanceInfo.instanceStatus;\n\n\t\tconst triggerCancelRequest = () => {\n\n\t\t\tlet displayStateMap = {\n\t\t\t\t\"Fulfilling request\": \"request\"\n\t\t\t}\n\n\t\t\tconst data = {\n\t\t\t\toperationType: displayStateMap[display_state]\n\t\t\t};\n\n\t\t\tdispatch('DPS_HOME_AUTH_QUEBEC#CANCEL_REQUEST', { data });\n\t\t};\n\t\tif (display_state?.toLowerCase() == INSTANCE_ACTION_STATES.FULFILLING_REQUEST.toLowerCase()) {\n\t\t\treturn (\n\t\t\t\t<div className=\"dps-pdi-summary -summary\">\n\t\t\t\t\t<section className=\"dps-pdi-summary-header-section\">\n\t\t\t\t\t\t<div className=\"dps-pdi-summary-content\">\n\t\t\t\t\t\t\t<div className=\"dps-pdi-summary-title\">\n\t\t\t\t\t\t\t\t{MANAGE_INSTANCE_LABELS.INSTANCE_MANAGE_TITLE}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</section>\n\t\t\t\t\t<section className=\"dps-pdi-summary-content-section\">\n\t\t\t\t\t\t<div className=\"card-container\">\n\t\t\t\t\t\t\t<center className=\"instance-info-container\" style={{ gap: \"14px\" }}>\n\t\t\t\t\t\t\t\t<img style={{ height: '45vh' }} src={instanceUnConfigured}></img>\n\t\t\t\t\t\t\t\t<h2 className='dps-pdi-instance-fulfilling'>\n\t\t\t\t\t\t\t\t\t{INSTANCE_ACTION_STATES.FULFILLING_REQUEST + \"...\"}\n\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t<div className='dps-pdi-instance-fulfilling-info'>\n\t\t\t\t\t\t\t\t\tYour personal developer instance (PDI) is currently being prepared.\n\t\t\t\t\t\t\t\t\t<br />Feel free to explore other content while you wait; we will notify you once your PDI is ready.\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\t\tlabel=\" Cancel \"\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\ton-click={triggerCancelRequest}\n\t\t\t\t\t\t\t\t\tsize=\"sm\" />\n\t\t\t\t\t\t\t</center>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</section>\n\t\t\t\t</div>\n\t\t\t);\n\t\t} else if (userHasInstance(instanceInfo?.state) || instanceInfo?.state === 'waitlist') return updateRoute(ROUTES.homepage);\n\t}\n\telse if (userHasInstance(instanceInfo?.state) || instanceInfo?.state === 'waitlist') return updateRoute(ROUTES.homepage);\n\n\tconst {\n\t\tdisplay_state,\n\t\tadditional_info: { status_icon: rawStatusIcon = \"\" } = {}\n\t} = instanceInfo?.instanceStatus || {};\n\n\tconst isBaInstallInProgress = catItemInProgress && catItemInProgress.name == 'Install Build Agent';\n\tconst status_icon = isBaInstallInProgress ? 'instanceFulfilling' : rawStatusIcon;\n\n\tconst isActionInprogress = instanceInfo.isWakingInstance() || instanceInfo.isHibernating() || isInstanceRefreshing;\n\n\tlet baUpgradeMessages = {};\n\ttry {\n\t\tbaUpgradeMessages = JSON.parse(systemProperties['dev.instance.operation.message.actionsDisabledBAUpgrade'] || '{}');\n\t} catch (e) {\n\t\tbaUpgradeMessages = {};\n\t}\n\tconst baUpgradeTooltip = isBaInstallInProgress ? baUpgradeMessages.tooltip : '';\n\n\tconst enhancedPdiActions = [];\n\n\t// showing the configured items visible only from the backend list\n\tprimaryPdiActions.forEach(action => {\n\t\tconst match = instanceMenuItems.find(item => item.name?.toLowerCase() === action.label?.toLowerCase());\n\n\t\tif (action.id === 'change_user_role') {\n\t\t\tif (instanceMenuItems?.length > 0 && match) {\n\t\t\t\tenhancedPdiActions.push({\n\t\t\t\t\t...action,\n\t\t\t\t\tdisabled: catItemInProgress || isActionInprogress || display_state?.toLowerCase() === \"offline\" || instanceInfo?.installedApps?.['AES']?.toLowerCase() ===\n\t\t\t\t\t\t'not installed'\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tenhancedPdiActions.push({\n\t\t\t\t...action,\n\t\t\t\tdisabled: match?.disabled\n\t\t\t});\n\t\t}\n\t});\n\n\tconst roleOptions =\n\t\t(userRoleOptions &&\n\t\t\tuserRoleOptions.editorOptions &&\n\t\t\tObject.keys(userRoleOptions.editorOptions)) ||\n\t\t[];\n\n\n\tconst releaseInstance = instanceMenuItems.find(\n\t\titem => item.name == INSTANCE_ACTION_LABELS.RELEASE_INSTANCE\n\t);\n\n\tconst canResetInstance = isInstanceAvailableInSamePatch ? [RESET_WIPE_TYPE_OPTIONS.QUICK, RESET_WIPE_TYPE_OPTIONS.NORMAL].includes(quickResetWipeOperationType) : true;\n\n\tconst { sys_id } = instanceInfo;\n\n\tconst isLatestRelease =\n\t\treleaseInfo &&\n\t\treleaseInfo.latestRelease &&\n\t\tinstanceInfo?.release?.toLowerCase() === releaseInfo.latestRelease;\n\n\tlet removeDemoDataActions = [\n\t\t{\n\t\t\tvariant: 'primary-negative',\n\t\t\tlabel: BUTTON_LABELS.REMOVE_DEMO_DATA,\n\t\t\tclickActionType: 'REMOVE_DEMO_DATA',\n\t\t\ttooltipContent: '',\n\t\t\tdisabled: !confirmChecked\n\t\t},\n\t\t{\n\t\t\tvariant: 'secondary',\n\t\t\tlabel: BUTTON_LABELS.CANCEL,\n\t\t\tclickActionType: 'CANCEL_PDI_ACTION'\n\t\t}\n\t];\n\n\tlet changeUserRoleActions = [\n\t\t{\n\t\t\tvariant: 'primary',\n\t\t\tlabel: ACTION_LABELS.CHANGE,\n\t\t\tdisabled: !(roleOptions.length > 0),\n\t\t\ttooltipContent: '',\n\t\t\tclickActionType: 'CHANGE_USER_ROLE'\n\t\t},\n\t\t{\n\t\t\tvariant: 'secondary',\n\t\t\tlabel: BUTTON_LABELS.CANCEL,\n\t\t\tclickActionType: 'CANCEL_PDI_ACTION'\n\t\t}\n\t]\n\n\n\tlet resetInstancePassword = [\n\t\t{\n\t\t\tvariant: 'primary',\n\t\t\tlabel: ACTION_LABELS.RESET_INSTANCE_PASSWORD,\n\t\t\ttooltipContent: '',\n\t\t\tclickActionType: 'RESET_INSTANCE_PASSWORD'\n\t\t},\n\t\t{\n\t\t\tvariant: 'secondary',\n\t\t\tlabel: ACTION_LABELS.DO_NOT_RESET,\n\t\t\tclickActionType: 'CANCEL_RESET_INSTANCE_PASSWORD'\n\t\t}\n\t];\n\n\tlet resetAndWipeActions = [\n\t\t{\n\t\t\tvariant: 'primary-negative',\n\t\t\tlabel: BUTTON_LABELS.RESET_AND_WIPE,\n\t\t\tclickActionType: 'RESET_AND_WIPE',\n\t\t\ttooltipContent: '',\n\t\t\tdisabled: !(confirmChecked && canResetInstance)\n\t\t},\n\t\t{\n\t\t\tvariant: 'secondary',\n\t\t\tlabel: BUTTON_LABELS.CANCEL,\n\t\t\tclickActionType: 'CANCEL_PDI_ACTION'\n\t\t}\n\t];\n\n\tlet manageEmailPropertiesActions = [\n\t\t{\n\t\t\tvariant: 'primary',\n\t\t\tlabel: BUTTON_LABELS.MANAGE_EMAIL_PROPERTIES,\n\t\t\ttooltipContent: '',\n\t\t\tclickActionType: 'MANAGE_EMAIL_PROPERTIES',\n\t\t},\n\t\t{\n\t\t\tvariant: 'secondary',\n\t\t\tlabel: BUTTON_LABELS.CANCEL,\n\t\t\tclickActionType: 'CANCEL_PDI_ACTION'\n\t\t}\n\t];\n\n\tlet releaseInstanceActions = [\n\t\t{\n\t\t\tvariant: 'primary',\n\t\t\tlabel: ACTION_LABELS.RELEASE_INSTANCE,\n\t\t\tclickActionType: 'RELEASE_INSTANCE',\n\t\t\ttooltipContent: '',\n\t\t\tdisabled:\n\t\t\t\tselectedReleaseInstanceReason == {} ||\n\t\t\t\tObject.keys(selectedReleaseInstanceReason).length === 0 ||\n\t\t\t\t(selectedReleaseInstanceReason.id ===\n\t\t\t\t\tMANAGE_INSTANCE_RELEASE_REASONS.OTHER_REASON &&\n\t\t\t\t\t!textBoxVal)\n\t\t},\n\t\t{\n\t\t\tvariant: 'secondary',\n\t\t\tlabel: BUTTON_LABELS.CANCEL,\n\t\t\tclickActionType: 'CANCEL_RELEASE_INSTANCE'\n\t\t}\n\t];\n\n\t// Check the condition for catItemInProgress.name\n\tif (catItemInProgress && catItemInProgress?.name == REMOVE_DEMO_DATA) {\n\t\t// Modify the buttons to show only the 'Close' button with 'CANCEL' action\n\t\tremoveDemoDataActions = [\n\t\t\t{\n\t\t\t\tvariant: 'primary',\n\t\t\t\tlabel: BUTTON_LABELS.CLOSE,\n\t\t\t\tclickActionType: 'CANCEL_PDI_ACTION'\n\t\t\t}\n\t\t];\n\t}\n\tif (isResetAndWipeInProgress) {\n\t\tresetAndWipeActions = [\n\t\t\t{\n\t\t\t\tvariant: 'primary',\n\t\t\t\tlabel: BUTTON_LABELS.CLOSE,\n\t\t\t\tclickActionType: 'CANCEL_PDI_ACTION'\n\t\t\t}\n\t\t];\n\t}\n\tif (changeUserRoleStage == 'progress') {\n\t\tchangeUserRoleActions = [\n\t\t\t{\n\t\t\t\tvariant: 'primary',\n\t\t\t\tlabel: BUTTON_LABELS.CLOSE,\n\t\t\t\tclickActionType: 'CANCEL_PDI_ACTION',\n\t\t\t\tdisabled: true\n\t\t\t}\n\t\t];\n\t} else if (changeUserRoleStage == 'done') {\n\t\tchangeUserRoleActions = [\n\t\t\t{\n\t\t\t\tvariant: 'primary',\n\t\t\t\tlabel: BUTTON_LABELS.DONE,\n\t\t\t\tclickActionType: 'CHANGE_USER_ROLE_DONE',\n\t\t\t\ttooltipContent: '',\n\t\t\t}\n\t\t];\n\t}\n\n\n\tconst getFooterActionsForPdiActions = () => {\n\t\tswitch (selectedAction.id) {\n\t\t\tcase 'release_instance':\n\t\t\t\treturn releaseInstanceActions;\n\t\t\tcase 'remove_demo_data':\n\t\t\t\treturn removeDemoDataActions;\n\t\t\tcase 'reset_wipe_instance':\n\t\t\t\treturn resetAndWipeActions;\n\t\t\tcase 'manage_email_properties':\n\t\t\t\treturn manageEmailPropertiesActions;\n\t\t\tcase 'change_user_role':\n\t\t\t\treturn changeUserRoleActions;\n\t\t\tdefault:\n\t\t\t\treturn [];\n\t\t}\n\t};\n\n\tconst enhancedSecondaryPdiActions = secondaryPdiActions.map(action => {\n\t\treturn {\n\t\t\t...action,\n\t\t\tdisabled: isActionInprogress || catItemInProgress\n\t\t};\n\t});\n\n\tconst getModalContent = () => {\n\t\tconst fieldHelperOptions = arrayToObject(\n\t\t\tJSON.parse(\n\t\t\t\tsystemProperties['dev.instance.modal.release.field.helper.text']\n\t\t\t)\n\t\t);\n\n\t\tconst renderRemoveDemoDataContent = () => (\n\t\t\t<div className=\"remove_demo_data\">\n\t\t\t\t{catItemInProgress && catItemInProgress.name == REMOVE_DEMO_DATA ? (\n\t\t\t\t\t<div className=\"pdi_action_inprogress\">\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={unconfigured}\n\t\t\t\t\t\t\tclassName=\"unconfigured\"\n\t\t\t\t\t\t\talt={UNCONFIGURE_ALT}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div className=\"request-submitting-message\">\n\t\t\t\t\t\t\t{REQUEST_SUBMITTED_MESSAGE}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<div className=\"remove_demo_data\">\n\t\t\t\t\t\t<now-alert\n\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\ticon=\"circle-info-outline\"\n\t\t\t\t\t\t\taction={{ type: 'string' }}\n\t\t\t\t\t\t\texpanded\n\t\t\t\t\t\t\tcontent={ALERT_CONTENT.REMOVE_DEMO_DATA}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div className=\"modal-text\">\n\t\t\t\t\t\t\t{ALERT_CONTENT.DEFAULT_INSTANCE_STATE}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"confirm-checkbox\">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tid=\"confirm-check\"\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\tname=\"confirm-check\"\n\t\t\t\t\t\t\t\tvalue={true}\n\t\t\t\t\t\t\t\tenable-focus\n\t\t\t\t\t\t\t\texpanded\n\t\t\t\t\t\t\t\tstyle={{ marginTop: '4px' }}\n\t\t\t\t\t\t\t\tchecked={confirmChecked}\n\t\t\t\t\t\t\t\ton-input={e =>\n\t\t\t\t\t\t\t\t\tupdateProperties({ confirmChecked: e.target.checked })\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<label htmlFor=\"confirm-check\">{DEMO_DATA_REMOVAL_WARNING}</label>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\n\t\tconst renderChangeUserRoleContent = () => {\n\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t{changeUserRoleStage == 'progress' &&\n\t\t\t\t\t\t<div className=\"pdi_action_inprogress\">\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc={unconfigured}\n\t\t\t\t\t\t\t\tclassName=\"unconfigured\"\n\t\t\t\t\t\t\t\talt={UNCONFIGURE_ALT}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<div className=\"update-user-role-text\">Updating user role...</div>\n\t\t\t\t\t\t\t<div className=\"request-submitting-message\">\n\t\t\t\t\t\t\t\tWe’re updating your user role to {changeUserRole}.\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>}\n\n\t\t\t\t\t{changeUserRoleStage == 'loading' && roleOptions.length > 0 &&\n\t\t\t\t\t\t<div className=\"role-layout\">\n\t\t\t\t\t\t\t<div className=\"role-cards\">\n\t\t\t\t\t\t\t\t{roleOptions.map(role => {\n\t\t\t\t\t\t\t\t\tconst roleName = userRoleOptions.editorOptions[role];\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<now-card\n\t\t\t\t\t\t\t\t\t\t\tinteraction=\"select\"\n\t\t\t\t\t\t\t\t\t\t\tcomponentName={role}\n\t\t\t\t\t\t\t\t\t\t\tmanageSelected={true}\n\t\t\t\t\t\t\t\t\t\t\tselected={changeUserRole === role}\n\t\t\t\t\t\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t'aria-label': `Select ${roleName} role`,\n\t\t\t\t\t\t\t\t\t\t\t\t\trole: 'button'\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\tarticle: { role: 'article' }\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{role == pdiUserRole && <div className=\"current-user-role\">Current user role</div>}\n\t\t\t\t\t\t\t\t\t\t\t<now-card-header\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"user-role-header\"\n\t\t\t\t\t\t\t\t\t\t\t\theading={{ label: roleName, size: 'sm' }}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"change-user-desc\">\n\t\t\t\t\t\t\t\t\t\t\t\t{userRoleOptions.editorOptionsText[role]}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</now-card>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div className=\"role-image\">\n\t\t\t\t\t\t\t\t{changeUserRole && (\n\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\tmaxWidth: '347px',\n\t\t\t\t\t\t\t\t\t\t\tborderRadius: '8px'\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tsrc={\n\t\t\t\t\t\t\t\t\t\t\tchangeUserRole.toLowerCase() === 'admin'\n\t\t\t\t\t\t\t\t\t\t\t\t? Advanced_Editor_Type_Image\n\t\t\t\t\t\t\t\t\t\t\t\t: Guided_Editor_Type_Image\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\talt={`${changeUserRole} editor type`}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t\t{!(roleOptions.length > 0) && <dps-spinner style={{ height: 'auto' }} size=\"sm\" />}\n\n\t\t\t\t\t{changeUserRoleStage == 'done' &&\n\t\t\t\t\t\t<div className=\"change-user-role-completed\">\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc={completedTask}\n\t\t\t\t\t\t\t\tclassName=\"unconfigured\"\n\t\t\t\t\t\t\t\talt={COMPLETED_TASK}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<div className=\"completed-task\">{opResult?.message}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t</div>\n\n\n\t\t\t)\n\t\t}\n\n\t\tconst renderReleaseInstanceContent = () => {\n\t\t\tconst getTextLinkProps = () => {\n\t\t\t\tif (\n\t\t\t\t\tselectedReleaseInstanceReason.id ==\n\t\t\t\t\tMANAGE_INSTANCE_RELEASE_REASONS.FRESH_INSTANCE\n\t\t\t\t)\n\t\t\t\t\treturn {\n\t\t\t\t\t\tlabel: RESET_WIPE,\n\t\t\t\t\t\thref: MANAGE_INSTANCE_URL,\n\t\t\t\t\t\topensWindow: false\n\t\t\t\t\t};\n\t\t\t\treturn null;\n\t\t\t};\n\t\t\tconst getHelperText = () => {\n\t\t\t\tif (\n\t\t\t\t\tselectedReleaseInstanceReason.id !==\n\t\t\t\t\tMANAGE_INSTANCE_RELEASE_REASONS.NO_LONGER_USING &&\n\t\t\t\t\tselectedReleaseInstanceReason.id !==\n\t\t\t\t\tMANAGE_INSTANCE_RELEASE_REASONS.FRESH_INSTANCE &&\n\t\t\t\t\tfieldHelperOptions[selectedReleaseInstanceReason.id] !== ''\n\t\t\t\t) {\n\t\t\t\t\tlet helperText = fieldHelperOptions[\n\t\t\t\t\t\tselectedReleaseInstanceReason.id\n\t\t\t\t\t][0]\n\t\t\t\t\t\t.replace(/<dps-link/g, '<a')\n\t\t\t\t\t\t.replace(/<\\/dps-link>/g, '</a> ');\n\t\t\t\t\treturn helperText;\n\t\t\t\t} else if (\n\t\t\t\t\tselectedReleaseInstanceReason.id ==\n\t\t\t\t\tMANAGE_INSTANCE_RELEASE_REASONS.FRESH_INSTANCE\n\t\t\t\t) {\n\t\t\t\t\tlet helperText = HELPER_TEXT_GET_FRESH_INSTANCE;\n\t\t\t\t\treturn helperText;\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tconst setInputTextVal = event => {\n\t\t\t\tconst { currentTarget } = event;\n\t\t\t\tif (currentTarget) {\n\t\t\t\t\tupdateProperties({ textBoxVal: currentTarget.value });\n\t\t\t\t}\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<div className=\"release-instance\">\n\t\t\t\t\t<div className=\"viewMessage\">\n\t\t\t\t\t\t<div>{releaseInstance.confirmMessage}</div>\n\t\t\t\t\t\t<div className=\"release-instance-field-container\">\n\t\t\t\t\t\t\t<now-select\n\t\t\t\t\t\t\t\tlabel={RELEASE_INSTANCE_LABEL}\n\t\t\t\t\t\t\t\titems={Object.keys(fieldHelperOptions)\n\t\t\t\t\t\t\t\t\t.slice(1) // Skip the first key as it's a placeholder\n\t\t\t\t\t\t\t\t\t.map(option => ({\n\t\t\t\t\t\t\t\t\t\tid: option,\n\t\t\t\t\t\t\t\t\t\tlabel: option\n\t\t\t\t\t\t\t\t\t}))}\n\t\t\t\t\t\t\t\tselectedItem={selectedReleaseInstanceReason.id}\n\t\t\t\t\t\t\t\trequired={true}\n\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t{selectedReleaseInstanceReason.id ===\n\t\t\t\t\t\t\t\tMANAGE_INSTANCE_RELEASE_REASONS.OTHER_REASON && (\n\t\t\t\t\t\t\t\t\t<div className=\"other-reason\">\n\t\t\t\t\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"instance-release-textField\"\n\t\t\t\t\t\t\t\t\t\t\tmaxlength={TEXTAREA_MAX_LENGTH}\n\t\t\t\t\t\t\t\t\t\t\tplaceholder={TEXTAREA_PLACE_HOLDER}\n\t\t\t\t\t\t\t\t\t\t\ton-input={setInputTextVal}\n\t\t\t\t\t\t\t\t\t\t\ton-change={setInputTextVal}\n\t\t\t\t\t\t\t\t\t\t\ton-blur={setInputTextVal}\n\t\t\t\t\t\t\t\t\t\t\ton-paste={setInputTextVal}\n\t\t\t\t\t\t\t\t\t\t\ton-keyup={setInputTextVal}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{textBoxVal}\n\t\t\t\t\t\t\t\t\t\t</textarea>\n\t\t\t\t\t\t\t\t\t\t<div className=\"characters-left\">\n\t\t\t\t\t\t\t\t\t\t\tCharacters left:\n\t\t\t\t\t\t\t\t\t\t\t{textBoxVal\n\t\t\t\t\t\t\t\t\t\t\t\t? TEXTAREA_MAX_LENGTH - textBoxVal.length\n\t\t\t\t\t\t\t\t\t\t\t\t: TEXTAREA_MAX_LENGTH}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{((fieldHelperOptions[selectedReleaseInstanceReason.id] &&\n\t\t\t\t\t\t\tfieldHelperOptions[selectedReleaseInstanceReason.id][0]) ||\n\t\t\t\t\t\t\tselectedReleaseInstanceReason.id ==\n\t\t\t\t\t\t\tMANAGE_INSTANCE_RELEASE_REASONS.FRESH_INSTANCE) && !(selectedReleaseInstanceReason.id ==\n\t\t\t\t\t\t\t\tMANAGE_INSTANCE_RELEASE_REASONS.FRESH_INSTANCE && (catItemInProgress || isActionInprogress)) ? (\n\t\t\t\t\t\t\t<now-alert\n\t\t\t\t\t\t\t\tstatus=\"info\"\n\t\t\t\t\t\t\t\ticon=\"circle-info-outline\"\n\t\t\t\t\t\t\t\ttext-link-props={getTextLinkProps()}\n\t\t\t\t\t\t\t\texpanded\n\t\t\t\t\t\t\t\tcontent={{\n\t\t\t\t\t\t\t\t\ttype: 'html',\n\t\t\t\t\t\t\t\t\tvalue: `<span>${getHelperText()}</span>`\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t};\n\n\t\tconst renderResetWipeInstanceContent = () => (\n\t\t\t<div className=\"reset-instance\">\n\t\t\t\t{isResetAndWipeInProgress ? (\n\t\t\t\t\t<div className=\"pdi_action_inprogress\">\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={unconfigured}\n\t\t\t\t\t\t\tclassName=\"unconfigured\"\n\t\t\t\t\t\t\talt={UNCONFIGURE_ALT}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div className=\"request-submitting-message\">\n\t\t\t\t\t\t\t{RESET_WIPE_REQUEST_SUBMITTED_MESSAGE}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<div className=\"reset-instance\">\n\t\t\t\t\t\t<div className=\"reset-instance-modal-text\">{RESET_WIPE_SUB_LABEL}</div>\n\t\t\t\t\t\t{isInstanceAvailableInSamePatch ? (\n\t\t\t\t\t\t\t<div className=\"viewMessage_reset-instance\">\n\t\t\t\t\t\t\t\t<div className=\"viewMessage_reset-instance_note\">\n\t\t\t\t\t\t\t\t\t{RESET_WIPE_NOTE}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className=\"viewMessage_reset-instance-header\">{INSTANCE_NAME_PROMPT} \"{instanceInfo.name}\"?</div>\n\t\t\t\t\t\t\t\t<div className=\"viewMessage_reset-instance_options_container\">\n\t\t\t\t\t\t\t\t\t<div className=\"viewMessage_reset-instance_options\">\n\t\t\t\t\t\t\t\t\t\t<input type=\"radio\" id=\"normal\" name=\"resetAndWipeType\" value={RESET_WIPE_TYPE_OPTIONS.NORMAL}\n\t\t\t\t\t\t\t\t\t\t\tchecked={quickResetWipeOperationType === RESET_WIPE_TYPE_OPTIONS.NORMAL}\n\t\t\t\t\t\t\t\t\t\t\ton-input={e => updateProperties({ quickResetWipeOperationType: e.target.value })} />\n\t\t\t\t\t\t\t\t\t\t<label for=\"normal\" className=\"viewMessage_reset-instance_options_label\">{KEEP_INSTANCE_NAME_OPTION}</label>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"viewMessage_reset-instance_options\">\n\t\t\t\t\t\t\t\t\t\t<input type=\"radio\" id=\"quick\" name=\"resetAndWipeType\" value={RESET_WIPE_TYPE_OPTIONS.QUICK}\n\t\t\t\t\t\t\t\t\t\t\tchecked={quickResetWipeOperationType === RESET_WIPE_TYPE_OPTIONS.QUICK} on-input={e => updateProperties({ quickResetWipeOperationType: e.target.value })} />\n\t\t\t\t\t\t\t\t\t\t<label for=\"quick\" className=\"viewMessage_reset-instance_options_label\">{RESET_INSTANCE_NAME_OPTION}</label>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<div className=\"reset-wipe\">\n\n\t\t\t\t\t\t\t<div className=\"confirm-checkbox\">\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\tid=\"confirm-check\"\n\t\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\t\tname=\"confirm-check\"\n\t\t\t\t\t\t\t\t\tvalue={true}\n\t\t\t\t\t\t\t\t\tenable-focus\n\t\t\t\t\t\t\t\t\texpanded\n\t\t\t\t\t\t\t\t\tstyle={{ marginTop: '4px' }}\n\t\t\t\t\t\t\t\t\tchecked={confirmChecked}\n\t\t\t\t\t\t\t\t\ton-input={e =>\n\t\t\t\t\t\t\t\t\t\tupdateProperties({ confirmChecked: e.target.checked })\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<label htmlFor=\"confirm-check\">\n\t\t\t\t\t\t\t\t\t{RESET_WIPE_CONFIRM_MESSAGE}\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\n\t\tconst renderManageEmailProperties = () => (\n\t\t\t<div className=\"instanceModal-confirmationView\">\n\t\t\t\t<div className=\"viewMessage\">\n\t\t\t\t\t<span className=\"manage-email-properties\">ServiceNow instances can send and receive email. To enable or\n\t\t\t\t\t\tdisable email sending and receiving, click the toggle.</span>\n\t\t\t\t\t<div className=\"instanceModal-toggle\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<label className=\"switch\">\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\tclassName=\"switch-input\"\n\t\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\t\tchecked={sendRecieveEmailCheckboxChecked}\n\t\t\t\t\t\t\t\t\ton-input={e => {\n\t\t\t\t\t\t\t\t\t\tupdateProperties({ sendRecieveEmailCheckboxChecked: e.target.checked })\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<div className=\"switch-btn\"></div>\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"switch-label\"\n\t\t\t\t\t\t\ton-click={e => {\n\t\t\t\t\t\t\t\tupdateProperties({ sendRecieveEmailCheckboxChecked: !sendRecieveEmailCheckboxChecked })\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tEnable email sending and receiving\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\n\t\tconst renderViewHistory = () => {\n\t\t\treturn <ViewHistory\n\t\t\t\tcatItemInProgress={catItemInProgress}\n\t\t\t\tisLoadingOperationHistory={isLoadingOperationHistory}\n\t\t\t\tcompleteOperationHistory={completeOperationHistory}\n\t\t\t\tsortHistoryTypeDesc={sortHistoryTypeDesc}\n\t\t\t\tupdatedOperationHistory={updatedOperationHistory}\n\t\t\t\tpaginatedOperationHistory={paginatedOperationHistory}\n\t\t\t\tmenuItem={{ name: 'operationHistory' }}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tselectedOperationType={selectedOperationType}\n\t\t\t\tselectedOperationHistoryPage={selectedOperationHistoryPage}\n\t\t\t/>;\n\t\t};\n\n\t\tswitch (selectedAction.id) {\n\t\t\tcase 'release_instance':\n\t\t\t\treturn renderReleaseInstanceContent();\n\t\t\tcase 'remove_demo_data':\n\t\t\t\treturn renderRemoveDemoDataContent();\n\t\t\tcase 'reset_wipe_instance':\n\t\t\t\treturn renderResetWipeInstanceContent();\n\t\t\tcase 'manage_email_properties':\n\t\t\t\treturn renderManageEmailProperties();\n\t\t\tcase 'change_user_role':\n\t\t\t\treturn renderChangeUserRoleContent();\n\t\t\tcase 'view_history':\n\t\t\t\treturn renderViewHistory();\n\t\t\tdefault:\n\t\t\t\treturn <div>{ACTION_LABELS.SELECT_ACTION}</div>;\n\t\t}\n\t};\n\n\n\t// Mapping status icons to their corresponding status classes\n\tconst statusClassMap = {\n\t\tinstanceFulfilling: 'statusFulfilling',\n\t\tinstanceOnline: 'statusOnline',\n\t\tinstanceHibernating: 'statusHibernating'\n\t};\n\n\t// Display range label for plugins\n\tconst rangeLabel = `Showing ${pageNumber * pageSize + 1} - ${Math.min(\n\t\t(pageNumber + 1) * pageSize,\n\t\tfilteredPlugins.length\n\t)} of ${filteredPlugins.length}`;\n\n\t/**\n\t * Retrieves the current status of a plugin based on its activation state and operation history.\n\t *\n\t * @param {Object} plugin - The plugin object for which the status is being checked.\n\t * @param {string} plugin.id - The unique ID of the plugin.\n\t * @returns {Object} The status object containing text, background color, and optional icon for the plugin status.\n\t * @returns {string} return.text - The text indicating the plugin's status.\n\t * @returns {string} return.bgColor - The background color representing the status.\n\t * @returns {string} [return.icon] - An optional icon to display alongside the status.\n\t */\n\tconst getPluginStatus = plugin => {\n\t\tconst pluginOperationsHistory = completeOperationHistory.filter(operation => operation.operation_name === OPERATION_HISTORY_TYPES['activate-plugin'].value);\n\n\t\tlet filteredOperation;\n\t\tif (pluginOperationsHistory) {\n\t\t\tfilteredOperation = pluginOperationsHistory.find(operation =>\n\t\t\t\t(operation.params.pluginId === plugin.id))\n\t\t\t\t;\n\t\t}\n\n\t\tconst isActivating =\n\t\t\tcatItemInProgress &&\n\t\t\tcatItemInProgress.confirmViewName === 'activate_plugin' &&\n\t\t\tcurrentActivatingPlugin === plugin.id;\n\n\t\tif (isActivating) {\n\t\t\treturn {\n\t\t\t\ttext: PLUGIN_STATUS.ACTIVATION_IN_PROGRESS,\n\t\t\t\tbgColor: COLORS.IN_PROGRESS_BG,\n\t\t\t\ticon: loader\n\t\t\t};\n\t\t}\n\n\t\tif (!filteredOperation)\n\t\t\treturn {\n\t\t\t\ttext: PLUGIN_STATUS.NOT_ACTIVATED,\n\t\t\t\tbgColor: COLORS.NOT_ACTIVATED_BG\n\t\t\t};\n\n\t\tconst { status } = filteredOperation || {};\n\t\tif (status === 'Complete') {\n\t\t\tconst statusText = Number(plugin.hasDemoData)\n\t\t\t\t? PLUGIN_STATUS.ACTIVATED_WITH_DEMO_DATA\n\t\t\t\t: PLUGIN_STATUS.ACTIVATED_WITHOUT_DEMO_DATA;\n\t\t\treturn {\n\t\t\t\ttext: statusText,\n\t\t\t\tbgColor: COLORS.ACTIVATED_BG,\n\t\t\t\ticon: tickMark\n\t\t\t};\n\t\t}\n\n\t\tif (status === 'Error') {\n\t\t\treturn {\n\t\t\t\ttext: PLUGIN_STATUS.ACTIVATION_FAILED,\n\t\t\t\tbgColor: COLORS.FAILED_BG,\n\t\t\t\ticon: failed\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\ttext: PLUGIN_STATUS.NOT_ACTIVATED,\n\t\t\tbgColor: COLORS.NOT_ACTIVATED_BG\n\t\t};\n\t};\n\n\tconst getInstanceStatusClassName = () => {\n\t\tif (isBaInstallInProgress) return 'status-fulfilling';\n\t\treturn STATUS[display_state]?.status_class || 'status-offline';\n\t};\n\n\tconst getDisplayStateText = () => {\n\t\tconst status = STATUS[display_state];\n\t\tif (isBaInstallInProgress) {\n\t\t\treturn catItemInProgress.statusText;\n\t\t}\n\t\tif (status && status?.isFollowedByEllipsis) {\n\t\t\treturn `${display_state}...`;\n\t\t}\n\t\treturn display_state;\n\t};\n\n\tconst getAppInstalledStatus = (appKey) => {\n\t\tif (instanceInfo?.installedApps?.[appKey]?.toLowerCase() ===\n\t\t\t'installed') {\n\t\t\treturn true;\n\t\t}\n\t\telse if (instanceInfo?.installedApps?.[appKey]?.toLowerCase() ===\n\t\t\t'not installed') {\n\t\t\treturn false;\n\t\t}\n\t\telse {\n\t\t\tnull;\n\t\t}\n\t};\n\n\tconst isMVP = instanceInfo?.policy?.isMVP;\n\tconst isPolicyAssigned = !!instanceInfo?.policy;\n\tconst showReclaimPolicy = systemProperties['dev.enable.reclaimpolicy'] === 'true' && isPolicyAssigned && !isMVP;\n\tconst remainingAgeDays = instanceInfo?.remainingAgeDays;\n\tconst lastActivity = instanceInfo?.timeToLastActivity;\n\tconst hasLastActivity = showReclaimPolicy && typeof lastActivity === 'string' && lastActivity.trim() !== '';\n\tconst lastActivityIdleDays = hasLastActivity && lastActivity.includes('day') ? parseInt(lastActivity, 10) : 0;\n\n\tconst show90DayReclaimAlert = showReclaimPolicy && is90DayReclaimEligible(instanceInfo);\n\tconst showInactivityReclaimAlert =\n\t\tshowReclaimPolicy && !show90DayReclaimAlert && isInactivityReclaimEligible(instanceInfo);\n\n\tconst getAgeRemainingColor = (daysRemaining) => {\n\t\tif (daysRemaining <= AGE_RECLAIM_DAYS) return 'critical';\n\t\tif (daysRemaining <= 30) return 'warning';\n\t\treturn 'positive';\n\t};\n\n\tconst getLastLoginColor = (daysSinceLogin) => {\n\t\treturn daysSinceLogin >= INACTIVITY_RECLAIM_DAYS ? 'warning' : 'positive';\n\t};\n\n\tconst nowAlerts = nowAlertMessages?.filter(t => t.isNowAlert === true) || [];\n\tconst stackThreshold = 3;\n\tconst hideOfflineAlert = systemProperties['dev.build.agent.hide.offline.alert'] === 'true';\n\t\n\treturn (\n\t\t<div className=\"dps-pdi-summary -summary\">\n\t\t\t<section className=\"dps-pdi-summary-header-section\">\n\t\t\t\t<div className=\"dps-pdi-summary-content\">\n\t\t\t\t\t<div className=\"dps-pdi-summary-title\">\n\t\t\t\t\t\t{MANAGE_INSTANCE_LABELS.INSTANCE_MANAGE_TITLE} {instanceInfo?.name ? ` (${instanceInfo.name})` : ''}\n\t\t\t\t\t\t<div className=\"tooltip-container\">\n\t\t\t\t\t\t\t<now-icon className=\"info-icon\" icon=\"circle-info-outline\" size=\"md\" />\n\t\t\t\t\t\t\t<div className='activity-warning-tooltip'>{NO_ACTIVITY_WARNING}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"dps-pdi-summary-action-container\"\n\t\t\t\t\t\thook-insert={isBaInstallInProgress ? ({elm}) => {\n\t\t\t\t\t\t\tconst observer = new MutationObserver(() => {\n\t\t\t\t\t\t\t\telm.querySelectorAll('now-dropdown-list .is-disabled').forEach(el => {\n\t\t\t\t\t\t\t\t\tif (!el.getAttribute('title')) {\n\t\t\t\t\t\t\t\t\t\tel.setAttribute('title', baUpgradeTooltip);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tobserver.observe(elm, { childList: true, subtree: true });\n\t\t\t\t\t\t\telm._baObserver = observer;\n\t\t\t\t\t\t} : undefined}\n\t\t\t\t\t\thook-destroy={isBaInstallInProgress ? ({elm}) => {\n\t\t\t\t\t\t\tif (elm._baObserver) elm._baObserver.disconnect();\n\t\t\t\t\t\t} : undefined}\n\t\t\t\t\t>\n\t\t\t\t\t\t<now-dropdown\n\t\t\t\t\t\t\titems={enhancedPdiActions}\n\t\t\t\t\t\t\tcomponent-name={ACTIONS_IDS.PRIMARY_PDI_ACTIONS}\n\t\t\t\t\t\t\tclassName=\"dropdown-button\"\n\t\t\t\t\t\t\tselect=\"none\"\n\t\t\t\t\t\t\tplaceholder={MANAGE_INSTANCE_LABELS.ACTIONS_PLACEHOLDER}\n\t\t\t\t\t\t\tshowPadding={true}\n\t\t\t\t\t\t\tslot=\"content\"\n\t\t\t\t\t\t\ttooltipContent={isBaInstallInProgress ? baUpgradeTooltip : ''}\n\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\tpanel: { 'aria-label': 'select' }\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</section>\n\t\t\t<div className=\"dps-pdi-summary-alert-section\" class={{\n\t\t\t\t'dps-pdi-summary-alert-margin': nowAlerts?.length > stackThreshold - 1\n\t\t\t}}>\n\t\t\t\t{isBaInstallInProgress ? (\n\t\t\t\t\t<now-alert\n\t\t\t\t\t\tstatus=\"info\"\n\t\t\t\t\t\ticon=\"circle-info-outline\"\n\t\t\t\t\t\tcontent={baUpgradeMessages.banner}\n\t\t\t\t\t\texpanded\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t{showInactivityReclaimAlert &&\n\t\t\t\t\t(() => {\n\t\t\t\t\t\tconst alertProps = ALERTS_CONTENT({\n\t\t\t\t\t\t\talertId: ALERTS.INACTIVITY_RECLAIM_ALERT_ID,\n\t\t\t\t\t\t\tuserInfo,\n\t\t\t\t\t\t\treleaseInfo,\n\t\t\t\t\t\t\tsystemProperties\n\t\t\t\t\t\t});\n\t\t\t\t\t\tconst copy = getInactivityReclaimAlertCopy({\n\t\t\t\t\t\t\tremainingInactivityDays: instanceInfo?.remainingInactivityDays,\n\t\t\t\t\t\t\tremainingInactivityDaysUnitStr: instanceInfo?.remainingInactivityDaysUnitStr,\n\t\t\t\t\t\t\tinactivityDays: instanceInfo?.policy?.inactivity_days\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<now-alert\n\t\t\t\t\t\t\t\tclassName=\"dps-reclaim-alert\"\n\t\t\t\t\t\t\t\tstatus={alertProps.status}\n\t\t\t\t\t\t\t\ticon={alertProps.icon}\n\t\t\t\t\t\t\t\theader={copy.header}\n\t\t\t\t\t\t\t\tcontent={{ type: 'string', value: copy.content }}\n\t\t\t\t\t\t\t\tcomponentName={ALERTS.INACTIVITY_RECLAIM_ALERT_ID}\n\t\t\t\t\t\t\t\tauto-dismiss-config={{}}\n\t\t\t\t\t\t\t></now-alert>\n\t\t\t\t\t\t);\n\t\t\t\t\t})()}\n\t\t\t\t{show90DayReclaimAlert &&\n\t\t\t\t\t(() => {\n\t\t\t\t\t\tconst alertProps = ALERTS_CONTENT({\n\t\t\t\t\t\t\talertId: ALERTS.NINETY_DAY_RECLAIM_ALERT_ID,\n\t\t\t\t\t\t\tuserInfo,\n\t\t\t\t\t\t\treleaseInfo,\n\t\t\t\t\t\t\tsystemProperties\n\t\t\t\t\t\t});\n\t\t\t\t\t\tconst copy = getNinetyDayReclaimAlertCopy({\n\t\t\t\t\t\t\texpiryDate: getAgeExpiryDate(instanceInfo),\n\t\t\t\t\t\t\tmaxExpiryDays: instanceInfo?.policy?.max_expiry_days\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<now-alert\n\t\t\t\t\t\t\t\tclassName=\"dps-reclaim-alert\"\n\t\t\t\t\t\t\t\tstatus={alertProps.status}\n\t\t\t\t\t\t\t\ticon={alertProps.icon}\n\t\t\t\t\t\t\t\theader={copy.header}\n\t\t\t\t\t\t\t\tcontent={{ type: 'string', value: copy.content }}\n\t\t\t\t\t\t\t\tcomponentName={ALERTS.NINETY_DAY_RECLAIM_ALERT_ID}\n\t\t\t\t\t\t\t\tauto-dismiss-config={{}}\n\t\t\t\t\t\t\t></now-alert>\n\t\t\t\t\t\t);\n\t\t\t\t\t})()}\n\t\t\t\t<now-alert-list ref={state.alertListRef} items={nowAlerts} stackThreshold={stackThreshold} />\n\t\t\t</div>\n\t\t\t<section className=\"dps-pdi-summary-content-section\">\n\t\t\t\t<div className=\"card-container\">\n\t\t\t\t\t<div className=\"manage-instance\">\n\t\t\t\t\t\t<div className=\"instance-info-container\" class={{\n\t\t\t\t\t\t\t'-disabled': !instanceInfo?.installedApps && instanceInfo.isWakingInstance()\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t<section className={showReclaimPolicy ? \"instance-header policy\": \"instance-header\"}>\n\t\t\t\t\t\t\t\t<div className=\"instance-status-container\">\n\t\t\t\t\t\t\t\t\t<div className=\"instance-icon-wrapper\">\n\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\tsrc={instanceIcon}\n\t\t\t\t\t\t\t\t\t\t\talt=\"Instance Icon\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"instance-icon\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"instance-reclaim-row\">\n\t\t\t\t\t\t\t\t\t\t{showReclaimPolicy && typeof remainingAgeDays === 'number' ? (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"instance-reclaim-info\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"instance-reclaim-info-label\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{MANAGE_INSTANCE_LABELS.AGE_REMAINING_LABEL}\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`instance-reclaim-pill instance-reclaim-pill--${getAgeRemainingColor(remainingAgeDays)}`}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<now-icon icon=\"stopwatch-outline\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span>{`${remainingAgeDays} day${remainingAgeDays === 1 ? '' : 's'}`}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t\t{hasLastActivity ? (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"instance-reclaim-info\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"instance-reclaim-info-label\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{MANAGE_INSTANCE_LABELS.LAST_LOGIN_LABEL}\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`instance-reclaim-pill instance-reclaim-pill--${getLastLoginColor(lastActivityIdleDays)}`}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span>{`${lastActivity.trim()}`} ago</span>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t{showReclaimPolicy && <div className=\"instance-status-vertical-divider\"></div>}\n\t\t\t\t\t\t\t\t\t<div className=\"status-info\">\n\t\t\t\t\t\t\t\t\t\t<span>{MANAGE_INSTANCE_LABELS.STATUS}</span>\n\t\t\t\t\t\t\t\t\t\t<div className={getInstanceStatusClassName()}>\n\t\t\t\t\t\t\t\t\t\t\t{status_icon ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"instance-status\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tsrc={Icons[statusClassMap[status_icon]]}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"status-text\">\n\t\t\t\t\t\t\t\t\t\t\t\t{getDisplayStateText()}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className='instance-actions'>\n\t\t\t\t\t\t\t\t\t{(instanceInfo && instanceInfo.ishibernating()) &&\n\t\t\t\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\t\t\t\ticon=\"power-outline\"\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\t\t\t\t\tid={ACTIONS_IDS.WAKE_INSTANCE}\n\t\t\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\t\t\tDPS_NAV_INSTANCE_MANAGEMENT.WAKE_INSTANCE\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdisabled={hideOfflineAlert && instanceInfo.underUnplannedMaintenance}\n\t\t\t\t\t\t\t\t\t\t\ttooltip-content={\"\"}\n\t\t\t\t\t\t\t\t\t\t\ton-click={(event) => {\n\t\t\t\t\t\t\t\t\t\t\t\tif (hideOfflineAlert && instanceInfo.underUnplannedMaintenance) {\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tdispatch(APP_ACTIONS.WAKE_UP_INSTANCE_TRIGGER);\n\t\t\t\t\t\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\t\t\t\t\t\taction: `click on Refresh instance button on Manage instance screen`,\n\t\t\t\t\t\t\t\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'Wake instance',\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\t\t\t\t\t\tga: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\tadobe: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\tevent: event,\n\t\t\t\t\t\t\t\t\t\t\t\t\taaDigitalData: wakeInstanceClickData\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\t\t\ticon=\"sync-outline\"\n\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\t\t\t\ttooltipContent={''}\n\t\t\t\t\t\t\t\t\t\tid={ACTIONS_IDS.REFRESH_INSTANCE}\n\t\t\t\t\t\t\t\t\t\tdisabled={isActionInprogress}\n\t\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\t\tDPS_NAV_INSTANCE_MANAGEMENT.REFRESH_STATUS_BUTTON_LABEL\n\t\t\t\t\t\t\t\t\t\t\t\t.REFRESH\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ton-click={(event) => {\n\t\t\t\t\t\t\t\t\t\t\tif (!isInstanceRefreshing) {\n\t\t\t\t\t\t\t\t\t\t\t\tdispatch(DPS_INSTANCE_SIDEBAR.REFRESH_STATUS, {\n\t\t\t\t\t\t\t\t\t\t\t\t\tinstanceSysID: sys_id\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\t\t\t\t\t\taction: `click on Refresh instance button on Manage instance screen`,\n\t\t\t\t\t\t\t\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'Refresh instance',\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\t\t\t\t\t\tga: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\tadobe: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\tevent: event,\n\t\t\t\t\t\t\t\t\t\t\t\t\taaDigitalData: refreshInstanceClickData\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</section>\n\n\t\t\t\t\t\t\t<section className=\"installed-apps-section\">\n\t\t\t\t\t\t\t\t{(!instanceInfo?.installedApps && instanceInfo.isWakingInstance()) ? (\n\t\t\t\t\t\t\t\t\t<dps-spinner className=\"spinner-waking\" size=\"sm\" />\n\t\t\t\t\t\t\t\t) :\n\t\t\t\t\t\t\t\t\t['BAF', 'SNS', 'AES'].map(appKey => {\n\t\t\t\t\t\t\t\t\t\tconst appName = APP_NAME_LOOKUP[appKey]\n\t\t\t\t\t\t\t\t\t\tconst isInstalled = getAppInstalledStatus(appKey)\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"installed-app\" key={appKey}>\n\t\t\t\t\t\t\t\t\t\t\t\t{isInstalled !== undefined ? <div className=\"installed-app-name\">{appName}</div> : null}\n\t\t\t\t\t\t\t\t\t\t\t\t{isInstalled !== undefined ? <div\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`app-status ${isInstalled ? 'installed' : 'not-installed'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{isInstalled ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc={tickMark}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\talt=\"Tick mark indicating installation status\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc={cancel}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\talt=\"This mark indicating installation status\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t{isInstalled ? 'Installed' : 'Not Installed'}\n\t\t\t\t\t\t\t\t\t\t\t\t</div> : null}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</section>\n\n\t\t\t\t\t\t\t<div className={showReclaimPolicy ? \"version-info-container policy-version\": \"version-info-container\"}>\n\t\t\t\t\t\t\t\t<div className=\"current-version-info\">\n\t\t\t\t\t\t\t\t\t<div className=\"current-version-label\">\n\t\t\t\t\t\t\t\t\t\t{MANAGE_INSTANCE_LABELS.CURRENT_VERSION_LABEL}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"current-version-value\">\n\t\t\t\t\t\t\t\t\t\t{instanceInfo.release}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t{isLatestRelease ? (\n\t\t\t\t\t\t\t\t\t\t<div className=\"latest-release\">\n\t\t\t\t\t\t\t\t\t\t\t{MANAGE_INSTANCE_LABELS.LATEST_RELEASE_LABEL}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<dps-upgrade-instance\n\t\t\t\t\t\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\t\t\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\t\t\t\t\t\tisLatestRelease={isLatestRelease}\n\t\t\t\t\t\t\t\t\tisActionInprogress={isActionInprogress}\n\t\t\t\t\t\t\t\t\tcatItemInProgress={catItemInProgress}\n\t\t\t\t\t\t\t\t\topenedApp={openedApp}\n\t\t\t\t\t\t\t\t\tinstanceMenuItems={instanceMenuItems}\n\t\t\t\t\t\t\t\t\tselectedUpgradeRelease={selectedUpgradeRelease}\n\t\t\t\t\t\t\t\t\tupgradeableInstanceTargets={upgradeableInstanceTargets}\n\t\t\t\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div className=\"instance-info-container\" class={{\n\t\t\t\t\t\t\t'-disabled': isDisablePrimaryDetails\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t<div className=\"instance-ellipsis-container\">\n\t\t\t\t\t\t\t\t<div className=\"instance-url\">\n\t\t\t\t\t\t\t\t\t<div className=\"instance-url-label\">\n\t\t\t\t\t\t\t\t\t\t{MANAGE_INSTANCE_LABELS.INSTANCE_URL_LABEL}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"instance-url-with-copy-icon\">\n\t\t\t\t\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"instance-url-icon\"\n\t\t\t\t\t\t\t\t\t\t\thref={\"javascript:void(0)\"}\n\t\t\t\t\t\t\t\t\t\t\ttarget=\"_self\"\n\t\t\t\t\t\t\t\t\t\t\tbutton-style\n\t\t\t\t\t\t\t\t\t\t\tbutton-size=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\t\t\t\ticonAction\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<div on-click={(event) => {\n\t\t\t\t\t\t\t\t\t\t\t\tdispatch(DPS_NAVIGATION_INSTANCE_MANAGEMENT.MAGIC_LINK_CLICKED);\n\t\t\t\t\t\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\t\t\t\t\t\taction: `click on PDI URL on Manage instance screen`,\n\t\t\t\t\t\t\t\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'PDI URL',\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\t\t\t\t\t\tga: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\tadobe: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\tevent: event,\n\t\t\t\t\t\t\t\t\t\t\t\t\taaDigitalData: pdiUrlClickData\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}} className=\"instance-url-value\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"instance-url-text\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{instanceInfo.url}\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t<img src={url} alt=\"url\" className=\"url-icon\" />\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</dps-link>\n\n\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\tsrc={copy}\n\t\t\t\t\t\t\t\t\t\t\tstyle={{ cursor: 'pointer' }}\n\t\t\t\t\t\t\t\t\t\t\talt=\"copy\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"copy-icon\"\n\t\t\t\t\t\t\t\t\t\t\ton-click={() => navigator?.clipboard?.writeText(magicLink || instanceInfo?.url)}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<now-dropdown\n\t\t\t\t\t\t\t\t\tclassName=\"secondary-pdi-actions\"\n\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t'-disabled': isActionInprogress || catItemInProgress\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\twidth=\"fit-content\"\n\t\t\t\t\t\t\t\t\ticon=\"gear-outline\"\n\t\t\t\t\t\t\t\t\tcomponent-name=\"secondary-pdi-actions\"\n\t\t\t\t\t\t\t\t\tselect=\"none\"\n\t\t\t\t\t\t\t\t\tshowPadding={true}\n\t\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\t\thideCaret={true}\n\t\t\t\t\t\t\t\t\titems={enhancedSecondaryPdiActions}\n\t\t\t\t\t\t\t\t\tconfig-aria={{ 'aria-label': 'Select' }}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"user-name\">\n\t\t\t\t\t\t\t\t<div className=\"user-name-label\">\n\t\t\t\t\t\t\t\t\t{MANAGE_INSTANCE_LABELS.USER_NAME_LABEL}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className=\"user-name-value\">{pdiUserRole}</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"current-password\">\n\t\t\t\t\t\t\t\t<div className=\"current-password-label\">\n\t\t\t\t\t\t\t\t\t{MANAGE_INSTANCE_LABELS.CURRENT_PASSWORD_LABEL}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className=\"password-container\">\n\t\t\t\t\t\t\t\t\t<div className=\"current-password-value\">\n\t\t\t\t\t\t\t\t\t\t<span className=\"encoded-text\">\n\t\t\t\t\t\t\t\t\t\t\t{catItemInProgress && catItemInProgress.name == 'Reset instance password' ? <div className=\"shimmer shimmer-text-line\"></div> : (!isEyeIconClicked ?\n\t\t\t\t\t\t\t\t\t\t\t\t\"**************\" : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t(opResult && opResult.password) ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t(instanceInfo && instanceInfo.tempPassword)\n\t\t\t\t\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\ton-click={() => dispatch('handleEyeIconClicked')}\n\t\t\t\t\t\t\t\t\t\tclassName=\"eye-icon\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\t\t!isEyeIconClicked ? 'eye-outline' : 'eye-slash-outline'\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"user-role\">\n\t\t\t\t\t\t\t\t<div className=\"user-role-label\">\n\t\t\t\t\t\t\t\t\t{MANAGE_INSTANCE_LABELS.USER_ROLE_LABEL}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className=\"user-role-value\">{CONSTANTS.DEFAULTS.DPS_PDI_USER_ROLES[pdiUserRole]}</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<section\n\t\t\t\t\t\tclassName=\"dps-pdi-plugins-section\"\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'-disabled': isActionInprogress || catItemInProgress\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"overlay\"></div>\n\t\t\t\t\t\t<div className=\"dps-pdi-plugins-header\">\n\t\t\t\t\t\t\t<h2 className=\"dps-pdi-plugins-title\">\n\t\t\t\t\t\t\t\t{MANAGE_INSTANCE_LABELS.PLUGIN_COUNT_LABEL} ({filteredPlugins && filteredPlugins.length})\n\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t<div className=\"dps-pdi-plugins-header-sort\">\n\t\t\t\t\t\t\t\t<now-dropdown\n\t\t\t\t\t\t\t\t\tclassName=\"dropdown-button\"\n\t\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\tselected-items={filters.selectedItem}\n\t\t\t\t\t\t\t\t\titems={sortPluginOptions}\n\t\t\t\t\t\t\t\t\tslot=\"content\"\n\t\t\t\t\t\t\t\t\tcomponent-name=\"sort-plugin-filters\"\n\t\t\t\t\t\t\t\t\tshowPadding={true}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<div className=\"filter-plugins\">\n\t\t\t\t\t\t\t\t\t<img src={search} alt=\"search\" />\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\t\t\t\tplaceholder={MANAGE_INSTANCE_LABELS.SEARCH_PLACEHOLDER}\n\t\t\t\t\t\t\t\t\t\tclassName=\"filter-field\"\n\t\t\t\t\t\t\t\t\t\tvalue={filters.searchTerm}\n\t\t\t\t\t\t\t\t\t\ton-input={e => {\n\t\t\t\t\t\t\t\t\t\t\tconst { target } = e;\n\t\t\t\t\t\t\t\t\t\t\tdebouncedOnFilter({\n\t\t\t\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t\t\t\tsearchTerm: target.value,\n\t\t\t\t\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t\t\t\t\t\tupdateProperties\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{filters.searchTerm && (\n\t\t\t\t\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\t\t\t\t\ticon=\"circle-close-fill\"\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\tcomponentName=\"clear-search-result\"\n\t\t\t\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\t\t\t\t\tbutton: { 'aria-label': 'Search' }\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"dps-pdi-plugins-categories\">\n\t\t\t\t\t\t\t<now-dropdown\n\t\t\t\t\t\t\t\tcomponentName={COMPONENTS.ACTIVATION_STATUS_FILTER}\n\t\t\t\t\t\t\t\tclassName=\"dropdown-button\"\n\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\titems={ACTIVATE_STATUSES}\n\t\t\t\t\t\t\t\tshowPadding={true}\n\t\t\t\t\t\t\t\tselected-items={filters.selectedActivationStatusFilterItem}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<now-dropdown\n\t\t\t\t\t\t\t\tclassName=\"dropdown-button\"\n\t\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\tcomponentName={COMPONENTS.DEMO_DATA_FILTER}\n\t\t\t\t\t\t\t\titems={DEMO_DATA_STATUSES}\n\t\t\t\t\t\t\t\tshowPadding={true}\n\t\t\t\t\t\t\t\tselected-items={filters.selectedDemoDataFilterItem}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{!filteredPlugins.length && !isLoadingPlugins ? <div className=\"plugin-card-container-no-plugins\">\t<img\n\t\t\t\t\t\t\tsrc={notFound}\n\t\t\t\t\t\t\tclassName=\"not-found\"\n\t\t\t\t\t\t\talt={'Plugins not found'}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{showSearchFilterText ? <div className='no-search-result'>Your search - {filters.searchTerm} - has no results</div> : <div className='no-plugins-found'>No plugins found.</div>}\n\t\t\t\t\t\t\t{showSearchFilterText ? <div className='no-search-result-container'>\n\t\t\t\t\t\t\t\t<div className='no-search-result-text-keywords'>Check for typos, try fewer keywords, or explore the <dps-link href={`#!/guides/${selectedRelease}/now-platform/faq/plugins_faq`} className=\"developer-site-link\">Plugins FAQ</dps-link></div>\n\t\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\tslot=\"cta\"\n\t\t\t\t\t\t\t\t\tcomponentName={ACTIONS_IDS.BROWSE_PLUGINS}\n\t\t\t\t\t\t\t\t\tid={ACTIONS_IDS.BROWSE_PLUGINS}\n\t\t\t\t\t\t\t\t\tlabel={BROWSE_PLUGINS}\n\t\t\t\t\t\t\t\t\ton-click={() => dispatch('BROWSE_PLUGINS')}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div> : <div className='no-plugins-text'>Try resetting the filter or exploring other statuses.</div>}</div> : isLoadingPlugins || !filteredPlugins.length ? (\n\t\t\t\t\t\t\t\t<dps-spinner className=\"spinner\" size=\"sm\" />\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div className='plugin-container'>\n\t\t\t\t\t\t\t\t<div className=\"plugin-card-container\">\n\t\t\t\t\t\t\t\t\t{paginatedPlugins &&\n\t\t\t\t\t\t\t\t\t\tpaginatedPlugins.map((plugin) => {\n\t\t\t\t\t\t\t\t\t\t\tconst status = getPluginStatus(plugin);\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<dps-plugin\n\t\t\t\t\t\t\t\t\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"plugin-card\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={plugin.id}\n\t\t\t\t\t\t\t\t\t\t\t\t\tstatus={status}\n\t\t\t\t\t\t\t\t\t\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\t\t\t\t\t\t\t\t\t\tcatItemInProgress={catItemInProgress}\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentActivatingPlugin={currentActivatingPlugin}\n\t\t\t\t\t\t\t\t\t\t\t\t\tinstanceMenuItems={instanceMenuItems}\n\t\t\t\t\t\t\t\t\t\t\t\t\tplugin={plugin}\n\t\t\t\t\t\t\t\t\t\t\t\t\topenedApp={openedApp}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t{!filteredPlugins.length && (\n\t\t\t\t\t\t\t\t\t\t<p>{MANAGE_INSTANCE_LABELS.NO_PLUGIN_DATA_LABEL}</p>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<now-pagination-control\n\t\t\t\t\t\t\t\t\ttotal={filteredPlugins.length}\n\t\t\t\t\t\t\t\t\tselectedPage={pageNumber}\n\t\t\t\t\t\t\t\t\tselectedPageSize={pageSize}\n\t\t\t\t\t\t\t\t\trangeLabel={rangeLabel}\n\t\t\t\t\t\t\t\t\tcomponentName={'pagination'}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t</section>\n\t\t\t\t</div>\n\t\t\t\t<dps-useful-links selectedRelease={selectedRelease} className=\"useful-links-container\" />\n\t\t\t</section>\n\n\t\t\t<now-modal\n\t\t\t\tcomponent-name={COMPONENTS.PDI_ACTION}\n\t\t\t\tmanage-opened\n\t\t\t\topened={openedApp === 'pdiActionModal'}\n\t\t\t\tdisableClose={changeUserRoleStage == 'progress'}\n\t\t\t\ttype=\"lg\"\n\t\t\t\tcustomSize={{\n\t\t\t\t\theight: 'auto',\n\t\t\t\t\twidth: '55.56vw'\n\t\t\t\t}}\n\t\t\t\theader-label={selectedAction.label}\n\t\t\t\tfooter-actions={getFooterActionsForPdiActions()}\n\t\t\t>\n\t\t\t\t{getModalContent()}\n\t\t\t</now-modal>\n\t\t\t<now-modal\n\t\t\t\tcomponent-name={COMPONENTS.RESET_INSTANCE_PASSWORD}\n\t\t\t\tmanage-opened\n\t\t\t\topened={openedApp === COMPONENTS.RESET_INSTANCE_PASSWORD}\n\t\t\t\tcustomSize={{\n\t\t\t\t\theight: 'auto',\n\t\t\t\t\twidth: '520px'\n\t\t\t\t}}\n\t\t\t\theaderLabel={CONFIRMATION_MODAL_MESSAGE}\n\t\t\t\tfooter-actions={resetInstancePassword}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nexport default view;\n","\nimport { formatSysParam } from '../../../utils/helpers.js';\nimport {\n\tisChangingUserRole,\n\tisResetAdminPasswordInProgress\n} from '../../../utils/instanceHelpers.js';\n\nimport { handleOnExecuteCatItem } from '../helpers.js';\n\nimport { MANAGE_PDI_ACTIONS } from '../actions.js';\n\nimport { getInstanceCountDetails } from '../helpers';\n\nimport {\n\tINSTANCE_ACTION_LABELS,\n\tprimaryPdiActions,\n\tCOMPONENTS,\n\tsortPluginOptions,\n\tDEMO_DATA_STATUSES,\n\tsecondaryPdiActions,\n\tACTIVATE_STATUSES,\n} from '../../../constants.js';\nimport { RESET_WIPE_TYPE_OPTIONS } from '../constants';\nimport { ALERTS } from '../../../constants';\nimport { APP_ACTIONS } from '../../dps-app/actions';\n\nimport { DPS_APP_INITIAL_STATE } from '../../dps-app/initialState.js';\nimport { updateRoute } from '../../../routes.js';\n\nimport { EMAIL_LOGIN_CRED, changeUserClickData, resetInstanceClickData, releaseInstanceClickData } from '../constants.js'\nimport { DPS_INSTANCE_MODAL_ACTIONS } from '../../../components/dps-instance-modal/actions.js';\nimport { DevPlatformStorage } from '../../../utils/storage';\n\nconst handleClearOpResult = () => ({\n\teffect: coeffects => {\n\t\tconst { dispatch } = coeffects;\n\t\tdispatch(DPS_INSTANCE_MODAL_ACTIONS.CLEAR_OP_RESULT, { clearOpResult: true });\n\t}\n});\n\nexport default {\n\t[MANAGE_PDI_ACTIONS.EXECUTE_CAT_ITEM_STARTED]: ({ action, dispatch }) => {\n\t\tdispatch(APP_ACTIONS.EXECUTE_CAT_ITEM_STARTED, { ...action.payload });\n\t},\n\t[MANAGE_PDI_ACTIONS.UPDATE_INSTANCE_STATE]: ({ dispatch }) => {\n\t\tdispatch(APP_ACTIONS.UPDATE_INSTANCE_STATE, { direct_wake_up: false });\n\t},\n\t[MANAGE_PDI_ACTIONS.CLEAR_OP_RESULT]: handleClearOpResult(),\n\t['NOW_CARD#SELECTED_SET']: ({ action, properties, updateProperties }) => {\n\t\tconst { meta } = action;\n\t\tconst role = meta.componentName\n\t\tconst { changeUserRole } = properties\n\t\tconst value = action.payload.value;\n\t\tif (value && role !== changeUserRole) {\n\t\t\tupdateProperties({ changeUserRole: role })\n\t\t}\n\t},\n\t['CHANGE_USER_ROLE']: ({\n\t\taction,\n\t\tproperties,\n\t\tupdateState,\n\t\tdispatch\n\t}) => {\n\t\tconst { instanceMenuItems, changeUserRole, instanceInfo, systemProperties } = properties;\n\n\t\tconst changeUserRoleItem = instanceMenuItems.find(\n\t\t\titem => item.name == INSTANCE_ACTION_LABELS.CHANGE_USER_ROLE\n\t\t);\n\t\thandleOnExecuteCatItem({\n\t\t\tcat_item_id: changeUserRoleItem.sys_id,\n\t\t\tdispatch,\n\t\t\tins_id: instanceInfo.sys_id,\n\t\t\tmenuItem: changeUserRoleItem,\n\t\t\tadditionalParams: {\n\t\t\t\trole: changeUserRole\n\t\t\t}\n\t\t})\n\n\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\taction: `click on Change user role button on Manage instance screen`,\n\t\t\tcategory: 'buttons',\n\t\t\tlabel: 'Change user role',\n\t\t\tvalue: '',\n\t\t\tga: false,\n\t\t\tadobe: true,\n\t\t\tevent: action.meta.event,\n\t\t\taaDigitalData: changeUserClickData\n\t\t});\n\n\t\tconst changeUserRoleInprogress = isChangingUserRole(\n\t\t\tchangeUserRoleItem.sys_id,\n\t\t\tsystemProperties\n\t\t);\n\n\t\tif (changeUserRoleInprogress)\n\t\t\tupdateState({ changeUserRoleStage: 'progress' })\n\t},\n\t['PDI_SUMMARY#FETCH_AVAILABLE_PLUGINS'](coeffects) {\n\t\tconst { dispatch, updateState, properties } = coeffects;\n\t\tconst { instanceInfo } = properties;\n\t\tif (instanceInfo && instanceInfo.sys_id) {\n\t\t\tconst availablePluginsParams = formatSysParam(\n\t\t\t\t'instance.ops.get_avail_plugins',\n\t\t\t\t{ ins_id: instanceInfo.sys_id }\n\t\t\t);\n\t\t\tupdateState({\n\t\t\t\tisLoadingPlugins: true\n\t\t\t});\n\t\t\tdispatch(APP_ACTIONS.GET_AVAIL_PLUGINS, {\n\t\t\t\tsysparm_data: JSON.stringify(availablePluginsParams)\n\t\t\t});\n\t\t}\n\t},\n\t['PAGINATE_VIEW_HISTORY'](coeffects) {\n\t\tconst { properties, updateProperties } = coeffects;\n\t\tconst { viewHistoryPageNumber, updatedOperationHistory } = properties;\n\t\tconst startIndex = viewHistoryPageNumber * 3;\n\t\tconst endIndex = Math.min(\n\t\t\tstartIndex + 3 - 1,\n\t\t\tupdatedOperationHistory?.length\n\t\t);\n\t\tconst history = updatedOperationHistory;\n\n\t\tconst updatedHistory = history?.slice(\n\t\t\tstartIndex,\n\t\t\tendIndex + 1\n\t\t);\n\t\tupdateProperties({ paginatedOperationHistory: updatedHistory });\n\t},\n\t'NOW_PAGINATION_CONTROL#SELECTED_PAGE_SIZE_SET'({\n\t\taction,\n\t\tdispatch,\n\t\tupdateProperties\n\t}) {\n\t\tif (action.meta.componentName === COMPONENTS.PAGINATION) {\n\t\t\tupdateProperties({ pageSize: action.payload.value, pageNumber: 0 });\n\t\t\tdispatch('PAGINATE_PLUGINS');\n\t\t}\n\t},\n\t'NOW_ALERT#ACTION_CLICKED'({ action, properties, updateProperties, dispatch }) {\n\t\tconst {\n\t\t\topResult,\n\t\t\texecuteCatItemResult\n\t\t} = properties;\n\n\t\tconst { opResult: result } = DPS_APP_INITIAL_STATE.INSTANCE_MANAGEMENT;\n\n\t\tconst id = action.payload.action.id;\n\n\t\tlet updatedProperties = {};\n\t\t// if (id === ALERTS.UPGRADE_INSTANCE_ALERT) {\n\t\t// \tDevPlatformStorage.saveToSessionStorage(`dismissedAlert_${id}`, true);\n\t\t// }\n\n\t\t// if (\n\t\t// \tid === ALERTS.UPGRADE_INSTANCE_ALERT ||\n\t\t// \tid === ALERTS.ACTIVATE_PLUGIN ||\n\t\t// \tid === ALERTS.SENT_LOGIN_CREDS ||\n\t\t// \tid === ALERTS.HIBERNATING_ALERT_ID ||\n\t\t// \tid === ALERTS.INSTANCE_READY ||\n\t\t// \tid === ALERTS.RESET_PASSWORD_FAILED ||\n\t\t// \tid === ALERTS.MANAGE_EMAIL_POSITIVE ||\n\t\t// \tid === ALERTS.MANAGE_EMAIL_NEGATIVE\n\t\t// ) {\n\t\t// \tdispatch(\"APP#MANAGE_ALERTS_STATE\", { [action.meta.componentName]: false });\n\t\t// }\n\t\tif (\n\t\t\topResult &&\n\t\t\topResult.password && id == ALERTS.RESET_PASSWORD\n\t\t) {\n\t\t\t// dispatch(\"APP#MANAGE_ALERTS_STATE\", { [action.meta.componentName]: false });\n\t\t\tupdatedProperties = { ...updatedProperties, opResult: result }\n\t\t}\n\t\tif (executeCatItemResult) {\n\t\t\tupdatedProperties = { ...updatedProperties, executeCatItemResult: {} }\n\t\t}\n\t\tupdateProperties({ ...updatedProperties })\n\t},\n\t'NOW_SELECT#SELECTED_ITEM_SET'({ action, updateProperties }) {\n\t\tupdateProperties({ selectedReleaseInstanceReason: action.payload.item });\n\t},\n\t'NOW_PAGINATION_CONTROL#SELECTED_PAGE_SET'({\n\t\taction,\n\t\tdispatch,\n\t\tupdateProperties }) {\n\n\t\tif (action.meta.componentName == \"view-history-pagination\") {\n\t\t\tupdateProperties({ viewHistoryPageNumber: action.payload.value })\n\t\t\tdispatch('PAGINATE_VIEW_HISTORY');\n\t\t}\n\t\telse {\n\n\t\t\tupdateProperties({ pageNumber: action.payload.value });\n\t\t\tdispatch('PAGINATE_PLUGINS');\n\t\t}\n\t},\n\tMANAGE_EMAIL_PROPERTIES({\n\t\tproperties,\n\t\tupdateProperties,\n\t\tupdateState,\n\t\tdispatch\n\t}) {\n\t\tconst { instanceInfo, instanceMenuItems, sendRecieveEmailCheckboxChecked } = properties;\n\n\t\tconst manageEmailPropertiesItem = instanceMenuItems.find(\n\t\t\titem => item.name == INSTANCE_ACTION_LABELS.MANAGE_EMAIL_PROPERTIES\n\t\t);\n\n\t\thandleOnExecuteCatItem({\n\t\t\tcat_item_id: manageEmailPropertiesItem.sys_id,\n\t\t\tdispatch,\n\t\t\tins_id: instanceInfo.sys_id,\n\t\t\tupdateState,\n\t\t\tmenuItem: manageEmailPropertiesItem,\n\t\t\tadditionalParams: {\n\t\t\t\tsendRecieveEmailCheckboxChecked: sendRecieveEmailCheckboxChecked\n\t\t\t}\n\t\t});\n\t\tupdateProperties({ openedApp: null })\n\t},\n\t'NOW_DROPDOWN_LIST#ITEM_CLICKED'({\n\t\taction,\n\t\tupdateProperties,\n\t\tdispatch,\n\t\tproperties\n\t}) {\n\t\tconst { filters } = properties;\n\t\tconst actionId = action.payload.item.id;\n\n\t\tlet updatedProperties = {};\n\n\t\tif (sortPluginOptions.some(option => option.id === actionId)) {\n\t\t\tconst updatedFilters = {\n\t\t\t\t...filters,\n\t\t\t\tselectedItem: [actionId]\n\t\t\t};\n\t\t\tupdatedProperties = { ...updatedProperties, filters: updatedFilters }\n\t\t} else if (ACTIVATE_STATUSES.some(status => status.id === actionId)) {\n\t\t\tconst updatedFilters = {\n\t\t\t\t...filters,\n\t\t\t\tselectedActivationStatusFilterItem: [actionId]\n\t\t\t};\n\t\t\tupdatedProperties = { ...updatedProperties, filters: updatedFilters }\n\n\t\t} else if (DEMO_DATA_STATUSES.some(status => status.id === actionId)) {\n\t\t\tconst updatedFilters = {\n\t\t\t\t...filters,\n\t\t\t\tselectedDemoDataFilterItem: [actionId]\n\t\t\t};\n\t\t\tupdatedProperties = { ...updatedProperties, filters: updatedFilters }\n\t\t}\n\n\t\tif (action.payload.item.id == EMAIL_LOGIN_CRED) {\n\t\t\tdispatch(APP_ACTIONS.RESET_EMAIL_ALERTS);\n\t\t\tdispatch(APP_ACTIONS.SEND_INSTANCE_RESET_PASSWORD_EMAIL);\n\t\t}\n\t\telse {\n\n\t\t\t// Check if the actionId exists in the primaryPdiActions ids\n\t\t\tconst isActionValid = primaryPdiActions.some(\n\t\t\t\taction => action.id === actionId\n\t\t\t) || secondaryPdiActions.some(\n\t\t\t\taction => action.id === actionId\n\t\t\t);\n\n\t\t\tif (isActionValid) {\n\t\t\t\tupdatedProperties = { ...updatedProperties, openedApp: 'pdiActionModal', selectedAction: action.payload.item }\n\t\t\t\tgetInstanceCountDetails({ properties, dispatch });\n\t\t\t}\n\n\t\t}\n\t\tif (\n\t\t\taction.payload.item.id === COMPONENTS.RESET_INSTANCE_PASSWORD\n\t\t) {\n\t\t\tupdatedProperties = { ...updatedProperties, openedApp: COMPONENTS.RESET_INSTANCE_PASSWORD }\n\t\t}\n\t\t// if (action.payload.item.id === secondaryPdiActions[1].id) {\n\t\t// \tdispatch(APP_ACTIONS.RESET_EMAIL_ALERTS);\n\t\t// \tdispatch(APP_ACTIONS.SEND_INSTANCE_RESET_PASSWORD_EMAIL);\n\t\t// }\n\n\t\tupdateProperties({ ...updatedProperties })\n\t},\n\tRESET_INSTANCE_PASSWORD({\n\t\tproperties,\n\t\tupdateProperties,\n\t\tupdateState,\n\t\tdispatch,\n\t\taction\n\t}) {\n\t\tconst { instanceInfo, instanceMenuItems } = properties;\n\n\t\tconst resetInstancePasswordItem = instanceMenuItems.find(\n\t\t\titem => item.name == INSTANCE_ACTION_LABELS.RESET_ADMIN_PASSWORD\n\t\t);\n\t\thandleOnExecuteCatItem({\n\t\t\tcat_item_id: resetInstancePasswordItem.sys_id,\n\t\t\tdispatch,\n\t\t\tupdateState,\n\t\t\tins_id: instanceInfo.sys_id,\n\t\t\tmenuItem: resetInstancePasswordItem\n\t\t});\n\n\n\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\taction: `click on Reset instance password on Manage instance screen`,\n\t\t\tcategory: 'buttons',\n\t\t\tlabel: 'Reset instance password',\n\t\t\tvalue: '',\n\t\t\tga: false,\n\t\t\tadobe: true,\n\t\t\tevent: action.meta.event,\n\t\t\taaDigitalData: resetInstanceClickData\n\t\t});\n\t\tupdateProperties({ openedApp: null });\n\t},\n\tCANCEL_RESET_INSTANCE_PASSWORD({ updateProperties }) {\n\t\tupdateProperties({ openedApp: null });\n\t},\n\tCHANGE_USER_ROLE_DONE({ updateState, dispatch }) {\n\t\tdispatch(DPS_INSTANCE_MODAL_ACTIONS.CLOSE_MODAL, { clearOpResult: false });\n\t\tupdateState({ changeUserRoleStage: 'loading' })\n\t},\n\t'BROWSE_PLUGINS'(coeffects) {\n\t\tconst { state, updateProperties } = coeffects;\n\t\tconst { filters } = state.properties;\n\t\tconst updatedFilters = { ...filters, searchTerm: '' };\n\t\tupdateProperties({ filters: updatedFilters, pageNumber: 0, showSearchFilterText: false });\n\t},\n\t'NOW_BUTTON_ICONIC#CLICKED'(coeffects) {\n\t\tconst { state, action, updateProperties } = coeffects;\n\t\tconst { filters } = state.properties;\n\t\tif (action.meta.componentName == 'clear-search-result') {\n\t\t\tconst updatedFilters = { ...filters, searchTerm: '' };\n\t\t\tupdateProperties({ filters: updatedFilters, pageNumber: 0, showSearchFilterText: false });\n\t\t}\n\t},\n\thandleEyeIconClicked({ properties, updateProperties }) {\n\t\tconst { isEyeIconClicked } = properties;\n\n\t\tupdateProperties({ isEyeIconClicked: !isEyeIconClicked });\n\t},\n\tsortHistory({ properties, updateProperties }) {\n\t\tconst { sortHistoryTypeDesc } = properties;\n\t\tupdateProperties({ sortHistoryTypeDesc: !sortHistoryTypeDesc })\n\t},\n\tPAGINATE_PLUGINS({ properties, state, updateState }) {\n\t\tconst { pageNumber, pageSize } = properties;\n\t\tconst { filteredPlugins } = state;\n\n\t\tconst pluginsToPaginate = filteredPlugins;\n\t\tconst startIndex = pageNumber * pageSize;\n\t\tconst endIndex = Math.min(\n\t\t\tstartIndex + pageSize - 1,\n\t\t\tfilteredPlugins?.length\n\t\t);\n\n\t\tconst paginatedPlugins = pluginsToPaginate?.slice(\n\t\t\tstartIndex,\n\t\t\tendIndex + 1\n\t\t);\n\n\t\tupdateState({ paginatedPlugins: [...paginatedPlugins] });\n\t},\n\tREMOVE_DEMO_DATA({ properties, dispatch }) {\n\t\tconst { confirmChecked, instanceInfo, instanceMenuItems } = properties;\n\t\tconst removeDemoDataItem = instanceMenuItems.find(\n\t\t\titem => item.name == INSTANCE_ACTION_LABELS.REMOVE_DEMO_DATA\n\t\t);\n\t\tif (confirmChecked) {\n\t\t\thandleOnExecuteCatItem({\n\t\t\t\tcat_item_id: removeDemoDataItem.sys_id,\n\t\t\t\tdispatch,\n\t\t\t\tins_id: instanceInfo.sys_id,\n\t\t\t\tmenuItem: removeDemoDataItem\n\t\t\t});\n\t\t}\n\t},\n\tRESET_AND_WIPE({ properties, dispatch }) {\n\t\tconst { confirmChecked, quickResetWipeOperationType, isInstanceAvailableInSamePatch, instanceInfo, instanceMenuItems } = properties;\n\t\tconst canResetInstance = isInstanceAvailableInSamePatch ? [RESET_WIPE_TYPE_OPTIONS.QUICK, RESET_WIPE_TYPE_OPTIONS.NORMAL].includes(quickResetWipeOperationType) : true;\n\n\t\tconst resetWipeInstanceItem = instanceMenuItems.find(\n\t\t\titem => item.name == INSTANCE_ACTION_LABELS.RESET_AND_WIPE_INSTANCE\n\t\t);\n\n\t\tif (confirmChecked && canResetInstance) {\n\t\t\thandleOnExecuteCatItem({\n\t\t\t\tcat_item_id: resetWipeInstanceItem.sys_id,\n\t\t\t\tdispatch,\n\t\t\t\tins_id: instanceInfo.sys_id,\n\t\t\t\tmenuItem: resetWipeInstanceItem,\n\t\t\t\tadditionalParams: (quickResetWipeOperationType === RESET_WIPE_TYPE_OPTIONS.QUICK) ? {\n\t\t\t\t\tquickResetWipeOperation: true,\n\t\t\t\t\tfull_release: instanceInfo.full_release,\n\t\t\t\t\treleaseFamily: instanceInfo.releaseFamily\n\t\t\t\t} : {}\n\t\t\t});\n\t\t}\n\t},\n\tCANCEL_PDI_ACTION({ properties, updateProperties, updateState }) {\n\t\tconst { confirmChecked, selectedAction, quickResetWipeOperationType, pdiUserRole, instanceMenuItems, selectedReleaseInstanceReason } = properties;\n\n\n\t\tlet updatedProperties = {};\n\n\t\tif (confirmChecked) {\n\t\t\tupdatedProperties = { ...updatedProperties, confirmChecked: false }\n\t\t}\n\t\tif (quickResetWipeOperationType) {\n\t\t\tupdatedProperties = { ...updatedProperties, quickResetWipeOperationType: '' }\n\t\t}\n\t\tconst emailEnabled = instanceMenuItems.find(\n\t\t\tmenuItem => typeof menuItem.email_enabled === 'boolean'\n\t\t);\n\n\t\tif (emailEnabled) {\n\t\t\tupdatedProperties = { ...updatedProperties, sendRecieveEmailCheckboxChecked: emailEnabled['email_enabled'] }\n\t\t}\n\t\tif (selectedAction?.id == 'change_user_role') {\n\t\t\tupdatedProperties = { ...updatedProperties, changeUserRole: pdiUserRole }\n\t\t\tupdateState({ changeUserRoleStage: 'loading' })\n\t\t}\n\t\tif (selectedReleaseInstanceReason)\n\t\t\tupdatedProperties = { ...updatedProperties, selectedReleaseInstanceReason: {} };\n\t\tupdateProperties({ ...updatedProperties, openedApp: null });\n\t},\n\t'NOW_MODAL#OPENED_SET'({ properties, updateProperties, updateState, action, dispatch }) {\n\t\tconst { showOpResultBySysId, selectedAction, systemProperties, confirmChecked, selectedReleaseInstanceReason, quickResetWipeOperationType, pdiUserRole, instanceMenuItems } = properties;\n\t\tlet updatedProperties = {};\n\t\tif (confirmChecked) {\n\t\t\tupdatedProperties = { ...updatedProperties, confirmChecked: false }\n\t\t}\n\t\tif (quickResetWipeOperationType) {\n\t\t\tupdatedProperties = { ...updatedProperties, quickResetWipeOperationType: '' }\n\t\t}\n\n\t\tconst emailEnabled = instanceMenuItems.find(\n\t\t\tmenuItem => typeof menuItem.email_enabled === 'boolean'\n\t\t);\n\t\tif (emailEnabled) {\n\t\t\tupdatedProperties = { ...updatedProperties, sendRecieveEmailCheckboxChecked: emailEnabled['email_enabled'] }\n\t\t}\n\t\tif (selectedReleaseInstanceReason) {\n\t\t\tupdatedProperties = { ...updatedProperties, selectedReleaseInstanceReason: {} }\n\t\t}\n\t\tif (selectedAction?.id == \"change_user_role\") {\n\t\t\tupdateState({ changeUserRoleStage: 'loading' })\n\t\t}\n\n\t\tif (action?.payload?.value === false) {\n\t\t\tconst menuItemInProgress = instanceMenuItems.find(\n\t\t\t\tmenuItem => menuItem.sys_id === showOpResultBySysId\n\t\t\t);\n\t\t\t// clear the showOpResultBySysId only if we are resetting the admin password\n\t\t\tconst clearOpResult =\n\t\t\t\tmenuItemInProgress &&\n\t\t\t\tisResetAdminPasswordInProgress(menuItemInProgress, systemProperties);\n\t\t\tdispatch(DPS_INSTANCE_MODAL_ACTIONS.CLOSE_MODAL, { clearOpResult });\n\t\t}\n\n\t\tupdateProperties({ ...updatedProperties, selectedOperationType: 'all', openedApp: null });\n\n\t},\n\tRELEASE_INSTANCE({ dispatch, properties, updateProperties, action }) {\n\t\tconst {\n\t\t\tinstanceMenuItems,\n\t\t\tselectedReleaseInstanceReason,\n\t\t\ttextBoxVal,\n\t\t\tinstanceInfo\n\t\t} = properties;\n\t\tconst releaseInstance = instanceMenuItems.find(\n\t\t\titem => item.name == INSTANCE_ACTION_LABELS.RELEASE_INSTANCE\n\t\t);\n\n\t\thandleOnExecuteCatItem({\n\t\t\tcat_item_id: releaseInstance.sys_id,\n\t\t\tdispatch,\n\t\t\tins_id: instanceInfo.sys_id,\n\t\t\tmenuItem: releaseInstance,\n\t\t\tadditionalParams: {\n\t\t\t\tselectedReleaseInstanceReason,\n\t\t\t\ttextBoxVal\n\t\t\t}\n\t\t});\n\n\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\taction: `click on Release button on Manage instance screen`,\n\t\t\tcategory: 'buttons',\n\t\t\tlabel: 'Release instance',\n\t\t\tvalue: '',\n\t\t\tga: false,\n\t\t\tadobe: true,\n\t\t\tevent: action.meta.event,\n\t\t\taaDigitalData: releaseInstanceClickData\n\t\t});\n\t\tupdateProperties({ selectedReleaseInstanceReason: {}, openedApp: null });\n\n\t\tDevPlatformStorage.removeFromSessionStorage(`dismissedAlert_${ALERTS.UPGRADE_INSTANCE_ALERT}`);\n\n\t\tupdateRoute('/');\n\t},\n\tCANCEL_RELEASE_INSTANCE({ properties, updateProperties }) {\n\t\tconst { selectedReleaseInstanceReason } = properties;\n\t\tlet updatedProperties = {};\n\t\tif (selectedReleaseInstanceReason)\n\t\t\tupdatedProperties = { ...updatedProperties, selectedReleaseInstanceReason: {} }\n\t\tupdateProperties({ ...updatedProperties, openedApp: null });\n\t},\n\t'NOW_TABS#SELECTED_ITEM_SET': coeffects => {\n\t\tconst { action, updateProperties } = coeffects;\n\t\tconst { value } = action.payload;\n\n\t\tupdateProperties({\n\t\t\tselectedOperationType: value,\n\t\t\tselectedOperationHistoryPage: 0\n\t\t});\n\t},\n\t'NOW_ALERT#TEXT_LINK_CLICKED'({ updateProperties }) {\n\t\tupdateProperties({\n\t\t\tselectedAction: {\n\t\t\t\tid: 'reset_wipe_instance',\n\t\t\t\tlabel: 'Reset and wipe instance',\n\t\t\t\ticon: 'eraser-outline'\n\t\t\t}\n\t\t});\n\t},\n\t// 'NOW_ALERT#AUTO_DISMISS'({ action, dispatch }) {\n\t// \tconst alertId = action.payload?.action?.id || action.meta.componentName;\n\n\n\t// \tif (alertId === ALERTS.UPGRADE_INSTANCE_ALERT) {\n\t// \t\tDevPlatformStorage.saveToSessionStorage(`dismissedAlert_${alertId}`, true);\n\t// \t}\n\t// \tdispatch(\"APP#MANAGE_ALERTS_STATE\", { [action.meta.componentName]: false });\n\n\t// },\n}","import snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport themeBehavior from '@servicenow/behavior-theme';\nimport { actionTypes, createCustomElement } from '@servicenow/ui-core';\nimport isEqual from 'lodash/isEqual';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-pagination-control';\nimport '@servicenow/now-dropdown';\nimport '@servicenow/now-modal';\nimport '@servicenow/now-button';\nimport 'sn-par-filter';\n\nimport '../../components/dps-link';\nimport '../../components/dps-dropdown-button';\n\nimport { getInstanceCountDetails } from './helpers';\n\nimport { APP_ACTIONS } from '../dps-app/actions';\nimport fetchAvailableInstance from './actionHandlers/fetchAvailableInstance';\nimport { DevPlatformStorage } from '../../utils/storage';\nimport {\n\tOPERATION_HISTORY_TYPES,\n\tCOMPONENTS,\n\tsortPluginOptions,\n\tDEMO_DATA_STATUSES,\n\tACTIVATE_STATUSES,\n\tSTATUS,\n\tINSTANCE_DISPLAY_STATUSES,\n\tINSTANCE_ACTION_STATES,\n\tCONSTANTS\n} from '../../constants';\nimport { REMOVE_DEMO_DATA_INPROGRESS, CHANGE_USER_ROLE_CONFIRMATION } from './constants';\nimport { ALERTS } from '../../constants';\n\nimport styles from './styles.scss';\n\nimport './views/dps-upgrade-instance';\nimport './views/dps-useful-links';\nimport './views/dps-plugin';\n\nimport view from './view';\n\nimport manageInstanceHandlers from './actionHandlers/manageInstanceHandlers.js';\nimport { createRef } from '@servicenow/ui-renderer-snabbdom';\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED, COMPONENT_CONNECTED, COMPONENT_RENDERED } = actionTypes;\n\n\nconst applyFilters = (filteredPlugins, filters, completeOperationHistory, updateProperties) => {\n\tif (filters) {\n\t\tconst handleDemoDataFilter = () => {\n\t\t\tif (\n\t\t\t\tfilters.selectedDemoDataFilterItem[0] === DEMO_DATA_STATUSES[1].id\n\t\t\t) {\n\t\t\t\tfilteredPlugins = filteredPlugins.filter(el =>\n\t\t\t\t\tNumber(el.hasDemoData)\n\t\t\t\t);\n\t\t\t} else if (\n\t\t\t\tfilters.selectedDemoDataFilterItem[0] === DEMO_DATA_STATUSES[2].id\n\t\t\t) {\n\t\t\t\tfilteredPlugins = filteredPlugins.filter(\n\t\t\t\t\tel => el.hasDemoData == false\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\n\t\tconst getActivatedData = () => {\n\t\t\tconst selectedStatus = filters.selectedActivationStatusFilterItem[0];\n\n\t\t\tconst getLatestOperation = (plugin) => {\n\t\t\t\tconst ops = completeOperationHistory.filter(\n\t\t\t\t\top => op.params?.pluginId === plugin.id\n\t\t\t\t);\n\t\t\t\treturn ops.reduce((latest, current) => {\n\t\t\t\t\tif (!latest) return current;\n\t\t\t\t\treturn new Date(current.timestamp || current.createdAt) > new Date(latest.timestamp || latest.createdAt) ? current : latest;\n\t\t\t\t}, null);\n\t\t\t};\n\n\t\t\tconst hasCompletedOperation = (plugin) => {\n\t\t\t\tconst latestOp = getLatestOperation(plugin);\n\t\t\t\treturn latestOp && latestOp.params?.status === STATUS.COMPLETE;\n\t\t\t};\n\n\t\t\tconst hasNoOperation = (plugin) => !getLatestOperation(plugin);\n\n\t\t\tconst hasErrorOperation = (plugin) => {\n\t\t\t\tconst latestOp = getLatestOperation(plugin);\n\t\t\t\treturn latestOp && latestOp?.status === STATUS.ERROR && latestOp.message?.includes(plugin.name);\n\t\t\t};\n\n\t\t\tif (selectedStatus === ACTIVATE_STATUSES[1].id) {\n\t\t\t\tfilteredPlugins = filteredPlugins.filter(hasCompletedOperation);\n\t\t\t} else if (selectedStatus === ACTIVATE_STATUSES[2].id) {\n\t\t\t\tfilteredPlugins = filteredPlugins.filter(hasNoOperation);\n\t\t\t} else if (selectedStatus === ACTIVATE_STATUSES[3].id) {\n\t\t\t\tfilteredPlugins = filteredPlugins.filter(hasErrorOperation);\n\t\t\t}\n\t\t};\n\n\t\tconst sortFilter = () => {\n\t\t\tif (filters.selectedItem) {\n\t\t\t\tif (filters.selectedItem[0] === sortPluginOptions[0].id) {\n\t\t\t\t\tfilteredPlugins.sort((a, b) => a.name.localeCompare(b.name));\n\t\t\t\t} else if (filters.selectedItem[0] === sortPluginOptions[1].id) {\n\t\t\t\t\tfilteredPlugins.sort((a, b) => b.name.localeCompare(a.name));\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tconst filtersMap = {\n\t\t\tactivation: {\n\t\t\t\tcheck: () => filters.selectedActivationStatusFilterItem?.length > 0,\n\t\t\t\taction: getActivatedData,\n\t\t\t},\n\t\t\tdemoData: {\n\t\t\t\tcheck: () => filters.selectedDemoDataFilterItem?.length > 0,\n\t\t\t\taction: handleDemoDataFilter,\n\t\t\t},\n\t\t\tsort: {\n\t\t\t\tcheck: () => filters.selectedItem?.length > 0,\n\t\t\t\taction: sortFilter,\n\t\t\t},\n\t\t};\n\n\t\tObject.values(filtersMap).forEach(({ check, action }) => {\n\t\t\tif (check()) {\n\t\t\t\taction();\n\t\t\t}\n\t\t});\n\n\t\t// Search filter (remains separate)\n\t\tif (filters.searchTerm) {\n\t\t\tfilteredPlugins = (filteredPlugins ?? []).filter(plugin =>\n\t\t\t\tplugin.name?.toLowerCase().includes(filters.searchTerm.toLowerCase())\n\t\t\t);\n\n\t\t\tif (filteredPlugins.length === 0) {\n\t\t\t\tupdateProperties({ showSearchFilterText: true });\n\t\t\t}\n\t\t}\n\t}\n\treturn filteredPlugins;\n};\n\nconst showUpgradeAlert = ({ releaseInfo, instanceInfo, dispatch }) => {\n\tif (\n\t\treleaseInfo &&\n\t\treleaseInfo.latestRelease &&\n\t\tinstanceInfo.release &&\n\t\tinstanceInfo.release.toLowerCase() !== releaseInfo.latestRelease\n\t) {\n\t\tconst dismissed = DevPlatformStorage.loadFromSessionStorage(`dismissedAlert_${ALERTS.UPGRADE_INSTANCE_ALERT}`);\n\n\t\tif (!dismissed) {\n\t\t\tdispatch(\"APP#MANAGE_ALERTS_STATE\", { [ALERTS.UPGRADE_INSTANCE_ALERT]: true });\n\t\t}\n\t}\n};\n\ncreateCustomElement('dps-pdi-summary', {\n\trenderer: { type: snabbdom },\n\tview,\n\tstyles,\n\tbehaviors: [\n\t\t{\n\t\t\tbehavior: themeBehavior,\n\t\t\toptions: {\n\t\t\t\titems: ['--now-messaging_message--font-size--md'],\n\t\t\t},\n\t\t},\n\t],\n\tinitialState: {\n\t\tfilteredPlugins: [],\n\t\tpaginatedPlugins: [],\n\t\tinstanceAvailabilityStats: {},\n\t\tselectedUserRole: '',\n\t\tuserRoleOptions: {},\n\t\talertListRef: createRef(),\n\t\tchangeUserRoleStage: 'loading',\n\t},\n\tproperties: {\n\t\thash: { default: '' },\n\t\tselectedRelease: {\n\t\t\tdefault: '',\n\t\t\trequired: true,\n\t\t\tschema: { type: 'string' }\n\t\t},\n\t\tsystemProperties: { default: {} },\n\t\tuserInfo: { default: {} },\n\t\tinstanceInfo: { default: {} },\n\t\tisInstanceRefreshing: { default: false },\n\t\tisEyeIconClicked: { default: false },\n\t\treleaseInfo: { default: {} },\n\t\tconfirmChecked: { default: false },\n\t\tselectedUpgradeRelease: { default: {} },\n\t\tavailablePlugins: { default: [] },\n\t\tisLoadingOperationHistory: {\n\t\t\tdefault: false\n\t\t},\n\t\tisLoadingPlugins: { default: true },\n\t\tpageNumber: { default: 0 },\n\t\topenedApp: { default: '' },\n\t\tpageSize: { default: 10 },\n\t\tcurrentActivatingPlugin: { default: null },\n\t\tselectedAction: { default: '' },\n\t\topResult: { default: {} },\n\t\tisInstanceAvailableInSamePatch: { default: false },\n\t\tsendRecieveEmailCheckboxChecked: { default: false },\n\t\tquickResetWipeOperationType: { default: '' },\n\t\tpdiUserRole: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\tupgradeableInstanceTargets: {\n\t\t\tdefault: []\n\t\t},\n\t\tpaginatedOperationHistory: {\n\t\t\tdefault: []\n\t\t},\n\t\ttextBoxVal: {\n\t\t\tdefault: ''\n\t\t},\n\t\tchangeUserRole: {\n\t\t\tdefault: '',\n\t\t},\n\t\tcatItemInProgress: {\n\t\t\tdefault: null\n\t\t},\n\t\tinstanceMenuItems: {\n\t\t\tdefault: []\n\t\t},\n\t\texecuteCatItemResult: {\n\t\t\tdefault: {}\n\t\t},\n\t\tsortHistoryTypeDesc: {\n\t\t\tdefault: true,\n\t\t},\n\t\tshowResetPasswordEmailAlert: {\n\t\t\tdefault: false\n\t\t},\n\t\tshowSearchFilterText: {\n\t\t\tdefault: false\n\t\t},\n\t\tfilters: {\n\t\t\tdefault: {\n\t\t\t\tselectedActivationStatusFilterItem: [ACTIVATE_STATUSES[0].id],\n\t\t\t\tselectedDemoDataFilterItem: [DEMO_DATA_STATUSES[0].id],\n\t\t\t\tselectedItem: [sortPluginOptions[0].id],\n\t\t\t\tsearchTerm: ''\n\t\t\t}\n\t\t},\n\t\tupdatedOperationHistory: {\n\t\t\tdefault: []\n\t\t},\n\t\toperationHistory: { default: [] },\n\t\tcompleteOperationHistory: { default: [] },\n\t\tselectedReleaseInstanceReason: { default: {} },\n\t\tselectedOperationType: {\n\t\t\tdefault: 'all'\n\t\t},\n\t\tselectedOperationHistoryPage: {\n\t\t\tdefault: 0\n\t\t},\n\t\tviewHistoryPageNumber: {\n\t\t\tdefault: 0\n\t\t},\n\t\tmagicLink: {\n\t\t\tdefault: '',\n\t\t\tschema: { type: 'string' }\n\t\t},\n\t\tshowOpResultBySysId: {\n\t\t\tdefault: null\n\t\t},\n\t\tnowAlertMessages: {\n\t\t\tdefault: []\n\t\t},\n\t},\n\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED](coeffects) {\n\t\t\tconst { properties, updateState, updateProperties, pdiUserRole, dispatch } = coeffects;\n\t\t\tconst { availablePlugins, instanceMenuItems, releaseInfo, instanceInfo } = properties;\n\n\t\t\tconst [emailEnabled] = instanceMenuItems.filter(\n\t\t\t\tmenuItem =>\n\t\t\t\t\tmenuItem.email_enabled === true || menuItem.email_enabled === false\n\t\t\t);\n\n\t\t\tif (emailEnabled) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tsendRecieveEmailCheckboxChecked: emailEnabled['email_enabled']\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst [menuItemEditorOptions] = instanceMenuItems.filter(\n\t\t\t\tmenuItem => menuItem.editorOptions !== ''\n\t\t\t);\n\n\t\t\t// set options for the 'Change User Role' view\n\t\t\tif (menuItemEditorOptions) {\n\t\t\t\t['editorOptions', 'editorOptionsText', 'imageOptions'].forEach(key => {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpath: `userRoleOptions.${key}`,\n\t\t\t\t\t\tvalue: JSON.parse(menuItemEditorOptions[key]),\n\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tupdateState({\n\t\t\t\tfilteredPlugins: availablePlugins\n\t\t\t});\n\t\t\tshowUpgradeAlert({ instanceInfo, releaseInfo, dispatch });\n\t\t\tdispatch('PDI_SUMMARY#FETCH_AVAILABLE_PLUGINS');\n\t\t\tdispatch(APP_ACTIONS.GET_INSTANCE_COMPLETE_OPERATION_HISTORY);\n\n\t\t\tupdateProperties({ changeUserRole: pdiUserRole })\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED](coeffects) {\n\t\t\tconst {\n\t\t\t\taction,\n\t\t\t\tupdateState,\n\t\t\t\tproperties,\n\t\t\t\tdispatch,\n\t\t\t\tupdateProperties } = coeffects;\n\t\t\tconst {\n\t\t\t\tcompleteOperationHistory, availablePlugins,\n\t\t\t\tuserInfo, instanceInfo,\n\t\t\t\topResult, updatedOperationHistory,\n\t\t\t\tselectedOperationType, catItemInProgress,\n\t\t\t\tfilters, releaseInfo,\n\t\t\t} = properties;\n\n\t\t\tconst { name, previousValue, value } = action.payload;\n\t\t\tconst propertyValueChanged =\n\t\t\t\tpreviousValue && value && previousValue.length !== value.length;\n\t\t\tconst propertyValueChangedFilter = previousValue && value;\n\t\t\tconst valChanged = !isEqual(value, previousValue);\n\n\n\t\t\tswitch (name) {\n\t\t\t\tcase \"instanceInfo\":\n\t\t\t\t\t// Fetch available plugins if not yet available\n\t\t\t\t\tif (value && availablePlugins.length === 0 && !coeffects.state.isLoadingPlugins) {\n\t\t\t\t\t\tif (value.sys_id) {\n\t\t\t\t\t\t\tdispatch('PDI_SUMMARY#FETCH_AVAILABLE_PLUGINS');\n\t\t\t\t\t\t\tdispatch(APP_ACTIONS.GET_INSTANCE_COMPLETE_OPERATION_HISTORY);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tconst {\n\t\t\t\t\t\tdisplay_state: old_state,\n\t\t\t\t\t} = previousValue?.instanceStatus || {};\n\t\t\t\t\tconst {\n\t\t\t\t\t\tdisplay_state: new_state,\n\t\t\t\t\t} = value?.instanceStatus || {};\n\n\t\t\t\t\t// Fetch available plugins on every new instance id changes\n\t\t\t\t\tif (value) {\n\t\t\t\t\t\tif (value?.sys_id && previousValue?.sys_id && value?.sys_id !== previousValue?.sys_id\n\t\t\t\t\t\t\t|| (\n\t\t\t\t\t\t\t\t// enable for performance if required\n\t\t\t\t\t\t\t\t// (old_state?.toLowerCase() === 'Activating Plugin'.toLowerCase()\n\t\t\t\t\t\t\t\t// || old_state?.toLowerCase() === 'Reset and Wiping Instance'.toLowerCase()) && \n\t\t\t\t\t\t\t\told_state?.toLowerCase() !== new_state?.toLowerCase())\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tdispatch('PDI_SUMMARY#FETCH_AVAILABLE_PLUGINS');\n\t\t\t\t\t\t\tdispatch(APP_ACTIONS.GET_INSTANCE_COMPLETE_OPERATION_HISTORY);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (\n\t\t\t\t\t\tvalue.instanceStatus?.display_state == INSTANCE_ACTION_STATES.ONLINE &&\n\t\t\t\t\t\tpreviousValue.instanceStatus?.display_state == INSTANCE_ACTION_STATES.WAKING_INSTANCE_IN_PROGRESS) {\n\t\t\t\t\t\tdispatch(\"APP#MANAGE_ALERTS_STATE\", { [ALERTS.INSTANCE_READY]: true });\n\t\t\t\t\t}\n\t\t\t\t\tif (valChanged) {\n\t\t\t\t\t\tgetInstanceCountDetails({ properties, dispatch });\n\t\t\t\t\t}\n\t\t\t\t\tif (instanceInfo?.pluginId) {\n\t\t\t\t\t\tupdateProperties({ currentActivatingPlugin: instanceInfo.pluginId });\n\t\t\t\t\t}\n\t\t\t\t\tshowUpgradeAlert({ releaseInfo, instanceInfo, dispatch });\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"instanceMenuItems\":\n\t\t\t\t\tconst [menuItemEditorOptions] = value.filter(\n\t\t\t\t\t\tmenuItem => menuItem.editorOptions !== ''\n\t\t\t\t\t);\n\t\t\t\t\t// set options for the 'Change User Role' view\n\t\t\t\t\tif (menuItemEditorOptions) {\n\t\t\t\t\t\t['editorOptions', 'editorOptionsText', 'imageOptions'].forEach(key => {\n\t\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\t\tpath: `userRoleOptions.${key}`,\n\t\t\t\t\t\t\t\tvalue: JSON.parse(menuItemEditorOptions[key]),\n\t\t\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\tcase 'sortHistoryTypeDesc':\n\t\t\t\t\tlet updatedOperationHistorySorted;\n\t\t\t\t\tif (!value) {\n\t\t\t\t\t\tupdatedOperationHistorySorted = [...updatedOperationHistory].sort(\n\t\t\t\t\t\t\t(a, b) => new Date(a.updated_on) - new Date(b.updated_on)\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tupdatedOperationHistorySorted = [...updatedOperationHistory].sort(\n\t\t\t\t\t\t\t(a, b) => new Date(b.updated_on) - new Date(a.updated_on)\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tupdateProperties({ updatedOperationHistory: updatedOperationHistorySorted })\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'selectedOperationType':\n\t\t\t\tcase 'completeOperationHistory':\n\t\t\t\t\tif (selectedOperationType == 'all') {\n\t\t\t\t\t\tupdateProperties({ updatedOperationHistory: completeOperationHistory, isLoadingOperationHistory: false })\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tconst updatedHistory = completeOperationHistory.filter(operation => operation.operation_name === OPERATION_HISTORY_TYPES[selectedOperationType].value);\n\t\t\t\t\t\tupdateProperties({ updatedOperationHistory: updatedHistory })\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'updatedOperationHistory':\n\t\t\t\t\tdispatch('PAGINATE_VIEW_HISTORY');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'selectedAction':\n\t\t\t\t\tupdateProperties({ changeUserRole: userInfo.pdi_user_role, updatedOperationHistory: completeOperationHistory, isLoadingOperationHistory: false });\n\t\t\t\t\tdispatch('PAGINATE_VIEW_HISTORY');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'pdiUserRole':\n\t\t\t\t\tupdateProperties({ changeUserRole: value })\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"availablePlugins\":\n\t\t\t\t\tif (instanceInfo.sys_id && valChanged && coeffects.state.isLoadingPlugins !== undefined) {\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\tdispatch('PAGINATE_PLUGINS');\n\t\t\t\t\t\t}, 100);\n\t\t\t\t\t}\n\t\t\t\t\tlet filteredPluginsApplied = applyFilters(value, filters, completeOperationHistory, updateProperties);\n\t\t\t\t\tupdateState({ filteredPlugins: filteredPluginsApplied });\n\t\t\t\t\tbreak;\n\t\t\t\tcase COMPONENTS.FILTERS:\n\t\t\t\t\tif (propertyValueChangedFilter) {\n\t\t\t\t\t\tconst filtersApplied = value;\n\t\t\t\t\t\tlet filteredPlugins = applyFilters(availablePlugins, filtersApplied, completeOperationHistory, updateProperties);\n\t\t\t\t\t\tupdateState({\n\t\t\t\t\t\t\tfilteredPlugins: [...filteredPlugins]\n\t\t\t\t\t\t});\n\t\t\t\t\t\tdispatch('PAGINATE_PLUGINS');\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (opResult?.status === 'SUCCESS' && opResult?.message == CHANGE_USER_ROLE_CONFIRMATION) {\n\t\t\t\tupdateState({ changeUserRoleStage: 'done' })\n\t\t\t}\n\t\t\t// if (catItemInProgress &&\n\t\t\t// \tcatItemInProgress.confirmViewName === ALERTS.ACTIVATE_PLUGIN) {\n\t\t\t// \tdispatch(\"APP#MANAGE_ALERTS_STATE\", { [ALERTS.ACTIVATE_PLUGIN]: true });\n\t\t\t// }\n\t\t},\n\t\t[COMPONENT_CONNECTED](coeffects) {\n\t\t\tconst { properties, dispatch } = coeffects;\n\t\t\tconst { instanceInfo, availablePlugins } = properties;\n\t\t\tif (instanceInfo.sys_id && !coeffects.state.isLoadingPlugins) {\n\t\t\t\tif (availablePlugins?.length > 0) {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tdispatch('PAGINATE_PLUGINS');\n\t\t\t\t\t}, 100);\n\t\t\t\t}\n\t\t\t\telse if (coeffects.state.isLoadingPlugins === undefined) {\n\t\t\t\t\tdispatch('PDI_SUMMARY#FETCH_AVAILABLE_PLUGINS');\n\t\t\t\t\tdispatch(APP_ACTIONS.GET_INSTANCE_COMPLETE_OPERATION_HISTORY);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_RENDERED](coeffects) {\n\t\t\tconst elem = coeffects.state.alertListRef?.current?.shadowRoot?.querySelector(\".now-alert-list\");\n\t\t\tif (elem) {\n\t\t\t\telem.style.zIndex = \"unset\";\n\t\t\t\telem.style.display = \"contents\";\n\t\t\t}\n\t\t},\n\t\t...fetchAvailableInstance,\n\t\t...manageInstanceHandlers\n\t}\n});","import { decodeParam } from './helpers';\nimport pathToRegexp from 'path-to-regexp';\n\nconst { hasOwnProperty } = Object.prototype;\nconst cache = new Map();\n// see https://github.com/pillarjs/path-to-regexp/issues/148\ncache.set('|false', {\n\tkeys: [],\n\tpattern: /(?:)/\n});\n\nconst matchPath = (routepath, path, exact=true) => {\n\tconst cacheKey = `${routepath}|${exact}`;\n\tlet regexp = cache.get(cacheKey);\n\n\tif (!regexp) {\n\t\tconst keys = [];\n\t\tregexp = {\n\t\t\tkeys,\n\t\t\tpattern: pathToRegexp(routepath, keys, {\n\t\t\t\tend: exact,\n\t\t\t\tstrict: routepath === '',\n\t\t\t\tendsWith: ['?','#']\n\t\t\t}),\n\t\t};\n\t\tcache.set(cacheKey, regexp);\n\t}\n\n\tconst m = regexp.pattern.exec(path);\n\tif (!m) {\n\t\treturn null;\n\t}\n\n\tconst params = {};\n\n\tfor (let i = 1; i < m.length; i++) {\n\t\tconst key = regexp.keys[i - 1];\n\t\tconst prop = key.name;\n\t\tconst value = m[i];\n\t\tif (value !== undefined || !hasOwnProperty.call(params, prop)) {\n\t\t\tif (key.repeat) {\n\t\t\t\tparams[prop] = value ? value.split(key.delimiter).map(decodeParam) : [];\n\t\t\t} else {\n\t\t\t\tparams[prop] = value ? decodeParam(value) : value;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn {\n\t\tpath: m[0],\n\t\tkeys: regexp.keys,\n\t\tparams,\n\t};\n};\n\nexport default matchPath;\n","import './connected-components/dps-home';\nimport './connected-components/dps-home-unauth';\nimport './connected-components/dps-home-auth';\nimport './connected-components/dps-home-auth-quebec';\nimport './connected-components/dps-citizen-dev';\nimport './connected-components/dps-api-doc';\nimport './connected-components/dps-api-list';\nimport './connected-components/dps-examples';\nimport './connected-components/dps-learning-courses';\nimport './connected-components/dps-learning-module';\nimport './connected-components/dps-learning-overview';\nimport './connected-components/dps-guides-overview';\nimport './connected-components/dps-lp-list';\nimport './connected-components/dps-lp-details';\nimport './connected-components/dps-component-gallery';\nimport './connected-components/dps-component-gallery-v3';\nimport './connected-components/dps-course-details';\nimport './connected-components/dps-course-module';\nimport './connected-components/dps-tutorial-details';\nimport './connected-components/dps-search-results';\nimport './connected-components/dps-search-page';\nimport './connected-components/dps-reference-overview';\nimport './connected-components/dps-reference-page';\nimport './connected-components/dps-guides-platform-overview';\nimport './connected-components/dps-guides-experience-overview';\nimport './components/dps-error-page';\nimport './components/dps-ai-search';\nimport './connected-components/dps-guides-layout';\nimport './connected-components/dps-guides-detail';\nimport './connected-components/dps-design-layout';\nimport './connected-components/dps-connect-overview';\nimport './connected-components/dps-design-overview';\nimport './connected-components/dps-profile';\nimport './connected-components/dps-learning-tutorials';\nimport './connected-components/dps-tutorial-exercise';\nimport './connected-components/dps-developer-mvp';\nimport './connected-components/dps-engagement-page';\nimport './connected-components/dps-pdi-summary';\nimport { CONSTANTS } from './constants';\nimport { isEmployee, isTruthy, getKeyByValue, capitalizeWords } from './utils/helpers';\nimport {\n\tgetSelectedRelease,\n\tminimumNowExperienceVersion,\n\tgetFormattedInstanceReleaseInfo,\n\tisReleaseGT\n} from './utils/releaseHelpers';\nimport { MemStorage } from './utils/memStorage';\nimport { createPath, replacePathParam } from './utils/url';\nimport matchPath from './behaviors/router/matchPath';\nimport {\n\tCONTENT_TYPE_MAP,\n\tSOURCE_MAP\n} from './connected-components/dps-search-page/constant';\nimport { showRequestInstance } from './utils/instanceHelpers';\n\n/**\n * Returns the minimumNowExperience version to use in redirecting\n * users based on if user is an SN employee.\n * @param {Object} params\n * @param {boolean} params.isUserEmployee\n * @param {Object} params.systemProperties\n */\nexport const getMinimumNowExperienceVersion = ({\n\tisUserEmployee,\n\tsystemProperties\n}) => {\n\tconst systemDefaultRelease = systemProperties['dev.defaultVersionSelected'];\n\tlet storedRelease = MemStorage.getItem(\n\t\tCONSTANTS.DEFAULTS.USER_SESSION_RELEASE\n\t);\n\n\t// For non SN users, if the stored version is higher than the default selected\n\t// version, bump it back down to the default. This prevents a login prompt that\n\t// would 404 after logging in (because of EA access issues).\n\tif (!isUserEmployee && isReleaseGT(storedRelease, systemDefaultRelease, systemProperties)) {\n\t\tstoredRelease = systemDefaultRelease;\n\t}\n\n\t// For employees, we don't care how new the release is.\n\t// It just needs to be minimumNowExperienceVersion(release) or newer.\n\treturn minimumNowExperienceVersion(storedRelease, systemProperties);\n};\n\n/**\n * Takes a path and updates the location\n *\n * @param {string} [location='']\n */\nexport const updateRoute = (location = '') => {\n\twindow.location.hash = createPath(location);\n};\n\n/**\n * Prevents infinite loop when updating location\n * @param {*} location\n */\nexport const replaceRoute = (location = '') => {\n\twindow.location.replace(createPath(location));\n};\n\nexport const ROUTES = {\n\t// HOME\n\thome: '/(home)?',\n\n\tcitizenDev: '/citizen-developer',\n\n\t// GUIDE\n\tguideOverview: '/guides',\n\tguidesPlatformOverview: '/guides/now-platform',\n\tguidesExperienceOverview: '/guides/next-experience',\n\n\t// This is an agnostic URL that is used in some custom redirect\n\t// logic below. It allows for a dynamic release.\n\tnowExperienceCli: '/reference/next-experience/cli',\n\n\t// The original Guides layout now only handles guides that are\n\t// of the category `now-platform`.\n\tguidesLayout:\n\t\t'/guides/:release/:category(now-platform|developer-program)/:type/:parent?/:child?',\n\n\t// This enables some next-experience guides to be rendered at this\n\t// URL pattern starting with reference.\n\n\t// The types have been converted into a list of accepted values here because\n\t// otherwise, they compete with the other reference routes.\n\tguidesReferenceLayout:\n\t\t'/reference/:category(next-experience)/:release/:type(cli|ui-framework|dev|seismic-devtools|dex-devtools|developer-tools|uxf|xenolith)/:parent?/:child?',\n\n\t// SEARCH\n\tsearch: '/search/:release/:category/:query/:page?',\n\tsearchV2: '/search',\n\t// LEARN\n\tlearnOverview: '/learn',\n\tlearningPlans: '/learn/learning-plans/:release',\n\tlearningPlanDetail: '/learn/learning-plans/:release/:learningPlanId',\n\tlearnModule: '/learn/learning-plans/:release/:learningPlanId/:lessonId',\n\tcourses: '/learn/courses/:release',\n\tcourseDetails: '/learn/courses/:release/:courseId',\n\tcourseModule: '/learn/courses/:release/:courseId/:moduleId/:lessonId',\n\t//TUTORIAL\n\ttutorials: '/learn/tutorials/:release',\n\ttutorialExercise: '/learn/tutorials/:release/:tutorialId/:exerciseId',\n\ttutorialDetail: '/learn/tutorials/:release/:tutorialId',\n\t// REFERENCE\n\treferenceOverview: '/reference',\n\tcomponentsList: '/reference/next-experience/:release/components',\n\tcomponentsListV3: '/reference/next-experience/:elementType(components|app-shells|page-templates|modals)',\n\tcomponentsDetailPage:\n\t\t'/reference/next-experience/:release/:referenceType/:referenceItem/:docType',\n\tcomponentsDetailPageRedirect:\n\t\t'/reference/next-experience/:referenceType/:referenceItem/:docType',\n\tapiList:\n\t\t'/reference/api/:release/:docType',\n\tapiDocs:\n\t\t'/reference/api/:release/:docType(client|client_mobile|server|server_legacy|rest|client_next_experience|mobile_sdk)/:group?/:parent?',\n\t// CONNECT\n\tconnectOverview: '/connect',\n\tshare: '/connect/share-projects',\n\tevents: '/connect/events',\n\teventDetail: '/connect/events/:eventId',\n\tblog: '/connect/blog',\n\tmvp: '/connect/mvp',\n\t// DESIGN\n\tdesignOverview: '/design',\n\tdesignDetail: '/design/:release/:category/:articleId',\n\t// PROGRAM\n\tprogram: '/program',\n\t// DEV ONLY\n\tdpsExamples: '/dps-examples/:id?',\n\t//PROFILE UI\n\tprofile: '/profile',\n\t//MANAGE PDI SUMMARY\n\tpdiSummary: '/manage-instance',\n\t//ai search\n\taiSearch: '/ai-search/:query',\n\t// 404\n\terror: ':notFound(.*)',\n\thomepage: \"/home\"\n};\n\nexport const routeSwitch = ({\n\tcatItemInProgress,\n\thash,\n\tinstanceMenuItems,\n\tinstanceInfo,\n\tillegalUrls,\n\tisInstanceRefreshing,\n\tpathname,\n\trelease,\n\treleaseInfo,\n\trouteParams,\n\trouteString,\n\tsystemProperties,\n\tuserInfo,\n\tisLoadingOperationHistory,\n\tqueryParams,\n\tisBlockedUser,\n\tisQuestionsSubmittedInProgress,\n\tisInstanceStatsCheckInProgress,\n\tisRequestForAutoAssignInstance,\n\tsuggestionPayload,\n\tcompleteOperationHistory,\n\tupgradeableInstanceTargets,\n\tavailablePlugins,\n\tisLoadingPlugins,\n\tresetPasswordOperationFailed,\n\tpdiUserRole,\n\tsearchResultMetaData,\n\tgeniusResult,\n\tsearchResultsTemplates,\n\tsearchSources,\n\tsearchResultLoading,\n\tnoSearchDataAvailable,\n\topResult,\n\texecuteCatItemResult,\n\tmagicLink,\n\tshowOpResultBySysId,\n\tnowAlertMessages,\n\tpaginationToken,\n\tglobalSearchTerm,\n\tcommonData,\n\tisAutoAssignRunInBackground,\n\tisBuildAgentExperience,\n\tautoAssignAlertType\n}) => {\n\tconst { is_logged_in } = userInfo;\n\tconst isUserEmployee = isEmployee(userInfo);\n\tconst selectedRelease = getSelectedRelease({ release, routeParams, systemProperties });\n\tconst canRequestInstance = instanceInfo && showRequestInstance(instanceInfo);\n\tconst isInstanceRequestInProgress =\n\t\tinstanceInfo &&\n\t\tinstanceInfo.isRequestingInstance();\n\tconst hasInstance = !canRequestInstance && !isInstanceRequestInProgress;\n\tconst instanceRelease = getFormattedInstanceReleaseInfo(instanceInfo);\n\tconst latestRelease = systemProperties && systemProperties['dev.latest_release.ui'];\n\n\t// Special case redirection based on `isEmployee`\n\tif (isUserEmployee !== undefined) {\n\t\t// All other users should be sent to the default version unless it's EA. For now, that\n\t\t// will always be orlando, but in the future could be a release between n and q.\n\t\t// let storedRelease = MemStorage.getItem(CONSTANTS.DEFAULTS.USER_SESSION_RELEASE);\n\t\tconst minNowExperienceVersion = getMinimumNowExperienceVersion({\n\t\t\tisUserEmployee,\n\t\t\tsystemProperties\n\t\t});\n\t\tif (routeString === ROUTES.nowExperienceCli) {\n\t\t\t// Service Now employees should be sent to the /about page with their current version\n\t\t\t// as long as it's not older than `minimumNowExperienceVersion(release)`.\t\t\n\t\t\tif (isUserEmployee) {\n\t\t\t\treturn updateRoute(\n\t\t\t\t\t`/reference/next-experience/${minNowExperienceVersion}/cli/about`\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\treturn updateRoute(\n\t\t\t\t\t`/reference/next-experience/${minNowExperienceVersion}/cli/getting-started`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\t// Redirection powered by dev_redirection from systemProperties\n\tconst isRedirecting = redirectFromSystemProperties(\n\t\tpathname,\n\t\tsystemProperties\n\t);\n\n\tif (isRedirecting) {\n\t\treturn null;\n\t}\n\n\t// HOME\n\tif (routeString === ROUTES.home) {\n\n\t\tif (queryParams && queryParams.m === CONSTANTS.DEFAULTS.DEV_GENERAL_FEEDBACK_MODAL_QUERY_PARAM) {\n\t\t\treturn <dps-error-page release={selectedRelease} illegalUrls={illegalUrls} />;\n\t\t}\n\n\t\tconst authHomePage = systemProperties && systemProperties[\"dev.QuebecDashboard.enabled\"] === \"true\" ? (\n\t\t\t<dps-home-auth-quebec\n\t\t\t\tcatItemInProgress={catItemInProgress || isQuestionsSubmittedInProgress}\n\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\tisInstanceRefreshing={isInstanceRefreshing}\n\t\t\t\trelease={selectedRelease}\n\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\tuserInfo={userInfo}\n\t\t\t\tupgradeableInstanceTargets={upgradeableInstanceTargets}\n\t\t\t\tinstanceMenuItems={instanceMenuItems}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tcommonData={commonData}\n\t\t\t\tisInstanceStatsCheckInProgress={isRequestForAutoAssignInstance && isInstanceStatsCheckInProgress}\n\t\t\t\topResult={opResult}\n\t\t\t\tpdiUserRole={pdiUserRole}\n\t\t\t\tisAutoAssignRunInBackground={isAutoAssignRunInBackground}\n\t\t\t/>\n\t\t) : (\n\t\t\t<dps-home-auth\n\t\t\t\tcatItemInProgress={catItemInProgress}\n\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\tinstanceMenuItems={instanceMenuItems}\n\t\t\t\tisInstanceRefreshing={isInstanceRefreshing}\n\t\t\t\trelease={selectedRelease}\n\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\tpathname={pathname}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tuserInfo={userInfo}\n\t\t\t\tisBlockedUser={isBlockedUser}\n\t\t\t\tcommonData={commonData}\n\t\t\t/>\n\t\t);\n\n\t\treturn is_logged_in ? authHomePage : (\n\t\t\t<dps-home-unauth\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\trelease={selectedRelease}\n\t\t\t\tcommonData={commonData}\n\t\t\t\tregisterUrl={systemProperties['dev.okta.wrapper.register_url']}\n\t\t\t/>\n\t\t);\n\t}\n\n\t// CITIZEN DEV LANDING PAGE\n\tif (routeString === ROUTES.citizenDev) {\n\t\t// DEF0205563 Redirect logged in users to the Authenticated Dashboard\n\t\tif (is_logged_in) {\n\t\t\tupdateRoute('/');\n\t\t}\n\n\t\treturn (\n\t\t\t<dps-citizen-dev\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tdefaultVersionSelected={systemProperties['dev.defaultVersionSelected']}\n\t\t\t\tregisterUrl={systemProperties['dev.okta.wrapper.register_url']}\n\t\t\t\tbuilderSeriesVideoUrl={\n\t\t\t\t\tsystemProperties['dev.builder_series.youtube_url']\n\t\t\t\t}\n\t\t\t/>\n\t\t);\n\t}\n\n\t// CONNECT\n\tif (routeString === ROUTES.connectOverview) {\n\t\tif (isTruthy(systemProperties['dev.engagement_page.enable'])) {\n\t\t\treturn <dps-engagement-page systemProperties={systemProperties} />;\n\t\t} else {\n\t\t\treturn (\n\t\t\t\t<dps-connect-overview\n\t\t\t\t\thash={hash}\n\t\t\t\t\tpathname={pathname}\n\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t}\n\n\t// CONNECT - MVP\n\tif (routeString === ROUTES.mvp) {\n\n\t\tif (\n\t\t\tisTruthy(systemProperties['dev.connect_mvp_card_view_enable']) ||\n\t\t\tisTruthy(systemProperties['dev.connect_mvp_site_banner_enable'])\n\t\t) {\n\t\t\treturn (\n\t\t\t\t<dps-developer-mvp hash={hash} systemProperties={systemProperties} />\n\t\t\t);\n\t\t} else {\n\t\t\treturn (\n\t\t\t\t<dps-error-page release={selectedRelease} illegalUrls={illegalUrls} />\n\t\t\t);\n\t\t}\n\t}\n\n\t// GUIDE\n\tif (routeString === ROUTES.guideOverview) {\n\t\treturn (\n\t\t\t<dps-guides-overview\n\t\t\t\trelease={selectedRelease}\n\t\t\t\thash={hash}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t/>\n\t\t);\n\t}\n\n\tif (routeString === ROUTES.guidesLayout) {\n\t\treturn (\n\t\t\t<dps-guides-detail\n\t\t\t\t{...routeParams}\n\t\t\t\trouteString={routeString}\n\t\t\t\tpathname={pathname}\n\t\t\t\thash={hash}\n\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\trelease={selectedRelease}\n\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tuserInfo={userInfo}\n\t\t\t/>\n\t\t);\n\t}\n\n\tif (\n\t\trouteString === ROUTES.guidesLayout ||\n\t\trouteString === ROUTES.guidesReferenceLayout\n\t) {\n\t\treturn (\n\t\t\t<dps-guides-layout\n\t\t\t\t{...routeParams}\n\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\trouteString={routeString}\n\t\t\t\tpathname={pathname}\n\t\t\t\thash={hash}\n\t\t\t\trelease={selectedRelease}\n\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tuserInfo={userInfo}\n\t\t\t/>\n\t\t);\n\t}\n\n\tif (routeString === ROUTES.searchV2 && isTruthy(systemProperties['dev.search.enable_solr_latest'])) {\n\t\treturn (\n\t\t\t<dps-search-page\n\t\t\t\tqueryParams={queryParams}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tsuggestionPayload={suggestionPayload}\n\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t></dps-search-page>\n\t\t);\n\t}\n\n\tif (routeString === ROUTES.search) {\n\t\tif (release === 'latest') {\n\t\t\trelease = systemProperties['dev.latest_release.ui'];\n\t\t\tupdateRoute(\n\t\t\t\treplacePathParam({\n\t\t\t\t\tparam: ':release',\n\t\t\t\t\trouteString,\n\t\t\t\t\tpathname,\n\t\t\t\t\tparamValue: release,\n\t\t\t\t\thash\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t\t// if solr enable convert path param to query param and update url.\n\t\tif (isTruthy(systemProperties['dev.search.enable_solr_latest'])) {\n\t\t\tlet source = 'Developer Program|Now Community';\n\t\t\tlet releaseParam = (is_logged_in && hasInstance) ? instanceRelease.id : latestRelease;\n\t\t\tlet url = `/search?q=${routeParams.query}&release=${capitalizeWords(releaseParam)}${source ? '&source=' + source : ''\n\t\t\t\t}`;\n\n\t\t\tconst facetConfig =\n\t\t\t\tsystemProperties &&\n\t\t\t\tsystemProperties[\"dev.solr_search.facet_configuration_object\"] &&\n\t\t\t\tJSON.parse(systemProperties[\"dev.solr_search.facet_configuration_object\"]);\n\n\t\t\tconst isContentTypeFacetEnabled =\n\t\t\t\tfacetConfig &&\n\t\t\t\tfacetConfig.clsf_contenttypes &&\n\t\t\t\tfacetConfig.clsf_contenttypes.showFacet;\n\n\t\t\tif (\n\t\t\t\tisContentTypeFacetEnabled &&\n\t\t\t\trouteParams.category &&\n\t\t\t\t['blog'].indexOf(routeParams.category.toLowerCase()) > -1\n\t\t\t) {\n\t\t\t\turl += `&contentType=${getKeyByValue(\n\t\t\t\t\tCONTENT_TYPE_MAP,\n\t\t\t\t\trouteParams.category\n\t\t\t\t)}`;\n\t\t\t}\n\n\t\t\tupdateRoute(url);\n\t\t} else {\n\t\t\t// if Solr is disabled navigate to dps-search-results\n\t\t\treturn (\n\t\t\t\t<dps-search-results\n\t\t\t\t\t{...routeParams}\n\t\t\t\t\thash={hash}\n\t\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\t\tpathname={pathname}\n\t\t\t\t\trelease={selectedRelease}\n\t\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\t\trouteString={routeString}\n\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\tuserInfo={userInfo}\n\t\t\t\t\tsuggestionPayload={suggestionPayload}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t}\n\n\tif (routeString === ROUTES.guidesPlatformOverview) {\n\t\treturn (\n\t\t\t<dps-guides-platform-overview\n\t\t\t\trelease={selectedRelease}\n\t\t\t\thash={hash}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t/>\n\t\t);\n\t}\n\tif (routeString === ROUTES.guidesExperienceOverview) {\n\t\treturn (\n\t\t\t<dps-guides-experience-overview\n\t\t\t\trelease={selectedRelease}\n\t\t\t\thash={hash}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tuserInfo={userInfo}\n\t\t\t/>\n\t\t);\n\t}\n\t// LEARN\n\tif (routeString === ROUTES.learnOverview) {\n\t\treturn (\n\t\t\t<dps-learning-overview\n\t\t\t\trelease={selectedRelease}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tuserInfo={userInfo}\n\t\t\t\thash={hash}\n\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\tupgradeableInstanceTargets={upgradeableInstanceTargets}\n\t\t\t\tinstanceMenuItems={instanceMenuItems}\n\t\t\t\tcatItemInProgress={catItemInProgress}\n\t\t\t\tisAutoAssignRunInBackground={isAutoAssignRunInBackground}\n\t\t\t\tisBuildAgentExperience={isBuildAgentExperience}\n\t\t\t\tautoAssignAlertType={autoAssignAlertType}\n\t\t\t/>\n\t\t);\n\t}\n\n\t// PDI SUMMARY\n\tif (routeString === ROUTES.pdiSummary) {\n\t\t// Redirect not logged in users / no instance users to the Home page\n\t\tif (!is_logged_in || !hasInstance) {\n\t\t\tupdateRoute('/');\n\t\t} else {\n\t\t\treturn (\n\t\t\t\t<dps-pdi-summary\n\t\t\t\t\thash={hash}\n\t\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\t\tcatItemInProgress={catItemInProgress}\n\t\t\t\t\tupgradeableInstanceTargets={upgradeableInstanceTargets}\n\t\t\t\t\tinstanceMenuItems={instanceMenuItems}\n\t\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\t\tisInstanceRefreshing={isInstanceRefreshing}\n\t\t\t\t\thasInstance={hasInstance}\n\t\t\t\t\tcompleteOperationHistory={completeOperationHistory}\n\t\t\t\t\tselectedRelease={selectedRelease}\n\t\t\t\t\trouteString={routeString}\n\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\tuserInfo={userInfo}\n\t\t\t\t\tavailablePlugins={availablePlugins}\n\t\t\t\t\tisLoadingPlugins={isLoadingPlugins}\n\t\t\t\t\topResult={opResult}\n\t\t\t\t\tisLoadingOperationHistory={isLoadingOperationHistory}\n\t\t\t\t\tpdiUserRole={pdiUserRole}\n\t\t\t\t\tpasswordResetFailed={resetPasswordOperationFailed}\n\t\t\t\t\texecuteCatItemResult={executeCatItemResult}\n\t\t\t\t\tmagicLink={magicLink}\n\t\t\t\t\tshowOpResultBySysId={showOpResultBySysId}\n\t\t\t\t\tnowAlertMessages={nowAlertMessages}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t}\n\n\tif (routeString === ROUTES.aiSearch) {\n\t\tif (!!routeParams?.query && routeParams?.query?.trim().length > 0) {\n\t\t\treturn <dps-ai-search\n\t\t\t\tglobalSearchTerm={routeParams?.query}\n\t\t\t\t// routeSearchTerm={routeParams?.query}\n\t\t\t\tsearchResultMetaData={searchResultMetaData}\n\t\t\t\tgeniusResult={geniusResult}\n\t\t\t\tsearchResultsTemplates={searchResultsTemplates}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tsearchSources={searchSources}\n\t\t\t\tpaginationToken={paginationToken}\n\t\t\t\tsearchResultLoading={searchResultLoading}\n\t\t\t\tisLoggedIn={is_logged_in}\n\t\t\t\tnoSearchDataAvailable={noSearchDataAvailable}\n\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t/>\n\t\t} else {\n\t\t\tupdateRoute(ROUTES.homepage);\n\t\t}\n\t}\n\n\tif (routeString === ROUTES.learningPlans) {\n\t\tif (release === 'latest') {\n\t\t\trelease = systemProperties['dev.latest_release.ui'];\n\t\t\tupdateRoute(\n\t\t\t\treplacePathParam({\n\t\t\t\t\tparam: ':release',\n\t\t\t\t\trouteString,\n\t\t\t\t\tpathname,\n\t\t\t\t\tparamValue: release,\n\t\t\t\t\thash\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<dps-lp-list\n\t\t\t\t{...routeParams}\n\t\t\t\thash={hash}\n\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\tpathname={pathname}\n\t\t\t\trelease={selectedRelease}\n\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\trouteString={routeString}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tuserInfo={userInfo}\n\t\t\t/>\n\t\t);\n\t}\n\tif (routeString === ROUTES.learningPlanDetail) {\n\t\treturn (\n\t\t\t<dps-lp-details\n\t\t\t\t{...routeParams}\n\t\t\t\thash={hash}\n\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\tpathname={pathname}\n\t\t\t\trelease={selectedRelease}\n\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\trouteString={routeString}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tuserInfo={userInfo}\n\t\t\t/>\n\t\t);\n\t}\n\tif (routeString === ROUTES.learnModule) {\n\t\treturn (\n\t\t\t<dps-learning-module\n\t\t\t\t{...routeParams}\n\t\t\t\thash={hash}\n\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\tpathname={pathname}\n\t\t\t\trelease={selectedRelease}\n\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\trouteString={routeString}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tuserInfo={userInfo}\n\t\t\t/>\n\t\t);\n\t}\n\tif (routeString === ROUTES.courseModule) {\n\t\treturn (\n\t\t\t<dps-course-module\n\t\t\t\t{...routeParams}\n\t\t\t\thash={hash}\n\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\tpathname={pathname}\n\t\t\t\trelease={selectedRelease}\n\t\t\t\trouteString={routeString}\n\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tuserInfo={userInfo}\n\t\t\t/>\n\t\t);\n\t}\n\tif (routeString === ROUTES.courses) {\n\t\tif (release === 'latest') {\n\t\t\trelease = systemProperties['dev.latest_release.ui'];\n\t\t\tupdateRoute(\n\t\t\t\treplacePathParam({\n\t\t\t\t\tparam: ':release',\n\t\t\t\t\trouteString,\n\t\t\t\t\tpathname,\n\t\t\t\t\tparamValue: release,\n\t\t\t\t\thash\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<dps-learning-courses\n\t\t\t\t{...routeParams}\n\t\t\t\thash={hash}\n\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\tpathname={pathname}\n\t\t\t\trelease={selectedRelease}\n\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\trouteString={routeString}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tuserInfo={userInfo}\n\t\t\t/>\n\t\t);\n\t}\n\tif (routeString === ROUTES.courseDetails) {\n\t\treturn (\n\t\t\t<dps-course-details\n\t\t\t\t{...routeParams}\n\t\t\t\thash={hash}\n\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\tpathname={pathname}\n\t\t\t\trelease={selectedRelease}\n\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\trouteString={routeString}\n\t\t\t\tuserInfo={userInfo}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t/>\n\t\t);\n\t}\n\t// TUTORIAL\n\tif (routeString === ROUTES.tutorials && isTruthy(systemProperties['dev.tutorials.is_enabled'])) {\n\t\treturn (\n\t\t\t<dps-learning-tutorials\n\t\t\t\trelease={selectedRelease}\n\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\tuserInfo={userInfo}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\thash={hash}\n\t\t\t\tpathname={pathname}\n\t\t\t\trouteString={routeString}\n\t\t\t></dps-learning-tutorials>\n\t\t);\n\t}\n\n\tif (routeString === ROUTES.tutorialExercise && isTruthy(systemProperties['dev.tutorials.is_enabled'])) {\n\n\t\treturn (\n\t\t\t<dps-tutorial-exercise\n\t\t\t\t{...routeParams}\n\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\trelease={selectedRelease}\n\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tuserInfo={userInfo}\n\t\t\t\tpathname={pathname}\n\t\t\t\trouteString={routeString}\n\t\t\t/>\n\t\t);\n\t}\n\n\tif (routeString === ROUTES.tutorialDetail && isTruthy(systemProperties['dev.tutorials.is_enabled'])) {\n\t\treturn (\n\t\t\t<dps-tutorial-details\n\t\t\t\t{...routeParams}\n\t\t\t\thash={hash}\n\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\tpathname={pathname}\n\t\t\t\trelease={selectedRelease}\n\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\trouteString={routeString}\n\t\t\t\tuserInfo={userInfo}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t/>\n\t\t)\n\t}\n\n\t// REFERENCE\n\tif (routeString === ROUTES.referenceOverview) {\n\t\treturn (\n\t\t\t<dps-reference-overview\n\t\t\t\trelease={selectedRelease}\n\t\t\t\tuserInfo={userInfo}\n\t\t\t\thash={hash}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\tupgradeableInstanceTargets={upgradeableInstanceTargets}\n\t\t\t\tinstanceMenuItems={instanceMenuItems}\n\t\t\t\tcatItemInProgress={catItemInProgress}\n\t\t\t\tisAutoAssignRunInBackground={isAutoAssignRunInBackground}\n\t\t\t\tisBuildAgentExperience={isBuildAgentExperience}\n\t\t\t\tautoAssignAlertType={autoAssignAlertType}\n\t\t\t/>\n\t\t);\n\t}\n\tif (routeString === ROUTES.componentsList) {\n\t\treturn (\n\t\t\t<dps-component-gallery\n\t\t\t\tpathname={pathname}\n\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\trelease={selectedRelease}\n\t\t\t\trouteString={routeString}\n\t\t\t\thash={hash}\n\t\t\t\tuserInfo={userInfo}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tqueryParams={queryParams}\n\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t/>\n\t\t);\n\t}\n\tif (routeString === ROUTES.componentsListV3) {\n\t\t// New components search view\n\t\t// Redirects will handle pointing to this route\n\t\t// for immediate future\n\t\treturn (\n\t\t\t<dps-component-gallery-v3\n\t\t\t\t{...routeParams}\n\t\t\t\tpathname={pathname}\n\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\trelease={selectedRelease}\n\t\t\t\trouteString={routeString}\n\t\t\t\thash={hash}\n\t\t\t\tuserInfo={userInfo}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tqueryParams={queryParams}\n\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t/>\n\t\t);\n\t}\n\tif (routeString === ROUTES.componentsDetailPage) {\n\n\t\tif (routeParams.docType === 'api') {\n\t\t\twindow.location.href = window.location.href.replace('api', 'overview');\n\t\t}\n\t\treturn (\n\t\t\t<dps-reference-page\n\t\t\t\tdocType={routeParams.docType}\n\t\t\t\tpathname={pathname}\n\t\t\t\trelease={selectedRelease}\n\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\treferenceItem={routeParams.referenceItem}\n\t\t\t\treferenceType={routeParams.referenceType}\n\t\t\t\trouteString={routeString}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tuserInfo={userInfo}\n\t\t\t\thash={hash}\n\t\t\t\tqueryParams={queryParams}\n\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t/>\n\t\t);\n\t}\n\n\tif (routeString === ROUTES.componentsDetailPageRedirect) {\n\n\t\tconst { referenceType, referenceItem, docType } = routeParams;\n\t\tlet release;\n\t\tif (instanceInfo && instanceInfo.release) {\n\t\t\trelease = instanceInfo.release.toLowerCase();\n\t\t} else {\n\t\t\trelease = releaseInfo && releaseInfo.latestRelease;\n\t\t}\n\t\tupdateRoute(\n\t\t\t`/reference/next-experience/${release}/${referenceType}/${referenceItem}/${docType}`\n\t\t);\n\t}\n\n\tif (routeString === ROUTES.apiList) {\n\t\treturn (\n\t\t\t<dps-api-list\n\t\t\t\t{...routeParams}\n\t\t\t\thash={hash}\n\t\t\t\trouteString={routeString}\n\t\t\t\tpathname={pathname}\n\t\t\t\trelease={selectedRelease}\n\t\t\t\tuserInfo={userInfo}\n\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tqueryParams={queryParams}\n\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t/>\n\t\t);\n\t}\n\n\tif (routeString === ROUTES.apiDocs) {\n\t\treturn (\n\t\t\t<dps-api-docs\n\t\t\t\t{...routeParams}\n\t\t\t\thash={hash}\n\t\t\t\trouteString={routeString}\n\t\t\t\tpathname={pathname}\n\t\t\t\trelease={selectedRelease}\n\t\t\t\tuserInfo={userInfo}\n\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tqueryParams={queryParams}\n\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t/>\n\t\t);\n\t}\n\n\t// DESIGN\n\tif (routeString === ROUTES.designOverview) {\n\t\treturn (\n\t\t\t<dps-design-overview\n\t\t\t\tuserInfo={userInfo}\n\t\t\t\tcomputedRelease={selectedRelease}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t/>\n\t\t);\n\t}\n\n\tif (routeString === ROUTES.designDetail) {\n\t\treturn (\n\t\t\t<dps-design-layout\n\t\t\t\t{...routeParams}\n\t\t\t\tpathname={pathname}\n\t\t\t\thash={hash}\n\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\trelease={selectedRelease}\n\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\tuserInfo={userInfo}\n\t\t\t/>\n\t\t);\n\t}\n\n\t// PROFILE UI PAGE\n\tif (routeString === ROUTES.profile) {\n\t\treturn (\n\t\t\t<dps-profile\n\t\t\t\tuserInfo={userInfo}\n\t\t\t\tsystemProperties={systemProperties}\n\t\t\t/>\n\t\t);\n\t}\n\n\tif (routeString === ROUTES.error) {\n\t\treturn <dps-error-page release={selectedRelease} illegalUrls={illegalUrls} />;\n\t}\n};\n\n/**\n * Redirect From System Properties\n * Checks the current route against redirects from the systemProperties\n * and redirects while returning a true/false response of \"is redirecting?\"\n *\n * @param {Object} pathname\n * @param {Object} systemProperties\n */\nfunction redirectFromSystemProperties(pathname, systemProperties) {\n\tconst redirectionURLs = JSON.parse(systemProperties['dev.redirectionURLs']);\n\tfor (let i = 0; i < redirectionURLs.length; i++) {\n\t\tconst url = redirectionURLs[i];\n\t\tconst matches = matchPath(url.match, pathname);\n\t\tif (matches) {\n\t\t\tlet newRoute = url.destination;\n\t\t\tObject.keys(matches.params).map(key => {\n\t\t\t\t// Remove optional param value if it's not defined\n\t\t\t\tif (matches.params[key] === undefined) {\n\t\t\t\t\tnewRoute = newRoute.replace(`:${key}`, '');\n\t\t\t\t} else {\n\t\t\t\t\tnewRoute = newRoute.replace(`:${key}`, matches.params[key]);\n\t\t\t\t}\n\t\t\t});\n\t\t\t// If it looks like the destination doesn't use a query string...\n\t\t\t// Remove the optional params symbol \"?\"\n\t\t\tconsole.log(url)\n\t\t\tif (!url.destination.match(/\\?:[a-zA-Z]/)) {\n\t\t\t\tnewRoute = newRoute.replace(/\\?/g, '').replace(/\\/$/, '');\n\t\t\t}\n\t\t\treplaceRoute(newRoute);\n\t\t\treturn true; // is redirecting\n\t\t}\n\t}\n\treturn false; // not redirecting\n}\n","import { CONSTANTS } from '../../../constants';\nimport { formatSysParam, makeHttpEffectCreator } from '../../../utils/helpers';\nimport { SessionService } from '../../../utils/sessionService';\nimport { APP_ACTIONS } from '../actions';\n\nexport const wakeUpInstance = makeHttpEffectCreator(\n\tAPP_ACTIONS.WAKE_UP_INSTANCE,\n\tCONSTANTS.ENDPOINTS.DEV_PORTAL_URI,\n\t{\n\t\tbatch: false,\n\t\theaders: { 'X-UserToken': SessionService.getHeaderUserToken() },\n\t\tmethod: 'GET',\n\t\tqueryParams: ['sysparm_data'],\n\t\tonError(coeffects) {\n\t\t\tconst { updateProperties } = coeffects;\n\t\t\tupdateProperties({ state: 'Hibernating' });\n\t\t},\n\t\tonSuccess(coeffects) {\n\t\t\tconst { action, dispatch, updateState } = coeffects;\n\t\t\tconst operation_request_id = action.payload\n\t\t\t\t? action.payload.operation_request_id\n\t\t\t\t: null;\n\n\t\t\tupdateState({\n\t\t\t\tpath: 'wakeupOperationRequestId',\n\t\t\t\tvalue: operation_request_id,\n\t\t\t\toperation: 'set'\n\t\t\t});\n\n\t\t\tconst sysparm_data = formatSysParam(\n\t\t\t\t'instance.hibernate.is_wake_up_complete',\n\t\t\t\t{\n\t\t\t\t\top_req_id: operation_request_id\n\t\t\t\t}\n\t\t\t);\n\t\t\tdispatch(APP_ACTIONS.IS_INSTANCE_WAKEUP_COMPLETE, { sysparm_data });\n\t\t}\n\t}\n);\n\nexport const checkInstanceStatus = makeHttpEffectCreator(\n\tAPP_ACTIONS.IS_INSTANCE_WAKEUP_COMPLETE,\n\tCONSTANTS.ENDPOINTS.DEV_PORTAL_URI,\n\t{\n\t\tbatch: false,\n\t\theaders: { 'X-UserToken': SessionService.getHeaderUserToken() },\n\t\tmethod: 'GET',\n\t\tqueryParams: ['sysparm_data'],\n\t\tonError(coeffects) {\n\t\t\tconst { updateProperties } = coeffects;\n\t\t\tupdateProperties({ state: 'Hibernating' });\n\t\t},\n\t\tonSuccess(coeffects) {\n\t\t\tconst { dispatch, action, properties, state, updateState } = coeffects;\n\t\t\tconst { systemProperties } = properties;\n\t\t\tconst { isAwake } = action.payload;\n\t\t\tconst {\n\t\t\t\tinstanceManagement: { instanceWakeUpPollCount },\n\t\t\t\twakeupOperationRequestId\n\t\t\t} = state;\n\n\t\t\tif (\n\t\t\t\tisAwake ||\n\t\t\t\tinstanceWakeUpPollCount >\n\t\t\t\t\tparseInt(systemProperties['dev.hibernate.wake_up.poll_iterations'])\n\t\t\t) {\n\t\t\t\tconst sysparm_data = formatSysParam('instance.ops.get_instance_info', {\n\t\t\t\t\tdirect_wake_up: false\n\t\t\t\t});\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'instanceManagement.instanceWakeUpPollCount',\n\t\t\t\t\tvalue: 0,\n\t\t\t\t\toperation: 'set'\n\t\t\t\t});\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'wakeupOperationRequestId',\n\t\t\t\t\tvalue: null,\n\t\t\t\t\toperation: 'set'\n\t\t\t\t});\n\t\t\t\tdispatch(APP_ACTIONS.GET_INSTANCE_INFO, { sysparm_data });\n\t\t\t} else if (wakeupOperationRequestId) {\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: 'instanceManagement.instanceWakeUpPollCount',\n\t\t\t\t\tvalue: instanceWakeUpPollCount + 1,\n\t\t\t\t\toperation: 'set'\n\t\t\t\t});\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tconst sysparm_data = formatSysParam(\n\t\t\t\t\t\t'instance.hibernate.is_wake_up_complete',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\top_req_id: wakeupOperationRequestId\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\tdispatch(APP_ACTIONS.IS_INSTANCE_WAKEUP_COMPLETE, { sysparm_data });\n\t\t\t\t}, parseInt(systemProperties['dev.hibernate.wake_up.poll_interval']) * 1000);\n\t\t\t}\n\t\t}\n\t}\n);\n","import { APP_ACTIONS } from '../actions';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\n\n/**\n * Dispatched when the whats new modal closes\n * @type {{action: Object}}\n */\nconst handleWhatsNewUpdate = ({ dispatch, updateProperties }) => {\n\tupdateProperties({\n\t\tisWhatsNewModalOpened: false\n\t});\n\tdispatch(APP_ACTIONS.WHATS_NEW_UPDATE_POST, {\n\t\tdata: {\n\t\t\tdata: {\n\t\t\t\tclosed: true\n\t\t\t},\n\t\t}\n\t});\n};\n\n/**\n * Fires when whats new modal closes\n * @type {{action: Object}}\n */\n\nconst handleWhatsNewUpdatePost = createHttpEffect(\n\t'/api/snc/v1/dev/whats_new_close',\n\t{\n\t\tmethod: 'POST',\n\t\tdataParam: 'data',\n\t\tbatch: false,\n\t\tsuccessActionType: APP_ACTIONS.WHATS_NEW_UPDATE_SUCCEEDED,\n\t\terrorActionType: APP_ACTIONS.WHATS_NEW_UPDATE_ERRORED\n\t}\n);\n\n/**\n * whats new modal close submission is successful\n * @type {{action: Object}}\n */\nconst handleWhatsNewUpdateSucceeded = coeffects => {\n\tconst { action, dispatch } = coeffects;\n\tconst { payload } = action;\n\n\n\tif (payload && payload.result && payload.result.status !== 'Success') {\n\t\tdispatch(APP_ACTIONS.WHATS_NEW_UPDATE_ERRORED);\n\t}\n};\n\n/**\n * whats new modal close submission fails\n * @type {{action: Object}}\n */\nconst handleWhatsNewUpdateErrored = () => {\n\tconsole.log('There was an error in sending the WHATS_NEW_UPDATE_CLOSE.');\n};\n\nexport default {\n\t[APP_ACTIONS.WHATS_NEW_UPDATE]: handleWhatsNewUpdate,\n\t[APP_ACTIONS.WHATS_NEW_UPDATE_POST]: handleWhatsNewUpdatePost,\n\t[APP_ACTIONS.WHATS_NEW_UPDATE_SUCCEEDED]: handleWhatsNewUpdateSucceeded,\n\t[APP_ACTIONS.WHATS_NEW_UPDATE_ERRORED]: handleWhatsNewUpdateErrored\n};\n\n","import { CONSTANTS } from '../../../constants';\nimport { APP_ACTIONS } from '../actions';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\n\nconst handleNotifyUser = createHttpEffect(\n\tCONSTANTS.ENDPOINTS.NOTIFY_UNPLANNED_MAINTENANCE,\n\t{\n\t\tbatch: false,\n\t\tmethod: 'POST',\n\t\terrorActionType: APP_ACTIONS.UNPLANNED_MAINTENANCE_NOTIFICATION_ERRORED,\n\t\tsuccessActionType: APP_ACTIONS.UNPLANNED_MAINTENANCE_NOTIFICATION_SUCCEEDED\n\t}\n);\n\nconst handleNotifyUserErrored = ({ action, state, updateState }) => {\n\tconst value = {\n\t\tmessage:\n\t\t\t'Error occured while updating notification status. Please try again.',\n\t\tclosable: true,\n\t\ttype: 'ERROR',\n\t\tid: 'notify-unplanned-maitenance-error'\n\t};\n\n\tupdateState({\n\t\tpath: 'toastMessages',\n\t\tvalue,\n\t\toperation: 'push'\n\t});\n};\n\nconst handleNotifyUserSucceeded = ({ properties, updateState }) => {\n\tconst {\n\t\tuserInfo: { email }\n\t} = properties;\n\n\tconst value = {\n\t\tmessage:\n\t\t\t\"Request received. We will notify you at '\" +\n\t\t\temail +\n\t\t\t\"' when your PDI is available.\",\n\t\tclosable: true,\n\t\ttype: 'SUCCESS',\n\t\tid: 'notify-unplanned-maitenance-success'\n\t};\n\n\tupdateState({\n\t\tpath: 'toastMessages',\n\t\tvalue,\n\t\toperation: 'push'\n\t});\n};\n\nexport default {\n\t[APP_ACTIONS.UNPLANNED_MAINTENANCE_NOTIFICATION]: handleNotifyUser,\n\t[APP_ACTIONS.UNPLANNED_MAINTENANCE_NOTIFICATION_ERRORED]: handleNotifyUserErrored,\n\t[APP_ACTIONS.UNPLANNED_MAINTENANCE_NOTIFICATION_SUCCEEDED]: handleNotifyUserSucceeded\n};\n","import { APP_ACTIONS } from '../actions';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\n\n/**\n * Dispatched when the whats playground what's new modal closes\n */\nconst handlePlaygroundWhatsNewUpdate = ({ dispatch }) => {\n\tdispatch(APP_ACTIONS.PLAYGROUND_WHATS_NEW_UPDATE_POST, {\n\t\tdata: {\n\t\t\tdata: {\n\t\t\t\tclosed: true\n\t\t\t},\n\t\t}\n\t});\n};\n\n/**\n * Fires when the playground what's new modal closes\n */\nconst handlePlaygroundWhatsNewUpdatePost = createHttpEffect(\n\t'/api/snc/v1/dev/playground_whats_new_close',\n\t{\n\t\tmethod: 'POST',\n\t\tdataParam: 'data',\n\t\tbatch: false,\n\t\tsuccessActionType: APP_ACTIONS.PLAYGROUND_WHATS_NEW_UPDATE_SUCCEEDED,\n\t\terrorActionType: APP_ACTIONS.PLAYGROUND_WHATS_NEW_UPDATE_ERRORED\n\t}\n);\n\n/**\n * playground what's new modal close submission is successful\n */\nconst handlePlaygroundWhatsNewUpdateSucceeded = coeffects => {\n\tconst { dispatch, action: {payload} } = coeffects;\n\n\t// if payload is an error, fire the error case too.\n\tif (payload && payload.result && payload.result.status !== 'Success') {\n\t\tdispatch(APP_ACTIONS.PLAYGROUND_WHATS_NEW_UPDATE_ERRORED);\n\t}\n};\n\n/**\n * playground what's new modal close submission fails\n */\nconst handlePlaygroundWhatsNewUpdateErrored = () => {\n\tconsole.log('There was an error in sending the PLAYGROUND_WHATS_NEW_UPDATE_CLOSE.');\n};\n\nexport default {\n\t[APP_ACTIONS.PLAYGROUND_WHATS_NEW_UPDATE]: handlePlaygroundWhatsNewUpdate,\n\t[APP_ACTIONS.PLAYGROUND_WHATS_NEW_UPDATE_POST]: handlePlaygroundWhatsNewUpdatePost,\n\t[APP_ACTIONS.PLAYGROUND_WHATS_NEW_UPDATE_SUCCEEDED]: handlePlaygroundWhatsNewUpdateSucceeded,\n\t[APP_ACTIONS.PLAYGROUND_WHATS_NEW_UPDATE_ERRORED]: handlePlaygroundWhatsNewUpdateErrored\n};\n\n","import { APP_ACTIONS } from '../actions';\nimport { isEmpty } from 'lodash';\n\n\nexport function handleEventTracking({ action: { payload: { action, category, label, value, ga = true, adobe = true,\n\taaDigitalData = {}, event = {} } } }) {\n\tif (adobe) {\n\t\t// Track to Adobe\n\t\t// Check if adobe analytics window object exists then push data to it\n\n\t\tif (typeof aaDigitalData !== 'object' || !aaDigitalData) {\n\t\t\tconsole.warn('warning');\n\t\t} else {\n\n\t\t\tconst eventData = {\n\t\t\t\tname: label,\n\t\t\t\tdigitalData: {\n\t\t\t\t\t...aaDigitalData\n\t\t\t\t},\n\t\t\t\tevent\n\t\t\t};\n\n\t\t\t// Push to Adobe Analytics data layer\n\t\t\tif (Array.isArray(window.appEventData)) {\n\t\t\t\twindow.appEventData.push(eventData);\n\t\t\t} else {\n\t\t\t\tconsole.warn('warning');\n\t\t\t}\n\t\t}\n\t}\n\tif (ga) {\n\t\t// Track to GA\n\t\tif (typeof (window.gtag) === 'function') {\n\t\t\tlet data = {\n\t\t\t\tevent_category: `${category}`.trim()\n\t\t\t}\n\n\t\t\tif (label) {\n\t\t\t\tdata.event_label = `${label}`.trim()\n\t\t\t}\n\n\t\t\tif (value) {\n\t\t\t\tdata.value = `${value}`.trim()\n\t\t\t}\n\n\t\t\twindow.gtag('event', `${action}`.trim(), {\n\t\t\t\t...data\n\t\t\t})\n\t\t}\n\t}\n}\n\nexport default {\n\t[APP_ACTIONS.TRACKED_EVENT_FOR_ANALYTICS]: handleEventTracking\n};\n\n","import { APP_ACTIONS } from '../actions';\nimport { ALERTS, CONSTANTS } from '../../../constants';\nimport { DPS_TOAST_ALERT_ACTIONS } from '../../../components/dps-toast-alert/actions';\nimport { unSetEmployeeLogoutNoticeStorage } from './handleEmployeeLogoutNotice';\nimport { DevPlatformStorage } from '../../../utils/storage';\n\nexport default {\n\t[APP_ACTIONS.DPS_TOAST_ALERT]: coeffects => {\n\t\tconst {\n\t\t\taction: { payload },\n\t\t\tstate,\n\t\t\tupdateState\n\t\t} = coeffects;\n\n\t\tconst hasDuplicate = state.toastMessages?.some(\n\t\t\ttoast => toast.message === payload.message && toast.type === payload.type\n\t\t);\n\t\tif (hasDuplicate) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst id = payload.id || `alert-${Date.now()}`;\n\t\tconst value = {\n\t\t\t...payload,\n\t\t\tautoDismiss: payload.hasOwnProperty('autoDismiss')\n\t\t\t\t? payload.autoDismiss\n\t\t\t\t: true,\n\t\t\tclosable: payload.closable || false,\n\t\t\thideTime: payload.hideTime || CONSTANTS.DEFAULTS.TOAST_HIDE_TIME,\n\t\t\tid\n\t\t};\n\n\t\tupdateState({\n\t\t\tpath: 'toastMessages',\n\t\t\tvalue,\n\t\t\toperation: 'push'\n\t\t});\n\t},\n\t[DPS_TOAST_ALERT_ACTIONS.ALERT_DISMISSED]: coeffects => {\n\t\tconst { action, state, updateState } = coeffects;\n\t\tconst { id } = action.payload;\n\t\tconst updatedToastMessages = state.toastMessages.filter(\n\t\t\ttoastMessage => toastMessage.id !== id\n\t\t);\n\n\n\t\t// if the employee LogoutNotice is dismissed, we want to unset the value in local storage\n\t\tunSetEmployeeLogoutNoticeStorage(state.toastMessages, id);\n\n\t\tsetTimeout(() => {\n\t\t\tupdateState({\n\t\t\t\tpath: 'toastMessages',\n\t\t\t\tvalue: [...updatedToastMessages],\n\t\t\t\toperation: 'set'\n\t\t\t});\n\t\t}, 1050);\n\t},\n\t'NOW_ALERT#AUTO_DISMISS'({ action, state, updateState }) {\n\t\tconst id = action.payload?.alertId;\n\t\tconst alertId = action.payload?.alertId?.split(\"~\")[0];\n\t\tif (alertId === ALERTS.UPGRADE_INSTANCE_ALERT) {\n\t\t\tDevPlatformStorage.saveToSessionStorage(`dismissedAlert_${ALERTS.UPGRADE_INSTANCE_ALERT}`, true);\n\t\t}\n\t\tconst updatedToastMessages = state.nowAlertMessages.filter(\n\t\t\ttoastMessage => toastMessage.id !== id\n\t\t);\n\t\tupdateState({\n\t\t\tpath: 'nowAlertMessages',\n\t\t\tvalue: [...updatedToastMessages],\n\t\t\toperation: 'set'\n\t\t});\n\t},\n\n\t'NOW_ALERT#ACTION_CLICKED'({ action, state, updateState }) {\n\t\tconst id = action.payload.alertId;\n\t\tif (action.payload?.action?.alertId === ALERTS.UPGRADE_INSTANCE_ALERT) {\n\t\t\tDevPlatformStorage.saveToSessionStorage(`dismissedAlert_${ALERTS.UPGRADE_INSTANCE_ALERT}`, true);\n\t\t}\n\t\tconst updatedToastMessages = state.nowAlertMessages.filter(\n\t\t\ttoastMessage => toastMessage.id !== id\n\t\t);\n\t\tupdateState({\n\t\t\tpath: 'nowAlertMessages',\n\t\t\tvalue: [...updatedToastMessages],\n\t\t\toperation: 'set'\n\t\t});\n\t},\n\n\t'NOW_ALERT_LIST#ITEMS_SET'({ action, state, updateState }) {\n\t\tconst alertsToKeep = action.payload.value;\n\t\tupdateState({\n\t\t\tpath: 'nowAlertMessages',\n\t\t\tvalue: alertsToKeep,\n\t\t\toperation: 'set'\n\t\t});\n\t},\n\t[\"APP#NOW_ALERT_MESSAGE_ADD\"]: coeffects => {\n\t\tconst {\n\t\t\taction: { payload },\n\t\t\tupdateState,\n\t\t\tstate,\n\t\t} = coeffects;\n\t\tconst id = payload.id || `alert-${Date.now()}`;\n\t\tconst value = {\n\t\t\t...payload,\n\t\t\tid\n\t\t};\n\t\t// don't show upgrade alert if already exists as it's once only per session\n\t\tif (payload?.action?.alertId === ALERTS.UPGRADE_INSTANCE_ALERT) {\n\t\t\tconst nowAlertMessagesToKeep = state.nowAlertMessages?.filter(item => item?.action?.alertId !== ALERTS.UPGRADE_INSTANCE_ALERT);\n\t\t\tnowAlertMessagesToKeep.push(value);\n\t\t\tupdateState({\n\t\t\t\tpath: 'nowAlertMessages',\n\t\t\t\tvalue: nowAlertMessagesToKeep,\n\t\t\t\toperation: 'set'\n\t\t\t});\n\t\t} else {\n\t\t\tupdateState({\n\t\t\t\tpath: 'nowAlertMessages',\n\t\t\t\tvalue,\n\t\t\t\toperation: 'push'\n\t\t\t});\n\t\t}\n\t},\n};\n","/* eslint-disable object-shorthand */\nimport { APP_ACTIONS } from '../actions';\nimport { formatSysParam } from '../../../utils/helpers';\nimport {\n\tbeforeInterceptors,\n\tafterInterceptors\n} from '../../../utils/interceptorHelpers';\nimport { DevPlatformStorage } from '../../../utils/storage';\nimport { CONSTANTS } from '../../../constants';\n\nconst fetchPlugins = ({ action, dispatch, state, updateState }) => {\n\tconst { menuItem } = action.payload;\n\tconst { instanceInfo, instanceManagement } = state;\n\tif (\n\t\tmenuItem.name === 'Activate plugin' &&\n\t\tinstanceManagement.availablePlugins.length === 0\n\t) {\n\t\tconst availablePluginsParams = formatSysParam(\n\t\t\t'instance.ops.get_avail_plugins',\n\t\t\t{\n\t\t\t\tins_id: instanceInfo.sys_id\n\t\t\t}\n\t\t);\n\n\t\tupdateState({\n\t\t\tinstanceManagement: {\n\t\t\t\t...instanceManagement,\n\t\t\t\tisLoadingPlugins: true\n\t\t\t}\n\t\t});\n\n\t\tdispatch(APP_ACTIONS.GET_AVAIL_PLUGINS, {\n\t\t\tsysparm_data: JSON.stringify(availablePluginsParams)\n\t\t});\n\t}\n};\n\nconst handleInstanceMenuItemClick = () => ({\n\teffect: ({ action, updateProperties }) => {\n\t\tconst { sys_id } = action.payload.menuItem;\n\t\tupdateProperties({\n\t\t\tisInstanceModalOpened: true,\n\t\t\tselectedCatItemId: sys_id\n\t\t});\n\t\tDevPlatformStorage.saveToSessionStorage(\n\t\t\tCONSTANTS.DEFAULTS.API_HIBERNATE_IS_AWAKE_SESSION_STORAGE_KEY,\n\t\t\tfalse\n\t\t);\n\t},\n\tinterceptors: [\n\t\tbeforeInterceptors([fetchPlugins]),\n\t\tafterInterceptors([trackAnalytics])\n\t]\n});\n\nconst trackAnalytics = ({ action, dispatch }) => {\n\tconst { name } = action.payload.menuItem;\n\tconst { called_from } = action.payload;\n\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\taction: `click on instance action ${name} - ${called_from}`,\n\t\tcategory: 'primary navigation',\n\t\tlabel: name,\n\t\tvalue: '',\n\t\tga: true,\n\t\tadobe: false\n\t});\n};\n\nexport default handleInstanceMenuItemClick;\n","import { INSTANCE_DISPLAY_STATUSES } from '../../../constants';\nimport { initializeInstanceState } from '../actionHelpers';\nimport { APP_ACTIONS } from '../actions';\n\nexport const handleOverrideInstanceStatus = ({\n\taction,\n\tdispatch,\n\tstate,\n\tupdateState\n}) => {\n\tconst { status, release } = action && action.payload;\n\n\tif (status === 'waitlist') {\n\t\tupdateState({\n\t\t\tpath: 'instanceInfo',\n\t\t\tvalue: initializeInstanceState({\n\t\t\t\tstate: 'waitlist',\n\t\t\t\trelease: release || (state && state.instanceInfo && state.instanceInfo.release)\n\t\t\t}),\n\t\t\toperation: 'set',\n\t\t\tshouldUpdate: true\n\t\t});\n\t\tdispatch(APP_ACTIONS.UPDATE_INSTANCE_ACTION_MENU, {});\n\t\treturn;\n\t}\n\n\tif (status && INSTANCE_DISPLAY_STATUSES[status]) {\n\t\tconst newinstanceInfo = {\n\t\t\tinstanceStatus: INSTANCE_DISPLAY_STATUSES[status]\n\t\t};\n\t\tif (release) {\n\t\t\tnewinstanceInfo.release = release;\n\t\t} else if (state && state.instanceInfo && state.instanceInfo.release) {\n\t\t\tnewinstanceInfo.release = state.instanceInfo.release;\n\t\t}\n\t\tlet instanceInfo = initializeInstanceState(newinstanceInfo);\n\t\tif (status !== \"pending\") {\n\t\t\tinstanceInfo = { ...(state?.instanceInfo || {}), ...(instanceInfo || {}) }\n\t\t}\n\t\tupdateState({\n\t\t\tpath: 'instanceInfo',\n\t\t\tvalue: instanceInfo,\n\t\t\toperation: 'set',\n\t\t\tshouldUpdate: true\n\t\t});\n\n\t\tdispatch(APP_ACTIONS.UPDATE_INSTANCE_ACTION_MENU, {});\n\t}\n};\n","/* eslint-disable object-shorthand */\nimport { beforeInterceptors } from '../../../utils/interceptorHelpers';\nimport { INSTANCE_ACTION_STATES } from '../../../constants';\nimport { APP_ACTIONS } from '../actions';\n\nconst handleRefreshStatus = coeffects => {\n\tconst { action, dispatch, state, updateState } = coeffects;\n\t\tconst { instanceSysID } = action.payload;\n\t\tconst isInstanceRefreshing = true;\n\n\t\tupdateState({\n\t\t\tpath: 'instanceManagement.isInstanceRefreshing',\n\t\t\tvalue: true,\n\t\t\toperation: 'set'\n\t\t  });\n\t\tdispatch(APP_ACTIONS.UPDATE_INSTANCE_ACTION_MENU, {\n\t\t\tisInstanceRefreshing\n\t\t});\n\t\tdispatch(APP_ACTIONS.UPDATE_INSTANCE_STATE, { direct_wake_up: false });\n\n\t\tdispatch(APP_ACTIONS.REFRESH_INSTANCE, { instanceSysID });\n};\n\n\nexport default handleRefreshStatus;\n","import { formatInstanceActionMenu } from '../../../utils/instanceHelpers';\nimport { initializeInstanceState } from '../actionHelpers';\n\nconst handleUpdateInstanceActionMenu = coeffects => {\n\tconst { action, state, updateState } = coeffects;\n\tconst { instanceManagement, properties } = state;\n\tconst { systemProperties } = properties;\n\n\t// TODO - This is a hack. We need to find out where\n\t// instanceInfo is getting re-initialized as a plain object\n\tconst instanceInfo =\n\t\ttypeof state.instanceInfo.isWakingInstance === 'undefined'\n\t\t\t? initializeInstanceState(state.instanceInfo)\n\t\t\t: state.instanceInfo;\n\n\tconst catItemInProgress =\n\t\ttypeof action.payload.catItemInProgress !== 'undefined' &&\n\t\taction.payload.catItemInProgress === null\n\t\t\t? null\n\t\t\t: (action.payload && action.payload.catItemInProgress) ||\n\t\t\t  instanceManagement.catItemInProgress;\n\tconst data = action.payload.data || instanceManagement.instanceActionMenu;\n\tconst instanceStatus = action.payload.instanceStatus || instanceInfo.state;\n\tconst isInstanceRefreshing =\n\t\taction.payload.isInstanceRefreshing ||\n\t\tinstanceManagement.isInstanceRefreshing;\n\tconst isUnderMaintenance =\n\t\taction.payload.isUnderMaintenance || instanceInfo.isUnderMaintenance();\n\tconst upgradeableInstanceTargets =\n\t\taction.payload.upgradeableInstanceTargets ||\n\t\tinstanceManagement.upgradeableInstanceTargets;\n\n\tconst isQuickResetAndWipeInProgress =\n\t\tinstanceManagement.isQuickResetAndWipeInProgress;\n\n\tconst updatedInstanceActionMenu = formatInstanceActionMenu({\n\t\tcatItemInProgress,\n\t\tdata,\n\t\tinstanceStatus,\n\t\tisInstanceRefreshing,\n\t\tisUnderMaintenance,\n\t\tupgradeableInstanceTargets,\n\t\tisQuickResetAndWipeInProgress,\n\t\tsystemProperties,\n\t\tinstanceInfo\n\t});\n\n\tupdateState({\n\t\tinstanceManagement: {\n\t\t\t...instanceManagement,\n\t\t\tinstanceActionMenu: updatedInstanceActionMenu\n\t\t}\n\t});\n};\n\nexport default handleUpdateInstanceActionMenu;\n","import { APP_ACTIONS } from '../actions';\nimport { ALERTS, CONSTANTS } from '../../../constants';\nimport { makeHttpEffectCreator } from '../../../utils/helpers';\n\nconst sendInstanceResetPasswordEmail = makeHttpEffectCreator(\n\tAPP_ACTIONS.SEND_INSTANCE_RESET_PASSWORD_EMAIL,\n\tCONSTANTS.ENDPOINTS.SEND_INSTANCE_RESET_PASSWORD_EMAIL,\n\t{\n\t\tbatch: false,\n\t\tmethod: 'GET',\n\t\tonError(coeffects) {\n\t\t\tconst {\n\t\t\t\tupdateProperties,\n\t\t\t\tdispatch\n\t\t\t} = coeffects;\n\t\t\tupdateProperties({\n\t\t\t\tisResetInstancePasswordEmailFailed: true\n\t\t\t});\n\t\t\tdispatch(\"APP#MANAGE_ALERTS_STATE\", { [ALERTS.SENT_LOGIN_CREDS_FAILED]: true });\n\t\t},\n\t\tonSuccess(coeffects) {\n\t\t\tconst {\n\t\t\t\tupdateProperties,\n\t\t\t\tdispatch\n\t\t\t} = coeffects;\n\t\t\tupdateProperties({\n\t\t\t\tisResetPasswordEmailSuccessful: true\n\t\t\t});\n\t\t\tdispatch(\"APP#MANAGE_ALERTS_STATE\", { [ALERTS.SENT_LOGIN_CREDS]: true });\n\t\t}\n\t}\n);\n\nexport default sendInstanceResetPasswordEmail;\n","import { createHttpEffect } from '@servicenow/ui-effect-http';\n\nexport const handleFeedbackSubmission = createHttpEffect(\n    '/api/snc/v1/dev/feedback_search',\n    {\n        batch: false,\n        method: 'POST',\n        dataParam: 'data',\n        encodeURIComponent: false,\n        successActionType: \"DPS_AI_SEARCH#FEEDBACK_SUCCESS\"\n    }\n);\n\nexport const feedbackActions = {\n    [\"DPS_AI_SEARCH#FEEDBACK_SUCCESS\"]: ({ action }) => {\n        console.log('Feedback submitted successfully to backend:', action);\n        // Component will handle UI update via its own handler\n    },\n    [\"DPS_AI_SEARCH#FEEDBACK_SUBMIT\"]: handleFeedbackSubmission\n};\n","/* eslint-disable object-shorthand */\n/* eslint-disable curly */\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { actionTypes } from '@servicenow/ui-core';\nimport { APP_ACTIONS } from '../actions';\nimport { DPS_LEGAL_AGREEMENT_ACTIONS } from '../../../components/dps-legal-agreement-modal/actions';\nimport { DPS_LEAD_TRACKING_ACTIONS } from '../../../components/dps-lead-tracking-modal/actions';\nimport { DPS_INLINE_VERSION_SELECTOR_ACTIONS } from '../../../components/dps-inline-version-selector/actions';\nimport { DPS_INSTANCE_ASSIGNMENT_MODAL } from '../../dps-instance-assignment-modal/actions';\nimport { DPS_INSTANCE_MODAL_ACTIONS } from '../../../components/dps-instance-modal/actions';\nimport { DPS_INSTANCE_SIDEBAR } from '../../../components/dps-instance-sidebar/dps-instance-sidebar-actions';\nimport { DPS_NAVIGATION_INSTANCE_MANAGEMENT } from '../../../components/dps-navigation-header/actions';\nimport { DPS_SITE_BANNER_ACTIONS } from '../../../components/dps-site-banner/actions';\nimport { DPS_TOAST_ALERT_ACTIONS } from '../../../components/dps-toast-alert/actions';\nimport {\n\tALERTS,\n\tCLEAR_CACHE_VARIABLES,\n\tCONNECT_MVP_PAGE_HREF,\n\tCONSTANTS,\n\tDPS_ERROR_ACTIONS,\n\tDPS_INSTANCE_ASSIGNMENT,\n\tDPS_MODAL_ACTIONS,\n\tDPS_SITE_BANNER_TYPE,\n\tINSTANCE_ACTION_STATES,\n\tINSTANCE_DISPLAY_STATUSES,\n\tOPERATION_HISTORY_TYPES,\n\tSEARCH_CONFIG\n} from '../../../constants';\n\nimport { isOperationComplete } from '../../../utils/instanceHelpers';\nimport { DevPlatformStorage } from '../../../utils/storage';\nimport {\n\tformatSysParam,\n\tgenerateUrl,\n\tisAMBEnabled,\n\tisTruthy\n} from '../../../utils/helpers';\nimport { getQueryParams } from '../../../behaviors/router/helpers.js';\nimport { InactivityService } from '../../../utils/inactivityService';\nimport { beforeInterceptors } from '../../../utils/interceptorHelpers';\nimport { SessionService } from '../../../utils/sessionService';\nimport { replacePathParam } from '../../../utils/url';\nimport { transformReleaseName } from '../../../utils/transformReleaseName';\n\nimport {\n\tappBootstrap,\n\tshowLeadTrackingModal,\n\tgetReleaseVersions,\n\tgetUserInfo,\n\tinitializeInstanceState\n} from '../actionHelpers';\nimport { DPS_APP_DEFAULTS } from '../defaults';\nimport autoRefreshFetchInstanceInfo from './autoRefreshFetchInstanceInfo';\nimport dpsInstanceModalActions from './dpsInstanceModalActions';\nimport executeCatItem from './executeCatItem';\nimport fetchActionMenu from './fetchActionMenu';\nimport fetchAssignReqStatus from './fetchAssignReqStatus';\nimport fetchAvailPlugins from './fetchAvailPlugins';\nimport fetchLeadTracking from './fetchLeadTracking';\nimport fetchCommonData from './fetchCommonData';\nimport fetchInstanceBackups from './fetchInstanceBackups';\nimport fetchInstanceInfo from './fetchInstanceInfo';\nimport fetchInstanceOperationHistory from './fetchInstanceOperationHistory';\nimport fetchCompleteInstanceOperationHistory from './fetchCompleteOperationHistory.js';\nimport fetchLegalAgreement from './fetchLegalAgreement';\nimport fetchNavConfig from './fetchNavConfig';\nimport fetchOpReqStatus from './fetchOpReqStatus';\nimport {\n\tfetchReleaseVersions,\n\thandleReleaseVersionToggle\n} from './fetchReleaseVersions';\nimport fetchSystemProperties from './fetchSystemProperties';\nimport fetchUpdateMagicLink from './fetchUpdateMagicLink';\nimport fetchUserSession from './fetchUserSession';\nimport { handleCheckUrlRedirection } from './handleCheckUrlRedirection';\nimport handleUserLogout from './handleUserLogout';\nimport handleUserSession from './handleUserSession';\nimport fetchInstanceDetails from './fetchInstanceDetails';\nimport refreshInstance from './refreshInstance';\nimport refreshInstanceBackup from './refreshInstanceBackup';\nimport fetchInstanceRequestStatus from './fetchInstanceRequestStatus';\nimport fetchAvailableInstance from './fetchAvailableInstance';\nimport fetchUrlRedirections from './fetchUrlRedirections';\nimport fetchDCIdentifierRouteRedirection from './fetchDCIdentifierRouteRedirection';\n\nimport { ROUTES, updateRoute } from '../../../routes';\nimport {\n\tcheckInstanceStatus,\n\twakeUpInstance\n} from '../actionHandlers/wakeupInstance';\nimport WHATS_NEW_ACTIONHANDLERS from './handleWhatsNewModal';\nimport UNPLANNED_MAINTENANCE_ACTIONHANDLERS from './handleNotifyUnPlannedMaintenance';\nimport PLAYGROUND_WHATS_NEW_ACTIONHANDLERS from './handlePlaygroundWhatsNewModal';\nimport handleEventTracking from './handleEventTracking';\nimport handleToastDisplay from './handleToastDisplay';\nimport handleInstanceMenuItemClick from './handleInstanceMenuItemClick';\nimport { handleOverrideInstanceStatus } from './handleOverrideInstanceStatus';\nimport handleRefreshStatus from './handleRefreshStatus';\nimport handleUpdateInstanceActionMenu from './handleUpdateInstanceActionMenu';\nimport { AMB_EVENT_ACTIONS } from '../../../behaviors/ambEventEffect/actions';\nimport { DETECT_SSO_LOGIN_ACTIONS } from '../../../behaviors/detectSSOLogin';\nimport { INACTIVITY_MONITOR_ACTIONS } from '../../../behaviors/inactivityMonitor';\nimport { MemStorage } from '../../../utils/memStorage';\nimport sendInstanceResetPasswordEmail from './sendInstanceResetPasswordEmail';\nimport { encodeForSearch } from '../../dps-search-results/dps-search-helpers';\nimport { showEmployeeLogoutNotice } from './handleEmployeeLogoutNotice';\nimport devHomePage from '../../../utils/isNowOrLocal.js';\nimport { ALERTS_CONTENT } from '../../dps-pdi-summary/constants.js';\nimport signalTracker from \"../../../components/dps-ai-search/signalTracker\";\nimport { feedbackActions } from \"../../../components/dps-ai-search/actions\";\n\nconst {\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_DOM_TREE_READY,\n\tCOMPONENT_CONNECTED\n} = actionTypes;\n\n// Adjust the global header height based on scroll position\nlet scrolledCache = undefined;\nconst headerHeightScrolled = 60; // src/styles/global/_settings.scss\n// The scrolled cache should start as undefined in order\n// for the conditional to work. This allows it to start\n// in either the `scrolled` or the `at top` state.\n// The point is to keep updates to a bare minimum.\nconst checkScrollPosition = () => {\n\tif (window.scrollY > headerHeightScrolled - 1) {\n\t\tif (!scrolledCache || scrolledCache === undefined) {\n\t\t\tscrolledCache = true;\n\t\t\tdocument.body.classList.add('-is-scrolled');\n\t\t}\n\t} else if (scrolledCache || scrolledCache === undefined) {\n\t\tscrolledCache = false;\n\t\tdocument.body.classList.remove('-is-scrolled');\n\t}\n};\n\nexport const handleComponentBootstrapped = {\n\teffect(coeffects) {\n\t\tconst {\n\t\t\tdispatch,\n\t\t\tproperties,\n\t\t\tstate,\n\t\t\tupdateProperties,\n\t\t\tupdateState\n\t\t} = coeffects;\n\t\tconst userTimedOut = DevPlatformStorage.loadFromLocalStorage(\n\t\t\tCONSTANTS.DEFAULTS.SESSION_TIMED_OUT_KEY\n\t\t);\n\n\t\t// Show the timed out modal if user session was expired\n\t\tif (userTimedOut) {\n\t\t\tdispatch(APP_ACTIONS.EXPIRED_SESSION_MODAL_TRIGGERED);\n\t\t}\n\n\t\tconst url = window.location.hash;\n\t\tconst queryParams = getQueryParams(url);\n\t\twindow.__devportal_previous_pathname = properties.pathname;\n\n\t\tif (\n\t\t\tqueryParams &&\n\t\t\tqueryParams.m ===\n\t\t\tCONSTANTS.DEFAULTS.DEV_GENERAL_FEEDBACK_MODAL_QUERY_PARAM &&\n\t\t\turl.includes('home')\n\t\t) {\n\t\t\tdispatch(APP_ACTIONS.GET_GENERAL_FEEDBACK_FORM_DATA);\n\t\t}\n\t\t// Initialize options for the SessionService\n\t\tSessionService.setOptions({\n\t\t\tafterSessionLogout: () => {\n\t\t\t\tupdateProperties({ navOpen: false });\n\t\t\t\tdispatch(APP_ACTIONS.USER_RESET_AND_LOGOUT);\n\t\t\t\tdispatch(APP_ACTIONS.CLEAR_CACHE_TRIGGERED);\n\t\t\t\tshowEmployeeLogoutNotice({ dispatch, properties, updateProperties });\n\t\t\t},\n\t\t\tafterSessionChecked: properties => {\n\t\t\t\tconst { systemProperties } = properties;\n\t\t\t\tif (!isAMBEnabled(systemProperties)) {\n\t\t\t\t\tdispatch(APP_ACTIONS.USER_SESSION_INFO_INITIALIZED);\n\t\t\t\t}\n\t\t\t},\n\t\t\tafterSessionTimedOut: () => {\n\t\t\t\tdispatch(APP_ACTIONS.USER_RESET_AND_LOGOUT);\n\t\t\t\tdispatch(APP_ACTIONS.CLEAR_CACHE_TRIGGERED);\n\t\t\t\tshowEmployeeLogoutNotice({ dispatch, properties, updateProperties });\n\t\t\t},\n\t\t\tafterStaleSessionLogout: () => {\n\t\t\t\tif (!MemStorage.isEmpty()) {\n\t\t\t\t\tMemStorage.clear();\n\t\t\t\t}\n\t\t\t\tdispatch(APP_ACTIONS.CLEAR_CACHE_TRIGGERED);\n\t\t\t\tupdateProperties({\n\t\t\t\t\tuserInfo: { ...DPS_APP_DEFAULTS.USER }\n\t\t\t\t});\n\t\t\t\tshowEmployeeLogoutNotice({ dispatch, properties, updateProperties });\n\t\t\t},\n\t\t\tclearFromStore: key => {\n\t\t\t\tDevPlatformStorage.removeFromLocalStorage(key);\n\t\t\t},\n\t\t\tinactivityService: InactivityService,\n\t\t\tloadFromStore: key => DevPlatformStorage.loadFromLocalStorage(key),\n\t\t\tsaveToStore: (key, val) => {\n\t\t\t\tDevPlatformStorage.saveToLocalStorage(key, val);\n\t\t\t},\n\t\t\ttriggerExpiredSessionModal: () => {\n\t\t\t\tdispatch(APP_ACTIONS.EXPIRED_SESSION_MODAL_TRIGGERED);\n\t\t\t}\n\t\t});\n\n\t\t// Init session service\n\t\tSessionService.initService();\n\n\t\t// Clear out stale local storage session\n\t\tSessionService.clearOutStaleSession();\n\n\t\t// Kick off appBootstrap calls\n\t\tappBootstrap({\n\t\t\tdispatch,\n\t\t\tproperties,\n\t\t\tstate,\n\t\t\tupdateProperties,\n\t\t\tupdateState\n\t\t});\n\n\t\t// Bind the scroll checker to the window and fire it once.\n\t\twindow.addEventListener('scroll', checkScrollPosition);\n\n\t\tcheckScrollPosition();\n\n\t\t// There seems to be a Chrome bug where the scroll position is calculated\n\t\t// incorrectly if you are not at 0,0 before *reloading* the page.\n\t\t// DEF0120048 - internal links fix scroll position.\n\t\t// https://github.com/locomotivemtl/locomotive-scroll/issues/72#issuecomment-580910451\n\t\twindow.addEventListener('beforeunload', () => {\n\t\t\twindow.scrollTo(0, 0);\n\t\t});\n\n\t\t// Setup MemStorage to sync sessionStorage across windows and tabs\n\t\tMemStorage.setOptions({\n\t\t\tkeysToSync: [\n\t\t\t\tCONSTANTS.DEFAULTS.USER_SESSION_RELEASE,\n\t\t\t\tCONSTANTS.DEFAULTS.USER_SESSION_RELEASE_INITIALIZED,\n\t\t\t\tCONSTANTS.DEFAULTS.DEV_PDI_VERSION_MISMATCH_ALERT_KEY\n\t\t\t],\n\t\t\tlocalStorage: window.localStorage,\n\t\t\tsessionStorage: window.sessionStorage\n\t\t});\n\t\tMemStorage.initialize();\n\t\tdispatch(APP_ACTIONS.GET_COMMON_DATA, {\n\t\t\tkeys: 'SUGGESTED_PROMPTS,PROMPTING_TIPS'\n\t\t});\n\t}\n};\n\nexport const handleComponentPropertyChanged = coeffects => {\n\tconst { action, updateProperties } = coeffects;\n\tconst {\n\t\tpayload: { name, value, previousValue }\n\t} = action;\n\n\tif (\n\t\tname === 'systemProperties' &&\n\t\tisTruthy(value['dev.site.system_wide_alert.enabled'])\n\t) {\n\t\tconst systemProperties = value;\n\t\tconst isSiteBannerDismissed = DevPlatformStorage.loadFromLocalStorage(\n\t\t\tCONSTANTS.DEFAULTS.SYSTEM_WIDE_ALERT_DISMISSED_KEY\n\t\t);\n\t\tconst siteBanner = {\n\t\t\tdismissable: isTruthy(\n\t\t\t\tsystemProperties['dev.site.system_wide_alert.dismissable']\n\t\t\t),\n\t\t\tmessage: systemProperties['dev.site.system_wide_alert.message'],\n\t\t\topen: isSiteBannerDismissed\n\t\t\t\t? false\n\t\t\t\t: isTruthy(systemProperties['dev.site.system_wide_alert.enabled']),\n\t\t\ttype: systemProperties['dev.site.system_wide_alert.type']\n\t\t};\n\n\t\tupdateProperties({ siteBanner });\n\n\t\tif (siteBanner.open) {\n\t\t\tdocument.body.classList.add('-has-banner');\n\t\t}\n\t}\n};\n\nexport const handleAssignmentMenuItemClick = ({\n\taction,\n\tupdateProperties,\n\tproperties\n}) => {\n\tconst menuItem = action.payload.selected;\n\tconst isBuildAgentExperience = action.payload?.isBuildAgentExperience || false;\n\tupdateProperties({\n\t\tisInstanceAssignmentModalOpened: true,\n\t\tinstanceAssignmentModalScreenType: action.payload.screenType || '',\n\t\tselectedInstanceAssignmentMenu: menuItem,\n\t\tisBuildAgentExperience,\n\t\tisAutoAssignRunInBackground: false,\n\t\t...(isBuildAgentExperience ? { showTips: true } : {})\n\t});\n};\n\nexport const handleCheckSSO = coeffects => {\n\tconst { dispatch } = coeffects;\n\n\tconst hasUserExplicitlyLoggedOut = DevPlatformStorage.loadFromLocalStorage(\n\t\tCONSTANTS.DEFAULTS.EXPLICIT_LOGOUT_KEY\n\t);\n\n\tif (hasUserExplicitlyLoggedOut) {\n\t\tDevPlatformStorage.removeFromLocalStorage(\n\t\t\tCONSTANTS.DEFAULTS.EXPLICIT_LOGOUT_KEY\n\t\t);\n\t\tMemStorage.clear();\n\t} else {\n\t\tdispatch(DETECT_SSO_LOGIN_ACTIONS.CHECK_SSO);\n\t}\n};\n\nexport const handleClearCacheTriggered = () => {\n\tCLEAR_CACHE_VARIABLES.forEach(cacheVar => {\n\t\tDevPlatformStorage.removeFromLocalStorage(cacheVar);\n\t});\n\tDevPlatformStorage.removeFromSessionStorage(\n\t\tCONSTANTS.DEFAULTS.API_HIBERNATE_IS_AWAKE_SESSION_STORAGE_KEY\n\t);\n\tMemStorage.clear();\n};\n\nexport const handleContentFeedbackFormDataRequested = createHttpEffect(\n\t'/feedback.do?action=get_article&category=Article',\n\t{\n\t\tbatch: false,\n\t\tmethod: 'GET',\n\t\tsuccessActionType: APP_ACTIONS.GET_FEEDBACK_FORM_DATA_SUCCEEDED\n\t}\n);\n\nexport const handleGiveFeedback = ({ action, updateProperties, dispatch }) => {\n\tif (action.type === 'DPS_BUTTON#GIVE_GENERAL_FEEDBACK') {\n\t\t// Activate general feedback form\n\t\tupdateProperties({\n\t\t\tgeneralFeedbackOpen: true,\n\t\t\tfeedbackFormSubmittedFrom: action.payload && action.payload.submittedFrom\n\t\t});\n\t\tdispatch(APP_ACTIONS.GET_GENERAL_FEEDBACK_FORM_DATA);\n\t} else if (\n\t\taction.type === 'DPS_FEEDBACK#CLICKED' &&\n\t\taction.payload &&\n\t\taction.payload.isLoginRequired\n\t) {\n\t\taction.payload.title && action.payload.contentType\n\t\t\t? dispatch(\n\t\t\t\tAPP_ACTIONS.LOGIN_CLICKED,\n\t\t\t\t`?isFeedbackOpened={\"title\": \"${action.payload.title}\", \"contentType\": \"${action.payload.contentType}\"}`\n\t\t\t)\n\t\t\t: dispatch(\n\t\t\t\tAPP_ACTIONS.LOGIN_CLICKED,\n\t\t\t\t'?isFeedbackOpened={\"title\": \"\", \"contentType\": \"\"}'\n\t\t\t);\n\t} else if (action.type === 'DPS_FEEDBACK#CLICKED') {\n\t\t// Activate content feedback form\n\n\t\tupdateProperties({\n\t\t\tcontentFeedbackOpen: true,\n\t\t\tcontentFeedbackTitle: action.payload.title || null,\n\t\t\tcontentFeedbackType: action.payload.contentType || null\n\t\t});\n\t\tdispatch(APP_ACTIONS.GET_CONTENT_FEEDBACK_FORM_DATA);\n\t}\n};\n\nexport const handleGeneralFeedbackFormDataRequested = createHttpEffect(\n\t'/feedback.do?action=get_article&category=General',\n\t{\n\t\tbatch: false,\n\t\tmethod: 'GET',\n\t\tsuccessActionType: APP_ACTIONS.GET_FEEDBACK_FORM_DATA_SUCCEEDED\n\t}\n);\n\nexport const handleFeedbackFormDataSucceeded = ({\n\taction,\n\tupdateProperties\n}) => {\n\tconst { feedback_question, messages } = action.payload;\n\n\tlet feedbackOptions = {};\n\n\tif (feedback_question) {\n\t\tfeedback_question.map((question, i) => {\n\t\t\tconst name = `question_${i + 1}`;\n\n\t\t\treturn (feedbackOptions = {\n\t\t\t\t...feedbackOptions,\n\t\t\t\t[name]: {\n\t\t\t\t\toptions: question.option,\n\t\t\t\t\ttext: question.question\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tupdateProperties({\n\t\tfeedbackOptions,\n\t\tfeedbackMessages: messages\n\t});\n};\n\n// Extracts user_name, user_password, and the URL object from the given URL string\nconst extractParamsFromURL = url_string => {\n\tconst url = new URL(url_string);\n\tconst user_name = url.searchParams.get('user_name');\n\tconst user_password = url.searchParams.get('user_password');\n\n\treturn { user_name, user_password, url };\n};\n\nconst openInNewTab = (url, target) => {\n\tlet anchorElement = document.createElement('a');\n\tanchorElement.href = url;\n\tif (target) {\n\t\tanchorElement.target = target;\n\t}\n\tdocument.body.appendChild(anchorElement);\n\tanchorElement.click();\n\tdocument.body.removeChild(anchorElement);\n};\n\n// Creates and configures the login form based on the magicLink URL\nconst createLoginForm = (\n\tmagicLink,\n\tincludeGotoUrl,\n\tpromptExists,\n\tproperties,\n\taustraliaConfig\n) => {\n\tconst { user_name, user_password, url } = extractParamsFromURL(magicLink);\n\tconst form = document.createElement('form');\n\tform.id = 'loginPage';\n\tform.method = 'post';\n\tform.action = getLoginURL(url, australiaConfig);\n\tform.target = '_blank';\n\n\tappendInputField(form, 'user_name', user_name);\n\tappendInputField(form, 'sys_action', 'sysverb_login');\n\tappendInputField(form, 'user_password', user_password);\n\tif (includeGotoUrl && url.searchParams.get(includeGotoUrl)) {\n\t\tappendInputField(\n\t\t\tform,\n\t\t\tincludeGotoUrl,\n\t\t\turl.searchParams.get(includeGotoUrl)\n\t\t);\n\t}\n\tif (promptExists) {\n\t\tconst tabOpenMode = JSON.parse(\n\t\t\tproperties.systemProperties?.['dev.build.agent.tab.open.mode'] || '{}'\n\t\t);\n\t\t// For Australia+ PDIs: use window.open directly with the magic link (includes login creds)\n\t\tif (australiaConfig) {\n\t\t\twindow.open(magicLink, australiaConfig?.target || '_blank');\n\t\t\treturn;\n\t\t}\n\t\tif (tabOpenMode?.mode === 'link_open') {\n\t\t\topenInNewTab(magicLink, tabOpenMode?.target);\n\t\t\treturn;\n\t\t} else if (tabOpenMode?.mode === 'window_open') {\n\t\t\twindow.open(magicLink, tabOpenMode?.target);\n\t\t\treturn;\n\t\t} else {\n\t\t\tif (tabOpenMode?.target) {\n\t\t\t\tform.target = tabOpenMode?.target;\n\t\t\t}\n\t\t}\n\t}\n\tappendSubmitButton(form);\n\n\tdocument.body.appendChild(form);\n\n\treturn form;\n};\n\n// Appends an input field to the given form with the specified name and value\nconst appendInputField = (form, name, value) => {\n\tconst input = document.createElement('input');\n\tinput.name = name;\n\tinput.value = value;\n\tinput.type = 'hidden';\n\n\tform.appendChild(input);\n};\n\n// Appends a submit button to the given form\nconst appendSubmitButton = form => {\n\tconst submitButton = document.createElement('input');\n\tsubmitButton.type = 'submit';\n\tsubmitButton.id = 'Login';\n\tsubmitButton.value = 'Login';\n\tsubmitButton.type = 'hidden';\n\n\tform.appendChild(submitButton);\n};\n\n// Submits the given form\nconst submitForm = form => {\n\tform.submit();\n};\n\n// Removes the given form from the document\nconst removeForm = form => {\n\tconst element = document.getElementById('loginPage');\n\telement.remove();\n};\n\n// Constructs the login URL based on the given URL object\nconst getLoginURL = (url, appendTimeStamp) => {\n\t// Replace with the appropriate login URL\n\tconst loginUrl = url.origin + '/login.do';\n\treturn appendTimeStamp ? loginUrl + '?t=' + new Date().getTime() : loginUrl;\n};\n\nexport const handleMagicLinkClicked = ({ state, action }) => {\n\tconst magicLink = state.magicLink;\n\tif (magicLink) {\n\t\tvar redirectionLink = magicLink;\n\t\tvar goTourl = '';\n\t\tif (action && action.payload && action.payload.attachParams) {\n\t\t\tredirectionLink += action.payload.attachParams;\n\t\t\tif (action.payload.attachParams.includes('sysparm_goto_url')) {\n\t\t\t\tgoTourl = 'sysparm_goto_url';\n\t\t\t}\n\t\t}\n\t\tconst form = createLoginForm(\n\t\t\tredirectionLink,\n\t\t\tgoTourl,\n\t\t\taction?.payload?.promptExists,\n\t\t\tstate?.properties,\n\t\t\taction?.payload?.australiaConfig\n\t\t);\n\t\tif (form) {\n\t\t\tsubmitForm(form);\n\t\t\tremoveForm(form);\n\t\t}\n\t}\n};\n\nexport const handleReleaseVersionSelected = ({\n\taction,\n\tstate,\n\tupdateProperties,\n\tupdateState,\n\tdispatch\n}) => {\n\tlet release = action.payload; // TODO: This should be an object, not a string\n\tconst { userInfo } = state.properties;\n\tconst {\n\t\treleaseInfo,\n\t\trouteParams,\n\t\trouteString,\n\t\tpathname,\n\t\thash\n\t} = state.properties;\n\tconst sysparm_data = formatSysParam(\n\t\tCONSTANTS.DEV_PORTAL_ACTIONS.RELEASE_VERSION_TOGGLE,\n\t\t{ toggleValue: release }\n\t);\n\tconst userVersionFromStorage = DevPlatformStorage.loadFromLocalStorage(\n\t\tCONSTANTS.DEFAULTS.CACHE_KEY_USER_SELECTED_VERSION\n\t);\n\n\tif (userVersionFromStorage !== release) {\n\t\tDevPlatformStorage.saveToLocalStorage(\n\t\t\tCONSTANTS.DEFAULTS.CACHE_KEY_USER_SELECTED_VERSION,\n\t\t\trelease\n\t\t);\n\t} else if (userVersionFromStorage) {\n\t\trelease = userVersionFromStorage;\n\t}\n\n\tconst updatedUserInfo = {\n\t\t...userInfo,\n\t\tversion_selected: release\n\t};\n\n\tif (userInfo && userInfo.is_logged_in) {\n\t\tdispatch(APP_ACTIONS.RELEASE_VERSION_TOGGLE, { sysparm_data });\n\t\tDevPlatformStorage.saveToLocalStorage(\n\t\t\tCONSTANTS.DEFAULTS.USER_LOCALSTORAGE_KEY,\n\t\t\tupdatedUserInfo\n\t\t);\n\t}\n\n\tupdateProperties({\n\t\trelease,\n\t\tuserInfo: {\n\t\t\t...updatedUserInfo\n\t\t},\n\t\treleaseInfo: {\n\t\t\treleaseVersionToggled: true,\n\t\t\t...releaseInfo\n\t\t}\n\t});\n\n\tsetTimeout(() =>\n\t\tupdateState({\n\t\t\tpath: 'releases.userVersionSelected',\n\t\t\tvalue: release,\n\t\t\toperation: 'set'\n\t\t})\n\t);\n\n\tif (routeParams.release) {\n\t\tconst newPath = replacePathParam({\n\t\t\tparam: ':release',\n\t\t\tparamValue: release,\n\t\t\trouteString,\n\t\t\tpathname,\n\t\t\thash\n\t\t});\n\n\t\tupdateRoute(newPath);\n\t}\n};\n\nexport const handleRouteChanged = coeffects => {\n\tconst {\n\t\taction,\n\t\tdispatch,\n\t\tproperties,\n\t\tstate,\n\t\tupdateProperties,\n\t\tupdateState\n\t} = coeffects;\n\n\tdispatch(APP_ACTIONS.CHECK_URL_REDIRECTION, {});\n\n\tconst { illegalUrls, systemProperties, userInfo } = properties;\n\t// Check if the session is valid in another window/tab\n\tconst isSessionValidElsewhere = isAMBEnabled(systemProperties)\n\t\t? !userInfo.is_logged_in && SessionService.hasSavedActiveSession()\n\t\t: !SessionService.isSessionValid() &&\n\t\tSessionService.hasSavedActiveSession();\n\n\tdispatch(APP_ACTIONS.CHECK_SSO);\n\n\t// Run appBootstrap again if the user in this window/tab is not logged in\n\tif (isSessionValidElsewhere) {\n\t\tappBootstrap({\n\t\t\tdispatch,\n\t\t\tproperties,\n\t\t\tstate,\n\t\t\tupdateProperties,\n\t\t\tupdateState\n\t\t});\n\t}\n\n\t// Previously this was just: window.scrollTo(0, 0);\n\t// This is to push the page back to the top when the route changes.\n\t// Doing this avoids the situation where navigating between pages updates\n\t// the contents of the page but leaves you scrolled halfway down.\n\t// The router sees the hash /somepath/something#anchor changing as a\n\t// navigation/URL data changed event. This quick check is to see if the\n\t// pathname has changed between events, and only \"reset\" to the top\n\t// if it has changed. This should prevent the page jumping to the top\n\t// when we try to (for example) scroll to a different hash programmatically.\n\tif (window.__devportal_previous_pathname !== properties.pathname) {\n\t\twindow.scrollTo(0, 0);\n\t}\n\twindow.__devportal_previous_pathname = properties.pathname;\n\n\t// If there is a release in the routeParams, elevate it.\n\tconst extractedRelease = {};\n\tif (action.payload.routeParams.release) {\n\t\textractedRelease.release = action.payload.routeParams.release;\n\t}\n\n\tupdateProperties({\n\t\t...extractedRelease,\n\t\tisPageNotFound: false,\n\t\tillegalUrls: {\n\t\t\treferrer: illegalUrls && illegalUrls.illegalUrl,\n\t\t\tillegalUrl: window.location.href\n\t\t}\n\t});\n\t// whacky way to close existing opened context/modal menus\n\twindow.document?.body?.click();\n};\n\nexport const handleVersionSelectorReleaseSelected = coeffects => {\n\tconst { action, updateProperties, dispatch } = coeffects;\n\tconst {\n\t\trelease: { id },\n\t\tsourcePathname\n\t} = action.payload;\n\tconst release = id;\n\tlet analyticsActionStr = `clicked release '${id}'`;\n\n\tif (sourcePathname) {\n\t\tanalyticsActionStr += ` from ${sourcePathname}`;\n\t}\n\n\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\taction: analyticsActionStr,\n\t\tcategory: 'buttons',\n\t\tlabel: 'inline release switcher',\n\t\tvalue: '',\n\t\tga: true,\n\t\tadobe: false\n\t});\n\n\tMemStorage.setItem(CONSTANTS.DEFAULTS.USER_SESSION_RELEASE, release);\n\tupdateProperties({ release });\n};\n\nexport const handleWakeupInstanceStarted = () => {\n\tconst effect = ({ dispatch }) => {\n\t\tconst sysparm_data = formatSysParam('instance.hibernate.wake_up', {\n\t\t\tdirect_wake_up: true\n\t\t});\n\t\tdispatch(APP_ACTIONS.WAKE_UP_INSTANCE, { sysparm_data });\n\t};\n\n\tconst updateInstanceState = ({ dispatch }) => {\n\t\tdispatch(APP_ACTIONS.OVERRIDE_INSTANCE_STATUS, { status: 'wakeup' });\n\t};\n\n\tconst updateInstanceActionMenu = ({ dispatch }) => {\n\t\tdispatch(APP_ACTIONS.UPDATE_INSTANCE_ACTION_MENU, {\n\t\t\tinstanceStatus: INSTANCE_ACTION_STATES.WAKING_INSTANCE_IN_PROGRESS\n\t\t});\n\t};\n\n\treturn {\n\t\teffect,\n\t\tinterceptors: [\n\t\t\tbeforeInterceptors([updateInstanceState, updateInstanceActionMenu])\n\t\t]\n\t};\n};\n\nconst sendUserProfileQuestions = createHttpEffect(\n\tCONSTANTS.ENDPOINTS.POST_USER_PROFILE_RESPONSES,\n\t{\n\t\tmethod: 'POST',\n\t\tdataParam: 'postPersonaResults',\n\t\tbatch: false,\n\t\tsuccessActionType:\n\t\t\tAPP_ACTIONS.USER_PROFILE_MODAL_SEND_USER_PROFILE_QUESTIONS_SUCCEEDED,\n\t\terrorActionType:\n\t\t\tAPP_ACTIONS.USER_PROFILE_MODAL_SEND_USER_PROFILE_QUESTIONS_FAILED\n\t}\n);\n\nconst sendUserProfileQuestionsSucceeded = coeffects => {\n\tconst { dispatch, properties, updateProperties, action } = coeffects;\n\tconst { systemProperties, releaseInfo } = properties;\n\n\tconst personaResult =\n\t\taction.payload &&\n\t\taction.payload.result &&\n\t\taction.payload.result.persona_result;\n\n\tdispatch('APP#CLOSE_USER_PROFILE_MODAL');\n\tif (\n\t\tsystemProperties &&\n\t\tsystemProperties['dev.enable_auto_assign_pdi'] === 'true'\n\t) {\n\t\tdispatch(APP_ACTIONS.AUTO_ASSIGN_INSTANCE_REQUEST, {\n\t\t\tvalue: true\n\t\t});\n\t}\n\tupdateProperties({\n\t\tisQuestionsSubmittedInProgress: false,\n\t\tshowUserPersonaSubmissionError: false\n\t});\n\n\tif (\n\t\tpersonaResult &&\n\t\tpersonaResult.status == 'Persona Submitted Successfully'\n\t) {\n\t\tdispatch(APP_ACTIONS.USER_PROFILE_QUESTIONS_FORM_COMPLETED, {\n\t\t\tuserRolesDetails: personaResult\n\t\t});\n\t}\n};\n\nconst sendUserProfileQuestionsFailed = coeffects => {\n\tconst { updateProperties } = coeffects;\n\tupdateProperties({\n\t\tisQuestionsSubmittedInProgress: false,\n\t\tshowUserPersonaSubmissionError: true\n\t});\n};\n\nconst cancelInstanceRequest = createHttpEffect(\n\tCONSTANTS.ENDPOINTS.CANCEL_REQUEST,\n\t{\n\t\tmethod: 'POST',\n\t\tdataParam: 'data',\n\t\tbatch: false,\n\t\tsuccessActionType: APP_ACTIONS.CANCEL_REQUEST_RESULT,\n\t\terrorActionType: APP_ACTIONS.CANCEL_REQUEST_RESULT\n\t}\n);\n\nconst processCancelInstanceOperationResponse = ({\n\tdispatch,\n\tupdateProperties,\n\tproperties\n}) => {\n\tconst { instanceRequestAlertId: alertId } = properties;\n\tconst sysparm_data = formatSysParam(\n\t\tCONSTANTS.DEV_PORTAL_ACTIONS.GET_INSTANCE_INFO,\n\t\t{\n\t\t\tdirect_wake_up: false\n\t\t}\n\t);\n\tupdateProperties({\n\t\tisInstanceAssignmentModalOpened: false\n\t});\n\tdispatch(DPS_TOAST_ALERT_ACTIONS.ALERT_DISMISSED, { id: alertId });\n\tdispatch('APP#GET_INSTANCE_INFO', { sysparm_data });\n\tupdateRoute(ROUTES.homepage);\n};\n\nfunction jsonLiteral(value) {\n\treturn { type: 'JSON_LITERAL', value };\n}\n\nconst buildInputValues = ({ searchTerm, disableSpellCheck, isLoggedIn }) => ({\n\tpaginationToken: jsonLiteral(null),\n\tsearchEvamConfigId: jsonLiteral(SEARCH_CONFIG.searchEvamConfigId),\n\tsearchTerm: jsonLiteral(searchTerm),\n\tfacetFilters: jsonLiteral(null),\n\tsortOptions: jsonLiteral('[]'),\n\tvaEvamDefinitionId: jsonLiteral(SEARCH_CONFIG.vaEvamDefinitionId),\n\tdisableSpellCheck: jsonLiteral(disableSpellCheck ?? 'false'),\n\tasyncParams: jsonLiteral(\n\t\t'{asyncMode: \"GR_ONLY\", callbackType: \"AMB\", enableStreaming: \"true\"}'\n\t),\n\tsearchFilters: jsonLiteral('[]'),\n\tsearchPurview: jsonLiteral(''),\n\tadditionalContext: jsonLiteral(\n\t\tJSON.stringify({\n\t\t\tcitationVersion: '2',\n\t\t\tstreaming: { context: { skipNoAnswerResponse: 'true' } },\n\t\t\trequest_origin: { origin: 'portal', name: 'esc' },\n\t\t\tqueryConversationalCatalog: 'false'\n\t\t})\n\t),\n\tsearchContextConfigId: jsonLiteral(isLoggedIn ? SEARCH_CONFIG.searchContextConfigId : SEARCH_CONFIG.searchContextConfigId_public)\n});\n\nconst executeSearch = async ({ searchTerm, disableSpellCheck, isLoggedIn }) => {\n\tconst payload = [\n\t\t{\n\t\t\tdefinitionSysId: SEARCH_CONFIG.definitionSysId,\n\t\t\ttype: \"GRAPHQL\",\n\t\t\tinputValues: buildInputValues({ searchTerm, disableSpellCheck, isLoggedIn }),\n\t\t},\n\t];\n\n\ttry {\n\t\tconst response = await fetch('/api/now/uxf/databroker/exec', {\n\t\t\tmethod: 'POST',\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\tAccept: 'application/json'\n\t\t\t},\n\t\t\tbody: JSON.stringify(payload)\n\t\t});\n\n\t\tconst data = await response.json();\n\t\treturn data;\n\t} catch (error) {\n\t\tconsole.error('Error executing search:', error);\n\t}\n};\n\nconst handleSeismicNavigationExecutedEffect = createHttpEffect(\n\t'/api/snc/v1/dev/article-info/:table/:sysId',\n\t{\n\t\tmethod: 'GET',\n\t\tbatch: false,\n\t\tencodeURIComponent: false,\n\t\tpathParams: ['table', 'sysId'],\n\t\tsuccessActionType: \"DPS_AI_SEARCH#NAVIGATION_SUCCEEDED\"\n\t}\n);\n\nconst navigationSucceedEffect = (coeffects) => {\n\tconst {\n\t\taction\n\t} = coeffects;\n\tconst { result } = action.payload;\n\n\tconst contentLinkColumns = [\n\t\t'docs_url',\n\t\t'u_navigation_url',\n\t\t'url',\n\t\t'u_url'\n\t];\n\n\tconst devSiteLinkColumn = contentLinkColumns.find(\n\t\t(column) => column in result && result[column]\n\t);\n\n\tconst devSiteLink = result[devSiteLinkColumn];\n\n\tif (devSiteLink) {\n\t\twindow.open(devSiteLink, '_blank');\n\t}\n};\n\nexport default {\n\t...autoRefreshFetchInstanceInfo,\n\t...checkInstanceStatus,\n\t...dpsInstanceModalActions,\n\t...executeCatItem,\n\t...fetchActionMenu,\n\t...fetchAssignReqStatus,\n\t...fetchAvailPlugins,\n\t...fetchInstanceBackups,\n\t...fetchInstanceDetails,\n\t...fetchInstanceInfo,\n\t...fetchInstanceOperationHistory,\n\t...fetchCompleteInstanceOperationHistory,\n\t...fetchLeadTracking,\n\t...fetchLegalAgreement,\n\t...fetchCommonData,\n\t...fetchNavConfig,\n\t...fetchOpReqStatus,\n\t...fetchReleaseVersions,\n\t...fetchSystemProperties,\n\t...fetchUpdateMagicLink,\n\t...fetchUserSession,\n\t...fetchUrlRedirections,\n\t...fetchDCIdentifierRouteRedirection,\n\t...handleEventTracking,\n\t...handleReleaseVersionToggle,\n\t...handleUserLogout,\n\t...handleUserSession,\n\t...refreshInstance,\n\t...refreshInstanceBackup,\n\t...wakeUpInstance,\n\t...WHATS_NEW_ACTIONHANDLERS,\n\t...PLAYGROUND_WHATS_NEW_ACTIONHANDLERS,\n\t...UNPLANNED_MAINTENANCE_ACTIONHANDLERS,\n\t...handleEventTracking,\n\t...handleToastDisplay,\n\t...fetchInstanceRequestStatus,\n\t...fetchAvailableInstance,\n\t...sendInstanceResetPasswordEmail,\n\t...feedbackActions,\n\t[COMPONENT_BOOTSTRAPPED]: handleComponentBootstrapped,\n\t[COMPONENT_PROPERTY_CHANGED]: handleComponentPropertyChanged,\n\t[COMPONENT_DISCONNECTED]() {\n\t\twindow.removeEventListener('scroll', checkScrollPosition);\n\n\t\t// There seems to be a Chrome bug where the scroll position is calculated\n\t\t// incorrectly if you are not at 0,0 before *reloading* the page.\n\t\t// DEF0120048 - internal links fix scroll position.\n\t\t// https://github.com/locomotivemtl/locomotive-scroll/issues/72#issuecomment-580910451\n\t\twindow.removeEventListener('beforeunload', () => {\n\t\t\twindow.scrollTo(0, 0);\n\t\t});\n\t},\n\t[AMB_EVENT_ACTIONS.AMB_SESSION_LOGGED_OUT]: coeffects => {\n\t\tconst { properties } = coeffects;\n\t\tconst { userInfo } = properties;\n\t\tconst hasUserExplicitlyLoggedOut = DevPlatformStorage.loadFromLocalStorage(\n\t\t\tCONSTANTS.DEFAULTS.EXPLICIT_LOGOUT_KEY\n\t\t);\n\t\t// Session has timed out if user hasn't explicity logged out\n\t\t// and the userInfo.is_logged_in is still set to true\n\t\tif (!hasUserExplicitlyLoggedOut && userInfo.is_logged_in) {\n\t\t\tSessionService.sessionTimedOut();\n\t\t}\n\t},\n\t[APP_ACTIONS.CHECK_SSO]: handleCheckSSO,\n\t[APP_ACTIONS.CLEAR_CACHE_TRIGGERED]: handleClearCacheTriggered,\n\t[APP_ACTIONS.CLOSE_CONTENT_FORM]({ updateProperties }) {\n\t\tupdateProperties({\n\t\t\tcontentFeedbackOpen: false,\n\t\t\toptions: null\n\t\t});\n\t},\n\t[APP_ACTIONS.CLOSE_GENERAL_FORM]({ updateProperties }) {\n\t\tupdateProperties({\n\t\t\tgeneralFeedbackOpen: false,\n\t\t\toptions: null\n\t\t});\n\t},\n\t[APP_ACTIONS.CLOSE_NAV_HEADER]({ updateProperties }) {\n\t\tupdateProperties({\n\t\t\tnavOpen: false\n\t\t});\n\t},\n\t[APP_ACTIONS.CHECK_OPERATION_COMPLETED]: coeffects => {\n\t\tconst { state, updateState } = coeffects;\n\t\tconst { instanceInfo, instanceManagement } = state;\n\t\tif (\n\t\t\tisOperationComplete(instanceInfo, instanceManagement.catItemInProgress)\n\t\t) {\n\t\t\tupdateState({\n\t\t\t\tinstanceInfo: {\n\t\t\t\t\t...instanceInfo\n\t\t\t\t},\n\t\t\t\tinstanceManagement: {\n\t\t\t\t\t...instanceManagement,\n\t\t\t\t\tcatItemInProgress: null,\n\t\t\t\t\tshowOpResultBySysId: null\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\t[APP_ACTIONS.CHECK_URL_REDIRECTION]: handleCheckUrlRedirection,\n\t[APP_ACTIONS.EXPIRED_SESSION_MODAL_TRIGGERED]: coeffects => {\n\t\tconst { updateProperties } = coeffects;\n\t\tupdateProperties({\n\t\t\tisExpiredSessionModalOpened: true,\n\t\t\tisInstanceModalOpened: false,\n\t\t\tisLeadTrackingModalOpened: false,\n\t\t\tisLegalAgreementModalOpened: false\n\t\t});\n\t},\n\t[APP_ACTIONS.EXTEND_GLIDE_SESSION]: createHttpEffect(\n\t\t'/api/now/uisession/touch-session',\n\t\t{ method: 'POST', batch: false }\n\t),\n\t[APP_ACTIONS.GIVE_GENERAL_FEEDBACK]: handleGiveFeedback,\n\t[APP_ACTIONS.GIVE_CONTENT_FEEDBACK]: handleGiveFeedback,\n\t[APP_ACTIONS.GET_GENERAL_FEEDBACK_FORM_DATA]: handleGeneralFeedbackFormDataRequested,\n\t[APP_ACTIONS.GET_CONTENT_FEEDBACK_FORM_DATA]: handleContentFeedbackFormDataRequested,\n\t[APP_ACTIONS.GET_FEEDBACK_FORM_DATA_SUCCEEDED]: handleFeedbackFormDataSucceeded,\n\t[APP_ACTIONS.LOGIN_CLICKED]({ action }) {\n\t\tconst addToRelayState = action.payload || '';\n\t\tconst currentUrl = encodeURIComponent(location.href + addToRelayState);\n\n\t\tDevPlatformStorage.saveToSessionStorage(\n\t\t\tCONSTANTS.DEFAULTS.IS_SIGNIN_CLICKED_SESSION_KEY,\n\t\t\ttrue\n\t\t);\n\n\t\twindow.location.href = generateUrl(\n\t\t\tCONSTANTS.ENDPOINTS.SSO_LOGIN_URL,\n\t\t\t`relayState=${currentUrl}`\n\t\t);\n\t},\n\t[APP_ACTIONS.OPEN_NAV_HEADER]({ updateProperties }) {\n\t\tupdateProperties({\n\t\t\tnavOpen: true\n\t\t});\n\t},\n\t[APP_ACTIONS.RELEASE_VERSION_SELECTED]: handleReleaseVersionSelected,\n\t[APP_ACTIONS.ROUTE_CHANGED]: handleRouteChanged,\n\t[APP_ACTIONS.SSO_IFRAME_LOADED]: coeffects => {\n\t\tconst { dispatch, state, updateState } = coeffects;\n\t\tconst iFrame = document.querySelector(\n\t\t\t`#${CONSTANTS.DEFAULTS.SSO_IFRAME_ID}`\n\t\t);\n\t\tiFrame.parentNode.removeChild(iFrame);\n\n\t\tupdateState({\n\t\t\tpath: 'userInfoLoaded',\n\t\t\tvalue: false,\n\t\t\toperation: 'set'\n\t\t});\n\n\t\tgetUserInfo(dispatch);\n\t\tgetReleaseVersions(dispatch);\n\t},\n\t[APP_ACTIONS.UPDATE_INSTANCE_ACTION_MENU]: handleUpdateInstanceActionMenu,\n\t[APP_ACTIONS.UPDATE_INSTANCE_STATE]: ({ action, dispatch }) => {\n\t\tconst { direct_wake_up } = action.payload;\n\t\tconst sysparm_data = formatSysParam(\n\t\t\tCONSTANTS.DEV_PORTAL_ACTIONS.GET_INSTANCE_INFO,\n\t\t\t{\n\t\t\t\tdirect_wake_up\n\t\t\t}\n\t\t);\n\n\t\tdispatch(APP_ACTIONS.GET_INSTANCE_INFO, { sysparm_data });\n\t},\n\t[APP_ACTIONS.QUICK_RESET_WIPE_WAKE_UP_INSTANCE]: handleWakeupInstanceStarted(),\n\t[APP_ACTIONS.SET_USER_SESSION_RELEASE]: coeffects => {\n\t\tconst { action, properties } = coeffects;\n\t\tconst { systemProperties } = properties;\n\t\tconst { selectedRelease } = action.payload;\n\t\tconst defaultRelease = systemProperties['dev.defaultVersionSelected'];\n\t\t// set user session release to the selectedRelease from payload or default to system prop\n\t\tif (selectedRelease || defaultRelease) {\n\t\t\tMemStorage.setItem(\n\t\t\t\tCONSTANTS.DEFAULTS.USER_SESSION_RELEASE,\n\t\t\t\tselectedRelease || defaultRelease\n\t\t\t);\n\t\t}\n\t},\n\t[APP_ACTIONS.SESSION_STORAGE_UPDATED]: coeffects => {\n\t\tconst { action, properties, updateProperties } = coeffects;\n\t\tconst { hash, pathname, routeString } = properties;\n\t\tconst { user_session_release } = action.payload;\n\t\tconst replacedRelease = replacePathParam({\n\t\t\tparam: ':release',\n\t\t\trouteString,\n\t\t\tpathname,\n\t\t\tparamValue: user_session_release,\n\t\t\thash\n\t\t});\n\n\t\tupdateProperties({ release: user_session_release });\n\t\tupdateRoute(replacedRelease);\n\t},\n\t[APP_ACTIONS.WAKE_UP_INSTANCE_TRIGGER]: ({\n\t\tdispatch,\n\t\tstate,\n\t\tupdateState\n\t}) => {\n\t\tupdateState({\n\t\t\tpath: 'instanceInfo.wakeupInProgress',\n\t\t\tvalue: true,\n\t\t\toperation: 'set'\n\t\t});\n\t\tupdateState({\n\t\t\tpath: 'instanceInfo.state',\n\t\t\tvalue: 'Waking Instance',\n\t\t\toperation: 'set'\n\t\t});\n\t\tdispatch(APP_ACTIONS.OVERRIDE_INSTANCE_STATUS, { status: 'wakeup' });\n\t\tconst sysparm_data = formatSysParam('instance.hibernate.wake_up', {\n\t\t\tdirect_wake_up: true\n\t\t});\n\t\tdispatch(APP_ACTIONS.WAKE_UP_INSTANCE, { sysparm_data });\n\t},\n\t[APP_ACTIONS.OVERRIDE_INSTANCE_STATUS]: handleOverrideInstanceStatus,\n\t[APP_ACTIONS.SHOW_PROVISIONING_INSTANCE]: ({ action, dispatch }) => {\n\t\tconst restore = action && action.payload && action.payload.restore;\n\t\tconst release = restore && action.payload.release;\n\t\tconst status = restore ? 'restore' : 'pending';\n\t\tdispatch(APP_ACTIONS.OVERRIDE_INSTANCE_STATUS, { status, release });\n\t},\n\t[DETECT_SSO_LOGIN_ACTIONS.SSO_LOGIN_COMPLETED]: coeffects => {\n\t\tconst { properties } = coeffects;\n\t\tconst { systemProperties } = properties;\n\t\tconst autoLoginTimeout = parseInt(\n\t\t\tsystemProperties['dev.sso.auto_login_timeout'],\n\t\t\t10\n\t\t);\n\n\t\tconst currentUrl = encodeURIComponent(location.href);\n\t\tconst iFrame = document.createElement('iframe');\n\n\t\tiFrame.id = CONSTANTS.DEFAULTS.SSO_IFRAME_ID;\n\t\tiFrame.src = 'about:blank';\n\t\tiFrame.name = CONSTANTS.DEFAULTS.SSO_IFRAME_ID;\n\t\tiFrame.style = 'border-style:none;width:1px;height:1px;';\n\t\tiFrame.onload = () => {\n\t\t\tsetTimeout(() => {\n\t\t\t\twindow.parent.postMessage(\n\t\t\t\t\t{ type: CONSTANTS.DEFAULTS.SSO_DETECTION_MESSAGE },\n\t\t\t\t\t'*'\n\t\t\t\t);\n\t\t\t}, autoLoginTimeout);\n\t\t};\n\t\tdocument.body.appendChild(iFrame);\n\n\t\twindow.frames[CONSTANTS.DEFAULTS.SSO_IFRAME_ID].location.href = generateUrl(\n\t\t\tCONSTANTS.ENDPOINTS.SSO_LOGIN_URL,\n\t\t\t`relayState=${currentUrl}`\n\t\t);\n\t},\n\t[DPS_ERROR_ACTIONS.PAGE_NOT_FOUND]({ updateProperties, action }) {\n\t\tconst { payload } = action;\n\t\tupdateProperties({\n\t\t\tisPageNotFound: true,\n\t\t\tisContentNotFoundForCurrentRelease:\n\t\t\t\tpayload && payload.isContentNotFoundForCurrentRelease\n\t\t\t\t\t? payload.isContentNotFoundForCurrentRelease\n\t\t\t\t\t: false,\n\t\t\tcontentDetails: {\n\t\t\t\tcontentTitle:\n\t\t\t\t\tpayload && payload.contentTitle ? payload.contentTitle : '',\n\t\t\t\totherReleases:\n\t\t\t\t\tpayload && payload.otherReleases ? payload.otherReleases : []\n\t\t\t},\n\t\t\tpageNotFoundMessage: payload && payload.message ? payload.message : ''\n\t\t});\n\t},\n\t'DPS_EXPIRED_SESSION_MODAL#LOGIN_CLICKED': ({ dispatch }) => {\n\t\tdispatch(APP_ACTIONS.LOGIN_CLICKED);\n\t},\n\t[DPS_NAVIGATION_INSTANCE_MANAGEMENT.INSTANCE_ACTION_CLICKED]: handleInstanceMenuItemClick(),\n\t[DPS_INLINE_VERSION_SELECTOR_ACTIONS.RELEASE_SELECTED]: handleVersionSelectorReleaseSelected,\n\t[DPS_INSTANCE_ASSIGNMENT.MENU_ITEM_CLICKED]: handleAssignmentMenuItemClick,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.ADD_TO_WAITLIST_SUCCEEDED]({\n\t\taction,\n\t\tproperties,\n\t\tupdateState,\n\t\tupdateProperties\n\t}) {\n\t\tconst transformedRelease = transformReleaseName(\n\t\t\taction.payload.data.version || ''\n\t\t);\n\t\tupdateState({\n\t\t\tpath: 'instanceInfo',\n\t\t\tvalue: initializeInstanceState({\n\t\t\t\trelease: transformedRelease,\n\t\t\t\tstate: 'waitlist'\n\t\t\t}),\n\t\t\toperation: 'set'\n\t\t});\n\t\tif (properties.instanceAssignmentModalScreenType === 'autoAssignBA' || properties.isAutoAssignRunInBackground) {\n\t\t\tconst update = {\n\t\t\t\tinstanceAssignmentModalScreenType: 'requestInstanceFailed',\n\t\t\t\tisAutoAssignRunInBackground: false\n\t\t\t};\n\t\t\tif (properties.isAutoAssignRunInBackground) {\n\t\t\t\tupdate.isInstanceAssignmentModalOpened = true;\n\t\t\t}\n\t\t\tupdateProperties(update);\n\t\t}\n\t},\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.LEAVE_WAITLIST_SUCCEEDED]({\n\t\tupdateState,\n\t\tproperties,\n\t\tupdateProperties,\n\t\tdispatch\n\t}) {\n\t\tupdateState({\n\t\t\tpath: 'instanceInfo',\n\t\t\tvalue: initializeInstanceState({\n\t\t\t\trelease: null,\n\t\t\t\tstate: 'first_time'\n\t\t\t}),\n\t\t\toperation: 'set',\n\t\t\tshouldUpdate: true\n\t\t});\n\t\tif (properties.instanceRequestAlertId) {\n\t\t\tdispatch(DPS_TOAST_ALERT_ACTIONS.ALERT_DISMISSED, {\n\t\t\t\tid: properties.instanceRequestAlertId\n\t\t\t});\n\t\t\tupdateProperties({ instanceRequestAlertId: null });\n\t\t}\n\t},\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.MAGIC_LINK_CLICKED]: handleMagicLinkClicked,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.INSTANCE_REQUEST]: ({ action, properties, updateProperties }) => {\n\t\tconst isBaAutoAssignFlow = properties.instanceAssignmentModalScreenType === 'autoAssignBA';\n\t\tconst isMVP = properties?.instanceInfo?.policy?.isMVP;\n\t\tconst showReclaimPolicy =\n\t\t\tproperties?.systemProperties?.['dev.enable.reclaimpolicy'] === 'true' &&\n\t\t\t!isMVP;\n\t\tif (!isBaAutoAssignFlow && showReclaimPolicy) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst update = { instanceAssignmentModalScreenType: 'autoAssignBA' };\n\t\tif (!isBaAutoAssignFlow) {\n\t\t\tupdate.autoAssignIsBaFlow = false;\n\t\t} else if (action.payload?.isBuildAgentExperience !== undefined) {\n\t\t\tupdate.autoAssignIsBaFlow = action.payload.isBuildAgentExperience;\n\t\t}\n\t\tupdateProperties(update);\n\t},\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.CONFIRM_INSTANCE_POLICY]: ({ updateProperties }) => {\n\t\tupdateProperties({ instanceAssignmentModalScreenType: 'autoAssignBA', autoAssignIsBaFlow: false });\n\t},\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.OPEN_BA_AUTO_ASSIGN_MODAL]: ({\n\t\taction,\n\t\tupdateProperties\n\t}) => {\n\t\tconst showTips = action.payload?.showTips !== undefined ? action.payload.showTips : true;\n\t\tconst isBuildAgentExperience = action.payload?.isBuildAgentExperience !== undefined\n\t\t\t? action.payload.isBuildAgentExperience\n\t\t\t: true;\n\t\tupdateProperties({\n\t\t\tisInstanceAssignmentModalOpened: true,\n\t\t\tinstanceAssignmentModalScreenType: 'autoAssignBA',\n\t\t\tisBuildAgentExperience,\n\t\t\tisAutoAssignRunInBackground: false,\n\t\t\tshowTips\n\t\t});\n\t},\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.OPEN_BA_WAKEUP_MODAL]: ({\n\t\taction,\n\t\tupdateProperties\n\t}) => {\n\t\tconst showTips = action.payload?.showTips !== undefined ? action.payload.showTips : true;\n\t\tconst isBuildAgentExperience = action.payload?.isBuildAgentExperience !== undefined\n\t\t\t? action.payload.isBuildAgentExperience\n\t\t\t: true;\n\t\tupdateProperties({\n\t\t\tisInstanceAssignmentModalOpened: true,\n\t\t\tinstanceAssignmentModalScreenType: 'autoAssignBA',\n\t\t\tisBuildAgentExperience,\n\t\t\tisAutoAssignRunInBackground: false,\n\t\t\tshowTips\n\t\t});\n\t},\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.QUICK_RESET_WIPE_MESSAGE_CLOSED]({\n\t\taction,\n\t\tupdateProperties\n\t}) {\n\t\tconst {\n\t\t\tisOpenedFromQuickResetWipe,\n\t\t\tinstanceAssignmentModalScreenType\n\t\t} = action.payload;\n\t\tupdateProperties({\n\t\t\tisOpenedFromQuickResetWipe,\n\t\t\tinstanceAssignmentModalScreenType,\n\t\t\tisQuickResetAndWipeDuplicate: false\n\t\t});\n\t},\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.SET_MODAL]: ({ action, updateProperties }) => {\n\t\tconst { opened, showTips } = action.payload;\n\t\tconst update = { isInstanceAssignmentModalOpened: opened };\n\t\tif (showTips !== undefined) {\n\t\t\tupdate.showTips = showTips;\n\t\t}\n\t\tupdateProperties(update);\n\t},\n\t[DPS_INSTANCE_SIDEBAR.MAGIC_LINK_CLICKED]: handleMagicLinkClicked,\n\t[DPS_MODAL_ACTIONS.OPENED_SET]({\n\t\taction,\n\t\tdispatch,\n\t\tproperties: { userInfo },\n\t\tupdateProperties\n\t}) {\n\t\tconst { payloadToAction } = action.payload;\n\t\tif (!(payloadToAction && payloadToAction.processing)) {\n\t\t\tupdateProperties({\n\t\t\t\tisInstanceModalOpened: action.payload.value,\n\t\t\t\tisInstanceAssignmentModalOpened: action.payload.value,\n\t\t\t\tisPristineUserRequested: action.payload.value\n\t\t\t});\n\t\t}\n\t\tif (payloadToAction && payloadToAction.whatsNew) {\n\t\t\tdispatch(APP_ACTIONS.WHATS_NEW_UPDATE);\n\t\t}\n\n\t\t// Playground \"What's New\" Modal dismissal\n\t\tif (payloadToAction && payloadToAction.playgroundWhatsNew) {\n\t\t\t// Update state whether logged in or not\n\t\t\tupdateProperties({\n\t\t\t\tisPlaygroundWhatsNewModalOpened: false\n\t\t\t});\n\n\t\t\t// Save to local storage\n\t\t\tDevPlatformStorage.saveToLocalStorage(\n\t\t\t\tCONSTANTS.DEFAULTS.CACHE_KEY_PLAYGROUND_WHATS_NEW_MODAL,\n\t\t\t\ttrue // modal has been shown\n\t\t\t);\n\n\t\t\t// If logged in, also save to user properties\n\t\t\tif (userInfo.is_logged_in) {\n\t\t\t\tdispatch(APP_ACTIONS.PLAYGROUND_WHATS_NEW_UPDATE);\n\t\t\t}\n\t\t}\n\t},\n\t[DPS_LEAD_TRACKING_ACTIONS.COMPLETED]: coeffects => {\n\t\tconst { updateState } = coeffects;\n\t\tupdateState({ leadTrackingCompleted: true });\n\t},\n\t[DPS_LEAD_TRACKING_ACTIONS.CLOSE_FORM]: coeffects => {\n\t\tconst { updateProperties } = coeffects;\n\t\tupdateProperties({ isLeadTrackingModalOpened: false });\n\t},\n\t[DPS_LEAD_TRACKING_ACTIONS.OPEN_FORM]: coeffects => {\n\t\tconst { updateProperties, dispatch } = coeffects;\n\t\tconst sysparm_data = formatSysParam('lead.tracking.get.data', {\n\t\t\tcategory: 'Lead Tracking'\n\t\t});\n\t\tupdateProperties({\n\t\t\tisLeadTrackingModalOpened: true,\n\t\t\tisLegalAgreementModalOpened: false\n\t\t});\n\t\tdispatch(APP_ACTIONS.GET_LEAD_TRACKING_DATA, { sysparm_data });\n\t},\n\t[DPS_LEGAL_AGREEMENT_ACTIONS.OPEN_FORM]: coeffects => {\n\t\tconst { dispatch } = coeffects;\n\t\tdispatch(APP_ACTIONS.GET_LEGAL_AGREEMENT_DATA);\n\t},\n\t[DPS_LEGAL_AGREEMENT_ACTIONS.CLOSE_FORM]: coeffects => {\n\t\tconst { updateProperties } = coeffects;\n\t\tupdateProperties({ isLegalAgreementModalOpened: false });\n\t},\n\t[DPS_LEGAL_AGREEMENT_ACTIONS.FORM_COMPLETED]: coeffects => {\n\t\tconst { dispatch, properties } = coeffects;\n\t\tconst { systemProperties, userInfo } = properties;\n\n\t\tuserInfo.is_legal_signed = true;\n\t\tDevPlatformStorage.saveToLocalStorage(\n\t\t\tCONSTANTS.DEFAULTS.USER_LOCALSTORAGE_KEY,\n\t\t\t{ ...userInfo }\n\t\t);\n\n\t\tshowLeadTrackingModal({ dispatch, systemProperties, userInfo });\n\t},\n\t[DPS_LEGAL_AGREEMENT_ACTIONS.USER_DECLINED]: ({ updateProperties }) => {\n\t\t/**\n\t\t * When a guest user clicks Sign In to provide feedback button, and sign up\n\t\t * from there. Upon logging in, if the user declines the legal agreement.\n\t\t * Then the content feedback modal also should not be displayed.\n\t\t */\n\t\tupdateProperties({\n\t\t\tcontentFeedbackOpen: false\n\t\t});\n\t\tSessionService.logout();\n\t},\n\t[DPS_NAVIGATION_INSTANCE_MANAGEMENT.MAGIC_LINK_CLICKED]: handleMagicLinkClicked,\n\t[DPS_NAVIGATION_INSTANCE_MANAGEMENT.REFRESH_STATUS]: handleRefreshStatus,\n\t[DPS_NAVIGATION_INSTANCE_MANAGEMENT.WAKE_UP_INSTANCE_STARTED]: handleWakeupInstanceStarted(),\n\t[DPS_INSTANCE_SIDEBAR.ASSIGNMENT_MENU_ITEM_CLICKED]: handleAssignmentMenuItemClick,\n\t[DPS_INSTANCE_SIDEBAR.OPERATION_MENU_ITEM_CLICKED]: handleInstanceMenuItemClick(),\n\t[DPS_INSTANCE_SIDEBAR.REFRESH_STATUS]: handleRefreshStatus,\n\t[DPS_INSTANCE_SIDEBAR.WAKE_UP_INSTANCE_STARTED]: handleWakeupInstanceStarted(),\n\t[DPS_INSTANCE_MODAL_ACTIONS.FETCH_AVAILABLE_PLUGINS]: coeffects => {\n\t\tconst { dispatch, state, updateState } = coeffects;\n\t\tconst availablePluginsParams = formatSysParam(\n\t\t\t'instance.ops.get_avail_plugins',\n\t\t\t{\n\t\t\t\tins_id: state.instanceInfo.sys_id\n\t\t\t}\n\t\t);\n\t\tupdateState({\n\t\t\tinstanceManagement: {\n\t\t\t\t...state.instanceManagement,\n\t\t\t\tisLoadingPlugins: true\n\t\t\t}\n\t\t});\n\t\tdispatch(APP_ACTIONS.GET_AVAIL_PLUGINS, {\n\t\t\tsysparm_data: JSON.stringify(availablePluginsParams)\n\t\t});\n\t},\n\t[DPS_INSTANCE_MODAL_ACTIONS.FETCH_INSTANCE_OPERATION_HISTORY]: coeffects => {\n\t\tconst { action, dispatch, state, updateState } = coeffects;\n\t\tconst {\n\t\t\tmaxOperationHistory: num_recs,\n\t\t\tselectedOperationType,\n\t\t\tselectedOperationHistoryPage\n\t\t} = action.payload;\n\n\t\tconst offset =\n\t\t\tselectedOperationHistoryPage === 1\n\t\t\t\t? 0\n\t\t\t\t: (selectedOperationHistoryPage - 1) * num_recs;\n\t\tconst operation_type = OPERATION_HISTORY_TYPES[selectedOperationType].value;\n\n\t\tupdateState({\n\t\t\tinstanceManagement: {\n\t\t\t\t...state.instanceManagement,\n\t\t\t\tisLoadingOperationHistory: true\n\t\t\t}\n\t\t});\n\t\tdispatch(APP_ACTIONS.GET_INSTANCE_OPERATION_HISTORY, {\n\t\t\toffset,\n\t\t\toperation_type,\n\t\t\tnum_recs\n\t\t});\n\t},\n\t[DPS_INSTANCE_MODAL_ACTIONS.SET_QUICK_RESET_WIPE_STATUS]: coeffects => {\n\t\tconst { action, dispatch, updateState, state } = coeffects;\n\t\tconst { isQuickResetAndWipeInProgress } = action.payload;\n\t\tdispatch(APP_ACTIONS.OVERRIDE_INSTANCE_STATUS, { status: 'resetAndWipe' });\n\t\tupdateState({\n\t\t\tinstanceManagement: {\n\t\t\t\t...state.instanceManagement,\n\t\t\t\tisQuickResetAndWipeInProgress\n\t\t\t}\n\t\t});\n\t},\n\t[DPS_SITE_BANNER_ACTIONS.BANNER_CLOSED]: ({ action, state, updateState }) => {\n\t\tconst {\n\t\t\tpayload: { id }\n\t\t} = action;\n\n\t\tlet totalBannerHeight = 0;\n\t\tlet { bannerList } = state;\n\t\tdelete bannerList[id];\n\t\tfor (let key in bannerList) {\n\t\t\ttotalBannerHeight += bannerList[key];\n\t\t}\n\n\t\tupdateState({\n\t\t\tpath: 'bannerList',\n\t\t\tvalue: bannerList,\n\t\t\toperation: 'set'\n\t\t});\n\n\t\tdocument.body.classList.remove('-has-banner');\n\n\t\tdocument.body.style.setProperty(\n\t\t\t'--dps-main-margin-top',\n\t\t\t`${CONSTANTS.DEFAULTS.DPS_GLOBAL_HEADER_HEIGHT + totalBannerHeight}px`\n\t\t);\n\t\tdocument.body.style.setProperty(\n\t\t\t'--dps-main-margin-top-md',\n\t\t\t`${CONSTANTS.DEFAULTS.DPS_GLOBAL_HEADER_HEIGHT_MD + totalBannerHeight}px`\n\t\t);\n\t\tdocument.body.style.setProperty(\n\t\t\t'--dps-main-margin-top-sm',\n\t\t\t`${CONSTANTS.DEFAULTS.DPS_GLOBAL_HEADER_HEIGHT_SM + totalBannerHeight}px`\n\t\t);\n\t\tif (id === 'global-connect-mvp-banner') {\n\t\t\tDevPlatformStorage.saveToLocalStorage(\n\t\t\t\tCONSTANTS.DEFAULTS.SYSTEM_WIDE_ALERT_CONNECT_MVP_DISMISSED_KEY,\n\t\t\t\ttrue\n\t\t\t);\n\t\t} else {\n\t\t\tDevPlatformStorage.saveToLocalStorage(\n\t\t\t\tCONSTANTS.DEFAULTS.SYSTEM_WIDE_ALERT_DISMISSED_KEY,\n\t\t\t\ttrue\n\t\t\t);\n\t\t}\n\t},\n\t[DPS_SITE_BANNER_ACTIONS.BANNER_HEIGHT_SET]: ({\n\t\taction,\n\t\tstate,\n\t\tupdateState\n\t}) => {\n\t\tconst {\n\t\t\tpayload: { height, id }\n\t\t} = action;\n\n\t\tlet totalBannerHeight = 0;\n\t\tlet { bannerList } = state;\n\t\tbannerList[id] = height;\n\n\t\tfor (let key in bannerList) {\n\t\t\ttotalBannerHeight += bannerList[key];\n\t\t}\n\n\t\tupdateState({\n\t\t\tpath: 'bannerList',\n\t\t\tvalue: bannerList,\n\t\t\toperation: 'set'\n\t\t});\n\n\t\tdocument.body.style.setProperty(\n\t\t\t'--dps-main-margin-top',\n\t\t\t`${CONSTANTS.DEFAULTS.DPS_GLOBAL_HEADER_HEIGHT + totalBannerHeight}px`\n\t\t);\n\t\tdocument.body.style.setProperty(\n\t\t\t'--dps-main-margin-top-md',\n\t\t\t`${CONSTANTS.DEFAULTS.DPS_GLOBAL_HEADER_HEIGHT_MD + totalBannerHeight}px`\n\t\t);\n\t\tdocument.body.style.setProperty(\n\t\t\t'--dps-main-margin-top-sm',\n\t\t\t`${CONSTANTS.DEFAULTS.DPS_GLOBAL_HEADER_HEIGHT_SM + totalBannerHeight}px`\n\t\t);\n\t},\n\t[INACTIVITY_MONITOR_ACTIONS.ACTIVITY_DETECTED]: coeffects => {\n\t\tconst { dispatch, properties } = coeffects;\n\t\tconst { systemProperties, userInfo } = properties;\n\t\tif (userInfo.is_logged_in && isAMBEnabled(systemProperties)) {\n\t\t\tdispatch(APP_ACTIONS.EXTEND_GLIDE_SESSION);\n\t\t}\n\t},\n\t[APP_ACTIONS.PRISITNE_USER_REQUEST_INSTANCE_CLICKED]({ updateProperties }) {\n\t\tupdateProperties({\n\t\t\tisPristineUserRequested: true,\n\t\t\tinstanceAssignmentModalScreenType: ''\n\t\t});\n\t},\n\t[APP_ACTIONS.OPEN_USER_PROFILE_MODAL]({ updateProperties }) {\n\t\tupdateProperties({\n\t\t\tisCustomerUIProfileModal: true\n\t\t});\n\t},\n\t[APP_ACTIONS.QUESTION_SUBMISSION_IN_PROGRESS]({ updateProperties }) {\n\t\tupdateProperties({\n\t\t\tisQuestionsSubmittedInProgress: true,\n\t\t\tshowUserPersonaSubmissionError: false\n\t\t});\n\t},\n\t[APP_ACTIONS.CLOSE_USER_PROFILE_MODAL]({ updateProperties, dispatch }) {\n\t\tupdateProperties({\n\t\t\tisCustomerUIProfileModal: false\n\t\t});\n\t},\n\t[APP_ACTIONS.INSTANCE_STATE_PROGRESS_UPDATE]: coeffects => {\n\t\tconst { action, updateProperties } = coeffects;\n\t\tupdateProperties({\n\t\t\tisInstanceStatsCheckInProgress: action.payload\n\t\t\t\t? action.payload.value\n\t\t\t\t: false\n\t\t});\n\t},\n\t[APP_ACTIONS.AUTO_ASSIGN_INSTANCE_REQUEST]: coeffects => {\n\t\tconst { updateProperties, action } = coeffects;\n\t\tupdateProperties({\n\t\t\tisRequestForAutoAssignInstance: action.payload\n\t\t\t\t? action.payload.value\n\t\t\t\t: true,\n\t\t\tisInstanceAssignmentModalOpened: action.payload\n\t\t\t\t? !action.payload.value\n\t\t\t\t: false\n\t\t});\n\t},\n\t[APP_ACTIONS.USER_PROFILE_QUESTIONS_FORM_COMPLETED]: coeffects => {\n\t\tconst { properties, action, updateProperties } = coeffects;\n\t\tconst { userInfo } = properties;\n\t\tconst { userRolesDetails } = action.payload;\n\n\t\tuserInfo.show_user_profile_modal = false;\n\t\tuserInfo.is_legal_signed = true;\n\t\tuserInfo.developer_type =\n\t\t\tuserRolesDetails && userRolesDetails.developer_type;\n\t\tuserInfo.pdi_user_role = userRolesDetails && userRolesDetails.pdi_user_role;\n\t\tuserInfo.job_responsibilities =\n\t\t\tuserRolesDetails && userRolesDetails.roles_and_responsibilities;\n\t\tuserInfo.job_responsibilities_other_text =\n\t\t\tuserRolesDetails &&\n\t\t\tuserRolesDetails.roles_and_responsibilities_other_text;\n\n\t\tupdateProperties({ userInfo });\n\n\t\tDevPlatformStorage.saveToLocalStorage(\n\t\t\tCONSTANTS.DEFAULTS.USER_LOCALSTORAGE_KEY,\n\t\t\t{ ...userInfo }\n\t\t);\n\t},\n\t[APP_ACTIONS.USER_PROFILE_MODAL_SEND_USER_PROFILE_QUESTIONS]: sendUserProfileQuestions,\n\t[APP_ACTIONS.USER_PROFILE_MODAL_SEND_USER_PROFILE_QUESTIONS_SUCCEEDED]: sendUserProfileQuestionsSucceeded,\n\t[APP_ACTIONS.USER_PROFILE_MODAL_SEND_USER_PROFILE_QUESTIONS_FAILED]: sendUserProfileQuestionsFailed,\n\t[APP_ACTIONS.UPDATE_LAST_REQUESTED_RELEASE]: coeffects => {\n\t\tconst { action, updateProperties } = coeffects;\n\t\tupdateProperties({ lastRequestedRelease: action.payload });\n\t},\n\t[APP_ACTIONS.RESET_EMAIL_ALERTS]: coeffects => {\n\t\tconst { updateProperties } = coeffects;\n\t\tupdateProperties({\n\t\t\tisResetPasswordEmailSuccessful: false,\n\t\t\tisResetInstancePasswordEmailFailed: false\n\t\t});\n\t},\n\t[APP_ACTIONS.UPDATE_SEARCH_ROUTE]: coeffects => {\n\t\tconst { action, updateProperties } = coeffects;\n\t\tconst {\n\t\t\tvalue,\n\t\t\tversion,\n\t\t\tsuggestionPayload,\n\t\t\tcategory,\n\t\t\tsearchOption\n\t\t} = action.payload;\n\n\t\tupdateProperties({\n\t\t\tsuggestionPayload: suggestionPayload || []\n\t\t});\n\n\t\tif (category) {\n\t\t\tlocation.hash = `#!/search/${searchOption}/${version}/${category}/${encodeForSearch(\n\t\t\t\tvalue\n\t\t\t)}`;\n\t\t} else {\n\t\t\tupdateRoute(`/search/${version}/All/${encodeForSearch(value)}`);\n\t\t}\n\t},\n\t[APP_ACTIONS.UPDATE_SUGGESTION_PAYLOAD]: ({ action, updateProperties }) => {\n\t\tconst {\n\t\t\tpayload: { suggestionPayload }\n\t\t} = action;\n\t\tupdateProperties({\n\t\t\tsuggestionPayload: suggestionPayload || []\n\t\t});\n\t},\n\t[APP_ACTIONS.ALERT_OPEN_FEEDBACK]: coeffects => {\n\t\tconst { action, dispatch } = coeffects;\n\t\tconst { alertId } = action.payload;\n\n\t\tdispatch(APP_ACTIONS.GIVE_GENERAL_FEEDBACK, {\n\t\t\tsubmittedFrom: CONSTANTS.DEFAULTS.FEEDBACK_FORM_SUBMITTED_FROM_ALERT,\n\t\t\ttype: 'DPS_BUTTON#GIVE_GENERAL_FEEDBACK'\n\t\t});\n\n\t\tdispatch(DPS_TOAST_ALERT_ACTIONS.ALERT_DISMISSED, { id: alertId });\n\t},\n\t[APP_ACTIONS.ALERT_OPEN_INSTANCE_ASSIGNMENT_MODAL]: coeffects => {\n\t\tconst { action, updateProperties, dispatch } = coeffects;\n\t\tconst { alertId } = action.payload;\n\n\t\tupdateProperties({\n\t\t\tisInstanceAssignmentModalOpened: true,\n\t\t\tselectedInstanceAssignmentMenu: 'request',\n\t\t\tinstanceAssignmentModalScreenType: 'request'\n\t\t});\n\n\t\tdispatch(DPS_TOAST_ALERT_ACTIONS.ALERT_DISMISSED, { id: alertId });\n\t},\n\t[APP_ACTIONS.SET_INSTSANCE_REQUEST_ALERT_ID]: ({\n\t\taction,\n\t\tupdateProperties\n\t}) => {\n\t\tconst { instanceRequestAlertId } = action.payload;\n\t\tupdateProperties({ instanceRequestAlertId });\n\t},\n\t[APP_ACTIONS.CANCEL_REQUEST]: cancelInstanceRequest,\n\t[APP_ACTIONS.CANCEL_REQUEST_RESULT]: processCancelInstanceOperationResponse,\n\t[DPS_SITE_BANNER_ACTIONS.LINK_CLICKED]: ({\n\t\tstate,\n\t\tupdateState,\n\t\tdispatch,\n\t\taction\n\t}) => {\n\t\tconst {\n\t\t\ttoastMessages,\n\t\t\tinstanceInfo: { unplannedMaintenanceNotified },\n\t\t\tproperties: {\n\t\t\t\tuserInfo: { email }\n\t\t\t}\n\t\t} = state;\n\n\t\tconst {\n\t\t\tpayload: { label, id }\n\t\t} = action;\n\n\t\tif (label === 'Get Notified') {\n\t\t\tlet showToastAlert = true;\n\t\t\tfor (let i = 0; i < toastMessages.length; i++) {\n\t\t\t\tif (toastMessages[i]['id'] === 'notify-unplanned-maitenance-success') {\n\t\t\t\t\tshowToastAlert = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (showToastAlert) {\n\t\t\t\tif (unplannedMaintenanceNotified) {\n\t\t\t\t\tconst value = {\n\t\t\t\t\t\tmessage:\n\t\t\t\t\t\t\t\"Request received. We will notify you at '\" +\n\t\t\t\t\t\t\temail +\n\t\t\t\t\t\t\t\"' when your PDI is available.\",\n\t\t\t\t\t\tclosable: true,\n\t\t\t\t\t\ttype: 'SUCCESS',\n\t\t\t\t\t\tid: 'notify-unplanned-maitenance-success'\n\t\t\t\t\t};\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpath: 'toastMessages',\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\toperation: 'push'\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(APP_ACTIONS.UNPLANNED_MAINTENANCE_NOTIFICATION);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (id === 'global-connect-mvp-banner' && label === 'Learn More') {\n\t\t\twindow.location.hash = CONNECT_MVP_PAGE_HREF;\n\t\t}\n\t},\n\t[COMPONENT_DOM_TREE_READY]: ({ state, dispatch, properties, updateProperties }) => {\n\t\t// const onexNavHeaderTag = document.createElement('script');\n\t\t// onexNavHeaderTag.setAttribute('type', 'module');\n\t\t// onexNavHeaderTag.setAttribute('src', 'uxasset/externals/sn_cx_navigation/index.jsdbx');\n\t\t// document.head.append(onexNavHeaderTag);\n\t\t// const linkTag = document.createElement('link');\n\t\t// linkTag.href = \"$uxappimmutables.do?sysparm_request_type=ux_theme&sysparm_app_config_sys_id=77d957a01bd516109a36da86cc4bcb72&sysparm_app_sys_id=ce8ebe303310da10e2bed2d13d5c7b6c\";\n\t\t// linkTag.rel = \"stylesheet\";\n\t\t// document.head.append(linkTag);\n\t\tsignalTracker?.init();\n\t\tconst {\n\t\t\trouteParams,\n\t\t} = state.properties;\n\n\t\t// Load userInfo from localStorage synchronously to determine auth status on page reload\n\t\tconst cachedUserInfo = DevPlatformStorage.loadFromLocalStorage(\n\t\t\tCONSTANTS.DEFAULTS.USER_LOCALSTORAGE_KEY\n\t\t);\n\n\t\t// If userInfo is not in properties yet but exists in localStorage, use it\n\t\tif (cachedUserInfo && !properties?.userInfo?.is_logged_in && cachedUserInfo.is_logged_in) {\n\t\t\tupdateProperties({ userInfo: cachedUserInfo });\n\t\t}\n\n\t\tif (routeParams?.query) {\n\t\t\tdispatch('SN_CX_SEARCH_MODAL#SEARCH_EXECUTED', {\n\t\t\t\tsearchTerm: routeParams?.query\n\t\t\t});\n\t\t}\n\t},\n\t['APP#MANAGE_ALERTS_STATE']: ({\n\t\taction,\n\t\tstate,\n\t\tupdateState,\n\t\tdispatch,\n\t\tproperties\n\t}) => {\n\t\tconst { payload } = action;\n\t\tconst { userInfo, releaseInfo, systemProperties } = properties;\n\t\tconst alertId = Object.keys(payload)[0];\n\t\t// don't show upgrade alert if already exists as it's once only per session\n\t\tif (alertId === ALERTS.UPGRADE_INSTANCE_ALERT) {\n\t\t\tif (\n\t\t\t\tstate.nowAlertMessages?.find(\n\t\t\t\t\titem => item?.action?.alertId === ALERTS.UPGRADE_INSTANCE_ALERT\n\t\t\t\t)\n\t\t\t)\n\t\t\t\treturn;\n\t\t}\n\t\tif (payload[alertId] === true) {\n\t\t\t// Check if Build Agent alert already exists (condition-based alerts shouldn't duplicate)\n\t\t\tconst isBuildAgentAlert = alertId?.startsWith('build_agent_');\n\t\t\tif (isBuildAgentAlert) {\n\t\t\t\tconst existingAlert = state.nowAlertMessages?.find(\n\t\t\t\t\titem => item?.action?.alertId === alertId\n\t\t\t\t);\n\t\t\t\tif (existingAlert) return;\n\t\t\t}\n\t\t\tconst alertContentProps = ALERTS_CONTENT({\n\t\t\t\talertId,\n\t\t\t\tuserInfo,\n\t\t\t\treleaseInfo,\n\t\t\t\tsystemProperties\n\t\t\t});\n\t\t\tdispatch('APP#NOW_ALERT_MESSAGE_ADD', {\n\t\t\t\t...alertContentProps,\n\t\t\t\tisNowAlert: true\n\t\t\t});\n\t\t} else if (payload[alertId] === false) {\n\t\t\t// Remove alert when condition is no longer met (for Build Agent alerts)\n\t\t\tconst alertsToKeep = state.nowAlertMessages?.filter(\n\t\t\t\titem => item?.action?.alertId !== alertId\n\t\t\t) || [];\n\t\t\tupdateState({\n\t\t\t\tpath: 'nowAlertMessages',\n\t\t\t\tvalue: alertsToKeep,\n\t\t\t\toperation: 'set'\n\t\t\t});\n\t\t}\n\t},\n\t[APP_ACTIONS.SHOW_FULFILLING_INSTANCE_MODAL]: ({\n\t\tupdateProperties,\n\t\tproperties\n\t}) => {\n\t\tupdateProperties({\n\t\t\tselectedModalBA: 'fulfill'\n\t\t});\n\t},\n\t[APP_ACTIONS.CLOSE_FULFILLING_INSTANCE_MODAL]: ({\n\t\tupdateProperties,\n\t\tproperties\n\t}) => {\n\t\tupdateProperties({\n\t\t\tselectedModalBA: '',\n\t\t\tisBuildAgentExperience: false\n\t\t});\n\t},\n\t['NOW_MODAL#OPENED_SET']: coeffects => {\n\t\tconst { action, dispatch } = coeffects;\n\t\tif (\n\t\t\taction.payload?.value === false &&\n\t\t\taction?.meta?.componentName ===\n\t\t\tCONSTANTS.MODAL_COMP_NAMES.FULFILLING_EXPERIENCE_MODAL\n\t\t) {\n\t\t\tdispatch(APP_ACTIONS.CLOSE_FULFILLING_INSTANCE_MODAL);\n\t\t}\n\t},\n\t[APP_ACTIONS.NAV_SEARCH_ICON]: ({ action, updateProperties }) => {\n\t\tif (action.payload.term && action.payload.filters) {\n\t\t\tupdateProperties({\n\t\t\t\tsearchConfig: JSON.stringify(action.payload),\n\t\t\t\tglobalSearchTerm: action.payload.term\n\t\t\t});\n\t\t}\n\t},\n\t[APP_ACTIONS.ONEXNAV.SEARCH_ICON_CLICKED]: ({ state: { isAMBSessionRestablished }, updateState, properties }) => {\n\t\tlet isLoggedIn = properties?.userInfo?.is_logged_in;\n\t\tif (!isLoggedIn && !isAMBSessionRestablished) {\n\t\t\twindow?.g_ambClient?.reestablishSession();\n\t\t\tupdateState({\n\t\t\t\tisAMBSessionRestablished: true,\n\t\t\t});\n\t\t}\n\t},\n\t['SN_CX_SEARCH_MODAL#SEARCH_EXECUTED']: async ({ properties, action, updateProperties, dispatch }) => {\n\t\ttry {\n\t\t\t// resetting state\n\t\t\tupdateProperties({\n\t\t\t\tsearchResultLoading: true,\n\t\t\t\tnoSearchDataAvailable: false,\n\t\t\t\t// searchResultsTemplates: [],\n\n\t\t\t});\n\n\t\t\t// Determine auth status - fallback to localStorage if properties.userInfo not populated yet\n\t\t\tlet isLoggedIn = properties?.userInfo?.is_logged_in;\n\t\t\tif (isLoggedIn === undefined || isLoggedIn === null) {\n\t\t\t\tconst cachedUserInfo = DevPlatformStorage.loadFromLocalStorage(\n\t\t\t\t\tCONSTANTS.DEFAULTS.USER_LOCALSTORAGE_KEY\n\t\t\t\t);\n\t\t\t\tisLoggedIn = cachedUserInfo?.is_logged_in || false;\n\t\t\t}\n\t\t\tconst response = await executeSearch({ ...action.payload, isLoggedIn });\n\t\t\tconst searchResultMetaData =\n\t\t\t\tresponse?.result?.[0]?.executionResult?.searchMetadata?.searchResultMetadata;\n\t\t\tconst searchResultsTemplates = response?.result?.[0]?.executionResult?.searchResultsTemplates;\n\t\t\tconst filters =\n\t\t\t\tresponse?.result?.[0]?.executionResult?.searchMetadata?.filters;\n\n\t\t\t// Track SEARCH_EVENT with analytics payload\n\t\t\tif (searchResultMetaData?.searchAnalyticsPayload) {\n\t\t\t\tsignalTracker.trackSearchEvent(searchResultMetaData.searchAnalyticsPayload);\n\t\t\t}\n\n\t\t\tupdateProperties({\n\t\t\t\tsearchResultMetaData: searchResultMetaData,\n\t\t\t\tgeniusResult: searchResultMetaData,\n\t\t\t\tpaginationToken: searchResultMetaData?.nextPageToken,\n\t\t\t\tsearchResultsTemplates: searchResultsTemplates,\n\t\t\t\tsearchSources: Array.isArray(filters) ? filters : [],\n\t\t\t\tnoSearchDataAvailable:\n\t\t\t\t\tsearchResultsTemplates?.items?.length === 0 || filters?.find(item => item?.label?.toLowerCase() === \"all\")?.count === 0,\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tconsole.error('Error fetching search metadata:', err);\n\t\t\t// updateProperties({\n\t\t\t// \tnoSearchDataAvailable: false,\n\t\t\t// });\n\t\t} finally {\n\t\t\tupdateProperties({\n\t\t\t\tsearchResultLoading: false,\n\t\t\t});\n\t\t}\n\t},\n\t[APP_ACTIONS.ONEXNAV.SEARCH_INPUT_CHANGED]: ({\n\t\taction,\n\t\tupdateProperties\n\t}) => {\n\t\tupdateProperties({\n\t\t\tglobalSearchTerm: action.payload.globalSearchTerm\n\t\t});\n\t},\n\t[\"DPS_AI_SEARCH#NAVIGATION_EXECUTED_UTIL\"]: handleSeismicNavigationExecutedEffect,\n\t[\"DPS_AI_SEARCH#NAVIGATION_SUCCEEDED\"]: navigationSucceedEffect,\n\t// ['SN_SEARCH_COMBOBOX#NAVIGATION_EXECUTED']: ({ action, dispatch }) => {\n\t// \tdispatch(\"DPS_AI_SEARCH#NAVIGATION_EXECUTED_UTIL\", action.payload);\n\t// },\n\t// [\"SN_SEARCH_COMBOBOX#NAVIGATION_EXECUTE_PUBLIC_UTIL\"]: {\n\t// \teffect: ({ action, dispatch }) => {\n\t// \t\tdispatch(\"DPS_AI_SEARCH#NAVIGATION_EXECUTED_UTIL\", action.payload);\n\t// \t},\n\t// \tstopPropagation: true\n\t// },\n\t[\"SN_CX_SEARCH_MODAL#NAVIGATION_EXECUTED\"]: ({ action, dispatch }) => {\n\t\tdispatch(\"DPS_AI_SEARCH#NAVIGATION_EXECUTED_UTIL\", {\n\t\t\t...action.payload.actionPayload\n\t\t});\n\t},\n\t/**\n\t * HTTP effect to save build agent conversation survey status to backend\n\t * @endpoint POST /api/snc/v1/qualtrics_survey/ba_conversations/survey_status\n\t */\n\t[APP_ACTIONS.SAVE_BUILD_AGENT_CONVERSATION_SURVEY_STATUS]: createHttpEffect(\n\t\t'/api/snc/v1/qualtrics_survey/ba_conversations/survey_status',\n\t\t{\n\t\t\tbatch: false,\n\t\t\tmethod: 'POST',\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t'X-UserToken': SessionService.getHeaderUserToken()\n\t\t\t},\n\t\t\tsuccessActionType: APP_ACTIONS.SAVE_BUILD_AGENT_CONVERSATION_SURVEY_STATUS_SUCCEEDED,\n\t\t\terrorActionType: APP_ACTIONS.SAVE_BUILD_AGENT_CONVERSATION_SURVEY_STATUS_FAILED\n\t\t}\n\t),\n\t/**\n\t * Handler for successful build agent conversation survey status save\n\t * Marks survey as shown in localStorage after backend confirms\n\t */\n\t[APP_ACTIONS.SAVE_BUILD_AGENT_CONVERSATION_SURVEY_STATUS_SUCCEEDED]: ({ properties }) => {\n\t\t// Get user_id for user-specific storage (non-PII)\n\t\tconst { userInfo } = properties || {};\n\t\tconst userId = userInfo?.user_id;\n\t\t\n\t\t// Use user-specific key if userId is available, otherwise use generic key\n\t\tconst BUILD_AGENT_CONVERSATION_SURVEY_KEY = 'build_agent_conversation_survey_shown';\n\t\tconst storageKey = userId \n\t\t\t? `${BUILD_AGENT_CONVERSATION_SURVEY_KEY}_${userId}`\n\t\t\t: BUILD_AGENT_CONVERSATION_SURVEY_KEY;\n\t\t\n\t\ttry {\n\t\t\tlocalStorage.setItem(storageKey, new Date().toISOString());\n\t\t\tconsole.log('[Build Agent Survey] ✓ Saved to backend and marked as shown for user:', userId || 'unknown');\n\t\t} catch (e) {\n\t\t\tconsole.warn('[Build Agent Survey] Failed to save to localStorage:', e.message);\n\t\t\t// Backend already saved, so this is not critical\n\t\t}\n\t\t\n\t\t// Reset in-flight flag (accessing via window to share state with utility module)\n\t\tif (window._buildAgentSurveyInFlight !== undefined) {\n\t\t\twindow._buildAgentSurveyInFlight = false;\n\t\t}\n\t},\n\t/**\n\t * Handler for failed build agent conversation survey status save\n\t * Implements retry logic with exponential backoff (max 2 retries)\n\t * @param {Object} coeffects - Action coeffects\n\t * @param {Function} coeffects.dispatch - Redux dispatch function\n\t * @param {Object} coeffects.action - Failed action with metadata\n\t */\n\t[APP_ACTIONS.SAVE_BUILD_AGENT_CONVERSATION_SURVEY_STATUS_FAILED]: ({ dispatch, action }) => {\n\t\tconsole.warn('Build agent conversation survey save failed');\n\t\t\n\t\t// Retry logic with exponential backoff\n\t\tconst retryCount = (action.meta && action.meta.retryCount) || 0;\n\t\tconst maxRetries = 2;\n\t\t\n\t\tif (retryCount < maxRetries) {\n\t\t\tconst retryDelay = Math.pow(2, retryCount) * 1000; // 1s, 2s, 4s\n\t\t\tconsole.log(`Retrying survey save in ${retryDelay}ms (attempt ${retryCount + 1}/${maxRetries})`);\n\t\t\t\n\t\t\tsetTimeout(() => {\n\t\t\t\tdispatch(APP_ACTIONS.SAVE_BUILD_AGENT_CONVERSATION_SURVEY_STATUS, {\n\t\t\t\t\tmeta: { retryCount: retryCount + 1 }\n\t\t\t\t});\n\t\t\t}, retryDelay);\n\t\t} else {\n\t\t\tconsole.error('Build agent conversation survey save failed after max retries');\n\t\t\t// Reset in-flight flag to allow future attempts\n\t\t\twindow._buildAgentSurveyInFlight = false;\n\t\t}\n\t},\n\n\t[APP_ACTIONS.AUTO_ASSIGN_RUN_IN_BACKGROUND]: ({ action, updateProperties }) => {\n\t\tupdateProperties({\n\t\t\tisAutoAssignRunInBackground: true,\n\t\t\tautoAssignAlertType: action.payload?.alertType || 'setup'\n\t\t});\n\t},\n\t[APP_ACTIONS.HIDE_BA_SETUP_ALERT]: ({ updateProperties }) => {\n\t\tupdateProperties({ isAutoAssignRunInBackground: false });\n\t}\n};\n","import { CONSTANTS, INSTANCE_ACTION_STATES } from '../../constants';\nimport { userHasInstance } from '../../utils/instanceHelpers';\nimport { getComputedRelease } from '../../utils/releaseHelpers';\n\nconst appProperties = {\n\ttoastPayload: {\n\t\tdefault: null\n\t},\n\tcontentFeedbackOpen: {\n\t\tdefault: false\n\t},\n\tcontentFeedbackTitle: {\n\t\tdefault: null\n\t},\n\tcontentFeedbackType: {\n\t\tdefault: null\n\t},\n\tgeneralFeedbackOpen: {\n\t\tdefault: false\n\t},\n\tisExpiredSessionModalOpened: {\n\t\tdefault: false\n\t},\n\tisEmployeeLogoutNoticeShown: {\n\t\tdefault: false\n\t},\n\tisInstanceModalOpened: {\n\t\tdefault: false\n\t},\n\tisInstanceAssignmentModalOpened: {\n\t\tdefault: false\n\t},\n\tisLeadTrackingModalOpened: {\n\t\tdefault: false\n\t},\n\tisLegalAgreementModalOpened: {\n\t\tdefault: false\n\t},\n\tisWhatsNewModalOpened: {\n\t\tdefault: null\n\t},\n\tisPlaygroundWhatsNewModalOpened: {\n\t\tdefault: null\n\t},\n\tleadTrackingProps: {\n\t\tdefault: {}\n\t},\n\tlegalAgreementProps: {\n\t\tdefault: {}\n\t},\n\tnavOpen: {\n\t\tdefault: false\n\t},\n\tfeedbackOptions: {\n\t\tdefault: null\n\t},\n\tfeedbackFormSubmittedFrom: {\n\t\tdefault: ''\n\t},\n\tfeedbackMessages: {\n\t\tdefault: null\n\t},\n\tselectedCatItemId: {\n\t\tdefault: '0'\n\t},\n\tselectedInstanceAssignmentMenu: {\n\t\tdefault: ''\n\t},\n\trelease: {\n\t\tdefault: null\n\t},\n\tdisableInstanceModalClose: {\n\t\tdefault: false\n\t},\n\tillegalUrls: {\n\t\tdefault: {\n\t\t\treferrer: '',\n\t\t\tillegalUrl: ''\n\t\t},\n\t\tschema: {\n\t\t\ttype: 'object'\n\t\t}\n\t},\n\tinstanceAssignmentModalScreenType: {\n\t\tdefault: ''\n\t},\n\tinstanceAssignmentDetails: {\n\t\tdefault: {}\n\t},\n\tisInstanceAvailableInSamePatch: {\n\t\tdefault: false\n\t},\n\tisOpenedFromQuickResetWipe: {\n\t\tdefault: false\n\t},\n\tisQuickResetAndWipeDuplicate: {\n\t\tdefault: false\n\t},\n\tisPristineUserRequested: {\n\t\tdefault: false\n\t},\n\tisBlockedUser: {\n\t\tdefault: false\n\t},\n\tisCustomerUIProfileModal: {\n\t\tdefault: false\n\t},\n\tisRequestForAutoAssignInstance: {\n\t\tdefault: false\n\t},\n\tisQuestionsSubmittedInProgress: {\n\t\tdefault: false\n\t},\n\tshowUserPersonaSubmissionError: {\n\t\tdefault: false\n\t},\n\tisInstanceStatsCheckInProgress: {\n\t\tdefault: false\n\t},\n\tlastRequestedRelease: {\n\t\tdefault: ''\n\t},\n\tsiteBanner: {\n\t\tdefault: { open: false, type: '' },\n\t\tschema: {\n\t\t\ttype: 'object'\n\t\t}\n\t},\n\tisResetInstancePasswordEmailFailed: {\n\t\tdefault: false\n\t},\n\tisResetPasswordEmailSuccessful: {\n\t\tdefault: false\n\t},\n\tchangedPdiUserRole: {\n\t\tdefault: ''\n\t},\n\tsuggestionPayload: {\n\t\tdefault: []\n\t},\n\tassignReqId: {\n\t\tdefault: null\n\t},\n\tinstanceRequestAlertId: {\n\t\tdefault: ''\n\t},\n\tisBuildAgentExperience: {\n\t\tdefault: false,\n\t},\n\tselectedModalBA: {\n\t\tdefault: null,\n\t},\n\tsearchConfig: {\n\t\tdefault: ''\n\t},\n\tpaginationToken: {\n\t\tdefault: ''\n\t},\n\tsearchResultMetaData: {\n\t\tdefault: {}\n\t},\n\tgeniusResult: {\n\t\tdefault: {}\n\t},\n\tsearchResultsTemplates: {\n\t\tdefault: {}\n\t},\n\tsearchSources:{\n\t\tdefault: []\n\t},\n\tsearchResultLoading:{\n\t\tdefault: true\n\t},\n\tnoSearchDataAvailable: {\n\t\tdefault: false\n\t},\n\tglobalSearchTerm: {\n\t\tdefault: \"\"\n\t},\n\tcommonData: {\n\t\tdefault: {},\n\t},\n\tisAutoAssignRunInBackground: {\n\t\tdefault: false\n\t},\n\tshowTips: {\n\t\tdefault: false\n\t},\n\tautoAssignAlertType: {\n\t\tdefault: 'setup'\n\t}\n};\n\nconst computedProperties = {\n\tcomputedRelease: {\n\t\tcomputed({ properties: { release, systemProperties, userInfo } }) {\n\t\t\treturn getComputedRelease({ release, systemProperties, userInfo });\n\t\t}\n\t},\n\thasSystemProperties: {\n\t\tcomputed({ properties: { systemProperties } }) {\n\t\t\treturn Object.keys(systemProperties).length > 0;\n\t\t}\n\t},\n\thasReleaseInfo: {\n\t\tcomputed({ properties: { releaseInfo } }) {\n\t\t\treturn Object.keys(releaseInfo.activeVersionsFormatted).length > 0;\n\t\t}\n\t},\n\thasUserInfo: {\n\t\tcomputed({ properties: { userInfo } }) {\n\t\t\treturn Object.keys(userInfo).length > 0;\n\t\t}\n\t},\n\thasSelectedModalBA: {\n\t\tcomputed(coeffects) {\n\t\t\tconst { instanceInfo, properties } = coeffects;\n\t\t\tif (instanceInfo?.instanceStatus && !userHasInstance(instanceInfo?.state)) {\n\t\t\t\tlet {\n\t\t\t\t\tdisplay_state,\n\t\t\t\t} = instanceInfo.instanceStatus;\n\t\t\t\tif (display_state?.toLowerCase() == INSTANCE_ACTION_STATES.FULFILLING_REQUEST.toLowerCase()) {\n\t\t\t\t\treturn properties?.selectedModalBA;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t}\n};\n\nconst routeProperties = {\n\tisPageNotFound: {\n\t\tdefault: false\n\t},\n\tpageNotFoundMessage: {\n\t\tdefault: ''\n\t},\n\tcontentDetails: {\n\t\tdefault: {}\n\t},\n\tisContentNotFoundForCurrentRelease: {\n\t\tdefault: false\n\t}\n};\n\nconst selectableProperties = {\n\t/**\n\t * Release information\n\t * ROUTES TODO - rename\n\t */\n\treleaseInfo: {\n\t\tdefault: {\n\t\t\tactiveVersionsFormatted: {},\n\t\t\tavailableVersions: {},\n\t\t\tdefaultSelectedVersion: CONSTANTS.DEFAULTS.DEFAULT_RELEASE,\n\t\t\tuserVersionSelected: null,\n\t\t\trelease: null,\n\t\t\tlatestRelease: null,\n\t\t\treleaseVersionToggled: false\n\t\t},\n\t\tselectable: true\n\t},\n\t/**\n\t * User Information\n\t */\n\tuserInfo: {\n\t\tdefault: {},\n\t\tselectable: true\n\t},\n\t/**\n\t * System properties\n\t */\n\tsystemProperties: {\n\t\tdefault: {},\n\t\tselectable: true\n\t}\n};\n\nconst properties = {\n\t...appProperties,\n\t...computedProperties,\n\t...selectableProperties,\n\t...routeProperties\n};\n\nexport default properties;\n","/* eslint-disable object-shorthand */\nimport { actionTypes, createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { DevPlatformStorage } from '../../utils/storage';\nimport { CONSTANTS } from '../../constants';\nimport styles from './dps-expired-session-modal.scss';\nimport { MemStorage } from '../../utils/memStorage';\n\nconst { COMPONENT_BOOTSTRAPPED } = actionTypes;\n\nconst view = (state, dispatch) => {\n\tconst { opened } = state.properties;\n\n\treturn (\n\t\t<dps-modal\n\t\t\topened={opened}\n\t\t\theaderLabel={'Session expired'}\n\t\t\tsize=\"sm\"\n\t\t\tclosable={true}\n\t\t\tfooterActions={[\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Close',\n\t\t\t\t\tclickActionType: 'DPS_MODAL#OPENED_SET',\n\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\tbare: 'bare',\n\t\t\t\t\tvalue: false\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Sign in',\n\t\t\t\t\tclickActionType: 'DPS_EXPIRED_SESSION_MODAL#LOGIN_CLICKED',\n\t\t\t\t\tvalue: false\n\t\t\t\t}\n\t\t\t]}\n\t\t>\n\t\t\tYou were gone for a while. You’ve been signed out.\n\t\t</dps-modal>\n\t);\n};\n\nexport default createCustomElement('dps-expired-session-modal', {\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: () => {\n\t\t\t//Remove user timed out flag in session storage\n\t\t\tsetTimeout(() => {\n\t\t\t\tDevPlatformStorage.removeFromLocalStorage(\n\t\t\t\t\tCONSTANTS.DEFAULTS.SESSION_TIMED_OUT_KEY\n\t\t\t\t);\n\t\t\t\tDevPlatformStorage.removeFromLocalStorage(\n\t\t\t\t\tCONSTANTS.DEFAULTS.EXPLICIT_LOGOUT_KEY\n\t\t\t\t);\n\t\t\t\tDevPlatformStorage.removeFromLocalStorage(\n\t\t\t\t\tCONSTANTS.DEFAULTS.SSO_RETURN_VALUE_KEY\n\t\t\t\t);\n\t\t\t\tMemStorage.clear();\n\t\t\t}, CONSTANTS.DEFAULTS.DELAY_REMOVE_MS);\n\t\t}\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Determines if lead track modal is open\n\t\t * @type {boolean}\n\t\t */\n\t\topened: { default: false }\n\t},\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tstyles,\n\tview\n});\n","/* eslint-disable no-param-reassign */\nconst resetElementStyles = (el, values = {}) => {\n\tfor (const k in values) {\n\t\tel.style[k] = values[k];\n\t}\n};\n\nconst toggleElement = el => {\n\tel.style.visibility = 'hidden';\n\tel.style.display = 'block';\n};\n\nexport const calcDropdownCoordinates = (\n\tdropdownButton,\n\tdropdownList,\n\toptions = {}\n) => {\n\tconst PADDING = 2;\n\n\tconst { containerElement, layoutElement } = options;\n\tconst { offsetHeight, offsetLeft, offsetTop, offsetWidth } = dropdownButton;\n\tconst originalDropdownListStyles = {\n\t\tdisplay: dropdownList.style.display,\n\t\tvisibility: dropdownList.style.visibility\n\t};\n\tconst viewRect = {\n\t\theight: containerElement.clientHeight,\n\t\ttop: containerElement.scrollTop,\n\t\tbottom: 0\n\t};\n\n\tviewRect.bottom = viewRect.height + viewRect.top;\n\n\ttoggleElement(dropdownList);\n\tconst dropdownListHeight = dropdownList.offsetHeight;\n\tresetElementStyles(dropdownList, originalDropdownListStyles);\n\n\tconst left = offsetLeft - offsetWidth - options.leftOffset;\n\tconst compositeTop = layoutElement.offsetTop + dropdownListHeight + PADDING;\n\n\tlet top;\n\n\tif (compositeTop >= viewRect.bottom) {\n\t\ttop = -dropdownListHeight + -offsetTop + -PADDING;\n\t} else {\n\t\ttop = offsetTop + offsetHeight + PADDING;\n\t}\n\n\treturn { top, left };\n};\n","import {\n\tformatSysParam,\n\tfindParentNode,\n\tmatchesSelector\n} from '../../utils/helpers';\nimport { DPS_INSTANCE_MODAL_ACTIONS } from './actions';\nimport { calcDropdownCoordinates } from '../../utils/dropdown';\nimport { DPS_NAV_INSTANCE_MANAGEMENT, CONSTANTS } from '../../constants';\n\nexport const handleOnActivateDropdownClick = (plugin, e) => {\n\te.stopPropagation();\n\n\tconst LEFT_OFFSET = 28;\n\tconst dropdownButton = e.target;\n\tconst dropdownWrapper = dropdownButton.parentNode;\n\tconst viewEl = findParentNode(dropdownButton, 'instanceModal-pluginView');\n\tconst dropdownList = dropdownWrapper.querySelector(\n\t\t'.pluginActivate-dropdown'\n\t);\n\tconst contentEl = findParentNode(dropdownButton, 'instanceModal-content', 10);\n\tconst rowEl = dropdownWrapper.parentElement.parentElement;\n\n\n\tconst { top, left } = calcDropdownCoordinates(dropdownButton, dropdownList, {\n\t\tcontainerElement: contentEl,\n\t\tlayoutElement: rowEl,\n\t\tleftOffset: LEFT_OFFSET\n\t});\n\tconst pluginEl = dropdownWrapper.parentElement.parentElement.parentElement;\n\tconst childNodesLength = pluginEl.childElementCount;\n\tconst childNodes = pluginEl.childNodes;\n\n\n\tif(contentEl.classList.contains('-activate-plugin')) {\n\t\tcontentEl.classList.remove('-activate-plugin');\n\t} else if(childNodes && childNodesLength > 8 && childNodes[childNodesLength - 2].isEqualNode(rowEl)) {\n\t\tcontentEl.classList.add('-activate-plugin');\n\t}\n\n\tif (dropdownList.classList.contains('-visible')) {\n\t\tdropdownList.classList.remove('-visible');\n\t} else {\n\t\t// hide all pluginActivate-dropdowns\n\t\tviewEl.querySelectorAll('.pluginActivate-dropdown').forEach(dropdown => {\n\t\t\tdropdown.classList.remove('-visible');\n\t\t});\n\n\t\tdropdownList.classList.add('-visible');\n\t\tdropdownList.style.top = `${top}px`;\n\t\tdropdownList.style.left = `${left}px`;\n\t}\n};\n\nexport const handleOnActivateDropdownItemClick = (\n\te,\n\t{\n\t\tcat_item_id,\n\t\tdispatch,\n\t\tins_id,\n\t\tmodalRef,\n\t\tmenuItem,\n\t\tpluginId,\n\t\tuseDemoData,\n\t\tupdateProperties\n\t}\n) => {\n\tconst { current: modalEl } = modalRef;\n\tconst pluginDropdownEl = modalEl.querySelector('.pluginActivate-dropdown');\n\n\thandleOnExecuteCatItem({\n\t\tcat_item_id,\n\t\tdispatch,\n\t\tins_id,\n\t\tmenuItem,\n\t\tmodalRef,\n\t\tupdateProperties,\n\t\tadditionalParams: { pluginId, useDemoData, send_email: true }\n\t});\n\n\tpluginDropdownEl.classList.remove('-visible');\n};\n\n\nexport const handlePluginData = ({\ncat_item_id,\n\tdispatch\n}) =>{\n\tdispatch(DPS_INSTANCE_MODAL_ACTIONS.CLEAR_OP_RESULT, { clearOpResult: true });\n\tconst sysparm_data = formatSysParam('instance.ops.execute_cat_item', {\n\t\tins_id,\n\t\tcat_item_id,\n\t\tadditionalParams\n\t});\n\tdispatch(DPS_INSTANCE_MODAL_ACTIONS.EXECUTE_CAT_ITEM_STARTED, {\n\t\tsysparm_data\n\t});\n}\n\n\nexport const handleOnBlurPluginDropdown = (e, modalRef) => {\n\tconst { current: modalEl } = modalRef;\n\tconst { target } = e;\n\tconst pluginDropdownEls = modalEl.querySelectorAll(\n\t\t'.pluginActivate-dropdown'\n\t);\n\tconst activatePluginDropdownEls = modalEl.querySelectorAll(\n\t\t'.-activate-plugin'\n\t);\n\tconst isTargetPluginDropdownItem = matchesSelector(\n\t\ttarget,\n\t\t'pluginActivate-buttonDropdown'\n\t);\n\tconst isTargetPluginActivationBtn = matchesSelector(\n\t\ttarget,\n\t\t'pluginActivate-buttonWithDemo'\n\t);\n\t// if target is not pluginActivate-buttonDropdown and the box is open\n\t// then close it\n\tif (!isTargetPluginActivationBtn && !isTargetPluginDropdownItem) {\n\t\tpluginDropdownEls.forEach(dropdownEl => {\n\t\t\tdropdownEl.classList.remove('-visible');\n\t\t});\n\t\tactivatePluginDropdownEls &&\n\t\tactivatePluginDropdownEls.forEach(activatePluginEl => {\n\t\t\tactivatePluginEl.classList.remove('-activate-plugin');\n\t\t});\n\t}\n};\n\nexport const handleOnExecuteCatItem = ({\n\tcat_item_id,\n\tdispatch,\n\tins_id,\n\tmenuItem,\n\tmodalRef,\n\tadditionalParams = {},\n}) => {\n\tdispatch(DPS_INSTANCE_MODAL_ACTIONS.CLEAR_OP_RESULT, { clearOpResult: true });\n\tconst sysparm_data = formatSysParam('instance.ops.execute_cat_item', {\n\t\tins_id,\n\t\tcat_item_id,\n\t\tadditionalParams\n\t});\n\tif (additionalParams && additionalParams.quickResetWipeOperation) {\n\t\tdispatch(DPS_INSTANCE_MODAL_ACTIONS.SET_QUICK_RESET_WIPE_STATUS, {\n\t\t\tisQuickResetAndWipeInProgress: true\n\t\t});\n\t}\n\tdispatch(DPS_INSTANCE_MODAL_ACTIONS.EXECUTE_CAT_ITEM_STARTED, {\n\t\tmenuItem,\n\t\tsysparm_data\n\t});\n\n\t// get new instanceInfo if the user did anything but change their role\n\tconst userRoleChangeSysId = \"3e02aacb1b0560909e1d117a234bcb4d\";\n\tif (cat_item_id !== userRoleChangeSysId && !additionalParams.quickResetWipeOperation) {\n\t\tdispatch(DPS_INSTANCE_MODAL_ACTIONS.UPDATE_INSTANCE_STATE, { direct_wake_up: false });\n\t}\n\ttoggleContentOpRequest(modalRef);\n};\n\nexport const handleOnFilter = ({ dispatch, searchTerm }) => {\n\tdispatch(DPS_INSTANCE_MODAL_ACTIONS.FILTER_PLUGINS, { searchTerm });\n};\n\nexport const handleOnHookInsert = modalRef => {\n\tconst { current: modalEl } = modalRef;\n\tmodalEl.addEventListener('click', e => {\n\t\thandleOnBlurPluginDropdown(e, modalRef);\n\t});\n};\n\nexport const handleOnMenuItemClick = ({\n\tavailablePlugins,\n\tdispatch,\n\tevent,\n\tmaxOperationHistory = CONSTANTS.DEFAULTS.MAX_ITEMS_OPERATION_HISTORY,\n\tmenuItem = null,\n\tselectedOperationType = 'all',\n\tselectedOperationHistoryPage = 1,\n\tupdateProperties\n}) => {\n\tconst el = event.target;\n\tconst modalEl = findParentNode(el, 'instanceModal');\n\tconst { sysId } = el.dataset;\n\n\tconst isActivatingPlugin = menuItem && menuItem.name === 'Activate plugin';\n\tconst isViewingHistory = menuItem && menuItem.name === 'operationHistory';\n\n\ttoggleContentView(sysId, modalEl);\n\tif (isActivatingPlugin && availablePlugins.length === 0) {\n\t\tdispatch(DPS_INSTANCE_MODAL_ACTIONS.FETCH_AVAILABLE_PLUGINS);\n\t}\n\tif (isViewingHistory) {\n\t\tdispatch(DPS_INSTANCE_MODAL_ACTIONS.FETCH_INSTANCE_OPERATION_HISTORY, {\n\t\t\tmaxOperationHistory,\n\t\t\tselectedOperationType,\n\t\t\tselectedOperationHistoryPage\n\t\t});\n\t}\n\tupdateProperties({ selectedCatItemId: sysId, confirmChecked: false });\n};\n\nexport const handleonLinkClick = ({\n\tcurrentTarget,\n\tupdateProperties,\n\tsystemProperties\n}) => {\n\tconst modalEl = findParentNode(currentTarget, 'instanceModal', 100);\n\tconst zboot_sysId = systemProperties['dev.cat_item.zboot'];\n\ttoggleContentView(zboot_sysId, modalEl);\n\tupdateProperties({ selectedCatItemId: zboot_sysId });\n};\n\nexport const toggleContentView = (sysId, modalEl) => {\n\tconst visibleContentViews = modalEl.querySelectorAll(\n\t\t'.instanceModal-contentView.-visible'\n\t);\n\tconst targetContentView = modalEl.querySelector(\n\t\t`.instanceModal-contentView-${sysId}`\n\t);\n\n\tvisibleContentViews.forEach(view => {\n\t\tview.classList.remove('-visible');\n\t});\n\ttargetContentView.classList.add('-visible');\n};\n\nexport const toggleContentMain = modalEl => {\n\tconst contentViewEl = modalEl.querySelector(\n\t\t'.instanceModal-contentView.-visible'\n\t);\n\tconst contentMainEl = contentViewEl.querySelector(\n\t\t'.instanceModal-contentMain'\n\t);\n\tconst contentOpRequestEl = contentViewEl.querySelector(\n\t\t'.instanceModal-contentOpRequest'\n\t);\n\tcontentMainEl.classList.add('-visible');\n\tcontentOpRequestEl.classList.remove('-visible');\n};\n\nexport const toggleContentOpRequest = modalRef => {\n\tconst { current: modalEl } = modalRef;\n\tconst contentViewEl = modalEl.querySelector(\n\t\t'.instanceModal-contentView.-visible'\n\t);\n\tconst contentMainEl = contentViewEl.querySelector(\n\t\t'.instanceModal-contentMain'\n\t);\n\tconst contentOpRequestEl = contentViewEl.querySelector(\n\t\t'.instanceModal-contentOpRequest'\n\t);\n\tcontentMainEl && contentMainEl.classList.remove('-visible');\n\tcontentOpRequestEl && contentOpRequestEl.classList.add('-visible');\n};\n","/* eslint-disable object-shorthand */\nimport { actionTypes } from '@servicenow/ui-core';\nimport { DPS_INSTANCE_MODAL_ACTIONS } from './actions';\nimport { isResetAdminPasswordInProgress } from '../../utils/instanceHelpers';\nimport { formatSysParam, pathHasPasswordReset } from '../../utils/helpers';\nimport { CONSTANTS } from '../../constants';\nimport { handleonLinkClick } from './handlers';\nimport { APP_ACTIONS } from '../../connected-components/dps-app/actions';\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nconst getInstanceCountDetails = ({ properties, dispatch }) => {\n\tconst {\n\t\tinstanceInfo: { full_release: releaseName }\n\t} = properties;\n\tconst sysparm_data = formatSysParam(\n\t\tCONSTANTS.DEV_PORTAL_ACTIONS.GET_INSTANCE_AVAILABILITY_COUNT,\n\t\t{\n\t\t\treleaseName\n\t\t}\n\t);\n\tdispatch(DPS_INSTANCE_MODAL_ACTIONS.GET_AVAILABLE_INSTANCE_COUNT, {\n\t\tsysparm_data\n\t});\n};\n\nconst handleResetWipeTypeSelected = ({ updateState, action }) => {\n\tconst {\n\t\tpayload: { value }\n\t} = action;\n\tconst quickResetWipeOperationType = value;\n\tupdateState({ quickResetWipeOperationType });\n};\n\nconst actionHandlers = {\n\t[COMPONENT_BOOTSTRAPPED](coeffects) {\n\t\tconst { properties, updateState, dispatch, updateProperties } = coeffects;\n\t\tconst { availablePlugins, menuItems, instanceInfo, selectedCatItemId, systemProperties } = properties;\n\t\tconst [menuItemEditorOptions] = menuItems.filter(\n\t\t\tmenuItem => menuItem.editorOptions !== ''\n\t\t);\n\t\tconst [emailEnabled] = menuItems.filter(\n\t\t\tmenuItem =>\n\t\t\t\tmenuItem.email_enabled === true || menuItem.email_enabled === false\n\t\t);\n\n\t\t// set plugins\n\t\tupdateState({\n\t\t\tpath: 'filteredPlugins',\n\t\t\tvalue: availablePlugins,\n\t\t\toperation: 'set'\n\t\t});\n\n\t\t// set default user role/editor type\n\t\tupdateState({\n\t\t\tpath: 'selectedUserRole',\n\t\t\tvalue: properties.pdiUserRole,\n\t\t\toperation: 'set'\n\t\t});\n\n\t\t// set options for the 'Change User Role' view\n\t\tif (menuItemEditorOptions) {\n\t\t\t['editorOptions', 'editorOptionsText', 'imageOptions'].forEach(key => {\n\t\t\t\tupdateState({\n\t\t\t\t\tpath: `userRoleOptions.${key}`,\n\t\t\t\t\tvalue: JSON.parse(menuItemEditorOptions[key]),\n\t\t\t\t\toperation: 'set'\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\tupdateProperties({\n\t\t\tpasswordResetFailed: false,\n\t\t\tpasswordResetEmailFailed: false,\n\t\t\tshowResetPasswordEmailConfirmation: false\n\t\t});\n\n\t\tif (emailEnabled) {\n\t\t\tupdateProperties({\n\t\t\t\tsendRecieveEmailCheckboxChecked: emailEnabled['email_enabled']\n\t\t\t});\n\t\t}\n\t\tif (systemProperties && selectedCatItemId === systemProperties['dev.cat_item.send_recieve_email']) {\n\t\t\tdispatch(APP_ACTIONS.GET_ACTION_MENU, {\n\t\t\t\tins_id: instanceInfo.sys_id\n\t\t\t});\n\t\t}\n\n\t\t// Dispatching an action to get available instance count on the current patch.\n\t\tgetInstanceCountDetails({ properties, dispatch });\n\t},\n\t[COMPONENT_PROPERTY_CHANGED](coeffects) {\n\t\tconst { action, state, updateState, updateProperties, properties, dispatch } = coeffects;\n\t\tconst { name, previousValue, value } = action.payload;\n\t\tconst propertyValueChanged =\n\t\t\tpreviousValue && value && previousValue.length !== value.length;\n\t\tconst { menuItems, sendRecieveEmailCheckboxChecked, instanceInfo, systemProperties, opResult } = properties;\n\n\t\tif (name === 'availablePlugins' && propertyValueChanged) {\n\t\t\tupdateState({\n\t\t\t\t...state,\n\t\t\t\tfilteredPlugins: value\n\t\t\t});\n\t\t}\n\n\t\tif (name === 'pdiUserRole') {\n\t\t\tupdateState({\n\t\t\t\tpath: 'selectedUserRole',\n\t\t\t\tvalue,\n\t\t\t\toperation: 'set'\n\t\t\t});\n\t\t}\n\n\t\tif (name === 'selectedCatItemId') {\n\t\t\tif (\n\t\t\t\tsystemProperties &&\n\t\t\t\tvalue === systemProperties['dev.cat_item.send_recieve_email']\n\t\t\t) {\n\t\t\t\tdispatch(APP_ACTIONS.GET_ACTION_MENU, {\n\t\t\t\t\tins_id: instanceInfo.sys_id\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (name === 'menuItems') {\n\t\t\tconst [menuItemEditorOptions] = value.filter(\n\t\t\t\tmenuItem => menuItem.editorOptions !== ''\n\t\t\t);\n\t\t\t// set options for the 'Change User Role' view\n\t\t\tif (menuItemEditorOptions) {\n\t\t\t\t['editorOptions', 'editorOptionsText', 'imageOptions'].forEach(key => {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpath: `userRoleOptions.${key}`,\n\t\t\t\t\t\tvalue: JSON.parse(menuItemEditorOptions[key]),\n\t\t\t\t\t\toperation: 'set'\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst [emailEnabled] = value.filter(\n\t\t\t\tmenuItem =>\n\t\t\t\t\tmenuItem.email_enabled === true || menuItem.email_enabled === false\n\t\t\t);\n\n\t\t}\n\t\tif (name === 'executeCatItemResult') {\n\t\t\tif (value.action) {\n\t\t\t\tvar index = menuItems.findIndex(\n\t\t\t\t\tmenuItem =>\n\t\t\t\t\t\tmenuItem.email_enabled === true || menuItem.email_enabled === false\n\t\t\t\t);\n\t\t\t\tvar newMenuItems = menuItems;\n\t\t\t\tnewMenuItems[index].email_enabled = sendRecieveEmailCheckboxChecked;\n\t\t\t\tupdateProperties({\n\t\t\t\t\tisSendRecieveInProgress: false,\n\t\t\t\t\tdisableClose: false\n\t\t\t\t});\n\t\t\t\tif (value['read status'] && value['send status']) {\n\t\t\t\t\tupdateProperties({ menuItems: newMenuItems });\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tupdateProperties({ executeCatItemResult: {} });\n\t\t\t\t\t}, 5000);\n\t\t\t\t} else {\n\t\t\t\t\tvar failMenuItems = menuItems;\n\t\t\t\t\tfailMenuItems[index].email_enabled = !sendRecieveEmailCheckboxChecked;\n\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\tsendRecieveEmailCheckboxChecked: !sendRecieveEmailCheckboxChecked,\n\t\t\t\t\t\tmenuItem: failMenuItems\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t[DPS_INSTANCE_MODAL_ACTIONS.FILTER_PLUGINS](coeffects) {\n\t\tconst { action, state, updateState } = coeffects;\n\t\tconst { searchTerm } = action.payload;\n\t\tconst { availablePlugins } = state.properties;\n\t\tconst filteredPlugins = availablePlugins.filter(\n\t\t\tplugin =>\n\t\t\t\tplugin.name.toLowerCase().indexOf(searchTerm.toLowerCase()) !== -1\n\t\t);\n\t\tupdateState({\n\t\t\tfilteredPlugins: [...filteredPlugins],\n\t\t\tsearchTerm\n\t\t});\n\t},\n\t[DPS_INSTANCE_MODAL_ACTIONS.SELECTED_UPGRADE](coeffects) {\n\t\tconst { action, updateState } = coeffects;\n\t\tconst { selectedUpgradeRelease } = action.payload;\n\t\tupdateState({\n\t\t\toperation: 'set',\n\t\t\tpath: 'selectedUpgradeRelease',\n\t\t\tvalue: selectedUpgradeRelease\n\t\t});\n\t},\n\t[DPS_INSTANCE_MODAL_ACTIONS.CONFIRMATION_CHECKED]({\n\t\taction,\n\t\tupdateProperties\n\t}) {\n\t\tconst { confirmChecked } = action.payload;\n\n\t\tupdateProperties({\n\t\t\tconfirmChecked\n\t\t});\n\t},\n\t'DPS_MODAL#OPENED_SET': coeffects => {\n\t\tconst { action, dispatch, properties, updateProperties } = coeffects;\n\t\tconst { type, value: isOpened } = action.payload;\n\t\tconst {\n\t\t\tmenuItems,\n\t\t\tshowOpResultBySysId,\n\t\t\tsystemProperties,\n\t\t\tinstanceInfo,\n\t\t\tpathname,\n\t\t\tshowResetPasswordConfirmation,\n\t\t\tinstancePassword\n\t\t} = properties;\n\t\tconst menuItemInProgress = menuItems.find(\n\t\t\tmenuItem => menuItem.sys_id === showOpResultBySysId\n\t\t);\n\t\t// clear the showOpResultBySysId only if we are resetting the admin password\n\t\tconst clearOpResult =\n\t\t\tmenuItemInProgress &&\n\t\t\tisResetAdminPasswordInProgress(menuItemInProgress, systemProperties);\n\n\t\tif (!isOpened) {\n\t\t\tif (\n\t\t\t\tinstanceInfo.state === 'Online' &&\n\t\t\t\tpathHasPasswordReset(window.location.href)\n\t\t\t) {\n\t\t\t\tlet url = window.location.href;\n\t\t\t\turl = url.split('?')[0];\n\t\t\t\twindow.location.href = url;\n\t\t\t}\n\n\t\t\tdispatch(DPS_INSTANCE_MODAL_ACTIONS.CLOSE_MODAL, { clearOpResult });\n\t\t\t//Tracking the close button\n\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\taction: 'Close modal',\n\t\t\t\tcategory: 'Instance Management Modal',\n\t\t\t\tlabel: type,\n\t\t\t\tvalue: '',\n\t\t\t\tga: true,\n\t\t\t\tadobe: false\n\t\t\t});\n\n\t\t\t// reset checkbox in confirm view\n\t\t\tupdateProperties({\n\t\t\t\tconfirmChecked: false\n\t\t\t});\n\t\t}\n\t},\n\t[DPS_INSTANCE_MODAL_ACTIONS.RESET_WIPE_TYPE_SELECTED]: handleResetWipeTypeSelected,\n\t'DPS_PAGINATION#PAGE_SET': coeffects => {\n\t\tconst { action, dispatch, properties, updateProperties } = coeffects;\n\t\tconst { maxOperationHistory, selectedOperationType } = properties;\n\t\tconst selectedOperationHistoryPage = parseInt(action.payload.value, 10);\n\n\t\tupdateProperties({\n\t\t\tselectedOperationHistoryPage\n\t\t});\n\n\t\tdispatch(DPS_INSTANCE_MODAL_ACTIONS.FETCH_INSTANCE_OPERATION_HISTORY, {\n\t\t\tmaxOperationHistory,\n\t\t\tselectedOperationType,\n\t\t\tselectedOperationHistoryPage\n\t\t});\n\t},\n\t'DPS_PAGINATION#PREV_PAGE': coeffects => {\n\t\tconst { dispatch, properties, updateProperties } = coeffects;\n\t\tconst {\n\t\t\tmaxOperationHistory,\n\t\t\tselectedOperationType,\n\t\t\tselectedOperationHistoryPage\n\t\t} = properties;\n\n\t\tconst prevPage = selectedOperationHistoryPage - 1;\n\n\t\tupdateProperties({\n\t\t\tselectedOperationHistoryPage: prevPage\n\t\t});\n\n\t\tdispatch(DPS_INSTANCE_MODAL_ACTIONS.FETCH_INSTANCE_OPERATION_HISTORY, {\n\t\t\tmaxOperationHistory,\n\t\t\tselectedOperationType,\n\t\t\tselectedOperationHistoryPage: prevPage\n\t\t});\n\t},\n\t'DPS_PAGINATION#NEXT_PAGE': coeffects => {\n\t\tconst { dispatch, properties, updateProperties } = coeffects;\n\t\tconst {\n\t\t\tmaxOperationHistory,\n\t\t\tselectedOperationType,\n\t\t\tselectedOperationHistoryPage\n\t\t} = properties;\n\n\t\tconst nextPage = selectedOperationHistoryPage + 1;\n\n\t\tupdateProperties({\n\t\t\tselectedOperationHistoryPage: nextPage\n\t\t});\n\n\t\tdispatch(DPS_INSTANCE_MODAL_ACTIONS.FETCH_INSTANCE_OPERATION_HISTORY, {\n\t\t\tmaxOperationHistory,\n\t\t\tselectedOperationType,\n\t\t\tselectedOperationHistoryPage: nextPage\n\t\t});\n\t},\n\t'NOW_TABS#SELECTED_ITEM_SET': coeffects => {\n\t\tconst { action, dispatch, properties, updateProperties } = coeffects;\n\t\tconst { value: selectedOperationType } = action.payload;\n\t\tconst { maxOperationHistory } = properties;\n\n\t\tupdateProperties({\n\t\t\tselectedOperationType,\n\t\t\tselectedOperationHistoryPage: 1\n\t\t});\n\n\t\tdispatch(DPS_INSTANCE_MODAL_ACTIONS.FETCH_INSTANCE_OPERATION_HISTORY, {\n\t\t\tmaxOperationHistory,\n\t\t\tselectedOperationType,\n\t\t\tselectedOperationHistoryPage: 1\n\t\t});\n\t},\n\t[DPS_INSTANCE_MODAL_ACTIONS.DROPDOWN_OPTION_SELECTED]: ({\n\t\tupdateProperties,\n\t\taction,\n\t\tproperties\n\t}) => {\n\t\tconst { value } = action.payload;\n\t\tupdateProperties({ value, selected: value });\n\t\tconst { systemProperties, menuItems } = properties;\n\t\tvar findVal = element => element.name === 'Reset and wipe instance';\n\t\tconst index = menuItems.findIndex(findVal);\n\t\tindex === -1\n\t\t\t? updateProperties({ resetLinkDisabled: true })\n\t\t\t: updateProperties({ resetLinkDisabled: menuItems[index].disabled });\n\t\tconst fieldHelperOptions = JSON.parse(\n\t\t\tsystemProperties['dev.instance.modal.release.field.helper.text']\n\t\t);\n\t},\n\t[DPS_INSTANCE_MODAL_ACTIONS.TEXT_FIELD_UPDATED]: ({\n\t\taction,\n\t\tupdateProperties\n\t}) => {\n\t\tconst {\n\t\t\tpayload: { value }\n\t\t} = action;\n\n\t\tupdateProperties({ textBoxVal: value });\n\t},\n\t[DPS_INSTANCE_MODAL_ACTIONS.RESET_LINK_CLICKED]: ({\n\t\tupdateProperties,\n\t\taction,\n\t\tproperties\n\t}) => {\n\t\tconst { systemProperties } = properties;\n\t\tconst { currentTarget } = action.payload;\n\t\thandleonLinkClick({ currentTarget, updateProperties, systemProperties });\n\t},\n\t[DPS_INSTANCE_MODAL_ACTIONS.CHANGE_USER_ROLE]: ({ updateState, action }) => {\n\t\tconst {\n\t\t\tpayload: { role }\n\t\t} = action;\n\t\tupdateState({ selectedUserRole: role });\n\t},\n\t[DPS_INSTANCE_MODAL_ACTIONS.SEND_RECIEVE_EMAIL_CHECKBOX_CLICKED]: ({ updateProperties, action }) => {\n\t\tconst {\n\t\t\tpayload: { checked }\n\t\t} = action;\n\t\tupdateProperties({ sendRecieveEmailCheckboxChecked: checked });\n\t},\n\t[DPS_INSTANCE_MODAL_ACTIONS.SEND_RESET_PASSWORD_EMAIL]: ({ updateProperties, dispatch }) => {\n\t\tdispatch(APP_ACTIONS.RESET_EMAIL_ALERTS);\n\t\tupdateProperties({\n\t\t\tshowResetPasswordConfirmation: false,\n\t\t\tpasswordResetFailed: false\n\t\t});\n\t\tdispatch(APP_ACTIONS.SEND_INSTANCE_RESET_PASSWORD_EMAIL);\n\t},\n};\n\nexport default actionHandlers;\n","import { CONSTANTS } from '../../constants';\n\nconst properties = {\n\taction: {\n\t\tdefault: null\n\t},\n\tavailablePlugins: {\n\t\tdefault: []\n\t},\n\tcatItemInProgress: {\n\t\tdefault: null\n\t},\n\tconfirmChecked: {\n\t\tdefault: false\n\t},\n\tdisableClose: {\n\t\tdefault: false\n\t},\n\texecuteCatItemResult: {\n\t\tdefault: {}\n\t},\n\tinstanceId: {\n\t\tdefault: ''\n\t},\n\tinstanceInfo: {\n\t\tdefault: {}\n\t},\n\tinstanceVersion: {\n\t\tdefault: ''\n\t},\n\tisLoadingOperationHistory: {\n\t\tdefault: false\n\t},\n\tisLoadingPlugins: {\n\t\tdefault: false\n\t},\n\tmaxOperationHistory: {\n\t\tdefault: CONSTANTS.DEFAULTS.MAX_ITEMS_OPERATION_HISTORY\n\t},\n\tmenuItems: {\n\t\tdefault: []\n\t},\n\topened: {\n\t\tdefault: false\n\t},\n\toperationHistory: {\n\t\tdefault: []\n\t},\n\topResult: {\n\t\tdefault: {}\n\t},\n\tpdiUserRole: {\n\t\tdefault: 'aes.creator',\n\t\tschema: {\n\t\t\ttype: 'string'\n\t\t}\n\t},\n\treleaseInfo: {\n\t\tdefault: {}\n\t},\n\tselectedCatItemId: {\n\t\tdefault: '0'\n\t},\n\tselectedOperationType: {\n\t\tdefault: 'all'\n\t},\n\tselectedOperationHistoryPage: {\n\t\tdefault: 1\n\t},\n\tshowOpResultBySysId: {\n\t\tdefault: null\n\t},\n\tsystemProperties: {\n\t\tdefault: {}\n\t},\n\ttotalNumberOfOperations: {\n\t\tdefault: 0\n\t},\n\tupgradeableInstanceTargets: {\n\t\tdefault: []\n\t},\n\tisInstanceAvailableInSamePatch: {\n\t\tdefault: false\n\t},\n\tselected: {\n\t\tdefault: 'Please select an option'\n\t},\n\ttextBoxVal: {\n\t\tdefault: ''\n\t},\n\tresetLinkDisabled: {\n\t\tdefault: false\n\t},\n\tsendRecieveEmailCheckboxChecked: {\n\t\tdefault: false\n\t},\n\ttooltipRef: {\n\t\tdefault: null\n\t},\n\tisSendRecieveInProgress: {\n\t\tdefault: false\n\t},\n\tdisabledTooltipRef: {\n\t\tdefault: null\n\t},\n\tshowResetPasswordEmailConfirmation: {\n\t\tdefault: false\n\t},\n\tshowResetPasswordConfirmation: {\n\t\tdefault: false\n\t},\n\tusersEmail: {\n\t\tdefault: ''\n\t},\n\tinstancePassword: {\n\t\tdefault: ''\n\t},\n\tinstanceUrl: {\n\t\tdefault: ''\n\t},\n\tpasswordResetFailed: {\n\t\tdefault: false\n\t},\n\tpasswordResetEmailFailed: {\n\t\tdefault: false\n\t}\n};\n\nexport default properties;\n","import { isEmpty } from 'lodash';\nimport { createPath } from '../../../utils/url';\nimport { getSystemProperties } from '../../../connected-components/dps-app/actionHelpers';\n\nconst InstanceHelpTabContent = props => {\n\tconst { catItemInProgress, release, selectedCatItemId, systemProperties } = props;\n\tconst COMMUNITY_LINK = systemProperties['dev.community_link'];\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'instanceModal-contentView-instanceHelp': true,\n\t\t\t\t'instanceModal-contentView': true,\n\t\t\t\t'-visible':\n\t\t\t\t\t(!isEmpty(catItemInProgress) &&\n\t\t\t\t\t\tcatItemInProgress === 'instanceHelp') ||\n\t\t\t\t\tselectedCatItemId === 'instanceHelp'\n\t\t\t}}\n\t\t\tdata-sysId=\"instanceHelp\"\n\t\t>\n\t\t\t<h4>Get help on your personal instance</h4>\n\t\t\t<p>\n\t\t\t\tIf you're running into issues with your instance or have some general\n\t\t\t\tquestions, don't fret. We have a few resources to help you out.\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\tChoose one of the following options:\n\t\t\t\t<ul>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\thref={createPath(\n\t\t\t\t\t\t\t\t`/guide/${release}/now-platform/pdi-guide/personal-developer-instance-guide-introduction`\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\ticon=\"link-fill\"\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tPersonal Developer Instance Guide\n\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\thref=\"https://community.servicenow.com/community?id=community_forum&sys_id=22299a2ddbd897c068c1fb651f96190e\"\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\texternalAction={true}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tReport a Problem with your Instance — Instance Help Thread\n\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\thref={ COMMUNITY_LINK }\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\texternalAction={true}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tGet Help — Community Forums\n\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</p>\n\t\t</div>\n\t);\n};\n\nexport default InstanceHelpTabContent;\n","/* eslint-disable no-unused-vars */\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { isEmpty } from '../../../utils/helpers';\nimport { DPS_INSTANCE_MODAL_ACTIONS } from '../actions';\nimport {\n\tisChangingUserRole,\n\tisResetAdminPasswordInProgress\n} from '../../../utils/instanceHelpers';\n\nconst getMessage = resultObj => (!isEmpty(resultObj) ? resultObj.message : '');\nconst hasFailed = resultObj =>\n\t!isEmpty(resultObj) &&\n\t(resultObj.status === 'FAILED' || resultObj.status === 'FAIL');\n\nconst OpResult = props => {\n\tconst {\n\t\tdispatch,\n\t\texecuteCatItemResult,\n\t\tmenuItem,\n\t\topResult,\n\t\tsystemProperties\n\t} = props;\n\n\tconst hasResult = !isEmpty(opResult) || !isEmpty(executeCatItemResult);\n\tconst catItemSysId = menuItem && menuItem.sys_id;\n\tconst isPerformingChangeUserRole = isChangingUserRole(\n\t\tcatItemSysId,\n\t\tsystemProperties\n\t);\n\tconst isPerformingResetPassword = isResetAdminPasswordInProgress(\n\t\tmenuItem,\n\t\tsystemProperties\n\t);\n\tconst showSpinner =\n\t\t!hasResult && (isPerformingResetPassword || isPerformingChangeUserRole);\n\tconst showResults =\n\t\thasResult && (isPerformingResetPassword || isPerformingChangeUserRole);\n\n\tconst resultMessage = getMessage(opResult) || getMessage(executeCatItemResult);\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{menuItem.requestSubmittedMessage || menuItem.statusText}\n\n\t\t\t{showSpinner ? <dps-spinner size=\"sm\" /> : null}\n\n\t\t\t{showResults ? (\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'opResult-message': true,\n\t\t\t\t\t\t['-inProgress']:\n\t\t\t\t\t\t\t!hasFailed(opResult) || !hasFailed(executeCatItemResult),\n\t\t\t\t\t\t['-failed']: hasFailed(opResult) || hasFailed(executeCatItemResult)\n\t\t\t\t\t}}\n\t\t\t\t\tinnerHTML={resultMessage}\n\t\t\t\t></div>\n\t\t\t) : null}\n\n\t\t\t{!isEmpty(opResult) ? (\n\t\t\t\t<dps-button\n\t\t\t\t\tclassName=\"contentOpRequest-DoneButton\"\n\t\t\t\t\tlabel=\"Done\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\ton-click={e => {\n\t\t\t\t\t\tdispatch(DPS_INSTANCE_MODAL_ACTIONS.CONFIRMATION_DONE_CLICKED, {\n\t\t\t\t\t\t\tclearOpResult: true\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t</Fragment>\n\t);\n};\n\nexport default OpResult;\n","export const RESET_INSTANCE = 'Reset and wipe instance';\nexport const UPGRADE_INSTANCE = 'Upgrade instance';\nexport const RESET_INSTANCE_MESSAGE = 'By checking this box, you acknowledge that resetting your instance permanently erases all customizations and settings.';\nexport const RESET_WIPE_TYPE_OPTIONS = {\n\tNORMAL: 'Normal',\n\tQUICK: 'Quick'\n};\nexport const REMOVE_DEMO_DATA = 'Remove demo data';\n","/* eslint-disable no-unused-vars */\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { DPS_INSTANCE_MODAL_ACTIONS } from '../actions';\nimport { handleOnExecuteCatItem } from '../handlers';\nimport OpResult from './OpResult';\nimport {CONSTANTS} from \"../../../constants\";\nimport '@servicenow/now-tooltip';\nimport {REMOVE_DEMO_DATA} from '../constants';\n\nconst ExecCatItemTabContent = props => {\n\tconst {\n\t\taction,\n\t\tconfirmChecked,\n\t\tdispatch,\n\t\texecuteCatItemResult,\n\t\tins_id,\n\t\tmenuItem,\n\t\tmodalRef,\n\t\topResult,\n\t\tshowOpResultBySysId,\n\t\tsystemProperties,\n\t\tdisabledTooltipRef,\n\t\tupdateProperties\n\t} = props;\n\n\tconst opResultProps = {\n\t\tdispatch,\n\t\texecuteCatItemResult,\n\t\tmenuItem,\n\t\topResult,\n\t\tsystemProperties\n\t};\n\n\tconst showMainContent =\n\t\tshowOpResultBySysId === null || showOpResultBySysId !== menuItem.sys_id;\n\tconst showOpResult =\n\t\tshowOpResultBySysId && showOpResultBySysId === menuItem.sys_id;\n\n\tconst setDisabledTooltipRef = ref => {\n\t\tupdateProperties({ disabledTooltipRef: ref});\n\t};\n\n\tconst removeDemoDataTooltip = \"Please check the box to accept the acknowledgment.\";\n\n\tlet checkbox;\n\n\tif (action) {\n\t\tcheckbox = (\n\t\t\t<div className=\"instanceModal-checkbox\">\n\t\t\t\t<input\n\t\t\t\t\tid={`confirm-${action.type}`}\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\tname={`confirm-${action.type}`}\n\t\t\t\t\tvalue={true}\n\t\t\t\t\tchecked={confirmChecked}\n\t\t\t\t\ton-input={e =>\n\t\t\t\t\t\tdispatch(DPS_INSTANCE_MODAL_ACTIONS.CONFIRMATION_CHECKED, {\n\t\t\t\t\t\t\tconfirmChecked: e.target.checked\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<label htmlFor={`confirm-${action.type}`}>{action.message}</label>\n\t\t\t</div>\n\t\t);\n\t}\n\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'instanceModal-contentMain': true,\n\t\t\t\t\t'-visible': showMainContent\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"instanceModal-confirmationView\">\n\t\t\t\t\t<div className=\"viewMessage\" innerHTML={menuItem.confirmMessage}></div>\n\t\t\t\t\t<div className=\"viewFooter\">\n\t\t\t\t\t\t{checkbox}\n\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\t\tlabel=\"Cancel\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\tdispatch('DPS_MODAL#OPENED_SET', { value: false });\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t></dps-button>\n\t\t\t\t\t\t{!confirmChecked && menuItem.name === REMOVE_DEMO_DATA ? <now-tooltip\n\t\t\t\t\t\t\tid=\"remove-demo-data-disabled-tooltip\"\n\t\t\t\t\t\t\ttarget-ref={disabledTooltipRef}\n\t\t\t\t\t\t\tcontent={removeDemoDataTooltip}\n\t\t\t\t\t\t\tdelay={CONSTANTS.DEFAULTS.DELAY_TOOLTIP_MS}\n\t\t\t\t\t\t/> : null }\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tlabel={menuItem.name}\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\t\t\tif(!confirmChecked) {\n\t\t\t\t\t\t\t\t\tsetDisabledTooltipRef(elm);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'dps-button': true,\n\t\t\t\t\t\t\t\t[`-${action && action.variant || 'secondary'}`]: true,\n\t\t\t\t\t\t\t\t'-md': true,\n\t\t\t\t\t\t\t\t'is-disabled': !confirmChecked\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\tconfirmChecked &&\n\t\t\t\t\t\t\t\thandleOnExecuteCatItem({\n\t\t\t\t\t\t\t\t\tcat_item_id: menuItem.sys_id,\n\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\tins_id,\n\t\t\t\t\t\t\t\t\tmenuItem,\n\t\t\t\t\t\t\t\t\tmodalRef\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span>{menuItem.name}</span>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'instanceModal-contentOpRequest': true,\n\t\t\t\t\t'-visible': showOpResult\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<OpResult {...opResultProps} />\n\t\t\t</div>\n\t\t</Fragment>\n\t);\n};\n\nexport default ExecCatItemTabContent;\n","/* eslint-disable no-unused-vars */\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { debounce, get, isEmpty } from 'lodash';\nimport '../../dps-spinner';\nimport {\n\thandleOnActivateDropdownClick,\n\thandleOnActivateDropdownItemClick,\n\thandleOnExecuteCatItem,\n\thandleOnFilter\n} from '../handlers';\nimport { updateRoute } from '../../../routes';\nimport { APP_ACTIONS } from '../../../connected-components/dps-app/actions';\nimport OpResult from './OpResult';\n\nconst debouncedOnFilter = debounce(handleOnFilter, 300);\n\nconst PluginTabContent = props => {\n\tconst {\n\t\tdispatch,\n\t\texecuteCatItemResult,\n\t\tfilteredPlugins,\n\t\tins_id,\n\t\tisLoadingPlugins,\n\t\tmenuItem,\n\t\tmodalRef,\n\t\topResult,\n\t\trelease,\n\t\tsearchTerm,\n\t\tshowOpResultBySysId,\n\t\tcatItemInProgress,\n\t\tupdateProperties,\n\t\tsystemProperties\n\t} = props;\n\n\tconst opResultProps = {\n\t\tdispatch,\n\t\texecuteCatItemResult,\n\t\tmenuItem,\n\t\topResult\n\t};\n\tconst showMainContent =\n\t\tshowOpResultBySysId === null || showOpResultBySysId !== menuItem.sys_id;\n\tconst showOpResult =\n\t\tshowOpResultBySysId && showOpResultBySysId === menuItem.sys_id;\n\n\tconst handleOnClickSearchSite = term => {\n\t\tdispatch('DPS_MODAL#OPENED_SET', { value: false });\n\t\tdispatch(APP_ACTIONS.CLOSE_NAV_HEADER);\n\t\tupdateRoute(`/search/${release}/All/${term}`);\n\t};\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'instanceModal-contentMain': true,\n\t\t\t\t\t'-visible': showMainContent\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"instanceModal-pluginView\">\n\t\t\t\t\t<div className=\"pluginView-content\">\n\t\t\t\t\t\t{isLoadingPlugins ? (\n\t\t\t\t\t\t\t<dps-spinner size=\"sm\" />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t<div className=\"row -header\">\n\t\t\t\t\t\t\t\t\t<div className=\"titleCell\">\n\t\t\t\t\t\t\t\t\t\t<span className=\"title\">Plugin Title/Description</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"actionCell\">\n\t\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"filterPlugins\"\n\t\t\t\t\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"Type to Filter Plugins\"\n\t\t\t\t\t\t\t\t\t\t\ton-input={e => {\n\t\t\t\t\t\t\t\t\t\t\t\tconst { target } = e;\n\t\t\t\t\t\t\t\t\t\t\t\tdebouncedOnFilter({\n\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t\t\t\t\tsearchTerm: target.value\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t{filteredPlugins.map(plugin => (\n\t\t\t\t\t\t\t\t\t<div className=\"row -plugin\">\n\t\t\t\t\t\t\t\t\t\t<div className=\"titleCell\">\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"title\">{plugin.name}</span>\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"description\">{plugin.short_desc}</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div className=\"actionCell\">\n\t\t\t\t\t\t\t\t\t\t\t{plugin.hasDemoData === '1' ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"pluginActivate-withDemoWrapper\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"pluginActivate-button pluginActivate-buttonWithDemo\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ticon=\"chevron-down-fill\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel=\"Activate\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ton-click={e =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleOnActivateDropdownClick(plugin, e)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"pluginActivate-dropdown\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"pluginActivate-button pluginActivate-buttonDropdown\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ton-click={e => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleOnActivateDropdownItemClick(e, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcat_item_id: menuItem.sys_id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tins_id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodalRef,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmenuItem,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpluginId: plugin.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuseDemoData: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tupdateProperties\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tActivate plugin\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"pluginActivate-button pluginActivate-buttonDropdown\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ton-click={e => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleOnActivateDropdownItemClick(e, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcat_item_id: menuItem.sys_id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tins_id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodalRef,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmenuItem,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpluginId: plugin.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuseDemoData: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tupdateProperties\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tActivate plugin with demo data\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"pluginActivate-button pluginActivate-buttonNoDemo\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel=\"Activate\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleOnExecuteCatItem({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcat_item_id: menuItem.sys_id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tins_id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodalRef,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmenuItem,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadditionalParams: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpluginId: plugin.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuseDemoData: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsend_email: true\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t<div className=\"row -end\">\n\t\t\t\t\t\t\t\t\t<p>End of available plugins</p>\n\t\t\t\t\t\t\t\t\t{!isEmpty(searchTerm) ? (\n\t\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\t\t\t\t\t\tlinkStyle\n\t\t\t\t\t\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\thandleOnClickSearchSite(searchTerm);\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\tSearch \"{searchTerm}\" in the ServiceNow Developer Site\n\t\t\t\t\t\t\t\t\t\t\t</dps-button>\n\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'instanceModal-contentOpRequest': true,\n\t\t\t\t\t'-visible': showOpResult\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<OpResult {...opResultProps} />\n\t\t\t</div>\n\t\t</Fragment>\n\t);\n};\n\nexport default PluginTabContent;\n","/* eslint-disable no-unused-vars */\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { isEmpty } from 'lodash';\nimport { transformReleaseName } from '../../../utils/transformReleaseName';\nimport { DPS_INSTANCE_MODAL_ACTIONS } from '../actions';\nimport { handleOnExecuteCatItem } from '../handlers';\nimport OpResult from './OpResult';\n\nconst UpgradeInstanceTabContent = props => {\n\tconst {\n\t\tdispatch,\n\t\texecuteCatItemResult,\n\t\tmenuItem,\n\t\tins_id,\n\t\tmodalRef,\n\t\topResult,\n\t\treleaseName,\n\t\tselectedUpgradeRelease,\n\t\tshowOpResultBySysId,\n\t\tupgradeableInstanceTargets,\n\t\treleaseInfo,\n\t\tsystemProperties\n\t} = props;\n\n\tconst opResultProps = {\n\t\tdispatch,\n\t\texecuteCatItemResult,\n\t\tmenuItem,\n\t\topResult\n\t};\n\n\t//latestRelease is latest release name ex:- yokohama, xanadu\n\tconst latestReleaseName = transformReleaseName(releaseInfo.latestRelease);\n\n\t//releaseName is current release version name ex:- Yokohama Patch 1\n\tconst isLatestRelease =\n\t\treleaseName.toLowerCase().includes(latestReleaseName.toLowerCase());\n\t\t\n\tconst showMainContent =\n\t\tshowOpResultBySysId === null || showOpResultBySysId !== menuItem.sys_id;\n\tconst showOpResult =\n\t\tshowOpResultBySysId && showOpResultBySysId === menuItem.sys_id;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'instanceModal-contentMain': true,\n\t\t\t\t\t'-visible': showMainContent\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"instanceModal-confirmationView\">\n\t\t\t\t\t<div className=\"viewMessage\">\n\t\t\t\t\t\t<div className=\"upgradeInstance\">\n\t\t\t\t\t\t\t<p className=\"currentVersion\">\n\t\t\t\t\t\t\t\tYour current version is: {transformReleaseName(releaseName)}\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t{(!isLatestRelease) ? (\n\t\t\t\t\t\t\t\t<p>{(() => { try { return JSON.parse(systemProperties?.['dev.build_agent.availability_text'] || '{}')?.availability_text; } catch(e) { return null; } })() || `We recommend upgrading to our latest release, ${latestReleaseName}, so that you get access to the latest features and functionalities.`}</p>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t<div className=\"releaseSelector\">\n\t\t\t\t\t\t\t\t{upgradeableInstanceTargets.map((target, idx) => (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\treleaseCard: true,\n\t\t\t\t\t\t\t\t\t\t\t'-disabled': target.disabled,\n\t\t\t\t\t\t\t\t\t\t\t'-selected':\n\t\t\t\t\t\t\t\t\t\t\t\tselectedUpgradeRelease.sys_id === target.sys_id\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\t\t\t\t!target.disabled\n\t\t\t\t\t\t\t\t\t\t\t\t? dispatch(\n\t\t\t\t\t\t\t\t\t\t\t\t\tDPS_INSTANCE_MODAL_ACTIONS.SELECTED_UPGRADE,\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedUpgradeRelease: target\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t: null;\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{idx === 0 ? (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"releaseCard-latest\">Latest</div>\n\t\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t\t<div className=\"releaseCard-img\">\n\t\t\t\t\t\t\t\t\t\t\t<img src={target.releaseImage} />\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<span className=\"releaseCard-title\">\n\t\t\t\t\t\t\t\t\t\t\t{target.upgradeTarget}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t{!target.disabled ? (\n\t\t\t\t\t\t\t\t\t\t\t<dps-link href={target.releaseNotes} target=\"_blank\">\n\t\t\t\t\t\t\t\t\t\t\t\tRelease Notes\n\t\t\t\t\t\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<span>Release Notes</span>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"viewFooter\">\n\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\t\tlabel=\"Cancel\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\tdispatch('DPS_MODAL#OPENED_SET', { value: false });\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t></dps-button>\n\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\tdisabled={isEmpty(selectedUpgradeRelease) || selectedUpgradeRelease.disabled}\n\t\t\t\t\t\t\tlabel=\"Upgrade instance\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\tif (!isEmpty(selectedUpgradeRelease) && !selectedUpgradeRelease.disabled) {\n\t\t\t\t\t\t\t\t\thandleOnExecuteCatItem({\n\t\t\t\t\t\t\t\t\t\tcat_item_id: selectedUpgradeRelease.sys_id,\n\t\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t\tins_id,\n\t\t\t\t\t\t\t\t\t\tmenuItem,\n\t\t\t\t\t\t\t\t\t\tmodalRef\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'instanceModal-contentOpRequest': true,\n\t\t\t\t\t'-visible': showOpResult\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<OpResult {...opResultProps} />\n\t\t\t</div>\n\t\t</Fragment>\n\t);\n};\n\nexport default UpgradeInstanceTabContent;\n","/* eslint-disable no-unused-vars */\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { handleOnExecuteCatItem } from '../handlers';\nimport OpResult from './OpResult';\nimport { DPS_INSTANCE_MODAL_ACTIONS } from '../actions';\nimport ConfirmImg from '../../../images/instance-confirm.svg';\nimport { RESET_WIPE_TYPE_OPTIONS } from '../constants';\n\nconst ResetInstanceTabContent = props => {\n\tconst {\n\t\tdispatch,\n\t\texecuteCatItemResult,\n\t\tins_id,\n\t\tmenuItem,\n\t\tmodalRef,\n\t\topResult,\n\t\tshowOpResultBySysId,\n\t\tsystemProperties,\n\t\tconfirmChecked,\n\t\taction,\n\t\tisInstanceAvailableInSamePatch,\n\t\tquickResetWipeOperationType,\n\t\tinstanceInfo: {\n\t\t\tname: instanceName,\n\t\t\tfull_release,\n\t\t\treleaseFamily\n\t\t}\n\t} = props;\n\n\tconst opResultProps = {\n\t\tdispatch,\n\t\texecuteCatItemResult,\n\t\tmenuItem,\n\t\topResult,\n\t\tsystemProperties\n\t};\n\n\tconst showMainContent =\n\t\tshowOpResultBySysId === null || showOpResultBySysId !== menuItem.sys_id;\n\tconst showOpResult =\n\t\tshowOpResultBySysId && showOpResultBySysId === menuItem.sys_id;\n\tconst canResetInstance = isInstanceAvailableInSamePatch ? [RESET_WIPE_TYPE_OPTIONS.QUICK, RESET_WIPE_TYPE_OPTIONS.NORMAL].includes(quickResetWipeOperationType) : true;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'instanceModal-contentMain': true,\n\t\t\t\t\t'-visible': showMainContent\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<form className=\"instanceModal-confirmationView\">\n\t\t\t\t\t<div className=\"viewMessage\">\n\t\t\t\t\t\t{menuItem.confirmMessage}\n\t\t\t\t\t\t{isInstanceAvailableInSamePatch ? (\n\t\t\t\t\t\t\t<p className=\"viewMessage_reset-instance\">\n\t\t\t\t\t\t\t\t<div>Do you want to keep your instance name \"{instanceName}\"?</div>\n\t\t\t\t\t\t\t\t<div className=\"viewMessage_reset-instance_note\">\n\t\t\t\t\t\t\t\t\tNote: The reset process will take longer if you choose to keep your instance name.\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<div className=\"viewMessage_reset-instance_options\">\n\t\t\t\t\t\t\t\t\t\t<input type=\"radio\" id=\"normal\" name=\"resetAndWipeType\" value={RESET_WIPE_TYPE_OPTIONS.NORMAL}\n\t\t\t\t\t\t\t\t\t\t\ton-input={e => dispatch(DPS_INSTANCE_MODAL_ACTIONS.RESET_WIPE_TYPE_SELECTED, { value: e.target.value })} />\n\t\t\t\t\t\t\t\t\t\t<label for=\"normal\" className=\"viewMessage_reset-instance_options_label\">Yes, keep my instance name</label>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"viewMessage_reset-instance_options\">\n\t\t\t\t\t\t\t\t\t\t<input type=\"radio\" id=\"quick\" name=\"resetAndWipeType\" value={RESET_WIPE_TYPE_OPTIONS.QUICK}\n\t\t\t\t\t\t\t\t\t\t\ton-input={e => dispatch(DPS_INSTANCE_MODAL_ACTIONS.RESET_WIPE_TYPE_SELECTED, { value: e.target.value })} />\n\t\t\t\t\t\t\t\t\t\t<label for=\"quick\" className=\"viewMessage_reset-instance_options_label\">No, give up my instance name and get a new one</label>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"viewFooter\">\n\t\t\t\t\t\t<div className=\"instanceModal-checkbox\">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tid={`confirm-${action.type}`}\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\tname={`confirm-${action.type}`}\n\t\t\t\t\t\t\t\tvalue={true}\n\t\t\t\t\t\t\t\tchecked={confirmChecked}\n\t\t\t\t\t\t\t\ton-input={e => dispatch(DPS_INSTANCE_MODAL_ACTIONS.CONFIRMATION_CHECKED, { confirmChecked: e.target.checked })}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<label htmlFor={`confirm-${action.type}`}>{action.message}</label>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\t\tlabel=\"Cancel\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\tdispatch('DPS_MODAL#OPENED_SET', { value: false });\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t></dps-button>\n\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\tlabel={menuItem.name}\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tvariant=\"destructive\"\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\tconfirmChecked && canResetInstance &&\n\t\t\t\t\t\t\t\t\thandleOnExecuteCatItem({\n\t\t\t\t\t\t\t\t\t\tcat_item_id: menuItem.sys_id,\n\t\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t\tins_id,\n\t\t\t\t\t\t\t\t\t\tmenuItem,\n\t\t\t\t\t\t\t\t\t\tmodalRef,\n\t\t\t\t\t\t\t\t\t\tadditionalParams: (quickResetWipeOperationType === RESET_WIPE_TYPE_OPTIONS.QUICK) ? {\n\t\t\t\t\t\t\t\t\t\t\tquickResetWipeOperation: true,\n\t\t\t\t\t\t\t\t\t\t\tfull_release: full_release,\n\t\t\t\t\t\t\t\t\t\t\treleaseFamily: releaseFamily\n\t\t\t\t\t\t\t\t\t\t} : {}\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tdisabled={!(confirmChecked && canResetInstance)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</form>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'instanceModal-contentOpRequest': true,\n\t\t\t\t\t'-visible': showOpResult\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<OpResult {...opResultProps} />\n\t\t\t\t<img src={ConfirmImg} />\n\t\t\t</div>\n\t\t</Fragment>\n\t);\n};\n\nexport default ResetInstanceTabContent;\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { handleOnExecuteCatItem } from '../handlers';\nimport { DPS_INSTANCE_MODAL_ACTIONS } from '../actions';\nimport { DPS_INSTANCE_RELEASE_REASONS } from '../../../constants';\nimport { arrayToObject } from '../../../utils/helpers';\nimport OpResult from './OpResult';\nimport '../../dps-dropdown';\nimport '../../dps-link';\n\nconst TEXTAREA_MAX_LENGTH = 500;\n\nconst ReleaseInstanceTabContent = props => {\n\tconst {\n\t\tdispatch,\n\t\texecuteCatItemResult,\n\t\tins_id,\n\t\tmenuItem,\n\t\tmodalRef,\n\t\topResult,\n\t\tshowOpResultBySysId,\n\t\tsystemProperties,\n\t\tselected,\n\t\ttextBoxVal,\n\t\tresetLinkDisabled,\n\t\tplaceholder = 'Type your reason here...'\n\t} = props;\n\n\tconst opResultProps = {\n\t\tdispatch,\n\t\texecuteCatItemResult,\n\t\tmenuItem,\n\t\topResult,\n\t\tsystemProperties\n\t};\n\tconst showMainContent =\n\t\tshowOpResultBySysId === null || showOpResultBySysId !== menuItem.sys_id;\n\tconst showOpResult =\n\t\tshowOpResultBySysId && showOpResultBySysId === menuItem.sys_id;\n\n\tconst fieldHelperOptions = arrayToObject(\n\t\tJSON.parse(systemProperties['dev.instance.modal.release.field.helper.text'])\n\t);\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'instanceModal-contentMain': true,\n\t\t\t\t\t'-visible': showMainContent\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"instanceModal-confirmationView\">\n\t\t\t\t\t<div className=\"viewMessage\">\n\t\t\t\t\t\t<div>{menuItem.confirmMessage}</div>\n\t\t\t\t\t\t<h3 className=\"instanceModal-dropdown-question\">\n\t\t\t\t\t\t\tWhy are you releasing your instance?\n\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t<dps-dropdown\n\t\t\t\t\t\t\tclassName=\"instanceModal-dropdown\"\n\t\t\t\t\t\t\tselected={selected}\n\t\t\t\t\t\t\toptions={Object.keys(fieldHelperOptions).map(option => ({\n\t\t\t\t\t\t\t\tid: option,\n\t\t\t\t\t\t\t\tlabel: option\n\t\t\t\t\t\t\t}))}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div className=\"instanceModal-suggestiveText\">\n\t\t\t\t\t\t\t{getFieldValue(\n\t\t\t\t\t\t\t\tselected,\n\t\t\t\t\t\t\t\tfieldHelperOptions,\n\t\t\t\t\t\t\t\ttextBoxVal,\n\t\t\t\t\t\t\t\tplaceholder,\n\t\t\t\t\t\t\t\tdispatch\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{selected === DPS_INSTANCE_RELEASE_REASONS.OTHER_REASON ? (\n\t\t\t\t\t\t\t<div className=\"instanceModal-charsLeft\">\n\t\t\t\t\t\t\t\t{textBoxVal\n\t\t\t\t\t\t\t\t\t? TEXTAREA_MAX_LENGTH - textBoxVal.length\n\t\t\t\t\t\t\t\t\t: TEXTAREA_MAX_LENGTH}{' '}\n\t\t\t\t\t\t\t\tcharacters left\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t{selected === DPS_INSTANCE_RELEASE_REASONS.FRESH_INSTANCE ? (\n\t\t\t\t\t\t\tresetLinkDisabled ? null : (\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\tIf you wish to get a fresh instance, the{' '}\n\t\t\t\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\t\t\t\ton-click={event => {\n\t\t\t\t\t\t\t\t\t\t\tconst { currentTarget } = event;\n\t\t\t\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\t\t\t\t'DPS_INSTANCE_MODAL_ACTIONS#RESET_WIPE_LINK_CLICKED',\n\t\t\t\t\t\t\t\t\t\t\t\t{ currentTarget }\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\thref=\"#!\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\treset and wipe\n\t\t\t\t\t\t\t\t\t</dps-link>{' '}\n\t\t\t\t\t\t\t\t\taction can be used.\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"viewFooter\">\n\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\t\tlabel=\"Cancel\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\tdispatch('DPS_MODAL#OPENED_SET', { value: false });\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t></dps-button>\n\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\tselected === DPS_INSTANCE_RELEASE_REASONS.PLACEHOLDER ||\n\t\t\t\t\t\t\t\t(selected === DPS_INSTANCE_RELEASE_REASONS.OTHER_REASON &&\n\t\t\t\t\t\t\t\t\t!textBoxVal)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlabel={menuItem.name}\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\tselected === DPS_INSTANCE_RELEASE_REASONS.PLACEHOLDER ||\n\t\t\t\t\t\t\t\t(selected === DPS_INSTANCE_RELEASE_REASONS.OTHER_REASON &&\n\t\t\t\t\t\t\t\t\t!textBoxVal)\n\t\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t\t: handleOnExecuteCatItem({\n\t\t\t\t\t\t\t\t\t\t\tcat_item_id: menuItem.sys_id,\n\t\t\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t\t\tins_id,\n\t\t\t\t\t\t\t\t\t\t\tmenuItem,\n\t\t\t\t\t\t\t\t\t\t\tmodalRef,\n\t\t\t\t\t\t\t\t\t\t\tadditionalParams: {\n\t\t\t\t\t\t\t\t\t\t\t\tselected,\n\t\t\t\t\t\t\t\t\t\t\t\ttextBoxVal\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t  });\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'instanceModal-contentOpRequest': true,\n\t\t\t\t\t'-visible': showOpResult\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<OpResult {...opResultProps} />\n\t\t\t</div>\n\t\t</Fragment>\n\t);\n};\n\nconst getFieldValue = (\n\tselected,\n\tfieldHelperOptions,\n\ttextBoxVal,\n\tplaceholder,\n\tdispatch\n) => {\n\tif (selected === DPS_INSTANCE_RELEASE_REASONS.OTHER_REASON) {\n\t\treturn (\n\t\t\t<textarea\n\t\t\t\tclassName=\"instanceModal-textField\"\n\t\t\t\tmaxlength={TEXTAREA_MAX_LENGTH}\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\ton-input={event => {\n\t\t\t\t\tconst { currentTarget } = event;\n\t\t\t\t\tif (currentTarget && currentTarget.value) {\n\t\t\t\t\t\tdispatch(DPS_INSTANCE_MODAL_ACTIONS.TEXT_FIELD_UPDATED, {\n\t\t\t\t\t\t\tvalue: currentTarget.value\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{textBoxVal}\n\t\t\t</textarea>\n\t\t);\n\t} else if (\n\t\tselected !== DPS_INSTANCE_RELEASE_REASONS.NO_LONGER_USING &&\n\t\tselected !== DPS_INSTANCE_RELEASE_REASONS.FRESH_INSTANCE &&\n\t\tfieldHelperOptions[selected] !== ''\n\t) {\n\t\treturn <div innerHTML={fieldHelperOptions[selected]} />;\n\t}\n};\n\nexport default ReleaseInstanceTabContent;\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { handleOnExecuteCatItem, setTargetRef } from '../handlers';\nimport {DPS_INSTANCE_MODAL_ACTIONS} from '../actions';\nimport '@servicenow/now-tooltip';\nimport '../../../components/dps-alert'\nimport { APP_ACTIONS } from '../../../connected-components/dps-app/actions';\nimport { CONSTANTS } from '../../../constants';\nimport '@servicenow/now-toggle';\n\nconst SuccesfulOperationMessage = (sendRecieveEmailCheckboxChecked, updateProperties) => {\n\treturn (\n\t\t<div className=\"instanceModal-email-operation-success\">\n\t\t\t<now-icon icon=\"circle-check-outline\" size=\"md\"></now-icon>\n\t\t\t<span>\n\t\t\t\t{sendRecieveEmailCheckboxChecked\n\t\t\t\t\t? 'Email sending and receiving is enabled'\n\t\t\t\t\t: 'Email sending and receiving is disabled'}\n\t\t\t</span>\n\t\t\t<now-icon\n\t\t\t\tclassName=\"alert-close-icon\"\n\t\t\t\ticon=\"close-fill\"\n\t\t\t\tsize=\"md\"\n\t\t\t\ton-click={() => {\n\t\t\t\t\tupdateProperties({executeCatItemResult:{}});\n\t\t\t\t}}\n\t\t\t></now-icon>\n\t\t</div>\n\t);\n};\n\nconst FailedOperationMessage = (sendRecieveEmailCheckboxChecked, updateProperties) => {\n\treturn (\n\t\t<div className=\"instanceModal-email-operation-failure\">\n\t\t\t<now-icon icon=\"circle-exclamation-outline\" size=\"md\"></now-icon>\n\t\t\t<span>\n\t\t\t Something went wrong. Please try again.\n\t\t\t</span>\n\t\t\t<now-icon\n\t\t\t\tclassName=\"alert-close-icon\"\n\t\t\t\ticon=\"close-fill\"\n\t\t\t\tsize=\"md\"\n\t\t\t\ton-click={() => {\n\t\t\t\t\tupdateProperties({executeCatItemResult:{}});\n\t\t\t\t}}\n\t\t\t></now-icon>\n\t\t</div>\n\t);\n};\n\nconst openFeedback = dispatch => {\n\tdispatch(APP_ACTIONS.GIVE_GENERAL_FEEDBACK, {\n\t\tsubmittedFrom: CONSTANTS.DEFAULTS.FEEDBACK_FORM_SUBMITTED_FROM_ALERT,\n\t\ttype: 'DPS_BUTTON#GIVE_GENERAL_FEEDBACK'\n\t});\n};\n\nconst SendAndRecieveEmailTabContent = props => {\n\tconst {\n\t\tdispatch,\n\t\texecuteCatItemResult,\n\t\tins_id,\n\t\tmenuItem,\n\t\tmodalRef,\n\t\tsystemProperties,\n\t\tsendRecieveEmailCheckboxChecked,\n\t\ttooltipRef,\n\t\tupdateProperties,\n\t\tisSendRecieveInProgress,\n\t\ttooltipMessage=JSON.parse(systemProperties['dev.send.recieve.email.tooltip.messages'])\n\t} = props;\n\n\tconst setTooltipRef = ref => {\n\t\tif(ref) {\n\t\t\tsetTimeout(() => updateProperties({ tooltipRef: ref}));\n\t\t} else {\n\t\t\tsetTimeout(() => updateProperties({ tooltipRef: ref }));\n\t\t}\n\t};\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{isSendRecieveInProgress ? (\n\t\t\t\t<dps-spinner size=\"sm\" />\n\t\t\t) : (\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'instanceModal-contentMain': true,\n\t\t\t\t\t\t'-visible': true\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{executeCatItemResult['read status'] &&\n\t\t\t\t\t\texecuteCatItemResult['send status']\n\t\t\t\t\t\t\t?<div className=\"instanceModal-processMessage\">{SuccesfulOperationMessage(\n\t\t\t\t\t\t\t\t\tmenuItem.email_enabled,\n\t\t\t\t\t\t\t\t\tupdateProperties\n\t\t\t\t\t\t\t  )}</div>\n\t\t\t\t\t\t\t: executeCatItemResult['action']\n\t\t\t\t\t\t\t? <div className=\"instanceModal-processMessage\">{FailedOperationMessage(menuItem.email_enabled, updateProperties)}</div>\n\t\t\t\t\t\t\t: null}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"instanceModal-confirmationView\">\n\t\t\t\t\t\t<div className=\"viewMessage\">\n\t\t\t\t\t\t\tServiceNow instances can send and receive email. To enable or\n\t\t\t\t\t\t\tdisable email sending and receiving, click the toggle.\n\t\t\t\t\t\t\t<div className=\"instanceModal-toggle\">\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<label className=\"switch\">\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\tclassName=\"switch-input\"\n\t\t\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\t\t\tchecked={sendRecieveEmailCheckboxChecked}\n\t\t\t\t\t\t\t\t\t\ton-input={e => {\n\t\t\t\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\t\t\t\tDPS_INSTANCE_MODAL_ACTIONS.SEND_RECIEVE_EMAIL_CHECKBOX_CLICKED,\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\tchecked: e.target.checked\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<div className=\"switch-btn\"></div>\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName=\"switch-label\"\n\t\t\t\t\t\t\t\t\ton-click={e => {\n\t\t\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\t\t\tDPS_INSTANCE_MODAL_ACTIONS.SEND_RECIEVE_EMAIL_CHECKBOX_CLICKED,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tchecked: !sendRecieveEmailCheckboxChecked\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tEnable email sending and receiving\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"viewFooter\">\n\t\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\t\t\tlabel=\"Cancel\"\n\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\t\tdispatch('DPS_MODAL#OPENED_SET', { value: false });\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t></dps-button>\n\t\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\t\tlabel=\"Save\"\n\t\t\t\t\t\t\t\tclassName=\"dps-email-tooltip-button\"\n\n\t\t\t\t\t\t\t\thook-insert={({ elm }) => {\n\t\t\t\t\t\t\t\t\tsetTooltipRef(elm);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\t\t\t\t\tisSendRecieveInProgress: true,\n\t\t\t\t\t\t\t\t\t\t\tdisableClose: true\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\thandleOnExecuteCatItem({\n\t\t\t\t\t\t\t\t\t\t\tcat_item_id: menuItem.sys_id,\n\t\t\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t\t\t\tins_id,\n\t\t\t\t\t\t\t\t\t\t\tmenuItem,\n\t\t\t\t\t\t\t\t\t\t\tmodalRef,\n\t\t\t\t\t\t\t\t\t\t\tadditionalParams: {\n\t\t\t\t\t\t\t\t\t\t\t\tsendRecieveEmailCheckboxChecked: sendRecieveEmailCheckboxChecked\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{tooltipRef ? (\n\t\t\t\t\t\t\t\t\t<now-tooltip\n\t\t\t\t\t\t\t\t\t\tdelay={200}\n\t\t\t\t\t\t\t\t\t\ttarget-ref={tooltipRef}\n\t\t\t\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t\t\t\tsendRecieveEmailCheckboxChecked\n\t\t\t\t\t\t\t\t\t\t\t\t? tooltipMessage['checked']\n\t\t\t\t\t\t\t\t\t\t\t\t: tooltipMessage['unchecked']\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t</dps-button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</Fragment>\n\t);\n};\n\nexport default SendAndRecieveEmailTabContent;\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { handleOnExecuteCatItem } from '../handlers';\nimport { DPS_INSTANCE_MODAL_ACTIONS } from '../actions.js';\nimport OpResult from './OpResult';\nimport '../../dps-dropdown';\nimport '../../dps-link';\nimport Guided_Editor_Type_Image from '../../../images/Guided_Editor_Type_Image.svg';\nimport Advanced_Editor_Type_Image from '../../../images/Advanced_Editor_Type_Image.svg';\n\nconst ChangeUserRoleTabContent = props => {\n\tconst {\n\t\tdispatch,\n\t\texecuteCatItemResult,\n\t\tins_id,\n\t\tmenuItem,\n\t\tmodalRef,\n\t\topResult,\n\t\tshowOpResultBySysId,\n\t\tsystemProperties,\n\t\tselectedUserRole,\n\t\taction,\n\t\tuserRoleOptions\n\t} = props;\n\n\tconst roleOptions =\n\t\t(userRoleOptions &&\n\t\t\tuserRoleOptions.editorOptions &&\n\t\t\tObject.keys(userRoleOptions.editorOptions)) ||\n\t\t[];\n\n\tconst opResultProps = {\n\t\tdispatch,\n\t\texecuteCatItemResult,\n\t\tmenuItem,\n\t\topResult,\n\t\tsystemProperties\n\t};\n\tconst showMainContent =\n\t\tshowOpResultBySysId === null || showOpResultBySysId !== menuItem.sys_id;\n\tconst showOpResult =\n\t\tshowOpResultBySysId && showOpResultBySysId === menuItem.sys_id;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'instanceModal-contentMain': true,\n\t\t\t\t\t'instanceModal-changeUserTab': true,\n\t\t\t\t\t'-visible': showMainContent\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"roleRadioButtons\">\n\t\t\t\t\t{roleOptions.length > 0\n\t\t\t\t\t\t? roleOptions.map(role => (\n\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\tchecked={selectedUserRole === role}\n\t\t\t\t\t\t\t\t\t\ton-change={() => {\n\t\t\t\t\t\t\t\t\t\t\tdispatch(DPS_INSTANCE_MODAL_ACTIONS.CHANGE_USER_ROLE, {\n\t\t\t\t\t\t\t\t\t\t\t\trole\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\t\t\tid={userRoleOptions.editorOptions[role]}\n\t\t\t\t\t\t\t\t\t\tname=\"userRoleType\"\n\t\t\t\t\t\t\t\t\t\tvalue={role}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<label for={userRoleOptions.editorOptions[role]}>\n\t\t\t\t\t\t\t\t\t\t{userRoleOptions.editorOptions[role]}\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t  ))\n\t\t\t\t\t\t: null}\n\t\t\t\t</div>\n\t\t\t\t<div className=\"viewMessage\">\n\t\t\t\t\t{roleOptions.length > 0\n\t\t\t\t\t\t? roleOptions.map(role => (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\troleDescription: true,\n\t\t\t\t\t\t\t\t\t\t'-is-visible': selectedUserRole === role\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className=\"roleDescription-text\">\n\t\t\t\t\t\t\t\t\t\t{userRoleOptions.editorOptionsText[role]}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\tclassName=\"roleDescription-image\"\n\t\t\t\t\t\t\t\t\t\tsrc={\n\t\t\t\t\t\t\t\t\t\t\trole === 'admin'\n\t\t\t\t\t\t\t\t\t\t\t\t? Advanced_Editor_Type_Image\n\t\t\t\t\t\t\t\t\t\t\t\t: Guided_Editor_Type_Image\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t  ))\n\t\t\t\t\t\t: null}\n\t\t\t\t</div>\n\t\t\t\t<div className=\"viewFooter\">\n\t\t\t\t\t<dps-button\n\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\tlabel=\"Cancel\"\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch('DPS_MODAL#OPENED_SET', { value: false });\n\t\t\t\t\t\t}}\n\t\t\t\t\t></dps-button>\n\t\t\t\t\t<dps-button\n\t\t\t\t\t\tlabel={menuItem.name}\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\thandleOnExecuteCatItem({\n\t\t\t\t\t\t\t\tcat_item_id: menuItem.sys_id,\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tins_id,\n\t\t\t\t\t\t\t\tmenuItem,\n\t\t\t\t\t\t\t\tmodalRef,\n\t\t\t\t\t\t\t\tadditionalParams: {\n\t\t\t\t\t\t\t\t\trole: selectedUserRole\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'instanceModal-contentOpRequest': true,\n\t\t\t\t\t'-visible': showOpResult\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<OpResult {...opResultProps} />\n\t\t\t</div>\n\t\t</Fragment>\n\t);\n};\n\nexport default ChangeUserRoleTabContent;\n","/* eslint-disable no-unused-vars */\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { DPS_INSTANCE_MODAL_ACTIONS } from '../actions';\nimport { handleOnExecuteCatItem } from '../handlers';\nimport '@servicenow/now-tooltip';\nimport '../../dps-link';\nimport '../../dps-alert';\nimport '../../dps-spinner';\nimport {isResetAdminPasswordInProgress} from \"../../../utils/instanceHelpers\";\n\nconst ManageInstancePassword = props => {\n\tconst {\n\t\tconfirmChecked,\n\t\tdispatch,\n\t\tins_id,\n\t\tmenuItem,\n\t\tmodalRef,\n\t\topResult,\n\t\tsystemProperties,\n\t\tupdateProperties,\n\t\tshowResetPasswordEmailConfirmation,\n\t\tusersEmail,\n\t\tpdiUserRole,\n\t\tinstancePassword,\n\t\tshowResetPasswordConfirmation,\n\t\tupdateState,\n\t\tcatItemInProgress,\n\t\tinstanceUrl,\n\t\tpasswordResetFailed,\n\t\tpasswordResetEmailFailed,\n\t\tinstanceName,\n\t\tinstanceInfo\n\t} = props;\n\n\tconst isPerformingResetPassword = isResetAdminPasswordInProgress(\n\t\tmenuItem,\n\t\tsystemProperties\n\t);\n\tconst username =( pdiUserRole || 'admin');\n\tlet password = instancePassword || '';\n\tlet url = instanceUrl || '';\n\tlet nameOfInstance = instanceName || '';\n\tconst emailAlertMessage = `We emailed your login credentials to ${usersEmail}`;\n\tconst resetPasswordConfirmation = <span>Your password reset request completed successfully. Your user name is <strong>{username}</strong>.\n\t\tNew instance password is <strong>{password}</strong>.</span>;\n\tconst resetPasswordErrorMessage = \"Something went wrong with resetting your password. Please try again.\";\n\tconst resetPasswordEmailErrorMessage = \"Something went wrong with emailing your login credentials. Please try again.\";\n\tconst showSpinner =  isPerformingResetPassword && catItemInProgress;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{!showSpinner ?\n\t\t\t\t<div className=\"instanceModal-confirmationView\">\n\t\t\t\t\t{showResetPasswordEmailConfirmation ? <dps-alert\n\t\t\t\t\t\tclassName=\"resetPassword-confirmation\"\n\t\t\t\t\t\tvariant=\"success\"\n\t\t\t\t\t\tdismiss\n\t\t\t\t\t\tbody={emailAlertMessage}\n\t\t\t\t\t\ticon='circle-check-outline'\n\t\t\t\t\t/> : null}\n\t\t\t\t\t{opResult && opResult.password && showResetPasswordConfirmation ? <dps-alert\n\t\t\t\t\t\tclassName=\"resetPassword-confirmation\"\n\t\t\t\t\t\tvariant=\"success\"\n\t\t\t\t\t\tdismiss\n\t\t\t\t\t\tbody={resetPasswordConfirmation}\n\t\t\t\t\t\ticon='circle-check-outline'\n\t\t\t\t\t/> : null}\n\t\t\t\t\t{passwordResetFailed? <dps-alert\n\t\t\t\t\t\tclassName=\"resetPassword-confirmation\"\n\t\t\t\t\t\tvariant=\"error\"\n\t\t\t\t\t\tdismiss\n\t\t\t\t\t\tbody={resetPasswordErrorMessage}\n\t\t\t\t\t\ticon='circle-check-outline'\n\t\t\t\t\t/> : null}\n\t\t\t\t\t{passwordResetEmailFailed ? <dps-alert\n\t\t\t\t\t\tclassName=\"resetPassword-confirmation\"\n\t\t\t\t\t\tvariant=\"error\"\n\t\t\t\t\t\tdismiss\n\t\t\t\t\t\tbody={resetPasswordEmailErrorMessage}\n\t\t\t\t\t\ticon='circle-check-outline'\n\t\t\t\t\t/> : null}\n\t\t\t\t\t<div className=\"resetPassword-heading\">Login credentials for your instance: </div>\n\t\t\t\t\t<div className=\"resetPassword-info\">Instance name: <span className=\"resetPassword-value\">{nameOfInstance}</span></div>\n\t\t\t\t\t<div className=\"resetPassword-info\">Instance URL: <span className=\"resetPassword-value\"><dps-link href={url} target=\"_blank\">{url}</dps-link></span></div>\n\t\t\t\t\t<div className=\"resetPassword-info\">Username: <span className=\"resetPassword-value\">{username}</span></div>\n\t\t\t\t\t<div className=\"resetPassword-info\">Password: <span className=\"resetPassword-value\">{password}</span></div>\n\t\t\t\t\t<div className=\"resetPassword-emailText\">\n\t\t\t\t\t\t<now-icon icon=\"envelope-outline\" size=\"md\"></now-icon><dps-button\n\t\t\t\t\t\tlabel=\"Email yourself a copy \"\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tdispatch(DPS_INSTANCE_MODAL_ACTIONS.SEND_RESET_PASSWORD_EMAIL);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tlink-style></dps-button>of your login credentials.</div>\n\t\t\t\t\t<div className=\"resetPassword-resetText\">\n\t\t\t\t\t\t<now-icon icon=\"key-outline\" size=\"md\"></now-icon>You can <dps-button\n\t\t\t\t\t\tlabel=\"reset instance password\"\n\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\t\tshowResetPasswordEmailConfirmation: false,\n\t\t\t\t\t\t\t\tpasswordResetFailed: false,\n\t\t\t\t\t\t\t\tpasswordResetEmailFailed: false,\n\t\t\t\t\t\t\t\tshowResetPasswordConfirmation: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tconfirmChecked &&\n\t\t\t\t\t\t\thandleOnExecuteCatItem({\n\t\t\t\t\t\t\t\tcat_item_id: menuItem.sys_id,\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\t\t\tins_id,\n\t\t\t\t\t\t\t\tmenuItem,\n\t\t\t\t\t\t\t\tmodalRef\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tlink-style>\n\t\t\t\t\t</dps-button> to generate new instance login credentials.</div>\n\t\t\t\t</div> : null }\n\t\t\t{showSpinner ? <dps-spinner className=\"resetPassword-spinner\" size=\"sm\" /> : null}\n\t\t</Fragment>\n\t);\n};\n\nexport default ManageInstancePassword;\n","/* eslint-disable no-unused-vars */\nimport ExecCatItemTabContent from './ExecCatItemTabContent';\nimport PluginTabContent from './PluginTabContent';\nimport UpgradeInstanceTabContent from './UpgradeInstanceTabContent';\nimport ResetInstanceTabContent from './ResetInstanceTabContent';\nimport ReleaseInstanceTabContent from './ReleaseInstanceTabContent';\nimport SendAndRecieveEmailTabContent from './SendAndRecieveEmailTabContent';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport {\n\tRESET_INSTANCE,\n\tUPGRADE_INSTANCE,\n\tRESET_INSTANCE_MESSAGE\n} from '../constants';\nimport ChangeUserRoleTabContent from './ChangeUserRoleTabContent';\nimport ManageInstancePassword from \"./ManageInstancePassword\";\n\nconst TabContent = props => {\n\tconst {\n\t\tfilteredPlugins,\n\t\tisActive,\n\t\tisLoadingPlugins,\n\t\trelease,\n\t\tinstanceInfo,\n\t\tsearchTerm,\n\t\tselectedUpgradeRelease,\n\t\tselectedUserRole,\n\t\tupgradeableInstanceTargets,\n\t\tconfirmChecked,\n\t\tselected,\n\t\ttextBoxVal,\n\t\tresetLinkDisabled,\n\t\tuserRoleOptions,\n\t\tsendRecieveEmailCheckboxChecked,\n\t\ttooltipRef,\n\t\tupdateProperties,\n\t\tupdateState,\n\t\tisSendRecieveInProgress,\n\t\tdisabledTooltipRef,\n\t\tshowResetPasswordEmailConfirmation,\n\t\tusersEmail,\n\t\tpdiUserRole,\n\t\tinstancePassword,\n\t\tshowResetPasswordConfirmation,\n\t\tinstanceUrl,\n\t\tpasswordResetFailed,\n\t\tpasswordResetEmailFailed,\n\t\treleaseInfo,\n\t\t...tabContentProps\n\t} = props;\n\tconst { catItemInProgress, menuItem } = tabContentProps;\n\tconst { releaseName, name } = instanceInfo;\n\tlet ContentView;\n\tlet modalHeader = menuItem.name === \"Reset instance password\" ? 'Manage instance password' : menuItem.name;\n\tif (menuItem.confirmViewName === 'activate_plugin') {\n\t\tContentView = (\n\t\t\t<PluginTabContent\n\t\t\t\tfilteredPlugins={filteredPlugins}\n\t\t\t\tisLoadingPlugins={isLoadingPlugins}\n\t\t\t\trelease={release}\n\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t{...tabContentProps}\n\t\t\t/>\n\t\t);\n\t} else if (menuItem.name === UPGRADE_INSTANCE) {\n\t\tContentView = (\n\t\t\t<UpgradeInstanceTabContent\n\t\t\t\treleaseName={releaseName}\n\t\t\t\tselectedUpgradeRelease={selectedUpgradeRelease}\n\t\t\t\tupgradeableInstanceTargets={upgradeableInstanceTargets}\n\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\t{...tabContentProps}\n\t\t\t/>\n\t\t);\n\t} else if (menuItem.name === RESET_INSTANCE) {\n\t\tmodalHeader = (\n\t\t\t<Fragment>\n\t\t\t\t<now-icon icon=\"circle-exclamation-outline\" size=\"md\"></now-icon>\n\t\t\t\t{RESET_INSTANCE}\n\t\t\t</Fragment>\n\t\t);\n\t\tContentView = (\n\t\t\t<ResetInstanceTabContent\n\t\t\t\taction={{\n\t\t\t\t\ttype: 'reset',\n\t\t\t\t\ttitle: RESET_INSTANCE,\n\t\t\t\t\tmessage: RESET_INSTANCE_MESSAGE\n\t\t\t\t}}\n\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\tconfirmChecked={confirmChecked}\n\t\t\t\t{...tabContentProps}\n\t\t\t/>\n\t\t);\n\t} else if (menuItem.name === 'Release instance') {\n\t\tmodalHeader = <Fragment>Release instance</Fragment>;\n\t\tContentView = (\n\t\t\t<ReleaseInstanceTabContent\n\t\t\t\taction={{\n\t\t\t\t\ttype: 'reset',\n\t\t\t\t\ttitle: 'Release instance',\n\t\t\t\t\tmessage: 'check'\n\t\t\t\t}}\n\t\t\t\tselected={selected}\n\t\t\t\ttextBoxVal={textBoxVal}\n\t\t\t\tresetLinkDisabled={resetLinkDisabled}\n\t\t\t\t{...tabContentProps}\n\t\t\t/>\n\t\t);\n\t} else if (menuItem.name === 'Change User Role') {\n\t\tContentView = (\n\t\t\t<ChangeUserRoleTabContent\n\t\t\t\taction={{\n\t\t\t\t\ttype: 'reset',\n\t\t\t\t\ttitle: 'Change Editor',\n\t\t\t\t\tmessage: 'check'\n\t\t\t\t}}\n\t\t\t\tselectedUserRole={selectedUserRole}\n\t\t\t\tuserRoleOptions={userRoleOptions}\n\t\t\t\t{...tabContentProps}\n\t\t\t/>\n\t\t);\n\t} else if(menuItem.name === 'Manage email properties')  {\n\t\tContentView = (\t<SendAndRecieveEmailTabContent\n\t\t\taction={{\n\t\t\t\ttype: 'reset',\n\t\t\t\ttitle: 'Manage email properties',\n\t\t\t\tmessage: 'check'\n\t\t\t}}\n\t\t\tsendRecieveEmailCheckboxChecked={sendRecieveEmailCheckboxChecked}\n\t\t\ttooltipRef={tooltipRef}\n\t\t\tupdateProperties={updateProperties}\n\t\t\tisSendRecieveInProgress={isSendRecieveInProgress}\n\t\t\t{...tabContentProps}\n\t\t/>);\n\t} else if (menuItem.name === 'Remove demo data') {\n\t\tmodalHeader = (\n\t\t\t<Fragment>\n\t\t\t\t<now-icon icon=\"circle-exclamation-outline\" size=\"md\"></now-icon>\n\t\t\t\t{menuItem.name}\n\t\t\t</Fragment>\n\t\t);\n\t\tContentView = <ExecCatItemTabContent\n\t\taction={{\n\t\t\ttype: 'demo',\n\t\t\ttitle: 'Remove demo data',\n\t\t\tmessage: 'I understand that removing the demo data will prevent me from being able to complete Developer Site learning.',\n\t\t\tvariant: \"destructive\"\n\t\t}}\n\t\tconfirmChecked={confirmChecked}\n\t\ttooltipRef={tooltipRef}\n\t\tupdateProperties={updateProperties}\n\t\tdisabledTooltipRef={disabledTooltipRef}\n\t\t{...tabContentProps} />;\n\t} else if (menuItem.name === 'Reset instance password') {\n\t\tContentView = <ManageInstancePassword\n\t\t\tconfirmChecked={true}\n\t\t\tupdateProperties={updateProperties}\n\t\t\tshowResetPasswordEmailConfirmation={showResetPasswordEmailConfirmation}\n\t\t\tusersEmail={usersEmail}\n\t\t\tpdiUserRole={pdiUserRole}\n\t\t\tinstancePassword={instancePassword}\n\t\t\tshowResetPasswordConfirmation={showResetPasswordConfirmation}\n\t\t\tupdateState={updateState}\n\t\t\tinstanceUrl={instanceUrl}\n\t\t\tpasswordResetFailed={passwordResetFailed}\n\t\t\tpasswordResetEmailFailed={passwordResetEmailFailed}\n\t\t\tinstanceName={name}\n\t\t\tinstanceInfo={instanceInfo}\n\t\t\t{...tabContentProps}\n\t\t/>;\n\t} else {\n\t\tContentView = <ExecCatItemTabContent\n\t\tconfirmChecked={true}\n\t\ttooltipRef={tooltipRef}\n\t\tupdateProperties={updateProperties}\n\t\tdisabledTooltipRef={disabledTooltipRef}\n\t\t{...tabContentProps}\n\t\t/>;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t[`instanceModal-contentView-${menuItem.sys_id}`]: true,\n\t\t\t\t'instanceModal-contentView': true,\n\t\t\t\t'-visible': isActive\n\t\t\t}}\n\t\t\tdata-sysId={menuItem.sys_id}\n\t\t>\n\t\t\t<h3>{modalHeader}</h3>\n\t\t\t{ContentView}\n\t\t</div>\n\t);\n};\n\nexport default TabContent;\n","/* eslint-disable no-unused-vars */\nimport { isEmpty } from 'lodash';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-tabs';\nimport '../../dps-pagination';\n\nimport { OPERATION_HISTORY_TYPES } from '../../../constants';\nimport { getMonthLabel } from '../../../utils/helpers';\n\nconst OperationHistoryTabContent = props => {\n\tconst {\n\t\tcatItemInProgress,\n\t\tisLoadingOperationHistory,\n\t\tmaxOperationHistory,\n\t\toperationHistory,\n\t\tselectedCatItemId,\n\t\tselectedOperationType,\n\t\tselectedOperationHistoryPage,\n\t\ttotalNumberOfOperations\n\t} = props;\n\n\tconst tabItems = ['all', 'reset-pwd', 'activate-plugin', 'reset-wipe'].map(\n\t\tid => ({\n\t\t\tid,\n\t\t\tlabel: OPERATION_HISTORY_TYPES[id].label\n\t\t})\n\t);\n\tconst totalPages = Math.ceil(totalNumberOfOperations / maxOperationHistory);\n\n\tconst renderOperationHistory = (operationHistory, selectedOperationType) => (\n\t\t<Fragment>\n\t\t\t{operationHistory.map(item => {\n\t\t\t\t// Safari requires the 'T' in the date string\n\t\t\t\tconst updatedOn = new Date(item.updated_on.replace(/\\s/, 'T'));\n\t\t\t\tconst formattedUpdatedOn = `${getMonthLabel(\n\t\t\t\t\tupdatedOn.getMonth()\n\t\t\t\t)} ${updatedOn.getDate()}, ${updatedOn.getFullYear()}`;\n\t\t\t\treturn (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"row\"\n\t\t\t\t\t\tkey={`${updatedOn.getTime()}-${selectedOperationType}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"col-4 -operation\">{item.operation_name}</div>\n\t\t\t\t\t\t<div className=\"col-4 -status\">{item.message && item.message.length > 0 ? item.message : item.status}</div>\n\t\t\t\t\t\t<div className=\"col-4 -date\">{formattedUpdatedOn}</div>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t})}\n\t\t</Fragment>\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'instanceModal-contentView-operationHistory': true,\n\t\t\t\t'instanceModal-contentView': true,\n\t\t\t\t[`-operation-history-${selectedOperationType}`]: true,\n\t\t\t\t'-visible':\n\t\t\t\t\t(!isEmpty(catItemInProgress) &&\n\t\t\t\t\t\tcatItemInProgress === 'operationHistory') ||\n\t\t\t\t\tselectedCatItemId === 'operationHistory'\n\t\t\t}}\n\t\t\tdata-sysId=\"operationHistory\"\n\t\t>\n\t\t\t<h4 className=\"top\">Instance History</h4>\n\t\t\t<p>All previous actions on your instance</p>\n\n\t\t\t<now-tabs items={tabItems} selectedItem=\"\"></now-tabs>\n\t\t\t<div className=\"operationHistory\">\n\t\t\t\t{isLoadingOperationHistory ? (\n\t\t\t\t\t<dps-spinner size=\"sm\" />\n\t\t\t\t) : operationHistory.length > 0 ? (\n\t\t\t\t\trenderOperationHistory(operationHistory, selectedOperationType)\n\t\t\t\t) : (\n\t\t\t\t\t<p>{OPERATION_HISTORY_TYPES[selectedOperationType].empty_message}</p>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t{!isLoadingOperationHistory && operationHistory.length > 0 ? (\n\t\t\t\t<div className=\"pagination\">\n\t\t\t\t\t<dps-pagination\n\t\t\t\t\t\tactive-item={\n\t\t\t\t\t\t\tselectedOperationHistoryPage > totalPages\n\t\t\t\t\t\t\t\t? 1\n\t\t\t\t\t\t\t\t: selectedOperationHistoryPage\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttotal-items={totalPages}\n\t\t\t\t\t></dps-pagination>\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t</div>\n\t);\n};\n\nexport default OperationHistoryTabContent;\n","/* eslint-disable no-unused-vars */\nimport { createRef } from '@servicenow/ui-renderer-snabbdom';\nimport { isEmpty } from 'lodash';\nimport '../dps-link';\nimport '../dps-modal';\nimport '../dps-alert';\nimport '../dps-progress-bar';\nimport '@servicenow/now-icon';\nimport { DPS_INSTANCE_MODAL_ACTION } from './instance_modal';\nimport { handleOnHookInsert, handleOnMenuItemClick } from './handlers';\nimport { isDisabledCatItem } from '../../utils/instanceHelpers';\nimport { createPath } from '../../utils/url';\nimport InstanceHelpTabContent from './views/InstanceHelpTabContent';\nimport TabContent from './views/TabContent';\nimport OperationHistoryTabContent from './views/OperationHistoryTabContent';\n\nconst ModalMenuItems = props => {\n\tconst {\n\t\tavailablePlugins,\n\t\tcoeffects,\n\t\tmaxOperationHistory,\n\t\tmenuItems,\n\t\tselectedCatItemId,\n\t\tselectedOperationType,\n\t\tselectedOperationHistoryPage,\n\t\tsystemProperties\n\t} = props;\n\tconst { dispatch, updateProperties} = coeffects;\n\n\treturn (\n\t\t<ul>\n\t\t\t{menuItems.map(menuItem => (\n\t\t\t\tmenuItem.sys_id === systemProperties['dev.cat_item.refresh_status']? null:\n\t\t\t\t<li\n\t\t\t\t\ton-click={event => {\n\t\t\t\t\t\tif (!menuItem.disabled) {\n\t\t\t\t\t\t\thandleOnMenuItemClick({\n\t\t\t\t\t\t\t\tavailablePlugins,\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\t\tmenuItem,\n\t\t\t\t\t\t\t\tupdateProperties\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'instanceModal-verticalTabItem': true,\n\t\t\t\t\t\t'-active': selectedCatItemId === menuItem.sys_id,\n\t\t\t\t\t\t'-disabled': menuItem.disabled\n\t\t\t\t\t}}\n\t\t\t\t\tdata-sysId={menuItem.sys_id}\n\t\t\t\t>\n\t\t\t\t\t{menuItem.name === 'Reset instance password' ? 'Manage instance password' : menuItem.name}\n\t\t\t\t</li>\n\t\t\t))}\n\t\t\t<li\n\t\t\t\ton-click={event =>\n\t\t\t\t\thandleOnMenuItemClick({\n\t\t\t\t\t\tavailablePlugins,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tevent,\n\t\t\t\t\t\tmaxOperationHistory,\n\t\t\t\t\t\tmenuItem: {name: 'operationHistory'},\n\t\t\t\t\t\tselectedOperationType,\n\t\t\t\t\t\tselectedOperationHistoryPage,\n\t\t\t\t\t\tupdateProperties\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tdata-sysId=\"operationHistory\"\n\t\t\t\tclass={{\n\t\t\t\t\t'instanceModal-verticalTabItem': true,\n\t\t\t\t\t'-active': selectedCatItemId === 'operationHistory'\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\tView history\n\t\t\t</li>\n\t\t\t<li\n\t\t\t\ton-click={event =>\n\t\t\t\t\thandleOnMenuItemClick({\n\t\t\t\t\t\tavailablePlugins,\n\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\tevent,\n\t\t\t\t\t\tupdateProperties\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tdata-sysId=\"instanceHelp\"\n\t\t\t\tclass={{\n\t\t\t\t\t'instanceModal-verticalTabItem': true,\n\t\t\t\t\t'-active': selectedCatItemId === 'instanceHelp'\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\tGet instance help\n\t\t\t</li>\n\t\t</ul>\n\t);\n};\n\nconst view = (state, { dispatch, updateProperties, updateState }) => {\n\tconst {\n\t\tfilteredPlugins,\n\t\tsearchTerm,\n\t\tselectedUserRole,\n\t\tselectedUpgradeRelease,\n\t\tquickResetWipeOperationType,\n\t\tuserRoleOptions,\n\t\tproperties: {\n\t\t\tavailablePlugins,\n\t\t\tcatItemInProgress,\n\t\t\tconfirmChecked,\n\t\t\tdisableClose,\n\t\t\texecuteCatItemResult,\n\t\t\tinstanceId: ins_id,\n\t\t\tisLoadingOperationHistory,\n\t\t\tisLoadingPlugins,\n\t\t\tmaxOperationHistory,\n\t\t\tmenuItems,\n\t\t\topened,\n\t\t\toperationHistory,\n\t\t\topResult,\n\t\t\tpdiUserRole,\n\t\t\treleaseInfo,\n\t\t\tselectedCatItemId,\n\t\t\tinstanceInfo,\n\t\t\tisInstanceAvailableInSamePatch,\n\t\t\tselectedOperationType,\n\t\t\tselectedOperationHistoryPage,\n\t\t\tshowOpResultBySysId,\n\t\t\tsystemProperties,\n\t\t\ttotalNumberOfOperations,\n\t\t\tupgradeableInstanceTargets,\n\t\t\tselected,\n\t\t\ttextBoxVal,\n\t\t\tresetLinkDisabled,\n\t\t\tsendRecieveEmailCheckboxChecked,\n\t\t\ttooltipRef,\n\t\t\tisSendRecieveInProgress,\n\t\t\tdisabledTooltipRef,\n\t\t\tshowResetPasswordEmailConfirmation,\n\t\t\tusersEmail,\n\t\t\tinstancePassword,\n\t\t\tshowResetPasswordConfirmation,\n\t\t\tinstanceUrl,\n\t\t\tpasswordResetFailed,\n\t\t\tpasswordResetEmailFailed\n\t\t}\n\t} = state;\n\n\tconst modalRef = createRef();\n\tconst release =\n\t\treleaseInfo &&\n\t\t(releaseInfo.userVersionSelected || releaseInfo.defaultVersionSelected);\n\treturn (\n\t\t<dps-modal\n\t\t\tclickToEscape={false}\n\t\t\tcontent={null}\n\t\t\theaderLabel={'Your instance actions'}\n\t\t\thook-insert={() => handleOnHookInsert(modalRef)}\n\t\t\topened={opened}\n\t\t\tmanagedOpen={true}\n\t\t\tref={modalRef}\n\t\t\tsize={'lg'}\n\t\t\tcloseDisabled={disableClose}\n\t\t>\n\t\t\t<div className=\"instanceModal\">\n\t\t\t\t<div className=\"instanceModal-verticalTabs\">\n\t\t\t\t\t<ModalMenuItems\n\t\t\t\t\t\tcoeffects={{ dispatch, updateProperties }}\n\t\t\t\t\t\tavailablePlugins={availablePlugins}\n\t\t\t\t\t\tmaxOperationHistory={maxOperationHistory}\n\t\t\t\t\t\tmenuItems={menuItems}\n\t\t\t\t\t\tselectedCatItemId={selectedCatItemId}\n\t\t\t\t\t\tselectedOperationType={selectedOperationType}\n\t\t\t\t\t\tselectedOperationHistoryPage={selectedOperationHistoryPage}\n\t\t\t\t\t\toperationHistory={operationHistory}\n\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"instanceModal-content-container\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'instanceModal-content': true,\n\t\t\t\t\t\t\t'-instanceHelp': selectedCatItemId === 'instanceHelp'\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{menuItems.map(menuItem => {\n\t\t\t\t\t\t\tconst isActive =\n\t\t\t\t\t\t\t\t(!isEmpty(catItemInProgress) &&\n\t\t\t\t\t\t\t\t\tcatItemInProgress === menuItem.sys_id) ||\n\t\t\t\t\t\t\t\tselectedCatItemId === menuItem.sys_id;\n\t\t\t\t\t\t\tconst props = {\n\t\t\t\t\t\t\t\tcatItemInProgress,\n\t\t\t\t\t\t\t\tconfirmChecked,\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\texecuteCatItemResult,\n\t\t\t\t\t\t\t\tfilteredPlugins,\n\t\t\t\t\t\t\t\tins_id,\n\t\t\t\t\t\t\t\tinstanceInfo,\n\t\t\t\t\t\t\t\tisActive,\n\t\t\t\t\t\t\t\tisInstanceAvailableInSamePatch,\n\t\t\t\t\t\t\t\tisLoadingPlugins,\n\t\t\t\t\t\t\t\tmenuItem,\n\t\t\t\t\t\t\t\tmodalRef,\n\t\t\t\t\t\t\t\topResult,\n\t\t\t\t\t\t\t\tquickResetWipeOperationType,\n\t\t\t\t\t\t\t\trelease,\n\t\t\t\t\t\t\t\tresetLinkDisabled,\n\t\t\t\t\t\t\t\tsearchTerm,\n\t\t\t\t\t\t\t\tselected,\n\t\t\t\t\t\t\t\tselectedUpgradeRelease,\n\t\t\t\t\t\t\t\tselectedUserRole,\n\t\t\t\t\t\t\t\tshowOpResultBySysId,\n\t\t\t\t\t\t\t\tsystemProperties,\n\t\t\t\t\t\t\t\ttextBoxVal,\n\t\t\t\t\t\t\t\tupdateProperties,\n\t\t\t\t\t\t\t\tupgradeableInstanceTargets,\n\t\t\t\t\t\t\t\tuserRoleOptions,\n\t\t\t\t\t\t\t\tsendRecieveEmailCheckboxChecked,\n\t\t\t\t\t\t\t\ttooltipRef,\n\t\t\t\t\t\t\t\tisSendRecieveInProgress,\n\t\t\t\t\t\t\t\tdisabledTooltipRef,\n\t\t\t\t\t\t\t\tshowResetPasswordEmailConfirmation,\n\t\t\t\t\t\t\t\tusersEmail,\n\t\t\t\t\t\t\t\tpdiUserRole,\n\t\t\t\t\t\t\t\tinstancePassword,\n\t\t\t\t\t\t\t\tshowResetPasswordConfirmation,\n\t\t\t\t\t\t\t\tinstanceUrl,\n\t\t\t\t\t\t\t\tpasswordResetFailed,\n\t\t\t\t\t\t\t\tpasswordResetEmailFailed,\n\t\t\t\t\t\t\t\treleaseInfo\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\treturn <TabContent {...props} />;\n\t\t\t\t\t\t})}\n\n\t\t\t\t\t\t<InstanceHelpTabContent\n\t\t\t\t\t\t\tcatItemInProgress={catItemInProgress}\n\t\t\t\t\t\t\trelease={release}\n\t\t\t\t\t\t\tselectedCatItemId={selectedCatItemId}\n\t\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<OperationHistoryTabContent\n\t\t\t\t\t\t\tcatItemInProgress={catItemInProgress}\n\t\t\t\t\t\t\tisLoadingOperationHistory={isLoadingOperationHistory}\n\t\t\t\t\t\t\tmaxOperationHistory={maxOperationHistory}\n\t\t\t\t\t\t\toperationHistory={operationHistory}\n\t\t\t\t\t\t\trelease={release}\n\t\t\t\t\t\t\tselectedCatItemId={selectedCatItemId}\n\t\t\t\t\t\t\tselectedOperationType={selectedOperationType}\n\t\t\t\t\t\t\tselectedOperationHistoryPage={selectedOperationHistoryPage}\n\t\t\t\t\t\t\ttotalNumberOfOperations={totalNumberOfOperations}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</dps-modal>\n\t);\n};\n\nexport default view;\n","/* eslint-disable object-shorthand */\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../dps-progress-bar';\nimport '../dps-modal';\nimport actionHandlers from './actionHandlers';\nimport properties from './properties';\nimport styles from './styles.scss';\nimport view from './view';\n\nexport const DPS_INSTANCE_MODAL_CONSTANTS = {\n\tCHANGE_USER_ROLE: 'CHANGE_USER_ROLE'\n};\n\nexport default createCustomElement('dps-instance-modal', {\n\tactionHandlers,\n\tinitialState: {\n\t\tfilteredPlugins: [],\n\t\tsearchTerm: '',\n\t\tselectedUserRole: '',\n\t\tselectedUpgradeRelease: {},\n\t\tquickResetWipeOperationType: \"\",\n\t\tuserRoleOptions: {}\n\t},\n\tproperties,\n\trenderer: { type: snabbdom },\n\tstyles,\n\tview\n});\n","export const DPS_WHATS_NEW_ACTIONS = {\n\tADVANCE_NEXT_SLIDE: 'DPS_WHATS_NEW_ACTIONS#ADVANCE_NEXT_SLIDE',\n\tADVANCE_TO_SLIDE: 'DPS_WHATS_NEW_ACTIONS#ADVANCE_TO_SLIDE',\n};\n","import { DPS_WHATS_NEW_ACTIONS } from './actions';\nimport { APP_ACTIONS } from '../../connected-components/dps-app/actions';\nimport '../dps-modal';\nimport '../dps-button';\nimport '@servicenow/now-icon';\nimport whats_new_img1 from '../../images/whats-new-img1.png';\nimport whats_new_img2 from '../../images/whats-new-img2.svg';\nimport whats_new_img3 from '../../images/whats-new-img3.png';\n\nconst whats_new_images = [whats_new_img1,whats_new_img2,whats_new_img3];\n\nfunction closeModal({dispatch}) {\n\tdispatch(APP_ACTIONS.WHATS_NEW_UPDATE);\n}\n\nfunction createText(card, coeffects, isActive, systemProperties) {\n\tconst textArr = card.text.split('<a>');\n\tconst cardLink =\n\t\tcard &&\n\t\tcard.link &&\n\t\tcard.link.replace('{latestRelease}', systemProperties['dev.defaultVersionSelected'])\n\treturn (\n\t\t<div className=\"dps-whats-new-modal-card-text\">\n\t\t\t{textArr.map((text, i) => (i % 2 == 0 ? text:\n\t\t\t\t<dps-link disabled={!isActive} inline onclick={() =>closeModal(coeffects)} href={cardLink}>{text}</dps-link>))}\n\t\t</div>);\n}\n\nconst makeCard = (cardNum, isActive, card, numCards, coeffects, systemProperties) => {\n\tconst leftCards = numCards - 1;\n\tconst cardStyle = {\n\t\twidth: `${100/(numCards + leftCards)}%`\n\t};\n\n\treturn (<div className=\"dps-whats-new-modal-card\" style={cardStyle}>\n\t\t<div className=\"dps-whats-new-modal-card-content\">\n\t\t\t<div className=\"dps-whats-new-modal-card-img\">\n\t\t\t\t<img src={whats_new_images[cardNum]} ></img>\n\t\t\t</div>\n\t\t\t<div className=\"dps-whats-new-modal-card-header\">\n\t\t\t\t{card.title}\n\t\t\t</div>\n\t\t\t{createText(card, coeffects, isActive, systemProperties)}\n\t\t\t{cardNum === (numCards - 1) ? <dps-button disabled={!isActive} internalAction icon onClick={() => closeModal(coeffects)} label=\"Explore the site\"></dps-button>:null}\n\t\t</div>\n\t</div>);\n};\n\n// This takes the cards and puts them into order where the active card is centered\nfunction makeCardArray(leftCards, cards, coeffects, state) {\n\tconst {targetCard, activeCard } = state;\n\tconst { systemProperties } = state.properties;\n\tconst cardArray = [];\n\tlet cardIndex;\n\tfor (let i=(-1 * leftCards);i<cards.length;i++) {\n\t\tcardIndex = ((i + activeCard + cards.length) % cards.length);\n\t\tconst isActive = cardIndex === activeCard || cardIndex === targetCard;\n\t\tcardArray.push(\n\t\t\tmakeCard(cardIndex, isActive, cards[cardIndex], cards.length, coeffects, systemProperties)\n\t\t);\n\t}\n\treturn cardArray;\n}\n\n//This generates the bars on the bottom of the card which allow you to navigate from card to card\nfunction makeActiveCardArray(cardLength, activeCard, fn) {\n\tconst activeCards = [];\n\tfor (let i=0;i<cardLength;i++){\n\t\tconst clickFunction = () => fn(i);\n\t\tactiveCards.push(\n\t\t\t<button onclick={clickFunction} className=\"dps-whats-new-modal-activeCardSelector-block-container\">\n\t\t\t\t<div class={{'dps-whats-new-modal-activeCardSelector-block':true,\n\t\t\t\t\tactive: i === activeCard}}></div>\n\t\t\t</button>);\n\t}\n\treturn activeCards;\n}\n\nconst view = (state, coeffects) => {\n\tconst { opened } = state.properties;\n\tconst { dispatch } = coeffects;\n\tconst { activeCard, targetCard, slideTranstionTime } = state;\n\tconst { cards } = state.properties;\n\n\tconst leftCards = cards.length - 1; //cards that we want to have to the left of the active card in case we need to slide back\n\tconst slidesToMove = -1 * ( (targetCard - activeCard ) % cards.length);\n\tconst titles = ['Welcome', 'What\\'s New', 'What\\'s New', 'Start exploring'];\n\n\tconst containerStyles = {\n\t\twidth: `${(cards.length + leftCards) * 100}%`,\n\t\tleft: `${100*(slidesToMove - leftCards)}%`,\n\t\ttransition: slidesToMove ? `left ${slideTranstionTime}ms ease-in-out`:null,\n\t};\n\tfunction goToCard(targetCard) {\n\t\tif (!state.inTransition) {\n\t\t\tdispatch(DPS_WHATS_NEW_ACTIONS.ADVANCE_TO_SLIDE, targetCard);\n\t\t}\n\t}\n\n\treturn (\n\t\t<dps-modal\n\t\t\topened={opened}\n\t\t\theaderLabel={titles[activeCard]}\n\t\t\tsize=\"sm\"\n\t\t\tpayloadToAction={{whatsNew: true}}\n\t\t\tclickToEscape={false}\n\t\t\thasNoPadding={true}\n\t\t>\n\t\t\t<div className=\"dps-whats-new-modal\">\n\t\t\t\t<button onclick={() => {\n\t\t\t\t\tgoToCard(activeCard - 1);\n\t\t\t\t}} className=\"dps-whats-new-modal-side-button -left\">\n\t\t\t\t\t<now-icon size='lg' icon=\"chevron-left-outline\"></now-icon>\n\t\t\t\t</button>\n\t\t\t\t<div className=\"dps-whats-new-modal-content\">\n\t\t\t\t\t<div className=\"dps-whats-new-modal-card-container\" style={containerStyles}>\n\t\t\t\t\t\t{makeCardArray(leftCards, cards, coeffects, state)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<button onclick={() => {\n\t\t\t\t\tgoToCard(activeCard + 1);\n\t\t\t\t}}  className=\"dps-whats-new-modal-side-button -right\">\n\t\t\t\t\t<now-icon size='lg' icon=\"chevron-right-outline\"></now-icon>\n\t\t\t\t</button>\n\t\t\t\t<div className=\"dps-whats-new-modal-activeCardSelector\">\n\t\t\t\t\t{makeActiveCardArray(cards.length, activeCard, goToCard)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</dps-modal>\n\t);\n};\n\nexport default view;\n","import { DPS_WHATS_NEW_ACTIONS } from './actions';\n\nexport default {\n\t[DPS_WHATS_NEW_ACTIONS.ADVANCE_NEXT_SLIDE]({dispatch, state}) {\n\t\tdispatch('ADVANCE_TO_SLIDE', (state.activeCard + 1));\n\t},\n\t[DPS_WHATS_NEW_ACTIONS.ADVANCE_TO_SLIDE]({state, action, updateState}) {\n\t\tupdateState({targetCard: action.payload, inTransition: true});\n\t\tsetTimeout(()=>{\n\t\t\tupdateState({\n\t\t\t\tactiveCard: ((action.payload + state.properties.cards.length) % state.properties.cards.length),\n\t\t\t\tinTransition: false\n\t\t\t});\n\t\t}, state.slideTranstionTime);\n\t},\n};\n\n","/* eslint-disable object-shorthand */\nimport {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-whats-new-modal.scss';\nimport view from './view';\nimport actionHandlers from './actionHandlers';\nimport {createPath} from \"../../utils/url\";\n\n// Note: Information about the site redesign is no longer relevant.\n// Hide this modal until new information about AES is available.\nexport default createCustomElement('dps-whats-new-modal', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tinitialState: {\n\t\tactiveCard: 0,\n\t\tinTransition: false,\n\t\ttargetCard: 0,\n\t\tmouseOver: false,\n\t\tslideTranstionTime: 350\n\t},\n\tproperties: {\n\t\t/**\n\t\t * Determines if lead track modal is open\n\t\t * @type {boolean}\n\t\t */\n\t\topened: {default: false},\n\t\tsystemProperties: {default: {}},\n\t\tcards: {\n\t\t\tdefault: [{\n\t\t\t\ttitle: 'Introducing the new ServiceNow Developer Site!',\n\t\t\t\ttext: 'Inspired by your feedback, we updated the site and created a brand-new developer experience.\\n\\nNot only did we refresh the look and feel, we restructured the navigation menu, updated the Learn section, and added new content to guide you through creating and building powerful workflow apps.',\n\t\t\t}, {\n\t\t\t\ttitle: 'A refreshed Learn section',\n\t\t\t\ttext: 'We updated the Learn section and refreshed its layout so that you can consume learning materials more easily. We also renamed “Training” to “Courses” for added clarity. <a>Check out our new overview page<a> to better understand the differences between our Learning Plans and Courses. Choose a learning plan to grow in your role or start a course to refine your skills.',\n\t\t\t\tlink: createPath(`/learn`)\n\t\t\t}, {\n\t\t\t\ttitle: 'A new UI framework',\n\t\t\t\ttext: 'With the site redesign, we’re also debuting a new framework technology to help you customize your Workspace experience. The <a>Now® Experience UI Framework<a> was built with you in mind, ensuring reliability, extensibility, and flexibility to create modern user experiences.',\n\t\t\t\tlink: createPath(`/reference/next-experience/{latestRelease}/ui-framework/api-reference/core`)\n\t\t\t}]\n\t\t}\n\t},\n\tactionHandlers,\n\tstyles\n});\n","export const DPS_PLAYGROUND_WHATS_NEW_ACTIONS = {\n\tADVANCE_NEXT_SLIDE: 'DPS_PLAYGROUND_WHATS_NEW_ACTIONS#ADVANCE_NEXT_SLIDE',\n\tADVANCE_TO_SLIDE: 'DPS_PLAYGROUND_WHATS_NEW_ACTIONS#ADVANCE_TO_SLIDE',\n};\n","import { DPS_PLAYGROUND_WHATS_NEW_ACTIONS } from './actions';\nimport { createRef } from '@servicenow/ui-renderer-snabbdom';\nimport RefreshIcon from '../../images/icons/refresh-replay.svg';\nimport '../dps-modal';\nimport '../dps-button';\nimport '../dps-spinner';\nimport '@servicenow/now-icon';\n\nconst makeCard = (cardNum, isActive, card, numCards, coeffects, systemProperties) => {\n\tconst leftCards = numCards - 1;\n\tconst cardStyle = {\n\t\twidth: `${100/(numCards + leftCards)}%`\n\t};\n\n\treturn (<div className=\"dps-playground-whats-new-modal-card\" style={cardStyle}>\n\t\t<div className=\"dps-playground-whats-new-modal-card-content\">\n\t\t\t<div className=\"dps-playground-whats-new-modal-card-header\">\n\t\t\t\t{card.title}\n\t\t\t</div>\n\t\t\t{card.text}\n\t\t</div>\n\t</div>);\n};\n\n// This takes the cards and puts them into order where the active card is centered\nfunction makeCardArray(leftCards, cards, coeffects, state) {\n\tconst {targetCard, activeCard } = state;\n\tconst { systemProperties } = state.properties;\n\tconst cardArray = [];\n\tlet cardIndex;\n\tfor (let i=(-1 * leftCards);i<cards.length;i++) {\n\t\tcardIndex = ((i + activeCard + cards.length) % cards.length);\n\t\tconst isActive = cardIndex === activeCard || cardIndex === targetCard;\n\t\tcardArray.push(\n\t\t\tmakeCard(cardIndex, isActive, cards[cardIndex], cards.length, coeffects, systemProperties)\n\t\t);\n\t}\n\treturn cardArray;\n}\n\n//This generates the bars on the bottom of the card which allow you to navigate from card to card\nfunction makeActiveCardArray(cards, activeCard, fn) {\n\tconst activeCards = [];\n\tfor (let i=0;i<cards.length;i++){\n\t\tconst clickFunction = () => fn(i);\n\t\tactiveCards.push(\n\t\t\t<button onclick={clickFunction} className=\"dps-playground-whats-new-modal-activeCardSelector-block-container\">\n\t\t\t\t<div class={{'dps-playground-whats-new-modal-activeCardSelector-block':true, active: i === activeCard}}>\n\t\t\t\t\t<div className=\"bar\" style={{\n\t\t\t\t\t\ttransitionDuration: `${cards[activeCard].end - cards[activeCard].start}s`\n\t\t\t\t\t}}></div>\n\t\t\t\t</div>\n\t\t\t</button>);\n\t}\n\treturn activeCards;\n}\n\nconst view = (state, coeffects) => {\n\tconst { opened, cards, loop } = state.properties;\n\tconst { dispatch, updateState } = coeffects;\n\tconst { activeCard, targetCard, slideTranstionTime } = state;\n\tconst videoRef = createRef();\n\tconst activeCardsRef = createRef();\n\tconst leftCards = cards.length - 1; //cards that we want to have to the left of the active card in case we need to slide back\n\tconst slidesToMove = -1 * ( (targetCard - activeCard ) % cards.length);\n\tconst requestedIndex = Math.max(0, targetCard % cards.length);\n\tconst onFirstSlide = requestedIndex === 0;\n\tconst onLastSlide = requestedIndex === cards.length - 1;\n\tconst containerStyles = {\n\t\twidth: `${(cards.length + leftCards) * 100}%`,\n\t\tleft: `${100*(slidesToMove - leftCards)}%`,\n\t\ttransition: slidesToMove ? `left ${slideTranstionTime}ms ease-in-out`:null,\n\t};\n\n\tfunction goToCard(targetCard) {\n\t\t// if don't loop is set, short circuit here\n\t\tif(!loop && targetCard >= cards.length || targetCard < 0) {\n\t\t\treturn false;\n\t\t}\n\t\tif (!state.inTransition) {\n\t\t\tdispatch(DPS_PLAYGROUND_WHATS_NEW_ACTIONS.ADVANCE_TO_SLIDE, targetCard);\n\n\t\t\tlet cardIndex = Math.max(0, targetCard % cards.length);\n\t\t\tsetPlayhead(cards[cardIndex].start);\n\t\t\tvideoRef.current.play();\n\t\t}\n\t}\n\n\tfunction setPlayhead(seconds) {\n\t\tvideoRef.current.currentTime = seconds;\n\t}\n\n\treturn (\n\t\t<dps-modal\n\t\t\topened={opened}\n\t\t\theaderLabel=\"The Component Playground\"\n\t\t\tsize=\"sm\"\n\t\t\tpayloadToAction={{playgroundWhatsNew: true}}\n\t\t\tclickToEscape={false}\n\t\t\thasNoPadding={true}\n\t\t>\n\t\t\t<div className=\"dps-playground-whats-new-modal\">\n\t\t\t\t<button onclick={() => {\n\t\t\t\t\tgoToCard(activeCard - 1);\n\t\t\t\t}} class={{\n\t\t\t\t\t'dps-playground-whats-new-modal-side-button': true,\n\t\t\t\t\t'-left': true,\n\t\t\t\t\t'-is-disabled': onFirstSlide && !loop\n\t\t\t\t}}>\n\t\t\t\t\t<now-icon size='lg' icon=\"chevron-left-outline\"></now-icon>\n\t\t\t\t</button>\n\t\t\t\t<div className=\"dps-playground-whats-new-modal-content\">\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'repeat-slide': true,\n\t\t\t\t\t\t\t'-is-visible': cards[requestedIndex].repeatable !== false && !state.playing,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonclick={(event) => {\n\t\t\t\t\t\t\t// we need to toggle the class off...pause...on in order to reset the animation\n\t\t\t\t\t\t\tconst currentlyActive = activeCardsRef.current.querySelector('.active');\n\t\t\t\t\t\t\tcurrentlyActive.classList.remove('active');\n\t\t\t\t\t\t\twindow.setTimeout(() => {\n\t\t\t\t\t\t\t\tcurrentlyActive.classList.add('active');\n\t\t\t\t\t\t\t\tsetPlayhead(cards[requestedIndex].start);\n\t\t\t\t\t\t\t\tvideoRef.current.play();\n\t\t\t\t\t\t\t}, 20); // allow the class to be toggled [arbitrary number of ms]\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<img src={RefreshIcon} alt=\"\"/>\n\t\t\t\t\t</button>\n\t\t\t\t\t{state.videoBlob ? (\n\t\t\t\t\t\t<video\n\t\t\t\t\t\t\tref={videoRef}\n\t\t\t\t\t\t\tmuted\n\t\t\t\t\t\t\tautoplay\n\t\t\t\t\t\t\tpreload=\"auto\"\n\t\t\t\t\t\t\twidth=\"1280\"\n\t\t\t\t\t\t\tsrc={state.videoBlob}\n\t\t\t\t\t\t\tontimeupdate={(event) => {\n\t\t\t\t\t\t\t\t// only check this if paused. This is tricky because\n\t\t\t\t\t\t\t\t// Invoking setPlayhead repeatedly makes things\n\t\t\t\t\t\t\t\t// loop in one spot and eat CPU cycles.\n\t\t\t\t\t\t\t\tif(!event.target.paused && event.target.currentTime >= cards[requestedIndex].end) {\n\t\t\t\t\t\t\t\t\tevent.target.pause();\n\t\t\t\t\t\t\t\t\tsetPlayhead(cards[requestedIndex].end);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonplay={() => updateState({playing: true})}\n\t\t\t\t\t\t\tonpause={() => updateState({playing: false})}\n\t\t\t\t\t\t\tonended={() => updateState({playing: false})}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t</video>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<dps-spinner size=\"sm\"></dps-spinner>\n\t\t\t\t\t)}\n\t\t\t\t\t<div className=\"dps-playground-whats-new-modal-card-container\" style={containerStyles}>\n\t\t\t\t\t\t{makeCardArray(leftCards, cards, coeffects, state)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<button onclick={() => {\n\t\t\t\t\tgoToCard(activeCard + 1);\n\t\t\t\t}}  class={{\n\t\t\t\t\t'dps-playground-whats-new-modal-side-button': true,\n\t\t\t\t\t'-right': true,\n\t\t\t\t\t'-is-disabled': onLastSlide && !loop\n\t\t\t\t}}>\n\t\t\t\t\t<now-icon size='lg' icon=\"chevron-right-outline\"></now-icon>\n\t\t\t\t</button>\n\t\t\t\t<div ref={activeCardsRef} className=\"dps-playground-whats-new-modal-activeCardSelector\">\n\t\t\t\t\t{makeActiveCardArray(cards, requestedIndex, goToCard)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</dps-modal>\n\t);\n};\n\nexport default view;\n","import { DPS_PLAYGROUND_WHATS_NEW_ACTIONS } from './actions';\nimport { actionTypes } from '@servicenow/ui-core';\nconst {\n\tCOMPONENT_CONNECTED,\n} = actionTypes;\n\nexport default {\n\t[DPS_PLAYGROUND_WHATS_NEW_ACTIONS.ADVANCE_NEXT_SLIDE]({dispatch, state}) {\n\t\tdispatch('ADVANCE_TO_SLIDE', (state.activeCard + 1));\n\t},\n\t[DPS_PLAYGROUND_WHATS_NEW_ACTIONS.ADVANCE_TO_SLIDE]({state, action, updateState}) {\n\t\tupdateState({targetCard: action.payload, inTransition: true});\n\t\tsetTimeout(()=>{\n\t\t\tupdateState({\n\t\t\t\tactiveCard: ((action.payload + state.properties.cards.length) % state.properties.cards.length),\n\t\t\t\tinTransition: false\n\t\t\t});\n\t\t}, state.slideTranstionTime);\n\t},\n\t[COMPONENT_CONNECTED]({state, updateState}) {\n\t\t// https://stackoverflow.com/a/23299806/24559\n\n\t\t// Chrome is very dainty about how it loads videos.\n\t\t// it will stop preloading if the video is paused or\n\t\t// very close to the beginning still. We need to\n\t\t// force it to preload with this hack.\n\n\t\t// Request the whole video as a BLOB on component\n\t\t// connection then pass it along as state.\n\t\tvar request = new XMLHttpRequest();\n\t\trequest.onload = function() {\n\t\t\tupdateState({\n\t\t\t\tvideoBlob: URL.createObjectURL(request.response)\n\t\t\t});\n\t\t};\n\t\trequest.open(\"GET\", state.properties.videoSrc);\n\t\trequest.responseType = \"blob\";\n\t\trequest.send();\n\t}\n};\n","/* eslint-disable object-shorthand */\nimport {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './_dps-playground-whats-new-modal.scss';\nimport view from './view';\nimport actionHandlers from './actionHandlers';\n\nexport default createCustomElement('dps-playground-whats-new-modal', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tinitialState: {\n\t\tactiveCard: 0,\n\t\tinTransition: false,\n\t\ttargetCard: 0,\n\t\tmouseOver: false,\n\t\tslideTranstionTime: 350,\n\t},\n\tproperties: {\n\t\topened: {default: false},\n\t\tloop: {default: false},\n\t\tsystemProperties: {default: {}},\n\t\tvideoSrc: {\n\t\t\tdefault: 'https://sndevstore.blob.core.windows.net/images/playground_welcome_animation_v3.mp4'\n\t\t},\n\t\tcards: {\n\t\t\tdefault: [\n\t\t\t\t{\n\t\t\t\t\ttitle: 'Welcome to the component playground',\n\t\t\t\t\ttext: 'This tool has features to help you create and share custom component configurations.',\n\t\t\t\t\tstart: 0,\n\t\t\t\t\tend: 0.2,\n\t\t\t\t\trepeatable: false,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttitle: 'Customize configurations',\n\t\t\t\t\ttext: 'To create a custom configuration, edit the various component properties.',\n\t\t\t\t\tstart: 0.2,\n\t\t\t\t\tend: 8,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttitle: 'Save configurations',\n\t\t\t\t\ttext: 'After editing the properties, you can save your new configuration as a copy. This allows you to retain and revisit it later on.',\n\t\t\t\t\tstart: 8,\n\t\t\t\t\tend: 12,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttitle: 'Share configurations',\n\t\t\t\t\ttext: 'Allow others to see what you’ve created by sharing a link to your custom configuration. They can share their configurations with you, too.',\n\t\t\t\t\tstart: 12,\n\t\t\t\t\tend: 20,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttitle: 'Duplicate configurations',\n\t\t\t\t\ttext: 'You can also duplicate a configuration shared with you. This allows you to collaborate on the component or use it as inspiration.',\n\t\t\t\t\tstart: 20,\n\t\t\t\t\tend: 22.7,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttitle: 'Start customizing',\n\t\t\t\t\ttext: 'Use these features to help you test your component ideas before implementing them in an experience.',\n\t\t\t\t\tstart: 22.7,\n\t\t\t\t\tend: 35,\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t},\n\tactionHandlers,\n\tstyles\n});\n","export const DPS_USER_PROFILE_MODAL = {\n    FETCH_USER_PROFILE_QUESTIONS: 'DPS_USER_PROFILE_MODAL#FETCH_USER_PROFILE_QUESTIONS',\n    FETCH_USER_PROFILE_QUESTIONS_SUCCEEDED: 'DPS_USER_PROFILE_MODAL#FETCH_USER_PROFILE_QUESTIONS_SUCCEEDED',\n    FETCH_USER_PROFILE_QUESTIONS_FAILED: 'DPS_USER_PROFILE_MODAL#FETCH_USER_PROFILE_QUESTIONS_FAILED',\n    NAVIGATE_QUESTION: 'DPS_USER_PROFILE_MODAL#NAVIGATE_QUESTION',\n    SUBMIT_QUESTIONS: 'DPS_USER_PROFILE_MODAL#SUBMIT_QUESTIONS',\n    POPULATE_OPTION_CHECKBOX_EVENT: 'DPS_USER_PROFILE_MODAL#POPULATE_OPTION_CHECKBOX_EVENT',\n    POPULATE_OPTION_RADIO_EVENT: 'DPS_USER_PROFILE_MODAL#POPULATE_OPTION_RADIO_EVENT'\n}","export const USER_PROFILE_CONSTANTS = {\n    LEGAL_AGREEMENT_CHECK: 'legal_agreement_check',\n    SINGLE_CHOICE: 'Single Choice',\n    MULTIPLE_CHOICE: 'Multiple Choice',\n    SINGLE_CHOICE_TABBED: 'Single Choice Tabbed',\n    OTHER_OPTION: 'Other',\n    NAVIGATION_TYPE_NEXT: 'next',\n    NAVIGATION_TYPE_PREVIOUS: 'previous',\n    CHOICE_TYPE_RADIO: 'radio',\n    CHOICE_TYPE_CHECKBOX: 'checkbox',\n    CHOICE_TYPE_TABBED: 'tabbed_button'\n}","import { USER_PROFILE_CONSTANTS } from './constants';\n\nexport const isActiveQuestion = (userProfileQuestions, activeQuestion) =>\n\tuserProfileQuestions &&\n\tuserProfileQuestions[activeQuestion] &&\n\tuserProfileQuestions[activeQuestion].question;\n\nexport const isActiveOptions = (userProfileQuestions, activeQuestion) =>\n\tuserProfileQuestions &&\n\tuserProfileQuestions[activeQuestion] &&\n\tuserProfileQuestions[activeQuestion].option;\n\nexport const disableButton = (\n\tuserProfileQuestions,\n\tactiveQuestion,\n\tactiveQuestionAnswers,\n\tisLegalAgreementChecked\n) => {\n\tconst isMandatory =\n\t\tisActiveQuestion(userProfileQuestions, activeQuestion) &&\n        userProfileQuestions[activeQuestion].question.is_mandatory;\n\n\tconst isLastQuestion =\n\t\tactiveQuestion ===\n        (userProfileQuestions && userProfileQuestions.length - 1);\n\n\tconst questionDisabled =\n\t\tBoolean(activeQuestionAnswers && activeQuestionAnswers.answerObj) &&\n\t\t(activeQuestionAnswers &&\n\t\t\tactiveQuestionAnswers.answerObj &&\n            activeQuestionAnswers.answerObj.length > 0);\n\n\tconst isButtonDisabled = isLastQuestion\n\t\t? !isLegalAgreementChecked ||\n\t\t  (isMandatory && !questionDisabled) \n\t\t: (isMandatory && !questionDisabled);\n\n\treturn isButtonDisabled;\n};\n\nexport const formOptionsObject = (\n\tuserProfileQuestions,\n\tactiveQuestion,\n\tactiveQuestionAnswers\n) => {\n\tlet options = [],\n\t\toptionObj = {\n\t\t\tid: '',\n\t\t\tlabel: '',\n\t\t\tchecked: false,\n\t\t\timageSysID: '',\n\t\t\tadditionalText: ''\n\t\t};\n\n\tisActiveOptions(userProfileQuestions, activeQuestion) &&\n\t\tuserProfileQuestions[activeQuestion].option.forEach(element => {\n\t\t\toptionObj.id = element.text;\n\t\t\toptionObj.label = element.text;\n\t\t\toptionObj.checked =\n\t\t\t\tactiveQuestionAnswers &&\n\t\t\t\tactiveQuestionAnswers.type == USER_PROFILE_CONSTANTS.MULTIPLE_CHOICE\n\t\t\t\t\t? activeQuestionAnswers &&\n\t\t\t\t\t  activeQuestionAnswers.answerObj &&\n\t\t\t\t\t  activeQuestionAnswers.answerObj.find(el => el == element.text)\n\t\t\t\t\t: element.text ==\n\t\t\t\t\t  (activeQuestionAnswers && activeQuestionAnswers.answerObj);\n\t\t\toptionObj.imageSysID = element.optional_image;\n\t\t\toptionObj.additionalText = element.info_message_logged_in_user;\n\n\t\t\toptions.push(optionObj);\n\t\t\toptionObj = {\n\t\t\t\tid: '',\n\t\t\t\tlabel: '',\n\t\t\t\tchecked: false,\n\t\t\t\timageSysID: '',\n\t\t\t\tadditionalText: ''\n\t\t\t};\n\t\t});\n\n\treturn options;\n};\n\nexport const findAnswerOptionalText = (\n\tuserProfileQuestions,\n\tactiveQuestion,\n\tactiveQuestionAnswers\n) => {\n\tlet isTabbedOptionType = \n\t\tisActiveQuestion(userProfileQuestions, activeQuestion) &&\n\t\tuserProfileQuestions[activeQuestion].question &&\n\t\tuserProfileQuestions[activeQuestion].question.type === USER_PROFILE_CONSTANTS.SINGLE_CHOICE_TABBED;\n\t\n\tlet optionalTextIndex;\n\t\n\tif (!isTabbedOptionType) {\n\t\toptionalTextIndex =\n\t\tisActiveOptions(userProfileQuestions, activeQuestion) &&\n\t\tuserProfileQuestions[activeQuestion].option &&\n\t\tuserProfileQuestions[activeQuestion].option.find(\n\t\t\telement =>\n\t\t\t\telement.text ==\n\t\t\t\t(activeQuestionAnswers && activeQuestionAnswers.answerObj)\n\t\t);\n\t}\n\n\treturn optionalTextIndex && optionalTextIndex.info_message_logged_in_user;\n};\n\nexport const findAnswerOptionalImage = (\n\tuserProfileQuestions,\n\tactiveQuestion,\n\tactiveQuestionAnswers\n) => {\n\tlet isTabbedOptionType = \n\t\tisActiveQuestion(userProfileQuestions, activeQuestion) &&\n\t\tuserProfileQuestions[activeQuestion].question &&\n\t\tuserProfileQuestions[activeQuestion].question.type === USER_PROFILE_CONSTANTS.SINGLE_CHOICE_TABBED;\n\n\tlet optionalTextIndex;\n\tif(!isTabbedOptionType) {\n\t\toptionalTextIndex =\n\t\t\tisActiveOptions(userProfileQuestions, activeQuestion) &&\n\t\t\tuserProfileQuestions[activeQuestion].option &&\n\t\t\tuserProfileQuestions[activeQuestion].option.find(\n\t\t\t\telement =>\n\t\t\t\t\telement.text ==\n\t\t\t\t\t(activeQuestionAnswers && activeQuestionAnswers.answerObj)\n\t\t\t);\n\t}\n\n\treturn optionalTextIndex && optionalTextIndex.optional_image;\n};\n\nexport const saveAnswer = (updateState, state) => {\n\tconst { userProfileAnswers, properties } = state;\n\tconst {\n\t\tactiveQuestion,\n\t\tuserProfileQuestions,\n\t\tactiveQuestionAnswers\n\t} = properties;\n\n\tconst userProfileAnswerOption = {\n\t\tquestionID:\n\t\t\tuserProfileQuestions &&\n\t\t\tuserProfileQuestions[activeQuestion].question.text,\n\t\tanswerObj: (activeQuestionAnswers && activeQuestionAnswers.answerObj) || {},\n\t\ttype:\n\t\t\tuserProfileQuestions &&\n\t\t\tuserProfileQuestions[activeQuestion].question.type,\n\t\tother_text:\n\t\t\t(activeQuestionAnswers && activeQuestionAnswers.other_text) || ''\n\t};\n\n\tuserProfileAnswers && userProfileAnswers[activeQuestion]\n\t\t? updateState({\n\t\t\t\tpath: `userProfileAnswers[${activeQuestion}]`,\n\t\t\t\tvalue: userProfileAnswerOption,\n\t\t\t\toperation: 'set'\n\t\t  })\n\t\t: updateState({\n\t\t\t\tpath: 'userProfileAnswers',\n\t\t\t\tvalue: userProfileAnswerOption,\n\t\t\t\toperation: 'push'\n\t\t  });\n};\n\nexport const disableStepperOptions = (\n\tstepperOptions,\n\tactiveQuestion,\n\tuserProfileQuestions,\n\tuserProfileAnswers,\n\tisLegalAgreementChecked,\n\tupdateProperties\n) => {\n\tstepperOptions.forEach((opt, index) => {\n\t\tif (index <= activeQuestion) {\n\t\t\topt.disabled = false;\n\t\t} else {\n\t\t\topt.disabled = disableButton(\n\t\t\t\tuserProfileQuestions,\n\t\t\t\tindex - 1,\n\t\t\t\tuserProfileAnswers[index - 1],\n\t\t\t\tisLegalAgreementChecked\n\t\t\t);\n\t\t}\n\t});\n\tupdateProperties({\n\t\tstepperOptions\n\t});\n};\n\nexport const findImagesAndPreloadImages = userProfileQuestions => {\n\tlet images = [];\n\tuserProfileQuestions && userProfileQuestions.forEach(el => {\n\t\tif(el.question.optional_image) {\n\t\t\timages.push(el.question.optional_image);\n\t\t} else {\n\t\t\tel.option && el.option.forEach(opt => {\n\t\t\t\tif(opt.optional_image) {\n\t\t\t\t\timages.push(opt.optional_image);\n\t\t\t\t} \n\t\t\t});\n\t\t}\n\t});\n\n\timages && images.forEach(src => {\n\t\tconst image = new Image();\n\t\timage.src = src;\n\t});\n}\n","import { DPS_USER_PROFILE_MODAL } from './actions';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { COMPONENT_BOOTSTRAPPED } from '@servicenow/ui-core/lib/constants';\nimport { COMPONENT_PROPERTY_CHANGED } from '@servicenow/ui-core/lib/constants';\nimport { disableButton, saveAnswer, isActiveQuestion, disableStepperOptions, findImagesAndPreloadImages } from './actionHelpers';\nimport { CONSTANTS } from '../../constants';\nimport { USER_PROFILE_CONSTANTS } from './constants';\nimport { makeSnHttpFactory } from '../../utils/helpers';\nimport { SessionService } from '../../utils/sessionService';\n\nconst componentBootstrapped = coeffects => {\n\tconst { dispatch } = coeffects;\n\tdispatch(DPS_USER_PROFILE_MODAL.FETCH_USER_PROFILE_QUESTIONS);\n};\n\nconst fetchUserProfileQuestions = makeSnHttpFactory({\n\tactionName: DPS_USER_PROFILE_MODAL.FETCH_USER_PROFILE_QUESTIONS,\n\tmethod: 'get',\n\turl: CONSTANTS.ENDPOINTS.FETCH_USER_PROFILE_QUESTIONS\n});\n\nconst fetchUserProfileQuestionsSucceeded = ({ action, updateProperties }) => {\n\tconst { userProfileQuestions } = action.payload.result;\n\tlet stepperOptionObj = {};\n\tlet stepperOptions = [];\n\n\tfindImagesAndPreloadImages(userProfileQuestions);\n\tuserProfileQuestions &&\n\t\tuserProfileQuestions.forEach((profileObj, index) => {\n\t\t\tstepperOptionObj = {\n\t\t\t\tid: profileObj.question && profileObj.question.text,\n\t\t\t\tprogress: 'none',\n\t\t\t\tdisabled: index > 1 || (index == 1 && userProfileQuestions[0].question && userProfileQuestions[0].question.is_mandatory)\n\t\t\t};\n\t\t\tstepperOptions.push(stepperOptionObj);\n\t\t});\n\t\n\tupdateProperties({\n\t\tuserProfileQuestions,\n\t\tstepperOptions,\n\t\tisfetchQuestionsSucceeded: true,\n\t\tisFetchQuestionsSubmitted: false\n\t});\n};\n\nconst fetchUserProfileQuestionsFailed = coeffects => {\n\tconst { updateProperties, state, action, updateState, dispatch } = coeffects;\n\tconst {\n\t\tfailedFetchUserProfileQuestions,\n\t\tfailedFetchUserProfileQuestionsRetryCount\n\t} = state;\n\tconst { status, headers } = action.payload.response;\n\n\tif(\n\t\tstatus == 401 && \n\t\tfailedFetchUserProfileQuestionsRetryCount < 5\n\t) {\n\t\tSessionService.checkHeaderUserToken(\n\t\t\theaders['x-usertoken-response']\n\t\t);\n\t\tSessionService.checkHeaderUserToken(headers['X-UserToken']);\n\t\tupdateState({\n\t\t\tfailedFetchUserProfileQuestions: true,\n\t\t\tfailedFetchUserProfileQuestionsRetryCount: failedFetchUserProfileQuestionsRetryCount + 1\n\t\t});\n\t\tdispatch(DPS_USER_PROFILE_MODAL.FETCH_USER_PROFILE_QUESTIONS);\n\t} else {\n\t\tupdateProperties({\n\t\t\tuserProfileQuestions: [],\n\t\t\tstepperOptions: [],\n\t\t\tisfetchQuestionsSucceeded: false,\n\t\t\tisFetchQuestionsSubmitted: false\n\t\t});\n\t}\n};\n\nconst componentPropertyChanged = ({\n\taction,\n\tupdateProperties,\n\tproperties,\n\tstate\n}) => {\n\tif (action.payload.name == 'activeQuestion') {\n\t\tconst { userProfileAnswers } = state;\n\t\tconst { activeQuestion, userProfileQuestions, stepperOptions, isLegalAgreementChecked } = properties;\n\t\tlet emptyAnswerType =\n\t\t\tuserProfileQuestions &&\n\t\t\tuserProfileQuestions[activeQuestion] &&\n\t\t\tuserProfileQuestions[activeQuestion].question.type ==\n\t\t\t\tUSER_PROFILE_CONSTANTS.MULTIPLE_CHOICE\n\t\t\t\t? []\n\t\t\t\t: {};\n\n\t\tlet answer = {\n\t\t\ttype:\n\t\t\t\tuserProfileQuestions &&\n\t\t\t\tuserProfileQuestions[activeQuestion] &&\n\t\t\t\tuserProfileQuestions[activeQuestion].question.type,\n\t\t\tanswerObj:\n\t\t\t\t(userProfileAnswers &&\n\t\t\t\t\tuserProfileAnswers[activeQuestion] &&\n\t\t\t\t\tuserProfileAnswers[activeQuestion].answerObj) ||\n\t\t\t\temptyAnswerType,\n\t\t\tother_text:\n\t\t\t\t(userProfileAnswers &&\n\t\t\t\t\tuserProfileAnswers[activeQuestion] &&\n\t\t\t\t\tuserProfileAnswers[activeQuestion].other_text) || ''\n\t\t};\n\n\t\tdisableStepperOptions(\n\t\t\tstepperOptions, \n\t\t\tactiveQuestion, \n\t\t\tuserProfileQuestions, \n\t\t\tuserProfileAnswers, \n\t\t\tisLegalAgreementChecked, \n\t\t\tupdateProperties\n\t\t);\n\n\t\tlet stepperOptionArray = stepperOptions;\n\n\t\tif (stepperOptionArray && stepperOptionArray[activeQuestion]) {\n\t\t\tstepperOptionArray[activeQuestion].progress = 'none';\n\t\t}\n\n\t\tupdateProperties({\n\t\t\tactiveQuestionAnswers: answer\n\t\t});\n\t}\n};\n\nconst handleNavigateQuestion = ({\n\taction,\n\tstate,\n\tupdateState,\n\tproperties,\n\tupdateProperties\n}) => {\n\tconst { navigationType } = action.payload;\n\tconst {\n\t\tuserProfileQuestions,\n\t\tactiveQuestion,\n\t\tactiveQuestionAnswers,\n\t\tstepperOptions,\n\t\tisLegalAgreementChecked\n\t} = properties;\n\tlet stepperOptionArray = stepperOptions;\n\tif (stepperOptionArray && stepperOptionArray[activeQuestion]) {\n\t\tconst isDisabled = disableButton(\n\t\t\tuserProfileQuestions,\n\t\t\tactiveQuestion,\n\t\t\tactiveQuestionAnswers,\n\t\t\tisLegalAgreementChecked\n\t\t);\n\t\tstepperOptionArray[activeQuestion].progress =\n\t\t\tisDisabled ||\n\t\t\t!(activeQuestionAnswers && activeQuestionAnswers.answerObj && activeQuestionAnswers.answerObj.length) || \n\t\t\t!(activeQuestionAnswers && activeQuestionAnswers.answerObj)\n\t\t\t\t? 'none'\n\t\t\t\t: 'done';\n\t}\n\n\tsaveAnswer(updateState, state);\n\tnavigationType == USER_PROFILE_CONSTANTS.NAVIGATION_TYPE_NEXT\n\t\t? updateProperties({\n\t\t\t\tactiveQuestion: activeQuestion + 1\n\t\t  })\n\t\t: updateProperties({\n\t\t\t\tactiveQuestion: activeQuestion - 1\n\t\t  });\n};\n\nconst handleSubmitQuestions = ({\n\taction,\n\tproperties,\n\tstate,\n\tdispatch,\n\tupdateState\n}) => {\n\tsaveAnswer(updateState, state);\n\tconst { userProfileAnswers } = state;\n\tconst { isLegalAgreementChecked } = properties;\n\tconst message = 'message';\n\n\tlet legalAgreementData = {\n\t\tdata: {\n\t\t\thasWatchedIntro: false,\n\t\t\tintroSwitch: false,\n\t\t\tstatus: '',\n\t\t\tleadSwitch: false,\n\t\t\tsigned: isLegalAgreementChecked,\n\t\t\tsignedLeadTracking: true\n\t\t},\n\t\tmessage: isLegalAgreementChecked ? '' : message,\n\t\tstatus: 'success'\n\t};\n\n\tlet data = {\n\t\taction: 'create',\n\t\tcategory: 'User Profile Questions',\n\t\tuserProfileAnswers: userProfileAnswers\n\t};\n\n\tconst postPersonaResults = {\n\t\tpersona_answers: data,\n\t\tlegal_signature: legalAgreementData\n\t}\n\t\n\tdispatch('APP#USER_PROFILE_MODAL_SEND_USER_PROFILE_QUESTIONS', {\n\t\tpostPersonaResults\n\t});\n\n\tdispatch('APP_ACTIONS#QUESTION_SUBMISSION_IN_PROGRESS');\n};\n\nconst handleTextAreaEvent = ({ action, properties, updateProperties }) => {\n\tconst {\n\tactiveQuestionAnswers,\n\tuserProfileQuestions,\n\tisLegalAgreementChecked,\n\tactiveQuestion,\n\tstepperOptions\n} = properties;\n\n\tlet { value } = action.payload;\n\tlet activeAnswerObj = {\n\t\ttype: activeQuestionAnswers && activeQuestionAnswers.type,\n\t\tanswerObj: activeQuestionAnswers && activeQuestionAnswers.answerObj,\n\t\tother_text: value\n\t};\n\n\tlet stepperObj = stepperOptions;\n\tif(activeQuestion != (userProfileQuestions.length - 1)) {\n\t\tconst questionNo = parseInt(activeQuestion) + 1;\n\t\tstepperObj[questionNo].disabled = disableButton(\n\t\t\tuserProfileQuestions,\n\t\t\tactiveQuestion,\n\t\t\tactiveAnswerObj,\n\t\t\tisLegalAgreementChecked\n\t\t);\n\t}\n\n\tupdateProperties({\n\t\tactiveQuestionAnswers: activeAnswerObj\n\t});\n};\n\nconst handleCheckBoxEvent = ({ action, properties, updateProperties }) => {\n\tconst {\n\t\tuserProfileQuestions,\n\t\tactiveQuestion,\n\t\tactiveQuestionAnswers,\n\t\tstepperOptions,\n\t\tisLegalAgreementChecked\n\t} = properties;\n\tlet activeAnswer =\n\t\t(activeQuestionAnswers && activeQuestionAnswers.answerObj) || [];\n\tlet other_text =\n\t\t(activeQuestionAnswers && activeQuestionAnswers.other_text) || '';\n\n\tif (action.payload.type == USER_PROFILE_CONSTANTS.LEGAL_AGREEMENT_CHECK) {\n\t\tupdateProperties({\n\t\t\tisLegalAgreementChecked: action.payload.valueObj\n\t\t});\n\t} else {\n\t\tlet isOptionChecked =\n\t\t\tactiveAnswer &&\n\t\t\tactiveAnswer.findIndex(el => el == action.payload.valueObj.id);\n\t\tif (isOptionChecked >= 0) {\n\t\t\tactiveAnswer.splice(isOptionChecked, 1);\n\t\t\tother_text =\n\t\t\t\taction.payload.valueObj.id === USER_PROFILE_CONSTANTS.OTHER_OPTION\n\t\t\t\t\t? ''\n\t\t\t\t\t: other_text;\n\t\t} else {\n\t\t\tactiveAnswer.push(action.payload.valueObj.id);\n\t\t}\n\n\t\tlet activeAnswerObj = {\n\t\t\ttype:\n\t\t\t\tuserProfileQuestions &&\n\t\t\t\tuserProfileQuestions[activeQuestion] &&\n\t\t\t\tuserProfileQuestions[activeQuestion].question.type,\n\t\t\tanswerObj: activeAnswer,\n\t\t\tother_text\n\t\t};\n\n\t\tlet stepperObj = stepperOptions;\n\t\tif(activeQuestion != (userProfileQuestions.length - 1)) {\n\t\t\tconst questionNo = parseInt(activeQuestion) + 1;\n\t\t\tstepperObj[questionNo].disabled = disableButton(\n\t\t\t\tuserProfileQuestions,\n\t\t\t\tactiveQuestion,\n\t\t\t\tactiveAnswerObj,\n\t\t\t\tisLegalAgreementChecked\n\t\t\t);\n\t\t}\n\n\t\tupdateProperties({\n\t\t\tactiveQuestionAnswers: activeAnswerObj,\n\t\t\tstepperOptions: stepperObj\n\t\t});\n\t}\n};\n\nconst handleRadioTypeEvent = ({ action, updateProperties, properties }) => {\n\tconst { userProfileQuestions, activeQuestion, stepperOptions } = properties;\n\tlet userProfileAnswerOption = {\n\t\ttype:\n\t\t\tuserProfileQuestions &&\n\t\t\tuserProfileQuestions[activeQuestion] &&\n\t\t\tuserProfileQuestions[activeQuestion].question.type,\n\t\tanswerObj: action.payload.value,\n\t\tother_text: ''\n\t};\n\tlet stepperObj = stepperOptions;\n\tconst questionNo = parseInt(activeQuestion) + 1;\n\tif (\n\t\tactiveQuestion != userProfileQuestions.length - 1 &&\n\t\tstepperObj[questionNo].disabled\n\t) {\n\t\tstepperObj[questionNo].disabled = false;\n\t}\n\n\n\tupdateProperties({\n\t\tactiveQuestionAnswers: userProfileAnswerOption,\n\t\tstepperOptions: stepperObj\n\t});\n};\n\nexport const actionHandlers = {\n\t[DPS_USER_PROFILE_MODAL.FETCH_USER_PROFILE_QUESTIONS]: fetchUserProfileQuestions,\n\t[DPS_USER_PROFILE_MODAL.FETCH_USER_PROFILE_QUESTIONS_SUCCEEDED]: fetchUserProfileQuestionsSucceeded,\n\t[DPS_USER_PROFILE_MODAL.FETCH_USER_PROFILE_QUESTIONS_FAILED]: fetchUserProfileQuestionsFailed,\n\t[COMPONENT_BOOTSTRAPPED]: componentBootstrapped,\n\t[COMPONENT_PROPERTY_CHANGED]: componentPropertyChanged,\n\t[DPS_USER_PROFILE_MODAL.NAVIGATE_QUESTION]: handleNavigateQuestion,\n\t[DPS_USER_PROFILE_MODAL.SUBMIT_QUESTIONS]: handleSubmitQuestions,\n\t[DPS_USER_PROFILE_MODAL.POPULATE_OPTION_RADIO_EVENT]: handleRadioTypeEvent,\n\t['NOW_STEPPER#SELECTED_ITEM_SET']({action, properties, updateProperties, updateState, state}) {\n\t\tconst { value, item } = action.payload;\n\t\tconst {\n\t\t\tactiveQuestionAnswers,\n\t\t\tuserProfileQuestions,\n\t\t\tactiveQuestion,\n\t\t\tstepperOptions,\n\t\t\tisLegalAgreementChecked\n\t\t} = properties;\n\t\tconst isMandatory =\n\t\t\tisActiveQuestion(userProfileQuestions, activeQuestion) &&\n\t\t\tuserProfileQuestions[activeQuestion].question.is_mandatory;\n\t\tconst isNotAnswered =\n\t\t\t!activeQuestionAnswers ||\n\t\t\t(activeQuestionAnswers && activeQuestionAnswers.length == 0);\n\t\tconst questionID =\n\t\t\tuserProfileQuestions &&\n\t\t\tuserProfileQuestions.findIndex(el => el.question.text == value);\n\n\t\tlet stepperOptionArray = stepperOptions;\n\t\tif ((questionID > -1 && (isMandatory && !isNotAnswered)) || !isMandatory) {\n\t\t\tconst isDisabled = disableButton(\n\t\t\t\tuserProfileQuestions,\n\t\t\t\tactiveQuestion,\n\t\t\t\tactiveQuestionAnswers,\n\t\t\t\tisLegalAgreementChecked\n\t\t\t);\n\t\t\tstepperOptionArray[activeQuestion].progress =\n\t\t\t\tisDisabled ||\n\t\t\t\t!(activeQuestionAnswers && activeQuestionAnswers.answerObj && activeQuestionAnswers.answerObj.length) || \n\t\t\t\t!(activeQuestionAnswers && activeQuestionAnswers.answerObj)\n\t\t\t\t\t? 'none'\n\t\t\t\t\t: 'done';\n\t\t\tsaveAnswer(updateState, state);\n\t\t\tupdateProperties({\n\t\t\t\tactiveQuestion: questionID\n\t\t\t});\n\t\t}\n\t},\n\t[DPS_USER_PROFILE_MODAL.POPULATE_OPTION_CHECKBOX_EVENT]: handleCheckBoxEvent,\n\t['DPS_INPUT#VALUE_CHANGE']: handleTextAreaEvent\n};\n","import {createEnhancedElement} from '@servicenow/library-enhanced-element';\nimport {actionTypes} from '@servicenow/ui-core';\nconst {COMPONENT_RENDERED, COMPONENT_DISCONNECTED} = actionTypes;\nimport styles from './_now-stepper.scss';\nimport '@servicenow/now-button';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-tooltip';\nimport {\n\tschedule,\n\tunschedule,\n\tcreateTooltipActionHandler,\n} from '@servicenow/now-tooltip';\nimport {t} from 'sn-translate';\nimport themeBehavior from '@servicenow/behavior-theme';\nimport focusBehavior from '@servicenow/behavior-focus';\nimport resizeBehavior from '@servicenow/behavior-resize';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {\n\tgetShadowRootHost,\n\tmeasureText,\n\tgetActiveElement,\n\tisDirectionalKey,\n\tisNextKey,\n\tisPreviousKey,\n} from '@servicenow/library-enhanced-utils';\nimport inRange from 'lodash/inRange';\n\nimport packageInfo from '../package.json';\n\nconst {name, version} = packageInfo;\nconst registry = (window.___NOW_DESIGN_SYSTEM_PACKAGES___ =\n\twindow.___NOW_DESIGN_SYSTEM_PACKAGES___ || {});\nif (!registry[name]) {\n\tregistry[name] = version;\n}\n\nconst RIGHT_ARROW = 'right-arrow';\nconst LEFT_ARROW = 'left-arrow';\n\nlet nextFocusNotInStepper;\n\nlet measureLabel;\nlet measureSubLabel;\nconst MIN_STEP_WIDTH_SM = 32;\nconst MIN_STEP_WIDTH_MD = 48;\nconst MAX_STEP_WIDTH_SM = 130;\nconst MAX_STEP_WIDTH_MD = 160;\nconst MAX_STEP_WIDTH_RIGHT = 192;\nconst PAGINATION_ARROWS_AND_PADDING_SM = 48;\nconst PAGINATION_ARROWS_AND_PADDING_MD = 64;\nconst PROGRESS_WIDTH_SM = 28;\nconst PROGRESS_WIDTH_MD = 36;\nconst MIN_DISTANCE_BETWEEN_STEPS = 16;\n\nconst getLabelWidth = (item, size, labelPosition) => {\n\tconst label = item.label ? measureLabel(item.label) : 0;\n\tconst icon = item.icon ? (size === 'sm' ? 14 : 18) : 0;\n\tconst PROGRESS_WIDTH = size === 'sm' ? PROGRESS_WIDTH_SM : PROGRESS_WIDTH_MD;\n\treturn labelPosition === 'right'\n\t\t? label + icon + PROGRESS_WIDTH\n\t\t: label + icon;\n};\n\nconst getSublabelWidth = (item) => {\n\t// `subLabel` has been deprecated in favor of `sublabel`\n\treturn measureSubLabel(item.subLabel || item.sublabel);\n};\n\nconst getLongestStepWidth = (item, size, labelPosition) => {\n\treturn Math.max(\n\t\tgetLabelWidth(item, size, labelPosition),\n\t\tgetSublabelWidth(item),\n\t);\n};\n\nconst minStepperWidth = (items, size, labelPosition) => {\n\treturn getStepWidth(items, size, labelPosition) + 80;\n};\n\nconst maxStepWidth = (size, labelPosition) => {\n\tif (labelPosition === 'right') {\n\t\treturn MAX_STEP_WIDTH_RIGHT;\n\t} else if (size === 'sm') {\n\t\treturn MAX_STEP_WIDTH_SM;\n\t} else {\n\t\treturn MAX_STEP_WIDTH_MD;\n\t}\n};\n\nconst getStepWidth = (items, size, labelPosition) => {\n\tconst MIN_STEP_WIDTH = size === 'sm' ? MIN_STEP_WIDTH_SM : MIN_STEP_WIDTH_MD;\n\treturn Math.min(\n\t\tmaxStepWidth(size, labelPosition),\n\t\tMath.max(\n\t\t\tMIN_STEP_WIDTH,\n\t\t\titems.reduce(\n\t\t\t\t(acc, item) =>\n\t\t\t\t\tMath.max(acc, getLongestStepWidth(item, size, labelPosition)),\n\t\t\t\t0,\n\t\t\t),\n\t\t),\n\t);\n};\n\n/**\n * Returns the width of the stepper container, updating as the window is\n * resized. If the window is resized to smaller than the min width of the\n * container, returns minWidth. If the window dimensions are undefined, returns\n * 'unknown'.\n */\nconst getContainerWidth = (width, minWidth) => {\n\tif (typeof width === 'number') {\n\t\treturn Math.max(width, minWidth);\n\t}\n\treturn minWidth;\n};\n\nexport const getStepsPerPage = (items, width, size, labelPosition) => {\n\tconst PAGINATION_ARROWS_AND_PADDING =\n\t\tsize === 'sm'\n\t\t\t? PAGINATION_ARROWS_AND_PADDING_SM\n\t\t\t: PAGINATION_ARROWS_AND_PADDING_MD;\n\tconst stepWidth = getStepWidth(items, size, labelPosition);\n\tconst containerWidth = getContainerWidth(width, minStepperWidth(items));\n\tconst availWidth = containerWidth - PAGINATION_ARROWS_AND_PADDING; // subtract the width of the pagination arrows and their outer padding\n\tconst stepsPerPage = Math.floor(\n\t\tavailWidth / (stepWidth + MIN_DISTANCE_BETWEEN_STEPS),\n\t);\n\tif (stepsPerPage < 1) {\n\t\treturn 1; // we should always show at least one step\n\t}\n\treturn stepsPerPage > items.length ? items.length : stepsPerPage;\n};\n\nconst showTooltip = (updateState, stepper, label, sublabel) => {\n\tconst stepperLabel = stepper.querySelector('.now-stepper-step-label');\n\tconst stepperSubLabel = stepper.querySelector('.now-stepper-step-sublabel');\n\n\tlet stepperLabelWidthCheck;\n\tlet stepperSubLabelWidthCheck;\n\n\tif (stepperLabel) {\n\t\tstepperLabelWidthCheck =\n\t\t\tstepperLabel.scrollWidth > stepperLabel.clientWidth;\n\t}\n\tif (stepperSubLabel) {\n\t\tstepperSubLabelWidthCheck =\n\t\t\tstepperSubLabel.scrollWidth > stepperSubLabel.clientWidth;\n\t}\n\n\tlet contentLabel;\n\n\tif (stepperLabelWidthCheck && stepperSubLabelWidthCheck) {\n\t\tcontentLabel = (\n\t\t\t<span id=\"content-label\">\n\t\t\t\t{label}\n\t\t\t\t<br />\n\t\t\t\t<br />\n\t\t\t\t{sublabel}\n\t\t\t</span>\n\t\t);\n\t} else if (stepperLabelWidthCheck) {\n\t\tcontentLabel = <span id=\"content-label\">{label}</span>;\n\t} else if (stepperSubLabelWidthCheck) {\n\t\tcontentLabel = <span id=\"content-label\">{sublabel}</span>;\n\t}\n\n\tupdateState({\n\t\tpath: 'currentTooltip',\n\t\toperation: 'set',\n\t\tvalue: {\n\t\t\tref: stepper,\n\t\t\tcontent: contentLabel,\n\t\t\topened: stepperLabelWidthCheck || stepperSubLabelWidthCheck,\n\t\t},\n\t});\n};\n\nconst hideTooltip = (updateState) => {\n\tupdateState({\n\t\tpath: 'currentTooltip',\n\t\toperation: 'set',\n\t\tvalue: {ref: null, content: '', opened: false},\n\t});\n};\n\nconst getCompletedCount = (items) =>\n\titems.filter((item) => item.progress === 'done').length;\n\nconst renderCompletedCount = (total, completed) => (\n\t<span className=\"now-stepper-completed-count\">\n\t\t{t('{0}/{1} Completed', completed, total)}\n\t</span>\n);\n\nconst renderStepProgressIndicator = (\n\tprogress,\n\tisSelected,\n\tstepNumber,\n\tsize,\n) => {\n\tif (progress === 'done' && !isSelected) {\n\t\tconst iconSize = size === 'sm' ? 'md' : 'lg';\n\t\treturn (\n\t\t\t<span className=\"now-stepper-step-progress\">\n\t\t\t\t<now-icon icon=\"check-circle-fill\" size={iconSize} />\n\t\t\t</span>\n\t\t);\n\t}\n\tconst modifierClassName = isSelected ? '-active' : '-' + progress;\n\treturn (\n\t\t<span className=\"now-stepper-step-progress\">\n\t\t\t<span\n\t\t\t\tclass={{\n\t\t\t\t\t'now-stepper-step-progress-label': true,\n\t\t\t\t\t[modifierClassName]: true,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<span className=\"now-line-height-crop\" aria-hidden=\"true\">\n\t\t\t\t\t{typeof stepNumber === 'number' ? stepNumber : ''}\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t</span>\n\t);\n};\n\nconst renderLabels = ({\n\tlabel,\n\tsublabel,\n\ticon,\n\tlabelPosition,\n\tsize,\n\treadonly,\n}) => {\n\tif (label || sublabel) {\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t<span\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'now-align': true,\n\t\t\t\t\t\t'-column': true,\n\t\t\t\t\t\t'-block-center': labelPosition !== 'right',\n\t\t\t\t\t\t'now-m-block-start--xs': labelPosition === 'bottom',\n\t\t\t\t\t\t'now-m-block-end--xs': labelPosition === 'top',\n\t\t\t\t\t\t'now-m-inline-start--xs': labelPosition === 'right',\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<span className=\"now-stepper-step-label-parent\">\n\t\t\t\t\t\t{icon && (\n\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\tclassName=\"now-stepper-step-icon\"\n\t\t\t\t\t\t\t\ticon={icon}\n\t\t\t\t\t\t\t\tsize={size}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{label && (\n\t\t\t\t\t\t\t<span className=\"now-line-height-crop\">\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName=\"now-stepper-step-label\"\n\t\t\t\t\t\t\t\t\tdata-truncation={readonly}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<span className=\"now-a11y-label\">.</span>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</span>\n\t\t\t\t\t{sublabel && (\n\t\t\t\t\t\t<span className=\"now-stepper-step-sublabel-parent\">\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName=\"now-stepper-step-sublabel\"\n\t\t\t\t\t\t\t\tdata-truncation={readonly}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{sublabel}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span className=\"now-a11y-label\">.</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t</span>\n\t\t\t</Fragment>\n\t\t);\n\t}\n};\n\nconst getProgressLabel = (progress, isSelected) => {\n\tif (isSelected) {\n\t\treturn t('Status: Active.');\n\t}\n\tif (progress === 'none') {\n\t\treturn t('Status: Not started.');\n\t}\n\tif (progress === 'partial') {\n\t\treturn t('Status: In progress.');\n\t}\n\tif (progress === 'done') {\n\t\treturn t('Status: Complete.');\n\t}\n};\n\nconst renderConnector = (\n\tconnectorPosition,\n\thideStartConnectorLine,\n\thideEndConnectorLine,\n\tlabelPosition,\n) => {\n\treturn (\n\t\t<hr\n\t\t\trole=\"presentation\"\n\t\t\tclass={{\n\t\t\t\t'now-stepper-connector': true,\n\t\t\t\t['-' + connectorPosition]:\n\t\t\t\t\tconnectorPosition && labelPosition !== 'right',\n\t\t\t\t'-is-first-step':\n\t\t\t\t\thideStartConnectorLine && connectorPosition === 'start',\n\t\t\t\t'-is-last-step': hideEndConnectorLine && connectorPosition === 'end',\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nconst renderStepperStep = ({\n\titem,\n\tisTabbable,\n\tisSelected,\n\tdisabled,\n\tprogress,\n\tcomponentId,\n\tonSelect,\n\tonFocus,\n\tupdateState,\n\tstepNumber,\n\tprogressLabel,\n\thandleMouseLeave,\n\ticon,\n\tlabel,\n\tsublabel,\n\tshowTooltip,\n\thideTooltip,\n\treadonly,\n\tsize,\n\tlabelPosition,\n}) => {\n\treturn (\n\t\t<Fragment>\n\t\t\t{readonly ? (\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'now-stepper-step': true,\n\t\t\t\t\t\t'-active': isSelected,\n\t\t\t\t\t\t['-' + progress]: progress && !isSelected,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{labelPosition === 'bottom' ? (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t{renderStepProgressIndicator(\n\t\t\t\t\t\t\t\tprogress,\n\t\t\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\t\t\tstepNumber,\n\t\t\t\t\t\t\t\tsize,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{stepNumber ? (\n\t\t\t\t\t\t\t\t<span className=\"now-a11y-label\">\n\t\t\t\t\t\t\t\t\t{t('Step {0}.', stepNumber)}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) : undefined}\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t) : undefined}\n\t\t\t\t\t{renderLabels({\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\tsublabel,\n\t\t\t\t\t\ticon,\n\t\t\t\t\t\tlabelPosition,\n\t\t\t\t\t\tsize,\n\t\t\t\t\t\treadonly,\n\t\t\t\t\t})}\n\t\t\t\t\t{progressLabel && (\n\t\t\t\t\t\t<span className=\"now-a11y-label\">{progressLabel}</span>\n\t\t\t\t\t)}\n\t\t\t\t\t{labelPosition === 'top' || labelPosition === 'right' ? (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t{renderStepProgressIndicator(\n\t\t\t\t\t\t\t\tprogress,\n\t\t\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\t\t\tstepNumber,\n\t\t\t\t\t\t\t\tsize,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{stepNumber ? (\n\t\t\t\t\t\t\t\t<span className=\"now-a11y-label\">\n\t\t\t\t\t\t\t\t\t{t('Step {0}.', stepNumber)}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) : undefined}\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t) : undefined}\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\t<button\n\t\t\t\t\tid={item.id}\n\t\t\t\t\trole=\"tab\"\n\t\t\t\t\ttabIndex={isTabbable && !disabled ? undefined : '-1'}\n\t\t\t\t\taria-selected={isSelected ? 'true' : 'false'}\n\t\t\t\t\taria-disabled={disabled ? 'true' : undefined}\n\t\t\t\t\taria-controls={isSelected ? 'tab-panel' : undefined}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'now-stepper-step': true,\n\t\t\t\t\t\t'-button': true,\n\t\t\t\t\t\t'-active': isSelected,\n\t\t\t\t\t\t['-' + progress]: progress && !isSelected,\n\t\t\t\t\t\t'is-disabled': disabled,\n\t\t\t\t\t}}\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\tif (!disabled) {\n\t\t\t\t\t\t\tonSelect(item);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tdata-itemid={item.id}\n\t\t\t\t\ton-mouseenter={(e) => {\n\t\t\t\t\t\tconst stepper = e.target;\n\t\t\t\t\t\tschedule(componentId, () =>\n\t\t\t\t\t\t\tshowTooltip(updateState, stepper, item.label, item.sublabel),\n\t\t\t\t\t\t);\n\t\t\t\t\t}}\n\t\t\t\t\ton-focusin={(e) => {\n\t\t\t\t\t\tonFocus(item);\n\t\t\t\t\t\tconst stepper = e.target;\n\t\t\t\t\t\tschedule(componentId, () =>\n\t\t\t\t\t\t\tshowTooltip(updateState, stepper, item.label, item.sublabel),\n\t\t\t\t\t\t);\n\t\t\t\t\t}}\n\t\t\t\t\ton-mouseleave={handleMouseLeave}\n\t\t\t\t\ton-focusout={() => {\n\t\t\t\t\t\tschedule(componentId, () => hideTooltip(updateState));\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{labelPosition === 'bottom' || labelPosition === 'right' ? (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t{renderStepProgressIndicator(\n\t\t\t\t\t\t\t\tprogress,\n\t\t\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\t\t\tstepNumber,\n\t\t\t\t\t\t\t\tsize,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{stepNumber ? (\n\t\t\t\t\t\t\t\t<span className=\"now-a11y-label\">\n\t\t\t\t\t\t\t\t\t{t('Step {0}.', stepNumber)}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) : undefined}\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t) : undefined}\n\t\t\t\t\t{renderLabels({\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\tsublabel,\n\t\t\t\t\t\ticon,\n\t\t\t\t\t\tlabelPosition,\n\t\t\t\t\t\tsize,\n\t\t\t\t\t})}\n\t\t\t\t\t{progressLabel && (\n\t\t\t\t\t\t<span className=\"now-a11y-label\">{progressLabel}</span>\n\t\t\t\t\t)}\n\t\t\t\t\t{disabled && <span className=\"now-a11y-label\">{t('Disabled.')}</span>}\n\t\t\t\t\t{labelPosition === 'top' ? (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t{renderStepProgressIndicator(\n\t\t\t\t\t\t\t\tprogress,\n\t\t\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\t\t\tstepNumber,\n\t\t\t\t\t\t\t\tsize,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{stepNumber ? (\n\t\t\t\t\t\t\t\t<span className=\"now-a11y-label\">\n\t\t\t\t\t\t\t\t\t{t('Step {0}.', stepNumber)}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) : undefined}\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t) : undefined}\n\t\t\t\t</button>\n\t\t\t)}\n\t\t</Fragment>\n\t);\n};\n\n// eslint-disable-next-line no-unused-vars\nconst renderStep = ({\n\tkey,\n\titem,\n\tstepNumber,\n\thideStartConnectorLine,\n\thideEndConnectorLine,\n\tisSelected,\n\tisTabbable,\n\tonSelect,\n\tonFocus,\n\tshowTooltip,\n\thideTooltip,\n\tupdateState,\n\tcomponentId,\n\treadonly,\n\tsize,\n\tlabelPosition,\n}) => {\n\tconst {label, icon, progress = 'none', disabled} = item;\n\n\t// `subLabel` has been deprecated in favor of `sublabel`\n\tconst sublabel = item.subLabel || item.sublabel;\n\tconst progressLabel = getProgressLabel(progress, isSelected);\n\n\tconst handleMouseLeave = () => {\n\t\tschedule(componentId, () => hideTooltip(updateState));\n\t};\n\n\tif (labelPosition === 'top') {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tkey={key}\n\t\t\t\tclassName=\"now-stepper-step-container\"\n\t\t\t\trole={!readonly ? undefined : 'listitem'}\n\t\t\t>\n\t\t\t\t{renderConnector(\n\t\t\t\t\t'start',\n\t\t\t\t\thideStartConnectorLine,\n\t\t\t\t\thideEndConnectorLine,\n\t\t\t\t\tlabelPosition,\n\t\t\t\t)}\n\t\t\t\t{renderStepperStep({\n\t\t\t\t\titem,\n\t\t\t\t\tisTabbable,\n\t\t\t\t\tisSelected,\n\t\t\t\t\tdisabled,\n\t\t\t\t\tprogress,\n\t\t\t\t\tcomponentId,\n\t\t\t\t\tonSelect,\n\t\t\t\t\tonFocus,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tstepNumber,\n\t\t\t\t\tprogressLabel,\n\t\t\t\t\thandleMouseLeave,\n\t\t\t\t\ticon,\n\t\t\t\t\tlabel,\n\t\t\t\t\tsublabel,\n\t\t\t\t\tshowTooltip,\n\t\t\t\t\thideTooltip,\n\t\t\t\t\treadonly,\n\t\t\t\t\tsize,\n\t\t\t\t\tlabelPosition,\n\t\t\t\t})}\n\t\t\t\t{renderConnector(\n\t\t\t\t\t'end',\n\t\t\t\t\thideStartConnectorLine,\n\t\t\t\t\thideEndConnectorLine,\n\t\t\t\t\tlabelPosition,\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t} else if (labelPosition === 'right') {\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t{renderConnector(\n\t\t\t\t\t'start',\n\t\t\t\t\thideStartConnectorLine,\n\t\t\t\t\thideEndConnectorLine,\n\t\t\t\t\tlabelPosition,\n\t\t\t\t)}\n\t\t\t\t<div\n\t\t\t\t\tkey={key}\n\t\t\t\t\tclassName=\"now-stepper-step-container\"\n\t\t\t\t\trole={!readonly ? undefined : 'listitem'}\n\t\t\t\t>\n\t\t\t\t\t{renderStepperStep({\n\t\t\t\t\t\titem,\n\t\t\t\t\t\tisTabbable,\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tdisabled,\n\t\t\t\t\t\tprogress,\n\t\t\t\t\t\tcomponentId,\n\t\t\t\t\t\tonSelect,\n\t\t\t\t\t\tonFocus,\n\t\t\t\t\t\tupdateState,\n\t\t\t\t\t\tstepNumber,\n\t\t\t\t\t\tprogressLabel,\n\t\t\t\t\t\thandleMouseLeave,\n\t\t\t\t\t\ticon,\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\tsublabel,\n\t\t\t\t\t\tshowTooltip,\n\t\t\t\t\t\thideTooltip,\n\t\t\t\t\t\treadonly,\n\t\t\t\t\t\tsize,\n\t\t\t\t\t\tlabelPosition,\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t\t{renderConnector(\n\t\t\t\t\t'end',\n\t\t\t\t\thideStartConnectorLine,\n\t\t\t\t\thideEndConnectorLine,\n\t\t\t\t\tlabelPosition,\n\t\t\t\t)}\n\t\t\t</Fragment>\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tkey={key}\n\t\t\t\tclassName=\"now-stepper-step-container\"\n\t\t\t\trole={!readonly ? undefined : 'listitem'}\n\t\t\t>\n\t\t\t\t{renderConnector(\n\t\t\t\t\t'start',\n\t\t\t\t\thideStartConnectorLine,\n\t\t\t\t\thideEndConnectorLine,\n\t\t\t\t\tlabelPosition,\n\t\t\t\t)}\n\t\t\t\t{renderStepperStep({\n\t\t\t\t\titem,\n\t\t\t\t\tisTabbable,\n\t\t\t\t\tisSelected,\n\t\t\t\t\tdisabled,\n\t\t\t\t\tprogress,\n\t\t\t\t\tcomponentId,\n\t\t\t\t\tonSelect,\n\t\t\t\t\tonFocus,\n\t\t\t\t\tupdateState,\n\t\t\t\t\tstepNumber,\n\t\t\t\t\tprogressLabel,\n\t\t\t\t\thandleMouseLeave,\n\t\t\t\t\ticon,\n\t\t\t\t\tlabel,\n\t\t\t\t\tsublabel,\n\t\t\t\t\tshowTooltip,\n\t\t\t\t\thideTooltip,\n\t\t\t\t\treadonly,\n\t\t\t\t\tsize,\n\t\t\t\t\tlabelPosition,\n\t\t\t\t})}\n\t\t\t\t{renderConnector(\n\t\t\t\t\t'end',\n\t\t\t\t\thideStartConnectorLine,\n\t\t\t\t\thideEndConnectorLine,\n\t\t\t\t\tlabelPosition,\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n};\n\nconst renderSteps = ({\n\titems,\n\trangeStart,\n\trangeEnd,\n\tselectedItem,\n\tfocusedItem,\n\tlastFocusedItem,\n\thideNumbers,\n\tisPaginated,\n\tdispatch,\n\tupdateState,\n\tcomponentId,\n\treadonly,\n\tsize,\n\tlabelPosition,\n}) => {\n\tconst visibleItems = items.slice(rangeStart, rangeEnd);\n\tconst tabbableItem = getTabbableItem(\n\t\titems,\n\t\trangeStart,\n\t\trangeEnd,\n\t\tfocusedItem,\n\t\tlastFocusedItem,\n\t\tselectedItem,\n\t);\n\tconst onSelect = (item) =>\n\t\tdispatch(() => {\n\t\t\treturn {\n\t\t\t\ttype: 'NOW_STEPPER#SELECTED_ITEM_SET',\n\t\t\t\tpayload: {value: item.id, item},\n\t\t\t};\n\t\t});\n\n\tconst onFocus = (item) => {\n\t\tupdateState({focusedItem: item, lastFocusedItem: item});\n\t};\n\n\treturn visibleItems.map((item, index) => {\n\t\tconst indexInAllItems = rangeStart + index;\n\t\tconst isFirstStep = indexInAllItems === 0;\n\t\tconst isLastStep = indexInAllItems === items.length - 1;\n\t\treturn renderStep({\n\t\t\tkey: index,\n\t\t\titem,\n\t\t\tstepNumber: hideNumbers ? null : indexInAllItems + 1,\n\t\t\thideStartConnectorLine: isFirstStep && !isPaginated,\n\t\t\thideEndConnectorLine: isLastStep && !isPaginated,\n\t\t\tisSelected: selectedItem === item.id,\n\t\t\tisTabbable: tabbableItem === item,\n\t\t\tonSelect,\n\t\t\tonFocus,\n\t\t\tshowTooltip,\n\t\t\thideTooltip,\n\t\t\tupdateState,\n\t\t\tcomponentId,\n\t\t\treadonly,\n\t\t\tsize,\n\t\t\tlabelPosition,\n\t\t});\n\t});\n};\n\nconst getRange = (anchor, offset, stepsPerPage, length) => {\n\tif (anchor === 'start') {\n\t\tconst start = offset;\n\t\tconst end = offset + stepsPerPage;\n\t\treturn [start, end];\n\t}\n\tif (anchor === 'end') {\n\t\tconst start = length - offset - stepsPerPage;\n\t\tconst end = length - offset;\n\t\treturn [start, end];\n\t}\n};\n\nconst getTabbableItem = (\n\titems,\n\trangeStart,\n\trangeEnd,\n\tfocusedItem,\n\tlastFocusedItem,\n\tselectedItem,\n) => {\n\tconst selectedItemIndex = items.findIndex((item) => item.id === selectedItem);\n\tconst selectedItemInVisibleRange =\n\t\trangeStart <= selectedItemIndex && selectedItemIndex < rangeEnd;\n\tif (selectedItemInVisibleRange) {\n\t\treturn items[selectedItemIndex];\n\t}\n\tif (lastFocusedItem && !lastFocusedItem.disabled) {\n\t\treturn lastFocusedItem;\n\t}\n\tif (!focusedItem || focusedItem?.id === LEFT_ARROW) {\n\t\treturn items[rangeStart];\n\t}\n\tif (focusedItem?.id === RIGHT_ARROW) {\n\t\treturn items[rangeEnd - 1];\n\t}\n\treturn null;\n};\n\nconst renderArrow = ({\n\ticon,\n\ta11yLabel,\n\tdisabled,\n\tonClick,\n\tonFocus,\n\tsize,\n\tid,\n}) => {\n\tconst buttonSize = size === 'sm' ? 'md' : 'lg';\n\treturn (\n\t\t<now-button-iconic\n\t\t\tconfig-aria={{'aria-label': a11yLabel}}\n\t\t\tclassName=\"now-stepper-pagination-button\"\n\t\t\tsize={buttonSize}\n\t\t\tvariant=\"tertiary\"\n\t\t\ticon={icon}\n\t\t\tdisabled={disabled}\n\t\t\tbare\n\t\t\thide-padding\n\t\t\ton-click={onClick}\n\t\t\ton-focus={onFocus}\n\t\t\tdata-itemid={id}\n\t\t/>\n\t);\n};\n\nconst view = (state, {dispatch, updateState}) => {\n\tconst {\n\t\titems,\n\t\tselectedItem,\n\t\thideNumbers,\n\t\tshowCompletedCount,\n\t\tnowId,\n\t\treadonly,\n\t\tsize,\n\t\tlabelPosition,\n\t} = state.properties;\n\tconst {theme} = state.behaviors;\n\tmeasureLabel = measureText({\n\t\ttxtTransform: theme['--now-stepper_label--text-transform'],\n\t\tfontStyle: theme['--now-stepper_label--font-style'],\n\t\tfontFamily: theme['--now-stepper_label--font-family'],\n\t\tfontSize: `${theme.global.fontSize[size].px}px`,\n\t\tfontWeight: theme['--now-stepper_label--font-weight'],\n\t});\n\n\tmeasureSubLabel = measureText({\n\t\ttxtTransform: theme['--now-stepper_sublabel--text-transform'],\n\t\tfontStyle: theme['--now-stepper_sublabel--font-style'],\n\t\tfontFamily: theme['--now-stepper_sublabel--font-family'],\n\t\tfontSize: `${theme.global.fontSize.sm.px}px`,\n\t\tfontWeight: theme['--now-stepper_sublabel--font-weight'],\n\t});\n\n\tconst {anchor, offset, focusedItem, lastFocusedItem} = state;\n\tconst {width} = state.behaviors.resize.size;\n\n\tconst stepsPerPage = getStepsPerPage(items, width, size, labelPosition);\n\tconst isPaginated = items.length > stepsPerPage;\n\tconst [rangeStart, rangeEnd] = getRange(\n\t\tanchor,\n\t\toffset,\n\t\tstepsPerPage,\n\t\titems.length,\n\t);\n\tif (rangeStart < 0) {\n\t\tupdateState({\n\t\t\tanchor: 'start',\n\t\t\toffset: 0,\n\t\t});\n\t}\n\tif (rangeEnd > items.length) {\n\t\tupdateState({\n\t\t\tanchor: 'end',\n\t\t\toffset: 0,\n\t\t});\n\t}\n\n\tconst steps = renderSteps({\n\t\titems,\n\t\trangeStart,\n\t\trangeEnd,\n\t\tselectedItem,\n\t\tfocusedItem,\n\t\tlastFocusedItem,\n\t\thideNumbers,\n\t\tisPaginated,\n\t\tdispatch,\n\t\tupdateState,\n\t\tnowId,\n\t\treadonly,\n\t\tsize,\n\t\tlabelPosition,\n\t});\n\n\tconst arrowStartDisabled = rangeStart === 0;\n\tconst arrowStart = renderArrow({\n\t\tid: LEFT_ARROW,\n\t\ticon: 'chevron-start-outline',\n\t\ta11yLabel: t('Previous {0} steps', stepsPerPage),\n\t\tdisabled: arrowStartDisabled,\n\t\tonClick: () => {\n\t\t\tif (!arrowStartDisabled) {\n\t\t\t\tdispatch(() => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'NOW_STEPPER#PREVIOUS_PAGE_BUTTON_CLICKED',\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tstepsPerPage,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tonFocus: () => {\n\t\t\tupdateState({focusedItem: LEFT_ARROW});\n\t\t},\n\t\tsize,\n\t});\n\n\tconst arrowEndDisabled = rangeEnd === items.length;\n\tconst arrowEnd = renderArrow({\n\t\tid: RIGHT_ARROW,\n\t\ticon: 'chevron-end-outline',\n\t\ta11yLabel: t('Next {0} steps', stepsPerPage),\n\t\tdisabled: arrowEndDisabled,\n\t\tonClick: () => {\n\t\t\tif (!arrowEndDisabled) {\n\t\t\t\tdispatch(() => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'NOW_STEPPER#NEXT_PAGE_BUTTON_CLICKED',\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tstepsPerPage,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tonFocus: () => {\n\t\t\tupdateState({focusedItem: {id: RIGHT_ARROW}});\n\t\t},\n\t\tsize,\n\t});\n\n\tconst onFocusIn = () => {\n\t\tnextFocusNotInStepper = false;\n\t};\n\n\tconst onFocusOut = (e) => {\n\t\tconst host = getShadowRootHost(e.target);\n\t\tconst relatedTargetHost = e.relatedTarget\n\t\t\t? getShadowRootHost(e.relatedTarget)\n\t\t\t: null;\n\t\tnextFocusNotInStepper = relatedTargetHost !== host;\n\t\tif (nextFocusNotInStepper) {\n\t\t\tupdateState({focusedItem: null});\n\t\t}\n\t};\n\n\tconst hasSubLabel = items.some((item) => item.sublabel !== undefined);\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'now-stepper-container': true,\n\t\t\t\t[`-${size}`]: size,\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'now-stepper': true,\n\t\t\t\t\t['-' + labelPosition]: labelPosition,\n\t\t\t\t\t'has-sublabel': hasSubLabel,\n\t\t\t\t}}\n\t\t\t\tstyle={{minInlineSize: minStepperWidth(items, size) + 'px'}}\n\t\t\t\ton-focusout={onFocusOut}\n\t\t\t\ton-focusin={onFocusIn}\n\t\t\t>\n\t\t\t\t{isPaginated ? arrowStart : ''}\n\t\t\t\t<div\n\t\t\t\t\trole={!readonly ? 'tablist' : 'list'}\n\t\t\t\t\tclassName=\"now-stepper-steps\"\n\t\t\t\t>\n\t\t\t\t\t{steps}\n\t\t\t\t</div>\n\t\t\t\t{isPaginated ? arrowEnd : ''}\n\t\t\t</div>\n\t\t\t{showCompletedCount\n\t\t\t\t? renderCompletedCount(items.length, getCompletedCount(items))\n\t\t\t\t: null}\n\n\t\t\t<div\n\t\t\t\tid=\"tab-panel\"\n\t\t\t\tclassName=\"now-stepper-panel\"\n\t\t\t\trole={!readonly ? 'tabpanel' : undefined}\n\t\t\t\ttabindex=\"-1\"\n\t\t\t\taria-labelledby={!readonly && selectedItem ? selectedItem : undefined}\n\t\t\t>\n\t\t\t\t<slot name={selectedItem} />\n\t\t\t</div>\n\n\t\t\t<now-tooltip\n\t\t\t\tid=\"tooltip\"\n\t\t\t\tmanage-opened\n\t\t\t\topened={state.currentTooltip.opened}\n\t\t\t\ttarget-ref={state.currentTooltip.ref}\n\t\t\t\tdelay={{show: 0, hide: 0}}\n\t\t\t>\n\t\t\t\t<span>{state.currentTooltip.content}</span>\n\t\t\t</now-tooltip>\n\t\t</div>\n\t);\n};\n\n// ACTION HANDLERS\n\nconst previousPageHandler = ({state, action, updateState}) => {\n\tconst {items, readonly} = state.properties;\n\tlet {anchor, offset} = state;\n\tconst {stepsPerPage} = action.payload;\n\tconst length = items.length;\n\n\tconst nextOffset =\n\t\tanchor === 'start' ? offset - stepsPerPage : offset + stepsPerPage;\n\tconst [rangeStart] = getRange(anchor, nextOffset, stepsPerPage, length);\n\tif (rangeStart <= 0) {\n\t\t// we overshot the beginning, so flip the anchor and reset the offset\n\t\tupdateState((state) => {\n\t\t\treturn {\n\t\t\t\tvalue: {\n\t\t\t\t\tanchor: 'start',\n\t\t\t\t\toffset: 0,\n\t\t\t\t\tfocusedItem: readonly ? {id: RIGHT_ARROW} : state.properties.items[0],\n\t\t\t\t\tlastFocusedItem: null,\n\t\t\t\t},\n\t\t\t\toperation: 'merge',\n\t\t\t};\n\t\t});\n\t} else {\n\t\t// show previous page\n\t\tupdateState({\n\t\t\toffset: nextOffset,\n\t\t\tfocusedItem: {id: LEFT_ARROW},\n\t\t\tlastFocusedItem: null,\n\t\t});\n\t}\n};\n\nconst nextPageHandler = ({state, action, updateState}) => {\n\tconst {items, readonly} = state.properties;\n\tconst {anchor, offset} = state;\n\tconst {stepsPerPage} = action.payload;\n\tconst length = items.length;\n\tconst nextOffset =\n\t\tanchor === 'start' ? offset + stepsPerPage : offset - stepsPerPage;\n\tconst [, rangeEnd] = getRange(anchor, nextOffset, stepsPerPage, length);\n\tif (rangeEnd > length) {\n\t\t// we overshot the end so flip the anchor and reset the offset\n\t\tupdateState((state) => {\n\t\t\treturn {\n\t\t\t\tvalue: {\n\t\t\t\t\tanchor: 'end',\n\t\t\t\t\toffset: 0,\n\t\t\t\t\tfocusedItem: readonly\n\t\t\t\t\t\t? {id: LEFT_ARROW}\n\t\t\t\t\t\t: state.properties.items[length - 1],\n\t\t\t\t\tlastFocusedItem: null,\n\t\t\t\t},\n\t\t\t\toperation: 'merge',\n\t\t\t};\n\t\t});\n\t} else if (rangeEnd === length) {\n\t\t// we're on the last page\n\t\tupdateState((state) => {\n\t\t\treturn {\n\t\t\t\tvalue: {\n\t\t\t\t\toffset: nextOffset,\n\t\t\t\t\tfocusedItem: readonly\n\t\t\t\t\t\t? {id: LEFT_ARROW}\n\t\t\t\t\t\t: state.properties.items[length - 1],\n\t\t\t\t\tlastFocusedItem: null,\n\t\t\t\t},\n\t\t\t\toperation: 'merge',\n\t\t\t};\n\t\t});\n\t} else {\n\t\t// show next page\n\t\tupdateState({\n\t\t\toffset: nextOffset,\n\t\t\tfocusedItem: {id: RIGHT_ARROW},\n\t\t\tlastFocusedItem: null,\n\t\t});\n\t}\n};\n\nconst previousStepHandler = ({state, updateState}) => {\n\tconst {items, size, labelPosition} = state.properties;\n\tconst {width} = state.behaviors.resize.size;\n\tconst {focusedItem, anchor, offset} = state;\n\t// if the currently focused item is not a step, do nothing\n\tif (\n\t\t!focusedItem ||\n\t\tfocusedItem?.id === LEFT_ARROW ||\n\t\tfocusedItem?.id === RIGHT_ARROW\n\t) {\n\t\treturn;\n\t}\n\n\tconst lastFocusedItemIndex = items.findIndex((item) => item === focusedItem);\n\tconst focusedItemIndex = lastFocusedItemIndex - 1;\n\t// if step to focus is outside bounds of items, do nothing\n\tif (focusedItemIndex < 0) {\n\t\treturn;\n\t}\n\n\tconst stepsPerPage = getStepsPerPage(items, width, size, labelPosition);\n\tconst [rangeStart, rangeEnd] = getRange(\n\t\tanchor,\n\t\toffset,\n\t\tstepsPerPage,\n\t\titems.length,\n\t);\n\tconst itemInVisibleRange =\n\t\trangeStart <= focusedItemIndex && focusedItemIndex < rangeEnd;\n\tconst stateChanges = {};\n\tif (!itemInVisibleRange) {\n\t\tconst nextOffset = anchor === 'start' ? offset - 1 : offset + 1;\n\t\tstateChanges.offset = nextOffset;\n\t}\n\tstateChanges.lastFocusedItem = items[focusedItemIndex];\n\tstateChanges.focusedItem = items[focusedItemIndex];\n\tupdateState(stateChanges);\n};\n\nconst nextStepHandler = ({state, updateState}) => {\n\tconst {items, size, labelPosition} = state.properties;\n\tconst {width} = state.behaviors.resize.size;\n\tconst {focusedItem, anchor, offset} = state;\n\t// if the currently focused item is not a step, do nothing\n\tif (\n\t\t!focusedItem ||\n\t\tfocusedItem?.id === LEFT_ARROW ||\n\t\tfocusedItem?.id === RIGHT_ARROW\n\t) {\n\t\treturn;\n\t}\n\n\tconst lastFocusedItemIndex = items.findIndex((item) => item === focusedItem);\n\tconst focusedItemIndex = lastFocusedItemIndex + 1;\n\t// if step to focus is outside bounds of items, do nothing\n\tif (focusedItemIndex === items.length) {\n\t\treturn;\n\t}\n\n\tconst stepsPerPage = getStepsPerPage(items, width, size, labelPosition);\n\tconst [rangeStart, rangeEnd] = getRange(\n\t\tanchor,\n\t\toffset,\n\t\tstepsPerPage,\n\t\titems.length,\n\t);\n\tconst itemInVisibleRange = inRange(focusedItemIndex, rangeStart, rangeEnd);\n\tconst stateChanges = {};\n\tif (!itemInVisibleRange) {\n\t\tconst nextOffset = anchor === 'start' ? offset + 1 : offset - 1;\n\t\tstateChanges.offset = nextOffset;\n\t}\n\tstateChanges.lastFocusedItem = items[focusedItemIndex];\n\tstateChanges.focusedItem = items[focusedItemIndex];\n\tupdateState(stateChanges);\n};\n\nconst firstStepHandler = ({state, updateState}) => {\n\tconst {focusedItem} = state;\n\t// if the currently focused item is not a step, do nothing\n\tif (\n\t\t!focusedItem ||\n\t\tfocusedItem?.id === LEFT_ARROW ||\n\t\tfocusedItem?.id === RIGHT_ARROW\n\t) {\n\t\treturn;\n\t}\n\n\tupdateState((state) => {\n\t\treturn {\n\t\t\tvalue: {\n\t\t\t\tanchor: 'start',\n\t\t\t\toffset: 0,\n\t\t\t\tfocusedItem: state.properties.items[0],\n\t\t\t\tlastFocusedItem: null,\n\t\t\t},\n\t\t\toperation: 'merge',\n\t\t};\n\t});\n};\n\nconst lastStepHandler = ({state, updateState}) => {\n\tconst {items} = state.properties;\n\tconst {focusedItem} = state;\n\t// if the currently focused item is not a step, do nothing\n\tif (\n\t\t!focusedItem ||\n\t\tfocusedItem?.id === LEFT_ARROW ||\n\t\tfocusedItem?.id === RIGHT_ARROW\n\t) {\n\t\treturn;\n\t}\n\n\tupdateState((state) => {\n\t\treturn {\n\t\t\tvalue: {\n\t\t\t\tanchor: 'end',\n\t\t\t\toffset: 0,\n\t\t\t\tfocusedItem: state.properties.items[items.length - 1],\n\t\t\t\tlastFocusedItem: null,\n\t\t\t},\n\t\t\toperation: 'merge',\n\t\t};\n\t});\n};\n\n/**\n * Stepper is a tabular navigation that allows users to progress through a\n * process, know their current location, and switch to another step.\n *\n * ```jsx\n * const items = [\n *  {id: 'step1', label: 'Not started', progress: 'none'},\n *\t{id: 'step2', label: 'Active', progress: 'partial'},\n *\t{id: 'step3', label: 'In progress', progress: 'partial'},\n *\t{id: 'step4', label: 'Complete', progress: 'done'}\n * ];\n *\n * <now-stepper items={items} selected-items=\"step2\" show-completed-count />\n * ```\n *\n * @seismicElement now-stepper\n * @summary Tabular navigation component that helps users visualize and interact with a multi-step process.\n * @uib.label Stepper\n * @uib.icon stepper\n * @uib.description Tabular navigation component that helps users visualize and interact with a multi-step process.\n * @uib.category primitives\n * @uib.associatedTypes global.core\n * @uib.properties items, selectedItem, manageSelectedItem, hideNumbers, showCompletedCount, readonly, size, labelPosition\n * @uib.actions NOW_STEPPER#SELECTED_ITEM_SET, NOW_STEPPER#NEXT_PAGE_BUTTON_CLICKED, NOW_STEPPER#PREVIOUS_PAGE_BUTTON_CLICKED\n * @uib.slots\n */\n// TODO: re-enable slots in UIB when we can support\ncreateEnhancedElement('now-stepper', {\n\tproperties: {\n\t\t/**\n\t\t * An array of item objects describing each step in the stepper.\n\t\t * Each object must have a unique id.\n\t\t * Items with `disabled` are visible but cannot be selected by the user.\n\t\t * @type {{id: (string|number), label: string, icon: string, sublabel: string, progress: (\"none\"|\"partial\"|\"done\"), disabled:boolean}[]}\n\t\t * @uib.description An array of items each describing a step\n\t\t * @uib.defaultValue [{\"id\": \"step1\",\"label\": \"Not started\",\"progress\": \"none\"},{\"id\": \"step2\",\"label\": \"Active\",\"progress\": \"partial\"},{\"id\": \"step3\",\"label\": \"In progress\",\"progress\": \"partial\"},{\"id\": \"step4\",\"label\": \"Complete\",\"progress\": \"done\",\"disabled\": true}]\n\t\t * @uib.typeMetadata.emptyStateBehavior EMPTY_ARRAY\n\t\t * @uib.fieldType collection\n\t\t * @uib.typeMetadata.collection.cardProperties.heading { \"heading\": \"label\", \"icon\": \"icon\" }\n\t\t */\n\t\titems: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tlabel: {type: 'string', translatable: true},\n\t\t\t\t\t\tid: {type: ['string', 'number']},\n\t\t\t\t\t\ticon: {type: 'string'},\n\t\t\t\t\t\tsublabel: {type: 'string', translatable: true},\n\t\t\t\t\t\tprogress: {type: 'string', enum: ['none', 'partial', 'done']},\n\t\t\t\t\t\tdisabled: {type: 'boolean'},\n\t\t\t\t\t},\n\t\t\t\t\trequired: ['id'],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * The id of the current step.\n\t\t * @type {(string|number)}\n\t\t * @uib.fieldType string\n\t\t * @uib.description The id of the current step\n\t\t */\n\t\tselectedItem: {manageable: true, schema: {type: ['string', 'number']}},\n\t\t/**\n\t\t * Enable this property to override automatic updates to the `selectedItem` property.\n\t\t * An action with type `NOW_STEPPER#SELECTED_ITEM_SET` will be dispatched to request updates,\n\t\t * which should be handled by the parent or application.\n\t\t * @type {boolean}\n\t\t * @uib.description Enable this property to override automatic updates to the selected item property. Use the selected item set event to intercept the requested change and handle it manually.\n\t\t */\n\t\tmanageSelectedItem: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, hides numbers on each step in the stepper.\n\t\t * @type {boolean}\n\t\t * @uib.description Hides numbers on each step in the stepper\n\t\t */\n\t\thideNumbers: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, displays a count under the stepper noting the number of\n\t\t * completed steps and the number of total steps.\n\t\t * @type {boolean}\n\t\t * @uib.description Displays the current step number and the total number of steps\n\t\t */\n\t\tshowCompletedCount: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * When true, all click events are removed stepper will not be interactive except for the pagination.\n\t\t * @type {boolean}\n\t\t * @uib.description Renders stepper in a presentation-only mode, removing all interactivity except for pagination\n\t\t */\n\t\treadonly: {default: false, schema: {type: 'boolean'}},\n\t\t/**\n\t\t * Sets the stepper size.\n\t\t * @type {('sm'|'md')}\n\t\t * @uib.description Sets the stepper size.\n\t\t * @uib.fieldType choice\n\t\t * @uib.typeMetadata.choices [{\"label\": \"Small\", \"value\": \"sm\"}, {\"label\": \"Medium\", \"value\": \"md\"}]\n\t\t * @uib.defaultValue md\n\t\t */\n\t\tsize: {\n\t\t\tdefault: 'md',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t\tenum: ['sm', 'md'],\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Position at which to display the stepper label relative to the stepper.\n\t\t * Possible values:\n\t\t * - top\n\t\t * - bottom\n\t\t * - right\n\t\t * @type {('top'|'bottom'|'right')}\n\t\t * @uib.description Position at which to display the stepper label relative to the stepper.\n\t\t * @uib.defaultValue bottom\n\t\t */\n\t\tlabelPosition: {\n\t\t\tdefault: 'bottom',\n\t\t\tschema: {type: 'string', enum: ['top', 'bottom', 'right']},\n\t\t},\n\t},\n\tslots: {\n\t\t/**\n\t\t * A named slot where the name corresponds to the ID of the current\n\t\t * selectedItem. Slot content for each of the steps in your items array\n\t\t * and the panel area will switch between content based on user\n\t\t * selection.\n\t\t */\n\t\tdynamic: {},\n\t},\n\tinitialState: {\n\t\t/**\n\t\t * Whether we are slicing items from the beginning or end of the list\n\t\t * @type {('start'||'end')}\n\t\t */\n\t\tanchor: 'start',\n\t\t/**\n\t\t * Keeps track of far are we from the anchor\n\t\t * @type {number}\n\t\t */\n\t\toffset: 0,\n\t\t/**\n\t\t * Keeps track of the currently focused item (step or arrow)\n\t\t * @type {(null|Step)}\n\t\t */\n\t\tfocusedItem: null,\n\t\t/**\n\t\t * Keeps track of the last focused step\n\t\t * @type {(null|Step)}\n\t\t */\n\t\tlastFocusedItem: null,\n\t\tcurrentTooltip: {ref: null, content: '', opened: false},\n\t},\n\tview,\n\teventHandlers: [\n\t\t{\n\t\t\tevents: ['keydown'],\n\t\t\teffect: ({action, dispatch, properties}) => {\n\t\t\t\tconst {key} = action.payload.event;\n\t\t\t\tconst {dir} = properties;\n\n\t\t\t\tif (nextFocusNotInStepper) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tif (isDirectionalKey(key)) {\n\t\t\t\t\taction.preventDefault();\n\t\t\t\t}\n\t\t\t\tif (isPreviousKey(key, dir, true)) {\n\t\t\t\t\tdispatch(() => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttype: 'FOCUS_PREVIOUS_STEP',\n\t\t\t\t\t\t\tpayload: {},\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t} else if (isNextKey(key, dir, true)) {\n\t\t\t\t\tdispatch(() => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttype: 'FOCUS_NEXT_STEP',\n\t\t\t\t\t\t\tpayload: {},\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t} else if (key === 'Home') {\n\t\t\t\t\tdispatch(() => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttype: 'FOCUS_FIRST_STEP',\n\t\t\t\t\t\t\tpayload: {},\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t} else if (key === 'End') {\n\t\t\t\t\tdispatch(() => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttype: 'FOCUS_LAST_STEP',\n\t\t\t\t\t\t\tpayload: {},\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t],\n\tbehaviors: [\n\t\t{behavior: focusBehavior},\n\t\t{\n\t\t\tbehavior: resizeBehavior,\n\t\t\toptions: {timer: {type: 'throttle', wait: 30}},\n\t\t},\n\t\t{\n\t\t\tbehavior: themeBehavior,\n\t\t\toptions: {\n\t\t\t\titems: [\n\t\t\t\t\t'global.fontSize*',\n\t\t\t\t\t'--now-stepper_label*',\n\t\t\t\t\t'--now-stepper_sublabel*',\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t{behavior: truncationBehavior},\n\t\t{behavior: tooltipBehavior},\n\t],\n\tstyles,\n\tactionHandlers: {\n\t\t...createTooltipActionHandler(hideTooltip),\n\t\t'NOW_STEPPER#PREVIOUS_PAGE_BUTTON_CLICKED': previousPageHandler,\n\t\t'NOW_STEPPER#NEXT_PAGE_BUTTON_CLICKED': nextPageHandler,\n\t\tFOCUS_PREVIOUS_STEP: {\n\t\t\tstopPropagation: true,\n\t\t\teffect: previousStepHandler,\n\t\t},\n\t\tFOCUS_NEXT_STEP: {\n\t\t\tstopPropagation: true,\n\t\t\teffect: nextStepHandler,\n\t\t},\n\t\tFOCUS_FIRST_STEP: {\n\t\t\tstopPropagation: true,\n\t\t\teffect: firstStepHandler,\n\t\t},\n\t\tFOCUS_LAST_STEP: {\n\t\t\tstopPropagation: true,\n\t\t\teffect: lastStepHandler,\n\t\t},\n\t\t[COMPONENT_RENDERED]: ({state, action}) => {\n\t\t\tconst {host} = action.payload;\n\t\t\tconst {focusedItem} = state;\n\t\t\tconst activeElement = getActiveElement(action.payload.host);\n\t\t\tif (\n\t\t\t\tfocusedItem &&\n\t\t\t\tfocusedItem.id &&\n\t\t\t\tactiveElement.getAttribute('data-itemid') !== focusedItem.id\n\t\t\t) {\n\t\t\t\thost.shadowRoot\n\t\t\t\t\t.querySelector(`[data-itemid=\"${focusedItem.id}\"]`)\n\t\t\t\t\t.focus();\n\t\t\t}\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: ({properties}) => {\n\t\t\tconst componentId = properties.nowId;\n\t\t\tunschedule(componentId);\n\t\t},\n\t},\n\tdispatches: {\n\t\t/**\n\t\t * Dispatched when the stepper is paginated and the user clicks the\n\t\t * \"previous page\" button to see previous steps that are not visible in\n\t\t * the current view.\n\t\t * @type {{stepsPerPage: number}}\n\t\t * @uib.description Dispatched when the stepper is paginated and the user clicks the \"previous page\" button to see previous steps that are not visible in the current view\n\t\t */\n\t\t'NOW_STEPPER#PREVIOUS_PAGE_BUTTON_CLICKED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tstepsPerPage: {type: 'number'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when the stepper is paginated and the user clicks the\n\t\t * \"next page\" button to see additional steps that are not visible in\n\t\t * the current view.\n\t\t * @type {{stepsPerPage: number}}\n\t\t * @uib.description Dispatched when the stepper is paginated and the user clicks the \"next page\" button to see additional steps that are not visible in the current view\n\t\t */\n\t\t'NOW_STEPPER#NEXT_PAGE_BUTTON_CLICKED': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tstepsPerPage: {type: 'number'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Dispatched when a step is selected.\n\t\t * Payload key `value` contains the `id` of the item selected.\n\t\t * Payload key `item` contains the `object` of the the item selected.\n\t\t * Set the `manage-selected-item` property to override the\n\t\t * default behavior and handle this action manually.\n\t\t * @type {{value: (string|number), item: Object}}\n\t\t * @uib.description Dispatched when a step is selected\n\t\t */\n\t\t'NOW_STEPPER#SELECTED_ITEM_SET': {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tvalue: {type: ['string', 'number']},\n\t\t\t\t\titem: {type: 'object'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n});\n","import { USER_PROFILE_CONSTANTS } from './constants';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { CONSTANTS } from '../../constants';\nimport '../dps-input';\n\nexport const PopulateOptions = props => {\n\tconst { options, dispatch, showTextArea, otherText } = props;\n\tconst totalNoOfChars = CONSTANTS.DEFAULTS.INPUT_MAX_LENGTH;\n\n\treturn (\n\t\t<div className=\"checkbox-options\">\n\t\t\t{options &&\n\t\t\t\toptions.map(option => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<section\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'dps-checkbox': true,\n\t\t\t\t\t\t\t\t'-xs': true\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\tname={option.label}\n\t\t\t\t\t\t\t\tvalue={option.id}\n\t\t\t\t\t\t\t\tid={option.id}\n\t\t\t\t\t\t\t\tchecked={option.checked}\n\t\t\t\t\t\t\t\ton-input={e => {\n\t\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\t\t'DPS_USER_PROFILE_MODAL#POPULATE_OPTION_CHECKBOX_EVENT',\n\t\t\t\t\t\t\t\t\t\t{ valueObj: option, e: e }\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<label htmlFor={option.id}>{option.label}</label>\n\t\t\t\t\t\t\t{showTextArea &&\n\t\t\t\t\t\t\toption.id === USER_PROFILE_CONSTANTS.OTHER_OPTION ? (\n\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t<dps-input\n\t\t\t\t\t\t\t\t\t\tclassName=\"dps-user-profile-other-option-text-area\"\n\t\t\t\t\t\t\t\t\t\tmax-length={totalNoOfChars}\n\t\t\t\t\t\t\t\t\t\tplaceholder={'Please Explain'}\n\t\t\t\t\t\t\t\t\t\tvalue={otherText || ''}\n\t\t\t\t\t\t\t\t\t></dps-input>\n\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</section>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t</div>\n\t);\n};\n","export const RadioButtons = props => {\n\tconst { options, dispatch } = props;\n\treturn (\n\t\t<div className=\"dps-user-profile-modal-radio-buttons\">\n\t\t\t{options &&\n\t\t\t\toptions.map(opt => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<section\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'dps-user-profile-modal-radio-buttons-options': true\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tid={opt.id}\n\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\tname={opt.label}\n\t\t\t\t\t\t\t\tvalue={opt.id}\n\t\t\t\t\t\t\t\tchecked={opt.checked}\n\t\t\t\t\t\t\t\ton-input={e =>\n\t\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\t\t'DPS_USER_PROFILE_MODAL#POPULATE_OPTION_RADIO_EVENT',\n\t\t\t\t\t\t\t\t\t\t{ value: e.target.value }\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<span></span>\n\t\t\t\t\t\t\t<label htmlFor={opt.id}>{opt.label}</label>\n\t\t\t\t\t\t</section>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t</div>\n\t);\n};\n","export const TabbedOptions = props => {\n    const { options, dispatch } = props;\n\n    return (\n        <div className=\"dps-user-profile-modal-input-tabbed\">\n            {options.map(opt => {\n                return (\n                    <div class={{\n                        \"dps-user-profile-modal-input-tabbed-button\": true,\n                        \"-is-active\": opt.checked\n                    }}>\n                        <div \n                            className=\"dps-user-profile-modal-input-tabbed-button-options\"\n                            on-click={e =>\n                                dispatch(\n                                    'DPS_USER_PROFILE_MODAL#POPULATE_OPTION_RADIO_EVENT',\n                                    { value: opt.label }\n                                )\n                            }\n                        >\n                            {\n                                opt.imageSysID ?\n                                    <img src={opt.imageSysID}></img>\n                                    : null\n                            }\n                            <section className=\"dps-user-profile-modal-input-tabbed-button-options-text\">\n                                <p className=\"dps-user-profile-modal-input-tabbed-button-options-line\">{opt.label}</p>\n                                <p className=\"dps-user-profile-modal-input-tabbed-button-options-additional-text\">{opt.additionalText}</p>\n                            </section>\n                        </div>\n                    </div>\n                )\n            })}\n        </div>\n    )\n}","import { USER_PROFILE_CONSTANTS } from './constants';\nimport { PopulateOptions } from './populateCheckBoxView';\nimport { RadioButtons } from './radioButtonsView';\nimport { TabbedOptions } from './tabbedOptionsView';\n\nexport const InputType = props => {\n    const { inputType, options, dispatch, activeQuestionAnswers, showTextArea } = props;\n    switch(inputType) {\n        case USER_PROFILE_CONSTANTS.CHOICE_TYPE_RADIO:\n            return (\n                <RadioButtons\n                    options={options}\n                    dispatch={dispatch}\n                ></RadioButtons>\n            );\n        case USER_PROFILE_CONSTANTS.CHOICE_TYPE_TABBED:\n            return (\n                <TabbedOptions\n                    options={options}\n                    dispatch={dispatch}\n                ></TabbedOptions>\n            );\n        case USER_PROFILE_CONSTANTS.CHOICE_TYPE_CHECKBOX:\n            return (\n                <PopulateOptions\n                    options={options}\n                    dispatch={dispatch}\n                    showTextArea={showTextArea}\n                    otherText={\n                        activeQuestionAnswers && activeQuestionAnswers.other_text\n                    }\n                ></PopulateOptions>\n            );\n    }\n}","import { USER_PROFILE_CONSTANTS } from './constants';\n\nexport const LegalAgreementCheck = props => {\n\tconst { dispatch, isLegalAgreementChecked, systemProperties } = props;\n\n\treturn (\n\t\t<section\n\t\t\tclass={{\n\t\t\t\t'dps-checkbox': true\n\t\t\t}}\n\t\t>\n\t\t\t<input\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tname={USER_PROFILE_CONSTANTS.LEGAL_AGREEMENT_CHECK}\n\t\t\t\tvalue={USER_PROFILE_CONSTANTS.LEGAL_AGREEMENT_CHECK}\n\t\t\t\tid={USER_PROFILE_CONSTANTS.LEGAL_AGREEMENT_CHECK}\n\t\t\t\tchecked={isLegalAgreementChecked}\n\t\t\t\ton-input={e => {\n\t\t\t\t\tdispatch('DPS_USER_PROFILE_MODAL#POPULATE_OPTION_CHECKBOX_EVENT', {\n\t\t\t\t\t\tvalueObj: !isLegalAgreementChecked,\n\t\t\t\t\t\te: e,\n\t\t\t\t\t\ttype: USER_PROFILE_CONSTANTS.LEGAL_AGREEMENT_CHECK\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t<label htmlFor={USER_PROFILE_CONSTANTS.LEGAL_AGREEMENT_CHECK}>\n\t\t\t\tI have read and agree to the ServiceNow\n\t\t\t</label>\n\t\t\t<dps-link\n\t\t\t\thref={systemProperties && systemProperties[\"dev.site.terms_of_use_url\"]}\n\t\t\t\ttarget=\"_blank\"\n\t\t\t>\n\t\t\t\tDeveloper site terms of use.\n\t\t\t</dps-link>\n\t\t</section>\n\t);\n};\n","import '../../components/dps-checkbox';\nimport '../../components/dps-button';\nimport '@servicenow/now-stepper';\nimport '@servicenow/now-tooltip';\nimport '../../components/dps-link';\nimport { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { InputType } from './inputTypeView';\nimport { LegalAgreementCheck } from './legalAgreementCheckView';\nimport { USER_PROFILE_CONSTANTS } from './constants';\nimport { CONSTANTS } from '../../constants';\nimport {\n\tdisableButton,\n\tisActiveOptions,\n\tisActiveQuestion,\n\tformOptionsObject,\n\tfindAnswerOptionalImage,\n\tfindAnswerOptionalText,\n\tsaveAnswer\n} from './actionHelpers';\n\nexport const UserProfileView = props => {\n\tconst {\n\t\tuserProfileQuestions,\n\t\tactiveQuestion,\n\t\tactiveQuestionAnswers,\n\t\tdispatch,\n\t\tstepperOptions,\n\t\tupdateState,\n\t\tstate,\n\t\tisLegalAgreementChecked,\n\t\tsystemProperties,\n\t\tshowUserPersonaSubmissionError,\n\t\tisUserProfileQuestionsSubmitted\n\t} = props;\n\n\tconst { userNotSignedLegalToolTipRef } = state;\n\n\tconst inputTypeMap = {\n\t\t'Single Choice': 'radio',\n\t\t'Multiple Choice': 'checkbox',\n\t\t'Single Choice Tabbed': 'tabbed_button'\n\t}\n\tconst questionType =\n\t\tisActiveQuestion(userProfileQuestions, activeQuestion) &&\n\t\tuserProfileQuestions[activeQuestion].question.type;\n\tlet inputType = questionType && inputTypeMap[questionType];\n\tlet options = formOptionsObject(\n\t\tuserProfileQuestions,\n\t\tactiveQuestion,\n\t\tactiveQuestionAnswers\n\t);\n\tlet imageSysID =\n\t\t(isActiveOptions(userProfileQuestions, activeQuestion) &&\n\t\t\tuserProfileQuestions[activeQuestion].question.optional_image) ||\n\t\t\tfindAnswerOptionalImage(\n\t\t\t\tuserProfileQuestions,\n\t\t\t\tactiveQuestion,\n\t\t\t\tactiveQuestionAnswers\n\t\t\t);\n\tconst showTextArea =\n\t\tactiveQuestionAnswers &&\n\t\tactiveQuestionAnswers.type === USER_PROFILE_CONSTANTS.MULTIPLE_CHOICE &&\n\t\tactiveQuestionAnswers.answerObj &&\n\t\tactiveQuestionAnswers.answerObj.find(\n\t\t\tel => el === USER_PROFILE_CONSTANTS.OTHER_OPTION\n\t\t);\n\n\tlet option_text =\n\t\"<p style='display: inline-block; font-style: italic;white-space: pre-wrap; margin: 0;'> (Optional)</s>\";\n\n\tlet questionText = isActiveQuestion(userProfileQuestions, activeQuestion) &&\n\tuserProfileQuestions[activeQuestion].question.text;\n\n\tif(!(isActiveQuestion(userProfileQuestions, activeQuestion) &&\n\tuserProfileQuestions[activeQuestion].question.is_mandatory)) {\n\t\tquestionText = questionText + option_text;\n\t}\n\n\tconst tooltipText = systemProperties && systemProperties[\"dev.persona.legal_not_signed_tooltip_text\"];\n\n\tconst isLegalButtonDisabled = disableButton(\n\t\tuserProfileQuestions,\n\t\tactiveQuestion,\n\t\tactiveQuestionAnswers,\n\t\tisLegalAgreementChecked\n\t) || isUserProfileQuestionsSubmitted;\n\n\tconst setLegalAgreementTooltipRef = ref => {\n\t\tupdateState({\n\t\t\tuserNotSignedLegalToolTipRef: ref\n\t\t});\n\t};\n\n\treturn (\n\t\t<div className=\"dps-user-profile-modal-questionnaire\">\n\t\t\t{showUserPersonaSubmissionError ?\n\t\t\t\t<p className=\"dps-user-profile-modal-question-submit-error\">\n\t\t\t\t\t{systemProperties[\"dev.user_profile_questions.submission_error_message\"]}\n\t\t\t\t</p>\n\t\t\t: null}\n\t\t\t<now-stepper\n\t\t\t\titems={stepperOptions}\n\t\t\t\tselectedItem={\n\t\t\t\t\tstepperOptions &&\n\t\t\t\t\tstepperOptions[activeQuestion] &&\n\t\t\t\t\tstepperOptions[activeQuestion].id\n\t\t\t\t}\n\t\t\t></now-stepper>\n\t\t\t<div\n\t\t\t\tclassName=\"dps-user-profile-modal-question\"\n\t\t\t\tinnerHTML={questionText}\n\t\t\t>\n\t\t\t</div>\n\t\t\t<div className=\"dps-user-profile-modal-main-area\">\n\t\t\t\t<div className=\"dps-user-profile-options-section\">\n\t\t\t\t\t<div className=\"dps-user-profile-modal-options\">\n\t\t\t\t\t\t<InputType\n\t\t\t\t\t\t\tinputType={inputType}\n\t\t\t\t\t\t\toptions={options}\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\tshowTextArea={showTextArea}\n\t\t\t\t\t\t\tactiveQuestionAnswers={activeQuestionAnswers}\n\t\t\t\t\t\t></InputType>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"dps-user-profile-modal-options-optional-text\">\n\t\t\t\t\t\t{findAnswerOptionalText(\n\t\t\t\t\t\t\tuserProfileQuestions,\n\t\t\t\t\t\t\tactiveQuestion,\n\t\t\t\t\t\t\tactiveQuestionAnswers\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-user-profile-options-meta-data-section\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'dps-user-profile-modal-options-image': true,\n\t\t\t\t\t\t\t'-other-options':\n\t\t\t\t\t\t\t\tactiveQuestionAnswers &&\n\t\t\t\t\t\t\t\tactiveQuestionAnswers.type ==\n\t\t\t\t\t\t\t\t\tUSER_PROFILE_CONSTANTS.MULTIPLE_CHOICE\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{imageSysID ? \n\t\t\t\t\t\t\t<img src={imageSysID}></img> \n\t\t\t\t\t\t: null}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div className=\"dps-user-profile-modal-footer\">\n\t\t\t\t<div className=\"dps-user-profile-modal-footer-legal-agreement\">\n\t\t\t\t\t{activeQuestion ===\n\t\t\t\t\t(userProfileQuestions &&\n\t\t\t\t\t\tuserProfileQuestions.length &&\n\t\t\t\t\t\tuserProfileQuestions.length - 1) ? (\n\t\t\t\t\t\t<LegalAgreementCheck\n\t\t\t\t\t\t\tisLegalAgreementChecked={isLegalAgreementChecked}\n\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\t></LegalAgreementCheck>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-user-profile-modal-footer-navigation\">\n\t\t\t\t\t{activeQuestion > 0 ? (\n\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\tlabel=\"Previous\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\t\t\tdispatch('DPS_USER_PROFILE_MODAL#NAVIGATE_QUESTION', {\n\t\t\t\t\t\t\t\t\tnavigationType:\n\t\t\t\t\t\t\t\t\t\tUSER_PROFILE_CONSTANTS.NAVIGATION_TYPE_PREVIOUS\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t></dps-button>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{activeQuestion <\n\t\t\t\t\t(userProfileQuestions &&\n\t\t\t\t\t\tuserProfileQuestions.length &&\n\t\t\t\t\t\tuserProfileQuestions.length - 1) ? (\n\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\tlabel=\"Next\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tdisabled={disableButton(\n\t\t\t\t\t\t\t\tuserProfileQuestions,\n\t\t\t\t\t\t\t\tactiveQuestion,\n\t\t\t\t\t\t\t\tactiveQuestionAnswers,\n\t\t\t\t\t\t\t\tisLegalAgreementChecked\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\tdisableButton(\n\t\t\t\t\t\t\t\t\tuserProfileQuestions,\n\t\t\t\t\t\t\t\t\tactiveQuestion,\n\t\t\t\t\t\t\t\t\tactiveQuestionAnswers,\n\t\t\t\t\t\t\t\t\tisLegalAgreementChecked\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t\t: dispatch('DPS_USER_PROFILE_MODAL#NAVIGATE_QUESTION', {\n\t\t\t\t\t\t\t\t\t\t\tnavigationType:\n\t\t\t\t\t\t\t\t\t\t\t\tUSER_PROFILE_CONSTANTS.NAVIGATION_TYPE_NEXT\n\t\t\t\t\t\t\t\t\t  });\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t></dps-button>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{activeQuestion ===\n\t\t\t\t\t(userProfileQuestions &&\n\t\t\t\t\t\tuserProfileQuestions.length &&\n\t\t\t\t\t\tuserProfileQuestions.length - 1) ? (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t{!isLegalAgreementChecked ? (\n\t\t\t\t\t\t\t<now-tooltip\n\t\t\t\t\t\t\t\tid=\"finish-setup-tooltip\"\n\t\t\t\t\t\t\t\ttarget-ref={userNotSignedLegalToolTipRef}\n\t\t\t\t\t\t\t\tcontent={tooltipText}\n\t\t\t\t\t\t\t\tdelay={CONSTANTS.DEFAULTS.DELAY_TOOLTIP_MS}\n\t\t\t\t\t\t\t/>) : null}\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tlabel=\"Finish setup\"\n\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\t\t\t\t\tif(!isLegalAgreementChecked) {\n\t\t\t\t\t\t\t\t\t\tsetLegalAgreementTooltipRef(elm);\n\t\t\t\t\t\t\t\t\t} else if(isLegalAgreementChecked) {\n\t\t\t\t\t\t\t\t\t\tsetLegalAgreementTooltipRef(null);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\thook-destroy={() => setLegalAgreementTooltipRef(null)}\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t'dps-button': true,\n\t\t\t\t\t\t\t\t\t'-primary': true,\n\t\t\t\t\t\t\t\t\t'-md': true,\n\t\t\t\t\t\t\t\t\t'is-disabled': isLegalButtonDisabled\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\t\tisLegalButtonDisabled\n\t\t\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t\t\t: (saveAnswer(updateState, state),\n\t\t\t\t\t\t\t\t\t\tdispatch('DPS_USER_PROFILE_MODAL#SUBMIT_QUESTIONS'));\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span>Finish Setup</span>\n\t\t\t\t\t\t\t</button> \n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n","import FetchUserProfileQuestionsFailureView from '../../images/fetch-user-profile-questions-failed.svg'\n\nexport const FetchQuestionsFailureView = props => {\n    const { dispatch, updateProperties } = props;\n\n    return (\n        <div className=\"dps-user-profile-modal-questionnaire\">\n            <div className=\"dps-user-profile-modal-fetch-questions-failed\">\n                <p className=\"dps-user-profile-modal-fetch-questions-failed-header-text\">Something went wrong!</p>\n                <img className=\"dps-user-profile-modal-fetch-questions-failed-image\" src={FetchUserProfileQuestionsFailureView}></img>\n                <p className=\"dps-user-profile-modal-fetch-questions-failed-error-text\">Please reload this page to try again.</p>\n                <dps-button\n                    label=\"Try again\"\n                    on-click={() => {\n                        updateProperties({\n                            isFetchQuestionsSubmitted: true\n                        });\n                        dispatch('DPS_USER_PROFILE_MODAL#FETCH_USER_PROFILE_QUESTIONS')\n                    }}\n                ></dps-button>\n            </div>\n        </div>\n    )\n}","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './dps-user-profile-modal.scss';\nimport '../dps-modal';\nimport '../dps-button';\nimport { actionHandlers } from './actionHandlers';\nimport { UserProfileView } from './userProfileView';\nimport { isActiveQuestion } from './actionHelpers';\nimport { FetchQuestionsFailureView } from './fetchQuestionsFailureView';\nimport '../dps-spinner';\n\nconst view = (state, { dispatch, updateState, updateProperties }) => {\n\tconst {\n\t\topened,\n\t\tuserProfileQuestions,\n\t\tactiveQuestion,\n\t\tactiveQuestionAnswers,\n\t\tstepperOptions,\n\t\tisLegalAgreementChecked,\n\t\tsystemProperties,\n\t\tshowUserPersonaSubmissionError,\n\t\tisUserProfileQuestionsSubmitted,\n\t\tisfetchQuestionsSucceeded,\n\t\tisFetchQuestionsSubmitted\n\t} = state.properties;\n\n\tconst headerText =\n\t\tisActiveQuestion(userProfileQuestions, activeQuestion) &&\n\t\tuserProfileQuestions[activeQuestion].question.header_text;\n\n\tconst showModel = userProfileQuestions && userProfileQuestions.length > 0;\n\treturn (\n\t\t<div>\n\t\t\t<dps-modal\n\t\t\t\tsize=\"sm\"\n\t\t\t\toptional-title=\"Getting started\"\n\t\t\t\theaderLabel={headerText}\n\t\t\t\topened={opened}\n\t\t\t\tclickToEscape={false}\n\t\t\t\tisOptionalBackgroundImage\n\t\t\t\tclosable={false}\n\t\t\t>\n\t\t\t\t{showModel ? (\n\t\t\t\t\t<UserProfileView\n\t\t\t\t\t\tuserProfileQuestions={userProfileQuestions}\n\t\t\t\t\t\tactiveQuestion={activeQuestion}\n\t\t\t\t\t\tactiveQuestionAnswers={activeQuestionAnswers}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tstepperOptions={stepperOptions}\n\t\t\t\t\t\tupdateState={updateState}\n\t\t\t\t\t\tstate={state}\n\t\t\t\t\t\tisLegalAgreementChecked={isLegalAgreementChecked}\n\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\tshowUserPersonaSubmissionError={showUserPersonaSubmissionError}\n\t\t\t\t\t\tisUserProfileQuestionsSubmitted={isUserProfileQuestionsSubmitted}\n\t\t\t\t\t></UserProfileView>\n\t\t\t\t) : (\n\t\t\t\t\t<div className=\"dps-user-profile-modal-questionnaire\">\n\t\t\t\t\t\t{!isfetchQuestionsSucceeded && !isFetchQuestionsSubmitted ?\n\t\t\t\t\t\t\t<FetchQuestionsFailureView\n\t\t\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\t\t\tupdateProperties={updateProperties}\n\t\t\t\t\t\t\t></FetchQuestionsFailureView>\n\t\t\t\t\t\t\t: <dps-spinner></dps-spinner>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</dps-modal>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-user-profile-modal', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tinitialState: {\n\t\tuserProfileAnswers: [],\n\t\tfailedFetchUserProfileQuestions: false,\n\t\tfailedFetchUserProfileQuestionsRetryCount: 0,\n\t\tuserNotSignedLegalToolTipRef: null\n\t},\n\tproperties: {\n\t\topened: {\n\t\t\tdefault: false\n\t\t},\n\t\tuserProfileQuestions: [],\n\t\tactiveQuestion: {\n\t\t\tdefault: 0\n\t\t},\n\t\tactiveQuestionAnswers: {},\n\t\tstepperOptions: [],\n\t\tisLegalAgreementChecked: {\n\t\t\tdefault: false\n\t\t},\n\t\tsystemProperties: {},\n\t\tisUserProfileQuestionsSubmitted: {\n\t\t\tdefault: false\n\t\t},\n\t\tisfetchQuestionsSucceeded: {\n\t\t\tdefault: false\n\t\t},\n\t\tshowUserPersonaSubmissionError: {\n\t\t\tdefault: false\n\t\t},\n\t\tisFetchQuestionsSubmitted: {\n\t\t\tdefault: true\n\t\t}\n\t},\n\tactionHandlers,\n\tstyles\n});\n","import { createCustomElement, actionTypes } from '@servicenow/ui-core';\nimport snabbdom, { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { CONSTANTS, DPS_SITE_BANNER_VARIANTS } from '../../constants';\nimport debounce from '../../utils/debounce';\nimport { isEmpty } from '../../utils/helpers';\nimport { DPS_SITE_BANNER_ACTIONS } from './actions';\nimport styles from './dps-site-banner.scss';\nimport '../dps-button';\n\nconst { COMPONENT_DOM_READY, COMPONENT_PROPERTY_CHANGED } = actionTypes;\nconst ACTION_TEXT = 'ACTION_TEXT';\n\nconst parseMessage = (message, links, dispatch, id) => {\n\tlet messageArr = [];\n\tif (message && links) {\n\t\tmessageArr = message.split(ACTION_TEXT);\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t{messageArr.map((item, index) => (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<span innerHTML={messageArr[index]}></span>\n\t\t\t\t\t\t{index != messageArr.length - 1 && links[index] ? (\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName=\"dps-site-banner_link\"\n\t\t\t\t\t\t\t\ton-click={e => {\n\t\t\t\t\t\t\t\t\tdispatch(DPS_SITE_BANNER_ACTIONS.LINK_CLICKED, {\n\t\t\t\t\t\t\t\t\t\tlabel: links[index],\n\t\t\t\t\t\t\t\t\t\tid: id\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{links[index]}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</Fragment>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t);\n\t}\n};\n\nconst bannerHeightSet = (host, dispatch, hideBanner, id) => {\n\tconst elm = host.shadowRoot.querySelector('.dps-site-banner');\n\tconst rect = elm && elm.getClientRects()[0];\n\tlet height = rect && parseInt(rect.height, 10);\n\tif (height && !hideBanner) {\n\t\tdispatch(DPS_SITE_BANNER_ACTIONS.BANNER_HEIGHT_SET, { height, id });\n\t} else if(hideBanner) {\n\t\theight = height * -1;\n\t\tdispatch(DPS_SITE_BANNER_ACTIONS.BANNER_HEIGHT_SET, { height, id });\n\t}\n};\n\nconst view = (state, { properties, dispatch }) => {\n\tconst {\n\t\tproperties: { dismissable, message, open, type, links, id, image, hideBanner }\n\t} = state;\n\n\tif (isEmpty(type) || !open) {\n\t\treturn null;\n\t}\n\n\tconst { icon, variant } = DPS_SITE_BANNER_VARIANTS[type];\n\n\treturn (\n\t\t<div className = {id}\n\t\t\tclass={{\n\t\t\t\t'dps-site-banner': true,\n\t\t\t\t[`-site-banner-${variant}`]: true,\n\t\t\t\t'-is-open': open,\n\t\t\t}}\n\t\t\thook-insert={vNode => {\n\t\t\t\tconst rect = vNode.elm && vNode.elm.getClientRects()[0];\n\t\t\t\tlet height = rect && parseInt(rect.height, 10);\n\n\t\t\t\tif (height && !hideBanner) {\n\t\t\t\t\tdispatch(DPS_SITE_BANNER_ACTIONS.BANNER_HEIGHT_SET, { height, id });\n\t\t\t\t} else if (hideBanner) {\n\t\t\t\t\theight = height*-1;\n\t\t\t\t\tdispatch(DPS_SITE_BANNER_ACTIONS.BANNER_HEIGHT_SET, { height, id });\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'dps-site-banner-content': true\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{icon ? <now-icon icon={icon} size=\"md\" /> : null}\n\t\t\t\t{image ? <img src={image} className= \"dps-site-banner-img\"  /> : null}\n\t\t\t\t{links && links.length > 0 ? (\n\t\t\t\t\tparseMessage(message, links, dispatch, id)\n\t\t\t\t) : (\n\t\t\t\t\t<span className=\"dps-site-banner-message\" innerHTML={message}></span>\n\t\t\t\t)}\n\t\t\t\t<span className=\"dps-site-banner-empty\"></span>\n\t\t\t</div>\n\t\t\t{dismissable ? (\n\t\t\t\t<dps-button\n\t\t\t\t\ticon=\"close-fill\"\n\t\t\t\t\ticonSize=\"sm\"\n\t\t\t\t\tbare\n\t\t\t\t\twhite\n\t\t\t\t\ton-click={e => {\n\t\t\t\t\t\tdispatch(DPS_SITE_BANNER_ACTIONS.BANNER_CLOSED, { id });\n\t\t\t\t\t}}\n\t\t\t\t></dps-button>\n\t\t\t) : null}\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-site-banner', {\n\tactionHandlers: {\n\t\t[COMPONENT_DOM_READY]: coeffects => {\n\t\t\tconst { dispatch, host, properties } = coeffects;\n\t\t\tconst { id, hideBanner } = properties;\n\t\t\twindow.addEventListener(\n\t\t\t\t'resize',\n\t\t\t\tdebounce(() => {\n\t\t\t\t\tbannerHeightSet(host, dispatch, hideBanner, id);\n\t\t\t\t}, CONSTANTS.DEFAULTS.DELAY_DEBOUNCE_MS)\n\t\t\t);\n\t\t},\n\t\t[COMPONENT_PROPERTY_CHANGED]: ({action, dispatch, host, properties }) => {\n\t\t\tconst { id, hideBanner } = properties;\n\t\t\tif(action.payload.name  === \"hideBanner\" && hideBanner) {\n\t\t\t\tbannerHeightSet(host, dispatch, hideBanner, id);\n\t\t\t}\n\t\t},\n\t\t[DPS_SITE_BANNER_ACTIONS.BANNER_CLOSED]: ({ updateProperties }) => {\n\t\t\tupdateProperties({ open: false });\n\t\t}\n\t},\n\tproperties: {\n\t\tdismissable: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\tmessage: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\topen: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean'\n\t\t\t}\n\t\t},\n\t\ttype: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\t\tlinks: {\n\t\t\tdefault: '',\n\t\t},\n\t\tid: {\n\t\t\tdefault: ''\n\t\t},\n\t\timage: {\n\t\t\tdefault: ''\n\t\t},\n\t\thideBanner: {\n\t\t\tdefault: false\n\t\t}\n\t},\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tstyles,\n\tview\n});\n","import { CONSTANTS } from '../../constants';\nimport { DPS_TOAST_ALERT_ACTIONS } from '../dps-toast-alert/actions';\n\nexport default {\n\t[DPS_TOAST_ALERT_ACTIONS.CANCEL_TIMER]: ({ action, state, updateState }) => {\n\t\tconst { payload } = action;\n\t\tconst { id } = payload;\n\t\tconst updatedToastMessageTimers = {...state.toastMessageTimers};\n\n\t\tif (updatedToastMessageTimers && updatedToastMessageTimers[id]) {\n\t\t\tclearTimeout(updatedToastMessageTimers[id]);\n\t\t\tdelete updatedToastMessageTimers[id];\n\t\t\tupdateState({\n\t\t\t\tpath: 'toastMessageTimers',\n\t\t\t\tvalue: updatedToastMessageTimers,\n\t\t\t\toperation: 'set'\n\t\t\t});\n\t\t}\n\t},\n\t[DPS_TOAST_ALERT_ACTIONS.START_TIMER]: ({ action, dispatch, updateState }) => {\n\t\tconst { payload } = action;\n\t\tconst { id } = payload;\n\t\tconst timeoutId = setTimeout(() => {\n\t\t\tdispatch(DPS_TOAST_ALERT_ACTIONS.ALERT_DISMISSED, { id });\n\t\t}, CONSTANTS.DEFAULTS.TOAST_HIDE_TIME);\n\n\t\tupdateState({\n\t\t\tpath: `toastMessageTimers.${id}`,\n\t\t\tvalue: timeoutId,\n\t\t\toperation: 'set'\n\t\t});\n\t}\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport actionHandlers from './actionHandlers';\nimport styles from './dps-toast-container.scss';\nimport '../dps-toast-alert';\n\nconst view = (state, { dispatch }) => {\n\tconst {\n\t\tproperties: { toastMessages }\n\t} = state;\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'dps-toast-container': true,\n\t\t\t\t'-is-opened': toastMessages && toastMessages.length > 0\n\t\t\t}}\n\t\t>\n\t\t\t{toastMessages\n\t\t\t\t? toastMessages.map(toastMessage => (\n\t\t\t\t\t<dps-toast-alert\n\t\t\t\t\t\tactionLabel={toastMessage.actionLabel}\n\t\t\t\t\t\tautoDismiss={toastMessage.autoDismiss}\n\t\t\t\t\t\tclosable={toastMessage.closable}\n\t\t\t\t\t\thideTime={toastMessage.hideTime}\n\t\t\t\t\t\tid={toastMessage.id}\n\t\t\t\t\t\tmessage={toastMessage.message}\n\t\t\t\t\t\tkey={toastMessage.id}\n\t\t\t\t\t\ttype={toastMessage.type}\n\t\t\t\t\t\tuseNowAlert={toastMessage.useNowAlert}\n\t\t\t\t\t></dps-toast-alert>\n\t\t\t\t))\n\t\t\t\t: null}\n\t\t</div>\n\t);\n};\n\ncreateCustomElement('dps-toast-container', {\n\tactionHandlers,\n\tinitialState: {\n\t\ttoastMessageTimers: {}\n\t},\n\tproperties: {\n\t\ttoastMessages: {\n\t\t\tdefault: []\n\t\t}\n\t},\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tstyles,\n\tview\n});","\nexport const renderInstanceEmptyState = (subtext) => (\n    <div className=\"instance-empty-state\">\n        <div className=\"instance-empty-state__icon\">\n            <now-icon icon=\"triangle-exclamation-outline\" size=\"xl\" />\n        </div>\n        <h2 className=\"instance-empty-state__heading\">No instances currently available</h2>\n        <p className=\"instance-empty-state__subtext\">{subtext}</p>\n    </div>\n);\n\nexport const getReleaseAvailabilityMap = (state) => {\n    const releaseAvailabilityMap = {};\n\n    const { instanceAvailabilityStats } = state;\n    const { releaseInfo } = state.properties;\n    const activeReleases = Object.keys(releaseInfo.activeVersionsFormatted);\n    const productReleases = instanceAvailabilityStats['family_name'] ? instanceAvailabilityStats['family_name'] : [];\n    const releases = activeReleases.filter(x => productReleases.includes(x)).reverse();\n    releases.map(release => {\n        releaseAvailabilityMap[release] = instanceAvailabilityStats[release] ? instanceAvailabilityStats[release].is_available : false;\n    });\n    return { releaseAvailabilityMap, releases, instanceAvailabilityStats };\n};\n","import '@servicenow/now-modal';\nimport '@servicenow/now-button';\nimport '@servicenow/now-icon';\nimport '../../../components/dps-spinner';\nimport { DPS_INSTANCE_ASSIGNMENT_MODAL } from '../actions';\nimport { getReleaseAvailabilityMap, renderInstanceEmptyState } from \"./helpers\";\nimport { isZurichOrNewer } from '../../../utils/releaseHelpers';\n\nconst menuItemsWithRestore = [\n    {\n        name: 'request',\n        displayName: 'Select instance version'\n    },\n    {\n        name: 'restore',\n        displayName: 'Restore an Instance'\n    }\n];\n\nconst menuItemsWithoutRestore = [\n    {\n        name: 'request',\n        displayName: 'Select instance version'\n    }\n];\n\nexport const instanceRequestViewModal = (state, { dispatch, updateProperties, updateState }) => {\n    const { opened, selectedItem, systemProperties, waitlistView } = state.properties;\n    const menuItems = systemProperties && systemProperties['dev.instance.restore.enabled'] === 'true' ? menuItemsWithRestore : menuItemsWithoutRestore;\n    const defaultHeaderLabel = selectedItem === 'request' ? menuItems[0].displayName : menuItems[1].displayName;\n    const { footerActions, content, headerLabel, size, customSize, releaseCount } = getModalContent(selectedItem, state, dispatch, updateProperties, updateState);\n    const wrapperClass = releaseCount >= 3 ? ' request-instance--3-plus-releases' : releaseCount === 2 ? ' request-instance--2-releases' : '';\n\n    return (\n        <div className={`request-instance${wrapperClass}`}>\n            <now-modal\n                key={`request-modal-${selectedItem}-${waitlistView ? 'waitlist' : 'select'}`}\n                opened={opened}\n                manage-opened\n                size={size || 'lg'}\n                custom-size={customSize}\n                header-label={headerLabel !== undefined ? headerLabel : defaultHeaderLabel}\n                footer-actions={footerActions}\n            >\n                {content}\n            </now-modal>\n        </div>\n    );\n};\n\nconst getModalContent = (selectedItem, state, dispatch, updateProperties, updateState) => {\n    switch (selectedItem) {\n        case 'request':\n            return state.properties.waitlistView\n                ? waitlistSelectionViewModal(state, dispatch, updateProperties)\n                : requestInstanceViewModal(state, dispatch, updateProperties);\n        default:\n            return { footerActions: [], content: null };\n    }\n};\n\nconst requestInstanceViewModal = (state, dispatch, updateProperties) => {\n    const { instanceAvailabilityStats } = state;\n    const hasAvailabilityData = Object.keys(instanceAvailabilityStats || {}).length !== 0;\n\n    if (!hasAvailabilityData) {\n        return {\n            footerActions: [],\n            content: <dps-spinner />\n        };\n    }\n\n    const { selectedRelease, systemProperties, releaseInfo, isBuildAgentExperience, instanceInfo } = state.properties;\n    const isMVP = instanceInfo?.policy?.isMVP;\n    const showReclaimPolicy =\n        systemProperties['dev.enable.reclaimpolicy'] === 'true' && !isMVP;\n    const { releaseImages } = releaseInfo;\n    const { releaseAvailabilityMap, releases: allReleases } = getReleaseAvailabilityMap(state);\n\n    const baReleases = allReleases.filter(r => isZurichOrNewer(r, systemProperties));\n    const releases = isBuildAgentExperience ? baReleases : allReleases;\n\n    const allInstancesUnavailable = releases.every(release => !releaseAvailabilityMap[release]);\n\n    if (allInstancesUnavailable) {\n        return {\n            footerActions: [],\n            headerLabel: '',\n            size: 'md',\n            content: (\n                <div className='release-no-instances'>\n                    {renderInstanceEmptyState('You can join a waitlist for your desired version or check again later.')}\n                    <div className='release-no-instances__actions'>\n                        <now-button\n                            variant='secondary'\n                            size='md'\n                            label='Request instance later'\n                            on-click={() => dispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.SET_MODAL, { opened: false })}\n                        />\n                        <now-button\n                            variant='primary'\n                            size='md'\n                            label='Join a waitlist'\n                            on-click={() => updateProperties({ waitlistView: true, selectedWaitlistRelease: '' })}\n                        />\n                    </div>\n                </div>\n            )\n        };\n    }\n    const availableReleases = releases.filter(r => releaseAvailabilityMap[r]);\n    const unavailableReleases = releases.filter(r => !releaseAvailabilityMap[r]);\n\n    const effectiveSelected =\n        selectedRelease && availableReleases.includes(selectedRelease)\n            ? selectedRelease\n            : availableReleases[0] || '';\n\n    const selectedDisplayName = releaseInfo?.activeVersionsFormatted?.[effectiveSelected] || '';\n    const releaseNotesUrl = releaseInfo?.releaseNotes?.[effectiveSelected] || '';\n\n    let alertMessage = null;\n    let alertActionLabel = null;\n    const latestRelease = releaseInfo?.latestRelease;\n    if (unavailableReleases.length > 0) {\n        const displayNames = unavailableReleases.map(r => {\n            const name = releaseInfo?.activeVersionsFormatted?.[r] || r;\n            const isLatest = latestRelease && r.toLowerCase() === latestRelease.toLowerCase();\n            return isLatest ? `${name} (latest)` : name;\n        });\n        alertMessage =\n            unavailableReleases.length === 1\n                ? `${displayNames[0]} instance is not available.`\n                : `${displayNames.join(' and ')} instances are not available.`;\n        const unavailableDisplay =\n            releaseInfo?.activeVersionsFormatted?.[unavailableReleases[0]] || unavailableReleases[0];\n        alertActionLabel =\n            unavailableReleases.length === 1\n                ? `Join waitlist for ${unavailableDisplay}`\n                : 'Join a waitlist';\n    }\n\n    const numAvailable = availableReleases.length;\n    const modalSize = 'custom';\n    const modalCustomSize = {\n        width: 'min(var(--request-modal-max-width, 740px), calc(100vw - var(--ba-modal-margin, 64px)))',\n        height: 'var(--request-modal-height, fit-content)'\n    };\n\n    return {\n        footerActions: [],\n        size: modalSize,\n        customSize: modalCustomSize,\n        releaseCount: numAvailable,\n        content: (\n            <div className='release-modal-body'>\n                <div className='release-modal-content'>\n                {alertMessage && (\n                    <div className='release-unavailable-alert'>\n                        <div className='release-unavailable-alert__body'>\n                            <now-icon icon='circle-info-outline' size='sm' />\n                            <span className='release-unavailable-alert__message'>{alertMessage}</span>\n                        </div>\n                        <button\n                            className='release-unavailable-alert__action'\n                            on-click={() => {\n                                if (unavailableReleases.length === 1) {\n                                    dispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.WAITLIST_REQUEST, {\n                                        selectedRelease: unavailableReleases[0]\n                                    });\n                                } else {\n                                    updateProperties({ waitlistView: true, selectedWaitlistRelease: '' });\n                                }\n                            }}\n                        >\n                            {alertActionLabel}\n                        </button>\n                    </div>\n                )}\n\n                <div className='release-version-cards'>\n                    {availableReleases.map(release => {\n                        const isLatest = release?.toLowerCase() === releaseInfo?.latestRelease?.toLowerCase();\n                        const hasBuildAgent = isZurichOrNewer(release, systemProperties);\n                        const isSelected = release === effectiveSelected;\n                        return (\n                            <div\n                                key={release}\n                                className={`release-version-card${isSelected ? ' release-version-card--selected' : ''}`}\n                                on-click={() => updateProperties({ selectedRelease: release })}\n                            >\n                                {isLatest && (\n                                    <div className='release-version-card__latest-tab'>LATEST</div>\n                                )}\n                                <div className='release-version-card__body'>\n                                    <div className='release-version-card__content'>\n                                        <img\n                                            className='release-version-card__image'\n                                            src={releaseImages && releaseImages[release]}\n                                            alt={releaseInfo?.activeVersionsFormatted?.[release] || release}\n                                        />\n                                        <span className='release-version-card__name'>\n                                            {releaseInfo?.activeVersionsFormatted?.[release] || release}\n                                        </span>\n                                    </div>\n                                    <div\n                                        className={`release-version-card__badge${\n                                            hasBuildAgent\n                                                ? ' release-version-card__badge--available'\n                                                : ' release-version-card__badge--unavailable'\n                                        }`}\n                                    >\n                                        <now-icon\n                                            icon={hasBuildAgent ? 'check-fill' : 'close-fill'}\n                                            size='sm'\n                                        />\n                                        <span>\n                                            {hasBuildAgent\n                                                ? 'Vibe-code with Build Agent'\n                                                : 'Build Agent not available'}\n                                        </span>\n                                    </div>\n                                </div>\n                            </div>\n                        );\n                    })}\n                </div>\n                </div>\n\n                <div className='release-modal-footer'>\n                    <div className='release-modal-footer__left'>\n                        {releaseNotesUrl && (\n                            <a\n                                href={releaseNotesUrl}\n                                target='_blank'\n                                className='release-modal-footer__link'\n                            >\n                                View release notes\n                                <now-icon icon='open-link-right-outline' size='md' />\n                            </a>\n                        )}\n                    </div>\n                    <div className='release-modal-footer__right'>\n                        <now-button\n                            variant='secondary'\n                            size='md'\n                            label='Cancel'\n                            on-click={() => dispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.SET_MODAL, { opened: false })}\n                        />\n                        <now-button\n                            variant='primary'\n                            size='md'\n                            label={selectedDisplayName\n                                ? (showReclaimPolicy ? `Continue with ${selectedDisplayName}` : `Setup ${selectedDisplayName} instance`)\n                                : 'Request'}\n                            disabled={!effectiveSelected}\n                            on-click={() => {\n                                if (effectiveSelected) {\n                                    dispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.INSTANCE_REQUEST, {\n                                        selectedRelease: effectiveSelected,\n                                        isBuildAgentExperience\n                                    });\n                                }\n                            }}\n                        />\n                    </div>\n                </div>\n            </div>\n        )\n    };\n};\n\nconst waitlistSelectionViewModal = (state, dispatch, updateProperties) => {\n    const { selectedWaitlistRelease, systemProperties, releaseInfo, isBuildAgentExperience } = state.properties;\n    const { releaseImages } = releaseInfo;\n    const { releaseAvailabilityMap, releases: allReleases } = getReleaseAvailabilityMap(state);\n\n    const baReleases = allReleases.filter(r => isZurichOrNewer(r, systemProperties));\n    const releases = isBuildAgentExperience ? baReleases : allReleases;\n\n    const unavailableReleases = releases.filter(r => !releaseAvailabilityMap[r]);\n\n    const effectiveSelected =\n        selectedWaitlistRelease && unavailableReleases.includes(selectedWaitlistRelease)\n            ? selectedWaitlistRelease\n            : unavailableReleases[0] || '';\n\n    const selectedDisplayName = releaseInfo?.activeVersionsFormatted?.[effectiveSelected] || '';\n    const releaseNotesUrl = releaseInfo?.releaseNotes?.[effectiveSelected] || '';\n\n    const numUnavailable = unavailableReleases.length;\n    const modalSize = 'custom';\n    const modalCustomSize = {\n        width: 'min(var(--request-modal-max-width, 740px), calc(100vw - var(--ba-modal-margin, 64px)))',\n        height: 'var(--request-modal-height, fit-content)'\n    };\n\n    return {\n        headerLabel: 'Select waitlist instance version',\n        footerActions: [],\n        size: modalSize,\n        customSize: modalCustomSize,\n        releaseCount: numUnavailable,\n        content: (\n            <div className='release-modal-body'>\n                <div className='release-modal-content'>\n                    <div className='release-version-cards'>\n                        {unavailableReleases.map(release => {\n                            const isLatest = !!releaseInfo?.latestRelease &&\n                                release?.toLowerCase() === releaseInfo.latestRelease.toLowerCase();\n                            const hasBuildAgent = isZurichOrNewer(release, systemProperties);\n                            const isSelected = release === effectiveSelected;\n                            return (\n                                <div\n                                    key={release}\n                                    className={`release-version-card${isSelected ? ' release-version-card--selected' : ''}`}\n                                    on-click={() => updateProperties({ selectedWaitlistRelease: release })}\n                                >\n                                    {isLatest && (\n                                        <div className='release-version-card__latest-tab'>LATEST</div>\n                                    )}\n                                    <div className='release-version-card__body'>\n                                        <div className='release-version-card__content'>\n                                            <img\n                                                className='release-version-card__image'\n                                                src={releaseImages && releaseImages[release]}\n                                                alt={releaseInfo?.activeVersionsFormatted?.[release] || release}\n                                            />\n                                            <span className='release-version-card__name'>\n                                                {releaseInfo?.activeVersionsFormatted?.[release] || release}\n                                            </span>\n                                        </div>\n                                        <div\n                                            className={`release-version-card__badge${\n                                                hasBuildAgent\n                                                    ? ' release-version-card__badge--available'\n                                                    : ' release-version-card__badge--unavailable'\n                                            }`}\n                                        >\n                                            <now-icon\n                                                icon={hasBuildAgent ? 'check-fill' : 'close-fill'}\n                                                size='sm'\n                                            />\n                                            <span>\n                                                {hasBuildAgent\n                                                    ? 'Vibe-code with Build Agent'\n                                                    : 'Build Agent not available'}\n                                            </span>\n                                        </div>\n                                    </div>\n                                </div>\n                            );\n                        })}\n                    </div>\n                </div>\n\n                <div className='release-modal-footer'>\n                    <div className='release-modal-footer__left'>\n                        {releaseNotesUrl && (\n                            <a\n                                href={releaseNotesUrl}\n                                target='_blank'\n                                className='release-modal-footer__link'\n                            >\n                                View release notes\n                                <now-icon icon='open-link-right-outline' size='md' />\n                            </a>\n                        )}\n                    </div>\n                    <div className='release-modal-footer__right'>\n                        <now-button\n                            variant='secondary'\n                            size='md'\n                            label='Cancel'\n                            on-click={() => updateProperties({ waitlistView: false, selectedWaitlistRelease: '' })}\n                        />\n                        <now-button\n                            variant='primary'\n                            size='md'\n                            label={selectedDisplayName ? `Join ${selectedDisplayName} waitlist` : 'Join waitlist'}\n                            disabled={!effectiveSelected}\n                            on-click={() => {\n                                if (effectiveSelected) {\n                                    dispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.WAITLIST_REQUEST, {\n                                        selectedRelease: effectiveSelected\n                                    });\n                                }\n                            }}\n                        />\n                    </div>\n                </div>\n            </div>\n        )\n    };\n};\n\n","import '@servicenow/now-modal';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-button';\nimport { DPS_INSTANCE_ASSIGNMENT_MODAL } from '../actions';\n\n\nexport const leaveInstanceViewModal = (state, { dispatch }) => {\n\tconst { loaded, opened, instanceInfo } = state.properties;\n\tconst release = instanceInfo?.release || '';\n\n\treturn (\n\t\t<div className=\"ba-auto-assign-modal--waitlisted\">\n\t\t\t<now-modal\n\t\t\t\tkey=\"leave-waitlist-modal\"\n\t\t\t\tcomponent-name={\"leave-waitlist-modal\"}\n\t\t\t\theader-label=\"\"\n\t\t\t\topened={loaded && opened}\n\t\t\t\tmanaged-open={true}\n\t\t\t\tsize='sm'\n\t\t\t\tfooter-actions={[]}\n\t\t\t\tdisableClose={true}\n\t\t\t>\n\t\t\t\t<div className=\"ba-auto-assign ba-auto-assign--compact\">\n\t\t\t\t\t<div className=\"ba-auto-assign__info-group\">\n\t\t\t\t\t\t<div className=\"ba-auto-assign__large-icon ba-auto-assign__large-icon--leave\">\n\t\t\t\t\t\t\t<now-icon icon=\"circle-question-outline\" size=\"xl\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"ba-auto-assign__success-heading\">\n\t\t\t\t\t\t\tAre you sure you want to leave the waitlist?\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"ba-auto-assign__cancel-actions\">\n\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tlabel=\"Cancel\"\n\t\t\t\t\t\t\ton-click={() => dispatch('DPS_MODAL#OPENED_SET', { value: false })}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tlabel=\"Leave waitlist\"\n\t\t\t\t\t\t\ton-click={() => dispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.LEAVE_WAITLIST)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</now-modal>\n\t\t</div>\n\t);\n};\n","import '@servicenow/now-modal';\nimport '@servicenow/now-button';\nimport { DPS_INSTANCE_ASSIGNMENT_MODAL } from '../actions';\nimport { titleCase } from '../../../utils/case';\nimport waitlistedCheckIcon from '../../../images/waitlisted-check.svg';\n\nexport const waitlistedViewModal = (state, { dispatch }) => {\n\tconst { opened, selectedRelease, releaseInfo, instanceInfo } = state.properties;\n\n\t// selectedRelease is set when reached via the add-to-waitlist flow; when the\n\t// modal is opened directly (e.g. a waitlisted user clicking \"Ask Build Agent\")\n\t// it is empty, so fall back to the server-authoritative instanceInfo.release.\n\tconst release = selectedRelease || instanceInfo?.release || '';\n\tconst releaseDisplay =\n\t\treleaseInfo?.activeVersionsFormatted?.[release?.toLowerCase()] ||\n\t\ttitleCase(release);\n\n\treturn (\n\t\t<div className=\"ba-auto-assign-modal--waitlisted\">\n\t\t\t<now-modal\n\t\t\t\tkey=\"waitlisted-modal\"\n\t\t\t\tcomponent-name=\"waitlisted-modal\"\n\t\t\t\theader-label=\"\"\n\t\t\t\topened={opened}\n\t\t\t\tmanage-opened\n\t\t\t\tsize=\"sm\"\n\t\t\t\tfooter-actions={[]}\n\t\t\t\tdisableClose={true}\n\t\t\t>\n\t\t\t\t<div className=\"ba-auto-assign ba-auto-assign--compact\">\n\t\t\t\t\t<div className=\"ba-auto-assign__info-group\">\n\t\t\t\t\t\t<div className=\"ba-auto-assign__large-icon ba-auto-assign__large-icon--waitlisted\">\n\t\t\t\t\t\t\t<img src={waitlistedCheckIcon} alt=\"\" width=\"40\" height=\"40\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"ba-auto-assign__info-text\">\n\t\t\t\t\t\t\t<div className=\"ba-auto-assign__success-heading\">\n\t\t\t\t\t\t\t\t{releaseDisplay\n\t\t\t\t\t\t\t\t\t? `You're on the waitlist for ${releaseDisplay}!`\n\t\t\t\t\t\t\t\t\t: \"You're on the waitlist!\"}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<p className=\"ba-auto-assign__subtext\">\n\t\t\t\t\t\t\t\tWe'll assign you an instance as soon as one becomes\n\t\t\t\t\t\t\t\tavailable.\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"ba-auto-assign__cancel-actions\">\n\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tlabel=\"Leave waitlist\"\n\t\t\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\t\t\tdispatch('DPS_CONFIRMATION_LEAVE_WAIT_LIST_CLICK')\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tlabel=\"Close\"\n\t\t\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\t\t\tdispatch('DPS_MODAL#OPENED_SET', { value: false })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</now-modal>\n\t\t</div>\n\t);\n};\n","import '@servicenow/now-modal';\nimport '@servicenow/now-button';\nimport '@servicenow/now-icon';\nimport { DPS_INSTANCE_ASSIGNMENT_MODAL } from '../actions';\n\nexport const reviewInstancePolicyViewModal = (state, { dispatch, updateProperties }) => {\n\tconst { opened, policyAcknowledged, selectedFamily, instanceInfo, systemProperties } = state.properties;\n\tconst reclaimPolicyBlogUrl = systemProperties?.['dev.reclaimpolicy.blog.URL'];\n\tconst policy = instanceInfo?.policy || {};\n\tconst maxExpiryDays = policy.max_expiry_days ?? 90;\n\tconst inactivityDays = policy.inactivity_days ?? 10;\n\n\treturn (\n\t\t<div className=\"review-instance-policy\">\n\t\t\t<now-modal\n\t\t\t\tkey=\"review-instance-policy-modal\"\n\t\t\t\topened={opened}\n\t\t\t\tmanage-opened\n\t\t\t\tsize=\"custom\"\n\t\t\t\tcustom-size={{ width: 'min(646px, calc(100vw - var(--ba-modal-margin, 64px)))', height: 'fit-content' }}\n\t\t\t\theader-label=\"Review instance policy\"\n\t\t\t\tfooter-actions={[]}\n\t\t\t>\n\t\t\t\t<div className=\"release-modal-body\">\n\t\t\t\t\t<div className=\"review-policy-content\">\n\t\t\t\t\t\t<p className=\"review-policy-intro\">\n\t\t\t\t\t\t\tYour instance will be reclaimed when either limit\n\t\t\t\t\t\t\tbelow is reached, whichever comes first.\n\t\t\t\t\t\t</p>\n\n\t\t\t\t\t\t<div className=\"review-policy-box\">\n\t\t\t\t\t\t\t<div className=\"review-policy-row\">\n\t\t\t\t\t\t\t\t<now-icon icon=\"stopwatch-outline\" size=\"lg\"/>\n\t\t\t\t\t\t\t\t<div className=\"review-policy-row__text\">\n\t\t\t\t\t\t\t\t\t<div className=\"review-policy-row__title\">\n\t\t\t\t\t\t\t\t\t\t<span>{maxExpiryDays}-day limit</span>\n\t\t\t\t\t\t\t\t\t\t<span className=\"review-policy-badge review-policy-badge--warning\">\n\t\t\t\t\t\t\t\t\t\t\tNo extensions\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<p className=\"review-policy-row__description\">\n\t\t\t\t\t\t\t\t\t\tInstance will be reclaimed {maxExpiryDays} days\n\t\t\t\t\t\t\t\t\t\tafter being assigned, even if it's in\n\t\t\t\t\t\t\t\t\t\tactive use.\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div className=\"review-policy-divider\" />\n\n\t\t\t\t\t\t\t<div className=\"review-policy-row\">\n\t\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\t\ticon=\"circle-minus-outline\"\n\t\t\t\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<div className=\"review-policy-row__text\">\n\t\t\t\t\t\t\t\t\t<div className=\"review-policy-row__title\">\n\t\t\t\t\t\t\t\t\t\t<span>{inactivityDays}-day inactivity limit</span>\n\t\t\t\t\t\t\t\t\t\t<span className=\"review-policy-badge review-policy-badge--info\">\n\t\t\t\t\t\t\t\t\t\t\tResets on logging into your\n\t\t\t\t\t\t\t\t\t\t\tinstance\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<p className=\"review-policy-row__description\">\n\t\t\t\t\t\t\t\t\t\tInstance will be reclaimed earlier\n\t\t\t\t\t\t\t\t\t\tthan {maxExpiryDays} days, if you don't log into\n\t\t\t\t\t\t\t\t\t\tyour instance for {inactivityDays} days.\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div className=\"review-policy-checkbox\">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tid=\"review-policy-acknowledged\"\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\tname=\"review-policy-acknowledged\"\n\t\t\t\t\t\t\t\tchecked={policyAcknowledged}\n\t\t\t\t\t\t\t\ton-input={e =>\n\t\t\t\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\t\t\t\tpolicyAcknowledged: e.target.checked\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<label htmlFor=\"review-policy-acknowledged\">\n\t\t\t\t\t\t\t\tI understand that my instance and all its\n\t\t\t\t\t\t\t\tdata will be permanently deleted when\n\t\t\t\t\t\t\t\treclaimed, and cannot be recovered.\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"release-modal-footer\">\n\t\t\t\t\t\t<div className=\"release-modal-footer__left\">\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref={reclaimPolicyBlogUrl || 'javascript:void(0)'}\n\t\t\t\t\t\t\t\ttarget={reclaimPolicyBlogUrl ? '_blank' : undefined}\n\t\t\t\t\t\t\t\tclassName={`release-modal-footer__link${!reclaimPolicyBlogUrl ? ' release-modal-footer__link--disabled' : ''}`}\n\t\t\t\t\t\t\t\taria-disabled={!reclaimPolicyBlogUrl}\n\t\t\t\t\t\t\t\ttabIndex={reclaimPolicyBlogUrl ? 0 : -1}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tView full policy\n\t\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\t\ticon=\"open-link-right-outline\"\n\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"release-modal-footer__right\">\n\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\tlabel=\"Cancel\"\n\t\t\t\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.SET_MODAL,\n\t\t\t\t\t\t\t\t\t\t{ opened: false }\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\tlabel=\"Set up instance\"\n\t\t\t\t\t\t\t\tdisabled={!policyAcknowledged}\n\t\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\t\tif (policyAcknowledged) {\n\t\t\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\t\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.CONFIRM_INSTANCE_POLICY,\n\t\t\t\t\t\t\t\t\t\t\t{ selectedRelease: selectedFamily }\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</now-modal>\n\t\t</div>\n\t);\n};\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { updateRoute } from '../../routes';\nimport { DPS_INSTANCE_ASSIGNMENT_MODAL } from './actions';\nexport const instanceAssignmentSuccessView = (state, { dispatch }) => {\n\tconst {\n\t\tinstanceAssignmentDetails: { tempPassword, loginURL, displayURL },\n\t\tproperties: { opened, instanceInfo, systemProperties, userInfo }\n\t} = state;\n\n\tconst userName = (userInfo.pdi_user_role || 'admin');\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<dps-modal\n\t\t\t\theaderLabel=\"Your instance is ready!\"\n\t\t\t\topened={opened}\n\t\t\t\tmanagedOpen={true}\n\t\t\t\tsize={'md'}\n\t\t\t>\n\t\t\t\t<div className=\"dps-request-instance-success\">\n\t\t\t\t\t<p className=\"dps-request-instance-success-title\">\n\t\t\t\t\t\tYour instance URL:\n\t\t\t\t\t\t<dps-link\n\t\t\t\t\t\t\thref={loginURL}\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\ton-click={e => {\n\t\t\t\t\t\t\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.MAGIC_LINK_CLICKED);\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ticon=\"arrow-up-right-fill\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{displayURL}\n\t\t\t\t\t\t</dps-link>\n\t\t\t\t\t\t<br></br>\n\t\t\t\t\t</p>\n\t\t\t\t\t<section className=\"dps-request-instance-success-credential\">\n\t\t\t\t\t\t<p className=\"dps-request-instance-success-credential-text\">\n\t\t\t\t\t\t\tUsername: {userName}\n\t\t\t\t\t\t\t<br></br>\n\t\t\t\t\t\t\tCurrent password: {tempPassword}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</section>\n\t\t\t\t\t<p className=\"dps-request-instance-success-content\">\n\t\t\t\t\t\tKeep your new instance active by developing on the instance or\n\t\t\t\t\t\tlogging into the Developer Site. If your instance is inactive for 10\n\t\t\t\t\t\tdays, it will be reclaimed and released for other developers to use.\n\t\t\t\t\t</p>\n\t\t\t\t\t<section className=\"dps-request-instance-success-button\">\n\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\t\tlabel=\"Return to the Developer Site\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\tupdateRoute('/home');\n\t\t\t\t\t\t\t\tdispatch('DPS_MODAL#OPENED_SET', { value: false });\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t></dps-button>\n\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\tlabel=\"Open Instance\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\ticon=\"arrow-up-right-fill\"\n\t\t\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\t\t\twindow.open(loginURL, '_blank');\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</section>\n\t\t\t\t</div>\n\t\t\t</dps-modal>\n\t\t</Fragment>\n\t);\n};\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport instanceAssignmentFail from '../../images/instanceAssignmentFail.svg';\nimport '@servicenow/now-button';\nimport '@servicenow/now-icon';\nimport '../../components/dps-toast-alert';\nimport '../../components/dps-shade';\nimport { APP_ACTIONS } from '../dps-app/actions';\nimport { CONSTANTS } from '../../constants';\n\n\nconst openFeedback = dispatch => {\n\tdispatch(APP_ACTIONS.GIVE_GENERAL_FEEDBACK, {\n\t\tsubmittedFrom: CONSTANTS.DEFAULTS.FEEDBACK_FORM_SUBMITTED_FROM_ALERT,\n\t\ttype: 'DPS_BUTTON#GIVE_GENERAL_FEEDBACK'\n\t});\n};\n\n\nexport const instanceAssignmentFailedView = (\n\tstate,\n\t{ updateProperties, dispatch }\n) => {\n\tconst { systemProperties, isInstanceRequestDuplicate } = state.properties;\n\tconst errorMessage = isInstanceRequestDuplicate\n\t\t? systemProperties['dev.instance.duplicate_request_error_msg']\n\t\t: 'Unfortunately, no open instances are available right now.\\n' +\n\t\t  'Please try again later or request a different release version.';\n\n\tconst { opened } = state.properties;\n\treturn (\n\t\t<Fragment>\n\t\t\t<dps-modal opened={opened} managedOpen={true} size={'sm'}>\n\t\t\t\t<center>\n\t\t\t\t\t<h3 className=\"dps-request-instance-assignment-failed-title\">\n\t\t\t\t\t\tWe're unable to process your request at this time\n\t\t\t\t\t</h3>\n\t\t\t\t\t<img src={instanceAssignmentFail} height=\"207\" width=\"207\"></img>\n\t\t\t\t\t<p className=\"dps-request-instance-assignment-failed-content\">\n\t\t\t\t\t\t{errorMessage}\n\t\t\t\t\t</p>\n\t\t\t\t\t<dps-button\n\t\t\t\t\t\tdisabled={isInstanceRequestDuplicate}\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tlabel=\"Return to instance version selector\"\n\t\t\t\t\t\ton-click={\n\t\t\t\t\t\t\tisInstanceRequestDuplicate\n\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t: () => {\n\t\t\t\t\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\t\t\t\t\tscreen: 'request',\n\t\t\t\t\t\t\t\t\t\t\tselectedRelease: ''\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t//Tracking the click for - click return to instance version selector\n\t\t\t\t\t\t\t\t\t\tdispatch('APP#TRACKED_EVENT_FOR_ANALYTICS', {\n\t\t\t\t\t\t\t\t\t\t\taction: 'click return to instance version selector',\n\t\t\t\t\t\t\t\t\t\t\tcategory: 'buttons',\n\t\t\t\t\t\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t\t\t\t\tga: true,\n\t\t\t\t\t\t\t\t\t\t\tadobe: false\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t}\n\t\t\t\t\t></dps-button>\n\t\t\t\t\t<br></br>\n\t\t\t\t\t<p className=\"dps-request-instance-assignment-failed-button\">\n\t\t\t\t\t\tor\n\t\t\t\t\t\t<dps-button\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tlabel=\"Close this window\"\n\t\t\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\t\t\tdispatch('DPS_MODAL#OPENED_SET', { value: false })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlink-style\n\t\t\t\t\t\t></dps-button>\n\t\t\t\t\t</p>\n\t\t\t\t</center>\n\t\t\t</dps-modal>\n\t\t</Fragment>\n\t);\n};\n\nexport const instanceAssignmentFailedToastView = (\n\tstate,\n\t{ updateProperties, dispatch }\n) => {\n\tconst {\n\t\topened,\n\t\tsystemProperties,\n\t\tisInstanceRequestDuplicate,\n\t\tisRequestForAutoAssignInstance\n\t} = state.properties;\n\tlet errorMessage = isInstanceRequestDuplicate\n\t\t? systemProperties['dev.instance.duplicate_request_error_msg']\n\t\t: systemProperties['dev.error_msg_instance_assignment']\n\n\n\tconst openFeedBackLink = <dps-button label=\" contact us\" link-style on-click={() => {\n\t\topenFeedback(dispatch);\n\t}}> </dps-button>;\n\n\tconst addRetryLink = <dps-button label=\"retry now\" link-style on-click={() => {\n\t\tupdateProperties({\n\t\t\tscreen: 'request',\n\t\t\tselectedRelease: '',\n\t\t\tselectedItem: 'request'\n\t\t});\n\n\t}}> </dps-button>;\n\terrorMessage = errorMessage.split(' ');\n\terrorMessage.forEach((item, index)=> {\n\t\terrorMessage[index] = item+' ';\n\t\tif(item === '$retry_now') {\n\t\t\terrorMessage[index] = addRetryLink\n\t\t} else if(item === '$contact_us') {\n\t\t\terrorMessage[index] = openFeedBackLink\n\t\t}\n\t});\n\n\n\tconst toastProps = {\n\t\ticon: 'triangle-exclamation-outline',\n\t\tvariant: 'error',\n\t\theader: 'Error',\n\t\tbody: errorMessage\n\t};\n\n\n\n\n\treturn (\n\t\t<dps-toast-alert\n\t\t\topen={opened || isRequestForAutoAssignInstance}\n\t\t\talertProps={toastProps}\n\t\t\tallowDisappearing={false}\n\t\t>\n\t\t\t<div className=\"dps-instance-assignment-toast-alert-slot\" slot=\"action\">\n\t\t\t\t<now-icon\n\t\t\t\t\ticon=\"close-outline\"\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\tdispatch('DPS_MODAL#OPENED_SET', { value: false });\n\t\t\t\t\t}}\n\t\t\t\t></now-icon>\n\t\t\t</div>\n\t\t</dps-toast-alert>\n\t);\n};\n","import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport legalAgreementDeclined from '../../images/legal-agreement-declined.svg';\nimport '@servicenow/now-icon';\nimport '../../components/dps-toast-alert';\nimport '../../components/dps-shade';\n\nlet payload = {};\nexport const instanceProcessingView = (state, { updateProperties }) => {\n\tconst { isProcessing } = state.properties;\n\treturn (\n\t\t<Fragment>\n\t\t\t<dps-modal\n\t\t\t\topened={isProcessing}\n\t\t\t\tmanagedOpen={true}\n\t\t\t\tsize={'sm'}\n\t\t\t\tpayloadToAction={\n\t\t\t\t\t(payload = {\n\t\t\t\t\t\tprocessing: isProcessing\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<center>\n\t\t\t\t\t<h3 className=\"dps-instance-assignment-processing-title\">\n\t\t\t\t\t\tWe’re processing your request!\n\t\t\t\t\t</h3>\n\t\t\t\t\t<img src={legalAgreementDeclined} height=\"207\" width=\"207\"></img>\n\t\t\t\t\t<p className=\"dps-instance-assignment-processing-content\">\n\t\t\t\t\t\tWe'll notify you once your instance is ready to use. In the\n\t\t\t\t\t\tmeantime, please close this window to continue browsing the site.\n\t\t\t\t\t</p>\n\t\t\t\t\t<dps-button\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tlabel=\"Close\"\n\t\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\t\tupdateProperties({ screen: '', isProcessing: false })\n\t\t\t\t\t\t}\n\t\t\t\t\t></dps-button>\n\t\t\t\t</center>\n\t\t\t</dps-modal>\n\t\t</Fragment>\n\t);\n};\n\nexport const instanceProcessingToastView = (state, { updateProperties }) => {\n\tconst { isProcessing } = state.properties;\n\tconst toastProps = {\n\t\ticon: 'circle-info-outline',\n\t\tvariant: 'info',\n\t\tbody: 'We are processing your request. This will only take a few seconds.'\n\t};\n\treturn (\n\t\t<dps-toast-alert\n\t\t\topen={isProcessing}\n\t\t\talertProps={toastProps}\n\t\t\tallowDisappearing={false}\n\t\t>\n\t\t\t<div className=\"dps-instance-assignment-toast-alert-slot\" slot=\"action\">\n\t\t\t\t<now-icon\n\t\t\t\t\ticon=\"close-outline\"\n\t\t\t\t\ton-click={() => {\n\t\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\t\tscreen: '',\n\t\t\t\t\t\t\tisProcessing: false\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t></now-icon>\n\t\t\t</div>\n\t\t</dps-toast-alert>\n\t);\n};\n","import '@servicenow/now-modal';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-loader';\nimport '@servicenow/now-button';\nimport { DPS_INSTANCE_ASSIGNMENT_MODAL } from './actions';\nimport { titleCase } from '../../utils/case';\nimport { isZurichOrNewer, getAllReleasesInOrder } from '../../utils/releaseHelpers';\nimport { renderInstanceEmptyState } from './cxupdated/helpers';\nimport waitlistedCheckIcon from '../../images/waitlisted-check.svg';\n\nconst STEP_ORDER = ['searching', 'configuring', 'redirecting'];\n\nconst STEP_LABELS = {\n\tsearching: {\n\t\tactive: 'Searching available versions',\n\t\tdone: '{family} selected'\n\t},\n\tconfiguring: {\n\t\tidle: 'Configure instance',\n\t\tactive: 'Configuring instance',\n\t\tdone: 'Instance configured'\n\t},\n\tredirecting: {\n\t\tidle: 'Redirect to Studio',\n\t\tactive: 'Redirecting to Studio',\n\t\tdone: 'Redirect to Studio'\n\t}\n};\n\nconst NON_BA_STEP_LABELS = {\n\tsearching: {\n\t\tactive: 'Searching available versions',\n\t\tdone: '{family} selected'\n\t},\n\tconfiguring: {\n\t\tidle: 'Configure instance',\n\t\tactive: 'Configuring instance',\n\t\tdone: 'Instance selected'\n\t},\n\tredirecting: {\n\t\tidle: 'Ready to use',\n\t\tactive: 'Ready to use',\n\t\tdone: 'Ready to use'\n\t}\n};\n\nconst BLANK_STEPS = [\n\t{ key: 'warning', label: 'No compatible instances' },\n\t{ key: 'configure', label: 'Configure instance' },\n\t{ key: 'redirect', label: 'Redirect to Studio' }\n];\n\nconst WAKEUP_STEP_ORDER = ['restoring', 'redirecting'];\n\nconst WAKEUP_STEP_LABELS = {\n\trestoring: {\n\t\tidle: 'Restore configuration',\n\t\tactive: 'Restoring configuration',\n\t\tdone: 'Configuration restored'\n\t},\n\tredirecting: {\n\t\tidle: 'Redirect to Studio',\n\t\tactive: 'Redirecting to Studio',\n\t\tdone: 'Redirect to Studio'\n\t}\n};\n\nconst PHASE_MODAL_CONFIG = {\n\tsearching: {\n\t\theaderLabel: 'Setting up instance',\n\t\tmodalSize: 'custom',\n\t\tcustomSize: { width: 'min(800px, calc(100vw - var(--ba-modal-margin, 64px)))', height: 'fit-content' },\n\t\tfooterActions: [\n\t\t\t{\n\t\t\t\tvariant: 'secondary-negative',\n\t\t\t\tlabel: 'Cancel setup',\n\t\t\t\tclickActionType: DPS_INSTANCE_ASSIGNMENT_MODAL.BA_AUTO_ASSIGN_CANCEL,\n\t\t\t\ttooltipContent: ''\n\t\t\t},\n\t\t\t{\n\t\t\t\tvariant: 'tertiary',\n\t\t\t\tlabel: 'Run in background',\n\t\t\t\tclickActionType:\n\t\t\t\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.BA_AUTO_ASSIGN_RUN_IN_BACKGROUND,\n\t\t\t\ttooltipContent: ''\n\t\t\t}\n\t\t],\n\t\tmodalClassName: 'ba-auto-assign-modal'\n\t},\n\tconfiguring: {\n\t\theaderLabel: 'Setting up instance',\n\t\tmodalSize: 'custom',\n\t\tcustomSize: { width: 'min(800px, calc(100vw - var(--ba-modal-margin, 64px)))', height: 'fit-content' },\n\t\tfooterActions: [\n\t\t\t{\n\t\t\t\tvariant: 'secondary-negative',\n\t\t\t\tlabel: 'Cancel setup',\n\t\t\t\tclickActionType: DPS_INSTANCE_ASSIGNMENT_MODAL.BA_AUTO_ASSIGN_CANCEL,\n\t\t\t\ttooltipContent: ''\n\t\t\t},\n\t\t\t{\n\t\t\t\tvariant: 'tertiary',\n\t\t\t\tlabel: 'Run in background',\n\t\t\t\tclickActionType:\n\t\t\t\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.BA_AUTO_ASSIGN_RUN_IN_BACKGROUND,\n\t\t\t\ttooltipContent: ''\n\t\t\t}\n\t\t],\n\t\tmodalClassName: 'ba-auto-assign-modal'\n\t},\n\tredirecting: {\n\t\theaderLabel: 'Setting up instance',\n\t\tmodalSize: 'custom',\n\t\tcustomSize: { width: 'min(800px, calc(100vw - var(--ba-modal-margin, 64px)))', height: 'fit-content' },\n\t\tfooterActions: [],\n\t\tmodalClassName: 'ba-auto-assign-modal',\n\t\tdisableClose: true\n\t},\n\t'no-ba-versions': {\n\t\theaderLabel: 'Setting up instance',\n\t\tmodalSize: 'custom',\n\t\tcustomSize: { width: 'min(800px, calc(100vw - var(--ba-modal-margin, 64px)))', height: 'fit-content' },\n\t\tfooterActions: [],\n\t\tmodalClassName: 'ba-auto-assign-modal--alt'\n\t},\n\t'no-instances': {\n\t\theaderLabel: '',\n\t\tmodalSize: 'custom',\n\t\tcustomSize: { width: 'min(800px, calc(100vw - var(--ba-modal-margin, 64px)))', height: 'fit-content' },\n\t\tfooterActions: [],\n\t\tmodalClassName: 'ba-auto-assign-modal--md'\n\t},\n\t'cancel-confirm': {\n\t\theaderLabel: '',\n\t\tmodalSize: 'sm',\n\t\tfooterActions: [],\n\t\tmodalClassName: 'ba-auto-assign-modal--sm',\n\t\tdisableClose: true\n\t},\n\tsuccess: {\n\t\theaderLabel: 'Setting up instance',\n\t\tmodalSize: 'custom',\n\t\tcustomSize: { width: 'min(800px, calc(100vw - var(--ba-modal-margin, 64px)))', height: 'fit-content' },\n\t\tfooterActions: [],\n\t\tmodalClassName: 'ba-auto-assign-modal'\n\t},\n\twaitlisted: {\n\t\theaderLabel: '',\n\t\tmodalSize: 'sm',\n\t\tfooterActions: [],\n\t\tmodalClassName: 'ba-auto-assign-modal--waitlisted',\n\t\tdisableClose: true\n\t},\n\t'instance-assignment-failure': {\n\t\theaderLabel: '',\n\t\tmodalSize: 'sm',\n\t\tfooterActions: [],\n\t\tmodalClassName: 'ba-auto-assign-modal--sm',\n\t\tdisableClose: true\n\t},\n\t'wakeup-restoring': {\n\t\theaderLabel: 'Waking-up instance',\n\t\tmodalSize: 'custom',\n\t\tcustomSize: { width: 'min(800px, calc(100vw - var(--ba-modal-margin, 64px)))', height: 'fit-content' },\n\t\tfooterActions: [\n\t\t\t{\n\t\t\t\tvariant: 'secondary-negative',\n\t\t\t\tlabel: 'Cancel',\n\t\t\t\tclickActionType: DPS_INSTANCE_ASSIGNMENT_MODAL.BA_AUTO_ASSIGN_DISMISS,\n\t\t\t\ttooltipContent: ''\n\t\t\t},\n\t\t\t{\n\t\t\t\tvariant: 'tertiary',\n\t\t\t\tlabel: 'Run in background',\n\t\t\t\tclickActionType:\n\t\t\t\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.BA_AUTO_ASSIGN_RUN_IN_BACKGROUND,\n\t\t\t\ttooltipContent: ''\n\t\t\t}\n\t\t],\n\t\tmodalClassName: 'ba-auto-assign-modal'\n\t},\n\t'wakeup-restored': {\n\t\theaderLabel: 'Waking-up instance',\n\t\tmodalSize: 'custom',\n\t\tcustomSize: { width: 'min(800px, calc(100vw - var(--ba-modal-margin, 64px)))', height: 'fit-content' },\n\t\tfooterActions: [],\n\t\tmodalClassName: 'ba-auto-assign-modal',\n\t\tdisableClose: true\n\t},\n\t'wakeup-failure': {\n\t\theaderLabel: '',\n\t\tmodalSize: 'sm',\n\t\tfooterActions: [],\n\t\tmodalClassName: 'ba-auto-assign-modal--sm',\n\t\tdisableClose: true\n\t}\n};\n\nconst isProgressPhase = phase =>\n\tphase === 'searching' || phase === 'configuring' || phase === 'redirecting';\n\nconst isWakeupProgressPhase = phase =>\n\tphase === 'wakeup-restoring' || phase === 'wakeup-restored';\n\nconst wakeupStepStatus = (stepKey, wakeupPhase) => {\n\tconst currentStep = wakeupPhase === 'wakeup-restored' ? 'redirecting' : 'restoring';\n\tconst cur = WAKEUP_STEP_ORDER.indexOf(currentStep);\n\tconst idx = WAKEUP_STEP_ORDER.indexOf(stepKey);\n\tif (idx < cur) return 'done';\n\tif (idx === cur) return 'active';\n\treturn 'idle';\n};\n\nconst stepStatus = (stepKey, currentPhase) => {\n\tconst cur = STEP_ORDER.indexOf(currentPhase);\n\tconst idx = STEP_ORDER.indexOf(stepKey);\n\tif (idx < cur) return 'done';\n\tif (idx === cur) return 'active';\n\treturn 'idle';\n};\n\nconst labelForStep = (stepKey, status, selectedFamily, labels) => {\n\tconst tmpl = labels[stepKey][status];\n\tif (status === 'done' && tmpl.indexOf('{family}') !== -1) {\n\t\tconst familyDisplay = selectedFamily\n\t\t\t? titleCase(selectedFamily)\n\t\t\t: 'Instance';\n\t\treturn tmpl.replace('{family}', familyDisplay);\n\t}\n\treturn tmpl;\n};\n\nconst renderIndicator = (status, idx) => {\n\tif (status === 'done') {\n\t\treturn (\n\t\t\t<div className=\"ba-auto-assign__indicator ba-auto-assign__indicator--done\">\n\t\t\t\t<now-icon icon=\"check-fill\" size=\"sm\" />\n\t\t\t</div>\n\t\t);\n\t}\n\tif (status === 'active') {\n\t\treturn (\n\t\t\t<div className=\"ba-auto-assign__indicator ba-auto-assign__indicator--active\">\n\t\t\t\t<now-loader size=\"lg\" label=\"\" />\n\t\t\t</div>\n\t\t);\n\t}\n\treturn (\n\t\t<div className=\"ba-auto-assign__indicator ba-auto-assign__indicator--idle\">\n\t\t\t<span>{idx + 1}</span>\n\t\t</div>\n\t);\n};\n\nconst renderBlankIndicator = idx => {\n\tif (idx === 0) {\n\t\treturn (\n\t\t\t<div className=\"ba-auto-assign__indicator ba-auto-assign__indicator--warning\">\n\t\t\t\t<now-icon icon=\"triangle-exclamation-outline\" size=\"lg\" />\n\t\t\t</div>\n\t\t);\n\t}\n\treturn (\n\t\t<div className=\"ba-auto-assign__indicator ba-auto-assign__indicator--idle\">\n\t\t\t<span>{idx + 1}</span>\n\t\t</div>\n\t);\n};\n\nconst renderStep = (stepKey, status, idx, total, selectedFamily, labels) => (\n\t<div className={`ba-auto-assign__step ba-auto-assign__step--${status}`}>\n\t\t<div className=\"ba-auto-assign__step-row\">\n\t\t\t<div\n\t\t\t\tclassName={`ba-auto-assign__line ba-auto-assign__line--start${\n\t\t\t\t\tidx === 0 ? ' ba-auto-assign__line--hidden' : ''\n\t\t\t\t}`}\n\t\t\t/>\n\t\t\t{renderIndicator(status, idx)}\n\t\t\t<div\n\t\t\t\tclassName={`ba-auto-assign__line ba-auto-assign__line--end${\n\t\t\t\t\tidx === total - 1 ? ' ba-auto-assign__line--hidden' : ''\n\t\t\t\t}`}\n\t\t\t/>\n\t\t</div>\n\t\t<div\n\t\t\tclassName={`ba-auto-assign__step-label ba-auto-assign__step-label--${status}`}\n\t\t>\n\t\t\t{labelForStep(stepKey, status, selectedFamily, labels)}\n\t\t</div>\n\t</div>\n);\n\nconst renderBlankStep = (step, idx, total) => (\n\t<div className={`ba-auto-assign__step ba-auto-assign__step--${idx === 0 ? 'active' : 'idle'}`}>\n\t\t<div className=\"ba-auto-assign__step-row\">\n\t\t\t<div\n\t\t\t\tclassName={`ba-auto-assign__line ba-auto-assign__line--start${\n\t\t\t\t\tidx === 0 ? ' ba-auto-assign__line--hidden' : ''\n\t\t\t\t}`}\n\t\t\t/>\n\t\t\t{renderBlankIndicator(idx)}\n\t\t\t<div\n\t\t\t\tclassName={`ba-auto-assign__line ba-auto-assign__line--end${\n\t\t\t\t\tidx === total - 1 ? ' ba-auto-assign__line--hidden' : ''\n\t\t\t\t}`}\n\t\t\t/>\n\t\t</div>\n\t\t<div className={`ba-auto-assign__step-label${idx === 0 ? ' ba-auto-assign__step-label--warning' : ''}`}>{step.label}</div>\n\t</div>\n);\n\nconst renderProgressBody = (phase, selectedFamily, displayTips, activeTipIndex, goToPrev, goToNext, labels, showTips, isBuildAgentExperience) => {\n\tconst activeTip = displayTips[activeTipIndex] || displayTips[0];\n\n\treturn (\n\t\t<div className=\"ba-auto-assign\">\n\t\t\t<div className=\"ba-auto-assign__progress-area\">\n\t\t\t\t<div className=\"ba-auto-assign__steps ba-auto-assign__steps--in-progress\">\n\t\t\t\t\t{STEP_ORDER.map((stepKey, idx) =>\n\t\t\t\t\t\trenderStep(\n\t\t\t\t\t\t\tstepKey,\n\t\t\t\t\t\t\tstepStatus(stepKey, phase),\n\t\t\t\t\t\t\tidx,\n\t\t\t\t\t\t\tSTEP_ORDER.length,\n\t\t\t\t\t\t\tselectedFamily,\n\t\t\t\t\t\t\tlabels\n\t\t\t\t\t\t)\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t<p className=\"ba-auto-assign__subtext\">\n\t\t\t\t\t{isBuildAgentExperience\n\t\t\t\t\t\t? 'A personal instance will be setup with database, plugins, and other configurations before transferring you to in-platform experience. This process can take a few minutes. We will notify you when your instance is ready.'\n\t\t\t\t\t\t: 'A personal instance will be setup with database, plugins, and other configurations for you. This process can take a few minutes. We will notify you when your instance is ready.'}\n\t\t\t\t</p>\n\t\t\t</div>\n\n\t\t\t{showTips && displayTips.length > 0 && activeTip && (\n\t\t\t\t<div className=\"ba-auto-assign__tips\">\n\t\t\t\t\t<div className=\"ba-auto-assign__tips-label\">Prompting tips</div>\n\t\t\t\t\t<div className=\"ba-auto-assign__tips-card\">\n\t\t\t\t\t\t<div className=\"ba-auto-assign__tips-card-header\">\n\t\t\t\t\t\t\t<div className=\"ba-auto-assign__tips-heading\">\n\t\t\t\t\t\t\t\t{activeTip.title}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"ba-auto-assign__tips-caption\">\n\t\t\t\t\t\t\t\t{activeTip.description}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"ba-auto-assign__tips-nav\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"ba-auto-assign__tips-nav-btn ba-auto-assign__tips-nav-btn--prev\"\n\t\t\t\t\t\t\ton-click={goToPrev}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<now-icon icon=\"circle-chevron-left-outline\" size=\"lg\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"ba-auto-assign__tips-nav-dots\">\n\t\t\t\t\t\t\t{displayTips.map((_, dotIdx) => (\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName={`ba-auto-assign__tips-nav-dot${\n\t\t\t\t\t\t\t\t\t\tdotIdx === activeTipIndex\n\t\t\t\t\t\t\t\t\t\t\t? ' ba-auto-assign__tips-nav-dot--active'\n\t\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"ba-auto-assign__tips-nav-btn ba-auto-assign__tips-nav-btn--next\"\n\t\t\t\t\t\t\ton-click={goToNext}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<now-icon icon=\"circle-chevron-right-outline\" size=\"lg\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nconst renderNoBaVersionsBody = (nonBaVersion, nonBaVersionDisplay, latestRelease, latestReleaseDisplay, dispatch) => (\n\t<div className=\"ba-auto-assign\">\n\t\t<div className=\"ba-auto-assign__progress-area\">\n\t\t\t<div className=\"ba-auto-assign__steps ba-auto-assign__steps--in-progress\">\n\t\t\t\t{BLANK_STEPS.map((step, idx) =>\n\t\t\t\t\trenderBlankStep(step, idx, BLANK_STEPS.length)\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t<p className=\"ba-auto-assign__subtext\">\n\t\t\t\tInstances compatible with Build Agent (for vibe-coding)\n\t\t\t\tare currently not available.\n\t\t\t</p>\n\t\t</div>\n\n\t\t<div className=\"ba-auto-assign__options\">\n\t\t\t<div className=\"ba-auto-assign__option-card\">\n\t\t\t\t<div className=\"ba-auto-assign__option-content\">\n\t\t\t\t\t<div className=\"ba-auto-assign__option-info\">\n\t\t\t\t\t\t<div className=\"ba-auto-assign__option-title\">\n\t\t\t\t\t\t\tContinue without Build Agent\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"ba-auto-assign__option-caption\">\n\t\t\t\t\t\t\tUseful for learning and manual development\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t{nonBaVersion && (\n\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tlabel={`Select ${nonBaVersionDisplay}`}\n\t\t\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.INSTANCE_REQUEST,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tselectedRelease: nonBaVersion,\n\t\t\t\t\t\t\t\t\t\tisBuildAgentExperience: false\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div className=\"ba-auto-assign__or-divider\">\n\t\t\t\t<div className=\"ba-auto-assign__or-line\" />\n\t\t\t\t<div className=\"ba-auto-assign__or-circle\">\n\t\t\t\t\t<span>OR</span>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"ba-auto-assign__or-line\" />\n\t\t\t</div>\n\n\t\t\t<div className=\"ba-auto-assign__option-card\">\n\t\t\t\t<div className=\"ba-auto-assign__option-content\">\n\t\t\t\t\t<div className=\"ba-auto-assign__option-info\">\n\t\t\t\t\t\t<div className=\"ba-auto-assign__option-title\">\n\t\t\t\t\t\t\tWait for latest version with Build Agent\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"ba-auto-assign__option-caption\">\n\t\t\t\t\t\t\tIncludes other latest Platform and AI features\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t{latestRelease && (\n\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tlabel={`Join waitlist of ${latestReleaseDisplay}`}\n\t\t\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.WAITLIST_REQUEST,\n\t\t\t\t\t\t\t\t\t{ selectedRelease: latestRelease }\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n);\n\nconst renderNoInstancesBody = (latestRelease, latestReleaseDisplay, dispatch) => (\n\t<div className=\"ba-auto-assign ba-auto-assign--compact\">\n\t\t{renderInstanceEmptyState('We recommend joining the waitlist for latest version.')}\n\n\t\t<div className=\"ba-auto-assign__cancel-actions\">\n\t\t\t<now-button\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tsize=\"md\"\n\t\t\t\tlabel=\"Request instance later\"\n\t\t\t\ton-click={() =>\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.BA_AUTO_ASSIGN_DISMISS\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{latestRelease && (\n\t\t\t\t<now-button\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tlabel={`Join waitlist for ${latestReleaseDisplay}`}\n\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.WAITLIST_REQUEST,\n\t\t\t\t\t\t\t{ selectedRelease: latestRelease }\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</div>\n\t</div>\n);\n\nconst renderCancelConfirmBody = dispatch => (\n\t<div className=\"ba-auto-assign ba-auto-assign--compact\">\n\t\t<div className=\"ba-auto-assign__info-group\">\n\t\t\t<div className=\"ba-auto-assign__large-icon ba-auto-assign__large-icon--warning\">\n\t\t\t\t<now-icon icon=\"triangle-exclamation-outline\" size=\"xl\" />\n\t\t\t</div>\n\t\t\t<div className=\"ba-auto-assign__info-text\">\n\t\t\t\t<div className=\"ba-auto-assign__success-heading\">\n\t\t\t\t\tCancel setting up instance?\n\t\t\t\t</div>\n\t\t\t\t<p className=\"ba-auto-assign__subtext\">\n\t\t\t\t\tYou'll need to manually request an instance later\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div className=\"ba-auto-assign__cancel-actions\">\n\t\t\t<now-button\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tsize=\"md\"\n\t\t\t\tlabel=\"Cancel setup\"\n\t\t\t\ton-click={() =>\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.BA_AUTO_ASSIGN_CANCEL\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t/>\n\t\t\t<now-button\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tsize=\"md\"\n\t\t\t\tlabel=\"Continue setup\"\n\t\t\t\ton-click={() =>\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.BA_AUTO_ASSIGN_RESUME\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t/>\n\t\t</div>\n\t</div>\n);\n\nconst renderWaitlistedBody = (selectedRelease, releaseInfo, dispatch) => {\n\tconst releaseDisplay =\n\t\treleaseInfo?.activeVersionsFormatted?.[selectedRelease?.toLowerCase()] ||\n\t\ttitleCase(selectedRelease || '');\n\n\treturn (\n\t\t<div className=\"ba-auto-assign ba-auto-assign--compact\">\n\t\t\t<div className=\"ba-auto-assign__info-group\">\n\t\t\t\t<div className=\"ba-auto-assign__large-icon ba-auto-assign__large-icon--waitlisted\">\n\t\t\t\t\t<img src={waitlistedCheckIcon} alt=\"\" width=\"40\" height=\"40\" />\n\t\t\t\t</div>\n\t\t\t\t<div className=\"ba-auto-assign__info-text\">\n\t\t\t\t\t<div className=\"ba-auto-assign__success-heading\">\n\t\t\t\t\t\t{releaseDisplay\n\t\t\t\t\t\t\t? `You're on the waitlist for ${releaseDisplay}!`\n\t\t\t\t\t\t\t: \"You're on the waitlist!\"}\n\t\t\t\t\t</div>\n\t\t\t\t\t<p className=\"ba-auto-assign__subtext\">\n\t\t\t\t\t\tWe'll assign you an instance as soon as one becomes\n\t\t\t\t\t\tavailable.\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div className=\"ba-auto-assign__cancel-actions\">\n\t\t\t\t<now-button\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tlabel=\"Leave waitlist\"\n\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\tdispatch('DPS_CONFIRMATION_LEAVE_WAIT_LIST_CLICK')\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<now-button\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tlabel=\"Close\"\n\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.BA_AUTO_ASSIGN_DISMISS\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nconst renderSuccessBody = (selectedFamily, labels, dispatch) => (\n\t<div className=\"ba-auto-assign\">\n\t\t<div className=\"ba-auto-assign__progress-area\">\n\t\t\t<div className=\"ba-auto-assign__steps ba-auto-assign__steps--completed\">\n\t\t\t\t{STEP_ORDER.map((stepKey, idx) =>\n\t\t\t\t\trenderStep(\n\t\t\t\t\t\tstepKey,\n\t\t\t\t\t\t'done',\n\t\t\t\t\t\tidx,\n\t\t\t\t\t\tSTEP_ORDER.length,\n\t\t\t\t\t\tselectedFamily,\n\t\t\t\t\t\tlabels\n\t\t\t\t\t)\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t<div className=\"ba-auto-assign__success-info\">\n\t\t\t\t<p className=\"ba-auto-assign__subtext\">\n\t\t\t\t\tA personal instance will be setup with database, plugins, and\n\t\t\t\t\tother configurations for you. This process can take a few\n\t\t\t\t\tminutes.\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t\t<div className=\"ba-auto-assign__success-actions\">\n\t\t\t\t<now-button\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\ticon=\"serverbox-outline\"\n\t\t\t\t\tlabel=\"Manage instance\"\n\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.BA_AUTO_ASSIGN_MANAGE\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<now-button\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\ticon=\"open-link-right-outline\"\n\t\t\t\t\tlabel=\"Start building\"\n\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.BA_AUTO_ASSIGN_START_BUILDING\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n);\n\nconst renderErrorBody = (title, subtitle, dispatch) => (\n\t<div className=\"ba-auto-assign ba-auto-assign--compact\">\n\t\t<div className=\"ba-auto-assign__info-group\">\n\t\t\t<div className=\"ba-auto-assign__large-icon ba-auto-assign__large-icon--error\">\n\t\t\t\t<now-icon icon=\"circle-close-outline\" size=\"xl\" />\n\t\t\t</div>\n\t\t\t<div className=\"ba-auto-assign__info-text\">\n\t\t\t\t<div className=\"ba-auto-assign__success-heading\">\n\t\t\t\t\t{title}\n\t\t\t\t</div>\n\t\t\t\t<p className=\"ba-auto-assign__subtext\">\n\t\t\t\t\t{subtitle}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t</div>\n\t\t<div className=\"ba-auto-assign__cancel-actions\">\n\t\t\t<now-button\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\tsize=\"md\"\n\t\t\t\tlabel=\"Close\"\n\t\t\t\ton-click={() =>\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.BA_AUTO_ASSIGN_CLOSE_ERROR\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t/>\n\t\t</div>\n\t</div>\n);\n\nconst renderWakeupProgressBody = (phase, displayTips, activeTipIndex, goToPrev, goToNext, showTips) => {\n\tconst activeTip = displayTips[activeTipIndex] || displayTips[0];\n\n\treturn (\n\t\t<div className=\"ba-auto-assign\">\n\t\t\t<div className=\"ba-auto-assign__progress-area\">\n\t\t\t\t<div className=\"ba-auto-assign__steps ba-auto-assign__steps--in-progress\">\n\t\t\t\t\t{WAKEUP_STEP_ORDER.map((stepKey, idx) =>\n\t\t\t\t\t\trenderStep(\n\t\t\t\t\t\t\tstepKey,\n\t\t\t\t\t\t\twakeupStepStatus(stepKey, phase),\n\t\t\t\t\t\t\tidx,\n\t\t\t\t\t\t\tWAKEUP_STEP_ORDER.length,\n\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\tWAKEUP_STEP_LABELS\n\t\t\t\t\t\t)\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t<p className=\"ba-auto-assign__subtext\">\n\t\t\t\t\tYour instance went to sleep due to inactivity. Once its\n\t\t\t\t\tconfiguration is restored, you will be transferred to\n\t\t\t\t\tin-platform experience. This process can take a few minutes. We will notify you when your instance is ready.\n\t\t\t\t</p>\n\t\t\t</div>\n\n\t\t\t{showTips && displayTips.length > 0 && activeTip && (\n\t\t\t\t<div className=\"ba-auto-assign__tips\">\n\t\t\t\t\t<div className=\"ba-auto-assign__tips-label\">Prompting tips</div>\n\t\t\t\t\t<div className=\"ba-auto-assign__tips-card\">\n\t\t\t\t\t\t<div className=\"ba-auto-assign__tips-card-header\">\n\t\t\t\t\t\t\t<div className=\"ba-auto-assign__tips-heading\">\n\t\t\t\t\t\t\t\t{activeTip.title}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"ba-auto-assign__tips-caption\">\n\t\t\t\t\t\t\t\t{activeTip.description}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"ba-auto-assign__tips-nav\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"ba-auto-assign__tips-nav-btn ba-auto-assign__tips-nav-btn--prev\"\n\t\t\t\t\t\t\ton-click={goToPrev}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<now-icon icon=\"circle-chevron-left-outline\" size=\"lg\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"ba-auto-assign__tips-nav-dots\">\n\t\t\t\t\t\t\t{displayTips.map((_, dotIdx) => (\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName={`ba-auto-assign__tips-nav-dot${\n\t\t\t\t\t\t\t\t\t\tdotIdx === activeTipIndex\n\t\t\t\t\t\t\t\t\t\t\t? ' ba-auto-assign__tips-nav-dot--active'\n\t\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"ba-auto-assign__tips-nav-btn ba-auto-assign__tips-nav-btn--next\"\n\t\t\t\t\t\t\ton-click={goToNext}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<now-icon icon=\"circle-chevron-right-outline\" size=\"lg\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport const baAutoAssignView = (state, { dispatch, updateState }) => {\n\tconst {\n\t\topened,\n\t\tbaAutoAssignPhase = 'searching',\n\t\tselectedFamily = '',\n\t\tselectedRelease = '',\n\t\tpromptingTips = [],\n\t\treleaseInfo,\n\t\tsystemProperties,\n\t\tisBuildAgentExperience = false,\n\t\tshowTips: showTipsProp = true\n\t} = state.properties;\n\n\tconst phase = baAutoAssignPhase;\n\tconst config = PHASE_MODAL_CONFIG[phase] || PHASE_MODAL_CONFIG.searching;\n\tconst labels = isBuildAgentExperience ? STEP_LABELS : NON_BA_STEP_LABELS;\n\n\tconst shouldShowTips =\n\t\tisBuildAgentExperience &&\n\t\t(showTipsProp || (phase !== 'redirecting' && phase !== 'wakeup-restored'));\n\n\n\tconst { activeTipIndex = 0 } = state;\n\tconst displayTips = promptingTips || [];\n\n\tconst goToPrev = () => {\n\t\tupdateState({\n\t\t\tactiveTipIndex:\n\t\t\t\t(activeTipIndex - 1 + displayTips.length) % displayTips.length\n\t\t});\n\t};\n\n\tconst goToNext = () => {\n\t\tupdateState({\n\t\t\tactiveTipIndex: (activeTipIndex + 1) % displayTips.length\n\t\t});\n\t};\n\n\tconst availableVersions = releaseInfo?.availableVersions || [];\n\tconst allReleases = getAllReleasesInOrder(systemProperties);\n\n\tconst nonBaVersions = availableVersions\n\t\t.filter(v => !isZurichOrNewer(v.toLowerCase(), systemProperties))\n\t\t.map(v => v.toLowerCase())\n\t\t.sort((a, b) => allReleases.indexOf(b) - allReleases.indexOf(a));\n\tconst nonBaVersion = nonBaVersions[0] || '';\n\tconst nonBaVersionDisplay =\n\t\treleaseInfo?.activeVersionsFormatted?.[nonBaVersion] ||\n\t\ttitleCase(nonBaVersion);\n\n\tconst latestRelease = releaseInfo?.latestRelease || '';\n\tconst latestReleaseDisplay =\n\t\treleaseInfo?.activeVersionsFormatted?.[latestRelease?.toLowerCase()] ||\n\t\ttitleCase(latestRelease);\n\n\tlet body = null;\n\n\tif (isProgressPhase(phase)) {\n\t\tbody = renderProgressBody(\n\t\t\tphase,\n\t\t\tselectedFamily,\n\t\t\tdisplayTips,\n\t\t\tactiveTipIndex,\n\t\t\tgoToPrev,\n\t\t\tgoToNext,\n\t\t\tlabels,\n\t\t\tshouldShowTips,\n\t\t\tisBuildAgentExperience\n\t\t);\n\t} else if (phase === 'no-ba-versions') {\n\t\tbody = renderNoBaVersionsBody(\n\t\t\tnonBaVersion,\n\t\t\tnonBaVersionDisplay,\n\t\t\tlatestRelease,\n\t\t\tlatestReleaseDisplay,\n\t\t\tdispatch\n\t\t);\n\t} else if (phase === 'no-instances') {\n\t\tbody = renderNoInstancesBody(latestRelease, latestReleaseDisplay, dispatch);\n\t} else if (phase === 'cancel-confirm') {\n\t\tbody = renderCancelConfirmBody(dispatch);\n\t} else if (phase === 'success') {\n\t\tbody = renderSuccessBody(selectedFamily, labels, dispatch);\n\t} else if (phase === 'waitlisted') {\n\t\tbody = renderWaitlistedBody(\n\t\t\tselectedRelease,\n\t\t\treleaseInfo,\n\t\t\tdispatch\n\t\t);\n\t} else if (phase === 'instance-assignment-failure') {\n\t\tbody = renderErrorBody(\n\t\t\t'Instance setup failed',\n\t\t\t'Something went wrong while setting up your instance.',\n\t\t\tdispatch\n\t\t);\n\t} else if (isWakeupProgressPhase(phase)) {\n\t\tbody = renderWakeupProgressBody(\n\t\t\tphase,\n\t\t\tdisplayTips,\n\t\t\tactiveTipIndex,\n\t\t\tgoToPrev,\n\t\t\tgoToNext,\n\t\t\tshouldShowTips\n\t\t);\n\t} else if (phase === 'wakeup-failure') {\n\t\tbody = renderErrorBody(\n\t\t\t'Instance wake-up failed',\n\t\t\t'Something went wrong while waking up your instance.',\n\t\t\tdispatch\n\t\t);\n\t}\n\n\tconst modalSize = config.modalSize || 'lg';\n\n\treturn (\n\t\t<div className={config.modalClassName}>\n\t\t\t<now-modal\n\t\t\t\tcomponent-name=\"BA_AUTO_ASSIGN_MODAL\"\n\t\t\t\topened={opened}\n\t\t\t\tmanage-opened\n\t\t\t\tsize={modalSize}\n\t\t\t\tcustom-size={config.customSize}\n\t\t\t\theader-label={config.headerLabel}\n\t\t\t\tfooter-actions={config.footerActions}\n\t\t\t\tdisableClose={config.disableClose || false}\n\t\t\t>\n\t\t\t\t{body}\n\t\t\t</now-modal>\n\t\t</div>\n\t);\n};\n","import { CONSTANTS } from '../../constants';\nimport { makeHttpEffectCreator, formatSysParam } from '../../utils/helpers';\nimport { SessionService } from '../../utils/sessionService';\nimport { APP_ACTIONS } from '../dps-app/actions';\nimport { DPS_INSTANCE_ASSIGNMENT_MODAL } from './actions';\n\nlet restoreBackupPoll;\n\nexport const restoreBackup = makeHttpEffectCreator(\n\tDPS_INSTANCE_ASSIGNMENT_MODAL.RESTORE_BACKUP,\n\tCONSTANTS.ENDPOINTS.DEV_PORTAL_URI,\n\t{\n\t\tbatch: false,\n\t\theaders: { 'X-UserToken': SessionService.getHeaderUserToken() },\n\t\tmethod: 'GET',\n\t\tqueryParams: ['sysparm_data'],\n\t\tonSuccess(coeffects) {\n\t\t\tconst { state, updateProperties, action, dispatch } = coeffects;\n\t\t\tconst {\n\t\t\t\tstatus\n\t\t\t} = action.payload;\n\t\t\tif (status === 'FAIL') {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tisProcessing: true,\n\t\t\t\t\tscreen: 'assignmentFailed',\n\t\t\t\t\tselectedRelease: ''\n\t\t\t\t});\n\t\t\t\tdispatch(APP_ACTIONS.UPDATE_INSTANCE_STATE, { direct_wake_up: false });\n\t\t\t}else if (status === 'SUCCESS') {\n\t\t\t\trestoreBackupPoll = setInterval(() => {\n\t\t\t\t\tconst sysparm_data = formatSysParam('instance.ops.get_instance_info', {\n\t\t\t\t\t\tdirect_wake_up: true\n\t\t\t\t\t});\n\t\t\t\t\tdispatch(APP_ACTIONS.GET_INSTANCE_INFO, { sysparm_data });\n\t\t\t\t}, parseInt(state.properties.systemProperties['dev.instance.restore.poll_interval'])* 60 * 1000);\n\t\t\t}\n\t\t}\n\t}\n);\n\n\nexport const getInstanceInfo = makeHttpEffectCreator(\n\tDPS_INSTANCE_ASSIGNMENT_MODAL.GET_INSTANCE_INFO,\n\tCONSTANTS.ENDPOINTS.DEV_PORTAL_URI,\n\t{\n\t\tbatch: false,\n\t\theaders: { 'X-UserToken': SessionService.getHeaderUserToken() },\n\t\tmethod: 'GET',\n\t\tqueryParams: ['sysparm_data'],\n\t\tonSuccess(coeffects) {\n\t\t\tconst { dispatch, updateProperties, action } = coeffects;\n\t\t\tif (action.payload.instanceInfo.restoration_progress === 'Error') {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tisProcessing: true,\n\t\t\t\t\tscreen: 'assignmentFailed',\n\t\t\t\t\tselectedRelease: ''\n\t\t\t\t});\n\t\t\t\tclearInterval(restoreBackupPoll);\n\t\t\t} else if (action.payload.instanceInfo.restoration_progress === 'Complete') {\n\t\t\t\tclearInterval(restoreBackupPoll);\n\t\t\t\tconst sysparm_data = formatSysParam(CONSTANTS.DEV_PORTAL_ACTIONS.GET_INSTANCE_INFO, {\n\t\t\t\t\tdirect_wake_up: false\n\t\t\t\t});\n\t\t\t\tdispatch(APP_ACTIONS.GET_INSTANCE_INFO, {sysparm_data});\n\t\t\t}\n\t\t}\n\t}\n);\n","/* eslint-disable no-param-reassign */\nimport { actionTypes } from '@servicenow/ui-core';\nimport { devPortalGetHttpEffect, formatSysParam } from '../../utils/helpers';\nimport {\n\tCONSTANTS,\n\tDPS_TOAST_ALERT_TYPES\n} from '../../constants';\nimport { createHttpEffect } from '@servicenow/ui-effect-http';\nimport { DPS_INSTANCE_ASSIGNMENT_MODAL } from './actions';\nimport { restoreBackup, getInstanceInfo } from './handleBackupRestore';\nimport { APP_ACTIONS } from '../dps-app/actions';\nimport { get, isEmpty } from 'lodash';\nimport { getUserInfo } from '../dps-app/actionHelpers';\nimport { DPS_TOAST_ALERT_ACTIONS } from '../../components/dps-toast-alert/actions';\nimport { getReleaseAvailabilityMap } from \"./cxupdated/helpers\";\nimport { ROUTES, updateRoute } from '../../routes';\nimport { isZurichOrNewer, getAllReleasesInOrder } from '../../utils/releaseHelpers';\nimport { titleCase } from '../../utils/case';\nimport { snHttpFactory } from 'sn-http-request';\nimport { SessionService } from '../../utils/sessionService';\nimport { triggerQualtricsAPI } from '../../utils/qualtricsSurveyTrigger';\n\nconst snHttp = snHttpFactory({ batching: false });\n\nconst { COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED } = actionTypes;\n\nlet instanceAssignmentPollCount = 0,\n\tassignReqID = '',\n\tbaAttemptedFamily = '',\n\tbaPhaseBeforeCancel = '',\n\tbaBackgroundPhase = '',\n\tbaRedirectPending = false,\n\tbaAwaitingInstanceCheck = false,\n\tpendingSurveyInstanceDetails = null;\n\n// HTTP Effect creators for survey status management (hybrid approach)\nconst checkQualtricsSurveyStatusHttpEffect = createHttpEffect(\n\t'/api/snc/v1/dev_instance/qualtrics/survey-status',\n\t{\n\t\tbatch: false,\n\t\tmethod: 'GET',\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json',\n\t\t\t'X-UserToken': SessionService.getHeaderUserToken()\n\t\t},\n\t\terrorActionType: DPS_INSTANCE_ASSIGNMENT_MODAL.CHECK_QUALTRICS_SURVEY_STATUS_FAILED,\n\t\tsuccessActionType: DPS_INSTANCE_ASSIGNMENT_MODAL.CHECK_QUALTRICS_SURVEY_STATUS_SUCCEEDED\n\t}\n);\n\nconst saveQualtricsSurveyStatusHttpEffect = createHttpEffect(\n\t'/api/snc/v1/dev_instance/qualtrics/survey-status',\n\t{\n\t\tbatch: false,\n\t\tmethod: 'POST',\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json',\n\t\t\t'X-UserToken': SessionService.getHeaderUserToken()\n\t\t},\n\t\terrorActionType: DPS_INSTANCE_ASSIGNMENT_MODAL.SAVE_QUALTRICS_SURVEY_STATUS_FAILED,\n\t\tsuccessActionType: DPS_INSTANCE_ASSIGNMENT_MODAL.SAVE_QUALTRICS_SURVEY_STATUS_SUCCEEDED\n\t}\n);\n\nconst openFeedback = dispatch => {\n\tdispatch(APP_ACTIONS.GIVE_GENERAL_FEEDBACK, {\n\t\tsubmittedFrom: CONSTANTS.DEFAULTS.FEEDBACK_FORM_SUBMITTED_FROM_ALERT,\n\t\ttype: 'DPS_BUTTON#GIVE_GENERAL_FEEDBACK'\n\t});\n};\n\nlet pendingErrorToastTimer = null;\n\nconst showInstanceAssignmentFailedToast = ({\n\tdispatch,\n\tproperties,\n\tstate,\n\tupdateState\n}) => {\n\tconst { systemProperties, isInstanceRequestDuplicate } = properties;\n\tconst alertId = `alert-${Date.now()}`\n\tlet errorMessage = isInstanceRequestDuplicate\n\t\t? systemProperties['dev.instance.duplicate_request_error_msg']\n\t\t: systemProperties['dev.error_msg_instance_assignment'];\n\n\t// Assign a special \"id\" to the buttons within the alerts which\n\t// gets picked up by dps-toast-alert and launched a dispatch to dps-app\n\t// to do the desired behavior\n\tconst openFeedBackLink = (\n\t\t<dps-button\n\t\t\tlabel=\" contact us\"\n\t\t\tlink-style\n\t\t\tid=\"alert_open_feedback\"\n\t\t>\n\t\t\t{' '}\n\t\t</dps-button>\n\t);\n\n\tconst addRetryLink = (\n\t\t<dps-button\n\t\t\tlabel=\"retry now\"\n\t\t\tlink-style\n\t\t\tid=\"alert_open_instance_assignment_modal\"\n\t\t>\n\t\t\t{' '}\n\t\t</dps-button>\n\t);\n\n\terrorMessage = errorMessage.split(' ');\n\terrorMessage.forEach((item, index) => {\n\t\terrorMessage[index] = item + ' ';\n\t\tif (item === '$retry_now') {\n\t\t\terrorMessage[index] = addRetryLink;\n\t\t} else if (item === '$contact_us') {\n\t\t\terrorMessage[index] = openFeedBackLink;\n\t\t}\n\t});\n\n\tif (pendingErrorToastTimer) {\n\t\tclearTimeout(pendingErrorToastTimer);\n\t\tpendingErrorToastTimer = null;\n\t}\n\n\tconst showErrorToast = () => {\n\t\tpendingErrorToastTimer = null;\n\t\tdispatch('DPS_TOAST_ALERT', {\n\t\t\tautoDismiss: false,\n\t\t\tclosable: true,\n\t\t\tmessage: errorMessage,\n\t\t\tid: alertId,\n\t\t\ttype: DPS_TOAST_ALERT_TYPES.ERROR\n\t\t});\n\t\t// Reuse app-level instanceRequestAlertId to track this toast\n\t\t// so it can be dismissed on leave waitlist (persists across modal unmount).\n\t\tdispatch(APP_ACTIONS.SET_INSTSANCE_REQUEST_ALERT_ID, { instanceRequestAlertId: alertId });\n\t};\n\n\t// Clear processing toast; defer error toast past the 1050ms dismiss animation\n\t// (in handleToastDisplay.js) so both are never visible at the same time.\n\tif (state.instanceRequestAlertId) {\n\t\tdispatch(DPS_TOAST_ALERT_ACTIONS.ALERT_DISMISSED, { id: state.instanceRequestAlertId });\n\t\tupdateState({ path: 'instanceRequestAlertId', value: null, operation: 'set' });\n\t\tpendingErrorToastTimer = setTimeout(showErrorToast, 1100);\n\t} else {\n\t\tshowErrorToast();\n\t}\n};\n\nfunction handleAddToWaitlist({ action, dispatch }) {\n\tconst releaseRequested = action.payload.selectedRelease;\n\tconst sysparm_data = formatSysParam(\n\t\tCONSTANTS.DEV_PORTAL_ACTIONS.DASHBOARD_QUEUE_REQUEST,\n\t\t{ releaseRequested }\n\t);\n\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.ADD_TO_WAITLIST_REQUEST, {\n\t\tsysparm_data\n\t});\n}\n\nconst handleAddToWaitlistRequest = devPortalGetHttpEffect({\n\terrorActionType: DPS_INSTANCE_ASSIGNMENT_MODAL.ADD_TO_WAITLIST_FAILED,\n\tsuccessActionType: DPS_INSTANCE_ASSIGNMENT_MODAL.ADD_TO_WAITLIST_SUCCEEDED\n});\nfunction handleAddToWaitlistFailed({ dispatch, properties, updateProperties }) {\n\tif (properties.screen === 'autoAssignBA') {\n\t\tupdateProperties({ baAutoAssignPhase: 'instance-assignment-failure' });\n\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.GET_INSTANCE_INFO_POST_INSTANCE_REQUEST);\n\t\treturn;\n\t}\n\tif (properties && properties.systemProperties) {\n\t\tupdateProperties({\n\t\t\terrorMessage: properties.systemProperties['dev.catch_all.error_message']\n\t\t});\n\t} else {\n\t\tupdateProperties({\n\t\t\terrorMessage: 'Something went wrong, please try again'\n\t\t});\n\t}\n\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.SET_MODAL, { opened: false });\n\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.GET_INSTANCE_INFO_POST_INSTANCE_REQUEST);\n}\nfunction handleAddToWaitlistSucceeded({ action, dispatch, updateProperties, properties }) {\n\tif (\n\t\taction.payload.data.message ===\n\t\t'You have successfully been added to the Wait List'\n\t) {\n\t\tconst isBaAutoAssignFlow = properties.screen === 'autoAssignBA' && properties.isBuildAgentExperience;\n\t\tif (properties.isRequestInstanceFailed) {\n\t\t\tupdateProperties({ screen: 'requestInstanceFailed', loaded: true, opened: true });\n\t\t} else if (isBaAutoAssignFlow) {\n\t\t\tupdateProperties({ baAutoAssignPhase: 'waitlisted', errorMessage: '' });\n\t\t}\n\t\telse {\n\t\t\tupdateProperties({ screen: 'waitlisted', errorMessage: '', loaded: true, waitlistView: false });\n\t\t}\n\t\tconst sysparm_data = formatSysParam(\n\t\t\tCONSTANTS.DEV_PORTAL_ACTIONS.GET_INSTANCE_INFO,\n\t\t\t{\n\t\t\t\tdirect_wake_up: false\n\t\t\t}\n\t\t);\n\t\tdispatch(APP_ACTIONS.GET_INSTANCE_INFO, { sysparm_data });\n\t} else {\n\t\thandleAddToWaitlistFailed({ dispatch, properties, updateProperties });\n\t}\n}\n\nfunction handleLeaveWaitlist({ properties, dispatch }) {\n\tif (pendingErrorToastTimer) {\n\t\tclearTimeout(pendingErrorToastTimer);\n\t\tpendingErrorToastTimer = null;\n\t}\n\t// Mirror leaveInstanceViewModal which uses instanceInfo.release as the authoritative source\n\tconst release = properties.selectedRelease || properties.instanceInfo?.release || '';\n\tconst sysparm_data = formatSysParam(\n\t\tCONSTANTS.DEV_PORTAL_ACTIONS.DASHBOARD_LEAVE_QUEUE,\n\t\t{ release }\n\t);\n\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.LEAVE_WAITLIST_REQUEST, {\n\t\tsysparm_data\n\t});\n}\n\nconst handleLeaveWaitlistRequest = devPortalGetHttpEffect({\n\terrorActionType: DPS_INSTANCE_ASSIGNMENT_MODAL.LEAVE_WAITLIST_FAILED,\n\tsuccessActionType: DPS_INSTANCE_ASSIGNMENT_MODAL.LEAVE_WAITLIST_SUCCEEDED\n});\nfunction handleLeaveWaitlistFailed({ properties, updateProperties }) {\n\tif (properties && properties.systemProperties) {\n\t\tupdateProperties({\n\t\t\terrorMessage: properties.systemProperties['dev.catch_all.error_message']\n\t\t});\n\t} else {\n\t\tupdateProperties({\n\t\t\terrorMessage: 'Something went wrong, please try again'\n\t\t});\n\t}\n}\nfunction handleLeaveWaitlistSucceeded({ updateProperties, dispatch, properties }) {\n\tconst isBaAutoAssignFlow = properties.screen === 'autoAssignBA';\n\n\t// Capture the release before instanceInfo gets refreshed below.\n\tconst leftRelease =\n\t\tproperties.selectedRelease || properties.instanceInfo?.release || '';\n\tconst releaseDisplay =\n\t\tproperties.releaseInfo?.activeVersionsFormatted?.[\n\t\tleftRelease?.toLowerCase()\n\t\t] || leftRelease;\n\tdispatch(APP_ACTIONS.DPS_TOAST_ALERT, {\n\t\ttype: 'SUCCESS',\n\t\tmessage: releaseDisplay\n\t\t\t? `You've left the waitlist for ${releaseDisplay} instance.`\n\t\t\t: `You've left the waitlist for an instance.`,\n\t\tactionLabel: 'Ok',\n\t\tautoDismiss: false,\n\t\tuseNowAlert: true\n\t});\n\n\tconst sysparm_data = formatSysParam(\n\t\tCONSTANTS.DEV_PORTAL_ACTIONS.GET_INSTANCE_INFO,\n\t\t{\n\t\t\tdirect_wake_up: false\n\t\t}\n\t);\n\tdispatch(APP_ACTIONS.GET_INSTANCE_INFO, { sysparm_data });\n\n\tif (isBaAutoAssignFlow) {\n\t\tupdateProperties({\n\t\t\tscreen: '',\n\t\t\tbaAutoAssignPhase: 'searching',\n\t\t\tselectedFamily: '',\n\t\t\terrorMessage: ''\n\t\t});\n\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.SET_MODAL, { opened: false });\n\t} else {\n\t\tupdateProperties({ screen: 'request', errorMessage: '' });\n\t\tdispatch('DPS_MODAL#OPENED_SET', { value: false });\n\t}\n}\n\nfunction handleUserInWaitlist({ dispatch }) {\n\tconst sysparm_data = formatSysParam(\n\t\tCONSTANTS.DEV_PORTAL_ACTIONS.DASHBOARD_USER_IN_QUEUE,\n\t\t{ release: 'none' }\n\t);\n\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.USER_IN_WAITLIST_REQUEST, {\n\t\tsysparm_data\n\t});\n}\n\nconst handleUserInWaitlistRequest = devPortalGetHttpEffect({\n\terrorActionType: DPS_INSTANCE_ASSIGNMENT_MODAL.USER_IN_WAITLIST_FAILED,\n\tsuccessActionType: DPS_INSTANCE_ASSIGNMENT_MODAL.USER_IN_WAITLIST_SUCCEEDED\n});\n\nconst restoreBackupInitiated = ({ dispatch, action, updateProperties }) => {\n\tupdateProperties({\n\t\tisProcessing: true,\n\t\tscreen: 'processing',\n\t\tselectedRelease: ''\n\t});\n\tconst release = get(action, 'payload.instance.release.name', null);\n\tconst sysparm_data = formatSysParam(\n\t\tCONSTANTS.DEV_PORTAL_ACTIONS.BACKUP_INSTANCE,\n\t\t{\n\t\t\tselectedBkp: action.payload,\n\t\t\trelease: action.payload.instance.release.name\n\t\t}\n\t);\n\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.RESTORE_BACKUP, { sysparm_data });\n\tdispatch(APP_ACTIONS.SHOW_PROVISIONING_INSTANCE, { restore: true, release });\n};\n\nfunction handleUserInWaitlistFailed({\n\tdispatch\n}) {\n\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.SET_MODAL, { opened: false });\n}\n\nfunction handleUserInWaitlistSucceeded({\n\taction,\n\tupdateProperties,\n\tproperties,\n\tdispatch\n}) {\n\tconst { userInfo } = properties;\n\tif (action.payload?.data?.value) {\n\t\tupdateProperties({ loaded: true, screen: 'leave', errorMessage: '' });\n\t} else {\n\t\tif (userInfo && userInfo.userType === CONSTANTS.DEFAULTS.PRISTINE_USER) {\n\t\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.CHECK_LATEST_RELEASE_AVAILABILITY);\n\t\t} else {\n\t\t\tupdateProperties({ loaded: true, screen: 'request', errorMessage: '' });\n\t\t}\n\t}\n}\n\nfunction handleRequestInstanceClicked({ dispatch, action, updateProperties, updateState, properties }) {\n\tconst isBaAutoAssignFlow = properties.screen === 'autoAssignBA';\n\n\tif (isBaAutoAssignFlow) {\n\t\tbaAwaitingInstanceCheck = false;\n\t\tbaAttemptedFamily = action.payload.selectedRelease;\n\n\t\tif (action.payload.isBuildAgentExperience !== undefined) {\n\t\t\tupdateProperties({\n\t\t\t\tisBuildAgentExperience: action.payload.isBuildAgentExperience\n\t\t\t});\n\t\t}\n\n\t\tconst sysparm_data = formatSysParam(\n\t\t\tCONSTANTS.DEV_PORTAL_ACTIONS.SEND_INSTANCE_REQUEST_DATA,\n\t\t\t{ family: action.payload.selectedRelease,\n                requested_from: 'build_agent_create'\n\t\t\t}\n\t\t);\n\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.SEND_INSTANCE_REQUEST_DATA, {\n\t\t\tsysparm_data\n\t\t});\n\t\tdispatch(APP_ACTIONS.SHOW_PROVISIONING_INSTANCE);\n\t\treturn;\n\t}\n\n\tconst isMVP = properties?.instanceInfo?.policy?.isMVP;\n\tconst showReclaimPolicy =\n\t\tproperties?.systemProperties?.['dev.enable.reclaimpolicy'] === 'true' &&\n\t\t!isMVP;\n\tif (!showReclaimPolicy) {\n\t\tstartInstanceProvisioning({ dispatch, updateProperties, selectedRelease: action.payload.selectedRelease, isBuildAgentExperience: action.payload.isBuildAgentExperience });\n\t\treturn;\n\t}\n\n\tupdateProperties({\n\t\tscreen: 'reviewPolicy',\n\t\tselectedFamily: action.payload.selectedRelease,\n\t\tpolicyAcknowledged: false\n\t});\n}\n\nfunction startInstanceProvisioning({ dispatch, updateProperties, selectedRelease, isBuildAgentExperience }) {\n\tbaAttemptedFamily = selectedRelease;\n\tupdateProperties({\n\t\tscreen: 'autoAssignBA',\n\t\tbaAutoAssignPhase: 'configuring',\n\t\tselectedFamily: selectedRelease,\n\t\tisBuildAgentExperience: !!isBuildAgentExperience,\n\t\tisRequestInstanceFailed: false\n\t});\n\tconst sysparm_data = formatSysParam(\n\t\tCONSTANTS.DEV_PORTAL_ACTIONS.SEND_INSTANCE_REQUEST_DATA,\n\t\t{\n\t\t\tfamily: selectedRelease,\n            requested_from: 'request_instance'\n\t\t}\n\t);\n\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.SEND_INSTANCE_REQUEST_DATA, {\n\t\tsysparm_data\n\t});\n}\n\nfunction handleConfirmInstancePolicy({ dispatch, action, updateProperties }) {\n\tstartInstanceProvisioning({ dispatch, updateProperties, selectedRelease: action.payload.selectedRelease, isBuildAgentExperience: action.payload.isBuildAgentExperience });\n}\n\nconst handleUserInstanceRequest = devPortalGetHttpEffect({\n\terrorActionType: DPS_INSTANCE_ASSIGNMENT_MODAL.INSTANCE_REQUEST_ERRORRED,\n\tsuccessActionType: DPS_INSTANCE_ASSIGNMENT_MODAL.INSTANCE_REQUEST_SUCCESSED\n});\n\nfunction handleRequestInstanceDetailsSuccess(coeffects) {\n\tconst {\n\t\taction,\n\t\tdispatch,\n\t\tproperties,\n\t\tstate,\n\t\tupdateProperties,\n\t\tupdateState\n\t} = coeffects;\n\tconst { userInfo } = properties;\n\tconst isBaAutoAssignFlow = properties.screen === 'autoAssignBA';\n\tconst result = action.payload;\n\n\tif (result.status === 'SUCCESS') {\n\t\tif (result.req_id) {\n\t\t\t// POLLING FLOW: Instance being provisioned, poll for status\n\t\t\tassignReqID = result.req_id;\n\t\t\tif (isBaAutoAssignFlow) {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tbaAutoAssignPhase: 'configuring',\n\t\t\t\t\tselectedFamily: baAttemptedFamily || ''\n\t\t\t\t});\n\t\t\t}\n\t\t\tdispatch(\n\t\t\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.INSTANCE_ASSIGNMENT_REQUEST_STATUS\n\t\t\t);\n\t\t} else if (result.loginURL) {\n\t\t\tif (isBaAutoAssignFlow) {\n\t\t\t\tbaAwaitingInstanceCheck = true;\n\t\t\t\tupdateProperties({\n\t\t\t\t\tbaAutoAssignPhase: 'configuring',\n\t\t\t\t\tselectedFamily: baAttemptedFamily || ''\n\t\t\t\t});\n\t\t\t}\n\t\t\tdispatch(\n\t\t\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.PDI_PROVISIONING_SUCCESS_CUSTOM_HOOK,\n\t\t\t\t{\n\t\t\t\t\tinstanceDetails: {\n\t\t\t\t\t\tloginURL: result.loginURL,\n\t\t\t\t\t\tdisplayURL: result.loginURL.slice(\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\tresult.loginURL.indexOf('/login')\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t\tdispatch(\n\t\t\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.GET_INSTANCE_INFO_POST_INSTANCE_REQUEST\n\t\t\t);\n\t\t}\n\t} else {\n\t\tinstanceAssignmentPollCount = 0;\n\t\tassignReqID = '';\n\t\tconst selectedRelease = properties.selectedRelease || baAttemptedFamily;\n\t\tif (selectedRelease) {\n\t\t\t// The instanceInfo refetch (and modal close) is deferred to ADD_TO_WAITLIST_SUCCEEDED/FAILED\n\t\t\t// so it never races the in-flight waitlist HTTP call — firing GET_INSTANCE_INFO in parallel\n\t\t\t// with ADD_TO_WAITLIST can read the server before the waitlist write commits, clobbering\n\t\t\t// the optimistic 'waitlist' state with stale data.\n\t\t\tdispatch(APP_ACTIONS.OVERRIDE_INSTANCE_STATUS, { status: 'waitlist', release: selectedRelease });\n\t\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.ADD_TO_WAITLIST, { selectedRelease });\n\t\t\tupdateProperties({ isRequestInstanceFailed: true })\n\t\t} else {\n\t\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.SET_MODAL, { opened: false });\n\t\t\tdispatch(\n\t\t\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.GET_INSTANCE_INFO_POST_INSTANCE_REQUEST\n\t\t\t);\n\t\t\tif (!properties.isRequestInstanceFailed) {\n\t\t\t\tshowInstanceAssignmentFailedToast({\n\t\t\t\t\tdispatch,\n\t\t\t\t\tproperties,\n\t\t\t\t\tstate,\n\t\t\t\t\tupdateState\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.REQUEST_INSTANCE_AVAILABILITY_COUNT);\n\t}\n\n\tif (userInfo && userInfo.userType === CONSTANTS.DEFAULTS.PRISTINE_USER) {\n\t\tgetUserInfo(dispatch);\n\t}\n}\n\nfunction handleRequestInstanceDetailsFailed({\n\tdispatch,\n\tproperties,\n\tupdateProperties,\n\tstate,\n\tupdateState\n}) {\n\tconst { userInfo } = properties;\n\tinstanceAssignmentPollCount = 0;\n\tassignReqID = '';\n\n\tconst selectedRelease = properties.selectedRelease || baAttemptedFamily;\n\tif (selectedRelease) {\n\t\t// The instanceInfo refetch (and modal close) is deferred to ADD_TO_WAITLIST_SUCCEEDED/FAILED\n\t\t// so it never races the in-flight waitlist HTTP call — firing GET_INSTANCE_INFO in parallel\n\t\t// with ADD_TO_WAITLIST can read the server before the waitlist write commits, clobbering\n\t\t// the optimistic 'waitlist' state with stale data.\n\t\tdispatch(APP_ACTIONS.OVERRIDE_INSTANCE_STATUS, { status: 'waitlist', release: selectedRelease });\n\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.ADD_TO_WAITLIST, { selectedRelease });\n\t\tupdateProperties({ isRequestInstanceFailed: true })\n\t} else {\n\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.SET_MODAL, { opened: false });\n\t\tdispatch(\n\t\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.GET_INSTANCE_INFO_POST_INSTANCE_REQUEST\n\t\t);\n\t\tif (!properties.isRequestInstanceFailed) {\n\t\t\tshowInstanceAssignmentFailedToast({\n\t\t\t\tdispatch,\n\t\t\t\tproperties,\n\t\t\t\tstate,\n\t\t\t\tupdateState\n\t\t\t});\n\t\t}\n\t}\n\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.REQUEST_INSTANCE_AVAILABILITY_COUNT);\n\n\tif (userInfo && userInfo.userType === CONSTANTS.DEFAULTS.PRISTINE_USER) {\n\t\tgetUserInfo(dispatch);\n\t}\n}\n\nfunction handleCheckInstanceAssignmentRequestStatus({ dispatch }) {\n\tconst sysparm_data = formatSysParam(\n\t\tCONSTANTS.DEV_PORTAL_ACTIONS.GET_INSTANCE_REQUEST_STATUS,\n\t\t{\n\t\t\tassign_req_id: assignReqID\n\t\t}\n\t);\n\n\tdispatch(\n\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.GET_INSTANCE_ASSIGNMENT_REQUEST_STATUS,\n\t\t{ sysparm_data }\n\t);\n}\n\nconst handleInstanceAssignmentRequestStatus = devPortalGetHttpEffect({\n\terrorActionType:\n\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.GET_INSTANCE_REQUEST_STATUS_ERRORRED,\n\tsuccessActionType:\n\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.GET_INSTANCE_REQUEST_STATUS_SUCCESSED\n});\n\nfunction handleInstanceAssignmentRequestStatusSuccess(coeffects) {\n\tconst {\n\t\taction,\n\t\tdispatch,\n\t\tproperties,\n\t\tstate,\n\t\tupdateProperties,\n\t\tupdateState\n\t} = coeffects;\n\tconst resultData = action.payload;\n\tconst { systemProperties, screen } = properties;\n\tconst isBaAutoAssignFlow = screen === 'autoAssignBA';\n\tconst pollInterval = parseInt(\n\t\tsystemProperties['dev.instance_management.poll_interval'],\n\t\t10\n\t);\n\tconst maxPollCount = parseInt(\n\t\tsystemProperties['dev.instance_management.max_poll_num'],\n\t\t10\n\t);\n\tif (\n\t\tresultData.status === 'complete_success' ||\n\t\tresultData.status === 'complete_error' ||\n\t\tinstanceAssignmentPollCount > maxPollCount\n\t) {\n\t\tif (resultData.status === 'complete_success') {\n\t\t\tinstanceAssignmentPollCount = 0;\n\t\t\tassignReqID = '';\n\t\t\tupdateState({\n\t\t\t\tinstanceAssignmentDetails: {\n\t\t\t\t\ttempPassword: resultData.temp_password,\n\t\t\t\t\tloginURL: resultData.loginURL,\n\t\t\t\t\tdisplayURL: resultData.loginURL.slice(\n\t\t\t\t\t\t0,\n\t\t\t\t\t\tresultData.loginURL.indexOf('/login')\n\t\t\t\t\t),\n\t\t\t\t\tstatus: resultData.status\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (isBaAutoAssignFlow) {\n\t\t\t\tbaAwaitingInstanceCheck = true;\n\t\t\t\tupdateProperties({ isProcessing: false });\n\t\t\t\tsessionStorage.removeItem('dev.homepage.auth.ba.assign.dispatched');\n\t\t\t\tsessionStorage.setItem('dev.homepage.auth.prompt.launched', '1');\n\t\t\t} else {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tisProcessing: false,\n\t\t\t\t\tscreen: 'assignmentSuccessful',\n\t\t\t\t\topened: true\n\t\t\t\t});\n\t\t\t}\n\t\t\tdispatch(\n\t\t\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.PDI_PROVISIONING_SUCCESS_CUSTOM_HOOK,\n\t\t\t\t{\n\t\t\t\t\tinstanceDetails: {\n\t\t\t\t\t\tloginURL: resultData.loginURL,\n\t\t\t\t\t\tdisplayURL: resultData.loginURL.slice(\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\tresultData.loginURL.indexOf('/login')\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t\tdispatch(\n\t\t\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.GET_INSTANCE_INFO_POST_INSTANCE_REQUEST\n\t\t\t);\n\t\t} else if (\n\t\t\tresultData.status === 'complete_error' ||\n\t\t\tinstanceAssignmentPollCount > maxPollCount\n\t\t) {\n\t\t\tinstanceAssignmentPollCount = 0;\n\t\t\tassignReqID = '';\n\t\t\tif (!resultData.hasUserCanceledRequest) {\n\t\t\t\tconst selectedRelease = properties.selectedRelease || baAttemptedFamily;\n\t\t\t\tif (selectedRelease) {\n\t\t\t\t\t// The instanceInfo refetch (and modal close) is deferred to ADD_TO_WAITLIST_SUCCEEDED/FAILED\n\t\t\t\t\t// so it never races the in-flight waitlist HTTP call — firing GET_INSTANCE_INFO in parallel\n\t\t\t\t\t// with ADD_TO_WAITLIST can read the server before the waitlist write commits, clobbering\n\t\t\t\t\t// the optimistic 'waitlist' state with stale data.\n\t\t\t\t\tdispatch(APP_ACTIONS.OVERRIDE_INSTANCE_STATUS, { status: 'waitlist', release: selectedRelease });\n\t\t\t\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.ADD_TO_WAITLIST, { selectedRelease });\n\t\t\t\t\tupdateProperties({ isRequestInstanceFailed: true })\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.SET_MODAL, { opened: false });\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.GET_INSTANCE_INFO_POST_INSTANCE_REQUEST\n\t\t\t\t\t);\n\t\t\t\t\tif (!properties.isRequestInstanceFailed) {\n\t\t\t\t\t\tshowInstanceAssignmentFailedToast({\n\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\tproperties,\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\tupdateState\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.SET_MODAL, { opened: false });\n\t\t\t\tdispatch(\n\t\t\t\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.GET_INSTANCE_INFO_POST_INSTANCE_REQUEST\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tdispatch(\n\t\t\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.REQUEST_INSTANCE_AVAILABILITY_COUNT\n\t\t\t);\n\t\t\tdispatch(APP_ACTIONS.AUTO_ASSIGN_INSTANCE_REQUEST, { value: false });\n\t\t}\n\t} else {\n\t\tinstanceAssignmentPollCount = instanceAssignmentPollCount + 1;\n\t\tsetTimeout(() => {\n\t\t\tdispatch(\n\t\t\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.INSTANCE_ASSIGNMENT_REQUEST_STATUS\n\t\t\t);\n\t\t}, pollInterval);\n\t}\n}\n\n\nfunction performBaAutoAssignCancel({ dispatch, updateProperties }) {\n\tconst hadActiveRequest = baPhaseBeforeCancel === 'configuring' || !!assignReqID;\n\tinstanceAssignmentPollCount = 0;\n\tassignReqID = '';\n\tbaAttemptedFamily = '';\n\tbaPhaseBeforeCancel = '';\n\tbaBackgroundPhase = '';\n\tbaRedirectPending = false;\n\tbaAwaitingInstanceCheck = false;\n\tsessionStorage.removeItem('dev.homepage.auth.ba.wakeup.cancelled');\n\tupdateProperties({\n\t\tscreen: '',\n\t\tbaAutoAssignPhase: 'searching',\n\t\tselectedFamily: ''\n\t});\n\tif (hadActiveRequest) {\n\t\tdispatch(APP_ACTIONS.CANCEL_REQUEST, { data: { operationType: 'request' } });\n\t}\n\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.GET_INSTANCE_INFO_POST_INSTANCE_REQUEST);\n\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.SET_MODAL, { opened: false });\n}\n\nfunction handleBaAutoAssignCancel({ dispatch, updateProperties, properties }) {\n\tconst { baAutoAssignPhase } = properties;\n\n\tif (baAutoAssignPhase === 'searching' || baAutoAssignPhase === 'configuring') {\n\t\tbaPhaseBeforeCancel = baAutoAssignPhase;\n\t\tupdateProperties({ baAutoAssignPhase: 'cancel-confirm' });\n\t\treturn;\n\t}\n\n\tperformBaAutoAssignCancel({ dispatch, updateProperties });\n}\n\nfunction handleBaAutoAssignResume({ updateProperties }) {\n\tupdateProperties({\n\t\tbaAutoAssignPhase: baPhaseBeforeCancel || 'searching'\n\t});\n\tbaPhaseBeforeCancel = '';\n}\n\nfunction handleBaAutoAssignRunInBackground({ dispatch, properties }) {\n\tconst isWakeup = properties.baAutoAssignPhase?.startsWith('wakeup');\n\tbaBackgroundPhase = properties.baAutoAssignPhase;\n\tdispatch(APP_ACTIONS.AUTO_ASSIGN_RUN_IN_BACKGROUND, {\n\t\talertType: isWakeup ? 'wakeup' : 'setup',\n\t\tisBuildAgentExperience: !!properties.isBuildAgentExperience\n\t});\n\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.SET_MODAL, { opened: false });\n}\n\nfunction handleBaAutoAssignDismiss({ updateProperties, dispatch, properties }) {\n\tconst isWakeupCancel = properties.baAutoAssignPhase?.startsWith('wakeup');\n\tsessionStorage.setItem('dev.homepage.auth.ba.wakeup.cancelled', '1');\n\tbaBackgroundPhase = '';\n\tbaRedirectPending = false;\n\tupdateProperties({\n\t\tscreen: '',\n\t\tbaAutoAssignPhase: 'searching',\n\t\tselectedFamily: ''\n\t});\n\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.SET_MODAL, { opened: false });\n\tif (isWakeupCancel) {\n\t\tdispatch(APP_ACTIONS.BA_WAKEUP_PROMPT_CANCELLED);\n\t}\n}\n\n// Reuses performBaAutoAssignCancel — in error contexts hadActiveRequest is always false,\n// so no cancel API is dispatched; only state reset + modal close.\nconst handleBaAutoAssignCloseError = performBaAutoAssignCancel;\n\nfunction handleBaAutoAssignManage({ updateProperties, dispatch }) {\n\tbaBackgroundPhase = '';\n\tbaRedirectPending = false;\n\tupdateProperties({\n\t\tscreen: '',\n\t\tbaAutoAssignPhase: 'searching',\n\t\tselectedFamily: ''\n\t});\n\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.SET_MODAL, { opened: false });\n\tupdateRoute(ROUTES.pdiSummary);\n}\n\nfunction handleBaAutoAssignStartBuilding({ dispatch, updateProperties }) {\n\tbaBackgroundPhase = '';\n\tupdateProperties({\n\t\tscreen: '',\n\t\tbaAutoAssignPhase: 'searching',\n\t\tselectedFamily: ''\n\t});\n\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.SET_MODAL, { opened: false });\n\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.MAGIC_LINK_CLICKED);\n}\n\nfunction handleInstanceAssignmentRequestStatusFailed({ dispatch }) {\n\tinstanceAssignmentPollCount = instanceAssignmentPollCount + 1;\n\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.INSTANCE_ASSIGNMENT_REQUEST_STATUS);\n}\n\nfunction handleGetInstanceInfoPostInstanceRequest({ dispatch }) {\n\tconst sysparm_data = formatSysParam(\n\t\tCONSTANTS.DEV_PORTAL_ACTIONS.GET_INSTANCE_INFO,\n\t\t{\n\t\t\tdirect_wake_up: false\n\t\t}\n\t);\n\tdispatch('APP#GET_INSTANCE_INFO', { sysparm_data });\n}\n\nfunction handleRequestInstanceAvailibilityStats({ dispatch, properties }) {\n\tconst sysparm_data = formatSysParam(\n\t\tCONSTANTS.DEV_PORTAL_ACTIONS.GET_INSTANCE_AVAILABILITY_COUNT\n\t);\n\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.GET_INSTANCE_AVAILABILITY_COUNT, {\n\t\tsysparm_data\n\t});\n\tdispatch(APP_ACTIONS.INSTANCE_STATE_PROGRESS_UPDATE, { value: true });\n}\n\nconst handleGetInstanceAvailabilityStats = devPortalGetHttpEffect({\n\terrorActionType:\n\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.GET_INSTANCE_AVAILABILITY_COUNT_FAILED,\n\tsuccessActionType:\n\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.GET_INSTANCE_AVAILABILITY_COUNT_SUCCEEDED\n});\n\nfunction handleGetInstanceAvailabilityStatsSucceeded({\n\tupdateState,\n\taction,\n\tdispatch,\n\tproperties,\n\tupdateProperties\n}) {\n\taction.payload &&\n\t\tupdateState({\n\t\t\tinstanceAvailabilityStats: action.payload\n\t\t});\n\tdispatch(APP_ACTIONS.INSTANCE_STATE_PROGRESS_UPDATE, { value: false });\n\n\tif (properties.screen === 'autoAssignBA') {\n\t\tconst stats = action.payload || {};\n\t\tconst familyNames = stats['family_name'] || [];\n\t\tconst availableVersions = familyNames.filter(r => !!stats[r]?.is_available);\n\n\t\tupdateProperties({\n\t\t\treleaseInfo: {\n\t\t\t\t...properties.releaseInfo,\n\t\t\t\tavailableVersions\n\t\t\t}\n\t\t});\n\n\t\tif (availableVersions.length === 0) {\n\t\t\tupdateProperties({ baAutoAssignPhase: 'no-instances' });\n\t\t\treturn;\n\t\t}\n\n\t\tconst allReleases = getAllReleasesInOrder(properties.systemProperties);\n\t\tconst baVersions = availableVersions\n\t\t\t.filter(v => isZurichOrNewer(v.toLowerCase(), properties.systemProperties))\n\t\t\t.map(v => v.toLowerCase())\n\t\t\t.sort((a, b) => allReleases.indexOf(b) - allReleases.indexOf(a));\n\n\t\tif (baVersions.length === 0) {\n\t\t\tupdateProperties({ baAutoAssignPhase: 'no-ba-versions' });\n\t\t\treturn;\n\t\t}\n\n\t\tbaAttemptedFamily = baVersions[0];\n\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.INSTANCE_REQUEST, {\n\t\t\tselectedRelease: baAttemptedFamily\n\t\t});\n\t}\n}\n\nfunction handleGetInstanceAvailabilityStatsFailed({ updateState, dispatch, properties, updateProperties }) {\n\tupdateState({\n\t\tinstanceAvailabilityStats: {}\n\t});\n\tdispatch(APP_ACTIONS.INSTANCE_STATE_PROGRESS_UPDATE, { value: false });\n\tif (properties.screen === 'autoAssignBA') {\n\t\tupdateProperties({ baAutoAssignPhase: 'instance-assignment-failure' });\n\t}\n}\n\nfunction checkForLatestReleaseAvailability({\n\tproperties,\n\tdispatch,\n\tstate,\n\tupdateProperties\n}) {\n\tconst { systemProperties } = properties;\n\tconst { versions_available } = state.instanceAvailabilityStats;\n\n\tif (\n\t\tversions_available &&\n\t\tsystemProperties &&\n\t\tversions_available.indexOf(systemProperties['dev.defaultVersionSelected']) >\n\t\t-1\n\t) {\n\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.INSTANCE_REQUEST, {\n\t\t\tselectedRelease: systemProperties['dev.defaultVersionSelected']\n\t\t});\n\t} else {\n\t\tupdateProperties({\n\t\t\tscreen: 'request',\n\t\t\tloaded: true,\n\t\t\terrorMessage: ''\n\t\t});\n\t}\n}\nexport default {\n\t...restoreBackup,\n\t...getInstanceInfo,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.ADD_TO_WAITLIST]: handleAddToWaitlist,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.ADD_TO_WAITLIST_REQUEST]: handleAddToWaitlistRequest,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.ADD_TO_WAITLIST_SUCCEEDED]: handleAddToWaitlistSucceeded,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.ADD_TO_WAITLIST_FAILED]: handleAddToWaitlistFailed,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.LEAVE_WAITLIST]: handleLeaveWaitlist,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.LEAVE_WAITLIST_REQUEST]: handleLeaveWaitlistRequest,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.LEAVE_WAITLIST_SUCCEEDED]: handleLeaveWaitlistSucceeded,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.LEAVE_WAITLIST_FAILED]: handleLeaveWaitlistFailed,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.USER_IN_WAITLIST]: handleUserInWaitlist,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.USER_IN_WAITLIST_REQUEST]: handleUserInWaitlistRequest,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.USER_IN_WAITLIST_SUCCEEDED]: handleUserInWaitlistSucceeded,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.USER_IN_WAITLIST_FAILED]: handleUserInWaitlistFailed,\n\t'DPS_MODAL#OPENED_SET': ({\n\t\tproperties,\n\t\tupdateProperties,\n\t\tdispatch,\n\t\taction\n\t}) => {\n\t\tconst {\n\t\t\tscreen: screenVal,\n\t\t\tisOpenedFromQuickResetWipe,\n\t\t\tisRequestForAutoAssignInstance\n\t\t} = properties;\n\t\tconst { payloadToAction } = action.payload;\n\t\tif (!(payloadToAction && payloadToAction.processing)) {\n\t\t\tdispatch('APP#GET_INSTANCE_AVAILABLILTY_INFO');\n\t\t\tconst screen = screenVal === 'waitlisted' ? 'leave' : screenVal;\n\t\t\t// When the waitlisted confirmation modal's Close button is clicked,\n\t\t\t// close the modal fully. The selectedRelease is intentionally preserved\n\t\t\t// here (cleared by the 'leave' flow if the user leaves).\n\t\t\tupdateProperties({\n\t\t\t\topened: false,\n\t\t\t\tselectedRelease: screenVal === 'waitlisted' ? properties.selectedRelease : '',\n\t\t\t\twaitlistView: false,\n\t\t\t\tselectedWaitlistRelease: '',\n\t\t\t\tscreen,\n\t\t\t\tisInstanceRequestDuplicate: false\n\t\t\t});\n\t\t}\n\t\tif (isRequestForAutoAssignInstance) {\n\t\t\tdispatch(APP_ACTIONS.AUTO_ASSIGN_INSTANCE_REQUEST, {\n\t\t\t\tvalue: false\n\t\t\t});\n\t\t}\n\n\t\tif (\n\t\t\t(isOpenedFromQuickResetWipe && screen === 'assignmentSuccessful') ||\n\t\t\tscreen === 'assignmentFailed'\n\t\t) {\n\t\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.QUICK_RESET_WIPE_MESSAGE_CLOSED, {\n\t\t\t\tisOpenedFromQuickResetWipe: false,\n\t\t\t\tinstanceAssignmentModalScreenType: ''\n\t\t\t});\n\t\t}\n\t},\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.MENU_ITEM_CLICKED]({\n\t\taction,\n\t\tupdateProperties\n\t}) {\n\t\tupdateProperties({\n\t\t\tselectedItem: action.payload.active\n\t\t});\n\t},\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.INSTANCE_REQUEST]: handleRequestInstanceClicked,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.CONFIRM_INSTANCE_POLICY]: handleConfirmInstancePolicy,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.SEND_INSTANCE_REQUEST_DATA]: handleUserInstanceRequest,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.INSTANCE_REQUEST_SUCCESSED]: handleRequestInstanceDetailsSuccess,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.INSTANCE_REQUEST_ERRORRED]: handleRequestInstanceDetailsFailed,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.BA_AUTO_ASSIGN_CANCEL]: handleBaAutoAssignCancel,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.BA_AUTO_ASSIGN_RESUME]: handleBaAutoAssignResume,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.BA_AUTO_ASSIGN_RUN_IN_BACKGROUND]: handleBaAutoAssignRunInBackground,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.BA_AUTO_ASSIGN_DISMISS]: handleBaAutoAssignDismiss,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.BA_AUTO_ASSIGN_CLOSE_ERROR]: handleBaAutoAssignCloseError,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.BA_AUTO_ASSIGN_MANAGE]: handleBaAutoAssignManage,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.BA_AUTO_ASSIGN_START_BUILDING]: handleBaAutoAssignStartBuilding,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.INSTANCE_ASSIGNMENT_REQUEST_STATUS]: handleCheckInstanceAssignmentRequestStatus,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.GET_INSTANCE_ASSIGNMENT_REQUEST_STATUS]: handleInstanceAssignmentRequestStatus,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.GET_INSTANCE_REQUEST_STATUS_SUCCESSED]: handleInstanceAssignmentRequestStatusSuccess,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.GET_INSTANCE_REQUEST_STATUS_ERRORRED]: handleInstanceAssignmentRequestStatusFailed,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.GET_INSTANCE_INFO_POST_INSTANCE_REQUEST]: handleGetInstanceInfoPostInstanceRequest,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.GET_INSTANCE_AVAILABILITY_COUNT]: handleGetInstanceAvailabilityStats,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.REQUEST_INSTANCE_AVAILABILITY_COUNT]: handleRequestInstanceAvailibilityStats,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.GET_INSTANCE_AVAILABILITY_COUNT_SUCCEEDED]: handleGetInstanceAvailabilityStatsSucceeded,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.GET_INSTANCE_AVAILABILITY_COUNT_FAILED]: handleGetInstanceAvailabilityStatsFailed,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.CHECK_LATEST_RELEASE_AVAILABILITY]: checkForLatestReleaseAvailability,\n\t[COMPONENT_BOOTSTRAPPED]({\n\t\tupdateProperties,\n\t\tdispatch,\n\t\tproperties,\n\t\tupdateState\n\t}) {\n\t\tconst {\n\t\t\tscreen,\n\t\t\tinstanceAssignmentDetails,\n\t\t\tisOpenedFromQuickResetWipe,\n\t\t\tsystemProperties,\n\t\t\tisPristineUserRequested,\n\t\t\tuserInfo,\n\t\t\tisRequestForAutoAssignInstance,\n\t\t\treleaseInfo\n\t\t} = properties;\n\n\t\tif (screen === 'autoAssignBA') {\n\t\t\tconst { instanceInfo } = properties;\n\n\t\t\t// Priority 1 (server-authoritative): user is in waitlist — wins over any saved background phase\n\t\t\tif (instanceInfo?.state === 'waitlist') {\n\t\t\t\tbaBackgroundPhase = '';\n\t\t\t\t// Mirror the regular (non-BA) waitlist flow: instanceInfo.release is server-authoritative\n\t\t\t\t// and is what leaveInstanceViewModal reads. Use it before any local state.\n\t\t\t\tconst resolvedRelease = baAttemptedFamily\n\t\t\t\t\t|| properties.selectedRelease\n\t\t\t\t\t|| instanceInfo?.release\n\t\t\t\t\t|| properties.releaseInfo?.latestRelease\n\t\t\t\t\t|| '';\n\t\t\t\t// Backfill module var so future remounts skip the server fallback\n\t\t\t\tif (!baAttemptedFamily && resolvedRelease) {\n\t\t\t\t\tbaAttemptedFamily = resolvedRelease;\n\t\t\t\t}\n\t\t\t\tupdateProperties({\n\t\t\t\t\tbaAutoAssignPhase: 'waitlisted',\n\t\t\t\t\tselectedRelease: resolvedRelease,\n\t\t\t\t\tloaded: true\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Priority 2 (server-authoritative): instance is waking — wins over any saved background phase\n\t\t\tif (instanceInfo?.isWakingInstance?.()) {\n\t\t\t\tbaBackgroundPhase = '';\n\t\t\t\tupdateProperties({ baAutoAssignPhase: 'wakeup-restoring', loaded: true });\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Priority 3: resume from \"Run in background\", validated against current server state\n\t\t\tif (baBackgroundPhase) {\n\t\t\t\tconst resumePhase = baBackgroundPhase;\n\t\t\t\tbaBackgroundPhase = '';\n\n\t\t\t\t// Wakeup phase saved but instance is no longer waking — resolve against server state\n\t\t\t\tif (resumePhase.startsWith('wakeup')) {\n\t\t\t\t\tif (instanceInfo?.isOnline?.()) {\n\t\t\t\t\t\tupdateProperties({ baAutoAssignPhase: 'wakeup-restored', loaded: true });\n\t\t\t\t\t\tsessionStorage.setItem('dev.homepage.auth.prompt.launched', '1');\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\tdispatch(APP_ACTIONS.HIDE_BA_SETUP_ALERT);\n\t\t\t\t\t\t}, 3000);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tupdateProperties({ baAutoAssignPhase: 'wakeup-failure', loaded: true });\n\t\t\t\t\t\tdispatch(APP_ACTIONS.HIDE_BA_SETUP_ALERT);\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tupdateProperties({\n\t\t\t\t\tbaAutoAssignPhase: resumePhase,\n\t\t\t\t\tselectedFamily: baAttemptedFamily,\n\t\t\t\t\tloaded: true\n\t\t\t\t});\n\t\t\t\tif (assignReqID) {\n\t\t\t\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.INSTANCE_ASSIGNMENT_REQUEST_STATUS);\n\t\t\t\t} else if (resumePhase === 'searching') {\n\t\t\t\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.REQUEST_INSTANCE_AVAILABILITY_COUNT);\n\t\t\t\t} else if (resumePhase === 'configuring') {\n\t\t\t\t\t// assignReqID lost — cannot resume polling; avoid double-request by showing error\n\t\t\t\t\tupdateProperties({ baAutoAssignPhase: 'instance-assignment-failure' });\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Priority 4: fresh start\n\t\t\tupdateProperties({ baAutoAssignPhase: 'searching', selectedFamily: '', loaded: true });\n\t\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.REQUEST_INSTANCE_AVAILABILITY_COUNT);\n\t\t\treturn;\n\t\t}\n\n\t\t// Opened directly into the leave-waitlist confirmation (e.g. header\n\t\t// \"Leave Waitlist\" button). instanceInfo.state is already authoritative,\n\t\t// so skip the async USER_IN_WAITLIST check that could fall back to 'request'.\n\t\tif (screen === 'leave') {\n\t\t\tupdateProperties({ loaded: true, errorMessage: '' });\n\t\t\treturn;\n\t\t}\n\n\t\t// Opened directly into the \"You're on the waitlist!\" confirmation\n\t\t// (e.g. a waitlisted user clicking \"Ask Build Agent\"). instanceInfo.state\n\t\t// is already authoritative, so skip the async USER_IN_WAITLIST check that\n\t\t// would otherwise redirect this to the 'leave' screen.\n\t\tif (screen === 'waitlisted') {\n\t\t\tupdateProperties({ loaded: true, errorMessage: '' });\n\t\t\treturn;\n\t\t}\n\n\t\tconst isDefaultVersionAvailable =\n\t\t\treleaseInfo &&\n\t\t\treleaseInfo.availableVersions &&\n\t\t\treleaseInfo.availableVersions?.indexOf(\n\t\t\t\tsystemProperties['dev.defaultVersionSelected']\n\t\t\t) > -1;\n\n\t\tif (\n\t\t\tisPristineUserRequested ||\n\t\t\tisRequestForAutoAssignInstance ||\n\t\t\t(userInfo && userInfo.userType === CONSTANTS.DEFAULTS.PRISTINE_USER)\n\t\t) {\n\t\t\tif (\n\t\t\t\tisPristineUserRequested ||\n\t\t\t\t(isRequestForAutoAssignInstance && isDefaultVersionAvailable)\n\t\t\t) {\n\t\t\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.INSTANCE_REQUEST, {\n\t\t\t\t\tselectedRelease: systemProperties['dev.defaultVersionSelected']\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tdispatch(\n\t\t\t\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.REQUEST_INSTANCE_AVAILABILITY_COUNT\n\t\t\t\t);\n\t\t\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.USER_IN_WAITLIST);\n\t\t\t}\n\t\t} else if (\n\t\t\tisOpenedFromQuickResetWipe &&\n\t\t\tscreen &&\n\t\t\t(screen === 'assignmentSuccessful' || screen === 'assignmentFailed')\n\t\t) {\n\t\t\tupdateState({ instanceAssignmentDetails });\n\t\t} else {\n\t\t\tupdateProperties({\n\t\t\t\tloaded: false\n\t\t\t});\n\t\t\tdispatch(\n\t\t\t\tDPS_INSTANCE_ASSIGNMENT_MODAL.REQUEST_INSTANCE_AVAILABILITY_COUNT\n\t\t\t);\n\t\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.USER_IN_WAITLIST);\n\t\t}\n\t},\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.WAITLIST_REQUEST]({\n\t\taction,\n\t\tdispatch,\n\t\tupdateProperties\n\t}) {\n\t\tbaAttemptedFamily = action.payload.selectedRelease;\n\t\tupdateProperties({\n\t\t\tselectedRelease: action.payload.selectedRelease\n\t\t});\n\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.ADD_TO_WAITLIST, action.payload);\n\t},\n\t'DPS_INPUT#VALUE_CHANGE': ({ updateProperties, action }) => {\n\t\tupdateProperties({ inputValue: action.payload.value });\n\t},\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.DPS_SHADE_CLICKED]: ({\n\t\tdispatch,\n\t\tproperties,\n\t\tupdateProperties\n\t}) => {\n\t\tconst { screen } = properties;\n\n\t\tif (screen === 'processing') {\n\t\t\tupdateProperties({\n\t\t\t\tscreen: '',\n\t\t\t\tisProcessing: false\n\t\t\t});\n\t\t} else {\n\t\t\tdispatch('DPS_MODAL#OPENED_SET', { value: false });\n\t\t}\n\t},\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.RESTORE_BACKUP_INITIATED]: restoreBackupInitiated,\n\t[\"DPS_INSTANCE_JOIN_WAT_LIST_CLICK\"]: ({ state, dispatch }) => {\n\t\tconst { selectedRelease, isBuildAgentExperience = false } = state.properties;\n\n\t\tif (!isEmpty(selectedRelease)) {\n\t\t\tconst { releaseAvailabilityMap } = getReleaseAvailabilityMap(state);\n\t\t\treleaseAvailabilityMap[selectedRelease] ?\n\t\t\t\tdispatch('DPS_INSTANCE_ASSIGNMENT_MODAL#INSTANCE_REQUEST', { selectedRelease, isBuildAgentExperience }) :\n\t\t\t\tdispatch('DPS_INSTANCE_ASSIGNMENT_MODAL#WAITLIST_REQUEST', { selectedRelease });\n\t\t}\n\n\t},\n\t[\"DPS_CONFIRMATION_LEAVE_WAIT_LIST_CLICK\"]: ({ updateProperties }) => {\n\t\tupdateProperties({ loaded: true, screen: 'leave', errorMessage: '' });\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]({ action, properties, updateProperties, dispatch }) {\n\t\tconst { name } = action.payload;\n\n\t\tconst initWaitlistedPhase = () => {\n\t\t\tconst resolvedRelease = baAttemptedFamily\n\t\t\t\t|| properties.selectedRelease\n\t\t\t\t|| properties.instanceInfo?.release\n\t\t\t\t|| properties.releaseInfo?.latestRelease\n\t\t\t\t|| '';\n\t\t\tif (!baAttemptedFamily && resolvedRelease) {\n\t\t\t\tbaAttemptedFamily = resolvedRelease;\n\t\t\t}\n\t\t\tupdateProperties({\n\t\t\t\tbaAutoAssignPhase: 'waitlisted',\n\t\t\t\tselectedRelease: resolvedRelease,\n\t\t\t\tloaded: true\n\t\t\t});\n\t\t};\n\n\t\tif (name === 'opened' && action.payload.value === true) {\n\t\t\tbaBackgroundPhase = '';\n\t\t\tif (properties.screen === 'autoAssignBA' && properties.instanceInfo?.state === 'waitlist') {\n\t\t\t\tinitWaitlistedPhase();\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tif (name === 'screen' && action.payload.value === 'autoAssignBA' && properties.opened && properties.instanceInfo?.state === 'waitlist') {\n\t\t\tbaBackgroundPhase = '';\n\t\t\tinitWaitlistedPhase();\n\t\t\treturn;\n\t\t}\n\t\tif (name === 'opened' && action.payload.value === false && !baBackgroundPhase) {\n\t\t\tsessionStorage.removeItem('dev.homepage.auth.ba.prompt');\n\t\t}\n\t\tlet cameFromBackground = false;\n\t\tif (name === 'baAutoAssignPhase' && baBackgroundPhase) {\n\t\t\tconst phase = action.payload.value;\n\t\t\tconst backgroundTerminalPhases = [\n\t\t\t\t'redirecting', 'success', 'waitlisted',\n\t\t\t\t'instance-assignment-failure', 'no-ba-versions', 'no-instances',\n\t\t\t\t'wakeup-restored', 'wakeup-failure'\n\t\t\t];\n\t\t\tif (backgroundTerminalPhases.includes(phase)) {\n\t\t\t\tcameFromBackground = true;\n\t\t\t\tbaBackgroundPhase = '';\n\t\t\t\tif (phase === 'success') {\n\t\t\t\t\tdispatch(APP_ACTIONS.HIDE_BA_SETUP_ALERT);\n\t\t\t\t} else if (phase !== 'redirecting' && phase !== 'wakeup-restored') {\n\t\t\t\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.SET_MODAL, { opened: true });\n\t\t\t\t\tdispatch(APP_ACTIONS.HIDE_BA_SETUP_ALERT);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (\n\t\t\tname === 'baAutoAssignPhase' &&\n\t\t\tproperties.screen === 'autoAssignBA' &&\n\t\t\t(action.payload.value === 'redirecting' ||\n\t\t\t\taction.payload.value === 'wakeup-restored')\n\t\t) {\n\t\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.SET_MODAL, cameFromBackground ? { opened: true, showTips: false } : { opened: true });\n\t\t\tdispatch(APP_ACTIONS.HIDE_BA_SETUP_ALERT);\n\t\t\tsessionStorage.setItem('dev.homepage.auth.prompt.launched', '1');\n\t\t\tconst baPrompt = (sessionStorage.getItem('dev.homepage.auth.ba.prompt') || '').trim();\n\t\t\tconst sysProp = properties.systemProperties || {};\n\t\t\tconst instInfo = properties.instanceInfo;\n\t\t\tlet launchUrl = '/sn_glider_app/ide.do';\n\t\t\ttry {\n\t\t\t\tconst launchSettings = JSON.parse(sysProp['dev.ui.build.agent.startbuilding.launch.settings'] || '{}');\n\t\t\t\tconst apps = instInfo?.appsInstalled || [];\n\t\t\t\tconst matched = Object.keys(launchSettings).find(k => apps.includes(k));\n\t\t\t\tif (matched && typeof launchSettings[matched] === 'string') {\n\t\t\t\t\tconst u = launchSettings[matched];\n\t\t\t\t\tlaunchUrl = u.startsWith('/') ? u : `/${u}`;\n\t\t\t\t}\n\t\t\t} catch (e) { }\n\t\t\tif (baPrompt) {\n\t\t\t\tconst sep = launchUrl.includes('?') ? '&' : '?';\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.MAGIC_LINK_CLICKED, {\n\t\t\t\t\t\tattachParams: `&sysparm_goto_url=${encodeURIComponent(`${launchUrl}${sep}prompt=${encodeURIComponent(baPrompt)}`)}`,\n\t\t\t\t\t\tpromptExists: true\n\t\t\t\t\t});\n\t\t\t\t}, 3000);\n\t\t\t\tsessionStorage.removeItem('dev.homepage.auth.ba.prompt');\n\t\t\t} else {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.MAGIC_LINK_CLICKED, {\n\t\t\t\t\t\tattachParams: `&sysparm_goto_url=${encodeURIComponent(launchUrl)}`\n\t\t\t\t\t});\n\t\t\t\t}, 3000);\n\t\t\t}\n\t\t\tsetTimeout(() => {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tscreen: '',\n\t\t\t\t\tbaAutoAssignPhase: 'searching',\n\t\t\t\t\tselectedFamily: ''\n\t\t\t\t});\n\t\t\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.SET_MODAL, { opened: false });\n\t\t\t}, 10000);\n\t\t}\n\t\tif (name === 'instanceInfo' && properties.screen === 'autoAssignBA') {\n\t\t\tconst { baAutoAssignPhase, instanceInfo } = properties;\n\n\t\t\tif (\n\t\t\t\tbaAwaitingInstanceCheck &&\n\t\t\t\tbaAutoAssignPhase === 'configuring'\n\t\t\t) {\n\t\t\t\tbaAwaitingInstanceCheck = false;\n\t\t\t\tupdateProperties({\n\t\t\t\t\tbaAutoAssignPhase: properties.isBuildAgentExperience ? 'redirecting' : 'success'\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (baAutoAssignPhase === 'wakeup-restoring') {\n\t\t\t\tif (instanceInfo?.isOnline?.() && !baRedirectPending) {\n\t\t\t\t\tbaRedirectPending = true;\n\t\t\t\t\tupdateProperties({ baAutoAssignPhase: 'wakeup-restored' });\n\t\t\t\t\tsessionStorage.setItem('dev.homepage.auth.prompt.launched', '1');\n\t\t\t\t\tif (baBackgroundPhase) {\n\t\t\t\t\t\tbaRedirectPending = false;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\tbaRedirectPending = false;\n\t\t\t\t\t\t\tdispatch(APP_ACTIONS.HIDE_BA_SETUP_ALERT);\n\t\t\t\t\t\t}, 3000);\n\t\t\t\t\t}\n\t\t\t\t} else if (!baRedirectPending && !instanceInfo?.isWakingInstance?.()) {\n\t\t\t\t\tupdateProperties({ baAutoAssignPhase: 'wakeup-failure' });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t['NOW_MODAL#OPENED_SET']: ({ dispatch, properties, updateProperties }) => {\n\t\tif (properties.screen === 'autoAssignBA') {\n\t\t\t// Programmatic close from \"Run in background\" — skip cancel/close logic\n\t\t\tif (baBackgroundPhase) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst phase = properties.baAutoAssignPhase;\n\n\t\t\t// Searching/configuring: show cancel-confirm instead of closing\n\t\t\tif (phase === 'searching' || phase === 'configuring') {\n\t\t\t\tbaPhaseBeforeCancel = phase;\n\t\t\t\tupdateProperties({ baAutoAssignPhase: 'cancel-confirm' });\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Cancel-confirm: X means actual cancel\n\t\t\tif (phase === 'cancel-confirm') {\n\t\t\t\tperformBaAutoAssignCancel({ dispatch, updateProperties });\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Wakeup phases: reset state then close (match Cancel button behavior)\n\t\t\tif (phase === 'wakeup-restoring' || phase === 'wakeup-restored') {\n\t\t\t\tsessionStorage.setItem('dev.homepage.auth.ba.wakeup.cancelled', '1');\n\t\t\t\tbaBackgroundPhase = '';\n\t\t\t\tbaRedirectPending = false;\n\t\t\t\tupdateProperties({\n\t\t\t\t\tscreen: '',\n\t\t\t\t\tbaAutoAssignPhase: 'searching',\n\t\t\t\t\tselectedFamily: ''\n\t\t\t\t});\n\t\t\t\tdispatch(APP_ACTIONS.BA_WAKEUP_PROMPT_CANCELLED);\n\t\t\t}\n\n\t\t\t// Success: reset state then close\n\t\t\tif (phase === 'success') {\n\t\t\t\tupdateProperties({\n\t\t\t\t\tscreen: '',\n\t\t\t\t\tbaAutoAssignPhase: 'searching',\n\t\t\t\t\tselectedFamily: ''\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Error phases, redirecting, no-ba-versions, no-instances, waitlisted: just close\n\t\t}\n\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.SET_MODAL, { opened: false });\n\t},\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.PDI_PROVISIONING_SUCCESS_CUSTOM_HOOK]: ({ action, dispatch }) => {\n\t\tconst { instanceDetails } = action.payload;\n\n\t\tconsole.log('PDI Provisioning Success - Instance:', instanceDetails.displayURL);\n\n\t\t// Store instance details in module-level variable for HTTP effect handlers\n\t\tpendingSurveyInstanceDetails = instanceDetails;\n\n\t\t// HYBRID APPROACH: Check localStorage first (fast), then backend (cross-device)\n\t\tconst surveyShownKey = `pdi_survey_shown_${instanceDetails.displayURL}`;\n\t\tconst localSurveyShown = localStorage.getItem(surveyShownKey);\n\n\t\tif (localSurveyShown) {\n\t\t\tconsole.log('Survey already shown (localStorage):', localSurveyShown);\n\t\t\treturn;\n\t\t}\n\n\t\tconsole.log('Checking survey status via backend...');\n\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.CHECK_QUALTRICS_SURVEY_STATUS);\n\t},\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.CHECK_QUALTRICS_SURVEY_STATUS]: checkQualtricsSurveyStatusHttpEffect,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.CHECK_QUALTRICS_SURVEY_STATUS_SUCCEEDED]: ({ action, dispatch }) => {\n\t\tconst instanceDetails = pendingSurveyInstanceDetails;\n\n\t\tif (!instanceDetails) {\n\t\t\tconsole.warn('Survey check failed: No pending instance details');\n\t\t\treturn;\n\t\t}\n\n\t\tconst canLaunchSurvey = action.payload?.result?.canQualtricsSurveyLaunch || false;\n\t\tconst surveyShownKey = `pdi_survey_shown_${instanceDetails.displayURL}`;\n\n\t\tif (!canLaunchSurvey) {\n\t\t\t// Survey already shown on another device - cache locally to avoid future API calls\n\t\t\tlocalStorage.setItem(surveyShownKey, new Date().toISOString());\n\t\t\tconsole.log('Survey already shown (backend) - Cached locally');\n\t\t\treturn;\n\t\t}\n\n\t\tconsole.log('Survey not shown yet - Triggering Qualtrics');\n\t\tdispatch('TRIGGER_QUALTRICS_SURVEY', { instanceDetails });\n\t},\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.CHECK_QUALTRICS_SURVEY_STATUS_FAILED]: ({ dispatch }) => {\n\t\tconst instanceDetails = pendingSurveyInstanceDetails;\n\n\t\tif (!instanceDetails) {\n\t\t\tconsole.warn('Survey check failed: No pending instance details');\n\t\t\treturn;\n\t\t}\n\n\t\tconsole.warn('Backend check failed - Proceeding with survey trigger');\n\t\tdispatch('TRIGGER_QUALTRICS_SURVEY', { instanceDetails });\n\t},\n\t['TRIGGER_QUALTRICS_SURVEY']: ({ action, dispatch }) => {\n\t\tconst { instanceDetails } = action.payload;\n\n\t\t// Dispatch custom event for external listeners\n\t\ttry {\n\t\t\tconst customEventData = new CustomEvent('ces_dp_instance_provisioned', {\n\t\t\t\tbubbles: true,\n\t\t\t\tdetail: {\n\t\t\t\t\tinstanceUrl: instanceDetails.displayURL,\n\t\t\t\t\tevent_type: 'dp_instance_provisioned',\n\t\t\t\t\tcreated_at: new Date().toISOString()\n\t\t\t\t}\n\t\t\t});\n\t\t\twindow.document.dispatchEvent(customEventData);\n\t\t\tconsole.log('Custom event dispatched: ces_dp_instance_provisioned');\n\t\t} catch (e) {\n\t\t\tconsole.error('Custom event dispatch failed:', e);\n\t\t}\n\n\t\t// Push event to Qualtrics queue and trigger\n\t\tconst timestamp = new Date().toISOString();\n\t\tconst surveyShownKey = `pdi_survey_shown_${instanceDetails.displayURL}`;\n\n\t\ttry {\n\t\t\twindow._qsie = window._qsie || [];\n\t\t\twindow._qsie.push('ces_dp_instance_provisioned');\n\t\t\tconsole.log('PDI assignment survey - event pushed to Qualtrics queue');\n\t\t} catch (e) {\n\t\t\tconsole.error('PDI assignment survey - failed to push event:', e);\n\t\t}\n\n\t\t// Trigger Qualtrics API with queued events\n\t\ttriggerQualtricsAPI('PDI Assignment Survey');\n\n\t\t// Always save to localStorage and backend for cross-device tracking\n\t\t// (even if Qualtrics failed to load/trigger)\n\t\tlocalStorage.setItem(surveyShownKey, timestamp);\n\t\tdispatch(DPS_INSTANCE_ASSIGNMENT_MODAL.SAVE_QUALTRICS_SURVEY_STATUS);\n\n\t\t// Call external custom callback if defined\n\t\tif (window.customPDIProvisioningSuccessCallback && typeof window.customPDIProvisioningSuccessCallback === 'function') {\n\t\t\ttry {\n\t\t\t\twindow.customPDIProvisioningSuccessCallback(instanceDetails);\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error('Custom callback error:', e);\n\t\t\t}\n\t\t}\n\n\t\t// Clear the pending instance details after processing\n\t\tpendingSurveyInstanceDetails = null;\n\t},\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.SAVE_QUALTRICS_SURVEY_STATUS]: saveQualtricsSurveyStatusHttpEffect,\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.SAVE_QUALTRICS_SURVEY_STATUS_SUCCEEDED]: () => {\n\t\tconsole.log('Survey status saved to backend');\n\t},\n\t[DPS_INSTANCE_ASSIGNMENT_MODAL.SAVE_QUALTRICS_SURVEY_STATUS_FAILED]: () => {\n\t\tconsole.warn('Backend save failed (localStorage still saved)');\n\t}\n};\n","import '@servicenow/now-modal';\nimport '@servicenow/now-button';\nimport waitlistErrorIcon from '../../../images/waitlist-error-warning.svg';\n\n// Rendered after a failed instance-request has auto-added the user to the\n// waitlist. Combines the error acknowledgement and the waitlist confirmation\n// into a single dialog so the user sees the whole outcome in one place —\n// replaces the previous error-toast + separate confirmation split.\n//\n// Footer buttons are rendered here instead of via now-modal's `footer-actions`\n// prop because that prop always right-aligns buttons (baked into now-modal's\n// shadow-encapsulated styles) with no option to center them.\nexport const waitlistFromErrorViewModal = (state, { dispatch }) => {\n\tconst { opened, screen } = state.properties;\n\n\treturn (\n\t\t<now-modal\n\t\t\tcomponent-id={\"waitlist-from-error-modal\"}\n\t\t\tcomponent-name={\"waitlist-from-error-modal\"}\n\t\t\topened={opened && Boolean(screen)}\n\t\t\tmanaged-open={true}\n\t\t\tsize='sm'\n\t\t\tdisableClose={true}\n\t\t>\n\t\t\t<center>\n\t\t\t\t<img\n\t\t\t\t\tsrc={waitlistErrorIcon}\n\t\t\t\t\talt=\"\"\n\t\t\t\t\tclassName=\"dps-instance-assignment-modal-waitlist-cx-icon\"\n\t\t\t\t/>\n\t\t\t\t<div className=\"dps-instance-assignment-modal-waitlist-cx-title\">\n\t\t\t\t\tSomething went wrong while processing your request. You've been added to the waitlist.\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-instance-assignment-modal-waitlist-cx-description\">\n\t\t\t\t\tWe'll assign your requested version as soon as one's available.\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-instance-assignment-modal-waitlist-cx-footer\">\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tlabel=\"Leave waitlist\"\n\t\t\t\t\t\ton-click={() =>\n\t\t\t\t\t\t\tdispatch('DPS_CONFIRMATION_LEAVE_WAIT_LIST_CLICK')\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tlabel=\"Close\"\n\t\t\t\t\t\ton-click={() => dispatch('DPS_MODAL#OPENED_SET', { value: false })}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</center>\n\t\t</now-modal>\n\t);\n};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '../../components/dps-modal';\nimport '../../components/dps-link';\nimport styles from './dps-instance-assignment-modal.scss';\n// import { instanceRequestViewModal } from './requestInstanceViewModal';\n// import { leaveInstanceViewModal } from './leaveInstanceViewModal.js';\nimport { instanceRequestViewModal } from './cxupdated/requestInstanceViewModal.js';\nimport { leaveInstanceViewModal } from './cxupdated/leaveInstanceViewModal';\nimport { waitlistedViewModal } from './cxupdated/waitlistedViewModal';\nimport { reviewInstancePolicyViewModal } from './cxupdated/reviewInstancePolicyViewModal.js';\n\nimport { instanceAssignmentSuccessView } from './instanceAssignmentSuccessView.js';\nimport {\n\tinstanceAssignmentFailedView,\n\tinstanceAssignmentFailedToastView\n} from './instanceAssignmentFailedView.js';\nimport {\n\tinstanceProcessingView,\n\tinstanceProcessingToastView\n} from './instanceProcessingView.js';\nimport { baAutoAssignView } from './baAutoAssignView.js';\nimport actionHandlers from './actionHandlers';\nimport { DPS_INSTANCE_ASSIGNMENT_MODAL_CONSTANTS } from '../../constants';\nimport { waitlistFromErrorViewModal } from './cxupdated/waitlistFromErrorViewModal.js';\n\nconst view = (state, coeffects) => {\n\tconst { opened, screen, selectedItem } = state.properties;\n\tconst viewModal = {\n\t\trequestInstanceFailed: waitlistFromErrorViewModal,\n\t\tleave: leaveInstanceViewModal,\n\t\trequest: instanceRequestViewModal,\n\t\tprocessing:\n\t\t\tselectedItem === DPS_INSTANCE_ASSIGNMENT_MODAL_CONSTANTS.RESTORE\n\t\t\t\t? instanceProcessingView\n\t\t\t\t: instanceProcessingToastView,\n\t\t/* removed in updated manage pdi ux */\n\t\t// assignmentSuccessful: instanceAssignmentSuccessView,\n\t\tassignmentFailed:\n\t\t\tselectedItem === DPS_INSTANCE_ASSIGNMENT_MODAL_CONSTANTS.RESTORE\n\t\t\t\t? instanceAssignmentFailedView\n\t\t\t\t: instanceAssignmentFailedToastView,\n\t\twaitlisted: waitlistedViewModal,\n\t\tautoAssignBA: baAutoAssignView,\n\t\treviewPolicy: reviewInstancePolicyViewModal\n\t};\n\n\treturn viewModal[screen] ? (\n\t\t<div class={{\n\t\t\t\"dps-instance-assignment-modal-header\": true,\n\t\t\t\"-closed\": !opened\n\t\t}}>\n\t\t\t{screen ? viewModal[screen](state, coeffects) : null}\n\t\t</div>\n\t) : null;\n};\n\nexport default createCustomElement('dps-instance-assignment-modal', {\n\trenderer: {\n\t\ttype: snabbdom\n\t},\n\tview,\n\tinitialState: {\n\t\tinstanceAssignmentDetails: {\n\t\t\ttempPassword: '',\n\t\t\tdisplayURL: '',\n\t\t\tloginURL: '',\n\t\t\tstatus: ''\n\t\t},\n\t\tselectedBackup: {},\n\t\tinstanceAvailabilityStats: {},\n\t\trefs: [],\n\t\tactiveTipIndex: 0\n\t},\n\tstyles,\n\tactionHandlers,\n\tproperties: {\n\t\topened: {\n\t\t\tdefault: false,\n\t\t\treflect: true\n\t\t},\n\t\t/**\n\t\t * This can take two values:\n\t\t * request\n\t\t * restore\n\t\t */\n\t\tselectedItem: {\n\t\t\tdefault: ''\n\t\t},\n\t\tselectedRelease: {\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * When true, the request modal switches to the\n\t\t * \"Select waitlist instance version\" selection view.\n\t\t */\n\t\twaitlistView: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Tracks the release selected within the waitlist\n\t\t * selection view.\n\t\t */\n\t\tselectedWaitlistRelease: {\n\t\t\tdefault: ''\n\t\t},\n\t\tlastRequestedRelease: {\n\t\t\tdefault: '' // store the last clicked instance for use in the callback\n\t\t},\n\t\tsystemProperties: {\n\t\t\tdefault: null\n\t\t},\n\t\treleaseInfo: {\n\t\t\tdefault: null\n\t\t},\n\t\t/**\n\t\t * This can either be request, leave, autoAssignBA,\n\t\t * reviewPolicy, processing, assignment success, or assignment failure.\n\t\t * (Waitlist confirmation is the autoAssignBA 'waitlisted' phase.)\n\t\t */\n\t\tscreen: {\n\t\t\tdefault: null\n\t\t},\n\t\tpolicyAcknowledged: {\n\t\t\tdefault: false\n\t\t},\n\t\tisRequestInstanceFailed: {\n\t\t\tdefault: false\n\t\t},\n\t\terrorMessage: {\n\t\t\tdefault: ''\n\t\t},\n\t\tloaded: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * Keeps track of user's selected instance,\n\t\t * ie in waitlist modal\n\t\t */\n\t\tinstanceInfo: {\n\t\t\tdefault: null\n\t\t},\n\t\t/**\n\t\t * This property is used for\n\t\t * processing view\n\t\t */\n\t\tisProcessing: {\n\t\t\tdefault: false\n\t\t},\n\t\tinstanceAssignmentDetails: {\n\t\t\tdefault: {}\n\t\t},\n\t\tisOpenedFromQuickResetWipe: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * This property for checking if instance request is duplicate or not\n\t\t */\n\t\tisInstanceRequestDuplicate: {\n\t\t\tdefault: false\n\t\t},\n\t\tuserInfo: {\n\t\t\tdefault: {}\n\t\t},\n\t\tisPristineUserRequested: {\n\t\t\tdefault: false\n\t\t},\n\t\tisRequestForAutoAssignInstance: {\n\t\t\tdefault: false\n\t\t},\n\t\tisBuildAgentExperience: {\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * 'searching' | 'configuring' | 'redirecting' | 'no-ba-versions' | 'no-instances' | 'cancel-confirm' | 'success' | 'waitlisted' | 'instance-assignment-failure' | 'wakeup-restoring' | 'wakeup-restored' | 'wakeup-failure'\n\t\t */\n\t\tbaAutoAssignPhase: {\n\t\t\tdefault: 'searching'\n\t\t},\n\t\tselectedFamily: {\n\t\t\tdefault: ''\n\t\t},\n\t\tpromptingTips: {\n\t\t\tdefault: []\n\t\t},\n\t\tshowTips: {\n\t\t\tdefault: false\n\t\t}\n\t}\n});\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-loader';\nimport '@servicenow/now-button';\nimport styles from './dps-ba-progress-banner.scss';\nimport { DPS_INSTANCE_ASSIGNMENT_MODAL } from '../dps-instance-assignment-modal/actions';\n\nconst BANNER_CONFIG = {\n\tsetup: {\n\t\theader: 'Setting-up instance.',\n\t\ttext: 'After your personal instance is setup, you will be redirected to in-platform experience to use Build Agent.',\n\t\tviewProgressAction: DPS_INSTANCE_ASSIGNMENT_MODAL.OPEN_BA_AUTO_ASSIGN_MODAL\n\t},\n\twakeup: {\n\t\theader: 'Waking-up instance.',\n\t\ttext: 'After your instance is ready to use again, you will be transferred to in-platform experience to use Build Agent.',\n\t\tviewProgressAction: DPS_INSTANCE_ASSIGNMENT_MODAL.OPEN_BA_WAKEUP_MODAL\n\t}\n};\n\nconst view = (state, { dispatch }) => {\n\tconst { properties: { visible, alertType } } = state;\n\n\tif (!visible) {\n\t\treturn null;\n\t}\n\n\tconst config = BANNER_CONFIG[alertType] || BANNER_CONFIG.setup;\n\n\treturn (\n\t\t<div className=\"dps-ba-progress-banner\">\n\t\t\t<div className=\"dps-ba-progress-banner__content\">\n\t\t\t\t<div className=\"dps-ba-progress-banner__icon-and-message\">\n\t\t\t\t\t<div className=\"dps-ba-progress-banner__icon\">\n\t\t\t\t\t\t<now-loader size=\"md\" label=\"\"></now-loader>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"dps-ba-progress-banner__message\">\n\t\t\t\t\t\t<span className=\"dps-ba-progress-banner__header\">{config.header}</span>\n\t\t\t\t\t\t<span className=\"dps-ba-progress-banner__text\">{config.text}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dps-ba-progress-banner__action\">\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tlabel=\"View progress\"\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\ton-click={() => dispatch(config.viewProgressAction, { showTips: false })}\n\t\t\t\t\t></now-button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default createCustomElement('dps-ba-progress-banner', {\n\trenderer: { type: snabbdom, view },\n\tproperties: {\n\t\tvisible: { default: false },\n\t\talertType: { default: 'setup' }\n\t},\n\tstyles\n});\n","import snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { createCustomElement } from '@servicenow/ui-core';\nimport '@servicenow/now-modal';\nimport { INSTANCE_ACTION_STATES, CONSTANTS } from \"../../../constants\";\nimport instanceUnConfigured from '../../../images/instance-fulfilling-modal.svg';\nimport APP_ACTIONS from '../../dps-app/actions';\nimport styles from \"../styles.scss\";\n\nexport const FulfillingExperienceModal = () => {\n    const headerLabel = \"Request an instance\";\n    const footerActions = [\n        {\n            variant: 'primary',\n            label: 'Close',\n            clickActionType: APP_ACTIONS.CLOSE_FULFILLING_INSTANCE_MODAL,\n        },\n    ];\n    return (\n        <now-modal\n            component-name={CONSTANTS.MODAL_COMP_NAMES.FULFILLING_EXPERIENCE_MODAL}\n            opened\n            manage-opened\n            size=\"xl\"\n            customSize={{ height: 'auto', width: 'fit-content' }}\n            header-label={headerLabel}\n            footer-actions={footerActions}\n        >\n            <div className=\"dps-pdi-summary -summary\" style={{\"background\": \"none\", padding: 0}}>\n                <section className=\"dps-pdi-summary-content-section\">\n                    <div className=\"card-container\">\n                        <center className=\"instance-info-container\" style={{ gap: \"14px\", border: \"none\" }}>\n                            <img style={{ height: '22vh' }} src={instanceUnConfigured}></img>\n                            <h2 className='dps-pdi-instance-fulfilling'>\n                                {INSTANCE_ACTION_STATES.FULFILLING_REQUEST + \"...\"}\n                            </h2>\n                            <div className='dps-pdi-instance-fulfilling-info'>\n                                Your personal developer instance (PDI) is currently being prepared.\n                                <br />Feel free to explore other content while you wait; we will notify you once your PDI is ready.\n                            </div>\n                        </center>\n                    </div>\n                </section>\n            </div>\n        </now-modal>);\n}\n\nexport const FulfillingExperienceModalElm = 'dps-pdi-full-filling';\n\nexport default createCustomElement(FulfillingExperienceModalElm, {\n    renderer: { type: snabbdom },\n    view: FulfillingExperienceModal,\n    styles,\n    properties: {\n\n    }\n});","import { createCustomElement } from '@servicenow/ui-core';\n\nexport default createCustomElement('dps-data-provider', {\n\tproperties: {\n\t\tinstanceInfo: {\n\t\t\tdefault: {},\n\t\t\tselectable: true\n\t\t},\n\t\tinstanceManagement: {\n\t\t\tdefault: {},\n\t\t\tselectable: true\n\t\t}\n\t}\n});\n","import '../../components/dps-navigation-header';\nimport '../../components/dps-content-feedback-form';\nimport '../../components/dps-expired-session-modal';\nimport '../../components/dps-footer';\nimport '../../components/dps-general-feedback-form';\nimport '../../components/dps-instance-modal';\nimport '../../components/dps-lead-tracking-modal';\nimport '../../components/dps-legal-agreement-modal';\nimport '../../components/dps-whats-new-modal';\nimport '../../components/dps-playground-whats-new-modal';\nimport '../../components/dps-user-profile-modal';\nimport '../../components/dps-site-banner';\nimport '../../components/dps-spinner';\nimport '../../components/dps-toast-alert';\nimport '../../components/dps-toast-container';\nimport '../dps-instance-assignment-modal';\nimport '../dps-ba-progress-banner';\nimport { FulfillingExperienceModalElm } from '../dps-pdi-summary/modals';\n\nimport '../../components/dps-error-page';\nimport { CONNECT_ALERT_BANNER_MSG, CONSTANTS } from '../../constants';\n// import { APP_ACTIONS } from \"./actions\";\n// import { CONNECT_ALERT_BANNER_MSG, CONSTANTS, DPS_SITE_BANNER_TYPE } from '../../constants';\nimport { ROUTES, routeSwitch } from '../../routes';\nimport { isSmallViewport, isTruthy } from '../../utils/helpers';\nimport '../dps-data-provider';\nimport { initializeInstanceState } from './actionHelpers';\n// import connectBannerIcon from '../../images/connect_mvp_banner_icon.svg';\n// import { Fragment } from '@servicenow/ui-renderer-snabbdom';\nimport { DevPlatformStorage } from '../../utils/storage';\nimport { addHashBang } from '../../behaviors/router/helpers';\n\nconst view = state => {\n\tconst {\n\t\tinstanceManagement: {\n\t\t\tavailablePlugins,\n\t\t\tcatItemInProgress,\n\t\t\texecuteCatItemResult,\n\t\t\tinstanceActionMenu: instanceMenuItems,\n\t\t\tisInstanceRefreshing,\n\t\t\tisLoadingOperationHistory,\n\t\t\tisLoadingPlugins,\n\t\t\topResult,\n\t\t\toperationHistory,\n\t\t\tcompleteOperationHistory,\n\t\t\tshowOpResultBySysId,\n\t\t\ttotalNumberOfOperations,\n\t\t\tupgradeableInstanceTargets\n\t\t},\n\t\tinstanceInfo: initialInstanceInfo,\n\t\tfooterProps,\n\t\tmagicLink,\n\t\tnavigationConfig,\n\t\tonexMenu,\n\t\ttoastMessages,\n\t\tnowAlertMessages,\n\t\tproperties: {\n\t\t\tcomputedRelease,\n\t\t\tcontentFeedbackOpen,\n\t\t\tcontentFeedbackTitle,\n\t\t\tcontentFeedbackType,\n\t\t\tfeedbackFormSubmittedFrom,\n\t\t\tgeneralFeedbackOpen,\n\t\t\thash,\n\t\t\thasSystemProperties,\n\t\t\thasReleaseInfo,\n\t\t\tisExpiredSessionModalOpened,\n\t\t\tisInstanceModalOpened,\n\t\t\tisInstanceAssignmentModalOpened,\n\t\t\tinstanceAssignmentModalScreenType,\n\t\t\tisQuickResetAndWipeDuplicate,\n\t\t\tinstanceAssignmentDetails,\n\t\t\tisOpenedFromQuickResetWipe,\n\t\t\tisLeadTrackingModalOpened,\n\t\t\tisLegalAgreementModalOpened,\n\t\t\tisWhatsNewModalOpened,\n\t\t\tisPlaygroundWhatsNewModalOpened,\n\t\t\tleadTrackingProps,\n\t\t\tlegalAgreementProps,\n\t\t\tnavOpen,\n\t\t\tfeedbackOptions,\n\t\t\tfeedbackMessages,\n\t\t\tpageNotFoundMessage,\n\t\t\tselectedCatItemId,\n\t\t\tselectedInstanceAssignmentMenu,\n\t\t\trouteParams,\n\t\t\trouteName,\n\t\t\tpathname,\n\t\t\trelease,\n\t\t\treleaseInfo,\n\t\t\trouteString,\n\t\t\tuserInfo,\n\t\t\tsystemProperties,\n\t\t\tdisableInstanceModalClose,\n\t\t\tinstanceRegion,\n\t\t\tisPageNotFound,\n\t\t\tillegalUrls,\n\t\t\tqueryParams,\n\t\t\tisInstanceAvailableInSamePatch,\n\t\t\tisPristineUserRequested,\n\t\t\ttoastPayload,\n\t\t\tisBlockedUser,\n\t\t\tisCustomerUIProfileModal,\n\t\t\tcontentDetails,\n\t\t\tisContentNotFoundForCurrentRelease,\n\t\t\tisRequestForAutoAssignInstance,\n\t\t\tisQuestionsSubmittedInProgress,\n\t\t\tshowUserPersonaSubmissionError,\n\t\t\tisInstanceStatsCheckInProgress,\n\t\t\tlastRequestedRelease,\n\t\t\tsiteBanner,\n\t\t\tisResetInstancePasswordEmailFailed,\n\t\t\tisResetPasswordEmailSuccessful,\n\t\t\tchangedPdiUserRole,\n\t\t\tsuggestionPayload,\n\t\t\tisBuildAgentExperience,\n\t\t\thasSelectedModalBA,\n\t\t\tsearchConfig,\n\t\t\tpaginationToken,\n\t\t\tsearchResultMetaData,\n\t\t\tgeniusResult,\n\t\t\tsearchResultsTemplates,\n\t\t\tsearchSources,\n\t\t\tsearchResultLoading,\n\t\t\tnoSearchDataAvailable,\n\t\t\tglobalSearchTerm,\n\t\t\tcommonData,\n\t\t\tisAutoAssignRunInBackground,\n\t\t\tshowTips,\n\t\t\tautoAssignAlertType\n\t\t},\n\t} = state;\n\n\n\tconst selectedVersion = userInfo.version_selected;\n\tconst maxOperationHistory = parseInt(\n\t\t(systemProperties &&\n\t\t\tsystemProperties['dev.instance.max_operation_history']) ||\n\t\tCONSTANTS.DEFAULTS.MAX_ITEMS_OPERATION_HISTORY,\n\t\t10\n\t);\n\tconst isPlaygroundUrl =\n\t\trouteParams.docType && routeParams.docType === 'playground';\n\n\tif (systemProperties) {\n\t\tif (systemProperties['dev.home.footer.props']) {\n\t\t\tconst footerProperties = systemProperties['dev.home.footer.props'];\n\t\t\tconst { siteMap, resources } = JSON.parse(footerProperties);\n\n\t\t\tfooterProps.siteMap = siteMap && [...siteMap];\n\t\t\tfooterProps.resources = resources && [...resources];\n\t\t}\n\t\tfooterProps.copyRightYear = systemProperties['dev.copyright.year'];\n\t\tfooterProps.showTutorial = isTruthy(systemProperties['dev.tutorials.is_enabled']);\n\t}\n\n\tconst isConnectMVPBannerDismissed = DevPlatformStorage.loadFromLocalStorage(\n\t\tCONSTANTS.DEFAULTS.SYSTEM_WIDE_ALERT_CONNECT_MVP_DISMISSED_KEY\n\t);\n\tconst isConnectMVPEnable = (systemProperties && !isConnectMVPBannerDismissed) ? systemProperties['dev.connect_mvp_site_banner_enable'] === \"true\" : false;\n\tconst connectMsg = CONNECT_ALERT_BANNER_MSG;\n\tconst isMVPPage = window.location.hash.indexOf(addHashBang(ROUTES.mvp)) > -1;\n\tconnectMsg.open = isConnectMVPEnable && !isMVPPage;\n\n\n\n\tconst pdiUserRole =\n\t\tchangedPdiUserRole ||\n\t\t(userInfo && userInfo.pdi_user_role) ||\n\t\tCONSTANTS.DEFAULTS.DEFAULT_USER_PDI_ROLE;\n\n\tconst hashRoutes = window.location.hash.split(\"#!/\")[1]?.split(\"/\");\n\n\t// TODO - This is a hack. We need to find out where\n\t// instanceInfo is getting re-initialized as a plain object\n\tconst instanceInfo =\n\t\ttypeof initialInstanceInfo.isWakingInstance === 'undefined'\n\t\t\t? initializeInstanceState(initialInstanceInfo)\n\t\t\t: initialInstanceInfo;\n\n\tconst usersEmail = userInfo && userInfo.email;\n\tconst instancePassword =\n\t\t(opResult && opResult.password) ||\n\t\t(instanceInfo && instanceInfo.tempPassword);\n\tconst instanceUrl = instanceInfo && instanceInfo.url;\n\tconst resetPasswordOperationFailed = opResult && opResult.status === 'FAIL';\n\tconst showUnplannedMaintenanceBanner =\n\t\tinstanceInfo.underUnplannedMaintenance || false;\n\tconst unplannedMaintenanceBannerContent =\n\t\tsystemProperties['dev.unplanned_maintenance.banner.content'] &&\n\t\tJSON.parse(systemProperties['dev.unplanned_maintenance.banner.content']);\n\tconst message =\n\t\t(unplannedMaintenanceBannerContent &&\n\t\t\tunplannedMaintenanceBannerContent.message) ||\n\t\tfalse;\n\tconst links =\n\t\t(unplannedMaintenanceBannerContent &&\n\t\t\tunplannedMaintenanceBannerContent.links) ||\n\t\tfalse;\n\n\tlet bannersOpenedCount = 0;\n\n\tif (showUnplannedMaintenanceBanner) {\n\t\tbannersOpenedCount = bannersOpenedCount + 1;\n\t}\n\tif (connectMsg?.open) {\n\t\tbannersOpenedCount = bannersOpenedCount + 1;\n\t}\n\tif (siteBanner?.open) {\n\t\tbannersOpenedCount = bannersOpenedCount + 1;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'dps-app': true,\n\t\t\t\t'-nav-open': navOpen\n\t\t\t}}\n\t\t>\n\t\t\t<header>\n\t\t\t\t<dps-site-banner\n\t\t\t\t\tdismissable={connectMsg.dismissable}\n\t\t\t\t\tmessage={connectMsg.message}\n\t\t\t\t\topen={connectMsg.open}\n\t\t\t\t\ttype={connectMsg.type}\n\t\t\t\t\tlinks={connectMsg.links}\n\t\t\t\t\timage={connectMsg.image}\n\t\t\t\t\thideBanner={isMVPPage}\n\t\t\t\t\tid={'global-connect-mvp-banner'}\n\t\t\t\t/>\n\t\t\t\t<dps-site-banner\n\t\t\t\t\tdismissable={siteBanner.dismissable}\n\t\t\t\t\tmessage={siteBanner.message}\n\t\t\t\t\topen={siteBanner.open}\n\t\t\t\t\ttype={siteBanner.type}\n\t\t\t\t\tid={'globalSiteBanner'}\n\t\t\t\t/>\n\t\t\t\t{showUnplannedMaintenanceBanner ? (\n\t\t\t\t\t<dps-site-banner\n\t\t\t\t\t\tdismissable={false}\n\t\t\t\t\t\tmessage={message}\n\t\t\t\t\t\tlinks={links}\n\t\t\t\t\t\topen={true}\n\t\t\t\t\t\ttype={'warning'}\n\t\t\t\t\t\tid={'unplannedMaintenanceBanner'}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t<dps-navigation-header\n\t\t\t\t\tcatItemInProgress={catItemInProgress}\n\t\t\t\t\tcomputedRelease={computedRelease}\n\t\t\t\t\tinstanceMenuItems={instanceMenuItems}\n\t\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\t\tnavOpen={navOpen}\n\t\t\t\t\tnavigationConfig={navigationConfig}\n\t\t\t\t\tonexMenu={onexMenu}\n\t\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\t\tselectedVersion={selectedVersion}\n\t\t\t\t\tuserInfo={userInfo}\n\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\trelease={release}\n\t\t\t\t\troute={routeString}\n\t\t\t\t\tisInstanceRefreshing={isInstanceRefreshing}\n\t\t\t\t\tisBlockedUser={isBlockedUser}\n\t\t\t\t\tlastRequestedRelease={lastRequestedRelease}\n\t\t\t\t\tbannersOpenedCount={bannersOpenedCount}\n\t\t\t\t\tsearchConfig={searchConfig}\n\t\t\t\t\tisAutoAssignRunInBackground={isAutoAssignRunInBackground}\n\t\t\t\t\tisBuildAgentExperience={isBuildAgentExperience}\n\t\t\t\t\tisInstanceAssignmentModalOpened={isInstanceAssignmentModalOpened}\n\t\t\t\t\tinstanceAssignmentModalScreenType={instanceAssignmentModalScreenType}\n\t\t\t\t/>\n\t\t\t\t{isInstanceModalOpened ? (\n\t\t\t\t\t<dps-instance-modal\n\t\t\t\t\t\tavailablePlugins={availablePlugins}\n\t\t\t\t\t\tcatItemInProgress={catItemInProgress}\n\t\t\t\t\t\tdisableClose={disableInstanceModalClose}\n\t\t\t\t\t\texecuteCatItemResult={executeCatItemResult}\n\t\t\t\t\t\tinstanceId={instanceInfo.sys_id}\n\t\t\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\t\t\tinstanceVersion={instanceInfo.release}\n\t\t\t\t\t\tisLoadingOperationHistory={isLoadingOperationHistory}\n\t\t\t\t\t\tisLoadingPlugins={isLoadingPlugins}\n\t\t\t\t\t\tmaxOperationHistory={maxOperationHistory}\n\t\t\t\t\t\tmenuItems={instanceMenuItems}\n\t\t\t\t\t\topened={isInstanceModalOpened}\n\t\t\t\t\t\toperationHistory={operationHistory}\n\t\t\t\t\t\topResult={opResult}\n\t\t\t\t\t\tpdiUserRole={pdiUserRole}\n\t\t\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\t\t\tselectedCatItemId={selectedCatItemId}\n\t\t\t\t\t\tshowOpResultBySysId={showOpResultBySysId}\n\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\ttotalNumberOfOperations={totalNumberOfOperations}\n\t\t\t\t\t\tupgradeableInstanceTargets={upgradeableInstanceTargets}\n\t\t\t\t\t\tusersEmail={usersEmail}\n\t\t\t\t\t\tisInstanceAvailableInSamePatch={isInstanceAvailableInSamePatch}\n\t\t\t\t\t\tinstancePassword={instancePassword}\n\t\t\t\t\t\tinstanceUrl={instanceUrl}\n\t\t\t\t\t\tpasswordResetFailed={resetPasswordOperationFailed}\n\t\t\t\t\t\tpasswordResetEmailFailed={isResetInstancePasswordEmailFailed}\n\t\t\t\t\t\tshowResetPasswordEmailConfirmation={isResetPasswordEmailSuccessful}\n\t\t\t\t\t></dps-instance-modal>\n\t\t\t\t) : null}\n\t\t\t\t{isInstanceAssignmentModalOpened ||\n\t\t\t\t\tisPristineUserRequested ||\n\t\t\t\t\tisRequestForAutoAssignInstance ||\n\t\t\t\t\tisAutoAssignRunInBackground ? (\n\t\t\t\t\t<dps-instance-assignment-modal\n\t\t\t\t\t\topened={isInstanceAssignmentModalOpened || isPristineUserRequested}\n\t\t\t\t\t\tselectedItem={selectedInstanceAssignmentMenu}\n\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\treleaseInfo={releaseInfo}\n\t\t\t\t\t\tinstanceInfo={instanceInfo}\n\t\t\t\t\t\tuserInfo={userInfo}\n\t\t\t\t\t\tscreen={instanceAssignmentModalScreenType}\n\t\t\t\t\t\tisInstanceRequestDuplicate={isQuickResetAndWipeDuplicate}\n\t\t\t\t\t\tinstanceAssignmentDetails={instanceAssignmentDetails}\n\t\t\t\t\t\tisOpenedFromQuickResetWipe={isOpenedFromQuickResetWipe}\n\t\t\t\t\t\tisPristineUserRequested={isPristineUserRequested}\n\t\t\t\t\t\tisRequestForAutoAssignInstance={isRequestForAutoAssignInstance}\n\t\t\t\t\t\tisBuildAgentExperience={isBuildAgentExperience}\n\t\t\t\t\t\tpromptingTips={commonData?.[CONSTANTS.COMMON_DATA_KEYS.PROMPTING_TIPS]}\n\t\t\t\t\t\tshowTips={showTips}\n\t\t\t\t\t></dps-instance-assignment-modal>\n\t\t\t\t) : null}\n\n\t\t\t\t{\n\t\t\t\t\thasSelectedModalBA === \"fulfill\" &&\n\t\t\t\t\t<FulfillingExperienceModalElm />\n\t\t\t\t}\n\t\t\t\t{contentFeedbackOpen ? (\n\t\t\t\t\t<dps-content-feedback-form\n\t\t\t\t\t\topened={contentFeedbackOpen}\n\t\t\t\t\t\tquestions={feedbackOptions}\n\t\t\t\t\t\tuserInfo={userInfo}\n\t\t\t\t\t\tmessages={feedbackMessages}\n\t\t\t\t\t\ttitle={contentFeedbackTitle}\n\t\t\t\t\t\tcontentType={contentFeedbackType}\n\t\t\t\t\t\tcharsLeft={systemProperties['dev.feedback_limit.content']}\n\t\t\t\t\t\tmaxLength={systemProperties['dev.feedback_limit.content']}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t{isLeadTrackingModalOpened ? (\n\t\t\t\t\t<dps-lead-tracking-modal\n\t\t\t\t\t\topened={isLeadTrackingModalOpened}\n\t\t\t\t\t\tuserInfo={userInfo}\n\t\t\t\t\t\t{...leadTrackingProps}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t{isWhatsNewModalOpened && !isSmallViewport() ? (\n\t\t\t\t\t<dps-whats-new-modal\n\t\t\t\t\t\topened={isWhatsNewModalOpened}\n\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\tuserInfo={userInfo}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t{isPlaygroundWhatsNewModalOpened &&\n\t\t\t\t\tisPlaygroundUrl &&\n\t\t\t\t\t!isSmallViewport() ? (\n\t\t\t\t\t<dps-playground-whats-new-modal\n\t\t\t\t\t\topened={isPlaygroundWhatsNewModalOpened}\n\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\tuserInfo={userInfo}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t{isCustomerUIProfileModal ? (\n\t\t\t\t\t<dps-user-profile-modal\n\t\t\t\t\t\topened={isCustomerUIProfileModal}\n\t\t\t\t\t\tsystemProperties={systemProperties}\n\t\t\t\t\t\tshowUserPersonaSubmissionError={showUserPersonaSubmissionError}\n\t\t\t\t\t\tisUserProfileQuestionsSubmitted={isQuestionsSubmittedInProgress}\n\t\t\t\t\t></dps-user-profile-modal>\n\t\t\t\t) : null}\n\t\t\t\t{isLegalAgreementModalOpened ? (\n\t\t\t\t\t<dps-legal-agreement-modal opened={true} {...legalAgreementProps} />\n\t\t\t\t) : null}\n\t\t\t\t{isExpiredSessionModalOpened ? (\n\t\t\t\t\t<dps-expired-session-modal opened={isExpiredSessionModalOpened} />\n\t\t\t\t) : null}\n\t\t\t\t<dps-toast-container toastMessages={toastMessages} />\n\t\t\t</header>\n\t\t\t<main>\n\t\t\t\t<dps-ba-progress-banner visible={isAutoAssignRunInBackground && isBuildAgentExperience} alertType={autoAssignAlertType}></dps-ba-progress-banner>\n\t\t\t\t{hasSystemProperties && hasReleaseInfo ? (\n\t\t\t\t\tisPageNotFound ? (\n\t\t\t\t\t\t<dps-error-page\n\t\t\t\t\t\t\trelease={release}\n\t\t\t\t\t\t\tisContentNotFoundForCurrentRelease={\n\t\t\t\t\t\t\t\tisContentNotFoundForCurrentRelease\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcontentDetails={contentDetails}\n\t\t\t\t\t\t\tmessage={pageNotFoundMessage}\n\t\t\t\t\t\t\tillegalUrls={illegalUrls}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\trouteSwitch({\n\t\t\t\t\t\t\tcatItemInProgress,\n\t\t\t\t\t\t\tcomputedRelease,\n\t\t\t\t\t\t\thash,\n\t\t\t\t\t\t\toperationHistory,\n\t\t\t\t\t\t\tcompleteOperationHistory,\n\t\t\t\t\t\t\tinstanceMenuItems,\n\t\t\t\t\t\t\tinstanceInfo,\n\t\t\t\t\t\t\tillegalUrls,\n\t\t\t\t\t\t\tisInstanceRefreshing,\n\t\t\t\t\t\t\tpathname,\n\t\t\t\t\t\t\tisLoadingOperationHistory,\n\t\t\t\t\t\t\tmaxOperationHistory,\n\t\t\t\t\t\t\trelease,\n\t\t\t\t\t\t\treleaseInfo,\n\t\t\t\t\t\t\trouteParams,\n\t\t\t\t\t\t\trouteString,\n\t\t\t\t\t\t\tsystemProperties,\n\t\t\t\t\t\t\tupgradeableInstanceTargets,\n\t\t\t\t\t\t\tuserInfo,\n\t\t\t\t\t\t\tqueryParams,\n\t\t\t\t\t\t\tisBlockedUser,\n\t\t\t\t\t\t\tisQuestionsSubmittedInProgress,\n\t\t\t\t\t\t\tisInstanceStatsCheckInProgress,\n\t\t\t\t\t\t\tisRequestForAutoAssignInstance,\n\t\t\t\t\t\t\tsuggestionPayload,\n\t\t\t\t\t\t\tavailablePlugins,\n\t\t\t\t\t\t\tisLoadingPlugins,\n\t\t\t\t\t\t\tpdiUserRole,\n\t\t\t\t\t\t\topResult,\n\t\t\t\t\t\t\tresetPasswordOperationFailed,\n\t\t\t\t\t\t\texecuteCatItemResult,\n\t\t\t\t\t\t\tmagicLink,\n\t\t\t\t\t\t\tshowOpResultBySysId,\n\t\t\t\t\t\t\tnowAlertMessages,\n\t\t\t\t\t\t\tpaginationToken,\n\t\t\t\t\t\t\tsearchResultMetaData,\n\t\t\t\t\t\t\tgeniusResult,\n\t\t\t\t\t\t\tsearchResultsTemplates,\n\t\t\t\t\t\t\tsearchSources,\n\t\t\t\t\t\t\tsearchResultLoading,\n\t\t\t\t\t\t\tnoSearchDataAvailable,\n\t\t\t\t\t\t\tglobalSearchTerm,\n\t\t\t\t\t\t\tcommonData,\n\t\t\t\t\t\t\tisAutoAssignRunInBackground,\n\t\t\t\t\t\t\tisBuildAgentExperience,\n\t\t\t\t\t\t\tautoAssignAlertType\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t) : (\n\t\t\t\t\t<div className=\"dps-app-bootstrapping\">\n\t\t\t\t\t\t<dps-spinner />\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</main>\n\t\t\t<dps-footer\n\t\t\t\t{...footerProps}\n\t\t\t\tcomputedRelease={computedRelease}\n\t\t\t\trelease={release}\n\t\t\t\thashRoutes={hashRoutes}\n\t\t\t\tuserInfo={userInfo}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nexport default view;\n","import { removeHashBang, getQueryParams, decodeExceptSlash } from './helpers';\nimport { CONSTANTS } from '../../constants.js';\nimport matchPath from './matchPath';\n\nconst findRoute = (routes = {}, rawPathname=window.location.hash) => {\n\tconst pathname = removeHashBang(decodeExceptSlash(rawPathname));\n\tconst queryParams = getQueryParams(pathname);\n\tconst extractedHash = pathname.indexOf('#') !== -1 ? pathname.replace(/^.*#/, '#') : '';\n\tconst pathnameNoHash = pathname.replace(/#.*$/, '');\n\tconst routeKeys = Object.keys(routes);\n\tconst generalFeedbackOpen =\n\t\tqueryParams &&\n\t\tqueryParams.m ===\n\t\t\tCONSTANTS.DEFAULTS.DEV_GENERAL_FEEDBACK_MODAL_QUERY_PARAM &&\n\t\tpathname.includes('home')\n\t\t\t? true\n\t\t\t: false;\n\tfor (let i = 0; i < routeKeys.length; i++) {\n\t\tconst routeKey = routeKeys[i];\n\t\tconst route = routes[routeKey];\n\t\tconst matches = matchPath(route, pathname);\n\t\tif(matches) {\n\t\t\tconst newProperties = {\n\t\t\t\trouteParams: matches.params,\n\t\t\t\tpathname: pathnameNoHash,\n\t\t\t\trouteString: route,\n\t\t\t\trouteName: routeKey,\n\t\t\t\thash: extractedHash,\n\t\t\t\tqueryParams,\n\t\t\t\tgeneralFeedbackOpen\n\t\t\t};\n\n\t\t\treturn newProperties;\n\t\t}\n\t}\n\treturn {\n\t\trouteParams: {},\n\t\tpathname: pathnameNoHash,\n\t\trouteString: null,\n\t\trouteName: null,\n\t\thash: extractedHash,\n\t\tqueryParams,\n\t\tgeneralFeedbackOpen\n\t};\n};\n\nexport default findRoute;\n","import { addHashBang, getAnchorOrigin } from './helpers';\n\nexport const routerHashchangeHandler = (options, dispatch, updateProperties, executeRouteChange) => {\n\t// Fires the action and updates properties if options allow\n\texecuteRouteChange(options, dispatch, updateProperties);\n};\n\nexport const routerClickHandler = event => {\n\t// ignore the click if the default action is prevented\n\tif (event.defaultPrevented) {\n\t\treturn;\n\t}\n\n\t// ignore the click if not with the primary mouse button\n\tif (event.button !== 0) {\n\t\treturn;\n\t}\n\n\t// ignore the click if a modifier key is pressed\n\tif (event.shiftKey || event.ctrlKey || event.altKey || event.metaKey) {\n\t\treturn;\n\t}\n\n\t// find the <a> element that the click is at (or within)\n\tlet anchor = event.target;\n\tconst path = event.composedPath\n\t\t? event.composedPath()\n\t\t: (event.path || []);\n\n\tfor (let i = 0; i < path.length; i++) {\n\t\tconst target = path[i];\n\t\tif (target.nodeName && target.nodeName.toLowerCase() === 'a') {\n\t\t\tanchor = target;\n\t\t\tbreak;\n\t\t}\n\t}\n\n\twhile (anchor && anchor.nodeName.toLowerCase() !== 'a') {\n\t\tanchor = anchor.parentNode;\n\t}\n\n\t// ignore the click if not at an <a> element\n\tif (!anchor || anchor.nodeName.toLowerCase() !== 'a') {\n\t\treturn;\n\t}\n\n\t// ignore the click if the <a> element has a non-default target\n\tif (anchor.target && anchor.target.toLowerCase() !== '_self') {\n\t\treturn;\n\t}\n\n\t// ignore the click if the <a> element has the 'download' attribute\n\tif (anchor.hasAttribute('download')) {\n\t\treturn;\n\t}\n\n\t// ignore if anchor uses download.do processor\n\tif (anchor.pathname.includes('download.do')) {\n\t\treturn;\n\t}\n\n\t// ignore the click if the target URL is a fragment on the current pages\n\tif (anchor.pathname === window.location.pathname && anchor.hash !== '') {\n\t\treturn;\n\t}\n\n\t// ignore the click if the target is external to the app\n\t// In IE11 HTMLAnchorElement does not have the `origin` property\n\tconst origin = anchor.origin || getAnchorOrigin(anchor);\n\tif (origin !== window.location.origin) {\n\t\treturn;\n\t}\n\n\t// if none of the above, convert the click into a navigation event\n\twindow.location.hash = addHashBang(anchor.pathname);\n\tevent.preventDefault();\n};\n","import { addHashBang, removeQueryParams } from './helpers';\n\nexport default {\n\t['ROUTER_BEHAVIOR#UPDATE_ROUTE_WITH_PARAMS']: ({ action, properties }) => {\n\t\tconst { pathname, hash } = properties;\n\t\tconst pathWithoutParams = removeQueryParams(pathname + hash);\n\n\t\tconst params = new URLSearchParams(action.payload);\n\t\tconst paramsToString = params.toString();\n\n\t\tconst newPathWithParams = pathWithoutParams + (paramsToString && `?${paramsToString}`);\n\t\twindow.location.hash = addHashBang(newPathWithParams);\n\t},\n\t['ROUTER_BEHAVIOR#ADD_QUERY_PARAMS']: ({ action, properties, dispatch }) => {\n\t\t// payload is an object with keys being query param\n\t\t// names and values being the new values desired\n\t\t// {\n\t\t//    filter: 'foo'\n\t\t// }\n\n\t\t// Since we registered router behavior with options, options are getting included as payload in every action handler.\n\t\t// Deleting options from payload here since options are getting passed to url as params (as &options=%5Bobject+Object%5D) while filtering\n\t\tdelete action.payload['options'];\n\n\t\tconst params = action.payload;\n\t\tconst { queryParams } = properties;\n\t\tconst newParams = new URLSearchParams({ ...queryParams, ...params });\n\n\t\tdispatch('ROUTER_BEHAVIOR#UPDATE_ROUTE_WITH_PARAMS', newParams);\n\t},\n\t['ROUTER_BEHAVIOR#REMOVE_QUERY_PARAMS']: ({ action, properties, dispatch }) => {\n\t\t// payload is an array of query params to remove\n\t\t// ['filter']\n\t\tconst paramsToRemove = action.payload;\n\t\tconst { queryParams } = properties;\n\t\tconst newParams = new URLSearchParams(queryParams);\n\n\t\tparamsToRemove.forEach(param => newParams.delete(param));\n\n\t\tdispatch('ROUTER_BEHAVIOR#UPDATE_ROUTE_WITH_PARAMS', newParams);\n\t}\n};\n","import { actionTypes } from '@servicenow/ui-core';\nimport findRoute from './findRoute';\nimport { routerHashchangeHandler, routerClickHandler } from './handlers';\nimport queryParamActions from './queryParamActions';\n\nconst {\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_DISCONNECTED\n} = actionTypes;\n\nconst executeRouteChange = (options, dispatch, updateProperties) => {\n\tconst routeProperties = findRoute(options.routes);\n\n\tif(!options.skipUpdateProperties) {\n\t\tupdateProperties(routeProperties);\n\t}\n\tif(!options.skipDispatch) {\n\t\tdispatch('ROUTER_BEHAVIOR#ROUTE_CHANGED', routeProperties);\n\t}\n};\n\nexport default {\n\tname: 'router',\n\tproperties: {\n\t\trouteParams: {\n\t\t\tdefault: {}\n\t\t},\n\t\tpathname: {\n\t\t\tdefault: ''\n\t\t},\n\t\trouteString: {\n\t\t\tdefault: ''\n\t\t},\n\t\trouteName: {\n\t\t\tdefault: ''\n\t\t},\n\t\thash: {\n\t\t\tdefault: null\n\t\t},\n\t\tqueryParams: {\n\t\t\tdefault: {}\n\t\t}\n\t},\n\tactionHandlers: {\n\t\t/* eslint-disable object-shorthand */\n\t\t[COMPONENT_BOOTSTRAPPED]: ({dispatch, updateProperties, action: {payload: {options}}}) => {\n\t\t\t// Fires the action and updates properties if options allow\n\t\t\texecuteRouteChange(options, dispatch, updateProperties);\n\n\t\t\twindow.addEventListener('hashchange', routerHashchangeHandler.bind(\n\t\t\t\tnull,\n\t\t\t\toptions,\n\t\t\t\tdispatch,\n\t\t\t\tupdateProperties,\n\t\t\t\texecuteRouteChange\n\t\t\t));\n\t\t\twindow.document.addEventListener('click', routerClickHandler);\n\t\t},\n\t\t[COMPONENT_DISCONNECTED]: ({dispatch, updateProperties, action: {payload: {options}}}) => {\n\t\t\twindow.removeEventListener('hashchange', routerHashchangeHandler.bind(\n\t\t\t\tnull,\n\t\t\t\toptions,\n\t\t\t\tdispatch,\n\t\t\t\tupdateProperties,\n\t\t\t\texecuteRouteChange\n\t\t\t));\n\t\t\twindow.document.removeEventListener('click', routerClickHandler);\n\t\t},\n\t\t...queryParamActions\n\t}\n};\n","/* eslint-disable curly */\nimport { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport ambEventEffectBehavior from '../../behaviors/ambEventEffect';\nimport detectSSOLogin from '../../behaviors/detectSSOLogin';\nimport inactivityMonitorBehavior from '../../behaviors/inactivityMonitor';\nimport windowMessageBehavior from '../../behaviors/windowMessage';\nimport actionHandlers from './actionHandlers/index';\nimport { APP_ACTIONS } from './actions';\nimport initialState from './initialState';\nimport properties from './properties';\nimport view from './view';\nimport keyBindingBehavior from '@servicenow/behavior-key-binding';\nimport styles from './dps-app.scss';\nimport { getSelectedVersion } from '../../utils/releaseHelpers';\nimport router from '../../behaviors/router';\nimport { ROUTES } from '../../routes';\nimport { CONSTANTS } from '../../constants';\nimport { DevPlatformStorage } from '../../utils/storage';\nimport { isNowOrLocal } from '../../utils/isNowOrLocal';\n\nconst behaviors = [\n\t{\n\t\tbehavior: ambEventEffectBehavior,\n\t\toptions: {}\n\t},\n\t{\n\t\tbehavior: inactivityMonitorBehavior,\n\t\toptions: {\n\t\t\twatchEvents: [\n\t\t\t\t'mousemove',\n\t\t\t\t'keydown',\n\t\t\t\t'DOMMouseScroll',\n\t\t\t\t'mousewheel',\n\t\t\t\t'mousedown',\n\t\t\t\t'touchstart',\n\t\t\t\t'touchmove',\n\t\t\t\t'scroll'\n\t\t\t]\n\t\t}\n\t},\n\t{\n\t\tbehavior: keyBindingBehavior,\n\t\toptions: {\n\t\t\tkeyBindings: {\n\t\t\t\tonEscapePress: 'Escape'\n\t\t\t},\n\t\t\thandlers: {\n\t\t\t\tonEscapePress(host, evt, dispatch) {\n\t\t\t\t\t// evt.preventDefault();\n\t\t\t\t\tdispatch(APP_ACTIONS.CLOSE_NAV_HEADER);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\tbehavior: router,\n\t\toptions: {\n\t\t\troutes: ROUTES\n\t\t}\n\t},\n\t{\n\t\tbehavior: detectSSOLogin,\n\t\toptions: {\n\t\t\tlocalStorageKey: CONSTANTS.DEFAULTS.SSO_RETURN_VALUE_KEY,\n\t\t\tpropsMap: {\n\t\t\t\thasSystemProperties: 'hasSystemProperties',\n\t\t\t\thasUserInfo: 'hasUserInfo',\n\t\t\t\tsystemProperties: 'systemProperties',\n\t\t\t\tuser: 'userInfo'\n\t\t\t},\n\t\t\tsaveToLocalStorage: DevPlatformStorage.saveToLocalStorage,\n\t\t\tssoSessionPath: '/api/v1/sessions/me',\n\t\t}\n\t},\n\t{\n\t\tbehavior: windowMessageBehavior,\n\t\toptions: {\n\t\t\thandlers: [\n\t\t\t\t(e, dispatch) => {\n\t\t\t\t\tconst { data } = e;\n\t\t\t\t\tif (\n\t\t\t\t\t\tdata &&\n\t\t\t\t\t\tdata === CONSTANTS.DEFAULTS.SSO_DETECTION_MESSAGE\n\t\t\t\t\t) {\n\t\t\t\t\t\tdispatch(APP_ACTIONS.SSO_IFRAME_LOADED);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n];\n\nif (isNowOrLocal()) {\n\tvar tag = document.createElement(\"script\");\n\ttag.src = \"https://assets.adobedtm.com/a441b904b50e/a1b7254b4e1d/launch-057cf39df786-staging.min.js\";\n\tdocument.head.appendChild(tag);\n\twindow.sendGoogleData = function () { };\n\tif (!window['__TECTONIC_TRANSLATIONS__']) {\n\t\twindow['__TECTONIC_TRANSLATIONS__'] = {};\n\t}\n\tvar devSiteTranslations = {\n\t\t\"sn_cx_nav.more\": \"More\",\n\t\t\"sn_cx_nav.sign_in\": \"Sign In\",\n\t\t\"sn_cx_nav.view_all_results_for\": \"View all search results for {0}\",\n\t\t\"sn_lxp_sp.view.all\": \"View All\",\n\t\t'Search across ServiceNow': 'Search within Developer Site',\n\t};\n\twindow['__TECTONIC_TRANSLATIONS__'] = {\n\t\t...window['__TECTONIC_TRANSLATIONS__'],\n\t\t...devSiteTranslations,\n\t};\n}\n\nwindow.addEventListener('load', () => {\n\tsessionStorage.removeItem(\"dev.homepage.auth.prompt.launched\");;\n});\n\nexport default createCustomElement('dps-app', {\n\tactionHandlers,\n\tbehaviors,\n\tinitialState,\n\tproperties,\n\trenderer: { type: snabbdom },\n\tstyles,\n\ttransformState(state) {\n\t\tconst {\n\t\t\tproperties,\n\t\t\treleases: {\n\t\t\t\tactiveVersionsFormatted,\n\t\t\t\tdefaultVersionSelected,\n\t\t\t\tuserVersionSelected\n\t\t\t}\n\t\t} = state;\n\t\tconst selectedVersionKey = getSelectedVersion({\n\t\t\trelease: properties.routeParams.release, // release from the URL\n\t\t\tdefaultVersionSelected,\n\t\t\tuserVersionSelected\n\t\t});\n\n\t\treturn {\n\t\t\t...state,\n\t\t\tselectedVersion: activeVersionsFormatted[selectedVersionKey]\n\t\t};\n\t},\n\tview\n});\n\n","import { createCustomElement } from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport { CONSTANTS } from '../../constants';\nimport '../dps-app';\n\nimport styles from './dps-root.scss';\n\nconst DPSRoot = () => (\n\t<div className=\"dps-root\">\n\t\t<dps-app component-id={CONSTANTS.DEFAULTS.DPS_APP_ID}></dps-app>\n\t</div>\n);\n\nexport default createCustomElement('dps-root', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview: DPSRoot\n\t},\n\tstyles\n});\n"],"names":["parts","properties","Blob","e","name","console","error","BASE_CHARS","BLOB_TYPE_PREFIX_REGEX","SERIALIZED_MARKER","TYPE_ARRAYBUFFER","TYPE_BLOB","TYPE_INT8ARRAY","TYPE_UINT8ARRAY","TYPE_UINT8CLAMPEDARRAY","TYPE_INT16ARRAY","TYPE_INT32ARRAY","TYPE_UINT16ARRAY","TYPE_UINT32ARRAY","TYPE_FLOAT32ARRAY","TYPE_FLOAT64ARRAY","toString","Object","prototype","stringToBuffer","serializedString","encoded1","encoded2","encoded3","encoded4","bufferLength","length","len","p","buffer","ArrayBuffer","bytes","Uint8Array","i","indexOf","bufferToString","base64String","substring","serialize","value","callback","valueType","call","marker","Error","fileReader","FileReader","onload","str","type","this","result","readAsArrayBuffer","JSON","stringify","deserialize","parse","blobType","SERIALIZED_MARKER_LENGTH","test","matcher","match","createBlob","Int8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","normalizeKey","key","warn","concat","String","storage","window","setItem","promise","then","getCallback","arguments","STORAGE","LOCALSTORAGE","localStorage","SESSIONSTORAGE","sessionStorage","CACHE_API","caches","INDEXEDDB","indexedDB","DEFAULT_TTL","ttl","KEY_DELIMITER","NXUI_UNIFIED_CACHE","STORAGE_KEYPREFIX","VERSION_KEY","getTTL","TTL_EXPIRED_ITEM_KEYWORD","getItem","adapter","lastUsedTime","Date","now","isLRUItem","hasOwnProperty","removeItemsByInstance","instancePrefix","keys","itemKey","startsWith","push","_i","_keys","removeItem","keyPrefix","data","instanceAccessMap","Map","has","set","get","createInstanceAccessMap","size","_step","instanceAccessArray","_iterator","_createForOfIteratorHelper","s","n","done","err","f","sorted","sort","a","b","originalResult","expiry","undefined","getKeysWithTTL","evictionPolicies","config","evictionPolicy","lru","options","defaultConfig","storeName","_isLocalStorageUsable","localStorageTestKey","checkIfWebStorageThrows","_adapter","_initStorage","dbInfo","getKeyPrefix","_defaultConfig","_dbInfo","serializer","Promise","resolve","reject","_support","isWebStorageValid","_clearAllInstances","debug","iterate","iterator","self","ready","keyPrefixLength","iterationNumber","runCallback","_config","originalValue","clear","_clear","dropInstance","apply","currentConfig","READ_ONLY","READ_WRITE","initStorage","_connectToDB","db","database","openRequest","open","onupgradeneeded","createObjectStore","onsuccess","event","target","onerror","indexedDBError","getObjectStore","indexedDBCache","mode","transaction","objectStore","processError","indexedDBRequestError","retryable","indexedDBErrorName","indexedDBErrorMessage","message","makeRequest","request","indexedDBRequest","catch","put","delete","count","getAllKeys","index","iteratorCallback","_this","cursorRequest","openCursor","cursor","continue","_clearDB","clearRequest","IndexedDBCache","jest","testing","makeDBCall","unifiedCache","callFunction","_ref","_ref$storeName","_objectWithoutProperties","_excluded","_extends","databases","clearPromises","all","_isSessionStorageUsable","sessionStorageTestKey","_initStorage2","_asyncToGenerator","_regeneratorRuntime","_callee","_t","_context","prev","next","_cacheStorage","sent","abrupt","stop","_getItem","_callee3","fn","_context3","_callee2","response","_context2","_runOnReady","_setItem","_callee5","_this2","_context5","_ref2","_callee4","_context4","add","clone","_iterate","_callee7","_this3","_context7","_ref3","_callee6","requests","_t2","_context6","finish","_removeItem","_callee9","_this4","_context9","_ref4","_callee8","isDeleted","_context8","_callee1","_this5","_context1","_ref5","_callee0","promises","_context0","map","_length","_callee11","_this6","_context11","_ref6","_callee10","_context10","_key","_callee13","_this7","_context13","_ref7","_callee12","_context12","_callee15","_this8","_context15","_ref8","_callee14","_context14","_dropInstance","_callee17","_this9","_context17","_ref9","_callee16","_context16","_clearAllInstances2","_callee18","_loop","_context19","cacheStorage","_context18","delegateYield","_x15","_x16","_runOnReady2","_callee19","_t3","_context20","_x","_x7","_x8","_x2","_x3","_x4","_x5","_x6","_x9","_x0","_x1","_x10","_x11","_x12","_x13","_x14","cache","keyIndex","_step2","_iterator2","_step3","_iterator3","entries","entry","makeInMemoryCall","inMemoryCache","inMemory","cacheStatsProxyHandler","cacheInstance","prop","originalMethod","Proxy","_apply","targetMethod","cacheInstanceProxy","args","_stats","stale","hit","miss","_apply2","start","end","performance","buildTime","Array","isArray","arg","slice","sameValue","x","y","isNaN","array","searchElement","errorCallback","getServerCacheVersion","NOW","unifiedCacheVersion","isCacheVersionOld","cacheVersion","serverCacheVersion","cacheStats","getAggregateCacheStats","getAllCacheStats","freeze","buildGlobalCacheStats","ux_globals","__uc__cacheStats","_len","objects","reduce","obj1","obj2","DefinedAdapters","AdapterSupport","DefaultAdapters","localStorageAdapter","sessionStorageAdapter","indexedDBAdapter","cacheAPIAdapter","IN_MEMORY","inMemoryAdapter","dropAllInstancesPromises","clearStorageInstances","cacheVersionCheck","version","LocalStorage","SessionStorage","DefaultConfig","description","DefaultStats","EvictionPolicies","OptionalAdapterMethods","LibraryMethods","callWhenReady","unifiedCacheInstance","libraryMethod","_args","validateEvictionPolicy","includes","UnifiedCache","adapterTypeKey","_classCallCheck","adapterName","defineAdapter","extend","_adapterSet","_initAdapter","_ready","_wrapLibraryMethodsWithReady","setAdapter","unifiedCacheProxy","cacheInstances","_createClass","adapters","supportedAdapters","_getSupportedAdapters","setAdapterToConfig","extendSelfWithAdapter","_extend","oldAdapterSetDone","getAdapter","currentAdapterIndex","adapterPromiseLoop","initAdapter","runTwoCallbacks","getAdapterPromise","serializerPromise","adapterObject","complianceError","adapterMethods","adapterMethodName","methodNotImplementedFactory","methodName","optionalAdapterMethod","configureMissingMethods","setAdapterSupport","support","info","supports","libraryMethodsAndProperties","stats","aggregateStats","accumulator","_slicedToArray","attribute","currentValue","hitRate","allCacheStats","_cacheInstance$_dbInf","sumObjectsByKey","_defineProperty","setGlobalCacheStats","VIEWPORT_WIDTH","VIEWPORT_HEIGHT","DRAG_BUTTON_DEFAULT_TOOLTIP_MSG","t","DRAG_ENABLED_ANNOUNCEMENT_MSG","DRAG_PLACEMENT_MSG","DRAG_ENABLED_TOOLTIP_MSG","ORIGINAL_POSITION_MSG","VALID_DRAG_DIRECTIONS","LOCALIZED_DIRECTIONS","left","right","top","bottom","up","down","getPanelCurrentPosition","panel","elementRect","getBoundingClientRect","Math","floor","getDistanceAndDirectionMessage","distanceInPixels","direction","code","comment","ARIA_LIVE_REGION_UPDATE_REQUESTED","actionTypes","debounceDispatch","debounce","announceDirectionalDrag","dispatch","pixels","directionalBoundary","viewportEdge","abs","viewportEdgeMessage","COMPONENT_CONNECTED","COMPONENT_PROPERTY_CHANGED","COMPONENT_DISCONNECTED","COMPONENT_DOM_TREE_READY","COMPONENT_RESIZED","movePanel","isShiftKeyPressed","state","updateState","moveDistance","getMoveDistance","panelPositionAtDragStart","newTop","newLeft","elementWidth","width","elementHeight","height","getKeyToDirection","xOffset","yOffset","dragMovementMessage","leftOrRight","upOrDown","leftOrRightOffsetMessage","upOrDownOffsetMessage","messageSeperator","dragMovementTooltip","dragButtonTooltipMessage","replace","toLowerCase","dialogPositionMessage","finalMessage","announcePosition","announceOriginalPosition","path","operation","shouldRender","style","position","zIndex","margin","getComputedDimension","styles","property","parseFloat","getPropertyValue","getMaximizedButtonConfigAria","fullscreen","button","getPanelPayload","_event$clientX","_event$clientY","_panel$getBoundingCli","clientX","clientY","positions","mouse","X","Y","offset","dimensions","generatePayload","panelPayload","getComputedStyle","payload","addDialogToStack","id","host","layerEvents","events","_host$shadowRoot","shadowRoot","querySelector","getPositionOffsetStyles","_offset","_offset2","_offset3","_offset4","insetInlineStart","insetBlockStart","insetInlineEnd","inset","insetBlockEnd","getSizeStyles","createEnhancedElement","canDrag","default","schema","opened","manageable","smallModalOpened","isSmallModal","resizableConfig","enableResizable","resizableMinWidth","resizableMinHeight","resizableMaxWidth","resizableMaxHeight","context","enum","items","enableDrag","headingLabel","headingIcon","icon","variant","canMaximize","canMinimize","canClose","slots","heading","actions","content","footer","dispatches","initialState","triggerEl","hasHeaderSlots","behaviors","behavior","focusBehavior","modalBehavior","limit","watchPropertyName","resizeBehavior","timer","wait","resizableBehavior","resizeTarget","getResizableConfig","eventHandlers","effect","document","documentElement","clientWidth","clientHeight","_ref5$properties","action","header","nowRootNode","composedPath","isHeaderFooterInPath","rect","pageX","pageXOffset","pageY","pageYOffset","raf","handleMouseMove","preventDefault","cancelAnimationFrame","requestAnimationFrame","_payload$positions","xPosition","yPosition","offsetX","offsetY","min","max","unregisterMouseMove","updatedPayload","removeEventListener","addEventListener","once","mouseDrag","tagName","startKeyboardDrag","dragButtonElement","dragButtonExistsInEvent","Boolean","shiftKey","_state$panel","_host$shadowRoot2","actionHandlers","meta","setHeaderSlotsState","_ref0","firstRenderOnConnect","_ref1","_ref1$action","_ref1$state","updateProperties","remove","_ref10","nowId","_ref11","_state$panel2","_host$shadowRoot3","panelPosition","announceDragEnd","_ref12","_host$shadowRoot4","announceDragEnabled","_ref13","classList","announceDragFocus","_ref14","_ref15","modifier","modifierTypes","delay","maxWait","collate","_ref16","_ref17","_window","innerHeight","innerWidth","_properties$resizable","_properties$resizable2","_properties$resizable3","_properties$resizable4","_ref18","_state$panel3","_host$shadowRoot5","appended","minimize","maximize","close","view","_state$properties","hasConfiguredContent","buttonSize","sm","md","createElement","class","role","tabindex","draggable","className","renderHeading","bare","Fragment","highlighted","selected","drag","registry","___NOW_DESIGN_SYSTEM_PACKAGES___","FEEDBACK_LABELS","THUMBSUP_LABEL","THUMBSDOWN_LABEL","SUBMIT_LABEL","TOOLTIP_CONFIRMATION_LABEL","TEXT_AREA_PLACEHOLDER_LABEL","POPOVER_ARIA_LABEL","ERROR_STATE_LABEL","CLOSE_BUTTON_ARIA_LABEL","FEEDBACK_BUTTON","THUMBSUP","THUMBSDOWN","SUBMIT","NONE","REGION_TYPE","CHECKLIST","RADIO","TEXTAREA","EXTERNAL_ACTIONS","NOW_BUTTON_STATEFUL_SELECTED_SET","NOW_BUTTON_ICONIC_CLICKED","NOW_BUTTON_CLICKED","NOW_POPOVER_OPENED_SET","NOW_CHECKLIST_ITEM_CLICKED","NOW_RADIO_BUTTONS_VALUE_SET","NOW_TEXTAREA_VALUE_SET","INTERNAL_ACTIONS","SN_FEEDBACK_MANAGE_TOOLTIP_OPENED","ACTIONS","FEEDBACK_CLICKED","GRANULAR_FEEDBACK_SUBMIT_CLICKED","METRIC_ACTIONS","findListItem","item","find","findIndex","findTextAreaItem","validateDetails","granularFeedbackDetails","_granularFeedbackDeta","refactorListOptions","modifiedItems","intermediateValue","modifiedValue","elm","_elm$checked","itemId","order","checked","label","hasLink","hasChecked","_toConsumableArray","cleanList","list","textArea","getOnlyOneOfEach","COMPONENT_BOOTSTRAPPED","resetPositiveContent","_state$properties$pos","_state$properties$pos2","_state$properties$pos3","positiveFeedbackRaw","positiveFeedback","resetNegativeContent","_state$properties$neg","_state$properties$neg2","_state$properties$neg3","negativeFeedbackRaw","negativeFeedback","onSnFeedbackManageTooltipOpened","isTooltipOpen","stopPropagation","coeffects","_state$properties2","_state$properties3","_state$properties4","clickedButtonState","loadState","isError","timestamp","eventName","_action$payload","manageSubmit","disableSubmitButton","isPopoverOpen","popoverTargetRef","isSelected","metadata","thumbsDownTargetRef","thumbsUpTargetRef","_state$error","listObj","textAreaObj","_findListItem2","listObjIndex","listOptions","declarativeOperations","ASSIGN","_findListItem3","_findListItem4","forEach","_findListItem5","textAreaObjIndex","_coeffects$action$pay","track","private","GranularFeedbackDetails","translatable","anyOf","required","minItems","maxItems","uuidv4","require","v4","generateSerialLabel","ind","localeCompare","letters","j","createEmptyChecklistItem","emptyItem","newLabel","addingLink","errorMsgForLabel","link","text","url","isLinkEditMode","newText","newUrl","errorMsgForLink","addInternalProperties","checklistData","_checklistData$i$link","_checklistData$i$link2","ss","isExternalUrl","urlString","formattedUrl","URL","protocol","isValidUrl","location","hostname","getMetricsDataOnSave","checklistChanges","initialCheckListData","itemsReordered","itemsAddedCount","itemsRemovedCount","itemsLabelUpdateCount","itemsLinkTextUpdateCount","itemsLinkUpdateCount","itemsLinkAddedCount","itemsLinkRemovedCount","itemCustomErrorShown","linkCustomErrorShown","changes","actionType","change","initialCheckListItem","filter","changesLengh","initialCheckListLengh","renderLink","opensWindow","itemLabel","href","underlined","prefixType","renderNoPrefix","renderWithPrefix","LINK_CLICKED","CHECKBOX_ITEM_CLICKED","LINK_EDIT_BUTTON_CLICKED","LINK_BUTTON_CLICKED","GRIPPER_BUTTON_SELECTED","GRIPPER_FOCUS_OUT","REORDER_ARROW_UP","REORDER_ARROW_DOWN","REORDER_DISCARD","DELETE_BUTTON_CLICKED","DELETE_ITEM_LINK","EDIT_LINK_CLICKED","SAVE_LINK_EDIT_CLICKED","CANCEL_LINK_EDIT_CLICKED","TEXTAREAS_EDITED","UPDATE_EDITED_TEXT","NOW_CHECKLIST_ADD_LINK","NOW_CHECKLIST_ITEMS_REORDERED","TEXT_AREAS_INVALID_SET","UPDATE_VALIDATION_HELPER","NOW_CHECKLIST_HANDLE_DRAG","INPUT_AREAS_VALID_SET","INPUT_AREAS_INVALID_SET","METRIC_TRACKED","REORDER","errMessageLink","isInvalidLink","linkLabel","messages","invalid","manageInvalid","renderLinkInEditMode","focusOutFromGripper","errMessageLabel","isInvalidLabel","isReorderGripperSelected","totalItems","isNonePrefix","ariaLabelForReorderButton","manageSelected","autoresize","resize","isEditMode","showDivider","showDividerLineBefore","errMsgLabel","status","errMsgLink","editModeView","readModeView","textAreasEdited","updatedItem","dispatchRequired","handleInvalidSetOnTextArea","fieldValue","errorObject","fieldName","errorMsg","getErrorObject","validationHelperItem","nowChecklistItemActionHandlers","createCustomElement","renderer","snabbdom","emptyStateTitle","emptyStateMsg","allowEditing","ITEM_CLICKED","ITEM_LINK_CLICKED","rtlBehavior","dataTransfer","setData","startIndex","getData","draggedElementData","hostElementData","intVal","dataset","checklistid","parseInt","dividerPosition","showLoadingSpinner","isEmpty","emptyTitle","level","alignment","illustration","emptyStateWithEditMode","emptyStateWithAllowEdit","selectedGripperIndex","ariaLiveMessage","renderItemView","refactorDeltaPayload","obj","refactorStatePayload","isItemEdited","isItemEditedItemId","some","el","getUpdateChanges","checklistItem","checklistChangesNew","objIndex","removeItemFromList","idToRemove","getChecklistItemLinkCount","checkListItems","onlyExternalLinks","itemLinkCount","currItem","nowChecklistActionHandlers","newchecklistChanges","changesObject","newChecklistData","currentItemCount","updatedChecklistChanges","splice","validationHelper","receivedData","existingChoices","draggedElementIndex","dropElementIndex","iteratorIndex","endingIndex","temporaryElement","isReordered","propChecklistData","modifiedChecklistData","itemCount","itemLinkExternalCount","prefix","showEditMode","globalEditClicked","internalPropChange","handleCancel","handleAddItemInEmpty","newValidationHelper","valHelper","dragStartIndex","newDividerPosition","startingIndex","dividerBefore","hasError","reorderStartIndex","reorderEndIndex","childNodes","getElementsByTagName","focus","itemsCount","bubbleUpPayload","updatedState","_action$payload$item","externalLink","granularFeedbackContent","popoverHeaderStyle","display","gap","popoverFooterStyle","color","slot","padding","hasNoMargin","overflow","placeholder","autofocus","maxlength","rows","disabled","presetHeaderLabel","select","DEFAULT_COMMON_ACTIONS_TABLE","WWNA_CAPABILITY_ID","COMMON_ACTION_TYPE","DEFAULT_PRESET_CLICKED","WWNA_POPOVER","NOW_BUTTON_PREVIOUS_PAGE","NOW_BUTTON_NEXT_PAGE","NOW_MODELESS_DIALOG_OPENED_SET","NOW_DROPDOWN_CUSTOM_ITEM_CLICKED","NOW_DROPDOWN_LIST_ITEM_CLICKED","SN_FEEDBACK_FEEDBACK_CLICKED","INTERNAL_FEEDBACK_SUBMITTED","INTERNAL_RECOMMENDATION_DIALOG_CLOSED","INTERNAL_INSERT_RECOMMENDATION_CLICKED","AMB_MESSAGE_RECEIVED","SUBSCRIBE_AMB_CHANNEL","FETCH_QUICK_ACTIONS","FETCH_QUICK_ACTIONS_COMPLETE","FETCH_QUICK_ACTIONS_FAILED","INVOKE_REFINE_ACTION","INVOKE_REFINE_ACTION_COMPLETE","INVOKE_REFINE_ACTION_FAILED","INTERNAL_REFINE_ACTION_CLICKED","INTERNAL_PRESET_ACTION_CLICKED","INVOKE_PRESET_ACTION_COMPLETE","INVOKE_PRESET_ACTION_FAILED","INVOKE_PRESET_ACTION","OPEN_POPOVER","FETCH_SKILL_CONFIGURATIONS","FETCH_SKILL_CONFIGURATIONS_COMPLETE","FETCH_SKILL_CONFIGURATIONS_FAILED","SUBMIT_FEEDBACK","SUBMIT_FEEDBACK_SUCCESS_HANDLER","SUBMIT_FEEDBACK_FAILURE_HANDLER","FEEDBACK_BUTTON_STATE","FEEDBACK_STATES","IMPLICIT_FEEDBACK","WWNA_TRIGGER_SOURCE","WWNA_TRIGGER_EXPERIENCE","ONE_EXTEND_STATUS","DEFAULT_GENERIC_ERROR_MESSAGE","COPY_RECOMMENDATION_CLICKED","invokePresetActionGraphql","createGraphQLEffect","variableList","successActionType","errorActionType","dropDownItems","_state$properties$but","buttonProps","tooltipContent","isCaretForDropdown","hideButtonOnDialog","isQuickActionsLoading","defaultPresetAction","isDefaultAction","isDialogVisible","isOpened","configAria","command","manageOpened","tableName","sysId","wwnaComponentId","selectedText","draftedText","skillName","skillDescription","skillId","skillConfigId","skillConfiguration","userSysId","ambChannelName","isUI16Caller","additionalAnalyticsAttributes","selectedItem","jsonPayload","ambChannel","selected_text","drafted_text","skill_name","skill_description","document_table_name","document_sys_id","skill_id","trigger_source","skill_config_id","caller","recordSysId","table","commandName","actionSource","subscribeToChannel","createAmbSubscriptionEffect","messageReceivedActionType","invokeRefineActionGraphql","sendFeedback","createHttpEffect","method","dataParam","_allResponses$current","_allResponses$current2","_allResponses$current3","dialogHeaderLabel","dialogFooterLabel","offsetTop","offsetLeft","additionalInfoTooltip","insertButtonLabel","refineButtonLabel","currentResponseIndex","isLoading","allResponses","isCopyClicked","dialogHeight","dialogWidth","hidePadding","logId","dangerouslyCreateElementFromString","feedback","subscribe","errorType","errorMessage","features","_value$requestPayload","requestPayload","_value$requestPayload2","_value$requestPayload3","timeoutErrorMessage","additionalData","ex","HTMLString","div","innerHTML","HTMLText","textContent","innerText","ClipboardItem","navigator","clipboard","writeText","blobHtml","blobText","write","setTimeout","isRecordFeedback","wwnaResponse","fetchActionGraphql","fetchWWNAActionFailureHandler","fetchSkillConfigs","queryParams","skillConfigReducer","skillConfigRecord","_skillConfigRecord","_skillConfigRecord2","_skillConfigRecord3","_skillConfigRecord4","_skillConfigRecord5","_skillConfigRecord6","_skillConfigRecord7","_skillConfigRecord8","_skillConfigRecord9","_skillConfigRecord0","sys_id","skillConfigs","configObjectWithExactMatch","variable_sets","props","wwna_component_id","configObjectForForm","documentTableName","configured_columns","configObject","isSkillEnabled","in_product_active","is_wwna_active","is_active","button_props","recommendation_dialog_props","recommendationDialogProps","default_preset_action","preset_actions","presetActions","split","refine_actions","refineActions","timeout_error_message","channelName","documentSysId","user_sys_id","skilllConfigButtonProps","skilllConfigRecommendationDialogProps","skilllConfigDefaultPresetAction","skilllConfigPresetActions","skilllConfigRefineActions","skilllConfigTimeoutErrorMessage","skillIdStateParam","headerLabel","footerLabel","skillTableName","strictlyUseDefaultPresetAction","skillConfig","record_table_name","record_sys_id","skill_table_name","_ref2$action$payload","merge","_action$payload$error","errors","formattedActions","quickActions","wwnaActions","presetActionsToHonor","refineActionsToHonor","defaultPresetToHonor","PRESET_ACTION_CLICKED","FEEDBACK_SUBMITTED","INSERT_RECOMMENDATION_CLICKED","RECOMMENDATION_DIALOG_CLOSED","REFINE_ACTION_CLICKED","MIN_THRESHOLD_FOR_PAGE_LOAD_SCREEN_MACROPONENT_IDLE_MAX_WAIT_MS","defaultValue","_window$ux_globals$li","libuxf","sysprops","getUxfSysProp","QUEUED_PROMISE_RESOLVERS","SCREEN_MACROPONENT_IDLE","whenScreenMacroponentIdleDuringPageLoad","_ref$maxWait","timedOut","timeoutId","clearTimeout","promiseResolver","SCREEN_MACROPONENT_IDLE_ON_EACH_PAGE_LOAD","signalScreenLoadComplete","startObserving","process","_defined","it","TypeError","_toObject","_has","_cof","_iobject","propertyIsEnumerable","_toIobject","ceil","_toInteger","_toLength","min$1","IS_INCLUDES","core","module","exports","__e","global","Function","__g","_library","SHARED","store","_global","_core","copyright","px","random","_uid","shared","_shared","_sharedKey","arrayIndexOf","$this","fromIndex","O","_toAbsoluteIndex","IE_PROTO","_objectKeysInternal","object","names","_enumBugKeys","_objectKeys","_aFunction","_ctx","that","c","_isObject","_anObject","_fails","exec","_descriptors","defineProperty","document$1","is","_domCreate","_ie8DomDefine","_toPrimitive","S","val","valueOf","dP","P","Attributes","_propertyDesc","bitmap","enumerable","configurable","writable","_hide","_objectDp","PROTOTYPE","$export","source","own","out","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","IS_PROTO","IS_BIND","B","IS_WRAP","W","expProto","C","virtual","R","U","_export","_objectSap","KEY","exp","keys$1","_redefine","META","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","w","NEED","fastKey","create","getWeak","onFreeze","Symbol","USE_SYMBOL","def","TAG","_wks","_setToStringTag","tag","stat","_wksDefine","$Symbol","charAt","_wksExt","getOwnPropertySymbols","_isArray","_objectDps","defineProperties","Properties","document$2","_html","IE_PROTO$1","Empty","PROTOTYPE$1","createDict","iframeDocument","iframe","appendChild","src","contentWindow","lt","_objectCreate","hiddenKeys","getOwnPropertyNames","gOPN","_objectGopn","toString$1","windowNames","getWindowNames","gOPD","getOwnPropertyDescriptor","_objectPie","_meta","gOPD$1","_objectGopd","dP$1","gOPN$1","_objectGopnExt","$JSON","_stringify","PROTOTYPE$2","HIDDEN","TO_PRIMITIVE","isEnum","SymbolRegistry","AllSymbols","OPSymbols","ObjectProto","USE_NATIVE","_objectGops","QObject","setter","findChild","setSymbolDesc","D","protoDesc","wrap","sym","_k","isSymbol","$defineProperty","$defineProperties","getSymbols","symbols","_enumKeys","l","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","es6Symbols","wellKnownSymbols","k","keyFor","useSetter","useSimple","FAILS_ON_PRIMITIVES","replacer","$replacer","getOwnPropertySymbols$1","$getOwnPropertyDescriptor$1","$Object","getOwnPropertyDescriptor$1","Reflect","_ownKeys","ownKeys","_createProperty","getOwnPropertyDescriptors","desc","getDesc","getOwnPropertyDescriptors$1","$Object$1","defineProperties$1","T","$Object$2","defineProperty$2","__esModule","symbol$1","_iterators","IteratorPrototype","TO_STRING","_iterCreate","Constructor","NAME","IE_PROTO$2","ObjectProto$1","_objectGpo","getPrototypeOf","constructor","ITERATOR","BUGGY","KEYS","VALUES","returnThis","_iterDefine","Base","DEFAULT","IS_SET","FORCED","methods","getMethod","kind","proto","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","values","$at","pos","charCodeAt","iterated","point","_iterStep","Arguments","TO_STRING_TAG","DOMIterables","Collection","defer","channel","port","TAG$1","ARG","_classof","tryGet","callee","_iterCall","ret","ITERATOR$1","ArrayProto","ITERATOR$2","core_getIteratorMethod","getIteratorMethod","BREAK","RETURN","iterable","step","iterFn","_isArrayIter","SPECIES","_speciesConstructor","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","queue","ONREADYSTATECHANGE","run","listener","un","_invoke","nextTick","port2","port1","onmessage","postMessage","importScripts","removeChild","_task","macrotask","Observer","MutationObserver","WebKitMutationObserver","process$1","isNode","PromiseCapability","$$resolve","$$reject","_perform","v","_userAgent","userAgent","_promiseResolve","promiseCapability","_newPromiseCapability","SPECIES$1","ITERATOR$3","SAFE_CLOSING","riter","from","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","task","microtask","head","last","notify","flush","parent","domain","exit","enter","standalone","toggle","node","createTextNode","observe","characterData","_microtask","PROMISE","TypeError$1","process$2","versions","v8","$Promise","isNode$1","empty","newPromiseCapability","USE_NATIVE$1","FakePromise","PromiseRejectionEvent","isThenable","isReject","_n","chain","_c","_v","ok","_s","reaction","exited","handler","fail","_h","onHandleUnhandled","onUnhandled","unhandled","isUnhandled","emit","onunhandledrejection","reason","_a","onrejectionhandled","$reject","_d","_w","$resolve","wrapper","executor","forbiddenField","_anInstance","safe","_redefineAll","onFulfilled","onRejected","_setSpecies","r","capability","skipClosing","arr","iter","_iterDetect","remaining","_forOf","$index","alreadyCalled","race","onFinally","isFunction","callbackfn","promise$1","byteLength_1","b64","lens","getLens","validLen","placeHoldersLen","toByteArray_1","tmp","Arr","_byteLength","curByte","revLookup","fromByteArray_1","uint8","extraBytes","maxChunkLength","len2","encodeChunk","lookup","join","i$1","tripletToBase64","num","output","isLE","mLen","nBytes","m","eLen","eMax","eBias","nBits","d","NaN","Infinity","pow","rt","log","LN2","toString$2","isarray","kMaxLength","Buffer","TYPED_ARRAY_SUPPORT","createBuffer","RangeError","__proto__","encodingOrOffset","allocUnsafe","byteOffset","byteLength","fromArrayLike","fromArrayBuffer","string","encoding","isEncoding","actual","fromString","isBuffer","copy","fromObject","assertSize","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","dir","lastIndexOf","indexSize","arrLength","valLength","read","buf","readUInt16BE","foundIndex","found","hexWrite","Number","strLen","parsed","substr","utf8Write","blitBuffer","asciiWrite","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","base64Js","fromByteArray","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","decodeCodePointsArray","SlowBuffer","alloc","INSPECT_MAX_BYTES","commonjsGlobal","foo","subarray","typedArraySupport","poolSize","_augment","species","fill","allocUnsafeSlow","_isBuffer","compare","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","isFinite","toJSON","_arr","toHex","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","ieee754","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","leadSurrogate","toByteArray","trim","stringtrim","base64clean","dst","serializeHeaders","headers","serializedHeaders","defineProperty$4","IS_STUBBED","ABORT_HANDLER","REQUEST_ARGUMENTS","FetchAdapter","_Adapter","_callSuper","_inherits","isNode$2","polly","logger","assert","fetch","Request","nativeFetch","NativeRequest","reqArgs","_objectSpread","respond","req","handleRequest","Headers","body","requestArguments","pollyRequest","signal","aborted","abort","arrayBuffer","isBinaryBuffer","cloneArrayBuffer","buffer_1","isBufferUtf8Representable","statusCode","_onFetchResponse","Response","_pollyRequest$request","DOMException","absoluteUrl","pollyResponse","responseBody","bufferToArrayBuffer","statusText","Adapter","_arraySpeciesCreate","original","_arrayMethods","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","_validateCollection","arrayFind","arrayFindIndex","id$1","uncaughtFrozenStore","_l","UncaughtFrozenStore","findUncaughtFrozen","_collectionWeak","getConstructor","ADDER","ufstore","dP$2","each","WEAK_SET","common","IS_WEAK","IS_ADDER","setStrong","_collection","COLLECTION","of","A","mapping","cb","mapFn","nextItem","_setCollectionFrom","weakSet$1","WeakSet","inRange","encodingIndexes","ToDictionary","o","isASCIIByte","isASCIICodePoint","end_of_stream","Stream","tokens","reverse","endOfStream","pop","prepend","token","unshift","shift","finished","decoderError","fatal","opt_code_point","encoderError","code_point","getEncoding","label_to_encoding","encodings","category","labels","shift_jis_index","big5_index_no_hkscs","encoders","decoders","indexCodePointFor","pointer","indexPointerFor","DEFAULT_ENCODING","TextDecoder","_encoding","_decoder","_ignoreBOM","_BOMseen","_error_mode","_do_not_flush","dec","ignoreBOM","TextEncoder","_encoder","_fatal","enc","UTF8Decoder","utf8_code_point","utf8_bytes_seen","utf8_bytes_needed","utf8_lower_boundary","utf8_upper_boundary","stream","bite","UTF8Encoder","temp","SingleByteDecoder","SingleByteEncoder","GB18030Decoder","gb18030_first","gb18030_second","gb18030_third","code_point_offset","idx","indexGB18030RangesCodePointFor","lead","GB18030Encoder","gbk_flag","trail","pointer_offset","indexGB18030RangesPointerFor","byte1","byte2","byte3","Big5Decoder","Big5_lead","Big5Encoder","index_","indexBig5PointerFor","EUCJPDecoder","eucjp_jis0212_flag","eucjp_lead","EUCJPEncoder","ISO2022JPDecoder","states","iso2022jp_decoder_state","iso2022jp_decoder_output_state","iso2022jp_lead","iso2022jp_output_flag","output_flag","ISO2022JPEncoder","iso2022jp_state","ShiftJISDecoder","Shift_JIS_lead","lead_offset","ShiftJISEncoder","indexShiftJISPointerFor","EUCKRDecoder","euckr_lead","EUCKREncoder","convertCodeUnitToBytes","code_unit","utf16be","UTF16Decoder","utf16_be","utf16_lead_byte","utf16_lead_surrogate","lead_surrogate","UTF16Encoder","XUserDefinedDecoder","XUserDefinedEncoder","decode","input","input_stream","code_points","cp","codePointsToString","encode","opt_string","u","stringToCodePoints","EncodingIndexes","textEncoding","global_1","copyPrototype","bind","every","checkAdjacentCalls","callMap","spy","spies","calledBeforeNext","calledBefore","callCount","hasCallsLeft","calledInOrder_1","functionName","func","displayName","className_1","msg","wrapped","printWarning","defaultMsg","packageName","funcName","comparator","aCall","getCall","bCall","callId","orderByFirstCall_1","prototypes","function","Set","promiseExists","globalObject","symbolExists","mapExists","setExists","weakMapExists","WeakMap","weakSetExists","dataViewExists","DataView","symbolIteratorExists","symbolToStringTagExists","toStringTag","setEntriesExists","mapEntriesExists","setIteratorPrototype","mapIteratorPrototype","arrayIteratorExists","arrayIteratorPrototype","stringIteratorExists","stringIteratorPrototype","toStringLeftSliceLength","toStringRightSliceLength","typeDetect","typeofObj","mimeTypes","plugins","HTMLElement","stringTag","objPrototype","RegExp","factory","lib","calledInOrder","deprecated","pass","orderByFirstCall","typeOf","valueToString","realSetTimeout","configureLogger_1","useImmediateExceptions","stack","throwLoggedError","Event","bubbles","cancelable","initEvent","currentTarget","defaultPrevented","ProgressEvent$1","progressEventRaw","loaded","total","lengthComputable","progressEvent","CustomEvent$1","customData","detail","flattenOptions","capture","passive","hasListenerFilter","listenerSpec","EventTarget","providedOptions","eventListeners","dispatchEvent","listeners","handleEvent","event$1","ProgressEvent","CustomEvent","justExtend","deep","extenders","extender","isCloneable","base","isSupported","GlobalTextEncoder","globalObject$1","supportsProgress","supportsCustomEvent","supportsFormData","FormData","supportsArrayBuffer","supportsBlob","unsafeHeaders","Connection","Cookie","Cookie2","DNT","Expect","Host","Origin","Referer","TE","Trailer","Upgrade","Via","EventTargetHandler","getHeader","h","excludeSetCookie2Header","convertToArrayBuffer","isXmlContentType","contentType","clearResponse","xhr","responseType","responseText","responseXML","fakeXMLHttpRequestFor","globalScope","isReactNative","product","sinonXhr","XMLHttpRequest","FakeXMLHttpRequest","readyState","UNSENT","requestHeaders","requestBody","upload","logError","supportsTimeout","timeout","supportsCORS","withCredentials","onCreate","verifyState","OPENED","sendFlag","GlobalXMLHttpRequest","GlobalActiveXObject","ActiveXObject","supportsActiveX","supportsXHR","workingXHR","getWorkingXHR","verifyRequestOpened","requestErrorSteps","errorFlag","responseHeaders","DONE","readyStateChange","filters","addFilter","defake","fakeXhr","xhrArgs","send","copyAttrs","attr","stateChangeStart","HEADERS_RECEIVED","LOADING","stateChangeEnd","onreadystatechange","useFilters","parseXML","DOMParser","parser","parsererrorNS","parsererrors","parseFromString","namespaceURI","getElementsByTagNameNS","xmlDoc","async","loadXML","parseError","errorCode","statusCodes","username","password","progress","readyStateChangeEvent","setRequestHeader","checkUnsafeHeaders","unsafeHeadersEnabled","normalizeHeaderValue","existingHeader","setStatus","sanitizedStatus","setResponseHeaders","onSend","setInterval","clock","initiatedTime","clearIntervalId","clearInterval","triggerTimeout","getResponseHeader","getAllResponseHeaders","setResponseBody","verifyRequestSent","verifyHeadersReceived","isString","verifyResponseBodyType","overriddenMimeType","isTextResponse","chunkSize","blobOptions","convertResponseBody","uploadProgress","downloadProgress","uploadError","overrideMimeType","useFakeXMLHttpRequest","restore","keepOnCreate","objId","Promise$1","SPECIES$2","resolveXhr","serializeResponseHeaders","_header$split2","_header$split","SEND","stubbedXhrs","BINARY_RESPONSE_TYPES","XHRAdapter","fakeXhrForContext","NativeXMLHttpRequest","isBinary","_buffer","_pollyRequest$respons","$JSON$1","stringify$1","_stringWs","space","ltrim","rtrim","exporter","ALIAS","FORCE","_stringTrim","$parseFloat","$trim","_parseFloat","_parseFloat$2","ALPHA_NUMERIC_DOT","TIMES","ms","millisecond","milliseconds","sec","secs","second","seconds","mins","minute","minutes","hr","hrs","hour","hours","day","days","wk","wks","week","weeks","yr","yrs","year","years","isExpired","recordedOn","expiresIn","getTime","part","accum","number","unit","dehumanizeTime","stringifyRequest","recordingName","identifiers","normalizeRecordedResponse","normalizeHeaders","_fromType","existingValue","REQUEST_HANDLER","isConnected","defaultOptions","adapterOptions","persister","onConnect","onDisconnect","time","timing","registerRequest","on","onIdentifyRequest","onRequest","init","PollyError","onRequestFinished","onRequestFailed","_handleRequest","_value","interceptor","_interceptor","shouldIntercept","intercept","MODES","PASSTHROUGH","shouldPassthrough","passthrough","RECORD","record","REPLAY","replay","onPassthrough","_passthrough","onFetchResponse","_onPassthrough","_intercept","INTERCEPT","onIntercept","_onIntercept","_record","onLine","onRecord","recordRequest","_onRecord","_replay","recordingEntry","clonedRecordingEntry","findEntry","_emit","startedDateTime","expiryStrategy","EXPIRY_STRATEGIES","ERROR","WARN","onReplay","recordIfMissing","normalizedResponse","_onReplay","_len2","_key2","Serializers","_onIdentifyRequest","onRespond","_onRequestFinished","_onRequestFailed","_onRespond","createObject","createMap","Target","delegate","to","willAddRoute","addChild","Matcher","routes","children","generateMatch","startingPath","fullPath","addRoute","routeArray","route","eachRoute","baseRoute","binding","paths","nested","contextEntered","normalizePath","normalizeSegment","SEGMENT_RESERVED_CHARS","segment","decodeURIComponent","encodeURIComponent","PATH_SEGMENT_ENCODINGS","encodePathSegment","escapeRegex","getParam","params","eachChar","currentState","ch","_","regex","generate","RouteRecognizer","ENCODE_AND_DECODE_PATH_SEGMENTS","EmptyObject","EmptyArray","segments","types","shouldDecodes","flags","isEqualCharSpec","spec","char","negate","State","repeat","nextStates","pattern","_regex","handlers","isMatch","recognizeChar","child","child$1","returned","RecognizeResults","decodeQueryParamPart","rootState","allSegments","ref","as","handlersFor","hasRoute","generateQueryString","pairs","pair","arrayPair","parseQueryString","queryString","keyLength","recognize","results","isSlashDropped","hashStart","queryStart","originalPath","decodeURI","pathLen","solutions","astatics","adynamics","astars","ref$1","bstatics","bdynamics","bstars","sortSolutions","captures","currentCapture","isDynamic","findHandler","VERSION","Normalizer","addRouteCallback","$assign","assign","_objectAssign","K","aLen","_setCollectionOf","InternalMap","NATIVE_WEAK_MAP","IS_IE11","WEAK_MAP","$WeakMap","_f","weakMap$1","dP$3","SIZE","getEntry","_collectionStrong","MAP","_collectionToJson","_arrayFromIterable","isEntries","map$1","isEnum$1","$values","values$1","FORMATTED_ACTIONS","Logger","logLevel","setLevel","_middleware","server","any","logRequestError","logRequest","logRequestResponse","off","getLevel","levels","DEBUG","responseTime","Factory","Container","_registry","keyOrFactory","Timing","fixed","relative","ratio","persisterOptions","keepUnusedRequests","disableSortingHarEntries","flushRequestsOnStop","recordFailedRequests","matchRequestsBy","pathname","query","hash","isObjectLike","parseUrl","parsedUrl","_construct","isAbsoluteUrl","removeHostFromUrl","HANDLER","deleteProperty","HTTPHeaders","proxy","NormalizeRequest","normalizedHeaders","exclude","toUpperCase","guidFor","fnv1a","slug","slugify","sanitize","guidForRecording","recording","isArray$2","eq","other","assocIndexOf","ListCache","__data__","freeGlobal","freeSelf","root","Symbol$1","objectProto","hasOwnProperty$1","nativeObjectToString","symToStringTag","nativeObjectToString$1","symToStringTag$1","baseGetTag","isOwn","unmasked","getRawTag","objectToString","isObject","isFunction$1","uid","coreJsData","maskSrcKey","funcToString","reIsHostCtor","funcProto$1","objectProto$2","funcToString$1","hasOwnProperty$2","reIsNative","baseIsNative","toSource","getNative","getValue","nativeCreate","hasOwnProperty$3","hasOwnProperty$4","Hash","getMapData","MapCache","Stack","LARGE_ARRAY_SIZE","defineProperty$1","baseAssignValue","assignMergeValue","fromRight","baseFor","iteratee","keysFunc","freeExports","nodeType","freeModule","cloneTypedArray","typedArray","isDeep","objectCreate","baseCreate","transform","getPrototype","objectProto$5","isPrototype","Ctor","baseIsArguments","objectProto$6","hasOwnProperty$5","isArguments","isArray$3","isLength","isArrayLike","freeExports$1","freeModule$1","Buffer$1","funcProto$2","objectProto$7","funcToString$2","hasOwnProperty$6","objectCtorString","typedArrayTags","freeExports$2","freeModule$2","freeProcess","nodeUtil","nodeIsTypedArray","isTypedArray","baseUnary","safeGet","hasOwnProperty$7","assignValue","objValue","reIsUint","isIndex","hasOwnProperty$8","arrayLikeKeys","inherited","isArr","isArg","isBuff","isType","skipIndexes","baseTimes","hasOwnProperty$9","baseKeysIn","nativeKeysIn","isProto","keysIn","toPlainObject","customizer","isNew","newValue","copyObject","baseMergeDeep","srcIndex","mergeFunc","srcValue","stacked","isCommon","isTyped","copyArray","cloneBuffer","isPlainObject","initCloneObject","baseMerge","identity","nativeMax","baseSetToString","nativeNow","setToString","lastCalled","stamp","shortOut","baseRest","otherArgs","thisArg","overRest","assigner","mergeWith","sources","guard","isIterateeCall","mergeConfigs","configs","validateRecordingName","validateRequestConfig","validateTimesOption","times","parse$1","HTTPBase","setHeader","removeHeader","hasHeader","json","$parseInt","hex","_parseInt","radix","_parseInt$2","PollyResponse","_HTTPBase","setHeaders","HTTP_STATUS_CODES","keys$3","defineProperty$3","set$1","cancelFnAfterNTimes","nTimes","cancel","assign$1","STOP_PROPAGATION","EVENTS","EVENT_NAMES","assertEventName","eventNames","EventEmitter","hasListeners","assertListener","tempListener","_len3","_key3","_listener","shouldStopPropagating","_len4","_key4","_args2","_emitParallel","_len5","_key5","returnValue","ABORT","setDefaults","Interceptor","_Event","shouldAbort","keys$4","freeze$1","ROUTE","POLLY","PARSED_URL","EVENT_EMITTER","SUPPORTED_EVENTS","PollyRequest","_HTTPBase2","didRespond","recordingId","_resolve","_reject","defer$1","applyFiltersWithArgs","configure","overrideRecordingName","origin","_identify","_init","_respond","_this$ROUTE","_this$ROUTE2","_len6","_key6","_requests","md5","_identify2","castArray","propertyKey","receiver","get$2","HANDLERS","requestWithParams","Route","recognizeResults","middleware","_objectSpread$1","_orderedHandlers","_valueFor","_len7","_key7","_iterator4","_step4","_step4$value","_intercept2","_len8","_key8","_iterator5","_step5","_handler$_eventEmitte","_step5$value","_args7","_eventEmitter","_emit2","_step6","_iterator6","Handler","_map$","_objectSpread$2","GLOBAL","Middleware","_this0","_routeRecognizer","recognizeResult","HOST","NAMESPACES","REGISTRY","MIDDLEWARE","HANDLERS$1","CHARS","keys$5","parseUrl$1","Server","namespaces","_register","_registerMiddleware","_recognize","_lookupMiddleware","_parseUrl$","_this1","_buildUrl","_parseUrl$2","_registryForHost","_nameForPath","router","_this10","pathsByHost","_parseUrl$3","_parseUrl$4","buildUrl","HTTP_METHODS","acc","RECORDING_NAME","RECORDING_ID","PAUSED_ADAPTERS","FACTORY_REGISTRATION","EVENT_EMITTER$1","Polly","container","emitSync","possibleModes","_this11","STOPPED","disconnect","connect","connectTo","register","_this12","adapterId","persist","_stop","_flush","NOOP","idOrAdapter","disconnectFrom","_step7","_iterator7","defineProperty$5","beforeEach","defaults","afterEach","_afterEach","framework","generateRecordingName","testReport","fullName","setupQunit","hooks","setupMocha","ctx","currentTest","title","generateRecordingName$1","BROWSER_ALIASES_MAP","AmazonBot","BaiduSpider","Bada","BingCrawler","Brave","BlackBerry","Chrome","ClaudeBot","Chromium","Diffbot","DuckDuckBot","DuckDuckGo","Electron","Epiphany","FacebookExternalHit","Firefox","Focus","Generic","Googlebot","GPTBot","InternetArchiveCrawler","LibreWolf","Linespider","Maxthon","Omgilibot","Opera","PerplexityBot","PhantomJS","PingdomBot","Puffin","QQ","QQLite","QupZilla","Roku","Safari","Sailfish","SlackBot","SeaMonkey","Sleipnir","Swing","Tizen","Vivaldi","WeChat","YahooSlurp","YandexBot","YouBot","BROWSER_MAP","amazonbot","amazon_silk","android","baiduspider","bada","bingcrawler","blackberry","brave","chatgpt_user","chrome","claudebot","chromium","diffbot","duckduckbot","duckduckgo","edge","electron","epiphany","facebookexternalhit","firefox","generic","google_search","googlebot","gptbot","ie","internetarchivecrawler","k_meleon","librewolf","linespider","maxthon","meta_externalads","meta_externalagent","meta_externalfetcher","meta_webindexer","mz","naver","oai_searchbot","omgilibot","opera","opera_coast","pale_moon","perplexitybot","perplexity_user","phantomjs","pingdombot","puffin","qq","qqlite","qupzilla","roku","safari","sailfish","samsung_internet","seamonkey","slackbot","sleipnir","sogou","swing","tizen","uc","vivaldi","webos","wechat","yahooslurp","yandex","yandexbot","youbot","PLATFORMS_MAP","bot","desktop","mobile","tablet","tv","OS_MAP","Android","ChromeOS","HarmonyOS","iOS","Linux","MacOS","PlayStation4","WebOS","Windows","WindowsPhone","ENGINE_MAP","Blink","EdgeHTML","Gecko","Presto","Trident","WebKit","Utils","regexp","ua","_const","major","minor","versionA","versionB","isLoose","versionAPrecision","getVersionPrecision","versionBPrecision","precision","lastPrecision","chunks","delta","_version","chunk","predicate","assigners","browserName","browserAlias","commonVersionIdentifier","browsersList","describe","browser","getFirstMatch","getSecondMatch","sogouMobileVersion","chromiumVersion","seVersion","hasBrand","hintsVersion","getBrandVersion","uaVersion","notLikeAndroid","butAndroid","search","versionName","getWindowsVersionName","getMacOSVersionName","os","getAndroidVersionName","vendor","model","platform","iDevice","likeIDevice","getBrowserName","osMajorVersion","getOSVersion","getOSName","engine","isGecko","likeGecko","Parser","UA","skipParsingOrHints","clientHints","_ua","skipParsing","_hints","parsedResult","brandName","brands","brandLower","brand","browserDescriptor","browserParsersList","_browser","condition","getUA","parseBrowser","getBrowser","parseOS","osParsersList","_os","getOS","parsePlatform","getPlatform","platformParsersList","_platform","parseEngine","getEngine","enginesParsersList","_engine","checkTree","platformsAndOSes","platformsAndOSCounter","browsers","browsersCounter","currentDefinition","platformsAndOSNames","OSMatchingDefinition","isOS","osResult","satisfies","platformMatchingDefinition","isPlatform","platformResult","browserNames","matchingDefinition","isBrowser","compareVersion","includingAlias","defaultBrowserName","browserNameLower","alias","getBrowserTypeByAlias","expectedResults","comparableVersion","currentBrowserVersion","getBrowserVersion","compareVersions","osName","platformType","getPlatformType","engineName","getEngineName","anything","Bowser","getResult","SetCache","baseIsNaN","arrayIncludes","strictIndexOf","baseFindIndex","baseIndexOf","arrayIncludesWith","cacheHas","setToArray","createSet","uniqWith","seen","outer","computed","seenIndex","baseUniq","bowser","getParser","Log","opts","pages","_id","_order","HAR","keys$2","toNVPairs","isArray$1","getFirstHeader","httpVersion","headersSize","headersString","getByteLength","cookies","setCookies","postData","mimeType","contentLength","bodySize","headersSize$1","redirectURL","Entry","timings","blocked","dns","receive","ssl","totalTime","CREATOR_NAME","Persister","pending","_cache","hasPending","creator","_step$value","_step$value$","findRecording","har","_recordingName","addEntries","sortEntries","_removeUnusedEntries","saveRecording","_persist","onFindRecording","_findRecording","_args4","onSaveRecording","_saveRecording","_args5","onDeleteRecording","_deleteRecording","_findEntry","_arrayIncludes","_stringAt","REQUEST_ASYNC","ajax","handleResponse","SyntaxError","RestPersister","_Persister","apiNamespace","_this$options","Accept","_normalize","_onFindRecording","_onSaveRecording","_onDeleteRecording","modes","httpMethods","httpStatusCodes","expiryStrategies","_Error","captureStackTrace","toISOString","ARRAY_FORMAT","symbol","INDICES_REGEX","BRACKETS_REGEX","parseQuery","qs","plainObjects","ignoreQueryPrefix","strictNullHandling","_URLParse","hasDuplicate","arrayFormat","addQueryPrefix","stringifyQuery","URLParse","readBlob","blob","reader","onend","onabort","readAsDataURL","_serialize","_serialize$","_step2$value","blobContent","supportsBuffer","utfEncodedBuffer","clonedArrayBuffer","COMPONENT_TREE_RENDERED","COMPONENT_RENDER_REQUESTED","BEHAVIOR_NAME","shouldUndeferDefault","deferFn","shouldUndefer","updatedTargets","undeferred","targets","removeAttribute","deferEffect","_ref2$action","_ref4$state$behaviors","_listeners$k","listenerEl","_ref5$action","_ref5$action$payload$","trigger","handleFocusFirstNode","focusableNodes","findTabbableNodes","handleFocusTrap","_getFocusableNodes","tabbableNodes","firstFocusableElement","lastFocusableElement","getFocusableNodes","HTMLInputElement","handleClosed","trap","focusOptions","previousRenderProperties","getActiveElement","handleOpened","AncestorMap","ActionTypes","ARIA_HIDDEN_ATTR","INVISIBLE_TAGNAMES","LANDMARK_TAGNAMES","LANDMARK_ROLES","hideElement","element","getAttribute","behaviorModalIgnore","hasAttribute","setAttribute","showElement","isValidSibling","siblingNode","Node","ELEMENT_NODE","unsetAncestorLandmark","isLandmark","currentRole","behaviorModalAncestorRole","updateElements","prevNode","domLimit","isTreeOrigin","slottedNodes","parentNode","limitReached","matches","isDomLimit","elementSiblings","getElementSiblings","assignedSlot","updateShadowRootElements","scid","restoreAncestorLandmark","removeArtifacts","treeOriginRef","removeTreeOriginNode","COMPONENT_DOM_READY","WATCH_PROPERTY_NAME_DEFAULT","setSlotId","compId","round","setNodes","nodes","assignedNodes","flatten","nodeName","hidePageContent","hostEl","insertBefore","addTreeOriginNode","cid","hoistHost","querySelectorAll","initSlots","nearestConnectedAncestor","ancestors","getNearestConnectedAncestor","REDUCE_MOTION_KEY","REDUCE_MOTION_MATCH_MEDIA","getReduceMotionValue","headlessBrowser","reduceMotionValue","reduceMotionKey","getUserPrefContext","matchMedia","_context$reduceMotion","__playwright__binding__","__pwInitScripts","webdriver","vertRun","_effect","FLOW_NORMAL_EDGES","FLOW_NORMAL_EDGES_RTL","update","_resizeTarget$style","_resizeTarget$style2","_resizeTarget$style3","_resizeTarget$style4","sourceWidth","sourceHeight","sourceTop","sourceLeft","deltaX","deltaY","scale","currentLeft","currentTop","currentWidth","currentHeight","maxWidth","maxHeight","MAX_SAFE_INTEGER","_ref$width","_ref$height","_ref$top","_ref$left","emitEnd","_resizeTarget$getBoun","tooltip","startResize","_resizeTarget$getBoun2","_e$composedPath$find","_args$resizeTarget$da","_args$resizeTarget","_e$classList","contains","startX","startY","mouseResize","TOOLTIP","ACTIVE_TOOLTIP","reflect","setInitialState","active","TOOLTIP_ADD_TARGET","TOOLTIP_REMOVE_TARGET","xmlns","tooltipBehavior","RESIZABLE_TARGET_NODE","resizableDialog","_host$shadowRoot$quer","_action$payload$optio","_ref$enableResizable","_ref$context","_ref$resizableMaxWidt","_ref$resizableMinWidt","_ref$resizableMaxHeig","_ref$resizableMinHeig","_host$shadowRoot$quer2","_resizeTarget$classLi","isFullscreen","lastChild","SCREEN_INTERACTION_ID_UPDATE_REQUESTED","NOW_UX_INTERACTION","propertyTypes","CONTEXT_BINDING","STATE_BINDING","ELEMENT_BINDING","JSON_LITERAL","SHORTHAND","DATA_CHAIN_BINDING","DATA_OUTPUT_BINDING","EVENT_PAYLOAD_BINDING","VIEWPORT_BINDING","REPEATER_ITEM_BINDING","CLIENT_TRANSFORM","CLIENT_TRANSFORM_SCRIPT","BINARY","UNARY","RUNTIME_INLINE_SCRIPT","MAP_CONTAINER","LIST_CONTAINER","TRANSLATION_LITERAL","RT_CLIENT_RESPONSIVE_QUERY","ENV_BINDING","MACROPONENT_CATEGORY","MODELESS_DIALOG","COMPONENT","MODAL","UI_CONTROLLER","MODELESS_DIALOG_BUNDLE","PAGE","POPOVER","PRIMITIVE","DATA_BROKER_PROXY","VIEWPORT","SUB_PAGE","APP_SHELL_UI","CONTROLLER","BUNDLE","UXF_INTERNAL_SCREEN_MACROPONENT_IDLE","UXF_INTERNAL_DEPENDENCY_OP_REQUESTED","UXF_INTERNAL_DEPENDENCY_OP_REQUEST_RELAYED","DEPENDENCY_RELAY_EVENTS_ALLOWED_FROM_SCRIPT","UXF_TABSET_NON_VIEWPORT_CONTAINER_RENDER_REQUESTED","UXF_MACROPONENT_OUTPUT_PROPERTY_UPDATED","publicSeismicActions","viewportActions","UXF_VIEWPORT_RENDER","UXF_VIEWPORT_RENDER_BY_ID","UXF_VIEWPORT_DISMISS","UXF_VIEWPORT_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED","UXF_VIEWPORT_SCRIPTED_CONDITIONS_EVALUATION_REQUESTED","UXF_VIEWPORT_CALCULATE_ROUTES","UXF_VIEWPORT_ROUTE_INITIALIZATION_COMPLETED","UXF_VIEWPORT_ROUTE_SCRIPTED_CONDITIONS_EVALUATION_COMPLETED","UXF_VIEWPORT_ROUTE_SCRIPTED_CONDITIONS_EVALUATION_REQUESTED","HEADLESS_VIEWPORT_COMPONENT_TAG","HEADLESS_VIEWPORT_COMPONENT_PROP_VALUES","headless","internalActions","SCRIPT_EXEC_REQUESTED","MACROPONENT_STATE_UPDATED","WRAPPED_EVENT_REDISPATCH","UPDATE_CONTEXT_REQUESTED_BY_CONTROLLER_PROP_RESOLVED","UPDATE_CONTEXT_REQUESTED_BY_CONTROLLER_PROP_CHANGE","SAVE_CONTROLLER_NODE_TO_TRANSLATOR","componentViewportInternalActions","VIEWPORT_ROUTE_REQUESTED","MACROPONENT_FEATURES","DATA_BROKERS","VIEWPORTS","EVENT_MAPPING","EXT_CONTROLLER_DEPENDENCY_PROPS","TABS_TYPE","TEMPLATE","SLOT_TYPES","TABS","UXF_META_PROP_NAME_PREFIX","SELECTABLE_PROP_RESOLVER_PROP_NAME_PREFIX","DBK_NAMESPACE_PROP_NAME_PREFIX","DBK_LIFECYCLE_FETCHING_KEY","DBK_LIFECYCLE_FETCH_SUCCESS_KEY","MODAL_SELECTED","MODAL_SELECTED_RELAY","DA_WRAPPED_CLICKED","MACROPONENT_PERSISTED_STATE_ON_EXTERNAL_CHANGE","publicDispatchedActionNames","MACROPONENT_READY","MACROPONENT_PROPERTY_CHANGED","MACROPONENT_VIEWPORT_LOAD_COMPLETED","MACROPONENT_VIEWPORT_ROUTE_INITIALIZATION_COMPLETED","MACROPONENT_PAGE_ERROR_OCCURRED","MACROPONENT_POPOVER_ERROR_OCCURRED","MACROPONENT_POPOVER_ERROR_OCCURRED_DEPRECATED","MACROPONENT_FOCUSED","MACROPONENT_DOMAIN_UPDATE_REQUESTED","publicActionHandlerNames","MACROPONENT_STATE_UPDATE_REQUESTED","MACROPONENT_VIEWPORT_LOAD_REQUESTED","HTTP_ERROR_OCCURRED","TRACK_USAGE_REQUESTED","OPEN_MODELESS_DIALOG","CLOSE_MODELESS_DIALOG","MACROPONENT_POPOVER_OPEN_REQUESTED","MACROPONENT_FOCUS_ELEMENT_REQUESTED","MACROPONENT_FOCUS_PARENT_REQUESTED","IS_INTERNAL_ACTION","IS_MACROPONENT_READY","MACROPONENT_INTERNAL_RESPONSIVE_STATE","IS_SOURCED_FROM_SET_STATE","IS_SOURCED_FROM_PERSISTED_STATE_CHANGE","SEISMIC_STATE_KEY_BEHAVIORS","CONTAINING_MACROPONENT_SYS_ID","COMPOSITION_ELEMENT_ID","REPEATER_ITEM","SIGNAL_VIEWPORT_LOAD_COMPLETION","SIGNAL_VIEWPORT_ROUTE_INITIALIZATION_COMPLETION","SIGNAL_MACROPONENT_READY_STATE_UPDATED","SIGNAL_MACROPONENT_READY_DISPATCHED","SYMBOL_EVENT_MAPPING_SOURCE_IS_SCREEN_ACTION_TRANSFORMER","SYMBOL_EVENT_MAPPING_SOURCE_IS_FROM_SUB_PAGE","SYMBOL_ORIGINATING_ELEMENT_ID_FOR_CONTROLLER_OP","DATA_ELEMENT_ID","MACROPONENT_ROOT_COMPONENT_ID","CONTEXT_PROPS_IDENTIFIER","APP_PROPS_IDENTIFIER","STATE_IDENTIFIER","SYS_PROPS_IDENTIFIER","DBK_OUTPUT_IDENTIFIER","ELEMENTS_IDENTIFIER","DBK_LIFECYCLE_IDENTIFIER","DBK_LIFECYCLE_FETCHING_IDENTIFIER","DBK_LIFECYCLE_FETCH_SUCCESS_IDENTIFIER","SESSION","UXF_VIEWPORT_SCREEN_TAG","UXF_INTERNAL_EVENT_META","UXF_DIRTY_STATE_MANAGEMENT_SOURCE_ACTION_PATH","UXF_DIRTY_STATE_MANAGEMENT_EXPERIENCE_DATA","UXF_DIRTY_STATE_MANAGEMENT_DISPATCHED_ACTION_TRAILS","UXF_DIRTY_STATE_MANAGER_LAST_CLIENT_SCRIPT_SOURCE_COMPONENT_ID","FORM_CONTROLLER_MCP_SYS_ID","UXF_THEME_UPDATED","LAYOUT_VERSION_3_0_0","LAYOUT_VERSION_3_1_0","META_PROP_NAME_APP_CONFIG_SYS_ID","META_PROP_NAME_PF_PROP_OVERRIDES","META_PROP_NAME_HYDRATION_KEY","UXF_TYPE_VIEWPORT","NOW_UXF_TABSET","NOW_CONTEXTUAL_SIDEBAR","NOW_UXF_VIEWPORT_BLACKLIST","PRESET","HANDLING_SCOPE","UXF_INTERNAL_HANDLING_SCOPE_SAFETY","UXF_INTERNAL_RELAY_BY_SCREEN_ACTION_TRANSFORMER","UXF_INTERNAL_ACTION_ORIGINATE","GLIDE_FORM_DATABROKER","META_PROP_NAME_STYLE_QUERIES","META_PROP_NAME_PARENT_PAGE_COMPONENT_ID","META_PROP_NAME_PARENT_PAGE_MACROPONENT_SYS_ID","META_PROP_NAME_CONTROLLER_MAP","META_PROP_NAME_PARENT_CONTROLLER_DEPENDENCY_MAP","META_PROP_NAME_SCREEN_CONTROLLER_MAP","UXF_EXTENSION_POINT_SINGLE_CONTROLLER_DEPENDENCY_KEY","INPUTS","MACROPONENT_VALUE_UPDATED","DEFAULT_LANG_CODE","USER_PREF_LANG_HEADER","MACROPONENT_TIME_TO_IDLE_MEASUREMENT_REQUESTED","MAX_WIDTH","REFERENCE","PERSIST_STATE_CONSTANTS","ACTION_PERSIST_STATE","SINK_URL","PERSIST_STATE_KEY","META_PROP_NAME_PERSISTED_STATE","ATTR_PARENT_TAG","ATTR_LAYOUT_TAG","NOW_UXF_PAGE","SCREEN_ACTION_TRANSFORMER","ELEMENT_TYPES","REPEATER","renderStrategy","PRIORITY","LAZY","INJECTION_POINT_TARGET","INJECTION_POINT_SOURCE","UTILITY_PANEL","HOISTED_CONTENT_SOURCE_RENDERED","LOGGING_ENABLED","noop","isCacheStorageAPISupported","_isCacheStorageAPISupported","cacheName","_self","_caches","computeHash","Base64","DB_CACHENAME","getDBCacheHandle","_getDBCacheHandle","getCacheKey","pipelineId","cacheUrl","IS_CACHE_STORAGE_API_AVAILABLE_PROMISE","PAGE_FRAGMENT_PARTIAL_CONTENT_CACHE_ENABLED","getUxGlobal","CACHE_NAME_PREFIX","PAGE_FRAGMENT_PARTIAL_CONTENT_CACHE_NAME","_removeStaleCaches","isSecureContext","getOpenedCache","_getOpenedCache","getClientCacheableContentFromCache","_getClientCacheableContentFromCache","fetchClientCacheableContent","_fetchClientCacheableContent","clientCacheableContent","sysPropEmbeddablesEnabled","modifiedEmbeddableUrl","getEmbeddableBaseUrl","credentials","getClientCacheableComponentDriverRequestUrl","componentIdOrTagName","cacheBuster","removeStaleCaches","uxGlobalsClientCacheBuster","getPageContextId","pageMeta","pageRegistryId","isNil","UX_GLOBALS","getPagePropertiesForApp","_matchingExpConfig$pa","experienceConfigs","matchingExpConfig","experienceId","pageProperties","EXPERIENCE_IDS_BY_APP_CONFIG_SYS_IDS","pageSettings","appConfigId","deepFreeze","PAGE_FRAGMENTS_LOADED_BY_PAGE_PROCESSOR","macroponentsLoadedByPageProcessor","PAGE_PROCESSOR_LOADED_TEMPLATES","template","polyfilledPromiseDotAllSettled","allSettled","getUserPrefLangCode","_userSession$output","userSession","langCode","user","language","sysPropEmbeddablesEnabledValue","getSeededFragments","macroponentSysIdsToLookup","seededPageFragments","seededFragmentsSysIds","resolveDependencies","macroponentSysId","_seededPageFragments$","dependentMCPIds","depId","buildClientCacheableContentUrl","clientCacheableContentCacheBuster","buildStaticContentUrl","languageCode","staticContentCacheBuster","shouldIncludeCrossOrigin","normalizePropertyName","visited","bodyStyles","printCssText","skipBodyStyles","_i3","_Object$keys","propName","printProperties","normalized","_Object$entries","_Object$entries$_i","_i2","_Object$entries2","_Object$entries2$_i","resolveProperties","installFonts","fonts","cssFontFaceDefinitions","font","uri","fontDef","escape","getCssFontFaceDef","styleEl","COMPAT_THEME_PROPS","STATIC_THEME_PROPS","signalThemeUpdated","installTheme","_ref7$theme","theme","_ref7$assets","assets","themeOptions","targetNode","styleTagId","cssSelector","keepDocumentTheme","skipPageSpecificStyles","themeOptionsResult","_ref6$coreStyles","coreStyles","_ref6$legacyTheme","legacyTheme","_ref6$legacyTheme2","_ref6$legacyTheme2$as","legacyAssets","_ref6$legacyTheme2$th","legacyProperties","_ref6$infoDensities","infoDensities","_ref6$variants","variants","_ref6$userPreferenceI","userPreferenceInfoDensity","_ref6$userPreferenceV","userPreferenceVariant","allProperties","allAssets","_step$value$propertie","_step$value$assets","_infoDensities$userPr","_infoDensities$userPr2","infoDensityProps","_infoDensities$userPr3","infoDensityAssets","_variants$userPrefere","_variants$userPrefere2","variantProps","_variants$userPrefere3","variantAssets","buildTheme","imageAssets","cssVars","_triageAssets","baseUrl","triagedAssets","asset","images","triageAssets","skipAddingFavicon","UxGlobalTheme","favicon","installImages","imagesObj","imagesArr","getElementById","stylesheet","getDocumentLoadedThemeStylesheet","UXF_DB_OP_TRIGGER_REQUESTED","actionTypesAllowedFromScript","UXF_DB_DATA_REQUESTED","UXF_DB_REFRESH_REQUESTED","UXF_DB_REFRESH_REQUESTED_INITIAL_VALUE","UXF_DB_REFRESH_RELATED_REQUESTED","UXF_DB_OP_EXEC_REQUESTED","UXF_DB_DATA_RECEIVED","UXF_DB_BOOTSTRAPPED","UXF_DB_INPUT_CHANGED","DB_ENGINE_EXEC_REQUESTED","DB_ENGINE_EXEC_REQUESTED_WITH_RECORDING","DB_ENGINE_EXEC_SUCCEEDED","DB_ENGINE_EXEC_STARTED","DB_ENGINE_EXEC_FAILED","DB_ENGINE_EXEC_PROGRESSED","DATA_FETCH_INITIATED","DATA_FETCH_SUCCEEDED","DATA_FETCH_FAILED","DATA_OP_INITIATED","DATA_OP_SUCCEEDED","DATA_OP_FAILED","NEWER","OLDER","Cache","oldest","newest","_keymap","itv","_registerEntryAsUsed","KeyIterator","ValueIterator","EntryIterator","fun","thisObj","oldestEntry","ent","cachedScreens","chromeMainPageProperty","cacheLimit","maxCachedPageCount","isNumber","getCacheLimit","viewportContent","usedScreens","screens","screenKey","screen","screenFromCache","findDescendantByComponentId","componentId","maxDepth","selector","depth","_currentRoot$matches","_queue$index","currentRoot","_child$matches","HTMLSlotElement","assignedElements","_assignedEl$matches","assignedEl","getChildComponentIds","actionChain","currentComponentIndex","isEmptySet","getPageMacroponentComponentIndex","registeredComponents","_registeredComponents","_registeredComponents2","isDefaultMacroponentSubscriber","_registeredComponents3","DirtyStateManager","registeredComponentsById","dirtyChildrenIdsByComponentId","parentComponentIdsByDirtyChildId","formControllerComponentIds","_host$screenData","fallbackComponentId","updateContext","_host$componentId","callbackFn","_options$isDefaultMac","_options$isScreenSubs","isScreenSubscriber","screenData","subscriberDispatchFn","subscriberUpdateContextFn","subscriberUpdatePropertiesFn","subscriberUpdateStateFn","_window2","_experienceConfig$exp","_experienceConfig$exp2","_coeffects$host$compo","experiencePath","experienceConfig","experienceData","experienceName","_this$dirtyChildrenId","parentComponentId","subscriber","isDirty","childActionChain","screenStatusChangedActionPayload","subscriberComponentId","_coeffects$action","_coeffects$action$met","uxfMeta","_coeffects$action$met2","componentIdsInActionChain","_coeffects$action$met3","_coeffects$action$met4","allComponentIdsInDispatchedActionTrail","_coeffects$action$met5","sourceComponentId","uxfInternalIsModelessDialog","refinedComponentIdsInActionChain","pageMacroponentIndex","refineActionChainForModelessDialog","currentFormControllerComponentId","flat","cleanFormAndPageMacroponent","executeDirtyStateCallback","activeExperiencePath","getConfirmPopStateNavigationOnDirtyScreen","_window3","confirmPopStateNavigationContext","activeScreenKey","isActiveScreenDirty","isScreenDirty","confirmPopStateNavigation","_this$registeredCompo","subscriberParams","_step3$value","oldScreenKey","newScreenKey","_coeffects$action2","_coeffects$action2$me","_coeffects$action2$me2","_coeffects$action2$me3","dirtyChildrenOfFormController","_purgeDirtyStateOfComponent","pageMacroponentComponentId","pageMacroponentDirtyChildren","component","componentPurgeContext","dirtyChildrenComponentIds","childComponentId","_this3$dirtyChildrenI","_this3$parentComponen","_this$registeredCompo2","purgeParams","isPurgeCompleted","purgeRootComponent","actionOriginComponent","dirtyChildId","purgeChildComponent","removeParentChildRef","dirtyStateContext","currComponentIndex","originComponentIsDirty","currComponentId","componentIndex","prevComponentId","addParentChildRef","isDirtyOfSourceElement","cleanDirtyState","_this4$registeredComp","isCurrComponentDirty","getComputedDirtyStateOfComponent","_this$dirtyChildrenId2","_this$parentComponent","_this$dirtyChildrenId3","_this$parentComponent2","dirtyStateManager","dirtyStateManagerApiProxy","registerComponent","unregisterComponent","handleScreenStatusChangedAction","isRegisteredMacroponent","isComponentDirty","isMacroponentDirty","getDirtyDescendantComponentIds","updateScreenKey","_getInternalStateSnapshot","dirtyStateManagerApi","getMacroponentTagName","suffix","suffixToAppend","getScreenActionTransformerTagName","getNamespacedComponentId","namespace","nodeId","repeaterItem","getRepeatedNodeId","repeaterNodeId","camelCase","memoize","camelCaseLodash","kebabCase","kebabCaseLodash","snakeCase","snakeCaseLodash","getNodeId","getNodeIds","isActionBlacklisted","actionName","blacklist","getNamepsacedPropName","getKebabCasedDbOutputProp","dbId","getKebabCasedControllerDependencyProp","dependencyName","outputPropName","getKebabCaseDbLifecycleFetchingProp","getKebabCaseDbLifecycleFetchSuccessProp","getControllerDependencyProp","getDbOutputProp","getDbLifecycleFetchingProp","getDbLifecycleFetchSuccessProp","isValidElementEventMapping","forScreenActionTransformer","sourceNodeId","containingMacroponentSysId","eventMetaSourceCorrelationId","mappingSourceCorrelationId","isValidEventMapping","getPrefetchLimits","getUnifiedCacheStats","_getUxGlobal","_getUxGlobal$getAggre","getMacroponentObjectBySysId","_macroponents$find","routesObject","macroponents","macroponent","getNowUxfReflowDisabled","_element$getRootNode","_host$nowUxfReflowDis","_host$getRootNode","getRootNode","nowUxfReflowDisabled","nowUxfReflowDisabledAppConfig","nowUxfReflowDisabledScreen","disableAutoReflow","shouldIgnoreViewportDispatch","isTransactionCancellationEnabled","shouldRenderOnPriority","dataBroker","_dataBroker$id","outputProps","selectable","getPropertiesForDataBroker","isValidInternalAction","handleInternalAction","effectFn","getInternalEffect","_ref2$stopPropagation","_ref2$interceptors","interceptors","partial","internalActionGateInterceptor","getModifiedMetaForInternalActionDispatch","dispatchInternalAction","dispatchFn","resolvers","uxValue","isNull","noopResolver","_resolvers$JSON_LITER","literal","getResolvedJsonLiteral","_resolvers$CLIENT_TRA","clientTransform","_resolvers$BINARY","binary","_resolvers$UNARY","unary","_resolvers$binding","_resolvers$CONTEXT_BI","contextBinding","_resolvers$EVENT_PAYL","eventPayloadBinding","_resolvers$RUNTIME_IN","clientTransformScript","_resolvers$TRANSLATIO","translationLiteral","_resolvers$container","reduceContainer","_resolvers$ENV_BINDIN","envBinding","_resolvers$RT_CLIENT_","clientResponsiveQuery","_uxValue$type","rest","controllerElementId","klona","lastIndex","getViewportApi","seismicState","viewports","isRouteInitializationCompleted","viewportApi","currentViewportId","currentViewport","viewportRoutes","currentRoute","routeType","fields","optionalParameters","createRoute","activeRoute","routeDefinitions","hasRoutes","buildViewportApi","parentDataByPage","dataByPage","getDerivedData","controllerAliasMap","proxyDataBrokerNodes","dataShell","dataBrokers","dataElements","parentData","setDerivedData","brokerNode","derived","unset","resolveSelectableProperty","getSelectableProp","unstableResolveSelectableProperty","targetElementId","unstableResolvePropertySelectorValue","getPlaceholderPropName","resolveControllerSelectableProperty","_controllerAliasMap$t2","_controllerAliasMap$t3","_controllerAliasMap$r2","_controllerAliasMap$t4","controllerDependencyMap","parentControllerDependencyMap","realTargetgetElementId","elementId","_controllerAliasMap$r","_controllerAliasMap$t","_path","_toArray","newPath","_arrayLikeToArray","resolveDerivedSelectableProperty","resolveContextBinding","address","_address","targetPropName","targetPath","propPath","compact","csdbNodeId","pdbNodeIds","externalControllerDependencies","_address2","parentMacroponentSysId","_parentDataStore$get$","parentDataStore","parentPdbNodeId","checkingPdbNodeIds","isSelectablePropertyResolvable","_targetPath","pathHead","pathTail","pick","ops","EQ","NEQ","GT","GTE","LT","LTE","EMPTY","NOTEMPTY","ONEOF","NOTONEOF","isValidOp","operator","correctArgLengthForOp","runOperator","operands","trimEnd","trimStart","_operands","resolveConcat","_operands$","_operands$2","resolveIf","resolveEmpty","resolveLen","resolvePick","resolveRange","resolveSum","resolveAny","resolveAll","resolveWhere","valueToFind","indexof","lastindexof","replaceWith","_operands2","replacement","_replaceAll","replaceAll","uppercase","lowercase","_operands4","withCT","group","groupEnd","createEnv","env","_uxValue$binding$addr","withEnv","resolveEnvTransformFn","resolveWith","newEnv","_let","expr","resolvedArr","resolvedState","resolveForBinary","operandsUxValue","isEnvTransformOperator","resolveForClientTransform","runTransformFn","leftUxValue","rightUxValue","runBinaryFn","resolveForUnary","operand","runUnaryFn","getResolvedTranslationLiteral","mapValues","seismicProperties","inputValues","resolver","basicResolvers","getResolvedBindingWithState","inputValue","resolvedInputValue","pipeline","definitionSysId","definitionAttributes","_db$headers","_db$cachePolicy","cachePolicy","resolveForDbExecEngine","SYS_PROP_PERF_ENABLED","markDBExecEffect","interactionId","getInteractionId","executions","executionTime","mark","newInputValues","api","measure","resolversForView","performanceLogger","resolvedUxValue","buildAttributes","parameters","resolvedInputValues","parameterName","resolveAttributesUxValue","attributes","resolversForInputValue","attributeKey","attributeUxValue","resolveForView","buildOutputResult","pipelineSysId","executionResult","parentResourceId","ApiError","_wrapNativeSuper","extractAdditionalInfo","_extractAdditionalInfo","additionalInfo","handleApiError","_handleApiError","resolvedEndpoint","errorOutputResult","success","EXTERNAL_REST_DATABROKER_CACHE","fetchFromCache","cachedData","storeInCache","makeApiRequest","externalRESTDataBroker","resolvedHeaders","startActionType","_externalRESTDataBrok","endpoint","isCacheActive","policy","resolvedRequestBody","configOptions","startTime","cacheKey","endTime","httpmethod","pipelineResults","lazyParser","inlineScriptId","denylist","createSandboxedEvaluator","allowedGlobals","strictWrapper","defaultAllowedGlobals","sandboxEvaluator","compatibilityEvaluator","allNulls","globalThis","V1","scriptIncludesCompatibilityModeAllowlist","getEvaluator","apiVersion","ALLOW_COMPAT_MODE","getMacroponentInlineScript","lookupPath","Registry","IncludesRegistry","InlineScriptRegistry","getAppWrapper","stateProperties","getPropsWrapper","macroponentProperties","getSessionWrapper","getContextWrapper","app","session","getPayloadFromArguments","getOperationsForElementId","uxfEmitFn","dataBrokerDefinitionIdByElementId","dataBrokerOperationFunctions","definitionId","getCSDBOperationsWrapper","elementsWrapper","dbOperations","csdbElementsWrapper","targetProperty","csdbOperationFn","getControllerOfParentControllerDependency","dataElementId","parentControllerDepencies","originalController","getRealDataElementId","isDependencyController","getDataBrokerWrapper","getControllerDepOpFn","_controllerAliasMap$d","dependencyController","operations","dataElementAddresses","resolvedBindingValue","notFoundProvider","getDataWrapper","withOperations","externalControllerDependencyNames","dataBrokerDefById","_parentDataShell$data","parentDataShell","getDatabrokerDefinitionWrapper","_seismicProperties$ME","realDataElementId","dependencyAlias","fallbackGetter","matchingControllerDependency","dep","dependencyHandledEvents","operationApiName","operationEventName","fnArguments","dependencyOp","wrappedPayload","controllerDependencyOpFnGetterFactory","getStateWrapper","macroponentState","statePropertyName","getElementsWrapper","getElementSelectablePropsWrapper","getMacroponentAccessApi","macroponentPropertyDefinitions","elements","snHttpRef","getControllerDataWrapper","proxydbNodes","dataOutputProp","presetControllerDependencies","_unused","validJSON","_proxydbNodes$filter","dependencyElementId","dependencies","unsupportedApiMessage","snHttp","_yield$import","snHttpInstance","createTaskTracker","PENDING_COUNT","IDLE_QUEUE","incrementPendingTaskCount","decrementPendingTaskCount","_IDLE_QUEUE","signalIdle","whenIdle","didPause","timeOutId","screenMap","getCanvasScreen","ancestor","_ancestor","getAncestorNode","getUxrInteractionIdByHost","_getCanvasScreen","uxrInteractionId","nowUiFramework","ScreenEngineTaskTracker","onProgress","onStart","_options$method","_options$headers","_options$params","_options$body","_options$batch","batch","snHttpProm","dummyAction","addPendingNetworkActionForHost","onUploadProgress","_error$response","finally","removePendingNetworkActionForHost","sanitizeKey","singleTranslationGQL","hasTranslation","getWarnMessage","http","getHttpApi","_ref2$response","_ref3$data","_ref3$data2$GlideDoma","GlideDomain_Query","_ref3$data2$GlideDoma3","getMessage","_ref3$data2$GlideDoma4","_ref3$data2$GlideDoma5","_ref3$data2$GlideDoma6","appendTranslations","transformFn","getInlineScript","getAccessApi","additionalProps","getControllerAccessApi","getEvaluatedInlineScript","helpers","translateSync","CONTAINER_ELEMENT","CHILD_ELEMENT","SN_UXF_ELEMENT_MOUNT","UIB_DEFAULT_SLOTTED_WRAPPER","NOW_MODE_ACTIVE","FLEX","INLINE_FLEX","GRID","INLINE_GRID","REFLOW_PROP","REFERENCE_ELEMENT","REFERENCE_CONTAINER","REFERENCE_PAGE","REFERENCE_MACROPONENT","CONDITIONAL","EVENT_METRIC","markReflow","getMetricTypes","isMetricDefined","uxfReflowInteractionId","createInteractionId","defineMetric","screenMacroponent","macroponentTitle","screenSize","markOptions","EXPERIENCE_CONFIGS_KEY","PAGE_PROPERTIES_KEY","getStylesDefaultAndQueries","responsiveStylesValue","isLayoutV3","layoutModel","isEqual","shouldRenderRecordControllerAsSibling","controllerNodeIdsWithGlideForm","_dataShell$dataElemen","firstNodeId","requireExplicitEventMapping","getMatchingQueryStyles","queries","mediaFeature","q","hasIn","getContainerQueryStyles","isInline","getContainerLayoutStyles","hasQueryStyles","elementType","queryStyles","generateChildElementId","getChildQueryStyles","clearStyles","setStyles","forOwn","setProperty","mergeStyles","defaultStyles","applyStylesByMediaFeature","matchedQueryStyles","initialEntryWidth","mediaFeatureStylesApplied","applyMatchingQueryStyles","breakpoints","mqs","effectiveBreakpoint","getEffectiveBreakpoint","overrideMinWidth","shouldOverrideMinWidth","_matchedQueryStyle$qu","matchedQueryStyle","isAutoReflow","mergedStyles","namedItem","element_id","childStyles","itemQueryStyles","setQueryStyles","initialRes","breakpoint","upperBreakpoint","lowerBreakpoint","containerStyles","isElementNotInLayout","isDesignTime","elementsInLayoutModel","removeNamespaceFromComponentId","childElementId","getElementIdFromChild","isValidModelAndChildren","compactedChildren","isRepeater","repeaterElType","childElId","isUIBElements","sel","getElementWidth","_el$style","_getShadowRoot","firstElementChild","offsetWidth","getShadowRoot","marginLeft","marginRight","ignoreCachedStyles","cachedLayoutType","cssDisplay","getLayoutType","stylesCache","getROElementId","arrangeChildrenByIfPredefinedSlot","childrenWithPredefinedSlot","otherChildren","childHasDefinedSlot","groupQueriesByReference","queryObj","_queryObj$query$refer","reference","getReferenceTargetElement","refElement","parentElement","reflowApplyOrderByRef","getExternalStyles","previousStyles","externalStyles","_child$elm","_c$elm","getInternalStyles","willRenderNodeInDOM","_model$default$items","_model$default","isUIBElement","compositionQueryRO","propertyCache","getStyles","isContainer","elStyles","layoutDefault","rules","baseStyles","getMergedLayoutQueryStyles","mergedExternalStyles","mergedInternalStyles","querySettingOrder","groupedMQS","queriesForReference","_getMatchingStylesFor","previousExternalStyles","previousInternalStyles","sortedQueries","q1","q2","refWidth","internalStyles","_query$query","autoReflowQuery","queryWidth","getMatchingStylesForReference","_getMatchingStylesFor2","applyQueryStyles","refMQS","widthToConsider","stylesApplied","applyStyles","ignoreCache","elStylesCacheKey","generateElStylesCacheKey","elStylesFromCache","applyPropertyValuesByReference","targetElement","propertyValues","breakPoints","refElementWidth","setProperties","setPropertyCache","elemId","getPropertyCache","applyPropertyValues","reflowPropRefMap","valueObj","_valueObj$reference","groupReflowPropsByReference","propSettingOrder","overrideCache","propsToUpdate","currentProps","elementProps","allPropNamesFromRules","elementReflowProperties","filterReflowProperties","getProperties","cachedProperties","current","ignored","mergeAndIgnoreProperties","applyMergedQueryStyles","mergedDefaultLayoutStylesByItem","applyCompositionalStylesForElement","queryReferenceOrder","referenceElement","referenceWidth","MediaQueryRegistry","registerMediaQuery","mediaQuery","mediaQueryPath","getMediaQueryPath","mediaQueryListTarget","getMediaQuery","getResizeObserver","ResizeObserver","mediaQueryResizeObserverCallback","getComponentId","containerQueryRegistry","styleQueriesWrapper","vNode","_vNode$data","hook","insert","lazyLoadingStyles","parentElementComponentId","childrenWithQueries","registerCompositionStyleQueries","destroy","unobserve","_parentElementChildre","parentElementChildrenWithQueries","deregisterCompositionStyleQueries","WithStyleQueriesIfPresent","responsiveReferenceOrder","responsiveUxValue","defaultUxValue","responsiveState","effectiveValue","referenceType","smallestMaxWidthMatch","getResolvers","getResolvedClientResponsiveQuery","callExternalApiEffect","_callExternalApiEffect","_meta$pipelineResolve","mcpSysId","_externalRESTDataBrok2","resolversForExternalRESTAttributes","pipelineResolverDependencies","getResolversForView","DB_ENGINE_EXEC_REST_URL","dataResourceQuery","dbExecGQLEffect","dbExecGQLEffectRecordHeader","headerList","dbExecRESTEffect","isDevMode","progressActionType","unbatchedDbExecRESTEffect","dbExecRESTExternalEffect","externalRESTDBEffect","dbExecRESTEffectRecordHeader","createDbExecSuccessEffect","pipelineDefinitions","isGraphQLTransportEnabled","resultNodes","DataResource","DataResourceDataSet","getDBExecPipelineResults","pipelineDefinition","dbExecFailureEffect","_payload$pipelineResu","signalDBExecCompleteLifecycle","signalDBExecInitiatedLifecycle","requestId","makeOpIdPayload","makeFetchIdPayloads","fetchPayload","dataElemId","operationKey","isSuccessfulOpResult","makeSuccessfulOpResultPayload","makeFailedOpResultPayload","ids","dbElements","_pipelineDefinition$f","definition","filterIdsByResult","fetchIdPayload","resultIndex","isSuccessfulFetchResultItem","makeFailedFetchErrorPayload","resultItem","dbExecInterceptor","datashell","before","effects","batchExcluded","batchExclude","priority","instanceId","reformatInputValues","formatPayloadForDBExec","getEffectWithArgs","effectConfig","_meta$pipelineDefinit","_meta$pipelineDefinit2","effectConfigToUse","_effectConfig$args$","_pipelineDefinition$","resolversForAttributes","resolveHeaders","buildEffect","restExternalEffectConfig","gqlEffectConfig","restEffectConfig","chosenEffectConfig","pipelineType","buildDBExecEffectInterceptor","buildDBExecEffectWithRecordingInterceptor","handleDBLifecyleForPrefetch","dryTargetInputValues","hydratedOperationPayload","getResolvedPayloadBinding","MacroponentInstanceRegistry","MultiInstanceProxyMcpRegistry","getMacroponentInstance","getApi","csdbDispatchFn","rootDispatchFn","dataBrokerDebouncedPipelineRefreshFns","parentDispatchFn","getProxyInstanceValue","keyName","orSetDefaultWith","pdbMap","getProxyMcpInstance","allowlist","getInstanceValue","instanceObject","SEISMIC_SYMBOL_ANCESTOR_ROOT_NODE_DESCRIPTION","getSeismicDispatchFn","domNode","getDispatchForDomNode","getSeismicVariable","symbolDescription","containingObject","first","getCsdbDispatchFn","macroponentDispatch","getMiPdbDispatchFn","miPdbDispatchFn","getRootDispatchFn","getParentDispatchFn","fallbackDispatch","shadowHost","getAncestorRoot","handleNestedMerge","actionChainAugmentationInterceptor","_currentMeta$path","currentMeta","previousEventSource","_getSourceActionPath","currentAugmentedActionPath","prevAndCurrentActionPath","_getSourceActionPath$","_getSourceActionPath$2","augmentedMeta","generateId","crypto","randomUUID","createFragmentGenerator","templateStr","modifierFn","rootElementComponentId","modifiedTemplate","fragment","rootElement","firstChild","translations","append","SYS_PROPS","appendSysProps","USER_PREFS","appendUserPrefs","userPrefs","allowList","PRESOURCES","PRESOURCES_CACHING_ALLOW_LIST","safeParseJson","stringifiedJson","IN_FLIGHT_PRESOURCE_KEYS","loadPresources","_loadPresources","presourceKeys","shouldQuery","presourceKey","cachedPresource","loadPresourcesFromCache","fetchPresources","_fetchPresources","_window$nowUiFramewor","_yield$snHttpInstance","_data$result","responseBodyByKey","parsedJson","_t4","sysparm_macroponent_sys_id","savePresourcesToCache","createInstance","_loadPresourcesFromCache","cachedPresources","_t5","_savePresourcesToCache","presourceData","_t6","embeddableCache","embeddableMacroponentsLoaded","macroponentsLoaded","fetchEmbeddables","_fetchEmbeddables","embeddableTagNames","_yield$snHttpRef$requ","_yield$snHttpRef$requ2","_yield$snHttpRef$requ4","fetchedEmbeddables","macroponentSkipSet","isEmbeddableMacroponent","customTagName","isEmbeddableMacroponentLoaded","_getEmbeddables","embeddablesMcpIds","embeddableTagNamesToFetch","fetchedEmbeddablesAndFragments","_fetchedEmbeddablesAn","_fetchedEmbeddablesAn2","fetchedPageFragments","fetchedPageFragment","serializedPageFragment","pageFragment","embeddablesPageFragments","embeddableTag","_embeddableCache$get","defaultPropertyValues","_pageFragment","_pageFragment$macropo","macroponentInstanceJson","_pageFragment$depende","dependentMCPId","embeddableTagName","embeddables","pageFragments","fetchedEmbeddable","seedPageFragment","loadSeededPageFragment","getPageFragments","createMacroponentFragmentGenerator","assetBundleInUse","importESModule","tempUrl","rebuiltUrl","import","importNonModuleScript","scriptUrl","_options$isAsync","isAsync","_options$includeCross","includeCrossOrigin","scripts","_scripts$i","isScriptAlreadyLoadedInDocumentBody","cleanupEventListeners","scriptEl","cleanUpAndResolve","cleanUpAndReject","crossOrigin","importESModules","esmImports","moduleSpecifier","ASSET_CACHE_NAME","loadedAssets","loadedAssetBundles","assetBundlesInCacheStorage","_seedAssetBundlesFromCacheStorage","cachedAsset","useAssetBundle","buildAssetBundleUrl","sysIdOrBundleName","bundleCacheBuster","requiredAssets","staticAssetCacheBuster","fullCacheBuster","requestTypeToInclude","getRuntimeBundleMaxUrlLength","loadedAssetBundleSetFromScriptTags","seedAssetBundlesFromCacheStoragePromise","seedAssetBundlesFromCacheStorage","seedLoadedAssetBundlesFromScriptTags","loadedAssetBundlesFromScriptTags","_scriptEl$src","bundleName","loadAssetDependencies","_loadAssetDependencies","assetsToLoad","awaitAssetLoading","_assetsToLoad$esmImpo","_assetsToLoad$clientS","clientScriptEsm","assetsInBundle","dependentAssetBundles","_assetsToLoad$inline","inline","dependentAssetBundle","assetsNeedToLoad","promisedESModules","elementRO","layoutBoundsRegistry","layoutBoundsSavedRegistry","widthRanges","windowDimensions","cacheBusterkey","uxLazyLoadingClientCacheBuster","isCacheBusterValidated","isNodeInVisibleFold","bounds","updateDimentions","addResizeObserver","getLayoutBoundsKey","screenId","getWindowDimensions","isLayoutBoundsAvailable","mcpId","_layoutBoundsRegistry","layoutBoundKey","hasOwn","addLayoutBoundsToLocalRegistry","calcualteAndSaveLatestLayoutBounds","layoutBounds","calculateBoundsInRaf","saveLayoutBoundsToCache","debouncedSaveLayoutBoundsToServer","getElmRect","computedStyle","paddingTop","paddingBottom","paddingLeft","paddingRight","calculateLayoutBounds","nodeQueue","_children","appendToMeta","parentBoundingRect","_parent$firstChild","elmRest","isLayoutElm","loadLayoutBoundsFromCache","layoutBoundsRegistryServer","layoutBoundsFromServer","layoutBoundsCache","__UXF_layoutBoundsRegistry","isCacheBusterValid","clearLayoutBoundsFromCache","saveLayoutBoundsToServer","mcpIds","intersectionObserver","IntersectionObserver","isIntersecting","deferredNodes","getValueFromLazyLoadingRegistry","defaultNodeStyles","savedStyles","reapplyDefaultStyles","rootMargin","SCREEN_ACTION_TRANSFORMER_DELIMITER","SYS_PROP_LAZY_LOADING_ENABLED","USER_PREFERENCE_LAZY_LOADING_ENABLED","lazyLoadingRegistry","defaultRegistryContents","isLazyLoadingEnabledAtScreen","getLazyLoadingMap","removeProperty","getHooksForLazyLoading","shellComponentId","isLazyLoadingEnabled","getComponentById","_host$parentNode","parentTagName","getScreenId","vnode","_layoutBoundsSavedReg","_layoutBoundsRegistry2","getLayoutBounds","elementBounds","relevantStyles","elmStyles","getRelevantStyles","defaultElmStyles","boundsKey","setStylesWithBounds","lazyLoading","advancedPerformanceSettings","enabled","loadPageFragmentMetadata","_loadPageFragmentMetadata","sysProps","_pageFragment$presour","_createMacroponentFragmentGenerator","tagNameSuffix","withAppConfigAgnosticSubRoutes","subroutes","offRowEventMappings","serverProducedConsolidatedConfig","_pageFragment$assetsI","prefetchDatabrokerPromises","forcedRedefine","consolidatedConfig","customElements","createMacroponent","tabSetSlotMap","DEFAULT_MAX_WAIT_TIME_MS","DEFAULT_MAX_ITEM_COUNT","createBatchingQueue","batchConsumerFn","maxWaitTimeMs","maxBatchItemCount","TaskTracker","QUEUE","IS_CONSUMING_QUEUE","scheduleFlushQueue","requestBatch","flushQueueImmediately","flushQueue","enqueue","appliedPageFragmentsPromise","emptyArray","getPrefetchableRequests","pageFragmentSysId","appliedPageFragment","getPreloadedAppliedPageFragments","apf","prefetchableRequests","LOADED_STATIC_PAGE_FRAGMENT_SYS_IDS","_macroponentSysId$len","getStaticPageFragment","staticPageFragmentGetterRegistry","__UXF_staticPageFragmentGetterRegistry","staticPageFragmentGetterFn","skipClientScriptRegistrations","_pageFragment$inline","shouldSkipClientScriptRegistrations","staticPageFragment","loadStaticPageFragmentScript","_loadStaticPageFragmentScript","staticContentUrl","getReconstructedPageFragment","_getReconstructedPageFragment","_pageFragment$staticC","_pageFragment$clientC","clientCacheableContentUrl","pageFragmentWithStaticFields","_yield$fetchClientCac","_yield$fetchClientCac2","createTemplateLoader","_ref$addTimestamp","addTimestamp","_ref$awaitSeedingComp","awaitSeedingComplete","_ref$withAppConfigAgn","resolveSeedingCompletePromise","seedingComplete","SeededPageFragments","PageFragmentGeneratorCache","SeededPageFragmentLoaderPromises","PageFragmentCache","getSkipSet","customSkipSet","union","reconstructFragment","_reconstructFragment","cachePageFragment","loadAssetBundle","reconstructedPageFragment","_args3","getFragmentGenerator","_getFragmentGenerator","cachedFragmentGenerator","fragmentGeneratorFn","sendPrefetchRequest","fetchPageFragments","_fetchPageFragments","macroponentSysIds","fetchedFragments","excludeStaticContent","excludeClientCacheableContent","pageContextId","isSeededPageFragment","fetchConsolidatedPageFragments","_fetchConsolidatedPageFragments","_partition","_partition2","macroponentSysIdsToFetch","seededFragments","fragments","_args6","partition","flatMap","pf","_pf$dependentMCPIds","excludeDeferredFragments","canDefer","dependentIds","deferredIds","deferredDependentMCPIds","fetchAndLoadFragmentGenerators","_fetchAndLoadFragmentGenerators","nonDeferredFragments","_createBatchingQueue","candidateUxrInteractionId","currentUxrInteractionId","enqueueFetchPageFragmentGenerator","whenGetTemplatesIdle","memoizedGetTemplateGeneratorPromise","getTemplateGeneratorPromise","_getTemplates","_args8","fetchAndConstructPageFragment","_fetchAndConstructPageFragment","fragmentsToFetch","_getPageFragmentPromise","enqueueFetchPageFragment","memoizedGetPageFramentPromise","_getPageFragments","_args1","_createBatchingQueue2","_loadAssetBundle","load","_ref12$method","operationName","instance","getTemplates","rawPageFragment","fragmentGeneratorPromise","signalSeedingComplete","deleteCache","readBundleAndSeed","bundle","_bundle$dependenciesB","dependenciesByMacroponentSysId","_bundle$deferredDepen","deferredDependenciesByMacroponentSysId","_bundle$macroponentSy","macroponentSysIdByClientCacheableContentCacheBuster","_bundle$staticContent","_bundle$languageCode","clientCacheableContentCacheBusters","_macroponentSysIds","UXF_CSDB_ID","for","getDataBrokerOperationHandlers","csdbNode","hasPdbNode","targetExclusions","isControllerMacroponent","hasCsdbNode","_action$payload$opera","operationPayload","_action$meta","sourceIsScreenActionTransformer","sourceIsFromSubPage","originatingElementIdForControllerOp","actionSourceElementId","dataBrokerId","dataBrokerType","_proxyDataBrokerNodes","operationDefinition","dbDispatch","operationMeta","targetActionType","targetActionId","getResolvedInputsForDbOpExec","targetActionInputValues","targetEventName","refreshPipeline","debouncedRefreshPipeline","debouncedFn","debouncedFnsByPipelineId","debouncedRefreshPipelineFn","leading","trailing","getDebouncedRefreshPipelineFn","DATA_HYDRATION_REGISTRY","responses","getRegistry","POLARIS_APP_SHELL_MACROPONENT_SYS_ID","POLARIS_EVALUATIONS_KEY","EVALUATIONS_USED_REGISTRY","resolveRequestPipelinePromise","evaluationId","evaluationResult","matchingRequest","requestEvaluationId","requestPipelineResolvePromise","getOffDocumentEvaluationRequests","_getRegistry4$request","forOffDocumentEvaluation","macroponentHasEarlyEvaluation","_getRegistry5$request","getEvaluationIds","dataPipelines","propValues","_inputDependencies$co","_getRegistry8$request","matchingRequests","requestMacroponentSysId","isEarlyEvaluationUsed","inputDependencies","pipelineIdsByContextPropNames","filteredMatchingRequests","requestPropValues","inputValuesMatch","_pipelineIdsByContext","evaluationIds","qualifyingPipelineId","markEarlyEvaluationAsUsed","EARLY_EVALUATION_USED","getEarlyEvaluation","_getEarlyEvaluation","_Object$values$find","_getRegistry1","_getRegistry1$respons","_ref7$evaluationByPip","evaluationByPipelineId","evaluation","responseEvaluationId","markEarlyEvaluationInProgress","_getRegistry9","_getRegistry9$request","_getRegistry9$respons","requestPipelineRejectPromise","updateResponsesOnError","offDocumentRequests","completedPipelineIdSet","_request$qualifyingPi","macroponentInternalActions","macroponentDispatchedActionNames","MEM_DBCACHE","isCachePrimed","primeDatabrokerCache","hydratedPipeline","getCachePolicy","_pipelineDefinitions$","pd","_pd$cachePolicy","_pd$cachePolicy2","_pd$cachePolicy3","saveToCacheWithTTL","_saveToCacheWithTTL","dbCache","getDataOutputPropsToUpdate","pipelineOutput","dbDef","propToUpdate","getPipelinesToRefresh","changedInput","_changedInput$propNam","propNames","filterPipelines","pipelineIds","specificPipelineToExclude","readEvaluationMode","pipelines","dependentPipelines","getPipelinesFromDefListContainingId","pipelineDefs","brokerElemId","getRefreshRequestOrigin","requestType","getLifecycleUpdatePayload","fetching","prevSuccess","fetchingProp","prevSuccessProp","updatePayload","hasInputDependencies","isNotExternalRESTDataBroker","getPipelineMeta","clientStateDataBrokerNode","trackDBLifecycleFn","_effect2","dispatchMcpUpdates","getDataOutputPropsToUpdateFn","getPipelinesContaining","externalControllers","dependency","dependencyAcc","externalController","dependencyProps","outputPropsAcc","outputProp","matchingDataResources","dataElement","getInputDependencies","evaluatedDataBrokers","createDataBrokerExecHandlers","previousValue","_coeffects$action$pay2","statePropertyNames","statesWithDependencies","hydrationKey","nowUxfHydrationKey","__uxf_get_evaluation_requests","_definition$","initialValue","sourceEvent","t0","_coeffects$action2$pa","_getCachePolicy","responseJson","shouldRecord","getHydratedPipeline","prefetchPromise","prefetchResponse","isProcessed","broker","inputType","getOpExecRequestOrigin","outputPropsToUpdateRes","parentResourceIds","singleResult","uniqBy","pipelineSet","sourceAction","resolveForActionPayload","resolveForConditional","isLegacySelector","getTargetElement","isRecursing","elShadowRoot","targetEl","shadowChildEl","childEl","getElement","idOrSelector","checkHoisted","childElement","parentMcp","snHttpFactory","xsrfToken","UXF_TAB_SELECTED","RECORD_SIDEBAR_ROUTE_CHANGED","prefetchActions","IN_FLIGHT_PREFETCH_REQUEST","__uxf_prefetch_in_flight_registry","formFieldsNotAvailable","nowUxfSppRecordForm","getFormFields","nowUxfSppRecordTable","nowUxfSppRecordSysId","_prefetch","sourceActionName","sourceActionPayload","tableConfigSysId","_getFormFields","hasFormPrefetchEnabled","agentAssistPrefetchConfigSysId","executeSearchQuery","searchQuery","cacheable","variables","tableConfig","formSysID","formTable","hints","dbActionTypes","getParentPageElementIdForSubPage","checkInheritedDBNodeFn","_dataElementId$split","_dataElementId$split2","depKey","dependencyId","resolvedConditional","isBoolean","isValidSelfDispatchedAction","handledEventNames","eventMetaRelayByScreenActionTransformer","_coeffects$host$isCan","isCanvasExperienceShell","isValidScreenToExperienceShellEventRelay","getModalSelectedMeta","mcpEl","modalId","elementRef","getActionHandlerFn","parentDataElements","rootNodeHandledEventNames","eventMappings","checkControllerElementFn","_hostElementMeta$uxfM","appendedSourceActionMeta","_coeffects$action$met6","_coeffects$action$met7","sourceCorrelationId","_coeffects$action$met8","permitCorrelationIdMismatch","eventMetaPermitCorrelationIdMismatch","_coeffects$action$met9","_coeffects$action$met0","_coeffects$host$hostE","hostElementMeta","preferKeys","fromEntries","_obj1$key","mergeObjectsWithPreferredKeys","prefetch","uxfInternalEventMetaOriginal","__uxfEventMeta","getUxfInternalEventMetaOnly","__uxfCompositionElId","newFilteredEventMappings","sourceDataElementId","hasEventWithMatchingCorrelationId","mismatchedCorrelationIdEventMappings","filteredEventMappings","em","conditional","handlingScopeContainer","handlingScope","validElementEventMapping","isValidDataElementEventMapping","mappingNodeId","isValidReverseDependencyEventMapping","elementIdSet","eventMapping","definedPayload","scriptSysId","uxfInternalEventMeta","handlerDispatch","sourceId","nowUxfDelegateDispatch","_uxfInternalEventMeta","originate","updatedMeta","viewportPayload","viewportElementId","modalPayload","showModal","displayOptions","resolvedOperation","previousDataElementSysId","currentDataElementId","parentElementId","resolvedPayload","currentElementId","getActionHandlers","consolidatedEventMappings","mergeActions","getConsolidatedConfig","descendants","offRowEventMappingsByNodeId","elementTypeMapping","_node$eventMappings","_node$properties","_node$derived","childrenConfigs","dataElemEventMappings","dataElem","sourceEventName","dependentControllerMappings","compElemEventMappings","getConsolidatedEventMappings","selectableProperties","hasViewportScreenNode","dataByNode","ResizeObserverPool","registerResizeObserver","resizeObserver","roElementId","resizeObserverCallBack","removeResizeObserver","_entry$target","contentRect","_getMergedLayoutQuery","_getMergedLayoutQuery2","mergedExternalStylesByElementId","childPropertyValues","ChildElement","_child$data","buildNonLayoutItems","hasNonLayoutElements","designTime","renderModalItems","_arrangeChildrenByIfP","buildNonLayoutItemsForRuntime","renderChildren","isStage","findChildByElementId","isNowModeActive","conditionalElType","isConditional","buildLayout","includeKey","styleClass","generateContainerElementId","keyProp","itemsExistsInModel","currentStyle","previousStyle","GenerateLayout","restAttributes","WithLayoutIfPresent","slotProps","getRepeaterItemSlots","repeatWith","repeaterSlotMeta","itemSlots","buildRepeaterItems","repeaterSlot","parentRepeaterItem","getChildren","Renderer","rendererDependencies","getComponentIdFn","isLayoutDefined","isLayoutModern","updatedLayoutModel","updatedItems","repeatedItem","updatedElementId","newItem","layoutModelForRepeatersWithLayout","repeaterItems","repeaterItemSlots","slotMeta","nonViewportSlots","childNode","_item$instanceId","slotMetaNotInNonViewportSlots","slotExistsInNonViewportSlots","dataOrKeyPath","actionBarsByTranslatorId","getActionbarsForTranslator","translatorId","bars","comparingContext","isNewRecord","barContext","intentType","intentTarget","dataOperations","recordControllerOperations","gFormOperations","recordControllerActions","gFormDataBrokerActions","feedbackStatus","deepSearchElement","ele","topShadow","allSearched","getScreenElement","screenElementReferencesMap","_rendererDependencies","screenElement","foundElement","findInShadowDomParent","memoizedFindParentByTagName","hoistedContentElementMap","renderHoistedContentMCPNode","hoistedContent","isShellElement","getAppendToMetaObject","isHidden","hiddenStyles","isViewportElement","skipTabsetRender","isUxfViewportScreen","extensionPoints","parentControllerDependencies","rebuildNodeLayoutModel","layoutStyleClass","childrenContent","ElementTagName","ViewportRenderer","getResolvedPropValueFn","viewportContents","getPersistedStateForNodeFn","contextualAppConfigSysId","_hoistedContentElemen","hoistedContentPosition","hoistedContentType","nowAppProps","appId","activeHoistedContent","isHoistedContentSource","hoistedContentTargetElm","isSessionTab","hoistAttributes","buildHoistAttributes","elem","isNonDestructive","targetElem","hoistedPosition","setHoistedContentMap","hoistedContentConfiguration","__hoistedContentConfiguration","currentHoistedContent","currentActiveHoistedContent","currentIsHidden","isHoistedContentHidden","tabsetNode","tabsetRenderMap","skipRender","getAppendToMetaObjectForViewportRenderer","isTabSet","renderedScreens","getMostRecentlyUsedScreens","currentScreen","_viewportContent$scre","_viewportContent$curr","getRenderedScreens","initialMetaPropValuesForMacroponent","macroponentConfiguration","requestTime","extensionPoint","isActive","MacroponentTag","ScreenActionTransformerTag","matchedExtensionPoint","ep","screenControllerMap","controllerDepKeys","controllerDependencies","controllerName","metaPropValuesForMacroponent","screenProps","maybeUxValue","isComponentInView","nowUxfAppConfigSysId","_pagePropertiesForApp","experienceConfigsObject","configKey","getNowAppPropsForViewportRenderer","screenActionTransformerKey","getTabsSlugForSlot","renderMacroponentNode","overriddenComponentId","_ref3$ignoreNodeChild","ignoreNodeChildren","_ref3$repeaterItem","_ref3$parentModel","parentModel","tabsetNonViewportContents","getChildrenFn","shouldSetNowPriority","shouldUpdateIntentContext","shouldSaveControllerNode","isHeadless","_getStylesDefaultAndQ","_getStylesDefaultAndQ2","isHiddenUxValue","rootNodeId","previousMode","nodeStore","getHiddenMode","styleClassUxValue","suspendOnViewChange","propUxValue","nowPriorityLevels","MEDIUM","LOW","persistedStateForNode","resolvedTabItems","resolvableItemAttrs","_descendants$correspo","correspondingViewportId","skipViewportElementRender","_extensionPoints","routeObj","controller","actionBarId","actionNodes","daModel","addActionBarForTranslator","addIdToSlottedContent","childVnode","childId","_node$triggers","isNodeRepeaterDescendentWithLayout","rebuiltLayoutModel","getNodeChildren","tabContentSlot","hooksForLazyLoading","updateIntentContextPayload","containerSysId","saveControllerNodeToTranslatorPayload","triggers","setActionStateForShortcut","shortcutDefinitionSysId","isHoistedContentPopulated","buildConditionalNode","conditionalNode","renderProxyDataResourceMultiInstanceNodes","renderDependencies","proxydbNode","propertyUxValue","depObj","dataProp","dataBindingUxValue","evaluated","dependencyPropName","included","isExplicitEventMappingRequired","extraProps","getPersistedStateForNode","persistedStateInContext","isUndefined","nodeIdInPersistedState","WhenMacroponentIsReady","_ref$isReady","isReady","WithCSDBIfPresent","csdbComponentId","renderNode","_ref3$parentNode","_ref2$repeaterItem","repeaters","renderRepeaterNode","_ref2$parentNode","conditionalSlot","parentNodeLayout","_parentNodeLayout$def","_parentNodeLayout$def2","singleItem","renderConditionalNode","getMacroponentView","tree","rootNode","seismicHelper","isMacroponentReady","persistedState","MacroponentNodeRenderer","actionTransformerTagName","getActionTransformerTagName","ProxyDataResourceMultiInstanceNodes","macroponentViewContent","macroponenViewAdapters","allowedDayjsAPIs","getNowDateTimeAPIs","dayjs","utc","timezone","relativeTime","advanceFormat","customParseFormat","localizedFormat","targetFn","methodArgs","getThirdPartyAPIs","NowDateTime","GLOBAL_KEY","intentLibraryGlobals","_window$top","GENERATOR_MAP","getDefaultGenerator","generators","generator","isDefault","getGeneratorById","intentActions","systemMessageTypes","intentLocalStorageKeys","TranslatorMessageType","GeneratorMessageType","generatorVersions","targetTypes","TRANSLATOR","GENERATOR","WindowKey","RegistryKey","_instance","MediatorRegistry","_classPrivateFieldInitSpec","_classPrivateFieldGet","mediatorKey","hasMediator","_this$mediatorHandler","mediatorHandler","_WindowKey$mediatorRe","registryWindow","win","topWin","getRegistryWindow","MediatorResult","isTerminate","handlerAction","MessageProcessorResult","isContinue","createMessageProcessor","processorHandlers","handlerMeta","typeHandler","createMessageTypeMediatorHandler","getInstance","invoke","terminate","routingMediatorHandler","CONTEXT_RECEIVED","SYSTEM_MESSAGE_RECEIVED","INTENT_FEEDBACK_RECEIVED","CONVERSATION_WITH_SKILL_REQUESTED","canHandle","localHandler","activeTranslatorId","_meta$applyActiveTran","applyActiveTranslatorCheck","_meta$applyActiveTran2","originalIntent","_meta$applyActiveTran3","sessionStorageHandler","fromSessionStorage","appendToSessionStorage","TRANSLATOR_MAP","translators","processMessage","getTranslatorById","getTranslators","registerTranslatorById","generatorChain","processSendContext","_translators$translat","messageContext","processSendSystemMessage","processSendIntentFeedback","processRequestConversationWithSkill","INTENT_RECEIVED","intentPayload","generatorForFeedback","intent","translatorChain","processSendIntent","createTranslatorChain","getCurrentActiveTranslatorId","clearActiveTranslatorId","setCurrentActiveTranslatorId","sendDataFromStorage","storageKey","generatorId","jsonString","sessionMeta","updateContextFromStorage","sendSystemMessageFromStorage","requestConversationWithSkillFromStorage","prevValue","handleStorageEvent","originatingGeneratorId","sendIntentFromStorage","_unused2","BROADCAST_TOPIC_RECEIVED","topicSubscribers","translator","subscribeToTopic","targetType","topic","targetMap","subscribeToTopics","topics","unsubscribeFromAllTopics","topicMap","sendSystemMessage","requestConversationWithSkill","removeGenerator","deleteGeneratorById","sendContextToGenerator","registerGenerator","_payload$options","_payload$options2","generatorVersion","registerGeneratorById","currentDefaultGenerator","defaultGeneratorId","registerDefaultGenerator","subscribedTopics","targetGeneratorId","removeTranslator","deleteTranslatorById","registerTranslator","translatorContextId","SUBSCRIBE_TO_TOPIC","UNSUBSCRIBE_FROM_TOPIC","BROADCAST_TOPIC_REQUESTED","getPubsubActionHandlers","_action$payload2","unsubscribeFromTopic","_action$payload3","_action$payload4","_action$payload5","broadcastTopic","SEND_INTENT","SEND_INTENT_BY_TRANSLATOR_CONTEXT_ID","unsetActiveTranslator","sendIntentByTranslatorContextId","unsetCurrentActiveTranslatorId","SET_ACTIVE_CONTEXT","UNSET_ACTIVE_CONTEXT","intentMediatorBehavior","UPDATE_CONTEXT","REGISTER_TRANSLATOR","REMOVE_TRANSLATOR","SEND_INTENT_FEEDBACK","CREATE_CONVERSATION_WITH_SKILL","SEND_SYSTEM_MESSAGE","intentTranslatorBehavior","disableAutomaticallyRegistering","sendIntentFeedback","getNowAssistApiWrapper","apiName","LIBRARY_INTENT_CHANNEL_PACKAGE_NAME","createImportsProxyHandlers","includesObj","nowAssist","getIntentChannelClientScriptApi","scriptInclude","getClientScriptInclude","includeApiNames","scriptIncludeApi","imports","getImports","include","getFunctionFactoryForOperation","eventProperties","OP_KEY_API_FN_NAME","dataBrokerDefinition","mapKeys","exposedToScriptingApi","apiFunctionName","snLodash","isValidString","sandboxedActions","difference","dataBrokerActionTypes","getPrivateSeismicActions","seismicActionTypes","allowedComponentViewportInternalActions","macroponentPublicActions","allowedDependencyRelayEvents","getUxfEmitFn","macroponentSeismicDispatchFn","rootSeismicDispatchFn","rootHandledEventNames","actionBlocklist","publicEventNames","actionAllowList","blocklist","isActionEmissionAllowed","uxfComponentViewportMeta","allowComponentViewportActionInEmitFn","includeComponentViewportActionMeta","BEHAVIOR_OBJ_KEY","processStateUpdate","seismicDispatch","getUpdatedState","setState","seismicUpdateState","fnOrNewState","setStates","stateUpdates","validStateUpdates","_ref3$shouldRender","flagForBatchUpdates","uxfDispatch","_ref$bare","_ref$preserveState","preserveState","_ref$headerLabel","updateStatus","statusObj","dirtyModalId","hasUpdate","tooltipPreview","skipNextScreenActivation","screenParams","ensureFunctionArg","_clearTimeout","_clearInterval","_writeText","getBaseUrl","copyUrlToClipboard","_copyUrlToClipboard","getCurrentExperienceUrl","siteName","dispatchedEvents","getEventHandlerHelpers","navigate","redirect","passiveNavigation","targetRoute","external","setRouteParams","modal","getModalApi","getScreenApi","restParams","translate","getTranslateApi","dispatchedEventNames","getDataBrokerOperationFunctions","dataBrokerDefByElementId","getMacroponentAccessApiFn","clientScript","getClientScript","fnToExec","emitWithMeta","helperDispatchedEvents","eventHandlerApiAddendum","_ref$UXF_INTERNAL_EVE","getHelpers","macroponentAccessApi","getApiFactory","eventHandlerApi","eventInfo","sourceElementId","actionScriptSysId","_action$payload$sourc","actionNodeId","actionEventName","actionEventMapping","getResolvedConditional","trace","getPlaceholderProperties","getDerivedSelectableNames","getSelectableNames","definedControllers","matchedParentDataBroker","proxiedComponentTagName","parentDataBrokerElement","newNodeId","placeholderProps","stateCopy","contextObject","selectablePropMap","selectableProperty","getSelectableName","selectablePropName","unstableAddRenderOnPropertySelectorValueChange","propChangeRenderRequest","controllerMap","getDerivedSelectableName","propChangeRenderRequestOnDerivedProps","unstableRemoveRenderOnPropertySelectorValueChange","propChangeRenderRequestWithdraw","buildOutputPropsMetadata","outputPropMappings","controllerRenderSkipEnabled","resolversForOutputProperties","shouldRenderWhenSet","getInputProps","inputPropMatchings","inputPropVals","_buildOutputPropsMeta","newOutputPropertyValues","EXCLUDED_TYPES","newPropValue","getOutputPropertyValues","inputProps","updateOutputProps","evaluateScriptedConditionsEffect","evaluateRouteScriptedConditions","getConditionProperties","cur","getBasePath","getViewportElementIds","uniq","subroute","parentCompositionElementId","uniqueScreenKey","includeScreenKey","useScreenKey","cacheTopLevelTemplates","prefetchLimits","routesCount","screensCount","isValidPrefetchLimits","routeCount","screenCount","viewportSubroutes","r1","r2","mcp","scheme","requestIdleCallback","cancelScheme","cancelIdleCallback","cacheTemplates","primeTemplateCache","hasViewportScreen","cached","addNewAndRemoveStaleRoutes","routeCollection","invalidRoutes","newRoutes","stateResults","updateRouteCollectionState","subroutesByViewportElementId","_ref$shouldCompleteRo","shouldCompleteRouteInitialization","_ref$invalidRoutes","stateOperations","mergedSubroutes","routeListByOrder","screenEventMappingsOverrides","openedModals","MODAL_TYPE","addOpenedModalInfo","modalType","modalIdStr","getModalId","actionInterceptorComponentCache","screenActionTransformerActionHandlerMetaMap","actionHandlerMetaData","screenActionTransformerTagName","eventMappingOverrides","getEventMappingOverrides","getParentDataElements","persistStateInterceptor","persistStateSatInterceptorFn","_screenActionTransfor","removeOpenedModalInfo","_context$coeffects","EVALUATORS","AND","op","evaluator","OR","EQUALS","NOTEQUALS","STARTSWITH","ALLOWED_TYPES","sanitizeInputValues","inputObj","allowDeepObjects","allowedKeysForSanitization","sanitizedValues","getTermEvaluationResult","term","valueResolverFn","leftHandValue","rightHandValue","IGNORE_VALUE_AND_EVALUTE_TO_TRUE","evaluateConditions","inputCondition","evaluateCondition","parsedCondition","logicalOperation","_result","PARENT_PREFIX","PAYLOAD_PREFIX","getScreenQualifierFunction","macroponentPropertyDefs","_fieldValues","getResolvedDataBindingFn","_subroute$fields","_subroute$optionalPar","candidateKeysForEvaluation","fieldValues","hostPropertyValues","parentProperties","getValueResolverFunction","parsedConditions","getDataOutputPropName","bindingAddress","_bindingAddress","getViewportToScreenMapping","currentViewportMap","updatedViewportMap","ScriptedRequestsCache","__cache","scriptedRoutes","_this$__cache$this$st","_this$__cache$this$st2","scriptedConditonsLastRequestCache","SCRIPTED_ROUTE_CACHE_KEY","SCRIPTED_CONDITIONS_CACHE_KEY","getScriptedScreenCondtionRequestObject","fieldsInPayload","paramsInPayload","_ref$watchedPropertie","watchedProperties","_ref$scriptedConditio","scriptedConditionParameterFilters","_ref$isResultMemoizab","isResultMemoizable","canBeMemoized","resolvedWatchedProperties","inputProperties","processedInputParams","paramFilters","paramsWithoutUserPrefs","omit","conditionParamFilters","jsonPath","filterConditionParameters","filteredProcessedInputParams","keySplit","keyPropName","_value$binding","propNameToResolve","propAddress","resolvedPropertyValue","filterInputParamsWithWatchedProperties","filterInputProperties","_inputProps$detailsPr","_inputProps$detailsPr2","inputPropsFieldsKeys","detailsProps","inputPropsFieldsKeysArray","propsToOmit","areExtPointScriptResultsConsumed","extPointScriptResults","_extPointScriptResult","getSysIdFromTagName","shouldProcessPrefetch","prefetchSSRCMap","_prefetchSSRCMap$macr","definitionSubroutes","uxfViewportDispatchBlacklist","viewportTransactions","ScreenLastRequestTimestampMap","isTemplateCachePrimingAttempted","getInstanceSubroutes","instanceAppConfigSysId","_ref8$appConfigSysId","appConfigSysId","isDuplicateScriptedConditionRequest","scriptedConditonsLastRequestData","withinThreshold","getScriptedRouteConditionRequest","nonExtensionPointRoutesExist","firstInputPropertiesEncountered","_effect3","descendantElementIds","viewportElementsAffectedByDataOutputProp","_Object$values","_watchedPropertyUxVal","dataPropName","_leftHandValue$bindin","inFlightScriptedScreenConditions","addInFlightScriptedScreenConditionEvaluation","existingInFlightSSCRoutes","markInFlightScriptedScreenConditionEvaluation","scriptedScreenConditionRoutes","inFlightSSCRoutes","scriptedRouteCache","scriptedConditionsCache","cacheMap","isMap","_action$meta$appended","_action$meta$appended2","affectedViewportElementIds","_affectedViewportElem","affectedScreens","_payload$sourceAction","_subroutes","nonPassingClientConditions","memoizationFlags","filteredSubroutes","shouldCheckForServerSRCs","extPointRouteToScreenMap","scriptedSubroutesFromServer","epScriptResults","_extPointScriptResult2","_window$__uxf_get_dir","_yield$window$__uxf_g","_window$__uxf_get_ext","_yield$window$__uxf_g2","_window$__uxf_get_eff","_subroutesByViewportElementId","effectiveSubscreens","scriptedRoutesRequest","currentTime","shouldDispatch","_scriptedRouteCache$g","filteredSubroutesByViewportElementId","_t7","initializeCacheWithScriptedConditions","isDirectPageLoad","__uxf_get_direct_load_effective_subscreens","hasScriptedCondition","__uxf_get_extension_point_script_results","__uxf_get_effective_subscreens","_epScriptResults$key","scriptResults","conditionResult","_epScriptResults$key$","_epScriptResults$key2","screenIds","screensWithPassingClientConditions","shouldUseServerEvaluatedSRCResult","validScreens","scriptedCacheKey","getResolve","routeResults","nonExpiredScriptResults","requestStartTime","scriptResult","_coeffects$state$beha","viewportRuntime","_currentScreen$active","_coeffects$action3","_coeffects$action3$pa","_coeffects$action3$me","basePath","viewportData","findKey","isScreenActive","shouldUpdate","requestedRoute","incomingFields","incomingParameters","resolvedPropertyValues","matchingMacroponent","macroponentList","transactionId","signalViewportLoadCompletion","currentTransactionId","chosenMacroponent","failedMacroponentids","candidateMacroponents","_chosenMacroponent","_chosenMacroponent$ev","promisedTemplate","screenChanged","screenRef","_coeffects$action$pay3","scriptRes","failedRes","registerScreenActionTransformer","_coeffects$action4","_coeffects$action4$pa","_coeffects$action4$me","_coeffects$action4$me2","_coeffects$action4$me3","evalData","evaluatingScriptedConditions","requestData","_ret","defaultTo","_scriptedConditionsCache","_t9","isScriptedConditionsRequestCachedOrHydrated","generateTransactionId","_options$epScriptResu","_options$isDirectPage","_options$effectiveSub","subRouteMacroponentMap","subrouteId","_subroute$macroponent","_value$scriptResults","_ref19","_result$inputParams","_result$inputParams2","toBeCached","resolveClickThrough","_screenMacroponent$","inputParams","activeSlot","tabsetRuntimeElementsBasePath","activeSlotPath","nonViewportSlotsPath","slotToSysIdMap","sysIds","getOperandsList","statePersistenceConfig","bp","getInternalResponsiveState","unresolvedInitialState","statePropertiesWithLiteralInitialValues","statePropertiesWithContextPropInitialValues","statePropertiesWithClientTransformInitialValues","resolvableClientTransforms","unresolvableClientTransforms","_initialValue$binding3","_initialValue$binding","_initialValue$binding2","isContextPropAppId","statePropertiesWithAvailableContextPropInitialValues","statePropertiesWithUnavailableContextPropInitialValues","availableSeismicProperties","userSessionInfo","nowSysProps","resolvedStatePropsWithAvailableContextProps","stateProperty","resolvedInitialValue","resolveForInitialStateValues","httpErrorOccurredEffect","pageEvent","trackUsageActionHandler","_ref$action","_ref$action$payload","contextProps","getContext","shouldUpdateContext","pageContexts","isTranslatorContextProp","getRecordController","uxControllerNodes","ctrlNode","isFormCsdb","resolveDbNodeId","recordController","hasFormDataBroker","getDbNodeId","getTranslatorBehavior","dbNodeId","dataOperationsAdapter","fieldsPath","getLookupContext","handleFormSubmit","translatorData","initTranslatorDataIfNeeded","contexts","experienceObject","_config$pageSettings","getExperienceName","_properties$screen","isActiveScreen","_intent$identifier","identifier","currentContext","matchedContext","field","pathParts","getField","actionBar","triggerAction","buttonAction","openedModalInfo","getOpenedModal","confirmActionType","cancelActionType","getModalCancelAction","_dataElements$nodeId","_dataShell$dataBroker","dataBrokerSysId","getSupportedOperations","experienceNameshouldUpdateContext","isOutputProp","isValidNode","hasContextChanged","hasActiveChanged","COMPONENT_STATE_UPDATED","metaPropNamePrefixCamelCased","checkForControllerOutputProps","resolvedPropValue","getLifecyleEventsBehavior","statePersistenceConfigs","shouldHaveWrappedEventDispatch","requiresInitialStateResolution","resolvedInitialState","resolvedPersistedState","persistConfig","stateMapping","persistTo","resolvedPersistTo","isPersistedStatePresent","getPersistedState","updaterFn","nowMode","outputPropsAvailable","shouldDispatchControllerPropChanged","depPropsAvailable","removeMacroponentInstance","previousState","_update$stateProperty","_update$stateProperty2","changedStatePropertyNames","propertyName","updatedValue","stateUpdateRequestedActionHandler","_ref2$UXF_INTERNAL_EV","actionOriginateFromRecordController","nowDsDomainId","nowDsDomainScope","nowDsRecordId","nowDsRecordTable","domainInfo","markInteractive","metric","markType","interactiveId","pause","duration","isUIBuilderExperience","appliedTemplateMarkerForScreen","UXF_COMPONENT_INTERACTIVE","UXF_PERF_MONITORING_ENABLED","metrics","UXF_DIRECT_LOAD_COMPLETE","UXF_USER_NAV_LOAD_COMPLETE","UXF_MACROPONENT_MEASURE_CLIENT_INTERACTION_START","UXF_MACROPONENT_MEASURE_CLIENT_INTERACTION_END","metricTypes","searchParams","isScreenPreview","hasDirectLoadMeasurementStarted","shouldMarkTotalUITime","computeBeforeAfterLoad","screenMapKey","beforeLoad","afterLoad","getAppliedTemplateTime","getDependencyComponents","allNodeIds","components","getScreenData","screenRoute","screenFields","screenParent","variantSysId","navStartTime","screenTitle","markNavTotalUiTime","totalUiTimeMeasurementTimedOut","isDocumentHidden","_computeBeforeAfterLo","totalUiTime","unifiedCacheStats","hostId","markDirectLoadTotalUiTime","navEnteries","getEntriesByType","_computeBeforeAfterLo2","OBSERVERS_BY_MACROPONENT_DOM_NODE","IDLE_MACROPONENT_DOM_NODES","markMacroponentIdle","_OBSERVERS_BY_MACROPO","observer","whenMacroponentIsIdle","_OBSERVERS_BY_MACROPO2","observers","checkForPageIdleness","_checkForPageIdleness","_yield$Promise$allSet","_yield$Promise$allSet2","getTemplateIdleResult","getAllComponentIdleResult","_getTemplateIdleResul","didTemplateIdlePause","didTemplateIdleTimedOut","_getAllComponentIdleR","didAllComponentIdlePause","didAllComponentIdleTimedOut","whenAllComponentsIdle","withTimeOutInfo","getAllComponentsIdleTimestamp","_getAllComponentsIdleTimestamp","_yield$checkForPageId","_yield$checkForPageId2","_yield$checkForPageId3","didPause3","signalScreenMacroponentIdle","signalScreenMacroponentIdleOnScreenLoad","whenDependencyComponentsAreIdle","dependencyComponents","whenComponentIsIdle","measureMacroponentTimeToIdle","_action$payload$name","_action$payload$data","clientInteractionStartTime","startInteractiveTimestamp","canvasScreen","_yield$whenGetTemplat","getTemplatesIdleTimedOut","_yield$getAllComponen","timedOutAllComponentIdle","endInteractiveTimestamp","createNew","getComponentInteractiveBehavior","allNodeTagNames","heroComponents","_host$assignedSlot","isTopLevelScreen","totalUiTimestamp","allComponentIdleResult","isDirectLoad","visibilityState","localName","isHero","getScreenConditionResolver","foundDBLifecycleBinding","dbLifecycleBAs","findDBLifeCycleBinding","bindingPath","ba","dbLifecycleBA","checkForDBLifecycleBindings","CONTROLLER_SELF_OUTPUT_PROPS","getDataBinding","getControllerDataOutputBindingFactory","outputBindingMapByElementId","uxControllerNode","initialObject","getControllerDataOutputBindingMap","resolvedDataElementId","_uxValue$binding$addr2","dependencyKey","getDataElementIdFromControllerDependencyMap","outputBindingMap","_getOverrideControlle","newAddress","getResolvedAddress","ctrlOverrideElementId","_controllerAliasMap$c","getOverrideControllerAlias","_outputBindingMap$dep","_address3","dotWalkPath","_ref$dependencyProps","getSubroutesWithParsedClientConditions","getControllerDataOutputBindingFn","additionalConditions","_screen$watchedProper","conditions","conditionStr","conditionArr","addCondition","conditionObj","_conditionObj$leftHan","transformedUxValue","logicalOperator","parseCondition","watchedPropVal","MACROPONENT_RESIZED","nextResponsiveState","macroponentRO","MacroponentBreakpointMap","entryBuffer","debouncedProcessEntryBuffer","entriesToProcess","_entry$contentRect","_targetElem$getRootNo","_target","targetHostElem","_targetElem$parentEle","_targetHostElem$getBo","_targetElem$getBoundi","_entry$contentRect2","handleResizeObserverEntries","processEntryBuffer","makeProcessCallbackEntries","getObserverForMacroponent","getNodeToObserve","getMacroponentResponsiveHandlers","registerObserverForMacroponent","deregisterObserverForMacroponent","getResizeEventHandler","_ref7$action$payload$","matched","applyResponsivenessOnResize","supportedPersistenceSinks","hasStatePersistenceConfig","pathInterceptor","getStateUpdateHandlerForPersistState","getComponentPropertyUpdatedHandlerForPersistState","previousPersistedState","declarativeStateUpdates","_persistConfig$delega","delegateToComponent","stateDefinition","persistedStateValue","previousPersistedStateValue","newState","SET","immediateUpdates","delegatedUpdates","updates","previousEncodedPersistedState","encodedPersistedState","isSourcedFromPersistedStateChange","persistenceConfig","pathToPrepend","getPathToPrepend","_host$appendToMeta","_host$appendToMeta2","_context$coeffects$ac","interceptorCompositionId","interceptorContainingMcpId","originCompositionId","originContainingMcpId","appendedMeta","compositionId","compositionIdForPath","SYS_PROP_LAZY_LOADING_RENDER_ON_MCP_IDLE","_ref3$payload","_ref3$payload2","_ref3$payload2$restPa","hostNowId","_component2","namespacedComponentId","_component","parentComponent","EMBEDDABLE_MACROPONENT_LOADED","metricType","getEmbeddableMacroponentBehavior","SYS_PROP_CONTROLLER_RENDER_SKIP_ENABLED","addonMetadata","_input$proxyDataBroke","incomingProxyDataBrokerNodes","incomingDataShell","disabledFeatures","_input$outputPropMapp","_input$uxControllerNo","incomingUxControllerNodes","_input$externalContro","_input$controllerAlia","controllerAliasMapping","incomingControllerAliasMap","_input$breakpoints","_input$statePersisten","controllerAliasMapDetails","getControllerAliasMapDetails","outputProperties","outputPropMapping","dataStore","macroponentFeatures","feature","getMacroponentFeatures","_getConsolidatedConfi","pdbNodes","pdbNode","_getConsolidatedConfi2","mapSubRoutesParentCompositionElementId","extensionPointSubroutes","_ref$properties","_ref$defaultValues","defaultValues","FEATURES","allTagNames","heroNodeIds","descendant","pageBreakPoints","macroponentBreakPoints","hasMacroponentBreakPoints","hasPageMediaQueries","_rootNode$stateProper","_getInitialState","getInitialState","macroponentViewFn","macroponentId","viewAdapterFn","getControllerNodeIdsWithGlideForm","shouldTrackDBExecutionLifecycle","macroponentViewAdapter","getShouldHaveWrappedEventDispatch","nowMacroponentSysId","clientStateDataBrokerProperties","propValue","_Object$keys2","intentsBehaviors","shouldAddTranslatorBehavior","controllerNodes","externalDependencies","hasTargetableDependency","hasChildrenToMediate","dirtyStateBehaviors","dirtyStateSubscriberBehavior","getSelectablePropResolverBehavior","getFocusBehavior","getResponsivePropResolverBehavior","getStatePersistenceBehavior","getOutputPropResolverBehavior","_sourceAction$context","handleError","popoverElementId","popoverTargetElementId","popoverTriggerElement","popoverEl","positionTarget","_event$detail","localDispatch","dependencyMappingSourceId","sourceController","targetController","getExecScriptBehavior","getDataBrokerRuntimeBehavior","getViewportRuntimeBehavior","getScreenConditionDataBindingResolver","getTabsetContainerRenderBehavior","dataElmId","registerMacroponent","resolveUxValuesForView","__","getResolvedBindingWithSelectableProps","externals","seenTags","tags","forceEvaledAssets","setTag","hasSeenTag","setExternal","setComponent","hasIdleForceEvaledAsset","getLoadTimes","setValues","sum","getLazyProxy","provider","memoized","memoizeProvider","construct","descriptor","setPrototypeOf","evalTimers","EvalTimer","addSubTime","makeProvider","registrySetFn","forceEval","wasComponentEvaled","getComponent","wasExternalEvaled","getExternal","isForceEvalAssetsOnIdle","getAssetToEval","delayInMs","currentDelayInMs","runOnIdle","isIFramed","didTimeout","startCallbackLoop","forceEvalAssetsOnIdle","assetToEval","addIdleForceEvaledAsset","loaderObserver","records","addedNodes","observeTree","registerObserver","childList","subtree","addSeenTag","getTag","_node$shadowRoot","observeTopLevel","componentCache","requestsInFlight","loadComponent","presources","_definition$esmImport","appendPresources","COMPONENT_DRIVER_CLIENT_CACHE_BUSTER","fetchAndLoadComponent","_fetchAndLoadComponent","requestUrl","fetchAndLoadComponents","_fetchAndLoadComponents","unresolvedIds","unresolvedNames","resolvedNames","unresolvedIdOrTagName","fetchComponentPromise","_yield$snHttp$request","_yield$snHttp$request2","_yield$snHttp$request4","componentSysIds","componentTagNames","getComponents","_getComponents","componentTagName","getComponentsBySysIds","_getComponentsBySysIds","getComponentsByTagNames","_getComponentsByTagNames","screenMacroponentConfigOverrides","UX_VALUE_RESOLUTION_MARK","resolveForMacroponentRegistration","knownProps","propsToResolve","getInputPropsResolvers","resolvedProps","allowedUxValueTypes","APP_CONFIG_SYS_IDS_BY_PAGE_REGISTRY_SYS_IDS","getPageRegistryToAppConfigSysIdMap","getPropValues","pageRegistrySysId","overrides","inputPropValues","_toPropertyKey","appConfigIdOverride","appIdProp","resolvedInputProps","getAppliedTemplatePropValues","inputPropValuesOverrides","getMacroponentConfigurationOverrides","getAppliedTemplate","_getAppliedTemplate","hydrateContext","currTime","preloadedAppliedPageFragment","dependentPageFragmentSysIds","_fragmentGenerators","fragmentGenerators","getAppliedTemplateForFragmentGenerator","FragmentGeneratorFN","decodeParam","sanitizePath","camelToDash","$1","paramsExistsInPathname","pDashed","paramOrderInPathname","paramsStart","pathnameHasSub","capitalizeFirstLetter","buildNamedParams","forParent","flag","atLeastOneParamsExistsInPathname","appendFieldsAndParams","buildNamedFields","generateRoutePathForSubURL","routeKey","parentHasFields","parentHasParams","hasFields","hasParams","generateRoutePath","parseURLToRoute","matchedPath","pathHasFields","pathHasParams","fieldsAndParams","fieldsObj","paramsObj","routePath","exact","pathToRegexp","strict","delimiter","authRoutes","routeKeys","routePathObj","matchPath","isCustom404Available","custom404Route","_routes$authRoutes$cu","getCustom404Route","setupLocationChangeEvents","pushState","history","replaceState","loadViewportContent","uxAppRouteConfig","routeConfiguration","getUXAppRouteConfig","getLocationPathname","_findRoute","findRoute","reinitialize","onPageNotFound","onURLChange","uxfViewportBehavior","viewportRouteRequestedFromEmitFn","deepCompare","canSyncWithURL","activateLocationChange","inactivateLocationChange","setAppConfigToRootMacroponent","rootMacroponent","mcpNode","macroponentNodes","mcpNodesResult","evaluate","XPathResult","UNORDERED_NODE_ITERATOR_TYPE","iterateNext","getMacroponentNodes","daWrappedClickedBehavior","_action$payload2$wrap","wrapped_action_name","_action$payload2$wrap2","wrapped_payload","actionPayload","_action$payload2$opti","_action$payload2$opti2","_action$payload2$opti3","_action$payload2$opti4","aliases","_action$meta2$UXF_INT","customElementTagName","createMacroponentLoaderEffect","payloadType","payloadValue","promisedComponent","_yield$promisedCompon","_yield$promisedCompon2","loadedComponentTagName","createComponentLoaderEffect","measureMacroponentTimeToIdleEffect","createUxfContractBehavior","interactiveActionName","getDriverAssetByTagName","assetName","resp","NowUIDriverFactory","_NowUIDriverFactory","nowUIDOMElement","queryName","driver","driverName","driverFromReg","toLower","__COMPONENT_DRIVERS__","markAtfDoAction","driverMethod","driverParameters","uxfAtfActionDoInteractionId","pageId","pageName","parentMacroponentId","workspaceName","pageType","doATFAction","_doATFAction","actionStringParameter","cleanElementId","expectedReturn","actionableComponent","elementDriver","parametersArray","getActionableComponent","getComponentInstances","inputString","deleteUpToLastHyphen","ATF_ACTIONS","ATF_ACTIONS_BY_COMPONENT_TAG","getAtfActionsByComponent","actionList","actionId","setAtfActions","atfActions","componentActions","componentTag","getAllActionableComponents","_component$appendToMe","parent_macroponent","getFilteredComponentInstances","retValues","objToAdd","tag_name","getAtfActions","_getAtfActions","_response$data","postAtfStep","_postAtfStep","_response$data2","_e$response","isAtfMode","_initializeAtfMode","saveAtfStep","_saveAtfStep","atfStep","testId","clearClientCache","_recreateMCP","currentMCP","_newProperties$screen","newProperties","ackAction","existing_mcp_tagName","mcp_tagName_deconstructed","existing_mcp_suffix","pageRegistryName","newTemplateProps","resolvednewTemplateProps","pageFragmentGeneratorFn","macroponentConfig","findCanvasModalHoist","appShellMacroponent","macroponentBlockedEvents","removeEventListeners","evt","commandType","newRequests","processEarlyEvalWithRequests","uxapp_extensions","EVALUATION_REQUESTS","EXTENSION_RESULT","DATA_BROKER_END_POINT_FOR_DIRECT_LOAD","requestsInRegistry","requestsArray","uxfInteractionIdBase","multipartConfig","parsePartsAsJson","emitCompletedResponse","multipartConsumer","_body$EXTENSION_RESUL","commands","extensionCommandsHandler","subscreenPromise","resolveSubscreenPromise","processClickThrough","requestsToBeHydrated","__uxf_resolve_evaluation_requests","_body$EXTENSION_RESUL2","processSubscreenSeedingAndLoading","subscreenPageFragments","pendingPageFragmentLoadingPromises","RESOLVED_SCREEN_ID","SUBSCREEN_PAGE_FRAGMENTS","EXTENSION_POINT_SCRIPT_RESULTS","EFFECTIVE_SUBSCREENS","_getHydratedScreen","screenTypeId","initializePromisesIfNeeded","interopCtxt","isInterop","interoperableRouteSysId","excludeEarlyEval","__uxf_resolve_screen_id","__uxf_resolve_extension_point_script_results","_window$__uxf_resolve","__uxf_resolve_effective_subscreens","_window4","_window5","__uxf_reject_evaluation_requests","__uxf_reject_extension_point_script_results","__uxf_reject_screen_id","__uxf_reject_effective_subscreens","nativeAttachShadow","TEMPLATE_LOADER_EXPOSE_NAME","EARLY_EVALUATION_API_NAME","macroponentFactory","sandboxUtils","globalUxfObject","initializeDataHydrationRegistryResponses","polarisAppShellResponses","__uxf_data_hydration_registry","resolveEarlyEvaluationPipeline","_getRegistry2$request","processEarlyEvalForOffDocumentRequests","getHydratedScreen","getParametersForTestAction","scriptLoader","getLoaderStats","componentValues","externalValues","seenTagKeys","loadedComponents","componentEvalTime","loadedExternals","externalEvalTime","missingTags","hasTag","externalSize","componentSize","registered","evalTime","missing","onDemandComponent","useProxy","hasComponent","onDemandExternal","hasExternal","wasForceEvaledOnIdle","registerClientScript","scriptIncludesApiNames","registerClientScriptInclude","getEvaluatorForScriptInclude","registerInlineScript","scriptId","screenContentOverridesApi","loadOverriddenScreenEventMappings","loadOverriddenMacroponentConfiguration","macroponentAdapters","getMacroponentViewAdapter","recreateMCP","designTimeApi","toggleModalOverrides","canvasModalHoist","skipBlocking","openPopoverOverrides","popoverPayload","popoverMacroponent","openDialogOverrides","dialogControllerSysId","modelessPayload","closeDialogOverrides","overrideEventPropagation","blockEvents","_e$detail","stopImmediatePropagation","__DO_NOT_USE_THIS_WILL_BE_REMOVED__createMacroponentLoaderEffect","__DO_NOT_USE_THIS_WILL_BE_REMOVED__createComponentLoaderEffect","__DO_NOT_USE_THIS_WILL_BE_REMOVED__measureMacroponentTimeToIdleEffect","__DO_NOT_USE_THIS_WILL_BE_REMOVED__createUxfContractBehavior","uxf","__signal_uxfGlobalDefined","attachShadow","option","shadow","loadTheme","initializeContextListeners","initializeShortcuts","initializeAtfMode","__TECTONIC__$devsnc_library_uxf","getEmbeddables","futureMacroponentSysIds","__uxfPfBundle","INFO_DENSITY","stashedProcessedValues","themeData","subscribers","cachedValues","ALLOWED_THEMES","getCSSVariableNamesFromBase","setGlobalThemeData","headacheVals","troublesomeDefs","allThemeData","tokensToRemove","keySet","extractKeys","systemTokens","parsedFromStyleSheets","_getCSSVariablesFromS","styleSheets","sheet","cssRules","rule","selectorText","vars","_getCSSVariablesFromS2","varNames","_overrides$name","logFailure","resolveDerivedHooks","hookName","resolved","unresolved","derivedPath","hasBeenResolved","failure","nextPath","joined","checkNextPath","setVariable","fbValue","resolveRemainingHooks","processValue","isValidRgbString","isValidPixelString","isValidPercentString","isPxSize","isValidRemString","isRemSize","_value$split","_value$split2","rs","gs","bs","g","hsl","hslValues","rgb","rgbValues","createColorObj","rootFontSize","fontSize","rem","createPxSizeObj","createRemSizeObj","resolveCSSVariable","initial","isCSSVariable","getValues","safeJsonParse","fallback","parsedValue","__donotuse_temporary_isInUIBStage","uniqueEventName","isUIBStage","composed","_window$ux_globals$th","_themeOptions$themeId","_themeOptions$userPre","themeId","variantId","themeKey","memoryCached","localCached","requestedItems","endsWith","processItems","baseHooks","resolvedHooks","_hooks$item","__donotuse_temporary_uib_stage_theme","resolveHooks","cacheObject","cssVariableName","circular","TOOLTIP_ID","TOOLTIP_SHOW","TOOLTIP_HIDE","handleMouseEnter","unschedule","handleMouseLeave","schedule","hideTooltip","getExistingTooltip","getTooltip","getTooltipOffset","tooltipoffset","offsetValue","targetRef","showTooltip","tooltipposition","scheduleTooltipOpen","ariadescribedby","getShadowRootHost","scheduleTooltipClose","EventTargetMap","targetRegistered","attributeName","attributeFilter","registerTarget","unregisterTarget","a11yTx","COMPONENT_RENDERED","ACTION_EVALUATE","ACTION_REEVALUATE","dataAttributes","defaultPosition","extractBehaviorState","_state$behaviors$BEHA","_state$behaviors","isOverflowing","offsetHeight","scrollHeight","scrollWidth","forceTooltip","applyTruncation","truncationEnabled","updateTooltipText","removeTruncation","_extractBehaviorState2","truncatedElements","findAllTruncationElements","userPrefVal","__enableTruncation__","blockRenderEval","_previousRenderState$","_state$behaviors2","_previousRenderState$2","previousRenderState","truncation","base64","GlideRecordAccessor","instanceURI","instanceUri","restUsername","restPassword","QUERYPARAMSUFFIX","TABLEAPIURI","Authorization","_fetchRecord","_insertRecord","_updateRecord","_deleteRecord","GlideRecordRetriever","_postRecord","_require","annotation","setTestInfo","writeLog","formatLog","getAnnotationTypeAndValue","mochaHooks","sdlc_annotation","TestExecutionContext","sdlcAnnotationLog","testClass","testMethod","getSuiteDescription","afterAll","suite","findAnnotationType","annotateValue","annotateValues","idClassMap","annotationClass","fs","cwd","existsSync","mkdirSync","recursive","fd","openSync","writeSync","closeSync","annotations","formatted","annotationTypeAndValue","CurrentTest","SdlcSuite","suiteName","testName","castJSON","castFunctions","objectOrString","createLogger","updateStateEffect","reducerFn","_getHostInfo","getHostInfo","SCHEDULE_IMMEDIATELY_DO_NOT_USE_OR_YOU_WILL_BE_IMMEDIATELY_FIRED","span","localsSetEffectHandler","locals","extendWithDefaultBehaviors","baseConfig","toManagedPropName","omitManagedKey","extendWithManageableProperties","_config$properties","_config$behaviors","getComponentProperties","propNamesToManage","managedActions","casedValue","makeScopedActionName","managedPropName","isPropertySelector","isManaged","isActionForCurrentHost","managedProperties","extendWithOnRender","onRenderFns","fns","onRender","getOnRenderFns","presentational","mergedConfig","createPresentationalCustomElement","baseTransformProps","transforms","cast","transformProps","extendWithCast","localsConfig","LOCALS_SET","extendWithLocals","isDirectionalKey","isNextKey","supportDown","isPreviousKey","supportUp","extensionSplit","filterAriaAttributes","pickBy","toArray","maybeArray","isFocusable","allEnabledRadiosInSet","isFirstInSet","noneChecked","radio","getNormalizedChildren","normalizedTabIndex","tabIndex","isVisible","visibility","sortByTabIndex","tabbables","pivot","mergeSortByTabIndex","hasLowerTabOrder","ati","bti","needsSort","activeElement","contentDocument","ShadowRoot","makeRedispatchEffect","newActionType","textTransform","UPPERCASE","LOWERCASE","CAPITALIZE","capitalize","arr2","word","c2","measureText","fontWeight","fontStyle","fontFamily","txtTransform","matchSearchTerm","searchTerm","_ref$location","_ref$caseSensitive","caseSensitive","_ref$tag","Tag","searchWithCase","stringWithCase","highlightLength","nextIndex","highlight","___NDS_LAYER_EVENTS___","propertyConfig","LSValue","getStack","topLayer","isValidLayer","layer","layerExists","registryReducer","eventType","isTopLayer","_stack","domPurifyConfig","FORCE_BODY","CUSTOM_ELEMENT_HANDLING","tagNameCheck","attributeNameCheck","ADD_ATTR","FORBID_ATTR","canScroll","cacheDimensions","dim","getDimensions","existing","scroll","block","scrollY","scrollX","box","scrollTop","scrollLeft","overflowX","overflowY","getAxisInfo","axis","topOrLeft","bottomOrRight","widthOrHeight","calculateContentAreaLength","targetDimensions","contentDimensions","containerDimensions","targetPosition","contentPosition","_getAxisInfo","calculateContentAreaOffset","contentAreaDimensions","_getAxisInfo2","calcOffset","calculateContentOffset","calculateContentStyles","constrain","contentStyles","getConstrainStyles","isBottomAligned","isEndAligned","pointerEvents","addCSSProperties","restrictToBoundingBox","boundingDimensions","visibleDimensions","getDimensionForConstrainKey","normalizeConstrain","constraint","contentValue","targetValue","constrainValue","toSizeValue","calculateFit","viewportDimensions","normalizedConstrain","newDimensions","normOffset","backwardCompatibleOffset","makeOffsetBackwardsCompatible","normalizeOffset","normConstrain","constrainedContentDimensions","paddedTargetDimensions","_normOffset","_normOffset$","_normOffset$2","_normOffset$3","_normOffset$4","addOffsetPaddingToDimensions","nextContentAreaDimensions","_targetPosition","targetPositionBlock","targetPositionInline","_contentPosition","contentPositionBlock","contentPositionInline","calculateContentAreaDimensions","nextContentDimensions","calculateContentDimensions","_calculateOverlap","contentInContainer","contentInViewport","overlapRatios","viewport","visibleContentDimensions","calculateOverlap","contentAreaStyles","calculateContentAreaStyles","contentArea","sortCandidates","viewportOverlapDifference","getFitInfo","_ref$container","_ref$viewport","_ref$offset","_ref$constrain","_position","normalizeOrigin","isStart","RE_POSITION_LONG","RE_POSITION_SHORT","normalizePosition","_position$split","_position$split2","targetOrigin","contentOrigin","vertical","horizontal","toMatchingOrigin","positionToFitShorthand","resolvePosition","hideTail","resolveOffset","resolveConstrain","ariaLivePoliteness","POLITE","ASSERTIVE","isDesktopSafari","getColumnStyles","columns","_columns$map$join","_columns$map","customColumn","toEmbeddableUrl","getCaretCoordinates","isInput","whiteSpace","wordWrap","boxSizing","outerHeight","borderTopWidth","borderBottomWidth","targetHeight","lineHeight","coordinates","offsetParent","backgroundColor","sanitizeHref","normalizedHref","fit","getBestFitInfo","_ref2$container","_ref2$viewport","_ref2$offset","_ref2$constrain","candidates","resolveFitProperties","configAriaSchema","patternProperties","additionalProperties","ariaTemplate","configAriaLabelSchema","configAriaLabelRoleSchema","configAriaLabelRoleHasPopUpSchema","globalResizeBehaviorTimer","nds","resize_timer","CALLBACK","TARGET","_options$timer","_ref2$type","componentTimerSysProp","componentName","getTimerSysProps","waitOption","resizeBehaviorTimer","timerFn","throttle","getTimerFn","dispatchSize","leadTrailOptions","preventRenderUntilSizeAvailable","componentManaged","oldWidth","oldHeight","prevent","preventRender","isRenderAllowed","DUPLICATE_SHORTCUT_TAB_SET_EXCEPTIONS","MODIFIER_KEYS","ALT","CONTROL","SUPPORTED_SPECIAL_CHARACTERS","SEMICOLON","BRACKET_LEFT","BRACKET_RIGHT","QUOTE","COMMA","PERIOD","SLASH","DASH","EQUAL","KEY_PREFIXES","DIGIT","SN_POLARIS_LAYOUT","APP_SHELL_COMPONENTS","KEYBOARD_SHORTCUTS_API","KEYBOARD_SHORTCUTS_CACHE_BUSTER","KEY_SHORTCUTS","KEY_SHORTCUT_CB_HASH","LANDMARK_FOCUS_ATTR","LANDMARK_ACTIVE_ELEMENT_ATTR","landmarkConstants","LANDMARK_FOCUS_FORWARD","LANDMARK_FOCUS_BACKWARD","LANDMARK_LAST_CLICKED_ATTR","LANDMARK_SELECTOR","KBS_MODAL_OPENED","USER_OVERRIDE_SHORTCUT_API_PATH","USER_OVERRIDE_SHORTCUT_CACHE","USER_OVERRIDE_SHORTCUT_CACHE_CB_HASH","CACHE_CONFIGS","PRODUCTION_CONSOLE_METHODS","shortcutLogger","isMac","isWindows","isSupportedPlatform","getCacheInstance","shortcutCache","shortcutCBHashCache","userOverrideShortcutCBHashCache","userOverrideShortcutCache","fetchShortcutsFromServer","_results","_window$nowUiFramewor2","shortcuts","uxKeyboardShortcutClientCacheBuster","fetchShortcuts","kbsCB","uxGlob","storedCB","getUserOverrideShortcutCacheKey","fetchUserOverrideShortcutsFromServer","userOverrideShortcuts","uxKeyboardShortcutOverrideClientCacheBuster","fetchUserOverrideShortcuts","overrideCB","getReturnValue","_shortcuts$find","shortcut","actionKey","formatKeyCode","isNumeric","prettifyMacShortcut","shortcutPretty","metaKey","altKey","prettifyWindowsShortcut","ctrlKey","formatShortcutCode","transformShortcutKeys","platformShortcuts","mac","windows","toBoolean","areShortcutsEnabled","shortcutsEnabledUserPref","shortcutsEnabledSysProp","isUserLoggedIn","checkVisibility","ContextManager","_window$uxfTriggerLib","uxfTriggerLibrary","contextManager","setModalContext","modalContext","isModalOpen","shadowQuerySelectorAll","currentDepth","expandedNodes","nodesThatMatchedOriginalSelector","validateElement","getComponentFromRegistry","queryDeepBySelector","nestedElements","_nestedElements","getActiveScreen","activeExperience","appShellLayout","experiences","experiencesData","experience","getActiveExperience","findNearestParentElement","shouldValidateElement","closest","findFirstChildElement","getRootElement","activeEl","ComponentRegistry","componentRegistry","transformActionMap","actionMap","transformedActionMap","transformAction","setComponentInRegistry","registryValue","registeredComponent","originalActionMap","registryValueActionMap","mergedMap","mergeActionMaps","registeredElement","parentComponentTagName","deregisterComponent","shortcutState","initialized","initializedPromiseResolvers","setInitialized","_initializedPromiseRe","filterActiveComponents","modalCase","isChildOf","ApplicableComponentAdapter","_setActiveComponents","activeComponents","availableActions","ActionStateQueue","_Array","__queue","actionStateQueue","setComponentAction","registeredComponentId","handleState","shortcutMetadata","payloadCondition","setAction","getShortcutByPayloadCondition","setActionStateByPayload","getShortcutByKey","setActionStateBySysId","hasRegisteredShortcuts","previousLandmark","isLandmarkAction","handleLastClicked","lastClickedElement","ShortcutRegistry","IntersectedShortcutRegistry","getAllShortcuts","getAllShortcutsByActionKey","registerShortcuts","categoryValue","readonly","shortcutSysId","overriden","prettifiedShortcuts","dequeue","setQueuedActionStates","getContextualizedShortcuts","applicableComponentAdapter","activeComponentTagNames","getActiveComponents","_c$registeredElement","applicableComponents","getApplicableComponents","landmark","hasLandmarksOnPage","_component$actionMap$","markKeyboardShortcut","shortcutName","uxfKeyboardShortcutInteractionId","_component$registered","actionFn","_component$registered2","_component$registered3","filterShortcuts","contextualizedShortcuts","platformShortcut","getResolvedShortcut","_shortcuts$","dedupeShortcuts","handleShortcutKeyDown","KeyboardEvent","resolveKeyboardEvent","forPlatform","getModifierState","isAlphanumericKey","isSpecialCharacterKey","isModifierKeyPressedWithKey","_landmarks$incremente","processedActiveElement","focusIncrement","currentActiveElement","landmarks","landmarkIndex","incrementedIndex","landmarkAction","UserOverrideShortcutsRegistry","formatAndPrettifyShortcutByPlatform","shortcutOverride","formattedShortcutByPlatform","formattedPrettifiedShortcutByPlatform","shortcutByPlatform","prettifiedShortcutByPlatform","intersectShortcutOverrides","shortcutKey","_formatAndPrettifySho","registerShortcutOverrides","shortcutsMetadata","contentIsOverset","contentEl","getComputedOversetHeight","isParentFlex","getComputedOversetTextHeight","MIN_DISMISS_DURATION_TIME","DEFAULT_DISMISS_DURATION_TIME","localizeStatus","critical","high","moderate","warning","positive","low","ai","getProgress","normalizeContent","renderIcon","renderActionButton","onClick","OK","renderExpandButton","isOverset","contentIsReady","expanded","renderContent","sanitizedHtml","DOMPurify","focusInSet","mouseEnterSet","secondsLabel","reduceMotion","iconName","oneOf","enableFocus","textLinkProps","iconStart","iconEnd","download","alert","manageExpanded","showShadow","minimum","pauseAutoDismiss","alertFocus","savedDuration","autoDismissConfig","enableAutoDismiss","showTimer","hideProgressBar","prevWidth","prevHeight","oversetHeight","isButtonWrapped","countdownDuration","timerId","progressBarRef","createRef","timerLabelRef","expandedFirstRender","alertContentText","hasTextLink","nextState","alertContentTextHeight","alertButton","alertButtonHeight","DIMENSION_CHANGE_TOLERANCE","computedOversetHeight","oversetHeightRangeMax","oversetHeightRangeMin","contentSpanContainsTextLink","contentSpan","alertTextLink","alertRect","contentOverset","updateOverset","borderBottomRightRadius","_autoDismissConfig$du","totalDuration","alertTextContainer","_autoDismissConfig$du2","dismissTimer","interval","themeBehavior","_state$properties$ico","rawContent","shouldExpand","renderAlert","_state$properties2$ic","renderAutoDismissAlert","ANNOUNCEMENT_MESSAGE","getIndividualAlerts","updateExpandedAlerts","getToggleButton","alertDismissedHandler","sourceItems","focusReferenceElement","previousAlert","toggleButton","nextFocused","moveFocus","parsedItems","ariaLabel","collapsed","configAriaLive","stackThreshold","alertListMaxHeight","expandedAlerts","userInteractedWithController","autoDismissTimersPaused","alertTimers","hasFocusIn","hasMouseEnter","reversedAlerts","maxHeightStyle","onToggleController","onDismissAll","_renderController","alerts","alert1","inlineSize","outline","alert2","_renderCollapsedAlertList","_alert$configAria","alertId","_renderExpandedAlertList","nextLength","lastLength","focusableAlert","nextFocusAlert","updatedTimers","collated","dismissedItems","updatedTimerMap","filteredItems","_ref20","_ref21","packageInfo","_renderUserNameWithPresence","userName","presence","_getLabel","localizedPresence","localizePresence","sizeMap","xxs","xs","lg","xl","_renderContent","imageSrc","failedImageSrc","shape","alt","firstInitial","lastInitial","nameParts","_getInitials","interaction","showPresencePattern","avatar","setTargetRef","avatarContent","rel","_renderPresence","_renderTooltip","animatedIconHoverBehavior","iconAnimations","animatedIcon","animatedIconStart","animatedIconEnd","isLeaveEvent","speed","shouldAnimate","animatedIconHover","animation","setDirection","setSpeed","play","PUSH","DEFAULT_RIPPLE_POSITION","setupRipple","triggerElms","nowHoistAppendTo","triggerElm","getEaseAndDuration","retrievedStyle","ripple","introDuration","introEase","outroDuration","outroEase","_options$introDuratio","introDurationToken","_options$introEaseTok","introEaseToken","_options$outroDuratio","outroDurationToken","_options$outroEaseTok","outroEaseToken","introDurationCSS","outroDurationCSS","MERGE","activeRippleTimeStamps","isMouseDown","_eventCoordinates","_elm$getBoundingClien","eventCoordinates","_triggerElm$getBoundi","maxDim","useCenter","autoEnd","_action$payload2$left","_action$payload2$top","_getEaseAndDuration","rippleElm","timeStamp","_triggerElm$getBoundi2","maxScale","minDim","isWide","hypotenuse","sqrt","half","rippleScale","forceColor","rippleAnim","animate","easing","onfinish","mouseUpTime","endScale","_getEaseAndDuration2","currentRipples","rippleId","newRippleTimeStamps","currentRippleId","scaleOut","outroAnim","opacity","cssProperties","_prop$syntax","syntax","_prop$inherits","inherits","_prop$initialValue","CSS","registerProperty","handleTooltipShow","handleTooltipHide","_filterAriaAttributes","dataAriaDescribedBy","_renderIcon","_renderAnimatedIcon","reduceMotionBehavior","rippleBehavior","cssPropertyRegistration","buttonEl","defaultSlot","logicalProperty","labelSpan","highContrast","iconNameStart","iconNameEnd","hideBlockPadding","showInlinePadding","_filterAriaAttributes2","_state$properties$ico2","roleBasedSelection","tab","configRole","_configAria","_configAria2","_state$properties$con","selectedState","iconFilledOrOutline","SCALE_GROW","handleScaleAnimation","durationName","_getAnimationTimingAn","getAnimationTimingAndDuration","handleMouseDown","iconEl","shrinkAnimation","growAnimation","handleAnimationStart","handleAnimationEnd","hasShadow","cssPropertyRegistrationBehavior","handleClick","_context$action","handleKeyDown","setIndeterminate","nativeInput","shouldBeIndeterminate","indeterminate","handleChecked","interactive","renderLabelInline","renderLabelStart","const","manageChecked","checkbox","labelPosition","fullWidth","truncationBehavior","iconId","labelId","mixed","_ref2$properties","handleBlur","getTriggerEl","createIdSelector","togglePath","hasPath","removePath","addPath","flattenItems","filterSelectedItems","selectedItems","flatList","listItem","_listItem$children","getSearchMatches","matchesLabel","sublabel","lowerValue","setActiveItem","defaultActiveItem","flattenedItems","activeItem","getDropdownListConstrain","calcAriaPattern","ariaLiveNoResults","ariaLiveNumResults","ariaLiveSectionResults","announcement","updateActiveDescendant","activeDescendant","getRelativeItem","shouldLoop","lastActiveIndex","getItemForKeypress","iconSchema","itemSchema","supplementalIcon","avatarProps","image","itemsSchema","constrainSchema","minWidth","minHeight","getDynamicallyCreatedTarget","containerId","existingNode","newNode","unmount","created","onStateChange","screenReaderInjectInto","screenReaderId","screenReaderView","_getRenderTarget","parentRoot","getRenderTarget","prevState","mutateNode","idSuffix","newId","isScreenReaderBehaviorRender","updateViewForScreenReader","_state$behaviors$BEHA2","ARROW_KEYS","handleNextItem","nextActiveItem","getActiveDescendant","getListId","fixListboxForVoiceOver","menuOrListbox","listbox","renderLabels","_highlightLabels","highlightedLabel","highlightLabels","_highlightLabels2","highlightedSublabel","rawLabel","renderLabel","renderDivider","canRenderDivider","renderDropdownListItem","hideCheckmark","setSize","itemElement","lastCursorPos","fromMouseWheel","ListItem","currentCursorPos","cursorMoved","renderCheckmark","iconVal","iconLabel","renderIdentifier","renderSectionsOrItems","announceResults","renderChild","filteredItemIds","handleItemClick","announcements","uncategorizedCount","hasChildren","childCount","announcementMessage","getSectionHeader","sectionHeader","ariaAnnouncements","headerId","renderHeader","disableRole","activeDescendantId","searchPlaceholder","searchHasFocus","autocomplete","renderSearch","onwheel","_node$getBoundingClie","marginTop","marginBottom","prevEnteredKey","_action$payload$event","itemEl","click","jumpToMatchingLetter","moveActive","doesKeyChangeActive","_hostEl$shadowRoot","itemToFocus","scrollIntoView","_hoistHost$parentElem","dropdownScrollHeight","fitContentHeight","refit","screenReaderBehavior","CONTENT_DIMENSION_DEFAULTS","calculateSingleOffset","overlayDimensions","targetOriginBlock","targetOriginInline","contentOriginBlock","contentOriginInline","_offset$","_offset$2","_offset$3","_offset$4","_constrainOffset","toff","boff","loff","roff","overset","largest","constrainOffset","fromWindow","fromContainer","_ref$position","_ref$canScrollVertica","canScrollVertical","_ref$canScrollHorizon","canScrollHorizontal","constraints","wval","hval","_CONTENT_DIMENSION_DE","vScroll","hScroll","getContentDimensions","_normalizePosition","_normalizePosition2","_ref2$position","createProperties","descriptors","internalName","publicDescriptors","public","createFitBehavior","renderDropdown","triggerId","hideCaret","_state$properties$pan","panelFitProps","hideLabel","showPadding","selectedItemId","getSelected","triggerLabel","getTriggerLabel","hasTriggerLabel","triggerIcon","_selected$icon","_selected$icon2","getTriggerIcon","listId","renderCaret","manageSelectedItems","labelSize","focused","getFocusedEl","flattened","itemIndex","_flattened$itemIndex","matchKeywordWithItem","deferBehavior","labelSizeToUse","htmlFor","hostToScrollData","findAncestors","uuid","findListener","addOutsideScrollListener","handled","removeOutsideScrollListener","_hostToScrollData$get","nowUIType","getPanelEl","getContentEl","getListboxEl","getItemEls","getSelectedItemEls","getFocusedItemEl","getFocusedItemIndex","DocumentFragment","isPanelList","focusOnOpen","firstFocusItem","focusFirstItem","nextFocusItem","renderDropdownPanelItem","unfocusItem","renderPresenceOrIcon","fitStyle","restoreFocus","lastFocusItem","lastFocusIndex","focusNextItem","focusPreviousItem","focusLastItem","firstOpen","renderItem","onItemClick","divider","disableListeners","Element","importIconSet","_importIconSet","NOW_ICON_CACHE_NAME","cacheString","localStorageCache","iconResult","isPathFragment","pixelSize","isLoaded","initCache","assetLoadQueue","queueAssetLoad","emptyAssetLoadQueue","_assetLoadQueue$key","openedCache","PROMISED_OPENED_CACHE","importIconSetAsESM","serializedContent","VARIANTS","Fill","Outline","ICON_SIZES","indexInSet","convertLogicalDir","isRTL","getIconSet","iconSet","getIconDataFromCamel","_getIconDataFromCamel","logicalName","_match","baseName","realName","icons","variantIndex","_ICON_SIZES$size","allSizes","getIconNode","_getIconNode","SUPPORT_RTL_MAP","LOGICAL_NAME_MAP","getIconName","supportRtl","spin","hasLabel","busy","away","available","offline","backgroundPaths","accessibilityMode","showPattern","windowsHighContrast","iconRems","presenceLabel","blockSize","getFormFieldMessageIds","renderFormFieldMessages","messagesMode","isAriaHidden","isA11yLabel","_ref$status","_args$","_ref2$startIndex","_ref2$messagesMode","getAriaDescribedByList","helperContent","optional","layout","describedBy","formFieldMessageIds","renderFormFieldHelperRequiredorOptional","hideRequiredIndicator","renderFormFieldRequiredOrOptional","focusPanel","renderFormFieldHelper","renderLabelEnd","renderFormFieldLabel","renderAsElement","wrapLabel","handleFocus","focusTarget","hidePlaceholderTooltip","handlePlaceholderTooltipVisibility","placeholderTooltipDisplay","showPlaceholderTooltip","messagesSchema","v6frag","isIPAddress","isIPV4Address","isIPV6Address","fieldLayoutSchema","timeoutIds","removeFakeHighlighting","_input$previousElemen","previousElementSibling","renderInput","minlength","multiple","_ref$name","_ref$value","enableCaretSlot","caretSlotContainer","selection","hasCaretSlot","debounceCaret","debounceCaretWhileTyping","debounceInput","placeholderOverflow","fieldLayout","hasHover","hasFocus","handleCaretMoved","handleInput","handleKeydown","_e$target$previousEle","repositionCaretSlotContainer","coords","selectionEnd","pauseFakeHighlighting","_input$previousElemen2","selectionStart","beforeSelection","afterSelection","addFakeHighlighting","fieldElement","announceMessage","stripIPZeros","newVal","valid","forceValueChange","oldVal","validity","fromHandleBlur","oldScrollLeft","align","manageValue","debounceCaretLength","caret","inputField","tempValue","fromInputPropertyChanged","messagesLength","previousMessagesLength","_state$properties$fie","_timeoutIds$nowId","_timeoutIds$nowId2","disableUnmask","requirements","masked","customHelperContent","_state$properties$val","validations","messagesAndValidations","validationErrors","getMessagesAndValidations","allMessages","runPasswordValidation","_e$target","requirementsNotMet","handleMaskButtonClick","renderMaskButton","renderValidations","getNumberValue","selectedCountryCode","countryCodes","fullNumber","_state$properties$sel","callLabel","renderCountryCodeDropdown","handleCallButtonClick","editing","textLink","editLabel","blur","handleInputBlur","describedByItems","_renderTextLink","handleEditButtonClick","faActivityLineCircleSolid","faActivityLineCircle","faActivityLine","faArrowToLeftNoBar","faArrowToLeft","faArrowToRightNoBar","faArrowToRight","faNowLogo","faPhoneSlash","faPhoneSquare","faPhoneVolume","faPhone","faServicenowLogo","icons$1","USE_SHADE_ALTERNATE_ROWS_USER_PREFERENCE","SHADE_ALTERNATE_ROWS_ON","SHADE_ALTERNATE_ROWS_OFF","SHADE_ALTERNATE_ROWS_ENUMS","USE_LINE_BREAKS_USER_PREFERENCE","WRAP_ON","WRAP_OFF","WRAP_CELL_CONTENT_ENUMS","SMALL","LARGE","ICON_NAMES","TRIANGLE_EXCLAMATION_OUTLINE","DRAG_DOTS_FILL","CHEVRON_END_FILL","ELLIPSIS_V_FILL","NEW_OUTLINE","MAGIC_OUTLINE","OPEN_LINK_OUTLINE","PENCIL_OUTLINE","CIRCLE_CHECK_OUTLINE","CIRCLE_CLOSE_OUTLINE","SORT_DESCENDING_FILL","SORT_ASCENDING_FILL","LIST_ICON_SET","SCROLL_CONTAINER_CLASS","ROW_DEFINITIONS_PROP","SHADE_ALTERNATE_ROWS_USER_PREFERENCE_KEY","COLUMN_FILTERING_USER_PREFERENCE_KEY","WRAP_CELL_CONTENT_USER_PREFERENCE_KEY","LIST_ICON_CACHE","USER_PREF_UPDATED","LAYOUT_OPTIONS","LIST","GALLERY","TABLE_DEFAULT_ICON_SIZE","ACTIONABLE_MESSAGE_ICON_SIZE","ACTIONABLE_MESSAGE_STATUS_CRITICAL","ACTIONABLE_MESSAGE_STATUS_HIGH","ACTIONABLE_MESSAGE_STATUS_MODERATE","ACTIONABLE_MESSAGE_STATUS_WARNING","ACTIONABLE_MESSAGE_STATUS_INFO","ACTIONABLE_MESSAGE_STATUS_POSITIVE","ACTIONABLE_MESSAGE_STATUS_LOW","ACTIONABLE_MESSAGE_BUTTON_CLASS","ACTIONABLE_MESSAGE_STATUS_DEFAULT","ACTIONABLE_MESSAGE_STATUS_ENUMS","ACTIONABLE_MESSAGE_ICONS_DICT","CURRENCY_DEFAULT","CURRENCY_LOCALE_DEFAULT","CURRENCY_VALUE_DEFAULT","DATE_TIME_FORMAT_DEFAULT","DEFAULT_DATE_FORMAT","DATE_EDITOR_VARIANT_SHORT","DATE_EDITOR_VARIANT_LONG","TIME_AGO_DISPLAY_NONE","TIME_AGO_DISPLAY_UNDER_MAIN_VALUE","TIME_AGO_DISPLAY_AS_MAIN_VALUE","TIME_AGO_DISPLAY_ENUMS","SECONDS_FORMAT","SECONDS_FORMAT_WITH_DOTS","DATE_TIME_AGO_FORMAT","SHORT_DATE_TIME_FORMAT","ICON_CELL_ICON_SIZE","ICON_CELL_COLOR_DEFAULT","ICON_CELL_COLOR_CRITICAL","ICON_CELL_COLOR_HIGH","ICON_CELL_COLOR_MODERATE","ICON_CELL_COLOR_WARNING","ICON_CELL_COLOR_INFO","ICON_CELL_COLOR_POSITIVE","ICON_CELL_COLOR_LOW","ICON_CELL_COLORS_ENUMS","NUMBER_DEFAULT_VALUE","NUMBER_FORMAT_INTEGER","NUMBER_FORMAT_PERCENT","NUMBER_FORMAT_DECIMAL","NUMBER_FORMAT_LONG_INT","NUMBER_DEFAULT_LOCALE","NUMBER_FORMAT_ENUMS","DECIMAL_PLACES_DEFAULT","URL_ICON_SIZE","URL_ICON","OPENS_IN_NEW_DEFAULT","OPENS_IN_CURRENT_TAB_TOOLTIP","OPENS_IN_NEW_TOOLTIP","WRAP_CELL_CONTENT_USER_PREFERENCE","ICON_SIZE_SMALL","ICON_SIZE_MEDIUM","PERSON_CELL_ICON_SIZE","NOW_LIST_CELL_PERSON_CLICKED","PERSON_DISPLAY_TYPE_AVATAR","PERSON_DISPLAY_TYPE_NAME","PERSON_DISPLAY_TYPE_BOTH","PERSON_DISPLAY_TYPE_ENUMS","PERSON_DISPLAY_TYPE_DEFAULT","DEFAULT_PILL_SIZE","MAX_PILL_LIMIT_DEFAULT","MAX_MAX_PILL_LIMIT","EMPTY_CELL_VALUE","MAX_CHARACTERS_DEFAULT","HIGHLIGHTED_VALUE","PRESERVE_WHITESPACE_SYS_PROP","SPECIAL_COLUMN_CELL","SPECIAL_COLUMN_CELL_CONTENT","DATA_COLUMN_CLASS","ROW_CELL_CLASS","CELL_CONTENT_CLASS","RECENTLY_UPDATED_ROWS_ICON_NAME","RECENTLY_UPDATED_ROWS_ICON_SIZE","TEXT_ALIGNMENT_DEFAULT","TEXT_ALIGNMENT_CENTER","TEXT_ALIGNMENT_INVERSE","TEXT_ALIGNMENT_ENUMS","ALIGNMENT_CLASS_PREFIX","RELATIVE_TO_TEXT_ALIGNMENT_START","RELATIVE_TO_TEXT_ALIGNMENT_END","RELATIVE_TO_TEXT_ALIGNMENT_ENUMS","_require2","COLUMN_TYPES_ENUMS","SPECIAL_TYPE_ACTIONS","SPECIAL_TYPE_SELECTION","TYPE_STRING","SPECIAL_TYPE_ROW_DRAG_HANDLE","SPECIAL_TYPE_GROUP_TOGGLE","SPECIAL_TYPE_GROUP_BADGE","SPECIAL_TYPE_PARENT_TOGGLE","SPECIAL_TYPE_PARENT_BADGE","_require3","numberTypeProperties","percentCompleteTypeProperties","dateTimeTypeProperties","urlTypeProperties","pillsTypeProperties","personTypeProperties","currencyTypeProperties","customTypeProperties","headerIconProperties","choiceTypeProperties","galleryConfigSchema","_require5","SORT_ENUMS","SORT_NONE","columnDefinitionsSchema","columnHeaderTextTooltip","columnFilteringInfo","columnFilterCustomValueEditorEmittedActions","headerCellAlignment","headerTextDisabled","renderAsLink","cellEditingDisabled","maxCharacters","sortDirection","firstDayOfWeek","startIcons","endIcons","columnFilterConfig","customTopText","operators","requiresValue","selectedOperator","valueEditorCustomComponentTag","valueEditorCustomComponentDefaultProps","columnHeaderActions","cellActions","galleryConfig","TYPE_BOOLEAN","TYPE_CHOICE","TYPE_CURRENCY","TYPE_CUSTOM","TYPE_DATE_TIME","TYPE_ICON","TYPE_LINK","TYPE_NUMBER","TYPE_PERCENT_COMPLETE","TYPE_PERSON","TYPE_PILLS","TYPE_URL","TYPE_HTML","TYPE_IMAGE","_require6","numberFormat","decimalPlaces","locale","thresholdColors","dateTimeFormat","timeZone","timeAgoDisplay","actionableLinkTypeProperties","opensInNew","maxPillLimit","maximum","pillsChoices","canEdit","choices","defaultChoiceKey","currency","placeholderDimensions","cellContentDimensions","defaultComponentProps","column","tagline","bodyText","supplementaryFields","showLabel","enableOnlySingleSelection","galleryItemTooltip","SORT_ASCENDING","SORT_DESCENDING","OVERLAY_TYPE_MESSAGE","OVERLAY_DEFAULT_HEADING_LEVEL","OVERLAY_NO_ROWS_CONFIG","showColumnHeaders","messageConfig","OVERLAY_DUPLICATE_ROW_KEYS_CONFIG","OVERLAY_NO_COLS_CONFIG","OVERLAY_TYPE_LOADER","OVERLAY_TYPE_SKELETON_LOADER","OVERLAY_TYPE_CUSTOM","OVERLAY_TYPE_ENUMS","OVERLAY_TYPE_DEFAULT","OVERLAY_ILLUSTRATION_ENUMS","OVERLAY_LOADER_SIZES_ENUMS","OVERLAY_SHOW_COLUMN_HEADERS_DEFAULT","OVERLAY_SKELETON_LOADER_DEFAULT_NUM_COLUMNS","OVERLAY_SKELETON_LOADER_NUM_ROWS","commonProperties","overlayDefinitionSchema","clickActionType","loaderConfig","skeletonLoaderConfig","numColumns","customConfig","customOverlayEmittedActions","DROPDOWN_ITEM_SCHEMA","DROPDOWN_SECTION_SCHEMA","popoverDefinitionSchema","columnRowIndex","columnCellIndex","rowIndex","cellIndex","dismissOnScroll","disableScroll","dismissable","popoverType","buttons","highlightedMessage","showIcon","buttonsConfig","showRetry","disableApply","hideAll","ROW_ALIGNMENT_DEFAULT","ROW_ALIGNMENT_CENTER","ROW_ALIGNMENT_INVERSE","ROW_ALIGNMENT_ENUMS","POSITION_TABLE_START","POSITION_TABLE_END","POSITION_ENUMS","DEFAULT_ROW_ACTION_NUM_ICONS","DEFAULT_ROW_ACTION_ICON","DEFAULT_ROW_SCHEMA","ROW_TYPE_ENUMS","excludedActions","disableActions","selectionDisabled","cells","editingDisabled","highlightedValue","CUSTOM_ROW_SCHEMA","componentProps","contentAlignment","rowContentDimensions","ACTIONABLE_MESSAGE_SCHEMA","enums","rowDefinitionsSchema","numActionIcons","actionsItems","groupedRowLabel","groupActions","groupRowHref","isGroupExpanded","groupedRowCount","visualTreatment","isHighlighted","showUpdatedIcon","isGrayedOut","customCellEmittedActions","topActionableMessage","bottomActionableMessage","highlightedContent","ROW_TYPE_DEFAULT","ROW_TYPE_GROUPED","ROW_TYPE_CUSTOM","shouldRenderAriaLabel","announceLabel","clr","c1","c3","modify","modifiers","svg","mod","_mod$value","_rgbToHsv","maxc","minc","rc","gc","bc","rgbToHsv","newH","_hsvToRgb","hue","sat","hue2","val1","val2","val3","green","blue","hsvToRgb","themeAnimation","css","deleteNode","NOW_ANIMATION_CUSTOM_PREFIX","getAnimationPathFromTokenId","tokenId","injectAria","configAriaToUse","loop","autoplay","animationPath","themedPath","FETCH_ANIMATION","fetchAnimation","getCanvas","handleAnimationLoad","lottie","animationData","_data$theme","labelEl","configAnimation","progressBarProps","pathType","customLoader","animationWidth","animationObject","_animationObject$loop","_animationObject$auto","renderAnimation","progressBarObj","progressBarSize","progressbar","renderProgressBar","percentage","TAIL_LENGTH","setTailPosition","_getTailPosition","minYOffset","getMinOffset","middleOfTarget","minXOffset","getTailPosition","tailDirection","POPOVER_PANEL_TAG","getContent","getFirstTrigger","getNextPanel","nowPopover","directParent","isInPanel","nextPanel","hoist","_hoist","onReady","nowHoist","createBatchedListener","_ref$batch","callbacks","runCallbacks","forEachRight","needsToAttach","createObserver","observed","observerArgs","attached","onWindowResize","createGlobalListener","clickListener","keydownListener","scrollListener","_targets","_e$composedPath","closePopover","unhoist","openPopover","_openPopover","interactionType","finishedOpening","trapFocus","handleTabPress","_findTabbableNodes","isTabInPanel","handleSlotClick","clickedTrigger","findTriggerFromEvent","positioningToTrigger","isTop","_properties$constrain","_constrain$maxWidth","fitContentArea","fitContent","threshold","fitProps","updateFit","fitInfo","isWindowResizing","findFocusableNodes","targetVisible","intersectionRatio","_focusableNodes$lengt","nodesLength","handlePopoverOpened","isSafari","isIndeterminate","toNumber","renderRadioButtons","orientation","selectedOption","orderedSizeMap","pixelSizeMap","aMap","interrupted","permissions","unconfigured","sizes","assetMap","ThemeableIllustration","LINEAR_GRADIENT","LINEAR_FIX","RADIAL_GRADIENT","RADIAL_FIX","delayHash","attrs","hasChildNodes","cloneNode","createElementNS","isBrokenGradient","fix","findAndFixGradients","AUTO","hasThemeImageUrl","SM","MD","LG","getHookName","intervalFn","_this2$delayHash$illu","startDelay","NOW_ILLUSTRATION_CACHE_NAME","LOCAL_STORAGE_KEY","sharedFetchSucceeded","resolveAssetLoadQueue","themeHookUrl","ti","inlineSVG","hasBadGradient","resourcePath","_templateObject","_taggedTemplateLiteral","sharedFetchFailed","updateResizeObserver","forceHostMeasure","processSize","getUrlFromHook","processRequestedSize","getCorrectAsset","toUse","currentSize","fetchAsset","pathParams","streaming","fetchCustomUrlAsset","loadAsset","svgString","illustrationName","directory","file","getNextSize","availableSizes","ordered","pixelSizeChanged","smallerSide","forceRemove","cancelDelay","_state$asset","requestedSize","fig","klass","createElementFromNode","renderImage","getImagePathFromTokenId","loadImage","svgPath","illustrationPath","_yield$_loadImage","_delayHash$svg","media","renderActions","renderAction","renderIllustration","TagName","iconSize","removeJavaScriptProtocol","_state$properties$lab","_state$properties$hre","calculateHeightBasedOnRows","textarea","computedStyles","paddingBlockStart","paddingBlockEnd","borderBlockEndWidth","borderBlockStartWidth","textareaHtml","updateScrollTop","toggleScrollbar","getResizeHelperElement","adjustHeight","helper","replicatedValue","setMaxHeight","backdrop","addManuallyResizedClassIfNeeded","cols","resizeWrapper","runMicroTasks","calls","callIndex","prevCaretPos","getCharsRemaining","currentLength","charsRemaining","handleErrorMessages","additionalValidation","setMinHeight","setHelperWidth","ta","calculateWidthBasedOnCols","setHelperHeight","autoresizeRowsLimit","disableMaxHeight","createAriaDescribedByList","showCounter","characterCounterId","getCharacterCounterId","disableMinHeight","showBorders","debounceLength","hasSlottedContent","microTasks","_state$properties$nam","newResizeObserver","validateAndUpdate","handleReportManualResize","_e$target$previousEle2","ariaLive","renderCharacterCounter","_ref11$properties","listenerMap","hoistMap","FIT_CONSTRAIN","fitTooltip","slottedElements","haveTooltipContent","targetObserver","_target$parentNode","maybeHoistHost","sourceElement","addTargetListeners","isTooltipVisible","show","hide","removeTargetListeners","_listenerMap$get","ariaHidden","tooltipHost","_action$meta2","boundHandler","TimeoutStore","newTimeout","createTooltipActionHandler","hideTooltipCB","getRandomValues","IDX","HEX","to_hex","traceparent","trace_id","parent_id","sampled","padStart","make","trace_id_size","enableTrace","enableCounter","enableGauge","enableHistogram","enableInteractions","enableTrack","enableMousemoveInteractions","enableScrollInteractions","enableKeypressInteractions","enableClickInteractions","EXCEPTION_TYPE","EXCEPTION_MESSAGE","metaEl","segs","defaultTraceParent","createTraceId","createTraceParentHeader","spanId","traceId","page","application","getItemMetadata","SPAN_KIND","INVALID_TRACE_ID","getCurrentTime","timeOrigin","createTracer","getConfigValue","_options$attributes","_options$links","links","parentSpan","_options$events","_options$kind","parentSpanId","_getItemMetadata","documentTraceParent","addEvent","recordException","exception","createTracker","_options$time","createMetric","isEnabled","createMetrics","metricCallback","applyAppUserAttributes","createCounter","createGauge","createHistogram","observedScrollElements","flushed","hasBeenFlushed","queuedEvents","notifyTraceSubscriber","VALID_TRACE_ID_REGEX","isValidTraceId","_createAnalyticsApi","apiConfig","setConfigValue","setPage","lastResize","windowWidth","windowHeight","pageWidth","pageHeight","createEvent","screenX","screenY","lastScroll","lastMovement","initInteractionsTracker","createAnalyticsApi","_createAnalyticsApi$m","_uiInternal","_package","STORE_UPDATED","PROPERTIES_SET","COMPONENT_PROPERTY_UPDATE_REQUESTED","COMPONENT_ACTION_DISPATCHED","COMPONENT_INTERACTIVE","SPAN_FOR_COMPONENT_CONNECTED","SPAN_FOR_COMPONENT_DISCONNECTED","SPAN_FOR_COMPONENT_BOOTSTRAPPED","SPAN_FOR_COMPONENT_RENDERED","SPAN_FOR_COMPONENT_DOM_READY","SPAN_FOR_COMPONENT_PROPERTY_CHANGED","SPAN_FOR_COMPONENT_RENDER_REQUESTED","SPAN_FOR_COMPONENT_DOM_TREE_READY","SPAN_FOR_COMPONENT_TREE_RENDERED","SPAN_FOR_COMPONENT_ERROR_THROWN","_SPAN_LIFECYCLE_EVENT","COMPONENT_ERROR_THROWN","DISPATCH_EVENT","COMPONENT_ID_ATTRIBUTE","PARSE_PROP_CONF_KEY","SET_INITIAL_STATE","COMPONENT_NAME_ATTR","COMPONENT_NAME_PROP","HOIST_APPEND_TO_PROP","HOIST_APPEND_TO_ATTR","HOIST_ATTR","SEISMIC_HOIST_TAG_NAME","HOIST_FIRST_SCROLL_PARENT","DEFER_ATTRIBUTE","PROPERTY_SELECTOR_SIGIL","NOW_HOIST_ATTR","NOW_HOIST_PROP","NOW_HOIST_APPEND_TO_ATTR","NOW_HOIST_PREPEND_TO_ATTR","NOW_HOIST_APPEND_TO_PROP","NOW_HOIST_PREPEND_TO_PROP","NOW_ID_PROP","NOW_COMPONENT_NAME_PROP","NOW_ENABLE_PROPERTY_SETTING_PREVENTION_PROP","NOW_LOGGING_LEVELS_PROP","NOW_PLACEHOLDER_HEIGHT_PROP","NOW_PLACEHOLDER_WIDTH_PROP","NOW_PRIORITY_ATTR","NOW_PRIORITY_PROP","PRIORITY_LEVEL_LOW","PRIORITY_LEVEL_MEDIUM","NOW_MODE_PROP","COMPONENT_MODE_SUSPEND","COMPONENT_MODE_DETACH","NOW_METRIC_TYPES_PROP","NOW_METRICS_LEVEL_PROP","NOW_UI_EVENT","STATE_UPDATED","ACTION_DISPATCHED","COMPONENT_INTERNAL_ACTION","HELPERS_DEFER","HELPERS_SCHEDULED","PACKAGE_NAME","SHADOW_ROOT_MODE_CLOSED","SHADOW_ROOT_MODE_OPEN","NOW_AVOID_RENDER_PROP","ARIA_LIVE_POLITE","ARIA_LIVE_ASSERTIVE","SPAN_FOR_DISPATCH","SPAN_LIFECYCLE_EVENTS","SPAN_ATTR_COMPONENT_CONNECTED","SPAN_ATTR_COMPONENT_EVENT_DEFAULT_PREVENTED","SPAN_ATTR_DISPATCH_ACTION_TYPE","SPAN_ATTR_DISPATCH_PAYLOAD","SPAN_ATTR_UPDATE_PROPERTIES_PROPNAME","SPAN_ATTR_UPDATE_PROPERTIES_PROPVALUE","SPAN_ATTR_SET_PROPERTY_SKIPED","SPAN_ATTR_UPDATE_PAYLOAD","SPAN_ATTR_DID_UPDATE","SPAN_ATTR_SHOULD_RENDER","SPAN_ATTR_TASK_SCHEDULED","SPAN_ATTR_TASK_STARTED","SPAN_ATTR_TASK_COMPLETED","PACKAGE_JSON_VERSION","pkgJsonContent","constructedByTagName","definedTagNames","deferredByTagName","statName","Queue","dedupe","doNotDedup","whenQueueIsEmptyForElementCb","_els","_tasks","_dedupe","_doNotDedup","_whenQueueIsEmptyForElementCb","sizeForElement","_task$meta","existingCount","queueSize","taskType","queueLength","ENABLE_SCHEDULER_STATS","configConstants","SCHEDULER_RAF_TIMEOUT","enableSchedulerStats","getConfigItem","COMPONENT_RENDER","STATE_SET","ACTION_HANDLER","LEGACY_LIFECYCLE_FN","IMMEDIATE","DEFER_IDLE","REFLECT_PROPERTIES","DISPATCH","PROPERTY_SET","DEFER_HELPER_EXECUTION","WHEN_COMPONENT_IS_IDLE","WHEN_ALL_COMPONENTS_IDLE","constants","P0","P0_5","P1","P2","P3","p0_5Queue","p1Queue","whenQueueIsEmptyForElement","p2Queue","p3Queue","queueEmptyForElCallbacks","idleTimeout","highPriorityPending","mediumPriorityPending","lowPriorityPending","__getSchedulerStats","priority1","priority2","_ref6$","maxQueueDepth","totalQueued","totalQueueTime","maxQueueTime","totalExecutions","totalExecutionTime","maxExecutionTime","inQueue","averageQueueTime","averageExecutionTime","__resetSchedulerStats","trackTaskScheduled","scheduled","trackTaskStart","started","queueTime","trackTaskCompleted","_types$type$priority","schedulerTypes","SCHEDULE","EXECUTE","runHighPriorityTasks","runMediumPriorityTasks","runLowPriorityTasks","isRendering","requestAnimationFrameTimeout","requestAnimationFrameTimeoutId","flushIdleQueues","requestIdleCallbackPollyfill","deadline","timeRemaining","flushing","flushQueues","countHighPriorityTasks","countMediumPriorityTasks","isThrottled","WHEN_COMPONENT_IS_IDLE_TIMEOUT","WHEN_COMPONENT_IS_IDLE_THROTTLE","WHEN_COMPONENT_IS_IDLE_MIN_INTERVAL","check","getHostPendingNetworkActionCount","checkAll","getPendingNetworkActionCount","_payload$withTimeOutI","ajv","VALIDATE_SCHEMAS","Ajv","addKeyword","validate","validateFn","validateDeprecation","compile","profileName","validator","_ref$pathPrefix","pathPrefix","_ref$errorPrefix","errorPrefix","_ref$shouldLog","shouldLog","isValid","_validator$errors$","dataPath","_validator$errors$$pa","_validator$errors$$pa3","getPath","payloadSchema","propertyDefinitions","PRESENTATIONAL","VARIABLES","COMPONENT_ID","CONNECTED","PROPERTY_DEFS","STATE","PROPS","ACTION_HANDLERS","CONDITIONAL_DISPATCH","ROOT_NODE","ATTACHED_ROOT_NODE","UNHOIST","DEFERRED","RENDER","CONFIG","RENDERED_ONCE","TREE_RENDERED_ONCE","HELPERS_IMMEDIATE","RETARGETED_ACTION_TYPES","TARGETED_ACTION_TYPES","STYLE_PROXY","GET_RESOLVED_PROPERTY","HOIST_CHANGED","HOIST_PARENT_CHANGED","SET_PROPERTY","HOIST_COMPOSED_PATH","BOOTSTRAPPED_HANDLED","CONNECTED_HANDLED","PREVIOUS_RENDER_STATE","PREVIOUS_RENDER_PROPERTIES","PREVIOUS_TREE_RENDER_STATE","PREVIOUS_TREE_RENDER_PROPERTIES","CHILDREN_TO_BE_RENDERED","CHECK_IF_TREE_RENDERED","CHILD_IS_RENDERING","CHILD_HAS_RENDERED","NOTIFY_PARENT_THAT_CHILD_IS_RENDERING","NOTIFY_PARENT_THAT_CHILD_TREE_HAS_RENDERED","NEEDS_TO_KNOW_ABOUT_TREE_RENDERS","ANCESTOR_ROOT_NODE","ANCESTOR_PATH","UPDATE_AFFECTED_COMPONENTS","RUNTIME_ACTION_HANDLERS","USING_INTERSECTION_OBSERVER","INTERSECTED","INTERSECTION_TRIGGERED","REMOVE_INTERSECTED_STYLES","DETACHED_SHADOW_ROOT_CHILDREN_FRAGMENT","DETACHED_COMPONENT_PROPERTY_MAP","LOW_PRIORITY_PENDING","INTERACTIVE_TIMESTAMP","CONNECTED_TIMESTAMP","CHILDREN_TO_BE_INTERACTIVE","SELECTABLE_PROPERTIES","PROPERTIES_WITH_SELECTOR","TREE_RENDERED_ONCE_TIMESTAMP","RENDERED_ONCE_TIMESTAMP","CONNECTED_DEFERRED_TIMESTAMP","CONTEXT","CONTEXT_VIEW_KEY","CONTEXT_RESOLVED_VALUE","REMOVE_UPDATE_CUSTOM_ELEMENT_OBSERVER","PREVIOUS_INTERACTION_ID","getHostVariables","INTERCEPTOR","locations","sandboxInterceptor","effectInterceptor","hostVariables","sandbox","details","forEachInterceptor","createInterceptors","actionHandlerInterceptors","handlerCount","_actionHandlers$k$i","_actionHandlers$k$i$i","after","_actionHandlers$k$i$h","_actionHandlers$k$i$t","behaviorOptions","eventHandler","descendantOnly","combinedInterceptors","handlerInterceptors","_handler$args","normalizeModifiers","typeInterceptor","mapInterceptors","mapped","interceptorCount","normalizeHandlers","docs","normalizeActionHandler","actionHandler","_actionHandler$handle","_actionHandler$args","_actionHandler$interc","isPrivate","_actionHandler$modifi","_actionHandler$modifi2","_actionHandler$captur","_actionHandler$eventH","_actionHandler$descen","appendToPayload","shouldReturnEmptyString","fetchSafeStringValue","resolveValue","propertyDefinition","valueCount","hasSchema","readOnly","DEFAULT_RENDERER","transformState","isSelectableProperty","propertyDefs","deleteImpactedMapping","selectedMappings","providerId","providerPropName","resolvedMappings","impactedMappings","impactedMappingKey","_impactedMappingKey$s","_impactedMappingKey$s2","componentPropName","existingResolvedEntry","resolveSelectorChain","propertyResolver","_getSelectorParts","getSelectorParts","_getSelectorParts2","resolveSelectedProperty","propertyDef","_getSelectorParts3","_getSelectorParts4","isSelector","resolvedValue","resolveProviderSelectedProperty","propertyValue","providerPropPath","selectablePropertyResolver","getResolvedValue","shouldAddToResolvedPropertyMapping","_getHostVariables","isComputedProperty","resolveSelectedProperties","propertiesDef","propWithSelector","_propWithSelector$pro","resolveMappingHasKey","resolvedValueObj","getResolvedProperty","propDef","addResolvedPropertyMappingWithKey","getParts","slashIndex","_getDelimeterDetail","getDelimeterDetail","_getDelimeterDetail2","delimeter","pathSplitIndex","selectorLength","hasSeperator","propertySelector","updateSelectedPropertyMappings","removeMappings","mappings","resolvedPropertyMappings","addMapping","providerDetail","consumerDetail","consumerId","consumerPropName","providerKey","consumerKey","createAddMapping","selectorKey","subKey","createRemoveMappings","getAffected","sourceAffected","componentsAffected","getAffectedSelectorChain","componentMap","selectorMap","createGetAffected","getComponentAffected","createGetComponentAffected","addResolvedPropertyMapping","removeResolvedMapping","existingResolvedProviderMapping","createRemoveResolvedPropertyMapping","_key$split","_key$split2","createAddResolvedPropertyMappingWithKey","addSelectableResolvedPropertyMapping","createAddSelectablePropertyMapping","resolvedMappingHasKey","getResolvedPropertyValue","getInitialPropertyValue","toAttributeName","unstablePreserveEmptyStr","preserve","filterPropertyDefinitions","filteredPropertyDefs","doc","styleFragments","createStyleFragment","stylesheetsContent","styleFragment","cachedStyleFragment","externalStylesFragment","externalStylesEl","mergedStyleFragment","mergeStylesheets","definitions","attrName","isReadOnlyProperty","shouldSetMemoized","defs","toPropertyName","computedProperty","setReadOnly","createCacheKey","performanceApiExists","__ENABLE_NOW_UI_PERFORMANCE__","uiPerfEnabled","triggerPropertyChangeAction","propertyDetail","affectedPropDetail","activeSpan","setInteractionId","internal","skipRenderPropsList","isPropToSkipRender","_tagName","triggerComponentUpdates","affected","propertyDetails","renderList","_el$VARIABLES","_el$VARIABLES$PROPERT","_id$split","_id$split2","_renderList$i","shouldRemove","defaultLifecycleFn","defaultAsyncLifecycleFn","beforeNextTick","emitNowUiEvent","__ENABLE_NOW_UI_EVENT__","camelCaseProperties","newKey","unescapeReservedCharacters","isHoisted","getHoistTarget","parentVariables","normalizeActionMeta","normalizedMeta","deferHelperExecution","executionTiming","ConsoleLogExporter","_log$context","_log$context2","logs","extractInfo","fastDeepCopy","LogQueue","_options$logLevel","_options$cleanUpTimeI","cleanUpTimeInterval","_options$collectTimeI","collectTimeInterval","_options$exporter","_logLevel","_cleanUpTimeInterval","_collectTimeInterval","_exporter","_queue","startLogInterval","startCleanupInterval","_collectIntervalId","export","notifySubscribers","_cleanupIntervalId","_queueLocked","_backedLogs","_notifySubscribers","logsToEmit","lock","forceFlush","unlock","loggerProvider","loggerName","LoggerProvider","_logQueue","_isLoggingEnabled","loggers","stopLogInterval","stopCleanupInterval","LOGGING_LEVELS","globalLoggerProvider","snUiLoggerProvider","LOGS_OBSERVER_INTERVAL","LOGS_CLEANUP_INTERVAL","LOG_EXPORTER","cleanupTimeInterval","getLoggerProvider","disableLogging","loggerFunctions","nowUiFrameworkLogs","logTypes","enableLogging","createComponentLogger","loggerFn","loggerClass","getLogger","getComponentLogger","applyMetricsToDispatch","applyInteractionId","applyMetricsToLogger","_ref$traceId","setLogContext","observeConfigItem","filterComputedProperties","computeProperty","PROPERTY","compute","quickEquals","oldValue","isPrimitiveOrNull","supportedType","quickEqualsType","quickEqualsEmptyValue","newValueLength","newKeyLength","isPrimitive","isUndefinedOrNull","currentKeys","current1","current2","old1","old2","DOMRect","getActiveSpan","ACTIVE_SPAN","resolveComputedProperties","includeSource","computeProperties","INTERSECT_ROOT_MARGIN","applyIntersectStyles","styleElement","applyWithTag","operateAtPath","operationFn","_get","_set","_assign","_merge","_get2","_ref8$start","_start","_ref8$deleteCount","deleteCount","_deleteCount","_ref8$addItems","addItems","_addItems","POP","SHIFT","UNSHIFT","SPLICE","CONCAT","PAGE_OPT_OUT_PROPERTY_DEEP_COMPARE","PAGE_OPT_OUT_STATE_DEEP_COMPARE","propertyOptOutPages","stateOptOutPages","shouldOptOutOfDeepCompareForPage","styleSheetsContent","PREFIX","contents","styleSheetsRequestCache","resolveStylesheetsContent","_resolveStylesheetsContent","stylesheets","errorText","isProvider","markComponentInteractive","pendingNetworkActionCountForHost","childrenToBeInteractive","providersInteractive","providerEl","providerVariables","areProvidersInteractive","interactiveTimestamp","INTERACTIVE","parentEl","selectabledProperties","selectabledPropertiesLength","affectedComponents","subscriberEl","HMR_ENABLED","getSpanOptions","_host$tagName","createMetaData","actionMeta","getComponentName","retargeted","guid","internalActionTypes","uiAnalyticsConsumer","wrapDispatch","actionSpan","originalUpdateState","originalUpdateProperties","originalUpdateContext","originalDispatch","INTERNAL_HOST_DISPATCH","parentActionId","wasActionDispatchedByDescendant","slotted","allowedPropertyUpdates","getComposedPath","hoistComposedPath","addActionHandler","targetSelector","_detail$type","_detail$payload","_detail$error","_detail$meta","effectType","EVENT","createEventActionDetails","emitPropagationStopped","shouldStopPropagation","consumerCache","contextKey","createContext","buildContextValidator","shouldNotResolveContext","createContextProxy","addConsumer","createDebounce","runEffectFn","_ref$delay","_ref$collate","debounceVariables","getDebounceVariables","validMaxWait","isInteger","shouldCollate","tDelay","tMaxWait","logTimingMetrics","timingMetricTypes","DEBOUNCE","finishDebounce","invokeFn","delayId","lastArgs","saveEventProps","collateData","maxWaitId","accumulate","retrieveEventProps","clearTimers","eventPath","hostMap","effectMap","actionMappings","_ref$limit","free","createThrottle","TAKE_LATEST","THROTTLE","runEffect","EFFECT_START","EFFECT_END","runner","verb","cancelled","return","onResolved","effectRunner","_effect$modifier","takeLatest","sandboxEffect","_action$meta$effectTy","EFFECT","_args$action","transactionCtx","dispatchError","onActionHoisted","onAction","_action$type","isOrigin","isImmediate","hoistElm","hoistElmVariables","runEffects","onActionSpan","propagationStopped","getResolvedProperties","effectCount","normalizedEffect","shouldApplyActionHandler","createActionHandler","removeActionHandler","LIFECYCLE","lifeCycleFnsToHandlerMap","lifecycle","lifeCycleFnsToHandlers","configsCount","_loop2","onPropertyChangeEffect","onPropertiesSet","onChange","createOnPropertyChangeHandler","wrappedDispatch","mergeBehaviorProperties","mergedProperties","behaviorsCount","behaviorNames","_behaviors$i","behaviorProperties","normalizeActionHandlers","normalizedActionHandlers","normalizeBehaviors","normalizedBehaviors","_ref$options","resolvedBehavior","_resolvedBehavior$ini","_resolvedBehavior$eve","getStopPropagation","applyPayloadValidators","buildActionPayloadValidator","mergeBehaviorActions","mergedActions","_behaviors$i$behavior","behaviorActions","getActionsToDispatch","intercpetorsByType","politeId","assertiveId","border","clip","clipPath","politeTimeout","assertiveTimeout","createAriaLiveRegionEl","live","applyAriaLiveRegionAttributes","_ref2$action$payload$","_ref2$action$payload$2","replaceContent","ariaLiveRegionEl","getAriaLiveRegionEl","textNode","ariaLiveRegionCompNode","_ref$replaceContent","_replaceContent","curNode","upsertComponentLiveContentNode","normalizeConfig","_config$eventHandlers","componentEventHandlers","_config$actionHandler","_config$actions","_config$shadowRootOpt","shadowRootOptions","_config$shadowRootOpt3","shadowRootMode","normalizedBehaviorEventHandlers","numberOfBehaviors","_normalizedBehaviors$","_normalizedBehaviors$2","_normalizedBehaviors$3","numberOfEvents","normalizeBehaviorEventHandlers","mergedActionHandlers","eventHandlerCount","_eventHandlers$i","_eventHandlers$i$even","_eventHandlers$i$modi","_eventHandlers$i$modi2","_eventHandlers$i$inte","eventsCount","normalizedActionHandler","mergeEventActionHandlers","behaviorActionHandlers","behaviorActionHandler","mergeBehaviorActionHandlers","_actions$k","_actions$k$handlers","actionEffect","actionArgs","actionInterceptors","handlersCount","_ref$args","lifecycleActionHandlers","componentActionHandlers","mergeLifeCycleActionHandlers","ariaLiveRegionActionHandler","mergedInitialStates","componentInitialState","componentSetInitialState","behaviorState","behaviorInitialState","behaviorStateDynamic","_behaviors$_i","_behaviors$_i$behavio","behaviorSetInitialState","mergeBehaviorInitialState","isValuePropertySelector","refUnsubs","parseRefProperty","_unsubs","_unsubs$get","_unsubs$get2","isReference","isRef","unsubs","subscribeToRef","schemaType","parseProperties","parsedProperties","unstableParse","isValidParseType","validParseTypes","resolveRef","shouldUnstableParse","ENABLE_ACTION_DISPATCHED_HANDLING","shouldApplyRuntimeActionHandlers","addEventGetters","customEventDispatcher","shouldBubble","dispatchLegacyEvent","applyRuntimeActionHandlers","createDispatcher","dispatcher","_hostVariables$ANCEST","isExternalHostDispatch","skipForDetachedComponent","isInternalActionType","getInternalActionName","isPropertyUpdate","_hostVariables$CONFIG","validateActionPayload","ancestorPath","ancestorElement","hasActionHandlerForType","addActionHandlerForUnknownType","addActionHandlers","hoisted","_resolveCaptureHandle","_interceptors$i","resolveCaptureHandlerMetaData","resolvedTarget","hoistElem","hoistElemVariables","removeActionHandlers","actionsHandlersCount","NOTHING","DRAFTABLE","DRAFT_STATE","isDraft","isDraftable","shallowCopy","invokeGetters","isEnumerable","thing","ImmerScope","drafts","canAutoFreeze","patches","revoke","draft","usePatches","patchListener","inversePatches","leave","createProxy","clonePotentialDraft","assertUnrevoked","peek","finalizing","prepareCopy","assigned","modified","markChanged","proxyProperty","scope","finalized","revoke$1","revoked","markChangesSweep","hasArrayChanges","hasObjectChanges","markChangesRecursively","i$2","baseValue","state$1","isReplaced","createProxy$1","revocable","arrayTraps","objectTraps","source$1","peek$1","markChanged$1","owner","generatePatches","useRemove","replaceCount","path$1","generateArrayPatches","assignedValue","origValue","generateObjectPatches","applyPatches","patch","configDefaults","useProxies","autoFreeze","onAssign","onDelete","onCopy","Immer","setUseProxies","produce","recipe","defaultBase","this$1","processResult","createDraft","isManual","finishDraft","setAutoFreeze","modernProxy","legacyProxy","baseDraft","willFinalize","finalize","isFrozen","finalizeTree","rootPath","needPatches","finalizeProperty","isDraftProp","immer","getStatePropsContext","_operations$declarati","isEmptyStateUpdate","isDeclarativeUpdate","isValidOperation","isBatch","isUpdater","resolveUpdate","statePropsContext","ENABLE_DECLARATIVE_STATE_UPDATE_DEEP_COMPARE","optOutDeepCompare","shouldDeepCompareValues","handleStateUpdate","resolvedUpdate","_resolvedUpdate$shoul","_resolvedUpdate$opera","_resolvedUpdate$path","_resolvedUpdate$shoul2","declarativeUpdate","_update$path","updateKeys","nextValue","nextValueKeys","currentValueKeys","currentValue1","currentValue2","nextValue1","nextValue2","shouldUpdateState","didUpdate","isSelectiveEqual","isValidOptimisationOperation","draftState","handleStateUpdateBatch","_handleStateUpdate","resolveUpdateForMark","transformUpdateForMark","renderContextConsumers","ctxKey","handleContextUpdate","previousContext","nextContext","setContext","handleContextUpdateBatch","_handleContextUpdate","old","createDispatch","typeOrFn","dispatchSpan","DEFER","deferred","shouldWrap","_typeOrFn","_typeOrFn$meta","_typeOrFn$shouldDispa","createHelpers","UPDATE_STATE","_options$SCHEDULE_IMM","optionallyImmediate","updateStateSpan","shouldBatch","_updateHandler","createUpdateState","UPDATE_PROPERTIES","updatePropSpan","stateProps","_update","_update$shouldUpdate","_update$operation","propertyPath","splitPath","propertyLen","pvRef","hostRef","HELPERS_SCHEDULED_CONST","createUpdateProperties","updateContextSpan","transformedUpdate","createUpdateContext","SeismicHoistElement","_CustomElement2","_CustomElement","hoistTagName","define","sourceEl","createTarget","sourceVariables","targetVariables","attributeCount","_attributes$i","omitAttrs","getParent","overflowRegex","shouldPrepend","getAppendToEl","hoistAppendToSelector","shouldAppend","hoistPrependToSelector","excludeStaticParent","getFirstScrollParent","selectorOrNode","shouldHoistAttribute","moveStyles","deprioritizeStyles","adoptedStyleSheets","sourceElRootNode","moveChildren","createDocumentFragment","hoistAppendToEl","connectTarget","disconnectTarget","stylesMap","_applyStyles","_config$styles","_config$stylesheets","_config$renderer","_config$renderer2$typ","_config$renderer2$typ2","_config$renderer2$typ3","_config$renderer2$typ4","Document","applyWithAdoptedStylesSheets","_applyWithAdoptedStylesSheets","previousDisplaValue","styleSheetsContentCache","CSSStyleSheet","_applyWithTag","removeStyles","nodeCount","isAria","filterRelectedProperties","filterUnstableParseProperties","reflectProperty","usingUnstableParse","computedValue","stateValue","attributeValue","getAttributeValue","shouldRemoveAttribute","reflectQueue","shapeRenderData","transformedState","_filterRelectedProper","reflected","PROPERTY_REFLECTION","reflectProperties","TRANSFORM_STATE","updateResolvedSelectedPropertyMappings","propertiesWithSelector","previousProviderId","previousProviderPropName","previousProviderPath","alreadyResolvedValue","updateResolvedValue","_consumerPropDef$cons","consumerComponent","addResolvedSelectedPropertyMappingWithResolvedValue","updatePropertiesWithSelector","selectedProperties","ENABLE_SCHEDULER_QUEUE_COUNTS","METRICS_COMPONENT_INTERACTIVE_ENABLED","enableSchedulerQueueCounts","ENABLE_PROPERTY_DEEP_COMPARE","enableDeepPropertyCompare","componentRegistryForInteractive","idleCallback","clearRootNode","RENDERER","getResolvedState","createElementClass","normalizedConfig","combinedPropertyDefs","validateProperties","propertyKeys","rendererView","resolveRenderer","_renderer$type","rendererOnConnect","rendererOnDisconnect","_renderer$type$deprio","_renderer$transformSt","useCoeffectsLikeObjectInView","initialize","lifecycleFns","shouldRunAsync","createLifecycleFunctions","buildPropertiesValidator","propertyKeysCount","accessors","getProperty","SeismicElement","assertValidPropertyNames","upgradeProperties","__DO_NOT_USE_BOOTSTRAPPED__","_superPropGet","setStat","_options$interactionI","setPropSpan","valueOrDefault","parseProperty","shouldSetProperty","internalPropertyUpdateRequested","removeIntersectedStyles","allAffectedComponents","isReflecting","shouldSetAttribute","hoistAttribute","unhoistAttribute","connectedCallback","instanceProperties","resolvedProperties","reflectCount","clearReflection","shouldLegacyDefer","generateDeferGetterAndSetter","addUpdateCustomElementObserver","spanOptions","priorityLevel","setComponentId","HELPERS_DEFER_CONST","lifecycleSpan","traceName","_variables$ANCESTOR_R","_variables$ANCESTOR_R2","__DO_NOT_USE_OR_YOU_WILL_BE_FIRED_BY_YOUR_PARENT__","setInitialProperties","resolveParentTraceId","clearPendingNetworkActionsForHost","CONNECTION","renderSpan","cause","highPriorityTaskCount","mediumPriorityTaskCount","pendingNetworkActionCount","contextKeys","validateSchema","validateContext","renderCause","shouldSkipRender","startMarker","RENDER_START","RENDER_END","_createOnStateChangeA","stateSansProperties","createOnStateChangeArgs","withMetrics","applyMetrics","_createOnStateChangeA2","COMPONENT_RENDERED_ACTION_TYPE","INTERSECTION","RENDER_TREE","childVariables","_ref3$activeSpan","parentHost","_ref4$activeSpan","nowElementConfig","addPendingNetworkActionForHostCb","validateSchemas","TYPE_ARRAY","TYPE_FN","TYPE_OBJECT","onBootstrap","presentationalBehavior","buildConfigValidator","uniqueItems","resources","actionTypesToProps","presentationalValidator","validatePresentationalConfig","CHECK_FOR_POSSIBLE_PRESENTATIONAL_COMPONENTS","POSSIBLE_PRESENTATIONAL_COMPONENTS","checkForPossiblePresentationalComponents","possiblePresentationalComponents","createCustomElementFactory","_options$presentation","validateConfig","createUnstableResolvePropertySelectorValue","componentActionTypes","defineRegistry","getStats","countByTagName","totalConstructed","unusedTagNames","tagNames","constructed","connected","TEST","DEV","PROD","NOW_UI_FRAMEWORK","NOW_UI_CONFIG","AMB_GC","GQL_CACHE_CAPACITY","GQL_CACHING_ENABLED","GQL_CACHING_REFRESH_DELAY","GQL_CACHE_MAX_PERSIST","HTTP_CACHE_CAPACITY","HTTP_CACHING_ENABLED","HTTP_CACHING_REFRESH_DELAY","HTTP_CACHE_MAX_PERSIST","TELEMETRY_MARKING_ENABLED","DISABLE_GQL_BATCHING","DISABLE_REST_BATCHING","GARBAGE_COLLECTOR_INTERVAL","MEMOIZE","METRICS_LEVEL","METRICS_OBSERVER_INTERVAL","METRICS_TYPES","QUEUE_FLUSH_ENABLED","TIME_TO_WAIT_AFTER_DISCONNECT","METRICS_USE_WINDOW_PERFORMANCE","MEMOIZE_SNABBDOM_PROP_PARTS","METRICS_ELEMENT_CONFIG_ENABLED","ARIA_LIVE_ASSERTIVE_TIMEOUT","ARIA_LIVE_POLITE_TIMEOUT","METRICS_MARK_PRUNING_INTERVAL","METRICS_MARK_EXPIRATION","METRICS_PRUNE_MARKS","EMBEDDABLE_BASE_URL","NOW_UI_FRAMEWORK_CONFIG_KEYS","NXUI_SYS_PROPS","devConfig","prodConfig","testConfig","getConfigForEnv","configEnv","configInstance","getConfigFromGlobal","globalConfig","getConfigFromSysProps","_globalThis$ux_global","_globalThis$ux_global2","nxuiConfig","nxui","sysPropKeys","sysProp","sysPropValue","observeredProperties","overridden","globalVar","sysPropVar","setConfigItem","retVal","getConfig","sysPropConfig","envConfig","setEmbeddableBaseUrl","ambClient","clientUrl","getAMBClient","amb","getClient","createSubscriptionId","cuid","garbageCollectors","createGarbageCollectorMap","cleanup","garbageCollectorMap","mapValue","__map","garbageCollector","DISCONNECTED_TIME","ambChannelRegistry","registryId","channelListener","unsubscribe","AMB_CHANNEL_SUBSCRIBE_STARTED","AMB_CHANNEL_SUBSCRIBE_SUCCEEDED","AMB_CHANNEL_SUBSCRIBE_FAILED","AMB_CHANNEL_UNSUBSCRIBE_SUCCEEDED","ambSubscriptionEffect","subscriptionId","channelId","_options$subscribeSta","subscribeStartedActionType","_options$subscribeSuc","subscribeSucceededActionType","_options$subscribeFai","subscribeFailedActionType","_options$unsubscribeS","unsubscribeSucceededActionType","_options$messageRecei","_options$encodeURICom","encodeURIComponentForChannelId","createRegistryId","resolvedChannel","channelParams","toPath","replaceChannelParameters","metaData","shouldSubscribe","subscriptionCallback","actionMetaData","successful","createSubscriptionCallback","getChannel","getName","isSubscribed","listenerFn","eventSubscriptionRegistry","eventIds","unsubscribeFromEvent","ambEventEffect","eventMap","getEvents","subscribeToEvent","toUpper","createAmbEventEffect","SUPPORTED_KINDS","addDomainContextToGraphQLDocument","domainContext","domainDirective","recordTable","domainSeparationProperties","NOW_DS_RECORD_TABLE","recordId","NOW_DS_RECORD_ID","domainId","NOW_DS_DOMAIN_ID","domainScope","NOW_DS_DOMAIN_SCOPE","recordArgument","isValidRecordArgument","createRecordArgument","domainArgument","isValidDomainArgument","insertIf","createDomainArgument","directives","isSubscriptionResult","GlideRecord_Subscription","mustacheTokens","TemplateVarsMissingException","expectedTemplateVars","memGetTokens","queryStr","Mustache","partsLength","replaceQueryTemplateVariables","templateVars","templateParts","templatePartsLength","assertValidTemplateVars","__assign","SuppressedError","invariant","LineRegExp","getLocation","lastLineStart","line","matchAll","printLocation","printSourceLocation","sourceLocation","firstLineColumnOffset","locationOffset","lineIndex","lineOffset","lineNum","columnOffset","columnNum","locationStr","lines","locationLine","subLineIndex","subLineColumnNum","subLines","printPrefixedLines","subLine","existingLines","padLen","GraphQLError","_this$nodes","_nodeLocations$","rawArgs","firstArg","_toNormalizedOptions","originalError","extensions","undefinedIfEmpty","nodeLocations","loc","originalExtensions","formattedError","syntaxError","OperationTypeNode","DirectiveLocation","Kind","TokenKind","Location","startToken","endToken","Token","QueryDocumentKeys","Name","OperationDefinition","VariableDefinition","Variable","SelectionSet","Field","Argument","FragmentSpread","InlineFragment","FragmentDefinition","IntValue","FloatValue","StringValue","BooleanValue","NullValue","EnumValue","ListValue","ObjectValue","ObjectField","Directive","NamedType","ListType","NonNullType","SchemaDefinition","OperationTypeDefinition","ScalarTypeDefinition","ObjectTypeDefinition","FieldDefinition","InputValueDefinition","InterfaceTypeDefinition","UnionTypeDefinition","EnumTypeDefinition","EnumValueDefinition","InputObjectTypeDefinition","DirectiveDefinition","SchemaExtension","ScalarTypeExtension","ObjectTypeExtension","InterfaceTypeExtension","UnionTypeExtension","EnumTypeExtension","InputObjectTypeExtension","kindValues","maybeNode","maybeKind","isWhiteSpace","isDigit","isLetter","isNameStart","isNameContinue","dedentBlockStringLines","_firstNonEmptyLine2","commonIndent","firstNonEmptyLine","lastNonEmptyLine","_firstNonEmptyLine","indent","leadingWhitespace","printBlockString","escapedValue","isSingleLine","forceLeadingNewLine","hasTrailingTripleQuotes","hasTrailingQuote","hasTrailingSlash","forceTrailingNewline","printAsMultipleLines","skipLeadingNewLine","Lexer","startOfFileToken","SOF","lastToken","lineStart","lookahead","EOF","nextToken","readNextToken","COMMENT","isPunctuatorTokenKind","BANG","DOLLAR","AMP","PAREN_L","PAREN_R","SPREAD","COLON","AT","BRACKET_L","BRACKET_R","BRACE_L","PIPE","BRACE_R","isUnicodeScalarValue","isSupplementaryCodePoint","isLeadingSurrogate","isTrailingSurrogate","printCodePointAt","lexer","codePointAt","fromCodePoint","createToken","col","bodyLength","readComment","readBlockString","readString","readNumber","readName","firstCode","isFloat","readDigits","FLOAT","INT","chunkStart","STRING","readEscapedUnicodeVariableWidth","readEscapedUnicodeFixedWidth","readEscapedCharacter","readHexDigit","read16BitHexCode","trailingCode","currentLine","blockLines","BLOCK_STRING","devAssert","formatValue","seenValues","previouslySeenValues","isJSONable","jsonValue","formatArray","getObjectTag","formatObject","formatObjectValue","instanceOf","NODE_ENV","_value$constructor","stringifiedValue","Source","isSource","sourceObj","_lexer","_options","_tokenCounter","expectToken","DOCUMENT","many","parseDefinition","parseOperationDefinition","hasDescription","peekDescription","keywordToken","parseSchemaDefinition","parseScalarTypeDefinition","parseObjectTypeDefinition","parseInterfaceTypeDefinition","parseUnionTypeDefinition","parseEnumTypeDefinition","parseInputObjectTypeDefinition","parseDirectiveDefinition","parseFragmentDefinition","parseTypeSystemExtension","unexpected","OPERATION_DEFINITION","QUERY","variableDefinitions","selectionSet","parseSelectionSet","parseOperationType","parseName","parseVariableDefinitions","parseDirectives","operationToken","MUTATION","SUBSCRIPTION","optionalMany","parseVariableDefinition","VARIABLE_DEFINITION","variable","parseVariable","parseTypeReference","expectOptionalToken","parseConstValueLiteral","parseConstDirectives","VARIABLE","SELECTION_SET","selections","parseSelection","parseFragment","parseField","nameOrAlias","FIELD","parseArguments","isConst","parseConstArgument","parseArgument","ARGUMENT","parseValueLiteral","hasTypeCondition","expectOptionalKeyword","FRAGMENT_SPREAD","parseFragmentName","INLINE_FRAGMENT","typeCondition","parseNamedType","expectKeyword","allowLegacyFragmentVariables","FRAGMENT_DEFINITION","parseList","parseObject","advanceLexer","parseStringLiteral","BOOLEAN","NULL","ENUM","varName","OBJECT","parseObjectField","OBJECT_FIELD","parseDirective","DIRECTIVE","innerType","LIST_TYPE","NON_NULL_TYPE","NAMED_TYPE","parseDescription","operationTypes","parseOperationTypeDefinition","SCHEMA_DEFINITION","OPERATION_TYPE_DEFINITION","SCALAR_TYPE_DEFINITION","interfaces","parseImplementsInterfaces","parseFieldsDefinition","OBJECT_TYPE_DEFINITION","delimitedMany","parseFieldDefinition","parseArgumentDefs","FIELD_DEFINITION","parseInputValueDef","INPUT_VALUE_DEFINITION","INTERFACE_TYPE_DEFINITION","parseUnionMemberTypes","UNION_TYPE_DEFINITION","parseEnumValuesDefinition","ENUM_TYPE_DEFINITION","parseEnumValueDefinition","parseEnumValueName","ENUM_VALUE_DEFINITION","getTokenDesc","parseInputFieldsDefinition","INPUT_OBJECT_TYPE_DEFINITION","parseSchemaExtension","parseScalarTypeExtension","parseObjectTypeExtension","parseInterfaceTypeExtension","parseUnionTypeExtension","parseEnumTypeExtension","parseInputObjectTypeExtension","SCHEMA_EXTENSION","SCALAR_TYPE_EXTENSION","OBJECT_TYPE_EXTENSION","INTERFACE_TYPE_EXTENSION","UNION_TYPE_EXTENSION","ENUM_TYPE_EXTENSION","INPUT_OBJECT_TYPE_EXTENSION","repeatable","parseDirectiveLocations","DIRECTIVE_DEFINITION","parseDirectiveLocation","noLocation","getTokenKindDesc","atToken","openKind","parseFn","closeKind","delimiterKind","maxTokens","advance","docCache","fragmentSourceMap","printFragmentWarnings","experimentalFragmentVariables","normalize","processFragments","ast","seenKeys","fragmentDefinition","fragmentName","sourceKey","sourceKeySet","parseDocument","workSet","stripLoc","gql","literals","gql_1","extras","resetCaches","disableFragmentWarnings","enableExperimentalFragmentVariables","disableExperimentalFragmentVariables","getGraphQLDocument","addQueryNameToGraphQLDocument","createGraphQLDocument","getOperationName","SPAN_FOR_GRAPHQL","SPAN_KIND_CLIENT","SPNA_ATTR_GQL_QUERY","SPAN_ATTR_GQL_BATCH","SPAN_LEVEL_FINE","SPAN_TRACE_PARENT","SPAN_DOCUMENT_TRACE_PARENT","getGlobalObject","localSnHttp","createSnHttpForGql","snHttpConfig","g_ck","xTransactionSource","transaction_source","batching","createSnHttp","escapedRegExp","escapedReplacer","escapeSequences","getEnterLeaveForKind","visitor","kindVisitor","print","visitorKeys","enterLeaveMap","inArray","edits","isLeaving","isEdited","editOffset","editKey","editValue","arrayKey","_node$kind","_enterLeaveMap$get","_enterLeaveMap$get2","visitFn","visit","printDocASTReducer","varDefs","argsLine","_ref22","hasMultilineItems","_ref23","_ref24","_ref25","_ref26","_ref27","_ref28","_ref29","_ref30","_ref31","_ref32","_ref33","_ref34","_ref35","_ref36","_maybeArray$filter$jo","separator","maybeString","_maybeArray$some","documentToQueryString","strippedBody","wasLastAddedTokenNonPunctuator","currentToken","tokenKind","isNonPunctuator","tokenBody","stripIgnoredCharacters","persistantCache","getCache","_getCache","makePersistentCache","dbName","schemaVersion","makeLRUCachePolicy","shouldDoResultCaching","transactionMetaData","windowObj","_windowObj$NOW","_windowObj$NOW$user","isImpersonating","shouldCache","getCacheQueryKey","_ref2$params","resolvedQuery","resolvedVariables","resolvedParams","userToken","getUserSysId","checkCacheForResult","_checkCacheForResult","batchItem","fetchFunc","_operation$transactio","_operation$transactio2","gqlDocument","cacheQueryKey","refetchPromise","cachedResult","cachedDate","makeRefetchRequest","date","isCachedResult","batchItems","_currItem$operation","_currItem$operation$q","queryContext","clearStreaming","storeResultInCache","_storeResultInCache","_operation$transactio3","_result$data","_result$errors","startBatchTracing","_operation$queryConte","maxBatchSize","batchInterval","existingGqlBatchSpan","gqlBatchSpan","spanAttributes","updateHeadersWithSpan","_params$headers","setSpanAttributes","activeTraceParent","updateBatchHeaders","crossLinkBatchSpan","addEventToBatchSpan","_operation$queryConte2","ts","eventDetails","completeBatchTracking","isBatched","batchEnd","batchStart","batchProcessingTime","operationSpan","gqlBatchQueueEvent","DEFAULT_GQL_ENDPOINT","createMultipartConfiguration","isStreamingRequest","dataReceived","canDoSnHttpLevelBatching","canDoBatching","__unstableDisableBatching","batcher","_ref2$batchInterval","_ref2$maxBatchSize","_ref2$batchingEnabled","batchingEnabled","_enqueue","deferredResolve","deferredReject","cacheResult","shouldNotDoGraphQLLevelBatching","scheduleFlush","_operation$headers","sendRequestWithCanOmitQuery","_sendRequestWithCanOmitQuery","canOmitQuery","_window$nowUiFramewor3","_window2$nowUiFramewo","mergedParams","_batchItems$i$operati","_batchItems$i$operati2","__unstableQueryHash","nowUxInteraction","nowUiInteraction","persistedQuery","sha256Hash","GQL","batchGQLEffectRequests","_result$headers","checkResultForErrors","_result$headers2","returnResult","currOperation","currResults","wasStreamingResponse","_ref3$errors","resetContext","createQueryBatcher","sendRequest","ENTER","CHANGE","EXIT","ABANDONED","GRAPHQL_SUBSCRIPTION_STARTED","GRAPHQL_SUBSCRIPTION_SUCCEEDED","GRAPHQL_SUBSCRIPTION_FAILED","GRAPHQL_UNSUBSCRIBE_SUCCEEDED","GRAPHQL_SUBSCRIPTION_ITEM_ENTERED","GRAPHQL_SUBSCRIPTION_ITEM_CHANGED","GRAPHQL_SUBSCRIPTION_ITEM_EXITED","GRAPHQL_SUBSCRIPTION_CONDITION_ABANDONED","handleAMBSubscription","serializedGraphQLSubscription","serializedSubscription","_options$subscription","subscriptionStartedActionType","_options$subscription2","subscriptionSuccessActionType","_options$subscription3","subscriptionFailedActionType","unsubscribeSuccessActionType","_options$itemEnteredA","itemEnteredActionType","_options$itemChangedA","itemChangedActionType","_options$itemExitedAc","itemExitedActionType","_options$conditionAba","conditionAbandonedActionType","handleGraphQLSubscription","resultData","_payload$subscribe","channels","itemsLength","getChannelsFromSubscriptionQuery","channelsLength","QueryContext","contextArguments","initialPayloadActionType","additionalDataActionType","_contextArguments$act","dispatchFunction","actionMetadata","initialPayloadEmpty","setFirstDataReceived","dispatchInitialPayloadAction","updateDataReceived","dispatchAdditionalDataAction","finalPayload","receivedErrors","dispatchSuccessAction","shouldClone","_this$finalPayload$er","_headers$contentType","GRAPHQL_REQUEST_STARTED","GRAPHQL_REQUEST_SUCCEEDED","GRAPHQL_REQUEST_FAILED","GRAPHQL_CACHE_UPDATED","cacheDelay","gqlEffect","_options$variableList","_options$templateVarL","templateVarList","_options$headerList","_options$cacheable","_options$__unstableQu","_options$startActionT","_options$streaming","_options$successActio","_options$errorActionT","_options$cacheUpdateA","cacheUpdateActionType","_options$queryParams","gqlSpan","_result$isCachedResul","_result$refetchPromis","successPayload","_responseHeaders","_createHttpErrorActio","_payload","httpError","resolveDomainContext","successPayloadReceived","refetchResult","createHttpErrorAction","getDomainProp","createDomainContextProperty","hasDomainProps","getSeismicHoistTargetFor","seismicHoistElement","isSeismicHoistElement","tempUserSysId","userID","setUserSysId","capacity","lruArray","evict","updateLRU","keysToDelete","lastAccessed","onInit","dateA","cachePolicyState","_entries","onHit","onSet","onClear","_console","cacheCapacity","openStore","_params$options","getStore","_arguments","_arguments2","getRequest","getAll","includeMetaData","getAllKeysRequest","numRemaining","_cachePolicy$onSet","putRequest","setMultiple","numRequestsMade","numRequestsComplete","_cachePolicy$onSet2","countRequest","deleteRequest","dbRequest","allEntries","autoIncrement","cachePromises","dbKey","creationPromise","inMemoryCacheHits","persistentCacheHits","includeMetadata","inMemorySize","persistedSize","maxConcurrent","memoizedContainsNonAsciiChars","filterHeaders","nonAsciiHeader","IGNORED_HEADERS","isCacheEnabled","cacheMaxPersist","stringifiedHeaders","stringifiedParams","_sendRequest","_window$NOW","_window$NOW$user","_options$onUploadProg","cancelPromiseSymbol","abortController","updatedHeaders","cacheRequested","isCached","_headers","AbortController","_dataToCache$headers","dataToCache","_error$response2","requestPromise","replacePathParameters","HTTP_REQUEST_STARTED","HTTP_REQUEST_PROGRESS_UPDATED","HTTP_REQUEST_SUCCEEDED","HTTP_REQUEST_FAILED","HTTP_CACHE_UPDATED","httpEffect","_options$pathParams","_options$dataParam","_options$progressActi","updatedUrl","_result$requestPromis","_result2","successData","_result2$refetchPromi","_data","HTTP","errorTypes","INITIAL_STATE","VIEW","CREATE_REF_SYMBOL","CREATE_REF_SUBSCRIBE_SYMBOL","CREATE_REF_COMP_PROPS_SUBSCRIPTIONS_SYMBOL","SPAN_ATTR_DISPATCH_MESSAGE","INFO","TRACE","EMIT","allLogTypes","createLogContext","postfix","tempHost","_tempHost$tagName","_tempHost$nowId","_tempHost$__DO_NOT_US","_tempHost$nowLoggingL","nowLoggingLevels","logContext","logMessage","getLogMessage","componentMsg","startMessage","globalLoggingEnabled","globalLoggingLevels","always","logType","observerObj","logsToSend","logObservers","logsObserverInterval","addLog","notifyLogObserver","notifyLogObservers","timeExpired","deadLine","tagNameCache","logOptionDefaults","loggerOptions","_log","logOptions","resolvedLogContext","memoizeProfiler","arg1","_ref$details","_ref$errorType","_ref$metadata","isRecursive","_options$args","baseId","createAriaRef","__current","__parent","subscriptionMap","childAriaRefToPath","isAriaRef","setCurrent","callAsync","attributeToCallback","setParentAriaRef","parentAriaRef","getParentAriaRef","isSet","setId","setChildQuerySelector","childAriaRef","getChildQuerySelector","oldCb","seal","subscriptions","propList","compSubscriptions","networkActionsEmptyForElCallbacks","globalCount","pendingNetworkAction","networkActions","METRIC_DISPATCH","METRIC_ERROR","METRIC_GQL","METRIC_HTTP","METRIC_CONNECTION","METRIC_UPDATE_PROPERTIES","METRIC_UPDATE_STATE","METRIC_RENDER_START","METRIC_RENDER_END","METRIC_RENDER_TREE","METRIC_INTERSECTION","METRIC_SCHEDULE","METRIC_EXECUTE","METRIC_DEFER","METRIC_PROPERTY_REFLECTION","METRIC_EFFECT_START","METRIC_EFFECT_END","METRIC_PATCH_START","METRIC_PATCH_END","METRIC_HOOK_START","METRIC_HOOK_END","METRIC_INTERACTIVE","METRIC_HERO_INTERACTIVE","METRIC_UPDATE_CONTEXT","PATCH_START","PATCH_END","HOOK_START","HOOK_END","HERO_INTERACTIVE","INTERACTION_ID","createTransactionId","validateMeta","callerName","histogram","totalGQL","totalHTTP","totalRenders","totalPropChange","totalDispatch","totalStateUpdates","increment","globalMetricsLevel","globalMetricsLevelIsInteger","globalMetricTypes","globalIsTelemetryEnabled","globalElementMetricsConfigEnabled","resolvedLevels","isMetricTypeValid","latest","MARK_PRUNING_INTERVAL","MARK_EXPIRATION","PRUNE_MARKS","callObservers","latestSlice","unresolvedResourceMarks","resource","_mark$options","isMarkBatchedRequest","isResourceBatchApi","_mark$options2","PerformanceObserver","getEntries","markTime","entryTypes","_augmentedMark$option","_augmentedMark$option2","resolvedContext","resolvedHost","metricsLevel","resolveContext","incrementCount","nowMetricTypes","_ref$level","nowMetricsLevel","shouldMark","augmentedMark","augmenters","reduceRight","marks","debounceMetrics","deferMetrics","getDeferMetrics","isPerfMetricsEnabled","logDuration","getHistogram","delayTime","perfMetricsEnabled","getCounters","clearPerfMetrics","clearDeferMetrics","nowUiFrameworkMetrics","clearMarks","getMarks","addMarkAugmenter","augmenter","getPerformanceCounters","clearPerfomanceCounters","collectMetrics","_options$shouldClear","shouldClear","_options$shouldDisabl","shouldDisable","counters","enableMetrics","ARIA_PREFIX","ATTR_PREFIX","DATA_PREFIX","HOOK_PREFIX","EVENT_PREFIX","MODULES","ACRONYM_PROPS","APPEND_TO_PAYLOAD","BASE_ATTRIBUTES","CUSTOM_ELEMENT_ATTRIBUTES","NON_CUSTOM_ELEMENT_ATTRIBUTES","VNODE","shouldMemoizePropParts","memoizedCamelCase","memoizedIsCustomElement","convertToLoadedEvent","getPropKeyParts","memoizedGetPropKeyParts","recurse","formatChildren","primitive","htmlDomApi","qualifiedName","createComment","referenceNode","nextSibling","setTextContent","getTextContent","isElement","isText","isComment","isUndef","isDef","emptyNode","sameVnode","vnode1","vnode2","createKeyToOldIdx","beginIdx","endIdx","updateClass","oldVnode","oldClass","classModule","reflowForced","setNextFrame","updateStyle","oldStyle","oldHasDel","delayed","name2","styleModule","pre","rm","amount","applied","ev","invokeHandler","updateEventListeners","oldOn","oldListener","oldElm","eventListenersModule","updateAttrs","oldAttrs","setAttributeNS","attributesModule","CAPS_REGEX","updateDataset","oldDataset","datasetModule","checkForAriaAttributes","getRef","updateProps","oldProps","modules","domApi","cbs","post","emptyNodeAt","createRmCb","childElm","createElm","insertedVnodeQueue","hashIdx","dotIdx","dot","ns","_b","addVnodes","parentElm","vnodes","startIdx","invokeDestroyHook","removeVnodes","removeHook","patchVnode","prepatch","oldCh","newCh","oldKeyToIdx","idxInOld","elmToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","updateChildren","_e","postpatch","isVnode","aria","denyUnlessSigned","toVNode","cn","elmAttrs","elmChildren","nodeValue","sign","fixNamespace","childrenCount","helperNoop","addNS","childData","signedH","signingH","reducer","isCustomTag","_memoizedGetPropKeyPa","formatProps","nonAppendProps","validateProps","createSlot","insertChildern","html","createElementFromString","nextEl","isShadowRoot","_element$host","queueMicrotask","_element$host2","boundaryError","trackStats","recordStat","hits","cck","cloneVnode","cacheValue","collectStats","clearStats","_stats$current","usage","toFixed","splitPathMemoized","partLength","indexStartPosition","indexEndPosition","arrayPart","indexLength","here","partsCount","shouldSet","nextNext","pathLength","shouldOmit","entriesLength","isArrayEqual","sourceLength","isObjectEqual","sourceKeys","targetKeys","_options$classes","classes","sourceTag","isObjectTagEqual","isObjectMatches","isArrayMatches","targetTag","isObjectTagMatches","globalValueToBoolean","_window$ux_globals","_window$ux_globals$sy","_window2$ux_globals","_window2$ux_globals$n","_window2$ux_globals$n2","hidden","UNKNOWN_COMPONENT_NAME","incomingComponentName","logDeferTiming","isChromium","_window$navigator","_window$navigator$use","userAgentData","_window$navigator$use2","isIframe","_window3$parent","WorkerGlobalScope","snHttpFactoryConfig","snHttpRequest","FNV_PRIMES","FNV_OFFSETS","isUnicoded","characterCode","unescape","bigInt","_ref$size","fnvPrime","BigInt","asUintN","tempFolderPath","SdlcReporter","testResultsMap","filePath","ensureDirSync","ensureFileSync","tasks","validated","uniqueKey","expect","getState","testPath","currentTestName","readJsonSync","throws","writeJsonSync","realpathSync","sep","workerFiles","readdirSync","allAnnotations","matchedLogs","testResult","uniqueLogs","formattedLog","removeSync","WAIT_FOR_INTERVAL_DEFAULT","WAIT_FOR_TIMEOUT_DEFAULT","WAIT_UNTIL_INTERVAL_DEFAULT","WAIT_UNTIL_TIMEOUT_DEFAULT","STRATEGY","getStrategyFromNode","chai","chaiA11yAxe","setupChaiAxe","use","cssWithMappingToString","needLayer","alreadyImportedModules","needQuotes","compileSchema","SchemaObject","stableStringify","formats","$dataMetaSchema","util","schemaKeyRef","getSchema","schemaObj","_addSchema","_compile","$async","addSchema","_skipValidation","_getId","checkUnique","normalizeId","_schemas","addMetaSchema","skipValidation","throwOrLogError","$schema","_opts","defaultMeta","META_SCHEMA_ID","errorsText","keyRef","_getSchemaObj","_fragments","_getSchemaFragment","removeSchema","_removeAllSchemas","_refs","del","addFormat","format","_formats","dataVar","shouldAddSchema","addUsedSchema","recursiveMeta","willValidate","localRefs","compiling","callValidate","currentOpts","_metaOpts","refs","refVal","_validate","compileAsync","customKeyword","getKeyword","removeKeyword","validateKeyword","errorClasses","ValidationError","Validation","MissingRefError","MissingRef","META_IGNORE_OPTIONS","META_SUPPORT_DATA","setLogger","_loadingSchemas","_compilations","RULES","schemaId","_get$IdOrId","_get$Id","chooseGetId","loopRequired","errorDataPath","_errorDataPathProperty","metaOpts","getMetaSchemaOptions","addInitialFormats","keywords","keyword","addInitialKeywords","$dataSchema","$data","$id","metaSchema","addDefaultMetaSchema","nullable","optsSchemas","schemas","addInitialSchemas","loadSchema","loadMetaSchemaOf","_compileAsync","sch","$ref","missingSchema","added","missingRef","schemaPromise","removePromise","loadMissingSchema","errorSubclass","Subclass","validation","DATE","DAYS","TIME","HOSTNAME","URI","URITEMPLATE","UUID","JSON_POINTER","JSON_POINTER_URI_FRAGMENT","RELATIVE_JSON_POINTER","month","isLeapYear","full","fast","email","ipv4","ipv6","dateTime","DATE_TIME_SEPARATOR","NOT_URI_FRAGMENT","Z_ANCHOR","validateGenerator","ucs2length","equal","checkCompiling","compIndex","endCompiling","patternCode","patterns","toQuotedString","defaultCode","refValCode","customRuleCode","statement","patternsHash","defaultsHash","customRules","compilation","localCompile","cv","sourceCode","_schema","_root","isRoot","schemaPath","errSchemaPath","errorPath","usePattern","useDefault","useCustomRule","processCode","makeValidate","_refVal","refCode","refIndex","resolvedRef","rootRefId","addLocalRef","localSchema","inlineRef","inlineRefs","refId","replaceLocalRef","removeLocalRef","regexStr","valueStr","parentSchema","deps","macro","traverse","resolveSchema","refPath","_getFullPath","getFullPath","resolveRecursive","getJsonPointer","parsedRef","resolveUrl","baseIds","fullPaths","allKeys","jsonPtr","rootSchema","parentJsonPtr","parentKeyword","escapeFragment","PREVENT_SCOPE_CHANGE","toHash","unescapeFragment","SIMPLE_INLINED","checkNoRef","countKeys","TRAILING_SLASH_HASH","ruleModules","ALL","implKeywords","implements","$comment","custom","checkDataType","dataType","strictNumbers","NOT","checkDataTypes","dataTypes","null","integer","coerceToTypes","optionCoerceTypes","COERCE_TO_TYPES","escapeQuotes","varOccurences","varReplace","schemaHasRules","schemaHasRulesExcept","exceptKeyword","schemaUnknownRules","getPathExpr","currentPath","jsonPointers","joinPaths","escapeJsonPointer","lvl","jsonPointer","unescapeJsonPointer","IDENTIFIER","SINGLE_QUOTE","KEYWORDS","keywordsJsonPointers","simpleTypes","statements","not","modifying","$keyword","$ruleType","$schemaValue","$lvl","$dataLvl","dataLevel","$schemaPath","$errSchemaPath","$breakOnError","allErrors","$isData","dataPathArr","$isMax","$exclusiveKeyword","$schemaExcl","$isDataExcl","$op","$notOp","$errorKeyword","$schemaValueExcl","$exclusive","$exclType","$exclIsNumber","$opStr","$opExpr","$$outStack","createErrors","verbose","__err","compositeRule","unicode","$it","$closingBraces","$nextValid","$currentBaseId","$allSchemasEmpty","arr1","$sch","$i","l1","strictKeywords","$valid","$errs","$noEmptySchema","$wasComposite","$idx","$dataNxt","$nextData","$nonEmptySchema","$passData","$code","$compile","$inline","$macro","$ruleValidate","$validateCode","$rule","$definition","$rDef","$validateSchema","$ruleErrs","$ruleErr","$asyncKeyword","passContext","$parentData","$parentDataProperty","def_callRuleValidate","def_customError","$schemaDeps","$propertyDeps","$ownProperties","ownProperties","$property","$deps","$currentErrorPath","$propertyKey","$useData","$prop","$propertyPath","$missingProperty","i2","l2","$vSchema","$unknownFormats","unknownFormats","$allowUnknown","$format","$isObject","$formatType","$formatRef","$thenSch","$elseSch","$thenPresent","$elsePresent","$ifClause","allOf","maxLength","minLength","maxProperties","minProperties","multipleOf","propertyNames","$additionalItems","additionalItems","$currErrSchemaPath","multipleOfPrecision","$allErrorsOption","$prevValid","$passingSchemas","$key","$dataProperties","$schemaKeys","notProto","$pProperties","$pPropertyKeys","$aProperties","$someProperties","$noAdditional","$additionalIsSchema","$removeAdditional","removeAdditional","$checkAdditional","$required","$requiredHash","i1","$pProperty","$additionalProperty","$useDefaults","useDefaults","arr3","i3","l3","$hasDefault","arr4","i4","l4","$invalidName","$refCode","$refVal","$message","missingRefs","__callValidate","$propertySch","$loopRequired","$itemType","$typeIsArray","$method","$refKeywords","$unknownKwd","$keywordsMsg","$top","rootId","strictDefaults","$defaultMsg","$closingBraces1","$closingBraces2","$typeSchema","extendRefs","coerceTypes","$coerceToTypes","$rulesGroup","$shouldUseGroup","$dataType","$coerced","$type","arr5","i5","l5","$shouldUseRule","impl","$ruleImplementsSomeKeyword","definitionSchema","_addRule","ruleGroup","rg","throwError","_validateKeyword","_amb","_interopRequireDefault","_amb2","_amb3","_default","cometd","subscribeOptionsCallback","subscription","subscriptionCallbackResponse","listenerCallbackQueue","LOGGER","idCounter","_initialized","getSubscriptionCommandSender","getServerConnection","getID","listenerSubCallback","getSubscriptionCallback","subscribeToCometD","addErrorMessage","resubscribe","_handleResponse","getStatus","_disconnected","unsubscribeFromCometD","publish","_subscribeToCometD","overLoadedSubscriptionCallBack","subscribeOptions","isEmptyObject","subscribeOptionsWrapper","unsubscribeToChannel","_unsubscribeFromCometD","resubscribeToCometD","getSubscribeOptionsCallback","getChannelListeners","getListenerCallbackQueue","setSubscriptionCallbackResponse","serverConnection","messageCallback","currentChannel","setNewChannel","_metaChannel","_cometd","_onAdvice","advice","clientId","fromChannel","toChannel","_switchToChannel","onSubscriptionCompleted","getClientId","newMetaChannel","removeChannel","CrossClientChannel","_subscriptions","_idCounter","_getSubscriptions","queueBuffer","maxQueueSize","getAvailableSpace","enqueueMultiple","dequeueMultiple","retbuf","getSize","getCapacity","getQueueBuffer","graphQLSubscriptions","isGraphQLChannel","addGraphQLChannel","graphQLSubscription","removeGraphQLChannel","getGraphQLSubscriptions","outgoing","_typeof","callerType","addInfoMessage","addWarnMessage","_amb4","_amb5","_amb6","_amb7","CometD","registerTransport","WEBSOCKET_TYPE_NAME","WebSocketTransport","LongPollingTransport","unregisterTransport","graphQLSubscriptionExtension","registerExtension","sessionExtension","tokenManagementExtension","TOKEN_MANAGEMENT_EXTENSION","isLoggedIn","loginComplete","reestablishSession","reload","getConnectionEvents","getConnectionState","subscriptionConfig","getChannels","extendSession","getTokenManagementExtension","extensionName","extension","unregisterExtension","_encBase","_encUtf","isIE11","MSInputMethodContext","documentMode","wrapClient","client","clientWindow","getClientWindow","wrappedClient","dest","overrideWindow","getRecordWatcherChannel","actionPrefix","g_ambClient","getParentAmbClient","dontShowLogin","clientSubscriptions","buildClientSubscriptions","setLoginWindowEnabled","windowContext","originalSubscribe","originalUnsubscribe","getChannel0","base64EncodedQuery","addSubscription","removeSubscription","unloading","iM","onUnload","destroyContext","buildClient","frameElement","autoConnect","initiatedConnection","setClient","servletPath","loginWindow","wsConnectTimeout","overlayStyle","subscribeCommandsFlow","enable","maxInflight","retries","retryDelay","increaseFactor","_getRequireWildcardCache","newObj","hasPropertyDescriptor","_interopRequireWildcard","_amb8","_amb9","crossClientChannel","disconnecting","eventManager","CONNECTION_INITIALIZED","CONNECTION_OPENED","CONNECTION_CLOSED","CONNECTION_BROKEN","SESSION_LOGGED_IN","SESSION_LOGGED_OUT","SESSION_INVALIDATED","SESSION_REESTABLISHED","sessionStates","addListener","_metaHandshake","_metaConnect","applyAMBProperties","_initializeMetaChannelListeners","sessionStatus","loginWindowEnabled","lastError","errorMessages","loginWindowOverride","ambServerConnection","needToReestablishSession","channelRedirect","SESSION_LOGOUT_OVERLAY_STYLE","GLIDE_SESSION_STATUS","TOUCH_HTTP_SESSION","REESTABLISH_SESSION","getExtension","subscriptionCommandSender","logoutOverlayStyle","getExt","glideAMBSubscribeCommandsFlow","subCommandFlowDefault","defaultVal","_getBooleanMessageExtProperty","_getIntMessageExtProperty","glideAMBRetryDelay","retryDelayDefault","updateTokenCount","applySubscriptionCommandFlowProperties","_connectionInitialized","_getChannel","subscriptionOptionsCallback","_removeChannel","setLogLevel","_resubscribeAll","_unsubscribeAll","_publishEvent","shouldTouchHttpSession","getTransport","getType","_touchHttpSession","newSessionStatus","_processSessionStatus","_sessionStatus","wasConnected","_connectionOpened","getLastError","getErrorMessages","UNKNOWN_CLIENT","setLastError","_sendSessionSetupRequest","_onChannelRedirectSubscriptionComplete","_setupSession","isSessionInvalidated","isLoggedOut","isReestablished","loginHide","loginShow","getURL","connectTimeout","handshake","_reestablishSession","ambServletPath","unsubscribeAll","resubscribeAll","isSessionActive","getChannelRedirect","getLoginWindowOverlayStyle","modalContent","modalTemplate","dialog","GlideModal","renderWithContent","setBody","render","isLoginWindowEnabled","enableLoginWindow","isLoginWindowOverride","_buildSetUpSessionRequest","commandQueue","tokenManager","CommandModes","maxTimeInterval","addTokenAvailabilityListener","processQueue","stopping","timerObject","_clamp","minLimit","maxLimit","isBucketFull","getTokenCount","restartTimer","force","timeInterval","stopTimer","refillTokens","getRetryDelay","scheduleRetry","triesLeft","retryMessage","newRetryDelay","getNewRetryDelay","enqueueSubscribe","enqueueUnsubscribe","onResponse","isRejected","isRetriable","addItemToQueue","numberToProcess","isStopping","getQueue","isBucketEmpty","getTimerObject","getTokenCountFromTokenManager","tokenCount","tokenEventListeners","isMetaSubUnsubChannel","notifyOnAvailabilityOfToken","isMetaHandshake","supportsSubscribeCommandFlow","incoming","receivedByGlide","isReceivedByGlideAndMetaSubUnsubChannel","tokenEventListener","removeTokenAvailabilityListener","removeIndex","EventManager","ServerConnection","ChannelRedirect","ChannelListener","Channel","MessageClient","_defineProperties","protoProps","staticProps","hint","prim","toPrimitive","isDeepEqual","isDeepStrictEqual","_require$codes","codes","ERR_AMBIGUOUS_ARGUMENT","ERR_INVALID_ARG_TYPE","ERR_INVALID_ARG_VALUE","ERR_INVALID_RETURN_VALUE","ERR_MISSING_ARGS","AssertionError","_require$types","isPromise","isRegExp","objectAssign","objectIs","RegExpPrototypeTest","lazyLoadComparison","comparison","warned","NO_EXCEPTION_SENTINEL","innerFail","innerOk","argLen","generatedMessage","expected","stackStartFn","internalMessage","argsLen","emitWarning","errArgs","notEqual","deepEqual","notDeepEqual","deepStrictEqual","notDeepStrictEqual","strictEqual","notStrictEqual","Comparison","expectedException","compareExceptionKey","isPrototypeOf","getActual","checkIsPromise","waitForActual","promiseFn","resultPromise","expectsError","fnType","expectsNoError","internalMatch","fnName","rejects","doesNotThrow","doesNotReject","ifError","newErr","origStack","tmp2","tmp1","doesNotMatch","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","Class","_getPrototypeOf","_setPrototypeOf","Parent","_isNativeReflectConstruct","sham","this_len","red","white","kReadableOperator","strictEqualObject","notStrictEqualObject","notIdentical","copyError","inspectValue","customInspect","maxArrayLength","showHidden","breakLength","showProxy","getters","createErrDiff","lastPos","skipped","actualInspected","actualLines","expectedLines","indicator","inputLength","stderr","isTTY","maxCount","maxLines","_actualLines","printedLines","skippedMsg","expectedLine","actualLine","divergingLines","_inspect$custom","subClass","superClass","Derived","hasNativeReflectConstruct","_super","Super","NewTarget","stackTraceLimit","getColorDepth","_res","knownOperators","recurseTimes","_createSuper","createErrorType","NodeError","_Base","arg2","arg3","determiner","inspected","_arrayWithHoles","_iterableToArrayLimit","minLen","_unsupportedIterableToArray","_nonIterableRest","regexFlagsSupported","arrayFromSet","arrayFromMap","objectGetOwnPropertySymbols","numberIsNaN","uncurryThis","isAnyArrayBuffer","isArrayBufferView","isDate","isNativeError","isBoxedPrimitive","isNumberObject","isStringObject","isBooleanObject","isBigIntObject","isSymbolObject","isFloat32Array","isFloat64Array","isNonIndex","getOwnNonIndexProperties","innerDeepEqual","memos","buf1","buf2","val1Tag","keys1","keys2","keyCheck","areSimilarTypedArrays","areSimilarFloatArrays","_keys2","isEqualBoxedPrimitive","getEnumerables","iterationType","aKeys","bKeys","symbolKeysA","symbolKeysB","_symbolKeysB","val2MemoA","val2MemoB","areEq","memo","aValues","setMightHaveLoosePrim","bValues","_val","setHasEqualElement","setEquiv","aEntries","_aEntries$i","item1","item2","mapMightHaveLoosePrim","bEntries","_bEntries$_i","mapHasEqualEntry","mapEquiv","keysA","objEquiv","findLooseMatchingPrimitives","altValue","curB","key1","key2","excludes","excludeProps","_props","ssf","showDiff","getAllProperties","te","axe","I","L","z","V","$","H","Z","J","re","De","ne","oe","ue","ae","le","Ee","se","xe","ce","pe","de","fe","he","me","ve","ge","be","ye","we","Ae","Fe","ke","Re","Ne","Te","Oe","Se","Me","Ce","Pe","qe","Be","Ge","Ve","$e","Ie","Le","ze","je","He","_state","runOnLoop","runOnContext","_label","_onerror","N","_subscribers","_enumerate","_eachEntry","_instanceConstructor","_settledAt","_remaining","M","_willSettleAt","_setScheduler","_setAsap","_asap","polyfill","Ue","HasProperty","HasOwnProperty","IsCallable","ToInt32","ToUint32","_getter","_setter","_bytes","ee","BYTES_PER_ELEMENT","_pack","_unpack","__defineGetter__","__defineSetter__","getUint8","getInt8","getUint16","getInt16","getUint32","getInt32","getFloat32","getFloat64","setUint8","setInt8","setUint16","setInt16","setUint32","setInt32","setFloat32","setFloat64","We","Ye","Ke","Xe","Ze","Je","Qe","et","tt","nt","at","ot","ut","st","ct","dt","pt","ft","mt","ht","Deno","gt","vt","bt","yt","wt","Dt","xt","Et","At","Ft","license","Ct","kt","Rt","Nt","Tt","withoutSetter","Ot","St","Mt","Pt","It","NATIVE","POLYFILL","Bt","jt","Lt","qt","zt","Vt","forced","dontCallGetSet","real","Gt","$t","Ht","Ut","Wt","Yt","Kt","trunc","Xt","Zt","Jt","Qt","er","tr","rr","nr","ar","or","ir","lr","ur","sr","cr","dr","pr","fr","codeAt","mr","facade","enforce","getterFor","gr","EXISTS","PROPER","CONFIGURABLE","vr","br","parentWindow","wr","Dr","BUGGY_SAFARI_ITERATORS","xr","Er","Ar","Fr","Cr","kr","Rr","Nr","Tr","Or","Sr","_r","Mr","Pr","Ir","inspectSource","Br","jr","Lr","qr","zr","Vr","Gr","$r","Hr","Ur","Wr","Yr","Kr","isIdentStart","isIdent","isHex","escapeIdentifier","identSpecialChars","escapeStr","strReplacementsRev","singleQuoteEscapeChars","doubleQuotesEscapeChars","Xr","parseCssSelector","selectors","nestingOperator","classNames","pseudos","Zr","renderEntity","Jr","attrEqualityMods","ruleNestingOperators","substitutesEnabled","registerSelectorPseudos","unregisterSelectorPseudos","registerNumericPseudos","unregisterNumericPseudos","registerNestingOperators","unregisterNestingOperators","registerAttrEqualityMods","unregisterAttrEqualityMods","enableSubstitutes","disableSubstitutes","CssSelectorParser","Qr","templateSettings","interpolate","useParams","defineParams","varname","strip","selfcontained","doNotSkipEncoded","__magic__","encodeHTMLSource","startencode","__exp","_encodeHTML","en","tn","rn","nn","an","ln","sn","dn","pn","mn","hn","bar","trzy","gn","vn","bn","yn","wn","Dn","xn","En","An","Fn","Cn","kn","Rn","Nn","Tn","On","Sn","Mn","__ee__","__eeOnceListener__","Pn","In","Bn","__global__","jn","Ln","qn","zn","Vn","Gn","hasInstance","isConcatSpreadable","unscopables","$n","Hn","__description__","__name__","Un","Wn","Yn","Kn","Xn","Zn","Jn","Qn","ea","normalizer","updateEnv","__memoized__","ra","__profiler__","na","aa","oa","ia","la","sa","ca","da","pa","fa","ma","ha","ga","va","ya","wa","Da","xa","Ea","dispose","Aa","Fa","Ca","maxAge","unref","preFetch","ka","Ra","Na","refCounter","deleteRef","getRefCount","Ta","Oa","helpUrlBase","gridSize","selectorSimilarFilterLimit","resultGroups","resultGroupMap","impact","preload","allOrigins","sameOrigin","serializableErrorProps","Sa","Ma","Pa","DqElement","tu","RuleError","If","aggregate","aggregateChecks","za","aggregateNodeResults","Ga","aggregateResult","Ha","areStylesSet","Ua","checkHelper","ru","nu","fu","collectResultsFromFrames","ls","us","convertSelector","du","cssParser","au","deepMerge","escapeSelector","extendMetaData","cs","filterHtmlAttrs","Of","finalizeRuleResult","Va","findBy","getAllChecks","getAncestry","Yl","getBaseLang","xp","getCheckMessage","Op","getCheckOption","Sp","getElementSource","Zl","getEnvironmentData","_p","getFlattenedTree","getFrameContexts","Lp","getFriendlyUriEnd","Za","getNodeAttributes","Ja","getNodeFromTree","getPreloadConfig","Ff","getRule","qp","getScroll","Vp","getScrollState","Gp","getSelector","Hl","getSelectorData","zl","getShadowSelector","Sl","getStandards","$p","getStyleSheetFactory","Up","getXpath","Kl","injectStyle","Wp","Yp","isContextObject","Zp","isContextProp","Jp","isContextSpec","Xp","tf","isHtmlElement","rf","isLabelledFramesSelector","Qp","isLabelledShadowDomSelector","ef","isNodeInContext","nf","ps","isValidLang","Gf","isXHTML","Ol","matchAncestry","ou","matchesExpression","pu","matchesSelector","Qa","mergeResults","nodeLookup","nodeSerializer","nodeSorter","lf","objectHasOwn","Kp","parseCrossOriginStylesheet","parseSameOriginStylesheet","cf","parseStylesheet","df","parseTabindex","ff","performanceTimer","pollyfillElementsFromPoint","hf","Ef","preloadCssom","yf","preloadMedia","xf","Tp","publishMetaData","Cf","Rf","querySelectorAllFilter","bf","yu","respondable","Ku","ruleShouldRun","Tf","sendCommandToFrame","Zu","serializeError","Mf","setScrollState","Bf","shadowSelect","jf","shadowSelectAll","Lf","shouldPreload","Af","Wa","tokenList","dp","uniqueArray","gf","Ou","validInputTypes","qf","validLangs","Vf","Ia","CANTTELL_PRIO","Ba","FAIL_PRIO","ja","La","PASS_PRIO","qa","none","_audit","FAIL_GROUP","CANTTELL_GROUP","$a","NA","NA_GROUP","Ya","Ka","Xa","currentDomain","NamedNodeMap","eo","ArrayFrom","Tl","Colorjs","doT","ro","emojiRegexText","no","ao","ownerDocument","compareDocumentPosition","DOCUMENT_POSITION_DISCONNECTED","oo","io","uo","alpha","rawName","so","co","po","fo","mo","range","toPrecision","parseFunction","interpolateInv","mapRange","parseCoordGrammar","multiplyMatrices","ho","go","gamut_mapping","deltaE","vo","D50","D65","bo","yo","W1","W2","XYZ","wo","fromBase","toBase","cssId","functions","referred","xo","epsilon","isPolar","inGamut","Do","refRange","coordId","coordGrammar","fromRange","toRange","serializeCoords","Eo","Ao","toXYZ_M","fromXYZ_M","Fo","getFormat","spaceId","lastAlpha","Co","ko","resolveCoord","Ro","No","To","Oo","So","cbrt","lab","_o","Mo","atan2","PI","cos","sin","lch","Po","Io","Bo","jo","Lo","kL","kC","kH","zo","Vo","Go","$o","Ho","DEFAULT_FORMAT","toGamut","noAlpha","commas","returns","Uo","Wo","Yo","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","whitesmoke","yellow","yellowgreen","Ko","rgb_number","rgba","rgba_number","collapse","display_space","Xo","Zo","Jo","Qo","getMinCoords","ei","ri","getLuminance","setLuminance","oi","ii","li","ui","si","ci","di","contrastWCAG21","contrastAPCA","contrastMichelson","contrastWeber","contrastLstar","contrastDeltaPhi","SQRT2","pi","fi","mi","uv","xy","gi","vi","bi","yi","wi","Di","xi","Ei","Ai","Fi","Ci","ki","Ri","Ni","jz","az","bz","Ti","cz","hz","Oi","Si","Mi","Pi","Ii","Bi","ji","Li","qi","zi","oklab","Vi","deltaE76","deltaECMC","deltaE2000","deltaEJz","deltaEITP","deltaEOK","Gi","lighten","darken","Hi","Wi","outputSpace","premultiplied","Ui","Yi","rangeArgs","colors","maxDeltaE","deltaEMethod","steps","maxSteps","progression","interpolationSpace","Ki","mix","isRange","defineFunction","Xi","hsla","Zi","Ji","hwb","Qi","tl","rl","nl","oklch","al","ol","il","ll","ul","sl","cl","dl","pl","fl","ml","hl","gl","cssid","vl","bl","yl","toCone_M","fromCone_M","D55","D75","F2","F7","F11","ACES","wl","Dl","El","log2","Al","XYZ_D65","XYZ_D50","XYZ_ABS_D65","Lab_D65","Lab","LCH","sRGB_Linear","sRGB","HSL","HWB","HSV","P3_Linear","A98RGB_Linear","A98RGB","ProPhoto_Linear","ProPhoto","REC_2020_Linear","REC_2020","OKLab","OKLCH","Jzazbz","JzCzHz","ICTCP","REC_2100_PQ","REC_2100_HLG","ACEScg","ACEScc","defineFunctions","setAll","distance","WHITES","Space","spaces","Fl","Cl","kl","Rl","Nl","contrast","algorithm","_memoizedFns","Ml","Pl","Il","Bl","jl","Ll","ql","actualNode","hasAttributes","Vl","Gl","$l","_selectorData","toRoot","Ul","Wl","previousSibling","Xl","attrLimit","Jl","outerHTML","XMLSerializer","serializeToString","Ql","eu","_virtualNode","_element","fromFrame","_includeElementInJson","absolutePaths","nodeIndexes","nodeIndex","noHtml","ancestry","xpath","mergeSpecs","setRunOptions","relatedNodes","HTMLCollection","iu","hasClass","expressions","lu","uu","su","cu","combinator","mu","hu","gu","vu","bu","wu","msCrypto","Du","xu","Eu","Au","Fu","Cu","ku","Ru","Nu","clockseq","msecs","nsecs","Tu","rng","v1","unparse","BufferClass","_uuid","Su","Mu","Pu","Bu","Iu","ju","Lu","qu","zu","messageId","keepalive","allowedOrigins","replyHandler","sendToParent","Vu","Gu","_u","$u","Hu","Uu","Wu","updateMessenger","Yu","Xu","pingWaitTime","Ju","Qu","frameWaitTime","_tree","isInFrame","es","toSpec","dqElmToSpec","mapRawResults","mapRawNodeResults","frameSpec","frames","parameter","shadowId","ds","createGrid","pc","findElmsInContext","hs","findNearbyElms","wc","findUp","vs","findUpVirtual","focusDisabled","Cc","getComposedParent","getElementByReference","Tc","getElementCoordinates","Ls","getElementStack","Mc","getModalDialog","Dc","getNodeGrid","yc","getOverflowHiddenAncestors","ws","getScrollOffset","js","getTabbableElements","Pc","getTargetRects","jc","getTargetSize","Lc","getTextElementStack","yd","getViewportSize","getVisibleChildTextRects","vd","hasContent","Fd","hasContentVirtual","Ad","hasLangText","Cd","idrefs","zc","insertedIntoFocusOrder","kd","isCurrentPageLink","Nc","isFixedPosition","zs","isHTML5","Od","isHiddenForEveryone","Ps","isHiddenWithCSS","Td","isInTabOrder","Bc","isInTextBlock","Pd","isInert","xc","Bd","isMultiline","jd","isNativelyFocusable","Ic","Ld","isOffscreen","$s","isOpaque","Yd","isSkipLink","Kd","isVisibleOnScreen","Us","isVisibleToScreenReaders","isVisualContent","Dd","reduceToElementsBelowFloating","tp","shadowElementsFromPoint","ap","urlPropsFromAttribute","visuallyContains","rp","visuallyOverlaps","ip","visuallySort","Oc","ys","getComputedStylePropertyValue","Ds","Es","As","Fs","isAncestor","Cs","ks","Rs","Ns","Ts","boundingClientRect","Os","Ss","hasAttr","Ms","skipAncestors","Is","Bs","Vs","Gs","Hs","Ws","Ys","Ks","Xs","Zs","Js","DOMPoint","getBoundingRect","getIntersectionRect","getOffset","tc","getRectCenter","hasVisualOverlap","nc","isPointInRect","rectHasMinimumSize","ec","rectsOverlap","splitRects","ac","Qs","hypot","oc","ic","lc","sc","cc","dc","_stackingOrder","hc","vc","_subGrid","createTreeWalker","NodeFilter","SHOW_ELEMENT","nextNode","currentNode","VirtualNode","fc","stackLevel","mc","_scrollRegionParent","treeOrder","clientRects","_grid","getGridPositionOfRect","loopGridPosition","boundaries","toGridIndex","_negativeIndex","row","elementsFromPoint","Ec","Ac","Fc","_inDisabledFieldset","kc","Rc","getElementsByName","DOCUMENT_POSITION_FOLLOWING","DOCUMENT_POSITION_CONTAINS","DOCUMENT_POSITION_CONTAINED_BY","Sc","_isFloated","getCellFromPoint","qc","accessibleText","Vc","accessibleTextVirtual","sd","formControlValue","H1","formControlValueMethods","G1","hasUnicode","ad","isHumanInterpretable","ud","isIconLigature","od","isValidAutocomplete","cd","labelText","Y1","labelVirtual","nativeElementType","hd","nativeTextAlternative","Q1","nativeTextMethods","J1","removeUnicode","ld","subtreeText","titleText","R1","unsupported","O1","visible","visibleTextNodes","gd","visibleVirtual","_1","Gc","inLabelledByContext","inControlContext","startNode","$c","Hc","allowEmpty","minValue","Uc","allowedAttrs","superclassRole","alertdialog","accessibleNameRequired","article","banner","blockquote","nameFromContent","childrenPresentational","caption","requiredContext","prohibitedAttrs","cell","requiredAttrs","columnheader","combobox","complementary","composite","contentinfo","deletion","emphasis","feed","requiredOwned","figure","form","grid","gridcell","img","insertion","listitem","main","marquee","math","menu","menubar","menuitem","menuitemcheckbox","menuitemradio","meter","navigation","note","paragraph","presentation","radiogroup","region","roletype","rowgroup","rowheader","scrollbar","searchbox","section","sectionhead","slider","spinbutton","strong","structure","subscript","superscript","switch","suggestion","tablist","tabpanel","textbox","toolbar","treegrid","treeitem","widget","Wc","contentTypes","allowedRoles","namingMethods","abbr","area","aside","audio","controls","chromiumRole","noAriaAttrs","bdi","bdo","allowedAriaAttrs","canvas","cite","colgroup","datalist","implicitAttrs","dd","dfn","embed","fieldset","figcaption","h1","h2","h3","h4","h5","h6","hgroup","nonEmptyAlt","hasAccessibleName","usemap","buttonType","checkboxPressed","noRoles","textWithList","ins","kbd","legend","itemprop","nav","noscript","optgroup","param","picture","ruby","samp","script","small","summary","sup","tbody","tfoot","thead","td","th","var","video","wbr","ariaAttrs","ariaRoles","htmlElms","cssColors","Yc","Kc","Xc","allowAbstract","flagUnsupported","abstracts","dpub","Zc","Jc","Qc","colSpan","rowspan","rowSpan","e1","t1","n1","a1","o1","checkTitle","u1","s1","d1","p1","f1","m1","E1","g1","b1","explicitRole","implicitRole","semanticRole","y1","w1","D1","fromDefinition","fromFunction","fromPrimative","x1","noMatchAccessibleName","A1","C1","noPresentational","noImplicit","F1","k1","N1","T1","utils","accessibleNameFromFieldValue","S1","M1","I1","B1","j1","L1","z1","nativeTextboxValue","nativeSelectValue","ariaTextboxValue","ariaListboxValue","ariaComboboxValue","ariaRangeValue","U1","alreadyProcessed","subtreeDescendant","K1","submit","reset","X1","Z1","valueText","buttonDefaultText","tableCaptionText","figureText","svgTitleText","fieldsetLegendText","altText","tableSummaryText","singleSpace","placeholderText","emoji","nonBmp","punctuations","willReadFrequently","occurrences","numLigatures","textAlign","textBaseline","fillText","getImageData","clearRect","includeHidden","ignoreIconLigature","pixelThreshold","occurrenceThreshold","occuranceThreshold","processed","stateTerms","standaloneTerms","qualifiers","qualifiedTerms","looseTyped","ignoredValues","createRange","selectNodeContents","getClientRects","bd","wd","commons","getExplicitRole","xd","Ed","Rd","_isHiddenWithCSS","Nd","doctype","publicId","systemId","Sd","getRole","Md","noLengthCompare","includeInlineBlock","Id","float","modalPercent","setStart","setEnd","qd","zd","Vd","Gd","$d","Ud","Prototype","parseString","getLuminosity","Hd","Wd","Xd","Zd","Jd","Qd","DOCUMENT_NODE","DOCUMENT_FRAGMENT_NODE","np","HTMLHtmlElement","ownerSVGElement","filename","HTMLBodyElement","lp","_isHidden","_isXHTML","_type","sp","attrNames","tabbableElements","pp","fp","_selectorMap","mp","hp","isComplexSelector","gp","vp","Dp","_hasShadowRoot","yp","wp","getDistributedNodes","TEXT_NODE","Ep","failureSummaries","failureMessage","Ap","incompleteFallbackMessage","Fp","Cp","resultTypes","kp","pageLevel","Rp","Np","singular","plural","messageKey","checks","testEngine","testRunner","testEnvironment","msOrientation","mozOrientation","angle","orientationAngle","orientationType","Mp","focusable","initiator","Pp","Ip","fromFrames","fromShadowDom","Bp","flatTree","jp","iframes","frameSelector","frameContext","zp","Hp","isCrossOrigin","isLink","styleSheet","cssText","af","uf","sf","convertDataToStylesheet","mf","logMeasures","clearMark","auditStart","auditEnd","getEntriesByName","timeElapsed","msElementsFromPoint","elementFromPoint","getPropertyPriority","vf","vNodes","vNodesIndex","anyLevel","thisLevel","parentShadowId","treeRoot","implementation","createHTMLDocument","wf","Df","mediaText","rootIndex","networkState","NETWORK_LOADING","cssom","kf","reviewOnFail","incomplete","missingData","Nf","tagExclude","runOnly","Sf","_selectCache","Pf","ruleId","errorNode","Q","zf","$f","_attrs","Wf","Uf","Hf","Yf","Kf","Xf","Zf","Jf","nm","getAllCells","getCellPosition","getHeaders","om","getScope","isColumnHeader","isDataCell","im","isDataTable","lm","isHeader","um","isRowHeader","toGrid","am","tHead","tFoot","cm","dm","allowedAttr","arialabelText","arialabelledbyText","getAccessibleRefs","fm","getElementUnallowedRoles","vm","getImplicitRole","getOwnedVirtual","getRoleType","getRolesByType","ym","getRolesWithNameFromContents","Em","implicitNodes","Fm","isAccessibleRef","Cm","isAriaRoleAllowedOnElement","mm","isComboboxPopup","km","isUnsupportedRole","isValidRole","Nm","lookupTable","Am","namedFromContents","requiredAttr","Tm","Om","Sm","validateAttr","Mm","validateAttrValue","_m","pm","hm","gm","bm","wm","Dm","xm","unstandardized","globalAttributes","allowed","owned","nameFrom","allowedElements","implicit","one","namefrom","implicitHtmlRole","elementsAllowedNoRole","AbstractVirtualNode","elementsAllowedAnyRole","evaluateRoleForElement","AREA","BUTTON","IMG","INPUT","LI","MENU","OPTION","SELECT","SVG","rolesOfType","popupRoles","Rm","Im","Bm","jm","Lm","qm","$m","Ym","getAriaRolesByType","getAriaRolesSupportingNameFromContent","getElementSpec","getElementsByContentType","getGlobalAriaAttrs","implicitHtmlRoles","lh","dh","isItalic","ph","weight","italic","mh","hh","vh","dom","forms","Yh","standards","bh","Color","centerPointOfRect","elementHasImage","elementIsDistinct","wh","filteredRectStack","xh","flattenColors","Fh","flattenShadowColors","kh","getBackgroundColor","Vh","getBackgroundStack","Rh","getContrast","Hh","getForegroundColor","Uh","getOwnBackgroundColor","getRectStack","Dh","getStackingContext","Bh","getStrokeColorsFromShadows","getTextShadowColors","Ih","hasValidContrastRatio","Wh","incompleteData","parseTextShadows","Ph","stackingContextToColor","jh","yh","Eh","Ah","normal","multiply","overlay","exclusion","setSaturation","getSaturation","setLuminosity","saturation","luminosity","Ch","Nh","Th","Oh","Sh","ignoreEdgeCount","colorStr","sides","edgeCount","Mh","minRatio","maxRatio","blurRadius","_stackingContext","zh","bgColor","Lh","qh","blendMode","bgElms","Gh","$h","getRelativeLuminance","textStrokeEmMin","contrastRatio","expectedContrastRatio","Kh","isAriaCombobox","isAriaListbox","isAriaRange","isAriaTextbox","isDisabled","Xh","isNativeSelect","isNativeTextbox","_isDisabled","eg","headingOrder","tg","ng","ag","og","ig","hg","vChild","yg","Fg","Mg","Jg","Qg","e0","r0","a0","o0","i0","ARTICLE","ASIDE","NAV","SECTION","l0","y0","D0","x0","F0","invalidTableRowAttrs","invalidAttrs","ownerRole","C0","checkState","k0","S0","_0","M0","I0","B0","j0","L0","allowImplicit","ignoredTags","elementsAllowedAriaLabel","prohibited","reviewEmpty","ownGroupRoles","supportedRoles","exceptions","needsReview","bday","tel","photo","impp","ignoreUnicode","ignoreLength","ignorePseudo","boldValue","boldTextPt","largeTextPt","shadowOutlineEmMax","pseudoSizeThreshold","large","minThreshold","maxThreshold","fgColor","toHexString","shadowColor","colorParse","degreeThreshold","webkitTransform","msTransform","rotate","asin","acos","parentSelector","explicitLabel","onfocus","isViolation","passForModal","urlProps","implicitLabel","cssProperty","absoluteValues","maxValue","normalValue","multiLineOnly","noImportant","divGroups","validRoles","validNodeNames","requiredContrastRatio","allowSameColor","nodeBackgroundColor","parentBackgroundColor","nodeColor","parentColor","minDelay","maxDelay","redirectDelay","scaleMinimum","lowerBound","allowedDuration","currentSrc","badNodes","hasNonEmptyTextNode","roles","margins","passLength","failLength","nativeScopeFilter","chromiumRoles","regionMatcher","sh","_hasRegionDescendant","uh","minOffset","closestOffset","minSize","fullyObscuringElms","partialObscuringElms","defaultView","q0","z0","V0","G0","getOptions","runSync","_internalCheck","$0","H0","U0","excludeHidden","actIds","W0","gather","runChecks","runChecksSync","_trackPerformance","gatherAndMatchNodes","_logGatherPerformance","_logRulePerformance","_markStart","_markEnd","_markChecksStart","_markChecksEnd","filtered","Y0","K0","lang","_defaultLocale","help","applyLocale","J0","Q0","_setDefaultLocale","_applyCheckLocale","_applyRuleLocale","_applyFailureSummaries","X0","reporter","Z0","_constructHelpUrls","normalizeOptions","later","rv","nv","helpUrl","av","_resetLocale","CANTTELL","ov","iv","lv","sv","_run","_collect","collect","registerCommand","pv","fv","wv","Audit","CheckResult","Check","Context","RuleResult","Rule","metadataFunctionMap","reporters","failureSummary","processAggregate","setDefaultFrameMessenger","cacheNodeSelectors","getNodesMatchingExpression","nativelyHidden","displayHidden","visibilityHidden","contentVisibiltyHidden","opacityHidden","scrollHidden","overflowHidden","clipHidden","areaHidden","detailsHidden","_thisWillBeDeletedDoNotUse","SerialVirtualNode","axeVersion","ver","addCheck","addRule","disableOtherRules","branding","setBranding","setAllowedOrigins","frameMessenger","getRules","_load","registerPlugin","hasReporter","getReporter","addReporter","resetRulesAndChecks","_runRules","runVirtualRule","violations","toolOptions","thenable","_running","setup","teardown","runPartial","environmentData","finishRun","raw","accesskeys","blink","bypass","dlitem","abstractrole","rowSingular","rowPlural","hasRolePlural","hasRoleSingular","noRolePlural","noRoleSingular","unallowed","noId","noIdShadow","ariaCurrent","controlsWithinPopup","noRoleDescription","emptyRoleDescription","deprecatedrole","fallbackrole","invalidrole","unsupportedrole","fgOnShadowColor","shadowOnBgColor","bgImage","bgGradient","imgNode","bgOverlap","fgAlpha","elmPartiallyObscured","elmPartiallyObscuring","outsideViewport","equalRatio","shortTextContent","pseudoContent","complexTextShadows","fgContrast","bgContrast","notHidden","noXHTML","noLang","roleNotValid","nonTabbableNeighbor","tooManyRects","obscured","partiallyObscured","contentOverflow","partiallyObscuredNonTabbable","exists","noAttr","emptyAttr","globalAria","both","noTitle","validTreeRowAttrs","InvalidCharacterError","TABLE","REGEX_SPACE_CHARACTERS","bitStorage","bitCounter","safeAdd","lsw","md5cmn","cnt","md5ff","md5gg","md5hh","md5ii","binlMD5","olda","oldb","oldc","oldd","binl2rstr","length32","rstr2binl","length8","rstr2hex","hexTab","str2rstrUTF8","rawMD5","rstrMD5","rawHMACMD5","bkey","ipad","opad","rstrHMACMD5","hexHMACMD5","Zstream","zlib_deflate","zlib_inflate","DEFLATE","INFLATE","GZIP","GUNZIP","DEFLATERAW","INFLATERAW","UNZIP","Zlib","dictionary","init_done","memLevel","strategy","windowBits","write_in_progress","pending_close","gzip_id_bytes_read","deflateEnd","strm","inflateEnd","in_off","in_len","out_off","out_len","_write","Z_NO_FLUSH","Z_PARTIAL_FLUSH","Z_SYNC_FLUSH","Z_FULL_FLUSH","Z_FINISH","Z_BLOCK","avail_in","next_in","avail_out","next_out","_process","_checkError","_afterSync","_after","next_expected_header_byte","deflate","inflate","Z_NEED_DICT","inflateSetDictionary","Z_OK","Z_DATA_ERROR","Z_STREAM_END","Z_BUF_ERROR","_error","Z_FILTERED","Z_HUFFMAN_ONLY","Z_RLE","Z_FIXED","Z_DEFAULT_STRATEGY","_setDictionary","_reset","deflateInit2","Z_DEFLATED","inflateInit2","deflateSetDictionary","deflateReset","inflateReset","Transform","kRangeErrorMessage","Z_MIN_WINDOWBITS","Z_MAX_WINDOWBITS","Z_DEFAULT_WINDOWBITS","Z_MIN_CHUNK","Z_MAX_CHUNK","Z_DEFAULT_CHUNK","Z_MIN_MEMLEVEL","Z_MAX_MEMLEVEL","Z_DEFAULT_MEMLEVEL","Z_MIN_LEVEL","Z_MAX_LEVEL","Z_DEFAULT_LEVEL","Z_DEFAULT_COMPRESSION","bkeys","bk","Z_ERRNO","Z_STREAM_ERROR","Z_MEM_ERROR","Z_VERSION_ERROR","ckeys","ck","ckey","zlibBuffer","buffers","nread","flow","onEnd","removeListener","zlibBufferSync","flushFlag","_finishFlushFlag","_processChunk","Deflate","Inflate","Gzip","Gunzip","DeflateRaw","InflateRaw","Unzip","isValidFlushFlag","_chunkSize","finishFlush","_flushFlag","_handle","_hadError","errno","_close","_level","_strategy","emitCloseNT","createDeflate","createInflate","createDeflateRaw","createInflateRaw","createGzip","createGunzip","createUnzip","deflateSync","gzip","gzipSync","deflateRaw","deflateRawSync","unzip","unzipSync","inflateSync","gunzip","gunzipSync","inflateRaw","inflateRawSync","_transform","_writableState","ended","ending","needDrain","availInBefore","availOutBefore","inOff","availInAfter","availOutAfter","have","newReq","customInspectSymbol","K_MAX_LENGTH","arrayView","isInstance","fromArrayView","SharedArrayBuffer","mustMatch","toLocaleString","hexSliceLookupTable","readUintLE","readUintBE","readUint8","readUint16LE","readUint16BE","readUint32LE","readUint32BE","writeUintLE","writeUintBE","writeUint8","writeUint16LE","writeUint16BE","writeUint32LE","writeUint32BE","copyWithin","alphabet","i16","$apply","$call","$reflectApply","actualApply","$TypeError","$actualApply","GetIntrinsic","callBind","$indexOf","allowMissing","intrinsic","setFunctionLength","callBindBasic","applyBind","originalFunction","adjustedLength","used","assertion","should","_chai","Assertion","ssfi","lockSsfi","eql","proxify","includeStack","addProperty","addMethod","addChainableMethod","chainingBehavior","overwriteProperty","overwriteMethod","overwriteChainableMethod","negateMsg","_actual","assertionErrorObjectProperties","getOperator","truncateThreshold","proxyExcludedKeys","SameValueZero","includeChainingBehavior","objType","flagMsg","isEql","firstErr","numErrs","propAssertion","transferFlags","checkError","compatibleConstructor","assertExist","checkArguments","assertEqual","prevLockSsfi","_obj","assertEql","assertAbove","doLength","msgPrefix","nType","shouldThrow","assertLeast","assertBelow","assertMost","assertInstanceOf","isInstanceOf","assertProperty","isNested","nameType","hasProperty","pathInfo","getPathInfo","assertOwnProperty","assertOwnPropertyDescriptor","actualDescriptor","assertLengthChain","assertLength","assertMatch","assertKeys","keysType","deepStr","mixedArgsMsg","getOwnEnumerableProperties","expectedKey","actualKey","compareByInspect","assertThrows","errorLike","errMsgMatcher","caughtErr","everyArgIsUndefined","everyArgIsDefined","errorLikeFail","errMsgMatcherFail","errorLikeString","getConstructorName","compatibleInstance","compatibleMessage","respondTo","itself","satisfy","objDisplay","closeTo","assertChanges","subject","final","msgObj","assertIncreases","assertDecreases","startType","finishType","subset","failMsg","failNegateMsg","cmp","superset","matchIdx","elem2","isSubsetOf","possibility","expression","realDelta","isSealed","express","errmsg","isOk","isNotOk","act","isAbove","abv","above","isAtLeast","atlst","least","isBelow","blw","below","isAtMost","atmst","most","isTrue","isNotTrue","isFalse","isNotFalse","isNotNull","isNotNaN","exist","notExists","isDefined","isNotFunction","isNotObject","isNotArray","isNotString","isNotNumber","finite","isNotBoolean","notTypeOf","notInstanceOf","inc","notInclude","deepInclude","notDeepInclude","nestedInclude","notNestedInclude","deepNestedInclude","notDeepNestedInclude","ownInclude","notOwnInclude","deepOwnInclude","notDeepOwnInclude","notMatch","notProperty","propertyVal","notPropertyVal","deepPropertyVal","notDeepPropertyVal","ownProperty","notOwnProperty","ownPropertyVal","notOwnPropertyVal","deepOwnPropertyVal","notDeepOwnPropertyVal","nestedProperty","notNestedProperty","nestedPropertyVal","notNestedPropertyVal","deepNestedPropertyVal","notDeepNestedPropertyVal","lengthOf","hasAnyKeys","hasAllKeys","containsAllKeys","contain","doesNotHaveAnyKeys","doesNotHaveAllKeys","hasAnyDeepKeys","hasAllDeepKeys","containsAllDeepKeys","doesNotHaveAnyDeepKeys","doesNotHaveAllDeepKeys","assertErr","throw","approximately","sameMembers","set1","set2","same","members","notSameMembers","sameDeepMembers","notSameDeepMembers","sameOrderedMembers","notSameOrderedMembers","sameDeepOrderedMembers","notSameDeepOrderedMembers","includeMembers","notIncludeMembers","includeDeepMembers","notIncludeDeepMembers","includeOrderedMembers","notIncludeOrderedMembers","includeDeepOrderedMembers","notIncludeDeepOrderedMembers","inList","changesBy","tmpMsg","by","doesNotChange","changesButNotBy","but","increases","increase","increasesBy","doesNotIncrease","increasesButNotBy","decreases","decrease","decreasesBy","doesNotDecrease","doesNotDecreaseBy","decreasesButNotBy","extensible","isNotExtensible","sealed","isNotSealed","frozen","isNotFrozen","isNotEmpty","loadShould","shouldGetter","errt","errs","Throw","Should","addLengthGuard","canSetPrototype","testFn","excludeNames","propDesc","chainableBehavior","__methods","chainableMethodWrapper","newAssertion","asserterName","fnLengthDesc","assertionName","isChainable","methodWrapper","isProxyEnabled","getter","propertyGetter","art","__flags","objectType","isObjectType","getOwnEnumerablePropertySymbols","pathval","expectTypes","loupe","truncate","_chainingBehavior","_method","overwritingMethodWrapper","origLockSsfi","overwritingPropertyGetter","builtins","nonChainableMethodName","proxyGetter","suggestionDistance","dist","strA","strB","cap","stringDistanceCapped","includeAll","Obj","typeDetectGlobalObject","getFunctionName","thrown","errMatcher","comparisonString","constructorName","argType","inner","funktion","_debug","timeoutHandle","TransportRegistry","_types","_transports","getTransportTypes","findTransportTypes","crossDomain","accept","negotiateTransport","transport","Transport","_url","unregistered","_mixin","getConfiguration","getAdvice","handle","convertToMessages","setURL","envelope","metaConnect","derive","baseObject","RequestTransport","_requestIds","_metaConnectRequest","_envelopes","_coalesceEnvelopes","envelopeAndRequest","newEnvelope","newRequest","sync","_transportSend","transportSend","expired","maxNetworkDelay","httpCode","xhrStatus","abortXHR","complete","onFailure","_queueSend","maxConnections","_metaConnectComplete","_complete","nextEnvelope","nextRequest","autoBatch","_metaConnectSend","transportSuccess","onSuccess","transportFailure","metaConnectRequest","_supportsCrossDomain","newXMLHttpRequest","xhrSend","packet","headerName","onError","sameStack","received","CallbackPollingTransport","jsonp","_failTransportFn","jsonpSend","callbackName","lengths","urlLength","encodeURI","maxURILength","envelopeToSend","begin","xx","_webSocketSupported","_webSocketConnected","_stickyReconnect","_connecting","_connected","_successCallback","_forceClose","webSocketClose","onClose","_sameContext","_storeEnvelope","messageIds","envelopes","_websocketConnect","webSocket","WebSocket","stickyReconnect","connectTimer","onopen","onOpen","_warn","onclose","wsMessage","onMessage","_webSocketSend","timeouts","_send","_notifySuccess","_notifyFailure","removed","websocketCode","websocketEnabled","_transport","_handshakeProps","_handshakeCallback","_handleMessages","_handleFailure","_name","_crossDomain","_status","_messageId","_clientId","_batch","_messageQueue","_internalBatch","_listenerId","_listeners","_backoff","_scheduledSend","_extensions","_advice","_callbacks","_remoteCalls","_reestablish","_unconnectTime","_handshakeMessages","backoffIncrement","maxBackoff","appendMessageTypeToURL","urls","reconnect","maxInterval","_fieldValue","_isString","_isFunction","_zeroPad","getHours","getMinutes","getSeconds","getMilliseconds","_splitURL","_configure","configuration","urlParts","hostAndPort","afterURI","_isCrossDomain","_info","uriSegments","lastSegmentIndex","_removeListener","_removeSubscription","_clearSubscriptions","_setStatus","newStatus","_isDisconnected","_nextMessageId","_applyExtension","onExtensionException","_applyIncomingExtensions","_applyOutgoingExtensions","_notify","onListenerException","_notifyListeners","channelParts","channelPart","_cancelDelayedSend","_delayedSend","extraPath","rcvdMessages","conduit","connectionType","_resetBackoff","_increaseBackoff","_startBatch","_flushBatch","_endBatch","_connect","bayeuxMessage","_delayedConnect","_updateAdvice","newAdvice","_disconnect","_notifyTransportException","oldTransport","newTransport","onTransportException","_handshake","handshakeProps","handshakeCallback","transportTypes","minimumVersion","supportedConnectionTypes","_putCallback","_delayedHandshake","_notifyCallback","onCallbackException","_handleCallback","_getCallback","_handleRemoteCall","_handleTransportFailure","failureInfo","_failHandshake","onTransportFailure","_handshakeResponse","reestablish","_handshakeFailure","_failConnect","_connectResponse","_connectFailure","_failDisconnect","_disconnectResponse","_disconnectFailure","_failSubscribe","_subscribeResponse","_subscribeFailure","_failUnsubscribe","_unsubscribeResponse","_unsubscribeFailure","_failMessage","_messageResponse","_messageFailure","_receive","_hasSubscriptions","_resolveScopedCallback","_addListener","isListener","targ","failureHandler","transports","getTransportRegistry","getBackoffPeriod","increaseBackoffPeriod","expiration","resetBackoffPeriod","unregisterTransports","findTransport","disconnectProps","disconnectCallback","startBatch","endBatch","clearListeners","subscribeProps","subscribeCallback","unsubscribeProps","unsubscribeCallback","clearSubscriptions","publishProps","publishCallback","publishBinary","remoteCall","callProps","remoteCallBinary","isDisconnected","setBackoffIncrement","period","getBackoffIncrement","_z85EncodeTable","_z85DecodeTable","Z85","remainder","isPadding","divisor","charIdx","byteIdx","CryptoJS","subtype","C_lib","mixIn","$super","WordArray","words","sigBytes","encoder","Hex","wordArray","thisWords","thatWords","thisSigBytes","thatSigBytes","clamp","thatByte","rcache","m_w","m_z","mask","C_enc","hexChars","hexStr","hexStrLength","Latin1","latin1Chars","latin1Str","latin1StrLength","Utf8","utf8Str","BufferedBlockAlgorithm","_nDataBytes","_append","doFlush","dataWords","dataSigBytes","nBlocksReady","nWordsReady","_minBufferSize","nBytesReady","_doProcessBlock","processedWords","C_algo","Hasher","cfg","_doReset","messageUpdate","_doFinalize","_createHelper","hasher","_createHmacHelper","HMAC","algo","parseLoop","base64Str","base64StrLength","reverseMap","bits1","bits2","_map","base64Chars","triplet","paddingChar","_reverseMap","paddingIndex","MD5","_hash","offset_i","M_offset_i","M_offset_0","M_offset_1","M_offset_2","M_offset_3","M_offset_4","M_offset_5","M_offset_6","M_offset_7","M_offset_8","M_offset_9","M_offset_10","M_offset_11","M_offset_12","M_offset_13","M_offset_14","M_offset_15","FF","GG","HH","II","nBitsTotal","nBitsLeft","nBitsTotalH","nBitsTotalL","H_i","HmacMD5","fingerprint","pad","getRandomValue","discreteValues","randomBlock","safeCounter","isCuid","stringToCheck","isSlug","stringLength","lim","targetLength","_index","getDefaultOptions","setDefaultOptions","newOptions","_index2","_index3","_index4","_index5","_index6","_index7","dayPeriodEnum","formatters","localize","era","getUTCFullYear","signedYear","ordinalNumber","signedWeekYear","weekYear","twoDigitYear","isoWeekYear","quarter","getUTCMonth","isoWeek","getUTCDate","dayOfYear","dayOfWeek","getUTCDay","localDayOfWeek","weekStartsOn","isoDayOfWeek","dayPeriodEnumValue","getUTCHours","dayPeriod","getUTCMinutes","getUTCSeconds","_localize","timezoneOffset","_originalDate","getTimezoneOffset","formatTimezoneWithOptionalMinutes","formatTimezone","formatTimezoneShort","originalDate","dirtyDelimiter","absOffset","numberOfDigits","getUTCMilliseconds","fractionalSeconds","dateLongFormatter","formatLong","timeLongFormatter","longFormatters","matchResult","datePattern","timePattern","utcDate","UTC","getFullYear","getMonth","getDate","setUTCFullYear","dirtyDate","setUTCMonth","setUTCHours","startOfYearTimestamp","MILLISECONDS_IN_DAY","diff","MILLISECONDS_IN_WEEK","fourthOfJanuaryOfNextYear","startOfNextYear","fourthOfJanuaryOfThisYear","startOfThisYear","_options$firstWeekCon","_options$locale","_options$locale$optio","_defaultOptions$local","_defaultOptions$local2","firstWeekContainsDate","firstWeekOfNextYear","firstWeekOfThisYear","isProtectedDayOfYearToken","protectedDayOfYearTokens","isProtectedWeekYearToken","protectedWeekYearTokens","throwProtectedError","setUTCDate","fourthOfJanuary","_options$weekStartsOn","firstWeek","dirtyNumber","dirtyAmount","dirtyFormatStr","_options$locale2","_options$locale2$opti","_options$locale3","_options$locale3$opti","_defaultOptions$local3","_defaultOptions$local4","_index9","formatStr","_index10","_index11","_index8","formatterOptions","longFormattingTokensRegExp","firstCharacter","longFormatter","formattingTokensRegExp","escapedStringRegExp","doubleQuoteRegExp","cleanEscapedString","formatter","useAdditionalWeekYearTokens","useAdditionalDayOfYearTokens","unescapedLatinCharacterRegExp","_typeof2","defaultWidth","dirtyIndex","valuesArray","formattingValues","defaultFormattingWidth","_defaultWidth","_width","argumentCallback","matchPattern","matchPatterns","defaultMatchWidth","matchedString","parsePatterns","defaultParseWidth","valueCallback","parseResult","parsePattern","formatDistanceLocale","lessThanXSeconds","xSeconds","halfAMinute","lessThanXMinutes","xMinutes","aboutXHours","xHours","xDays","aboutXWeeks","xWeeks","aboutXMonths","xMonths","aboutXYears","xYears","overXYears","almostXYears","tokenValue","addSuffix","long","medium","short","formatRelativeLocale","lastWeek","yesterday","today","tomorrow","nextWeek","_date","_baseDate","rem100","narrow","abbreviated","wide","midnight","noon","morning","afternoon","evening","night","formatDistance","formatRelative","argument","argStr","weekdays","months","utcOffset","$L","$x","$offset","$y","$M","$D","$W","getDay","$H","$ms","$utils","isSame","startOf","endOf","isAfter","isBefore","$g","unix","toDate","$locale","weekStart","daysInMonth","subtract","invalidDate","meridiem","YY","YYYY","MM","MMM","monthsShort","MMMM","DD","weekdaysMin","ddd","weekdaysShort","dddd","SSS","toUTCString","isDayjs","ordinal","offsetName","LTS","LL","LLL","LLLL","zone","SS","ZZ","parseTwoDigitYear","future","past","yy","fromToBase","thresholds","rounding","toNow","fromNow","timeZoneName","Intl","DateTimeFormat","hour12","formatToParts","tz","$timezone","guess","resolvedOptions","setDefault","local","$localOffset","isUTC","FakeMap","MemoizeMap","memoizeCompare","leftHandOperand","rightHandOperand","memoizeMap","leftHandMap","memoizeSet","extensiveDeepEqual","simpleResult","simpleEqual","memoizeResultLeft","memoizeResultRight","comparatorResult","leftHandType","keysEqual","iterableEqual","regexpEqual","getGeneratorEntries","generatorEqual","entriesEqual","leftHandKeys","getEnumerableKeys","rightHandKeys","leftHandSymbols","getEnumerableSymbols","rightHandSymbols","mapSymbols","leftHandEntries","getIteratorEntries","rightHandEntries","objectEqual","extensiveDeepEqualByType","sizeError","leftHandItems","rightHandItems","hasIteratorFunction","iteratorError","generatorResult","$SyntaxError","gopd","nonEnumerable","nonWritable","nonConfigurable","loose","hasSymbols","toStr","defineDataProperty","supportsDescriptors","predicates","hasProtoAccessor","$getPrototypeOf","EvalError","URIError","ReflectOwnKeys","ReflectApply","NumberIsNaN","emitter","errorListener","eventTargetAgnosticAddListener","addErrorHandlerIfEventEmitter","_events","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","_getMaxListeners","newListener","onceWrapper","fired","wrapFn","_onceWrap","unwrap","evlistener","unwrapListeners","arrayClone","listenerCount","wrapListener","setMaxListeners","getMaxListeners","doError","prependListener","prependOnceListener","originalListener","spliceOne","removeAllListeners","rawListeners","cycles","aobj","bobj","isCallable","forEachArray","forEachString","forEachObject","mkdirpSync","utimesSync","startCopy","destStat","statSync","dereference","lstatSync","srcStat","isDirectory","copyDir","chmodSync","mkDirAndCopy","onDir","isFile","isCharacterDevice","isBlockDevice","overwrite","unlinkSync","copyFile","errorOnExist","mayCopyFile","onFile","isSymbolicLink","resolvedSrc","readlinkSync","resolvedDest","symlinkSync","isSrcSubdir","copyLink","onLink","copyFileSync","preserveTimestamps","atime","mtime","BUF_LENGTH","_buff","fdr","fdw","bytesRead","readSync","futimesSync","copyFileFallback","srcItem","destItem","checkPathsSync","copyDirItem","clobber","arch","_stat$checkPathsSync","checkParentPathsSync","destParent","dirname","handleFilterAndCopy","copySync","mkdirp","pathExists","utimes","checkParentDir","dirExists","handleFilter","onInclude","lstat","mkdir","chmod","unlink","setDestModeAndTimestamps","createReadStream","createWriteStream","pipe","readdir","copyDirItems","checkPaths","readlink","symlink","checkParentPaths","emptyDir","mkdirs","deleteItem","emptyDirSync","mkdirsSync","emptydirSync","emptydir","createFile","makeFile","writeFile","createFileSync","writeFileSync","ensureFile","createLink","createLinkSync","ensureLink","ensureLinkSync","createSymlink","createSymlinkSync","ensureSymlink","ensureSymlinkSync","srcpath","dstpath","makeLink","destinationExists","linkSync","symlinkPaths","isAbsolute","dstdir","relativeToDst","symlinkPathsSync","symlinkType","symlinkTypeSync","_mkdirs","_symlinkPaths","_symlinkType","toDst","toCwd","bytesWritten","realpath","native","jsonFile","outputJson","outputJsonSync","outputJSON","outputJSONSync","writeJSON","writeJson","writeJSONSync","readJSON","readJson","readJSONSync","readFile","readFileSync","itDoes","ensureDir","invalidWin32Path","o777","made","xfs","errInval","umask","err0","err1","er2","getRootPath","INVALID_PATH_CHARS","moveSync","rename","renameSync","moveAcrossDevice","doRename","move","destExists","outputFile","outputFileSync","access","pathExistsSync","rimraf","maxBusyTries","busyTries","rimraf_","CB","fixWinEPERM","rmdir","er3","fixWinEPERMSync","rmdirSync","originalEr","files","errState","rmkids","rimrafSync","rmkidsSync","nodeVersion","nodeVersionMajor","nodeVersionMinor","nodeVersionPatch","nodeSupportsBigInt","srcArr","destArr","errMsg","bigint","ino","dev","_getStatsSync","getStatsSync","srcParent","hasMillisRes","tmpfile","tmpdir","futimes","hasMillisResSync","timeRemoveMillis","utimesMillis","futimesErr","closeErr","utimesMillisSync","concatty","bound","arrLike","slicy","boundLength","boundArgs","joiner","joiny","deepValue","maxPatternLength","tokenSeparator","findAllMatches","minMatchCharLength","shouldSort","getFn","sortFn","score","tokenize","matchAllTokens","includeMatches","includeScore","isCaseSensitive","setCollection","_processKeys","_keyWeights","_keyNames","_prepareSearchers","tokenSearchers","fullSearcher","_search","_computeScore","_sort","_format","_analyze","resultMap","arrayIndex","matchedIndices","EPSILON","indices","patternAlphabet","currentLocation","expectedLocation","isNum","functionNameMatch","aFunc","functionSource","$Error","$EvalError","$RangeError","$ReferenceError","$URIError","$Function","getEvalledConstructor","expressionSyntax","$gOPD","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","getProto","$ObjectGPO","$ReflectGPO","needsEval","TypedArray","INTRINSICS","AggregateError","Atomics","BigInt64Array","BigUint64Array","eval","Float16Array","FinalizationRegistry","WeakRef","errorProto","doEval","gen","LEGACY_ALIASES","$concat","$spliceApply","$replace","$strSlice","$exec","rePropName","reEscapeChar","getBaseIntrinsic","intrinsicName","quote","subString","stringToPath","intrinsicBaseName","intrinsicRealName","skipFurtherCaching","reflectGetProto","originalGetProto","getDunderProto","gracefulQueue","previousSymbol","polyfills","legacy","publishQueue","retryTimer","debuglog","fs$close","resetQueue","fs$closeSync","retry","lastTime","sinceAttempt","sinceStart","gracefulify","ReadStream","WriteStream","fs$readFile","go$readFile","fs$writeFile","go$writeFile","fs$appendFile","appendFile","go$appendFile","fs$copyFile","go$copyFile","fs$readdir","go$readdir","noReaddirOptionVersions","fs$readdirCallback","legStreams","fs$ReadStream","autoClose","fs$WriteStream","FileReadStream","FileWriteStream","fs$open","go$open","readable","paused","bufferSize","setEncoding","_read","_open","origCwd","chdir","lchmod","O_WRONLY","O_SYMLINK","fchmod","err2","lchmodSync","threw","fchmodSync","patchLchmod","lutimes","lutimesSync","patchLutimes","chown","chownFix","fchown","lchown","chmodFix","chownSync","chownFixSync","fchownSync","lchownSync","chmodFixSync","statFix","fstat","statFixSync","fstatSync","gid","fs$rename","backoff","stater","orig","chownErOk","getuid","fs$read","callback_","eagCounter","fs$readSync","hasPropertyDescriptors","hasArrayLengthDefineBug","origSymbol","hasSymbolSham","symObj","syms","$hasOwn","hljs","objectKeys","languages","noHighlightRe","languagePrefixRe","fixMarkupRe","spanEndTag","classPrefix","tabReplace","useBR","testRe","lexeme","isNotHighlighted","inherit","nodeStream","_nodeStream","compileLanguage","reStr","langRe","case_insensitive","compileMode","compiled","beginKeywords","compiled_keywords","kw","lexemesRe","lexemes","beginRe","endSameAsBegin","endsWithParent","endRe","terminator_end","illegal","illegalRe","relevance","cached_variants","expand_mode","starts","terminators","regexps","backreferenceRe","numCaptures","joinRe","ignore_illegals","continuation","escapeRe","endOfMode","endsParent","keywordMatch","match_str","buildSpan","classname","insideSpan","leaveOpen","noPrefix","openSpan","processBuffer","subLanguage","explicit","mode_buffer","continuations","highlightAuto","processSubLanguage","keyword_match","last_index","processKeywords","startNewMode","processLexeme","new_mode","subMode","skip","excludeBegin","returnBegin","end_mode","returnEnd","excludeEnd","isIllegal","getLanguage","languageSubset","second_best","autoDetection","fixMarkup","highlightBlock","originalStream","resultNode","_class","blockLanguage","nodeStack","selectStream","mergeStreams","prevClassName","currentLang","resultLang","buildClassName","initHighlighting","called","blocks","disableAutodetect","user_options","initHighlightingOnLoad","registerLanguage","listLanguages","IDENT_RE","UNDERSCORE_IDENT_RE","NUMBER_RE","C_NUMBER_RE","BINARY_NUMBER_RE","RE_STARTERS_RE","BACKSLASH_ESCAPE","APOS_STRING_MODE","QUOTE_STRING_MODE","PHRASAL_WORDS_MODE","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE","HASH_COMMENT_MODE","NUMBER_MODE","C_NUMBER_MODE","BINARY_NUMBER_MODE","CSS_NUMBER_MODE","REGEXP_MODE","TITLE_MODE","UNDERSCORE_TITLE_MODE","METHOD_GUARD","NUMBER","nomarkup","VAR","QUOTE_STRING","built_in","RULE","JAVA_IDENT_RE","GENERIC_IDENT_RE","JAVA_NUMBER_MODE","SUBST","HTML_TEMPLATE","CSS_TEMPLATE","TEMPLATE_STRING","PARAMS_CONTAINS","LITERALS","TYPES","VALUE_CONTAINER","ARRAY","PROMPT","PARAMS","HEXCOLOR","TAG_INTERNALS","https","validateParams","ctor","superCtor","super_","TempCtor","createModuleFactory","_$Interactable_20","_$arr_64","_$browser_65","_clone","_$clone_66","_$events_70","_$extend_72","_$is_76","_normalizeListeners","_$normalizeListeners_78","_Eventable","_$Eventable_17","_scope","_$scope_28","Interactable","defaultContext","_actions","_win","_$window_83","getWindow","_$domUtils_69","trySelector","_doc","perAction","phases","onstart","onmove","oninertiastart","_defaults","optionName_","optionName","actionOptions","optionValue","updatePerActionListeners","plainObject","bool","getElementRect","checker","getRect","_backCompatOption","deltaSource","nodeContains","eventTarget","testIgnore","ignoreFrom","testAllow","allowFrom","matchesUpTo","iEvent","fire","typeArg","listenerArg","addRemove","wheelEvent","isNonNativeEvent","_onOff","actionName_","methodDict","setPerAction","setting","delegatedEvents","delegated","delegateListener","delegateUseCapture","_domObjects","_$domObjects_68","_$index_75","_InteractEvent","_$InteractEvent_18","_InteractStatic","_$InteractStatic_19","_Interactable","_InteractableSet","_$InteractableSet_21","_defaultOptions","_$defaultOptions_24","_interactions","_$interactions_27","Scope","phaselessTypes","removeDocument","_InteractableBase","interactable","interactables","listenerMaps","isInitialized","initScope","plugin","_plugins","pluginIsInstalled","install","getDocIndex","documents","onWindowUnload","docIndex","usePlugin","pointerUtils","_$pointerUtils_80","_Interaction","_$Interaction_22","_interactablePreventDefault","_$interactablePreventDefault_25","_interactionFinder","_$interactionFinder_26","methodNames","doOnInteractions","docEvents","pEventTypes","releasePointersOnRemovedEls","interactions","pointerIsDown","pointerType","_interacting","pointers","_i4","downTarget","removePointer","PointerEvent","pointerDown","pointerMove","pointerUp","documentBlur","prevTouchTime","Interaction","_InteractionBase","pointerMoveTolerance","scopeFire","getPointerType","_pointerUtils$getEven2","getEventTargets","curEventTarget","_i5","changedTouches","searchDetails","pointerId","getPointerId","getInteraction","invalidPointer","supportsPointerEvent","_searchDetails","_interaction","_i6","_matches$_i","_pointer","_eventTarget","_curEventTarget","signalArg","onDocSignal","eventMethodName","eventMethod","isIOS","eventOptions","_i7","InteractStatic","pointerAverage","touchBBox","touchDistance","touchAngle","getElementClientRect","interact","globalEvents","supportsTouch","addDocument","Window","_isWindow","_$isWindow_77","realWindow","___isWindow_76","___interopRequireDefault_76","__window_76","docFrag","beforeMove","prepared","velocity","opposite","setOnEvents","lockAxis","startAxis","dragOptions","mouseButtons","getCursor","domObjects","__init_68","SVGElement","SVGSVGElement","SVGElementInstance","Touch","blank","MSPointerEvent","___interopRequireDefault_65","__is_65","___interopRequireWildcard_65","__init_65","isIOS7","isIe9","isOperaMobile","prefixedMatchesSelector","DocumentTouch","pointerEnabled","appVersion","appName","over","___interopRequireWildcard_66","__is_66","___interopRequireDefault_69","___domObjects_69","__is_69","___interopRequireWildcard_69","___window_69","indexOfDeepestElement","deepestZoneParents","deepestZone","dropzone","_parent","parentParent","dropzoneParents","parents","deepestZIndex","getActualElement","correspondingUseElement","getScrollXY","relevantWindow","clientRect","pointerExtend","prefixedPropREs","webkit","moz","___browser_80","___interopRequireDefault_80","___domObjects_80","domUtils","___interopRequireWildcard_80","_hypot","_$hypot_74","__is_80","_pointerExtend","_$pointerExtend_79","copyCoords","setCoordDeltas","targetObj","setCoordVelocity","setZeroCoords","isNativePointer","getXY","getPageXY","getClientXY","setCoords","tmpXY","getTouchPair","touches","average","_prop","minX","minY","maxX","maxY","sourceX","sourceY","dx","dy","newCoords","coordsToEvent","__domUtils_70","___interopRequireWildcard_70","__is_70","___pointerExtend_70","___interopRequireDefault_70","optionalArg","elementIndex","typeCount","supportsOptions","__remove_70","addDelegate","removeDelegate","matchFound","_listeners$i","fakeEvent","FakeEvent","originalEvent","supportsPassive","_elements","___interopRequireDefault_78","__is_78","___interopRequireWildcard_78","combinedTypes","__arr_17","___interopRequireWildcard_17","___extend_17","___interopRequireDefault_17","fireUntilImmediateStopped","immediatePropagationStopped","Eventable","___classCallCheck_17","___defineProperty_17","eventList","subListener","___extend_82","___interopRequireDefault_82","__is_82","___interopRequireWildcard_82","getStringOptionResult","resolveRectLike","functionArgs","rectToXY","xywhToTlbr","tlbrToXywh","addEdges","edges","___default_73","originRect","_$rect_82","_request","_cancel","__init_81","vendors","timeToCall","__arr_75","___interopRequireWildcard_75","__is_75","___window_75","___interopRequireDefault_75","___browser_75","___extend_75","_getOriginXY","_$getOriginXY_73","___hypot_75","___normalizeListeners_75","_raf","_$raf_81","warnOnce","copyAction","BaseEvent","___classCallCheck_16","___defineProperty_16","_proxy","___extend_18","___interopRequireDefault_18","___getOriginXY_18","___hypot_18","_BaseEvent2","_$BaseEvent_16","InteractEvent","_BaseEvent","phase","preEnd","___classCallCheck_18","___defineProperty_18","starting","prevEvent","downTime","clientX0","clientY0","swipe","getSwipe","velocityY","velocityX","overlap","__arr_21","___interopRequireWildcard_21","__domUtils_21","___extend_21","___interopRequireDefault_21","__is_21","InteractableSet","___classCallCheck_21","___defineProperty_21","addListeners","targetMappings","targetIndex","mappingInfo","inContext","_interactable","PointerInfo","___classCallCheck_23","_ProxyValues","_ProxyMethods","__utils_22","___interopRequireWildcard_22","___interopRequireDefault_22","_PointerInfo","_$PointerInfo_23","___classCallCheck_22","___defineProperty_22","_scopeFire","pointerIndex","updatePointer","pointerInfo","interacting","_stopped","_doPhase","downEvent","simulation","modification","endResult","duplicateMove","pointerWasMoved","getPointerIndex","duplicate","_latestPointer","endPhaseResult","_ending","curPointer","_now","downPointer","_updateLatestPointer","_createPreparedEvent","_fireEvent","___events_25","___interopRequireDefault_25","__is_25","___interopRequireWildcard_25","checkAndPreventDefault","docOptions","getDocOptions","onInteractionEvent","__install_25","__dom_26","___interopRequireWildcard_26","finder","methodOrder","simulationResume","allowResume","mouseOrPen","firstNonActive","hasPointerId","hasPointer","idle","gesture","___BaseEvent2_2","___interopRequireDefault_2","__arr_2","___interopRequireWildcard_2","DropEvent","dropState","dragEvent","___classCallCheck_2","___defineProperty_2","___assertThisInitialized_2","___possibleConstructorReturn_2","___getPrototypeOf_2","relatedTarget","rejected","activeDrops","deactivateEvent","___interopRequireDefault_3","__utils_3","___interopRequireWildcard_3","_drag","_$drag_1","_DropEvent","_$DropEvent_2","__install_3","interactStatic","dropzoneMethod","dropCheck","draggableElement","dropElement","dropCheckMethod","dynamicDrop","dragenter","dragleave","dropactivate","dropdeactivate","dropmove","drop","collectDrops","drops","dropElements","dropzoneElement","fireActivationEvents","getActiveDrops","dragElement","activeDrop","getDrop","pointerEvent","validDrops","_rect","dropIndex","getDropEvents","_pointerEvent","dropEvents","activate","deactivate","dragLeave","prevDropzone","dragEnter","dragmove","fireDropEvents","onEventCreated","dropResult","normalizeListeners","corrected","ondrop","ondropactivate","ondropdeactivate","ondragenter","ondragleave","ondropmove","dropped","dropOverlap","getOriginXY","dragRect","cx","cy","__utils_4","___interopRequireWildcard_4","__install_4","gesturable","updateGestureProps","startDistance","startAngle","gestureOptions","__dom_6","___interopRequireWildcard_6","___extend_6","___interopRequireDefault_6","__is_6","__install_6","cursors","initCursors","defaultMargin","resizable","resizeChecker","resizeOptions","resizeEdges","checkResizeEdge","axes","preserveAspectRatio","square","interactableElement","topleft","bottomright","topright","bottomleft","resizeEvent","_rects","previous","deltaRect","__move_6","invert","invertible","_interaction$_rects","startRect","_swap","updateEventAxes","resizeAxes","cursorKey","___drag_5","___interopRequireDefault_5","_$index_3","_gesture","_$gesture_4","_resize","_$resize_6","__domUtils_8","___interopRequireWildcard_8","__is_8","___raf_8","___interopRequireDefault_8","__install_8","autoScroll","autoscroll","isScrolling","prevTime","getContainer","scrollBy","prevScroll","curScroll","onInteractionMove","getScrollSize","getScrollSizeDelta","scrollOptions","scrollContainer","prevSize","curSize","__is_9","___interopRequireWildcard_9","__install_9","getAction","defaultActionChecker","actionChecker","styleCursor","__utils_10","___interopRequireWildcard_10","_InteractableMethods","___interopRequireDefault_10","_$InteractableMethods_9","__install_10","manualStart","maxPerElement","maxInteractions","autoStart","withinInteractionLimit","cursorElement","prepareOnDown","prepare","getActionInfo","prepareOnMove","startOnMove","setInteractionCursor","clearCursorOnStop","setCursor","validateAction","testIgnoreAllow","validateMatches","matchElements","matchElement","matchAction","pushMatches","forEachMatch","actionInfo","maxActions","autoStartMax","activeInteractions","interactableCount","elementCount","otherAction","prevCursorElement","cursorChecker","__is_11","___interopRequireWildcard_11","_base","___interopRequireDefault_11","_$base_10","beforeStart","absX","absY","targetOptions","currentAxis","getDraggable","checkStartAxis","thisAxis","___base_12","___interopRequireDefault_12","__install_12","hold","getHoldDuration","autoStartHoldTimer","___base_13","___interopRequireDefault_13","_dragAxis","_$dragAxis_11","_hold","_$hold_12","CheckName","___domObjects_29","___interopRequireDefault_29","___extend_29","__is_29","___interopRequireWildcard_29","___window_29","touchAction","isProduction","__install_29","devTools","ignore","perform","parentHasStyle","getInfo","hasStyle","noListeners","styleRe","defaultExport","_scope$logger","___toConsumableArray_29","___clone_34","___interopRequireDefault_34","___extend_34","rectUtils","___interopRequireWildcard_34","Modification","___classCallCheck_34","___defineProperty_34","createResult","pageCoords","modifierList","getModifierList","prepareStates","startOffset","getRectOffset","startDelta","startAll","fillArg","skipModifiers","unmodifiedRect","newResult","lastModifierCoords","shouldDo","eventProps","rectDelta","prevCoords","prevRect","rectChanged","changed","curCoords","startCoords","curDelta","___slicedToArray_34","coordsSet","modifiedCoords","adjustment","applyToInteraction","doPreend","endPosition","beforeEnd","modifierArg","_modifierList$index","_ref9$interaction","_modification$result","coordsAndDeltas","requireEndOnly","endOnly","actionModifiers","_methods","_Modification","___interopRequireDefault_38","_$Modification_34","makeModifier","addEventModifiers","setAndApply","restoreInteractionCoords","__rectUtils_51","___interopRequireWildcard_51","addTotal","addToCoords","beforeAction","applyPending","__end_51","offsetBy","___Modification_31","___interopRequireDefault_31","___interopRequireWildcard_31","_$base_38","___index_31","_$index_51","__dom_31","___hypot_31","__is_31","___raf_31","__install_31","inertiastart","resume","inertia","resistance","minSpeed","endSpeed","smoothEndDuration","InertiaState","___classCallCheck_31","___defineProperty_31","__getOptions_31","velocityClient","pointerSpeed","copyFrom","v0","currentOffset","startInertia","startSmoothEnd","targetOffset","startVelocity","lambda","inertiaDur","lambda_v0","one_ve_v0","isModified","modifiedOffset","inertiaTick","smoothEnd","smoothEndTick","newOffset","getQuadraticCurvePoint","easeOutQuad","modifierCount","__start_31","_getQBezierValue","p2","p3","iT","cpX","cpY","endX","endY","___interopRequireDefault_32","__init_32","___typeof_32","coordFields","___slicedToArray_61","xField","yField","gridFunc","_grid$limits","limits","_grid$offset","gridx","gridy","_edgeTarget","___interopRequireDefault_58","_$edgeTarget_59","_$elements_60","_$grid_61","___extend_62","___interopRequireDefault_62","allSnappers","___interopRequireWildcard_62","_$all_58","snappers","createSnapGrid","___extend_36","___interopRequireDefault_36","___Modification_36","aspectRatio","originalEdges","_state$options","equalDelta","linkedEdges","xIsPrimaryAxis","edgeSign","negativeSecondaryEdge","subModification","initialCoords","aspectMethod","setEqualDelta","setRatio","correctedRect","newHeight","newWidth","avoid","___extend_41","___interopRequireDefault_41","__is_41","___interopRequireWildcard_41","__rectUtils_41","__start_41","restriction","getRestrictionRect","widthDiff","heightDiff","restrict","___extend_40","___interopRequireDefault_40","__rectUtils_40","___interopRequireWildcard_40","noInner","noOuter","__start_40","offsetRect","_$pointer_41","__set_40","fixRect","restrictEdges","__defaults_42","___interopRequireDefault_42","restrictRect","___extend_43","___interopRequireDefault_43","__rectUtils_43","___interopRequireWildcard_43","noMin","noMax","__start_43","_$edges_40","__set_43","maxSize","restrictSize","rubberband","__utils_46","___interopRequireWildcard_46","__start_46","snapOffset","offsetWithOrigin","getOrigin","relativePoints","offsets","relativePoint","__set_46","relativeX","relativeY","snapTarget","snap","___extend_47","___interopRequireDefault_47","__is_47","___interopRequireWildcard_47","__start_47","targetFields","_$pointer_46","__set_47","___slicedToArray_47","snapSize","___clone_45","___interopRequireDefault_45","___extend_45","__start_45","_$size_47","snapEdges","spring","_aspectRatio","___interopRequireDefault_35","_$aspectRatio_36","_avoid","_$avoid_37","___edges_35","___pointer_35","___rect_35","_$rect_42","___size_35","_$size_43","_rubberband","_$rubberband_44","_edges2","_$edges_45","_pointer2","_size2","_spring","_$spring_48","_$transform_49","___index_39","___interopRequireDefault_39","_$index_62","_all2","_$all_35","___base_39","__modifiers_39","_all","___BaseEvent2_52","___interopRequireDefault_52","__pointerUtils_52","___interopRequireWildcard_52","___classCallCheck_52","___defineProperty_52","___assertThisInitialized_52","___possibleConstructorReturn_52","___getPrototypeOf_52","tapTime","prevTap","originX","originY","___interopRequireDefault_53","__utils_53","___interopRequireWildcard_53","_PointerEvent","_$PointerEvent_52","__defaults_53","holdDuration","__install_53","addInteractionProps","addHoldInfo","moveAndClearHold","downAndStartHold","clearHold","tapAfterUp","collectEventTargets","tap","doubletap","_arg$targets","eventable","_subtractOrigin","_addOrigin","minDuration","___interopRequireDefault_54","___base_54","_$base_53","__install_54","holdRepeatInterval","holdrepeat","onNew","onFired","holdIntervalHandle","endHoldRepeat","enderTypes","___extend_56","___interopRequireDefault_56","__install_56","pointerEventsMethod","__backCompatOption","__pointerEvents_55","___interopRequireWildcard_55","_holdRepeat","___interopRequireDefault_55","_$holdRepeat_54","_interactableTargets","_$interactableTargets_56","__install_57","reflow","runningInteraction","reflowPromise","_reflowPromise","_reflowResolve","xywh","startReflow","___interopRequireDefault_57","exchange","___interopRequireDefault_33","_$index_5","_arrange","_$index_7","_autoScroll","_$index_8","_autoStart","_$index_13","___clone_33","_$index_14","_components","_$index_15","___interactablePreventDefault_33","_$index_29","___interopRequireWildcard_33","_$index_30","_inertia","_$index_31","_interact","_$index_32","___index_33","_$index_39","_multiTarget","_$index_50","_pointerEvents","_$index_55","_reflow","_$index_57","displace","_$displace_67","__pointerUtils_33","vueComponents","_$index_84","vue","__utils","_$exchange_71","___index_85","___interopRequireDefault_85","_$index_33","___typeof_85","_$index_85","argIndex","framesToPop","hasToStringTag","$toString","callBound","isStandardArguments","isLegacyArguments","supportsStandardArguments","badArrayLike","isCallableMarker","fnToStr","reflectApply","constructorRegex","isES6ClassFn","fnStr","tryFunctionObject","isIE68","isDDA","strClass","isFnRegex","safeRegexTest","getGeneratorFunction","GeneratorFunction","getPolyfill","shim","isRegexMarker","throwRegexMarker","badStringifier","whichTypedArray","_traverse","arrayKeywords","propsKeywords","escapeJsonPtr","skipKeywords","exclusiveMaximum","exclusiveMinimum","_fs","EOL","stripBom","jsonfile","reviver","hashClear","hashDelete","hashGet","hashHas","hashSet","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","arrayPush","isFlattenable","baseFlatten","isStrict","castPath","toKey","isMasked","funcProto","basePickBy","baseGet","baseSet","constant","arrayMap","symbolProto","symbolToString","baseToString","isKey","isKeyable","hasFunc","spreadableSymbol","reIsDeepProp","reIsPlainProp","memoizeCapped","fallbackHolder","baseAry","cloneArray","wrapImmutable","cloner","baseConvert","isLib","isObj","curry","immutable","rearg","defaultHolder","forceCurry","forceFixed","forceRearg","pristine","runInContext","ary","isWeakMap","toInteger","aryMethodKeys","aryMethod","wrappers","arity","mixin","nthArg","indexes","castCap","iterateeRearg","overArg","baseArity","iterateeAry","castFixed","skipFixed","methodSpread","flatSpread","castRearg","skipRearg","methodRearg","aryRearg","cloneByPath","createConverter","aliasToReal","remap","oldOptions","newUtil","newFunc","mutate","createCloner","aryKey","otherName","afterRearg","castCurry","convert","realToAlias","baseHasIn","FUNC_ERROR_TEXT","HASH_UNDEFINED","PLACEHOLDER","WRAP_CURRY_RIGHT_FLAG","WRAP_PARTIAL_FLAG","WRAP_PARTIAL_RIGHT_FLAG","WRAP_ARY_FLAG","WRAP_REARG_FLAG","INFINITY","NAN","MAX_ARRAY_LENGTH","wrapFlags","argsTag","arrayTag","boolTag","dateTag","errorTag","funcTag","genTag","mapTag","numberTag","objectTag","promiseTag","regexpTag","symbolTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","reEmptyStringLeading","reEmptyStringMiddle","reEmptyStringTrailing","reEscapedHtml","reUnescapedHtml","reHasEscapedHtml","reHasUnescapedHtml","reEscape","reEvaluate","reInterpolate","reRegExpChar","reHasRegExpChar","reTrimStart","reWhitespace","reWrapComment","reWrapDetails","reSplitDetails","reAsciiWord","reForbiddenIdentifierChars","reEsTemplate","reFlags","reIsBadHex","reIsBinary","reIsOctal","reLatin","reNoMatch","reUnescapedString","rsAstralRange","rsComboRange","rsComboMarksRange","rsDingbatRange","rsLowerRange","rsUpperRange","rsVarRange","rsBreakRange","rsMathOpRange","rsApos","rsAstral","rsBreak","rsCombo","rsDigits","rsDingbat","rsLower","rsMisc","rsFitz","rsNonAstral","rsRegional","rsSurrPair","rsUpper","rsZWJ","rsMiscLower","rsMiscUpper","rsOptContrLower","rsOptContrUpper","reOptMod","rsOptVar","rsSeq","rsEmoji","rsSymbol","reApos","reComboMark","reUnicode","reUnicodeWord","reHasUnicode","reHasUnicodeWord","templateCounter","cloneableTags","stringEscapes","freeParseFloat","freeParseInt","moduleExports","nodeIsArrayBuffer","isArrayBuffer","nodeIsDate","nodeIsMap","nodeIsRegExp","nodeIsSet","arrayAggregator","arrayEach","arrayEachRight","arrayEvery","arrayFilter","resIndex","arrayReduce","initAccum","arrayReduceRight","arraySome","asciiSize","baseProperty","baseFindKey","collection","eachFunc","baseIndexOfWith","baseMean","baseSum","basePropertyOf","baseReduce","baseTrim","trimmedEndIndex","baseValues","charsStartIndex","strSymbols","chrSymbols","charsEndIndex","deburrLetter","escapeHtmlChar","escapeStringChar","chr","mapToArray","replaceHolders","setToPairs","stringSize","unicodeSize","stringToArray","unicodeToArray","asciiToArray","unescapeHtmlChar","arrayProto","oldDash","symIterator","ctxClearTimeout","ctxNow","ctxSetTimeout","nativeCeil","nativeFloor","nativeGetSymbols","nativeIsBuffer","nativeIsFinite","nativeJoin","nativeKeys","nativeMin","nativeParseInt","nativeRandom","nativeReverse","metaMap","realNames","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolValueOf","lodash","LazyWrapper","LodashWrapper","wrapperClone","baseLodash","chainAll","__wrapped__","__actions__","__chain__","__index__","__values__","__dir__","__filtered__","__iteratees__","__takeCount__","__views__","arraySample","baseRandom","arraySampleSize","shuffleSelf","baseClamp","arrayShuffle","baseAggregator","baseEach","baseAssign","baseAt","lower","upper","baseClone","bitmask","isFlat","isFull","initCloneArray","isFunc","getSymbolsIn","copySymbolsIn","baseAssignIn","copySymbols","dataView","cloneDataView","cloneRegExp","initCloneByTag","subValue","getAllKeysIn","baseConformsTo","baseDelay","baseDifference","valuesLength","valuesIndex","createBaseEach","baseForOwn","baseEachRight","baseForOwnRight","baseEvery","baseExtremum","baseFilter","createBaseFor","baseForRight","baseFunctions","baseGetAllKeys","symbolsFunc","baseGt","baseHas","baseIntersection","arrays","othLength","othIndex","baseInvoke","baseIsEqual","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","equalArrays","isPartial","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","objProps","objLength","othProps","objStacked","othStacked","skipCtor","othValue","compared","objCtor","othCtor","equalObjects","baseIsEqualDeep","baseIsMatch","matchData","noCustomizer","COMPARE_PARTIAL_FLAG","baseIteratee","baseMatchesProperty","baseMatches","baseKeys","baseLt","baseMap","getMatchData","matchesStrictComparable","isStrictComparable","isArrayLikeObject","baseNth","baseOrderBy","iteratees","orders","getIteratee","criteria","comparer","baseSortBy","objCriteria","othCriteria","ordersLength","compareAscending","compareMultiple","basePullAll","basePullAt","baseUnset","baseRepeat","baseSample","baseSampleSize","baseSetData","baseShuffle","baseSlice","baseSome","baseSortedIndex","retHighest","mid","baseSortedIndexBy","valIsNaN","valIsNull","valIsSymbol","valIsUndefined","othIsDefined","othIsNull","othIsReflexive","othIsSymbol","setLow","baseSortedUniq","baseToNumber","baseUpdate","updater","baseWhile","isDrop","baseWrapperValue","baseXor","baseZipObject","assignFunc","valsLength","castArrayLikeObject","castFunction","castRest","castSlice","valIsDefined","valIsReflexive","composeArgs","partials","holders","isCurried","argsIndex","argsLength","holdersLength","leftIndex","leftLength","rangeLength","isUncurried","composeArgsRight","holdersIndex","rightIndex","rightLength","createAggregator","initializer","createAssigner","createCaseFirst","createCompounder","deburr","createCtor","thisBinding","createFind","findIndexFunc","createFlow","flatRest","funcs","prereq","thru","getFuncName","isLaziable","plant","createHybrid","partialsRight","holdersRight","argPos","isAry","isBind","isBindKey","isFlip","getHolder","holdersCount","countHolders","newHolders","createRecurry","oldArray","reorder","createInverter","toIteratee","baseInverter","createMathOperation","createOver","arrayFunc","createPadding","chars","charsLength","toFinite","baseRange","createRelationalOperation","wrapFunc","isCurry","newData","setWrapToString","createRound","createToPairs","baseToPairs","createWrap","srcBitmask","newBitmask","isCombo","mergeData","createCurry","createPartial","createBind","customDefaultsAssignIn","customDefaultsMerge","customOmitClone","arrStacked","arrValue","otherFunc","stubArray","ctorString","isMaskable","stubFalse","insertWrapDetails","updateWrapDetails","getWrapDetails","rand","differenceBy","differenceWith","findLastIndex","intersection","intersectionBy","intersectionWith","pull","pullAll","pullAt","unionBy","unionWith","unzipWith","without","xor","xorBy","xorWith","zip","zipWith","wrapperAt","countBy","findLast","groupBy","invokeMap","keyBy","sortBy","bindKey","WRAP_BIND_FLAG","lastThis","lastCallTime","lastInvokeTime","maxing","invokeFunc","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","timeWaiting","remainingWait","debounced","isInvoking","leadingEdge","overArgs","funcsLength","partialRight","gte","lte","iteratorToArray","toLength","assignIn","assignInWith","assignWith","propsIndex","propsLength","defaultsDeep","invertBy","CLONE_DEEP_FLAG","basePick","toPairs","toPairsIn","upperFirst","lowerCase","lowerFirst","startCase","upperCase","hasUnicodeWord","unicodeWords","asciiWords","attempt","bindAll","flowRight","methodOf","overEvery","overSome","basePropertyDeep","rangeRight","augend","addend","divide","dividend","multiplier","multiplicand","minuend","subtrahend","cond","conforms","baseConforms","curryRight","dropRight","dropRightWhile","dropWhile","baseFill","flatMapDeep","flatMapDepth","flattenDeep","flattenDepth","flip","fromPairs","functionsIn","matchesProperty","omitBy","orderBy","propertyOf","pullAllBy","pullAllWith","sampleSize","setWith","shuffle","sortedUniq","sortedUniqBy","spread","tail","take","takeRight","takeRightWhile","takeWhile","isArrLike","updateWith","valuesIn","zipObject","zipObjectDeep","entriesIn","extendWith","cloneDeep","cloneDeepWith","cloneWith","conformsTo","escapeRegExp","findLastKey","forIn","forInRight","forOwnRight","baseInRange","isEqualWith","isMatchWith","isNative","isSafeInteger","isWeakSet","strictLastIndexOf","maxBy","mean","meanBy","minBy","stubObject","stubString","stubTrue","nth","noConflict","strLength","padEnd","floating","sample","sortedIndex","sortedIndexBy","sortedIndexOf","sortedLastIndex","sortedLastIndexBy","sortedLastIndexOf","sumBy","settings","isEscaping","isEvaluating","importsKeys","importsValues","reDelimiters","sourceURL","escapeValue","interpolateValue","esTemplateValue","evaluateValue","toSafeInteger","omission","newEnd","uniqueId","eachRight","isFilter","takeName","dropName","checkIteratee","isTaker","lodashFunc","retUnwrapped","isLazy","useLazy","isHybrid","isUnwrapped","onlyLazy","chainName","isRight","getView","iterLength","takeCount","iterIndex","commit","ni","fh","Qh","nh","rh","eh","ih","oh","ah","gh","Zh","Jh","undefinedType","isIE","logMethods","_loggersByName","defaultLogger","bindMethod","traceForIE","realMethod","replaceLoggingMethods","methodFactory","SILENT","enableLoggingWhenConsoleArrives","defaultMethodFactory","_loggerName","inheritedLevel","defaultLevel","userLevel","persistLevelIfPossible","levelNum","levelName","cookie","getPersistedLevel","storedLevel","cookieName","clearPersistedLevel","normalizeLevel","setDefaultLevel","resetLevel","enableAll","disableAll","rebuild","childName","initialLevel","getLoggers","svgNS","locationHref","_useWebWorker","initialDefaultFrame","setWebWorker","getWebWorker","setLocationHref","getLocationHref","createTag","extendPrototype","destination","sourcePrototype","getDescriptor","createProxyFunction","ProxyFunction","audioControllerFactory","AudioController","audioFactory","audios","_volume","_isMuted","addAudio","setRate","rateValue","createAudio","assetPath","Howl","isPlaying","seek","playing","rate","setVolume","setAudioFactory","_updateVolume","mute","unmute","getVolume","volume","createTypedArray","createRegularArray","createSizedArray","_typeof$6","subframeEnabled","expressionsPlugin","expressionsInterfaces","idPrefix$1","_shouldRoundValues","bmPow","bmSqrt","bmFloor","bmMax","bmMin","BMMath","ProjectInterface$1","absArr","defaultCurveSegments","degToRads","roundCorner","roundValues","bmRnd","styleDiv","transformOrigin","webkitTransformOrigin","backfaceVisibility","webkitBackfaceVisibility","transformStyle","webkitTransformStyle","mozTransformStyle","BMEnterFrameEvent","frameMultiplier","BMCompleteEvent","BMCompleteLoopEvent","totalLoops","currentLoop","BMSegmentStartEvent","firstFrame","totalFrames","BMDestroyEvent","BMRenderFrameErrorEvent","nativeError","BMConfigErrorEvent","BMAnimationConfigErrorEvent","createElementID","_count","HSVtoRGB","RGBtoHSV","addSaturationToRGB","hsv","addBrightnessToRGB","addHueToRGB","rgbToHex","colorMap","setSubframeEnabled","getSubframeEnabled","setExpressionsPlugin","getExpressionsPlugin","setExpressionInterfaces","getExpressionInterfaces","setDefaultCurveSegments","getDefaultCurveSegments","setIdPrefix","getIdPrefix","createNS","_typeof$5","dataManager","workerFn","workerInstance","_counterId","processes","workerProxy","_workerSelf","setupWorker","Worker","createObjectURL","createWorker","completeLayers","layers","comps","layerData","jLen","kLen","completed","hasMask","maskProps","masksProperties","convertPathsToAbsoluteValues","ty","findCompLayers","completeShapes","shapes","completeText","comp","findComp","__used","checkVersion","animVersionString","animVersion","checkText","updateTextLayer","textLayer","documentData","iterateLayers","checkChars","charData","sk","checkPathProperties","pathData","checkColors","iterateShapes","checkShapes","completeClosingShapes","closed","moduleOb","__complete","completeChars","dataFunctionManager","assetLoader","formatResponse","contentTypeHeader","completeData","onComplete","createProcess","loadAnimation","processId","loadData","completeAnimation","anim","ImagePreloader","proxyImage","fillStyle","fillRect","imageLoaded","totalImages","loadedFootagesCount","totalFootages","imagesLoadedCb","footageLoaded","getAssetsPath","assetData","assetsPath","imagePath","testImageLoaded","intervalId","getBBox","_imageLoaded","createFootageData","ob","footageData","_footageLoaded","ImagePreloaderFactory","loadAssets","_createImageData","setAssetsPath","setPath","loadedImages","loadedFootages","getAsset","createImgData","createImageData","_elementHelper","setCacheType","elementHelper","triggerEvent","_cbs","markerParser","parsePayloadLines","keysCount","_markers","markers","_marker","markerData","tm","ProjectInterface","registerComposition","compositions","_thisProjectFunction","prepareFrame","currentFrame","compInterface","renderers","registerRenderer","getRenderer","getRegisteredRenderer","_typeof$4","AnimationItem","currentRawFrame","frameRate","frameMult","playSpeed","playDirection","playCount","isPaused","animationID","timeCompleted","segmentPos","isSubframeEnabled","_idle","_completedLoop","projectInterface","imagePreloader","audioController","onSetupError","onSegmentComplete","drawnFrameEvent","setParams","animType","RendererClass","rendererSettings","globalData","setProjectInterface","autoloadSegments","initialSegment","setupAnimation","fileName","wrapperAttributes","getNamedItem","prerender","includeLayers","newLayers","fontManager","addChars","addFonts","initExpressions","loadNextSegment","segmentPath","loadSegments","imagesLoaded","checkLoaded","preloadImages","animData","searchExtraCompositions","updaFrameModifier","waitForFontsLoaded","triggerConfigError","rendererType","initItems","gotoFrame","_height","updateContainerSize","setSubframe","renderFrame","resetFrame","triggerRenderFrameError","togglePause","setCurrentRawFrameValue","getMarkerData","markerName","goToAndStop","isFrame","numValue","frameModifier","goToAndPlay","playSegments","advanceTime","_isComplete","checkSegments","adjustSegment","setSegment","pendingFrame","forceFlag","resetSegments","onEnterFrame","onLoopComplete","onSegmentStart","onDestroy","setLoop","isLooping","getAssetData","getDuration","updateDocumentData","getElementByPath","animationManager","registeredAnimations","initTime","playingAnimationsNum","_isFrozen","removeElement","animItem","subtractPlayingCount","registerAnimation","addPlayingCount","nowTime","elapsedTime","searchAnimations","animElements","getElementsByClassName","lenAnims","unfreeze","getRegisteredAnimations","animations","BezierFactory","beziers","bezEasing","BezierEasing","kSplineTableSize","kSampleStepSize","float32ArraySupported","aA1","aA2","calcBezier","aT","getSlope","points","_mSampleValues","_precomputed","mX1","mY1","mX2","mY2","_precompute","_getTForX","_calcSampleValues","aX","mSampleValues","intervalStart","currentSample","lastSample","guessForT","initialSlope","aGuessT","currentSlope","newtonRaphsonIterate","aA","aB","currentX","currentT","binarySubdivide","pooling","poolFactory","initialLength","_create","_release","_maxLength","pool","newElement","release","bezierLengthPool","addedLength","percents","segmentsLengthPool","totalLength","bezFunction","pointOnLine2D","x2","y2","x3","y3","det1","getBezierLength","pt1","pt2","pt3","pt4","ptCoord","perc","ptDistance","curveSegments","lastPoint","lengthData","BezierData","segmentLength","PointData","partialLength","storedData","buildBezierData","bezierName","bezierData","getDistancePerc","initPos","lengthPos","lPerc","bezierSegmentPoints","getSegmentsLength","shapeData","segmentsLength","pathV","pathO","pathI","getNewSegment","startPerc","endPerc","u0","u0u0u0","t0u0u0_3","t0t0u0_3","t0t0t0","u0u0u1","t0u0u1_3","t0t0u1_3","t0t0t1","u0u1u1","t0u1u1_3","t0t1u1_3","t0t1t1","u1u1u1","t1u1u1_3","t1t1u1_3","t1t1t1","getPointInSegment","percent","pointOnLine3D","z2","z3","diffDist","dist1","dist2","dist3","bez","initFrame","mathAbs","frameNum","caching","offsetTime","propType","keyData","nextKeyData","keyframeMetadata","fnc","iterationIndex","keyframes","keyframesMetadata","endValue","nextKeyTime","keyTime","__fnct","getBezierEasing","segmentPerc","distanceInLine","lastFrame","_lastKeyframeIndex","_lastAddedLength","_lastPoint","outX","outY","inX","inY","keyValue","quaternionToEuler","slerp","createQuaternion","omega","cosom","sinom","scale0","scale1","ax","ay","aw","bx","bw","quat","qx","qy","qz","qw","attitude","bank","s2","s3","getValueAtCurrentTime","renderedFrame","_caching","renderResult","setVValue","multipliedValue","mult","_mdf","processEffectsSequence","frameId","effectsSequence","_isFirstFrame","finalValue","addEffect","effectFunction","addDynamicProperty","ValueProperty","vel","MultiDimensionalProperty","KeyframedValueProperty","KeyframedMultidimensionalProperty","arrLen","PropertyFactory","getProp","sid","slotManager","DynamicPropertyContainer","dynamicProperties","_isAnimated","iterateDynamicProperties","initDynamicPropertyContainer","pointPool","ShapePath","setPathData","setLength","doubleArrayLength","setXYAt","setTripleAt","vX","vY","oX","oY","iX","iY","vertices","outPoints","inPoints","shapePool","shapePath","cloned","ShapeCollection","addShape","releaseShapes","shapeCollectionPool","newShapeCollection","shapeCollection","ShapePropertyFactory","interpolateShape","keyPropS","keyPropE","isHold","vertexValue","interpolateShapeCurrentTime","resetShape","localShapeCollection","shape1","shape2","shapesEqual","ShapeProperty","KeyframedShapeProperty","EllShapeProperty","cPoint","EllShapePropertyFactory","convertEllToPath","p0","s0","_cw","StarShapeProperty","StarShapePropertyFactory","sy","convertToPath","convertStarToPath","convertPolygonToPath","rad","roundness","perimSegment","numPts","longFlag","longRad","shortRad","longRound","shortRound","longPerimSegment","shortPerimSegment","currentAng","ox","oy","RectShapeProperty","RectShapePropertyFactory","convertRectToPath","Matrix","_cos","_sin","_tan","_rnd","mCos","mSin","rotateX","rotateY","rotateZ","shear","sx","skew","skewFromAxis","sz","setTransform","tx","a2","b2","d2","e2","f2","g2","j2","k2","m2","n2","o2","_identityCalculated","matrix","matrixProps","isIdentity","_identity","matr","cloneFromProps","applyToPoint","applyToX","applyToY","applyToZ","getInverseMatrix","determinant","inverseMatrix","inversePoint","applyToPointArray","inversePoints","pts","retPts","applyToTriplePoints","p4","p5","p12","p13","applyToPointStringified","toCSS","cssValue","roundMatrixProperty","to2dCSS","_typeof$3","setLocation","setSubframeRendering","setPrefix","setQuality","inBrowser","installPlugin","getFactory","checkReady","readyStateCheckInterval","getQueryVariable","useWebWorker","setIDPrefix","__getFactory","myScript","ShapeModifiers","registerModifier","getModifier","ShapeModifier","TrimModifier","PuckerAndBloatModifier","initModifierProperties","addShapeToModifier","setAsAnimated","processKeys","sValue","eValue","pathsData","calculateShapeEdges","shapeLength","totalModifierLength","segmentOb","shapeSegments","shapeS","shapeE","releasePathsData","processShapes","shapePaths","totalShapeLength","newShapesData","addShapes","lastShape","addPaths","newPaths","addSegment","newShape","addSegmentFromArray","shapeSegment","currentLengthData","segmentCount","processPath","centerPoint","clonedPath","TransformPropertyFactory","defaultVector","TransformProperty","appliedTransformations","py","pz","rx","ry","rz","_isDirty","applyToMatrix","mat","forceRender","precalculateMatrix","autoOriented","v2","getValueAtTime","autoOrient","_addDynamicProperty","getTransformProperty","RepeaterModifier","RoundCornersModifier","floatEqual","floatZero","lerp","lerpPoint","quadRoots","singleRoot","polynomialCoefficients","singlePoint","PolynomialBezier","linearize","pointEqual","coeffx","coeffy","extrema","intersectData","t2","boundingBox","splitData","boxIntersect","intersectsImpl","tolerance","intersections","maxRecursion","d1s","d2s","crossProduct","lineIntersection","start1","end1","start2","end2","v3","polarOffset","pointDistance","ZigZagModifier","setPoint","outputBezier","amplitude","outAmplitude","inAmplitude","angO","angI","getPerpendicularVector","vector","rot","getProjectingAngle","prevIndex","pVector","zigZagCorner","frequency","pointType","prevPoint","nextPoint","prevDist","nextDist","zigZagSegment","normalAngle","linearOffset","offsetSegment","p1a","p1b","p2b","p2a","joinLines","seg1","seg2","lineJoin","miterLimit","angleOut","tangentAngle","angleIn","center","radius","getIntersection","intersect","pruneSegmentIntersection","outa","outb","pruneIntersections","offsetSegmentSplit","flex","inflectionPoints","OffsetPathModifier","getFontProperties","fontData","fStyle","fWeight","pMatrix","rMatrix","sMatrix","tMatrix","applyTransforms","inv","scaleX","scaleY","elemsData","_currentCopies","_groups","resetElements","_processed","cloneElements","newElements","changeGroupRender","renderFlag","_render","itemsTransform","cont","hasReloaded","copies","ix","reloadShapes","elems","transformData","offsetModulo","roundOffset","pProps","rProps","sProps","iteration","mProps","rd","currentV","currentI","currentO","closerV","newPosPerc","derivative","denom","tcusp","p10","p11","p20","p21","shapeSegmentInverted","pointsType","lj","inputBezier","multiSegments","lastSeg","multiSegment","FontManager","emptyChar","combinedCharacters","BLACK_FLAG_CODE_POINT","surrogateModifiers","setUpNode","family","fontVariant","letterSpacing","familyArray","enabledFamilies","trimFontOptions","createHelper","fontProps","tHelper","fFamily","fClass","tCanvasHelper","OffscreenCanvas","getComputedTextLength","getCodePoint","isRegionalCode","Font","typekitLoaded","_warned","setIsLoadedBinded","setIsLoaded","checkLoadedFontsBinded","checkLoadedFonts","isModifier","firstCharCode","secondCharCode","isZeroWidthJoiner","charCode","isFlagEmoji","isCombinedCharacter","_char3","isRegionalFlag","isVariationSelector","fontPrototype","fontArr","_pendingFonts","loadedSelector","shouldLoadFont","monoCase","sansCase","fPath","fOrigin","getCharData","_char","getFontByName","fName","_char2","fontName","doubleSize","singleSize","loadedCount","SlotManager","slotFactory","RenderableElement","initRenderable","isInRange","isTransparent","renderableComponents","addRenderableComponent","removeRenderableComponent","prepareRenderableFrame","checkLayerLimits","checkTransparency","finalTransform","mProp","renderConfig","hideOnTransparent","renderRenderable","sourceRectAtTime","getLayerSize","textData","getBlendMode","blendModeEnums","SliderEffect","AngleEffect","ColorEffect","PointEffect","LayerIndexEffect","MaskIndexEffect","CheckboxEffect","NoValueEffect","EffectsManager","effectElements","effectItem","GroupEffect","BaseElement","FrameElement","FootageElement","imageLoader","initBaseData","AudioElement","_isPlaying","_canPlay","_currentTime","_volumeMultiplier","_previousVolume","_placeholder","BaseRenderer","eff","checkMasks","LayerExpressionInterface","EffectsExpressionInterface","ShapeExpressionInterface","TextExpressionInterface","CompExpressionInterface","layerInterface","maskManager","registerMaskInterface","effectsInterface","createEffectsInterface","registerEffectsInterface","shapeInterface","shapesData","itemsData","textInterface","setBlendMode","blendModeValue","baseElement","layerElement","layerId","effectsManager","prepareProperties","_isParent","getBaseElement","FootageInterface","getFootageData","timeRemapped","totalVolume","volumeValue","checkLayers","buildItem","checkPendingElements","createItem","createImage","createComp","createSolid","createNull","createShape","createText","createCamera","createFootage","buildAllItems","pInterface","progressiveLoad","buildElementParenting","parentName","hierarchy","setAsParent","setHierarchy","addPendingElement","pendingElements","pathValue","setupGlobalData","fontsContainer","animationItem","compSize","effectTypes","TRANSFORM_EFFECT","TransformElement","MaskElement","maskElement","viewData","solidPath","expansor","feMorph","currentMasks","maskType","maskRef","getShapeProp","lastPath","filterID","expan","lastOperator","filterId","lastRadius","createLayerSolidPath","invRect","drawPath","maskedElement","initTransform","_matMdf","_localMatMdf","_opMdf","localMat","localOpacity","renderTransform","finalMat","renderLocalTransform","localTransforms","lmat","localOp","searchEffectTransforms","renderableEffectsManager","transformEffects","getEffects","globalToLocal","ptNew","mHelper","getMaskProperty","isFirstFrame","getMaskelement","pathNodes","pathString","pathShapeValue","filtersFactory","filId","skipCoordinates","fil","feColorMatrix","featureSupport","svgLumaHidden","offscreenCanvas","registeredEffects$1","idPrefix","SVGEffects","filterManager","createFilter","Effect","countsAsEffect","registerEffect$1","SVGBaseElement","HierarchyElement","RenderableDOMElement","IImageElement","initElement","sourceRect","ProcessedElement","IShapeElement","initRendererElement","createContainerElements","matteElement","transformedElement","_sizeChanged","layerElementParent","matteMasks","gg","clipId","cpGroup","renderElement","destroyBaseElement","createRenderableComponents","getMatte","matteType","useElement","masker","createAlphaToLuminanceFilter","maskGroup","maskGrouper","feCTr","feFunc","alphaRect","setMatte","initHierarchy","checkParenting","createContent","renderInnerContent","innerElem","imagePreserveAspectRatio","addShapeToModifiers","shapeModifiers","isShapeInAnimatedModifiers","isAnimatedWithShape","renderModifiers","searchProcessedElement","processedElements","addProcessedElement","lineCapEnum","lineJoinEnum","SVGShapeData","transformers","lStr","SVGStyleData","pElem","msElem","DashProperty","dataProps","dashStr","dashArray","dashoffset","SVGStrokeStyleData","styleOb","SVGFillStyleData","SVGNoStyleData","GradientProperty","cLength","_cmdf","_omdf","_collapsable","checkCollapsable","_hasOpacity","SVGGradientFillStyleData","initGradientData","SVGGradientStrokeStyleData","ShapeGroupData","prevViewData","SVGTransformData","comparePoints","stops","setGradientData","setGradientOpacity","pathElement","gradientId","gfill","cst","opacityId","maskId","opFill","ost","buildShapeString","shapeString","SVGElementsRenderer","_identityMatrix","_matrixHelper","renderContentTransform","styleData","itemData","renderNoop","renderPath","pathStringTransformed","redraw","iterations","lLen","renderFill","styleElem","renderGradientStroke","renderGradient","renderStroke","hasOpacity","attr1","attr2","cValues","oValues","ang","createRenderFunction","SVGShapeElement","stylesList","animatedContents","LetterProps","sw","TextProperty","_frameId","keysIndex","canResize","minimumFontSize","currentData","ascent","boxWidth","defaultBoxWidth","justifyOffset","lineWidths","fillColorAnim","strokeColorAnim","strokeWidthAnim","finalSize","finalText","finalLineHeight","copyData","searchProperty","completeTextData","initSecondaryElement","identityMatrix","buildExpressionInterface","searchShapes","filterUniqueShapes","tempShapes","areAnimated","setShapesAsAnimated","createStyleElement","elementData","addToAnimatedContents","createGroupElement","createTransformElement","transformProperty","createShapeElement","ownTransformers","setElementStyles","currentTransform","processedPos","ownStyles","ownModifiers","renderShape","animatedContent","updated","setCurrentData","searchKeyframes","getKeyframeValue","_finalValue","currentIndex","textKeys","buildFinalText","charactersArray","shouldCombine","shouldCombineNext","currentChars","newLineFlag","anchorGrouping","currentPos","lineWidth","maxLineWidth","trackingOffset","boxHeight","lastSpaceIndex","currentChar","uncollapsedSpaces","anIndexes","animatorJustifyOffset","extra","animatorData","letterData","based","animators","fb","totalChars","newInd","currentInd","dData","recalculate","canResizeFont","_canResize","setMinimumFontSize","_fontValue","TextSelectorProp","TextSelectorPropFactory","_currentTextLength","finalS","finalE","getMult","textProperty","easer","tot","smoothness","newCharsFlag","getTextSelectorProp","TextAnimatorDataProperty","animatorProps","defaultData","textAnimatorAnimatables","TextAnimatorProperty","renderType","_hasMaskedPath","_textData","_renderType","_elem","_animatorsData","_pathData","_moreOptions","renderedLetters","lettersChangedFlag","ITextElement","searchProperties","getMeasures","xPos","yPos","currentPoint","pointInd","segmentInd","tanAngle","matrixHelper","renderedLettersCount","tLength","letterValue","yOff","firstLine","offf","xPathPos","yPathPos","elemOpacity","letterSw","letterSc","letterFc","letterO","initPathPos","initSegmentInd","initPointInd","letterM","letterP","defaultPropsArray","animatorFirstCharOffset","justifyOffsetMult","isNewLine","animatorOffset","atan","textAnimator","createPathShape","shapeStr","_fontSize","applyTextPropertiesToMatrix","lineNumber","buildColor","colorData","emptyProp","validateText","buildNewText","emptyShapeData","SVGTextLottieElement","textSpans","ISolidElement","NullElement","SVGRendererBase","ICompElement","SVGCompElement","supports3d","SVGRenderer","svgElement","titleElement","titleId","descElement","descId","contentVisibility","viewBoxOnly","viewBoxSize","filterSize","runExpressions","destroyed","ShapeTransformManager","sequences","sequenceList","transform_key_count","singleShape","textContainer","buildTextContents","textArray","textContents","currentTextContent","buildShapeData","shapeItem","tSpan","usesGlyphs","cachedSpansLength","childSpan","glyph","glyphElement","tElement","justify","textBox","bbox","renderedLetter","textSpan","findIndexByInd","appendElementInPos","matteMask","nextElement","setElements","getElements","destroyElements","addTransformSequence","sequence","processSequence","processSequences","getNewKey","lumaLoader","lumaBuffer","lumaBufferCtx","loadLuma","_svg","createCanvas","loadLumaCanvas","getLumaCanvas","registeredEffects","CVEffects","registerEffect","CVMaskElement","hasMasks","CVBaseElement","canvasContext","beginPath","moveTo","lineTo","bezierCurveTo","save","operationsMap","CVShapeData","transformsManager","styledShapes","styledShape","trNodes","CVShapeElement","CVTextElement","stroke","currentRender","sWidth","fValue","CVImageElement","CVSolidElement","CanvasRendererBase","CanvasContext","strokeStyle","lineCap","CVContextData","cArrPos","cTr","nativeContext","transformMat","currentOpacity","currentFillStyle","appliedFillStyle","currentStrokeStyle","appliedStrokeStyle","currentLineWidth","appliedLineWidth","currentLineCap","appliedLineCap","currentLineJoin","appliedLineJoin","appliedMiterLimit","currentMiterLimit","CVCompElement","CanvasRenderer","clearCanvas","dpr","devicePixelRatio","currentGlobalAlpha","contextData","ctxTransform","ctxOpacity","ctxFillStyle","ctxStrokeStyle","ctxLineWidth","ctxLineCap","ctxLineJoin","ctxMiterLimit","ctxFill","ctxFillRect","ctxStroke","HBaseElement","HSolidElement","HShapeElement","shapesContainer","currentBBox","HTextElement","textPaths","HCameraElement","_prevMat","HImageElement","HybridRendererBase","threeDElements","camera","HCompElement","HybridRenderer","createElements","bufferCanvas","bufferCanvas2","_isProxy","transformCanvas","globalCompositeOperation","prepareLayer","bufferCtx","drawImage","getTransform","exitLayer","forceRealStack","transformHelper","dashResetter","preTransforms","addTransformToStyleList","removeTransformFromStyleList","closeStyles","ownTransforms","_shouldRender","renderShapeTransform","parentTransform","groupTransform","drawLayer","coOp","grd","setLineDash","lineDashOffset","closePath","isMain","renderGradientFill","renderStyledShape","shapeNodes","groupTransformMat","createLinearGradient","createRadialGradient","addColorStop","hasFill","hasStroke","pathArr","commandsCounter","lastFill","lastStroke","lastStrokeW","widthCrop","heightCrop","imgW","imgH","imgRel","canvasRel","par","globalAlpha","actionFlag","containerStyle","mozTransformOrigin","isDashed","elementRel","animationRel","fillType","newLength","forceRestore","prevStack","saveOnNativeFlag","currentStack","newStack","setOpacity","trProps","checkBlendMode","transformedElementStyle","matrixValue","addEffects","_renderShapeFrame","shapeCont","getTransformedPoint","calculateShapeBoundingBox","vPoint","oPoint","nextIPoint","nextVPoint","checkBounds","getBoundsOfCurve","shapeBoundingBox","xMax","yMax","tempBoundingBox","b2ac","calculateF","calculateBoundingBox","expandStrokeBoundingBox","widthProperty","kfw","currentBoxContains","shapeStyle","shapeTransform","compW","compH","innerElemStyle","textColor","strokeWidth","tParent","tCont","tContStyle","tContTranslation","tStyle","tSpanTranslation","svgStyle","translation","textPath","svgTransform","perspectiveStyle","perspectiveElem","perspective","webkitPerspective","mTransf","diffVector","mag","lookDir","lookLengthOnXZ","mRotationX","mRotationY","hasMatrixChanged","matValue","Image","imageElem","newDOMElement","addTo3dContainer","nextDOMElement","nextLayer","getThreeDContainerByPos","startPos","endPos","createThreeDContainer","threeDContainerData","build3dContainers","lastThreeDContainerData","currentContainer","resizerElem","cWidth","cHeight","floatingContainer","_createBaseContainerElements","_thisLayerFunction","pixelAspect","frameDuration","displayStartTime","numLayers","_typeof$2","seedRandom","rngname","startdenom","significance","ARC4","keylen","typ","mixkey","seed","smear","stringseed","tostring","shortseed","entropy","autoseed","arc4","prng","int32","quick","is_math_call","initialize$2","propTypes","SHAPE","_typeof$1","ExpressionManager","_lottieGlobal","$bm_isInstanceOfArray","isNumerable","tOfV","$bm_neg","tOfA","lenA","retArr","easeInBez","easeOutBez","easeInOutBez","tOfB","lenB","$bm_sum","$bm_sub","$bm_mul","$bm_div","$bm_mod","radiansToDegrees","radians_to_degrees","degreesToRadians","degrees_to_radians","helperLengthArray","vec","rgbToHsl","hue2rgb","hslToRgb","linear","tMin","tMax","value1","value2","_tMin","rnd","createPath","inTangents","outTangents","inVertexPoint","outVertexPoint","arrPlaceholder","initiateExpression","noOp","needsVelocity","_needsRandom","elemType","$bm_transform","thisProperty","valueAtTime","inPoint","outPoint","loopIn","loop_in","loopOut","loop_out","smooth","toWorld","fromWorld","fromComp","toComp","fromCompToSurface","rotation","anchorPoint","thisLayer","thisComp","velocityAtTime","scoped_bm_rt","expression_function","numKeys","wiggle","freq","amp","iWiggle","lenWiggle","addedAmps","periods","loopInDuration","loopOutDuration","getVelocityAtTime","textIndex","textTotal","selectorValue","lookAt","elem1","fVec","pitch","easeOut","applyEase","easeIn","ease","iKey","lenKey","nearestKey","obKey","framesToTime","fps","timeToFrames","seedrandom","randSeed","posterizeTime","framesPerSecond","hasParent","executeExpression","frameExpressionId","__preventDeadCodeRemoval","Expressions","stackCount","registers","pushExpression","popExpression","releaseInstances","registerExpressionProperty","MaskManagerInterface","MaskInterface","_mask","_masksInterfaces","ExpressionPropertyInterface","defaultUnidimensionalValue","defaultMultidimensionalValue","completeProperty","expressionValue","valueProp","speedAtTime","getSpeedAtTime","propertyGroup","defaultGetter","UnidimensionalPropertyInterface","MultidimensionalPropertyInterface","TransformExpressionInterface","_thisFunction","xRotation","yRotation","zPosition","_px","_py","_pz","_transformFactory","getMatrix","toWorldMat","toWorldVec","applyPoint","fromWorldVec","invertPoint","sampleImage","transformInterface","anchorPointDescriptor","anchor_point","propertyGroupFactory","interfaceFunction","parentPropertyGroup","PropertyInterface","effectsData","createGroupInterface","groupInterface","_propertyGroup","createValueInterface","numProperties","expressionProperty","setGroupProperty","ShapePathInterface","propertyIndex","iterateElements","groupInterfaceFactory","fillInterfaceFactory","strokeInterfaceFactory","trimInterfaceFactory","ellipseInterfaceFactory","starInterfaceFactory","rectInterfaceFactory","roundedInterfaceFactory","repeaterInterfaceFactory","gradientFillInterfaceFactory","defaultInterfaceFactory","transformInterfaceFactory","cix","contentsInterfaceFactory","startPoint","endPoint","_dashPropertyGroup","dashOb","addPropertyToDashOb","dash","skewAxis","outerRadius","outerRoundness","innerRoundness","innerRadius","_interfaceFunction","_sourceText","sourceText","stringValue","fillColor","dataInterfaceFactory","outlineInterface","currentPropertyName","currentProperty","propertyNameIndex","outlineInterfaceFactory","dataInterface","footage","getInterface","expressionHelpers","searchExpressions","_cachingAtTime","getStaticValueAtTime","addPropertyDecorator","durationFlag","cycleDuration","firstKeyFrame","lastKeyFrame","initV","endV","repeats","lastValue","nextLastValue","firstValue","nextFirstValue","samples","sampleValue","sampleFrequency","getTransformValueAtTime","_transformCachingAtTime","anchor","rotationZ","rotationY","rotationX","positionX","positionY","positionZ","getTransformStaticValueAtTime","propertyGetProp","ShapePropertyConstructorFunction","getConstructorFunction","KeyframedShapePropertyConstructorFunction","getKeyframedConstructorFunction","ShapeExpressions","isClosed","pointOnPath","_segmentsLength","accumulatedLength","initIndex","endIndex","vectorOnPath","vectorType","xLength","yLength","magnitude","tangentOnPath","normalOnPath","shapeValue","propertyGetShapeProp","trims","initialize$1","addDecorator","getExpressionValue","calculateExpression","isKeyframed","hasExpressions","SVGComposableEffect","createMergeNode","resultId","feMergeNode","feMerge","linearFilterValue","SVGTintFilter","linearFilter","matrixFilter","SVGFillFilter","SVGStrokeEffect","SVGTritoneFilter","feComponentTransfer","feFuncR","feFuncG","feFuncB","SVGProLevelsFilter","createFeFunc","feFuncA","feFuncRComposed","feFuncGComposed","feFuncBComposed","SVGDropShadowEffect","globalFilterSize","feGaussianBlur","feOffset","feFlood","feComposite","colorBlack","colorWhite","groupPath","elemChildren","pathMasker","dasharrayValue","getTotalLength","lineLength","color1","color2","color3","tableR","tableG","tableB","getTableValue","inputBlack","inputWhite","gamma","outputBlack","outputWhite","colorValue","outputDelta","inputDelta","_svgMatteSymbols","SVGMatte3Effect","filterElem","SVGGaussianBlurEffect","TransformEffect","SVGTransformEffect","CVTransformEffect","findSymbol","replaceInParent","symbolId","nextChild","useElem","setElementAsMask","sigma","sigmaX","sigmaY","edgeMode","forceFrame","isUniformScale","scaleHeight","scaleWidth","ansiColors","bold","underline","inverse","strike","brightblack","brightred","brightgreen","brightyellow","brightblue","brightmagenta","brightcyan","brightwhite","special","boolean","truncator","colorise","styleType","normaliseOptions","_ref$showHidden","_ref$depth","_ref$colors","_ref$customInspect","_ref$showProxy","_ref$maxArrayLength","_ref$breakLength","_ref$seen","_ref$truncate","_ref$stylize","stylize","tailLength","inspectList","inspectItem","originalLength","truncated","secondToLast","truncatedLength","quoteComplexKey","inspectProperty","inspectArray","nonIndexProperties","listContents","propertyContents","maxFunctionSourceLength","getFuncName_1","getArrayName","inspectTypedArray","inspectDate","dateObject","stringRepresentation","inspectFunction","inspectMapEntry","mapToEntries","inspectMap","inspectNumber","inspectBigInt","nums","inspectRegExp","inspectSet","stringEscapeChars","escapeCharacters","unicodeLength","inspectString","inspectSymbol","getPromiseValue","_process$binding","getPromiseDetails","kPending","kRejected","_getPromiseDetails2","innerValue","notNode","inspectPromise","inspectObject","symbolContents","inspectClass","inspectArguments","errorKeys","inspectObject$1","inspectAttribute","inspectHTMLCollection","inspectHTML","getAttributeNames","headClose","chaiInspect","nodeInspect","noNodeInspect","constructorMap","stringTagMap","baseTypesMap","Generator","NodeList","inspectCustom","registerConstructor","inspector","registerStringTag","$isNaN","moment","defineLocale","meridiemParse","isPM","isLower","longDateFormat","calendar","sameDay","nextDay","lastDay","sameElse","dayOfMonthOrdinalParse","dow","doy","pluralForm","plurals","pluralize","withoutSuffix","isFuture","weekdaysParseExact","postformat","symbolMap","preparse","numberMap","suffixes","relativeTimeWithPlural","isFormat","ww","lastDigit","last2Digits","meridiemHour","monthsShortRegex","monthsParseExact","relativeTimeWithMutation","mutation","specialMutationForYears","lastNumber","softMutation","mutationTable","monthsParse","monthsRegex","monthsStrictRegex","monthsShortStrictRegex","fullWeekdaysParse","shortWeekdaysParse","minWeekdaysParse","weekdaysParse","longMonthsParse","shortMonthsParse","processRelativeTime","lll","llll","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","mom","_calendarEl","monthsShortDot","numbersPast","numbersFuture","verbalNumber","monthsShortWithDots","monthsShortWithoutDots","weekEndings","eras","since","until","eraYearOrdinalRegex","eraYearOrdinalParse","$2","isUpper","ezafeNumSuffix","processFutureTime","eifelerRegelAppliesToNumber","processPastTime","translateSeconds","translateSingular","relativeTimeWithSingular","relativeSeconds","correctGrammaticalCase","wordKey","relativeTimeMr","monthsNominative","monthsSubjective","numbersNouns","translateFuture","translatePast","numberNoun","numberAsNoun","hundred","ten","weekdaysCaseReplace","nominative","accusative","genitive","processHoursFunction","hookCallback","setHookCallback","hasOwnProp","isObjectEmpty","createUTC","createLocalOrUTC","defaultParsingFlags","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","rfc2822","weekdayMismatch","getParsingFlags","_pf","parsedParts","isNowValid","invalidWeekday","_strict","bigHour","_isValid","createInvalid","momentProperties","updateInProgress","copyConfig","momentPropertiesLen","_isAMomentObject","_tzm","_isUTC","_locale","Moment","updateOffset","isMoment","suppressDeprecationWarnings","deprecate","firstTime","deprecationHandler","deprecations","deprecateSimple","_dayOfMonthOrdinalParseLenient","_dayOfMonthOrdinalParse","_ordinalParse","parentConfig","childConfig","Locale","defaultCalendar","_calendar","zeroFill","forceSign","absNumber","zerosToFill","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","padded","localeData","removeFormattingTokens","makeFormatFunction","formatMoment","expandFormat","replaceLongDateFormatTokens","defaultLongDateFormat","_longDateFormat","formatUpper","tok","defaultInvalidDate","_invalidDate","defaultOrdinal","defaultDayOfMonthOrdinalParse","_ordinal","defaultRelativeTime","_relativeTime","pastFuture","dates","weekday","isoweekdays","isoweekday","DDD","dayofyears","dayofyear","quarters","weekyears","weekyear","isoweekyears","isoweekyear","isoweeks","isoweek","normalizeUnits","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","isoWeekday","getPrioritizedUnits","unitsObj","regexes","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchTimestamp","matchWord","match1to2NoLeadingZero","match1to2HasZero","addRegexToken","strictRegex","getParseRegexForToken","unescapeFormat","regexEscape","absFloor","toInt","argumentForCoercion","coercedNumber","addParseToken","tokenLen","addWeekParseToken","addTimeToArrayFromToken","YEAR","MONTH","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","daysInYear","getSetYear","makeGetSet","getIsLeapYear","keepTime","setUTCMilliseconds","setMilliseconds","setUTCSeconds","setSeconds","setUTCMinutes","setMinutes","setHours","setDate","setFullYear","stringGet","stringSet","prioritized","prioritizedLen","modMonth","defaultLocaleMonths","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","localeMonths","_months","localeMonthsShort","_monthsShort","handleStrictParse","monthName","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","localeMonthsParse","_monthsParseExact","setMonth","getSetMonth","getDaysInMonth","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","_monthsStrictRegex","_monthsRegex","cmpLenRev","shortP","longP","shortPieces","longPieces","mixedPieces","createDate","createUTCDate","firstWeekOffset","fwd","dayOfYearFromWeeks","resYear","resDayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","localeWeek","_week","defaultLocaleWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","parseIsoWeekday","shiftWeekdays","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","localeWeekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getSetLocaleDayOfWeek","getSetISODayOfWeek","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","kFormat","matchMeridiem","_meridiemParse","localeIsPM","kInput","_isPm","_meridiem","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","localeMeridiem","globalLocale","locales","localeFamilies","commonPrefix","minl","normalizeLocale","chooseLocale","loadLocale","isLocaleNameSane","oldLocale","_abbr","aliasedRequire","getSetGlobalLocale","getLocale","parentLocale","updateLocale","tmpLocale","listLocales","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","isoDatesLen","isoTimesLen","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","untruncateYear","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","calculateOffset","obsOffset","militaryOffset","numOffset","configFromRFC2822","parsedArray","configFromString","createFromInputFallback","currentDateArray","nowValue","_useUTC","configFromArray","currentDate","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","weekdayOverflow","curWeek","createLocal","ISO_8601","RFC_2822","totalParsedInputLength","meridiemFixWrap","erasConvertYear","isPm","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","configfLen","configFromObject","dayOrDate","createFromConfig","prepareConfig","configFromInput","prototypeMin","prototypeMax","moments","ordering","isDurationValid","unitHasDecimal","orderLen","isValid$1","createInvalid$1","createDuration","Duration","_milliseconds","_days","_bubble","isDuration","absRound","compareArrays","array1","array2","dontConvert","lengthDiff","diffs","offsetFromString","chunkOffset","cloneWithOffset","setTime","getDateOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","setOffsetToParsedOffset","tZone","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","isLocal","isUtcOffset","isUtc","aspNetRegex","isoRegex","diffRes","parseIso","momentsDifference","inp","positiveMomentsDifference","createAdder","isAdding","isMomentInput","isNumberOrStringArray","isMomentInputObject","objectTest","propertyTest","arrayTest","dataTypeTest","isCalendarSpec","getCalendarFormat","myMoment","calendar$1","sod","calendarFormat","localInput","isBetween","inclusivity","localFrom","localTo","inputMs","isSameOrAfter","isSameOrBefore","asFloat","zoneDelta","monthDiff","wholeMonthDiff","keepOffset","datetime","defaultFormatUtc","defaultFormat","humanize","newLocaleData","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","localStartOfDate","utcStartOfDate","startOfDate","toObject","isValid$2","parsingFlags","invalidAt","creationData","localeEras","_eras","localeErasParse","eraName","localeErasConvertYear","getEraName","getEraNarrow","getEraAbbr","getEraYear","erasNameRegex","computeErasParse","_erasNameRegex","_erasRegex","erasAbbrRegex","_erasAbbrRegex","erasNarrowRegex","_erasNarrowRegex","matchEraAbbr","matchEraName","matchEraNarrow","matchEraYearOrdinal","_eraYearOrdinalRegex","erasName","erasAbbr","erasNarrow","abbrPieces","namePieces","narrowPieces","addWeekYearFormatToken","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getISOWeeksInISOWeekYear","getWeeksInYear","weekInfo","getWeeksInWeekYear","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","erasParse","getSetDayOfMonth","getSetDayOfYear","getSetMinute","getSetMillisecond","getSetSecond","parseMs","getZoneAbbr","getZoneName","createUnix","createInZone","parseZone","preParsePostFormat","eraNarrow","eraAbbr","eraYear","isoWeeks","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","isDST","zoneAbbr","zoneName","isDSTShifted","proto$1","get$1","listMonthsImpl","listWeekdaysImpl","localeSorted","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","firstDayOfYear","langData","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","makeAs","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","valueOf$1","clone$1","makeGetter","substituteTimeAgo","relativeTime$1","posNegDuration","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","argWithSuffix","argThresholds","withSuffix","abs$1","toISOString$1","totalSign","ymSign","daysSign","hmsSign","proto$2","toIsoString","relativeTimeRounding","relativeTimeThreshold","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME_SECONDS","TIME_MS","mustache","primitiveHasOwnProperty","regExpTest","nonSpaceRe","isWhitespace","testRegExp","entityMap","whiteRe","spaceRe","equalsRe","curlyRe","tagRe","Scanner","parentContext","Writer","eos","scan","scanUntil","lookupHit","clearCache","openingTagRe","closingTagRe","closingCurlyRe","sections","nonSpace","stripSpace","compileTags","tagsToCompile","openSection","scanner","valueLength","nestedTokens","collector","numTokens","nestTokens","squashedTokens","squashTokens","parseTemplate","renderTokens","originalTemplate","renderSection","renderInverted","renderPartial","unescapedValue","rawValue","defaultWriter","to_html","zero","two","three","four","five","six","seven","eight","nine","eleven","twelve","toOrdinal","toWords","toWordsOrdinal","numberToWords","propIsEnumerable","test1","test2","test3","letter","shouldUseNative","hasMap","mapSizeDescriptor","mapSize","mapForEach","hasSet","setSizeDescriptor","setForEach","weakMapHas","weakSetHas","weakRefDeref","deref","booleanValueOf","functionToString","$match","$slice","$toUpperCase","$toLowerCase","$test","$join","$arrSlice","$floor","bigIntValueOf","gOPS","symToString","hasShammedSymbols","gPO","addNumericSeparator","sepRegex","int","intStr","utilInspect","quotes","single","quoteREs","wrapQuotes","defaultStyle","quoteStyle","quoteChar","canTrustToString","inspect_","maxStringLength","numericSeparator","bigIntStr","baseIndent","getIndent","noIndent","newOpts","nameOf","arrObjKeys","symString","markBoxed","singleLineValues","indentedJoin","mapParts","collectionOf","setParts","weakCollectionOf","isWeakRef","isBigInt","protoTag","trailer","quoteRE","lowbyte","lineJoiner","symMap","keysShim","isArgs","hasDontEnumBug","hasProtoEnumBug","dontEnums","equalsConstructorPrototype","excludedKeys","$applicationCache","$console","$external","$frame","$frameElement","$frames","$innerHeight","$innerWidth","$onmozfullscreenchange","$onmozfullscreenerror","$outerHeight","$outerWidth","$pageXOffset","$pageYOffset","$parent","$scrollLeft","$scrollTop","$scrollX","$scrollY","$self","$webkitIndexedDB","$webkitStorageInfo","$window","hasAutomationEqualityBug","theKeys","skipProto","skipConstructor","equalsConstructorPrototypeIfNotBuggy","origKeys","originalKeys","keysWorksWithArguments","$push","$propIsEnumerable","originalGetSymbols","source1","nextKey","lacksProperEnumerationOrder","thrower","assignHasPendingExceptions","TYPED_OK","shrinkBuf","fnTyped","arraySet","src_offs","dest_offs","flattenChunks","fnUntyped","setTyped","Buf8","Buf16","Buf32","adler","Z_TREES","Z_NO_COMPRESSION","Z_BEST_SPEED","Z_BEST_COMPRESSION","Z_BINARY","Z_TEXT","Z_UNKNOWN","crcTable","makeTable","crc","configuration_table","trees","adler32","crc32","MAX_MATCH","MIN_LOOKAHEAD","HCRC_STATE","BUSY_STATE","FINISH_STATE","rank","flush_pending","pending_buf","pending_out","total_out","flush_block_only","_tr_flush_block","block_start","strstart","put_byte","putShortMSB","read_buf","total_in","longest_match","cur_match","chain_length","max_chain_length","best_len","prev_length","nice_match","w_size","wmask","w_mask","strend","scan_end1","scan_end","good_match","match_start","fill_window","more","_w_size","window_size","hash_size","ins_h","hash_shift","hash_mask","deflate_fast","hash_head","bflush","match_length","_tr_tally","max_lazy_match","MIN_MATCH","last_lit","deflate_slow","max_insert","prev_match","match_available","Config","good_length","max_lazy","nice_length","max_chain","DeflateState","pending_buf_size","gzhead","gzindex","last_flush","w_bits","hash_bits","dyn_ltree","HEAP_SIZE","dyn_dtree","bl_tree","l_desc","d_desc","bl_desc","bl_count","MAX_BITS","heap","heap_len","heap_max","l_buf","lit_bufsize","d_buf","opt_len","static_len","bi_buf","bi_valid","deflateResetKeep","data_type","_tr_init","max_block_size","max_start","deflateInit","deflateSetHeader","old_flush","beg","hcrc","bstate","deflate_huff","deflate_rle","_tr_align","_tr_stored_block","avail","tmpDict","dictLength","deflateInfo","_in","_out","dmax","wsize","whave","wnext","s_window","bits","lcode","dcode","lmask","dmask","from_source","lencode","distcode","lenbits","distbits","dolen","sane","inflate_fast","inflate_table","BAD","zswap32","InflateState","havedict","wbits","ncode","nlen","ndist","work","lendyn","distdyn","back","was","inflateResetKeep","inflateReset2","lenfix","distfix","virgin","fixedtables","updatewindow","inflateInit","here_bits","here_op","here_val","last_bits","last_op","last_val","hbuf","inf_leave","xflags","extra_len","inflateGetHeader","inflateInfo","MAXBITS","lbase","lext","dbase","dext","lens_index","table_index","incr","curr","huff","base_index","offs","extra_index","L_CODES","D_CODES","extra_lbits","extra_dbits","extra_blbits","bl_order","static_ltree","static_dtree","_dist_code","_length_code","base_length","static_l_desc","static_d_desc","static_bl_desc","base_dist","StaticTreeDesc","static_tree","extra_bits","extra_base","max_length","has_stree","TreeDesc","dyn_tree","stat_desc","max_code","d_code","put_short","send_bits","send_code","bi_reverse","gen_codes","next_code","init_block","END_BLOCK","bi_windup","smaller","_n2","_m2","pqdownheap","compress_block","ltree","dtree","lx","build_tree","stree","xbits","gen_bitlen","scan_tree","curlen","prevlen","nextlen","max_count","min_count","REP_3_6","REPZ_3_10","REPZ_11_138","send_tree","static_init_done","stored_len","copy_block","LENGTH_CODES","tr_static_init","opt_lenb","static_lenb","max_blindex","black_mask","detect_data_type","BL_CODES","build_bl_tree","lcodes","dcodes","blcodes","send_all_trees","STATIC_TREES","bi_flush","tokensToFunction","tokensToRegExp","DEFAULT_DELIMITER","PATH_REGEXP","defaultDelimiter","whitelist","pathEscaped","escaped","escapeGroup","escapeString","sensitive","isEndDelimited","groups","regexpToRegexp","arrayToRegexp","stringToRegexp","normalizeArray","allowAboveRoot","trimArray","splitDeviceRe","splitTailRe","win32","win32SplitPath","device","result2","win32StatPath","isUnc","normalizeUNCRoot","resolvedDevice","resolvedTail","resolvedAbsolute","trailingSlash","lowerFrom","lowerTo","toParts","lowerFromParts","lowerToParts","samePartsLength","outputParts","_makeLong","resolvedPath","basename","extname","pathObject","allParts","splitPathRe","posix","posixSplitPath","fromParts","parsePath","mArr","internalGetPathValue","pathDepth","temporaryValue","getPathValue","setPathValue","tempObj","propVal","internalSetPathValue","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","propFullName","secret","getShim","isRequired","ReactPropTypes","arrayOf","objectOf","oneOfType","checkPropTypes","PropTypes","maxInt","regexPunycode","regexNonASCII","regexSeparators","stringFromCharCode","mapDomain","encoded","ucs2decode","ucs2encode","basicToDigit","digitToBasic","digit","adapt","numPoints","baseMinusTMin","bias","basic","oldi","baseMinusT","basicLength","handledCPCount","handledCPCountPlusOne","qMinusT","toUnicode","toASCII","percentTwenties","Format","RFC1738","RFC3986","allowDots","allowEmptyArrays","allowPrototypes","allowSparse","arrayLimit","charset","charsetSentinel","comma","decodeDotInKeys","decoder","duplicates","interpretNumericEntities","parameterLimit","parseArrays","strictDepth","strictMerge","throwOnLimitExceeded","numberStr","parseArrayValue","currentArrayLength","parseKeys","givenKey","valuesParsed","segmentContent","splitKeyIntoSegments","parentKey","leaf","isOverflow","combine","cleanRoot","decodedRoot","isValidArrayIndex","markOverflow","normalizeParseOptions","cleanStr","skipIndex","bracketEqualsPos","maybeMap","encodedVal","parseValues","getSideChannel","arrayPrefixGenerators","brackets","pushToArray","valueOrArray","toISO","commaRoundTrip","encodeDotInKeys","encodeValuesOnly","serializeDate","skipNulls","sentinel","generateArrayPrefix","sideChannel","tmpSc","findFlag","objKeys","encodedPrefix","adjustedPrefix","encodedKey","valueSideChannel","normalizeStringifyOptions","overflowChannel","maxIndex","getMaxIndex","setMaxIndex","hexTable","arrayToObject","newIndex","compacted","compactQueue","defaultDecoder","strWithoutPlus","defaultEncoder","combined","mergeTarget","targetItem","keyNum","extractEvents","eventTypes","phasedRegistrationNames","registrationName","stateNode","acceptsBooleans","attributeNamespace","mustUseProperty","sanitizeURL","xlinkHref","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentDispatcher","ReactCurrentBatchConfig","suspense","ab","bb","eb","gb","hb","ib","jb","kb","lb","mb","nb","pb","$$typeof","qb","_debugOwner","_debugSource","rb","sb","xb","_valueTracker","setValue","stopTracking","tb","yb","zb","defaultChecked","_wrapperState","initialChecked","Ab","controlled","Bb","Cb","Db","Eb","Gb","Children","Fb","Hb","defaultSelected","Ib","dangerouslySetInnerHTML","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","MSApp","execUnsafeLocalFunction","Rb","Sb","Tb","animationend","animationiteration","animationstart","transitionend","Ub","Vb","Wb","transition","Xb","Yb","Zb","$b","alternate","effectTag","memoizedState","dehydrated","sibling","_dispatchListeners","_dispatchInstances","isPropagationStopped","isPersistent","srcElement","topLevelType","nativeEvent","targetInst","eventSystemFlags","containerInfo","blockedOn","unstable_runWithPriority","hydrate","unstable_scheduleCallback","unstable_NormalPriority","bubbled","captured","eventPriority","unstable_UserBlockingPriority","ed","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","lineClamp","orphans","tabSize","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","nd","keygen","HTMLIFrameElement","contentEditable","autoFocus","__html","dispatchConfig","_targetInst","Interface","isDefaultPrevented","eventPool","destructor","getPooled","cancelBubble","eventPhase","isTrusted","beforeInput","compositionEnd","compositionStart","compositionUpdate","keyCode","which","detachEvent","attachEvent","_isInputEventSupported","Alt","Control","Meta","Shift","fromElement","toElement","movementX","movementY","pressure","tangentialPressure","tiltX","tiltY","twist","isPrimary","mouseEnter","mouseLeave","pointerEnter","pointerLeave","anchorNode","getSelection","anchorOffset","focusNode","focusOffset","onSelect","animationName","pseudoElement","clipboardData","Esc","Spacebar","Left","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","targetTouches","wheelDeltaX","wheelDeltaY","wheelDelta","deltaZ","deltaMode","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","childContextTypes","getChildContext","__reactInternalMemoizedMergedChildContext","unstable_cancelCallback","unstable_requestPaint","unstable_now","unstable_getCurrentPriorityLevel","unstable_ImmediatePriority","Qf","unstable_LowPriority","unstable_IdlePriority","unstable_shouldYield","bg","cg","dg","fg","defaultProps","jg","kg","mg","_currentValue","pg","childExpirationTime","qg","firstContext","expirationTime","sg","observedBits","responders","ug","updateQueue","baseState","baseQueue","vg","wg","suspenseConfig","xg","zg","Ag","Bg","Cg","Dg","Eg","Component","isMounted","_reactInternalFiber","enqueueSetState","Gg","Hg","Ig","enqueueReplaceState","enqueueForceUpdate","Kg","shouldComponentUpdate","isPureReactComponent","Lg","contextType","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Ng","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Og","Pg","_owner","_stringRef","Rg","lastEffect","nextEffect","firstEffect","Sg","Tg","Ug","Vg","Wg","Xg","Yg","Zg","memoizedProps","revealOrder","responder","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","readContext","useCallback","useContext","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useResponder","useDeferredValue","useTransition","pendingProps","ReactCurrentOwner","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","getDerivedStateFromError","pendingContext","retryTime","unstable_avoidThisFallback","isBackwards","rendering","renderingStartTime","tailExpiration","tailMode","wasMultiple","onclick","__reactInternalSnapshotBeforeUpdate","componentWillUnmount","_reactRootContainer","componentDidCatch","aj","componentStack","Rj","bj","cj","dj","ej","fj","gj","hj","ij","jj","kj","mj","nj","oj","pj","qj","rj","sj","tj","uj","vj","wj","timeoutMs","xj","yj","zj","lastExpiredTime","Aj","firstPendingTime","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","Bj","Cj","Dj","Ej","Fj","Gj","Hj","finishedWork","finishedExpirationTime","lastSuspendedTime","Ij","Jj","busyMinDurationMs","busyDelayMs","Kj","Mj","Nj","pingCache","Oj","ub","Pj","Qj","Sj","firstSuspendedTime","rangeCount","wb","activeElementDetached","focusedElem","selectionRange","Tj","removeAllRanges","addRange","vb","Uj","Vj","Wj","_ctor","Xj","_calculateChangedBits","unstable_observedBits","Zj","isReactComponent","pendingChildren","ak","dk","ek","fk","_internalRoot","gk","ik","hk","kk","jk","Lj","lk","Events","findFiberByHostInstance","__REACT_DEVTOOLS_GLOBAL_HOOK__","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","Yj","overrideHookState","overrideProps","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","bundleType","rendererPackageName","createPortal","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","checkDCE","forceUpdate","__self","__source","IsSomeRendererActing","only","Profiler","PureComponent","StrictMode","Suspense","cloneElement","_currentValue2","_threadCount","Provider","Consumer","createFactory","forwardRef","isValidElement","lazy","Duplex","Readable","Writable","allowHalfOpen","onEndNT","highWaterMark","getBuffer","_readableState","PassThrough","ReadableState","EElistenerCount","OurUint8Array","debugUtil","StringDecoder","createReadableStreamAsyncIterator","BufferList","destroyImpl","getHighWaterMark","ERR_STREAM_PUSH_AFTER_EOF","ERR_METHOD_NOT_IMPLEMENTED","ERR_STREAM_UNSHIFT_AFTER_END_EVENT","errorOrDestroy","kProxyEvents","isDuplex","objectMode","readableObjectMode","pipes","pipesCount","flowing","endEmitted","reading","needReadable","emittedReadable","readableListening","resumeScheduled","emitClose","autoDestroy","defaultEncoding","awaitDrain","readingMore","_destroy","readableAddChunk","addToFront","skipChunkCheck","emitReadable","emitReadable_","onEofChunk","chunkInvalid","_uint8ArrayToBuffer","addChunk","maybeReadMore","_undestroy","undestroy","MAX_HWM","howMuchToRead","computeNewHighWaterMark","maybeReadMore_","updateReadableListening","nReadingNextTick","resume_","fromList","consume","endReadable","endReadableNT","wState","nOrig","doRead","pipeOpts","endFn","stdout","unpipe","onunpipe","unpipeInfo","hasUnpiped","ondrain","ondata","cleanedUp","pipeOnDrain","dests","asyncIterator","_fromList","ERR_MULTIPLE_CALLBACK","ERR_TRANSFORM_ALREADY_TRANSFORMING","ERR_TRANSFORM_WITH_LENGTH_0","afterTransform","_transformState","transforming","writecb","writechunk","needTransform","writeencoding","prefinish","CorkedRequest","corkReq","pendingcb","corkedRequestsFree","onCorkedFinish","WritableState","internalUtil","realHasInstance","ERR_STREAM_CANNOT_PIPE","ERR_STREAM_DESTROYED","ERR_STREAM_NULL_VALUES","ERR_STREAM_WRITE_AFTER_END","ERR_UNKNOWN_ENCODING","nop","writableObjectMode","finalCalled","noDecode","decodeStrings","writing","corked","bufferProcessing","onwrite","writelen","onwriteStateUpdate","finishMaybe","errorEmitted","onwriteError","needFinish","bufferedRequest","clearBuffer","afterWrite","lastBufferedRequest","prefinished","bufferedRequestCount","writev","_writev","_final","doWrite","onwriteDrain","holder","allBuffers","isBuf","callFinal","need","rState","writeAfterEnd","validChunk","newChunk","decodeChunk","writeOrBuffer","cork","uncork","setDefaultEncoding","endWritable","_Object$setPrototypeO","kLastResolve","kLastReject","kError","kEnded","kLastPromise","kHandlePromise","kStream","createIterResult","readAndResolve","onReadable","AsyncIteratorPrototype","ReadableStreamAsyncIteratorPrototype","lastPromise","wrapForNext","_Object$create","enumerableOnly","copyBuffer","hasStrings","_getString","_getBuffer","emitErrorAndCloseNT","emitErrorNT","readableDestroyed","writableDestroyed","ERR_STREAM_PREMATURE_CLOSE","onlegacyfinish","writableEnded","readableEnded","onrequest","isRequest","streams","popCallback","destroys","destroyer","ERR_INVALID_OPT_VALUE","duplexKey","hwm","highWaterMarkFrom","MapShim","getIndex","class_1","__entries__","global$1","requestAnimationFrame$1","transitionKeys","mutationObserverSupported","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","leadingCall","trailingCall","resolvePending","timeoutCallback","addObserver","connect_","removeObserver","disconnect_","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","instance_","defineConfigurable","getWindowOf","emptyRect","createRectInit","toFloat","getBordersSize","getHTMLElementContentRect","paddings","positions_1","getPaddings","horizPad","vertPad","isDocumentElement","vertScrollbar","horizScrollbar","isSVGGraphicsElement","SVGGraphicsElement","getContentRect","getSVGContentRect","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","broadcastRect","ResizeObserverEntry","rectInit","Constr","DOMRectReadOnly","createReadOnlyRect","ResizeObserverSPI","callbackCtx","activeObservations_","observations_","controller_","callbackCtx_","observations","clearActive","observation","copyProps","SafeBuffer","isRegex","out$","xmlNs","svgNs","urlRegex","fontFormats","woff2","woff","otf","ttf","eot","sfnt","requireDomNode","requireDomNodePromise","getDimension","viewBox","baseVal","uriToBlob","byteString","atob","mimeString","intArray","inlineImages","getAttributeNS","toDataURL","cachedFonts","inlineFonts","fontInBase64","btoa","arrayBufferToBase64","fontUri","fontCss","cachedRules","inlineCss","selectorRemap","modifyStyle","modifyCss","excludeUnusedCss","generateCss","detectFonts","fontList","fontUrl","fullUrl","detectCssFont","downloadOptions","msSaveOrOpenBlob","popup","prepareSvg","_ref3$left","_ref3$top","_ref3$scale","_ref3$responsive","responsive","_ref3$excludeCss","excludeCss","_getDimensions","_el$getBBox","foreignObject","svgAsDataUri","svgXml","svgAsPngUri","_ref5$encoderType","encoderType","_ref5$encoderOptions","encoderOptions","canvg","convertToPng","pixelRatio","png","SecurityError","saveLink","revokeObjectURL","saveSvg","downloadOpts","saveSvgAsPng","unstable_forceFrameRate","sortIndex","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_wrapCallback","defaultParseOptions","decodeValues","silent","isForbiddenKey","createNullObj","isNonEmptyString","setCookieValue","nameValuePairStr","nameValueArr","parseNameValuePair","trimLeft","expires","secure","httpOnly","sameSite","partitioned","getSetCookie","splitCookiesString","cookiesString","lastComma","nextStart","cookiesSeparatorFound","cookiesStrings","skipWhitespace","notSpecialChar","hasDescriptors","functionLengthIsConfigurable","functionLengthIsWritable","listGetNode","isDelete","deletedNode","listDelete","listGet","listHas","listSet","$Map","$mapGet","$mapSet","$mapHas","$mapDelete","$mapSize","getSideChannelMap","$weakMapGet","$weakMapSet","$weakMapHas","$weakMapDelete","$wm","getSideChannelList","makeChannel","$channelData","charMap","appendChar","customMap","ACTION_FETCH_URLS_SUCCEEDED","ACTION_FETCH_URLS_FAILED","ACTION_FETCH_URLS","NOW_LINK_INTERCEPTOR_REQUESTED","TABLES_OPEN_OUTSIDE_WORKSPACE","nowLinkInterceptorState","retryHandler","retryCount","capturedUrls","propsToHtmlArrayByComponentId","coeffectsToHtmlArrayByComponentId","decoderElement","decodeUrl","processProps","fromCoeffectsFnc","fromPropsFnc","toHtmlArray","newUrls","foundUrls","extractAnchorUrls","toCapture","sysparm_link","nowLinkInterceptorBehavior","propsToHtmlArray","nowLinkInterceptor","urlEntry","_coeffects$action$pay4","coeffectsToHtmlArray","cleanedUrl","openInWorkspace","sysKBId","getDirtyStateManager","wontWrap","HeadingLevel","MARGIN_MAP","_ref$selector","isIEOrEdge","getMargin","ariaHeading","includeHeading","findFocusableElement","elSelector","startElement","manageFocus","nowUxfPageElRef","focusEl","applyStyleAndFocus","previouslyFocusedElement","removeEmptyState","emptyStateNode","isHighAssuranceNotificationInMessage","filterSpanInMessage","notification","TAG_NAME","notifications","authNotification","_props$notifications","_n$content","_n$content2$value","_n$textLinkProps","_n$textLinkProps2$hre","_n$content3","_n$textLinkProps3","PREVIEW_RECORD","notificationHandlers","handleAutoDismissal","expLevelAutoDismissalSettings","_notification$status","_notification$autoDis","autoDismiss","_notification$autoDis2","_notification$autoDis3","eventLevelAutoDismissEnabled","eventLevelAutoDismissTimeout","notificationData","alertTypes","alertTypeSettings","_alertTypeSettings$en","expLevelAutoDismissEnabled","_alertTypeSettings$ti","expLevelAutoDismissTimeout","effectiveTimeout","enabledAtEventLevel","eventLevelTimeout","expLevelTimeout","getEffectiveTimeout","sortNotifications","NOTIFICATION_SORT_ORDER","notificationId","_state$properties2$pr","propagateNotifications","_state$properties2$in","interceptNotifications","_state$notificationMe","notificationMessages","_action$payload$items","expandAlerts","_parentMacroponent$no","_parentMacroponent$no2","parentMacroponent","auto_expand_now_alert_message","getAutoExpandAlertsProp","firstAuthMessageInItems","notificationItems","newNotificationMessages","newNotifications","_ref2$preventDuplicat","preventDuplicates","msgKey","_notification$expande","updatedNotificationProps","isHtml","hasHtml","getIcon","transformedNotification","_state$properties4$pr","_state$properties4$in","_action$payload2$item","validIds","_state$properties5","_state$properties6","_state$properties6$pr","_state$properties6$in","stateUpdate","_state$loaders_blocki","loaders_blocking","spinners","_state$loaders_non_bl","loaders_non_blocking","new_spinners","new_bars","customId","loading","loadingAction","_action$payload4$nonB","nonBlocking","loaderId","loader","_state$properties9","_state$properties0","_state$properties0$in","_state$properties0$pr","_action$payload3$item","_state$properties7","_state$properties8$in","_state$notificationMe2","_action$payload$value","prevNotifications","notificationIndex","valueNotification","msgKeys","isNotificationMissing","_state$notifications","_action$payload6","_action$payload7","alertAction","_dismissedNotificatio","_coeffects$state","_coeffects$state$noti","_coeffects$state$prop","_coeffects$state$prop2","_coeffects$state$prop3","_coeffects$state$prop4","dismissedNotification","loadAutoDismissalExpSettings","_getAncestorNode","jsonStr","alert_auto_dismiss_config","_loaders_blocking$","scrollable","headingLevel","headingOnlyVisibleToScreenReaders","_state$authNotificati","totalNotifications","ariaProps","nowLoaderObserver","scrollTo","_loaders_blocking$2","_loaders_blocking$3","loaderDoesNotHaveLabel","ariaProgressBarConfig","slottedPolyfillBehavior","nowUxfPageNotificationsBehavior","_getActiveElement","headingElement","_ancestorNodeParent$t","_ancestorNodeParent$s","ancestorNodeParent","getAuthNotificationEffect","NO_CONTENT_HEADING","NO_CONTENT_MESSAGE","hideEmptyStateUi","bgvar","canCollapse","expandButtonTooltipContent","collapseButtonTooltipContent","ariaRegionName","ariaRegionHeadingLevel","includeAriaHeading","isModalContainer","bordered","collapsible","tooltipMessage","renderTooltip","requestRoute","isNewRoute","slotName","DEFAULT_404_MESSAGE","VIEWPORT_SCREEN_LABEL","VIEWPORT_SCREEN_LOADING_MESSAGE","Default404","showDefault404","LOAD_VIEWPORT_CONTENT","HOIST_VIEWPORT_CONTENT","_contents$meta","prevProps","_contents$meta2","_action$payload$conte","_action$meta$uxfMeta","_action$meta$uxfMeta2","_properties$displayOp","disableDismiss","mutations","_action$meta$uxfMeta3","getCanvasModalAction","modalInstanceId","DISMISS_ACTION","MODAL_RESIZE_END","hideDismissPadding","overlayPositionAbsolute","customSize","dialogSize","isCustomSize","getAriaAttributes","_properties$customSiz","isOpening","isClosing","isBecomingDismissable","isBecomingNonDismissable","bareModal","containerTypes","i18n","EMPTY_STATE_HEADING","EMPTY_STATE_MESSAGE","setAriaRole","ariaRole","HEADER","FOOTER","ADDRESS","MAIN","renderSlot","renderAriaHeading","slotWrapperBehavior","renderContainer","kindOf","kindOfTest","typeOfTest","isBlob","isFileList","isURLSearchParams","_map2","isReadableStream","isResponse","isHeaders","_ref$allOwnKeys","allOwnKeys","isContextDefined","isHTMLForm","reduceDescriptors","reducedDescriptors","ALPHA","ALPHABET","ALPHA_DIGIT","setImmediateSupported","postMessageSupported","isAsyncFn","_setImmediate","asap","isFormData","isStream","caseless","targetKey","stripBOM","superConstructor","toFlatObject","destObj","propFilter","merged","searchString","forEachEntry","regExp","freezeMethods","toObjectSet","arrayOrString","toCamelCase","toFiniteNumber","generateString","isSpecCompliantForm","toJSONObject","reducedValue","AxiosError","columnNumber","customProps","axiosError","isVisitable","removeBrackets","renderKey","dots","formData","metaTokens","defaultVisitor","useBlob","convertValue","isFlatArray","exposedHelpers","build","AxiosURLSearchParams","_pairs","toFormData","_encode","buildURL","serializedParams","serializeFn","hashmarkIndex","InterceptorManager","fulfilled","synchronous","runWhen","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","URLSearchParams","protocols","hasBrowserEnv","_navigator","hasStandardBrowserEnv","hasStandardBrowserWebWorkerEnv","buildPath","isNumericKey","isLast","parsePropPath","transitional","transitionalDefaults","transformRequest","getContentType","hasJSONContentType","isObjectPayload","formDataToJSON","setContentType","toURLEncodedForm","formSerializer","_FormData","stringifySafely","transformResponse","JSONRequested","strictJSONParsing","ERR_BAD_RESPONSE","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","ignoreDuplicateOf","$internals","normalizeHeader","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","valueOrRewrite","rewrite","_header","_rewrite","lHeader","rawHeaders","parseHeaders","tokensRE","parseTokens","deleted","deleteHeader","formatHeader","_this$constructor","asStrings","defineAccessor","accessorName","buildAccessors","accessor","headerValue","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","ERR_BAD_REQUEST","samplesCount","firstSampleTS","timestamps","chunkLength","startedAt","bytesCount","passed","progressEventReducer","isDownloadStream","bytesNotified","_speedometer","speedometer","progressBytes","estimated","progressEventDecorator","throttled","asyncDecorator","originURL","msie","urlParsingNode","resolveURL","requestURL","toGMTString","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","paramsSerializer","timeoutMessage","withXSRFToken","onDownloadProgress","decompress","beforeRedirect","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding","configValue","newConfig","auth","isURLSameOrigin","xsrfValue","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","resolveConfig","onloadend","responseURL","ECONNABORTED","ERR_NETWORK","ontimeout","ETIMEDOUT","_progressEventReducer","_progressEventReducer2","_progressEventReducer3","_progressEventReducer4","parseProtocol","signals","streamChunk","readBytes","_wrapAsyncGenerator","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_asyncIterator","readStream","_awaitAsyncGenerator","_asyncGeneratorDelegate","_yield$_awaitAsyncGen","getReader","trackStream","onFinish","_onFinish","ReadableStream","_yield$iterator$next","_done","loadedBytes","isFetchSupported","isReadableStreamSupported","encodeText","supportsRequestStream","duplexAccessed","hasContentType","duplex","supportsResponseStream","ERR_NOT_SUPPORT","getBodyLength","resolveBodyLength","getContentLength","_resolveConfig","_resolveConfig$withCr","fetchOptions","composedSignal","requestContentLength","_progressEventDecorat","_progressEventDecorat2","isCredentialsSupported","isStreamResponse","responseContentLength","_onProgress","responseData","composeSignals","toAbortSignal","knownAdapters","xhrAdapter","fetchAdapter","renderReason","isResolvedHandle","nameOrAdapter","rejectedReasons","reasons","throwIfCancellationRequested","throwIfRequested","dispatchRequest","validators","deprecatedWarnings","formatMessage","opt","ERR_DEPRECATED","assertOptions","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","_request2","configOrUrl","dummy","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","responseInterceptorChain","generateHTTPMethod","isForm","CancelToken","resolvePromise","onfulfilled","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","Cancel","isAxiosError","formToJSON","createBatchId","_ref$batchUrl","batchUrl","_ref$batchMethod","batchMethod","_ref$batchMax","batchMax","_ref$batchInterval","batchingQueue","batchItemConfigMap","batchErrorHandler","rest_requests","batchSuccessHandler","_response$config","_data$serviced_reques","serviced_requests","_data$unserviced_requ","unserviced_requests","_batchItemConfigMap$g2","batchId","batch_request_id","enforce_order","createHeaders","currentQueueSize","enqueueRequest","XTransactionSource","XUserTokenHeader","restRequests","updatedRestRequests","querySting","appendQuery","updatedBody","transformBody","transformServiceResponse","status_code","status_text","error_message","updatedServiceRequests","currentUserToken","transactionSource","defaultHeaders","axiosInstance","snHttpClient","newToken","createBatchRequestInterceptor","createBatchResponseSuccessInterceptor","createBatchResponseFailedInterceptor","getSource","setXsrfToken","setXTransactionSource","setDefaultHeaders","_options$batching","_options$data","isBatchable","httpClient","SUPPORTED_METHODS","MAX_IN_FLIGHT","requestBatcher","createHttpRequestBatcher","inFlightRequests","getInFlightRequestCount","incrementInFlightRequests","cancelInFlightRequests","requestDescriptor","enqueueBatchRequest","helperMethods","cancelRequests","singletonNone","isSome","tinymce","explode","getOr","getOption","fromHtml","fromTag","fromText","fromDom","fromPoint","detect","unknown","versionRegexes","oses","isEdge","isOpera","isFirefox","isiOS","isAndroid","isMacOS","isLinux","isSolaris","isFreeBSD","isChromeOS","orThunk","fold","isiPad","isiPhone","isTablet","isPhone","isTouch","isWebView","isDesktop","deviceType","cleanDocument","loadScript","cleanFilteredInlineElements","unbind","msMatchesSelector","webkitMatchesSelector","mozMatchesSelector","childElementCount","setStartBefore","setStartAfter","setEndBefore","setEndAfter","constructors","ltr","rtl","startContainer","endContainer","endOffset","soffset","foffset","cata","getStart","domRange","exactFromRange","getWin","getRangeAt","getOrThunk","setBaseAndExtent","toOn","toOff","contenteditable","attach","offscreen","detach","cacheSuffix","pasteBinAttrs","keepSrc","sanitizer","sanitizeHtml","sanitizeText","tabSpaces","indentUseMargin","defaultProtocol","pure","toPromise","anonBind","toLazy","toCached","isValue","mapError","forall","getOrDie","toOptional","fromOption","kill","ephemeral","permanent","unregister","getOrSetIndexed","waitForLoad","addStylesheet","addScript","paste","caseInsensitive","scopeName","getNode","hasNext","emitTokens","nextFilter","emblems","originalToken","getCurrentListType","getCurrentLevel","listType","openItem","inside","pred","qo","closeAllLists","outside","SHOW_COMMENT","acceptNode","FILTER_ACCEPT","FILTER_REJECT","Word","GoogleDocs","Html","styleName","isNone","matchTag","newTag","removeExtra","fake","toRemove","toPreserve","face","commonAncestorContainer","getOrUndefined","bothErrors","firstError","secondError","bothValues","naturalWidth","naturalHeight","HTMLCanvasElement","toBlob","toBase64","toAdjustedBlob","toAdjustedDataURL","toAdjustedBase64","toCanvas","isPx","cropWidth","cropHeight","excludeWith","excludeWithout","boundary","nonEditable","isBoundary","toText","getText","isEmptyTag","isNonEditable","setText","getRaw","copyTo","appendAll","comparePosition","prevSibling","isSpecial","discriminator","fromClipboard","rtf","flavor","HTMLTemplateElement","MozNamedAttrMap","HTMLFormElement","trustedTypes","createPolicy","currentScript","createHTML","createScriptURL","createNodeIterator","importNode","allowCustomizedBuiltInElements","PARSER_MEDIA_TYPE","ALLOWED_TAGS","ALLOWED_ATTR","ALLOWED_NAMESPACES","ADD_URI_SAFE_ATTR","ADD_DATA_URI_TAGS","FORBID_CONTENTS","FORBID_TAGS","USE_PROFILES","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","ALLOW_SELF_CLOSE_IN_ATTR","SAFE_FOR_TEMPLATES","WHOLE_DOCUMENT","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_TRUSTED_TYPE","SANITIZE_DOM","SANITIZE_NAMED_PROPS","KEEP_CONTENT","IN_PLACE","ALLOWED_URI_REGEXP","NAMESPACE","svgFilters","mathMl","ADD_TAGS","getAttributeNode","createDocument","SHOW_TEXT","allowedTags","attrValue","keepAttr","allowedAttributes","forceKeepAttr","getAttributeType","toStaticHTML","shadowroot","shadowrootmod","setConfig","clearConfig","isValidAttribute","addHook","removeHooks","removeAllHooks","msoffice","googledocs","plaintext","discard","getLabelForApi","getAvailable","isInternal","officeStyles","getWordData","getGoogleDocsData","getImage","getHtml","getOnlyText","getVoid","pasteCustom","isBlocked","asyncAsset","allowLocalImages","readAsText","queryKey","strictMode","htmlStyles","isWord","isGoogleDocs","gdocsStyles","setTitle","setContent","setButtons","getArg","urlParse","urlGenerate","toSetString","fromSetString","compareByOriginalPositions","originalLine","originalColumn","generatedColumn","generatedLine","compareByOriginalPositionsNoSource","compareByGeneratedPositionsDeflated","compareByGeneratedPositionsDeflatedNoLine","compareByGeneratedPositionsInflated","parseSourceMapInput","computeSourceURL","_array","fromArray","ArraySet","_sorted","_last","unsortedForEach","MappingList","_file","_sourceRoot","_sources","_names","_mappings","_sourcesContents","fromSourceMap","sourceRoot","eachMapping","generated","sourceContentFor","setSourceContent","_validateMapping","applySourceMap","originalPositionFor","_serializeMappings","_generateSourcesContent","sourcesContent","SourceMapGenerator","startLine","startColumn","AnPlusB","Atrule","AtrulePrelude","AttributeSelector","Block","Brackets","CDC","CDO","ClassSelector","Combinator","Comment","Declaration","DeclarationList","Dimension","IdSelector","Identifier","MediaFeature","MediaQuery","MediaQueryList","NestingSelector","Nth","Operator","Parentheses","Percentage","PseudoClassSelector","PseudoElementSelector","Ratio","Raw","Selector","SelectorList","StyleSheet","TypeSelector","UnicodeRange","Url","Value","WhiteSpace","tokenStart","tokenEnd","cmpChar","tokenType","lookupType","isDelim","skipSC","substrToCursor","prelude","eof","eat","eatDelim","eatIdent","important","lookupValue","consumeNumber","consumeFunctionName","pseudo","createList","tokenIndex","getTokenStart","firstCharOffset","skipUntilBalanced","consumeUntilBalanceEnd","readSequence","getFirstListNode","getLocationFromList","tokenBefore","decorator","sourceMap","_e16","allocateCursor","releaseCursor","appendData","updateCursors","insertList","sourceFragment","formattedMessage","recognizer","onWhiteSpace","createSingleNodeList","where","_class2","setSource","offsetAndType","balance","lookupOffset","forEachToken","atrule","parseContext","parseAtrulePrelude","parseRulePrelude","parseValue","parseCustomProperty","consumeUntilLeftCurlyBracket","consumeUntilLeftCurlyBracketOrSemicolon","consumeUntilExclamationMarkOrSemicolon","consumeUntilSemicolonIncluded","getLastListNode","parseWithFallback","lookupNonWSType","cmpStr","getLocationRange","onParseError","_l2","_l2$context","onComment","selectorList","_len9","_key9","selectorString","asObject","asArray","asString","Pm","CSSRule","IMPORT_RULE","STYLE_RULE","calculate","Um","zm","convertToPx","Hm","mergeInline","Vm","Gm","preprocessor","annotate","Jm","Xm","pcIsSpace","Zm","Qm","Km","proxyBin","findClipboardTags","intraFlag","isMarked","Wm","supported","bower","idRef","isEquation","blobs","filteredImages","imageAttrs","failedImage","processRtf","_E","_E2","cropl","cropt","cropw","croph","correlated","getAsFile","Resource","undoManager","isCollapsed","execCommand","insertContent","hasEventListeners","getBody","DomParser","forced_root_block","isRootContent","Serializer","PluginManager","requireLangPack","majorVersion","minorVersion","processor","isRegistered","VK","metaKeyPressed","editorUpload","blobCache","blobUri","importImages","uploadImages","getLocalURL","jsUrl","transact","moveToBookmark","createDialog","primary","getButtons","initialData","onCancel","windowManager","notificationManager","setProgressState","pasteHtml","pasteText","pasteEvent","getBookmark","addCommand","getDoc","RangeUtils","getCaretRangeFromPoint","setRng","jpg","jpe","jfi","jif","jfif","pjpeg","pjp","_T_","aU","d7","jH","c0","jG","b5","fI","cZ","iZ","cK","f7","cY","cX","iW","f6","f5","f4","cW","f3","aC","bI","fH","cV","jD","a$","cH","cI","cJ","fG","jC","cU","f0","fF","a7","fE","jB","jA","fY","d6","iR","aV","d5","iP","d4","d3","cG","cT","bq","bC","jy","cS","iL","b4","jw","fX","jv","b3","bH","bG","bB","bA","fC","d0","aS","dZ","fB","fA","b$","cR","bF","iG","fz","jq","b0","fy","aR","aK","aE","fx","iF","dY","fw","iE","fU","iD","iA","iz","b_","iy","fS","d$","cQ","dX","dW","iw","d_","cF","a_","cP","b9","a9","dV","dU","cE","d9","cO","fQ","dT","cN","dS","fq","a8","cD","fP","fO","cC","dR","i9","i_","i8","cM","cB","fN","bE","i6","cL","dQ","fL","aD","b8","bD","b7","b6","cA","fK","d8","dO","fJ","zC","c_","bM","jS","aW","jT","toUtf16","Ax","aG","Invalid_argument","jQ","bL","bK","aL","aF","AA","jZ","j9","Division_by_zero","Az","c6","jP","dims","caml_custom","jN","c5","f9","hi32","lo32","ucompare","neg","isZero","isNeg","and","shift_left","shift_right_unsigned","shift_right","lsl1","lsr1","udivmod","quotient","modulus","zE","bv","jL","Failure","jM","read32s","read16u","read32u","zD","read8s","read8u","read16s","jK","imul","zQ","jO","zV","c4","fixed_length","jU","c8","jV","jR","c9","f$","bN","signstyle","filler","signedconv","prec","conv","toExponential","j7","gq","AB","zF","Ay","AE","j5","bP","f_","Sys_error","j_","c$","bJ","lookupFun","jY","err_closed","create_dir_if_needed","slash","is_dir","opendir","rdonly","wronly","excl","zI","zR","zN","zO","zM","zP","zS","zZ","zW","zY","j8","c7","z6","z7","z8","z9","bO","aM","b32","zz","zA","zy","buffer_curr","j3","buffered","j4","z$","Ak","lex_default","lex_base","lex_backtrk","lex_check","lex_trans","lex_default_code","lex_base_code","lex_backtrk_code","lex_check_code","lex_trans_code","lex_code","bQ","j6","aH","toplevelReloc","jsoo_static_env","Not_found","Av","randomBytes","bR","joo_tramp","joo_args","InternalError","Stack_overflow","Aw","altname","AC","undo","txt","AD","jW","z5","zK","aJ","zw","Aq","caml_fs_tmp","jsoo_create_file","zL","gv","gL","eK","a3","g9","hL","zv","hP","hQ","kq","kv","kz","kA","ky","kE","kD","kJ","kG","kF","kM","kR","kS","kT","kU","kN","kO","kP","kQ","kZ","kV","kW","kX","kY","k3","k7","k6","k5","lq","lG","ly","lH","lz","lI","lA","lJ","lB","lK","lC","lE","lw","lF","lD","mN","mL","mM","mO","mP","mQ","mR","mS","mT","mU","mV","mJ","mH","mI","mG","mB","mq","mv","mw","mx","my","mA","mk","l6","l7","l8","l9","l_","l$","lO","lP","lR","lS","lT","lU","lV","lW","lX","lY","lN","lQ","lZ","k8","k9","k_","k$","lL","mZ","m0","nk","m_","m$","m5","m6","m7","m8","m9","m3","m4","mY","mW","mX","nq","nH","nG","nE","nM","nN","pB","pC","p6","p7","p8","p9","p_","p$","pZ","pP","pQ","pR","pS","pT","pU","pV","pW","pX","pL","pM","pN","pO","pK","pJ","pG","pH","pI","pF","pA","nO","nP","nQ","nR","nS","nT","nU","nV","nW","nX","nY","nZ","n0","n3","n4","n5","n6","n7","n8","n9","n_","n$","oq","oz","oA","oB","oC","oD","oE","oF","oG","oH","oI","oJ","oK","oL","oM","oN","oO","oP","oQ","oR","oS","oT","oU","oV","oW","oZ","o3","o4","o5","o7","o8","o9","o_","o$","pk","pq","qA","qD","qE","qB","qI","qM","qL","qK","qJ","qS","qQ","qR","qN","qO","qP","qZ","q3","qT","qU","qV","qW","q$","q9","q5","q6","q7","q8","rQ","rP","rM","rK","rD","rE","rF","rG","rH","rI","rJ","rL","rN","rO","rB","rA","rw","rk","rq","r4","r5","r3","rZ","rY","rV","rX","rW","rT","rU","rS","rR","r9","r_","sq","sA","sB","sC","sD","sE","sF","sG","sH","sI","sJ","sK","sL","sM","sN","sO","sP","sQ","sR","sS","sT","sU","sV","sW","sX","sY","sZ","s4","s5","s6","s8","s9","s_","s$","tk","tq","tw","tA","tB","tC","tD","tE","tF","tH","tI","tJ","tL","tM","tN","tP","tQ","tR","tS","tT","tU","tV","tW","tX","tY","tZ","t3","t4","t5","t6","t7","t8","t9","t_","t$","uk","uq","u8","u9","u_","u$","u6","uV","uW","uX","uY","uZ","uT","uO","uP","uN","uQ","uJ","uH","uI","uF","uC","uD","uz","uw","ux","uy","uA","uB","uE","uM","uR","uS","u2","u4","u5","vk","vZ","vV","vW","vT","vU","vQ","vR","vS","vN","vO","vP","vK","vL","vC","vw","vx","vy","vz","vA","vB","vD","vE","vF","vG","vH","vI","vv","vq","v7","v_","v$","v9","v5","v6","wK","wL","wM","wI","wE","wF","wA","wB","wC","wz","wD","wx","wq","xB","xz","xv","xw","w$","w8","w7","w3","w4","w0","wZ","wU","wV","wW","wX","wS","wQ","wR","xq","xP","xN","xO","xL","xJ","xK","xH","xD","xE","xF","xG","x8","x9","xV","xW","xX","xY","xZ","x4","x5","x7","x6","xR","xT","x$","yv","yq","yk","yC","yD","yz","yA","yx","yE","yF","y4","y5","y6","yY","yZ","yU","yV","yJ","yL","yK","yM","yO","yP","yR","yS","yW","y7","y$","buffer_max","refill","aY","bS","gw","ew","gx","gy","kx","ey","bT","gz","gA","gB","aN","zJ","kB","ez","eA","gC","aZ","gD","eB","gE","aq","gF","gG","eC","gH","kI","gI","kK","gJ","zB","gK","z_","gM","eD","gN","eE","eF","k4","gP","gQ","gR","bU","eG","gS","gT","bV","gU","gV","eH","aI","aO","aP","cq","aQ","bW","lM","gW","mC","mD","mE","mF","zG","eI","mK","gX","eJ","eL","gY","eM","eN","gZ","g0","eO","nD","nI","g7","nL","nK","g8","nJ","ow","o6","eR","g_","g$","pD","pw","eS","pE","pY","qk","a4","eT","eU","eW","eX","eY","cw","qC","dv","qG","dw","dz","eZ","dA","a5","e3","dB","qF","qH","hq","bX","qX","qY","e4","e5","e6","dC","q4","q_","hv","dD","hw","e7","rC","hx","hy","hA","e8","e9","e_","bY","hB","dN","bZ","dM","dL","dK","a6","dJ","dE","r7","hC","r8","r6","r$","hD","hE","hF","e$","hG","hH","hI","hJ","hK","s7","tG","tK","tO","hM","hN","hO","hR","uG","uK","uL","hS","hT","uU","u3","u7","hU","hV","dF","dG","hW","hX","vJ","vM","hY","hZ","h0","wy","wG","wH","wJ","wN","wO","wP","wT","wY","w2","w6","w_","xk","xC","xI","xM","xQ","xS","xU","x_","h7","h8","h9","yw","h_","yB","dH","yG","h$","yH","yN","yQ","yT","yX","y8","y9","y_","zk","typeOf$1","eq$2","tripleEq","eqString","eqArray","eqa","eqSortedArray","compareFn","contramap","sort$1","eqRecord","eqAny","isEquatableType","getPrototypeOf$2","hasProto","isType$1","isSimpleType","eq$1","is$4","isNullable","isNonNullable","isArrayOf","compose","compose1","fbc","fab","tripleEquals","initialArgs","restArgs","die","apply$1","never","Optional","onNone","onSome","mapper","binder","thunk","worker","nativeSlice","nativeIndexOf","nativePush","rawIndexOf","contains$2","map$3","each$e","eachr","partition$2","filter$5","foldr","foldl","findUntil$1","find$2","findIndex$2","bind$3","mapToObject","get$b","last$3","findMap","each$d","map$2","tupleMap","tuple","objAcc","internalFilter","onTrue","onFalse","filter$4","get$a","has$2","hasNonNullableKey","stringArray","each$c","filter$3","findIndex$1","last$2","unknown$2","nu$3","Version","agent","cleanedAgent","firstMatch","find$1","detect$4","candidate","checkRange","removeLeading","numChars","removeFromStart","contains$1","trim$4","lTrim","rTrim","isEmpty$3","normalVersionRegex","checkContains","uastring","PlatformInfo","nu$2","Browser","linux","macos","solaris","freebsd","chromeos","nu$1","OperatingSystem","ios","PlatformDetection","userAgentDataOpt","mediaMatch","uaBrand","lcBrand","detectBrowser$1","detectBrowser","detectOs","isMobile","iOSwebview","DeviceType","platform$4","detect$2","platform$3","browser$3","os$1","windowsPhone","Env","transparentSrc","canHaveCSP","whiteSpaceRegExp$1","trim$3","walk$4","Tools","makeMap","delim","resolvedItems","grep","walk","_addCacheSuffix","is$2","lhs","rhs","lift2","someIf","Global","resolve$2","unsafe","getPrototypeOf$1","sandHTMLElement","type$1","isHTMLElement$1","isElement$7","isText$b","isDocument$2","isDocumentFragment$1","isTag","rawSet","set$3","setAll$1","get$9","getOpt","has$1","remove$a","clone$4","read$4","get$8","add$3","clazz","add$4","remove$8","remove$9","add$2","cleanClass","remove$7","toggle$1","toggle$2","fromDom$2","SugarElement","docElm","is$1","bypassSelector","owner$1","documentOrOwner","dos","parents$1","rawParent","prevSiblings","nextSiblings","children$1","childNodesCount","isSupported$1","getStyleContainer","getHead","getShadowHost","getOriginalEventTarget","isOpenShadowHost","inBody","ClosestOrAncestor","ancestor$4","closest$4","descendant$2","descend","ancestor$3","descendant$1","closest$3","isEditable$2","assumeEditable","isContentEditable","editable","getRaw$1","internalSet","set$2","get$7","getUnsafeProperty","getAllRaw","ruleName","remove$6","internalRemove","before$3","after$4","append$1","wrap$2","rogue","remove$5","fromDom$1","get$6","docDom","contentElements","handle$1","rawEvent","mkEvent","fromRawEvent","bind$2","useCapture","SugarPosition","firstDefinedOrZero","boxPosition","get$5","_DOC","intoView","alignToTop","scrollIntoViewIfNeeded","getBounds","visualViewport","get$4","pageLeft","pageTop","descendants$1","ancestor$2","DomTreeWalker","prev2","shallow","findSibling","findPreviousNode","startName","siblingName","isNodeType","isRestrictedNode","isElement$6","isHTMLElement","matchNodeName","lowerCasedName","matchNodeNames","lowerCasedNames","matchStyleValues","isBogus$2","isTable$2","hasContentEditableState","isTextareaOrInput","isText$a","isCData","isPi","isDocument$1","isDocumentFragment","isBr$6","isImg","isContentEditableTrue$3","isContentEditableFalse$b","isTableCell$3","isTableCellOrCaption","isMedia$2","isListItem$2","isDetails","isSummary$1","zeroWidth","nbsp","isZwsp$2","api$1","NodeValue","get$3","lazyLookup","isBr$5","isTextBlock$2","isList","isListItem$1","isTableSection","isTableCell$2","isWsPreserveElement","removeTrailingBr","allBrs","brs","rawNode","getLastChildren$1","createPaddingBr","fillWithPaddingBr","ZWSP$1","isZwsp$1","trim$2","isElement$5","isText$9","isCaretContainerBlock$1","isCaretContainerInline","isCaretContainer$2","isBeforeInline","isAtStart","isAfterInline","isAtEnd","startsWithCaretContainer$1","endsWithCaretContainer$1","showCaretContainerBlock","caretContainer","lastBr","isRangeInCaretContainerBlock","isContentEditableTrue$2","isContentEditableFalse$a","isBr$4","isText$8","isInvalidTextElement","isAtomicInline","isTable","isCaretContainer$1","isCaretCandidate$3","isNonUiContentEditableFalse","isUnselectable","isEditableCaretCandidate$1","tempNode","isInEditable","whiteSpaceRegExp","isWhitespaceText","isZwsp","isNewLineChar","normalize$4","isStartOfContent","isEndOfContent","tabSpace","normalizedText","isCollapsibleWhitespace$1","isNewline","isWhitespace$1","hasWhitespacePreserveParent","isContent$1","isNamedAnchor","isBookmark","isBogus$1","isBogusAll","hasNonEditableParent","isEmpty$2","skipBogus","brCount","walker","isEmptyNode","isNonHtmlElementRootName","isNonHtmlElementRoot","toScopeType","namespaceElements","transparentBlockAttr","makeSelectorFromSchemaMap","elementNames","updateTransparent","blocksSelector","transparent","updateBlockStateOnChildren","transparentSelector","getTransparentElements","getBlockElements","trimEdge","leftSide","childPropertyName","splitInvalidChildren","transparentBlocks","blocksElements","isBlock","transparentBlock","parentBlock","invalidChildren","isValidChild","stateScope","splitElm","beforeFragment","extractContents","afterFragment","split$2","isTransparentBlock","isTransparentInline","unwrapInvalidChildren","updateElement","isTransparentElement","hasBlockAttr","isTransparentElementName","isTransparentAstBlock","browser$2","firstElement","hasChild","getPos","rootElm","clientLeft","clientTop","castOffsetParent","bodyTop","captionTop","captionHeight","getTableCaptionDeltaY","StyleSheetLoader","documentOrShadowRoot","idCount","loadedStates","edos","addStyle","removeStyle","styleContainer","getOrCreateState","failed","urlWithSuffix","linkElem","contentCssCors","referrerPolicy","unload","loadRawCss","loadAll","unloadRawCss","unloadAll","_setReferrerPolicy","_setContentCssCors","forElement","rootDom","create$d","isInlineContent","isBookmarkNode$2","isSpan","isKeepTextNode","prevIsInline","nextIsInline","surroundedByInlineContent","trimNode","currentChildren","isDocument","isKeepElement","makeMap$3","attrsCharsRegExp","textCharsRegExp","rawCharsRegExp","entityRegExp","asciiMap","baseEntities","reverseEntities","buildEntitiesLookup","itemList","entity","namedEntities","encodeRaw","encodeNumeric","encodeNamed","entities","resolveEntities","Entities","encodeAllRaw","getEncodeFunc","entitiesMap","nameMap","named","numeric","nativeDecode","split$1","patternToRegExp","parseValidElementsRules","globalElement","validElements","elementRuleRegExp","elementName","outputName","attrsPrefix","attrData","attributesOrder","_to$attributesOrder","cloneAttributesInto","paddEmpty","removeEmpty","removeEmptyAttrs","attrRuleRegExp","hasPatternsRegExp","attrType","attrPrefix","attributesRequired","attributesDefault","attributesForced","forcedValue","validValues","attrPattern","attributePatterns","parseValidElementsAttrDataIntoElement","aliasName","mapCache","makeMap$2","each$b","extend$2","explode$2","getTextRootBlockElements","getTextBlockElements","compileElementMap","Schema","patternElements","customElementsMap","specialElements","createLookupTable","schemaItems","_getElementSetsAsStri","blockContent","phrasingContent","flowContent","getElementSetsAsStrings","addElement","childNames","allAttributes","addAttrs","schemaItem","makeSchema","verify_html","valid_elements","validStyles","valid_styles","invalidStyles","invalid_styles","validClasses","valid_classes","whitespaceElementsMap","selfClosingElementsMap","voidElementsMap","boolAttrMap","nonEmptyOrMoveCaretBeforeOnEnter","nonEmptyElementsMap","moveCaretBeforeOnEnterElementsMap","headings","textBlockElementsMap","blockElementsMap","textInlineElementsMap","transparentElementsMap","wrapBlockElementsMap","addValidElements","patternElement","setValidElements","addCustomElements","text_block_elements","block_elements","customElementRegExp","cloneName","parseCustomElementsRules","customRule","elmName","addValidChildren","validChildren","childRuleRegExp","prefixToOperation","parseValidChildrenRules","getElementRule","padd_empty_block_inline_children","paddInEmptyBlock","custom_elements","valid_children","extended_valid_elements","parentsRequired","invalid_elements","getValidStyles","getInvalidStyles","getValidClasses","getBoolAttrs","getTextInlineElements","getVoidElements","getSelfClosingElements","getNonEmptyElements","getMoveCaretBeforeOnEnterElements","getWhitespaceElements","getWrapBlockElements","getSpecialElements","attrPatterns","getCustomElements","isWrapper","normalizeHex","fromRgba","rgbaColour","hexColour","rgbRegex","rgbaRegex","fromStringValues","rgbaString","rgbMatch","rgbaMatch","rgbaToHexString","Styles","urlOrStrRegExp","styleRegExp","trimRightRegExp","encodingLookup","invisibleChar","encodingItems","isEncoded","urlConverter","url_converter","urlConverterScope","url_converter_scope","compress","noJoin","canCompress","keepSlashes","decodeSingleHexSequence","escSeq","decodeHexSequences","processUrl","url2","url3","str2","allow_script_urls","allow_svg_data_urls","force_hex_color","serializeStyles","elemName","validStyleList","styleList","styleMap","keyLocation","layerX","layerY","webkitMovementX","webkitMovementY","keyIdentifier","mozPressure","needsNormalizing","isNativeEvent","clone$3","keyArg","getTargetRanges","normalize$3","fallbackTarget","isImmediatePropagationStopped","hasIsDefaultPrevented","mouseEventRe","removeEvent","isMouseEvent","eventDoc","mouseEvent","bindOnReady","eventUtils","domLoaded","readyHandler","EventUtils","expando","callbackList","defaultNativeHandler","executeHandlers","namesList","nativeHandler","fakeName","newCallbackList","each$a","internalStyleName","numericalCssMap","legacySetAttribute","camelCaseToHyphens","findNodeIndex","lastNodeType","updateInternalStyleAttr","applyStyle$1","$elm","cssName","normalizedName","convertStyleToString","DOMUtils","addedStyles","styleSheetLoader","boundEvents","ownEvents","getAttrib","attrHooks","getAttribs","setAttrib","onSetAttrib","attrElm","getRoot","root_element","getPos$1","getStyle","elms","getParents","resolvedRoot","selectorVal","_findSib","setAttribs","setHTML","newElm","keepChildren","$node","toggleClass","cls","replacee","replaceChild","isNonEmptyElement","createRng","_boundEvents$_i","boundTarget","boundName","boundFunc","getContentEditable","stdMode","boxModel","getViewPort","argWin","getNext","getPrev","outHtml","createFragment","frag","setStyle","update_styles","stylesArg","removeAllAttribs","removeAttributeNode","parseStyle","serializeStyle","DOM","styleElm","loadCSS","addClass","removeClass","getOuterHTML","getOuter","setOuterHTML","insertAfter","attrNode","findCommonAncestor","whitespaceElements","nonEmptyElements","bogusVal","includeZwsp","replacementElm","getContentEditableParent","isEditable","_boundEvents$i","dumpRng","keepValues","keep_values","keepUrlHook","sugarElm","setupAttrHooks","DOM$b","ScriptLoader","scriptLoadedCallbacks","queueLoadedCallbacks","loadScripts","execCallbacks","processResults","failures","nextQueuedItem","uniqueScripts","Cell","currentCode","getLanguageData","I18n","setCode","newCode","getCode","lcNames","lcName","firstIndex","isDuplicated","getLangData","textStr","removeContext","isTokenised","isRtl","hasCode","AddOnManager","runListeners","matchedListeners","loadLanguagePack","waitFor","isAdded","languageLoad","addOn","createUrl","addOnUrl","ThemeManager","ModelManager","functionToRepeat","value$2","doRevoke","singleton","first$1","last$1","dataAnnotation","dataAnnotationId","dataAnnotationActive","dataAnnotationClasses","dataAnnotationAttributes","isRoot$1","identify","editor","annotationName","getRng","newStart","findMarkers","isBogusElement","findAll","nodesAlready","setup$y","changeCallbacks","initData","withCallbacks","updateCallbacks","callbackMap","outputData","toggleActiveAttr","onNodeChange","getNames","fireNoAnnotation","fireCallbacks","setup$x","dataAnnotation$1","addTempAttr","addAttributeFilter","identifyParserNode","persistent","customAttrNames","customClasses","newClassList","removeDirectAnnotation","unique","generate$1","clone$2","shallow$1","deep$1","shallowAs","TextWalker","TextSeeker","isBlockBoundary","backwards","getOrNull","forwards","round$2","toStart","isValidOverflow","rect1","rect2","isAbove$1","halfHeight","isBelow$1","distanceToRectEdgeFromXY","getSelectedNode","getNode$1","safeOffset","clamp$2","extendingChars","isExtendingChar","isElement$4","isCaretCandidate$2","isBlock$2","isFloated","isValidElementCaretCandidate","_len0","_key0","isNotPre","isText$7","isBr$3","nodeIndex$1","resolveIndex$1","createRange$1","isWhiteSpace$1","isHiddenWhiteSpaceRange","getBoundingClientRectWebKitText","newRng","cloneRange","getBoundingClientRect$1","isZeroRect","brNode","nbsp$1","getBrClientRect","collapseAndInflateWidth","newClientRect","getCaretPositionClientRects","caretPosition","addUniqueAndValidRect","addCharacterOffset","beforeNode","CaretPosition","fromRangeStart","fromRangeEnd","isTextPosition","isElementPosition","trimEmptyTextNode$1","rangeInsertNode","insertNode","insertFragment","isText$6","isBogus","normalizedParent","getChildNodes","createPathItem","numTextFragments","normalizedNodeIndex","create$b","outputOffset","normalizedTextOffset","parentsUntil$1","resolve$1","nodeOffset","resolvePathItem","dataLen","findTextPosition","isContentEditableFalse$9","getPoint","trimmedOffset","getNormalizedTextOffset$1","moveEndPoint$1","normalizeTableCellSelection","getOffsetBookmark","findAdjacentContentEditableFalseElm","forward","isForward","fakeCaret","isFakeCaret","createBookmarkSpan","filled","getPersistentBookmark","rng2","endBookmarkNode","startBookmarkNode","keep","getBookmark$2","getCaretBookmark","getRangeBookmark","getUndoBookmark","value$1","applyHelper","constHelper","outputHelper","_onError","onValue","Result","_onValue","Adt","cases","adt","acase","_len1","_key1","argLength","_len10","foldArgs","_key10","branches","branchKeys","reqKey","HDirection","isInlinePattern","isBlockPattern","normalizePattern","formatOrCmd","onFormat","onCommand","cmd","commandValue","getBlockPatterns","getInlinePatterns","fromRawPatterns","partition$1","deviceDetection$1","DOM$a","stringOrObjectProcessor","bodyOptionProcessor","bodyObj","getHash","getIframeAttrs","getDocType","getDocumentBaseUrl","getBodyId","getBodyClass","getContentSecurityPolicy","shouldPutBrInPre$1","getForcedRootBlock","getForcedRootBlockAttrs","getNewlineBehavior","getBrNewLineSelector","getNoNewLineSelector","shouldKeepStyles","shouldEndContainerOnEmptyBlock","isAutomaticUploadsEnabled","shouldReuseFileName","shouldReplaceBlobUris","getIconPackName","getIconsUrl","getImageUploadUrl","getImageUploadBasePath","getImagesUploadCredentials","getImagesUploadHandler","shouldUseContentCssCors","getReferrerPolicy","getLanguageCode","getLanguageUrl","shouldIndentUseMargin","getIndentation","getContentCss","getContentStyle","getFontCss","getDirectionality","getInlineBoundarySelector","getObjectResizing","getResizeImgProportional","getPlaceholder","getEventRoot","getServiceMessage","getTheme","getThemeUrl","getModel","getModelUrl","isInlineBoundariesEnabled","getFormats","getPreviewStyles","canFormatEmptyLines","getFormatNoneditableSelector","getCustomUiSelector","isInline$1","hasHiddenInput","shouldPatchSubmit","shouldAddFormSubmitTrigger","shouldAddUnloadTrigger","getCustomUndoRedoLevels","shouldDisableNodeChange","isReadOnly$1","hasEditableRoot$1","hasContentCssCors","getPlugins","getExternalPlugins$1","shouldBlockUnsupportedDrop","isVisualAidsEnabled","getVisualAidsTableClass","getVisualAidsAnchorClass","getIframeAriaText","getSetupCallback","getInitInstanceCallback","getUrlConverterCallback","getAutoFocus","shouldBrowserSpellcheck","getProtect","shouldPasteBlockDrop","shouldPasteDataImages","getPastePreProcess","getPastePostProcess","getNewDocumentContent","getPasteWebkitStyles","shouldPasteRemoveWebKitStyles","shouldPasteMergeFormats","isSmartPasteEnabled","isPasteAsTextEnabled","getPasteTabSpaces","shouldAllowHtmlDataUrls","getTextPatterns","getTextPatternsLookup","getNonEditableClass","getEditableClass","getNonEditableRegExps","shouldPreserveCData","shouldHighlightOnFocus","shouldSanitizeXss","shouldUseDocumentWrite","getAllowedImageFileTypes","hasTableTabNavigation","getDetailsInitialState","getDetailsSerializedState","shouldForceHexColor","shouldSandboxIframes","shouldConvertBlobstoBase64","isElement$3","isText$5","removeNode$1","trimCount","trimmedText","deleteZwspChars","deleteData","removeUnchanged","remove$3","removeElementAndReposition","newPosition","indexOf$1","removeTextCaretContainer","removeTextAndReposition","removeAndReposition","removeElementCaretContainer","caretContainerNode","isContentEditableFalse$8","isMedia$1","isTableCell$1","getAbsoluteClientRect","rootRect","FakeCaret","cursorInterval","lastVisualCaret","caretBlock","fakeCaretTargetNodes","trimInlineCaretContainers","caretState","startBlink","splitText","insertInline$1","isInlineFakeCaretTarget","blockName","blockNode","insertBlock","getCss","reposition","isFakeCaretTableBrowser","isFakeCaretTarget","isContentEditableTrue$1","isContentEditableFalse$7","isMedia","isBlockLike","isCaretContainer","isCaretContainerBlock","isElement$2","isText$4","isCaretCandidate$1","isForwards","skipCaretContainers","findNode","predicateFn","isCefOrCaretContainer","getParentBlock$3","isInSameBlock","caretPosition1","caretPosition2","getChildNodeAtRelativeOffset","relativeOffset","beforeAfter","isNodesInSameBlock","node1","node2","lean","before$2","after$2","normalizeRange","leanLeft","leanRight","getRelativeCefElm","getNormalizedRangeEndPoint","normalizedRange","getElementFromPosition","getVisualCaretPosition","walkFn","isMoveInsideSameBlock","inSameBlock","isContentEditableFalse$6","isText$3","isElement$1","isBr$2","isCaretCandidate","isAtomic","isAtomicContentEditableFalse","isEditableCaretCandidate","nodeAtIndex","getCaretCandidatePosition","moveForwardFromBr","findCaretPosition$1","Forwards","innerNode","rootContentEditableFalseElm","getParents$3","CaretWalker","Backwards","isBeforeOrStart","isAfterOrEnd","isBeforeAfterSameElement","shouldSkipPosition","fromPosition","navigateIgnore","ignoreFilter","positionIn","walkToPositionIn","nextPosition","prevPosition","firstPositionIn","lastPositionIn","CARET_ID","isCaretNode","getParentCaretContainer","isIndexBookmark","bookmark","isPathBookmark","isForwardBookmark","addBogus","tryFindRangePosition","padEmptyCaretContainer","isEmpty$1","insertZwsp","setEndPoint","isValidTextNode","restoreEndPoint","markerParent","otherMarker","resolvePaths","isStringPathBookmark","resolveCaretPositionBookmark","isIdBookmark","spos","epos","resolveId","selectNode","resolveIndex","isRangeBookmark","getBookmark$1","isBookmarkNode$1","isNbsp","isContent","getRanges$1","ranges","getCellsFromRanges","getSelectedNodes","getCellsFromElementOrRanges","selectedCells","getCellsFromEditor","getSel","getClosestTable","getFirstChildren","getLastChildren","hasAllContentsSelected","getStartNode","getEndNode","endNode","moveEndPoint","hasAnyRanges","runOnRanges","fakeSelectionNodes","fakeNodeRng","fillBookmark","isElementNode$1","preserveSelection","shouldMoveStart","selectedNodeBeforeAction","isSelectedBeforeNodeNoneditable","moveStartToNearestText","selectedAttr","isElementDirectlySelected","isWhiteSpaceNode$1","getNonWhiteSpaceSibling","nextName","isTextBlock$1","allowSpaces","isWrappableNoneditable","baseDataSelector","formatNoneditableSelector","isWrapNoneditableTarget","replaceVars","isEq$5","str1","normalizeStyleValue","strValue","getTextDecoration","decoration","getParents$2","isFormatPredicate","formatName","areSimilarFormats","otherFormatName","validKeys","filterObj","validKey","fmt1","filteredFmt1","fmt2","filteredFmt2","equal$1","isBlockFormat","isSelectorFormat","isInlineFormat","shouldExpandToSelector","expand","isCaretContainerEmpty","getEmptyCaretContainers","isEmptyCaretFormatElement","isBookmarkNode","getParents$1","isWhiteSpaceNode","isTextBlock","isBogusBr","findParentContentEditable","walkText","findSpace","findContent","findWordEndPoint","includeTrailingSpaces","lastTextNode","textSeeker","textOffset","findSelectorEndPoint","formatList","curFormat","findBlockEndPoint","scopeRoot","isAtBlockBoundary$1","findParentContainer","block_expand","isSelfOrParentBookmark","expandRng","includeTrailingSpace","walk$3","firstNode","lastNode","collectSiblings","siblings","findEndPoint","walkBoundary","validBlocks","wrapName","isZeroWidth","isAnnotation","applyAnnotation","masterUId","decorate","directAnnotation","_data$uid","otherData","_decorate","_decorate$attributes","_decorate$classes","attributeNames","makeAnnotation","eDoc","master","newWrappers","finishWrapper","processElements","processElement","processNodes","annotateWithBookmark","initialRng","hasFakeSelection","masterUid","applyWordGrab","selectionRng","Annotator","removeAnnotations","annotationChanged","removeAll","BookmarkManager","isXYWithinRange","containsXY","fireError","fireFormatApply","fireFormatRemove","fireSetContent","fireGetContent","firePastePlainTextToggle","BACKSPACE","DELETE","DOWN","ESC","LEFT","RIGHT","SPACEBAR","TAB","UP","PAGE_UP","PAGE_DOWN","END","HOME","modifierPressed","elementSelectionAttr","round$1","resizeHandles","nw","ControlSelection","selectedElm","selectedElmGhost","resizeHelper","selectedHandle","resizeBackdrop","startW","startH","resizeStarted","startScrollWidth","startScrollHeight","editableDoc","rootDocument","isImage","contextMenuSelectImage","isTouchEvent","touch","isEventOnImageOutsideRange","getResizeTargets","isResizable","setSizeProp","setGhostElmSize","ghostElm","resizeGhostElement","resizeHelperX","resizeHelperY","selectedElmX","selectedElmY","fireObjectResizeStart","endGhostResize","wasResizeStarted","showResizeRect","fireObjectResized","nodeChanged","targetElm","unbindResizeHandleEvents","targetWidth","hideResizeRect","startDrag","handleElm","throttledShowResizeRect","removeSelected","isChildOrEqual","updateResizeRect","composing","controlElm","selectedValue","disableGeckoResize","startElm","getEnd","relativeToNative","startSitu","finishSitu","situ","setFinish","exactToNative","adt$3","diagnose","getRanges","rev","doDiagnose","SimRange","caretPositionFromPoint","offsetNode","caretRangeFromPoint","availableSearch","adt$2","Situ","onBefore","onOn","onAfter","adt$1","SimSelection","simRange","_finishSitu","_soffset","_finish","_foffset","getStart$1","beforeSpecial","name$1","preprocessRelative","preprocessExact","fromElements","toNative","getDomRange","preprocess","getAtPoint","fromPoint$1","isEq$4","rng1","hasParent$1","findParent","hasParentWithName","isCeFalseCaretContainer","hasBrBeforeAfter","findTextNodeRelative","isAfterNode","lastInlineElement","parentBlockContainer","normalizeEndPoint","directionLeft","hasContentEditableFalseParent","isPrevNode","normalize$2","normRng","newContainer","rangeLike","newRange","normalizedRng","compareRanges","documentFocusInHandler","cumulativeInclusions","getDocument","walkUp","Navigation","pathTo","excludeFromDescend","markerInfo","cleanupFun","absolute","createMarker$1","withMarker","preserveWith","applyWithMarker","withScrollEvents","fireScrollIntoViewEvent","fireAfterScrollIntoViewEvent","withElement","elementMarker","endElement","scrollToMarker","viewHeight","intoWindowIfNeeded","viewportBottom","markerTop","markerBottom","largerThanViewport","intoWindow","intoFrame","frameViewHeight","viewportBounds","rangeIntoWindow","elementIntoWindow","rangeIntoFrame","elementIntoFrame","scrollRangeIntoView","focus$1","preventScroll","hasFocus$1","active$1","clamp$1","normalizeRng","isOrContains","isRngInRoot","nativeRangeToSelectionRange","readRange","bookmarkToNativeRng","newBookmark","shouldStore","FocusManager","isEditorUIElement","Delay","setEditorTimeout","wrappedSetTimeout","setEditorInterval","wrappedSetInterval","register$6","throttledStore","mouseUpPage","registerPageMouseUp","registerMouseUp","selectionChange","isManualNodeChange","registerEditorEvents","DOM$9","isEditorContentAreaElement","isUIElement","customSelector","registerEvents$1","editorManager","toggleContentAreaOnFocus","focusedEditor","setActive","blurredEditor","activeEditor","unregisterDocumentEvents","getFocusInElement","getCollapsedNode","normalizeSelection","caretPos","focusBody","hasElementFocus","rawBody","hasInlineFocus","iframeElement","hasIframeFocus","hasEditorOrUiFocus","hasUiFocus","activateEditor","skipFocus","quirks","refreshContentEditable","bookmarkRng","contentEditableHost","getContentEditableHost","focusEditor","isEditableRange","getEndpointElement","getEnd$1","skipEmptyTextNodes","processRanges","elementsWithCursorPosition","isCursorPosition","hasCursorPosition","isContentEditableFalse$5","descendantRtl","autocompleteSelector","create$9","findIn","setCursorLocation","typeLookup","walk$2","isEmptyTextNode","AstNode","selfAttrs","cloneAttrs","selfAttr","refNode","whitespace","unescapedTextParents","containsZwsp","getTemporaryNodeSelector","tempAttrs","createZwspCommentWalker","FILTER_SKIP","createUnescapedZwspTextWalker","hasZwspComment","hasUnescapedZwspText","hasTemporaryNode","trimTemporaryNodes","getTemporaryNodes","emptyAllNodeValuesInWalker","emptyZwspComments","emptyUnescapedZwspTexts","trim$1","conditionalTrims","trimmed","cleanupBogusElements","bogusElements","cleanupInputNames","inputs","getPlainTextContent","offscreenDiv","getContentContainer","getContentFromBody","getTempAttrs","emptyRegExp","trimEmptyContents","makeMap$1","indentBefore","indent_before","indentAfter","indent_after","entity_encoding","htmlOutput","element_format","cdata","HtmlSerializer","writer","sortedAttrs","elementRule","nonInheritableStyles","shorthandStyleProps","getStyleProps","hasInheritableStyles","isNonInheritableStyle","hasStyleConflict","nodeStyleProps","parentNodeStyleProps","valueMismatch","parentValue","nodeStyleProp","propExists","longhandProps","getLonghandStyleProps","isChar","isBeforeSpace","isAfterSpace","isEmptyText","matchesElementPosition","isImageBlock","isCefNode","isBogusAll$1","isBeforeImageBlock","isAfterImageBlock","isBeforeMedia","isAfterMedia","isBeforeTable","isAfterTable","isBeforeContentEditableFalse","isAfterContentEditableFalse","parentsUntil","parentsAndSelf","navigateIgnoreEmptyTextNodes","getClosestBlock$1","isBlock$1","isAtBeforeAfterBlockBoundary","newPos","fromBlock","isAtBlockBoundary","isAtStartOfBlock","isAtEndOfBlock","isBeforeBlock","isAfterBlock","isBr$1","findBr","parentBlocks","isBeforeBr$1","isAfterBr","getElementFromPrevPosition","findPreviousBr","findNextBr","isInMiddleOfText","getClosestBlock","hasSpaceBefore","hasSpaceAfter","isInPre","isPreValue","isAtLineBoundary","isAtBeginningOfBody","isAtEndOfBody","isSiblingCefBlock","needsToHaveNbsp","needsToBeNbspLeft","prevPos","isPrevCefBlock","isAfterCefBlock","needsToBeNbspRight","nextPos","isNextCefBlock","isBeforeCefBlock","needsToBeNbsp","isNbspAt","isWhiteSpaceAt","normalizeNbspAtStart","makeNbsp","firstPos","normalizeNbspInMiddleOfTextNode","normalizeNbspMiddle","normalizeNbspAtEnd","normalizeNbsps","hasNbsp","normalize$1","replaceData","normalizeWhitespaceAfter","whitespaceCount","normalizeWhitespaceBefore","mergeTextNodes","normalizeWhitespace","mergeToPrev","whitespaceOffset","removeNode","insertData","needsReposition","getPreviousSiblingCaretPosition","getNextSiblingCaretPosition","findCaretPositionBackwards","findCaretPositionBackwardsFromElm","findCaretPositionForward","findCaretPositionForwardsFromElm","findCaretPosOutsideElmAfterDelete","findCaretPosition","setSelection$1","deleteNormalized","afterDeletePosOpt","prevTextOpt","nextTextOpt","deleteElement$2","moveCaret","preserveEmptyCaret","afterDeletePos","normalizedAfterDeletePos","isInlineElement","paddEmptyBlock","paddPos","strongRtl","isInlineTarget","hasStrongRtl","findRootInline","findInlineParents","normalizeForwards","normalizeBackwards","execCommandIgnoreInputEvents","inputBlocker","execNativeDeleteCommand","isTextBlockOrListItem","getParentBlock$2","isBeforeRoot","paddEmptyBody","moveSelection","no_selection","willDeleteLastPositionInElement","fromPos","normalizedFirstPos","normalizedLastPos","normalizedFromPos","freefallRtl","deleteRangeContents","deleteContents","lastBlock","additionalCleanupNodes","sibling$1","getTableCells","getTable$1","adjustQuirksInDetails","startTable","endTable","isStartTableParentOfEndTable","isEndTableParentOfStartTable","isSameTable","isMultiTable","selectionInTableWithNestedTable","tableCellRng","deleteAction","singleCellTable","fullTable","partialTable","multiTable","getClosestCell$1","isExpandedCellRng","cellRng","getTableFromCellRng","startParentTable","endParentTable","getTableSelectionFromCellRng","tableSelection","getTableSelections","selectionDetails","sameTableSelection","startCell","endCell","startTableSelection","getCellRangeFromStartTable","endTableSelection","getCellRangeFromEndTable","getCellIndex","getSelectedCells","isSingleCellTableContentSelected","optCellRng","isSingleCellTable","unselectCells","otherContentRng","getActionFromRange","isRootFromElement","getCellRng","isStartInTable","isEndInTable","getTableDetailsFromRange","startTableSelectedCells","endTableSelectedCells","handleMultiTable","handleSingleTable","cleanCells","deleteContentInsideCell","isFirstCellInSelection","insideTableRng","deleteCellContents","collapseAndRestoreCellSelection","selectedNode","emptySingleTableCells","outsideDetails","editorRng","cellsToClean","outsideBlock","getOutsideBlock","startInTable","emptyBlock","handleEmptyBlock","endPointCell","emptyMultiTableCells","startTableCells","endTableCells","betweenRng","startTableCellsToClean","endTableCellsToClean","deleteTableElement","deleteTableRange","getParentCaption","deleteCellRange","emptyElement","deleteCaptionRange","getParentCell","deleteCaretInsideCaption","fromCaption","isDeleteOfLastCharPos","emptyCaretCaption","toCaption","validateCaretCaption","deleteCaretCells","fromCell","toCell","deleteBetweenCells","isNearTable","deleteCaret$3","isBeforeOrAfterTable","deleteCaretCaption","backspaceDelete$a","deleteRange$3","getContentEditableRoot$1","internalAttributesPrefixes","each$9","ElementUtils","internalAttributes","isAttributeInternal","attribs","compareObjects","isHeading","matchNode$1","nodeFilters","attributeFilters","runFilters","matchRecord","filteringAttributes","filter$2","findMatchingNodes","paddEmptyNode","pad_empty_with_br","astNode","hasOnlyChild","isPadded","findClosestEditingHost","editableNode","removeOrUnwrapInvalidNode","originalNodeParent","cleanInvalidNodes","textBlockElements","nonSplittableElements","isSplittableElement","newParent","isInvalid","hasClosest","isSummary","normalizeBlockSelectionRange","newEndPos","isPaddedEmptyBlock","hasOnlyOneChild$1","isPaddingNode","isListFragment","isEmptyFragmentElement","isListItemPadded","trimListItems","getParentLi","findLastOf","newCaretPos","insertBefore$2","findFirstIn","insertAtCaret$1","domFragment","cleanupDomFragment","toDomFragment","liTarget","liElms","isAt","caretWalker","newPosNode","insertAfter$2","beforeRng","afterRng","cloneContents","getSplit","insertMiddle","mergeableWrappedElements","isTableCell","trimBrsFromTableCell","lastChildPrevSibling","trimBlockTrailingBr","deleteSelectedContent","isTableCellContentSelected","insertHtmlAtCaret","bookmarkHtml","preserve_zwsp","caretElement","canHaveChildren","parserArgs","isParentBlockLi","isPastingSingleElement","isWrappedElement","isPastingInTheSameBlockTag","isPastingInContentEditable","shouldPasteContentOnly","markFragmentElements","_selectionOverrides","showBlockCaretContainer","notHeadingsInSummary","markerNode","findMarkerNode","editingHost","toExtract","getNodeFilters","getAttributeFilters","no_events","validInsertion","textInlineElements","elementUtils","reduceInlineTextElements","nextRng","parentEditableElm","isCell","isPartOfFragment","findNextCaretRng","moveSelectionToMarker","caretParent","updateCaret","isTreeNode","setEditorHtml","noSelection","setContentInternal","trimmedHtml","setContentTree","padd","forcedRootBlockName","setContentString","ensureIsRoot","closest$1","transformed","isEq$3","matchesUnInheritedFormatSelector","matchParents","similar","matchedNode","matchNode","matchName","matchItems","itemName","matchAttributes","onmatch","expectedValue","isEmptyValue","match$2","rawElm","matchAllOnNode","formatNames","matchSimilar","isVariableValue","isVariableFormatName","ZWSP","findFirstTextNode","createCaretContainer","removeCaretContainerNode","trimZwspFromCaretContainer","removeCaretContainer","appendNode","insertFormatNodesIntoCaretContainer","formatNodes","innerMostFormatNode","formatNode","removeCaretFormat","hasContentAfter","expandedRng","parentsAfter","newCaretContainer","insertCaretContainerNode","cleanedFormatNode","validFormats","matchedFormats","fmtName","clonedFormatNode","cleanFormatNode","caretTextNode","setup$v","disableCaretContainer","createCaretFormat","innerMost","replaceWithCaretFormat","_createCaretFormat","isFormatElement","inlineElements","postProcessHooks","isPre","addPostProcessHook","getSelectedBlocks","preBlocks","hasPreSibling","pre1","pre2","sPre2","listItemStyles","findExpandedListItemFormat","fmt","hasListStyles","getExpandedListItemFormat","isRngStartAtStartOfElement","isRngEndAtEndOfElement","isEditableListItem","getFullySelectedListItems","middle","getFullySelectedBlocks","getPartiallySelectedListItems","each$8","isElementNode","findElementSibling","mergeSiblingsNodes","isPrevEditable","isNextEditable","tmpSibling","mergeSiblings","merge_siblings","processChildElements","applyStyle","unwrapEmptySpan","removeResult","MCE_ATTR_RE","each$7","isEq$2","isChildOfInlineParent","lastIdx","normalizeTableSelection","isTableCellOrRow","wrap$1","wrapWithSiblings","rootBlockElm","forcedRootBlock","list_block","isMixedFormat","processFormatAttrOrStyle","removeEmptyStyleAttributeIfNeeded","compareNode","stylesModified","_processFormatAttrOrS","styleValue","normalizedStyleValue","remove_similar","removeNodeFormatInternal","ceFalseOverride","isColorFormatAndAnchor","preserveAttributes","preserve_attributes","attrsToPreserve","_processFormatAttrOrS2","valueOut","removeNodeFormatFromClone","newName","removeFormatInternal","splitToFormatRoot","formatRoot","findFormatRoot","lastClone","firstClone","formatRootParent","wrapAndSplit","removeFormatOnNode","removeNodeFormat","currentNodeMatches","textDecoration","isRemoveBookmarkNode","removeRngStyle","liFmt","removeListStyleFormats","removeFormat$1","each$6","mergeWithChildren","clear_child_styles","clearChildStyles","each$5","styleVal","applyFormatAction","setElementFormat","onformat","applyNodeStyle","createWrapElement","wrapElm","applyRngStyle","nodeSpecific","isMatchingWrappingBlock","isWrappingBlockFormat","canRenameBlock","isEditableDescendant","isValidBlockFormatForNode","isNonWrappingBlockFormat","currentWrapElm","lastContentEditable","isWrappableNoneditableElm","contentEditableValue","validBRParentElements","hasCaretNodeSibling","canFormatBR","isValidWrapNode","isCaret","isCorrectFormatForNode","canWrapNode","isEmptyTextNode$1","getChildCount","merge_with_parents","mergeWithParents","hasFontSize","mergeBackgroundColorAndFontSize","processTextDecorationsAndColor","parentTextDecoration","mergeTextDecorationsAndColor","inverseTagDescendants","mergeSubSup","wordcharRegex","applyCaretFormat","postProcess$1","applyFormat$1","hasVars","fallbackElement","matchingNode","matchingFormat","updateAndFireChangeCallbacks","registeredCallbacks","runIfChanged","withSimilar","withoutSimilar","withVars","formatChangedInternal","registeredFormatListeners","formatChangeItems","getCurrent","toAppendTo","removeListeners","explode$1","create$8","getFilters","removeFilter","newCallbacks","addFontToSpansFilter","domParser","fontSizes","addNodeFilter","removeAttrs","addFilters","convert_fonts_to_spans","font_size_legacy_values","convertToSTag","addStrikeFilter","htmlParser","blockElements","prevName","lastParent","parseDataUri","_uri$split","_uri$split2","base64Encoded","extractedData","extractBase64Data","buildBlob","uriType","blobUriToBlob","blobToDataUri","count$1","processDataUri","dataUri","base64Only","generateBlobInfo","createBlobInfo$1","blobInfo","uniqueId$1","dataUriToBlobInfo","getByData","registerBase64ImageFilter","blob_cache","processImage","inputSrc","isInternalImageSource","isBogusImage","isMimeType","mime","register$4","remove_trailing_brs","addNoOpener","newRel","appendRel","allow_unsafe_link_target","allow_html_in_named_anchor","fix_list_elements","classValue","validClassesMap","convert_unsafe_embeds","sandboxIframes","createSafeEmbed","sandbox_iframes","create$7","thisValue","Func","arrayForEach","unapply","arrayPop","stringToLowerCase","stringToString","stringMatch","stringReplace","stringIndexOf","stringTrim","typeErrorCreate","addToSet","transformCaseFunc","_transformCaseFunc","lcElement","newObject","lookupGetter","html$1","svg$1","svgDisallowed","mathMl$1","mathMlDisallowed","xml","MUSTACHE_EXPR","ERB_EXPR","TMPLIT_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","DOCTYPE_NAME","EXPRESSIONS","getGlobal","BreakType","purify","createDOMPurify","trustedTypesPolicy","originalDocument","_window$NamedNodeMap","ElementPrototype","getNextSibling","getParentNode","emptyHTML","_document","IS_ALLOWED_URI$1","DEFAULT_ALLOWED_TAGS","DEFAULT_ALLOWED_ATTR","SET_CONFIG","DEFAULT_FORBID_CONTENTS","DATA_URI_TAGS","DEFAULT_DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","MATHML_NAMESPACE","SVG_NAMESPACE","HTML_NAMESPACE","IS_EMPTY_INPUT","DEFAULT_ALLOWED_NAMESPACES","SUPPORTED_PARSER_MEDIA_TYPES","formElement","isRegexOrFunction","testValue","_parseConfig","TRUSTED_TYPES_POLICY","purifyHostElement","ATTR_NAME","policyName","_createTrustedTypesPolicy","MATHML_TEXT_INTEGRATION_POINTS","HTML_INTEGRATION_POINTS","COMMON_SVG_AND_HTML_ELEMENTS","ALL_SVG_TAGS","ALL_MATHML_TAGS","_forceRemove","_removeAttribute","_initDocument","dirty","dirtyPayload","_createIterator","_isNode","_executeHook","entryPoint","_sanitizeElements","_basicCustomElementTest","_checkValidNamespace","_isValidAttribute","lcTag","_sanitizeAttributes","hookEvent","_attr","initValue","_sanitizeShadowDOM","shadowNode","shadowIterator","importedNode","returnNode","nodeIterator","shadowrootmode","serializedHTML","hookFunction","each$4","queryParts","DEFAULT_PORTS","ftp","mailto","safeSvgDataUrlElements","isInvalidUri","decodedUri","encodedUri","decodeUri","allow_html_data_urls","allowSvgDataUrls","blockSvgDataUris","baseUri","base_uri","isProtocolRelative","toAbsPath","urlMatch","userInfo","pathMatch","getURI","relativeUri","toRelPath","noHost","absoluteUri","isSameOrigin","defaultPort","breakPoint","normalizedBase","normalizedPath","baseParts","outPath","noProtoHost","uriComponents","filteredUrlAttrs","internalElementAttr","processNode","allow_conditional_comments","lcTagName","isInternalElement","bogus","hasNone","shouldKeepAttribute","isRequiredAttributeOfInternalElement","isBooleanAttribute","filterAttributes","setupPurify","namespaceTracker","purify$1","processAttr","sanitizeNamespaceElement","xlinkAttrs","getSanitizer","scopes","currentScope","sanitizeHtmlElement","getPurifyConfig","_mimeType","extend$1","transferChildren","nativeParent","nsSanitizer","nativeChild","whitespaceCleaner","textRootBlockElements","allWhiteSpaceRegExp","startWhiteSpaceRegExp","endWhiteSpaceRegExp","hasWhitespaceParent","isAtEdgeOfBlock","neighbour","isLineBreakNode","isNodeEmpty","isTextRootBlockEmpty","isPaddedWithNbsp","nodeFilterRegistry","attributeFilterRegistry","defaultedSettings","root_name","removeNodeFilter","removeAttributeFilter","isWrappableNode","rootName","isSpecialRoot","wrappedHtml","parseAndSanitizeWithContext","_whitespaceCleaner","_whitespaceCleaner2","whitespacePre","whitespacePost","invalidFinder","findInvalidChildren","matchFinder","preprocessors","postprocessors","traverseOrder","_loop3","_node4","_loop4","postprocess","walkTree","_partition$","topLevelChildren","rootBlockName","getRootBlockName","rootBlockNode","rootBlock","forced_root_block_attrs","addRootBlocks","inline_styles","register$5","withSerializedContent","fireEvent","parserSettings","serializeContent","eventArgs","preProcessGetContent","fireBeforeGetContent","postProcessGetContent","processedEventArgs","preProcessSetContent","fireBeforeSetContent","postProcessSetContent","tableModel","tableRow","cellPosition","getSpan","cellExists","getWidth","findElementPos","extractRows","newRows","tableElm","colspan","fillout","skipCellsX","toDom","tableElement","tableBody","createDomTable","modelRowsToDomRows","subsection","subTable","getFullySelectedListWrappers","_li","findParentListContainer","listCont","listElm","listStyles","_style","getWrapElements","commonAnchorContainer","wrapElements","listWrappers","allWrappers","directListWrappers","emptyFragment","getFragmentFromRange","innerElm","getTableFragment","selectedTableCells","getParentTable","firstCell","lastCell","fullTableModel","sectionedTableModel","read$3","getSelectionFragment","isCollapsibleWhitespace","getInnerText","bin","extractSelectedContent","parentBlockOpt","contextNodeName","getContextNodeName","rangeContentClone","nonRenderedText","parentBlockText","tmpElm","contextual","getSerializedContent","getSelectedContentInternal","defaultedArgs","getInner","setupArgs$3","updatedArgs","getOuterHtml","insertAt","vDown","vUp","buildScript","buildSnake","getMiddleSnake","currentFragments","removeAt","applyDiff","diag","snake","lazyTempDocument","createFromEditor","hasIframes","beforeBookmark","createFragmentedLevel","trimZwsp","read$2","createCompleteLevel","applyToEditor","getLevelContent","getCleanLevelContent","isEq$1","level1","level2","hasEqualContent","hasEqualCleanedContent","isUnlocked","locks","setTyping","typing","endTyping","makePlainAdaptor","bindEvents","beforeChange","beforeChange$1","currentLevel","newLevel","lastLevel","customUndoRedoLevels","setDirty","addUndoLevel$1","undo$1","redo","redo$1","clear$1","reset$1","hasUndo","hasUndo$1","hasRedo","hasRedo$1","transact$1","ignore$1","callback1","callback2","extra$1","matchedFormatNames","checkedMap","canApply","formatChanged","getContentInternal","addVisual","matchedElm","hasVisual","addVisualInternal","autocompleter","addDecoration","removeDecoration","remove$2","isRtc","setup$t","editorCast","rtcPlugin","getRtcSetup","rtcInstance","nul","makeNoopAdaptor","rtcEditor","defaultVars","_undoManager","_locks","_node","_similar","_rfl","_details","getRawModel","makeRtcAdaptor","rtc","isRemote","getRtcInstanceWithFallback","getRtcInstanceWithError","getContent$1","getSelectedContent","mergeAndNormalizeText","outerNode","outerElm","oldLength","merge$1","innerTextNode","walkPastBookmark","normalizeTextIfRequired","setContent$1","setupArgs$2","cleanedContent","contextBlock","contextArgs","cleanContent","prevText","nextText","rngSetContent","createContextualFragment","deleteFromCallbackMap","SelectorChanged","selectorChangedData","currentSelectors","findMatchingNode","selectorChangedWithUnbind","matchedSelectors","isAttachedToDom","EditorSelection","selectedRange","explicitRange","getRng$1","tryCompareBoundaryPoints","how","sourceRange","destinationRange","compareBoundaryPoints","START_TO_START","END_TO_END","isValidRange","anchorRange","focusRange","bookmarkManager","compareEndPoints","fakeSelectedElements","setNode","endElm","selectedBlocks","selectorChanged","getScrollContainer","scrollElementIntoView","placeCaretAt","controlSelection","shouldFireEvent","oldDoc","clonedNode","firePreProcess","preProcess$1","toHtml","serializeNode","outArgs","firePostProcess","postProcess","DomSerializerImpl","preserve_cdata","register$3","getHtmlFromNode","isBr","brNode1","brNode2","trimTrailingBr","parseHtml","addRules","setRules","DomSerializer","domSerializer","setupArgs$1","getContent$2","setupArgs","setContent$2","removedOptions","deprecatedOptions","removedPlugins","deprecatedPlugins","replacedWith","getMatchingOptions","searchingFor","settingNames","getRemovedOptions","getDeprecatedOptions","getMatchingPlugins","pluginNames","getRemovedPlugins","getDeprecatedPlugins","getPluginDescription","logWarnings","rawOptions","normalizedOptions","hasRemovedPlugins","hasRemovedOptions","isLegacyMobileTheme","listJoiner","themesMessage","pluginsMessage","optionsMessage","logRemovedWarnings","hasDeprecatedPlugins","hasDeprecatedOptions","logDeprecatedWarnings","DOM$8","safeDestroy","remove$1","is_removing","unbindAllNativeEvents","fireRemove","orgDisplay","restoreOriginalStyles","fireDetach","automatic","_beforeUnload","_mceOldSubmit","formEventDelegate","restoreForm","contentAreaContainer","editorContainer","bodyElement","clearDomReferences","IconManager","iconPack","CreateIconManager","getComputedSizeProp","getClientWidth","getClientHeight","getMarginTop","getMarginLeft","isXYInContentArea","bodyElm","transposedPoint","transpose","isInsideElementContentArea","isEditorAttachedToDom","rawContainer","getContentAreaContainer","NotificationManager","getImplementation","unimplemented","getNotificationManagerImpl","getArgs","getTopNotification","closeNotification","otherNotification","progressBar","getEl","addNotification","getNotifications","serviceMessage","registerEvents","WindowManager","dialogs","getWindowManagerImpl","openUrl","confirm","funcBind","_len11","_key11","addDialog","fireOpenEvent","closeDialog","fireCloseEvent","otherDialog","storeSelectionAndOpenDialog","openDialog","windowManagerImpl","displayNotification","displayError","_skinLoaded","createLoadError","initError","_len12","_key12","toContentSkinResourceName","transformToUrls","cssLinks","skinUrl","contentCssFile","isBundledCssSkinName","isContentCssSkinName","documentBaseURI","toAbsolute","appendContentCssFromSettings","contentCSS","getContentCssUrls","getFontCssUrls","ImageScanner","uploadStatus","cachedPromises","getAllImages","isUploaded","imageInfo","newPromise","invalidDataUri","getByUri","imageToBlobInfo","UploadStatus","blobUriStatuses","createStatus","resultUri","hasBlobUri","getResultUri","isPending","markPending","markUploaded","removeFailed","Uploader","pendingPromises","defaultHandler","onprogress","path1","path2","uploadHandler","handlerSuccess","handlerFailure","uploadBlobInfo","openNotification","uploadBlobs","blobInfos","pendingUploadBlobInfo","createUploader","addPaddingToEmpty","isEmptyForPadding","EditorUpload","uploader","imageScanner","toBlobInfo","library","findFirst","cachedBlobInfo","removeByUri","BlobCache","urlFilters","aliveGuard","replaceString","replaceImageUrl","targetUrl","replacementUrl","replacementString","replaceUrlInUndoStack","scanForImages","imageInfos","imagesToRemove","shouldDispatchChange","filteredResult","uploadInfo","_imageInfos$index","convertURL","replaceImageUriInView","uploadUri","sugarElement","parentOpt","dispatchChange","uploadImagesAuto","isValidDataUriImage","imgElm","replaceBlobUris","source_view","genericBase","cellBase","cellFormats","tablecellbackgroundcolor","tablecellverticalalign","tablecellbordercolor","borderColor","tablecellclass","tableclass","tablecellborderstyle","borderStyle","tablecellborderwidth","borderWidth","FormatRegistry","valigntop","verticalAlign","valignmiddle","valignbottom","alignleft","preview","aligncenter","alignright","alignjustify","strikethrough","forecolor","hilitecolor","fontname","fontsize","lineheight","fontsize_class","_fmt","_itemName","customValue","removeformat","each$3","isPreviewItem","parsedSelectorToHtml","sItem","wrapInHtml","parentCandidate","ancestorName","parentRequired","elmRule","getRequiredParent","siblingElm","parentSiblings","parseSelectorItem","$3","$4","getCssText","previewCss","previewStyles","removeVars","previewFrag","parseSelector","previewElm","rawParentFontSize","parentFontSize","Formatter","formatChangeState","addShortcut","setup$s","nodeOrRange","setup$u","applyFormat","removeFormat","toggleFormat","matchFormat","closestFormat","matchAllFormats","matchNodeFormat","canApplyFormat","shouldIgnoreCommand","UndoManager","addUndoLevel","isFirstTypedCharacter","addNonTypingUndoLevel","isMeta","modKey","isInsertReplacementText","isInsertTextDataNull","isInsertFromPasteOrDrop","addKeyboardShortcuts","nonTypingKeycodes","placeholderAttr","isKeyboardEvent","isDeleteEvent","setup$r","updatePlaceholder","isNonTypingKeyboardEvent","showPlaceholder","isTypingKeyboardEvent","isVisuallyEmpty","firePlaceholderToggle","blockBoundary","getBlockPosition","containerElm","blockPosition","getClosestHost","readFromRange","fromBlockPos","toBlockPos","blockPos","lastPositionInBlock","skipLastBr","isDifferentBlocks","hasSameHost","isEditable$1","isValidBlock","hasValidBlocks","extractChildren","getChildrenUntilBlockBoundary","removeEmptyRoot","nestedBlockMerge","toBlock","insertionPoint","sidelongBlockMerge","newFromBlockDescendants","getInsertionPoint","parentsAndSelf$1","findInsertionPoint","trimBr","mergeBlockInto","mergeBlocks","block1","block2","backspaceDelete$9","read$1","isRawNodeInTable","isEverythingSelected","noPrevious","noNext","isSelectionInTable","deleteRange$2","emptyEditor","deleteRangeMergeBlocks","backspaceDelete$8","_forward","showCaret","getNodeRange","renderRangeCaret","caretPositionNode","caretPositionBeforeNode","ceRoot","renderCaretAtRange","isBeforeBoundary","isAfterBoundary","deleteContentAndShowCaret","peekCaretPosition","caretRange","deleteRange","trimEmptyTextNode","backspaceDelete$7","getNextPosFn","isBeforeFn","nextCaretPosition","normalizedNextCaretPosition","deleteBoundaryText","getEdgeCefPosition","atStart","isCefAtEdgeSelected","DeleteAction","moveToElement","moveToPosition","deleteEmptyBlockOrMoveToCef","toCefElm","blockElm","findCefPosition","isDeleteFromCefDifferentBlocks","getContentEditableAction","caretLocation","isAtContentEditableBlockCaret","getContentEditableBlockAction","skipMoveToActionFromInlineCefToContent","getAncestorCe","backspaceDeleteCaret","hideFakeCaret","deleteElement$1","backspaceDeleteRange","paddEmptyElement","backspaceDelete$6","backspaceDelete$5","deleteCaret$2","isText$2","startsWithCaretContainer","endsWithCaretContainer","createZwsp","insertInline","insertBefore$1","insertAfter$1","insertInlineBefore","insertInlineAfter","insertInlinePos","isPosCaretContainer","caretNode","evaluateUntil","rescope$1","nPos","isNotInsideFormatCaretContainer","findInsideRootInline","start$1","isValidLocation","readLocation","betweenInlines","fromInline","toInline","hasSameParentBlock","skipNoMovement","fromLocation","toLocation","location2","location1","findLocationSimple","findLocation$1","findLocationTraverse","moveRel","moveByWord","hasSelectionModifyApi","VDirection","walk$1","getBreakType","Wrap","getPositionsUntil","breakType","breakAt","Eol","getAdjacentLinePositions","getPositionsUntilBreak","findClosestHorizontalPositionFromPoint","lastRect","newRect","lastDist","findClosestHorizontalPosition","targetRect","getPositionsUntilPreviousLine","getPositionsUntilNextLine","getPositionsAbove","getPositionsBelow","isAtFirstLine","isAtLastLine","getClosestPositionAbove","getClosestPositionBelow","isContentEditableFalse$4","distanceToRectLeft$1","distanceToRectRight$1","findClosestClientRect","oldClientRect","oldDistance","newDistance","getNodeClientRects","toArrayWithNode","SimpleResultType","walkUntil","isAboveFn","isBeflowFn","targetClientRect","findUntil","upUntil","downUntil","getLastClientRect","isAboveLine","aboveLineNumber","isLine","isLineNumber","moveToRange","renderRangeCaretOpt","moveHorizontally","rangeIsInContainerBlock","moveVertically","caretClientRect","linePositions","nextLinePositions","nextLineRect","caretPositions","isBelowFn","positionsUntil","closestNextLineRect","getLineEndPoint","lineInfo","moveToLineEndPoint$3","setCaretPosition","setSelected","renderCaretLocation","findLocation","getPositionFromRange","isInlineTarget$1","safeRemoveCaretContainer","caretValue","isAtZwsp","move$3","moveWord","_caret","setupSelectedState","inlineBoundaries","selectedInlines","targetInlines","toggleInlines","inlines","_inline","renderInsideInlineCaret","moveNextWord","movePrevWord","moveToLineEndPoint$2","linePoint","outsideLoc","setCaretLocation","deleteFromTo","rangeFromPositions","backspaceDeleteCollapsed","rescope","toPosition","hasOnlyTwoOrLessPositionsLeft","backspaceDelete$4","getParentsUntil","hasOnlyOneChild","getParentInlinesUntilMultichildInline","hasMultipleChildren","getFormatNodes","parentInlines","isFormatElement$1","getFormatNodesAtStart","getParentInlines","deleteCaret$1","deleteLastPosition","createCaretFormatAtStart","isBrInEmptyElement","_createCaretFormat2","createCaretFormatAtStart$1","rangeStartsAtTextContainer","rangeEndsAtEndOfStartContainer","startParent","endParent","isEqualNode","rangeStartAndEndHaveSameParent","rangeEndsAtEndOfEndContainer","requiresDeleteRangeOverride","rangeStartsAtStartOfTextContainer","rangeStartParentIsFormatElement","rangeEndsAfterEndOfStartContainer","rangeEndsAtOrAfterEndOfStartContainer","deleteRange$1","updateFormats","missingFormats","updateCaretFormat","backspaceDelete$3","hasAncestorInlineCaret","ancestor$1","requiresRefreshCaretOverride","hasAncestorInlineCaretAtStart","refreshCaret","deleteElement","backspaceDelete$2","isNearMedia","deleteCaret","parseIndentValue","getIndentStyleName","useMargin","canOutdent","getBlocksToIndent","isReadOnly","indentStyleName","intentValue","validateBlocks","isListComponent","parentIsListComponent","indentation","indentUnit","indentValue","indentElement","outdent","backspaceDelete$1","findAction","forwardDeleteCommand","execNativeForwardDeleteCommand","setup$q","deleteCommand","getTouch","setup$p","startData","longpressFired","debounceLongpress","distX","distY","isFarEnough","isBlockElement","isValidTarget","shouldRemoveTextNode","createRootBlock","rootNodeName","hasBlockParent","restoreSelection","insertEmptyLine","checkClassName","replaceMatchWithSpan","prevChar","findStartTagIndex","isValidContent","nonEditableRegExps","setup$n","contentEditableAttrName","editClass","nonEditClass","hasEditClass","hasNonEditClass","convertRegExpsToNonEditable","blockCaretContainer","handleBlockContainer","findBlockCaretContainer","isContentEditableFalse$3","exitPreBlock","getVisualCaretPosition$1","newBlock","textBlock","createTextBlock","getHorizontalRange","moveToCeFalseHorizontally","getVerticalRange","moveToCeFalseVertically","moveH$2","flipDirection","moveV$4","moveToLineEndPoint$1","selectToEndPoint","curRng","isTarget","moveCaretToNewEmptyLine","getClosestTargetBlock","isAtFirstOrLastLine","moveV$3","move$2","moveDown","moveUp","moveV$2","baseKeyPattern","matchesEvent","match$1","defaultPatterns","matchDelayed","defaultDelayedPatterns","_len13","_key13","execute","executeWithDelayedAction","moveH$1","moveV$1","moveToLineEndPoint","CellLocation","filterFirstLayer","lookup$1","firstLayer","isEligible","getClosestCell","getYAxisValue","isTargetCorner","corners","tds","getCorners","corner","newCorner","oldCorner","oldDist","newDist","findClosestCorner","getClosestCellAbove","getClosestCellBelow","findClosestPositionInAboveCell","findClosestPositionInBelowCell","isAtTableCellLine","startsWithWrapBreak","startsWithBrBreak","breakPos","hasNextBreak","isAtFirstTableCellLine","isAtLastTableCellLine","navigateHorizontally","_td","isCaretAtStartOrEndOfTable","getTable","insertFn","renderBlock","navigateVertically","getClosestAbovePosition","getClosestBelowPosition","move$1","mover","moveH","moveV","tabGo","_current","getCellFirstCursorPosition","tabForward","tabBackward","handleTab","rootElements","clearSelectedCells","setup$l","executeKeydownOverride$4","DOM$7","alwaysNext","textBefore","scanLeft","scanRight","repeatLeft","stripTrigger","findStart","initRange","minChars","firstChar","findTrigger","spot","toLast","isText$1","toLeaf","isStartOfWord","isPreviousCharContent","getDatabase","getTriggerContext","lookupWithContext","startText","autocompleters","lookupByTrigger","lookupData","maxResults","matchText","highlightOn","fold$1","stype","serror","svalue","SimpleResult","formatObj","getErrorInfo","chooseFrom","branch","missingBranch","extract","choose$1","missingKey","chosen","merger","curObject","defaulted$1","mergeErrors","ResultCombine","partitions","ifField","ifCustom","instantiator","anyValue$1","requiredAccess","missingRequired","fallbackAccess","extractField","bundleAsOption","optValue","optionAccess","optionDefaultedAccess","objOf","extractFields","fieldStrings","_okey","_presence","_instantiator","arrOf","asRaw","extractValue","formatError","errInfo","formatErrors","choose","anyValue","typedValue","expectedType","actualType","functionProcessor","customField","validateEnum","requiredOf","requiredString","requiredFunction","optionOf","optionString","defaultedOf","defaultedNumber","defaultedStringEnum","defaultedBoolean","defaultedFunction","fetch$1","onSetup","optionalText","optionalIcon","optionalTooltip","optionalLabel","defaultedType","defaultedString","autocompleterSchema","defaulted","defaultedArrayOf","baseToolbarButtonFields","baseToolbarToggleButtonFields","contextBarFields","contextButtonFields","contextToggleButtonFields","launchButtonFields","launchToggleButtonFields","toggleOrNormal","contextformbutton","contextformtogglebutton","requiredArrayOf","FakeCaretPosition","register$2","popups","datasetValues","setup$k","activeAutocompleter","uiActive","cancelIfNecessary","removeAutocompleterDecoration","fireAutocompleterEnd","commenceIfNecessary","addAutocompleterDecoration","matchLength","getAutocompleters","newContext","doLookup","lookupInfo","fireAutocompleterUpdate","fireAutocompleterStart","_ui","setupEditorInput","browser$1","emptyNodeContents","isEntireNodeSelected","getParentDetailsElementAtPos","isInDetailsElement","isCaretAtStartOfSummary","detailsElements","startSummary","isCaretInTheBeginningOf","isCaretAtEndOfSummary","isCaretInTheEndOf","setCaretToPosition","moveCaretToDetailsPos","shouldPreventDeleteIntoDetails","granularity","parentDetailsAtCaret","inEmptyParentBlock","isFirstBlock","isLastBlock","parentDetailsAtNewPos","shouldPreventDeleteSummaryAction","detailElements","startInSummary","endInSummary","isPartiallySelectedDetailsElements","startDetails","endDetails","isPartialDelete","isCaretInLastPositionInBody","isCaretInFirstPositionInBody","shouldPreventDeleteAction","getDetailsElements","backspaceDelete","applySelection","appendAllChildNodes","handleDeleteActionSafari","createAndFireInputEvent","specifics","isComposing","AT_TARGET","originalTarget","explicitOriginalTarget","InputEvent","fireInputEvent","fireBeforeInputEvent","platform$2","isMacOSOriOS","setup$j","isBackspaceKeydown","unmodifiedGranularity","getModifiedGranularity","applyAction","executeKeydownOverride$3","executeKeyupOverride","moveToCaretPosition","firstNonWhiteSpaceNodeSibling","getEditableRoot","editableRoot","getParentBlock$1","setForcedBlockAttrs","forcedRootBlockAttrs","attrStyles","currentStyles","newStyles","attrClassesOpt","attrClasses","currentClassesOpt","currentClasses","filteredClasses","newClasses","appliedAttrs","remainingAttrs","applyAttributes","createNewBlock","keepStyles","newBlockName","parentBlockName","isLastEmptyBlockInDetails","isAtDetailsEdge","insertNewLine","getDetailsRoot","isListBlock","isListItem","getContainerBlock","containerBlock","containerBlockParent","isFirstOrLastLi","insert$4","containerParent","parentBlockStyles","isFirstChild","tmpRng","hasFirstChild","previousChildren","isEmptyAnchor","containerAndSiblingName","canSplitBlock","normalizeZwspOffset","blockbreak","isAfterLastNodeInContainer","isCef","collapsedAndCef","createNewBlock$1","isCaretAtStartOrEndOfBlock","normalizedOffset","insertNewBlockAfter","containerBlockName","shouldEndContainer","parentList","isWithinNonEditableList","startNodeName","startNodeParent","wrapSelfAndSiblingsInDefaultBlock","parentBlockParent","isNearChildren","includeZwspInRange","trimLeadingLineBreaks","firstChilds","trimInlineElementsOnLeftSideOfBlock","addBrToBlockIfNeeded","fakeEventName","moveSelectionToBr","brElm","extraBr","insertBrAtCaret","isControlKey","hasRightSideContent","insertBrBefore","insertBrAfter","hasBrAfter","isAnchorLink","isInsideAnchor","insertBrOutsideAnchor","linebreak","anchorLocation","readInlineAnchorLocation","newLineAction","shouldBlockNewLine","_shiftKey","shouldBlockNewLine$1","inListBlock","requiredState","isListItemParentBlock","inBlock","getParentBlockName","inCefBlock","inPreBlock","shouldPutBrInPre","inBrContext","shouldInsertBr","hasShiftKey","_editor","canInsertIntoEditableRoot","rootEditable","isInRootWithEmptyOrCEF","isCefOpt","insertBreak","execEditorDeleteCommand","insert$1","logicalAction","platform$1","isIOSSafari","handleEnterKeyEvent","setup$i","iOSSafariKeydownBookmark","isCaretAfterKoreanCharacter","iOSSafariKeydownOverride","iOSSafariKeyupOverride","setup$h","executeKeydownOverride$2","setup$g","normalizeNbspsInEditor","isPageUpDown","setNodeChangeBlocker","setup$f","executeKeyupAction","insertTextAtPosition","insertNbspAtPosition","insertSpaceAtPosition","setSelection","insertSpaceOrNbspAtSelection","locationToCaretPosition","checkPos","insertInlineBoundarySpaceOrNbsp","insertSpaceInSummaryAtSelectionOnFirefox","insertSpaceOrNbspAtPosition","setup$d","executeKeydownOverride$1","executeKeydownOverride","tableTabNavigation","setup$b","setup$e","setup$m","setup$c","NodeChange","lastRng","nativeRng","fakeRng","isSameElementPath","imageId","eventId","mkSetEventFn","transfer","setDragstartEvent","setDropEvent","setDragendEvent","isInDragStartEvent","modeId","mkSetModeFn","setMode$1","setReadWriteMode","setReadOnlyMode","setProtectedMode","checkMode","expectedMode","isInReadWriteMode","isInProtectedMode","validDropEffects","validEffectAlloweds","createDataTransfer","dataTransferImpl","DataTransfer","dropEffect","effectAllowed","itemsImpl","normalizeItems","setDragImage","imageData","clearData","cloneDataTransfer","originalMode","getDragImage","getEvent","setEvent","setHtmlData","internalMimeType","internalHtmlMime","internalMark","toBlockElements","rootTag","rootAttrs","tagOpen","openContainer","tagClose","paragraphs","pasteBinDefaultContent","isPasteBin","isDefaultPasteBinContent","PasteBin","lastRngCell","pasteBinElm","create$6","pasteBinClone","copyAndRemove","toElm","fromElm","_filter$","_filter$2","pasteBinClones","dirtyWrappers","cleanWrapper","getLastRng","filter$1","trimHtml","filterContent","preProcessArgs","firePastePreProcess","filteredContent","preProcess","tempBody","postProcessArgs","firePastePostProcess","postProcessFilter","pasteHtml$1","linkSelection","pasteHtmlFn","insertImage","isImageUrl","pasteAsText","smartInsertContent","createIdGenerator","createPasteDataTransfer","doPaste","shouldSimulateInputEvent","doPasteAction","internalFlag","unmark","encodedText","getDataTransferItems","clipboardContent","hasHtmlOrText","createBlobInfo","useFileName","extractFilename","allowedExtensions","lowerExt","mimeOverrides","pasteImageData","isClipboardEvent","getImagesFromDataTransfer","fileResults","imageItem","existingBlobInfo","pasteImage","insertClipboardContent","plainTextMode","isPlainTextHtml","isPlainText","isAbsoluteUrl$1","voidElements","ignoreElements","registerEventHandlers","pasteBin","pasteFormat","keyboardPastePlainTextState","isKeyboardPasteEvent","isBrokenAndroidClipboardEvent","registerEventsAndFilters","isWebKitFakeUrl","isDataUri","isPasteInsert","registerDataImageFilter","register$1","togglePlainTextPaste","setClipboardData","setHtml5Clipboard","offscreenRange","hasSelectedContent","isTableSelection","cut","getCaretRangeFromEvent","setFocusedRange","setup$a","draggingInternallyState","hasImage","dropContent","plainTextContent","isPlainTextFileUrl","internalContent","needsInternalDrop","parentTransparent","needsCustomInternalDrop","isInternalDrop","trimmedContent","brokenDetailElements","setupSummaryDeleteByDragFix","rgbRegExp","removeWebKitStyles","webKitStylesOption","webKitStyles","inputStyles","outputStyles","compareInput","outputStyle","setup$7","filterFunc","addPreProcessFilter","setup$8","processEvent","setup$9","setup$6","preventSummaryToggle","initialStateOption","serializedStateOption","filterDetails","isContentEditableFalse$2","getClosestScope","isContentEditableTrue","getClosestCef","findEdgeCaretCandidate","onTripleClickSelect","startRng","clickNode","cef","findClosestBlockRange","customEventRootDelegates","beforeUnloadDelegate","distanceToRectLeft","distanceToRectRight","isOverlapping","overlapY","collidesY","splitRectsPerAxis","rects","boundingClientRectFromRects","boundingRect","_partition$2","horizontalDistance","_y","closestChildCaretCandidateNodeRect","findCloserTextNode","caretCandidateRect","findClosestCaretCandidateNodeRect","sortedRects","sndClosest","tryFindSecondBestTextNode","_splitRectsPerAxis","_splitRectsPerAxis2","horizontalRects","verticalRects","_partition$3","closestCaretCandidateNodeRect","ownerDoc","prevScope","childNodesWithoutGhost","uncheckedChildren","newScope","traverseUp","closestFakeCaretCandidate","Before","After","clientInfo","getAbsolutePosition","docElem","calc","bodyPosition","getBodyPosition","scrollPosition","getScrollPosition","mousePosition","iframePosition","inlineScroll","iframeScroll","getBodyScroll","getMousePosition","getTargetProps","makeDragEvent","dataTransferForDispatch","makeDataTransferCopyForDragEvent","BUBBLING_PHASE","CAPTURING_PHASE","initUIEvent","initMouseEvent","makeDndEvent","makeDndEventFromMouseEvent","isContentEditableFalse$1","createGhost","clonedElm","scrollEditor","scrollRight","scrollUp","scrollDown","isLeftMouseButtonPressed","ceElm","isDraggable","elmPos","dragging","relX","relY","ghost","dispatchDragEvent","throttledPlaceCaretAt","caretInfo","state_","movement","mouseEventOriginatedFromWithinTheEditor","targetPos","applyRelPos","mouseY","mouseX","outerMouseY","outerMouseX","moveGhost","isValidDropTarget","getRawTarget","dropTarget","removeElementWithPadding","getHtmlData","removeDragState","stopDragging","bindFakeDragEvents","pageDom","dragStartHandler","dragHandler","dropHandler","dragEndHandler","init$2","preventFileDrop","preventFileDropIfUIElement","editorRoot","blockUnsupportedFileDrop","isContentEditableFalse","getContentEditableRoot","SelectionOverrides","selectedElement","realSelectionId","isFakeSelectionTargetElement","isWithinCaretContainer","isRangeInCaretContainer","normalizeVoidElementSelection","selectElement","targetClone","realSelectionContainer","setupOffscreenSelection","nodeElm","setElementSelection","afterNode","removeElementSelection","contentEditableRoot","closestContentEditable","setRange","isFakeSelectionElement","renderFocusCaret","setup$4","setup$3","getNormalizedTextOffset","generatePath","generatePathRange","resolvePath","nodePath","optNode","resolvePathRange","cleanEmptyNodes","deleteRng","clean","getParentBlock","resolveFromDynamicPatterns","patternSet","beforeText","dynamicPatterns","dynamicPatternsLookup","blockPatterns","inlinePatterns","getBeforeText","stripPattern","firstTextNode","textAfter","applyPattern$1","formatSet","isBlockFormatName","findPattern$1","sortedPatterns","sortPatterns$1","nuText","newMarker","rangeFromMarker","createMarker","markerPrefix","pathRange","textEnd","textStart","startParentNode","removeMarker","isReplacementPattern","findPatternStartFromSpot","patternContent","startPattern","searchText","startEndIndex","startPatternIndex","nextSpot","findPattern","normalizedMatches","endPathRng","endRng","resultsOpt","findPatternsRec","remainingPatterns","requireGap","startRange","findPatternStart","startPathRng","generatePathRangeFromRange","endSpot","patternsWithoutCurrent","applyPattern","patternRange","findPatterns","matchesWithSortedPatterns","sortPatterns","hasSameMatches","sortedMatch","getBestMatches","applyMatches","matchesWithMarkers","matchesWithEnds","endMarker","addMarkers","markerRange","applyReplacementPattern","markerEndRange","markerStartRange","patternMarker","applyPatternWithContent","handleEnter","dynamicPatternSet","inlineMatches","blockMatches","blockText","findPatterns$1","insert$5","applyMatches$1","checkKeyEvent","setup$2","charCodes","keyCodes","getPatternSet","createPatternSet","hasDynamicPatterns","hasTextPatternsLookup","handleInlineTrigger","handleInlineKey","checkKeyCode","checkCharCode","Quirks","getAttributeApplyFunction","isSelectionAcrossElements","isWebKit","setEditorCommandState","emptyEditorWhenDeleting","serializeRng","allRng","allContentsSelected","selectAll","documentElementEditingFocus","Range","selectControlElements","visualAidsAnchorClass","disableBackspaceIntoATable","setGeckoEditingOptions","addBrAfterLastLinks","showBrokenImageIcon","restoreFocusOnKeyDown","bodyHeight","blockCmdArrowNavigation","tapLinksAndImages","blockFormSubmitInsideEditor","isAllContentSelected","setAttributeNode","DragEvent","DOM$6","getRootName","removeUndefined","mkParserSettings","mkSchemaSettings","initEditor","bindPendingEventDelegates","fireInit","moveSelectionToFirstCaretPosition","initInstanceCallback","getStyleSheetLoader$1","loadContentCss","removeCss","contentCssText","allStylesheets","framedFonts","_partition$4","bundledCss","normalCss","bundledPromises","makeStylesheetLoadingPromises","contentStyle","appendStyle","initEditorWithInitialContent","startContent","loadInitialContent","contentBodyLoaded","_editableRoot","hasEditableRoot","createParser","mkSerializerSettings","annotator","_nodeChangeDispatcher","setup$5","setup$1","setup$o","setupRtcThunk","firePreInit","spellcheck","firePostRender","directionality","protect","preInit","cancelProgress","canceled","progressTimeout","startProgress","setupRtc","_rtcMode","DOM$5","createIframe","boxInfo","iframeTitle","ifr","customAttrs","frameBorder","allowTransparency","createIframeElement","iframeContainer","iframeHTML","documentBaseUrl","bodyId","bodyClass","translatedAriaText","getIframeHtml","setupIframeBody","srcdoc","init$1","orgVisibility","DOM$4","initPlugin","initializedPlugins","Plugin","pluginUrl","pluginInstance","pluginInitError","initPlugins","trimLegacyPrefix","initIcons","iconPackName","currentIcons","loadIcons","svgData","addIcon","initTheme","Theme","initModel","Model","createThemeFalseResult","renderThemeFalse","renderThemeFalseIframe","renderThemeUi","renderUI","renderFromLoadedTheme","iframeHeight","renderFromThemeFunc","augmentEditorUiApi","uiApiFacade","setEnabled","renderInfo","DOM$3","hasSkipLoadPrefix","loadLanguage","languageUrl","languageLoadError","themeUrl","themeLoadError","loadModel","modelUrl","modelLoadError","getIconsUrlMetaFromName","defaultIconsUrl","customIconsUrl","getIconsUrlMetaFromUrl","cat","urlMeta","iconsLoadError","loadPlugins","loadPlugin","pluginLoadError","isThemeLoaded","isModelLoaded","loadQueue","snapshot","getStyleSheetLoader","resetContent","triggerSave","isEncodingXml","set_dirty","deviceDetection","normalizePlugins","trimmedPlugins","extractSections","bifilter","hasSection","sectionResult","getMobileOverrideOptions","mobileOptions","defaultMobileOptions","table_grid","object_resizing","toolbar_mode","toolbar_sticky","getExternalPlugins","overrideOptions","userDefinedExternalPlugins","external_plugins","processPlugins","isMobileDevice","defaultOverrideOptions","forcedPlugins","forced_plugins","desktopPlugins","mobileConfig","getSectionConfig","platformPlugins","mobilePlugins","getPlatformPlugins","combinedPlugins","combinePlugins","combineOptions","deviceOverrideOptions","extendedOptions","isOnMobile","sectionOptions","getSection","addVisual$1","registerExecCommands$3","toggleAlign","editorCommands","addCommands","JustifyLeft","JustifyCenter","JustifyRight","JustifyFull","JustifyNone","registerCommands$b","alignStates","registerQueryStateCommands$1","trimOrPad","trimOrPadLeftRight","insertAtCaret","_processValue$","processValue$1","insertedContent","insertContent$1","legacyPropNames","isFont","getSpecifiedFontProp","legacyPropName","getFontProp","getComputedFontProp","getFontSize","getFontFamily","findFirstCaretElement","bindRange","getCaretElement","fromFontSizeNumber","fontSizeNumber","getFontStyleValues","fontClasses","getFontSizeClasses","normalizeFontNames","registerExecCommands$2","_command","fontNameAction","fontSizeAction","lineHeightAction","customCode","registerQueryValueCommands","isFormatMatch","addQueryValueHandler","fontNameQuery","fontSizeQuery","specifiedStyle","lineHeightQuery","registerCommands$6","Indent","Outdent","topParentBlock","getTopParentBlock","registerCommands$3","InsertNewBlockBefore","InsertNewBlockAfter","registerCommands","queryCommandEnabled","queryCommandSupported","registerCommands$a","mceAddUndoLevel","mceEndUndoLevel","Undo","Redo","registerCommands$7","mceSelectNodeDepth","mceSelectNode","registerCommands$1","mceCleanup","insertHorizontalRule","insertText","insertHTML","mceInsertContent","mceSetContent","mceReplaceContent","mceNewDocument","registerCommands$9","applyLinkToSelection","linkDetails","mceInsertLink","registerCommands$5","insertParagraph","mceInsertNewLine","InsertLineBreak","registerCommands$2","listParent","registerExecCommands$1","registerQueryStateCommands","registerCommands$4","registerCommands$8","mceRemoveNode","mcePrint","mceFocus","mceToggleVisualAid","registerExecCommands","selectionSafeCommands","isSelectionSafeCommand","EditorCommands","lowerCaseCommand","skip_focus","commandList","internalContentEditableAttr","setContentEditable","toggleReadOnly","removeFakeSelection","switchOnContentEditableTrue","restoreFakeSelection","registerFilters","allowedEvents","processReadonlyEvents","isClickEvent","getAnchorHrefOpt","isReadOnlyAllowedEvent","nativeEvents","EventDispatcher","bindings","toggleEvent","beforeFire","wrappedCallback","currentName","bindingName","filteredHandlers","getEventDispatcher","_eventDispatcher","toggleNativeEvent","Observable","dispatcherArgs","DOM$2","getEventTarget","eventRoot","isListening","bindEventDelegate","delegates","eventRootElm","editors","EditorObservable","_pendingNativeEvents","stringListProcessor","getErrorMessage","isValidResult","create$5","initialOptions","isBuiltInSpec","getBuiltInProcessor","processDefaultValue","defaultModes","switchToMode","activeMode","availableModes","oldMode","newMode","editorReadOnly","fireSwitchMode","create$4","design","registerReadOnlyContentFilters","registerReadOnlySelectionBlockers","setMode","registerMode","each$2","keyCodeLookup","f8","f10","f11","f12","modifierNames","parseShortcut","ctrl","Shortcuts","pendingPatterns","hasModifier","isFunctionKey","matchShortcut","subpatterns","executeShortcutAction","cmdFunc","normalizeCommandFunc","createShortcut","bridge","menuItems","contextMenus","contextToolbars","sidebars","views","addButton","addGroupToolbarButton","addToggleButton","addMenuButton","addSplitButton","addMenuItem","addNestedMenuItem","addToggleMenuItem","addAutocompleter","addContextMenu","addContextToolbar","addContextForm","addSidebar","addView","create$3","DOM$1","each$1","Editor","loadedCSS","isNotDirty","documentBaseURL","registerOption","hasPlugin","lookupFn","rawPatterns","_setBaseUrl","baseURI","setupCallback","addQueryStateHandler","queryCommandState","queryCommandValue","loadArgs","saveArgs","initialContent","oldState","urlConverterCallback","urlObject","toRelative","fireEditableRootStateChange","setEditableRoot","boundGlobalEvents","globalEventDelegate","EditorManager","toggleGlobalEvents","removeEditorFromList","targetEditor","oldEditors","isQuirksMode","compatMode","releaseDate","tinyMCEPreInit","srcScript","overrideDefaults","base_url","pluginBaseUrls","plugin_base_urls","pluginBaseUrl","pluginName","invalidInlineTargets","provideResults","initEditors","initCount","execCallback","unique$1","findTargets","isInvalidInlineTarget","createEditor","createId","existingEditor","editorId","editorOptions","addI18n","dataValue","resultFns","FakeClipboard","FakeClipboardItem","relativePosition","targetW","targetH","relChars","create$2","Rect","findBestRelativePosition","constrainRect","rels","cropRect","clampRect","fixedSize","cx2","cy2","underflowX1","underflowY1","overflowX2","overflowY2","fromClientRect","loadErrMsg","runErrMsg","waiter","resolveCb","rejectCb","completer","_len14","_key14","_len15","_key15","awaiter","publicApi","geom","ImageUploader","showNotification","TreeWalker","Selection","tinymce$1","tinyMCE","exportToWindowGlobal","exportToModuleLoaders","global$4","after$1","TagBoundaries","universe","toEnd","freefallRtl$2","freefallRtl$1","accordionTag","accordionDetailsClass","accordionSummaryClass","accordionBodyWrapperClass","accordionBodyWrapperTag","global$3","isOpen","isInSummary","isInsertAllowed","getSelectedDetails","insertBogus","createParagraph","normalizeSummary","accordion","createSummary","normalizeAccordion","insertAccordion","editorBody","summaryText","accordionSummaryHtml","accordionBodyHtml","detailsElm","summaryElm","des","toggleDetailsElement","shouldOpen","removeAccordion","insertAdjacentElement","insertAndSelectParagraphAfter","fireToggleAccordionEvent","toggleAccordion","accordions","fireToggleAllAccordionsEvent","toggleAllAccordions","global$2","getClassList","addClasses","classListSet","removeClasses","isAccordionDetailsNode","isAccordionBodyWrapperNode","getAccordionChildren","accordionNode","summaryNode","wrapperNode","otherNodes","padInputNode","setupEnterKeyInSummary","isAtDetailsStart","isDetailsSelected","normalizeDetails","buttonApi","_getAccordionChildren","hasSummaryNode","newSummaryNode","hasWrapperNode","newWrapperNode","otherNode","pNode","summaryClassRemoveSet","_getAccordionChildren2","applyListFormat","listName","getNumberStyles","getBulletStyles","isListNode","isTableCellNode","isCustomList","isChildOfBody","makeSetupHandler","nodeChangeHandler","initialNode","setNodeChangeHandler","isWithinNonEditable","updateButtonState","presets","iconStyle","itemValue","displayText","styleValueToText","onItemAction","_splitButtonApi","listStyleType","getSelectedStyleType","listStyle","addControl","addListStylePosition","allowHtmlInNamedAnchor","namedAnchorSelector","isEmptyString","getIdFromAnchor","isAnchor","removeEmptyNamedAnchorsInSelection","getNamedAnchor","anchorElement","updateAnchor","createAnchor","currentId","getId","onSubmit","isValidId","insertAnchor","isEmptyNamedAnchorNode","isNamedAnchorNode","onSetupEditable","unbindSelectorChanged","unbindEditableChanged","registerFormats","getAutoLinkPattern","getDefaultLinkTarget","getDefaultLinkProtocol","allowUnsafeLinkTarget","isTextNode","isBracketOrSpace","findChar","parseCurrentLine","autoLinkPattern","_freefallRtl2","tempOffset","startSpot","hasProtocol","convertToLink","defaultLinkTarget","handleSpacebar","handleBracket","insertChar","evtChr","fireInsertCustomChar","getCharMap$1","getCharMapAppend","UserDefined","getCharsFromOption","charmap","getCharMap","userCharMap","characters","userCharMapAppend","userDefinedGroup","extendCharMap","lowerCasePattern","charMatches","patternName","makeGroupItems","currentTab","updateFilter","_len16","_key16","dialogApi","scanAndSet","bridgeSpec","tabs","charGroup","onTabChange","newTabName","changeData","charMapProcessor","_maxResults","autocompleteApi","CM_SETTINGS","lineWrapping","lineNumbers","foldGutter","gutter","matchBrackets","styleActiveLine","CURSOR_MARKER_CODE","CUSTOM_EDITOR_ID","setupCodemirror","codeMirror","autoComplete","completeAfter","completionActive","showHint","completeSingle","Pass","completeIfAfterLt","getRange","Pos","completeIfInTag","getTokenAt","isStringEdge","innerMode","getMode","getAutocompleteConfig","matchTags","bothTags","keyMap","gutters","extraKeys","cmi","foldCode","screenReaderLabel","addAccessKeyInfoPanel","td1","td2","setupResource","CodeMirror","_setupCodemirror","focusableElements","escKeyMap","addKeyMap","tabKeyMap","removeKeyMap","focusableElement","getInputField","setupSourceEscape","somethingSelected","moveCursorIfInEntity","getViewport","findMatchingTag","moveCursorIfInTag","findEnclosingTag","openingTagCursorLocation","moveCursorIfInIframe","curLine","getLine","addCursorMarker","charPos","checkLineBoundary","getModeAt","tinyCursor","replaceSelection","markCursorPosition","CustomEditor","isDarkTheme","addCursorMarkers","bookmarkNode","isBody","createCursorPosition","contentProcessor","markedContent","cursorMarker","getContentWithMarkers","lineIdx","cursorIndex","getCursorPosition","submitHandler","firstChildIsStyleTag","Dialog","processContent","collectSettings","_helpers$processConte","codeview","cmSettings","makeDialog","prismjs","oldprism","Prism","manual","plainTextGrammar","disableWorkerMessageHandler","deepClone","setLanguage","defaultActivation","plain","redef","grammar","DFS","propertyType","highlightAll","highlightAllUnder","highlightElement","insertHighlightedCode","highlightedCode","immediateClose","LinkedList","addAfter","matchGrammar","matchedStr","lookbehind","lookbehindLength","rematch","patternObj","greedy","reach","removeCount","matchStr","removeFrom","removeRange","nestedRematch","highlightAutomaticallyCallback","clike","buildPlaceholders","placeholderPattern","replaceFilter","tokenStack","markup","tokenizePlaceholders","walkTokens","modName","cpp","replacements","depthLog2","keywordKinds","keywordsToPattern","typeDeclarationKeywords","nonTypeKeywords","nonContextualKeywords","nestedRound","genericName","typeExpressionWithoutTuple","tupleElement","typeExpression","typeInside","character","regularString","verbatimString","csharp","regularStringOrCharacter","regularStringCharacterOrComment","roundExpression","attrTarget","formatString","mInterpolationRound","mInterpolation","sInterpolationRound","sInterpolation","createInterpolationInside","interpolation","interpolationRound","dotnet","addInlined","addAttribute","classNamePrefix","java","javascript","includedCdataInside","mathml","ssml","atom","rss","punctuation","php","string_interpolation","python","percentExpression","symbolName","getLanguages$1","useGlobalPrismJS","isCodeSample","getSelectedCodeSample","customLanguages","getLanguages","defaultLanguage","currentLanguage","getCurrentLanguage","getCurrentCode","newPre","insertCodeSample","onChanged","pres","unprocessedCodeSamples","isCodeSampleSelection","children$2","getDirection","getParentElement","setDirOnElements","blockElement","isBlockElementListItem","normalizedBlock","getNormalizedBlock","listItems","setDir","getNodeChangeHandler","getEmojiDatabase","getEmojiDatabaseUrl","getEmojiDatabaseId","getAppendedEmoji","getEmojiImageUrl","ALL_CATEGORY","categoryNameMap","people","animals_and_nature","food_and_drink","activity","travel_and_places","translateCategory","categories","getUserDefinedEmoji","userDefinedEmoticons","initDatabase","databaseUrl","databaseId","emojiImagesUrl","getEmoji","emojis","userEmojis","cats","everything","processEmojis","listAll","hasLoaded","listCategories","numRetries","listCategory","emojiMatches","emojisFrom","reachedLimit","_len17","_key17","dialogData","searchField","resultsField","actionData","insertEmoticon","redial","unblock","_err","fitzpatrick_scale","grinning","grimacing","grin","joy","rofl","partying","smiley","smile","sweat_smile","laughing","innocent","wink","blush","slightly_smiling_face","upside_down_face","relaxed","yum","relieved","heart_eyes","smiling_face_with_three_hearts","kissing_heart","kissing","kissing_smiling_eyes","kissing_closed_eyes","stuck_out_tongue_winking_eye","zany","raised_eyebrow","monocle","stuck_out_tongue_closed_eyes","stuck_out_tongue","money_mouth_face","nerd_face","sunglasses","star_struck","clown_face","cowboy_hat_face","hugs","smirk","no_mouth","neutral_face","expressionless","unamused","roll_eyes","thinking","lying_face","hand_over_mouth","shushing","symbols_over_mouth","exploding_head","disappointed","worried","angry","rage","pensive","confused","slightly_frowning_face","frowning_face","persevere","confounded","tired_face","weary","pleading","triumph","open_mouth","scream","fearful","cold_sweat","hushed","frowning","anguished","cry","disappointed_relieved","drooling_face","sleepy","sweat","hot","cold","sob","dizzy_face","astonished","zipper_mouth_face","nauseated_face","sneezing_face","vomiting","face_with_thermometer","face_with_head_bandage","woozy","sleeping","zzz","poop","smiling_imp","imp","japanese_ogre","japanese_goblin","skull","alien","robot","smiley_cat","smile_cat","joy_cat","heart_eyes_cat","smirk_cat","kissing_cat","scream_cat","crying_cat_face","pouting_cat","palms_up","raised_hands","clap","wave","call_me_hand","facepunch","fist","fist_left","fist_right","ok_hand","raised_hand","raised_back_of_hand","open_hands","muscle","pray","foot","leg","point_up","point_up_2","point_down","point_left","point_right","raised_hand_with_fingers_splayed","love_you","metal","crossed_fingers","vulcan_salute","writing_hand","selfie","nail_care","lips","tooth","tongue","ear","nose","eye","eyes","brain","bust_in_silhouette","busts_in_silhouette","speaking_head","baby","boy","girl","adult","man","woman","blonde_woman","blonde_man","bearded_person","older_adult","older_man","older_woman","man_with_gua_pi_mao","woman_with_headscarf","woman_with_turban","man_with_turban","policewoman","policeman","construction_worker_woman","construction_worker_man","guardswoman","guardsman","female_detective","male_detective","woman_health_worker","man_health_worker","woman_farmer","man_farmer","woman_cook","man_cook","woman_student","man_student","woman_singer","man_singer","woman_teacher","man_teacher","woman_factory_worker","man_factory_worker","woman_technologist","man_technologist","woman_office_worker","man_office_worker","woman_mechanic","man_mechanic","woman_scientist","man_scientist","woman_artist","man_artist","woman_firefighter","man_firefighter","woman_pilot","man_pilot","woman_astronaut","man_astronaut","woman_judge","man_judge","woman_superhero","man_superhero","woman_supervillain","man_supervillain","mrs_claus","santa","sorceress","wizard","woman_elf","man_elf","woman_vampire","man_vampire","woman_zombie","man_zombie","woman_genie","man_genie","mermaid","merman","woman_fairy","man_fairy","angel","pregnant_woman","breastfeeding","princess","prince","bride_with_veil","man_in_tuxedo","running_woman","running_man","walking_woman","walking_man","dancer","man_dancing","dancing_women","dancing_men","couple","two_men_holding_hands","two_women_holding_hands","bowing_woman","bowing_man","man_facepalming","woman_facepalming","woman_shrugging","man_shrugging","tipping_hand_woman","tipping_hand_man","no_good_woman","no_good_man","ok_woman","ok_man","raising_hand_woman","raising_hand_man","pouting_woman","pouting_man","frowning_woman","frowning_man","haircut_woman","haircut_man","massage_woman","massage_man","woman_in_steamy_room","man_in_steamy_room","couple_with_heart_woman_man","couple_with_heart_woman_woman","couple_with_heart_man_man","couplekiss_man_woman","couplekiss_woman_woman","couplekiss_man_man","family_man_woman_boy","family_man_woman_girl","family_man_woman_girl_boy","family_man_woman_boy_boy","family_man_woman_girl_girl","family_woman_woman_boy","family_woman_woman_girl","family_woman_woman_girl_boy","family_woman_woman_boy_boy","family_woman_woman_girl_girl","family_man_man_boy","family_man_man_girl","family_man_man_girl_boy","family_man_man_boy_boy","family_man_man_girl_girl","family_woman_boy","family_woman_girl","family_woman_girl_boy","family_woman_boy_boy","family_woman_girl_girl","family_man_boy","family_man_girl","family_man_girl_boy","family_man_boy_boy","family_man_girl_girl","yarn","thread","coat","labcoat","womans_clothes","tshirt","jeans","necktie","dress","bikini","kimono","lipstick","kiss","footprints","flat_shoe","high_heel","sandal","boot","mans_shoe","athletic_shoe","hiking_boot","socks","gloves","scarf","womans_hat","tophat","billed_hat","rescue_worker_helmet","mortar_board","crown","school_satchel","luggage","pouch","purse","handbag","briefcase","eyeglasses","dark_sunglasses","goggles","ring","closed_umbrella","dog","hamster","rabbit","fox_face","bear","panda_face","koala","tiger","lion","cow","pig","pig_nose","frog","squid","octopus","shrimp","monkey_face","gorilla","see_no_evil","hear_no_evil","speak_no_evil","monkey","chicken","penguin","bird","baby_chick","hatching_chick","hatched_chick","duck","eagle","owl","bat","wolf","boar","horse","unicorn","honeybee","bug","butterfly","snail","beetle","ant","grasshopper","spider","scorpion","crab","lizard","sauropod","turtle","tropical_fish","fish","blowfish","dolphin","shark","whale","whale2","crocodile","leopard","zebra","tiger2","water_buffalo","cow2","deer","dromedary_camel","camel","giraffe","elephant","rhinoceros","goat","ram","sheep","racehorse","pig2","rat","mouse2","rooster","turkey","dove","dog2","poodle","cat2","rabbit2","chipmunk","hedgehog","raccoon","llama","hippopotamus","kangaroo","badger","swan","peacock","parrot","lobster","mosquito","paw_prints","dragon","dragon_face","cactus","christmas_tree","evergreen_tree","deciduous_tree","palm_tree","seedling","herb","shamrock","four_leaf_clover","bamboo","tanabata_tree","leaves","fallen_leaf","maple_leaf","ear_of_rice","hibiscus","sunflower","rose","wilted_flower","tulip","blossom","cherry_blossom","bouquet","mushroom","chestnut","jack_o_lantern","shell","spider_web","earth_americas","earth_africa","earth_asia","full_moon","waning_gibbous_moon","last_quarter_moon","waning_crescent_moon","new_moon","waxing_crescent_moon","first_quarter_moon","waxing_gibbous_moon","new_moon_with_face","full_moon_with_face","first_quarter_moon_with_face","last_quarter_moon_with_face","sun_with_face","crescent_moon","star","star2","dizzy","sparkles","comet","sunny","sun_behind_small_cloud","partly_sunny","sun_behind_large_cloud","sun_behind_rain_cloud","cloud","cloud_with_rain","cloud_with_lightning_and_rain","cloud_with_lightning","zap","boom","snowflake","cloud_with_snow","snowman","snowman_with_snow","wind_face","tornado","fog","open_umbrella","umbrella","droplet","sweat_drops","ocean","green_apple","apple","pear","tangerine","lemon","banana","watermelon","grapes","strawberry","melon","cherries","peach","pineapple","coconut","kiwi_fruit","mango","avocado","broccoli","eggplant","cucumber","carrot","hot_pepper","potato","corn","leafy_greens","sweet_potato","peanuts","honey_pot","croissant","bread","baguette_bread","bagel","pretzel","cheese","egg","bacon","steak","pancakes","poultry_leg","meat_on_bone","bone","fried_shrimp","fried_egg","hamburger","fries","stuffed_flatbread","hotdog","pizza","sandwich","canned_food","spaghetti","taco","burrito","green_salad","shallow_pan_of_food","ramen","stew","fish_cake","fortune_cookie","sushi","bento","rice_ball","rice","rice_cracker","oden","dango","shaved_ice","ice_cream","icecream","pie","cake","cupcake","moon_cake","birthday","custard","candy","lollipop","chocolate_bar","popcorn","dumpling","doughnut","milk_glass","beer","beers","clinking_glasses","wine_glass","tumbler_glass","cocktail","tropical_drink","champagne","sake","tea","cup_with_straw","coffee","baby_bottle","salt","spoon","fork_and_knife","plate_with_cutlery","bowl_with_spoon","takeout_box","chopsticks","soccer","basketball","football","baseball","softball","tennis","volleyball","rugby_football","flying_disc","golf","golfing_woman","golfing_man","ping_pong","badminton","goal_net","ice_hockey","field_hockey","lacrosse","cricket","ski","skier","snowboarder","person_fencing","women_wrestling","men_wrestling","woman_cartwheeling","man_cartwheeling","woman_playing_handball","man_playing_handball","ice_skate","curling_stone","skateboard","sled","bow_and_arrow","fishing_pole_and_fish","boxing_glove","martial_arts_uniform","rowing_woman","rowing_man","climbing_woman","climbing_man","swimming_woman","swimming_man","woman_playing_water_polo","man_playing_water_polo","woman_in_lotus_position","man_in_lotus_position","surfing_woman","surfing_man","bath","basketball_woman","basketball_man","weight_lifting_woman","weight_lifting_man","biking_woman","biking_man","mountain_biking_woman","mountain_biking_man","horse_racing","business_suit_levitating","trophy","running_shirt_with_sash","medal_sports","medal_military","reminder_ribbon","rosette","ticket","tickets","performing_arts","circus_tent","woman_juggling","man_juggling","microphone","headphones","musical_score","musical_keyboard","drum","saxophone","trumpet","guitar","violin","clapper","video_game","space_invader","dart","game_die","chess_pawn","slot_machine","jigsaw","bowling","red_car","taxi","blue_car","bus","trolleybus","racing_car","police_car","ambulance","fire_engine","minibus","truck","articulated_lorry","tractor","kick_scooter","motorcycle","bike","motor_scooter","rotating_light","oncoming_police_car","oncoming_bus","oncoming_automobile","oncoming_taxi","aerial_tramway","mountain_cableway","suspension_railway","railway_car","train","monorail","bullettrain_side","bullettrain_front","light_rail","mountain_railway","steam_locomotive","train2","metro","tram","station","flying_saucer","helicopter","small_airplane","airplane","flight_departure","flight_arrival","sailboat","motor_boat","speedboat","ferry","passenger_ship","rocket","artificial_satellite","seat","canoe","construction","fuelpump","busstop","vertical_traffic_light","traffic_light","checkered_flag","ship","ferris_wheel","roller_coaster","carousel_horse","building_construction","foggy","tokyo_tower","fountain","rice_scene","mountain","mountain_snow","mount_fuji","volcano","japan","camping","tent","national_park","motorway","railway_track","sunrise","sunrise_over_mountains","desert","beach_umbrella","desert_island","city_sunrise","city_sunset","cityscape","night_with_stars","bridge_at_night","milky_way","stars","sparkler","fireworks","rainbow","houses","european_castle","japanese_castle","stadium","statue_of_liberty","house","house_with_garden","derelict_house","office","department_store","post_office","european_post_office","hospital","hotel","convenience_store","school","love_hotel","wedding","classical_building","church","mosque","synagogue","kaaba","shinto_shrine","watch","iphone","calling","computer","keyboard","desktop_computer","printer","computer_mouse","trackball","joystick","minidisc","floppy_disk","dvd","vhs","camera_flash","video_camera","movie_camera","film_projector","film_strip","telephone_receiver","phone","pager","fax","studio_microphone","level_slider","control_knobs","compass","stopwatch","timer_clock","alarm_clock","mantelpiece_clock","hourglass_flowing_sand","hourglass","satellite","battery","electric_plug","bulb","flashlight","candle","fire_extinguisher","wastebasket","oil_drum","money_with_wings","dollar","yen","euro","pound","moneybag","credit_card","gem","balance_scale","toolbox","wrench","hammer","hammer_and_pick","hammer_and_wrench","nut_and_bolt","gear","brick","chains","magnet","gun","bomb","firecracker","hocho","dagger","crossed_swords","shield","smoking","skull_and_crossbones","coffin","funeral_urn","amphora","crystal_ball","prayer_beads","nazar_amulet","barber","alembic","telescope","microscope","hole","pill","syringe","dna","microbe","petri_dish","test_tube","thermometer","broom","basket","toilet_paper","toilet","shower","bathtub","soap","sponge","lotion_bottle","old_key","couch_and_lamp","sleeping_bed","bed","door","bellhop_bell","teddy_bear","framed_picture","world_map","parasol_on_ground","moyai","shopping","shopping_cart","balloon","ribbon","gift","confetti_ball","tada","dolls","wind_chime","crossed_flags","izakaya_lantern","red_envelope","envelope_with_arrow","incoming_envelope","love_letter","postbox","mailbox_closed","mailbox","mailbox_with_mail","mailbox_with_no_mail","package","postal_horn","inbox_tray","outbox_tray","page_with_curl","bookmark_tabs","receipt","bar_chart","chart_with_upwards_trend","chart_with_downwards_trend","page_facing_up","spiral_calendar","card_index","card_file_box","ballot_box","file_cabinet","spiral_notepad","file_folder","open_file_folder","card_index_dividers","newspaper_roll","newspaper","notebook","closed_book","green_book","blue_book","orange_book","notebook_with_decorative_cover","ledger","books","open_book","safety_pin","paperclip","paperclips","scissors","triangular_ruler","straight_ruler","abacus","pushpin","round_pushpin","triangular_flag_on_post","white_flag","black_flag","rainbow_flag","closed_lock_with_key","lock_with_ink_pen","pen","fountain_pen","black_nib","pencil2","crayon","paintbrush","mag_right","heart","orange_heart","yellow_heart","green_heart","blue_heart","purple_heart","black_heart","broken_heart","heavy_heart_exclamation","two_hearts","revolving_hearts","heartbeat","heartpulse","sparkling_heart","cupid","gift_heart","heart_decoration","peace_symbol","latin_cross","star_and_crescent","wheel_of_dharma","star_of_david","six_pointed_star","menorah","yin_yang","orthodox_cross","place_of_worship","ophiuchus","aries","taurus","gemini","cancer","leo","virgo","libra","scorpius","sagittarius","capricorn","aquarius","pisces","atom_symbol","u7a7a","u5272","radioactive","biohazard","mobile_phone_off","vibration_mode","u6709","u7121","u7533","u55b6","u6708","eight_pointed_black_star","white_flower","ideograph_advantage","congratulations","u5408","u6e80","u7981","sos","no_entry","name_badge","no_entry_sign","stop_sign","anger","hotsprings","no_pedestrians","do_not_litter","no_bicycles","underage","no_mobile_phones","exclamation","grey_exclamation","question","grey_question","bangbang","interrobang","low_brightness","high_brightness","trident","fleur_de_lis","part_alternation_mark","children_crossing","beginner","recycle","u6307","chart","sparkle","eight_spoked_asterisk","negative_squared_cross_mark","white_check_mark","diamond_shape_with_a_dot_inside","cyclone","globe_with_meridians","atm","passport_control","customs","baggage_claim","left_luggage","wheelchair","no_smoking","parking","potable_water","mens","womens","baby_symbol","restroom","put_litter_in_its_place","cinema","signal_strength","koko","cool","new","keycap_ten","asterisk","eject_button","arrow_forward","pause_button","next_track_button","stop_button","record_button","play_or_pause_button","previous_track_button","fast_forward","rewind","twisted_rightwards_arrows","repeat_one","arrow_backward","arrow_up_small","arrow_down_small","arrow_double_up","arrow_double_down","arrow_right","arrow_left","arrow_up","arrow_down","arrow_upper_right","arrow_lower_right","arrow_lower_left","arrow_upper_left","arrow_up_down","left_right_arrow","arrows_counterclockwise","arrow_right_hook","leftwards_arrow_with_hook","arrow_heading_up","arrow_heading_down","information_source","abc","abcd","capital_abcd","musical_note","notes","wavy_dash","curly_loop","heavy_check_mark","arrows_clockwise","heavy_plus_sign","heavy_minus_sign","heavy_division_sign","heavy_multiplication_x","infinity","heavy_dollar_sign","currency_exchange","soon","ballot_box_with_check","radio_button","white_circle","black_circle","red_circle","large_blue_circle","small_orange_diamond","small_blue_diamond","large_orange_diamond","large_blue_diamond","small_red_triangle","black_small_square","white_small_square","black_large_square","white_large_square","small_red_triangle_down","black_medium_square","white_medium_square","black_medium_small_square","white_medium_small_square","black_square_button","white_square_button","speaker","sound","loud_sound","mega","loudspeaker","bell","no_bell","black_joker","mahjong","spades","clubs","hearts","diamonds","flower_playing_cards","thought_balloon","right_anger_bubble","speech_balloon","left_speech_bubble","clock1","clock2","clock3","clock4","clock5","clock6","clock7","clock8","clock9","clock10","clock11","clock12","clock130","clock230","clock330","clock430","clock530","clock630","clock730","clock830","clock930","clock1030","clock1130","clock1230","afghanistan","aland_islands","albania","algeria","american_samoa","andorra","angola","anguilla","antarctica","antigua_barbuda","argentina","armenia","aruba","australia","austria","azerbaijan","bahamas","bahrain","bangladesh","barbados","belarus","belgium","belize","benin","bermuda","bhutan","bolivia","caribbean_netherlands","bosnia_herzegovina","botswana","brazil","british_indian_ocean_territory","british_virgin_islands","brunei","bulgaria","burkina_faso","burundi","cape_verde","cambodia","cameroon","canada","canary_islands","cayman_islands","central_african_republic","chad","chile","christmas_island","cocos_islands","colombia","comoros","congo_brazzaville","congo_kinshasa","cook_islands","costa_rica","croatia","cuba","curacao","cyprus","czech_republic","denmark","djibouti","dominica","dominican_republic","ecuador","egypt","el_salvador","equatorial_guinea","eritrea","estonia","ethiopia","falkland_islands","faroe_islands","fiji","finland","french_guiana","french_polynesia","french_southern_territories","gabon","gambia","georgia","ghana","gibraltar","greece","greenland","grenada","guadeloupe","guam","guatemala","guernsey","guinea","guinea_bissau","guyana","haiti","honduras","hong_kong","hungary","iceland","india","indonesia","iran","iraq","ireland","isle_of_man","israel","cote_divoire","jamaica","jersey","jordan","kazakhstan","kenya","kiribati","kosovo","kuwait","kyrgyzstan","laos","latvia","lebanon","lesotho","liberia","libya","liechtenstein","lithuania","luxembourg","macau","macedonia","madagascar","malawi","malaysia","maldives","mali","malta","marshall_islands","martinique","mauritania","mauritius","mayotte","mexico","micronesia","moldova","monaco","mongolia","montenegro","montserrat","morocco","mozambique","myanmar","namibia","nauru","nepal","netherlands","new_caledonia","new_zealand","nicaragua","niger","nigeria","niue","norfolk_island","northern_mariana_islands","north_korea","norway","oman","pakistan","palau","palestinian_territories","panama","papua_new_guinea","paraguay","philippines","pitcairn_islands","poland","portugal","puerto_rico","qatar","reunion","romania","rwanda","st_barthelemy","st_helena","st_kitts_nevis","st_lucia","st_pierre_miquelon","st_vincent_grenadines","samoa","san_marino","sao_tome_principe","saudi_arabia","senegal","serbia","seychelles","sierra_leone","singapore","sint_maarten","slovakia","slovenia","solomon_islands","somalia","south_africa","south_georgia_south_sandwich_islands","south_sudan","sri_lanka","sudan","suriname","swaziland","sweden","switzerland","syria","taiwan","tajikistan","tanzania","thailand","timor_leste","togo","tokelau","tonga","trinidad_tobago","tunisia","turkmenistan","turks_caicos_islands","tuvalu","uganda","ukraine","united_arab_emirates","england","scotland","wales","us_virgin_islands","uruguay","uzbekistan","vanuatu","vatican_city","venezuela","vietnam","wallis_futuna","western_sahara","yemen","zambia","zimbabwe","united_nations","pirate_flag","fullscreenState","_len19","_key19","_len20","_key20","unbindable","siblings$2","_len18","_key18","bind$1","_len22","_key22","fireFullscreenStateChanged","getFullscreenNative","getFullscreenRoot","isFullscreenElement","fullscreenElement","msFullscreenElement","webkitFullscreenElement","ancestors$1","all$1","siblings$1","ancestorPosition","ancestorStyles","clobberStyles","clobberStyle","backup","matchColor","viewportUpdate","resizeBinder","scrollBinder","_len21","_key21","toggleFullscreen","sugarDoc","editorContainerS","sinkContainerS","fullscreenRoot","fullscreenInfo","editorContainerStyle","iframeStyle","handleClasses","clobberedEls","restoreStyles","fullscreenChangeHandler","exitFullscreen","msExitFullscreen","webkitCancelFullScreen","iframeWidth","containerWidth","containerHeight","containerTop","containerLeft","sinkCssPosition","scrollPos","_evt","newFullScreenInfo","requestFullscreen","msRequestFullscreen","webkitRequestFullScreen","editorEventCallback","hasDimensions","hasAdvTab","hasUploadTab","getPrependUrl","hasImageTitle","hasImageCaption","getImageList","showAccessibilityOptions","parseIntAndGetMax","removePixelSuffix","addPixelSuffix","isPlaceholderImage","isSafeImageUrl","isDomSafe","getHspace","getVspace","getBorder","hasCaption","updateAttrib","toggleCaption","figureElm","removeFigure","wrapInFigure","normalizeStyle","normalizeCss","setHspace","pxValue","setVspace","setBorder","setBorderStyle","getBorderStyle","isFigure","getIsDecorative","getAlt","getStyleValue","hspace","vspace","isDecorative","updateProp","oldData","setAlt","sugarImage","updateAlt","normalizeCss$1","mergedCss","splitMargin","mergeMargins","compressed","getSelectedImage","splitTextBlock","insertImageAtCaret","insertedElm","fromLibrary","writeImageDataToSelection","syncSrcAttr","selectImage","waitLoadImage","insertOrUpdateImage","partialData","selectedImageData","sanitizedData","sanitizeImageData","deleteImage","sanitizeList","extractor","findEntryDelegate","isGroup","ListUtils","optList","AdvTab","inputMode","urlListSanitizer","futureImageList","imageList","createImageList","hasAdvTab$1","hasUploadTab$1","hasUploadUrl$1","hasUploadUrl","hasUploadHandler$1","hasUploadHandler","readImageDataFromSelection","hasDescription$1","hasImageTitle$1","hasDimensions$1","hasImageCaption$1","hasAccessibilityOptions","automaticUploads","prependURL","preUrl","libraryTab","_ref24$allowLibraryUp","allowLibraryUploads","_ref24$showLibraryTab","showLibraryTab","_ref24$libraryFilePic","libraryFilePicker","_ref24$labels","tabName","getSnImageSettings","LibraryTab","_info$libraryTab","dropZone","makeItems","useColumns","imageDescription","filetype","picker_text","MainTab","UploadTab","fromImageData","borderstyle","fileinput","libraryfile","toImageData","removeEmptyAlt","addPrependUrl","srcURL","prependUrl","addPrependUrl2","formFillFromMeta","formFillFromMeta2","changeSrc","imageSize","calculateImageSize","prevImage","updateImagesDropdown","changeLibraryFileHandler","dataUrl","createBlobCache","addToBlobCache","showTab","changeHandler","prevAlt","changeImages","updateSrcAndSwitchTab","uploadImage","alertErr","changeFileInput","getEditor","closeHandler","makeDialogBody","finalData","getImageSize","createState","hasImageClass","toggleContentEditableState","toggleContentEditable","unbindEditable","getDateFormat","getTimeFormat","shouldInsertTimeElement","daysShort","daysLong","monthsLong","addZeros","getDateTime","getYear","insertDateTime","computerTime","userTime","timeElm","newTimeElm","getDefaultDateTime","_api","makeMenuItemHandler","getSubmenuItems","global$5","assumeExternalTargets","hasContextToolbar","getLinkList","getTargetList","getRelList","getLinkClassList","shouldShowLinkTitle","useQuickLink","sanitizeWith","extracter","ListOptions","createUi","getHref","collectNodesInRange","applyRelTargetRules","isUnsafe","removeTargetRules","newRels","addTargetRules","getAnchorElement","getLinksInSelection","isImageFigure","isInAnchor","getAnchorText","anchorElm","trimCaretContainers","getLinks$1","hasLinks","isOnlyTextSelected","inlineTextElements","applyLinkOverrides","linkAttrs","newLinkAttrs","handleExternalTargets","linkDomMutation","attachState","getLinkAttrs","linkImageFigure","updateLink","unwrapOptions","uriOptions","sanitizeData","unlinkImageFigure","startAnchorElm","endAnchorElm","unlinkSelection","unlinkDomMutation","isListGroup","findTextByValue","catalog","getDelta","persistentText","hasPersistentText","DialogChanges","linkCatalog","persistentData","onUrlChange","getTitleFromUrlChange","onCatalogChange","catalogs","tryEmailTransform","tryProtocolTransform","defaultLinkProtocol","DialogConfirms","delayedConfirm","AnchorListOptions","anchorNodes","anchors","ClassListOptions","parseJson","LinkListOptions","linkList","optItems","RelOptions","initialTarget","isTargetBlank","fallbacks","TargetOptions","nonEmptyAttr","DialogInfo","linkNode","linkClass","extractFromAnchor","titleEnabled","open$1","collectData","getChangedValue","changedData","pData","handleSubmit","defaultTarget","getInitialData","dialogDelta","appendClickRemove","getLink","getSelectedLink","gotoLink","gotoSelectedLink","toggleState","toggler","toggleLinkState","toggleLinkMenuState","toggleGotoLinkState","hasExactlyOneLinkInSelection","toggleUnlinkState","hasLinks$1","updateEnabled","setupContextToolbars","onSetupLink","launch","formApi","onlyText","getLinkText","collapseSelectionToEnd","setupButtons","setupMenuItems","setupContextMenu","hasOnlyAltModifier","setupGotoLinks","toolbarKey","zwCharsRegex","strIsEqual","toPt","wrapContent","liRange","beforeContent","wrapperElement","surroundContents","ExecCommandHandler","resizeItems","selectedLiBlocks","highlightedStart","firstListItem","selRange","firstLiRange","oldFont","highlightedEnd","lastListItem","lastLiRange","FontSizeHandler","newFormatListSpan","lastElementChild","InsertListHandler","liNode","PastePostProssesHandler","global$7","closest$2","before$1","global$6","isTextNode$1","isOlUlNode","isOlNode","isListItemNode","isDlItemNode","isVoid","keepBookmarks","shouldIndentOnTab","contentNode","blockAttrs","hasContentNode","isDescriptionDetail","isDescriptionTerm","outdentDlItem","bookmarks","removeAndKeepBookmarks","splitList","indentDlItem","getNormalizedPoint","outRng","rangeStart","rangeEnd","listNames","listSelector","getParentList","getClosestListHost","getSelectedSubLists","isParentListSelected","findSubLists","getSelectedListItems","listItemsElms","findParentListItemsNodes","getClosestEditingHost","parentTableCell","findLastParentListNode","parentLists","getSelectedListRoots","selectedLists","firstList","subsequentLists","getSelectedLists","getParentLists","isListInsideAnLiWithFirstAndLastNotListElement","getUniqueListRoots","lists","listRoots","fireListEvent","hasFirstChildList","isEntryList","isEntryComment","isIndented","cloneItemContent","joinSegment","createSegment","writeShallow","newCast","itemAttributes","appendItem","listAttributes","isEntryFragment","writeDeep","parentListType","createSegments","joinSegments","populateSegments","composeList","firstCommentEntryOpt","firstCommentEntry","fistCast","normalizeEntries","closestSiblingEntry","cleanListProperties","matchingEntry","parseSingleItem","itemSelection","selectionState","currentItemEntry","isInPreviousLi","createEntry","childListEntries","parseItem","parsedSiblings","liChild","isFragment","composeEntries","wasType","normalizedEntries","indentedComposer","outdentedComposer","listIndentation","entrySets","sourceList","parseLists","selectedListItems","getItemSelection","entrySet","indentEntry","indentSelectedEntries","composedLists","composedList","selectionIndentation","dlItems","getSelectedDlItems","isHandled","dlIndentation","handleIndentation","selectionIsWithinNonEditableList","indentListSelection","outdentListSelection","flattenListSelection","_len23","_key23","_len24","_key24","createBookmark","setupEndPoint","resolveBookmark","listToggleActionFromListName","updateListWithDetails","updateListStyle","updateListAttrs","getEndPointNode","findBetterContainer","findBlockAncestor","applyList","listItemName","getRootSearchStart","selectedTextBlocks","textBlocks","getSelectedTextBlocks","listBlock","sib","sibStyle","detailStyle","hasCompatibleStyle","mergeWithAdjacentLists","shouldMerge","list1","list2","isValidLists","hasSameListStyle","elm2","liSibling","updateList$1","newList","updateCustomList","hasListStyleDetail","toggleList","_detail","selectedSubLists","parentIsList","allLists","updateFunction","toggleMultipleLists","toggleSingleList","normalizeLists","normalizeList","findNextCaretContainer","nonEmptyBlocks","hasOnlyOneBlockChild","isUnwrappable","unwrapSingleBlockChild","mergeLiElements","listNode","nestedLists","mergeForward","fromLi","toLi","mergeIntoEmptyLi","backspaceDeleteFromListToListCaret","selectionStartElm","otherLi","willMergeParentIntoChild","resolvedBookmark","mergeBackward","oldParentElRef","backspaceDeleteIntoListCaret","findValidElement","findRoot","removeBlock","hasListSelection","parseAlphabeticBase26","charValue","composeAlphabeticBase26","parseDetail","currentList","isLowercase","deduceListType","parseStartValue","queryListCommandState","registerDialog","updateList","nodeBuffer","wrapInvalidChildren","insertListItem","restBuffer","setupTabKey","setupToggleButtonHandler","setupMenuButtonHandler","listProperties","getAudioTemplateCallback","getVideoTemplateCallback","getIframeTemplateCallback","hasLiveEmbeds","shouldFilterHtml","getUrlResolver","hasAltSource","hasPoster","getSnMediaSettings","snSettings","_ref29$allowLibrarySe","allowLibrarySearch","_ref29$attachmentList","attachmentList","_ref29$showLocalsTab","showLocalsTab","_ref29$libraryFilePic","_ref29$labels","mediaUploadHandler","typeAttachment","typeLibrary","waitOpen","trimPx","getEphoxEmbedData","altsource","poster","htmlToData","fileEnd","mp3","m4a","wav","mp4","webm","ogg","swf","addPx","updateEphoxEmbed","updateHtml","updateAll","numSources","sourceCount","urlPatterns","allowFullscreen","getUrl","protocolMatches","getProtocol","_loop5","dataToHtml","dataIn","sourcemime","altsourcemime","allowfullscreen","audioTemplateCallback","videoTemplateCallback","iframeTemplateCallback","getFlashHtml","getAudioHtml","getVideoHtml","isMediaElement","loadedData","getEmbedHtml","embedHandler","rej","wrappedResolve","embedPromise","defaultPromise","makeTab","onListLoaded","localsTabSourceType","callLoaded","attachConfig","attachmentItems","LocalsTab","handleSourceUpdate","handleBrowseLibrary","sourceInput","mainData","extractMeta","getFromData","getFromMetaData","getNonEmptyValue","addEmbedHtml","snippetData","nuData","handleInsert","beforeObjects","afterObjects","selectPlaceholder","isEmbedIframe","mediaDataType","shouldInsertAsNewIframe","prevData","hasDimensionsChanged","submitForm","showDialog","editorData","snippet","getDimensionsOfElement","getEditorData","handleSource","serviceData","sizeInput","generalTab","embedTab","advancedFormItems","advancedTab","snMediaSettings","attachmentsLoaded","dataFromEmbed","handleEmbed","handleUpdate","attachments","firstItem","getSrc","setSrc","VideoScanner","videos","getAllVideos","videoSrc","videoInfo","videoToBlobInfo","Rtc","videoScanner","replaceVideoUrl","replaceVideoUriInView","uploadVideos","scanForVideos","videosToRemove","_videoInfo$index","grandParentOpt","vid","isLiveEmbedNode","dimension","setDimensions","previewNode","fallbackHeight","defaultHeight","createPlaceholderNode","placeHolder","retainAttributesAndInnerHtml","createPreviewNode","previewWrapper","frameborder","appendNodeContent","shimNode","sourceNode","innerHtml","isPageEmbedWrapper","nodeClass","isWithinEmbedWrapper","boolAttrs","placeHolderConverter","_loop6","realElmName","realElm","getEditorOption","parseAndSanitize","getKeyboardSpaces","wrapNbsps","stringRepeat","insertNbsp","visualchars","isVisualCharsEnabled","getSeparatorHtml","shouldSplitBlock","pageBreakClass","getPlaceholderHtml","separatorHtml","shouldSplitBlock$1","pageBreakSeparatorRegExp","headHtml","cors","preventClicksOnLinksScript","dirAttr","getPreviewHtml","sandboxed","showBottomBorder","getHeight","setHeight","toggleClasses","handleOnClick","min_height","max_height","addClickEventListener","setDimmensions","removeClickEventListener","punctuation$1","parent$1","isSimpleBoundary","walkerFn","collectTextToBoundary","isContentEditableTrueInCef","fOffset","sOffset","skipStart","finishSection","collectRangeSections","ceTrueNode","DOCUMENT_POSITION_PRECEDING","documentPositionPreceding","fromRng","fromNode","nodePositions","matchId","matchedText","matchIndex","matchStart","matchFinish","replacementNode","findAndMarkInSelection","textSections","fromNodes","getElmIndex","markAllMatches","currentSearchState","inSelection","findAndMark","findSpansByIndex","spans","searchState","testIndex","matchCase","wholeWord","escapedText","wordRegex","escapeSearchText","isForwardSelection","isMatchSpan","currentMatchIndex","keepEditorSelection","updateButtonStates","hasPrev","disable","toggleNotFoundAlert","getDialogSpec","focusButtonIfRequired","doFind","findtext","matchcase","wholewords","inselection","replacetext","getPanelItems","maximized","borderless","showNoMatchesAlertBanner","updateSearchState","attachedToDom","prefixName","dispatchWith","getSystem","_len25","_key25","_len26","_key26","hoistEl","fireAttaching","attachSystemWith","guiSystem","inserter","getByDom","skinLoaded","createHoistElement","loadSkin","stylesheetUrl","skin","skinName","getSkinUrl","isSkinDisabled","moveSink","uiRoot","uiMothership","getRootComponent","hoistSink","restoreSink","dismissPopups$1","editorMap","dismissPopups","broadcastOn","scrollHandler","stopped","_len27","_key27","_Array$from","_Array$from$_i","_event$composedPath","getPopupButtons","tinymceContainer","addPopupButtonClickListeners","getHostsFromAncestors","_step8","_iterator8","editorSet","setupHoist","addPopupButtonClickListenersOnNodeChange","oldOpen","_len28","_key28","addWindowHandlers","areNotificationsOpen","isFullScreen","hoistNotificationsOnFullScreen","removeHoist","_step9","_iterator9","_len29","_key29","_len30","_key30","flatten$1","children$3","child$3","child$2","getIsRoot","addPxSuffix","getSelectionStart","isInEditableContext","getAttrValue","validSectionList","rowdetail","columnGroups","fromRowsOrColGroups","columnGroup","cells$1","getParentSection","isValidSection","getLockedColumnsFromTable","lockedColStr","lockedCols","filterItems","warehouse","lockedColumns","rowData","maxRows","maxColumns","rowCount","colgroupRows","currentRow","rowCell","isLocked","extended","occupiedColumnPosition","occupiedRowPosition","columnPosition","newpos","_last$map$getOrThunk","columnsGroup","columnIndex","colIndex","columnext","generateColumns","colgroup$1","colgroups","grid$1","Warehouse","rows$1","columnGroups$1","fromTable$1","getTDTHOverallStyle","firstChildStyle","setAlign","fireTableModified","getCalculatedWidth","calcContentBoxSize","defaultCellBorderWidths","defaultCellBorderStyles","getPixelForcedWidth","getTableSizingMode","getTableBorderWidths","getTableBorderStyles","hasAdvancedCellTab","hasAdvancedRowTab","hasAdvancedTableTab","hasAppearanceOptions","hasTableGrid","shouldStyleWithCss","getCellClassList","getRowClassList","getTableClassList","getToolbar","getTableBackgroundColorMap","getTableBorderColorMap","isPixelsForced","isResponsiveForced","getDefaultStyles","determineDefaultStyles","getDefaultAttributes","defaultAttributes","determineDefaultAttributes","isWithin","startCol","finishCol","startRow","finishRow","getAnyBox","finishCell","finishCoords","detailA","detailB","getBox$1","isRect","detailIsWithin","isRectangular","getWarehouse","unsafeOne","look","commonElement","sharedOne$1","getEdges","firstSelectedSelector","lastSelectedSelector","_universe","retrieve","sels","retrieve$1","retrieveBox","sectionSelector","firstAncestor","lastAncestor","getBox","strSelected","strFirstSelected","strLastSelected","ephemera","selectedSelector","firstSelected","lastSelected","getSelectionFromSelector","initCell","cellName","getSelectionCellOrCaption","getSelectionCell","getCellsFromSelection","getRowsFromSelection","cellOpt","rowsOpt","verticalAlignValues","shorthandRegex","longformRegex","fromString$1","isHexString","onSetupToggle","boundCallback","checkNode","buildListItems","buildMenuItems","applyTableCellStyle","filterNoneItem","generateMenuItemsCallback","buildColorMenu","colorList","fancytype","allowCustomColors","changeRowHeader","newType","changeColumnHeader","getItems$2","getClassList$1","getAdvancedTab","dialogName","advTabItems","DomModifier","setFormat","isHeaderCell","getRowHeaderType","isHeaderRow","isHeaderCells","findCommonCellType","headerCells","findCommonRowType","rowTypes","subType","getRowType$1","hasFooter","hasBody","findInWarehouse","extractCells","cell$1","onCells","allUnlocked","isUnlockedTableCell","onUnlockedMergable","_warehouse","mergable","onMergable","mergeable","onUnlockedUnmergable","unmergable","onUnmergable","_len32","_key32","_len33","_key33","getRowsType","lastSelectedCell","minRowRange","maxRowRange","selectedRows","extractAdvancedStyles","borderwidth","bordercolor","backgroundcolor","getSharedValues","baseData","comparisonData","comparisonValue","getAlignment","getHAlignment","getVAlignment","getRowType","allCells","cellA","cellB","applyStyleData$1","wasChanged","isSingleCell","cellElm","shouldOverrideCurrentValue","colModifier","updateSimpleProps$1","updateAdvancedProps$1","halign","setVAlign","valign","onSubmitCellForm","modifiedData","styleModified","structureModified","celltype","applyStructureData$1","applyCellData","getData$1","cellsData","colElm","extractDataFromCellElement","open$2","dialogTabPanel","dialogPanel","formChildren","getItems$1","applyStyleData","rowElm","updateSimpleProps","updateAdvancedProps","onSubmitRowForm","typeModified","applyStructureData","applyRowData","rowsData","extractDataFromRowElement","getItems","insertNewTable","rowColCountItems","appearanceItems","classListItem","styleTDTH","applyDataToElement","shouldApplyOnCell","shouldStyleWithCss$1","hasAdvancedTableTab$1","removePxSuffix","cellspacing","cellpadding","cellStyles","advData","onSubmitTableForm","applicableCellProperties","captionElm","captionModified","hasAdvTableTab","spacing","advStyle","extractDataFromSettings","optBorderWidth","extractDataFromTableElement","generalPanel","dialogBody","mceTableProps","mceTableRowProps","mceTableCellProps","mceInsertTableDialog","hasSpan","getSelectionTargets","changeHandlers","isCaption","isDisabledForSelection","getSelectionEnd","startCellOrCaption","oot","noMenu","forMenu","getExtractedDetails","locked","onAny","onFirst","onLast","unmergeable","resetTargets","_len31","_key31","setupHandler","onSetupWithToggle","isDisabledFromLocked","lockedDisable","onSetupTableHeaders","headerType","onSetupTableRowHeaders","onSetupTableColumnHeaders","onSetupTable","onSetupCellOrRow","onSetupColumn","onSetupPasteable","getClipboardData","onSetupPasteableColumn","onSetupMergeable","onSetupUnmergeable","onSetupTableWithCaption","tableTypeBase","tableTypeRow","tableTypeColumn","getRows","getColumns","onSetupEditable$1","selectionTargets","addMenuIfRegistered","addToggleMenuIfRegistered","insertTableAction","numRows","hasRowMenuItems","hasColumnMenuItems","hasCellMenuItems","tableClassList","tableCellClassList","addMenuItems","addButtonIfRegistered","addToggleButtonIfRegistered","addButtons","addToolbars","_step0","_iterator0","toggleVisualBlocks","enabledState","fireVisualBlocks","isEnabledByDefault","toggleActiveState","charMapToRegExp","regExpGlobal","charMapToSelector","nbspClass","wrapCharWithSpan","isWrappedNbsp","filterEditableDescendants","isChildEditable","nodeList","withSpans","findParentElm","applyVisualChars","fireVisualChars","toggleVisualChars","debouncedToggle","_len34","_key34","enabledStated","regExps","characterIndices","SETS$1","PUNCTUATION$1","SETS","OTHER","setsLength","isWordBoundary","nextType","nextNextType","prevType","WHITESPACE","PUNCTUATION","isProtocol","findUrlEnd","findWordEnd","getWordsWithIndices","includeWhitespace","includePunctuation","extractedChars","characterMap","sChars","startOfWord","endOfWord","endOfUrl","findWordsWithIndices","getWords","removeZwsp$1","treeWalker","countWords","removeZwsp","countCharacters","countCharactersWithoutSpaces","createBodyCounter","createSelectionCounter","createBodyWordCounter","getWordCount","getCharacterCountWithoutSpaces","getCharacterCount","updateCount","wordCount","charactersWithoutSpaces","fireWordCountUpdate","debouncedUpdate","_len35","_key35","getCount","_len37","_key37","_len38","_key38","decimalDigits","exponentPart","unsignedDecimalLiteral","range$1","get$d","after$5","firstChild$1","elementnew","rowcells","getBody$1","ancestors$3","ancestors$4","getRaw$2","hasColspan","cellOrCol","hasRowspan","getCssValue","columns$1","_len39","_key39","api$2","getOuter$2","getRuntime$1","addCells","existingCells","newCells","setCells","addCell","mutateCell","getCell","getCellElement","cellLength","extractGridDetails","cloneRow","cloneCell","LOCKED_COL_ATTR","getLockedColumnsFromGrid","lockedArr","_last$2$map$getOrThun","fromTable","getAt","findItem","justCells","justColumns","hasColumns","getColumnAt","isValidCell","rowsArr","decide","getBlock","getFallback","deduce","onDirection","isLtr","getOuter$1","getRuntime","rowInfo","colInfo","rtlEdge","ltrEdge","getLeftEdge","getRightEdge","getTop$1","getTopEdge","getBottomEdge","findPositions","getInnerEdge","getOuterEdge","cellOption","lastLine","optElements","ltr$1","rtl$1","detect$1","unsupportedLength","accepted","unitRaw","isUnit","rPercentageBasedSizeRegex","rPixelBasedSizeRegex","isCol$2","getPercentSize","outerGetter","innerGetter","relativeParent","setPixelWidth","setPercentageWidth","normalizePixelSize","newSize","getTotalHeight","getHeightValue","getRawWidth$1","getPercentageWidth","getPixelWidth$1","setGenericWidth","getPercentTableWidth","percentageBasedSizeRegex","isCol$1","getRawW","getRawH","backups","getWidthFrom","columnCells","justCols","colFilter","supportsColWidths","isValidColumn","getDeduced","deduced","getPixelWidths","tableSize","minCellWidth","getHeightFrom","widthLookup","noneSize","pixelWidth","getWidths","getCellDelta","singleColumnWidth","setElementWidth","adjustTableWidth","isRelative","percentageSize","getFloatWidth","cellWidth","getPercentageWidths","_delta","TableSize","chooseSize","makeCell","seenSelected","extract$1","replica","replicaHouse","replicaStats","totalColumns","minRow","minCol","maxRow","maxCol","endRow","endCol","statsStruct","findSelectedStats","unselectedCells","totalRows","fillInGaps","widthDelta","colWidths","allColsWidth","selectedColsWidth","getTableWidthDelta","emptyRows","transferableAttributes","createCell","createCol","createColgroup","createRow$1","replace$1","cloneChildren","copy$2","pasteReplace","cellOperations","formatsToClone","cloneCss","sourceDom","targetDom","oldCell","newCell","firstText","formatSelector","clonedFormat","cloneFormats","validAttributes","cloneAppropriateAttributes","colGap","paste$1","getTableCloneElements","getTableHeaderType","getTableColumnResizingBehaviour","isPreserveTableColumnResizing","isResizeTableColumnResizing","isTablePercentagesForced","isTablePixelsForced","isTableResponsiveForced","hasTableResizeBars","shouldMergeContentOnPaste","getTableDefaultAttributes","determineDefaultTableAttributes","getTableDefaultStyles","determineDefaultTableStyles","tableUseColumnGroup","removeDataStyle","removeStyleAttribute","getPixelWidth","getPixelHeight","isInEditableContext$1","leftEdge","rightEdge","topEdge","bottomEdge","intercepts$1","parentCell","innerCell","moveBy","deltaRow","deltaColumn","moveBy$1","intercepts","nestedIntercepts","firstTable","lastTable","optStartCell","optLastCell","DomUniverse","ps1","ps2","prune","pruned1","pruned2","firstpath","secondpath","universe$3","sharedOne","rootTable","boxes","finishTable","ancestorCells","lca","lcaTable","finishAncestorCells","startAncestorCells","shiftSelection","getLast","identified","expandTo","strSelectedSelector","strAttributeSelector","strFirstSelectedSelector","strLastSelectedSelector","attributeSelector","getCellsFromFakeSelection","extractSelected","serializeElements","multiCellContext","pasteCells","scan$1","universe$2","halve","getGenericWidth","surround","clampDeltaHelper","minCellSize","clampNegativeDelta","clampDelta","resizeTable","calcRelativeDeltas","newThis","calcLeftEdgeDeltas","clampedDelta","calcFixedDeltas","resizer","clampTableDelta","calcMiddleDeltas","_prev","calcRightEdgeDeltas","calcRedestributedWidths","totalWidth","pixelDelta","newSizes","preserveTable","isLastColumn","maxDelta","_minCellSize","_totalWidth","_pixelDelta","_isRelative","getGridSize","transformCell","substitution","transformRow","fixedCell","mutate$1","sectionCells","TableSection","rowType","findTableRowHeaderType","setIfNot","render$1","syncRows","gridSection","syncColGroup","colGroup","sectionName","newSection","generateSection","sectionElems","renderOrRemoveSection","removeSection","headSection","bodySection","footSection","columnGroupsSection","findDiff","subgrid","getRow","isColRow","getColumn","toDetails","updateSeen","rowdetailnew","colgroupCols","rowCells","rowDetail","toDetailList","postAction","genWrappers","behaviours","tableSection","fromWarehouse","tableSizing","sizing","resizing","onPasteByEditor","onUnlockedCells","unmerge","currentCell","isToReplace","splitRows","uniqueCells","_loop7","measureWidth","gridA","gridB","rowDelta","colDelta","measureHeight","generateElements","rowFill","exampleRow","colFill","newChildren","tailor","fillCols","fillRows","gridWidth","isLastColLocked","modifiedCols","newLockedColumns","isSpanning","matching","getLockedColumnsWithinBounds","startAddress","colNum","validStartAddress","currentStartAddress","gridColLength","adjustedRowAddress","possibleColAddresses","validColAddress","getValidStartAddress","gridBRows","lockedColumnsWithinBounds","rowRemainder","colRemainder","colRequired","rowRequired","fittedGrid","newLockedColumnsWithinBounds","lockedColumnObj","skippedCol","gridBColIndex","newCellElm","mergeTables","insertCols","prevCell","substitute","splitCols","fittedNewGrid","secondDelta","fittedOldGrid","insertRows","_extractGridDetails","oldCols","oldRows","newLocked","secondDiff","fittedGridB","newChild","lockedColFill","insertRowAt","example","_extractGridDetails2","newRow","insertColumnAt","withinSpan","getElementFor","isDuplicatedCell","notInStartRow","notInStartColumn","determineScope","applyScope","isInHeader","replaceIn","genScope","shouldReplace","mapCells","setOptions","getColumnCells","replaceColumns","rowHeaders","shouldReplaceCell","targetColumn","_colIndex","columnReplacePredicate","scopeGenerator","columnScopeGenerator","replaceRows","_extractGridDetails4","targetRow","getRowCells","columnHeaders","_cell","newGrid","_rowIndex","rowReplacerPredicate","rowScopeGenerator","replaceCells","targetCells","_len40","_key40","_len41","_key41","adt$6","ColumnContext","determine","neighbours","measures","recalculateHeightForCells","heights","widths","recalculateWidthForColumns","recalculateWidthForCells","recalculateAndApply","adjustWidth","clampedStep","deltas","newWidths","getPixelHeights","newHeights","newCellSizes","newRowSizes","matchRowHeight","uniqueColumns","currentDetail","isCol","isColgroup","isRow$1","elementToData","getScopeAttribute","Generators","toData","nuCell","recent","getOrInit","makeNew","replaceOrInit","stringAttributes","baseScope","getScopeProperty","blockList","universe$1","isList$1","isEmptyTag$1","markCell","rightSiblingIsBlock","rightSibling","advancedBr","markContent","outcome","elementFromGrid","findEditableCursorPosition","uniqueRows","makeRowsSection","initialGrid","rowIndexes","opMakeRowsHeader","opMakeRowsBody","opMakeRowsFooter","gridifyRows","pasteDetails","fromPastedRows","_table","adjustWidthTo","adjustAndRedistributeWidths","resizeBehaviour","tablePixelWidth","_resizeBehaviour$calc","adjustAndRedistributeWidths$1","firstColumnIsLocked","lastColumnIsLocked","getColumnsWidth","uniqueCols","insertColumnsExtractor","pasteColumnsExtractor","headerCellGenerator","bodyCellGenerator","insertRowsBefore","insertRowsAfter","newG","insertColumnsBefore","extractDetail","insertColumnsAfter","eraseColumns","_comparator","_genWrappers","deleteColumnsAt","maxColIndex","eraseRows","_extractGridDetails3","deleteRowsAt","maxRowIndex","makeColumnsHeader","columnIndexes","unmakeColumnsHeader","makeRowsHeader","makeRowsBody","makeRowsFooter","makeCellsHeader","unmakeCellsHeader","mergeCells","merge$2","unmergeCells","gridify","pasteColsBefore","mergedGrid","pasteColsAfter","pasteRowsBefore","pasteRowsAfter","getColumnsType","minColRange","maxColRange","selectedColumnCells","getCellsType","fireNewRow","fireNewCell","styleAndStructureModified","TableActions","resizeHandler","cellSelectionHandler","isTableBody","colMutationOp","getTableSectionType","setSelectionFromAction","noEvents","deleteRow","deleteColumn","getTableRowType","getTableCellType","getTableColType","constrainSpan","currentColspan","isColInRange","copyCols","fakeColGroups","colsToCopy","copiedCols","clonedCol","fakeColgroup","generateColGroup","fakeRows","cellsToCopy","copiedCells","clonedCell","fakeTR","generateRows","copyRows","slicedGrid","filteredGrid","slicedDetails","adt$5","validateFor","rawAmount","Size","redistributeValues","newWidthType","newTotalWidth","redistributeToPx","_pc","redistributeToPercent","redistribute$1","floats","redistributeEmpty","floored","roundDown","getUnit","redistribute","optWidth","optHeight","widthUnit","oldWidths","getRawWidths","nuWidths","redistributeToColumns","redistributeToW","hUnit","totalHeight","oldHeights","getRawHeights","redistributeToH","isPercentSizing","isPixelSizing","isNoneSizing","cleanupLegacyAttributes","convertToPercentSize","convertToPixelSize","getPixelTableWidth","convertToNoneSize","rowElements","DefaultRenderOptions","colGroups","tableHeaderCell","tableCell","createGroupRow","createRows","createRow","placeCaretInCell","colHeaders","renderOpts","rowHeadersGoInThead","actualRowHeaders","theadRows","tbodyRows","isPercentage","fireEvents","selectFirstCellInTable","fakeClipboardItem","setRows","clearRows","setColumns","columnsOpt","clearColumns","getSelectionStartCellOrCaption","getTableFromCell","performActionOnSelection","getSelectionStartCell","postExecute","actOnSelection","copyRowSelection","copyColSelection","pasteOnSelection","clonedRows","pasteRows","actOnType","get$c","mceTableSplitCells","mceTableMergeCells","mceTableInsertRowBefore","mceTableInsertRowAfter","mceTableInsertColBefore","mceTableInsertColAfter","mceTableDeleteCol","mceTableDeleteRow","mceTableCutCol","mceTableCutRow","mceTableCopyCol","mceTableCopyRow","mceTablePasteColBefore","mceTablePasteColAfter","mceTablePasteRowBefore","mceTablePasteRowAfter","mceTableDelete","cellOrCaption","mceTableCellToggleClass","allHaveClass","formatterAction","mceTableToggleClass","mceTableToggleCaption","appendAt","mceTableSizingMode","setSizingMode","mceTableCellType","mceTableColType","mceTableRowType","checkInput","headerRows","headerColumns","insertTable","getFormatName","validArgs","adt$4","selectNodeContentsUsing","toRect","asLtrRange","Situs","convertToRange","makeSitus","selectRange","cellSel","backtrack","_direction","sidestep","successors","succ","Walkers","hone","isLeaf","seekLeft$1","seekRight$1","failedUp","failedDown","isRow","BeforeAfter","verify","beforeOffset","afterOffset","afterCell","beforeCell","beforeBounds","afterBounds","_sharedRow","onFailedUp","onFailedDown","gatherer","cand","handleParent","adjacent","inParent","indexInParent","tryBr","handleBr","tgt","xDelta","yDelta","toCaret","getElemBox","getBoxAt","getRangedRect","getPartialBox","getEntireBox","inOutsideBlock","isOutside","downMovement","adjuster","guessBox","lowerCaret","adjustTil","isAtTable","adjustForTable","situsFromPoint","newCaret","moved","adjusted","getInnerHeight","checkScroll","Retries","tryUp","higherCaret","tryDown","getJumpSize","findSpot","brNeighbour","fromSitus","analysis","_message","tryCursor","situs","tryAgain","tryAt","inSameTable","simulate","precheck","firstUpCheck","seekLeft","lastOffset","lastDownCheck","seekRight","findCell","keycode","isUp","isDown","isNavigation","isBackward","makeRange","getNativeSelection","doSetNativeRange","doSetRange","setRangeFromRelative","setLegacyRtlRange","setExact","setRelative","firstRng","doGetExact","setToElement","getExact","getFirstRect","getFirstRect$1","WindowBridge","exactAdt","clearSelection","collapseSelection","setRelativeSelection","selectContents","getScrollY","clearstate","clearBeforeUpdate","singleCell","isNonEditableCell","isCellClosestContentEditable","mousedown","mouseover","mouseup","MouseSelection","isEditableNode","isEditableSelection","clearToNavigate","keydown","realEvent","update$1","attempts","newSels","keyup","SelectionAnnotation","onSelection","removeSelectionAttributes","addSelectionAttribute","getOtherCells","upOrLeftCells","upGrid","upDetails","slicedCells","getUpOrLeftCells","downOrRightCells","downGrid","downDetails","getDownOrRightCells","fromRawEvent$1","_len36","_key36","hasInternalTarget","TableCellSelectionHandler","cellSelection","lazyRoot","Selections","otherCells","fireTableSelectionChange","fireTableSelectionClear","mouseHandlers","keyHandlers","external$1","lastTarget","lastTimeStamp","isLeftMouse","doubleTap","touchEnd","lTS","wrappedEvent","onMultiple","onSingle","_len42","_key42","create$1","typeDefs","baseWith","handleUnsupported","validateStrArr","reqMessage","invalidKeys","incorrect","invalidTypeMessage","handleExact","unsuppMessage","exactly","DragMode","DragSink","DragApi","InDrag","onEvent","Movement","noDragState","NoDrag","inDragState","dragState","isOn","sink","throttledDrop","_len43","_key43","runIfActive","_len44","_key44","forceDrop","delayDrop","dashNamespace","MouseDrag","dragApi","blocker","layerClass","Blocker","mdown","mup","mmove","mout","BarMutation","Mutation","resizeBar","resizeRowBar","resizeColBar","wire","drawBar","cpOption","refreshCol","colPositions","tableHeight","colBar","refreshRow","rowPositions","tableWidth","rowBar","refreshGrid","warhouse","resizableRowBars","resizableRows","resizableRowPositions","_pos","barIndex","resizableColBars","resizableCols","colElmOpt","resizableColumns","resizableColPositions","resizeBarDragging","BarManager","hoverTable","getResizer","_dataRow","_dataCol","currentCol","startAdjust","isColBar","tbl","hideBars","showBars","TableResize","lazySizing","hdirection","vdirection","manager","beforeResize","afterResize","_event","refreshBars","ResizeWire","createContainer","barResizerPrefix","TableResizeHandler","startRawW","tableResize","resizeWire","lazyResizingBehaviour","afterCornerResize","isRightEdgeResize","getNumColumns","isPercentage$1","percentW","isPixel","computedWidth","syncPixels","rawWire","objectResizing","hasTableObjectResizing","rawTable","getRawWidth","setupTable","lookupOnSelection","registerQueryCommands","DomModel","SN_TRANSLATE","TRANSLATIONS","TRANSLATIONS_PREFIX","TRANSLATIONS_STORE","STATIC_TRANSLATIONS","DEFAULT_TRANSLATIONS","codeKey","__TRANSLATIONS_PREFIX_ENABLED__","__TRANSLATIONS_PREFIX__","getPrefix","USER_PREF_CONTEXTS_MAP","userPrefName","SYS_PROPS_CONTEXTS_MAP","getSysPropContext","sysPropsName","sysPropsContext","a11yPreferences","GLIDE_POLARIS_ACCESSIBILITY_PRESENCE_ICON","GLIDE_POLARIS_ACCESSIBILITY_TRUNCATION_TAB_STOP","GLIDE_UI_ACCESSIBILITY","GLIDE_UI_REPORT_ACCESSIBILITY_SCREEN_READER_TABLE","GLIDE_POLARIS_ANIMATION_DISABLED","GLIDE_UI_KEYBOARD_SHORTCUTS_ENABLED","GLIDE_UI_ACCESSIBILITY_ACCESSIBLE_DATEFORMAT","GLIDE_UI_REPORT_ACCESSIBILITY_PATTERSN","GLIDE_UI_ACCESSIBILITY_SHOW_TRUNCATED_TEXT","GLIDE_UI_ACCESSIBILITY_SHOW_HIDDEN_CONTROLS","GLIDE_UI_ACCESSIBILITY_ACCESSIBLE_TOOLTIPS","GLIDE_UI_ACCESSIBILITY_FOCUS_FIRST_FIELD","GLIDE_UI_ACCESSIBILITY_SLUSHBUCKET_RECORD_PREVIEW_TOOLTIPS","createPreSourceBehavior","dsName","_ref$transform","storeSeed","getBehaviorProp","defVal","preUserData","preWsConfigSysId","preUserPrefs","preferences","signatureKey","signature","signedData","signData","isSigned","isPlainTextNode","defaultH","denyUnlessSignedHook","processDataRecursively","checkIfValidVnode","dataProcessFn","EE","_isStdio","didOnEnd","ClientRequest","IncomingMessage","Agent","defaultMaxSockets","globalAgent","STATUS_CODES","METHODS","getXHR","XDomainRequest","checkTypeSupport","writableStream","WritableStream","arraybuffer","msstream","mozchunkedarraybuffer","rStates","readyStates","preferBinary","_body","useFetch","_mode","decideMode","_fetchTimer","_socketTimeout","_socketTimer","lowerName","_destroyed","headersObj","headersList","_fetchAbortController","requestTimeout","_fetchResponse","_resetTimers","_xhr","_response","_onXHRProgress","statusValid","flushHeaders","setNoDelay","setSocketKeepAlive","resetTimers","trailers","rawTrailers","statusMessage","_resumeFetch","pipeTo","_charset","charsetMatch","MSStreamReader","nargs","nenc","retried","_normalizeEncoding","normalizeEncoding","utf16Text","utf16End","fillLast","utf8FillLast","base64Text","base64End","simpleWrite","simpleEnd","lastNeed","lastTotal","lastChar","utf8CheckByte","byte","utf8CheckExtraBytes","utf8CheckIncomplete","arrayCopy","punycode","mappingTable","STATUS_MAPPING","findStatus","useSTD3ASCIIRules","disallowed_STD3_valid","disallowed_STD3_mapped","disallowed","validateLabel","checkHyphens","checkBidi","checkJoiners","processingOption","combiningMarks","_codePoints","_findStatus3","deviation","combiningClassVirama","validZWNJ","bidiS1LTR","bidiS1RTL","bidiS2","bidiS3","bidiS4EN","bidiS4AN","bidiS5","bidiS6","processing","domainName","_mapChars","_findStatus","_findStatus2","mapChars","isBidi","bidiDomain","isBidiDomain","curProcessing","_ref4$checkHyphens","_ref4$checkBidi","_ref4$checkJoiners","_ref4$useSTD3ASCIIRul","_ref4$processingOptio","_ref4$verifyDNSLength","verifyDNSLength","_ref5$checkHyphens","_ref5$checkBidi","_ref5$checkJoiners","_ref5$useSTD3ASCIIRul","_ref5$processingOptio","FUNC_TYPE","UNDEF_TYPE","OBJ_TYPE","STR_TYPE","MAJOR","MODEL","VENDOR","ARCHITECTURE","CONSOLE","MOBILE","TABLET","SMARTTV","WEARABLE","EMBEDDED","AMAZON","APPLE","ASUS","BLACKBERRY","BROWSER","CHROME","FIREFOX","GOOGLE","HONOR","HUAWEI","MICROSOFT","MOTOROLA","NVIDIA","ONEPLUS","OPERA","OPPO","SAMSUNG","SHARP","SONY","XIAOMI","ZEBRA","FACEBOOK","CHROMIUM_OS","MAC_OS","SUFFIX_BROWSER","enumerize","lowerize","rgxMapper","strMapper","windowsVersionMap","cpu","EDGE","UAParser","_uach","_rgxmap","mergedRegexes","_isSelfNav","majorize","isBrave","getCPU","_cpu","getDevice","_device","maxTouchPoints","setUA","CPU","DEVICE","ENGINE","OS","jQuery","Zepto","sets","subexp","buildExps","isIRI","ALPHA$$","DIGIT$$","HEXDIG$$","PCT_ENCODED$","SUB_DELIMS$$","RESERVED$$","SCHEME$","USERINFO$","UNRESERVED$$","DEC_OCTET_RELAXED$","H16$","LS32$","IPV4ADDRESS$","IPV6ADDRESS1$","IPV6ADDRESS2$","IPV6ADDRESS3$","IPV6ADDRESS4$","IPV6ADDRESS5$","IPV6ADDRESS6$","IPV6ADDRESS7$","IPV6ADDRESS8$","IPV6ADDRESS9$","ZONEID$","IPV6ADDRESS$","IP_LITERAL$","IPV6ADDRZ_RELAXED$","IPVFUTURE$","HOST$","REG_NAME$","PORT$","AUTHORITY$","PCHAR$","SEGMENT$","SEGMENT_NZ$","SEGMENT_NZ_NC$","PATH_ABEMPTY$","PATH_ABSOLUTE$","QUERY$","PATH_NOSCHEME$","PATH_ROOTLESS$","PATH_EMPTY$","IPRIVATE$$","FRAGMENT$","HIER_PART$","URI$","RELATIVE_PART$","RELATIVE$","URI_PROTOCOL","IRI_PROTOCOL","damp","initialBias","initialN","error$1","toConsumableArray","_iteratorNormalCompletion","_iteratorNormalCompletion2","_iteratorNormalCompletion3","SCHEMES","pctEncChar","pctDecChars","newStr","_normalizeComponentEncoding","decodeUnreserved","decStr","UNRESERVED","PCT_ENCODED","NOT_SCHEME","userinfo","NOT_USERINFO","NOT_HOST","NOT_PATH","NOT_PATH_NOSCHEME","NOT_QUERY","NOT_FRAGMENT","_stripLeadingZeros","_normalizeIPv4","IPV4ADDRESS","_normalizeIPv6","IPV6ADDRESS","_matches2","_address$toLowerCase$2","firstFields","lastFields","isLastFieldIPv4Address","fieldCount","lastFieldsStart","longestZeroFields","lastLongest","newHost","newFirst","newLast","URI_PARSE","NO_MATCH_IS_UNDEFINED","uriString","iri","schemeHandler","unicodeSupport","domainHost","_recomposeAuthority","uriTokens","RDS1","RDS2","RDS3","RDS5","removeDotSegments","authority","absolutePath","resolveComponents","tolerant","relativeURI","schemelessOptions","uriA","uriB","escapeComponent","ESCAPE","unescapeComponent","handler$1","isSecure","wsComponents","handler$2","resourceName","_wsComponents$resourc2","handler$3","ATEXT$$","VCHAR$$","SOME_DELIMS$$","NOT_LOCAL_PART","NOT_HFNAME","NOT_HFVALUE","handler$4","mailtoComponents","unknownHeaders","hfields","hfield","toAddrs","_xl","_xl2","addr","toAddr","atIdx","localPart","URN_PARSE","handler$5","urnComponents","nid","nss","urnScheme","handler$6","uuidComponents","controlOrWhitespace","CRHTLF","slashes","protocolre","windowsDriveLetter","lolcation","finaldestination","extractProtocol","forwardSlashes","otherSlashes","slashesCount","extracted","instruction","instructions","protocolPattern","portPattern","simplePathPattern","unwise","autoEscape","nonHostChars","hostEndingChars","hostnamePartPattern","hostnamePartStart","unsafeProtocol","hostlessProtocol","slashedProtocol","gopher","querystring","slashesDenoteHost","queryIndex","splitter","uSplit","simplePath","lowerProto","atSign","hostEnd","hec","parseHost","ipv6Hostname","hostparts","newpart","validParts","notHost","bit","esc","resolveObject","tkeys","tkey","rkeys","rkey","relPath","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","authInHost","isHighSurrogate","isLowSurrogate","charLength","prevCodePoint","isArgumentsObject","isGeneratorFunction","BigIntSupported","SymbolSupported","ObjectToString","numberValue","booleanValue","bigIntValue","symbolValue","checkBoxedPrimitive","prototypeValueOf","isMapToString","isSetToString","isWeakMapToString","isWeakSetToString","isArrayBufferToString","working","isDataViewToString","isDataView","isUint8Array","isUint8ClampedArray","isUint16Array","isUint32Array","isInt8Array","isInt16Array","isInt32Array","isBigInt64Array","isBigUint64Array","SharedArrayBufferCopy","isSharedArrayBufferToString","isSharedArrayBuffer","isAsyncFunction","isMapIterator","isSetIterator","isGeneratorObject","isWebAssemblyCompiledModule","formatRegExp","noDeprecation","throwDeprecation","traceDeprecation","debugs","debugEnvRegex","stylizeNoColor","stylizeWithColor","simple","formatPrimitive","visibleKeys","arrayToHash","braces","formatProperty","numLinesEst","reduceToSingleString","pid","isNullOrUndefined","kCustomPromisifiedSymbol","callbackifyOnRejected","newReason","promisify","promiseResolve","promiseReject","callbackify","callbackified","maybeCb","byteToHex","bth","_nodeId","_clockseq","_lastMSecs","_lastNSecs","seedBytes","tmh","bytesToUuid","hashfunc","generateUUID","stringToBytes","uuidToBytes","DNS","md5ToHexEncodedArray","wordsToMd5","bytesToWords","v35","ROTL","sha1","rnds8","rnds","makeException","ErrorType","globals","evenRound","censorNegativeZero","integerPart","createIntegerConversion","bitLength","upperBound","unsigned","twoToTheBitLength","twoToOneLessThanTheBitLength","enforceRange","signMightNotMatch","modulo","createLongLongConversion","MIN_SAFE_INTEGER","asBigIntN","asIntN","xBigInt","octet","double","fround","DOMString","treatNullAsEmptyString","ByteString","USVString","abByteLengthGetter","sabByteLengthGetter","isNonSharedArrayBuffer","isArrayBufferDetached","_unused3","allowShared","dvByteLengthGetter","typedArrayNameGetter","ArrayBufferView","BufferSource","DOMTimeStamp","urlStateMachine","percentEncoding","sharedGlobalObject","parseURL","basicURLParse","serializeURL","serializePath","serializeHost","serializeInteger","serializeURLOrigin","setTheUsername","setThePassword","cannotHaveAUsernamePasswordPort","hasAnOpaquePath","percentDecodeString","percentDecodeBytes","conversions","invokeTheCallbackFunction","callResult","tryWrapperForImpl","wrapperSymbol","objectReference","usm","urlencoded","URLImpl","constructorArgs","parsedBase","parsedURL","_query","createImpl","doNotStripQMark","_list","parseUrlencodedString","stateOverride","implSymbol","ctorRegistrySymbol","makeWrapper","newTarget","Impl","isImpl","implForWrapper","privateData","_internalSetup","exposed","globalNames","globalName","ctorRegistry","initCtorRegistry","curArg","esValue","getSameObject","URLSearchParamsImpl","_ref$doNotStripQMark","serializeUrlencoded","_updateSteps","newObjectInRealm","interfaceName","createDefaultIterator","iteratorPrototype","iterInternalSymbol","typedKey","_esValue$implSymbol","_esValue$implSymbol2","_esValue$implSymbol3","_esValue$implSymbol4","_esValue$implSymbol5","_esValue$implSymbol6","_pairs$i$map","_pairs$i$map2","iteratorResult","utf8Encoder","utf8Decoder","utf8Encode","utf8DecodeWithoutBOM","isASCIIDigit","isASCIIAlpha","isASCIIAlphanumeric","isASCIIHex","percentEncode","outputIndex","bytePoint","isC0ControlPercentEncode","extraFragmentPercentEncodeSet","extraQueryPercentEncodeSet","isQueryPercentEncode","extraPathPercentEncodeSet","isPathPercentEncode","extraUserinfoPercentEncodeSet","isUserinfoPercentEncode","extraComponentPercentEncodeSet","extraURLEncodedPercentEncodeSet","utf8PercentEncodeCodePointInternal","percentEncodePredicate","isFragmentPercentEncode","isSpecialQueryPercentEncode","isURLEncodedPercentEncode","isComponentPercentEncode","utf8PercentEncodeString","spaceAsPlus","utf8PercentEncodeCodePoint","tr46","infra","specialSchemes","wss","countSymbols","isSingleDot","isWindowsDriveLetterString","isSpecialScheme","isNotSpecial","parseIPv4Number","isNotSpecialArg","pieceIndex","numbersSeen","ipv4Piece","swaps","parseIPv6","parseOpaqueHost","asciiDomain","beStrict","domainToASCII","endsInANumber","numbers","_numbers","parseIPv4","serializeIPv4","maxIdx","maxLen","currStart","currLen","findLongestZeroSequence","ignore0","serializeIPv6","shortenPath","includesCredentials","URLStateMachine","encodingOverride","trimControlChars","trimTabAndNewline","atFlag","arrFlag","passwordTokenSeenFlag","cStr","encodedCodePoints","fileOtherwiseCodePoints","startsWithWindowsDriveLetter","cp1","cp2","queryPercentEncodePredicate","excludeFragment","replaceByteInByteSequence","strictlySplitByteSequence","indexOfEqual","nameString","valueString","parseUrlencoded","tuples","sameObjectCaches","wrapperForImpl","byteLengthGetter","supportsPropertyIndex","supportedPropertyIndices","supportsPropertyName","supportedPropertyNames","indexedGet","indexedSetNew","indexedSetExisting","namedGet","namedSetNew","namedSetExisting","namedDelete","asyncIteratorNext","asyncIteratorReturn","asyncIteratorInit","asyncIteratorEOI","tryImplForWrapper","isArrayIndexPropName","availableTypedArrays","typedArrays","superProto","trySlices","tryTypedArrays","pascalCase","pascal","simplify","dashCase","_ref$delimiter","_ref$stripAdjacentDas","stripAdjacentDashes","_ref$trimDashes","trimDashes","simplifiedSplitWords","titleCase","ucWords","withNumberWordStart","lowercaseWords","ignoreWords","converted","lowercaseWord","uppercaseWord","reCondensedRegex","delimiterTrimHead","delimiterTrimTail","stretched","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_IMPORT_0___","___CSS_LOADER_URL_REPLACEMENT_0___","___CSS_LOADER_URL_IMPORT_1___","___CSS_LOADER_URL_REPLACEMENT_1___","___CSS_LOADER_URL_IMPORT_2___","___CSS_LOADER_URL_IMPORT_3___","___CSS_LOADER_URL_IMPORT_4___","___CSS_LOADER_URL_IMPORT_5___","___CSS_LOADER_URL_IMPORT_6___","___CSS_LOADER_URL_IMPORT_7___","___CSS_LOADER_URL_IMPORT_8___","___CSS_LOADER_URL_IMPORT_9___","___CSS_LOADER_URL_IMPORT_10___","___CSS_LOADER_URL_IMPORT_11___","___CSS_LOADER_URL_IMPORT_12___","___CSS_LOADER_URL_IMPORT_13___","___CSS_LOADER_URL_IMPORT_14___","___CSS_LOADER_URL_IMPORT_15___","___CSS_LOADER_URL_IMPORT_16___","___CSS_LOADER_URL_IMPORT_17___","___CSS_LOADER_URL_IMPORT_18___","___CSS_LOADER_URL_IMPORT_19___","___CSS_LOADER_URL_IMPORT_20___","___CSS_LOADER_URL_IMPORT_21___","___CSS_LOADER_URL_IMPORT_22___","___CSS_LOADER_URL_IMPORT_23___","___CSS_LOADER_URL_IMPORT_24___","___CSS_LOADER_URL_IMPORT_25___","___CSS_LOADER_URL_IMPORT_26___","___CSS_LOADER_URL_IMPORT_27___","___CSS_LOADER_URL_IMPORT_28___","___CSS_LOADER_URL_IMPORT_29___","___CSS_LOADER_URL_REPLACEMENT_2___","___CSS_LOADER_URL_REPLACEMENT_3___","___CSS_LOADER_URL_REPLACEMENT_4___","___CSS_LOADER_URL_REPLACEMENT_5___","___CSS_LOADER_URL_REPLACEMENT_6___","___CSS_LOADER_URL_REPLACEMENT_7___","___CSS_LOADER_URL_REPLACEMENT_8___","___CSS_LOADER_URL_REPLACEMENT_9___","___CSS_LOADER_URL_REPLACEMENT_10___","___CSS_LOADER_URL_REPLACEMENT_11___","___CSS_LOADER_URL_REPLACEMENT_12___","___CSS_LOADER_URL_REPLACEMENT_13___","___CSS_LOADER_URL_REPLACEMENT_14___","___CSS_LOADER_URL_REPLACEMENT_15___","___CSS_LOADER_URL_REPLACEMENT_16___","___CSS_LOADER_URL_REPLACEMENT_17___","___CSS_LOADER_URL_REPLACEMENT_18___","___CSS_LOADER_URL_REPLACEMENT_19___","___CSS_LOADER_URL_REPLACEMENT_20___","___CSS_LOADER_URL_REPLACEMENT_21___","___CSS_LOADER_URL_REPLACEMENT_22___","___CSS_LOADER_URL_REPLACEMENT_23___","___CSS_LOADER_URL_REPLACEMENT_24___","___CSS_LOADER_URL_REPLACEMENT_25___","___CSS_LOADER_URL_REPLACEMENT_26___","___CSS_LOADER_URL_REPLACEMENT_27___","___CSS_LOADER_URL_REPLACEMENT_28___","___CSS_LOADER_URL_REPLACEMENT_29___","webpackContext","webpackContextResolve","__webpack_require__","arrayLikeToArray","OverloadYield","pump","asyncGeneratorStep","_next","_throw","isNativeReflectConstruct","toPropertyKey","superPropBase","objectWithoutPropertiesLoose","assertThisInitialized","regeneratorDefine","_regenerator","GeneratorFunctionPrototype","regeneratorAsyncGen","regenerator","regeneratorAsyncIterator","AsyncIterator","_regeneratorDefine","regeneratorAsync","regeneratorKeys","regeneratorValues","resultName","awrap","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","iterableToArray","arrayWithoutHoles","nonIterableSpread","AsyncGenerator","isNativeFunction","runtime","regeneratorRuntime","accidentalStrictMode","possibleNames","markTypes","_config$level","_config$type","camelCaseStr","timeSinceLastInvoke","_values","excludedValues","htmlEscapes","escapePattern","_predicate","pathSegments","openBracketInd","closeBracketInd","currObj","valueTag","valueKeys","otherKeys","_valueKeys","valueAtPath","mergeUndefinedResult","pathsToOmit","fullArgs","partialArg","truthy","falsy","currentArray","accItem","loadAxe","_loadAxe","_runTestAsync","fixture","ignoredRules","testOpts","runTestAsync","violation","isAccessible","accessible","isNotAccessible","arrayLastIndexOf","arraySplice","objectHasOwnProperty","cleanArray","CUSTOM_ELEMENT","NODE_TYPE","afterSanitizeAttributes","afterSanitizeElements","afterSanitizeShadowDOM","beforeSanitizeAttributes","beforeSanitizeElements","beforeSanitizeShadowDOM","uponSanitizeAttribute","uponSanitizeElement","uponSanitizeShadowNode","SAFE_FOR_XML","_createNodeIterator","SHOW_PROCESSING_INSTRUCTION","SHOW_CDATA_SECTION","_isClobbered","_executeHooks","_isBasicCustomElement","childClone","__removalCount","BUFFER","blobParts","relativeStart","relativeEnd","slicedBuffer","FetchError","systemError","INTERNALS","Body","_ref$timeout","disturbed","consumeBody","accumBytes","resTimeout","bodyUsed","getBoundary","extractContentType","getTotalBytes","getLengthSync","_lengthRetrievers","hasKnownLength","textConverted","convertBody","invalidTokenRegex","invalidHeaderCharRegex","validateName","validateValue","_headerNames","_pairs$i","createHeadersIterator","INTERNAL","HeadersIteratorPrototype","_INTERNAL","exportNodeCompatibleHeaders","hostHeaderKey","INTERNALS$1","redirected","INTERNALS$2","whatwgUrl","parse_url","format_url","urlStr","streamDestructionSupported","inputBody","isAbortSignal","follow","AbortError","URL$1","PassThrough$1","contentLengthValue","totalBytes","getNodeRequestOptions","destroyStream","reqTimeout","abortAndFinalize","socket","hadError","fixResponseChunkedTransferBadEnding","hasDataListener","createHeadersLenient","isRedirect","locationURL","requestOpts","isSameProtocol","response_options","codings","zlibOptions","zlib","writeToStream","__webpack_module_cache__","leafPrototypes","moduleId","cachedModule","__webpack_modules__","amdO","hmd","nmd","CONSTANTS","DEFAULTS","API_LOCALSTORAGE_KEY","API_CMS_CONFIG_CACHE_KEY","API_CMS_CONFIG_GUEST_CACHE_KEY","PDI_VERSION_MISMATCH_ALERT_KEY","VERSION_MISMATCH_ALERT_KEY","RETIRE_RELEASE_ALERT_KEY","API_HIBERNATE_IS_AWAKE_SESSION_STORAGE_KEY","API_TYPES","AZURE_BASE_URL","COUNTDOWN_LOCALSTORAGE_KEY","COPYRIGHT_YEAR","CACHE_KEY_CARD_IMAGES","CACHE_KEY_USER_SELECTED_VERSION","CACHE_KEY_VERSIONS","CACHE_KEY_WHATS_NEW_MODAL","CACHE_KEY_PLAYGROUND_WHATS_NEW_MODAL","COMPONENT_PAGE_ZIP_UP_LOCALSTORAGE_KEY","DEFAULT_NOW_EXPERIENCE_RELEASE","DEFAULT_RELEASE","DELAY_DEBOUNCE_MS","DELAY_TOOLTIP_MS","DELAY_SAVE_MS","DELAY_REMOVE_MS","DELAY_TOUCHED_MS","DISMISSED_ALERTS_KEY","DPS_APP_ID","DPS_COMPONENT_GALLERY_DEFAULT_SEARCH_PAYLOAD","availability","component_purpose","component_type","DPS_COMPONENT_GALLERY_DEFAULT_SN_SEARCH_PAYLOAD","internalOnly","DPS_COMPONENT_GALLERY_EMPTY_SEARCH_PAYLOAD","DPS_DATA_PROVIDER_ID","DPS_GLOBAL_HEADER_HEIGHT","DPS_GLOBAL_HEADER_HEIGHT_MD","DPS_GLOBAL_HEADER_HEIGHT_SM","DPS_PDI_USER_ROLES","ENDPOINT_URI","ERROR_PATH","EXPLICIT_LOGOUT_KEY","ICONS","IDLE","INITIAL_COUNTDOWN","IS_SIGNIN_CLICKED_SESSION_KEY","MAX_RETRIES","MAX_ITEMS_OPERATION_HISTORY","MAIN_URL","MINIMUM_AES_RELEASE","MINIMUM_NOW_EXPERIENCE_RELEASE","RELEASE_NOTES_URL","NAVLIST_LOCALSTORAGE_KEY","NO_CONTENT_FOUND_MESSAGE","PER_PAGE_OPTIONS","PDI_ROLE_LOOKUP","aes_creator","advanced","SECONDS_IN_MS","SESSION_MANAGEMENT_LOCALSTORAGE_KEY","SESSION_TIMED_OUT_KEY","SYSTEM_WIDE_ALERT_DISMISSED_KEY","SYSTEM_WIDE_ALERT_CONNECT_MVP_DISMISSED_KEY","SSO_DETECTION_MESSAGE","SSO_IFRAME_ID","SSO_RETURN_VALUE_KEY","USER_LOCALSTORAGE_KEY","USER_SESSION_TIMEOUT","USER_SESSION_POLL_INTERVAL","USER_SESSION_RELEASE","USER_SESSION_RELEASE_INITIALIZED","FEEDBACK_FORM_SUBMITTED_FROM_FLOATING_BUBBLE","FEEDBACK_FORM_SUBMITTED_FROM_FOOTER","FEEDBACK_FORM_SUBMITTED_FROM_ALERT","FEEDBACK_SIGN_IN_BUTTON","GUIDE_MODULE","API_MODULE","LP_MODULE","COURSE_MODULE","LP_CATEGORY","LP_MODULE_CATEGORY","COURSE_CATEGORY","COURSE_MODULE_CATEGORY","TUTORIAL_MODULE","FEEDBACK_CONTENT_TYPE_ARTICLE","FEEDBACK_CONTENT_TYPE_EXERCISE","ERROR_STATUS_USER_HAS_INSTANCE","PRISTINE_USER","AUTH_HOMEPAGE_NEW_USER_BANNER_KEY","DEV_PDI_VERSION_MISMATCH_ALERT_KEY","DEV_GENERAL_FEEDBACK_MODAL_QUERY_PARAM","CITIZEN_DEVELOPER_RELAY_STATE","UPDATE_STATE_SCHEDULE_IMMEDIATE","CHANGE_USER_ROLE","DEFAULT_USER_PDI_ROLE","INPUT_MAX_LENGTH","TOAST_HIDE_TIME","COMPONENT_GALLERY_FILTERS_LOCAL_STORAGE","DEV_PORTAL_ACTIONS","GET_INSTANCE_DETAILS","GET_INSTANCE_INFO","RELEASE_VERSIONS","RELEASE_VERSION_TOGGLE","USER_SESSION","GET_COURSE_DETAILS","GET_LP_COMPONENT_DATA","GET_LEARNING_MODULE_DATA","GET_COURSE_MODULE_DATA","LEARNING_PLANS_LIST","SEARCH","DASHBOARD_POPULAR_LATEST_CAROUSEL_DATA","DASHBOARD_QUEUE_REQUEST","DASHBOARD_LEAVE_QUEUE","DASHBOARD_USER_IN_QUEUE","DPS_DOCS_API_TRACKER","GET_ALL_INSTANCE_BACKUPS","VALIDATE_INSTANCE_BACKUP","SEND_INSTANCE_REQUEST_DATA","GET_INSTANCE_REQUEST_STATUS","GET_INSTANCE_AVAILABILITY_COUNT","BACKUP_INSTANCE","ENDPOINTS","API_INDEX_DATA","BOOKMARKED_COMPONENTS_V1","CHECK_INSTANCE_AWAKE","COMPONENT_AVAILABLE_CATEGORIES_V2","COMPONENT_ALL_CATEGORIES_V2","COMPONENT_GALLERY_V2","COMPONENT_SEARCH_V2","COMPONENT_SEARCH_V3","DEV_PORTAL_URI","DSE_ICONS_URL","FETCH_LEGAL_AGREEMENT_MODAL","GET_ACTION_MENU_ITEMS","GET_COMPONENTS_NAV","GET_DASHBOARD_CONTENT","GET_GUIDE_OVERVIEW_CARD_CONTENT","GET_GUIDE_OVERVIEW_PAGE_NAV_MENU","GET_LP_MODULE_DATA","GET_TUTORIAL_DATA","GET_SHARE_PROJECTS_DATA","GET_TRAINING_NAV","GETINSTANCE_INFO_ENDPOINT","GT_LP_LEARNING_PLANS","INSTANCE_BACKUP_VALIDATION","INSTANCE_OPERATION_HISTORY","LOG_404_PAGE_ENDPOINT","LOGOUT_URI","REFRESH_STATUS_URL","SEND_INSTANCE_RESET_PASSWORD_EMAIL","SSO_LOGIN_URL","SSO_LOGOUT_URL","SYSTEM_PROPERTIES","TRACK_API_VIST_DETAILS","GET_BOOKMARKS","UPDATE_BOOKMARK_STATUS","GET_MAGIC_LINK_URL","FETCH_USER_PROFILE_QUESTIONS","POST_USER_PROFILE_RESPONSES","POST_LEGAL_AGREEMENT_DATA","POST_ROLE_FROM_PROFILE_FORM","SOLR_SEARCH_ENDPOINT","ZING_SEARCH_ENDPOINT","RELATED_SEARCH_ENDPOINT","SOLR_SEARCH_AUTO_SUGGEST_ENDPOINT_V1","SOLR_SEARCH_AUTO_SUGGEST_ENDPOINT","SOLR_SEARCH_TRACK_SEARCH_CLICKS","URL_REDIRECTIONS","NOTIFY_UNPLANNED_MAINTENANCE","DC_IDENTIFIER_ROUTE_RESOLVER","GET_TUTORIALS_LANDING_PAGE_DATA","TUTORIAL_EXERCISE_LIST","UPDATE_TUTORIAL_EXERCISE_COMPLETION","CANCEL_REQUEST","COMMON_DATA","ERRORS","INVALID_SESSION","MODAL_COMP_NAMES","FULFILLING_EXPERIENCE_MODAL","COMMON_DATA_KEYS","SUGGESTED_PROMPTS","PROMPTING_TIPS","KEYCODE","UP_ARROW","DOWN_ARROW","LEFT_ARROW","RIGHT_ARROW","ERROR_CODES","UNAUTHORIZED","NOT_FOUND","ALERTS","UPGRADE_INSTANCE_ALERT","RESET_PASSWORD","RESET_PASSWORD_FAILED","ACTIVATE_PLUGIN","HIBERNATING_ALERT_ID","INSTANCE_READY","SENT_LOGIN_CREDS","SENT_LOGIN_CREDS_FAILED","MANAGE_EMAIL_POSITIVE_ENABLED","MANAGE_EMAIL_POSITIVE_DISABLED","MANAGE_EMAIL_NEGATIVE","BUILD_AGENT_OFFLINE","BUILD_AGENT_HIBERNATING","BUILD_AGENT_NOT_ADMIN","BUILD_AGENT_UPGRADE_REQUIRED","BUILD_AGENT_VIBE_CODING_NOT_AVAILABLE","BUILD_AGENT_WAITLIST","BUILD_AGENT_UPGRADING_INSTANCE","INACTIVITY_RECLAIM_ALERT_ID","NINETY_DAY_RECLAIM_ALERT_ID","INSTANCE_SETUP_COMPLETE","COMPONENT_NAME_PREFIX","CLEAR_CACHE_VARIABLES","MODULE_TRANSLATION","LANG_DISPLAY_NAME_BY_CODE","deu","esn","jpn","kor","VALID_LANG_CODES","DPS_COMPONENT_GALLERY_SEARCH","CATEGORIES","uib_page","uib_component","uib_modal","uib_facades","Content","Controls","Loaders","Containers","Inputs","Messaging","Utility","Other","BOOKMARKED_COMPONENTS","MULTIPLE_CATEGORIES_HEADING","UIB_CATEGORY","YOUR_BOOKMARKS","COMPONENT_OVERVIEW_UIB_ELEMENTS","facades","DPS_MODAL_ACTIONS","OPENED_SET","DPS_ERROR_ACTIONS","PAGE_NOT_FOUND","DPS_INSTANCE_MANAGEMENT","MENU_ITEM_CLICKED","INSTANCE_UNDER_MAINTENANCE","DPS_INSTANCE_ASSIGNMENT","DPS_INSTANCE_ASSIGNMENT_MODAL_CONSTANTS","WAITLIST_SCREEEN","REQUEST_SCREEN","LEAVE_SCREEN","RESTORE","DPS_INSTANCE_RELEASE_REASONS","FRESH_INSTANCE","OTHER_REASON","NO_LONGER_USING","DPS_NAV_INSTANCE_MANAGEMENT","REFRESH_STATUS_BUTTON_LABEL","REFRESHING","REFRESH","WAKE_INSTANCE","INSTANCE_STATE","FULFILLING_REQUEST","ONLINE","WAITLIST","RESTORE_INSTANCE","MENU_ITEMS","DPS_MAGIC_LINK_ACTIONS","GET_MAGIC_LINK_STATUS_SUCCEEDED","DPS_SEARCH_SECTION_NAMES","fullTitle","learn_section","reference_section","guides_section","community_section","share_section","blog_section","DPS_SITE_BANNER_TYPE","PROMOTION","WARNING","DPS_SITE_BANNER_VARIANTS","promotion","DPS_TOAST_ALERT_TYPES","SUCCESS","DPS_TOAST_ALERT_VARIANTS","instanceActionsList","INSTANCE_ACTION_LABELS","RESET_ADMIN_PASSWORD","RESET_AND_WIPE_INSTANCE","REMOVE_DEMO_DATA","RELEASE_INSTANCE","UPGRADE_INSTANCE","MANAGE_EMAIL_PROPERTIES","INSTANCE_ACTION_STATES","FIRST_TIME","OFFLINE","HIBERNATING","IS_MAINTENANCE","WAKEUP_INSTANCE","REQUEST_PROCESSING","REQUEST_IN_PROGRESS","WAKEUP_IN_PROGRESS","RESTART_IN_PROGRESS","RESTORE_IN_PROGRESS","OUTAGE_IN_PROGRESS","MAINTENANCE_IN_PROGRESS","FULFILLING","REQUESTING_INSTANCE","WAKING_INSTANCE_IN_PROGRESS","INSTANCE_HELPER_OBJ","contentText","iconType","USER_INSTANCE_STATES","instanceStateList","instanceRefreshStateList","INSTANCE_ASSIGNMENT_STATE_LIST","OPERATION_HISTORY_TYPES","empty_message","upgrade","INSTANCE_DISPLAY_STATUSES","display_state","additional_info","dashboard_show_spinner","dashboard_show_exclamation","status_icon","start_building_disabled","start_building_subtext","start_building_tooltip","resetAndWipe","wakeup","HTML_ENTITY_MAP","SEARCH_KEYWORD_ENCRYPTION","KEYWORD_LENGTH_FOR_AUTO_SUGGEST","CONNECT_ALERT_BANNER_MSG","connectBannerIcon","CONNECT_MVP_PAGE_HREF","APP_INSTALL_TEXT_LOOKUP","installed","APP_NAME_LOOKUP","RELEASE_MAP","newyork","sandiego","primaryPdiActions","secondaryPdiActions","sortPluginOptions","BUTTON_LABELS","UPGRADE_RELEASE","RELEASE_NOTES_TEXT","RESET_AND_WIPE","CANCEL","CLOSE","MODAL_HEADERS","OTHER_RELEASES","SELECT_UPGRADE_VERSION","MODAL_CONTENT","CHOOSE_YOUR_RELEASE","LATEST_RELEASE","INCLUDES_NOW_ASSIST","LATEST_BADGE","VIBE_CODE_TAG","VIEW_RELEASE_NOTES","FOOTER_ACTIONS","TWO_FOOTER_ACTIONS","LABELS","ACTIVATE_WITH_DEMO_DATA","ACTIVATE_WITHOUT_DEMO_DATA","VIEW_DETAILS","LINKS","PDI_GUIDE","PDI_FAQ","MANAGING_PDI","DEV_ADVOCATE_BLOG","ACTION_LABELS","RESET_WIPE_INSTANCE","SELECT_ACTION","RESET_INSTANCE_PASSWORD","DO_NOT_RESET","ALERT_CONTENT","DEFAULT_INSTANCE_STATE","PLUGIN_STATUS","ACTIVATION_IN_PROGRESS","NOT_ACTIVATED","ACTIVATED_WITH_DEMO_DATA","ACTIVATED_WITHOUT_DEMO_DATA","ACTIVATION_FAILED","COLORS","IN_PROGRESS_BG","NOT_ACTIVATED_BG","ACTIVATED_BG","FAILED_BG","DEMO_DATA_REMOVAL_WARNING","MANAGE_INSTANCE_LABELS","INSTANCE_MANAGE_TITLE","ACTIONS_PLACEHOLDER","CURRENT_VERSION_LABEL","LATEST_RELEASE_LABEL","INSTANCE_URL_LABEL","USER_NAME_LABEL","CURRENT_PASSWORD_LABEL","USER_ROLE_LABEL","SEARCH_PLACEHOLDER","FILTER_PLUGIN_LABEL","NO_PLUGIN_DATA_LABEL","DEMO_DATA_STATUS_FILTER_LABEL","ACTIVATION_STATUS_FILTER_LABEL","PLUGIN_COUNT_LABEL","STATUS","AGE_REMAINING_LABEL","LAST_LOGIN_LABEL","userRoleChangeSysId","secondaryPdiActionsText","DEMO_DATA_STATUSES","ACTIVATE_STATUSES","FILTER_MAP","ACTIVATION_STATUS_FILTER","DEMO_DATA_FILTER","COMPONENTS","AVAILABLE_PLUGINS","FILTERS","PAGINATION","PDI_ACTION","COMPLETE","SORT","ASC","DESC","HOMEPAGE_LABELS","GET_YOUR_FREE_INSTANCE","LEARN_MORE","JOIN_SERVICENOW_COMMUNITY","SEE_DETAILS","CAT_ITEM_ACTIONS_IDS","DPS_NAV_AUTH_HEADER","APP_ENGINE_STUDIO","CREATOR_STUDIO","EXPLORE_LEARNING","REQUEST_YOUR_INSTANCE_NOW","REQUEST_YOUR_INSTANCE","LEARN_WHAT_PDI_IS","BROWSE_COURSES","SEARCH_CONFIG","searchEvamConfigId","vaEvamDefinitionId","searchContextConfigId","searchContextConfigId_public","TABLES","DSE_DATA_MODEL","API_ITEM","SCR","SEISMIC_TECTONIC_DOCS","USAGE_DATA_MODEL","UIB_SETUP_DOCS","RESULT_TYPE","COMPONENT_API","COMPONENT_OVERVIEW","COMPONENT_USAGE","COMPONENT_UIB_SETUP_DOCS","SessionServiceImpl","callbackStack","headerUserToken","sessionManagement","userSessionTimeout","autoBind","checkSession","saveToStore","_ref2$user","is_logged_in","isSessionEmpty","cacheUser","inactivityService","startCountdown","afterSessionChecked","isSessionValid","sessionTimedOut","clearFromStore","clearUser","clearSession","generateSessionManagementObj","generateNewTimeout","hasCachedSessionManagement","hasCachedUser","reHydrateSessionManagement","reHydrateUser","loadFromStore","cachedSessionManagement","cachedUser","stopCountdown","afterSessionLogout","afterSessionTimedOut","afterStaleSessionLogout","triggerExpiredSessionModal","timeoutInSeconds","_sessionService","SessionService","AMB_EVENT_ACTIONS","AMB_SESSION_STATUS_CHANGED","AMB_SESSION_LOGGED_OUT","AMB_EVENT_CONNECTION_BROKEN","AMB_EVENT_CONNECTION_OPENED","SUBSCRIPTION_CHANGED","handleAmbEventConnectionBroken","handleAmbEventConnectionOpened","sessionLoggedIn","handleAmbSessionStatusChanged","handleSessionLoggedOut","handleSessionInvalidated","TIMEOUT_INTERVAL","BEHAVIOR_CONFIGURATION_KEY","DETECT_SSO_LOGIN_ACTIONS","CHECK_SSO","GET_SEAMLESS_SSO","GET_SEAMLESS_SSO_FAILED","GET_SEAMLESS_SSO_SUCCEEDED","SSO_LOGIN_COMPLETED","getAppProperties","propsMap","systemProperties","hasSystemProperties","hasUserInfo","handleCheckSSO","_getAppProperties","systemPropertyCheckedNum","autoLoginCheckEnabled","scriptVersionNum","seamlessScriptTag","checkSeamlessSession","keepAliveScriptTag","SSOSessionKeepAlive","handleGetSeamlessSSO","resultStatus","handleGetSeamlessSSOFailed","handleGetSeamlessSSOSucceeded","localStorageKey","saveToLocalStorage","ssoSessionPath","transformReleaseName","cityName","releaseId","unTransformReleaseName","releaseInfo","activeVersionsFormatted","Storage","throttledSave","storageType","storageInstance","DevPlatformStorage","DPS_NAVIGATION_INSTANCE_MANAGEMENT","AUTO_REFRESH_INSTANCE","INSTANCE_ACTION_CLICKED","MAGIC_LINK_CLICKED","REFRESH_STATUS","REFRESH_INSTANCE","REFRESH_INSTANCE_SUCCEEDED","REFRESH_INSTANCE_ERRORED","WAKE_UP_INSTANCE_STARTED","generateUpdatedQueryParams","_ref$existingQueryPar","existingQueryParams","fieldToUpdate","copyQueryParams","updatedFieldAndValue","getLocationHash","queryIdx","getUrlParams","_hash$split","_hash$split2","getPathArray","pathStr","getQueryParamsfromHash","_val$split","_val$split2","getSlug","urlArr","getCleanLocationHash","locationHash","removeQueryParamsAndUpdateURL","replacePathParam","routeString","paramValue","routePart","pathArray","releasePos","replaceLatest","cleanLocation","queryParamsToStr","getComponentGithubUrl","githubRepo","githubBranch","releaseSlug","getDevAssignmentGroupUrl","owning_team_sys_id","MEM_TEMP_KEY","MEM_STORAGE_SEND_SIGNAL","MEM_SESSION_STORAGE","MemStorageImpl","afterSessionStorageUpdate","tempKey","setupStorageListener","syncSessionStorage","sessionStorageFromOtherWindow","sessionStorageKeysToSync","keysToSync","sessionStorageToSync","sendSessionStorageFromOtherWindows","parseAndUpdateSessionStorage","normalizedKey","broadcastUpdate","_memStorage","MemStorage","componentLibInactive","hasComponentLibrary","releaseInactive","isInactiveRelease","version_selected","releaseExists","inactiveReleases","activeReleases","existingReleases","releaseInternal","isInternalRelease","isExistingRelease","internalReleases","getComputedRelease","getSelectedRelease","_ref4$release","_ref4$routeParams","routeParams","_ref4$systemPropertie","getSelectedVersion","defaultVersionSelected","userVersionSelected","minimumNowExperienceVersion","minRelease","isReleaseGTE","getAllReleasesInOrder","compareReleases","releaseA","releaseB","allReleases","indexA","indexB","isReleaseLT","isReleaseGT","sortReleasesChronologically","releases","getFilteredApiTypes","availableSysApiTypes","zurichOrNewer","isZurichOrNewer","getFormattedInstanceReleaseInfo","instanceInfo","formattedId","zurichIndex","getFilteredOtherReleases","otherReleases","docType","isNewDocType","otherRelease","_http$client","_http","reqInterceptors","serialized","isEmployee","userInfoPopulated","currentVal","_currentVal","calcStartAndEndOffsets","perPage","capitalizeWords","devPortalGetHttpEffect","_ref$headers","devPortalPostHttpEffect","execIfTruthy","_ref3$fn","_ref3$fnArgs","fnArgs","findParentNode","maxCalls","generateInitials","generateUrl","templateUrl","newUrlArr","getMonthLabel","formatSysParam","getUrlVars","hasUserInfoUpdated","prevUserInfo","newUserInfo","session_id","invertObject","isAMBEnabled","isSmallViewport","isTruthy","makeHttpEffectCreator","_ref6$batch","_ref6$dataParam","_ref6$headers","_ref6$method","_ref6$onError","_ref6$onSuccess","_ref6$pathParams","_ref6$queryParams","ACTION_TYPE","SUCCESS_ACTION_TYPE","ERROR_ACTION_TYPE","makeSnHttpFactory","_ref7$method","_ref7$defaultConfig","mergeObjects","checkHeaderUserToken","mergedObj","searchArray","terms","haystack","pathHasPasswordReset","pathHasDirectWakeup","onAnimationEnd","OAnimation","MozAnimation","WebkitAnimation","onTransitionEnd","OTransition","MozTransition","WebkitTransition","checkAndRedirectToAuth","redirectToAuth","isUserUnauthorizedToViewPage","currentUrl","isFeedbackOpened","isPathnameHasRegex","isHashHasRegex","getReleaseNotesUrl","releaseNotes","getPrintablePageUrl","moduleName","processTitleWithSpecialChars","returnTitle","titleStr","stripCodeTag","codeText","processPreTags","textObj","fullTag","escapedCodeText","resultText","preBlockRegex","codeBlockRegex","noClassCodeBlockRegex","xmlLangRegex","codeBlockLanguage","codeBlockObj","noClassCodeBlockObj","xmlLangPreTagObj","getShadowRootElement","pathList","returnElement","processBlockQuoteTags","blockquoteText","isPdiMismatchAlertDismissed","selectedRelease","alertReleaseObj","loadFromSessionStorage","releaseDismissed","shouldRemovePDIMismatchAlertFromSessionStorage","isPDIAlertDismissed","dismissed","removeFromSessionStorage","addDPSLink","matchObj","matchedHREF","openUrlInNewTab","filterThemeVariables","componentPackageTheme","customProperty","getFeedbackDisplayConfigurations","displayConfigurations","getKeyByValue","encryptSearchKeyword","decryptSearchKeyword","makeElementTypeLabelHeading","element_type","makeElementTypeLabelDistinct","getMenuItemForInstanceOperation","instanceMenuItems","filteredMenuItem","getAESAlertMessageText","releaseInstanceSysId","menuItem","aesAlertString","called_from","INSTALL_MANUALLY","InactivityServiceImpl","countdownStartedAt","thisStartedAt","cachedStartedAt","initialStart","countdown","cachedCountdownStartedAt","lastClientX","lastClientY","isScrollEvent","_ref$initialCountdown","initialCountdown","_ref$loadFromStore","_ref$saveToStore","_ref$sessionService","sessionService","noOpSessionService","pollingInterval","setCountdownStartedAt","checkForCountdownDelta","getCachedCountdownStartedAt","hasUserExplicitlyLoggedOut","staleSessionLogout","hasUserTimedOut","_inactivityService","InactivityService","INACTIVITY_MONITOR_ACTIONS","ACTIVITY_DETECTED","dispatchTouchedEvent","debouncedTouchedEvent","onMouseOrKeyboardActivity","hasAnyMovementOrActivity","hasMoved","hasPressed","hasScrolled","sessionIsAlive","_document$getElements","htmlEl","watchEvents","eventItem","_document$getElements3","APP_ACTIONS","API_DOC_BOOTSTRAPPED","AUTO_REFRESH_GET_INSTANCE_INFO","CHECK_OPERATION_COMPLETED","CHECK_URL_REDIRECTION","CLEAR_CACHE_TRIGGERED","CLEAR_OP_RESULT","CLOSE_CONTENT_FORM","CLOSE_GENERAL_FORM","CLOSE_NAV_HEADER","CLOSE_USER_PROFILE_MODAL","DPS_TOAST_ALERT","EXECUTE_CAT_ITEM","EXECUTE_CAT_ITEM_FAILED","EXECUTE_CAT_ITEM_FETCHED","EXECUTE_CAT_ITEM_FINISHED","EXECUTE_CAT_ITEM_STARTED","EXECUTE_CAT_ITEM_SUCCEEDED","EXPIRED_SESSION_MODAL_TRIGGERED","EXTEND_GLIDE_SESSION","GET_ACTION_MENU","GET_ACTION_MENU_FAILED","GET_ACTION_MENU_SUCCEEDED","GET_ALL_INSTANCE_BACKUPS_FAILED","GET_ALL_INSTANCE_BACKUPS_SUCCEEDED","GET_ASSIGN_REQ_STATUS","GET_ASSIGN_REQ_STATUS_FAILED","GET_ASSIGN_REQ_STATUS_SUCCEEDED","GET_AVAIL_PLUGINS","GET_AVAIL_PLUGINS_FAILED","GET_AVAIL_PLUGINS_SUCCEEDED","GET_BOOKMARKED_COMPONENTS","GET_BOOKMARKED_COMPONENTS_FAILED","GET_BOOKMARKED_COMPONENTS_SUCCEEDED","GET_COMPONENT_AVAILABLE_CATEGORIES","GET_COMPONENT_AVAILABLE_CATEGORIES_FAILED","GET_COMPONENT_AVAILABLE_CATEGORIES_SUCCEEDED","GET_COMPONENT_GALLERY","GET_COMPONENT_GALLERY_FAILED","GET_COMPONENT_GALLERY_SUCCEEDED","GET_COMPONENT_SEARCH","GET_COMPONENT_SEARCH_FAILED","GET_COMPONENT_SEARCH_SUCCEEDED","GET_COMMON_DATA","GET_COMMON_DATA_FAILED","GET_COMMON_DATA_SUCCEEDED","GET_CONTENT_FEEDBACK_FORM_DATA","GET_FEEDBACK_FORM_DATA_SUCCEEDED","GET_GENERAL_FEEDBACK_FORM_DATA","GET_INSTANCE_ASSIGNMENT_REQUEST_STATUS","GET_INSTANCE_DETAILS_FAILED","GET_INSTANCE_DETAILS_SUCCEEDED","GET_INSTANCE_INFO_FAILED","GET_INSTANCE_INFO_POST_RELEASE_INSTANCE","GET_INSTANCE_INFO_SUCCEEDED","GET_INSTANCE_OPERATION_HISTORY","GET_INSTANCE_COMPLETE_OPERATION_HISTORY","GET_INSTANCE_OPERATION_HISTORY_FAILED","GET_INSTANCE_OPERATION_HISTORY_SUCCEEDED","GET_INSTANCE_REQUEST_STATUS_FAILED","GET_INSTANCE_REQUEST_STATUS_SUCCEEDED","GET_LEAD_TRACKING_DATA","GET_LEAD_TRACKING_DATA_FAILED","GET_LEAD_TRACKING_DATA_SUCCEEDED","GET_LEGAL_AGREEMENT_DATA","GET_LEGAL_AGREEMENT_DATA_FAILED","GET_LEGAL_AGREEMENT_DATA_SUCCEEDED","GET_LP_LEARNING_PLANS","GET_OP_REQ_STATUS","GET_OP_REQ_STATUS_FAILED","GET_OP_REQ_STATUS_FETCHED","GET_OP_REQ_STATUS_FINISHED","GET_OP_REQ_STATUS_SUCCEEDED","GET_RELEASE_VERSIONS","GET_RELEASE_VERSIONS_FAILED","GET_RELEASE_VERSIONS_SUCCEEDED","GET_SYSTEM_PROPERTIES","GET_SYSTEM_PROPERTIES_FAILED","GET_SYSTEM_PROPERTIES_SUCCEEDED","GET_USER_SESSION","GET_USER_SESSION_FAILED","GET_USER_SESSION_SUCCEEDED","GET_URL_REDIRECTIONS","GET_URL_REDIRECTIONS_FAILED","GET_URL_REDIRECTIONS_SUCCEEDED","GIVE_CONTENT_FEEDBACK","GIVE_GENERAL_FEEDBACK","IS_INSTANCE_WAKEUP_COMPLETE","INSTANCE_STATE_PROGRESS_UPDATE","USER_PROFILE_QUESTIONS_FORM_COMPLETED","LOGIN_CLICKED","LOGOUT","LOGOUT_FAILED","LOGOUT_SUCCEEDED","LOGOUT_TRIGGERED","NAV_CONFIG_FETCH_REQ","NAV_CONFIG_FETCH_UNIVERSAL_REQ","NAV_CONFIG_FETCH_UNIVERSAL_SUCCEEDED","NAV_CONFIG_FETCH_SUCCEEDED","NAV_CONFIG_GUEST_FETCH_REQ","OPEN_NAV_HEADER","OPEN_USER_PROFILE_MODAL","OVERRIDE_INSTANCE_STATUS","PLAYGROUND_WHATS_NEW_UPDATE","PLAYGROUND_WHATS_NEW_UPDATE_ERRORED","PLAYGROUND_WHATS_NEW_UPDATE_POST","PLAYGROUND_WHATS_NEW_UPDATE_SUCCEEDED","PRISITNE_USER_REQUEST_INSTANCE_CLICKED","AUTO_ASSIGN_INSTANCE_REQUEST","QUICK_RESET_WIPE","QUICK_RESET_WIPE_WAKE_UP_INSTANCE","RECORD_ERR_MESSAGE","REFRESH_INSTANCE_BACKUP","REFRESH_INSTANCE_BACKUP_FAILED","REFRESH_INSTANCE_BACKUP_SUCCEEDED","REFRESH_INSTANCE_FAILED","RELEASE_CURRENT_INSTANCE","RELEASE_CURRENT_INSTANCE_FAILED","RELEASE_CURRENT_INSTANCE_STARTED","RELEASE_CURRENT_INSTANCE_SUCCEEDED","RELEASE_VERSION_SELECTED","ROUTE_CHANGED","SHOW_PROVISIONING_INSTANCE","RESET_EMAIL_ALERTS","SESSION_STORAGE_UPDATED","SET_USER_SESSION_RELEASE","SSO_IFRAME_LOADED","TOGGLE_COMPONENT_BOOKMARK","TOGGLE_COMPONENT_BOOKMARK_FAILED","TOGGLE_COMPONENT_BOOKMARK_SUCCEEDED","TRACKED_EVENT_FOR_ANALYTICS","UPDATE_INSTANCE_ACTION_MENU","UPDATE_INSTANCE_STATE","UPDATE_MAGIC_LINK","UPDATE_MAGIC_LINK_FAILED","UPDATE_MAGIC_LINK_SUCCEEDED","USER_IN_WAITLIST_FAILED","USER_IN_WAITLIST_REQUEST","USER_IN_WAITLIST_SUCCEEDED","USER_RESET_AND_LOGOUT","USER_SESSION_CLEARED","USER_SESSION_EXPIRED","USER_SESSION_INFO_INITIALIZED","USER_SESSION_TIMED_OUT","USER_SESSION_TIMEOUT_FETCHED","USER_SESSION_TIMEOUT_INITIALIZED","WAKE_UP_INSTANCE","WHATS_NEW_UPDATE","WHATS_NEW_UPDATE_ERRORED","WHATS_NEW_UPDATE_POST","WHATS_NEW_UPDATE_SUCCEEDED","WAKE_UP_INSTANCE_TRIGGER","USER_PROFILE_MODAL_SEND_USER_PROFILE_QUESTIONS","USER_PROFILE_MODAL_SEND_USER_PROFILE_QUESTIONS_SUCCEEDED","USER_PROFILE_MODAL_SEND_USER_PROFILE_QUESTIONS_FAILED","QUESTION_SUBMISSION_IN_PROGRESS","UPDATE_LAST_REQUESTED_RELEASE","UPDATE_SEARCH_ROUTE","ALERT_OPEN_FEEDBACK","ALERT_OPEN_INSTANCE_ASSIGNMENT_MODAL","UNPLANNED_MAINTENANCE_NOTIFICATION","UNPLANNED_MAINTENANCE_NOTIFICATION_SUCCEEDED","UNPLANNED_MAINTENANCE_NOTIFICATION_ERRORED","GET_DC_IDENTIFIER_ROUTE_REDIRECTION","UPDATE_SUGGESTION_PAYLOAD","CANCEL_REQUEST_RESULT","SET_INSTSANCE_REQUEST_ALERT_ID","ONEXNAV","SEARCH_ICON_CLICKED","SEARCH_INPUT_CHANGED","HEADER_LOGO_CLICKED","NAV_ITEM_SELECTED","UTILITY_MENU_ITEM_CLICKED","SECONDARY_CTA_BUTTON_CLICKED","REQUEST_INSTANCE","LEAVE_WAITLIST","SN_CX_NAVIGATION_MENU_ITEM_CLICKED","DPS_NAVIGATION_ONEX_NAV_CTA_CLICKED","SHOW_FULFILLING_INSTANCE_MODAL","CLOSE_FULFILLING_INSTANCE_MODAL","NAV_SEARCH_ICON","SAVE_BUILD_AGENT_CONVERSATION_SURVEY_STATUS","SAVE_BUILD_AGENT_CONVERSATION_SURVEY_STATUS_SUCCEEDED","SAVE_BUILD_AGENT_CONVERSATION_SURVEY_STATUS_FAILED","AUTO_ASSIGN_RUN_IN_BACKGROUND","HIDE_BA_SETUP_ALERT","BA_WAKEUP_PROMPT_CANCELLED","DPS_LEGAL_AGREEMENT_ACTIONS","BUTTON_DECLINE","CLOSE_FORM","DOCUMENT_SEND_ERRORED","DOCUMENT_SEND_SUCCEEDED","DOCUMENT_SEND","DPS_MODAL_OPENED_SET","FORM_COMPLETED","FORM_DATA_POST","FORM_ERRORED","FORM_RESET","FORM_SUBMIT","FORM_SUCCEEDED","GO_BACK","INPUT_CHANGE","OPEN_FORM","USER_DECLINED","DPS_LEAD_TRACKING_ACTIONS","COMPLETED","DROPDOWN_CHANGE","FORM_ELOQUA_DATA_POST","FORM_ELOQUA_ERRORED","FORM_ELOQUA_SUCCEEDED","GET_GDPR_ERRORED","GET_GDPR_SUCCEEDED","GET_GDPR","TEXTAREA_CHANGE","DPS_INLINE_VERSION_SELECTOR_ACTIONS","RELEASE_SELECTED","PDI_MISMATCH_ALERT_DISMISSED","DPS_INSTANCE_ASSIGNMENT_MODAL","ADD_TO_WAITLIST","ADD_TO_WAITLIST_FAILED","ADD_TO_WAITLIST_REQUEST","ADD_TO_WAITLIST_SUCCEEDED","BA_AUTO_ASSIGN_CANCEL","BA_AUTO_ASSIGN_CLOSE_ERROR","BA_AUTO_ASSIGN_RETRY","BA_AUTO_ASSIGN_DISMISS","BA_AUTO_ASSIGN_MANAGE","BA_AUTO_ASSIGN_RESUME","BA_AUTO_ASSIGN_RUN_IN_BACKGROUND","BA_AUTO_ASSIGN_START_BUILDING","OPEN_BA_WAKEUP_MODAL","CHECK_LATEST_RELEASE_AVAILABILITY","DPS_SHADE_CLICKED","GET_INSTANCE_AVAILABILITY_COUNT_FAILED","GET_INSTANCE_AVAILABILITY_COUNT_SUCCEEDED","GET_INSTANCE_INFO_POST_INSTANCE_REQUEST","GET_INSTANCE_REQUEST_STATUS_ERRORRED","GET_INSTANCE_REQUEST_STATUS_SUCCESSED","CONFIRM_INSTANCE_POLICY","INSTANCE_ASSIGNMENT_REQUEST_STATUS","INSTANCE_REQUEST","INSTANCE_REQUEST_ERRORRED","INSTANCE_REQUEST_SUCCESSED","LEAVE_WAITLIST_FAILED","LEAVE_WAITLIST_REQUEST","LEAVE_WAITLIST_SUCCEEDED","OPEN_BA_AUTO_ASSIGN_MODAL","QUICK_RESET_WIPE_MESSAGE_CLOSED","REQUEST_INSTANCE_AVAILABILITY_COUNT","RESTORE_BACKUP","RESTORE_BACKUP_INITIATED","SET_MODAL","USER_IN_WAITLIST","WAITLIST_REQUEST","PDI_PROVISIONING_SUCCESS_CUSTOM_HOOK","CHECK_QUALTRICS_SURVEY_STATUS","CHECK_QUALTRICS_SURVEY_STATUS_SUCCEEDED","CHECK_QUALTRICS_SURVEY_STATUS_FAILED","SAVE_QUALTRICS_SURVEY_STATUS","SAVE_QUALTRICS_SURVEY_STATUS_SUCCEEDED","SAVE_QUALTRICS_SURVEY_STATUS_FAILED","DPS_INSTANCE_MODAL_ACTIONS","CLOSE_MODAL","CONFIRMATION_DONE_CLICKED","FETCH_AVAILABLE_PLUGINS","FETCH_INSTANCE_OPERATION_HISTORY","FILTER_PLUGINS","SELECTED_UPGRADE","CONFIRMATION_CHECKED","GET_AVAILABLE_INSTANCE_COUNT","GET_AVAILABLE_INSTANCE_COUNT_SUCCEEDED","RESET_WIPE_TYPE_SELECTED","SET_QUICK_RESET_WIPE_STATUS","TEXT_FIELD_UPDATED","DROPDOWN_OPTION_SELECTED","RESET_LINK_CLICKED","SEND_RECIEVE_EMAIL_CHECKBOX_CLICKED","GET_SEND_RECIEVE_EMAIL_DATA","GET_SEND_RECIEVE_EMAIL_DATA_SUCCEEDED","SEND_RESET_PASSWORD_EMAIL","INSTANCE_ACTIONS","RESET_ACTIVITY_TIMER","DPS_INSTANCE_SIDEBAR","ASSIGNMENT_MENU_ITEM_CLICKED","OPERATION_MENU_ITEM_CLICKED","DPS_SITE_BANNER_ACTIONS","BANNER_CLOSED","BANNER_HEIGHT_SET","DPS_TOAST_ALERT_ACTIONS","ALERT_DISMISSED","CANCEL_TIMER","START_TIMER","showRequestInstance","restoration_progress","getLaunchUrl","launchSettings","appsInstalled","matchedApp","appKey","sanitizeDate","formatDate","formatInstanceActionMenu","_ref$catItemInProgres","catItemInProgress","_ref$instanceStatus","instanceStatus","_ref$isInstanceRefres","isInstanceRefreshing","_ref$isUnderMaintenan","isUnderMaintenance","_ref$upgradeableInsta","upgradeableInstanceTargets","isQuickResetAndWipeInProgress","_ref$systemProperties","_ref$instanceInfo","needsPolling","isDisabledCatItem","isQuickResetInProgress","hideOfflineAlert","isWaitlisted","isPendingRequestforInstance","isRestoringInstance","isfulfillingRequest","underUnplannedMaintenance","isRestartInProgress","catItem","isOffline","ishibernating","isWakingInstance","isRefreshingInstance","isChangingUserRole","catItemSysId","isStartBuildingButtonDisabled","_ref3$instanceInfo","isInstanceRestoreInProgress","isInstanceInfoAndActionMenuNotAvail","isPluginActivateInProgress","isInstanceBeingFulfilled","isResetAdminPasswordInProgress","isOperationComplete","isUpdateInProgress","showOpResultBySysId","userHasInstance","instanceState","removeHashBang","addHashBang","getAnchorOrigin","decodeExceptSlash","extractParams","queryParamsRegex","removeQueryParams","extractedParams","getQueryParams","paramsObject","getRawQueryParams","_constructInterceptorPipeline","interceptorType","interceptorCallbacks","generateInterceptorObj","afterInterceptors","beforeInterceptors","DPS_APP_DEFAULTS","USER","about_me","accepted_early_access","company_id","display_name","has_read_inactivity_policy","is_admin","is_legal_signed","is_vendor","leadTracking","login_result","needs_reset","oktaLoggedIn","skills","user_id","user_instance_release","instanceBackupList","appBootstrap","getUserInfo","getSystemProperties","getReleaseVersions","verifyCachedNavData","loadCachedNavData","getUrlRedirections","getInstanceDetails","sysparm_data","getInstanceInfo","direct_wake_up","validateInstanceBackup","getAllInstancebackups","sysparm_okta","urlRedirections","initializeInstanceState","statusToCheck","methodPrefix","cachedNavData","loadFromLocalStorage","cachedNavGuestData","loadAuthorizedUserMetaData","navigationConfig","setCMSHeaderConfiguration","system_properties","observeLocalStorage","ambEnabled","pollForInstanceInfo","instanceManagement","isRefreshInProgress","instanceRefreshCount","refreshThreshold","waitInterval","pollIntervalValue","maxRefreshPollCount","lastInfoUpdatedDate","ins_id","pollForUserSession","pollInterval","timeInMs","cachedCMSHeader","cms_navigation_menu","cms_navigation_menu_guest","nextAction","dev_api_hash_keys","_JSON$parse","isHashKeyMatched","navigationHashkey","showLegalModal","isLegalSigned","showUserProfileModal","show_user_profile_modal","isUserModalProfileEnabled","showLeadTrackingModal","leadTrackingCompleted","isLeadTrackingSigned","isLeadTrackingEnabled","setInstanceBackupList","getInstanceBackupList","guestCMSCache","lastUpdated","removeFromLocalStorage","requestInstanceButtonClicked","_releaseInfo$availabl","_ref13$isBuildAgentEx","isBuildAgentExperience","userType","availableVersions","updateInstanceMenuItem","refreshStatusInterval","refreshPollCount","handleInstanceRefresh","getHeaderUserToken","handleGetInstanceInfo","fetchGetInstanceInfo","autoRefreshFetchInstanceInfo","instanceActionMenu","DPS_APP_INITIAL_STATE","FOOTER_PROPS","siteMap","isLinkOpenNewWindow","INSTANCE_MANAGEMENT","availablePlugins","executeCatItem","executeCatItemResult","instanceWakeUpPollCount","isFetchingOpRequest","operationHistory","completeOperationHistory","opRequestId","opResult","opRetryNum","INSTANCE_INFO","btn_extend_instance_tooltip","canUpgrade","daysSinceExtended","display_btn_extend_instance","forced_maintenance","full_release","inactivityWarningSent","lastActivityHint","lastInfoUpdated","latestDocLink","remainingInactivityDays","remainingInactivityDaysUnitStr","remainingAgeDays","maxExpiryDays","inactivityDays","shortDesc","timeToLastActivity","upgradeVersion","wakeupInProgress","NAVIGATION_CONFIG","RELEASES","isFetchingReleases","isFetchSuccessful","failedFetchingSystemProperties","footerProps","instanceAssignmentPollCount","magicLink","toastMessages","nowAlertMessages","wakeupOperationRequestId","userInfoLoaded","bannerList","onexMenu","isAMBSessionRestablished","handleClearOpResult","clearOpResult","_DPS_APP_INITIAL_STAT","refetchUserInfo","updateMagicLink","GET_INSTANCE_INFO_ERRORED","isOperationSuccessful","isNonPollingOperationSuccessful","operationType","isReleaseInstanceOperationSuccessful","handleGetInstanceInfoSucceeded","isPolling","handleGetInstanceInfoErrored","checkIfQuickResetWipeOperation","additionalParams","quickResetWipeOperation","disableInstanceModalClose","executeCatItemFailed","_meta$request$params$","_meta$request$params$2","changedRole","isQuickResetWipeInProgress","instancePassword","tempPassword","changedPdiUserRole","op_req_id","isPdiSummary","pluginId","getSysIdForCatItemInProgress","fetchOpReqFailed","upgradeInstanceItem","fetchActionMenu","isFetchingActionMenuSuccessful","upgradeTarget","in_progress","upgradeCatItem","fetchAssignReqStatus","fetchAvailPlugins","isFetchingAvailablePluginsSuccessful","isLoadingPlugins","fetchLeadTracking","failedToLoadContent","countryNames","formQuestions","_action$payload$resul","lead_tracking_info","countryList","gdpr_consent","rolesList","zipCodeRegex","questionOne","questionTwo","other_text_max_chars","tell_us_more_max_chars","question_one_other","question_two_other","country","formQuestionOne","formQuestionTwo","leadTrackingProps","questionOneOtherErrorText","questionTwoOtherErrorText","maxChars","charsLeft","maxOtherChars","gdprConsent","fetchCommonData","commonData","handleFetchInstanceBackupsFailed","handleFetchInstanceBackupsSucceeded","BUILD_AGENT_CONVERSATION_SURVEY_KEY","QUALTRICS_LOAD_TIMEOUT","QUALTRICS_POLL_INTERVAL","waitForQualtricsToLoad","QSI","API","handleLearningSurveySuccess","_pendingLearningSurveys","pendingKeys","mostRecentKey","mostRecentTimestamp","pendingData","learningId","learningType","userId","markSurveyShown","executeQualtricsAPI","triggerQualtricsAPI","_qsie","eventCount","timeoutSeconds","waitTime","_qsieWaitStart","triggerLearningSurvey","learningName","saveAction","releaseSysId","event_type","created_at","customEventData","pendingKey","release_sys_id","customLearningCompletionCallback","shouldTriggerSurvey","surveyFlag","surveyKey","alreadyShown","shouldTrigger","cleanupQualtricsData","_ref3$clearQueue","clearQueue","_ref3$clearPendingDat","clearPendingData","_ref3$clearFlags","clearFlags","pendingCount","_buildAgentSurveyInFlight","_buildAgentSurveyTriggeredInSession","triggerBuildAgentConversationSurvey","shouldTriggerBuildAgentConversationSurvey","checkWaitlistSurveyTrigger","was_waitlisted","assigned_date","instanceUrl","assignedDate","surveyShownKey","localSurveyShown","checkAndTriggerSurvey","canQualtricsSurveyLaunch","triggerQualtricsSurvey","configObj","failedInstanceInfoFetch","failedInstanceInfoCount","handleGetInstanceInfoFailed","_data$instanceInfo","assignReqId","isFirstCall","hasOpStatus","opStatus","isSurveyOnForBuildAgentConversion","sessionKey","triggeredInSession","sessionStorageValue","inMemoryFlag","setUserSessionRelease","isOnline","isInstanceModalOpened","selectedCatItemId","saveToSessionStorage","assign_req_id","instanceRelease","hasUserSessionReleaseInitialized","fetchInstanceOperationHistory","isFetchingOperationHistorySuccessful","isLoadingOperationHistory","totalNumberOfOperations","totalNum","fetchCompleteInstanceOperationHistory","fetchLegalAgreement","isLegalAgreementModalOpened","current_agreement","signed","signed_previous_legal","leadTrackSwitch","_action$payload$resul2","legalAgreementProps","legalText","agreementText","signedPrevious","leadSwitch","handlNewNavConfigRequested","handleNavConfigRequested","handleNavConfigGuestRequested","handleNavConfigFetchSucceeded","hashKey","handleNewNavConfigFetchSucceeded","_payload$result$","OP_REQUEST_TYPE","SUCCESS_AND_INCOMPLETE","SUCCESS_AND_IN_PROGRESS","SUCCESS_AND_COMPLETE","IN_PROGRESS","getOpRequestType","isResponseSuccessful","isOpRequestComplete","isOpRequestErrored","isOpRequestInProgress","isOpRequestSubmitted","getResultMessage","fetchOpReqStatus","clientPollInterval","clientPollMaxNum","_state$instanceManage","opRequestType","isActivatingPlugin","isUpgradingInstance","isRetryWithinLimit","handleGetFetchReleaseVersions","handleGetFetchReleaseVersionsFailed","failedReleaseVersionsCount","handleGetFetchReleaseVersionsSucceeded","version_selector","userVersionFromStorage","selected_version","active_versions_formatted","available_versions","releaseImages","release_images","release_notes","inactive_releases","inactive_versions","latestRelease","latest_release","fetchReleaseVersions","handleReleaseVersionToggle","fetchSystemProperties","fetchUpdateMagicLink","storageName","messageText","unSetEmployeeLogoutNoticeStorage","matchingToastMessage","toastMessage","setEmployeeLogoutNoticeStorage","showEmployeeLogoutNotice","isEmployeeLogoutNoticeShown","waitToShowAlert","closable","handleGetUserSession","failedUserSessionFetch","failedUserSessionCount","handleGetUserSessionFailed","updateQualtricsObject","qualtrics_data","first_name","last_name","hasPDI","isFirstTimeUser","is_first_time_user","userAccountCreatedDate","created_on","authenticated","isImpersonated","lastLoggedIn","last_login","acceptedEarlyAccess","company","company_name","jobFunction","job_responsibilities","jobLevel","job_level","jobRole","preferred_language","pdiUserRole","pdi_user_role","handleGetUserSessionSucceeded","show_playground_whats_new_modal","isBlockedUser","show_whats_new_modal","playgroundModalShownUserSettings","playgroundModalShownLocalStorage","isPlaygroundWhatsNewModalOpened","shouldLoadAdditionalMetaData","currentChangedRole","isWhatsNewModalOpened","callCheckSessionAsync","handleCheckUrlRedirection","urlRedirectionRule","urlRedirection","old_url","newUrlLocation","new_url","handleUserLogout","handleUserResetAndLogout","handleUserSessionCleared","devOktaBaseUrl","devBaseUrl","fromURI","handleUserSessionInfoInitialized","handleUserSessionTimeoutFetched","userSessionTimeoutInSeconds","setUserSessionTimeout","handleGetInstanceDetailsFailed","handleGetInstanceDetailsSucceeded","isAwake","isHibernating","instanceSysID","refreshInstance","handleRefreshInstanceBackupFailed","handleRefreshInstanceBackupSucceeded","INSTANCE_ASSIGNMENT_STATUS","ASSIGNMENT_FAILED","ASSIGNMENT_SUCCESS","STATE_ONLINE","STATE_HIBERNATING","handleQuickResetWipe","req_id","isQuickResetAndWipeDuplicate","showOperationFailedMessage","handleInstanceAssignmentRequestStatus","handleInstanceAssignmentRequestStatusSucceeded","maxPollCount","showOperationSuccessMessage","instance_status","handleInstanceAssignmentRequestStatusFailed","handleInstanceInfoPostReleaseInstance","instanceAssignmentModalScreenType","isInstanceAssignmentModalOpened","isOpenedFromQuickResetWipe","instanceAssignmentDetails","temp_password","loginURL","displayURL","handleGetAvailableInstanceCount","handleGetAvailableInstanceCountSucceeded","isInstanceAvailableInSamePatch","availableInstanceCount","fetchUrlRedirections","fetchDCIdentifierRouteRedirection","_objectDestructuringEmpty","redirectedRoute","defaultDescription","metaTag","default_tag","home","learn","course","guide","nowPlatform","nowExperience","personalDeveloperInstanceGuide","earlyAccessGuide","nowComponentLibrary","community","createMetaNameTag","description_tag","createMetaPropertyTag","setMetaByPageType","setMetaByValues","_ref$description","defaultTitle","newTitle","setMetaTitle","setMetaDescription","ogTitle","twitterTitle","metaDescription","ogDescription","DevPlatformHome","innerSVG","imgIcon","hasAction","internalAction","externalAction","renderSVG","DPSButton","linkStyle","hasButtonAndIcon","warningLight","newIcons","DPSLink","buttonStyle","buttonVariant","roundedEdge","extraClassName","secondary","tertiary","servicenow","_renderServicenowBadge","alwaysCollapsed","tooltipPosition","iconColor","servicenowLabel","tooltipRef","DpsContentStack","metaData2","subTitle","titleTag","hasIcon","hasMetaData","hasMetaData2","hasSubTitle","hasTitle","contentStackHeader","DpsCard","hasBorder","borderVariant","rating","DPSCardContainer","inlineStyles","gridTemplateColumns","fadeOut","actionLabel","hrefTarget","authUser","adobe","backgroundImage","DPS_AD_CARDS_CONNECTED_ACTIONS","COLLAPSABLE_EVENTS_TOGGLE","_renderCard","cta","isExternalLink","addCollapableEventsLink","cards","isDashboard","loadingCards","cardFetchError","adCardsCount","card","DPS_AD_CARDS_CONNECTED","FETCH","dashboard","u_image","u_card_body","u_card_type","u_url","u_cta","notIndicator","neverIndicator","scrollIntoViewport","buttonText","willWrap","statusOrColor","_renderAPIsAndLibrariesCard","filterAPICards","includedVersin","isAuthPage","CAROUSEL_TRACK_ELM","CAROUSEL_WIDTH","CURRENT_INDEX","DISABLE_LOOPING","HAS_STARTED","HORIZONTAL","INDICATOR","INDICATOR_CLICKED_IDX","INDICATORS","IS_TRANSITION_PENDING","SCROLL_DIRECTION","CONTENT","SN_CAROUSEL","CONTENT_CONTAINER_ELM","RTL","TITLE","ENABLE_AUTOSCROLL","PAUSE_AUTOSCROLL","ACTION_INDICATOR_CLICKED","ACTION_LINK_CLICKED","ACTION_INDICATOR_INDEX_UPDATED","ACTION_RECALCULATE_INDICATORS","ACTION_SLOT_CHANGE","ACTION_SCROLL","ACTION_TOUCH_END","ACTION_TRANSITION_END","ACTION_UPDATE_INDICATORS","ACTION_FOCUS_IN_ITEM","NOW_BUTTON_BARE_CLICKED","ACTION_ARROW_KEY_PRESSED","ACTION_AUTO_SCROLL_START","ACTION_AUTO_SCROLL_STOP","ACTION_AUTO_SCROLL_PAUSED","CAROUSEL_INITIAL_LOAD","NAVIGATION_INTERACTION","ARROW","ARROWS","CAROUSEL_LABEL","CAROUSEL_FOOTER","CAROUSEL_HEADER","CAROUSEL_HEADER_ABSENT","CAROUSEL_TRACK","CAROUSEL_WRAPPER","DISABLED","EMPTY_STATE","GRADIENT","HEADER_LINK","HIDE","ICON","MARGIN_LEFT","MARGIN_RIGHT","SCROLLING","SELECTED","SHOW","SHOW_ARROWS","TITLE_WRAPPER","BADGE","TRANSITION_TIME","ADD_ATTACHMENT","ADD_DATA","COMPLETED_TASKS","FIRST_TIME_USER","INTERRUPTED","NO_ACTIVITIES","NO_DATA","NO_SEARCH_RESULTS","PERMISSIONS","UNCONFIGURED","EMPTY_STATE_LABEL","DARK","PRIMARY","SECONDARY","TERTIARY","GRADIENT_WIDTH","LEFT_MOST_PADDING","RIGHT_MARGIN_WIDTH","LEFT_ARROW_ICON","NEXT","FORWARD","PREVIOUS","BACKWARD","RIGHT_ARROW_ICON","PAUSE_LABEL","PLAY_LABEL","PAUSE_ICON","PLAY_ICON","PAUSE","PLAY","BOTTOM_LEFT","BOTTOM_RIGHT","BOTTOM_SPLIT","CENTER","FILL","OUTLINE","ITEMS_IN_VIEW","MULTIPLE_ITEMS_IN_VIEW","SINGLE_ITEM_IN_VIEW","SINGLE_ITEM_ON_ZOOM","INTEGER","NEXT_SET_OF_ITEMS","SINGLE_ITEM","SLIDING_TYPE","TITLE_LEVEL_1","TITLE_LEVEL_2","TITLE_LEVEL_3","TITLE_LEVEL_4","TITLE_LEVEL_5","TITLE_LEVEL_6","HEADER_PRIMARY","HEADER_SECONDARY","HEADER_TERTIARY","TITLE_PRIMARY","TITLE_SECONDARY","TITLE_TERTIARY","ENTER_KEY","ARROW_LEFT","ARROW_RIGHT","AUTO_SCROLL_INTERVAL_ID_DEFAULT","VISIBILITY_OBSERVER","IS_HOST_VISIBLE","duplicateComponent","duplicateNode","setDuplicateAttribute","setupDuplicate","deleteDuplicates","hostNode","contentContainerElm","resetPositions","createDuplicates","contentElms","itemsInView","slidingType","carouselWidth","onResize","allComponents","_node$style","componentsAdded","duplicateLastItem","duplicateFirstItem","lastSet","firstSet","currentSetWidth","currentSet","remainingLength","findDuplicates","isDuplicate","findStartingDuplicates","_component$getAttribu","_component$getAttribu2","findOriginals","swapDuplicates","originalComponent","nextElementSibling","_node$getAttribute","_node$getAttribute2","prePosition","originalIndex","isElementVisible","getContentWidth","disableLooping","areComponentsInitialized","transformComponents","performSwap","inViewComponents","getComponentsInView","getTranslation","transformValue","matchValue","calculateIndicators","carouselTrackElm","contentCount","indicators","contentWidth","startingDuplicates","currentComponentIdx","checkWidth","firstIndicator","lastIndicator","loopTranslate","includePartials","componentIdx","hiddenWidth","prevHiddenWidth","accumalatedWidth","componentWidth","autoScrollStart","enableAutoScroll","autoScrollSpeed","pauseAutoScroll","autoScrollIntervalId","scrollDirection","autoScrollStop","getActionType","updateComponentStyle","copyStyle","setComponentMargins","marginWidth","setupComponents","loopingChanged","addDuplicatesOnResize","isSwapping","isHostVisible","newContentElms","newContentCount","_node$style2","focusinEventHandler","carouselItemFocusinHandler","contentChanged","isSameNode","fitsContainer","slotChangeEvent","setupIndicators","hasStarted","selectedIndex","numIndicators","didRender","carouselTitle","titleVariant","titlePosition","hideLink","linkIcon","navStyle","navPosition","gradientStyle","hideDotIndicator","numberOfIndicators","recalculateIndicators","originalIndicators","prevContentWidth","widthChanged","handleResize","updateNavigationFocus","scrollEffect","isTransitionPending","looped","useLoopTranslate","indicatorClickedEffect","indicatorClickedIdx","nextIndicator","transitionEndEffect","swipeEffect","touchStart","touchMove","setupVisibilityObserver","disconnectObserver","isZoomedIn","updateItemsInView","visibilityObserver","singleItemOnZoom","propertyChanged","propItemsInView","autoScrollAction","indicatorIdx","getIndicators","indicatorSelected","indicatorId","ulElem","nextIdx","getDisplayArrowClass","arrowType","getNavigationControls","showCompactView","displayLeftArrow","displayRightArrow","showTitle","hideTitle","displayTitle","disableTextWrapping","titleLevel","badgeConfig","badge","showHeaderLink","linkText","displayHeaderLink","displayHeader","displayFooter","indicatorClasses","displayEmptyState","emptyStateLabel","emptyStateContent","emptyStateIllustration","leftGradientStyle","rightGradientStyle","roleDesc","ariaLabelledBy","_renderButtons","_renderSlotContent","originalItem","addIds","getAriaLabel","renderDropdowns","dropdowns","openDropdowns","dropdown","dropdownId","actionsOverflowLabel","actionDropdownOpen","tooltipText","actionDropdown","renderCardInteraction","renderTagLine","_tagline$variant","_heading$level","_heading$size","_heading$variant","_heading$lines","renderCaption","_caption$size","_caption$lines","renderHeadingContainer","topAlign","blockSpacing","elementIsFocusable","sidebar","hideShadow","pressed","slotOnRelease","nowCardContainer","onToggleClicked","renderLabelContainer","toggleId","newsAndEventsIconsMap","DPS_NAVIGATION_AUTH_HOME","MANAGE_PDI_ACTIONS","handleOnExecuteCatItem","cat_item_id","_ref$additionalParams","getInstanceCountDetails","releaseName","constructClickTrackingData","pageArea","ctaText","hasDismissedAlertThisSession","status_class","isFollowedByEllipsis","Hibernating","Online","Offline","MANAGE_INSTANCE_RELEASE_REASONS","TEXTAREA_MAX_LENGTH","TEXTAREA_PLACE_HOLDER","REQUEST_SUBMITTED_MESSAGE","HELPER_TEXT_GET_FRESH_INSTANCE","UNCONFIGURE_ALT","COMPLETED_TASK","RELEASE_INSTANCE_LABEL","RESET_WIPE","RESET_WIPE_NOTE","INSTANCE_NAME_PROMPT","KEEP_INSTANCE_NAME_OPTION","RESET_INSTANCE_NAME_OPTION","RESET_WIPE_REQUEST_SUBMITTED_MESSAGE","RESET_WIPE_SUB_LABEL","RESET_WIPE_CONFIRM_MESSAGE","CONFIRMATION_MODAL_MESSAGE","RESET_PASSWORD_ALERT","POSITIVE","RESET_WIPE_TYPE_OPTIONS","NORMAL","QUICK","REMOVE_DEMO_DATA_INPROGRESS","ACTIVATING_PLUGIN_MESSAGE","NO_ACTIVITY_WARNING","INSTANCE_READY_MESSAGE","HIBERNATING_ALERT","ALERT_DISMISS_DURATION","ALERTS_CONTENT","_buildAgentMessages","_buildAgentMessages2","buildAgentMessages","isBuildAgentAlert","upgrade_required_text","vibe_coding_release_available_text","persistUntilDismissed","alertUniqId","alertConfig","skipAutoDismiss","autoDismissDefault","INACTIVITY_RECLAIM_DAYS","AGE_RECLAIM_DAYS","isSubDayIdle","unitStr","spellIfSingleDigit","isInactivityReclaimEligible","is90DayReclaimEligible","getAgeExpiryDate","age","ageExpiryDate","getInactivityReclaimAlertCopy","dayPhrase","getNinetyDayReclaimAlertCopy","expiryDate","onDate","EMAIL_LOGIN_CRED","MANAGE_INSTANCE_URL","wakeInstanceClickData","refreshInstanceClickData","pdiUrlClickData","changeUserClickData","resetInstanceClickData","releaseInstanceClickData","BROWSE_PLUGINS","ACTIONS_IDS","DEVELOPER_INSTANCE_GUIDE","MANAGING_YOUR_PDI","DEVELOPER_ADVOCATE_BLOG","VIEW_HISTORY_TABS","PRIMARY_PDI_ACTIONS","MODALS","VIEW_PLUGIN_DETAILS","CHANGE_USER_ROLE_CONFIRMATION","noCodeRequiredSvg","launchMagicLinkWithPrompt","resetPromptPersisted","buildAgentSearchTerm","coeffectProperties","_properties$systemPro","launchUrl","tabOpenMode","isPromptInProgress","attachParams","promptExists","australiaConfig","isPromptPersisted","_instanceInfo$policy","_instanceInfo$catItem","_instanceInfo$catItem2","_instanceInfo$catItem3","_instanceInfo$instanc","_instanceInfo$install","_instanceInfo$isWakin","showInstanceReadyAlert","dismissedInactivityReclaimAlert","dismissed90DayReclaimAlert","showSetupCompleteAlert","isPromptSubmittedInBackground","registerUrl","upgradeInstanceRelease","isInstanceFulfillingRequest","dismissedAlert","suggestedPrompts","isAutoAssignRunInBackground","currentPdiUserRole","isInstanceRequestInProgress","isRequestingInstance","isMVP","showReclaimPolicy","ageReclaimEligible","show90DayReclaimAlert","showInactivityReclaimAlert","isAnyOperationInProgress","confirmViewName","canRequestInstance","releaseRequiredForBuildAgent","valueExists","suggestedPromptList","useSignupRedirection","headerTitles","currentAlertId","buttonConfig","toolTip","instanceExists","notAdminRole","isUpgradeInstanceRequired","isVibeCodingNotAvailable","installedApps","PromptCardLoadingMessageLabel","diableBuildAgent","dismissBuildAgentAlert","alertProps","onHooksChanges","_elm$shadowRoot","_elm$shadowRoot2","hasAlert","_instanceInfo$policy2","inactivity_days","_instanceInfo$policy3","max_expiry_days","_instanceInfo$release","_releaseInfo$activeVe","setupRelease","setupReleaseDisplay","title1","title2","marginBlockEnd","_instanceInfo$isWakin2","showTips","_instanceInfo$isWakin3","appGalleryUrl","handlePreviousSessionValue","promptValue","previousWindowVal","handleInstanceReadyAlertDismiss","_properties$instanceI","handlePreviousSessionValueWhenOnline","_instanceInfo$isWakin4","_instanceInfo$install2","_properties$instanceI2","_properties$instanceI3","_properties$instanceI4","_properties$instanceI5","_value$instanceStatus","_previousValue$instan","currentDisplayState","previousDisplayState","_previousValue$isRequ","_value$isRequestingIn","wasRequesting","isRequesting","bannerConfig","promoBannerProp","buttonLabel","targetLink","devProgramListItems","renderDevProgramListItem","_ref$title","_ref$image","_ref$href","_ref$external","learningPlans","buildAndDeployCards","imageMap","earlDuqueProfileIcon","kristyMerriamProfileIcon","laurenmcmanamonProfileIcon","headerVideoYouTubeId","captureYoutubeVideoEvents","player","YT","Player","playerInfo","playerState","PlayerState","PLAYING","ENDED","_renderBuildAndDeployCard","projects","discussions","projectCount","aiPoweredNavigation","isDevelopmentJourny","db_img","technavigation","computedRelease","DPS_HOME_UNAUTH_ACTIONS","SCROLL_TO_DEV_PROGRAM","HIT_DEV_PROGRAM_BLOCK","FETCH_CONTENT","FETCH_CONTENT_SUCCESS","FETCH_CONTENT_FAILED","recursiveWalk","onElementReady","failTimeout","waitForElement","scrollToElement","_ref$hostElement","hostElement","_ref$useOffset","useOffset","_ref$additionalOffset","additionalOffset","_ref$behavior","executeScroll","updateRoute","failedActionType","share_projects","trending_discussions","getSelectedTabIndex","activeTab","DPS_SHARE_PROJECTS_ACTION_HANDLERS","DPSTabs","tabsRef","returnObj","project","projectUri","current_version","ratings","overall_rating","author","short_desc","categoryURL","_renderYourEmptyState","YourEmptyImage","PROJECT_TABS","emptyMessage","emptyState","EmptyCard","currentContent","_PROJECT_TABS$activeT","topMessage","featuredProjects","followingProjects","yourProjects","requestInstanceBanner","bannerCloseIcon","clampValue","DPSProgressBar","labelWidth","cssPercent","labelsStyle","DPSAlert","dismiss","dismissBtnLabel","dismissBtnVariant","isAlertOpen","alertPayload","toast","handleInternalReleaseSelection","sourcePathname","PDI_MISMATCH_ALERT_TOOLTIP_HEIGHT","alertPDIMismatchView","bodyMessage","shouldRenderTooltipMismatch","isContentInternal","pdiTooltipRef","pdiVersionMismatchToolRef","toolTipRefY","showListOnly","setPdiTooltipRef","setPdiVersionMismatchToolRef","instanceReleasePresent","builtReleases","showPDIMismatchAlert","pdiAlertMismatchResponsiveMsg","pdi","disabledInstanceRelease","listLength","showPdiMismatch","redirectedFromInactiveRelease","MAX_PROGRESS","_renderLearnProgressList","learnProgress","percent_complete","_renderLearnNewList","Book","_renderLearn","FIRST_APPLICATION_STATUS","STARTED","NOT_STARTED","buildItemList","buildFirstAppImg","buildAdvanceAppImg","buildMobileAppImg","buildItemBgColor","background","updateBuildItemList","isBuildFirstApplicationStarted","buildItems","generateBuildItemsNavLink","isBuildSectionComplete","BuildSection","navigationLink","isNowOrLocal","devHomePage","BuildSectionBanner","buildSectionBanner","_renderDiscover","_renderPartnerBanner","PartnerBg","instanceRequestDiv","isRestoreEnabled","instanceIcon","InstanceRequest","releaseNotesUrl","Icons","DPS_DROPDOWN_SCROLL","DPS_DROPDOWN_FOCUS","dropdownRef","parentRef","isScroll","tooTall","fixedWidth","rowHeight","_actualRef$getBoundin","dropDownHeight","dropDownWidth","winH","winW","tooWide","itemStyle","menuStyle","isExternal","yScroll","dropDownbehavior","WIDTH","DPS_DROPDOWN_MENU_OPENED_SET","keyDownref","Instancewaitlist","InstanceOffline","InstanceMaintenance","maintenanceObj","remaingHoursOfMaintenenace","isInstanceWaking","WakeupInstance","instanceReleaseShow","InstanceInfoView","actionMenus","getMenuItems","isPluginActivating","isStatusOnline","isInstanceRequested","pluginActivationInProgress","checkInstanceStatus","scheduledMaintenance","instanceObj","scheduled_start_time","InstanceProgress","instanceHelperObj","SidebarView","renderComponentView","restoreProps","DpsInstanceSidebar","isPristineUser","sidebarProps","instanceStatusIcon","_renderSidebarSection","allLink","renderCommunitySection","COMMUNITY_LINK","communityImg","_renderSidebar","blogPosts","userDismissedBanner","blog_created_time","showBanner","featuredShareProjects","followingShareProjects","learnOtherReleases","myShareProjects","firstApplicationStarted","instanceName","isShowRequestInstance","renderBuildSectionBanner","DPS_AUTH_HOME_ACTIONS","LOCAL_STORAGE_KEYS","newUserBanner","fetchContent","recent_blogs","my_share_projects","following_share_projects","featured_share_projects","build_page","blogs","learn_progress","other_releases","apps","handleFocusTrapIframe","_lastFocusableElement","_properties$footerAct","footerActions","addModalToStack","disableClose","renderCloseButton","checkForScrollableContent","modalBody","headerLabelEl","renderFooter","renderFooterActions","footerAction","actionProps","contentFullWidth","legacyMode","customStyle","_node$classList","_findTabbableNodes$","percentComplete","hasLearningProgress","percentInt","courseLPLookUpObj","stripTags","getLearningPlanList","getAttributesToLpOrCourse","userPlan","learningOrCourseObj","lpList","userLearningPlan","truncatedDescription","CourseImage","defaultPlans","userLearningPlans","completedPlans","missingPlan","courseObj","plan","_plan$name","_plan$image","_plan$color","_plan$link","_plan$label","_plan$description","_plan$percent_complet","pageTitle","backgroundPosition","backgroundRepeat","backgroundSize","headerVariant","showVersionSelector","textVariant","modulesTitle","showVersionSelectorFullWidth","backgroundStyles","modulesText","mobileSpace","_instanceInfo$install3","_instanceInfo$install4","_STATUS$display_state","allLearningProgress","statusClassMap","instanceFulfilling","instanceOnline","instanceHibernating","_ref$additional_info","_ref$additional_info3","rawStatusIcon","isBaInstallInProgress","startBuildingDisabled","getDisplayStateText","BAF","SNS","AES","inprogress","lastUsed","learningPlanCount","checkIconSvg","renderSvg","selectedUpgradeRelease","openedApp","isActionInprogress","isLatestRelease","directUpgrade","recommendationText","getBaseReleaseName","disableUpgradeRelease","selectedBaseRelease","firstBaseRelease","upgradeButtonLabel","modalHeader","nonDisabledTargetsCount","modalWidth","cardClasses","releaseImage","CANCEL_UPGRADE","changeUserRoleStage","userRoleOptions","hasLearnProgress","isProDev","latestModule","isInstanceStatsCheckInProgress","openUpgradeInstanceModel","openChangeUserRoleModal","changeUserRole","roleOptions","eligibleForAlert","isRestarting","developer_type","changeUserRoleActions","roleName","editorOptionsText","borderRadius","Advanced_Editor_Type_Image","Guided_Editor_Type_Image","completedTask","disabledTargetRef","DPS_HOME_AUTH_QUEBEC_ACTIONS","DISMISS_ALERTS","OPEN_CHANGE_USER_ROLE_MODAL","learnings_progress","latest_module","hasProgress","menuItemEditorOptions","changeUserRoleItem","builderSeriesVideoUrl","citizenDevRelayState","checkMonitorBadge","workflowBadge","logoExperian","logoCask","logoVcharts","logoInry","logoWayfair","healthbookCard","vividchartsCard","platcoreCard","inryCard","allow","noCodeAppsBook","noCodeAppsSpreadsheetGuide","bubblesImage","DPS_CITIZEN_DEV_ACTIONS","API_ACTIONS","API_DOCTYPE_UPDATED","API_RECORD_FETCH","API_RECORD_FETCH_SUCCEEDED","API_RECORD_FOUND","API_RECORD_REQUESTED","API_RECORD_REQUESTED_FAILED","API_RECORD_REQUESTED_SUCCEEDED","API_TRACKED","API_TRACKING_SUCCEEDED","CHECK_ROUTE","DPS_ALERT_BOOTSTRAPPED","DPS_ALERT_DISMISSED","DPS_API_DOCS_ACTION_TRACKER","DPS_TABS_SELECTED","IS_CONTENT_LOADED","NAV_LIST_CHANGED","NAV_LIST_FETCH","NAV_LIST_FETCH_SUCCEEDED","NAV_LIST_FOUND","NAV_LIST_REQUESTED","NAV_LIST_REQUESTED_FAILED","NAV_LIST_REQUESTED_SUCCEEDED","makeApiDocHashbang","makeApiDocTypeHashbang","makeApiDocUrl","_location","sysParamForApiDocs","sysParamForNavList","navbar","updateDcIdentifierContent","trackApiVisitCount","dita_id","updateMetaTitle","classData","titleLookup","updateNavList","leadingCallback","SCROLL_SPY_ACTIONS","TARGET_ACTIVATED","NO_TARGETS","ScrollSpy","getObserverRootMargin","getObserverThreshold","observerCallback","resetObserver","observerOptions","activeEntries","hostOverride","hostShadowRoot","scrollSpy","lastKnownWindowHeight","handlesWindowResize","observerEntry","setTargets","DPS_CODE_SWITCHER_ACTIONS","LANGUAGE_TAB_CHANGED","SWITCHER_READJUSTED","CLICKED_SWITCHER_RENDERED","CLICKED_SWITCHER_TAB_SELECTED","SWITCHERS_NEED_HEIGHT_LOCKED","SWITCHER_HEIGHT_LOCKED","bash","scss","apache","escapeGreaterThanAndLessThanChars","formatXMLCode","formattedCode","tempCodeBlock","unformatCode","removeUnwantedChars","DPSCodeBlock","copyButton","copyButtonLabel","hljsLanguage","isApache","isHTML","isJSON","isXML","languageClassName","unformattedCode","CopyIcon","DPSScopedEquivalent","scopedEquivalentText","highlightCode","XREF_REGEX","DEFAULT_CODE_EXAMPLE_LANGUAGE","DEFAULT_OUTPUT_CODE_EXAMPLE_LANGUAGE","formatApiTableData","_ref$filters","_ref$parameters","_ref$label","tableHeaders","tableHeader","foundInternalLink","processInternaLinks","cleanOutputText","outputText","formatApiExamples","languageTab","allLanguageSwitchersTouched","allLanguageSwitchersHeightLocked","allLanguageSwitchersHeightReadjusted","shouldReleaseCodeSwitcherHeight","shouldLockCodeSwitcherHeight","clickedSwitcherTabSelected","examplesOutput","languageExamplesOutput","languageExamples","examples","clampedLanguageTab","text2","outputs","outputCodeExamples","outputOtherExamples","cleanedOutputText","formatApiScopedEquivalent","scopedArray","hasScopedEquivalent","formatUrlData","defaultUrl","versionedUrl","_filters","defaultUrlFilter","versionedUrlFilter","getSectionTitle","resultObj","sectionTitle","modifiedHref","processIdToAddAnchor","modifiedId","regex1","DPS_API_CONTENT_ACTIONS","CONTENT_METHOD_RENDERED","newdata","numberOfCodeSwitchers","shouldScrollToHash","numOfCodeSwitchersTouched","numOfCodeSwitchersHeightLocked","numOfCodeSwitchersReadjusted","dc_identifier","subchild","scrollToHash","headersTables","requestBodyHeader","statusCodesTables","requestBodyTables","requestBodyHeaderItem","responseBodyHeader","responseBodyTables","responseBodyHeaderItem","responseBodyParameterTables","responseParameterBody","additionalInfoItem","idFound","scrollSpyBehavior","bottomOffset","handleApiRecordRequestedFailed","fetchCount","fetchApiRecordCount","handleApiRecordRequestedSucceeded","apiClassVisited","apiDocs","skipCheckRoute","ignoreScrollOnAPIRecordFetch","innerChild","fetchingContentId","contentTitle","content_title","isContentNotFoundForCurrentRelease","handleNavListFetchFailed","navList","selectedDocType","fetchNavListCount","isNavListFetching","isNavListFailed","handleNavListFetchSucceeded","fixNavContent","baseExtensionChild","sub_type","newBasePath","DELAY_SCROLL_TO","mobileOffset","webOffset","mobileFirstLoadOffset","webFirstLoadOffset","handleAPIActionTracker","handleRenderedCallback","hasBanner","apiContentTop","marginTopOffset","handleApiDoctypeUpdated","shouldUpdateContent","shouldUpdateNavList","hasNavList","handleCheckRoute","namespace_id","totalPossibleRouteParams","totalActualRouteParamsLength","addedPath","navFilter","replaceRoute","mapBlurbData","client_mobile","server_legacy","client_next_experience","mobile_sdk","handleComponentBootstrapped","replacedRelease","handleComponentPropertyChanged","releaseVersionToggled","currentHash","ignoreScrollSpy","handleNavListChanged","handleDpsAlertBootstrapped","handleDpsAlertDismissed","handleTargetActivated","handleApiTracked","handleApiTrackingSucceeded","API_ACTION_HANDLERS","fetchApiRecord","fetchNavList","ERROR_PAGE_ACTIONS","LOG_404_PAGE_DETAILS","LOG_404_PAGE_DETAILS_SUCCEEDED","LOG_404_PAGE_DETAILS_ERRORED","handleErrorPageBootstrapped","illegalUrls","illegalUrl","referrer","illegal_url","log404PageDetails","dataParams","log404PageDetailsSucceeded","illegalUrlTracked","log404PageDetailsErrored","getSearchPath","lastPathItem","errorPage","contentDetails","feedbackBtn","errorView","IconErrorImage","contenNotFoundView","IconOvalImage","getMixOrPatchIn","rxArrIndex","rxVarName","getPathToString","getHasChildren","childrenPath","getIterate","pathToString","_each","forArray","currentObj","pathFormat","currentParents","isCircular","circularParentIndex","circularParent","checkCircular","needCallback","includeRoot","leavesOnly","forChildren","childValue","childKey","childPath","rootIsChildren","callbackAfterIterate","afterIterate","getEachDeep","getObtain","getCondense","getCondenseDeep","eachDeep","condense","eachDeepOptions","getExists","getFilterDeep","obtain","condenseDeep","leafsOnly","onUndefined","skipChildren","rootReply","keepCircular","keepIfEmpty","replies","foundCircular","reply","curPath","replaceCircularBy","addFilterDeep","mixOrPatchIn","DPS_FILTER_NAV_ITEM","ITEM_CLICK","KEYWORD_SET","createFilteredList","_ref$keepIfHasProps","keepIfHasProps","keywordIsEmpty","itemHasKeepProp","keywordMatchesName","myCloneDeep","isMatched","listFilteredByApiType","filteredNavList","defaultOption","createNestedList","customPropertyNames","nestedItems","_ref$keyword","_ref$openedNavGroup","openedNavGroup","navItemId","cleanKeyword","nestedItem","renderNavItem","isChild","handleOnNavItemClick","processedItems","_ref4$properties","hideFilter","hideFilterDropdown","hideFilterInput","renderFilterDropdown","renderFilterInput","useDebounce","DpsDropdown","hasMultipleOptions","optionLabel","dispatchValueChange","debouncedDispatchValueChange","handleOnInput","_ref3$properties","getFocusOnInsert","isEnter","inputRef","DPS_FILTER_NAV_GROUP","TOGGLE_COLLAPSE","isRootLevel","navGroupIsOpen","highlightSearchTerms","preProcessLabel","checkForChildren","DPS_SIDEBAR_NAV_TOGGLE","DPS_SIDEBAR_NAV_UPDATE_FILTER","sidebarNavItem","sidebarNavGroup","expandedItems","noCollapse","Elem","isExpanded","_renderFilter","showFilter","showCloseIcon","_renderEmptyStates","itemsToShow","showSpinner","autoExpand","navItems","routeItems","showHeading","startLevel","isOnlyItem","mergedItems","DPS_SLOT_ACTIONS","USER_VERSION_UPDATED","buildReturnObject","routeParamsRelease","regexObj","pdiVersion","selectedVersion","currentVersion","latestReleaseName","alertMessage","versionMismatch","pdiVersionMismatch","redirectedFromNonComponentRelease","dismissButton","buildAlertsToShow","persistDismissedAlerts","propertyObj","dismissedAlerts","alertsToShow","cachedDismissedAlerts","navStartLevels","blurb","currentNavItem","docsContent","apiTypes","isLoginRequired","DEFAULT_DC_IDENTIFIER","API_LIST_FETCH","API_LIST_FETCH_SUCCEEDED","API_LIST_FOUND","API_LIST_REQUEST","NAV_LIST_FETCH_FAILED","NAV_LIST_REQUEST","apiType","handleApiListRequest","handleApiListFetchSucceeded","handleInactiveRelease","hanldeNavListRequest","serverList","nonServerList","filteredOtherReleases","_serverList","themeStyles","viewportMeta","closedLabel","expandedLabel","accordionRef","_WINDOW","_DOCUMENT","_MUTATION_OBSERVER$1","_PERFORMANCE","_ref$userAgent","WINDOW","MUTATION_OBSERVER","PERFORMANCE","IS_DOM","IS_IE","NAMESPACE_IDENTIFIER","UNITS_IN_GRID","DEFAULT_FAMILY_PREFIX","DEFAULT_REPLACEMENT_CLASS","DATA_FA_I2SVG","DATA_FA_PSEUDO_ELEMENT","DATA_ICON","HTML_CLASS_I2SVG_BASE_CLASS","TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS","PRODUCTION","oneToTen","oneToTwenty","ATTRIBUTES_WATCHED_FOR_MUTATION","RESERVED_CLASSES","classCallCheck","createClass","slicedToArray","sliceIterator","FontAwesomeConfig","getAttrConfig","coerce","familyPrefix","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","keepOriginalSource","measurePerformance","showMissingIcons","shims","doScroll","domready","meaninglessTransform","flipX","flipY","isReserved","insertCss","headChildren","beforeChild","_uniqueId","nextUniqueId","classArray","htmlEscape","joinAttributes","joinStyles","transformIsMeaningful","transformForSvg","iconWidth","transformForCss","_ref2$width","_ref2$height","_ref2$startCentered","startCentered","ALL_SPACE","makeIconMasking","mainWidth","mainPath","maskWidth","maskPath","trans","maskRect","maskInnerGroup","maskOuterGroup","maskUnits","maskContentUnits","makeIconStandard","styleString","asIcon","asSymbol","makeInlineSvgAbstract","_params$icons","_params$watchable","watchable","widthClass","attrClass","makeLayersTextAbstract","_params$watchable2","makeLayersCounterAbstract","noop$2","preamble","perf","bindInternal4","thisContext","styles$2","_byUnicode","_byLigature","_byOldName","ligatures","ligature","hasRegular","oldName","byUnicode","byLigature","byOldName","styles$1","emptyCanonicalIcon","getCanonicalIcon","iconFromMapping","abstractNodes","_abstractNodes$attrib","_abstractNodes$childr","noop$1","isWatched","getMutator","mutators","newOuterHTML","nest","abstract","forSvg","splitClasses","toSvg","toNode","newInnerHTML","callbackFunction","mutator","disableObservation","treeCallback","nodeCallback","pseudoElementsCallback","_options$observeMutat","observeMutationsRoot","mutationRecord","_getCanonicalIcon","styleParser","classParser","existingPrefix","existingIconName","parseTransformString","transformString","transformParser","symbolParser","attributesParser","extraAttributes","maskParser","blankMeta","parseMeta","_classParser","extraClasses","extraStyles","MissingIcon","ANIMATION_BASE","attributeType","repeatCount","dur","RING","OPACITY_ANIMATE","DOT","QUESTION","EXCLAMATION","LAYERS_TEXT_CLASSNAME","FONT_FAMILY_PATTERN","STYLE_TO_PREFIX","FONT_WEIGHT_TO_PREFIX","findIcon","generateSvgReplacementMutation","nodeMeta","generateLayersText","computedFontSize","generateMutation","alreadyProcessedPseudoElement","onTree","htmlClassList","hclAdd","hclRemove","prefixes","prefixesDomQuery","onNode","dfp","drc","dPatt","rPatt","addPack","Library","additions","_pullDefinitions","_normalized$key","prepIcon","ensureCss","_cssInserted","apiObject","abstractCreator","findIconDefinition","_params$prefix","resolveIcons","maybeIconDefinition","iconDefinition","noAuto","i2svg","_params$node","_params$callback","autoReplaceSvgRoot","autoReplace","_params$transform","_params$symbol","_params$mask","_params$title","_params$classes","_params$attributes","_params$styles","_params$transform2","_params$title2","_params$classes2","_params$attributes2","_params$styles2","_params$title3","_params$classes3","_params$attributes3","_params$styles3","assembler","_params$autoReplaceSv","bunker","faAddressBook","faAddressCard","faArrowAltCircleDown","faArrowAltCircleLeft","faArrowAltCircleRight","faArrowAltCircleUp","faBell","faBellSlash","faBookmark","faBuilding","faCalendar","faCalendarAlt","faCalendarCheck","faCalendarMinus","faCalendarPlus","faCalendarTimes","faCaretSquareDown","faCaretSquareLeft","faCaretSquareRight","faCaretSquareUp","faChartBar","faCheckCircle","faCheckSquare","faCircle","faClipboard","faClock","faClone","faClosedCaptioning","faComment","faCommentAlt","faComments","faCompass","faCopy","faCopyright","faCreditCard","faDotCircle","faEdit","faEnvelope","faEnvelopeOpen","faEyeSlash","faFile","faFileAlt","faFileArchive","faFileAudio","faFileCode","faFileExcel","faFileImage","faFilePdf","faFilePowerpoint","faFileVideo","faFileWord","faFlag","faFolder","faFolderOpen","faFrown","faFutbol","faGem","faHandLizard","faHandPaper","faHandPeace","faHandPointDown","faHandPointLeft","faHandPointRight","faHandPointUp","faHandPointer","faHandRock","faHandScissors","faHandSpock","faHandshake","faHdd","faHeart","faHospital","faHourglass","faIdBadge","faIdCard","faImage","faImages","faKeyboard","faLemon","faLifeRing","faLightbulb","faListAlt","faMap","faMeh","faMinusSquare","faMoneyBillAlt","faMoon","faNewspaper","faObjectGroup","faObjectUngroup","faPaperPlane","faPauseCircle","faPlayCircle","faPlusSquare","faQuestionCircle","faRegistered","faSave","faShareSquare","faSmile","faSnowflake","faSquare","faStar","faStarHalf","faStickyNote","faStopCircle","faSun","faThumbsDown","faThumbsUp","faTimesCircle","faTrashAlt","faUser","faUserCircle","faWindowClose","faWindowMaximize","faWindowMinimize","faWindowRestore","faAdjust","faAlignCenter","faAlignJustify","faAlignLeft","faAlignRight","faAmbulance","faAmericanSignLanguageInterpreting","faAnchor","faAngleDoubleDown","faAngleDoubleLeft","faAngleDoubleRight","faAngleDoubleUp","faAngleDown","faAngleLeft","faAngleRight","faAngleUp","faArchive","faArrowCircleDown","faArrowCircleLeft","faArrowCircleRight","faArrowCircleUp","faArrowDown","faArrowLeft","faArrowRight","faArrowUp","faArrowsAlt","faArrowsAltH","faArrowsAltV","faAssistiveListeningSystems","faAsterisk","faAt","faAudioDescription","faBackward","faBalanceScale","faBan","faBandAid","faBarcode","faBars","faBaseballBall","faBasketballBall","faBath","faBatteryEmpty","faBatteryFull","faBatteryHalf","faBatteryQuarter","faBatteryThreeQuarters","faBed","faBeer","faBicycle","faBinoculars","faBirthdayCake","faBlind","faBold","faBolt","faBomb","faBook","faBowlingBall","faBox","faBoxes","faBraille","faBriefcase","faBug","faBullhorn","faBullseye","faBus","faCalculator","faCamera","faCameraRetro","faCar","faCaretDown","faCaretLeft","faCaretRight","faCaretUp","faCartArrowDown","faCartPlus","faCertificate","faChartArea","faChartLine","faChartPie","faCheck","faChess","faChessBishop","faChessBoard","faChessKing","faChessKnight","faChessPawn","faChessQueen","faChessRook","faChevronCircleDown","faChevronCircleLeft","faChevronCircleRight","faChevronCircleUp","faChevronDown","faChevronLeft","faChevronRight","faChevronUp","faChild","faCircleNotch","faClipboardCheck","faClipboardList","faCloud","faCloudDownloadAlt","faCloudUploadAlt","faCode","faCodeBranch","faCoffee","faCog","faCogs","faColumns","faCompress","faCrop","faCrosshairs","faCube","faCubes","faCut","faDatabase","faDeaf","faDesktop","faDna","faDollarSign","faDolly","faDollyFlatbed","faDownload","faEject","faEllipsisH","faEllipsisV","faEnvelopeSquare","faEraser","faEuroSign","faExchangeAlt","faExclamation","faExclamationCircle","faExclamationTriangle","faExpand","faExpandArrowsAlt","faExternalLinkAlt","faExternalLinkSquareAlt","faEye","faEyeDropper","faFastBackward","faFastForward","faFax","faFemale","faFighterJet","faFilm","faFilter","faFire","faFireExtinguisher","faFirstAid","faFlagCheckered","faFlask","faFont","faFootballBall","faForward","faGamepad","faGavel","faGenderless","faGift","faGlassMartini","faGlobe","faGolfBall","faGraduationCap","faHSquare","faHashtag","faHeading","faHeadphones","faHeartbeat","faHistory","faHockeyPuck","faHome","faHospitalSymbol","faHourglassEnd","faHourglassHalf","faHourglassStart","faICursor","faInbox","faIndent","faIndustry","faInfo","faInfoCircle","faItalic","faKey","faLanguage","faLaptop","faLeaf","faLevelDownAlt","faLevelUpAlt","faLink","faLiraSign","faList","faListOl","faListUl","faLocationArrow","faLock","faLockOpen","faLongArrowAltDown","faLongArrowAltLeft","faLongArrowAltRight","faLongArrowAltUp","faLowVision","faMagic","faMagnet","faMale","faMapMarker","faMapMarkerAlt","faMapPin","faMapSigns","faMars","faMarsDouble","faMarsStroke","faMarsStrokeH","faMarsStrokeV","faMedkit","faMercury","faMicrochip","faMicrophone","faMicrophoneSlash","faMinus","faMinusCircle","faMobile","faMobileAlt","faMotorcycle","faMousePointer","faMusic","faNeuter","faOutdent","faPaintBrush","faPallet","faPaperclip","faParagraph","faPaste","faPause","faPaw","faPenSquare","faPencilAlt","faPercent","faPills","faPlane","faPlay","faPlug","faPlus","faPlusCircle","faPodcast","faPoundSign","faPowerOff","faPrint","faPuzzlePiece","faQrcode","faQuestion","faQuidditch","faQuoteLeft","faQuoteRight","faRandom","faRecycle","faRedo","faRedoAlt","faReply","faReplyAll","faRetweet","faRoad","faRocket","faRss","faRssSquare","faRubleSign","faRupeeSign","faSearch","faSearchMinus","faSearchPlus","faServer","faShare","faShareAlt","faShareAltSquare","faShekelSign","faShieldAlt","faShip","faShippingFast","faShoppingBag","faShoppingBasket","faShoppingCart","faShower","faSignInAlt","faSignLanguage","faSignOutAlt","faSignal","faSitemap","faSlidersH","faSort","faSortAlphaDown","faSortAlphaUp","faSortAmountDown","faSortAmountUp","faSortDown","faSortNumericDown","faSortNumericUp","faSortUp","faSpaceShuttle","faSpinner","faSquareFull","faStepBackward","faStepForward","faStethoscope","faStop","faStopwatch","faStreetView","faStrikethrough","faSubscript","faSubway","faSuitcase","faSuperscript","faSync","faSyncAlt","faSyringe","faTable","faTableTennis","faTablet","faTabletAlt","faTachometerAlt","faTag","faTags","faTasks","faTaxi","faTerminal","faTextHeight","faTextWidth","faTh","faThLarge","faThList","faThermometer","faThermometerEmpty","faThermometerFull","faThermometerHalf","faThermometerQuarter","faThermometerThreeQuarters","faThumbtack","faTicketAlt","faTimes","faTint","faToggleOff","faToggleOn","faTrademark","faTrain","faTransgender","faTransgenderAlt","faTrash","faTree","faTrophy","faTruck","faTty","faTv","faUmbrella","faUnderline","faUndo","faUndoAlt","faUniversalAccess","faUniversity","faUnlink","faUnlock","faUnlockAlt","faUpload","faUserMd","faUserPlus","faUserSecret","faUserTimes","faUsers","faUtensilSpoon","faUtensils","faVenus","faVenusDouble","faVenusMars","faVideo","faVolleyballBall","faVolumeDown","faVolumeOff","faVolumeUp","faWarehouse","faWeight","faWheelchair","faWifi","faWonSign","faWrench","faYenSign","iconSets","regular","fontawesomeFreeRegular","fontawesomeFreeSolid","customPackFasn","camelizeIconName","getFaIcon","setName","camelizedIconName","getConfigObject","pulse","faIcon","DPS_BOOKMARK_WEIGHTS","BOLD","REGULAR","STRONG","imageType","light","bookmarked","DPS_BOOKMARK_IMAGE","guideList","componentList","handleUpdateBookmarkStatus","handleUpdateBookmarkStatusSucceeded","bookMarkList","isBookedMarked","bookMarkSection","bookmarksUpdating","handleGetBookmarks","handleGetBookmarksSucceeded","scr","breadCrumbList","iconAction","DpsCallout","DpsImageCard","cardLink","getRadius","getTrackStyle","noProgress","strokeDash","getRingWidth","getCircle","circumference","subtitle","ringStrokeWidth","circle","clampedPercent","greenCircleCheck","DPS_CATEGORY_SECTION_ACTIONS","SEE_ALL_CLICKED","generateFriendlyComponentName","generateLeftNavMenu","componentData","referenceItem","canInstallComponent","playgroundSource","prototypeList","packageObj","releaseObj","component_name","friendly_name","isUsageAvailable","isAPIAvailable","isContentFound","isGalleryAvailable","GALLERY_PAGE_LIST","isUibSetupAvailable","uibSetup","isUibConfigAvailable","nowUIProperties","uibConfig","subMenu","navTitle","getBreadCrumbItems","COMPONENT_LIST","highlightQuery","encodedComponentName","previewImageSrc","preview_image","imageUsed","previewImg","DpsComponentGalleryCard","isHovering","overview","playground","cleanDescription","totalComponents","featuredComponents","WINDOW_OFFSET_EPSILON","DpsCodeSwitcher","permalink","heightOverride","usingHeightOverride","responseDescription","storedNextLanguageTab","needsDispatchAfterClick","canCauseScroll","triggeredShouldReleaseHeight","triggeredShouldLockHeight","needsDisableScrollBehavior","triggeredClickedSwitcherTabSelected","windowOffset","elemOffset","oldOffset","fullWidthContent","fullWidthSidebar","guideSideNav","showSidebarToggle","_getDefaults","breaks","gfm","pedantic","tokenizer","changeDefaults","newDefaults","noopTest","edit","valSource","getRegex","codeRemoveIndent","outputLinkReplace","indentCodeCompensation","beginningSpace","endingHash","startingSpaceChar","endingSpaceChar","nonSpaceChar","newLineCharGlobal","tabCharGlobal","multipleSpaceGlobal","blankLine","doubleBlankLine","blockquoteStart","blockquoteSetextReplace","blockquoteSetextReplace2","listReplaceTabs","listReplaceNesting","listIsTask","listReplaceTask","anyLine","hrefBrackets","tableDelimiter","tableAlignChars","tableRowBlankLine","tableAlignRight","tableAlignCenter","tableAlignLeft","startATag","endATag","startPreScriptTag","endPreScriptTag","startAngleBracket","endAngleBracket","pedanticHrefTitle","unicodeAlphaNumeric","escapeTest","escapeReplace","escapeTestNoEncode","escapeReplaceNoEncode","unescapeTest","percentDecode","findPipe","splitPipe","slashPipe","carriageReturn","spaceLine","notSpaceStart","endingNewline","listItemRegex","bull","nextBulletRegex","hrRegex","fencesBeginRegex","headingBeginRegex","htmlBeginRegex","newline","blockCode","fences","bullet","lheadingCore","lheading","lheadingGfm","_paragraph","_blockLabel","_tag","_comment","blockNormal","gfmTable","blockGfm","blockPedantic","inlineCode","inlineText","_punctuation","_punctuationOrSpace","_notPunctuationOrSpace","_punctuationGfmStrongEm","_punctuationOrSpaceGfmStrongEm","_notPunctuationOrSpaceGfmStrongEm","blockSkip","emStrongLDelimCore","emStrongLDelim","emStrongLDelimGfm","emStrongRDelimAstCore","emStrongRDelimAst","emStrongRDelimAstGfm","emStrongRDelimUnd","anyPunctuation","autolink","_inlineComment","_inlineLabel","reflink","nolink","reflinkSearch","inlineNormal","_backpedal","inlinePedantic","inlineGfm","inlineBreaks","escapeReplacements","getEscapeReplacement","escape2","html2","cleanUrl","splitCells","_cells$at","suffLen","currChar","findClosingBracket","outputLink","link2","lexer2","inLink","inlineTokens","matchIndentToCode","indentToCode","matchIndentInNode","_Tokenizer","options2","codeBlockStyle","inBlockquote","currentLines","currentRaw","currentText","blockTokens","oldToken","isordered","itemRegex","endsWithBlankLine","endEarly","itemContents","nextLine","rawLine","nextLineWithoutTabs","istask","ischecked","lastItem","spacers","hasMultipleLineBreaks","tag2","_cap$","aligns","inRawBlock","trimmedUrl","rtrimSlash","lastParenIndex","linkLen","maskedSrc","rDelim","rLength","lLength","delimTotal","midDelimTotal","endReg","lastCharLength","hasNonSpaceChars","hasSpaceCharsOnBothEnds","prevCapZero","_this$rules$inline$_b","_this$rules$inline$_b2","_Lexer","__Lexer","inlineQueue","lastParagraphClipped","_this3$options$extens","_this3$options$extens2","extTokenizer","cutSrc","startBlock","tempStart","tempSrc","getStartIndex","_ret2","keepPrevChar","_this4$options$extens","_this4$options$extens2","emStrong","codespan","startInline","lex","_Renderer","langString","parseInline","itemBody","_item$tokens$","tablecell","tablerow","cleanHref","textRenderer","_TextRenderer","_Parser","__Parser","_this$options$extensi","anyToken","genericToken","textToken","_this$options$extensi2","_Hooks","_Class3","markdown","lexInline","Marked","parseMarkdown","tableToken","listToken","_this5$defaults$exten","childTokens","tokens2","pack","prevRenderer","args2","extLevel","rendererProp","rendererFunc","tokenizerProp","tokenizerFunc","prevTokenizer","hooksProp","hooksFunc","prevHook","passThroughHooks","ret2","walkTokens2","packWalktokens","blockType","origOpt","provideLexer","parser2","provideParser","src2","processAllTokens","markedInstance","marked","getDefaults","TextRenderer","Tokenizer","Hooks","BananaSlug","maintainCase","originalSlug","slugger","GithubSlugger","gfmHeadingId","_ref$prefix","_ref$globalSlugs","globalSlugs","headerIds","resetHeadings","useNewRenderer","getHeadingList","markedHighlight","langPrefix","emptyLangClass","getLang","updateToken","infoString","classAttr","markedRenderer","topLinks","bottomLinks","detailType","createMetadataTable","gheLink","helpLink","seismic","isUpdatingBookmark","apiExists","_componentData$scr","owning_team_name","internal_only","released_to_public_npm","other_release_list","componentDetailHeaderTitle","uibElementLabel","uibElementSearchLink","availableInNpmLabel","availableInNpmSearchLink","queryParamsStr","showDesignSystemBadge","teamSearchLink","bookmarkedComponents","hasNoPdiVersion","isAlertDismissed","isPDIVersionReleaseMatched","DPS_COMPONENT_GALLERY_SEARCH_ACTIONS","FORM_ON_SUBMIT","SUBMITTED","INPUT_ON_CHANGE","INFINITE_SCROLL_ACTIONS","INTERSECTING_TARGET","LOAD_MORE_ENTRIES","RESET_OBSERVER","UPDATE_OBSERVER","INFINITE_SCROLL_BEHAVIOR","previousY","previousRatio","initializeOptions","containerSelector","intersectionObserverOptions","infiniteScrollObserver","setupIntersectionObserver","currentY","currentRatio","previousIntersectingY","_state$behaviors$INFI","_state$behaviors$INFI2","isObserving","fetchAvailableCategories","failedFetchingAvailableCategories","fetchingAvailableCategories","availableCategories","fetchBookmarkedComponents","failedFetchingBookmarkedComponents","fetchingBookmarkedComponents","fetchComponentGallery","failedFetchingComponentGallery","fetchingComponentGallery","galleryData","fetchComponentSearchResults","failedFetchingSearchResults","fetchingSearchResults","nextOffset","totalCount","infiniteScroll","loadingMoreEntries","hasMoreSearchResults","searchResults","releaseSwitched","totalNumberOfSearchResults","toggleComponentBookmark","viewMode","DPS_COMPONENT_GALLERY_VIEW_MODE","createSearchHeading","_ref$bookmarks","_ref$categories","dispatchSearch","hasServiceNowRole","searchPayload","generateSearchParamsFromQueryString","searchHeading","DPS_COMPONENT_GALLERY_SEARCH_LIMIT","generateQueryStringFromSearchParams","npm","uib","SEARCH_RESULTS","queryParamsChanged","userInfoUpdated","advancedSearchExpanded","bookmarkType","querySearchParams","newParams","componentSearchParams","containerEl","docFragment","liElement","isStuck","FormCheckbox","AdvancedSearchForNonSNUsers","selectedCategories","isNPMToggled","isUIBToggled","isBookmarksToggled","AdvancedSearchForSNUsers","selectedAvailability","selectedComponentPurpose","selectedComponentType","selectedWrapper","compPurpose","compType","formRef","getGroupedAvailableCategories","numberOfItemsPerGroup","groupedCategories","addedToUib","componentPurpose","componentType","defaultSearchFilters","isSNUser","internalOnlyBool","getCheckedItems","available_in_npm","available_in_uib","_renderGalleryCategories","INVERTED_CATEGORIES","_renderSearchResults","checkQueryAndCategoriesAreEmpty","availableCategoryValues","filteredCategories","generateSearchResultsHeading","getOtherReleases","rawQueryParams","filteredReleases","isQueryPopulated","searchResultsHeading","combinedSearchPayload","galleryDataKeys","uibCategories","remainingCategories","redirectUrl","infiniteScrollBehavior","getClientInfo","_UAParser$getResult","DPS_CONTENT_FEEDBACK_ACTIONS","DPS_CONTENT_FEEDBACK_FORM_TEXTAREA_CHANGE","DPS_CONTENT_FEEDBACK_FORM_FORM_SUBMIT","DPS_CONTENT_FEEDBACK_FORM_INPUT_CHANGE","DPS_CONTENT_FEEDBACK_FORM_POST_HTTP","DPS_CONTENT_FEEDBACK_FORM_FORM_SUCCESS","DPS_CONTENT_FEEDBACK_FORM_FORM_PROCESS","DPS_CONTENT_FEEDBACK_FORM_FORM_ERROR","DPS_CONTENT_FEEDBACK_FORM_FORM_RESET","handleTextAreaChange","feedbackText","validateForm","handleFormSubmission","_properties$userInfo","question_1","submittedFrom","client_info","content_id","feedback_text","logged_in_user_id","page_location","submitted_from","table_name","user_email","wth","info_message","handleContentFeedbackFormRequested","processActionType","handleContentFeedbackFormSucceeded","isFormSubmitted","handleContentFeedbackFormProcessed","submitDisabled","handleContentFeedbackFormError","handleInputChange","_action$payload$targe","handleFormReset","handleModalOpened","DPS_CONTENT_FEEDBACK_ACTION_HANDLERS","elementListeners","keyBindings","DPSShade","noLayer","findFocusableEls","decoyElement","handleModalClosed","lastFocusedEl","_findFocusableEls2","lastFocusedElement","lastFocusedElementIndex","previousFocusableElement","nextFocusableElement","footerActionsObj","DPSModal","fixedHeight","isOverflowHidden","hasNoPadding","fullHeight","closeDisabled","payloadToAction","clickToEscape","optionalTitle","isOptionalBackgroundImage","modalRef","keyBindingBehavior","onTabPress","onEscapePress","FEEDBACK_TEXT_COLS","FEEDBACK_TEXT_ROWS","thankYouView","success_message","article_submit","formView","questions","managedOpen","showReasonMsg","info_message_guest_user","info_message_logged_in_user","DpsProgressCard","circleTitle","circlePercent","_state$properties$sta","statusMessages","numOfModules","gitHubLink","downloadIconImage","numOfModulesCompleted","numOfModulesRemaining","not_started","DPS_COURSE_DETAILS_ACTIONS","COURSE_BOOTSTRAPPED","COURSE_DETAILS_FETCH_FAILED","COURSE_DETAILS_FETCH_SUCCEEDED","DPS_LEARNING_COURSES_ACTIONS","GET_TRAINING_NAV_FAILED","GET_TRAINING_NAV_SUCCEEDED","SCROLL_TO","TWO_COLUMN_LOADED","SAVE_LEARNING_QUALTRICS_SURVEY_STATUS","SAVE_LEARNING_QUALTRICS_SURVEY_STATUS_SUCCEEDED","SAVE_LEARNING_QUALTRICS_SURVEY_STATUS_FAILED","course_id","saveLearningQualtricsSurveyStatusHttpEffect","courseId","courseID","inactiveResult","activeRelease","navLevel","parentSysId","course_details","courseTitle","courseDescription","course_qualtrics_survey_on","courseContentId","CNFITR_error","rtn_code","dataFetchFailed","_properties$releaseIn","isReleaseReplaced","userUnauthorizedToViewPage","firstLevelChildren","completedModules","totalModules","total_articles","ctaButtonLabel","firstModule","secondLevelChildren","backgroundImg","appendIcon","short_description","lessons","total_second_level_articles","lessonList","lesson","isRead","is_read","dita_type","parentId","moduleType","DPSfeedback","_coeffects$properties","DPS_FILTER_BADGE_REMOVE","DPS_FILTER_BAR_CHANGE_PER_PAGE","DPS_FILTER_BAR_RESET","DPS_FILTER_BAR_SEARCH","DPS_FILTER_BAR_UPDATE_FILTER","DPS_FILTER_BAR_VIEW","_renderPerPageOptions","perPageOptions","_renderFilterBadge","filterItem","_renderFiltersSection","filterList","filterValue","viewItems","filterNavItems","hostToMatchers","removeMatchListeners","_hostToMatchers$get","matchers","createMatchListeners","updateMatchResults","matchResults","ONE_MINUTE","userSessionId","getUserSessionId","userLanguage","getUserLanguage","browserInfo","getUserBrowserInfo","latitude","longitude","fetchUserLocationAsync","_fetchUserLocationAsync","geolocation","getCurrentPosition","enableHighAccuracy","API_URL","queueLimit","defaultTimeout","eventQueue","pendingCalls","eventsRequiringPrecedingCallCompletion","postAllEvents","postEvent","processCallCompletion","queuedEvent","stillWaiting","precedingCalls","precedingCall","isRetry","eventAction","eventBody","requirePrecedingEventCompletion","trackAsync","xmlhttp","pushEvent","GlideSignals","postContextProperty","sys_context_property_name","sys_context_property_value","trackEvent","eventModel","GLOBAL_SEARCH_SOURCE","POPOVER_ITEM_TYPE","QUERY_CONTENT","RECENTLY_VIEWED","USER_HISTORY_AND_CLICK","EXACT_MATCH","USER_HISTORY","PERSONAL_CLICK","AUTOCOMPLETE","POPULAR_QUERY","NAVIGATION","SECTION_HEADER","USER_SEARCH_TERM","EVENT_TYPE","SEARCH_FROM_INPUT","SEARCH_FROM_POPOVER","UPDATE_ARIA_LIVE_TEXT_SOURCES","CLEAR_RECENT_SEARCH_ITEM","RESULT_COUNT","MAX_QUERY_LENGTH","PLACEMENT","BODY","AUTOCOMPLETE_QUERY_EVENT","INFO_EVENT","SEISMIC_OR_MOBILE_APPLICATION","INPUT_DEBOUNCE_DELAY","DEBOUNCE_MODIFIER","SUGGESTION_QUERY","CLEAR_SEARCH_FROM_HISTORY_MUTATION_QUERY","PERSONAL_CLICK_FIELDS","SYSID","LABEL","ACTION_DATA","EXACT_MATCH_FIELDS","RECORD_URL","DOCUMENT_TYPE_ID","QUERY_CONTENT_FIELDS","PARENT_TABLE","PARENT_RECORD_SYSID","SR_LABELS","CLEARED_RECENT_SEARCH_ITEM","EXACT_MATCH_FOUND","CLEAR_SEARCH","SUBMIT_SEARCH","CLEAR_RECENT_SEARCH","CANCEL_SEARCH","LOADING_LABEL","SHOW_SEARCH_PANEL","SPACE","KEYBOARD_NAVIGATION","RECENT_SEARCH_SECTION_HEADER","SEARCH_CONTEXT_TRIGGER_LABEL","PANEL_DROPDOWN","DROPDOWN_POSITION","CONTEXT_SWITCH_TOP_OFFSET","WINDOW_SIZE","EXPANDED","COLLAPSED","GLOBAL_SEARCH_MOBILE_CONTEXT_CONSTRAIN_WIDTH","GLOBAL_SEARCH_DROPDOWN_WIDTH","GLOBAL_RECENT_SEARCH_SECTION_HEADER","GLOBAL_SEARCH_WIDTH","DEFAULT_PLACEHODLER","GLOBAL_SEARCH_MOBILE_WIDTH","DEFAULT_EXACT_MATCH_REGEX","ICON_SOURCE_MAP","ICON_TYPE","EXACT_MATCH_REGEX_SYS_PROPERTY","EXACT_MATCH_SECTION_HEADER","SYS_ATTACHMENT","ATTACHMENT_LABEL","EXACT_MATCH_CONFIG_QUERY","DATABROKER_URI_QUERY","EXACT_MATCH_QUERY_PATH","CACHE_INPUT_SUGGESTION_PREFIX","CACHE_EXACT_MATCH_KEY","POPOVER_FOOTER_SIGN_IN","POPOVER_FOOTER_SEARCH_EXPERIENCE","XL","ANALYTICS_EVENTS","CLICK","PAGE_LOAD","IMPRESSION","signalTracker","applicationType","SEARCH_EXECUTED","NAVIGATION_EXECUTED","NAVIGATION_SUCCEEDED","CONTEXT_CHANGED","SEARCH_CLOSED","SEARCH_INITIATED","SIGNIN_BUTTON_CLICKED_INITIATED","SEARCH_EXECUTED_INTERNAL","NAVIGATION_EXECUTED_INTERNAL","NAVIGATION_EXECUTED_UTIL","NAVIGATION_EXECUTED_PUBLIC_UTIL","CONTEXT_CHANGED_INTERNAL","SEARCH_CLOSED_INTERNAL","MOBILE_CANCEL_BUTTON_CLICKED","NOW_TEXT_LINK_CLICKED","HANDLE_TOOLTIP_ON_TRUNCATED_TEXT","INPUT_CHANGED","INPUT_FOCUSED_IN","INPUT_FOCUSED_OUT","SHOW_POPOVER","HIDE_POPOVER","CONTEXT_DROPDOWN_FOCUSED","ARROW_UP_PRESSED","ARROW_DOWN_PRESSED","ARROW_LEFT_PRESSED","ARROW_RIGHT_PRESSED","MOUSE_OVERED","CLEAR_SEARCH_SELECTED","CLEAR_SEARCH_MUTATION","CLEAR_SEARCH_MUTATION_SUCCEEDED","CLEAR_SEARCH_MUTATION_FAILED","ITEM_SELECTED","ITEM_FOCUSED","DEBOUNCED_SUGGESTION_FETCH","SUGGESTION_FETCH","SUGGESTION_FETCH_STARTED","SUGGESTION_FETCH_SUCCEEDED","SUGGESTION_FETCH_FAILED","EXACT_MATCH_FETCH","EXACT_MATCH_STARTED","EXACT_MATCH_SUCCEEDED","EXACT_MATCH_FAILED","CONTEXT_DROPDOWN_CLICKED","CONTEXT_ITEM_SELECTED","HIDE_SEARCH_PANEL","SET_REF","FETCH_EXACT_MATCH_CONFIG","SET_ENABLE_EXACT_MATCH_PROPERTY","SWITCH_TO_DEFAULT_ENABLE_EXACT_MATCH_PROPERTY","UPDATE_SEARCH_CACHE","SET_INPUT_DESKTOP_ELEMENT","normalizeSelector","saveUnmatched","unmatched","prev_match_idx","not_escaped_pattern","whitespace_pattern","state_patterns","next_match_idx","querySelectorAllDeep","_querySelectorDeep","querySelectorDeep","collectAllElementsDeep","cachedElements","allElements","findAllElements","findMany","lightElement","createShadowRoot","splitByCharacterUnlessQuoted","minimalSelector","splitSelector","possibleElementsIndex","possibleElements","findElements","findMatchingElement","isDocumentNode","foundMatch","findParentOrHost","sQuote","PositionObserver","positionObserverCallback","thresholdList","viewportCallback","targetBounds","outOfViewport","rootBounds","_this$intersectionObs","_this$intersectionObs2","_this$intersectionObs3","getMargins","constructBoxWindow","intersectionObsCallback","_this$intersectionObs4","_this$intersectionObs5","_this$intersectionObs6","_this$intersectionObs7","constrainedLeft","constrainedTop","constrainedTopMarginOfWindow","constrainedRightMarginOfWindow","constrainedBottomMarginOfWindow","constrainedLeftMarginOfWindow","attachObservers","positionObserver","getSearchConfiguration","selectedContent","searchConfigFallback","search_configuration","declarativeStateUpdate","getCloseIcon","getIconId","getArrowRightLongIcon","getSearchInputIcon","getMagnifyingGlassIcon","getBookIcon","getLightbulbIcon","getBestPracticesIcon","getDocumentOutlineIcon","getNowSupportIcon","getHandshakeIcon","getCustomerSuccessCenterIcon","getCodeIcon","getDeveloperPortalIcon","getOngoingIcon","getNowCommunityIcon","getGlobeOutlineIcon","getServicenowComIcon","getOpenBookOutlineIcon","getClockOutlineIcon","getServicenowFullLogoIcon","getServicenowLogoIcon","getLightXIcon","getCircleCloseOutlineIcon","getNowLearningIcon","getProductDocumentationIcon","searchConfig","sourceIcons","iconFromSource","getIconFromSource","sourceKeySize","shouldFocusInput","setFocus","isMobileView","isCollapsedView","removeFocus","showPopover","placement","hasSuggestions","animationsEnabled","attachToNavigation","attachToElement","hideSearchPopover","inputContainerClassName","showCancel","navigationAttachedIcon","backIcon","cancelElement","inputElement","_ev$relatedTarget","isAttached","getColumnByFieldName","getAttachmentTableDetails","navItem","actionDataCol","parentTableData","parentTable","_navData$actionPayloa","splitHighlighting","highlightFragments","rawText","parseNavItem","tableValue","recordUrl","sourceTable","createActions","breadCrumbText","primaryText","_ref$suggestionLabel","suggestionLabel","showActions","_ref$itemActions","itemActions","_ref$showTooltip","titleRef","_ref$tooltipContent","_ref$itemType","itemType","findSearchPopoverListItem","_target$classList","onItemSelection","showToolTip","onMouseOver","Item","labelName","replaceWhiteSpace","highlightMatch","matchStartIndex","matchEndIndex","regularLeftText","regularRightText","leftTextVNode","middleTextVNode","rightTextVNode","_ref$icon","disableClearSearch","ariaLiveText","_ref$ariaBusyState","ariaBusyState","_ref$exactMatch","exactMatch","_ref$enableExactMatch","enableExactMatch","ariaLiveTextContainer","AriaLiveContainer","hasExactMatch","displayValue","notRecentSearch","userHistoryAndClick","isSearchInput","_ref$isLoggedIn","_ref$attachToNavigati","_ref$showLoginNotice","showLoginNotice","onFooterItemClick","onFooterSignInClick","viewAll","loginInNotice","getPopoverItemIcon","sourceTableLowerCase","sourceIcon","imageFromColumn","getPopoverItem","itemText","documentType","_item$columns$","totalSectionsToDisplay","itemFooter","getTooltipContent","breadCrumbTextContent","SearchTerm","SectionHeader","InstanceHistory","UserHistory","PopoverFooter","activeRowIndex","showEmptyState","ariaLiveBusy","exactMatchData","inputHasFocus","isInputActive","searchPanelOpened","suggestionTypeFooter","canAnimate","exactMatchRegex","isTyping","unauth","Input","Popover","getResultsCount","getGroupCount","constructAriaLiveText","groupCount","resultCount","resultLabel","groupLabel","_recentSearchSection","_option$columns$","_option$columns$2","getRowColIndex","activeColumnIndex","recentSearchSection","_data$rowIndex","isExactMatchPresent","canTermMatchExactly","criterionRegex","exactMatchEnabled","hasExactMatchReadingFinished","termCriterionRegex","isFetching","generateExactMatchPayload","searchSuggestionCache","transformSuggestionResponse","dataResponse","ignoreTypes","userHistoryRecords","footerItem","firstSectionHeaderIndex","filteredRecords","getSuggestionCacheKey","fetchSuggestions","cache_key","debouncedSuggestionFetchEffect","suggestionFetchEffect","suggestionFetchStartedEffect","updateAriaLiveTextSource","suggestionFetchSucceededEffect","suggestionSearchTermQuery","dataItems","suggestionFetchFailedEffect","updateCacheEffect","inputDesktopElement","setInputElement","_getRelativeClickIndex","_getValue","_setInputFocus","_setInputBlur","_enterKeyPressedInInput","_isPopoverTermEvent","_isDestinationSearchPopoverItem","_isViewAllLinkEvent","_isDropDownEvent","_isClearButtonEvent","nowButtonClickedEffect","clearSearchSelectedEffect","inputFocusedInEffect","disableAutocomplete","inputFocusedOutEffect","_navigationItemClicked","selectedSearchContext","navData","updatedActionPayloadData","queryTerm","selectedQuery","queryType","clickIndex","itemSelectedEffect","exactMatchFound","exactMatchFetching","isInputEvent","isEnterKeyPressedInInput","navigating","queueExactMatchEvent","_setPopoverSuggestionFocus","suggestions","ariaSelected","focusedOption","selectorQuery","focusedColumn","itemFocusedEffect","arrowDownEffect","_getRowColIndex","arrowUpEffect","_getRowColIndex2","arrowLeftEffect","_getRowColIndex3","arrowRightEffect","_getRowColIndex4","mouseOverEffect","showPopoverEffect","hidePopoverEffect","contextDropdownFocusedEffect","inputChangeEffect","exactMatchSysProperty","exactMatchCriterionRegex","_isPopoverButtonEvent","enterKeyHandler","showSearchPanelInMobileViewEffect","windowSize","hideSearchPanelInMobileViewEffect","handleTooltipOnTruncatedTextEffect","isUserPreferenceEnabled","primaryTextElement","breadCrumbElement","mutationPath","clearSearchEffect","clearSearchSucceededEffect","clearSearchFailedEffect","createAfterInterceptor","actionNames","contextItemSelectedEffect","searchDataConfigId","transformExactMatchResponse","displayFields","record_url","displayValueForTableWhenAvailable","handleExactMatchFetchEffect","handleExactMatchStartedEffect","handleExactMatchSucceededEffect","handleExactMatchFailedEffect","exactMatchConfigFetchEffect","setEnableExactMatchPropertyVariable","exactMatchConfigFromSAC","switchToDefaultExactMatchPropertyVariable","fetchExactMatch","_fetchExactMatch","resetSuggestionTerm","onSearchTermChanged","onOpenedChanged","onSearchContextConfigIdChanged","onComponentPropertyChanged","setTermToState","coeffectFnWithStopPropagation","extraProperties","handleAriaLiveText","throttleTimeout","onComponentConnected","onComponentBootstrap","onComponentDisconnected","onSetref","effectProxy","pressArrowUp","pressArrowDown","pressArrowLeft","pressArrowRight","pressEscape","pressEnter","searchContexts","applyFilters","_state$properties$app","_state$properties$fil","_state$properties$sea","_state$properties$isL","_state$properties$sou","dispatchNavigationEvent","handleNavVariables","varKeys","varKey","handleSearchExecutedEffect","searchConfigPayload","searchRoute","searchRouteConfig","_routeConfig$params","routeConfig","filtersToApply","handleSeismicNavigationExecutedEffect","handleSeismicNavigationExecutedPublicEffect","navigationSucceedEffect","_searchConfig$content","contentLinkColumns","devSiteLinkColumn","devSiteLink","navigationOptions","getResponseCount","searchExecutedInternalEffect","_ref$state$properties","searchExecutedEffect","emitNavItemSelected","aaDigitalData","navigationExecutedEffect","contextChangedEffect","searchClosedEffect","popoverEffect","searchViewConfigId","SEARCH_TOGGLED","SEARCH_TOGGLED_INTERNAL","SEARCH_BACK","SEARCH_OPENED","OVERLAY_CLICKED","OVERLAY_OVERED","SUGGESTIONS_LOADED","SEARCH_NAVIGATION_EXECUTED","SEARCH_SEARCH_EXECUTED","COMBOBOX_NAVIGATION_EXECUTED","COMBOBOX_SEARCH_EXECUTED","SET_NOW_MODAL_REF","REQUEST_DOCUMENT_FREEZE","DOCUMENT_FREEZE_REQUESTED","SIGNIN_BUTTON_CLICKED","WINDOW_RESIZED","SET_INPUT_ELEMENT","UPDATE_SEARCH_INPUT_CACHE","OVERLAY_CSS_VAR_TOP","SERVICENOW_HOMEPAGE_URL","MODAL_STYLES","alignItems","FULLSCREEN_MODAL_STYLES","justifyContent","maxBlockSize","DOCUMENT_STYLES","maxInlineSize","minBlockSize","FULLSCREEN_DOCUMENT_STYLES","ServicenowLogoIcon","CloseModalIcon","SearchModalHeader","SearchModalBody","_ref4$opened","_ref4$attachToElement","navTopOverlayOffset","enableCloseIcon","isAttachedToElement","currentSearchConfig","nowModalRef","searchModalDomElementsCache","originObserved","observeOrigin","_originObserved","findShadowActiveElement","_element$shadowRoot","setModalListeners","animationFrameId","getDomElement","isOnDOM","getSearchInput","getSearchInputDesktop","searchInput","setFocusSearchInput","searchInputDesktop","_searchInputDesktop$s","getSearchInputPathConfig","searchInputRouteMapping","getOriginElementFromPathConfig","searchInputPathConfig","_searchInputPathConfi","fieldsKey","getEventParentDOMElement","getOriginElementFromEvent","_getOriginElementFromEvent","elementFromPath","getOriginElementByElementId","_getOriginElementByElementId","getModalDocumentFromDialog","getModalBodyFromDocument","setModalDialogStyles","setModalPosition","calculateModalPosition","getOriginElement","originElement","searchInputRouteMap","determineHideFooter","utilityMenuItems","matchingItem","findActiveUtilityMenu","hide_footer","getSysProps","uxGlobals","toSentenceCase","INSTANCE_NAME","UI","PRESENCE_DISABLED","USER_MENU_ID","BUTTON_ACTIONS","BELL_CLICKED","NOTIFICATION_TRIGGERED","USER_MENU_HEADER_TEXT","SEARCH_DEFAULT_NOW_ICON","adobeActions","adobeActionTypes","SEARCH_RESULT_CLICK","adobeActionPayloadValues","SEARCH_RESULTS_PAGE_AREA","SEARCH_RESULTS_COMPONENT_NAME","NAVCARD_COMPONENT_NAME","GENIUSCARD_COMPONENT_NAME","ALL_FILTERS_SECTION","MORE_RESULTS_SECTION","SEARCH_RESULT_CARD_SECTION","SEARCH_RESULT_INPUT_FIELD","NO_TITLE_SECTION","getDefaultIconConfig","ns_icon","getSourceIconConfig","lowerCaseSource","snakeCaseSource","getBrandIcon","_getSourceIconConfig","getNowIcon","_getSourceIconConfig2","onWindowResizeEffect","_ref$state","_ref$state$elementPos","elementPosition","currentPosition","onScreenSwitchRequestedEffect","setNowModalRefEffect","onComponentBootstrapped","handleSearchToggledEffect","currentOpenedState","_payload$opened","_payload$term","_payload$attachToNavi","_payload$applyFilters","_payload$filters","_payload$source","_payload$elementId","searchConfigFromContext","isMegaMenuExpanded","handleOpenedSearch","_coeffects$state2","searchBackEffect","handleButtonBareClicked","componentPropertyChangedEffect","overlayOveredEffect","_coeffects$state3","udpateCacheEffect","previousElement","activeElementIdx","previousElementIdx","_ref2$state","isClick","isEscape","isInsideSearchModal","_el$tagName","isEscaped","searchModalStyles","mediaQueryBehavior","xxl","attachClickListener","handleBreadCrumbClick","updateItems","currentItem","currentItemIdx","NOW_BREADCRUMBS_ITEM_CLICKED","SN_CX_BREADCRUMBS_ITEM_DATA_UPDATED","SN_CX_BREADCRUMBS_RENDER_REQUESTED","breadcrumbsDataCache","cacheItems","activeScreenId","rootScreenId","populateCurrentItem","rootItem","cachedItemData","itemsClone","MIN_TRUNCATION_SIZE","MAX_TRUNCATION_SIZE","MIN_CONTAINER_SIZE","measureTextNormal","measureTextCurrent","truncateItemText","measureFn","ellipseSize","displayLabel","processCrumbs","themeables","crumbs","initialLabelSize","iconPadding","iconLabelSpace","crumbIconSize","delimitterIconSize","delimitterMargins","truncateItem","breadcrumbSize","containerSize","targetSize","truncateItems","_truncateItem","_truncateItem2","calcDropdownItems","overflowMenuPosition","newCrumbs","dropdownItems","dropdownButton","calcCrumbs","_processCrumbs","_processCrumbs2","_truncateItems","_truncateItems2","_calcDropdownItems","_calcDropdownItems2","_truncateItem3","_truncateItem4","_truncateItem5","_truncateItem6","renderItemLabel","renderDelimiter","renderCrumb","renderCurrentItem","renderBreadcrumbs","setThemeables","_calcCrumbs","_calcCrumbs2","_theme$NowActionab","currentTooltip","updateUrl","FooterLogo","footerLogoAriaLabel","footerLogoSrc","brandLineText","brandLineSrc","classnames","getSocialIcon","linkedin","LINKEDIN_ICON","youtube","YOUTUBE_ICON","twitter","TWITTER_ICON","facebook","FACEBOOK_ICON","instagram","INSTAGRAM_ICON","getFooterLogo","FOOTER_LOGO","getFooterBrandLine","BRAND_LINE","COPYRIGHT_TEXT","TEXT_DIRECTION","LTR","FOOTER_LOGO_ARIA_LABEL","BRAND_LINE_TEXT","SOCIAL_LINKS_ARIA_LABEL","FooterSocial","socialLinks","socialLinksAriaLabel","copyrightText","FooterNavLinks","navLinks","footerConfig","_footerConfig$nav_lin","nav_links","_footerConfig$social_","social_links","_footerConfig$copyrig","copyright_text","FOOTER_NAV_LINK_CLICKED","FOOTER_NAV_LINK_ELEMENT_REF","FOOTER_NAV_LINK_TRUST_ARC_REF","FOOTER_NAV_LINK_TRUST_ARC_READY","handleFooterNavLinkElementRef","trustArcElement","handleFooterNavLinkClicked","digitalData","pageInfo","eVar20","eVar21","eVar22","handleComponentTreeRendered","handleFooterNavLinkTrustArcReady","POSITIONS","TOP","BOTTOM","_handleClose","beforeClose","containerProps","isTitleClickable","cxPageEvents","NOTIFICATIONS_UPDATED","NOTIFICATION_ACTION_CLICKED","LOADER_ACTION_CLICKED","RECORD_LINK_CLICKED","LOADING_STATUS_CHANGED","SET_PROPAGATED_NOTIFICATIONS","INLINE_NAVIGATION","OPEN_SIDE_PANEL","ADD_NOTIFICATIONS","REMOVE_NOTIFICATIONS","CLEAR_NOTIFICATIONS","SET_LOADING_STATE","uxfPageEvents","inlineNavigationEffect","scrollBehavior","verticalAlignment","openSidePanelEffect","toggleOpenedSidePanelEffect","sidePanelOpened","setLoadingStateEffect","clearNotificationsEffect","uxfPageRef","removeNotificationsEffect","addNotificationsEffect","notificationsUpdatedEffect","loadingStatusChangedEffect","notificationActionClickedEffect","loaderActionClickedEffect","recordLinkClickedEffect","sidePanelProps","isPageLoading","loaderLabel","loaderAction","panelcontent","updateLearnSection","DPSFooter","copyRightYear","showTutorial","hashRoutes","LINK_MAPS","footerSiteMap","activeFooterCategory","computedLink","trustArcElem","appEventData","elemRenderedEventArc","DPS_GENERAL_FEEDBACK_ACTIONS","DPS_GENERAL_FEEDBACK_FORM_TEXTAREA_CHANGE","DPS_GENERAL_FEEDBACK_FORM_FORM_SUBMIT","DPS_GENERAL_FEEDBACK_FORM_OTHER_TEXTAREA","DPS_GENERAL_FEEDBACK_FORM_INPUT_CHANGE","DPS_GENERAL_FEEDBACK_FORM_CHECKBOX_CHANGE","DPS_GENERAL_FEEDBACK_FORM_POST_HTTP","DPS_GENERAL_FEEDBACK_FORM_FORM_SUCCESS","DPS_GENERAL_FEEDBACK_FORM_FORM_PROCESS","DPS_GENERAL_FEEDBACK_FORM_FORM_ERROR","DPS_GENERAL_FEEDBACK_FORM_FORM_RESET","OTHER_OPTION_ID","handleOtherTextarea","showOtherTextarea","validateEmail","routeName","question_5","question_2","emailEntered","question_4","question_1_Other","responseRequested","userEmail","answeredOther","responseRequestedOptions","question_5Index","responseRequestedOption","responseRequestedSysId","other_text","isSubmittedFromUrl","question_2_Other","question_number","handleGeneralFeedbackFormRequested","handleGeneralFeedbackFormSucceeded","handleGeneralFeedbackFormProcessed","handleGeneralFeedbackFormError","_action$payload$targe2","handleCheckboxChange","_action$payload$targe3","showOtherErrorMsg","DPS_GENERAL_FEEDBACK_ACTION_HANDLERS","otherMaxLength","otherCharsLeft","hasUserEmail","showEmailInput","showQuestionOneMessage","question_3","DPS_PREV_NEXT_DOC_ACTIONS","NEXT_CLICKED","PREV_CLICKED","DpsPrevNextDoc","DOC_KEYS","SEISMIC","SEISMIC_DEVTOOLS","TECTONIC","DEV_GUIDES","UXF","XENOLITH","DPS_GUIDES_LAYOUT_DEFAULT_OPTIONS","DPS_GUIDES_LAYOUT_DEFAULT","CUSTOM_OPTIONS","DEV_GUIDES_API","GETMENU","GETCONTENT","guideCatList","DPS_GUIDE_LAYOUT_MENU_ACTIONS","REQUEST_MENU_DATA","MENU_DATA_SUCCEEDED","MENU_DATA_FAILED","GET_CONTENT","CONTENT_DATA_SUCCEEDED","CONTENT_DATA_FAILED","DPS_DROPDOWN_SELECT_OPTION","generateGuidePath","parentType","findSubMenu","menuData","getCategory","doNotSendParentForPrevVancouver","releaseMap","currentRelease","sortedReleases","baseReleaseIndex","findSubMenuChildren","dexDevToolsData","fetchingContent","getMenuData","fetchingMenuData","contentCategory","handleGetContentData","handleContentDataSucceeded","kb_text","contentParent","parent_title","prevIdentifier","main_dc_identifier","nextIdentifier","newRelease","typeList","typeListChildren","contentData","previousGuide","nextGuide","generateURLsForOtherReleases","handleCallFailed","handleGetContentDataFailed","handleGetMenu","handleMenuFetchSucceeded","guideCategory","fixContent","hasSubMenu","handleGetMenuDataFailed","handlePrevClick","handleNextClick","customOptions","expandedNavItems","pendingMenuData","formatFrameworkLabel","adjustedLabel","makeSidebarMenuUrl","hashBangStr","makeSideMenuTypeHashbang","formatNavItems","menuDataItem","navItemChild","showLatestReleaseIcon","reactToHash","DPSOverviewFeedback","learningBackgroundColor","guidesBackgroundColor","connectBackgroundColor","referenceBackgroundColor","componentBackgroundColor","designBackgroundColor","guideOverviewConstants","failureStatus","successStatus","computedReleaseProperty","fullWidthCard","halfWidthCard","DPS_GUIDES_OVERVIEW_ACTIONS","FETCH_NAV_MENU_DATA","FETCH_OVERVIEW_CARDS_DATA","parseNavData","displayCategory","articleDCID","removeSpaceInRelease","halfWidthCardsDataObject","parent_dc_identifier","article_identifier","anchorLinkText","parseCardsData","card_type","cardsData","linkObj","getIntroText","matchExp","fetchGuidesData","introText","releaseVar","handleFetchNavMenuData","handleFetchOverviewCardsData","halfWidthCardsView","fullWidthCardsView","guideSidebarNavItem","isCurrentItemSelected","SIDEBAR_THEME","OVERVIEW","DETAILS","getSidebarTheme","guideSidebarNavGroup","showFeedbackSection","showGuideFeedback","makeBadge","_ref$isFeatured","isFeatured","_ref$badgeIcon","badgeIcon","_ref$badgeText","badgeText","makeCard","numCards","badgeObject","cardStyle","transitionTime","barValue","barMax","timeoutTime","progressBarClasses","makeCardArray","leftCards","activeCard","cardArray","makeActiveCardArray","cardLength","activeCards","targetCard","mouseOver","slideTranstionTime","slidesToMove","inTransition","ADVANCE_NEXT_SLIDE","ADVANCE_TO_SLIDE","SAVE_PNG","copyToClipboard","BASE_PATH","configPath","iconRef","iconSizeLabel","isCallOutOpen","DELTA","MAX","THRESHOLD","_generatePaginationItems","currentPage","pageCount","hidePrevNextButtons","hidePageNumbers","CHANGE_FILTER_QUERY","CLEAR_FILTER_QUERY","FILTER_ICONS","PAGE_UPDATED","SELECTED_ITEMS_SET","filterIcons","filterQuery","filteredIcons","iconStyles","itemsPerPage","sizeOptions","numIcons","startIcon","endIcon","currentSizeOptions","iconSvgData","searchIndex","defaultIconSize","_ref7$properties","hideFrame","gridItem","togglePlayPause","playsinline","muted","onloadeddata","onloadedmetadata","onpause","onplay","onplaying","doImage","dontImage","mostReleases","someReleases","keyDownRef","cursorStart","defaultSearchOptions","searchOptions","mergedSearchOptions","Fuse","handleKeyPress","updatedCursorStart","setSelectionRange","Data","renderQuestionnaireView","showQuestionOneTextarea","showQuestionTwoTextarea","otherOneCharsLeft","otherTwoCharsLeft","showQuestionOneOtherErrorMsg","showQuestionTwoOtherErrorMsg","errorMsgs","renderFormView","showZipCodeErrorMsg","showGdprConsent","zip_code","renderThankYouView","thankYou","isSubmitted","handleDropdownChange","countryCode","countryName","iso_short","handleGetGDPR","handleGetGDPRSucceeded","requires_gdpr","handleGetGDPRErrored","handleShowOtherTextareas","answeredOneOther","answeredQuestionOneOther","answeredTwoOther","answeredQuestionTwoOther","gdpr","tell_us_more","questionOneOtherSysId","questionTwoOtherSysId","requiredQuestions","countryRegex","formQuestionOneLabel","formQuestionOneSysId","formQuestionTwoLabels","formQuestionTwoSysIds","answered","lead_data","country_iso_short","other_sys_id_two","eloqCampId","eloqCookie","eloqFormName","eloqGUID","eloqSiteid","question1","question2","tellMore","errorMsgsCopy","handleFormDataPost","handleFormEloquaDataPost","handleFormSucceeded","handleFormErrored","handleFormEloquaSucceeded","handleFormEloquaErrored","showErrorMsg","DPS_LEAD_TRACKING_ACTION_HANDLERS","formQuestionOneOption","formQuestionTwoOption","handleButtonDecline","showDeclinedView","handleGoBack","isSubmitDisabled","handleDocumentSend","handleDocumentSendSucceeded","isDocumentSent","handleDocumentSendErrored","hasWatchedIntro","introSwitch","signedLeadTracking","declinedImg","DPS_LIBRARY_TABLE_ACTION","columnDef","sortDef","globalStyle","sortOrder","isAvatar2OutYet","canSort","linkStyles","trackingLink","read_percent","progressTitle","codeIcon","CodeCompleteIcon","CodeIcon","docIcon","DocumentCompleteIcon","DocumentIcon","statusMsg","second_level_articles_read","whoOptions","whatOptions","typeComponent","typeInternal","_checkWhat","who","what","activeCategory","activeNavSubMenu","pendingNavSubMenu","navOpen","showInstanceManagement","showLoginManagement","showMainMenu","showSearchBar","showBasicNav","hasPreferredVersionMismatch","hasInstanceVersionMismatch","lastRequestedRelease","bannersOpenedCount","animationType","animationRequest","WINDOWS","MACINTOSH","IOS","ANDROID","SAFARI","IE","supportTouch","isLikelyIPad","SYSTEMTYPE","PHONE","DESKTOP","BREAKPOINTS","RESPONSIVE_BREAKPOINTS","getViewportCategory","getResponsiveType","getBreakpointRange","bpKey","getMediaInfo","_getBreakpointRange","responsiveType","srcsetHint","suggestedSize","setupResponsiveObserver","getTimeZoneName","Client","system","responsiveBreakpoints","newViewportCategory","isResponsivePhone","isResponsiveTablet","isResponsiveDesktop","LEVELS","globalLevel","_console2","_console3","setDebug","OneX","PRIMARY_NAVIGATION","PRIMARY_MENU","UTILITY_MENU","USER_PROFILE","BACK_BUTTON","SIGN_IN","LANGUAGE","NOTIFICATION","TASK","PROFILE","AIAssist","UTILITY_NOTIFICATION_ELM_ID","THEME_COLORS","dark","SECONDARY_DROP_MENU_ITEM_ICON_COLOR","MENU_TYPES","NAV_EXPERIENCE","UNIVERSITY","MYNOW","NOTIFICATIONS_LABEL","EXPERIENCE_NAME","RESPONSIVE_TYPES","focusableElemSelectors","languageDropdownFocusableSelector","profileUtilityDropdownFocusableSelector","createInteractionHandler","ignoreSpace","interactionHandlers","moreHandlers","InteractionState","newMethod","createHoverHandler","fnIn","fnOut","hoverHandlers","isSupportedExperience","contextPath","_experienceConfigs$co","appRouteConfiguration","_experienceConfigs$co2","getRouteFields","_experienceConfigs$co3","getRouteConfig","routeValue","routeFields","paramValues","isDesktopDevice","getClientBreakpoints","payloadMedia","shouldShowMegaMenu","popupMenuContext","isImageIconTypeGroupLinks","groupLinks","findSecondaryMenuParentElement","targetSysID","sysID","tabIndexIfNotDesktop","getDirectionProps","forwardDirection","backDirection","MEGA_MENU_TOGGLED","MEGA_MENU_CLOSE_ICON_CLICKED","PRIMARY_MENUITEM_FOCUS_REQUESTED","PRIMARY_MENUITEM_BLUR_REQUESTED","PRIMARY_MENU_INSERTED","MEGAMENU_ELEMENT_REF_UPDATED","MEGAMENU_GROUP_ITEM_CLICKED","MEGAMENU_GROUP_LINK_CLICKED","MEGAMENU_COLLAPSIBLE_ITEM_TOGGLED","MEGAMENU_CONTENT_ESCAPED","UTILITY_BUTTON_CLICKED","MENU_TOGGLE_BUTTON_CLICKED","MOBILE_MENU_CLOSE_REQUESTED","LANGUAGE_SELECTOR_TOGGLED","SN_CX_NAVIGATION_LANGUAGE_SELECTED","PROFILE_DROPDOWN_TOGGLED","PROFILE_OPTIONS_CLICKED","LANGUAGE_SELECTOR_ELEMENT_REF_UPDATED","NOTIFICATION_DROPDOWN_ELEMENT_REF_UPDATED","UTILITY_DROPDOWN_ELEMENT_REF_UPDATED","PROFILE_DROPDOWN_ELEMENT_REF_UPDATED","SECONDARY_DROPDOWN_ELEMENT_REF_UPDATED","SECONDARY_DROPDOWN_SELECTION","SECONDARY_MENUITEM_FOCUS_REQUESTED","SECONDARY_MENUITEM_BLUR_REQUESTED","ACTIVE_SECONDARY_MENUITEM_UPDATED","SECONDARY_MENUITEM_CLICKED","SECONDARY_POPOVER_MENUITEM_CLICKED","SECONDARY_MENU_INSERTED","SECONDARY_MENU_RESIZED","SECONDARY_MENU_DROPDOWN_ITEM_TOGGLED","SECONDARY_MENU_TOGGLED","SECONDARY_CTA_UPDATE_REQUESTED","SECONDARY_DROPDOWN_LEVEL_UPDATED","CLOSE_POPOVERS","TOOPTIP_TARGET_REF","MEGAMENU_REF","TRACK_ANALYTICS_CLICKED","CTA_BUTTON_FOCUSED","CTA_BUTTON_BLURRED","SCREEN_RESIZED","SEARCH_MODAL_CLOSED","ANCHOR_TAG_CLICKED","ANALYTICS_COMPONENTS_ID","PRIMARY_GLOBAL","PRIMARY_MENUITEM","PRIMARY_SIDEBAR","PRIMARY_GROUPLINKS","PRIMARY_CTA","SECONDARY_GLOBAL","SECONDARY_MENUITEM","SECONDARY_CTA","LANGUAGE_SELECTED","ANALYTICS_SECTION_MAPPING","isPrimaryNav","getNavExperience","getCTAText","getPrimarySectionTemplate","ctaTextRef","_menuItemContext$cont","_menuItemContext$cont2","menuItemContext","groupItemContext","primaryLabel","defaultSidebarItem","sidebarText","parsedCTAText","getSecondarySectionTemplate","_popupMenuContext$ite","currentSecondaryMenuLevel","secondaryLabel","formatPayloadToLowercase","formatAdobeDigitalDataPayload","_ref3$level","_ref3$isPrimaryNav","experienceLabel","sectionTemplate","renderImgSources","logoSrc","srcset","Logo","_ref3$type","_ref3$isDesktop","_ref3$isMobile","eventConfig","logoRef","isSecondaryMenuLogo","hasEventHandler","handleLogoClick","logoText","currentExperience","renderLogoImg","_ref4$logoSrc","snLogo","myNowLogo","commonProps","MegaMenuCrossIconSVG","ChevronSVG","_ref$direction","SidebarLinkArrowSVG","_ref2$direction","HelpIconSVG","LogoutIconSVG","UserMagmtIconSVG","MyProfileIconSVG","PrimaryNavLogo","InfoSVGComponent","AIAssistSVG","LanguagesGlobeSVG","LanguagesGlobeSVGSmall","NotificationsBellSVG","NotificationsBellSVG_Green","NotificationsBellSVG_NONE","NotificationsBellSVGSmall","TaskSVG","SearchSVG","ExternalLinkOpenSVG","ChevronUpSVG","ChevronDownSVG","ChevronDownIconDark","ChevronUpIconDark","ChevronDarkSVG","_ref3$direction","TripleBarSVG","CloseOutlineSVG","ArrowSVG","_ref4$direction","ExternalLinkSVG","ChevronDownLightSVG","AngleDownSVG","AngleUpSVG","BackButtonSVG","XMarkSVG","ChevronUpLightSVG","PrimaryMenuItem","_state$popupMenuConte","focusedMenuItem","_popupMenuContext$ope","activePrimaryMenu","_getDirectionProps","chevronDirection","isHover","handleMenuClick","handleMenuBackClick","PrimaryMenuList","renderMenuItem","handleLanguageSelection","activeLanguage","getLanguageItemState","isLanguageDisabled","renderLanguageItem","focusState","shouldFocus","hasFocusedFirst","langItem","LanguageMenuItem","_ref2$languageRegion","languageRegion","_ref2$activeLanguage","_ref2$languageMap","languageMap","_ref2$isDesktop","activeLocale","shouldShowLanguageSelector","languageUtilitySysId","handleLanguageMenuRefUpdate","langSelectorRef","DisabledLanguageAlert","showDisabledAlertMsg","disabledLanguageMsg","LanguageMenuHeader","handleReturn","handleClose","LanguageMenu","_ref4$isDesktop","languageRegions","showLanguageSelector","handleUtilityButtonClick","NotificationMenuHeader","handleNotificationListRefUpdate","notificationListRef","NotificationMenu","RECORD_WATCHER_ACTIONS","SUBSCRIBED_STARTED","SUBSCRIBED","SUBSCRIBED_FAILED","UNSUBSCRIBED","ITEM_CHANGED","AGGREGATE_COUNT_ACTIONS","SUCCEEDED","FAILED","REST_COUNT_ACTIONS","aggregateCountQuery","fetchAggregateCountEffect","recordWatcherHandler","getSubscriptionArgs","clearNotificationCount","clearNotificationDataEndPoint","configurations","clearTaskCount","clearTaskDataEndPoint","getHTTPInterceptor","dataEndPoint","lifeCycleActionHandlers","clearNotificationRoute","clearTaskRoute","aggregateCountActionHandlers","recordWatcherActionHandlers","countUpdate","badgeDataProvider","_round","suffixNumber","hideCount","_state$properties$cus","customStyles","isNotificationRoute","hasCustomStyles","cappedCount","overflowCharacter","UtilityDropdownMenuHeader","handleUtilityDropdownRefUpdate","utilityDropdownRef","UtilityDropdown","_ref3$item","UTILITY_ICON_MAP","getUtilityIcon","requestMobileMenuClose","shouldUseAnchor","urlTarget","hasPopup","utilityRef","UtilityItemTray","_ref$item","_ref$utilityConfig","utilityConfig","_ref$isDesktop","UtilityItem","_menuTypeClassMap$nav","_ref2$item","_ref2$badgeCount","badgeCount","_ref2$utilityConfig","navigationMenuContext","navigationType","currentPopupItem","currentPopupOpen","_item$toolTip","menuTypeClass","UtilityAnchor","UtilityButton","UtilityTooltip","_ref5$item","isSecondaryMenu","NotificationBadge","notificationConfig","TaskBadge","taskConfig","_notificationConfig$h","_notificationConfig$h2","_taskConfig$hideCount","_taskConfig$hideCount2","redBadgeStyles","Divider","ProfileMenuNavigation","focusProfileScoreElement","menuRoot","_nowTextLink$shadowRo","nowTextLink","ProfileMenu","_items$items","_ref2$profileId","profileId","_ref2$avatar","_ref2$items","_ref2$popupMenuContex","avatarPath","showProfileDropdown","profileEmailRef","targetref","_menuRoot$dataset","hasProfileScore","profileMenuItem","handleMenuItemClick","_menuRoot$dataset2","profileDropdownRef","isGamificationEnabled","firstMenuItem","getUserAvatar","_userMeta$presence","currentUser","userMeta","user_available","handleToggleProfileDropdown","handleSignInInteraction","renderUtilityItems","renderProfileUtilityItems","renderSignIn","_ref$items","_ref$currentUser","_ref$dispatch","isMobileMenuOpen","handleMenuToggleClick","UTILITY_POPUP_TYPES","MenuToggle","_ref$popupMenuContext","activeMenuItem","isUtilityPopupOpen","PrimaryCTAs","ctas","handleInteractionClick","getNotificationsLabel","getLanguageNameForActiveLanguage","MobileUtility","renderMobileUtilityItems","MobileUtilityItem","shouldCloseMobileMenu","MegaMenuFooterActions","handleLinkClick","isPhoneNumber","renderMegaMenuFooterActions","megamenuCTAs","MobileCTAs","primaryCTAs","_ref2$cta","handlePrimaryMenuInserted","menuEl","MobileUtilitySection","primaryUtility","PrimaryMenu","logo","_ref3$primaryUtility","validMobileUtilityTypes","filteredPrimaryUtility","filteredMobileUtility","PrimaryLogo","UtilitySection","logoAlt","renderDropdownSubItemIcon","subItemsL2","DropdownMenuButton","subItem","DropdownMenuLink","SecondaryMenuDropdownItem","_ref3$secondayDropdow","secondayDropdownSubItemContext","grandParentItem","_ref3$isButton","isButton","toggleSecondaryDropdownSubItem","currentSubItem","secondaryDropdownSubItem","menuLevelDelta","dropdownSelectionHandler","_subItem$routeConfig","_subItem$eventConfig","mouseClickEvent","SecondaryMenuDropdownExpandedItem","_ref$secondayDropdown","_item$items","SecondaryMenuDropdownTitle","toggleInteraction","renderDropdownListItemExpanded","expandedSubItem","SecondaryMenuDropdown","showDropdown","_ref2$dispatch","_ref2$secondayDropdow","clickHandlerInteraction","_rootItem$items","isSubItemExpanded","showExpandedItem","prevParent","prevGrandParent","isRootParent","currentGrandParent","dropdownTitle","secondaryMenuDropdownRef","currentOpenItem","shouldShowDropdown","_popupMenuContext$ite2","_popupMenuContext$ite3","getMenuItemState","activeMenu","MenuButton","MenuLink","SecondaryMenuItem","_item$id","_item$sub_items","_ref5$popupMenuContex","sub_items","_getMenuItemState","getVisibleMenuItems","handleMenuInserted","handleMenuDestroyed","_resizeObserver","getOverflowMenuItem","overflownItems","overflowMenuItem","menuIWithOverflownItems","SecondaryMenuList","itemsWithOverflow","visibleMenuItems","getVisibleCTAs","secondaryCTAs","SecondaryCTAs","visibleCTAs","CTAButton","handleCTAInteraction","_cta$type","_cta$disabled","_cta$startIcon","_cta$endIcon","_cta$iconOnly","iconOnly","isIconOnly","isInformational","classesConditions","ctaClass","renderCTAIcon","getCTAContent","SecondaryLogo","EmptyLogo","SecondaryMenu","secondaryUtility","secondaryMenuExpanded","hasDropdownExpanded","hasSecondaryUtilityPopupOpen","showSecondaryUtility","utility","MegaMenuSidebar","_navItem$content","_navItem$content$side","_navItem$content$side2","sidebarLinks","handleGroupItemClicked","MegaMenuSection","_ref$focusedMenuItem","_section$ctas","linkTypeCtas","MegaMenuGroupLinks","groupLinkHeading","hasIconLinks","punchOut","renderTextLink","imageUrl","renderMediaLink","MegaMenuBanner","imageAltText","_banner$ctas","isCard","ctaLinks","handleCollapsibleItemClicked","MegaMenuCollapsibleItem","_item$banner","MegaMenuCollapsibleList","sidebarItem","_ref2$groupItemContex","_sidebarItem$items","MegaMenuMobileLinks","MegaMenuMobileContent","_content$sidebar","_content$sidebarLinks","isLastItem","MegaMenu","showMegaMenu","_context$item","_item$content","handleMegaMenuClose","_ref2$section","_ref2$groupLinks","_ref2$banner","_ref2$groupLinkHeadin","groupLinksCount","isImageIconType","megamenuRef","MegaMenuFooter","matchContentToMenuItem","_item$routeConfig","_content$fields","_content$params","_content$context","_item$routeConfig$con","itemPath","_item$routeConfig$con2","itemFields","_item$routeConfig$con3","itemParams","findMatchingMenuItem","_item$popoverItems","foundInSubItems","foundInPopovers","popoverItems","findActiveMenu","secondaryMenuItems","activeSecondaryNavItem","activeSubNavItem","matchedItem","computeActiveMenu","activeMenuState","_state$properties$not","_state$properties$tas","_state$properties$cur","_state$secondaryMenuE","_state$responsiveCont","responsiveContext","_state$secondaryCTAs","_ref2$megamenuCTAs","_ref2$primaryCTAs","_ref2$logo","_ref2$primaryUtility","_ref2$secondaryUtilit","_activeMenuState$acti","showSecondaryMenu","getFirstFocusableElementDeep","parentOrSelector","focusableSelector","_el","getPrimaryMenu","getSidebar","megaMenuComponent","getFocusableMegaMenuContentElements","megamenuContentContainer","megamenuContentElements","footerElements","getFocusableSidebarElements","_querySelectorAllDeep","getMegaMenu","getSecondaryDropdownMenu","getFocusablePrimaryMenuElement","focusablePrimaryMenuId","activePrimaryMenuElem","activePrimaryMenuBtn","isSidebarPresent","popupItem","getSidebarActiveElement","focusableSideBarElements","activeFocusedElemIdx","_element$classList","getSidebarFocusableElements","getSidebarActiveElementIndex","activeSidebarElementIdx","sidebarPresent","getActiveMegamenuContentElementIdx","focusableMegamenuContentElements","activeMegamenuContentElementIdx","selectNextMegamenuElement","selectNextMegamenuContentElement","activeMegamenuContentElemIndex","sortElements","selectSecondaryMenuDropdownElement","secondaryDropdown","secondaryDropdownFocusableElements","activeElemIdx","handleSecondaryMenuItemFocus","secondaryMenuListRef","secondaryMenuEl","secondaryMenuElemId","secondaryMenuElem","focusableElem","utilityItemsMapping","getUtilityDropdown","utilityType","getLanguageDropdown","getProfileUtilityDropdown","getNotificationDropdown","getTaskUtilityDropdown","getSearchUtility","handleUtilityFocus","utilityItemSelector","utilityListItem","focusableUtilityElement","selectNextUtilityDropdownElement","utilityDropdown","utilityDropdownFocusableSelector","activeElemIndex","menuItemWidth","overflowElementWidth","toggleMegaMenu","handleMegamenuRef","handleMenuClicked","_coeffects$state$menu","sameMenuItemToggled","getMenuOpenState","handleMenuItemFocus","handleMenuItemBlur","menuClickNavigation","navTarget","handleActiveSecondaryMenuItem","handleSecondaryMenuItemClicked","_item$url","_item$urlTarget","_item$eventConfig","handleLinkNavigation","isCmdClick","clickEvent","MouseEvent","handleSecondaryPopupMenuItemClicked","handlePopupTargetRef","navigationPropertyChanged","handleClosePopovers","_state$megaMenuContex","megaMenuContext","EMPTY_OBJ","handleUtilityItemClicked","_coeffects$action$pay5","_coeffects$action$pay6","_coeffects$action$pay7","_item$url2","_item$urlTarget2","_item$eventConfig2","newPopupMenuContext","handleNotificationListRefUpdated","_coeffects$action$pay8","_coeffects$action$pay9","_coeffects$action$pay0","handleUtilityDropdownRefUpdated","_coeffects$action$pay1","_coeffects$action$pay10","_coeffects$action$pay11","handleGroupLinkClicked","handleMegaMenuCloseClicked","toggleProfileDropdown","_coeffects$action$pay12","handleProfileDropdownItemClicked","_coeffects$state4","_item$routeConfig2","_item$url3","_item$urlTarget3","_item$eventConfig3","toggleLanguageSelector","_coeffects$action$pay13","_coeffects$action$pay14","_item$hasPopup","_item$type","handleMegaMenuGroupItemClicked","_coeffects$action$pay15","handleMegaMenuCollapsibleItemToggled","handleGroupItemEscaped","handleMegamenuElementRef","_coeffects$action$pay16","handleLanguageSelectorRefUpdated","_coeffects$action$pay17","handleProfileDropdownRefUpdated","_coeffects$action$pay18","handleSecondaryDropdownRef","_coeffects$state5","_coeffects$action$pay19","_state$popupMenuConte2","toggleSecondaryMenuDropdownItem","_coeffects$action$pay20","handleSecondaryDropdownSelection","_coeffects$state6","_coeffects$action$pay21","handleSecondaryMenuLevelUpdate","_coeffects$action$pay22","handleSecondaryMenuToggled","onSecondaryMenuInserted","_coeffects$action$pay23","cacheOverflowElementWidth","overflowElement","getMenuItemsInfo","wrapperOffsetLeft","_secondaryMenuEl$quer","navMenuElement","markOverflowItems","hasOverflowItems","availableWidth","navMenuElementInfo","_menuItems$i","_menuItems$i2","_menuItems$i3","_menuItems$i5","_menuItems$i6","navMenuElementData","_menuItems$i4","elementOffsetWidth","elementOffsetLeft","processSecondaryMenuItems","_state$overflownItems","shouldOverflow","handleAnalyticsClicked","_coeffects$action$pay24","handleMobileMenuToggle","handleMobileMenuCloseRequest","handleComponentBootstrapEffect","handleComponentDisconnectedEffect","handleScreenResizedEffect","_responsiveContext$me","secondaryCTAsUpdateEffect","handleSearchModalClosed","searchUtility","effectHandlers","_navigationEffects$ef","navigationEffects","languageSelectorRef","groupItemContextEscaped","isClickInsideAllowedElements","_getActiveMegamenuCon2","isFocusInsideMegaMenuContent","_getSidebarActiveElem2","languageDropdown","profileDropdown","notificationDropdown","_getSidebarActiveElem","sideBarContextId","focusableSidebarElemIdx","userAvatar","userInitials","DPSLogin","isTabOpen","statusIcon","handleUserAvatarClick","getCategoryKey","categoryKey","sectionNameKeys","getOrderedCategoryList","encodeForSearch","shouldFetchAutoSuggest","shouldEmptySuggestionList","showAutoSuggestList","searchRedirect","searchValue","isUpdateClusterSearchEnabled","searchOption","isSearchResultPage","suggestionPayload","DPS_SEARCH_ACTIONS","GET_AUTO_SUGGESTIONS","GET_AUTO_SUGGESTIONS_SUCCEEDED","AUTOSUGGEST_LIST_ITEM_SELECTED","GET_AUTO_SUGGESTIONS_FAILED","KEYBOARD_KEY_CLICKED","INPUT_VALUE_CLEAR","INPUT_VALUE_CHANGE","INPUT_CLOSE_BUTTON_CLICKED","UPDATE_SOURCE_TYPE","SEARCH_BAR_CONSTANTS","SOURCE_TYPE","DEVELOPER_SITE","SERVICENOW","suggestionsList","isSolrEnabled","isAutoSuggestionEnabled","highlightTerm","isClusterSearchEnabled","dropdownSelection","enableSourceOption","dropdownOpened","keySelectEnabled","isDirtyTerm","listRef","searchValueObject","sourceOptions","highlightValue","DROPDOWN_KEY_CLICKED","VALUE_CHANGE_WITHOUT_DEBOUNCE","VALUE_CLEAR","DPS_SEARCH_PAGE","TRIGGER_BASIC_SEARCH","FETCH_RELATED_SEARCH","FETCH_RELATED_SEARCH_FAILED","FETCH_RELATED_SEARCH_SUCCEEDED","SEARCH_PAGE_ACTIONS","HANDLE_BASIC_SEARCH","HANDLE_BASIC_SEARCH_SUCCEEDED","HANDLE_BASIC_SEARCH_ERRORED","HANDLE_UPDATE_URL_ROUTES","HANDLE_SEARCH_FILTER_SELECTED","HANDLE_RELATED_TERM_CLICK","HANDLE_FILTER_PILL_DISMISS","TRACK_SEARCH_RESULTS_CLICK","TRACK_SEARCH_RESULTS_CLICK_SUCCEEDED","SEARCH_TEXT_CLEARED","sourceTypes","sourceType","suggestionsRelease","valueWithoutDebounce","isFetchtingSearchResults","suggestionsSource","isSolrOldPhaseEnabled","isFetchingAutosuggestResults","queryParam","searchClsfRelease","searchSource","sanitize_keywords_map","DPSNavigationHeaderDropdown","animationClass","DPSNavigationCard","_properties$content","contentVariant","DPSNavigationSection","InstanceMenuView","disableRefreshButton","baUpgradeInProgress","display_image","InstanceActivityView","WakeInstanceView","InstanceManagementViewSelector","userPDIRole","_instanceInfo$instanc2","isAESNotInstalled","aesAlertMessage","DPSNavigationInstanceManagement","nextMaintenance","recentActivity","DPSNavigationLoginManagement","account","logout","handleOnReleaseCardClick","_renderWarning","transformedVersionSelected","transformedPDIRelease","transformedRouteRelease","errorTitle","errorBody","versionsArr","textGridColumn","versionsGridColumn","isStacked","latestReleaseNotes","moveIndicatorToActiveItem","activeItemSelector","indicatorSelector","RESIZE_OBSERVER_ACTIONS","TARGET_RESIZED","moveBetweenContent","prevItemIndex","nextItemIndex","_ref$type","_ref$request","pendingItemIndex","ACTIVE_CATEGORY","MAIN_MENU","LOGIN_MANAGEMENT","VERSION_SELECTOR","DEFAULT_TAB_STATES","NAV_CTA_ID","START_BUILDING","PROGRESS_INSTANCE","MANAGE_INSTANCE","lastColumn","navRef","navUnifiedRef","searchModalRef","checkReleaseMismatch","getEventData","adobeQualtricsUserData","eventData","companyName","oktaId","user_information","findMenuByLabel","menuLabel","navLevelIndex","_item$label","accumulatedCTAText","_renderNavElem","navConfig","_navConfig$children","isCurrent","isNavOpen","navElem","_renderUtilityNavButton","hasWarning","tooltipRefName","_ref$buttonConfig","versionIsCurrent","_renderDropdownContent","_section$children","_section$params","firstColumn","childContent","linkRelease","childLink","DPSNavigationHeader","_instanceInfo$instanc3","_onexMenu$navigationC","_window$location$hash","_hashRoutes$","_onexMenu$navigationC8","_onexMenu$navigationC9","isAutoAssignFlowActive","subMenuLoginManagement","subMenuVersionSelector","navHeaderInfo","userDisplay","userDisplayName","loggedIn","isAuthenticated","newNavEnabled","blueSpinnerIcon","ctaItem","_onexMenu$navigationC2","requestInstanceCta","_onexMenu$navigationC3","_onexMenu$navigationC4","_instanceInfo$catItem4","_onexMenu$navigationC6","_onexMenu$navigationC5","progressMessageToDisplay","inProgressMessage","_onexMenu$navigationC7","loadedRoute","processNavItems","IsSubmenu","initials","navigationConf","navigatingConfStr","navTopOverlayOffsetForSearch","attachToPrimaryMenu","SETUP_STYLE_ID","TOOLTIP_STYLE_ID","isWaitlistCta","needsCtaStatusOverrides","navEl","tooltipStyleEl","existingTooltip","ServiceNowLogo","parentNavItem","screenType","_searchModalRef$curre","_action$payload$tab","_action$payload$activ","newActiveCategory","animationObj","isBaFlow","_searchModalRef$curre2","_searchModalRef$curre3","ROUTES","aiSearch","homepage","_aaDigitalData$event","_coeffects$properties3","_aaDigitalData$event2","_aaDigitalData$event8","_navUnifiedRef$curren","_navUnifiedRef$curren2","_aaDigitalData$event3","_aaDigitalData$event4","_aaDigitalData$event5","_aaDigitalData$event6","_aaDigitalData$event7","_state$properties8","_action$payload$exter","animationProps","moveActiveIndicator","exceedMaxPollMessage","markOffline","needAlwaysOn","needBlockOther","needConfirmed","requestSubmittedMessage","to_display","tooltip_text","confirmMessage","filteredMenuItems","overviewPageData","detailsPageData","DPS_PLAYGROUND_API","DPS_PLAYGROUND_FETCH","DPS_PLAYGROUND_FETCH_SUCCESS","DPS_PLAYGROUND_FETCH_ERROR","DPS_PLAYGROUND_DELETE","DPS_PLAYGROUND_DELETE_SUCCESS","DPS_PLAYGROUND_DELETE_ERROR","DPS_PLAYGROUND_CREATE_UPDATE","DPS_PLAYGROUND_CREATE_SUCCESS","DPS_PLAYGROUND_CREATE_ERROR","DPS_PLAYGROUND_PLAYGROUND_CHANGED","DPS_PLAYGROUND_PLAYGROUND_READY","bootstrapPlayground","fetchConfig","sharedId","generatedStageId","loadConfigTimer","tick","killLoadTimer","_event$data","stageId","playgroundReady","copyText","shareUrl","prototypeId","saveType","saveConfig","configurationName","userConfig","playgroundPrototypeElement","gallery","userPrototypes","sharedPrototype","stageTarget","stage","activePrototype","activePrototypeId","allPrototypes","component_configuration","configuration_name","updatedOn","updated_on","createdBy","created_by","sharedDuplicate","createPermalink","hashParams","successLabel","hasBeenCopied","permalinkText","setStageRef","stageReady","playgroundConfig","slottedContent","DPS_PROGRESS_BAR_EXAMPLE_SET_BAR_VALUE","_ref$state$barValues","barValues","bar1","bar2","DPSQuestion","answerVisible","answer","getCategoryLink","categoryItem","categoryLinkTag","categoryLink","categoryTag","course_link","course_name","requestResponseSysID","categoryTags","categoryTarget","module_name","module_link","class_link","class_name","categoryTagItem","total_ratings","SEARCH_ACTIONS","RESULTS_FETCH","RESULTS_FETCH_FAILED","RESULTS_FETCH_SUCCEEDED","UPDATE_QUERY","UPDATE_DIRTY","CHANGE_PAGE","PREV_PAGE","NEXT_PAGE","AUTO_SUGGEST_LIST_ITEM_SELECTED","PERFORM_SEARCH","TRACK_SEARCH_LINKS_CLICKS","TRACK_SEARCH_LINKS_CLICKS_SUCCEEDED","selectedCategory","categoryResults","pagination","activePage","_DPS_SEARCH_SECTION_N","viewingAll","resultLimit","allPerPage","lastPage","last_page","displayShowMoreLink","categoryLabel","RawNav","ComponentNav","APINav","ExperienceNav","PlatformNav","APIScopedNav","gridColumnGap","activeIndex","DPS_THREE_DOT_MENU_OPENED_SET","NOW_ALERT_STATUS","truncateMessage","useNowAlert","debounceClicked","hideTime","_ref3$action$payload","buttonId","DPS_TRENDING_DISCUSSIONS_ACTIONS","GET_LATEST_DISCUSSIONS","GET_LATEST_DISCUSSIONS_SUCCEEDED","GET_LATEST_DISCUSSIONS_FAILED","handleGetLatestDiscussions","handleComponentConnected","defaultSelectedVersion","handleGetLatestDiscussionsFailed","trendingDiscussions","handleGetLatestDiscussionSucceeded","communityWidget","discussion","renderCardArray","prototypeReadyObj","componentFriendlyName","carouselReady","isImageReady","prototypeValue","isPlaygroundReady","prototypeName","goToCard","slide","imageLink","renderSingleCard","createCardsData","processReleaseName","returnReleaseVar","DPS_VISUALS_CAROUSEL","PLAYGROUND_READY","prototypeConfig","is_current","exampleManifest","makeUrl","getTrainingNav","calculateArticlesReadAndCount","articles_count","articles_read","jumpTo","scrollOffset","trainingData","twoLevelNav","hasPageLoadedOnce","training_blurb","surveyTriggeredOnThisPage","_calculateArticlesRea","courseCategory","moduleModalData","moduleModalOpened","DPSLearning","courseIcon","courses","CourseHeader","moduleLabel","ctaLabel","lessonId","DPS_LEARNING_MODULE_ACTIONS","LEARNING_MODULE_BOOTSTRAPPED","LEARNING_MODULE_FETCH_FAILED","LEARNING_MODULE_FETCH_SUCCEEDED","LEARNING_MODULE_STICKY_OFF","LEARNING_MODULE_STICKY_ON","getLpLessonData","currentLesson","learningModule","_learningModule$compo","nextModule","_learningModule$compo2","currentModuleTitle","_learningModule$learn","learning_plan","learningPlanName","lpStatus","lpPercentage","lp_qualtrics_survey_on","availableLanguages","available_languages","learningPlanId","stickyHeader","lp_permalink","lesson_permalink","no_lesson_content","internalResult","_learningModule$compo3","_learningModule$compo4","prevLink","nextLink","getTranslatedModulePageUrl","translationBarEnabledStr","validAvailableLanguages","showLearnFeedback","currentLessonText","BookIcon","content_type","isComplete","handleBuildAgentOpen","_instanceInfo$isOnlin","_instanceInfo$isOnlin2","autoAssignAlertType","buildAgentModalOpened","buildAgentModalMode","infoCircleSvg","MODE_MODAL_CONFIG","modalSize","showUpgradeInstance","confirmRequest","renderUpgradeBody","renderConfirmRequestBody","renderWakeupBody","MODE_BODY_RENDERERS","renderBody","BUILD_AGENT_MODAL","OPEN","UPGRADE","headerImage","Courses","NowLearning","_state$learningPlansD","learningPlansData","learnPlanImg","numberOfLessons","data_points","getLearningPlans","blurb_message","calculatePlanDetails","lp_data","get_lessons_count","learningPlan","openLearnMoreModal","calculateHeightFromState","moduleContentRef","calculatedHeight","contentHeight","DpsCollapsableModuleCard","collapseBarText","percentageComplete","startLink","_lesson$isRead","_lesson$type","pageDetails","page_details","_pageDetails$data","_pageDetails$data$lea","detailed_description","number_of_components","completed_components","completed_lessons","modulesPlus","number_of_lessons","completedLessons","percentage_complete","getLpContentData","_payload$result","_data$learning_plan","AVAILABILITY_FILTERS","internalDefault","BOOKMARK_FILTER","NDS_FILTER","INTERNAL_FILTER","NPM_FILTER","internalLabel","unauthenticated","UIB_FILTER","HIDDEN_PARAMS","ARRAY_FILTER_TYPES","searchEnabled","enabledFilterGroups","additional","SORT_OPTIONS","ELEMENT_TYPE_IDENTIFIERS","COMPONENT_SEARCH_BATCH_TIMEOUT","ZIP_UP_CONST","MAP_OBJECT","COMPONENTS_PAGE_URL_WITHOUT_PARAMS","getDefaultFilters","elementTypesData","pdiReleaseName","pdiRelease","defaultFilters","toggleReleasesIfUnset","availableReleases","filtersToParamsString","queryArray","filtersToParamsObject","findAndAddActiveFilter","currentFilters","activeFilters","newFilterValue","activeFilter","paramsToFilters","queryParamsObject","filterCategories","order_by","paramNameWithoutBrackets","accessAllowed","cleanBracketsFromParamsObject","cleanParams","mergeActiveFiltersWithDefaults","typeFilters","storeFiltersInLocalStorage","storageObj","updateFiltersFromStorage","storageFilters","newFilters","componentsPageOpenedFromNav","replaceHash","__CURRENT_SEARCH_COUNT","initialSearchCompleted","DPS_COMPONENT_SEARCH_SUBMIT","__COMPONENT_SEARCH_CARD_OBSERVER","galleryCard","inViewport","isPageReloaded","_elementTypesData$val","switchingTypes","performSearch","__gallery_search_timeout","sectionFilters","nonFilterParams","defaultTypeParams","queryParamsString","newHash","filterGroup","checkboxLabel","setCache","stringifiedData","bookmarkingEnabled","cacheImageSrc","_items$key","show_badge","availabilityLowercase","_ref4$action$payload","_renderFilterList","comingSoon","formattedLabel","signInClicked","numActiveFilters","storageValue","_renderSearch","_renderFilters","listOfFilters","numFilters","BrandFilterIcon","currentGroup","_renderSideBar","currentQueryString","currentType","nbspDiv","multipleSearchesRunning","NoResultsSvg","sortOptions","aIndex","availableCategoriesWithType","DPS_COURSE_MODULE_ACTIONS","COURSE_MODULE_BOOTSTRAPPED","COURSE_MODULE_FETCH_FAILED","COURSE_MODULE_FETCH_SUCCEEDED","COURSE_MODULE_STICKY_OFF","COURSE_MODULE_STICKY_ON","getCourseModule","fetchingCourseModule","current_module","articles","next_module","course_completion","_currentLesson","nextLesson","prevLesson","nextModuleTitle","nextModuleLink","topic_id","courseModuleData","_properties","callGetCourseModule","topicId","tutorialId","exercises","_pageDetails$data$tut","tutorial","number_of_exercises","completed_exercises","last_visited_exercise_permalink","github_link","tutorial_link","headerButtonLink","tutorialStatus","github_path_array","exercise","Colors","_exercise$isRead","TUTORIAL_DETAIL_ACTIONS","FETCH_DETAILS","FETCH_DETAILS_SUCCEEDED","FETCH_DETAILS_FAILED","_data$tutorial","handleFetchResults","failActionType","handleTrackSearchLinksClicks","shouldFetchClusterSearch","searchData","Learn","Guides","Reference","Share","Community","Blog","clusterQuery","isClusterSearch","isFetchingSearchResults","loadingResults","categorySearchResults","handleChangePage","_ref2$state$propertie","handleUpdateQuery","handleUpdateDirty","handleChangeQuery","handlePrevPage","_ref6$state$propertie","handleNextPage","_ref7$state$propertie","handleResultsFetchSucceeded","search_results","orderedSectionKeys","sectionKeys","sectionTitles","search_params","sortedSectionKeys","related_search","related_search_terms","relatedSearch","handleResultsFetchFailed","handlePropertyChanged","changedProperty","changedPropertyList","queryInURL","queryWithoutDebounce","renderResultCategories","allCategoryResults","searchInputRef","totalResults","noResultsCat","sectionId","completeTerm","SOURCE_MAP","com","lrn","CONTENT_TYPE_MAP","Blogs","FACET_MAP","clsf_contenttypes","clsf_release","clsf_products","clsf_applications","ICON_MAP","blog","Instance","tool","Training","learning","Certification","Simulator","Articles","Templates","Videos","ENCODED_FILTER_NAME","Applications","Checklists","Deck","Demo","DevOps","Discovery","Documentation","HealthScan","Insights","Orchestration","Orlando","Paris","Playbook","Podcast","Products","Quebec","Question","Recap","Rome","Social","Standards","Webinar","Workbooks","DECODE_FILTER_NAME","Adv","Agi","Alu","Ana","App","Art","Ast","Bcm","Blg","Bst","CIM","CPF","CSM","CasM","CasS","Cert","ChgM","Chk","CldI","CldP","ConOp","ConTp","Crs","CstM","CustC","DevP","Disc","DmdM","Docu","EDM","EngM","EvtM","Evts","FSM","FSMA","FnM","FnSM","GAC","GRC","Gds","HAM","HRSD","HS","IDR","IF","IM","ITAM","ITBM","ITOM","ITSM","ITSMVA","IU","Ins","KM","KbS","MobA","NCom","NCre","NC","NEUIF","NL","NLU","NOWEx","NP","NPAE","NPUI","OCS","OpI","Orch","Orl","PA","PAD","PCSO","PCat","PO","PPSF","Par","PlaB","PnCM","Pod","PrbM","Prod","ProdD","QAns","QnA","Que","Ques","RelM","ReqM","ResM","Rom","RskM","SC","SDC","SGC","SaLM","SrLM","ScM","SrM","SP","Shr","SPM","SW","SanD","SftAM","Simu","SklM","Temp","TestM","Trng","UxA","VAM","VMW","VRM","Vds","WCM","WRM","WSD","WSM","WUx","Webi","Workb","std","extractFacets","facet_fields","facetConfig","facetMap","facetMaps","selectedFilters","showFacet","openSubSection","facets","facetFieldKeys","isSkipFacetSort","facetName","subObj","isFilterSelected","facetType","showFacetCount","facet","getFilterListBasedOnFacet","selectedContentTypes","selectedSource","selectedProduct","selectedApplication","updateFilterListBasedOnFacet","encodeFilter","responseArr","decodeFilter","filterName","formRouteString","searchKeyword","pageNumber","encodedSelectedRelease","encodedSelectedSource","encodedSelectedContentTypes","encodedSelectedProduct","encodedSelectedApplication","formReleaseTag","transformedReleaseName","handlePageBootstrapped","formQueryParamsForBasicSearch","showPageLoader","handleBasicSearch","handleBasicSearchSucceeded","searchSuggestions","selectedContentType","showNoSearchResultsPage","handleBasicSearchErrored","handleUpdateUrlParam","handleReleatedTermClick","handleTrackSearchResultsClick","generateFilter","DidYouMeanPage","didYouMeanImg","NoSearchResults","SearchResult","search_result","solrRequestResponseSysID","_avatarProps$userName","a11yLabel","pillLabel","renderDismissButton","canDismiss","defaultTooltipText","updatedAvatarProps","showIdentifier","SearchFilterPills","showClearFilter","filterClose","handleFetchRelatedSearchResults","handleFetchRelatedSearchResultsSucceeded","relatedSearchTerms","extractFiltersFromQueryParam","decodedParam","queryObject","HeaderImg","BuildingHead","Crane","removeHashFromName","listReferences","scrollSection","apiTable","_ref$data","_ref$columns","_ref$columnNames","columnNames","_ref$typedefs","typedefs","_ref$detectColorTripl","detectColorTriplet","colorTripletRegex","columnLabel","typeDesc","typedef","typedefRegExp","colorSwatch","looksLikeColor","wayfinder","wayfinderItems","activeId","cleanAnchorId","DpsComponentDetail","componentProperties","carouselVisible","hashSectionParent","titleName","apiDescription","isAPIOrUIBConfig","themeVariables","tdef","externalUser","DPS_REFERENCE_PAGE_ACTIONS","GET_DSE_ICONS","FETCH_DSE_ICONS","FETCH_DSE_ICONS_SUCCEEDED","FETCH_DSE_ICONS_FAILED","FETCH_SIDEBAR","FETCH_SIDEBAR_SUCCESS","FETCH_SIDEBAR_ERROR","FETCH_COMPONENT_DETAIL","FETCH_COMPONENT_DETAIL_SUCCEEDED","FETCH_COMPONENT_DETAIL_FAILED","FETCH_BOOKMARKED_COMPONENT","REDIRECT_TO_SIGN_IN_PAGE","DPS_COMPONENT_DETAIL_TOC_ACTIONS","componentDetails","nextComponent","previousComponent","_properties$component","articleBody","sectionList","cleanHash","uibConfigData","uibConfigProperties","uibConfigActions","DPS_COMPONENT_LIST_ACTIONS","FETCH_COMPONENTS","FETCH_COMPONENTS_FAILED","FETCH_COMPONENTS_SUCCEEDED","FETCH_NAV","FETCH_NAV_FAILED","FETCH_NAV_SUCCEEDED","fetchComponentsActions","currentItems","dataFetched","filteredComponentList","filterValues","getfilterValues","_properties$queryPara","perPageFromUrl","parsedFilterList","initialSortDef","initialProperties","showGrid","showList","isPrevSameAsNew","filterVal","pageSize","pageRequested","newSortDef","_renderGrid","has_usage","_renderList","columnBlackList","dynamicColumnDefs","filterBarProps","totalPages","isSNEmployee","early_access","renderedItems","HeaderBg","usageToc","componentPackage","gheUrlRegexp","detailsData","github_repo","github_branch","relatedComponents","copyPackage","copyCommand","createDesignTable","designData","bt1Link","designRows","lastGroup","createEpicsTable","epics","epicURL","outputRows","allowedStates","filteredEpics","epic","theme_name","dseIcons","releaseNotesBlock","isUserEmployee","design_artifacts","hasWayfinder","showVisualsCarousel","noWayfinder","sizeOption","LOAD_ICONS","LOAD_SUCCESS","LOAD_ERROR","GET_DATA","LEGACY_ICON_SIZES","LEGACY_ICON_STYLES","NOW_ICON_SIZES","NOW_ICON_STYLES","isNowIcon","componentVersion","DPS_ICON_GALLERY_CONNECTED_ACTIONS","_renderIllustrationItem","_renderIllustrationGroup","illustrations","illustrationNames","DPS_ILLUSTRATION_GALLERY_CONNECTED_ACTIONS","setAPIvisible","iconListPath","isNotGallery","isUsageNotExist","isApiNotExist","isUibSetupNotExist","isPlaygroundNotExist","playground_other_releases","pageComponents","illustrationPaths","isDeprecated","banners","deprecationBanners","sidebar_content","sidebarFetchFailed","breadCrumbName","breadCrumbItems","leftNavMenu","componentsState","fetchComponentFailed","isFetchingComponent","dseIconsLoaded","fetchComponentDetail","related_components","project_name","apiPayload","newRelatedComponents","has_api","has_playground","scr_description","has_uib_docs","releasedToPublicNpm","isInstallLinkAvailable","isAPIDataAvailable","fetchDseIcons","createSidebar","libraries","fetchSidebar","dispatchFetchComponentDetail","componentLibResult","detailStatus","HeaderImage","Modules","NoCode","ProDev","DevTeam","DPS_PLATFORM_OVERVIEW_ACTIONS","Extend","Phone","Desk","DPS_GUIDES_NOW_EXPERIENCE_OVERVIEW_ACTIONS","AI_SEARCH_APPLICATION_TYPE","enrichedModel","trackSearchEvent","searchAnalyticsPayload","trackSearchSortEvent","trackSearchPaginationEvent","trackSearchResultClick","searchItem","resultSysId","labelDescription","signalType","signalValue","sourceUrl","aisDocId","trackSearchRefined","trackSearchFacetEvent","trackGeniusResultEvent","geniusResultModel","_ref3$actionType","_ref3$actionValue","actionValue","_ref3$matchedIntentsP","matchedIntentsPerSource","eventPayload","cardType","trackGeniusResultFeedback","isPositive","trackGeniusResultCitation","citationLabel","citationUrl","trackGeniusResultExpanded","trackGeniusResultEngagement","_ref7$stayedTime","stayedTime","trackAutocompleteQuery","MOBILE_MEDIA_WIDTH","RESULT_DISCLAIMER_TEXT","RESULT_DISCLAIMER","NOW_ASSIST","TOP_RESULTS_GENERATED_BY","PUTTING_TOGETHER_BEST_ANSWERS","EMPTY_STATE_MESSAGE_HEADING","DELEGATED_ACTION_TYPES","FEEDBACK","DECLARATIVE_ACTION","NLQ_TABLE_SWITCHED","NLQ_TABLE_CLICKED","ASK_A_FOLLOW_UP","SHOW_FULL_ANSWER","SYNTHESIZED_GENIUS_RESULT_LOADING_STEPS","STEP_1","STEP_2","STEP_3","STEP_4","STEP_5","STEP_6","SR_ONLY_MESSAGES","GENIUS_RESULTS_LOADING","EXTERNAL_CONTENT_TYPE","GENIUS_RESULT_CLICK_RANK","CITATION_TYPES","KB","CATALOG","PEOPLE","SKILL","KG","AGENT","WRONG_GR_TYPE","WRONG_RESULT","MISSING_INFORMATION","POSITIVE_FEEDBACK_TYPE","NEGATIVE_FEEDBACK_TYPE","FEEDBACK_ACTION_TYPE","DEFAULT_QA_FEEDBACK_OPTIONS","ALERT_TYPE","resultInfo","_ref$isLoading","skeletonLoader","TOPICS_CARD_HEADER","CHAT_TOIPCS_MESSAGE","renderTopicButton","skillTable","skill_table","documentId","skill_document","followUp","enable_followup","showAsCard","topicsContainer","SkeletonLoader","TOPIC_CLICKED","VERTICAL","VIEW_ALL","CARD_GAP","BORDER_WIDTH_TWICE","ACTION_TYPE_SERVER_SCRIPT","DEFAULT_ARIA_LABEL","DEF_EMPTY_MSG","LOADING_STATE_LABEL","DEF_MAX_VISIBLE_CARDS","DEF_MIN_CARD_WIDTH","DEF_CARD_HEIGHT","DEF_CARD_WIDTH","DEF_TITLE_HEADING_LEVEL","DEF_TITLE_STYLE_VARIANT","NOW_DATA_ROW_VIEW_ALL_CLICKED","DECLARATIVE_ACTION_SCRIPT_SUCCESS","DECLARATIVE_ACTION_SCRIPT_FAILED","NOW_DATA_ROW_ACTION_SUCCEEDED","NOW_DATA_ROW_ACTION_FAILED","DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS","DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS_COMPLETED","DECLARATIVE_ACTION_RUN_DYNAMIC_CONDITIONS_FAILED","relayDAUpdates","daRelayPropName","getDynamicEvaluatedDAs","declarativeActions","dynamicEvaluationEnabled","assignmentId","_context$action$paylo","modelData","dynamicConditionsState","getDynamicConditionsState","daSysIds","evaluateDynamicConditions","_context$action$paylo2","_context$state$dynami","dynamicConditionResults","_context$properties","_context$properties$m","parentRecordSysId","recordSysIdsToReEvaluate","runDynamicCondition","recordSysIds","affectedRecordSysIds","selectedRecords","updateDeclarativeActions","_context$action$paylo3","_context$properties$m2","_context$state$dynami2","listRefresh","cellUpdatedOn","editedRecords","getRecordsToEvaluate","daSysId","isDAEnabled","recSysId","daToUpdate","mapDynamicConditionResults","recData","recordResults","rec","dynamicConditionCompletedEffect","_ref$properties$model","newConditionResults","stateConditionResultsArr","stateConditionResults","selectAllRecords","selectedRecordsToEffect","dynamicConditionQuery","runDynamicConditionsEffect","DEFAULT_MARK_LEVEL","DEFAULT_MARK_TYPE","EVENT_NAME","FORM","RELATED_LIST","UNKNOWN","EVENT_ORIGIN_EVENT_NAME_MAP","trackUxMetrics","markLevel","actionDispatch","referenceTable","getEventName","dispatchedAction","fieldTable","eventOriginNode","DECLARATIVE_ACTION_UPDATE_RENDER","DECLARATIVE_ACTION_EXECUTE_ACTION","DECLARATIVE_ACTION_CANCEL_ACTION","DECLARATIVE_ACTION_CLOSE_MODAL","DECLARATIVE_ACTION_SCRIPT_START","PUBLIC_DECLARATIVE_ACTION_SCRIPT_SUCCESS","PUBLIC_DECLARATIVE_ACTION_SCRIPT_FAILED","PUBLIC_DECLARATIVE_ACTION_UPDATE_RENDER","PUBLIC_DECLARATIVE_ACTION_REDIRECT_REQUESTED","DECLARATIVE_ACTION_OPEN_LINK","DECLARATIVE_ACTION_CLIENT_SCRIPT_EXECUTION_REQUESTED","VALUE_CHANGED","ACTION_COMPONENT","DISPATCH_ACTION","CLIENT_SCRIPT","SERVER_SCRIPT","UXF_CLIENT_ACTION","SERVER_SCRIPT_API","SERVER_SCRIPT_API_PATH_PARAMS","SERVER_SCRIPT_API_QUERY_PARAMS","SERVER_SCRIPT_API_BODY_PARAMS","consolidateModel","fieldsParams","createHttpData","sysparm_table","dispatchActionByType","_properties$shouldWra","shouldWrapAction","wrapped_action_type","getDispatcher","shouldAppendActionEvent","_action$meta$actionEv","actionEvent","addToPayload","mediator","confirmationRequired","displayConfirmation","dispatchNotifications","sessionNotifications","allNotifications","updateFormFieldValue","onValueChange","payloadAction","actionComponent","updatingState","_ref6$state","_ref8$state","stateAction","_redirect$type_metada","type_metadata","parent_table","parent_sys_id","_ref0$state","_context$properties$s","shouldEvaluateDynamicConditions","_ref13$properties","_ref13$properties$mod","_ref13$properties$dec","_ref13$properties$sho","_modelData$daRelayPro","itemSelectedAction","treePickerItemSelectedAction","treePickerModalCloseAction","treePickerModalAddAction","FETCH_TREE_PICKER","FETCH_TREE_PICKER_SUCCESS","FETCH_TREE_PICKER_FAILURE","TREE_PICKER_CONFIG_DATA_PATH","DOMAIN_SEPARATION_DATA_PATH","COMPONENT_LOAD_REQUESTED","COMPONENT_LOAD_SUCCEEDED","COMPONENT_LOAD_FAILED","itemSelectedTransform","referenceKey","newPayload","referenceSysId","treePickerItemSelectedTransform","fieldType","addSelectedItemsEffect","display_value_list","closeModalEffect","treePickerQuery","serializedChanges","encodedRecord","serialized_changes","encoded_record","fetchingTreePicker","isTreePicker","domainSeparation","treePickerConfig","componentLoading","freezeBody","freezeStyle","unfreezeBody","handleEscape","SN_RECORD_CONTENT_TREE_CONNECTED_MODAL_CLOSE_CLICKED_ACTION","SN_RECORD_CONTENT_TREE_CONNECTED_MODAL_ADD_CLICKED_ACTION","renderModalContent","containerClass","dependentField","isGlideList","ignoreReferenceQualifier","ignoreDepAsRefQual","dependentValue","refTableName","_ref$properties$ignor","_ref$properties$ignor2","getContainerClass","baseClass","Modal","SNDeclarativeReferenceSearchElement","referenceQualifier","opers","ANYTHING","BETWEEN","evalBetween","ISEMPTY","evalIsEmpty","EMPTYSTRING","evalEmptyString","ENDSWITH","evalEndsWith","evalEquals","evalGreaterThan","evalGreaterThanOrEquals","IN","evalIn","evalNotIn","LIKE","evalLike","evalLessThan","evalLessThanOrEquals","ISNOTEMPTY","evalIsNotEmpty","evalNotEquals","evalNotLike","SAMEAS","evalSameAs","NSAMEAS","evalNotSameAs","evalStartsWith","GT_FIELD","evalGreaterThanField","LT_FIELD","evalLessThanField","GT_OR_EQUALS_FIELD","evalGreaterThanOrEqualsField","LT_OR_EQUALS_FIELD","evalLessThanOrEqualsField","modelConditions","groupByNewQuery","groupByAnd","evalScriptedClientConditions","scriptedClientCond","scopeVariableNames","scopeVariableValues","scopingFunction","newQuery","vals","interpolationRegex","arrayIndexRegex","ZERO_COUNT_REGEX","modelEvaluator","parsedString","modelField","isInterpolation","recursiveEvaluation","objectValue","resolvePayloadPath","evaluateAction","actionAttributes","payloadMap","scriptedClientCondition","_action$ariaLabel","mergedPayload","payloadTemplate","constructPayload","jsonParse","parseStringProperties","unparsedPayload","unparsedAttributes","parsedPayload","parsedAttributes","formatZeroCountString","transformActions","metricsData","recordSelectionRequired","newAction","parsedAction","evaluatedAction","_metricsData$coeffect","_metricsData$eventNam","_metricsData$meta","action1","action2","evaluateAndKeep","transformer","evaluateOnly","ACTION_CONFIG","ACTION_CONFIG_ID","ASSIGNMENT_ID","ACTION_DISPATCH","CONTEXT_VARS","ERROR_PREFIX","ERROR_ACTION_PAYLOAD","ERROR_TYPE_INVALID","EVAM","BOARD","FIELD_TYPE","ID","META_DATA","PAYLOAD","PROPERTIES","SCHEMA","VALUE","CATALOG_WIZARD","SUPPORTED_MODELS_TYPES","MODELS","getTypeFromValue","evaluateRequired","evaluateModelType","modelType","getNameAndLabel","getEventStructure","getPropMetadata","buildObject","isEventProps","typeMetadata","buildList","buildEventDefinitions","_action","buildApplicability","contractGenerator","daApplicability","dispatchedEventDefs","createButtons","confirmationMessage","SNDeclarativeConfirmationModal","isUIComponent","ActionComponent","SNDeclarativeMediator","REFRESH_REQUESTED","OPEN_FRAME","openFrameDataPath","OPEN_FRAME_KEY","openFrameBehavior","isAttrTrue","getActionsByKey","HACKY_GLOBAL_DEPENDENCY_MAP","CTI","openFrameConfig","canRenderAction","requiresExistingRecord","requiresWritable","DECLARATIVE_ACTION_FETCH_FIELD_GRAPHQL","DECLARATIVE_ACTION_FETCH_FIELD_SUCCESS","DECLARATIVE_ACTION_FETCH_FIELD_ERROR","DECLARATIVE_ACTION_FETCH_FIELD_PRESOURCE","globalActionsDataPath","declarativeFieldActionQuery","fetchActionsEffect","actionsFromDatasource","Action","oldIconToNDSIcon","resolvedActions","cappedActions","evaluatedActions","createData","wsConfigSysId","_model$tableName","_model$recordSysId","workspaceConfigId","SNDeclarativeFieldActionRenderer","isClassicForm","classicForm","fetchDeclarativeActions","SNDeclarativeFieldAction","loadComponents","componentTags","uniqComponentTags","resolveStatic","noDataMessage","minCardPixelWidth","htmlFragments","transformDAClientActionToUXEvents","daAction","getShouldHideOverflow","maxVisibleCardsHorizontal","htmlFragmentsLength","isCarousel","HORIZONTAL_EQUAL","MAX_DESKTOP_ACTIONS","FOOTER_MORE_ACTION_LABEL","BUTTON_SLOT_STYLE","FEEDBACK_PROMPT_LABEL","HELPFUL_FEEDBACK_LABEL","UNHELPFUL_FEEDBACK_LABEL","POST_FEEDBACK_LABEL","FEEDBACK_DIALOG_HEADER","FEEDBACK_DIALOG_INSTRUCTIONS","FEEDBACK_DIALOG_SEND_BUTTON_LABEL","FEEDBACK_DIALOG_SEND_BUTTON_TOOLTIP","CLOSE_FEEDBACK_FORM","POSITIVE_FEEDBACK_VALUE","NEGATIVE_FEEDBACK_VALUE","FEEDBACK_DROPDOWN_PLACEHOLDER","FEEDBACK_DROPDOWN_TOOLTIP","FEEDBACK_DROPDOWN_OPTIONS","FEEDBACK_INTENT_LABEL","FEEDBACK_INTENT_OPTIONS","OTHER_FEEDBACK","HEADING","MARKER_IMAGE","HEIGHT_GLOBAL","WIDTH_GLOBAL","WIDTH_DEFAULT","WIDTH_THUMBNAIL","HEADER_TOOLTIP_TEXT","HEADER_TOOLTIP_TEXT_NLQ","ABOUT","ABOUT_POPOVER","DESCRIPTION_COLLAPSED_STATE_TOGGLED","SYNTHESIZED_GENIUS_RESULT_EXPANDED","VIEW_RECORDS_CLICKED","DESCRIPTION_STATES","EXPAND","COLLAPSE","TRUNCATION_LIMIT","CHOOSE_A_TABLE","PREVIEW_TABLE_LABEL","GR_TYPES","AI_SEARCH","NLQ","SYNTHESIZED","SOURCE_LABEL","VIEW_ARTICLE","PORTAL","ABOUT_BUTTON_LABEL","NLQ_MULTITABLE_DROPDOWN","VIEW_TABLE_TRANSLATION","NLQ_MULTITABLE_HEADER","NLQ_MULTITABLE_DESCRIPTION","FOLLOW_UP","FOLLOW_UP_LABEL","ASK_A_FOLLOW_UP_LABEL","FONT_SIZES","ATTACHMENT_ICON","DEFAULT_DOC","DOWNLOAD","ICON_SIZE","CITATION_ACTION","NLQ_HIGHLIGHTED_TEXT","NLQ_ERROR_TITLE","NLQ_ERROR_DETAIL","NLQ_MULTI_TABLE_MINI_TITLE","KG_GENERIC_VIEW_RECORD_ACTION_CLICK","CATALOG_CLICK","CATALOG_OPEN","REQUEST_IN_CHAT_LABEL","REQUEST_WITH_FORM","CITATION_CLICK","EXTERNAL_DOCUMENT","ATTACHMENT","CITATION_POPOVER_CLICKED","SHARED_FILES_LOGIN_MESSAGE","AI_SPARKLE_ICON_PATHS","CAT_REGEX","CAT_PREFIX","ACTION_REGEX","ACTION_PREFIX","replaceKBReferences","citations","docId","citationKey","citationData","source_type","citationNumber","replaceCatalogReferences","regexToUse","citationPrefix","catId","catName","replaceSkillReferences","replaceKgReferences","source_sys_id","display_value","replaceCitationsWithTemporaryPlaceHolders","textToUpdate","updatedText","isSynthesized","grType","looksLikeListStart","stripListMarker","countLeadingSpaces","escapeHtml","parseInlineReferences","refRegex","foundCitations","fullMatch","jsonInside","iconPath","topColor","bottomColor","highlightedText","highlightedTextIcon","showHeaderTooltip","toolTipRef","showAboutInfo","documentationUrl","tooltipProps","isSynthesizedGR","aboutSection","GradientIcon","renderItems","table_display_value","encoded_query","viewRecordsPopoverContentConfig","kgListCitations","viewRecordsPopoverConfig","DESCRIPTION_MULTI_TYPES","STACKED","HTML","getDescriptionStringElem","isGlobal","isMini","getDescriptionStackedElem","getDescriptionHtmlElem","shouldTruncate","descriptionCollapsed","isSynthesizedAndNotStreaming","sanitizedSnippet","textRef","getDescriptionElem","elementsDict","resolvedType","descriptionElem","_ref5$isMini","citationsFromSynthesizedResponse","_ref5$kgListCitations","_ref5$actions","synthesizedMarkdownText","synthesizedGeniusResultCanExpand","synthesizedGeniusResultExpanded","canAskFollowUp","basicHtml","parsedHtml","WebkitBoxOrient","WebkitBoxPack","WebkitBoxAlign","textOverflow","WebkitLineClamp","toValidPixelsOrUndefined","renderImageTag","imageTag","objectFit","objectPosition","MARKER_TYPES","IMAGE","AVATAR","getMarkerElem","markerElem","headingFontSize","isOneBox","identifierCriticalText","identifierFontSize","identifierAtBottom","reversed","toExtension","normalizeValues","_renderValueDelimiter","_renderValueWithPrevious","_renderJSXValueWithPrevious","VALUE_TOKEN","PREVIOUS_TOKEN","TRANSLATION_TEMPLATE","indexOfValueToken","indexOfPreviousToken","secondIndex","firstToken","secondToken","renderString","renderHighlightedValue","renderJSX","renderHTML","renderValue","valueSchema","itemMinWidth","alignClasses","sizeClasses","customColumnRepeat","labelValuesInfo","_labelValuesInfo$labe","labelValues","_labelValuesInfo$alig","showActionAsLink","isExternalSourceType","Marker","Header","Description","LabelValues","MINUTES","SnDateTimeWordService","timeZoneOffset","isSystemTime","timestampLong","dateParsed","_parse","isValidDate","safariTimestamp","safariParsed","numericDate","_toWords","diffMills","WORDS","getWordLiterals","isPast","AGO","ago","justNow","snDateTimeWordService","DAY","daysBetween","baseDate","actualDate","normalizedBaseDate","normalizedActualDate","almostNow","INTERVAL","SnTimerService","_fnArray","_interval","_fireEvents","_remove","snTimerService","NOP","DATE_FORMAT_KEY","SnTimeAgo","_incoming","timeAvailable","dateFormatObj","_DEFAULT_OPTIONS","uxGlobalsDateFormat","presourceDateFormat","dateFormatString","_parseDateFormatPref","updateFn","_removeFn","getTickTime","_this$_incoming","_this$_options","systemTime","timeAgo","dateBoth","_this$_options$verbos","prefValue","unused","dateOnly","errorLevelEnum","FATAL","LoggerBase","_this$sink","fatalMsg","optionalParams","_this$sink2","_this$sink3","_this$sink4","severity","NOW_LIST_ACTIONABLE_MESSAGE_ACTION_CLICKED","actionableMessageKey","actionableMessageLinkClickedHandler","actionableMessageBehavior","politenessSetting","relevant","ARIA_LIVE_BEHAVIOR_NAME","ARIA_MESSAGE_MAX","ARIA_LIVE_MESSAGE","ARIA_LIVE_CLEAR_MESSAGES","STATIC_ARIA_REGISTRY","maxMessages","ariaLiveReference","liveMessageEffect","compDetails","currentMessages","clearMessagesEffect","ariaLiveBehavior","hasInvalidUibProps","uibProps","checkForInvalidUibProps","configurableUibProps","hasUibConfigError","onPropertyChanged","UIB_BEHAVIOR_NAME","uibBehavior","getConfigurableUibProps","USER_PREF_APP_SHELL_STATE_CHANGE","transformUserPreferencesArray","snCanvasAppshellRoot","canvasSession","userPreferencesAppShell","userRolesAppShell","_coeffects$properties2","userRoles","userPreferencesArray","sessionUserPreferencesBehavior","LOG_STATUS_KEY","LOG_LEVEL","LOG_LEVEL_ALL","LOG_LEVEL_DEBUG","LOG_LEVEL_LOG","LOG_LEVEL_INFO","LOG_LEVEL_WARN","LOG_LEVEL_ERROR","createLog","INTERSECTION_OBSERVER_NAME","OBSERVE_ELEMENT","UNOBSERVE_ELEMENT","REGISTER_INTERSECTION_OBSERVER","UNREGISTER_INTERSECTION_OBSERVER","HOOK_INSERT","HOOK_DESTROY","HOOK_INIT","PAYLOAD_OPTIONS_PATH","INTERSECTION_OBSERVER_STATE_PATH","NOW_MODE_SUSPEND","NOW_MODE_DETACH","DEFAULT_ROOT_SELECTOR","DEFAULT_ROOT_MARGIN","DEFAULT_THRESHOLD","DEFAULT_DEBOUNCE_DELAY","getIntersectionObserver","fpGet","getRootElementSelector","getRootMargin","getThreshold","getDebounceDelay","getUseDefer","getElementConfig","getShouldSuspend","getShouldUnobserveElement","LOG","createElementObservationProps","useDefer","createRootElementHooks","intersectionCallBack","shouldSuspend","shouldUnobserveElement","unDefer","intersectClass","initialClass","setupIntersectionObserverEffect","rootElementSelector","unregisterIntersectionObserverEffect","observeElementEffect","collatedItem","_collatedItem$action$","elementConfig","unobserveElementEffect","createIntersectionObserverBehaviorActionHandlers","createIntersectionObserver","findFirstTabbableElement","findTabbableElement","findLastTabbableElement","tabbies","tabby","possibleResult","isTabbable","getTabIndex","findAllTabbableElements","expandedTabbies","findActiveElement","elementHasActiveElement","focusWithinClassManager","focusIsWithin","elementRetainer","addRetainedElement","removeRetainedElement","updateRetainedElement","getAndClearRetainedFocus","focusThis","getAndResetRetainedScroll","scrollToBottom","resetScroll","focusTrap","clickOutsideDeactivates","moveFocusInsideTrap","lastElement","activateFocusTrap","deactivateFocusTrap","firstTabby","lastTabby","firstKeydown","lastKeydown","tabbyTrapEntry","updateFocusTrap","_tabbyTrapEntry$confi","GROUP_ACTION_CLICKED","NOW_LIST_ALL_GROUPS_TOGGLED","NOW_LIST_GROUP_TOGGLED","EXPAND_GROUP","EXPAND_ALL_GROUPS","KEYBOARD_NAV_BEHAVIOR_NAME","ALLOW_TABLE_FOCUS","ENTER_CELL_TRAP","EXIT_CELL_TRAP","REFRESH_CELL_TRAP","MOVE_FOCUS","POPOVER_CLOSED","RESET_BEHAVIOR","UPDATE_KEYBOARD_NAV","UPDATE_TABLE_REF","FOCUS_LIST","SEISMIC_HOIST","KEY_ENTER","ARROW_UP","ARROW_DOWN","KEY_CODE_ENTER","KEY_MAP","ROW_DEFINITIONS","COLUMN_DEFINITIONS","GROUPED_SUFFIX","NOW_GRID_BULK_FOCUSED_IDS","BULK_FOCUS_STATE_PATH","EMPTY_BULK_FOCUS","focusedIndicies","focusedKeys","previousKeys","initialIndex","isDeepSelector","getComponentPath","componentPath","hasSeismicHoist","getRelativeDirection","xA","yDiff","xDiff","getBulkFocusInfo","focusedRow","focusedCell","rowClassList","cellClassList","isRowGroupedHeader","isGroupToggleCell","isSpecialColumn","updateBulkStyles","newIndices","newCellIndex","nearestTable","removeBulkStyles","groupNumsSequentially","gridIndex","lastSubArray","resetBulkFocus","focusedNode","keepLastFocus","bulkFocusValue","rowKey","_focusedNode$dataset","navRow","navCol","setBehaviorState","bulkFocus","getBehaviorState","getBehaviorOptions","getRowFromTableRef","tableRef","getCellFromTableRef","setNewCellFocus","_newFocus$node","selectedActiveElement","prevFocus","newFocus","directFocusSelectors","_ref$virtualizedScrol","virtualizedScrollEnabled","newFocusNode","tabbableSelectors","isFocusSelector","setNewRowFocus","handlePointerCell","pointerCellHandled","pointerDir","maxCellIndex","rtlData","moveOne","moveAll","newRowFocus","newCellFocus","getNextRowFromTableRef","_focusedRow$rowIndex","focusCellNode","_getBehaviorState","trappedCell","_node$dataset","focusPopoverTarget","popoverTargetNode","handleCellMove","cellEditingEnabled","_getBehaviorState3","hasGroupedRows","_getBehaviorState3$bu","_getBehaviorState3$bu2","_getBehaviorState3$bu3","focusedRowKey","bulkRows","bulkRowIndices","_getBehaviorOptions2","scrollContainerSelector","newFocusedCell","_getBulkFocusInfo","_handlePointerCell","_handlePointerCell2","ptrRowIndex","ptrCellIndex","_handlePointerCell3","_handlePointerCell4","indexIncDir","_handlePointerCell5","ensureCellIntersection","toggleGroupedRow","handleRowMove","_row$node$parentEleme","_getBehaviorState4","_getBehaviorOptions3","newFocusedRow","newRowIndex","cellRect","colHeaderNode","colHeaderRect","scrollAmount","shouldTriggerRerenderDefaultFn","rerenderProperties","shouldTriggerRerender","objKey","getKeys","newKeys","hasChildrenOriginal","hasChildrenNew","handleBulkFocusClick","_getBehaviorState5","_getBehaviorState5$bu","_getBehaviorState5$bu2","prevFocusedIndicies","prevColIndex","_getBulkFocusInfo2","isSameColumn","minIndex","_getBulkFocusInfo3","NOW_LIST_OPEN_POPOVER_INTERNAL","NOW_LIST_CLOSE_POPOVER_INTERNAL","NOW_LIST_POPOVER_OPENED","NOW_LIST_POPOVER_CLOSED","BEHAVIOR_STATE_PATH","CHOICE_COLUMN_FILTER","ROW_DEFINITIONS_PATH","CELL_EDIT_POPOVER_TYPE","CELL_EDIT_APPLY_BUTTON_ID","CELL_EDIT_CANCEL_BUTTON_ID","CELL_EDIT_RETRY_BUTTON_ID","CELL_EDIT_POPOVER_STRING","CELL_EDIT_POPOVER_BOOLEAN","CELL_EDIT_POPOVER_NUMBER","CELL_EDIT_POPOVER_CURRENCY","CELL_EDIT_POPOVER_DATE_TIME","CELL_EDIT_POPOVER_PILLS","CELL_EDIT_POPOVER_CHOICE","CELL_EDIT_POPOVER_URL","CELL_EDIT_POPOVER_LINK","CELL_EDIT_POPOVER_ICON","CELL_EDIT_POPOVER_PERSON","CELL_EDIT_POPOVER_HTML","NOW_INPUT_VALUE_SET","NOW_DATE_TIME_VALUE_SET","NOW_TYPEAHEAD_MULTI_SELECTED_ITEMS_SET","NOW_SELECT_SELECTED_ITEM_SET","NOW_INPUT_URL_VALUE_SET","NOW_HTML_VALUE_SET","CELL_EDIT_INTERNAL","NOW_LIST_CELL_EDITOR_CONTENT_VALUE_UPDATED","NOW_LIST_POPOVER_BUTTON_CLICKED","NOW_LIST_CELL_EDIT_REQUESTED","NOW_LIST_CELL_EDIT_SUBMITTED","popoverConfig","openCellEditPopoverWithMessage","cellRef","popoverTarget","popoverDefinition","actionsContext","getClonedRows","getRowsToUpdate","rowsToUpdate","getComponentTag","cellType","cellEditRequestedEffect","cellEditingManaged","_getRowsToUpdate","_row$cells$context$co","selectedKeys","cellEditingPopoverButtonClickedEffect","personKey","_getRowsToUpdate2","managed","cellEditingBehavior","COLUMN_FILTERING_ROW_CLASS","COLUMN_FILTERING_ROW_ID","COLUMN_FILTERING_VALUE_INPUT_CLASS","COLUMN_FILTERING_VALUE_PLACEHOLDER","COLUMN_FILTERING_VALUE_ARIA_LABEL","COLUMN_FILTERING_VALUE_INPUT_NAME","COLUMN_FILTERING_CHOICE_TYPE_TRIGGER_BUTTON_NAME","COLUMN_FILTERING_SELECT_ALL_BUTTON_NAME","COLUMN_FILTERING_SELECT_NONE_BUTTON_NAME","SHOW_HIDE_COLUMN_FILTERING_ROW_ACTION","REMOVE_COLUMN_FILTER_BUTTON","REMOVE_COLUMN_FILTER_ARIA_LABEL","SHOW_HIDE_COLUMN_FILTERING_ROW_ICON","DATE_TIME_APPLY_LABEL","DATE_TIME_APPLY_BUTTON_NAME","DATE_TIME_CANCEL_LABEL","DATE_TIME_CANCEL_BUTTON_NAME","IS_OPERATOR_ID","IS_OPERATOR_LABEL","IS_OPERATOR_ITEM","IS_NOT_OPERATOR_ID","IS_NOT_OPERATOR_LABEL","IS_NOT_OPERATOR_ITEM","STARTS_WITH_OPERATOR_ID","STARTS_WITH_OPERATOR_LABEL","STARTS_WITH_OPERATOR_ITEM","ENDS_WITH_OPERATOR_ID","ENDS_WITH_OPERATOR_LABEL","ENDS_WITH_OPERATOR_ITEM","CONTAINS_OPERATOR_ID","CONTAINS_OPERATOR_LABEL","CONTAINS_OPERATOR_ITEM","DOES_NOT_CONTAIN_OPERATOR_ID","DOES_NOT_CONTAIN_OPERATOR_LABEL","DOES_NOT_CONTAIN_OPERATOR_ITEM","IS_EMPTY_OPERATOR_ID","IS_EMPTY_OPERATOR_LABEL","IS_EMPTY_OPERATOR_ITEM","IS_NOT_EMPTY_OPERATOR_ID","IS_NOT_EMPTY_OPERATOR_LABEL","IS_NOT_EMPTY_OPERATOR_ITEM","IS_ANYTHING_OPERATOR_ID","IS_ANYTHING_OPERATOR_LABEL","IS_ANYTHING_OPERATOR_ITEM","LESS_THAN_OPERATOR_ID","LESS_THAN_OPERATOR_LABEL","LESS_THAN_OPERATOR_ITEM","GREATER_THAN_OPERATOR_ID","GREATER_THAN_OPERATOR_LABEL","GREATER_THAN_OPERATOR_ITEM","LESS_THAN_OR_EQUAL_OPERATOR_ID","LESS_THAN_OR_EQUAL_OPERATOR_LABEL","LESS_THAN_OR_EQUAL_OPERATOR_ITEM","GREATER_THAN_OR_EQUAL_OPERATOR_ID","GREATER_THAN_OR_EQUAL_OPERATOR_LABEL","GREATER_THAN_OR_EQUAL_OPERATOR_ITEM","DATE_TIME_LESS_THAN_OPERATOR_ID","DATE_TIME_LESS_THAN_OPERATOR_LABEL","DATE_TIME_LESS_THAN_OPERATOR_ITEM","DATE_TIME_GREATER_THAN_OPERATOR_ID","DATE_TIME_GREATER_THAN_OPERATOR_LABEL","DATE_TIME_GREATER_THAN_OPERATOR_ITEM","DATE_TIME_LESS_THAN_OR_EQUAL_OPERATOR_ID","DATE_TIME_LESS_THAN_OR_EQUAL_OPERATOR_LABEL","DATE_TIME_LESS_THAN_OR_EQUAL_OPERATOR_ITEM","DATE_TIME_GREATER_THAN_OR_EQUAL_OPERATOR_ID","DATE_TIME_GREATER_THAN_OR_EQUAL_OPERATOR_LABEL","DATE_TIME_GREATER_THAN_OR_EQUAL_OPERATOR_ITEM","IS_ONE_OF_OPERATOR_ID","IS_ONE_OF_OPERATOR_LABEL","IS_ONE_OF_OPERATOR_ITEM","IS_NOT_ONE_OF_OPERATOR_ID","IS_NOT_ONE_OF_OPERATOR_LABEL","IS_NOT_ONE_OF_OPERATOR_ITEM","ON_OPERATOR_ID","ON_OPERATOR_LABEL","ON_OPERATOR_ITEM","NOT_ON_OPERATOR_ID","NOT_ON_OPERATOR_LABEL","NOT_ON_OPERATOR_ITEM","GENERIC_FILTER_OPERATORS","GENERIC_FILTER_DEFAULT_OPERATOR","NUMBER_FILTER_OPERATORS","NUMBER_FILTER_DEFAULT_OPERATOR","BOOLEAN_FILTER_OPERATORS","BOOLEAN_FILTER_DEFAULT_OPERATOR","DATE_TIME_FILTER_OPERATORS","DATE_TIME_FILTER_DEFAULT_OPERATOR","featureFlagSelectors","getColumnResizingEnabled","featureFlags","getColumnDragDropEnabled","getColumnFilteringEnabled","getRowDragDropEnabled","getSelectionEnabled","getExpandAllGroups","getMaxCharacters","rowSelectors","rowDefinitions","getAllRowKeys","allRowKeys","_row$children","childRowKeys","childRow","getAllHighlightedRowKeys","allHighlightedRowKeys","_row$children2","isRowHighlighted","childHighlightedKeys","hasRows","getTopActionableMessage","getBottomActionableMessage","hasTopActionableMessage","hasBottomActionableMessage","getActionableMessageStatus","actionableMessage","getActionableMessageIcon","getSelectionDisabledForParticularRow","getHighlightedContentPatterns","hasRowActionsWithItems","getRowActions","getAreActionsDisabled","getRowActionsItems","getRowActionsItemsFromActions","rowActions","getRowActionsNumIcons","getRowActionsNumIconsFromActions","getCustomCellEmittedActions","hasCustomCellEmittedActions","getRowActionsPosition","columnFilteringEnabled","_getInitialSelectedRowsReducer","_currentRow$children","_currentRow$children2","_currentRow$children3","_currentRow$children4","isSelectionDisabled","getInitialSelectedRows","getRowKey","isRowChecked","isRecentlyAddedOrUpdatedRow","isRowGrayedOut","getCells","getExcludedActions","rowExcludedActions","getExcludedActionsForRow","colKey","hasGroupedOrDefaultRowsWithChildren","hasDefaultRowsWithChildren","hasGroupedRowCount","getGroupedOrDefaultRowsWithChildren","grouped","isGroupedRowOrDefaultRowWithChildren","getAllGroupKeys","getDefaultRowKeysRecursively","getAllGroupKeysRecursively","getKeysOfChildren","getAllKeysInOrder","isDefaultRowWithChildren","isGroupedRow","isCustomRow","getGroupedRowLabel","getGroupedRowCount","getGroupActions","getGroupRowHref","_groupActions$","getCustomRowComponentTag","getCustomRowComponentProps","getCustomRowContentDimensions","getCustomRowContentAlignment","getCustomRowPlaceholderDimensions","getShowRowControlsForCustomRow","getRowsOfCustomType","customRows","createStateOnBootstrapForExpandedChildren","rowGroupingState","isGroupExpandedForParent","expandedChildrenObject","_require4","_require7","_require8","_require9","_require0","dateTimeFormatPrefKey","columnSelectors","columnDefinitions","willHaveSpecialColumns","getSpecialColumnsCount","processedColumnDefinitions","getColumnFromProcessedCols","columnKey","columnMap","getColumnFilteringInfo","getHeaderTextTooltip","hasColumnFilterCustomValueEditorEmittedActions","getColumnFilterCustomValueEditorEmittedActions","getColumnHeaderActionsFromProcessedCols","getColumnKey","processedColumn","isReorderingPossibleOnColumn","getColumnLevel","isSpecialColumnKey","fpGetOr","getTotalColumnsAtLevel","getDataColumnsOffsetPosition","allColumns","getCellActionsFromProcessedCols","getIcons","getColumnSortDirection","getFormattedColumnKey","getColumnLabel","getColumnType","getColumnAlignment","hasMaxCharacters","getHeaderCellAlignment","fpHas","hasColumnHeaderActions","hasCellActions","getHeaderTextDisabled","getCellEditingDisabled","getColumnFilterCustomTopText","getOperators","operatorsFromProps","getSelectedOperator","getSelectedOperatorValue","operatorValue","getColumnFilterValue","getColumnFilterValueEditorCustomComponentTag","getColumnFilterValueEditorCustomComponentDefaultProps","getNumberFormat","getDecimalPlaces","getNumberLocale","isValidLocale","NumberFormat","supportedLocalesOf","getNumberFormatter","maximumFractionDigits","getOperatorFromColumnFilterConfig","getDateTimeFormat","getTimeZone","getTimeAgoDisplay","contextApi","dateTimeFormatPrefValue","dateFormatUserPrefValues","showTimeAgo","showDateAndTimeAgo","setShortDateFormat","presentYear","getFirstDayOfWeek","getOpensInNew","getDisabled","getDisplay","personDisplay","getMaxPillLimit","getPillsChoices","getChoices","choiceList","getDefaultChoiceKey","defaultFallBackKey","getChoiceLabelFromKey","choice","getCurrency","getCurrencyLocale","defaultLocale","getThresholdColors","getColumnColSpan","getColumnRowSpan","getColumnParentKey","isColumnActive","getColumnEdges","getFirstColumnEdge","columnEdges","columnEdge","getColumnComponentTag","hasColumnComponentTag","getColumnPlaceholderDimensions","getCellContentDimensions","getColumnDefaultComponentProperties","pathConstants","processedColumnDefinitionsPath","columnsPath","getNewChildPath","getColumnDepth","_column$children","childrenDepth","getColumnHeaderIndexes","_payload$context$colu","_columnPath$split","headerRowIndex","headerColumnIndex","pruneColumnDefinitions","columnKeys","pruneColumnDefinitionsHelper","columnsInCurrentLevel","nextLevelChildren","updateColumns","isNestedRows","addOrUpdateSpecialColumns","clonedColumnDefinitions","parentToggleColumn","parentBadgeColumn","selectionColumn","rowActionsColumn","rowGroupBadgeColumn","groupedToggleColumn","rowDragDropColumn","createEmptyColumnLeafArray","getColumnInfo","columnLeafs","getColumnInfoHelper","addSpanFields","childrenColSpan","_rowspan","_colspan","_parentKey","processColumnDefinitions","clonedColumns","propertyChangedActionHandler","expandAllGroups","rowDragDropEnabled","selectionEnabled","processedColumns","columnFeatureFlags","componentBootstrappedEffect","handleRenderRequested","columnDefinitionsBehavior","SORT_START","SORT_END","SORT_CANCELLED","DROP_AREA_CHANGE","UPDATE_BEHAVIOR","NS_DEST_PLACEHOLDER","NS_DEST_PLACEHOLDER_WRAPPER","NS_ACTIVE_SORT_ITEM","NS_SOURCE_PLACEHOLDER","NS_DRAGGING_SOURCE","NS_DRAGGING_SOURCE_OVERLAY","NS_SORT_TRANSITIONED","NS_SORT_CLONE","NS_DATA_TRANSFER_KEY","NS_DEFAULT_PLACEHOLDER","SET_ATTRIBUTE","GET_ATTRIBUTE","REMOVE_ATTRIBUTE","GET_RESOLVED_PROPERTIES","_cloneShadow","cNode","rootEl","nestedMatches","rootEleMatches","childMatches","shadowChildren","closestDeep","seismicClone","elClone","seismicElems","isSeismicComponent","sElem","originalElem","elProperties","elemIndex","getDOMRect","getRelativePosition","relativeToElem","elemRect","relativeRect","getDOMRects","els","directions","RIGHT_UP","RIGHT_DOWN","LEFT_DOWN","LEFT_UP","itemsFilter","getDropPosition","getSourcePosition","getValidRange","setValidYPosition","sortable","targetYPos","maxYPosition","maxYScroll","OFFSET_X","OFFSET_Y","SCROLL_ROUNDING","MIN_SCROLL_CHANGE","hasHorizontalScroll","hasVerticalScroll","scrollWithinXBounds","dScroll","__auto_scroll_x_bounds__","scrollBounds","newScroll","scrollWithinYBounds","__auto_scroll_y_bounds__","canScrollLeft","dScrollLeft","canScrollTop","dScrollTop","handleAutoScroll","movingElem","xScrollParent","yScrollParent","followMouseForAutoScroll","xScrollParentRect","yScrollParentRect","distanceRight","distanceLeft","distanceBottom","distanceTop","horizontalScroll","verticalScroll","scrollRequired","Sortable","sourceIndex","destinationIndex","sourceParent","destinationParent","transitions","listOrder","placeholders","MIN_CHANGE","xElem","yElem","dropPosition","extendedDropzone","maxPositionableIndex","minPostionableIndex","cssFromStr","cssStr","_style$split$map","_style$split$map2","createAndInsertClone","customClone","cloneParent","cloneAppendTo","cloningElemRect","_getRelativePosition","cloneStyles","setClonePosition","cloneEl","transformClonePosition","removeClone","rectA","rectB","getOverlapRect","toRectangle","domRect","rectCenter","edgeDistance","minXRect1","minYRect1","minXRect2","minYRect2","maxXRect1","maxYRect1","maxXRect2","maxYRect2","xDistance","yDistance","getOverlapArea","domRectA","domRectB","_map3","_map4","getRectOverlapArea","overlapRect","rectArea","isClientRectIntersecting","QUADRANTS","TL","TR","BR","BL","getQuadrantRect","quadrant","cloneDOMRect","getIntersectingItems","draggingEl","sortableEls","dragElRect","intersectingItems","intersectingArea","quadrants","quad","overlapArea","overlapping","removeSrcPlaceholders","removeDestPlaceholders","removeTransitions","createPlaceholder","_el$getBoundingClient","addSortableDestPlaceholderClass","addSortableSrcPlaceholderClass","insertPlaceholder","insertPlaceholderAtIndex","itemsContainer","itemsSelector","sortableItems","canPutPlaceholder","isPositionBefore","elRect","refElRect","predictDestPlaceholder","extDropzone","srcPlaceholder","destPlaceholder","srcElIntersect","destElIntersect","dzIntersect","firstItemInDropzone","lastItemInDropzone","mostOverlappingItem","totalArea","topOverlap","bottomOverlap","LIST_ORDER","DIRECTIONS","sortInteraction","setMoveDirection","setDirectionStylesOnClone","horizontalCls","verticalCls","horizontalDragDirection","verticalDragDirection","getSortableItemsSelector","updateScrollParents","getItemRect","render_PixelChange","_sortable$clone$posit","_handleAutoScroll","elemsInCurrentDropzone","isValidIndex","getTargetElem","_getValidRange","customSourcePlaceholder","tagSourcePlaceholder","customDestPlaceholder","tagDestPlaceholder","destPlaceholderText","shouldNotHideTargetElement","_oldDisplay","onSrcPlaceholderInsert","onMove","onPositionChange","_sortable$clone$posit2","destRect","clonePosition","_handleAutoScroll2","render_PositionChange","newDropPosition","newDropIndex","oldPosition","onDestPlaceholderInsert","updatedDragData","placeholderParent","updateConfig","setActiveDropzone","activeDropzone","setActiveIndex","getDataTransfer","setDataTransfer","tempMoveIndex","nextVisualDropzone","activeConnectedList","relativeElRect","connectedLists","cListWithRects","nextList","DEFAULT_KEYBOARD_CONFIG","SPACE_CODE","isSortStartTrigger","customTrigger","isSortCompleteTrigger","isSortCancelTrigger","isSortableUpdateKey","keyboardSortHandler","inProgress","addGlobalKeyHandlers","removeGlobalKeyHandlers","_sortable$getDataTran","handleVerticalSort","handleHorizontalSort","moveToNextSortableList","nextSortableList","nextDropzone","_options$items","_options$elems","handleElem","initSortable","withCancellation","escapeKeyListener","registerDropzone","__dropzone_subscribers__","createDropzone","unregisterDropzone","removeDropzone","subs","dragEnterFn","DEFAULT_IJS_CONFIG","DROPZONE_INIT_DELAY","toggleUserSelector","userSelect","clearUserSelection","isDraggableInitialized","draggables","elInteractable","isDroppableInitialized","droppables","_options$dropzone","_options$extendedDrop","__seen__","__sortable__","sortableLists","dzSelector","sortableListEl","droppableElem","droppable","onDragEnter","draggedSortable","unseenDraggables","unseenDroppables","ijsSortable","isUpdate","restrictTo","DEFAULT_SORTABLE_CONFIG","dragSupport","keyboardSupport","ijsAdapter","keyAdapter","interactJsAdapter","keyboardAdapter","dynamicConfig","_sortable","_state$instance","_state$instance2","RESIZE_STARTED","RESIZE_COMPLETED","SIZE_UPDATED","DATA_HAS_RESIZE_INTERACTION","KEYBOARD_RESIZE_DELTA","ACTIVE_CLASS","DEFAULT_MIN_WIDTH","DEFAULT_MAX_WIDTH","DEFAULT_MIN_HEIGHT","DEFAULT_MAX_HEIGHT","domEvent","updateSize","onbeforeupdate","onResizeComplete","addMouseSupport","throttledOnMove","HANDLE_DIRECTIONS","keyboardResizeHandler","_options$keyboardOpti","keyboardOptions","keyboardResizeDelta","activeClass","resizeHandleElement","addKeyboardSupport","handles","handleSelector","DEFAULT_EDGES","DEFAULT_OPTIONS","mouseSupport","addResizeSupport","COLUMN_DRAG_HANDLE_CLASS","NOW_LIST_COLUMN_REORDER_ACTION_PREFIX","NOW_LIST_COLUMN_REORDER_START","NOW_LIST_COLUMN_REORDER_END","NOW_LIST_COLUMN_REORDER_CANCELLED","NOW_LIST_COLUMN_REORDER_DROP_AREA_CHANGED","NOW_LIST_COLUMNS_REORDERED","NOW_SORTABLE_UPDATE_BEHAVIOR","COLUMN_ACTIVE_CLASS","SOURCE_PLACEHOLDER_CLASS","DROP_AREA_DIVIDER_CLASS","ACTIVE_DRAGGING_ITEM_CLASS","ELLIPSIS_ICON","GROUP_TOGGLE_ICON","ROW_HIGHLIGHTED_CLASS","ROW_GRAYED_OUT_CLASS","ROW_RECENT_UPDATED_CLASS","DRAG_HANDLE_ICON","WHITESPACE_STRING_CLASS","INCLUDE_LARGE_PADDING_CLASS","INCLUDE_SMALL_PADDING_CLASS","COL_SPAN_MAX","cacheIcon","camelIconName","iconKey","iconService","parsedCache","getIconPixelSize","__TECTONIC__$servicenow_now_icon","getFakeNowIcon","iconCacheString","iconIsCached","iconCacheParsed","sizeObj","getIconHeightWidth","dragHandle","ariaDescribedBy","COLUMN_HEADER_CLONE_TAG_NAME","_props$properties","dropAreaDivider","createDropAreaDivider","srcEl","isSpecialColumnElement","colEl","isInDroppableZone","destEl","nextColumn","isNextSpecialColumn","previousColumn","isPreviousSpecialColumn","attachDropAreaDivider","removeDropAreaDivider","adjustClonePosition","dividerRect","headerClone","COLUMN_DEFINITIONS_PATH","COLUMNS_PATH","columnsDataPath","ARIA_LIVE_REGION_TYPE","updateAriaLiveRegion","getClonedColumns","getClonedColumnDefs","setColumnActive","resetActiveColumns","_active","getValidColumnKeys","colDefs","resetActiveColumnsEffect","clonedColumnDefs","getColumnReadablePosition","getTotalTopLevelColumns","columnDropEffect","domDestinationIndex","oldColumns","sourceColumn","newColumns","reorderedColumns","updatedColumnInfo","isRendered","cellToFocus","enterCellTrap","columnDragStartEffect","columnDropCancelledEffect","columnDropAreaChangeEffect","DRAGGABLE_ITEMS","DROPZONE","getBoundingClientRectActual","headerContentEl","headerHeight","sortableRef","isKeyboardActive","isDragEnabled","columnDragDropEnabled","filterDraggableHeaderCells","SCROLL_CONTAINER","keyboardCustomTriggers","keyboardTriggers","refreshSortableHandler","columnDragDropBehavior","nowSortable","nowSortableOptions","requiredArgs","getUnixTime","tzTokenizeDate","dtf","partsOffset","hackyOffset","typeToPos","dtfCache","testDateFormatted","hourCycle","hourCycleSupported","newDateUTC","fullYear","MILLISECONDS_IN_HOUR","MILLISECONDS_IN_MINUTE","timezoneZ","timezoneHH","timezoneHHMM","tzParseTimezone","timezoneString","isUtcDate","absoluteOffset","validateTimezone","isValidTimezoneIANAString","toUtcDate","fixOffset","asUTC","asTS","utcGuess","validIANATimezoneCache","timeZoneString","tzPattern","DEFAULT_ADDITIONAL_DIGITS","dateTimePattern","plainTime","YYY","YYYYY","MMDD","Www","WwwD","HHMM","HHMMSS","dirtyOptions","additionalDigits","dateStrings","splitDateString","parseYearResult","parseYear","parseDate","restDateString","parseTime","getTimezoneOffsetInMilliseconds","dateString","timeString","patternYYY","patternYYYYY","yearString","centuryString","validateDate","validateDayOfYearDate","validateWeekDate","dayOfISOWeekYear","validateTime","DAYS_IN_MONTH","DAYS_IN_MONTH_LEAP_YEAR","isLeapYearIndex","zonedTimeToUtc","cloneObject","offsetMilliseconds","COLUMN_FILTERING_CHOICE_TYPE_APPLY_BUTTON_NAME","COLUMN_FILTERING_CHOICE_TYPE_CANCEL_BUTTON_NAME","MIN_CHOICES_FOR_CHOICE_FILTERING","NOW_INPUT_INPUT","COLUMN_FILTERING_CHOICE_FILTER_CLEAR_TERM","COLUMN_FILTERING_CHOICE_FILTER_CLEAR_TERM_NAME","fromUnixTime","dirtyUnixTime","tzIntlTimeZoneName","getDTF","partsTimeZone","hackyTimeZone","tzNameMatch","getTimeZoneOffset","addLeadingZeros","dirtyDelimeter","tzFormattingTokensRegExp","precededByQuotedSection","replaced","dateFnsFormat","utcToZonedTime","resultDate","formatInTimeZone","DateTypes","DATE_TIME","WEEK_MONTH_YEAR","WEEK_YEAR","QUARTER","DateFormatTypes","TimeFormatTypes","STANDARD","STANDARD_24","EXTENDED","EXTENDED_24","DateTimeFormatTypes","PresetKeywords","LAST","CURRENT","TO_DATE","PresetTypes","START","YEARS","QUARTERS","MONTHS","WEEKS","HOURS","SECONDS","BUSINESS","buildFormatLongFn","dateFormats","timeFormats","dateTimeFormats","buildLocalizeFn","eraValues","quarterValues","monthValues","dayValues","dayPeriodValues","formattingDayPeriodValues","buildMatchFn","buildMatchPatternFn","matchOrdinalNumberPattern","parseOrdinalNumberPattern","matchEraPatterns","parseEraPatterns","matchQuarterPatterns","parseQuarterPatterns","matchMonthPatterns","parseMonthPatterns","matchDayPatterns","parseDayPatterns","matchDayPeriodPatterns","parseDayPeriodPatterns","addMilliseconds","subMilliseconds","dateTimeLongFormatter","possibleConstructorReturn","TIMEZONE_UNIT_PRIORITY","Setter","_utcDate","ValueSetter","_Setter","subPriority","DateToSystemTimezoneSetter","_Setter2","_super2","timestampIsSet","convertedDate","EraParser","daysInWeek","maxTime","millisecondsInMinute","millisecondsInHour","millisecondsInSecond","minTime","minutesInHour","monthsInQuarter","monthsInYear","quartersInYear","secondsInHour","secondsInMinute","secondsInDay","secondsInWeek","secondsInYear","secondsInMonth","secondsInQuarter","numericPatterns","hour23h","hour24h","hour11h","hour12h","singleDigit","twoDigits","threeDigits","fourDigits","anyDigitsSigned","singleDigitSigned","twoDigitsSigned","threeDigitsSigned","fourDigitsSigned","timezonePatterns","basicOptionalMinutes","basicOptionalSeconds","extendedOptionalSeconds","parseFnResult","parseNumericPattern","parseTimezonePattern","parseAnyDigitsSigned","parseNDigits","parseNDigitsSigned","dayPeriodEnumToHours","normalizeTwoDigitYear","currentYear","isCommonEra","absCurrentYear","YearParser","isTwoDigitYear","normalizedTwoDigitYear","startOfUTCWeek","getUTCWeekYear","LocalWeekYearParser","startOfUTCISOWeek","ISOWeekYearParser","_flags","firstWeekOfYear","ExtendedYearParser","QuarterParser","StandAloneQuarterParser","MonthParser","StandAloneMonthParser","startOfUTCWeekYear","getUTCWeek","setUTCWeek","dirtyWeek","LocalWeekParser","getUTCISOWeekYear","startOfUTCISOWeekYear","getUTCISOWeek","setUTCISOWeek","dirtyISOWeek","ISOWeekParser","DateParser","DayOfYearParser","setUTCDay","dirtyDay","DayParser","LocalDayParser","wholeWeekDays","StandAloneLocalDayParser","setUTCISODay","ISODayParser","AMPMParser","AMPMMidnightParser","DayPeriodParser","Hour1to12Parser","Hour0to23Parser","Hour0To11Parser","Hour1To24Parser","MinuteParser","SecondParser","FractionOfSecondParser","ISOTimezoneWithZParser","ISOTimezoneParser","TimestampSecondsParser","TimestampMillisecondsParser","parsers","notWhitespaceRegExp","dirtyDateString","dirtyFormatString","dirtyReferenceDate","subFnOptions","setters","usedTokens","incompatibleTokens","incompatibleToken","usedToken","fullToken","uniquePrioritySetters","setterArray","getUTCDayOfYear","lightFormatters","removeEscapedCharacters","isWeekFormat","isDateOnlyFormat","isTimeOnlyFormat","isDateTimeValueValid","isoDate","isMatchTZ","parseTZ","isTimeZoneFormat","getFormatWithoutTimeZone","getValueWithoutTimeZone","valueToUse","formatToUse","referenceDate","formatTZ","_ref3$locale","enUS","_ref3$timezone","TypeToToken","Formats","isValidTypeToFormat","isTypeToFormatValid","_isValidTypeToFormat","localeContext","timezoneContext","DISABLED_ITEMS_FORMAT_ERROR_ID","DISABLED_ITEMS_START_GREATER_THAN_END_ERROR_ID","FORMAT_MATCH_ERROR_ID","FORMAT_START_MATCH_ERROR_ID","FORMAT_END_MATCH_ERROR_ID","TYPE_FORMAT_ERROR_ID","UNAVAILABLE_END_ERROR_ID","UNAVAILABLE_ERROR_ID","UNAVAILABLE_START_ERROR_ID","INVALID_START_GREATER_THAN_END_ERROR_ID","INVALID_INITIAL_TIME_ERROR_ID","INVALID_INITIAL_TIME_START_ERROR_ID","INVALID_INITIAL_TIME_END_ERROR_ID","ErrorMessages","panelEditableErrorIds","removeErrorMessage","errorId","errorIndex","prependErrorMessage","messageData","CALENDAR_LABEL_FORMAT","CALENDAR_DATE_LONG_FORMAT","CALENDAR_QUARTER_LONG_FORMAT","CALENDAR_TIME_INPUT_ID","POPOVER_ID","STANDALONE_MONTH_FORMAT","STANDALONE_MONTH_LONG_FORMAT","STANDALONE_YEAR_FORMAT","STANDALONE_QUARTER_FORMAT","STANDALONE_QUARTER_LONG_FORMAT","STANDALONE_WEEK_YEAR_FORMAT","TRIGGER_ID","PaginationActionTypes","ItemStateTypes","TWEEN","ADJACENT","RANGE","DateActionTypes","TO_NEXT_MONTH","TO_PREVIOUS_MONTH","TO_MONTH","TO_QUARTER","TO_YEAR","TO_NEXT_YEAR","TO_PREVIOUS_YEAR","TO_WEEK","PaginationTypes","CUSTOM_PRESET_OPTION","UNGROUPED_GROUP_LABEL","StartTimeData","EndTimeData","Keys","MonthLabels","DateHeadingLabels","WeekHeadingLabel","presetTranslations","Year","Quarter","Month","Week","Day","Hour","Minute","Second","addDays","addMonths","dayOfMonth","endOfDesiredMonth","dateWithMonths","dateWithDays","msToAdd","subDays","subMonths","dateWithoutDays","mstoSub","monthIndex","lastDayOfMonth","dirtyMonth","dateWithDesiredMonth","DateActions","monthIdx","quarterIdx","weekIdx","createDateItem","compareAsc","dirtyDateLeft","dirtyDateRight","dateLeft","dateRight","getQuarter","startOfWeek","getWeekYear","startOfWeekYear","getWeek","dirtyDateToCompare","dateToCompare","startOfISOWeek","getISOWeekYear","startOfISOWeekYear","getISOWeek","addWeeks","eachWeekOfInterval","dirtyInterval","startDate","endDate","startDateWeek","endDateWeek","currentWeek","differenceInCalendarWeeks","startOfWeekLeft","startOfWeekRight","timestampLeft","timestampRight","startOfMonth","getWeeksInMonth","lastDayOfWeek","eachDayOfInterval","_options$step","isWithinInterval","dirtyLeftDate","dirtyRightDate","getOverlappingDaysInIntervals","dirtyIntervalLeft","dirtyIntervalRight","intervalLeft","intervalRight","leftStartTime","leftEndTime","rightStartTime","rightEndTime","differenceInMs","getIntervalDays","setStateToItems","firstDateIdx","fullInterval","fullIntervalList","overlapItems","stateKey","allowDuplicates","overlapDates","valuesToDates","overlapLength","overlapStart","overlapEnd","overlapDate","dateFnsSet","getIndexOfDate","disabledItems","_ref3$mode","itemsWithState","getOverlapItemsPerType","SUNDAY_IDX","NUM_DAYS_IN_WEEK","reorderItems","getHeadings","weekdayHeadings","getDateOptions","isInInterval","getAllDaysInWeekIntervals","dateRef","activeInterval","hideAdjacentDates","weekendDays","weeksInMonth","weeksLength","fullWeekendList","lastWeekIdx","inclusiveDays","getOverlapValues","getOverlapDaysOfInterval","inputDateInterval","intervalEnd","isDateTimeFormat","beforeDateRef","subtractFromDate","afterDateRef","addToDate","startDateRef","endDateRef","getDisabledDaysOfInterval","disableWeekends","disabledItemsList","getDateItems","_items","$firstDayOfWeek","_getAllDaysInWeekInte","fullDisabledList","dateItems","eachMonthOfInterval","getMonthItems","baseInterval","intervalList","monthItems","eachYearOfInterval","getYearItems","yearRange","yearItems","createWeekColumn","disableEntireWeek","dateItem","tween","getWeekItems","groupItemsByWeek","_group$week","parseISO","_options$additionalDi","parseTimezone","dateTimeDelimiter","timeZoneDelimiter","dateRegex","timeRegex","timezoneRegex","century","isWeekDate","parseDateUnit","parseTimeUnit","daysInMonths","_year","_hours","addQuarters","startOfQuarter","currentMonth","eachQuarterOfInterval","startDateQuarter","currentQuarter","getQuarterItems","quarterItems","sortDates","getDateFromRange","rangeInitiator","itemsReducer","focusDate","applyTime","timeRef","handleZeroSelectedItems","selectedDate","ariaMessageType","timeRefStart","timeRefEnd","updatedStart","updatedEnd","getDateAnnouncementFormat","updatedSelectedItems","handleOneSelectedItems","handleManySelectedItems","handleRangeSelection","dateAnnounceFormat","announceSelectedDate","dateLongFormat","weekLongFormat","handleDateClick","updatedDate","handleYearClick","dismissOnSelect","activeType","activeDateRef","getDateRef","handleMonthClick","handleQuarterClick","handleWeekClick","getItemCoords","itemIdx","rowIdx","midRowIdx","focusItemNode","itemNode","paginateMonth","prevItem","paginateYear","nextYear","_targetItem2","isDateViewType","COL_IDX_START","ROW_IDX_START","maxRowIdx","maxColIdx","isPrev","isNext","shouldGoToPrevMonth","shouldGoToNextMonth","_targetItem","_items$slice$","targetRowIdx","sliceArgs","_items$slice$2","_items$_targetRowIdx","handleFocusAfterTransition","focusInfo","_items$rowIdx","END_ROW_IDX","cellIsEmptyOrAdjacent","START_ROW_IDX","_items2","handleItemFocus","directionalKey","activeItems","isArrowKey","isPageKey","isHomeKey","isEndKey","keyToUse","ItemClickHandlers","subQuarters","dirtyDatesArray","datesArray","renderDateControls","yearLabel","monthLabel","monthLongName","monthIsActive","yearIsActive","monthCaret","yearCaret","renderMonthControls","renderControls","overRideTabIndexForPresets","referenceDateValue","referenceDateObject","renderCell","lastFocusedItemId","selectionPreviewInterval","weekPreviewInterval","rangeValueEnd","isDateItem","isSelectable","isWeekItem","isWeekType","isWeekActiveType","isInterval","weekPreview","weekRange","isoWeekStartOn","getDateFromWeek","keyIsDirectional","renderRow","renderHeadingRow","renderGrid","footerActionsSchema","closeCalendar","intervalSchema","beforeSchema","afterSchema","disabledItemsSchema","selectedItemsSchema","typesSchema","presetSchema","presetType","presetsSchema","TIME_FORMAT_PATTERN","MIN_TIME_INPUT_SIZE","INPUT_SIZE_OFFSET","presetTypes","getItemById","setRangeValues","rangeValueStart","validStart","validEnd","getSelectedItems","getContainerAriaLabel","itemsChanged","getDefaultFocusableItem","selectedDates","getCurrentOrFocusableDate","firstFocusableSelector","setTimeInputValue","fallbackTime","initialTime","initialTimeStart","initialTimeEnd","valueKey","getDefaultTime","getDefault","_selectedItems","dateStart","dateEnd","setDateItems","parseSubString","getTimeValue","getInputSize","formatLength","renderPaginationButton","gridHeading","renderDateGrid","renderTimeInput","_refs$0$ref3","_refs$4","_refs$1$ref","_refs$5","_refs$0$ref4","_refs$6","_refs$1$ref2","_refs$7","_refs$0$time2","_refs$8","_refs$1$time","_refs$9","_state$context","isDateTimeType","_refs$0$ref","_refs$","_refs$0$ref2","_refs$2","_refs$0$time","_refs$3","defaultInitialTime","_getDefault2","defaultRef","defaultTime","inputSize","inputLabel","dateFnsIsEqual","defaultInitialTimeStart","defaultInitialTimeEnd","_getDefault3","defaultRefStart","defaultTimeStart","_getDefault4","defaultRefEnd","defaultTimeEnd","valueStart","valueEnd","startTimeLabel","endTimeLabel","renderCustomFooterActions","renderDefaultFooterActions","cancelLabel","applyLabel","defaultFooterActionLabels","fallbackValues","showDefaultFooterActions","getTodayButtonLabel","nowLabel","hideFooter","_state$context2","isToday","enablePresets","selectingSecondDate","typeIsPreset","_ref7$state","_ref7$action","hasRendered","_action$payload$previ","prevPropertyType","hasPreviousRendered","prevActiveType","stateTypeChanged","propTypeChanged","activeOrSelected","_getItemById$date","_getItemById","_getItemById2","dateFnsAdd","dateFnsMin","dateFnsSub","dateFnsMax","_selectedItems2","itemsToSelect","panelEditableErrorSet","minRows","date1","date2","compDate","isItemsValid","isDisabledDate","focusCalendar","focusFromPresetsToCalendar","shouldFocusCalendar","focusComponent","focusInput","_state$activeInput","activeInput","_event$composedPath$f","isPathInDateTimePanel","_path$","_activeInput$getRootN","shadowRootNode","activeInputRootNode","isPanelEditable","hideCalendarPanel","fieldInPath","_e$classList2","_e$classList3","inputIsFocused","isWeekYearToken","invalidIds","checkForErrors","_isTypeToFormatValid2","typeFormatMatch","checkTimeValid","initialTimeStartValid","initialTimeEndValid","dateTimeValueValidResp","initialTimeValid","checkForDisabledDates","rangeItems","startItem","endItem","getCalendarIcon","getGroupsCount","getHoistedPreset","_nodes$","popover","checkIfConfigurationIsValid","_isItemsValid","redispatchWithFormat","inputName","_isDateTimeValueValid2","isDateManuallySet","_payload$action","noFooterActionsPresent","_activeInput$dataset","revertPresetSelection","prevActivePreset","prevValueStart","prevValueEnd","_selectedItems$","_isDateTimeValueValid","_selectedItems3","isoDateStart","_isDateTimeValueValid3","isoDateEnd","hasRange","presetValueStart","presetValueEnd","activePreset","updatePrevValue","runValidation","redispatchWithType","_action$payload$input","dispatchType","few","pluralResult","suffixExist","accusativeWeekdays","formattingMonthValues","withPreposition","formatRelativeLocalePlural","usageGroup","futureSeconds","futureMinutes","futureHours","futureDays","futureWeeks","futureMonths","futureYears","futureTense","_text","formattingDayValues","ordinalName","about","almost","lessthan","withoutSuffixes","xseconds","halfaminute","xminutes","xhours","xdays","xweeks","xmonths","xyears","withSuffixes","adverb","translated","adv","formattingQuarterValues","isSameUTCWeek","dateLeftStartOfWeek","dateRightStartOfWeek","_lastWeek","thisWeek","_nextWeek","oneWithSuffix","otherWithSuffix","wordMapping","onlyNumeric","twoFour","declensionGroup","rem10","declension","adjectivesLastWeek","masculine","feminine","adjectivesThisWeek","adjectivesNextWeek","dayGrammaticalGender","dayAndTimeWithAdjective","adjectives","adjective","monthFormattingValues","dayFormattingValues","dayPeriodFormattingValues","singularNominative","singularGenitive","pluralGenitive","buildLocalizeTokenFn","checkWeek","baseFormat","hasLocale","enIN","enIE","enGB","frCA","ptBR","zhCN","zhTW","public_api","_setContext","_activeInput$shadowRo","_activeInput$shadowRo2","totalErrorMessages","inputFieldName","isValueChanged","presetValue","clickedOnActiveInput","hasFooterActions","shouldRevertValue","_activeInput$name","startUnchanged","endUnchanged","_activeInput$dataset2","fromPopoverClose","isValueDisabled","_checkForErrors","_checkIfConfiguration","configErrorID","configValid","startOfDay","startOfYear","cleanDate","startOfHour","startOfMinute","startOfSecond","endOfWeek","endOfMonth","endOfQuarter","endOfYear","endOfHour","endOfMinute","endOfSecond","dateFnsLookUp","addSeconds","addMinutes","addHours","endOfDay","Presets","customLabelPositionIsBottom","presetItems","showGroups","otherGroups","byOrderSort","noGroup","_state$properties$pre","_state$lastFocusItemI","tempPresets","customPresets","DEFAULT_PRESETS","customPresetPositionBottom","selectedPresetIndex","lastFocusItemIndex","selectedGroupLabel","setGroups","sortPresets","presetListFromGroups","matchingGroupLabel","groupStartIndex","presetItemIndex","getPresetItemIndex","presetItem","preset","formatPreset","isCustomKeyword","isBusinessType","activePresetIndex","activePresetGroup","_this$presetItems","_this$presetItems2","selectedPreset","groupPresets","focusItemIndex","getCustomLabelIndex","_this$state$context","getStartDate","getEndDate","groupItems","getGroupItems","initialCap","_ref$duration","dateFnsFunction","getDateFnsFnName","getSingular","convertSingularTypeToPlural","_ref2$duration","presetClickedPayload","selectedItemSetPayload","metaType","presetStartDate","presetEndDate","_this6$state$context","isPlural","timePeriod","_setPresetHeight","PRESET_DEFAULT_HEIGHT","_matchHeights","getCalendarHeight","setPresetHeight","getFocusableItem","getActivePresetElement","getAllPresetElements","focusPreset","presetElement","getPresetElementByIndex","elIndex","allPresetElements","presetsObject","setDispatch","selectedGroup","clearPresetSelection","enablePreset","_presetsObject$getAct","getActivePreset","matchHeights","_presetsObject$getAct2","_ref7$action$payload","activePresetElement","presetElements","firstPresetElement","lastPresetElement","isArrowDown","isArrowUp","nextPresetToFocus","nextPresetIndex","focusIndex","addClassToFirstElementInSlot","_nodes$0$assignedNode","constructErrors","errorID","validateInput","enableSameDay","isStartDisabled","isEndDisabled","_checkForDisabledDate","helperContentEnd","helperContentStart","labelEnd","labelStart","placeholderStart","placeholderEnd","adaptive","showPresetGroups","REFLOW","renderCalendar","manageValueStart","manageValueEnd","valStart","valEnd","isStartInvalid","isEndInvalid","startValue","valueId","focusTrigger","itemsListConstrain","selectedLabel","configAriaDropdownList","decoratorsStart","isListbox","decoratorsEnd","manageSelectedItem","activeItemIndex","nextFocus","_action$meta3","_action$meta4","decorators","numDecorators","NOW_LIST_COMPONENT_LOAD_REQUESTED","NOW_LIST_COMPONENT_LOAD_COMPLETED","NOW_LIST_COMPONENT_LOAD_FAILED","MAX_COMPONENT_LOAD_COUNT","COMPONENT_LOADED_STATUS","customComponentType","CELL","OVERLAY","ROW","GALLERY_VIRTUALIZED_STATUS_ROW","COLUMN_FILTER_VALUE_INPUT","renderLoadingState","renderCustomComponent","ComponentTag","componentDefaultProps","customRowAlignment","fromCustomSource","renderErrorState","renderCustomComponentDisplay","tableMetadata","_loadedComponentInfo$","cellStyle","placeholderStyle","_tableMetadata$fetche","fetchedComponents","loadedComponentInfo","isShortDateFormat","isShortDate","getDateEditorVariant","forceShortDateFormat","BOOLEAN_TRUE_STRING","BOOLEAN_FALSE_STRING","BOOLEAN_TRUE_ICON","BOOLEAN_FALSE_ICON","BOOLEAN_TRUE_ID","BOOLEAN_FALSE_ID","BOOLEAN_CHOICES","BOOLEAN_ICON_SIZE","shouldUseChoiceFilter","getColumnFilteringStateForColumn","columnFilteringState","columnFiltersMap","genericValueInput","_getColumnFilteringSt","shouldDisableValue","columnType","_getDecimalPlaces","dateTimeValueInput","_getColumnFilteringSt2","dateTimeState","shouldDisableApply","getOverridenDateFormat","formattedDateValue","booleanValueInput","_getColumnFilteringSt3","choiceValueInput","choiceValueInputButtonRef","customValueInput","_getColumnFilteringSt5","styleWidth100","valueInput","operatorDropdownOrChoiceText","operatorLabel","_getColumnFilterValue","_getColumnFilterValue2","valueCountToDisplay","COLUMN_FILTERING_EMPTY_CHOICE_FILTER_TEXT","pluralizer","COLUMN_FILTERING_NONEMPTY_CHOICE_FILTER_TEXT","columnFilterLabelCell","filterLabelCellColSpan","filterLabel","columnFilteringLabel","tdClasses","cellContentClasses","columnFilterCell","valueFromProps","shouldShowValueEditor","valueRequired","getColumnRequiresValueFromOperator","removeTooltip","hasStateInitialized","NOW_BUTTON_STATEFUL_CLICKED","NOW_CHECKBOX_CHECKED_SET","NOW_DATE_TIME_ENTER_KEYDOWN","NOW_DATE_TIME_FOOTER_ACTION_CLICKED","NOW_DATE_TIME_OPENED_SET","NOW_DATE_TIME_INPUT","NOW_DROPDOWN_ITEM_CLICKED","NOW_INPUT_ENTER_KEYDOWN","REFRESH_TIMEOUT","NOW_LIST_COLUMN_FILTER_APPLIED","mapPath","dateTimeManageOpenedPath","getColumnFilteringUserPreference","getColumnFilteringUserPreferenceKey","setColumnFilteringUserPreference","isColumnValueEmpty","columnValue","findFullOperator","_find","getDefaultOperatorForType","getBackupOperator","defaultOperator","getUpdatedStateForOneCol","newOperator","newDateTimeState","selectedOperatorObject","getColumnOperatorFromState","columnStateValue","columnFilteringBehavior","getColumnValueFromState","getDateTimeState","getDefaultDateTimeState","resetColumnState","structuredClone","handleFilteringIconicButtonClicked","updateShowColumnFilteringRowState","emitApplyAction","columnFilterRemoved","handleDateTimeActionsClicked","handleOpeningDateTimeCalendar","showColumnFilteringRow","handleButtonClicked","openChoiceColumnFilterPopover","selectAllOrNone","handleInputValueUpdate","dateFormatFromColumn","dateFormatOverride","handleDateTimeValueUpdate","newValueInUnix","handleCheckboxCheckedSet","_state$behaviors$colu","choiceKey","isChecked","shouldCheck","_state$behaviors$colu2","handleOperatorUpdate","handleInputAndDateTimeKeyDownApply","handleSelectApply","_ref6$coeffects","oldOperator","isColumnEmpty","shouldOperatorEmit","focusedCellActions","exitCellTrap","NOW_LIST_HEADER_CELL_TEXT_CLICKED","HEADER_CELL_TEXT_CLICKED","headerTextClicked","handlePopoverClosed","activeColumnKey","SET_COLUMN_WIDTHS","INIT_COLUMN_WIDTHS","SET_FINAL_AUTO_WIDTHS","ADD_RESIZE_OBSERVER","COL_MIN_WIDTH","TABLE_LAYOUT_AUTO","TABLE_LAYOUT_FIXED","COLUMN_WIDTHS_UPDATED","COLUMN_RESIZE_STARTED","COLUMN_SIZE_UPDATED","COLUMN_RESIZE_COMPLETED","COL_RESIZE_MIN_WIDTH","RESIZE_SLIDER_CLASS","onResizeStart","tableLayout","resizeGuide","getHeaderAndSliderElements","headerElement","sliderContainer","scrollToIfNotInView","_sliderContainer$getB","_scrollContainer$getB","containerRight","onSizeUpdated","_getHeaderAndSliderEl","getColGroup","onResizeCompleted","_target$dataset","columnResizeBehavior","nowResizeBehavior","updateWidth","columnWidth","_columnSelectors$getC","columnWidthsState","autoWidths","getFinalCalculatedAutoWidths","finalAutoWidths","widthsChanged","thElements","thElementsMap","autoWidth","columnResizingEnabled","saveColumnAutoWidth","initColumnAutoWidth","autoWidthsCount","setFinalWidths","_getFinalCalculatedAu","disconnectResizeObserver","saveResizedColumnWidth","columnHeaderNode","currentAutoWidth","updatedWidth","columnsWidths","getSavedWidth","getTableLayout","checkIfWidthsChanged","updatedColumns","_updatedColumns$some","columnWidthBehavior","overlayCustomEmittedActions","overlayCustomConfigPath","overlayDefaultComponentProps","overlayComponentTag","overlaySelectors","getOverlayShowColumnHeaders","overlayDefinition","getOverlayType","getOverlayMessageConfig","hasErrorMessage","getOverlayLoaderConfig","getOverlaySkeletonLoaderConfig","getOverlaySkeletonLoaderNumColumns","getCustomOverlayDefaultComponentProps","getCustomOverlayComponentTag","hasCustomOverlayEmittedActions","getCustomOverlayEmittedActions","popoverPositionPath","columnRowIndexPath","columnCellIndexPath","rowIndexPath","cellIndexPath","popoverConfigPath","configPositionsPath","configDismissOnScrollPath","configDisableScrollPath","configHideTailPath","dismissablePath","popoverContentPath","popoverContentText","popoverContentButtons","ariaLabelPath","variantPath","sizePath","labelPath","tooltipContentPath","metaPath","idPath","popoverContentActions","sublabelPath","countPath","disabledPath","presencePath","popoverContentComponentTag","popoverContentDefaultProps","popoverCustomCellEmittedActions","popoverInteractionTypes","DIALOG","LISTBOX","defaultHeaderPopoverPositions","defaultRowPopoverPositions","defaultPositions","popoverContentTypes","TEXT_CONTENT","CUSTOM_CONTENT","RENDER_CONTENT","INVALID_CONTENT","ACTION_CONTENT","popoverSelectors","isHeaderTargetPosition","hasHeaderRowIndex","hasHeaderCellIndex","getHeaderTargetRowIndex","getHeaderTargetCellIndex","isRowTargetPosition","hasRowIndex","hasCellIndex","getTargetRowIndex","getTargetCellIndex","hasPopoverText","getPopoverText","hasPopoverButtons","getPopoverButtons","getPopoverButtonAriaLabel","getPopoverButtonVariant","getPopoverButtonSize","getPopoverButtonLabel","getPopoverButtonIcon","getPopoverButtonMeta","getPopoverButtonId","getPositions","getPopoverType","getActions","getActionsLabel","getLabel","getSublabel","getPresence","hasPopoverAction","hasPopoverCustom","getHighlightedMessage","getButtonsConfig","getIsLoading","getPopoverComponentTag","getPopoverComponentDefaultProps","hasCustomPopoverEmittedActions","getCustomPopoverEmittedActions","getDismissOnScroll","getDisableScroll","getHideTail","getDismissable","isTextContent","isCustomContent","isActionListContent","_popoverDefinition$co","getInteractionType","getPopoverContentType","getActiveActionItem","_actions$","flattenColumns","flattenedColumns","hasCustomColumnTag","hasComponentLoaded","isComponentLoaded","hasCustomColumnFilterTag","addComponentTagIfNotLoaded","processColumns","processCustomRows","customRow","processPopover","processOverlay","getComponentTagsToLoad","componentBootstrappedHandler","_coeffects$state$fetc","fetchingComponents","propertyChangedHandler","componentLoadCompletedHandler","componentLoadFailedHandler","_coeffects$state$fetc2","fetchAndCacheIcons","componentLoaderBehavior","cellSelectors","getEditingDisabled","getColor","getImageSrc","getPersonKey","getLinkLabel","getUrlLabel","hasHighlightedValue","getHighlightedValue","POPOVER_DROPDOWN_ITEM_CLICKED","ROW_HIGHLIGHT_ACTIVATED","ROW_HIGHLIGHT_DEACTIVATED","ROW_FOCUSED_INTERNAL","NOW_LIST_ROW_FOCUSED","ROW_BLUR_INTERNAL","NOW_LIST_CONTEXT_ACTION_CLICKED","NOW_LIST_COLUMN_HEADER_ACTION_BUTTON_CLICKED","CELL_ACTION_KEBAB_BUTTON_CLICKED","COLUMN_HEADER_ACTION","CELL_ACTION","ROW_ACTION","ACTION_POPOVER_TYPE_COLUMN_HEADER","ACTION_POPOVER_TYPE_ROW_AND_CELL","NOW_LIST_ACTIONS_POPOVER_DISMISS_ON_SCROLL","NOW_LIST_ACTIONS_POPOVER_HIDETAIL","GROUP_ACTION","COLUMN_HEADER_ACTION_LABEL","CELL_ACTION_LABEL","ROW_ACTION_LABEL","getActionLabel","typeOfAction","contextActionsBehaviorHelpers","rowSelectionState","_event$path","cellElement","isValidTableBodyCell","isValidTableHeaderCell","getContextObject","rowPath","getContextRows","cellKey","groupIndex","fullRowPath","columnPath","getColumnContextObject","headerCellElement","getActionPopoverType","_event$path2","isThead","hasActionsForRowCellPopover","getCellActions","updateFloatingElementPosition","getFloatingTargetElement","getRowAndCellDropdownItems","groomedCellActions","hasRowActions","cellActionsSection","rowActionExcludes","rowActionsDropdownItems","rowAction","rowActionsSection","actionButtonClickedHandler","columnHeaderIndexes","actionItem","_payload$actionItem","listActionClickedHandler","contextMenuEventHandler","actionPopoverType","getCellActionAriaLabel","cellActionMenuClickedHandler","contextActionsBehavior","NOW_LIST_CUSTOM_COMPONENT_ACTION_DISPATCHED","NOW_LIST_CUSTOM_COMPONENT_ACTION_DISPATCHED_INTERNAL","CUSTOM_ROW_ACTION_DISPATCH","CUSTOM_CELL_ACTION_DISPATCH","CUSTOM_COLUMN_FILTER_ACTION_DISPATCH","ROW_ELEMENT_PATH","getCustomRowContextObject","rowElement","ADDED_EVENT_LISTENERS","callbackListener","customComponentActionDispatchEffect","cellContext","columnFilteringPayload","customRowContextObject","getEmittedActions","customEmittedActions","shouldAddListener","nodeElement","uniqueActionNames","listenersUpdated","customCellEmittedActionsNew","customCellEmittedActionsOld","customCellEmittedActionsToRemove","customCellEmittedActionsToAdd","componentDisconnectedHandler","combinedCustomCellEmittedActions","customCellDynamicActionBehavior","tableRenderedEffect","incomingRender","tableSelector","isTableEmpty","overlayWithHeaders","tableNode","isTableRendered","tableHeadNode","tableBodyNode","hasGroupRowButton","shouldFocusFirst","resetBehaviorEffect","_getBehaviorState2","updateTableRefEffect","_action$payload$shoul","tableHost","newTable","rowSpanMap","rowSpanObj","pointerCell","rowSpanItem","allowTableFocusEffect","domQuery","firstCellRef","moveFocusEffect","enterCellTrapEffect","_getBehaviorState4$fo","nodeToFocus","scrollableContent","exitCellTrapEffect","_action$payload$shoul2","refreshCellTrapEffect","_getBehaviorState6","_getBehaviorState6$fo","keydownHandlerEffect","_nextRow$node","_getBehaviorState7","_getBehaviorOptions4","popoverTriggerClasses","isPopoverFocused","isInputFocused","isHTMLScrollCell","nextRow","scrollableCell","innerClickHandlerEffect","_state$popoverState","popoverState","popoverOpen","outerClickHandlerEffect","_getBehaviorState9","hoistedElements","clickFromTable","clickFromHoist","propChangeEffect","_getBehaviorOptions6$","shouldTriggerRerenderFn","popoverClosedEffect","updateKeyboardNavEffect","focusListEffect","_getBehaviorState0","keyboardNavBehavior","NOW_LIST_CELL_LINK_CLICKED","NOW_LIST_GALLERY_CARD_CLICKED","cellLinkClickedHandler","linkBehavior","SORTABLE_ACTION_PREFIX","NOW_LIST_ROW_SORT_END","NOW_LIST_ROW_SORT_START","NOW_LIST_ROW_DROP_AREA_CHANGE","NOW_LIST_ROW_SORT_CANCELLED","ROWS_REORDERED","DRAG_CANCELLED","ROW_DRAG_HANDLE_CLASS","ROW_CHECKBOX_INTERNAL_SET","NOW_LIST_ROW_SELECT_TOGGLED","NOW_LIST_SELECT_ALL_TOGGLED","SORT_COLUMN_EVENT","COLUMN_REORDER_EVENT","ROWS_REORDER_EVENT","ROW_CHECKED","ASCENDING","DESCENDING","metricsBehavior","_context$coeffects2","movedRows","_context$coeffects3","_context$coeffects3$a","NOW_TEMPLATE_MESSAGE_EMPTY_STATE_ACTION_CLICKED","MESSAGE_OVERLAY_ACTION_CLICKED","NOW_LOADER_ACTION_CLICKED","LOADER_OVERLAY_ACTION_CLICKED","messageActionClickedHandler","loaderActionClickedHandler","overlayBehavior","NOW_LIST_SCROLLED","nowListScrollHandler","HEADER_TARGET","ROW_TARGET","MATCHER_TARGET","INVALID_TARGET","popoverBehaviorHelpers","getPopoverTargetType","getRowTarget","getHeaderTarget","headerRow","headerCellIndex","headerCell","getPopoverTarget","setPopoverState","componentTreeRenderedActionHandler","popoverTargetType","_target$getBoundingCl","popoverOpenedSetEffect","popoverTableScrollEffect","popoverButtonClickedEffect","_coeffects$state$popo","internalPopoverHandler","_popoverTarget$curren","closeInternalPopoverHandler","popoverDefinitionBehavior","rowDefinitionsPath","hasDuplicateRowKeys","rowIndexesMap","rowKeyAlreadyExists","getRowIndexesMap","rowHighlightActivatedHandler","activeRowKey","rowHighlightDeactivatedHandler","rowBlurHandler","rowFocusHandler","rowDefinitionsBehavior","rowDragSourcePlaceholder","rowDragDestPlaceholder","rowDragClone","dragHandleCell","displayLabelCell","dragCellClone","displayLabelCellClone","sortableOptions","rowsPath","handleRowDragStart","handleRowDragDropAreaChange","handleRowDragDropCancel","handleRowDrop","rowsBeforeUpdate","movedItem","rowsAfterUpdate","hasNewRows","currentRowDefinitions","previousRowDefinitions","previousRows","currentRows","currentRowsKeys","previousRowsKeys","refreshDragDrop","rowDragDropBehavior","SN_LIST_GALLERY_GROUP_EXPANDED","SN_LIST_GALLERY_GROUPS_EXPANDED","SN_LIST_GALLERY_VIRTUALIZED_SCROLL_BOTTOM_REACHED","NOW_LIST_VIRTUALIZED_SCROLL_BOTTOM_REACHED","NOW_LIST_ROW_CLICKED","componentBootstrappedActionHandler","groupedRows","groupKeys","expandedGroupsArray","groupIdsException","newExpandedGroupsArray","allExpandedChildrenValues","expandedGroupKey","handleSingleGroupToggle","groupRowKeys","remainingExpandedGroupKeys","groupContext","handleAllGroupsToggle","handleGroupToggle","rowGroupingBehavior","ROW_HIGHLIGHTED_STATE_PATH","TABLE_SELECTOR","SCROLL_CONTAINER_SELECTOR","rowHighlightedHelpers","getRowSelectorByKey","getScrollBehavior","scrollDownToRow","initialDistance","previousScrollDistance","visibleCheckLoop","rowRectInner","scrollRect","newScrollDistance","previousScrollHasStopped","scrollRowIntoView","rowKeyToScroll","rowToScroll","rowRect","scrollContainerRect","isRowAboveColumnHeader","isRowBelowScrollContainer","scrollDistance","_scrollDistance","checkIfNewHighlightedRows","previousHighlighted","highlightedRowKeys","componentDomTreeReadyEffect","componentRenderedEffect","_behaviorState$rowKey","componentPropertyChanged","rowHighlightedBehavior","rowHighlightedState","rowSelectionHelpers","_areAllRowsSelectedReducer","enabledRows","isRowTypeDefault","areAllRowsSelected","getAllSelectedRows","selectedRowKeys","setInitialRowSelectionState","toggledSelectionRowIndex","selectAllRows","rowSelectionEffect","_coeffects$state$rowS","updatedSelectedRows","allRowsSelectionEffect","isSelectAllCheckbox","selectedRowsNew","selectAllRowsNew","selectedRowsOld","selectAllRowsOld","rowSelectionBehavior","ROWS_ENTERED_VIEW","TOP_LOADER_ENTERED_VIEW","BOTTOM_LOADER_ENTERED_VIEW","TOP_BOUND_ENTERED_VIEW","BOTTOM_BOUND_ENTERED_VIEW","LONG_SCROLL_TRIGGERED","SCROLL_TO_TOP_TRIGGERED","SHOW_SCROLL_TO_TOP_BUTTON","HIDE_SCROLL_TO_TOP_BUTTON","HANDLE_SCROLL_BOTTOM_REACHED","RETRY_PREPARE_VIRTUALIZED_OBSERVER","VIRTUALIZED_SCROLL_BOTTOM_REACHED","VIRTUALIZED_LIST_BEHAVIOR","TABLE_BODY","DEFAULT_ROW_HEIGHT","SCROLL_TO_TOP_START_ROW","SCROLL_BOTTOM_REACHED","RETRY","processEvents","intersectionEvents","intersectEvent","scrollToTopRef","topLoaderRef","bottomLoaderRef","topBoundRef","bottomBoundRef","endOfScrollReachedRef","ghostRowObservedElements","ghostRowIdsToIndex","handleIntersectionEvents","VirtualizedObserver","isTopLoaderVisible","isBottomLoaderVisible","isTopBoundVisible","isBottomBoundVisible","observedItems","itemRefs","observedEvents","itemRef","unobserveItem","observerByNowId","LOADER_REF_POSITION_PERCENTAGE","getObserver","getVirtualizedBehaviorState","destroyObserver","executeAfterBrowserStyleAndLayout","getRowRefs","renderedRows","topBound","bottomBound","allRowsFromProp","initializeVirtualizedObserver","topGhostRows","bottomGhostRows","slicedRows","_getVirtualizedBehavi","_getRowRefs","_topGhostRows$i$datas","_bottomGhostRows$_i$d","virtualizedObserver","observeItem","BLOCK_LOAD_SIZE","newBlockLoading","isRenderingSecondPhase","showScrollToTopButton","prepareVirtualizedObserver","cleanupMemory","handleBottomReached","updatePrevBlock","updateNextBlock","updateAfterLoading","handlePrevBlock","newTopBound","newBottomBound","handleNextBlock","_getVirtualizedBehavi2","isBottom","topBlockOffset","newBottomIndex","handleLongScroll","resetKeyBoardNavBehavior","scrollToTop","firstRow","displayScrollToTopButton","hideScrollToTopButton","_value$metadata","scrollToTopContainer","handleRowsEnteredView","_coeffects$properties4","_getVirtualizedBehavi6","prevBottomBound","prevTopBound","_getVirtualizedBehavi7","handleRetryPrepareVirtualizedObserver","handleComponentDomReady","tableBodyYPos","scrollContainerYPos","viewPortInnerHeight","handleGroupToggled","virtualizedListBehavior","SN_LIST_GALLERY_CELL_LINK_CLICKED","SN_LIST_GALLERY_PERSON_CLICKED","SN_LIST_GALLERY_EXPAND_ALL_GROUPS","SN_LIST_GALLERY_CONTEXT_ACTION_CLICKED","SN_LIST_GALLERY_CARD_SELECTED_SET","SN_LIST_GALLERY_SELECT_ALL_CLICKED","SN_LIST_GALLERY_CARD_SELECTED","SN_LIST_GALLERY_CARD_CLICKED","SN_LIST_GALLERY_HEADER_ACTION_CLICKED","NOW_CARD_HEADER_ACTION_CLICKED","NOW_LIST_CARD_PERSON_CLICKED","PERSON_FIELD_ICON_SIZE","BridgeEventMapping","nowListBridgeBehavior","actionToDispatch","isHiddenControlsEnabled","hiddenControlsPreference","floatingTarget","_props$rowContextPosi","_props$rowContextPosi2","_props$rowContextPosi3","_props$rowContextPosi4","rowContextPosition","overlayContentClassName","loadingLabel","renderMessageOverlay","renderLoaderOverlay","renderSkeletonLoaderOverlay","skeletonCols","skeletonRow","skeletonBodyRows","renderCustomOverlay","overlayProps","bodyRows","skeletonCell","cellClasses","showHeaders","overlayContent","overlayClassNames","componentTreeRenderedEffect","popoverIsFocused","nowCellEditButtonClickedEffect","nowCellEditorContentValueUpdatedEffect","updateInputTypeValueEffect","updateProperty","updateUrlValueEffect","updateBooleanValueEffect","cellEditValue","updateDateTimeValueEffect","updatePillsValueEffect","updateChoiceValueEffect","isIconTypeCellEditor","updateHTMLValueEffect","dateEditorVariant","CONSTRAIN_DEFAULTS","CANCEL_DISPATCH","CANCEL_UPDATE","toggleSelectedItem","undeferList","hasBeenUndeferred","autoSelectMatch","selectedIds","exactMatches","dispatchSafariLiveMsg","moveActiveItem","optionPrefix","activeItemId","togglePanel","disableAutoClose","placeholderTooltipVisible","itemSelectable","_state$properties2$va","_state$properties2$na","_state$properties2$fi","focusFirstPill","pills","focusLastPill","focusNextPill","activePill","focusedPillIndex","focusPreviousPill","autoSelected","toggleItems","placeholderOverflowOverride","placeholderOverflowChecked","handleClickTrigger","handleKeydownInput","handleKeydownPill","renderIconIdentifier","renderAvatarIdentifier","renderDismissIcon","removeLabel","renderPills","_item$avatarProps","_item$avatarProps2","_item$avatarProps3","avatarImage","avatarIcon","pillSize","renderNativeInput","_properties$selectedI","removedPill","removedPillIndex","selectedPillItems","pillItems","ColumnSelectors","choiceItems","_ref2$properties$acti","internalValue","cellEditLabel","_ref$properties$actio","COLOR_LIST","cellEditColor","_properties$actionsCo","cellEditPersonKey","cellEditPersonUrl","shouldDisplayAvatar","seismicComponentprops","decorationsSchema","seismicProps","onStagedValueChange","SeismicControlledFieldProps","onMouseEnter","onMouseLeave","onFocus","onBlur","onKeyDown","onKeyUp","onKeyPress","SeismicComponentProps","SeismicComponentFieldPropDefaults","SeismicComponentBase","escapeSeismicSpecialSymbols","getFieldDisplayValue","isAttrFalse","castIfBoolean","getSerializedChanges","getEncodedRecord","generateSubComponentIds","additionalFields","hasProp","getAriaAttr","camelCased","_props$configAria","accessibilityAttributes","defaultDescribedby","resolveAriaAttr","propAriaLabel","propAriaLabelledby","propAriaDescribedby","propAriaDisabled","propAriaHidden","propAriaRequired","propAriaInvalid","restOfAriaProps","isFieldEditableAndDependentFieldValueSet","dependentFieldValue","dependentFieldLabel","getBaseURL","getAriaLabelFromConfig","labelTemplate","additionalTemplateValues","getDeclarativeActionsProps","daProps","_controlProps$formDat","controlProps","canWrite","declarativeUiActions","dependentTable","displayValueList","referringRecordId","referringTable","findAncestor","isNodeInEventPath","nodeContainsFocus","isSlotEmpty","hasNoDirectChildren","getScrollParent","fitDropdownToViewport","parentHeight","MAX_DROPDOWN_HEIGHT","targetTop","targetBottom","targetLeft","fitDropdownToViewportOld","scrollParent","_dropdown$getBounding2","fieldFocusHandler","_getFocusableNodes$ta","nativeInputNode","shallowEqual","objA","objB","keysB","FIELD_MESSAGE_TYPES","CALLBACK_AND_DISPATCH","CALLBACK_AND_DISPATCH_WITH_STATE","NOW_INPUT","VALUE_SET","INVALID_SET","TRACK_RECOMMENDATION_CLICK","FIELD_RECOMMENDATION_INFORMATION","NO_PREDICTIONS_AVAILABLE","SUGGESTION_PREFIX","getMessages","getLiveUpdateMessage","liveUpdate","isUserModified","parsedFieldMessages","transformMessages","messageMap","pushInfoMessageForDependentFields","transformDescriptionAndMessages","momentLocale","isoWeekdays","isTimeZoneEnabledField","presourceGetProperty","getPageProperty","sysPagePropValue","checkIfFieldIsSelected","stagedPath","pathItem","updatedPath","getParentTableName","parentPathArray","dataModel","parentTableName","tableData","fieldData","referenceDataKey","transformFieldNameData","fieldNameData","referenceTypes","allowDotWalking","enabledTables","isFieldReferenceType","transformPathData","tableNameCurrent","firstField","transformFieldNameMetadata","constructDataModel","leafPathSource","transformedMetadata","transformedPath","getFieldNameValue","getFieldNameDisplayValue","getDataModelWithToggledFields","fieldToBeDeleted","updatedIdArray","dataModelToUpdate","popoverDescription","customLabel","customHighlightedLabel","highlightedValueLabel","variantName","colorName","_state$properties$fie3","normalizeHighlightedValues","highlightedValues","_normalizeHighlighted","_normalizeHighlighted2","defaultHighlightedValue","customHighlightedValues","renderDecorations","decorations","fromControlWrapper","marginInlineStart","digits","_isInteger","_getInt","getDateFromFormat","i_val","i_format","ampm","MONTH_NAMES","DAY_NAMES","month_name","day_name","weekNum","setWeek","temp2","toPills","displayValues","convertToValueArray","toValues","getMatchesCount","itemDisplayValue","ComponentBase","_React$Component","React","ControlledField","onLeave","handleOutsideScroll","singleNode","keyboardHandler","mouseHandler","FocusWatcher","globalListener","onNodeBlur","setupGlobalListener","onGlobalBlur","_this$props","persistant","nextProps","setFocusTarget","ShadyDOMEventFixer","_React$PureComponent","ReactDOM","ShadyDOM","ATTRIBUTES","MAPPED_TO_PROPS","shadowRootToSharedAccessibilityTargets","shadowRootToAccessibilityTargetsItemsQueue","shadowRootToAriaRefs","shadowRootToAriaRefsQueue","ariaRefHelpers","handleAriaAccessibility","ariaSetVnode","requiresRef","ariaRef","accessibilityTargets","ariaAttribute","ariaRefShadowRoot","ariaRefAssignments","ariaRefsQueue","assignments","ariaRefToAssignment","ariaRefAssignment","possibleParentAriaRef","buildQuerySelector","createAriaRefHierarchy","currentClone","sourceShadowRoot","sharedAccessibilityTargets","targetShadowRoot","targetItemsWithSharedShadow","targetItemsSharedShadowQueue","handleAccessibilityTargets","targetItemsShadowQueue","targetRefToTreeNode","targetItemRoots","targetItems","treeNode","parentTargetRef","targetRefToQuerySelector","rootTargetItem","firstItemWithTargetRef","childItem","currentParent","currentChild","partialSelector","isAttribute","isMappedToProps","_ariaRefHelpers","existingRef","uiInternal","ErrorBoundary","_onStateChange","ReactDom","renderHighlightedValueReact","ForwardProperties","allLowerCase","undefinedToNull","adaptCallbackForLegacyAPI","createHOC","_OnValueChangeProvider","_ref$initialValueProp","initialValueProp","_ref$initialDisplayVa","initialDisplayValueProp","_ref$cache","_ref$stopBubbling","stopBubbling","OnValueChangeProvider","componentNameWithHash","createValueChangeCallbacks","dispatchCache","newProps","callbackAndDispatch","doesPayloadMatchCache","disableTracking","configOrControl","fieldPropTypes","controlledFieldPropTypes","createCallbacks","createdCallback","dispatchPayload","withValueChangeCallbacksView","_state$helpers","createdCallbacks","_createCallbacks","componentConnectedEffect","behaviorName","parentBehaviors","propertyChangedEffect","_ref5$action$payload","updateKey","callbackAndDispatchEffect","_state$behaviors$beha","_ref7$payload","payloadMatchesCache","additionalOptions","parentHandling","valueChangeAction","isStageChangedAction","clearValueChangedCacheUpdate","allowFieldChangesAfterEveryStageChange","createWithValueChangeCallbackBehavior","_options$initialDispl","_options$initialValue","_options$cache","_options$stopPropagat","callbackWithStateBehavior","oldObj","updateAdditionalInfoState","setInitialStateWithValue","initialDisplayValue","derivedInitialDisplayValue","_omit","isSuggestionsOpened","stagedValue","withState","onValueChangeCallback","onStagedValueChangeCallback","encodedValue","handleInitialValue","isBlur","sAdditionalInfo","sError","formattedValue","_excluded2","mergedAdditionalInfo","createWithStateBehavior","_options$parse","_options$format","_options$trackInputCh","trackInputChange","_options$eventBased","eventBased","_options$fieldChangeH","fieldChangeHandlers","forceRenderOnBlur","parseAndFormat","_format2","inputChangeIsTracked","inputChanged","fieldRegex","isFieldValid","fromEvent","_parseAndFormat2","newAdditionalInfo","isRender","inlineValidationError","_validateInput","validationResult","pInitialValue","pInitialDisplayValue","_format3","_excluded3","isHandlingInitialValue","nextInitialValue","oldInitialValue","originalCallback","callbackPayload","isOnValueChange","_parseAndFormat","_ref9$action$payload","_ref0$action$payload","checkAutofocus","wrapHelperContent","setInitialValue","hasValue","hasDisplayValue","newControlProps","isEncrypted","PASSWORD","eventTitle","trackBehavior","isRecommendation","DYNAMIC_TRANSLATION_TEXT_TRANSLATED","DYNAMIC_TRANSLATION_TEXT_TRANSLATION_REQUESTED","DYNAMIC_TRANSLATION_DETECTED_LANGUAGE","DYNAMIC_TRANSLATION_DETECT_LANGUAGE_REQUESTED","DYNAMIC_TRANSLATION_IS_ENABLED","DYNAMIC_TRANSLATION_IS_ENABLED_REQUESTED","translationActionTypes","detectionActionTypes","isEnabledActionTypes","GET_TRANSLATION_URL","GET_DETECTED_LANGUAGE_URL","IS_ENABLED_URL","IS_INSTALLED_URL","DYNAMIC_TRANSLATION_DETECTION_BEHAVIOR","DYNAMIC_TRANSLATION_TRANSLATION_BEHAVIOR","DYNAMIC_TRANSLATION_ISENABLED_BEHAVIOR","getMetaData","_pick","_pick2","CALL_IS_ENABLED","IS_ENABLED_SUCCESS","IS_ENABLED_ERROR","CHECK_IS_INSTALLED","CHECK_IS_INSTALLED_SUCESS","getInputValues","isEnabledRequestedPayload","isEnabledRequest","parms","isEnabledActions","isInstalled","detection","isEnabledBehavior","CALL_DETECTED_LANGUAGE","DETECTED_LANGUAGE_SUCCESS","DETECTED_LANGUAGE_ERROR","dispatchSuccess","detectedLanguage","alternatives","handleSuccess","isValidInput","getDetectedLanguage","detectionRequest","detectionActions","detectionBehavior","CALL_TEXT_TRANSLATED","TRANSLATED_TEXT_SUCCESS","TRANSLATED_TEXT_ERROR","additionalParameters","sourceLanguage","targetLanguages","getTranslatedText","translationRequest","textToTranslate","translationActions","translationBehavior","TRANSLATED_BY","credit","TRANSLATING","UNABLE_TO_TRANSLATE","MISSING_CREDENTIALS","MAX_LENGTH_ERROR_MSG","LANG_NOT_SUPPORTED","NO_TEXT","FIELD_VALUE_CHANGED","RETRANSLATE","TRY_AGAIN","PREFERRED_LANGUAGE","TRANSLATE","FORM_CLICK_WORKSPACE","METRICS_TRANSLATE_BUTTON_CLICKED","METRICS_CLOSE_TRANSLATED_TEXT_PANEL","METRICS_TRYING_TRANSLATION_AGAIN","METRICS_RETRANSLATE_TEXT_REQUESTED","htmlStr","trackDynamicTranslationEvents","translatedInputEffect","translatedState","translatedResponse","_translatedResponse$d","translationsObj","detectedLang","targetLanguage","translatedText","handleDynamicTranslationClick","dtsRequestBody","parameterValue","dynamicTranslationBehaviour","_payload$response","_payload$response2","isTranslationEnabled","_properties$dictionar","dictionaryAttributes","_state$translatedText","recordMetics","isRetranslate","handleDynamicTranslationBlur","previousTranslatedText","previousText","currentStatus","renderTranslatedText","renderTranslateIcon","DEFAULT_BUTTON_PROPS","DEFAULT_RECOMMENDATION_DIALOG_PROPS","WWNA_INSERT_RECOMMENDATION_CLICKED","WWNA_RECOMMENDATION_DIALOG_CLOSED","WWNA_PRESET_ACTION_CLICKED","NOW_TEXTAREA_INPUT","NOW_TEXTAREA_SELECTION_CHANGED","NOW_RECORD_NOWASSIST_SHOW_HIDE_NOWASSIST","RESOLUTION_TRIGGER_ACTION_ID","sanitizeNACMValue","removeAllWhitespace","textHasMinWordCount","minWords","replaceSelectedText","nacmValue","getCursorPositionAfterInsertion","textWithInsertion","insertedText","insertionIndex","getNowTextarea","_hostElement$shadowRo","_textareaParent$shado","updateTextareaElementSelection","getNACMConfigDetails","inputFocused","wwnaDialogOpened","isUserTriggered","minWordCount","isComponentVisible","componentSelectedText","renderNowAssistContextMenu","nacmConfig","_nacmConfig$contextMe","contextMenu","_getNACMConfigDetails","nowAssistActionsBehavior","_ref$properties$nowAs","_variableSets$some","variableSets","nowAssistConfig","_v$props","config_type","user_triggered","componentLoaded","_ref3$state","_ref4$properties$name","_ref4$action$payload3","_ref4$state","_ref5$action$payload2","_ref5$action$payload3","_ref5$action$payload4","_ref5$properties$name","_coeffects$action2$pa2","_coeffects$action2$pa3","_coeffects$action2$pa4","_coeffects$state2$val","_coeffects$state2$sel","sanitizedNacm","nextCursorPosition","_ref6$action$payload$","_getNowTextarea","_ref8$state2","_ref9$action","_ref9$action2$payload","_ref9$action2$payload3","_ref9$properties","_ref9$properties2","_ref9$properties2$nam","_ref9$state","wwnaOffsets","MIN_HEIGHT","MAX_HEIGHT","COMPONENT_NAME","recommendationsHelper","CHARACTER_COUNTER_WARNING","CharacterCounter","charCount","makeClass","normalizePlaceholder","setInnerRef","innerRef","onFocusEvent","onBlurEvent","onMouseOverEvent","onMouseOutEvent","onMouseOut","onChangeEvent","onNDSChange","changeEvent","getMaxlengthLabel","ignoreMaxlength","renderTextarea","isTrigger","_fieldRegex$","_props$fieldLayout","fitToParent","textValue","maxlengthLabel","resolvedPlaceholder","onMouseDown","autoresizeLineLimit","_suggestions$items","_fieldRegex$2","propAriaLabelledBy","ignoremaxlength","showRecommendationIcon","mobileKeypadType","renderInputWithDropdown","_transformedOptions$h","showDropdownWithoutFocus","highlightedIndex","transformedOptions","renderInputWithSuggestions","_suggestions$items2","suggestedItems","sectionLabel","_suggestions$emptyMes","transformedSuggestions","_props$fieldLayout2","renderTextareaElement","renderInputElement","SNInput","handleChange","callParentOnChange","ControlWrapper","wrapperRef","_ref$fieldset","_ref$highlightedValue","_ref$fieldLayout","alignCenter","_ref$decorations","_fieldLayout$layout","snFormFieldClassName","wrapperClass","getLabels","getMessageMap","hasMessages","FieldMessages","_reduce","messageMapResult","POPOVER_CONTENT_TAG","react","renderFieldHelper","Label","SNInputGroup","trackBootstrap","SysId","Table","FieldType","FieldLabel","withValueChangeCallbackBehavior","trackBootstrapBehavior","handleOutsideScrollFocus","fallbackDropdownBehavior","oldIconToEDSIcon","iconProp","_state$properties$dis","_state$properties$var","_state$properties$siz","_state$properties$bar","iconic","reverseIconPlacement","ButtonComponent","handleButtonClick","POST_ATTACHMENT_QUERY","POST_DATA_START","POST_DATA_PROGRESS","POST_DATA_SUCCESS","POST_DATA_FAILURE","GET_ATTACHMENTS_DATA","GET_ATTACHMENTS_SUCCESS","GET_ATTACHMENTS_FAILURE","EDITOR_ON_CHANGE","EDITOR_ON_KEYDOWN","EDITOR_ON_FOCUS_OUT","EDITOR_ON_FOCUS_IN","EDITOR_ON_BLUR","EDITOR_ON_FOCUS","EDITOR_ON_CLICK","EDITOR_SET_CONTENT","EDITOR_SET_FOCUS","EDITOR_ON_RESIZE","EDITOR_ON_ITEM_SELECT_TRACK","INSERT_PILL","CODE_BLOCK_PATTERN","PLUGIN_BLOCKLIST","OBSOLETE_PLUGINS","REQUIRED_PLUGINS","EDITOR_VERTICAL_RESIZE_TYPE","EDITOR_CONTENT_MARGIN","EDITOR_LINE_MARGIN","EDITOR_FONT_HEIGHT","EDITOR_TOOLBAR_HEIGHT","EDITOR_STATUSBAR_HEIGHT","SETUP_TINYMCE_EDITOR","REMOVE_TINYMCE_EDITOR","DEFAULT_FONT_FAMILY","DEFAULT_FONT","DEFAULT_FONT_SIZE","DEFAULT_FONT_FORMAT","DEFAULT_HEIGHT","OVERRIDE_OVERFLOW_SELECTOR","OVERRIDE_OVERFLOW_STYLE","VALID_LINK_TARGETS","MAXIMUM_DOM_PARSING_DEPTH","TEXT_AREA_ID_PREFIX","TOOLBAR_INSTRUCTION_TEXT","FIT_TO_PARENT_OPTION","removeTinymceEditor","_tinymce$settings","TinyMCEEditor","isDark","BACKGROUND_PRIMARY","NEUTRAL_0","NEUTRAL_20","_theme$BACKGROUND_PRI","_theme$BACKGROUND_PRI2","calcLum","applyDarkSettings","_do_not_use_is_dark_theme","THEME_SASS_VARS","variantMappings","neutral","NDSCssVarMap","getThemeVars","reduceToCssVars","themeVars","customVar","getMappedThemeDefinitions","_props$variant","applyTheme","nodeFound","NDS_INTERNAL_THEME_UPDATE_ACTION","tinyMceThemeBehavior","TINYMCE_THEME_BEHAVIORS","getAssetPath","REPLACE_REGEX","overrideAddCacheSuffix","__sn_addCacheSuffixOverwritten","oldAddCacheSuffix","RENAMED_PLUGINS","imagetools","toc","RENAMED_TOOLBAR_ITEMS","formatselect","fontselect","fontsizeselect","styleselect","tocupdate","uMap","renameMap","filterOut","splitPlugins","splitToolbars","renameToolbar","replacementMap","transformPlugins","transformValidButtons","validButtons","transformToolbar","renameToolbarGroup","toolbarItem","TinyMCEV5CompatibleMode","validPlugins","modifiedValidPluigins","modifiedPlugins","modifiedValidButtons","modifiedToolbar","PLUGIN_NAME","PLUGIN_PATH_URL","getFieldNowAssistContextMenuSettings","_props$nowAssistConfi","_props$nowAssistConfi3","now_assist_context_menu","fieldMeta","getFieldNowAssistContextMenuExternalPlugin","checkIfPluginIsActive","isParagraphOrList","isUlOrOl","elementHasNonTextContent","getSmallestLineHeight","lineHeights","iterateAllValidNodes","getElementDetails","lineCount","smallestLineHeight","numOfLines","getEditorDynamicInfo","currentLineCount","_listElements","listElement","elementDetails","applyAutoresizeLineLimit","minLineCount","toolBarHeight","statusBarEle","statusBarHeight","contentMarginTop","contentMarginBottom","_childElements","lineElement","editorInfo","currentMaxHeight","getDimensionInfo","linesBasedHeight","getMappedLanguage","getAutoresizeOptions","autoresizeBottomMargin","autoresize_bottom_margin","insertContentAndScroll","iframeBounds","iframeShouldScrollDown","iframeShouldScrollUp","minPortionToView","pageShouldScrollDown","pageShouldScrollUp","collapseToolbar","validItems","stripCodeBlocks","swapDivsWithSpans","htmlString","tempDiv","divTag","spanTag","getResponseTemplateConfig","responseTemplates","enableResponseTemplates","defaultSuggestions","suggestionsHeader","defaultSuggestionsFetcher","noMatches","resourceTable","resourceSysId","setEditorStyle","tinymceIframe","customStyleTag","_fonts$split$","DEFAULT_BODY_STYLES","getAttachmentExtensions","isValidFileExtension","getAttachmentListHandler","mapAttachments","attachment","file_name","table_sys_id","getNameCb","selectedFile","filePickerHandler","onchange","getA11yCheckerOptions","resetUndoStack","setupTinymce","_config2","_config3","_config4","browserSpellcheck","enableMentions","isJournal","powerPasteHtmlImport","powerPasteWordImport","powerPasteFilterInlineElements","convertBlobsToBase64","preloadMentions","mentions","TOOLBAR_BLOCKLIST","toolbarItems","showBarsOnFocus","responseTemplateConfig","pluginItems","heightSettings","autoresizeSettings","configProp","htmlEditorConfigs","menuConfigs","sn_mentions","cannotSeeRecordMsg","help_tabs","advlist_bullet_styles","auto_focus","sn_convert_blobs_to_base64","browser_spellcheck","convert_urls","convertUrls","link_default_target","dialog_type","document_base_url","elementpath","extendedValidElements","file_picker_types","font_family_formats","font_size_formats","highlight_on_focus","image_title","image_advtab","tools","pagebreak_separator","powerpaste_html_import","powerpaste_word_import","powerpaste_clean_filtered_inline_elements","relative_urls","relativeUrls","remove_script_host","removeHost","statusbar","style_formats","style_formats_merge","text_patterns","link_target_list","iframe_aria_text","file_picker_callback","images_upload_handler","blobname","link_list","video_template_callback","embedCode","media_alt_source","media_poster","sn_settings","hotkeys","readonlyBottomBorder","contextmenu","editorNotificationsManager","postAttachmentEffect","postAttachmentStartEffect","postAttachmentProgressEffect","_action$payload$progr","postAttachmentSuccessEffect","postAttachmentFailureEffect","getAttachmentsEffect","getAttachmentsSuccessEffect","getAttachmentsFailureEffect","editorOnItemSelectTrackEffect","telemetry","insertPillEffect","tooltipValue","pillText","pillRemoveButton","pillContent","moveCursorToEnd","isValuePropertyChanged","allowBlockBasedAnchors","setupTinymceEditorEffect","oldHeightProps","newHeightProps","_editor$theme","resizeBy","domReadyEffect","insertPill","pillInfo","getEditorContent","useCodeBlocks","isOnChangeEventFromFocus","isOnChangeEventFromContentUpdate","editorOnChangeEffect","_ref11$action$payload","editorOnBlurEffect","_ref12$action$payload","_ref12$state","editorOnKeyDownEffect","editorSetFocusEffect","editorOnFocusEffect","editorOnClickEffect","editorSetContentEffect","_ref17$action$payload","_ref17$action$payload2","editorOnResizeEffect","onResizeEvent","onStagedValueChangeEvent","onValueChangeEvent","NowHtmlEditor","enableCodeBlocks","_properties$autoresiz","childProps","configMentions","ignoreInlineAttachmentPrefix","defaultButtonsConfig","renderPopoverCellEditContentActions","popoverButtons","hideButton","_componentDefaultProp","_componentDefaultProp2","_popoverSelectors$get","NOW_BUTTON_CLICKED_POPOVER_CONTAINER","buttonClickedHandler","buttonIndex","renderTextContent","renderContentActions","dropdownItemClickedHandler","filterChoicesByTerm","handleChoiceFilterInputClear","choiceFilterInputRef","choiceFilterTerm","handleChoiceFilterInputInput","_getChoices","_choices$","selectAllOrNoneLabel","allLabel","noneLabel","choiceFilterInputLabel","choiceFilterClearButtonLabel","_getPillsChoices","filteredChoices","emptyChoiceItem","shouldDisableApplyButton","getPopoverContentView","_props$popoverState","_props$popoverState2","popoverContent","handleCardClicked","cardItem","handleCardSelection","allCardKeys","handleHeaderActionClicked","_cards$groupIndex$chi","_cards$groupIndex","_cards$cardIndex","cardIndex","groupingState","isGroupedData","galleryCardInteractionBehavior","SN_LIST_GALLERY_VIEW","CLASSNAMES","SN_LIST_GALLERY","SN_LIST_GALLERY_CONTAINER","SN_LIST_GALLERY_GROUPED","SN_LIST_GALLERY_BODY","SN_LIST_GALLERY_BODY_TEXT","SN_LIST_GALLERY_BODY_FIELDS","SN_LIST_GALLERY_FIELD","SN_LIST_GALLERY_FIELD_VALUE","SN_LIST_GALLERY_FIELD_LABEL","SN_LIST_GALLERY_HEADER_FIELD","SN_LIST_GALLERY_GROUPED_VIEW","SN_LIST_GALLERY_CARD_METADATA","SN_LIST_GALLERY_CARD_HIGHLIGHTED_VALUE","SN_LIST_GALLERY_CARD_DEFAULT_ACTIONS","SN_LIST_GALLERY_CARD_EXPAND_ALL_BUTTON","SN_LIST_GALLERY_NOW_ACCORDION","CARD_ACTION_ICON_VARIANT","CARD_ACTION_ICON_SIZE_SMALL","CARD_ACTION_ICON_SIZE_MEDIUM","NOW_BARE_BUTTON_TERTIARY","CARD_DROPDOWN_ID","CARD_DROPDOWN_ICON","CARD_METADATA_SLOT","CARD_SIDEBAR_VARIANT","CARD_SIDEBAR_COLOR","NUM_ROW_ACTIONS_THRESHOLD","GROUPED_EXPAND_ALL_GROUPS","GROUPED_COLLAPSE_ALL_GROUPS","SCROLL_TO_TOP_LABEL","SN_LIST_GALLERY_CARD_INTERACTIONS","splitActions","_ref$numActionIcons","defaultActions","dropdownActions","actionsItemsWithPayload","getCardFieldValue","columnMapping","cardProperties","_cardProperties$highl","clickableTextEnabled","_cardItem$cells","_ref2$options","_ref2$fields","_options$showLabel","overrideLabel","fieldKey","columnData","getGalleryColumnCount","_container$children$","cardWidth","shouldUseDefaultView","getGalleryConfig","_columns","headingColumn","supplementaryColumns","processGalleryData","sharedContext","restGalleryProperties","restRowDefinitionProps","fieldMappings","fieldDefinitions","galleryDataBehavior","NOW_DROPDOWN_CUSTOM_TARGET_CLICKED","NOW_ACCORDION_ITEM_EXPANDED_SET","handleExpandAllGroups","handleGroupActionClicked","galleryGroupedBehavior","HANDLED_KEYS","GALLERY_KEYBOARD_NAV_BEHAVIOR_NAME","ENTER_GALLERY_ITEM_TRAP","EXIT_GALLERY_ITEM_TRAP","NOW_CARD","getFocusedCardIndex","navIndex","getGalleryCardContainer","getKeyboardNavBehaviourState","setTabIndexForTabbables","indexValue","galleryCardContainer","getFocusedCardElement","trappedCard","currentFocusedCardIndex","totalCards","_galleryKeyboardNavig","galleryKeyboardNavigator","moveLeft","moveRight","disableTabbingInGalleryContainer","dispatchExitCardTrap","focusCardByIndex","handleFocusInEffect","cardToFocus","enterCardTrapEffect","exitCardTrapEffect","galleryKeyboardNavBehavior","VIRTUAL_PAGE_SIZE","INITIAL_VIRTUAL_PAGES","VIRTUALIZED_GALLERY_BEHAVIOR","LOAD_NEXT_VIRTUAL_PAGE","LOAD_VIRTUAL_PAGE","LOAD_CURRENT_VIRTUAL_PAGE","OBSERVE_VIRTUAL_PAGE","VIRTUAL_PAGE_RESIZED","OBSERVE_VIRTUAL_PAGE_FOR_RESIZE","INITIALIZE_BOTTOM_OBSERVER","INITIALIZE_FIRST_PAGE_OBSERVER","SCROLL_TO_TOP","VIRTUAL_PAGE_ID_ATTRIBUTE","CARD_SELECTOR","GALLERY_VIRTUALIZED_SCROLL_ELEMENT_SELECTOR","SET_SCROLL_TO_TOP_BUTTON_VISIBILITY","INITIAL_VIRTUALIZED_GALLERY_BEHAVIOR_STATE","virtualPageStore","visibleVirtualPages","virtualPageDimensions","cardDimensions","isLoadingNextPages","observedVirtualPageIdForResize","currentViewedPageId","VirtualizedGalleryObserver","bottomObserverRef","virtualPagesObserverRef","observedPages","observedVirtualPageForResize","resizeObserverRef","virtualPageEntries","entry1","entry2","observedBottomElm","firstPageElm","firstPageObserverRef","pageIndex","pageRef","_this$virtualPagesObs","unobserveVirtualPage","_this$virtualPagesObs2","_this$virtualPagesObs3","_this$bottomObserverR","_this$firstPageObserv","_this$resizeObserverR","_this5$virtualPagesOb","observerMap","prepareVirtualPageStore","rowStartIndex","rowEndIndex","prepareNewVisiblePages","pagesCount","newVisiblePages","handleLoadVirtualPage","isVirtualPageVisible","isLastRetrievedPage","handleLoadNextVirtualPage","handleLoadCurrentVirtualPage","_getVirtualizedBehavi3","initialVisiblePages","initializeVirtualPagesIntersectionObserver","initializeResizeObserver","_getVirtualizedBehavi4","handleComponentDisconnected","handleVirtualPageResized","virtualPageHeight","virtualPageWidth","cardHeight","handleObserveVirtualPage","pageElm","observeVirtualPage","handleObserveVirtualPageForResize","observeVirtualPageForResize","handleInitializeBottomObserver","initializeBottomIntersectionObserver","handleInitializeFirstPageObserver","initializeFirstPageIntersectionObserver","handleScrollToTop","scrollElement","handleScrollToTopButtonVisibility","virtualizedGalleryBehavior","galleryViewPropsDefinition","renderActionableMessage","getCellContentElement","isCellElement","isFakeIcon","_target$parentElement","handleShowTooltip","_target$parentElement2","_target$parentElement3","cellContentElement","handleShowTooltipOnFocus","_target2","handleRemoveTooltip","_target3","_target$parentElement4","_target$parentElement5","getTooltipProps","FIELDS_WITH_ELLIPSIS","isGalleryFieldWithEllipsis","renderLiveListEyelashIcon","EMPTY_DISPLAY_LABEL","DEFAULT_VARIANT","DEFAULT_COLOR","getCellDisabled","getColumnDisabled","isNonEmpty","getHiddenPillsTooltip","getTooltipDataProps","isTruncated","getHighlightedText","highlightedContentPatterns","markedDisplayContent","highlightedElement","escapedPatternWords","highlightRegex","highlightedValueCell","shouldRenderHighlightedValue","isHighlightedValue","getFormatedNumberLabel","truncatedLabel","getLinkCell","shouldRenderRecentlyUpdatedIcon","labelProps","toolTipLabel","contentClassNames","clickEventName","getLabelContent","booleanView","stringBool","cellLabel","numberView","isValuePresent","isWhitespaceEnabledInSysProp","preserveWhitespaceSysPropKey","stringView","stringCellContentClassNames","timeAgoOptions","highlightedValueData","spanClassName","shortDateFormatPrefKey","getDateLabelDetails","timeAgoClassNames","dateTimeView","_getDateLabelDetails","getDisplayValue","currencyView","iconView","linkView","isRenderAsLink","urlView","renderedLabel","choiceView","choiceLabel","tooltipLabel","htmlView","plainTextValueExtraSpaces","plainTextValue","parseThresholdColors","_item$trim$split","_item$trim$split2","targetFieldValue","parsedColors","percentOfTarget","targetFieldValueNumber","getPercentBarWidth","renderPercentComplete","targetBarWidth","actualBarWidth","isNegativeValue","isNegativeTargetValue","valueColor","percentCompleteBarTargetClassNames","percentCompleteBarActualClassNames","valueLabel","targetFieldValueLabel","showCurrent","showTarget","percentCompleteView","renderPersonText","textClassNames","buttonClassNames","personView","isNameEmpty","shouldDisplayName","targetClassList","hiddenPillsMessage","hiddenPillsCount","hiddenPillsTooltip","hiddenPillsDescription","descriptionElementId","_props$pillSize","pillRef","renderedPills","pillKey","pillsView","_ref3$pillSize","newMaxPillLimit","newPills","pillList","pillsCellClassNames","pillsAriaLabel","pillValue","customComponent","_getCellContentDimens","cellHeight","cellContentStyle","_getColumnPlaceholder","placeholderContentStyle","galleryCardField","fieldProps","showMoreWhenTruncated","_ref$showLabel","fieldContentClasses","galleryCardFieldValue","dataFieldProps","customComponentProps","MAX_PILL_COUNT_FOR_GALLERY","XS_PILL_SIZE","SN_TRUNCATED_TEXT_SHOW_MORE","SN_TRUNCATED_TEXT_SHOW_TOOLTIP","MORE_BUTTON_LABEL","showMore","tooltipOpen","textElement","galleryCardBody","cardFieldData","fieldItem","galleryCardHeader","_fieldProps$actions","_splitActions","actionIconSize","renderField","renderDefaultActions","defaultActionButtons","galleryCardItem","_cardFieldData$headin","_props$fieldDefinitio","_ref2$rowSelectionSta","_ref2$rowSelectionSta3","_ref3$options","_ref3$options2","_ref3$options2$enable","_ref3$options2$galler","_cardItem$visualTreat","_cardItem$visualTreat3","ariaSelectedState","updatedgalleryItemTooltip","renderGroupedActions","_cardItem$groupAction","actionCount","actionClickHandler","defaultItemHeaderProps","badgeProps","galleryCardViewGrouped","galleryGroupedItem","galleryDataDefinitions","_ref$groupingState","transitionDuration","transitionProperty","galleryCardViewDefault","enabledSlot","_context$enabledSlot","_context$groupingStat","_context$groupingStat3","_context$rowSelection","galleryContainerClassName","renderCustomRow","renderScrollToTopButton","renderVirtualizedPageContent","virtualPage","galleryDataDefinition","renderVirtualizedPage","virtualPagesCount","visibleIndex","isLastVisiblePage","isObservedPageForResize","shouldSetHeight","getVirtualPageHeight","renderVirtualizedPages","_props$virtualizedCar","virtualizedCardsDefinition","pageStoreKeys","hasVirtualPages","galleryCardViewVirtualized","renderGroupedViewToggleButton","_ref$groupingState2","_ref$groupingState2$e","_ref$groupingState2$i","controlledGroupState","galleryView","_state$properties$sha","showVirtualizedGalleryView","shouldWrapCellContent","wrapCellContent","wrapCellContextPrefKey","setWrapClass","wrapClass","defaultClass","renderCols","headerColClassNames","shouldShadeAlternateRows","shadeAlternateRows","shadeAlternateRowsContextPrefKey","groupBadgeCellContent","nestedLevel","badgeCellContent","parentBadgeCellContent","groupBadgeCellContentClassnames","groupToggleCellContent","toggleCellContent","parentToggleCellContent","isAllGroupsToggle","actionPayloadType","areAllGroupExpanded","groupToggleCellContentClassnames","groupToggleClassNames","groupButtonClassNames","groupHTMLButtonClassNames","expandCollapseTooltip","renderGroupActionKebabButton","groupActionsRef","renderSingleGroupActionButton","renderGroupActions","imageCell","truncatedName","personCell","hiddenPillsAriaLabel","pillsCell","pillsValues","renderActionsIconButtons","contextRows","areAllActionsDisabled","_actionItem$icon","_actionItem$icon2","actionIcon","rowActionCellClasses","renderKebabDropdown","preparedActions","kebabTooltip","actionsKebabButtonRef","rowActionsCell","actionsForButtons","actionsForDropdown","buttonsProps","dropdownProps","cellContentClassNames","rowDragCellContent","showDragHandle","rowDragHandleCellContentClassNames","rowDragHandleClassNames","rowSelectionCell","rowSelectionCellContentClassnames","rowSelectionCheckboxClassNames","tooltipDataProps","renderTypedCellContent","isRecentUpdate","dataCellProps","rowActionsCellProps","rowSelectionCellProps","groupToggleCellProps","renderCellActionsButton","cellActionsRef","isRowHighlightedMemoized","isSpecialColumnMemoized","isRecentAddedOrUpdatedRowMemoized","hasCellActionsMemoized","getColumnAlignmentMemoized","handleMouseOver","handleMouseOut","handleDoubleClick","addChildRowMargin","firstDataColumnKey","firstColumnKey","parentGroupClassNames","shouldRenderActionsButton","alignmentClassName","shouldHaveIndent","cellClassNames","cellEditingLabel","a11yLabelId","renderChildRowCells","isDefaultRowWithChildrenType","renderRowCells","colProps","cellMap","columnsMap","cellActionsMap","cellProps","renderChildrenRows","_getGroupedRowCount","groupKey","isGroupedRowType","rowProps","isLastChildRow","tableHasGroupedRows","renderGroupedRowAndChildren","isRecentlyAddedOrUpdated","toggleProps","trClassNames","specialCellClassNames","dragDropHandleCellClassNames","groupToggleCellClassNames","groupedInfoClassName","groupToggleCellContentClassNames","groupBadgeCellContentClassNames","mainCellColSpan","placeHolderDimensions","customRowContainer","specialColumnsCount","customContent","renderSpecialCellsForCustomRow","specialColumns","renderGhostRow","_colProps$columnEdges","relativeIndex","colLength","renderVirtualizedRowCells","rowCellProps","rowDefIndex","_rowGroupingState$exp","modifiedIndex","rowClassNames","rowAria","cellsByColumnKey","ariaDescription","renderBodyRows","tableFooters","columnFilteringToggleButton","buttonIconicClassNames","COLUMN_HEADER_ICON_SIZE","COLUMN_GRAB_INSTRUCTIONS","COLUMN_GRAB_INSTRUCTIONS_PREFIX","renderColumnHeaderCellIcons","cellIconClassNames","renderHeaderCellText","renderColumnHeaderActionsButton","columnHeaderActionsRef","renderColumnReorderHandle","isReorderingEnabled","renderColumnResizeHandle","renderHeaderSelectionCellContent","selectAllEnabled","rowSelectionCheckboxClasses","renderActionCellContent","renderDefaultHeaderCellContent","hasResizeSupport","isFirstColumn","allColumnsHaveWidth","toggleAllGroupsEnabled","columnKeyClassName","_columnSelectors$getI","_ref$selectAllRows","isSelectionColumn","isGroupToggleColumn","isActionColumn","headerCellClassNames","headerCellContentClassNames","headerCellAriaLabel","renderHeaderCells","columnLevel","columnCountAtLevel","validColumnIndex","renderColumnFilteringRow","columnFilteringRowClassNames","columnEdgeKey","renderHeaderRows","columnFilteringProps","tableProps","overlayType","SKELETON_TABLE_CLASS_NAME","tableClassNames","scrollToTopCaption","timeAgoBehaviors","getBehaviors","renderBodyOverlay","emptyStateEnabled","_columnDefinitions$co","popoverProps","scrollToTopLabel","galleryLayoutProps","onScroll","columnHeaderClickBehavior","elementIdentifier","activeTable","nlqTableDefinitionsLoading","tableDefinitions","tableMatches","tableSelected","ListResult","NOW_SELECT_ITEM_SET","NOW_POPOVER_OPEN_SET","NOW_PILL_SELECTED","NOW_RADIO_BUTTON_VALUE_SET","FEEDBACK_PROVIDED","NLQ_VIEW_FULL_TABLE_CLICKED","KG_VIEW_RECORDS","HELPFUL_FEEDBACK_START","UNHELPFUL_FEEDBACK_START","FETCH_NLQ_NAVIGATION_CONFIG","FETCH_NLQ_NAVIGATION_CONFIG_SUCCEEDED","FETCH_LIST_DATA","RECORD_LIST_DATA_FETCH_STARTED","RECORD_LIST_DATA_FETCH_COMPLETED","RECORD_LIST_DATA_FETCH_FAILED","MULTITABLE_NLQ_REQUEST","MULTITABLE_NLQ_REQUEST_STARTED","MULTITABLE_NLQ_REQUEST_SUCCESS","MULTITABLE_NLQ_REQUEST_ERROR","QUERY_BUILDER_REQUEST","QUERY_BUILDER_REQUEST_STARTED","QUERY_BUILDER_REQUEST_SUCCESS","QUERY_BUILDER_REQUEST_ERROR","QUERY_BUILDER_POLL","QUERY_BUILDER_POLL_STARTED","QUERY_BUILDER_POLL_SUCCESS","QUERY_BUILDER_POLL_ERROR","GENIUS_RESULT_CHAT_TRIGGERED","ASK_A_FOLLOW_UP_CLIKED","SHOW_FULL_ANSWER_CLICKED","ATTACHMENT_CLICKED","FEEDBACK_ACTION_CLICKED","NOW_CARD_CLICKED","GR_MINI_SELECETED","getNLQMiniThumbnailSubtitle","getNLQMultiTableDropdownOptions","selectedTables","selectedTablesCount","formatSelectedTables","formatUtterance","utterance","formattedTables","connectingWord","updatedUtterance","removeExtraWhitespaces","tableTokens","_currentValue$suggest","suggestionType","compareToken","translateTokenReplacement","getNavigationConfig","profile","action_payload","handleFeedback","feedbackValue","partialState","openFeedbackDialog","feedbackReason","transformJSONToTableDefinitions","jsonData","GlideListLayout_Query","getListLayout","fullLabel","layoutQuery","queryRows","columnName","dropDowns","descriptionFontSize","AiSearchBody","NlqMultiTableBody","NlqBody","feedbackOptions","feedbackOther","helpfulButton","unhelpfulButton","otherFeedbackInput","feedbackDialogCard","isFeedback","unhelpfulButtonWithReasonDialog","transformToSplitButtonItems","overflowLimit","allowDropdown","displayActions","actionButtons","allowFeedback","enableDataLabelingFeedback","followUpAction","isSynthesizedAndStreaming","allChunksProcessed","renderForDemo","feedbackButtons","FeedbackButtonSet","intentFeedbackButtons","isIntentFeedback","relevanceFeedbackButtons","isRelevanceFeedback","_groupActions","splitButtonItems","splitActionButtons","followUpActionButton","viewArticleCitationFooter","sourceLabel","showCitations","renderCitationAsCard","labelForCitation","getLabelForCitations","sharepoint","internalSources","imageIcon","citationAction","renderCatalogCardBody","conversational","imageSrcToRender","price","itemSysId","showHandOver","clickedData","clickedItemSysId","renderKgCardBody","tableLabel","renderPeopleCardBody","sharedFiles","sharedFilesHtml","_file$icon","_file$icon2","authEndPoint","renderKbCardBody","externalDocumentIcon","externalDocumentType","shortdesc","getDetails","citationPopoverContentConfig","descDetails","citationPopoverConfig","popoverOpened","catalogLabel","skillLabel","_JSON$parse$name","agentInfoJSON","agentName","streamingData","streamingText","streamingProcessor","_streamingData$didExc","didExceedLineLimit","citationsFromStreaming","actionsFromFinalResponse","updateElm","lastNewLineIndex","ghostText","nestingLevel","globalAskForFollowUpButton","askForFollowUpButton","_state$properties$isO","mobileQuery","_ref2$allChunksProces","CardHeader","Streaming","CardBody","CardFooter","getElementHeight","originalParent","hiddenDivContainer","wordSpacing","elementCopy","handleTruncation","heightLimit","debounceAndWait","debouncedHandleTruncation","handleResizeForTruncation","queueUpdateTruncationVisibility","originalArgs","handleSynthesizedResponse","_parseInlineReference","setNLQTableMatches","queueUpdateShouldTruncate","handleComponentDOMTreeReady","handleIconicButtonClick","geniusCardFeedbackClicked","closeFeedbackDialog","_meta$appended","buttonOrLinkClicked","geniusCardActionClicked","handleViewAll","dropDownItemClicked","nlqDropDownClicked","geniusCardAction","setMultiTableAndFetchData","handleDescriptionCollapsed","newFeedbackValue","nowButtonBareClicked","handleFeedbackOtherInput","handleReasonSelection","fetchListCompleteEffect","_transformJSONToTable","user_question","force_table_grammar","setActiveTableAndFetchData","selectedTableData","logID","fixedQuery","listTitle","runQuery","runHighlightedValuesQuery","isDeclarativeActionsRequired","parsedResponse","initialSelection","handlePillSelected","selectedTable","savedQueryId","queryId","searchProfile","requestStarted","requestFailed","applyMultiTableSuccess","nlqMultiTableLogId","dataConfig","source_id","source_id_label","filter_query","queryBuilderRequestSuccess","qbTable","queryBuilderPollSuccess","fetchListEffect","handleAttachmentClicked","applyMultiTableEffect","queryBuilderEffect","queryBuilderPollEffect","STREAMING_ACTIONS","STREAMING_START","STREAMING_END","STREAMING_READ_MORE","STREAMING_SHOW_LESS","STREAMING_SHOW_MORE","CHAR_LIMIT_REACHED","StreamingProcessor","STREAMING_BEHAVIOR_NAME","_ref$typingSpeedInMil","typingSpeedInMillisecondsPerUnit","allTokens","currentTokenIndex","expectedSeqId","isProcessing","receivedAllChunks","finalContent","finalTokens","hasFinalResponse","TYPING_SPEED","newMessages","seqId","processChunksInOrder","finalResponse","contentObj","mergeCitationsState","splitTextIntoUnits","_finalResponse$model","finalReplaceAll","messageType","_this$allTokens","streamResponse","_parseInlineReference2","finalizeStreaming","maybeStartProcessing","typeWriter","fastForwardTyping","maybeCheckIfOverflow","finalSnippet","newCitations","_this$state$behaviors","getSearchRequestId","_val$data","searchRequestId","createAndUpdateStreamingProcessor","unitLimitEnabled","updateMessageMap","_options$typingSpeedI","_options$unitLimitEna","_options$unitLimitEna2","newSearchRequestId","oldsearchRequestId","handleFinalResponse","commonQuery","groupedRow","singleRow","listLayoutQueryFragment","betterListModel","fetchListInterceptor","_behaviors$STREAMING_","_behaviors$STREAMING_2","citationsForDisplay","inlineCitations","_inlineCitations$k","_inlineCitations$k2","_citationsForDisplay$","citation","popoverEle","_citationsForDisplay$2","_c$propValues","_citationsForDisplay$3","_c$propValues2","_citationsForDisplay$4","_c$propValues3","_citationsForDisplay$5","_c$propValues4","_citationsForDisplay$6","_c$propValues5","openSplitButtonDropdown","showAlert","showMoreClicked","streamingBehavior","thumbnailHeader","Footer","Thumbnail","nlqNavigationConfig","currentLabel","previousLabel","shouldAnnounce","firstItemLabel","nextLabels","labelsChanged","previousLabelChanged","currentLabelChanged","shouldAnimateLabels","shouldEvaluateTruncation","labelsElm","getAnimations","firstLabel","animatedSparkleAnimation","GeniusResultLoadingState","LoaderView","EmptyDataRow","ContentHtml","isLayoutVertical","cardHeightHorizontal","dataFetchInProgress","carouselProps","activeThumbnailIndex","mediatorWrapper","noBox","mainCardConfig","containerClassName","CREATE_GR_SUBSCRIPTION","AMB_SUBSCRIPTION_ACTIONS","SUBSCRIPTION_STARTED","SUBSCRIPTION_SUCCEEDED","SUBSCRIPTION_FAILED","MESSAGE_RECEIVED","SUBSCRIPTION_UNSUBSCRIBED","SN_SEARCH_STREAMING_DEBUGGER_COMPONENT_TREE_RENDERED","ASYNC_RESULT_LOADING_TIMEOUT","GENIUS_CHAT_TRIGGERED","TOP_RESULTS_CHAT_TRIGGERED","TOP_RESULTS_ACTION_DELEGATED","TOP_RESULTS_DECLARATIVE_ACTION","SEARCH_RESULTS_DECLARATIVE_ACTION","NOW_ALERT_ACTION_CLICKED","WRONG_NLQ_FILTER","baseOptions","DEFAULT_USER_CARD_FEEDBACK_OPTIONS","DEFAULT_CATALOG_FEEDBACK_OPTIONS","DEFAULT_NLQ_FEEDBACK_OPTIONS","SECONDARY_FEEDBACK_ENABLED_MODELS","nlq","POWERED_BY_TEXT","AI_SUGGESTION","HIGHLIGHTED_TEXT_ICON","SYNTHESIZED_ANSWER_LABEL","QA","CATALOG_ITEM","NA_CATALOG_ITEM_SPARKLE_TEXT","NLQ_CARD_HEADER","QA_CARD_HEADER","MAX_COMPACT_PERSON_INFO","transformUserCardProps","avatarName","primaryDescription","secondaryDescription","additionalInfoLabelOne","additionalInfoValueOne","additionalInfoLabelTwo","additionalInfoValueTwo","additionalInfoLabelThree","additionalInfoValueThree","additionalInfoLabelFour","additionalInfoValueFour","_properties$feedbackO","descriptionValues","formatIdentifier","decodeHtml","transformQACardProps","_model$model","poweredBy","sparkleText","formattedIdentifier","highlightedTextLabel","answerConfig","transformCatalogCardProps","markerType","imageAlt","catalogConfig","transformNLQCardProps","GAI","nlqConfig","transformSynthesizedCardProps","CATALOG_INTENT","USER_INTENT","CATALOG_SOURCE_TABLE","USER_SOURCE_TABLE","GENIUS_RESULT_CLICK","GENIUS_RESULT_FEEDBACK_CLICK","ANALYTICS_EVENT_INTENTS","QUERY_INTENT_TRIGGERED","GENIUS_RESULT_TRIGGERED","GENIUS_RESULT_EVENT","trackGeniusResultTriggeredEvent","getGeniusResultIndex","geniusResultsReceived","geniusResult","customValues","eventMetadata","_generateCoreEventMetadata","appliedFacetFilters","appliedFilterIds","appliedSortOptionId","tableType","sessionId","useLegacySignalTracking","_properties$searchRes","searchResultMetadata","matchedQueryIntents","matchedGeniusResultIntents","actionValues","_getIntentsBySource","geniusResultConfigId","ais_genius_config_id","signalsPayload","baseAnalyticsPayload","analyticsPayload","_getGeniusResultFeedbackModel","_getGeniusResultAnalyticsModel","requirePreceedingEventCompletion","_getGeniusResultSourceTable","_getGeniusResultLabel","rawGeniusResultsReceived","knowledgeCitationsGr","intents","correctedSearchTerm","parentEvent","EventName","EventPayload","childEvents","_getChildEvents","generateVAPayload","intention","sysIdOfRecord","geniusResultsVA","vaItem","vaItemSysId","rawResult","searchMetadata","searchResultsTemplates","geniusResultsTemplates","filterExternalGRs","isSourceTypeNotExternal","isSourceTypeExternalAndTokenTrue","handleGRMiniSelected","debugMode","setSearchRequestIdToStateAndResetMessages","resetAsyncGeniusResultLoadingTimeout","initializeSubscriptionForGeniusResults","__AIS_ACCUMULATED_AMB_STREAMING_MESSAGES__","primarySearchRequestId","alertDismissed","prepareNewGrData","carouselData","newCarouselData","currentAMBSubcsriptionChannel","asyncGeniusResultChannelName","awaitingResults","asyncGeniusResultsLoading","populateGeniusResultsFromProps","streamingStarted","sensitivityFilterMatched","createGRSubscription","sortGeniusResults","geniusResultList","gr1","gr2","_properties$searchRes2","grsReceived","consolidateActionsAndCitationsToFirst","_properties$searchRes3","setPropsForStreaming","feedbackOpions","newMainCardConfig","mergedCitations","firstActions","resultType","_mergedCitations$CITA","citationExistsInProps","handleStreamingData","sequenceNumber","accumulateAMBMessagesToWindow","_payload$data","_payload$data2","_existingMessages$","currentSearchRequestId","existingMessages","handleAmbMessageReceived","_payload$data3","_payload$data4","_payload$data5","_properties$asyncGeni","asyncGeniusResultsMaxWaitTime","asyncGeniusResultTimerExpired","cancelTimer","asyncGeniusResultReceived","_payload$data6","_payload$data7","_payload$data8","hasSensitivityFilterMatched","sensitivityFilter","hasMatch","_payload$data9","grCount","_geniusResultsTemplat","isSynthesizedResponse","_payload$data0","handleGeniusChatTriggered","vaPayload","handleAskAFollowUpSignalEventInternally","customPayloadValues","handleShowFullAnswerSignalEventInternally","handleAskAFollowUpClickedForSignals","delegateActions","handleDelegatedAction","handleShowFullAnswerClickedForSignals","delegatedActionType","handleResultActionClick","handleFeedbackInternally","_action$payload2$acti","feedbackType","handleNLQTableSwitched","handleNLQTableClicked","timerID","asyncGeniusResultTimerID","handleAsyncGRTimerExpiration","dismissAlert","daClientActionContract","all_actions","previousPageToken","nextPageToken","responseTimeInMs","parentWidth","topicsAvailable","syncGeniusResultsLoading","showTopics","showResultInfo","showGeniusResults","geniusResultsLoading","topicsLoading","geniusResultsAvailable","enableAutoPlay","renderGeniusResults","viewAllLinkLabel","renderTopics","renderResults","ResultInfo","renderGaurdianInfo","shouldShowData","carouselDataComputed","_carouselData$items","vaEVAM","ROOT_VALUE","SELECTOR_TYPE","SINGLE","MULTIPLE_AND","MULTIPLE_OR","SINGLE_SELECT","MULTIPLE_SELECT","SELECTOR_STATE","PARTIAL","UNSELECTED","TOGGLE_ACTION","DEFAULT_OPTION_LIMIT","SPACE_KEY","SECTION_FOLD_TOGGLED","SELECTION_TOGGLED","SINGLE_SELECT_TOGGLED","SELECTIONS_UPDATED","TOGGLE_FOCUS_ON_SELECTED_ITEM","_foundDescendantWithSelectionState","selectMetadata","selectorState","_unselectSiblings","_refreshSelectedLeaves","noChildren","selectedLeaves","currentSelectedLeaves","_refreshSelectedLeavesInRoot","updateSingleSelectState","toggledItemMetadata","rootMetadata","_updateDescendantSelectState","_refreshAncestors","hasUnselectedChildren","hasSelectedChildren","updateSelectStates","toggleExpand","_getItemType","_getRefToChildren","_getChildrenValues","refToChildren","_getIsExpanded","isInitial","_mergeMetadata","builtData","builtItem","_getSelectedFacetFilters","leafId","_selectMetadata$leafI","_applySelections","expectedSelectedItems","onLoad","updatedSelectMetadata","itemIds","_itemIds","_itemIds2","remainingIds","_buildDefaultRootItem","_buildResolvedSelectMetadata","mergedMetadata","_buildTransformedState","optionLimit","itemsWithOptionLimit","resolvedSelectMetadata","nowCheckboxCheckedEffect","linkClickedEffect","_payload$appendedPayl","appendedPayload","selectionToggledEffect","clonedSelectMetadata","selectionUpdatePayload","selectedFacetFilters","singleSelectToggledEffect","_ref6$action$payload","sectionFoldToggledEffect","COLLAPSE_TITLE","EXPAND_TITLE","TreeExpandButton","ariaTitle","_getCheckedState","Link","clickHandler","Checkbox","boxShadow","visualInput","toggledValue","TreeItem","ariaExpanded","multiSelect","singleSelect","MAX_LEVEL","MAX_CHILDREN_LENGTH","_getTreeClassName","isTopLevel","levelModifier","indentModifier","scrollModifier","Tree","childrenClassName","_Tree","MODE","DRILL","TREE","MULTIPLE_SELECT_HYPHEN","SINGLE_SELECT_HYPHEN","DEFAULT_LABEL","APPLIED_FACETS_TRUNCATION","APPLIED_FACET_LIST","USER_FACET_CONFIG_SYS_ID","CAT_ITEM_CONFIG_SYS_ID","CLEAR_ALL_LABEL","CLEAR_ALL_WCAG_LABEL","CLEAR_LABEL","SHOW_FEWER_LABEL","COLLAPSE_LABEL","EXPAND_LABEL","FACET_IDENTIFIER","HIDE_FILTERS_LABEL","SEARCH_REFINED_EVENT","UP_ARROW_KEY","DOWN_ARROW_KEY","TRANSLATION_QUERY","RANGE_FACET_REGEX","SINGLE_SELECT_ALL","ACCORDION_SUBLABEL_AND_FACET","ACCORDION_SUBLABEL_OR_FACET","STACKED_PILL_OR_FACET_LABEL","STACKED_PILL_AND_FACET_LABEL","STACKED_TYPE","FACET_TYPE","SOURCE_FACET_TYPE","SOURCE_FACET_LABEL","SOURCE_FACET_CONFIG_ID","SOURCE_FACET_OPTION_LIMIT","_getValues","_getSelectedFilters","selectedOptions","facetFilter","_buildFacetMetadata","facetsMetadata","updatedFacetsMetadata","firstExpandableId","_facet$data","_facetsMetadata$facet","facetConfigSysId","storedFacet","_getStorageKey","_mergeFacets","existingExpandedState","shouldBeExpanded","_buildState","_anyItemsSelected","selectionsFromMetadata","appliedFilter","appliedFiltersReturned","_selectedItemsLength","_getLabelsFromFilters","facetFilters","_getLabelFromRangeFilter","rangeFilterLabel","_getRangeFacetStorageKey","cachedLabel","_facet$data2","facetOptions","_getAppliedFacetLabelsByType","_getFacetFiltersBasedOnType","_getFacetFilterIndex","appliedFilters","facetValue","_getRangeFacetFilterIndex","rangeFilter","_getTruncatedLabels","filterLabelsApplied","truncateAppliedAndFacets","truncateAppliedOrFacets","filterObjects","_getAccordionFocusTarget","keyPress","moveFocusTo","accordionHeaders","focusedElement","_replaceFacetLabels","translatedLabels","_checkForRangeFacets","_facet$data3","_markRangeFacets","_facet$data4","isRangeFacet","_combineSelectedSourcesAndFacets","searchSources","selectedSearchSources","availableSourceIds","combinedSelectedOptions","savedFacet","newFacet","newOption","savedOption","_addSourceFacet","facetsToDisplay","sourceFacet","existingIndex","Facet","_facet","isSourceFacet","showCount","ALL_CLEARED","ACCORDION_CLEARED","FACET_SELECTIONS_UPDATED_INTERNAL","APPLIED_FACETS_EXPANDED_COLLAPSED","PILL_DISMISSED","SORT_FILTER_SELECTED_INTERNAL","HIDE_DESKTOP_FACET_PANEL","LABEL_TRANSLATION_STARTED","REQUEST_TRANSLATED_LABELS","TRANSLATION_FETCH_STARTED","TRANSLATION_FETCH_SUCCEEDED","TRANSLATION_FETCH_FAILED","FACET_SELECTIONS_UPDATED","SORT_FILTER_SELECTED","DONE_BUTTON_CLICKED","TOGGLE_FACET_PANEL_VISIBILITY","_getIcon","ExpandButton","subLabel","Accordion","_ref$expanded","Panel","showEndingDivider","AppliedFacets","enableLabelTranslation","applicableSingleSelectLabels","applicableMultiSelectLabels","truncateANDLabels","applicableORLabels","orPills","andPills","stackedORPills","stackedANDPills","andLength","showORLength","andORShowLength","showMoreAndLabel","showMoreORLabel","showMoreLabel","truncateAppliedFacets","stackedPills","showFewerOrMore","Loader","PanelList","_facetsMetadata$facet2","facetPanelIsHidden","focusHideFacetsButton","anyItemsSelected","clearButton","_elm$shadowRoot$query","focusShowFacetsButton","_isEmptyFacet","facetObject","searchFromChat","moveAccordionFocus","INITIAL_DRILL_HEADER","DONE_LABEL","BACK_LABEL","RELEVANCY_SORT_ID","SORT_BY_LABEL","RELEVANCY_SORT_LABEL","RELEVANCY_SORT_FACET","isSortBy","_filteredFacets","includeSources","_sourceFacet$data","sourceIds","_allSelectedFilters","sourceFilters","selectionsUpdatedEffect","_updatedFacetsMetadat","_updatedFacetsMetadat3","updatedFacet","selectedFilterValues","unselected","_updatedFacetsMetadat2","currentFacetSelection","updatedSelections","selectedFilter","toggleFocusOnSelectedItemEffect","allFacetsClearedEffect","accordionClearedEffect","_updatedFacetsMetadat4","optionsToBeRetained","appliedPillDismissedEffect","rangeFacetPresentNotDismissed","regularIndex","rangeFacetFilters","expandCollapseAppliedFacetsEffect","baseActionHandlers","hideFacetPanel","NAVIGATED_TO_CHILD_PANEL","NAVIGATED_TO_PARENT_PANEL","DONE_BUTTON_CLICKED_INTERNAL","Filters","navigateToChildPanel","drillHeader","drillField","RootHeader","_facetsMetadata$SORT_","CategoryHeader","_showSortByFacet","sortFacets","_sortFacets$data","_sortFacets$data2","selectedSortFacet","facetsMetadataWithSortBy","navigatedToParentPanelEffect","navigatedToChildPanelEffect","sortFilters","sortByFacet","sortFacetOptions","selectedSortFilters","facetSelectionsUpdatedEffect","sortFilterSelectedEffect","mobileDoneButtonClickedEffect","labelTranslationStartedEffect","fetchTranslationsEffect","translationFetchSucceededEffect","_payload$errors","translationFetchFailedEffect","OPTIONS","globalSearchTerm","isFeedbackSubmitted","feedbackSubmit","u_query","u_query_response_yn","u_comments","PAGE_NUM","validateSelectedPage","selectedPage","renderPage","renderRange","selectedPageSize","rangeLabel","firstVisiblePageIndex","pageSizes","hideGoToFirst","hideGoToPrevious","hideGoToNext","hideGoToLast","hidePageSizeControl","hideRange","visiblePages","pagesOverride","pageSizeLabel","adjustedSelectedPage","isFirst","halfVisiblePages","nextPage","prevPage","lastVisiblePageIndex","pageNumbers","renderPageButtons","pageSizeOptions","renderPageSizeControl","SkeletonLoading","extraClass","FilterLoading","SkeletonView","_searchResultList$ite","searchResultList","fetchViewMoreInProgress","updatedTitle","_propValues$summary","_propValues$model","_propValues$title","u_source_table","u_type","computeTitle","docs_url","u_navigation_url","u_doc_type","renderSearchTitle","decodedHtml","decodeHtmlEntities","renderSearchDescripton","YES","NO","hasFiltersApplied","noSearchResultsFound","GENIUS_15_SECONDS","TRIGGER_TIME","clearGeniusCardEngagementTimeout","getScrollPercentage","captureGeniusEngagementAfter15sec","geniusSearchResultEventData","geniusMessageReceivedEffect","_data$geniusResultsTe","_items$","searchResponse","searchResultMetaData","hasNoAnswerGRs","showGeniusCardFallBackMessage","geniusResultClickRank","geniusSearchResultEventDataForSignals","noAnswerGRItems","handleErrorScenarios","geniusCard","NowSparkleIcon","TOGGLE_FILTER_VISIBILITY","DISABLE_SPELL_CHECK","basePayload","paginationToken","disableSpellCheck","asyncParams","searchFilters","searchPurview","additionalContext","componentTreeRendered","createPayload","_ref3$searchFilters","_ref3$sortOptions","DEFAULT_FACET_FILTERS","DEFAULT_SEARCH_SOURCES","sortByFirstCharacterOrder","arrayToSortLarge","customOrder","orderMap","firstCharA","firstCharB","_selectedFilterIds$ma","_searchResultMetaData","_searchResultMetaData2","_searchResultMetaData3","_searchResultMetaData4","selectedFilterIds","fetchDataInProgress","searchResultLoading","selectedSort","filtersVisible","noSearchDataAvailable","handleFilterToggle","showGeniusResult","hideGeniusCard","handleSearchOpen","searchSourcesTransformed","_appliedFacetFilters$","selectedFacets","selectedSources","isShareSelected","cloneDeepFacetFilters","spellCheckCorrectedTerm","geniusResultsExecuted","selectedSourceFilters","hasValidGeniusResult","sendingPayload","_value$trim","_FILTER_APPLIED","_response$result","_searchRes$searchMeta","searchRes","updatedSearchResultList","searchMetadataTemp","searchFacets","_state$appliedFacetFi","_state$selectedFilter","_sendingPayload$input","_properties$searchRes4","_selectedFacets","_appliedFacetFilters","_properties$searchRes5","_properties$searchRes6","_state$appliedFacetFi2","_state$selectedFilter2","actionIn","_action$reason","_properties$geniusRes","_properties$geniusRes2","citationModel","_properties$searchRes7","DpsGuidesDetailNav","DPS_GUIDES_DETAIL_ACTIONS","GET_CONTENT_DATA_SUCCEEDED","GET_CONTENT_DATA_FAILED","GET_NAVIGATION_SIDEBAR","GET_NAVIGATION_SIDEBAR_SUCCEEDED","GET_NAVIGATION_SIDEBAR_FAILED","_renderArticleLayout","_renderHeader","_renderArticle","contentId","activeScrollItem","wayfinderSections","processedContent","contentReleases","GUIDE_DETAILED_NAV","convertSectionsToWayfinder","processSubMenu","showOverviewNavMenu","nowPlatformGuidesDCIDs","navMenuType","selectItem","parent_color","parent_description","parent_image","DPS_DESIGN_LAYOUT_DC_IDENTIFIER_PREFIX","DPS_DESIGN_LAYOUT_API","GET_CONTENT_DATA","GET_CONTENT_DATA_REQUEST","GET_CONTENT_DATA_SUCCESS","UPDATE_CURRENT_SECTION","DPS_DESIGN_LAYOUT_ACTIONS","dcIdentifier","handleGetContent","currentSectionIndex","isFetchingContent","handleGetContentFailed","handleGetContentRequest","handleGetContentSuccess","pendingNavItems","u_plain_text","u_sections","shortDescription","handleScrollSpyActionsTargetActivated","handleUpdateCurrentSection","selectedSection","articleId","DpsDesignLayout","connectCardView","isOneCard","imgID","clockSvg","calendarSvg","locationPinSvg","connectCardData","connectMvp","isCardViewEnable","HeaderBgPeople","PeopleClouds","PeopleHighFive","event_url","calendar_location","start_time","end_time","trimmedDescription","prettyDate","prettyStartTime","prettyEndTime","Computer","DPS_CONNECT_OVERVIEW_ACTIONS","CUSTOM_BEHAVIOUR","upcoming_events","SystemImg","SharepointImg","PrinciplesImg","ExperienceImg","DPS_DELETE_USER_ACCOUNT_MODAL_ACTIONS","DELETE_ACCOUNT","DELETE_ACCOUNT_API","DELETE_ACCOUNT_CONFIRMATION","DPS_PROFILE_ACTIONS","DPS_PROFILE_POST_HTTP","DPS_PROFILE_POST_HTTP_FAILED","DPS_PROFILE_POST_HTTP_SUCCEEDED","DPS_PROFILE_FORM_ON_SUBMIT","DPS_PROFILE_OTHER_CHECKBOX_CLICKED","DPS_PROFILE_DELETE_ACCOUNT_CLICKED","DPS_PROFILE_CLOSE_MODAL","callDeleteAccountApi","isFailure","isDeleting","deleteView","deleteIcon","deletedView","failureView","renderModalComponent","ModalComponent","otherChecked","accountProfileLink","passwordChangeLink","isDeleteAccountEnable","avatarText","checkBoxArray","otherRole","profileProps","rolesArray","rolesOtherText","job_responsibilities_other_text","existingRoles","existingRolesOtherText","profileDataPost","roles_and_responsibilities","roles_and_responsibilities_other_text","handleOnSubmit","checkedRolesObj","checkedRoles","otherRoleName","checkedItems","checkedRoleStr","handleCheckBoxClick","DPS_PROFILE_ACTION_HANDLERS","tutorialsLandingPage1","tutorialsLandingPage2","RenderTutorialCard","listingPageURL","showImageAsBackGround","screenWidth","getParsedDescription","DPS_LEARNING_TUTORIALS","FETCH_LANDING_PAGE_CONTENT","FETCH_LANDING_PAGE_CONTENT_SUCCEEDED","FETCH_LANDING_PAGE_CONTENT_FAILED","TUTORIALS_PAGE_RESIZED","handleFetchTutorialCardsContent","DPS_TUTORIAL_EXERCISE","GET_EXERCISE_LIST","GET_EXERCISE_LIST_SUCCEEDED","GET_EXERCISE_LIST_ERRORED","LOAD_SELECTED_EXERCISE","UPDATE_EXERCISE_COMPLETION","EXERCISE_COMPLETED","handleUpdateExerciseCompletion","handleExerciseCompleted","exerciseId","exerciseList","isCompleted","handleGetExerciseList","handleGetExerciseListSucceeded","_result$tutorialDetai","tutorialDetails","tutorialName","githubLink","processExerciseDetails","pageContent","isloading","exerciseName","prevExercise","nextExercise","formatOtherRelease","bIndex","handleGetExerciseListErrored","handleLoadSelectedExerciseContent","gitHubPathArr","tutorialAssetIcon","exerciseCompletedIcon","exerciseIcon","developerMVPList","isCallOpen","celebrationImg","mvpArrowDown","developer","nameArr","getInitials","tempArr","renderDeveloperName","linkedInLink","mvpLinkedInImg","benifitsImg","subbmissionProcessImg","subText","internalLink","ImagebackgroundColor","cardInfo","buttonLink","cardSectionTitle","patternsToDisplay","renderPattern","patternsList","inTest","Mocha","lodashThrottle","VanillaListbox","_ref$multiple","_ref$onChange","_ref$onItemDblClick","onItemDblClick","listboxNode","shiftPressed","preventFocusHandler","initEvents","handleKeyUp","handleDblClick","clearActiveDescendant","focusItem","updateScroll","lastActive","shouldUpdateScroll","toggleSelectItem","findPreviousOption","findNextOption","selectAllItems","currentOption","currentOptionIndex","index1","index2","toChange","unselectAllItems","defocusItem","expandGroup","scrollBottom","elementBottom","PAR_FILTER_LISTBOX__MORE_ITEMS_REQUESTED","PAR_FILTER_LISTBOX__ITEM_DOUBLE_CLICKED","PAR_FILTER_LISTBOX__CHANGED","listSeparator","HOOK_INSERTED","MORE_ITEMS_REQUESTED","CHECK_MORE_ITEMS_NEEDED","canRequestItems","loadingNextPage","hasMoreItems","cleared","activeSelection","impactingMap","isCloseToBottom","__initLazyLoading","__scrollHandler","vListbox","__listbox","_properties$items","propsHash","prevPropsHash","listboxView","_state$properties$imp","itemsList","impactingFilters","impactingFiltersMessage","filterNames","PAR_FILTER_SLUSH_BUCKET__MOVE_ITEMS","PAR_FILTER_SLUSH_BUCKET__MORE_ITEMS_REQUESTED","SOURCE_LIST","TARGET_LIST","targetList","nothingAvailable","moveButtonsDisabled","slushBucketProperties","sourceTitle","sourceSortAction","targetTitle","targetSortAction","renderStacked","updateSource","updateTarget","newActiveSelection","Loading","NoItems","slushBucketView","slushBucket","getPredefinedRangeDefinitions","SN_DYNAMIC_DATERANGE__TODAY","glideRange","SN_DYNAMIC_DATERANGE__YESTERDAY","SN_DYNAMIC_DATERANGE__TOMORROW","SN_DYNAMIC_DATERANGE__THIS_WEEK","SN_DYNAMIC_DATERANGE__LAST_WEEK","SN_DYNAMIC_DATERANGE__NEXT_WEEK","SN_DYNAMIC_DATERANGE__THIS_MONTH","SN_DYNAMIC_DATERANGE__LAST_MONTH","SN_DYNAMIC_DATERANGE__NEXT_MONTH","SN_DYNAMIC_DATERANGE__LAST_3_MONTH","SN_DYNAMIC_DATERANGE__LAST_6_MONTH","SN_DYNAMIC_DATERANGE__LAST_9_MONTH","SN_DYNAMIC_DATERANGE__LAST_12_MONTH","SN_DYNAMIC_DATERANGE__THIS_QUARTER","SN_DYNAMIC_DATERANGE__LAST_QUARTER","SN_DYNAMIC_DATERANGE__LAST_2_QUARTERS","SN_DYNAMIC_DATERANGE__NEXT_QUARTER","SN_DYNAMIC_DATERANGE__NEXT_2_QUARTERS","SN_DYNAMIC_DATERANGE__THIS_YEAR","SN_DYNAMIC_DATERANGE__NEXT_YEAR","SN_DYNAMIC_DATERANGE__LAST_YEAR","SN_DYNAMIC_DATERANGE__LAST_2_YEARS","SN_DYNAMIC_DATERANGE__LAST_2_DAYS","SN_DYNAMIC_DATERANGE__LAST_7_DAYS","SN_DYNAMIC_DATERANGE__LAST_30_DAYS","SN_DYNAMIC_DATERANGE__LAST_60_DAYS","SN_DYNAMIC_DATERANGE__LAST_90_DAYS","SN_DYNAMIC_DATERANGE__LAST_120_DAYS","SN_DYNAMIC_DATERANGE__CURRENT_HOUR","SN_DYNAMIC_DATERANGE__LAST_HOUR","SN_DYNAMIC_DATERANGE__LAST_2_HOURS","SN_DYNAMIC_DATERANGE__LAST_3_HOURS","SN_DYNAMIC_DATERANGE__LAST_6_HOURS","SN_DYNAMIC_DATERANGE__LAST_12_HOURS","SN_DYNAMIC_DATERANGE__LAST_24_HOURS","SN_DYNAMIC_DATERANGE__CURRENT_MINUTE","SN_DYNAMIC_DATERANGE__LAST_MINUTE","SN_DYNAMIC_DATERANGE__LAST_5_MINUTES","SN_DYNAMIC_DATERANGE__LAST_15_MINUTES","SN_DYNAMIC_DATERANGE__LAST_30_MINUTES","SN_DYNAMIC_DATERANGE__LAST_45_MINUTES","SN_DYNAMIC_DATERANGE__ONE_YEAR_AGO","SN_DYNAMIC_DATERANGE__YTD","getDefaultDateRangePresets","rangeDefinitions","convertRangeToDates","includeTime","_range$payload","_range$payload2","getDateRangeGlideEncodedQuery","_rangeDef$glideRange","_rangeDef$glideRange2","rangeDef","searchInRangesByID","forwardAction","targetAction","payloadMapper","SingleElementMap","_Map","cachelessMemoize","memoizedFunction","getDescendantRoots","pseudoclass","quoteType","shadowPierce","deepShadowPierce","findNextOperator","customOperators","_findNextOperator","preOperatorContent","_marked","roots","fullSelector","waiters","_flushQueue","queueFlushEnabled","queueFlushTimeout","simplifyReturnValue","createMouseEvent","rootEls","selectorEl","maybeFlush","_callee43","_arguments3","_arguments4","_arguments5","_args43","_context43","addValue","clearValue","doubleClick","dragAndDrop","findElement","getAssignedNodes","getCSSProperty","getHTML","getRootInnerHTML","getTagName","_callee20","getNodes","_callee21","_context21","_callee22","_context22","isDisplayed","_callee23","_context23","isDisplayedInViewport","_callee24","viewPortWidth","viewPortHeight","_context24","_el$getBoundingClient2","_callee25","_context25","isExisting","_callee26","_context26","isFocused","_callee27","_context27","_callee28","_context28","_callee29","_context29","_callee30","_context30","selectByAttribute","selectByIndex","_callee31","_context31","selectByVisibleText","_callee32","_context32","_callee33","_context33","_callee34","_context34","_callee35","_context35","waitForDisplayed","_callee37","displayed","_context37","_callee36","_context36","waitUntil","waitForEnabled","_callee39","_context39","_callee38","_context38","waitForExist","_callee41","_context41","_callee40","_context40","_callee42","timeoutMsg","checkInterval","_context42","timeElapsedSince","checkElapsedTime","willDispatch","_willDispatch","_ref$detail","getSeismicMajor","_ver$split","isTemplateString","seismicComponent","seismicVersion","registryInstantiated","validCustomComponent","PCENChar","potentialCustomElementNameRegex","instantiateRegistry","tagNameArray","lowTag","assertValidTag","_assertValidTag","validTags","actualTag","formattedTags","validTag","isSeismicElement","_isSeismicElement","resolveHoistedElement","selectedEl","targetFor","hoistedElement","createDriverAPI","componentDriver","nodeOrWrapped","elementStrategy","inheritedStrategy","hoistedNode","resolvedNode","viewContent","componentAPI","defaultElementStrategy","registerComponentDriver","matchByIndex","_matchByIndex","matchById","_matchById","matchingIndex","matchByText","_matchByText","texts","ignoreCase","isDriver","normalizeNodes","_normalizeNodes","normalizeMatcher","matchingKeys","_findNode","_ref$getId","_ref$getText","SdlcReporterModule","RESTPersister","KNOWN_PROPERTIES_TO_MOCK","API_NAMESPACE","DEFAULT_POLLY_OPTIONS","getPollyOptions","getMockCapabilities","mockCapabilties","jsonBody","normalizeSearchValues","searchObj","matchesCriteria","normalizedSearch","searchIn","normalizedSearchValue","actualValue","normalizedActualValue","getAllChildren","_ref3$tag","_ref3$props","_ref3$appendToMeta","normalizedTag","normalizedPropsSearch","normalizedAppendToMetaSearch","_currentNode$data","_currentNode$data2","tagMatch","propsMatch","appendToMetaMatch","willDispatchWithConditions","_willDispatchWithConditions","groupFilterOverrides","showSelectedValuesInPill","showApply","cascadeScope","getOverriddenPropNames","configurableOnly","override","getOverriddenProps","originalProps","overridingProps","overriddenProps","NOW_FILTER__TOGGLED","NOW_FILTER__APPLIED","NOW_FILTER__QUERIED","NOW_FILTER__SORTED","NOW_FILTER__TARGET_SORTED","NOW_FILTER__MORE_ITEMS_REQUESTED","NOW_FILTER__SET_DIRTY","NOW_FILTER__CLEARED","NOW_FILTER__RESET_TO_DEFAULTS","NOW_FILTER__CLEAR_FILTERS","NOW_FILTER_REFLOW_CANCEL","NOW_FILTER_REFLOW_CLEAR","NOW_FILTER_REFLOW_RESET","NOW_FILTER_REFLOW_APPLIED","FILTER_TYPE_CHOICE","FILTER_TYPE_DATE","FILTER_TYPE_BOOLEAN","FILTER_TYPES","FILTER_LIST_MODE_MULTI","FILTER_LIST_MODE_SINGLE","FILTER_LIST_MODES","FILTER_PILL_VARIANT_CLASSIC","FILTER_PILL_VARIANT_ALTERNATIVE","FILTER_PILL_VARIANTS","FILTER_ELEMENT_TYPE_PILL","FILTER_ELEMENT_TYPE_SELECTORS","FILTER_ELEMENT_TYPE_TYPEAHEAD","FILTER_ELEMENT_TYPES","FILTER_ELEMENT_LAYOUT_HORIZONTAL","FILTER_ELEMENT_LAYOUT_VERTICAL","FILTER_ELEMENT_LAYOUTS","ListError","renderNumberItemsMessage","numberOfItems","numberOfItemsReturned","listContentView","isReflowActive","listMode","targetSort","getNotificationJsx","customizeListBoxChanged","impacted","followedFilterConfigurations","followingFilterConfigurations","onQuery","listContent","REQUEST_CHECK_ITEMS","CHECK_ITEMS","RECEIVE_CHECK_ITEMS","RECEIVE_CHECK_ITEMS_ERROR","getSelectedTableElements","lastStringifiedCheckElementsParams","appliedItems","impacting","getCheckElementsParams","sourceValuePayload","followedFiltersPayload","checkElementsParams","AppUnifilter_Query","checkElements","isImpacting","impactMap","newImpactMap","filterCheckElementsProvider","followedFilterAlertView","_configuration$values","followedFilterAlert","followedFilters","popoverStyles","REQUEST_SOURCE_TYPES","REQUEST_SOURCE_TYPES_SUCCESS","REQUEST_SOURCE_TYPES_ERROR","DA_SOURCE_TYPES_PROVIDER_DISPATCH_SOURCE_INFO","requestDatasources","cachedSourceTypes","sourceTypeProviderActionHandlers","GlideRecord_Query","sys_viz_data_source","datasources","_filterCustomizations","_filterCustomizations2","_filterCustomizations3","filterCustomizations","filter_customizations","resolutionAPI","dataAPI","labelAPI","getIconForMessageType","renderMessage","renderMessages","PUBLISH_MESSAGE","RECEIVE_MESSAGE","messagingBehavior","_ref3$action$payload$","acceptsMessages","NOW_RESIZE__ELEMENT_RESIZED","handleElementResize","isReflowEnabled","widgetCurrentWidth","stateWithoutSizing","previousStateWithoutSizing","UNKNOWN_SELECTED_VALUE","renderNDSIconicMessage","getNDSMessage","noItemsMessage","unknownItemsMessage","loadingMessage","getFollowingFiltersAlert","getFollowedFiltersAlert","getUnknownValuesAlert","listNotificationsView","followingFiltersAlert","followedFiltersAlert","unknownValuesAlert","listNotifications","accessibilityMessage","getSortingActions","listSortView","_getSortingActions","listSort","PAR_FILTER_LIST_SINGLE__CHECK_DIRTY","PAR_FILTER_LIST_SINGLE__PUSH_DIRTY","PAR_FILTER_LIST_SINGLE__DBLCLICK","savedItems","renderAppliedItems","groupsLabels","appliedItemsBlock","listSingleView","appliedId","appliedGroups","allItems","dirtyBag","newAppliedItems","listSingle","smallQuery","Badge","shouldDisplayContent","filterType","ClassicPillVariant","buttonRef","badgeContent","setContentContainerRef","contentContainerRef","setButtonRef","hasBadgeContent","buttonContent","tooltipButtonProps","hasBadge","isBadgeAllowed","AlternativePillVariant","filterListMode","showBadgeContent","variantMapping","PAR_PILL_VARIANT_RENDERED","setupTooltip","labelOverflows","tooltipEvaluatorTrigger","componentDefinition","items1","items2","flattenGroups","keepHierarchyLabel","currentPathToRoot","pathToRoot","insertIntoGroupStructure","unflattenGroups","removeNestedGroups","transformItemsToNDSItems","complementItem","PAR_FILTER_TYPEAHEAD__VALUE_SET","PAR_FILTER_TYPEAHEAD__ITEMS_SET","PAR_FILTER_TYPEAHEAD__LIST_TOGGLED","DATA_RECEIVED_PROPS","waitForData","typeaheadProperties","convertMessage","getMemoizedItems","computeItems","typeaheadItems","pagedItems","finalItems","typeaheadView","typeahead","NOW_RADIO_BUTTONS__VALUE_SET","PAR_FILTER_RADIOBUTTONS__BOOTSTRAPPED","PAR_FILTER_RADIOBUTTONS__DISCONNECTED","PAR_FILTER_RADIOBUTTONS__VALUE_SET","radiobuttonsProperties","radiobuttonsView","_properties$selectedI2","isSelectedItemUnknown","radiobuttons","NOW_CHECKBOXES__CHECKED_SET","PAR_FILTER_CHECKBOXES__CHECKED_SET","PAR_FILTER_CHECKBOXES__APPLY_CLICKED","checkedOptions","checkboxesProperties","showReset","onReset","primaryActionLabel","itemToAdd","checkboxesView","masterCheckboxState","unknownItems","hasUnknownSelectedItems","componentMessages","checkboxes","getTodayDateTimelessISO","getDateRangeBoundary","isEnd","momentDate","parseDateUserInput","toOption","isBooleanFilter","isListFilter","isDateFilter","getAppliedCount","itemTextDelimiter","getItemsText","getAppliedItems","computeCalendarText","dynamicTimeRange","dateRangePresets","allowTimeSelection","selectedDateRange","startFormatted","endFormatted","computeButtonContent","computeBadgeContent","appliedItemCount","createFooterActions","showClear","canClear","shouldShowSelectors","enableClearFilter","enableResetToDefault","dateFilterView","isAvailableItemsImpacted","isSelectedItemsImpacted","pillVariant","elementLayout","handleApply","handleClear","handleReset","isDateRange","isSingleListMode","isMultiListMode","_behaviors$mediaQuery","appliedCount","itemsForContent","popupStyles","isUnconfigured","getPopupContent","isModal","onApply","checkSelectedFilterElementType","TEL_FILTER_VIEW","TEL_FILTER_INTERACTION","trackFilterView","trackInteraction","finalProperties","trackFilterAppliedInteraction","filterComponentType","trackFilterInteraction","NOW_BOOLEAN__VALUE_SET","PAR_FILTER_BOOLEAN__VALUE_SET","addEmptyOption","itemsWithEmptyOption","reFlowActive","tooltipRegistered","keepSearchTerm","popupView","toMoment","toDateTimeString","toDateString","PAR_FILTER_DATERANGE_PANEL__VALUE_SET","_value$map","_value$map2","renderLeafNodes","checkedOption","groupName","RadioGroup","_option$items","CUSTOM_DATES_RANGE_ID","DateRangeContentPopUp","startInputValue","endInputValue","startInvalidMessage","endInvalidMessage","DateRangeContentModal","_parseDateUserInput","getSelectedDateRange","_convertRangeToDates","recalculateState","componentOptions","selectedItemWithPayload","_convertRangeToDates2","searchItems","flatGroups","PAR_FILTER_LIST_MULTI__SET_SLUSH_BUCKET_REF","availableItems","classifyItems","flatSelectedItems","flatAllItems","resolvedIds","orderBasedOnLabel","orderedItems","processListAction","newAvailableItems","flatAppliedItems","newIds","oldIds","_classifyItems","isBootstrap","currentSelectedIds","classifiedItems","_classifyItems2","_ref6$properties","selectedItemLabels","flatItems","flatAvailableItems","flatApplied","newAvailable","newApplied","lowerCaseSort","addToAvail","listMultiView","onTargetSort","availableItemsToShow","appliedItemsToShow","listMulti","SEARCH_INPUT_LABEL","trimmedValue","ListSearch","actionButton","currentActivatingPlugin","isPluginHovered","pluginMenuItem","pluginModalActions","hasDemoData","renderViewDetailsButton","handleActivateWithDemoData","useDemoData","send_email","handleActivateWithoutDemoData","handleActivatePlugin","pluginDescription","pluginIcon","renderModal","CANCEL_ACTIVATE_PLUGIN","measureTxt","measureTxtSelected","SCALE_FACTOR","PADDING","HIDE_PADDING","ICON_WIDTH","getPadding","measureTabItems","selectedId","measureTabs","widthAvailable","visibleItems","overflowItems","tabWidths","widthRequired","overflowMenuWidth","selectedItemIndex","selectedItemWidth","selectTab","newSelectedItem","updateFocusedItem","nextFocusNotInTabs","getNewItemIndex","_state$focusedItem","focusedItem","handleFocusManagement","getDropdownOpenedOrFocused","renderTabIcon","renderTab","disabledTabIsFocused","ariaCount","renderCount","hideDivider","_measureTabs","onFocusIn","onFocusOut","relatedTargetHost","focusSelected","dynamic","enabledItems","TAB_HEIGHT","heightAvailable","spaceBetweenItems","SCALING","TAB_MARGIN","heightRequired","heightAvailableAfterPaddingRemoved","overflowMenuHeight","enableIconOverride","enableDeselect","previousItem","renderOverflow","tabMaxWidth","selectionPosition","minInlineSize","clickedItemId","clickedItem","focusedIndex","ViewHistory","updatedOperationHistory","paginatedOperationHistory","selectedOperationType","sortHistoryTypeDesc","selectedOperationHistoryPage","tabItems","formattedUpdatedOn","operation_name","renderOperationHistory","NoActivities","handleOnFilter","debouncedOnFilter","filteredPlugins","paginatedPlugins","confirmChecked","isEyeIconClicked","selectedAction","sendRecieveEmailCheckboxChecked","selectedReleaseInstanceReason","textBoxVal","quickResetWipeOperationType","showSearchFilterText","isResetAndWipeInProgress","isDisablePrimaryDetails","instanceUnConfigured","_ref3$additional_info","_ref3$additional_info3","baUpgradeMessages","baUpgradeTooltip","enhancedPdiActions","_item$name","_action$label","releaseInstance","canResetInstance","removeDemoDataActions","resetInstancePassword","resetAndWipeActions","manageEmailPropertiesActions","releaseInstanceActions","daysSinceLogin","daysRemaining","enhancedSecondaryPdiActions","isPolicyAssigned","lastActivity","hasLastActivity","lastActivityIdleDays","nowAlerts","isNowAlert","_baObserver","alertListRef","getAppInstalledStatus","tickMark","selectedActivationStatusFilterItem","selectedDemoDataFilterItem","filteredOperation","pluginOperationsHistory","getPluginStatus","notFound","getFooterActionsForPdiActions","setInputTextVal","fieldHelperOptions","getModalContent","availablePluginsParams","viewHistoryPageNumber","updatedProperties","manageEmailPropertiesItem","updatedFilters","isActionValid","resetInstancePasswordItem","CANCEL_RESET_INSTANCE_PASSWORD","CHANGE_USER_ROLE_DONE","handleEyeIconClicked","sortHistory","PAGINATE_PLUGINS","pluginsToPaginate","removeDemoDataItem","resetWipeInstanceItem","releaseFamily","CANCEL_PDI_ACTION","emailEnabled","email_enabled","menuItemInProgress","CANCEL_RELEASE_INSTANCE","filtersMap","activation","_filters$selectedActi","selectedStatus","getLatestOperation","_op$params","createdAt","_latestOp$params","latestOp","_latestOp$message","demoData","_filters$selectedDemo","_filters$selectedItem","_plugin$name","showUpgradeAlert","instanceAvailabilityStats","selectedUserRole","showResetPasswordEmailAlert","_instanceMenuItems$fi","_instanceMenuItems$fi3","propertyValueChangedFilter","valChanged","old_state","new_state","_value$filter","filteredPluginsApplied","_coeffects$state$aler","fetchAvailableInstance","manageInstanceHandlers","routepath","getMinimumNowExperienceVersion","systemDefaultRelease","storedRelease","citizenDev","guideOverview","guidesPlatformOverview","guidesExperienceOverview","nowExperienceCli","guidesLayout","guidesReferenceLayout","searchV2","learnOverview","learningPlanDetail","learnModule","courseDetails","courseModule","tutorials","tutorialExercise","tutorialDetail","referenceOverview","componentsList","componentsListV3","componentsDetailPage","componentsDetailPageRedirect","apiList","connectOverview","share","eventDetail","mvp","designOverview","designDetail","program","dpsExamples","pdiSummary","routeSwitch","isQuestionsSubmittedInProgress","isRequestForAutoAssignInstance","resetPasswordOperationFailed","minNowExperienceVersion","redirectFromSystemProperties","authHomePage","releaseParam","passwordResetFailed","_routeParams$query","redirectionURLs","newRoute","wakeUpInstance","operation_request_id","handleWhatsNewUpdate","handleWhatsNewUpdatePost","handleWhatsNewUpdateSucceeded","handleWhatsNewUpdateErrored","handleNotifyUser","handleNotifyUserErrored","handleNotifyUserSucceeded","handlePlaygroundWhatsNewUpdate","handlePlaygroundWhatsNewUpdatePost","handlePlaygroundWhatsNewUpdateSucceeded","handlePlaygroundWhatsNewUpdateErrored","handleEventTracking","_ref$action$payload$g","_ref$action$payload$a","_ref$action$payload$a2","_ref$action$payload$e","gtag","event_category","event_label","_state$toastMessages","updatedToastMessages","_state$nowAlertMessag","nowAlertMessagesToKeep","_item$action","fetchPlugins","handleInstanceMenuItemClick","trackAnalytics","handleOverrideInstanceStatus","newinstanceInfo","handleRefreshStatus","handleUpdateInstanceActionMenu","updatedInstanceActionMenu","sendInstanceResetPasswordEmail","isResetInstancePasswordEmailFailed","isResetPasswordEmailSuccessful","handleFeedbackSubmission","feedbackActions","scrolledCache","headerHeightScrolled","checkScrollPosition","__devportal_previous_pathname","initService","clearOutStaleSession","isSiteBannerDismissed","siteBanner","handleAssignmentMenuItemClick","selectedInstanceAssignmentMenu","handleClearCacheTriggered","cacheVar","handleContentFeedbackFormDataRequested","handleGiveFeedback","generalFeedbackOpen","feedbackFormSubmittedFrom","contentFeedbackOpen","contentFeedbackTitle","contentFeedbackType","handleGeneralFeedbackFormDataRequested","handleFeedbackFormDataSucceeded","feedback_question","feedbackMessages","extractParamsFromURL","url_string","user_name","user_password","openInNewTab","createLoginForm","includeGotoUrl","_extractParamsFromURL","getLoginURL","appendInputField","appendSubmitButton","submitButton","removeForm","appendTimeStamp","loginUrl","handleMagicLinkClicked","redirectionLink","goTourl","handleReleaseVersionSelected","toggleValue","updatedUserInfo","handleRouteChanged","_window$document","isSessionValidElsewhere","hasSavedActiveSession","extractedRelease","isPageNotFound","handleVersionSelectorReleaseSelected","analyticsActionStr","handleWakeupInstanceStarted","sendUserProfileQuestions","sendUserProfileQuestionsSucceeded","personaResult","persona_result","showUserPersonaSubmissionError","userRolesDetails","sendUserProfileQuestionsFailed","cancelInstanceRequest","processCancelInstanceOperationResponse","instanceRequestAlertId","jsonLiteral","buildInputValues","citationVersion","skipNoAnswerResponse","request_origin","queryConversationalCatalog","executeSearch","dpsInstanceModalActions","fetchInstanceBackups","fetchInstanceDetails","fetchInstanceInfo","fetchNavConfig","fetchUserSession","handleUserSession","refreshInstanceBackup","WHATS_NEW_ACTIONHANDLERS","PLAYGROUND_WHATS_NEW_ACTIONHANDLERS","UNPLANNED_MAINTENANCE_ACTIONHANDLERS","handleToastDisplay","fetchInstanceRequestStatus","isExpiredSessionModalOpened","isLeadTrackingModalOpened","addToRelayState","iFrame","defaultRelease","user_session_release","autoLoginTimeout","pageNotFoundMessage","transformedRelease","_properties$systemPro2","isBaAutoAssignFlow","autoAssignIsBaFlow","_action$payload8","_action$payload9","_action$payload0","_action$payload1","_action$payload10","_action$payload11","isPristineUserRequested","whatsNew","playgroundWhatsNew","_action$payload12","num_recs","maxOperationHistory","operation_type","totalBannerHeight","_action$payload13","isCustomerUIProfileModal","_action$payload14","_ref37","_ref38","_ref39","unplannedMaintenanceNotified","_action$payload15","showToastAlert","_ref40","cachedUserInfo","_ref41","_state$nowAlertMessag2","_item$action2","alertContentProps","_state$nowAlertMessag3","_item$action3","_ref42","selectedModalBA","_ref43","_action$payload16","_ref44","_ref45","_properties$userInfo2","_SN_CX_SEARCH_MODALSEARCH_EXECUTED","_ref46","_properties$userInfo3","_response$result2","_response$result3","_searchResultsTemplat","_filters$find","_ref47","_ref48","_ref49","_ref51","_ref52","_action$payload17","alertType","_ref53","appProperties","toastPayload","computedProperties","hasReleaseInfo","hasSelectedModalBA","routeProperties","resetElementStyles","toggleElement","calcDropdownCoordinates","dropdownList","containerElement","layoutElement","originalDropdownListStyles","viewRect","dropdownListHeight","leftOffset","handleOnActivateDropdownClick","dropdownWrapper","viewEl","rowEl","_calcDropdownCoordina","pluginEl","childNodesLength","handleOnActivateDropdownItemClick","pluginDropdownEl","handlePluginData","handleOnBlurPluginDropdown","modalEl","pluginDropdownEls","activatePluginDropdownEls","isTargetPluginDropdownItem","dropdownEl","activatePluginEl","_ref3$additionalParam","toggleContentOpRequest","handleOnHookInsert","handleOnMenuItemClick","_ref5$maxOperationHis","_ref5$menuItem","_ref5$selectedOperati","_ref5$selectedOperati2","isViewingHistory","toggleContentView","handleonLinkClick","zboot_sysId","visibleContentViews","targetContentView","toggleContentMain","contentViewEl","contentMainEl","contentOpRequestEl","handleResetWipeTypeSelected","_menuItems$filter","_menuItems$filter3","passwordResetEmailFailed","showResetPasswordEmailConfirmation","propertyValueChanged","_value$filter3","newMenuItems","isSendRecieveInProgress","failMenuItems","showResetPasswordConfirmation","resetLinkDisabled","instanceVersion","disabledTooltipRef","usersEmail","InstanceHelpTabContent","hasFailed","OpResult","hasResult","isPerformingChangeUserRole","isPerformingResetPassword","showResults","resultMessage","RESET_INSTANCE","RESET_INSTANCE_MESSAGE","ExecCatItemTabContent","opResultProps","showMainContent","showOpResult","PluginTabContent","UpgradeInstanceTabContent","availability_text","releaseCard","ResetInstanceTabContent","_props$instanceInfo","ConfirmImg","ReleaseInstanceTabContent","_props$placeholder","getFieldValue","SuccesfulOperationMessage","FailedOperationMessage","openFeedback","SendAndRecieveEmailTabContent","_props$tooltipMessage","ChangeUserRoleTabContent","roleDescription","ManageInstancePassword","nameOfInstance","emailAlertMessage","resetPasswordConfirmation","TabContent","ContentView","tabContentProps","OperationHistoryTabContent","ModalMenuItems","DPS_INSTANCE_MODAL_CONSTANTS","DPS_WHATS_NEW_ACTIONS","whats_new_images","whats_new_img1","whats_new_img2","whats_new_img3","closeModal","textArr","cardNum","DPS_PLAYGROUND_WHATS_NEW_ACTIONS","videoRef","activeCardsRef","requestedIndex","onFirstSlide","onLastSlide","setPlayhead","currentlyActive","RefreshIcon","videoBlob","ontimeupdate","onended","DPS_USER_PROFILE_MODAL","FETCH_USER_PROFILE_QUESTIONS_SUCCEEDED","FETCH_USER_PROFILE_QUESTIONS_FAILED","NAVIGATE_QUESTION","SUBMIT_QUESTIONS","POPULATE_OPTION_CHECKBOX_EVENT","POPULATE_OPTION_RADIO_EVENT","USER_PROFILE_CONSTANTS","LEGAL_AGREEMENT_CHECK","SINGLE_CHOICE","MULTIPLE_CHOICE","SINGLE_CHOICE_TABBED","OTHER_OPTION","NAVIGATION_TYPE_NEXT","NAVIGATION_TYPE_PREVIOUS","CHOICE_TYPE_RADIO","CHOICE_TYPE_CHECKBOX","CHOICE_TYPE_TABBED","isActiveQuestion","userProfileQuestions","activeQuestion","isActiveOptions","disableButton","activeQuestionAnswers","isLegalAgreementChecked","isMandatory","is_mandatory","isLastQuestion","questionDisabled","answerObj","formOptionsObject","optionObj","imageSysID","additionalText","optional_image","findAnswerOptionalText","optionalTextIndex","findAnswerOptionalImage","saveAnswer","userProfileAnswers","userProfileAnswerOption","questionID","disableStepperOptions","stepperOptions","findImagesAndPreloadImages","componentBootstrapped","fetchUserProfileQuestions","fetchUserProfileQuestionsSucceeded","stepperOptionObj","profileObj","isfetchQuestionsSucceeded","isFetchQuestionsSubmitted","fetchUserProfileQuestionsFailed","failedFetchUserProfileQuestionsRetryCount","failedFetchUserProfileQuestions","_action$payload$respo","emptyAnswerType","stepperOptionArray","handleNavigateQuestion","handleSubmitQuestions","postPersonaResults","persona_answers","legal_signature","handleTextAreaEvent","activeAnswerObj","stepperObj","handleCheckBoxEvent","activeAnswer","isOptionChecked","handleRadioTypeEvent","questionNo","isNotAnswered","nextFocusNotInStepper","measureLabel","measureSubLabel","MIN_STEP_WIDTH_SM","MIN_STEP_WIDTH_MD","MAX_STEP_WIDTH_SM","MAX_STEP_WIDTH_MD","MAX_STEP_WIDTH_RIGHT","PAGINATION_ARROWS_AND_PADDING_SM","PAGINATION_ARROWS_AND_PADDING_MD","PROGRESS_WIDTH_SM","PROGRESS_WIDTH_MD","MIN_DISTANCE_BETWEEN_STEPS","getLabelWidth","getSublabelWidth","getLongestStepWidth","minStepperWidth","getStepWidth","maxStepWidth","MIN_STEP_WIDTH","getContainerWidth","getStepsPerPage","PAGINATION_ARROWS_AND_PADDING","stepWidth","availWidth","stepsPerPage","stepper","stepperLabelWidthCheck","stepperSubLabelWidthCheck","contentLabel","stepperLabel","stepperSubLabel","getCompletedCount","renderCompletedCount","renderStepProgressIndicator","stepNumber","modifierClassName","getProgressLabel","renderConnector","connectorPosition","hideStartConnectorLine","hideEndConnectorLine","renderStepperStep","progressLabel","renderStep","_item$progress","renderSteps","lastFocusedItem","hideNumbers","isPaginated","tabbableItem","getTabbableItem","indexInAllItems","isFirstStep","isLastStep","renderArrow","showCompletedCount","_getRange","_getRange2","arrowStartDisabled","arrowStart","arrowEndDisabled","arrowEnd","hasSubLabel","previousPageHandler","_getRange3","nextPageHandler","_getRange5","previousStepHandler","focusedItemIndex","_getRange7","_getRange8","stateChanges","nextStepHandler","_getRange9","_getRange0","firstStepHandler","lastStepHandler","FOCUS_PREVIOUS_STEP","FOCUS_NEXT_STEP","FOCUS_FIRST_STEP","FOCUS_LAST_STEP","PopulateOptions","showTextArea","otherText","totalNoOfChars","RadioButtons","TabbedOptions","InputType","LegalAgreementCheck","UserProfileView","isUserProfileQuestionsSubmitted","userNotSignedLegalToolTipRef","questionType","questionText","isLegalButtonDisabled","setLegalAgreementTooltipRef","FetchQuestionsFailureView","FetchUserProfileQuestionsFailureView","headerText","header_text","showModel","ACTION_TEXT","parseMessage","messageArr","bannerHeightSet","hideBanner","_DPS_SITE_BANNER_VARI","updatedToastMessageTimers","toastMessageTimers","renderInstanceEmptyState","subtext","getReleaseAvailabilityMap","releaseAvailabilityMap","productReleases","is_available","menuItemsWithRestore","menuItemsWithoutRestore","instanceRequestViewModal","waitlistView","defaultHeaderLabel","_getModalContent","releaseCount","waitlistSelectionViewModal","requestInstanceViewModal","_releaseInfo$releaseN","_getReleaseAvailabili","baReleases","selectedWaitlistRelease","unavailableReleases","effectiveSelected","selectedDisplayName","alertActionLabel","_releaseInfo$activeVe3","displayNames","_releaseInfo$activeVe2","unavailableDisplay","_releaseInfo$latestRe","_releaseInfo$activeVe4","_releaseInfo$activeVe5","isLatest","hasBuildAgent","_releaseInfo$activeVe6","_releaseInfo$releaseN2","_getReleaseAvailabili2","_releaseInfo$activeVe7","_releaseInfo$activeVe8","leaveInstanceViewModal","waitlistedViewModal","releaseDisplay","waitlistedCheckIcon","reviewInstancePolicyViewModal","_policy$max_expiry_da","_policy$inactivity_da","policyAcknowledged","selectedFamily","reclaimPolicyBlogUrl","instanceAssignmentSuccessView","_state$instanceAssign","instanceAssignmentFailedView","isInstanceRequestDuplicate","instanceAssignmentFail","instanceAssignmentFailedToastView","openFeedBackLink","addRetryLink","toastProps","allowDisappearing","instanceProcessingView","legalAgreementDeclined","instanceProcessingToastView","STEP_ORDER","STEP_LABELS","searching","configuring","redirecting","NON_BA_STEP_LABELS","BLANK_STEPS","WAKEUP_STEP_ORDER","WAKEUP_STEP_LABELS","restoring","PHASE_MODAL_CONFIG","modalClassName","waitlisted","isProgressPhase","isWakeupProgressPhase","wakeupStepStatus","stepKey","wakeupPhase","currentStep","stepStatus","currentPhase","labelForStep","tmpl","familyDisplay","renderIndicator","renderBlankIndicator","renderBlankStep","renderProgressBody","displayTips","activeTipIndex","goToPrev","goToNext","activeTip","renderNoBaVersionsBody","nonBaVersion","nonBaVersionDisplay","latestReleaseDisplay","renderNoInstancesBody","renderCancelConfirmBody","renderWaitlistedBody","renderSuccessBody","renderErrorBody","renderWakeupProgressBody","baAutoAssignView","_state$properties$baA","baAutoAssignPhase","_state$properties$sel2","_state$properties$pro","promptingTips","_state$properties$isB","_state$properties$sho","showTipsProp","shouldShowTips","_state$activeTipIndex","restoreBackupPoll","restoreBackup","assignReqID","baAttemptedFamily","baPhaseBeforeCancel","baBackgroundPhase","baRedirectPending","baAwaitingInstanceCheck","pendingSurveyInstanceDetails","checkQualtricsSurveyStatusHttpEffect","saveQualtricsSurveyStatusHttpEffect","pendingErrorToastTimer","showInstanceAssignmentFailedToast","showErrorToast","handleAddToWaitlist","releaseRequested","handleAddToWaitlistRequest","handleAddToWaitlistFailed","handleAddToWaitlistSucceeded","isRequestInstanceFailed","handleLeaveWaitlist","handleLeaveWaitlistRequest","handleLeaveWaitlistFailed","handleLeaveWaitlistSucceeded","leftRelease","handleUserInWaitlist","handleUserInWaitlistRequest","restoreBackupInitiated","selectedBkp","handleUserInWaitlistFailed","handleUserInWaitlistSucceeded","handleRequestInstanceClicked","requested_from","startInstanceProvisioning","handleConfirmInstancePolicy","handleUserInstanceRequest","handleRequestInstanceDetailsSuccess","instanceDetails","handleRequestInstanceDetailsFailed","handleCheckInstanceAssignmentRequestStatus","handleInstanceAssignmentRequestStatusSuccess","hasUserCanceledRequest","performBaAutoAssignCancel","hadActiveRequest","handleBaAutoAssignCancel","handleBaAutoAssignResume","handleBaAutoAssignRunInBackground","_properties$baAutoAss","isWakeup","handleBaAutoAssignDismiss","_properties$baAutoAss2","isWakeupCancel","handleBaAutoAssignCloseError","handleBaAutoAssignManage","handleBaAutoAssignStartBuilding","handleGetInstanceInfoPostInstanceRequest","handleRequestInstanceAvailibilityStats","handleGetInstanceAvailabilityStats","handleGetInstanceAvailabilityStatsSucceeded","_stats$r","baVersions","handleGetInstanceAvailabilityStatsFailed","checkForLatestReleaseAvailability","versions_available","screenVal","_properties$releaseIn2","resolvedRelease","resumePhase","isDefaultVersionAvailable","_properties$instanceI6","initWaitlistedPhase","_properties$releaseIn3","cameFromBackground","baPrompt","instInfo","canLaunchSurvey","customPDIProvisioningSuccessCallback","waitlistFromErrorViewModal","waitlistErrorIcon","viewModal","requestInstanceFailed","assignmentFailed","autoAssignBA","reviewPolicy","selectedBackup","BANNER_CONFIG","viewProgressAction","FulfillingExperienceModal","FulfillingExperienceModalElm","initialInstanceInfo","instanceRegion","isPlaygroundUrl","footerProperties","isConnectMVPBannerDismissed","isConnectMVPEnable","connectMsg","isMVPPage","showUnplannedMaintenanceBanner","unplannedMaintenanceBannerContent","rawPathname","extractedHash","pathnameNoHash","routerHashchangeHandler","executeRouteChange","routerClickHandler","pathWithoutParams","paramsToString","newPathWithParams","paramsToRemove","skipUpdateProperties","skipDispatch","queryParamActions","ambEventEffectBehavior","inactivityMonitorBehavior","detectSSOLogin","windowMessageBehavior","sendGoogleData","devSiteTranslations","_state$releases","selectedVersionKey","DPSRoot"]}